基于帧间相关性的HDR视频压缩算法

2018-12-03 02:37
浙江工业大学学报 2018年6期
关键词:双边色调亮度

(浙江工业大学 信息工程学院,浙江 杭州 310023)

高动态范围[1]视频是展示真实自然世界中亮度大范围变化的一种高清视频类型,与普通的低动态范围(Low dynamic range,LDR)视频相比,普通视频中的图像通常使用RGB色彩模型,每个色彩通道使用8 bit整型存储,所以只能区分256个亮度级别,而HDR(High dynamic range)图像使用10 bit或者16 bit记录数据,通过支持多位整数或者浮点数运算,HDR图像可以存储和显示更大的亮度范围。目前,HDR视频广泛应用于卫星遥感、医学成像[2]、虚拟现实和游戏CG(Computer graphics)制作等各种领域[3]。虽然现在已经出现了一些专业的HDR图像显示设备,但是这些专业显示设备价格高昂,预计在一段时间内都不能在普通消费者中普及。然而,现有的普通显示设备阴极射线管显示器仅能显示约2个数量级范围的亮度。要在普通显示设备上显示这些HDR视频内容,对HDR视频内容作色调映射(Tone mapping operator)[4]处理是必不可少的。色调映射技术通过改变图像的动态范围,使其能够在普通显示器显示的同时保留图像的细节,减少颜色与对比度的损失并保持图像的整体明暗视觉效果。虽然在HDR色调映射技术方面已经做了大量的工作,但是研究工作主要集中在HDR静态图像。对于HDR视频,最简单直接的方法就是对每帧HDR图像都作一次色调映射处理。例如,Jinno等[5]通过在高亮度与低亮度范围使用不同的GAMMA映射函数来对每帧HDR图像作色调映射处理,从而保持了整体图像中的局部对比度。Natale等[6]提出一种基于对比度受限的自适应直方图均衡色调映射的HDR视频压缩算法,通过指数加权移动平均值将视频中的每帧HDR图像的映射结果联系起来,使其能够最小化闪烁效应。Shaid等[7]采用了两种色调映射方法处理HDR视频,在需要保持细节的区域采用能够保持良好细节的iCAM06色调映射算法,在剩余部分采用快速高效的直方图均衡色调映射法。最后再进行去闪烁处理来防止帧间的亮度变化过大的情况。Lee等[8]提出了基于梯度域的HDR视频色调映射算法,利用相邻两帧图像的运动矢量信息防止结果中出现闪烁效应。Chen等[9]提出了利用亮度直方图分布和运动估计算法来分类图像处理的方法。上述的HDR视频色调映射技术大部分都是基于静态图像的,过程中不仅要对每一帧图像都作HDR色调映射处理,还要考虑闪烁效应,导致计算量非常大。优秀的HDR视频色调映射算法不仅要求压缩效果,同时需兼顾算法的效率。视频是多帧静止图像的集合,最大特点是帧与帧之间具有很强的相关性。鉴于此,笔者摈弃常规的逐帧色调映射方法,利用视频的帧间相关性,通过运动估计,实现对HDR视频的压缩处理。

1 算法描述

算法流程概要如图1所示。首先将输入的HDR视频序列分成若干图片组(GOP),每个图片组包含了N帧(N≥2)HDR图片,其中设置第1帧为参考帧(I帧),剩余其他图像为实验帧(P帧)。对参考帧与实验帧作不同的处理,参考帧单独作色调映射处理。同组的实验帧将被分成大小相同的块,并与参考帧进行块匹配运动估计,在参考帧中找到与之相似的匹配块。若经过运动估计在参考帧中找到了完美的匹配块,那么实验帧的块将使用参考帧的块信息,否则,实验帧的块将要作额外的色调映射处理。

图1 算法流程概要图Fig.1 Algorithm flow chart

1.1 I帧色调映射

每一个图片组中的参考帧不同于实验帧,参考帧图像需要单独作双边滤波的色调映射处理获得优秀视觉效果的LDR图像。双边滤波算法是在经典高斯滤波算法的基础上,文献[10-11]设计提出的图像滤波算法,是一种非线性滤波算法。在滤波过程中既考虑空间位置信息,又考虑像素值相似性,能够很好的保留图像边缘特征,具有局部、简单和非迭代等特点。

首先转换参考帧的图像空间,将图像转换至YUV颜色空间,该空间下,Y分量即为图像的亮度分量,只对Y分量进行色调映射处理,其转换式分别为

Y=0.299R+0.587G+0.114B

(1)

U=-0.147R-0.289G+0.436B

(2)

V=0.615R-0.515G-0.100B

(3)

I(x,y)=log10max(Y(x,y),0.000 1)

(4)

其中Y分量取以10为底的对数,对数的下限设为0.000 1,因为人眼对亮度值小于0.000 1的亮度感觉没有差异。

利用双边滤波技术获取亮度分量的基本层,原亮度分量与基本层的差值即为细节层,即

Ibase(x,y)=Fb(I(x,y))

(5)

Idetail(x,y)=I(x,y)-Ibase(x,y)

(6)

式中:Ibase(x,y)为I帧图像的基本层;Fb为双边滤波器;Idetail(x,y)为细节层。

为了重新获得拥有丰富细节的图像,最终图像将由基本层图像和细节层图像合并,进行以10为底的指数运算,即

Iout=cfactorIbase(x,y)+Idetail(x,y)

(7)

Ildr=10Iout

(8)

式中:Ildr为最终输出的结果亮度;cfactor为对比度压缩因子,目的在于压缩动态范围较大的基本层,其表达式为

cfactor=g/[max(Ibase)-min(Ibase)]

(9)

式中g为可调节参数,一般取值范围为log5~log300,值取越大,越能够保留图像的对比度。

经过处理之后输出的灰度图像,需要恢复成彩色图像,得到最终能在普通显示器上显示与原HDR图像有相同视觉效果的图像,即

Rout=Ildr+1.14V

(10)

Gout=Ildr-0.39U-0.58V

(11)

Bout=Ildr+2.03U

(12)

式中:U,V分别为RGB空间转换至YUV空间之后的分量。

1.2 P帧色调映射

P帧图像与I帧图像是同一个图片组中的连续图像,所以P帧图像与I帧非常相似。将I帧作为P帧运动估计中的参考帧。在运动估计之前,用处理I帧同样的方法获得P帧的亮度分量。然后,通过将P帧和I帧图像的亮度分量线性映射,得到P帧和I帧图像亮度分量的低动态副本(Pl,Il)。相比于原始图片,Pl和Il没有那么多丰富的细节信息,它们只被用于运动估计过程中,能够有效地缩短运动估计过程所需要的时间。运动估计算法采用块匹配法[12],在进行运动估计之前,需要将Pl帧划分成不重复的块。对于Pl中的每一块,通过自适应十字模式搜索法(Adaptive rood pattern search,ARPS)[13]在Il中找到相似的块。自适应十字搜索法相比于钻石搜索法和十字搜索法等搜索法是一种快速高效的搜索方法。采用平均绝对误差(Mean absolute difference,MAD)匹配准则,如果在Il中找到完美的匹配块,即MAD为0的情况,则Pldr中的与Pl中相同位置的块就将引用Ildr中的与Il中相同位置的匹配块的信息。但是,通过运动估计可能只能获得Pl在Il中的相似块而并非完美的匹配块,针对这一情况,引入一个比较当前块与匹配块相似程度的相似度阈值(Threshold)。将运动估计所获得的匹配结果分成3种不同的情况,对当前块作不同的处理,具体处理过程如下:

情况1找到完美的匹配块。如果在Il中找到了完美的匹配块,可以通过运动估计所获得的运动矢量,在Ildr中找到对应的块。一旦获得了参考帧中的匹配块,将不必对当前块作色调映射,直接将Ildr中的对应块信息应用到Pldr的当前块位置。

情况2找到相似的匹配块。如果在运动估计过程中,没有找到完美的匹配块,可以通过比较运动估计过程中计算得到的MAD与设置的阈值,若它小于设置的相似度阈值,作如下操作:1) 对P帧图像亮度分量中的对应块作线性映射;2) 通过运动矢量,在I帧细节层(Idetail)中找到对应块;3) 将Idetail中获得的块信息与线性映射后的块相结合,获得最终Pldr中的块信息。

情况3没有找到合适的匹配块。如果当前块与匹配块的MAD大于相似度阈值,那么I帧中的任何信息都将不能被用在Pldr的获取过程中。在这一情况下,需要对P帧中相同位置的块作与I帧相同的处理,来获取Pldr。

2 实验结果及分析

为验证所提算法的可行性,将基于帧间相关性的HDR视频压缩方法与每帧都作色调映射方法的压缩效果进行仿真比较。为对结果图像进行客观的质量评价,通过比较算法结果图像与每帧都做色调映射处理结果图像的结构相似度(Structural similarity,SSIM)[14],从而评价所提算法的压缩性能。

仿真实验基于Matlab软件平台,选择5 个不同特点的HDR视频序列,具体如表1所示。

表1 5个测试视频序列的特点Table 1 Features of five test video sequences

仿真实验中,测试视频序列按照5 帧一组进行分组,并设定每组的第1 帧为关键帧;运动估计中的阈值设置范围为4~20,块大小设置的范围为10×10~120×120。

2.1 关键帧TMO处理

对所选取视频测试序列的关键帧进行双边滤波的TMO处理。这一过程中,双边滤波器的参数—空域高斯函数的标准差(σd)和值域高斯函数的标准差(σr)的选取是关键,σr取值为0~1,按照经验公式σd=0.05max(W,H),W,H分别为图片的宽和高。经仿真比较,σr=0.4效果比较理想。

选取“节日”测试序列中的关键帧作为示例,双边滤波后处理获得的图像如图2所示。从图2中可以看出:HDR图像在普通显示器上不能显示高亮度部分的背景细节信息,经过双边滤波的色调映射处理之后,图像的细节信息明显呈现,视觉效果远好于HDR图像直接在普通显示器上的显示。

图2 参考帧TMO过程Fig.2 Process of reference frame’TMO

2.2 分组视频帧数量的确定

设置参数:块大小取40×40,相似度阈值取20,选取视频序列的分组长度分别为6 帧一组、11 帧一组以及21 帧一组,分别进行依据帧间相关性的HDR视频压缩仿真处理,实验结果如图3所示。从图3中可以看出:第11 帧与第21 帧重建图像有较为明显的“残影”现象,影响视觉效果。同时,为了保证不同图片组之间的连续过渡,图片组的长度不宜取得过长,所以视频序列的分组宜选取4~6 帧。

图3 不同长度分组重建图像Fig.3 Reconstruct images for different lengths of group

2.3 块大小和相似度阈值选取对压缩效果的影响

在下述仿真实验中,取每帧双边滤波TMO处理的图片结果作为结构相似度的比较标准,视频分组长度取5 帧。依据前述的帧间相关性HDR视频压缩算法,分别考虑运动估计时块大小选取和相似度阈值对压缩效果的影响,仿真得到表2,3的结果,不同测试序列的平均SSIM和平均所需要的处理时间。从表2,3中可以得知块大小和阈值的变化对不同的视频序列有不同的影响。

表2 固定块大小(100×100)不同阈值下仿真结果Table 2 Simulation results for different thresholds and same block size(100×100)

表3 固定阈值(阈值=20)不同块大小下仿真结果Table 3 Simulation results for different block sizes and same threshold(Thr=20)

为直观起见,以“学生”测试序列为例,将表2,3的仿真结果作成曲线,得到图4(a,b)。图4(b)中,纵坐标为笔者所提算法的处理速度与每帧都做双边滤波处理速度的比值。由图4可见:随着运动估计块大小增大,结构相似度略有下降,但处理时间缩短;当相似度阈值取值较小时,结构相似度较好,但处理时间较长;当块大小超过120×120时,阈值的选取对结构相似度和处理时间的影响都减弱。同时可以观察到,随着运动估计块大小的增大,相比于每帧都作双边滤波TMO压缩处理,该算法在保持约89%左右的结构相似度时,压缩处理所需的时间大大缩短,当相似度阈值为20,块大小取100×100时,处理速度大约提高2.7倍,充分说明该算法的优越性。

图4 不同阈值下块大小与SSIM和处理速度的关系Fig.4 Block size vs. SSIM index and speed for different threshold values

3 结 论

研究讨论了一种基于帧间相关性的HDR视频压缩方法,获得丰富细节内容的LDR视频的同时,提高了压缩处理所需的时间。该算法利用视频帧间相关性,仅对每组的参考帧作色调映射处理,其余帧利用运动估计匹配法获取压缩处理结果,避免了对每帧图像都作色调映射压缩处理,从而大大节省了处理时间。仿真结果表明:该算法在保持与每帧双边滤波TMO压缩处理结果约89%的结构相似度时,处理速度约提高2.7倍。

猜你喜欢
双边色调亮度
用于遥感影像亮度均衡的亮度补偿方法
远不止DCI色域,轻量级机身中更蕴含强悍的亮度表现 光峰(Appptronics)C800
隧道内超短边多公共转点双边角交会测量技术探讨
双边投资协定与外商直接投资
“第十五届中俄双边新材料新工艺交流会” 在俄罗斯索契举行
湖光水色调
色调会说话
亮度调色多面手
分离色调与色调曲线
亮度一样吗?