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