本发明涉及图像处理的方法,具体的讲是自适应的参考图像抉择方法。
背景技术:
视频编码本质上是通过各种算法、策略、工具不断去除视频信号空域和时域冗余的过程。空域冗余的消除通常依靠帧内预测实现,时域冗余的去除则依靠帧间预测实现。在历史发展进程中,许多新技术新方法的提出并应用到视频编码器中,如熵编码,四叉树块分割,帧内预测的多方向模式,帧间预测的双向多参考模式,解码端导出矢量技术等。这些方法的共同目标都是在保障编码质量的同时尽可能少比特数的开销。编码质量通常用峰值信号比(psnr)进行度量,比特数(bits)通常根据视频序列的帧率(framerate,fr)换算成为比特率(bitrate,br)。从专业术语上来讲,信源视频序列是由一幅幅时序相邻的帧所组成。当帧进入编解码器时,整个加工过程中都被称为图像。
视频编码国际标准从h.264/avc到hevc/h.265,国家标准从avs1到avs+再到avs2,已有近二十年的发展历程。最新的国际标准h.266、国家标准avs3制定工作新近启动。二十年以来编码技术的长足进步使得编码结构愈加规范。2002年分层级参考方式(hierarchicalreferencestructure,hrs)的引入,使得编码过程中图像间参考结构日趋稳定。在今天主流的编码配置中,低延迟(lowdelay,ld)和随机访问(randomaccess,ra)都有hrs精神存在,并按照约定的参考结构被固化下来。有迹象表明在即将制定的h.266标准中,可能会取消用户自定义图像间参考调节。这些情况说明多数工程和研究人员都比较认可目前的参考图像管理方式。hrs已经非常成熟,性能表现已经很优异。
与此同时,视频信源内容和画面质量天然差别巨大,用一种先验的参考管理方式来适用所有的情形是不恰当的。运动剧烈的帧序列,其相邻帧之间的时域相关性强,稍远一些的时间距离,其时域相关性骤降。而场景静止,内容简单的帧画面,即使在很长的时间距离上,其时域相关性仍得以保留。
图像间参考过程中时域冗余以运动估值获得“矢量+补偿”为表达。即使考虑到率失真优化技术的优化选择,编码器也始终倾向于选择“矢量+补偿”较小的那些模式用于最终的变换和熵编码。此时,参考图像本身质量的优劣就起着非常重要的作用。这是因为编码器总是倾向去选择“补偿”时候残差最小的块用作参考。为了将图像编码质量提升,比特数的增加是不开避免的开销。一般地,对于确定的一帧,编码时采用的量化参数qp值越小,其质量越高消耗比特数越多;采用的量化参数qp值越大,其质量越低消耗比特数越少。其单调性已经被信息论所证实。付出相对更多的比特换取一幅图像的较高质量,若被后续图像参考的频率高,其高质量获得时域上的传递,那么投入的比特数获得的参考价值就非常高。反之,若它被后续图像参考的频率很低,其高质量在时域上将快速截断,那么投入的比特数参考价值就很低。
运动变化剧烈的视频序列,其时域相关性局限在非常相邻的帧之间。静止或变化很小的视频序列,帧间时域相关性可以持续很长的时序距离。对于前面一种情况,每一帧都尽量投入差不多的比特数以保持均匀的编码图像质量最有利于整体编码性能。对于后面一种情况,适宜投入大量比特编码较高质量的一幅图像,并将它用于后续长距离的参考,最有利于整体编码性能。
鉴于此,需要一种在编码过程中能够自主决策将哪些图像设置为长效参考(long-termreference,ltr)驻留在参考解码缓冲区中,投入较多编码比特保证其参考质量;将哪些图像设置为短期参考(short-termreference,str)并合理移出参考解码缓冲区,以保障图像之间高时域相关性。
技术实现要素:
本发明提供了一种自适应的参考图像抉择方法,能够自主决策选择图像的依据,根据不同的情形对图像质量或图像之间的时域相关性进行判断和选择。
本发明的自适应的参考图像抉择方法,包括:
a.将编码图像中的一帧选择多个已编码图像作为参考,得到第t帧的参考图像集合rset(t),所述第t帧的参考图像集合包含了其时序相邻重构的参考图像pict-1和最近连续三个前向关键图像;
b.根据参考图像集合rset(t)的参数设置,将时序为k的图像pick作为参考图像,计算第i帧在参考参考图像pick时消耗的比特数,所述消耗的比特数约等于累积计算参考图像pick的所有块的比特数之和,进而得到时序为k的参考图像pick参考价值;
c.根据所述参考价值的计算方法,获得各个时序图像的参考价值,进而得到过去连续w个图像的参考价值集合ipset(t),并且t>w、tmodw=0;
d.计算参考价值集合中所有w个参考价值的均值和方差,并通过均值方差的比值设置帧间最远参考距离l;
e.比较所述均值和方差的大小,如果均值大、方差小,选择时域最近的图像做参考;如果均值小、方差大,选择质量好的图像而非时域最近的图像做参考;根据选择的参考图像重新设置第t帧的新参考图像集合
f.根据所述的新参考图像集合
具体的,步骤a中所述的第t帧的参考图像集合的计算方法为:
具体的,步骤b所述的第i帧在参考参考图像pick时消耗的比特数的计算方法为:先计算依赖参考图像pick编码所产生的参考价值
在此基础上,步骤c中所述的过去连续w个图像的参考价值集合ipset(t)={i(pici)|i∈[t-w,t-1]}。
进一步的,步骤d中所述w个参考价值的的均值为:
进一步的,所述的帧间最远参考距离l为:
进一步的,步骤e所述的重新设置的第t帧的新参考图像集合
所述的偏移设置为:qp(pict)=qp_i+qp_offset-q(t,4)-q(t,l),其中qp_i表示编码输入的量化参数qp的基准值,qp_offset表示量化参数qp的最大偏移量,q(·,·)为量化参数qp偏移修正量,其公式为:
本发明的自适应的参考图像抉择方法,能够根据不同的图像要求对图像的质量或时域相关性进行自适应选择,并且能够根据图像内容变化特征来制定参考图像管理规则显著提升视频序列编码性能。
以下结合实施例的具体实施方式,对本发明的上述内容再作进一步的详细说明。但不应将此理解为本发明上述主题的范围仅限于以下的实例。在不脱离本发明上述技术思想情况下,根据本领域普通技术知识和惯用手段做出的各种替换或变更,均应包括在本发明的范围内。
具体实施方式
编码图像需要耗费的二进制比特数(bits)被称为信息熵(h)。具体而言,图像被合理规则划分为块(cu/pu/tu)进行编码。定义在图像序列中第t帧的第i行第j列的块番号记作ut,i,j,其编码消耗的比特数,即熵为h(ut,i,j)。帧间编码模式中,熵h(ut,i,j)并非是独立产生的,它具有依赖性。如公式(1)中所示。
公式(1)中,
在相对有限的一段时间内,视频信源内容变化速率趋于均匀。帧间预测也就是图像间参考过程中,一帧可以选择多个已编码图像作为参考,这被称为多参考。那些失真小、质量高的图像将有更大的概率被选中用于参考,特别是那些运动矢量趋零的静止图像内容。编码失真大、质量低的图像被选作参考的概率很小。在多参考结构下,没有必要将一帧所能参考的多个已编码图像的质量都编的很高,只要能保证有一幅高质量的图像属于参考集合即可。这被称为编码器参考图像管理。具体到本发明,这就是自适应参考图像抉择。
不失一般性,目前主流的编码标准,如h.264/avc、hevc/h.265、avs2,都支持多参考图像管理。一般而言,参考图像管理的数量都配置成4个。以ld编码结构为例,任意一个帧间参考帧时序t,它的播放序poc等于其编解码顺序doc。它所能参考的图像全部真包含于参考图像集合rset(t)。
在上述基础上,本发明的自适应的参考图像抉择方法,包括步骤:
a.将编码图像中的一帧选择多个已编码图像作为参考,得到第t帧的参考图像集合rset(t),所述第t帧的参考图像集合包含了其时序相邻重构的参考图像pict-1和最近连续三个前向关键图像。
通常一个规范图像组(gop)含有连续的4幅图像,它们的时序下标分别为连续的{τ+1,τ+2,τ+3,τ+4}其中τmod4=0。这4帧中,poc=τ+4的gop最末一帧图像,通常被称为关键帧,它的下标是4的整数倍。关键帧在被编码并解码成为参考图像picτ+4之时,会投入更多的比特换取更好的解码质量,以有利于其它非关键图像的后续多次帧间参考。
因此第t帧的参考图像集合rset(t)的表达式为:
公式(2)可以被表述为第t帧的参考图像集合包含其时序相邻重构参考图像pict-1,和最近连续三个前向关键图像,这样既考虑到了帧间时域强相关性,又考虑到了高质量参考图像的空域相关性,长久以来已被固定下来。与此一致,在编码中关键图像的量化参数qp的分配规则也同时契合公式(2)所规定的参考集合设置。关键图像编码所用的量化参数qp值要小于其余非关键图像以获得较高图像质量。
在公式(2)参考图像的管理中,参考图像与当前帧的时序距离最远将到达12以上,也就是关键图像将被后续图像参考12次。运动变化剧烈的视频图像,帧与帧之间的内容相关性在2、3个时序距离就会衰减至极小;运动变化缓慢的视频图像,帧与帧之间的内容相关性在几百个时序距离也会有很高的保持。前者以步长4投入高比特率换取参考价值,由于帧间相关性弱,参考命中的概率小,这样的投入是不必要的,浪费了比特数;后者也以步长4投入高比特率,但是参考时候并不需要3个关键图像,仅一个高质量的图像即可,而且高质量的参考图像在时序上可以尽量设置更长,因此频繁投入的高比特率也是不必要的,浪费了比特数。综合上述两种情况,自适应设置关键图像的数量、质量、距离将直接节省比特数,提高编码效率。
b.根据参考图像集合rset(t)的参数设置,将时序为k的图像pick作为参考图像,它将被其后续连续若干帧所参考。计算第i帧在参考参考图像pick时消耗的比特数,所述消耗的比特数约等于累积计算参考图像pick的所有块的比特数之和,具体为:
定义参考图像pick的影响力函数i(·)为后续n个图像依赖参考图像pick所产生的参考价值v(·|·)总和,如公式(3)所示。这是一个条件统计,当且仅当将参考图像pick作为参考的那些帧编码过程才被计算进来。
其中参考价值v(·|·)为:
参考价值v(·|·)既包含了块编码参考的命中频率,也包含了原始图像块和参考块之间的运动矢量和时域距离。上述三项因素,在每一帧编码下属每一个块的编码抉择中都直接提供,容易收集。
公式(4)中,|k-t|表示帧间参考距离绝对值。|δxb|和|δyb|分别表示第i帧第b块的帧间预测运动矢量在水平和垂直两个方向的绝对值,b表示第i帧中块的总数。sadb表示第b块运动补偿后的残差和。qstepk表示参考图像k早前编码自身时候采用的量化步长,可以从量化参数qp值计算得到。log2(·)取以2为底的对数运算,指数的加1操作是为了防止运算越界。
这样便得到了第i帧在参考参考图像pick时消耗的比特数约等于累积计算参考图像pick的所有块的比特数之和。
进而得到时序为k的参考图像pick的参考价值:结合公式(3)和(4),参考图像pick的参考价值为:
c.根据公式(5)对所有参考图像进行统计运算,就可以获得每一个时序图像的参考价值i(·)。定义帧间最远参考距离为l,即两副图像做帧间参考时候能够到达的最远时域距离。为了适用性,一般最远参考距离l的定义域在区间
ipset(t)={i(pici)|i∈[t-w,t-1]}(6)
d.将参考价值集合ipset(t)中w个参考价值i(pici)作为样本进行均值μt和方差
统计参考价值集合ipset(t)的均值为:
然后通过均值方差的比值设置帧间最远参考距离l:
e.比较所述均值μt和方差
f.根据所述的新参考图像集合
qp(pict)=qp_i+qp_offset-q(t,4)-q(t,l)(11)
公式(11)中,qp_i表示编码输入的基准qp值,qp_offset表示帧编码qp值的最大偏移量通常固定取值为3,q(·,·)为帧间参考qp值偏移修正量,其计算过程为: