侯志宇,唐向宏,陈宏炳
(杭州电子科技大学通信工程学院,浙江杭州310018)
数字水印技术则是实现视频完整性认证的重要手段。根据水印技术与数字视频编码系统结合方式的不同,水印信息的嵌入可分为3种方案:将水印直接嵌入到原始视频流之中[1,2]、在视频编码结构中嵌入水印[3]和在视频编码得到的位流中嵌入水印[4],本文讨论的算法将采用在原始视频嵌入水印的方案。文献1根据I帧的低频DCT系数之间的关系生成水印认证信息,提出了嵌入到I帧的高频DCT系数中的认证方案。由于只在I帧的DCT高频系数区嵌入水印,对P帧和B帧的攻击行为会认证失败。文献2提出通过调整MPEG视频中不同8×8DCT块能量关系来嵌入水印,这种方法复杂度高,视频修改大,且同样不适用于对B帧P帧的认证。文献3中把I帧特征的认证信息以水印的形式嵌入到P帧和B帧的运动矢量中。先在I帧嵌入版权认证水印,然后再提取认证码嵌入到P帧、B帧的运动矢量,能够同时实现对I帧、B帧、P帧的检测,但其算法运算量大,且不能对B帧P帧的攻击定位。本文将借助YST色彩模式,利用I帧、B帧和P帧之间的关系,分别在I帧、B帧和P帧嵌入脆弱水印,探讨彩色视频的完整性认证,实现对被篡改或攻击的部分的定位。
为降低R/G/B3色成分之间的相关性,将视频转换为YST色彩模式。在YST色彩模式中,Y与S之间形成一个52°的夹角,T与Y、S正交,即YS⊥T。RGB转换为YST的线性变换矩阵为[5、6]:
认证系统的总体结构如图1所示。
步骤1——特征水印的生成
特征水印信息生成的具体步骤如下:
(1)将MPEG视频分帧,提取每一个GOP中的I帧(参考帧)和B、P帧(预测帧);
(2)根据I帧分块DCT变换后的低频系数生成水印信息W1,首先将I帧的YST变换量T进行4×4分块,然后对每块进行DCT变换获得如图2所示变换系数。根据zig-zag扫描,选择图2中位置2和3的系数B2和B3,如果B2>B3记为0,反之,则记为1。这样就可以得到一个 m×n=N/16的二值矩阵W1;
(3)计算B帧P帧的位置信息W2,作为密钥;
(4)将W1与W2进行异或操作,得到载体特征水印信息W的加密算法。
式中,i表示视频的第i帧,m和n表示第i帧中DCT变换块的位置信息,“⊕”表示异或操作。
图1 认证结构图
步骤2——水印嵌入
具体嵌入规则如下:
根据这个规则,水印的嵌入具体有4种情况,分别为:
由此可见当W=0时,修改后的DCT矩阵中奇数个数为偶数;当W=1时,修改后的DCT矩阵中奇数个数为奇数。因此,水印嵌入步骤为:
(1)根据I帧低频系数以及B帧P帧位置信息生成水印W;
(2)确定DCT变换块内最后一个不为0的系数,则该系数位为水印嵌入位置;
(3)计算取整后DCT变换块内奇数的个数,根据嵌入规则,对嵌入位置的DCT系数进行嵌入操作。
步骤3——水印提取与视频完整性认证
水印的提取是水印嵌入的逆过程,其步骤。
(1)重新生成特征水印信息Wa。Wa与W的生成过程一样,由于水印的嵌入位置在中高频系数区,不改变系数B2与B3之间的大小关系,在无攻击的情况下,Wa与W是一样的。
(2)提取嵌入的脆弱水印。根据步骤2中的分析,当DCT矩阵中奇数个数为偶数时,We=0;当奇数个数为奇数时,We=1,即:
式中,We是提取出来的水印信息,大小为m×n。
(3)完整性认证与篡改位置的定位。将Wa与We做比较,计算错误率式为:
对比Wa与We,当Wa=We时,所对应块中的象素记为0,否则记为1,得到一个二值图像,图像中象素为1的部分就是遭篡改位置。
实验中选择Children(每帧大小为352×288,共41帧)、Dream(每帧大小为352×288,共300帧)标准测试序列。如图3所示为Children第16帧(参考帧)和第25帧(预测帧)图像在加入水印前后的对比效果。从图3中可以看出,加入水印前后的图像在视觉上没有差异,较好保证视觉质量,满足了水印不可见性的原则。
图3 水印嵌入对比图
为了检验本算法的脆弱性,对于加入水印后的视频分别进行随机噪声,椒盐噪声和MPEG压缩等攻击,并与文献2的算法进行对比。如图4所示为在不同攻击情况下的认证结果(第16帧图像,参考帧),其中白色部分为遭篡改位置。可以看出两种算法在无攻击状态下的水印图像认证的错误率为0,保证了完整性认证的准确性。而在加噪的攻击方式下,本文算法的认证错误率要大于文献2的算法,认证效果更好。对于重压缩的攻击,由于文献2是半脆弱水印,对重压缩攻击有一定抵抗性,而本文算法是脆弱性水印,故两者的认证差别较大,但其认证功能均可实现。如图5所示为含水印视频随着不同的压缩质量水印错误率的检测情况。从图5中可以看出,随着压缩质量的提高,水印检测的错误率会逐渐减小。
图4 两种方法的攻击检测对比
图5 水印错误率随压缩质量变化曲线
如图6、7所示为测验本算法对篡改的区域的定位能力,篡改定位图中的白色部分为定位到的篡改区域。从图6、7中可以看出,在对I帧篡改检测定位中,两种算法对于攻击篡改都有良好的敏感性,但是对于篡改位置的定位精度,本算法明显精度较高,同时本算法对于预测帧的篡改定位同样有效。
图6 I帧篡改定位检测
图7 B帧篡改定位检测
本文利用YST模型中T分量与YS分量之间的弱相关性,提出了一种结合YST颜色空间转换的DCT变换域脆弱水印嵌入算法。利用DCT变换中低频系数的稳定性生成认证水印,将水印嵌入到DCT的高频系数中。仿真实验结果表明,本方案能够有效地检测出对视频的一些常规攻击,并能定位遭篡改位置,满足视频完整性的认证要求。在保证嵌入容量的前提下,提高了视频的视觉质量。
[1] 王美华,裴庆祺,范科峰.基于脆弱水印的H.264视频完整性认证方案[J].西安电子科技大学学报,2007,34(5):823-826.
[2] 施化吉,翁正铃,李星毅.基于MPEG I/Ⅱ视频内容认证的半脆弱水印方案[J].计算机工程,2006,32(14):160-162.
[3] 杨高波,李俊杰,王小静,等.基于脆弱水印的H.264视频流完整性认证[J].湖南大学学报,2009,36(6):67-71.
[4] 李汶隆,杨浩钦,李录明.基于脆弱水印的错误检测技术在H.264中的应用[J].电子设计应用,2006,(11):98-100.
[5] Francesco Benedetto,Gaetano Giunta,Alessandro Neri.A New Color Space Domain for Digital Watermarking in Multimedia Applications[C].Rome:Image Processing,2005:249 -252.
[6] Hamad Hassan M,Gilani SAMA.Fragile Watermarking Scheme for Color Image Authentication[J].World Academy of Science Engineering and Technology,2006,(19):39 -43.