運動圖像遠程實時傳輸系統的網絡傳輸部分架構在Internet之上,則現階段Internet的狀況是帶寬小、延遲大、不穩定。所以爲了獲得良好的實時傳輸效果,除了改善傳輸控制機制之外,還需要實現高壓縮比、低耗時、能達到實時壓縮和解壓縮效果的運動圖像壓縮方法。H.263是國際電信協會-電信標準化部門ITU-T(The International Telecommunications Union-Telecom-munication Standardization Sector)於1995年透過的用於低比特率實時傳輸的視頻編碼協議。其設計初衷是滿足帶寬低於64kbps的低帶寬視頻應用需求,如視頻會議、可視電話等。現在H.263也被應用於運動圖像遠程實時傳輸系統中,但原始的H.263在實時性和壓縮比等方面還有不少可優化餘地。本文針對具體的運動圖像遠程實時傳輸系統應用,在大量研究工作基礎上提出多個H.263的優化策略,並取得了相當好的效果。
1 H.263壓縮算法的分析概要
H.263的輸入視頻幀格式爲QCIF(Quarter Common Intermediate Format,大小爲176×144)、CIF(Common Intermediate Format,大小爲352×288)等。將每個視頻幀分成許多宏塊(MB-Micro Block),每個宏塊由4個Y亮度塊、1個Cb色度塊和1個Cr色度塊組成。塊(Block)的大小爲8×8。H.263以宏塊爲單位進行視頻幀的壓縮。
H.263使用離散餘弦變換DCT(Discrete Cosine Transform)減小空間冗餘,使用運動估計和運動補償(Motion Estimation and Motion Compensation)減小時間冗餘。H.263有兩種編碼方式,一種是Intra方式,幀內編碼,產生的幀作爲關鍵幀-I幀;另一種是Inter方式,幀間編碼,產生的'幀作爲非關鍵幀-P幀。
透過分析,將H.263壓縮算法的流程圖歸納爲如圖1所示。
透過分析和測試表明,DCT、運動估計和運動補償是H.263最重要的部分,同時也是H.263實現中最耗時的運算環節。要提高H.263的運算速度,就要針對這些環節進行優化。
圖1 H.263壓縮算法流程圖
2 轉換函數、DCT和運動估計環節的優化
2.1 色彩空間轉換函數的優化
CIF格式基於YUV色彩空間,而應用程序中,大多數視頻採集程序只提供RGB色彩空間的視頻幀,因此需要建立從RGB色彩空間到YUV色彩空間的轉換函數。
RGB到YUV的轉換函數如下所示,其中Y爲YUV色彩空間的亮度值,U(Cb)和V(Cr)爲YUV色彩空間的色度值。
Y=0.299×R 0.587×G 0.114×B;
Cr=V=(R-Y)×127/179;
Cb=U=(B-Y)×127/226;
H.263原有的色彩空間轉換算法採用浮點運算,但浮點運算會消耗較多的CPU週期。爲了加快視頻處理速度,採用整形乘法和向右移位來代替浮點乘除,從而有效縮短了轉換時間。
優化後的轉換函數如下:
Y=((R×313524)