随着多媒体技术的发展,人们对视频的要求越来越高,不仅要求高清晰度,而且也在向3D立体视频方向发展。多视点纹理视频加深度(multiview video plus depth,MVD)是当前最流行的3D视频编码算法,对于MVD格式,就是在不同视点和相应深度映射图中捕获部分视频压缩成3D视频流,然后通过解码得出视频图像和深度图像,再通过视点合成技术得出其他视点[1]。
3D-HEVC是高效视频编码(high efficiency video coding,HEVC)用于3D视频编码的扩展,也是MVD格式视频压缩工具中最先进的编码标准,在3D-HEVC中,对深度映射图像的帧内编码既使用了HEVC中的35中帧内预测模式,又加入了深度模型模式(depth modeling modes,DMM),但是这极大地增加了计算复杂度和编码时间。因此,如何降低复杂度,节约编码时间成了人们讨论的热点。文献[2]根据统计信息,为率失真代价设置阈值,通过比较率失真代价和阈值,提前结束编码单元的划分。文献[3]提出了一种自适应加权平均率失真代价(RDcost)的方法提前截止编码单元(coding unit,CU)划分的方法。文献[4]提出了一种基于贝叶斯分类器的方法快速决策CU的最佳尺寸。文献[5]利用统计信息和文献[4]提出的贝叶斯分类器,对率失真代价值设置阈值,提前确定编码单元的划分。文献[6]将LCU下采样到四分之一大小,计算图像的纹理复杂度,过滤掉一些不太可能的预测单元。文献[7]利用预测模式之间和哈达玛变换代价之间的相关性,减少率失真优化时候选模式的数量,并且将编码单元树的深度进行了范围划分,以及对哈达玛变换代价和率失真优化代价分别设置阈值,减少遍历搜索的次数。文献[8]对编码块纹理特性的分析,根据相邻编码单元的深度预测当前的编码单元。文献[9]设置4个编码水平,利用相邻图像组(group of picture,GOP)中深度值相同的CU的编码水平也相同的关系,加速编码过程。文献[10]利用纹理图和深度图之间的关系,加速纹理视频的模式判决。文中通过使用条件概率统计分析纹理图的LCU划分深度分布与深度图的LCU划分深度分布之间的关系,利用两者之间的相关性,提出一种提前截止深度图深度划分的方法。 1 3D-HEVC视频编码框架
3D-HEVC视频编码框架如图 1所示,同一时间N个视点按0,1,…,N-1的顺序被依次编码,每个视点均包括纹理图和深度图,同一时间呈现同一场景的N个纹理图加深度图被成为一个存取单元。参考视点0因不参考其他视点被称为独立视点,视点1,2,…,N-1因参考了其他视点被称为依赖视点。每个视点先编码纹理帧,再编码深度图[12]。
独立视点0的纹理图通过传统的HEVC编码器编码,独立视点0的深度图通过改进的HEVC深度编码器(HEVC+DMM)编码。依赖视点的纹理图通过改进并增加了视点间预测的HEVC编码器编码,依赖视点的深度序列通过改进并增加了视点间预测的HEVC深度图编码器编码。
对于同一视点,其深度图可以通过已编码的对应纹理图来预测。对于不同视点,未编码的纹理图既可以通过参考视点的已编码纹理图来预测,也可以通过参考视点的已编码深度图来预测,而未编码的深度图只能通过参考视点的已编码深度图来预测。 2 纹理图的HEVC帧内预测算法过程
在HEVC帧内预测编码过程中,纹理图及其深度划分的过程为:每一幅图像被划分为若干个互不重叠的LCU,在LCU内部,采用基于四叉树的循环分层结构。同一层次上的编码单元具有相同的分割深度。1个LCU可能只包含1个CU(没有进行划分),也可能被划分为多个CU,具体分割方式如图 2所示。
HEVC对LCU帧内编码的过程[8]:
1)对LCU(depth=0)进行35种帧内预测模式搜索,计算相应的率失真代价RDCost_0 。
2)按照图 1所示方式,将LCU划分为4个子CU(depth=1),对每个子CU分别计算RDCost,将4个子CU的RDCost加和,定义为RDCost_1。
3)比较RDCost_0和RDCost_1,如果前者较小,则将RDCost_0对应的最佳预测模式作为LCU的最优预测模式,否则将RDCost_1对应的最佳预测模式作为LCU的最优预测模式。
4)以此方式,对每一个子CU进行帧内预测模式搜索时经历与LCU相同的过程,直到CU划分深度为3 。
这种穷尽搜索的方式虽然提高了准确性,但是也极大地增加了编码的复杂度和编码时间。文中考虑到深度映射图大片的平坦区域的特点,对纹理图的深度全为0、1的LCU的概率分布和深度映射图的深度全为0、1的LCU的概率分布进行了统计分析,发现两者之间有很大的相关性,因此有些LCU的深度划分没有必要进行0~3的递归划分,可以通过纹理图LCU的深度判断跳过划分,这样可以大大地缩短编码时间。 3 深度图编码单元快速划分算法
在3D-HEVC中,由于深度图图像是相同场景的深度表示,因此在纹理图比较平坦的LCU,深度图像的LCU也是比较平坦的,并且当前LCU深度值也比较平均。因此文中提出了一种加速深度图编码单元快速划分的算法,在已知纹理图LCU的最终划分模式的情况下,根据概率统计跳过不必要的深度图的LCU深度划分,来加速深度图的编码单元划分。
首先,对一个YUV测试序列进行编码,统计深度图中每个LCU的最终深度划分分布,通过观察可以发现由于深度图的复杂度较低,所以LCU中深度全为0的LCU占所有LCU很大一部分,然而每个LCU却都需要遍历一遍所有的深度才能得到最终的深度划分,这大大地增加了编码的运行时间。因此可以考虑根据对应纹理图的LCU最终深度划分,来判断跳过这些深度全为0的LCU的进一步划分。
选取3D-HEVC标准中给出的标准测试序列中的三视点的balloons、三视点的kendo、两视点的newspaper作为试验序列,量化参数(quantization parameters,QP)分别选择为(25,34)、(35,42)、(40,45),编码帧数分别为100、100、300进行实验。统计编码视频中当纹理图中LCU深度分别为全0和全1时,对应深度图LCU全0的比例分布,得到结果如表 1所示(纹理LCU深度全为0简称为纹理0,深度LCU图深度全为0的简称为深度0,纹理1同理)。
编码帧 | QP | 纹理0深度0 | 纹理1深度0 | ||
占纹理 全0 |
占深度 全0 |
占纹理 全1 |
占深度 全0 |
Balloons | (25,34) | 99.80 | 79.31 | 78.95 | 10.94 |
(100帧) | (35,42) | 99.89 | 87.86 | 93.88 | 6.53 |
(40,45) | 99.93 | 91.47 | 96.94 | 4.51 | |
Kendo | (25,34) | 99.67 | 83.39 | 70.85 | 9.13 |
(100帧) | (35,42) | 99.78 | 87.63 | 91.11 | 7.24 |
(40,45) | 99.86 | 90.95 | 96.48 | 5.25 | |
Newspaper | (25,34) | 99.74 | 90.94 | 54.12 | 5.33 |
(300帧) | (35,42) | 99.76 | 91.32 | 77.41 | 4.66 |
(40,45) | 99.81 | 92.36 | 84.79 | 4.00 |
由表 1可以得出:
1)在纹理图LCU全0的时候,深度图LCU 99%以上也都为全0;
2)纹理0深度0和纹理1深度0占深度全0 的比例和超过90%;
3) 纹理1深度0占纹理全1的至少70%。
因此,决定将纹理LCU划分深度全为0时,其对应的深度图LCU跳过进一步的划分使其最终的划分也都为0。从表 1中还可以看出,纹理1和深度0也存在一定的关系,因此我们继续进行分析统计纹理LCU全1时,对应深度LCU全0和其他的RDcost,找到适当的阈值来跳过纹理1深度0。表 2为统计结果(统计中去除了一些在范围外出现极少的值)。
试验序列 | 量化参数 | 量化值 |
纹理1 深度1 | 纹理1 深度0 | 纹理1 深度其他 |
QP | 最大 | 18 000 | 5 700 | 90 | |
(25,34) | 最小 | 0 | -100 | 1 530 | |
balloon | QP | 最大 | 400 000 | 80 000 | 47 765 |
(40,45) | 最小 | 500 | 0 | 25 374 | |
QP | 最大 | 360 000 | 360 000 | 22 424 | |
(35,42) | 最小 | 1 000 | -10 000 | 4 428 | |
QP | 最大 | 40 000 | 16 000 | 2 000 | |
(25,34) | 最小 | 0 | -1 600 | 100 | |
kendo | QP | 最大 | 100 000 | 200 000 | 110 000 |
(40,45) | 最小 | 2 000 | -110 000 | 10 000 | |
QP | 最大 | 100 000 | 80 000 | 40 000 | |
(35,42) | 最小 | 100 | -35 000 | 2 000 | |
QP | 最大 | 30 000 | 30 000 | 10 000 | |
(25,34) | 最小 | 100 | -15 000 | 0 | |
newspaper | QP | 最大 | 561 456 | 546 365 | 100 000 |
(40,45) | 最小 | 1291 | -33 968 | 11 631 | |
QP | 最大 | 383 517 | 308 118 | 53 288 | |
(35,42) | 最小 | 159 | -18 474 | 951 |
由表 2可以看出当纹理全1时,3种情况的RDcost值范围重叠性很强,但是只有纹理1深度0的RDcost值有小于0的情况,其他2种情况基本没有,因此文中的算法可以根据以下2个条件来加速深度图的LCU划分:
1)当纹理图LCU的划分深度值都为0时,跳过深度图对应LCU的进一步划分。
2)当纹理图LCU的划分深度值都为1时,判断深度图对应LCU的RDcost值,如果该值小于0,则跳过该LCU的进一步划分;否则按照标准算法递归划分。
文中的算法流程如图 3所示。
4 实验结果与分析 4.1 客观分析实验将文中算法、参考文献[13]中的降低3D视频编码中深度图的帧内编码复杂度的算法(complexity reduction of depth intra coding for 3D video extension of HEVC,CRDI)、参考文献[14]中的利用简化边缘检测法降低3D视频编码中深度图帧内编码复杂度的算法(complexity reduction for 3D-HEVC depth maps intra-frame prediction using simplified edge detector algorithm,CSED)分别对比HTM14.1的Anchor算法,通过Bit-rate、深度图编码时间百分比ΔT和PSNR进行算法性能对比[11],三视点的balloons,三视点的kendo,两视点的newspaper作为试验序列,QP分别选择为(25,34),(35,42),(40,45),编码帧数分别为100,100,300,统计数据公式为
表 3给出实验结果,可以看出,文中算法较HTM14.1标准算法,PSNR和比特率几乎不变,但是编码时间节约了22%~25%。与CRDI算法、CSED算法相比,文中算法能够在降低相近的编码时间的同时,保证编码性能,因此,文中算法优于参考文献[13]算法以及参考文献[14]算法。综合上述分析,说明了文中算法可以在保证Bit-rate和PSNR基本不变的前提下,降低编码复杂度和编码时间。
实验序列 QP | 算法 |
Balloons (25,34) |
Kendo (35,42) |
Newspaper (40,45) |
Anchor | -0.28 | 0.5 | 1.0 | |
Bit-rate/% | CRDI | 1.1 | 0.6 | 0.7 |
CSED | 0.3 | 0.2 | -2.1 | |
文中算法 | 0.06 | -0.25 | -0.08 | |
PSNR-Y/% | CRDI | 0.04 | -0.24 | -0.01 |
CSED | 0.12 | -0.19 | -0.05 | |
文中算法 | 21.73 | 22.93 | 24.85 | |
ΔT/% | CRDI | 19.3 | 20.3 | 16.9 |
CSED | 20.8 | 20.1 | 22.9 |
文中选取了测试序列里的Kendo序列,在QP=(35,42)前提下,HTM14.1算法结果与改进后算法作对比,在主观上看属于同一质量水平,文中算法在单元划分上更具合理性,如图 4、5所示。
5 结束语文中利用概率统计纹理图LCU深度划分分布与深度图LCU深度划分分布之间的相关性,提出一种基于纹理图的深度图编码单元快速划分算法,该算法可以使得深度图LCU中的递归划分提前截止,从而降低编码复杂度和编码时间。实验结果表明:与3D-HEVC标准测试模型HTM14.1比较,文中算法可以在保证bit-rate和PSNR基本不变的前提下平均节省24%的深度图编码时间。
[1] | 邱圣辉. 基于3D-HEVC下的帧内预测快速算法的研究与实现[D]. 北京:北方工业大学, 2014:2-3. |
[2] | KIM Y, JUN Dongsan, JUNG S H, et al. A fast intra-prediction method in HEVC using rate-distortion estimation based on Hadamard transform[J]. ETRI Journal, 2013, 35(2):270-280. |
[3] | KIM J, JEONG S, CHO S, et al. Adaptive coding unit early termination algorithm for HEVC[C]//Proceedings of IEEE International Conference on Consumer Electronics. Las Vegas, USA, 2012:261-262. |
[4] | SHEN Xiaolin, YU Lu, CHEN Jie. Fast coding unit size selection for HEVC based on Bayesian decision rule[C]//Proceedings of Picture Coding Symposium (PCS). Krakow, Poland, 2012:453-456. |
[5] | KIM J, CHOE Y, KIM Y G. Fast coding unit size decision algorithm for intra coding in HEVC[C]//Proceedings of IEEE International Conference on Consumer Electronics. Las Vegas, USA, 2013:637-638. |
[6] | TIAN Guifen, GOTO S. Content adaptive prediction unit size decision algorithm for HEVC intra coding[C]//Proceedings of Picture Coding Symposium. Krakow, Poland, 2012:405-408. |
[7] | WANG Yang, FAN Xiaopeng, ZHAO Liang, et al. A fast intra coding algorithm for HEVC[C]//Proceedings of IEEE International Conference on Image Processing. Paris, France, 2014:4117-4121. |
[8] | 赵文强, 沈礼权, 张兆杨. HEVC帧内预测算法的优化[J]. 电视技术, 2012, 36(8):31-33, 63. |
[9] | LI Mingchang, LIN Y H, LIN Y T, et al. A 3D-HEVC fast mode decision algorithm based on the depth information guided maximum coding level[C]//Proceedings of Data Compression Conference. Snowbird, UT, USA:IEEE, 2014:413-415. |
[10] | 林立翔, 门爱东. 基于深度图的3D-HEVC快速模式判决[EB/OL]. 北京:中国科技论文在线, (2013-11-22), http://www.paper.edu.cn/releasepaper/content/201311-429. |
[11] | 刘华杰. 3D视频编码算法研究[D]. 大连:大连理工大学, 2010:42-45. |
[12] | 田恬, 姜秀华, 王彩虹. 新一代基于HEVC的3D视频编码技术[J]. 电视技术, 2014, 38(11):5-8, 19. |
[13] | DA SILVA T L, AGOSTINI L V, DE SILVA CRUZ L A. Complexity reduction of depth intra coding for 3D video extension of HEVC[C]//Proceedings of Visual Communications and Image Processing Conference. Valletta, Malta, 2014:229-232. |
[14] | SANCHEZ G, SALDANHA M, BALOTA G, et al. Complexity reduction for 3D-HEVC depth maps intra-frame prediction using simplified edge detector algorithm[C]//Proceedings of IEEE International Conference on Image Processing. Paris, France, 2014:3209-3213. |