【论文解读】基于纹理相似度的高效视频编码帧间预测优化算法

2023-12-13 13:02:51

时间:2016
机构:西安电子科技大学
摘要:为了提高HEVC的编码效率,对帧间预测算法进行优化,提出一种基于纹理相似性的快速深度判决算法。随着视频分辨率的提高,视频序列中的空域冗余也随之增加,HEVC通过增加编码块尺寸来提高预测效率,代价就是编码复杂度的急剧增加。通过对视频序列分析可知,图像中的平滑区域与细节区域在相邻帧中存在很大的相关性。该文利用相邻已编码帧的相邻编码块的深度信息,来快速判决当前待编码块的深度信息。 对于平滑区域,快速判决待编码最大编码单元的最大深度,以减少小块编码单元的模式判决;对于细节区域,快速判决待编码最大编码单元的最小深度,以减少大块编码单元的模式判决。实验结果表明,与原始的HEVC算法相 比,该文所提算法编码比特率平均增加约 0.13%以内,PSNR 的平均降幅为 0.09 dB,算法运行时间平均减少了约 50%。

引言:HEVC 采用四叉树的划分结构,提高了编码性 能的同时也增加了编码复杂度。通过对视频序列分析可知,图像中的平滑区域与细节区域在相邻帧中存在很大的相关性,本文通过分析帧间序列的相关性, 对复杂度较高的深度判决做了深入研究,提出了关于帧间快速深度判决的算法,跳过或者提前终止 LCU 以及 CU 的划分深度,同时采用 SKIP 快速算法,在保证了一定的图像质量和压缩性能基础上, 显著提高编码效率。

帧间算法复杂度分析

CU 划分深度复杂度分析: HEVC 相比较 H.264 的显著改进之一是采用四叉树的划分结构,基于率失真(Rate Distortion, RD) 代价确定 CU 划分的处理顺序,编码单元从深度为 0 依次增加为 3,对应块大小依次为 64×64, 32×32, 16×16, 8×8。为了选择最优的 LCU 划分方式,需要遍历所有的划分深度,每种深度均需要进行预测、 变换、量化和熵编码,从而求得当前的率失真代价 来判断是否划分 。 由图 1 发现,当最大划分深度为 3 时,对于单 个 LCU 需要进行 64 次 CU 预测编码的遍历才可以 确定最优划分方式 。 而对于序列 BasketballDrill(832x480) 来说,一帧图像包含 104 个 LCU,则需要遍历 6656 次 CU 编码,且每次遍历都需要确认最佳预测模式, 且进行 TU 划分,进而求得当前块的率失真代价, 计算复杂度相当高。所以,很有必要对 CU 的划分方式进行优化。
在这里插入图片描述
帧间LCU及CU划分深度相关性分析: 视频在本质上是由一系列连续的图像序列组成,相邻图像之间时域上相差很短,往往表现出很强的相关性 。根据视频序列的这一特性,结合图像的分割深度结构图,发现相邻两帧图像的 LCU 划分深度有较强的相关性,所以前一帧同位 LCU 深度可以作为当前帧同位 LCU 的参考。同时考虑到帧间运动矢量,把前一帧同位 LCU(以下简称参考 LCU) 以及它的左邻块、右邻块、上邻块、下邻块(以下简 称时域邻块 LCU)的深度信息同时作为当前 LCU 划分深度的参考。

为了验证选取 LCU 深度策略的正确性,我们对帧间 LCU 的深度相似性进行统计。 如下图,由此看出,相邻帧相同位置处 LCU 划分深度确有相关性,而且整体相关性均大于 60%,所以在此基础上的优化十分有意义。
在这里插入图片描述
同时,确定 LCU 优化方法以后,在此基础上对 CU 划分方式进行优化。找到当前 CU(curCU)的参考帧同位 CU(记为 SCU)的划分深度,记为dSCU , 当前 CU 的深度记为dCU ,依次对P 帧的每一个 CU 相对应的 dSCU 与 dCU 进行比对,定义变量 RATE 分两种情况讨论二者的关联性:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
由以上分析,我们可以确定 LCU 以及 CU 选取深度的方案。

在对帧间进行优化的同时,我们发现 SKIP 模式不需要编码量化后的残差,大大减少编码和划分复杂度,会相对减少编码比特率和编码时间, 本文采取 SKIP 模式快速判决。

基于纹理相似度的快速帧间深度判决算法

步骤1:如果当前帧是 I 帧,正常编码,否则执行步骤 2;
步骤2:如果当前 LCU 的时域邻块 LCU(上邻 块、下邻块、左邻块、右邻块 LCU)存在,且时域 邻块 LCU 的深度等于同位 LCU,则直接令 LCU 完成时域邻块 LCU 的深度计算,否则进行步骤 3;
步骤3:时域邻块 LCU 以及同位 LCU 深度均 小于 2,则当前 LCU 只完成深度为 0-1 的划分,否则进行步骤 4;
步骤4:时域邻块 LCU 以及同位 LCU 深度大于等于 2,则当前 LCU 深度直接从 2 开始划分,否则进行步骤 5;
步骤5: 当前 CU 深度小于前一帧相同位置处 CU 深度减 1,则忽略当前编码,直接划分为 4 个子 CU 进行处理,否则进行步骤 6;
步骤6: 当前 CU 深度大于前一帧相同位置处 CU 深度,只完成当前深度的计算,不再划分,否 则执行步骤 7;
步骤7:对当前 CU 进行正常编码并继续划分。 算法流程图如图 3 所示。
在这里插入图片描述

实验结果

代码版本:HM10.0
编码配置:CTU 最大尺寸64x64,编码块的最大划分深度设置 3,QP(22,27,,32,,37)
结论: 本文算法能够减少 50% 的编码复杂度,码率平均增加约 0.13%,PSNR平均减少约 0.09 dB。
在这里插入图片描述

备注

解读后,论文整体逻辑原理介绍相对粗粒度,严谨度欠缺。

文章来源:https://blog.csdn.net/yanceyxin/article/details/134967524
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。