CN101951520B - 自适应h.264压缩域视频水印嵌入与提取方法 - Google Patents
自适应h.264压缩域视频水印嵌入与提取方法 Download PDFInfo
- Publication number
- CN101951520B CN101951520B CN 201010513781 CN201010513781A CN101951520B CN 101951520 B CN101951520 B CN 101951520B CN 201010513781 CN201010513781 CN 201010513781 CN 201010513781 A CN201010513781 A CN 201010513781A CN 101951520 B CN101951520 B CN 101951520B
- Authority
- CN
- China
- Prior art keywords
- watermark
- motion vector
- sequence
- macro block
- threshold value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种信息安全技术领域的自适应H.264压缩域视频水印嵌入与提取方法,可实现视频信息隐藏的实时性操作;运动矢量的阈值选取根据邻近帧的水印嵌入量统计数据进行自适应地调整,使得水印容量得以保证,从而实现少量帧间隔内嵌入一次水印的需求;修改运动矢量导致的误差扩散通过部分帧间预测的方式进行精确定位,可以得到较好效果的漂移失真补偿。
Description
技术领域
本发明涉及的是一种信息安全技术领域的方法,具体是一种基于运动矢量的自适应H.264压缩域视频水印嵌入与提取方法。
背景技术
随着互联网技术的普及,网络成为继报纸、电视之后人们的主要信息来源之一。而网络视频因其信息量大,内容实时性高等特点而广受青睐。然而由于上传视频的数量庞大,网站对于上传视频内容往往缺乏全面而有效的审核手段,视频网站上对视频进行非法授权拷贝并再次发布的情况屡见不鲜,网络视频内容监管等问题日益凸显。针对这一需求,利用视频水印技术可以达到版权保护,视频来源鉴定等目的。
FLV(Flash Video的简称)由于其封装形成的文件极小、加载速度极快等特点使得网络观看视频成为可能。目前几乎所有大型网络视频均采用FLV格式进行封装。而H.264/AVC是最新一代的视频压缩编码标准,与其前一代H.263编码标准相比,无论在压缩率还是在视频清晰度等各方面都有大幅度改进,因此主流视频网站基本选择H.264/AVC进行压缩编码。本方案针对的就是主流视频网站所使用的,由H.264/AVC进行压缩编码,由FLV进行封装的网络视频。目前,针对这一格式的视频水印算法鲜有报道,成熟系统尚未见到。因此,本专利研究内容具有唯一性和先进性。
经过对现有技术的检索发现,中国专利文献号CN101583033,公开日2009.11.18,记载了一种“利用鲁棒水印保护H.264视频数据的方法”,该技术使用了运动矢量作为载体进行水印的嵌入,但其采用重新完全运动估计产生运动矢量的方法,时间复杂度极高,不符合网络视频大数据量的处理要求;论文“基于H.264/AVC的视频流媒体水印技术研究”(李俊杰.基于H.264/AVC的视频流媒体水印技术研究[D].湖南大学,2009)中提到针对H.264/AVC的运动矢量水印嵌入方法,但其采用固定的阈值进行运动矢量的选取,鲁棒性不高,嵌入容量较少。上述两类研究均存在一定的不足,而本专利的研究针对上面的不足提出改进的方法,其性能表现:实时性好,计算复杂度低,鲁棒性好,容量较大等优点,满足大规模网络视频版权跟踪和保护等应用。
考虑到如今网络视频内容种类丰富,播放时间短等特点(即使是长视频也经常被分段进行播放),对网络视频嵌入水印需要一定的水印容量,使得在一定数量的帧之间至少嵌入水印一次。如若选择固定的阈值,则对视频的适应性较差。例如,对于固定背景的新闻播报视频,运动矢量幅值普遍较小,如果预先设定的阈值较大则有可能出现无法达到水印容量的需求。如果预先设定较小的阈值,那么遇到运动较为激烈的视频则有可能出现在一帧内嵌入水印过多而导致图像失真的情况。
对于修改运动矢量残差造成的漂移失真需要进行补偿,普通的补偿效果较差,重新执行运动估计过程虽然可以避免误差扩散但计算复杂度高,效率极低。
因此,上述现有技术都能在一定限度上实现水印的嵌入,但在水印容量、实现效率以及计算复杂度等方面都有所欠缺。
发明内容
本发明针对现有技术存在的上述不足,提供一种自适应H.264压缩域视频水印嵌入与提取方法,可实现视频信息隐藏的实时性操作;运动矢量的阈值选取根据邻近帧的水印嵌入量统计数据进行自适应地调整,使得水印容量得以保证,从而实现少量帧间隔内嵌入一次水印的需求;修改运动矢量导致的误差扩散通过部分帧间预测的方式进行精确定位,可以得到较好效果的漂移失真补偿。
本发明是通过以下技术方案实现的:
本发明涉及一种基于运动矢量的自适应网络视频水印嵌入方法,包括以下步骤:
第一步:将待隐藏水印信息进行扩展编码,增加同步标志,具体为:
1.1)首先将隐藏信息m转换为二进制比特序列B;
1.2)对二进制比特序列B进行置乱得到置乱比特序列B’;
1.3)对置乱比特序列B’进行编码,得到最终待嵌入水印序列W;
所述的置乱具体是指:将N个比特位的一维水印序列A[0,1,2,......,N-1]转换为序列B,其中:B(i)=A((i×P)mod N),i=0,1,2,......,N-1,P为与N互素的最小正整数,序列B为置乱序列,其长度为N。
所述的编码具体是指:对置乱后的水印序列进行检测,每次检测“11111”序列则将其修改为“111110”,最后将处理过的水印序列反复串连,水印与水印之间使用固定的8比特二进制串“01111110”进行分隔。
第二步:对视频进行部分解码,获得运动矢量,根据阈值判断运动矢量并嵌入水印,具体为:
2.1)解码FLV封装格式,获得H.264中NAL层数据;
2.2)熵解码获得P片中尺寸为16×16的P宏块运动矢量;
2.3)选取运动矢量幅值大于当前阈值的宏块,修改其运动矢量残差的奇偶性进行水印嵌入;
所述的阈值是指:满足条件的运动矢量幅值下限,运动矢量幅值大于该下限的宏块,且满足当前帧水印嵌入量未达到单帧嵌入量上限,将被选择进行水印的嵌入。
所述的熵解码是指:采用CAVLC(基于上下文自适应的可变长编码)或是CABAC(基于上下文的自适应二进制算术熵编码)。
所述的水印的嵌入是指:计算运动矢量垂直与水平分量平方和的开方值,当该值大于当前阈值且当前帧水印嵌入量未达到单帧嵌入量上限,则选择该宏块的运动矢量两个分量中绝对值较大者进行水印嵌入,当需要嵌入的比特为0,则修改该分量方向的运动矢量残差使其为偶数;当需要嵌入的比特为1,则为奇数;
2.4)记录被修改宏块的位置信息与改变值;
第三步:对未符合阈值条件的宏块进行帧间预测中的运动补偿,由其空间域预测所参考的宏块决定是否进行漂移补偿。
所述的帧间预测中的运动补偿包括:运动估计和运动补偿,其中:运动估计是搜索每个宏块在邻近帧中的位置,并得出两者之间的空间位置相对偏移量,即运动矢量的过程;运动补偿指根据邻近先前已编码的宏块进行空间域/时间域预测,预测得到的运动矢量预测值与运动估计得到的矢量之差称作运动矢量残差,作为帧间预测结果进行后续编码。
所述的空间域预测是指:P宏块在运动补偿过程中使用空间域预测来产生运动矢量预测值。
所述的漂移补偿是指:减少因水印嵌入而造成误差扩散(漂移失真)的方法。
第四步:当一帧嵌入完毕后,统计之前已编码的N帧中水印总量,与当前阈值等级中水印嵌入量的上下限进行比较,大于上限则选择较小阈值的等级,小于上限则选择较大阈值的等级,否则阈值等级不变,该等级阈值作为下一帧水印嵌入宏块选取的运动矢量临界下限。
本发明涉及上述自适应网络视频的水印提取方法,包括以下步骤:
步骤一:解码FLV封装格式,获得H.264中NAL层数据。
步骤二:熵解码获得P片中尺寸为16×16的P宏块运动矢量。
步骤三:选取运动矢量幅值大于当前阈值的宏块,根据其运动矢量残差的奇偶性进行水印提取。
其中阈值是指满足条件的运动矢量幅值下限,运动矢量幅值大于该下限的宏块,且满足当前帧水印嵌入量未达到单帧嵌入量上限,将被选择进行水印的提取。
所述的提取水印是指:计算运动矢量垂直与水平分量平方和的开方值,当该值大于当前阈值且当前帧提取的水印数量未达到单帧嵌入量上限,则选择该宏块的运动矢量两个分量中绝对值较大者进行水印提取,当选取的运动矢量残差为偶数则水印比特为0;否则为1。
步骤四:当一帧提取完毕后,统计之前已编码的N帧中水印总量,与当前阈值等级中水印嵌入量的上下限进行比较,大于上限则选择较小阈值的等级,小于上限则选择较大阈值的等级,否则阈值等级不变,该等级阈值作为下一帧水印提取宏块选取的运动矢量临界下限。
步骤五:对提取出的水印进行解码反置乱,具体步骤如下:将长度为N个比特位的一维置乱水印序列A[0,1,2,......,N-1]变换为序列B,其中:B((i×P)mod N)=A(i),i=0,1,2,......,N-1,P为与N互素的最小正整数,序列B的长度为N,然后进行以下译码:当识别出“111110”序列则将序列修改为“0”;当识别“111111”序列则表明一段水印提取结束,跳过下一比特继续解码。
本发明根据自适应阈值选取合适的运动矢量进行水印嵌入。自适应阈值的机制可以保证水印容量足够大,从而达到可以从任意视频位置提取完整水印的目的;对未嵌入水印的宏块进行基于部分帧间预测的漂移补偿可以很大程度上防止误码的扩散,从而将水印嵌入所引起的视频失真程度降至最低。对水印进行预处理并利用特殊标示作为同步位可以用于防止帧置乱。帧丢失、帧替换等攻击,增强水印对于帧间攻击的鲁棒性;使用部分解码与部分帧间预测可提高使水印嵌入和提取的效率,以保证对网络视频操作的实时性。
附图说明
图1是本发明嵌入步骤流程图。
图2是本发明提取步骤流程图。
具体实施方式
下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
实施例1
第一步:将待隐藏水印信息进行扩展编码,增加同步标志,具体为:
a)首先将隐藏信息m转换为二进制比特序列B;
b)对二进制比特序列B进行置乱得到置乱比特序列B’;
c)对置乱比特序列B’进行编码,避免其中出现与同步标志相同的比特流;
置乱方法具体如下所示:
现有N比特一维水印序列A[0,1,2,......,N-1],选取与N互素的最小正整数P,长度为N的序列B用于临时存放结果。
执行如下变换:
a)B(i)=A((i×P)mod N),i=0,1,2,......,N-1
b)A=B
重复多次执行上述变换,即可实现对一维序列进行置乱。
本方案借鉴了HDLC规程中的帧间隔符的方法。将相同的置乱后的水印序列串连,水印与水印之间使用固定的8比特二进制串“01111110”进行分隔。但无法避免水印序列本身出现与分隔符“01111110”相同码流的情况,如果不进行处理则会在提取水印过程无法寻找到正确的分隔符。为了防止水印序列中出现与分隔符相同的码字,对置乱后的水印序列进行进一步编码,一旦遇到连续的5个”1”,则自动在其后附上1个”0”,然后继续检测后续的比特流。
第二步:对视频进行部分解码,获得运动矢量,根据水印比特序列与当前阈值等级信息选取合适的运动矢量,改变运动矢量奇偶性嵌入水印,具体为:
a)解码FLV封装格式,获得H.264中NAL层数据;
熵解码获得P片中尺寸为16×16的P宏块运动矢量;
FLV封装的网络视频中由于其自身画面尺寸较小,并没有充分使用到H.264/AVC中帧间预测中的树状结构运动补偿,经实际测试统计知P片的绝大部分是由16×16P宏块构成。若是选择分割尺寸更小的宏块,如8×8甚至4×8或8×4,会降低水印对视频质量的影响,但由于其数量上的缺乏将导致水印嵌入的容量无法得到保证。而对视频质量的影响可以通过后续的误差补偿进行修正,因此这里选取P片中尺寸为16×16的P宏块进行水印的嵌入。
选取运动矢量幅值大于当前阈值的宏块,修改其运动矢量残差的奇偶性进行水印嵌入,具体为:
ii.如果计算得出的运动矢量幅值大于阈值,且当前帧水印嵌入量未达到单帧嵌入量上限,则选择该宏块进行水印嵌入;
iii.修改运动矢量中绝对值较大的分量;
iv.水印的嵌入利用运动矢量残差的奇偶性,如果需要嵌入的比特bit为0,则修改选取的运动矢量残差MVD使其为偶数;如果需要嵌入的比特bit为1,则修改运动矢量残差MVD使其为奇数;
v.记录被修改宏块的位置信息与改变值;
具体嵌入方法总结为如下公式:
从运动矢量的生成过程可知,运动矢量表示了该宏块所属运动物体相对于邻近帧的运动幅度大小。运动矢量绝对值较大的宏块一般可以认为该宏块运动的幅度较大,即该宏块属于视频中处于激烈运动的物体的一部分。考虑到人眼视觉系统的特性,一般对静止物体的改变较为敏感。设想即使运动幅度很大的物体增加或较少微小偏移量也较难被察觉。因此,本方案设定阈值,选择运动矢量幅值较大宏块中较大幅值的分量进行水印嵌入。
第三步:对未嵌入运动矢量宏块进行部分帧间预测,如果该宏块在运动矢量空间域预测中所参考的是被由于嵌入水印而被修改的宏块,则对其进行漂移补偿。
漂移补偿是针对水印嵌入后减小对视频影响的方法。一方面,水印的嵌入会造成视频质量的下降以及视觉上的失真。通过漂移补偿可以一定程度上降低上述不良影响。另一方面,解码端最终获得的运动矢量是由运动矢量预测值与运动矢量残差值相加得到的,其中运动矢量残差是直接进行传输的数据,在不考虑攻击的情况下可以认为该数据与编码端嵌入水印时的数据相同。但是运动矢量预测值是根据已经解码的数据产生的。P片的预测值的生成方式为空间预测:
例如,E为当前16×16宏块。A、B、C分别为E左、上、右上方的三个相对应块。宏块E的MVP预测取值为A、B、C的MV的中值。例如MVA=3,MVB=4,MVC=5,则宏块E的MVP为4。
由此可知,已编码宏块运动矢量分量MV会影响后续宏块运动矢量预测值MVP,而后续宏块的MV=MVP+MVD,其中MVD为运动矢量残差。这种影响会不断扩大,称之为失真漂移。
漂移补偿的具体步骤如下:
a)对当前宏块进行空间运动矢量预测,找出当前宏块运动矢量预测值所参考的宏块;
b)读取由于水印嵌入而被修改的宏块统计信息,如当前宏块的预测值由被修改过的宏块预测产生,则根据参考宏块的修改量对当前宏块的运动矢量残差进行反向修改;
c)如果宏块的预测值由未修改过的宏块预测产生,则不进行修改;
第四步:当一帧嵌入完毕后,统计之前已编码的N帧中水印总量,与当前阈值等级中水印嵌入量的上下限进行比较,大于上限则选择较小阈值的等级,小于上限则选择较大阈值的等级,否则阈值等级不变,该等级阈值作为下一帧水印嵌入宏块选取的运动矢量临界下限。
由于邻近帧之间的相关性,由前N帧的运动矢量统计数据可以为后续帧可能的运动矢量提供参考。方案中设置了多个等级的阈值,各个等级阈值都有如下5个数据。
■阈值
■参考帧数
■嵌入临界上限
■嵌入临界下限
■单帧最大嵌入量
其中阈值T是满足运动矢量嵌入条件的运动矢量两个分量平方和开方的下限;参考帧数N根据经验数值设置;嵌入临界上限MAX/下限MIN表明从当前帧开始的前N帧嵌入水印强度至多为MAX/至少为MIN,超过临界或未达到临界则表明当前阈值已经不适合下一帧继续使用,需要调整阈值等级。
例如,对于阈值为X的等级,参考帧数为N,上下限分别为max和min,单帧最大嵌入量为I。
■如果之前连续N帧P片内满足绝对值大于X的运动矢量总数小于min,则说明当前阈值较大而图像运动幅度小,无法获得足够的运动矢量进行嵌入,所以阈值需要选择上一数值较小的等级作为后续一帧的阈值。
■如果连续N帧P片内满足绝对值大于X的运动矢量总数大于max,则说明当前阈值选择得较小而图像运动幅度较大,被修改的运动矢量过多,所以阈值需要选择下一数值较大的等级作为后续一帧的阈值。
■如果连续N帧P片内满足绝对值大于X的运动矢量总数在min与max之间,则说明当前阈值的选择合适,后续一帧继续使用当前阈值。
第五步:重新熵编码,FLV封装视频。
本发明涉及一种基于运动矢量的自适应网络视频水印提取方法,具体包括以下步骤:
步骤一:解码FLV封装格式,获得H.264中NAL层数据;
步骤二:熵解码获得P片中尺寸为16×16的P宏块运动矢量;
步骤三:选取运动矢量幅值大于当前阈值的宏块,根据其运动矢量残差的奇偶性进行水印提取,具体为:
b)如果计算得出的运动矢量幅值大于阈值,且当前帧提取的水印数量未达到单帧嵌入量上限,则选择该宏块进行水印提取;
c)寻找该宏块运动矢量残差中绝对值较大的分量;
d)根据运动矢量残差数值的奇偶性提取水印,如果选取的运动矢量残差MVD为偶数,则水印比特为0;否则为1。
第四步:当一帧提取完毕后,统计之前已编码的N帧中水印总量,与当前阈值等级中水印嵌入量的上下限进行比较,大于上限则选择较小阈值的等级,小于上限则选择较大阈值的等级,否则阈值等级不变,该等级阈值作为下一帧水印提取宏块选取的运动矢量临界下限。
步骤五:水印提取完毕,根据同步位对水印序列进行反扩展解码,并反置乱获得隐藏信息,具体为:
解码步骤如下:
a)若识别出连续5个”1”和1个”0”,则自动丢弃该”1”,以恢复原来的比特流;
b)若识别出连续6个”1”,则表示本段水印结束,跳过下一位,继续解码;
对每段水印进行反置乱方法步骤如下:
现有N比特一维置乱水印序列A[0,1,2,......,N-1],选取与N互素的最小正整数P,长度为N的序列B用于临时存放结果。
执行如下反变换:
a)B((i×P)mod N)=A(i),i=0,1,2,......,N-1
b)A=B
重复执行与置乱时使用的相同次数的反变换,即可实现对一维置乱序列进行反置乱,获得隐藏信息。
该实施例中采用的自适应H.264压缩域视频水印嵌入与提取方法主要是针对FLV格式封装,H.264标准编码的网络视频。选择该特定格式的网络视频主要由于该类型视频被现今主流视频网站所使用,对该类型视频的水印嵌入提取方案具有很大的实用性。在采用上述方法进行隐藏信息的嵌入和提取时,是可以实现下载视频的同时进行隐藏信息的嵌入工作;同时实现在播放视频和检测隐藏信息的同步工作,实时性非常高。
在本实施例所采用的方法中,自适应阈值的机制提供了一种能够根据视频载体自身的特性动态地调整选取运动矢量临界值的方法,保证水印容量满足需求,实现少量帧间隔内嵌入一次水印的需求,达到可从任意视频位置提取完整水印的目的。
经实际测试,有如下数据:
从表中可以看出,对于运动矢量幅值普遍较小的视频,如新闻播报类视频,以往固定阈值的水印嵌入方案往往会出现水印嵌入容量不足的情况。而自适应阈值机制完全能够保证水印嵌入的容量满足要求;对于运动较为激烈、运动矢量幅值较大的视频,固定阈值将会选取过多的宏块进行嵌入,在没有进行漂移补偿的情况下将造成视频的严重失真,即使经过漂移补偿也会存在明显失真。而自适应阈值机制可以保证即使在运动矢量幅值较大情况下依然选取合适数量的宏块,配合漂移补偿能够保证视频无明显失真。
由于嵌入水印所造成的漂移失真,使用一般的漂移补偿方法虽然计算复杂度低但补偿机制自身不够完善,无法保证嵌入水印后视频无明显失真;使用重新完全帧间预测的方法虽然可以保证无失真但计算复杂度高,效率极低,因而不适用于大量视频数据处理的实际应用。本方案采用的部分帧间预测方法,仅仅执行帧间预测中的运动补偿来选择真正需要进行漂移补偿的部分宏块,算法复杂度低,实时性极高,能够满足网络视频大数据量处理的需求。
对水印进行预处理并利用特殊标示作为同步位可以用于防止帧置乱。帧丢失、帧替换等攻击,增强水印对于帧间攻击的鲁棒性。
本实例中水印嵌入的关键点在于利用帧间预测编码产生的运动矢量残差数据,因此该方法可以推广到类似使用帧间预测编码的其他格式视频中,如H.263,mpeg-4等,并且该技术点独立于外部封装格式,所以该实施例的方法具有一定的扩展性。
Claims (3)
1.一种基于运动矢量的自适应网络视频水印嵌入方法,其特征在于,包括以下步骤:
第一步:将待隐藏水印信息进行扩展编码,增加同步标志;
第二步:对视频进行部分解码,获得运动矢量,根据阈值判断运动矢量并嵌入水印;
第三步:对未符合阈值条件的宏块进行帧间预测中的运动补偿,由其空间域预测所参考的宏块决定是否进行漂移补偿;
第四步:当一帧嵌入完毕后,统计之前已编码的N帧中水印总量,与当前阈值等级中水印嵌入量的上下限进行比较,大于上限则选择较小阈值的等级,小于上限则选择较大阈值的等级,否则阈值等级不变,该等级阈值作为下一帧水印嵌入宏块选取的运动矢量临界下限;
所述的第一步具体包括以下步骤:
1.1)首先将隐藏信息m转换为二进制比特序列B;
1.2)对二进制比特序列B进行置乱得到置乱比特序列B';
1.3)对置乱比特序列B'进行编码,得到最终待嵌入水印序列W;
所述的置乱具体是指:将N个比特位的一维水印序列A[0,1,2,......,N-1]转换为置乱比特序列B',其中:B'(i)=A((i×P)modN),i=0,1,2,......,N-l,P为与N互素的最小正整数,序列B'为置乱序列,其长度为N;
所述的编码具体是指:对置乱后的水印序列进行检测,每次检测“11111”序列则将其修改为“111110",最后将处理过的水印序列反复串连,水印与水印之间使用固定的8比特二进制串“01111110”进行分隔;
所述的第二步具体包括以下步骤:
2.1)解码FLV封装格式,获得H.264中NAL层数据;
2.2)熵解码获得P片中尺寸为16x16的P宏块运动矢量;
2.3)选取运动矢量幅值大于当前阈值的宏块,修改其运动矢量残差的奇偶性进行水印嵌入;
2.4)记录被修改宏块的位置信息与改变值;
所述的水印嵌入是指:计算运动矢量垂直与水平分量平方和的开方值,当该值大于当前阈值且当前帧水印嵌入量未达到单帧嵌入量上限,则选择该宏块的运动矢量两个分量中绝对值较大者进行水印嵌入,当需要嵌入的比特为0,则修改该分量方向的运动矢量残差使其为偶数;当需要嵌入的比特为1,则为奇数。
2.根据权利要求1所述的基于运动矢量的自适应网络视频水印嵌入方法,其特征是,所述的帧间预测中的运动补偿包括:运动估计和运动补偿,其中:运动估计是搜索每个宏块在邻近帧中的位置,并得出两者之间的空间位置相对偏移量,即运动矢量的过程;运动补偿指根据邻近先前已编码的宏块进行空间域/时间域预测,预测得到的运动矢量预测值与运动估计得到的矢量之差称作运动矢量残差,作为帧间预测结果进行后续编码。
3.一种根据权利要求l所述的自适应网络视频的水印提取方法,其特征在于,包括以下步骤:
步骤一:解码FLV封装格式,获得H.264中NAL层数据;
步骤二:熵解码获得P片中尺寸为16×16的P宏块运动矢量;
步骤三:选取运动矢量幅值大于当前阈值的宏块,根据其运动矢量残差的奇偶性进行水印提取;
步骤四:当一帧提取完毕后,统计之前已编码的N帧中水印总量,与当前阈值等级中水印嵌入量的上下限进行比较,大于上限则选择较小阈值的等级,小于上限则选择较大阈值的等级,否则阈值等级不变,该等级阈值作为下一帧水印提取宏块选取的运动矢量临界下限;
步骤五:对提取出的水印进行解码反置乱,具体步骤如下:将长度为N个比特位的一维置乱水印序列A[0,1,2,......,N-1]变换为序列B,其中:B((i×P)mod N)=A(i),i=0,1,2,......,N-1,P为与N互素的最小正整数,序列B的长度为N,然后进行以下译码:当识别出“111110”序列则将序列修改为“0";当识别“111111”序列则表明一段水印提取结束,跳过下一比特继续解码;
所述的水印提取是指:计算运动矢量垂直与水平分量平方和的开方值,当该值大于当前阈值且当前帧提取的水印数量未达到单帧嵌入量上限,则选择该宏块的运动矢量两个分量中绝对值较大者进行水印提取,当选取的运动矢量残差为偶数则水印比特为0;否则为1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010513781 CN101951520B (zh) | 2010-10-21 | 2010-10-21 | 自适应h.264压缩域视频水印嵌入与提取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010513781 CN101951520B (zh) | 2010-10-21 | 2010-10-21 | 自适应h.264压缩域视频水印嵌入与提取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101951520A CN101951520A (zh) | 2011-01-19 |
CN101951520B true CN101951520B (zh) | 2012-08-22 |
Family
ID=43454858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010513781 Active CN101951520B (zh) | 2010-10-21 | 2010-10-21 | 自适应h.264压缩域视频水印嵌入与提取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101951520B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8755437B2 (en) * | 2011-03-17 | 2014-06-17 | Mediatek Inc. | Method and apparatus for derivation of spatial motion vector candidate and motion vector prediction candidate |
CN102088611B (zh) * | 2011-03-10 | 2012-09-19 | 上海交通大学 | 基于h.264标准运动矢量的脆弱性水印嵌入和提取方法 |
CN102186080A (zh) * | 2011-05-11 | 2011-09-14 | 北京航空航天大学 | 一种基于预测模式选择的h.264数字水印嵌入方法 |
CN102300098B (zh) * | 2011-06-02 | 2013-07-24 | 中国科学技术大学 | 一种基于可逆信息隐藏和冗余技术的视频容错编码方法 |
CN103220509B (zh) * | 2012-01-21 | 2017-12-15 | 中兴通讯股份有限公司 | 自适应控制算术编码bin数量的方法、编码器和解码器 |
CN102801977B (zh) * | 2012-08-07 | 2015-03-11 | 合肥极光科技股份有限公司 | H.264中基于视频复杂度分析的鲁棒数字水印嵌入方法 |
CN103237209B (zh) * | 2013-04-01 | 2016-03-23 | 南京邮电大学 | 一种基于区域dct系数的h264视频水印方法 |
CN103763567B (zh) * | 2013-12-31 | 2017-01-18 | 华中科技大学 | 一种应用于监控视频隐私保护的压缩域失真漂移补偿方法 |
CN104125467B (zh) * | 2014-08-01 | 2015-06-17 | 郑州师范学院 | 一种视频隐写信息的嵌入与提取方法 |
US10958989B2 (en) * | 2016-02-25 | 2021-03-23 | Synamedia Limited | Framework for embedding data in encoded video |
CN107613304B (zh) * | 2017-09-11 | 2019-08-13 | 西安电子科技大学 | 基于安卓平台的移动终端视频流隐密传输方法 |
CN107910009B (zh) * | 2017-11-02 | 2020-12-01 | 中国科学院声学研究所 | 一种基于贝叶斯推理的码元改写信息隐藏检测方法及系统 |
CN108521613B (zh) * | 2018-05-15 | 2019-03-12 | 中南民族大学 | 一种基于运动目标的压缩域视频水印嵌入和提取方法 |
CN108900845A (zh) * | 2018-07-16 | 2018-11-27 | 东莞理工学院 | 数字视频信息中元数据的可逆嵌入与提取方法及装置 |
CN108810550B (zh) * | 2018-08-21 | 2021-02-26 | 上海理工大学 | 一种基于层间预测的视频水印嵌入及提取方法 |
CN111200733B (zh) * | 2018-11-20 | 2021-10-26 | 福州依影健康科技有限公司 | 一种远程眼底筛查和健康大数据系统中的隐私保护方法 |
CN109379642B (zh) * | 2018-12-14 | 2020-12-08 | 连尚(新昌)网络科技有限公司 | 一种用于添加和检测视频水印的方法与设备、计算机可读介质 |
CN111107298B (zh) * | 2019-12-04 | 2021-01-08 | 上海百脑经贸有限公司 | 一种视频会议加密方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101494756A (zh) * | 2009-02-11 | 2009-07-29 | 北京航空航天大学 | 一种可逆视频水印无损漂移补偿方法 |
CN101583033A (zh) * | 2009-06-05 | 2009-11-18 | 中山大学 | 一种利用鲁棒水印保护h.264视频数据的方法 |
-
2010
- 2010-10-21 CN CN 201010513781 patent/CN101951520B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101494756A (zh) * | 2009-02-11 | 2009-07-29 | 北京航空航天大学 | 一种可逆视频水印无损漂移补偿方法 |
CN101583033A (zh) * | 2009-06-05 | 2009-11-18 | 中山大学 | 一种利用鲁棒水印保护h.264视频数据的方法 |
Non-Patent Citations (4)
Title |
---|
.《Multimedia and Expo,2009》.2009,第1752-1755页. * |
Shahabuddin,s etc.Compressed-domain temporal adaptation-resilient watermarking for H.264 video authentication􀀁 * |
孙锬锋 等.基于人类视觉的混沌阵列在图像上的水印算法.《电子学报》.2003,第31卷(第1期),第149-153页. * |
时舒森 等.一种鲁棒自适应差分能量视频水印算法.《上海交通大学学报》.2010,第44卷(第2期),第282-286页. * |
Also Published As
Publication number | Publication date |
---|---|
CN101951520A (zh) | 2011-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101951520B (zh) | 自适应h.264压缩域视频水印嵌入与提取方法 | |
CN101647281B (zh) | 视频编码和解码的方法和设备 | |
CN101536530B (zh) | 基于运动估计进行视频编码和解码的方法和设备 | |
CN104396261B (zh) | 使用高速边缘检测的视频编码方法和装置以及相关视频解码方法和装置 | |
JP5559139B2 (ja) | 映像の符号化、復号化の方法及び装置 | |
CN109845258A (zh) | 用于对图像进行编码或解码的设备和方法 | |
CN102724554B (zh) | 一种基于场景分割的视频资源语义水印嵌入方法 | |
CN108028919A (zh) | 用于图像与视频编解码中语法元素的上下文建模的方法及装置 | |
CN104160706A (zh) | 用于视频编码的方法以及用于其的装置、计算机程序产品、系统和模块 | |
CN103503460A (zh) | 视频译码中的运动向量预测 | |
CN102685500B (zh) | 基于信息变长分组结构的h.264大容量信息隐藏方法 | |
CN103297784A (zh) | 对图像进行编码的装置 | |
CN103460698A (zh) | 组合参考图片列表建构和映射 | |
CN104205819A (zh) | 用于视频编码的方法和装置 | |
CN102783149A (zh) | 用于视频译码的适应性运动分辨率 | |
CN105580374B (zh) | 一种对多层视频数据进行编解码的方法、视频解码设备及存储媒体 | |
CN106576177A (zh) | 多层视频译码 | |
Song et al. | A reversible video steganography algorithm for MVC based on motion vector | |
JP5394212B2 (ja) | データを挿入する方法、挿入されたデータを読み出す方法 | |
CN101554058B (zh) | 基于帧内预测进行编码和解码的方法和装置 | |
Ge et al. | Oblivious video watermarking scheme with adaptive embedding mechanism | |
CN105681803A (zh) | 一种大容量的hevc视频信息隐藏方法 | |
CN100387062C (zh) | 一种带补偿的保护mpeg-2视频数据的方法 | |
Kurosaki et al. | Error concealment using a data hiding technique for MPEG video | |
Jiaji et al. | An information hiding algorithm for HEVC based on intra prediction mode and block code |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |