IPTV編解碼標(biāo)準(zhǔn)綜述
2 H.264標(biāo)準(zhǔn)簡(jiǎn)介
2003年,ITU-T通過(guò)了一個(gè)新的數(shù)字視頻編解碼標(biāo)準(zhǔn),即H.264標(biāo)準(zhǔn),H.264是由ISO/IEC與ITU-T組成的聯(lián)合視頻組(JVT)制定的新一代視頻壓縮編解碼標(biāo)準(zhǔn)。國(guó)際電信聯(lián)盟將該系統(tǒng)命名為H.264/AVC,國(guó)際標(biāo)準(zhǔn)化組織和國(guó)際電工委員會(huì)將其稱(chēng)為14496-10/MPEG-4 AVC。
H.264標(biāo)準(zhǔn)只有三個(gè)子集:基本子集、主體子集和擴(kuò)展子集?;咀蛹菍?zhuān)為視頻會(huì)議應(yīng)用設(shè)計(jì)的,這套標(biāo)準(zhǔn)幾近完美,能夠提供強(qiáng)大的差錯(cuò)隱消技術(shù)(應(yīng)用該技術(shù),即使在Internet這樣的易錯(cuò)網(wǎng)絡(luò)上也可以得到較好的視頻效果),并且支持低延時(shí)編/解碼技術(shù),使視頻會(huì)議顯得更自然。主體子集和擴(kuò)展子集更適合于電視應(yīng)用(數(shù)字廣播、DVD)和延時(shí)顯得并不很重要的視頻流應(yīng)用。
H.264標(biāo)準(zhǔn)的關(guān)鍵技術(shù)如下:
(1)幀內(nèi)預(yù)測(cè)編碼
幀內(nèi)編碼用來(lái)縮減圖像的空間冗余。為了提高H.264幀內(nèi)編碼的效率,在給定幀中充分利用相鄰宏塊的空間相關(guān)性,相鄰的宏塊通常含有相似的屬性。因此,在對(duì)一給定宏塊編碼時(shí),首先可以根據(jù)周?chē)暮陦K預(yù)測(cè),然后對(duì)預(yù)測(cè)值與實(shí)際值的差值進(jìn)行編碼,這樣,相對(duì)于直接對(duì)該幀編碼而言,可以大大減小碼率。H.264提供6種模式進(jìn)行4×4像素宏塊預(yù)測(cè),包括1種直流預(yù)測(cè)和5種方向預(yù)測(cè),H.264也支持16×16的幀內(nèi)編碼。
(2)幀間預(yù)測(cè)編碼
幀間預(yù)測(cè)編碼利用連續(xù)幀中的時(shí)間冗余來(lái)進(jìn)行運(yùn)動(dòng)估計(jì)和補(bǔ)償。H.264的運(yùn)動(dòng)補(bǔ)償支持以往的視頻編碼標(biāo)準(zhǔn)中的大部分關(guān)鍵特性,而且靈活地添加了更多的功能,除了支持P幀、B幀外,H.264還支持一種新的流間傳送幀——SP幀,碼流中包含SP幀后,能在有類(lèi)似內(nèi)容但有不同碼率的碼流之間快速切換,同時(shí)支持隨機(jī)接入和快速回放模式。
?。?) 整數(shù)變換
在變換方面,H.264使用了基于4×4像素塊的類(lèi)似于DCT的變換,但使用的是以整數(shù)為基礎(chǔ)的空間變換,不存在反變換。與浮點(diǎn)運(yùn)算相比,整數(shù)DCT變換會(huì)引起一些額外的誤差,但因?yàn)镈CT變換后的量化也存在量化誤差,與之相比,整數(shù)DCT變換引起的量化誤差影響并不大。此外,整數(shù)DCT變換還具有減少運(yùn)算量和復(fù)雜度,有利于向定點(diǎn)DSP移植的優(yōu)點(diǎn)。
(4)量化
H.264中可選32種不同的量化步長(zhǎng),這與H.263中有31個(gè)量化步長(zhǎng)很相似,但是在H.264中,步長(zhǎng)是以12.5%的復(fù)合率遞進(jìn)的,而不是一個(gè)固定常數(shù)。在H.264中,變換系數(shù)的讀出方式也有兩種:之字形(Zigzag)掃描和雙掃描,大多數(shù)情況下使用簡(jiǎn)單的之字形掃描;雙掃描僅用于使用較小量化級(jí)的塊內(nèi),有助于提高編碼效率。
(5)熵編碼
視頻編碼處理的最后一步就是熵編碼,H.264標(biāo)準(zhǔn)采用的熵編碼有兩種:一種是基于內(nèi)容的自適應(yīng)變長(zhǎng)編碼(CAVLC)與統(tǒng)一的變長(zhǎng)編碼(UVLC)結(jié)合;另一種是基于內(nèi)容的自適應(yīng)二進(jìn)制算術(shù)編碼(CABAC)。CAVLC與CABAC根據(jù)相臨塊的情況進(jìn)行當(dāng)前塊的編碼,以達(dá)到更好的編碼效率。CABAC比CAVLC壓縮效率高,但要復(fù)雜一些。
3 AVS標(biāo)準(zhǔn)簡(jiǎn)介
AVS是基于我國(guó)創(chuàng)新技術(shù)和部分公開(kāi)技術(shù)的自主標(biāo)準(zhǔn),AVS標(biāo)準(zhǔn)包括系統(tǒng)、視頻、音頻、數(shù)字版權(quán)管理等四個(gè)主要技術(shù)標(biāo)準(zhǔn)和一致性測(cè)試等支撐標(biāo)準(zhǔn)。2002年,在信息產(chǎn)業(yè)部支持下,成立了“數(shù)字音視頻編解碼技術(shù)標(biāo)準(zhǔn)”工作組(簡(jiǎn)稱(chēng)AVS工作組),2003年,國(guó)家發(fā)展和改革委員會(huì)批準(zhǔn)了《數(shù)字音視頻編解碼技術(shù)標(biāo)準(zhǔn)AVS研究開(kāi)發(fā)與測(cè)試驗(yàn)證重大專(zhuān)項(xiàng)》。在國(guó)內(nèi)外上百家企業(yè)和科研單位共同參與下,AVS標(biāo)準(zhǔn)制定工作進(jìn)展順利,其中最重要的視頻編碼標(biāo)準(zhǔn)于2005年通過(guò)國(guó)家廣電總局測(cè)試,2006年1月得到信息產(chǎn)業(yè)部批準(zhǔn),2月國(guó)家標(biāo)準(zhǔn)化管理委員會(huì)正式頒布,3月1日起實(shí)施。
AVS視頻編解碼的核心技術(shù)包括:8x8整數(shù)變換、量化、幀內(nèi)預(yù)測(cè)、1/4精度像素插值、特殊的幀間預(yù)測(cè)運(yùn)動(dòng)補(bǔ)償、二維熵編碼等。
(1)變換量化
AVS的8x8變換與量化可以在16位處理器上無(wú)失配地實(shí)現(xiàn),從而克服了H.264之前所有視頻壓縮編碼國(guó)際標(biāo)準(zhǔn)中采用的8x8 DCT變換存在失配的固有問(wèn)題。而H.264所采用的4x4整數(shù)變換在高分辨率的視頻圖像上的去相關(guān)性能不及8x8的變換有效。AVS采用了64級(jí)量化,可以完全適應(yīng)不同的應(yīng)用和業(yè)務(wù)對(duì)碼率和質(zhì)量的要求。
(2)幀內(nèi)預(yù)測(cè)
AVS的幀內(nèi)預(yù)測(cè)技術(shù)沿襲了H.264幀內(nèi)預(yù)測(cè)的思路,用相鄰塊的像素預(yù)測(cè)當(dāng)前塊,采用代表空間域紋理方向的多種預(yù)測(cè)模式。但AVS亮度和色度幀內(nèi)預(yù)測(cè)都是以8x8塊為單位的。亮度塊采用5種預(yù)測(cè)模式,色度塊采用4種預(yù)測(cè)模式,而這4種模式中又有3種和亮度塊的預(yù)測(cè)模式相同。在編碼質(zhì)量相當(dāng)?shù)那疤嵯?,AVS采用較少的預(yù)測(cè)模式,使方案更加簡(jiǎn)潔、實(shí)現(xiàn)的復(fù)雜度大為降低。
(3)幀間預(yù)測(cè)
幀間運(yùn)動(dòng)補(bǔ)償編碼是混合編碼技術(shù)框架中最重要的部分之一。AVS標(biāo)準(zhǔn)采用了16×16,16×8,8×16和8×8的塊模式進(jìn)行運(yùn)動(dòng)補(bǔ)償,而去除了H.264標(biāo)準(zhǔn)中的8×4,4×8,4×4的塊模式,目的是能更好地刻畫(huà)物體運(yùn)動(dòng),提高運(yùn)動(dòng)搜索的準(zhǔn)確性。實(shí)驗(yàn)表明,對(duì)于高分辨率視頻,AVS選用的塊模式已經(jīng)能足夠精細(xì)地表達(dá)物體的運(yùn)動(dòng)。較少的塊模式,能降低運(yùn)動(dòng)矢量和塊模式傳輸?shù)拈_(kāi)銷(xiāo),從而提高壓縮效率、降低編解碼實(shí)現(xiàn)的復(fù)雜度。
AVS和H.264都采用了1/4像素精度的運(yùn)動(dòng)補(bǔ)償技術(shù)。H.264采用6抽頭濾波器進(jìn)行半像素插值并采用雙線(xiàn)性濾波器進(jìn)行1/4像素插值。而AVS采用了不同的4抽頭濾波器進(jìn)行半像素插值和1/4像素插值,在不降低性能的情況下減少插值所需要的參考像素點(diǎn),減小了數(shù)據(jù)存取帶寬需求。
在傳統(tǒng)的視頻編碼標(biāo)準(zhǔn)中,雙向預(yù)測(cè)幀B幀都只有一個(gè)前向參考幀與一個(gè)后向參考幀,而前向預(yù)測(cè)幀P 幀則只有一個(gè)前向參考幀。AVS中P幀可以利用至多2幀的前向參考幀,而B(niǎo)幀采用前后各一個(gè)參考幀,P幀與B幀(包括后向參考幀)的參考幀數(shù)相同,其參考幀存儲(chǔ)空間與數(shù)據(jù)存取的開(kāi)銷(xiāo)并不比傳統(tǒng)視頻編碼的標(biāo)準(zhǔn)大,而恰恰是充分利用了必須預(yù)留的資源。AVS的B幀的雙向預(yù)測(cè)使用了直接模式(direct mode)、對(duì)稱(chēng)模式(symmetric mode)和跳過(guò)模式(skip mode)。使用對(duì)稱(chēng)模式時(shí),碼流只需要傳送前向運(yùn)動(dòng)矢量,后向運(yùn)動(dòng)矢量可由前向運(yùn)動(dòng)矢量導(dǎo)出,從而節(jié)省后向運(yùn)動(dòng)矢量的編碼開(kāi)銷(xiāo)。對(duì)于直接模式,當(dāng)前塊的前、后向運(yùn)動(dòng)矢量都是由后向參考圖像相應(yīng)位置塊的運(yùn)動(dòng)矢量導(dǎo)出,無(wú)需傳輸運(yùn)動(dòng)矢量,因此也可以節(jié)省運(yùn)動(dòng)矢量的編碼開(kāi)銷(xiāo)。跳過(guò)模式的運(yùn)動(dòng)矢量的導(dǎo)出方法和直接模式的相同,跳過(guò)模式編碼的塊運(yùn)動(dòng)補(bǔ)償?shù)臍埐顬榱?,即該模式下宏塊只需要傳輸模式信號(hào),而不需要傳輸運(yùn)動(dòng)矢量、補(bǔ)償殘差等附加信息。
(4)熵編碼
AVS熵編碼采用自適應(yīng)變長(zhǎng)編碼技術(shù),在AVS熵編碼過(guò)程中,所有的語(yǔ)法元素和殘差數(shù)據(jù)都是以指數(shù)哥倫布碼的形式映射成二進(jìn)制比特流。采用指數(shù)哥倫布碼的優(yōu)勢(shì)在于:一方面,它的硬件復(fù)雜度比較低,可以根據(jù)閉合公式解析碼字,無(wú)需查表;另一方面,它可以根據(jù)編碼元素的概率分布靈活地確定以k階指數(shù)哥倫布碼編碼,如果k選得恰當(dāng),則編碼效率可以逼近信息熵。對(duì)預(yù)測(cè)殘差的塊變換系數(shù),經(jīng)掃描形成(level、run)對(duì)串,level、run不是獨(dú)立事件,而存在著很強(qiáng)的相關(guān)性,在AVS中l(wèi)evel、run采用二維聯(lián)合編碼,并根據(jù)當(dāng)前l(fā)evel、run的不同概率分布趨勢(shì),自適應(yīng)改變指數(shù)哥倫布碼的階數(shù)。
評(píng)論