(12)发明专利申请
(10)申请公布号(10)申请公布号 CN 104683811 A (43)申请公布日(43)申请公布日 2015.06.03
(21)申请号 201310629684.7(22)申请日 2013.11.29
(71)申请人中国科学院声学研究所
地址100190 北京市海淀区北四环西路21
号(72)发明人李松斌 付江云 刘鹏 戴琼兴
邓浩江(74)专利代理机构北京法思腾知识产权代理有
限公司 11318
代理人杨小蓉 杨青(51)Int.Cl.
H04N 19/467(2014.01)H04N 19/176(2014.01)
权利要求书3页 说明书9页 附图4页
(54)发明名称
一种基于整数DCT系数调制的信息隐藏及提取方法(57)摘要
本发明提供了一种基于整数DCT系数调制的信息隐藏及提取方法,通过构造一个N维2N+1阶魔方矩阵,并将载体系数以N个为一组分别映射到该N维2N+1阶魔方矩阵中得到一个映射值,将待嵌入的2N+1进制数秘密信息与映射值进行对比,如果两者数值相等,则不需要修改该组载体系数,如果不相等,仅需修改其中一个载体系数,即可使得映射值等于待嵌入的值,通过修改一个载体系数完成秘密信息效率高达
个比特的嵌入,嵌入
且由于载体系数修改率仅为
1/N,计算过程简单,提高了信息隐藏及提取的效率。 C N 1 0 4 6 8 3 8 1 1 ACN 104683811 A
权 利 要 求 书
1/3页
1.一种基于整数DCT系数调制的信息隐藏方法,其特征在于,所述的信息隐藏方法包括:
步骤1)、构建一个N维2N+1阶魔方矩阵,该矩阵满足每个维度有2N+1个坐标,共有(2N+1)N个元素,每个元素均为数值范围在[0,2N]之间的2N+1进制数,以任何一个元素为中心,与其余维度上的2N个相邻元素的数值共同构成0至2N的连续整数;
步骤2)、在H.264/AVC编码视频的宏块过程中,根据平均纹理复杂度(ACM)计算公式,计算出当前宏块的纹理复杂度,若满足如下条件,则选择为待嵌入宏块;
其中,T是宏块经DCT变换后的系数矩阵,Tij是矩阵T的元素,θ1与θ2是通过实验计算得出的阈值,式中的“(|Tij|>θ1)?1:0”表示如果|Tij|>θ1成立,则取值为1,否则取值为0,“(|Tij|>θ1)?|Tij|:0”表示如果}Tij|>θ1成立,则取值为|Tij|,否则取值为0;
步骤3)、对步骤2)中得到的待嵌入宏块通过logistic映射产生非周期不收敛的混沌序列,对该混沌序列进行整数量化后得到模板选择序号,根据该模板选择序号选择每个待嵌入宏块内的I4块模板;
步骤4)、从步骤3)得到的每个I4块模板中选取N个量化后的非零AC系数作为一组载体系数进行信息嵌入,在每个待嵌入宏块遍历结束时不足N个的载体系数丢弃;
步骤5)、将步骤4)中获得的一组载体系数映射到步骤1)构建的N维2N+1阶魔方矩阵中,得到一个映射值;然后将该映射值与待嵌入的2N+1进制数秘密信息进行对比,如果两
则不需要修改该组载体系数,否则根据以下公式调制系数,使得映射值等于待者数值相等,
嵌入的2N+1进制数秘密信息的数值,完成H.264/AVC压缩视频中秘密信息的嵌入:
其中
其中,F表示载体系数与N维2N+1阶魔方矩阵中的元素的映射函数,Di是当前要嵌入的一个2N+1进制的秘密信息。
2.根据权利要求1所述的基于整数DCT系数调制的信息隐藏方法,其特征在于,所述的N维2N+1阶魔方矩阵中任意元素的求值公式表示为:
M(W1,W2,,..,WN-1,WN)=(W1+2W2+…+NWN)mod(2N+1)其中,M(W1,W2,..,WN-1,WN)表示N维2N+1阶魔方矩阵的映射关系,W1,W2,...,WN-1,WN为N维2N+1阶魔方矩阵的N个坐标,且W1,W2,...,WN-1,WN为[0,2N]范围内的整数。
3.根据权利要求1所述的基于整数DCT系数调制的信息隐藏方法,其特征在于,所述的步骤2)包括:
步骤2-1)、在H.264/AVC编码视频的宏块过程中,抽取宏块中的残差经整数DCT变化后
2
CN 104683811 A
权 利 要 求 书
2/3页
生成DCT系数的直流分量,组成一个4X4的矩阵DC;
步骤2-2)、将步骤201)得到的矩阵DC再进行一次DCT变换,得到一个4X4的矩阵T;步骤2-3)、统计矩阵T中的系数大于阈值t1的个数,再根据平均纹理复杂度(ACM)计算公式对所有大于阈值t1的系数计算获得平均值,将该平均值作为该宏块的平均复杂度量化值,如果平均复杂度量化值大于阈值p,则将该宏块选择为待嵌入宏块。
4.根据权利要求1所述的基于整数DCT系数调制的信息隐藏方法,其特征在于,所述的步骤3)包括:
步骤3-1)、确定logistic映射初值x0;步骤3-2)、选取适当的μ值以满足3.5699456≤μ≤4,从而得到密钥(μ,x0);步骤3-3)、根据步骤3-2)得到的密钥(μ,x0)产生非周期不收敛的混沌序列(x1,x2,L,xn);
步骤3-4)、对步骤3-3)得到的混沌序列中每个值xk进行0-65534整数量化后可得到模板选择序号,根据该模板选择序号选择每个待嵌入宏块内的I4块模板,所述模板选择序号的计算公式表示为:
其中,yk表示模板选择序号中的值,表示不大于Xk*65535的最大整数。
5.根据权利要求1所述的基于整数DCT系数调制的信息隐藏方法,其特征在于,所述的步骤5)包括:
步骤5-1)、将步骤4)中获得的一组载体系数通过如下映射关系映射到N维2N+1阶魔方矩阵中得到一个映射值:
F(c1,c2,c3,…,cN-1,cN)=M(y(c1),y(c2),…,y(cN-1),y(cN))其中,y(ci)的计算公式表示为:
y表示一组系数与N维2N+1阶魔方矩阵的映射函数,ci表示载体系数;步骤5-2)、将待嵌入的2N+1进制数秘密信息与映射值进行对比,如果两者数值相等,则不需要修改该组载体系数,否则根据以下公式调制系数,使得映射值等于待嵌入的2N+1进制数秘密信息的数值,完成H.264/AVC压缩视频中秘密信息的嵌入:
其中
其中,F表示载体系数与N维2N+1阶魔方矩阵中的元素的映射函数,Di是当前要嵌入的一个2N+1进制的秘密信息。
6.基于权利要求1-5所述基于整数DCT系数调制的信息隐藏方法所实现的信息提取方法,其特征在于,所述的信息提取方法包括:
步骤201)、将含有秘密信息的H.264/AVC压缩视频进行熵解码后得到一个宏块,根据平均纹理复杂度(ACM)计算公式,计算出当前宏块的纹理复杂度,若满足如下条件,则该宏
3
CN 104683811 A
权 利 要 求 书
3/3页
块为已经嵌入秘密信息的宏块:
其中,T是宏块经DCT变换后的系数矩阵,Tij是矩阵T的元素,θ1与θ2是通过实验计算得出的阈值,式中的“(|Tij|>θ1)?1:0”表示如|Tij|>θ1成立,则取值为1,否则取值为0,“(|Tij|>θ1)?|Tij|:0”表示如果|Tij|>θ1成立,则取值为|Tij|,否则取值为0;
步骤202)、对步骤201)中得到的已嵌入秘密信息的宏块,通过logistic映射产生非周期不收敛的混沌序列,对该混沌序列进行整数量化后得到模板选择序号,根据该模板选择序号选择每个I4块模板;
步骤203)、从步骤202)得到的每个I4块模板中选取N个量化后的非零AC系数作为一组载体系数进行信息提取,在每个已嵌入信息宏块遍历结束时不足N个的载体系数丢弃;
步骤204)、将步骤203)中的N个载体系数映射到N维2N+1阶魔方矩阵中提取一位已嵌入的2N+1进制数秘密信息,提取的计算公式表示为:
Di=F(c1,c2,…,cN-1,cN)=M(y(c1),y(c2),…,y(cN-1),y(cN))
其中,
F表示载体系数与N维2N+1阶魔方矩阵中的元素的映
射函数,Di是当前已嵌入的一个2N+1进制的秘密信息,y表示一组系数与N维2N+1阶魔方矩阵的映射函数,ci表示载体系数。
4
CN 104683811 A
说 明 书
一种基于整数DCT系数调制的信息隐藏及提取方法
1/9页
技术领域
[0001]
本发明涉及信息隐藏领域,特别涉及一种基于整数DCT系数调制的信息隐藏及提
取方法。
背景技术
[0002] 信息技术的不断发展给人们生活带来了便利,但同时也带来了信息认证、版权保护、秘密通信等诸多问题。信息隐藏技术可以很好地解决这些问题。它是一项将秘密信息嵌入常见载体,通过隐藏秘密通信本身来达到传递秘密信息目的的技术。[0003] 互联网和数字多媒体应用技术的日益成熟,使得音频、图像、视频等多媒体信息的传输和交换十分便捷。视频信息因其直观性、确定性和高效性等特点,特别是近年来网络流媒体业务的不断发展,使视频数据流逐渐成为网络通信流量的重要组成部分,但也成为一种潜在的极具威胁性的信息隐藏载体。由于视频一般要经过压缩编码后再通过网络进行传输,因此基于压缩视频流的信息隐藏研究在近年来得到了越来越多的重视,目前已有较多相关文献见诸报道。现有的信息隐藏方法大致可分为以下几类:基于帧内预测模式调制进行信息隐藏的方法;基于运动矢量调制进行信息隐藏的方法;基于熵编码码元调制进行信息隐藏的方法;基于整数变换系数调制进行信息隐藏的方法。[0004] 上述的几种信息隐藏方法存在着以下问题:帧内预测模式调制只在I帧出现;运动矢量调制只在有帧间估计时才能应用;熵编码直接修改码流元素会引入较大的视频失真;而整数变换在所有类型的编码帧中都会出现,载体容量大,意味着嵌入容量大,另外,基于整数变换系数调制的信息隐藏算法一般都具有复杂性低,无需重编码,较适合实时编码过程,具有更广泛的利用空间的优点。但是,现有的整数变换系数调制信息隐藏方法存在嵌入效率低、引入的码率增加量大等问题。发明内容
[0005] 本发明的目的在于,为克服现有技术中的整数变换系数调制信息隐藏方法存在着上述技术问题,本发明提供一种基于整数DCT系数调制的信息隐藏及提取方法,该信息隐藏及提取方法具有较高的嵌入效率。[0006] 为了实现上述目的,本发明提供一种基于整数DCT系数调制的信息隐藏方法,所述的信息隐藏方法包括:[0007] 步骤1)、构建一个N维2N+1阶魔方矩阵,该矩阵满足每个维度有2N+1个坐标,共有(2N+1)N个元素,每个元素均为数值范围在[0,2N]之间的2N+1进制数,以任何一个元素为中心,与其余维度上的2N个相邻元素的数值共同构成0至2N的连续整数;[0008] 步骤2)、在H.264/AVC编码视频的宏块过程中,根据平均纹理复杂度(ACM)计算公式,计算出当前宏块的纹理复杂度,若满足如下条件,则选择为待嵌入宏块;
5
CN 104683811 A
说 明 书
2/9页
[0009]
其中,T是宏块经DCT变换后的系数矩阵,Tij是矩阵T的元素,θ1与θ2是通过
实验计算得出的阈值,式中的“(|Tij|>θ1)?1:0”表示如果|Tij|>θ1成立,则取值为1,否则取值为0,“(|Tij|>θ1)?|Tij|:0”表示如果|Tij|>θ1成立,则取值为|Tij|,否则取值为0;
[0011] 步骤3)、对步骤2)中得到的待嵌入宏块通过logistic映射产生非周期不收敛的混沌序列,对该混沌序列进行整数量化后得到模板选择序号,根据该模板选择序号选择每个待嵌入宏块内的I4块模板;[0012] 步骤4)、从步骤3)得到的每个I4块模板中选取N个量化后的非零AC系数作为一组载体系数进行信息嵌入,在每个待嵌入宏块遍历结束时不足N个的载体系数丢弃;[0013] 步骤5)、将步骤4)中获得的一组载体系数映射到步骤1)构建的N维2N+1阶魔方矩阵中,得到一个映射值;然后将该映射值与待嵌入的2N+1进制数秘密信息进行对比,如果两者数值相等,则不需要修改该组载体系数,否则根据以下公式调制系数,使得映射值等于待嵌入的2N+1进制数秘密信息的数值,完成H.264/AVC压缩视频中秘密信息的嵌入:
[0010]
[0014] 其中
其中,F表示载体系数与N维2N+1阶魔方矩阵中的元素的映射函数,Di是当前要嵌入的一个2N+1进制的秘密信息。
[0016] 作为上述技术方案的进一步改进,所述的N维2N+1阶魔方矩阵中任意元素的求值公式表示为:
[0017] M(W1,W2,,..,WN-1,WN)=(W1+2W2+…+NWN)mod(2N+1)[0018] 其中,M(W1,W2,..,WN-1,WN)表示N维2N+1阶魔方矩阵的映射关系,W1,W2,...,WN-1,WN为N维2N+1阶魔方矩阵的N个坐标,且W1,W2,...,WN-1,WN为[0,2N]范围内的整数。
[0015]
作为上述技术方案的进一步改进,所述的步骤2)包括:[0020] 步骤2-1)、在H.264/AVC编码视频的宏块过程中,抽取宏块中的残差经整数DCT变化后生成DCT系数的直流分量,组成一个4X4的矩阵DC;[0021] 步骤2-2)、将步骤201)得到的矩阵DC再进行一次DCT变换,得到一个4X4的矩阵T;
[0022] 步骤2-3)、统计矩阵T中的系数大于阈值t1的个数,再根据平均纹理复杂度(ACM)计算公式对所有大于阈值t1的系数计算获得平均值,将该平均值作为该宏块的平均复杂度量化值,如果平均复杂度量化值大于阈值p,则将该宏块选择为待嵌入宏块。[0023] 作为上述技术方案的进一步改进,所述的步骤3)包括:[0024] 步骤3-1)、确定logistic映射初值x0;
[0019]
6
CN 104683811 A[0025]
说 明 书
3/9页
步骤3-2)、选取适当的μ值以满足3.5699456≤μ≤4,从而得到密钥(μ,x0);
[0026] 步骤3-3)、根据步骤3-2)得到的密钥(μ,x0)产生非周期不收敛的混沌序列(x1,x2,L,xn);
[0027] 步骤3-4)、对步骤3-3)得到的混沌序列中每个值xk进行0-65534整数量化后可得到模板选择序号,根据该模板选择序号选择每个待嵌入宏块内的I4块模板,所述模板选择序号的计算公式表示为:
[0028]
[0029] [0030]
其中,yk表示模板选择序号中的值,表示不大于xk*65535的最大整数。
作为上述技术方案的进一步改进,所述的步骤5)包括:
[0031] 步骤5-1)、将步骤4)中获得的一组载体系数通过如下映射关系映射到N维2N+1阶魔方矩阵中得到一个映射值:
[0032] F(c1,c2,c3,…,cN-1,cN)=M(y(c1),y(c2),…,y(cN-1),y(cN))[0033] 其中,y(ci)的计算公式表示为:
[0034]
y表示一组系数与N维2N+1阶魔方矩阵的映射函数,ci表示载体系数;[0036] 步骤5-2)、将待嵌入的2N+1进制数秘密信息与映射值进行对比,如果两者数值相等,则不需要修改该组载体系数,否则根据以下公式调制系数,使得映射值等于待嵌入的2N+1进制数秘密信息的数值,完成H.264/AVC压缩视频中秘密信息的嵌入:
[0035]
[0037] 其中
其中,F表示载体系数与N维2N+1阶魔方矩阵中的元素的映射函数,Di是当前要嵌入的一个2N+1进制的秘密信息。
[0039] 基于上述整数DCT系数调制的信息隐藏方法所实现的信息提取方法,所述的信息提取方法包括:[0040] 步骤201)、将含有秘密信息的H.264/AVC压缩视频进行熵解码后得到一个宏块,根据平均纹理复杂度(ACM)计算公式,计算出当前宏块的纹理复杂度,若满足如下条件,则该宏块为已经嵌入秘密信息的宏块:
[0038]
[0041]
[0042]
其中,T是宏块经DCT变换后的系数矩阵,Tij是矩阵T的元素,θ1与θ2是通过
实验计算得出的阈值,式中的“(|Tij|>θ1)?1:0”表示如果|Tij|>θ1成立,则取值为
7
CN 104683811 A
说 明 书
4/9页
1,否则取值为0,“(|Tij|>θ1)?|Tij|:0”表示如果|Tij|>θ1成立,则取值为|Tij|,否则取值为0;
[0043] 步骤202)、对步骤201)中得到的已嵌入秘密信息的宏块,通过logistic映射产生非周期不收敛的混沌序列,对该混沌序列进行整数量化后得到模板选择序号,根据该模板选择序号选择每个I4块模板;[0044] 步骤203)、从步骤202)得到的每个I4块模板中选取N个量化后的非零AC系数作为一组载体系数进行信息提取,在每个已嵌入信息宏块遍历结束时不足N个的载体系数丢弃;
[0045] 步骤204)、将步骤203)中的N个载体系数映射到N维2N+1阶魔方矩阵中提取一位已嵌入的2N+1进制数秘密信息,提取的计算公式表示为:
[0046]
其中,
素的映射函数,Di是当前已嵌入的一个2N+1进制的秘密信息,y表示一组系数与N维2N+1阶魔方矩阵的映射函数,ci表示载体系数。本发明的一种基于整数DCT系数调制的信息隐藏及提取方法的优点在于:[0048] 本发明通过构造一个N维2N+1阶魔方矩阵,并将载体系数以N个为一组分别映射到该N维2N+1阶魔方矩阵中得到一个映射值,将待嵌入的2N+1进制数秘密信息与映射值进行对比,如果两者数值相等,则不需要修改该组载体系数,如果不相等,根据构建的N维2N+1阶魔方矩阵的特性可知,仅需修改其中一个载体系数,即可使得映射值等于待嵌入的
[0047]
值,通过修改一个载体系数完成秘密信息个比特的嵌入,嵌入效率高达与
现有的通过判断系数的奇偶性来嵌入二进制秘密信息相比,具有更高的嵌入效率,且本发明中的载体系数修改率仅为1/N,计算过程更加简单,提高了信息隐藏及提取的效率。附图说明
[0049] 图1为本发明的一种基于整数DCT系数调制的信息隐藏方法示意图。[0050] 图2为本发明实施例中的H.264/AVC编码视频的流程图。[0051] 图3为本发明实施例中的整数DCT变换及量化示意图。[0052] 图4为本发明实施例中的纹理复杂宏块的具体计算流程图。
[0053] 图5为本发明实施例中的logistic映射初值对混沌序列影响的示意图。[0054] 图6为本发明实施例中的已选定嵌入点的部分模板结构示意图。
[0055] 图7为本发明实施例中的基于整数DCT系数调制的信息隐藏及提取示意图。具体实施方式
[0056] 下面结合附图和实施例对本发明所述的一种基于整数DCT系数调制的信息隐藏及提取方法进行详细说明。[0057] 如图1所示,本发明的一种基于整数DCT系数调制的信息隐藏方法,所述的信息隐藏方法包括:[0058] 步骤1)、构建一个N维2N+1阶魔方矩阵,该矩阵满足每个维度有2N+1个坐标,共
8
CN 104683811 A
说 明 书
5/9页
有(2N+1)N个元素,每个元素均为数值范围在[0,2N]之间的2N+1进制数,以任何一个元素为中心,与其余维度上的2N个相邻元素的数值共同构成0至2N的连续整数;[0059] 步骤2)、在H.264/AVC编码视频的宏块过程中,根据平均纹理复杂度(ACM)计算公式,计算出当前宏块的纹理复杂度,若满足如下条件,则选择为待嵌入宏块;
[0060]
其中,T是宏块经DCT变换后的系数矩阵,Tij是矩阵T的元素,θ1与θ2是通过实验计算得出的阈值,式中的“(|Tij|>θ1)?1:0”表示如果|Tij|>θ1成立,则取值为1,否则取值为0,“(Tij|>θ1)?|Tij|:0 ”表示如果|Tij|>θ1成立,则取值为|Tij|,否则取值为0;[0062] 步骤3)、对步骤2)中得到的待嵌入宏块通过logistic映射产生非周期不收敛的混沌序列,对该混沌序列进行整数量化后得到模板选择序号,根据该模板选择序号选择每个待嵌入宏块内的I4块模板;
[0061]
步骤4)、从步骤3)得到的每个I4块模板中选取N个量化后的非零AC系数作为一
组载体系数进行信息嵌入,在每个待嵌入宏块遍历结束时不足N个的载体系数丢弃;[0064] 步骤5)、将步骤4)中获得的一组载体系数映射到步骤1)构建的N维2N+1阶魔方矩阵中,得到一个映射值;然后将该映射值与待嵌入的2N+1进制数秘密信息进行对比,如果两者数值相等,则不需要修改该组载体系数,否则根据以下公式调制系数,使得映射值等于待嵌入的2N+1进制数秘密信息的数值,完成H.264/AVC压缩视频中秘密信息的嵌入:
[0063]
[0065] 其中
其中,F表示载体系数与N维2N+1阶魔方矩阵中的元素的映射函数,Di是当前要嵌入的一个2N+1进制的秘密信息。所述的待嵌入的2N+1进制数秘密信息是由二进制比特流转换成2N+1进制的数据流。[0067] 基于上述实施例,所述的H.264/AVC编码采用变换和预测的混合编码法。如图3所示,输入的帧或场Fn以宏块为单位被H.264/AVC编码器处理。首先,按帧内或帧间预测编码的方法进行处理。如果采用帧内预测编码,其预测值PRED(图中用Fn’表示)是由当前片中前面已编码的参考图像经运动补偿(图中用MC表示)后得出的,其中参考图像用Fn'-1表示。为了提高预测精度,从而提高压缩比,实际的参考图像Fn'-1可在过去或未来(指显示次序上)已编码解码重建和滤波的帧中进行选择。预测值PRED和当前宏块相减后,产生一个残差块Dn,经块变换、量化后产生一组量化后的变换系数X,再经熵编码,与解码所需的一些边信息(如预测模式量化参数、运动矢量等)一起组成一个压缩后的码流,经网络自适应层(图中用NAL表示)供传输和存储用。为了提供进一步预测用的参考图像,H.264/AVC编码器必须有重建图像的功能。因此必须使残差图像经反量化、反变换后得到的D'n与预测值PRED
[0066]
9
CN 104683811 A
说 明 书
6/9页
相加,得到未经滤波的帧uFn'。为了去除编码解码环路中产生的噪声,进而提高参考帧的图像质量和压缩图像性能,设置了一个环路滤波器,未经滤波的帧uFn'经滤波后输出的帧Fn'即为重建图像,其可用作参考图像。
[0068] 图像编码中常用的变换是DCT,因为它在某种条件下近似于理论上最优的K-L变换。但是如果直接采用DCT的定义进行变换会带来两个问题:一个是需要进行浮点数操作,从而造成系统设计上的复杂性;第二由于变换核都是无理数,而有限精度的浮点数不可能精确地表示无理数,再加上浮点数的运算可能会引入舍入误差,这就使得在具体实现时会导致编解码的不一致(mismatch),即反变换的输出结果和正变换的输入不一样。为了克服这些问题,如图2所示,本发明的在H.264/AVC编码视频过程中采用整数DCT变换,使得变换操作仅用整数加减和移位操作就可以完成,这样既降低了设计复杂度,又避免了编解码mismatch,而由此带来的编码性能的减少微乎其微。需要注意的是,此时的变换已经不是真正的DCT,仍然称其为DCT变换只是为了说它是由DCT推导而来,且为了和Hadamard变换相区别。
[0069] 所述的N维2N+1阶魔方矩阵中任意元素的求值公式可表示为:[0070] M(W1,W2,,..,WN-1,WN)=(W1+2W2+…+NWN)mod(2N+1)[0071] 其中,M(W1,W2,..,WN-1,WN)表示N维2N+1阶魔方矩阵的映射关系;W1,W2,...,WN-1,WN为N维2N+1阶魔方矩阵的N个坐标,且W1,W2,...,WN-1,WN为[0,2N]范围内的整数;[0072] 根据上式的求值公式假设任一矩阵元素的值为:
[0073] M(W1,W2,..,WN-1,WN)=(W1+2W2+3W3+…+NWN)mod(2N+1)=Kmod(2N+1)[0074] 则M(W1,W2,..,WN-1,WN)在N个维度上的相邻元素值为:
[0075] M(W1-1,W2,..,WN-1,WN)=(W1-1+2W2+3W3+…+NWN)mod(2N+1)=(K-1)mod(2N+1)[0076] M(W1+1,W2,..,WN-1,WN)=(W1+1+2W2+3W3+…+NWN)mod(2N+1)=(K+1)mod(2N+1)[0077] M(W1,W2-1,..,WN-1,WN)=(W1+2(W2-1)+3W3+…+NWN)mod(2N+1)=(K-2)mod(2N+1)[0078] M(W1,W2+1,..,WN-1,WN)=(W1+2(W2+1)+3W3+…+NWN)mod(2N+1)=(K+2)mod(2N+1)[0079] …
[0080] M(W1,W2+1,..,WN-1,WN-1)=(W1+2W2+3W3+…+N(WN-1))mod(2N+1)=(K-N)mod(2N+1)[0081] M(W1,W2+1,..,WN-1,WN+1)=(W1+2W2+3W3+…+N(WN+1))mod(2N+1)=(K+N)mod(2N+1)[0082] 由上述内容可知:M(W1,W2,..,WN-1,WN)及其在N个维度上所有相邻元素的数值,共有2N+1个,是从(K-N)~(K+N)这2N+1个数对2N+1取模。因此,以任何一个元素M(W1,W2,..,WN-1,WN)为中心,与其余维度上的2N个相邻元素的数值能够共同构成0至2N的连续整数。
[0083] 如图4所示,在本实施例中所述的步骤2)具体包括:[0084] 步骤2-1)、在H.264/AVC编码视频的宏块过程中,抽取宏块中的残差经整数DCT变化后生成DCT系数的直流分量,组成一个4X4的矩阵DC;[0085] 步骤2-2)、将步骤201)得到的矩阵DC再进行一次DCT变换,得到一个4X4的矩阵T;
[0086] 步骤2-3)、统计矩阵T中的系数大于阈值t1的个数,再根据平均纹理复杂度(ACM)计算公式对所有大于阈值t1的系数计算获得平均值,将该平均值作为该宏块的平均复杂度量化值,如果平均复杂度量化值大于阈值p,则将该宏块选择为待嵌入宏块。在选取到嵌入
10
CN 104683811 A
说 明 书
7/9页
宏块后,嵌入位置模版由密钥决定,每个密钥唯一的指定一个模版用于信息隐藏中确定嵌入点位置。模版的尺寸、最大嵌入密度和嵌入点排列方式可以根据具体情况和需要来规定,以宏块尺寸的模版为例,如图6所示,一个宏块大小的嵌入位置模版对应着16个I4块,每个小方格代表与其位置对应的I4块,阴影格表示可嵌入点,而空白格表示不可嵌入点。在图6中仅列出了最大嵌入密度为1/8、1/4、1/2和3/4时的几种典型模版。在具体应用中,通过改变模板尺寸、最大嵌入密度以及嵌入点排列规则可以获得非常丰富的模版资源,根据排列组合可以设计出65535个模板,计算过程如下式所示:
[0087]
根据上述的混沌理论的应用,下面介绍一种伪随机数生成系统,Logistic映射是一种非常简单的动力系统,其定义如下式所示:[0089] xk+1=μxk(1-xk),0<xk+1<1[0090] 首先,确定logistic映射初值x0,当3.5699456≤μ≤4时,通过logistic映射可以产生非周期不收敛的混沌序列(x1,x2,L,xn)。对该混沌序列进行0-65534整数量化后可得到模板选择序号,模板选择序号即可作为嵌入模板的选择依据,根据该模板选择序号选择每个待嵌入宏块内的I4块模板,所述模板选择序号的的计算公式如下式所示:
[0088] [0091]
[0092] [0093]
其中,yk表示模板选择序号中的值,表示不大于xk*6553j的最大整数。
因为模板选择序号中的值yk只和初值x0以及μ的取值有关,因此可以将(μ,x0)作为密钥使用。
[0094] 如图5所示,当μ=3.96,x0=0.100000001或x0=0.100000002时所产生的两个logistic序列的差值变化关系。从图中可以看出,开始的若干次迭代中两者的差值较小,随着迭代次数的增加两者差值呈现出了无规律的变化特征。为了获得更好的安全性,在本发明中规定logistic序列的取值从第31个开始。[0095] 根据上述算法,在一个宏块中可以得到待隐写的I4块序列B1 B2 B3 L Bm,其中m由秘钥指定的模板最大嵌入密度决定,Bi(i=0,1,2,3…m)为选取的每个I4块系数矩阵,均含有16个系数,所以待选取的载体系数矩阵可以表示为下式:
[0096]
下面从矩阵B中选取非零系数,从矩阵B中获取一个元素,如果这个元素不是DC(直流)分量,并且它的值不等于0,则将该元素的位置存入位置矩阵中;重复以上过程直到不能在矩阵B中取出元素位置。其中,实现的伪代码如下所示:
[0097]
11
CN 104683811 A
说 明 书
8/9页
[0098]
从上述内容获得的每个I4块位置矩阵中选取N个量化后的非零AC系数作为一组
载体系数进行信息嵌入,在每个待嵌入宏块遍历结束时不足N个的载体系数丢弃;该组载体系数通过如下映射关系映射到N维2N+1阶魔方矩阵中得到一个映射值:[0100] F(c1,c2,c3,…,cN-1,cN)=M(y(c1),y(c2),…,y(cN-1),y(cN))[0101] 其中,y(ci)的计算公式表示为:
[0099] [0102]
y表示一组系数与N维2N+1阶魔方矩阵的映射函数,ci表示载体系数;[0104] 步骤5-2)、将待嵌入的2N+1进制数秘密信息与映射值进行对比,如果两者数值相等,则不需要修改该组载体系数,否则根据以下公式调制系数,使得映射值等于待嵌入的2N+1进制数秘密信息的数值,完成H.264/AVC压缩视频中秘密信息的嵌入:
[0103]
[0105] 其中
其中,F表示载体系数与N维2N+1阶魔方矩阵中的元素的映射函数,Di是当前要嵌入的一个2N+1进制的秘密信息。
[0107] 根据上述的基于整数DCT系数调制的信息隐藏方法所实现的信息提取方法,所述的信息提取方法包括:[0108] 步骤201)、将含有秘密信息的H.264/AVC压缩视频进行熵解码后得到一个宏块,根据平均纹理复杂度(ACM)计算公式,计算出当前宏块的纹理复杂度,若满足如下条件,则该宏块为已经嵌入秘密信息的宏块:
[0106]
12
CN 104683811 A
说 明 书
9/9页
[0109]
其中,T是宏块经DCT变换后的系数矩阵,Tij是矩阵T的元素,θ1与θ2是通过
实验计算得出的阈值,式中的“(|Tij|>θ1)?1:0”表示如果|Tij|>θ1成立,则取值为1,否则取值为0,“(|Tij|>θ1)?|Tij|:0”表示如果|Tij|>θ1,成立,则取值为|Tij|,否则取值为0;[0111] 步骤202)、对步骤201)中得到的已嵌入秘密信息的宏块,通过logistic映射产生非周期不收敛的混沌序列,对该混沌序列进行整数量化后得到模板选择序号,根据该模板选择序号选择每个I4块模板;[0112] 步骤203)、从步骤202)得到的每个I4块模板中选取N个量化后的非零AC系数作为一组载体系数进行信息提取,在每个已嵌入信息宏块遍历结束时不足N个的载体系数丢弃;
[0113] 步骤204)、将步骤203)中的N个载体系数映射到N维2N+1阶魔方矩阵中提取一位已嵌入的2N+1进制数秘密信息,提取的计算公式表示为:
[0114] Di=F(c1,c2,…,cN-1,cN)=M(y(c1),y(c2),…,y(cN-1),y(cN))
[0110] [0115]
其中,F表示载体系数与N维2N+1阶魔方矩阵中的元素
的映射函数,Di是当前已嵌入的一个2N+1进制的秘密信息,y表示一组系数与N维2N+1阶魔方矩阵的映射函数,ci表示载体系数。[0116] 如图7所示,当N取3时,本发明实施例中的基于整数DCT系数调制的信息隐藏及提取过程示意。
[0117] 最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
13
CN 104683811 A
说 明 书 附 图
1/4页
图1
图2
14
CN 104683811 A
说 明 书 附 图
2/4页
图3
图4
15
CN 104683811 A
说 明 书 附 图
3/4页
图5
图6
16
CN 104683811 A
说 明 书 附 图
4/4页
图7
17
因篇幅问题不能全部显示,请点此查看更多更全内容