




已阅读5页,还剩58页未读, 继续免费阅读
(通信与信息系统专业论文)g7231算法arm平台移植与优化.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 在现代各种通信系统中,语音通信一直是一项重要的、必不可少的业务。语 音压缩和编码在移动通信、v o l p 、多媒体信息传输、保密通信等领域发挥着重要 的作用。多种语音编解码的国际标准相继出台,中低速率的语音编码及其应用已 成为一个重要研究领域。g 7 2 3 1 是i t u t 在19 9 6 年提出的一种具有5 3 k b p s 6 3 k b p s 双速率的高效率语音编解码标准,以其卓越的性能被广泛应用在各种领域。但它 的高质量和低码率,是以高复杂度的编码算法、较高的延迟以及较大的存储空间 换得的,这也大大增加了它的实时实现难度。 由于a r m 嵌入式处理器具有成本低、易开发等众多优点,非常适合于实时处 理语音编解码器。因此,在a r m 平台上有效地实现g 7 2 3 1 算法是很有必要的。本 论文首先对g 7 2 3 1 编解码器的算法原理进行了描述,接下来具体论述了将该算法 进行a r m 平台移植与优化的方法。优化的目的是在尽量不降低压缩语音质量的同 时尽可能地减少指令周期数。优化过程中使用的方法包括:算法优化、c 代码结构 优化和汇编优化。通过与优化前的算法进行对比,移植和优化之后,g 7 2 3 1 编码 器的复杂度降低了8 0 以上,解码器的复杂度降低了6 0 以上。优化后的g 7 2 3 1 语音编解码算法能够在a r m 平台上实时实现,从而可以将它投入到许多实际应用 当中去。 关键词:语音编码g 7 2 8 1a r m 移植优化 a b s t r a c t s p e e c hc o m m u n i c a t i o ni sa ni m p o r t a n ta n di n d i s p e n s a b l e s e r v i c ei nd i f f e r e n t m o d e mc o m m u n i c a t i o ns y s t e m s s p e e c hc o m p r e s s i o na n dc o d i n gp l a y sa l li m p o r t a n t r o l ei nm o b i l ec o m m u n i c a t i o n ,v o i c eo v e ri p ,m u l t i m e d i ai n f o r m a t i o nt r a n s m i s s i o n , s e c r e c yc o m m u n i c a t i o n ,e t c m a n yi n t e r n a t i o n a ls t a n d a r d so fs p e e c hc o d e ch a v eb e e n s e tu pa n dt h el o wb i tr a t es p e e c hc o d i n ga n di t sa p p l i c a t i o n sh a v eb e c o m et h em a i n f i e l do ft h er e l a t e dr e s e a r c h r e c o m m e n d a t i o ng 7 2 3 1a p p r o v e db yi t u ti n19 9 6i sa h i 曲l ye f f i c i e n td u a lr a t e s ( 5 3 k b p s 6 3 k b p s ) s p e e c hc o d e cs t a n d a r d ,i ti sw i d e l yu s e di n m a n yf i e l d s b u tt og a i nt h eh i g hq u a l i t ya n d l o wb a u dr a t e ,g 7 2 3 1p a y so u tt h ec o s t , s u c ha st h eh i g hc o m p l e x i t yo fc o d i n ga r i t h m e t i c ,h i g hd e l a ya n dl a r g es t o r a g es p a c e e a c ho ft h e mb r i n g su pt h ed i f f i c u l t i e so fi t sr e a lt i m ei m p l e m e n t a t i o n b e c a u s ea r me m b e d d e dp r o c e s s o rh a sm a n ya d v a n t a g e s ,s u c ha sl o wc o s ta n d e a s yd e v e l o p i n g ,i ti sv e r ys u i t a b l ef o rr e a lt i m ei m p l e m e n t a t i o nf o rs p e e c hc o d e c t h e r e f o r e ,i m p l e m e n t a t i o no ft h eg 7 2 3 1a l g o r i t h mi na r mp l a t f o r me f f e c t i v e l yi s e s s e n t i a l f i r s t ,t h ep r i n c i p l eo fg 7 2 3 1c o d e ca l g o r i t h mi sd e s c r i b e di nt h et h e s i s ,t h e n t h ew a yo f p o r t i n gt h ec o d e ca l g o r i t h mt oa r mp l a t f o r ma n dt h em e t h o d st oo p t i m i z e t h ef u n c t i o n si nt h ea l g o r i t h ma r ei n t r o d u c e di nd e t a i l s t h ep u r p o s eo ft h eo p t i m i z a t i o n i st ok e e pt h ec o m p r e s s e ds p e e c hq u a l i t yu n c h a n g e dw h i l er e d u c i n gt h ei n s t r u c t i o n c y c l e s a sl o wa s p o s s i b l e t h em e t h o d so fo p t i m i z a t i o nu s e di n c l u d ea l g o r i t h m o p t i m i z i n g ,cc o d es t r u c t u r eo p t i m i z i n ga n da s s e m b l yo p t i m i z i n g c o m p a r i n gw i t ht h e i m p l e m e n t a t i o no ft h eo r i g i n a la l g o r i t h m ,a f t e rp o r t i n ga n do p t i m i z a t i o n ,o v e r8 0 o f t h ec o m p l e x i t yo fg 7 2 3 1e n c o d e rh a sb e e nr e d u c e da n dm o r et h a n6 0 o ft h e c o m p l e x i t yo fg 7 2 3 1d e c o d e rh a sb e e nr e d u c e da sw e l l a sar e s u l t ,t h eo p t i m i z e d a l g o r i t h mc a nb ei m p l e m e n t e dw i t ha r mp l a t f o r me a s i l yi n r e a lt i m ea n di sa b l et op u t i n t om a n ya p p l i c a t i o n s k e y w o r d :s p e e c hc o d i n g g 7 2 3 1a r mp o r t i n g o p t i m i z a t i o n 第一章绪论 第一章绪论 1 1 引言 语音是人类进行交流的重要手段,通信系统中最常见的数据形式就是语音数 据。语音通信是人类通信最基本、最重要的方式之一。从2 0 世纪5 0 年代以来, 语音压缩编码技术得到了快速发展和广泛应用,在移动通信、卫星通信、多媒体 技术以及i p 电话通信等领域中起着举足轻重的作用。 语音压缩编码的目的是用尽可能低的码率获得尽可能高的合成语音质量,同 时又要求编码过程中的计算复杂度尽可能小。降低码率的实质就是压缩频带宽度, 提高信道容量,而码率低则意味着算法的复杂度增加、延时变大。语音压缩编码 算法的研究一直是在这个矛盾中不断向前发展。 多年来,语音编码一直是人们研究的热点问题。人们对语音信号的认识不断 深入,语音编码方案也在不断改进。语音压缩编码技术和相继出现的语音压缩标 准,为用户进行高质量的信息传输提供了有效方法。尽管有了丰富的标准,人们 对语音信号压缩的研究并没有止步不前,一方面人们仍然期望获得语音质量、编 码时延、比特率、编码复杂度的更高的平衡点,另一方面功能越来越强的硬件为 满足人们这种需求提供了可能。 在通信系统中,语音编码技术在很大程度上决定了语音质量和系统容量及其 相应的应用领域。从现代语音编码技术的发展来看,国内外的研究注意力一直集 中在进一步降低码率和提高其抗干扰、抗噪声能力,以期进一步提高系统利用率, 满足越来越多的用户需求。同时,性能优良的语音编码算法还必须是可实现和能 够应用的,所以语音编码算法的优化和平台移植是语音编码应用中一个有助于降 低终端成本的不可缺少重要环节。 随着计算机和芯片技术的迅猛发展,对语音信号压缩编码提出了越来越高的 迫切要求,同时也提供了效率不断提高的软、硬件实现手段。科技的日益发展使 得语音技术在新一代手机、p d a 、家庭网关、机顶盒、电脑电话等基于嵌入式系 统的应用越来越广。嵌入式系统是未来语音技术应用最为广泛的方向之一,所以 对嵌入式低速率语音编码系统的研究也具有重大的实用价值。 1 2 课题的研究意义 g 7 2 3 1 是i t u t 组织于1 9 9 6 年推出的一种低码率语音压缩编码算法标准,也 是目前该组织颁布的语音压缩编码标准中码率最低的个标准,适用于低速率多 媒体服务中语音或其它音频的压缩编码,主要应用在低码率的可视电话系统,目 2 g 7 2 3 1 算法a r m 平台移植与优化 前在一些数字音视频传输、高质量语音压缩等系统中都得到广泛应用。g 7 2 3 1 标 准能够将8 k h z 采样1 6 b i t 的线性p c m 语音信号压缩成6 3 k b p s 或者5 3 k b p s l 拘比特流, 压缩比可分别达到2 0 或2 4 。其中6 3 k b p s 的高码率能保证较好的语音质量,而5 3 k b p s 的低码率在保证一定质量的前提下,给系统设计者提供了更多的灵活性。这两种 码率可以在任意两帧的边界处进行速率切换,此外,该标准还提供对无声语音帧 的检测以及在无声时进行舒适噪声填充的功能。 在当前中、低码率的语音编码器中,g 7 2 3 1 因为具有码率低且音质好( 两种速 率的m o s 得分均为3 5 以上) 等特点,不仅用于基于p s t n 的h 3 2 4 可视电话系统中实 现语音的实时传输,而且也被广泛地用于基于i s d n 和l a n 的视频会议等系统中。 因此,对该算法的研究和实现有着重要的现实意义。 由于g 7 2 3 1 编码器采用了多种技术,如基于线性预测的合成分析法、感知加 权、谐波噪声整形、矢量量化、后滤波以及静音检测等来实现高效压缩和高质量 音质。因此,它的高质量和低码率,是以高复杂度的编码算法、较高的延迟以及 较大的存储空间换得的,这使得理论上性能良好的语音编码方案在实时实现或实 际应用中还存在许多困难。 从硬件平台的发展历史看,数字信号处理器d s p 在与语音编码相关的领域得到 了较好的应用。近年来,a r m 通用微处理器获得了迅猛的发展,低成本、易开发 的a r m 处理器已经开始受到广泛的关注,其高度集成的结构和先进的设计尤其适 用于各种初级消费类和工业电子产品1 2 】。此外,a r m 芯片具有良好的可控性、通 用性,同时又能和x 8 6 架构的p c 机一样安装流行的嵌入式操作系统。综合这些优 点,a r m 处理器在语音编解码处理方面必将占据重要的位置,在低功耗的a r m 芯 片上实现g 7 2 3 1 编解码算法具有非常重大的研究和商业意义。 鉴于a r m 处理器的诸多优点,利用性能较高的a r m 芯片实时实现o 7 2 3 1 编解 码算法逐渐变得可行。但是i t u t 提供的g 7 2 3 1 编解码算法复杂度非常高,事实证 明如果直接对它进行应用,根本达不到实时性编解码要求,这成为它的一个应用 瓶颈。所以,对i t u t 的g 7 2 3 1 编解码算法进行深度优化就显得十分必要了。本文 的研究目的就是对g 7 2 3 1 编解码器的定点算法基于a r m 9 处理器进行移植与优 化,使得最初运行速度很慢的代码经过优化之后效率得到极大改善,并使其最终 能够达到实时应用的市场需求。 1 3 本文的主要工作 本文首先对g 7 2 3 1 语音编解码算法原理进行了深入分析与研究,通过查阅大 量的相关文献和技术资料,对编码器和解码器中各主要模块的功能及实现技术进 行了分析,其中重点研究了编码器中的线性预测分析、基音预测和固定码本搜索 第一章绪论 等语音编码中的常用方法。这不仅有助于理解语音压缩编解码技术,而且对下一 步进行的算法优化工作打下了坚实的理论基础。 本文的工作重点在于将g 7 2 3 1 算法进行a r m 嵌入式平台的移植与优化。在进 行g 7 2 3 1 源程序向a d s 平台移植的工作中,着重介绍了移植的步骤和注意事项及 如何解决移植过程中出现的问题。然后利用a d s 的p r o f i l e 功能对源程序性能进行测 试与分析,从而找到了导致g 7 2 3 1 源程序运行效率低下的主要原因,并依此制定 优化的策略。 在优化的过程中,本文主要采用了这几种优化方法:算法优化、c 代码结构优 化和a r m 汇编优化。算法优化主要是针对编码器中开环基音周期估计和自适应码 本搜索这两个复杂度较高的模块进行的,提出了能够有效减少计算量的简便方法。 实验证明,通过算法优化不但提高了程序运行速度,语音质量也没有受到影响。 在c 代码结构优化中,本文从a r m 处理器的角度分析导致源程序运行速度慢的原 因,然后分别从循环优化、函数优化及其它一些方法入手进行优化,从优化结果 来看,这一阶段的优化效果最为显著。最后进行的汇编级优化是在a r m 处理器上 进行优化经常采用的一种方法,它是在充分理解a r m 体系结构及汇编程序设计的 基础上进行的。我们使用了内嵌汇编和纯汇编两种方式,针对的是程序中一些频 繁调用的函数和复杂度较高的函数,事实证明这一阶段的优化工作对整个程序的 性能提高也起到了很大的作用。 最后,我们对优化结果进行了测试与性能分析,通过将优化前后的g 7 2 3 1 编 解码算法性能参数进行对比,优化后的编码器效率较优化前提升了8 0 以上,优化 后的解码器效率较优化前提升了6 0 以上。使得优化后的算法完全能够满足实时语 音通信的需求,这对于g 7 2 3 1 的实用化打下了牢靠的基础。 1 4 论文的结构安排 根据所完成的工作,本论文的结构安排如下: 第一章:绪论。综合阐述了语音编解码的发展状况,提出本文的研究目的与 意义,并简要介绍了本论文的主要工作内容。 第二章:g 7 2 3 1 语音编解码器算法原理分析。首先对语音产生的数字模型及 c e l p ( c o d ee x c i t e dl i n e a rp r e d i c t i o n ,码激励线性预测) 编码技术作了概述, 然后在此基础上对g 7 2 3 1 编码器的算法原理和各主要模块的功能及实现方法都做 了详尽的阐述,最后简要介绍了解码器的工作原理。 第三章:g 7 2 3 1 算法基于a r m 平台的移植与优化。在对a i m 处理器作了简要 介绍之后,将程序向a d s 平台移植过程中的方法及注意事项进行了说明,然后重 点论述了本论文中使用到的各种优化方法,包括算法优化、c 代码结构优化及a r m 4 g 7 2 3 1 算法a r m 平台移植与优化 汇编优化。 第四章:优化结果与性能分析。对优化前后的g 7 2 3 1 编解码算法的性能进行 对比,并对优化后的算法整体性能进行了分析与评估。 第五章:结论与下一步工作。对本文所做的主要工作进行总结,并提出下一 步改进工作的努力方向。 第二章g 7 2 3 1 语音编解码算法研究 5 第二章g 7 2 3 1 语音编解码算法研究 本章是对g 7 2 3 1 语音编解码算法原理的理论研究。首先介绍了语音压缩编码 技术的相关知识,包括语音信号产生的数字模型、c e l p 编码技术及衡量语音编解 码性能的几个主要因素。然后分别阐述了g 7 2 3 1 语音编码和解码的算法原理,对 编码器中重要模块的实现技术进行了具体研究。本章第二节和第三节内容的根据 是:i t u tg 7 2 3 1 的描述文档【3 】和i t u tg 7 2 3 1a n n e xa 定点源程序【4 j 及a n n e xb 浮点源程序f 5 j o 在描述算法原理的时候将尽量不涉及c 代码中的具体内容,这样能 在不阅读c 代码的情况下了解g 7 2 3 1 的实现过程。 2 1 语音压缩编码的理论基础 在研究g 7 2 3 1 语音编解码原理之前,有必要了解一些关于语音信号特性的相 关知识,在此基础上建立既实用又便于分析的语音信号产生模型,它们是贯穿整 个语音编码的基础。 2 1 1 语音信号产生的数字模型 人类的语音是由人体的发声器官在大脑控制下的生理运动产生的。人体的发 声器官由肺和气管、喉( 包括声带) 、声道三部分组成1 6 j 。语音是由从肺中呼出的 气流激励声带和声道,最后从嘴唇或鼻孔辐射出来而产生的。这种激励产生一系 列幅度变化的波形,这些波形粗略的分为浊音和清音。浊音是由肺部排出的气流 经过绷紧的声带时,产生张弛振动,即声带周期性的开启和闭合而产生的。这个 振动的频率就是基音频率,因为声带的形状、绷紧度以及通过的气流不同,基音 频率在5 0 - - - 6 0 0 h z 之间变化。清音是由类似噪声的激励产生的,当气流高速通过由 咽管和口腔形成的狭窄通道时,在附近产生一段湍流,湍流通过声道就形成了清 音。 所以说,语音是由一系列周期性脉冲和随机噪声组成,其中浊音表现为周期 性,清音表现为类噪声特性。声音经过激励产生后,沿着声道传输,不同的声道 形状形成不同的语音。因此,语音信号的频谱特性是时变的,随着声道形状的变 化而变化。在5 2 0 m s 的范围内,通常认为语音信号是类似平稳的,语音的统计特 性和频谱特性是基于很短的时问定义的。所以,对于语音信号的分析和处理必须 建立在“短时”的基础上,即进行“短时分析”,将语音信号分段来分析其特征 参数,其中每一段称为一帧,帧长一般取为1 0 - 3 0 m s l ,j 。 在研究了发声器官和语音的信号特征以后,便可以建立一个时域语音信号产 6 g 7 2 3 1 算法a r m 平台移植与优化 生模型,即根据语音的产生过程建立一个既实用又便于分析的语音信号模型。利 用数字技术来模拟语音信号产生的模型,称为语音信号的数字模型,或者说,利 用数字信号处理技术来实现发音器官的模拟。发音器官能发出一系列声波,那么 数字模型就能产生与此声波相对应的信号序列。这种模拟是一种线性系统,它的 一组参数选定之后就可以使得系统的输出具有所希望的语音性质。为了便于处理 和实现,这个模型应尽可能地简单。对于进一步的各项研究以及各种具体应用, 这个模型是非常重要的。 图2 1 给出了一个语音信号产生的数字模型。其中,激励源由浊音和清音组成, 浊音信号由一个脉冲串产生器来生成,清音信号由一个随机噪声产生器来生成, 时变数字滤波器用来模拟声道参数。浊音和清音信号乘以它们的增益参数之后通 过时变数字滤波器就能合成语音信号。此外,语音信号之所以可以用这个模型产 生的原因是,语音信号除了相邻样点之间具有很强的相关性之外,还存在长时相 关,具有周期重复性。模型中的激励源就是模拟语音的长时相关性,而声道参数 就是提取出来的语音的短时相关,用来恢复语音频谱包络。数字语音处理中的语 音分析和语音合成都是基于这个模型来实现的。 基音周期 2 1 2c e l p 编码模型 图2 1 语音产生的数字模型 c e l p 是基于上一节语音信号产生的数字模型实现语音编码的。c e l p 不是单指 某种编码标准或算法,而是针对一类采用线性预测、分析一合成和矢量量化技术的 编码器的统称蝎j 。它是一种在中低速率( 4 1 6 k b p s ) 上被广泛使用的语音压缩编码 方案,具有很清晰的语音品质和很高的背景噪音免疫性,是近1 0 年来最成功的语 音编码方案。许多国际标准化组织及机构纷纷将这一编码方案作为语音编码标准, o 口i t u - t 的g 7 2 8 、g 7 2 9 、g 7 2 3 1 、g 7 2 2 2 以及移动通信中的a m r 、s m v 等都是 以c e l p 为基础进行编码的【9 1 。 c e l p 融合了分析合成、感知加权、矢量量化和线性预测等技术而构成一个闭 第二章g 7 2 3 1 语音编解码算法研究 环、综合、高效的语音编码系统。c e l p 一般采取分帧技术进行编码,帧长为2 0 3 0 m s ,每一语音帧会被分成2 - - 5 个子帧,在每个子帧内搜索最佳的码字矢量作为 激励信号。 c e l p 编码流程框图如图2 2 所示。编码器大致可以分为三部分:时变滤波器、 激励信号和均方误差最小化程序。时变滤波器通常由两个线性预测器构成:线性 预测短时预测器和基音长时预测器。线性预测短时预测器去除语音样点之间的短 时相关性,而基音长时预测器去除语音样点之间的长时相关性。激励信号用来模 拟语音中的清音和浊音成分,对于浊音信号,激励是以基音周期进行重复的单位 脉冲序列,通过自适应码本搜索得到;对于清音信号,激励近似于平稳白噪声, 通过固定码本搜索来得到。从两个码本中搜索出的最佳码矢量,乘以各自的最佳 增益后再相加,其和即为c e l p 的激励源。c e l p 用感知加权的m s p e ( m i n i m u m s q u a r e dp r e d i c t i o ne r r o r ,最小均方预测误差) 作为搜索最佳码矢量及其增益的度 量准则,使感知加权均方误差最小的码矢量即为最佳码矢量。 图2 2 c e l p 编码原理图 2 1 3 语音编解码算法的性能评价 对语音编解码器的性能评价方法是一个重要的研究课题,其本身不是语音编 码问题,但是和语音编码密切相关。评价语音编解码器的性能好坏,需要进行多 种指标的测试和评估,目前还没有十分统一的标准,但普遍认为应该至少考虑编 码速率、编码质量、编解码复杂度和编解码延时这四个因素。语音压缩编码的基 本问题,就是在给定编码速率的条件下,如何能得到尽量好的重建语音质量,同 时应保证尽量小的编解码延时和算法复杂度。换个角度也可以说,在给定编码质 量、编解码延时及算法复杂度的条件下,如何降低语音编码所需的比特率,且抗 二f 扰能力强。这四个因素之间有着密切的联系,并且在不同的应用中对各因素的 侧重要求也有所不同,实际中的编码器是基于上述要求并结合实际应用作了较好 g 7 2 3 1 算法a r m 平台移植与优化 折衷。 ( 1 ) 编码速率。它是语音编码器最直接的参数,反映了编码器的有效性。编 码速率表征编码的总速率,可以用“比特秒( b p s ) 来度量,其大小与采样率和每 个样点编码的位数有关。它与重建语音质量相互矛盾,即编码速率越高,语音波 形或参数量化就越精细,语音质量越好,但对传输带宽或存储容量的要求越高; 相反,编码速率越低,对传输带宽或存储容量的要求越低,但语音质量越差。因 此,一般在选择编码器时要对语音质量和编码速率这两个重要因素进行折衷处理。 ( 2 ) 编码质量。它是衡量语音编码算法优劣的关键指标之一,反映了编码器 的可靠性。它包括清晰度( 又称可懂度) 和自然度两个方面,前者是衡量语音中的 字、词和句子的可懂程度,后者则是对讲话人的辨别。通常对编码质量有两类评 定方法:主观评定方法和客观评定方法。 主观评定方法符合人类听话时对语音质量的感受,目前得到了广泛的应用。 最常用的主观评定方法为m o s 得分( m e a no p i n i o ns c o r e ,平均意见得分) 【l ,m o s 得分采用五级评分标准,具体的评分标准如表2 1 所示。 表2 1m o s 评分标准 级别m o s 值用户满意度 优 4 o 5 0很好,听得清楚,延迟很小,交流顺畅。 良3 5 - - - 4 0稍差,听得清楚,延迟小,交流欠缺顺畅,有点杂音。 中3 o 3 5还可以,听不太清,有一定延迟,可以交流。 差1 5 - - 3 0勉强,听不太清,延迟较大,交流重复多次。 劣 0 1 5极差,听不懂,延迟大,交流不通畅。 在数字语音通信中,通常认为m o s 分达到4 0 - - - 4 5 分为高质量语音,满足长途 电话网的质量要求,接近于透明信道编码,常称之为网络质量;m o s 分3 5 左右称 作通信质量,这时能感到重建语音质量有所下降,但不妨碍j 下常通话,可以满足 多数话音通信系统的使用要求。m o s 分在3 0 以下常称作合成语音质量,系指一些 声码器合成语音所能达到的质量,一般具有足够高的可懂度,但自然度及讲话人 的确认等方面不够好。 在实验中我们通常采用p e s q ( p e r c e p t u a le v a l u a t i o no fs p e e c hq u a l i t y ) 算法得 出的m o s 分值对语音编解码器的质量进行度量。p e s q 是i t u 组织在2 0 0 1 年2 月发布的一个新的语音传输质量测量标型。p e s q 可以根据一些感知标准来客观 地评价语音质量,从而提供可以完全量化的语音质量衡量方法,而这些衡量标准 又是与人类对语音质量的感受完全吻合的。p e s q 把通过编解码输出的信号与参 第二章g 7 2 3 1 语音编解码算法研究 9 照信号进行比较计算出差异值,一般情况下,输出信号和参照信号的差异性越大, 计算出的m o s 参数值就越低。实验证明其计算结果和主观评分结果是基本一致的。 ( 3 ) 编解码复杂度。它同语音的编码质量有着密切的关系,在同样速率下, 采用复杂度高的算法会获得更高的语音质量。换句话说,对于相同的语音质量, 采用复杂一些的算法能够降低编码速率。编解码复杂度代表了实现该语音编解码 算法的软硬件代价,它将决定硬件实现的复杂程度、体积、功耗以及成本等,太 高的复杂度可能会使该算法在现有的硬件条件下无法实时实现。 ( 4 ) 编解码延时。编解码延时般用单次编解码所需的时间来表示。在数字 语音通信系统中,语音编解码延时像线路传输延时一样对通信质量有很大影响。 但不同的通信系统中对该项性能的要求不同,一般对于公众电话网要求单次语音 编解码延时不超过5 1 0 m s ,而对于i p 电话、卫星通信等应用,对相应语音编码算 法的延时要求则要低得多。 以上四个因素密切联系,相互制约,在实际中应根据不同的应用场合侧重不 同的因素,而其它因素可以适当放宽要求。语音编码的各种国际标准集中反映了 语音编码技术发展的水平,标准的制定则是根据应用背景,对编码质量、编码速 率、编解码延时及算法复杂度等四个因素进行综合权衡而做出的最优选择,以期 在实际应用中获得最佳效益。 一 表2 2 y l j 出了一些主要的国际语音编解码标准以及它们的性能参数【l2 1 。 表2 2 语音编码标准参数比较 标准编码类型 比特率k b p s m o s复杂度时延r r r s g 7 1 1p c m6 44 3lo 1 2 5 g 7 2 6a d p c m 3 24 01 00 1 2 5 a c e l p5 33 6 g 7 2 3 12 53 7 5 m p m l q 6 33 8 o 7 2 8 l d c e l p1 64 o5 00 6 2 5 g 7 2 9c s a c e l p 84 05 01 5 g s m r a e l p t1 33 7 52 0 从表2 2 中我们可以看出,本文所采用的g 7 2 3 1 编码器的速率是是最低的,算 法的复杂度处于相对较高水平,编解码质量也满足长途话音质量的标准,两种速 率下的m o s 值均可以达n 3 5 分以上,但是不足之处是其编码时延较大。我们可以 认为,g 7 2 3 1 语音编解码器是在比特率、复杂度、语音质量和编码时延几个方面 较为折衷的一种编码方法。 1 0 g 7 2 3 1 算法a r m 平台移植与优化 2 2g 7 2 3 1 编码器算法原理 g 7 2 3 1 语音压缩编解码标准采用了c e l p 编码模式,具有参数编码和波形编码 的优点,它能在5 3 k b p s 和6 3 k b p s 两种低码率上提供高质量的合成语音。在高速率 模式下( 6 3 k b p s ) ,编码器的激励信号采用m p m l q ( m u l t i p u l s em a x i m u m l i k e h o o d q u a n t i z a t i o n ,多脉冲最大似然量化) 方法,在低速率模式下( 5 3 k b p s ) ,编码器 的激励信号采用a c e l p ( a l g e b r a i cc o d e b o o ke x c i t e dl i n e a rp r e d i c t i o n ,代数码本 激励线性预测) 方法。此建议标准同样能够对音乐和其它音频信号进行压缩和解 压缩,但是处理效果不如语音。 2 2 1 编码器原理概述 g 7 2 3 1 标准是根据c e l p 编码模型对语音信号进行编码的。编码器原理框图见 图2 3 所示。 p c m 信号 图2 3g 7 2 3 1 编码器原理框图 输入信号是经8 k h z 采样的16 b i t 线性p c m 数字信号,为了降低码率,g 7 2 3 1 采 用了较长的尺寸,每帧2 4 0 个样点,耳 1 3 0 毫秒帧长。每帧语音信号首先经一阶高通 滤波器滤除语音数据中的直流成分,进一步每一帧又被平均分成4 个子帧,每个子 帧有6 0 个样点。 每帧的语音数据独立进行十阶l p c 线性预测分析,计算出l p c 系数,为了提高 第二章g 7 2 3 1 语音编解码算法研究 l p c 系数的连续性,采用了长度为1 8 0 个样点的重叠窗,即同时包含前后两个子帧, 这使算法引入了6 0 个样点的超前时延,因此算法的总时延为3 7 5 毫秒。为了降低编 码速率,只将每一帧内最后一个子帧的l p c 系数转换成l s p ( l i n es p e c t r u mp a i r , 线谱对) 参数,并用预测分裂矢量量化器对l s p 参数进行量化。为了提高量化感知 质量,利用每一子帧未量化的l p c 系数构建短时感知加权滤波器,对经过高通滤波 的语音进行共振峰感知加权滤波,信号通过该滤波器之后得到感知加权语音信号。 对每两个子帧,用感知加权语音信号计算开环基音周期( 基音搜索范围是1 8 - - - 1 4 2 样点) 。然后利用开环基音周期构造谐波噪声整形滤波器,并与l p c 合成滤波器和 共振峰感知加权滤波器一起构建一个联合滤波器,计算出该联合滤波器的冲激响 应和零输入响应。利用开环基音周期和冲激响应,在丌环基音周期附近的小范围 内进行闭环基音预测,搜索闭环基音周期和预测增益,这里采用了五阶长时预测 滤波器,预测增益采用矢量量化。偶子帧的基音周期用7 b i t 编码,奇子帧的基音周 期用2 b i t 差分编码。用长时预测滤波器对自适应码本进行计算得到长时贡献,从目 标信号中减去长时贡献得到残差信号。最后用冲激响应和残差信号对激励信号中 的非周期脉冲成分进行固定码本搜索,高码率时对激励信号采用m p m l q ,低速 率时采用a c e l p 。最后,将l s p 参数、基音参数和激励参数等进行比特流封装并传 送给解码器端。 g 7 2 3 1 在编码时对不同的模块采取不同的处理方式,有基于整帧的处理,也 有基于子帧的处理,下面对这两种处理方式下编码器的工作原理作详细介绍。 2 2 2 整帧处理 ( 1 ) 高通滤波 每帧语音信号在进入编码器以前,首先进行高通滤波处理。高通滤波器是一 个截止频率为1 2 8 h z 的一阶i i r 滤波器,用以滤除语音中的低频和直流分量,滤波 器的传输函数为: 酢) = 磐s l z = 南 ( 2 - , j l 二 1 2 8 在程序中,通过调用u t i l _ l b c c 中r e m _ d c ( ) 函数实现高通滤波。 ( 2 ) 加窗年i i l p c 系数计算 在计算l p c 系数之前,需要对语音信号进行预处理,以利于l p c 系数的计算。 首先,将高通滤波后的2 4 0 个点x ( ,7 ) ,刀= 0 ,l ,2 3 9 进行加窗,此处采用汉明窗进行 相乘加权,窗长为1 8 0 个样点,加在每一子帧的中心。 然后,对加窗之后的信号求r o - - 一r i o 共1 1 个自相关系数,为了展宽频带, g 7 2 3 i 算法a r m 平台移植与优化 增加信噪比,需要对自相关系数进行加权处理。对于r o ,要乘以一个白噪声修正 系数1 0 2 5 1 0 2 4 进行修正,即:r o = r o ( i + i 1 0 2 4 ) 。其余1 0 个自相关系数均用一 个二项式窗口系数表中的数据进行修正。最后,利用修正后的自相关系数,对每 个子帧采用传统的l e v i n s o n d u r b i n 递归算澍1 3 j 求出1 0 个l p c 系数。每个输入帧有4 个子帧,所以计算出4 组l p c 系数,这4 组l p c 系数用来构建短时感知加权滤波器 彬( z ) 和l p c 合成滤波器4 ,( z ) 。其中,爿,( z ) 定义如下: 4 ( z ) = ,o i 3 ( 2 2 ) 1 一q ,z = l 其中,f 代表子帧编号,a j ,代表第f 子帧的第,个l p c 系数。 在程序中:该部分的功能通过调用l p c c 中的函数c o m p _ l p c ( ) 和d u r b i n 0 来实 现。 ( 3 ) l s p 量化器 由于l p c 系数动态范围太大,量化误差及传输中导致的误差极容易使合成滤波 器不稳定。因此,在求得l p c 系数后,往往还要将其转换为在数学意义上与之完全 等价的,代表语音短时频谱特性的l s p 参数后再进行量化。l s p 参数具有非常好的 量化和内插特性,可以保证从量化后的l s p 参数获得的l p c 合成滤波器稳定。 为减少编码参数,每帧只对最后一个子帧的l p c 系数进行量化,即只计算第四 子帧的l s p 参数,其它子帧的l s p 参数利用帧间相关性通过线性插值得到。在计算 l s p 参数前,首先对第四子帧的l p c 系数乘以一个频带展宽系数,取代原来的系数, 实现7 5 h z 的频带扩展,这样有利于基音周期估计和l s p 参数的量化。然后,通过 在单位圆上搜索和过零点插值的方法【1 4 1 ,将每个子帧的1 0 个l p c 系数转换成1 0 个 l s p 参数。 为了获得高质量的合成语音,在数码率只有5 3 b p s 或6 3 b p s 的情况下,必须对 l s p 参数采用高效率的量化方法,目的是节省出比特来保证激励码本的尺寸足够 大。由于矢量量化比标量量化的效率更高,所以对l s p 参数采用矢量量化的方法, g 7 2 3 1 采用了一种2 4 b i t 的分裂矢量量化算法。其具体方法是将1 0 维的l s p 矢量分 裂成三个维数分别是3 、3 、4 的子矢量,对每个子矢量分别进行8 b i t 的矢量量化, 这样操作的结果就是,无论是码本容量还是计算量都是可以接受的。采用预测分 裂矢量量化的压缩效果:原来每一帧要传输1 6 b i t x l 0 = 1 6 0 b i t ,现在三组向量只需要 传输8 b i t x 3 = 2 4 b i t 。可见,这种量化方法取得了比非均匀标量量化法高得多的量化 效率。 。 在程序实现中,调用l s p c 中的a t o l s p 0 函数完成l p c 系数至i j l s p 系数的转换, 调用l s p q n t o 函数完成l s p 矢量的量化。 第二章g 7 2 3 1 语音编解码算法研究 ( 4 ) l s p 参数解码和插值 l s p 解码不仅存在于解码器端,在编码端也要进行l s p 解码,这是为了给l s p 的量化提供参数。l s p 解码的任务就是从l s p 量化索引得到解码后的l s p 矢量。 由于g 7 2 3 1 在编码时仅对第四子帧的l p c 系数进行了l s p 参数的转化、量 化和传输,编码端并没有将其它子帧的l s p 参数传输给解码端,所以在解码器中 必须用一种方法计算出其它几个子帧的l s p 参数。此外,在编码端还要用四个子 帧量化的l p c 系数来构建l p c 综合滤波器,所以也需要从第四子帧的l s p 参数求 出前三子帧的l s p 参数。这里使用的方法是线性内插1 5 】,利用线性内插得到四个 l s p 矢量,再分别转化成四个l p c 向量a = 0 ,1 ,2 ,3 ) ,并用它们构建量化的l p c 合成滤波器彳,( z ) : 1 a ,( z ) = 万 ,0 f 3( 2 3 ) l y 儡,z - 7 _ _ y = i 在程序实现中,调用l s p c 中的l s p _ i n q ( ) 函数完成对l s p 参数的解码;l s p _ i n t ( ) 函数实现l s p 参数的插值,l s p t o a ( ) 函数实现l s p 参数到l p c 系数的转换。 ( 5 ) 共振峰感知加权滤波 共振峰感知加权滤波的依据是人耳听觉的掩蔽效应,在语音频谱中,能量较 高的频段即共振峰处的噪声相对于能量较低频段的噪声而言不易被感知。因此在 度量原始语音与合成语音之间的误差时可以计入这一因素,在语音能量高的频段, 允许二者的误差大一些,反之则小一些。共振峰感知加权滤波器的作用就是使实 际误差信号的谱不再平坦,而是有着与语音信号谱类似的包络形状,这就使误差 度量的优化过程与感觉上的共振峰对误差的掩蔽效应相吻合,产生较好的主观听 觉效果。 为每个子帧构建一个共振峰感知加权滤波器,它是根据未量化的l p c 系数( 量 化的l p c 系数是指用解码得到的l s p 反求l p c 参数得到的l p c 参数) 和加权因 子,来确定。该滤波器的传递函数由式( 2 4 ) 给出。其中的参数和_ 决定了滤波 器的频率响应,在g 7 2 3 1 算法中,给定= 0 9 ,r 2 = o 5 。输入语音信号 石( ,2 ) = o ,l ,2 3 9 ) 的每个子帧分别用彬( z ) 滤波后得到加权语音信号 k ( ,2 ) ( 玎= 0 ,l ,2 3 9 ) 。 1 0 l 一q ,j z 叫 形( z ) = ,0 i 3 ( 2 4 ) 1 4 g 7 2 3 1 算法a r m 平台移植与优化 在程序实现中,调用l p c c 中的w g h t _ l p c o 和e r r o r _ w g h t ( ) i 函数完成共振峰感 知加权滤波。 ( 6 ) 开环基音周期估计 为减小自适应码本搜索的复杂度,g 7 2 3 1 采用这样的策略:即先通过开环基 音周期估计对语音的基音周期范围进行粗略确定,得到开环基音周期,将基音 搜索范围限制在附近,然后围绕k 进行闭环基音估计,以确定最佳自适应码 本延时。 语音信号的基音频率因人而异,通常限制在5 0 4 0 0 h z 范围内,当采用8 k h z 采样时,基音周期的取值范围相应为2 0 1 6 0 。g 7 2 3 1 语音编码建议中基音周期的 搜索范围选定为1 8 - - - - 1 4 2 。由于帧周期较长( 3 0 m s ) 和基音搜索所需计算量大,开 环基音周期估计对每一帧计算两次基音周期,前两个子帧和后两个子帧分别计算 一次。一 计算开环基音周期的方法如下:利用前面得到的感知加权语音信号x 。( ,2 ) ,求 其互相关系数,利用互相关最
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 东海杯考试题及答案
- 电大商法考试题及答案
- 团队沟通与协作能力提升培训工具
- 《光学现象与应用:光的折射与反射教案》
- 信息安全防护措施执行模板
- 乡村振兴护理员考试题库及答案
- 大学vb考试题及答案
- 学术研究诚信保障责任书9篇范文
- 数据分析基础模型及处理流程模板
- 旅游景点综合评价报告表
- 2025全国科普日科普知识竞赛题库及答案
- 2025企业劳动合同范本新版
- 舞蹈老师自我介绍课件
- 2025年吉林省教育系统校级后备干部选拔考试题及答案
- 社区安全知识培训资料课件
- 徐学义基础地质调查课件
- 2025主题教育应知应会知识题库及答案
- 无人机航空安全知识培训课件
- 警用侦查无人机在侦查行动中的应用分析报告
- 2024年春季云南省高中学业水平合格性考试化学试卷真题(含答案)
- 2025年秋招:招商银行笔试真题及答案(可下载)
评论
0/150
提交评论