帧内同步立体视频多参考帧模式视间预测编码及解码方法

文档序号:7795846阅读:186来源:国知局
专利名称:帧内同步立体视频多参考帧模式视间预测编码及解码方法
技术领域
本发明涉及一种立体视频压缩编码技术,具体是一种针对水平并行(SbS, Side-by-Side)或上下排列(TaB,Top-and-Bottom)格式的帧内同步立体视频,按左、右视点采用分条块(Slice)进行编码,并在编码时利用多参考帧编码模式,实现视间预测编码及相应解码的方法。
背景技术
立体视频因其能提供丰富的视觉信息和强烈的沉浸感已成为流行趋势,随着科技的发展,立体视频技术日后必将在文化、娱乐、教育、安全等领域发挥巨大作用。立体视频利用人眼的双目视差原理,双目各自独立地接收来自同一场景的特定摄像点的左右图像,左眼看偏左的图像,右眼看偏右的图像,形成双目视差,再经过大脑的视觉处理,使观看到的图像有强烈深度感、逼真感。水平并行(SbQ及上下排列(TaB)立体视频格式是目前主流的帧内同步立体视频格式。水平并行格式将适于左眼观看和适于右眼观看的两幅图像分别进行水平亚采样,使两幅图像的水平分辨率降为原来的一半,然后拼成一幅帧内同步的立体图像,这样就可以有效解决双目图像之间的帧同步问题,同时与现有2D电视视频格式相兼容。上下排列格式则通过垂直亚采样,实现双视点立体图像的帧内同步。立体电视机接收到SbS或TaB格式的立体视频后,将每幅图像按其格式,通过分割及图像内插方式还原左右视点图像,并由显示部分显示输出。帧内同步立体视频格式解决了双视点视频间的同步问题,而且同步后的视频与当前高清视频格式兼容,因此SbS格式及TaB格式的帧内同步立体视频已成为立体电视应用中的一种事实标准格式。相比普通二维视频,帧内同步立体视频虽然在图像尺寸上与之相同,但每幅图像的左视点与右视点图像之间有很强的相关性,在压缩编码的时候利用这些相关性进行视间预测可以取得更大的压缩效率。国际电信联盟ITU-T和国际标准化组织ISO联合开发的视频压缩编码标准H. 264/ AVC的附录H多视视频编码(Annex H-Multiview video coding)规定了多视视频编码的视间预测方式。在多视视频编码中,每个视点都是一个独立的视频序列,视间预测在两幅位于不同视点的视频序列图像之间进行。由于帧内同步格式的立体视频只包含一个序列,左视点图像和右视点图像被合成在一幅图像中。因此,针对这类立体视频进行高效编码时,需要充分利用同一图像中左右视点图像的视间相关性,这就需要针对每一帧图像在编码时进行视间预测方式进行编码。

发明内容
本发明的目的在于提出一种针对帧内同步立体视频,采用按左、右视点将图像划分为对应的两个条块,基于多参考帧编码模式,对立体视频中一个视点图像的条块视频进行视间预测编码的方法,以及与上述编码方法对应的解码方法。
本发明是通过以下技术方案实现的本发明所述的帧内同步立体视频多参考帧模式视间预测编码方法,包括以下步骤第一步将帧内同步格式的立体视频图像按左右视点划分为两个条块slice,分别为第一条块sliceO和第二条块slicel,如左边视点图像划分到第一条块sliceO,右边视点图像划分到第二条块slicel。第二步按H. 264/AVC标准方法编码待编码图像的第一条块sliceO。第三步在解码图像缓存(DPB)中创建一幅空图像,称为temp,将其作为短期参考添加到参考图像列表。该temp图像与所编码图像相同,按左右视点划分为第一条块sliceO 和第二条块slicel。第四步参考图像列表的重排序。检查参考帧列表中temp图像的索引值(ref_ idx),若不为0则设置temp图像的索引值(ref_idx)为0,其余所有参考图像的索引值 (ref_idx)依次加1 ’若为0直接进入下一步。第五步将重建的第一条块sliceO复制到解码图像缓存(DPB)中空图像temp的第二条块slicel。第六步检查待编码图像的第二条块slicel的片头语义元素sliCe_type,若 slice_type为I_SLICE,则改为P_SLICE ;否则直接进入下一步。第七步对待编码图像的第二条块slicel,采用多参考帧模式进行预测编码,完成视间/帧间混合预测,结合其它编码方式通过率失真优化确定待编码图像的第二条块 slicel的宏块(块)的最终编码方式。第八步解码图像缓存(DPB)的调整与参考图像列表的重排序。在解码图像缓存 (DPB)中,删除当前temp图像,并在参考图像列表中,将索引值(ref_idx)为1开始的所有后续参考帧索引值(ref_idx)减1。编码方法第一步所述的将帧内同步格式的立体视频图像按左右视角划分为两个条块slice指利用视频压缩编码标准H. 264/AVC的灵活宏块次序(Flexible Macroblock Ordering)功能,将属于帧内同步立体视频中的左图像和右图像的宏块分别划分到第一条士夬sliceO和第二条块slicel中。编码方法第二步所述的编码待编码图像的第一条块sliceO指按视频压缩编解码标准H. 264/AVC对待编码图像的第一条块sliceO进行标准模式下的压缩编码。编码方法第三步所述的将空图像temp存入解码图像缓存(DPB)指先将所创建的空图像temp存入解码图像缓存(DPB),然后通过参考帧列表初始化将空图像temp的索引值存入参考帧列表。该空图像temp同其它图像一样包含两个条块sliceO和slicel。编码方法第四步所述的参考图像列表的重排序指检测参考帧列表中temp图像的索引值,若为0则进行下一步;否则设置temp图像的索引值(refjdx)为0,其余所有参考图像的索引值(ref_idx)依次加1,以减小采用temp图像做参考图像时索引值的编码代价。编码方法第五步所述的将重建的第一条块sliceO复制到解码图像缓存(DPB)中的空图像temp的第二条块slicel指将编码后重建的第一条块sliceO各点的像素值赋给解码图像缓存(DPB)中的空图像temp的第二条块slicel的各对应点,空图像temp的第一条块sliceO不需要赋值。编码方法第六步所述的修改片头语义指若待编码条带类型为I条带,则将待编码条带第二条块slicel的片头语义元素slice_type由I_SLICE改为P_SLICE,使得第二条块slicel能够进行基于多参考帧的视间预测编码;否则不作修改。编码方法第七步所述的预测编码指待编码图像的第二条块slicel的宏块 (块)依据参考图像列表索引的每帧图像的第二条块slicel部分,按视频压缩编解码标准 H. ^4/AVC所规定的多参考帧预测编码方式进行预测编码。待编码图像的第二条块slicel 各宏块(块)最终采用的编码方式需要结合视频压缩编解码标准H. ^4/AVC所规定的各种编码方式,根据率失真优化的结果确定。由于多参考帧中temp图像实际为视间图像,因此在采用多参考帧预测进行编码时,选择的参考图像若为之前所建立的temp图像,即进行了视间预测编码。编码方法第八步所述的删除当前temp图像指将当前temp图像从解码图像缓存 (DPB)中删除,防止编码下一帧图像时将当前temp图像加入参考图像列表;同时,在参考图像列表中,将索引值(ref_idx)为1开始的所有后续参考帧索引值(ref_idx)减1若当前图像为IDR图像,则按视频压缩编码标准H. 264/AVC的规定直接清空解码图像缓存(DPB) 和初始化参考图像列表。本发明所述的帧内同步立体视频多参考帧模式视间预测解码方法,包括以下步骤第一步解码待解码帧的第一条块sliceO部分。第二步在解码图像缓存(DPB)中创建一帧空图像,称为temp,将其在参考图像列表中加入并设置索引(refjdx)为0,其余所有参考图像的索引值(refjdx)依次加1。第三步将解码的第一条块sliceO复制到解码图像缓存(DPB)中的空图像temp 的第二条块slicel部分。第四步根据待解码图像的第二条块slicel各宏块(块)的参考帧情况解码各宏块(块)。第五步解码图像缓存(DPB)的调整与参考图像列表的重排序。在解码图像缓存 (DPB)中,删除当前temp图像,并在参考图像列表中,将索引值(ref_idx)为1开始的所有后续参考帧索引值(ref_idx)减1。解码方法第一步所述的解码待解码帧的第一条块sliceO指按视频压缩编码标准 H. 264/AVC对待解码帧的第一条块sliceO进行解码。解码方法第二步所述的将空图像temp存入解码图像缓存(DPB)指先将所创建的空图像temp存入解码图像缓存(DPB),然后通过参考帧列表初始化将空图像temp的索引值存入参考帧列表。该空图像同其它图像一样包含两个条块sliceO和slicel。并且设置 temp图像在参考图像列表中的索引值(ref_idx)为0,其余将所有参考图像的索引值(ref_ idx)依次加1。解码方法第三步所述的将解码的第一条块sliceO复制到解码图像缓存(DPB)中的空图像temp的第二条块slicel指将解码的第一条块sliceO各点的像素值赋给解码图像缓存(DPB)中的空图像temp的第二条块slicel的各对应点,temp的第一条块sliceO不
需要赋值。
解码方法第四步所述的解码方式指采用帧内预测、基于多参考帧的帧间预测或视间预测解码待解码图像的第二条块slicel的各宏块(块)。解码方法第五步所述的解码图像缓存(DPB)的调整与参考图像列表的重排序。指将当前temp图像从解码图像缓存(DPB)中删除,防止解码下一幅图像时将当前temp图像加入参考帧列表。同时,在参考图像列表中,将索引值(ref_idx)为1开始的所有后续参考帧索引值(ref_idx)减1。若当前图像为IDR图像,则按视频压缩编码标准H. 264/AVC的规定直接清空解码图像缓存(DPB)和初始化参考图像列表。与现有技术相比,本发明针对帧内同步立体视频(水平并行<SbS>或上下排列 <TaB>),采用按左、右视点将图像划分为对应的两个条块(SliceO和Slicel),基于多参考帧编码模式,对立体视频中一个视点图像的条块视频进行视间预测编码和解码。该编码方法可以有效利用视点间的相关性提高基于帧内同步的立体视频的编码压缩效率。


图1是本发明编码方法实施例的流程图;图2是本发明编码方法实施例的编码示意图;图3是本发明解码方法实施例的流程图。具体实现方式下面结合附图对本发明的实施例作详细说明本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。实施例中没有详细说明的按照发明内容中的技术方案操作,发明内容中也没有说明的,采用现有常规技术操作。图1所示为并行立体视频多参考帧视间预测编码流程图,其过程为将SbS格式的并行立体视频图像按左右划分为两个条块slice,左边图像划分为 sliceO,右边图像划分为slicel,所划分的两个slice也可以用其它名称命名。按视频压缩编码H. 264/AVC标准编码sliceO。在解码图像缓存(DBP)中创建一幅空图像temp并将其添加到参考图像列表中,所创建的空图像将来经过赋值后可以作为视间预测编码的参考图像,该空图像也可以用其它名称命名。确定参考图像列表中temp图像的索引值,若不为O则设置temp图像的索引值 (ref_idx)为0,其余所有参考图像的索引值(refjdx)依次加1 ;若为O直接进入下一步。复制重建的sliceO到参考帧列表的temp图像的slicel中。该temp图像可以作为接下来slicel编码时的视间预测参考图像。判断当前编码图像的类型,若是I图像则修改该图像slicel的片头语义元素 slice_type为P_SLICE,否则直接进入下一步。编码slicel,slicel各宏块(块)根据率失真优化结果,从帧内预测和基于多参考帧的帧间预测或视间预测中选择最合适的编码方式进行编码。判断当前编码图像是否为IDR图像,若不是IDR图像则将当前temp图像从解码图像缓存(DP^中删除,同时,在参考图像列表中,将索引值(ref_idx)为1开始的所有后续参考帧索引值(ref_idx)减1。若当前图像为IDR图像,则按视频压缩编码标准H. 264/AVC的规定直接清空解码图像缓存(DPB)和初始化参考图像列表,编码结束。删除当前temp图像的目的是防止造成后续编码时参考图像列表管理的混乱。表1是本实施例的并行立体视频图像slice划分配置参数表,利用H. 264/AVC标准的FMO功能根据表中参数将并行立体视频的图像划分为两个slice。其中,SliceMode 规定了每一个条带的模式,指定了在一个slice group中的slice个数,在本实施例中设定为 O,表不一个 slice_group 仅有一个 slice ;num_slice_group s_minusl 指明每中贞图像包含的slice group个数,其值为每帧图像包含的slice g roup个数减一,在本实施例中设定为1,即每帧图像采用两个slice group,每个slice group中有一个slice,就分别对应了前面所提至丨J的 sliceO 禾口 slicel ;slice_group_map_type 与 s 1 ice_group_change_ direction_flag —起指明slice映射方式,本实施例中采用wipe方式;slice_group_ change_rate_minusl则可用来指明对于所划分的两个slice中sliceO所包含的宏块个数, 在本实施例中,为了实现帧内同步格式的编码,将一帧图像分解成两个对等的slice,设置该值为 PicSizeInMapUnits/2-l。表 权利要求
1.一种帧内同步立体视频多参考帧模式视间预测编码方法,其特征在于包括以下步骤第一步将帧内同步格式的立体视频图像按左右视点划分为两个条块slice,分别为第一条块sliceO和第二条块slicel ;第二步编码待编码图像的第一条块sliceO ;第三步在解码图像缓存中创建一幅空图像,称为temp,将其作为短期参考添加到参考图像列表,该temp图像与所编码图像相同,按左右视点划分为第一条块sliceO和第二条块 slicel ;第四步参考图像列表的重排序检查参考帧列表中temp图像的索引值(refjdx),若不为0则设置temp图像的索引值(ref_idx)为0,其余所有参考图像的索引值(refjdx) 依次加1 ;若为0直接进入下一步;第五步将重建的第一条块sliceO复制到解码图像缓存中空图像temp的第二条块 slicel ;第六步检查待编码图像的第二条块slicel的片头语义元素sliCe_type,若slice_ type为I_SLICE,则改为P_SLICE ;否则直接进入下一步;第七步对待编码图像的第二条块slicel,采用多参考帧模式进行预测编码,完成视间/帧间混合预测,通过率失真优化确定待编码图像的第二条块slicel的宏块的最终编码方式;第八步解码图像缓存的调整与参考图像列表的重排序在解码图像缓存中,删除当前temp图像,并在参考图像列表中,将索引值(ref_idx)为1开始的所有后续参考帧索引值(refjdx)减 1。
2.根据权利要求1所述的帧内同步立体视频多参考帧模式视间预测编码方法,其特征在于所述的第一步中,利用视频压缩编码标准H. ^4/AVC的灵活宏块次序功能,将属于帧内同步立体视频中的左图像和右图像的宏块分别划分到第一条块sliceO和第二条块 slicel中;所述的第二步中,按视频压缩编解码标准H. ^4/AVC对待编码图像的第一条块 sliceO进行标准模式下的压缩编码。
3.根据权利要求1所述的帧内同步立体视频多参考帧模式视间预测编码方法,其特征在于所述的第三步中,先将所创建的空图像temp存入解码图像缓存,然后通过参考帧列表初始化将空图像temp的索引值存入参考帧列表,该空图像temp同其它图像一样包含两个条块 sliceO 和 slicel。
4.根据权利要求1任一项所述的帧内同步立体视频多参考帧模式视间预测编码方法, 其特征在于所述的第七步中,待编码图像的第二条块slicel的宏块依据参考图像列表索引的每帧图像的第二条块slicel部分,按视频压缩编解码标准H. ^4/AVC所规定的多参考帧预测编码方式进行预测编码;待编码图像的第二条块slicel各宏块最终采用的编码方式要结合视频压缩编解码标准H. ^4/AVC所规定的各种编码方式,根据率失真优化的结果确定;多参考帧中temp图像实际为视间图像,在采用多参考帧预测进行编码时,选择的参考图像若为之前所建立的temp图像,即进行了视间预测编码。
5.根据权利要求1-4任一项所述的帧内同步立体视频多参考帧模式视间预测编码方法,其特征在于所述的第八步中,将当前temp图像从解码图像缓存中删除,防止编码下一帧图像时将当前temp图像加入参考图像列表;同时,在参考图像列表中,将索引值(ref_ idx)为1开始的所有后续参考帧索引值(ref_idx)减1,若当前图像为IDR图像,则按视频压缩编码标准H. 264/AVC的规定直接清空解码图像缓存和初始化参考图像列表。
6.一种帧内同步立体视频多参考帧模式视间预测解码方法,其特征在于包括以下步骤第一步解码待解码帧的第一条块sliceO部分;第二步在解码图像缓存中创建一帧空图像,称为temp,将其在参考图像列表中加入并设置索引(ref_idx)为0,其余所有参考图像的索引值(refjdx)依次加1 ;第三步将解码的第一条块sliceO复制到解码图像缓存中的空图像temp的第二条块 slicel 部分;第四步根据待解码图像的第二条块slicel各宏块的参考帧情况解码各宏块;第五步解码图像缓存的调整与参考图像列表的重排序在解码图像缓存中,删除当前temp图像,并在参考图像列表中,将索引值(ref_idx)为1开始的所有后续参考帧索引值(refjdx)减 1。
7.根据权利要求6所述的帧内同步立体视频多参考帧模式视间预测解码方法,其特征在于所述的第一步中,按视频压缩编码标准H. 264/AVC对待解码帧的第一条块sliceO进行解码。
8.根据权利要求6所述的帧内同步立体视频多参考帧模式视间预测解码方法,其特征在于所述的第二步中,先将所创建的空图像temp存入解码图像缓存,然后通过参考帧列表初始化将空图像temp的索引值存入参考帧列表,该空图像同其它图像一样包含两个条块sliceO和slicel,并且设置temp图像在参考图像列表中的索引值(ref_idx)为0,其余将所有参考图像的索引值(ref_idx)依次加1。
9.根据权利要求6所述的帧内同步立体视频多参考帧模式视间预测解码方法,其特征在于所述的第四步中,采用帧内预测、基于多参考帧的帧间预测或视间预测解码待解码图像的第二条块slicel的各宏块。
10.根据权利要求6-9任一项所述的帧内同步立体视频多参考帧模式视间预测解码方法,其特征在于所述的第五步中,将当前temp图像从解码图像缓存中删除,防止解码下一幅图像时将当前temp图像加入参考帧列表,同时,在参考图像列表中,将索引值(ref_idx) 为1开始的所有后续参考帧索引值(ref_idx)减1 ;若当前图像为IDR图像,则按视频压缩编码标准H. 264/AVC的规定直接清空解码图像缓存和初始化参考图像列表。
全文摘要
一种帧内同步立体视频多参考帧模式视间预测编码及解码方法,所述编码方法为将帧内同步格式的立体视频图像按左右视角关系分为两个条块;待编码图像的第一条块按标准进行编码;在解码图像缓存中建立一帧空图像并将其加入参考图像列表中,设索引值为0;调整参考图像列表中其他参考图像的索引值;将重建的第一条块复制到空图像的第二条块中;若第二条块的编码图像类型为I条带,修改该图像的第二条块的片头语义元素slice_type为P条带类型;待编码图像的第二条块参考正常帧间关系及增加的空图像进行预测编码,以实现对第二条块增加视间预测补偿编码;删除当前空图像。本发明能够提高帧内同步立体视频编码的压缩率。
文档编号H04N13/00GK102438147SQ20111044025
公开日2012年5月2日 申请日期2011年12月23日 优先权日2011年12月23日
发明者周军, 孙军, 王凌杰, 金小聪 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1