CN102685500B - 基于信息变长分组结构的h.264大容量信息隐藏方法 - Google Patents
基于信息变长分组结构的h.264大容量信息隐藏方法 Download PDFInfo
- Publication number
- CN102685500B CN102685500B CN201210140456.9A CN201210140456A CN102685500B CN 102685500 B CN102685500 B CN 102685500B CN 201210140456 A CN201210140456 A CN 201210140456A CN 102685500 B CN102685500 B CN 102685500B
- Authority
- CN
- China
- Prior art keywords
- information
- inter
- group
- hiding
- info
- 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.)
- Expired - Fee Related
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种基于信息变长分组结构的H.264大容量信息隐藏方法。具体是在H.264帧间预测环节,引入信息变长分组的概念,利用改进的Exp-Golomb码字结构思想,将标识信息划分为7类长度为2或3bits的互不重复的全信息组,并设计7种帧间预测模式与所有待隐藏信息组之间的映射规则。基于该映射规则,本发明调制当前宏块的帧间预测模式实现视频信息隐藏。宿主宏块位置由规定的“嵌入点排除规则”确定,每个宿主宏块对应2或3bits标识信息,满足视频信息隐藏算法的大容量需求。标识信息的提取过程无需原始视频,只须对码流中的帧间预测模式部分进行解码即可完成,符合视频实时处理要求。
Description
技术领域
本发明涉及一种视频信息隐藏方法,具体是视频编码标准H.264中基于信息变长分组结构的大容量信息隐藏算法。
背景技术
信息隐藏技术是将秘密信息嵌入到公开的数字媒体中(如文本、图像、音频、视频等),以不引起第三方注意的方式进行隐密传输的一种通信手段。通常来说,信息隐藏技术具有嵌入容量和安全性两方面的重要特性。前者可保证通信时能够传输足够多的数据;而安全性要求算法不对宿主视频造成人为的修改痕迹,在信息隐藏后,载体仍保持统计特性不变,并且在秘密信息嵌入与提取过程中使用密钥,以确保即使隐蔽通信被发现,也无法准确提取信息。近年来,图像信息隐藏技术得到快速发展,已有相当多的算法被提出。而视频信息隐藏技术由于受到计算复杂度等因素的制约,发展相对落后,但由于视频具有丰富的时间轴信息,能够嵌入更多的标识信息,无疑使得视频信息隐藏技术具有极高的研究价值。
在实际应用中,由于视频数据量庞大,存储及传输时必须对其进行压缩。目前常用的视频编码标准包括JPEG,MPEG-1,MPEG-2,MPEG-4等,其中,H.264是由ISO/IEC与ITU-T制定的新一代的视频压缩编码标准,相对于以往的标准,H.264引入诸如空域内的帧内预测、1/4象素精度的运动估计、多参考帧与多种大小块的帧间预测等新技术。在压缩效率,以及网络适应性方面,H.264都比以往的视频编码格式有明显提高,因此基于H.264标准研究视频信息隐藏技术,具有很强的市场应用前景。
根据存在形式的不同,视频隐藏技术可以分为针对未压缩视频的和压缩视频的两类。然而为了便于存储和传输,通常需要对未压缩视频进行编码,因此该类算法需要能抵抗视频压缩,并使得秘密信息嵌入前后的视频流长度尽可能保持不变。而压缩视频中的信息隐藏算法则不存在这一问题。
现有的压缩视频中的信息隐藏算法,通常都是根据视频编码标准的特点来嵌入信息的,例如,修改I帧编码时产生的离散余弦变换(discrete cosine transform,DCT)系数或运动预测时产生的运动向量,但是这类方法在嵌入信息后还需进行差值补偿,不仅增加了计算复杂度,而且有可能对视频质量造成较大影响,而在变长编码(variable length coding,VLC)时产生的可变长码中嵌入信息,则不需要这一过程。文献[1]针对H.264帧内4×4块的预测模式,将9种预测模式分成两组,引入4种不同嵌入密度模板,通过修改当前4×4块的预测模式来映射标识信息,文献[2]是在文献[1]的基础上做出的改进,有选择性的选取帧内4×4块嵌入标识信息,每个帧内4×4块嵌入2 bits信息。这两种方法都是利用模板嵌入标识信息具有随机性,且无法适用不同图像,无法保证解码的视频质量。通过对H.264进行深度解读和分析,帧内4×4块的预测模式调制方法更适用于视频加密算法。文献[3]通过调制所有宏块的帧间预测模式嵌入标识信息,每个宏块隐藏2bits标识信息,方法简单,但算法透明性难以保证,并且算法只利用了部分帧间预测模式,没有完全利用编码产生的帧间信息,限制了算法的信息隐藏容量。并且以上三种算法均没有考虑宏块自身存在适合隐藏信息特性的问题。
发明内容
本发明提供了视频编码标准H.264中基于信息变长分组结构的大容量信息隐藏算法,有效缓解视频质量与信息隐藏量之间的矛盾。
本发明所采用的技术方案如下:
一种基于信息变长分组结构的H.264大容量信息隐藏方法,其特征在于:包括以下内容:
信息变长分组
H.264帧间编码共规定了7种尺寸的块模式(16×16、16×8、8×16、8×8、8×4、4×8、4×4),并采用基于树结构的运动补偿。每个16×16宏块可以分割为1个16×16块,或2个16×8块,或2个8×16块,或4个8×8块,当宏块选定8×8的模式时,对于每个8×8块还可进一步分割为1个8×8块,或2个8×4块,或2个4×8块,或4个4×4块;
待隐藏信息每个分割都可以转换为二进制01代码表示,而任何标识文件最终都可以转化为一连串的二进制码流,利用改进的Exp-Golomb码字结构思想,将二进制标识信息划分为7类长度为2或3bits的互不重复的信息组11、000、001、010、011、100、101,若干这七类信息组的排列组合可以形成任意排列的二进制信息;
H.264帧间预测的7种模式与所有待隐藏信息组之间的一一对应的映射规则,16×16对应信息组11、16×8对应信息组000、8×16对应信息组001、8×8对应信息组010、8×4对应信息组011、4×8对应信息组100、4×4对应信息组101,基于该映射规则,通过调制当前宏块的帧间预测模式实现视频信息隐藏;
嵌入点排除规则
H.264 在帧间宏块中还引入了跳转(SKIP)和直接预测的模式(DIRECT,模式为0),主要适用于静止宏块,产生嵌入点排除规则(1)、帧间预测模式标记为16×16宏块,若为SKIP模式,不用来隐藏标识信息;嵌入点排除规则(2):H.264边缘宏块(即第一行和第一列的所有宏块)的帧间预测过程做特别处理,不选择在这些位置隐藏标识信息。
所述的基于信息变长分组结构的H.264大容量信息隐藏方法,其特征在于:具体包括以下内容:
信息变长分组
H.264采用基于块匹配的运动预测方式,H.264帧间编码共规定了7种尺寸的块模式:16×16、16×8、8×16、8×8、8×4、4×8、4×4,并采用基于树结构的运动补偿,每个16×16宏块可以分割为1个16×16块,或2个16×8块,或2个8×16块,或4个8×8块,当编码宏块选定8×8块模式时,对于每个8×8宏块还可进一步分割为1个8×8块,或2个8×4块,或2个4×8块,或4个4×4块,
H.264帧间预测模式选择的具体方法为,编码器对编码宏块的每一种帧间预测模式进行运动估计,在运动估计过程中引入拉格朗日的率失真优化方法进行模式选择,通过取式(1)的最小值得到帧间预测的最优模式:
其中m=(mx,my)为候选的运动矢量,p=(px,py)为预测的运动矢量,λmotion拉格朗日因子,R(m-p)表示对运动矢量差分编码需要的比特数,SAD(s,c(m))为视频源信号s和编码视频信号c之间的绝对误差之和;
待隐藏信息每个分割都可以转换成二进制01代码表示,最终都可以转化为一连串的二进制码流,利用改进的Exp-Golomb码字结构思想,提出信息变长分组规则,将二进制标识信息划分为7种长度为2或3bits的互不重复的信息组,一部分预测模式对应2bits的信息组,另一部分预测模式对应3bits信息组,若干这七类信息组的排列组合可以形成任意排列的二进制信息,改进的Exp-Golomb的码字结构及信息变长分组规则如下式:
M = floor(log2(Code + 7)(2)
INFO = Code + 7 – 2M(3)
Code表示对应7种帧间预测模式的十进制数值,M表示标识信息组的长度,INFO为信息组十进制数值。floor()表示向下取整函数;以此类推,对每个块尺寸赋予的二值化信息以及与信息组映射结果如表1所示:
表1:
预测模式 | Code | M | INFO | 信息组 |
16×16 | 0 | 2 | 3 | 11 |
16×8 | 1 | 3 | 0 | 000 |
8×16 | 2 | 3 | 1 | 001 |
8×8 | 3 | 3 | 2 | 010 |
8×4 | 4 | 3 | 3 | 011 |
4×8 | 5 | 3 | 4 | 100 |
4×4 | 6 | 3 | 5 | 101 |
基于该映射关系,通过调制当前编码宏块的帧间预测模式,实现二进制标识信息的隐藏;
H.264在帧间宏块中还引入了跳转(SKIP)模式和直接预测模式(DIRECT,模式为0),主要适用于静止宏块,SKIP模式宏块不适合隐藏信息,因此,产生嵌入点排除规则:(1)帧间预测模式标记为16×16宏块,若为SKIP模式,不用来隐藏标识信息;(2)H.264边缘宏块(即第一行和第一列的所有宏块)的帧间预测过程做特别处理,其宏块的运动预测的与非边缘宏块不同,对边缘宏块的预测模式进行调制,不选择在边缘宏块位置隐藏标识信息;
信息隐藏执行步骤:
①读取待隐藏信息的二值标识图像 WMimage(M×N),将该图像经过Zig-zag扫描简单置乱后转化为一组二值码流WMsequence[i](i=0,1,2,...,(M×N-1)) ,再将WMsequence[i] 自适应的分割为长度为2或3 bits的标识信息组,形成WMpair[j]=wjwj+1或wjwj+1wj+2(j=0,1,2,...,(M×N-1));
②判断当前块是否属于“嵌入点排除规则(1)”如果属于,该块不用来隐藏信息,跳转到下一编码宏块重新进行本步判断;否则,继续进行下一步;
③判断当前块是否属于“嵌入点排除规则(2)”如果属于,该块不用来隐藏信息,跳转到下一编码宏块自②重新运行;否则,继续进行下一步;
④读取二进制标识信息组WMpair[j] ,对照所述的映射规则,得出该信息组映射的预测模式,并替换当前块的最佳预测模式完成该组二进制标识信息的隐藏;例如:当待嵌入的信息组为“11”时,若当前宏块的预测模式恰好为16×16模式,则不做改变;若当前宏块的预测模式不为16×16模式,即人为地将当前预测模式改为16×16模式,保存并写入码流;
⑤跳转至下一宏块重复②到④,直至二进制标识信息完全隐藏到宿主图像中去,完成整个视频信息隐藏过程。
本发明通过分析帧间预测宏块自身的适合隐藏信息特性,规定“嵌入点排除规则”,有选择性地通过调制帧间预测模式来隐藏标识信息。本发明引入信息变长分组概念,利用改进的Exp-Golomb的码字结构思想,将标识信息划分为7类长度为2或3bits的互不重复的全信息组,并设计7种帧间预测模式与所有待隐藏信息组之间的映射规则。每一符合嵌入条件的帧间预测宏块隐藏2或3 bits标识信息。
每个分割具有一个独立的运动补偿。每个MV(运动矢量)必须被编码、传输,分割的选择也需编码到压缩比特流中。整体而言,大的分割尺寸适合平坦区域,小尺寸适合多细节区域。图2为一帧图像的预测模式选择结果。H.264编码器为视频帧每个部分选择最佳分割尺寸,如图2所示,在帧变化小的区域选择16×16模式;多运动区域选择更有效的小的尺寸。
H.264共规定了16×16、16×8、8×16、8×8、8×4、4×8、4×4这7种帧间预测模式。对于任意一个由0和1组成的二值序列来说,情况①:若将相邻2bit划分为一组,共有00、01、10、11这4种组合;情况②:若将相邻3bit划分为一组,共有000、001、010、011、100、101、110、111这8种组合。隐藏等长信息组时,若一次隐藏2bit信息(胡洋, 张春田, 苏育挺. 基于H.264/AVC的视频信息隐藏算法[J]. 电子学报, 2008.36(4):690-694),从7个帧间预测模式中任意选出4种即可对应4种0,1组合,即浪费了另外三种帧间预测模式的信息隐藏能力;若一次隐藏3bit信息(情况②),H.264的7种帧间预测模式无法满足8种0,1组合,会导致其中二进制标识信息无法完整、正确地被嵌入并提取出来。这也就是隐藏等长信息组算法的缺陷。应该由于这一缺陷的原因而只采用16×16、16×8、8×16、8×8这4种帧间预测模式来一次隐藏2bits信息。从图2可以看出一幅视频帧中8×4、4×8、4×4这三种模式出现的频率也很高,无法有效利用帧间预测环节产生的中间信息,势必会限制信息隐藏的容量。
本发明采用信息变长分组方法可以完全有效的利用H.264帧间预测产生的帧间信息,每个宏块平均可以隐藏2.86 bits标识信息,较之文献S.K. Kapotas, E.E.Varsaki, A.N. Skodras. Data Hiding in H. 264 EncodedVideo Sequences [A]. In Multimedia Signal Processing, 2007. MMSP 2007. IEEE 9th Workshop on[C]. 2007:373-376,本发明容量大大提升。
标识信息嵌入点位置选择
为了进一步节省码流,H.264 在帧间宏块中还引入了跳转(SKIP)和直接预测的模式(DIRECT,模式为0),主要适用于静止宏块,人眼视觉系统对静止块发生异动十分敏感,因此SKIP模式宏块不适合隐藏信息。因此,本发明产生嵌入点排除规则(1)——帧间预测模式标记为16×16宏块,若为SKIP模式,不用来隐藏标识信息。嵌入点排除规则(2):H.264边缘宏块(即第一行和第一列的所有宏块)的帧间预测过程做特别处理,其宏块的运动预测的与非边缘宏块不同,对边缘宏块的预测模式进行调制,解码视频可能会出现错误漂移现象。不利于保证解码后的视频质量。因此,为了增强算法的隐蔽性,不选择在这些位置隐藏标识信息。
本发明的性能分析
(1)透明性分析
本发明修改的只是帧间预测模式(即宏块处理的尺寸),并非是直接对宏块像素进行修改,因此算法对解码视频质量上都不会有负面影响。图3为测试序列Carphone、Foreman、News在H.264/AVC 帧间信息隐藏前后的第15帧的图像。其中图3(a)为未进行信息隐藏的解码图像,图3(b)为进行信息隐藏后的解码图像。从图中可以看出信息隐藏并没有造成视频质量的下降。
(2)参数指标
为了进一步评估本发明的性能,本发明引入了信息隐藏容量(HBQ)、比特率变化(BRI)、PSNR 变化。其中BRI定义如式(4)所示:
其中:R'是隐藏信息后的比特率,R是未隐藏信息的比特率。测试结果如表1所示。
表2 对多组序列测试的实验结果
序列 | HBQ/bits | BRI/% | PSNRYI/dB |
Carphone | 15620 | 0.3405 | -0.02486 |
Foreman | 16582 | 0.09317 | -0.02013 |
Grandma | 6058 | 3.2266 | 0.020364 |
Highway | 12035 | 0.4259 | -0.01002 |
Mobile | 20997 | 0.8888 | -0.00428 |
News | 7582 | 1.6027 | 0.010595 |
Salesman | 6237 | 5.1267 | 0.008115 |
Silent | 9449 | 0.2504 | 0.010623 |
从表2可以得出本发明有效地实现信息隐藏,信息隐藏后比特率和视频亮度分量PSNR 值仅有微小的变化,即编码视频的客观质量未受到明显影响。此外,不同的视频序列,隐藏容量有很大的差别,运动剧烈的视频序列隐藏容量较大,运动较缓慢的视频序列隐藏容量相对较小,这是因为运动缓慢的视频序列有很多静止宏块,采用了SKIP 和DIRECT 模式。
除此之外。当信息隐藏容量为1600bits时,本发明分别就亮度分量PSNR变化值和比特率变化值与Kapotas等提出的算法[3]进行了对比试验,如图4所示。
从图4(a)可以看出,本发明算法的PSNR值变化均在非常微小的范围内波动,算法在透明性方面明显优于文献[3]算法。另外,图4(b)说明本发明对H.264编解码过程中的比特率影响也比文献[3]算法小。本发明可以很好地保证H.264压缩编码平台的各项参数性能。
(3)安全性与信息隐藏容量分析
本发明的安全性可以概括为如下几点:(1)本发明采用改进后的Exp-Golomb的码字结构思想,将标识信息自适应的分割成长度为2或3 bits的信息组,并与7种帧间预测模式相映射实现信息隐藏过程。这一步有效利用帧间预测环节产生的中间信息,完全满足算法大容量的需求。(2)标识信息嵌入点选择一方面去除SKIP模式的宏块,这样就避免了在静止块中嵌入标识信息可能产生的视频画面异动,从而避免引起人眼视觉敏感性。另一方面去除边缘块,有效预防了错误漂移产生的可能。本发明的嵌入点排除处理进一步提升了算法透明性与隐蔽性。(3)数据通过调制帧间预测模式将标识信息隐藏到宿主图像。无额外的冗余信息添加到压缩视频流中,对H.264编码压缩效率、码长、码率的影响降低到最小,也可以很好的保证算法的各项参数性能。(4)帧间预测是H.264编码器重要的特征之一,在网络视频流传输过程中,它具有很高的优先级。因此,隐藏数据可以完全传输,这样标识信息能够被正确的解码,并且在信息提取过程不需要原始视频信息而具有盲检测性。
(4)实时性能分析
大部分数据隐藏方法在编码过程中隐藏数据,这样算法的实时性会受到影响。综上所述,本发明通过改变候选宏块的帧间预测模式来隐藏标识信息,根据H.264/AVC编、解码器的块图解,这些隐藏标识信息的宏块对于编解码是必要的。然而,帧间预测仅消耗小于10%的计算负荷,不是H.264编码的时间消耗步骤。因此,本发明仅编码压缩的帧间宏块即可完成信息隐藏要求,避免了通常编码过程中的时间消耗,同时标识信息提取过程只需要对码流中的帧间预测模式进行解码即可完全提取标识信息,完全符合视频实时处理的要求。
附图说明
图1为帧间的7种预测模式。
图2为帧间预测模式选择结果。
图3为人眼主观视觉质量对比。
图4为本发明与Kapotas算法(3)的比较,图4.1为PSNR变化比较;图4.2为比特率变化比较。
图5为信息隐藏方法的流程图。
具体实施方式
实施例1:
本发明的隐藏标识信息过程具体如图5所示。
(1)信息隐藏执行步骤
Step 1:读取二值标识图像 WMimage(M×N),将该图像经过Zig-zag扫描简单置乱后转化为一组二值码流 WMsequence[i](i=0,1,2,…,(M×N-1),再将WMsequence[i]自适应的分割为长度为2或3 bits的标识信息组,形成WMpair[j]=wjwj+1或wjwj+1wj+2(j=0,1,2,…,(M×N-1))。
Step 2:判断当前块是否属于“嵌入点排除规则(1)”如果属于,该块不用来隐藏信息,跳转到下一宏块重新进行本步判断。否则,继续进行下一步。
Step 3:判断当前块是否属于“嵌入点排除规则(2)”如果属于,该块不用来隐藏信息,跳转到下一宏块自Step 2重新运行。否则,继续进行下一步。
Step 4:读取标识信息组 WMpair[j],对照表1,查询该信息组映射的预测模式,并替换当前块的最佳预测模式完成该组标识信息的隐藏。对每个块尺寸赋予的二值化信息以及与信息组映射结果如表1所示:
例如,当待嵌入的信息组为“11”时,若当前宏块的预测模式恰好为16×16模式,则不做改变;若当前宏块的预测模式不为16×16模式,即人为地将当前预测模式改为16×16模式,保存并写入码流。
Step 5:跳转至下一宏块重复Step 2~ Step 4,直至标识信息完全隐藏到宿主图像中去,完成整个视频信息隐藏过程。
(2)标识信息提取算法
提取规则为嵌入规则的逆过程,具体步骤如下
Step 1:判断当前块是否属于“嵌入点排除规则(1)”如果属于,该块没有隐藏标识信息,跳转至下一宏块重新进行本步判断。否则,继续进行下一步。
Step 2:判断当前块是否属于“嵌入点排除规则(2)”如果属于,该块没有隐藏标识信息,跳转至下一宏块自Step 1重新运行。否则,继续进行下一步。
Step 3:读取当前宏块的预测模式,对照表1,查询得到其映射的二进制标识信息组wjwj+1或wjwj+1wj+2。
Step 4:跳转至下一宏块重复Step 1~ Step 3,直至所有标识信息组完全被提取出来,将提取出的所有标识信息组组合、解密得到提取出的标识信息,至此完成整个提取过程。
实施例2:
基于信息变长分组结构的H.264大容量信息隐藏方法,其特征在于:包括以下内容:
信息变长分组
H.264帧间编码共规定了7种尺寸的块模式(16×16、16×8、8×16、8×8、8×4、4×8、4×4),并采用基于树结构的运动补偿,每个16×16宏块可以分割为1个16×16块,或2个16×8块,或2个8×16块,或4个8×8块。当宏块选定8×8的模式时,对于每个8×8块还可进一步分割为1个8×8块,或2个8×4块,或2个4×8块,或4个4×4块;
待隐藏信息每个分割都可以转换为二进制01代码表示,而任何标识文件最终都可以转化为一连串的二进制码流,利用改进的Exp-Golomb码字结构思想,将二进制标识信息划分为7类长度为2或3bits的互不重复的信息组11、000、001、010、011、100、101,若干这七类信息组的排列组合可以形成任意排列的二进制信息;
H.264帧间预测的7种模式与所有待隐藏信息组之间的一一对应的映射规则,16×16对应信息组11、16×8对应信息组000、8×16对应信息组001、8×8对应信息组010、8×4对应信息组011、4×8对应信息组100、4×4对应信息组101,基于该映射规则,通过调制当前宏块的帧间预测模式实现视频信息隐藏;
嵌入点排除规则
H.264 在帧间宏块中还引入了跳转(SKIP)和直接预测的模式(DIRECT,模式为0),主要适用于静止宏块,产生嵌入点排除规则(1)、帧间预测模式标记为16×16宏块,若为SKIP模式,不用来隐藏标识信息;嵌入点排除规则(2):H.264边缘宏块(即第一行和第一列的所有宏块)的帧间预测过程做特别处理,不选择在这些位置隐藏标识信息。
2、根据权利要求1所述的基于信息变长分组结构的H.264大容量信息隐藏方法,其特征在于:具体包括以下内容:
信息变长分组
H.264采用基于块匹配的运动预测方式,H.264帧间编码共规定了7种尺寸的块模式:16×16、16×8、8×16、8×8、8×4、4×8、4×4,并采用基于树结构的运动补偿,每个16×16宏块可以分割为1个16×16块,或2个16×8块,或2个8×16块,或4个8×8块,当编码宏块选定8×8块模式时,对于每个8×8宏块还可进一步分割为1个8×8块,或2个8×4块,或2个4×8块,或4个4×4块,
H.264帧间预测模式选择的具体方法为,编码器对编码宏块的每一种帧间预测模式进行运动估计,在运动估计过程中引入拉格朗日的率失真优化方法进行模式选择,通过取式(1)的最小值得到帧间预测的最优模式:
其中m=(mx,my)为候选的运动矢量,p=(px,py)为预测的运动矢量,λmotion拉格朗日因子,R(m-p)表示对运动矢量差分编码需要的比特数,SAD(s,c(m))为视频源信号s和编码视频信号c之间的绝对误差之和;
待隐藏信息每个分割都可以转换成二进制01代码表示,最终都可以转化为一连串的二进制码流,利用改进的Exp-Golomb码字结构思想,提出信息变长分组规则,将二进制标识信息划分为7种长度为2或3bits的互不重复的信息组,一部分预测模式对应2bits的信息组,另一部分预测模式对应3bits信息组,若干这七类信息组的排列组合可以形成任意排列的二进制信息,改进的Exp-Golomb的码字结构及信息变长分组规则如下式:
M = floor(log2(Code + 7)(2)
INFO = Code + 7 – 2M(3)
Code表示对应7种帧间预测模式的十进制数值,M表示标识信息组的长度,INFO为信息组十进制数值。floot()表示向下取整函数;以此类推,对每个块尺寸赋予的二值化信息以及与信息组映射结果如表1所示:
表1:
预测模式 | Code | M | INFO | 信息组 |
16×16 | 0 | 2 | 3 | 11 |
16×8 | 1 | 3 | 0 | 000 |
8×16 | 2 | 3 | 1 | 001 |
8×8 | 3 | 3 | 2 | 010 |
8×4 | 4 | 3 | 3 | 011 |
4×8 | 5 | 3 | 4 | 100 |
4×4 | 6 | 3 | 5 | 101 |
基于该映射关系,通过调制当前编码宏块的帧间预测模式,实现二进制标识信息的隐藏;
H.264在帧间宏块中还引入了跳转(SKIP)模式和直接预测模式(DIRECT,模式为0),主要适用于静止宏块,SKIP模式宏块不适合隐藏信息,因此,产生嵌入点排除规则:(1)帧间预测模式标记为16×16宏块,若为SKIP模式,不用来隐藏标识信息;(2)H.264边缘宏块(即第一行和第一列的所有宏块)的帧间预测过程做特别处理,其宏块的运动预测的与非边缘宏块不同,对边缘宏块的预测模式进行调制,不选择在边缘宏块位置隐藏标识信息;
信息隐藏执行步骤:
①读取待隐藏信息的二值标识图像 WMimage(M×N),将该图像经过Zig-zag扫描简单置乱后转化为一组二值码流WMsequence[i](i=0,1,2,...,(M×N-1)) ,再将WMsequence[i] 自适应的分割为长度为2或3 bits的标识信息组,形成WMpair[j]=wjwj+1或wjwj+1wj+2(j=0,1,2,...,(M×N-1));
②判断当前块是否属于“嵌入点排除规则(1)”如果属于,该块不用来隐藏信息,跳转到下一编码宏块重新进行本步判断;否则,继续进行下一步;
③判断当前块是否属于“嵌入点排除规则(2)”如果属于,该块不用来隐藏信息,跳转到下一编码宏块自②重新运行;否则,继续进行下一步;
④读取二进制标识信息组WMpair[j] ,对照所述的映射规则,得出该信息组映射的预测模式,并替换当前块的最佳预测模式完成该组二进制标识信息的隐藏;例如:当待嵌入的信息组为“11”时,若当前宏块的预测模式恰好为16×16模式,则不做改变;若当前宏块的预测模式不为16×16模式,即人为地将当前预测模式改为16×16模式,保存并写入码流;
⑤跳转至下一宏块重复②到④,直至二进制标识信息完全隐藏到宿主图像中去,完成整个视频信息隐藏过程。
Claims (2)
1.一种基于信息变长分组结构的H.264大容量信息隐藏方法,其特征在于:包括以下内容:
H.264帧间编码共规定了7种尺寸的块模式(16×16、16×8、8×16、8×8、8×4、4×8、4×4),并采用基于树结构的运动补偿,每个16×16宏块分割为1个16×16块,或2个16×8块,或2个8×16块,或4个8×8块;当宏块选定8×8的模式时,对于每个8×8块还可进一步分割为1个8×8块,或2个8×4块,或2个4×8块,或4个4×4块;
待隐藏信息每个分割都转换为二进制01代码表示,而任何标识文件最终都转化为一连串的二进制码流,利用改进的Exp-Golomb码字结构思想,将二进制标识信息划分为7类长度为2或3bits的互不重复的信息组11、000、001、010、011、100、101,若干这七类信息组的排列组合形成任意排列的二进制信息;
H.264帧间预测的7种模式与所有待隐藏信息组之间的一一对应的映射规则,16×16对应信息组11、16×8对应信息组000、8×16对应信息组001、8×8对应信息组010、8×4对应信息组011、4×8对应信息组100、4×4对应信息组101,基于该映射规则,通过调制当前宏块的帧间预测模式实现视频信息隐藏;
H.264在帧间宏块中还引入了跳转(SKIP)和模式为0的直接预测的模式(DIRECT),主要适用于静止宏块,产生嵌入点排除规则(1):帧间预测模式标记为16×16宏块,若为SKIP模式,不用来隐藏标识信息;嵌入点排除规则(2):H.264第一行和第一列的所有边缘宏块的帧间预测过程做特别处理,不选择在这些位置隐藏标识信息。
2.根据权利要求1所述的基于信息变长分组结构的H.264大容量信息隐藏方法,其特征在于:
H.264帧间预测模式选择的具体方法为,编码器对编码宏块的每一种帧间预测模式进行运动估计,在运动估计过程中引入拉格朗日的率失真优化方法进行模式选择,通过取式(1)的最小值得到帧间预测的最优模式:
J(m,λmotion)=SAD(s,c(m))+λmotion×R(m-p) (1)
其中m=(mx,my)为候选的运动矢量,p=(px,py)为预测的运动矢量,λmotion拉格朗日因子,R(m-p)表示对运动矢量差分编码需要的比特数,SAD(s,c(m))为视频源信号s和编码视频信号c之间的绝对误差之和;
改进的Exp-Golomb的码字结构及信息变长分组规则如下式:
M=floor(log2(Code+7)) (2)
INFO=Code+7–2M (3)
Code表示对应7种帧间预测模式的十进制数值,M表示标识信息组的长度,INFO为信息组十进制数值;floor()表示向下取整函数;以此类推,对每个块尺寸赋予的二值化信息以及与信息组映射结果为:
a、预测模式为16×16,Code为0,M为2,INFO为3,信息组映射结果为11;
b、预测模式为16×8,Code为1,M为3,INFO为0,信息组映射结果为000;
c、预测模式为8×16,Code为2,M为3,INFO为1,信息组映射结果为001;
d、预测模式为8×8,Code为3,M为3,INFO为2,信息组映射结果为010;
e、预测模式为8×4,Code为4,M为3,INFO为3,信息组映射结果为011;
f、预测模式为4×8,Code为5,M为3,INFO为4,信息组映射结果为100;
g、预测模式为4×4,Code为6,M为3,INFO为5,信息组映射结果为101;
基于该映射关系,通过调制当前编码宏块的帧间预测模式,实现二进制标识信息的隐藏;
信息隐藏执行步骤:
①读取待隐藏信息的二值标识图像WMimage(M×N),将该图像经过Zig-zag扫描简单置乱后转化为一组二值码流WMsequence[i](i=0,1,2,...,(M×N-1)),再将WMsequence[i]自适应的分割为长度为2或3bits的标识信息组,形成WMpair[j]=wjwj+1或wjwj+1wj+2(j=0,1,2,...,(M×N-1));
②判断当前块是否属于“嵌入点排除规则(1)”,如果属于,该块不用来隐藏信息,跳转到下一编码宏块重新进行本步判断;否则,继续进行下一步;
③判断当前块是否属于“嵌入点排除规则(2)”,如果属于,该块不用来隐藏信息,跳转到下一编码宏块自②重新运行;否则,继续进行下一步;
④读取二进制标识信息组WMpair[j],对照所述的映射规则,得出该信息组映射的预测模式,并替换当前块的最佳预测模式完成该组二进制标识信息的隐藏;当待嵌入的信息组为“11”时,若当前宏块的预测模式恰好为16×16模式,则不做改变;若当前宏块的预测模式不为16×16模式,即人为地将当前预测模式改为16×16模式,保存并写入码流;
⑤跳转至下一宏块重复②到④,直至二进制标识信息完全隐藏到宿主图像中去,完成整个视频信息隐藏过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210140456.9A CN102685500B (zh) | 2012-05-08 | 2012-05-08 | 基于信息变长分组结构的h.264大容量信息隐藏方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210140456.9A CN102685500B (zh) | 2012-05-08 | 2012-05-08 | 基于信息变长分组结构的h.264大容量信息隐藏方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102685500A CN102685500A (zh) | 2012-09-19 |
CN102685500B true CN102685500B (zh) | 2014-11-12 |
Family
ID=46816784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210140456.9A Expired - Fee Related CN102685500B (zh) | 2012-05-08 | 2012-05-08 | 基于信息变长分组结构的h.264大容量信息隐藏方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102685500B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106063274B (zh) | 2014-04-01 | 2020-02-14 | 华为技术有限公司 | 多层结构化编码单元中数据隐藏的方法和装置 |
CN104853215B (zh) * | 2015-04-17 | 2018-12-28 | 中国科学院信息工程研究所 | 基于运动向量局部最优性保持的视频隐写方法 |
CN105049871B (zh) * | 2015-07-13 | 2018-03-09 | 宁波大学 | 一种基于hevc的音频信息嵌入方法及提取和重构方法 |
CN108322757B (zh) * | 2018-01-16 | 2020-12-11 | 暨南大学 | 基于帧内预测编码的视频隐写方法 |
CN108810550B (zh) * | 2018-08-21 | 2021-02-26 | 上海理工大学 | 一种基于层间预测的视频水印嵌入及提取方法 |
CN111200733B (zh) * | 2018-11-20 | 2021-10-26 | 福州依影健康科技有限公司 | 一种远程眼底筛查和健康大数据系统中的隐私保护方法 |
CN110809192B (zh) * | 2019-10-15 | 2021-07-20 | 华南理工大学 | 一种可搭载隐秘信息的视频加密方法 |
CN113840146B (zh) * | 2021-09-30 | 2022-10-21 | 中南大学 | 一种视频信息隐藏方法及系统 |
-
2012
- 2012-05-08 CN CN201210140456.9A patent/CN102685500B/zh not_active Expired - Fee Related
Non-Patent Citations (5)
Title |
---|
刘争艳等.基于二维映射关系的视频信息隐藏算法.《计算机工程》.2010,第36卷(第22期),第225-227页. * |
吴斌等.适用于H.264标准的变长分组VLD结构.《东北师大学报(自然科学版)》.2009,第41卷(第1期),第57-60页. * |
基于二维映射关系的视频信息隐藏算法;刘争艳等;《计算机工程》;20101130;第36卷(第22期);第225-227页 * |
基于编码模式的H.264/AVC视频信息隐藏算法;王让定等;《光电工程》;20100531;第37卷(第5期);第144-150页 * |
王让定等.基于编码模式的H.264/AVC视频信息隐藏算法.《光电工程》.2010,第37卷(第5期),第144-150页. * |
Also Published As
Publication number | Publication date |
---|---|
CN102685500A (zh) | 2012-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102685500B (zh) | 基于信息变长分组结构的h.264大容量信息隐藏方法 | |
Yao et al. | Defining embedding distortion for motion vector-based video steganography | |
CN102724554B (zh) | 一种基于场景分割的视频资源语义水印嵌入方法 | |
CN110024398A (zh) | 针对屏幕远程处理场景的局部的基于散列的运动估计 | |
CN101951520B (zh) | 自适应h.264压缩域视频水印嵌入与提取方法 | |
CN106559669A (zh) | 图像预测的方法及装置 | |
CN108028919A (zh) | 用于图像与视频编解码中语法元素的上下文建模的方法及装置 | |
CN103152578B (zh) | 基于混合编解码的h.264视频水印嵌入及提取方法 | |
CN106162195B (zh) | 一种基于单深度帧内模式的3d‑hevc深度视频信息隐藏方法 | |
CN108141605A (zh) | 帧内块复制合并模式及不可用帧内块复制参考区域的填充 | |
CN106658019A (zh) | 参考帧编解码的方法与装置 | |
CN103338376B (zh) | 一种基于运动矢量的视频隐写方法 | |
CN101754016B (zh) | 用于插入数据的方法、用于读取所插入的数据的方法 | |
CN101841700B (zh) | 一种面向h.264压缩比特流的视频水印方法 | |
CN102665077A (zh) | 一种基于宏块分类的快速高效编转码方法 | |
CN101014129B (zh) | 一种视频数据压缩方法 | |
CN109819260B (zh) | 基于多嵌入域融合的视频隐写方法和装置 | |
CN106101714A (zh) | 一种与压缩编码过程紧耦合的h.264视频信息隐藏方法 | |
CN104602016A (zh) | 一种基于帧内预测模式差值的hevc视频的信息隐藏方法 | |
Zhao et al. | A video steganography method based on transform block decision for H. 265/HEVC | |
Jiang et al. | A CABAC based HEVC video steganography algorithm without bitrate increase | |
CN104853215A (zh) | 基于运动向量局部最优性保持的视频隐写方法 | |
CN107333139A (zh) | 一种基于帧内预测模式的h.265半可逆视频隐写信息方法 | |
CN105681803A (zh) | 一种大容量的hevc视频信息隐藏方法 | |
CN105704489A (zh) | 一种基于宏块复杂度的自适应视频运动矢量隐写方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141112 Termination date: 20210508 |