CN1209926C - 运用于图像编码和视频编码的整数变换方法和装置 - Google Patents

运用于图像编码和视频编码的整数变换方法和装置 Download PDF

Info

Publication number
CN1209926C
CN1209926C CN 03115997 CN03115997A CN1209926C CN 1209926 C CN1209926 C CN 1209926C CN 03115997 CN03115997 CN 03115997 CN 03115997 A CN03115997 A CN 03115997A CN 1209926 C CN1209926 C CN 1209926C
Authority
CN
China
Prior art keywords
integer transform
reverse
matrix
coefficient
zoom factor
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.)
Expired - Lifetime
Application number
CN 03115997
Other languages
English (en)
Other versions
CN1445999A (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.)
XFusion Digital 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 03115997 priority Critical patent/CN1209926C/zh
Publication of CN1445999A publication Critical patent/CN1445999A/zh
Application granted granted Critical
Publication of CN1209926C publication Critical patent/CN1209926C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种运用于图像编码和视频编码的整数变换方法和装置。它采用整数变换方法主要是将图像数据或视频数据进行正向整数变换处理,变换到以正向整数变换矩阵表达的向量空间中;对正向整数变换后的数据进行逆向整数变换处理,能够恢复得到原始的图像数据或视频数据。本发明中的整数变换装置通过数据总线将各个功能单元相连接,完全实现本发明中的整数变换方法。由于本方法所采用的变换矩阵系数都是整数,原始图像数据在正向整数变换和逆向整数变换后与初始数据完全一样,从而克服离散余弦变换的失配问题。本发明并不限于图像编码和视频编码领域,还可以推广至其他信号处理的应用中。

Description

运用于图像编码和视频编码的整数变换方法和装置
                             技术领域
本发明涉及一种运用于图像编码和视频编码的整数变换方法和装置。本发明主要是在图像编码端或视频编码端,将图像数据或视频数据进行正向整数变换处理,变换到以正向整数变换矩阵表达的向量空间中;在图像解码端或视频解码端,将正向整数变换后的数据进行逆向整数变换处理,恢复得到原始的图像数据或视频数据。有利于对图像数据或视频数据的压缩和分析。
                             背景技术
传统的视频编码标准如ITU制定的H.261,H.263,H.26L,H.264标准以及ISO的MPEG组织制定的MEPG-1,MPEG-2,MPEG-4等都是基于混合编码,即Hybrid Coding框架之上的。所谓混合编码框架是综合考虑预测,变换以及熵编码的方法的编码框架,有以下主要特点:
1)  利用预测去除时间域的冗余度;
2)  利用变换去除空间域的冗余度;
3)  而用熵编码去除统计上的冗余度;
上述视频编码标准都具有帧内编码帧,即I帧,和帧问编码帧,即P帧,I帧和P帧采用不同的编码方法。I帧的编码过程如下:对原始图像数据或帧内预测得到的残差块进行二维变换;然后在变换域中对变换系数进行量化;最后进行熵编码,即Huffman编码或者算术编码等。P帧的编码过程如下:采用运动估计得到运动矢量,然后采用基于运动补偿的帧间预测,接着对帧间预测得到的残差块进行二维变换,再对变换域系数进行量化,最后进行熵编码。
传统的图像编码标准,如JPEG标准,与视频编码标准有着相近之处,对原始图像数据或图像内预测得到的残差块进行二维变换;然后在变换域中对变换系数进行量化;最后进行熵编码。
由于视频数据和图像数据在空间域上较强的相关性,二维变换是提高编码增益的关键因素,因此二维变换是视频编码和图像编码的很重要的部分。
离散余弦变换(DCT)变换通常用于图像数据和视频数据的块变换编码,这是因为对于各种信号,离散余弦变换非常近似于统计最佳的K-L变换。离散余弦变换被广泛应用于各种视频/图像编码标准中。离散余弦变换的一个缺点是矩阵中的部分系数是无理数,所以在数字计算机上用迭代的方法进行变换和反变换后,不能得到一模一样的初始值。
                             发明内容
本发明的目的是提供一种运用于图像编码和视频编码的整数变换方法和装置,克服离散余弦变换的不足之处,避免了离散余弦变换在反变换中出现的失配问题。本方法并不限于图像编码和视频编码领域,可以推广至其他信号处理的应用中。同时本发明的方法具有一定的可扩展性,可以与众多的信号处理方法相结合,并可以实现不同应用范围的信号处理。
本发明采用的技术方案如下:
方案1
运用于图像编码和视频编码的正向整数变换方法如下:
1)根据正向整数变换输入数据块的大小,选取正向整数变换矩阵的大小;
2)根据所设置的正向整数变换矩阵的大小,选取正向整数变换矩阵系数;
3)根据所设置的正向整数变换矩阵系数,选取相应的正向缩放矩阵系数;
4)根据所设置的正向整数变换矩阵对输入数据块进行正向变换处理,即:
C n × m = T n × B n × m × T m T ,
其中,Bn×m表示n行m列的正向整数变换输入数据块,Tn和Tm分别代表了n×n垂直正向整数变换矩阵和m×m垂直正向整数变换矩阵,Tm T是Tm的转置矩阵,代表了m×m水平正向整数变换矩阵,Cn×m代表了正向整数变换的结果;
5)根据所设置的正向缩放系数矩阵对正向变换处理后的数据块进行正向缩放处理,即:
               Dn×m=Cn×mSn×m
其中,算符表示Cn×m中的每一个系数分别与Sn×m中相同位置的正向缩放系数相乘,Dn×m代表了正向整数变换后的n×m输出数据块。
运用于图像编码和视频编码的正向整数变换方法的装置:
输入装置,用于接受存储正向整数变换的输入数据;
正向整数变换系数存储装置,用于存储正向整数变换矩阵系数;
正向变换装置,根据正向整数变换系数存储装置所存储的正向整数变换系数对输入数据块进行正向变换处理,其中包括的算术逻辑单元可以用乘法运算,加法运算和移位运算实现该处理;
正向缩放系数存储装置,用于存储正向缩放矩阵系数;
正向缩放装置,根据正向缩放系数存储装置所存储的正向缩放系数对正向变换处理后的数据进行正向缩放处理,其中包括的算术逻辑单元可以用乘法运算,加法运算和移位运算实现该处理;
输出装置,用于存储正向整数变换后的数据,并提供输出;输入装置与正向变换装置之间通过数据总线连接,传输输入数据;正向整数变换系数存储装置与正向变换装置之间通过数据总线连接,传输正向整数变换矩阵系数;正向变换装置与正向缩放装置之间通过数据总线连接,传输正向变换处理后的数据;正向缩放系数存储装置与正向缩放装置之间通过数据总线连接,传输正向缩放矩阵系数;正向缩放装置与输出装置之间通过数据总线连接,传输正向整数变换后的数据。
方案2
运用于图像编码和视频编码的逆向整数变换方法如下:
1)根据逆向整数变换输入数据块的大小,选取逆向整数变换矩阵的大小;
2)根据所设置的逆向整数变换矩阵的大小,选取逆向整数变换矩阵系数;
3)根据所设置的逆向整数变换矩阵系数,选取相应的逆向缩放矩阵系数;
4)根据所设置的逆向缩放系数矩阵对输入数据块进行逆向缩放处理,即:
                 Cn×m=Dn×mSn×m
其中,Dn×m表示n行m列的逆向整数变换输入数据块,Cn×m代表了逆向缩放处理的结果,算符表示Dn×m中的每一个系数分别与Sn×m中相同位置的逆向缩放系数相乘;
5)根据所设置的逆向整数变换矩阵对逆向缩放处理过的数据块进行逆向变换处理,即:
B n × m = T n T × C n × m × T m ,
其中,Bn×m表示n行m列的逆向整数变换输出数据块,Tn和Tm分别代表了n×n水平逆向整数变换矩阵和m×m水平逆向整数变换矩阵,Tn T是Tn的转置矩阵,代表了m×m的垂直逆向整数变换矩阵。
运用于图像编码和视频编码的逆向整数变换方法的装置:
输入装置,用于接受存储逆向整数变换的输入数据;
逆向缩放系数存储装置,用于存储逆向缩放矩阵系数;
逆向缩放装置,根据逆向缩放系数存储装置所存储的逆向缩放系数对输入数据块进行逆向缩放处理,其中包括的算术逻辑单元可以用乘法运算,加法运算和移位运算实现该处理;
逆向整数变换系数存储装置,用于存储逆向整数变换矩阵系数;
逆向变换装置,根据逆向整数变换系数存储装置所存储的逆向整数变换系数对逆向缩放处理过的数据进行逆向变换处理,其中包括的算术逻辑单元可以用乘法运算,加法运算和移位运算实现该处理;
输出装置,用于存储逆向整数变换后的数据,并提供输出;
输入装置与逆向缩放装置之间通过数据总线连接,传输输入数据;逆向缩放系数存储装置与逆向缩放装置之间通过数据总线连接,传输逆向缩放矩阵系数;逆向缩放装置与逆向变换装置之间通过数据总线连接,传输逆向缩放处理后的数据;逆向整数变换系数存储装置与逆向变换装置之间通过数据总线连接,传输逆向整数变换矩阵系数;逆向变换装置与输出装置之间通过数据总线连接,传输逆向整数变换后的数据。
本发明与背景技术相比,具有的有益效果:由于本方法所采用的正向整数变换矩阵系数和逆向整数变换矩阵系数都是整数,原始图像数据在正向整数变换和逆向整数变换后得到与初始数据完全一样的数据,从而克服离散余弦变换的不足之处,避免了离散余弦变换在反变换中出现的失配问题。本发明并不限于图像编码和视频编码领域,还可以推广至其他信号处理的应用中。
                       附图说明
图1是4×4垂直正向整数变换矩阵和水平逆向整数变换矩阵示意图。
图2是4×1正向缩放系数矩阵和逆向缩放系数矩阵示意图。
图3是8×8垂直正向整数变换和水平逆向整数变换矩阵矩阵示意图。
图4是8×1正向缩放系数矩阵和逆向缩放系数矩阵示意图。
图5是16×16垂直正向整数变换和水平逆向整数变换矩阵矩阵示意图。
图6是16×1正向缩放系数矩阵和逆向缩放系数矩阵示意图。
图7是正向整数变换装置的示意图。
图8是逆向整数变换装置的示意图。
图9是采用了整数变换的图像数据或视频数据处理系统的方块图。
                    具体实施方式
图像数据和视频数据可以被划分为不同大小的块进行整数变换。例如,4×4,4×8,8×4,8×8,4×16,16×4,16×8,8×16和16×16等。对于这些不同大小的块,可以使用大小为4×4,8×8和16×16的水平正向整数变换矩阵和垂直正向整数变换矩阵进行变换。变换的方法如下:
根据正向整数变换输入数据块的大小,选取正向整数变换矩阵的大小。根据输入数据块的大小n×m,选取垂直正向整数变换矩阵大小为n×n,选取水平正向整数变换矩阵大小为m×m,其中,n是输入数据块的行数,m是输入数据块的列数。
根据所设置的正向整数变换矩阵的大小,选取正向整数变换矩阵系数。
1)一个n×n的垂直正向整数变换矩阵Tn中包含了n个相同或不同的整数系数,Tn中的第k行第0列的系数tk0表示为nk,0≤k≤n-1,Tn中的第i行第j列系数tij是:
Figure C0311599700121
并且, t i × t j T = 0 i ≠ j 0 ≤ i , j ≤ n - 1 t i × t j T ≠ 0 i = j 0 ≤ i , j ≤ n - 1 ,
其中,ti,tj分别代表了Tn中第i,j行的行向量,tj T是tj的转置列向量;
2)一个m×m的垂直正向整数变换矩阵Tm中包含了m个相同或不同的整数系数,矩阵Tm中的第k行第0个系数tk0表示为nk,0≤k≤m-1,Tm中的第i行第j列系数tij是:
并且, t i × t j T = 0 i ≠ j 0 ≤ i , j ≤ n - 1 t i × t j T ≠ 0 i = j 0 ≤ i , j ≤ m - 1 ,
其中,ti,tj分别代表了Tm中第i,j行的行向量,tj T是tj的转置列向量,将Tm转置,得到m×m的水平正向整数变换矩阵Tm T
根据所设置的正向整数变换矩阵系数,选取相应的正向缩放矩阵系数。
1)对于一个n×n的垂直正向整数变换矩阵Tm,设置相对应的n×1正向缩放系数矩阵Sn的矩阵系数si,si代表了Sn中第i行的正向缩放系数,
s i = 1 Σ j = 0 n - 1 t ij 2 - - - 0 ≤ i ≤ n - 1 ,
并且,至少存在一组i和j,当i≠j且0≤i,j≤n-1时,si≠sj
2)对于一个m×m的垂直正向整数变换矩阵Tm,设置相对应的m×1正向缩放系数矩阵Sm的矩阵系数si,sj代表了Sm中第i行的正向缩放系数,
s i = 1 Σ j = 0 m - 1 t ij 2 - - - 0 ≤ i ≤ m - 1 ,
并且,至少存在一组i和j,当i≠j且0≤i,j≤m-1时,si≠sj
3)根据以上的n×1正向缩放系数矩阵Sn和m×1正向缩放系数矩阵Sm,设置n×m正向缩放系数矩阵Sn×m
S n × m = S n × S m T ,
其中,Sm T是Sm的转置矩阵。
根据所设置的正向整数变换矩阵对输入数据块进行正向变换处理。
C n × m = T n × B n × m × T m T ,
其中,Bn×m表示n行m列的正向整数变换输入数据块,Tn和Tm分别代表了n×n垂直正向整数变换矩阵和m×m垂直正向整数变换矩阵,Tm T是Tm的转置矩阵,代表了m×m水平正向整数变换矩阵,Cn×m代表了正向整数变换的中间结果。
根据所设置的正向缩放系数矩阵对正向变换处理后的数据进行正向缩放处理。
                   Dn×m=Cn×mSn×m
其中,算符表示Cn×m中的每一个系数分别与Sn×m中相同位置的正向缩放系数相乘,Dn×m代表了正向整数变换后的n×m输出数据块。
一个4×4的垂直正向整数变换矩阵Tm=T4,T4中的第k行第0列系数tk0表示为nk,0≤k≤3。T4中的第i行第j列系数tij是:
并且, t i × t j T = 0 i ≠ j 0 ≤ i , j ≤ 3 t i × t j T = 1 s i 2 i = j 0 ≤ i , j ≤ 3
ti,tj分别代表了第i,j行的行向量,如图1所示,tj T是tj的转置列向量。n0,n1,n2和n3代表了整数。相应的4×1缩放系数矩阵Sn=S4,如图2所示。s0,s1,s2和s3代表了每一行的缩放系数。并且,至少存在一组i和j,当i≠j且0≤i,j≤3时,si≠sj
S 4 × 4 = S 4 × S 4 T
一个4×4的水平正向整数变换矩阵就是4×4的垂直正向整数变换矩阵的转置,即T4 T,相应的4×1缩放系数矩阵Sn=S4,4×4缩放系数矩阵 S 4 × 4 = S 4 × S 4 T .
一个8×8的垂直正向整数变换矩阵Tm=T8,T8中的第k行第0列系数tk0表示为nk,0≤k≤7。T8中的第i行第j列系数tij是:
Figure C0311599700145
并且, t i × t j T = 0 i ≠ j 0 ≤ i , j ≤ 7 t i × t j T = 1 s i 2 i = j 0 ≤ i , j ≤ 7
ti,tj分别代表了第i,j行的行向量,如图3所示,tj T是tj的转置列向量。n0,n1,n2,n3,n4,n5,n6和n7代表了整数。相应的8×1缩放系数矩阵Sn=S8,如图4所示。s0,s1,s2,s3,s4,s5,s6和s7代表了每一行的缩放系数。并且,至少存在一组i和j,当i≠j且0≤i,j≤7时,si≠sj
S 8 × 8 = S 8 × S 8 T
一个8×8的水平正向整数变换矩阵就是8×8的垂直正向整数变换矩阵的转置,即T8 T,相应的8×1缩放系数矩阵Sn=S8,8×8缩放系数矩阵 S 8 × 8 = S 8 × S 8 T .
一个16×16的垂直正向整数变换矩阵Tm=T16,T16中的第k行第0个系数tk0表示为nk,0≤k≤15。T16中的第i行第j列系数tij是:
Figure C0311599700151
并且, t i × t j T = 0 i ≠ j 0 ≤ i , j ≤ 15 t i × t j T = 1 s i 2 i = j 0 ≤ i , j ≤ 15
ti,tj分别代表了第i,j行的行向量,如图5所示,tj T是tj的转置列向量。n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12,n13,n14和n15代表了整数。相应的16×1缩放系数矩阵Sn=S16,如图6所示。s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14和s15代表了每一行的缩放系数。并且,至少存在一组i和j,当i≠j且0≤i,j≤15时,si≠sj
S 16 × 16 = S 16 × S 16 T
一个16×16的水平正向整数变换矩阵就是16×16的垂直正向整数变换矩阵的转置,即T16 T,相应的16×1缩放系数矩阵Sn=S16,16×16缩放系数矩阵
S 16 × 16 = S 16 × S 16 T .
图像数据和视频数据进行正向整数变换处理后,可以进行逆向整数变换而得到恢复,数据可以被划分为不同大小的块进行逆向整数变换。例如,4×4,4×8,8×4,8×8,4×16,16×4,16×8,8×16和16×16等。对于这些不同大小的块,可以使用大小为4×4,8×8和16×16的水平逆向整数变换矩阵和垂直逆向整数变换矩阵进行变换。变换的方法如下:
根据逆向整数变换输入数据块的大小,选取逆向整数变换矩阵的大小。根据输入数据块的大小n×m,选取垂直逆向整数变换矩阵大小为n×n,选取水平逆向整数变换矩阵大小为m×m,其中,n是输入数据块的行数,m是输入数据块的列数。
根据所设置的逆向整数变换矩阵的大小,选取逆向整数变换矩阵系数。
1)一个n×n的水平逆向整数变换矩阵Tn中包含了n个相同或不同的整数系数,Tn中的第k行第0列系数tk0表示为nk,0≤k≤n-1,Tn中的第i行第j列系数tij是:
Figure C0311599700161
并且, t i × t j T = 0 i ≠ j 0 ≤ i , j ≤ n - 1 t i × t j T ≠ 0 i = j 0 ≤ i , j ≤ n - 1 ,
其中,ti,tj分别代表了Tn中第i,j行的行向量,tj T是tj的转置列向量,将Tn转置,得到n×n的垂直正向整数变换矩阵Tn T
2)一个m×m的水平逆向整数变换矩阵Tm中包含了m个相同或不同的整数系数,Tm中的第k行第0列系数tk0表示为nk,0≤k≤m-1,Tm中的第i行第j列系数tij是:
并且, t i × t j T = 0 i ≠ j 0 ≤ i , j ≤ m - 1 t i × t j T ≠ 0 i = j 0 ≤ i , j ≤ m - 1 ,
其中,ti,tj分别代表了Tm中第i,j行的行向量,tj T是tj的转置列向量。
根据所设置的逆向整数变换矩阵系数,选取相应的逆向缩放矩阵系数。
1)对于一个n×n的水平逆向整数变换矩阵Tn,设置相对应的n×1逆向缩放系数矩阵Sn的矩阵系数Si,Si代表了Sn中第i行的逆向缩放系数,
s i = 1 Σ j = 0 n - 1 t ij 2 - - - 0 ≤ i ≤ n - 1 ,
并且,至少存在一组i和j,当i≠j且0≤i,j≤n-1时,si≠sj
2)对于一个m×m的水平逆向整数变换矩阵Tm,设置相对应的m×1逆向缩放系数矩阵Sm的矩阵系数si,si代表了Sm中第i行的逆向缩放系数,
s i = 1 Σ j = 0 m - 1 t ij 2 - - - 0 ≤ i ≤ m - 1
并且,至少存在一组i和j,当i≠j且0≤i,j≤m-1时,si≠sj
3)根据n×1逆向缩放系数矩阵sn和m×1逆向缩放系数矩阵Sm,设置n×m逆向缩放系数矩阵Sn×m
S n × m = S n × S m T ,
其中,Sm T是Sm的转置矩阵。
根据所设置的逆向缩放系数矩阵对输入数据块进行逆向缩放处理。
                      Cn×m=Dn×mSn×m
其中,Dn×m表示n行m列的逆向整数变换输入数据块,Cn×m代表了逆向整数变换的中间结果,算符表示Dn×m中的每一个系数分别与Sn×m中相同位置的逆向缩放系数相乘。
根据所设置的逆向整数变换矩阵对逆向缩放处理过的数据进行逆向变换处理。
B n × m = T n T × C n × m × T m
其中,Cn×m代表了逆向整数变换的中间结果,Bn×m表示n行m列的逆向整数变换输出数据块,Tn和Tm分别代表了n×n水平逆向整数变换矩阵和m×m水平逆向整数变换矩阵,Tn T是Tn的转置矩阵,代表了m×m的垂直逆向整数变换矩阵。
一个4×4的水平逆向整数变换矩阵Tm=T4,T4中的第k行第0列系数tk0表示为nk,0≤k≤3。T4中的第i行第j列系数tij是:
Figure C0311599700173
并且, t i × t j T = 0 i ≠ j 0 ≤ i , j ≤ 3 t i × t j T = 1 s i 2 i = j 0 ≤ i , j ≤ 3
ti,tj分别代表了第i,j行的行向量,如图1所示,tj T是tj的转置列向量。n0,n1,n2和n3代表了整数。相应的4×1缩放系数矩阵Sn=S4,如图2所示。s0,s1,s2和s3代表了每一行的缩放系数。并且,至少存在一组i和j,当i≠j且0≤i,j≤3时,si≠sj
S 4 × 4 = S 4 × S 4 T
一个4×4的垂直逆向整数变换矩阵就是4×4的水平逆向整数变换矩阵的转置,即T4 T,相应的4×1缩放系数矩阵Sn=S4,4×4缩放系数矩阵 S 4 × 4 = S 4 × S 4 T .
一个8×8的水平逆向整数变换矩阵Tm=T8,T8中的第k行第0列系数tk0表示为nk,0≤k≤7。T8中的第i行第j列系数tij是:
并且, t i × t j T = 0 i ≠ j 0 ≤ i , j ≤ 7 t i × t j T = 1 s i 2 i = j 0 ≤ i , j ≤ 7
ti,tj分别代表了第i,j行的行向量,如图3所示,tj T是tj的转置列向量。n0,n1,n2,n3,n4,n5,n6和n7代表了整数。相应的8×1缩放系数矩阵Sn=S8
如图4所示。s0,s1,s2,s3,s4,s5,s6和s7代表了每一行的缩放系数。并且,至少存在一组i和j,当i≠j且0≤i,j≤7时,si≠sj
S 8 × 8 = S 8 × S 8 T
一个8×8的垂直逆向整数变换矩阵就是8×8的水平逆向整数变换矩阵的转置,即T8 T,相应的8×1缩放系数矩阵Sn=S8,8×8缩放系数矩阵 S 8 × 8 = S 8 × S 8 T .
一个16×16的水平逆向整数变换矩阵Tm=T16,T16中的第k行第0个系数tk0表示为nk,0≤k≤15。T16中的第i行第ji列系数tij是:
Figure C0311599700186
并且, t i × t j T = 0 i ≠ j 0 ≤ i , j ≤ 15 t i × t j T = 1 s i 2 i = j 0 ≤ i , j ≤ 15
ti,tj分别代表了第i,j行的行向量,如图5所示,tj T是tj的转置列向量。n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11, n12,n13,n14和n15代表了整数。相应的16×1缩放系数矩阵Sn=S16,如图6所示。s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14和s15代表了每一行的缩放系数。并且,至少存在一组i和j,当i≠j且0≤i,j≤15时,si≠sj
S 16 × 16 = S 16 × S 16 T
一个16×16的垂直逆向整数变换矩阵就是16×16的水平逆向整数变换矩阵的转置,即T16 T,相应的16×1缩放系数矩阵Sn=S16,16×16缩放系数矩阵
S 16 × 16 = S 16 × S 16 T .
通过选取不同的正向整数变换矩阵系数和矩阵大小与逆向整数变换矩阵系数和矩阵大小,可以构造出不同的正向整数变换矩阵和逆向整数变换矩阵。整数变换可以运用于各种基于块变换的图像处理和视频处理技术。例如,整数变换可以与基于频率或基于人类视觉系统(HVS)的视频编码相结合,如扫描,量化和滤波。可以根据不同的运用场合选取正向整数变换矩阵和逆向整数变换矩阵的大小和系数,具有一定的灵活性。
正向整数变换的装置主要包括输入装置,正向变换装置,正向整数变换系数存储装置,正向缩放装置,正向缩放系数存储装置和输出装置,如图7所示。输入装置710用于接受存储正向整数变换的输入数据。正向变换系数存储装置750用于存储正向整数变换矩阵系数,但是在一些应用中,也可以将正向变换系数存储装置750与正向变换装置720相合并。正向变换装置720根据正向整数变换系数存储装置所存储的正向整数变换系数对输入数据块进行正向变换处理,其中包括的算术逻辑单元725可以用乘法运算,加法运算和移位运算实现该处理。正向缩放系数存储装置760用于存储正向缩放矩阵系数,但是在一些应用中,也可以将正向缩放系数存储装置760与正向缩放装置730相合并。正向缩放装置730根据正向缩放系数存储装置所存储的正向缩放系数对正向变换处理后的数据进行正向缩放处理,其中包括的算术逻辑单元可以用乘法运算,加法运算和移位运算实现该处理。输出装置740用于存储正向整数变换后的数据,并提供输出。
逆向整数变换的装置主要包括输入装置,逆向缩放装置,逆向缩放系数存储装置,逆向变换装置,逆向整数变换系数存储装置和输出装置,如图8所示。输入装置810用于接受存储逆向整数变换的输入数据。逆向缩放系数存储装置850用于存储逆向缩放矩阵系数,但是在一些应用中,也可以将逆向缩放系数存储装置850与逆向缩放装置820相合并。根据逆向缩放系数存储装置所存储的逆向缩放系数对输入数据块进行逆向缩放处理,其中包括的算术逻辑单元可以用乘法运算,加法运算和移位运算实现该处理。逆向变换系数存储装置860用于存储逆向整数变换矩阵系数,但是在一些应用中,也可以将逆向变换系数存储装置860与逆向变换装置830相合并。逆向变换装置根据逆向整数变换系数存储装置所存储的逆向整数变换系数对逆向缩放处理过的数据进行逆向变换处理,其中包括的算术逻辑单元可以用乘法运算,加法运算和移位运算实现该处理。输出装置840用于存储逆向整数变换后的数据,并提供输出。
上述的正向整数变换的装置和逆向整数变换的装置可以用处理器系统,微控制器,可编程逻辑器件或微处理器实现部分或全部的操作。上述的一些操作可以用软件实现,同时另一些操作可以用硬件实现。
为了方便起见,这些操作被描述为不同的互连的功能单元或不同的软件模块。但是,这不是必要的。在一些应用中,这些功能单元或模块可以被集成到单一的逻辑器件,程序或操作中,而没有明显的界限。在任何情况中,功能单元和软件模块或描述的特征可以独立实现,或与其他操作一起用硬件或软件实现。
图9表示了利用上述整数变换方法或整数变换装置进行编码和解码的系统。这个系统可以是计算机,视频设备,照相机,网络处理器等等任何能处理数据的设备。模块910中的数据可以是任何需要变换处理的数据。例如,系统可以用来处理视频信息。
模块920中的正向整数变换可以使用上述的任何一种正向整数变换矩阵和相应的正向缩放系数矩阵来处理模块910中的数据。用来处理数据的正向整数变换矩阵和相应的正向缩放系数矩阵的大小取决于数据块划分的大小。例如,在一种应用中,图像数据被划分为4×4的块用于编码,在同样或另一种应用中,相同的或不同的图像数据被划分为16×16的块而能更有效的编码。正向整数变换模块920就包含了存储上述不同的4×4,8×8和16×16整数变换矩阵和相应的缩放系数矩阵的存储器。对于不同大小划分的图像数据,就使用与图像数据同样划分大小的正向整数变换矩阵和相应的正向缩放系数矩阵进行变换。
正向整数变换后的数据在模块930中被量化,在模块940中进行熵编码。编码后的数据在模块950中,可以存储在存储器中或通过信道传输。
数据的解码首先在模块960中进行反熵编码,再在模块970中进行反量化。模块980使用逆向整数变换矩阵和相应的逆向缩放系数矩阵进行逆向整数变换。逆向整数变换的逆向整数变换矩阵与正向整数变换矩阵的大小相同。逆向整数变换后的数据在模块990中作为逆向整数变换数据输出。
上述的系统可以用处理器系统,微控制器,可编程逻辑器件或微处理器实现部分或全部的操作。上述的一些操作可以用软件实现,同时另一些操作可以用硬件实现。
为了方便起见,这些操作被描述为不同的互连的功能单元或不同的软件模块。但是,这不是必要的。在一些应用中,这些功能单元或模块可以被集成到单一的逻辑器件,程序或操作中,而没有明显的界限。在任何情况中,功能单元和软件模块或描述的特征可以独立实现,或与其他操作一起用硬件或软件实现。

Claims (10)

1.一种运用于图像编码和视频编码的整数变换方法,其特征在于运用于图像编码和视频编码的正向整数变换方法,方法如下:
1)根据正向整数变换输入数据块的大小,选取正向整数变换矩阵的大小;
2)根据所设置的正向整数变换矩阵的大小,选取正向整数变换矩阵系数;
3)根据所设置的正向整数变换矩阵系数,选取相应的正向缩放矩阵系数;
4)根据所设置的正向整数变换矩阵对输入数据块进行正向变换处理,即:
C n × m = T n × B n × m × T m T ,
其中,Bn×m表示n行m列的正向整数变换输入数据块,Tn和Tm分别代表了n×n垂直正向整数变换矩阵和m×m垂直正向整数变换矩阵,Tm T是Tm的转置矩阵,代表了m×m水平正向整数变换矩阵,Cn×m代表了正向整数变换的结果;
5)根据所设置的正向缩放系数矩阵对正向变换处理后的数据块进行正向缩放处理,即:
                    Dn×m=Cn×mSn×m
其中,算符表示Cn×m中的每一个系数分别与Sn×m中相同位置的正向缩放系数相乘,Dn×m代表了正向整数变换后的n×m输出数据块。
2.如权利要求1所述的一种运用于图像编码和视频编码的整数变换方法,其特征在于所说的根据正向整数变换输入数据块的大小,选取正向整数变换矩阵的大小,还包括以下的子步骤:
1)根据输入数据块的大小n×m,选取垂直正向整数变换矩阵大小为n×n;
2)根据输入数据块的大小n×m,选取水平正向整数变换矩阵大小为m×m;
其中,n是输入数据块的行数,m是输入数据块的列数。
3.如权利要求1所述的一种运用于图像编码和视频编码的整数变换方法,其特征在于所说的根据所设置的正向整数变换矩阵的大小,选取正向整数变换矩阵系数,还包括以下的子步骤:
1)一个n×n的垂直正向整数变换矩阵Tn中包含了n个相同或不同的整数系数,Tn中的第k行第0列的系数tk0表示为nk,0≤k≤n-1,Tn中的第i行第j列系数tij是:
并且,
Figure C031159970003C2
其中,ti,tj分别代表了Tn中第i,j行的行向量,tj T是tj的转置列向量;
2)一个m×m的垂直正向整数变换矩阵Tm中包含了m个相同或不同的整数系数,矩阵Tm中的第k行第0个系数tk0表示为nk,0≤k≤m-1,Tm中的第i行第j列系数tij是:
Figure C031159970003C3
并且,
Figure C031159970003C4
其中,ti,tj分别代表了Tm中第i,j行的行向量,tj T是tj的转置列向量,将Tm转置,得到m×m的水平正向整数变换矩阵Tm T
4.如权利要求1所述的一种运用于图像编码和视频编码的整数变换方法,其特征在于所说的根据所设置的正向整数变换矩阵系数,选取相应的正向缩放矩阵系数,还包括以下的子步骤:
1)对于一个n×n的垂直正向整数变换矩阵Tn,设置相对应的n×1正向缩放系数矩阵Sn的矩阵系数si,sj代表了Sn中第i行的正向缩放系数,
s i = 1 Σ j = 0 n - 1 t ij 2 , 0 ≤ i ≤ n - 1 ,
并且,至少存在一组i和j,当i≠j且0≤i,j≤n-1时,si≠sj
2)对于一个m×m的垂直正向整数变换矩阵Tm,设置相对应的m×1正向缩放系数矩阵Sm的矩阵系数si,sj代表了Sm中第i行的正向缩放系数,
s i = 1 Σ j = 0 m - 1 t ij 2 , 0 ≤ i ≤ m - 1 ,
并且,至少存在一组i和j,当i≠j且0≤i,j≤m-1时,si≠sj
3)根据以上的n×1正向缩放系数矩阵Sn和m×1正向缩放系数矩阵Sm,设置n×m正向缩放系数矩阵Sn×m
S n × m = S n × S m T ,
其中,Sm T是Sm的转置矩阵。
5.用于权利要求1所述的一种运用于图像编码和视频编码的整数变换方法的装置,其特征在于整数变换的装置包括:
输入装置(710),用于接受存储正向整数变换的输入数据;
正向整数变换系数存储装置(750),用于存储正向整数变换矩阵系数;
正向变换装置(720),根据正向整数变换系数存储装置(750)所存储的正向整数变换系数对输入数据块进行正向变换处理,其中包括的算术逻辑单元可以用乘法运算,加法运算和移位运算实现该处理;
正向缩放系数存储装置(760),用于存储正向缩放矩阵系数;
正向缩放装置(730),根据正向缩放系数存储装置(760)所存储的正向缩放系数矩阵对正向变换处理后的数据进行正向缩放处理,其中包括的算术逻辑单元可以用乘法运算,加法运算和移位运算实现该处理;
输出装置(740),用于存储正向整数变换后的数据,并提供输出;
输入装置(710)与正向变换装置(720)之间通过数据总线连接,传输输入数据;正向整数变换系数存储装置(750)与正向变换装置(720)之间通过数据总线连接,传输正向整数变换矩阵系数;正向变换装置(720)与正向缩放装置(730)之间通过数据总线连接,传输正向变换处理后的数据;正向缩放系数存储装置(760)与正向缩放装置(730)之间通过数据总线连接,传输正向缩放矩阵系数;正向缩放装置(730)与输出装置(740)之间通过数据总线连接,传输正向整数变换后的数据。
6.一种运用于图像编码和视频编码的整数变换方法,其特征在于运用于图像编码和视频编码的逆向整数变换方法,方法如下:
1)根据逆向整数变换输入数据块的大小,选取逆向整数变换矩阵的大小;
2)根据所设置的逆向整数变换矩阵的大小,选取逆向整数变换矩阵系数;
3)根据所设置的逆向整数变换矩阵系数,选取相应的逆向缩放矩阵系数;
4)根据所设置的逆向缩放系数矩阵对输入数据块进行逆向缩放处理,即:
               Cn×m=Dn×mSn×m
其中,Dn×m表示n行m列的逆向整数变换输入数据块,Cn×m代表了逆向缩放处理的结果,算符表示Dn×m中的每一个系数分别与Sn×m中相同位置的逆向缩放系数相乘;
5)根据所设置的逆向整数变换矩阵对逆向缩放处理过的数据块进行逆向变换处理,即:
B n × m = T n T × C n × m × T m ,
其中,Bn×m表示n行m列的逆向整数变换输出数据块,Tn和Tm分别代表了n×n水平逆向整数变换矩阵和m×m水平逆向整数变换矩阵,Tn T是Tn的转置矩阵,代表了m×m的垂直逆向整数变换矩阵。
7.如权利要求6所述的一种运用于图像编码和视频编码的整数变换方法,其特征在于所说的根据逆向整数变换输入数据块的大小,选取逆向整数变换矩阵的大小,还包括以下的子步骤:
1)根据输入数据块的大小n×m,选取垂直逆向整数变换矩阵大小为n×n;
2)根据输入数据块的大小n×m,选取水平逆向整数变换矩阵大小为m×m;
其中,n是输入数据块的行数,m是输入数据块的列数。
8.如权利要求6所述的一种运用于图像编码和视频编码的整数变换方法,其特征在于所说的根据所设置的逆向整数变换矩阵的大小,选取逆向整数变换矩阵系数,还包括以下的子步骤:
1)一个n×n的水平逆向整数变换矩阵Tn中包含了n个相同或不同的整数系数,Tn中的第k行第0列系数tk0表示为nk,0≤k≤n-1,Tn中的第i行第j列系数tij是:
Figure C031159970005C2
并且,
Figure C031159970005C3
其中,ti,tj分别代表了Tn中第i,j行的行向量,tj T是tj的转置列向量,将Tn转置,得到n×n的垂直正向整数变换矩阵Tn T
2)一个m×m的水平逆向整数变换矩阵Tm中包含了m个相同或不同的整数系数,Tm中的第k行第0列系数tk0表示为nk,0≤k≤m-1,Tm中的第i行第j列系数tij是:
Figure C031159970006C1
并且,
Figure C031159970006C2
其中,ti,tj分别代表了Tm中第i,j行的行向量,tj T是tj的转置列向量。
9.如权利要求6所述的一种运用于图像编码和视频编码的整数变换方法,其特征在于所说的根据所设置的逆向整数变换矩阵系数,选取相应的逆向缩放矩阵系数,还包括以下的子步骤:
1)对于一个n×n的水平逆向整数变换矩阵Tn,设置相对应的n×1逆向缩放系数矩阵Sn的矩阵系数si,sj代表了Sn中第i行的逆向缩放系数,
s i = 1 Σ j = 0 n - 1 t ij 2 , 0 ′ ≤ i ≤ n - 1 ,
并且,至少存在一组i和j,当i≠j且0≤i,j≤n-1时,si≠sj
2)对于一个m×m的水平逆向整数变换矩阵Tm,设置相对应的m×1逆向缩放系数矩阵Sm的矩阵系数si,sj代表了Sm中第i行的逆向缩放系数,
s i = 1 Σ j = 0 m - 1 t ij 2 , 0 ≤ i ≤ m - 1
并且,至少存在一组i和j,当i≠j且0≤i,j≤m-1时,si≠sj
3)根据n×1逆向缩放系数矩阵Sn和m×1逆向缩放系数矩阵Sm,设置n×m逆向缩放系数矩阵Sn×m
S n × m = S n × S m T ,
其中,Sm T是Sm的转置矩阵。
10.用于权利要求6所述的一种运用于图像编码和视频编码的整数变换方法的装置,其特征在于整数变换装置包括;
输入装置(810),用于接受存储逆向整数变换的输入数据;
逆向缩放系数存储装置(850),用于存储逆向缩放矩阵系数;
逆向缩放装置(820),根据逆向缩放系数存储装置(850)所存储的逆向缩放系数对输入数据块进行逆向缩放处理,其中包括的算术逻辑单元可以用乘法运算,加法运算和移位运算实现该处理;
逆向整数变换系数存储装置(860),用于存储逆向整数变换矩阵系数;
逆向变换装置(830),根据逆向整数变换系数存储装置(860)所存储的逆向整数变换系数对逆向缩放处理过的数据进行逆向变换处理,其中包括的算术逻辑单元可以用乘法运算,加法运算和移位运算实现该处理;输出装置(840),用于存储逆向整数变换后的数据,并提供输出;
输入装置(810)与逆向缩放装置(820)之间通过数据总线连接,传输输入数据;逆向缩放系数存储装置(850)与逆向缩放装置(820)之间通过数据总线连接,传输逆向缩放矩阵系数;逆向缩放装置(820)与逆向变换装置(830)之间通过数据总线连接,传输逆向缩放处理后的数据;逆向整数变换系数存储装置(860)与逆向变换装置(830)之间通过数据总线连接,传输逆向整数变换矩阵系数;逆向变换装置(830)与输出装置(840)之间通过数据总线连接,传输逆向整数变换后的数据。
CN 03115997 2003-03-26 2003-03-26 运用于图像编码和视频编码的整数变换方法和装置 Expired - Lifetime CN1209926C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 03115997 CN1209926C (zh) 2003-03-26 2003-03-26 运用于图像编码和视频编码的整数变换方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 03115997 CN1209926C (zh) 2003-03-26 2003-03-26 运用于图像编码和视频编码的整数变换方法和装置

Publications (2)

Publication Number Publication Date
CN1445999A CN1445999A (zh) 2003-10-01
CN1209926C true CN1209926C (zh) 2005-07-06

Family

ID=27814839

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 03115997 Expired - Lifetime CN1209926C (zh) 2003-03-26 2003-03-26 运用于图像编码和视频编码的整数变换方法和装置

Country Status (1)

Country Link
CN (1) CN1209926C (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1642280B (zh) * 2004-01-01 2010-04-28 浙江大学 图像和视频信号的变换装置及其方法
CN100433837C (zh) * 2004-03-18 2008-11-12 华中科技大学 视频编码的整数变换方法
CN100440978C (zh) * 2004-09-28 2008-12-03 华为技术有限公司 一种视频图像编码方法
CN101616328B (zh) * 2005-12-08 2011-08-10 香港中文大学 视频信号的编码系数的转换装置及其方法
CN101848392A (zh) * 2010-05-07 2010-09-29 北京大学深圳研究生院 一种视频编解码装置及其整数变换和反变换的方法
CN101977321B (zh) * 2010-11-04 2014-03-12 深圳市融创天下科技股份有限公司 一种视频编码的整数变换方法
CN102227135A (zh) * 2011-04-20 2011-10-26 深圳市融创天下科技发展有限公司 一种视频编码8x8整数变换方法

Also Published As

Publication number Publication date
CN1445999A (zh) 2003-10-01

Similar Documents

Publication Publication Date Title
CN1221927C (zh) 图像处理装置和方法
CN1201595C (zh) 图像解码方法
CN1282107C (zh) 一种对图像进行快速压缩和解压缩的方法
CN1225126C (zh) 用于视频编码的新型空间预测方法及其装置
CN1286322C (zh) 一种低复杂度整数4×4离散余弦变换量化实现方法
CN1764277A (zh) 图像和视频编码用的改进的块变换和量化
CN1791222A (zh) 对有损及无损的2-d数据压缩的可逆转换
CN1256849C (zh) 1/4像素精度插值的方法和装置
CN1640141A (zh) 用于复合文档压缩的编码器匹配层的分离和插值
CN1805548A (zh) 用于重叠双正交变换的可逆二维前置/后置滤波
CN1302419A (zh) 缩放压缩的图象
CN1679342A (zh) 对视频数据进行内编码的方法和设备
CN1697328A (zh) 快速视频编解码变换实现
CN1287598C (zh) 用于消除区块效应和/或铃振噪声的滤波方法和装置
CN101035286A (zh) 信号处理器
CN101047849A (zh) 离散余弦逆变换方法及其装置
CN1756365A (zh) 基于多重扫描的帧内模式中编码和解码数据的方法和设备
CN1842164A (zh) 解码视频数据的解码器和系统
CN1825964A (zh) 片上处理视频数据的方法和系统
CN1225919C (zh) 编码图像信息的方法和设备及解码图像信息的方法和设备
CN1209926C (zh) 运用于图像编码和视频编码的整数变换方法和装置
CN1216495C (zh) 视频图像亚像素插值的方法和装置
CN1290335C (zh) 对被编码的视频信号同时进行格式压缩和解码的方法
CN101043633A (zh) 一种编码中量化矩阵选择方法、装置及编解码方法及系统
CN1960493A (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 TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: ZHEJIANG UNIVERSITY

Effective date: 20080418

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20080418

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

Patentee after: HUAWEI TECHNOLOGIES Co.,Ltd.

Address before: Hangzhou City, Zhejiang Province, Xihu District Ancient Jade Road 20

Patentee before: Zhejiang University

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211229

Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province

Patentee after: Super fusion Digital Technology Co.,Ltd.

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

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

CX01 Expiry of patent term

Granted publication date: 20050706

CX01 Expiry of patent term