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

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

Info

Publication number
CN1210960C
CN1210960C CN 03148149 CN03148149A CN1210960C CN 1210960 C CN1210960 C CN 1210960C CN 03148149 CN03148149 CN 03148149 CN 03148149 A CN03148149 A CN 03148149A CN 1210960 C CN1210960 C CN 1210960C
Authority
CN
China
Prior art keywords
matrix
inverse
integer
scaling
integer transform
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 03148149
Other languages
English (en)
Other versions
CN1461150A (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 03148149 priority Critical patent/CN1210960C/zh
Publication of CN1461150A publication Critical patent/CN1461150A/zh
Application granted granted Critical
Publication of CN1210960C publication Critical patent/CN1210960C/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

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

Description

运用于图像编码和视频编码的8×8整数变换方法和装置
所属技术领域
本发明涉及一种运用于图像编码和视频编码的8×8整数变换方法和装置。本发明主要是在图像编码端或视频编码端,将图像数据或视频数据进行正向8×8整数变换处理,变换到以正向8×8整数变换矩阵表达的向量空间中;在图像解码端或视频解码端,将正向8×8整数变换后的数据进行逆向8×8整数变换处理,恢复得到原始的图像数据或视频数据。有利于对图像数据或视频数据的压缩和分析。
背景技术
传统的视频编码标准如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变换。离散余弦变换被广泛应用于各种视频/图像编码标准中。离散余弦变换的一个缺点是矩阵中的部分系数是无理数,所以在数字计算机上用迭代的方法进行变换和反变换后,不能得到一模一样的初始值。
发明内容
本发明的目的是提供一种运用于图像编码和视频编码的8×8整数变换方法和装置,克服8×8离散余弦变换的不足之处,避免了8×8离散余弦变换在反变换中出现的失配问题。本方法并不限于图像编码和视频编码领域,可以推广至其他信号处理的应用中。由于本方法所采用的8×8变换矩阵系数取值简单,利于硬件实现。同时本发明的方法具有一定的可扩展性,可以与众多的信号处理方法相结合,并可以实现不同应用范围的信号处理。
本发明采用的技术方案如下:
方案1
运用于图像编码和视频编码的正向8×8整数变换方法如下:
1)选取8×8正向整数变换矩阵系数;
2)根据所设置的8×8正向整数变换矩阵系数,选取相应的8×8正向缩放矩阵系数;
3)根据所设置的8×8正向整数变换矩阵对8×8输入数据块进行8×8正向变换处理,即:
                     C8×8=T8v×B8×8×T8h
其中,B8×8表示8行8列的8×8正向整数变换输入数据块,T8v和T8h分别代表了8×8垂直正向整数变换矩阵和8×8水平正向整数变换矩阵,C8×8代表了8×8正向整数变换的结果;
4)根据所设置的8×8正向缩放系数矩阵对8×8正向变换处理后的数据块进行正向缩放处理,即:
                      D8×8=C8×8S8×8
其中,算符表示C8×8中的每一个系数分别与S8×8中相同位置的正向缩放系数相乘,D8×8代表了8×8正向整数变换后的8×8输出数据块。
运用于图像编码和视频编码的8×8正向整数变换方法的装置:
输入装置,用于接受存储8×8正向整数变换的输入数据;
8×8正向数变换系数存储装置,用于存储8×8正向整数变换矩阵系数;
8×8正向变换装置,根据8×8正向整数变换系数存储装置所存储的8×8正向整数变换系数对输入数据块进行8×8正向变换处理,其中包括的算术逻辑单元可以用乘法运算,加法运算和移位运算实现该处理;
8×8正向缩放系数存储装置,用于存储8×8正向缩放矩阵系数;
8×8正向缩放装置,根据8×8正向缩放系数存储装置所存储的8×8正向缩放系数对8×8正向变换处理后的数据进行8×8正向缩放处理,其中包括的算术逻辑单元可以用乘法运算,加法运算和移位运算实现该处理;
输出装置,用于存储8×8正向整数变换后的数据,并提供输出;
输入装置与8×8正向变换装置之间通过数据总线连接,传输8×8输入数据;8×8正向整数变换系数存储装置与8×8正向变换装置之间通过数据总线连接,传输8×8正向整数变换矩阵系数;8×8正向变换装置与8×8正向缩放装置之间通过数据总线连接,传输8×8正向变换处理后的数据;8×8正向缩放系数存储装置与8×8正向缩放装置之间通过数据总线连接,传输8×8正向缩放矩阵系数;8×8正向缩放装置与输出装置之间通过数据总线连接,传输8×8正向整数变换后的数据。
方案2
运用于图像编码和视频编码的8×8逆向整数变换方法如下:
1)选取8×8逆向整数变换矩阵系数;
2)根据所设置的8×8逆向整数变换矩阵系数,选取相应的8×8逆向缩放矩阵系数;
3)根据所设置的8×8逆向缩放系数矩阵对8×8输入数据块进行8×8逆向缩放处理,即
                      C8×8=D8×8S8×8
其中,D8×8表示8行8列的8×8逆向整数变换输入数据块,C8×8代表了8×8逆向缩放处理的结果,S8×8逆向缩放系数矩阵,表示算符表示D8×8中的每一个系数分别与S8×8中相同位置的逆向缩放系数相乘;
4)根据所设置的8×8逆向整数变换矩阵对8×8逆向缩放处理过的数据块进行8×8逆向变换处理,即
                       B8×8=T8v×C8×8×T8h
其中,B8×8表示8行8列的8×8逆向整数变换输出数据块,T8v和T8h分别代表了8×8垂直逆向整数变换矩阵和8×8水平逆向整数变换矩阵。
运用于图像编码和视频编码的8×8逆向整数变换方法的装置:
输入装置,用于接受存储8×8逆向整数变换的输入数据;
8×8逆向缩放系数存储装置,用于存储8×8逆向缩放矩阵系数;
8×8逆向缩放装置,根据8×8逆向缩放系数存储装置所存储的8×8逆向缩放系数对输入数据块进行8×8逆向缩放处理,其中包括的算术逻辑单元可以用乘法运算,加法运算和移位运算实现该处理;
8×8逆向整数变换系数存储装置,用于存储8×8逆向整数变换矩阵系数;
8×8逆向变换装置,根据8×8逆向整数变换系数存储装置所存储的8×8逆向整数变换系数对8×8逆向缩放处理过的数据进行8×8逆向变换处理,其中包括的算术逻辑单元可以用乘法运算,加法运算和移位运算实现该处理;输出装置,用于存储8×8逆向整数变换后的数据,并提供输出;
输入装置与8×8逆向缩放装置之间通过数据总线连接,传输输入数据;8×8逆向缩放系数存储装置与8×8逆向缩放装置之间通过数据总线连接,传输8×8逆向缩放矩阵系数;8×8逆向缩放装置与8×8逆向变换装置之间通过数据总线连接,传输8×8逆向缩放处理后的数据;8×8逆向整数变换系数存储装置与8×8逆向变换装置之间通过数据总线连接,传输8×8逆向整数变换矩阵系数;8×8逆向变换装置与输出装置之间通过数据总线连接,传输8×8逆向整数变换后的数据。
本发明与背景技术相比,具有的有益效果:
由于本方法所采用的8×8正向整数变换矩阵系数和8×8逆向整数变换矩阵系数都是整数,原始图像数据在8×8正向整数变换和8×8逆向整数变换后得到与初始数据完全一样的数据,从而克服8×8离散余弦变换的不足之处,避免了8×8离散余弦变换在反变换中出现的失配问题。
附图说明
图1是8×8正向整数变换装置的示意图。
图2是8×8逆向整数变换装置的示意图。
图3是采用了8×8整数变换的图像数据或视频数据处理系统的方块图。
具体实施方式
图像数据和视频数据可以被划分为8×8大小的块进行整数变换。对于8×8数据块,可以使用大小为8×8的水平正向整数变换矩阵和垂直正向整数变换矩阵进行变换。变换的方法如下:
选取8×8正向整数变换矩阵系数。
1)一个8×8的垂直正向整数变换矩阵T8v中包含了8个相同或不同的整数系数,这8个整数系数的取值是2的非负整数次幂,或该矩阵的每一行系数由2的非负整数次幂组成的每一行系数乘以相同的整数得到,T8v中的第k行第0列的系数tk0表示为nk,0≤k≤7,T8v表示如下:
T 8 v = t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 = n 0 n 0 n 0 n 0 n 0 n 0 n 0 n 0 n 1 n 5 n 3 n 7 - n 7 - n 3 - n 5 - n 1 n 2 n 6 - n 6 - n 2 - n 2 - n 6 n 6 n 2 n 3 n 7 - n 1 - n 5 n 5 n 1 - n 7 - n 3 n 4 - n 4 - n 4 n 4 n 4 - n 4 - n 4 n 4 n 5 - n 1 - n 7 n 3 - n 3 n 7 n 1 - n 5 n 6 - n 2 n 2 - n 6 - n 6 n 2 - n 2 n 6 n 7 - n 3 n 5 - n 1 n 1 - n 5 n 3 - n 7 ,
并且, t i × t j T = 0 i ≠ j 0 ≤ i , j ≤ 7 t i × t j T ≠ 0 i = j 0 ≤ i , j ≤ 7 ,
其中,ti,tj分别代表了T8v中第i,j行的行向量,tT j是tj的转置列向量;
2)一个8×8的水平正向整数变换矩阵T8h中包含了8个相同或不同的整数系数,这8个整数系数的取值是2的非负整数次幂,或该矩阵的每一列系数由2的非负整数次幂组成的每一列系数乘以相同的整数得到,T8h中的第0行第k列的系数t0k表示为nk,0≤k≤7,T8h表示如下:
T 8 h = t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 T = n 0 n 1 n 2 n 3 n 4 n 5 n 6 n 7 n 0 n 5 n 6 n 7 - n 4 - n 1 - n 2 - n 3 n 0 n 3 - n 6 - n 1 - n 4 - n 7 n 2 n 5 n 0 n 7 - n 2 - n 5 n 4 n 3 - n 6 - n 1 n 0 - n 7 - n 2 n 5 n 4 - n 3 - n 6 n 1 n 0 - n 3 - n 6 n 1 - n 4 n 7 n 2 - n 5 n 0 - n 5 n 6 - n 7 - n 4 n 1 - n 2 n 3 n 0 - n 1 n 2 - n 3 n 4 - n 5 n 6 - n 7 ,
并且, t i × t j T = 0 i ≠ j 0 ≤ i , j ≤ 7 t i × t j T ≠ 0 i = j 0 ≤ i , j ≤ 7 ,
其中,tT i,tT j分别代表了T8h中第i,j列的列向量,tj是tT j的转置行向量。
根据所设置的8×8正向整数变换矩阵系数,选取相应的8×8正向缩放矩阵系数。
1)对于一个8×8的垂直正向整数变换矩阵T8v,设置相对应的8×1垂直正向缩放系数矩阵S8v的矩阵系数si,si代表了S8v中第i行的正向缩放系数,
s i = 1 Σ j = 0 7 t ij 2 - - 0 ≤ i ≤ 7 ,
其中,tij是T8v中的第i行第j列系数,并且,至少存在一组i和j,当i≠j且0≤i,j≤7时,si≠sj
2)对于一个8×8的水平正向整数变换矩阵T8h,设置相对应的1×8水平正向缩放系数矩阵S8h的矩阵系数sj,sj代表了S8h中第j列的正向缩放系数,
s j = 1 Σ i = 0 7 t ij 2 - - 0 ≤ j ≤ 7 ,
其中,tij是T8h中的第i行第j列系数,并且,至少存在一组i和j,当i≠j且0≤i,j≤7时,si≠sj
3)根据以上的8×1垂直正向缩放系数矩阵S8v和1×8水平正向缩放系数矩阵S8h,设置8×8正向缩放系数矩阵S8×8
                       S8×8=S8v×S8h
根据所设置的8×8正向整数变换矩阵对8×8输入数据块进行8×8正向变换处理。
                   C8×8=T8v×B8×8×T8h
其中,B8×8表示8行8列的8×8正向整数变换输入数据块,T8v和T8h分别代表了8×8垂直正向整数变换矩阵和8×8水平正向整数变换矩阵,C8×8代表了8×8正向整数变换的中间结果。
根据所设置的8×8正向缩放系数矩阵对8×8正向变换处理后的数据进行正向缩放处理。
                           D8×8=C8×8S8×8
其中,算符表示C8×8中的每一个系数分别与S8×8中相同位置的正向缩放系数相乘,D8×8代表了8×8正向整数变换后的8×8输出数据块。
一个8×8垂直正向整数变换矩阵可以是:
T 8 v = 1 1 1 1 1 1 1 1 8 8 4 1 - 1 - 4 - 8 - 8 2 1 - 1 - 2 - 2 - 1 1 2 4 1 - 8 - 8 8 8 - 1 - 4 1 - 1 - 1 1 1 - 1 - 1 1 8 - 8 - 1 4 - 4 1 8 - 8 1 - 2 2 - 1 - 1 2 - 2 1 1 - 4 8 - 8 8 - 8 4 - 1 .
它满足于上述的8×8垂直正向整数变换矩阵所必需的条件。
一个8×8水平正向整数变换矩阵可以是:
T 8 h = 1 8 2 4 1 8 1 1 1 8 1 1 - 1 - 8 - 2 - 4 1 4 - 1 - 8 - 1 - 1 2 8 1 1 - 2 - 8 1 4 - 1 - 8 1 - 1 - 2 8 1 - 4 - 1 8 1 - 4 - 1 8 - 4 1 2 - 8 1 - 8 1 - 4 - 1 8 - 2 4 1 - 8 2 - 4 1 - 8 1 - 1 .
它满足于上述的8×8水平正向整数变换矩阵所必需的条件。
对于该8×8的垂直正向整数变换矩阵T8v,相对应的8×1垂直正向缩放系数矩阵S8v就是:
S 8 v = 1 8 1 290 1 20 1 290 1 8 1 290 1 20 1 290 .
对于该8×8的水平正向整数变换矩阵T8h,相对应的1×8水平正向缩放系数矩阵S8h就是:
S 8 h = 1 8 1 290 1 20 1 290 1 8 1 290 1 20 1 290 .
根据以上的8×1垂直正向缩放系数矩阵S8v和1×8水平正向缩放系数矩阵S8h,设置8×8正向缩放系数矩阵S8×8
S 8 × 8 = 1 8 1 2320 1 160 1 2320 1 8 1 2320 1 160 1 2320 1 2320 1 290 1 5800 1 290 1 2320 1 290 1 5800 1 290 1 160 1 5800 1 20 1 5800 1 160 1 5800 1 20 1 5800 1 2320 1 290 1 5800 1 290 1 2320 1 290 1 5800 1 290 1 8 1 2320 1 160 1 2320 1 8 1 2320 1 160 1 2320 1 2320 1 290 1 5800 1 290 1 2320 1 290 1 5800 1 290 1 160 1 5800 1 20 1 5800 1 160 1 5800 1 20 1 5800 1 2320 1 290 1 5800 1 290 1 2320 1 290 1 5800 1 290 .
由于该8×8垂直正向整数变换矩阵和8×8水平正向整数变换矩阵中的系数都是2的次幂,用该8×8垂直正向整数变换矩阵和8×8水平正向整数变换矩阵对输入数据进行8×8正向变换处理只需要进行移位运算即可,计算复杂度非常低。
一个8×8垂直正向整数变换矩阵可以是:
T 8 v = 6 6 6 6 6 6 6 6 8 8 4 1 - 1 - 4 - 8 - 8 8 4 - 4 - 8 - 8 - 4 4 8 4 1 - 8 - 8 8 8 - 1 - 4 6 - 6 - 6 6 6 - 6 - 6 6 8 - 8 - 1 4 - 4 1 8 - 8 4 - 8 8 - 4 - 4 8 - 8 4 1 - 4 8 - 8 8 - 8 4 - 1 .
它满足于上述的8×8垂直正向整数变换矩阵所必需的条件。
一个8×8水平正向整数变换矩阵可以是:
T 8 h = 6 8 8 4 6 8 4 1 6 8 4 1 - 6 - 8 - 8 - 4 6 4 - 4 - 8 - 6 - 1 8 8 6 1 - 8 - 8 6 4 - 4 - 8 6 - 1 - 8 8 6 - 4 - 4 8 6 - 4 - 4 8 - 6 1 8 - 8 6 - 8 4 - 1 - 6 8 - 8 4 6 - 8 8 - 4 6 - 8 4 - 1 .
它满足于上述的8×8水平正向整数变换矩阵所必需的条件。
对于该8×8的垂直正向整数变换矩阵T8v,相对应的8×1垂直正向缩放系数矩阵S8v就是:
S 8 v = 1 288 1 290 1 320 1 290 1 288 1 290 1 320 1 290 .
对于该8×8的水平正向整数变换矩阵T8h,相对应的1×8水平正向缩放系数矩阵S8h就是:
S 8 h = 1 288 1 290 1 320 1 290 1 288 1 290 1 320 1 290 .
根据以上的8×1垂直正向缩放系数矩阵S8v和1×8水平正向缩放系数矩阵S8h,设置8×8正向缩放系数矩阵S8×8
S 8 × 8 = 1 288 1 83520 1 92160 1 83520 1 288 1 83520 1 92160 1 83520 1 83520 1 290 1 92800 1 290 1 83520 1 290 1 92800 1 290 1 92160 1 92800 1 320 1 5800 1 92160 1 92800 1 320 1 92800 1 83520 1 290 1 92800 1 290 1 83520 1 290 1 92800 1 290 1 288 1 83520 1 92160 1 83520 1 288 1 83520 1 92160 1 83520 1 83520 1 290 1 92800 1 290 1 83520 1 290 1 92800 1 290 1 92160 1 92800 1 320 1 92800 1 92160 1 92800 1 320 1 92800 1 83520 1 290 1 92800 1 290 1 83520 1 290 1 92800 1 290 .
由于该8×8垂直正向整数变换矩阵和8×8水平正向整数变换矩阵中的系数都是2的次幂,用该8×8垂直正向整数变换矩阵和8×8水平正向整数变换矩阵对输入数据进行8×8正向变换处理只需要进行移位运算即可,计算复杂度非常低。同时,又由于8×8正向缩放系数矩阵S8×8中的正向缩放系数非常接近,可以使得解码器的8×8量化系数都一样,便于解码器量化处理。
一个8×8垂直正向整数变换矩阵可以是:
T 8 v = 1 1 1 1 1 1 1 1 4 4 2 1 - 1 - 2 - 4 - 4 2 1 - 1 - 2 - 2 - 1 1 2 2 1 - 4 - 4 4 4 - 1 - 2 1 - 1 - 1 1 1 - 1 - 1 1 4 - 4 - 1 2 - 2 1 4 - 4 1 - 2 2 - 1 - 1 2 - 2 1 1 - 2 4 - 4 4 - 4 2 - 1 .
它满足于上述的8×8垂直正向整数变换矩阵所必需的条件。
一个8×8水平正向整数变换矩阵可以是:
T 8 h = 1 4 2 2 1 4 1 1 1 4 1 1 - 1 - 4 - 2 - 2 1 2 - 1 - 4 - 1 - 1 2 4 1 1 - 2 - 4 1 2 - 1 - 4 1 - 1 - 2 4 1 - 2 - 1 4 1 - 2 - 1 4 - 1 1 2 - 4 1 - 4 1 - 1 - 1 4 - 2 2 1 - 4 2 - 2 1 - 4 1 - 1 .
它满足于上述的8×8水平正向整数变换矩阵所必需的条件。
对于该8×8的垂直正向整数变换矩阵T8v,相对应的8×1垂直正向缩放系数矩阵S8v就是:
S 8 v = 1 8 1 74 1 20 1 74 1 8 1 74 1 20 1 74 .
对于该8×8的水平正向整数变换矩阵T8h,相对应的1×8水平正向缩放系数矩阵S8h就是:
S 8 h = 1 8 1 74 1 20 1 74 1 8 1 74 1 20 1 74 .
根据以上的8×1垂直正向缩放系数矩阵S8v和1×8水平正向缩放系数矩阵S8h,设置8×8正向缩放系数矩阵S8×8
S 8 × 8 = 1 8 1 592 1 160 1 592 1 8 1 592 1 160 1 592 1 592 1 74 1 1480 1 74 1 592 1 74 1 1480 1 74 1 160 1 1480 1 20 1 1480 1 160 1 1480 1 20 1 1480 1 592 1 74 1 1480 1 74 1 592 1 74 1 1480 1 74 1 8 1 592 1 160 1 592 1 8 1 590 1 160 1 592 1 592 1 74 1 1480 1 74 1 592 1 74 1 1480 1 74 1 160 1 1480 1 20 1 1480 1 160 1 1480 1 20 1 1480 1 592 1 74 1 1480 1 74 1 592 1 74 1 1480 1 74 .
一个8×8垂直正向整数变换矩阵可以是:
T 8 v = 3 3 3 3 3 3 3 3 4 4 2 1 - 1 - 2 - 4 - 4 4 2 - 2 - 4 - 4 - 2 2 4 2 1 - 4 - 4 4 4 - 1 - 2 3 - 3 - 3 3 3 - 3 - 3 3 4 - 4 - 1 2 - 2 1 4 - 4 2 - 4 4 - 2 - 2 4 - 4 2 1 - 2 4 - 4 4 - 4 2 - 1 .
它满足于上述的8×8垂直正向整数变换矩阵所必需的条件。
一个8×8水平正向整数变换矩阵可以是:
T 8 h = 3 4 4 2 3 4 2 1 3 4 2 1 - 3 - 4 - 4 - 2 3 2 - 2 - 4 - 3 - 1 4 4 3 1 - 4 - 4 3 2 - 2 - 4 3 - 1 - 4 4 3 - 2 - 2 4 3 - 2 - 2 4 - 3 1 4 - 4 3 - 4 2 - 1 - 3 4 - 4 2 3 - 4 4 - 2 3 - 4 2 - 1 .
它满足于上述的8×8水平正向整数变换矩阵所必需的条件。
对于该8×8的垂直正向整数变换矩阵T8v,相对应的8×1垂直正向缩放系数矩阵S8v就是:
S 8 v = 1 72 1 74 1 80 1 74 1 72 1 74 1 80 1 74 .
对于该8×8的水平正向整数变换矩阵T8h,相对应的1×8水平正向缩放系数矩阵S8h就是:
S 8 h = 1 72 1 74 1 80 1 74 1 72 1 74 1 80 1 74 .
根据以上的8×1垂直正向缩放系数矩阵S8v和1×8水平正向缩放系数矩阵S8h,设置8×8正向缩放系数矩阵S8×8
                       S8×8=S8v×S8h
                               12
图像数据和视频数据进行8×8正向整数变换处理后,可以进行8×8逆向整数变换而得到恢复,数据可以被划分为8×8大小的块进行8×8逆向整数变换。对于8×8大小的块,可以使用大小为8×8的水平逆向整数变换矩阵和垂直逆向整数变换矩阵进行变换。变换的方法如下:
选取8×8逆向整数变换矩阵系数。
1)一个8×8的垂直逆向整数变换矩阵T8v中包含了8个相同或不同的整数系数,这8个整数系数的取值是2的非负整数次幂,或该矩阵的每一列系数由2的非负整数次幂组成的每一列系数乘以相同的整数得到,T8v中的第0行第k列的系数t0k表示为nk,0≤k≤7,T8v表示如下:
T 8 h = t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 T = n 0 n 1 n 2 n 3 n 4 n 5 n 6 n 7 n 0 n 5 n 6 n 7 - n 4 - n 1 - n 2 - n 3 n 0 n 3 - n 6 - n 1 - n 4 - n 7 n 2 n 5 n 0 n 7 - n 2 - n 5 n 4 n 3 - n 6 - n 1 n 0 - n 7 - n 2 n 5 n 4 - n 3 - n 6 n 1 n 0 - n 3 - n 6 n 1 - n 4 n 7 n 2 - n 5 n 0 - n 5 n 6 - n 7 - n 4 n 1 - n 2 n 3 n 0 - n 1 n 2 - n 3 n 4 - n 5 n 6 - n 7 ,
并且, t i × t j T = 0 i ≠ j 0 ≤ i , j ≤ 7 t i × t j T ≠ 0 i = j 0 ≤ i , j ≤ 7 ,
其中,tT i,tT j分别代表了T8v中第i,j列的列向量,tj是tT j的转置行向量;
2)一个8×8的水平逆向整数变换矩阵T8h中包含了8个相同或不同的整数系数,这8个整数系数的取值是2的非负整数次幂,或该矩阵的每一行系数由2的非负整数次幂组成的每一行系数乘以相同的整数得到,T8h中的第k行第0列的系数tk0表示为nk,0≤k≤7,T8h表示如下:
T 8 v = t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 = n 0 n 0 n 0 n 0 n 0 n 0 n 0 n 0 n 1 n 5 n 3 n 7 - n 7 - n 3 - n 5 - n 1 n 2 n 6 - n 6 - n 2 - n 2 - n 6 n 6 n 2 n 3 n 7 - n 1 - n 5 n 5 n 1 - n 7 - n 3 n 4 - n 4 - n 4 n 4 n 4 - n 4 - n 4 n 4 n 5 - n 1 - n 7 n 3 - n 3 n 7 n 1 - n 5 n 6 - n 2 n 2 - n 6 - n 6 n 2 - n 2 n 6 n 7 - n 3 n 5 - n 1 n 1 - n 5 n 3 - n 7 ,
并且, t i × t j T = 0 i ≠ j 0 ≤ i , j ≤ 7 t i × t j T ≠ 0 i = j 0 ≤ i , j ≤ 7 ,
                              13
其中,ti,tj分别代表了T8h中第i,j行的行向量,tT j是tj的转置列向量。
根据所设置的8×8逆向整数变换矩阵系数,选取相应的8×8逆向缩放矩阵系数。
1)对于一个8×8的垂直逆向整数变换矩阵T8v,设置相对应的8×1垂直逆向缩放系数矩阵S8v的矩阵系数si,si代表了S8v中第i行的逆向缩放系数,
s i = 1 Σ j = 0 7 t ij 2 - - 0 ≤ i ≤ 7 ,
其中,tji是T8v中的第j行第i列系数,并且,至少存在一组i和j,当i≠j且0≤i,j≤7时,si≠sj
2)对于一个8×8的水平逆向整数变换矩阵T8h,设置相对应的1×8水平正向缩放系数矩阵S8h的矩阵系数sj,sj代表了S8h中第j列的正向缩放系数,
s j = 1 Σ i = 0 7 t ij 2 - - 0 ≤ j ≤ 7 ,
其中,tji是T8h中的第j行第i列系数,并且,至少存在一组i和j,当i≠j且0≤i,j≤7时,si≠sj
3)根据以上的8×1垂直逆向缩放系数矩阵S8v和1×8水平逆向缩放系数矩阵S8h,设置8×8正向缩放系数矩阵S8×8
                       S8×8=S8v×S8h
根据所设置的8×8逆向缩放系数矩阵对输入数据块进行8×8逆向缩放处理。
                     C8×8=D8×8S8×8
其中,D8×8表示8行8列的8×8逆向整数变换输入数据块,C8×8代表了8×8逆向整数变换的中间结果,算符表示D8×8中的每一个系数分别与S8×8中相同位置的逆向缩放系数相乘。
根据所设置的8×8逆向整数变换矩阵对8×8逆向缩放处理过的数据进行8×8逆向变换处理。
                        B8×8=T8v×C8×8×T8h
其中,C8×8代表了8×8逆向整数变换的中间结果,B8×8表示8行8列的8×8逆向整数变换输出数据块,T8v和T8h分别代表了8×8垂直逆向整数变换矩阵和8×8水平逆向整数变换矩阵。
一个8×8垂直逆向整数变换矩阵可以是:
T 8 h = 1 8 2 4 1 8 1 1 1 8 1 1 - 1 - 8 - 2 - 4 1 4 - 1 - 8 - 1 - 1 2 8 1 1 - 2 - 8 1 4 - 1 - 8 1 - 1 - 2 8 1 - 4 - 1 8 1 - 4 - 1 8 - 1 1 2 - 8 1 - 8 1 - 1 - 1 8 - 2 4 1 - 8 2 - 4 1 - 8 1 - 1 .
它满足于上述的8×8垂直逆向整数变换矩阵所必需的条件。
一个8×8水平逆向整数变换矩阵可以是:
T 8 v = 1 1 1 1 1 1 1 1 8 8 4 1 - 1 - 4 - 8 - 8 2 1 - 1 - 2 - 2 - 1 1 2 4 1 - 8 - 8 8 8 - 1 - 4 1 - 1 - 1 1 1 - 1 - 1 1 8 - 8 - 1 4 - 4 1 8 - 8 1 - 2 2 - 1 - 1 2 - 2 1 1 - 4 8 - 8 8 - 8 4 - 1 .
它满足于上述的8×8水平逆向整数变换矩阵所必需的条件。
对于该8×8的垂直逆向整数变换矩阵T8v,相对应的8×1垂直逆向缩放系数矩阵S8v就是:
S 8 v = 1 8 1 290 1 20 1 290 1 8 1 290 1 20 1 290 .
对于该8×8的水平逆向整数变换矩阵T8h,相对应的1×8水平逆向缩放系数矩阵S8h就是:
S 8 h = 1 8 1 290 1 20 1 290 1 8 1 290 1 20 1 290 .
根据以上的8×1垂直逆向缩放系数矩阵S8v和1×8水平逆向缩放系数矩阵S8h,设置8×8逆向缩放系数矩阵S8×8
S 8 × 8 = 1 8 1 2320 1 160 1 2320 1 8 1 2320 1 160 1 2320 1 2320 1 290 1 5800 1 290 1 2320 1 290 1 5800 1 290 1 160 1 5800 1 20 1 5800 1 160 1 5800 1 20 1 5800 1 2320 1 290 1 5800 1 290 1 2320 1 290 1 5800 1 290 1 8 1 2320 1 160 1 2320 1 8 1 2320 1 160 1 2320 1 2320 1 290 1 5800 1 290 1 2320 1 290 1 5800 1 290 1 160 1 5800 1 20 1 5800 1 160 1 5800 1 20 1 5800 1 2320 1 290 1 5800 1 290 1 2320 1 290 1 5800 1 290 .
由于该8×8垂直逆向整数变换矩阵和8×8水平逆向整数变换矩阵中的系数都是2的次幂,用该8×8垂直逆向整数变换矩阵和8×8水平逆向整数变换矩阵对输入数据进行8×8逆向变换处理只需要进行移位运算即可,计算复杂度非常低。
一个8×8垂直逆向整数变换矩阵可以是:
T 8 h = 6 8 8 4 6 8 4 1 6 8 4 1 - 6 - 8 - 8 - 4 6 4 - 4 - 8 - 6 - 1 8 8 6 1 - 8 - 8 6 4 - 4 - 8 6 - 1 - 8 8 6 - 4 - 4 8 6 - 4 - 4 8 - 6 1 8 - 8 6 - 8 4 - 1 - 6 8 - 8 4 6 - 8 8 - 4 6 - 8 4 - 1 .
它满足于上述的8×8垂直逆向整数变换矩阵所必需的条件。
一个8×8水平逆向整数变换矩阵可以是:
T 8 v = 6 6 6 6 6 6 6 6 8 8 4 1 - 1 - 4 - 8 - 8 8 4 - 4 - 8 - 8 - 4 4 8 4 1 - 8 - 8 8 8 - 1 - 4 6 - 6 - 6 6 6 - 6 - 6 6 8 - 8 - 1 4 - 4 1 8 - 8 4 - 8 8 - 4 - 4 8 - 8 4 1 - 4 8 - 8 8 - 8 4 - 1 .
它满足于上述的8×8水平逆向整数变换矩阵所必需的条件。
对于该8×8的垂直逆向整数变换矩阵T8v,相对应的8×1垂直逆向缩放系数矩阵S8v就是:
S 8 v = 1 288 1 290 1 320 1 290 1 288 1 290 1 320 1 290 .
对于该8×8的水平逆向整数变换矩阵T8h,相对应的1×8水平逆向缩放系数矩阵S8h就是:
S 8 h = 1 288 1 290 1 320 1 290 1 288 1 290 1 320 1 290 .
根据以上的8×1垂直逆向缩放系数矩阵S8v和1×8水平逆向缩放系数矩阵S8h,设置8×8逆向缩放系数矩阵S8×8
S 8 × 8 = 1 288 1 83520 1 92160 1 83520 1 288 1 83520 1 92160 1 83520 1 83520 1 290 1 92800 1 290 1 83520 1 290 1 92800 1 290 1 92160 1 928000 1 320 1 5800 1 92160 1 92800 1 320 1 92800 1 83520 1 290 1 92800 1 290 1 83520 1 290 1 92800 1 290 1 288 1 83520 1 92160 1 83520 1 288 1 83520 1 92160 1 83520 1 83520 1 290 1 92800 1 290 1 83520 1 290 1 92800 1 290 1 92160 1 92800 1 320 1 92800 1 92160 1 92800 1 320 1 92800 1 83520 1 290 1 92800 1 290 1 83520 1 290 1 92800 1 290 .
由于该8×8垂直逆向整数变换矩阵和8×8水平逆向整数变换矩阵中的系数都是2的次幂,用该8×8垂直逆向整数变换矩阵和8×8水平逆向整数变换矩阵对输入数据进行8×8逆向变换处理只需要进行移位运算即可,计算复杂度非常低。同时,又由于8×8逆向缩放系数矩阵S8×8中的逆向缩放系数非常接近,可以使得解码器的8×8量化系数都一样,便于解码器量化处理。
一个8×8垂直逆向整数变换矩阵可以是:
T 8 v = 1 4 2 2 1 4 1 1 1 4 1 1 - 1 - 4 - 2 - 2 1 2 - 1 - 4 - 1 - 1 2 4 1 1 - 2 - 4 1 2 - 1 - 4 1 - 1 - 2 4 1 - 2 - 1 4 1 - 2 - 1 4 - 1 1 2 - 4 1 - 4 1 - 1 - 1 2 - 2 2 1 - 4 2 - 2 1 - 4 1 - 1 .
它满足于上述的8×8垂直逆向整数变换矩阵所必需的条件。
一个8×8水平逆向整数变换矩阵可以是:
T 8 v = 1 1 1 1 1 1 1 1 4 4 2 1 - 1 - 2 - 4 - 4 2 1 - 1 - 2 - 2 - 1 1 2 2 1 - 4 - 4 4 4 - 1 - 2 1 - 1 - 1 1 1 - 1 - 1 1 4 - 4 - 1 2 - 2 1 4 - 4 1 - 2 2 - 1 - 1 2 - 2 1 1 - 2 4 - 4 4 - 4 2 - 1 .
它满足于上述的8×8水平逆向整数变换矩阵所必需的条件。
对于该8×8的垂直逆向整数变换矩阵T8v,相对应的8×1垂直逆向缩放系数矩阵S8v就是:
S 8 v = 1 8 1 74 1 20 1 74 1 8 1 74 1 20 1 74 .
对于该8×8的水平逆向整数变换矩阵T8h,相对应的1×8水平逆向缩放系数矩阵S8h就是:
S 8 h = 1 8 1 74 1 20 1 74 1 8 1 74 1 20 1 74 .
根据以上的8×1垂直逆向缩放系数矩阵S8v和1×8水平逆向缩放系数矩阵S8h,设置8×8逆向缩放系数矩阵S8×8
S 8 × 8 = 1 8 1 592 1 160 1 592 1 8 1 592 1 160 1 592 1 592 1 74 1 1480 1 74 1 592 1 74 1 1480 1 74 1 160 1 1480 1 20 1 1480 1 160 1 1480 1 20 1 1480 1 592 1 74 1 1480 1 74 1 592 1 74 1 1480 1 74 1 8 1 592 1 160 1 592 1 8 1 590 1 160 1 592 1 592 1 74 1 1480 1 74 1 592 1 74 1 1480 1 74 1 160 1 1480 1 20 1 1480 1 160 1 1480 1 20 1 1480 1 592 1 74 1 1480 1 74 1 592 1 74 1 1480 1 74 .
一个8×8垂直逆向整数变换矩阵可以是:
T 8 h = 3 4 4 2 3 4 2 1 3 4 2 1 - 3 - 4 - 4 - 2 3 2 - 2 - 4 - 3 - 1 4 4 3 1 - 4 - 4 3 2 - 2 - 4 3 - 1 - 4 4 3 - 2 - 2 4 3 - 2 - 2 4 - 3 1 4 - 4 3 - 4 2 - 1 - 3 4 - 4 2 3 - 4 4 - 2 3 - 4 2 - 1 .
它满足于上述的8×8垂直逆向整数变换矩阵所必需的条件。
一个8×8水平逆向整数变换矩阵可以是:
T 8 v = 3 3 3 3 3 3 3 3 4 4 2 1 - 1 - 2 - 4 - 4 4 2 - 2 - 4 - 4 - 2 2 4 2 1 - 4 - 4 4 4 - 1 - 2 3 - 3 - 3 3 3 - 3 - 3 3 4 - 4 - 1 2 - 2 1 4 - 4 2 - 4 4 - 2 - 2 4 - 4 2 1 - 2 4 - 4 4 - 4 2 - 1 .
它满足于上述的8×8水平逆向整数变换矩阵所必需的条件。
对于该8×8的垂直逆向整数变换矩阵T8v,相对应的8×1垂直逆向缩放系数矩阵S8v就是:
S 8 v = 1 72 1 74 1 80 1 74 1 72 1 74 1 80 1 74 .
对于该8×8的水平逆向整数变换矩阵T8h,相对应的1×8水平逆向缩放系数矩阵S8h就是:
S 8 h = 1 72 1 74 1 80 1 74 1 72 1 74 1 80 1 74 .
根据以上的8×1垂直逆向缩放系数矩阵S8v和1×8水平逆向缩放系数矩阵S8h,设置8×8逆向缩放系数矩阵S8×8
                       S8×8=S8v×S8h
8×8整数变换可以运用于各种基于块变换的图像处理和视频处理技术。例如,8×8整数变换可以与基于频率或基于人类视觉系统(HVS)的视频编码相结合,如扫描,量化和滤波。可以根据不同的运用场合选取8×8正向整数变换矩阵和8×8逆向整数变换矩阵的系数,具有一定的灵活性。
8×8正向整数变换的装置主要包括输入装置,8×8正向变换装置,8×8正向整数变换系数存储装置,8×8正向缩放装置,8×8正向缩放系数存储装置和输出装置,如图1所示。输入装置110用于接受存储8×8正向整数变换的输入数据。8×8正向变换系数存储装置150用于存储8×8正向整数变换矩阵系数,但是在一些应用中,也可以将8×8正向变换系数存储装置150与8×8正向变换装置120相合并。8×8正向变换装置120根据8×8正向整数变换系数存储装置150所存储的8×8正向整数变换系数对输入数据块进行8×8正向变换处理,其中包括的算术逻辑单元125可以用乘法运算,加法运算和移位运算实现该处理。8×8正向缩放系数存储装置160用于存储8×8正向缩放矩阵系数,但是在一些应用中,也可以将8×8正向缩放系数存储装置160与8×8正向缩放装置130相合并。8×8正向缩放装置130根据8×8正向缩放系数存储装置160所存储的8×8正向缩放系数对8×8正向变换处理后的数据进行8×8正向缩放处理,其中包括的算术逻辑单元可以用乘法运算,加法运算和移位运算实现该处理。输出装置140用于存储8×8正向整数变换后的数据,并提供输出。
8×8逆向整数变换的装置主要包括输入装置,8×8逆向缩放装置,8×8逆向缩放系数存储装置,8×8逆向变换装置,8×8逆向整数变换系数存储装置和输出装置,如图2所示。输入装置210用于接受存储8×8逆向整数变换的输入数据。8×8逆向缩放系数存储装置250用于存储8×8逆向缩放矩阵系数,但是在一些应用中,也可以将8×8逆向缩放系数存储装置250与8×8逆向缩放装置220相合并。根据8×8逆向缩放系数存储装置250所存储的8×8逆向缩放系数对输入数据块进行8×8逆向缩放处理,其中包括的算术逻辑单元可以用乘法运算,加法运算和移位运算实现该处理。8×8逆向变换系数存储装置260用于存储8×8逆向整数变换矩阵系数,但是在一些应用中,也可以将8×8逆向变换系数存储装置260与8×8逆向变换装置230相合并。8×8逆向变换装置根据8×8逆向整数变换系数存储装置260所存储的8×8逆向整数变换系数对8×8逆向缩放处理过的数据进行8×8逆向变换处理,其中包括的算术逻辑单元可以用乘法运算,加法运算和移位运算实现该处理。输出装置240用于存储8×8逆向整数变换后的数据,并提供输出。
上述的8×8正向整数变换的装置和8×8逆向整数变换的装置可以用处理器系统,微控制器,可编程逻辑器件或微处理器实现部分或全部的操作。上述的一些操作可以用软件实现,同时另一些操作可以用硬件实现。
为了方便起见,这些操作被描述为不同的互连的功能单元或不同的软件模块。但是,这不是必要的。在一些应用中,这些功能单元或模块可以被集成到单一的逻辑器件,程序或操作中,而没有明显的界限。在任何情况中,功能单元和软件模块或描述的特征可以独立实现,或与其他操作一起用硬件或软件实现。
图3表示了利用上述8×8整数变换方法或8×8整数变换装置进行编码和解码的系统。这个系统可以是计算机,视频设备,照相机,网络处理器等等任何能处理数据的设备。模块310中的数据可以是任何需要变换处理的数据。例如,系统可以用来处理视频信息。
模块320中的8×8正向整数变换可以使用上述的任何一种8×8正向整数变换矩阵和相应的8×8正向缩放系数矩阵来处理模块310中的数据。8×8正向整数变换后的数据在模块330中被量化,在模块340中进行熵编码。编码后的数据在模块350中,可以存储在存储器中或通过信道传输。
数据的解码首先在模块360中进行反熵编码,再在模块370中进行反量化。模块380使用与编码过程中所采用的8×8正向整数变换矩阵相对应的8×8逆向整数变换矩阵和相应的8×8逆向缩放系数矩阵进行逆向整数变换。8×8逆向整数变换后的数据在模块390中作为8×8逆向整数变换数据输出。
上述的系统可以用处理器系统,微控制器,可编程逻辑器件或微处理器实现部分或全部的操作。上述的一些操作可以用软件实现,同时另一些操作可以用硬件实现。
为了方便起见,这些操作被描述为不同的互连的功能单元或不同的软件模块。但是,这不是必要的。在一些应用中,这些功能单元或模块可以被集成到单一的逻辑器件,程序或操作中,而没有明显的界限。在任何情况中,功能单元和软件模块或描述的特征可以独立实现,或与其他操作一起用硬件或软件实现。

Claims (8)

1.一种运用于图像编码和视频编码的8×8整数变换方法,其特征在于运用于图像编码和视频编码的8×8正向整数变换方法,其方法如下:
1)选取8×8正向整数变换矩阵系数;
2)根据所设置的8×8正向整数变换矩阵系数,选取相应的8×8正向缩放矩阵系数;
3)根据所设置的8×8正向整数变换矩阵对8×8输入数据块进行8×8正向变换处理,即:
                         C8×8=T8v×B8×8×T8h
其中,B8×8表示8行8列的8×8正向整数变换输入数据块,T8v和T8h分别代表了8×8垂直正向整数变换矩阵和8×8水平正向整数变换矩阵,C8×8代表了8×8正向整数变换的结果;
4)根据所设置的8×8正向缩放系数矩阵对8×8正向变换处理后的数据块进行正向缩放处理,即:
                         D8×8=C8×8S8×8
其中,算符表示C8×8中的每一个系数分别与S8×8中相同位置的正向缩放系数相乘,D8×8代表了8×8正向整数变换后的8×8输出数据块。
2.如权利要求1所述的一种运用于图像编码和视频编码的8×8整数变换方法,其特征在于所说的选取8×8正向整数变换矩阵系数的方法,还包括以下的子步骤:
1)一个8×8的垂直正向整数变换矩阵T8v中包含了8个相同或不同的整数系数,这8个整数系数的取值是2的非负整数次幂,或该矩阵的每一行系数由2的非负整数次幂组成的每一行系数乘以相同的整数得到,T8v中的第k行第0列的系数tk0表示为nk,0≤k≤7,T8v表示如下:
T 8 v = t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 = n 0 n 0 n 0 n 0 n 0 n 0 n 0 n 0 n 1 n 5 n 3 n 7 - n 7 - n 3 - n 5 - n 1 n 2 n 6 - n 6 - n 2 - n 2 - n 6 n 6 n 2 n 3 n 7 - n 1 - n 5 n 5 n 1 - n 7 - n 3 n 4 - n 4 - n 4 n 4 n 4 - n 4 - n 4 n 4 n 5 - n 1 - n 7 n 3 - n 3 n 7 n 1 - n 5 n 6 - n 2 n 2 - n 6 - n 6 n 2 - n 2 n 6 n 7 - n 3 n 5 - n 1 n 1 - n 5 n 3 - n 7 ,
并且, t i × t j T = 0 , i ≠ j , 0 ≤ i , j ≤ 7 t i × t j T ≠ 0 , i = j , 0 ≤ i , j ≤ 7 '
其中,ti,tj分别代表了T8v中第i,j行的行向量,tj T是tj的转置列向量;
2)一个8×8的水平正向整数变换矩阵T8h中包含了8个相同或不同的整数系数,这8个整数系数的取值是2的非负整数次幂,或该矩阵的每一列系数由2的非负整数次幂组成的每一列系数乘以相同的整数得到,T8h中的第0行第k列的系数t0k表示为nk,0≤k≤7,T8h表示如下:
T 8 h = t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 T = n 0 n 1 n 2 n 3 n 4 n 5 n 6 n 7 n 0 n 5 n 6 n 7 - n 4 - n 1 - n 2 - n 3 n 0 n 3 - n 6 - n 1 - n 4 - n 7 n 2 n 5 n 0 n 7 - n 2 - n 5 n 4 n 3 - n 6 - n 1 n 0 - n 7 - n 2 n 5 n 4 - n 3 - n 6 n 1 n 0 - n 3 - n 6 n 1 - n 4 n 7 n 2 - n 5 n 0 - n 5 n 6 - n 7 - n 4 n 1 - n 2 n 3 n 0 - n 1 n 2 - n 3 n 4 - n 5 n 6 - n 7 ,
并且, t i × t j T = 0 , i ≠ j , 0 ≤ i , j ≤ 7 t i × t j T ≠ 0 , i = j , 0 ≤ i , j ≤ 7 ,
其中,ti T,tj T分别代表了T8h中第i,j列的列向量,tj是tj T的转置行向量。
3.如权利要求1所述的一种运用于图像编码和视频编码的8×8整数变换方法,其特征在于所说的根据所设置的8×8正向整数变换矩阵系数,选取相应的8×8正向缩放矩阵系数,还包括以下的子步骤:
1)对于一个8×8的垂直正向整数变换矩阵T8v,设置相对应的8×1垂直正向缩放系数矩阵S8v的矩阵系数si,sj代表了S8v中第i行的正向缩放系数,
s i = 1 Σ j = 0 7 t ij 2 , 0 ≤ i ≤ 7 ,
其中,tij是T8v中的第i行第j列系数,并且,至少存在一组i和j,当i≠j且0≤i,j≤7时,si≠sj
2)对于一个8×8的水平正向整数变换矩阵T8h,设置相对应的1×8水平正向缩放系数矩阵S8h的矩阵系数si,sj代表了S8h中第j列的正向缩放系数,
s j = 1 Σ i = 0 7 t ij 2 , 0 ≤ j ≤ 7 ,
其中,tij是T8h中的第i行第j列系数,并且,至少存在一组i和j,当i≠j且0≤i,j≤7时,si≠sj
3)根据以上的8×1垂直正向缩放系数矩阵S8v和1×8水平正向缩放系数矩阵S8h,设置8×8正向缩放系数矩阵S8×8
                          S8×8=S8v×S8h
4.用于权利要求1所述的一种运用于图像编码和视频编码的8×8整数变换方法的装置,其特征在于8×8整数变换的装置包括:
输入装置(110),用于接受存储8×8正向整数变换的输入数据;
8×8正向数变换系数存储装置(150),用于存储8×8正向整数变换矩阵系数;
8×8正向变换装置(120),根据8×8正向整数变换系数存储装置(150)所存储的8×8正向整数变换系数对输入数据块进行8×8正向变换处理,其中包括的算术逻辑单元可以用乘法运算,加法运算和移位运算实现该处理;
8×8正向缩放系数存储装置(160),用于存储8×8正向缩放矩阵系数;
8×8正向缩放装置(130),根据8×8正向缩放系数存储装置(160)所存储的8×8正向缩放系数对8×8正向变换处理后的数据进行8×8正向缩放处理,其中包括的算术逻辑单元可以用乘法运算,加法运算和移位运算实现该处理;
输出装置(140),用于存储8×8正向整数变换后的数据,并提供输出;
输入装置(110)与8×8正向变换装置(120)之间通过数据总线连接,传输8×8输入数据;8×8正向整数变换系数存储装置(150)与8×8正向变换装置(120)之间通过数据总线连接,传输8×8正向整数变换矩阵系数;8×8正向变换装置(120)与8×8正向缩放装置(130)之间通过数据总线连接,传输8×8正向变换处理后的数据;8×8正向缩放系数存储装置(160)与8×8正向缩放装置(130)之间通过数据总线连接,传输8×8正向缩放矩阵系数;8×8正向缩放装置(130)与输出装置(140)之间通过数据总线连接,传输8×8正向整数变换后的数据。
5.一种运用于图像编码和视频编码的8×8整数变换方法,其特征在于运用于图像编码和视频编码的8×8逆向整数变换方法,方法如下:
1)选取8×8逆向整数变换矩阵系数;
2)根据所设置的8×8逆向整数变换矩阵系数,选取相应的8×8逆向缩放矩阵系数;
3)根据所设置的8×8逆向缩放系数矩阵对8×8输入数据块进行8×8逆向缩放处理,即
                         C8×8=D8×8S8×8
其中,D8×8表示8行8列的8×8逆向整数变换输入数据块,C8×8代表了8×8逆向缩放处理的结果,S8×8逆向缩放系数矩阵,表示算符表示D8×8中的每一个系数分别与S8×8中相同位置的逆向缩放系数相乘;
4)根据所设置的8×8逆向整数变换矩阵对8×8逆向缩放处理过的数据块进行8×8逆向变换处理,即
                         B8×8=T8v×C8×8×T8h
其中,B8×8表示8行8列的8×8逆向整数变换输出数据块,T8v和T8h分别代表了8×8垂直逆向整数变换矩阵和8×8水平逆向整数变换矩阵。
6.如权利要求5所述的一种运用于图像编码和视频编码的8×8整数变换方法,其特征在于所说的选取8×8逆向整数变换矩阵系数,还包括以下的子步骤:
1)一个8×8的垂直逆向整数变换矩阵T8v中包含了8个相同或不同的整数系数,这8个整数系数的取值是2的非负整数次幂,或该矩阵的每一列系数由2的非负整数次幂组成的每一列系数乘以相同的整数得到,T8v中的第0行第k列的系数t0k表示为nk,0≤k≤7,T8v表示如下:
T 8 v = t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 T = n 0 n 1 n 2 n 3 n 4 n 5 n 6 n 7 n 0 n 5 n 6 n 7 - n 4 - n 1 - n 2 - n 3 n 0 n 3 - n 6 - n 1 - n 4 - n 7 n 2 n 5 n 0 n 7 - n 2 - n 5 n 4 n 3 - n 6 - n 1 n 0 - n 7 - n 2 n 5 n 4 - n 3 - n 6 n 1 n 0 - n 3 - n 6 n 1 - n 4 n 7 n 2 - n 5 n 0 - n 5 n 6 - n 7 - n 4 n 1 - n 2 n 3 n 0 - n 1 n 2 - n 3 n 4 - n 5 n 6 - n 7 ,
并且, t i × t j T = 0 , i ≠ j , 0 ≤ i , j ≤ 7 t i × t j T ≠ 0 , i = j , 0 ≤ i , j ≤ 7 '
其中,ti T,tj T分别代表了T8v中第i,j列的列向量,tj是tj T的转置行向量;
2)一个8×8的水平逆向整数变换矩阵T8h中包含了8个相同或不同的整数系数,这8个整数系数的取值是2的非负整数次幂,或该矩阵的每一行系数由2的非负整数次幂组成的每一行系数乘以相同的整数得到,T8h中的第k行第0列的系数tk0表示为nk,0≤k≤7,T8h表示如下:
T 8 h = t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 = n 0 n 0 n 0 n 0 n 0 n 0 n 0 n 0 n 1 n 5 n 3 n 7 - n 7 - n 3 - n 5 - n 1 n 2 n 6 - n 6 - n 2 - n 2 - n 6 n 6 n 2 n 3 n 7 - n 1 - n 5 n 5 n 1 - n 7 - n 3 n 4 - n 4 - n 4 n 4 n 4 - n 4 - n 4 n 4 n 5 - n 1 - n 7 n 3 - n 3 n 7 n 1 - n 5 n 6 - n 2 n 2 - n 6 - n 6 n 2 - n 2 n 6 n 7 - n 3 n 5 - n 1 n 1 - n 5 n 3 - n 7 ,
并且, t i × t j T = 0 , i ≠ j , 0 ≤ i , j ≤ 7 t i × t j T ≠ 0 , i = j , 0 ≤ i , j ≤ 7 '
其中,ti,tj分别代表了T8h中第i,j行的行向量,tj T是tj的转置列向量。
7.如权利要求5所述的一种运用于图像编码和视频编码的8×8整数变换方法,其特征在于所说的根据所设置的8×8逆向整数变换矩阵系数,选取相应的8×8逆向缩放矩阵系数,还包括以下的子步骤:
1)对于一个8×8的垂直逆向整数变换矩阵T8v,设置相对应的8×1垂直逆向缩放系数矩阵S8v的矩阵系数si,sj代表了S8v中第i行的逆向缩放系数,
s i = 1 Σ j = 0 7 t ji 2 , 0 ≤ i ≤ 7 ,
其中,tji是T8v中的第j行第i列系数,并且,至少存在一组i和j,当i≠j且0≤i,j≤7时,si≠sj
2)对于一个8×8的水平逆向整数变换矩阵T8h,设置相对应的1×8水平正向缩放系数矩阵S8h的矩阵系数sj,sj代表了S8h中第j列的正向缩放系数,
s j = 1 Σ i = 0 7 t ji 2 , 0 ≤ j ≤ 7 ,
其中,tji是T8h中的第j行第i列系数,并且,至少存在一组i和j,当i≠j且0≤i,j≤7时,si≠sj
3)根据以上的8×1垂直逆向缩放系数矩阵S8v和1×8水平逆向缩放系数矩阵S8h,设置8×8正向缩放系数矩阵S8×8
                             S8×8=S8v×S8h
8.用于权利要求5所述的一种运用于图像编码和视频编码的8×8整数变换方法的装置,其特征在于8×8整数变换装置包括:输入装置(210),用于接受存储8×8逆向整数变换的输入数据;8×8逆向缩放系数存储装置(250),用于存储8×8逆向缩放矩阵系数;
8×8逆向缩放装置(220),根据8×8逆向缩放系数存储装置(250)所存储的8×8逆向缩放系数对输入数据块进行8×8逆向缩放处理,其中包括的算术逻辑单元可以用乘法运算,加法运算和移位运算实现该处理;
8×8逆向整数变换系数存储装置(260),用于存储8×8逆向整数变换矩阵系数;
8×8逆向变换装置(230),根据8×8逆向整数变换系数存储装置(260)所存储的8×8逆向整数变换系数对8×8逆向缩放处理过的数据进行8×8逆向变换处理,其中包括的算术逻辑单元可以用乘法运算,加法运算和移位运算实现该处理;
输出装置(240),用于存储8×8逆向整数变换后的数据,并提供输出;
输入装置(210)与8×8逆向缩放装置(220)之间通过数据总线连接,传输输入数据;8×8逆向缩放系数存储装置(250)与8×8逆向缩放装置(220)之间通过数据总线连接,传输8×8逆向缩放矩阵系数;8×8逆向缩放装置(220)与8×8逆向变换装置(230)之间通过数据总线连接,传输8×8逆向缩放处理后的数据;8×8逆向整数变换系数存储装置(260)与8×8逆向变换装置(230)之间通过数据总线连接,传输8×8逆向整数变换矩阵系数;8×8逆向变换装置(230)与输出装置(240)之间通过数据总线连接,传输8×8逆向整数变换后的数据。
CN 03148149 2003-07-03 2003-07-03 运用于图像编码和视频编码的8×8整数变换方法和装置 Expired - Lifetime CN1210960C (zh)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
CN1461150A CN1461150A (zh) 2003-12-10
CN1210960C true CN1210960C (zh) 2005-07-13

Family

ID=29591413

Family Applications (1)

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

Country Status (1)

Country Link
CN (1) CN1210960C (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102227135A (zh) * 2011-04-20 2011-10-26 深圳市融创天下科技发展有限公司 一种视频编码8x8整数变换方法
WO2013127366A1 (en) * 2012-03-01 2013-09-06 The Chinese University Of Hong Kong Process for coding data in image or video and apparatus thereof
CN103379317A (zh) * 2012-04-14 2013-10-30 朱洪波 视频编码近正交整数变换
CN105163130B (zh) * 2015-08-25 2019-05-31 重庆邮电大学 一种基于离散Tchebichef正交多项式的图像无损压缩方法
CN116366867A (zh) * 2021-12-28 2023-06-30 中国电信股份有限公司 数据变换与恢复方法、装置、系统、电子设备及存储介质

Also Published As

Publication number Publication date
CN1461150A (zh) 2003-12-10

Similar Documents

Publication Publication Date Title
CN1225126C (zh) 用于视频编码的新型空间预测方法及其装置
CN1535027A (zh) 一种用于视频编码的帧内预测方法
CN1168302C (zh) 减少在图象数据解码中产生的量化噪声的方法及解码装置
CN1222153C (zh) 数字图象压缩方法
CN1194550C (zh) 通过直接离散余弦变换映射改变分辨率的设备和方法
CN1282107C (zh) 一种对图像进行快速压缩和解压缩的方法
CN1575546A (zh) 变换及后续量化的实现
CN1674665A (zh) 图像压缩方法及图像压缩装置
CN1860795A (zh) 用于将基于第一变换核的输入视频代码转换为基于第二变换核的输出视频的方法和装置
CN1656817A (zh) 上下文自适应的vlc视频变换系数编码/解码方法与设备
CN1717058A (zh) 图像编码方法及装置、以及图像译码方法及装置
CN1910931A (zh) 视频编码方法及装置、视频解码方法及装置、其程序及记录该程序的记录介质
CN1808469A (zh) 图像检索装置及方法、程序和程序记录介质
CN1578477A (zh) 用于色彩图像的视频编码/解码装置和方法
CN1522543A (zh) 可变长编码方法和可变长译码方法
CN1197359C (zh) 获得增强译码的降低分辨率的视频信号的设备和方法
CN1816154A (zh) 用于运动估计的方法和装置
CN1180627C (zh) 图像编码/解码方法,图像编码装置和图像解码装置
CN101061725A (zh) 运动图像编码方法以及运动图像解码方法
CN1685369A (zh) 视频编码的低复杂性和统一标准的变换
CN1256849C (zh) 1/4像素精度插值的方法和装置
CN1449198A (zh) 活动图象编码方法、活动图象编码设备、和活动图象编码程序
CN1652608A (zh) 数据处理装置及其方法以及编码装置和解码装置
CN1225919C (zh) 编码图像信息的方法和设备及解码图像信息的方法和设备
CN1620144A (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

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: 20211227

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

Patentee after: xFusion Digital Technologies Co., Ltd.

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

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

CX01 Expiry of patent term

Granted publication date: 20050713

CX01 Expiry of patent term