当前位置: 首页 > 专利查询>宁波大学专利>正文

一种大容量图像隐写方法和秘密信息提取方法技术

技术编号:20920241 阅读:21 留言:0更新日期:2019-04-20 10:28
一种大容量图像隐写方法,包括:对载体图像进行置乱处理;将置乱后的图像划分成N*N的子块并进行DCT变换;对每个DCT块进行分类,选定嵌入块;对每个嵌入块的DCT系数Z字形扫描后得到的矩阵中提取出选定位置的元素值,得到系数矩阵;在Q表Z字形扫描后得到的矩阵中提取出与选定位置相同的元素值,组成量化矩阵;通过量化矩阵计算划分矩阵和块容量;将秘密信息的比特流按照块容量划分;对划分后的比特流计算嵌入矩阵;计算新的系数矩阵;使用新的系数矩阵中的元素值替换DCT系数,且进行Z字形扫描的逆操作,得到新的DCT系数;对每个子块进行DCT反变换后再进行反置乱处理。还公开了秘密信提取方法。图像复杂度高且嵌入容量大。

A Large Capacity Steganography Method and Secret Information Extraction Method

A large-capacity image steganography method includes: scrambling the carrier image; dividing the scrambled image into N*N sub-blocks and performing DCT transformation; classifying each DCT block and selecting the embedded block; extracting the element value of the selected location from the matrix obtained by Z-scan of DCT coefficients of each embedded block and obtaining the coefficient matrix; and obtaining the moments after Z-scan of Q table. In the matrix, the same element values as the selected location are extracted to form a quantization matrix; partition matrix and block capacity are calculated by quantization matrix; bit stream of secret information is partitioned according to block capacity; embedded matrix is calculated for partitioned bit stream; new coefficient matrix is calculated; DCT coefficient is replaced by element values of new coefficient matrix, and the inverse operation of Z-scan is carried out to obtain a new one. DCT coefficients; each sub-block is inversely transformed by DCT and then scrambled. A secret letter extraction method is also disclosed. The image has high complexity and large embedding capacity.

【技术实现步骤摘要】
一种大容量图像隐写方法和秘密信息提取方法
本专利技术涉及图像领域,特别涉及一种大容量图像隐写方法和秘密信息提取方法。
技术介绍
信息隐藏是从隐藏信息的存在性这一角度出发,确保秘密信息传递的安全性,利用人类感官的局限性,在公开传递的多媒体载体中嵌入秘密信息,使第三者无法察觉秘密信息的存在。信息隐藏分为隐写、数值水印、信息分存、隐藏信道等多个分支,从最初的军事领域外,当今已应用于商业信息、政府机密信息、个人敏感信息等多领域。常用的图像隐写技术可以分为两类:基于空间域的隐写技术和基于变换域的隐写技术。一般情况下,空间域隐写方法算法简单,信息隐藏量大,但缺点主要是对多数攻击的鲁棒性不强,隐藏算法容易被检测到;基于变换域的隐写技术隐藏信息的鲁棒性较强,其中DCT域是应用最广的变换域算法,但是目前变换域算法的最大不足是嵌入信息量小、提取复杂。
技术实现思路
本专利技术所要解决的首要技术问题是针对现有技术的现状,提供一种大容量图像隐写方法,该图像隐写方法增加了图像复杂度且在提高嵌入容量的同时,具有较好的不可感知性的。本专利技术进一步要解决的技术问题是提供一种采用上述图像隐写方法的基础上的秘密信息提取方法。本专利技术解决上述首要技术问题所采用的技术方案为:一种大容量图像隐写方法,用于将秘密信息嵌入到载体图像中,其特征在于:包括以下步骤:步骤1、对载体图像进行置乱处理,得到置乱后的载体图像;步骤2、将置乱后的载体图像划分大小为N*N的子块,并对每个子块进行DCT变换,得到每个子块的DCT块,每个DCT块中的元素值为每个子块相应位置的DCT系数,其中,N为自然数;步骤3、对每个DCT块进行分类,分为纹理块和平滑块,选择纹理块进行秘密信息嵌入,被选定的n个纹理块标记为嵌入块,n为自然数;步骤4、分别对n个嵌入块的DCT系数进行Z字形扫描,分别得到按照扫描顺序排列而成的一维矩阵,将该一维矩阵标记为第一矩阵,在所有第一矩阵中选择位置相同的m个元素值,得到n个第一系数矩阵Ai,其中Ai=[ai1ai2...aij...aim],ai1为第i个嵌入块的第一矩阵中第1个被选定位置对应的元素值,ai2为第i个嵌入块的第一矩阵中第2个被选定位置对应的元素值,aij为第i个嵌入块的第一矩阵中第j个被选定位置对应的元素值,aim为第i个嵌入块的第一矩阵中第m个被选定位置对应的元素值;i=1、2、3...n,m为自然数;步骤5、将大小为N*N的预设Q表进行Z字形扫描,得到按照扫描顺序排列而成的一维矩阵,将该一维矩阵标记为第二矩阵,在第二矩阵中提取出与步骤4中所有第一矩阵选择的位置相同的m个元素值,将m个元素值按照顺序组成量化矩阵B,其中,B=[b1b2...bj...bm],b1为第二矩阵中第1个被提取出的元素值,b2为第二矩阵中第2个被提取出的元素值,bj为第二矩阵中第j个被提取出的元素值,bm为第二矩阵中第m个被提取出的元素值;步骤6、对量化矩阵B进行计算得到划分矩阵C,并对划分矩阵C中所有元素求和,作为每个嵌入块的块容量;其中,划分矩阵C的计算公式为:C=[c1c2...cj...cm],1≤j≤m,表示向下取整函数;每个嵌入块的块容量等于c1+c2+...cj+...+cm;步骤7、将需要嵌入的秘密信息转换成二进制的比特流,然后以每个嵌入块的块容量为单位,将秘密信息的二进制的比特流划分成k个秘密分块;步骤8、对照划分矩阵C中的每个元素值,将划分矩阵C中的每个元素值作为划分位数,依次先后对每个秘密分块中的比特流进行划分,每个秘密分块被划分成m个分块比特流,将每个秘密分块中m个分块比特流转换成十进制数,依次得到第l个秘密分块的m个元素值,记为第l个秘密分块的嵌入矩阵Dl,Dl=[dl1dl2...dlj...dlm],dl1为第l个秘密分块中第一个分块比特流转换成的十进制数,dl2为第l个秘密分块中第二个分块比特流转换成的十进制数,dlj为第l个秘密分块中第j个分块比特流转换成的十进制数,dlm为第l个秘密分块中第m个分块比特流转换成的十进制数,l=1、2、3...k;1≤j≤m;步骤9、依次将k个秘密分块按照顺序嵌入到嵌入块中:根据第i个嵌入块的第一系数矩阵Ai、量化矩阵B和第i个秘密分块的嵌入矩阵Di,计算第i个嵌入块的第一系数矩阵Ai对应的新系数值,作为第i个嵌入块的第二系数矩阵Fi;其中,计算公式为:其中,Fi=[fi1fi2...fij...fim],fi1为第i个嵌入块的第二系数矩阵Fi中第1个元素值,fi2为第i个嵌入块的第二系数矩阵Fi中第2个元素值,fij为第i个嵌入块的第二系数矩阵Fi中第j个元素值,fim为第i个嵌入块的第二系数矩阵Fi中第m个元素值,i=1、2、3...n,1≤j≤m;表示向下取整函数,d′ij为符号化后的第i个秘密分块的嵌入矩阵Di中第j个元素值,符号化后的第i个秘密分块的嵌入矩阵Di与第i个嵌入块的第一系数矩阵Ai中对应位置的元素符号相同;步骤10、使用第i个嵌入块的第二系数矩阵Fi中元素值替换与第i个嵌入块的第一系数矩阵Ai中对应位置的元素值,且使用替换后的第一系数矩阵Ai相应替换第一矩阵中对应位置的元素值,且对替换后的第一矩阵进行Z字形扫描的逆操作,使第一矩阵重新转换成二维矩阵,得到第i个嵌入块新的DCT系数矩阵,将新的DCT系数矩阵替换成该第i个嵌入块的DCT系数矩阵;步骤11、对每个子块进行DCT反变换,将所有进行DCT反变换后的子块按照顺序合成为第二图像;步骤12、对第二图像进行反置乱处理,得到载密图像。具体的,所述步骤1中从以下四种置乱算法中任意选择一种置乱算法对大小为N1*N2的载体图像进行置乱处理,其中第一种置乱算法的具体步骤为:步骤1-1a、计算载体图像的每个像素点的行号和列号之和,其中,载体图像的任一像素点用第i行第j列表示,i=1、2、3...N1,j=1、2、3..N2;步骤1-1b、判断i+j的值是否能被2整除,如是,则转入步骤1-1c;如否,则保持载体图像的第i行第j列像素点的灰度值不变;步骤1-1c、判断载体图像的第i行第j列像素点的灰度值是否大于128,如是,则将载体图像的第i行第j列像素点的灰度值减去128;如否,则将载体图像的第i行第j列像素点的灰度值加上128。第二种置乱算法的具体步骤为:步骤1-1a、判断载体图像所有像素点的数量是否在设定范围内,如是,则转入步骤1-1b;如否,则结束;步骤1-1b、计算载体图像的每个像素点的行号和列号之和,其中,载体图像的任一像素点用第i行第j列表示,i=1、2、3...N1,j=1、2、3..N2;步骤1-1c、判断i+j的值是否能被2整除,如是,则转入步骤1-1d;如否,则保持载体图像的第i行第j列像素点的灰度值不变;步骤1-1d、判断载体图像的第i行第j列像素点的灰度值是否大于128,如是,则将载体图像的第i行第j列像素点的灰度值减去128;如否,则将载体图像的第i行第j列像素点的灰度值加上128。第三种置乱算法的具体步骤为:步骤1-1a、计算载体图像的每个像素点的行号和列号之和,其中,载体图像的任一像素点用第i行第j列表示,i=1、2、3...N1,j=1、2、3..N2;步骤1-1b、判断i+j的值是否能被2整除,如是本文档来自技高网...

【技术保护点】
1.一种大容量图像隐写方法,用于将秘密信息嵌入到载体图像中,其特征在于:包括以下步骤:步骤1、对载体图像进行置乱处理,得到置乱后的载体图像;步骤2、将置乱后的载体图像划分大小为N*N的子块,并对每个子块进行DCT变换,得到每个子块的DCT块,每个DCT块中的元素值为每个子块相应位置的DCT系数,其中,N为自然数;步骤3、对每个DCT块进行分类,分为纹理块和平滑块,选择纹理块进行秘密信息嵌入,被选定的n个纹理块标记为嵌入块,n为自然数;步骤4、分别对n个嵌入块的DCT系数进行Z字形扫描,分别得到按照扫描顺序排列而成的一维矩阵,将该一维矩阵标记为第一矩阵,在所有第一矩阵中选择位置相同的m个元素值,得到n个第一系数矩阵Ai,其中Ai=[ai1 ai2 ... aij ... aim],ai1为第i个嵌入块的第一矩阵中第1个被选定位置对应的元素值,ai2为第i个嵌入块的第一矩阵中第2个被选定位置对应的元素值,aij为第i个嵌入块的第一矩阵中第j个被选定位置对应的元素值,aim为第i个嵌入块的第一矩阵中第m个被选定位置对应的元素值;i=1、2、3...n,m为自然数;步骤5、将大小为N*N的预设Q表进行Z字形扫描,得到按照扫描顺序排列而成的一维矩阵,将该一维矩阵标记为第二矩阵,在第二矩阵中提取出与步骤4中所有第一矩阵选择的位置相同的m个元素值,将m个元素值按照顺序组成量化矩阵B,其中,B=[b1 b2 ... bj ... bm],b1为第二矩阵中第1个被提取出的元素值,b2为第二矩阵中第2个被提取出的元素值,bj为第二矩阵中第j个被提取出的元素值,bm为第二矩阵中第m个被提取出的元素值;步骤6、对量化矩阵B进行计算得到划分矩阵C,并对划分矩阵C中所有元素求和,作为每个嵌入块的块容量;其中,划分矩阵C的计算公式为:...

【技术特征摘要】
1.一种大容量图像隐写方法,用于将秘密信息嵌入到载体图像中,其特征在于:包括以下步骤:步骤1、对载体图像进行置乱处理,得到置乱后的载体图像;步骤2、将置乱后的载体图像划分大小为N*N的子块,并对每个子块进行DCT变换,得到每个子块的DCT块,每个DCT块中的元素值为每个子块相应位置的DCT系数,其中,N为自然数;步骤3、对每个DCT块进行分类,分为纹理块和平滑块,选择纹理块进行秘密信息嵌入,被选定的n个纹理块标记为嵌入块,n为自然数;步骤4、分别对n个嵌入块的DCT系数进行Z字形扫描,分别得到按照扫描顺序排列而成的一维矩阵,将该一维矩阵标记为第一矩阵,在所有第一矩阵中选择位置相同的m个元素值,得到n个第一系数矩阵Ai,其中Ai=[ai1ai2...aij...aim],ai1为第i个嵌入块的第一矩阵中第1个被选定位置对应的元素值,ai2为第i个嵌入块的第一矩阵中第2个被选定位置对应的元素值,aij为第i个嵌入块的第一矩阵中第j个被选定位置对应的元素值,aim为第i个嵌入块的第一矩阵中第m个被选定位置对应的元素值;i=1、2、3...n,m为自然数;步骤5、将大小为N*N的预设Q表进行Z字形扫描,得到按照扫描顺序排列而成的一维矩阵,将该一维矩阵标记为第二矩阵,在第二矩阵中提取出与步骤4中所有第一矩阵选择的位置相同的m个元素值,将m个元素值按照顺序组成量化矩阵B,其中,B=[b1b2...bj...bm],b1为第二矩阵中第1个被提取出的元素值,b2为第二矩阵中第2个被提取出的元素值,bj为第二矩阵中第j个被提取出的元素值,bm为第二矩阵中第m个被提取出的元素值;步骤6、对量化矩阵B进行计算得到划分矩阵C,并对划分矩阵C中所有元素求和,作为每个嵌入块的块容量;其中,划分矩阵C的计算公式为:C=[c1c2...cj...cm],1≤j≤m,表示向下取整函数;每个嵌入块的块容量等于c1+c2+...cj+...+cm;步骤7、将需要嵌入的秘密信息转换成二进制的比特流,然后以每个嵌入块的块容量为单位,将秘密信息的二进制的比特流划分成k个秘密分块;步骤8、对照划分矩阵C中的每个元素值,将划分矩阵C中的每个元素值作为划分位数,依次先后对每个秘密分块中的比特流进行划分,每个秘密分块被划分成m个分块比特流,将每个秘密分块中m个分块比特流转换成十进制数,依次得到第l个秘密分块的m个元素值,记为第l个秘密分块的嵌入矩阵Dl,Dl=[dl1dl2...dlj...dlm],dl1为第l个秘密分块中第一个分块比特流转换成的十进制数,dl2为第l个秘密分块中第二个分块比特流转换成的十进制数,dlj为第l个秘密分块中第j个分块比特流转换成的十进制数,dlm为第l个秘密分块中第m个分块比特流转换成的十进制数,l=1、2、3...k;1≤j≤m;步骤9、依次将k个秘密分块按照顺序嵌入到嵌入块中:根据第i个嵌入块的第一系数矩阵Ai、量化矩阵B和第i个秘密分块的嵌入矩阵Di,计算第i个嵌入块的第一系数矩阵Ai对应的新系数值,作为第i个嵌入块的第二系数矩阵Fi;其中,计算公式为:其中,Fi=[fi1fi2...fij...fim],fi1为第i个嵌入块的第二系数矩阵Fi中第1个元素值,fi2为第i个嵌入块的第二系数矩阵Fi中第2个元素值,fij为第i个嵌入块的第二系数矩阵Fi中第j个元素值,fim为第i个嵌入块的第二系数矩阵Fi中第m个元素值,i=1、2、3...n,1≤j≤m;表示向下取整函数,d′ij为符号化后的第i个秘密分块的嵌入矩阵Di中第j个元素值,符号化后的第i个秘密分块的嵌入矩阵Di与第i个嵌入块的第一系数矩阵Ai中对应位置的元素符号相同;步骤10、使用第i个嵌入块的第二系数矩阵Fi中元素值替换与第i个嵌入块的第一系数矩阵Ai中对应位置的元素值,且使用替换后的第一系数矩阵Ai相应替换第一矩阵中对应位置的元素值,且对替换后的第一矩阵进行Z字形扫描的逆操作,使第一矩阵重新转换成二维矩阵,得到第i个嵌入块新的DCT系数矩阵,将新的DCT系数矩阵替换成该第i个嵌入块的DCT系数矩阵;步骤11、对每个子块进行DCT反变换,将所有进行DCT反变换后的子块按照顺序合成为第二图像;步骤12、对第二图像进行反置乱处理,得到载密图像。2.根据权利要求1所述的大容量图像隐写方法,其特征在于:所述步骤1中从以下四种置乱算法中任意选择一种置乱算法对大小为N1*N2的载体图像进行置乱处理,其中第一种置乱算法的具体步骤为:步骤1-1a、计算载体图像的每个像素点的行号和列号之和,其中,载体图像的任一像素点用第i行第j列表示,i=1、2、3...N1,j=1、2、3..N2;步骤1-1b、判断i+j的值是否能被2整除,如是,则转入步骤1-1c;如否,则保持载体图像的第i行第j列像素点的灰度值不变;步骤1-1c、判断载体图像的第i行第j列像素点的灰度值是否大于128,如是,则将载体图像的第i行第j列像素点的灰度值减去128;如否,则将载体图像的第i行第j列像素点的灰度值加上128。第二种置乱算法的具体步骤为:步骤1-1a、判断载体图像所有像素点的数量是否在设定范围内,如是,...

【专利技术属性】
技术研发人员:戴洪珠郑紫微杨任尔黄冬明程劼岳淼
申请(专利权)人:宁波大学
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1