H.264編解碼

H.264編解碼

H.264是由ITU-T(ITU Telecommunication Standardization Sector,國際電信聯盟遠程通信標準化組)視頻編碼專家組(VCEG)和ISO/IEC動態圖像專家組(MPEG)聯合組成的聯合視頻組(JVT,Joint Video Team)提出的高度壓縮數字視頻編解碼器標準。

H.264編解碼H.264是由ITU-T(ITU Telecommunication Standardization Sector,國際電信聯盟遠程通信標準化組)視頻編碼專家組(VCEG)和ISO/IEC動態圖像專家組(MPEG)聯合組成的聯合視頻組(JVT,Joint Video Team)提出的高度壓縮數字視頻編解碼器標準。
ITU-T的H.264標準和ISO/IECMPEG-4第10部分(正式名稱是ISO/IEC 14496-10)在編解碼技術上是相同的,這種編解碼技術也被稱為AVC,即高級視頻編碼(Advanced Video Coding)。該標準第一版的最終草案(FD)已於2003年5月完成。
H.264是ITU-T以H.26x系列為名稱命名的標準之一,同時AVC是ISO/IEC MPEG一方的稱呼。
H.264/AVC項目最初的目標是希望新的編解碼器能夠在比相對以前的視頻標準(比如MPEG-2或者H.263)低很多的碼率下(比如說,一半或者更少)提供很好的視頻質量;同時,並不增加很多複雜的編碼工具,使得硬體難以實現。
另外一個目標是可適應性,即該編解碼器能夠在一個很廣的範圍內使用(比如說,即包含高碼率也包含低碼率,以及不同的視頻解析度),並且能在各種網路和系統上(比如組播,DVD存儲,RTP/IP包網路,ITU-T多媒體電話系統)工作。
H.264/AVC的新特徵
1、多參考幀的運動補償。比起以前的視頻編碼標準,H.264/AVC以更靈活的方式使用已編碼的更多幀來作為參考幀。在某些情況下,可以使用最多 32個參考幀(在以前的標準裡面,參考幀的數目不是1就是對B幀來說的2)。該特性對大多數場景序列都可以帶來一定的碼率降低或者質量提高,對某些類型的場景序列,例如快速重複的閃光,反覆的剪下或者背景遮擋的情況,它能很顯著的降低編碼的碼率。
2、變塊尺寸運動補償。可使用最大16x16至最小4x4的塊來進行運動估計與運動補償,能夠對圖像序列中的運動區域進行更精確的分割。
3、為了減少鋸齒並得到更銳化的圖像,採用六抽頭的濾波器來產生二分之一像素的亮度分量預測值。
4、宏塊對結構允許場模式中採用16x16的宏塊(相對於MPEG-2中的16x8)。
5、1/4像素精度的運動補償能夠提供更高精度的運動塊預測,由於色度通常是亮度抽樣的1/2,這時
運動補償的精度就達到了1/8像素精度。
6、加權的運動預測,指在運動補償時可以使用增加權重和偏移的辦法。它能在一些特殊的場合,如淡入、淡出、淡出而後淡入等情況提供相當大的編碼增益。
7、使用了一個環內的除塊效應濾波器,能夠減輕普遍存在於其他基於離散餘弦變換(DCT)的視頻編解碼器的塊效應。
8、一個匹配的整數4x4變換(類似於離散餘弦變換的設計),同樣在高精度拓展 中,採用整數8x8變換,並能在4x4變換和8x8變換中進行自適應的選擇。
9、在第一次4x4變換後,對DC係數(色度的DC係數和某種特殊狀況的亮度DC係數)再進行一次Hadamard變換,使得在平滑區域得到更好的壓縮效果。
10、利用臨近塊的邊界像素的Intra空間預測(比曾在MPEG-2視頻部分使用的直流係數預測和在H.263+和MPEG-4視頻部分使用的變換係數預測的效果要好)。
11、基於上下文的二元算數編碼 (CABAC),它能夠靈活的將各種語法元素,在已知相應上下文機率分布的狀況下進行更有效的無損熵編碼。
12、基於上下文的變長編碼 (CAVLC),用於對量化後的變化係數進行編碼。比起CABAC它的複雜度相對較低,壓縮比不高,但是比起以前的視頻編碼標準所使用的熵編碼方案,它又是相當有效的。
13、對既不是用CABAC也不是用CAVLC的語法元素,使用指數哥倫布碼(Exponential-Golomb)(Exp-Golomb)熵編碼方案,進行編碼。
14、使用一個網路抽象層 (NAL),使得相同的視頻語法可以適用於多種網路環境中;並且使用了序列參數集(SPSs)和圖像參數集(PPSs)來提供更高的強健性(robustness)和靈活性。
15、切換條帶(Switching slices,包括SP和SI兩種),它使得編碼器能夠指令解碼器跳轉到一個正在處理的視頻碼流,用來解決視頻碼流碼率切換和"竅門模式"(Trick mode)操作。當解碼器利用SP/SI條帶跳轉到一個視頻碼流中間時,除非之後的解碼幀引用切換幀之前的圖像作為參考幀,它都可以得到完全一致的解碼重建圖像。
16、靈活的宏塊排列模式(FMO for Flexible macroblock ordering,也被稱為條帶組slice groups技術)和任意條帶排列(ASO for arbitrary slice ordering)模式,用來更改圖像編碼的最基本單位-宏塊的編碼順序。它能夠用來提高有繞信道下碼流的魯棒性(robustness)以及一些其它的目的。
17、數據分區(DP for Data partitioning),能夠將重要程度不同的語法元素分開打包傳輸,並使用非平等數據保護(UEP for unequal error protection)等
技術來改善視頻碼流對抗信道誤碼/丟包的魯棒性(Robustness).
18、冗餘條帶(RS for Redundant Slices),同樣是一個提高碼流魯棒性的技術。編碼器利用該技術可以傳送圖象某區域(或者全部)的另一個編碼表示(通常是較低解析度的編碼碼流)使得當主表示發生錯誤或者丟失的時候能夠用冗餘的第二個編碼表示來解碼。
19、使用了一個自動的位元組碼流打包方法,避免了碼流中出現與開始碼重複的碼字。開始碼是碼流中用於隨機訪問和重建同步的碼字。
20、補充增強信息(SEI for Supplemental Enhancement Information)和視頻可用信息(VUI for Video Usability Information)增加了向視頻碼流中加入信息的辦法,為各種套用提供了用途。
21、輔助圖層(Auxiliary pictures), 可以用來實現某些特殊的功能,例如alpha複合(alpha compositing)。
22、幀編號,使用該功能支持創建一個視頻序列的子序列,可用來支持實現時域的可伸縮性,還支持對丟失的整幀圖像進行檢測和隱藏(丟失可能是由於網路丟包或者信道誤碼造成的)。
23、圖像順序計數,使用該功能使得各幀圖像的順序和解碼圖像的像素值與時間信息無關,即使用一個單獨的系統對時間信息進行傳輸、控制、更改,從而不影響解碼圖像的像素值。

相關搜尋

熱門詞條

聯絡我們