本發(fā)明涉及數(shù)字視頻壓縮編解碼的技術(shù)領(lǐng)域,具體涉及一種用于數(shù)字視頻編解碼的3乘3整數(shù)dct變換量化器,同時給出了其相匹配的3乘3整數(shù)idct逆變換反量化器。
背景技術(shù):
h.264和h.265視頻編解碼標(biāo)準(zhǔn)都采用了4×4整數(shù)dct變換,編解碼端都需要歸一化,量化與變換歸一化相結(jié)合,通過乘法、移位實現(xiàn)。我國具有自主知識產(chǎn)權(quán)的avs標(biāo)準(zhǔn)采用8×8整數(shù)dct變換,編碼端進行變換歸一化,量化與變換歸一化相結(jié)合,通過乘法和移位實現(xiàn)。整數(shù)dct變換的產(chǎn)生解決了計算精度誤差大和編碼效率低的問題,其特點是用整數(shù)變換矩陣代替dct的浮點數(shù)變換矩陣,這樣變換過程完全是整數(shù)運算,不存在精度誤差,保證了編碼的可逆性,同時整數(shù)乘法可用加減法和移位運算代替,運算量大幅度減少。
4×4整數(shù)dct變換可以表示為:
式(1)中,x代表原始圖像塊,y代表得到的dct系數(shù)。
4×4整數(shù)idct逆變換表示為:
式(2)中,y代表圖像塊的dct變換系數(shù),x′表示經(jīng)過idct逆變換得到的圖像塊。
4×4整數(shù)dct變換是正交變換。對于一個4×4整數(shù)dct變換,其核心2d變換的運算量為:乘法(乘2運算)32次,加減法96次。對于一個1920×1080的彩色高清視頻幀,采用4:2:0的子采樣格式則需要194400個4×4整數(shù)dct變換,其核心2d變換需要的乘法(乘2運算)次數(shù)為6220800,加減法次數(shù)為18662400。
為了進一步減少運算量,4×4整數(shù)dct核心變換可以分兩步完成:先對圖像塊的每一列做一維變換,再對變換結(jié)果的每一行做一維變換。行變換的運算量和列變換相同,可利用如下的蝶形運算實現(xiàn)4×4整數(shù)dct核心變換:
首先,對式(1)中原始圖像塊x采用蝶形運算進行一維列變換:
進行運算,其中xn,n=0,1,2,3為x中任一列的元素,一維列變換結(jié)果為pn,n=0,1,2,3,一維列變換需要做四次,分別對x的4列進行一維列變換,即:
第一次蝶形運算輸入為x0=x00,x1=x10,x2=x20,x3=x30,輸出為p0=p00,p1=p10,p2=p20,p3=p30;
第二次蝶形運算輸入為x0=x01,x1=x11,x2=x21,x3=x31,輸出為p0=p01,p1=p11,p2=p21,p3=p31;
第三次蝶形運算輸入為x0=x02,x1=x12,x2=x22,x3=x32,輸出為p0=p02,p1=p12,p2=p22,p3=p32;
第四次蝶形運算輸入為x0=x03,x1=x13,x2=x23,x3=x33,輸出為p0=p03,p1=p13,p2=p23,p3=p33;四次一維列變換的結(jié)果為4乘4矩陣
然后對4乘4矩陣p進行轉(zhuǎn)置,生成4乘4矩陣q,即q=pt;
最后對q采用蝶形運算:
進行運算,其中qn,n=0,1,2,3為q中任一列的元素,一維列變換結(jié)果為en,n=0,1,2,3,一維列變換需要做四次,分別對q的4列進行一維列變換,4次一維列變換的結(jié)果為4乘4矩陣e。
同樣,4×4整數(shù)idct變換核心2d變換也相應(yīng)地可采用蝶形運算。
4×4整數(shù)dct變換核心2d變換的運算量為:乘法(乘2運算)16次,加減法64次。對于一個1920×1080的彩色高清視頻幀,采用4:2:0的子采樣格式,則需要現(xiàn)有4×4整數(shù)dct變換的核心2d變換的乘法(乘2運算)次數(shù)為3110400,加減法次數(shù)為12441600。
技術(shù)實現(xiàn)要素:
針對4×4整數(shù)dct變換的核心變換的運算次數(shù)多、計算時間長的技術(shù)問題,本發(fā)明提出一種用于數(shù)字視頻編解碼的3乘3整數(shù)dct變換量化器,通過3乘3整數(shù)dct變換實現(xiàn)數(shù)字視頻的壓縮編碼,比采用4乘4整數(shù)dct變換計算量小。
為了解決上述技術(shù)問題,本發(fā)明的技術(shù)方案是:
3×3整數(shù)dct變換可以表示為:
在式(3)中,y代表變換得到的dct系數(shù),x表示要進行變換的3×3的像素塊,xij,i,j=0,1,2表示x中i行j列的元素,c3xc3t是整型變換中的核心2d變換。e3是縮放因數(shù)矩陣,
相應(yīng)地,3×3整數(shù)idct逆變換可以表示為:
式(4)中,y代表圖像塊的dct變換系數(shù),x′表示經(jīng)過idct逆變換得到的圖像塊。
一種用于數(shù)字視頻編解碼的3乘3整數(shù)dct變換量化器,包括當(dāng)前幀3×3分塊器、3×3整數(shù)dct核心變換器、后縮放量化器和3×3圖像變換塊發(fā)送器,當(dāng)前幀3×3分塊器與3×3整數(shù)dct核心變換器相連接,3×3整數(shù)dct核心變換器與后縮放量化器相連接,后縮放量化器與3×3圖像變換塊發(fā)送器相連接;當(dāng)前幀3×3分塊器把視頻編碼器中的當(dāng)前幀圖像劃分成塊大小為3×3的圖像塊,并把大小為3×3的圖像塊依次送到3×3整數(shù)dct核心變換器;3×3整數(shù)dct核心變換器對圖像塊進行整數(shù)dct核心變換,后縮放量化器對整數(shù)dct核心變換后的圖像塊進行縮放和量化,3×3圖像變換塊發(fā)送器將后縮放量化器發(fā)送來的大小為3×3的圖像塊轉(zhuǎn)換成串行數(shù)據(jù),通過傳輸信道發(fā)送給接收方的視頻解碼器。
所述3×3整數(shù)dct核心變換器包括第一一維列變換器、第一存儲轉(zhuǎn)置器和第二一維列變換器;所述第一一維列變換器與第一存儲轉(zhuǎn)置器相連接,第一存儲轉(zhuǎn)置器與第二一維列變換器相連接;第一一維列變換器分別對3×3圖像塊x的每列進行一維列變換生成變換矩陣s,第一存儲轉(zhuǎn)置器對變換矩陣s進行轉(zhuǎn)置生成矩陣t,第二一維列變換器對矩陣t中的每列依次進行一維列變換生成矩陣wf。
所述3×3整數(shù)dct核心變換器對大小為3×3的圖像塊x進行3×3整數(shù)dct核心變換的方法是:
其中,wf表示3×3圖像塊的整數(shù)dct核心變換結(jié)果,c3是3×3整數(shù)列變換矩陣,
所述后縮放量化器將整數(shù)dct核心變換結(jié)果矩陣wf中的每個元素wfij進行量化和縮放,其輸出結(jié)果為矩陣
其中,zfij是量化后的矩陣zf中i行j列系數(shù),round()為下取整操作,qstep是選擇的量化步長;pfij的取值如下表所示:
所述第一一維列變換器采用蝶形運算:
進行運算,其中xn,n=0,1,2為圖像塊x中任一列的元素,一維列變換結(jié)果為sn,n=0,1,2,一維列變換需要做三次,分別對x的3列進行一維列變換,三次一維列變換的結(jié)果為3乘3的變換矩陣s,具體地:
第一次蝶形運算輸入為x0=x00,x1=x10,x2=x20,輸出為s0=s00,s1=s10,s2=s20;
第二次蝶形運算輸入為x0=x01,x1=x11,x2=x21,輸出為s0=s01,s1=s11,s2=s21;
第三次蝶形運算輸入為x0=x02,x1=x12,x2=x22,輸出為s0=s02,s1=s12,s2=s22;
三次一維列變換的結(jié)果為3乘3矩陣
所述第一存儲轉(zhuǎn)置器對3乘3的變換矩陣s進行轉(zhuǎn)置,生成3乘3矩陣
所述第二一維列變換器采用蝶形運算:
進行運算,其中tn,n=0,1,2為矩陣t中任一列的元素,一維列變換結(jié)果為wfn,n=0,1,2,一維列變換需要做三次,分別對t的3列進行一維列變換,三次一維列變換的結(jié)果為3乘3的矩陣wf,具體地,
第一次蝶形運算輸入為t0=t00,t1=t10,t2=t20,輸出為wf0=wf00,w1=wf01,wf2=wf02;
第二次蝶形運算輸入為t0=t01,t1=t11,t2=t21,輸出為wf0=wf10,wf1=wf11,wf2=wf12;
第三次蝶形運算輸入為t0=t02,t1=t12,t2=t22,輸出為wf0=wf20,wf1=wf21,wf2=wf22;
三次一維列變換的結(jié)果為3乘3矩陣wf。
與3乘3整數(shù)dct變換量化器相對應(yīng)的3乘3整數(shù)idct逆變換反量化器包括3×3圖像變換塊生成器、反量化預(yù)縮放器、3×3整數(shù)idct核心變換器、3×3圖像塊輸出器,3×3圖像變換塊生成器與反量化預(yù)縮放器相連接,反量化預(yù)縮放器與3×3整數(shù)idct核心變換器相連接,3×3整數(shù)idct核心變換器與3×3圖像塊輸出器相連接;3×3圖像變換塊生成器將解碼器接收到的圖像編碼信息生成3×3圖像變換塊,反量化預(yù)縮放器對3×3圖像變換塊生成器生成的3×3圖像變換塊進行反量化和預(yù)縮放,3×3整數(shù)idct核心變換器對反量化預(yù)縮放器處理后的圖像塊進行3×3整數(shù)idct核心變換,3×3圖像塊輸出器對3×3整數(shù)idct核心變換后的結(jié)果進行后處理,輸出3×3像素的圖像塊。
所述3×3整數(shù)idct核心變換器包括第三一維列變換器、第二存儲轉(zhuǎn)置器和第四一維列變換器,所述第三一維列變換器和第二存儲轉(zhuǎn)置器相連接,第二存儲轉(zhuǎn)置器和第四一維列變換器相連接;所述第三一維列變換器分別對待處理的圖像塊wi的每列進行一維列變換生成變換矩陣r,第二存儲轉(zhuǎn)置器對變換矩陣r進行轉(zhuǎn)置生成矩陣h,第四一維列變換器對矩陣h的每列進行一維列變換,生成整數(shù)idct核心變換后的圖像塊g。
所述反量化預(yù)縮放器對3×3圖像變換塊生成器生成的3×3圖像變換塊
所述3×3整數(shù)idct核心變換器對圖像矩陣wi進行3×3整數(shù)idct核心變換得到圖像塊矩陣
所述第三一維列變換器利用蝶形運算:
進行運算,其中wn,n=0,1,2為圖像塊矩陣wi中任一列的元素,一維列變換結(jié)果為rn,n=0,1,2,一維列變換需要做三次,分別對像塊矩陣wi的3列進行一維列變換,三次一維列變換的結(jié)果為3乘3變換矩陣r,具體地,
第一次蝶形運算輸入為w0=w00,w1=w10,w2=w20,輸出為r0=r00,r1=r10,r2=r20;
第二次蝶形運算輸入為w0=w01,w1=w11,w2=w21,輸出為r0=r01,r1=r11,r2=r21;
第三次蝶形運算輸入為w0=w02,w1=w12,w2=w22,輸出為r0=r02,r1=r12,r2=r22;
三次一維列變換的結(jié)果為3乘3的生成矩陣
所述第二存儲轉(zhuǎn)置器對3乘3的生成矩陣r進行轉(zhuǎn)置,生成3乘3的矩陣
所述第四一維列變換器采用蝶形運算:
進行運算,其中hn,n=0,1,2為矩陣h中任一列的元素,一維列變換結(jié)果為gn,n=0,1,2,一維列變換需要做三次,分別對矩陣h的3列進行一維列變換,三次一維列變換的結(jié)果為3乘3矩陣g,具體地,
第一次蝶形運算輸入為h0=h00,h1=h10,h2=h20,輸出為g0=g00,g1=g01,g2=g02;
第二次蝶形運算輸入為h0=h01,h1=h11,h2=h21,輸出為g0=g10,g1=g11,g2=g12;
第三次蝶形運算輸入為h0=h02,h1=h12,h2=h22,輸出為g0=g20,g1=g21,g2=g22;
三次一維列變換的結(jié)果為3乘3矩陣g。
本發(fā)明的量化及反量化、縮放的計算量和4×4整數(shù)dct變換及逆變換的計算量相同,都取決于幀內(nèi)像素數(shù),核心2d變換的運算次數(shù)比4×4整數(shù)dct變換及逆變換的計算量少,解碼后的重建視頻幀psnr質(zhì)量也比4×4整數(shù)dct變換及逆變換的質(zhì)量高。對于一個3×3整數(shù)dct變換,其核心2d變換的運算量為:乘法(乘2運算)6次,加減法30次。對于一個1920×1080的彩色高清視頻幀,采用4:2:0的子采樣格式,則需要345600個3×3整數(shù)dct變換,其核心2d變換需要的乘法(乘2運算)次數(shù)2073600為,加減法次數(shù)為10368000。為了進一步減少運算量,3×3整數(shù)dct核心變換可以分兩步完成:先對圖像塊x的每一列做一維變換,再對變換結(jié)果的每一行做一維變換,也可以利用里面的重復(fù)計算進行蝶形運算。利用蝶形運算3×3整數(shù)dct變換核心2d變換的運算量為:乘法(乘2運算)6次,加減法24次。對于一個1920×1080的彩色高清視頻幀,采用4:2:0的子采樣格式,則需要345600個3×3整數(shù)dct變換,在采用蝶形運算時,其核心2d變換需要的乘法(乘2運算)次數(shù)為2073600,加減法次數(shù)為8294400。比采用4×4整數(shù)dct變換的蝶形運算,本發(fā)明乘法運算(乘2運算)次數(shù)減少了1036800次,減少了33.3%;加減法運算次數(shù)減少了4147200次,減少了33.3%。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明的3×3整數(shù)dct變換量化器結(jié)構(gòu)框圖。
圖2為本發(fā)明的3×3整數(shù)idct逆變換量化器結(jié)構(gòu)框圖。
圖3為本發(fā)明的3×3整數(shù)dct核心變換器結(jié)構(gòu)框圖。
圖4為本發(fā)明的3×3整數(shù)idct核心變換器結(jié)構(gòu)框圖。
圖5為本發(fā)明的3×3整數(shù)dct變換量化器和3×3整數(shù)idct逆變換量化器應(yīng)用于數(shù)字視頻編解碼器的效果圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有付出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
如圖1所示,一種用于數(shù)字視頻編解碼的3乘3整數(shù)dct變換量化器,包括當(dāng)前幀3×3分塊器11、3×3整數(shù)dct核心變換器12、后縮放量化器13和3×3圖像變換塊發(fā)送器14,當(dāng)前幀3×3分塊器11與3×3整數(shù)dct核心變換器12相連接,3×3整數(shù)dct核心變換器12與后縮放量化器13相連接,后縮放量化器13與3×3圖像變換塊發(fā)送器14相連接。當(dāng)前幀3×3分塊器11把視頻編碼器中的當(dāng)前幀圖像劃分成塊大小為3×3的圖像塊,并把大小為3×3的圖像塊依次送到3×3整數(shù)dct核心變換器12;3×3整數(shù)dct核心變換器12對圖像塊進行整數(shù)dct核心變換,后縮放量化器13對整數(shù)dct核心變換后的圖像塊進行縮放和量化,3×3圖像變換塊發(fā)送器14將后縮放量化器13發(fā)送來的大小為3×3的圖像塊轉(zhuǎn)換成串行數(shù)據(jù),通過傳輸信道發(fā)送給接收方的視頻解碼器。
所述3×3整數(shù)dct核心變換器12對大小為3×3的圖像塊x進行3×3整數(shù)dct核心變換的方法是:
式(5)中,wf表示3×3圖像塊的整數(shù)dct核心變換結(jié)果、c3是3×3整數(shù)列變換矩陣、
后縮放量化器13將核心變換結(jié)果矩陣wf中的每個元素wfij進行量化和縮放,輸出3×3圖像變換量化塊
式(6)中,zfij是量化后的矩陣zf中i行j列的系數(shù),round()為下取整操作,qstep是選擇的量化步長,可使用h.264/avc的量化表,在h.264/avc中,共有52種量化步長可選。
pfij的取值如下表所示:i,j=0,1,2
表1pfij的取值結(jié)果
如圖2所示,與3乘3整數(shù)dct變換量化器相對應(yīng)的3×3反量化及整數(shù)idct逆變換器結(jié)構(gòu)框圖,包括3×3圖像變換塊生成器21、反量化預(yù)縮放器22、3×3整數(shù)idct核心變換器23、3×3圖像塊輸出器24。其中,3×3圖像變換塊生成器21與反量化預(yù)縮放器22相連接,反量化預(yù)縮放器22與3×3整數(shù)idct核心變換器23相連接,3×3整數(shù)idct核心變換器23與3×3圖像塊輸出器24相連接。3×3圖像變換塊生成器21將解碼器接收到的圖像編碼信息生成3×3圖像變換塊,反量化預(yù)縮放器22對3×3圖像變換塊生成器21生成的3×3圖像變換塊進行反量化和預(yù)縮放,3×3整數(shù)idct核心變換器23對反量化預(yù)縮放器22處理后的圖像塊進行3×3整數(shù)idct核心變換,3×3圖像塊輸出器24對3×3整數(shù)idct核心變換后的圖像塊進行后處理,輸出處理后的3×3像素圖像塊。
3×3圖像變換塊生成器21存儲解碼器接收到的3×3圖像變換塊zi,它是3×3圖像變換量化塊zf附加了信道噪聲的結(jié)果,且
反量化預(yù)縮放器22對圖像變換塊zi進行反量化和預(yù)縮放,反量化和預(yù)縮放操作結(jié)合進行,并乘以因數(shù)64,操作如下:
wij=zij·qstep·pfij·64,i,j=0,1,2,
zij是zi中第i行第j列的元素、wij是矩陣wi中第i行第j列的元素;qstep是選擇的量化步長,可使用h.264/avc的量化表,在h.264/avc中,共有52種量化步長可選;
pfij的取值如表1所示。
所述3×3整數(shù)idct核心變換器23對圖像矩陣wi進行3×3整數(shù)idct核心變換得到圖像塊矩陣
所述3×3圖像塊輸出器24通過
3×3整數(shù)dct核心變換器12分兩步完成3×3整數(shù)dct核心變換:先對圖像塊x的每一列做一維列變換,再對一維列變換的結(jié)果做一維行變換,為了重復(fù)利用所設(shè)計的一維列變換電路,一維行變換可以先對一維列變換的結(jié)果做轉(zhuǎn)置,再對轉(zhuǎn)置結(jié)果做一維列變換。如圖3所示,3×3整數(shù)dct核心變換器12包括第一一維列變換器1201、第一存儲轉(zhuǎn)置器1202、第二一維列變換器1203。其中,第一一維列變換器1201與第一存儲轉(zhuǎn)置器1202相連接,第一存儲轉(zhuǎn)置器1202與第二一維列變換器1203相連接。第一一維列變換器1201分別對圖像塊x的每列進行一維列變換生成變換矩陣s,第一存儲轉(zhuǎn)置器1202對變換矩陣s進行轉(zhuǎn)置生成轉(zhuǎn)置矩陣t,第二一維列變換器1203對轉(zhuǎn)置矩陣t中的每列依次進行一維列變換生成矩陣wf。
所述第一一維列變換器1201采用蝶形運算:
進行運算,其中xn,n=0,1,2為式(5)圖像塊x中任一列的元素,一維列變換結(jié)果為sn,n=0,1,2,一維列變換需要做三次,分別對圖像塊x的3列進行一維列變換,三次一維列變換的結(jié)果為3乘3變換矩陣s。具體地,
第一次蝶形運算輸入為x0=x00,x1=x10,x2=x20,輸出為s0=s00,s1=s10,s2=s20;
第二次蝶形運算輸入為x0=x01,x1=x11,x2=x21,輸出為s0=s01,s1=s11,s2=s21;
第三次蝶形運算輸入為x0=x02,x1=x12,x2=x22,輸出為s0=s02,s1=s12,s2=s22;
三次一維列變換的結(jié)果為3乘3矩陣
所述第一存儲轉(zhuǎn)置器1202對3乘3矩陣s進行轉(zhuǎn)置,生成3乘3矩陣
所述第二一維列變換器1203采用蝶形運算:
進行運算,其中tn,n=0,1,2為矩陣t中任一列的元素,一維列變換結(jié)果為wfn,n=0,1,2,一維列變換需要做三次,分別對矩陣t的3列進行一維列變換,三次一維列變換的結(jié)果為3乘3矩陣wf。
具體地,
第一次蝶形運算輸入為t0=t00,t1=t10,t2=t20,輸出為wf0=wf00,w1=wf01,wf2=wf02;
第二次蝶形運算輸入為t0=t01,t1=t11,t2=t21,輸出為wf0=wf10,wf1=wf11,wf2=wf12;
第三次蝶形運算輸入為t0=t02,t1=t12,t2=t22,輸出為wf0=wf20,wf1=wf21,wf2=wf22;三次一維列變換的結(jié)果為3乘3矩陣wf。
利用蝶形運算,3×3整數(shù)dct變換核心2d變換的運算量為:乘法(乘2運算)6次,加減法24次。對于一個1920×1080的彩色高清視頻幀,采用4:2:0的子采樣格式,則需要345600個3×3整數(shù)dct變換,其核心2d變換需要的乘法(乘2運算)次數(shù)為2073600,加減法次數(shù)為8294400。比采用蝶形運算的4×4整數(shù)dct變換,乘法運算(乘2運算)次數(shù)減少了1036800次,減少了33.3%;加減法運算次數(shù)減少了4147200,減少了33.3%。
3×3整數(shù)idct核心變換器分兩步完成3×3整數(shù)idct核心變換:先對待處理的圖像塊wi的每一列做一維列變換,再對一維列變換的結(jié)果做一維行變換,為了重復(fù)利用所設(shè)計的一維列變換電路,一維行變換可以先對一維列變換的結(jié)果做轉(zhuǎn)置,再對轉(zhuǎn)置結(jié)果做一維列變換。如圖4所示,3×3整數(shù)idct核心變換器包括第三一維列變換器2301、第二存儲轉(zhuǎn)置器2302、第四一維列變換器2303,第三一維列變換器2301和第二存儲轉(zhuǎn)置器2302相連接,第二存儲轉(zhuǎn)置器2302和第四一維列變換器2303相連接。
所述第三一維列變換器2301利用蝶形運算:
進行運算,其中wn,n=0,1,2為式(7)中矩陣wi任一列的元素,一維列變換結(jié)果為rn,n=0,1,2,一維列變換需要做三次,分別對矩陣wi的3列進行一維列變換,三次一維列變換的結(jié)果為3乘3矩陣r,具體地:
第一次蝶形運算輸入為w0=w00,w1=w10,w2=w20,輸出為r0=r00,r1=r10,r2=r20;
第二次蝶形運算輸入為w0=w01,w1=w11,w2=w21,輸出為r0=r01,r1=r11,r2=r21;
第三次蝶形運算輸入為w0=w02,w1=w12,w2=w22,輸出為r0=r02,r1=r12,r2=r22;
三次一維列變換的結(jié)果為3乘3矩陣
所述第二存儲轉(zhuǎn)置器2302對3乘3矩陣r進行轉(zhuǎn)置,生成3乘3矩陣
所述第四一維列變換器2303采用蝶形運算:
進行運算,其中hn,n=0,1,2為h中任一列的元素,一維列變換結(jié)果為gn,n=0,1,2,一維列變換需要做三次,分別對h的3列進行一維列變換,三次一維列變換的結(jié)果為3乘3矩陣g。
具體地,
第一次蝶形運算輸入為h0=h00,h1=h10,h2=h20,輸出為g0=g00,g1=g01,g2=g02;
第二次蝶形運算輸入為h0=h01,h1=h11,h2=h21,輸出為g0=g10,g1=g11,g2=g12;
第三次蝶形運算輸入為h0=h02,h1=h12,h2=h22,輸出為g0=g20,g1=g21,g2=g22;
三次一維列變換的結(jié)果為3乘3矩陣g。
如圖5所示,采用football的cif格式測試視頻,分塊大小分別為4×4和3×3,窮盡搜索窗口為16×16,分別使用了4×4整數(shù)dct變換和3×3整數(shù)dct變換時,90幀解碼視頻的psnr性能對比。由圖5可以看到,相比4×4整數(shù)dct變換方法,采用本發(fā)明的3×3整數(shù)dct變換的編解碼器所解碼幀的psnr性能穩(wěn)定提高。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。