首页> 中国专利> 视频编码的整数变换矩阵选择方法及相关的整数变换方法

视频编码的整数变换矩阵选择方法及相关的整数变换方法

摘要

本发明属于图象处理技术,特别涉及视频编解码器中图像数据压缩的整数变换,针对当前我国将要制定的第一个音视频编码标准(AVS)采用8乘8整数类DCT变换,提出了一种整数变换的变换基选择方法,综合评价变换基的去相关效率和能量集中率两项指标及变换基变换动态范围和计算复杂度,并通过此方法提出两组性能优异的8乘8整数变换基(5,6,4,1)和(4,5,3,1),并得到基于这两组基的整数变换快速算法。

著录项

  • 公开/公告号CN1564602A

    专利类型发明专利

  • 公开/公告日2005-01-12

    原文格式PDF

  • 申请/专利权人 华中科技大学;

    申请/专利号CN200410012857.1

  • 申请日2004-03-18

  • 分类号H04N7/24;

  • 代理机构42201 华中科技大学专利中心;

  • 代理人方放

  • 地址 430074 湖北省武汉市洪山区珞喻路1037号

  • 入库时间 2023-12-17 15:47:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-05-06

    未缴年费专利权终止 IPC(主分类):H04N7/30 授权公告日:20081112 终止日期:20140318 申请日:20040318

    专利权的终止

  • 2008-11-12

    授权

    授权

  • 2005-03-09

    实质审查的生效

    实质审查的生效

  • 2005-01-12

    公开

    公开

说明书

技术领域

本发明属于图象处理技术,特别涉及视频编解码器中图像数据压缩的整数变换。主要包括整数变换的变换基(变换矩阵)的选择方法和基于选定变换基的块变换的实现方法。

背景技术

现有的国际视频标准如H.264、运动图象专家组MPEG-4中,视频信号被按层次划分为序列、帧、条带、宏块、块;最小的处理单元为块。在编码端,通过帧内预测或帧间预测,得到块的预测残差并作块变换,将能量集中到少数几个系数中;再通过量化、扫描、游程编码和熵编码,将图像数据压缩并写入编码码流。在解码端则过程相反,从码流中提取出熵编码的块变换系数,通过反量化和反变换,恢复出块的预测残差,结合预测信息,最终恢复出块的视频数据。在编解码流程中,变换模块是视频压缩的基础,变换性能直接影响编解码器的综合性能。

早期的国际标准如MPEG-1、H.261采用离散余弦变换DCT。DCT自从1974年提出后,在图像和视频编码领域得到了广泛的应用,其变换性能在所有次优变换中非常显著,能极大地去除图像元素在变换域中的相关性,为高效率的图像压缩奠定了基础。但由于DCT的变换矩阵是用浮点数表示,浮点运算量较大,占用较多系统资源。为了提高变换效率,又发展出用定点计算或者较大的整型变换逼近浮点运算DCT,由于存在精度误差,即使没有经过量化,反变换后也不能完全恢复图像数据,也就是编码的可逆性不强。整数变换的产生,同时解决了计算精度和编码效率的问题,其特点是用整数变换矩阵代替DCT的浮点数变换矩阵,这样变换过程完全是整数运算,不存在精度误差,保证了编码的可逆性;同时整数乘法可用加减法和位移代替,因此变换过程可以完全通过加减法和位移实现,运算量大幅度降低。最新的国际标准H.264/MPEG-4 Part 10就采用整数变换,并取得了非常好的变换效果。近年来,在图像和视频处理领域有不少针对整数变换的研究,已有的关于整数变换的国外专利主要有:

1.U.S.Patent No.5999957A“Lossless Transform System For Digital Signals”;该专利通过对DCT变换矩阵的每一行乘以固定数值,再取整近似,将变换矩阵系数变为整数以实现可逆变换。该变换矩阵推导过程没有考虑变换的正交性,不能保证整数变换是正交变换,从而影响到变换性能。而且量化过程有多次乘除法,计算复杂。快速变换算法中有多次乘法,影响变换效率。

2.WO 01/08001A1“Integer Cosine Transform Using Integer Operations”;

3.U.S.Patent No.20020111979A1“Integer Transform Matrix For PictureCoding”;该专利给出一种整数变换矩阵变换性能的评价方法,主要通过比较与DCT变换矩阵的近似程度,该方法保证变换的正交性。专利给出了4乘4、8乘8、16乘16三种情况下理论上最好的变换矩阵。该方法也没有考虑计算复杂度对变换性能的影响,而且为了保证每一行或列的矢量范式相同,所选出的变换矩阵的性能并不是最接近DCT的。

4.U.S.Patent No.2003/0093452A1“Video Block Transform”;该专利给出基于H.26L的4乘4块的正交和非正交形式的整数变换、反变换矩阵,宏块直流系数变换矩阵和正交变换对应的量化步长。该专利的变换矩阵尺度与本发明不同,小尺度的变换矩阵不适合高清晰度电视等应用。

8乘8离散余弦可以用以下公式表示:

其中 >>C>>(>0>)>>=>1>/>>2>>,>>>C(w)=1,(w=1,…,7)。用矩阵的形式可以表示为:Y=P0XP0T,其中X为8乘8像素预测残差矩阵,Y为变换后的矩阵。

>>>P>0>>=> > >a> >a> >a> >a> >a> >a> >a> >a> > >b> >d> >e> >g> >->g> >->e> >->d> >->b> > >c> >f> >->f> >->c> >->c> >->f> >f> >c> > >d> >->g> >->b> >->e> >e> >b> >g> >->d> > >a> >->a> >->a> >a> >a> >->a> >->a> >a> > >e> >->b> >g> >d> >->d> >->g> >b> >->e> > >f> >->c> >c> >->f> >->f> >c> >->c> >f> > >g> >->e> >d> >->b> >b> >->d> >e> >->g> > >,>>>

其中 >>a>=>>1>>2>>2>>>>>> >>b>=>>1>2>>cos>>(>>π>16>>)>>>> >>c>=>>1>2>>cos>>(>>>2>π>>16>>)>>>> >>d>=>>1>2>>cos>>(>>>3>π>>16>>)>>>> >>e>=>>1>2>>cos>>(>>>5>π>>16>>)>>>> >>f>=>>1>2>>cos>>(>>>6>π>>16>>)>>>> >>s>=>>1>2>>cos>>(>>>7>π>>16>>)>>>>

根据国际标准H.264对4×4DCT变换的改写过程,可以改写8×8变换如下:从P0的每一行提出一个公共系数,得到向量V8=[a,m,f,m,a,m,f,m],其中m为矩阵P0的偶数行提出的公共系数,m的取值为不大于k4的正数。则变换矩阵改写为:

>>>P>1>>=> > >1> >1> >1> >1> >1> >1> >1> >1> > >k>1> >k>2> >k>3> >k>4> >->k>4> >->k>3> >->k>2> >->k>1> > >k>5> >1> >->1> >->k>5> >->k>5> >->1> >1> >k>5> > >k>2> >->k>4> >->k>1> >->k>3> >k>3> >k>1> >k>4> >->k>2> > >1> >->1> >->1> >1> >1> >->1> >->1> >1> > >k>3> >->k>1> >k>4> >k>2> >->k>2> >->k>4> >k>1> >->k>3> > >1> >->k>5> >k>5> >->1> >->1> >k>5> >->k>5> >1> > >k>4> >->k>3> >k>2> >->k>1> >k>1> >->k>2> >k>3> >->k>4> > >,>>>           k1=b/m           k2=d/m其中           k3=e/m           k4=g/m           k5=c/f令矩阵E8=V8TV8,是8乘8矩阵,则变换进一步改写为:

Y=P1XP1TE8                         (2)

其中表示两个矩阵的叉乘(即相同位置的元素对应相乘)。对于(2)式可以将与矩阵E8的叉乘运算和量化操作放到一起,使变换得到简化。因此变换的重点在于P1XP1T的计算,其中X是8×8的像素预测残差矩阵,为整形数据。如果P1中的变量k1,k2,k3,k4,k5都为整数,则整个变换将全部转化为整数运算。所以下面的工作就需要确定k1,k2,k3,k4,k5等五个参数的选值。本发明通过大量实验证明,当选定k1,k2,k3,k4后,k5取2时的变换性能最好,Cham在他的文章(Development of Integer Cosine Transform by the Principle of DyadicSymmetry.IEE Proceedings,1989,136(4):276-288)也提出了相似的结论。因而本发明将k5固定取值为2,仅研究其余四个参数的选择,并定义(k1,k2,k3,k4)为整数变换的变换基。对应的变换矩阵P为

>>P>=> > >1> >1> >1> >1> >1> >1> >1> >1> > >k>1> >k>2> >k>3> >k>4> >->k>4> >->k>3> >->k>4> >->k>1> > >2> >1> >->1> >->2> >->2> >->1> >1> >2> > >k>2> >->k>4> >->k>1> >->k>3> >k>3> >k>1> >k>4> >->k>2> > >1> >->1> >->1> >1> >1> >->1> >->1> >1> > >k>3> >->k>1> >k>4> >k>2> >->k>2> >->k>4> >k>1> >->k>3> > >1> >->2> >2> >->1> >->1> >2> >->2> >1> > >k>4> >->k>3> >k>2> >->k>1> >k>1> >->k>2> >k>3> >->k>4> > >>>

发明内容

本发明提出了一种视频编码的整数变换矩阵选择方法及相关的整数变换方法,针对当前我国将要制定的第一个音视频编码标准(AVS)采用8乘8整数类DCT变换,提出了一种整数变换的变换基选择方法,综合评价变换基的去相关效率和能量集中率两项指标及变换基变换动态范围和计算复杂度,并通过此方法提出两组性能优异的8乘8整数变换基(5,6,4,1)和(4,5,3,1),并得到基于这两组基的整数变换快速算法。

变换基的选择主要基于以下几项原则:

原则1:变换正交性。正交变换的特性保证变换仅仅是对坐标系的旋转,而图像的能量维持不变。为了保证变换的正交性,公式(2)中的P必须满足下式条件:

P·PT=Diag                            (3)

其中Diag为对角阵,即其非主对角线元素为零。量化过程再通过调整量化矩阵,使变换满足正交性。

原则2:能量集中性。DCT交换的目的在于去除元素之间的相关性,使变换后的能量尽可能集中在少数系数上,以便提高量化后熵编码的压缩效率。整数变换基的选择同样也需要遵循这一原则。

原则3:快速变换算法简单性。要求变换基数值不能太大,快速算法的计算次数尽可能少。

本发明的一种视频编码的整数变换矩阵选择方法,依次包括如下步骤:

(1)首先搜索在一定范围内满足正交条件的所有整数变换基,对于8乘8整数变换矩阵P,定义变换基为(k1,k2,k3,k4),

>>P>=> > >1> >1> >1> >1> >1> >1> >1> >1> > >k>1> >k>2> >k>3> >k>4> >->k>4> >->k>3> >->k>2> >->k>1> > >2> >1> >->1> >->2> >->2> >->1> >1> >2> > >k>2> >->k>4> >->k>1> >->k>3> >k>3> >k>1> >k>4> >->k>2> > >1> >->1> >->1> >1> >1> >->1> >->1> >1> > >k>3> >->k>1> >k>4> >k>2> >->k>2> >->k>4> >k>1> >->k>3> > >1> >->2> >2> >->1> >->1> >2> >->2> >1> > >k>4> >->k>3> >k>2> >->k>1> >k>1> >->k>2> >k>3> >->k>4> > >>>

变换基系数k1、k2、k3、k4的取值范围为k1、k2、k3∈[1,10],k4∈[1,4],得到所有满足P·PT=Diag的整数正交变换基;

(2)建立输入图像残差数据在互相关系数ρ取0.75、0.8、0.85、0.9、0.95时的协方差矩阵COV(Xv),

设长度为8的图像残差数据一维向量为Xv=[x1,x2,...x8],由一阶马尔科夫模型建立Xv元素的协方差矩阵COV(Xv),COV(Xv)(i,j)=ρ|i-j|(0≤i,j≤7),其中ρ为Xv相邻元素的互相关系数(ρ≤1),

(3)通过变换基对应的变换矩阵P,得到变换域的协方差矩阵COV(Yv),

变换基(k1,k2,k3,k4)对应的变换矩阵P,归一化,即P每一行元素除以该行向量的长度,得到正交矩阵Pu。对Xv作正交变换Yv=PuXv,Yv的协方差矩阵为:

COV(Yv)=Pu·COV(Xv)·PuT                  (4)

(4)通过(2)、(3)计算各组变换基在互相关系数ρ取0.75、0.8、0.85、0.9、0.95时的能量集中率ηE值和去相关效率ηC值,

定义能量集中率ηE为:

>>>η>E>>=>>1>>>>Π>>i>=>l>>8>>COV>>(>>Y>v>>>>)>>(>i>,>j>)>>>>8>>>->->->>(>5>)>>>>

去相关效率ηc为:

>>>η>c>>=>1>->>>>Σ>>j>≠>k> >|>COV>>(>>Y>v>>>)>>(>j>,>k>)>>>>|>>>>Σ>>j>≠>k> >|>COV>>>(>>X>v>>)>>>(>j>,>k>)>>>|>>>->->->>(>6>)>>>>

(5)计算各个变换基在指定的互相关系数ρ下的能量集中率ηE值和去相关效率ηC归一化的结果,同一个ρ下,第i个变换基能量集中率ηE的归一化结果为:

>>>Eval>>E>(>i>)>>>=>>>>η>>E>(>i>)>>>->Min>>(>>η>>E>(>j>)>>>)>>>>Max>(>>η>>E>(>j>)>>>)>->Min>>(>>η>>E>(>j>)>>>)>>>>->->->>(>7>)>>>>

第i个变换基去相关效率ηC的归一化结果为:

>>>Eval>>c>(>i>)>>>=>>>>η>>c>(>i>)>>>->Min>>(>>η>>c>(>j>)>>>)>>>>Max>>(>>η>>c>(>j>)>>>)>>->Min>>(>>η>>c>(>j>)>>>)>>>>->->->>(>8>)>>>>

(6)通过加权求和,得到每组基在各个互相关系数ρ下能量集中率ηE值、去相关效率ηC综合的评价结果EvalE、、、EvalC,5点ρ对应的权重分别为1/15、2/15、3/15、4/15、5/15;

(7)通过对EvalC和EvalE这两项指标加权求和,得到变换基性能的综合评价值Eval,EvalC和EvalE对应的权重分别为0.4、0.6。

所述的视频编码的整数变换矩阵选择方法,其进一步特征在于得到变换基性能的综合评价值Eval后,增加对变换基(k1,k2,k3,k4)的计算复杂度的评价步骤:首先选择综合评价值Eval较高的变换基;如果Eval差距小于0.02,在实时性要求较高的应用中优先考虑计算复杂度有明显优势即加减法和位移次数少的变换基。

本发明的一种视频编码的整数变换方法,在编码端,通过帧内预测或帧间预测,得到块的预测残差并作块变换,将能量集中到少数几个系数中;再通过量化、扫描、游程编码和熵编码,将图像数据压缩并写入编码码流;在解码端则从码流中提取出熵编码的块变换系数,通过反量化和反变换,恢复出块的预测残差,结合预测信息,恢复出块的视频数据;其特征在于:

(1)视频编码中8乘8整数变换采用的变换矩阵P由前述视频编码的整数变换矩阵选择方法得到,如下式:

>>P>=> > >1> >1> >1> >1> >1> >1> >1> >1> > >5> >6> >4> >1> >->1> >->4> >->6> >->5> > >2> >1> >->1> >->2> >->2> >->1> >1> >2> > >6> >->1> >->5> >->4> >4> >5> >1> >->6> > >1> >->1> >->1> >1> >1> >->1> >->1> >1> > >4> >->5> >1> >6> >->6> >->1> >5> >->4> > >1> >->2> >2> >->1> >->1> >2> >->2> >1> > >1> >->4> >6> >->5> >5> >->6> >4> >->1> > >>>

相应的整数变换基为(5,6,4,1);

(2)正变换,对8乘8的图像残差数据块做整数变换,形如Y=PXPT,变换的基本单元是形如y=Px的8点一维变换,其中x=[x0,x1,x2,x3,x4,x5,x6,x7]T,输出的y=[y0,y1,y2,y3,y4,y5,y6,y7]T,计算过程如下:

A.a0=x0-x7,a1=x1-x6,a2=x2-x5,a3=x3-x4,a4=x0+x7,a5=x1+x6,a6=x2+x5,a7=x3+x4;

B.b0=a4+a7,b1=a5+a6,b2=a4-a7,b3=a5-a6;

C.y0=b0+b1,y4=b0-b1,y2=b2<<1+b3,y6=b2-b3<<1;

再完成相当计算下式的计算步骤:

>> > >y>1> > >y>3> > >y>5> > >y>7> > >=> > >k>1> >k>2> >k>3> >k>4> > >k>2> >->k>4> >->k>1> >->k>3> > >k>3> >->k>1> >k>4> >k>2> > >k>4> >->k>3> >k>2> >->k>1> > >=> > >a>0> > >a>1> > >a>2> > >a>3> > >,>>>

D.c0=a0<<2+a0+a3;c1=a2-a1-a1<<2;c2=a1+a2+a2<<2;c3=a3<<2+a3-a0;

E.y1=c0-c1+c2;y3=c0-c2-c3;y5=c0+c1+c3;y7=c1+c2-c3;

(3)反变换,令一维变换基本单元为x=PTy。其中y=[y0,y1,y2,y3,y4,y5,y6,y7]T,x=[x0,x1,x2,x3,x4,x5,x6,x7]T.一维反变换为:

A.m0=y0+y4;m1=y0-y4;m2=y2<<1+y6;m3=y2-y6<<1;

B.b0=m0+m2;b1=m1+m3;b2=m1-m3;b3=m0-m2;

C.计算下式的4乘4矩阵乘法:

>> > >a>0> > >a>1> > >a>2> > >a>3> > >=> > >k>1> >k>2> >k>3> >k>4> > >k>2> >->k>4> >->k>1> >->k>3> > >k>3> >->k>1> >k>4> >k>2> > >k>4> >->k>3> >k>2> >->k>1> > > > >y>1> > >y>3> > >y>5> > >y>7> > >>>

计算过程与正变换的4乘4矩阵乘法完全相同,只是输入输出数据向量交换;

D.x0=a0+b0;x1=a1+b1;x2=a2+b2;x3=a3+b3;

  x7=-a0+b0;x6=-a1+b1;x5=-a2+b2;x4=-a3+b3;

其中“<<”表示向左位移运算,其优先级高于加减法,“a<<b”表示a向左位移b位。

本发明的又一种视频编码的整数变换方法,在编码端,通过帧内预测或帧间预测,得到块的预测残差并作块变换,将能量集中到少数几个系数中;再通过量化、扫描、游程编码和熵编码,将图像数据压缩并写入编码码流;在解码端则从码流中提取出熵编码的块变换系数,通过反量化和反变换,恢复出块的预测残差,结合预测信息,恢复出块的视频数据;其特征在于:

(1)视频编码中8乘8整数变换采用的变换矩阵P由前述视频编码的整数变换矩阵选择方法得到,也可以如下式:

> > >1> >1> >1> >1> >1> >1> >1> >1> > >4> >5> >3> >1> >->1> >->3> >->5> >->4> > >2> >1> >->1> >->2> >->2> >->1> >1> >2> > >5> >->1> >->4> >->3> >3> >4> >1> >->5> > >1> >->1> >->1> >1> >1> >->1> >->1> >1> > >3> >->4> >1> >5> >->5> >->1> >4> >->3> > >1> >->2> >2> >->1> >->1> >2> >->2> >1> > >1> >->3> >5> >->4> >4> >->5> >3> >->1> > >>

相应的整数变换基为(4,5,3,1);

(2)正变换,对8乘8的图像残差数据块做整数变换,形如Y=PXPT,变换的基本单元是形如y=Px的8点一维变换,其中x=[x0,x1,x2,x3,x4,x5,x6,x7]T,输出的y=[y0,y1,y2,y3,y4,y5,y6,y7]T。计算过程如下:

A.a0=x0-x7,a1=x1-x6,a2=x2-x5,a3=x3-x4,a4=x0+x7,a5=x1+x6,a6=x2+x5,

a7=x3+x4;

B.b0=a4+a7,b1=a5+a6,b2=a4-a7,b3=a5-a6;

C.y0=b0+b1,y4=b0-b1,y2=b2<<1+b3,y6=b2-b3<<1;

再完成相当计算下式的计算步骤:

>> > >y>1> > >y>3> > >y>5> > >y>7> > >=> > >k>1> >k>2> >k>3> >k>4> > >k>2> >->k>4> >->k>1> >->k>3> > >k>3> >->k>1> >k>4> >k>2> > >k>4> >->k>3> >k>2> >->k>1> > > > >a>0> > >a>1> > >a>2> > >a>3> > >,>>>

D.c0=a0<<2+a3;c1=a2-a1<<2;c2=a1+a2<<2;c3=a3<<2-a0;

E.y1=c0-c1+c2;y3=c0-c2-c3;y5=c0+c1+c3;y7=c1+c2-c3;

(3)反变换:

令一维变换基本单元为x=PTy。其中y=[y0,y1,y2,y3,y4,y5,y6,y7]T

x=[x0,x1,x2,x3,x4,x5,x6,x7]T.一维反变换为:

A.m0=y0+y4;m1=y0-y4;m2=y2<<1+y6;m3=y2-y6<<1;

B.b0=m0+m2;b1=m1+m3;b2=m1-m3;b3=m0-m2;

C.计算下式的4乘4矩阵乘法:

>> > >a>0> > >a>1> > >a>2> > >a>3> > >=> > >k>1> >k>2> >k>3> >k>4> > >k>2> >->k>4> >->k>1> >->k>3> > >k>3> >->k>1> >k>4> >k>2> > >k>4> >->k>3> >k>2> >->k>1> > > > >y>1> > >y>3> > >y>5> > >y>7> > >>>

快速算法的计算过程与正变换的4乘4矩阵乘法完全相同,只是输入输出数据向量交换;

D.x0=a0+b0;x1=a1+b1;x2=a2+b2;x3=a3+b3;

  x7=-a0+b0;x6=-a1+b1;x5=-a2+b2;x4=-a3+b3;

其中“<<”表示向左位移运算,其优先级高于加减法,“a<<b”表示a向左位移b位。

本发明提出了一种整数变换基性能的综合评价方法,并依据这一方法筛选出几组性能较好的变换基,并给出两组变换基的快速变换方法。高清晰度视频测试序列的实测结果证明本法明优选的几组变换基的性能优于JVT的ABT 8乘8变换,其中(10,9,6,2)的变换性能最好,(4,5,3,1)的计算复杂度最低,(5,6,4,1)的性能介于两者之间。相对于ABT 8乘8变换,这3组基在变换性能和计算复杂度等两方面都具有一定优势。所选变换基的实测性能也验证了本发明变换基选择方法的准确性和可行性,该方法不仅仅适用于整数变换矩阵,还可用于对各类变换矩阵的性能评估,对于变换矩阵的选择具有很强的指导意义。

说明书附图

图1:变换基评价流程框图。

图2:变换基(5,6,4,1)正变换快速算法。

图3:变换基(5,6,4,1)反变换快速算法。

图4:变换基(4,5,3,1)正变换快速算法。

图5:变换基(4,5,3,1)反变换快速算法。

具体实施方式

(一)变换基的选择

变换基的评价流程如图1所示。

各类图像残差数据的互相关系数ρ主要分布在0.75~0.95之间,通过计算ρ为0.75、0.8、0.85、0.9、0.95五点的每个变换基对应的能量集中率ηE,再将同一ρ下各个基的ηE归一化。对同一变换基在不同互相关系数ρ下ηE归一化结果加权求和,得到该组基能量集中率的综合评价值EvalE,其中权重是根据不同ρ的概率大小决定。本发明中取五点ρ对应的权重依次为1/15、2/15、3/15、4/15、5/15。同理得到变换基的去相关效率ηc的综合评价结果EvalC

最后通过对EvalE和EvalC加权求和得到变换基能量集中率和去相关效率的综合评价值Eval。考虑到能量集中率直接影响变换后的压缩性能,权重略大,本发明中定义能量集中率和去相关效率评价值的权重分别为:0.6、0.4。

当综合评价值Eval接近时,计算复杂度低的变换基的性能更好。

下表中列出了变换基的取值范围为k1、k2、k3∈[1,10],k4∈[1,4]时,5组基的ηE和ηc综合评价值、完成一次一维8点变换所需要的加法和位移次数(正反变换的远算次数相同)。

k1、k2、k3、 ηE和ηc综合

                          加法次数+/-位移次数<<

k4             评价值

10,9,6,2    0.9859     36                 10

5,6,4,1     0.8579     32                 6

6,6,3,2     0.8441     36                 10

6,7,5,1     0.8409     32                 10

4,5,3,1     0.8249     28                 6

(10,9,6,2)和(6,6,3,2)在有关文献中已被提出。(5,6,4,1)的去相关效率和能量集中率的综合评价值仅次于(10,9,6,2),而且计算复杂度较小,(4,5,3,1)的综合评价值略低于(6,6,3,2),但计算复杂度优势最明显。实际的视频序列测试结果表明(5,6,4,1)、(4,5,3,1)、(6,7,5,1)的率失真性能优于(6,6,3,2),与(10,9,6,2)很接近。(二)8×8整数变换快速算法的实现

图2-图5中x0、x1、x2、x3、x4、x5、x6、x7表示整数变换的一维正变换的输入八点数值,同时是反变换的八点输出数值;y0、y1、y2、y3、y4、y5、y6、y7为正变换的八点输出数值,同时是反变换的八点输出数值。数据处理方向从左向右,相交于一圆点的两线表示两数据相加,三线表示三个数据相加。方形表示数据乘一个系数,其中“-”表示取负值,“2”表示乘2,即左移一位,“4”表示乘4,即左移两位。

1.正变换

对8x8的图像残差数据块做整数变换,变换的基本单元是形如y=Px的8点一维变换,设x=[x0,x1,x2,x3,x4,x5,x6,x7]T,输出的y=[y0,y1,y2,y3,y4,y5,y6,y7]T。计算过程如下:

首先计算用各个不同变换矩阵P作变换时,相同的计算步骤:

(1)a0=x0-x7,a1=x1-x6,a2=x2-x5,a3=x3-x4,a4=x0+x7,a5=x1+x6,a6=x2+x5,a7=x3+x4;

(2)b0=a4+a7,b1=a5+a6,b2=a4-a7,b3=a5-a6;

(3)y0=b0+b1,y4=b0-b1,y2=b2<<1+b3,y6=b2-b3<<1;

相同部分计算需要加减法16次,位移2次。

再计算不同的计算步骤,该部分相当于计算下式:

>> > >y>1> > >y>3> > >y>5> > >y>7> > >=> > >k>1> >k>2> >k>3> >k>4> > >k>2> >->k>4> >->k>1> >->k>3> > >k>3> >->k>1> >k>4> >k>2> > >k>4> >->k>3> >k>2> >->k>1> > > > >a>0> > >a>1> > >a>2> > >a>3> > >,>>>

对于变换基(5,6,4,1)计算步骤为:

(1)c0=a0<<2+a0+a3;c1=a2-a1-a1<<2;c2=a1+a2+a2<<2;c3=a3<<2+a3-a0;

(2)y1=c0-c1+c2;y3=c0-c2-c3;y5=c0+c1+c3;y7=c1+c2-c3;

共需要16次加减法和4次位移。

对于变换基(4,5,3,1)计算步骤为:

(1)c0=a0<<2+a3;c1=a2-a1<<2;c2=a1+a2<<2;c3=a3<<2-a0;

(2)y1=c0-c1+c2;y3=c0-c2-c3;y5=c0+c1+c3;y7=c1+c2-c3;

共需要12次加减法和4次位移。

因此对于变换基(5,6,4,1)完成一次y=Px运算,共用32次加减法和6次位移;变换基(4,5,3,1)共用28次加减法和6次位移。完成一次8×8块的整数变换的运算量是上述单元计算量的16倍。(5,6,4,1)正变换的快速算法如图2所示,(4,5,3,1)正变换的快速算法如图4所示。

2.反变换

令一维变换基本单元为x=PTy。

其中y=[y0,y1,y2,y3,y4,y5,y6,y7]T,x=[x0,x1,x2,x3,x4,x5,x6,x7]T.下述过程为一次x=PTy运算。

(1)m0=y0+y4;m1=y0-y4;m2=y2<<1+y6;m3=y2-y6<<1;

(2)b0=m0+m2;b1=m1+m3;b2=m1-m3;b3=m0-m2;

(3)计算下式的4乘4矩阵乘法:

>> > >a>0> > >a>1> > >a>2> > >a>3> > >=> > >k>1> >k>2> >k>3> >k>4> > >k>2> >->k>4> >->k>1> >->k>3> > >k>3> >->k>1> >k>4> >k>2> > >k>4> >->k>3> >k>2> >->k>1> > > > >y>1> > >y>3> > >y>5> > >y>7> > >>>

计算式和正变换中4×4矩阵乘法完全相同,算法一样,只是输入输出数据向量交换。计算量相同。对于变换基(5,6,4,1)需要16次加减法和4次位移;

对于变换基(4,5,3,1)需要12次加减法和4次位移。

(4)x0=a0+b0;x1=a1+b1;x2=a2+b2;x3=a3+b3;

   x7=-a0+b0;x6=-a1+b1;x5=-a2+b2;x4=-a3+b3;

其中“<<”表示向左位移运算,其优先级高于加减法,“a<<b”表示a向左位移b位,不同变换基公共部分计算量为:加减法16次,位移2次。因此对于变换基(5,6,4,1)完成一次x=PTy运算,共用32次加减法和6次位移;变换基(4,5,3,1)共用28次加减法和6次位移。(5,6,4,1)反变换的快速算法如图3所示,(4,5,3,1)反变换的快速算法如图5所示。完成一次8乘8块的整数变换反变换的运算量是上述单元计算量的16倍。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号