CN101621692B - 一种基于预测模式的h.264/avc视频信息隐藏方法 - Google Patents

一种基于预测模式的h.264/avc视频信息隐藏方法 Download PDF

Info

Publication number
CN101621692B
CN101621692B CN 200910101249 CN200910101249A CN101621692B CN 101621692 B CN101621692 B CN 101621692B CN 200910101249 CN200910101249 CN 200910101249 CN 200910101249 A CN200910101249 A CN 200910101249A CN 101621692 B CN101621692 B CN 101621692B
Authority
CN
China
Prior art keywords
current
coding mode
mode
luminance block
current macro
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
Application number
CN 200910101249
Other languages
English (en)
Other versions
CN101621692A (zh
Inventor
王让定
徐达文
朱洪留
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ningbo University
Original Assignee
Ningbo University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ningbo University filed Critical Ningbo University
Priority to CN 200910101249 priority Critical patent/CN101621692B/zh
Publication of CN101621692A publication Critical patent/CN101621692A/zh
Application granted granted Critical
Publication of CN101621692B publication Critical patent/CN101621692B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种基于预测模式的H.264/AVC视频信息隐藏方法,对于I片中编码模式为Intra 4×4的宏块,在必须改变4×4亮度块的预测模式的情况下,通过将4×4亮度块的预测模式从最优预测模式向次优预测模式方向调制,对于P片及B片中编码模式标识不为0的宏块,在必须改变宏块的编码模式的情况下,通过将宏块的编码模式从最优编码模式向次优编码模式方向调制,在保证能够有效实现隐秘信息隐藏的同时,可以尽量减小预测模式或编码模式的改变对视频客观质量的影响;另一方面,由于隐秘信息不仅可以嵌入在I片中编码模式为Intra 4×4的宏块中,也可以嵌入在P片和B片中编码模式标识不为0的宏块中,因而可取得较大的隐藏容量。

Description

一种基于预测模式的H.264/AVC视频信息隐藏方法
技术领域
本发明涉及一种视频的信息隐藏技术,尤其是涉及一种基于预测模式的H.264/AVC视频信息隐藏方法。
背景技术
信息隐藏技术作为数字媒体的版权保护、内容认证以及隐秘通信的有效手段,已经成为多媒体信息安全领域研究的热点。信息隐藏技术是利用人类感知特性及数字媒体自身的冗余,将隐秘信息或版权信息嵌入到宿主载体信号中,宿主载体信号可以是图像、音频、视频、文本等等。与加密技术相比,信息隐藏技术除通信双方以外的任何第三方并不知道秘密通信的存在,因而具有更大的隐蔽性和安全性。
目前,绝大多数的视频信息隐藏方法是在未压缩的视频载体中进行,这类视频信息隐藏方法不能有效地抵抗压缩攻击,即未压缩的视频载体嵌入隐秘信息后再经过压缩编码后将无法正确地提取出隐秘信息;另一方面,由于未压缩的视频载体往往数据量巨大,这样对其的存储和传输造成了极大的不便,因此目前数字视频载体大都是以压缩编码的格式出现,对压缩的视频载体如果仍使用这类应用于未压缩的视频载体的信息隐藏方法,势必需要先将压缩的视频载体从压缩域还原到未压缩域,然后才能进行隐秘信息的嵌入和提取,这将使这类视频信息隐藏方法的计算复杂度和计算量显著增加,且也难以满足实时性方面的要求。
为解决上述应用于未压缩的视频载体的信息隐藏方法存在的缺陷,相关研究人员开始了针对压缩视频的信息隐藏技术的研究,研究得出的压缩视频的信息隐藏方法中绝大多数是通过调整DCT(Discrete Cosine Transform,离散余弦变换)系数和运动矢量来嵌入隐秘信息的。然而,具有高效压缩编码性能的H.264/AVC视频压缩编码标准的出现大大增加了隐秘信息嵌入和提取的难度,预测残差数据经DCT变换和量化后,非零DCT系数稀少,且非零DCT系数幅值偏小,通过修改DCT系数进行隐秘信息嵌入的方法很难适用于H.264/AVC标准的视频载体。为此,研究者也探索基于H.264/AVC视频压缩编码标准新特性的视频信息隐藏技术,其中一类方法是通过修改IPCM(Intra-frame PulseCode Modulation)宏块中的亮度和色度样本低比特位来嵌入隐秘信息,但是IPCM宏块的个数非常少,这样使得隐秘信息的嵌入容量较小,若强制将某些宏块进行IPCM编码,则会降低编码效率;另外一些方法是通过限定帧间或帧内的宏块类型来嵌入隐秘信息,这类方法的隐秘信息隐藏容量较小,即每个宏块只能嵌入1比特位信息,且宏块类型的改变将会对视频质量和编码码率产生较大的影响。
发明内容
本发明所要解决的技术问题是提供一种能够与H.264/AVC视频压缩编码标准相兼容,并具有较高的信息隐藏容量,且能够有效保证隐秘信息的安全性和不可感知性的基于预测模式的H.264/AVC视频信息隐藏方法。
本发明解决上述技术问题所采用的技术方案为:一种基于预测模式的H.264/AVC视频信息隐藏方法,H.264/AVC视频主要由I帧图像、B帧图像和P帧图像组成,所述的I帧图像包括至少一个I片,所述的B帧图像包括至少一个B片,所述的P帧图像包括至少一个P片,所述的I片主要由若干个I宏块组成,所述的B片主要由若干个B宏块和若干个I宏块组成,所述的P片主要由若干个P宏块和若干个I宏块组成,所述的I宏块的编码模式分为Intra_4×4和Intra_16×16两类,Intra_4×4编码模式用数字9标识,Intra_16×16编码模式用数字10标识,当所述的I宏块使用Intra_4×4编码模式时,所述的I宏块分为16个4×4亮度块,所述的4×4亮度块具有DC预测模式和八种方向预测模式,所述的DC预测模式用数字2标识,所述的八种方向预测模式包括垂直、水平、下左对角线、下右对角线、右垂直、下水平、左垂直和上水平方向预测模式,所述的垂直方向预测模式用数字0标识,所述的水平方向预测模式用数字1标识,所述的下左对角线方向预测模式用数字3标识,所述的下右对角线方向预测模式用数字4标识,所述的右垂直方向预测模式用数字5标识,所述的下水平方向预测模式用数字6标识,所述的左垂直方向预测模式用数字7标识,所述的上水平方向预测模式用数字8标识,所述的B宏块的编码模式分为DIRECT、Inter_16×16、Inter_16×8、Inter_8×16及Inter_8×8五类,所述的DIRECT编码模式用数字0标识,所述的Inter_16×16编码模式用数字1标识,所述的Inter_16×8编码模式用数字2标识,所述的Inter_8×16编码模式用数字3标识,所述的Inter_8×8编码模式用数字8标识,所述的P宏块的编码模式分为SKIP、Inter_16×16、Inter_16×8及Inter_8×16、Inter_8×8五类,所述的SKIP编码模式用数字0标识,所述的Inter_16×16编码模式用数字1标识,所述的Inter_16×8编码模式用数字2标识,所述的Inter_8×16编码模式用数字3标识,所述的Inter_8×8编码模式用数字8标识,基于预测模式的H.264/AVC视频信息隐藏方法包括以下步骤:
①-1、在隐秘信息嵌入端,对于当前需嵌入隐秘信息的H.264/AVC视频以宏块为单位进行隐秘信息的嵌入和编码,定义当前正在处理的宏块为当前宏块,判断当前宏块是否属于I片,如果是,则继续执行,否则,执行步骤①-8;
①-2、判断当前宏块的编码模式为Intra_4×4编码模式还是Intra_16×16编码模式,如果当前宏块的编码模式为Intra_16×16编码模式,则对当前宏块不进行隐秘信息的嵌入,然后利用Intra_16×16编码模式对当前宏块进行编码,再继续执行步骤①-11;如果当前宏块的编码模式为Intra_4×4编码模式,则先对当前宏块中的16个4×4亮度块进行编号,对每个4×4亮度块设置一个用于标志各个4×4亮度块的预测模式的模式标志prev_intra4×4_pred_mode,然后随机选定一个用于唯一确定一个混沌序列的初始值K2,并保存初始值K2,利用初始值K2生成一个长度为16的第一混沌序列S1,将第一混沌序列S1中的每个元素乘以16并向下取整,得到一个取值范围在[1,16]的第一整数序列S2,再从第一整数序列S2中选取n个互不相等的元素,得到第一下标序列Sindex,利用第一下标序列Smdex从当前宏块中选择与第一下标序列Sindex中的各个元素相对应的4×4亮度块,并将所选择的4×4亮度块作为隐藏块,其中,1≤n≤16,再继续执行;
①-3、定义当前宏块中当前待处理的4×4亮度块为当前4×4亮度块,定义与当前4×4亮度块相邻且位于当前4×4亮度块左方的4×4亮度块为左相邻块,定义与当前4×4亮度块相邻且位于当前4×4亮度块上方的4×4亮度块为上相邻块,获取当前4×4亮度块采用的预测模式和最可能模式MPM,具体过程为:a.首先遍历当前4×4亮度块具有的DC预测模式和八种方向预测模式,计算当前4×4亮度块在各个预测模式下的率失真开销,并保存计算得到的各个率失真开销,然后按大小顺序对各个率失真开销进行排序,将率失真开销最小的预测模式确定为当前4×4亮度块的最优预测模式best_ip mode,将率失真开销次小的预测模式确定为当前4×4亮度块的次优预测模式,再将当前4×4亮度块的最优预测模式best_ip mode作为当前4×4亮度块采用的预测模式;b.判断当前4×4亮度块的左相邻块和上相邻块是否存在,当当前4×4亮度块仅存在左相邻块或仅存在上相邻块或左相邻块和上相邻块均不存在时,当前4×4亮度块的最可能模式MPM为DC预测模式,当当前4×4亮度块的左相邻块和上相邻块均存在时,根据当前4×4亮度块的左相邻块和上相邻块采用的预测模式,计算当前4×4亮度块的最可能模式MPM=min{Ma,Mb},其中,Ma为当前4×4亮度块的左相邻块采用的预测模式,Mb为当前4×4亮度块的上相邻块采用的预测模式;
①-4、判断当前4×4亮度块的最优预测模式best_ip mode与最可能模式MPM是否相同,如果相同,则对当前4×4亮度块不进行隐秘信息的嵌入,并将当前4×4亮度块的模式标志prev_intra4×4_pred_mode置为1,保持当前4×4亮度块采用的预测模式不变,然后利用当前4×4亮度块采用的预测模式对当前4×4亮度块进行编码,再将下一个待处理的4×4亮度块作为当前4×4亮度块,返回步骤①-3继续执行,否则,将当前4×4亮度块的模式标志prev_intra4×4_pred_mode置为0,并继续执行;
①-5、判断当前4×4亮度块是否为隐藏块,如果是,则对当前4×4亮度块进行隐秘信息的嵌入,并继续执行,否则,对当前4×4亮度块不进行隐秘信息的嵌入,并保持当前4×4亮度块采用的预测模式不变,然后利用当前4×4亮度块采用的预测模式对当前4×4亮度块进行编码,再将下一个待处理的4×4亮度块作为当前4×4亮度块,返回步骤①-3继续执行;
①-6、根据待嵌入的隐秘信息中当前需嵌入的比特值对当前4×4亮度块采用的预测模式进行修改,具体过程为:判断当前需嵌入的比特值为1还是0,如果当前需嵌入的比特值为1,则再判断当前4×4亮度块采用的预测模式的标识为奇数还是0或偶数,当当前4×4亮度块采用的预测模式的标识为奇数时,保持当前4×4亮度块采用的预测模式不变,然后利用当前4×4亮度块采用的预测模式对当前4×4亮度块进行编码,再继续执行步骤①-7,当当前4×4亮度块采用的预测模式的标识为0或偶数时,判断当前4×4亮度块的次优预测模式的标识为奇数还是0或偶数,如果当前4×4亮度块的次优预测模式的标识为奇数,则将当前4×4亮度块采用的预测模式从最优预测模式修改为次优预测模式,然后利用次优预测模式对当前4×4亮度块进行编码,再继续执行步骤①-7,如果当前4×4亮度块的次优预测模式的标识为0或偶数,则按序对率失真开销大于次优预测模式的率失真开销对应的预测模式进行判断,直至获得一个标识为奇数的预测模式,然后将当前4×4亮度块采用的预测模式从最优预测模式修改为获得的标识为奇数的预测模式,然后利用获得的标识为奇数的预测模式对当前4×4亮度块进行编码,再继续执行步骤①-7;如果当前需嵌入的比特值为0,则再判断当前4×4亮度块采用的预测模式的标识为奇数还是0或偶数,当当前4×4亮度块采用的预测模式的标识为0或偶数时,保持当前4×4亮度块采用的预测模式不变,然后利用当前4×4亮度块采用的预测模式对当前4×4亮度块进行编码,再继续执行步骤①-7,当当前4×4亮度块采用的预测模式的标识为奇数时,判断当前4×4亮度块的次优预测模式的标识为奇数还是0或偶数,如果当前4×4亮度块的次优预测模式的标识为0或偶数,则将当前4×4亮度块采用的预测模式从最优预测模式修改为次优预测模式,然后利用次优预测模式对当前4×4亮度块进行编码,再继续执行步骤①-7,如果当前4×4亮度块的次优编码模式的标识为奇数,则按序对率失真开销大于次优预测模式的率失真开销对应的预测模式进行判断,直至获得一个标识为0或偶数的预测模式,然后将当前4×4亮度块采用的预测模式从最优预测模式修改为获得的标识为0或偶数的预测模式,然后利用获得的标识为0或偶数的预测模式对当前4×4亮度块进行编码,再继续执行步骤①-7;
①-7、将下一个待处理的4×4亮度块作为当前4×4亮度块,然后返回执行步骤①-3,直至处理完当前宏块中所有的4×4亮度块,再继续执行步骤①-11;
①-8、判断当前宏块是否属于B片,如果是,则继续执行,否则,执行步骤①-10;
①-9、计算当前宏块在各个编码模式下的率失真开销,并保存计算得到的各个率失真开销,按大小顺序对各个率失真开销进行排序,将率失真开销最小的编码模式确定为当前宏块的最优编码模式,将率失真开销次小的编码模式确定为当前宏块的次优编码模式,然后将当前宏块的最优编码模式作为当前宏块采用的编码模式,再判断当前宏块采用的编码模式是否为DIRECT编码模式,如果是,则对当前宏块不进行隐秘信息的嵌入,然后利用当前宏块采用的编码模式对当前宏块进行编码,再继续执行步骤①-11,否则,再判断待嵌入的隐秘信息中当前需嵌入的比特值为1还是0,如果当前需嵌入的比特值为1,则判断当前宏块采用的编码模式的标识为奇数还是偶数,当当前宏块采用的编码模式的标识为奇数时,保持当前宏块采用的编码模式不变,然后利用当前宏块采用的编码模式对当前宏块进行编码,再继续执行步骤①-11,当当前宏块采用的编码模式的标识为偶数时,判断当前宏块的次优编码模式的标识为奇数还是偶数,如果当前宏块的次优编码模式的标识为奇数,则将当前宏块采用的编码模式从最优编码模式修改为次优编码模式,然后利用当前宏块的次优编码模式对当前宏块进行编码,再继续执行步骤①-11,如果当前宏块的次优编码模式的标识为偶数,则按序对率失真开销大于次优编码模式的率失真开销对应的编码模式进行判断,直至获得一个标识为奇数的编码模式,然后将当前宏块采用的编码模式从最优编码模式修改为获得的标识为奇数的编码模式,然后利用获得的标识为奇数的编码模式对当前宏块进行编码,再继续执行步骤①-11,如果当前需嵌入的比特值为0,则判断当前宏块采用的编码模式的标识为奇数还是偶数,当当前宏块采用的编码模式的标识为偶数时,保持当前宏块采用的编码模式不变,然后利用当前宏块采用的编码模式对当前宏块进行编码,再继续执行步骤①-11,当当前宏块采用的编码模式的标识为奇数时,判断当前宏块的次优编码模式的标识为奇数还是偶数,如果当前宏块的次优编码模式的标识为偶数,则将当前宏块采用的编码模式从最优编码模式修改为次优编码模式,然后利用当前宏块的次优编码模式对当前宏块进行编码,再继续执行步骤①-11,如果当前宏块的次优编码模式的标识为奇数,则按序对率失真开销大于次优编码模式的率失真开销对应的编码模式进行判断,直至获得一个标识为偶数的编码模式,然后将当前宏块采用的编码模式从最优编码模式修改为获得的标识为偶数的编码模式,然后利用获得的标识为偶数的编码模式对当前宏块进行编码,再继续执行步骤①-11;
①-10、计算当前宏块在各个编码模式下的率失真开销,并保存计算得到的各个率失真开销,按大小顺序对各个率失真开销进行排序,将率失真开销最小的编码模式确定为当前宏块的最优编码模式,将率失真开销次小的编码模式确定为当前宏块的次优编码模式,然后将当前宏块的最优编码模式作为当前宏块采用的编码模式,再判断当前宏块采用的编码模式是否为SKIP编码模式,如果是,则对当前宏块不进行隐秘信息的嵌入,然后利用当前宏块采用的编码模式对当前宏块进行编码,再继续执行步骤①-11,否则,再判断待嵌入的隐秘信息中当前需嵌入的比特值为1还是0,如果当前需嵌入的比特值为1,则判断当前宏块采用的编码模式的标识为奇数还是偶数,当当前宏块采用的编码模式的标识为奇数时,保持当前宏块采用的编码模式不变,然后利用当前宏块采用的编码模式对当前宏块进行编码,再继续执行步骤①-11,当当前宏块采用的编码模式的标识为偶数时,判断当前宏块的次优编码模式的标识为奇数还是偶数,如果当前宏块的次优编码模式的标识为奇数,则将当前宏块采用的编码模式从最优编码模式修改为次优编码模式,然后利用当前宏块的次优编码模式对当前宏块进行编码,再继续执行步骤①-11,如果当前宏块的次优编码模式的标识为偶数,则按序对率失真开销大于次优编码模式的率失真开销对应的编码模式进行判断,直至获得一个标识为奇数的编码模式,然后将当前宏块采用的编码模式从最优编码模式修改为获得的标识为奇数的编码模式,然后利用获得的标识为奇数的编码模式对当前宏块进行编码,再继续执行步骤①-11,如果当前需嵌入的比特值为0,则判断当前宏块采用的编码模式的标识为奇数还是偶数,当当前宏块采用的编码模式的标识为偶数时,保持当前宏块采用的编码模式不变,然后利用当前宏块采用的编码模式对当前宏块进行编码,再继续执行步骤①-11,当当前宏块采用的编码模式的标识为奇数时,判断当前宏块的次优编码模式的标识为奇数还是偶数,如果当前宏块的次优编码模式的标识为偶数,则将当前宏块采用的编码模式从最优编码模式修改为次优编码模式,然后利用当前宏块的次优编码模式对当前宏块进行编码,再继续执行步骤①-11,如果当前宏块的次优编码模式的标识为奇数,则按序对率失真开销大于次优编码模式的率失真开销对应的编码模式进行判断,直至获得一个标识为偶数的编码模式,然后将当前宏块采用的编码模式从最优编码模式修改为获得的标识为偶数的编码模式,然后利用获得的标识为偶数的编码模式对当前宏块进行编码,再继续执行步骤①-11;
①-11、将下一个待处理的宏块作为当前宏块,并返回步骤①-1继续执行,直至待嵌入的隐秘信息中所有的比特值均嵌入完成,得到含隐秘信息的H.264/AVC视频码流;
①-12、隐秘信息嵌入端将含隐秘信息的H.264/AVC视频码流发送给隐秘信息提取端;
②-1、在隐秘信息提取端,隐秘信息提取端利用H.264/AVC标准解码器对其接收到的含隐秘信息的H.264/AVC视频码流以宏块为单位进行解码;
②-2、定义当前解码得到的宏块为当前宏块,判断当前宏块是否属于I片,如果是,则继续执行,否则,执行步骤②-8;
②-3、判断当前宏块的编码模式为Intra_4×4编码模式还是Intra_16×16编码模式,如果当前宏块的编码模式为Intra_16×16编码模式,则对当前宏块不进行隐秘信息的提取,再执行步骤②-11;如果当前宏块的编码模式为Intra_4×4编码模式,则先对当前宏块中的16个4×4亮度块进行编号,然后利用在隐秘信息嵌入端保存的初始值K2生成一个与隐秘信息嵌入端的第一混沌序列S1相同的第二混沌序列S′1,将第二混沌序列S′1中的每个元素乘以16并向下取整,得到一个取值范围在[1,16]的第二整数序列S′2,再从第二整数序列S′2中选取与隐秘信息嵌入端的第一下标序列Sindex中的元素位置相对应的n个互不相等的元素,得到第二下标序列S′index,利用第二下标序列S′index从当前宏块中选择与第第二下标序列S′index中的各个元素相对应的4×4亮度块,并将所选择的4×4亮度块作为判断块,其中,1≤n≤16,再继续执行;
②-4、定义当前宏块中当前待处理的4×4亮度块为当前4×4亮度块,判断当前4×4亮度块是否为判断块,如果是,则继续执行,否则,对当前4×4亮度块不进行隐秘信息的提取,并将下一个待处理的4×4亮度块作为当前4×4亮度块,再重复执行该步骤;
②-5、判断当前4×4亮度块的模式标志prev_intra4×4_pred_mode为1还是0,如果为1,则对当前4×4亮度块不进行隐秘信息的提取,并执行步骤②-7,如果为0,则继续执行;
②-6、判断当前4×4亮度块采用的预测模式的标识为奇数还是偶数,如果为奇数,则提取出嵌入的比特值1,然后执行步骤②-7,如果为偶数,则提取出嵌入的比特值0,然后执行步骤②-7;
②-7、将下一个待处理的4×4亮度块作为当前4×4亮度块,再返回步骤②-4继续执行,直至处理完当前宏块中所有的4×4亮度块,再继续执行步骤②-11;
②-8、判断当前宏块是否属于B片,如果是,则继续执行,否则,执行步骤②-10;
②-9、判断当前宏块采用的编码模式是否为DIRECT编码模式,如果是,则对当前宏块不进行隐秘信息的提取,然后执行步骤②-11,否则,再判断当前宏块采用的编码模式的标识为奇数还是偶数,当当前宏块采用的编码模式的标识为奇数时,提取出嵌入的比特值1,然后执行步骤②-11,当当前宏块采用的编码模式的标识为偶数时,提取出嵌入的比特值0,然后执行步骤②-11;
②-10、判断当前宏块采用的编码模式是否为SKIP编码模式,如果是,则对当前宏块不进行隐秘信息的提取,然后执行步骤②-11,否则,再判断当前宏块采用的编码模式的标识为奇数还是偶数,当当前宏块采用的编码模式的标识为奇数时,提取出嵌入的比特值1,然后执行步骤②-11,当当前宏块采用的编码模式的标识为偶数时,提取出嵌入的比特值0,然后执行步骤②-11;
②-11、将下一个解码得到的宏块作为当前宏块,并返回步骤②-2重复执行,直至提取出含隐秘信息的H.264/AVC视频码流中嵌入的所有比特值。
在隐秘信息嵌入端,在嵌入隐秘信息之前先对待嵌入的隐秘信息进行加密处理,以增加攻击的复杂度,具体过程为:随机选择一个初始密钥值K1,并保存初始密钥值K1,根据初始密钥值K1并利用Matlab中的randint()函数产生一个大小与待嵌入的隐秘信息的大小相同的随机矩阵,利用该随机矩阵采用异或方式对待嵌入的隐秘信息进行加密,并采用现有的扫描方式将加密形成的二维矩阵转换为一维序列。
在隐秘信息提取端,在提取出隐秘信息中所有的比特值后将提取出的隐秘信息转换为二维矩阵,然后根据保存的初始密钥值K1并利用Matlab中的randint()函数产生一个大小与待嵌入的隐秘信息的大小相同的随机矩阵,利用该随机矩阵对二维矩阵进行解密,得到原始的隐秘信息。
与现有技术相比,本发明的优点在于:
1)、对于I片中编码模式为Intra_4×4的宏块,在必须改变4×4亮度块的预测模式的情况下,通过将4×4亮度块的预测模式从最优预测模式向次优预测模式方向调制,对于P片及B片中编码模式标识不为0的宏块,在必须改变宏块的编码模式的情况下,通过将宏块的编码模式从最优编码模式向次优编码模式方向调制,在保证能够有效实现隐秘信息隐藏的同时,可以尽量减小预测模式或编码模式的改变对视频客观质量的影响;另一方面,由于隐秘信息不仅可以嵌入在编码模式为Intra_4×4且属于I片中的I宏块中,也可以嵌入在P片和B片中编码模式标识不为0的宏块中,因而可取得较大的隐藏容量,同时,用户可根据隐藏数据量的大小和视觉效果的需要,选择I片中编码模式为Intra_4×4的宏块中用于嵌入隐秘信息的4×4亮度块的个数,具有较好的灵活性。
2)、对于I片中编码模式为Intra_4×4的宏块,通过使用混沌序列来选择嵌入隐秘信息的位置,由混沌映射对初始值的极端敏感性可知,在没有得到初始值的情况下,无法推测出正确的混沌序列,从而不可能定位隐秘信息隐藏的位置,提高了安全性。
3)、在嵌入隐秘信息之前通过利用初始密钥值对待嵌入的隐秘信息进行加密处理,这样使得在初始密钥值未知的前提下,非授权者无法获取嵌入的隐秘信息,增加了攻击的复杂度,提高了安全性。
4)、隐秘信息的嵌入与提取的实现过程简单、快速,可以方便地集成在H.264/AVC编码器中,最终生成的码流仍可正常解码;在隐秘信息提取端,隐秘信息的提取过程不需要原始载体视频,也无需对含隐秘信息的视频码流进行完全解码,只需对各宏块的预测模式或编码模式进行解码即可,具有较高的实时性和实用性。
附图说明
图1为根据JM模型对Intra_4×4编码模式的宏块中的16个4×4亮度块进行编号的示意图;
图2为在16个4×4亮度块中确定隐藏块的过程示意图;
图3为隐秘信息嵌入的流程框图;
图4为QCIF格式的标准测试序列Container的第一帧图像;
图5为代表待嵌入的隐秘信息的二值图像;
图6为对图5所示的二值图像进行加密后得到的结果示意图;
图7为当前4×4亮度块E与其左相邻块A及上相邻块B之间的位置示意图;
图8为解码测试序列Container的第一帧图像进行编码后的图像得到的图像;
图9为恢复的代表隐秘信息的二值图像。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
H.264/AVC视频主要由I帧图像、B帧图像和P帧图像组成,I帧图像包括至少一个I片,B帧图像包括至少一个B片,P帧图像包括至少一个P片,I片包括I宏块,B片可包括B宏块和I宏块,P片可包括P宏块和I宏块,在H.264/AVC帧内模式中,I宏块的编码模式分为Intra_4×4和Intra_16×16两类,Intra_4×4编码模式用数字9标识,Intra_16×16编码模式用数字10标识,当I宏块使用Intra_4×4编码模式时,I宏块分为16个4×4亮度块,4×4亮度块具有DC预测模式和八种方向预测模式,DC预测模式用数字2标识,八种方向预测模式包括垂直、水平、下左对角线、下右对角线、右垂直、下水平、左垂直和上水平方向预测模式,垂直方向预测模式用数字0标识,水平方向预测模式用数字1标识,下左对角线方向预测模式用数字3标识,下右对角线方向预测模式用数字4标识,右垂直方向预测模式用数字5标识,下水平方向预测模式用数字6标识,左垂直方向预测模式用数字7标识,上水平方向预测模式用数字8标识,在H.264/AVC帧间模式中,B宏块的编码模式分为DIRECT、Inter_16×16、Inter_16×8、Inter_8×16及Inter_8×8五类,DIRECT编码模式用数字0标识,Inter_16×16编码模式用数字1标识,Inter_16×8编码模式用数字2标识,Inter_8×16编码模式用数字3标识,Inter_8×8编码模式用数字8标识,P宏块的编码模式分为SKIP、Inter_16×16、Inter_16×8及Inter_8×16、Inter_8×8五类,SKIP编码模式用数字0标识,Inter_16×16编码模式用数字1标识,Inter_16×8编码模式用数字2标识,Inter_8×16编码模式用数字3标识,Inter_8×8编码模式用数字8标识。
本发明的基于预测模式的H.264/AVC视频信息隐藏方法,在隐秘信息嵌入端,选择在I片中编码模式为Intra_4×4的宏块、P片中编码模式不为SKIP编码模式的宏块及B片中编码模式不为DIRECT编码模式的宏块中进行隐秘信息的嵌入;对于I片中编码模式为Intra_4×4的宏块,通过调整宏块中16个4×4亮度块的预测模式来嵌入隐秘信息,为了增强隐秘信息的安全性,利用混沌序列来选择需要隐藏隐秘信息的位置,每个宏块中可以随机选择多个4×4亮度块进行隐秘信息的嵌入,从而在隐藏隐秘信息容量方面有很大的灵活性,能够在视频感知质量和隐藏容量之间得到比较好的平衡;对于P片中编码模式不为SKIP编码模式的宏块及B片中编码模式不为DIRECT编码模式的宏块,则直接调制宏块的编码模式来嵌入隐秘信息,即将宏块的编码模式的标识的奇偶性调制为与待嵌入的隐秘信息中当前需嵌入的比特值一致;在隐秘信息提取端,根据解码得到宏块的编码模式即可实现隐秘信息的提取,可满足实时性需求。
在描述本发明的具体实施过程之前,先说明在此具体实施例中采用的原始载体视频及待嵌入的隐秘信息。在此具体实施例中原始载体视频采用QCIF格式的标准测试序列Container,该测试序列Container的分辨率为176×144,帧率为30帧/秒,图像组设定“IBPBPBPBPB”结构,该测试序列Container的第一帧图像如图4所示;待嵌入的隐秘信息采用大小为64×64的二值图像,如图5所示。除在此该出的测试序列外,也可采用QCIF格式的其他测试序列,也可采用其他格式如CIF格式的其他标准测试序列;隐秘信息也可采用二值随机序列,采用的二值图像的大小或二值随机序列的长度与原始载体视频的帧数、图像组结构以及视频图像的复杂度等有关,若隐秘信息太大,则不能全部嵌入。在实际应用过程中可根据实际情况确定,一般199帧“IBPBPBPBPB”结构的视频序列,可采用的隐秘信息大小为4096比特。
在上述说明的基础上详细描述本发明方法的具体步骤:
①-1、在隐秘信息嵌入端,为了提高隐秘通信的安全性,在嵌入隐秘信息之前可先对待嵌入的隐秘信息进行加密处理,这样能够增加攻击的复杂度,使外界很难进行破解。对待嵌入的隐秘信息进行加密处理的具体过程为:随机选择一个初始密钥值K1,初始密钥值K1可以是任意数,一般情况下采用整数,并保存初始密钥值K1,根据初始密钥值K1并利用Matlab中的randint()函数产生一个大小为64×64的随机矩阵,该随机矩阵的大小与待嵌入的隐秘信息的大小(隐秘信息的大小为64×64)相同,利用该随机矩阵采用异或方式对待嵌入的隐秘信息进行加密,对图5所示的隐秘信息进行加密后的结果如图6所示。同时为了方便隐秘信息的嵌入,采用现有的扫描方式将加密形成的二维矩阵转换为一维序列,共64×64=4096比特,在此现有的扫描方式可以为按列扫描,也可以是按行扫描,也可以是按对角线的方式进行扫描,也可采用其他现有的成熟的扫描方式。
对待嵌入的隐秘信息进行加密后,对于当前需嵌入隐秘信息的H.264/AVC视频以宏块为单位进行隐秘信息的嵌入和编码,隐秘信息嵌入的过程如图3所示。定义当前正在处理的宏块为当前宏块,判断当前宏块是否属于I片,如果是,则继续执行,否则,执行步骤①-8。
①-2、判断当前宏块的编码模式为Intra_4×4编码模式还是Intra_16×16编码模式,如果当前宏块的编码模式为Intra_16×16编码模式,则对当前宏块不进行隐秘信息的嵌入,然后利用Intra_16×16编码模式对当前宏块进行编码,再继续执行步骤①-11。如果当前宏块的编码模式为Intra_4×4编码模式,则先对当前宏块中的16个4×4亮度块进行编号,编号方式如图1所示,对每个4×4亮度块设置一个用于标志各个4×4亮度块的预测模式的模式标志prev_intra4×4_pred_mode,然后随机选定一个用于唯一确定一个混沌序列如Logistic序列的初始值K2,初始值K2可以是任意数,一般情况下采用整数,并保存初始值K2,利用初始值K2生成一个长度为16的第一混沌序列S1,将第一混沌序列S1中的每个元素乘以16并向下取整,得到一个取值范围在[1,16]的第一整数序列S2,再从第一整数序列S2中选取n个互不相等的元素,得到第一下标序列Sindex,利用第一下标序列Sindex从当前宏块中选择与第一下标序列Sindex中的各个元素相对应的4×4亮度块,并将所选择的4×4亮度块作为隐藏块,如图2所示,再继续执行。在此,1≤n≤16,具体的n值可根据需要设定,n越大,信息隐藏容量越大,但是码率也会越大,一般情况下用户可以根据隐藏数据量的大小和视觉效果的需要选择用于嵌入隐秘信息的4×4亮度块的个数,具有较好的灵活性;Logistic序列映射的初始值K2可以作为整个信息隐藏的密钥,在恢复时,仅需要密钥即可方便、准确的定位隐藏位置。
在此,由于Intra_4×4编码模式适用于图像细节变化比较明显的区域,而Intra_16×16编码模式适合于图像中的平滑区域,再加上人眼对图像细节区域敏感度低于平滑区域,因此在本发明中选择编码模式为Intra_4×4编码模式的宏块进行隐秘信息的嵌入,而编码模式为Intra_16×16的宏块则保持不变,即不进行隐秘信息的嵌入,直接进行编码,编码模式为Intra_16×16的宏块具有4种预测模式,在编码之前先需计算宏块在各个预测模式下的率失真开销,将率失真开销最小的预测模式作为宏块采用的预测模式,利用确定的预测模式对该宏块进行编码。
步骤①-1中使用了初始密钥值对要嵌入的隐秘信息进行了加密处理,在步骤①-2中使用了混沌序列来选择嵌入隐秘信息的位置,两者的结合构成了双重密钥,大大增加了系统的安全性。
①-3、定义当前宏块中当前待处理的4×4亮度块为当前4×4亮度块,定义与当前4×4亮度块相邻且位于当前4×4亮度块左方的4×4亮度块为左相邻块,定义与当前4×4亮度块相邻且位于当前4×4亮度块上方的4×4亮度块为上相邻块,获取当前4×4亮度块采用的预测模式和最可能模式MPM,具体过程为:a.首先遍历当前4×4亮度块具有的DC预测模式和八种方向预测模式,即采用全搜索方式,计算当前4×4亮度块在各个预测模式下的率失真开销,并保存计算得到的各个率失真开销,然后按大小顺序对各个率失真开销进行排序,将率失真开销最小的预测模式确定为当前4×4亮度块的最优预测模式best_ip mode,将率失真开销次小的预测模式确定为当前4×4亮度块的次优预测模式,再将当前4×4亮度块的最优预测模式best_ip mode作为当前4×4亮度块采用的预测模式;b.判断当前4×4亮度块的左相邻块和上相邻块是否存在,当当前4×4亮度块仅存在左相邻块或仅存在上相邻块或左相邻块和上相邻块均不存在时,当前4×4亮度块的最可能模式MPM为DC预测模式,当当前4×4亮度块的左相邻块和上相邻块均存在时,根据当前4×4亮度块的左相邻块和上相邻块采用的预测模式,计算当前4×4亮度块的最可能模式MPM=min{Ma,Mb},其中,Ma为当前4×4亮度块的左相邻块采用的预测模式,Mb为当前4×4亮度块的上相邻块采用的预测模式。图7给出了一个4×4亮度块E与其左相邻块A及上相邻块B的位置示意图。
率失真开销函数为:
J(s,c,IMODE |QP,λMODE)=SSD(s,c,IMODE |QP)+λMODE·R(s,c,IMODE |QP),
其中,IMODE∈{all nine Intra4×4modes},QP代表量化参数,λMODE为Lagrange乘数(λMODE=0.85×2(QP-12)/3),s和c分别代表原始块和重建块,R为编码当前预测模式所需的比特数,SSD为误差平方和,其计算如下式, SSD = Σ i , j [ s ( i , j ) - c ( i , j ) ] 2 , s(i,j)表示原始块中坐标为(i,j)的像素的像素值,c(i,j)表示重建块中坐标为(i,j)的像素的像素值。
①-4、判断当前4×4亮度块的最优预测模式best_ip mode与最可能模式MPM是否相同,如果相同,则对当前4×4亮度块不进行隐秘信息的嵌入,并将当前4×4亮度块的模式标志prev_intra4×4_pred_mode置为1,保持当前4×4亮度块采用的预测模式不变,然后利用当前4×4亮度块采用的预测模式对当前4×4亮度块进行编码,再将下一个待处理的4×4亮度块作为当前4×4亮度块,返回步骤①-3继续执行,否则,将当前4×4亮度块的模式标志prev_intra4×4_pred_mode置为0,并继续执行。
①-5、判断当前4×4亮度块是否为隐藏块,如果是,则对当前4×4亮度块进行隐秘信息的嵌入,并继续执行,否则,对当前4×4亮度块不进行隐秘信息的嵌入,并保持当前4×4亮度块采用的预测模式不变,然后利用当前4×4亮度块采用的预测模式对当前4×4亮度块进行编码,再将下一个待处理的4×4亮度块作为当前4×4亮度块,返回步骤①-3继续执行。
①-6、根据待嵌入的隐秘信息中当前需嵌入的比特值对当前4×4亮度块采用的预测模式进行修改,具体过程为:判断当前需嵌入的比特值为1还是0,如果当前需嵌入的比特值为1,则再判断当前4×4亮度块采用的预测模式的标识为奇数还是0或偶数,当当前4×4亮度块采用的预测模式的标识为奇数时,保持当前4×4亮度块采用的预测模式不变,然后利用当前4×4亮度块采用的预测模式对当前4×4亮度块进行编码,再继续执行步骤①-7,当当前4×4亮度块采用的预测模式的标识为0或偶数时,判断当前4×4亮度块的次优预测模式的标识为奇数还是0或偶数,如果当前4×4亮度块的次优预测模式的标识为奇数,则将当前4×4亮度块采用的预测模式从最优预测模式修改为次优预测模式,然后利用次优预测模式对当前4×4亮度块进行编码,再继续执行步骤①-7,如果当前4×4亮度块的次优预测模式的标识为0或偶数,则按序对率失真开销大于次优预测模式的率失真开销对应的预测模式进行判断,直至获得一个标识为奇数的预测模式,然后将当前4×4亮度块采用的预测模式从最优预测模式修改为获得的标识为奇数的预测模式,然后利用获得的标识为奇数的预测模式对当前4×4亮度块进行编码,再继续执行步骤①-7。如果当前需嵌入的比特值为0,则嵌入方式与嵌入比特值1时相类似,不同的是当前需嵌入的比特值为0时需将当前4×4亮度块的预测模式的标识调制为0或偶数,其具体过程为:判断当前4×4亮度块采用的预测模式的标识为奇数还是0或偶数,当当前4×4亮度块采用的预测模式的标识为0或偶数时,保持当前4×4亮度块采用的预测模式不变,然后利用当前4×4亮度块采用的预测模式对当前4×4亮度块进行编码,再继续执行步骤①-7,当当前4×4亮度块采用的预测模式的标识为奇数时,判断当前4×4亮度块的次优预测模式的标识为奇数还是0或偶数,如果当前4×4亮度块的次优预测模式的标识为0或偶数,则将当前4×4亮度块采用的预测模式从最优预测模式修改为次优预测模式,然后利用次优预测模式对当前4×4亮度块进行编码,再继续执行步骤①-7,如果当前4×4亮度块的次优编码模式的标识为奇数,则按序对率失真开销大于次优预测模式的率失真开销对应的预测模式进行判断,直至获得一个标识为0或偶数的预测模式,然后将当前4×4亮度块采用的预测模式从最优预测模式修改为获得的标识为0或偶数的预测模式,然后利用获得的标识为0或偶数的预测模式对当前4×4亮度块进行编码,再继续执行步骤①-7。
举例说明,假设当前需嵌入的比特值为0,而当前被选中的当前4×4亮度块的预测模式为7,此时需要对当前4×4亮度块的预测模式进行调整,计算其次优预测模式,假设次优预测模式为0,此时,次优预测模式的奇偶性满足嵌入规则,因此将次优预测模式0作为当前4×4亮度块的预测模式,也即隐秘信息的嵌入需将当前4×4亮度块的预测模式从7替换为0,最终利用预测模式0对当前4×4亮度块进行编码。
①-7、将下一个待处理的4×4亮度块作为当前4×4亮度块,然后返回执行步骤①-3,直至处理完当前宏块中所有的4×4亮度块,再继续执行步骤①-11。
①-8、判断当前宏块是否属于B片,如果是,则继续执行,否则,执行步骤①-10。
①-9、计算当前宏块在各个编码模式下的率失真开销,并保存计算得到的各个率失真开销,按大小顺序对各个率失真开销进行排序,将率失真开销最小的编码模式确定为当前宏块的最优编码模式,将率失真开销次小的编码模式确定为当前宏块的次优编码模式,然后将当前宏块的最优编码模式作为当前宏块采用的编码模式,再判断当前宏块采用的编码模式是否为DIRECT编码模式,如果是,则对当前宏块不进行隐秘信息的嵌入,然后利用当前宏块采用的编码模式对当前宏块进行编码,再继续执行步骤①-11,否则,再判断待嵌入的隐秘信息中当前需嵌入的比特值为1还是0,如果当前需嵌入的比特值为1,则判断当前宏块采用的编码模式的标识为奇数还是偶数,当当前宏块采用的编码模式的标识为奇数时,保持当前宏块采用的编码模式不变,然后利用当前宏块采用的编码模式对当前宏块进行编码,再继续执行步骤①-11,当当前宏块采用的编码模式的标识为偶数时,判断当前宏块的次优编码模式的标识为奇数还是偶数,如果当前宏块的次优编码模式的标识为奇数,则将当前宏块采用的编码模式从最优编码模式修改为次优编码模式,然后利用当前宏块的次优编码模式对当前宏块进行编码,再继续执行步骤①-11,如果当前宏块的次优编码模式的标识为偶数,则按序对率失真开销大于次优编码模式的率失真开销对应的编码模式进行判断,直至获得一个标识为奇数的编码模式,然后将当前宏块采用的编码模式从最优编码模式修改为获得的标识为奇数的编码模式,然后利用获得的标识为奇数的编码模式对当前宏块进行编码,再继续执行步骤①-11,如果当前需嵌入的比特值为0,则嵌入方式与嵌入比特值1时相类似,不同的是当前需嵌入的比特值为0时需将当前宏块的预测模式的标识调制为偶数,其具体过程为:则判断当前宏块采用的编码模式的标识为奇数还是偶数,当当前宏块采用的编码模式的标识为偶数时,保持当前宏块采用的编码模式不变,然后利用当前宏块采用的编码模式对当前宏块进行编码,再继续执行步骤①-11,当当前宏块采用的编码模式的标识为奇数时,判断当前宏块的次优编码模式的标识为奇数还是偶数,如果当前宏块的次优编码模式的标识为偶数,则将当前宏块采用的编码模式从最优编码模式修改为次优编码模式,然后利用当前宏块的次优编码模式对当前宏块进行编码,再继续执行步骤①-11,如果当前宏块的次优编码模式的标识为奇数,则按序对率失真开销大于次优编码模式的率失真开销对应的编码模式进行判断,直至获得一个标识为偶数的编码模式,然后将当前宏块采用的编码模式从最优编码模式修改为获得的标识为偶数的编码模式,然后利用获得的标识为偶数的编码模式对当前宏块进行编码,再继续执行步骤①-11。
举例说明,假设当前需嵌入的比特值为0,若当前宏块的编码模式为Inter_8×8,其标识为8,则编码模式保持不变;若当前宏块的编码模式为Inter_8×16,其标识为3,而次优编码模式为Inter_8×8,则将当前宏块的编码模式从Inter_8×16变为Inter_8×8,也即利用编码模式Inter_8×8对当前宏块进行编码。
在此,由于当前宏块属于B片,因此当前宏块可能为B宏块,也有可能为I宏块,这样的话在计算当前宏块在各个编码模式下的率失真开销过程中,遍历的是七个编码模式,即DIRECT、Inter_16×16、Inter_16×8、Inter_8×16、Inter_8×8、Intra_4×4及Intra_16×16编码模式。
①-10、计算当前宏块在各个编码模式下的率失真开销,并保存计算得到的各个率失真开销,按大小顺序对各个率失真开销进行排序,将率失真开销最小的编码模式确定为当前宏块的最优编码模式,将率失真开销次小的编码模式确定为当前宏块的次优编码模式,然后将当前宏块的最优编码模式作为当前宏块采用的编码模式,再判断当前宏块采用的编码模式是否为SKIP编码模式,如果是,则对当前宏块不进行隐秘信息的嵌入,然后利用当前宏块采用的编码模式对当前宏块进行编码,再继续执行步骤①-11,否则,再判断待嵌入的隐秘信息中当前需嵌入的比特值为1还是0,如果当前需嵌入的比特值为1,则判断当前宏块采用的编码模式的标识为奇数还是偶数,当当前宏块采用的编码模式的标识为奇数时,保持当前宏块采用的编码模式不变,然后利用当前宏块采用的编码模式对当前宏块进行编码,再继续执行步骤①-11,当当前宏块采用的编码模式的标识为偶数时,判断当前宏块的次优编码模式的标识为奇数还是偶数,如果当前宏块的次优编码模式的标识为奇数,则将当前宏块采用的编码模式从最优编码模式修改为次优编码模式,然后利用当前宏块的次优编码模式对当前宏块进行编码,再继续执行步骤①-11,如果当前宏块的次优编码模式的标识为偶数,则按序对率失真开销大于次优编码模式的率失真开销对应的编码模式进行判断,直至获得一个标识为奇数的编码模式,然后将当前宏块采用的编码模式从最优编码模式修改为获得的标识为奇数的编码模式,然后利用获得的标识为奇数的编码模式对当前宏块进行编码,再继续执行步骤①-11,如果当前需嵌入的比特值为0,则判断当前宏块采用的编码模式的标识为奇数还是偶数,当当前宏块采用的编码模式的标识为偶数时,保持当前宏块采用的编码模式不变,然后利用当前宏块采用的编码模式对当前宏块进行编码,再继续执行步骤①-11,当当前宏块采用的编码模式的标识为奇数时,判断当前宏块的次优编码模式的标识为奇数还是偶数,如果当前宏块的次优编码模式的标识为偶数,则将当前宏块采用的编码模式从最优编码模式修改为次优编码模式,然后利用当前宏块的次优编码模式对当前宏块进行编码,再继续执行步骤①-11,如果当前宏块的次优编码模式的标识为奇数,则按序对率失真开销大于次优编码模式的率失真开销对应的编码模式进行判断,直至获得一个标识为偶数的编码模式,然后将当前宏块采用的编码模式从最优编码模式修改为获得的标识为偶数的编码模式,然后利用获得的标识为偶数的编码模式对当前宏块进行编码,再继续执行步骤①-11。
在此,由于当前宏块属于P片,因此当前宏块可能为P宏块,也有可能为I宏块,这样的话在计算当前宏块在各个编码模式下的率失真开销过程中,遍历的是七个编码模式,即SKIP、Inter_16×16、Inter_16×8、Inter_8×16、Inter_8×8、Intra_4×4及Intra_16×16编码模式。
①-11、将下一个待处理的宏块作为当前宏块,并返回步骤①-1继续执行,直至4096比特的隐秘信息中全部嵌入完成,得到含隐秘信息的H.264/AVC视频码流。
①-12、隐秘信息嵌入端将含隐秘信息的H.264/AVC视频码流发送给隐秘信息提取端。
隐秘信息嵌入端对4×4亮度块的预测模式的调制修改或对宏块的编码模式的调制修改即实现了隐秘信息的嵌入。
②-1、在隐秘信息提取端,隐秘信息提取端利用H.264/AVC标准解码器对其接收到的含隐秘信息的H.264/AVC视频码流以宏块为单位进行解码,解码嵌入有隐秘信息的第一帧图像,得到的结果如图8所示,从图8中可以看出嵌入隐秘信息前后视频图像没有可察觉的变化。
②-2、定义当前解码得到的宏块为当前宏块,判断当前宏块是否属于I片,如果是,则继续执行,否则,执行步骤②-8。
②-3、判断当前宏块的编码模式为Intra_4×4编码模式还是Intra_16×16编码模式,如果当前宏块的编码模式为Intra_16×16编码模式,则对当前宏块不进行隐秘信息的提取,再执行步骤②-11;如果当前宏块的编码模式为Intra_4×4编码模式,则先根据JM模型对当前宏块中的16个4×4亮度块进行编号,编号方式如图1所示,然后利用在隐秘信息嵌入端保存的初始值K2生成一个与隐秘信息嵌入端的第一混沌序列S1相同的第二混沌序列S′1,将第二混沌序列S′1中的每个元素乘以16并向下取整,得到一个取值范围在[1,16]的第二整数序列S′2,再从第二整数序列S′2中选取与隐秘信息嵌入端的第一下标序列Sindex中的元素位置相对应的n个互不相等的元素,得到第二下标序列S′index,利用第二下标序列S′index从当前宏块中选择与第第二下标序列S′index中的各个元素相对应的4×4亮度块,并将所选择的4×4亮度块作为判断块,其中,1≤n≤16,再继续执行。
②-4、定义当前宏块中当前待处理的4×4亮度块为当前4×4亮度块,判断当前4×4亮度块是否为判断块,如果是,则继续执行,否则,对当前4×4亮度块不进行隐秘信息的提取,并将下一个待处理的4×4亮度块作为当前4×4亮度块,再重复执行该步骤。
②-5、判断当前4×4亮度块的模式标志prev_intra4×4_pred_mode为1还是0,如果为1,则对当前4×4亮度块不进行隐秘信息的提取,并执行步骤②-7,如果为0,则继续执行。
②-6、判断当前4×4亮度块采用的预测模式的标识为奇数还是偶数,如果为奇数,则提取出嵌入的比特值1,然后执行步骤②-7,如果为偶数,则提取出嵌入的比特值0,然后执行步骤②-7。
②-7、将下一个待处理的4×4亮度块作为当前4×4亮度块,再返回步骤②-4继续执行,直至处理完当前宏块中所有的4×4亮度块,再继续执行步骤②-11。
②-8、判断当前宏块是否属于B片,如果是,则继续执行,否则,执行步骤②-10。
②-9、判断当前宏块采用的编码模式是否为DIRECT编码模式,如果是,则对当前宏块不进行隐秘信息的提取,然后执行步骤②-11,否则,再判断当前宏块采用的编码模式的标识为奇数还是偶数,当当前宏块采用的编码模式的标识为奇数时,提取出嵌入的比特值1,然后执行步骤②-11,当当前宏块采用的编码模式的标识为偶数时,提取出嵌入的比特值0,然后执行步骤②-11。
②-10、判断当前宏块采用的编码模式是否为SKIP编码模式,如果是,则对当前宏块不进行隐秘信息的提取,然后执行步骤②-11,否则,再判断当前宏块采用的编码模式的标识为奇数还是偶数,当当前宏块采用的编码模式的标识为奇数时,提取出嵌入的比特值1,然后执行步骤②-11,当当前宏块采用的编码模式的标识为偶数时,提取出嵌入的比特值0,然后执行步骤②-11。
②-11、将下一个解码得到的宏块作为当前宏块,并返回步骤②-2重复执行,直至提取出含隐秘信息的H.264/AVC视频码流中嵌入的比特值。在提取出4096比特的隐秘信息后将提取出的隐秘信息转换为大小为64×64的二维矩阵,然后根据保存的初始密钥值K1并利用Matlab中的randint()函数产生一个大小与待嵌入的隐秘信息的大小相同的随机矩阵,利用该随机矩阵对二维矩阵进行解密,得到原始的隐秘信息,恢复得到的代表隐秘信息的二值图像如图9所示。

Claims (3)

1.一种基于预测模式的H.264/AVC视频信息隐藏方法,H.264/AVC视频主要由I帧图像、B帧图像和P帧图像组成,所述的I帧图像包括至少一个I片,所述的B帧图像包括至少一个B片,所述的P帧图像包括至少一个P片,所述的I片主要由若干个I宏块组成,所述的B片主要由若干个B宏块和若干个I宏块组成,所述的P片主要由若干个P宏块和若干个I宏块组成,所述的I宏块的编码模式分为Intra_4×4和Intra_16×16两类,当所述的I宏块使用Intra_4×4编码模式时,所述的I宏块分为16个4×4亮度块,所述的4×4亮度块具有DC预测模式和八种方向预测模式,所述的DC预测模式用数字2标识,所述的八种方向预测模式包括垂直、水平、下左对角线、下右对角线、右垂直、下水平、左垂直和上水平方向预测模式,所述的垂直方向预测模式用数字0标识,所述的水平方向预测模式用数字1标识,所述的下左对角线方向预测模式用数字3标识,所述的下右对角线方向预测模式用数字4标识,所述的右垂直方向预测模式用数字5标识,所述的下水平方向预测模式用数字6标识,所述的左垂直方向预测模式用数字7标识,所述的上水平方向预测模式用数字8标识,所述的B宏块的编码模式分为DIRECT、Inter_16×16、Inter_16×8、Inter_8×16及Inter_8×8五类,所述的DIRECT编码模式用数字0标识,所述的Inter_16×16编码模式用数字1标识,所述的Inter_16×8编码模式用数字2标识,所述的Inter_8×16编码模式用数字3标识,所述的Inter_8×8编码模式用数字8标识,所述的P宏块的编码模式分为SKIP、Inter_16×16、Inter_16×8及Inter_8×16、Inter_8×8五类,所述的SKIP编码模式用数字0标识,所述的Inter_16×16编码模式用数字1标识,所述的Inter_16×8编码模式用数字2标识,所述的Inter_8×16编码模式用数字3标识,所述的Inter_8×8编码模式用数字8标识,其特征在于基于预测模式的H.264/AVC视频信息隐藏方法包括以下步骤:
①-1、在隐秘信息嵌入端,对于当前需嵌入隐秘信息的H.264/AVC视频以宏块为单位进行隐秘信息的嵌入和编码,定义当前正在处理的宏块为当前宏块,判断当前宏块是否属于I片,如果是,则执行下一步操作,否则,执行步骤①-8;
①-2、判断当前宏块的编码模式为Intra_4×4编码模式还是Intra_16×16编码模式,如果当前宏块的编码模式为Intra_16×16编码模式,则对当前宏块不进行隐秘信息的嵌入,然后利用Intra_16×16编码模式对当前宏块进行编码,再继续执行步骤①-11;如果当前宏块的编码模式为Intra_4×4编码模式,则先对当前宏块中的16个4×4亮度块进行编号,对每个4×4亮度块设置一个用于标志各个4×4亮度块的预测模式的模式标志prev_intra4×4_pred_mode,然后随机选定一个用于唯一确定一个混沌序列的初始值 K2,并保存初始值K2,利用初始值K2生成一个长度为16的第一混沌序列S1,将第一混沌序列S1中的每个元素乘以16并向下取整,得到一个取值范围在[1,16]的第一整数序列S2,再从第一整数序列S2中选取n个互不相等的元素,得到第一下标序列Sindex,利用第一下标序列Sindex从当前宏块中选择与第一下标序列Sindex中的各个元素相对应的4×4亮度块,并将所选择的4×4亮度块作为隐藏块,其中,1≤n≤16,再执行下一步操作;
①-3、定义当前宏块中当前待处理的4×4亮度块为当前4×4亮度块,定义与当前4×4亮度块相邻且位于当前4×4亮度块左方的4×4亮度块为左相邻块,定义与当前4×4亮度块相邻且位于当前4×4亮度块上方的4×4亮度块为上相邻块,获取当前4×4亮度块采用的预测模式和最可能模式MPM,具体过程为:a.首先遍历当前4×4亮度块具有的DC预测模式和八种方向预测模式,计算当前4×4亮度块在各个预测模式下的率失真开销,并保存计算得到的各个率失真开销,然后按大小顺序对各个率失真开销进行排序,将率失真开销最小的预测模式确定为当前4×4亮度块的最优预测模式best_ip mode,将率失真开销次小的预测模式确定为当前4×4亮度块的次优预测模式,再将当前4×4亮度块的最优预测模式best_ip mode作为当前4×4亮度块采用的预测模式;b.判断当前4×4亮度块的左相邻块和上相邻块是否存在,当当前4×4亮度块仅存在左相邻块或仅存在上相邻块或左相邻块和上相邻块均不存在时,当前4×4亮度块的最可能模式MPM为DC预测模式,当当前4×4亮度块的左相邻块和上相邻块均存在时,根据当前4×4亮度块的左相邻块和上相邻块采用的预测模式,计算当前4×4亮度块的最可能模式MPM=min{Ma,Mb},其中,Ma为当前4×4亮度块的左相邻块采用的预测模式,Mb为当前4×4亮度块的上相邻块采用的预测模式;
①-4、判断当前4×4亮度块的最优预测模式best_ip mode与最可能模式MPM是否相同,如果相同,则对当前4×4亮度块不进行隐秘信息的嵌入,并将当前4×4亮度块的模式标志prev_intra4×4_pred_mode置为1,保持当前4×4亮度块采用的预测模式不变,然后利用当前4×4亮度块采用的预测模式对当前4×4亮度块进行编码,再将下一个待处理的4×4亮度块作为当前4×4亮度块,返回步骤①-3继续执行,否则,将当前4×4亮度块的模式标志prev_intra4×4_pred_mode置为0,并执行下一步操作; 
①-5、判断当前4×4亮度块是否为隐藏块,如果是,则对当前4×4亮度块进行隐秘信息的嵌入,并执行下一步操作,否则,对当前4×4亮度块不进行隐秘信息的嵌入,并保持当前4×4亮度块采用的预测模式不变,然后利用当前4×4亮度块采用的预测模式对当前4×4亮度块进行编码,再将下一个待处理的4×4亮度块作为当前4×4亮度块,返回步骤①-3继续执行;
①-6、根据待嵌入的隐秘信息中当前需嵌入的比特值对当前4×4亮度块采用的预测模式进行修改,具体过程为:判断当前需嵌入的比特值为1还是0,如果当前需嵌入的比特值为1,则再判断当前4×4亮度块采用的预测模式的标识为奇数还是0或偶数,当当前4×4亮度块采用的预测模式的标识为奇数时,保持当前4×4亮度块采用的预测模式不变,然后利用当前4×4亮度块采用的预测模式对当前4×4亮度块进行编码,再继续执行步骤①-7,当当前4×4亮度块采用的预测模式的标识为0或偶数时,判断当前4×4亮度块的次优预测模式的标识为奇数还是0或偶数,如果当前4×4亮度块的次优预测模式的标识为奇数,则将当前4×4亮度块采用的预测模式从最优预测模式修改为次优预测模式,然后利用次优预测模式对当前4×4亮度块进行编码,再继续执行步骤①-7,如果当前4×4亮度块的次优预测模式的标识为0或偶数,则按序对率失真开销大于次优预测模式的率失真开销对应的预测模式进行判断,直至获得一个标识为奇数的预测模式,然后将当前4×4亮度块采用的预测模式从最优预测模式修改为获得的标识为奇数的预测模式,然后利用获得的标识为奇数的预测模式对当前4×4亮度块进行编码,再继续执行步骤①-7;如果当前需嵌入的比特值为0,则再判断当前4×4亮度块采用的预测模式的标识为奇数还是0或偶数,当当前4×4亮度块采用的预测模式的标识为0或偶数时,保持当前4×4亮度块采用的预测模式不变,然后利用当前4×4亮度块采用的预测模式对当前4×4亮度块进行编码,再继续执行步骤①-7,当当前4×4亮度块采用的预测模式的标识为奇数时,判断当前4×4亮度块的次优预测模式的标识为奇数还是0或偶数,如果当前4×4亮度块的次优预测模式的标识为0或偶数,则将当前4×4亮度块采用的预测模式从最优预测模式修改为次优预测模式,然后利用次优预测模式对当前4×4亮度块进行编码,再继续执行步骤①-7,如果当前4×4亮度块的次优编码模式的标识为奇数,则按序对率失真开销大于次优预测模式的率失真开销对应的预测模式进行判断,直至获得一个标识为0或偶数的预测模式,然后将当前4×4亮度块采用的预测模式从最优预测模式修改为获得的标识为0或偶数的预测模式,然后利用获得的标识为0或偶数的预测模式对当前4×4亮度块进行编码,再继续执行步骤①-7;
①-7、将下一个待处理的4×4亮度块作为当前4×4亮度块,然后返回执行步骤①-3,直至处理完当前宏块中所有的4×4亮度块,再继续执行步骤①-11;
①-8、判断当前宏块是否属于B片,如果是,则执行下一步操作,否则,执行步 骤①-10;
①-9、计算当前宏块在各个编码模式下的率失真开销,并保存计算得到的各个率失真开销,按大小顺序对各个率失真开销进行排序,将率失真开销最小的编码模式确定为当前宏块的最优编码模式,将率失真开销次小的编码模式确定为当前宏块的次优编码模式,然后将当前宏块的最优编码模式作为当前宏块采用的编码模式,再判断当前宏块采用的编码模式是否为DIRECT编码模式,如果是,则对当前宏块不进行隐秘信息的嵌入,然后利用当前宏块采用的编码模式对当前宏块进行编码,再继续执行步骤①-11,否则,再判断待嵌入的隐秘信息中当前需嵌入的比特值为1还是0,如果当前需嵌入的比特值为1,则判断当前宏块采用的编码模式的标识为奇数还是偶数,当当前宏块采用的编码模式的标识为奇数时,保持当前宏块采用的编码模式不变,然后利用当前宏块采用的编码模式对当前宏块进行编码,再继续执行步骤①-11,当当前宏块采用的编码模式的标识为偶数时,判断当前宏块的次优编码模式的标识为奇数还是偶数,如果当前宏块的次优编码模式的标识为奇数,则将当前宏块采用的编码模式从最优编码模式修改为次优编码模式,然后利用当前宏块的次优编码模式对当前宏块进行编码,再继续执行步骤①-11,如果当前宏块的次优编码模式的标识为偶数,则按序对率失真开销大于次优编码模式的率失真开销对应的编码模式进行判断,直至获得一个标识为奇数的编码模式,然后将当前宏块采用的编码模式从最优编码模式修改为获得的标识为奇数的编码模式,然后利用获得的标识为奇数的编码模式对当前宏块进行编码,再继续执行步骤①-11,如果当前需嵌入的比特值为0,则判断当前宏块采用的编码模式的标识为奇数还是偶数,当当前宏块采用的编码模式的标识为偶数时,保持当前宏块采用的编码模式不变,然后利用当前宏块采用的编码模式对当前宏块进行编码,再继续执行步骤①-11,当当前宏块采用的编码模式的标识为奇数时,判断当前宏块的次优编码模式的标识为奇数还是偶数,如果当前宏块的次优编码模式的标识为偶数,则将当前宏块采用的编码模式从最优编码模式修改为次优编码模式,然后利用当前宏块的次优编码模式对当前宏块进行编码,再继续执行步骤①-11,如果当前宏块的次优编码模式的标识为奇数,则按序对率失真开销大于次优编码模式的率失真开销对应的编码模式进行判断,直至获得一个标识为偶数的编码模式,然后将当前宏块采用的编码模式从最优编码模式修改为获得的标识为偶数的编码模式,然后利用获得的标识为偶数的编码模式对当前宏块进行编码,再继续执行步骤①-11;
①-10、计算当前宏块在各个编码模式下的率失真开销,并保存计算得到的各个率失真开销,按大小顺序对各个率失真开销进行排序,将率失真开销最小的编码模式确定为当前宏块的最优编码模式,将率失真开销次小的编码模式确定为当前宏块的次优编码模式,然后将当前宏块的最优编码模式作为当前宏块采用的编码模式,再判断当前宏块 采用的编码模式是否为SKIP编码模式,如果是,则对当前宏块不进行隐秘信息的嵌入,然后利用当前宏块采用的编码模式对当前宏块进行编码,再继续执行步骤①-11,否则,再判断待嵌入的隐秘信息中当前需嵌入的比特值为1还是0,如果当前需嵌入的比特值为1,则判断当前宏块采用的编码模式的标识为奇数还是偶数,当当前宏块采用的编码模式的标识为奇数时,保持当前宏块采用的编码模式不变,然后利用当前宏块采用的编码模式对当前宏块进行编码,再继续执行步骤①-11,当当前宏块采用的编码模式的标识为偶数时,判断当前宏块的次优编码模式的标识为奇数还是偶数,如果当前宏块的次优编码模式的标识为奇数,则将当前宏块采用的编码模式从最优编码模式修改为次优编码模式,然后利用当前宏块的次优编码模式对当前宏块进行编码,再继续执行步骤①-11,如果当前宏块的次优编码模式的标识为偶数,则按序对率失真开销大于次优编码模式的率失真开销对应的编码模式进行判断,直至获得一个标识为奇数的编码模式,然后将当前宏块采用的编码模式从最优编码模式修改为获得的标识为奇数的编码模式,然后利用获得的标识为奇数的编码模式对当前宏块进行编码,再继续执行步骤①-11,如果当前需嵌入的比特值为0,则判断当前宏块采用的编码模式的标识为奇数还是偶数,当当前宏块采用的编码模式的标识为偶数时,保持当前宏块采用的编码模式不变,然后利用当前宏块采用的编码模式对当前宏块进行编码,再继续执行步骤①-11,当当前宏块采用的编码模式的标识为奇数时,判断当前宏块的次优编码模式的标识为奇数还是偶数,如果当前宏块的次优编码模式的标识为偶数,则将当前宏块采用的编码模式从最优编码模式修改为次优编码模式,然后利用当前宏块的次优编码模式对当前宏块进行编码,再继续执行步骤①-11,如果当前宏块的次优编码模式的标识为奇数,则按序对率失真开销大于次优编码模式的率失真开销对应的编码模式进行判断,直至获得一个标识为偶数的编码模式,然后将当前宏块采用的编码模式从最优编码模式修改为获得的标识为偶数的编码模式,然后利用获得的标识为偶数的编码模式对当前宏块进行编码,再继续执行步骤①-11;
①-11、将下一个待处理的宏块作为当前宏块,并返回步骤①-1继续执行,直至待嵌入的隐秘信息中所有的比特值均嵌入完成,得到含隐秘信息的H.264/AVC视频码流;
①-12、隐秘信息嵌入端将含隐秘信息的H.264/AVC视频码流发送给隐秘信息提取端;
②-1、在隐秘信息提取端,隐秘信息提取端利用H.264/AVC标准解码器对其接收到的含隐秘信息的H.264/AVC视频码流以宏块为单位进行解码;
②-2、定义当前解码得到的宏块为当前宏块,判断当前宏块是否属于I片,如果是,则执行下一步操作,否则,执行步骤②-8;
②-3、判断当前宏块的编码模式为Intra_4×4编码模式还是Intra_16×16编码模式, 如果当前宏块的编码模式为Intra_16×16编码模式,则对当前宏块不进行隐秘信息的提取,再执行步骤②-11;如果当前宏块的编码模式为Intra_4×4编码模式,则先对当前宏块中的16个4×4亮度块进行编号,然后利用在隐秘信息嵌入端保存的初始值K2生成一个与隐秘信息嵌入端的第一混沌序列S1相同的第二混沌序列S′,将第二混沌序列S′1中的每个元素乘以16并向下取整,得到一个取值范围在[1,16]的第二整数序列S′2,再从第二整数序列S′2中选取与隐秘信息嵌入端的第一下标序列Sindex中的元素位置相对应的n个互不相等的元素,得到第二下标序列S′,利用第二下标序列S′index从当前宏块中选择与第二下标序列S′中的各个元素相对应的4×4亮度块,并将所选择的4×4亮度块作为判断块,其中,1≤n≤16,再执行下一步操作;
②-4、定义当前宏块中当前待处理的4×4亮度块为当前4×4亮度块,判断当前4×4亮度块是否为判断块,如果是,则执行下一步操作,否则,对当前4×4亮度块不进行隐秘信息的提取,并将下一个待处理的4×4亮度块作为当前4×4亮度块,再重复执行该步骤;
②-5、判断当前4×4亮度块的模式标志prev_intra4×4_pred_mode为1还是0,如果为1,则对当前4×4亮度块不进行隐秘信息的提取,并执行步骤②-7,如果为0,则执行下一步操作;
②-6、判断当前4×4亮度块采用的预测模式的标识为奇数还是偶数,如果为奇数,则提取出嵌入的比特值1,然后执行步骤②-7,如果为偶数,则提取出嵌入的比特值0,然后执行步骤②-7;
②-7、将下一个待处理的4×4亮度块作为当前4×4亮度块,再返回步骤②-4继续执行,直至处理完当前宏块中所有的4×4亮度块,再继续执行步骤②-11;
②-8、判断当前宏块是否属于B片,如果是,则执行下一步操作,否则,执行步骤②-10;
②-9、判断当前宏块采用的编码模式是否为DIRECT编码模式,如果是,则对当前宏块不进行隐秘信息的提取,然后执行步骤②-11,否则,再判断当前宏块采用的编码模式的标识为奇数还是偶数,当当前宏块采用的编码模式的标识为奇数时,提取出嵌入的比特值1,然后执行步骤②-11,当当前宏块采用的编码模式的标识为偶数时,提取出嵌入的比特值0,然后执行步骤②-11;
②-10、判断当前宏块采用的编码模式是否为SKIP编码模式,如果是,则对当前 宏块不进行隐秘信息的提取,然后执行步骤②-11,否则,再判断当前宏块采用的编码模式的标识为奇数还是偶数,当当前宏块采用的编码模式的标识为奇数时,提取出嵌入的比特值1,然后执行步骤②-11,当当前宏块采用的编码模式的标识为偶数时,提取出嵌入的比特值0,然后执行步骤②-11;
②-11、将下一个解码得到的宏块作为当前宏块,并返回步骤②-2重复执行,直至提取出含隐秘信息的H.264/AVC视频码流中嵌入的所有比特值。
2.根据权利要求1所述的一种基于预测模式的H.264/AVC视频信息隐藏方法,其特征在于在隐秘信息嵌入端,在嵌入隐秘信息之前先对待嵌入的隐秘信息进行加密处理,以增加攻击的复杂度,具体过程为:随机选择一个初始密钥值K1,并保存初始密钥值K1,根据初始密钥值K1并利用Matlab中的randint()函数产生一个大小与待嵌入的隐秘信息的大小相同的随机矩阵,利用该随机矩阵采用异或方式对待嵌入的隐秘信息进行加密,并采用现有的扫描方式将加密形成的二维矩阵转换为一维序列。
3.根据权利要求2所述的一种基于预测模式的H.264/AVC视频信息隐藏方法,其特征在于在隐秘信息提取端,在提取出隐秘信息中所有的比特值后将提取出的隐秘信息转换为二维矩阵,然后根据保存的初始密钥值K1并利用Matlab中的randint()函数产生一个大小与待嵌入的隐秘信息的大小相同的随机矩阵,利用该随机矩阵对二维矩阵进行解密,得到原始的隐秘信息。 
CN 200910101249 2009-07-27 2009-07-27 一种基于预测模式的h.264/avc视频信息隐藏方法 Expired - Fee Related CN101621692B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910101249 CN101621692B (zh) 2009-07-27 2009-07-27 一种基于预测模式的h.264/avc视频信息隐藏方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910101249 CN101621692B (zh) 2009-07-27 2009-07-27 一种基于预测模式的h.264/avc视频信息隐藏方法

Publications (2)

Publication Number Publication Date
CN101621692A CN101621692A (zh) 2010-01-06
CN101621692B true CN101621692B (zh) 2011-04-20

Family

ID=41514683

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910101249 Expired - Fee Related CN101621692B (zh) 2009-07-27 2009-07-27 一种基于预测模式的h.264/avc视频信息隐藏方法

Country Status (1)

Country Link
CN (1) CN101621692B (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101791242B1 (ko) * 2010-04-16 2017-10-30 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
KR20120070479A (ko) 2010-12-21 2012-06-29 한국전자통신연구원 화면 내 예측 방향 정보 부호화/복호화 방법 및 그 장치
CN102025997A (zh) * 2010-12-22 2011-04-20 中兴通讯股份有限公司 隐藏信息的方法和装置、提取隐藏信息的方法和装置
SG188199A1 (en) 2011-02-22 2013-04-30 Panasonic Corp Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
TWI562643B (en) 2011-02-22 2016-12-11 Tagivan Ii Llc Filtering method and picture processing system
CN102186079A (zh) * 2011-05-11 2011-09-14 北京航空航天大学 一种基于运动向量的h.264基本档次帧内模式选择方法
CN102223540B (zh) * 2011-07-01 2012-12-05 宁波大学 一种面向h.264/avc视频的信息隐藏方法
DK2942954T3 (da) * 2011-10-24 2020-08-24 Innotive Ltd Billedafkodningsindretning
KR20130049525A (ko) * 2011-11-04 2013-05-14 오수미 잔차 블록 복원을 위한 역변환 방법
CN103634606B (zh) 2012-08-21 2015-04-08 腾讯科技(深圳)有限公司 视频编码方法和装置
CN102917227B (zh) * 2012-10-29 2015-05-20 山东省计算中心 基于压缩感知的自适应视频信息隐藏方法
CN103124357B (zh) * 2013-03-07 2015-11-04 天津大学 基于参考帧的多视点视频信息隐藏方法
BR112016022870B8 (pt) 2014-04-01 2024-01-23 Huawei Tech Co Ltd Métodos e aparelhos para ocultar e reconstruir dados em unidades de codificação estruturadas de múltiplas camadas
CN104144347B (zh) * 2014-06-24 2017-12-15 宁波大学 一种基于可逆数据隐藏的h.264/avc视频i帧错误恢复方法
CN104159117B (zh) * 2014-07-22 2017-05-03 宁波大学 一种hevc视频的信息隐藏方法
CN104125467B (zh) * 2014-08-01 2015-06-17 郑州师范学院 一种视频隐写信息的嵌入与提取方法
CN104602016A (zh) * 2015-01-12 2015-05-06 宁波大学 一种基于帧内预测模式差值的hevc视频的信息隐藏方法
CN104902281B (zh) * 2015-05-25 2017-12-26 宁波大学 一种基于汉明码+1的hevc视频的信息隐藏方法
CN105357535B (zh) * 2015-11-05 2019-09-03 广东中星微电子有限公司 一种帧内预测模式编解码方法及设备
CN107333139B (zh) * 2017-06-27 2019-12-13 郑州师范学院 一种基于帧内预测模式的h.265半可逆视频隐写信息方法
CN107318022B (zh) * 2017-06-27 2019-12-17 郑州师范学院 一种基于h.265标准无失真漂移的视频隐写方法
CN109257325A (zh) * 2017-07-13 2019-01-22 北京陌陌信息技术有限公司 传输私密信息的方法、装置和计算机可读存储介质
CN108683921B (zh) * 2018-06-07 2020-04-07 四川大学 一种基于零量化dct系数组的视频可逆信息隐藏方法
CN108810550B (zh) * 2018-08-21 2021-02-26 上海理工大学 一种基于层间预测的视频水印嵌入及提取方法
CN110312138B (zh) * 2019-01-04 2020-08-11 北京大学 基于时序残差卷积建模的高嵌入容量视频隐写方法和系统
CN110072109B (zh) * 2019-04-25 2021-04-09 四川大学 宏块级最小化失真的h.264/avc视频信息隐藏方法
CN113840146B (zh) * 2021-09-30 2022-10-21 中南大学 一种视频信息隐藏方法及系统

Also Published As

Publication number Publication date
CN101621692A (zh) 2010-01-06

Similar Documents

Publication Publication Date Title
CN101621692B (zh) 一种基于预测模式的h.264/avc视频信息隐藏方法
CN107040787B (zh) 一种基于视觉感知的3d-hevc帧间信息隐藏方法
CN102223540B (zh) 一种面向h.264/avc视频的信息隐藏方法
CN105263024B (zh) 一种抗量化转码的hevc视频流零水印的注册和检测方法
CN106162195B (zh) 一种基于单深度帧内模式的3d‑hevc深度视频信息隐藏方法
CN101841700B (zh) 一种面向h.264压缩比特流的视频水印方法
Kelash et al. Hiding data in video sequences using steganography algorithms
CN108366259A (zh) 一种高保真的h.264/avc视频三系数可逆隐写方法
Wang et al. An Information Hiding Algorithm for HEVC Based on Angle Differences of Intra Prediction Mode.
CN103533374A (zh) 一种视频编码、解码的方法及装置
CN109819260A (zh) 基于多嵌入域融合的视频隐写方法和装置
Tian et al. A semi-fragile video watermarking algorithm based on chromatic residual DCT
CN108833924A (zh) 一种基于h.265的多安全级别视频加密算法
CN108769700A (zh) 减小h.264帧间漂移失真的鲁棒性视频隐写方法
CN104159117A (zh) 一种hevc视频的信息隐藏方法
CN107333139A (zh) 一种基于帧内预测模式的h.265半可逆视频隐写信息方法
CN106101714A (zh) 一种与压缩编码过程紧耦合的h.264视频信息隐藏方法
Liu et al. Non-degraded adaptive HEVC steganography by advanced motion vector prediction
Yang et al. Adaptive HEVC video steganography based on distortion compensation optimization
CN104853215A (zh) 基于运动向量局部最优性保持的视频隐写方法
CN104902281B (zh) 一种基于汉明码+1的hevc视频的信息隐藏方法
CN110072109B (zh) 宏块级最小化失真的h.264/avc视频信息隐藏方法
CN103747261A (zh) 基于运动参考结构的h.264压缩域分层感知加密方法
Tang et al. Reversible data hiding based on a modified difference expansion for H. 264/AVC video streams
CN107135391B (zh) 一种针对h.264压缩域的视频感知哈希方法

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110420

Termination date: 20130727