改进型LPC声码器语音编码算法
- 格式:pdf
- 大小:401.15 KB
- 文档页数:8
语音编码和图像编码的分类及特点一、语音编码一般而言,语音编码分三大类:波形编码、参数编码及混合编码。
<1>、波形编码波形编码将时域模拟话音的波形信号进过采样、量化和编码形成数字语音信号,是将语音信号作为一般的波形信号来处理,力图使重建的波形保持原语音信号的波形形状。
具有适应能力强、合成质量高的优点。
但所需编码速率较高,通常在16KB/S以上,并且编码质量随着编码速率的降低显著下降,且占用的较高的带宽。
波形编码又可以分为时域上和频域上的波形编码,频域上有子带编码和自适应变换域编码,时域上PCM、DPCM、ADPCM、APC和DM增量调制等。
①、子带编码它首先用一组带通滤波器将输入信号按频谱分开,然后让每路子信号通过各自的自适应PCM编码器(ADPCM)编码,经过分接和解码再复合成原始信号。
特点:1、每个子带独立自适应,可按每个子带的能量调节量化阶;2、可根据各个子带对听觉的作用大小共设计最佳的比特数;3、量化噪声都限制在子带内某一频带的量化噪声串到另一频带中去。
②、自适应变换域编码利用正交变换将信号有时域变换到另外的一个域,使变换域系数密集化,从而使信号相邻样本间冗余度得到降低。
特点:对变换域系数进行量化编码,可以降低数码率。
③、PCM(Pulse-code modulation),脉冲编码调制对连续变化的模拟信号进行进行抽样、量化和编码产生。
特点是保真度高,解码速度快,缺点是编码后的数据量大。
④、DPCM(Differential Pulse Code Modulation)差分脉冲编码调制是对模拟信号幅度抽样的差值进行量化编码的调制方式,是用已经过去的抽样值来预测当前的抽样值,对它们的差值进行编码。
特点:对于有些信号瞬时斜率比较大,很容易引起过载;而且瞬时斜率较大的信号也没有像话音信号那种音节特性,因而也不能采用像音节压扩那样的方法,只能采用瞬时压扩的方法;传输的比特率要比PCM低;一个典型的缺点就是易受到传输线路上噪声的干扰。
线性预测编码(LPC)的概念
线性预测编码(linear predictive coding,LPC)是一种非常重要的编码方法。
从原理上讲,LPC 是通过分析话音波形来产生声道激励和转移函数的参数,对声音波形的编码实际就转化为对这些参数的编码,这就使声音的数据量大大减少。
在接收端使用LPC分析得到的参数,通过话音合成器重构话音。
合成器实际上是一个离散的随时间变化的时变线性滤波器,它代表人的话音生成系统模型。
时变线性滤波器既当作预测器使用,又当作合成器使用。
分析话音波形时,主要是当作预测器使用,合成话音时当作话音生成模型使用。
随着话音波形的变化,周期性地使模型的参数和激励条件适合新的要求。
线性预测器是使用过去的P个样本值来预测现时刻的采样值x(n)。
如图所示,预测值可以用过去P个样本值的线性组合来表示:
为方便起见,式中采用了负号。
残差误差(residual error)即线性预测误差为
这是一个线性差分方程。
在给定的时间范围里,如[n0,n1],使e(n)的平方和即为最小,这样可使预测得到的样本值更精确。
通过求解偏微分方程,可找到系数αi的值。
如果把发音器官等效成滤波器,这些系数值就可以理解成滤波器的系数。
这些参数不再是声音波形本身的值,而是发音器官的激励参数。
在接收端重构的话音也不再具体复现真实话音的波形,而是合成的声音。
音频编码标准发展历程及压缩技术优化音频编码是指将模拟音频信号转换为数字音频信号的过程,并将该信号压缩以减小存储空间或传输带宽的技术。
随着数字音频技术的快速发展,音频编码标准也不断演进和优化。
本文将介绍音频编码标准的发展历程以及针对压缩技术的优化方法。
1. 音频编码标准发展历程1.1 PCM编码PCM(脉冲编码调制)是最早应用于音频编码的技术之一。
它将每一秒钟的音频信号切分成多个等间隔的时刻,然后将每个时刻的音频幅度量化成一个数字数值。
PCM编码简单可靠,但由于其较高的数据量,无法满足对存储空间和传输带宽的要求。
1.2 MPEG音频编码标准MPEG(Moving Picture Experts Group)是一个制定视频和音频编码标准的国际组织。
MPEG音频编码标准包括MPEG-1、MPEG-2和MPEG-4。
MPEG-1音频编码标准于1992年发布,它利用了感知编码原理,剔除了人耳听不到的音频信号,从而实现了高压缩比。
MPEG-2音频编码标准在MPEG-1的基础上进行了改进,增加了多通道音频编码功能。
MPEG-4音频编码标准则引入了更先进的压缩算法和多媒体功能。
1.3 其他音频编码标准除了MPEG音频编码标准,还有许多其他标准应用于不同领域,如AC-3(Dolby Digital)用于DVD和电视广播,AAC(Advanced Audio Coding)用于多媒体应用,FLAC(Free Lossless Audio Codec)用于无损音频压缩等。
2. 音频编码压缩技术优化2.1 感知编码感知编码是音频编码中常用的一种方法,它利用人耳对不同音频信号的听觉敏感度的不同,对音频信号进行剔除和量化,从而达到更高的压缩率。
感知编码技术基于声学模型,通过分析和模拟人耳对音频信号的感知特性,确定哪些信号对于人耳是不可察觉的,然后将这些信号从编码中排除。
2.2 预测编码预测编码是音频编码中的一种常见技术,它利用音频信号中的统计规律进行压缩。
LPC语音合成实验报告LPC (Linear Predictive Coding) 语音合成是一种基于线性预测编码的语音合成方法。
LPC语音合成算法对语音信号进行建模,通过预测当前样本点的值,利用已知的前期样本点和预测误差来合成语音。
本实验主要研究LPC语音合成的原理以及实现方法,并通过实验评估其合成效果。
一、LPC语音合成原理1.数据准备:从语音信号中提取出一段合适的语音样本。
通常情况下,音频数据需要进行预加重和帧分析处理。
2.参数提取:将每一帧的语音信号进行分析,并提取出LPC参数。
LPC参数的计算过程包括自相关函数的计算、Levinson-Durbin递推算法的运用以及LPC系数的计算。
3.预测误差计算:利用LPC参数对当前样本点进行预测,并得到预测误差。
通过对预测误差进行重建和合成,得到合成语音。
二、LPC语音合成方法1.线性预测编码方法提供了一种对语音信号建模的思路。
通过线性滤波器对语音信号进行预测,得到预测信号和预测误差。
然后利用已知的前期语音样本点和预测误差来合成语音。
2.LPC语音合成方法的关键是参数提取。
通过对语音信号进行分析,可以从每一帧语音信号中提取出LPC系数。
这些LPC系数可以用于预测当前样本点的值,并得到预测误差。
3.采用Levinson-Durbin算法可以高效地计算出LPC系数。
Levinson-Durbin算法是一种递推算法,利用前一个阶数的LPC系数计算出当前阶数的LPC系数,直到求得所需阶数的LPC系数为止。
三、实验结果及分析本实验利用MATLAB软件实现了LPC语音合成算法,并进行了合成效果的评估。
在实验中,首先从语音信号中选取一段合适的语音样本,并进行预处理和帧分析。
然后,利用Levinson-Durbin算法计算出LPC系数,并对语音信号进行合成。
最后,通过主观听觉评估和客观评价指标评估合成语音的质量和相似度。
实验结果表明,LPC语音合成算法可以实现对不同语音信号的合成。
GSM语音编码方案1. 引言GSM(Global System for Mobile Communications,全球移动通信系统)是目前全球主流的第二代数字移动通信标准。
GSM网络提供低功率的无线通信服务,被广泛应用于手机通信、无线数据传输、短信及多媒体信息传递等领域。
在GSM网络中,语音编码方案是非常关键的部分。
本文将介绍GSM语音编码方案的基本原理,主要特点和应用。
2. 基本原理GSM语音编码方案基于线性预测编码(Linear Predictive Coding,简称LPC)和自适应多速率编码(Adaptive Multi-Rate,简称AMR)技术。
LPC是一种基于信号采样的编码技术,通过对语音信号进行分析和压缩,实现对语音信号的传输和存储。
它利用线性预测模型对语音信号进行建模,然后通过削减模型中的冗余信息,降低信号的冗余度,以达到压缩数据的目的。
LPC编码主要分为分帧、预加重、自相关和线性预测系数计算等几个步骤。
AMR则是一种自适应多速率编码技术,它根据通信环境的质量要求自动选择合适的压缩比率。
AMR提供了多个不同比特率的编码模式,从4.75 kbps到12.2 kbps不等。
低比特率提供的音质较差,但传输开销较低,适用于网络带宽较低的环境,而高比特率则提供更好的音质和更高的保真度。
3. 主要特点GSM语音编码方案具有以下几个主要特点:3.1 低比特率GSM语音编码方案的比特率通常在8 kbps左右,远低于CD音质的128 kbps。
这使得GSM网络在有限的频谱资源下能够支持更多的用户同时通信,有效提高了系统的容量。
3.2 低延迟GSM语音编码方案具有较低的编解码延迟,通常在20毫秒左右。
这使得用户在通话中感觉到的延迟较小,提供了良好的实时通话体验。
3.3 压缩效率高GSM语音编码方案通过LPC技术对语音信号进行压缩,实现了较高的压缩效率。
相同比特率下,GSM语音编码方案相比其他编码方案具有更好的音质和保真度。
单片机能实现的语音压缩算法单片机是一种集成电路,具有微处理器、内存、输入输出接口等功能,常用于嵌入式系统中。
语音压缩算法是一种将语音信号进行压缩以减少存储空间或传输带宽的技术。
本文将介绍如何利用单片机实现一种简单的语音压缩算法。
在语音压缩中,最常用的算法之一是线性预测编码(LPC)算法。
LPC算法通过对语音信号进行预测,然后只存储预测误差,从而实现对语音信号的压缩。
在单片机中实现LPC算法,主要分为两个步骤:预测和编码。
我们需要对语音信号进行预测。
预测的目的是找到一个模型来描述语音信号的特征。
常用的预测模型是自回归模型,它假设当前的样本值可以由前面若干个样本值线性组合得到。
在单片机中,我们可以采用自相关函数的方法来估计自回归模型的参数。
自相关函数可以通过计算语音信号的样本序列与其自身的延迟序列之间的相关性来得到。
然后,我们可以利用这些参数来预测未来的样本值。
接下来,我们需要将预测误差进行编码。
编码的目的是将预测误差的信息用更少的比特数进行表示。
在单片机中,常用的编码方法是脉冲编码调制(PCM)和差分脉冲编码调制(DPCM)。
PCM将每个样本值转换为一个固定长度的比特序列,从而实现对预测误差的编码。
DPCM则是将每个样本值与前一个样本值的差值进行编码,从而利用差值的较小范围来减少编码所需的比特数。
除了LPC算法,还有其他一些语音压缩算法可以在单片机中实现。
例如,自适应差分脉冲编码调制(ADPCM)算法通过动态调整差分量化器的特征参数来适应不同的语音信号,从而提高编码效率。
另外,短时傅里叶变换(STFT)算法可以将语音信号从时域转换到频域,并利用频域的稀疏性进行压缩。
利用单片机可以实现多种语音压缩算法,其中LPC算法是最常用的一种。
通过预测和编码两个步骤,我们可以将语音信号进行有效地压缩,从而节省存储空间或传输带宽。
未来,随着单片机技术的发展,我们可以期待更多高效的语音压缩算法在单片机中实现,进一步提高语音通信的效率和质量。
常用的语音编码方法有常用的语音编码方法主要包括:PCM(脉冲编码调制)、ADPCM(自适应差分脉冲编码调制)、MP3(MPEG音频层3)、AAC(高级音频编码)、OPUS、GSM(全球系统移动通信)、ILBC(无损语音编码器)、G.722等。
1.PCM(脉冲编码调制)PCM是最常用的语音编码方法之一,将模拟语音信号采样后,通过量化和编码来数字化语音信号。
PCM编码质量较好,但占用存储空间较大。
2.ADPCM(自适应差分脉冲编码调制)ADPCM是对PCM的改进,通过预测和差分编码的方式来压缩语音数据。
ADPCM编码可以减小文件大小,但也会损失一定的音质。
3.MP3(MPEG音频层3)MP3是一种无损的音频压缩格式,通过删除人耳难以察觉的音频信号细节来减小文件大小。
MP3编码在音质和文件大小之间取得了平衡,成为广泛应用于音乐和语音传输的标准格式。
4.AAC(高级音频编码)AAC是一种高级音频编码方法,能够提供较好的音质和较小的文件大小。
AAC在广播、音乐和视频领域都有广泛应用。
5.OPUSOPUS是一种开放和免版权的音频编码格式,适用于广泛的应用场景,如实时通信、网络音频流传输等。
OPUS编码可以根据不同场景的需求,在音质和延迟之间做出灵活权衡。
6.GSM(全球系统移动通信)GSM编码是一种在移动通信领域广泛使用的语音编码方法,它通过移除语音频带中的高频和低频信息来实现数据压缩。
7.iLBC(无损语音编码器)iLBC是一种专为网络语音传输设计的编码格式,能够在高丢包环境下提供较好的语音质量。
8.G.722G.722是一种宽带语音编码方法,提供更好的语音质量和更宽的频带宽度,适用于音频和视频会议等高质量语音通信场景。
改进型L PC 声码器语音编码算法王 田 崔慧娟 冯重熙(清华大学 北京100084)摘 要 本文给出了一种改进的L PC 语音编码算法,用于实现低速率声码器。
与传统L PC 声码器算法相比,本算法在参数提取及合成等方面采取了一些改进措施,使得合成语音质量有很大的提高。
本文在引言后概述了编码算法改进的考虑,然后给出编译码器的算法,重点讨论了本文提出的用动态规划法进行基音提取和平滑的新算法,以及合成端混合激励算法。
本算法已经用TM S 320C 25实现单片编解码。
关键词 低速率语音编码 L PC 声码器 基音提取 动态规划I m proved L PC Speech Cod i ng A lgor ith mW ang T ian Cu i H u ijuan Feng Chongx i(T singhua U niversity ,Beijing 100084)Abstract T h is paper gives an i m p roved L PC speech coding algo rithm fo r low b it 2rate vocoder .Compared w ith conven ti onal L PC vocoder ,ou r i m p roved one has several i m p rovem en ts on param 2eters ex tracti on and syn thesis ,etc .T he speech quality of ou r vocoder is m uch better than that ofconven ti onal one . A fter a b rief in troducti on ,the i m p roving m ethods are discu ssed in general.T hen the new al 2go rithm s of p itch ex tracti on u sing dynam ic p rogramm ing and m ixed excitati on of syn thesizer arediscu ssed in detail .T he vocoder has been i m p lem en ted u sing a single TM S 320C 25D SP ch i p fo rcoding and decoding .Key words low b it 2rate speech coding ,L PC vocoder ,p itch ex tracti on ,dynam ic p rogramm ing1 引言 速率为2.4kb it s 甚至更低的语音编码算法的研究,长期以来一直受到人们的重视。
80年代初,美国国防部公布了L PC 210算法标准[1],基于这个算法的声码器用于美国保密电话单元(STU 2II )。
该声码器采用简单的激励模型,有较好的可懂度,但自然度和抗噪声能力较差。
随后美国国防部又公布了L PC 210的改进型算法L PC 210e [2],使得自然度、鲁棒性有所提高,但其话音质量仍然满足不了人们的需要。
90年代以来,低速率语音编码算法有了新的进展,出现了多带激励(M B E )等新的算法。
但多带激励算法需要采用浮点的数字信号处理器(D SP )来实时实现,功耗大且成本高。
本文给出了一种新的改进型L PC 声码器。
该声码器不仅算法较简单,可用一片TM S 320C 25定点数字信号处理器实时实现编解码,而且合成语音质量比采用L PC 210()算法的声码器有了很1996年9月第17卷第5期 通 信 学 报JOU RNAL O F CH I NA I N ST ITU T E O F COMM UN I CA T I ON S V o l .17N o.5Sep tem ber 1996大的提高,与M B E 声码器质量接近。
本文第2部分为对L PC 算法的改进。
第3部分介绍编码器算法,重点在自相关法加动态规划来进行基音提取的算法。
第4部分介绍合成器的算法,主要是混合激励算法。
最后是系统性能和实时实现。
2 L PC 算法的改进211 传统L PC 声码器存在的问题 传统的L PC 声码器采用二元激励模型。
这个模型将短时语音段分为清音和浊音两种类型。
分别采用随机噪声序列和周期序列激励全极点合成滤波器,从而得到合成语音信号,其合成语音的自然度较差,合成声重,声音发紧,而且系统的鲁棒性较差,在背景噪声较大的环境中,合成语音质量下降较大。
传统模型语音质量差主要由两方面原因造成的。
一是受语音生成模型所限;二是语音生成模型参数估计不够准确。
实际语音很难确切分为清音或浊音,往往是两者并存,特别是在过渡段及噪声较强的语音段。
一旦清 浊音判决错误,语音质量就会受到很大的影响。
即使没有判决错误,简单的二元激励也会造成合成语音的机器声较重,影响自然度。
在L PC 210算法中,要估计的参数包括:线性预测系数(L P 系数);清 浊音判决;浊音的基音周期;短时语音段的能量等。
其中基音周期提取和清 浊音判决难度较大。
在L PC 210声码器中,基音周期的提取采用平均幅度差函数(AM D F )的方法,这种方法不需要乘法运算,但是准确度较差,严重影响了语音的质量。
212 算法的改进 前面提到影响传统L PC 算法质量的两个主要方面,算法的改进正是从这两方面出发,一方面改进语音的生成模型,一方面提高参数提取的准确度。
(1)语音的生成模型 本文所述的改进型L PC 声码器采用混合激励的模型[5],其模型原理框图如图1所示。
图1 改进型声码器混合激励模型 在混合模型中,浊音段激励信号不是简单采用周期信号,而是将随机噪声序列通过高通滤波器,周期信号通过低通滤波器,两者混合作为激励信号;清音段激励信号仍然采用随机噪声序列。
这个模型更符合语音的实际特性,同时清 浊音判决的灵敏度下降了。
由于浊音段激励信号中存在随机成分,可以适当调整门限,使得清 浊音判决中浊音比例提高,合成时后向提取混合比例因子,决定随机成分在激励信号中的比例。
采用这个模型,清 浊音判决变得容易了,同时避免了浊音过多造成的合成声太重,提高了合成语音的自然度。
()・2・通 信 学 报1996年 采用AM D F 的方法提取基音周期,可以避免乘法运算。
随着数字信号处理器的发展,乘累加运算可在单周期中完成,所以乘法运算已经不是影响运算速度的重要因素。
改进的L PC 算法采用自相关函数的方法提取基音,以提高参数估计准确度。
对于实际语音信号,基音周期的变化比较缓慢,帧间的相关性较大。
在合成语音时,基音周期要进行插值,使得合成语音能较好地连接。
如果提取的基音周期帧间变化较大,合成语音会因为衔接不好而极大地影响语音质量。
所以提取基音周期的同时还要考虑基音周期的平滑。
为此本文提出了一种自相关函数结合动态规划的新算法,进行基音周期的提取和平滑。
采用了该算法后,语音质量有了显著的提高,这是整个算法改进的关键。
在本文第3部分中,将给出算法的细节。
213 算法的基本参数 改进L PC 算法的一些基本参数见表1: 表1算法基本参数符号名称数值抽样率8kH z FRAM ES IZE帧长180samp les (22.5m s )ORD ER短时滤波器阶数10HAMM I N G HAMM I N G 窗长205samp les 算法需要分析的参数包括:谱包络信息、采用线谱对(L SP )量化、基音周期、清 浊音判决、能量、抖动与嚓音。
比特分配见表2。
表2传输参数比特分配符号名称比特数SYN同步1L SP [0]第1个线谱对系数3L SP [1]第2个线谱对系数4L SP [2]第3个线谱对系数4L SP [3]第4个线谱对系数4L SP [4]第5个线谱对系数4L SP [5]第6个线谱对系数3L SP [6]第7个线谱对系数3L SP [7]第8个线谱对系数3L SP [8]第9个线谱对系数3L SP [9]第10个线谱对系数3P ITCH &UV基音周期及清 浊判决7RM S能量5J IT T ER FR I CA T I V E 抖动或嚓音1总计48・3・第5期王 田等:改进型L PC 声码器语音编码算法 传输参数中,用线谱对代替了传统算法中的反射系数,根据改进的L PC 算法,设计了L SP 量化码本。
L SP 34比特量化与反射系数41比特量化相比,谱误差基本都在1dB 左右,主观听音时两者无法区分,但传输比特每帧可减少7b it 。
因为帧长为180个样点,算法(包括同步)使用48b it 。
所以传输速率不到2.2kb it s 。
可以加纠错编码或其它比特达到通常的2.4kb it s ,用于实际系统。
3 编码器算法311 编码器框图 图2为编码器的总体框图。
其中关键的基音提取、清 浊音判决等模块采用了新的方法。
图2 编码器的总体框图312 基音提取与清 浊音判决 基音提取与清 浊音判决密切相关。
本算法中采用自相关结合动态规划的方法进行基音提取和平滑。
考虑到本算法中清 浊音判决灵敏度低,主要根据自相关函数进行判决。
下面给出算法的细节。
(1)自相关函数计算 首先,语音经过去直流,800H z 低通滤波器,进行2阶逆滤波,然后求算自相关函数R (m )m =18,…,148。
因为语音的基音周期一般在18到148之间,所以只计算18到148之间的自相关函数值。
仅保留大于零的值并进行归一化后得到G (m )=R (m ) R (0)m =18,…,148(1)(2)清 浊音判决 进行二阶逆滤波时可得到低通滤波后、二阶逆滤波前的能量E L P ,求出语音的平均幅度E avr =E L P(2)・4・通 信 学 报1996年设G 的最大峰值为G peak ,G 的平均值为G avr 。
M =arg m ax 18≤m ≤148G (m )(3)G peak =G (M )(4)G avr =∑148m =18G 2(m ) 131(5)取E avr 和X peri od =G peak +2G avr 作为清 浊音判决的依据[7]。
当E avr 小于一定的门限时,语音能量太小,判决为清音,否则当X peri od 小于一定的门限时,说明周期性不强,判决为清音,大于门限时判决为浊音。
(3)基音提取 如果直接取自相关函数最大峰对应的下标为基音周期,判决错误的可能性较大。
帧间基音可能有较大的跳跃,或提取到基音周期的倍数上。
这些错误对语音质量有很大的影响。