《深度图编码方法及装置.pdf》由会员分享,可在线阅读,更多相关《深度图编码方法及装置.pdf(18页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102790892 A (43)申请公布日 2012.11.21 C N 1 0 2 7 9 0 8 9 2 A *CN102790892A* (21)申请号 201210232212.3 (22)申请日 2012.07.05 H04N 13/00(2006.01) H04N 7/26(2006.01) (71)申请人清华大学 地址 100084 北京市海淀区100084-82信箱 申请人清华大学深圳研究生院 (72)发明人戴琼海 汪启扉 张永兵 季向阳 王好谦 (74)专利代理机构北京清亦华知识产权代理事 务所(普通合伙) 11201 代理人张大威 (54) 发明名。
2、称 深度图编码方法及装置 (57) 摘要 本发明提出一种深度图编码方法及装置,该 方法包括:建立多个划分线并组成划分集合,多 个划分线用于对深度宏块进行楔形划分;以帧内 编码模式对深度宏块进行编码得到第一率失真代 价值;判断是否以帧间编码模式对深度宏块进行 编码,如果是则以帧间编码模式进行编码得到第 二率失真代价值;继续判断深度宏块是否包含不 连续的运动向量场,如果是则以几何划分编码模 式对深度宏块进行编码,包括:选择最优划分线 对深度宏块进行划分得到第一和第二深度子区 域,对两个子区域进行预测编码获取第三率失真 代价值;比较不同编码模式下的率失真代价值以 选择率失真代价最小的编码模式对进行编。
3、码。本 发明的实施例提高深度图压缩效率、降低编码复 杂度。 (51)Int.Cl. 权利要求书3页 说明书9页 附图5页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 3 页 说明书 9 页 附图 5 页 1/3页 2 1.一种深度图编码方法,其特征在于,包括以下步骤: 建立多个划分线并组成划分集合,其中,多个划分线用于对深度宏块进行楔形划分; 以帧内编码模式对深度宏块进行编码以获取对应的第一率失真代价值; 判断是否以帧间编码模式对所述深度宏块进行编码,如果是则以帧间编码模式对所述 深度宏块进行编码以获取对应的第二率失真代价值; 继续判断所述深度宏块是否包含不连续的运。
4、动向量场,如果所述深度宏块包含不连续 的运动向量场且进行帧间编码,则以几何划分编码模式对所述深度宏块进行编码,其中,所 述几何划分编码模式进一步包括:根据所述深度宏块的所有像素点的亮度信息从所述划分 集合中选择最优划分线对所述深度宏块进行划分以得到第一和第二深度子区域,且分别对 所述第一和第二深度子区域进行运动估计和预测编码以获取对应的第三率失真代价值;以 及 比较不同编码模式下深度宏块的率失真代价值,以根据比较结果选择率失真代价最小 的编码模式对所述深度宏块进行编码。 2.根据权利要求1所述的深度图编码方法,其特征在于,所述划分集合为: G=( i , i )|i1,2,L, 其中,( i 。
5、, i )为所述划分线集合中的第i条划分线, i 为深度宏块至该划分线的 距离, i 为该划分线与第一方向的夹角,L为划分线的个数。 3.根据权利要求2所述的深度图编码方法,其特征在于,所述深度宏块至多个划分线 的距离均位于0,8)之间,多个划分线与第一方向的夹角均位于0,2)之间。 4.根据权利要求1所述的深度图编码方法,其特征在于,所述判断深度宏块是否包含 不连续的运动向量场的步骤进一步包括: 获取所述深度宏块中所有像素点的亮度值; 计算所述深度宏块中所有像素点的亮度值的方差;以及 比较所述方差和预设阈值的大小,如果所述方差大于所述预设阈值,则判断所述深度 宏块包含不连续的运动向量场。 5。
6、.根据权利要求1所述的深度图编码方法,其特征在于,根据所述深度宏块的所有像 素点的亮度信息,从所述划分集合中选择最优划分线对所述深度宏块进行划分以得到第一 和第二深度子区域的步骤进一步包括: 分别以所述划分集合中的每一条划分线对所述深度宏块进行划分,并分别计算划分所 得的两部分中各自的所有像素点的平均亮度值以得到对应的第一部分和第二部分的平均 亮度值; 分别对每一条划分线对应的第一部分和第二部分平均亮度值做差得到差值;以及 获取使差值的绝对值最大的划分线作为所述最优划分线,以对所述深度宏块进行划分 以得到第一和第二深度子区域。 6.根据权利要求1所述的深度图编码方法,其特征在于,所述以帧内编码。
7、模式对深度 宏块进行编码以获取对应的第一率失真代价值的步骤包括: 根据H.264/MPEG-4 AVC编码标准中的帧内编码模式对所述深度宏块进行帧内编码,并 将对应的最优率失真代价作为所述第一率失真代价值; 所述以帧间编码模式对深度宏块进行编码以获取对应的第二率失真代价值的步骤包 权 利 要 求 书CN 102790892 A 2/3页 3 括: 根据H.264/MPEG-4 AVC编码标准中的帧间编码模式对所述深度宏块进行帧间模式编 码,并将对应的最优率失真代价作为所述第二率失真代价值。 7.根据权利要求1所述的深度图编码方法,其特征在于,所述比较不同编码模式下深 度宏块的率失真代价值,以根。
8、据比较结果选择率失真代价最小的编码模式对所述深度宏块 进行编码的步骤包括: 如果判断不对所述深度宏块进行帧间编码,则仅对所述深度宏块进行帧内编码; 如果判断所述深度宏块进行帧间编码且没有包含不连续的运动向量场,则根据第一和 第二率失真代价值的比较结果选择较小的率失真代价值对应的帧间编码模式或者帧内编 码模式对所述深度宏块进行编码;以及 如果判断所述深度宏块进行帧间编码且包含不连续的运动向量场,则根据第一至第三 率失真代价值的比较结果选择最小的率失真代价值对应的帧间编码模式、帧内编码模式或 者几何划分编码模式对所述深度宏块进行编码。 8.一种深度图编码装置,其特征在于,包括: 划分线建立模块,用。
9、于建立多个划分线并组成划分集合,其中,多个划分线用于对深度 宏块进行楔形划分; 帧内编码模块,用于以帧内编码模式对深度宏块进行编码以获取对应的第一率失真代 价值; 帧间编码判断模块,用于判断是否以帧间编码模式对所述深度宏块进行编码; 帧间编码模块,用于在所述帧间编码判断模块判断以帧间编码模式对所述深度宏块进 行编码时以帧间编码模式对深度宏块进行编码以获取对应的第二率失真代价值; 几何划分判断模块,用于判断所述深度宏块是否包含不连续的运动向量场; 几何划分编码模块,用于在所述几何划分判断模块判断所述深度宏块进行帧间编码且 包含不连续的运动向量场时,以几何划分编码模式对所述深度宏块进行编码,其中,。
10、所述几 何划分编码模式包括:根据所述深度宏块的所有像素点的亮度信息从所述划分集合中选择 最优划分线对所述深度宏块进行划分以得到第一和第二深度子区域,且分别对所述第一和 第二深度子区域进行运动估计和预测编码以获取对应的第三率失真代价值;以及 编码模式选择模块,用于比较所述深度宏块在不同编码模式下的率失真代价值,以根 据比较结果选择率失真代价最小的编码模式以便对所述深度宏块进行编码。 9.根据权利要求8所述的深度图编码装置,其特征在于,所述划分集合为: G=( i , i )|i1,2,L, 其中,( i , i )为所述划分线集合中的第i条划分线, i 为深度宏块至该划分线的 距离, i 为该划。
11、分线与第一方向的夹角,L为划分线的个数。 10.根据权利要求9所述的深度图编码装置,其特征在于,所述深度宏块至多个划分线 的距离均位于0,8)之间,多个划分线与第一方向的夹角均位于0,2)之间。 11.根据权利要求8所述的深度图编码装置,其特征在于,所述几何划分判断模块用于 获取所述深度宏块中所有像素点的亮度值,并计算所述深度宏块中所有像素点的亮度值的 方差,并比较所述方差和预设阈值的大小,如果所述方差大于所述预设阈值,则判断所述深 度宏块包含不连续的运动向量场。 权 利 要 求 书CN 102790892 A 3/3页 4 12.根据权利要求8所述的深度图编码装置,其特征在于,所述几何划分编。
12、码模块用于 分别以所述划分集合中的每一条划分线对所述深度宏块进行划分,并分别计算划分所得的 两部分中各自的所有像素点的平均亮度值以得到对应的第一部分和第二部分的平均亮度 值,分别对每一条划分线对应的第一部分和第二部分的平均亮度值做差得到差值,并获取 使差值的绝对值最大的划分线作为所述最优划分线,以对所述深度宏块进行划分以得到第 一和第二深度子区域。 13.根据权利要求8所述的深度图编码装置,其特征在于, 所述帧内编码模块用于根据H264/MPEG-4 AVC编码标准中的帧内编码模式对所述深度 宏块进行帧内编码,并将对应的最优率失真代价作为所述第一率失真代价值; 所述帧间编码模块用于根据H264。
13、/MPEG-4 AVC编码标准中的帧间编码模式对所述深度 宏块进行帧间模式编码,并将对应的最优率失真代价作为所述第二率失真代价值。 14.根据权利要求8所述的深度图编码装置,其特征在于,所述编码模式选择模块用于 在不对所述深度宏块进行帧间编码时,仅选择帧内编码模式,在所述深度宏块进行帧间编 码且没有包含不连续的运动向量场时,根据第一和第二率失真代价值的比较结果选择较小 的率失真代价值对应的帧间编码模式或者帧内编码模式对所述深度宏块进行编码,在所述 深度宏块进行帧间编码且包含不连续的运动向量场时,根据第一至第三率失真代价值的比 较结果选择最小的率失真代价值对应的帧间编码模式、帧内编码模式或者几何。
14、划分编码模 式对所述深度宏块进行编码。 权 利 要 求 书CN 102790892 A 1/9页 5 深度图编码方法及装置 技术领域 0001 本发明涉及视频编码技术领域,特别涉及一种深度图编码方法和装置。 背景技术 0002 在立体视频以及自由视点视频系统中,由多视点视频和多视点深度图构成的数据 格式获得了广泛的应用。其中,深度是指视频帧中每个像素点对应到三维空间中的点到相 机平面的距离。在立体视频中,为了通过虚拟视点绘制获得用户期望观看的视点所对应的 视频信息,我们需要获得每一个视频帧所对应的深度图。因此,立体视频序列通常包含多路 彩色视频信息以及每一路彩色视频所对应的深度图序列。由于深度。
15、图中每个像素点的深度 信息为0-255之间的一个整数值,因此深度图可以被看作是一系列灰度图像所组成的视频 序列。为了有效的存储和传输海量的立体视频数据,立体视频系统通常采用多视点视频编 码方法对多视点视频和深度图序列分别进行压缩。通过视点内和视间预测编码,多视点视 频编码方法能够有效地压缩多路深度图之间的冗余。 0003 传统的多视点视频编码方法是基于H.264/MPEG-4编码标准上的一种多视点视频 编码拓展方案。在传统的多视点视频编码中,编码器以宏块为单元对每一帧图像进行编码。 每一个1616大小的宏块又可以被进一步被划分成168、816和88子块以及84、 48和44的亚块。不同的子块和。
16、亚块被称为预测单元。在编码过程中,编码器对每一个 预测单元进行运动估计,获得运动补偿预测的率失真代价。然后进行基于率失真优化的模 式选择,获得每个块最优的编码模式和预测残差,并对残差进行变换编码。实验证明,传统 的多视点视频编码能够在深度图上获得较好的压缩性能。 0004 区别于传统的彩色视频,深度图仅包含每个像素点的距离信息,不包含任何视频 纹理信息。因此,深度图中处于物体内部的编码宏块仅包含均一的深度纹理,处在物体边缘 的编码宏块则包含两个或多个不连续的深度区域。传统的宏块划分无法有效地表示物体边 缘。尤其是在低编码码率的条件下,通过划分得到的子块和亚块模式较少被选用。然而,采 用传统的多。
17、视点视频编码方法对深度图编码时,编码器仍然需要对所有的宏块模式进行运 动估计和模式决策。该过程需要消耗大量的计算资源,增大了编码端的复杂度。 0005 为了获得较高的深度图压缩效率,需要针对深度图的特点设计更加高效的编码方 法。为此,本发明针对深度图仅包含物体轮廓信息这一特征,提出一种基于几何划分的深度 图编码方法。通过对包含不连续运动场的深度宏块进行自适应几何划分,获得了较好的预 测结果。从而提高深度图编码的效率,同时降低深度图编码的复杂度。 0006 目前可以查到的与本发明比较相关的专利有四项,分别公开了一种应用于3DTV 与FTV系统的深度图编码压缩方法,一种立体电视系统中深度图像编码方。
18、法,一种立体电 视系统中深度图像的编码方法和一种多视点深度视频的编码方法,申请号分别为20081006 3741.9,200810161597.2,200810120082.8和200910154138.6。尽管所提及的四个专利均 涉及立体视频中深度图的编码方法,但是第一、第二以及第三项专利均分别仅提出了一种 对不同区域的深度宏块采用不同的量化参数的编码方案。区别在于这三个方案设计了不同 说 明 书CN 102790892 A 2/9页 6 的深度宏块分类方法;第四项专利则对不同的区域的深度宏块的编码模式进行了限定,对 于物体边缘区域的深度宏块设定较多的编码模式,而对非物体边缘区域的深度宏块设。
19、定较 少的编码模式。然而该发明中所有的编码模式对应的预测单元仍然是基于传统的H.264/ MPEG-4 AVC编码标准中所规定的划分方法获得。因此,所提及的四个专利均未涉及基于几 何划分的深度图编码方法。 发明内容 0007 本发明旨在至少解决上述技术问题之一。 0008 为此,本发明的一个目的在于提出一种能够提高深度图压缩效率且降低深度图的 编码复杂度的深度图编码方法。 0009 本发明的另一目的在于提出一种深度图编码装置。 0010 为了实现上述目的,本发明第一方面的实施例提出了一种深度图编码方法,包括 以下步骤:建立多个划分线并组成划分集合,其中,多个划分线用于对深度宏块进行楔形划 分;。
20、以帧内编码模式对深度宏块进行编码以获取对应的第一率失真代价值;判断是否以帧 间编码模式对所述深度宏块进行编码,如果是则以帧间编码模式对所述深度宏块进行编码 以获取对应的第二率失真代价值;继续判断所述深度宏块是否包含不连续的运动向量场, 如果所述深度宏块进行帧间编码且包含不连续的运动向量场,则以几何划分编码模式对所 述深度宏块进行编码,其中,所述几何划分编码模式进一步包括:根据所述深度宏块的所有 像素点的亮度信息从所述划分集合中选择最优划分线对所述深度宏块进行划分以得到第 一和第二深度子区域,且分别对所述第一和第二深度子区域进行运动估计和预测编码以获 取对应的第三率失真代价值;以及比较不同编码模。
21、式下深度宏块的率失真代价值,以根据 比较结果选择率失真代价最小的编码模式对所述深度宏块进行编码。 0011 另外,根据本发明上述实施例的深度图编码方法还可以具有如下附加的技术特 征: 0012 在一些示例中,所述划分集合为: 0013 G=( i , i )|i1,2,L, 0014 其中,( i , i )为所述划分线集合中的第i条划分线, i 为深度宏块至该划分 线的距离, i 为该划分线与第一方向的夹角,L为划分线的个数。 0015 在一些示例中,所述深度宏块至多个划分线的距离均位于0,8)之间,多个划分 线与第一方向的夹角均位于0,2)之间。 0016 在一些示例中,所述判断深度宏块是。
22、否包含不连续的运动向量场的步骤进一步包 括:获取所述深度宏块中所有像素点的亮度值;计算所述深度宏块中所有像素点的亮度值 的方差;以及比较所述方差和预设阈值的大小,如果所述方差大于所述预设阈值,则判断所 述深度宏块包含不连续的运动向量场。 0017 在一些示例中,根据所述深度宏块的所有像素点的亮度信息从所述划分集合中选 择最优划分线,对所述深度宏块进行划分以得到第一和第二深度子区域的步骤进一步包 括:分别以所述划分集合中的每一条划分线对所述深度宏块进行划分,并分别计算划分所 得的两部分中各自的所有像素点的平均亮度值以得到对应的第一部分和第二部分的平均 亮度值;分别对每一条划分线对应的第一部分和第。
23、二部分的平均亮度值做差得到差值;以 说 明 书CN 102790892 A 3/9页 7 及获取使差值的绝对值最大的划分线作为所述最优划分线,以对所述深度宏块进行划分以 得到第一和第二深度子区域。 0018 在一些示例中,所述以帧内编码模式对深度宏块进行编码以获取对应的第一率 失真代价值的步骤包括:根据H.264/MPEG-4 AVC编码标准中的帧内编码模式对所述深度 宏块进行帧内编码,并将对应的最优率失真代价作为所述第一率失真代价值;所述以帧间 编码模式对深度宏块进行编码以获取对应的第二率失真代价值的步骤包括:根据H.264/ MPEG-4AVC编码标准中的帧间编码模式对所述深度宏块进行帧间。
24、模式编码,并将对应的最 优率失真代价作为所述第二率失真代价值。 0019 在一些示例中,所述比较不同编码模式下深度宏块的率失真代价值,以根据比较 结果选择率失真代价最小的编码模式对所述深度宏块进行编码的步骤包括:如果判断不对 所述深度宏块进行帧间编码,则仅对所述深度宏块进行帧内编码;如果判断所述深度宏块 进行帧间编码且没有包含不连续的运动向量场,则根据第一和第二率失真代价值的比较结 果选择较小的率失真代价值对应的帧间编码模式或者帧内编码模式对所述深度宏块进行 编码;以及如果判断所述深度宏块进行帧间编码且包含不连续的运动向量场,则根据第一 至第三率失真代价值的比较结果选择最小的率失真代价值对应的。
25、帧间编码模式、帧内编码 模式或者几何划分编码模式对所述深度宏块进行编码。 0020 本发明第二方面的实施例提出了一种深度图编码装置,包括:划分线建立模块,用 于建立多个划分线并组成划分集合,其中,多个划分线用于对深度宏块进行楔形划分;帧内 编码模块,用于以帧内编码模式对深度宏块进行编码以获取对应的第一率失真代价值;帧 间编码判断模块,用于判断是否以帧间编码模式对所述深度宏块进行编码;帧间编码模块, 用于在所述帧间编码判断模块判断以帧间编码模式对所述深度宏块进行编码时以帧间编 码模式对深度宏块进行编码以获取对应的第二率失真代价值;几何划分判断模块,用于判 断所述深度宏块是否包含不连续的运动向量场。
26、;几何划分编码模块,用于在所述几何划分 判断模块判断所述深度宏块包含不连续的运动向量场时,以几何划分编码模式对所述深度 宏块进行编码,其中,所述几何划分编码模式包括:根据所述深度宏块的所有像素点的亮 度信息从所述划分集合中选择最优划分线对所述深度宏块进行划分以得到第一和第二深 度子区域,且分别对所述第一和第二深度子区域进行运动估计和预测编码以获取对应的第 三率失真代价值;以及编码模式选择模块,用于比较所述深度宏块在不同编码模式下的率 失真代价值,以根据比较结果选择率失真代价最小的编码模式以便对所述深度宏块进行编 码。 0021 另外,根据本发明上述实施例的深度图编码装置还可以具有如下附加的技术。
27、特 征: 0022 在一些示例中,所述划分集合为: 0023 G=( i , i )|i1,2,L, 0024 其中,( i , i )为所述划分线集合中的第i条划分线, i 为深度宏块至该划分 线的距离, i 为该划分线与第一方向的夹角,L为划分线的个数。 0025 在一些示例中,所述深度宏块至多个划分线的距离均位于0,8)之间,多个划分 线与第一方向的夹角均位于0,2)之间。 0026 在一些示例中,所述几何划分判断模块用于获取所述深度宏块中所有像素点的亮 说 明 书CN 102790892 A 4/9页 8 度值,并计算所述深度宏块中所有像素点的亮度值的方差,并比较所述方差和预设阈值的 。
28、大小,如果所述方差大于所述预设阈值,则判断所述深度宏块包含不连续的运动向量场。 0027 在一些示例中,所述几何划分编码模块用于分别以所述划分集合中的每一条划分 线对所述深度宏块进行划分,并分别计算划分所得的两部分中各自的所有像素点的平均亮 度值以得到对应的第一部分和第二部分的平均亮度值,分别对每一条划分线对应的第一部 分和第二部分的平均亮度值做差得到差值,并获取使差值的绝对值最大的划分线作为所述 最优划分线,以对所述深度宏块进行划分以得到第一和第二深度子区域。 0028 在一些示例中,所述帧内编码模块用于根据H.264/MPEG-4 AVC编码标准中的帧内 编码模式对所述深度宏块进行帧内编码。
29、,并将对应的最优率失真代价作为所述第一率失真 代价值;所述帧间编码模块用于根据H.264/MPEG-4 AVC编码标准中的帧间编码模式对所 述深度宏块进行帧间模式编码,并将对应的最优率失真代价作为所述第二率失真代价值。 在一些示例中,所述编码模式选择模块用于在不对所述深度宏块进行帧间编码时,仅选择 帧内编码模式,在所述深度宏块进行帧间编码且没有包含不连续的运动向量场时,根据第 一和第二率失真代价值的比较结果选择较小的率失真代价值对应的帧间编码模式或者帧 内编码模式,在所述深度宏块进行帧间编码且包含不连续的运动向量场时,根据第一至第 三率失真代价值的比较结果选择最小的率失真代价值对应的帧间编码模。
30、式、帧内编码模式 或者几何划分编码模式。 0029 根据本发明实施例的深度图编码方法及装置,通过设计基于几何划分的深度图编 码方法,根据合理的方式从帧间编码模式、帧内编码模式或者几何划分编码模式选择最佳 的编码模式对深度宏块进行编码,由此,不但提高了深度图压缩效率、减少压缩时间,也降 低深度图编码的复杂度,实现对深度图的高效编码。 0030 本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变 得明显,或通过本发明的实践了解到。 附图说明 0031 本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变 得明显和容易理解,其中: 0032 图1为本发明实施例的深。
31、度图编码方法的流程图; 0033 图2为本发明一个实施例深度图编码方法的划分线对深度宏块进行划分的原理 图; 0034 图3为本发明一个实施例的深度图编码方法的详细流程图; 0035 图4为本发明一个实施例的深度图编码方法的采用的具有几何划分编码模式进 行编码的编码器的工作原理图; 0036 图5为本发明一个实施例的深度图编码方法采用图4所示的编码器进行编码的对 深度宏块预测编码模式的预测结构图;以及 0037 图6为本发明实施例的深度图编码装置的结构图。 具体实施方式 0038 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终 说 明 书CN 102790892 A 5。
32、/9页 9 相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附 图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。 0039 在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、 “后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于 附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所 指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发 明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指。
33、示或暗示相对重要 性。 0040 在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相 连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可 以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是 两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本 发明中的具体含义。 0041 为了对本发明实施例的编码方式进行验证,在本发明的下述示例中,立体视频编 码的测试序列采用标清格式的名字为“Book Arrival”的标准测试序列,该标清格式视频 序列的分辨率为1024768,该测试序列包含。
34、16个视点的视频和对应的深度图。在本发明 的以下示例中,均以该测试序列中的深度图进行测试,采用该序列的第8个视点的深度图 序列作为测试序列。该序列包含100帧深度图。如图4所示,编解码器采用H.264/MPEG-4 MVC标准参考软件JMVC 6.0;编码器GOP(Group of Pictures,图像组)的帧数为8;编码 的时域预测编码采用Hierarchical B Picture(层次化双向预测编码帧,简称层次化B帧) 的预测结构,编码预测结构图如图5所示。每个编码的深度宏块的大小为1616。运动估 计的精度为四分之一像素精度。其他编码参数均采用与H.264/MPEG-4 AVC标准中。
35、主档次 (Main Profile)中规定的参数设置。 0042 以下结合附图首先描述根据本发明实施例的深度图编码方法。 0043 参考图1,根据本发明实施例的深度图编码方法,包括如下步骤: 0044 步骤S101,建立多个划分线并组成划分集合,其中,多个划分线用于对深度宏块进 行楔形划分。在本发明的一个实施例中,划分集合为:G=( i , i )|i1,2,L,其 中,( i , i )为划分线集合中的第i条划分线, i 为深度宏块至该划分线的距离, i 为 该划分线与第一方向的夹角,L为划分线的个数。 0045 如图2所示,定义楔形几何划分的多个划分线组成的划分集合。定义划分线为一 条直线。
36、(如图2所示的划分线),该直线通过到深度宏块中心点的距离和该直线与y轴, 即第一方向的夹角来表示。在该实施例中,多个划分线的距离均位于0,8)之间,多 个划分线与第一方向的夹角均位于0,2)之间,即每个划分线的两个参数和的 取值范围为0,8)和0,2),参数的采样间隔为1,其取值集合为=0,1,2, ,7, 参数的采样间隔为/16,其取值集合为因此,划分集合 G=( i , i )|i1,2,L中共包含256条可选的划分线,即L=256。 0046 步骤S102,以帧内编码模式对深度宏块进行编码以获取对应的第一率失真代价 值。 说 明 书CN 102790892 A 6/9页 10 0047 。
37、具体地,根据H.264/MPEG-4 AVC编码标准中的帧内编码模式对深度宏块进行帧内 编码,并将对应的最优率失真代价作为第一率失真代价值。更为具体地,编码采用与传统 H.264/MPEG-4 AVC编码标准中定义的帧内编码模式相同的方法对该深度宏块,记为B k 进 行帧内预测编码。在本实施例中,当前深度宏块在帧内预测编码模式下最优率失真代价为 即第一率失真代价值为 0048 步骤S103,判断是否以帧间编码模式对深度宏块进行编码,如果是则以帧间编码 模式对深度宏块进行编码以获取对应的第二率失真代价值。 0049 具体地,根据H.264/MPEG-4 AVC编码标准中的帧间编码模式对所述深度宏。
38、块进行 帧间模式编码,并将对应的最优率失真代价作为所述第二率失真代价值。在该实例中,上述 帧间编码模式为传统的帧间编码模式。 0050 步骤S104,继续判断深度宏块是否包含不连续的运动向量场,如果深度宏块进行 帧间编码且包含不连续的运动向量场,则以几何划分编码模式对深度宏块进行编码,其中, 几何划分编码模式进一步包括:根据深度宏块的所有像素点的亮度信息从划分集合中选择 最优划分线对深度宏块进行划分以得到第一和第二深度子区域,且分别对第一和第二深度 子区域进行运动估计和预测编码以获取对应的第三率失真代价值。 0051 具体地,在一些示例中,判断是否以几何划分模式对深度宏块进行编码,即判断深 度。
39、宏块是否包含不连续的运动向量场的步骤包括: 0052 1、获取深度宏块中所有像素点的亮度值。例如当前编码的深度宏块B k 的全部像 素点集合为其中N代表该深度宏块中像素点的个数,在本实施例中, N=256。假设该深度宏块B k 为当前帧的第529个深度宏块。设B k 的全部像素点的亮度值为 其中,的数值如下述矩阵所示: 0053 0054 2、计算深度宏块中所有像素点的亮度值的方差。通过计算可以知道,该深度宏块 Bk的所有像素点的亮度值的方差为838。 0055 3、比较方差和预设阈值的大小,如果方差大于预设阈值,则判断深度宏块包含不 连续的运动向量场。例如,该预设阈值为T S =100,则B。
40、 k 所有像素点的亮度值的方差大于T S , 因此判断深度宏块包含不连续的运动向量场。 0056 根据深度宏块的所有像素点的亮度信息从划分集合中选择最优划分线对所述深 说 明 书CN 102790892 A 10 7/9页 11 度宏块进行划分以得到第一和第二深度子区域的步骤进一步包括: 0057 1、分别以划分集合中的每一条划分线对深度宏块进行划分,并分别计算划分所得 的两部分中各自的所有像素点的平均亮度值以得到对应的第一部分和第二部分平均亮度 值。例如,编码器通过遍历集合G中的每一条划分线来搜索B k 所对应的最优划分线。在遍 历过程中,对每一条划分线( i , i ),将B k 划分成两。
41、部分。计算两个部分中各自所有像 素点的平均亮度值,例如当参数和参数的取值均为0时,此时划分线为位于宏块B k 中 心的垂直线段。该划分线将宏块B k 分成左右大小相等的两部分,P 1 ( 0 , 0 )和P 2 ( 0 , 0 )。 此时,区域P 1 ( 0 , 0 )中所有像素点的平均亮度值为40.2;区域P 2 ( 0 , 0 )中所有像素点 的平均亮度值为68.1。 0058 2、分别对每一条划分线对应的第一部分和第二部分的平均亮度值做差得到差 值。根据步骤1中的示例,P 1 ( 0 , 0 )和P 2 ( 0 , 0 )之间的平均亮度值做差结果为: d=40.2-68.1=-27.9 。
42、0059 3、获取使差值的绝对值最大的划分线作为所述最优划分线,以对所述深度宏 块进行划分以得到第一和第二深度子区域。根据步骤2中的示例,差值的绝对值为: d=|40.2-68.1|=27.9。 0060 同理,对划分线集合G中的所有划分线均以步骤1-3的方式求取其划分后对应的 深度划分差,将获得最大深度划分差的划分线作为所述当前宏块最优的划分线,最优划分 线记为( opt , opt )。在本实施例中,对于深度宏块B k 的最大深度划分差为d max =65.6。 其对应的最优划分线( opt , opt )的参数取值分别为 opt =4, 0061 根据上述的示例,分别对第一和第二深度子区。
43、域进行运动估计以获取对应的第三 率失真代价值,具体为:对B k 采用最优的划分线( opt , opt )划分成第一和第二深度子区 域,记为P 1 ( opt , opt )和P 2 ( opt , opt )。然后对第一和第二深度子区域分别进行运动估 计,并计算其对应的率失真代价,在该示例中,B k 在几何划分编码模式下的第三率失真代价 为 0062 0063 步骤S105,比较不同编码模式下深度宏块的率失真代价值,以根据比较结果选择 率失真代价最小的编码模式对深度宏块进行编码。具体而言,包括如下步骤: 0064 1、如果判断不对深度宏块进行帧间编码,则仅对深度宏块进行帧内编码。 0065 。
44、2、如果判断深度宏块进行帧间编码且没有包含不连续的运动向量场,则根据第一 和第二率失真代价值的比较结果选择较小的率失真代价值对应的帧间编码模式或者帧内 编码模式对深度宏块进行编码。 0066 3、如果判断深度宏块进行帧间编码且包含不连续的运动向量场,则根据第一至第 三率失真代价值的比较结果选择最小的率失真代价值对应的帧间编码模式、帧内编码模式 或者几何划分编码模式对深度宏块进行编码。 0067 作为一个具体的示例,以上述的B k 为例:对B k 进行基于率失真优化的模式选择。在 本实施例中,由于编码器对B k 进行了几何划分模式的预测,因此需要在几何划分编码模式, 帧间编码模式、帧内编码模式这。
45、三种模式中选择率失真代价最小的模式作为B k 的最优编码 模式。对于B k ,最小的率失真代价为: 说 明 书CN 102790892 A 11 8/9页 12 0068 因此,B k 的最优编码模式为几何划分编码模式。则该B k 采用几何划分编码模式进 行编码。 0069 参见图3,作为一个具体的例子,本发明实施例的深度图编码方法可按照如下步骤 进行: 0070 步骤S110,设置几何划分模式中的划分线集合。 0071 步骤S120,开始编码当前宏块B k 。 0072 步骤S130,判断B k 是否为帧内编码宏块,如果是则转至步骤S140,否则转至步骤 S220。 0073 步骤S140,。
46、对B k 进行帧内预测编码并计算该模式下的率失真代价,并转入步骤 S150。 0074 步骤S150,判断B k 是否进行帧间模式编码,如果是则转至步骤S160,否则转至步 骤S200。 0075 步骤S160,对B k 采用传统帧间预测模式进行编码并计算该模式下的率失真代价, 并转入步骤S170。 0076 步骤S170,判断B k 是否包含不连续运动场。如果是则转至步骤S180,否则转至步 骤S200。 0077 步骤S180,根据B k 中每个像素的亮度信息搜索对应的最优划分线。 0078 步骤S190,对最优划分线所划分成的两个部分进行运动估计和编码,并计算其对 应的率失真代价。 00。
47、79 步骤S200,选取率失真代价最小的模式作为B k 的最优编码模式。 0080 步骤S210,采用最优模式编码B k 。 0081 步骤S220,判断B k 是否为当前帧的最后一个宏块。如果是则编码结束,否则转至 步骤S120中以便对下一个深度宏块进行编码。 0082 参考图6,本发明进一步实施例提出了一种深度图编码装置600,包括划分线建立 模块610、帧内编码模块620、帧间编码判断模块630、帧间编码模块640,几何划分判断模块 650、几何划分编码模块660和编码模式选择模块670。其中: 0083 划分线建立模块610用于建立多个划分线并组成划分集合,其中,多个划分线用 于对深度。
48、宏块进行楔形划分。帧内编码模块620用于以帧内编码模式对深度宏块进行编码 以获取对应的第一率失真代价值。帧间编码判断模块630用于判断是否以帧间编码模式对 所述深度宏块进行编码。帧间编码模块640用于在帧间编码判断模块630判断以帧间编码 模式对深度宏块进行编码时以帧间编码模式对深度宏块进行编码以获取对应的第二率失 真代价值。几何划分判断模块650用于判断深度宏块是否包含不连续的运动向量场。几何 划分编码模块660用于在几何划分判断模块650判断深度宏块包含不连续的运动向量场 时,以几何划分编码模式对深度宏块进行编码,其中,几何划分编码模式包括:根据深度宏 块的所有像素点的亮度信息从所述划分集合中选择最优划分线对深度宏块进行划分以得 到第一和第二深度子区域,且分别对第一和第二深度子区域进行运动估计和预测编码以获 取对应的第三率失真代价值。编码模式选择模块670用于比较深度宏块在不同编码模式下 的率失真代价值,以根据比较结果选择率失真代价最小的编码模式以便对所述深度宏块进 行编码。 说 明 书CN 102790892 A 12 9/9页 13 0084 在一些示例中,划分集合为: 0085 G=( i , i )|i1,2,L, 0086 其中,( i , i )为所述划分线集合中的第i条划分线, i 为深度宏块至该划分 线的距。