基于纹理合成的错误隐藏算法在H.265中的应用

2022-05-08 04:56西昌卫星发射中心敬文慧刘雪峰王立忠陶俊豪梅高杰
数字技术与应用 2022年4期
关键词:信源复杂度纹理

西昌卫星发射中心 敬文慧 刘雪峰 王立忠 陶俊豪 梅高杰

针对视频因信道传输引起的图像信息丢失问题,在研究传统图像修复技术的基础上,提出了一种基于限定信源区域的纹理合成错误隐藏算法,实验表明,与传统的双线性插值相比,该算法在不增加复杂度的同时,有效提高了修复后视频的主客观质量。

早期错误隐藏算法主要研究如何实现图像的平滑过渡,以使丢失块与其相邻块的边界能够平滑连接,提出了双线性差值算法[1];针对双线性插值易丢失图像边缘信息,提出了采用Sobel算子进行边缘检测的方法[2];边界像素边缘差值最小算法[3]利用相邻图像块的边界像素点,使修复后的图形避免出现方块效应,保留图像纹理细节;文献[4-7]所提算法计算复杂度较高,对较大尺度图像的修复效果有限,且不能用于视频序列的错误隐藏。基于纹理结构的图像修复技术可用于修复图像中较大尺寸的缺损。代表性的有基于模板的修复算法[8]、基于碎片的图像补全算法[9]和基于样本的图像修复算法[10]等,后者结合结构传输和纹理合成的方法,对较大尺寸的图像信息丢失情况有很好的修复效果,但缺点是计算复杂度较大。H.265(新一代视频编码标准)与H.264相比,最大编码单元由16×16变为64×64,传统双线性插值算法等效果降低,为提高修复后的视频主客观质量,本文根据图像空域相关性原理,提出了基于限定信源区域的纹理合成错误隐藏算法。

1 基于纹理合成的错误隐藏算法

根据纹理合成的思想,Criminisi等人提出了基于最佳样本块的图像修复算法[10]。此算法主要借鉴了纹理生成的方法,在纹理生成过程中寻找最佳的样本匹配区域,然后将匹配区域的图像信息复制至待修复区域即可。

Criminisi算法的核心思想是最佳修复块的优先级确定问题,他根据图像自身的信息,确定待修复区域的填充优先级,再根据优先级进行修复。此算法在一定程度上保持了图像的纹理和结构信息,对较大尺寸的图像丢失或缺损部分具有较好的修复效果。算法标示图如图1所示,其中I代表原始图像、Ω为待修复区域、δΩ表示Ω的填充前沿;Φ表示原始图像中最佳匹配样本的来源区域,满足I=Ω+Φ的关系;Φp表示中心点为p且位于填充前沿δΩ上的修复块,它是尺寸为9×9的矩形块[10]。

图1 算法标示图[10]Fig.1 Algorithm marking diagram

在Criminisi等人的算法中,需要先指定待修复的图像区域和匹配样本的来源区域,在实际应用中可通过待修复区域的像素值或亮度范围来与原始图像区域进行区分。其算法流程为:

步骤1 提取待修复区域Ω的初始边界δΩ0;

步骤2 循环运行以下步骤直至待修复区域Ω被填充完毕;

步骤2.1 标志填充前沿δΩt,如果则退出循环;

步骤2.2 计算优先级P(p),∀ p∈δΩt;

步骤2.3 寻找优先级最大的点 Pˆ的窗口模板ψpˆ ,即

如图2所示,从上述步骤中可以看出,此算法涉及到两个关键的问题,其一是如何确定最匹配的修复块并对其进行填充也就是纹理生成(即搜索、匹配和合成)的过程,其二是如何确定修复块的优先级,也就是哪一块首先被填充。修复块优先级的确定主要取决于两个因素,一个是数据项,一个是置信度项。数据项在图像边缘附近处有较大的值。因此在修复时,会优先处理这样的结构信息,将信息沿等照度线方向向内传播。置信度项则是待修复块信息完整程度的直接反映,置信度越高,则信息损失的越少,修复时的可靠性越高,因此有较高的修复优先级。此算法可以有效地修复图像,但它采用全局搜索的方法来确定最佳匹配样本块,时效较低[10]。

图2 纹理合成错误隐藏算法示意图[10]Fig.2 Schematic diagram of texture synthesis error concealment algorithm

此算法可以有效地修复图像,但它采用全局搜索的方法来确定最佳匹配样本块,算法复杂度较高,不能直接用于H.265的错误隐藏,可在限定信源区域的情况下,减小其复杂度。

2 限定信源区域的纹理合成错误隐藏算法

与传统视频编码标准相比而言,H.265的编码单元变的更大,由H.264的16×16变为了现在的64×64,若出现编码块丢失,丢失的编码块内部的像素与相邻块像素之间的空域相关性将随着其与边界距离的增大而急剧减小,基于空域相关性的双线性插值错误隐藏算法虽然在H.264中取得了较好的效果,但已经很难适用于H.265标准,为解决大尺寸丢失块的错误隐藏问题,必须考虑其他的算法,对于64×64或者更大尺寸的丢失块而言,基于纹理合成的图像修复技术能基本满足要求。对于较大尺寸的图像信息丢失问题,基于纹理合成的错误隐藏算法有着更好的修复效果,其修复后的主、客观质量远远高于传统的错误隐藏算法,但从纹理合成修复算法的基本原理[10]中不难发现,算法在进行图像修复时,需要搜索整幅图像中除去待修复区域之外的所有图像区域,以寻找最佳匹配区域对待修复区域进行修复,因此,算法的计算复杂度将随着源图像的分辨率增加而不断变大;若图像中存在多个丢失区域,算法将对源图像进行反复搜索,复杂度将成倍增加。

图像信息存在较强的空域相关性,图像修复技术也正是利用了这一特性,但图像的空域相关性受像素间距离的影响较大,随着距离增加到一定程度,像素间的相关性将很小甚至没有,基于此,本文提出了限定信源区域的纹理合成错误隐藏算法,将信源区域限定为图像信息丢失块(64×64)周围像素宽度为16×16(实验得出最佳)的环状区域,以此减少不必要的搜索,大大降低算法复杂度,并与H.264中的双线性插值法进行对比,实验数据如表1所示。

表1 双线性插值与纹理合成的对比实验结果Tab.1 Comparative experimental results of bilinear interpolation and texture synthesis

如图3(a)所示为BasketballDrill基于双线性插值的修复效果图,(b)为基于本文算法的修复效果图,比较发现,基于本文算法的修复效果更好,图像的纹理得到了更好的修复。

图3 Basketball Drill基于双线性插值与纹理合成的修复效果比较图Fig.3 Comparison of repair effect of Basketball Drill based on bilinear interpolation and texture synthesis

表1的实验数据表明,对于64×64的丢失块,若限定其搜索区域为16×16的环状区域,其限定信源区域后的纹理合成错误隐藏算法耗时仅为1.29秒左右,与传统的双线性插值错误隐藏算法的1.23秒相当,但图像修复质量从35.20dB提高到了36.70dB,且基于纹理合成的错误隐藏算法有利于保存图像的纹理和细节信息,视觉效果更佳,如图4、图5所示为基于本文算法的修复效果图。

图4 Blowing-Bubbles修复效果图Fig.4 Repair effect of Blowing-Bubbles based on texture synthesis

图5 FourPeople修复效果图Fig.5 Repair effect of FourPeople based on texture synthesis

3 结语

本文将基于纹理合成的图像修复技术应用于H.265的错误隐藏算法之中,对计算复杂度过高的问题,提出了基于限定信源区域的纹理合成错误隐藏算法,解决了因H.265编码单元过大导致传统的基于双线性插值的错误隐藏算法修复效果不佳的问题。与传统错误隐藏算法相比,在算法复杂度相当的情况下,视频客观修复质量平均提升约1.5dB,且主观质量更佳。

猜你喜欢
信源复杂度纹理
基于极化码的分布式多信源信道联合编码
一种低复杂度的惯性/GNSS矢量深组合方法
使用纹理叠加添加艺术画特效
信源控制电路在功率容量测试系统中的应用
TEXTURE ON TEXTURE质地上的纹理
求图上广探树的时间复杂度
消除凹凸纹理有妙招!
某雷达导51 头中心控制软件圈复杂度分析与改进
信源自动切换装置的设计及控制原理
出口技术复杂度研究回顾与评述