发明名称 基于DC系数的MPEG2视频水印实现方法
摘要 基于DC系数的MPEG2视频水印实现方法,属于计算机信息安全领域。本发明提出了在编码视频的I帧的亮度分量中嵌入水印信息,从而保证了视频水印的鲁棒性;在水印嵌入位置上,选择对视频质量影响最小的每一个条带的最后一个宏块的Y分量的最后一个差分DC系数,使得修改DC系数后并不会影响到其他条带的视频数据;在水印的嵌入提取算法中,结合MPEG2视频中DC系数采用霍夫曼差分编码特征,在保证添加水印前后DCT系数的编码量不变的基础上嵌入水印信息;水印的嵌入和提取并不涉及大量的数据DCT、IDCT变换以及量化和反量化,大大降低了视频水印系统的复杂度,提高了水印的嵌入和提取效率,并增强了水印信息提取的准确度。
申请公布号 CN102547297A 申请公布日期 2012.07.04
申请号 CN201210048099.3 申请日期 2012.02.28
申请人 中国传媒大学 发明人 隋爱娜;伏文龙;李建飞;于水源;王永滨
分类号 H04N7/26(2006.01)I;H04N7/50(2006.01)I 主分类号 H04N7/26(2006.01)I
代理机构 北京思海天达知识产权代理有限公司 11203 代理人 刘萍
主权项 1.一种基于DC系数的MPEG2视频水印实现方法,其特征在于,包括步骤:(1)水印的预处理采用混沌映射和纠错码相结合的方法处理水印信息;水印预处理的具体步骤如下:1)利用混沌系统生成实值序列根据Logistic映射定义:x<sub>i+1</sub>=μx<sub>i</sub>(1-x<sub>i</sub>),x<sub>i</sub>∈(0,1),选定一个密钥x<sub>0</sub>,在3.5699456和4之间选取一个μ,利用Logistic映射生成实数值序列{x<sub>i</sub>|i=0,1,2,,n},这是一个混沌映射的轨迹点所形成的序列;2)将实值序列转换成二值序列将上述生成的实值混沌序列{x<sub>i</sub>}代入下面的阈值函数τ(x<sub>i</sub>):<maths num="0001"><![CDATA[<math><mrow><mi>&tau;</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>0</mn><mo>,</mo></mtd><mtd><mn>0</mn><mo>&le;</mo><msub><mi>x</mi><mi>i</mi></msub><mo>&le;</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mtd></mtr><mtr><mtd><mn>1</mn><mo>,</mo></mtd><mtd><mfrac><mn>1</mn><mn>2</mn></mfrac><mo>&lt;</mo><msub><mi>x</mi><mi>i</mi></msub><mo>&le;</mo><mn>1</mn></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>(公式1)得到二值混沌序列,记为:S={k<sub>i</sub>|k<sub>i</sub>=τ(x<sub>i</sub>),i=0,1,2,,n};(3)调制水印信息设原始水印信号为<img file="FDA0000138932970000012.GIF" wi="592" he="79" />由二值混沌序列采用按位进行异或的方法进行调制,得到新的水印信号:<maths num="0002"><![CDATA[<math><mrow><mi>W</mi><mo>=</mo><mo>{</mo><msub><mi>w</mi><mi>i</mi></msub><mo>|</mo><msub><mi>w</mi><mi>i</mi></msub><mo>=</mo><msubsup><mi>w</mi><mi>i</mi><mn>0</mn></msubsup><mo>&CirclePlus;</mo><msub><mi>k</mi><mi>i</mi></msub><mo>,</mo><mi>i</mi><mo>=</mo><mn>0,1,2</mn><mo>,</mo><mo>,</mo><mi>n</mi><mo>}</mo><mo>;</mo></mrow></math>]]></maths>(4)增加纠错编码对上述产生的水印信号添加(7,4)汉明纠错码,生成最终要嵌入的水印信息;(2)水印的嵌入视频水印的具体嵌入步骤如下:1)将用Logistic混沌映射和纠错编码相结合的方法处理后的数据作为水印信息,其每一位数据为0、1比特序列;2)提取MPEG2视频部分中的I帧数据,解码一个条带并计算条带中的Y分量中的最后一个宏块中的最后一个DC系数;3)在上面提取出来DC系数的基础上,根据DC系数所需要VLC编码量的大小来修改DC系数嵌入水印信息,公式如下:<img file="FDA0000138932970000021.GIF" wi="860" he="158" />(公式2)其中,DC表示量化后的直流系数取整数,f(DC)表示DC的VLC编码位数,f(DC+1)表示DC+1的VLC编码位数,DC′表示调制后的直流系数;当要嵌入的水印信息位是0时,如果DC为偶数,则不改变原来的系数,如果DC为奇数,则需要使DC系数加1或者减1;如果DC系数加1后的视频编码量和原DC系数的编码量不相等,则让DC系数减1,重新编码DC′系数后放回原始视频流中;同理,当要嵌入的水印信息是1时,如果DC为奇数,则不改变原来的系数,如果DC为偶数,则需要使DC系数加1或者减1,如果DC系数加1后的视频编码量和原DC系数的编码量不相等,则让DC系数减1,然后重新编码DC′系数后放回原始视频流中;4)重复步骤2)、3)直到所有的水印信息位都嵌入到视频当中为止;(3)水印的提取提取水印信息的基本过程是嵌入水印的一个逆过程;具体步骤如下:1)解码嵌入水印后的视频数据的I帧的每一个条带,计算条带的最后一个宏块的Y分量的最后一个DC′系数;2)如果上述DC′系数是奇数则说明嵌入的水印比特是1,则提取一位比特1;如果是偶数则说明嵌入的水印比特是0,则提取一位比特0;3)重复上述过程直到所有的信息都被提取完毕为止;4)对提取出来的水印信息利用(7,4)汉明码纠错,把纠错后的信息利用二值混沌序列采用按位异或的方法,恢复得到原始水印信息。
地址 100024 北京市朝阳区定福庄1号