具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
图1是本发明图1是本发明基于H264的语义信息传输与保护方法一具体实施方式流程图。
在本实施例中,如图1所示,本发明基于H264的语义信息传输与保护方法包括步骤:
步骤101、语义信息标引
对H264规范的数字视频根据语义规范与语义标引技术进行语义信息标引,得到其包括版权语义信息以及内容语义的n维语义信息
步骤102、预处理
将n维语义信息分别进行预处理,得到n幅二值图像,每幅二值图像为一个鲁棒语义水印;
步骤103、鲁棒语义水印的嵌入
将每个鲁棒水印依次嵌入到H264规范的数字视频I帧DCT域的中频系数中,
步骤104、脆弱水印的提取
将嵌入鲁棒水印的中频系数作为特征信息转化为脆弱水印;
步骤105、脆弱水印的嵌入
将脆弱水印嵌入到H264规范的数字视频P帧的运动矢量中。
通过上述嵌入后的H264规范的数字视频中I帧为含有鲁棒语义水印的I帧,P帧为含有脆弱水印的P帧,最后得到的是含鲁棒语义水印以及脆弱水印的码流,即数字视频。
在本实施例中,各个步骤的具体实现如下:
1、语义标引
针对数字视频语义空间中不考虑低层语义描述,如画面中颜色、纹理,也不考虑太高层的语义描述,这样的检索留待深入语义检索的研究来做,在本实施例中,标引的语义信息如表1所示:
表1
数字视频的内容语义信息、版权语义信息及其它语义信息都可用矢量来表达,通过对语义矢量的关联或映射计算,在浩瀚的信息空间中按内容准确定位文件。
语义信息可以用向量表示为:
U={U1,U2,…,Ui,…,Un} (1)
式中Ui,i∈n;n是语义信息的分量数,即多维矢量表示的语义信息的维度。
2、语义信息的预处理与鲁棒语义水印嵌入
2.1、语义信息预处理,即鲁棒语义水印的生成
根据语义规范与语义标引技术对数字视频进行语义标引,可以得到视频资源的n维语义信息U。由于二值图像中的所有像素都由0、1代替,且占用的空间极少,因此,在本实施例中,利用MATLAB将n维语义信息转换为n幅二值图像,大大方便了语义信息的嵌入与提取。
同时由于二值图像相邻像素必然具有一定的相关性,假设鲁棒语义水印的提取算法被不法分子得到,二值图像信息将很容易被攻击者得到,所以,在本实施例中,将二值图像作为鲁棒语义水印之前,对其进行预处理,使得语义水印信息能量分散,消除语义水印信息中相邻像素的相关性,提高语义水印的鲁棒性。在本实施例中,采用混沌加密对二值图像进行预处理,具体的预处理过程如图2所示。
由图2可知,为了保证语义水印的安全性、鲁棒性,可以对二值图像进行混沌加密,具体加密过程如下:
步骤201、利用MATLAB将语义信息Ui转化为二值图像,
步骤202、按例对二值图像进行扫描,将其映射为一维二值序列Ti;
步骤203、为了加强置乱的效果,用Logistic映射混沌加密算法对二值序列Ti进行混沌加密:
产生跟一维二值序列Ti同等长度的两列一维混沌序列S1和S2,用这两列混沌序列的异或结果作为加密信号,根据公式(2),对二值序列Ti进行混沌加密,得到加密后二值图像Ti的一维二值序列,并作为鲁棒语义水印Wi
2.2、鲁棒语义水印嵌入位置的选择
数字视频用户将利用语义信息在终端进行扩展应用,必需保证鲁棒语义水印信息的完整性、可靠性,保证鲁棒语义水印信息在传输中可以抵抗正常的处理和一般的攻击,即该鲁棒语义水印信息必须具有较高的鲁棒性。
在本实施例中,鲁棒语义水印嵌入位置的选择如图3所示。
因为在H264格式的数字视频编码过程中,I、P、B各编码帧的编码模式和数据特征各不相同,I帧采用帧内预测编码模式,与P帧和B帧相比较独立;因此将鲁棒语义水印嵌入到I帧中,其受损坏的概率要小,有助于提高鲁棒语义水印的鲁棒性,同时数字视频的处理单位是宏块,而一个宏块又可以分为一个16×16的亮度块和两个8×8的色度块,根据HVS(Human Visual System,即人类视觉系统)模型,人眼对视频帧中的色度信息的变化最为敏感,如果鲁棒语义水印嵌入在色度信息中,很容易引起人们的察觉,影响鲁棒语义水印不可感知性。因此,在本实施例中,确定数字视频帧序列的I帧宏块的亮度块作为鲁棒水印的嵌入位置。
在Baseline(基本)档次中,每个4×4子块经过DCT变换和量化处理之后都会得到16个变换系数,这些系数经过如图4的Zig-zag扫描之后,会将得到从低频到高频排列的系数。
其中最低的系数为DC0系数,也称为直流分量。AC1至AC15为交流系数分量。Zig-zag扫描后排在前面的系数是低频和中频系数,代表了预测残差的主要能量分布,排在后面的系数为高频系数,代表了预测残差块的一些纹理、细节信息主要分布。由于低频系数中代表了预测残差块的主要能量,如果将鲁棒语义水印嵌入在这里,可以保证鲁棒语义水印的鲁棒性,不法分子如果对低频系数中的数字水印进行破坏的话,将很容易破坏视频的质量,而被别人发现,同理在低频系数中嵌入鲁棒语义水印也会很大程度的影响视频的质量。因此这里鲁棒语义水印的鲁棒性是以牺牲视频的质量为代价的。相反由于低频系数代表了预测残差的纹理、细节信息,如果将鲁棒语义水印嵌入在这里,其水印的鲁棒性将特别差,因为不法分子对预测残差高频信息的改变,对视频的质量变化很小。将鲁棒语义水印嵌入在预测残差的中频系数中,可以实现鲁棒性和视频质量之间的均衡。
同时考虑到Zig-zag扫描后的第五个非零系数位于残差矩阵对角线的概率较大,将鲁棒语义水印嵌在对角线系数上可增加其抗几何攻击性,因此将鲁棒语义水印嵌入在第五个非零系数中。
2.3、鲁棒语义水印的嵌入
宏块的亮度子块经过整数DCT变换后,它的细节纹理信息丰富程度可以用交流系数的能量来衡量。如果交流系数的能量越大,则代表该子块区域表征细节的信息比较多,如果在这里嵌入鲁棒语义水印,可以提高鲁棒语义水印的不可感知性;同时也说明该子块区域的编码码率较大,嵌入水印后对视频编码码率影响较小。因此交流系数的能量值大的子块适合嵌入数字水印。
定义一个4×4子块的能量为:
ACi为子块经过DCT变换后的系数值;i为系数经过Zig-zag扫描后的系数序号;EAC为AC系数的能量值。在鲁棒语义水印嵌入中,将比较每个亮度块中15个4×4子块的交流信号的能量,即EAC,将鲁棒语义水印嵌入在交流信号能量最大的4×4子块中,这样一方面提高了鲁棒语义水印的不可感知性,同时也保证了每个宏块的亮度块中都嵌有鲁棒语义水印信息。
鲁棒语义水印具体嵌入步骤如下:
a1、在空间域对数字视频帧序列的I帧进行帧内预测,对宏块中4×4亮度子块进行4x4整数DCT变换,然后计算变换后每个亮度4×4子块的交流信号的能量,其中宏块中交流信号能量最大的4×4亮度子块用于嵌入鲁棒语义水印;
a2、将4×4亮度子块的一系列频率域系数,按照Zig-zag扫描顺序从低频到高频排列;
a3、若非零频率域系数的个数大于等于5,通过改变第5个频率域系数使其奇偶性与嵌入水印的奇偶性相同,以此来嵌入鲁棒水印信息,即将第5个非零频率域系数n4进行如下修改:
其中:mod为取余运算符,w为鲁棒语义水印Wi的一位。公式(4)的含义为:如果第5个非零频率域系数n4与w为鲁棒语义水印Wi嵌入位w奇偶性相同,则n4的值不变,如果不同,第5个非零频率域系数n4的值进行加1处理;
a4、每个宏块都进行步骤a1~3,将鲁棒语义水印Wi的每一位分别嵌入到宏块中;
a5、依次对I帧进行步骤a4的操作,直到鲁棒语义水印Wi所有位都嵌入到I帧为止。
3、鲁棒水印的提取
其鲁棒语义水印提取方法是鲁棒语义水印嵌入的逆过程,其具体步骤如下:
b1、H264解码器从NAL(Network Abstraction Layer,即网络提取层)中接收到压缩的视频比特流,对该比特流进行熵解码、反量化得到I帧DCT系数;
b2、利用公式(3)计算一个宏块中每个4x4亮度子块中交流信号的能量,选择出每个宏块中交流信号能量最大的4x4亮度子块,该子块即为嵌有鲁棒语义水印的亮度子块;
b3、将得到的4x4亮度子块按Zig-zag扫描顺序从低频到高频排列这些系数。
b4、若非零系数的个数大于等于5,则根据公式(5)进行鲁棒语义水印嵌入位提取;
w′=n4mod2 (5)
b5、依次对I帧宏块进行b1~4的操作,提取鲁棒语义水印所有嵌入位,然后按照混沌解密处理得到二值图像,并将该二值图像转化为具有实际意义的语义信息,该具有实际意义的语义信息就是该数字视频的语义信息,可用于终端的各种应用。
4、脆弱水印的处理
随着计算机技术和多媒体技术的快速发展,功能强大的多媒体处理工具也出现了蓬勃的发展,导致了图像、视频画面甚至是语音场景的伪造变得极其容易,而且一般人眼几乎无法察觉到破绽。这样也极大的威胁到了数字视频内容的可靠性和完整性;当然语义信息也极有可能受到威胁,其安全性也无法得到保证,将大大的影响用户端的扩展应用。多媒体安全性认证技术可以利用一个认证水印来保证其可靠性、完整性。
认证水印作为保证多媒体视频内容真实完整的一种水印,它必须对多媒体视频信息的篡改具有较强的敏感性,即该水印要有较强的脆弱性。H264编码系统中,帧间编码用到的运动矢量对视频的攻击具有较强的敏感性,因此可以将认证性水印信息嵌入在帧间编码中的运动矢量中。
4.1、脆弱水印的生成
基于语义的鲁棒水印,如果该水印信息被不法分子篡改并进行利用或者恶意传播,很可能影响社会的安全、稳定。
认证码生成原理:首先在空间域对视频I帧进行帧内预测,然后对亮度块的预测残差块进行4x4整数DCT变换。然后计算变换后的每个亮度的4×4子块的交流信号能量,其中在宏块中交流信号能量最大的4×4子块可能嵌有基于语义的水印信息。然后将该4×4块的DCT变换系数经过Zig-zag扫描后,如果非零系数的个数大于等于5则说明该子块中嵌有水印信息,选出它的第5个非零系数,最后根据该系数的绝对值的大小生成一个三位的认证码,如表2所示的认证码与DCT系数对应表。由于经过量化后的DCT系数的绝对值大于等于7的比例不到10%,所以取大于等于7的DCT系数对应的认证码是111。
由于每个16×16宏块中,4×4子块能量关系都不相同,所以每个16×16宏块中嵌入鲁棒语义水印的4×4子块位置也不相同,这样可提高水印信息的安全性;其次选择带有语义水印信息的DCT系数的真实值作为认证信息,可以验证语义的完整性、真实性;
将每一个嵌入位置的亮度子块的DCT系数对应的认证码组合为脆弱水印。
为了提高脆弱水印的随机性、相关性、不可预见性,可以利用置换加密的方法对脆弱水印CW进行加密,方法如下:
W=E(CW,Ke)=(wc1,wc2...wcm) (6)
式中:E为加密算法,Ke为置换密钥,wc1,wc2...wcm为加密后得到的、待嵌入的脆弱水印。对脆弱水印的加密,大大提高了脆弱水印的安全性。
4.2、脆弱水印的嵌入
H264格式采用了不同大小和形状的宏块分割与亚分割方法。一个16×16亮度宏块可按照16×16、16×8、8×16或8×8进行分割;而如果选择了8×8分割,还可以按照8×8、8×4、4×8或4×4进行亚分割,宏块分割与亚分割所产生的每一个亮度块都有自己独立的运动矢量。同时H264格式采用了更高精度的分像素运动向量,通过运动估计搜素,亮度块的精度可达1/4像素,运动估计搜索先是通过6抽头的滤波器来获得半像素精度,然后用线性滤波器来获得1/4像素的精度。由于运动矢量之间也有一定的相关性,H264就利用已经编码块的运动矢量对当前未编码块的运动矢量进行预测,最后只需要编码和传输实际运动矢量与预测值的差值MVD即可。其中MVD=mv-mvp=[dx,dy],mv代表当前候选块的运动矢量,mvp代表从相邻块预测的运动矢量,dx、dy分别代表预测残差的水平偏移量和垂直偏移量。
在本实施例中,将脆弱水印嵌入到P帧的运动向量预测残差MVD的水平偏移量dx中。因此根据脆弱水印的奇偶性,通过修改运动向量mv来对MVD水平偏移量的奇偶性进行修改,以实现脆弱水印的嵌入。具体实现方法可举例说明如下:
如图5所示的1/4像素运动估计搜索图中,wci∈{0,1}为将要嵌入的脆弱水印的第i位,MVD的水平偏移量dx为将要嵌入脆弱水印的位置。C是当前子块运动搜索得到的最佳1/2像素位置,{1.2,...,8}是最佳1/2像素位置C周围候选1/4像素位置,P是通过相邻子块预测得到的预测向量。当脆弱水印i位wci=1时,则当前候选的运动向量mv取自位置{1,3,4,5,6,8},这是因为这6个位置与预测运动矢量P的水平偏移量为偶数;当脆弱水印i位wci=0时,则mv取自位置{2,7},同理此时这两个位置与预测运动矢量P的水平偏移量为奇数。即当嵌入的比特为“1”时运动估计过程搜索运动向量预测残差MVD水平偏移量dx为偶数,如果嵌入比特数为“0”,运动估计过程搜索运动向量预测残差MVD水平偏移量dx为奇数。
4.3、脆弱水印的提取与认证
脆弱水印提取是水印嵌入的逆过程,首先对H264压缩视频流进行解码得到P帧的运动矢量预测残差MVD,然后判断预测残差MVD水平偏移量的奇偶性。如果为奇数,则提取的脆弱水印位w′ci=1;如果为偶数,则提取的脆弱水印位w′ci=0。
通过上述方法得到脆弱水印后,可以提取出该脆弱水印来验证语义水印信息的完整性,具体步骤如图6所示。
为了检测脆弱水印对基于语义鲁棒水印的认证性能,在本实施例中,引入攻击测试Sim值,即提取出来的脆弱水印与鲁棒语义水印嵌入位置DCT系数的相似性。
如图6所示,首先,在解码端,根据鲁棒语义水印嵌入位置DCT系数重新计算生成认证码序列C′w,从P帧提取脆弱水印,通过置换密钥解密后得到脆弱水印C″W。其次计算认证码序列C′w与脆弱水印C″W的相似度,根据认证精度阈值τ来决定认证是否通过.
实例
在本实例中,通过基于H264编码标准的参考软件JM14.2来进行测试,测试中使用的视频序列是QCIF格式(176×144)的mother-daughter、Akiyo,Carphone测试序列长度为300帧,帧率为30HZ。
1、水印的不可感知性评估
不可感知性是水印最基本的性能要求,是指嵌入在数字视频内的水印不影响原始数据的使用价值,即因嵌入水印导致数字视频的变化对用户的视觉系统来讲应该是不可察觉的,否则水印就失去了它的价值。图7、图8分别是Akiyo、mother-daughter序列中I、P帧在量化参数QP=28时鲁棒语义水印和脆弱水印嵌入前后的对比。
通过人为主观来看,数字视频在嵌入鲁棒语义水印和脆弱水印前后的视觉效果几乎没有什么变化。说明本发明的方法,鲁棒语义水印以及脆弱水印的嵌入都没有影响到数字视频的视觉效果,满足了水印不可感知性最基本的要求。
上面是通过主观因素来判断水印嵌入对数字视频的影响,同样也可以通过PSNR的方法客观的对数字水印的不可感知性做一个定量的分析。图9为mother-daughter序列在量化参数QP=26时,水印嵌入前后PSNR的变化曲线图。图10为mother-daughter序列在量化参数QP=28时,水印嵌入前后PSNR的变化曲线图。
一般来说,如果要保证数字视频图像在水印嵌入前后在画质上差别人眼不可察觉,一般需要保证PSNR在30dB以上。从图9、10可知,不论QP=26还是QP=28,嵌入后PSNR的值都保持在36以上,说明不论鲁棒水印还是脆弱水印嵌入后对视频的影响很小,满足了水印不可感知性的要求。
2、鲁棒语义水印的鲁棒性评估
图11是Mother-Daughter序列在经过各种攻击后提取出来的水印图像
基于鲁棒语义水印嵌入到数字视频帧序列的I帧亮度分量的变换系数中,数字视频用户可以通过解码端对鲁棒语义水印进行提取并进行各种扩展应用,因此对于该语义水印的鲁棒性要好。鲁棒性是指水印抵抗各种攻击具有的壮健性、稳健性。鉴于语义信息在用户终端的重要性,必须保证鲁棒语义水印在视频传输的过程中不会因为一般的处理或者噪声的影响而导致丢失、破坏。本测试主要通过常见的高斯噪声、椒盐噪声、二次编码攻击来检验水印的鲁棒性。
其中图11给出了mother-daughter序列在经过各种攻击后提取出来的鲁棒语义水印图像。其中:
图11(a)是嵌有鲁棒语义水印的I帧图像在没有经过任何攻击的情况下提取出来的水印图像,可以看出提取出来的水印信息准确无误。
图11(b)是嵌有鲁棒语义水印的I帧图像在经过方差为0.001的椒盐噪声的攻击下提取的水印图像;
图11(c)是嵌有鲁棒语义水印的I帧图像在经过方差为0.005的椒盐噪声的攻击下提取的水印图像;
图11(d)是嵌有鲁棒语义水印的I帧图像在经过方差为0.001的高斯噪声的攻击下提取的水印图像;
图11(e)是嵌有鲁棒语义水印的I帧图像在经过方差为0.002的高斯噪声的攻击下提取的水印图像;
图11(f)是对嵌有鲁棒语义水印的mother-daughter序列经过二次编码(QP=28)的攻击下提取的水印图像。
通过图11可知,在经过椒盐噪声、高斯噪声攻击和二次编码后,虽然对视觉效果都由不同程度的影响,但是影响不大;相对于椒盐噪声攻击,高斯噪声攻击对图像的影响更大;同时不论是椒盐噪声还是高斯噪声都随着方差的增大,对图像的破坏也越严重,但是都在人眼识别能够接受的范围内。
上面是通过主观因素来判断数字视频序列受到各种攻击后,对提取出来的语义水印的影响,同样也可以通过比较语义信息的水印图像在受到各种攻击后提取的语义水印与原始语义水印的归一化相关系数来进行一个客观、定量的分析。
表3列出了鲁棒语义水印图像的mother-daughter、Carphone和Akiyo序列在受到各种攻击后提取的鲁棒语义水印水印与原始鲁棒语义水印的归一化相关系数
表3
通过上表3可知,基于鲁棒语义水印在未受到攻击的情况下,可以在用户的解码端完整的提取出水印图像。需说明的是,数字视频在复杂网络环境中传播,不受到任何攻击是不太现实的。根据计算提取出来的鲁棒语义水印与原始鲁棒语义水印相似度可知,在含有鲁棒语义水印的I帧图像在经过高斯噪声和椒盐噪声攻击后,NC值比较大,仍然可以提取出较完整的水印信息。接下来利用JM软件在QP=28下对mother-daughter序列进行二次编码攻击,发现NC在0.85以上,说明本算法对二次编码攻击也具有很好的鲁棒性。
3、脆弱水印的认证性评估
为了检测脆弱水印对基于鲁棒语义水印的认证性能,本发明引入攻击测试Sim值,即提取出来的脆弱水印与基于语义鲁棒水印的特征值的相似性,Sim具体公式如8式
Sim=1代表嵌入脆弱水印信息与语义鲁棒水印的特征值完全吻合,说明鲁棒语义水印没有被破坏或者篡改。Sim值越大,说明嵌入鲁棒语义水印与语义鲁棒水印的特征值越相似,鲁棒语义水印越安全;反之说明鲁棒语义水印遭到攻击,用户利用语义信息的扩展应用将受到影响。表4为mother-daughter序列、Akiyo序列在QP=28下,不同的Sim值对应的鲁棒语义水印被篡改的准确率。
可以表4看出,在未受到攻击的情况时Sim值为1,说明嵌入的脆弱水印信息与基于语义鲁棒水印的特征值完全吻合,可以100%的保证鲁棒语义水印没有被破坏或者篡改。同时在Sim值在0.5左右时,它的准确率在79%左右,Sim值在0.3左右,准确率在87%左右,如果Sim值在0.1左右,这时准确率在97%左右,考虑到多媒体视频在复杂的网络中传输,必然要受到各种因素的干扰,所有97%的准确率,已经可以保证鲁棒语义水印的安全性、完整性。当然如果语义信息应用在对其准确性要求不是很高的情况下,87%的准确率也完全可以接受。所有可以把Sim值作为终端判断语义信息安全性、有效性的一个标准,不同的应用,可以调整Sim值的大小。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。