專利名稱:應(yīng)用于視頻和圖像處理的變換方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電數(shù)字?jǐn)?shù)據(jù)處理技術(shù)領(lǐng)域,特別是涉及一種應(yīng)用于視頻和圖像處理的定點(diǎn)反離散余弦變換、定點(diǎn)離散余弦的變換方法。
背景技術(shù):
在部分視頻編碼標(biāo)準(zhǔn)中,如ITU制定的H.261,H.263,以及ISO的MPEG組織制定的MPEG-1、MPEG-2、MPEG-4標(biāo)準(zhǔn),都是采用離散余弦變換(DCT)去除空間域的信息冗余度來達(dá)到壓縮的目的。理想的8×8離散余弦變換和反離散余弦變換分別如下 其中
由于在理想的8×8離散余弦變換中,變換矩陣乘法系數(shù)是無理數(shù),而在實(shí)際的實(shí)現(xiàn)上這些乘法系數(shù)位寬不可能達(dá)到無限長(zhǎng),因此都是利用定點(diǎn)的實(shí)現(xiàn)方法擬合這些無理數(shù)來實(shí)現(xiàn)離散余弦變換變換。同樣的,在解碼部分,由于理想的8×8反離散余弦變換(IDCT)采用的是理想的8×8離散余弦變換矩陣的轉(zhuǎn)置矩陣,所以其變換矩陣系數(shù)也是無理數(shù),同樣需要定點(diǎn)的實(shí)現(xiàn)來擬合這些無理數(shù)。
此外,在軟件硬件的具體實(shí)現(xiàn)中,為了進(jìn)一步降低資源的開銷和提升處理速度,通常采用加法器和移位器來取代乘法器的功能;而對(duì)于不同的定點(diǎn)數(shù),所需要的加法器和移位次數(shù)都是不一樣的,這就要求如何用最優(yōu)或者接近最優(yōu)的方法來獲得理想的8×8 DCT/IDCT中這些無理數(shù)的定點(diǎn)表示,使之既能達(dá)到足夠高的精度,又能使得所需要的加法器和移位次數(shù)最少。
目前對(duì)于用定點(diǎn)反離散余弦變換的精度有一系列的要求,這些要求體現(xiàn)在標(biāo)準(zhǔn)ISO/IEC 23002-1-2006中。整個(gè)測(cè)試分為隨機(jī)數(shù)生成、隨機(jī)數(shù)輸入測(cè)試、全零輸入測(cè)試和臨近DC倒置測(cè)試以及相應(yīng)的指標(biāo)。
以下是ISO/IEC 23002-1-2006標(biāo)準(zhǔn)定義的精度測(cè)試規(guī)范 一、隨機(jī)數(shù)生成 設(shè)變量i,j,k和s為采用二進(jìn)制補(bǔ)碼表示的32比特整數(shù)。采用下面指定的方法產(chǎn)生一維隨機(jī)數(shù)組r[i],其中i=0..(64*Q-1),Q=10000或Q=1000000。
1、令s=1。
2、對(duì)于i=0到64*Q-1,進(jìn)行以下操作 A、令s=(s*1103515245)+12345 B、令j=s & 0x7ffffffe C、令floor(x)表示取不大于x的最大整數(shù) D、令r[i]=k-L 二、隨機(jī)數(shù)輸入測(cè)試 1、對(duì)于下面的每一對(duì)L和H, -L=2B和H=2B-1 -L=5*2B-8和H=5*2B-8 -L=300*2B-8和H=300*2B-8 進(jìn)行以下步驟 采用一中的方法生成64*Q個(gè)隨機(jī)數(shù),組成數(shù)組r[i],i=0..(64*Q-1). 2、對(duì)于z在0..(Q-1)中的每一個(gè)值,進(jìn)行以下操作 對(duì)于x=0..7和y=0..7,置fz[y][x]=r[64*z+8*y+x]. 對(duì)8×8矩陣fz進(jìn)行一次式(1)定義的理想的DCT操作,然后四舍五入得到整數(shù)的8×8變換系數(shù)矩陣F′z必須采用至少64比特的浮點(diǎn)精度。
對(duì)于u=0..7和v=0..7,置F″z[v][u]=clip3(-2B+3,2B+3-1,F(xiàn)′z[v][u]),clip3(a,b,x)定義如下 對(duì)8×8變換系數(shù)矩陣F″z進(jìn)行一次式(2)定義的IDCT操作,然后四舍五入得到8×8矩陣g′z。必須采用至少64比特的浮點(diǎn)精度。
對(duì)于x=0..7和y=0..7,置g″z[y][x]=clip3(-2B,2B-1,g′z[y][x]). 對(duì)8×8變換系數(shù)矩陣F″z進(jìn)行一次被測(cè)的IDCT操作,然后四舍五入得到8×8矩陣h′z。
對(duì)于x=0..7和y=0..7,置h″z[y][x]=clip3(-2B,2B-1,h′z[y][x]). 4、對(duì)x=0..7和y=0..7,按下面式子計(jì)算8×8矩陣d和e 其中d[y][x]表示矩陣(x,y)位置上像素的平均誤差(pme),e[y][x]表示矩陣(x,y)位置上像素的均方誤差(pmse) 5、計(jì)算m和n的值 其中m表示所有像素的平均誤差(ome),|n|表示所有像素的均方誤差(omse)。
6、判定是否滿足以下精度要求 ●p<=1. ●對(duì)于x=0..7和y=0..7,|d[y][x]|<=0.015. ●對(duì)于x=0..7和y=0..7,e[y][x]<=0.06. ●|n|<=0.02. ●m<=0.0015. 7、置r[i]=-r[i]對(duì)于i=0..(64*Q-1),重復(fù)上述步驟2到6。
三、全零輸入測(cè)試(All Zero Test) 置F′[v][u]=0,u=0..7和v=0..7。
對(duì)8×8變換系數(shù)矩陣F′[v][u]進(jìn)行一次被測(cè)的IDCT,然后四舍五入得到對(duì)應(yīng)的8×8矩陣h′。
對(duì)于x=0..7和y=0..7,h′[y][x]的值應(yīng)該為0。
四、臨近DC倒置測(cè)試(Near-DC Inversion Test) 對(duì)于變量z=0..(2B+4-1),進(jìn)行以下步驟 對(duì)于u=0..7和v=0..7,置Fz″[v][u]=0. 置Fz″
=z-2B+3. 如果z是偶數(shù),置Fz″[7][7]=1;否則置Fz″[7][7]=0. 對(duì)8×8變換系數(shù)矩陣Fz″進(jìn)行一次理論的IDCT,然后四舍五入得到對(duì)應(yīng)的8×8矩陣g′z。必須采用至少64比特的浮點(diǎn)精度。
對(duì)于x=0..7和y=0..7,置g″z[y][x]=clip3(-2B,2B-1,g′z[y][x]). 對(duì)8×8變換系數(shù)矩陣Fz″進(jìn)行一次需要測(cè)試的IDCT,然后四舍五入得到對(duì)應(yīng)的8×8矩陣h′z 對(duì)于x=0..7和y=0..7,h″z[y][x]=clip3(-2B,2B-1,h′z[y][x]). p的值必須小于等于1。
對(duì)于一個(gè)定點(diǎn)反離散余弦變換,如果滿足上述所有的精度測(cè)試規(guī)范要求,則該定點(diǎn)反離散余弦變換符合ISO/IEC 23002-1-2006。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對(duì)現(xiàn)有技術(shù)中的離散余弦變換、反離散余弦變換定點(diǎn)實(shí)現(xiàn)上的不足,提供了一種能夠以較低的復(fù)雜度和較簡(jiǎn)單的結(jié)構(gòu)實(shí)現(xiàn)8×8離散余弦變換/反離散余弦變換(DCT/IDCT),并且和理論上的變換相比具有較高精度的應(yīng)用于視頻和圖像處理的變換方法。
所述應(yīng)用于視頻和圖像處理的變換方法,它至少包括8×8反離散余弦變換方法和8×8離散余弦變換方法中的一種,所述的8×8反離散余弦變換為 所述的8×8離散余弦變換為 其中
所述8×8反離散余弦變換方法用以實(shí)現(xiàn)逼近理想的反離散余弦變換,包括反變換預(yù)處理步驟、一維反變換步驟和反變換后處理步驟,所述的反變換預(yù)處理步驟使用一個(gè)8×8的整數(shù)矩陣M;所述的一維反變換步驟使用至少6個(gè)不同的乘法系數(shù)a、b、c、d、h、t進(jìn)行運(yùn)算;所述的反變換后處理步驟為右移w位的移位操作。
所述的反變換預(yù)處理步驟中的8×8矩陣M由10個(gè)不同的整數(shù)元素組成 所述反變換預(yù)處理步驟如下輸入數(shù)據(jù)8×8數(shù)據(jù)塊X’與8×8矩陣M做操作I得到反變換預(yù)處理步驟的輸出數(shù)據(jù)X,所述操作I為
所述8×8反離散余弦變換方法中的一維反變換步驟含有或等效為如下運(yùn)算 p10=X0,p14=X4,p12=X2,p16=X6,p17=X1-X7,p13=X3,p15=X5,p11=X1+X7; p20=p10+p14,p24=p10-p14,p22=p12*h-p16*t,p26=p16*h+p12*t, p27=p15+p17,p23=p11-p13,p25=p17-p15,p21=p11+p13; p30=p20+p26,p34=p24+p22,p32=p24-p22,p36=p20-p26,p37=p27*c-p21*d, p33=p23*a-p25*b,p35=p23*b+p25*a,p31=p21*c+p27*d; x0=p30+p31,x1=p34+p35,x2=p32+p33,x3=p36+p37,x4=p36-p37,x5=p32-p33, x6=p34-p35,x7=p30-p31; 其中X0,X1,X2,X3,X4,X5,X6,X7為一維反變換步驟的輸入數(shù)據(jù),x0,x1,x2,x3,x4,x5,x6,x7為一維反變換步驟的輸出數(shù)據(jù),p10~p17、p20~p27、p30~p37是一維反變換步驟的中間變量。
在所述8×8反離散余弦變換方法中,所述反變換后處理步驟中的移位參數(shù)w=S+3。
所述8×8離散余弦變換方法用以實(shí)現(xiàn)逼近理想的離散余弦變換,包括正變換預(yù)處理步驟、一維正變換步驟和正變換后處理步驟;所述的正變換預(yù)處理步驟為左移r位的移位操作;所述的一維正變換步驟使用至少6個(gè)不同的乘法系數(shù)a、b、c、d、h、t進(jìn)行運(yùn)算;所述的正變換后處理步驟使用一個(gè)8×8的整數(shù)矩陣M和右移z位的移位操作。
所述8×8離散余弦變換方法中的一維正變換步驟含有或等效為如下運(yùn)算 q10=y(tǒng)0+y1,q14=y(tǒng)1+y6,q12=y(tǒng)2+y5,q16=y(tǒng)3+y4,q17=y(tǒng)3-y4,q13=y(tǒng)2-y5, q15=y(tǒng)1-y6,q11=y(tǒng)0-y7; q20=q10+q16,q24=q14+q12,q22=q14-q12,q26=q10-q16,q27=q17*c+q11*d, q23=q13*a+q15*b,q25=q15*a-q13*b,q21=q11*c-q17*d; q30=q20+q24,q34=q20-q24,q32=q22*h+q26*t,q36=q26*h-q22*t, q37=q27+q25,q33=q21-q23,q35=q27-q25,q31=q21+q23; Y0=q30,Y1=q31+q31,Y2=q32,Y3=q33,Y4=q34,Y5=q35,Y6=q36, Y7=q31-q37, 其中y0,y1,y2,y3,y4,y5,y6,y7為一維正變換的輸入數(shù)據(jù),Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7為一維正變換的輸出數(shù)據(jù)。q10~q17、q20~q27、q30~q37為一維正變換的中間變量。
所述正變換后處理步驟中的8×8矩陣M由10個(gè)不同的整數(shù)元素組成 所述正變換后處理步驟如下輸入數(shù)據(jù)8×8數(shù)據(jù)塊Y’與8×8矩陣M做操作II得到正變換后處理步驟的輸出數(shù)據(jù)Y所述操作II為Y[y][x]=[Y′[y][x]×M[y][x]+(1<<(z-1))-f(Y′[y][x])]>>z y,x∈
;其中函數(shù)f(a)做如下定義 所述8×8離散余弦變換方法中,正變換預(yù)處理步驟中的移位參數(shù)r=7,正變換后處理步驟中的移位參數(shù)z=20。
所述的應(yīng)用于視頻和圖像處理的變換方法中的一維反變換步驟中的*運(yùn)算和一維正變換步驟中的*運(yùn)算可以采用加法、減法、右移中的一個(gè)或多個(gè)的組合來替代,*表示乘法操作。
所述應(yīng)用于視頻和圖像處理的變換方法中的一維正變換步驟、一維反變換步驟中的乘法系數(shù)a、b、c、d、h、t和反變換預(yù)處理或正變換后處理步驟中的參數(shù)A、B、C、D、E、F、G、H、I、J的相互關(guān)系如下A=[1×2S], 其中γ=cos(π/16),δ=sin(π/16),ε=cos(3π/16), ζ=sin(3π/16),k、S、ψ、φ是聯(lián)系因子,[x]表示取最接近x的兩個(gè)整數(shù)之一,例如x=2.1,則[x]=2或者3;由它們構(gòu)成的{A、B、C、D、E、F、G、H、I、J、a、b、c、d、h、t}所對(duì)應(yīng)的8×8反離散余弦變換方法須符合ISO/IEC 23002-1-2006和以下2條定義的精度要求 (a)線性測(cè)試對(duì)于i∈
,j∈[1,255],產(chǎn)生64個(gè)輸入數(shù)據(jù)
x/a表示x整除,ax%a表示x整除a的余數(shù);令8×8輸入數(shù)據(jù)矩陣N′i,j=-Ni,j;將Ni,j和N′i,j分別進(jìn)行由{A、B、C、D、E、F、G、H、I、J、a、b、c、d、h、t}所構(gòu)成的8×8反離散余弦變換,得到兩個(gè)輸出塊,將其相加得到N″i,j;對(duì)i,j取值范圍內(nèi)所有的組合,所得到的N″i,j均應(yīng)為全零; (b)根據(jù)ISO/IEC 23002-1-2006標(biāo)準(zhǔn)定義的隨機(jī)數(shù)生成方法,產(chǎn)生Q組[-L,+H]范圍內(nèi)的隨機(jī)數(shù),將這些隨機(jī)數(shù)作為輸入,對(duì)由{A、B、C、D、E、F、G、H、I、J、a、b、c、d、h、t}所構(gòu)成的8×8反離散余弦變換進(jìn)行測(cè)試得到omse;其中的L<10,H<10,Q>=10000,所得到的omse必須小于0.01。
本發(fā)明為應(yīng)用于視頻和圖像處理的反變換及正變換方法,能很好地逼近理想的8×8反離散余弦變換及理想的8×8離散余弦變換,精度上遠(yuǎn)遠(yuǎn)超過ISO/IEC 23002-1-2006的要求,同時(shí)在硬件實(shí)現(xiàn)上復(fù)雜度大大降低,并能應(yīng)用在多種現(xiàn)有流行的國(guó)際視頻編解碼標(biāo)準(zhǔn)。其反變換預(yù)處理過程可以結(jié)合視頻壓縮解碼的反量化,進(jìn)一步降低復(fù)雜度。
圖1為應(yīng)用于視頻和圖像處理的反變換方法流程示意圖 圖2為應(yīng)用于視頻和圖像處理的正變換方法流程示意圖 圖3為8×8反離散余弦變換的一維反變換的算法流程圖 圖4為8×8離散余弦變換的一維正變換的算法流程圖
具體實(shí)施例方式 實(shí)施實(shí)例一 一種應(yīng)用于視頻和圖像處理的變換方法,其包括的8×8反離散余弦變換中的反變換預(yù)處理步驟中的8×8矩陣M是 取聯(lián)系參數(shù)S=10,k=12,ψ=1.3522468075656300, φ=0.9596162302465070可以得到 A=1024.0000000000000000,B=757.2582122367510000, C=1067.0932480341200000,,D=1070.9248339636200000, E=560.0000000000000000,F(xiàn)=789.1260989220920000,G=791.9595949289330000, H=1112.0000000000000000,I=1115.9928315182000000, J=1120.0000000000000000; a×212=5432.3763787064400000,b×212=1080.5668459858300000, c×212=4605.3463196628800000,d×212=3077.1940310190000000, h×212=2127.2189396844700000,t×212=5135.5608143231700000. 取A=1024,B=757,C=1067,D=1071,E=560,F(xiàn)=789,G=792,H=1112,I=1116,J=1120,a=5432/4096,b=1080/4096,c=4605/4096,d=3078/4096,h=2128/4096,t=5136/4096。
所述的應(yīng)用于視頻和圖像處理的反離散余弦變換方法,其詳細(xì)步驟如下 1、將輸入數(shù)據(jù)8×8數(shù)據(jù)塊X’做操作I得到反變換預(yù)處理的輸出數(shù)據(jù)所述操作I為
其中M[i][j]表示矩陣M中第(i,j)個(gè)元素; 2、進(jìn)行第一次一維反變換,步驟如下 將X按行排成8組向量,將第一行向量(X
,X
[1],L,X
[7])作為輸入,進(jìn)行如下運(yùn)算 p10=X
,p14=X
[4],p12=X
[2],p16=X
[6],p17=X
[1]-X
[7], p13=X
[3],p15=X
[5],p11=X
[1]+X
[7]; p20=p10+p14,p24=p10-p14,p22=p12*h-p16*t,p26=p16*h+p12*t,p27=p15+p17, p23=p11-p13,p25=p17-p15,p21=p11+p13; p30=p20+p26,p34=p24+p22,p32=p24-p22,p36=p20-p26,p37=p27*c-p21*d, p33=p23*a-p25*b,p35=p23*b+p25*a,p31=p21*c+p27*d; x’
=p30+p31,x’[1]
=p34+p35,x’[2]
=p32+p33,x’[3]
=p36+p37, x’[4]
=p36-p37,x’[5]
=p32-p33,x’[6]
=p34-p35,x’[7]
=p30-p31; 其中*表示乘法操作; 3、重復(fù)步驟2,將(X[1]
,X[1][1],L,X[1][7]),(X[2]
,X[2][1],L,X[2][7]),(X[3]
,X[3][1],L,X[3][7]),(X[4]
,X[4][1],L,X[4][7]),(X[5]
,X[5][1],L,X[5][7]),(X[6]
,X[6][1],L,X[6][7]),(X[7]
,X[7][1],L,X[7][7])依次進(jìn)行相同的一維反變換,得到第一次一維反變換輸出x’; 4、進(jìn)行第二次一維反變換,步驟如下 將x’按行排成8組向量,將第一行向量(x′
,x′
[1],L,x′
[7])作為輸入,進(jìn)行如下運(yùn)算 p10=x’
,p14=x’
[4],p12=x’
[2],p16=x’
[6],p17=x’
[1]-x’
[7], p13=x’
[3],p15=x’
[5],p11=x’
[1]+x’
[7]; p20=p10+p14,p24=p10-p14,p22=p12*h-p16*t,p26=p16*h+p12*t,p27=p15+p17, p23=p11-p13,p25=p17-p15,p21=p11+p13; p30=p20+p26,p34=p24+p22,p32=p24-p22,p36=p20-p26,p37=p27*c-p21*d, p33=p23*a-p25*b,p35=p23*b+p25*a,p31=p21*c+p27*d; x”
=p30+p31,x”[1]
=p34+p35,x”[2]
=p32+p33,x”[3]
=p36+p37, x”[4]
=p36-p37,x”[5]
=p32-p33,x”[6]
=p34-p35,x”[7]
=p30-p31; 5、重復(fù)步驟4,將(x′[1]
,x′[1][1],L,x′[1][7]),(x′[2]
,x′[2][1],L,x′[2][7]),(x′[3]
,x′[3][1],L,x′[3][7]),(x′[4]
,x′[4][1],L,x′[4][7]),(x′[5]
,x′[5][1],L,x′[5][7]),(x′[6]
,x′[6][1],L,x′[6][7]),(x′[7]
,x′[7][1],L,x′[7][7])進(jìn)行相同的一維反變換,得到第二次一維反變換輸出x”; 6、將所得的第二次一維反變換后的輸出x”進(jìn)行后處理右移w位得到8×8反離散余弦變換的輸出x,其中w=13,操作如下x[v][u]=x″[v][u]>>13 v,u∈
,>>表示右移位操作,反之,<<表示左移位操作; 實(shí)施實(shí)例二 一種應(yīng)用于視頻和圖像處理的變換方法,其包括的8×8反離散余弦變換中的反變換預(yù)處理步驟中的8×8矩陣M是 取聯(lián)系參數(shù)S=10,k=12,ψ=0.9000703207408190, φ=0.5918825969335950可以得到 A=1024.0000000000000000,B=1137.6888854164000000, C=1730.0728308369000000,D=1608.9350515170000000, E=1264.0000000000000000,F(xiàn)=1922.1529595742400000, G=1787.5659428395900000,H=2923.0000000000000000, I=2718.3347843854700000,J=2528.0000000000000000; a×212=3615.8493569450400000,b×212=719.2371556781520000, c×212=3065.3690701062000000,d×212=2048.2141299835100000, h×212=1312.0493699271300000,t×212=3167.5673833811500000, 取A=1024,B=1138,C=1730,D=1609,E=1264,F(xiàn)=1922,G=1788,H=2923,I=2718,J=2528,a=3616/4096,b=719/4096,c=3066/4096,d=2048/4096,h=1312/4096,t=3168/4096 所述的應(yīng)用于視頻和圖像處理的反離散余弦變換方法,其詳細(xì)步驟如下 1、將待變換的8×8數(shù)據(jù)X’做反變換預(yù)處理得到反變換預(yù)處理的輸出
2、進(jìn)行第一次一維反變換,步驟如下 將X按行排成8組向量,將第一行向量(X
,X
[1],L,X
[7])作為輸入,進(jìn)行如下運(yùn)算 p10=X
,p14=X
[4],p12=X
[2],p16=X
[6],p17=X
[1]-X
[7], p13=X
[3],p15=X
[5],p11=X
[1]+X
[7]; p20=p10+p14,p24=p10-p14,p22=p12⊙h-p16⊙t,p26=p16⊙h+p12⊙t, p27=p15+p17,p23=p11-p13,p25=p17-p15,p21=p11+p13; p30=p20+p26,p34=p24+p22,p32=p24-p22,p36=p20-p26,p37=p27⊙c-p21⊙d, p33=p23⊙a(bǔ)-p25⊙b,p35=p23⊙b+p25⊙a(bǔ),p31=p21⊙c+p27⊙d; x’
=p30+p31,x’[1]
=p34+p35,x’[2]
=p32+p33,x’[3]
=p36+p37, x’[4]
=p36-p37,x’[5]
=p32-p33,x’[6]
=p34-p35,x’[7]
=p30-p31 其中的⊙表示用加(減)法、移位實(shí)現(xiàn)乘法操作,定義如下 x⊙a(bǔ)=1-(x>>3)+(x>>7); x⊙b=(x>>3)-(x>>7)+(((x>>3)-(x>>7)-(x>>11))>>1) x⊙h=((x+(x>>5))>>2)+(x>>4) x⊙t=x+(x>>5)-((x+(x>>5))>>2) x⊙d=x>>2 x⊙c=(((x>>9)-x)>>2)-((x>>9)-x) 3、重復(fù)步驟2,將(X[1]
,X[1][1],L,X[1][7]),(X[2]
,X[2][1],L,X[2][7]),(X[3]
,X[3][1],L,X[3][7]),(X[4]
,X[4][1],L,X[4][7]),(X[5]
,X[5][1],L,X[5][7]),(X[6]
,X[6][1],L,X[6][7]),(X[7]
,X[7][1],L,X[7][7])進(jìn)行相同的一維反變換,得到第一次一維反變換輸出x’; 4、進(jìn)行第二次一維反變換,步驟如下 將x’按行排成8組向量,將第一行向量(x′
,x′
[1],L,x′
[7])作為輸入,進(jìn)行如下運(yùn)算 p10=x’
,p14=x’
[4],p12=x’
[2],p16=x’
[6],p17=x’
[1]-x’
[7], p13=x’
[3],p15=x’
[5],p11=x’
[1]+x’
[7]; p20=p10+p14,p24=p10-p14,p22=p12⊙h-p16⊙t,p26=p16⊙h+p12⊙t, p27=p15+p17,p23=p11-p13,p25=p17-p15,p21=p11+p13; p30=p20+p26,p34=p24+p22,p32=p24-p22,p36=p20-p26,p37=p27⊙c-p21⊙d, p33=p23⊙a(bǔ)-p25⊙b,p35=p23⊙b+p25⊙a(bǔ),p31=p21⊙c+p27⊙d; x”
=p30+p31,x”[1]
=p34+p35,x”[2]
=p32+p33,x”[3]
=p36+p37, x”[4]
=p36-p37,x”[5]
=p32-p33,x”[6]
=p34-p35,x”[7]
=p30-p31 其中的⊙操作定義與步驟2中的定義相同; 5、重復(fù)步驟4,將(x′[1]
,x′[1][1],L,x′[1][7]),(x′[2]
,x′[2][1],L,x′[2][7]),(x′[3]
,x′[3][1],L,x′[3][7]),(x′[4]
,x′[4][1],L,x′[4][7]),(x′[5]
,x′[5][1],L,x′[5][7]),(x′[6]
,x′[6][1],L,x′[6][7]),(x′[7]
,x′[7][1],L,x′[7][7])進(jìn)行相同的一維反變換,得到第二次一維反變換輸出x”; 6、將所得的第二次一維變換后的輸出x”進(jìn)行后處理右移w位得到8×8反離散余弦變換的輸出x,其中w=13,步驟如下x[v][u]=x″[v][u]>>13 v,u∈
。
實(shí)施實(shí)例三 一種應(yīng)用于視頻和圖像處理的變換方法,其包括的8×8反離散余弦變換中的反變換預(yù)處理步驟中的8×8矩陣M是 取聯(lián)系參數(shù)S=10,k=12, ψ=0.9000703207408190,φ=0.5918825969335950可以得到 A=1024.0000000000000000,B=1137.6888854164000000, C=1730.0728308369000000,D=1608.9350515170000000, E=1264.0000000000000000,F(xiàn)=1922.1529595742400000, G=1787.5659428395900000,H=2923.0000000000000000, I=718.3347843854700000,J=2528.0000000000000000; a×212=3615.8493569450400000,b×212=719.2371556781520000, c×212=3065.3690701062000000,d×212=2048.2141299835100000, h×212=1312.0493699271300000,t×212=3167.5673833811500000. 取A=1024,B=1138,C=1730,D=1609,E=1264,F(xiàn)=1922,G=1788,H=2923,I=2718,J=2528,a=3616/4096,b=719/4096,c=3066/4096,d=2048/4096,h=1312/4096,t=3168/4096 可以驗(yàn)證,由以上{A、B、C、D、E、F、G、H、I、J、a、b、c、d、h、t}所構(gòu)成的對(duì)應(yīng)的8×8反離散余弦變換方法符合ISO/IEC 23002-1-2006和以下2條定義的精度要求 (a)對(duì)于i∈
,j∈[1,255],產(chǎn)生64個(gè)輸入數(shù)據(jù)
令8×8輸入數(shù)據(jù)矩陣N′i,j=-Ni,j;將Ni,j和N′i,j分別進(jìn)行由{A、B、C、D、E、F、G、H、I、J、a、b、c、d、h、t}所構(gòu)成的8×8反離散余弦變換,得到兩個(gè)輸出塊,將其相加得到N″i,j;對(duì)i,j取值范圍內(nèi)所有的組合,所得到的N″i,j為全零; (b)根據(jù)ISO/IEC 23002-1-2006標(biāo)準(zhǔn)定義的隨機(jī)數(shù)生成方法,對(duì)1000000組[-1,+1]范圍內(nèi)的隨機(jī)數(shù),將這些隨機(jī)數(shù)作為輸入,對(duì)由{A、B、C、D、E、F、G、H、I、J、a、b、c、d、h、t}所構(gòu)成的8×8反離散余弦變換進(jìn)行測(cè)試得到omse=0.000204,小于0.01。
所述的應(yīng)用于視頻和圖像處理的反離散余弦變換方法,其詳細(xì)步驟如下 1、將待變換的8×8數(shù)據(jù)X’做反變換預(yù)處理得到反變換預(yù)處理的輸出
2、進(jìn)行第一次一維反變換,步驟如下將X按行排成8組向量,將第一行向量(X
,X
[1],L,X
[7])作為輸入,進(jìn)行如下運(yùn)算 p10=X
,p14=X
[4],p12=X
[2],p16=X
[6],p17=X
[1]-X
[7], p13=X
[3],p15=X
[5],p11=X
[1]+X
[7]; p20=p10+p14,p24=p10-p14,p22=p12⊙h-p16⊙t,p26=p16⊙h+p12⊙t, p27=p15+p17,p23=p11-p13,p25=p17-p15,p21=p11+p13; p30=p20+p26,p34=p24+p22,p32=p24-p22,p36=p20-p26,p37=p27⊙c-p21⊙d, p33=p23⊙a(bǔ)-p25⊙b,p35=p23⊙b+p25⊙a(bǔ),p31=p21⊙c+p27⊙d; x’
=p30+p31,x’[1]
=p34+p35,x’[2]
=p32+p33,x’[3]
=p36+p37, x’[4]
=p36-p37,x’[5]
=p32-p33,x’[6]
=p34-p35,x’[7]
=p30-p31 其中的⊙操作定義如下 x⊙a(bǔ)=1-(x>>3)+(x>>7); x⊙b=(x>>3)-(x>>7)+(((x>>3)-(x>>7)-(x>>11))>>1) x⊙h=(x+(x>>5))>>2)+(x>>4) x⊙t=x+(x>>5)-((x+(x>>5))>>2) x⊙d=x>>2 x⊙c=(((x>>9)-x)>>2)-((x>>9)-x); 3、重復(fù)步驟2,將(X[1]
,X[1][1],L,X[1][7]),(X[2]
,X[2][1],L,X[2][7]),(X[3]
,X[3][1],L,X[3][7]),(X[4]
,X[4][1],L,X[4][7]),(X[5]
,X[5][1],L,X[5][7]),(X[6]
,X[6][1],L,X[6][7]),(X[7]
,X[7][1],L,X[7][7])進(jìn)行相同的一維反變換,得到第一次一維反變換輸出x’; 4、進(jìn)行第二次一維反變換,步驟如下 將x’按行排成8組向量,將第一行向量(x′
,x′
[1],L,x′
[7])作為輸入,進(jìn)行如下運(yùn)算 p10=x’
,p14=x’
[4],p12=x’
[2],p16=x’
[6],p17=x’
[1]-x’
[7], p13=x’
[3],p15=x’
[5],p11=x’
[1]+x’
[7]; p20=p10+p14,p24=p10-p14,p22=p12⊙h-p16⊙t,p26=p16⊙h+p12⊙t, p27=p15+p17,p23=p11-p13,p25=p17-p15,p21=p11+p13; p30=p20+p26,p34=p24+p22,p32=p24-p22,p36=p20-p26,p37=p27⊙c-p21⊙d, p33=p23⊙a(bǔ)-p25⊙b,p35=p23⊙b+p25⊙a(bǔ),p31=p21⊙c+p27⊙d; x”
=p30+p31,x”[1]
=p34+p35,x”[2]
=p32+p33,x”[3]
=p36+p37, x”[4]
=p36-p37,x”[5]
=p32-p33,x”[6]
=p34-p35,x”[7]
=p30-p31 其中的⊙操作與2中的相同; 5、重復(fù)步驟4,將(x′[1]
,x′[1][1],L,x′[1][7]),(x′[2]
,x′[2][1],L,x′[2][7]),(x[3]
,x′[3][1],L,x′[3][7]),(x′[4]
,x′[4][1],L,x′[4][7]),(x′[5]
,x′[5][1],L,x′[5][7]),(x[6]
,x′[6][1],L,x′[6][7]),(x′[7]
,x′[7][1],L,x′[7][7])進(jìn)行相同的一維反變換,得到第二次一維反變換輸出x”; 6、將所得的第二次一維變換后的輸出x”進(jìn)行后處理右移w位得到8×8反離散余弦變換的輸出x,其中w=13,步驟如下x[v][u]=x″[v][u]>>13 v,u∈
。
實(shí)施實(shí)例四 一種應(yīng)用于視頻和圖像處理的變換方法,其包括的8×8離散余弦變換中的變換后處理步驟中的8×8矩陣M是 取聯(lián)系參數(shù)S=10,k=14, ψ=1.1812048201875100、φ=0.8012529373378150,可以得到 A=1024.0000000000000000,B=866.9114640401220000, C=1277.9984350538200000,D=1225.9979498222600000, E=733.9213735197150000,F(xiàn)=1081.9448187241100000, G=1037.9215601470700000,H=1595.0000000000000000, I=1530.1010363789400000,J=1467.8427470394300000; a×214=18981.0000000000000000,b×214=3775.5556452332900000, c×214=16091.3148131935000000,d×214=10751.8728142102000000, h×214=7104.6752652150500000,t×214=17152.2033815388000000. 取A=1024,B=867,C=1278,D=1226,E=734,F(xiàn)=1082,G=1038,H=1595,I=1530,J=1468,a=18981/16384,b=3776/16384,c=16091/16384,d=10752/16384,h=7104/16384,t=17152/16384 所述的應(yīng)用于視頻和圖像處理的離散余弦變換方法,其詳細(xì)步驟如下 1、將待變換的8×8數(shù)據(jù)y做正變換預(yù)處理得到正變換預(yù)處理的輸出y′[v][u]=y(tǒng)[u][v]<<7,v,u∈
; 2、進(jìn)行第一次一維正變換,步驟如下 將y’按列排成8組向量,將第一列向量(y′
,y′[1]
,L y′[7]
)τ作為輸入,進(jìn)行如下運(yùn)算 q10=y(tǒng)’
+y’[1]
,q14=y(tǒng)’[1]
+y’[6]
,q12=y(tǒng)’[2]
+y’[5]
, q16=y(tǒng)’[3]
+y’[4]
,q17=y(tǒng)’[3]
-y’[4]
,q13=y(tǒng)’[2]
-y’[5]
, q15=y(tǒng)’[1]
-y’[6]
,q11=y(tǒng)’
-y’[7]
; q20=q10+q16,q24=q14+q12,q22=q14-q12,q26=q10-q16,q27=q17*c+q11*d, q23=q13*a+q15*b,q25=q15*a-q13*b,q21=q11*c-q17*d; q30=q20+q24,q34=q20-q24,q32=q22*h+q26*t,q36=q26*h-q22*t,q37=q27+q25, q33=q21-q23,q35=q27-q25,q31=q21+q23; y”
=q30,y”
[1]=q31+q31,y”
[2]=q32,y”
[3]=q33,y”
[4]=q34, y”
[5]=q35,y”
[6]=q36,y”
[7]=q31-q37; 3、重復(fù)步驟2,將(y′
[1],y′[1][1],L y′[7][1])τ、(y′
[2],y′[1][2],L y′[7][2])τ、(y′
[3],y′[1][3],L y′[7][3])τ、(y′
[4],y′[1][4],L y′[7][4])τ、(y′
[5],y′[1][5],L y′[7][5])τ、(y′
[6],y′[1][6],L y′[7][6])τ、(y′
[7],y′[1][7],L y′[7][7])τ、進(jìn)行相同的一維正變換,得到第一次一維正變換輸出y”; 4、進(jìn)行第二次一維正變換,步驟如下 將y”按列排成8組向量,將第一列向量(y″
,y″[1]
,L y″[7]
)τ作為輸入,進(jìn)行如下運(yùn)算 q10=y(tǒng)”
+y”[1]
,q14=y(tǒng)”[1]
+y”[6]
,q12=y(tǒng)”[2]
+y”[5]
, q16=y(tǒng)”[3]
+y”[4]
,q17=y(tǒng)”[3]
-y”[4]
,q13=y(tǒng)”[2]
-y”[5]
, q15=y(tǒng)”[1]
-y”[6]
,q11=y(tǒng)”
-y”[7]
; q20=q10+q16,q24=q14+q12,q22=q14-q12,q26=q10-q16,q27=q17*c+q11*d, q23=q13*a+q15*b,q25=q15*a-q13*b,q21=q11*c-q17*d; q30=q20+q24,q34=q20-q24,q32=q22*h+q26*t,q36=q26*h-q22*t,q37=q27+q25, q33=q21-q23,q35=q27-q25,q31=q21+q23; y”’
=q30,y”’
[1]=q31+q31,y”’
[2]=q32,y”’
[3]=q33,y”’
[4]=q34, y”’
[5]=q35,y”’
[6]=q36,y”’
[7]=q31-q37; 5、重復(fù)步驟4,將(y″
[1],y″[1][1],L y″[7][1])τ、(y″
[2],y″[1][2],L y″[7][2])τ、(y″
[3],y″[1][3],L y″[7][3])τ、(y″
[4],y″[1][4],L y″[7][4])τ、(y″
[5],y″[1][5],L y″[7][5])τ、(y″
[6],y″[1][6],L y″[7][6])τ、(y″
[7],y″[1][7],L y″[7][7])τ進(jìn)行相同的一維正變換,得到第二次一維正變換輸出y”’; 6、將所得的第二次一維正變換后的輸出y”’進(jìn)行后處理右移z位得到8×8離散余弦變換的輸出Y,取z=20,步驟如下 Y[v][u]=[y″′[v][u]×M[v][u]+(1<<19)-f(y″′[v][u])]>>20。
實(shí)施實(shí)例五 一種應(yīng)用于視頻和圖像處理的變換方法,其包括的8×8離散余弦變換中的變換后處理步驟中的8×8矩陣M是 取聯(lián)系參數(shù)S=10,k=12, ψ=0.9000703207408190,φ=0.5918825969335950可以得到 A=1024.0000000000000000,B=1137.6888854164000000, C=1730.0728308369000000,D=1608.9350515170000000, E=1264.0000000000000000,F(xiàn)=1922.1529595742400000, G=1787.5659428395900000,H=2923.0000000000000000, I=2718.3347843854700000,J=2528.0000000000000000; a×212=3615.8493569450400000,b×212=719.2371556781520000, c×212=3065.3690701062000000,d×212=2048.2141299835100000, h×212=1312.0493699271300000,t×212=3167.5673833811500000. 取A=1024,B=1138,C=1730,D=1609,E=1264,F(xiàn)=1922,G=1788,H=2923,I=2718,J=2528,a=3616/4096,b=719/4096,c=3066/4096,d=2048/4096,h=1312/4096,t=3168/4096 所述的應(yīng)用于視頻和圖像處理的離散余弦變換方法,其詳細(xì)步驟如下 1、將待變換的8×8數(shù)據(jù)y做正變換預(yù)處理得到正變換預(yù)處理的輸出 y′[v][u]=y(tǒng)[u][v]<<7,v,u∈
; 2、將y’按列排成8組向量,將第一列向量(y′
,y′[1]
,L y′[7]
)τ作為輸入,進(jìn)行如下運(yùn)算 q10=y(tǒng)’
+y’[1]
,q14=y(tǒng)’[1]
+y’[6]
,q12=y(tǒng)’[2]
+y’[5]
, q16=y(tǒng)’[3]
+y’[4]
,q17=y(tǒng)’[3]
-y’[4]
,q13=y(tǒng)’[2]
-y’[5]
, q15=y(tǒng)’[1]
-y’[6]
,q11=y(tǒng)’
-y’[7]
; q20=q10+q16,q24=q14+q12,q22=q14-q12,q26=q10-q16,q27=q17⊙c+q11⊙d, q23=q13⊙a(bǔ)+q15⊙b,q25=q15⊙a(bǔ)-q13⊙b,q21=q11⊙c-q17⊙d; q30=q20+q24,q34=q20-q24,q32=q22⊙h+q26⊙t,q36=q26⊙h-q22⊙t, q37=q27+q25,q33=q21-q23,q35=q27-q25,q31=q21+q23; y”
=q30,y”
[1]=q31+q31,y”
[2]=q32,y”
[3]=q33,y”
[4]=q34, y”
[5]=q35,y”
[6]=q36,y”
[7]=q31-q37; 其中的⊙操作定義如下 x⊙a(bǔ)=1-(x>>3)+(x>>7); x⊙b=(x>>3)-(x>>7)+(((x>>3)-(x>>7)-(x>>11))>>1) x⊙h=((x+(x>>5))>>2)+(x>>4) x⊙t=x+(x>>5)-((x+(x>>5))>>2) x⊙d=x>>2 x⊙c=(((x>>9)-x)>>2)-((x>>9)-x); 3、重復(fù)步驟2,將(y′
[1],y′[1][1],L y′[7][1])τ、(y′
[2],y′[1][2],L y′[7][2])τ、(y′
[3],y′[1][3],L y′[7][3])τ、(y′
[4],y′[1][4],L y′[7][4])τ、(y′
[5],y′[1][5],L y′[7][5])τ、(y′
[6],y′[1][6],L y′[7][6])τ、(y′
[7],y′[1][7],L y′[7][7])τ進(jìn)行相同的一維正變換,得到第一次一維正變換輸出y”; 4、進(jìn)行第二次一維正變換,步驟如下 將y”按列排成8組向量,將第一列向量(y″
,y″[1]
,L y″[7]
)τ作為輸入,進(jìn)行如下運(yùn)算 q10=y(tǒng)”
+y”[1]
,q14=y(tǒng)”[1]
+y”[6]
,q12=y(tǒng)”[2]
+y”[5]
, q16=y(tǒng)”[3]
+y”[4]
,q17=y(tǒng)”[3]
-y”[4]
,q13=y(tǒng)”[2]
-y”[5]
, q15=y(tǒng)”[1]
-y”[6]
,q11=y(tǒng)”
-y”[7]
; q20=q10+q16,q24=q14+q12,q22=q14-q12,q26=q10-q16,q27=q17⊙c+q11⊙d, q23=q13⊙a(bǔ)+q15⊙b,q25=q15⊙a(bǔ)-q13⊙b,q21=q11⊙c-q17⊙d; q30=q20+q24,q34=q20-q24,q32=q22⊙h+q26⊙t,q36=q26⊙h-q22⊙t, q37=q27+q25,q33=q21-q23,q35=q27-q25,q31=q21+q23; y”’
=q30,y”’
[1]=q31+q31,y”’
[2]=q32,y”’
[3]=q33,y”’
[4]=q34, y”’
[5]=q35,y”’
[6]=q36,y”’
[7]=q31-q37 其中的⊙和步驟2中的相同; 5、重復(fù)步驟4,將(y″
[1],y″[1][1],L y″[7][1])τ、(y″
[2],y″[1][2],L y″[7][2])τ、 (y″
[3],y″[1][3],L y″[7][3])τ、(y″
[4],y″[1][4],L y″[7][4])τ、 (y″
[5],y″[1][5],L y″[7][5])τ、(y″
[6],y″[1][6],L y″[7][6])τ、 (y″
[7],y″[1][7],L y″[7][7])τ進(jìn)行相同的一維正變換,得到第二次一維正變換輸出y”’; 6、將所得的第二次一維正變換后的輸出y”’進(jìn)行后處理右移z位得到8×8反離散余弦變換的輸出Y,取z=20,步驟如下 y[v][u]=[y″′[v][u]×M[v][u]+(1<<19)-f(y″′[v][u])]>>20。
實(shí)施實(shí)例六 一種應(yīng)用于視頻和圖像處理的變換方法,其包括的8×8反離散余弦變換中的反變換預(yù)處理步驟中的8×8矩陣M是 取聯(lián)系參數(shù)S=10,k=12, ψ=0.9000703207408190,φ=0.5918825969335950可以得到 A=1024.0000000000000000,B=1137.6888854164000000, C=1730.0728308369000000,D=1608.9350515170000000, E=1264.0000000000000000,F(xiàn)=1922.1529595742400000, G=1787.5659428395900000,H=2923.0000000000000000, I=2718.3347843854700000,J=2528.0000000000000000; a×212=3615.8493569450400000,b×212=719.2371556781520000, c×212=3065.3690701062000000,d×212=2048.2141299835100000, h×212=1312.0493699271300000,t×212=3167.5673833811500000. 取A=1024,B=1138,C=1730,D=1609,E=1264,F(xiàn)=1922,G=1788,H=2923,I=2718,J=2528,a=3616/4096,b=719/4096,c=3066/4096,d=2048/4096,h=1312/4096,t=3168/4096 參見圖1所示,所述的應(yīng)用于視頻和圖像處理的反離散余弦變換方法的詳細(xì)步驟如下 1、輸入數(shù)據(jù)8×8數(shù)據(jù)塊X’動(dòng)態(tài)范圍為[-28+3,28+3-1],即12位位寬,將X’輸入,進(jìn)行反變換預(yù)處理
得到反變換預(yù)處理的輸出數(shù)據(jù)X; 2、將X按行排成8組向量 (X
,X
[1],L,X
[7]),(X[1]
,X[1][1],L,X[1][7]),(X[2]
,X[2][1],L,X[2][7]), (X[3]
,X[3][1],L,X[3][7]),(X[4]
,X[4][1],L,X[4][7]),(X[5]
,X[5][1],L,X[5][7]), (X[6]
,X[6][1],L,X[6][7]),(X[7]
,X[7][1],L,X[7][7]); 每組向量分別進(jìn)行一維反變換,其中每組向量均作為圖3中的X0~X7進(jìn)行一維反變換,圖3中的x0~x7即為每組一維反變換的結(jié)果xi’ x′0=(x′
,x′
[1],L,x′
[7]),x′1=(x′[1]
,x′[1][1],L,x′[1][7]), x′2=(x′[2]
,x′[2][1],L,x′[2][7]),x′3=(x′[3]
,x′[3][1],L,x′[3][7]), x′4=(x′[4]
,x′[4][1],L,x′[4][7]),x′5=(x′[5]
,x′[5][1],L,x′[5][7]), x′6=(x′[6]
,x′[6][1],L,x′[6][7]),x′7=(x′[7]
,x′[7][1],L,x′[7][7])。
圖3中的
操作分別用如下的加法、減法、移位操作的組合實(shí)現(xiàn) 一維反變換的輸出x’,
3、將存儲(chǔ)的x’按列排成8組向量,每組向量分別作為圖3中的X0~X7進(jìn)行第二次一維反變換,圖3中的x0~x7即為每組向量第二次一維反變換的結(jié)果,得到第二次一維反變換輸出x”; 4、將x”進(jìn)行反變換后處理,即右移w位,其中w=13 x[v][u]=x″[v][u]>>13 v,u∈
; 得到8×8反離散余弦變換的輸出x。
實(shí)施實(shí)例七 一種應(yīng)用于視頻和圖像處理的變換方法,其包括的8×8離散余弦變換中的正變換后處理步驟中的8×8矩陣M的排列方式是 取聯(lián)系參數(shù)S=10,k=12, ψ=0.9000703207408190,φ=0.5918825969335950可以得到 A=1024.0000000000000000,B=1137.6888854164000000, C=1730.0728308369000000,D=1608.9350515170000000, E=1264.0000000000000000,F(xiàn)=1922.1529595742400000, G=1787.5659428395900000,H=2923.0000000000000000, I=2718.3347843854700000,J=2528.0000000000000000; a×212=3615.8493569450400000,b×212=719.2371556781520000, c×212=3065.3690701062000000,d×212=2048.2141299835100000, h×212=1312.0493699271300000,t×212=3167.5673833811500000. 取A=1024,B=1138,C=1730,D=1609,E=1264,F(xiàn)=1922,G=1788,H=2923,I=2718,J=2528,a=3616/4096,b=719/4096,c=3066/4096,d=2048/4096,h=1312/4096,t=3168/4096; 參見圖2所示,所述的應(yīng)用于視頻和圖像處理的離散余弦變換方法的詳細(xì)步驟如下 1、輸入數(shù)據(jù)8×8數(shù)據(jù)塊y動(dòng)態(tài)范圍為[-28,28-1],將y輸入,進(jìn)行正變換預(yù)處理y′[v][u]=y(tǒng)[u][v]<<7,v,u∈
,得到正變換預(yù)處理的輸出y’; 2、將y’按列排成8組向量,(y′
,y′[1]
,L y′[7]
)τ,(y′
[1],y′[1][1],L y′[7][1])τ,(y′
[2],y′[1][2],L y′[7][2])τ,(y′
[3],y′[1][3],L y′[7][3])τ,(y′
[4],y′[1][4],L y′[7][4])τ,(y′
[5],y′[1][5],L y′[7][5])τ,(y′
[6],y′[1][6],L y′[7][6])τ,(y′
[7],y′[1][7],L y′[7][7])τ,每組向量分別作為圖4中的x0~x7輸入一維正變換裝置進(jìn)行一維正變換,每組一維正變換的結(jié)果均為圖4中的X0~X7 (y″
,y″[1]
,L y″[7]
)τ,(y″
[1],y″[1][1],L y″[7][1])τ、(y″
[2],y″[1][2],L y″[7][2])τ、(y″
[3],y″[1][3],L y″[7][3])τ、(y″
[4],y″[1][4],L y″[7][4])τ、(y″
[5],y″[1][5],L y″[7][5])τ、(y″
[6],y″[1][6],L y″[7][6])τ、(y″
[7],y″[1][7],L y″[7][7])τ; 圖4中的
操作分別用如下的加法、減法、移位操作的組合實(shí)現(xiàn) 3、將存儲(chǔ)的y”按行排成8組向量,每組向量分別作為圖4中的x0~x7再次進(jìn)行第二次一維正變換,圖4中的X0~X7即為每組向量第二次一維正變換的結(jié)果,得到第二次一維正變換的輸出y”’; 4、將所得的第二次一維正變換后的輸出y”’進(jìn)行正變換后處理,即右移z位,得到8×8反離散余弦變換的輸出數(shù)據(jù)Y,取z=20即y[v][u]=[y″′[v][u]×M[v][u]+(1<<19)-f(y″′[v][u])]>>20。
權(quán)利要求
1、一種應(yīng)用于視頻和圖像處理的變換方法,其特征在于所述的變換方法至少包括8×8反離散余弦變換方法和8×8離散余弦變換方法中的一種,所述8×8反離散余弦變換包括反變換預(yù)處理步驟、一維反變換步驟和反變換后處理步驟,所述的反變換預(yù)處理步驟使用一個(gè)8×8的整數(shù)矩陣M;所述的一維反變換步驟使用至少6個(gè)不同的乘法系數(shù)a、b、c、d、h、t進(jìn)行運(yùn)算;所述的反變換后處理步驟為右移w位的移位操作;所述8×8離散余弦變換包括正變換預(yù)處理步驟、一維正變換步驟和正變換后處理步驟,所述的正變換預(yù)處理步驟為左移r位的移位操作;所述的一維正變換步驟使用至少6個(gè)不同的乘法系數(shù)a、b、c、d、h、t進(jìn)行運(yùn)算;所述的正變換后處理步驟使用一個(gè)8×8的整數(shù)矩陣M和右移z位的移位操作。
2、根據(jù)權(quán)利要求1所述的應(yīng)用于視頻和圖像處理的變換方法,其特征在于所述的反變換預(yù)處理步驟中的8×8矩陣M由10個(gè)不同的整數(shù)元素組成
所述反變換預(yù)處理步驟如下輸入數(shù)據(jù)8×8數(shù)據(jù)塊X’與8×8矩陣M做操作I得到反變換預(yù)處理步驟的輸出數(shù)據(jù)X,所述操作I為
3、根據(jù)權(quán)利要求1所述的應(yīng)用于視頻和圖像處理的變換方法,其特征在于所述8×8反離散余弦變換方法中的一維反變換步驟含有或等效為如下運(yùn)算
p10=X0,p14=X4,p12=X2,p16=X6,p17=X1-X7,p13=X3,p15=X5,p11=X1+X7;
p20=p10+p14,p24=p10-p14,p22=p12*h-p16*t,p26=p16*h+p12*t,
p27=p15+p17,p23=p11-p13,p25=p17-p15,p21=p11+p13;
p30=p20+p26,p34=p24+p22,p32=p24-p22,p36=p20-p26,p37=p27*c-p21*d,
p33=p23*a-p25*b,p35=p23*b+p25*a,p31=p21*c+p27*d;
x0=p30+p31,x1=p34+p35,x2=p32+p33,x3=p36+p37,x4=p36-p37,
x5=p32-p33,x6=p34-p35,x7=p30-p31;
其中X0,X1,X2,X3,X4,X5,X6,X7為一維反變換步驟的輸入數(shù)據(jù),x0,x1,x2,x3,x4,x5,x6,x7為一維反變換步驟的輸出數(shù)據(jù),p10~p17、p20~p27、p30~p37是一維反變換步驟的中間變量。
4、根據(jù)權(quán)利要求1所述的應(yīng)用于視頻和圖像處理的變換方法,其特征在于所述反變換后處理步驟中的移位參數(shù)w=S+3。
5、根據(jù)權(quán)利要求1所述的應(yīng)用于視頻和圖像處理的變換方法,其特征在于所述8×8離散余弦變換方法中的一維正變換步驟含有或等效為如下運(yùn)算
q10=y(tǒng)0+y1,q14=y(tǒng)1+y6,q12=y(tǒng)2+y5,q16=y(tǒng)3+y4,q17=y(tǒng)3-y4,q13=y(tǒng)2-y5,
q15=y(tǒng)1-y6,q11=y(tǒng)0-y7;
q20=q10+q16,q24=q14+q12,q22=q14-q12,q26=q10-q16,q27=q17*c+q11*d,
q23=q13*a+q15*b,q25=q15*a-q13*b,q21=q11*c-q17*d;
q30=q20+q24,q34=q20-q24,q32=q22*h+q26*t,q36=q26*h-q22*t,
q37=q27+q25,q33=q21-q23,q35=q27-q25,q31=q21+q23;
Y0=q30,Y1=q31+q31,Y2=q32,Y3=q33,Y4=q34,Y5=q35,Y6=q36,
Y7=q31-q37,
其中y0,y1,y2,y3,y4,y5,y6,y7為一維正變換的輸入數(shù)據(jù),Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7為一維正變換的輸出數(shù)據(jù),q10~q17、q20~q27、q30~q37為一維正變換的中間變量。
6、根據(jù)權(quán)利要求1所述的應(yīng)用于視頻和圖像處理的變換方法,其特征在于所述正變換后處理步驟中的8×8矩陣M由10個(gè)不同的整數(shù)元素組成
所述正變換后處理步驟如下輸入數(shù)據(jù)8×8數(shù)據(jù)塊Y’與8×8矩陣M做操作II得到正變換后處理步驟的輸出數(shù)據(jù)Y所述操作II為Y[y][x]=[Y′[y][x]×M[y][x]+(1<<(z-1))-f(Y′[y][x])]>>z y,x∈
;其中函數(shù)f(a)做如下定義
7、根據(jù)權(quán)利要求5或6所述的應(yīng)用于視頻和圖像處理的變換方法,其特征在于正變換預(yù)處理步驟中的移位參數(shù)r=7;正變換后處理步驟中的移位參數(shù)z=20。
8、根據(jù)權(quán)利要求1所述的應(yīng)用于視頻和圖像處理的變換方法,其特征在于一維反變換步驟和一維正變換步驟中的*運(yùn)算可以采用加法、減法、右移中的一個(gè)或多個(gè)的組合來替代,*表示乘法操作。
9、根據(jù)權(quán)利要求1、2或5所述的應(yīng)用于視頻和圖像處理的變換方法,其特征在于所述一維正變換步驟、一維反變換步驟中的乘法系數(shù)a、b、c、d、h、t和反變換預(yù)處理或正變換后處理步驟中的參數(shù)A、B、C、D、E、F、G、H、I、J的相互關(guān)系如下A=[1×2S],其中γ=cos(π/16),δ=sin(π/16),ε=cos(3π/16),ζ=sin(3π/16),k、S、ψ、φ是聯(lián)系因子;由它們構(gòu)成的{A、B、C、D、E、F、G、H、I、J、a、b、c、d、h、t}所對(duì)應(yīng)的8×8反離散余弦變換方法須符合ISO/IEC23002-1-2006和以下2條定義的精度要求
(a)線性測(cè)試對(duì)于i∈
,j∈[1,255],產(chǎn)生64個(gè)輸入數(shù)據(jù)
令8×8輸入數(shù)據(jù)矩陣N′i,j=-Ni,j;將Ni,j和N′i,j分別進(jìn)行由{A、B、C、D、E、F、G、H、I、J、a、b、c、d、h、t}所構(gòu)成的8×8反離散余弦變換,得到兩個(gè)輸出塊,將其相加得到N″i,j;對(duì)i,j取值范圍內(nèi)所有的組合,所得到的N″i,j均應(yīng)為全零;
(b)根據(jù)ISO/IEC 23002-1-2006標(biāo)準(zhǔn)定義的隨機(jī)數(shù)生成方法,產(chǎn)生Q組[-L,+H]范圍內(nèi)的隨機(jī)數(shù),將這些隨機(jī)數(shù)作為輸入,對(duì)由{A、B、C、D、E、F、G、H、I、J、a、b、c、d、h、t}所構(gòu)成的8×8反離散余弦變換進(jìn)行測(cè)試得到omse;其中的L<10,H<10,Q>=10000,所得到的omse必須小于0.01。
全文摘要
本發(fā)明公開了一種應(yīng)用于視頻和圖像處理的變換方法。它至少包括8×8反離散余弦變換方法和8×8離散余弦變換方法中的一種,所述8×8反離散余弦變換包括反變換預(yù)處理步驟、一維反變換步驟和反變換后處理步驟;所述8×8離散余弦變換包括正變換預(yù)處理步驟、一維正變換步驟和正變換后處理步驟。本發(fā)明公開的變換方法能很好地逼近理想的8×8反離散余弦變換及理想的8×8離散余弦變換,精度上遠(yuǎn)遠(yuǎn)超過ISO/IEC 23002-1-2006的要求,同時(shí)在硬件實(shí)現(xiàn)上復(fù)雜度大大降低,能應(yīng)用在多種現(xiàn)有流行的國(guó)際視頻編解碼標(biāo)準(zhǔn)。
文檔編號(hào)H04N7/26GK101282476SQ20071030090
公開日2008年10月8日 申請(qǐng)日期2007年12月7日 優(yōu)先權(quán)日2007年7月29日
發(fā)明者露 虞, 張賜勛, 倪志博 申請(qǐng)人:浙江大學(xué)