具体实施方式:
实施实例一
一种应用于视频和图像处理的变换方法,其包括的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[0][0],X[0][1],L,X[0][7])作为输入,进行如下运算:
p10=X[0][0],p14=X[0][4],p12=X[0][2],p16=X[0][6],p17=X[0][1]-X[0][7],
p13=X[0][3],p15=X[0][5],p11=X[0][1]+X[0][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’[0][0]=p30+p31,x’[1][0]=p34+p35,x’[2][0]=p32+p33,x’[3][0]=p36+p37,
x’[4][0]=p36-p37,x’[5][0]=p32-p33,x’[6][0]=p34-p35,x’[7][0]=p30-p31;
其中*表示乘法操作;
3、重复步骤2,将(X[1][0],X[1][1],L,X[1][7]),(X[2][0],X[2][1],L,X[2][7]),(X[3][0],X[3][1],L,X[3][7]),(X[4][0],X[4][1],L,X[4][7]),(X[5][0],X[5][1],L,X[5][7]),(X[6][0],X[6][1],L,X[6][7]),(X[7][0],X[7][1],L,X[7][7])依次进行相同的一维反变换,得到第一次一维反变换输出x’;
4、进行第二次一维反变换,步骤如下:
将x’按行排成8组向量,将第一行向量(x′[0][0],x′[0][1],L,x′[0][7])作为输入,进行如下运算:
p10=x’[0][0],p14=x’[0][4],p12=x’[0][2],p16=x’[0][6],p17=x’[0][1]-x’[0][7],
p13=x’[0][3],p15=x’[0][5],p11=x’[0][1]+x’[0][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”[0][0]=p30+p31,x”[1][0]=p34+p35,x”[2][0]=p32+p33,x”[3][0]=p36+p37,
x”[4][0]=p36-p37,x”[5][0]=p32-p33,x”[6][0]=p34-p35,x”[7][0]=p30-p31;
5、重复步骤4,将(x′[1][0],x′[1][1],L,x′[1][7]),(x′[2][0],x′[2][1],L,x′[2][7]),(x′[3][0],x′[3][1],L,x′[3][7]),(x′[4][0],x′[4][1],L,x′[4][7]),(x′[5][0],x′[5][1],L,x′[5][7]),(x′[6][0],x′[6][1],L,x′[6][7]),(x′[7][0],x′[7][1],L,x′[7][7])进行相同的一维反变换,得到第二次一维反变换输出x”;
6、将所得的第二次一维反变换后的输出x”进行后处理右移w位得到8×8反离散余弦变换的输出x,其中w=13,操作如下:x[v][u]=x″[v][u]>>13 v,u∈[0,63],>>表示右移位操作,反之,<<表示左移位操作;
实施实例二
一种应用于视频和图像处理的变换方法,其包括的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[0][0],X[0][1],L,X[0][7])作为输入,进行如下运算:
p10=X[0][0],p14=X[0][4],p12=X[0][2],p16=X[0][6],p17=X[0][1]-X[0][7],
p13=X[0][3],p15=X[0][5],p11=X[0][1]+X[0][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’[0][0]=p30+p31,x’[1][0]=p34+p35,x’[2][0]=p32+p33,x’[3][0]=p36+p37,
x’[4][0]=p36-p37,x’[5][0]=p32-p33,x’[6][0]=p34-p35,x’[7][0]=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][0],X[1][1],L,X[1][7]),(X[2][0],X[2][1],L,X[2][7]),(X[3][0],X[3][1],L,X[3][7]),(X[4][0],X[4][1],L,X[4][7]),(X[5][0],X[5][1],L,X[5][7]),(X[6][0],X[6][1],L,X[6][7]),(X[7][0],X[7][1],L,X[7][7])进行相同的一维反变换,得到第一次一维反变换输出x’;
4、进行第二次一维反变换,步骤如下:
将x’按行排成8组向量,将第一行向量(x′[0][0],x′[0][1],L,x′[0][7])作为输入,进行如下运算:
p10=x’[0][0],p14=x’[0][4],p12=x’[0][2],p16=x’[0][6],p17=x’[0][1]-x’[0][7],
p13=x’[0][3],p15=x’[0][5],p11=x’[0][1]+x’[0][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”[0][0]=p30+p31,x”[1][0]=p34+p35,x”[2][0]=p32+p33,x”[3][0]=p36+p37,
x”[4][0]=p36-p37,x”[5][0]=p32-p33,x”[6][0]=p34-p35,x”[7][0]=p30-p31
其中的⊙操作定义与步骤2中的定义相同;
5、重复步骤4,将(x′[1][0],x′[1][1],L,x′[1][7]),(x′[2][0],x′[2][1],L,x′[2][7]),(x′[3][0],x′[3][1],L,x′[3][7]),(x′[4][0],x′[4][1],L,x′[4][7]),(x′[5][0],x′[5][1],L,x′[5][7]),(x′[6][0],x′[6][1],L,x′[6][7]),(x′[7][0],x′[7][1],L,x′[7][7])进行相同的一维反变换,得到第二次一维反变换输出x”;
6、将所得的第二次一维变换后的输出x”进行后处理右移w位得到8×8反离散余弦变换的输出x,其中w=13,步骤如下:x[v][u]=x″[v][u]>>13 v,u∈[0,63]。
实施实例三
一种应用于视频和图像处理的变换方法,其包括的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=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=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∈[0,63],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[0][0],X[0][1],L,X[0][7])作为输入,进行如下运算:
p10=X[0][0],p14=X[0][4],p12=X[0][2],p16=X[0][6],p17=X[0][1]-X[0][7],
p13=X[0][3],p15=X[0][5],p11=X[0][1]+X[0][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’[0][0]=p30+p31,x’[1][0]=p34+p35,x’[2][0]=p32+p33,x’[3][0]=p36+p37,
x’[4][0]=p36-p37,x’[5][0]=p32-p33,x’[6][0]=p34-p35,x’[7][0]=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][0],X[1][1],L,X[1][7]),(X[2][0],X[2][1],L,X[2][7]),(X[3][0],X[3][1],L,X[3][7]),(X[4][0],X[4][1],L,X[4][7]),(X[5][0],X[5][1],L,X[5][7]),(X[6][0],X[6][1],L,X[6][7]),(X[7][0],X[7][1],L,X[7][7])进行相同的一维反变换,得到第一次一维反变换输出x’;
4、进行第二次一维反变换,步骤如下:
将x’按行排成8组向量,将第一行向量(x′[0][0],x′[0][1],L,x′[0][7])作为输入,进行如下运算:
p10=x’[0][0],p14=x’[0][4],p12=x’[0][2],p16=x’[0][6],p17=x’[0][1]-x’[0][7],
p13=x’[0][3],p15=x’[0][5],p11=x’[0][1]+x’[0][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”[0][0]=p30+p31,x”[1][0]=p34+p35,x”[2][0]=p32+p33,x”[3][0]=p36+p37,
x”[4][0]=p36-p37,x”[5][0]=p32-p33,x”[6][0]=p34-p35,x”[7][0]=p30-p31
其中的⊙操作与2中的相同;
5、重复步骤4,将(x′[1][0],x′[1][1],L,x′[1][7]),(x′[2][0],x′[2][1],L,x′[2][7]),(x[3][0],x′[3][1],L,x′[3][7]),(x′[4][0],x′[4][1],L,x′[4][7]),(x′[5][0],x′[5][1],L,x′[5][7]),(x[6][0],x′[6][1],L,x′[6][7]),(x′[7][0],x′[7][1],L,x′[7][7])进行相同的一维反变换,得到第二次一维反变换输出x”;
6、将所得的第二次一维变换后的输出x”进行后处理右移w位得到8×8反离散余弦变换的输出x,其中w=13,步骤如下:x[v][u]=x″[v][u]>>13 v,u∈[0,63]。
实施实例四
一种应用于视频和图像处理的变换方法,其包括的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∈[0,7];
2、进行第一次一维正变换,步骤如下:
将y’按列排成8组向量,将第一列向量(y′[0][0],y′[1][0],L y′[7][0])τ作为输入,进行如下运算:
q10=y’[0][0]+y’[1][0],q14=y’[1][0]+y’[6][0],q12=y’[2][0]+y’[5][0],
q16=y’[3][0]+y’[4][0],q17=y’[3][0]-y’[4][0],q13=y’[2][0]-y’[5][0],
q15=y’[1][0]-y’[6][0],q11=y’[0][0]-y’[7][0];
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”[0][0]=q30,y”[0][1]=q31+q31,y”[0][2]=q32,y”[0][3]=q33,y”[0][4]=q34,
y”[0][5]=q35,y”[0][6]=q36,y”[0][7]=q31-q37;
3、重复步骤2,将(y′[0][1],y′[1][1],L y′[7][1])τ、(y′[0][2],y′[1][2],L y′[7][2])τ、(y′[0][3],y′[1][3],L y′[7][3])τ、(y′[0][4],y′[1][4],L y′[7][4])τ、(y′[0][5],y′[1][5],L y′[7][5])τ、(y′[0][6],y′[1][6],L y′[7][6])τ、(y′[0][7],y′[1][7],L y′[7][7])τ、进行相同的一维正变换,得到第一次一维正变换输出y”;
4、进行第二次一维正变换,步骤如下:
将y”按列排成8组向量,将第一列向量(y″[0][0],y″[1][0],L y″[7][0])τ作为输入,进行如下运算:
q10=y”[0][0]+y”[1][0],q14=y”[1][0]+y”[6][0],q12=y”[2][0]+y”[5][0],
q16=y”[3][0]+y”[4][0],q17=y”[3][0]-y”[4][0],q13=y”[2][0]-y”[5][0],
q15=y”[1][0]-y”[6][0],q11=y”[0][0]-y”[7][0];
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”’[0][0]=q30,y”’[0][1]=q31+q31,y”’[0][2]=q32,y”’[0][3]=q33,y”’[0][4]=q34,
y”’[0][5]=q35,y”’[0][6]=q36,y”’[0][7]=q31-q37;
5、重复步骤4,将(y″[0][1],y″[1][1],L y″[7][1])τ、(y″[0][2],y″[1][2],L y″[7][2])τ、(y″[0][3],y″[1][3],L y″[7][3])τ、(y″[0][4],y″[1][4],L y″[7][4])τ、(y″[0][5],y″[1][5],L y″[7][5])τ、(y″[0][6],y″[1][6],L y″[7][6])τ、(y″[0][7],y″[1][7],L y″[7][7])τ进行相同的一维正变换,得到第二次一维正变换输出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∈[0,7];
2、将y’按列排成8组向量,将第一列向量(y′[0][0],y′[1][0],L y′[7][0])τ作为输入,进行如下运算:
q10=y’[0][0]+y’[1][0],q14=y’[1][0]+y’[6][0],q12=y’[2][0]+y’[5][0],
q16=y’[3][0]+y’[4][0],q17=y’[3][0]-y’[4][0],q13=y’[2][0]-y’[5][0],
q15=y’[1][0]-y’[6][0],q11=y’[0][0]-y’[7][0];
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”[0][0]=q30,y”[0][1]=q31+q31,y”[0][2]=q32,y”[0][3]=q33,y”[0][4]=q34,
y”[0][5]=q35,y”[0][6]=q36,y”[0][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′[0][1],y′[1][1],L y′[7][1])τ、(y′[0][2],y′[1][2],L y′[7][2])τ、(y′[0][3],y′[1][3],L y′[7][3])τ、(y′[0][4],y′[1][4],L y′[7][4])τ、(y′[0][5],y′[1][5],L y′[7][5])τ、(y′[0][6],y′[1][6],L y′[7][6])τ、(y′[0][7],y′[1][7],L y′[7][7])τ进行相同的一维正变换,得到第一次一维正变换输出y”;
4、进行第二次一维正变换,步骤如下:
将y”按列排成8组向量,将第一列向量(y″[0][0],y″[1][0],L y″[7][0])τ作为输入,进行如下运算:
q10=y”[0][0]+y”[1][0],q14=y”[1][0]+y”[6][0],q12=y”[2][0]+y”[5][0],
q16=y”[3][0]+y”[4][0],q17=y”[3][0]-y”[4][0],q13=y”[2][0]-y”[5][0],
q15=y”[1][0]-y”[6][0],q11=y”[0][0]-y”[7][0];
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”’[0][0]=q30,y”’[0][1]=q31+q31,y”’[0][2]=q32,y”’[0][3]=q33,y”’[0][4]=q34,
y”’[0][5]=q35,y”’[0][6]=q36,y”’[0][7]=q31-q37
其中的⊙和步骤2中的相同;
5、重复步骤4,将(y″[0][1],y″[1][1],L y″[7][1])τ、(y″[0][2],y″[1][2],L y″[7][2])τ、
(y″[0][3],y″[1][3],L y″[7][3])τ、(y″[0][4],y″[1][4],L y″[7][4])τ、
(y″[0][5],y″[1][5],L y″[7][5])τ、(y″[0][6],y″[1][6],L y″[7][6])τ、
(y″[0][7],y″[1][7],L y″[7][7])τ进行相同的一维正变换,得到第二次一维正变换输出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’动态范围为[-2
8+3,2
8+3-1],即12位位宽,将X’输入,进行反变换预处理:
得到反变换预处理的输出数据X;
2、将X按行排成8组向量:
(X[0][0],X[0][1],L,X[0][7]),(X[1][0],X[1][1],L,X[1][7]),(X[2][0],X[2][1],L,X[2][7]),
(X[3][0],X[3][1],L,X[3][7]),(X[4][0],X[4][1],L,X[4][7]),(X[5][0],X[5][1],L,X[5][7]),
(X[6][0],X[6][1],L,X[6][7]),(X[7][0],X[7][1],L,X[7][7]);
每组向量分别进行一维反变换,其中每组向量均作为图3中的X0~X7进行一维反变换,图3中的x0~x7即为每组一维反变换的结果xi’:
x′0=(x′[0][0],x′[0][1],L,x′[0][7]),x′1=(x′[1][0],x′[1][1],L,x′[1][7]),
x′2=(x′[2][0],x′[2][1],L,x′[2][7]),x′3=(x′[3][0],x′[3][1],L,x′[3][7]),
x′4=(x′[4][0],x′[4][1],L,x′[4][7]),x′5=(x′[5][0],x′[5][1],L,x′[5][7]),
x′6=(x′[6][0],x′[6][1],L,x′[6][7]),x′7=(x′[7][0],x′[7][1],L,x′[7][7])。
图3中的操作分别用如下的加法、减法、移位操作的组合实现:
3、将存储的x’按列排成8组向量,每组向量分别作为图3中的X0~X7进行第二次一维反变换,图3中的x0~x7即为每组向量第二次一维反变换的结果,得到第二次一维反变换输出x”;
4、将x”进行反变换后处理,即右移w位,其中w=13:
x[v][u]=x″[v][u]>>13 v,u∈[0,63];
得到8×8反离散余弦变换的输出x。
实施实例七
一种应用于视频和图像处理的变换方法,其包括的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],将y输入,进行正变换预处理:y′[v][u]=y[u][v]<<7,v,u∈[0,7],得到正变换预处理的输出y’;
2、将y’按列排成8组向量,(y′[0][0],y′[1][0],L y′[7][0])τ,(y′[0][1],y′[1][1],L y′[7][1])τ,(y′[0][2],y′[1][2],L y′[7][2])τ,(y′[0][3],y′[1][3],L y′[7][3])τ,(y′[0][4],y′[1][4],L y′[7][4])τ,(y′[0][5],y′[1][5],L y′[7][5])τ,(y′[0][6],y′[1][6],L y′[7][6])τ,(y′[0][7],y′[1][7],L y′[7][7])τ,每组向量分别作为图4中的x0~x7输入一维正变换装置进行一维正变换,每组一维正变换的结果均为图4中的X0~X7:
(y″[0][0],y″[1][0],L y″[7][0])τ,(y″[0][1],y″[1][1],L y″[7][1])τ、(y″[0][2],y″[1][2],L y″[7][2])τ、(y″[0][3],y″[1][3],L y″[7][3])τ、(y″[0][4],y″[1][4],L y″[7][4])τ、(y″[0][5],y″[1][5],L y″[7][5])τ、(y″[0][6],y″[1][6],L y″[7][6])τ、(y″[0][7],y″[1][7],L y″[7][7])τ;
图4中的
操作分别用如下的加法、减法、移位操作的组合实现:
3、将存储的y”按行排成8组向量,每组向量分别作为图4中的x0~x7再次进行第二次一维正变换,图4中的X0~X7即为每组向量第二次一维正变换的结果,得到第二次一维正变换的输出y”’;
4、将所得的第二次一维正变换后的输出y”’进行正变换后处理,即右移z位,得到8×8反离散余弦变换的输出数据Y,取z=20:即y[v][u]=[y″′[v][u]×M[v][u]+(1<<19)-f(y″′[v][u])]>>20。