一种基于视频帧dct域的水印算法

文档序号:9891963阅读:570来源:国知局
一种基于视频帧dct域的水印算法
【技术领域】
[0001 ]本发明涉及一种基于视频帧DCT域的水印算法。
【背景技术】
[0002]近年来,人们可愈加便捷地通过网络发布视频等多媒体作品。但是,盗用者也可以通过网络轻松且无失真地获得他人的原始作品。盗用者对原作品进行任意复制传播并获利,这将为作品的版权所有人带来巨大的经济损失。对于诸如电视台、视频网站等拥有海量视频资源的版权所有者而言,损失将会更大。
[0003]在信息安全领域中,数字水印技术可以将版权所有者的信息嵌入到视频中,在经受一定人为或必须的攻击的情况下,仍然能够提取或检测出所有者的信息。因此可以利用数字水印进行版权认证及盗版跟踪。
[0004]目前该领域的方法有很多,例如基于运动矢量、预测方式等结合压缩标准的方法,它们普遍对尺度缩放攻击缺乏鲁棒性,需要先矫正视频尺寸再提取/检测水印。还有的方法将视频流解码出每帧,然后在其中嵌入水印,这类方法对于不同尺寸的视频缺乏自适应调整嵌入强度的能力,往往会造成视频质量或者鲁棒性的下降。

【发明内容】

[0005]基于此,有必要提供一种具有自适应嵌入强度、可用以对抗尺寸变换、码率变换等转码攻击的基于视频帧DCT域的水印算法。
[0006]根据本发明的一方面,提供了一种基于视频帧DCT域的水印算法,包括视频水印嵌入方法和视频水印提取方法,
[0007]视频水印嵌入方法包括如下步骤:
[0008]将嵌入信息按照三等分分段成三个数字并转换成三个二进制水印;
[0009]将每个视频帧解码并提取灰度图像;
[0010]对帧信息进行分析并判断该帧是否嵌入水印,若可嵌入水印则进行后续步骤,否则继续解码下一个视频帧;
[0011 ]对当前帧的灰度图像进行DCT变换得到系数矩阵;
[0012]提取系数矩阵低频区域的系数并作排序,提取排序后的低频系数组成一维数组;
[0013]根据当前帧的尺寸计算水印的嵌入强度;
[0014]根据水印比特位和嵌入强度,以量化方式修改一维数组的系数;
[0015]将三个二进制水印分别嵌入连续三帧的不同位置中,并重复此过程;
[0016]将修改后的系数放回原位并作反向排序,进行DCT反变换得到含有水印的视频帧;
[0017]视频水印提取方法包括如下步骤:
[0018]对待验证视频的关键帧进行解码并提取灰度图像;
[0019]对帧信息进行分析并判断该关键帧是否提取水印,若可提取水印进行后续步骤,否则继续解码下一个关键帧;
[0020]对当前关键帧的灰度图像进行DCT变换得到系数矩阵;
[0021 ]提取系数矩阵低频区域的系数并作排序;
[0022]对排序后的序列分别提取三组系数,提取位置与视频水印嵌入方法中的嵌入位置相同;
[0023]根据当前关键帧的尺寸计算量化步长;
[0024]分别对三组系数根据步长提取二进制水印,并转换成三个数字,分别保存在各自的集合中;
[0025]统计集合中出现最多且高于阈值的三个数字,将该三个数字按照视频水印嵌入方法中的分段顺序重新合并成一个数字。
[0026]在其中一个实施例中,视频水印嵌入方法中,对帧信息进行分析并判断该帧是否嵌入水印的步骤中,帧信息包括频率、亮度和纹理。
[0027]在其中一个实施例中,视频水印嵌入方法中,提取系数矩阵低频区域的系数并作排序的步骤中,排序方法为之字形排序。
[0028]在其中一个实施例中,视频水印嵌入方法中,将修改后的系数放回原位并作反向排序的步骤中,反向排序方法为反之字形排序。
[0029]在其中一个实施例中,视频水印提取方法中,提取系数矩阵低频区域的系数并作排序的步骤中,排序方法为之字形排序。
[0030]这种基于视频帧DCT域的水印算法具有自适应嵌入强度的特点,不同尺寸的视频都能得到合适的强度,兼顾了视频质量和鲁棒性的折中,尤其是当视频尺度变化的情况下,效果尤其好。其中,判断帧是否适合隐藏水印的步骤提升了含水印视频的视觉质量,只对合适的关键帧进行提取提高了系统的鲁棒性,同时加快了提取速度,而且对亮度、饱和度调整、模糊等攻击也具有很好的鲁棒性。在本算法中,数字分段嵌入的方法在不降低正确率的情况下,极大提升了水印容量,在实际提取时,只要某个数字出现的次数满足一定的预设条件,就可以把该数字当作最终结果,而不需要将视频的关键帧全部提取一遍,因此还减少了运算时间。
【具体实施方式】
[0031]为了便于理解本发明,下面将用具体实施例对本发明进行更全面的描述。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这实施例的目的是使对本发明的公开内容的理解更加透彻全面。
[0032]本发明一实施例的基于视频帧DCT域的水印算法,包括视频水印嵌入方法和视频水印提取方法。
[0033]A、视频水印嵌入方法包括如下步骤:
[0034]Al、将嵌入信息(数字)按照位数三等分成三个数字(例如一个长度为15位的数字,根据前中后的顺序可以被分成三个5位数字),再将这三个数字转换成二进制水印,数字的每一位对应一组预先设定的二进制序列;
[0035]A2、将视频帧解码并转换到YUV空间,提取Y通道得到灰度图像;
[0036]A3、为了减少水印对视频质量的影响,对帧的频率、亮度和纹理等信息进行分析以判断该帧是否嵌入水印,如亮度很高/低或纹理复杂,则适合嵌入水印,反之则不适用,放弃该帧并返回步骤A2;
[0037]A4、对灰度图像做DCT变换得到系数矩阵;
[0038]A5、由于矩阵左上角对应低频,而右下角对应高频部分,因此,取出系数矩阵左上角(低频)区域的系数,并做之字形排序,提取排序后的若干低频系数组成一个一维数组。
[0039]具体地,步骤A5中,之字形排序是从系数矩阵左上角的直流系数开始向右下角最高频系数以折线扫描的方式依次取出系数,并组成一维矩阵;
[0040]A6、根据当前帧的尺寸计算水印嵌入强度;
[0041]A7、根据水印比特位和步骤A6中算得的嵌入强度,以量化的方式修改数组中的系数,实现水印嵌入;
[0042]A8、将步骤Al中的三个水印分别嵌入在连续的三帧中并重复这一过程,它们的嵌入位置互不相同;
[0043]A9、将修改后的系数放回原来的位置,反之字形排序,并进行DCT反变换得到含有水印的视频帧。
[0044]B、视频水印提取方法包括如下步骤:
[0045]B1、对待验证视频的关键帧进行解码,并将其转换成灰度图像;
[
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1