1. 介紹
數字電視及DVD視訊的到來使得廣播電視業與家庭娛樂業發生了一場革命. 視訊壓縮技術的标準化更使得這些及更多的應用成為可能. 用于視訊壓縮的ITU-T H.263 标準現正在視訊會議系統中廣泛使用,與此同時,MPEG系列标準中的下一個标準, MPEG4, 正在促成新一代的基于Internet的視訊應用的興起。
MPEG4 (可視化) 及 H.263 的标準為基于視訊壓縮(“視訊編碼”)的技術.1995年,負責制訂這些标準的群體--運動圖像專家組(the Motion Picture Experts Group, MPEG) 及視訊編碼專家組(the Video Coding Experts Group, VCEG) 正處于一種新标準發展的最後階段, 這種新标準性能有了相當大的提高。MPEG4 與 H.263 提供更好的視訊圖像壓縮與支援高品質,低比特率流媒體視訊的大量特性. 該新标準,“Advanced Video Coding” (AVC),的曆史持續了至少七年.
1995年用于視訊電話的H.263 标準最終完成後, ITU-T 的視訊編碼專家組(Video Coding Experts Group , VCEG) 在兩個領域開始了進一步的發展工作, 其中一個為 “短期的” 工作, 向 H.263 添加額外的特性(産生了該标準的第二版), 另一個為“長期的” 工作,為低比特率可視化通信發展一套新标準. 該項長期工作産生了“H.26L”标準草案, 該草案提供比以前的 ITU-T 标準好得多的視訊壓縮效率. 2001年, 國際标準化組織運動圖像專家組(the ISO Motion Picture Experts Group, MPEG) 認識到了H.26L潛在的益處.而且于當年形成了聯合視訊組(the Joint Video Team, JVT) , 該組織包括了來自MPEG 和 VCEG 的專家. JVT的主要任務就是将 H.26L “模型”的草案發展成為一套完整的國際标準.實噬? 其結果将成為兩個相同的标準: ISO MPEG4 Part 10 MPEG4 以及 ITU-T H.264. 新标準的“官方”名稱為 Advanced Video Coding (AVC);然而, 該标準因其工作用名稱H.26L 和 其 ITU 文檔編号, H.264 [1] 而廣為人知.
2. H.264 CODEC
與早期标準(諸如MPEG1, MPEG2 and MPEG4)相同的是, the H.264 标準草案并沒有顯式地定義一個CODEC (enCOder / DECoder pair). 而是定義了編碼視訊比特流的語義 以及對該比特流的解碼方法. 然而在實踐中, 符合标準的編碼器與解碼器可能會包含圖Figure 2-1 and Figure 2-2中所顯示的功能元素. 在圖中所顯示的功能子產品可能是服從标準所需要的, 而對CODEC結構的多種不同形式又應該有回旋的餘地. 以前的标準 (MPEG1, MPEG2, MPEG4, H.261, H.263)中的基本的功能子產品 (預測, 變換, 量化, 最終編碼) 都大緻相同,H.264中的重要變化展現在每個功能子產品的細節.
編碼器 (圖Figure 2-1) 含兩個資料流路徑, 一個“前行” 路經 (從左向右, 藍色)以及一個“重建” 路徑 (從右向左, magenta). 由右向左所示的解碼器的資料流路徑(圖Figure 2-2) 顯示出編碼器與解碼器之間的相似之處.
(圖)
2.1 編碼器 (前行路徑 forward path)
Fn 表示要編碼的輸入幀. 該幀是以macroblock (對應于原始圖像的 16x16 像素)為機關處理的. 每個macroblock 以 intra 模式或 inter 模式編碼. 無論哪種模式, 預測 macroblock P 都是基于一個重建幀而形成的. 在 Intra 模式下, P 是由目前幀n中的樣本形成的,該目前幀是前面所編碼,解碼,重建的 (圖中的uF’n ; 注意P是由未經濾波的樣本形成的). 在 Inter 模式下,P 是由對一個或多個參考幀的動态補償預測形成的. 圖中,參考幀顯示為前一已編碼幀 F’n-1 ;然而,對每一macroblock的預測可能是由已經編碼并重建的一幀或多幀過去的或是以後的幀(以時間順序) 形成的.
Macroblock Dn是由目前macroblock減去預測 P 而形成的餘塊或差塊. 進行此變換(使用塊變換)和量化 是為了給X一組已量化的變換系數. 這些系數都是重新排序并經entropy編碼的. 已entropy 編碼的系數, 以及解碼該 macroblock 所需的其它資訊(諸如macroblock 預測模式, quantizer 步長大小, 描述macroblock動态補償方式的運動向量資訊等)一同形成了壓縮的比特流. 該比特流将被送入網絡抽象層(Network Abstraction Layer, NAL) 傳輸或存儲.
2.2 編碼器 (重建路徑)
解碼已量化的macroblock 系數 X 是為了解碼後續的macroblock以重建該幀. 系數 X 都經過了 re-scaled (Q-1) 和逆變換 (T-1) 來生成一個macroblock差塊Dn’. 該差塊并不同于原始的差塊Dn ; 量化過程造成了資訊的丢失,是以 Dn’是個殘缺版的Dn.為建立一個重建的 macroblock uF’n (原 macroblock的殘缺版),要将預測 macroblock P 加到 Dn’上. 為減小殘缺導緻的不良效果, 這裡用到了濾波器. 之後從一系列的macroblocks F’n重建出參考幀.
2.3 解碼器
解碼器從NAL接收一串壓縮比特流. 為生成一組量化的系數 X, 資料元素都是經entropy編碼和重新排序的. 再經rescaled 和逆變換來給出Dn’ (這與編碼器中所示的Dn’相同). 使用從比特流中解碼出的頭資訊, 解碼器建立一個預測 macroblock P, 這個預測P與編碼器中形成的預測 P 相同. 再将P 加到 Dn’上生成 uF’n ,uF’n 再經濾波器生成解碼的 F’n.
從圖和前面的讨論可以清楚地得出編碼器中的重建路徑保證了編碼器與解碼器使用相同的參考幀來建立預測 P. 否則, 編碼器中的預測 P與解碼器中的預測 P 會有所不同,導緻增量出錯或編解碼器間的“漂移”.
3. 參考文獻
1 ITU-T Rec. H.264 / ISO/IEC 11496-10, “Advanced Video Coding”, Final Committee Draft, Document JVTE022, September 200