发明名称 一种基于整数DCT系数调制的信息隐藏及提取方法
摘要 本发明提供了一种基于整数DCT系数调制的信息隐藏及提取方法,通过构造一个N维2N+1阶魔方矩阵,并将载体系数以N个为一组分别映射到该N维2N+1阶魔方矩阵中得到一个映射值,将待嵌入的2N+1进制数秘密信息与映射值进行对比,如果两者数值相等,则不需要修改该组载体系数,如果不相等,仅需修改其中一个载体系数,即可使得映射值等于待嵌入的值,通过修改一个载体系数完成秘密信息<img file="DDA0000426069970000011.GIF" wi="136" he="64" />个比特的嵌入,嵌入效率高达<img file="DDA0000426069970000012.GIF" wi="192" he="74" />且由于载体系数修改率仅为1/N,计算过程简单,提高了信息隐藏及提取的效率。
申请公布号 CN104683811A 申请公布日期 2015.06.03
申请号 CN201310629684.7 申请日期 2013.11.29
申请人 中国科学院声学研究所 发明人 李松斌;付江云;刘鹏;戴琼兴;邓浩江
分类号 H04N19/467(2014.01)I;H04N19/176(2014.01)I 主分类号 H04N19/467(2014.01)I
代理机构 北京法思腾知识产权代理有限公司 11318 代理人 杨小蓉;杨青
主权项 一种基于整数DCT系数调制的信息隐藏方法,其特征在于,所述的信息隐藏方法包括:步骤1)、构建一个N维2N+1阶魔方矩阵,该矩阵满足每个维度有2N+1个坐标,共有(2N+1)N个元素,每个元素均为数值范围在[0,2N]之间的2N+1进制数,以任何一个元素为中心,与其余维度上的2N个相邻元素的数值共同构成0至2N的连续整数;步骤2)、在H.264/AVC编码视频的宏块过程中,根据平均纹理复杂度(ACM)计算公式,计算出当前宏块的纹理复杂度,若满足如下条件,则选择为待嵌入宏块;<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>ACM</mi><mrow><mo>(</mo><mi>T</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mn>3</mn></munderover><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mn>3</mn></munderover><mo>[</mo><mrow><mo>(</mo><mo>|</mo><msub><mi>T</mi><mi>ij</mi></msub><mo>|</mo><mo>></mo><msub><mi>&theta;</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>?</mo><mo>|</mo><msub><mi>T</mi><mi>ij</mi></msub><mo>|</mo><mo>:</mo><mn>0</mn><mo>]</mo><mo>-</mo><msub><mi>T</mi><mn>00</mn></msub></mrow><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mn>3</mn></munderover><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mn>3</mn></munderover><mo>[</mo><mrow><mo>(</mo><mo>|</mo><msub><mi>T</mi><mi>ij</mi></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></mrow></mfrac><mo>></mo><msub><mi>&theta;</mi><mn>2</mn></msub></mrow>]]></math><img file="FDA0000426069940000011.GIF" wi="1046" he="321" /></maths>其中,T是宏块经DCT变换后的系数矩阵,T<sub>ij</sub>是矩阵T的元素,θ<sub>1</sub>与θ<sub>2</sub>是通过实验计算得出的阈值,式中的“(|T<sub>ij</sub>|>θ<sub>1</sub>)?1:0”表示如果|T<sub>ij</sub>|>θ<sub>1</sub>成立,则取值为1,否则取值为0,“(|T<sub>ij</sub>|>θ<sub>1</sub>)?|T<sub>ij</sub>|:0”表示如果}T<sub>ij</sub>|>θ<sub>1</sub>成立,则取值为|T<sub>ij</sub>|,否则取值为0;步骤3)、对步骤2)中得到的待嵌入宏块通过logistic映射产生非周期不收敛的混沌序列,对该混沌序列进行整数量化后得到模板选择序号,根据该模板选择序号选择每个待嵌入宏块内的I4块模板;步骤4)、从步骤3)得到的每个I4块模板中选取N个量化后的非零AC系数作为一组载体系数进行信息嵌入,在每个待嵌入宏块遍历结束时不足N个的载体系数丢弃;步骤5)、将步骤4)中获得的一组载体系数映射到步骤1)构建的N维2N+1阶魔方矩阵中,得到一个映射值;然后将该映射值与待嵌入的2N+1进制数秘密信息进行对比,如果两者数值相等,则不需要修改该组载体系数,否则根据以下公式调制系数,使得映射值等于待嵌入的2N+1进制数秘密信息的数值,完成H.264/AVC压缩视频中秘密信息的嵌入:<img file="FDA0000426069940000021.GIF" wi="1017" he="229" />其中<maths num="0002" id="cmaths0002"><math><![CDATA[<mfenced open='' close=''><mtable><mtr><mtd><msub><mi>c</mi><mi>k</mi></msub><mo>&LeftArrow;</mo><mn>1</mn><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>c</mi><mi>k</mi></msub><mo>-</mo><mn>1</mn></mtd><mtd><mi>if</mi><msub><mi>c</mi><mi>k</mi></msub><mo>&NotEqual;</mo><mn>1</mn></mtd></mtr><mtr><mtd><mo>-</mo><mn>1</mn></mtd><mtd><mi>if</mi><msub><mi>c</mi><mi>k</mi></msub><mo>=</mo><mn>1</mn></mtd></mtr></mtable></mfenced></mtd></mtr><mtr><mtd><msub><mi>c</mi><mi>k</mi></msub><mo>&RightArrow;</mo><mn>1</mn><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>c</mi><mi>k</mi></msub><mo>+</mo><mn>1</mn></mtd><mtd><mi>if</mi><msub><mi>c</mi><mi>k</mi></msub><mo>&NotEqual;</mo><mo>-</mo><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mi>if</mi><msub><mi>c</mi><mi>k</mi></msub><mo>=</mo><mo>-</mo><mn>1</mn></mtd></mtr></mtable></mfenced></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000426069940000022.GIF" wi="473" he="265" /></maths>其中,F表示载体系数与N维2N+1阶魔方矩阵中的元素的映射函数,D<sub>i</sub>是当前要嵌入的一个2N+1进制的秘密信息。
地址 100190 北京市海淀区北四环西路21号