CN104064193A - 一种线性预测语音编码的信息隐藏方法与提取方法 - Google Patents

一种线性预测语音编码的信息隐藏方法与提取方法 Download PDF

Info

Publication number
CN104064193A
CN104064193A CN201310091297.2A CN201310091297A CN104064193A CN 104064193 A CN104064193 A CN 104064193A CN 201310091297 A CN201310091297 A CN 201310091297A CN 104064193 A CN104064193 A CN 104064193A
Authority
CN
China
Prior art keywords
mrow
sequence
msub
embedded
mtd
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.)
Granted
Application number
CN201310091297.2A
Other languages
English (en)
Other versions
CN104064193B (zh
Inventor
李松斌
刘鹏
戴琼兴
邓浩江
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hengfeng Information Technology Co ltd
Original Assignee
Institute of Acoustics CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Acoustics CAS filed Critical Institute of Acoustics CAS
Priority to CN201310091297.2A priority Critical patent/CN104064193B/zh
Publication of CN104064193A publication Critical patent/CN104064193A/zh
Application granted granted Critical
Publication of CN104064193B publication Critical patent/CN104064193B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种线性预测语音编码的信息隐藏方法,包括:将线性预测语音编码码流中所有能够利用QIM进行嵌入的位置视为一个信息隐藏空间,用矩阵A表示;根据所需安全等级选择嵌入率;对矩阵A进行分块,得到分块矩阵;根据p和嵌入率生成密钥Key,生成待嵌入矩阵B:对待嵌入矩阵B进行分块,得到最小嵌入单元C;根据密钥Key,在各个最小嵌入单元中选择嵌入模式,得到一个或多个待嵌入序列,每个待嵌入序列均含有若干个嵌入位置;在待嵌入序列的基础上,结合矩阵编码和QIM方法实现对秘密信息的隐藏。本发明还提供了一种与信息隐藏方法对应的信息提取方法。

Description

一种线性预测语音编码的信息隐藏方法与提取方法
技术领域
本发明涉及数据通信领域,特别涉及一种线性预测语音编码信息隐藏方法。
背景技术
信息技术的不断发展给人们生活带来了便利,但同时也带来了信息认证、版权保护、秘密通信等诸多问题。信息隐藏技术可以很好地解决这些问题。它是一项将秘密信息嵌入常见载体,通过隐藏秘密通信本身来达到传递秘密信息目的的技术。
随着网络带宽的持续增长,以及有线与无线网络的融合,基于互联网的即时语音通信软件得到广泛应用。这些软件带来的通信语音流量已经超过了固网长途电话流量,网络语音流由于其具有实时、大容量等特征,成为进行信息隐藏的潜在优质载体。由于语音一般要经过压缩编码后再通过网络进行传输,因此基于压缩语音流进行信息隐藏近年来得到了研究者们的重视。现有的方法主要分为两类:1)在压缩码流中使用LSB(Least Significant Bit,最低有效位)替换方法。该类方法首先通过分析测试找出码流中对语音质量影响较小的位置,然后利用LSB替换的方法进行信息嵌入。然而,语音编码通常对原始数据进行了高效压缩,输出码流中不同比特位往往具有特定的涵义,某些比特对解码至关重要。使用LSB方法直接在码流中进行修改可能对音频信号造成较大影响,甚至无法解码。即便不影响解码也会引入较大失真。与此同时,基于LSB的隐写方法需要对不同的压缩标准进行具体分析,通用性较差。2)针对矢量量化过程使用QIM(Quantization Index Modulation,量化索引调制)方法。利用该类方法进行信息隐藏时,首先对矢量量化码本进行分组,然后根据秘密信息是1或者0在不同的分组码本中选择量化码字达到嵌入秘密信息比特的目的。该类方法对载体信号的失真、信息嵌入率和抗干扰性作了有效的平衡,非常适合在数字媒体的压缩编码过程中进行信息隐藏。其中,基于LPC-QIM的信息隐藏方法具有较大的应用价值。由于当前众多的VoIP常用语音编码器,如G.729、G.723.1、iLBC等,都采用了包含矢量量化步骤的LPC(Linear Predictive Coding,线性预测语音编码)技术。因此基于LPC-QIM的信息隐藏方法具有失真小、通用性好等特点。
线性预测技术是现代语音信号处理中最核心的技术之一,在语音编码、分析、识别等方面都有着广泛的应用。线性预测编码是线性预测技术与语音编码结合的产物。编码时依据语音信号的短时平稳特性,首先将其分割为时长较短的帧,然后再对每一帧进行LPC分析。LPC分析的基本思想是找出一组最优的LPC合成滤波器系数,使得一个语音信号的样本能够用过去若干个样本的线性组合来逼近。通过LPC分析获得最优的滤波器系数后,需要使用矢量量化技术进行编码。在这些系数的矢量量化过程中,可以方便地使用量化索引调制技术进行信息隐藏。然而,使用QIM进行信息隐藏时,将不可避免的改变码字分布的某些统计特性。如果对LPC码字的改变幅度太大,则码字分布的统计特性的变化很容易被察觉,从而导致算法被破解。因此,在LPC-QIM过程中如何提高嵌入效率,即在提供同等嵌入容量的前提下尽可能的减少对码字的修改,成为一个重要的研究课题。
发明内容
本发明的目的在于克服现有技术中的线性预测编码方法嵌入效率低的缺陷,从而提供一种具有较高嵌入效率的信息隐藏方法以及相应的提取方法。
为了实现上述目的,本发明提供了一种线性预测语音编码的信息隐藏方法,包括:
步骤1)、将线性预测语音编码码流中所有能够利用QIM进行嵌入的位置视为一个信息隐藏空间,将该信息隐藏空间用矩阵A表示;
其中,n表示语音编码码流中所包含的帧数,m表示每帧所包含的嵌入位置;
步骤2)、根据所需安全等级选择嵌入率;
步骤3)、对步骤1)所得到的用于表示信息隐藏空间的矩阵A进行分块,得到分块矩阵;
A=[A1 A2 ... Aj]T
其中,所得到的每个子块为(p×m)阶矩阵,p为一预先设定值:
步骤4)、根据预先设定值p和步骤2)确定的嵌入率生成密钥Key,根据所述密钥Key从步骤3)所划分的每个子块中抽取i帧作为待嵌入的帧,生成待嵌入矩阵B:
步骤5)、对步骤4)所得到的待嵌入矩阵B进行分块,得到B=[B1 B2 ... Bt]T,分块后所得到的子块为最小嵌入单元C;
其中,分块后所得到的每个子块为(q×m)阶矩阵,q为预先设定值,代表了所述最小嵌入单元的大小;
步骤6)、根据步骤4)中所确定的密钥Key,在步骤5)所得到的各个最小嵌入单元中选择嵌入模式,每种嵌入模式对应一种待嵌入序列的抽取方式,由此得到一个或多个待嵌入序列(c1,c2,...,cr),每个待嵌入序列均含有若干个嵌入位置;
步骤7)、在步骤6)所得到的待嵌入序列的基础上,结合矩阵编码和QIM方法实现对秘密信息的隐藏。
上述技术方案中,在所述的步骤6)和步骤7)之间还包括:
当信道状况欠佳时,对所要隐藏的秘密信息做RA编码。
上述技术方案中,所述的步骤4)包括:
步骤4-1)、根据p值确定logistic映射初值x0,x0和p满足x0=p/N,其中N为大于p的整数;
步骤4-2)、根据步骤2)确定的嵌入率选取适当的μ值以满足3.5699456≤μ≤4,从而得到密钥(μ,x0);
步骤4-3)、根据步骤4-2)得到的密钥(μ,x0)产生对应的y序列(y1,y2,...,yp+33),从y序列中选择序列(y34,y35,...,yp+33)作为嵌入位置选择序列,根据所述嵌入位置选择序列从矩阵A的每个分块矩阵中抽取i帧作为待嵌入的帧,生成待嵌入矩阵B。
上述技术方案中,所述的步骤6)包括:
步骤6-1)、根据密钥Key(μ,x0)生成y序列(y1,y2,...,yp+33);
步骤6-2)、从所述y序列选取若干位,作为嵌入模式的选择依据;在确定嵌入模式后,即可得到待嵌入序列。
上述技术方案中,所述嵌入模式包括八种,每种嵌入模式都对应着一种从矩阵C中抽取待嵌入序列的方式;其中,
使用嵌入模式0时,矩阵C中每行都作为一个待嵌入序列,按照从左到右的方式进行抽取;使用嵌入模式1时,矩阵C中每列都作为一个待嵌入序列,按照从上到下的方式进行抽取;使用嵌入模式2时,由矩阵C中左上角开始每行首尾相连,按照从左到右的顺序连成一个待嵌入序列;使用嵌入模式3时,由矩阵C中左上角开始每列首尾相连,按照从上到下的顺序连成一个待嵌入序列;使用嵌入模式4时,由矩阵C中左上角开始按照上右对角线方向连成一个待嵌入序列;使用嵌入模式5时,由矩阵C中右上角开始按照上左对角线方向连成一个待嵌入序列;使用嵌入模式6时,矩阵C被分为上下两部分,按照从左到右的顺序连成两个待嵌入序列;使用嵌入模式7时,矩阵C被分为左右两部分,按照从上到下的顺序连成两个待嵌入序列。
上述技术方案中,所述步骤7)包括:
步骤7-1)、计算令n′=2k-1;其中,n为待嵌入序列c=(c1,c2,...,cn)的序列长度,k为秘密消息序列u=(u1,u2,...,uk)的序列长度;
步骤7-2)、求得生成矩阵
其中
步骤7-3)、根据求解s;并由求得d;假设d=[d1 d2 ...dj...dk]T,1≤j≤k,则
d j = 0 , if x j = ⊕ i = 1 n ′ ( c i · h i , j ) 1 , else 1 ≤ j ≤ k
其中,表示对n′个量进行连续异或运算;
步骤7-4)、为使d中所有元素均为0,只需根据
m = Σ j = 1 k d j · 2 j - 1
找出c中需要修改的元素cm即可得到嵌入后的数据c′
c ′ = c , ifm = 0 ( c 1 , c 2 , . . . , ⫬ c m , . . . , c n ) , else
其中,表示取反操作。
上述技术方案中,当信道状况欠佳时,对所要隐藏的秘密信息做RA编码包括:
步骤a-1)、假设秘密信息序列为u=(u1,u2,...,uk),关联影响区域的最大长度为N,根据不同的嵌入模式求得对应的N值;然后对u进行分组,每组长度为N,以组为单位进行重复和交织后可以得到序列u′=(u′1,u′2,...,u′kq);
步骤a-2)、利用转移函数为1/(1+D)的递归卷积编码器对序列u′进行编码,假设输出结果为y=(y1,y2,...,ykq)则u′和y满足式(10);
y i = u i ′ , ifi = 1 u i ′ + y i - 1 , else - - - ( 10 )
本发明还提供了一种对所述的信息隐藏方法所隐藏的信息加以提取的方法,包括:
步骤201)、根据密钥Key得到p、载体帧位置和块内嵌入模式;
步骤202)、将载体帧携带的QIM信息记录下来,根据块内选择模式及q值得到待提取序列;
步骤203)、进行矩阵编码的解码操作,得到秘密信息。
上述技术方案中,在所述的步骤203)中,在进行解码操作时,对待提取序列进行以下计算,获得秘密信息u=(u1,u2,...,uk);
u j = ⊕ i = 1 n ( c i · h i , j ) , 1 ≤ j ≤ k
其中,表示对n个量进行连续异或运算;ci表示步骤b)中得到的待提取序列中的数据,hi,j表示生成矩阵中的元素。
本发明又提供了一种对所述的信息隐藏方法所隐藏的信息加以提取的方法,包括:
步骤301)、根据密钥Key得到p、载体帧位置和块内嵌入模式;
步骤302)、将载体帧携带的QIM信息记录下来,根据块内选择模式及q值得到待提取序列;
步骤303)、进行矩阵编码的解码操作,对解码操作的结果做RA译码,得到秘密信息。
本发明的优点在于:
本发明方法的信息嵌入效率高于QIM方法,嵌入等量的秘密信息时对宿主的改动次数更少,对宿主音质影响更小,隐蔽性更高。
附图说明
图1为语音码流的LPC视图;
图2为本发明方法的示意图;
图3为最小嵌入单元的获取过程示意图;
图4为初值的微小变化对logistic序列值影响的示意图;
图5为块内待嵌入序列的八种嵌入模式的示意图;
图6为RA编码器结构的示意图。
具体实施方式
现结合附图对本发明作进一步的描述。
由于现有技术中的线性预测语音编码是以帧为单位进行的,且编码时均包含LPC过程,因此语音码流可以看作LPC过程的线性集合。如附图1所示,每个LPC过程包含若干次矢量量化(即图1中的VQ,Vector Quantization),利用QIM方法可以在每次矢量量化时产生1个嵌入位置,于是语音码流中所有可嵌入位置汇聚成了一个信息隐藏空间。该信息隐藏空间中的点通过QIM方法与实际码流中的可隐藏位置建立起一一映射的联系。该信息隐藏空间为信息嵌入提供了一个理想环境,信息嵌入时不再受到嵌入载体的约束,从该信息隐藏空间向实际载体的映射操作均由QIM方法代为完成。
为了方便讨论,下面用矩阵A表示此信息隐藏空间。假设语音码流中包含n个帧,每帧包含m个嵌入位置。于是可以得到矩阵:
矩阵A代表了使用QIM进行嵌入时的所有可嵌入位置,即信息隐藏空间。由于嵌入的秘密信息长度是有限的,通常只需要用到部分载体帧。于是嵌入时存在对载体帧的选择,这种选择会导致安全等级不同。
定义:假设隐写算法b被检测算法d检测出存在隐写的概率是c,则该隐写算法的安全等级L可以表示为:
Lb,d=1-c (2)
安全等级代表了信息隐藏算法的安全程度,安全等级越高隐写本身就越难以被发现。假设嵌入时挑选i个帧作为载体帧,则隐写嵌入率可以表示为R=i/n。由于嵌入率和安全等级通常满足关系R∝1/Lb,d。因此为了获得不同的安全等级,只需要对嵌入率R进行调整。嵌入率确定后,再对嵌入位置即载体帧进行选择。
本发明基于上述思想结合混沌理论对嵌入位置及嵌入模式进行选取,任何不知道密钥的第三方均不可能知道实际嵌入位置。嵌入位置及嵌入模式确定后,本发明还将结合ME和QIM方法实现最终的信息隐藏。
如图2所示,本发明的方法总体上包括两个部分,第一部分为在线性预测语音编码过程中实现对秘密信息的隐藏,第二部分为实现对秘密信息的提取。
下面分别对这两部分的具体实现步骤做进一步的描述。
本发明的在线性预测语音编码过程中进行信息隐藏的方法包括以下步骤:
步骤101)、将线性预测语音编码码流中所有可利用QIM进行嵌入的位置视为一个信息隐藏空间,将该信息隐藏空间用矩阵A表示。此时不需要确定矩阵A中各点的具体值。
步骤102)、根据所需安全等级选择合适的嵌入率。
如何确定安全等级,如何根据安全等级选择嵌入率可根据实际需要而定,在此处不再详细说明。
步骤103)、对步骤101)所得到的用于表示信息隐藏空间的矩阵A进行分块,每个子块为(p×m)阶矩阵,其中p为预先设定值,从而得到分块矩阵:
A=[A1 A2 ... Aj]T
由于实际运行中,语音码流的持续时间不固定,因此为了保证嵌入过程能够按照步骤102)中的嵌入率进行,在本步骤中需要将用于表示语音码流中信息隐藏空间的矩阵A每p帧划为一块,然后以此为基础进行后续的嵌入过程,这样就保证了每一块的嵌入率都是步骤102)中选取的值。所述P值的大小可以根据实际需要进行选取,例如可将其设置为1000。
步骤104)、根据预先设定值p和步骤102)确定的嵌入率生成密钥Key,根据所述密钥Key从步骤103)所划分的每个子块中抽取i帧作为待嵌入的帧,生成待嵌入矩阵B:
步骤105)、对步骤104)所得到的待嵌入矩阵B进行分块,得到B=[B1 B2 ... Bt]T;其中,分块后所得到的每个子块为(q×m)阶矩阵,q为预先设定值;每个子块也被称为最小嵌入单元(最小嵌入单元的生成过程参见图3),记为C。
其中,q值代表了最小嵌入单元的大小,即在矩阵B中将每q帧作为一个最小嵌入单元。q的取值可以任意设定,如可以设置q=20。
步骤106)、根据步骤104)中所确定的密钥Key,结合混沌理论在步骤105)所得到的各个最小嵌入单元中选择嵌入模式,每种嵌入模式对应着一种待嵌入序列的抽取方式,由此可以得到一个或多个待嵌入序列(c1,c2,...,Cr),每个待嵌入序列均含有若干个嵌入位置。
步骤107)、在步骤106)所得到的待嵌入序列的基础上,结合矩阵编码和QIM方法实现对秘密信息的隐藏。
以上是对本发明中的信息隐藏方法的描述,下面对该方法中的相关步骤做进一步的描述。
在所述的步骤104)—步骤106)中,都涉及到混沌理论的应用,下面对其做详细说明。
Logistic映射是一类非常简单的动力系统,其定义为:
xk+1=μxk(1-xk),0<xk+1<1。
当3.5699456≤μ≤4时,通过logistic映射可以产生非周期不收敛的混沌序列。对混沌序列进行0-1量化后可得到序列y,序列y即可作为嵌入位置及嵌入模式的选择依据。序列y因只和初值x0以及μ的取值有关,因此可以将(μ,x0)作为密钥使用。附图4显示的是当μ=3.96,x0=0.100000001或x0=0.100000002时,两个logistic序列的差值。可以看出,开始的若干次迭代中两者的差值较小,随着迭代次数的增加两者差值呈现出了无规律的变化特征。为了获得更好的安全性,在本发明中规定logistic序列的取值从第31个开始。
在所述的步骤104)中,根据混沌理论能够得到待嵌入矩阵B和密钥,下面对其实现做进一步说明。
步骤104-1)、根据p值确定logistic映射初值x0,x0和p满足x0=p/N,其中N为大于p的整数,通常设定为N=10000。
步骤104-2)、根据所需嵌入率选取适当的μ值以满足3.5699456≤μ≤4,从而得到密钥(μ,x0)。
在本步骤中,选取μ值可以通过多次往复操作确定。在后续步骤中提到,在得到密钥(μ,x0)后,可以得到嵌入位置选择序列,根据嵌入位置选择序列抽取待嵌入帧,将待嵌入帧的数量与嵌入率进行比较,根据比较结果调节μ值的大小。
步骤104-3)、根据步骤104-2)得到的密钥(μ,x0)产生对应的y序列:(y1,y2,...,yp+33),从y序列中选择序列(y34,y35,...,yp+33)作为嵌入位置选择序列,根据所述嵌入位置选择序列从矩阵A的每个分块矩阵中抽取i帧作为待嵌入的帧,生成待嵌入矩阵B。
在所述的步骤106)中,需要根据密钥Key在各个最小嵌入单元C中选择嵌入模式,进而得到待嵌入序列(c1,c2,...,cr),该步骤具体包括:
步骤106-1)、根据密钥(μ,x0)生成y序列(y1,y2,...,yp+33);
步骤106-2)、从所述y序列选取若干位,作为嵌入模式的选择依据;在确定嵌入模式后,即可得到待嵌入序列。
在本发明中,所述嵌入模式包括八种,每种嵌入模式都对应着一种从矩阵C中抽取待嵌入序列的方式,如图5所示。图中黑点表示待嵌入序列的抽取起点,黑点的数量表示了利用该嵌入模式进行抽取后所得待嵌入序列的数量,箭头表示了抽取方向,虚线用于指示箭头的连接关系。使用嵌入模式0时,矩阵C中每行都作为一个待嵌入序列,按照从左到右的方式进行抽取;使用嵌入模式1时,矩阵C中每列都作为一个待嵌入序列,按照从上到下的方式进行抽取;使用嵌入模式2时,由矩阵C中左上角开始每行首尾相连,按照从左到右的顺序连成一个待嵌入序列;使用嵌入模式3时,由矩阵C中左上角开始每列首尾相连,按照从上到下的顺序连成一个待嵌入序列;使用嵌入模式4时,由矩阵C中左上角开始按照上右对角线方向连成一个待嵌入序列;使用嵌入模式5时,由矩阵C中右上角开始按照上左对角线方向连成一个待嵌入序列;使用嵌入模式6时,矩阵C被分为上下两部分,按照从左到右的顺序连成两个待嵌入序列;使用嵌入模式7时,矩阵C被分为左右两部分,按照从上到下的顺序连成两个待嵌入序列。因此,可以用y序列中(y31,y32,y33)三位进行选择,(0,0,0)~(1,1,1)分别对应0~7八种内部嵌入模式。确定嵌入模式后,根据嵌入模式的图示即可从矩阵C中抽取待嵌入序列。
在步骤107)中,在待嵌入序列的基础上,结合矩阵编码和QIM方法实现对秘密信息的隐藏。下面对该步骤的实现做详细说明。
假设待嵌入序列c=(c1,c2,...,cn),秘密消息序列u=(u1,u2,...,uk),其中n和k为序列长度。假设生成矩阵H=[h1 h2 ...hn],其中hn=[h1,nh2,n...hk,n]T,则使用矩阵运算进行信息隐藏的步骤可以概括如下:
求解
s = H c T = c 1 h 1 ⊕ c 2 h 2 ⊕ . . . ⊕ c n h n - - - ( 4 )
其中d为k维列矢量。如果d=0,则s=c,此时待嵌入序列c不需要做任何改变,如果d≠0,则需要对c中数据进行修改,使d=0。
在对c中数据进行修改时,假设最多需要修改δ位,则该方法可以表述为在n比特中最多修改δ位即可嵌入k比特秘密信息。通过对生成矩阵H的选取,可以根据需要对δ的值进行设定。当H为单位矩阵时,s=cT,δ=k,此时矩阵运算没有对嵌入效率产生任何贡献;当n=2k-1且mod2时,δ=1,此时矩阵运算对嵌入效率的贡献达到最大。本发明通过将矩阵运算和QIM嵌入方法结合,从而提高嵌入效率。
步骤107)的具体实现如下:
步骤107-1)、计算令n′=2k-1。
步骤107-2)、求得生成矩阵
其中
步骤107-3)、根据(4)式求解s并由求得d。假设d=[d1d2...dj...dk]T,1≤j≤k,则
d j = 0 , if x j = ⊕ i = 1 n ′ ( c i · h i , j ) 1 , else 1 ≤ j ≤ k - - - ( 6 )
其中,表示对n′个量进行连续异或运算。
步骤107-4)、为使d中所有元素均为0,只需根据
m = Σ j = 1 k d j · 2 j - 1 - - - ( 7 )
找出c中需要修改的元素cm即可得到嵌入后的数据c′
c ′ = c , ifm = 0 ( c 1 , c 2 , . . . , ⫬ c m , . . . , c n ) , else - - - ( 8 )
其中,表示取反操作。
以上是对本发明的信息隐藏方法的说明,本发明还包括有与信息隐藏方法相对应的信息提取方法,该方法包括:
步骤201)、根据密钥Key得到p、载体帧位置和块内嵌入模式。
步骤202)、将载体帧携带的QIM信息记录下来,根据块内选择模式及q值得到待提取序列。
步骤203)、进行矩阵编码的解码操作,得到秘密信息。
在所述的步骤203)中,在进行解码操作时,对待提取序列进行以下计算即可获得秘密信息u=(u1,u2,...,uk)。
u j = ⊕ i = 1 n ( c i · h i , j ) , 1 ≤ j ≤ k - - - ( 9 )
其中,表示对n个量进行连续异或运算;ci表示步骤2)中得到的待提取序列中的数据,hi,j表示生成矩阵中的元素。
在前一个实施例中,对本发明方法的基本步骤做了描述。在编码过程中所采用的矩阵编码在提高嵌入效率的同时会造成抗误码性能下降,因此在下面的一个优选实施例中,在编码过程的步骤106)与步骤107)之间,还包括有对秘密信息进行RA(Repeat Accumulate,复累积码)编码的步骤,通过结合RA码提升其抗误码性能。
RA码编码器结构如附图6所示,由重复、交织和累加三部分组成。在本发明的信息隐藏操作后会得到一个待嵌入序列ci的集合,在ci中嵌入秘密信息ui后可以得到掩密序列di。di发生错误会导致整个ui都将无法提取,本发明将ui称为关联影响区域。为了达到更好的纠错效果,需要保证经过交织后任意元素与其副本处于不同的关联影响区域内。因此,对秘密信息进行RA编码的具体步骤如下:
步骤a-1)、假设秘密信息序列为u=(u1,u2,...,uk),关联影响区域的最大长度为N,根据不同的嵌入模式求得对应的N值。然后对u进行分组,每组长度为N,以组为单位进行重复和交织后可以得到序列u′=(u′1,u′2,...,u′kq)。
步骤a-2)、利用转移函数为1/(1+D)的递归卷积编码器对序列u′进行编码。假设输出结果为y=(y1,y2,...,ykq)则u′和y满足式(10)。
y i = u i ′ , ifi = 1 u i ′ + y i - 1 , else - - - ( 10 )
在编码过程中对秘密信息进行RA编码后,在解码过程中必然要对RA编码后的秘密信息进行译码,从而最终得到秘密信息。译码时采用置信传播算法,传递的信息是相关位的后验密度,位的概率密度由非负实数对p0和p1组成,满足p0+p1=1的关系。此时对数似然比记为log(p0/p1)。如果用校验节点ci表示(10)式,则译码时存在四种信息种类:(1)从xi到ci的传递信息m[x,c];(2)从ci到xi的传递信息m[c,x];(3)从ci到yi的传递信息m[c,y];(4)从yi到ci的传递信息m[y,c]。每个码接收位的置信值可以表示为
B ( y ) = log P ( y = 1 ) P ( y = 0 ) - - - ( 11 )
RA译码操作的实现在步骤203)中,当完成矩阵编码的解码操作后,对解码操作的结果做RA译码,从而得到秘密信息。
RA译码的具体实现步骤如下:
步骤b-1)、初始化m[x,c]、m[c,x]、m[c,y]、m[y,c],将他们置为零。
步骤b-2)、更新m[y,c]
m [ y , x ] = B ( y ) , ify = y qn B ( y ) + m [ c ′ , y ] , else , c ′ ≠ c - - - ( 12 )
步骤b-3)、更新m[x,c]
m[x,c]=Σc′m[c′,x],c′≠c (13)
步骤b-4)、更新m[c,x]和m[c,y]
m [ c , x ] = m [ y , c ] , ifc = c 1 e m [ y , c ] + e m [ y ′ , c ] 1 + e m [ y , c ] + e m [ y ′ , c ] , else , y = y ′ - - - ( 14 )
m [ c , y ] = m [ x , c ] , ifc = c 1 e m [ x . c ] + e m [ y ′ , c ] 1 + e m [ x , c ] + e m [ y ′ , c ] , else , y ≠ y ′ - - - ( 15 )
步骤b-5)、按照上述过程进行L轮迭代后,对于每个xi计算如果s(xi)≥0,则比特xi译码为1,否则译为0。
RA码具有较好的性能,随着重复次数的增加,误码率下降。因此只需要根据实际情况选取合适的q值,即可有效提升QMCL方法的抗误码性能。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (10)

1.一种线性预测语音编码的信息隐藏方法,包括:
步骤1)、将线性预测语音编码码流中所有能够利用QIM进行嵌入的位置视为一个信息隐藏空间,将该信息隐藏空间用矩阵A表示;
其中,n表示语音编码码流中所包含的帧数,m表示每帧所包含的嵌入位置;
步骤2)、根据所需安全等级选择嵌入率;
步骤3)、对步骤1)所得到的用于表示信息隐藏空间的矩阵A进行分块,得到分块矩阵;
A=[A1 A2 ... Aj]T
其中,所得到的每个子块为(p×m)阶矩阵,p为一预先设定值:
步骤4)、根据预先设定值p和步骤2)确定的嵌入率生成密钥Key,根据所述密钥Key从步骤3)所划分的每个子块中抽取i帧作为待嵌入的帧,生成待嵌入矩阵B:
步骤5)、对步骤4)所得到的待嵌入矩阵B进行分块,得到B=[B1 B2 ... Bt]T,分块后所得到的子块为最小嵌入单元C;
其中,分块后所得到的每个子块为(q×m)阶矩阵,q为预先设定值,代表了所述最小嵌入单元的大小;
步骤6)、根据步骤4)中所确定的密钥Key,在步骤5)所得到的各个最小嵌入单元中选择嵌入模式,每种嵌入模式对应一种待嵌入序列的抽取方式,由此得到一个或多个待嵌入序列(c1,c2,...,cr),每个待嵌入序列均含有若干个嵌入位置;
步骤7)、在步骤6)所得到的待嵌入序列的基础上,结合矩阵编码和QIM方法实现对秘密信息的隐藏。
2.根据权利要求1所述的线性预测语音编码的信息隐藏方法,其特征在于,在所述的步骤6)和步骤7)之间还包括:
当信道状况欠佳时,对所要隐藏的秘密信息做RA编码。
3.根据权利要求1或2所述的线性预测语音编码的信息隐藏方法,其特征在于,所述的步骤4)包括:
步骤4-1)、根据p值确定logistic映射初值x0,x0和p满足x0=p/N,其中N为大于p的整数;
步骤4-2)、根据步骤2)确定的嵌入率选取适当的μ值以满足3.5699456≤μ≤4,从而得到密钥(μ,x0);
步骤4-3)、根据步骤4-2)得到的密钥(μ,x0)产生对应的y序列(y1,y2,...,yp+33),从y序列中选择序列(y34,y35,...,yp+33)作为嵌入位置选择序列,根据所述嵌入位置选择序列从矩阵A的每个分块矩阵中抽取i帧作为待嵌入的帧,生成待嵌入矩阵B。
4.根据权利要求1或2所述的线性预测语音编码的信息隐藏方法,其特征在于,所述的步骤6)包括:
步骤6-1)、根据密钥Key(μ,x0)生成y序列(y1,y2,...,yp+33);
步骤6-2)、从所述y序列选取若干位,作为嵌入模式的选择依据;在确定嵌入模式后,即可得到待嵌入序列。
5.根据权利要求4所述的线性预测语音编码的信息隐藏方法,其特征在于,所述嵌入模式包括八种,每种嵌入模式都对应着一种从矩阵C中抽取待嵌入序列的方式;其中,
使用嵌入模式0时,矩阵C中每行都作为一个待嵌入序列,按照从左到右的方式进行抽取;使用嵌入模式1时,矩阵C中每列都作为一个待嵌入序列,按照从上到下的方式进行抽取;使用嵌入模式2时,由矩阵C中左上角开始每行首尾相连,按照从左到右的顺序连成一个待嵌入序列;使用嵌入模式3时,由矩阵C中左上角开始每列首尾相连,按照从上到下的顺序连成一个待嵌入序列;使用嵌入模式4时,由矩阵C中左上角开始按照上右对角线方向连成一个待嵌入序列;使用嵌入模式5时,由矩阵C中右上角开始按照上左对角线方向连成一个待嵌入序列;使用嵌入模式6时,矩阵C被分为上下两部分,按照从左到右的顺序连成两个待嵌入序列;使用嵌入模式7时,矩阵C被分为左右两部分,按照从上到下的顺序连成两个待嵌入序列。
6.根据权利要求1或2所述的线性预测语音编码的信息隐藏方法,其特征在于,所述步骤7)包括:
步骤7-1)、计算令n′=2k-1;其中,n为待嵌入序列c=(c1,c2,...,cn)的序列长度,k为秘密消息序列u=(u1,u2,...,uk)的序列长度;
步骤7-2)、求得生成矩阵
其中
步骤7-3)、根据求解s;并由求得d;假设d=[d1d2...dj...dk]T,1≤j≤k,则
d j = 0 , if x j = ⊕ i = 1 n ′ ( c i · h i , j ) 1 , else 1 ≤ j ≤ k
其中,表示对n′个量进行连续异或运算;
步骤7-4)、为使d中所有元素均为0,只需根据
m = Σ j = 1 k d j · 2 j - 1
找出c中需要修改的元素cm即可得到嵌入后的数据c′
c ′ = c , ifm = 0 ( c 1 , c 2 , . . . , ⫬ c m , . . . , c n ) , else
其中,表示取反操作。
7.根据权利要求2所述的线性预测语音编码的信息隐藏方法,其特征在于,当信道状况欠佳时,对所要隐藏的秘密信息做RA编码包括:
步骤a-1)、假设秘密信息序列为u=(u1,u2,...,uk),关联影响区域的最大长度为N,根据不同的嵌入模式求得对应的N值;然后对u进行分组,每组长度为N,以组为单位进行重复和交织后可以得到序列u′=(u′1,u′2,...,u′kq);
步骤a-2)、利用转移函数为1/(1+D)的递归卷积编码器对序列u′进行编码,假设输出结果为y=(y1,y2,...,ykq),则u′和y满足式(10);
y i = u i ′ , ifi = 1 u i ′ + y i - 1 , else - - - ( 10 )
8.一种对权利要求1所述的信息隐藏方法所隐藏的信息加以提取的方法,包括:
步骤201)、根据密钥Key得到p、载体帧位置和块内嵌入模式;
步骤202)、将载体帧携带的QIM信息记录下来,根据块内选择模式及q值得到待提取序列;
步骤203)、进行矩阵编码的解码操作,得到秘密信息。
9.根据权利要求8所述的信息提取方法,其特征在于,在所述的步骤203)中,在进行解码操作时,对待提取序列进行以下计算,获得秘密信息u=(u1,u2,...,uk);
u j = ⊕ i = 1 n ( c i · h i , j ) , 1 ≤ j ≤ k
其中,表示对n个量进行连续异或运算;ci表示步骤b)中得到的待提取序列中的数据,hi,j表示生成矩阵中的元素。
10.一种对权利要求2所述的信息隐藏方法所隐藏的信息加以提取的方法,包括:
步骤301)、根据密钥Key得到p、载体帧位置和块内嵌入模式;
步骤302)、将载体帧携带的QIM信息记录下来,根据块内选择模式及q值得到待提取序列;
步骤303)、进行矩阵编码的解码操作,对解码操作的结果做RA译码,得到秘密信息。
CN201310091297.2A 2013-03-21 2013-03-21 一种线性预测语音编码的信息隐藏方法与提取方法 Active CN104064193B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310091297.2A CN104064193B (zh) 2013-03-21 2013-03-21 一种线性预测语音编码的信息隐藏方法与提取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310091297.2A CN104064193B (zh) 2013-03-21 2013-03-21 一种线性预测语音编码的信息隐藏方法与提取方法

Publications (2)

Publication Number Publication Date
CN104064193A true CN104064193A (zh) 2014-09-24
CN104064193B CN104064193B (zh) 2016-12-28

Family

ID=51551871

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310091297.2A Active CN104064193B (zh) 2013-03-21 2013-03-21 一种线性预测语音编码的信息隐藏方法与提取方法

Country Status (1)

Country Link
CN (1) CN104064193B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104660591A (zh) * 2015-02-03 2015-05-27 中国科学技术大学苏州研究院 基于ip地址的包长度反馈网络隐蔽通信方法
CN105846994A (zh) * 2016-03-24 2016-08-10 深圳大学 一种物理层隐写方法及系统
CN106156655A (zh) * 2015-03-26 2016-11-23 中国科学院声学研究所 一种面向云存储的文件压缩及认证方法
CN109003615A (zh) * 2018-08-27 2018-12-14 合肥工业大学 语音流嵌入信息方法及装置、语音流解码信息方法及装置
CN109033853A (zh) * 2018-07-09 2018-12-18 深圳大学 基于卷积码的物理层信息隐藏方法、装置、及终端
CN110689897A (zh) * 2019-10-09 2020-01-14 中国科学院声学研究所南海研究站 基于线性预测语音编码的信息隐藏及隐藏信息提取方法
CN111291395A (zh) * 2020-02-05 2020-06-16 北卡科技有限公司 一种基于智能计算的信息隐藏方法
CN115134142A (zh) * 2022-06-28 2022-09-30 南京信息工程大学 一种基于文件分割的信息隐藏方法及系统
CN115314601A (zh) * 2022-10-12 2022-11-08 安徽华云安科技有限公司 一种有损格式数据隐写方法、装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101577605B (zh) * 2008-05-08 2014-06-18 吴志军 基于滤波器相似度的语音lpc隐藏和提取算法
CN101582261A (zh) * 2009-03-25 2009-11-18 哈尔滨工业大学深圳研究生院 语音识别中特征参数矢量分组量化方法
EP2544179A1 (en) * 2011-07-08 2013-01-09 Thomson Licensing Method and apparatus for quantisation index modulation for watermarking an input signal
CN102568469B (zh) * 2011-12-22 2013-10-16 清华大学 G.729a压缩语音流信息隐藏检测装置及检测方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A.U. YARGICOGLU ETC: "Hidden data transmission in mixed excitation linear prediction coded speech using quantisation index modulation", 《IET INFORMATION SECURITY》 *
XIAO BO ETC: "An approach to information hiding in low bit-rate speech stream", 《IEEE GLOBAL TELECOMMUNICATIONS CONFERENCE》 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104660591B (zh) * 2015-02-03 2018-01-30 中国科学技术大学苏州研究院 基于ip地址的包长度反馈网络隐蔽通信方法
CN104660591A (zh) * 2015-02-03 2015-05-27 中国科学技术大学苏州研究院 基于ip地址的包长度反馈网络隐蔽通信方法
CN106156655A (zh) * 2015-03-26 2016-11-23 中国科学院声学研究所 一种面向云存储的文件压缩及认证方法
CN106156655B (zh) * 2015-03-26 2019-01-08 中国科学院声学研究所 一种面向云存储的文件压缩及认证方法
CN105846994A (zh) * 2016-03-24 2016-08-10 深圳大学 一种物理层隐写方法及系统
CN105846994B (zh) * 2016-03-24 2018-11-27 深圳大学 一种物理层隐写方法及系统
CN109033853B (zh) * 2018-07-09 2020-07-17 深圳大学 基于卷积码的物理层信息隐藏方法、装置、及终端
CN109033853A (zh) * 2018-07-09 2018-12-18 深圳大学 基于卷积码的物理层信息隐藏方法、装置、及终端
CN109003615A (zh) * 2018-08-27 2018-12-14 合肥工业大学 语音流嵌入信息方法及装置、语音流解码信息方法及装置
CN110689897A (zh) * 2019-10-09 2020-01-14 中国科学院声学研究所南海研究站 基于线性预测语音编码的信息隐藏及隐藏信息提取方法
CN111291395A (zh) * 2020-02-05 2020-06-16 北卡科技有限公司 一种基于智能计算的信息隐藏方法
CN111291395B (zh) * 2020-02-05 2022-07-19 北卡科技有限公司 一种基于智能计算的信息隐藏方法
CN115134142A (zh) * 2022-06-28 2022-09-30 南京信息工程大学 一种基于文件分割的信息隐藏方法及系统
CN115134142B (zh) * 2022-06-28 2023-09-22 南京信息工程大学 一种基于文件分割的信息隐藏方法及系统
CN115314601A (zh) * 2022-10-12 2022-11-08 安徽华云安科技有限公司 一种有损格式数据隐写方法、装置
CN115314601B (zh) * 2022-10-12 2023-03-24 安徽华云安科技有限公司 一种有损格式数据隐写方法、装置

Also Published As

Publication number Publication date
CN104064193B (zh) 2016-12-28

Similar Documents

Publication Publication Date Title
CN104064193B (zh) 一种线性预测语音编码的信息隐藏方法与提取方法
Kurka et al. Bandwidth-agile image transmission with deep joint source-channel coding
CN107517095B (zh) 一种非均匀分段校验的极化码编译码方法
US7743309B2 (en) Distributed source coding with context
AU2017326022A1 (en) Method and apparatus for encoding data using a polar code
CN106161012A (zh) 一种基于极化码纠错的量子密钥分发后处理系统和方法
CN101998390B (zh) 保证通信安全的方法及设备
CN1128917A (zh) 用在信道编码器和译码器中的高性能差错控制编码
CN107645358B (zh) 一种用于连续变量量子密钥分发中的码率自适应数据协调方法
Yin et al. Robust adaptive steganography based on dither modulation and modification with re-compression
CN106228981B (zh) 一种基于压缩域的mp3自适应隐写方法
CN110475039A (zh) 线条艺术画隐藏和恢复的方法、设备及存储介质
CN111327786B (zh) 基于社交网络平台的鲁棒隐写方法
CN109525253A (zh) 基于深度学习和集成方法的卷积码译码方法
Zeng et al. Upward robust steganography based on overflow alleviation
CN102148034A (zh) 基于回声隐藏的水印嵌入和提取方法
CN110266321B (zh) 一种新的基于极化码的通信方法及系统
CN110784282B (zh) 一种基于软信息传递的水声通信数据再利用方法
TWI765204B (zh) 交錯極化碼產生方法與其使用的交錯極化碼編碼器
CN101789795A (zh) 基于多码率原模图ldpc码的编码方法及编码器
Yang et al. Unequal error protection based on expanding window fountain for object-based 3D audio
WO2017177610A1 (zh) 编码方法及装置
TWI783727B (zh) 使用極化碼之通訊系統及其解碼方法
CN116488662B (zh) 基于线性变换的f-ldpc码校验矩阵重量压缩方法
Schmalen et al. Efficient iterative source-channel decoding using irregular index assignments

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20211130

Address after: Building 5, innovation park, Keji East Road, wulongjiang middle Avenue, Shangjie Town, Minhou County, Fuzhou, Fujian 350108

Patentee after: HENGFENG INFORMATION TECHNOLOGY CO.,LTD.

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