基于Turbo码和图像载体的抗干扰信息隐藏方法

文档序号:7589551阅读:548来源:国知局
专利名称:基于Turbo码和图像载体的抗干扰信息隐藏方法
技术领域
本发明涉及一种信息隐藏方法,属于信息安全,保密通信与多媒体应用领域。
背景技术
在信息安全,保密通信与多媒体应用领域,存在一种需求将某种特殊信息隐藏在图像中,该特殊信息用来作为所有权或认证的标志,或作为保密通信数据。采用现有的加密技术处理图像产生的是不可读的文件,而在信息安全、保密通信与多媒体应用领域要求原图像必须是可读和可见的,因此现有的加密技术不适合以图像为载体的信息隐藏。采用现有的方法,以图像为载体的信息隐藏存在3个问题1、隐藏信息不具有抗干扰或攻击能力,2、隐藏信息使图像载体失真,3、隐藏信息使图像载体数据量发生变化。
现有的数字信息隐藏方法抗干扰和抗攻击能力差,因而在遇到电子干扰和电子攻击时,图像载体中的隐藏信息基本丢失,无法使用。如果直接对隐藏信息的图像载体数据进行Turbo编码,如采用专利申请号200410046234.6,发明名称“一种基于Turbo编解码的数字信息抗干扰加密方法及系统”的方法,虽可使图像载体和隐藏信息同时具备抗干扰或攻击能力,但使通信系统的通信速率降低2-3倍,增加数据量2-3倍,给通信系统带来沉重的负担。
已公开的Turbo编解码方法文献有C.Berrou,A.Glavieux and P.Thitimajshima.Near Shannon limit error-correcting coding and decodingTurbo-codes(1).Proc.ICC’93.Geneva.Switzerland,May,19931064~1074,黄和斌,肖扬,低信噪比下的Turbo编译码算法研究及性能评估,铁道学报,2004,26(2)66-71。Turbo编解码方法已被应用于通信领域。

发明内容
本发明所要解决的技术问题1、隐藏信息不具有抗干扰或攻击能力,2、隐藏信息使图像载体失真,3、隐藏信息使图像载体数据量发生变化。
为解决隐藏信息不具有抗干扰或攻击能力,本发明提出仅对隐藏数据进行Turbo编解码,对隐藏信息的图像载体进行离散余弦变换,在图像载体的二维离散余弦变换的中频区域隐藏Turbo编码数据,当图像载体在信道传输过程受到干扰或攻击后,接收方仍可利用Turbo解码算法恢复被干扰或攻击的隐藏信息数据,避免或降低隐藏信息受干扰或攻击而产生的失真。
为解决隐藏信息使图像载体失真和隐藏信息使图像载体数据量发生变化,本发明利用人的视觉感受对图像中频区域的数据不敏感,将隐藏信息的Turbo编码序列嵌入图像载体的离散余弦变换块的中频区域。
本发明的技术方案基于Turbo码和图像载体的抗干扰信息隐藏方法发送端将图像载体做分块二维离散余弦变换,同时对需隐藏的信息序列进行Turbo编码,得到的Turbo编码序列嵌入离散余弦变换块的中频区域,再送信道传输;接收端从接收到图像数据的离散余弦变换块的中频区域提取Turbo编码序列并进行Turbo解码,由解码序列复原隐藏信息数据,同时由提取隐藏信息后的二维离散余弦变换块恢复源图像数据;其中隐藏信息是任意格式文本数据或任意格式图像数据,在Turbo编码前转换为二进制数据,在Turbo解码后转换为多进制数据。
本发明和已有技术相比所具有的有益效果本发明所提出的基于Turbo码和图像载体的抗干扰信息隐藏方法,利用了人的视觉感受对图像中频区域不敏感的特性以及Turbo解码优异的纠错性能实现了对保密信息的抗干扰近似无失真隐藏。本发明利用人眼对图像数据的中频区不敏感的视觉特性,选择图像的分块离散余弦变换的中频区域嵌入二进制的隐藏信息,用隐藏信息序列替换了离散余弦变换块中频区域的图像数据值,实施例验证本发明的方法既减小了嵌入隐藏信息图像的失真度又不会增加图像的存储量。本发明利用Turbo码优异的纠错性能及抗干扰能力,实现了提取隐藏信息的高保真性,确保隐藏信息的完整性。该方法可以扩展到多幅图像序列(即视频)的近似无失真信息隐藏技术中,可避免单一图像隐藏信息量较小的缺点;能够运用于保密信息的隐藏,并且能够运用于军事及有高度通信安全要求的领域。


图1信息隐藏流程。
图2信息提取流程。
图3隐藏信息的嵌入方法(以多灰度图像为例)。
图4隐藏信息的提取方法(以多灰度图像为例)。
图5原始隐藏信息。
图6原始图像。
图7嵌入隐藏信息后的图像(图像传输前)。
图8嵌入隐藏信息的图像与原始图像间的像素值误差。
图9受到干扰后的图像(传输后)。
图10从被干扰图象中提取的隐藏信息。
具体实施例方式
基于Turbo码和图像载体的抗干扰信息隐藏方法,对隐藏的信息序列进行Turbo编解码,使隐藏信息具有一定的抗干扰或攻击能力;采用对图像载体的分块二维离散余弦变换,在二维离散余弦变换块的中频区域嵌入隐藏信息的Turbo编码序列使图像载体无明显失真且隐藏信息不使图像载体数据量发生变化。嵌入隐藏信息的图像载体数据送信道传输。接收端从接收到的图像数据的提取隐藏的信息序列的Turbo编码序列并进行Turbo解码,由解码序列恢复隐藏信息数据。Turbo编解码时对隐藏信息进行数据格式转换,因而隐藏的信息可以是任意格式文本数据或任意格式图像数据。
具体实施方式
如下。
1.发送端基于Turbo码的信息隐藏信息隐藏的流程如图1所示,其步骤如下步骤1,选择图像载体如图1中的源图像,图像载体可以是多灰度黑白图像和彩色图像;步骤2,对源图像进行N×N的分块二维离散余弦变换DCT,采用如图1中的“分块二维DCT”模块实现;步骤3,将隐藏信息数据转换为二进制数据,采用图1中的“转换为二值信息”模块实现。
步骤4,对转换为二进制后的隐藏信息进行Turbo编码,图1中的“Turbo编码”模块将转换的二进制序列逐行排列成一行长序列,选取的信息位长度能被该长序列的长度整除,而后进行Turbo编码;步骤5,隐藏的信息嵌入,图1中的“中频区嵌入,灰度值替换”模块将二维离散余弦变换块主斜对角线的值,以Turbo编码后的二进制数替换。
步骤1中图像载体为多灰度黑白图像时,只有一个像素值矩阵,而图像载体为彩色图像有三个像素值矩阵,故彩色图像可隐藏的信息量是前两类图像的三倍。
步骤2中的“分块二维DCT”模块的实现方法是,将源图像数据x(n1,n2)分为M1×M2个维数为N×N的数据块,用空域矩阵xm1m2(n1,n2)表示,M1和M2分别为源图像数据x(n1,n2)的行块数和列块数,m1和m2分别为xm1m2(n1,n2)的行号和列号,xm1m2(n1,n2)为方阵,其行数和列数均为N,源图像数据x(n1,n2)用空域矩阵xm1m2(n1,n2)表示为x(n1,n2)=[xm1m2(n1,n2)],1≤m1≤M1,1≤m2≤M2]]>空域矩阵xm1m2(n1,n2)的维数为N×N,一般选N=8或16,n1和n2分别为空域矩阵xm1m2(n1,n2)的行变量和列变量。
对空域矩阵xm1m2(n1,n2)进行二维离散余弦变换,得到频域矩阵Xm1m2(k1,k2),Xm1m2(k1,k2)=CΣn2=0N-1Σn1=0N-1Xm1m2(n1,n2)cos(2n1+1)k1π2N·cos(2n2+1)k2π2N---(1)]]>k1和k2分别为频域矩阵Xm1m2(k1,k2)的行变量和列变量,k1=0,1,...,N,k2=0,1,...,N,式(1)中, 步骤3中,隐藏的信息可以是任意格式文本数据,任意格式图像数据,但是在进行Turbo编码前,均需转换为二进制数据。当隐藏信息为二值图像时,二值黑白图像的像素值仅为0或255,但像素值为255时会使造成图像载体的失真。为解决这一问题,本发明对二值黑白图像的像素值乘上1/255的系数,转换为0,1的二值序列。然后,对此二值序列进行Turbo编码,再嵌入到DCT变换后的图像之中。当隐藏信息为多灰度图像隐藏时,其灰度值是0~255之间的无符号整数,须将隐藏信息的各灰度值转化为二进制数后Turbo编码,再嵌入到DCT变换后的图像之中。
步骤5中,二维离散余弦变换块为N×N频域矩阵Xm1m2(k1,k2),其主斜对角线为隐藏数据的中频区域 其中,×为Xm1m2(k1,k2)的非主斜对角线的数据,而Xm1m2(0,N-1),Xm1m2(1,N-2),...,Xm1m2(N-1,0)即Xm1m2(k1,k2)的主斜对角线数据。
将Xm1m2(k1,k2)的主斜对角线数据Xm1m2(0,N-1),Xm1m2(1,N-2),…,Xm1m2(N-1,0)置换为隐藏信息的Turbo编码数据,用Ym1m2(k1,k2)表示,即实现了信息的隐藏。
2.接收端基于Turbo码的信息提取流程信息提取的流程如图2所示,其中“受干扰后的隐藏信息图像”是在传输过程中或受到噪声攻击后的受噪声影响的图像,包含了隐藏的信息。信息提取的流程的步骤如下。
步骤1,提取隐藏的Turbo编码数据,图2中的“提取二维DCT块中频带数据”模块对各N×N(这里N=8)的二维离散余弦变换块提取其主对角线的数据;步骤2,对提取隐藏的Turbo编码数据进行解码,由图2中的“Turbo解码”模块实现。Turbo解码模块要求选取信息位长度应该能被提取的0、1二进制序列长度整除;步骤3,由二进制序列恢复隐藏信息数据,由图2给出的“十进制转换”实现,并存储提取的隐藏信息。
发送端将隐藏信息后的数据块Ym1m2(k1,k2)送信道传输,如果信道中无干扰或电子攻击,步骤1中接收端收到的数据块即为Ym1m2(k1,k2),接收端对Ym1m2(k1,k2)进行二维离散余弦反变换ym1m2(n1,n2)=CΣk2=0N-1Σk1=0N-1Ym1m2(k1,k2)cos(2k1+1)n1π2N·cos(2k2+1)n2π2N---(4)]]>这里的C在式(2)中给出,用ym1m2(n1,n2)构成矩阵y(n1,n2)=[ym1m2(n1,n2)],1≤m1≤M1,1≤m2≤M2]]>矩阵y(n1,n2)即为恢复的图像载体的数据。
如果信道中有干扰或电子攻击,步骤(1)接收端收到的数据块为Zm1m2(k1,k2)=Ym1m2(k1,k2)+Vm1m2(k1,k2)]]>其中Vm1m2(k1,k2)为干扰或电子攻击信号,此时接收端对Zm1m2(k1,k2)进行二维离散余弦反变换,Zm1m2(n1,n2)=CΣk2=0N-1Σk1=0N-1Zm1m2(k1,k2)cos(2k1+1)n1π2N·cos(2k2+1)n2π2N---(5)]]>获得被干扰或电子攻击后的图像载体的数据Z(n1,n2)=[Zm1m2(n1,n2)],1≤m1≤M1,1≤m2≤M2.]]>但是接收端从Zm1m2(k1,k2)的主斜对角线提取的数据进行Turbo解码,可以恢复发送端发送的隐藏信息。
使用实例选图像载体为一幅像素为256×256的一幅灰度图像,如图6所示,对其进行信息嵌入隐藏。实例中,采用码率为1/2的Turbo码。Turbo码的参数信息序列长度加拖尾长度,即交织长度为259,且为伪随机交织;生成矩阵为[13,17];迭代次数为10。信道的信噪比SNR=1.5dB,且为高斯信道。
多灰度图像信息隐藏和提取,采用图3给出的发送端隐藏信息的嵌入方法步骤1,选择图像载体为图6中的原始图像;步骤2,对源图像进行8×8的二维离散余弦变换,采用式(1)计算;步骤3,将图5的隐藏信息数据转换为二进制数据;步骤4,对转换为二进制后的隐藏信息进行Turbo编码;步骤5,隐藏的信息嵌入二维DCT块的主斜对角线。
嵌入图5的隐藏信息数据后的图像载体为图7,未经干扰信道传输,由式(4)计算获得。与图6的原始图像比较,无视觉失真。
图8给出嵌入隐藏信息的图像与原始图像间的像素值误差,说明像素值误差并未造成对图像载体视觉失真。因此本发明在图像载体的分块离散余弦变换的中频区域嵌入二进制隐藏信息是可行的。
当信道的信噪比SNR=1.5dB时,接收端用式(5)的算法得到如图9所示的受到干扰后的图像。
采用图4给出的隐藏信息的提取方法,步骤1,提取隐藏的Turbo编码数据,即对各8×8二维DCT块提取其主斜对角线数据。
步骤2,对提取隐藏的Turbo编码数据,进行解码。本例解码的误码率为零。
步骤3,由二进制序列恢复隐藏信息数据,并将其由二进制转换为十进制,提取的隐藏信息如图10所示,与发送的图5所示的隐藏信息数据比较,隐藏信息无视觉失真。这是由于本例解码的误码率为零。
本发明提出仅对隐藏数据进行Turbo编解码,在图像载体的二维离散余弦变换块的中频区域隐藏Turbo编码数据,可保持通信速率和图像数据量不变,在被干扰和被攻击的情况下,隐藏信息近似无失真。
本发明以实例的形式验证了采用本发明方法可使隐藏信息具有较强的抗干扰和抗攻击能力,隐藏信息不使图像载体明显失真,隐藏信息不使图像载体数据量发生变化。
权利要求
1.基于Turbo码和图像载体的抗干扰信息隐藏方法,其特征在于发送端将图像载体做分块二维离散余弦变换,同时对需隐藏的信息序列进行Turbo编码,得到的Turbo编码序列嵌入离散余弦变换块的中频区域,再送信道传输;接收端从接收到图像数据的离散余弦变换块的中频区域提取Turbo编码序列并进行Turbo解码,由解码序列复原隐藏信息数据,同时由提取隐藏信息后的二维离散余弦变换块恢复源图像数据;其中隐藏信息是任意格式文本数据或任意格式图像数据,在Turbo编码前转换为二进制数据,在Turbo解码后转换为多进制数据。
2.根据权利要求1所述的基于Turbo码和图像载体的抗干扰信息隐藏方法,其特征在于发送端隐藏的信息序列的步骤如下步骤1,选择多灰度黑白图像或彩色图像为源图像即图像载体;步骤2,对源图像进行N×N的分块二维离散余弦变换;步骤3,将隐藏信息数据格式转换为二进制数据;步骤4,对转换为二进制后的隐藏信息序列进行Turbo编码;步骤5,隐藏的信息序列的嵌入是将二维离散余弦变换块主斜对角线的值,以Turbo编码后的二进制数替换。
3.根据权利要求1所述的基于Turbo码和图像载体的抗干扰信息隐藏方法,其特征在于接收端提取隐藏信息的步骤如下步骤1,提取隐藏的Turbo编码数据,是对各N×N二维离散余弦变换块提取其主对角线的数据;步骤2,对提取隐藏的Turbo编码数据进行解码;步骤3,由二进制序列恢复隐藏信息数据。
4.根据权利要求2所述的基于Turbo码和图像载体的抗干扰信息隐藏方法,其特征在于步骤2所述的分块二维离散余弦变换的实现为,将源图像数据x(n1,n2)分为M1×M2个维数为N×N的数据块,用空域矩阵xm1m2(n1,n2)表示,M1和M2分别为源图像数据x(n1,n2)的行块数和列块数,m1和m2分别为xm1m2(n1,n2)的行号和列号,xm1m2(n1,n2)为方阵,其行数和列数均为N,源图像数据x(n1,n2)用空域矩阵xm1m2(n1,n2)表示为x(n1,n2)=[xm1m2(n1,n2)],1≤m1≤M1,1≤m2≤M2]]>空域矩阵xm1m2(n1,n2)的维数为N×N,一般选N=8或16,n1和n2分别为空域矩阵xm1m2(n1,n2)的行变量和列变量,对空域矩阵xm1m2(n1,n2)进行二维离散余弦变换,得到频域矩阵Xm1m2(k1,k2),Xm1m2(k1,k2)=CΣn2=0N-1Σn1=0N-1xm1m2(n1,n2)cos(2n1+1)k1π2N·cos(2n2+1)k2π2N---(1)]]>k1和k2分别为频域矩阵Xm1m2(k1,k2)的行变量和列变量,k1=0,1,...,N,k2=0,1,...,N,式(1)中,
5.根据权利要求1所述的基于Turbo码和图像载体的抗干扰信息隐藏方法,其特征在于二维离散余弦变换块为N×N频域矩阵Xm1m2(k1,k2),其主斜对角线为隐藏数据的中频区域 其中,×为Xm1m2(k1,k2)的非主斜对角线的数据,而Xm1m2(0,N-1),Xm1m2(1,N-2),...,Xm1m2(N-1,0)即Xm1m2(k1,k2)的主斜对角线数据,将Xm1m2(k1,k2)的主斜对角线数据Xm1m2(0,N-1),Xm1m2(1,N-2),...,Xm1m2(N-1,0)置换为隐藏信息的Turbo编码数据,用Ym1m2(k1,k2)表示,即实现信息的隐藏。
6.根据权利要求1所述的基于Turbo码和图像载体的抗干扰信息隐藏方法,其特征在于对需隐藏的信息序列进行Turbo编码方法为,将转换的二进制序列逐行排列成一行长序列,选取的信息位长度应当能被该长序列的长度整除,而后进行Turbo编码。
7.根据权利要求1所述的基于Turbo码和图像载体的抗干扰信息隐藏方法,其特征在于发送端将隐藏信息后的数据块Ym1m2(k1,k2)送信道传输,如果信道中无干扰或电子攻击,接收端收到的数据块即为Ym1m2(k1,k2),Ym1m2(k1,k2)的主斜对角线提取隐藏信息后置零,再对Ym1m2(k1,k2)进行二维离散余弦反变换ym1m2(n1,n2)=CΣk2=0N-1Σk1=0N-1Ym1m2(k1,k2)cos(2k1+1)n1π2N·cos(2k2+1)n2π2N---(4)]]>这里的C在式(2)中给出,用ym1m2(n1,n2)构成矩阵y(n1,n2)=[ym1m2(n1,n2)],1≤m1≤M1,1≤m2≤M2]]>矩阵y(n1,n2)即为恢复的图像载体的数据。
8.根据权利要求1所述的基于Turbo码和图像载体的抗干扰信息隐藏方法,其特征在于发送端将隐藏信息后的数据块Ym1m2(k1,k2)送信道传输,如果信道中有干扰或电子攻击,接收端收到的数据块为Zm1m2(k1,k2)=Ym1m2(k1,k2)+Vm1m2(k1,k2)]]>其中Vm1m2(k1,k2)为干扰或电子攻击信号,此时接收端对Zm1m2(k1,k2)进行二维离散余弦反变换,zm1m2(n1,n2)=CΣk2=0N-1Σk1=0N-1Zm1m2(k1,k2)cos(2k1+1)n1π2N·cos(2k2+1)n2π2N---(5)]]>获得被干扰或电子攻击后的图像载体的数据z(n1,n2)=[zm1m2(n1,n2)],1≤m1≤M1,1≤m2≤M2.]]>
全文摘要
本发明提出一种基于Turbo码和图像载体的抗干扰信息隐藏方法,发送端将图像载体进行分块二维离散余弦变换,同时对需隐藏的信息序列进行Turbo编码,得到的编码序列嵌入离散余弦变换块的中频区域,再送信道传输;接收端从接收的图像数据的离散余弦变换块的中频区域提取Turbo编码序列并进行Turbo解码,由解码序列复原隐藏信息数据,同时由提取隐藏信息后的二维离散余弦变换块恢复源图像数据;隐藏信息是任意格式文本或任意格式图像,Turbo编码前转换为二进制数据,Turbo解码后转换为多进制数据。本发明利用人的视觉对图像中频区域不敏感的特性及Turbo解码优异的纠错性能实现了对保密信息的抗干扰近似无失真隐藏。
文档编号H04L9/10GK1620003SQ20041000979
公开日2005年5月25日 申请日期2004年11月15日 优先权日2004年11月15日
发明者肖扬, 谢玉明 申请人:北京交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1