CN104683811B - 一种基于整数dct系数调制的信息隐藏及提取方法 - Google Patents
一种基于整数dct系数调制的信息隐藏及提取方法 Download PDFInfo
- Publication number
- CN104683811B CN104683811B CN201310629684.7A CN201310629684A CN104683811B CN 104683811 B CN104683811 B CN 104683811B CN 201310629684 A CN201310629684 A CN 201310629684A CN 104683811 B CN104683811 B CN 104683811B
- Authority
- CN
- China
- Prior art keywords
- mrow
- msub
- value
- embedded
- matrix
- 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
- 238000000034 method Methods 0.000 title claims abstract description 47
- 239000011159 matrix material Substances 0.000 claims abstract description 75
- 238000013507 mapping Methods 0.000 claims abstract description 66
- 230000008569 process Effects 0.000 claims abstract description 14
- 238000000605 extraction Methods 0.000 claims abstract description 10
- 230000000739 chaotic effect Effects 0.000 claims description 18
- 238000013139 quantization Methods 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 16
- 230000009466 transformation Effects 0.000 claims description 15
- 230000000737 periodic effect Effects 0.000 claims description 7
- 238000002474 experimental method Methods 0.000 claims description 6
- 238000011156 evaluation Methods 0.000 claims description 4
- 230000008859 change Effects 0.000 abstract description 2
- 238000003780 insertion Methods 0.000 abstract 1
- 230000037431 insertion Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 5
- 230000006872 improvement Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005291 chaos (dynamical) Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供了一种基于整数DCT系数调制的信息隐藏及提取方法,通过构造一个N维2N+1阶魔方矩阵,并将载体系数以N个为一组分别映射到该N维2N+1阶魔方矩阵中得到一个映射值,将待嵌入的2N+1进制数秘密信息与映射值进行对比,如果两者数值相等,则不需要修改该组载体系数,如果不相等,仅需修改其中一个载体系数,即可使得映射值等于待嵌入的值,通过修改一个载体系数完成秘密信息个比特的嵌入,嵌入效率高达且由于载体系数修改率仅为1/N,计算过程简单,提高了信息隐藏及提取的效率。
Description
技术领域
本发明涉及信息隐藏领域,特别涉及一种基于整数DCT系数调制的信息隐藏及提取方法。
背景技术
信息技术的不断发展给人们生活带来了便利,但同时也带来了信息认证、版权保护、秘密通信等诸多问题。信息隐藏技术可以很好地解决这些问题。它是一项将秘密信息嵌入常见载体,通过隐藏秘密通信本身来达到传递秘密信息目的的技术。
互联网和数字多媒体应用技术的日益成熟,使得音频、图像、视频等多媒体信息的传输和交换十分便捷。视频信息因其直观性、确定性和高效性等特点,特别是近年来网络流媒体业务的不断发展,使视频数据流逐渐成为网络通信流量的重要组成部分,但也成为一种潜在的极具威胁性的信息隐藏载体。由于视频一般要经过压缩编码后再通过网络进行传输,因此基于压缩视频流的信息隐藏研究在近年来得到了越来越多的重视,目前已有较多相关文献见诸报道。现有的信息隐藏方法大致可分为以下几类:基于帧内预测模式调制进行信息隐藏的方法;基于运动矢量调制进行信息隐藏的方法;基于熵编码码元调制进行信息隐藏的方法;基于整数变换系数调制进行信息隐藏的方法。
上述的几种信息隐藏方法存在着以下问题:帧内预测模式调制只在I帧出现;运动矢量调制只在有帧间估计时才能应用;熵编码直接修改码流元素会引入较大的视频失真;而整数变换在所有类型的编码帧中都会出现,载体容量大,意味着嵌入容量大,另外,基于整数变换系数调制的信息隐藏算法一般都具有复杂性低,无需重编码,较适合实时编码过程,具有更广泛的利用空间的优点。但是,现有的整数变换系数调制信息隐藏方法存在嵌入效率低、引入的码率增加量大等问题。
发明内容
本发明的目的在于,为克服现有技术中的整数变换系数调制信息隐藏方法存在着上述技术问题,本发明提供一种基于整数DCT系数调制的信息隐藏及提取方法,该信息隐藏及提取方法具有较高的嵌入效率。
为了实现上述目的,本发明提供一种基于整数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进制的秘密信息。
作为上述技术方案的进一步改进,所述的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]范围内的整数。
作为上述技术方案的进一步改进,所述的步骤2)包括:
步骤2-1)、在H.264/AVC编码视频的宏块过程中,抽取宏块中的残差经整数DCT变化后生成DCT系数的直流分量,组成一个4X4的矩阵DC;
步骤2-2)、将步骤201)得到的矩阵DC再进行一次DCT变换,得到一个4X4的矩阵T;
步骤2-3)、统计矩阵T中的系数大于阈值t1的个数,再根据平均纹理复杂度(ACM)计算公式对所有大于阈值t1的系数计算获得平均值,将该平均值作为该宏块的平均复杂度量化值,如果平均复杂度量化值大于阈值p,则将该宏块选择为待嵌入宏块。
作为上述技术方案的进一步改进,所述的步骤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)包括:
步骤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进制的秘密信息。
基于上述整数DCT系数调制的信息隐藏方法所实现的信息提取方法,所述的信息提取方法包括:
步骤201)、将含有秘密信息的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;
步骤202)、对步骤201)中得到的已嵌入秘密信息的宏块,通过logistic映射产生非周期不收敛的混沌序列,对该混沌序列进行整数量化后得到模板选择序号,根据该模板选择序号选择每个I4块模板;
步骤203)、从步骤202)得到的每个I4块模板中选取N个量化后的非零AC系数作为一组载体系数进行信息提取,在每个已嵌入信息宏块遍历结束时不足N个的载体系数丢弃;
步骤204)、将步骤203)中的N个载体系数映射到N维2N+1阶魔方矩阵中提取一位已嵌入的2N+1进制数秘密信息,提取的计算公式表示为:
其中,素的映射函数,Di是当前已嵌入的一个2N+1进制的秘密信息,y表示一组系数与N维2N+1阶魔方矩阵的映射函数,ci表示载体系数。
本发明的一种基于整数DCT系数调制的信息隐藏及提取方法的优点在于:
本发明通过构造一个N维2N+1阶魔方矩阵,并将载体系数以N个为一组分别映射到该N维2N+1阶魔方矩阵中得到一个映射值,将待嵌入的2N+1进制数秘密信息与映射值进行对比,如果两者数值相等,则不需要修改该组载体系数,如果不相等,根据构建的N维2N+1阶魔方矩阵的特性可知,仅需修改其中一个载体系数,即可使得映射值等于待嵌入的值,通过修改一个载体系数完成秘密信息个比特的嵌入,嵌入效率高达与现有的通过判断系数的奇偶性来嵌入二进制秘密信息相比,具有更高的嵌入效率,且本发明中的载体系数修改率仅为1/N,计算过程更加简单,提高了信息隐藏及提取的效率。
附图说明
图1为本发明的一种基于整数DCT系数调制的信息隐藏方法示意图。
图2为本发明实施例中的H.264/AVC编码视频的流程图。
图3为本发明实施例中的整数DCT变换及量化示意图。
图4为本发明实施例中的纹理复杂宏块的具体计算流程图。
图5为本发明实施例中的logistic映射初值对混沌序列影响的示意图。
图6为本发明实施例中的已选定嵌入点的部分模板结构示意图。
图7为本发明实施例中的基于整数DCT系数调制的信息隐藏及提取示意图。
具体实施方式
下面结合附图和实施例对本发明所述的一种基于整数DCT系数调制的信息隐藏及提取方法进行详细说明。
如图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进制的秘密信息。所述的待嵌入的2N+1进制数秘密信息是由二进制比特流转换成2N+1进制的数据流。
基于上述实施例,所述的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相加,得到未经滤波的帧uFn'。为了去除编码解码环路中产生的噪声,进而提高参考帧的图像质量和压缩图像性能,设置了一个环路滤波器,未经滤波的帧uFn'经滤波后输出的帧Fn'即为重建图像,其可用作参考图像。
图像编码中常用的变换是DCT,因为它在某种条件下近似于理论上最优的K-L变换。但是如果直接采用DCT的定义进行变换会带来两个问题:一个是需要进行浮点数操作,从而造成系统设计上的复杂性;第二由于变换核都是无理数,而有限精度的浮点数不可能精确地表示无理数,再加上浮点数的运算可能会引入舍入误差,这就使得在具体实现时会导致编解码的不一致(mismatch),即反变换的输出结果和正变换的输入不一样。为了克服这些问题,如图2所示,本发明的在H.264/AVC编码视频过程中采用整数DCT变换,使得变换操作仅用整数加减和移位操作就可以完成,这样既降低了设计复杂度,又避免了编解码mismatch,而由此带来的编码性能的减少微乎其微。需要注意的是,此时的变换已经不是真正的DCT,仍然称其为DCT变换只是为了说它是由DCT推导而来,且为了和Hadamard变换相区别。
所述的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]范围内的整数;
根据上式的求值公式假设任一矩阵元素的值为:
M(W1,W2,..,WN-1,WN)=(W1+2W2+3W3+…+NWN)mod(2N+1)=Kmod(2N+1)
则M(W1,W2,..,WN-1,WN)在N个维度上的相邻元素值为:
M(W1-1,W2,..,WN-1,WN)=(W1-1+2W2+3W3+…+NWN)mod(2N+1)=(K-1)mod(2N+1)
M(W1+1,W2,..,WN-1,WN)=(W1+1+2W2+3W3+…+NWN)mod(2N+1)=(K+1)mod(2N+1)
M(W1,W2-1,..,WN-1,WN)=(W1+2(W2-1)+3W3+…+NWN)mod(2N+1)=(K-2)mod(2N+1)
M(W1,W2+1,..,WN-1,WN)=(W1+2(W2+1)+3W3+…+NWN)mod(2N+1)=(K+2)mod(2N+1)
…
M(W1,W2+1,..,WN-1,WN-1)=(W1+2W2+3W3+…+N(WN-1))mod(2N+1)=(K-N)mod(2N+1)
M(W1,W2+1,..,WN-1,WN+1)=(W1+2W2+3W3+…+N(WN+1))mod(2N+1)=(K+N)mod(2N+1)
由上述内容可知: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的连续整数。
如图4所示,在本实施例中所述的步骤2)具体包括:
步骤2-1)、在H.264/AVC编码视频的宏块过程中,抽取宏块中的残差经整数DCT变化后生成DCT系数的直流分量,组成一个4X4的矩阵DC;
步骤2-2)、将步骤201)得到的矩阵DC再进行一次DCT变换,得到一个4X4的矩阵T;
步骤2-3)、统计矩阵T中的系数大于阈值t1的个数,再根据平均纹理复杂度(ACM)计算公式对所有大于阈值t1的系数计算获得平均值,将该平均值作为该宏块的平均复杂度量化值,如果平均复杂度量化值大于阈值p,则将该宏块选择为待嵌入宏块。在选取到嵌入宏块后,嵌入位置模版由密钥决定,每个密钥唯一的指定一个模版用于信息隐藏中确定嵌入点位置。模版的尺寸、最大嵌入密度和嵌入点排列方式可以根据具体情况和需要来规定,以宏块尺寸的模版为例,如图6所示,一个宏块大小的嵌入位置模版对应着16个I4块,每个小方格代表与其位置对应的I4块,阴影格表示可嵌入点,而空白格表示不可嵌入点。在图6中仅列出了最大嵌入密度为1/8、1/4、1/2和3/4时的几种典型模版。在具体应用中,通过改变模板尺寸、最大嵌入密度以及嵌入点排列规则可以获得非常丰富的模版资源,根据排列组合可以设计出65535个模板,计算过程如下式所示:
根据上述的混沌理论的应用,下面介绍一种伪随机数生成系统,Logistic映射是一种非常简单的动力系统,其定义如下式所示:
xk+1=μxk(1-xk),0<xk+1<1
首先,确定logistic映射初值x0,当3.5699456≤μ≤4时,通过logistic映射可以产生非周期不收敛的混沌序列(x1,x2,L,xn)。对该混沌序列进行0-65534整数量化后可得到模板选择序号,模板选择序号即可作为嵌入模板的选择依据,根据该模板选择序号选择每个待嵌入宏块内的I4块模板,所述模板选择序号的的计算公式如下式所示:
其中,yk表示模板选择序号中的值,表示不大于xk*6553j的最大整数。
因为模板选择序号中的值yk只和初值x0以及μ的取值有关,因此可以将(μ,x0)作为密钥使用。
如图5所示,当μ=3.96,x0=0.100000001或x0=0.100000002时所产生的两个logistic序列的差值变化关系。从图中可以看出,开始的若干次迭代中两者的差值较小,随着迭代次数的增加两者差值呈现出了无规律的变化特征。为了获得更好的安全性,在本发明中规定logistic序列的取值从第31个开始。
根据上述算法,在一个宏块中可以得到待隐写的I4块序列B1 B2 B3 L Bm,其中m由秘钥指定的模板最大嵌入密度决定,Bi(i=0,1,2,3…m)为选取的每个I4块系数矩阵,均含有16个系数,所以待选取的载体系数矩阵可以表示为下式:
下面从矩阵B中选取非零系数,从矩阵B中获取一个元素,如果这个元素不是DC(直流)分量,并且它的值不等于0,则将该元素的位置存入位置矩阵中;重复以上过程直到不能在矩阵B中取出元素位置。其中,实现的伪代码如下所示:
从上述内容获得的每个I4块位置矩阵中选取N个量化后的非零AC系数作为一组载体系数进行信息嵌入,在每个待嵌入宏块遍历结束时不足N个的载体系数丢弃;该组载体系数通过如下映射关系映射到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进制的秘密信息。
根据上述的基于整数DCT系数调制的信息隐藏方法所实现的信息提取方法,所述的信息提取方法包括:
步骤201)、将含有秘密信息的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;
步骤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表示载体系数。
如图7所示,当N取3时,本发明实施例中的基于整数DCT系数调制的信息隐藏及提取过程示意。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (5)
1.一种基于整数DCT系数调制的信息隐藏方法,其特征在于,所述的信息隐藏方法包括:
步骤1)、构建一个N维2N+1阶魔方矩阵,该矩阵满足每个维度有2N+1个坐标,共有(2N+1)N个元素,每个元素均为数值范围在[0,2N]之间的2N+1进制数,以任何一个元素为中心,与其余维度上的2N个相邻元素的数值共同构成0至2N的连续整数;
步骤2)、在H.264/AVC编码视频的宏块过程中,根据平均纹理复杂度(ACM)计算公式,计算出当前宏块的纹理复杂度,若满足如下条件,则选择为待嵌入宏块;
<mrow>
<mi>A</mi>
<mi>C</mi>
<mi>M</mi>
<mrow>
<mo>(</mo>
<mi>T</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mn>3</mn>
</munderover>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>j</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mn>3</mn>
</munderover>
<mrow>
<mo>&lsqb;</mo>
<mrow>
<mrow>
<mo>(</mo>
<mrow>
<mo>|</mo>
<msub>
<mi>T</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>|</mo>
<mo>></mo>
<msub>
<mi>&theta;</mi>
<mn>1</mn>
</msub>
</mrow>
<mo>)</mo>
</mrow>
<mo>?</mo>
<mo>|</mo>
<msub>
<mi>T</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>|</mo>
<mo>:</mo>
<mn>0</mn>
</mrow>
<mo>&rsqb;</mo>
</mrow>
<mo>-</mo>
<msub>
<mi>T</mi>
<mn>00</mn>
</msub>
</mrow>
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mn>3</mn>
</munderover>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>j</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mn>3</mn>
</munderover>
<mrow>
<mo>&lsqb;</mo>
<mrow>
<mrow>
<mo>(</mo>
<mrow>
<mo>|</mo>
<msub>
<mi>T</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>|</mo>
<mo>></mo>
<msub>
<mi>&theta;</mi>
<mn>1</mn>
</msub>
</mrow>
<mo>)</mo>
</mrow>
<mo>?</mo>
<mn>1</mn>
<mo>:</mo>
<mn>0</mn>
</mrow>
<mo>&rsqb;</mo>
</mrow>
</mrow>
</mfrac>
<mo>></mo>
<msub>
<mi>&theta;</mi>
<mn>2</mn>
</msub>
</mrow>
其中,T是宏块经DCT变换后的系数矩阵,Tij是矩阵T的元素,θ1与θ2是通过实验计算得出的阈值,T00是宏块DCT系数矩阵直流分量;式中的“(|Tij|>θ1)?1:0”表示如果|Tij|>θ1成立,则取值为1,否则取值为0,“(|Tij|>θ1)?|Tij|:0”表示如果|Tij|>θ1成立,则取值为|Tij|,否则取值为0;
步骤3)、对步骤2)中得到的待嵌入宏块通过logistic映射产生非周期不收敛的混沌序列,对该混沌序列进行整数量化后得到模板选择序号,根据该模板选择序号选择每个待嵌入宏块内的I4块模板;
所述的步骤3)包括:
步骤3-1)、确定logistic映射初值x0;
步骤3-2)、选取适当的μ值以满足3.5699456≤μ≤4,从而得到密钥(μ,x0);
步骤3-3)、根据步骤3-2)得到的密钥(μ,x0)产生非周期不收敛的混沌序列(x1,x2,…,xn);
步骤3-4)、对步骤3-3)得到的混沌序列中每个值xk进行0-65534整数量化后可得到模板选择序号,根据该模板选择序号选择每个待嵌入宏块内的I4块模板,所述模板选择序号的计算公式表示为:
其中,yk表示模板选择序号中的值,表示不大于xk*65535的最大整数;
步骤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变化后生成DCT系数的直流分量,组成一个4X4的矩阵DC;
步骤2-2)、将步骤201)得到的矩阵DC再进行一次DCT变换,得到一个4X4的矩阵T;
步骤2-3)、统计矩阵T中的系数大于阈值t1的个数,再根据平均纹理复杂度(ACM)计算公式对所有大于阈值t1的系数计算获得平均值,将该平均值作为该宏块的平均复杂度量化值,如果平均复杂度量化值大于阈值p,则将该宏块选择为待嵌入宏块。
4.根据权利要求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)的计算公式表示为:
<mrow>
<mi>y</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>c</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>c</mi>
<mi>i</mi>
</msub>
<mi>mod</mi>
<mrow>
<mo>(</mo>
<mn>2</mn>
<mi>N</mi>
<mo>+</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mi>c</mi>
<mi>i</mi>
</msub>
<mo>></mo>
<mn>0</mn>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>&lsqb;</mo>
<mrow>
<mo>(</mo>
<msub>
<mi>c</mi>
<mi>i</mi>
</msub>
<mo>+</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mi>mod</mi>
<mrow>
<mo>(</mo>
<mn>2</mn>
<mi>N</mi>
<mo>+</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mrow>
<mo>(</mo>
<mn>2</mn>
<mi>N</mi>
<mo>+</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>&rsqb;</mo>
<mi>mod</mi>
<mrow>
<mo>(</mo>
<mn>2</mn>
<mi>N</mi>
<mo>+</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mi>c</mi>
<mi>i</mi>
</msub>
<mo><</mo>
<mn>0</mn>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
y表示一组系数与N维2N+1阶魔方矩阵的映射函数,ci表示载体系数;
步骤5-2)、将待嵌入的2N+1进制数秘密信息与映射值进行对比,如果两者数值相等,则不需要修改该组载体系数,否则根据以下公式调制系数,使得映射值等于待嵌入的2N+1进制数秘密信息的数值,完成H.264/AVC压缩视频中秘密信息的嵌入:
其中
其中,F表示载体系数与N维2N+1阶魔方矩阵中的元素的映射函数,Di是当前要嵌入的一个2N+1进制的秘密信息。
5.基于权利要求1-4中任一所述基于整数DCT系数调制的信息隐藏方法所实现的信息提取方法,其特征在于,所述的信息提取方法包括:
步骤201)、将含有秘密信息的H.264/AVC压缩视频进行熵解码后得到一个宏块,根据平均纹理复杂度(ACM)计算公式,计算出当前宏块的纹理复杂度,若满足如下条件,则该宏块为已经嵌入秘密信息的宏块:
<mrow>
<mi>A</mi>
<mi>C</mi>
<mi>M</mi>
<mrow>
<mo>(</mo>
<mi>T</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mn>3</mn>
</munderover>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>j</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mn>3</mn>
</munderover>
<mo>&lsqb;</mo>
<mrow>
<mo>(</mo>
<mo>|</mo>
<msub>
<mi>T</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>|</mo>
<mo>></mo>
<msub>
<mi>&theta;</mi>
<mn>1</mn>
</msub>
<mo>|</mo>
<mo>)</mo>
</mrow>
<mo>?</mo>
<mo>|</mo>
<msub>
<mi>T</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>|</mo>
<mo>:</mo>
<mn>0</mn>
<mo>&rsqb;</mo>
<mo>-</mo>
<msub>
<mi>T</mi>
<mn>00</mn>
</msub>
</mrow>
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mn>3</mn>
</munderover>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>j</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mn>3</mn>
</munderover>
<mo>&lsqb;</mo>
<mrow>
<mo>(</mo>
<mo>|</mo>
<msub>
<mi>T</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>|</mo>
<mo>></mo>
<msub>
<mi>&theta;</mi>
<mn>1</mn>
</msub>
<mo>)</mo>
</mrow>
<mo>?</mo>
<mn>1</mn>
<mo>:</mo>
<mn>0</mn>
<mo>&rsqb;</mo>
</mrow>
</mfrac>
<mo>></mo>
<msub>
<mi>&theta;</mi>
<mn>2</mn>
</msub>
</mrow>
其中,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表示载体系数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310629684.7A CN104683811B (zh) | 2013-11-29 | 2013-11-29 | 一种基于整数dct系数调制的信息隐藏及提取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310629684.7A CN104683811B (zh) | 2013-11-29 | 2013-11-29 | 一种基于整数dct系数调制的信息隐藏及提取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104683811A CN104683811A (zh) | 2015-06-03 |
CN104683811B true CN104683811B (zh) | 2017-12-29 |
Family
ID=53318294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310629684.7A Active CN104683811B (zh) | 2013-11-29 | 2013-11-29 | 一种基于整数dct系数调制的信息隐藏及提取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104683811B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105025195B (zh) * | 2015-06-30 | 2017-11-28 | 西安空间无线电技术研究所 | 一种隐真示假卫星数据传输方法 |
CN106791871B (zh) * | 2015-11-25 | 2019-07-02 | 中国科学院声学研究所 | 一种运动矢量调制信息隐藏检测方法 |
CN107925763B (zh) * | 2015-12-23 | 2020-01-10 | 华为技术有限公司 | 等级分割中的块级别变换选择和隐式信令的编码变换方法和设备 |
CN106530203B (zh) * | 2016-10-28 | 2019-03-01 | 武汉大学 | 一种基于纹理复杂度的jpeg图像自适应隐写方法 |
CN107222749B (zh) * | 2017-06-21 | 2019-10-18 | 同济大学 | 一种用于无线视频传输的混沌码构造方法 |
CN108683921B (zh) * | 2018-06-07 | 2020-04-07 | 四川大学 | 一种基于零量化dct系数组的视频可逆信息隐藏方法 |
KR20240014631A (ko) * | 2018-10-11 | 2024-02-01 | 엘지전자 주식회사 | 변환 계수 코딩 방법 및 장치 |
CN109658322B (zh) * | 2018-12-11 | 2019-09-03 | 宁波大学 | 一种大容量图像隐写方法和秘密信息提取方法 |
CN109684857B (zh) * | 2018-12-21 | 2020-11-10 | 厦门大学 | 一种信息隐藏方法、终端设备及存储介质 |
CN116320471B (zh) * | 2023-05-18 | 2023-08-22 | 中南大学 | 视频信息隐藏方法、系统、设备及视频隐藏信息提取方法 |
CN116431100B (zh) * | 2023-06-13 | 2023-09-05 | 三未信安科技股份有限公司 | 一种基于魔方的随机数生成装置及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1882081A (zh) * | 2006-05-11 | 2006-12-20 | 北京经天科技有限公司 | 针对网络视频的可靠数据嵌入算法 |
CN102857831A (zh) * | 2012-08-01 | 2013-01-02 | 合肥工业大学 | H.264视频完整性认证方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7516069B2 (en) * | 2004-04-13 | 2009-04-07 | Texas Instruments Incorporated | Middle-end solution to robust speech recognition |
-
2013
- 2013-11-29 CN CN201310629684.7A patent/CN104683811B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1882081A (zh) * | 2006-05-11 | 2006-12-20 | 北京经天科技有限公司 | 针对网络视频的可靠数据嵌入算法 |
CN102857831A (zh) * | 2012-08-01 | 2013-01-02 | 合肥工业大学 | H.264视频完整性认证方法 |
Non-Patent Citations (1)
Title |
---|
《一种基于整数DCT系数调制及N维魔方矩阵的H.264/AVC》;李松斌等;《小型微型计算机系统》;20131031;第34卷(第10期);正文第2293-2296页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104683811A (zh) | 2015-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104683811B (zh) | 一种基于整数dct系数调制的信息隐藏及提取方法 | |
Cheng et al. | Learning image and video compression through spatial-temporal energy compaction | |
JP6239713B2 (ja) | 動画像符号化装置および動画像復号装置 | |
TWI521890B (zh) | Image coding apparatus, method and program, and image decoding apparatus, method and program | |
CN104994383B (zh) | 用于视频解码的设备 | |
Helminger et al. | Lossy image compression with normalizing flows | |
CN1922890B (zh) | 分段可逆视频编码、译码方法及装置 | |
CN104041053A (zh) | 用于视频的算术编码的方法和装置以及用于视频的算术解码的方法和装置 | |
CN105721878A (zh) | Hevc视频编解码中执行帧内预测的图像处理装置及方法 | |
CN103765893A (zh) | 使用用于定点变换的比特深度调整的视频编码方法及其设备,以及视频解码方法及其设备 | |
CN103891278A (zh) | 图像编码以及解码方法、装置、程序 | |
KR100922510B1 (ko) | 영상의 부호화 및 복호화 방법, 장치 및 그 애플리케이션 | |
CN103460701A (zh) | 有效度图编码的复杂度降低 | |
CN103188494A (zh) | 跳过离散余弦变换对深度图像编码/解码的设备和方法 | |
CN110419216A (zh) | 通过参数化概率估计有限状态机进行二进制算术译码 | |
CN111316642A (zh) | 信令图像编码和解码划分信息的方法和装置 | |
CN105933711A (zh) | 基于分割的邻域最优概率视频隐写分析方法及系统 | |
CN111279698B (zh) | 图像编码的非对称划分装置和方法 | |
CN108429916B (zh) | 图像编码方法及装置 | |
Tagliasacchi et al. | Transform coder identification based on quantization footprints and lattice theory | |
CN103069798B (zh) | 用于在实施变换域估计过程中对至少一个图像进行编码和解码的方法和装置 | |
CN113395516B (zh) | 帧内预测方法及装置、计算机可读存储介质 | |
CN116193140A (zh) | 基于lcevc的编码方法、解码方法及译码设备 | |
CN115834882A (zh) | 一种帧内预测方法、装置、电子设备及存储介质 | |
CN107172425B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220803 Address after: 100190, No. 21 West Fourth Ring Road, Beijing, Haidian District Patentee after: INSTITUTE OF ACOUSTICS, CHINESE ACADEMY OF SCIENCES Patentee after: NANHAI RESEARCH STATION, INSTITUTE OF ACOUSTICS, CHINESE ACADEMY OF SCIENCES Address before: 100190, No. 21 West Fourth Ring Road, Beijing, Haidian District Patentee before: INSTITUTE OF ACOUSTICS, CHINESE ACADEMY OF SCIENCES |
|
TR01 | Transfer of patent right |