果冻传媒高清在线播放_黑人巨茎大战椎名由奈_女人毛片视频_高中生喷水喷浆 - 成人国产精品

歡迎來到通信人在線![用戶登錄] [免費(fèi)注冊]

H.263視頻圖像編碼技術(shù)

瀏覽:3759  來源:通信人在線  日期:2007-06-14
 

1995年,ITU-T總結(jié)了當(dāng)時(shí)國際上視頻圖像編碼的新進(jìn)展,針對低比特率視頻應(yīng)用制定了H.263標(biāo)準(zhǔn),該標(biāo)準(zhǔn)被公認(rèn)為是以像素為基礎(chǔ)的第一代混合編碼技術(shù)方案所能達(dá)到的最佳結(jié)果。

首先,H.263標(biāo)準(zhǔn)是一個(gè)開放的標(biāo)準(zhǔn),只規(guī)定了編碼后的碼流格式,對編碼過程中所采用的算法(如運(yùn)動矢量的估計(jì)、碼流控制、差錯(cuò)控制、圖像的后處理等)沒有進(jìn)行限制,因此可以讓標(biāo)準(zhǔn)使用者有更多的余地進(jìn)一步從理論上對算法、編碼效果等進(jìn)行分析,從而出現(xiàn)了許多運(yùn)動估計(jì)新算法、碼率控制策略、傳輸差錯(cuò)控制策略、編碼新技術(shù)(如小波壓縮技術(shù)和模型基編碼等),這些新的研究成果對視頻質(zhì)量的提高有著重要的意義。

其次,H.263標(biāo)準(zhǔn)的實(shí)現(xiàn),使得在DDNISDNPSTN等通信網(wǎng)絡(luò)進(jìn)行視頻通信實(shí)際應(yīng)用成為可能,其圖像質(zhì)量比H.261有許多改善。因此,視頻編碼標(biāo)準(zhǔn)H.263被廣泛應(yīng)用在會議電視、可視電話、遠(yuǎn)程視頻監(jiān)控等眾多領(lǐng)域。設(shè)備制造廠商、運(yùn)營商紛紛投入人力、財(cái)力進(jìn)行與視頻編碼有關(guān)產(chǎn)品的設(shè)計(jì)與生產(chǎn)。

第三,帶動了很多芯片制造廠商設(shè)計(jì)基于多媒體通信、存儲的通用或?qū)S眯酒员銘?yīng)用者更加方便對視頻信號進(jìn)行處理。

第四,視頻編碼國際標(biāo)準(zhǔn)H.263仍然采用類似于H.261的混合編碼器,尤其是在信源編碼器中,DCT、量化以及對量化系數(shù)的“Zig-Zag”字形掃描和二維VLC等處理與H.261建議一致的,但為了適應(yīng)極低碼率的傳輸要求,去掉了信道編碼部分,并在許多方面作了改進(jìn),增加了非限制的運(yùn)動矢量模式、基于語法的算術(shù)編碼、高級預(yù)測模式、PB-幀模式這四個(gè)高級選項(xiàng)。這些改進(jìn)的措施和高級選項(xiàng)的使用進(jìn)一步提高了編碼效率,在低碼率下獲得了較好的圖像質(zhì)量。

當(dāng)H.263標(biāo)準(zhǔn)不采用任何高級選項(xiàng)時(shí),稱為H.263的基本編碼模式(Baseline),或稱為H.263的缺省編碼模式。其信源編碼器仍然采用可減少時(shí)間冗余的幀間預(yù)測和可減少空間冗余的DCT變換編碼相結(jié)合的混合編碼方法。H.263解碼器具有半像素精度的運(yùn)動補(bǔ)償能力,并允許編碼器采用這種運(yùn)動補(bǔ)償方法構(gòu)造重建幀,而不是H.261標(biāo)準(zhǔn)中采用的全像素精度和環(huán)路濾波器。H.263信源編碼器結(jié)構(gòu)除了去掉環(huán)路濾波器模塊之外,其他與H.261基本相同。但在以下幾個(gè)方面作了改進(jìn),以便適應(yīng)極低碼率的傳輸要求。

1、更加豐富的圖像格式

H.263編碼器除了支持H.261中的圖像格式CIFQCIF之外,還增加了另外三種圖像格式sub-QCIF4CIF16CIF,從而使H.263具有更廣的應(yīng)用范圍,如表1所示。對每種圖像,采用YUV 420的圖像格式。色差采樣點(diǎn)的位置與H.261相同,除了sub-QCIF格式之外,取樣像素的縱橫比和圖像格式的縱橫比一致,均為43

1H.263圖像格式 

H.263解碼器要求能對sub-QCIFQCIF格式的圖像碼流進(jìn)行解碼,但是不強(qiáng)求能對CIF4CIF16CIF格式的圖像碼流進(jìn)行解碼。同樣H. 263編碼器應(yīng)該能夠?qū)?/SPAN>sub-QCIFQCIF中任一種格式的圖像進(jìn)行編碼,也不要求同時(shí)支持這兩種格式,一些編碼器也能對CIF4CIF16CIF格式的圖像進(jìn)行編碼。在視頻通信中,編解碼器以何種格式圖像進(jìn)行通信,是通過外部手段如H.245標(biāo)準(zhǔn)中的編碼器、解碼器的能力協(xié)商來決定的。如果希望能對所有格式的圖像進(jìn)行編解碼,需要通過H.245標(biāo)準(zhǔn)的終端描述通知H.263編解碼器要具有這種能力。

2、半像素精度的運(yùn)動估計(jì)

H.261中,宏塊運(yùn)動的估值精度為整數(shù)像素,范圍為[-16+15],而在H.263中采用半像素精度,運(yùn)動矢量的水平分量和垂直分量都有整型和半整型值。在H.263基本編碼模式中,這些運(yùn)動矢量的水平和垂直分量被限制在[-16.0+15.5]之間。在采用無限制運(yùn)動矢量這一高級預(yù)測模式下,則被限制在[-31.5+31.5]之間。

更高精度的運(yùn)動矢量,使得在P幀和PB幀圖像中對宏塊或塊的預(yù)測更加準(zhǔn)確,因而編碼宏塊和預(yù)測宏塊的預(yù)測誤差更小,編碼所需的碼字也更少,在視頻碼流中節(jié)省更多的比特?cái)?shù),或者說在相同的傳輸帶寬下,采用半像素精度預(yù)測可以得到更好的圖像質(zhì)量。

3、雙線性內(nèi)插得到半像素預(yù)測

H.263中采用雙線性內(nèi)插來得到運(yùn)動估計(jì)用的半精度像素的預(yù)測值,如圖1所示。圖1中是為了求得半像素精度的運(yùn)動矢量而采用雙線性內(nèi)插得到的圖像,黑方塊點(diǎn)所在位置ABCD為整像素的位置,也表示所在點(diǎn)的亮度值。小圓圈的位置是內(nèi)插出來的半像素位置,半像素位置abcd四點(diǎn)的亮度值分別為

aA

b=(A+B+1/2

c=(A+C+1/2

d=(A+B+C+D+2/4

按照這種方法,可以推理到其他半像素點(diǎn)位置的亮度值。

1雙線性內(nèi)插得到半像素點(diǎn)預(yù)測

用計(jì)算機(jī)處理時(shí),用來表示圖像陣列所用的坐標(biāo)最小單位是1,因而表示坐標(biāo)的指針變量或數(shù)組變量的下標(biāo)其最小間隔為1。所以內(nèi)插半像素精度的圖像實(shí)際上是把原來圖像擴(kuò)大成2倍,坐標(biāo)值是2的整數(shù)倍的位置點(diǎn)其亮度值與原來圖像相同,而不在2整數(shù)倍位置處的點(diǎn)其亮度值采用上述雙線性內(nèi)插求得,但最后一行和最后一列的像素點(diǎn)不能直接用上式求得。在要求不嚴(yán)格的情況下,可以采用前一行或前一列的值來代替,如圖2所示。如要求更加精確的半像素位置亮度值的圖像,可以在原圖像擴(kuò)邊的基礎(chǔ)上,放大內(nèi)插位于邊緣的半像素位置處的亮度值。

2在計(jì)算機(jī)中處理半像素精度示意圖 

4、基于塊的運(yùn)動估計(jì)

H.261建議中只對16×16像素的宏塊進(jìn)行運(yùn)動估計(jì),一個(gè)宏塊對應(yīng)一個(gè)運(yùn)動矢量。而H.263標(biāo)準(zhǔn)中不僅可以用16×16像素的宏塊為單位進(jìn)行運(yùn)動估計(jì),還可以根據(jù)需要對8×8像素的子塊進(jìn)行運(yùn)動估計(jì),即每個(gè)宏塊可使用4個(gè)運(yùn)動矢量。運(yùn)動估計(jì)需要兩幀圖像,一幀是當(dāng)前正在編碼的圖像,另一幀是在此時(shí)刻前的輸入圖像(如求后向運(yùn)動矢量,則是此時(shí)刻后的原始輸入圖像),被用來搜索最匹配宏塊位置的。為了方便說明,分別用第k幀和第k-1幀來表示。在第k-1幀圖像中,如果與第k幀編碼宏塊A最匹配的宏塊位置B位于其右方或下方,則運(yùn)動矢量的水平分量和垂直分量為正值,否則為負(fù)值。如圖3所示是運(yùn)動矢量的水平和垂直分量都為正值的情況所示。 

從解碼端運(yùn)動補(bǔ)償預(yù)測的角度來看,當(dāng)接收到的運(yùn)動矢量水平分量和垂直分量為正時(shí),就表明應(yīng)該從重建參考幀圖像中在空間上更右或更下方的點(diǎn)來補(bǔ)償。

3運(yùn)動矢量為正值時(shí)最匹配宏塊的位置

5、更加有效的運(yùn)動矢且編碼

H.261中,對運(yùn)動矢量采用一維前值預(yù)測與VLC相結(jié)合的方法編碼,在H.263中則采用更為復(fù)雜的二維預(yù)測與VLC相結(jié)合的編碼。

對運(yùn)動矢量進(jìn)行編碼時(shí),不是直接對矢量的水平分量和垂直分量值進(jìn)行編碼,而是對當(dāng)前宏塊的差分運(yùn)動矢量即當(dāng)前宏塊的運(yùn)動矢量與預(yù)測運(yùn)動矢量的差值編碼。當(dāng)宏塊只有一個(gè)運(yùn)動矢量時(shí)(H.263基本模式),預(yù)測運(yùn)動矢量采用編碼宏塊周圍的三個(gè)宏塊運(yùn)動矢量的中值,如圖4所示。從圖4可以看出,當(dāng)前編碼宏塊位于圖4(a)情況下,其預(yù)測運(yùn)動矢量就是左邊宏塊運(yùn)動矢量MV1、正上方宏塊運(yùn)動矢量MV2和右上方宏塊運(yùn)動矢量MV3的中值。其余圖4(b)、(c)、(d)三種情況,預(yù)測運(yùn)動矢量也同樣是MV1MV2MV3的中值。

PMVMedianMV1MV2MV3

這里MV1MV2MV3代表運(yùn)動矢量的水平或豎直分量。如果當(dāng)前編碼宏塊在GOB或圖像的邊界時(shí),其周圍三個(gè)宏塊的運(yùn)動矢量分別按以下方法處理。

上面宏塊在GOB或圖像的外部,則設(shè)MV2MV3MV1,如圖4(b)所示;

左邊宏塊在圖像的外部,則設(shè)MV1=0,如圖4c)所示;

右上宏塊在圖像的外部,則設(shè)MV3=0,如圖4(d)所示。

4宏塊的預(yù)測運(yùn)動矢量

求得預(yù)測運(yùn)動矢量之后,就需要對當(dāng)前編碼宏塊運(yùn)動矢量與預(yù)測運(yùn)動矢量求差值,即對差分運(yùn)動矢量進(jìn)行編碼。對于每個(gè)宏塊有多個(gè)運(yùn)動矢量的情況下,也同樣需要對差分運(yùn)動矢量編碼。

6、三維VLC編碼

為了提高編碼效率,H.263標(biāo)準(zhǔn)對宏塊數(shù)據(jù)、宏塊類型、運(yùn)動矢量預(yù)測差值、子塊編碼模式以及DCT變換系數(shù)都使用VLC編碼,并且規(guī)定了編碼碼字。編碼事件用三個(gè)符號(LAST、RUN、LEVEL)的組合構(gòu)成。LAST= 0,表示該塊中還有更多的非零系數(shù)要編碼,LAST=1表示這是塊中的最后一個(gè)要編碼的非零系數(shù)。RUN表示要編碼的系數(shù)之前連續(xù)0的個(gè)數(shù),LEVEL表示編碼系數(shù)的非零值。對應(yīng)于這樣一個(gè)三維組合的事件就用一個(gè)給定的碼字來表示,如表2所示。

23D VLC編碼碼字

© 2004-2025 通信人在線 版權(quán)所有 備案號:粵ICP備06113876號 網(wǎng)站技術(shù):做網(wǎng)站