首頁 > 新聞 > 標(biāo)準(zhǔn) >

H.264發(fā)展及技術(shù)實(shí)用化

2008-10-14 00:00:00   作者:   來源:   評論:0  點(diǎn)擊:



  視頻編解碼技術(shù)有兩套標(biāo)準(zhǔn),國際電聯(lián)(ITU-T)的標(biāo)準(zhǔn)H.261、H.263、H.263+等;還有ISO 的MPEG標(biāo)準(zhǔn)Mpeg1、Mpeg2、Mpeg4等等。H.264/AVC是兩大組織集合H.263+和Mpeg4的優(yōu)點(diǎn)聯(lián)合推出的最新標(biāo)準(zhǔn),最具價(jià)值的部分無疑是更高的數(shù)據(jù)壓縮比。在同等的圖像質(zhì)量條件下,H.264的數(shù)據(jù)壓縮比能比H.263高2倍,比MPEG-4高1.5倍。
  以下我們簡單介紹H.264的概念和發(fā)展,并探討H.264技術(shù)實(shí)用化的可能性
  H.264/AVC是什么?
  H.264/AVC標(biāo)準(zhǔn)是由ITU-T和ISO/IEC聯(lián)合開發(fā)的,定位于覆蓋整個(gè)視頻應(yīng)用領(lǐng)域,包括:低碼率的無線應(yīng)用、標(biāo)準(zhǔn)清晰度和高清晰度的電視廣播應(yīng)用、Internet上的視頻流應(yīng)用,傳輸高清晰度的DVD視頻以及應(yīng)用于數(shù)碼相機(jī)的高質(zhì)量視頻應(yīng)用等等。
  ITU-T給這個(gè)標(biāo)準(zhǔn)命名為H.264(以前叫做H.26L),而ISO/IEC稱它為MPEG-4 高級視頻編碼(Advanced Video Coding,AVC),并且它將成為MPEG-4標(biāo)準(zhǔn)的第10部分。既然AVC是當(dāng)前MPEG-4標(biāo)準(zhǔn)的拓展,那么它必然將受益于MPEG-4開發(fā)良好的基礎(chǔ)結(jié)構(gòu)(比如系統(tǒng)分層和音頻等)。很明顯,作為MPEG-4高級簡潔框架(Advanced Simple Profile,ASP)的MPEG-4 AVC將會(huì)優(yōu)于當(dāng)前的MPEG-4視頻壓縮標(biāo)準(zhǔn),它將主要應(yīng)用在具有高壓縮率和分層次質(zhì)量需求的方向。
  就像在下邊“視頻編碼歷史”表格中看到的,ITU-T和ISO/IEC負(fù)責(zé)以前所有的國際視頻壓縮標(biāo)準(zhǔn)的定制。到目前為止,最成功的視頻標(biāo)準(zhǔn)是MPEG-2,它已經(jīng)被各種市場領(lǐng)域所廣泛接受比如DVD、數(shù)字電視廣播(覆蓋電纜和通訊衛(wèi)星)和數(shù)字機(jī)頂盒。自從MPEG-2技術(shù)產(chǎn)生以來,新的H.264/MPEG-4 AVC標(biāo)準(zhǔn)在編碼效率和質(zhì)量上有了巨大的提高。隨著時(shí)間的過去,在許多現(xiàn)有的應(yīng)用領(lǐng)域,H.264/MPEG-4 AVC將會(huì)取代MPEG-2和MPEG-4,包括一些新興的市場(比如ADSL視頻)。
  數(shù)字視頻編解碼技術(shù)的演變
  國際標(biāo)準(zhǔn)通常是由國際標(biāo)準(zhǔn)化組織ISO在國際電信聯(lián)盟 ITU的技術(shù)建議的基礎(chǔ)上制訂的。數(shù)字視頻編解碼標(biāo)準(zhǔn)也經(jīng)歷了多次變革,H264標(biāo)準(zhǔn)使運(yùn)動(dòng)圖像壓縮技術(shù)上升到了一個(gè)更高的階段,在較低帶寬上提供高質(zhì)量的圖像傳輸是H.264的應(yīng)用亮點(diǎn)。H.264的推廣應(yīng)用對視頻終端、網(wǎng)守、網(wǎng)關(guān)、MCU等系統(tǒng)的要求較高,將有力地推動(dòng)視頻會(huì)議軟設(shè)備在各個(gè)方面的不斷完善。
  H.264的核心競爭力
  H.264最具價(jià)值的部分無疑是更高的數(shù)據(jù)壓縮比。壓縮技術(shù)的基本原理就是將視頻文件中的非重要信息過濾,以便讓數(shù)據(jù)能夠更快地在網(wǎng)絡(luò)中傳輸。在同等的圖像質(zhì)量條件下,H.264的數(shù)據(jù)壓縮比能比當(dāng)前DVD系統(tǒng)中使用的MPEG-2高2-3倍,比MPEG-4高1.5-2倍。正因?yàn)槿绱,?jīng)過H.264壓縮的視頻數(shù)據(jù),在網(wǎng)絡(luò)傳輸過程中所需要的帶寬更少,也更加經(jīng)濟(jì)。
  在MPEG-4需要6Mbps的傳輸速率匹配時(shí),H.264只需要3Mbps-4Mbps的傳輸速率。我們用交通運(yùn)輸來做更加形象的比喻:同樣是用一輛卡車運(yùn)輸一個(gè)大箱子,假如MPEG-4能把箱子減重一半,那么H.264能把箱子減重為原來的1/4,在卡車載重量不變的情況下,H.264比MPEG-2讓卡車的載貨量增加了二倍。
  H.264獲得優(yōu)越性能的代價(jià)是計(jì)算復(fù)雜度的大幅增加,例如分層設(shè)計(jì)、多幀參論、多模式運(yùn)動(dòng)估計(jì)、改進(jìn)的幀內(nèi)預(yù)測等,這些都顯著提高了預(yù)測精度,從而獲得比其他標(biāo)準(zhǔn)好得多的壓縮性能。
  不斷提高的硬件處理能力和不斷優(yōu)化的軟件算法是H.264得以風(fēng)行的生存基礎(chǔ)。早在十年前,主頻為幾十兆的CPU就達(dá)到了頂級,而如今普通的臺(tái)式機(jī),CPU的主頻已經(jīng)高達(dá)幾千兆。按照摩爾定律的說法,芯片單位面積的容量每18個(gè)月翻一番,因此H.264所增加的運(yùn)算復(fù)雜度相對于性能提升效果而言微不足道。更何況新的計(jì)算方法層出不窮,也相對緩解H.264對處理速度的饑渴需求。
  H.264 與MPEG-4的比較
  在極低碼率(32-128Kbps)的情況下,H.264與MPEG-4相比具有性能倍增效應(yīng),即: 相同碼率的H.26L媒體流和MPEG-4媒體流相比,H.26L擁有大約3個(gè)分貝的增益(畫質(zhì)水平倍增)。 32Kbps的H.26L媒體流,其信躁比與128K的MPEG-4媒體流相近。即在同樣的畫面質(zhì)量下,H.264的碼率僅僅為MPEG-4的四分之一。
  H.264/AVC核心技術(shù)概覽
  這個(gè)新的標(biāo)準(zhǔn)是由下面幾個(gè)處理步驟組成的:
  • 幀間和幀內(nèi)預(yù)測

  • 量化(和反量化)

  • 熵編碼
  單張的圖片流組成了視頻,它能分成16X16像素的“宏塊”,這種分塊方法簡化了在視頻壓縮算法中每個(gè)步驟的處理過程。舉例來說,從標(biāo)準(zhǔn)清晰度標(biāo)準(zhǔn)視頻流解決方案(720X480)中截取的一幅圖片被分成1350(45X30)個(gè)宏塊,然后在宏塊的層次進(jìn)行進(jìn)一步的處理。
  幀間預(yù)測
  改良的運(yùn)動(dòng)估計(jì)。運(yùn)動(dòng)估計(jì)用來確定和消除存在于視頻流中不同圖片之間的時(shí)間冗余。當(dāng)運(yùn)動(dòng)估計(jì)搜索是根據(jù)過去方向的圖片,那么被編碼的圖片稱為“P幀圖片”,當(dāng)搜索是根據(jù)過去和將來兩種方向的圖片,那么被編碼的圖片被稱為“B幀圖片”。
  為了提高編碼效率,為了包含和分離在“H.264運(yùn)動(dòng)估計(jì)-改良的運(yùn)動(dòng)估計(jì)”圖中的運(yùn)動(dòng)宏塊,宏塊被拆分成更小的塊。然后,以前或?qū)淼膱D片的運(yùn)動(dòng)矢量被用來預(yù)測一個(gè)給定的塊。H.264/MPEG-4 AVC發(fā)明了一種更小的塊,它具有更好的靈活性,在運(yùn)動(dòng)矢量方面可以有更高的預(yù)測精度。
  H.264運(yùn)動(dòng)估計(jì)-改良的運(yùn)動(dòng)估計(jì)
  幀內(nèi)預(yù)測
  不能運(yùn)用運(yùn)動(dòng)估計(jì)的地方,就采用幀內(nèi)估計(jì)用來消除空間冗余。內(nèi)部估計(jì)通過在一個(gè)預(yù)定義好的集合中不同方向上的鄰近塊推測相鄰像素來預(yù)測當(dāng)前塊。然后預(yù)測塊和真實(shí)塊之間的不同點(diǎn)被編碼。這種方法是H.264/MPEG-4 AVC所特有的,尤其對于經(jīng)常存在空間冗余的平坦背景特別有用。一個(gè)例子就是下邊展示的“H.264內(nèi)部估計(jì)”。
  H.264內(nèi)部估計(jì)
  變換
  運(yùn)動(dòng)估計(jì)和內(nèi)部估計(jì)后的結(jié)果通過變換被從空間域轉(zhuǎn)換到頻率域。H.264/MPEG-4 AVC使用整數(shù)DCT4X4變換。而MPEG-2和MPEG-4使用浮點(diǎn)DCT8X8變換。
  更小塊的H.264/MPEG-4 AVC減少了塊效應(yīng)和明顯的人工痕跡。整數(shù)系數(shù)消除了在MPEG-2和MPEG-4中進(jìn)行浮點(diǎn)系數(shù)運(yùn)算時(shí)導(dǎo)致的精度損失。
  H.264變換
  量化
  變換后的系數(shù)被量化,減少了整數(shù)系數(shù)的預(yù)測量和消除了不容易被感知高頻系數(shù)。這個(gè)步驟也用來控制輸出的比特率維持在一個(gè)基本恒定的常量。
  H.264量化/碼率控制
  環(huán)路濾波
  H.264/MPEG-4 AVC標(biāo)準(zhǔn)定義了一個(gè)對16X16宏塊和4X4塊邊界的解塊過濾過程。在宏塊這種情況下,過濾的目的是消除由于相鄰宏塊有不同的運(yùn)動(dòng)估計(jì)類型(比如運(yùn)動(dòng)估計(jì)和內(nèi)部估計(jì))或者不同的量化參數(shù)導(dǎo)致的人工痕跡。在塊邊界這種情況下,過濾的目的是消除可能由于變換/量化和來自于相鄰塊運(yùn)動(dòng)矢量的差別引起的人工痕跡。環(huán)路濾波通過一個(gè)內(nèi)容自適應(yīng)的非線性算法修改在宏塊/塊邊界的同一邊的兩個(gè)像素。
  熵編碼
  在熵編碼之前,4X4的量化系數(shù)必須被重排序。根據(jù)這些系數(shù)原來采用的預(yù)測算法為運(yùn)動(dòng)估計(jì)或者內(nèi)部估計(jì)的不同來選擇不同的掃描類型創(chuàng)建一個(gè)重排序的串行化流。掃描類型按照從低頻到高頻的順序排序這些系數(shù)。既然高頻系數(shù)大多數(shù)趨向于零,那么利用游程編碼就可以縮減零的數(shù)目,從而高效的達(dá)到熵編碼的目的。
  H.264熵編碼-系數(shù)的串行化
  在熵編碼步驟通過映射符號的字節(jié)流來表示運(yùn)動(dòng)矢量,量化系數(shù)和宏塊頭。熵編碼通過設(shè)計(jì)用一個(gè)較少的比特位數(shù)來表示頻繁使用的符號,比較多的比特位數(shù)來表示不經(jīng)常使用的符號。

中國信息產(chǎn)業(yè)網(wǎng)(www.cnii.com.cn)

相關(guān)閱讀:

分享到: 收藏

專題