视频编码中一种快速帧间预测编码方法与流程

文档序号:18899815发布日期:2019-10-18 21:47阅读:176来源:国知局
视频编码中一种快速帧间预测编码方法与流程

本发明涉及视频编码帧一种快速帧间预测编码方法,尤其涉及一种关于视频编码器中帧间预测技术的加速优化算法,属于视频编码技术领域。



背景技术:

随着多媒体数字视频应用的不断发展和人们对视频云计算需求的不断提高,原始视频信源的数据量以使现有传输网络带宽和存储资源无法承受。因而,视频信号的压缩已成为目前国内外学术研究和工业应用的热点之一。视频压缩,也称视频编码,其目的是消除视频信号间存在的冗余信息。至今,国内外标准化组织已相继制定了多种不同的视频编码标准,主流的视频编码标准均采用“基于块的预测和变换”的混合编码框架,图1为最新的视频编码标准hevc对应的视频编解码器总体框架图,输入的视频信号经过块结构划分、预测、变换、量化、熵编码等编码技术处理后,最后输出比特流,以备传输或存储。

图2为现有技术中的一种视频编码基本流程图,包括如下的处理过程:在编码端,输入的视频信号首先会经过预测模块,编码器按照率失真准则从若干种预测模式种选择一种预测模式进行预测,得到预测信号,将预测信号与原始信号做差,得到残差信号;残差信号经过变换,得到能量更加集中的变换系数信号;变换系数信号经过量化后由熵编码器编码,最终输出码流。因此,预测技术是视频编码中尤为关键的技术之一视频中的图像又称为视频帧,视频帧一般分为三类,即i帧、p帧和b帧,pb帧较i帧具有更好的压缩性能。这是由于视频编码中的预测技术一般分为两种——帧内预测和帧间预测,i帧仅采用帧内预测,而pb帧既可采用帧内预测也可采用帧间预测。

帧间预测用于减少时域冗余,它是利用相邻帧之间的相关性进行预测编码,即当前待编码的图像使用其它已编码并重构的图像作为参考帧,当前待编码块在参考帧中搜索相似块作为预测值。而当前待编码块在预测时,可能划分为更小的预测块(predictionblock,pb),并以预测块为基本单元搜索最匹配的预测值,其目的是尽可能减小预测值与当前待编码块实际值之间的大小,从而减少编码比特数,提高压缩率。

在高效视频编码标准(highefficiencyvideocoding,hevc)中,对于帧间预测的预测块一般有三种常见的划分方式,即不划分、分为两块或者四叉划分。如图3所示,当当前待编码块的大小为2n×2n时,不划分指预测块的大小与当前待编码块的大小一致,即也为2n×2n;分为两块有六种不同的划分方式:2种对称分割和4种不对称分割,其中4种不对称分割只在编码器支持;四叉划分,即将2n×2n划分为等大小的4个n×n预测块。每一种划分方式对应一种帧间预测模式,特别地,不划分时还有两种特殊的帧间预测模式,即跳过(skip)和合并(merge)模式。因此,整个帧间预测的过程是按流程遍历所有的帧间预测模式,并选择编码代价最小的预测模式作为最佳的预测模式,其帧间预测流程如图4所示,即按照skip、merge、2n×2n、n×n、n×2n、2n×n、2n×nu、2n×nd、nl×2n、nr×2n。可见,帧间预测模式种类较多,计算较复杂。而实际上,帧间预测也是编码器最耗时的模块之一。

而由于当前待编码块在帧间预测过程中需要遍历所有的帧间预测模式,但最终仅选择最佳的一种帧间预测模式,因此,存在大量的预测模式计算冗余。因此,如何快速选择最佳的预测模式是加速帧间预测模块,提高编码器编码效率的关键。



技术实现要素:

有鉴于此,本发明提供视频编码中一种快速帧间预测编码方法,用于常见的视频编码器中。该方法具体优化了编码器的帧间预测编码步骤,其基本原理是在经过一些帧间预测模式决策后,根据所获得的已编码信息,决策是否快速跳过剩余一种或多种帧间预测模式,简化了预测模块,从而降低计算复杂度以加速编码器编码。

为了达到上述目的,本发明采用的而技术方案为,

步骤(1),信息获取。获取帧间预测过程中当前待编码块已有的一些编码信息,包括但不仅限于:当前待编码块经过一些帧间预测模式后得到的残差;当前待编码块经过一些帧间预测模式后得到的残差经过变换、量化后的量化系数信息;当前待编码块经过一些帧间预测模式后得到的失真代价值;以及当前待编码块相邻已编码块的已编码信息等

步骤(2),第一次判断。利用信息获取步骤所获取的信息一判断是否跳过一种或多种帧间预测模式。

步骤(3),第二次判断。利用信息获取步骤所获取的信息二判断是否跳过一种或多种帧间预测模式。

步骤(4),第三次判断。利用信息获取步骤所获取的信息三判断是否跳过一种或多种帧间预测模式。

步骤(5),第四次判断。利用信息获取步骤所获取的信息四判断是否跳过一种或多种帧间预测模式。

步骤(6),决策。根据第一次判断或第二次判断或第三次判断或第四次判断得到的判定结果,跳过一种或多种帧间预测模式,或者执行剩余所有帧间预测模式。

本发明的有益效果是:本发明专利的视频编码中一种快速帧间预测编码方法,1.结合已有的编码信息,包括当前待编码块帧间预测过程中的已编码信息以及其它相关的编码信息,提前决策是否需要遍历所有的帧间预测模式,若判断出可跳过剩余一种或多种帧间预测模式,则简化了帧间预测步骤,节省了编码时间,从而加速了编码器;2.本发明专利采用了四种不同的优化算法,层层递进决策,更加高效;3.用户可根据自身需求权衡性能损失和编码时间的关系,设定阈值的大小。因此,该优化算法在尽可能不损失编码性能的前提下,加速了预测模块,从而降低了整体编码时间。此外,本发明所涉及的优化方法不改变编码器的标准,使得编码生成的码流仍符合一般视频编码标准,具有良好的应用前景。

附图说明

图1为现有技术中的编码解码器总体框架图;

图2为现有技术中的一种视频编码基本流程图;

图3为现有技术中的帧间预测划分方式示意图;

图4为现有技术帧间预测中的帧间预测模式流程图;

图5为本发明专利涉及编码器模块的优化算法步骤示意图。

具体实施方式

下面将结合说明书附图,以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

本发明的视频编码中一种快速帧间预测编码方法,具体优化了编码器的预测编码步骤,尤其优化了编码器预测技术中的帧间预测模块。其基本原理是基于帧间预测过程中的已编码信息,决策是否快速跳过一种或多种帧间预测模式,从而降低计算复杂度以加速编码器编码,如图5所示,具体包括以下步骤,

步骤(1),信息获取。负责获取帧间预测过程中当前待编码块已有的一些编码信息。其中,当前编码块的一些编码信息包括但不仅限于:

1)当前待编码块经过一些帧间预测模式后得到的残差

2)当前待编码块经过一些帧间预测模式后得到的残差经过变换、量化后的量化系数信息;

3)当前待编码块经过一些帧间预测模式后得到的失真代价值;

4)以及当前待编码块相邻已编码块的已编码信息等。

其中,将所述当前待编码块帧间预测后所得到的残差经过变换、量化后的量化系数分布情况称为信息一;将所述当前待编码块经过一些帧间预测模式后得到的残差经过变换、量化后的量化系数信息称为信息二;将所述当前待编码块经过一些帧间预测模式后得到的失真代价值称为信息三;将所述当前待编码块相邻已编码块的已编码信息称为信息四,具体地,所述相邻已编码块的已编码信息指与当前块大小相同的情况下,相邻已编码块最终使用帧间预测的编码代价的平均值。

所述信息一指当前待编码块经过一些帧间预测模式后所得到的残差经过变换、量化后的量化系数分布情况。需要注意的是,编码器通过预测得到当前待编码块的预测块,而原始块与预测块相减即可得到残差,残差用于后续的变换、量化步骤。残差经过变换后,得到变换系数块,变换系数块再通过量化后得到量化系数,并最终将量化系数输入至熵编码器编码,生成码流。因此,码流的大小取决于非零量化系数的个数、大小和分布。而当量化系数块为全零块时,即量化(又可理解为除以特定的某个除数)后的量化系数定为0,此时,只需编码一个全零块的标志即可。这种情况下,需要编码残差使用的比特数最少,只需对帧间预测过程中的运动信息、参考帧信息进行编码即可。

所述信息二是指当前待编码块经过一些帧间预测模式后所得到的残差。即编码器通过预测得到当前待编码块的预测块,而原始块与预测块相减即可得到残差。一般情况下,当残差块内残差能量分布不均匀时(残差能量集中在某一区域),更有利于划分成更小的预测块进行预测。

所述信息三指是指当前待编码块经过一些帧间预测模式后得到的失真代价值。当前待编码块代价指率失真代价j,其计算方式如公式(1)所示,其中,d表示失真,一般当前待编码块的原始值与重构值的差值平方和(sumofsquareddifferences,ssd)、差值绝对和(sumofabsolutedifference,sad)、均方误差(meansquareerror,mse)等计算得到;r表示码率,是熵编码器编码残差、运动信息、块的头信息等所需要的编码比特数;是拉格朗日因子,一般为经验性的常数。因此,所指当前待编码块经过一些帧间预测模式后得到的失真代价值特指当前原始值与重构值的失真,可用ssd或sad或mse等统一计算得到。

所述信息四是指当前待编码块相邻已编码块的已编码信息,具体地,包括但不限于与当前块大小相同的情况下,相邻已编码块最终使用帧间预测的编码代价的平均值。其中,平均值的计算方式可采用一种或多种不同的方式。举例说明,计算方法1,若当前待编码块的大小为n×n,则若相邻已编码块中存在使用帧间预测的n×n块,则计算所有这些n×n块编码代价的平均值,该值则为相邻已编码块的已编码信息;计算方法2,若当前待编码块的大小为n×n,则统计相邻已编码块内所有使用帧间预测的块,并将其编码代价按照与n×n的比例进行缩放,即若为2n×2n块,则需将编码代价乘以4倍,若为1/2n×1/2n块,则需将编码代价除以4倍,最终对相邻已编码块内所有帧间预测块缩放至n×n大小的编码代价求平均。其中,相邻已编码块包括但不仅限于当前待编码块的左相邻编码块、上相邻编码块、左上相邻编码块等。

所述跳过一种或多种帧间预测模式的方法包括但不仅限于跳过接下去的一种帧间预测模式或多种帧间预测模式。举例,如图4所示,当前的帧间预测模式为n×n,则若判断出可以跳过一种帧间预测模式,则可跳过帧间预测模式n×2n;当前的帧间预测模式为n×n,则若判断出可以跳过多种帧间预测模式,则可跳过该模式之后的所有帧间预测模式,包括n×2n、2n×n、2n×nu、2n×nd、nl×2n、nr×2n等。

步骤(2),第一次判断。负责根据所获信息一判断是否跳过一种或多种帧间预测模式。由于通过信息一能获取当前待编码块经过一些帧间预测模式后的量化系数分布,且若量化系数全为0,此时,编码残差使用的比特数最少,只需要编码运动信息、参考帧等信息。因此,当做完一些帧间预测模式后,得到的量化系数均为0,则跳过剩余一种或多种帧间预测模式。

步骤(3),第二次判断。负责根据所获信息二判断是否跳过一种或多种帧间预测模式。由于通过信息二能获取当前待编码块经过一些帧间预测模式后所得到的残差,即编码器通过预测得到当前待编码块的预测块,而原始块与预测块相减即可得到残差。一般情况下,当残差块内残差分布不均匀时(残差能量集中在某一区域),更有利于划分成更小的预测块进行预测。而若残差能量分布较为均匀,则更利于当前大小的预测块进行预测。因此,将大小为2n×2n的当前待编码块对应的残差块四叉划分为等大小的n×n块,计算每个n×n块的能量和,并求得最大能量和与最小能量和的差值d,若d小于阈值t1,则跳过其余一种或多种帧间预测模式。其中,能量和指残差的平方和或绝对和;用户可经验性自定义阈值t1,t1越大,则发生跳过的概率也大,相同情况下能节省更多帧间预测的时间,但同时也会带来更大的性能损失。

步骤(4),第三次判断。负责根据所获信息三判断是否跳过一种或多种帧间预测模式。由于通过信息三能获取当前待编码块经过一些帧间预测模式后得到的失真代价值。所述当前待编码块经过一些帧间预测模式后得到的失真代价值特指当前块对应的原始值与重构值的失真,可用ssd或sad或mse等统一计算得到。失真越小,根据公式(1)可知,其编码代价就越有可能变小(当编码码率差距较小时),因此,此时选择当前帧间预测模式作为最佳预测模式的概率越大。在这种情况下,也可直接跳过剩余一种或多种帧间预测模式的计算,以避免计算冗余。因此,当失真小于阈值t2时,则跳过其余一种或多种帧间预测模式。其中,用户可自定义经验性设置阈值t2。由于通过信息三能获取当前待编码块经过一些帧间预测模式后得到的失真代价值。所述当前待编码块经过一些帧间预测模式后得到的失真代价值特指当前块对应的原始值与重构值的失真,可用ssd或sad或mse等统一计算得到。失真越小,根据公式(1)可知,其编码代价就越有可能变小(当编码码率差距较小时),因此,此时选择当前帧间预测模式作为最佳预测模式的概率越大。在这种情况下,也可直接跳过剩余一种或多种帧间预测模式的计算,以避免计算冗余。因此,当失真小于阈值t2时,则跳过其余一种或多种帧间预测模式。其中,用户可自定义经验性设置阈值t2。

步骤(5),第四次判断。负责根据所获信息四判断是否跳过一种或多种帧间预测模式。由于通过信息四能获取当前待编码块相邻已编码块的已编码信息,具体地,包括但不限于所述相邻已编码块的已编码信息指与当前块大小相同的情况下,相邻已编码块最终使用帧间预测的编码代价的平均值。由于视频帧内相邻块具有很强的相似性,若当前待编码块经过一些帧间预测模式后所得到的最佳编码代价小于相邻已编码块使用帧间预测编码代价的平均值(avgnbor),则表明当前编码块极有可能已得到最佳的编码代价,即已得到最佳的预测模式。因此,当目前的最佳编码代价小于t3乘以avgnbor时,则跳过其余一种或多种帧间预测模式。其中,t3为大小取0至1之间的阈值,用户可自定义经验性设置阈值t3,一般而言,t3越大,跳过剩余帧间预测模式选择的概率越大,相同情况下,帧间预测节省的时间越多,但性能损失也越大。

步骤(6),决策。根据第一次判断步骤或第二次判断步骤或第三次判断或第四次判断步骤得到的判定结果,执行剩余所有的帧间预测模式或跳过一种或多种帧间预测模式。

以上显示和描述了本发明的基本原理、主要特征及优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1