彭登云,阳 溢,戚 曹
(1.重庆财经职业学院实践教学中心,重庆402160;2.重庆通信学院 信息工程系,重庆 400035)
现代数字技术的高速发展促使数字视频的应用越来越深入日常生活,但是任何技术的发展都可能带来负面影响。人们在享受高效率信息传输的同时,也面临着越来越严峻的信息安全问题,一些涉密视频在传输时可能被恶意攻击者截获。因此,如何对涉密视频进行有效保护成为了学术界研究的热点之一,而加密技术和信息隐藏技术就是解决此问题的两个重要方向。
视频加密技术通过将视频数据经过加密函数和加密密钥的转换,变成看似无意义的密文,而接收方则可以通过解密函数和解密密钥将密文还原成原始视频数据,达到保护涉密视频的目的[1-3]。但如果攻击者截获了加密数据,其看不懂的外在特征反而提醒了该数据的重要性,促使攻击者破解密文,带来新的安全隐患。而将涉密视频内容进行隐藏使之不可见则可规避此类问题。信息隐藏技术核心在于将秘密信息以不可见的形式嵌入到载体文件中进行传输,接收方使用特殊的提取手段可以恢复原始信息[4-6]。但是由于视频数据量庞大,而载体的嵌入容量决定着嵌入的秘密信息数据量。因此,新的针对视频的隐藏技术亟待研究和探索。
数字视频去雾算法是近年来数字多媒体信号处理领域研究的热点。自然界中雾气的存在对人们采集清晰的视频画面造成了一定的困难,去雾算法目的在于去除视频中的雾气,增强画面的对比度和清晰度,使视频内容易于识别[7-10]。对去雾算法逆向思考就会得到启发,既然雾气的存在对于辨识画面造成了一定的困难,为什么不可以将清晰视频加上雾气,对其中的涉密信息进行隐藏呢?
本算法正是结合上述几点思考提出的。在涉密通信时,传输的视频往往包含了大量的涉密信息。为了确保信息安全,可以先根据涉密视频中是否含有明显涉密内容来对视频进行选择性的局部加密,然后通过生成自然界中的雾气遮罩,对视频画面加雾来获得隐藏效果。而接收者将加雾后的视频运用逆运算恢复原始视频,获取涉密信息。以上就是视频加雾隐藏算法的基本概念。
雾是一种自然天气现象,是由空气中的水汽在大气层稳定、气温接近零点、相对湿度饱和的条件下,凝结成微小的水滴悬浮在空中所形成的。当环境中存在雾时,每一个雾滴就是一个散射面。这时,有些光线不能直射过去,而是被散射出来了,而后又被再次散射甚至多次散射,雾就变成白茫茫一片了。雾滴对成像光线的多次散射过程如图1 所示。
Narasimhan 等人[11]给出雾天环境下摄像机所拍摄的图像像素I(x)的简化模型表示为
式中:x 表示空间坐标;J(x)为没有雾的条件下采集的图像;t(x)表示介质在图像位置x 处的传播函数或者透射率;A 表示天空的亮度;U(x)表示大气耗散函数。式(1)第一项表示雾的散射造成一部分物体表面反射光的损失,而到达成像传感器形成景物图片的是未被散射的部分,成像反射光的强度随传播距离的增大而衰减;第二项表示由于雾对自然光也会发生散射,从而影响景物图片,其强度随着传播距离的增大而逐渐增加[12]。归纳起来,雾的散射对可见光成像的影响主要集中在3 个方面:1)雾对成像光线的透射衰减,其衰减强度与穿过雾的距离相关,使成像亮度和对比度降低,在雾较厚时目标甚至不能成像;2)雾对非成像光线的散射,这部分光在无雾时不参与成像,有雾时呈现半透明白色,成为雾本身的图像,使整个图像对比度降低;3)成像光线被雾散射后,其中一部分不能成像,另一部分的成像由于偏离了本来的位置,造成图像边缘模糊,并且使图像对比度降低。
上述3 点是雾气对可见光成像影响的最本质特征,因此,可以从以下几点构建雾气模型:1)根据景深的不同将视频画面划分成不同区域,按照由近到远的顺序逐渐加大画面亮度的降低程度;2)生成与视频画面相匹配的薄雾遮罩和浓雾遮罩,分别与整幅画面和特定区域相融合,形成雾气效果;3)将视频画面中的明显边界进行模糊化处理。
基于上述构建雾气模型的思考,结合加密和信息隐藏技术,本文设计了一种新颖的通过对原始涉密视频加雾来隐藏涉密信息的方法,其加雾算法过程如图2a 所示。原始涉密视频通过分帧处理为连续的视频帧,然后算法识别判断视频中是否含有明显涉密内容,视判断结果分别采取不同的处理方案并降低亮度。与此同时,每间隔一定数量帧根据当前视频帧计算一次薄雾遮罩,并与之前处理过的视频帧融合得到加雾视频帧。最后对视频帧做相关优化处理和帧重组得到加雾视频。而接收方通过恢复算法可以获得原始视频,其算法过程如图2b 所示。需要指出的是,由于视频画面具有运动性,而运动又时快时慢,因此需要根据实际情况调整薄雾遮罩的计算周期。同样地,在局部加密和加浓雾遮罩时也需要考虑视频画面的运动情况。
图2 视频的加雾隐藏和恢复算法框图
1)计算薄雾遮罩
为了得到和视频画面景深相匹配的薄雾遮罩,可先对视频帧按远近程度进行三区域分割[13],分割后三区域的灰度值分别设定为0,127,255。这是因为前景的雾气较薄,而后景的雾气较厚,0(黑色)和255(白色)分别模拟了无雾气和雾气完全覆盖景物的情况,而127(中度灰色)则模拟了雾气厚度一般的情况。但是,这样的分割图其各区域边缘非常锐利,不利于形成平滑的薄雾遮罩。可以通过频域低通滤波器滤除掉分割图的高频分量得到平滑效果。为此,按式(2)所示的n 阶频域低通滤波器来进行平滑,得到和视频画面相匹配的薄雾遮罩
式中:D0为原点到截止频率的距离,是给定的非负数;D(u,v)是点(u,v)到频率矩形中心的距离,即,M 和N 是图像的尺寸。
2)选取浓雾遮罩
对于含明显涉密内容的视频而言,加入薄雾虽具有一定的隐藏效果,但这还不够。为此考虑在涉密区域加入浓雾遮罩,这需要事先采集自然界中各种形状的浓雾遮罩并编号,建立类型丰富的云端浓雾库。当视频中含明显涉密内容时,从浓雾库中选取合适的浓雾遮罩来对涉密区域加浓雾处理,并将对应浓雾遮罩编号嵌入到视频中。这样,当接收端收到加雾视频后,可以提取出浓雾遮罩编号,并从云端浓雾库中得到对应的浓雾遮罩来恢复原始视频。
3)骑士巡游
骑士巡游问题是由数学家Euler 于18 世纪50 年代末首先提出的,即骑士从棋盘上的某个初始格子开始,以象棋中“马跳斜日”的方式(水平或垂直方向跳动1 个格子,垂直或水平方向跳动2 个格子)遍历棋盘上的每个格子一次且仅一次[14]。如图3 所示,其中黑色连线表示骑士巡游的路径。骑士巡游有置乱矩阵的作用,通常被用于图像加密,并且通过步长可以控制置乱度。因此,本文用骑士巡游来对视频涉密内容进行加密和模糊图像边界。
图3 8×8 棋盘骑士巡游路径
4)雾气优化
为了使加雾效果更加自然,应对雾气遮罩以及画面中的明显边界做模糊处理。对于加雾后的视频帧而言,可以使用骑士巡游对整个视频帧进行遍历,然后每隔一定的步长将像素值提高一定的亮度,模拟雾滴效果;对于浓雾遮罩而言,可以做浓雾边缘像素值渐变处理,方法是将其边缘点的像素值设定为其周围一定范围内所有点的平均值;对于画面中其他明显的边界,以边界点为中心,在一个小棋盘的范围内做小步长的骑士巡游,获得模糊边界的效果。当接收方恢复视频时,应先对分帧后的视频帧采取相应的雾气优化逆运算作为雾气遮罩去除前的预处理。
步骤1:将原始视频V 进行分帧,变为帧序列I,然后再将视频帧的色彩空间由YUV 转换为RGB。
步骤2:每间隔30 帧按照2.2 节相关算法得到薄雾遮罩Fb并保存。
步骤3:判断视频中是否含有明显涉密内容,若有,则对每帧中的涉密内容区域利用骑士巡游路径进行局部加密得到加密视频帧Ie,然后从云端浓雾库中选取相匹配的浓雾遮罩Fh,并按式(3)与Ie在RGB 通道中融合得到加浓雾视频帧Ih;若无,则不做处理,此处视频帧也用Ih表示
式中:t1为浓雾强度,t1∈(0,1)。
步骤4:将Ih的亮度按照式(4)降低,得到亮度降低视频帧Il
步骤5:将薄雾遮罩Fb按式(5)与Il在RGB 通道融合得到加雾视频帧If
式中:t2为薄雾强度;t2∈(0,1),且t1+t2=1。
步骤6:按2.2 节所示对加雾视频帧做雾气优化处理,并将处理后的视频帧色彩空间由RGB 转换到YUV,重组视频帧,得到加雾视频Vf,最后将浓雾遮罩编号和位置信息按文献[5]算法嵌入到加雾视频中。
步骤1:若加雾视频中存在浓雾遮罩,提取其编号和位置信息,并将加雾视频转换为帧序列,色彩空间由YUV 转换为RGB,并对视频帧做雾气优化逆运算。
步骤2:按式(6)所示去除薄雾遮罩,得到加浓雾且改变了亮度的视频帧I'l
步骤4:若I'h中存在浓雾遮罩,则从云端浓雾库中选取浓雾遮罩Fh,按式(8)所示去除浓雾遮罩,得到局部加密视频帧I'e
步骤5:对I'e的局部加密区域进行解密,得到恢复视频帧I'。
步骤6:将I'色彩空间由RGB 转换为YUV,重组视频帧,得到恢复视频V'。实验选取Highway 和Container 为测试视频,将上述算法在MATLAB7.10 和VC++6.0 平台上进行了仿真实验,并在恢复视频质量客观评价,加雾前后视频数据量变化和算法性能等方面做相关实验工作。以下实验中Container 视频的加雾强度均存在t1+t2=1 的关系。
现将两个原始视频进行加雾实验,其中,Highway 不含明显涉密内容,故不加浓雾,薄雾强度t2=0.4。Container 含有一艘涉密轮船,故要对其局部加密并加浓雾,设定的浓雾强度和薄雾强度分别为t1=0.6,t2=0.4。图4 为Highway 第100帧的加雾示意图,可见,加雾后的视频具有较自然的雾气隐藏效果,而恢复后视频的视觉质量与原始视频相比并无明显差异。Container 第100 帧的加雾结果如图5 所示。
图4 Highway 第100 帧加雾
表1 为不同的加雾强度下,恢复视频的平均PSNR。可以看出,加雾强度的变化对于恢复视频的PSNR 影响并不明显,只是随着薄雾强度的降低,其PSNR 略有提高,并且所有恢复帧的PSNR 都维持在30 dB 以上,具有较好的视觉质量。
将不同加雾强度视频经H.264 编码,其码率大小如表2所示。可知,随着薄雾强度的增强,编码后的加雾视频码率呈降低的趋势。这是由于加雾处理改变了视频帧像素值统计特性,帧内和帧间相关性都有所增强,更加有利于视频压缩。由此得出,本算法在保证视频安全传输的同时,可以有效降低视频数据量。
图5 Container 第100 帧加雾
表1 恢复视频的平均PSNR dB
表2 不同加雾强度视频经H.264 编码后的码率 kbit/s
1)隐蔽性和隐藏容量
由上述视频加雾与恢复实验可知,本算法能够对涉密视频实施有效隐藏,具有良好的隐蔽性。在隐藏容量方面,以往的视频信息隐藏算法往往通过计算视频可隐藏比特数来衡量隐藏容量。但对本算法而言,所谓的涉密信息比特数很难量化,而且无论涉密信息有多少,只要加雾可以对其隐藏,就应该认为算法有效。所以以往的隐藏容量计算方法不适用于本算法,此处不做分析。
2)时间复杂性
为了分析本算法的时间复杂性,先将原始视频直接H.264编解码并记录帧平均延迟,然后将原始视频加雾再H.264编解码(解码含加雾视频恢复)并记录帧平均延迟。实验环境为:Windows XP 系统,AMD AthlonTMII X2 220 处理器,2.79 GHz 主频,2 Gbyte 内存,实验结果如表3 所示。可知,加雾视频编解码延迟明显大于原始视频直接编解码延迟,这是由于本算法是对视频每帧进行加雾操作,在一定程度上增加了运算过程的复杂性。
表3 原始视频编解码和加雾视频编解码延迟 s/f
3)安全性
采用文献[10]算法对加雾视频进行去雾实验,结果如图6 和图7 所示。可以看出,本算法可以有效对抗去雾攻击。去雾后,虽然画面整体对比度增强,但是细节损失严重,而且即便去雾具有一定效果,也并不会对局部加密区域的安全构成威胁。实验表明,该算法具有较高的安全性。
图6 Highway 加雾视频去雾结果
图7 Container 加雾视频去雾结果
本文提出了一种通过构建雾气模型,并对涉密内容进行选择加密的视频加雾隐藏算法。实验结果表明本算法性能可靠,易于操作,可以有效隐藏视频涉密信息,降低视频数据量,抵抗去雾攻击等,为涉密视频的隐藏提供了新思路。
但在,本算法在实验中也暴露出一些不足之处。例如,加雾画面的自然程度有待进一步提高;浓雾遮罩匹配度不够高;算法延迟需降低等。对此,今后可在这几方面加以改进:1)深入研究雾气的形成机理,进一步提高加雾自然程度;2)完善云端浓雾库,提高浓雾遮罩匹配度;3)降低算法的时间复杂性。
[1]佟玲玲,李扬曦,黄文廷.视频隐私保护技术综述[J].通信学报,2013,34(8):154-160.
[2]DAI F,TONG L,ZHANG Y. Restricted H.264/AVC video coding for privacy protected video scrambling[J]. Journal of Visual Communication and Image Representation,2011,22(6):479-490.
[3]陈志玉,宋建新.基于H.264/AVC 视频安全级别可分的加密方案[J].电视技术,2013,37(5):15-18.
[4]SU Y T,ZHANG C Q,ZHANG C T. A video steganalytic algorithm against motion-vector-based steganography[J]. Signal Processing,2011,91(8):1901-1909.
[5]LIAO K,LIAN S,GUO Z. Efficient information hiding in H.264/AVC video coding[J]. Telecommunication Systems,2012,49(2):261-269.
[6]XU D W,WANG R D,WANG J C. Prediction mode modulated data-hiding algorithm for H.264/AVC[J]. Journal of Real-Time Image Process,2010,5(1):1-10.
[7]郭璠,蔡自兴,谢斌. 基于雾气理论的视频去雾算法[J]. 电子学报,2011,39(9):2019-2025.
[8]LI L L,LIU Q,GUO J M,et al.Intelligent video defogging technology based on covariance and perceptron[C]//Proc.7th International Conference on Natural Computation.[S.l.]:IEEE Press,2011:161-165.
[9]XU D B,XIAO C B,YU J.Color preserving defog method for foggy or haze scenes[C]//Proc.4th International Conference on Computer Vision Theory and Applications(VISAPP). Algarve,Portugal:IEEE Press,2009:69-73.
[10]HE K M,SUN J,TANG X O. Single image haze removal using dark channel prior[C]//Proc.IEEE Computer Society Conference on Computer Vision and Pattern Recognition.[S.l.]:IEEE Press,2009:1956-1963.
[11]NARASIMHAN S G,NAYAR S K.Removing weather effects from monochrome images[C]//Proc. IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Washingion DC:IEEE Press,2001:186-193.
[12]马忠丽,文杰,梁秀梅.海雾下的视频图像去雾算法研究[J].计算机应用研究,2014,31(9):2836-2840.
[13]KANUNGO B.An efficient k-means clustering algorithm:analysis and implementation[C]//Proc. IEEE Computer Society Conference on Pattern Analysis and Machine Intelligence.[S.l.]:IEEE Press,2002:881-892.
[14]姜德雷,柏森,董文明.基于广义骑士巡游的图像比特位平面间置乱算法[J].自然科学进展,2009,19(6):691-696.