CN101282476B - 应用于视频和图像处理的变换方法 - Google Patents

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

Info

Publication number
CN101282476B
CN101282476B CN 200710300902 CN200710300902A CN101282476B CN 101282476 B CN101282476 B CN 101282476B CN 200710300902 CN200710300902 CN 200710300902 CN 200710300902 A CN200710300902 A CN 200710300902A CN 101282476 B CN101282476 B CN 101282476B
Authority
CN
China
Prior art keywords
dimension
transformation
inverse transformation
discrete cosine
inverse
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN 200710300902
Other languages
English (en)
Other versions
CN101282476A (zh
Inventor
虞露
张赐勋
倪志博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Zhejiang University ZJU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN 200710300902 priority Critical patent/CN101282476B/zh
Priority to PCT/CN2008/071798 priority patent/WO2009015600A1/zh
Publication of CN101282476A publication Critical patent/CN101282476A/zh
Application granted granted Critical
Publication of CN101282476B publication Critical patent/CN101282476B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • H04N19/45Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder performing compensation of the inverse transform mismatch, e.g. Inverse Discrete Cosine Transform [IDCT] mismatch
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公开了一种应用于视频和图像处理的变换方法。它至少包括8×8反离散余弦变换方法和8×8离散余弦变换方法中的一种,所述8×8反离散余弦变换包括反变换预处理步骤、一维反变换步骤和反变换后处理步骤;所述8×8离散余弦变换包括正变换预处理步骤、一维正变换步骤和正变换后处理步骤。本发明公开的变换方法能很好地逼近理想的8×8反离散余弦变换及理想的8×8离散余弦变换,精度上远远超过ISO/IEC 23002-1-2006的要求,同时在硬件实现上复杂度大大降低,能应用在多种现有流行的国际视频编解码标准。

Description

应用于视频和图像处理的变换方法
技术领域:
本发明涉及电数字数据处理技术领域,特别是涉及一种应用于视频和图像处理的定点反离散余弦变换、定点离散余弦的变换方法。
背景技术:
在部分视频编码标准中,如ITU制定的H.261,H.263,以及ISO的MPEG组织制定的MPEG-1、MPEG-2、MPEG-4标准,都是采用离散余弦变换(DCT)去除空间域的信息冗余度来达到压缩的目的。理想的8×8离散余弦变换和反离散余弦变换分别如下:
y ( k , l ) = c ( k ) c ( l ) 1 8 × 8 Σ m = 0 7 Σ n = 0 7 x ( m , n ) cos ( 2 m + 1 ) kπ 16 cos ( 2 n + 1 ) lπ 16 - - - ( 1 )
x ( m , n ) = 1 8 × 8 Σ k = 0 7 Σ l = 0 7 c ( k ) c ( l ) y ( k , l ) cos ( 2 m + 1 ) kπ 16 cos ( 2 n + 1 ) lπ 16 - - - ( 2 )
其中
Figure S2007103009027D00014
由于在理想的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、令 k = floor ( ( j 2 31 - 1 ) * ( L + H + 1 ) ) , 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)定义如下: clip 3 ( a , b , x ) = a x &le; a x a < x < b b x &GreaterEqual; b ,
对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]).
p = max x &Element; [ 0,7 ] y &Element; [ 0,7 ] ( | h &prime; &prime; z [ y ] [ x ] - g &prime; &prime; z [ y ] [ x ] | ) .
4、对x=0..7和y=0..7,按下面式子计算8×8矩阵d和e
d [ y ] [ x ] = 1 Q &Sigma; z = 0 Q - 1 ( h &prime; &prime; z [ y ] [ x ] - g &prime; &prime; z [ y ] [ x ] )
e [ y ] [ x ] = 1 Q &Sigma; z = 0 Q - 1 ( h &prime; &prime; z [ y ] [ x ] - g &prime; &prime; z [ y ] [ x ] ) 2
其中d[y][x]表示矩阵(x,y)位置上像素的平均误差(pme),e[y][x]表示矩阵(x,y)位置上像素的均方误差(pmse)
5、计算m和n的值
m = 1 64 &Sigma; x = 0 7 &Sigma; y = 0 7 d [ y ] [ x ]
n = 1 64 &Sigma; x = 0 7 &Sigma; y = 0 7 e [ y ] [ x ]
其中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[v][x]<=0.06.
●|n|<=0.02.
●m<=0.0015.
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′[v][x]的值应该为0。
四、临近DC倒置测试(Near-DC Inversion Test)
对于变量z=0..(2B+4-1),进行以下步骤
对于u=0..7和v=0..7,置Fz″[v][u]=0.
置Fz″[0][0]=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 = max x &Element; [ 0,7 ] y &Element; [ 0,7 ] ( | h &prime; &prime; z [ y ] [ x ] - g &prime; &prime; z [ y ] [ x ] | ) , p的值必须小于等于1。
对于一个定点反离散余弦变换,如果满足上述所有的精度测试规范要求,则该定点反离散余弦变换符合ISO/IEC 23002-1-2006。
发明内容:
本发明的目的在于针对现有技术中的离散余弦变换、反离散余弦变换定点实现上的不足,提供了一种能够以较低的复杂度和较简单的结构实现8×8离散余弦变换/反离散余弦变换(DCT/IDCT),并且和理论上的变换相比具有较高精度的应用于视频和图像处理的变换方法。
所述应用于视频和图像处理的变换方法,它至少包括8×8反离散余弦变换方法和8×8离散余弦变换方法中的一种,所述的8×8反离散余弦变换为:
x ( m , n ) = 1 8 &times; 8 &Sigma; k = 0 7 &Sigma; l = 0 7 c ( k ) c ( l ) y ( k , l ) cos ( 2 m + 1 ) k&pi; 16 cos ( 2 n + 1 ) l&pi; 16
所述的8×8离散余弦变换为:
y ( k , l ) = c ( k ) c ( l ) 1 8 &times; 8 &Sigma; m = 0 7 &Sigma; n = 0 7 x ( m , n ) cos ( 2 m + 1 ) k&pi; 16 cos ( 2 n + 1 ) l&pi; 16 ;
其中
Figure S2007103009027D00054
Figure S2007103009027D00055
所述8×8反离散余弦变换方法用以实现逼近理想的反离散余弦变换,包括反变换预处理步骤、一维反变换步骤和反变换后处理步骤,所述的反变换预处理步骤使用一个8×8的整数矩阵M;所述的一维反变换步骤使用至少6个不同的乘法系数a、b、c、d、h、t进行运算;所述的反变换后处理步骤为右移w位的移位操作。
所述的反变换预处理步骤中的8×8矩阵M由10个不同的整数元素组成: A B C D A D C B B E F G B G F E C F H I C I H F D G I J D J I G A B C D A D C B D G I J D J I G C F H I C I H F B E F G B G F E ; 所述反变换预处理步骤如下:输入数据8×8数据块X’与8×8矩阵M做操作I得到反变换预处理步骤的输出数据X,所述操作I为
Figure S2007103009027D00062
所述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反离散余弦变换方法中,所述反变换后处理步骤中的移位参数w=S+3。
所述8×8离散余弦变换方法用以实现逼近理想的离散余弦变换,包括正变换预处理步骤、一维正变换步骤和正变换后处理步骤;所述的正变换预处理步骤为左移r位的移位操作;所述的一维正变换步骤使用至少6个不同的乘法系数a、b、c、d、h、t进行运算;所述的正变换后处理步骤使用一个8×8的整数矩阵M和右移z位的移位操作。
所述8×8离散余弦变换方法中的一维正变换步骤含有或等效为如下运算:
q10=y0+y1,q14=y1+y6,q12=y2+y5,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个不同的整数元素组成: A B C D A D C B B E F G B G F E C F H I C I H F D G I J D J I G A B C D A D C B D G I J D J I G C F H I C I H F B E F G B G F E ; 所述正变换后处理步骤如下:输入数据8×8数据块Y’与8×8矩阵M做操作II得到正变换后处理步骤的输出数据Y:所述操作II为:Y[y][x]=[Y′[y][x]×M[y][x]+(1<<(z-1))-f(Y′[y][x])]>>zy,x∈[0,7];其中函数f(a)做如下定义: f ( a ) = 0 a &GreaterEqual; 0 1 a < 0 .
所述8×8离散余弦变换方法中,正变换预处理步骤中的移位参数r=7,正变换后处理步骤中的移位参数z=20。
所述的应用于视频和图像处理的变换方法中的一维反变换步骤中的*运算和一维正变换步骤中的*运算可以采用加法、减法、右移中的一个或多个的组合来替代,*表示乘法操作。
所述应用于视频和图像处理的变换方法中的一维正变换步骤、一维反变换步骤中的乘法系数a、b、c、d、h、t和反变换预处理或正变换后处理步骤中的参数A、B、C、D、E、F、G、H、I、J的相互关系如下: h = [ &alpha; &times; &phi; ] 2 k , t = [ &beta; &times; &phi; ] 2 k , a = [ &gamma; &times; &psi; ] 2 k , b = [ &delta; &times; &psi; ] 2 k , c = [ &epsiv; &times; &psi; ] 2 k , d = [ &zeta; &times; &psi; ] 2 k , A=[1×2S], B = [ 1 &psi; &times; 2 S ] , C = [ 1 &phi; &times; 2 S ] , D = [ 2 &psi; &times; 2 S ] , E = [ 1 &psi; 2 &times; 2 S ] , F = [ 1 &psi; &CenterDot; &phi; &times; 2 S ] , G = [ 2 &psi; 2 &times; 2 S ] , H = [ 1 &phi; 2 &times; 2 S ] , I = [ 2 &phi; &CenterDot; &psi; &times; 2 S ] , J = [ 2 &psi; 2 &times; 2 S ] , 其中:α=
Figure 2007103009027_2
cos(3π/8),β=
Figure 2007103009027_3
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∈[0,63],j∈[1,255],产生64个输入数据x∈[0,63],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是:
A B C D A D C B B E F G B G F E C F H I C I H F D G I J D J I G A B C D A D C B D G I J D J I G C F H I C I H F B E F G B G F E , 取联系参数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,J=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为
Figure S2007103009027D00111
其中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是:
A B C D A D C B B E F G B G F E C F H I C I H F D G I J D J I G A B C D A D C B D G I J D J I G C F H I C I H F B E F G B G F E , 取联系参数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’做反变换预处理得到反变换预处理的输出:
Figure S2007103009027D00132
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+p3 1,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是:
A B C D A D C B B E F G B G F E C F H I C I H F D G I J D J I G A B C D A D C B D G I J D J I G C F H I C I H F B E F G B G F E , 取联系参数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∈[0,63],j∈[1,255],产生64个输入数据
Figure S2007103009027D00171
令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’做反变换预处理得到反变换预处理的输出:
Figure S2007103009027D00172
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][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是:
A B C D A D C B B E F G B G F E C F H I C I H F D G I J D J I G A B C D A D C B D G I J D J I G C F H I C I H F B E F G B G F E , 取联系参数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,
J=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])T作为输入,进行如下运算:
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],Ly′[7][1])T、(y′[0][2],y′[1][2],L y′[7][2])T、(y′[0][3],y′[1][3],L y′[7][3])T、(y′[0][4],y′[1][4],L y′[7][4])T、(y′[0][5],y′[1][5],L y′[7][5])T、(y′[0][6]、y′[1][6],L y′[7][6])T、(y′[0][7],y′[1][7],L y′[7][7])T、进行相同的一维正变换,得到第一次一维正变换输出y”;
4、进行第二次一维正变换,步骤如下:
将y”按列排成8组向量,将第一列向量(y″[0][0],y″[1][0],L y″[7][0])T作为输入,进行如下运算:
q10=y”[0][0]+y”[1][0],q1=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],
c15=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
Figure 2007103009027_4
[0][0]=q30,y[0][1]=q31+q31,y[0][2]=q32,y
Figure 2007103009027_7
[0][3]=q33,y
Figure 2007103009027_8
[0][4]=q34,y
Figure 2007103009027_9
[0][5]=q35,y
Figure 2007103009027_10
[0][6]=q36,y
Figure 2007103009027_11
[0][7]=q31-q37;
5、重复步骤4,将(y″[0][1],y″[1][1],L y″[7][1]T、(y″[0][2],y″[1][2],L y″[7][2])T、(y″[0][3],y″[1][3],L y″[7][3])T、(y″[0][4],y″[1][4],y″[7][4])T、(y″[0][5],y″[1][5],L y″[7 ][5])T、(y″[0][6],y″[1][6],L y″[7][6])T、(y″[0][7],y″[1][7],L y″[7][7])T进行相同的一维正变换,得到第二次一维正变换输出y
Figure 2007103009027_12
6、将所得的第二次一维正变换后的输出y
Figure 2007103009027_13
进行后处理右移z位得到8×8离散余弦变换的输出Y,取z=20,步骤如下:
Y[v][u]=[y[v][u]×M[v][u]+(1<<19)-f(y
Figure 2007103009027_15
[v][u])]>>20。
实施实例五
一种应用于视频和图像处理的变换方法,其包括的8×8离散余弦变换中的变换后处理步骤中的8×8矩阵M是:
A B C D A D C B B E F G B G F E C F H I C I H F D G I J D J I G A B C D A D C B D G I J D J I G C F H I C I H F B E F G B G F E , 取联系参数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])T作为输入,进行如下运算:
c10=y’[0][0]+y’[1][0],q14=y’[1][0]+y’[6][0],q12=y’[2][0]+y’[5][0],
c16=y’[3][0]+y’[4][0],q17=y’[3][0]-y’[4][0],q13=y’[2][0]-y’[5][0],
c15=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⊙j=((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])T、(y′[0][2],y′[1][2],L y′[7][2])T、(y′[0][3],y′[1][3],Ly′[7][3])T、(y′[0][4],y′[1][4],L y′(y′[7][4])T、(y′[0][5],y′[1][5],L y′[7][5])T、(y′[0][6],y′[1][6],L y′[7][6])T、(y′[0][7],y′[1][7],L y′[7][7])T进行相同的一维正变换,得到第一次一维正变换输出y”;
4、进行第二次一维正变换,步骤如下:
将y”按列排成8组向量,将第一列向量(y″[0][0],y″[1][0],Ly″[7][0])T作为输入,进行如下运算:
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
Figure 2007103009027_16
[0][0]=q30,y
Figure 2007103009027_17
[0][1]=q31+q31,y
Figure 2007103009027_18
[0][2]=q32,y
Figure 2007103009027_19
[0][3]=q33,y
Figure 2007103009027_20
[0][4]=q34,y
Figure 2007103009027_21
[0][5]=q35,y
Figure 2007103009027_22
[0][6]=q36,y
Figure 2007103009027_23
[0][7]=q31-q37
其中的⊙和步骤2中的相同;
5、重复步骤4,将(y″[0][1],y″[1][1],L y″[7][1])T、(y″[0][2,y″[1][2],y″[1][2],L y″[7][2])T(y″[0][3),y″[1][3],L y″[7][3])T、(y″[0][4],y″[1][4],L y″[7][4])T、(y″[0][5],y″[1][5],L y″[7][5])T、(y″[0][6],y″[1][6],L y″[7][6])T、(y″[0][7],y″[1][7],L y″[7][7])T进行相同的一维正变换,得到第二次一维正变换输出y
6、将所得的第二次一维正变换后的输出 y
Figure 2007103009027_25
进行后处理右移z位得到8×8反离散余弦变换的输出Y,取z=20,步骤如下:
y[v][u]=[y
Figure 2007103009027_26
[v][u]×M[v][u]+(1<<19)-f(y
Figure 2007103009027_27
[v][u])]>>20。
实施实例六
一种应用于视频和图像处理的变换方法,其包括的8×8反离散余弦变换中的反变换预处理步骤中的8×8矩阵M是:
A B C D A D C B B E F G B G F E C F H I C I H F D G I J D J I G A B C D A D C B D G I J D J I G C F H I C I H F B E F G B G F E , 取联系参数S=10,k=12,
ψ=0.9000703207408190,φ=0.5918825969335950可以得到:
A=1024.0000000000000000,B=1137.6888854164000000,
C=730.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.5673 833811500000.
取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;
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中的
Figure 2007103009027_28
操作分别用如下的加法、减法、移位操作的组合实现:
x
Figure 2007103009027_29
a=1-(x>>3)+(x>>7);
x
Figure 2007103009027_30
b=(x>>3)-(x>>7)+(((x>>3)-(x>>7)-(x>>11))>>1)
x
Figure 2007103009027_31
h=((x+(x>>5))>>2)+(x>>4)
x
Figure 2007103009027_32
t=x+(x>>5)-((x+(x>>5))>>2)
x
Figure 2007103009027_33
d=x>>2
xc=(((x>>9)-x)>>2)-((x>>9)-x)
一维反变换的输出x’, x &prime; = x &prime; 0 x &prime; 1 x &prime; 2 x &prime; 3 x &prime; 4 x &prime; 5 x &prime; 6 x &prime; 7 8 - 8 , ;
3、将存储的x’按列排成8组向量,每组向量分别作为图3中的X0~X7进行第二次一维反变换,图3中的x0~x7即为每组向量第二次一维反变换的结果,得到第二次一维反变换输出x”;
4、将x”进行反变换后处理,即右移w位,其中w=13:
x[v][u]=x″[v][u]>>13v,u∈[0.63];
得到8×8反离散余弦变换的输出x。
实施实例七
一种应用于视频和图像处理的变换方法,其包括的8×8离散余弦变换中的正变换后处理步骤中的8×8矩阵M的排列方式是: A B C D A D C B B E F G B G F E C F H I C I H F D G I J D J I G A B C D A D C B D G I J D J I G C F H I C I H F B E F G B G F E ,
取联系参数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])T,(y′[0][1],y′[1][1],L y′[7][1])T,(y′[0][2],y′[1][2],L y′[7][2])T,(y′[0][3],y′[1][3],L y′[7][3])T,(y′[0][4],y′[1][4],L y′[7][4])T,(y′[0][5],y′[1][5],L y′[7][5])T,(y′[0][6],y′[1][6],L y′[7][6])T,(y′[0][7],y′[1][7],L y′[7][7])T,每组向量分别作为图4中的x0~x7输入一维正变换装置进行一维正变换,每组一维正变换的结果均为图4中的X0~X7:(y″[0][0],y″[1][0],L y″[7][0])T,(y″[0][1],y″[1][1],L y″[7][1])T、(y″[0][2],y″[1][2],L y″[7][2])T、(y″[0][3],y″[1][3],L y″[7][3])T、(y″[0][4],y″[1][4],L y″[7][4])T、(y″[0][5],y″[1][5],L y″[7][5])T、(y″[0][6],y″[1][6],L y″[7][6])T、(y″[0][7],y″[1][7],L y″[7][7])T
图4中的操作分别用如下的加法、减法、移位操作的组合实现:
x
Figure 2007103009027_36
a=1-(x>>3)+(x>>7);
x
Figure 2007103009027_37
b=(x>>3)-(x>>7)+(((x>>3)-(x>>7)-(x>>11))>>1);
x
Figure 2007103009027_38
h=((x+(x>>5))>>2)+(x>>4);
x
Figure 2007103009027_39
t=x+(x>>5)-((x+(x>>5))>>2);
x
Figure 2007103009027_40
d=x>>2;
x
Figure 2007103009027_41
c=(((x>>9)-x)>>2)-((x>>9)-x);
3、将存储的y”按行排成8组向量,每组向量分别作为图4中的x0~x7再次进行第二次一维正变换,图4中的X0~X7即为每组向量第二次一维正变换的结果,得到第二次一维正变换的输出y
Figure 2007103009027_42
4、将所得的第二次一维正变换后的输出 y进行正变换后处理,即右移z位,得到8×8反离散余弦变换的输出数据Y,取z=20:即y[v][u]=[y
Figure 2007103009027_44
[v][u]×M[v][u]+(1<<19)-f(y
Figure 2007103009027_45
[v][u])]>>20。

Claims (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位的移位操作;所述的反变换预处理步骤中的8×8矩阵M由10个不同的整数元素组成:
Figure FSB00000535949300011
所述反变换预处理步骤如下:输入数据8×8数据块X’与8×8矩阵M做操作I得到反变换预处理步骤的输出数据X,所述操作I为
Figure FSB00000535949300012
所述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是一维反变换步骤的中间变量;当反变换预处理步骤的输入数据的动态范围为[-2R+3,2R+3-1]时,反变换预处理步骤的输出数据的动态范围是[-2R+14,2R+14-1];一维反变换步骤中的输入数据、输出数据和中间变量的动态范围不超过[-2R+17,2R+17-1];所述反变换后处理步骤中的移位参数w=13,反变换后处理步骤的输出数据动态范围为[-2R,2R-1],R为正整数;所述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个不同的整数元素组成:
Figure FSB00000535949300031
所述正变换后处理步骤如下:输入数据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∈[0,7];其中函数f(a)做如下定义:当正变换预处理步骤输入数据的动态范围为[-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的相互关系如下:
Figure FSB00000535949300035
Figure FSB00000535949300036
Figure FSB00000535949300037
Figure FSB00000535949300038
A=[1×2S],
Figure FSB00000535949300039
Figure FSB000005359493000310
Figure FSB000005359493000311
Figure FSB000005359493000312
Figure FSB000005359493000313
Figure FSB000005359493000314
Figure FSB000005359493000315
Figure FSB000005359493000317
其中:
Figure FSB000005359493000318
Figure FSB000005359493000319
γ=cos(π/16),δ=sin(π/16),ε=cos(3π/16),ζ=sin(3π/16),k、S、ψ、φ是联系因子;由它们构成的{A、B、C、D、E、F、G、H、I、J、a、b、c、d、h、t}所对应的8×8反离散余弦变换方法须符合ISO/IEC23002-1-2006和以下2条定义的精度要求:
(a)线性测试:对于i∈[0,63],j∈[1,255],产生64个输入数据
Figure FSB00000535949300041
令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。
CN 200710300902 2007-07-29 2007-12-07 应用于视频和图像处理的变换方法 Active CN101282476B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN 200710300902 CN101282476B (zh) 2007-07-29 2007-12-07 应用于视频和图像处理的变换方法
PCT/CN2008/071798 WO2009015600A1 (en) 2007-07-29 2008-07-29 The transform method and device applying for video and image process

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN 200710070256 CN101106714A (zh) 2007-07-29 2007-07-29 应用于视频和图像处理的变换方法
CN200710070256.X 2007-07-29
CN 200710300902 CN101282476B (zh) 2007-07-29 2007-12-07 应用于视频和图像处理的变换方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN2011102383692A Division CN102438136A (zh) 2007-12-07 2007-12-07 应用于视频和图像处理的变换方法

Publications (2)

Publication Number Publication Date
CN101282476A CN101282476A (zh) 2008-10-08
CN101282476B true CN101282476B (zh) 2011-10-05

Family

ID=39000349

Family Applications (2)

Application Number Title Priority Date Filing Date
CN 200710070256 Pending CN101106714A (zh) 2007-07-29 2007-07-29 应用于视频和图像处理的变换方法
CN 200710300902 Active CN101282476B (zh) 2007-07-29 2007-12-07 应用于视频和图像处理的变换方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN 200710070256 Pending CN101106714A (zh) 2007-07-29 2007-07-29 应用于视频和图像处理的变换方法

Country Status (2)

Country Link
CN (2) CN101106714A (zh)
WO (1) WO2009015600A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101106714A (zh) * 2007-07-29 2008-01-16 浙江大学 应用于视频和图像处理的变换方法
CN102438136A (zh) * 2007-12-07 2012-05-02 浙江大学 应用于视频和图像处理的变换方法
CN101742298B (zh) * 2008-11-19 2011-07-27 中国科学院微电子研究所 用于嵌入式实时解码器的虚拟小数逆离散余弦变换方法
CN101754009B (zh) * 2008-11-28 2012-01-11 展讯通信(上海)有限公司 整数反变换方法及其装置
JP4594420B2 (ja) * 2008-12-25 2010-12-08 キヤノン株式会社 データ変換装置及びその制御方法
US8885701B2 (en) * 2010-09-08 2014-11-11 Samsung Electronics Co., Ltd. Low complexity transform coding using adaptive DCT/DST for intra-prediction
CN102200963B (zh) * 2010-12-28 2013-06-19 上海山景集成电路股份有限公司 一种用于音频解码的定点修正离散余弦反变换imdct的方法
CN102595112B (zh) * 2011-01-12 2014-02-19 北京大学 视频编码中编码和重建图像块的方法
US9942593B2 (en) 2011-02-10 2018-04-10 Intel Corporation Producing decoded audio at graphics engine of host processing platform
CN104244010B (zh) * 2013-06-14 2018-03-23 浙江大学 提高数字信号变换性能的方法及数字信号变换方法和装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8700843A (nl) * 1987-04-10 1988-11-01 Philips Nv Televisie-overdrachtsysteem met transformcoding.
US7379956B2 (en) * 2002-07-14 2008-05-27 Apple Inc. Encoding and decoding data arrays
KR100584550B1 (ko) * 2002-11-20 2006-05-30 삼성전자주식회사 고속 역 이산 여현 변환 방법 및 장치
CN100426678C (zh) * 2004-03-04 2008-10-15 上海杰得微电子有限公司 8×8两维整数离散余弦变换的变换电路及反变换电路
CN100490539C (zh) * 2006-01-11 2009-05-20 浙江大学 运用于图像编码和视频编码的离散余弦变换的方法
CN100450184C (zh) * 2006-07-12 2009-01-07 浙江大学 运用于图像编码和视频编码的离散余弦变换方法
CN101106714A (zh) * 2007-07-29 2008-01-16 浙江大学 应用于视频和图像处理的变换方法

Also Published As

Publication number Publication date
CN101282476A (zh) 2008-10-08
WO2009015600A1 (en) 2009-02-05
CN101106714A (zh) 2008-01-16

Similar Documents

Publication Publication Date Title
CN101282476B (zh) 应用于视频和图像处理的变换方法
Yarlagadda et al. Hadamard matrix analysis and synthesis: with applications to communications and signal/image processing
CN101330616B (zh) 视频解码过程中反离散余弦变换的硬件实现装置及方法
CN100463522C (zh) 图像和视频编码用的改进的块变换和量化
CA2633897C (en) Transforms with common factors
CN105103548A (zh) 根据输入数据的位深选择变换数据的最大动态范围和变换矩阵的数据精度
JP2019508969A5 (zh)
JP2007151131A5 (zh)
CN103636205A (zh) 具有低延迟的用于残差编码的模式依赖变换
JP3902990B2 (ja) アダマール変換処理方法及びその装置
CN108200439B (zh) 提高数字信号变换性能的方法及数字信号变换方法和装置
CN106254883B (zh) 一种视频解码中的反变换方法和装置
CN104320668B (zh) Hevc/h.265的dct变换和反变换的simd优化方法
Takahira et al. Bidiagonalization of (k, k+ 1)-tridiagonal matrices
WO2020060832A1 (en) Fast implementation of odd one dimensional transforms
CN102438136A (zh) 应用于视频和图像处理的变换方法
WO2018226067A1 (ko) 비디오 압축을 위한 변환 커널의 저복잡도 연산을 수행하는 방법 및 장치
JPH01205638A (ja) 多量ベクトル量子化方法及びその装置
CN103945226A (zh) 一种视频解码的方法及其装置
JP4933405B2 (ja) データ変換装置及びその制御方法
CN114125461B (zh) 通用视频编码变换电路和通用视频编码设备
CN110875048B (zh) 编码装置、及其方法、记录介质
US9665541B2 (en) Encoding video data using reversible integer approximations of orthonormal transforms
Dureisseix Generalized fraction-free LU factorization for singular systems with kernel extraction
CN102413331A (zh) 图像或视频的编码方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: HUAWEI TECHNOLOGIES CO., LTD.

Free format text: FORMER OWNER: ZHEJIANG UNIVERSITY

Effective date: 20120724

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 310027 HANGZHOU, ZHEJIANG PROVINCE TO: 518129 SHENZHEN, GUANGDONG PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20120724

Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Shenzhen

Patentee after: Huawei Technologies Co., Ltd.

Address before: 310027 signal building, No. 38, Zhejiang Road, Zhejiang, Hangzhou 401-408

Patentee before: Zhejiang University