运用于图像编码和视频编码的六角变换方法和装置转让专利

申请号 : CN201110240524.4

文献号 : CN102355580A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王国中朱洪波赵海武李国平腾国伟

申请人 : 上海国茂数字技术有限公司

摘要 :

一种运用于图像编码和视频编码的正向六角变换装置,包括:输入装置,配置为接收存储正向变换的输入数据;正向六角变换系数获取装置,配置为获取正向六角变换矩阵的系数;正向六角变换装置,配置为根据获取装置所得到的变换矩阵系数对输入数据块进行正向变换处理;输出装置,配置为输出经正向六角变换后的数据;其中,输入装置与正向变换装置之间通过数据总线连接,以传输输入数据;正向变换系数获取装置与正向变换装置之间通过数据总线连接,以传输正向变换矩阵系数;正向变换装置与输出装置之间通过总线连接,以传输经正向变换后的数据。通过选取不同的角度,可以调整数据块不同位置数据的权重,从而达到更好的效果。

权利要求 :

1.一种运用于图像编码或视频编码的六角变换方法,所述方法应用于图像编码和视频编码的正向变换,其特征在于,包括如下步骤:(1)基于所述图像编码或视频编码的预测残差或者经验值,选取六个角度;

(2)根据选取的角度计算得到变换矩阵T;

(3)使用变换矩阵T对输入数据块进行正向变换处理。

2.如权利要求1所述的六角变换方法,其特征在于,所述的变换矩阵T按如下方法得到:设a1、a2、a3、a4、a5、a6是所选取的六个角度,令C=cosa1,D=sina1,

E=cosa2,F=sina2,

G=cosa3,H=sina3,

I=cosa4,J=sina4,

K=cosa5,L=sina5,

M=cosa6,N=sina6;

由此,

3.如权利要求1所述的六角变换方法,其特征在于,所述正向变换处理为:Y=T′XT,其中用X表示输入的8x8数据块矩阵,Y表示8x8输出数据块矩阵,T′表示矩阵T的转置。

4.如权利要求2所述的六角变换方法,其特征在于,所述的六个角度可以取任意值,对它们的取值范围没有限制。

5.如权利要求4所述的六角变换方法,其特征在于所述的六个角度可以取:a1=arccos(0.6367),a2=arccos(0.6836),a3=arccos(0.6914),a4=arccos(0.4141),a5=arccos(0.2148),a6=arccos(0.7930)。

6.一种运用于图像编码或视频编码的六角变换方法,所述方法应用于图像编码和视频编码的逆向变换,其特征在于,包括如下步骤:(1)基于所述图像编码或视频编码的预测残差或者经验值,选取六个角度;

(2)根据获取的角度计算得到逆变换矩阵T′;

(3)使用逆变换矩阵T′对输入数据块进行逆向变换处理。

7.如权利要求6所述的六角变换方法,其特征在于所述的逆变换矩阵T′按如下方法得到:设a1、a2、a3、a4、a5、a6是所选取的六个角度,令C=cosa1,D=sina1,

E=cosa2,F=sina2,

G=cosa3,H=sina3,

I=cosa4,J=sina4,

K=cosa5,L=sina5,

M=cosa6,N=sina6;

由此,

然后通过对变换矩阵T进行转置而得到所述逆变换矩阵T′。

8.如权利要求6所述的六角变换方法,其特征在于,所述逆向变换处理为:X=TYT′,其中用X表示输入的8x8数据块矩阵,Y表示8x8输出数据块矩阵。

9.如权利要求6所述的六角变换方法,其特征在于,所述的六个角度可以取任意值,对它们的取值范围没有限制。

10.如权利要求9所述的六角变换方法,其特征在于所述的六个角度可以取a1=arccos(0.6367),a2=arccos(0.6836),a3=arccos(0.6914),a4=arccos(0.4141),a5=arccos(0.2148),a6=arccos(0.7930)。

11.一种应用于图像或视频的编码方法,包括如下步骤:(1)将输入图像分割成16×16的宏块,并对I帧图像进行帧内像素预测和补偿处理,对P帧图像进行帧间运动估计及运动补偿处理;

(2)对输入预测差值数据进行正向变换处理;

(3)对变换系数进行量化及熵编码处理,并将编码输出;

(4)对所述编码码流进行熵解码,并对所述变换系数进行逆量化处理;

(5)对经逆量化的变换系数进行反向变换处理;

(6)对经逆变换处理后的图像数据进行帧内像素补偿或帧间运动补偿,并将解码后的图像输出;

其特征在于,步骤(2)中的正向变换处理采用如权利要求1所述的方法;且步骤(5)中的反向变换处理采用如权利要求6所述的方法。

12.一种运用于图像编码和视频编码的正向六角变换装置,其特征在于,包括:输入装置,配置为接收存储正向变换的输入数据;

正向六角变换系数获取装置,配置为获取正向六角变换矩阵的系数;

正向六角变换装置,配置为根据所述获取装置所得到的变换矩阵系数对所述输入数据块进行正向变换处理;

输出装置,配置为输出经正向六角变换后的数据;其中,所述输入装置与所述正向变换装置之间通过数据总线连接,以传输所述输入数据;所述正向变换系数获取装置与所述正向变换装置之间通过数据总线连接,以传输所述正向变换矩阵系数;所述正向变换装置与所述输出装置之间通过总线连接,以传输所述经正向变换后的数据。

13.一种运用于图像编码和视频编码的逆向六角变换装置,其特征在于,包括:输入装置,配置为接收存储逆向变换的输入数据;

逆向六角变换系数获取装置,配置为存储逆向六角变换矩阵的系数;

逆向六角变换装置,配置为根据所述获取装置所获取的变换矩阵系数对所述输入数据块进行逆向变换处理;

输出装置,配置为输出经逆向六角变换后的数据;其中,所述输入装置与所述逆向变换装置之间通过数据总线连接,以传输所述输入数据;所述逆向变换系数获取装置与所述逆向变换装置之间通过数据总线连接,以传输所述逆向变换矩阵系数;所述逆向变换装置与所述输出装置之间通过总线连接,以传输所述经逆向变换后的数据。

14.一种应用于图像或视频的编码装置,包括:输入模块,其将输入图像分割成16×16的宏块,并对I帧图像进行帧内像素预测和补偿处理,对P帧图像进行帧间运动估计及运动补偿处理;

正向变换模块,其对输入预测差值数据进行正向变换处理;

量化模块,其对变换系数进行量化;

反量化模块,其对所述变换系数进行反量化;

反向变换模块,其对经逆量化的变换系数进行反向变换处理;

控制模块,其编码码流进行熵编码以及熵解码,并对经逆变换处理后的图像数据进行帧内像素补偿或帧间运动补偿;

输出模块,其将经补偿和解码后的图像输出。

15.如权利要求11所述的装置,其特征在于,所述正向变换模块为如权利要求12所述的正向六角变换装置,并且所述反向变换模块为如权利要求13所述的逆向六角变换装置。

说明书 :

运用于图像编码和视频编码的六角变换方法和装置

技术领域

[0001] 本发明属于数字视频编码领域,尤其涉及图像及视频的变换装置及其方法。

背景技术

[0002] 数字视频是通过对时域和空域连续的自然场景进行时域和空域连续采样所得。如图1所示,数字视频由一系列时域上的图像帧所组成,每个图像帧表示自然场景在某个时间的空域采样,它由二维均匀采样的视觉像素组成。每个像素由一系列描述像素亮度和色彩的数字组成。
[0003] 传统的视频编码标准如ITU制定的H.261,H.263,H.263+,H.264标准以及ISO的MPEG组织制定的MPEG-1,MPEG-2,MPEG-4等都是建立在混合编码(Hybrid Coding)框架之上的。所谓混合编码框架是一种综合考虑预测、变换和熵编码的方法框架,有以下主要特点:
[0004] (1)利用预测去除时间域的冗余度;
[0005] (2)利用变换去除空间域的冗余度;
[0006] (3)利用熵编码去除统计上的冗余度。
[0007] 上述视频编码标准都具有帧内编码帧(I帧)和帧间编码帧(P/B帧)。对图像或者视频帧以宏块为基本单位进行编码,首先进行帧内或者帧间的预测,然后将预测残差进行二维变换、量化,最后对量化系数进行熵编码。由于视频数据和图像数据在空间域上有较强的相关性,二维变换是提高编码增益的关键因素,因此二维变换是视频编码和图像编码的很重要的部分。
[0008] 图像数据和视频数据的块变换编码中最广泛使用的是块基混合运动补偿离散余弦变换(DCT)变换视频编码技术。对于各种信号,离散余弦变换非常近似于统计最佳的K-L变换。离散余弦变换被广泛应用于各种视频/图像编码标准中。如图2所示,输入帧被劈分成一个个16×16的宏块,然后从左到右,从上到下依次进行编码。对每个输入的待编码当前宏块,首先从重构的帧中选择一个对当前块的预测,并与当前块相减,残差依次执行DCT变换、量化,然后反量化、反DCT变换得到重构宏块,存入重构帧序列中,用于对其后编码的宏块产生预测信号。在实际的预测过程中,宏块常常被分割成更小的8×8或4×4块来进行精确的预测。
[0009] 然而,离散余弦变换的一个缺点是将待变换数据快的各个位置上的数据同等对待,和预测残差的分布规律不相吻合。经过各种预测后,图像和视频中的块数据的空间相关性发生了变化,在统计意义上,块中心的像素预测匹配较好,预测残差较小,而块边缘的像素预测匹配较差,预测残差较大。

发明内容

[0010] 因此,本发明的目的是提供一种具有较高编码性能的变换方法。
[0011] 本发明的一个方面为一种运用于图像编码或视频编码的六角变换方法,所述方法的正向变换,包括如下步骤:(1)基于所述图像编码或视频编码的预测残差或者经验值,选取六个角度;(2)根据选取的角度计算得到变换矩阵T;(3)使用变换矩阵T对输入数据块进行正向变换处理。
[0012] 本发明的另一方面为一种运用于图像编码或视频编码的六角变换方法,所述方法的逆向变换,包括如下步骤:(1)基于所述图像编码或视频编码的预测残差或者经验值,选取六个角度;(2)根据获取的角度计算得到逆变换矩阵T′;(3)使用逆变换矩阵T′对输入数据块进行逆向变换处理。
[0013] 本发明的再一方面为一种运用于图像编码和视频编码的正向六角变换装置,包括:输入装置,配置为接收存储正向变换的输入数据;正向六角变换系数获取装置,配置为获取正向六角变换矩阵的系数;正向六角变换装置,配置为根据所述获取装置所得到的变换矩阵系数对所述输入数据块进行正向变换处理;输出装置,配置为输出经正向六角变换后的数据;其中,所述输入装置与所述正向变换装置之间通过数据总线连接,以传输所述输入数据;所述正向变换系数获取装置与所述正向变换装置之间通过数据总线连接,以传输所述正向变换矩阵系数;所述正向变换装置与所述输出装置之间通过总线连接,以传输所述经正向变换后的数据。
[0014] 本发明的另一方面为一种运用于图像编码和视频编码的逆向六角变换装置,包括:输入装置,配置为接收存储逆向变换的输入数据;逆向六角变换系数获取装置,配置为存储逆向六角变换矩阵的系数;逆向六角变换装置,配置为根据所述获取装置所获取的变换矩阵系数对所述输入数据块进行逆向变换处理;输出装置,配置为输出经逆向六角变换后的数据;其中,所述输入装置与所述逆向变换装置之间通过数据总线连接,以传输所述输入数据;所述逆向变换系数获取装置与所述逆向变换装置之间通过数据总线连接,以传输所述逆向变换矩阵系数;所述逆向变换装置与所述输出装置之间通过总线连接,以传输所述经逆向变换后的数据。
[0015] 由变换矩阵T可以看出,它的第一列中的系数并不相等,而是中间大,两边小,其效果是增加了数据块中心附近数据的权重,从而提高了压缩的效率。相反,DCT的变换矩阵的第一列系数是相等的,其效果是对数据块的所有数据取相等的权重,从而不能适应数据块统计规律的变化。通过选取不同的角度,可以调整数据块不同位置数据的权重,从而达到更好的效果。
[0016] 结合附图,根据下文的通过示例说明本发明主旨的描述可清楚本发明的其他方面和优点。

附图说明

[0017] 结合附图,通过下文的述详细说明,可更清楚地理解本发明的上述及其他特征和优点,其中:
[0018] 图1为数字视频示例;
[0019] 图2为块基运动补偿DCT变换视频编码器;
[0020] 图3为示出本发明正向变换装置的方块图;
[0021] 图4为示出本发明逆向变换装置的方块图;
[0022] 图5为根据本发明的图像编码方法的流程图;
[0023] 图6为根据本发明的图像编码装置的方块图。

具体实施方式

[0024] 参见示出本发明实施例的附图,下文将更详细地描述本发明。然而,本发明可以以许多不同形式实现,并且不应解释为受在此提出之实施例的限制。相反,提出这些实施例是为了达成充分及完整公开,并且使本技术领域的技术人员完全了解本发明的范围。这些附图中,为清楚起见,可能放大了层及区域的尺寸及相对尺寸。
[0025] 现描述根据本发明的运用于图像编码或视频编码的六角变换方法的实施例。所述方法应用于图像编码和视频编码的正向变换。所述正向六角变换方法首先基于所述图像编码或视频编码的预测残差或者经验值,选取六个角度。
[0026] 本实施例中,所述六个角度为:a1=arccos(0.6367),a2=arccos(0.6836),a3=arccos(0.6914),a4=arccos(0.4141),a5=arccos(0.2148),a6=arccos(0.7930)。本领域的技术人员应理解,这六个角度仅是示意性的而非限制性的,通常情况下,六个角度可取任何值。
[0027] 所述正向六角变换方法还包括根据选取的角度计算得到变换矩阵T。
[0028] 本实施例中,令
[0029] C=cosa1,D=sina1,
[0030] E=cosa2,F=sina2,
[0031] G=cosa3,H=sina3,
[0032] I=cosa4,J=sina4,
[0033] K=cosa5,L=sina5,
[0034] M=cosa6,N=sina6;
[0035] 由此,
[0036]
[0037] 经过计算,变换矩阵T=
[0038] 0.31129,0.43971,0.49631,0.43236,0.32527,0.33220,0.22577,0.09673.[0039] 0.34922,0.44407,0.21369,-0.02198,-0.33421,-0.48233,-0.46977,-0.26397,[0040] 0.37286,0.31210,-0.20015,-0.47313,-0.35683,0.08191,0.43999,0.41477.[0041] 0.37699,0.10976,-0.40982,-0.29787,0.39392,0.38768,-0.18642,-0.49893,[0042] 0.37699,-0.10976,-0.40982,0.29787,0.39392,-0.38768,-0.18642,0.49893.[0043] 0.37286,-0.31210,-0.20015,0.47313,-0.35683,-0.08191,0.43999,-0.41477,[0044] 0.34922,-0.44407,0.21369,0.02198,-0.33421,0.48233,-0.46977,0.26397,[0045] 0.31129,-0.43971,0.49631,-0.43236,0.32527,-0.33220,0.22577.-0.09673。
[0046] 所述正向六角变换方法还包括使用变换矩阵T对输入数据块进行正向变换处理。
[0047] 本实施例中,所述正向变换的处理为:Y=T′XT。X表示输入的8x8数据块矩阵,Y表示8x8输出数据块矩阵,T′表示矩阵T的转置。在得到变换矩阵T之后,再对其进行转置,以得到T′。
[0048] 由此,可利用公式Y=T′XT进行正向变换处理。
[0049] 现参考图3描述根据本发明的正向变换装置的实施例。
[0050] 如图3所示,根据本发明的正向六角变换装置包括输入装置710。输入装置710用于接收存储正向变换的输入数据。
[0051] 所述正向变换装置还包括正向六角变换系数获取装置750。获取装置750用于获取正向六角变换矩阵的系数。获取装置750可以通过上述计算得到变换矩阵的系数,或者从外部单元获取并存储于其中。
[0052] 所述正向变换装置还包括述正向六角变换装置720。正向变换装置720根据所获取装置的变换矩阵系数对所述输入数据块进行正向变换处理。本实施例中,正向变换装置720包括算术逻辑单元,从而可以用乘法、加法和移位运算实现正向变换处理。
[0053] 所述正向变换装置还包括输出装置740。输出装置740输出正向六角变换后的数据。优选实施例中,输出装置740可首先存储变换后的数据,再进行输出。
[0054] 输入装置710与正向变换装置720之间通过数据总线连接,以传输所述输入数据。正向变换系数获取装置750与正向变换装置720之间通过数据总线连接,以传输所述正向变换矩阵系数。正向变换装置720与输出装置740之间通过总线连接,以传输所述经正向变换后的数据。
[0055] 现描述根据本发明的运用于图像编码或视频编码的六角变换方法的实施例。所述方法应用于图像编码和视频编码的逆向变换。所述逆向六角变换方法首先基于所述图像编码或视频编码的预测残差或者经验值,选取六个角度。
[0056] 与正向方法类似,本实施例中,所述六个角度为:a1=arccos(0.6367),a2=arccos(0.6836),a3=arccos(0.6914),a4=arccos(0.4141),a5=arccos(0.2148),a6=arccos(0.7930)。本领域的技术人员应理解,这六个角度仅是示意性的而非限制性的,通常情况下,它们可取任何值。
[0057] 所述逆向六角变换方法还包括根据获取的角度计算得到逆变换矩阵T′。
[0058] 本实施例中,先根据所述角度计算得到变换矩阵T,然后对所述进行变换矩阵T转置而得到所述逆变换矩阵T′。
[0059] 由此,令
[0060] C=cosa1,D=sina1,
[0061] E=cosa2,F=-sina2,
[0062] G=cosa3,H=sina3,
[0063] I=cosa4,J=sina4,
[0064] K=cosa5,L=sina5,
[0065] M=cosa6,N=sina6;
[0066] 由此,
[0067]
[0068] 本实施例中,所述逆向变换的处理为:X=TYT′。X表示输入的8x8数据块矩阵,Y表示8x8输出数据块矩阵,T′表示矩阵T的转置。在得到变换矩阵T之后,再对其进行转置,以得到T′。
[0069] 由此,可利用公式X=TYT′进行逆向变换处理。
[0070] 现参考图4描述根据本发明的正向变换装置的实施例。
[0071] 如图4所示,如图3所示,根据本发明的逆向六角变换装置包括输入装置810。输入装置810配置为接收存储逆向变换的输入数据。
[0072] 所述逆向六角变换装置还包括逆向六角变换系数获取装置860,获取装置860配置为获取逆向六角变换矩阵的系数。获取装置860可以通过上述计算得到变换矩阵的系数,或者从外部单元获取并存储于其中。
[0073] 所述逆向六角变换装置还包括逆向六角变换装置830,其配置为根据所述获取装置所获取的变换矩阵系数对所述输入数据块进行逆向变换处理。本实施例中,逆向六角变换装置830算术逻辑单元,从而可以用乘法、加法和移位运算实现正向变换处理。
[0074] 所述逆向六角变换装置还包括输出装置840。输出装置840输出逆向六角变换后的数据。优选实施例中,输出装置80可首先存储变换后的数据,再进行输出。
[0075] 输入装置810与逆向变换装置830之间通过数据总线连接,以传输所述输入数据。逆向变换系数获取装置860与逆向变换装置830之间通过数据总线连接,以传输所述逆向变换矩阵系数。逆向变换装置830与输出装置840之间通过总线连接,以传输所述经逆向变换后的数据。
[0076] 现参考图5描述根据本发明的应用于图像或视频的编码方法。所述编码方法包括如下步骤:
[0077] (1)将输入图像分割成16×16的宏块,并对I帧图像进行帧内像素预测和补偿处理,对P帧图像进行帧间运动估计及运动补偿处理;
[0078] (2)对输入预测差值数据进行正向变换处理;
[0079] (3)对变换系数进行量化及熵编码处理,并将编码输出;
[0080] (4)对所述编码码流进行熵解码,并对所述变换系数进行逆量化处理;
[0081] (5)对经逆量化的变换系数进行反向变换处理;
[0082] (6)对经逆变换处理后的图像数据进行帧内像素补偿或帧间运动补偿,并将解码后的图像输出。
[0083] 其中,步骤(2)中的正向变换处理采用如权利要求1所述的方法;且步骤(5)中的反向变换处理采用如权利要求5所述的方法。
[0084] 现参考图6描述13根据本发明的应用于图像或视频的编码装置。所述编码装置包括:输入模块,其将输入图像分割成16×16的宏块,并对I帧图像进行帧内像素预测和补偿处理,对P帧图像进行帧间运动估计及运动补偿处理;正向变换模块,其对输入预测差值数据进行正向变换处理;量化模块,其对变换系数进行量化;反量化模块,其对所述变换系数进行反量化;反向变换模块,其对经逆量化的变换系数进行反向变换处理;控制模块,其编码码流进行熵编码以及熵解码,并对经逆变换处理后的图像数据进行帧内像素补偿或帧间运动补偿;输出模块,其将经补偿和解码后的图像输出。
[0085] 本实施例中,所述正向变换模块为前述正向六角变换装置,并且所述反向变换模块为前述逆向六角变换装置。
[0086] 这些模块之间以总线相连以传输数据。输入装置A和输出装置F一般由存储器如DRAM、SRAM、闪存、ROM或EEPROM中的一种或几种构成。输入模块用于接收图像的差分信号,并在控制器作用下把这些信号传送给正向变换模块。本领域的技术人员应理解,输入模块还可接收来自视频编码器的视频差分信号。
[0087] 正向变换模块、量化模块、反量化模块、反向变换模块都由包含加法器、移位器和乘法器的运算单元组成,它们在执行本发明所述算法时会与输入模块或输出模块的存储单元有数据存入和取出的操作。正向变换模块用于对输入数据执行本发明所述的正向整数变换。然后把频域数据传送给量化模块。量化模块根据本发明所描述的量化方法对频域数据实施量化操作并把结果传送给反量化模块。反量化模块对数据进行反量化并把结果传送给反变换模块。反变换模块对输入数据执行本发明所描述的反向整数变换并把结果传送给输出模块。
[0088] 上述装置可以是软件方式实现。但定制集成电路、FPGA或者其他可配置处理器等都可以是本发明的实现载体。
[0089] 为了方便起见,这些操作被描述成不同的互连功能单元或者互连的软件模块。但这并不是必要的。在一些应用中,这些模块或者功能单元被集成到单一的逻辑器件、程序或操作中,而没有明显的界限。在任何情况下,这些功能单元或模块或描述的特征可以单一实现,或与其他模块或功能单元共同实现。
[0090] 本发明具有如下优点。
[0091] 由变换矩阵T可以看出,它的第一列中的系数并不相等,而是中间大,两边小,其效果是增加了数据块中心附近数据的权重,从而提高了压缩的效率。相反,DCT的变换矩阵的第一列系数是相等的,其效果是对数据块的所有数据取相等的权重,从而不能适应数据块统计规律的变化。通过选取不同的角度,可以调整数据块不同位置数据的权重,从而达到更好的效果。