崔壮,吕俊白
(华侨大学 计算机科学与技术学院,福建 厦门361021)
随着网络技术的发展,数字视频水印技术成为了当前水印研究的一个热点.然而,数字视频序列不同于静态图片载体,每个视频序列帧之间具有一些固有的特征,这导致视频水印技术的发展落后于数字图像水印技术.视频水印按嵌入的时间不同,分为基于原始视频的水印嵌入和基于压缩视频的水印嵌入[1].基于原始视频的嵌入是指对未经编码的视频序列进行处理,如文献[2]在传统的差分能量水印算法基础上,通过在水印嵌入过程中引入能量分布公式,改进传统的差分能量水印算法,增加了嵌入的有效性和水印的稳健性 .文献[3]中首先对压缩视频进行解码,利用水印分层的思想,将灰度水印图像自适应地嵌入于离散余弦变换(DCT)系数中.基于视频的水印嵌入技术与以图像为载体的水印嵌入技术最大的不同之处在于载体的运动性.根据相关的心理视觉研究表明,人眼对各种环境有不同的敏感性.例如,由于人类视觉的惰性,对运动的物体比较敏感,但对高速运动物体的细节部分则不是很敏感.基于此,本文根据人眼视觉敏感特性,提出一种将水印嵌入于载体快速运动区域块的水印算法.
自21世纪80年代开始,小波理论研究工作日臻完善,应用的领域也不断扩大.然而,传统离散小波变换(DWT)却有着明显的不足,即平移敏感性和方向选择缺乏 .这些缺陷可能使小波在提取信号特征时丢失一些重要的信息.为了克服DWT的这些缺陷,Kingsbury等[4-5]提出了具有平移不变性和多方向选择性的双树小波复小波变换(DT-CWT).它是通过两个独立的小波变换并行作用于信号实现实部(tree-A)和虚部(tree-B)运算的.
图1 二维DT-CWT分解图Fig.1 2-D DT-CWT decomposition
图1为二维DT-CWT分解框图 .其每一级的分解产生2个低频子带(用于下一尺度上的系数计算)和6个方向(±15°,±45°,±75°)的高频子带,D维的双树复小波变换的冗余度为2D∶1.
光流[6]的基本原理是,利用不同图像序列中的各像素位置强度随着时间的变化而改变,同时相邻序列中的像素又具有强相关性等特性来确定每个像素位置的“运动”.即反映图像的灰度在时间上的变化与景象中物体结构及其运动的关系.光流场是图像灰度模式的表观运动,是一个二维矢量场,所包含的信息就是各个像素点的瞬时运动速度矢量信息.
文中采用微分光流计算的代表方法Horn-Schunck算法[7],来计算每一个视频帧的光流场信息.该算法的基本思想是在求解光流信息量时,要求光流本身尽可能地平滑,即引入对光流的整体平滑性约束来求解约束方程的病态问题.利用Horn-Schunck算法计算的foreman视频序列的第6帧和第63帧的光流计算结果,如图2所示.
图2 Horn-Schunck算法的光流场计算仿真实验Fig.2 Optical flow calculating simulation in Horn-Schunck
一个视频镜头是由一些连续、渐变的帧所组成,关键帧就是反映了这段镜头里面主要内容的关键图像帧.文中选择Wolf所提出的极小值算法来提取关键帧.Wolf算法通过光流分析来计算视频帧中的运动量,在运动量局部最小值处选取关键帧,这些关键帧反映了视频数据的静止状态[8].该视频帧的总光流M(t)为
式(1)中:u,v为该视频帧中光流矢量的两个分量.
Foreman视频序列中的每一帧图片光流场量所连成的曲线图,如图3所示 .根据Wolf算法选取光流曲线图中的极小值点所在的帧图片作为水印嵌入的关键帧.同时,考虑到不同的帧图像间的横向比较,算法选取总光流最大的P帧作为嵌入水印的关键帧.
图3 视频序列的光流场计算曲线Fig.3 Calculating curve in optical flow of the video
因为光流可以表征物体运动情况,对物体的运动区域进行估计,光流法求出的不同位置上的光流矢量越大,代表这个位置上的运动速度越快 .那么,这些位置上人眼的敏感性就会最弱,进行水印的嵌入也是最合适的.文中选取每个关键视频帧中系数值最大的位置作为重要系数用于嵌入水印.视频帧重要系数的提取有如下3个具体步骤.
1)对每一个Wolf算法所提取的关键帧再次进行光流场的计算.
2)对计算得到的光流信息矩阵进行降维后按照升序排序.
3)选择排序前N位作为重要系数用于水印嵌入,达到在每个所选取的关键帧中嵌入一个小的水印分块的目的,即实现将水印分块嵌入于视频帧的子块中.
水印嵌入利用图像的分块嵌入原则,将分块后的子水印信息嵌入于每一个视频帧的重要系数中,有效保证水印算法的不可见性 .水印嵌入有如下4个具体步骤.
1)对原始水印W图像进行置乱加密,置乱次数作为密钥记为key1.
2)将置乱后的水印图像分成小块,并将其按行优先排序标号,分别记为w1,w2,…,wk.
3)对选取的每个关键帧的重要系数进行2次双树复小波变换,选择低频子带,对其进行分块,在每个小块中嵌入1bit位的水印信号,将具体的水印嵌入位置进行加密,记密钥为key2.
4)对每个低频的分块子图按照关系特征关系的方法进行水印的嵌入,具体的嵌入公式为
式(2)中:Mi为第i个小块中水印嵌入位置的系数;Ii为原始载体第i个小块;ave(Ii)为小块系数的均值;wi为第i位上的水印信号值.
水印的提取过程就是嵌入关系的逆过程,有如下2个具体步骤.
1)选取关键帧的重要系数进行2次双树复小波变换,并对低频子带进行2×2分块.
2)根据密钥找到水印的嵌入位置,对比每个小块内嵌入系数与均值间的关系,提取出水印信号,有
实验以MATLAB 7.10.0为平台,使用的水印为具有意义的二值水印图像,载体序列是300帧的Foreman视频序列和478帧的Friends视频序列.采用峰值信噪比(RSN)和误码率(Ec)为客观评价标准,其计算式为
式(4)中:f,f′为计算的两幅图像矩阵;M,N为矩阵的行数和列数;wi,j为原始的水印信号;w′i,j为提取出的水印信号.
水印的不可见性就是要求视频在嵌入水印后,在视觉上无法感知水印的存在.Foreman视频序列第10帧图像和Friends视频序列第224帧图像嵌入水印前后的载体视频帧对比,分别如图4,5所示.从图4,5可知:图像几乎看不出嵌入水印后载体的变化,说明算法的图像视觉效果很好.
图5 Friends视频序列第224帧图像嵌入水印前后的视频帧嵌入对比Fig.5 Video of friends after embedded in 224th frame
嵌入载体后,图像亮度分量上的峰值信噪比(RSN)变化情况,如图6所示 .从图6可知:嵌入水印后的Foreman和Friends视频的RSN平均值分别为43.287 3,44.619 9,说明嵌入水印后的视频序列具有很好的不可见性.
由于视频序列的运动性,所以视频水印技术的另一个重要评价指标是其算法的复杂度,也就是视频水印算法运行所需要的时间.Foreman视频序列各帧的算法运行时间与文献[9]中的各帧运行时间对比,如图7所示 .由图7可知:算法的平均运行时间为0.243 7s,与文献[9]中的平均运行时间0.24s基本相同,优于文献[10]中的算法,证明文中的视频水印算法具有良好的实时性.
图6 嵌入水印后的RSN变化情况Fig.6 RSNof the watermarking after embedded
图7 Foreman视频序列运行时间 Fig.7 Running time of the algorithm
嵌入水印后,载体视频帧的比特率变化如表1所示 .表1中:Rbit为视频的比特率;ηbit为比特率的相对变化率.
对原始视频序列foreman进行增加噪声、帧删除等攻击,计算得出提取水印的误码率(Ec),结果如表2所示.
表1 视频序列码率变化Tab.1 Code rate of video after embed
表2 攻击后提取出水印信号误码率Tab.2 Error code rate of the watermarking after attack
采用光流场技术对视频帧进行运动估计,将水印图像分块嵌入于载体中,这种分块区域的嵌入方法有助于降低嵌入水印后的载体失真.实验表明:算法无论是在载体的保真性还是抵抗恶意攻击的鲁棒性上,均取得了很好的效果.
[1] 曾骁,陈真勇,陈明,等.基于帧间预测误差扩展的可逆视频水印[J].计算机辅助设计与图形学学报,2010,22(5):871-878.
[2] 傅德胜,王建荣.基于 H.264的视频水印技术[J].计算机应用,2009,29(4):1174-1176.
[3] BISWAS S,DAS S R,PETRIU E M.An adaptive compressed MPEG-2video watermarking scheme[J].IEEE Transactions on Instrumentation and Measurement,2005,54(5):1853-1861.
[4] SELESNICK I W,BARANIUK R G,KINGSBURY N G.The dual-tree complex wavelet transform[J].IEEE Signal Processing,2005,22(6):123-151.
[5] KINGSBURY N.Complex wavelets for shift invariant analysis and filtering of signals[J].Applied and Computational Harmonic Analysis,2001,10(3):234-253.
[6] DEQING S,ROTH S,BLACK M J.Secrets of optical flow estimation and their principles[C]∥IEEE Conference on Computer Vision and Pattern Recognition.San Francisco:Computer Vision and Pattern Recognition,2010:2432-2439.
[7] 谢梅芬.Horn-Schunck光流算法在运动目标检测及跟踪中的运用研究[J].长江大学学报:自然科学版,2012,11(9):146-147.
[8] 李玉峰.基于动态帧的视频关键帧提取算法研究[J].天津科技大学学报,2009,24(4):69-72.
[9] 曾骁,陈真勇,陈明,等.基于帧间预测误差扩展的可逆视频水印[J].计算机辅助设计与图形学报,2010,22(5):871-878.
[10] LIN C C,HSUEH N L.A lossless data hiding scheme based on three-pixel block differences[J].Pattern Recognition,2008,41(4):1415-1425.