书签 分享 收藏 举报 版权申诉 / 14

基于DC系数的MPEG2视频水印实现方法.pdf

  • 上传人:大师****2
  • 文档编号:4323201
  • 上传时间:2018-09-13
  • 格式:PDF
  • 页数:14
  • 大小:588.07KB
  • 摘要
    申请专利号:

    CN201210048099.3

    申请日:

    2012.02.28

    公开号:

    CN102547297A

    公开日:

    2012.07.04

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||公开

    IPC分类号:

    H04N7/26; H04N7/50

    主分类号:

    H04N7/26

    申请人:

    中国传媒大学

    发明人:

    隋爱娜; 伏文龙; 李建飞; 于水源; 王永滨

    地址:

    100024 北京市朝阳区定福庄1号

    优先权:

    专利代理机构:

    北京思海天达知识产权代理有限公司 11203

    代理人:

    刘萍

    PDF完整版下载: PDF下载
    内容摘要

    基于DC系数的MPEG2视频水印实现方法,属于计算机信息安全领域。本发明提出了在编码视频的I帧的亮度分量中嵌入水印信息,从而保证了视频水印的鲁棒性;在水印嵌入位置上,选择对视频质量影响最小的每一个条带的最后一个宏块的Y分量的最后一个差分DC系数,使得修改DC系数后并不会影响到其他条带的视频数据;在水印的嵌入提取算法中,结合MPEG2视频中DC系数采用霍夫曼差分编码特征,在保证添加水印前后DCT系数的编码量不变的基础上嵌入水印信息;水印的嵌入和提取并不涉及大量的数据DCT、IDCT变换以及量化和反量化,大大

    权利要求书

    1.一种基于DC系数的MPEG2视频水印实现方法,其特征在于,包括步骤:(1)水印的预处理采用混沌映射和纠错码相结合的方法处理水印信息;水印预处理的具体步骤如下:1)利用混沌系统生成实值序列根据Logistic映射定义:xi+1=μxi(1-xi),xi∈(0,1),选定一个密钥x0,在3.5699456和4之间选取一个μ,利用Logistic映射生成实数值序列{xi|i=0,1,2,,n},这是一个混沌映射的轨迹点所形成的序列;2)将实值序列转换成二值序列将上述生成的实值混沌序列{xi}代入下面的阈值函数τ(xi): τ ( x i ) = 0 , 0 ≤ x i ≤ 1 2 1 , 1 2 < x i ≤ 1 ]]>(公式1)得到二值混沌序列,记为:S={ki|ki=τ(xi),i=0,1,2,,n};(3)调制水印信息设原始水印信号为由二值混沌序列采用按位进行异或的方法进行调制,得到新的水印信号: W = { w i | w i = w i 0 ⊕ k i , i = 0,1,2 , , n } ; ]]>(4)增加纠错编码对上述产生的水印信号添加(7,4)汉明纠错码,生成最终要嵌入的水印信息;(2)水印的嵌入视频水印的具体嵌入步骤如下:1)将用Logistic混沌映射和纠错编码相结合的方法处理后的数据作为水印信息,其每一位数据为0、1比特序列;2)提取MPEG2视频部分中的I帧数据,解码一个条带并计算条带中的Y分量中的最后一个宏块中的最后一个DC系数;3)在上面提取出来DC系数的基础上,根据DC系数所需要VLC编码量的大小来修改DC系数嵌入水印信息,公式如下:(公式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)汉明码纠错,把纠错后的信息利用二值混沌序列采用按位异或的方法,恢复得到原始水印信息。

    说明书

    基于DC系数的MPEG2视频水印实现方法

    技术领域

    本发明是一种基于DC系数的MPEG2视频水印实现方法,针对
    MPEG2格式的视频进行水印的嵌入和检测,属于计算机信息安全领
    域。本发明不需要完全解码和重新编码全部视频数据,嵌入水印前后
    视频的数据量不发生变化,解决了以往视频水印中由于水印嵌入过程
    中直流成分对重建视频图像的质量有很大影响的问题,不需要引入复
    杂的移位补偿系统,大大降低了压缩视频码流中嵌入水印的复杂度。

    背景技术

    视频水印也就是加载在数字视频上的水印,是一种有效的数字产
    品版权保护和数据安全维护技术。近年来数字水印技术取得了很大的
    发展,但研究方向主要集中于静止图像水印技术,在视频水印研究方
    面,由于包括空间掩蔽效应等特性在内的更为精确的人眼视觉模型尚
    未完全建立,使得视频水印技术相对于图像水印技术发展滞后,现有
    的标准视频编码格式又造成了水印技术引入上的局限性。

    由于数字视频是连续播放的图像序列,其相邻帧之间的内容有高
    度的相关性,连续帧之间存在大量的数据冗余,使得视频水印容易遭
    受帧丢弃、帧交换等各种攻击,而且目前为了节约视频数据存储空间
    和便于传输,视频的主要存在模式是压缩格式的,视频水印在很大程
    度上是与压缩编码标准紧密联系在一起的,因此视频水印除了具有一
    般水印技术的特征外,还有一些特殊的要求,例如视频速率的恒定性、
    与视频编码标准相结合性等特征。

    目前视频水印的嵌入方法很多,主要有:一、直接嵌入到原始视
    频数据流中,其优点是嵌入方法多,可以使用图像水印的嵌入方法,
    缺点是增加了视频码流并且降低了视频的质量。二、水印嵌入到编码
    阶段的离散余弦变换(DCT)域中,同样也会影响视频的质量。三、
    水印直接嵌入到压缩比特流中,此方案不会导致视频质量下降,但是
    限定了嵌入水印的容量。

    现在大多数的图像水印嵌入方法都是利用频域水印算法,例如利
    用DCT变换的特性,可以使得水印数据分布在整个空间域中,所以
    具有很好的不可感知性。但是由于压缩视频格式上的限制,使得视频
    水印算法相比图像水印难度增大很多,目前视频水印技术还存在以下
    主要的问题:一是视频水印的不可感知性、鲁棒性和嵌入容量三者之
    间的相互矛盾还不能很好地解决;二是视频水印的嵌入前后需要满足
    码率约束条件的要求,使得视频水印算法难度增大;三是全部解码压
    缩视频数据添加水印后重新编码的方法不能够满足视频水印实时性
    的要求。

    发明内容

    为了克服现有视频水印系统存在的上述问题,本发明提出了一种
    基于DC系数的MPEG2视频水印实现方法,该方法实现简单、效率
    高。

    本发明的主要特征在于:提出了基于MPEG2视频I帧的每一个
    条带中最后一个宏块中Y分量的最后一个DC系数的水印嵌入方案,
    不同于传统的水印算法,不需要全部解码视频数据,然后反量化后做
    IDCT变换,嵌入水印后再做DCT变换后重新编码,在满足视频水印
    的鲁棒性、不可见性等基本要求的基础上,大大降低了视频水印嵌入
    系统的复杂度。

    本发明的视频水印嵌入方案如图1所示。这种基于DC系数的视
    频水印嵌入方法是以MPEG2视频作为输入,经过预处理的版权内容
    作为水印信息,然后经过水印的嵌入处理后,输出带有水印的MPEG2
    视频。提取水印的过程是嵌入水印的逆过程,对嵌入水印后的视频部
    分解码,通过相应的水印提取算法提取水印信息。

    具体方法步骤为:对输入的原始MPEG2视频嵌入水印之前,先
    要对水印图像信息做预处理;然后在视频载体中嵌入预处理后的水印
    信息;提取水印信息的时候,不需要参考原视频,直接通过相应的水
    印提取算法处理嵌入水印后的视频并从中提取水印信息。

    1.水印的预处理

    水印预处理的基本原理就是采取一定的预处理方法将水印(以图
    像水印为例)映射成一个无序的序列,从而打破原来水印像素之间的
    相关性,增强水印的隐蔽性和鲁棒性。然后在视频载体中嵌入预处理
    后的水印信息。

    混沌现象是在非线性动力系统中出现的确定性的、类似随机的过
    程。一类非常简单却被广泛研究的动力系统是Logistic映射,Logistic
    映射定义为:xi+1=μxi(1-xi),xi∈(0,1)。混沌动力系统的研究结果
    表明,当3.5699456<μ≤4时,Logistic映射工作处于混沌状态。而纠
    错编码的基本思想是通过对原信息序列做某种变换,使原来彼此独
    立、互不相关的信息码元变成具有一定的相关性和一定规律性的数据
    序列,而信息传输的接收方可以根据这种规律进行检测,并纠正码元
    在信道传输中所造成的差错。

    混沌序列的形式简单,只要有混沌映射的参数和初始条件就可以
    方便地产生、复制混沌序列,并且它对初始条件非常敏感,一般不同
    的初始值,即使相当接近,迭代出来的轨迹都不相同。与此同时,(7,
    4)汉明码方法非常简单快捷,而且,水印技术要求算法比较简单,
    对预处理也简单易行,因此汉明码能够保证水印的效率。所以本发明
    中采用混沌映射和纠错码相结合的方法处理水印信息,水印预处理的
    具体过程如下:

    (1)利用混沌系统生成实值序列

    根据Logistic映射定义:xi+1=μxi(1-xi),其中1≤μ≤4,xi∈(0,1)。
    选定一个密钥x0,x0可以在取值范围内取任意实数,在3.5699456和
    4之间选取一个μ,利用Logistic映射生成实数值序列
    {xi|i=0,1,2,,n},这是一个混沌映射的轨迹点所形成的序列。

    (2)将实值序列转换成二值序列

    将上述生成的实值混沌序列{xi}代入下面的阈值函数τ(xi):

    τ ( x i ) = 0 , 0 x i 1 2 1 , 1 2 < x i 1 ]]>(公式1)

    这样我们就可得到二值混沌序列,记为:
    S={ki|ki=τ(xi),i=0,1,2,,n}。

    (3)调制水印信息

    设原始水印信号为其中
    的值取是0或者1,由二值混沌序列采用按位进行
    异或的方法进行调制,得到新的水印信号:
    对水印信号进行调制实际相当于
    对其进行了加密,只有知道密码的人才能进行解调,保证了水印信号
    的安全性。

    (4)增加纠错编码

    对上述产生的水印信号添加(7,4)汉明纠错码,生成最终要嵌入的
    水印信息。

    2.水印的嵌入

    在MPEG2编码标准中,有3种图像类型:内部编码帧(I帧)、
    前向预测帧(P帧)和双向预测帧(B帧)。I帧的编码是利用帧内相
    邻像素间的空间域冗余来压缩信息,P帧编码时要用到先前的帧,当
    前帧又可以作为后面预测帧的参考帧,B帧的数据压缩效果最显著,
    它的预测需要先前和后续的信息,且自身不能作为其他帧的预测参考
    帧。由于P、B帧的冗余很少,水印嵌入在P、B帧要求算法难度较
    大,嵌入水印的效果也不是很好。其次,人眼对亮度信号(Y分量)
    比对色度信号(U、V分量)更加敏感,嵌入在色度信号中的数据在
    压缩时很容易被清除。所以,本发明针对目前传统视频水印嵌入算法
    存在的问题和不足,在深入分析MPEG2视频编码结构的基础上,利
    用视频编码对每一个条带中前后各个块的DC系数都采用差分编码的
    特点,提出在视频的I帧的每一个条带的最后一个宏块的Y分量的最
    后一个DC系数嵌入水印的方法。

    (1)水印的嵌入点选择

    在MPEG2视频编码格式中,由于编码的都是DCT系数,视频
    图像的大多数能量都集中在低频部分,因而在较低频部分嵌入水印具
    有一定的鲁棒性。在每一个条带的Y、U、V分量中各自的8×8块中
    的DC系数(量化后的系数)之间采用的是差分编码,所以修改一个
    条带中的Y(或者U、V)分量中的最后一个宏块中的最后一个DC
    系数不会影响到本条带中的Y(或者U、V)分量中的其他数据块中
    的DC系数,如果修改其他位置的DC系数,则条带中此系数后的其
    他所有DC系数都将会随之而改变,从而会严重影响视频的视觉效果,
    所以本发明的思想是在一个条带的Y分量中的最后一个宏块中的最
    后一个DC系数中嵌入水印,保证了对原始视频的质量的影响最小。

    (2)水印的嵌入方法

    根据MPEG2视频编码格式中DC系数和其VLC编码量的关系
    可知,一个DC系数L的VLC编码量要么是和L+1的VLC编码量相
    等,要么是和L-1的VLC编码量相等。如下表1所示:

    表1


    其中,DC表示量化后的直流系数,在表格中各个区间中的DC
    只能取整数,f(DC)表示DC的VLC编码位数。所以,本方案中是通
    过部分解码MPEG2视频的I帧数据,修改每一个条带的最后一个宏
    块中的亮度分量的最后一个DC系数来嵌入水印。具体嵌入方法如下:

    (公式2)

    其中,f(DC)表示DC的VLC编码位数,f(DC+1)表示DC+1的
    VLC编码位数,可以取的值是3、4、6、7、9、11、13、15、17、19
    和20。当要嵌入的水印信息位是0时,如果DC为偶数,则不改变原
    来的系数,如果为奇数则调制为DC′,重新编码系数后放回原始视频
    流中。同理,当要嵌入的水印信息是1时,如果DC为奇数,则不改
    变原来的系数,如果为偶数,则调制为DC′,重新编码系数后放回原
    始视频流中。DC′的调制方法如公式2所示。这种和视频编码特征相
    结合的水印嵌入算法在满足视频水印不可见性、鲁棒性等基本特性的
    基础上,保证了水印嵌入前后视频编码量不会改变,大大减小了视频
    水印系统的复杂度,提高了视频水印的嵌入和提取效率。

    (3)水印的嵌入过程

    本发明中视频水印的具体嵌入过程如下:

    a)将用Logistic混沌映射和纠错编码相结合的方法处理后的数
    据作为水印信息,其每一位数据为0、1比特序列。

    b)提取MPEG2视频部分中的I帧数据,解码一个条带并计算条
    带中的亮度分量中的最后一个宏块中的最后一个DC系数。

    c)当要嵌入的水印信息位是0时,如果DC为偶数,则不改变
    原来的系数,如果为奇数则调制为DC′,重新编码系数后放回原始视
    频流中。同理,当要嵌入的水印信息是1时,如果DC为奇数,则不
    改变原来的系数,如果为偶数,则调制为DC′,重新编码系数后放回
    原始视频流中。

    d)重复上述过程直到所有的水印信息位都嵌入到视频当中为止。

    3.水印的提取

    提取水印信息的基本过程是嵌入水印的一个逆过程,同样只需要
    解码并计算MPEG2视频I帧的每个条带中Y分量中的最后一个宏块
    中的最后一个DC系数,如果其为偶数则嵌入的是0,是奇数则嵌入
    的是1。提取完所有数据后再利用汉明码纠错,最后再与混沌序列做
    异或运算则可以得到嵌入的水印信息。提取水印信息的具体过程如
    下:

    (1)解码嵌入水印后的视频数据的I帧的每一个条带,计算条
    带的最后一个宏块Y分量的最后一个DC系数,在此不需要对DC系
    数反量化。

    (2)如果上述DC系数是奇数则提取一位比特1,如果是偶数则
    提取一位比特0。

    (3)重复上述过程直到所有的信息都被提取完毕为止。

    (4)对提取出来的水印信息利用汉明码纠错,然后再与混沌序
    列做异或运算,得到原始的水印信息。

    附图说明

    图1:基于DC系数的MPEG2视频水印的总体方案流程

    图2:测试输入的原始视频中的第一帧图像

    图3:测试输入的原始视频中的第二帧图像

    图4:测试输入的原始水印图像

    图5:嵌入水印后的原始视频的第一帧图像

    图6:嵌入水印后的原始视频的第二帧图像

    图7:提取出来的水印图像

    具体实施方式

    根据图1配置本发明的实施例。本实施例中计算机为“DELL计
    算机,Intel(R)Core(TM)2Duo CPU E75002.92GHz,2GB内存,320G
    硬盘”。采用VC++编程实现。

    在视频水印的嵌入和提取过程中,采用混沌映射和纠错编码相结
    合的方法处理后的版权数据(以图像数据为例)作为水印信息。同时
    需要部分解码视频的I帧数据,提取出亮度分量的DC系数,这里的
    DC系数是量化后的系数,取值范围是-2048到2047之间的整数。然
    后嵌入水印信息后重新写入视频码流中。提取的过程和嵌入过程是一
    个反过程,也需要部分解码视频的I帧数据,提取相应位置处的DC
    系数并求得每一位嵌入的水印信息。具体实施步骤如下:

    1.水印的预处理

    采用Logistic混沌映射和纠错编码相结合的方法处理原始水印图
    像,映射成一个无序的序列,从而打破原来水印像素之间的相关性。
    最后的水印信息是一些无序的、无相关性的比特。

    针对原始水印数据(如图4所示),首先把水印数据读入到内存
    当中,并且计算数据的长度Length,则混沌序列的长度Size=Length
    ×8,然后执行以下步骤:

    (1)根据Logistic混沌映射的基本原理xi+1=μxi(1-xi),其中
    1≤μ≤4,xi∈(0,1),i<Size,选定一个密钥x0为0.2,在3.5699456
    和4之间选取一个μ为3.9,利用Logistic映射生成实数值序列,也就
    是混沌映射的轨迹点所形成的序列。

    (2)上面生成的实数值序列共Size个数据,其中每个数据都是
    0和1之间的实数,把大于等于0.5的数置为1,小于0.5的数置为0,
    最后将混沌实值序列转换成只有0和1的二值序列。

    (3)针对Length字节的水印数据,计算求得每一个字节的8位
    二进制0、1比特并分别保存在一个8个字节的数据缓冲区中,所以
    缓存区的大小是Size字节,每个字节的数据都是0或者1。

    (4)将上述Size字节的水印信息和相同数量的二值混沌序列的
    对应数据(水印数据的第n个字节和混沌序列的第n个字节,其中
    n<Size)进行异或,得到新的水印信号。

    (5)对上述产生的水印信号添加(7,4)汉明纠错码,生成了最终
    要嵌入的水印信息。对于每四个码字b3,b2,b1和b0,根据如下线
    性关系计算出监督码元r2,r1和r0。

    r 2 = b 3 b 2 b 1 ]]>

    r 1 = b 3 b 2 b 0 ]]>

    r 0 = b 3 b 1 b 0 ]]>

    增加后的码字是b3,b2,b1,b0,r2,r1和r0,比如原来的四
    位码字1100变为了最后的1100001七位码字。

    2.水印的嵌入

    针对上面预处理后的水印信息,根据MPEG2视频的数据编码结
    构,在解码的过程中嵌入水印。由于水印信息是嵌入在视频的I帧的
    每个条带,所以需要解码找到视频I帧的条带层数据,具体过程如下:

    (1)对于每一个视频序列,从视频序列头(0x000001B3)开始
    解码,找到32位的图像头0x00000100,提取并解析其中的图像头部
    数据,获得图像头部数据的表示帧类型的参数p,p的值可能是1(表
    示是I帧),2(表示是P帧)或者3(表示是B帧)。

    (2)如果参数p的值是1,当前帧则为I帧,如果不是1,则继
    续解码下一帧图像,直到找到I帧为止。

    (3)解码找到视频I帧后,根据MPEG2视频结构的条带头信息,
    找到视频的每一个条带。

    在找到视频条带层数据的前提下,开始对条带层的数据解码,实
    验中的视频一帧图像(如图2、图3)共有36个条带,然后需要逐步
    解码条带中的每一个宏块,直到找到每个条带中的最后一个宏块,然
    后在这个宏块中嵌入水印信息,具体的嵌入过程如下:

    (1)在解码找到条带最后一个宏块的基础上,依次解码宏块中
    Y分量的每个8×8数据块,得到Y分量的最后一个8×8数据块的
    DC系数。

    (2)在上面提取出来DC系数的基础上,根据DC系数所需要
    VLC编码量的大小来修改DC系数嵌入水印信息,当要嵌入的水印信
    息位是0时,如果DC为偶数,则不改变原来的系数,如果为奇数,
    则需要使DC系数加1或者减1(如果DC系数加1后的视频编码量
    和原DC系数的编码量不相等,则让DC系数减1),重新编码改变后
    的DC系数后放回原始视频流中。同理,当要嵌入的水印信息是1时,
    如果DC为奇数,则不改变原来的系数,如果为偶数,则需要使DC
    系数加1或者减1(如果DC系数加1后的视频编码量和原DC系数
    的编码量不相等,则让DC系数减1),然后重新编码改变后的DC系
    数后放回原始视频流中。

    (3)重复上述(1)、(2)两个过程,直到所有的水印信息嵌入
    完毕为止。

    3.水印的提取

    水印的提取是水印嵌入的一个逆过程中,同样也是在解码的过程
    中提取水印。由于水印信息是嵌入在视频的I帧的每个条带,需要解
    码找到视频I帧的条带层数据,具体的过程如下:

    (1)对于每一个视频序列,从视频序列头(0x000001B3)开始
    解码,找到32位的图像头0x00000100,提取并解析其中的图像头部
    数据,获得图像头部数据的表示帧类型的参数p,p的值可能是1,2
    或者3。

    (2)如果参数p的值是1,当前帧则为I帧,如果不是1,则继
    续解码下一帧图像,直到找到I帧为止。

    (3)解码找到视频I帧后,根据MPEG2视频结构的条带头信息,
    找到视频的每一个条带。

    在找到视频条带层数据的前提下,开始对条带层的数据解码,需
    要逐步解码条带中的每一个宏块,直到找到每个条带中的最后一个宏
    块,在这个宏块中提取水印信息,具体的提取过程如下:

    (1)在解码找到条带最后一个宏块的基础上,依次解码宏块中
    Y分量的每个8×8数据块,得到Y分量的最后一个8×8数据块的
    DC系数。

    (2)在上面提取出来DC系数的基础上,根据这个DC系数的
    奇偶性判断嵌入的每一位水印比特信息是0或者1。如果这个DC系
    数是奇数则说明嵌入的比特是1,如果是偶数则说明嵌入的是比特0。

    (3)由于对水印信息进行了预处理,水印全部提取完毕后,得
    到的是无规律、无意义的比特序列,保证了水印信息的安全性。

    (4)对上述比特序列使用(7,4)汉明码纠错,根据汉明码的纠错
    原理,原信息码元与监督码元满足下列校验关系:

    s 2 = r 2 b 3 b 2 b 1 ]]>

    s 1 = r 1 b 3 b 2 b 0 ]]>

    s 0 = r 0 b 3 b 1 b 0 ]]>

    计算出来的s0、s1和s2为矫正子。根据一致性监督关系,如果
    接收的码组没有错误,则s1=s2=s3=0;当码组在传输过程中发生单个
    错误时,在s1、s2、s3的计算结果中,至少有一个不为零。这样根据
    结果就可以唯一地确定错误的位置并给与纠正。经过(7,4)汉明码纠错
    后得到长度为Size字节的码流,每个字节的数据都是0或者1。

    (5)把上述纠错后的信息利用和二值混沌序相异或的方法恢复
    原始水印信息,这里的混沌序列和水印预处理过程中的完全一样。

    (6)针对上述提取的Size字节(数据都是0或者1)的水印信
    息,按照每8个数据保存在一个字节的方式重新组织数据,最后得到
    长度为Length字节的水印信息,写入图片文件后,得到最后的水印
    图像,如图7所示。

    为了评测本发明嵌入水印的效果,我们利用本实施例中的方法进
    行了实验。实验采用MPEG2格式的视频作为原始压缩视频序列,每
    一帧视频图像的大小都是352×228,水印信息为一个二值图像,大
    小为32×32。图2和图3为原始视频的两帧图像,图4为原始水印
    二值图像,图5和图6是本算法嵌入水印后的两帧图像,由于本发明
    中只是在视频数据I帧的每一个条带中修改一个DC系数,并且修改
    后的量也不是很大,所以嵌入水印后的视频和原来的视频几乎没有任
    何差别。图7是本算法提取出的水印图像,和原始的水印图像几乎没
    有任何差别。

    实验结果表明,由于在水印的嵌入过程中,结合了MPEG2视频
    的具体编码特征,在确保视频编码量不变的基础上修改I帧图像中每
    个条带亮度分量的一个DC系数,保证了嵌入水印前后视频质量完全
    没有下降。此外,由于在水印的嵌入和提取中并没有DCT和IDCT
    以及量化和反量化等影响原始视频和原始水印信息质量的过程,只是
    在码流中直接调制嵌入水印,而且对提取的水印信息使用了汉明码纠
    错,保证了提取的水印信息和原信息完全没有差别。

    本发明采用基于DC系数的MPEG2视频水印算法,结合MPEG2
    视频编码特征,在编码视频的I帧的亮度分量中嵌入水印信息,从而
    保证了视频水印的鲁棒性。在水印嵌入位置上,本发明选择对视频质
    量影响最小的每一个条带的最后一个宏块的Y分量的最后一个差分
    DC系数,使得修改DC系数后并不会影响到其他条带的视频数据。
    在水印的嵌入提取算法中,本发明结合MPEG2视频中DC系数采用
    霍夫曼差分编码特征,在保证添加水印前后DCT系数的编码量不变
    的基础上嵌入水印信息。本发明中水印的嵌入和提取过程中并不涉及
    大量的数据DCT、IDCT变换以及量化和反量化等数学过程,大大降
    低了视频水印系统的复杂度,提高了水印的嵌入和提取效率,并增强
    了水印信息提取的准确度。

    关 键  词:
    基于 DC 系数 MPEG2 视频 水印 实现 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:基于DC系数的MPEG2视频水印实现方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-4323201.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1