摘要:文章研究和比較了視頻編碼標(biāo)準(zhǔn)H.263+和H.264中所采用的幀內(nèi)預(yù)測(cè)技術(shù),闡明了H.264中的空域幀內(nèi)預(yù)測(cè)技術(shù)具有比H.263+中的頻域幀內(nèi)預(yù)測(cè)技術(shù)更佳的預(yù)測(cè)效果,能夠更有效地提高壓縮性能。
關(guān)鍵詞:幀內(nèi)預(yù)測(cè);H.263+;H.264
中圖分類號(hào):TP393文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)24-1293-03
Study on Intra Prediction Technologies in Video Coding
XIE Cui-lan
(Department of Information Engineering, Liuzhou Vocational Technical College, Liuzhou 545006, China)
Abstract:This paper provides a detailed analysis and comparison of H.263+and H.264 on intra prediction technologies. Coding performance can be effectively improved in H.264.
Key words: Intra prediction; H.263+;H.264
1 引言
視頻編碼通過最大限度地去除或減少原始視頻中的空間冗余、時(shí)間冗余等各種冗余信息來達(dá)到視頻壓縮的目的。幀內(nèi)編碼的概念在1987年制定H.261時(shí)被引入,后來成為了視頻編碼標(biāo)準(zhǔn)中一項(xiàng)重要技術(shù)。它利用圖像空間相關(guān)性去除空間冗余信息,從而降低編碼碼率。
在早期的視頻編碼標(biāo)準(zhǔn)中,幀內(nèi)編碼以8×8 塊為單位直接對(duì)待編碼宏塊進(jìn)行DCT變換和量化,以去除空間冗余,再通過熵編碼去除編碼冗余信息。H.263+標(biāo)準(zhǔn)的高級(jí)幀內(nèi)編碼模式中首次引入了基于頻域的幀內(nèi)預(yù)測(cè)技術(shù),到了新一代視頻標(biāo)準(zhǔn)H.264則發(fā)展成為基于空域的幀內(nèi)預(yù)測(cè)技術(shù)。本文對(duì)這兩種標(biāo)準(zhǔn)中的幀內(nèi)預(yù)測(cè)技術(shù)進(jìn)行了深入研究,并對(duì)其編碼性能進(jìn)行了分析比較。
2 H.263+中的幀內(nèi)預(yù)測(cè)技術(shù)
H.263+高級(jí)幀內(nèi)編碼模式中引入了基于頻域的幀內(nèi)預(yù)測(cè)技術(shù),在變換域中根據(jù)相鄰塊對(duì)當(dāng)前塊的某些系數(shù)做預(yù)測(cè),能夠進(jìn)一步去除幀內(nèi)冗余信息,提高幀內(nèi)編碼效率。
由于圖像相鄰塊間具有很強(qiáng)的相關(guān)性,在進(jìn)行DCT變換后,這些相鄰塊的頻域系數(shù)(DCT系數(shù))之間的差別通常不大。因此可以利用待編碼塊左方或上方相鄰塊的DCT系數(shù)來預(yù)測(cè)當(dāng)前塊的DCT系數(shù),然后只對(duì)預(yù)測(cè)值和實(shí)際值之間的差值(預(yù)測(cè)殘差)進(jìn)行量化和熵編碼處理。由于變換后,表征圖像主要內(nèi)容的低頻信息集中分布在DCT系數(shù)塊左上角的少量系數(shù)中,因此只針對(duì)直流(DC)系數(shù)和一部分低頻交流(AC)系數(shù)進(jìn)行預(yù)測(cè)。
H.263+高級(jí)幀內(nèi)編碼模式中的幀內(nèi)預(yù)測(cè)技術(shù)提供了3種預(yù)測(cè)模式: DC模式、垂直DC和AC模式、水平DC和AC模式。各預(yù)測(cè)模式描述見表1。
表1 H.263+幀內(nèi)預(yù)測(cè)模式描述

3 H.264中的幀內(nèi)預(yù)測(cè)技術(shù)
在H.263+中,利用頻域內(nèi)相鄰塊DC和AC系數(shù)預(yù)測(cè)待編碼塊的DC和部分AC系數(shù)。由于相鄰塊的頻域系數(shù)之間存在著一定的相關(guān)性,這樣就能去除部分空間冗余信息。但由于只是對(duì)部分AC系數(shù)進(jìn)行預(yù)測(cè),而且沒有考慮到圖像紋理方向的特點(diǎn),因此這種幀內(nèi)預(yù)測(cè)技術(shù)的效果不夠理想。
H.264進(jìn)一步挖掘了圖像空間相關(guān)性,引入了基于空域的幀內(nèi)預(yù)測(cè)技術(shù),即在空域中利用當(dāng)前塊的相鄰像素直接對(duì)每個(gè)系數(shù)做預(yù)測(cè),然后對(duì)預(yù)測(cè)殘差進(jìn)行變換、量化。由于預(yù)測(cè)殘差在變換量化后會(huì)出現(xiàn)更多的零系數(shù),因此極大地提高了幀內(nèi)編碼的效率。
H.264幀內(nèi)編碼的框架如圖1所示[1]。在H.264幀內(nèi)編碼中,首先將原始圖像劃分為宏塊(16×16);再由已編碼重構(gòu)的上方和左方相鄰塊對(duì)當(dāng)前塊進(jìn)行預(yù)測(cè);然后對(duì)預(yù)測(cè)值和原始值的差值進(jìn)行DCT變換、量化和重排序后,與最優(yōu)預(yù)測(cè)模式號(hào)進(jìn)行熵編碼,形成碼流傳送至解碼端。
在H.264幀內(nèi)預(yù)測(cè)中,色度信息和亮度信息是分開被預(yù)測(cè)的。對(duì)于亮度待編碼塊,可以按照4×4 塊方式預(yù)測(cè)(I4MB)或16×16 宏塊方式預(yù)測(cè)(I16MB)。當(dāng)以4×4塊大小預(yù)測(cè)時(shí),有9種模式。以16×16塊大小預(yù)測(cè)時(shí),有4種模式。對(duì)于色度信息,則基于8×8塊進(jìn)行預(yù)測(cè),預(yù)測(cè)模式也有4種。

圖1 H.264幀內(nèi)編碼框架
3.1 I4 亮度預(yù)測(cè)模式
H.263+中的幀內(nèi)預(yù)測(cè)都是基于8×8塊進(jìn)行的。當(dāng)待編碼區(qū)域的細(xì)節(jié)豐富時(shí),基于這種塊分割方式進(jìn)行預(yù)測(cè)會(huì)產(chǎn)生很大的誤差,若將圖像分為更小的塊進(jìn)行預(yù)測(cè),則可提高待編碼塊與參考?jí)K之間的相關(guān)性,使預(yù)測(cè)更準(zhǔn)確。因此H.264提供了基于4×4塊的亮度幀內(nèi)預(yù)測(cè)方式。
在采用I4 亮度預(yù)測(cè)方式時(shí),首先將一個(gè)16×16宏塊按照空間位置劃分成16個(gè)4×4塊,以4×4塊為單位進(jìn)行預(yù)測(cè)。為了預(yù)測(cè)當(dāng)前4×4塊中的像素,需要利用其左方和上方相鄰塊中的13個(gè)已經(jīng)解碼重構(gòu)過的像素作為參考,如圖2所示。其中a-p表示待預(yù)測(cè)的16個(gè)像素點(diǎn),A-L和M表示參考像素點(diǎn)。

圖2 4×4高度塊的參考像素

圖3 4×4高度塊預(yù)測(cè)方向
對(duì)于每個(gè)4×4塊,有9種預(yù)測(cè)模式,其中模式0、1、3、4、5、6、7、8為8種方向預(yù)測(cè)模式,如圖3所示,模式2是直流(DC)模式。各預(yù)測(cè)模式的描述見表2。
編碼時(shí)選擇9種預(yù)測(cè)模式中效果最好的一個(gè)做為最優(yōu)預(yù)測(cè)模式,以該模式對(duì)當(dāng)前塊進(jìn)行預(yù)測(cè)編碼。
表2 I4 亮度預(yù)測(cè)模式描述

3.2 I16 亮度預(yù)測(cè)
采用4×4塊預(yù)測(cè)方式時(shí),整個(gè)宏塊共有16個(gè)最優(yōu)預(yù)測(cè)模式號(hào)需要傳送至解碼端。當(dāng)待編碼宏塊比較平滑時(shí),這16個(gè)最優(yōu)預(yù)測(cè)模式號(hào)大部分是相同的,導(dǎo)致會(huì)產(chǎn)生大量的冗余比特。因此H.264還提供了I16 亮度預(yù)測(cè)方式,直接對(duì)整個(gè)宏塊進(jìn)行幀內(nèi)預(yù)測(cè),一個(gè)宏塊只需傳送1個(gè)模式號(hào),從而減少冗余比特,同時(shí)可以減少預(yù)測(cè)的計(jì)算量。
與I4 亮度預(yù)測(cè)方式相似, I16 亮度預(yù)測(cè)需要利用待編碼宏塊上方和左方的33個(gè)已解碼重構(gòu)像素做參考像素,一共有四種模式,如圖4所示。模式0、1、2與I4亮度預(yù)測(cè)方式的預(yù)測(cè)模式相似,模式3則綜合考慮了待編碼宏塊上方、左方參考像素的亮度變化趨勢(shì)。當(dāng)待編碼區(qū)亮度值呈整體平滑變化時(shí),采用模式3效果會(huì)很好。各預(yù)測(cè)模式描述見表3[2]。

圖4 16×16高度塊的預(yù)測(cè)模式
3.3 I8 色度預(yù)測(cè)
由于人類視覺系統(tǒng)對(duì)色度變化的敏感度不如對(duì)亮度變化的敏感度那么強(qiáng)烈,因此可以采用較粗略的方式預(yù)測(cè)色度信息。H.264對(duì)色度幀內(nèi)預(yù)測(cè)采用了基于8 8色度宏塊、U和V兩種色度成分統(tǒng)一預(yù)測(cè)的方式。
表3 I16亮度預(yù)測(cè)模式

I8色度預(yù)測(cè)中,為了預(yù)測(cè)當(dāng)前8 8色度塊,需要用到待編碼色度宏塊上方、左方的17個(gè)已重構(gòu)的像素做參考像素。與I16 亮度預(yù)測(cè)相似,也有四種預(yù)測(cè)模式,只是模式編號(hào)不同。模式0為垂直預(yù)測(cè)模式,模式1為水平預(yù)測(cè)模式, 模式2為DC預(yù)測(cè)模式, 模式3為平面預(yù)測(cè)模式。
4 幀內(nèi)預(yù)測(cè)技術(shù)分析比較
1)塊劃分方式上的區(qū)別:H.263+幀內(nèi)預(yù)測(cè)只支持8×8這一種分塊方式;H.264幀內(nèi)預(yù)測(cè)則提供了4×4塊、16×16宏塊的分塊方式,使預(yù)測(cè)更靈活準(zhǔn)確:4 4塊用于圖像細(xì)節(jié)部分的預(yù)測(cè),可以提高預(yù)測(cè)精度;16×16 塊用于預(yù)測(cè)平坦的圖像區(qū)域,能夠在保證幀內(nèi)預(yù)測(cè)精度的同時(shí)降低運(yùn)算復(fù)雜度和碼率。
2)預(yù)測(cè)模式上的區(qū)別:H.263+中的幀內(nèi)預(yù)測(cè)只是對(duì)DCT變換后的DC系數(shù)和部分AC系數(shù)進(jìn)行了預(yù)測(cè),沒有預(yù)測(cè)所有變換系數(shù),這種預(yù)測(cè)是部分的、不完全的。因此,對(duì)一些細(xì)節(jié)豐富的圖像,H.263+幀內(nèi)預(yù)測(cè)的預(yù)測(cè)誤差較大。
H.264充分考慮了幀內(nèi)像素的統(tǒng)計(jì)分布規(guī)律,詳細(xì)設(shè)定了多種方向的預(yù)測(cè)模式,能夠更好地匹配圖像像素分布的真實(shí)情況,減少預(yù)測(cè)誤差。對(duì)于不同類型的圖像,此種幀內(nèi)預(yù)測(cè)方法都能有效地逼近真實(shí)值,保證對(duì)不同紋理方向圖像都有較高的預(yù)測(cè)精度。
3)編碼性能上的比較:H.263+所采用的頻域幀內(nèi)預(yù)測(cè)技術(shù)能夠在一定程度上降低I幀所占用的比特?cái)?shù),在信嗓比相同的情況下,可以節(jié)省20%左右的碼率[3]。另外H.263+算法簡(jiǎn)單,易于硬件實(shí)現(xiàn);由于支持的預(yù)測(cè)模式不多,運(yùn)算量小。
H.264在采用更先進(jìn)的空域幀內(nèi)預(yù)測(cè)技術(shù)后,與H.263+高級(jí)幀內(nèi)編碼模式中DCT域的幀內(nèi)預(yù)測(cè)相比,其PSNR值平均提高了4.37dB[4]。在相同的重建圖像質(zhì)量下,H.264比H.263+減小了50%碼率[5],其中幀內(nèi)預(yù)測(cè)技術(shù)對(duì)編碼器性能的提高起到了重要作用。但H.264為了獲得最佳壓縮效果而采用了盡可能多的預(yù)測(cè)模式,導(dǎo)致幀內(nèi)編碼運(yùn)算量大幅度增加。H.264的幀內(nèi)編碼運(yùn)算量是H.263+的數(shù)倍。
5 結(jié)束語
新一代視頻編碼標(biāo)準(zhǔn)H.264因其卓越的編碼性能必將在數(shù)字視頻的通信或存儲(chǔ)領(lǐng)域得到越來越廣泛的應(yīng)用,其發(fā)展?jié)摿Σ豢上蘖?。相?duì)于H.263+的頻域幀內(nèi)預(yù)測(cè)技術(shù),H.264所采用的空域幀內(nèi)預(yù)測(cè)技術(shù)更加有效地降低了碼率,對(duì)編碼器性能的提高起到了重要作用,但運(yùn)算量也大幅度增加,不利于實(shí)時(shí)應(yīng)用。因此,研究在保證編碼效率前提下進(jìn)一步提高運(yùn)算效率的幀內(nèi)預(yù)測(cè)快速算法,就具有十分重要的應(yīng)用意義。這是當(dāng)前的研究熱點(diǎn),也是本人今后的研究方向。
參考文獻(xiàn):
[1] 高永生.H.264標(biāo)準(zhǔn)中幀內(nèi)編碼技術(shù)研究[D].上海:上海復(fù)旦大學(xué),2006.
[2] 畢厚杰.新一代視頻壓縮編碼標(biāo)準(zhǔn)一H.264/AVC[M].北京:人民郵電出版社,2005.
[3] 倪偉,郭寶龍,王勇.H.26L新的幀內(nèi)預(yù)測(cè)技術(shù)研究[J].計(jì)算機(jī)工程與應(yīng)用,2004,(8):42-45.
[4] 楊黎波,唐慧明,徐華根.H.264快速幀內(nèi)預(yù)測(cè)算法[J].浙江大學(xué)學(xué)報(bào)(理學(xué)版),2006,33(2):156-160.
[5] 劉曉峰.H.264/AVC編碼器幀內(nèi)預(yù)測(cè)算法優(yōu)化及DSP實(shí)現(xiàn)[D].上海:上海交通大學(xué),2005.