一种与压缩编码过程紧耦合的H.264视频信息隐藏方法与流程

文档序号:17825486发布日期:2019-06-05 22:37阅读:204来源:国知局
一种与压缩编码过程紧耦合的H.264视频信息隐藏方法与流程
本发明涉及一种视频信息隐藏(VideoInformationHiding)方法,具体涉及一种与H.264/AVC压缩编码过程紧耦合的信息隐藏设计框架,以及一种在此框架下的具体信息隐藏方法。该方法通过在完全编码过程中修改离散余弦变换(DiscreteCosineTransform,DCT)系数达到消息嵌入的目的,属于信息安全
技术领域
中的信息隐藏子领域。
背景技术
:当前以数字多媒体内容作为载体的信息隐藏技术主要分为两大类:隐写(Steganography)和水印(DigitalWatermarking)。隐写技术主要用于隐蔽通信,可以将秘密信息嵌入到数字媒介中而不损坏它的载体的质量,使得第三方对于隐蔽信道不可感知。因此密钥、数字签名、商业情报等私密信息都可以在开放的网络环境中安全的传送。水印技术主要用于版权保护,将标识信息嵌入数字媒介而不影响原载体的使用价值,也不容易被探知和再次修改,是实现防伪溯源、版权保护的有效办法。近年来,随着高性能网络技术与压缩编码技术的飞速发展,数字视频已经成为互联网上最具有影响力的信息媒介之一。在线存储,在线分享,在线点播,在线直播等应用获得用户井喷式增长的同时,也为视频信息隐藏技术的发展带来了新的契机。一方面,海量的视频资源与频发的视频传输给基于视频的隐蔽通信提供了很好的隐身环境,有助于发挥视频隐写容量大的优势;另一方面,数字视频容易被拷贝和篡改,需要更高性能的水印技术对著作权信息和完整性进行保护。视频信息隐藏总体上可分为空域(SpatialDomain)和压缩域(CompressedDomain)两大类方法,前者通过直接修改视频帧的原始像素值以嵌入秘密信息;后者则对压缩视频各编码系数进行修改,包括帧内预测模式(IntraPredictionMode),帧间预测模式(InterPredictionMode),DCT系数,运动向量(MotionVector),熵编码系数(EntropyCodingCoefficients)等等。由于空域隐藏方法不能抵抗压缩编码,导致隐蔽消息在压缩后不能保证完全被提取,故而现阶段具有实用价值的视频信息隐藏方法往往是基于压缩域进行设计的。这些方法根据选择的嵌入元素自然地分为若干大类,其中,基于DCT系数的方法最为普遍,也最为受到关注。首先,这是因为DCT系数几乎是压缩视频中占比最大的元素,为信息隐藏提供了充足的容量;其次,基于DCT系数的方法对视频压缩质量(包括重建视觉质量与压缩效率)影响不大;最后,现有很多先进的图像信息隐藏方法都是基于DCT系数设计的,这对视频信息隐藏方法的设计具有很好的借鉴意义。当前,基于H.264视频DCT系数的视频信息隐藏方法大多采用部分解码的方式获取DCT系数,对系数进行修改,然后直接将修改后的系数重新熵编码为压缩码流。这种设计思路的优点是实现简单,由于避免了压缩编码中开销最大的运动搜索过程,相关算法对硬件性能要求低,并且能够很好地满足实时性处理要求。但是这类方法的最大的问题在于“失真漂移”(DistortionDrift),这是由H.264的帧内预测技术的特点决定的。为了更好地去除空间域冗余,H.264编码标准在之前压缩编码的基础之上引入了帧内预测,这意味着每一个4×4帧内预测像素块的编码都是基于相邻已编码宏块进行的。因此如果随意地对解压的DCT系数进行修改,那么在解码时由于系数嵌入引入的误差会不断累积,从而严重影响后续重建块的视觉质量,甚至造成解码失败(参考文献:XiaojingMa,ZhitangLi,HaoTu,andBochaoZhang.Adatahidingalgorithmforh.264/avcvideostreamswithoutintra-framedistortiondrift.CircuitsandSystemsforVideoTechnology,IEEETransactionson,20(10):1320-1330,2010)。为了解决这个问题,基于部分解码的隐藏方法一般采用两种策略来避免或者是减轻“失真漂移”的现象。策略一是嵌入前对嵌入元素进行预判,只选择不会造成误差累积的系数进行嵌入(参考文献:YunxiaLiu,MingshengHu,XiaojingMa,andHongguoZhao.Anewrobustdatahidingmethodforh.264/avcwithoutintra-framedistortiondrift.Neurocomputing,151,Part3:1076-1085,2015)。策略二是根据嵌入后的失真情况生成补偿信号并进行叠加(参考文献:WeijingHuo,YueshengZhu,andHongyuanChen.Acontrollableerror-drifteliminationschemeforwatermarkingalgorithminh.264/avcstream.SignalProcessingLetters,IEEE,18(9):535-538,2011)。但是这两种策略本质上都是折中方案,都是以极大牺牲嵌入容量或者是嵌入安全性为代价来换取视觉质量的保持。前者的选择策略会排除相当大部分的可嵌入位置,从而导致嵌入容量急剧下降,后者则需要在嵌入过程中引入反馈机制,增加算法复杂性的同时,也不能避免补偿信号引入新的误差,甚至对压缩效率产生不可忽视的影响。经过专利查询,在本领域内已有的相关专利申请情况如下:(1)专利申请号为201510015101.0的中国专利“一种H.264/AVC压缩域视频水印嵌入及提取方法”公开了一种H.264/AVC压缩域视频水印嵌入及提取方法,该方法利用H.264/AVC编码器对原始视频进行压缩编码,对I帧视频的宏块亮度数据,按照H.264/AVC视频编码标准将每个宏块的16个4x4亮度块抽取出来,分别对每个4x4亮度块进行整数离散余弦变换;根据每个4x4亮度块整数离散余弦变换后的系数,将每个4x4亮度块分为纹理块和非纹理块;根据二进制水印信息,调制每个宏块的局部能量差;将嵌入二进制水印后的4x4亮度块熵编码,得到含水印视频流。由于该方法对每个宏块进行DCT变换后根据纹理对嵌入块进行了筛选,但是并不能保证对筛选后得到的系数进行修改不引入失真漂移,并且该方法没有考虑到用于隐写所需的安全性设置,故该方法和本发明的设计思路与具体实现方式明显不同。(2)专利申请号为201410828416.2的中国专利“无帧内误差漂移的H.264/AVC压缩域鲁棒视频水印嵌入及提取方法”公开了一种无帧内误差漂移的H.264/AVC压缩域鲁棒视频水印嵌入及提取方法,该方法通过解析出I帧中预测编码模式为Intra_4×4的宏块中非零残差系数的个数大于阈值的残差系数矩阵,再通过调制残差系数矩阵与相应水印模板之间的正负相关性,将水印嵌入在I帧中的预测编码模式为Intra_4×4的宏块中的4×4子块中。由于本发明从原理上不会产生帧内误差漂移现象,故该方法与本发明的基本目的、设计思路和具体实现方式明显不同。(3)专利申请号为201310110552.3的中国专利“一种视频数字水印的嵌入、提取方法和装置”公开了一种基于区域DCT系数的H264视频水印方法。该方法首先对视频I帧进行区域划分,通过计算每个区域的能量,选择合适的视频区域DCT系数进行水印嵌入。由于该方法属于部分解码方法,对每个宏块的DCT嵌入块进行了筛选,但是并不能保证对筛选后得到的系数进行修改不引入失真漂移,故该方法和本发明的设计思路与具体实现方式明显不同。(4)专利申请号为201210505031.3的中国专利“一种基于区域DCT系数的H264视频水印方法”提供了一种视频数字水印的嵌入、提取方法和装置。该方法在嵌入时将视频流划分宏块,并对每个宏块进行离散余弦变换,而后根据变换系数筛选出纹理块并对纹理块进行系数Z行排序得到纹理块的系数矩阵,最后根据二进制序列和纹理块的系数矩阵完成水印信息的嵌入。由于该方法对每个宏块进行DCT变换后根据纹理对嵌入块进行了筛选,但是并不能保证对筛选后得到的系数进行修改不引入失真漂移,故该方法和本发明的设计思路与具体实现方式明显不同。(5)专利申请号为201110184501.6的中国专利“一种面向H.264/AVC视频的信息隐藏方法”公开了一种面向H.264/AVC视频的信息隐藏方法,通过修改I帧的DCT系数实现水印信息的嵌入,而对于B帧和P帧则通过修改MVD数据实现隐密信息的嵌入。由于该方法在压缩过程当中需要对4×4块进行选择,并且应用NNZ映射进行嵌入,另外在B和P帧中没有通过修改DCT系数实现隐蔽信息的嵌入,故该方法和本发明的设计思路与具体实现方式明显不同。技术实现要素:本发明的目的在于,通过研究H.264帧内预测/帧间预测编码的处理机制,提出与压缩编码过程紧耦合的信息隐藏方案设计框架,能够根据不同的配置设计出满足高隐蔽性或高嵌入容量的信息隐藏方法。本发明相比其他基于量化DCT系数的H.264视频隐写方法,该方法基于完全压缩编码设计(图1),能够完全避免失真漂移现象的产生。同时引入了独立编码单元的概念,可以支持用户根据不同需要对设计框架进行不同配置,以满足对安全性或对嵌入容量的需求偏好。可见,本发明提出的方法有别于以往的任意H.264视频隐写方法,特别适用于对实时性要求不高而对算法性能(安全性或嵌入容量)要求较高的隐蔽通信场景。具体来说,本发明采用的技术方案如下:一种与压缩编码过程紧耦合的H.264视频信息隐藏方法,包括以下步骤(图2):1)预处理:输入待嵌入视频,如果待嵌入视频是采集的未经压缩的原始视频,则直接进行编码;如果待嵌入视频是压缩视频,则先调用H.264解码器将视频完全解压,再将解压后的视频视为原始视频输入系统进行编码。由于消息嵌入通过修改量化DCT系数完成,在得到量化DCT系数之前的操作与标准H.264编码器无异;2)确定独立编码单元:在I帧中,由于H.264在帧内编码中采用了基于4×4或16×16块的帧内预测,当前编码的DCT系数块会用作后续块的编码参考,所以嵌入只能以单个4×4或16×16系数块为基本编码单元进行修改,这样修改完成的DCT块的重建块作为后续编码块的参考块;在P帧或B帧中,由于采用的是帧间预测,即当前帧中的DCT块的修改一般不会影响后续编码块,所以帧间预测帧中的所有DCT系数可以视为一个基本编码单元进行修改。3)模式选择:如果用户希望设计隐写算法用于隐蔽通信,则需要牺牲一定的嵌入容量来采用高安全性的基于隐写编码的嵌入方案,进入4)继续执行;如果用户希望充分利用所有容量,则可以跳过4)直接进入5);4)信息隐藏编码:将步骤2)中所得单个独立编码单元中的所有非零DCT系数作为隐蔽信道的载体,根据所优选隐写码的工作原理,按照通信双方事先约定好的参数生成奇偶校验矩阵H,计算出满足Hx'=m的x',其中m表示该隐蔽信道中待嵌入的秘密消息比特,x'表示经过修改的载体向量的最低比特位向量,然后令m=x';5)根据m对当前独立编码单元中的所有非零DCT系数应用最低比特位替换修改,使得修改后的系数最低比特位向量等于m,其中m表示隐蔽信道中待嵌入的秘密消息比特,同时保持非零;6)根据以上所得结果继续编码当前独立编码单元,如果是I帧,继续编码当前4×4或16×16宏块直至输出对应熵编码码流,如果是P帧或B帧,根据修改结果对整个帧应用重编码,输出相应熵编码码流;7)按照视频文件的编码顺序,对余下待编码块或待编码帧重复执行步骤2)至6)直到秘密信息全部嵌入完毕,得到最终的隐写视频文件。进一步地,上述方法还包括秘密信息的提取过程,包括以下步骤(图3):1)解码当前编码块/编码帧,每获取一个独立编码单元中的所有非零DCT系数,就读取相应的最低比特位记为向量x;2)若对应的是基于隐写编码的安全性嵌入算法,则根据所优选隐写码的工作原理,按照通信双方事先约定好的参数生成奇偶校验矩阵H,计算m=Hx;若对应的是大容量嵌入算法,则直接取m=x;3)按照视频文件的解码顺序,对余下待解码块/帧重复执行步骤1)至2)直到秘密信息全部提取完毕。在上述方案基础上,本发明进一步做了改进,即允许用户在嵌入过程(图2)中的消息嵌入过程中可以选择不同的隐写编码方法来完成消息嵌入。当前主流的隐写方案几乎都采用了图4所示的代价最小化嵌入模型来进行消息嵌入,该模型中最关键的部分就是代价的设计,基于选定的代价函数计算每个嵌入位置的代价,然后借助STC码(SyndromeTrellisCode)进行秘密信息的嵌入。关于STC的简述如下:设x=(x1,x2,…,xn)T为原始二进制载体向量;x'=(x'1,x'2,…,x'n)T为经过修改的载体向量的最低比特位向量;为正实数向量且表示将x中的元素xi修改成1-xi的代价值;H为奇偶校验矩阵;m为隐蔽信道中待嵌入的秘密消息比特。则STC能够构造出满足Hx'=m的x',并且使得隐写嵌入代价最小,其中,函数δ满足除STC隐写码之外,用户还可以根据不同的需求采用其他类型的隐写编码方法,包括汉明编码(HammingCodes),湿纸编码(WetPaperCodes)等等。本发明的视频信息隐藏方法对相关
技术领域
的有益效果如下:1)与H.264编码紧耦合,不会造成失真漂移现象,能够最大程度上将量化DCT系数的数量优势转化为隐蔽通道的容量优势。另外对隐藏后载体的压缩质量影响很小,使得处理后视频在具有良好的重建视觉质量的同时也能够很好地保持压缩效率。2)切换方便,可以很好地满足用户对于安全性或对于通信容量的不同偏好。对安全性要求高的用户可以选择基于隐写编码的消息嵌入方法以牺牲一部分嵌入容量的代价提高隐写后载体的统计不可检测性;而对通信能力要求高的用户则可以通过简单的顺序嵌入策略充分发挥量化DCT系数的容量优势。3)基于隐写编码的嵌入策略配置丰富,安全性高。针对不同类型的编码帧定义了独立编码单元,在单个独立编码单元中可以应用不同的隐写编码技术来提高嵌入效率或是达到嵌入代价最小化。4)可定制的DCT量化系数扰动代价计算模型。特别地,如果采用主流的STC隐写编码,可以针对量化DCT系数设计不同的代价计算函数来满足不同情况下的安全性要求。本发明是通过修改量化DCT系数以进行秘密信息的隐写嵌入,因此需要对单个系数的扰动代价进行有效评价。不同的评价机制可能导致不同的隐写嵌入效果并对隐写算法的安全性产生影响。针对不同的应用场景,本发明可以定制不同的量化DCT系数扰动代价计算模型,因此拥有较高的灵活性。附图说明图1是本发明的紧耦合消息嵌入示意图;图2是本发明的秘密信息嵌入流程图;图3是本发明的秘密信息提取流程图;图4是本发明的安全嵌入采用的基于隐写编码的代价最小化嵌入示意图;图5是无消息嵌入的正常压缩测试视频示意截图;图6是使用本发明进行大容量信息隐藏后的测试视频示意截图。具体实施方式本发明提出的数字视频信息隐藏方法适用于各种符合H.264或具有类似特征(包含帧内预测、帧间预测)编码标准数字内容,其核心思想是基于完全编码,通过与压缩编码紧耦合的方式实现高安全性或高容量的无失真漂移现象的信息隐藏。图1是本发明的紧耦合消息嵌入示意图,其中B表示当前待编码像素块,Bref表示B的参考像素块,P表示预测结果块,R表示预测误差系数块,表示量化DCT系数块,表示消息嵌入后的系数块,表示量化后的重建预测误差系数块。如图1所示,消息嵌入发生在预测补偿环路之中,从而使得作为后续预测参考的当前重建块根据修改结果及时进行了更新,避免了误差的向后传递。以下通过一般例子,描述一个完整的信息隐藏过程。1)获取当前待编码帧F,首先判断是否为I帧,如是,转2)继续执行,否则,转3);2)帧内预测帧嵌入:a)将F顺序划分为16×16或4×4的宏块或子宏块,记为F={B1,...BN};b)对于每个Bi(i=1...N),对其进行帧内预测编码,将预测编码得到的残差系数块进行DCT变换得到DCT系数块,随后进行量化操作得到量化DCT系数块Ci(这里仅用亮度系数);c)取Ci中非零系数,按zig-zag顺序组成系数向量xi=(xi1,...,xik);d)如需大容量嵌入,则按顺序将xi的最低比特位用待嵌入的消息比特位替代(保持修改后非零)得到xi',转f)操作;否则,转e);e)根据预先设计的代价函数(本例中将DCT系数的量化误差作为代价)计算xi=(xi1,...,xik)对应的代价向量di=(di1,...,dik),将xi、di与需要嵌入的消息比特向量mi输入STC编码器,得到满足嵌入要求的xi'=(x'i1,...,x'ik);f)根据xi',将Ci改成C’i;g)对C’i应用熵编码等后续操作,输出对应码流。3)帧间预测帧嵌入:a)将F顺序划分为不同形状的宏块或子宏块,记为F={B1,...BN};b)对于每个Bi(i=1...N),对其进行帧间预测编码,将预测编码得到的残差系数块进行DCT变换得到DCT系数块,随后进行量化操作得到量化DCT系数块Ci(这里仅用亮度系数);c)取Ci中非零系数,按zig-zag顺序组成系数向量xi=(xi1,...,xik);d)如需大容量嵌入,则按顺序将xi的最低比特位用待嵌入的消息比特位替代(保持修改后非零)得到xi',根据xi',将Ci改成C’i,对C’i应用熵编码等后续操作,输出该编码系数块对应码流;否则,正常编码所有本帧系数块后转e);e)根据预先设计的代价函数(本例中将DCT系数的量化误差作为代价)计算所有非零系数向量排列成的x=(x1,...,xN)对应的代价向量d=(d1,...,dN),将x、d与需要嵌入的消息比特向量m输入STC编码器,得到满足嵌入要求的x'=(x'1,...,x'N),并且根据x',将(C1,...CN)改成(C'1,...C'N),随后应用熵编码等后续操作,输出该帧对应码流。4)重复以上步骤直至所有待嵌入消息嵌入完成。为验证本发明涉及到的大容量信息隐藏方法的效果,挑选6个视频进行验证性试验,6个视频具体参数如表1所列,内容截图见图5。实验采用集成了本发明信息隐藏方法的标准H.264编码器,QP设置为28,GOP设置为12。嵌入后相关结果记录于表2,图6是进行大容量信息隐藏后的测试视频示意截图。结合图5和图6可以看出,在大容量嵌入后,相比较无嵌入压缩视频,含密载体视频的压缩效率改变一般小于5%,重建质量改变一般小于0.5dB,这说明本发明在充分利用嵌入容量的同时很好地保持了压缩效率与重建质量。表1测试视频列表视频ID名称格式编码标准分辨率长度大小MB1WalkYUVN/ACIF15s54.52SpeedbagYUVN/A480P22s2813StockholmAVIMPEG-4480P24s6.644CrowdrunAVIH.264720P20s315AspenMKVMPEG-4480P22s9.336ControlFireFLVH.264720P22s10.5表2测试结果以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求所述为准。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1