CN1589017A - 一种低复杂度整数4×4离散余弦变换量化装置及其实现方法 - Google Patents

一种低复杂度整数4×4离散余弦变换量化装置及其实现方法 Download PDF

Info

Publication number
CN1589017A
CN1589017A CN 200410062700 CN200410062700A CN1589017A CN 1589017 A CN1589017 A CN 1589017A CN 200410062700 CN200410062700 CN 200410062700 CN 200410062700 A CN200410062700 A CN 200410062700A CN 1589017 A CN1589017 A CN 1589017A
Authority
CN
China
Prior art keywords
matrix
module
quantization
transformation
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.)
Granted
Application number
CN 200410062700
Other languages
English (en)
Other versions
CN1286322C (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.)
National Source Coding Center Digital Audio And Video Frequency Technology (beijing) Co Ltd
Original Assignee
National Source Coding Center Digital Audio And Video Frequency Technology (beijing) Co Ltd
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 National Source Coding Center Digital Audio And Video Frequency Technology (beijing) Co Ltd filed Critical National Source Coding Center Digital Audio And Video Frequency Technology (beijing) Co Ltd
Priority to CN 200410062700 priority Critical patent/CN1286322C/zh
Publication of CN1589017A publication Critical patent/CN1589017A/zh
Application granted granted Critical
Publication of CN1286322C publication Critical patent/CN1286322C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明是一种低复杂度整数4×4离散余弦变换量化装置及其实现方法,包括帧内预测模块、熵编码模块、环形滤波电路、帧缓存、用于进行行列变换的正变换模块、用于对正变换模块输出的变换矩阵进行归一化处理的缩放模块、量化模块、反量化模块、反变换模块。正变换模块对帧内或帧间预测的图像块残差系数矩阵做整数4×4离散余弦变换;缩放模块对正变换后的矩阵的模进行归一化处理;右移变换矩阵运算位,将运算位限制在一定位数之内;量化模块用一个一维数组对经过缩放的变换矩阵进行量化;反量化模块对量化后的变换矩阵进行反量化;反变换模块对反量化后的矩阵的列和行进行反变换。本发明克服了数据漂移、编解码端不匹配等问题,降低了运算复杂度。

Description

一种低复杂度整数4×4离散余弦变换量化装置及其实现方法
技术领域
本发明属于数字电视图像处理中数字视频的编解码技术和芯上系统(SOC,System on Chip)技术领域,尤其是涉及一种低复杂度整数4×4离散余弦变换量化装置及其实现方法。
背景技术
高效的视频编解码技术是实现多媒体数据存储与传输的关键,先进的视频编解码技术通常以标准的形式进行规定。目前,典型的视频压缩标准有国际标准化组织(ISO)下设的运动图像专家组(MPEG,Moving Picture Expert Group)推出的系列国际标准,国际电信联盟(ITU)提出的国际电信联盟最新视频编解码标准H.26x系列视频压缩标准,以及ISO和ITU建立的联合视频工作组JVT(Joint VideoTeam)正在制定的JVT视频编码标准等。JVT标准采用的是一种新型的编码技术,它比现存的任何一种编码标准的压缩效率都高的多。JVT标准在ISO中的正式名称是MPEG-4标准的第十部分,在ITU中的正式名称是H.264标准。
变换和量化是实现视频编、解码的关键技术,如果没有变换和量化,任何视频编、解码标准的应用都几乎是不可能的。引入变换的根本原因就是提高压缩效率,(上述标准和相关的现有技术中关于技术变换和量化技术的出处、技术状况和存在的主要问题是什么?)
由于离散余弦变换(DCT)最接近卡文罗夫(Karhunen-Loeve)变换,所以目前国际通用的图像和视频压缩编解码标准几乎都采用了这种变换方法,但这种传统的DCT变换方法中存在数据飘移问题,造成编、解码端的不匹配,从算法上看,采用乘法,使得硬件实现和应用复杂和困难,复杂度较高。
在最新H.264/AVC建议/标准中则采用了类似于DCT的整数4×4变换,但是,H.264/AVC中所采用的整数4×4变换阵,它的每行的绝对值的和不相等,而且每行的模相差很大,这就不利于将解码端的缩放放到编码端进行,不能减少解码端的运算复杂度和解码的时间开销;另外,在H.264/AVC中所采用的量化方法,量化和反量化分别使用了6个2维4×4表,读取量化表和反量化表的时间开销以及数据的存储开销都较大。
发明内容
为了克服上述现有技术的不足,本发明的目的在于提供一种低复杂度整数4×4离散余弦变换量化装置及其实现方法,使DCT变换中浮点运算编码端和解码端相匹配。
本发明的另一个目的在于提供一种低复杂度整数4×4离散余弦变换量化装置及其实现方法,降低变换的运算复杂度。
为了完成上述发明任务,本发明采用的总体技术方案是:一种低复杂度整数4×4离散余弦变换量化装置,包括帧内预测模块、熵编码模块、环形滤波电路、帧缓存,还包括:
正变换模块,用于对帧内预测或帧间预测模块产生的残差系数矩阵进行4×4行列变换,其输入端连接运动补偿预测或帧内预测模块的输出端,输出端连接缩放模块;
缩放模块,用于对正变换模块输出的变换矩阵进行统一归一化处理;
量化模块,用于将缩放后得到的中间结果矩阵进行量化,其输出端连接缩放模块的输入端和熵编码模块;
反量化模块,用于将量化后矩阵反量化,反量化模块输入端与缩放模块缩放输出端连接,其反量化矩阵输出端与反变换模块的输入端连接;
反变换模块,用于对反量化输出的图像参数矩阵反变换,反变换模块输出端连接到环形滤波和帧缓存。
一种低复杂度整数4×4离散余弦变换量化实现方法,包括以下步骤:
步骤1:正变换模块对帧内预测或帧间预测残差矩阵做水平方向整数4×4离散余弦行变换,并做竖直方向列变换;
步骤2:缩放模块对正变换模块变换后的矩阵的模进行归一化处理;
步骤3:缩放模块将经归一化处理后得到的结果矩阵的运算位右移,并将运算位限制在一定位数之内;
步骤4:量化模块在编码端和解码端用一个一维数组对经过缩放的变换矩阵进行量化,并向熵编码模块输出量化后的结果矩阵;
步骤5:反量化模块在编码端和解码端用一个一维数组对量化后的变换矩阵进行反量化;
步骤6:反变换模块对反量化后的矩阵的列和行进行反变换。
所述步骤1进一步包括:
步骤11、正变换模块接收帧内预测和帧间预测模块残差系数矩阵;
步骤12、正变换模块将核心变换矩阵分解为相乘的两个矩阵,用第一个矩阵左乘图像参数残差矩阵,再用第二个矩阵左乘第一个矩阵左乘图像预测残差系数矩阵后的矩阵,得到中间结果矩阵;
步骤13、正变换模块将得到的中间结果矩阵右乘第一个矩阵的转秩矩阵,再将右乘得到的矩阵右乘第二个矩阵;
步骤14、正变换模块将正变换结果矩阵输出到缩放模块。
所述步骤11中的核心变换矩阵为:
2 2 2 2 3 1 - 1 - 3 2 - 2 - 2 - 2 1 - 3 3 - 1
所述步骤12中的第一个矩阵和第二个矩阵为:
第一个矩阵:
2 2 0 0 0 0 1 3 2 - 2 0 0 0 0 - 3 1
第二个矩阵:
1 0 0 1 0 1 1 0 0 1 - 1 0 1 0 0 - 1
所述步骤1中的水平方向整数4×4变换后的每一行运算位为12位,它包括变换矩阵的行位数3位和残差位数9位。
所述步骤1中竖直方向列变换后运算位为15位。
所述步骤2中对变化后的矩阵的模进行统一的归一化处理具体为将组成矩阵的各元素分别去除它所在的行或列的各个元素经平方再开方的值,使每一行或列的模都等于1。
所述步骤3中的运算位限制位数为16位。
所述步骤4中的量化具体包括:
步骤41、针对某一量化步长,根据公式Q(i)=32768/2i/8确定其相对应的量化参数,并保存在一个一维的量化表中;
步骤42、将经过缩放处理后所得到的中间结果矩阵Y’乘以相对应的量化参数;
步骤43、再将上述结果矩阵的运算位右移,使得最终的结果矩阵运算位保持在16位以下。
所述步骤5中的反量化的步骤具体包括:
步骤51、针对量化时所采用的某一量化步长,根据公式IQ_TAB[64]=32768×2qp/8确定其相对应的反量化参数,并保存在一个一维的反量化表中;
步骤52、将经过熵解码处理后所得到的量化矩阵Y”乘以相对应的反量化参数;
步骤53、再将上述结果矩阵运算位右移,使得最终的结果矩阵的运算位保持在16位以下。
所述步骤6中的反变换具体包括以下步骤:
步骤61、反变换模块将核心变换矩阵的转秩矩阵分解为两个相乘的第一矩阵转秩矩阵和第二矩阵转秩矩阵,用第二矩阵转秩矩阵左乘反量化后的矩阵,再用第一矩阵转秩矩阵左乘得到的矩阵,得到乘积矩阵;
步骤62、反变换模块将得到的上述乘积矩阵的转秩矩阵再右乘第二矩阵和第一矩阵,得到最后的结果矩阵。
本发明有显著的优点和积极效果,本发明采用不同于现有技术的的核心变换矩阵,对变换矩阵中每行的模作了归一化处理,采用整数4×4离散余弦变换阵,每行的绝对值的和都等于8,第一、三行的模为 第二、四行的模等于
Figure A20041006270000102
相差很小,有利于将解码端的缩放放到编码端进行,减少了解码端的运算复杂度和解码的时间开销,因此,在量化端和反量化端分别只需要一个一维数组即可完成不同级别的量化、反量化,这就使得量化和反量化所需的存储空间大大降低,大大减少了时间开销和存储开销。本发明在性能上克服了传统的DCT变换方法中存在的数据飘移的缺陷,避免了编、解码端不匹配的问题,在方法,本发明用3以内的系数矩阵实现低复杂度、低存储开销的整数变换,使得软件与硬件的实现复杂度均较低。完全取消了乘法,只采用加法和移位,使得硬件实现和应用更加方便和容易,并将计算结果限制在16Bit之内,降低了运算复杂度,尤其适合低端处理器。
附图说明
图1是本发明的主要功能模块图;
图2是本发明的方法流程图;
图3是正变换快速DCT计算示意图;
图4是反变换快速DCT计算示意图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细的说明。
请参阅图1,本发明的一种低复杂度整数离散余弦变换量化装置,包括帧内预测模块;熵编码模块;环形滤波电路;帧缓存;用于对帧内预测或帧间预测模块产生的残差数据块进行行、列整数4×4变换的正变换模块,其输入端连接帧内预测或帧间预测模块的残差系数矩阵输出端,输出端连接缩放模块;用于对正变换模块输出的变换矩阵进行统一归一化处理的缩放模块;用于将缩放后得到的中间结果矩阵进行量化的量化模块,其输出端连接缩放模块的输入端和熵编码模块;用于将量化后矩阵反量化的反量化模块,反量化模块输入端与缩放模块缩放输出端连接,其反量化矩阵输出端与反变换模块的输入端连接;用于对反量化输出的图像参数矩阵反变换的反变换模块,反变换模块输出端连接到环形滤波和帧缓存。
编码时,对于帧内预测或帧间预测残差,进行如下的4×4变换:
Y = C f X C f T ⊗ E f = ( 2 2 2 2 3 1 - 1 - 3 2 - 2 - 2 2 1 - 3 3 - 1 × 2 3 2 1 2 1 - 2 - 3 2 - 1 - 2 3 2 - 3 2 - 1 ) ⊗ a 2 ab a 2 ab ab b 2 ab b 2 a 2 ab a 2 ab ab b 2 ab b 2
CfXCf T是二维变换的核心部分,Ef是缩放系数矩阵。运算符表示每一个变换后的系数分别与矩阵Ef中相同位置的缩放因子相乘,它是标量乘法而不是矩阵乘法。这里a,b分别为Cf第一行与第二行系数的模的倒数。
对于Y、U、V信号采用8位精度表示,因为输入矩阵是预测误差,因此需要9位来表示,变换矩阵每一行绝对值之和的最大值为8,因此,对于变换后的矩阵元素需要9+log28×8=15位来表示。在进行了二维核心变换CfXCf T后,缩放过程是和量化相结合的,这样就减少了运算量,降低了运算复杂度。
请参阅图2本发明的方法流程图。本发明的一种整数4×4离散余弦变换量化实现方法,主要包下述步骤:
第一步、正变换模块对帧内预测或帧间预测后残差数据块做水平方向整数4×4离散余弦行变换,并做竖直方向列变换;
正向行变换时首先对帧内预测或帧间预测后残差系数矩阵做水平方向的整数4×4离散余弦变换。从上述矩阵公式可以知道,核心变换矩阵[A]的每行的绝对值最大和为8,由于核心变换阵每行的模不为1,这样完成一次完整的行变换,就相当于用原始的DCT变换阵做一次完整的行变换后,再左移log28=3Bit,再加上原来存储残差的9Bit,就会需要9+3=12Bit的运算位。做完行变换后,紧接着开始做竖直方向的列变换,方法同正向行变换。因此,列变换完成后,运算位会增加到15Bit。
如下面公式所示,其中,Y为变换后的阵,X为输入的残差阵,A为核心变换阵,B、E为A的分解阵。
Y = AX A T = ( 2 2 2 2 3 1 - 1 - 3 2 - 2 - 2 2 1 - 3 3 - 1 × 2 3 2 1 2 1 - 2 - 3 2 - 1 - 2 3 2 - 3 2 - 1 ) ⊗ a 2 ab a 2 ab ab b 2 ab b 2 a 2 ab a 2 ab ab b 2 ab b 2
                       [A]=[B]×[E]
其中,A,B,E定义如下所示:
[ A ] = 2 2 2 2 3 1 - 1 - 3 2 - 2 - 2 2 1 - 3 3 - 1 ,
[ B ] = 2 2 0 0 0 0 1 3 2 - 2 0 0 0 0 - 3 1 ,
[ C ] = 1 0 0 1 0 1 1 0 0 1 - 1 0 1 0 0 - 1 ,
[ B ] T = 2 0 2 0 2 0 - 2 0 0 1 0 - 3 0 3 0 1 ,
[ C ] T = 1 0 0 1 0 1 1 0 0 1 - 1 0 1 0 0 - 1
[ A ] = [ B ] × [ C ] = 2 2 2 2 3 1 - 1 - 3 2 - 2 - 2 2 1 - 3 3 - 1 = 2 2 0 0 0 0 1 3 2 - 2 0 0 0 0 - 3 1 × 1 0 0 1 0 1 1 0 0 1 - 1 0 1 0 0 - 1
1、首先设接收帧内预测或运动矢量预测模块输出的图像参数为:[X]=[x1,x2,x3,x4]T
2、再将核心变换矩阵[A]分解[B]×[C],并用[C]、[B]先后左乘[X]。先计算[C]×[X],设得到的中间结果为[G]=[g1,g2,g3,g4]T,这是用加法实现的。其中,g1=x1+x4,g2=x2+x3,g3=x2-x3,g4=x1-x4。接着,再计算[B]×[G],设得到的结果为[V]=[v1,v2,v3,v4]T,这是用加法和移位实现的,先将g1,g2左移1位,再相加,得到v1、v3:
其中,v1=2×(g1+g2);
      v3=2×(g1-g2);
再将g3、g4作如下处理:
先计算v2,将g4左移一位,得到2×g4,再加上g4、g3,得到v2,即v2=2×g4+g4+g3。再计算v3,将g3左移一位,得到2×g3,然后取反,再加上-g3,g4,得到v4,即v4=g4-2×g3-g3
3、将得到的中间结果矩阵[V]=[v1,v2,v3,v4]T再右乘[C]T、[B]T,得到最后的变换结果矩阵[Y]=[y1,y2,y3,y4]。具体算法如下:
先计算[V]×[C]T,设得到的中间结果为[H]=[h1,h2,h3,h4],这一步完全是用加法实现的。此时,设[V]=[v1’,v2’,v3’,v4’],这样就将[V]的表现形式,由第一、第二步的行向量的表现形式改为列向量表现形式。
这样得到[H]:h1=v1’+v4’;h2=v2’+v3’;h3=v2’-v3’;h4=v1’-v4’。
然后,再计算[H]×[B]T,这一步是用加法和移位实现的。先将h1、h2各左移一位,然后相加,得到y1、y3:
            y1=2×(h1+h2)
            y3=2×(h1-h3)
然后再将h4左移一位后,与h3相加,得到y2;将h3左移一位后,与h4相加,得到y4:
            y2=2×h4+h4+h3
            y4=-2×h3-h3+h4
正变换的快速DCT算法如图3所示。
第二步、缩放模块对将解码端反变换的缩放归到编码端的正变换处进行归一化处理,处理完成后,即可进行量化。
针对变换完成后的矩阵Y,在量化之前首先会有一个缩放的过程。目的是将所有行的模都作了归一化的处理,使得将来量化时,只需要一个一维数组即可完成不同级别的量化。缩放完成后,运算位会恢复到11Bit。缩放的公式如下所示:
Scale2(i,j)=norm(A(1,:))×norm(A(1,:))×norm(A(1,:))×norm(A(1,:))×32768/(norm(A(i,:))×norm(A(j,:))×norm(A(j,:))×norm(A(i,:)))
Y’(i,j)=abs(Y(i,j))×Scale2(i,j)>>19
其中Scale2(i,j)为变换当前块所需的缩放因子,(i,j)表示4×4阵中相应的位置,i=1,2,3,4;j=1,2,3,4;norm(A(i,:))和norm(A(j,:))表示第i行或第j行的模。在量化之前,对Y中各位置的元素按公式③进行归一化处理,归一化处理具体是指将组成矩阵的各元素分别去除它所在的行或列的各个元素平方之和再开方的值,这样,使每一行或列的模都等于1,从而达到了模的归一化。Y,为进行缩放处理后所得到的中间结果。
第三步、由于在缩放中的放大处理,使得运算位超出了16Bit,因此,必须做出相应处理,将运算位限制在16Bit之内。右移后,运算结果保持11Bit。
第四步、量化模块在编码端和解码端用一个一维数组对经过缩放的变换矩阵进行量化。量化的具体步骤是:首先针对某一量化步长,根据公式Q(i)=32768/2i/8确定其相对应的量化参数,并保存在一个一维的量化表中,然后将经过缩放处理后所得到的中间结果矩阵Y’乘以相对应的量化参数;最后,再将上述结果运算位右移,使得最终的结果的运算位保持在16位以下。
本发明采用的是0~63的量化机制,并且在量化前都已经做了归一化处理,因此,量化时,只需要一个一维数组即可完成不同级别的量化。
其中,向量化步长为2i/8,i=0,...,63;所以量化表可以用下式表示:
                       Q(i)=32768/2i/8;i=0,...,63;
这样,量化就采用下式进行:
                       Y”=Y’×Q(i)>>15。
第五步、反量化模块在编码端和解码端用一个一维数组对量化后的变换矩阵进行反量化。反量化的步骤是:首先针对量化时所采用的某一量化步长,根据公式IQ_TAB[64]=32768×2qp/8,确定其相对应的反量化参数,并保存在一个一维的反量化表中,然后将经过熵解码处理后所得到的量化矩阵Y”乘以相对应的反量化参数,最后,再将上述结果矩阵的运算位右移,使得最终的结果矩阵的运算位保持在16位以下。
反量化按如下公式进行:
        Y=(Y”×IQ_TAB[qp])>>IQ_SHIFT[qp];
其中,IQ_TAB[64]=32768×2qp/8,qp=0,...,63;
      IQ_SHIFT[64]={
                 14,14,14,14,14,14,14,14,
                 13,13,13,13,13,13,13,13,
                 13,12,12,12,12,12,12,12,
                 11,11,11,11,11,11,11,11,
                 11,10,10,10,10,10,10,10,
                 10,9, 9, 9, 9, 9, 9, 9,
                 9, 8, 8, 8, 8, 8, 8, 8,
                 7, 7, 7, 7, 7, 7, 7, 7
                       };
其中,IQ_TAB[qp]是反量化表,IQ_SHIFT[64]是移位表。
第六步、反变换模块对反量化后的矩阵的列和行进行反变换。反量化模块的输出,就是反变换模块的输入。反变换过程和变换过程相反,也是分别针对行和列进行处理。具体方法如下:
1、设反量化模块输出的图像参数[Y]=[y1,y2,y3,y4]T,反变换的输出图像参数为[X]=[x1,x2,x3,x4];这样,[X]=[A]TY[A];
2、将变换矩阵[A]T分解[C]T×[B]T,然后用[B]T,[C]T先后左乘[Y]。
(1)首先计算[B]T×[Y],设得到的中间结果为[M]=[m1,m2,m3,m4]T,这是用加法和移位实现的。先将y1,y2左移1位,再相加,得到m1、m2:
其中,m1=2×(y1+y3);
      m2=2×(y1-y3);
再将y2,、y4作如下处理:先计算m3,将y4左移一位,得到2×y4,再加上g4、g3,得到m3,即m3=y2-2×y4-y4。再计算m4,将y2左移一位,得到2×y2,再加上y2、y4,得到m4,即m4=2×y2+y2+y4。
(2)接着,再计算[C]T×[M],设得到的结果为[U]=[u1,u2,u3,u4]T,这是用加法实现的:
u1=m1+m4,u2=m2+m3,u3=m2-m3,u4=m1-m4。
3、将得到的中间结果矩阵[M]=[m1,m2,m3,m4]T再右乘[B],[C],得到最后的结果矩阵[X]=[x1,x2,x3,x4]。具体方法如下:
(1)、先计算[M]×[B],设得到的中间结果为[z]=[z1,z2,z3,z4],这一步是用加法和移位实现的。此时,设[M]=[m1’,m2’,m3’,m4’],这样就将[M]的表现形式由第二步的行向量的表现形式改为列向量表现形式。
首先,将m1’,m3’左移一位,这样得到
              z1=2(m1’+m3’);
              z2=2(m1’-m3’);
然后,将m4’左移一位,再与m2相加,得到z3:
              z3=m2’-2*m3’-m3’
最后,将m2’左移一位,再与m4’相加,得到z4:
              z4=2*m2’+m2’+m4’
(2)、再计算[Z]×[C],这样可以得到最终的结果[X],这一步是完全是用加法实现的,其中:
                x1=z1+z4
                x2=z2+z3
                x3=z2-z3
                x4=z1-z4
由于在变换时每次行变换都左移了3Bit,因此在反变换中要右移3Bit。反变换中的列变换也作相应的处理。这样,完成一次完整的反变换,要右移6Bit,此时,运算位达到6Bit。但由于在作一致性量化处理时,每行的模被作了缩小的处理,因此,在这里要针对不同位置的元素给予相应的放大恢复。在公式:
Y = C f X C f T ⊗ E f = ( 2 2 2 2 3 1 - 1 - 3 2 - 2 - 2 2 1 - 3 3 - 1 × 2 3 2 1 2 1 - 2 - 3 2 - 1 - 2 3 2 - 3 2 - 1 ) ⊗ a 2 ab a 2 ab ab b 2 ab b 2 a 2 ab a 2 ab ab b 2 ab b 2
中分三种情况给予放大处理:1、如果是针对a2位置的元素,那么应该放大16×16倍,这样,运算位达到log2256+6=14Bit,接着再进行右移5位的处理,最后将数据恢复到14-5=9Bit;2、如果是针对ab位置的元素,那么应该放大16×20倍,这样,运算位达到log2320+6=14.32Bit,接着再进行右移5位的处理,最后将数据恢复到14.32-5=9.32Bit;3、如果是针对b2位置的元素,那么应该放大20×20倍,这样,运算位达到log2400+6=14.644Bit,接着再进行右移5位的处理,最后将数据恢复到14.644-5=9.644Bit。
反变换的快速DCT蝶形算法如图4所示。
表1是各个步骤运算时和运算后的运算位的跟踪和统计表,该表显示了不同操作时,数据位的动态变化和最终的运算位。
                   表1数据位变化表
    具体操作描述     数据位的动态变化     最终结果
   X     0     9Bit
   A=T·X     9+3     12Bit
   B=A·T     12+3     15Bit
   C=Scale·B>>19     15+15-19     11Bit
   D=q·C>>15     11+15-15     11Bit
   E=D·Iq>>Shift     11+15-14     12Bit
   F=E·T     12+1     13Bit
   G=TT·F     13+1     14Bit
   H=G>>5     14-5     9Bit
以上实施例仅用以说明而非限制本发明的技术方案,本领域的普通技术人员应当理解:可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本发明的权利要求范围当中。

Claims (12)

1一种低复杂度整数4×4离散余弦变换量化装置,包括帧内预测模块、熵编码模块、环形滤波电路、帧缓存,其特征在于,该装置还包括:
正变换模块,用于对帧内预测或帧间预测模块产生的残差系数矩阵进行4×4行列变换,其输入端连接运动补偿预测或帧内预测模块存储残差的残差数据矩阵输出端,输出端连接缩放模块;
缩放模块,用于对正变换模块输出的变换矩阵进行统一归一化处理;
量化模块,用于将缩放后得到的中间结果矩阵进行量化,其输出端连接缩放模块的输入端和熵编码模块;
反量化模块,用于将量化后矩阵反量化,反量化模块输入端与缩放模块缩放输出端连接,其反量化矩阵输出端与反变换模块的输入端连接;
反变换模块,用于对反量化输出的图像参数矩阵反变换,反变换模块输出端连接到环形滤波和帧缓存。
2、一种低复杂度整数4×4离散余弦变换量化实现方法,其特征在于,包括以下步骤:
步骤1:正变换模块对帧内预测或帧间预测残差数据块做水平方向整数4×4离散余弦行变换,并做竖直方向列变换;
步骤2:缩放模块对正变换模块变换后的矩阵的模进行归一化处理;
步骤3:缩放模块将经归一化处理后得到的结果矩阵的运算位右移,并将运算位限制在一定位数之内;
步骤4:量化模块在编码端和解码端用一个一维数组对经过缩放的变换矩阵进行量化,并向熵编码模块输出量化后的结果矩阵;
步骤5:反量化模块在编码端和解码端用一个一维数组对量化后的变换矩阵进行反量化;
步骤6:反变换模块对反量化后的矩阵的列和行进行反变换。
3、根据权利要求2所述的低复杂度整数4×4离散余弦变换量化实现方法,其特征在于,所述步骤1进一步包括:
步骤11、正变换模块接收帧内预测或帧间预测模块残差系数矩阵;
步骤12、正变换模块将核心变换矩阵分解为相乘的两个矩阵,用第一个矩阵左乘图像参数残差矩阵,再用第二个矩阵左乘第一个矩阵左乘图像参数残差矩阵后的矩阵,得到中间结果矩阵;
步骤13、正变换模块将得到的中间结果矩阵右乘第一个矩阵的转秩矩阵,再将右乘得到的矩阵右乘第二个矩阵;
步骤14、正变换模块将正变换结果矩阵输出到缩放模块。
4、根据权利要求3所述的低复杂度整数4×4离散余弦变换量化实现方法,其特征在于,所述步骤11中的核心变换矩阵为:
2 2 2 2 3 1 - 1 - 3 2 - 2 - 2 2 1 - 3 3 - 1
5、根据权利要求3所述的低复杂度整数4×4离散余弦变换量化实现方法,其特征在于,所述步骤12中的第一个矩阵和第二个矩阵为:
第一个矩阵:
2 2 0 0 0 0 1 3 2 - 2 0 0 0 0 - 3 1
第二个矩阵:
1 0 0 1 0 1 1 0 0 1 - 1 0 1 0 0 - 1
6、根据权利要求2所述的低复杂度整数4×4离散余弦变换量化实现方法,其特征在于,所述步骤1中的水平方向整数4×4变换后的每一行运算位为12位,它包括变换矩阵的行位数3位和残差位数9位。
7、根据权利要求2所述的低复杂度整数4×4离散余弦变换量化实现方法,其特征在于,所述步骤1中竖直方向列变换后运算位为15位。
8、根据权利要求2所述的低复杂度整数4×4离散余弦变换量化实现方法,其特征在于,所述步骤2中对变化后的矩阵的模进行统一的归一化处理具体为将组成矩阵的各元素分别去除它所在的行或列的各个元素经平方后相加再开方的值,使每一行或列的模都等于1。
9、根据权利要求2所述的低复杂度整数4×4离散余弦变换量化实现方法,其特征在于,所述步骤3中的运算位限制位数为16位。
10、根据权利要求2所述的低复杂度整数4×4离散余弦变换量化实现方法,其特征在于,所述步骤4中的量化具体包括:
步骤41、针对某一量化步长,根据公式Q(i)=32768/2i/8确定其相对应的量化参数,并保存在一个一维的量化表中;
步骤42、将经过缩放处理后所得到的中间结果矩阵Y乘以相对应的量化参数;
步骤43、再将上述结果矩阵的运算位右移,使得最终的结果矩阵运算位保持在16位以下。
11、根据权利要求2所述的低复杂度整数4×4离散余弦变换量化实现方法,其特征在于,所述步骤5中的反量化的步骤具体包括:
步骤51、针对量化时所采用的某一量化步长,根据公式IQ_TAB[64]=32768×2qp/8确定其相对应的反量化参数,并保存在一个一维的反量化表中;
步骤52、将经过熵解码处理后所得到的量化矩阵Y”乘以相对应的反量化参数;
步骤53、再将上述结果矩阵运算位右移,使得最终的结果矩阵的运算位保持在16位以下。
12、根据权利要求2所述的低复杂度整数4×4离散余弦变换量化实现方法,其特征在于,所述步骤6中的反变换具体包括以下步骤:
步骤61、反变换模块将核心变换矩阵的转秩矩阵分解为两个相乘的第一矩阵转秩矩阵和第二矩阵转秩矩阵,用第二矩阵转秩矩阵左乘反量化后的矩阵,再用第一矩阵转秩矩阵左乘得到的矩阵,得到乘积矩阵;
步骤62、反变换模块将得到的上述乘积矩阵的转秩矩阵再右乘第二矩阵和第一矩阵,得到最后的结果矩阵。
CN 200410062700 2004-08-06 2004-08-06 一种低复杂度整数4×4离散余弦变换量化实现方法 Expired - Fee Related CN1286322C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200410062700 CN1286322C (zh) 2004-08-06 2004-08-06 一种低复杂度整数4×4离散余弦变换量化实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200410062700 CN1286322C (zh) 2004-08-06 2004-08-06 一种低复杂度整数4×4离散余弦变换量化实现方法

Publications (2)

Publication Number Publication Date
CN1589017A true CN1589017A (zh) 2005-03-02
CN1286322C CN1286322C (zh) 2006-11-22

Family

ID=34603750

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200410062700 Expired - Fee Related CN1286322C (zh) 2004-08-06 2004-08-06 一种低复杂度整数4×4离散余弦变换量化实现方法

Country Status (1)

Country Link
CN (1) CN1286322C (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100405848C (zh) * 2005-09-16 2008-07-23 宁波大学 一种用于视频图像编码过程中的量化方法
WO2008151560A1 (en) * 2007-06-10 2008-12-18 Huawei Technologies Co., Ltd. Coding and decoding method, coder and decoder, and method and device for generating the sequences to be coded
CN101137063B (zh) * 2007-01-30 2010-12-15 海信集团有限公司 离散余弦变换装置及用于图像处理的离散余弦变换方法
CN101491104B (zh) * 2006-07-14 2011-07-06 索尼株式会社 图像处理装置和方法
WO2011124163A1 (zh) * 2010-04-09 2011-10-13 华为技术有限公司 视频数据编码、解码方法及装置、变换处理方法及装置
CN102333216A (zh) * 2011-04-20 2012-01-25 深圳市融创天下科技股份有限公司 一种视频编码16x16整数变换方法
CN101658036B (zh) * 2007-03-09 2012-05-30 夏普株式会社 可缩放至不可缩放的比特流重写的方法和系统
CN102571518A (zh) * 2011-12-19 2012-07-11 西安交通大学 一种基于现场总线的电子式互感器数据传输方法
CN102724511A (zh) * 2012-06-28 2012-10-10 北京华控软件技术有限公司 云转码压缩系统和方法
CN101682764B (zh) * 2007-05-31 2012-10-10 高通股份有限公司 用于图像代码转换中位速率降低的方法和设备
CN101742054B (zh) * 2008-11-14 2013-02-13 北京中星微电子有限公司 编码方法及装置、解码方法及装置
CN101742328B (zh) * 2008-11-14 2013-03-27 北京中星微电子有限公司 图像残差矩阵整数变换方法及装置、反变换方法及装置
CN103125116A (zh) * 2010-09-28 2013-05-29 三星电子株式会社 视频编码方法和装置以及解码方法和装置
CN103379317A (zh) * 2012-04-14 2013-10-30 朱洪波 视频编码近正交整数变换
CN104378639A (zh) * 2011-10-19 2015-02-25 株式会社Kt 解码视频信号的方法
CN104602014A (zh) * 2015-01-22 2015-05-06 复旦大学 一种适用于hevc标准的量化与反量化硬件复用算法及硬件结构
CN102333216B (zh) * 2011-04-20 2016-12-14 深圳市云宙多媒体技术有限公司 一种视频编码16x16整数变换方法
CN107249130A (zh) * 2017-07-24 2017-10-13 河南工程学院 一种用于数字视频编解码的3乘3整数dct变换量化器
CN110856000A (zh) * 2019-10-22 2020-02-28 深圳市华星光电技术有限公司 图像解压缩方法及装置

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100405848C (zh) * 2005-09-16 2008-07-23 宁波大学 一种用于视频图像编码过程中的量化方法
CN101491104B (zh) * 2006-07-14 2011-07-06 索尼株式会社 图像处理装置和方法
CN101137063B (zh) * 2007-01-30 2010-12-15 海信集团有限公司 离散余弦变换装置及用于图像处理的离散余弦变换方法
CN101658036B (zh) * 2007-03-09 2012-05-30 夏普株式会社 可缩放至不可缩放的比特流重写的方法和系统
CN101682764B (zh) * 2007-05-31 2012-10-10 高通股份有限公司 用于图像代码转换中位速率降低的方法和设备
WO2008151560A1 (en) * 2007-06-10 2008-12-18 Huawei Technologies Co., Ltd. Coding and decoding method, coder and decoder, and method and device for generating the sequences to be coded
CN101321283B (zh) * 2007-06-10 2010-04-07 华为技术有限公司 兼容不同大小块变换的编解码方法及编解码器
CN101742328B (zh) * 2008-11-14 2013-03-27 北京中星微电子有限公司 图像残差矩阵整数变换方法及装置、反变换方法及装置
CN101742054B (zh) * 2008-11-14 2013-02-13 北京中星微电子有限公司 编码方法及装置、解码方法及装置
WO2011124163A1 (zh) * 2010-04-09 2011-10-13 华为技术有限公司 视频数据编码、解码方法及装置、变换处理方法及装置
CN103125116A (zh) * 2010-09-28 2013-05-29 三星电子株式会社 视频编码方法和装置以及解码方法和装置
US10743026B2 (en) 2010-09-28 2020-08-11 Samsung Electronics Co., Ltd. Video encoding method and device and decoding method and device
US10038918B2 (en) 2010-09-28 2018-07-31 Samsung Electronics Co., Ltd. Video encoding method and device and decoding method and device
US10455252B2 (en) 2010-09-28 2019-10-22 Samsung Electronics Co., Ltd. Video encoding method and device and decoding method and device
US9788013B2 (en) 2010-09-28 2017-10-10 Samsung Electronics Co., Ltd. Video encoding method and device and decoding method and device
US9350997B2 (en) 2010-09-28 2016-05-24 Samsung Electronics Co., Ltd. Video encoding method and device and decoding method and device
CN105263028A (zh) * 2010-09-28 2016-01-20 三星电子株式会社 视频编码方法和装置以及解码方法和装置
CN102333216A (zh) * 2011-04-20 2012-01-25 深圳市融创天下科技股份有限公司 一种视频编码16x16整数变换方法
CN102333216B (zh) * 2011-04-20 2016-12-14 深圳市云宙多媒体技术有限公司 一种视频编码16x16整数变换方法
WO2012142792A1 (zh) * 2011-04-20 2012-10-26 深圳市融创天下科技股份有限公司 一种视频编码16×16整数变换方法
CN104378639A (zh) * 2011-10-19 2015-02-25 株式会社Kt 解码视频信号的方法
US10313667B2 (en) 2011-10-19 2019-06-04 Kt Corporation Method and apparatus for encoding/decoding image using transform skip flag
US9832464B2 (en) 2011-10-19 2017-11-28 Kt Corporation Method and apparatus for encoding/decoding image using transform skip flag
US9866832B2 (en) 2011-10-19 2018-01-09 Kt Corporation Method and apparatus for encoding/decoding image using transform skip flag
US9930333B2 (en) 2011-10-19 2018-03-27 Kt Corporation Method and apparatus for encoding/decoding image using transform skip flag
CN102571518B (zh) * 2011-12-19 2015-01-21 西安交通大学 一种基于现场总线的电子式互感器数据传输方法
CN102571518A (zh) * 2011-12-19 2012-07-11 西安交通大学 一种基于现场总线的电子式互感器数据传输方法
CN103379317A (zh) * 2012-04-14 2013-10-30 朱洪波 视频编码近正交整数变换
CN102724511A (zh) * 2012-06-28 2012-10-10 北京华控软件技术有限公司 云转码压缩系统和方法
CN104602014A (zh) * 2015-01-22 2015-05-06 复旦大学 一种适用于hevc标准的量化与反量化硬件复用算法及硬件结构
CN104602014B (zh) * 2015-01-22 2018-04-03 复旦大学 一种适用于hevc标准的量化与反量化硬件复用算法及硬件结构
CN107249130A (zh) * 2017-07-24 2017-10-13 河南工程学院 一种用于数字视频编解码的3乘3整数dct变换量化器
CN107249130B (zh) * 2017-07-24 2023-04-07 河南工程学院 一种用于数字视频编解码的3乘3整数dct变换量化器
CN110856000A (zh) * 2019-10-22 2020-02-28 深圳市华星光电技术有限公司 图像解压缩方法及装置
CN110856000B (zh) * 2019-10-22 2020-10-27 深圳市华星光电技术有限公司 图像解压缩方法及装置
US11436759B2 (en) 2019-10-22 2022-09-06 Tcl China Star Optoelectronics Technology Co., Ltd. Image decompression method, device and display terminal

Also Published As

Publication number Publication date
CN1286322C (zh) 2006-11-22

Similar Documents

Publication Publication Date Title
CN1286322C (zh) 一种低复杂度整数4×4离散余弦变换量化实现方法
CN1225126C (zh) 用于视频编码的新型空间预测方法及其装置
CN1231068C (zh) 图像和视频编码用的改进的块变换和量化
CN1201595C (zh) 图像解码方法
CN1302419A (zh) 缩放压缩的图象
CN101047849A (zh) 离散余弦逆变换方法及其装置
CN1697328A (zh) 快速视频编解码变换实现
CN1791222A (zh) 对有损及无损的2-d数据压缩的可逆转换
CN1347620A (zh) 转换mpeg-2 4:2:2-轮廓位流为主轮廓位流的方法及架构
CN1455599A (zh) 图像和视频编码的2-d变换
CN1374789A (zh) 数字图象压缩方法
CN1835595A (zh) 图像编码/解码方法及其装置
CN1767395A (zh) 整数数据的无损自适应编码与解码
CN1685369A (zh) 视频编码的低复杂性和统一标准的变换
CN1842164A (zh) 解码视频数据的解码器和系统
CN1531348A (zh) 图像编码设备、方法及程序,和图像解码设备、方法及程序
CN1926880A (zh) 数据处理装置、方法和编码装置
CN1225904C (zh) 在压缩域视频处理中降低存储器要求和实施有效的逆运动补偿的方法和设备
CN1216495C (zh) 视频图像亚像素插值的方法和装置
CN1209926C (zh) 运用于图像编码和视频编码的整数变换方法和装置
CN1816144A (zh) 一种二维离散余弦变换装置及方法
CN1306821C (zh) 一种视频图像中运动矢量预测生成的方法及其装置
CN1547857A (zh) 图像解码设备和图像解码方法
CN1758758A (zh) 可变换或逆变换不同大小的块的变换或逆变换方法和设备
CN1905676A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20061122

Termination date: 20210806

CF01 Termination of patent right due to non-payment of annual fee