一种基于时空域预测的帧间图像并行编码方法与流程

文档序号:26957123发布日期:2021-10-16 04:46阅读:111来源:国知局
一种基于时空域预测的帧间图像并行编码方法与流程

1.本发明涉及图像处理技术领域,具体涉及一种基于时空域预测的帧间图像并行编码方法。


背景技术:

2.运动估计是一个对视频连续帧图像编码过程中普遍采用的技术,如mpeg

2、mpeg

4、h.264/avc、h.265/hevc,而且它也是视频编码中非常关键的技术,占据了一半的编码时间。在过去,很多运动估计算法和架构对高清、超高清的视频应用不太适用,因此,为了实现高时效性的编码环境,要对当前的运动估计算法和架构进行优化,而并行处理就是一个可行的方案。然而,目前hevc只支持片(slice)层次的并行,对于编码块(cu)级别的并行并没有很好地支持。
3.之所以目前的hevc不能够实现编码块级别的并行处理,是因为hevc中各编码块之间存在依赖性,hevc正是通过编码块之间的相互依赖性来去除冗余的信息。具体来说,hevc的帧间预测过程中,是通过高级运动矢量预测(amvp)技术寻找搜索中心,然后去寻找最佳匹配块。amvp技术就是利用周围相邻编码块可用的运动向量(mv)去预测搜索中心,在一个编码块内,当前编码块的mv可以由它的相邻编码块的信息预测得到。而只有在相邻编码块被编码完成后,当前编码块才能够进行编码,所以很难将当前编码块和它的相邻编码块同步的进行并行编码。因此,如果要在编码块之间进行并行编码,编码块之间的相互依赖性必须要消除。


技术实现要素:

4.为了消除编码块之间的依赖性,提高帧间图像压缩编码过程中时效性,本发明提出了一种基于时空域预测的帧间图像并行编码方法,所述并行编码为编码块组内各编码块的并行编码,各编码块中含有部分已知运动矢量和部分未知运动矢量,并行编码主要包括步骤:s1:根据数据压缩需求设置空域可靠性阈值和时域可靠性阈值,并获取当前帧图像编码块组的运动矢量候选列表,所述运动矢量候选列表包括空域候选列表和时域候选列表;s2:根据当前帧图像的运动方向,提取空域候选列表中编码块组在运动方向处方向边角以及与方向边角相邻两个边角上的空域运动矢量;s3:根据当前编码块的深度以及所提取空域运动矢量之间在水平方向的差值进行基于深度缩放下的空域可靠性参数的获取;s4:根据编码块组方向边角对角处的时域运动矢量,提取当前帧和上一帧时域候选列表中在当前编码块方向边角对角处的时域运动矢量;s5:根据当前编码块的深度以及所提取时域运动矢量水平分量和垂直分量之间的差值进行基于深度缩放下的时域可靠性参数的获取;
s6:判断空域可靠性参数是否小于空域可靠性阈值,以及时域可靠性参数是否小于时域可靠性阈值,若是,进入下一步骤,若否,在当前编码块深度大于预设阀值前,进入下一深度下的编码块并返回步骤s2;s7:判断空域可靠性参数是否大于等于预设比例的时域可靠性参数,若是,当前编码块并行区域内所有编码块共享当前编码块已知的时域运动矢量,若否,当前编码块并行区域内所有编码块共享当前编码块已知的空域运动矢量;s8:根据各编码块共享后的运动矢量集,进行编码块组内编码块的并行编码。
5.进一步地,所述步骤s6中,若判断为否,且当前编码块深度大于预设阀值时,进入步骤s8。
6.进一步地,所述编码块的深度包括0至3,基于深度缩放为根据当前编码块的深度对所提取的空域运动矢量和时域运动矢量进行对应比例的缩放,所述对应比例具体为:当深度为0时,缩放系数为一,当深度为1时,缩放系数为二分之一,当深度为2时,缩放系数为四分之一,当深度为3时,缩放系数为八分之一。
7.进一步地,所述步骤s3可用如下公式表示:地,所述步骤s3可用如下公式表示:式中,b2表示方向边角上的空域运动矢量,a0和a1表示方向边角相邻的一个边角上的空域运动矢量,b0和b1为方向边角相邻的另一个边角上的空域运动矢量;mvx为对应运动矢量经过缩放后的水平分量;r1为缩放后a0、a1分别与b2水平分量差值的绝对值之和,r2为缩放后b0、b1分别与b2水平分量差值的绝对值之和;r
s
为空域可靠性参数。
8.进一步地,所述步骤s5可用如下公式表示:式中,t为当前帧时域候选列表中在当前编码块方向边角对角处的时域运动矢量,t

1为上一帧时域候选列表中在当前编码块方向边角对角处的时域运动矢量,mvy为对应运动矢量经过缩放后的垂直分量,r
t
为时域可靠性参数。
9.进一步地,所述步骤s7可用如下公式表示:进一步地,所述步骤s7可用如下公式表示:式中,mv
n
为当前编码块并行区域内任意编码块已知的运动矢量集,mv
m
为该任意编码块共享后的运动矢量集,mv
t
为当前编码块已知的时域运动矢量集,mv
s
为当前编码块已知的空域运动矢量集,为预设比例,th1为空域可靠性阈值,th2为时域可靠性阈值。
10.进一步地,所述编码块组的结构为2n
×
2n的矩阵。
11.进一步地,下一深度编码块为当前深度编码块的四等分;进一步地,所述步骤s4中,当方向边角对角处时域运动矢量不存在时,选用编码块
中心处的时域运动矢量代替。
12.与现有技术相比,本发明至少含有以下有益效果:(1)本发明所述的一种基于时空域预测的帧间图像并行编码方法,将编码块组的方向边角以及相邻边角上空域运动矢量作为替代量,替代编码组内各编码块对应边角的运动矢量,进而在基于深度缩放的情况下,对当前编码块水平和垂直方向运动趋势的一致性进行判断,进而挑选出可靠性更高(更为平滑)深度下编码块的空域运动矢量作为并行编码的共享参数依据;(2)将时域候选列表中当前编码块对应位置处的时域运动矢量作为该编码块时域运动矢量的替代,进而在基于深度缩放的情况下,对当前编码块时间运动趋势上的一致性进行判断,从而可以挑选出可靠性更高深度下编码块的时域运动矢量作为并行编码的共享参数依据;(3)通过可靠性参数的比对选取出更为平滑(合适深度)编码块的运动矢量进行并行编码,在实现并行编码的同时降低比特率的损失;(4)通过比较空域可靠性参数与时域可靠性参数的比例关系,从而在两者之间挑选出可靠性更高的运动矢量作为并行编码的共享参数依据,提高并行编码的有效性。
附图说明
13.图1为一种基于时空域预测的帧间图像并行编码方法的方法步骤图;图2为示例运动方向上运动矢量分步示意图。
具体实施方式
14.以下是本发明的具体实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于这些实施例。
15.实施例一现有的h.265/hevc技术中,能使用一些并行工具来提高运动估计的并行性。一般而言,一个最大编码单元(lcu)内的并行级别可分为:编码块组(cu组)级别和编码块(cu)级别的并行。在并行区域(pmer)内,有一些编码块的运动矢量候选是已知的,还有些编码块的运动矢量候选是未知的。对于cu组级别的并行,在并行区域pmer内所有预测单元(pu)的候选运动矢量都能并行的构造。但是在针对cu级别的并行时,在cu内部的预测单元的候选运动矢量,共享的是cu外合法的候选运动矢量。同时在提高编码并行度的同时,还需要平衡编码的效率,避免带来过大的比特率损失。基于上述需求,如图1所示,本发明提出了一种基于时空域预测的帧间图像并行编码方法,用于对cu级别的编码块进行并行编码,主要包括步骤:s1:根据数据压缩需求设置空域可靠性阈值(设为th1)和时域可靠性阈值(设为th2),并获取当前帧图像编码块组的运动矢量候选列表,所述运动矢量候选列表包括空域候选列表和时域候选列表;s2:根据当前帧图像的运动方向,提取空域候选列表中编码块组在运动方向处方向边角以及与方向边角相邻两个边角上的空域运动矢量;s3:根据当前编码块的深度以及所提取空域运动矢量之间在水平方向的差值进行
基于深度缩放下的空域可靠性参数的获取;s4:根据编码块组方向边角对角处的时域运动矢量,提取当前帧和上一帧时域候选列表中在当前编码块方向边角对角处的时域运动矢量;s5:根据当前编码块的深度以及所提取时域运动矢量水平分量和垂直分量之间的差值进行基于深度缩放下的时域可靠性参数的获取;s6:判断空域可靠性参数是否小于空域可靠性阈值,以及时域可靠性参数是否小于时域可靠性阈值,若是,进入下一步骤,若否,在当前编码块深度大于预设阀值前,进入下一深度下的编码块并返回步骤s2;s7:判断空域可靠性参数是否大于等于预设比例的时域可靠性参数,若是,当前编码块并行区域内所有编码块共享当前编码块已知的时域运动矢量,若否,当前编码块并行区域内所有编码块共享当前编码块已知的空域运动矢量;s8:根据各编码块共享后的运动矢量集,进行编码块组内编码块的并行编码。
16.需要注意的是,步骤s1中运动矢量候选列表具体是应用于当前编码块中的预测单元,而预测单元是用于根据运动矢量候选列表进行帧间图像编码。
17.进一步地,所述步骤s6中,若判断为否,且当前编码块深度大于预设阀值时,进入步骤s8。
18.首先要了解的是,hevc中的amvp技术是利用时空域上的运动矢量相关性,建立当前编码块预测单元的运动矢量候选列表。该候选列表主要包括两种类型的候选运动矢量:空域候选和时域候选。如图2所示,候选列表中的运动矢量分别为:空域候选列表{a0、a1、b0、b1、b2},时域候选列表{c0、c1},其中b2是运动方向上方向边角上的空域运动矢量,a0、a1、b0、b1是与方向边角相邻两个边角上的空域运动矢量,而c1是方向边角对角处的时域运动矢量,c0是编码块中心点处的时域运动矢量。
19.而基于现有技术的理论基础,还需知晓的是,图像纹理越平滑的图像,其更加倾向于使用大块的编码块进行并行编码。同时,由于纹理平滑图像运动具有一致性的关系,针对平滑区域的编码块并行处理不但可以加速编码,而且还能降低比特率的损失。相反,当图像的纹理存在较多的细节,编码时倾向于用小块的编码块进行编码,原因在于这时候的运动矢量不具有一致性。因此,当图像纹理平滑时,并行区域外部的运动矢量对预测并行区域内的运动矢量候选非常有用,而在并行区域内的所有编码块的运动矢量候选可以用并行区域外的运动矢量代替从而实现预测运动矢量并行产生。
20.不同于现有技术的是,本发明建立的运动矢量候选列表中,空域候选列表包括{a0、a1、scaled a0、scaled a1、b0、b1、b2、scaled b0、scaled b1、scaled b2},其中,scaled表示基于编码块深度对相应运动矢量的缩放,用以后续对空域可靠性参数的计算;b2表示方向边角上的空域运动矢量,a0和a1表示方向边角相邻的一个边角上的空域运动矢量,b0和b1为方向边角相邻的另一个边角上的空域运动矢量(这里进一步地定义,b0、b1为b2水平方向上相邻边角上的空域运动矢量,a0、a1为b2垂直方向上相邻边角上的空域运动矢量,需要注意的是,此处仅仅是临时定义,在实际应用中,两者可调换,只需在后续计算中根据空间方位进行相应调换即可)。而运动矢量候选列表中时域候选列表的建立则是提取的当前帧和上一帧时域候选列表中在当前编码块方向边角对角以及编码块中心点处的时域运动矢量。
21.具体地,本发明所选用的编码块为2n
×
2n(以64
×
64为例)结构的矩阵,其空域候选列表为{a0、a1、b0、b1、b2},定义mvx
a0
、mvx
a1
、mvx
b0
、mvx
b1
、mvx
b2
分别为对应空域运动矢量经过缩放后的水平分量,本发明引入了一个新的参数r
s
,表示这些空域运动矢量的可靠性,定义公式如下:其中,r1为缩放后a0、a1分别与b2水平分量差值的绝对值之和,r2为缩放后b0、b1分别与b2水平分量差值的绝对值之和;r
s
为空域可靠性参数。r1和r2的定义公式如下:式中,mvx为对应运动矢量经过缩放后的水平分量。
22.在未缩放状态下(也即是初始深度状态下,初始深度设为0),通过比对编码块组水平方向上b2分别与b0、b1差值之和r1,来获取该编码块组水平方向上运动趋势的一致性,通过比对编码块组垂直方向上b2分别与a0、a1差值之和r2,来获取该编码块组垂直方向上运动趋势的一致性,两者相加与空域可靠性阈值相比对,判定当前编码块组在空域上的运动趋势一致性,也即是空域上的平滑度。当平滑度较低(r
s
大于等于th1),也即是纹理较多时,进入下一深度(深度值+1,直至深度达到3,深度3对应编码块尺寸为8
×
8),并对相应运动矢量进行缩放与计算,得到该深度下编码块的空域可靠性参数。而当空域平滑度达到预设要求(r
s
小于th1)时,当前编码块并行区域内所有编码块的预测单元(pu)即可共享当前编码块已知的空域运动矢量。
23.所述并行区域内所有编码块由当前编码块进入下一深度时拆分出的各个子编码块组成。
24.需要注意的是,本发明所述下一深度编码块为当前深度编码块的四等分,编码块的深度包括0至3,基于深度缩放为根据当前编码块的深度对所提取的空域运动矢量和时域运动矢量进行对应比例的缩放,所述对应比例具体为:当深度为0时,缩放系数为一,当深度为1时,缩放系数为二分之一,当深度为2时,缩放系数为四分之一,当深度为3时,缩放系数为八分之一。
25.进一步地,对于大部分视频连续帧图像而言,图像本身不仅平滑,而且图像运动水平一致。因此,当前帧编码块的时域运动矢量和上一帧的同位(同一位置)参考编码块的运动信息存在紧密的连续性。设同一位置当前帧和前一帧编码块方向边角对角处的时域运动矢量分别为t和t

1,当图像运动水平一致时,利用运动矢量的一致性,并行区域内编码块的预测单元(pu)能够共享时域运动矢量,在运动估计时方便实现并行处理。
26.根据这一点,本发明针对并行区域内的编码块(尺寸为64
×
64),引入时域可靠性参数r
t
,用以表示时域候选运动矢量的可靠性,其定义公式如下:式中,t为当前帧时域候选列表中在当前编码块方向边角对角处的时域运动矢量,t

1为上一帧时域候选列表中在当前编码块方向边角对角处的时域运动矢量,mvy为对应运动矢量经过缩放后的垂直分量,r
t
为时域可靠性参数。
27.具体说明地,通过前后帧时域运动矢量的一致性判断,来进行时域可靠性参数的
获取,该参数越低说明前后帧图像的运动一致性越高,当时域可靠性参数低于时域可靠性阈值(r
t
小于th2)时,那么当前编码块在时域上共享其时域运动矢量至并行区域内的编码块。同样的,若是时域可靠性参数大于时域可靠性阈值(r
t
大于等于th2)时,进入下一深度,并对相应运动矢量进行缩放与计算,得到该深度下编码块的时域可靠性参数。
28.需要注意的是,若方向边角对角处时域运动矢量所对应缩放处的时域运动矢量不存在时,可用编码块中心点处所对应缩放的时域运动矢量代替。
29.通过上述分析可以看出,时域和空域上的运动信息对于实现编码块级别的并行处理都很重要。由于图像的纹理内容丰富,有的图像在空域上和相邻编码块有紧密的联系,而有些图像在时域上和参考图像有紧密的联系。因此,为了避免编码效率的降低,也就需要在空域、时域上候选运动矢量的并行条件上添加更多的条件限制。基于此,本发明又提出了基于时空域的候选运动矢量的并行生成方法,用以平衡好编码的效率和候选运动矢量(空域候选运动矢量和时域候选运动矢量)产生的并行度。
30.候选运动矢量产生的并行度用sp表示,定义公式如下:其中()为方法步骤中所述的预设比例,其是一个空域,也是时域可靠性参数的权值,基于th1、th2是空域可靠性阈值和时域可靠性参数的阈值,的定义公式如下:在这里,本发明通过消除空域可靠性阈值和时域可靠性性阈值在设置之初的比例差。显然,当sp大于等于0,r
s
大于等于时,并行空间在时域上;当sp小于0,r
s
小于时,并行空间在空域上。比较后用以共享的运动矢量选择可表示为如下公式:式中,mv
n
为当前编码块并行区域内任意编码块已知的运动矢量集,mv
m
为该任意编码块共享后的运动矢量集,mv
t
为当前编码块已知的时域运动矢量集,mv
s
为当前编码块已知的空域运动矢量集。
31.本发明对于不可并行编码的低深度编码块,通过编码块深度的下潜,降低并行编码时所需处理图像的纹理复杂度,从而实现编码块在保证比特率低损失的同时实现并行编码。
32.对于空域可靠性阈值和时域可靠性性阈值的设置,本发明通过对不同分辨率的测试序列进行模拟实验,发现可靠性参数服从标准正态分布。针对不同分辨率和不同特性的参考序列作大量的模拟实验来选取合适的阈值th1和th2。当th1趋近于21时,编码效率的差值很小,当th2趋近于8时,编码效率的变动很小。但是,当th1和th2的值逐渐变大时,编码效率也随之升高。因此在本发明中,选取的阈值th1=21和th2=8,他们能很好对平衡好并行性和编码效率。
33.综上所述,本发明所述的一种基于时空域预测的帧间图像并行编码方法,将编码块组方向边角以及相邻边角上空域运动矢量作为替代量,替代编码组内各编码块对应边角
的运动矢量,进而在基于深度缩放下对当前编码块水平和垂直方向运动趋势的一致性进行判断,从而可以挑选出可靠性更高(更为平滑)深度下编码块的空域运动矢量作为并行编码的共享参数依据;将时域候选列表中当前编码块对应位置处的时域运动矢量作为该编码块时域运动矢量的替代,进而在基于深度缩放下对当前编码块时域运动趋势上的一致性进行判断,从而可以挑选出可靠性更高的深度下编码块的时域运动矢量作为并行编码的共享参数依据。
34.通过可靠性参数的比对选取出平滑的(合适深度)编码块的运动矢量进行并行编码,在实现并行编码的同时降低比特率的损失。通过比较空域可靠性参数与时域可靠性参数的比例关系,从而在两者之间进行挑选出可靠性更好的运动矢量作为并行编码的共享参数依据,提高并行编码的有效性。
35.实施例二为了更好的证明本发明的有效性,本实施例通过例举一具体仿真实验来对本发明的技术效果进行展示,通过对比本发明所提出的算法和h.265/hevc参考软件的率失真和计算复杂性来验证算法的性能,实验测试采用的是标准 h.265/hevc 视频序列,它们具有不同的分辨率和图像纹理特征,模拟实验环境配置如表 1 所示。
36.表1:模拟实验环境为了评估本发明提出算法的性能,算法性能的评价标准采用bdbr和bdpsnr,平均的编码时间ts计算方法如下:其中t
hm
(qp
i
)和t
pro
(qp
i
)分别为在不同量化参数qp下,参考软件的编码时间与本章提出的算法编码时间。
37.本实施例根据本发明提出的基于时空域预测的并行改进算法实验结果如表2所示。当并行区在空间区域上时,并行区内的编码块共享当前编码块的空间候选运动矢量集。当并行区在时间区域上时,并行区内的时间候选用其相对应位置处编码块的时域运动矢量代替。该算法考虑到了空间和时间上的图像特征,相比于前面的基于空间预测,基于时间预
测算法,联合时空预测算法编码效率更高。
38.表2:基于时空域预测的并行改进算法实验结果与前人的方法进行性能对比,本实施例选取的对比方法是yan等人提出的基于有向图模型的并行算法,该方法具有很好的代表性。在性能方面,本文提出的联合时空域预测算法的bdbr仅升高了0.01%。而在yan的方法中,mer分别为8
×
8和16
×
16,bdbr升高分别为0.1%和0.5%,而本文提出的联合时空域预测算法几乎没有bdbr的损失。
39.需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后
……
)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
40.另外,在本发明中如涉及“第一”、“第二”、“一”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
41.在本发明中,除非另有明确的规定和限定,术语“连接”、“固定”等应做广义理解,例如,“固定”可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
42.另外,本发明各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1