声音编码的压缩实现.docx
《声音编码的压缩实现.docx》由会员分享,可在线阅读,更多相关《声音编码的压缩实现.docx(36页珍藏版)》请在冰豆网上搜索。
声音编码的压缩实现
声音数据的压缩编码实现
摘要
随着信息技术的发展,语音压缩编码技术得到了快速发展和广泛应用,尤其是最近20年,语音压缩编码技术在移动通信、卫星通信、多媒体技术以及IP电话通信中得到普遍应用,起着举足轻重的作用。
为了提高通信容量和质量,对语音编码提出的要求也越来越高。
不仅要求低码率、低延迟,而且要求有很高的语音质量。
先进的语音压缩编码的目标就是要在尽可能低的比特率下,最大限度的提取语音信号的特征信息,在接收端恢复尽可能清晰自然的语音。
本文介绍了语音数据压缩编码,以及常用的编码算法,还有传感器网络的特点及传感器网络的节点数据传输的特点等,同时还重点论述了在传感器网络中数据压缩的Huffman编码和游程编码的算法原理及其实现过程,从而了解传感器网络中数据压缩的特点。
关键词:
数据压缩,语音编码,传感器网络,Huffman编码,游程编码
Thedataofspeechencodingandimplementation
Abstract
Withthedevelopmentofinformationtechnology,speechcompressioncodingtechnologyhasbeenrapiddevelopmentandwideapplication.Especiallyinthelasttwentyyears,speechcompressiontechnologyplaysadecisiveroleinmobilecommunications,satellitecommunications,andmultimediaandIPtelephonyintheuniversalapplication.Inordertoimprovecommunicationcapacityandquality,therequestofthespeechcodingishigherandhigher.Notonlyrequiresalowrate,lowlatency,butalsohasahighvoicequality.Thepurposeofadvancedspeechcompressioncodingistodistillthespeechsignalmaximumfromthecharacteristicsofinformationwhenthebitrateisaslowaspossibleandrestorethenaturalclearspeechasclearaspossibleinthereceivingend.Atpresent,TheCommonlyusedcodingmethodcanbedividedintowaveformencoding,encodingparameterscodingandmixedcoding.
Thisissuefocusesonspeechanddatacompression,aswellasthecommonspeechanddataencodingmethod,thefeaturesofspeechtransmissioninsensornetworksandsuchascorrespondingspeechcoding.TheissuealsodiscussedthevoicedatacompressioncodingHuffmancodingandrun-lengthcodingalgorithmprincipleanditsimplementationprocess.
Keywords:
datacompression;speechencoding;sensornetworks;Huffmanencoding;run-lengthencoding
目录
声音数据的压缩编码实现…………………………………………………………………………………III
中文摘要…....…………………………………………………………………………………………III
英文摘要….....………………………………………………………………………………………..IV
1绪论………………………………………………………………………………………………………..1
1.1课题背景…………………………………………………………………………………………..1
1.2研究现状………………………………………………………………………………………….2
1.3语音编码标准……………………………………………………………………………………..2
1.4设计过程…………………………………………………………………………………………..3
1.5论文结构…………………………………………………………………………………………..3
2语音编码的概述及常用算法……………………………………………………………………………4
2.1波形编码…………………………...……………………………………………………………...4
2.2参数编码.....................................................................4
2.3混合编码.....................................................................5
2.4常用的语音数据编码方法………………………………………………………………………...5
2.4.1PCM…………………………………………………...…………………………………….6
2.4.2ADPCM……………………………………………………………………………………..7
2.4.2.1DPCM…………………..……………………………………………………………7
2.4.2.2ADPCM………………………………………………………………………………8
2.4.3CELP………………………………………………………………………………………...9
3无线传感器网络中的语音编码12
3.1无线传感器网络简介……………………………………………………………………………..12
3.2无线传感器网络体系结构………………………………………………………………….12
3.2.1传感器网络结构…………………………………………………………………………..12
3.2.2传感器节点结构…………………………………………………………………………..13
3.3无线传感器网络的主要特点……………………………………………………………………..16
3.4无线传感器网络中的语音数据编码…………………………………………………………….16
3.4.1网络编码的发展和现状…………………………………………………………………...16
3.4.2网络编码的优缺点………………………………………………………………………..18
4传感网络中Huffman编码和游程编码…………………………………………………………………20
4.1Huffman编码……………………………………………………………………………………20
4.1.1Huffman树及其构建………………………………………………………………………20
4.1.2Huffman编码算法的描述…………………………………………………………………20
4.1.3静态Huffman编码和动态Huffman编码…………………………………………….…21
4.1.4动态Huffman编码算法实现的流程……………………………………………………..22
4.2游程长度编码……………………………………………………………………………………26
4.2.1游程长度…………………………………………………………………………………..26
4.2.2游程长度编码的原理……………………………………………………………………..26
4.2.3游程压缩模型……………………...………………………………………………….…..27
4.2.4游程长度编码压缩的实现过程........................................................................................27
4.2.5游程长度编码解压缩的实现过程......................................................................................29
结论31
致谢32
参考文献33
附录34
1绪论
1.1课题背景
随着计算机技术的发展,信道资源显得更加宝贵,为了在有限的信道内进行更多的信息传输,必须对语音信号进行压缩。
语音信号能够压缩的基本依据是语音信号中存在的冗余和人类的听觉感知机理。
语音信号存在多种多样的冗余,可分别从时间域和频率域描述。
从时间域分析:
幅度的非均匀分布,即语音中的小幅度样本出现的概率高,信息主要集中在低功率上;采样数据间的相关,相邻的语音信号间有很强的相关性,研究表明,当采样率为8kHz时,相邻样值之间的相关系数大于0.85,如果采样率提高,相关性将更强;周期间的相关,浊音语音段具有准周期性,反映在波形上出现图形的重复,即信息冗余;语音间隙,实际语音通信中,存在通话间隙,通话分析表明,全双:
r话路的典型效率约为通话时间的40%,即静止系数为0.6;长时自相关,除了样本间、同期间的相关外,在较长的时间间隔上,语音信号也存在相关,统计表明,8kHz采样时的平均相关系数高达0.9,从频率域分析:
非均匀的长时功率谱密度,从相当长的时间内统计平均,语音信号的功率谱呈现强烈的非平坦性,这说明语音信号对给定的频段利用的不充分,存在固定的冗余度;语音特有的短时功率谱密度,语音信号的短时功率潜在某些频率上出现峰值,而在另一些频率上出现谷值,这些峰值频率是能量较大的频率,称为共振峰(Formant),语音特征主要由前3个共振峰频率决定,随着频率的增高,对整个功率谱的影响会快速递减。
语音压缩的第二个依据是人的听觉生理和心理特性对语音的感知。
其影响主要表现在:
第一,人的听觉系统(HumanAuditorySystem,HAS)对声音具有掩蔽效应(MaskEffect),即一个强的声音能够抑制另一个同时存在相对较弱的声音,利用这一性质可以抑制与信号同时存在的量化噪声。
第二,对不同频段的声音的敏感程度不同。
人的听觉对低频端比较敏感,而对高频端不太敏感,这主要是因为浊音的周期和共振峰在这里。
第三,人耳对语音信号的相位变化不敏感。
人耳的听觉不像人的视觉对感知的信号相位那样敏感,一定程度的相位失真对听觉来说是可以容忍的。
人耳听不到或感官极不灵敏的语音信号都可以认为是冗余,可以利用这些特性进行语音数据压缩[1]。
1.2研究现状
自从20世纪30年代末提出PCM及通道声码器理论以来,语音编码技术已有60余年的发展历史,但只有近20年随着计算机和微电子技术的发展才获得了飞速的发展,尤其是近几年来高质量语音压缩编码的技术已开始大规模地走向实用化,各种国际标准的制定均集中反映了这种技术发展的水平和趋势。
这些标准均根据应用背景,对编码质量、编码速率、编码延时以及算法复杂程度等进行综合权衡和最佳选择而制定的,以期在实际应用中获得最佳的效益。
此外,有一些国际组织或国家也都在积极制定自己的标准,例如北欧、北美、日本等都先后公布了他们的数字蜂窝移动通信系统的标准,分别采用了13kbit/s带长时预测规则码激励(RPELT)线性预测编码、8kbit/s矢量和激励线性预测(VSELP)编码及6.7kbit/s的VSELP编码等方案。
国际海事卫星组织(INMARSAT)于1990年制定的语音压缩编码标准采用了4.15kbit/s改进型的多带激励(IMBE)的算法,而美国Qualcom公司为CDMA移动卫星通信系统采用了4kbit/s~8kbit/s的变速率语音压缩编码的标准,即CELP类型,叫QCELP,并纳入了IS-95标准[2]。
总之,语音压缩编码技术的发展是十分迅速的,例如在目前已能在5kbit/s~6kbit/s的速率上获得高质量的重建语音,在8kbit/s的速率上也可获得短延时高质量的重建语音,而下一个目标则是要在4kbit/s速率上获得短延时高质量的重建语音。
特别是对中长延时编码,人们正在研究其更低速率(如400bit/s~1200bit/s)的编码算法,以应用于语音存储、短波通信、计算机语音通信等方面。
目前比较好的算法还有正弦变换编码(STC)、混合激励线性预测编码(MELPC)、时频域插值编码(TFI)、基音同步激励线性预测编码(PSELP)等等。
发展的趋势是向着具有更低速率、更高质量和更低延时的压缩编码方案方向发展。
1.3语音编码标准
语音编码的各种标准集中反映了语音编码技术水平的发展过程。
随着08年代语音编码技术的迅速发展,在国际电报电话咨询委员会的推动下,制定了一系列数字语音编码的国际标准,详见附录表1[3]。
由表1可以知道,随着语音编码算法的不断研究,传输速率总是不断地下降,这可以有效地节省传输带宽的资源。
但是在传输速率降低的同时,输出的语音质量也下降。
1.4设计过程
本课题是通过VC++平台来实现语音信号的压缩与还原,具体方法如下:
(1)首先采集一段通过传感器网络传输的语音信息;
(2)对该段语音信息进行huffman压缩编码,得到压缩后的语音信息;
(3)对编码后的语音信息进行解码还原,得到另外一段语音;
(4)将这两段语音信息进行对比,分析结果,得出结论;
(5)在采集另一段语音信息,对该段信息进行游程编码,分析结果。
1.5论文结构
本论文的工作是围绕语音数据压缩的算法进行的,论文的内容安排如下:
第一章介绍课题研究背景及研究现状,并对本课题研究方法做初步介绍,以便在内容上掌握全文的结构;
第二章概述语音数据压缩编码及常见的几种语音压缩编码的算法;
第三章讲述无线传感器网络及其体系结构,网络中语音数据编码特点;
第四章论述无线传感器网络中huffman编码和游程编码算法及实现过程;
第五章总结全文。
2语音编码的概述及常用算法
现代通信的重要标志是实现数字化,而要实现数字化首先得把模拟信号转变为数字信号,这种变换对语音信号来说就是语音编码。
为了提高语音编码和语音信号数字传输的有效性,通常还要进行语音压缩编码,语音压缩编码技术有多种,归纳起来大致可分为三类,即波形编码、参数编码和混合编码。
2.1波形编码
最早的语音编码系统采用波形编码方法,这种方法主要是基于语音信号的波形,力图使合成语音与原始语音的波形误差最小。
由于语音信号的全部信息都蕴含在原始波形里,所以这种方法编码后的合成语音质量非常好,且适应能力强,抗信道干扰性能好。
所采用的压缩方法一般是基于各种有效的数学变换,通过将波形从一个域变换为另一个更易于提取特征参数的域来达到对变换后的参数进行量化编码的目的,在数学上,这实质上是一个曲线拟合或数据近似的问题。
主要的编码器:
脉冲编码调制(PCM)、自适应增量调制(ADM)、自适应差分编码(ADPCM)、自适应预测编码(APC)、自适应子带编码(ASBC)、自适应变换编码(ATC)。
波形编码的性能和压缩比特率决定于所用的变换方法的性能,由于语音波形的动态范围很大,目前所用的变换算子的作用又有限,因此,波形编码的比特率不能压得很低,一般在16kb/s以上,再往下,性能就下降很快。
新近蓬勃发展的小波变换,尽管具有分层的思想、“显微镜”的功能、与图像的视觉感知相吻合,但用于语音编码效果不理想。
因为与人的听觉感知不相吻合。
国际电报电话咨询委员会CCITT(现已并入国际电信联盟)于1972年制定的G.71164kb/s的脉冲编码调
制(PCM)和ITU在1984年公布的G.72132kb/s自适应差分脉冲编码调制(ADPCM)编码器标准等都属于这一类编码器[2]。
2.2参数编码
参数编码始于1939年美国人HomerDudey发明的声码器,它是根据语音信号的特征参数来编码,所以又叫“声码器技术”。
这种编码方法是通过对人的发声生理过程的研究,建立一个模拟其发声的数字模型来达到提取其特征参数进行量化编码的目的,它力图使合成语音具有尽可能的可懂性,保持原语音的语意,而合成语音的波形与原始语音的波形可能有相当大的差别。
由于它是以滤波器为主来构造语音产生模型,发送的只是滤波器的参数和相关的特征值,可以将比特率压得很低。
但合成语音质量不是很好。
这种方法在低速率声码器中普遍采用。
主要声码器有通道声码器、共振峰声码器、同态声码器、线性预测(LPC)声码器等。
其中LPC声码器是以线性组合模型均方误差最小意义
下逼近原始波形的方法提取参数,较好地解决了编码速率和语音质量的问题,以其成熟的算法和参数的精确估计成为研究的主流,并已走向实用。
美国政府1980年公布的2.4kb/s线性预测编码算法LPC一10就是采用的这种方法。
1986年,美国第三代保密电话装置采用了2.4kb/s的LPC一10e(LPC一10的增强型)作为话音处理方法[2]。
2.3混合编码
20世纪80年代后期,综合波形编码和参数编码的混合编码算法成为主流,这种算法也假定了一个语音产生模型,但同时又使用与波形编码相匹配的技术将模型参数编码,吸收了两者的优点。
所谓混合编码有两层含义:
激励的混合,达到更精确的表示残差信号;编码方式的混合,综合波形编码和参数编码的优点,从而获得更高的质量。
根据这种方法进行编码的有1982年BishnuS.Atal和JoelR.Remde提出的多脉冲激励线性
预测编码(MPLPC),码率在9.6kb/s~16kb/s范围内,1985年Ed.F.Deprettere和PeterKroon首先提出的规则脉冲激励语音编码(RPE—LPC),1985年ManfredR.Schroeder和BishnuS.Aral提出了用矢量量化技术对激励信号进行编码的码激励线性预测编码(CELP),在4.8kb/s~16kb/s范围内可获得质量相当高的合成语音。
近年来码激励线性预测(CELP)编码作为一种优秀的中、低速率方案得到了很好的重视和研究,在降低复杂度、增强CELP性能、提高语音质量等方面取得了许多新的进展[3]。
1989年,Motorota的8kits矢量和激励线性预测编码(VSELP)成为北美第一种数字蜂窝移动通信网的语音编码标准,与美国政府标准4.8kitsCELP语音编码器基本相同。
美国政府制定了FS一10164.8kb/s的CELP保密电话网的标准之后,提出了制定半速率2.4kb/s声码器的新课题[1]。
2.4常用的语音数据编码方法
随着语音编码技术的不断发展,语音数据编码的种类也越来越多,目前最常用的有脉冲编码调制(PCM),自适应差分编码(ADPCM),码本激励线性预测编码(CELP),等等编码算法,下面为大家详细介绍。
2.4.1PCM
脉冲编码调制(PCM)[4]是概念上最简单、理论上最完善的编码系统,是最早研制成功、使用最为广泛的编码系统。
运用软件方法来实现PCM编解码芯片的部分功能并与PCM编解码芯片相结合来共同完成整个电路设计上的编解码,不仅设计简单,灵活方便,而且往往可以达到事半功倍的结果,具体调制过程是将输入的模拟信号进行取样,量化和编码。
这种方法通过用脉冲编码来代表取样后的模拟信号的幅度。
即用二进制的大小来代表取样后的信号幅度。
在接收端再将这些编码的二进制数还原为原来的模拟信号。
PCM通信的原理
PCM通信即脉冲编码调制通信,是时分制多路通信。
实现PCM通信,对发送端而言,要完成抽样、量化、编码三步操作对接收端而言,要完成译码、扩张、分路逆向操作。
图2.1为通信方式构成的示意图。
图2.1PCM方式的构成
(1)信号的抽样
所谓抽样,就是把连续的输入波形用一定周期的离散脉冲振幅来代表的过程。
抽样产生的每个离散值叫样值。
由于样值具有脉冲的形状,好像输入信号对一连串脉冲进行调幅,因此抽样称为脉幅调制--PAM。
(2)脉幅信号的量化
由于PAM脉冲的幅度与输入信号的瞬时值成比例,它有无穷多个值,而N位二进制数字只代表2N个值,因此必须进行化零取整的处理--量化。
量化有均匀量化和非均匀量化两种。
图2.2是用三位二进制进行量化的示意图。
均匀量化所产生的量化噪声对大、小信号均一样在小信号时信噪比(S/N〈26dB,所以现在大都采用非均匀量化。
非均匀量化目前国际采用13折残A律路(30路一基群)和15折线u律(24路一基群两种)[4]。
在此不作介绍。
图2.2三位二进制进行量化的示意图
(3)编码
把各路汇集起来的样值脉冲,根据其幅度的大小转换成一一对应的码组,这就是编码,其实它就是一种A/D转换。
2.4.2ADPCM
2.4.2.1DPCM
差分PCM(DifferentialPCM)[5]记录的不是信号的绝对大小而是相对大小。
因为信号相对大小的变化通常要比信号本身要小,码位用得也就少。
模拟信号波形的平均值从一个样值到另一个样值得改变是很小的,如果取样频率足够高,大多数连续的样值之间会有很大的相关性。
差分系统就是利用这种信息的冗余,不记录信号的大小,而是记录相邻值之间差值得大小。
差分编码采用预测编码技术,从输入中减去预测值,然后对预测误差进行量化,最终的编码就是预测值与实际值之间的差值。
解码器用以前的数据对当前样值进行预测,然后用误差编码重构原始样值。
这种方法使用的比特数较少,但它的性能决定于预测编码方法以及它对信号变化的适应能力。
DPCM的结构框图如图2.3所示,图中x(n)是输入语音信号,xr(n)是重构的语音信号,xp(n-1)是预测信号,d(n)是预测误差信号。
图中,差分信号d(n)是离散输入信号x(n)和预测器输出的估算值xp(n-1)之差。
注意,xp(n-1)是对x(n)的预测值,而不是过去样本的实际值。
DPCM系统实际上就是对这个差值d(n)进行量化编码,用来补偿过去编码中产生的量化误差。
重构信号xr(n)是由逆量化器产生的量化差分信号dq(n),与对过去样本信号的估算值xp(n-1)求和得到。
它们的和,即xr(n)作为预测器确定下一个信号估算值的输入信号。
2.4.2.2ADPCM
自适应差分脉冲编码调制(AdaptiveDifferentialPulseCodeModulation简称ADPCM)[5]用预测编码来压缩数据量。
它结合了ADM的差分信号与PCM的二进制码的方法,是一
图2.3 DPCM的工作原理
种性能比较好的波形编码