CN103338370B - 一种多视点深度视频快速编码方法 - Google Patents
一种多视点深度视频快速编码方法 Download PDFInfo
- Publication number
- CN103338370B CN103338370B CN201310225066.6A CN201310225066A CN103338370B CN 103338370 B CN103338370 B CN 103338370B CN 201310225066 A CN201310225066 A CN 201310225066A CN 103338370 B CN103338370 B CN 103338370B
- Authority
- CN
- China
- Prior art keywords
- pattern
- current
- grand piece
- mode
- coding
- 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.)
- Active
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种多视点深度视频快速编码方法,其通过提出一个宏块的编码模式复杂度因子,并根据该模式复杂度因子将宏块归分到简单模式区域或复杂模式区域,即将深度视频划分为简单模式区域和复杂模式区域,且针对不同的区域采用不同的快速编码模式选择策略,对简单模式区域中的宏块只选择简单的编码模式搜索,而复杂模式区域中的宏块则进行较复杂的搜索,从而避免了当前的编码帧编码过程中贡献很小但很费时的编码模式搜索,这样在保证虚拟视点绘制质量和不影响深度视频编码码率的前提下,能够有效地降低多视点深度视频编码的计算复杂度,节约多视点深度视频的编码时间。
Description
技术领域
本发明涉及一种视频信号的编码技术,尤其是涉及一种多视点深度视频快速编码方法。
背景技术
随着3D显示和相关技术的不断发展,三维电视和自由视点电视等多视点视频系统越来越多地受到了国内外学者以及工业界的关注。多视点彩色视频和深度视频联合(MultiviewVideoplusDepth,MVD)的这种三维场景表示方式能够用于多视角的自由立体显示,特别是对于视角范围较宽、深度层次丰富的场景都能够很完整地给出视频信息,其已经成为了多视点视频系统的主流数据格式。在基于MVD的多视点视频系统中,深度信息有效表示三维场景的几何信息,反映拍摄场景到相机的相对距离,是一种只有亮度分量值的灰度图像,多视点深度视频在发送端压缩编码后传输到基于MVD的多视点视频系统的终端辅助虚拟视点的绘制。因此作为MVD数据的重要组成部分,多视点深度视频与多视点彩色视频一样具有大量时间、空间、视点间和感知冗余(如图1所示),一般采用与多视点彩色视频一样的编码结构进行高效压缩,其编码对整个多视点视频系统的性能起着非常关键的作用。
为了解决MVD海量数据的压缩、传输和存储等问题,业内人员提出了具有代表性的HBP预测结构(如图2所示),由于其具有较好的率失真性能,因此被采纳作为联合多视点视频编码软件JMVC的编码结构。然而,复杂的预测关系使得HBP预测结构下的多视点视频编码具有相当高的复杂度。HBP预测结构中的编码复杂度主要来自于B帧,在JMVC中,对于B帧中的每一个宏块,要遍历SKIP模式、帧内预测模式和帧间预测模式,再采用率失真优化技术来选择最优编码模式,但由于每种帧间预测模式都需要进行复杂的基于多参考帧和双向搜索的运动估计,因此会导致原本复杂的编码算法的复杂度进一步增加,这样非常不利于多视点视频系统的实时性应用,也与编码算法的低延时和低复杂度需求相悖。
针对多视点视频编码的高复杂度,国内外对多视点彩色视频快速编码方法已经进行了大量的研究,但是这些方法都是针对多视点彩色视频提出的,由于深度视频简单平滑、纹理细节少,具有与彩色视频不一样的特点,且其作用不是用于最终显示而是用于辅助虚拟视点的绘制,因此现有的多视点彩色视频快速编码方法不能直接应用于多视点深度视频的编码。故,设计并提出符合深度视频特性的深度视频快速编码方法具有重大的意义。
发明内容
本发明所要解决的技术问题是提供一种多视点深度视频快速编码方法,其在保证虚拟视点绘制质量和不影响深度视频编码码率的前提下,能够有效地降低多视点深度视频编码的计算复杂度。
本发明解决上述技术问题所采用的技术方案为:一种多视点深度视频快速编码方法,其特征在于具体包括以下步骤:
①将多视点深度视频中当前待编码的视点定义为当前视点;
②将当前视点中当前待编码的深度帧定义为当前编码帧;
③如果当前编码帧为I帧,则对于当前编码帧中的每个宏块,搜索所有帧内预测模式,并根据率失真代价从所有帧内预测模式中选择率失真代价值最小的编码模式作为该宏块的最优编码模式,再利用当前编码帧中的每个宏块的最优编码模式对每个宏块进行编码,然后执行步骤⑩;
如果当前编码帧为P帧,则对于当前编码帧中的每个宏块,搜索SKIP模式、Inter16×16模式、Inter16×8模式、Inter8×16模式、Inter8×8模式和所有帧内预测模式并根据率失真代价选择率失真代价值最小的编码模式作为该宏块的最优编码模式,再利用当前编码帧中的每个宏块的最优编码模式对每个宏块进行编码,然后执行步骤⑩;
如果当前编码帧为B帧,则执行步骤④;
④将当前编码帧中当前待编码的宏块定义为当前宏块;
⑤假设当前宏块的坐标位置为(x,y),则将当前编码帧中坐标位置为(x-1,y)的宏块作为当前宏块的相邻左边宏块,并记为EA;将当前编码帧中坐标位置为(x,y-1)的宏块作为当前宏块的相邻上边宏块,并记为EB;将当前编码帧中坐标位置为(x+1,y-1)的宏块作为当前宏块的相邻右上边宏块,并记为EC;将当前编码帧中坐标位置为(x-1,y-1)的宏块作为当前宏块的相邻左上边宏块,并记为ED;将当前编码帧的参考帧列表中的第一帧时间参考帧中坐标位置为(x,y)的宏块作为当前宏块的对应宏块,并记为D;将当前编码帧的参考帧列表中的第一帧时间参考帧中坐标位置为(x-1,y)的宏块作为当前宏块的对应左边宏块,并记为DA;将当前编码帧的参考帧列表中的第一帧时间参考帧中坐标位置为(x,y-1)的宏块作为当前宏块的对应上边宏块,并记为DB;将当前编码帧的参考帧列表中的第一帧时间参考帧中坐标位置为(x+1,y-1)的宏块作为当前宏块的对应右上边宏块,并记为DC;将当前编码帧的参考帧列表中的第一帧时间参考帧中坐标位置为(x-1,y-1)的宏块作为当前宏块的对应左上边宏块,并记为DD;其中,W表示当前编码帧的宽度,H表示当前编码帧的高度;
⑥根据EA、EB、EC、ED、D、DA、DB、DC和DD的编码模式,计算当前宏块的编码模式复杂度因子,记为MMC,
其中,C表示当前宏块,R1表示由当前编码帧中的第1个宏块构成的集合,R2表示由当前编码帧中的第一行宏块中除该行中的第1个宏块外的其余宏块构成的集合,R3表示由当前编码帧中的第一列宏块中除该列中的第1个宏块外的其余宏块构成的集合,R4表示由当前编码帧中的最后一列宏块中除该列中的第1个宏块外的其余宏块构成的集合,R5表示由当前编码帧中除R1、R2、R3和R4中包含的宏块外的其余宏块构成的集合,Mode(D)表示D的编码模式,WMode(D)表示Mode(D)的模式因子,Mode(DA)表示DA的编码模式,WMode(DA)表示Mode(DA)的模式因子,Mode(DB)表示DB的编码模式,WMode(DB)表示Mode(DB)的模式因子,Mode(DC)表示DC的编码模式,WMode(DC)表示Mode(DC)的模式因子,Mode(DD)表示DD的编码模式,WMode(DD)表示Mode(DD)的模式因子,Mode(EA)表示EA的编码模式,WMode(EA)表示Mode(EA)的模式因子,Mode(EB)表示EB的编码模式,WMode(EB)表示Mode(EB)的模式因子,Mode(EC)表示EC的编码模式,WMode(EC)表示Mode(EC)的模式因子,Mode(ED)表示ED的编码模式,WMode(ED)表示Mode(ED)的模式因子,当编码模式为SKIP或Inter16×16模式时,编码模式的模式因子的取值为1;当编码模式为Inter8×16或Inter16×8模式时,编码模式的模式因子的取值为2;当编码模式为Inter8×8模式时,编码模式的模式因子的取值为4;当编码模式为Intra模式时,编码模式的模式因子的取值为5;
⑦根据当前宏块的编码模式复杂度因子MMC,在编码前将当前宏块归分到简单模式区域或者复杂模式区域,如果MMC小于或等于设定的阈值T,则将当前宏块归分到简单模式区域,如果MMC大于设定的阈值T,则将当前宏块归分到复杂模式区域;
⑧对属于简单模式区域的当前宏块或属于复杂模式区域的当前宏块进行最优编码模式快速选择,然后利用最优编码模式对当前宏块进行编码,具体过程为:
⑧_1、当当前宏块属于简单模式区域时,判断D、EA和EB中是否存在至少两个宏块的编码模式为SKIP模式,如果是,则搜索SKIP模式和所有帧内预测模式,并根据率失真代价从SKIP模式和所有帧内预测模式中选择率失真代价值最小的编码模式作为当前宏块的最优编码模式,然后执行步骤⑧-4,否则,搜索SKIP模式、Inter16×16模式和所有帧内预测模式,并根据率失真代价从SKIP模式、Inter16×16模式和所有帧内预测模式中选择率失真代价值最小的编码模式作为当前宏块的最优编码模式,然后执行步骤⑧-4;
⑧_2、当当前宏块属于复杂模式区域时,判断D、EA和EB的编码模式是否均为SKIP模式,如果是,则搜索SKIP模式和所有帧内预测模式,并根据率失真代价从SKIP模式和所有帧内预测模式中选择率失真代价值最小的编码模式作为当前宏块的最优编码模式,然后执行步骤⑧-4,否则,继续执行步骤⑧-3;
⑧_3、判断D、EA和EB中是否存在两个宏块的编码模式为SKIP模式,如果是,则搜索SKIP模式、Inter16×16模式和所有帧内预测模式,并根据率失真代价从SKIP模式、Inter16×16模式和所有帧内预测模式中选择率失真代价值最小的编码模式作为当前宏块的最优编码模式,然后执行步骤⑧-4,否则,全遍历搜索所有编码模式,并根据率失真代价从所有编码模式中选择率失真代价值最小的编码模式作为当前宏块的最优编码模式,然后执行步骤⑧-4;
⑧_4、利用当前宏块的最优编码模式对当前宏块进行编码;
⑨将当前编码帧中下一个待编码的宏块作为当前宏块,然后返回步骤⑤继续执行,直至当前编码帧中的所有宏块均编码完毕;
⑩将当前视点中下一帧待编码的深度帧作为当前编码帧,然后返回步骤③继续执行,直至当前视点中的所有深度帧均处理完毕;
将多视点深度视频中下一个待编码的视点作为当前视点,然后返回步骤②继续执行,直至多视点深度视频中的所有视点均处理完毕,完成多视点深度视频的编码。
所述的步骤⑦中设定的阈值T取值为1.5。
与现有技术相比,本发明的优点在于:本发明方法通过提出一个宏块的编码模式复杂度因子,并根据该模式复杂度因子将宏块归分到简单模式区域或复杂模式区域,即将深度视频划分为简单模式区域和复杂模式区域,且针对不同的区域采用不同的快速编码模式选择策略,对简单模式区域中的宏块只选择简单的编码模式搜索,而复杂模式区域中的宏块则进行较复杂的搜索,从而避免了当前的编码帧编码过程中贡献很小但很费时的编码模式搜索,这样在保证虚拟视点绘制质量和不影响深度视频编码码率的前提下,能够有效地降低多视点深度视频编码的计算复杂度,节约多视点深度视频的编码时间。
附图说明
图1为多视点深度视频的冗余信息的示意图;
图2为HBP预测结构的示意图;
图3为本发明方法的总体实现框图;
图4a为当前编码帧中当前宏块、当前宏块的相邻左边宏块、当前宏块的相邻上边宏块、当前宏块的相邻右上边宏块和当前宏块的相邻左上边宏块的位置关系图;
图4b为当前编码帧的参考帧列表中的第一帧时间参考帧中当前宏块的对应宏块、当前宏块的对应左边宏块、当前宏块的对应上边宏块、当前宏块的对应右上边宏块和当前宏块的对应左上边宏块的位置关系图;
图4c为在当前编码帧中由第1个宏块构成的集合R1、由第一行宏块中除该行中的第1个宏块外的其余宏块构成的集合R2、由第一列宏块中除该列中的第1个宏块外的其余宏块构成的集合R3、由最后一列宏块中除该列中的第1个宏块外的其余宏块构成的集合R4、由除R1、R2、R3和R4中包含的宏块外的其余宏块构成的集合R5的位置关系图;
图5a为“BookArrival”深度视频测试序列的宏块划分情况示意图;
图5b为“Dog”深度视频测试序列的宏块划分情况示意图;
图6为“BookArrival”、“Champagne”、“Dog”、“DoorFlowers”、“LeaveLaptop”、“Newspaper”深度视频测试序列在不同QP的情况下,采用本发明的编码方法进行编码相较于采用JMVC的原始编码方法进行编码的编码时间节约百分比情况示意图;
图7a为“Champagne”深度视频测试序列的原始图像;
图7b为采用JMVC的原始编码方法对图7a所示的原始图像进行编码后绘制出来的虚拟视点图像;
图7c为采用本发明的编码方法对图7a所示的原始图像进行编码后绘制出来的虚拟视点图像。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
本发明提出的一种多视点深度视频快速编码方法,其从深度视频的空间内容相关性、时间相关性和相邻宏块的编码模式的相关性出发,提出了一个宏块的编码模式复杂度因子,并根据该编码模式复杂度因子将深度视频划分为简单模式区域和复杂模式区域,对不同的区域采用不同的快速编码模式选择方式,简单模式区域只选择简单的编码模式进行搜索,而复杂模式区域则进行相对精细较复杂的搜索过程。
本发明的多视点深度视频快速编码方法,其总体实现框图如图3所示,其具体包括以下步骤:
①将多视点深度视频中当前待编码的视点定义为当前视点。
②将当前视点中当前待编码的深度帧定义为当前编码帧。
③如果当前编码帧为I帧,则对于当前编码帧中的每个宏块,搜索所有帧内预测模式(即Intra4×4模式、Intra8×8模式、Intra16×16模式),并根据率失真代价从所有帧内预测模式中选择率失真代价值最小的编码模式作为该宏块的最优编码模式,然后利用当前编码帧中的每个宏块的最优编码模式对每个宏块进行编码,即对于当前编码帧中坐标位置为(x,y)的宏块,搜索所有帧内预测模式,选择率失真代价值最小的编码模式作为当前编码帧中坐标位置为(x,y)的宏块的最优编码模式,然后利用坐标位置为(x,y)的宏块的最优编码模式对坐标位置为(x,y)的宏块进行编码,再执行步骤⑩;其中,W表示当前编码帧的宽度,H表示当前编码帧的高度。
如果当前编码帧为P帧,则对于当前编码帧中的每个宏块,搜索SKIP模式、Inter16×16模式、Inter16×8模式、Inter8×16模式、Inter8×8模式和所有帧内预测模式(即Intra4×4模式、Intra8×8模式、Intra16×16模式),并根据率失真代价选择率失真代价值最小的编码模式作为该宏块的最优编码模式,再利用当前编码帧中的每个宏块的最优编码模式对每个宏块进行编码,然后执行步骤⑩。
如果当前编码帧为B帧,则执行步骤④。
④将当前编码帧中当前待编码的宏块定义为当前宏块。
⑤假设当前宏块的坐标位置为(x,y),则将当前编码帧中坐标位置为(x-1,y)的宏块作为当前宏块的相邻左边宏块,并记为EA;将当前编码帧中坐标位置为(x,y-1)的宏块作为当前宏块的相邻上边宏块,并记为EB;将当前编码帧中坐标位置为(x+1,y-1)的宏块作为当前宏块的相邻右上边宏块,并记为EC;将当前编码帧中坐标位置为(x-1,y-1)的宏块作为当前宏块的相邻左上边宏块,并记为ED;将当前编码帧的参考帧列表中的第一帧时间参考帧中坐标位置为(x,y)的宏块作为当前宏块的对应宏块,并记为D;将当前编码帧的参考帧列表中的第一帧时间参考帧中坐标位置为(x-1,y)的宏块作为当前宏块的对应左边宏块,并记为DA;将当前编码帧的参考帧列表中的第一帧时间参考帧中坐标位置为(x,y-1)的宏块作为当前宏块的对应上边宏块,并记为DB;将当前编码帧的参考帧列表中的第一帧时间参考帧中坐标位置为(x+1,y-1)的宏块作为当前宏块的对应右上边宏块,并记为DC;将当前编码帧的参考帧列表中的第一帧时间参考帧中坐标位置为(x-1,y-1)的宏块作为当前宏块的对应左上边宏块,并记为DD;其中,W表示当前编码帧的宽度,H表示当前编码帧的高度。
图4a给出了当前宏块与EA、EB、EC、ED的位置关系,图4b给出了D、DA、DB、DC和DD的位置关系。
⑥根据EA、EB、EC、ED、D、DA、DB、DC和DD的编码模式,计算当前宏块的编码模式复杂度因子,记为MMC,
其中,C表示当前宏块,R1表示由当前编码帧中的第1个宏块构成的集合,R2表示由当前编码帧中的第一行宏块中除该行中的第1个宏块外的其余宏块构成的集合,R3表示由当前编码帧中的第一列宏块中除该列中的第1个宏块外的其余宏块构成的集合,R4表示由当前编码帧中的最后一列宏块中除该列中的第1个宏块外的其余宏块构成的集合,R5表示由当前编码帧中除R1、R2、R3和R4中包含的宏块外的其余宏块构成的集合,R1、R2、R3、R4和R5的关系如图4c所示,Mode(D)表示D的编码模式,WMode(D)表示Mode(D)的模式因子,Mode(DA)表示DA的编码模式,WMode(DA)表示Mode(DA)的模式因子,Mode(DB)表示DB的编码模式,WMode(DB)表示Mode(DB)的模式因子,Mode(DC)表示DC的编码模式,WMode(DC)表示Mode(DC)的模式因子,Mode(DD)表示DD的编码模式,WMode(DD)表示Mode(DD)的模式因子,Mode(EA)表示EA的编码模式,WMode(EA)表示Mode(EA)的模式因子,Mode(EB)表示EB的编码模式,WMode(EB)表示Mode(EB)的模式因子,Mode(EC)表示EC的编码模式,WMode(EC)表示Mode(EC)的模式因子,Mode(ED)表示ED的编码模式,WMode(ED)表示Mode(ED)的模式因子,当编码模式为SKIP或Inter16×16模式时,编码模式的模式因子的取值为1;当编码模式为Inter8×16或Inter16×8模式时,编码模式的模式因子的取值为2;当编码模式为Inter8×8模式时,编码模式的模式因子的取值为4;当编码模式为Intra模式时,编码模式的模式因子的取值为5,即当编码模式为帧内预测模式中的任一种预测模式时,编码模式的模式因子的取值为5。
⑦根据当前宏块的编码模式复杂度因子MMC,在编码前将当前宏块归分到简单模式区域或者复杂模式区域,如果MMC小于或等于设定的阈值T,则将当前宏块归分到简单模式区域,如果MMC大于设定的阈值T,则将当前宏块归分到复杂模式区域。在此,设定的阈值T取值为1.5,该取值是利用本发明的编码方法进行多次反复实验获得的,实验结果说明T取值为1.5时,本发明的编码方法能够取得最佳的编码性能。图5a给出了“BookArrival”深度视频测试序列的宏块划分情况,图5b给出了“Dog”深度视频测试序列的宏块划分情况,图5a和图5b中带边框的宏块属于复杂模式区域。
⑧对属于简单模式区域的当前宏块或属于复杂模式区域的当前宏块进行最优编码模式快速选择,然后利用最优编码模式对当前宏块进行编码,具体过程为:
⑧_1、当当前宏块属于简单模式区域时,判断D、EA和EB中是否存在至少两个宏块的编码模式为SKIP模式,如果是,则搜索SKIP模式和所有帧内预测模式,并根据率失真代价从SKIP模式和所有帧内预测模式中选择率失真代价值最小的编码模式作为当前宏块的最优编码模式,然后执行步骤⑧-4,否则,搜索SKIP模式、Inter16×16模式和所有帧内预测模式,并根据率失真代价从SKIP模式、Inter16×16模式和所有帧内预测模式中选择率失真代价值最小的编码模式作为当前宏块的最优编码模式,然后执行步骤⑧-4。
⑧_2、当当前宏块属于复杂模式区域时,判断D、EA和EB的编码模式是否均为SKIP模式,如果是,则搜索SKIP模式和所有帧内预测模式,并根据率失真代价从SKIP模式和所有帧内预测模式中选择率失真代价值最小的编码模式作为当前宏块的最优编码模式,然后执行步骤⑧-4,否则,继续执行步骤⑧-3。
⑧_3、判断D、EA和EB中是否存在两个宏块的编码模式为SKIP模式,如果是,则搜索SKIP模式、Inter16×16模式和所有帧内预测模式,并根据率失真代价从SKIP模式、Inter16×16模式和所有帧内预测模式中选择率失真代价值最小的编码模式作为当前宏块的最优编码模式,然后执行步骤⑧-4,否则,全遍历搜索所有编码模式,并根据率失真代价从所有编码模式中选择率失真代价值最小的编码模式作为当前宏块的最优编码模式,然后执行步骤⑧-4。
⑧_4、利用当前宏块的最优编码模式对当前宏块进行编码。
⑨将当前编码帧中下一个待编码的宏块作为当前宏块,然后返回步骤⑤继续执行,直至当前编码帧中的所有宏块均编码完毕。
⑩将当前视点中下一帧待处理的深度帧作为当前编码帧,然后返回步骤③继续执行,直至当前视点中的所有深度帧均编码完毕。
将多视点深度视频中下一个待编码的视点作为当前视点,然后返回步骤②继续执行,直至多视点深度视频中的所有视点均编码完毕,完成多视点深度视频的编码。
以下为对本发明的编码方法进行测试,以证明本发明的编码方法的有效性和可行性。测试环境如表1所列,在Intel(R)Core(TM)i5-2500CPU3.30GHz、8.00GB内存、操作系统为Windows7的计算机上,测试了JMVC的原始编码方法和本发明的编码方法。
图6给出了“BookArrival”、“Champagne”、“Dog”、“DoorFlowers”、“LeaveLaptop”、“Newspaper”深度视频测试序列在不同基本编码量化参数QP(QP分别为22、27、32、37)的情况下,采用本发明的编码方法进行编码相较于采用JMVC的原始编码方法进行编码的编码时间节约百分比情况。从图6中可以看出,采用本发明的编码方法对深度视频测试序列进行编码可以节省65.57%~92.72%的编码时间,且编码时间随着QP的增大而节约地更多,这主要是因为QP越大,SKIP模式的比例就越高,那么简单模式区域的比例也就越大,这样选择SKIP模式作为宏块的最优编码模式的概率也就越高,自然编码时间也就节约地更多。
表2给出了“DoorFlowers”、“BookArrival”、“LeaveLaptop”、“Dog”、“Champagne”、“Newspaper”深度视频测试序列在不同基本编码量化参数QP(QP分别为22、27、32、37)的情况下,采用本发明的编码方法进行编码相较于采用JMVC的原始编码方法进行编码的编码码率性能情况。从表2所列的数据可以看出,与JMVC的原始编码方法相比,本发明的编码方法的编码码率变化为-4.78%~3.95%,其中负值表示节约码率,正值表示增加的码率。当QP较小时,码率增加相对较大,随着QP增大,码率越低,码率增加变小甚至节约码率,这是因为QP较大时,采用SKIP模式作为宏块的最优编码模式的比例增大,因此节约了运动矢量的编码比特。总体来说,本发明的编码方法的编码码率性能基本与JMVC的原始编码方法的编码码率性能保持一致,相差甚小。
表3给出了“DoorFlowers”、“BookArrival”、“LeaveLaptop”、“Dog”、“Champagne”、“Newspaper”深度视频测试序列在不同基本编码量化参数QP(QP分别为22、27、32、37)的情况下,采用本发明的编码方法和JMVC的原始编码方法绘制出来的虚拟视点的结构相似性(StructuralSIMilarity,SSIM)值,SSIM值反映虚拟视点和原始彩色视频的结构相似度情况,值越大说明越相似。从表3所列的数据中可以看出,本发明和编码方法和JMVC和原始编码方法绘制出来的虚拟视点和原始彩色视频的结构都非常相似。
表4给出了“DoorFlowers”、“BookArrival”、“LeaveLaptop”、“Dog”、“Champagne”、“Newspaper”深度视频测试序列在不同基本编码量化参数QP(QP分别为22、27、32、37)的情况下,采用本发明的编码方法和JMVC的原始编码方法绘制出来的虚拟视点的PSNR(PeakSignaltoNoiseRatio,峰值信噪比)的差值情况。从表4所列的数据中可以看出,本发明的编码方法和JMVC的原始编码方法绘制出来的虚拟视点的PSNR值基本一样。
图7a为“Champagne”深度视频测试序列的原始图像,图7b为采用JMVC的原始编码方法对图7a所示的原始图像进行编码后绘制出来的虚拟视点图像,图7c为采用本发明的编码方法对图7a所示的原始图像进行编码后绘制出来的虚拟视点图像。对比图7a、图7b和图7c,可以看出3幅图像的主观质量基本没有区别,说明了采用本发明的编码方法能够维持虚拟视点的绘制质量。
表1测试环境
表2深度视频测试序列在不同QP的情况下,采用本发明的编码方法进行编码相较于采用JMVC的原始编码方法进行编码的编码码率性能情况(%)
表3深度视频测试序列在不同QP的情况下,采用本发明的编码方法和JMVC的原始编码方法绘制出来的虚拟视点的SSIM值
表4深度视频测试序列在不同QP的情况下,采用本发明的编码方法和JMVC的原始编码方法绘制出来的虚拟视点的PSNR的差值情况(dB)
Claims (2)
1.一种多视点深度视频快速编码方法,其特征在于具体包括以下步骤:
①将多视点深度视频中当前待编码的视点定义为当前视点;
②将当前视点中当前待编码的深度帧定义为当前编码帧;
③如果当前编码帧为I帧,则对于当前编码帧中的每个宏块,搜索所有帧内预测模式,并根据率失真代价从所有帧内预测模式中选择率失真代价值最小的编码模式作为该宏块的最优编码模式,再利用当前编码帧中的每个宏块的最优编码模式对每个宏块进行编码,然后执行步骤⑩;
如果当前编码帧为P帧,则对于当前编码帧中的每个宏块,搜索SKIP模式、Inter16×16模式、Inter16×8模式、Inter8×16模式、Inter8×8模式和所有帧内预测模式并根据率失真代价选择率失真代价值最小的编码模式作为该宏块的最优编码模式,再利用当前编码帧中的每个宏块的最优编码模式对每个宏块进行编码,然后执行步骤⑩;
如果当前编码帧为B帧,则执行步骤④;
④将当前编码帧中当前待编码的宏块定义为当前宏块;
⑤假设当前宏块的坐标位置为(x,y),则将当前编码帧中坐标位置为(x-1,y)的宏块作为当前宏块的相邻左边宏块,并记为EA;将当前编码帧中坐标位置为(x,y-1)的宏块作为当前宏块的相邻上边宏块,并记为EB;将当前编码帧中坐标位置为(x+1,y-1)的宏块作为当前宏块的相邻右上边宏块,并记为EC;将当前编码帧中坐标位置为(x-1,y-1)的宏块作为当前宏块的相邻左上边宏块,并记为ED;将当前编码帧的参考帧列表中的第一帧时间参考帧中坐标位置为(x,y)的宏块作为当前宏块的对应宏块,并记为D;将当前编码帧的参考帧列表中的第一帧时间参考帧中坐标位置为(x-1,y)的宏块作为当前宏块的对应左边宏块,并记为DA;将当前编码帧的参考帧列表中的第一帧时间参考帧中坐标位置为(x,y-1)的宏块作为当前宏块的对应上边宏块,并记为DB;将当前编码帧的参考帧列表中的第一帧时间参考帧中坐标位置为(x+1,y-1)的宏块作为当前宏块的对应右上边宏块,并记为DC;将当前编码帧的参考帧列表中的第一帧时间参考帧中坐标位置为(x-1,y-1)的宏块作为当前宏块的对应左上边宏块,并记为DD;其中,W表示当前编码帧的宽度,H表示当前编码帧的高度;
⑥根据EA、EB、EC、ED、D、DA、DB、DC和DD的编码模式,计算当前宏块的编码模式复杂度因子,记为MMC,
其中,C表示当前宏块,R1表示由当前编码帧中的第1个宏块构成的集合,R2表示由当前编码帧中的第一行宏块中除该行中的第1个宏块外的其余宏块构成的集合,R3表示由当前编码帧中的第一列宏块中除该列中的第1个宏块外的其余宏块构成的集合,R4表示由当前编码帧中的最后一列宏块中除该列中的第1个宏块外的其余宏块构成的集合,R5表示由当前编码帧中除R1、R2、R3和R4中包含的宏块外的其余宏块构成的集合,Mode(D)表示D的编码模式,WMode(D)表示Mode(D)的模式因子,Mode(DA)表示DA的编码模式,WMode(DA)表示Mode(DA)的模式因子,Mode(DB)表示DB的编码模式,WMode(DB)表示Mode(DB)的模式因子,Mode(DC)表示DC的编码模式,WMode(DC)表示Mode(DC)的模式因子,Mode(DD)表示DD的编码模式,WMode(DD)表示Mode(DD)的模式因子,Mode(EA)表示EA的编码模式,WMode(EA)表示Mode(EA)的模式因子,Mode(EB)表示EB的编码模式,WMode(EB)表示Mode(EB)的模式因子,Mode(EC)表示EC的编码模式,WMode(EC)表示Mode(EC)的模式因子,Mode(ED)表示ED的编码模式,WMode(ED)表示Mode(ED)的模式因子,当编码模式为SKIP或Inter16×16模式时,编码模式的模式因子的取值为1;当编码模式为Inter8×16或Inter16×8模式时,编码模式的模式因子的取值为2;当编码模式为Inter8×8模式时,编码模式的模式因子的取值为4;当编码模式为Intra模式时,编码模式的模式因子的取值为5;
⑦根据当前宏块的编码模式复杂度因子MMC,在编码前将当前宏块归分到简单模式区域或者复杂模式区域,如果MMC小于或等于设定的阈值T,则将当前宏块归分到简单模式区域,如果MMC大于设定的阈值T,则将当前宏块归分到复杂模式区域;
⑧对属于简单模式区域的当前宏块或属于复杂模式区域的当前宏块进行最优编码模式快速选择,然后利用最优编码模式对当前宏块进行编码,具体过程为:
⑧_1、当当前宏块属于简单模式区域时,判断D、EA和EB中是否存在至少两个宏块的编码模式为SKIP模式,如果是,则搜索SKIP模式和所有帧内预测模式,并根据率失真代价从SKIP模式和所有帧内预测模式中选择率失真代价值最小的编码模式作为当前宏块的最优编码模式,然后执行步骤⑧-4,否则,搜索SKIP模式、Inter16×16模式和所有帧内预测模式,并根据率失真代价从SKIP模式、Inter16×16模式和所有帧内预测模式中选择率失真代价值最小的编码模式作为当前宏块的最优编码模式,然后执行步骤⑧-4;
⑧_2、当当前宏块属于复杂模式区域时,判断D、EA和EB的编码模式是否均为SKIP模式,如果是,则搜索SKIP模式和所有帧内预测模式,并根据率失真代价从SKIP模式和所有帧内预测模式中选择率失真代价值最小的编码模式作为当前宏块的最优编码模式,然后执行步骤⑧-4,否则,继续执行步骤⑧-3;
⑧_3、判断D、EA和EB中是否存在两个宏块的编码模式为SKIP模式,如果是,则搜索SKIP模式、Inter16×16模式和所有帧内预测模式,并根据率失真代价从SKIP模式、Inter16×16模式和所有帧内预测模式中选择率失真代价值最小的编码模式作为当前宏块的最优编码模式,然后执行步骤⑧-4,否则,全遍历搜索所有编码模式,并根据率失真代价从所有编码模式中选择率失真代价值最小的编码模式作为当前宏块的最优编码模式,然后执行步骤⑧-4;
⑧_4、利用当前宏块的最优编码模式对当前宏块进行编码;
⑨将当前编码帧中下一个待编码的宏块作为当前宏块,然后返回步骤⑤继续执行,直至当前编码帧中的所有宏块均编码完毕;
⑩将当前视点中下一帧待编码的深度帧作为当前编码帧,然后返回步骤③继续执行,直至当前视点中的所有深度帧均处理完毕;
将多视点深度视频中下一个待编码的视点作为当前视点,然后返回步骤②继续执行,直至多视点深度视频中的所有视点均处理完毕,完成多视点深度视频的编码。
2.根据权利要求1所述的一种多视点深度视频快速编码方法,其特征在于所述的步骤⑦中设定的阈值T取值为1.5。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310225066.6A CN103338370B (zh) | 2013-06-05 | 2013-06-05 | 一种多视点深度视频快速编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310225066.6A CN103338370B (zh) | 2013-06-05 | 2013-06-05 | 一种多视点深度视频快速编码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103338370A CN103338370A (zh) | 2013-10-02 |
CN103338370B true CN103338370B (zh) | 2016-06-08 |
Family
ID=49246456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310225066.6A Active CN103338370B (zh) | 2013-06-05 | 2013-06-05 | 一种多视点深度视频快速编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103338370B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9503751B2 (en) * | 2013-10-17 | 2016-11-22 | Hfi Innovation Inc. | Method and apparatus for simplified depth coding with extended prediction modes |
CN106303547B (zh) * | 2015-06-08 | 2019-01-01 | 中国科学院深圳先进技术研究院 | 三维视频编码方法和装置 |
CN105049866B (zh) * | 2015-07-10 | 2018-02-27 | 郑州轻工业学院 | 基于绘制失真模型的多视点加深度编码的码率分配方法 |
CN105141956B (zh) * | 2015-08-03 | 2018-05-29 | 西安电子科技大学 | 一种自由视点视频深度图编码的渐进式率失真优化方法 |
CN105872561B (zh) * | 2015-12-29 | 2019-07-23 | 上海大学 | 一种可分级多视点视频加深度宏块编码模式快速选择方法 |
CN105872543B (zh) * | 2016-03-30 | 2018-10-23 | 上海大学 | 一种mvd视点可分级编码中的快速模式选择方法 |
CN111083495A (zh) * | 2019-11-21 | 2020-04-28 | 郑州轻工业大学 | 一种用于降低复杂性的快速高效的3d-hevc方法 |
CN112866691B (zh) * | 2019-11-27 | 2022-09-27 | 北京大学 | 一种针对视频编码的帧间快速模式决策方法 |
CN112383774B (zh) * | 2020-10-30 | 2023-10-03 | 网宿科技股份有限公司 | 编码方法、编码器以及服务器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101404766A (zh) * | 2008-11-05 | 2009-04-08 | 宁波大学 | 一种多视点视频信号的编码方法 |
CN101729891A (zh) * | 2009-11-05 | 2010-06-09 | 宁波大学 | 一种多视点深度视频的编码方法 |
CN101986716A (zh) * | 2010-11-05 | 2011-03-16 | 宁波大学 | 一种快速深度视频编码方法 |
CN102572439A (zh) * | 2012-03-14 | 2012-07-11 | 清华大学深圳研究生院 | 一种确定多视点视频编码最佳模式进行编码的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006246431A (ja) * | 2005-02-07 | 2006-09-14 | Matsushita Electric Ind Co Ltd | 画像符号化装置および画像符号化方法 |
-
2013
- 2013-06-05 CN CN201310225066.6A patent/CN103338370B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101404766A (zh) * | 2008-11-05 | 2009-04-08 | 宁波大学 | 一种多视点视频信号的编码方法 |
CN101729891A (zh) * | 2009-11-05 | 2010-06-09 | 宁波大学 | 一种多视点深度视频的编码方法 |
CN101986716A (zh) * | 2010-11-05 | 2011-03-16 | 宁波大学 | 一种快速深度视频编码方法 |
CN102572439A (zh) * | 2012-03-14 | 2012-07-11 | 清华大学深圳研究生院 | 一种确定多视点视频编码最佳模式进行编码的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103338370A (zh) | 2013-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103338370B (zh) | 一种多视点深度视频快速编码方法 | |
CN104378643B (zh) | 一种3d视频深度图像帧内预测模式选择方法及系统 | |
CN103621093A (zh) | 在三维视频编码系统中的纹理图像压缩方法及装置 | |
CN101867813B (zh) | 面向交互式应用的多视点视频编码方法 | |
CN102939752A (zh) | 通过基于树结构的数据单元执行环路滤波来对视频进行编码的方法和设备,以及通过基于树结构的数据单元执行环路滤波来对视频进行解码的方法和设备 | |
CN101404766B (zh) | 一种多视点视频信号的编码方法 | |
CN107864380B (zh) | 基于dct的3d-hevc快速帧内预测决策方法 | |
CN108347605B (zh) | 3d视频深度图像四叉树编码结构划分的快速决策方法 | |
CN104412587A (zh) | 三维视频编码中视图间候选获取的方法和设备 | |
CN103581647A (zh) | 一种基于彩色视频运动矢量的深度图序列分形编码方法 | |
CN104079937B (zh) | 一种基于运动矢量分析的由h.264到hevc的快速帧间转码方法及转码装置 | |
CN109587503B (zh) | 一种基于边缘检测的3d-hevc深度图帧内编码模式快速决策方法 | |
CN103188496A (zh) | 基于运动矢量分布预测的快速运动估计视频编码方法 | |
CN104125473A (zh) | 一种3d视频深度图像帧内预测模式选择方法及系统 | |
CN103546758A (zh) | 一种快速深度图序列帧间模式选择分形编码方法 | |
CN110557646B (zh) | 一种智能视点间的编码方法 | |
CN104768019A (zh) | 一种面向多纹理多深度视频的相邻视差矢量获取方法 | |
CN105637766A (zh) | 二元分割模式的推导方法及装置 | |
CN104919799A (zh) | 用于三维视频编解码的从深度到视差矢量转换的方法和装置 | |
CN101262606A (zh) | 一种多视点视频的处理方法 | |
TW202205852A (zh) | 一種編解碼方法、裝置及其設備 | |
CN101568038B (zh) | 基于视差/运动联合估计的多视点容错编码框架 | |
CN103188500B (zh) | 多视点视频信号的编码方法 | |
CN103546747B (zh) | 一种基于彩色视频编码模式的深度图序列分形编码方法 | |
CN101557519B (zh) | 一种多视点视频编码方法 |
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 |