一种视频编码4x4整数变换方法技术

技术编号:7084012 阅读:237 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开一种视频编码4x4整数变换方法,通过接收编码器中预测模块输出的4x4的图像残差数据X,选取不同整数变换基[1,9,4]、[1,7,3]、[1,8,3]中的一个构建变换矩阵P;根据变换矩阵P,构建缩放矩阵PF=ZT*Z;根据Y=PXPT对图像残差数据X进行正变换,并根据不同的整数变化基,采用相应的整数变换计算方法;对经过4x4正变换后的数据Y进行缩放处理。本发明专利技术的变换方法能量集中性能优秀,能量集中度接近4x4DCT,可以极大地消除视频数据在变换空间上的相关性;计算复杂度低,可通过加法和移位来实现,易于硬件实现,并且运算精度高,不存在正反变换不匹配的问题。

【技术实现步骤摘要】
一种视频编码4x4整数变换方法
本专利技术涉及视频编码
,尤其涉及一种视频编码4x4整数变换方法。
技术介绍
一套完整的视频编码系统是由预测、变换、量化、熵编码等一系列算法模块组成的。其中帧内帧间预测是利用视频数据在空间和时间上的相关性压缩数据。变换模块是将预测模块输出的图像残差数据由时域变换到另一个空间上,使时域上平坦分布的数据在变换空间上能量集中,将数据的能量大部分集中在空间的低频区域中。在随后的量化和熵编码模块中,会有效的利用变换后的数据分布特征,进一步压缩数据。显而易见,变换模块是视频编码系统中重要的组成部分,变换的性能直接影响视频编码系统的性能。在现有视频编码系统中,DCT变换(离散余弦变换:DiscreteCosineTransform)得到了广泛的应用,其变换的能量集中性很好,可以极大地消除视频数据在变换空间上的相关性。但是这种算法存在不足,DCT变换矩阵是浮点表示的,计算过程中使用大量的浮点乘法和加法,占用硬件资源多,计算复杂的大。同时由于处理器运算位数影响,浮点运算存在截断误差,浮点计算精度不高,DCT正反变换不能完全匹配,变换不可逆。
技术实现思路
本专利技术实施例的目的在于提出一种视频编码4x4整数变换方法,旨在解决现有技术DCT变换矩阵采用浮点乘法和加法,占用硬件资源多,计算复杂的大,计算精度不高,DCT正反变换不能完全匹配,变换不可逆的问题。本专利技术实施例的方法是这样实现的,一种视频编码4x4整数变换方法,包括接收编码器中预测模块输出的4x4的图像残差数据X;选取整数变换基,构建变换矩阵P,4x4的通用整数变换矩阵为:矩阵C中,整数变换基为[k0k1k2];正变换,对4x4的图像残差数据X进行整数变换,变换公式为Y=PXPT;其中P为所述的变换矩阵;X为所述的图像残差数据;所述整数变换基为以下数值中的一个:[1,9,4],[1,7,3],[1,8,3]。进一步地,所述步骤“选取整数变换基,构建变换矩阵P”之后还可以包括步骤:根据变换矩阵P,构建缩放矩阵PF,PF=ZT*Z其中,ZT=[1/||m1||1/||m2||1/||m3||1/||m4||];Z为mi为变换矩阵P的行向量,i取值为1-4;||mi||为行向量mi的向量范数;进一步地,所述步骤“正变换,对4x4的图像残差数据X进行整数变换,变换公式为Y=PXPT”之后还可以包括步骤:对经过4x4正变换后的数据Y进行缩放处理,是矩阵的点乘运算,Y是经过4x4正变换后的数据,PF是缩放矩阵,Y′是本缩放处理后的输出值,代表视频数据变换到频域上的信息。其中,所述正变换中变换的基本单元是y=Px的4点一维变换,其中x=[x1x2x3x4]T,输出的y=[y1y2y3y4]T,x1x2x3x4表示正变换的输入四点数值;y1y2y3y4为正变换的四点输出数值;当所述整数变换基取值为[1,9,4]时:所述变换矩阵ZT=[0.5,0.071796,0.5,0.071796]“对4x4的图像残差数据X进行整数变换,变换公式为Y=PXPT”计算过程如下:b1=x1+x4;b2=x2+x3;b3=x2-x3;b4=x1-x4;y1=b1+b2;y3=b1-b2;y2=b4<<3+b4+b3<<2;y4=-b3<<3-b3+b4<<2;其中“<<”表示向左移位运算,优先级高于加减法,基本单元y=Px共需要10个加法和4个移位。当所述整数变换基取值为[1,7,3]时:所述变换矩阵ZT=[0.5,0.0928480.5,0.092848]“对4x4的图像残差数据X进行整数变换,变换公式为Y=PXPT”计算过程如下:b1=x1+x4;b2=x2+x3;b3=x2-x3;b4=x1-x4;y1=b1+b2;y3=b1-b2;Y2=b4<<3-b4+b3<<2-b3;Y4=-b3<<3+b3+b4<<2-b4;其中“<<”表示向左移位运算,优先级高于加减法,基本单元y=Px共需要12个加法和4个移位。当所述整数变换基取值为[1,8,3]时:所述变换矩阵ZT=[0.5,0.082761,0.5,0.082761]缩放矩阵“对4x4的图像残差数据X进行整数变换,变换公式为Y=PXPT”计算过程如下:b1=x1+x4;b2=x2+x3;b3=x2-x3;b4=x1-x4;y1=b1+b2;y3=b1-b2;Y2=b4*8+4*b3-b3;Y4=-b3*8+4*b4-b4;“<<”表示向左移位运算,优先级高于加减法,基本单元y=Px共需要10个加法和4个移位。本专利技术的有益效果:本专利技术实施例提出的三组的4x4的整数变换矩阵,并且给出了变换的快速算法,本专利技术实施例的变换方法能量集中性能优秀,能量集中度接近4x4DCT,可以极大地消除视频数据在变换空间上的相关性。计算复杂度低,可通过加法和移位来实现,易于硬件实现,并且运算精度高,不存在正反变换不匹配的问题。附图说明图1是本专利技术的视频编码4x4整数变换方法的优选实施例的方法流程图;图2是本专利技术的视频编码4x4整数变换方法的优选实施例的当整数变换基选取[1,9,4]时相应的整数变换计算方法示意图;图3是图2中整数变换计算方法示意图中的计算模块M1的计算方法图;图4是本专利技术的视频编码4x4整数变换方法的优选实施例的当整数变换基选取[1,7,3]时相应的整数变换计算方法示意图;图5是图4中整数变换计算方法示意图中的计算模块M2的计算方法图;图6是本专利技术的视频编码4x4整数变换方法的优选实施例的当整数变换基选取[1,8,3]时相应的整数变换计算方法示意图;图7是图6中整数变换计算方法示意图中的计算模块M3的计算方法图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对本专利技术进行进一步详细说明,为了便于说明,仅示出了与本专利技术实施例相关的部分。应当理解,此处所描写的具体实施例,仅仅用于解释本专利技术,并不用以限制本专利技术。本专利技术通过接收编码器中预测模块输出的4x4的图像残差数据X,选取不同整数变换基;对图像残差数据X进行正变换(Y=PXPT),并根据不同的整数变化基,采用相应的整数变换计算方法;构建变换矩阵P,根据变换矩阵P,构建缩放矩阵PF(PF=ZT*Z);对经过4x4正变换后的数据Y进行缩放处理。实施例一如图1所示为本专利技术实施例1一种视频编码4x4整数变换方法,所述方法包括以下步骤:S101,接收编码器中预测模块输出的4x4的图像残差数据X;S102,选取整数变换基,构建变换矩阵P;4x4的通用整数变换矩阵为:矩阵C中,整数变换基为[k0k1k1];本专利技术实施例中,整数变换基可选取以下数值中的一个:[1,9,4],[1,7,3],[1,8,3]。S103,根据变换矩阵P,构建缩放矩阵PF;PF=ZT*Z其中,ZT=[1/||m1||1/||m2||1/||m3||1/||m4||];Z为mi为变换矩阵P的行向量,i取值为1-4;||mi||为行向量mi的向量范数;S104,正变换,对4x4的图像残差数据X进行整数变换,变换公式为Y=PXPT;其中P为所述的变换矩阵;X为所述的图像残差数据;变换的基本单元是形如y=Px的4点一维变换,其中x=[x1x2x3x4]T,输出的y=[y1y2y3y本文档来自技高网...
一种视频编码4x4整数变换方法

【技术保护点】
1.一种视频编码4x4整数变换方法,包括接收编码器中预测模块输出的4x4的图像残差数据X;选取整数变换基,构建变换矩阵P,4x4的通用整数变换矩阵为:(math)??(mrow)?(mi)C(/mi)?(mo)=(/mo)?(mfencedopen='['close=']')?(mtable)?(mtr)?(mtd)?(mi)k(/mi)?(mn)0(/mn)?(/mtd)?(mtd)?(mi)k(/mi)?(mn)0(/mn)?(/mtd)?(mtd)?(mi)k(/mi)?(mn)0(/mn)?(/mtd)?(mtd)?(mi)k(/mi)?(mn)0(/mn)?(/mtd)?(/mtr)?(mtr)?(mtd)?(mi)k(/mi)?(mn)1(/mn)?(/mtd)?(mtd)?(mi)k(/mi)?(mn)2(/mn)?(/mtd)?(mtd)?(mo)-(/mo)?(mi)k(/mi)?(mn)2(/mn)?(/mtd)?(mtd)?(mo)-(/mo)?(mi)k(/mi)?(mn)1(/mn)?(/mtd)?(/mtr)?(mtr)?(mtd)?(mi)k(/mi)?(mn)0(/mn)?(/mtd)?(mtd)?(mo)-(/mo)?(mi)k(/mi)?(mn)0(/mn)?(/mtd)?(mtd)?(mo)-(/mo)?(mi)k(/mi)?(mn)0(/mn)?(/mtd)?(mtd)?(mi)k(/mi)?(mn)0(/mn)?(/mtd)?(/mtr)?(mtr)?(mtd)?(mi)k(/mi)?(mn)2(/mn)?(/mtd)?(mtd)?(mo)-(/mo)?(mi)k(/mi)?(mn)1(/mn)?(/mtd)?(mtd)?(mi)k(/mi)?(mn)1(/mn)?(/mtd)?(mtd)?(mo)-(/mo)?(mi)k(/mi)?(mn)2(/mn)?(/mtd)?(/mtr)?(/mtable)?(/mfenced)?(/mrow)?(/math)矩阵C中,整数变换基为[k0 k1 k2];正变换,对4x4的图像残差数据X进行整数变换,变换公式为Y=PXPT;其中P为所述的变换矩阵;X为所述的图像残差数据;其特征在于:所述整数变换基为以下数值中的一个:[1,9,4],[1,7,3],[1,8,3]。...

【技术特征摘要】
2011.04.20 CN 201110101404.61.一种视频编码4x4整数变换方法,包括接收编码器中预测模块输出的4x4的图像残差数据X;选取整数变换基,构建变换矩阵P,4x4的通用整数变换矩阵为:矩阵C中,整数变换基为[k0k1k2];正变换,对4x4的图像残差数据X进行整数变换,变换公式为Y=PXPT;其中P为所述的变换矩阵;X为所述的图像残差数据;其特征在于:所述整数变换基为以下数值中的一个:[1,9,4],[1,7,3],[1,8,3];当所述整数变换基取值为[1,9,4]时,“对4x4的图像残差数据X进行整数变换,变换公式为Y=PXPT”计算过程如下:b1=x1+x4;b2=x2+x3;b3=x2-x3;b4=x1-x4;y1=b1+b2;y3=b1-b2;y2=b4<<3+b4+b3<<2;y4=-b3<<3-b3+b4<<2;当所述整数变换基取值为[1,7,3]时,“对4x4的图像残差数据X进行整数变换,变换公式为Y=PXPT”计算过程如下:b1=x1+x4;b2=x2+x3;b3=x2-x3;b4=x1-x4;y1=b1+b2;y3=b1-b2;Y2=b4<<3-b4+b3<<2-b3;Y4=-b3<<3+b3+b4<<2-b4;当所述整数变换基取值为[1,8,3]时,“对4x4的图像残差数据X进行整数变换,变换公式为Y=PXPT”计算过程如下:b1=x1+x4;b2=x2+x3;b3=x2-x3;b4=x1-x4;y1=b1+b2;y3=b1-b2;Y2=b4*8+4*b3-b3;Y4=-b3*8+4*b4-b4;其中“<<”表示向左移位运算,优先级高于加减法。2.如权利要求1所述的视频编码4x4整数变换方法,其特征在于,所述步骤“选取整数变换基,构建变换矩阵P”之后还可以包括步骤:根据变换矩阵P,构建缩放矩阵PF,PF=zT*z其中,zT=[1/||m1...

【专利技术属性】
技术研发人员:徐苏珊
申请(专利权)人:深圳市融创天下科技股份有限公司
类型:发明
国别省市:94

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1