一种立体视频帧重要性评估方法转让专利

申请号 : CN201510027445.3

文献号 : CN104618714B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王晓东胡彬彬章联军叶庆卫周宇王腾飞

申请人 : 宁波大学

摘要 :

本发明公开了一种立体视频帧重要性评估方法,其在计算每帧右视点图像的错误隐藏失真的过程中,加入了该帧右视点图像中编码模式为帧间编码且采用视差矢量编码的宏块视差矢量;在计算每帧左视点图像的错误扩散失真的过程中,利用当前帧对后续视点内和视点间编码帧的扩散失真影响累加得到,且在计算时加入了错误扩散因子;在计算每帧立体图像的总失真时,利用该帧立体图像的左视点图像的错误扩散失真和右视点图像的错误扩散失真之和与该帧立体图像的左视点图像的错误隐藏失真和右视点图像的错误隐藏失真之和加权得到,得到的总失真的精度较高,因此本发明方法能够有效地区分不同帧的重要等级,从而能够提高终端视频的感知质量。

权利要求 :

1.一种立体视频帧重要性评估方法,其特征在于包括以下步骤:

①在立体视频编码过程中以图像组为单位进行编码,将立体视频中当前待处理的图像组定义为当前图像组;

②计算当前图像组中的每帧右视点图像中编码模式为帧间编码的每个宏块的运动矢量和视差矢量,将当前图像组中的第k帧右视点图像中编码模式为帧间编码的第u个宏块的运动矢量和视差矢量对应记为MVk,u和DVk,u,其中,k的初始值为1,1≤k≤KGOP,KGOP表示当前图像组中包含的立体图像的总帧数,u的初始值为1,1≤u≤UMB,UMB表示当前图像组中的第k帧右视点图像中编码模式为帧间编码的宏块的数目,Nmvpart表示当前图像组中的第k帧右视点图像中编码模式为帧间编码的第u个宏块采用运动矢量编码时包含的子块的数目,1≤v≤Nmvpart,Ndvpart表示当前图像组中的第k帧右视点图像中编码模式为帧间编码的第u个宏块采用视差矢量编码时包含的子块的数目,1≤v'≤Ndvpart,Lv,x和Lv,y对应表示当前图像组中的第k帧右视点图像中编码模式为帧间编码的第u个宏块采用运动矢量编码时第v个子块的宽和高,MVv,x和MVv,y对应表示当前图像组中的第k帧右视点图像中编码模式为帧间编码的第u个宏块采用运动矢量编码时第v个子块采用视点内预测编码的运动矢量的X方向分量和Y方向分量,Lv',x和Lv',y对应表示当前图像组中的第k帧右视点图像中编码模式为帧间编码的第u个宏块采用视差矢量编码时第v'个子块的宽和高,DVv',x和DVv',y对应表示当前图像组中的第k帧右视点图像中编码模式为帧间编码的第u个宏块采用视差矢量编码时第v'个子块采用视点间预测编码的视差矢量的X方向分量和Y方向分量,子块的大小为16×16或16×8或8×16或8×8;

并计算当前图像组中的每帧左视点图像中编码模式为帧间编码的每个宏块的运动矢量,将当前图像组中的第k帧左视点图像中编码模式为帧间编码的第u'个宏块的运动矢量记为MV'k,u', 其中,u'的初始值为1,1≤u'≤U'MB,U'MB表示当前图像组中的第k帧左视点图像中编码模式为帧间编码的宏块的数目,Npart表示当前图像组中的第k帧左视点图像中采用帧间编码的第u'个宏块中包含的子块的数目,1≤h≤Npart,L'h,x和L'h,y对应表示当前图像组中的第k帧左视点图像中编码模式为帧间编码的第u'个宏块采用运动矢量编码时第h个子块的宽和高,MV'h,x和MV'h,y对应表示当前图像组中的第k帧左视点图像中编码模式为帧间编码的第u'个宏块采用运动矢量编码时第h个子块采用视点内预测编码的运动矢量的X方向分量和Y方向分量;

③计算当前图像组中的每帧右视点图像的错误隐藏失真,将当前图像组中的第k帧右视点图像的错误隐藏失真记为

其中,Nmvinter表示当前图像组中的第k帧右视点图像中编码模式为帧间编码且采用运动矢量编码的宏块的数目,1≤i≤Nmvinter,Ndvinter表示当前图像组中的第k帧右视点图像中编码模式为帧间编码且采用视差矢量编码的宏块的数目,1≤i'≤Ndvinter,MVk,i表示当前图像组中的第k帧右视点图像中编码模式为帧间编码且采用运动矢量编码的第i个宏块的运动矢量,DVk,i'表示当前图像组中的第k帧右视点图像中编码模式为帧间编码且采用视差矢量编码的第i'个宏块的视差矢量,Nintra_16×16表示当前图像组中的第k帧右视点图像中编码模式为帧内16×16的宏块的数目,1≤w≤Nintra_16×16,Nintra_4×4表示当前图像组中的第k帧右视点图像中编码模式为帧内4×4的宏块的数目,1≤w'≤Nintra_4×4,Wintra_16×16(w)表示当前图像组中的第k帧右视点图像中编码模式为帧内16×16的第w个宏块的系数,Wintra_4×4(w')表示当前图像组中的第k帧右视点图像中编码模式为帧内4×4的第w'个宏块的系数,p表示错误隐藏失真系数;

并计算当前图像组中的每帧左视点图像的错误隐藏失真,将当前图像组中的第k帧左视点图像的错误隐藏失真记为 其

中,Ninter表示当前图像组中的第k帧左视点图像中编码模式为帧间编码且采用运动矢量编码的宏块的数目,1≤g≤Ninter,MV'k,g表示当前图像组中的第k帧左视点图像中编码模式为帧间编码且采用运动矢量编码的第g个宏块的运动矢量,N'intra_16×16表示当前图像组中的第k帧左视点图像中编码模式为帧内16×16的宏块的数目,1≤j≤N'intra_16×16,N'intra_4×4表示当前图像组中的第k帧左视点图像中编码模式为帧内4×4的宏块的数目,1 ≤j'≤N'intra_4×4,Wintra_16×16(j)表示当前图像组中的第k帧左视点图像中编码模式为帧内16×16的第j个宏块的系数,Wintra_4×4(j')表示当前图像组中的第k帧左视点图像中编码模式为帧内4×4的第j'个宏块的系数;

④计算当前图像组中的每帧右视点图像的错误扩散失真,将当前图像组中的第k帧右视点图像的错误扩散失真记为 其中, 表示当前图像组中的第k

帧右视点图像对其后续的第s帧右视点图像的错误扩散影响,亦表示当前图像组中的第k帧右视点图像对当前图像组中的第k+s帧右视点图像的错误扩散影响,当s=1时取当s≠1时 表示当前图像组中的第

k帧右视点图像对其后续的第s-1帧右视点图像的错误扩散影响,亦表示当前图像组中的第k帧右视点图像对当前图像组中的第k+s-1帧右视点图像的错误扩散影响,α表示错误扩散因子,RAk+1表示当前图像组中的第k帧右视点图像后续的第1帧右视点图像中编码模式为帧间编码的宏块的比例,亦表示当前图像组中的第k+1帧右视点图像中编码模式为帧间编码的宏块的比例,RAk+s表示当前图像组中的第k帧右视点图像后续的第s帧右视点图像中编码模式为帧间编码的宏块的比例,亦表示当前图像组中的第k+s帧右视点图像中编码模式为帧间编码的宏块的比例;

并计算当前图像组中的每帧左视点图像的错误扩散失真,将当前图像组中的第k帧左视点图像的错误扩散失真记为 其中, 表示当前图

像组中的第k帧左视点图像对其后续的第s帧左视点图像的错误扩散影响,亦表示当前图像组中的第k帧左视点图像对当前图像组中的第k+s帧左视点图像的错误扩散影响,当s=1时取 当s≠1时 表示当前图像组中的第k帧左视点图像对其后续的第s-1帧左视点图像的错误扩散影响,亦表示当前图像组中的第k帧左视点图像对当前图像组中的第k+s-1帧左视点图像的错误扩散影响,RA'k+1表示当前图像组中的第k帧左视点图像后续的第1帧左视点图像中编码模式为帧间编码的宏块的比例,亦表示当前图像组中的第k+1帧左视点图像中编码模式为帧间编码的宏块的比例,RA'k+s表示当前图像组中的第k帧左视点图像后续的第s帧左视点图像中编码模式为帧间编码的宏块的比例,亦表示当前图像组中的第k+s帧左视点图像中编码模式为帧间编码的宏块的比例, 表示当前图像组中的第k帧左视点图像对当前图像组中的第k+s帧右视点图像的错误扩散影响,当s=0时取 当s≠0时 表示当前图像组中的第k帧左视点图像对当前图像组中的第k+s-1帧右视点图像的错误扩散影响,RA表示当前图像组中的所有右视点图像采用视差矢量编码的平均比例;

⑤计算当前图像组中的每帧立体图像的总失真,将当前图像组中的第k帧立体图像的总失真记为FIDPk, 其中,β表示加权系数;

⑥计算当前图像组中的每帧立体图像的重要性权重,将当前图像组中的第k帧立体图像的重要性权重记为ωk,当k=1时取ωk=1;当k≠1时采用归一化方法对FIDPk进行归一化处理,得到的值赋值给ωk;

⑦将立体视频中下一个待处理的图像组作为当前图像组,然后返回步骤②继续执行,直至立体视频中的每个图像组处理完毕,得到立体视频中的每帧立体图像的重要性权重,完成立体视频中的每帧立体图像的重要性评估。

2.根据权利要求1所述的一种立体视频帧重要性评估方法,其特征在于所述的步骤③中取Wintra_16×16(w)=1.2,取Wintra_4×4(w')=1.3;所述的步骤③中取Wintra_16×16(j)=1.2,取Wintra_4×4(j')=1.3。

3.根据权利要求1或2所述的一种立体视频帧重要性评估方法,其特征在于所述的步骤④中错误扩散因子α的取值为0到1之间的数。

4.根据权利要求3所述的一种立体视频帧重要性评估方法,其特征在于所述的步骤⑤中加权系数β的取值为0.5。

5.根据权利要求4所述的一种立体视频帧重要性评估方法,其特征在于所述的步骤⑥中当k≠1时, 其中,FIDPmax表示当前图像组中除第1帧立体图像外的所有立体图像的总失真中的最大值,FIDPmin表示当前图像组中除第1帧立体图像外的所有立体图像的总失真中的最小值。

说明书 :

一种立体视频帧重要性评估方法

技术领域

[0001] 本发明涉及一种立体视频技术,尤其是涉及一种立体视频帧重要性评估方法,其可应用于立体视频编解码系统和指导立体视频网络传输。

背景技术

[0002] 随着信息化的迅速发展,数字信息已成为人类认知世界的重要途径。图像视频信息因具有内容丰富、视觉直观性很强等特点,已成为日常生活中传输信息的重要手段。立体技术是一种新兴发展技术,可广泛应用于各行各业,如在远程医疗、远程自动控制、立体视频会议、模拟现实环境、网上购物、工业电子等领域都有很强的发展前景。多视点视频系统是指含有从多个观看方向捕获同一场景的多视点视频序列,用户可以根据当前的位置,切换不同的视点观看视频,使人有身临其境的感觉。立体视频是由两个平行摄像机从不同视角对同一场景进行拍摄的,数据量是传统单视点视频的数据量的2倍,采集的数据经过抽样、量化、编码以后在异构网络中进行传输。目前新兴的IPv6的传输网络和信道不能完全满足立体视频的传输要求,不能保证视频信息的可靠传输,而对于异构的现实网络视频通信系统,最关心的是终端视频是否能够提供感知质量保证的视频服务。由于视频不同区域对终端视频质量的贡献度不同,因此,可以采取策略,保证贡献度高的视频信息的有效传输。QoS(Quality of Service)和QoE(Quality of Experience)是评价接收端视频质量的两个重要指标,如何根据异构网络的状况,建立视频传输失真模型,区分不同帧的重要性权重,区别对待重要等级不同帧信息,提高解码端视频的感知质量具有重要意义。
[0003] 在立体视频编码过程中,通常以GOP(图像组)为单位进行编码。在立体视频中,各帧的重要性是不相同的,帧的重要性区分最简单的方法是按编码位置来划分的,在一个GOP中,将I帧的重要性设为最高、P帧次之、B帧的重要性最低,这样当网络拥塞时可以丢掉部分重要性低的B帧,从而保证立体视频的实时传输,某些传输协议中也将I帧和P帧的重要性的比重设置为固定值。然而,只按编码位置进行帧重要性区分,忽略了图像内容的影响,虽然简单,但不准确,无法保证终端视频的质量。
[0004] 另外一种是利用视频流媒体传输失真模型确定每帧重要性,最常见的方法是在发送端建立视频流传输失真模型的思想,考虑编码模式、错误传播等能表征内容的因数,推导出不同情况下,通过视频特性参数和网络传输质量递归估算出每帧视频终端表现质量。基于递归的帧重要性区分方法,可以预测多视点视频中任何视点帧带来的错误传播,在随机丢包的情况下,准确的估计出各帧的失真值,但这种方法计算量很大,不利于立体视频的实时传输。

发明内容

[0005] 本发明所要解决的技术问题是提供一种立体视频帧重要性评估方法,其能够有效地区分不同帧的重要等级,指导网络中的不等保护传输策略,从而提高终端视频的感知质量。
[0006] 本发明解决上述技术问题所采用的技术方案为:一种立体视频帧重要性评估方法,其特征在于包括以下步骤:
[0007] ①在立体视频编码过程中以图像组为单位进行编码,将立体视频中当前待处理的图像组定义为当前图像组;
[0008] ②计算当前图像组中的每帧右视点图像中编码模式为帧间编码的每个宏块的运动矢量和视差矢量,将当前图像组中的第k帧右视点图像中编码模式为帧间编码的第u个宏块的运动矢量和视差矢量对应记为MVk,u和DVk,u,其中,k的初始值为1,1≤k≤KGOP,KGOP表示当前图像组中包含的立体图像的总帧数,u的初始值为1,1≤u≤UMB,UMB表示当前图像组中的第k帧右视点图像中编码模式为帧间编码的宏块的数目,Nmvpart表示当前图像组中的第k帧右视点图像中编码模式为帧间编码的第u个宏块采用运动矢量编码时包含的子块的数目,1≤v≤Nmvpart,Ndvpart表示当前图像组中的第k帧右视点图像中编码模式为帧间编码的第u个宏块采用视差矢量编码时包含的子块的数目,1≤v'≤Ndvpart,Lv,x和Lv,y对应表示当前图像组中的第k帧右视点图像中编码模式为帧间编码的第u个宏块采用运动矢量编码时第v个子块的宽和高,MVv,x和MVv,y对应表示当前图像组中的第k帧右视点图像中编码模式为帧间编码的第u个宏块采用运动矢量编码时第v个子块采用视点内预测编码的运动矢量的X方向分量和Y方向分量,Lv',x和Lv',y对应表示当前图像组中的第k帧右视点图像中编码模式为帧间编码的第u个宏块采用视差矢量编码时第v'个子块的宽和高,DVv',x和DVv',y对应表示当前图像组中的第k帧右视点图像中编码模式为帧间编码的第u个宏块采用视差矢量编码时第v'个子块采用视点间预测编码的视差矢量的X方向分量和Y方向分量,子块的大小为16×16或16×8或8×16或8×8;
[0009] 并计算当前图像组中的每帧左视点图像中编码模式为帧间编码的每个宏块的运动矢量,将当前图像组中的第k帧左视点图像中编码模式为帧间编码的第u'个宏块的运动矢量记为MV'k,u', 其中,u'的初始值为1,1≤u'≤U'MB,U'MB表示当前图像组中的第k帧左视点图像中编码模式为帧间编码的宏块的数目,Npart表示当前图像组中的第k帧左视点图像中采用帧间编码的第u'个宏块中包含的子块的数目,1≤h≤Npart,L'h,x和L'h,y对应表示当前图像组中的第k帧左视点图像中编码模式为帧间编码的第u'个宏块采用运动矢量编码时第h个子块的宽和高,MV'h,x和MV'h,y对应表示当前图像组中的第k帧左视点图像中编码模式为帧间编码的第u'个宏块采用运动矢量编码时第h个子块采用视点内预测编码的运动矢量的X方向分量和Y方向分量;
[0010] ③计算当前图像组中的每帧右视点图像的错误隐藏失真,将当前图像组中的第k帧右视点图像的错误隐藏失真记为 其中,Nmvinter表示当前图像组中的第k帧右视点图像中编码模式为帧间编码且采用运动矢量编码的宏块的数目,1≤i≤Nmvinter,Ndvinter表示当前图像组中的第k帧右视点图像中编码模式为帧间编码且采用视差矢量编码的宏块的数目,1≤i'≤Ndvinter,MVk,i表示当前图像组中的第k帧右视点图像中编码模式为帧间编码且采用运动矢量编码的第i个宏块的运动矢量,DVk,i'表示当前图像组中的第k帧右视点图像中编码模式为帧间编码且采用视差矢量编码的第i'个宏块的视差矢量,Nintra_16×16表示当前图像组中的第k帧右视点图像中编码模式为帧内16×16的宏块的数目,1≤w≤Nintra_16×16,Nintra_4×4表示当前图像组中的第k帧右视点图像中编码模式为帧内4×4的宏块的数目,1≤w'≤Nintra_4×4,Wintra_16×16(w)表示当前图像组中的第k帧右视点图像中编码模式为帧内16×16的第w个宏块的系数,Wintra_4×4(w')表示当前图像组中的第k帧右视点图像中编码模式为帧内4×4的第w'个宏块的系数,p表示错误隐藏失真系数;
[0011] 并计算当前图像组中的每帧左视点图像的错误隐藏失真,将当前图像组中的第k帧左视点图像的错误隐藏失真记为 其中,Ninter表示当前图像组中的第k帧左视点图像中编码模式为帧间编码且采用运动矢量编码的宏块的数目,1≤g≤Ninter,MV'k,g表示当前图像组中的第k帧左视点图像中编码模式为帧间编码且采用运动矢量编码的第g个宏块的运动矢量,N'intra_16×16表示当前图像组中的第k帧左视点图像中编码模式为帧内16×16的宏块的数目,1≤j≤N'intra_16×16,N'intra_4×4表示当前图像组中的第k帧左视点图像中编码模式为帧内4×4的宏块的数目,1 ≤j'≤N'intra_4×4,Wintra_16×16(j)表示当前图像组中的第k帧左视点图像中编码模式为帧内16×16的第j个宏块的系数,Wintra_4×4(j')表示当前图像组中的第k帧左视点图像中编码模式为帧内4×4的第j'个宏块的系数;
[0012] ④计算当前图像组中的每帧右视点图像的错误扩散失真,将当前图像组中的第k帧右视点图像的错误扩散失真记为 其中, 表示当前图像组中的第k帧右视点图像对其后续的第s帧右视点图像的错误扩散影响,亦表示当前图像组中的第k帧右视点图像对当前图像组中的第k+s帧右视点图像的错误扩散影响,当s=1时取当s≠1时 表示当前图像组中的第
k帧右视点图像对其后续的第s-1帧右视点图像的错误扩散影响,亦表示当前图像组中的第k帧右视点图像对当前图像组中的第k+s-1帧右视点图像的错误扩散影响,α表示错误扩散因子,RAk+1表示当前图像组中的第k帧右视点图像后续的第1帧右视点图像中编码模式为帧间编码的宏块的比例,亦表示当前图像组中的第k+1帧右视点图像中编码模式为帧间编码的宏块的比例,RAk+s表示当前图像组中的第k帧右视点图像后续的第s帧右视点图像中编码模式为帧间编码的宏块的比例,亦表示当前图像组中的第k+s帧右视点图像中编码模式为帧间编码的宏块的比例;
[0013] 并计算当前图像组中的每帧左视点图像的错误扩散失真,将当前图像组中的第k帧左视点图像的错误扩散失真记为 其中, 表示当前图像组中的第k帧左视点图像对其后续的第s帧左视点图像的错误扩散影响,亦表示当前图像组中的第k帧左视点图像对当前图像组中的第k+s帧左视点图像的错误扩散影响,当s=1时取 当s≠1时 表示当前图像组
中的第k帧左视点图像对其后续的第s-1帧左视点图像的错误扩散影响,亦表示当前图像组中的第k帧左视点图像对当前图像组中的第k+s-1帧左视点图像的错误扩散影响,RA'k+1表示当前图像组中的第k帧左视点图像后续的第1帧左视点图像中编码模式为帧间编码的宏块的比例,亦表示当前图像组中的第k+1帧左视点图像中编码模式为帧间编码的宏块的比例,RA'k+s表示当前图像组中的第k帧左视点图像后续的第s帧左视点图像中编码模式为帧间编码的宏块的比例,亦表示当前图像组中的第k+s帧左视点图像中编码模式为帧间编码的宏块的比例, 表示当前图像组中的第k帧左视点图像对当前图像组中的第k+s帧右视点图像的错误扩散影响,当s=0时取 当s≠0时
表示当前图像组中的第k帧左视点图像对当前图像组中的第k+s-1帧右视点图像的错误扩散影响,RA表示当前图像组中的所有右视点图像采用视差矢量编码的平均比例;
[0014] ⑤计算当前图像组中的每帧立体图像的总失真,将当前图像组中的第k帧立体图像的总失真记为FIDPk, 其中,β表示加权系数;
[0015] ⑥计算当前图像组中的每帧立体图像的重要性权重,将当前图像组中的第k帧立体图像的重要性权重记为ωk,当k=1时取ωk=1;当k≠1时采用归一化方法对FIDPk进行归一化处理,得到的值赋值给ωk;
[0016] ⑦将立体视频中下一个待处理的图像组作为当前图像组,然后返回步骤②继续执行,直至立体视频中的每个图像组处理完毕,得到立体视频中的每帧立体图像的重要性权重,完成立体视频中的每帧立体图像的重要性评估。
[0017] 所述的步骤③中取Wintra_16×16(w)=1.2,取Wintra_4×4(w')=1.3;所述的步骤③中取Wintra_16×16(j)=1.2,取Wintra_4×4(j')=1.3。
[0018] 所述的步骤④中错误扩散因子α的取值为0到1之间的数。
[0019] 所述的步骤⑤中加权系数β的取值为0.5。
[0020] 所述的步骤⑥中当k≠1时, 其中,FIDPmax表示当前图像组中除第1帧立体图像外的所有立体图像的总失真中的最大值,FIDPmin表示当前图像组中除第1帧立体图像外的所有立体图像的总失真中的最小值。
[0021] 与现有技术相比,本发明的优点在于:
[0022] 1)本发明方法在计算每帧立体图像的总失真时,利用该帧立体图像的左视点图像的错误扩散失真和右视点图像的错误扩散失真之和与该帧立体图像的左视点图像的错误隐藏失真和右视点图像的错误隐藏失真之和加权得到,得到的总失真的精度较高,因此本发明方法能够有效地区分不同帧的重要等级,指导网络中的不等保护传输策略,从而提高终端视频的感知质量。
[0023] 2)本发明方法在计算每帧右视点图像的错误隐藏失真的过程中,加入了该帧右视点图像中编码模式为帧间编码且采用视差矢量编码的宏块视差矢量,而在计算这些宏块的视差矢量时考虑了子块采用视点间预测编码的视差矢量,这使得计算得到的右视点图像的错误隐藏失真的结果更为准确。
[0024] 3)本发明方法在计算每帧左视点图像的错误扩散失真的过程中,利用当前帧对后续视点内和视点间编码帧的扩散失真影响累加得到,且在计算时加入了错误扩散因子,这使得计算得到的左视点图像的错误扩散失真的结果更为准确。

附图说明

[0025] 图1为本发明方法的总体实现框图;
[0026] 图2为利用本发明方法对Book序列中的一个图像组(长度为10)中的每帧立体图像进行重要性评估得到的重要性权重的估算图;
[0027] 图3为利用本发明方法对Aquarium序列中的一个图像组(长度为10)中的每帧立体图像进行重要性评估得到的重要性权重的估算图;
[0028] 图4为利用本发明方法对Crowd序列中的一个图像组(长度为10)中的每帧立体图像进行重要性评估得到的重要性权重的估算图;
[0029] 图5为利用本发明方法对Flame序列中的一个图像组(长度为10)中的每帧立体图像进行重要性评估得到的重要性权重的估算图。

具体实施方式

[0030] 以下结合附图实施例对本发明作进一步详细描述。
[0031] 本发明提出的一种立体视频帧重要性评估方法,其总体实现框图如图1所示,其包括以下步骤:
[0032] ①采用立体编码结构对立体视频进行编码,在立体视频编码过程中以图像组为单位进行编码,将立体视频中当前待处理的图像组定义为当前图像组。
[0033] 在立体视频编码过程中,宏块有许多子块编码模式可以选择,当帧信息运动纹理区域丰富时,编码就会采用精细、准确的编码模式;当帧内容比较静止平滑时,就会采用帧间SKIP等简单模式。检测立体视频的编码过程,可以得到宏块的编码模式、编码位置、运动矢量和视差矢量等信息,根据编码得到的宏块的编码模式信息,可将宏块分为编码模式为帧间编码的宏块和编码模式为帧内编码的宏块。
[0034] ②右视点图像中编码宏块既有运动矢量,也会有视差矢量,因此计算当前图像组中的每帧右视点图像中编码模式为帧间编码的每个宏块的运动矢量和视差矢量,将当前图像组中的第k帧右视点图像中编码模式为帧间编码的第u个宏块的运动矢量和视差矢量对应记为MVk,u和DVk,u, 其中,k的初始值为1,1≤k≤KGOP,KGOP表示当前图像组中包含的立体图像的总帧数,u的初始值为1,1≤u≤UMB,UMB表示当前图像组中的第k帧右视点图像中编码模式为帧间编码的宏块的数目,Nmvpart表示当前图像组中的第k帧右视点图像中编码模式为帧间编码的第u个宏块采用运动矢量编码时包含的子块的数目,1≤v≤Nmvpart,Ndvpart表示当前图像组中的第k帧右视点图像中编码模式为帧间编码的第u个宏块采用视差矢量编码时包含的子块的数目,1≤v'≤Ndvpart,Lv,x和Lv,y对应表示当前图像组中的第k帧右视点图像中编码模式为帧间编码的第u个宏块采用运动矢量编码时第v个子块的宽和高,MVv,x和MVv,y对应表示当前图像组中的第k帧右视点图像中编码模式为帧间编码的第u个宏块采用运动矢量编码时第v个子块采用视点内预测编码的运动矢量的X方向分量和Y方向分量,Lv',x和Lv',y对应表示当前图像组中的第k帧右视点图像中编码模式为帧间编码的第u个宏块采用视差矢量编码时第v'个子块的宽和高,DVv',x和DVv',y对应表示当前图像组中的第k帧右视点图像中编码模式为帧间编码的第u个宏块采用视差矢量编码时第v'个子块视点间预测编码的视差矢量的X方向分量和Y方向分量,子块的大小为16×16、16×8、8×16或8×8。
[0035] 左视点图像中编码宏块只有运动矢量,因此计算当前图像组中的每帧左视点图像中编码模式为帧间编码的每个宏块的运动矢量,将当前图像组中的第k帧左视点图像中编码模式为帧间编码的第u'个宏块的运动矢量记为MV'k,u', 其中,u'的初始值为1,1≤u'≤U'MB,U'MB表示当前图像组中的第k帧左视点图像中编码模式为帧间编码的宏块的数目,Npart表示当前图像组中的第k帧左视点图像中采用帧间编码的第u'个宏块中包含的子块的数目,1≤h≤Npart,L'h,x和L'h,y对应表示当前图像组中的第k帧左视点图像中编码模式为帧间编码的第u'个宏块采用运动矢量编码时第h个子块的宽和高,MV'h,x和MV'h,y对应表示当前图像组中的第k帧左视点图像中编码模式为帧间编码的第u'个宏块采用运动矢量编码时第h个子块采用视点内预测编码的运动矢量的X方向分量和Y方向分量。
[0036] ③计算当前图像组中的每帧右视点图像的错误隐藏失真,将当前图像组中的第k帧右视点图像的错误隐藏失真记为 其中,Nmvinter表示当前图像组中的第k帧右视点图像中编码模式为帧间编码且采用运动矢量编码的宏块的数目,1≤i≤Nmvinter,Ndvinter表示当前图像组中的第k帧右视点图像中编码模式为帧间编码且采用视差矢量编码的宏块的数目,1≤i'≤Ndvinter,MVk,i表示当前图像组中的第k帧右视点图像中编码模式为帧间编码且采用运动矢量编码的第i个宏块的运动矢量,DVk,i'表示当前图像组中的第k帧右视点图像中编码模式为帧间编码且采用视差矢量编码的第i'个宏块的视差矢量,Nintra_16×16表示当前图像组中的第k帧右视点图像中编码模式为帧内16×16的宏块的数目,1≤w≤Nintra_16×16,Nintra_4×4表示当前图像组中的第k帧右视点图像中编码模式为帧内4×4的宏块的数目,1≤w'≤Nintra_4×4,Wintra_16×16(w)表示当前图像组中的第k帧右视点图像中编码模式为帧内16×16的第w个宏块的系数,Wintra_4×4(w')表示当前图像组中的第k帧右视点图像中编码模式为帧内4×4的第w'个宏块的系数,p表示错误隐藏失真系数。在此,由于编码模式为帧内编码的宏块数目相对较少,通过不同场景复杂度序列多次离线试验,编码模式为帧内编码的宏块的运动矢量和视差矢量取值为16时,效果较好;在本实施例中,取Wintra_16×16(w)=1.2,取Wintra_4×4(w')=1.3,p随不同的视频序列而变化,同一个序列中,所有帧的总失真中都会含有错误隐藏失真系数,在本发明方法中最终采用归一化方法计算帧重要性时,错误隐藏失真系数会被消除。
[0037] 并计算当前图像组中的每帧左视点图像的错误隐藏失真,将当前图像组中的第k帧左视点图像的错误隐藏失真记为其中,Ninter表示当前图像组中的第k帧左视点图像中编码模式为帧间编码且采用运动矢量编码的宏块的数目,1≤g≤Ninter,MV'k,g表示当前图像组中的第k帧左视点图像中编码模式为帧间编码且采用运动矢量编码的第g个宏块的运动矢量,N'intra_16×16表示当前图像组中的第k帧左视点图像中编码模式为帧内16×16的宏块的数目,1≤j≤N'intra_16×16,N'intra_4×4表示当前图像组中的第k帧左视点图像中编码模式为帧内4×4的宏块的数目,1≤j'≤N'intra_4×4,Wintra_16×16(j)表示当前图像组中的第k帧左视点图像中编码模式为帧内16×16的第j个宏块的系数,Wintra_4×4(j')表示当前图像组中的第k帧左视点图像中编码模式为帧内4×4的第j'个宏块的系数。在此,由于编码模式为帧内编码的宏块数目相对较少,因此经过多次试验,编码模式为帧内编码的宏块的运动矢量取值为16时效果较好;在本实施例中,取Wintra_16×16(j)=1.2,取Wintra_4×4(j')=1.3。
[0038] ④计算当前图像组中的每帧右视点图像的错误扩散失真,将当前图像组中的第k帧右视点图像的错误扩散失真记为 其中, 表示当前图像组中的第k帧右视点图像对其后续的第s帧右视点图像的错误扩散影响,亦表示当前图像组中的第k帧右视点图像对当前图像组中的第k+s帧右视点图像的错误扩散影响,当s=1时取当s≠1时 表示当前图像组中的第
k帧右视点图像对其后续的第s-1帧右视点图像的错误扩散影响,亦表示当前图像组中的第k帧右视点图像对当前图像组中的第k+s-1帧右视点图像的错误扩散影响,α表示错误扩散因子,一般取0到1之间的数,这里取α=0.96,RAk+1表示当前图像组中的第k帧右视点图像后续的第1帧右视点图像中编码模式为帧间编码的宏块的比例,亦表示当前图像组中的第k+1帧右视点图像中编码模式为帧间编码的宏块的比例,RAk+s表示当前图像组中的第k帧右视点图像后续的第s帧右视点图像中编码模式为帧间编码的宏块的比例,亦表示当前图像组中的第k+s帧右视点图像中编码模式为帧间编码的宏块的比例。
[0039] 在计算当前图像组中的第k帧右视点图像的错误扩散失真时,第k帧右视点图像只能作为其后续帧的参考帧,第k帧右视点图像只需考虑对其后续右视点图像的错误扩散失真。
[0040] 并计算当前图像组中的每帧左视点图像的错误扩散失真,将当前图像组中的第k帧左视点图像的错误扩散失真记为 其中, 表示当前图像组中的第k帧左视点图像对其后续的第s帧左视点图像的错误扩散影响,亦表示当前图像组中的第k帧左视点图像对当前图像组中的第k+s帧左视点图像的错误扩散影响,当s=1时取 当s≠1时 表示当前图
像组中的第k帧左视点图像对其后续的第s-1帧左视点图像的错误扩散影响,亦表示当前图像组中的第k帧左视点图像对当前图像组中的第k+s-1帧左视点图像的错误扩散影响,RA'k+1表示当前图像组中的第k帧左视点图像后续的第1帧左视点图像中编码模式为帧间编码的宏块的比例,亦表示当前图像组中的第k+1帧左视点图像中编码模式为帧间编码的宏块的比例,RA'k+s表示当前图像组中的第k帧左视点图像后续的第s帧左视点图像中编码模式为帧间编码的宏块的比例,亦表示当前图像组中的第k+s帧左视点图像中编码模式为帧间编码的宏块的比例, 表示当前图像组中的第k帧左视点图像对当前图像组中的第k+s帧右视点图像的错误扩散影响,其需要考虑右视点采用视点间的视差矢量编码的平均比例,来表征右视点参考左视点编码的数目,当s=0时取 当s≠0时
表示当前图像组中的第k帧左视点图像对当前图像组中的第k+s-
1帧右视点图像的错误扩散影响,RA表示当前图像组中的所有右视点图像采用视差矢量编码的平均比例。
[0041] 在计算当前图像组中的第k帧左视点图像的错误扩散失真时,第k帧左视点图像可以作为左视点和右视点后续帧的参考帧,第k帧左视点图像需要考虑对两个视点方向后续帧的错误扩散失真。
[0042] ⑤计算当前图像组中的每帧立体图像的总失真,即帧重要性失真参数FIDP(Frame Importance Distortion Parameter),主要包括每帧立体图像的左视点图像和右视点图像各自的错误隐藏失真和错误扩散失真两部分,将当前图像组中的第k帧立体图像的总失真记为FIDPk, 其中,β表示加权系数,经过离线测试经验值取0.5。
[0043] ⑥计算当前图像组中的每帧立体图像的重要性权重,将当前图像组中的第k帧立体图像的重要性权重记为ωk,当k=1时取ωk=1;当k≠1时采用归一化方法对FIDPk进行归一化处理,得到的值赋值给ωk, 其中,FIDPmax表示当前图像组中除第1帧立体图像外的所有立体图像的总失真中的最大值,FIDPmin表示当前图像组中除第1帧立体图像外的所有立体图像的总失真中的最小值。
[0044] 由于每个图像组中的第1帧立体图像为I帧,I帧不参考其它帧进行编码,采用帧内编码模式,图像组中的后续立体图像参考I帧进行预测编码,I帧信息的失真会对后续所有帧产生影响,因此I帧的重要性最高,将I帧的重要性权重赋值为1,剩下的每帧立体图像采用归一化方法对立体图像的总失真进行归一化处理,得到相应的重要性权重。
[0045] ⑦将立体视频中下一个待处理的图像组作为当前图像组,然后返回步骤②继续执行,直至立体视频中的每个图像组处理完毕,得到立体视频中的每帧立体图像的重要性权重,完成立体视频中的每帧立体图像的重要性评估。
[0046] 为进一步说明本发明方法的可行性和有效性,进行试验。
[0047] 首先在编码平台JM上编码Nframe帧立体图像,编码结构为IPPP,然后依次丢失每一帧立体图像的信息,并进行视频解码,同时采用现有的帧复制的错误隐藏方法对出错区域进行恢复,最后将立体图像中的像素点的原始像素值和解码图像中的像素点的像素值进行求差,得到每一帧立体图像丢失时所产生的失真,这里采用MSE来表示,其中,M表示立体图像的宽,N表示立体图像的高,f(x,y)表示立体图像中坐标位置为(x,y)的像素点的原始像素值,f0(x,y)表示立体图像中坐标位置为(x,y)的像素点的重建像素值。在进行帧重要性权重计算时,仍然认为I帧是最重要的,将I帧的重要性权重设为1,一个图像组中除第一帧立体图像外的每帧立体图像采用归一化方法进行帧重要性权重计算。
[0048] 本发明选取运动缓慢的Book序列、运动稍剧烈的Aquarium序列和Crowd序列、运动剧烈的Flame序列各自中的一个长度为10的图像组,利用本发明方法对4个图像组共40帧立体图像分别进行帧重要性评估,图2、图3、图4和图5对应给出了利用本发明方法对Book序列、Aquarium序列、Crowd序列和Flame序列各自中的一个图像组(长度为10)中的每帧立体图像进行重要性评估得到的重要性权重的估算图。图2至图5中,点折线代表的是实验值圈折线代表的是模型值,从图2至图5中可以看出,模型值得到的帧重要性权重和实验值得到的结果基本一致,第1帧和第21帧为I帧,将其重要性权重赋值为1,通过实验可以统计得到Book序列、Aquarium序列、Crowd序列、Flame序列中右视点中的第1帧即第2帧只能参考左视点进行编码,但图像左右视点相关性不强,所以视差矢量就会很大,此帧丢失带来的总失真就会很大,归一化后帧重要性权重就会很高。在Flame序列中的第1个图像组中,I帧和右视点第1帧的重要性等级最高,后续编码帧的重要性权重较低,通过实验值可验证本发明方法的区分较准确;对于Flame序列中的第2个图像组,即第20帧到第40帧,视频中的对象正在做一个剧烈的旋转运动,每帧的运动矢量都较大,与右视点第1帧的视差矢量数值相差不大,因而结果与第1个图像组不同。与传统没有考虑编码模式、运动和静止等内容因子的方法相比,本发明方法更加能够提高区分的准确性,反映人眼的感知。这使得本发明方法可以在编码端估计各帧对终端视频感知质量的贡献度,指导视频传输过程中的拥塞控制策略和差错控制策略,提高接收端视频感知质量。