H.264視頻編碼
5、幀內(nèi)預(yù)測
在先前的H.26x系列和MPEG-x系列標(biāo)準中,都是采用的幀間預(yù)測的方式。在H.264中,當(dāng)編碼Intra圖像時可用幀內(nèi)預(yù)測。對于每個4×4塊(除了邊緣塊特別處置以外),每
個像素都可用17個最接近的先前已編碼的像素的不同加權(quán)和(有的權(quán)值可為0)來預(yù)測,即此像素所在塊的左上角的17個像素。顯然,這種幀內(nèi)預(yù)測不是在時間上,而是在空間域上進行的預(yù)測編碼算法,可以除去相鄰塊之間的空間冗余度,取得更為有效的壓縮。
如圖4所示,4×4方塊中a、b、...、p為16 個待預(yù)測的像素點,而A、B、...、P是已編碼的像素。如m點的值可以由(J+2K+L+2)/ 4 式來預(yù)測,也可以由(A+B+C+D+I+J+K+L)/ 8 式來預(yù)測,等等。按照所選取的預(yù)測參考的點不同,亮度共有9類不同的模式,但色度的幀內(nèi)預(yù)測只有1類模式。
6、面向IP和無線環(huán)境
H.264 草案中包含了用于差錯消除的工具,便于壓縮視頻在誤碼、丟包多發(fā)環(huán)境中傳輸,如移動信道或IP信道中傳輸?shù)慕研浴?p>為了抵御傳輸差錯,H.264視頻流中的時間同步可以通過采用幀內(nèi)圖像刷新來完成,空間同步由條結(jié)構(gòu)編碼(slice structured coding)來支持。同時為了便于誤碼以后的再同步,在一幅圖像的視頻數(shù)據(jù)中還提供了一定的重同步點。另外,幀內(nèi)宏塊刷新和多參考宏塊允許編碼器在決定宏塊模式的時候不僅可以考慮編碼效率,還可以考慮傳輸信道的特性。
除了利用量化步長的改變來適應(yīng)信道碼率外,在H.264中,還常利用數(shù)據(jù)分割的方法來應(yīng)對信道碼率的變化。從總體上說,數(shù)據(jù)分割的概念就是在編碼器中生成具有不同優(yōu)先級的視頻數(shù)據(jù)以支持網(wǎng)絡(luò)中的服務(wù)質(zhì)量QoS。例如采用基于語法的數(shù)據(jù)分割(syntax-based data partitioning)方法,將每幀數(shù)據(jù)的按其重要性分為幾部分,這樣允許在緩沖區(qū)溢出時丟棄不太重要的信息。還可以采用類似的時間數(shù)據(jù)分割(temporal data partitioning)方法,通過在P幀和B幀中使用多個參考幀來完成。
在無線通信的應(yīng)用中,我們可以通過改變每一幀的量化精度或空間/時間分辨率來支持無線信道的大比特率變化??墒牵诙嗖サ那闆r下,要求編碼器對變化的各種比特率進行響應(yīng)是不可能的。因此,不同于MPEG-4中采用的精細分級編碼FGS(Fine Granular Scalability)的方法(效率比較低),H.264采用流切換的SP幀來代替分級編碼。
四、 H.264的性能比較
TML-8為H.264的測試模式,用它來對H.264的視頻編碼效率進行比較和測試。測試結(jié)果所提供的PSNR已清楚地表明,相對于MPEG-4(ASP:Advanced Simple Profile)和H.263++(HLP:High Latency Profile)的性能,H.264的結(jié)果具有明顯的優(yōu)越性。
H.264的PSNR比MPEG-4(ASP)和H.263++(HLP)明顯要好,在6種速率的對比測試中,H.264的PSNR比MPEG-4(ASP)平均要高2dB,比H.263(HLP)平均要高3dB。6個測試速率及其相關(guān)的條件分別為:32 kbit/s速率、10f/s幀率和QCIF格式;64 kbit/s速率、15f/s幀率和QCIF格式;128kbit/s速率、15f/s幀率和CIF格式;256kbit/s速率、15f/s幀率和QCIF格式;512 kbit/s速率、30f/s幀率和CIF格式;1024 kbit/s速率、30f/s幀率和CIF格式。
評論