專利名稱:一種用于視頻圖像編碼過程中的量化方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)字視頻編碼壓縮的方法,尤其是涉及一種用于視頻圖像編碼過程中的量化方法。
背景技術(shù):
視頻信息的表示形式是視頻信號,這種信號通過網(wǎng)絡(luò)傳送至終端用戶,并在屏幕上顯示。視頻傳輸與通信在影視娛樂、遠(yuǎn)程教育、醫(yī)療、監(jiān)控等領(lǐng)域有廣泛的應(yīng)用。一般而言,視頻信號信息量大,傳輸網(wǎng)絡(luò)所需要的帶寬相對較寬。例如,一路可視電話或會議電視信號,由于其活動內(nèi)容較少,所需帶寬相對較窄,但要達到良好質(zhì)量,不經(jīng)壓縮則每秒約需若干兆比特(Mbit/s),而壓縮后則只需384kbit/s;又如,一路高清晰度電視信號,由于其信息量相當(dāng)巨大,如不壓縮則需要1Gbit/s,而利用MPEG-2壓縮后仍需20Mbit/s??梢?,視頻信息雖然具有直觀性、確定性、高效性等優(yōu)越性能,但要傳送包含視頻信息地信號卻需要較高的網(wǎng)絡(luò)帶寬。視頻編碼壓縮技術(shù)的目的就是節(jié)省視頻信號傳送的帶寬和存儲的空間。視頻編碼壓縮技術(shù)有兩個基本要求一是視頻編碼應(yīng)具有足夠高的壓縮比,二是解壓縮后的視頻信號質(zhì)量應(yīng)足夠高。
H.264視頻編碼標(biāo)準(zhǔn)是由ITU和ISO組成的聯(lián)合視頻專家組負(fù)責(zé)制定并于2003年3月正式獲得通過的新一代視頻編碼國際標(biāo)準(zhǔn),其編碼器結(jié)構(gòu)如圖1所示。H.264編碼器所采用的仍然是變換和預(yù)測的混合編碼法。在圖1中,輸入信號幀F(xiàn)n被分割成宏塊,并以此為單位按幀內(nèi)或幀間預(yù)測編碼的方式進行處理。如果采用幀內(nèi)預(yù)測編碼(幀F(xiàn)n作為I幀處理),其預(yù)測值P按所選擇的預(yù)測模式由當(dāng)前幀中已編碼塊的一些像素值進行預(yù)測;如果采用幀間預(yù)測編碼(幀F(xiàn)n作為P幀或B幀處理),則預(yù)測值P由參考圖像F′n-1經(jīng)運動估計與補償后得到。預(yù)測值P和當(dāng)前塊原始值相減后,產(chǎn)生一個殘差塊信號Dn。該殘差塊信號經(jīng)整數(shù)變換、量化處理后產(chǎn)生一組量化后的變換系數(shù)Z,再經(jīng)熵編碼,與解碼所需的一些信息(如預(yù)測模式、量化參數(shù)、運動矢量等)一起組成一個壓縮后的碼流,經(jīng)網(wǎng)絡(luò)自適應(yīng)層供傳輸和存儲用。
H.264標(biāo)準(zhǔn)在編碼性能上有了很大的提高,與以前的H.263及MPEG-4(simpleprofile)相比,在保證相同編碼質(zhì)量的前提下,H.264可以使輸出碼率降低50%;對于網(wǎng)絡(luò),特別是IP和無線網(wǎng)絡(luò)具有良好的親和性。這源于H.264采用了許多新技術(shù),如基于4×4塊整數(shù)變換與量化、RDO、可變宏塊尺寸、多參考幀、CABAC等技術(shù)。然而,H.264壓縮性能的提高是以巨大的編解碼復(fù)雜度為代價的,而編解碼的復(fù)雜度決定了新標(biāo)準(zhǔn)在數(shù)字電視、網(wǎng)絡(luò)電視、無線視頻系統(tǒng)等領(lǐng)域中應(yīng)用的可能性和代價。因此,優(yōu)化編碼算法、降低編解碼復(fù)雜度是學(xué)術(shù)界研究和多媒體行業(yè)研發(fā)的熱點。
與以往的視頻編碼標(biāo)準(zhǔn)所不同,H.264標(biāo)準(zhǔn)采用整數(shù)變換技術(shù)、分級量化的方法以及新的量化表和量化公式。在量化過程中,沒有除法和浮點數(shù)運算,同時量化過程與整數(shù)變換的系數(shù)調(diào)整整合在一起,從而減少了乘法操作。整數(shù)變換的核心變換部分只需采用加法和移位運算,結(jié)構(gòu)非常適合于集成電路設(shè)計,但在量化過程中仍存在乘法操作,需消耗大量的硬件資源;另一方面,大延時的量化電路將影響核心變換的性能。因此,有效的量化技術(shù)是降低H.264編碼器計算復(fù)雜度、減少編碼器所需的集成電路資源、降低硬件電路系統(tǒng)功耗的重要途徑,這對移動視頻終端等電池能量有限的環(huán)境尤為重要。
H.264的整數(shù)變換與量化處理的實現(xiàn)過程如下
1、對于輸入的4×4殘差塊信號Dn,進行整數(shù)變換的核心變換,得到變換輸出信號W
2、對變換輸出信號W進行系數(shù)調(diào)整與量化處理,得到量化輸出信號Z
其中,round()為取整函數(shù),其輸出為與輸入實數(shù)最接近的整數(shù);Wij是W=CDnCT的變換系數(shù);MFij[Qm]如表1所示為量化器乘法因子,表中的(i,j)代表了4×4矩陣中的數(shù)據(jù)位置Qm=QP mod 6,mod為模運算,QP是量化參數(shù),為0~51之間的整數(shù),決定了編碼器的編碼壓縮率及圖像精度;qbits=15+floor(QP/6),floor()為取整函數(shù),其輸出值為不大于輸入實數(shù)的最大整數(shù);f=2qbits/k,為補償系數(shù),其作用是改善恢復(fù)圖像的視覺效果,對于幀內(nèi)預(yù)測圖像塊k=3,對于幀間預(yù)測圖像塊k=6。
該步驟可進一步用移位運算來實現(xiàn),表示為|Zij|=(|Wij|·MFij[Qm]+f)>>qbits和sign(Zij)=sign(Wij),式中|Zij|代表Zij的幅值,“>>”為右移運算,sign()為符號函數(shù)。
在整數(shù)變換與量化處理的實現(xiàn)過程中,雖然整數(shù)變換的核心部分W=CDnCT是低復(fù)雜度的加法和移位運算,很適合于集成電路設(shè)計與一般硬件實現(xiàn),但量化部分的乘法運算會消耗大量的硬件資源或?qū)S贸朔ㄆ髻Y源,同時也犧牲核心變換的性能,從而局限了整數(shù)變換的應(yīng)用;另一方面,乘法運算增加了軟件實現(xiàn)整數(shù)變換和量化處理的時耗。
表1H.264的乘法因子MFij[Qm]
由H.264的量化公式|Zij|=(|Wij|·MFij[Qm]+f)>>qbits可知,在H.264整數(shù)變換與量化過程中,計算復(fù)雜度最高的是|Wij|·MFij[Qm]乘法運算,同時,它也是資源消耗最多的運算。從軟件算法實現(xiàn)上講,由于CPU執(zhí)行1條乘法指令需128~154個時鐘周期,而執(zhí)行1條加法或移位指令分別只需3個和2個時鐘周期,因此在一定條件下以加法和移位運算代替乘法運算可大大節(jié)省指令執(zhí)行時間;在集成電路設(shè)計中,硬件實現(xiàn)乘法運算一般需要使用乘法器來進行,或者將乘法運算轉(zhuǎn)化為加法和移位運算后,用若干個加法器來替代原來的乘法器。使用乘法器時,因?qū)崿F(xiàn)乘法需要消耗大量資源,所以可考慮選擇后一種方案。而對于上述量化處理過程中的乘法因子MFij[Qm],由于其本身具有數(shù)值大、位寬大的數(shù)據(jù)特點,需要較多的加(減)法和移位運算以代替原有的乘法操作。例如當(dāng)MFij
=13107時,轉(zhuǎn)化為二進制數(shù)為11001100110011B,如果簡單地由加法和移位運算替換原來的乘法操作,則需要移位和加法運算各7次,在電路設(shè)計中,就需要7個加法器。而一般乘法器消耗面積為相同比特輸入的加法器的8~10倍左右,所以簡單地由加法和移位運算代替該乘法運算的方案復(fù)雜度減少十分有限。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種用于H.264視頻編碼的量化方法,簡化H.264原量化處理過程,用較少數(shù)量的加法器替代乘法器,以少量簡單的加法和移位操作取代量化過程中計算復(fù)雜度高的乘法操作,以率失真性能的微小下降為代價,換取量化過程復(fù)雜度和功耗的較大下降,并使整數(shù)變換與量化模塊整體流水線速度得到提升。
本發(fā)明解決上述技術(shù)問題所采用的技術(shù)方案為一種用于視頻圖像編碼過程中的量化方法,其處理步驟如下
1)對于輸入的4×4殘差塊信號Dn,進行整數(shù)變換的核心變換,得到變換輸出信號W
2)對變換輸出信號W進行整數(shù)變換的系數(shù)調(diào)整與量化處理,得到量化輸出信號Z
|Zij|=(|Wij|·MFij[Qm]+f)>>qbits和sign(Zij)=sign(Wij)
其中,|Zij|為量化輸出信號Zij的幅值,sign(Zij)則代表Zij的符號,Wij是W=CDnCT的變換系數(shù),MFij[Qm]為量化器乘法因子,qbits=15+floor(QP/6),f=2qbits/k,為改善恢復(fù)圖像視覺效果的補償系數(shù),在對變換輸出信號W進行整數(shù)變換的系數(shù)調(diào)整與量化處理過程中,首先變換量化器乘法因子,使MFij[Qm]=MF′ij[Qm]·2n,n為1到13之間的整數(shù),根據(jù)四舍五入取整數(shù)的原則確定MF′ij[Qm]的值,然后用加法器對變換輸出信號W進行系數(shù)調(diào)整與量化處理,得到量化輸出信號Z
|Zij|=(|Wij|·MF′ij[Qm]+f′)>>qbits′和sign(Zij)=sign(Wij)
其中,qbits′=15-n+floor(QP/6),f′=2qbitss′/k。
本發(fā)明解決上述技術(shù)問題所采用的最佳技術(shù)方案為所述的n=9,對于每個量化單元,所述的加法器個數(shù)不多于3個,所述的加法器的數(shù)據(jù)位寬不多于19位。
與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點在于通過對量化器乘法因子MFij[Qm]及相應(yīng)的qbits和f的改變,從而可以用較少數(shù)量的加法器替代乘法器來實現(xiàn)整數(shù)變換的核心變換系數(shù)Wij和新乘法因子MF′ij[Qm]之間的乘法運算,從而降低系數(shù)調(diào)整與量化處理過程的計算復(fù)雜度;與此同時,隨著MFij[Qm]及相應(yīng)的qbits和f的位寬的降低,硬件電路實現(xiàn)時所需的資源及功耗消耗也相應(yīng)降低。
本發(fā)明為優(yōu)化硬件資源和減少CPU執(zhí)行時間,以率失真性能的微小下降為代價,換取量化過程復(fù)雜度和功耗的明顯下降,從高層次進行低復(fù)雜度和低功耗的集成電路優(yōu)化設(shè)計,同時使得整數(shù)變換與量化模塊整體流水線速度得到提升;與原H.264量化方法相比,軟件算法實現(xiàn)時,每個量化單元可以節(jié)省92%以上的運算時間;硬件電路實現(xiàn)時,在相同CMOS工藝下,各量化單元平均節(jié)省資源面積75.2%,功耗平均節(jié)省76.3%;對多種不同圖像紋理特征和運動復(fù)雜度的標(biāo)準(zhǔn)測試序列的實驗表明,與原H.264標(biāo)準(zhǔn)相比,相同碼率下本發(fā)明方法的絕對平均率失真誤差小于0.0315dB。
圖1為H.264編碼器結(jié)構(gòu);
圖2為原H.264量化單元電路結(jié)構(gòu)圖(使用通用乘法器實現(xiàn)位置(0,0)、(2,0)、(2,2)、(0,2)的量化過程);
圖3為本發(fā)明的量化單元電路結(jié)構(gòu)圖(使用通用乘法器實現(xiàn)位置(0,0)、(2,0)、(2,2)、(0,2)的量化過程);
圖4為原H.264量化單元電路結(jié)構(gòu)圖(使用加法器代替乘法器);
圖5為本發(fā)明的量化單元電路結(jié)構(gòu)圖(使用加法器代替乘法器);
圖6為本發(fā)明方法與原H.264方法的率失真性能比較。
具體實施例方式
以下結(jié)合附圖實施例對本發(fā)明作進一步詳細(xì)描述。
一種用于視頻圖像編碼過程中的量化方法,其處理步驟如下
1)對于輸入的4×4殘差塊信號Dn,進行整數(shù)變換的核心變換,得到變換輸出信號W
2)對變換輸出信號W進行整數(shù)變換的系數(shù)調(diào)整與量化處理,得到量化輸出信號Z
|Zij|=(|Wij|·MFij[Qm]+f)>>qbits和sign(Zij)=sign(Wij)
其中,Wij是W=CDnCT的變換系數(shù),MFij[Qm]為量化器乘法因子,qbits=15+floor(QP/6),f=2qbits/k,為改善恢復(fù)圖像視覺效果的補償系數(shù)。其特征在于在對變換輸出信號W進行整數(shù)變換的系數(shù)調(diào)整與量化處理過程中,首先變換量化器乘法因子,使MFij[Qm]=MF′ij[Qm]·29,根據(jù)四舍五入取整數(shù)的原則確定MF′ij[Qm]的值,然后對于每個量化單元用數(shù)量不多于3個、位寬不多于19位的加法器對變換輸出信號W進行系數(shù)調(diào)整與量化處理,得到量化輸出信號Z
|Zij|=(|Wij|·MF′ij[Qm]+f′)>>qbits′和sign(Zij)=sign(Wij)
其中,qbits′=6+floor(QP/6),f′=2qbibits′/k。
由于新量化器乘法因子MF′ij[Qm]、f′和qbits′的數(shù)值小、位寬低,系數(shù)調(diào)整與量化處理過程可采用較少數(shù)量的加法和移位運算來實現(xiàn),徹底避免乘法器的使用。
從有利于將|Wij|·MF′ij[Qm]轉(zhuǎn)化為移位和加法(減法)運算的角度考慮,所選擇的乘法因子可以加1或減1來使所需的移位和加法(減法)運算次數(shù)盡可能的少,以降低計算復(fù)雜度和資源消耗。表2即為本實施例的新乘法因子,定義新參數(shù)相對于原參數(shù)的誤差如表3所示。從表3中可以看出,新參數(shù)與原H.264的對應(yīng)參數(shù)相比,最大誤差不超過6.39%。
表2本發(fā)明的一組
表3
從軟件算法上描述量化過程|Zij|=(|Wij|·MF′ij[Qm]+f′)>>qbits′的實現(xiàn)方法
由于
f′和qbits′的數(shù)據(jù)位寬較小,上述量化過程中的乘法運算可以用少量的加法(減法)和移位運算來代替,從而實現(xiàn)CPU執(zhí)行時間的優(yōu)化。以下為軟件指令的執(zhí)行時鐘周期
乘法128~154個時鐘周期(這里以140進行計算)
加法3個時鐘周期
移位2個時鐘周期
改進前,完成一個4×4塊共16個變換系數(shù)的|Zij|=(|Wij|·MFij[Qm]+f)>>qbits系數(shù)調(diào)整與量化過程需要16次乘法、16次加法和16次移位運算,所需的CPU指令執(zhí)行周期數(shù)為16×(140+3+2)=2320。而以Qm=0為例,采用表2所示的一組新乘法因子對于(0,0)、(2,0)、(2,2)、(0,2)位置的量化單元,其系數(shù)調(diào)整與量化過程為|Zij|=(|Wij|×13+25+floor(QP/6)/k)>>(5+floor(QP/6)),由于13的二進制數(shù)表示為1101B,實現(xiàn)|Wij|×13需2次移位和2次加法,而后|Wij|×13與25+floor(QP/6)/k相加需要1次加法,其和右移5+floor(QP/6)位也需1次移位操作,這樣,這4個位置系數(shù)的量化共需3次加法和3次移位運算;對于(1,1)、(1,3)、(3,1)、(3,3)位置的量化單元,其系數(shù)調(diào)整與量化過程為|Zij|=(|Wij|×5+25+floor(QP/6)/k)>>(5+floor(QP/6)),由于5的二進制數(shù)為101B,實現(xiàn)|Wij|×5需1次移位和1次加法,與前面相似,其后尚需1次加法和1次移位操作,因此這4個位置系數(shù)的量化共需2次加法和2次移位運算;對于其它位置的8個|Wij|系數(shù),其系數(shù)調(diào)整與量化過程為|Zij|=(|Wij|×1+22+floor(QP/6)/k)>>(2+floor(QP/6)),其量化只需要1次加法和1次移位操作即可。因此當(dāng)Qm=0時,本發(fā)明方法僅需要3×4+2×4+1×8=28次移位和3×4+2×4+1×8=28次加法,所需的指令執(zhí)行周期數(shù)為28×2+28×3=140,只相當(dāng)于原H.264量化執(zhí)行時間2320的6.03%。其它量化參數(shù)所對應(yīng)的CPU指令執(zhí)行時間節(jié)省情況如表4所示。表中,移位(或加法)運算次數(shù)的計算公式為(0,0)、(2,0)、(2,2)、(0,2)位置的移位(或加法)次數(shù)×4+(1,1)、(1,3)、(3,1)、(3,3)位置的移位(或加法)次數(shù)×4+其它位置的移位(或加法)次數(shù)×8。由于本發(fā)明方法和原H.264方法的存儲器訪問時間相當(dāng),而且量較小,因此這里只比較算術(shù)運算的消耗時間,而不考慮對寄存器和存儲器的訪問時間。并且改進前后f和f′本身的計算由于可采取預(yù)置查表的方式獲得,因此未計入表4的指令執(zhí)行時間中。表4中的省時百分比=1-改進后指令執(zhí)行時鐘周期/改進前指令執(zhí)行時鐘周期。由表4可見,采用本發(fā)明的量化方法后,軟件指令執(zhí)行時間較原H.264方法節(jié)省了92%以上的運算時間。
表4軟件算法實現(xiàn)時量化器改進前后的指令執(zhí)行時間對比 單位時鐘周期
從硬件電路上描述量化過程|Zij|=(|Wij|·MF′ij[Qm]+f′)>>qbits′的實現(xiàn)方法,其實現(xiàn)方案分為2種其一是采用通用乘法器實現(xiàn)量化過程的方案,其二是進一步利用數(shù)量較少的加法器代替通用乘法器實現(xiàn)量化過程的方案。通過QuartusII 4.1平臺,在Altera公司Stratix系列的EP1S10F484C5芯片上進行上述兩方案的功能仿真;在Synopsys(TYPICAL.DB庫)上進行量化電路的綜合與驗證,并與原H.264量化電路進行資源、功耗等性能的比較。
1)采用通用乘法器實現(xiàn)量化單元電路
對于原H.264量化處理過程|Zij|=(|Wij|·MFij[Qm]+f)>>qbits,可以采用如圖2所示的量化單元電路來實現(xiàn),圖中直接采用通用乘法器實現(xiàn)|Wij|·MFij[Qm]。圖2為(0,0)、(2,0)、(2,2)、(0,2)位置的量化單元電路,其變換輸出信號Wij的位寬為13bit,表示為W[12..0],MFij[Qm]位寬為14bit,表示為MF[13..0],該量化單元電路實際元件消耗總而積=1806(通用加法器)+15581(通用乘法器)+53.22×12(寄存器)=18026。對于(1,1)、(1,3)、(3,1)、(3,3)位置的量化單元電路,Wij的位寬為15bit,MFij[Qm]位寬為13bit,而其它位置的量化單元電路Wij的位寬為14bit,MFij[Qm]位寬為13bit,其量化單元電路結(jié)構(gòu)與圖2結(jié)構(gòu)相同,只是數(shù)據(jù)位寬有所區(qū)別。
對于本發(fā)明的量化處理過程|Zij|=(|Wij|·MF′ij[Qm]+f′)>>qbits′同樣可以采用通用乘法器來實現(xiàn)。先將表2中(0,0)、(2,0)、(2,2)、(0,2)位置,(1,1)、(1,3)、(3,1)、(3,3)位置和其它位置的參數(shù)
分別變換為以25、26和26為分母的等值參數(shù),此時這三類位置上該參數(shù)分子部分的位寬分別減小為4bit、4bit和5bit,而量化器中各個位置上的變換輸出信號Wij的位寬不變。圖3為(0,0)、(2,0)、(2,2)、(0,2)位置的量化單元電路,其結(jié)構(gòu)與圖2相同,但數(shù)據(jù)位寬由圖2的27位下降到17位,實際元件消耗總面積=1041(通用加法器)+4899.79(通用乘法器)+53.22×12(寄存器)=6580。
當(dāng)采用通用乘法器實現(xiàn)量化過程時,各量化單元通過VHDL描述,在Synopsys(TYPICAL.DB庫)綜合編譯后,本發(fā)明方法和原H.264量化方法所需資源和功耗消耗情況對比分別如表5和表6所示。表5中量化單元資源面積為元件消耗總面積和內(nèi)部連接消耗面積二部分之和,資源節(jié)省百分比=1-改進后面積/改進前面積;表6中功耗節(jié)省百分比=1-改進后功耗/改進前功耗。由表5和表6可見,采用通用乘法器實現(xiàn)量化單元電路時,由于MF′ij[Qm]比特位寬的大幅下降,本發(fā)明的量化電路與原H.264方法相比其資源消耗面積和功耗都大幅下降。
表5改進前后量化單元資源消耗情況對比(采用通用乘法器實現(xiàn)量化電路)
表6改進前后量化單元動態(tài)功耗情況對比(采用通用乘法器實現(xiàn)量化電路)
2)采用加法器實現(xiàn)量化單元電路
這里,首先以(0,0)、(2,0)、(2,2)、(0,2)位置的MFij
為例,說明改進前后采用加法器實現(xiàn)量化電路的性能對比。改進前,該量化單元(MF=13107,qbits=15+floor(QP/6),f=2qbits/3或f=2qbits/6)具有13bit輸入信號W[12..0]和12bit輸出信號Z[11:0],其量化單元結(jié)構(gòu)如圖4所示。其中,|Wij|·MFij[Qm]可右移15+floor(QP/6)位中的floor(QP/6)放到后續(xù)選擇輸出,例如當(dāng)floor(QP/6)=2時,選擇Z[11:2]輸出。改進前的量化電路其主要資源消耗在大比特位寬和多個加法器上。實際元件消耗總面積=10218.7(加法器實現(xiàn)的乘法)+1806.2(加法器)+12×53.2(寄存器DFF)=12663.6。而根據(jù)表2所示的新參數(shù)得到其量化單元電路如圖5所示,只需要3個加法器。同樣的,最后右移5+floor(QP/6)位中的floor(QP/6)放到后續(xù)選擇輸出。改進后的實際元件消耗總面積=3×1051(加法器平均面積)+12×53.2(寄存器DFF)=3791.4。由此可見,如果采用加法器實現(xiàn)量化單元電路,由于MF′ij[Qm]比特位寬的大幅下降,使得Qm=0時的(0,0)、(2,0)、(2,2)、(0,2)位置的量化單元可以用3個17位加法器取代原來的8個27位加法器來實現(xiàn)量化,從而節(jié)省了資源消耗和功耗,其元件消耗面積和功耗僅為圖4方案的29.94%和29.28%。
采用加法器實現(xiàn)量化單元電路時,改進前后各量化單元所需資源面積和功耗消耗情況如表7和表8所示。由于
f′和qbits′比特位寬的大幅下降,各個量化單元相對于同樣采用加法器實現(xiàn)量化單元電路的原H.264量化方法在集成電路設(shè)計的硬件資源上平均節(jié)省面積75.2%,功耗平均節(jié)省76.3%。而且采用本發(fā)明方法實現(xiàn)整數(shù)變換和量化時,整數(shù)變換與量化處理過程中的算術(shù)運算均采用加法(減法)操作,基本不影響整數(shù)變換核心變換部分的速度。
表7改進前后量化單元資源消耗情況對比(使用加法器代替乘法器)
表8改進前后量化單元動態(tài)功耗情況對比(使用加法器代替乘法器)
對于補償系數(shù)f生成電路,由于本發(fā)明的f′=2qbits′/k的位寬遠(yuǎn)小于原H.264量化電路中補償系數(shù)f=2qbits/k的位寬,從而節(jié)省了資源。改進前后,補償系數(shù)f生成電路消耗的資源面積分別為2005.82和1160.91,節(jié)省42.12%。
上述量化器的改進對H.264編碼器編碼信號的率失真性能的影響如下
圖6為六組視頻信號采用本發(fā)明方法和原H.264方法編碼所得到的亮度率失真曲線。圖6所采用的“foreman”、“mother and daughter”、“coastguard”、“Sign_Irene”、“missa”和“carphone”六組視頻信號是具有不同運動特點、紋理特征和尺寸的標(biāo)準(zhǔn)測試視頻信號。本發(fā)明和原H.264方法(JM8.5、baseline)的對比實驗條件如下每個序列各110幀,采用I-P-P-P模式,幀率為30幀/秒,每10個P幀插入1個1幀。由圖6中可見,對每個視頻序列,其H.264方法和本發(fā)明方法的亮度率失真曲線都幾乎重疊,表明本發(fā)明方法的亮度率失真與原H.264方法近乎相等。
表9給出了本發(fā)明方法與原H.264編碼器相比在相同碼率下的峰值信噪比PSNR之差,即本發(fā)明方法相對于原H.264方法的率失真誤差。針對量化參數(shù)QP≥18的實際應(yīng)用系統(tǒng),與原H.264編碼器相比,在相同碼率下,本發(fā)明方法的絕對平均率失真誤差在0.0315dB以內(nèi);總體來說,本發(fā)明方法與原H.264方法的率失真性能相當(dāng)。
表9與原H.264方法相比本發(fā)明方法的率失真誤差 單位dB
綜上所述,與原H.264量化器相比,在本發(fā)明方法中,由于量化器參數(shù)的數(shù)據(jù)位寬的大幅降低,以綜合性能較優(yōu)的n=9時所獲得的表2所列新參數(shù)為例,量化器參數(shù)的數(shù)據(jù)位寬由原乘法因子MFij[Qm]的11~14位降低到新乘法因子MF′ij[Qm]的1~4位,由原qbits的15~23位降低到新qbits′的2~14位,從而使得系數(shù)調(diào)整與量化過程中的|Zij|=(|Wij|·MF′ij[Qm]+f′)>>qbits′可以采用數(shù)量較少的加法和移位運算來實現(xiàn),避免了乘法運算。與原H.264量化器相比,當(dāng)采用軟件算法實現(xiàn)時,本發(fā)明量化方法的指令執(zhí)行時間節(jié)省了92%以上;采用硬件電路實現(xiàn)時,相同CMOS工藝下,本發(fā)明的量化方法在硬件資源上平均節(jié)省面積75.2%,功耗平均節(jié)省76.3%;而本發(fā)明方法與原H.264方法的編碼器率失真性能相當(dāng)。
上述實施例中,n的數(shù)值也可以是1~13中的任意整數(shù),但實際應(yīng)用中我們發(fā)現(xiàn),盡管隨著n的增加,新參數(shù)的數(shù)據(jù)位寬將大幅降低,有利于用較少數(shù)量的移位和加法(減法)運算代替量化過程中的乘法運算,但與此同時新參數(shù)相對于原參數(shù)的誤差也會隨n的增加而增加,例如當(dāng)n=10時,按本發(fā)明原則修正得到的一組
與原H.264對應(yīng)參數(shù)的誤差δ最大將達到11.3%,這勢必引起編碼器率失真性能的明顯下降;相反,較小數(shù)值的n雖然可以減小由于參數(shù)修正所帶來的編碼器率失真性能的下降,但由于相關(guān)參數(shù)的數(shù)據(jù)位寬的降低有限,量化過程的計算復(fù)雜度和量化器硬件電路的資源和功耗下降也將十分有限。參數(shù)修正的目的在于降低乘法因子MFij[Qm]及其它相關(guān)參數(shù)qbits和f的數(shù)據(jù)位寬,使得能夠以少量的加法器替代乘法器來實現(xiàn)整數(shù)變換的核心變換系數(shù)和乘法因子之間的乘法運算,從而降低H.264量化過程的計算復(fù)雜度,并降低整個量化器硬件電路所需資源和功耗。因此,綜合考慮量化過程復(fù)雜度的降低幅度及相應(yīng)的編碼器率失真性能的代價大小,n選擇上述實施例的9最為合適。
權(quán)利要求
1、一種用于視頻圖像編碼過程中的量化方法,其處理步驟如下
1)對于輸入的4×4殘差塊信號Dn,進行整數(shù)變換的核心變換,得到變換輸出信號W
2)對變換輸出信號W進行整數(shù)變換的系數(shù)調(diào)整與量化處理,得到量化輸出信號Z
|Ziy|=(|Wij|·MFij[Qm]+f)>>qbits和sign(Zij)=sign(Wij)
其中,|Zij|為量化輸出信號Zij的幅值,sign(Zij)則代表其符號,Wij是W=CDnCT的變換系數(shù),MFij[Qm]為量化器乘法因子,qbits=15+floor(QP/6),f=2qbits/k,為改善恢復(fù)圖像視覺效果的補償系數(shù),其特征在于在對變換輸出信號W進行整數(shù)變換的系數(shù)調(diào)整與量化處理過程中,首先變換量化器乘法因子,使MFij[Qm]=MF′ij[Qm]·2n,n為1到13之間的整數(shù),根據(jù)四舍五入取整數(shù)的原則確定MF′ij[Qm]的值,然后用加法器對變換輸出信號W進行系數(shù)調(diào)整與量化處理,得到量化輸出信號Z
|Zij|=(|Wij|·MF′ij[Qm]+f′)>>qbits′和sign(Zij)=sign(Wij)
其中,qbits′=15-n+floor(QP/6),f′=2qbits′/k。
2、如權(quán)利要求1所述的一種用于視頻圖像編碼過程中的量化方法,其特征在于所述的n=9,對于每個量化單元,所述的加法器個數(shù)不多于3個,所述的加法器的數(shù)據(jù)位寬不多于19位。
全文摘要
本發(fā)明公開了一種用于視頻圖像編碼過程中的量化方法,殘差塊信號Dn經(jīng)整數(shù)變換的核心變換后,其輸出信號W再經(jīng)系數(shù)調(diào)整與量化處理|Zij|=(|Wij|·MFij [Qm]+f>>qbits,sign(Zij)=sign(Wij),得到量化輸出信號Z,特點是在量化處理的過程中,首先變換量化器乘法因子,使MFij [Qm]=MF′ij [Qm]·2n,n為1到13之間的整數(shù),根據(jù)四舍五入取整數(shù)的原則確定MF′ij [Qm]的值,然后用加法器對變換輸出信號W進行系數(shù)調(diào)整與量化處理,與原H.264量化方法相比,優(yōu)點在于以率失真性能的微小下降為代價,換取量化過程復(fù)雜度和功耗的大幅降低,軟件算法實現(xiàn)時可節(jié)省92%以上運算時間;硬件電路實現(xiàn)時,在相同CMOS工藝下,各量化單元資源面積和功耗平均節(jié)省75.2%和76.3%;絕對平均率失真誤差小于0.0315dB。
文檔編號H04N7/26GK1741612SQ20051006079
公開日2006年3月1日 申請日期2005年9月16日 優(yōu)先權(quán)日2005年9月16日
發(fā)明者蔣剛毅, 張云, 郁梅 申請人:寧波大學(xué)