H.264/AVC標準是由ITU-T和ISO/IEC聯(lián)合開(kāi)發(fā)的,定位于覆蓋整個(gè)視頻應用領(lǐng)域,包括:低碼率的無(wú)線(xiàn)應用、標準清晰度和高清晰度的電視廣播應用、Internet上的視頻流應用,傳輸高清晰度的DVD視頻以及應用于數碼相機的高質(zhì)量視頻應用等等。
ITU-T給這個(gè)標準命名為H.264(以前叫做H
就像在下邊“視頻編碼歷史”表格中看到的,ITU-T和ISO/IEC負責以前所有的國際視頻壓縮標準的定制。到目前為止,最成功的視頻標準是MPEG-2,它已經(jīng)被各種市場(chǎng)領(lǐng)域所廣泛接受比如DVD、數字電視廣播(覆蓋電纜和通訊衛星)和數字機頂盒。自從MPEG-2技術(shù)產(chǎn)生以來(lái),新的H.264/MPEG-4 AVC標準在編碼效率和質(zhì)量上有了巨大的提高。隨著(zhù)時(shí)間的過(guò)去,在許多現有的應用領(lǐng)域,H.264/MPEG-4 AVC將會(huì )取代MPEG-2和MPEG-4,包括一些新興的市場(chǎng)(比如ADSL視頻)。
數字視頻編解碼技術(shù)的演變
國際標準通常是由國際標準化組織ISO在國際電信聯(lián)盟 ITU的技術(shù)建議的基礎上制訂的。數字視頻編解碼標準也經(jīng)歷了多次變革,H264標準使運動(dòng)圖像壓縮技術(shù)上升到了一個(gè)更高的階段,在較低帶寬上提供高質(zhì)量的圖像傳輸是H.264的應用亮點(diǎn)。H.264的推廣應用對視頻終端、網(wǎng)守、網(wǎng)關(guān)、MCU等系統的要求較高,將有力地推動(dòng)視頻會(huì )議軟設備在各個(gè)方面的不斷完善。
H.264的核心競爭力
H.264最具價(jià)值的部分無(wú)疑是更高的數據壓縮比。壓縮技術(shù)的基本原理就是將視頻文件中的非重要信息過(guò)濾,以便讓數據能夠更快地在網(wǎng)絡(luò )中傳輸。在同等的圖像質(zhì)量條件下,H.264的數據壓縮比能比當前DVD系統中使用的MPEG-2高2-3倍,比MPEG-4高1.5-2倍。正因為如此,經(jīng)過(guò)H.264壓縮的視頻數據,在網(wǎng)絡(luò )傳輸過(guò)程中所需要的帶寬更少,也更加經(jīng)濟。
在MPEG-4需要6Mbps的傳輸速率匹配時(shí),H.264只需要3Mbps-4Mbps的傳輸速率。我們用交通運輸來(lái)做更加形象的比喻:同樣是用一輛卡車(chē)運輸一個(gè)大箱子,假如MPEG-4能把箱子減重一半,那么H.264能把箱子減重為原來(lái)的1/4,在卡車(chē)載重量不變的情況下,H.264比MPEG-2讓卡車(chē)的載貨量增加了二倍。
H.264獲得優(yōu)越性能的代價(jià)是計算復雜度的大幅增加,例如分層設計、多幀參論、多模式運動(dòng)估計、改進(jìn)的幀內預測等,這些都顯著(zhù)提高了預測精度,從而獲得比其他標準好得多的壓縮性能。
不斷提高的硬件處理能力和不斷優(yōu)化的軟件算法是H.264得以風(fēng)行的生存基礎。早在十年前,主頻為幾十兆的CPU就達到了頂級,而如今普通的臺式機,CPU的主頻已經(jīng)高達幾千兆。按照摩爾定律的說(shuō)法,芯片單位面積的容量每18個(gè)月翻一番,因此H.264所增加的運算復雜度相對于性能提升效果而言微不足道。更何況新的計算方法層出不窮,也相對緩解H.264對處理速度的饑渴需求。
H.264 與MPEG-4的比較
1、在極低碼率(32-128Kbps)的情況下,H.264與MPEG-4相比具有性能倍增效應,即: 相同碼率的H
2、 H
3、H.264與MPEG-4的畫(huà)面效果比較
下圖左為MPEG-4在碼率為1Mbps情況下的畫(huà)面質(zhì)量,右為H
H.264標準推出僅一年,大部分宣傳支持H.264的終端廠(chǎng)商主要都是支持H.264的基本檔次。因為H.264編解碼復雜度的增加,對終端廠(chǎng)商的視頻處理能力提出了挑戰?,F有的平臺,要么就根本無(wú)法做H.264的編解碼,要么就不能支持高碼率下的編解碼。而泰和視頻會(huì )議產(chǎn)品最大支持640*480,視頻標準采用最新的高碼率編解碼技術(shù),圖像清晰流暢。在帶寬節約39%的基礎上視頻質(zhì)量的信噪比要比同類(lèi)產(chǎn)品高出40%,是目前視頻質(zhì)量最好的編碼技術(shù)。
下面我們深入探討一下H.264/AVC核心技術(shù)。
H.264/AVC核心技術(shù)概覽
就像在圖中看到的一樣,這個(gè)新的標準是由下面幾個(gè)處理步驟組成的:
幀間和幀內預測
變換(和反變換)
量化(和反量化)
環(huán)路濾波
熵編碼
單張的圖片流組成了視頻,它能分成16X16像素的“宏塊”,這種分塊方法簡(jiǎn)化了在視頻壓縮算法中每個(gè)步驟的處理過(guò)程。舉例來(lái)說(shuō),從標準清晰度標準視頻流解決方案(720X480)中截取的一幅圖片被分成1350(45X30)個(gè)宏塊,然后在宏塊的層次進(jìn)行進(jìn)一步的處理。
幀間預測
改良的運動(dòng)估計。運動(dòng)估計用來(lái)確定和消除存在于視頻流中不同圖片之間的時(shí)間冗余。當運動(dòng)估計搜索是根據過(guò)去方向的圖片,那么被編碼的圖片稱(chēng)為“P幀圖片”,當搜索是根據過(guò)去和將來(lái)兩種方向的圖片,那么被編碼的圖片被稱(chēng)為“B幀圖片”。
為了提高編碼效率,為了包含和分離在“H.264運動(dòng)估計-改良的運動(dòng)估計”圖中的運動(dòng)宏塊,宏塊被拆分成更小的塊。然后,以前或將來(lái)的圖片的運動(dòng)矢量被用來(lái)預測一個(gè)給定的塊。H.264/MPEG-4 AVC發(fā)明了一種更小的塊,它具有更好的靈活性,在運動(dòng)矢量方面可以有更高的預測精度。
H.264運動(dòng)估計-改良的運動(dòng)估計
幀內預測
不能運用運動(dòng)估計的地方,就采用幀內估計用來(lái)消除空間冗余。內部估計通過(guò)在一個(gè)預定義好的集合中不同方向上的鄰近塊推測相鄰像素來(lái)預測當前塊。然后預測塊和真實(shí)塊之間的不同點(diǎn)被編碼。這種方法是H.264/MPEG-4 AVC所特有的,尤其對于經(jīng)常存在空間冗余的平坦背景特別有用。一個(gè)例子就是下邊展示的“H.264內部估計”。
H.264內部估計
變換 運動(dòng)估計和內部估計后的結果通過(guò)變換被從空間域轉換到頻率域。H.264/MPEG-4 AVC使用整數DCT4X4變換。而MPEG-2和MPEG-4使用浮點(diǎn)DCT8X8變換。
更小塊的H.264/MPEG-4 AVC減少了塊效應和明顯的人工痕跡。整數系數消除了在MPEG-2和MPEG-4中進(jìn)行浮點(diǎn)系數運算時(shí)導致的精度損失。
H.264變換
量化 變換后的系數被量化,減少了整數系數的預測量和消除了不容易被感知高頻系數。這個(gè)步驟也用來(lái)控制輸出的比特率維持在一個(gè)基本恒定的常量。
H.264量化/碼率控制
環(huán)路濾波 H.264/MPEG-4 AVC標準定義了一個(gè)對16X16宏塊和4X4塊邊界的解塊過(guò)濾過(guò)程。在宏塊這種情況下,過(guò)濾的目的是消除由于相鄰宏塊有不同的運動(dòng)估計類(lèi)型(比如運動(dòng)估計和內部估計)或者不同的量化參數導致的人工痕跡。在塊邊界這種情況下,過(guò)濾的目的是消除可能由于變換/量化和來(lái)自于相鄰塊運動(dòng)矢量的差別引起的人工痕跡。環(huán)路濾波通過(guò)一個(gè)內容自適應的非線(xiàn)性算法修改在宏塊/塊邊界的同一邊的兩個(gè)像素。
熵編碼 在熵編碼之前,4X4的量化系數必須被重排序。根據這些系數原來(lái)采用的預測算法為運動(dòng)估計或者內部估計的不同來(lái)選擇不同的掃描類(lèi)型創(chuàng )建一個(gè)重排序的串行化流。掃描類(lèi)型按照從低頻到高頻的順序排序這些系數。既然高頻系數大多數趨向于零,那么利用游程編碼就可以縮減零的數目,從而高效的達到熵編碼的目的。
H.264熵編碼-系數的串行化
在熵編碼步驟通過(guò)映射符號的字節流來(lái)表示運動(dòng)矢量,量化系數和宏塊頭。熵編碼通過(guò)設計用一個(gè)較少的比特位數來(lái)表示頻繁使用的符號,比較多的比特位數來(lái)表示不經(jīng)常使用的符號。

