CN101577605A - 基于滤波器相似度的语音lpc隐藏和提取算法 - Google Patents

基于滤波器相似度的语音lpc隐藏和提取算法 Download PDF

Info

Publication number
CN101577605A
CN101577605A CNA2008100941921A CN200810094192A CN101577605A CN 101577605 A CN101577605 A CN 101577605A CN A2008100941921 A CNA2008100941921 A CN A2008100941921A CN 200810094192 A CN200810094192 A CN 200810094192A CN 101577605 A CN101577605 A CN 101577605A
Authority
CN
China
Prior art keywords
speech
voice
coding
secret
algorithm
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
CNA2008100941921A
Other languages
English (en)
Other versions
CN101577605B (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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN200810094192.1A priority Critical patent/CN101577605B/zh
Publication of CN101577605A publication Critical patent/CN101577605A/zh
Application granted granted Critical
Publication of CN101577605B publication Critical patent/CN101577605B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明是以语音媒体为载体对象的语音信息隐藏和提取,利用信息隐藏具有的信息隐匿特性,结合语音编码的特点,设计秘密语音信息隐藏和提取算法,建立语音阈下信道,实现一种新型的实时语音保密通信方式。本发明的内容:(1)提出了滤波器相似度(Filter Similarity)的概念,并给出了滤波器相似应的定义及定量计算方法,用于确定用于隐藏秘密语音信息的语音编码LPC参数;(2)提出了基于滤波器相似度的语音LPC隐藏和提取算法,将秘密语音嵌入到载体语音中后,载体语音的质量没有明显下降,而且嵌入的秘密语音信息是不可检测的。在保证通信速率的情况下,该算法能提供足够的隐藏容量保证通信语音的连续性,可以大大的降低码率。

Description

基于滤波器相似度的语音LPC隐藏和提取算法
技术领域
本发明是一种应用于秘密语音实时通信的保密通信系统中的核心算法。该发明可以加载到通用语音信号处理模块上,通过公共交换通信网络(公共交换电话网络PSTN、视频会议网络、VoIP网络或移动通信GSM和CDMA网络)进行秘密语音的实时隐蔽通信。该发明属于计算机技网络安全领域信息隐藏(Information Hiding)技术领域。
背景技术
自从1996年召开第一次信息隐藏技术的国际会议以来,信息隐藏的理论、方法和应用研究越来越广泛地受到重视。随着信息隐藏技术的不断发展,它作为一种新兴的信息安全技术已经被许多应用领域所采用。国内外有众多的学术机构和包括军方在内的其他各种团体正在进行信息隐藏技术及其应用研究,已经开发出的多种基于不同载体信号信息隐藏方法,相应的产品已开始推出。
目前,对于信息隐藏的应用大多集中在数字产品的著作权保护方面(或称为数字水印)研究。文本、图像、语音信号、视频信号和应用软件等多种的媒体均为研究中使用的载体信号,其中研究最多的是有关各种格式图像中的信息隐藏和水印技术。针对语音信号,国内外研究者对于语音中的隐藏技术作了大量研究工作,并开发出多种在语音中的信息隐藏算法。现有开发的语音中各种隐藏算法大多利用了人类听觉系统HAS(Human Auditory System)的各种生理和心理的特性。而人类听觉系统HAS是非常复杂和灵敏,它与人类视觉系统相比较HAS更加灵敏。如人类听觉系统对于附加的随机噪声很敏感,可以觉察到微小的扰动,可以觉察出语音中附加的微小噪声。它的作用动态范围很宽,可以听到从20Hz-20KHz频率范围的声音。并且对于加性噪声也非常敏感,可以听到比周围环境低80dB的干扰噪声。因此,实现在语音中的信息隐藏,必须很巧妙的利用HAS的生理和心理的各种掩蔽特性,才能达到隐藏信息的不可觉察性的要求。
目前已经提出的可用于语音信息隐藏主要的算法有四种:
①最低有效位LSB(Least Significant Bit)方法;
②相位编码法;
③频谱变换法;
④回声隐藏法。
这四种信息隐藏算法的共同特性是对原始载体语音进行处理、嵌入,然后在处理后的复合语音中提取嵌入信息。而语音经过语音压缩编码后,特别对于中、低速率的语音编码方案而言,只是保留了对人的听觉最为重要的特征信息。合成后的语音和原始的语音在波形,以及其他特征上有一定的差别。假如,秘密数据嵌入到原始语音中,然后进行编码、传输和合成操作后,从合成重构的语音中提取秘密信息是十分困难的。因此,难以直接应用于在数字语音中进行信息隐藏。另外,本发明进行语音隐藏的目的是将秘密语音加密、隐藏在公开的语音中用以安全地进行秘密语音的通信。为此,必须选择隐藏容量大的嵌入算法,满足实时语音通信的需求。
1、最低有效位(LSB)方法
最低有效位LSB隐藏算法是将秘密信息嵌入到载体数据中最简单的一种方法,属于空域隐藏算法。
LSB隐藏算法的基本思想是:将秘密信号和载体信号均视为比特流序列,在隐藏秘密信息时,用秘密信息的比特值替换载体语音信号中最不重要的比特值,从而达到在语音信号中隐藏秘密语音信号的目的。
为了确保秘密信号内容的安全性,将加密方法和信息隐藏方法有机结合在一起使用。在秘密信号输入嵌入部分之前,要经过加密处理。根据某种密码算法,产生伪随机序列,将随机序列和秘密信号比特流按照预定的结合方式运算,生成加密后的秘密信号比特流序列。然后,将此比特流序列利用嵌入算法进行嵌入。
(1)秘密信号嵌入流程
秘密信号嵌入流程如下:
①以二进制形式读取载体语音信号。将秘密信号转换为二进制数据形式,并计算出秘密语音信号的比特位总数;
②输入加密所需的密钥和其他有关参数,产生加密所需的伪随机序列;
③将秘密信号比特流序列和伪随机序列按照预定的结合方式进行运算,产生加密后的秘密信号比特流序列。结合运算方式有多种,一般采用模二加运算。其主要原因是加、解密运算简便易行,也非常适合硬件实现。
④将需要传输的边缘信息首先嵌入载体语音信号中。边缘信息包括:解密密钥、嵌入控制密钥以及所需的其他辅助参数。
⑤根据嵌入控制密钥和控制算法确定的嵌入位置,读取秘密信号比特流,用该比特替换嵌入位置的比特,完成一次嵌入操作。
⑥检查秘密信号数据是否已经全部嵌入。如果全部嵌入,则整个嵌入结束,产生复合数据流序列。如果没有,则返回④进行下一次嵌入操作。
(2)秘密信号提取
秘密信号提取流程如下:
①提取复合载体中嵌入的边缘信息;
②根据嵌入解密密钥产生相应的解密比特流序列;
③由嵌入控制密钥和控制算法计算出秘密信息嵌入位置,并提取出加密的秘密信号,直到提取出所有的加密秘密信号为止;
④对加密的秘密信号利用解密序列进行解密,将解密后的秘密信号按照原有的格式重组和输出,完成秘密语音信号的通信。
要说明的是:上述算法流程是非实时嵌入过程。在要求实时嵌入、传输的应用系统中,该算法需要进行部分修改才能适应实时嵌入、传输的要求。
LSB算法的优点:LSB算法在8位或16位语音采样信号中,将每个样点的最后一位作为替换位,可以获得非常好的隐藏效果和较大的隐藏容量(Fs/8;Fs/16bps,Fs为载体语音信号的采样率)。经过嵌入后的复合载体和原始的语音信号几乎没有差别。这一点可以从主观的听觉效果和嵌入前后波形比较和信噪比指标等都可以得出。同时,LSB算法简便易于实现。
LSB算法的不足:对信道干扰和数据操作的抵抗能力极差。一般的信号处理,例如:滤波、压缩编码、时域缩放和重采样等都能够导致嵌入信息无法恢复。但在实际的信息隐藏系统应用中,可以采用某种形式的自适应算法,将秘密数据的嵌入位置放入“相对不重要”的比特位置,例如,语音采样信号的第二位、第三位或者更高比特位置,这取决于信号自身情况和自适应算法本身。但在鲁棒性增强的同时不可避免的情况是嵌入信息的隐藏效果将有不同程度的降低。必须根据实际应用要求适当取舍,以达到隐藏效果、隐藏容量和鲁棒性三者之间最佳平衡,满足实际应用的需求。
2、相位编码(Phase Coding)方法
人类听觉系统HAS具有一种特性:对于语音信号的绝对相位不敏感,而对相对相位非常敏感。信息隐藏中的相位编码正是基于HAS的这个特点,用不同的参考相位代表某一个比特值,再用参考相位替换原始语音的绝对相位,并对其他的语音段进行调整,以保持各段之间的相对相位保持不变,从而达到隐藏和传输秘密信号的目的。
(2)嵌入过程
嵌入过程如下:
①将语音文件S[I],I=1,M分为N段,每段语音Sn[I],(n=0,N-1;I=0,Mn-1),Mn为该段所含语音样点个数;
②对第n段语音作K点离散Fourier变换,其中,K=M/N;一般情况下,K应取2的方幂,以便使用FFT算法;
构造相位矩阵Φ=[φij]和幅度矩阵A[aij];i=0,N-1;j=0,k-1;
③计算相邻段之间的相位差分Δφ[n,k]=Δφ[n,k]-Δφ[n-1,k];其中n=0,N-1;k=0,K-1;
④根据要嵌入的秘密信号比特值,规定:
秘密信号比特值为“φ′=0”时,相位用π/2替换原有的相位值;
秘密信号比特值为“φ′=1”时,相位用-π/2替换原有的相位值;
即φ[0,k]=φ′;k=0,K-1;
⑤用相位差分矩阵Δφ和原始相位矩阵Φ重新构建相位矩阵:
φ′[n,k]=φ′[n-1,k]+Δφ[n,k];其中n=0,…,N-1;k=0,…,K-1;
⑥用修改后的相位矩阵和原始幅值矩阵,进行Fourier逆变换重构语音文件,形成嵌入秘密信号后的复合载体信号。
(2)提取过程
提取过程如下:
①按照预定方式进行同步锁定;
②将接收到的复合载体语音信号按照嵌入分段长度进行分段;
③提取出第一段,并对其进行左变换,然后计算相位值;
④根据相应的阈值,判断秘密信号比特值为“0”(或“1”),恢复秘密信号比特序列。
在使用该方法隐藏信息时,由于当秘密信号的参考相位急剧变化时会导致明显的相位偏差,不仅使复合载体语音信号质量下降,而且会使秘密信号比特序列的提取造成困难。因此,为了使参考相位变化平缓,必须要使变化的数据点保留一定的间距,嵌入信息的容量要保持在合理的范围,以确保秘密信号的隐蔽性。另一方面,为了尽量提高秘密信号恢复的正确率,应该选择使参考相位差异最大化,如上选取的“0-π/2”“1--π/2”。因此必须在秘密信号嵌入量和隐藏效果之间取得一个适当的折衷。也可以采用纠错编码的方法提高秘密信号恢复率,但也同样以降低嵌入数据量为代价的。
该隐藏算法的嵌入容量与载体信号有关。当载体语音信号是较为安静的环境,嵌入量较小,一般可以得到8bps的嵌入量;当载体语音信号是较为嘈杂的环境,嵌入量较大,可以得到32bps的嵌入量。
3、回声隐藏方法(Echo Coding)
回声隐藏的思想是W.Bender等在1996年提出的,该方法使用单位冲击信号构成的系统在原声中引入回声,并把这个系统称之为“核”,后续研究沿用了这一提法。
在回声隐藏方法中,采用了心理声学中时域的掩蔽效应。诸多声学实验证实了掩蔽效应是一种常见的心理声学现象,它是指人耳对一个声音的听觉感受,受到其它声音影响的现象。表现为在一个较强的声音附近,较弱的声音变得听不到了。这个较强的声音称为掩蔽者,弱的声音称为被掩蔽者。不可闻的被掩蔽者的最大声压级称为掩蔽门限或掩蔽阈。
在回声隐藏系统中利用的时域掩蔽又分为“前掩蔽”和“后掩蔽”。一个弱信号可以被它之后的强信号所掩蔽掉的掩蔽现象称为前掩蔽;而一个弱信号可以被它之前的强信号所掩蔽的掩蔽现象称为后掩蔽。
声音经障碍物的反射形成回声。引入回声的数字语音信号可表示为:y[n]=s[n]+λ×s[n-m],其中:y[n]是加入回声后的语音信号;s[n]是纯净的原语音信号;λ为回声的幅度系数;m为延时参数,一般表示指回声信号滞后于原始信号的样点间隔;λ为0至1之间正数。
回声隐藏正是巧妙地利用人类听觉系统的时域掩蔽特性,通过向语音信号中引入回声来进行隐藏秘密信息的一种技术方法。该方法对载体语音的改变是环境条件而不是加入某种噪声信号,同时,它在嵌入秘密信号的数据是寻求原始载体信号的最小失真,使得载体信号的改变不被感知。尽管引入回声的方法必然会导致载体语音信号的失真,但从图6-2所示的掩蔽特性可以得知:只要选择合理的回声参数λ和m,附加的回声就难以被人类听觉系统所觉察。该技术可以广泛应用于音像产品的所有权保护和保证内容完整性等诸多方面的应用。
典型的回声隐藏方法是延时回声隐藏。该方法基于HAS的时域后掩蔽特性,引入具有适当回声参数的回声信号,从而达到了隐藏秘密信号的目的。
(1)回声隐藏的嵌入算法
回声隐藏的嵌入算法如下:
①将语音采样数据文件分成包含N个样点子帧,子帧的时长可以根据隐藏数据量的大小划分,一般时长从几毫秒到几十毫秒。每个子帧隐藏一个比特的秘密信息。
②需要定义两种不同的回声时延m0,m1,(其中m0,m1均要求要远远小于子帧时长N)。当秘密信号比特值为“0”时,回声时延为m0;当秘密信号比特值为“1”时,回声时延为m1;由HAS的时域后掩蔽特性可知,对于回声时延的大小是有限制的。一般情况下,回声时延m的取值一般在50ms-200ms之间(这个值在具体的实验环境中差别很大,视具体情况而定)。回声时延m的取值过小会增加嵌入信息恢复的难度,过大则会影响隐藏信号的不可感知性。同时,回声的幅度系数λ的取值也需要精心的选择,其值与信号传输环境和时延取值有关,一般取λ在0.6-0.9之间。
载体信号的每个子帧按照y[n]=s[n]+λ×s[n-m]产生回声信号y[n]。
(2)回声隐藏提取算法
回声隐藏提取算法:
回声隐藏的最大难点在于嵌入的秘密信号的提取,其关键在于回声间距的测定。由于回声信号是载体语音信号和引入回声信号h[n]的卷积。因此,在提取时需利用语音信号处理中的同态处理技术,利用倒谱自相关测定回声间距。在进行提取时,必须要确定数据的起点并预先得到子帧的长度、时延m0和m1的等参数值。
①将接收到的数据按照预定的时长划分为子帧;
②求出各段的倒频谱自相关值,比较m0和m1处的自相关幅值F0和F1,如果F0大于F1,则嵌入比特值为“0”;如果F1大于F0,则嵌入比特值为“1”;
回声隐藏算法的特点:回声隐藏算法优处在于具有非常好的隐藏效果并且具有较好的抗攻击能力,对于一般的数字信号处理,例如:加入随机噪声、滤波、重采样和失真压缩等均具有较好鲁棒性;但该方法的弱点也很明显:嵌入容量较小且计算量较大。一般秘密信息嵌入量为2bps-64bps,其大小传输环境和参数设计有关。
4、变换域隐藏方法
变换域隐藏技术方法首先对原始载体语音信号进行某种变换运算,例如:傅立叶变换FFT、离散余弦变换DCT和离散小波变换DWT等,得到相应的频域信号,然后通过修改其频域信号某些指定的频域系数来嵌入数据。通常考虑到对低频区域系数的改动可能会影响到载体信号的感知效果,而高频系数容易被破坏,一般选取频域信号的中频区域上的系数来嵌入秘密信号,从而使之既满足不可感知性,又满足对诸如失真压缩等操作的鲁棒性。
(1)变换域嵌入算法
变换域嵌入算法如下:
①对原始载体语音采样信号作变换T[□];
②基于事先给定的加密算法,对秘密信号数据进行加密,得到加密的秘密信号数据;
③按照预定的嵌入算法,在变换域上将秘密信号嵌入载体语音信号中;
④进行相应的逆变换T[□],得到携带有隐藏信息的复合载体时域信号。
(2)变换域检测算法
变换域检测算法如下:
①对接收到的携带有隐藏信息的复合载体语音时域信号进行变换T[□];
②在变换域上按照预定的检测算法判断是否存在嵌入秘密信号,如果有,则提取嵌入的秘密信息;
③按照预定的解密算法对提取出的秘密信息进行解密,得到原秘密信号。
变换域算法的优点是:具有较强的鲁棒性,并且可以获得极好的隐藏效果;但它的缺点是:隐藏容量较小,适合于隐藏较小数量秘密数据。对于要求隐藏容量大的信息隐藏系统,该类算法很难达到所需的隐藏容量要求。
发明内容
本发明的研究是以语音媒体为载体对象的语音信息隐藏和提取,利用信息隐藏具有的信息隐匿特性,结合语音编码的特点,设计语音信息隐藏和提取算法,建立语音阈下信道,进行秘密语音信息的隐蔽和实时传送。
语音信号中存在着大量的冗余信息,这是低码率语音编码得以实现的前提,语音编码的任务就是最大限度的除去这种冗余。在所有传统的基于LPC(Linear Predictive Coding)的分析-合成ABS(Analysis-by-Synthesis)编码方法中,所有的参数都是逐帧传送的,这种做法的缺点有两个:
(1)没有考虑到语音中的浊音信号在产生过程中,声道特性变化缓慢这一特点。因此,从编码的角度考虑就是如何利用这一特点,进一步除去冗余度,降低码率是十分必要的;而从信息隐藏的角度考虑就是如何利用这个特点进行秘密信息的隐藏。
(2)在基于LPC的分析-合成ABS编码方法中,对于表示合成滤波器的LPC系数采用矢量量化的方法,这种量化方法可以大大减小表示LPC系数的比特数。但是,在传统的方法中,其码本设计是对所有的语音样本的LPC矢量进行整体设计,得到一个单一的码本。这样做没有考虑到不同语音段的特点,不但量化效率受到限制,而且码本一般较大,需要较大的存储空间和较大的搜索量。
因此,本发明提出的基于滤波器相似性(Filter Similarity)的语音LPC信息隐藏和提取算法就是利用基于LPC的分析-合成ABS编码方法中的这两个缺点,针对以下的关键问题进行研究:
第一,如何利用浊音语音段的声道特征变化缓慢的特点,找到相近帧之间的相似性;
第二,如何利用各语音段的不同特性,对LPC系数分类,针对不同类型的LPC系数分别进行矢量量化,构成不同的矢量量化码本,以减小存储量和搜索量,并提高量化效率。
本发明根据分析-综合ABS语音编码的特点,选择不同的语音编码方案(例如:G.721、G.728、G.729和GSM)作为公共语音载体,以MELP2.4K方案为秘密语音,设计基于滤波器相似性的语音LPC信息隐藏和提取算法。本发明的主要内容为:
1、提出了滤波器相似度的概念,并给出了滤波器相似应的定义及定量计算方法。滤波器的相似度可以比较好的表现不同帧的语音信号间的相似性。对于两个相似度较大的滤波器,用相同的激励信号去激励它们的时候,所得的输出波形也很相似。而对于声音特征变化比较缓慢的浊音发音,其相近邻帧波形的变化主要反映在激励信号上,往往它们的合成滤波器有较大的相似性;
2、提出了基于滤波器相似度的LPC系数替代算法。在当前帧语音信号的LPC合成滤波器与前面相近的某一帧语音信号的LPC合成滤波器的相似度大于某一阈值的时候,可以不用传送该帧的LPC系数,而只传激励信号参数。在解码的时候利用前面的那帧语音信号的LPC滤波器替代该帧语音信号的LPC滤波器。合成的语音与用该帧语音的LPC合成滤波器合成的语音信号仅有很小的差别,对再生语音的质量不会带来较大的影响,但可以大大的降低码率。
基于滤波器相似度和LPC系数替代算法实现的语音编码隐藏和提取算法,将秘密语音嵌入(隐藏)到载体语音中后,载体语音的质量没有明显下降,而且嵌入(隐藏)的秘密语音信息不可检测的;在通信速率一定的情况下,该算法能提供足够的隐藏容量保证通信语音的连续性。该算法综合解决了保密通信中的实时性、稳健性和安全性问题。
3、基于滤波器相似度的语音LPC隐藏和提取算法
基于滤波器相似性的语音LPC隐藏和提取算法的中心思想是:将语音综合器引入译码器,使之与分析器相结合,在编码器中产生与译码器端完全一致的合成语音,将此合成语音与原始语音进行比较,根据某种预定误差准则,对各个参数进行计算和调整,使得合成语音和原始语音之间的误差达到最小。
在语音编码码流为载体的信息隐藏编码方案中,引入语音合成器,并将秘密语音的比特流的隐藏融合于对载体的语音编码过程中。在多码字或多帧嵌入的情况下,将原始语音和嵌入后的复合语音码流分别解码、合成复合后语音。然后根据一定的误差准则,对所有的可能嵌入方法所得到的复合载体语音与原始语音比较并进行误差计算,确定出误差最小的一种嵌入方法,作为本帧入选的嵌入方案。其嵌入结果作为复合语音码流输出(误差量度有多种方法,本算法必须根据所选编码方案具体选择)。对单帧嵌入的情况下,本算法充分利用载体语音编码算法中的分析合成功能,实现秘密信息隐藏嵌入。
4、基于各种标准编码载体的语音隐藏和提取算法
在以数字化语音为载体的信息隐藏中,必须做到嵌入编码流数据后的复合载体编码符合载体的编解码算法规律。也就是说,复合载体编码经过原载体解码器解码后合成的语音应该类似于原始载体语音。最直接的嵌入方式的是对编码后的语音码字进行某种变换和处理使之携带秘密信息,但是这种方式只能适用个别编码算法(例如:G.711编码算法),对于一般的语音编码的码字直接进行处理容易产生很强的噪音,甚至严重失真。因此,嵌入算法必须以选择的载体编码算法为基础,经过巧妙的嵌入处理,将秘密信息嵌入载体的编码的码字之中。本发明的语音隐藏算法将嵌入和编码算法有机的融合起来,在保证语音质量的前提下,可以针对不同的语音编码算法进行秘密语音信息隐藏。具有适应性较广、嵌入量较大和隐藏效果较好的特点。
本发明具体设计和实现了几种比较典型的语音压缩编码为载体语音编码时隐藏和提取算法,包括:G.721(ADPCM)、GSM(RPE-LTP)、G.728(LD-CELP)、G.729(CS-ACELP)等标准。其中,秘密语音以MELP2.4kbps压缩编码算法为实验标准。
附图说明
图1是本发明的滤波器相性计算方框图;
图2是本发明的LPC系数替代算法框图;
图3是本发明的秘密语音隐藏流程图;
图4是本发明的秘密语音提取流程图;
图5是本发明的G.721嵌入编码方框图;
图6是本发明的G.721嵌入编码实现流程图;
图7是本发明的GSM(RPE-LTP)嵌入编码算法方框图;
图8是本发明的GSM(RPE-LTP)提取算法方框图;
图9是本发明的G.728(LD-CELP)嵌入算法流程图;
图10是本发明的G.728(LD-CELP)提取算法流程图;
图11是本发明的G.729(CS-ACELP)嵌入流程图;
图12是本发明的G.729(CS-ACELP)提取算法流程图。
具体实施方式
本发明的关键问题在于如何协调好语音隐藏容量、语音通信质量(语音的连续性、可懂性和实时性)和秘密信息安全性三个方面的关系,达到设计的通信要求。而这些关系归根结蒂具体体现在如何解决有关语音信息隐藏算法性能(隐藏容量和稳健性)与语音通信质量的技术问题上。其中涉及三个方面的问题:
①实时性:为了保证在一定的语音传输(编码)速率下,通信的秘密语音连续可懂,则语音隐藏算法就必须具有很大的隐藏容量来保证语音通信的实时性。
②稳健性:为了保证秘密语音信息的隐藏性能,语音信息隐藏算法必须保证在具有较大隐藏容量的前提下,保证秘密语音信息的不可见性(Invisible)或不可感知性(Imperceptible)。
③安全性:为了保证秘密语音信息的安全性能,语音信息隐藏算法必须保证在具有较大隐藏容量和不可见性的前提下,保证秘密语音信息的不可检测性。
本发明是在满足上述3个特性的前提下进行设计的,具体的实施方式如下:
1、滤波器相似度(Filter Similarity)
滤波器相似度主要利用语音信号中存在着大量的冗余信息,确定可以用于隐藏秘密语音信息的LPC参数。针对不同的语音编码方案,根据语音特性和实际要求的需要,可以提取不同的语音参数用于嵌入(隐藏)秘密语音信息。
其中,对于波形编码类型的主要的语音参数有:语音样点值、短时语音能量和差分参数等;对于合成-分析ABS编码类型的主要的语音参数有:语音清浊参数、语音能量参数、线性预测参数(或线谱频率LSF)、激励参数、基音参数和相应的各种增益参数。这些语音参数特性,对于合成语音质量的影响有很大差异。即使同一类型的参数,在不同的编码方案中,对于合成语音质量的影响也有所不同。部分参数的微小改变对合成语音质量的影响甚微,而有些语音参数(称之为重要信息位)则相反。如线性预测系数的参数,即使产生不大的误差,也可能对合成后语音质量产生的较大影响,甚至完全失真;同样语音清浊标志参数,如果出现错误则导致合成后的语音完全失真。因此,必须对不同的语音编码方法,确定对语音质量相对较小的语音参数隐藏秘密信息。从隐藏容量和隐藏效果两个方面权衡,认为GSM(RPE-LTP)、G.728(LD-CELP)、G.729(CS-ACELP)等编码算法较为适合。作为秘密语音信号编码算法可以利用FS1015(LPC-10e)和MELP等低速率(甚低速率)压缩编码算法等均可以。但在目前比较成熟的编码算法中,MELP编码算法为最佳选择。当然,随着语音压缩编码技术的不断发展,还可以采用新的压缩率更高、质量更好的压缩编码算法。
在发明算法设计中,语音载体可以有多种选择,视具体应用场合的情况而定,例如:G.728LD-CELP 16kbps编码标准。而秘密语音的编码则选定为:MELP 2.4kbps标准。
滤波器相似性的确定方法就是将综合器引入到编码器中,使它与分析器相结合,在编码器中产生与译码器中完全一致的合成语音,再将此合成语音与原始语音相比较,并根据一定的误差准则来调整计算各个参数,以使二者之间的误差达到最小。
滤波器相似性的确定方法是在采用LPC的分析-合成ABS语音编码方法的基础上实现的,其编解码器系统的基本结构如图1所示。在设计中,语音信息每帧长度为20ms(160个点),分成4个子帧(每个子帧长度为5ms,40个点)。其实现过程为:先将语音信号分帧(一般20ms左右一帧),对每一帧语音信号进行分析,得到LPC系数,以及基音周期等信息;并将分析参数经合成滤波器产生的合成语音与原始语音比较以调整参数;然后再对各种参数进行量化,并进行传输或存储;在解码的时候,用激励信号激励LPC合成滤波器得到再生语音。将再生语音与原始输入语音在误差测量器中进行比较,利用最小误差准则判定当前的误差是否达到要求。如果达到要求,记录当前的LPC参数,作为滤波器相似性输出。
2、基于滤波器相似度的LPC系数替代算法
在作低速码率语音编码时,可以利用滤波器的相似度,以减少传送LPC系数的码率,即不是每一帧都传送LPC系数。如果当前帧的合成滤波器与前面某帧的合成滤波器的相似度S大于某个阀值S0时,则不传该帧的LPC系数an,利用前面那帧的LPC系数a0代替该帧的LPC系数an。对激励信号的分析表明,在LPC分析-合成ABS编码中,相似的语音波形帧之间除了它们的滤波器具有较大的相似度外,还必须具有相同的激励信号。但是,对于具有较大相似度的滤波器,当激励信号有所不同时,它们的语音波形便会有所不同。因此,当滤波器相似度S大于S0时,可以不传该帧的LPC系数,但仍然用该帧信号,则不会对该帧和合成语音的质量产生较大的影响。基于滤波器相似度的LPC系数替代算法框图如图2所示。
首先,输入第n-1帧的参数a0,计算当前第n帧的参数an。如果当前帧的合成滤波器与前一帧的合成滤波器的相似度S(an,a0)大于某个阀值S0时,则不传该帧的LPC系数an,利用前面那帧的LPC系数a0代替该帧的LPC系数an
采用基于滤波器相似度的LPC系数替代算法,针对包含汉语所有声母和韵目的36个词组进行了LPC系数替代试验。实验结果表明:设置相似度阀值So=0.7,由统计得到,36个词组总共860帧,其中,有520帧可以不传送LPC系数,占60%;以MELP 2.4kbps语音编码算法为例,其帧长采用20ms时,每帧传54bits。其中,25bits用于传送LPC系数。
3、基于滤波器相似性的语音LPC隐藏和提取算法
为了叙述方便规定:秘密语音码流段为si;Φ(si,ti)为si对载体语音ti帧的一种嵌入(或者说是一个变换)方法(其中,帧长为M个样点,采样率为8kbps);t(i)为第ti帧的原始语音的采样值;t′(i)为嵌入合成后的复合语音样点值;Φ(si,ti)的定义域为
Figure A20081009419200152
包含了N个元素(N≥1);Ei表示相应复合载体语音与原始载体语音的误差值;Cod为语音编码的码字。这里,Cod可以是一个标量或者是一个包含多个语音参数的矢量。
规定函数f表示秘密信息比特嵌入后,Cod和嵌入比特Bit_value之间满足的等式关系。以嵌入1比特为例:
f满足:f(Cod,Bit_value)=0               式(1)
f-1是由f导出的提取嵌入比特关系式:
Bit=f-1(Cod)                             式(2)
注意:复合参数是指经过嵌入后发生变化了的输出编码参数;指定编码算法是指选定的语音编码算法,被嵌入的参数和位置以及关系等式f的定义(关系式f与具体载体语音编码算法和将要嵌入数据的数量和选择的嵌入方式有关);复合语音码流是指嵌入秘密信息和的语音编码器输出的数字语音码字序列。
①秘密语音隐藏
秘密语音隐藏实现过程如图3所示,图3中Φ(si,ti)为si对载体语音ti帧的一种嵌入(或者说是一个变换)方法(其中,帧长为M个样点,采样率为8kbps);Φ(si,ti)的定义域为
Figure A20081009419200161
Figure A20081009419200162
包含了N个元素(N≥1);Ei表示相应复合载体语音与原始载体语音的误差值。
输入原始语音后首先进行语音分段,并送入嵌入器进行秘密语音的隐藏。在多码字或多帧嵌入的情况下,将原始语音和嵌入后的复合语音码流分别解码、合成复合后语音。然后根据一定的误差准则,对所有的可能嵌入方法所得到的复合载体语音与原始语音比较并进行误差计算,确定出误差最小的一种嵌入方法,作为本帧入选的嵌入方案。其嵌入结果作为复合语音码流输出(误差量度有多种方法,必须根据所选编码方案具体选择)。对单帧嵌入的情况下,充分利用载体语音编码算法中的分析合成功能,实现秘密信息嵌入(隐藏)。其步骤如下:
a.为了获得更好的语音质量,对于原始载体语音进行适当的预处理。主要目的去除由于设备带来的低频干扰和能量的均衡。
b.将原始载体语音按照编码算法的标准分段,分段样点长度取决于载体编码算法、嵌入语音编码的特性和实际隐藏需要。同时,秘密语音按照指定的密语音编码算法进行编码,并对秘密语音码流按照预定的加密算法进行加密,以确保数据的安全性,将得到加密的秘密语音bit流序列,并送入缓存待用。
c.按照指定载体编码方式进行嵌入编码,在语音编码器对载体语音编码的流程中,根据要嵌入的比特对语音编码中的部分参数计算方法进行改变,使变换后的编码参数满足约束关系式(1)的条件,并且复合参数作为原始的反馈参数送入语音编码算法的合成分析系统中,参与语音编码。对于所有的可能Φ(si,ti)得到相应的复合载体语音参数。然后用载体解码器将复合语音参数合成原始复合语音,求取相应的误差:
E i = Σ i = 1 M ( t ′ ( i ) - t ( i ) ) 2 式(3)
d.对求出N个Ei,求取Emin=min{Ei;i=1,N},其相应的嵌入方法为Φ(smin,tmin),并将该种嵌入方法的复合语音码字Cod输出。
②秘密语音提取
秘密语音提取的整个过程非常简便,快速,且不需要原始载体语音,属于“盲”检测过程,如图4所示。图4中Cod为语音编码的码字。这里,Cod可以是一个标量或者是一个包含多个语音参数的矢量;Bit为嵌入秘密语音的比特信息。
复合语音信息输入后首先进行按帧分段,然后根据Cod和嵌入比特Bit之间满足的最小误差准则关系提取嵌入的秘密语音信息。最后将提取的秘密语音的比特信息进行解密和解码得到秘密语音信息输出。其过程步骤如下:
a.将接收到的复合码流按照载体编码算法的标准分帧;
b.对每帧码字Cod利用式(2)计算出嵌入的比特值,构成密语音码流;
c.对提取出的比特流进行解密还原得到秘密语音码流;通过相应的秘密语音解码器合成秘密语音。
4、基于各种标准编码载体的语音隐藏和提取算法
下面介绍以几种比较典型的语音压缩编码为载体语音编码时隐藏和提取算法的实现。其中,包括:公共语音载体G.721(ADPCM)、GSM(RPE-LTP)、G.728(LD-CELP)、G.729(CS-ACELP)等标准;秘密语音MELP2.4kbps压缩编码标准。
1)G.721-ADPCM
G.721(ADPCM)语音编码标准的隐藏和提取算法的基本原理是:在ADPCM编码算法中将原始语音的线性PCM编码样点逐个输入编码器。
秘密语音信息嵌入之前首先对原始载体语音进行预处理,预处理分为两步:
①带通滤波:目的是消除有录音设备导致的低频噪声;
②能量均衡:将短时能量的最高值作为基准,进行归一化处理。目的是防止语音能量过高,导致嵌入编码造成自适应量化溢出,在利用ADPCM编码码流为载体时,这是必需的一个步骤。否则,在嵌入后的复合载体中容易出现由于嵌入秘密信息而导致的量化溢出,产生很强的“喇喇”声,严重影响复合载体编码合成语音的音质和隐藏效果。
对ADPCM语音编码载体语音进行分帧,分帧的长度取决于嵌入信息的速率。帧长的计算按照下式:
Frame_len=8000/embed_rate                  式(4)
其中,embed_rate为嵌入秘密语音信息的速率。
如果embed_rate为2000bps,则帧长Frame_len为4个码字。因此,S[i],i=1,4,每帧数据只嵌入秘密语音信息的一个比特。
(1)嵌入过程
ADPCM语音编码嵌入编码方框图如图5所示;嵌入编码实现流程如图6所示,图中N_embed为嵌入数目值。
下面叙述ADPCM语音编码嵌入的具体流程:
①载体语音分帧
分帧的长度按照式(4)计算,它与嵌入信息量的大小有关;
②自适应量化表分裂
将原有的量化表TABLE[8]分裂为两个量化表:TABLE0[4]和TABLE1[4]。规定:经过由TABLE0[4]编码的码字,满足码重为偶数;
经过由TABLE1[4]编码的码字,满足码重为奇数。
令: W = Σ i = 1 4 W i ⊕ bit i ;
biti为码字的4个比特位值。因此,选取嵌入关系函数f满足:
f ( Cod 1 , Cod 2 , Cod 3 , Cod 4 , Bit _ value ) = Σ i = 1 4 W i ⊕ Bit _ value = 0 式(5)
②按照嵌入分组选取嵌入方式,确定并纪录嵌入变化的个数
对于Frame_len=4的情况,根据试验,本发明选取了码字最低位进行变换,共有80种变化: 2 1 × c 4 1 + 2 2 × c 4 2 + 2 3 × c 4 3 + 2 4 × c 4 4 = 80 .
在本发明中将第i种变换记为:Φi,i=1,80。
对于每一个Φi,将一帧语音样点和被嵌入秘密语音一个比特,输入到嵌入模块,按照式(5)函数关系进行嵌入编码,并记录嵌入编码的过程有关过程参数和嵌入编码值Cod[i][j],i=1,2,…,80;j=1,4。将每一组编码值输入ADPCM解码器进行解码,得到80组合成语音样点SP[i][j],按照式(6)计算最小误差值E[i]:
E [ i ] = Σ j = 1 4 ( S [ i ] - S P [ i ] [ j ] ) × ( S [ i ] - S P [ i ] [ i ] ) 式(6)
E[k]=min{E[i];i=1,80}               式(7)
将误差最小的ΦK作为ADPCM语音编码嵌入方式,并将它的嵌入编码(Cod[k][j],j=1,4)输出。同时,用其编码有关变量更新编码器和解码器的相应参数,用于下一帧嵌入编码。
(2)提取过程
在ADPCM语音隐藏方法中,由于嵌入秘密信息时,通过嵌入编码器后的输出码字按照预定分段满足式(7)。因此,提取算法极为简便,且不需要原始的载体语音-“盲”检测。以Frame_len=4的情况描述秘密信息提取过程如下:
①首先按照预定的帧长Frame_len对复合载体编码分帧;
②然后计算出W, W = Σ i = 1 4 Σ j = 1 4 ( W i ⊕ bit ij ) ; 其嵌入比特值Bit_value=W;如此循环逐帧提取出秘密信息的比特,直到提取完全部秘密信息;
③将秘密信息按照原有格式恢复输出。
(3)测试结果及分析
ADPCM编码为载体的语音隐藏算法在不考虑提取是否方便的条件下,可以做到8/3kbps的嵌入容量,且具有非常好的隐藏效果。
提取嵌入的秘密信息时,如果不需要原始载体,也不考虑复杂的解码过程的条件下,可以做到1.6kbps和2kbps的嵌入容量,且具有较好的隐藏效果。但是,该嵌入算法明显不足是运算量较大。
2)GSM(RPE-LTP)
GSM(RPE-LTP)语音编码作为语音保密通信系统的载体编码方案具有以下优点:
①GSM编码方案具有比较低的码速率(13kbps),并且重构的合成语音的质量较好;
②GSM编码方案采用的部分参数具有比较强的鲁棒性。因此,该部分参数的少量变动对于重构语音质量影响较小。这是GSM编码方案作为实际的语音保密通信系统的载体语音编码算法的最大优势所在。
为了更好的叙述基于GSM编码的信息隐藏算法嵌入和提取算法的具体实现过程,规定如下符号:
T1为GSM编码一帧的时间长度;
T2为选用的低速率编码一帧的时间长度;
T为嵌入算法的帧长(缓冲区长度);
T=[T1,T2]即T为T1和T2的最小公倍数,为确保载体语音和秘密语音满足实时同步发送,按照上面的计算方法,确定嵌入算法时延T为180ms;
f是嵌入编码后码字和嵌入比特组之间的函数关系,f-1是其逆关系式。
(1)嵌入算法
基于GSM编码的嵌入算法方框图如图7所示。秘密语音嵌入过程如下:
①为了更好地进行LPC分析,发送方将载体语音先进行预处理,以去除直流分量并进行高频分量预加重,然后存储待用。预加重采用一阶FIR滤波器;
②进行分帧处理,每20ms(160个采样点)为一帧;
③短时分析滤波,对信号S做LPC短时预测分析,产生短时余量信号;
④长时预测,语音信号S经短时预测分析之后,其余量信号d进入长时预测,进一步去除信号的多余度;
⑤X为原始秘密语音经过A/D采样后,经选用的低速率编码产生的码流序列,Xi为第i帧(48bit)秘密语音码流;
⑥按照预定嵌入编码方法将秘密语音Xi嵌入,产生复合编码的码字;
⑦输出的复合语音码流序列,然后将复合码流按照传输协议进行传输。
(2)提取算法
基于GSM编码的提取算法流程如图8所示。
提取算法过程为:接收方收到复合码流后,按照约定的分段长度对复合码流分段,对每一段的复合码流按照嵌入信息提取方法f-1将秘密信息提取,并输入到选用的低速率解码器中,合成秘密语音输出到耳机。
(3)测试结果及分析
实验结果表明:提取后的秘密语音与嵌入前的秘密语音信息没有很大的区别,很好的保持了原始语音质量。因此,GSM是本发明方案实现的一个选择。
3)G.728(LD-CELP)
CCITT于1992年公布了语音编码标准G.728-LD-CELP(Low Delay Code Excited LinearPrediction),它是由美国AT&T Bell实验室提出的方案。G.728的编、译码原理在第二章中已经介绍。本章在对该编码方案特点研究的基础上,利用ABS算法模型,设计出了信息隐藏和提取算法。
下面针对G.728语音编码为载体的隐藏和提取算法,就每个子帧仅嵌入一个比特的情况进行叙述。
(1)嵌入算法
G.728语音编码为载体的语音隐藏流程图如图9所示。
载体语音x(n)为均匀量化的PCM信号,每5个连续样点值作为一个矢量(或者称为子帧)。从G.728编码算法知道,其编码器输出的是在最小误差准则下的最佳矢量的标号。最佳矢量码本长度为10个bits,共有1024个独立矢量,储存于矢量表中。为了减少码本搜索的复杂度,该矢量码本有被分解为两个矢量表:
第一个为7bit的“波形码本”(Shape Codebook),含有128个独立的码矢量;
第二个为3bit的“增益码本”(Gain codebook),含有8个以零为对称的标量化值,最高比特为增益符号位,其他两位为增益幅度。
通过大量实验得知:增益码本出现波动时,对语音音质影响较大,容易产生较高的噪音。对于波形码本矢量,按照一定规则在嵌入编码中选取部分码本编码,对合成语音音质产生的影响较小。因此,本发明选择波形码本矢量作为嵌入的参数。由于在不同条件下需要的不同嵌入容量,同时根据安全需求的不同,如何确定嵌入参数与嵌入信息比特位之间相应f函数关系,是十分重要的一个环节。
按照该语音编码算法的规定,每五个样点作为一个子帧输入,每四个子帧组成一帧数据。对于输入的每一个子帧,嵌入编码器根据嵌入比特的值依次选取每一个码矢量:
如果嵌入比特值为“0”时,在TABLE0和TABLE-Z中选取;
如果嵌入比特值为“1”时,在TABLE1中选取。
其中,TABLE-Z为原始的增益码本;TABLE0、TABLE1各自含有64个独立码矢量。
选取的码本矢量满足预定的约束函数:f(X,Bit)=0。
其中,X为10比特的矢量标号;f为嵌入参数与嵌入信息比特位之间的函数关系;f-1为秘密信息提取函数,满足式(8):
Bit=f-1(X)               式(8)
将选取的码本矢量由增益标定后输入到激励合成滤波器,产生本地解码信号。求取本地信号和原始信号的频率加权均方误差(MES),然后选取误差值最小的码矢量作为最佳码矢量。将最佳码矢量的标号(10bit)输出作为嵌入编码结果发送出去。线性预测器系数每帧更新一次,利用以前的量化激励信号的增益,逐矢量地进行提取和更新激励的增益。如果秘密信息全部嵌入后,嵌入编码器恢复原始的编码器状态,对载体语音进行正常的编码和解码。
其中,频率加权均方误差(MES)按照式(9)计算:
MES = | | x ( n ) - x ij ~ | | = σ 2 ( n ) | | x ^ ( n ) - g i H y j | | 式(9)
其中,H为综合滤波器和知觉加权滤波器的级联;gi表示TABLE-Z中的第i个增益值;yi表示TABLE0或TABLE1中的第j个码矢量; x ^ ( n ) = x ( n ) / σ ( n ) .
(2)提取算法
G.728语音编码为载体的语音提取流程图如图10所示。
由于在嵌入秘密语音信息时,嵌入编码器的输出码字X,按照子帧满足约束函数关系f(X,Bit)=0。因此,提取秘密信息时非常简便,并且不需要原始的载体语音数据。属于信息隐藏中“盲”检测和提取方法。
首先,对于接收的复合载体编码码流,按照10个比特划分为数据段,每个数据段构成一个码字X;然后,按照式(8)提取出秘密信息比特值。
将提取出来的秘密信息的比特流进行解密得到嵌入信息比特流。按照嵌入信息的原始格式输出供秘密语音解码器解码,合成秘密语音。
G.728语音嵌入编码算法与G.728编码算法融合为一体,总运算量与G.728相比略小。所以,嵌入和提取的运算速度快。并且该嵌入编码算法隐藏容量大,隐藏效果好。因此,可以作为本发明保密语音通信系统的一种较好的候选算法。
(3)测试结果及分析
在16kbps的G.728语音压缩编码为载体时,试验证明可以达到3.2Kbps的信息嵌入容量,完全满足了实现秘密语音码流在载体语音码流中实时隐藏嵌入所需容量,并且隐藏效果好。由于为无损提取,试验结果表明:提取后的秘密语音与嵌入前的秘密语音信息没有很大的区别,很好的保持了原始语音质量。
4)G.729(CS-ACELP)
共轭结构-代数码激励线性预测CS-ACELP语音压缩编码算法是CCITT于1996年公布的编码标准G.729。本发明对编码方案特点进行了分析和研究,利用ABS隐藏算法模型,构造了G.729语音编码隐藏算法。
(1)语音嵌入算法
G.729语音编码为载体的语音隐藏算法流程图如图11所示。
载体语音x(n)为采样率为8K的16位均匀量化的PCM信号,每80个样点作为一帧。
嵌入编码器输出的编码参数包括:线性预测滤波器系数、自适应码本标号、固定码本的码本标号、自适应码矢量增益、固定码矢量增益和基音时延奇偶检验。
其中,线性预测滤波器(LPC)系数转换为线谱对(LSP)参数后编码长度为18个bit;基音时延奇偶检验为1bit;自适应码本标号为8+5共13个bit;固定码本标号13+13共26个bit;自适应码矢量增益和固定码矢量增益共占用14bit。
通过实验得知:
①如果对于线谱对(LSP)编码的作较小变动,对语音质量容易产生不可预料的结果。主要原因在于:线谱对(LSP)系数的改变,将导致经过线性预测器的所有样点产生变化,这种变化大小程度与输入的语音样点有关,无法对此预先进行变化大小的估计。特别是对于语音由强到弱(或由弱到强)的过渡部分产生的影响最大。而这部分语音所携带的信息内容较多,非常重要。因此,可能会导致部分样点产生较大的变化,从而使合成语音与原始语音差别很大。
②当自适应码矢量增益和固定码矢量增益参数出现波动时,对合成后的语音音质影响较大,主要表现在合成语音有较强的噪音。因此,这些编码参数不能用于隐藏秘密信息。
G.729的自适应码本采用了1/3分辨率的分数延迟。因此,对自适应码本的最小变动的影响为1/3样点。当基语音率在50Hz-400Hz之间,自适应码本变化产生的基音误差为:
g(x)=(8000/x)-(8000/(x+1/3));x=20,160;
当基音周期为20时,g(x)最大为400-8000/(20+1/3)=6.557Hz
当基音周期为160时,g(x)最大为50-8000/(160+1/3)=0.104Hz
从中可以得出结论如下:
对于自适应码本标号微调,造成的基语音率误差与信号基语音率成正比。但其误差对合成语音造成的影响比较小,特别对于基语音率较低的语音影响更小一些。本发明可以将该参数作为可以隐藏信息的编码参数之一。同时也要引起注意,选用自适应码本嵌入信息,应该对于载体语音有所选择,例如,选用基音较低男生语音,以达到最佳的隐藏效果。但是,从总体效果上看,自适应码本嵌入信息造成的合成语音音质的下降要大于固定码本。
基于上述试验和分析,本发明选用了自适应码本、固定码本作为可变化的编码参数用于隐藏秘密信息。
G.729编码算法的嵌入过程如下(仅就每帧嵌入8个比特情况叙述嵌入和提取算法):
①按照G.729编码算法的规定:每80个样点S(n)作为一帧数据输入,同时输入8个BIT为一组(B[i]i=0,7)的秘密信息;
②对每帧语音样点做一次LP分析,并转化为LSF参数进行矢量量化编码为18比特;
③按照40个样点为一个子帧,用未量化和量化的LP参数分别构成感觉加权滤波器W(z)及综合滤波器H(z);
④在嵌入数组B[i]和预定的约束函数F控制下,进行自适应码本和固定码本的选取。将选取到的激励分别乘以各自的增益,相加后激励综合滤波器H(z),产生本地重建信号
Figure A20081009419200251
(自适应码本和固定码本各自的增益采用共轭结构进行矢量量化;对于固定码本的选择控制是根据其代数结构产生后的固定码本检验是否符合选择条件的。这一点与G.728有明显不同。);
⑤通过S(n)和之间的感觉加权均方误差的计算,确定使误差最小的最佳激励;
⑥将它们在码本中的序号、各自的增益、LP参数及其它的参数作为嵌入编码器的本帧的输出码字Cod输出,这一帧的嵌入编码到此结束。
其中,函数关系F是一组函数关系,它使Cod与嵌入数据B[i]形成一一映射关系:
B [ i ] ← → F - 1 F Cod . 其中,Cod是该帧的嵌入编码器输出的码字。
(2)秘密语音提取算法
G.729语音编码为载体的语音提取算法流程图如图12所示。
由于在秘密信息嵌入时,嵌入编码器的输出码字X满足B[i]与Cod之间的映射关系F。因此,在接收端仅需要提供接收到的复合载体编码数据,就可以提取出嵌入的秘密语音信息B[i],而不需要原始的载体语音的任何信息。
G.729语音编码为载体的语音提取算法提取过程如下:
①将接收到的复合载体编码bit流数据,按照10比特分为一组,每组构成一个码字X;
②按照逆映射关系F-1,计算出秘密语音信息B[i]的数值:
B[i]=F-1              式(10)
③将B[i]数值按照解密算法还原出原始秘密语音编码bit流,将其按照原始秘密语音格式排列输出,提供给秘密语音解码器解码,合成输出秘密语音。
(3)测试结果及分析
在载体语音编码为8kbps的G.729语音压缩编码时,G.729语音编码隐藏算法可以达到800bps的信息嵌入容量,能够满足实现一路秘密语音码流在载体语音码流中实时隐藏嵌入所需容量,并且隐藏效果较好。

Claims (5)

1、一种语音编码隐藏和提取算法,采用了信息隐藏的理论和技术,将其应用到语音保密通信中。利用该算法可以在正常的基于PSTN(Public Switched Telephone Network)、VoIP(Voice Over Internet Protocol)、移动通信GSM/CDMA和视频会议通信网络中建立了一条阈下(Subliminal)信道,用于秘密信息的隐蔽通信,即实现保密通信的功能。语音编码隐藏和提取算法将综合器(Synthesizer)引入到编码器(Coder)中,使它与分析器(Analyzer)相结合,在编码器中产生与译码器中完全一致的合成语音,再将此合成语音与原始语音相比较,并根据一定的误差准则来调整计算各个参数,以使二者之间的误差达到最小。
2、信息隐藏就是将一个秘密信息M嵌入到主数据集(Host data set)得到一个包含有隐藏信息的新数据集X。因此,数据集X会被经常进行数据处理操作(攻击),这些数据处理操作试图从数据集X提取有关信息M的蛛丝马迹,将它删除。因此,信息隐藏系统必须满足两个基本的要求:
(1)通常指作为透明性(Transparency),或顺从性(Unobtrusiveness)。这个要求是指按照一种适当的测试标准,数据集
Figure A2008100941920002C2
与X应该十分相似;
(2)鲁棒性或稳健性(Robustness)。要求无论对数据集X进行何种形式和一定级别的数据处理,隐藏信息必须保留。通常,对一个攻击方故意引入的失真是有一定限制的。
3、一个完整的基于通信问题的信息隐藏系统主要包括信息隐藏(嵌入)过程和提取(检测)过程两个部分。语音信号中存在着大量的冗余信息,这是低码率语音编码得以实现的前提,语音编码的任务就是最大限度的除去这种冗余。在所有传统的基于线性预测编码LPC(Linear Predictive Coding)的分析-合成ABS(Analysis-by-Synthesis)编码方法中,所有的参数都是逐帧传送的。本发明就是利用基于线性预测编码LPC参数的分析-合成ABS编码方法中的这两个缺点,针对以下的关键问题进行研究:
(1)利用浊音语音段的声道特征变化缓慢的特点,找到相近帧之间的相似性(Similarity);
(2)利用各语音段的不同特性,对LPC系数分类,针对不同类型的LPC系数分别进行矢量量化,构成不同的矢量量化码本,以减小存储量和搜索量,并提高量化效率。
4、基于滤波器相似度的语音LPC隐藏和提取算法的研究工作主要包括:
(1)提出了滤波器相似度(Filter Similarity)的概念,并给出了滤波器相似应的定义及定量计算方法。滤波器的相似度可以比较好的表现不同帧的语音信号间的相似性。对于两个相似度较大的滤波器,用相同的激励信号去激励它们的时候,所得的输出波形也很相似。而对于声音特征变化比较缓慢的浊音发音,其相近邻帧波形的变化主要反映在激励信号上,往往它们的合成滤波器有较大的相似性;
(2)提出了基于滤波器相似度的语音LPC隐藏和提取算法。在当前帧语音信号的LPC合成滤波器与前面相近的某一帧语音信号的LPC合成滤波器的相似度大于某一阈值的时候,可以不用传送该帧的LPC系数,而只传激励信号参数。在解码的时候利用前面的那帧语音信号的LPC滤波器替代该帧语音信号的LPC滤波器。合成的语音与用该帧语音的LPC合成滤波器合成的语音信号仅有很小的差别,对再生语音的质量不会带来较大的影响,但是可以大大的降低码率。语音编码隐藏和提取算法的原理就是根据这两个关键问题的解决来隐藏秘密语音信息,在不改变码速率的情况下保证了语音质量。
5、语音编码隐藏和提取算法在保证语音质量的前提下,可以针对不同的语音编码算法进行秘密语音信息隐藏,例如几种比较典型的语音压缩编码标准G.721(ADPCM)、GSM(RPE-LTP)、G.728(LD-CELP)和G.729(CS-ACELP)等标准。其中,秘密语音以MELP2.4kbps压缩编码算法为实验标准。具有适应性较广、嵌入量较大和隐藏效果较好的特点。
CN200810094192.1A 2008-05-08 2008-05-08 基于滤波器相似度的语音lpc隐藏和提取算法 Expired - Fee Related CN101577605B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200810094192.1A CN101577605B (zh) 2008-05-08 2008-05-08 基于滤波器相似度的语音lpc隐藏和提取算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810094192.1A CN101577605B (zh) 2008-05-08 2008-05-08 基于滤波器相似度的语音lpc隐藏和提取算法

Publications (2)

Publication Number Publication Date
CN101577605A true CN101577605A (zh) 2009-11-11
CN101577605B CN101577605B (zh) 2014-06-18

Family

ID=41272404

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810094192.1A Expired - Fee Related CN101577605B (zh) 2008-05-08 2008-05-08 基于滤波器相似度的语音lpc隐藏和提取算法

Country Status (1)

Country Link
CN (1) CN101577605B (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103299364A (zh) * 2011-02-07 2013-09-11 高通股份有限公司 用于编码和解码带水印信号的装置
CN103944577A (zh) * 2013-01-22 2014-07-23 中国科学院大学 基于Knuth码的联合信道与安全编译码设计方法
CN104994500A (zh) * 2015-05-22 2015-10-21 南京科烁志诺信息科技有限公司 一种用于移动电话的语音保密传输方法及装置
CN105516107A (zh) * 2015-12-01 2016-04-20 四川神琥科技有限公司 安全数据通信方法
CN105788602A (zh) * 2016-03-28 2016-07-20 北京密耳科技有限公司 一种用于话音频带压缩系统的语音加密方法和装置
CN106098073A (zh) * 2016-05-23 2016-11-09 苏州大学 一种基于频谱映射的端到端语音加解密系统
CN104064193B (zh) * 2013-03-21 2016-12-28 中国科学院声学研究所 一种线性预测语音编码的信息隐藏方法与提取方法
US9767823B2 (en) 2011-02-07 2017-09-19 Qualcomm Incorporated Devices for encoding and detecting a watermarked signal
CN107211144A (zh) * 2015-01-26 2017-09-26 高通股份有限公司 用于预测残差的增强型多重变换
CN107895582A (zh) * 2017-10-16 2018-04-10 中国电子科技集团公司第二十八研究所 面向多源信息领域的说话人自适应语音情感识别方法
CN108551386A (zh) * 2018-04-20 2018-09-18 天津光电丰泰科技有限公司 一种通过语音信道传递数字信号的方法及装置
CN108881276A (zh) * 2018-07-10 2018-11-23 北京贞宇科技有限公司 数据加密传输方法
CN107743292B (zh) * 2017-11-17 2019-09-10 中国航空工业集团公司西安航空计算技术研究所 一种音频电路的故障自动检测方法
CN110444192A (zh) * 2019-08-15 2019-11-12 广州科粤信息科技有限公司 一种基于语音技术的智能语音机器人
CN111181656A (zh) * 2020-01-08 2020-05-19 江苏科技大学 一种基于生物叫声的隐蔽信息传输方法和传输系统
CN111462765A (zh) * 2020-04-02 2020-07-28 宁波大学 一种基于一维卷积核的自适应音频复杂度表征方法
US11323748B2 (en) 2018-12-19 2022-05-03 Qualcomm Incorporated Tree-based transform unit (TU) partition for video coding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1198275A (zh) * 1995-09-06 1998-11-04 索拉纳技术开发公司 在音频信号中传送辅助数据的方法及装置
CN1901442A (zh) * 2006-06-26 2007-01-24 南京邮电大学 基于语音识别的伪装通信方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1198275A (zh) * 1995-09-06 1998-11-04 索拉纳技术开发公司 在音频信号中传送辅助数据的方法及装置
CN1901442A (zh) * 2006-06-26 2007-01-24 南京邮电大学 基于语音识别的伪装通信方法

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103299364B (zh) * 2011-02-07 2015-05-27 高通股份有限公司 用于编码和解码带水印信号的装置
CN103299364A (zh) * 2011-02-07 2013-09-11 高通股份有限公司 用于编码和解码带水印信号的装置
US9767823B2 (en) 2011-02-07 2017-09-19 Qualcomm Incorporated Devices for encoding and detecting a watermarked signal
US9767822B2 (en) 2011-02-07 2017-09-19 Qualcomm Incorporated Devices for encoding and decoding a watermarked signal
CN103944577A (zh) * 2013-01-22 2014-07-23 中国科学院大学 基于Knuth码的联合信道与安全编译码设计方法
CN104064193B (zh) * 2013-03-21 2016-12-28 中国科学院声学研究所 一种线性预测语音编码的信息隐藏方法与提取方法
CN107211144B (zh) * 2015-01-26 2020-01-03 高通股份有限公司 用于预测残差的增强型多重变换
CN107211144A (zh) * 2015-01-26 2017-09-26 高通股份有限公司 用于预测残差的增强型多重变换
CN104994500B (zh) * 2015-05-22 2018-07-06 南京科烁志诺信息科技有限公司 一种用于移动电话的语音保密传输方法及装置
CN104994500A (zh) * 2015-05-22 2015-10-21 南京科烁志诺信息科技有限公司 一种用于移动电话的语音保密传输方法及装置
CN105516107A (zh) * 2015-12-01 2016-04-20 四川神琥科技有限公司 安全数据通信方法
CN105516107B (zh) * 2015-12-01 2018-11-23 四川神琥科技有限公司 安全数据通信方法
CN105788602A (zh) * 2016-03-28 2016-07-20 北京密耳科技有限公司 一种用于话音频带压缩系统的语音加密方法和装置
CN106098073A (zh) * 2016-05-23 2016-11-09 苏州大学 一种基于频谱映射的端到端语音加解密系统
CN107895582A (zh) * 2017-10-16 2018-04-10 中国电子科技集团公司第二十八研究所 面向多源信息领域的说话人自适应语音情感识别方法
CN107743292B (zh) * 2017-11-17 2019-09-10 中国航空工业集团公司西安航空计算技术研究所 一种音频电路的故障自动检测方法
CN108551386A (zh) * 2018-04-20 2018-09-18 天津光电丰泰科技有限公司 一种通过语音信道传递数字信号的方法及装置
CN108881276A (zh) * 2018-07-10 2018-11-23 北京贞宇科技有限公司 数据加密传输方法
US11323748B2 (en) 2018-12-19 2022-05-03 Qualcomm Incorporated Tree-based transform unit (TU) partition for video coding
CN110444192A (zh) * 2019-08-15 2019-11-12 广州科粤信息科技有限公司 一种基于语音技术的智能语音机器人
CN111181656A (zh) * 2020-01-08 2020-05-19 江苏科技大学 一种基于生物叫声的隐蔽信息传输方法和传输系统
CN111462765A (zh) * 2020-04-02 2020-07-28 宁波大学 一种基于一维卷积核的自适应音频复杂度表征方法

Also Published As

Publication number Publication date
CN101577605B (zh) 2014-06-18

Similar Documents

Publication Publication Date Title
CN101577605A (zh) 基于滤波器相似度的语音lpc隐藏和提取算法
CN101925950B (zh) 音频编码器和解码器
CN101501763B (zh) 音频编解码器后置滤波器
KR101381513B1 (ko) 음성/음악 통합 신호의 부호화/복호화 장치
CN101484937B (zh) 使用缓冲器调节对已预测编码的数据进行解码
Miao et al. A new scheme for covert communication via 3G encoded speech
CN103229234B (zh) 音频编码装置、方法以及音频解码装置、方法
CN101178899A (zh) 可变速率语音编码
KR20100095585A (ko) 신호 처리 방법 및 장치
JP2002526798A (ja) 複数チャネル信号の符号化及び復号化
CN103493129B (zh) 用于使用瞬态检测及质量结果将音频信号的部分编码的装置与方法
MX2011000362A (es) Esquema de codificacion/decodificacion de audio a baja velocidad binaria y conmutadores en cascada.
CN103366755A (zh) 对音频信号进行编码和解码的方法和设备
Wu et al. An approach of steganography in G. 729 bitstream based on matrix coding and interleaving
CN1965352B (zh) 音频编码
CN104170009A (zh) 感知音频编解码器中的谐波信号的相位相干性控制
EP1441330B1 (en) Method of encoding and/or decoding digital audio using time-frequency correlation and apparatus performing the method
TW463143B (en) Low-bit rate speech encoding method
Chen et al. An audio watermark-based speech bandwidth extension method
CN106373583A (zh) 基于理想软阈值掩模irm的多音频对象编、解码方法
Wang et al. A steganography method for aac audio based on escape sequences
Jagtap et al. Speech coding techniques
CN101604524B (zh) 立体声编码方法及其装置、立体声解码方法及其装置
Annadana et al. New Results in Low Bit Rate Speech Coding and Bandwidth Extension
JP4578145B2 (ja) 音声符号化装置、音声復号化装置及びこれらの方法

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140618