应用于视频和图像处理的变换方法

文档序号:7647832阅读:197来源:国知局
专利名称:应用于视频和图像处理的变换方法
技术领域
本发明涉及电数字数据处理技术领域,特别是涉及一种应用于视频和图像处理的定点反离散余弦变换、定点离散余弦的变换方法。

背景技术
在部分视频编码标准中,如ITU制定的H.261,H.263,以及ISO的MPEG组织制定的MPEG-1、MPEG-2、MPEG-4标准,都是采用离散余弦变换(DCT)去除空间域的信息冗余度来达到压缩的目的。理想的8×8离散余弦变换和反离散余弦变换分别如下 其中

由于在理想的8×8离散余弦变换中,变换矩阵乘法系数是无理数,而在实际的实现上这些乘法系数位宽不可能达到无限长,因此都是利用定点的实现方法拟合这些无理数来实现离散余弦变换变换。同样的,在解码部分,由于理想的8×8反离散余弦变换(IDCT)采用的是理想的8×8离散余弦变换矩阵的转置矩阵,所以其变换矩阵系数也是无理数,同样需要定点的实现来拟合这些无理数。
此外,在软件硬件的具体实现中,为了进一步降低资源的开销和提升处理速度,通常采用加法器和移位器来取代乘法器的功能;而对于不同的定点数,所需要的加法器和移位次数都是不一样的,这就要求如何用最优或者接近最优的方法来获得理想的8×8 DCT/IDCT中这些无理数的定点表示,使之既能达到足够高的精度,又能使得所需要的加法器和移位次数最少。
目前对于用定点反离散余弦变换的精度有一系列的要求,这些要求体现在标准ISO/IEC 23002-1-2006中。整个测试分为随机数生成、随机数输入测试、全零输入测试和临近DC倒置测试以及相应的指标。
以下是ISO/IEC 23002-1-2006标准定义的精度测试规范 一、随机数生成 设变量i,j,k和s为采用二进制补码表示的32比特整数。采用下面指定的方法产生一维随机数组r[i],其中i=0..(64*Q-1),Q=10000或Q=1000000。
1、令s=1。
2、对于i=0到64*Q-1,进行以下操作 A、令s=(s*1103515245)+12345 B、令j=s&0x7ffffffe C、令floor(x)表示取不大于x的最大整数 D、令r[i]=k-L 二、随机数输入测试 1、对于下面的每一对L和H, -L=2B和H=2B-1 -L=5*2B-8和H=5*2B-8 -L=300*2B-8和H=300*2B-8 进行以下步骤 采用一中的方法生成64*Q个随机数,组成数组r[i],i=0..(64*Q-1). 2、对于z在0..(Q-1)中的每一个值,进行以下操作 对于x=0..7和y=0..7,置fz[y][x]=r[64*z+8*y+x]. 对8×8矩阵fz进行一次式(1)定义的理想的DCT操作,然后四舍五入得到整数的8×8变换系数矩阵F′z必须采用至少64比特的浮点精度。
对于u=0..7和v=0..7,置F″z[v][u]=clip3(-2B+3,2B+3-1,F′z[v][u]),clip3(a,b,x)定义如下 对8×8变换系数矩阵F″z进行一次式(2)定义的IDCT操作,然后四舍五入得到8×8矩阵g′z。必须采用至少64比特的浮点精度。
对于x=0..7和y=0..7,置g″z[y][x]=clip3(-2B,2B-1,g′z[y][x]).对8×8变换系数矩阵F″z进行一次被测的IDCT操作,然后四舍五入得到8×8矩阵h′z。
对于x=0..7和y=0..7,置h″z[y][x]=clip3(-2B,2B-1,h′z[y][x]). 4、对x=0..7和y=0..7,按下面式子计算8×8矩阵d和e 其中d[y][x]表示矩阵(x,y)位置上像素的平均误差(pme),e[y][x]表示矩阵(x,y)位置上像素的均方误差(pmse) 5、计算m和n的值 其中m表示所有像素的平均误差(ome),|n|表示所有像素的均方误差(omse)。
6、判定是否满足以下精度要求 ●p<=1. ●对于x=0..7和y=0..7,|d[y][x]|<=0.015. ●对于x=0..7和y=0..7,e[y][x]<=0.06. ●|n|<=0.02. ● m<=0.001 5. 7、置r[i]=-r[i]对于i=0..(64*Q-1),重复上述步骤2到6。
三、全零输入测试(All Zero Test) 置F′[v][u]=0,u=0..7和v=0..7。
对8×8变换系数矩阵F′[v][u]进行一次被测的IDCT,然后四舍五入得到对应的8×8矩阵h′。
对于x=0..7和y=0..7,h′[y][x]的值应该为0。
四、临近DC倒置测试(Near-DC Inversion Test) 对于变量z=0..(2B+4-1),进行以下步骤 对于u=0..7和v=0..7,置Fz″[v][u]=0. 置Fz″
=z-2B+3. 如果z是偶数,置Fz″[7][7]=1;否则置Fz″[7][7]=0. 对8×8变换系数矩阵Fz″进行一次理论的IDCT,然后四舍五入得到对应的8×8矩阵g′z.必须采用至少64比特的浮点精度。
对于x=0..7和y=0..7,置g″z[y][x]=clip3(-2B,2B-1,g′z[y][x]).对8×8变换系数矩阵Fz″进行一次需要测试的IDCT,然后四舍五入得到对应的8×8矩阵h′z 对于x=0..7和y=0..7,h″z[y][x]=clip3(-2B,2B-1,h′z[y][x]). p的值必须小于等于1。
对于一个定点反离散余弦变换,如果满足上述所有的精度测试规范要求,则该定点反离散余弦变换符合ISO/IEC 23002-1-2006。


发明内容
本发明的目的在于针对现有技术中的离散余弦变换、反离散余弦变换定点实现上的不足,提供了一种能够以较低的复杂度和较简单的结构实现8×8离散余弦变换/反离散余弦变换(DCT/IDCT),并且和理论上的变换相比具有较高精度的应用于视频和图像处理的变换方法。
所述应用于视频和图像处理的变换方法,它至少包括8×8反离散余弦变换方法和8×8离散余弦变换方法中的一种,所述的8×8反离散余弦变换为 所述的8×8离散余弦变换为 其中

所述8×8反离散余弦变换方法用以实现逼近理想的反离散余弦变换,包括反变换预处理步骤、一维反变换步骤和反变换后处理步骤,所述的反变换预处理步骤使用一个8×8的整数矩阵M;所述的一维反变换步骤使用至少6个不同的乘法系数a、b、c、d、h、t进行运算;所述的反变换后处理步骤为右移w位的移位操作。
所述的反变换预处理步骤中的8×8矩阵M由10个不同的整数元素组成 所述反变换预处理步骤如下输入数据8×8数据块X’与8×8矩阵M做操作I得到反变换预处理步骤的输出数据X,所述操作I为
所述8×8反离散余弦变换方法中的一维反变换步骤含有或等效为如下运算 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为一维反变换步骤的输入数据,x0,x1,x2,x3,x4,x5,x6,x7为一维反变换步骤的输出数据,p10~p17、p20~p27、p30~p37是一维反变换步骤的中间变量。
在所述8×8反离散余弦变换方法中,当反变换预处理步骤的输入数据的动态范围为[-2R+3,2R+3-1]时,反变换预处理步骤的输出数据的动态范围是[-2R+14,2R+14-1];一维反变换步骤中的输入数据、输出数据和中间变量的动态范围不超过[-2R+17,2R+17-1];所述反变换后处理步骤中的移位参数w=13,反变换后处理步骤的输出数据动态范围为[-2R,2R-1],R为正整数。
所述8×8离散余弦变换方法用以实现逼近理想的离散余弦变换,包括正变换预处理步骤、一维正变换步骤和正变换后处理步骤;所述的正变换预处理步骤为左移r位的移位操作;所述的一维正变换步骤使用至少6个不同的乘法系数a、b、c、d、h、t进行运算;所述的正变换后处理步骤使用一个8×8的整数矩阵M和右移z位的移位操作。
所述8×8离散余弦变换方法中的一维正变换步骤含有或等效为如下运算 q10=y0+y1,q14=y1+y6,q12=y2+yx5,q16=y3+y4,q17=y3-y4,q13=y2-y5, q15=y1-y6,q11=y0-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为一维正变换的输入数据,Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7为一维正变换的输出数据。q10~q17、q20~q27、q30~q37为一维正变换的中间变量。
所述正变换后处理步骤中的8×8矩阵M由10个不同的整数元素组成 所述正变换后处理步骤如下输入数据8×8数据块 Y’与8×8矩阵M做操作II得到正变换后处理步骤的输出数据Y所述操作II为Y[y][x]=[Y′[y][x]×M[y][x]+(1<<19)-f(Y′[y][x])]>>z y,x∈
;其中函数f(a)做如下定义 所述8×8离散余弦变换方法中,当正变换预处理步骤输入数据的动态范围为[-2R,2R-1]时,正变换预处理步骤的输出数据的动态范围是[-2R+7,2R+7-1],一维正变换步骤中的输入数据、输出数据和中间变量的动态范围不超过[-2R+13,2R+13-1];正变换预处理步骤中的移位参数r=7,正变换后处理步骤中的移位参数z=20,R为正整数。
所述的应用于视频和图像处理的变换方法中的一维反变换步骤中的*运算和一维正变换步骤中的*运算可以采用加法、减法、右移中的一个或多个的组合来替代,*表示乘法操作。
所述应用于视频和图像处理的变换方法中的一维正变换步骤、一维反变换步骤中的乘法系数a、b、c、d、h、t和反变换预处理或正变换后处理步骤中的参数A、B、C、D、E、F、G、H、I、J的相互关系如下A=[1×2S],其中a=cos(3π/8),β=sin(3π/8),γ=cos(π/16),δ=sin(π/16),ε=cos(3π/16),ζ=sin(3π/16),k、S、ψ、φ是联系因子,[x]表示取最接近x的两个整数之一,例如x=2.1,则[x]=2或者3;由它们构成的{A、B、C、D、E、F、G、H、I、J、a、b、c、d、h、t}所对应的8×8反离散余弦变换方法须符合ISO/IEC 23002-1-2006和以下2条定义的精度要求 (a)线性测试对于i∈
,j∈[1,255],产生64个输入数据

x∈
,x/a表示x整除,ax%a表示x整除a的余数;令8×8输入数据矩阵N′i,j=-Ni,j;将Ni,j和N′i,j分别进行由{A、B、C、D、E、F、G、H、I、J、a、b、c、d、h、t}所构成的8×8反离散余弦变换,得到两个输出块,将其相加得到N″i,j;对i,j取值范围内所有的组合,所得到的N″i,j均应为全零; (b)根据ISO/IEC 23002-1-2006标准定义的随机数生成方法,产生Q组[-L,+H]范围内的随机数,将这些随机数作为输入,对由{A、B、C、D、E、F、G、H、I、J、a、b、c、d、h、t}所构成的8×8反离散余弦变换进行测试得到omse;其中的L<10,H<10,Q>=10000,所得到的omse必须小于0.01。
本发明为应用于视频和图像处理的反变换及正变换方法,能很好地逼近理想的8×8反离散余弦变换及理想的8×8离散余弦变换,精度上远远超过ISO/IEC 23002-1-2006的要求,同时在硬件实现上复杂度大大降低,并能应用在多种现有流行的国际视频编解码标准。其反变换预处理过程可以结合视频压缩解码的反量化,进一步降低复杂度。



图1为应用于视频和图像处理的反变换方法流程示意图 图2为应用于视频和图像处理的正变换方法流程示意图 图3为8×8反离散余弦变换的一维反变换的算法流程图 图4为8×8离散余弦变换的一维正变换的算法流程图
具体实施例方式 实施实例一 一种应用于视频和图像处理的变换方法,其包括的8×8反离散余弦变换中的反变换预处理步骤中的8×8矩阵M是 取联系参数S=10,k=12,ψ=1.3522468075656300, φ=0.9596162302465070可以得到 A=1024.0000000000000000, B=757.2582122367510000, C=1067.0932480341200000,,D=1070.9248339636200000, E=560.0000000000000000,F=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=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。
所述的应用于视频和图像处理的反离散余弦变换方法,其详细步骤如下 1、将输入数据8×8数据块X’做操作I得到反变换预处理的输出数据所述操作I为

其中M[i][j]表示矩阵M中第(i,j)个元素; 2、进行第一次一维反变换,步骤如下 将X按行排成8组向量,将第一行向量(X
,X
[1],…,X
[7])作为输入,进行如下运算 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、重复步骤2,将(X[1]
,X[1][1],…,X[1][7]),(X[2]
,X[2][1],…,X[2][7]),(X[3]
,X[3][1],…,X[3][7]),(X[4]
,X[4][1],…,X[4][7]),(X[5]
,X[5][1],…,X[5][7]),(X[6]
,X[6][1],…,X[6][7]),(X[7]
,X[7][1],…,X[7][7])依次进行相同的一维反变换,得到第一次一维反变换输出x’; 4、进行第二次一维反变换,步骤如下 将x’按行排成8组向量,将第一行向量(x′
,x′
[1],…,x′
[7])作为输入,进行如下运算 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、重复步骤4,将(x′[1]
,x′[1][1],…,x′[1][7]),(x′[2]
,x′[2][1],…,x′[2][7]),(x′[3]
,x′[3][1],…,x′[3][7]),(x′[4]
,x′[4][1],…,x′[4][7]),(x′[5]
,x′[5][1],…,x′[5][7]),(x′[6]
,x′[6][1],…,x′[6][7]),(x′[7]
,x′[7][1],…,x′[7][7])进行相同的一维反变换,得到第二次一维反变换输出x”; 6、将所得的第二次一维反变换后的输出x”进行后处理右移w位得到8×8反离散余弦变换的输出x,其中w=13,操作如下x[v][u]=x″[v][u]>>13 v,u∈
,>>表示右移位操作,反之,<<表示左移位操作; 实施实例二 一种应用于视频和图像处理的变换方法,其包括的8×8反离散余弦变换中的反变换预处理步骤中的8×8矩阵M是 取联系参数S=10,k==12,ψ=0.9000703207408190, φ=0.5918825969335950可以得到 A=1024.0000000000000000,B=1137.6888854164000000, C=1730.0728308369000000,D=1608.9350515170000000, E=1264.0000000000000000,F=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=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、将待变换的8×8数据X’做反变换预处理得到反变换预处理的输出
2、进行第一次一维反变换,步骤如下 将X按行排成8组向量,将第一行向量(X
,X
[1],…,X
[7])作为输入,进行如下运算 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 其中的⊙表示用加(减)法、移位实现乘法操作,定义如下 x⊙a=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、重复步骤2,将(X[1]
,X[1][1],…,X[1][7]),(X[2]
,X[2][1],…,X[2][7]),(X[3]
,X[3][1],…,X[3][7]),(X[4]
,X[4][1],…,X[4][7]),(X[5]
,X[5][1],…,X[5][7]),(X[6]
,X[6][1],…,X[6][7]),(X[7]
,X[7][1],…,X[7][7])进行相同的一维反变换,得到第一次一维反变换输出x’; 4、进行第二次一维反变换,步骤如下 将x’按行排成8组向量,将第一行向量(x′
,x′
[1],…,x′
[7])作为输入,进行如下运算 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 其中的⊙操作定义与步骤2中的定义相同; 5、重复步骤4,将(x′[1]
,x′[1][1],…,x′[1][7]),(x′[2]
,x′[2][1],…,x′[2][7]),(x′[3]
,x′[3][1],…,x′[3][7]),(x′[4]
,x′[4][1],…,x′[4][7]),(x′[5]
,x′[5][1],…,x′[5][7]),(x′[6]
,x′[6][1],…,x′[6][7]),(x′[7]
,x′[7][1],…,x′[7][7])进行相同的一维反变换,得到第二次一维反变换输出x”; 6、将所得的第二次一维变换后的输出x”进行后处理右移w位得到8×8反离散余弦变换的输出x,其中w=13,步骤如下x[v][u]=x″[v][u]>>13 v,u∈

实施实例三 一种应用于视频和图像处理的变换方法,其包括的8×8反离散余弦变换中的反变换预处理步骤中的8×8矩阵M是 取联系参数S=10,k=12, ψ=0.9000703207408190,φ=0.5918825969335950可以得到 A=1024.0000000000000000,B=1137.6888854164000000, C=1730.0728308369000000,D=1608.9350515170000000, E=1264.0000000000000000,F=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=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 可以验证,由以上{A、B、C、D、E、F、G、H、I、J、a、b、c、d、h、t}所构成的对应的8×8反离散余弦变换方法符合ISO/IEC 23002-1-2006和以下2条定义的精度要求 (a)对于i∈
,j∈[1,255],产生64个输入数据

令8×8输入数据矩阵N′i,j=-Ni,j;将Ni,j和N′i,j分别进行由{A、B、C、D、E、F、G、H、I、J、a、b、c、d、h、t}所构成的8×8反离散余弦变换,得到两个输出块,将其相加得到N″i,j;对i,j取值范围内所有的组合,所得到的N″i,j为全零; (b)根据ISO/IEC 23002-1-2006标准定义的随机数生成方法,对1000000组[-1,+1]范围内的随机数,将这些随机数作为输入,对由{A、B、C、D、E、F、G、H、I、J、a、b、c、d、h、t}所构成的8×8反离散余弦变换进行测试得到omse=0.000204,小于0.01。
所述的应用于视频和图像处理的反离散余弦变换方法,其详细步骤如下 1、将待变换的8×8数据X’做反变换预处理得到反变换预处理的输出
2、进行第一次一维反变换,步骤如下将X按行排成8组向量,将第一行向量(X
,X
[1],…,X
[7])作为输入,进行如下运算 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 其中的⊙操作定义如下 x⊙a=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、重复步骤2,将(X[1]
,X[1][1],…,X[1][7]),(X[2]
,X[2][1],…,X[2][7]),(X[3]
,X[3][1],…,X[3][7]),(X[4]
,X[4][1],…,X[4][7]),(X[5]
,X[5][1],…,X[5][7]),(X[6]
,X[6][1],…,X[6][7]),(X[7]
,X[7][1],…,X[7][7])进行相同的一维反变换,得到第一次一维反变换输出x’; 4、进行第二次一维反变换,步骤如下 将x’按行排成8组向量,将第一行向量(x′
,x′
[1],…,x′
[7])作为输入,进行如下运算 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 其中的⊙操作与2中的相同; 5、重复步骤4,将(x′[1]
,x′[1][1],…,x′[1][7]),(x′[2]
,x′[2][1],…,x′[2][7]),(x′[3]
,x′[3][1],…,x′[3][7]),(x′[4]
,x′[4][1],…,x′[4][7]),(x′[5]
,x′[5][1],…,x′[5][7]),(x′[6]
,x′[6][1],…,x′[6][7]),(x′[7]
,x′[7][1],…,x′[7][7])进行相同的一维反变换,得到第二次一维反变换输出x”; 6、将所得的第二次一维变换后的输出x”进行后处理右移w位得到8×8反离散余弦变换的输出x,其中w=13,步骤如下x[v][u]=x″[v][u]>>13 v,u∈

实施实例四 一种应用于视频和图像处理的变换方法,其包括的8×8离散余弦变换中的变换后处理步骤中的8×8矩阵M是 取联系参数S=10,k=14, ψ=1.1812048201875100、φ=0.8012529373378150,可以得到 A=1024.0000000000000000,B=866.9114640401220000, C=1277.9984350538200000,D=1225.9979498222600000, E=733.9213735197150000,F=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=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 所述的应用于视频和图像处理的离散余弦变换方法,其详细步骤如下 1、将待变换的8×8数据y做正变换预处理得到正变换预处理的输出y′[v][u]=y[u][v]<<7,v,u∈
; 2、进行第一次一维正变换,步骤如下 将y’按列排成8组向量,将第一列向量(y′
,y′[1]
,…y′[7]
)T作为输入,进行如下运算 q10=y’
+y’[1]
,q14=y’[1]
+y’[6]
,q12=y’[2]
+y’[5]
, q16=y’[3]
+y’[4]
,q17=y’[3]
-y’[4]
,q13=y’[2]
-y’[5]
, q15=y’[1]
-y’[6]
,q11=y’
-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、重复步骤2,将(y′
[1],y′[1][1],…y′[7][1])T、(y′
[2],y′[1][2],…y′[7][2])T、(y′
[3],y′[1][3],…y′[7][3])T、(y′
[4],y′[1][4],…y′[7][4])T、(y′
[5],y′[1][5],…y′[7][5])T、(y′
[6],y′[1][6],…y′[7][6])T、(y′
[7],y′[1][7],…y′[7][7])T、进行相同的一维正变换,得到第一次一维正变换输出y”; 4、进行第二次一维正变换,步骤如下 将y”按列排成8组向量,将第一列向量(y″
,y″[1]
,…y″[7]
)T作为输入,进行如下运算 q10=y”
+y”[1]
,q14=y”[1]
+y”[6]
,q12=y”[2]
+y”[5]
, q16=y”[3]
+y”[4]
,q17=y”[3]
-y”[4]
,q13=y”[2]
-y”[5]
, q15=y”[1]
-y”[6]
,q11=y”
-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、重复步骤4,将(y″
[1],y″[1][1],…y″[7][1])T、(y″
[2],y″[1][2],…y″[7][2])T、(y″
[3],y″[1][3],…y″[7][3])T、(y″
[4],y″[1][4],…y″[7][4])T、(y″
[5],y″[1][5],…y″[7][5])T、(y″
[6],y″[1][6],…y″[7][6])T、(y″
[7],y′[1][7],…y″[7][7])T进行相同的一维正变换,得到第二次一维正变换输出y; 6、将所得的第二次一维正变换后的输出y进行后处理右移z位得到8×8离散余弦变换的输出Y,取z=20,步骤如下 Y[v][u]=[y[v][u]×M[v][u]+(1<<19)-f(y[v][u])]>>20。
实施实例五 一种应用于视频和图像处理的变换方法,其包括的8×8离散余弦变换中的变换后处理步骤中的8×8矩阵M是 取联系参数S=10,k=12, ψ=0.9000703207408190,φ=0.5918825969335950可以得到 A=1024.0000000000000000,B=1137.6888854164000000, C=1730.0728308369000000,D=1608.9350515170000000, E=1264.0000000000000000,F=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=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、将待变换的8×8数据y做正变换预处理得到正变换预处理的输出 y′[v][u]=y[u][v]<<7,v,u∈
; 2、将y’按列排成8组向量,将第一列向量(y′
,y′[1]
,…y′[7]
)T作为输入,进行如下运算 q10=y’
+y’[1]
,q14=y’[1]
+y’[6]
,q12=y’[2]
+y’[5]
, q16=y’[3]
+y’[4]
,q17=y’[3]
-y’[4]
,q13=y’[2]
-y’[5]
, q15=y’[1]
-y’[6]
,q11=y’
-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; q3 0=q20+q24,q34=q20-q24,q32=q22⊙h+q26⊙t,q36=q26⊙h-q22⊙t, q37=q27+q25,q33=q21-q23,q35=q27-q25,q3 1=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=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、重复步骤2,将(y′
[1],y′[1][1],…y′[7][1])T、(y′
[2],y′[1][2],…y′[7][2])T、(y′
[3],y′[1][3],…y′[7][3])T、(y′
[4],y′[1][4],…y′[7][4])T、(y′
[5],y′[1][5],…y′[7][5])T、(y′
[6],y′[1][6],…y′[7][6])T、(y′
[7],y′[1][7],…y′[7][7])T进行相同的一维正变换,得到第一次一维正变换输出y”; 4、进行第二次一维正变换,步骤如下 将y”按列排成8组向量,将第一列向量(y″
,y″[1]
,…y″[[7]
)T作为输入,进行如下运算 q10=y”
+y”[1]
,q14=y”[1]
+y”[6]
,q12=y”[2]
+y”[5]
, q16=y”[3]
+y”[4]
,q17=y”[3]
-y”[4]
,q13=y”[2]
-y”[5]
, q15=y”[1]
-y”[6]
,q11=y”
-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 其中的⊙和步骤2中的相同; 5、重复步骤4,将(y″
[1],y″[1][1],…y″[7][1])T、(y″
[2],y″[1][2],…y″[7][2])T、(y″
[3],y″[1][3],…y″[7][3])T、(y″
[4],y″[1][4],…y″[7][4])T、(y″
[5],y″[1][5],…y″[7][5])T、(y″
[6],y″[1][6],…y″[7][6])T、(y″
[7],y″[1][7],…y″[7][7])T进行相同的一维正变换,得到第二次一维正变换输出y; 6、将所得的第二次一维正变换后的输出y进行后处理右移z位得到8×8反离散余弦变换的输出Y,取z=20,步骤如下 Y[v][u]=[y[v][u]×M[v][u]+(1<<19)-f(y[v][u])]>>20。
实施实例六 一种应用于视频和图像处理的变换方法,其包括的8×8反离散余弦变换中的反变换预处理步骤中的8×8矩阵M是 取联系参数S=10,k=12, ψ=0.9000703207408190,φ=0.5918825969335950可以得到 A=1024.0000000000000000,B=1137.6888854164000000, C=1730.0728308369000000,D=1608.9350515170000000, E=1264.0000000000000000,F=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=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所示,所述的应用于视频和图像处理的反离散余弦变换方法的详细步骤如下 1、输入数据8×8数据块X’动态范围为[-28+3,28+3-1],即12位位宽,将X’输入,进行反变换预处理

得到反变 换预处理的输出数据X,X的动态范围为[-2R+14,2R+14-1],即23位位宽; 2、将X按行排成8组向量 (X
,X
[1],…,X
[7]),(X[1]
,X[1][1],…,X[1][7]),(X[2]
,X[2][1],…,X[2][7]), (X[3]
,X[3][1],…,X[3][7]),(X[4]
,X[4][1],…,X[4][7]),(X[5]
,X[5][1],…,X[5][7]), (X[6]
,X[6][1],…,X[6][7]),(X[7]
,X[7][1],…,X[7][7]); 每组向量分别进行一维反变换,其中每组向量均作为图3中的X0~X7进行一维反变换,图3中的x0~x7即为每组一维反变换的结果xi’ x′0=(x′
,x′
[1],…,x′
[7]),x′1=(x′[1]
,x′[1][1],…,x′[1][7]), x′2=(x′[2]
,x′[2][1],…,x′[2][7]),x′3=(x′[3]
,x′[3][1],…,x′[3][7]), x′4=(x′[4]
,x′[4][1],…,x′[4][7]),x′5=(x′[5]
,x′[5][1],…,x′[5][7]), x′6=(x′[6]
,x′[6][1],…,x′[6][7]),x′7=(x′[7]
,x′[7][1],…,x′[7][7])。
图3中的操作分别用如下的加法、减法、移位操作的组合实现 xa=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) 一维反变换的输出x’,x’和中间变量的动态范围不超过[-28+17,28+17-1]; 3、将存储的x’按列排成8组向量,每组向量分别作为图3中的X0~X7进行第二次一维反变换,图3中的x0~x7即为每组向量第二次一维反变换的结果,得到第二次一维反变换输出x”;第二次一维反变换的输入x’、输出x”和中间变量的动态范围不超过[-28+17,28+17-1]; 4、将x”进行反变换后处理,即右移w位,其中w=13x[v][u]=x″[v][u]>>13 v,u∈
; 得到8×8反离散余弦变换的输出x,x的动态范围为[-28,28-1]。
实施实例七 一种应用于视频和图像处理的变换方法,其包括的8×8离散余弦变换中的正变换后处理步骤中的8×8矩阵M的排列方式是取联系参数S=10,k=12, ψ=0.9000703207408190,φ=0.5918825969335950可以得到 A=1024.0000000000000000,B=1137.6888854164000000, C=1730.0728308369000000,D=1608.9350515170000000, E=1264.0000000000000000,F=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=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所示,所述的应用于视频和图像处理的离散余弦变换方法的详细步骤如下 1、输入数据8×8数据块y动态范围为[-28,28-1],即9位位宽,将y输入,进行正变换预处理y′[v][u]=y[u][v]<<7,v,u∈
,得到正变换预处理的输出y’,y’的动态范围为[-28+7,28+7-1],即16位位宽; 2、将y’按列排成8组向量,(y′
,y′[1]
,…y′[7]
)T,(y′
[1],y′[1][1],…y′[7][1])T,(y′
[2],y′[1][2],…y′[7][2])T,(y′
[3],y′[1][3],…y′[7][3])T,(y′
[4],y′[1][4],…y′[7][4])T,(y′
[5],y′[1][5],…y′[7][5])T,(y′
[6],y′[1][6],…y′[7][6])T,(y′
[7],y′[1][7],…y′[7][7])T,每组向量分别作为图4中的x0~x7输入一维正变换装置进行一维正变换,每组一维正变换的结果均为图4中的X0~X7 (y″
,y″[1]
,…y″[7]
)T,(y″
[1],y″[1][1],…y″[7][1])T、 (y″
[2],y″[1][2],…y″[7][2])T、(y″
[3],y″[1][3],…y″[7][3])T、 (y″
[4],y″[1][4],…y″[7][4])T、(y″
[5],y″[1][5],…y″[7][5])T、 (y″
[6],y″[1][6],…y″[7][6])T、(y″
[7],y″[1][7],…y″[7][7])T; 图4中的操作分别用如下的加法、减法、移位操作的组合实现 xa=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、将存储的y”按行排成8组向量,每组向量分别作为图4中的x0~x7再次进行第二次一维正变换,图4中的X0~X7即为每组向量第二次一维正变换的结果,得到第二次一维正变换的输出y;第二次一维正变换的输出y”、y和中间变量的动态范围不超过[-28+13,28+13-1]; 4、将所得的第二次一维正变换后的输出y进行正变换后处理,即右移z位,得到8×8反离散余弦变换的输出数据Y,取z=20即Y[v][u]=[y[v][u]×M[v][u]+(1<<19)-f(y[v][u])]>>20;Y动态范围为[-28+3,28+3-1]。
权利要求
1.一种应用于视频和图像处理的变换方法,其特征在于所述的变换方法至少包括8×8反离散余弦变换方法和8×8离散余弦变换方法中的一种,所述8×8反离散余弦变换包括反变换预处理步骤、一维反变换步骤和反变换后处理步骤,所述的反变换预处理步骤使用一个8×8的整数矩阵M;所述的一维反变换步骤使用至少6个不同的乘法系数a、b、c、d、h、t进行运算;所述的反变换后处理步骤为右移w位的移位操作;所述8×8离散余弦变换包括正变换预处理步骤、一维正变换步骤和正变换后处理步骤,所述的正变换预处理步骤为左移r位的移位操作;所述的一维正变换步骤使用至少6个不同的乘法系数a、b、c、d、h、t进行运算;所述的正变换后处理步骤使用一个8×8的整数矩阵M和右移z位的移位操作。
2.根据权利要求1所述的应用于视频和图像处理的变换方法,其特征在于所述的反变换预处理步骤中的8×8矩阵M由10个不同的整数元素组成所述反变换预处理步骤如下输入数据8×8数据块X’与8×8矩阵M做操作I得到反变换预处理步骤的输出数据X,所述操作I为
3.根据权利要求1所述的应用于视频和图像处理的变换方法,其特征在于所述8×8反离散余弦变换方法中的一维反变换步骤含有或等效为如下运算
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为一维反变换步骤的输入数据,x0,x1,x2,x3,x4,x5,x6,x7为一维反变换步骤的输出数据,p10~p17、p20~p27、p30~p37是一维反变换步骤的中间变量。
4.根据权利要求2或3所述的应用于视频和图像处理的变换方法,其特征在于当反变换预处理步骤的输入数据的动态范围为[-2R+3,2R+3-1]时,反变换预处理步骤的输出数据的动态范围是[-2R+14,2R+14-1];一维反变换步骤中的输入数据、输出数据和中间变量的动态范围不超过[-2R+17,2R+17-1];所述反变换后处理步骤中的移位参数w=13,反变换后处理步骤的输出数据动态范围为[-2R,2R-1],R为正整数。
5.根据权利要求1所述的应用于视频和图像处理的变换方法,其特征在于所述8×8离散余弦变换方法中的一维正变换步骤含有或等效为如下运算
q10=y0+y1,q14=y1+y6,q12=y2+yx5,q16=y3+y4,q17=y3-y4,q13=y2-y5,
q15=y1-y6,q11=y0-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为一维正变换的输入数据,Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7为一维正变换的输出数据,q10~q17、q20~q27、q30~q37为一维正变换的中间变量。
6.根据权利要求1所述的应用于视频和图像处理的变换方法,其特征在于所述正变换后处理步骤中的8×8矩阵M由10个不同的整数元素组成所述正变换后处理步骤如下输入数据8×8数据块Y’与8×8矩阵M做操作II得到正变换后处理步骤的输出数据Y所述操作II为Y[y][x]=[Y′[y][x]×M[y][x]+(1<<19)-f(Y′[y][x])]>>z y,x∈
;其中函数f(a)做如下定义
7.根据权利要求5或6所述的应用于视频和图像处理的变换方法,其特征在于当正变换预处理步骤输入数据的动态范围为[-2R,2R-1]时,正变换预处理步骤的输出数据的动态范围是[-2R+7,2R+7-1],一维正变换步骤中的输入数据、输出数据和中间变量的动态范围不超过[-2R+13,2R+13-1];正变换预处理步骤中的移位参数r=7;正变换后处理步骤中的移位参数z=20,R为正整数。
8.根据权利要求1所述的应用于视频和图像处理的变换方法,其特征在于一维反变换步骤和一维正变换步骤中的*运算可以采用加法、减法、右移中的一个或多个的组合来替代,*表示乘法操作。
9.根据权利要求1、2或5所述的应用于视频和图像处理的变换方法,其特征在于所述一维正变换步骤、一维反变换步骤中的乘法系数a、b、c、d、h、t和反变换预处理或正变换后处理步骤中的参数A、B、C、D、E、F、G、H、I、J的相互关系如下A=[1×2S],其中α=cos(3π/8),β=sin(3π/8),γ=cos(π/16),δ=sin(π/16),ε=cos(3π/16),ζ=sin(3π/16),k、S、ψ、φ是联系因子;由它们构成的{A、B、C、D、E、F、G、H、I、J、d、b、c、d、h、t}所对应的8×8反离散余弦变换方法须符合ISO/IEC23002-1-2006和以下2条定义的精度要求
(a)线性测试对于i∈
,j∈[1,255],产生64个输入数据
令8×8输入数据矩阵Ni,j′=-Ni,j;将Ni,j和Ni,j′分别进行由{A、B、C、D、E、F、G、H、I、J、a、b、c、d、h、t}所构成的8×8反离散余弦变换,得到两个输出块,将其相加得到Ni,j″;对i,j取值范围内所有的组合,所得到的Ni,j″均应为全零;
(b)根据ISO/IEC 23002-1-2006标准定义的随机数生成方法,产生Q组[-L,+H]范围内的随机数,将这些随机数作为输入,对由{A、B、C、D、E、F、G、H、I、J、a、b、c、d、h、t}所构成的8×8反离散余弦变换进行测试得到omse;其中的L<10,H<10,Q>=10000,所得到的omse必须小于0.01。
全文摘要
本发明公开了一种应用于视频和图像处理的变换方法。它至少包括8×8反离散余弦变换方法和8×8离散余弦变换方法中的一种,所述8×8反离散余弦变换包括反变换预处理步骤、一维反变换步骤和反变换后处理步骤;所述8×8离散余弦变换包括正变换预处理步骤、一维正变换步骤和正变换后处理步骤。本发明公开的变换方法能很好地逼近理想的8×8反离散余弦变换及理想的8×8离散余弦变换,精度上远远超过ISO/IEC 23002-1-2006的要求,同时在硬件实现上复杂度大大降低,能应用在多种现有流行的国际视频编解码标准。
文档编号H04N7/30GK101106714SQ20071007025
公开日2008年1月16日 申请日期2007年7月29日 优先权日2007年7月29日
发明者露 虞, 张赐勋, 倪志博 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1