H.264/AVC中量化的Verilog方法介紹及實(shí)現(xiàn)
0 引 言
H.264作為新一代的視頻壓縮標(biāo)準(zhǔn),是由ITU-T的視頻編碼專家組和ISO/IEC的MPEG(運(yùn)動(dòng)圖像編碼專家組)成立的聯(lián)合視頻小組共同開發(fā)的。它優(yōu)異的壓縮性能也將在數(shù)字電視廣播、視頻實(shí)時(shí)通信、網(wǎng)絡(luò)視頻流媒體傳遞以及多媒體通信等各個(gè)方面發(fā)揮重要的作用。
在核心技術(shù)上,H.264/AVC采用各種有效的技術(shù),如統(tǒng)一的VLC符號(hào)編碼、1/4像素精度的運(yùn)動(dòng)估計(jì)、多模式運(yùn)動(dòng)估計(jì)、基于4×4塊的整數(shù)變換、分層編碼語(yǔ)法等。由于采用了整數(shù)變換,計(jì)算不會(huì)出現(xiàn)浮點(diǎn)數(shù),而且精度高等。這些措施使得H.264算法具有很高的編碼效率。在量化方面,量化步長(zhǎng)采用52個(gè),下面將主要分析量化。在此,提出量化的Verilog實(shí)現(xiàn),將變換后的數(shù)據(jù)作為輸入,以量化后的碼流作為輸出,達(dá)到量化的目的。
1量化的功能介紹
取樣后的脈沖信號(hào)在時(shí)間上是離散的,但在幅值和空間上仍是連續(xù)的,即其可能取的值有無(wú)限多個(gè),這就需要對(duì)它采用四舍五入的方法,將其可能的幅值數(shù)由無(wú)限多個(gè)變?yōu)橛邢迋€(gè)值。這種將信號(hào)幅值由連續(xù)量變成離散量的過(guò)程稱為量化。
在不降低視覺(jué)效果的前提下,量化過(guò)程可減少圖像編碼長(zhǎng)度,減少視覺(jué)恢復(fù)中不必要的信息。H.264采用標(biāo)量量化技術(shù),將每個(gè)圖像樣點(diǎn)編碼映射成較小的數(shù)值。一般標(biāo)量量化器的原理為:
式中:y為輸入樣本點(diǎn)編碼;QP為量化步長(zhǎng);FQ為y的量化值;round()取整函數(shù)(其輸出與輸入實(shí)數(shù)最近的整數(shù))。
2量化的算法介紹
在H.264中,量化步長(zhǎng)Qstep共有52個(gè)值。如表1所示。其中,QP是量化參數(shù),是量化步長(zhǎng)的序號(hào)。當(dāng)QP取最小值0時(shí),代表最精細(xì)的量化;當(dāng)QP取最大值51時(shí),代表最粗糙的量化。QP每增加6,Qstep增加1倍。應(yīng)用時(shí)可以在這個(gè)較寬的量化步長(zhǎng)范圍根據(jù)實(shí)際需要靈活選擇。對(duì)于色度編碼,一般使用與亮度編碼同樣的量化步長(zhǎng)。為了避免在較高量化步長(zhǎng)時(shí)出現(xiàn)顏色量化人工效應(yīng),現(xiàn)在的H.264草案把色度的QP最大值大約限制在亮度QP最大值的80%范圍內(nèi)。最后的H.264草案規(guī)定,亮度QP的最大值是51;色度QP的最大值是39。
在H.264中,量化過(guò)程是對(duì)DCT的結(jié)果進(jìn)行操作:
式中:Yij是矩陣Y中的轉(zhuǎn)換系數(shù);Zij是輸出的量化系數(shù);Qstep是量化步長(zhǎng)。
H.264量化過(guò)程還要同時(shí)完成DCT變換中“Ef”乘法運(yùn)算,它可以表述為:
式中:Wij是矩陣W中的轉(zhuǎn)換系數(shù);PF是矩陣EF中的元素。根據(jù)樣本點(diǎn)在圖像中的位置(i,j)取值如表2所示。
利用量化步長(zhǎng)隨量化參數(shù)每增加6而增加1倍的性質(zhì),可以進(jìn)一步簡(jiǎn)化計(jì)算,即:
式中:floor()為取整函數(shù)(其輸出不大于輸入實(shí)數(shù)的最大整數(shù))。式(3)可以寫為:
這樣,MF可以取整數(shù)。表3給出對(duì)應(yīng)QP值為0~5的MF值。對(duì)于QP值大于5的情況,只是qbits值隨QP值每增加6而增加1,而對(duì)應(yīng)的MF值不變。這樣,量化過(guò)程為整數(shù)運(yùn)算,可以避免使用除法,確保用16位算法來(lái)處理數(shù)據(jù),在沒(méi)有PSNR性能惡化的情況下,實(shí)現(xiàn)最小的運(yùn)算復(fù)雜度如表3所示。
評(píng)論