摘 要:本文簡(jiǎn)單介紹了視頻編碼發(fā)展的歷程,然后分析了H.264標(biāo)準(zhǔn)的編碼算法的核心技術(shù),最后對(duì)它在各領(lǐng)域的發(fā)展前景進(jìn)行了展望。
關(guān)鍵詞:視頻編碼H.264幀間預(yù)測(cè)
中圖分類號(hào):TN919.8文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1674-098X(2011)09(a)-0008-01
從1948年提出電視信號(hào)可以數(shù)字化以來(lái),圖像壓縮編碼技術(shù)已有50多年的歷史。隨著市場(chǎng)對(duì)圖像傳輸需求的增加,人們都在致力于研究一種新的視頻壓縮算法,以達(dá)到共同的目標(biāo)——即在盡可能低的碼速率下獲得高質(zhì)量的圖像。現(xiàn)在人們?cè)陟o止圖像和活動(dòng)圖像的壓縮算法方面形成了許多標(biāo)準(zhǔn),有國(guó)際化標(biāo)準(zhǔn)組織(ISO)和國(guó)際電工委員會(huì)(IEC)關(guān)于靜止圖像的編碼標(biāo)準(zhǔn)JPEG/JPEG2000,關(guān)于活動(dòng)圖像的編碼標(biāo)準(zhǔn)MPEG-1、MPEG-2、MPEG-4(2)、MPEG-10(4)等,以及國(guó)際電信聯(lián)盟(ITU)制定的視頻編碼標(biāo)準(zhǔn)H.26X系列。
1 H.26x系列標(biāo)準(zhǔn)的發(fā)展與應(yīng)用
H.261是最早出現(xiàn)的實(shí)用的視頻編碼建議,是規(guī)范 ISDN上的會(huì)議電視和可視電話應(yīng)用中的視頻編碼技術(shù)。它采用了減少時(shí)間冗余的幀間預(yù)測(cè)和減少空間冗余的DCT變換的混合編碼方法,其輸出碼率是p×64kbit/s。H.263建議的是低碼率圖像壓縮標(biāo)準(zhǔn),支持碼率小于64kbit/s的應(yīng)用。H.264是ITU的VCEG(視頻編碼專家組)和ISO/IEC的MPEG(活動(dòng)圖像編碼專家組)的聯(lián)合視頻組(JVT)開(kāi)發(fā)的一個(gè)新的數(shù)字視頻編碼標(biāo)準(zhǔn)。在H.264建議中有很多值得欣賞的技術(shù),主要有運(yùn)動(dòng)估值和運(yùn)動(dòng)補(bǔ)償、幀內(nèi)預(yù)測(cè)、幀間預(yù)測(cè)、整數(shù)變換、變換系數(shù)量化、掃描順序、抗塊效應(yīng)濾波器、熵編碼、新的圖像片類型、算法的分層結(jié)構(gòu)。正是因?yàn)樗兄芨叩膱D像壓縮效率和差錯(cuò)控制技術(shù),因此在高速網(wǎng)絡(luò)和隨機(jī)信道中有著廣泛的應(yīng)用。在H.264中,除了利用量化步長(zhǎng)來(lái)適應(yīng)信道碼率外,還利用數(shù)據(jù)分割的方法應(yīng)對(duì)信道碼率的變化。在無(wú)線環(huán)境中,通過(guò)改變每一幀的量化精度或空間/時(shí)間分辨率來(lái)支持無(wú)線信道的大比特率變化。
2 H.264標(biāo)準(zhǔn)的編碼算法
2.1 幀內(nèi)預(yù)測(cè)編碼
H.264的基本預(yù)測(cè)技術(shù)是基于塊,而像素塊預(yù)測(cè)編碼包括幀內(nèi)塊預(yù)測(cè)和幀間塊預(yù)測(cè),幀內(nèi)預(yù)測(cè)在H.264中有著很重要的地位。在圖像信號(hào)中,亮度信號(hào)和色差信號(hào)是分別處理的,因此又可分為亮度信號(hào)預(yù)測(cè)和色差信號(hào)預(yù)測(cè)。亮度信號(hào)預(yù)測(cè)是在變換編碼之前進(jìn)行的,可分為4×4和16×16兩種方式。而對(duì)于色差信號(hào)則只有8×8的預(yù)測(cè)方式。在幀內(nèi)預(yù)測(cè)中,當(dāng)前塊的抽樣值總是利用鄰塊的抽樣值來(lái)獲取,相鄰宏塊的運(yùn)動(dòng)補(bǔ)償誤差會(huì)造成圖像誤差的擴(kuò)散,因此,還有一種限制幀內(nèi)編碼模式,此時(shí)只允許相鄰的幀內(nèi)預(yù)測(cè)宏塊為已知才可以作為其它當(dāng)前宏塊的參考宏塊。
對(duì)于每一個(gè)4×4塊(除邊緣塊外),每個(gè)像素都可以用像素塊的左邊和上邊的17個(gè)像素(已編碼重建的像素)的不同加權(quán)和來(lái)預(yù)測(cè)。如圖1所示,a,b……p為待預(yù)測(cè)像素點(diǎn),而A,B……P為已編碼的像素。圖2所示為9種4×4幀內(nèi)預(yù)測(cè)的角度。
2.2 幀間預(yù)測(cè)編碼
幀間預(yù)測(cè)用于降低圖像的時(shí)域相關(guān)性,采用多幀參考和更小運(yùn)動(dòng)預(yù)測(cè)區(qū)域等方法,對(duì)下一幀精確預(yù)測(cè),從而減少傳輸數(shù)據(jù)量。每個(gè)亮度宏塊被劃分為形狀不同的區(qū)域,劃分方法有16×16,、16×8、8×16、8×8共四種。選用8×8方式時(shí),可以進(jìn)一步劃分為8×8、8×4、4×8、4×4共四個(gè)子區(qū)域。H.264亮度宏塊分割后的每個(gè)子塊都有自己獨(dú)立的運(yùn)動(dòng)矢量,每個(gè)運(yùn)動(dòng)矢量都會(huì)被編碼、傳送,另外分塊方式也必須被編碼在數(shù)據(jù)比特中。通常大的分塊方式用于幀內(nèi)均勻的部分,而小的分塊方式將有利于對(duì)圖像中細(xì)節(jié)的描述。每個(gè)色度塊將按照亮度的分塊方式進(jìn)行分塊。由于宏塊中色度分辨率是亮度分辨率的一半,因此其塊的大小在水平還是垂直方向都是亮度塊的一半。
2.3 整數(shù)變換與量化
H.264標(biāo)準(zhǔn)規(guī)定在一幅圖像經(jīng)過(guò)運(yùn)動(dòng)補(bǔ)償或幀內(nèi)預(yù)測(cè)后所剩下差值在4×4塊基礎(chǔ)上需再進(jìn)行變換,才傳輸給解碼器。H.264標(biāo)準(zhǔn)為了抑制漂移的可能性,對(duì)DCT做了改動(dòng),即所有運(yùn)算都是整數(shù)運(yùn)算,而且核心運(yùn)算只涉及到加法和移位算法,因此在反變換過(guò)程中不會(huì)出現(xiàn)誤匹配問(wèn)題。
2.4 抗塊效應(yīng)濾波器
塊效應(yīng)是邊界像素值的量化誤差形成的,為了克服塊效應(yīng),引入了抗塊效應(yīng)濾波器。當(dāng)塊邊界上兩邊差較小則使用濾波器將差別“平滑”掉,若邊界上圖像特征明顯則不使用濾波器。H.264標(biāo)準(zhǔn)去除塊效應(yīng)是基于4×4塊邊界的,因此對(duì)于一個(gè)16×16的亮度宏塊需要對(duì)4條水平邊界和4條垂直邊界濾波。在塊邊界,濾波的強(qiáng)度是和塊的編碼模式、運(yùn)動(dòng)矢量和殘差數(shù)值相關(guān)的。
3 結(jié)語(yǔ)
H.264標(biāo)準(zhǔn)在視頻編碼方面有著很好的壓縮比,它的很多算法都是在現(xiàn)有編碼的基礎(chǔ)上繼承和發(fā)展的,這使得它在兼容性和發(fā)展前景上都有優(yōu)勢(shì)。但同時(shí)H.264標(biāo)準(zhǔn)在殘差編碼和宏塊劃分上有著不可避免的矛盾,今后要在這方面研究,尋找一下兩者的平衡點(diǎn)。
參考文獻(xiàn)
[1]余兆明、黃磊等.圖像編碼標(biāo)準(zhǔn)H.264技術(shù)[M].北京:人民郵電出版社,2006.3.
[2]畢厚杰.新一代視頻壓縮編碼標(biāo)準(zhǔn)-H.264[M].北京:人民郵電出版社,2005.
[3]陳海燕,黃超.H.264視頻解碼器的設(shè)計(jì)與實(shí)現(xiàn)[J].科技創(chuàng)新導(dǎo)報(bào),2010,4:47.