本发明属于视频信息隐藏技术领域,涉及一种修改预测模式的视频隐藏方法;还涉及上述视频的提取方法。
背景技术:
人们的生活已经随着信息技术的不断发展变得愈来愈便捷,网络在社会传递信息中已变得不可或缺,已成为人类传递信息的主要媒介。伴随着网络的快速发展以及信息传递量的快速增加,信息的安全性也逐渐成为人们关注的热点。信息安全中的加密技术可以很好的保证传输过程中秘密信息的安全性,但是由于加密后会将本应显示正常的秘密信息变成一堆杂乱无章的乱码,所以较易引起攻击者的怀疑以及注意,信息隐藏技术的出现很好的解决了这个问题。不同于加密算法,隐写技术是将要隐藏的秘密信息通过公开的信道、公开的载体进行传输,即便被截获也很难被攻击者发掘其中的秘密信息。至今,信息隐藏技术已经广泛应用于军事通信、电子商务以及公安情报等领域。
经过数十年的发展,基于数字图像的信息隐藏技术已经取得了很大的进步,但是,由于数字图像本身的大小有限,能隐藏到里面的秘密信息数量也就受到了限制,基于这个原因,研究以视频为载体的信息隐藏算法变得尤为必要。不同于数字图像,视频具有较大的容量并且具有较多的冗余,给秘密信息的隐藏带来了极大的可能。
作为较新的视频编码标准,h.264/avc具有高压缩效率和传输可靠性;此外,它还是网络上应用最广泛的压缩标准。许多视频网站的第一压缩方式就是采用h.264/avc。所以,研究以h.264/avc为编码标准的信息隐藏算法是非常有价值的。
视频隐写算法,即利用视频的特点进行隐写。帧内预测是h.264/avc较以往压缩算法的最根本的不同之处,随着对压缩编码研究的逐渐深入,基于帧内预测修改的视频隐写算法已经取得了一定的发展。现有技术使用的有效的视频信息隐藏算法,包括由密钥确定嵌入位置模板,根据密文信息与帧内预测之间的嵌入规则达到隐蔽通信的目的,但测试序列之间的差异较大,所以算法不具有普适性。
在此基础上通过结合矩阵编码技术,保证修改预测模式时具有较高的嵌入效率。还有另一种基于h.264/avc预测模式修改的视频信息隐藏算法,该算法通过判断参考像素的亮度值来选择嵌入区域,然后对预测模式进行调制以实现秘密信息的嵌入,实验结果表明,信息可以进行盲提取,并且算法能很好地保持视频的感知质量的同时对视频流的比特率影响较小,但选择嵌入区域的方法准确性较低。
此外基于hevc新技术,还有一种常用的方法,包括嵌入隐藏信息的亮度块的预测模式在调制帧。利用秘密信息本身作为密钥来选择嵌入位置,破坏了嵌入顺序。但算法的修改率很高。
本文提出一种有效地、高安全性的视频信息隐藏算法,可用于隐蔽通信。本文的创新如下:一,我们将秘密信息与logistic映射产生的随机数进行结合,提高算法的随机效果,保证了秘密信息的安全。二,本文的嵌入区域是经过lbp算法选择的纹理块的预测模式,保证了算法对视频序列的影响达到最小化。三,通过改变每组预测模式来隐藏秘密信息。
技术实现要素:
本发明的目的在于提供一种修改预测模式的视频隐藏方法;通过提高算法的随机效果提高了信息的安全性,同时减少了嵌入块的修改量,提高了信息隐藏的效率。
本发明还提供了一种视频提取方法,用于对上述经过修改预测模式的视频隐藏方法的视频进行内容提取。
本发明的技术方案是:一种修改预测模式的视频隐藏方法,包括以下步骤:
步骤1,遍历视频文件的i帧,并选择嵌入区域;
步骤2,将欲隐藏的信息经过logistics映射预处理,然后转变为二进制序列,再进行加密处理,操作如下:
步骤3,遍历视频文件的所有i帧,记录步骤1选定的嵌入区域的所有4×4分块的帧内预测模式;
步骤4,将选定的4×4分块分为若干组,其中每组有三个分块,并且确定每个分块组内所有块的帧内预测模式的的奇偶性,同时结合步骤2中的fi对每组内分块的预测模式进行隐写;
步骤5,重复步骤1-4,直至秘密信息嵌入完毕。
更进一步的,本发明的特点还在于:
其中步骤4中确定每个分块组内的奇偶性关系的具体过程是:每组为3个分块,记录为c1,c2,c3,同时f1(x1),f1(x2),f1(x3)分别为c1,c2,c3的当前的预测模式,t1和t2分别表示前后相邻两块的奇偶性映射关系,若有f1(x1)与f1(x2)奇偶性相同,则t1=0,否则,t1=1;若f1(x2)与f1(x3)奇偶性相同,则t2=0,否则,t2=1。
其中步骤4中对每组分块的预测模式进行隐写的具体方法是:将预处理后的秘密信息fi进行分组,其中每组分别有两bit信息,分别为s1和s2,在每组待嵌入分块组内修改相应的分块的预测模式使
其中t1、t2、s1、s2与分块预测模式的映射规则为:t1=s1&t2=s2,不修改;t1≠s1&t2=s2,修改c1的预测模式,且奇偶性与f1(x1)相异;t1=s1&t2≠s2,修改c3的预测模式,且奇偶性与f1(x2)相异;t1≠s1&t2≠s2,修改c2的预测模式。
其中步骤4中每组分块的预测模式进行修改的具体方法为:
本发明还提供了一种视频提取方法,该方法提取的视频文件为进行上述的修改预测模式的视频隐藏方法的隐藏视频文件,包括以下步骤:
步骤1,恢复视频序列,遍历视频序列所有i帧,并记录其所有4×4分块的预测模式;
步骤2,将所有4×4分块进行分组,其中每三个为1组,分别定义为c1',c2',c3',其预测模式分别为f1'(x1),f1'(x2),f1'(x3);
步骤3,根据每组分块的预测模式获取该组的秘密信息,并且提取秘密信息;
步骤4,重复步骤3,直至获得所有秘密信息;
步骤5,根据相同于隐写步骤2中的初值产生logistics随机序列,并将其转变为二进制序列,将步骤4获取的秘密信息与此二进制序列进行异或处理,具体为
更进一步的,本发明的特点还在于:
其中步骤3中根据每组分块的预测模式获取该组的秘密信息的具体过程是:f1'(x1)mod2=f1'(x2)mod2&&f1'(x2)mod2=f1'(x3)mod2,秘密信息为00;f1'(x1)mod2=f1'(x2)mod2&&f1'(x2)mod2≠f1'(x3)mod2,秘密信息为01;f1'(x1)mod2≠f1'(x2)mod2&&f1'(x2)mod2=f1'(x3)mod2,秘密信息为10;f1'(x1)mod2≠f1'(x2)mod2&&f1'(x2)mod2≠f1'(x3)mod2,秘密信息为11。
本发明的有益效果是:该方法为基于修改预测模式的h.264/avc视频隐写方法,通过改进的局部二值模式的方法来判断块的纹理特性,即是否可以进行嵌入,然后再判断选择后嵌入块的预测模式,并将嵌入块每三个分为一组,然后将与logistics映射产生的混沌序列处理后的秘密信息进行信息嵌入,其中,每组嵌入2bit秘密信息,若秘密信息为10,则每组待嵌入块中需要保证前两块的帧内预测模式的奇偶性不同,后两块的奇偶性相同,其他规则类似;其中修改块的帧内预测模式时通过拉格朗日率失真优化算法改变预测模式。嵌入前后,测试视频序列psnr值下降了约0.970db,即具有较好的视觉不可见性,此外,还具有较低的修改率以及较高的嵌入效率,并且隐写后比特率增加量较小。综上,算法能较好的完成隐蔽通信的效果。
附图说明
图1为本发明的方法对qcif视频文件进行信息隐藏的前的效果图;
图2为本发明的方法对qcif视频文件进行信息隐藏的后的效果图;
图3为本发明的方法对cif视频文件进行信息隐藏的前的效果图;
图4为本发明的方法对cif视频文件进行信息隐藏的后的效果图。
具体实施方式
下面结合附图对本发明做进一步详细描述:
本发明提供了一种修改预测模式的视频隐藏方法,其具体实施方式为:
选择h.264/avc编码标准视频文件,其亮度块分量大小分别有:16×16、16×8、8×16、8×8、8×4、4×8和4×4;纹理块一般用小大尺寸的分块来进行编码,而平滑区,即非纹理块一般用大尺寸的块进行编码。一般来说,人眼对纹理块的敏感度较差,而对平滑区的改变较敏感,为了保证隐写最基本的条件,即秘密信息不可见性,我们选取纹理复杂度高的帧内4×4的亮度块嵌入隐秘信息。
使用局部二值模式(lbp算法)选择合理的嵌入区域来嵌入秘密信息。lbp算法的主要思想就是比较像素值的大小,比较点为中心值像素以及相邻像素,得到二进制码来反映局部纹理特征。算法定义在3×3窗口中,将中心点的像素值与相邻8个像素值进行比较,将小于中心值像素的点标记为0,反之则标记为1。比较完毕后,以左上角值为起点,顺时针组成的8位二进制数的值即为lbp值,如
然后再进行秘密信息的处理,对秘密信息进行预处理,得到秘密信息流m,选择流密码加密方法对秘密信息进行预处理,此方法既可以达到提高安全性的目的,又能保证实时性的要求。具体为:
通过logistics映射产生了大量的数字,通过公式
为了保证密文随机的效果,选择500位以后的序列进行操作;将欲隐藏的秘密信息转化为二进制序列,进行如下操作:
遍历视频文件的第一帧,记录第一帧上所有4×4分块内预测模式;然后将每三个4×4分块分为一个分块组,并将其分块分别记录为c1,c2,c3,同时f1(x1),f1(x2),f1(x3)分别为c1,c2,c3的当前的预测模式;使用t1和t2表示三个分块的奇偶性映射关系,则有f1(x1)与f1(x2)奇偶性相同,则t1=0,否则,t1=1;若f1(x2)与f1(x3)奇偶性相同,则t2=0,否则,t2=1。
将两位一组的秘密信息分配给每一个分块组,秘密信息的两位分别为s1和s2,满足相应的映射关系
修改每组分块的预测模式的方法为
重复上述步骤对视频序列的其他帧进行同样的操作,最后完成视频文件的信息隐藏,即得到信息隐藏的视频文件。
本发明还提供了一种视频提取方法,该视频提取方法针对的视频文件为经过上述隐藏方法隐藏的视频文件,该视频提取方法的具体实施例为:
首先,恢复视频序列,遍历视频序列的第一帧,记录所有4×4分块的预测模式;将每三个分块c1',c2',c3'设为一组,记为c1',c2',c3',其各自的预测模式分别为f1'(x1),f1'(x2),f1'(x3);按照以下规则提取秘密信息,
遍历视频序列的所有帧,重复上述步骤将秘密信息fi全部提取。
根据该帧的logistics序列的初值产生的随机序列,并将其转变为二进制序列,将步骤4获取的秘密信息与二进制序列进行异或处理,具体为
本发明的方法的实验结果和分析如下:
实验平台为h.264参考软件模型x.264,编程环境为microsoftvisualc++2008及matlab2012。实验计算机为corei5处理器,主频为2.40ghz,内存为3.0gbram。实验所用视频是从网址为“media.xiph.org”的网站上下载的标准测试序列,序列格式包括qcif(176×144)的grandma、salesman以及soccer,以及cif(352×288)的stefan、paris以及mobile。视频序列每隔15帧编码一个i帧。
如图所示,图2、图4为利用本发明的方法隐写后的视频序列帧亮度分量,图1、图3为原始视频帧亮度分量。主观上,能够看出本发明的算法具有较好的视觉不可见性;客观上采用峰值信噪比(peaksignalnoiseratio,psnr)作为评判图像质量好坏的标准,psnr计算式如下:
上表为嵌入秘密信息前后测试序列grandma、salesman、soccer、stefan、paris以及mobile的亮度分量psnr值的对比。结果表明,进行秘密信息嵌入后的视频序列的psnr值较原始测试序列亮度分量的psnr值平均下降约0.970db,即用本文算法进行隐写对视频序列影响较小。
上表为嵌入秘密信息前后比特率变化情况,从表中看出使用本发明的方法比特率变化较小。
对载体的修改率表示隐写后嵌入其中秘密信息与修改载体位数之间的比值,定义如下式所示:α=β/γ,其中,α代表修改率,β代表修改的块的个数,γ代表嵌入的比特数。
本发明中隐藏2bits秘密信息仅需修改一个帧内预测模式,所以β=1,且γ=2,即修改率最高仅为1/2,嵌入效率最低为2。但在实际应用中,当待嵌入的信息与待嵌入载体的匹配度较高时,修改率还会有所降低。
当嵌入容量相同时,本发明的方法仅需修改一半秘密信息个数的帧内预测块,所以本文算法具有较低的修改率,同时可以说明具有较高的嵌入效率。