CN101986716A - 一种快速深度视频编码方法 - Google Patents
一种快速深度视频编码方法 Download PDFInfo
- Publication number
- CN101986716A CN101986716A CN 201010533644 CN201010533644A CN101986716A CN 101986716 A CN101986716 A CN 101986716A CN 201010533644 CN201010533644 CN 201010533644 CN 201010533644 A CN201010533644 A CN 201010533644A CN 101986716 A CN101986716 A CN 101986716A
- Authority
- CN
- China
- Prior art keywords
- frame
- current
- viewpoint
- reference frame
- macro block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
本发明公开了一种快速深度视频编码方法,通过将多视点深度视频预测编码结构中的所有视点分为主视点、第一级辅助视点和第二级辅助视点三类,且针对不同视点不同类型的编码帧采取不同的快速编码策略,利用已编码帧信息判断深度视频信号的视点间相关性,以决定是否对当前编码帧进行视点间预测;并利用当前编码帧中当前编码宏块的已编码相邻块的运动矢量或最优匹配块搜索方式决定是否在当前编码宏块编码时进行双向搜索,从而避免了当前编码帧编码过程中一些较为费时但效果可能不佳的搜索,在保证深度图的准确性和压缩效率的同时,有效降低了多视点深度视频编码的计算复杂度。
Description
技术领域
本发明涉及一种多视点视频信号的编码技术,尤其是涉及一种快速深度视频编码方法。
背景技术
多视点视频可以提供某一场景或拍摄对象在不同角度和不同层面的信息,并且生成多角度、全方位的立体视觉。因此,多视点视频系统在视频监控、影音娱乐、沉浸式会议和特殊效果的广告等领域都有广阔的应用前景。多视点彩色视频和多视点深度视频联合(MVD,Multiview Video plus Depth)是3D场景的核心数据表现方式。MVD数据格式的3D信息表达方法能够较好地描述场景的几何信息,特别是对于视角范围较宽、深度层次丰富的场景都能很完整地给出视频信息,也能做到接收端绘制的灵活性。MVD数据量是普通单通道视频的十几甚至几十倍,编码复杂度则是传统单通道编码的几十甚至上百倍。因此,多视点深度视频和多视点彩色视频一样需要快速编码。
在基于MVD的自由视点视频系统中,可以传输一个视点的彩色视频和其相应的深度视频,然后生成另一个虚拟视点,形成一对立体视频。为了推广应用和降低成本,用于虚拟视点图像绘制的深度信息不适合在接收端通过深度估计产生,需要在发送端通过采集或者估计然后编码传送给接收端。由于显示和产品多样性的要求,仅仅一路的彩色视频加深度视频的表示格式很难适应大范围立体感知的应用,特别是针对自由视点视频等要求形成多个不同角度的立体显示的应用环境。多个视点的彩色视频加多个视点的深度视频的这种表示格式更适合于三维场景表示。为了消除MVD信号的时间冗余、空间冗余和视点间冗余信息,多视点视频信号编码往往比单通道视频信号编码具有更加复杂的预测编码结构,其编码算法复杂度也远远大于单通道视频信号编码算法。因此,如何提高编码压缩效率和重建图像质量,降低编码算法的复杂度成了多视点视频信号编码中的焦点。
深度信息的获取有两种方式:第一种方式是通过深度相机进行采集,使用深度相机可以获得更为精确的深度图,但还是存在一定的制约,比如深度相机的采集距离仅在1~10米之间,也就是说深度相机无法采集户外场景的深度信息;另外,深度相机不能得到广泛应用的一个重要原因是其价格非常昂贵。第二种方式是通过深度估计算法估计获取深度图,这是现阶段获取深度图的主要方式,深度估计算法是通过多视点彩色视频的视差匹配来估计深度信息,但利用深度估计算法获取的深度图的精度并不十分理想,存在时间连续性差、深度不连续等问题,这会造成深度图的压缩和编码效率的下降。目前,很多学者已经提出了多视点彩色视频的快速编码方法,但是这些方法都是针对多视点彩色视频提出的,不能直接应用于多视点深度视频的编码。另外,还有一些学者开展了对深度视频预处理和深度视频压缩方法的研究,这些方法可以提高深度图的准确性和压缩效率,但由于没有考虑到多视点视频序列的视点间冗余度问题,因而不能有效降低多视点深度视频编码的计算复杂度。
发明内容
本发明所要解决的技术问题是提供一种在保证深度图的准确性和压缩效率的同时,能够有效降低多视点深度视频编码的计算复杂度的快速深度视频编码方法。
本发明解决上述技术问题所采用的技术方案为:一种快速深度视频编码方法,其特征在于将多视点深度视频预测编码结构中的所有视点分为主视点、第一级辅助视点和第二级辅助视点三类,所述的主视点为只进行时间预测而不进行视点间预测的视点,所述的第一级辅助视点是指关键帧进行视点间预测、非关键帧只进行时间预测而不进行视点间预测的视点,所述的第二级辅助视点是指关键帧进行视点间预测、非关键帧既进行时间预测又进行视点间预测的视点,将多视点深度视频预测编码结构中的所有视点的关键帧的集合表示为C1,将主视点的非关键帧和所有第一级辅助视点的非关键帧的集合表示为C2,将所有第二级辅助视点的非关键帧的集合表示为C3,对于不同类别的帧,其编码过程不同,具体如下:
①判断当前编码帧是否属于C1,如果是,则继续执行;否则,执行步骤②;
①-1、定义当前编码帧中当前正在处理的宏块为当前编码宏块;
①-2、根据当前编码帧的参考帧列表,分别采用前向、后向和双向搜索这三种搜索方式遍历搜索当前编码帧的参考帧列表中的相应参考帧,从相应参考帧中寻找当前编码宏块的最优匹配块作为当前编码宏块的预测值完成对当前编码宏块的编码;
①-3、将当前编码帧中下一个处理的宏块作为当前编码宏块,重复执行步骤①-1至步骤①-3,直至完成对当前编码帧中的所有宏块的编码,结束当前编码帧的编码,然后执行步骤④;
②判断当前编码帧是否属于C2,如果是,则继续执行;否则,执行步骤③;
②-1、定义当前编码帧中当前正在处理的宏块为当前编码宏块,令当前编码宏块的左相邻块、上相邻块、右上相邻块的率失真代价分别为RdA、RdB和RdC,计算RdA、RdB和RdC的均值并记为Ttime;考察当前编码宏块的左相邻块、上相邻块、右上相邻块以及左上相邻块这些已编码宏块的运动矢量,如果这些已编码宏块中至少2个以上的宏块的运动矢量的幅值都大于等于阈值m,即其中dx和dy分别表示左相邻块、上相邻块、右上相邻块以及左上相邻块这些已编码宏块中的某个已编码宏块的运动矢量的水平分量和垂直分量,则记当前编码宏块的双向搜索标记为B,并令B=1,否则,记当前编码宏块的双向搜索标记为B,并令B=0;
②-2、根据当前编码帧的参考帧列表,按前向搜索方式依次逐一搜索当前编码帧的参考帧列表中的前向参考帧并计算相应的率失真代价,记对当前前向参考帧进行前向搜索后得到的率失真代价为Rdforward;
②-3、对于当前前向参考帧,如果满足条件:(Rdforward-Ttime)<aTtime,其中a为(0,1]区间内的小数,则执行步骤②-4,否则,返回执行步骤②-2,继续按前向搜索方式依次逐一搜索当前编码帧的参考帧列表中的其它前向参考帧,直至搜索完当前编码帧的参考帧列表中的所有前向参考帧,然后执行步骤②-4;
②-4、根据当前编码帧的参考帧列表,按后向搜索方式依次逐一搜索当前编码帧的参考帧列表中的后向参考帧并计算相应的率失真代价,记对当前后向参考帧进行后向搜索后得到的率失真代价为Rdbackward;
②-5、对于当前后向参考帧,如果满足条件:(Rdbackward-Ttime)<aTtime,其中a为(0,1]区间内的小数,则执行步骤②-6,否则,返回执行步骤②-4,继续按后向搜索方式依次逐一搜索当前编码帧的参考帧列表中的其它后向参考帧,直至搜索完当前编码帧的参考帧列表中的所有后向参考帧,然后执行步骤②-6;
②-6、判断当前编码宏块的双向搜索标记B是否为0,如果是,则不进行双向搜索而直接执行步骤②-7,否则,若当前编码宏块的双向搜索标记B为1,则进一步对当前编码宏块采用双向搜索方式进行搜索并计算率失真代价,然后执行步骤②-7;
②-7、从前向、后向和可能进行过的双向搜索这三种搜索方式所获得的率失真代价中,选择具有最小率失真代价的参考帧中的匹配块,作为当前编码宏块的最优匹配块,以当前编码宏块的最优匹配块为当前编码宏块的预测值完成对当前编码宏块的编码;
②-8、将当前编码帧中下一个处理的宏块作为当前编码宏块,重复执行步骤②-1至步骤②-8,直至完成对当前编码帧中的所有宏块的编码,结束当前编码帧的编码,然后执行步骤④;
③如果当前编码帧属于C3,则继续执行,否则,执行步骤④;
③-1、定义当前编码帧中当前正在处理的宏块为当前编码宏块,计算当前编码帧所在视点的前一个第二级辅助视点中与当前编码帧同一时刻的帧的视点间相关性系数,记为Rv-1,其中,表示当前编码帧所在视点的前一个第二级辅助视点中与当前编码帧同一时刻的帧编码时选择视点间参考帧为最优参考帧的宏块的个数,N表示多视点深度视频信号一帧中包含的宏块的总数;计算当前编码帧所在视点中比当前编码帧层次更低的C3类帧的视点间相关性系数,记为Rt-1,其中,表示当前编码帧所在视点中比当前编码帧层次更低的C3类帧编码时选择视点间参考帧为最优参考帧的宏块的个数;计算阈值T,其中,n表示当前编码帧为当前编码帧所在视点的第n幅被编码的C3类帧,Ri表示当前编码帧所在视点中第i幅已被编码的C3类帧的视点间相关性系数, 表示当前编码帧所在视点中第i幅已被编码的C3类帧编码时选择视点间参考帧为最优参考帧的宏块的个数;
③-2、根据当前编码帧的参考帧列表,按前向搜索方式搜索当前编码帧的参考帧列表中的相应参考帧,其中对于当前编码帧的参考帧列表中的采用时间预测方式的所有前向参考帧均进行前向搜索,对于当前编码帧的参考帧列表中的采用视点间预测方式的所有前向参考帧,如果满足条件:Rt-1>T且Rv-1>T,则进行视点间预测方式的前向搜索,否则,不进行视点间预测方式的前向搜索;
③-3、根据当前编码帧的参考帧列表,按后向搜索方式搜索当前编码帧的参考帧列表中的相应参考帧,其中对于当前编码帧的参考帧列表中的采用时间预测方式的所有后向参考帧均进行后向搜索,对于当前编码帧的参考帧列表中的采用视点间预测方式的所有后向参考帧,如果满足条件:Rt-1>T且Rv-1>T,则进行视点间预测方式的后向搜索,否则,不进行视点间预测方式的后向搜索;
③-4、判断当前编码宏块的左相邻块、上相邻块、右上相邻块以及左上相邻块这些已编码宏块的最优匹配块的搜索方式,如果这四个相邻块中其最优匹配块采用双向搜索方式的相邻块个数大于2,则进一步对当前编码宏块采用双向搜索方式搜索当前编码帧的参考帧列表中的相应参考帧,否则,不进行双向搜索而直接执行步骤③-5;
③-5、从前向、后向和可能进行过的双向搜索这三种搜索方式所获得的率失真代价中,选择具有最小率失真代价的参考帧中的匹配块,作为当前编码宏块的最优匹配块,以当前编码宏块的最优匹配块为当前编码宏块的预测值完成对当前编码宏块的编码;
③-6、将当前编码帧中下一个处理的宏块作为当前编码宏块,重复执行步骤③-1至③-6,直至完成对当前编码帧中的所有宏块的编码,结束当前编码帧的编码,然后执行步骤④;
④返回步骤①继续执行,直至多视点深度视频预测编码结构中的所有视点包括的帧处理完毕。
与现有技术相比,本发明的优点在于通过将多视点深度视频预测编码结构中的所有视点分为主视点、第一级辅助视点和第二级辅助视点三类,且针对不同视点不同类型的编码帧采取不同的快速编码策略,利用已编码帧信息判断深度视频信号的视点间相关性,以决定是否对当前编码帧进行视点间预测;并利用当前编码帧中当前编码宏块的已编码相邻块的运动矢量或最优匹配块搜索方式决定是否在当前编码宏块编码时进行双向搜索,从而避免了当前编码帧编码过程中一些较为费时但效果可能不佳的搜索,在保证深度图的准确性和压缩效率的同时,有效降低了多视点深度视频编码的计算复杂度。
附图说明
图1为基于HBP结构的多视点深度视频预测编码结构的示意图;
图2为“Ballet”多视点深度视频测试序列的8个视点;
图3为“Door Flowers”多视点深度视频测试序列的8个视点。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
本发明提出的一种快速深度视频编码方法,其将多视点深度视频预测编码结构中的所有视点分为主视点、第一级辅助视点和第二级辅助视点三类,主视点为只进行时间预测而不进行视点间预测的视点,第一级辅助视点是指关键帧进行视点间预测、非关键帧只进行时间预测而不进行视点间预测的视点,第二级辅助视点是指关键帧进行视点间预测、非关键帧既进行时间预测又进行视点间预测的视点,将多视点深度视频预测编码结构中的所有视点的关键帧的集合表示为C1,将主视点的非关键帧和所有第一级辅助视点的非关键帧的集合表示为C2,将所有第二级辅助视点的非关键帧的集合表示为C3。图1给出了基于HBP结构的多视点深度视频预测编码结构的示意图,其中视点S0为主视点,视点S2、视点S4和视点S6为第一级辅助视点,而视点S1、视点S3、视点S5和视点S7为第二级辅助视点;C1表示S0~S7这八个视点中的关键帧,即各视点中时刻T0和时刻T8对应的各帧,C2表示主视点S0和第一级辅助视点即视点S2、视点S4和视点S6中时刻T1~T7对应的各帧,C3表示第二级辅助视点即视点S1、视点S3、视点S5和视点S7中时刻T1~T7对应的各帧。对于不同类别的帧,其编码过程不同,具体如下:
①判断当前编码帧是否属于C1,如果是,则继续执行;否则,执行步骤②。
①-1、定义当前编码帧中当前正在处理的宏块为当前编码宏块。
①-2、根据当前编码帧的参考帧列表,分别采用前向、后向和双向搜索这三种搜索方式遍历搜索当前编码帧的参考帧列表中的相应参考帧,从相应参考帧中寻找当前编码宏块的最优匹配块作为当前编码宏块的预测值完成对当前编码宏块的编码。在参考帧列表中既有前向参考帧,也有后向参考帧,对于前向参考帧采用前向搜索,对于后向参考帧采用后向搜索,而双向搜索则要利用前向参考帧和后向参考帧这两类参考帧。
①-3、将当前编码帧中下一个处理的宏块作为当前编码宏块,重复执行步骤①-1至步骤①-3,直至完成对当前编码帧中的所有宏块的编码,结束当前编码帧的编码,然后执行步骤④。
由于C1类帧为多视点深度视频预测编码结构中的所有视点中的关键帧,其解码重建图像将作为其它帧进行预测编码的最原始的参考帧,因此需要保持C1类帧的解码重建图像具有较高的质量,因而在本发明中,对于C1类帧直接沿用前向、后向和双向搜索方式遍历搜索所有参考帧的方式,未采用快速搜索算法,这样可有效保证解码重建图像的质量。
②判断当前编码帧是否属于C2,如果是,则继续执行;否则,执行步骤③。
②-1、定义当前编码帧中当前正在处理的宏块为当前编码宏块,令当前编码宏块的左相邻块、上相邻块、右上相邻块的率失真代价分别为RdA、RdB和RdC,计算RdA、RdB和RdC的均值并记为Ttime;考察当前编码宏块的左相邻块、上相邻块、右上相邻块以及左上相邻块这些已编码宏块的运动矢量,如果这些已编码宏块中至少2个以上的宏块的运动矢量的幅值都大于等于阈值m,即其中dx和dy分别表示左相邻块、上相邻块、右上相邻块以及左上相邻块这些已编码宏块中的某个已编码宏块的运动矢量的水平分量和垂直分量,则记当前编码宏块的双向搜索标记为B,并令B=1,否则,记当前编码宏块的双向搜索标记为B,并令B=0。
②-2、根据当前编码帧的参考帧列表,按前向搜索方式依次逐一搜索当前编码帧的参考帧列表中的前向参考帧并计算相应的率失真代价,记对当前前向参考帧进行前向搜索后得到的率失真代价为Rdforward。
②-3、对于当前前向参考帧,如果满足条件:(Rdforward-Ttime)<aTtime,其中a为(0,1]区间内的小数,则执行步骤②-4,否则,返回执行步骤②-2,继续按前向搜索方式依次逐一搜索当前编码帧的参考帧列表中的其它前向参考帧,直至搜索完当前编码帧的参考帧列表中的所有前向参考帧,然后执行步骤②-4。
②-4、根据当前编码帧的参考帧列表,按后向搜索方式依次逐一搜索当前编码帧的参考帧列表中的后向参考帧并计算相应的率失真代价,记对当前后向参考帧进行后向搜索后得到的率失真代价为Rdbackward。
②-5、对于当前后向参考帧,如果满足条件:(Rdbackward-Ttime)<aTtime,其中a为(0,1]区间内的小数,则执行步骤②-6,否则,返回执行步骤②-4,继续按后向搜索方式依次逐一搜索当前编码帧的参考帧列表中的其它后向参考帧,直至搜索完当前编码帧的参考帧列表中的所有后向参考帧,然后执行步骤②-6。
②-6、判断当前编码宏块的双向搜索标记B是否为0,如果是,则不进行双向搜索而直接执行步骤②-7,否则,若当前编码宏块的双向搜索标记B为1,则进一步对当前编码宏块采用双向搜索方式进行搜索并计算率失真代价,然后执行步骤②-7。
②-7、从前向、后向和可能进行过的双向搜索这三种搜索方式所获得的率失真代价中,选择具有最小率失真代价的参考帧中的匹配块,作为当前编码宏块的最优匹配块,以当前编码宏块的最优匹配块为当前编码宏块的预测值完成对当前编码宏块的编码。
②-8、将当前编码帧中下一个处理的宏块作为当前编码宏块,重复执行步骤②-1至步骤②-8,直至完成对当前编码帧中的所有宏块的编码,结束当前编码帧的编码,然后执行步骤④。
对于C2类帧中当前编码宏块的编码,按前向搜索、后向搜索的顺序实施搜索,在前向搜索的过程中,如果对于当前前向参考帧满足条件(Rdforward-Ttime)<aTtime,则提前中止前向搜索,即不再搜索其余的未搜索的前向参考帧,而直接开始后向搜索过程。这里a的值控制了提前终止前向和后向搜索时需满足的搜索精度,a越小,意味着对当前编码宏块的搜索精度要求越高,则提前终止的情况越少,编码速度的提升相对也越少,反之亦然。本实施例中,取a=0.5。类似的,在后向搜索的过程中,如果对于当前后向参考帧满足条件(Rdbackward-Ttime)<aTtime,则提前中止后向搜索,即不再搜索其余的未搜索的后向参考帧,而转入双向搜索过程,但最终是否实施双向搜索则取决于当前编码宏块的双向搜索标记B的值是1还是0,如果B为0则不进行双向搜索,因为统计分析表明此时双向搜索获得最优匹配块的概率较小,而双向搜索本身计算量较大,因而此时可以摈弃双向搜索过程。
③如果当前编码帧属于C3,则继续执行,否则,执行步骤④。
③-1、定义当前编码帧中当前正在处理的宏块为当前编码宏块,计算当前编码帧所在视点的前一个第二级辅助视点中与当前编码帧同一时刻的帧的视点间相关性系数,记为Rv-1,其中,表示当前编码帧所在视点的前一个第二级辅助视点中与当前编码帧同一时刻的帧编码时选择视点间参考帧为最优参考帧的宏块的个数,N表示多视点深度视频信号一帧中包含的宏块的总数。在本实施例中,如果当前编码帧所在视点为视点S3,则当前编码帧所在视点的前一个第二级辅助视点即为视点S1,因为视点S1先于视点S3被编码,所以可以利用视点S1编码的信息来动态判断当前深度视频信号的视点间相关性大小,从而判定是否需要对当前编码宏块进行视点间搜索;如果当前编码帧所在视点为视点S5,则当前编码帧所在视点的前一个第二级辅助视点即为视点S3;如果当前编码帧所在视点为视点S7,则当前编码帧所在视点的前一个第二级辅助视点即为视点S5。特别的,如果当前编码帧所在视点为视点S1,则由于视点S1为第一个第二级辅助视点,不存在前一个第二级辅助视点,从而无法计算当前编码帧所在视点的前一个第二级辅助视点中与当前编码帧同一时刻的帧的视点间相关性系数Rv-1,因此在编码视点S1中的C3类帧时,步骤③-2和步骤③-3中的条件Rt-1>T且Rv-1>T将简化为单一的条件Rt-1>T。
计算当前编码帧所在视点中比当前编码帧层次更低的C3类帧的视点间相关性系数,记为Rt-1,其中,表示当前编码帧所在视点中比当前编码帧层次更低的C3类帧编码时选择视点间参考帧为最优参考帧的宏块的个数。本实施例中,对于第二级辅助视点中的非关键帧,即C3类帧,在同一视点中,作为当前编码帧的时间参考帧的C3类帧的层次低于当前编码帧的层次,例如图1中,对于视点S1、视点S3和视点S5,B2帧层次<B3帧层次<b4帧层次,对于视点S7,B1帧层次<B2帧层次<B3帧层次,层次低的C3类帧先于层次高的C3类帧编码,因而在编码层次相对较高的C3类帧时可以利用已编码的层次相对较低的C3类帧的采用视点间预测作为其最优预测结果的宏块比例,即Rt-1来判定当前深度视频信号的视点间相关性大小,从而判定是否需要对当前编码宏块进行视点间搜索。例如,对于视点S1中时刻T1的b4帧,其Rt-1来自于视点S1中时刻T2的B3帧的统计信息,而视点S1中时刻T2的B3帧的Rt-1则来自于视点S1中时刻T4的B2帧的统计信息。特别的,对于视点S3中时刻T4的B2帧、视点S5中时刻T4的B2帧,以及视点S7中时刻T4的B1帧,由于它们的时间参考帧均为所在视点的关键帧,而这些关键帧不同时具有时间预测和视点间预测参考关系,所以无法从关键帧编码结果中得到视点间相关性统计结果,因此,无法得到视点S3中时刻T4的B2帧、视点S5中时刻T4的B2帧,以及视点S7中时刻T4的B1帧的Rt-1,此时,步骤③-2和步骤③-3中的条件Rt-1>T且Rv-1>T将简化为单一的条件Rv-1>T。此外,对于视点S1中时刻T4的B2帧,由于既不能计算其Rv-1,也不能计算其Rt-1,因此,对于该帧的编码将进行视点间预测方式的前后向搜索。
计算阈值T,其中,n表示当前编码帧为当前编码帧所在视点的第n幅被编码的C3类帧,Ri表示当前编码帧所在视点中第i幅已被编码的C3类帧的视点间相关性系数, 表示当前编码帧所在视点中第i幅已被编码的C3类帧编码时选择视点间参考帧为最优参考帧的宏块的个数。本实施例中,特别的,对于视点S3中时刻T4的B2帧、视点S5中时刻T4的B2帧,以及视点S7中时刻T4的B1帧,由于它们为所在视点的第1幅被编码的C3类帧,阈值T无法用公式进行计算,因此,设置初始阈值T=0.04。
③-2、根据当前编码帧的参考帧列表,按前向搜索方式搜索当前编码帧的参考帧列表中的相应参考帧,其中对于当前编码帧的参考帧列表中的采用时间预测方式的所有前向参考帧均进行前向搜索,对于当前编码帧的参考帧列表中的采用视点间预测方式的所有前向参考帧,如果满足条件:Rt-1>T且Rv-1>T,则进行视点间预测方式的前向搜索,否则,不进行视点间预测方式的前向搜索。
③-3、根据当前编码帧的参考帧列表,按后向搜索方式搜索当前编码帧的参考帧列表中的相应参考帧,其中对于当前编码帧的参考帧列表中的采用时间预测方式的所有后向参考帧均进行后向搜索,对于当前编码帧的参考帧列表中的采用视点间预测方式的所有后向参考帧,如果满足条件:Rt-1>T且Rv-1>T,则进行视点间预测方式的后向搜索,否则,不进行视点间预测方式的后向搜索。
③-4、判断当前编码宏块的左相邻块、上相邻块、右上相邻块以及左上相邻块这些已编码宏块的最优匹配块的搜索方式,如果这四个相邻块中其最优匹配块采用双向搜索方式的相邻块个数大于2,则进一步对当前编码宏块采用双向搜索方式搜索当前编码帧的参考帧列表中的相应参考帧,否则不进行双向搜索而直接执行步骤③-5。
③-5、从前向、后向和可能进行过的双向搜索这三种搜索方式所获得的率失真代价中,选择具有最小率失真代价的参考帧中的匹配块,作为当前编码宏块的最优匹配块,以当前编码宏块的最优匹配块为当前编码宏块的预测值完成对当前编码宏块的编码。
③-6、将当前编码帧中下一个处理的宏块作为当前编码宏块,重复执行步骤③-1至③-6,直至完成对当前编码帧中的所有宏块的编码,结束当前编码帧的编码,然后执行步骤④。
④返回步骤①继续执行,直至多视点深度视频预测编码结构中的所有视点包括的帧处理完毕。
以下为对本发明的编码方法进行测试,以证明本发明的编码方法的有效性和可行性。测试环境如表1所列,在Intel Core2 Duo 3.0GHz、3.25GB内存的计算机上,测试了JMVM的原始算法和本发明的编码方法。图2和图3分别为“Ballet”和“Door Flowers”多视点深度视频测试序列各个视点的第0时刻帧。表2给出了“Ballet”和“Door Flowers”两个多视点深度视频测试序列在不同QP(量化参数)的情况下,分别采用JMVM的原始算法和本发明的编码方法的编码时间以及速度提升情况。表2中,s表示时间秒,Speedup等于JMVM的原始算法的编码时间与本发明的编码方法的编码时间的比值。本发明的编码方法对不同多视点深度视频测试序列速度提高程度不一样,这和多视点深度视频测试序列本身的运动特性、视点间相关性大小、初始深度图错误程度有关。“Doorflowers”多视点深度视频测试序列的视点间相关性较小,编码过程中很多C3类帧中的宏块都满足不进行视点间参考帧搜索的条件,因此可以节省较多的编码时间;而“Ballet”多视点深度视频测试序列的视点间相关性较大,对许多编码帧中宏块进行编码时必须遍历所有参考帧才能找到最优匹配块,因而节省时间相对“Door Flowers”多视点深度视频测试序列要小。表3给出了采用JMVM的原始算法和本发明的编码方法的率失真性能的比较,从表3中可知,本发明的编码方法的率失真性能和JMVM的原始算法的率失真性能相比几乎保持不变。
表1测试环境
表2本发明的编码方法与JMVM的编码时间比较(s)
表3率失真性能的比较(dB/Kbps)
Claims (1)
1.一种快速深度视频编码方法,其特征在于将多视点深度视频预测编码结构中的所有视点分为主视点、第一级辅助视点和第二级辅助视点三类,所述的主视点为只进行时间预测而不进行视点间预测的视点,所述的第一级辅助视点是指关键帧进行视点间预测、非关键帧只进行时间预测而不进行视点间预测的视点,所述的第二级辅助视点是指关键帧进行视点间预测、非关键帧既进行时间预测又进行视点间预测的视点,将多视点深度视频预测编码结构中的所有视点的关键帧的集合表示为C1,将主视点的非关键帧和所有第一级辅助视点的非关键帧的集合表示为C2,将所有第二级辅助视点的非关键帧的集合表示为C3,对于不同类别的帧,其编码过程不同,具体如下:
①判断当前编码帧是否属于C1,如果是,则继续执行;否则,执行步骤②;
①-1、定义当前编码帧中当前正在处理的宏块为当前编码宏块;
①-2、根据当前编码帧的参考帧列表,分别采用前向、后向和双向搜索这三种搜索方式遍历搜索当前编码帧的参考帧列表中的相应参考帧,从相应参考帧中寻找当前编码宏块的最优匹配块作为当前编码宏块的预测值完成对当前编码宏块的编码;
①-3、将当前编码帧中下一个处理的宏块作为当前编码宏块,重复执行步骤①-1至步骤①-3,直至完成对当前编码帧中的所有宏块的编码,结束当前编码帧的编码,然后执行步骤④;
②判断当前编码帧是否属于C2,如果是,则继续执行;否则,执行步骤③;
②-1、定义当前编码帧中当前正在处理的宏块为当前编码宏块,令当前编码宏块的左相邻块、上相邻块、右上相邻块的率失真代价分别为RdA、RdB和RdC,计算RdA、RdB和RdC的均值并记为Ttime;考察当前编码宏块的左相邻块、上相邻块、右上相邻块以及左上相邻块这些已编码宏块的运动矢量,如果这些已编码宏块中至少2个以上的宏块的运动矢量的幅值都大于等于阈值m,则记当前编码宏块的双向搜索标记为B,并令B=1,否则,记当前编码宏块的双向搜索标记为B,并令B=0;
②-2、根据当前编码帧的参考帧列表,按前向搜索方式依次逐一搜索当前编码帧的参考帧列表中的前向参考帧并计算相应的率失真代价,记对当前前向参考帧进行前向搜索后得到的率失真代价为Rdforward;
②-3、对于当前前向参考帧,如果满足条件:(Rdforward-Ttime)<aTtime,其中a为(0,1]区间内的小数,则执行步骤②-4,否则,返回执行步骤②-2,继续按前向搜索方式依次逐一搜索当前编码帧的参考帧列表中的其它前向参考帧,直至搜索完当前编码帧的参考帧列表中的所有前向参考帧,然后执行步骤②-4;
②-4、根据当前编码帧的参考帧列表,按后向搜索方式依次逐一搜索当前编码帧的参考帧列表中的后向参考帧并计算相应的率失真代价,记对当前后向参考帧进行后向搜索后得到的率失真代价为Rdbackward;
②-5、对于当前后向参考帧,如果满足条件:(Rdbackward-Ttime)<aTtime,其中a为(0,1]区间内的小数,则执行步骤②-6,否则,返回执行步骤②-4,继续按后向搜索方式依次逐一搜索当前编码帧的参考帧列表中的其它后向参考帧,直至搜索完当前编码帧的参考帧列表中的所有后向参考帧,然后执行步骤②-6;
②-6、判断当前编码宏块的双向搜索标记B是否为0,如果是,则不进行双向搜索而直接执行步骤②-7,否则,若当前编码宏块的双向搜索标记B为1,则进一步对当前编码宏块采用双向搜索方式进行搜索并计算率失真代价,然后执行步骤②-7;
②-7、从前向、后向和可能进行过的双向搜索这三种搜索方式所获得的率失真代价中,选择具有最小率失真代价的参考帧中的匹配块,作为当前编码宏块的最优匹配块,以当前编码宏块的最优匹配块为当前编码宏块的预测值完成对当前编码宏块的编码;
②-8、将当前编码帧中下一个处理的宏块作为当前编码宏块,重复执行步骤②-1至步骤②-8,直至完成对当前编码帧中的所有宏块的编码,结束当前编码帧的编码,然后执行步骤④;
③如果当前编码帧属于C3,则继续执行,否则,执行步骤④;
③-1、定义当前编码帧中当前正在处理的宏块为当前编码宏块,计算当前编码帧所在视点的前一个第二级辅助视点中与当前编码帧同一时刻的帧的视点间相关性系数,记为Rv-1,其中,表示当前编码帧所在视点的前一个第二级辅助视点中与当前编码帧同一时刻的帧编码时选择视点间参考帧为最优参考帧的宏块的个数,N表示多视点深度视频信号一帧中包含的宏块的总数;计算当前编码帧所在视点中比当前编码帧层次更低的C3类帧的视点间相关性系数,记为Rt-1,其中,表示当前编码帧所在视点中比当前编码帧层次更低的C3类帧编码时选择视点间参考帧为最优参考帧的宏块的个数;计算阈值T,其中,n表示当前编码帧为当前编码帧所在视点的第n幅被编码的C3类帧,Ri表示当前编码帧所在视点中第i幅已被编码的C3类帧的视点间相关性系数, 表示当前编码帧所在视点中第i幅已被编码的C3类帧编码时选择视点间参考帧为最优参考帧的宏块的个数;
③-2、根据当前编码帧的参考帧列表,按前向搜索方式搜索当前编码帧的参考帧列表中的相应参考帧,其中对于当前编码帧的参考帧列表中的采用时间预测方式的所有前向参考帧均进行前向搜索,对于当前编码帧的参考帧列表中的采用视点间预测方式的所有前向参考帧,如果满足条件:Rt-1>T且Rv-1>T,则进行视点间预测方式的前向搜索,否则,不进行视点间预测方式的前向搜索;
③-3、根据当前编码帧的参考帧列表,按后向搜索方式搜索当前编码帧的参考帧列表中的相应参考帧,其中对于当前编码帧的参考帧列表中的采用时间预测方式的所有后向参考帧均进行后向搜索,对于当前编码帧的参考帧列表中的采用视点间预测方式的所有后向参考帧,如果满足条件:Rt-1>T且Rv-1>T,则进行视点间预测方式的后向搜索,否则,不进行视点间预测方式的后向搜索;
③-4、判断当前编码宏块的左相邻块、上相邻块、右上相邻块以及左上相邻块这些已编码宏块的最优匹配块的搜索方式,如果这四个相邻块中其最优匹配块采用双向搜索方式的相邻块个数大于2,则进一步对当前编码宏块采用双向搜索方式搜索当前编码帧的参考帧列表中的相应参考帧,否则,不进行双向搜索而直接执行步骤③-5;
③-5、从前向、后向和可能进行过的双向搜索这三种搜索方式所获得的率失真代价中,选择具有最小率失真代价的参考帧中的匹配块,作为当前编码宏块的最优匹配块,以当前编码宏块的最优匹配块为当前编码宏块的预测值完成对当前编码宏块的编码;
③-6、将当前编码帧中下一个处理的宏块作为当前编码宏块,重复执行步骤③-1至③-6,直至完成对当前编码帧中的所有宏块的编码,结束当前编码帧的编码,然后执行步骤④;
④返回步骤①继续执行,直至多视点深度视频预测编码结构中的所有视点包括的帧处理完毕。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010533644 CN101986716B (zh) | 2010-11-05 | 2010-11-05 | 一种快速深度视频编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010533644 CN101986716B (zh) | 2010-11-05 | 2010-11-05 | 一种快速深度视频编码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101986716A true CN101986716A (zh) | 2011-03-16 |
CN101986716B CN101986716B (zh) | 2012-07-04 |
Family
ID=43711014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010533644 Expired - Fee Related CN101986716B (zh) | 2010-11-05 | 2010-11-05 | 一种快速深度视频编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101986716B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158712A (zh) * | 2011-03-22 | 2011-08-17 | 宁波大学 | 一种基于视觉的多视点视频信号编码方法 |
CN102355582A (zh) * | 2011-09-23 | 2012-02-15 | 宁波大学 | 一种三维立体视频编码的率失真模型优化方法 |
CN102523468A (zh) * | 2011-12-16 | 2012-06-27 | 宁波大学 | 一种三维立体视频编码的最佳码率比重确立方法 |
CN102984513A (zh) * | 2012-09-29 | 2013-03-20 | 天津大学 | 一种深度视频编码方法 |
CN103338370A (zh) * | 2013-06-05 | 2013-10-02 | 宁波大学 | 一种多视点深度视频快速编码方法 |
CN103379348A (zh) * | 2012-04-20 | 2013-10-30 | 乐金电子(中国)研究开发中心有限公司 | 一种编码深度信息时的视点合成方法、装置及编码器 |
CN103581647A (zh) * | 2013-09-29 | 2014-02-12 | 北京航空航天大学 | 一种基于彩色视频运动矢量的深度图序列分形编码方法 |
CN103974070A (zh) * | 2014-04-25 | 2014-08-06 | 广州市香港科大霍英东研究院 | 基于多用户输入输出的无线视频传输方法及系统 |
CN104469336A (zh) * | 2013-09-25 | 2015-03-25 | 中国科学院深圳先进技术研究院 | 多视点深度视频信号的编码方法 |
CN104509114A (zh) * | 2012-07-09 | 2015-04-08 | 日本电信电话株式会社 | 动图像编码方法、动图像解码方法、动图像编码装置、动图像解码装置、动图像编码程序、动图像解码程序以及记录介质 |
CN105847777A (zh) * | 2016-03-24 | 2016-08-10 | 湖南拓视觉信息技术有限公司 | 一种传输三维深度图像的方法及装置 |
CN106210741A (zh) * | 2016-09-10 | 2016-12-07 | 天津大学 | 一种基于视点间相关性的深度视频编码算法 |
CN110139108A (zh) * | 2011-11-11 | 2019-08-16 | Ge视频压缩有限责任公司 | 用于将多视点信号编码到多视点数据流中的装置及方法 |
US11968348B2 (en) | 2011-11-11 | 2024-04-23 | Ge Video Compression, Llc | Efficient multi-view coding using depth-map estimate for a dependent view |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5617334A (en) * | 1995-07-21 | 1997-04-01 | The Trustees Of Columbia University In The City Of New York | Multi-viewpoint digital video coder/decoder and method |
CN101552924A (zh) * | 2008-03-31 | 2009-10-07 | 深圳市融合视讯科技有限公司 | 一种用于视频编码的空间预测方法 |
-
2010
- 2010-11-05 CN CN 201010533644 patent/CN101986716B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5617334A (en) * | 1995-07-21 | 1997-04-01 | The Trustees Of Columbia University In The City Of New York | Multi-viewpoint digital video coder/decoder and method |
CN101552924A (zh) * | 2008-03-31 | 2009-10-07 | 深圳市融合视讯科技有限公司 | 一种用于视频编码的空间预测方法 |
Non-Patent Citations (1)
Title |
---|
《电子与信息学报》 20100131 蒋刚毅等 图像质量评价方法研究进展 219-226页 1 第32卷, 第1期 2 * |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158712A (zh) * | 2011-03-22 | 2011-08-17 | 宁波大学 | 一种基于视觉的多视点视频信号编码方法 |
CN102355582A (zh) * | 2011-09-23 | 2012-02-15 | 宁波大学 | 一种三维立体视频编码的率失真模型优化方法 |
CN102355582B (zh) * | 2011-09-23 | 2013-06-05 | 宁波大学 | 一种三维立体视频编码的率失真模型优化方法 |
US11968348B2 (en) | 2011-11-11 | 2024-04-23 | Ge Video Compression, Llc | Efficient multi-view coding using depth-map estimate for a dependent view |
CN110139108B (zh) * | 2011-11-11 | 2023-07-18 | Ge视频压缩有限责任公司 | 用于将多视点信号编码到多视点数据流中的装置及方法 |
CN110139108A (zh) * | 2011-11-11 | 2019-08-16 | Ge视频压缩有限责任公司 | 用于将多视点信号编码到多视点数据流中的装置及方法 |
CN102523468A (zh) * | 2011-12-16 | 2012-06-27 | 宁波大学 | 一种三维立体视频编码的最佳码率比重确立方法 |
CN102523468B (zh) * | 2011-12-16 | 2014-02-05 | 宁波大学 | 一种三维立体视频编码的最佳码率比重确立方法 |
CN103379348A (zh) * | 2012-04-20 | 2013-10-30 | 乐金电子(中国)研究开发中心有限公司 | 一种编码深度信息时的视点合成方法、装置及编码器 |
CN103379348B (zh) * | 2012-04-20 | 2016-11-16 | 乐金电子(中国)研究开发中心有限公司 | 一种编码深度信息时的视点合成方法、装置及编码器 |
CN104509114A (zh) * | 2012-07-09 | 2015-04-08 | 日本电信电话株式会社 | 动图像编码方法、动图像解码方法、动图像编码装置、动图像解码装置、动图像编码程序、动图像解码程序以及记录介质 |
CN102984513B (zh) * | 2012-09-29 | 2015-04-15 | 天津大学 | 一种深度视频编码方法 |
CN102984513A (zh) * | 2012-09-29 | 2013-03-20 | 天津大学 | 一种深度视频编码方法 |
CN103338370B (zh) * | 2013-06-05 | 2016-06-08 | 宁波大学 | 一种多视点深度视频快速编码方法 |
CN103338370A (zh) * | 2013-06-05 | 2013-10-02 | 宁波大学 | 一种多视点深度视频快速编码方法 |
CN104469336A (zh) * | 2013-09-25 | 2015-03-25 | 中国科学院深圳先进技术研究院 | 多视点深度视频信号的编码方法 |
CN104469336B (zh) * | 2013-09-25 | 2017-01-25 | 中国科学院深圳先进技术研究院 | 多视点深度视频信号的编码方法 |
CN103581647B (zh) * | 2013-09-29 | 2017-01-04 | 北京航空航天大学 | 一种基于彩色视频运动矢量的深度图序列分形编码方法 |
CN103581647A (zh) * | 2013-09-29 | 2014-02-12 | 北京航空航天大学 | 一种基于彩色视频运动矢量的深度图序列分形编码方法 |
CN103974070A (zh) * | 2014-04-25 | 2014-08-06 | 广州市香港科大霍英东研究院 | 基于多用户输入输出的无线视频传输方法及系统 |
CN103974070B (zh) * | 2014-04-25 | 2017-08-15 | 广州市香港科大霍英东研究院 | 基于多用户输入输出的无线视频传输方法及系统 |
CN105847777A (zh) * | 2016-03-24 | 2016-08-10 | 湖南拓视觉信息技术有限公司 | 一种传输三维深度图像的方法及装置 |
CN106210741A (zh) * | 2016-09-10 | 2016-12-07 | 天津大学 | 一种基于视点间相关性的深度视频编码算法 |
CN106210741B (zh) * | 2016-09-10 | 2018-12-21 | 天津大学 | 一种基于视点间相关性的深度视频编码算法 |
Also Published As
Publication number | Publication date |
---|---|
CN101986716B (zh) | 2012-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101986716B (zh) | 一种快速深度视频编码方法 | |
CN100463527C (zh) | 一种多视点视频图像视差估计的方法 | |
CN101980537B (zh) | 一种基于对象和分形的双目立体视频压缩编解码方法 | |
CN102970529B (zh) | 一种基于对象的多视点视频分形编码压缩与解压缩方法 | |
CN104038760B (zh) | 一种3d视频深度图像帧内楔形分割模式选择方法及系统 | |
CN104754359B (zh) | 一种二维自由视点视频的深度图编码失真预测方法 | |
CN101404766B (zh) | 一种多视点视频信号的编码方法 | |
CN101867813B (zh) | 面向交互式应用的多视点视频编码方法 | |
CN101616322A (zh) | 立体视频编解码方法、装置及系统 | |
CN102801995B (zh) | 一种基于模板匹配的多视点视频运动和视差矢量预测方法 | |
CN102413332B (zh) | 基于时域增强的视点合成预测多视点视频编码方法 | |
CN110557646B (zh) | 一种智能视点间的编码方法 | |
CN104768019A (zh) | 一种面向多纹理多深度视频的相邻视差矢量获取方法 | |
CN101198061A (zh) | 基于视点图像映射的立体视频流编码方法 | |
CN106791768A (zh) | 一种基于图割优化的深度图帧率提升方法 | |
CN103024381B (zh) | 一种基于恰可察觉失真的宏块模式快速选择方法 | |
CN103067705B (zh) | 一种多视点深度视频预处理方法 | |
CN102263957A (zh) | 一种基于搜索窗口自适应的视差估计方法 | |
CN103873867B (zh) | 自由视点视频深度图失真预测方法和编码方法 | |
CN102790895B (zh) | 一种基于最小二乘的多视点视频编码视点合成预测方法 | |
CN102316323B (zh) | 一种快速的双目立体视频分形压缩与解压缩方法 | |
CN104159095A (zh) | 一种多视点纹理视频和深度图编码的码率控制方法 | |
CN101895749B (zh) | 一种快速视差估计和运动估计方法 | |
CN103475884A (zh) | 面向hbp编码格式的立体视频b帧整帧丢失错误隐藏方法 | |
CN103051894A (zh) | 一种基于分形和h.264的双目立体视频压缩与解压缩方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120704 Termination date: 20141105 |
|
EXPY | Termination of patent right or utility model |