(计算机软件与理论专业论文)acelp在risc处理器的移植与优化.pdf_第1页
(计算机软件与理论专业论文)acelp在risc处理器的移植与优化.pdf_第2页
(计算机软件与理论专业论文)acelp在risc处理器的移植与优化.pdf_第3页
(计算机软件与理论专业论文)acelp在risc处理器的移植与优化.pdf_第4页
(计算机软件与理论专业论文)acelp在risc处理器的移植与优化.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

(计算机软件与理论专业论文)acelp在risc处理器的移植与优化.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

论文独创性声明 本论文是我个人在导师指导下进行的研究工作及取得的研究成果。论文中除 了特别加以标注和致谢的地方外,不包含其他人或其它机构已经发表或撰写过的 研究成果。其他同志对本研究的启发和所做的贡献均已在论文中作了明确的声明 并表示了谢意。 名:舭 论文使用授权声明 日期:2 竺z :! ! 兰 本人完全了解复旦大学有关保留、使用学位论文的规定,即:学校有权保留 送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内 容,可以采用影印、缩印或其它复制手段保存论文。保密的论文在解密后遵守此 规定。 各触燃轹婵嗍掣 摘要 当前,数字语音压缩技术在通信领域中获取越来越广泛应用,v o i c eo v e r i p ( v o l p ) 技术正在不断普及,中低速率( 1 6 k b p s 以下) 的高质量的语音编码的需求 越来越迫切,i t u - t ( 国际电信联盟标准化部门) 提出了g 7 2 3 1 和g 7 2 9 等多种低 码率语音压缩标准。其中,g 7 2 3 1 是一种双速率的低码率编码算法,它能够在 5 3 k b p s 和6 3 k b p s 的速率下给出较高质量的语音编码。 同时,2 0 世纪8 0 年代以来,芯片处理能力也得到了飞速发展,这就使得在 单芯片上实时实现较高复杂度的低码率语音压缩算法成为可能。随着v o l p 技术 的不断发展,要求产品的集成度与性能进一步提高,对处理器芯片数量需要越来 越大,如何利用新一代高性能r i s c 芯片,实现在单片r i s c 处理某一标准的输 入语音信号,以节约使用d s p 芯片的成本,是今后的发展趋势和研究方向。 本文首先介绍了语音编码实现领域发展状况,然后对d s p 平台上实现语音 标准进行了较为详细的研究和阐述,最后给出了基于r i s c 处理器平台上语音标 准的一个系统实现,内容主要包括: 1 简单介绍语音编码实现领域目前主要研究内容、理论进展与实现方法; 2 介绍i t u t 标准组织并详细比较其所推出的两种低码率语音编解码标 准,从中选取一种用于实现; 3 简要介绍g 7 2 3 1 的编解码流程及砌s c 处理器平台w b 3 3 的搭建与开发 调试; 4 从算法,数据结构,类d s p 核指令实现等三个方面改进了g 7 2 3 1 标准 低速率下解码程序,降低程序复杂度,以其符合实时性能需求,成为r i s c 处理 器平台实现语音编解码标准的一个成功案例。 5 总结本文优点及不足之处,并指出本领域发展趋势及迸一步研究的内容。 关键词:g 7 2 3 1a c e l pr i s c 处理器移植实时性能优化 a b s t r a c t r e c e n t l ya sd i g i t a ls p e e c hc o m p r e s st e c h n o l o g y sw i d e s p r e a da p p l i c a t i o n si nt h e t e l e c o m m u n i c a t i o na r e a , v o i c eo v e ri p ( v o l p ) b e c o m e sm o r ea n dm o r ep o p u l a r t h e r ei sag r e e d y n e e do nh i g hq u a l i t yl o w - r a t es p e e c hc o d e r t h u si t u _ tp u b l i s h e dk i n d so f r e c o m m e n d a t i o n s s u c h s i sg 7 2 3 1a n dg 7 2 9 ,e t c ,a m o n gt h e s er e c o m m e n d a t i o n s ,g 7 2 3 1i sah i g h - q u a l i t yd u a lr a t e s p e e c hc o d e rf o rm u l t i m e d i ac o m m u n i c a t i o n st r a n s m i t t i n ga t5 3a n d6 3k b i t s o nt h es a m et i m e , t h ea b i l i t y o f c h i p p r o c e s s o r g r o w s u p a s f a s t a f t e r1 9 9 0 s a l l t h e s e p r o v i d e a p o s s i b i l i t y t o i m p l e m e n th i g h - c o m p l e x i t yl o w r a t ec o d e r0 ns i n g l ec h i p t h eg r o w n u po f t h ev o wr e q u i r e s i m p r o v e m e n to f t h ep r o d u c t si n t e g r a t i o na n dp e r f o r m a n c e i th a sg r e a tn e e do np r o c e s s i n gc h i p s i f w ec a ni m p l e m e n ts o m es p e e c hc o d e ro ns i n g l en e w g e n e r a t i o na n dc h e a pr i s cc h i pi np l a c eo f d s pc h i p ,w ew i l lc u tt h ee x p e n s i v ec o s to f d s pc h i p s t h i sp r e s u m p t i o nw i l lb et h et r e n da n dt h e f o c u so f r e s e a r c h e s f i r s t ,t h i sa r t i c l ei n t r o d u c e st h ep r o g r e s so f s p e e c hc o d e r s s e c o n di te x p l a i n sh o w t o i m p l e m e n ts p e e c hc o d e r so i ld s pc h i p si nd e t a i l s a tl a s t ,i to f f e r sa l li m p l e m e n t a t i o no f t h e g 7 2 3 1s p e e c hc o d e ro nr i s cp l a t f o r m ,i ti n c l u d e s : 1 i ti n t r o d u c e sr e s e a r c h ,p r o g r e s sa n di m p l e m e n t a t i o n so fs p e e c hc o d e r ; 2 i ti n t r o d u c e st h e1 1 u ta n dt h et w ol o w - r a t es p e e c hc o d e r sb yi t u t : 3 i tp r e s e n t st h es k e l e t o n ys t e p so f c o d e ra n dd e c o d e ro f g 7 2 3 1a n dw b 3 3 ,t h ei n t e g r a t e d d e v e l o p m e n te n v i r o n m e n tf o rs 1 c 3 3 ; 4 i ti m p r o v e st h el o w - r a t ed e c o d e ro f g 7 2 3 1f r o mt h r e ed i f f e r e n ta r e a s ,s u c ha sa l g o r i t h m , d a t as t r u c t u r e ,a n dt h ei m p l e m e n t a t i o no f d s p 1 i k ei n s t r u c t i o n s i tl o w e r st h ec o m p l e x i t yo f t h e p r o g r a m t om a k eu pf o rt h er e a l - t i m ep e r f o r m a n c e i ti st h ef i r s ts u c e e s s f u lc a s eo f s p e e c h c o d e ro n r i s cp l a t f o r m ; 5 i ts u r f l $ u pt h ea d v a n t a g e sa n dd i s a d v a n t a g e so f t h i sa r t i c l ea n dp o i n t so u th o wt oi m p r o v ei t k e y w o r d :g 7 2 3 1a c e l pt r a n s p o r t a t i o n t or i s cp l a t f o r mo p t i m i z a t i o no f r e a l - t i m e p e r f o r m a n c e ,5 第一章前言 利用嵌入式处理器实现语音编解码核是当前嵌入式计算机技术研究和应用的热点之一, 目前实现平台大多数都是d s p 处理器芯片,而利用低成本的r i s c 处理器芯片实现目前还少 有人问津。本章首先分析本论文课题的研究背景和意义,然后介绍国内外在利用d s p 处理器 实现语音编解码器方面的研究及应用情况。最后简要介绍论文的组成及主要内容。 1 1 研究意义与背景 语音编码是实现语音数字化传输的存贮的基础,近十年来,随着i n t e m e t 网络技术的发展 和i p 电话、实时语音聊天等应用的需要,语音编码技术得到了迅猛发展,对语音编码算法在 语音合成质量、算法延时和编码速率上都有很高的要求。由于中低速率语音编码对灵活实现 和保证各种信号的综合处理与传播非常必要,其编码标准不断提出,具有代表性的是g 7 2 9 、 g 7 2 3 。1 等建议。 g 7 2 3 1 是h 3 2 4 中用于语音和其它声音信号的双速率编解码算法建议,有5 3 k b p s 和 6 3 k b p s 两种编码速率,其中低速率编码器使用代数码本激励线性预测方法,即a c e l p 。 由于存在巨大的应用需求,1 2 7 2 3 1 的优化一直是语音编码方面的研究重点之一。在算法 优化方面,主要考虑的是对计算复杂度比较大的模块进行优化,如基音估计,自适应码本搜 索,固定码本搜索,增益因子计算等模块;在移植和实现方面,主要是将g 7 2 3 1 在d s p 处 理器上实现,充分利用其数字信号处理功能进行优化,以保障实时性能要求。 但是,由于d s p 处理器在成本功耗等方面的限制,许多嵌入式系统设计并不具备d s p 处理器核这样的计算资源,实时性地实现这类语音编码算法就存在问题,影响了其应用面, 这也是许多中低端多嵌入式系统设计领域仍然在沿用一些低效率编译码方法的重要原因之 一。因此,以实时方式在普通r i s c 处理机上实现这类语音编码算法具有重要的意义。 目前,g 7 2 3 1 的实现大多基于d s p 芯片;而在低功耗,低成本的r i s c 处理器上实现的 研究还不多,没有成功的经验可以借鉴。而r i s c 处理器具有低成本,产量大等性质,一旦 在r i s c 处理器重新设计实现成功,可以迅速推广市场,具有广阔的发展前景。 本文将考虑在i t u tg 7 2 3 1 中采用a c e l p 方法的低速率( 5 3 k b p s ) 编解码器,在 g 7 2 3 1 标准的定点算法基础上进行重设计,在时钟频率6 0 m h z 的典型r i s c 处理器上进行实 时性实验研究。从a c e l p 的关键模块进行算法的分析和优化,同时还根据处理器的特性开 发出类d s p 指令的i p 核模块,使其效率最终达到了市场应用的要求。 1 2 国内外研究现状 目前,在语音处理领域所做的研究主要有两个,一个是对语音处理标准所采纳的算法进 行优化和调整,降低处理时的复杂度,另一个是利用d s p 芯片本身的特性使用汇编语言改写 语音处理程序的核心代码。 在算法改进方面,文献【1 3 】详细介绍了一种快速码本搜索方法,通过提高闭环基音预测 和增益因子计算来加快码本搜索,降低了计算时的复杂度。文献 1 4 1 贝j j 介绍了一种多阶段码 本搜索方法,降低了搜索时所需要处理的码本范围,使得每子帧搜索在原来的基础上减低为 1 3 ,并介绍一种有效实现这种码本搜索的方法。 在语音标准实现方面,文献【1 5 】不仅给出在d s p 芯片上c 语言层级和汇编语言层级上如 何优化实现,给出了验证方法,还提出了一种新的数组结构,有效支持i i r ,f i r 滤波时的卷 积运算。这种前向数组结构减少了十阶循环中的拷贝运算,通过前移指针实现数组首元素的 更新和尾元素的更替。而文献【1 6 】则介绍了如何在d s p 处理器芯片上通过算法设计和软件优 化这两方面实现g 7 2 3 1 的编解码算法。 在国内外的研究中,还没有发现使用r i s c 处理器实现语音处理标准,这是因为r i s c 处 理器频率过低,功能较弱,设计时仅考虑通用的计算处理,没有考虑到语音处理的特殊要求, 编解码时效率不高,性能不佳,没有达到语音处理的实时性要求。因此简单的移植代码并不 能达到实时性能的要求,必须根据a c e l p 算法特点以及r i s c 处理器的特性对g 7 2 3 1 的编 码系统进行重设计,以达到实时性能要求,本文主要考虑的问题如下: 1 如何面向r i s c 处理器,进行算法的优化和方法的重设计; 2 如何按照软件结构的通用标准,将其设计成为一个运用模块,具备可重用性,即 i p 核设计; 3 如何解决最重要的实时性要求,尽量提高模块的实时性能等。 1 3 论文的主要内容 在本文中,我们通过对g 7 2 3 1 原理的分析,研究低速率下a c e l p 编解码工作的特性, 讨论如何将低速率的g 7 2 3 1 语音编解码程序移植到一个典型的r i s c 处理器平台e p s o n s 1 c 3 3 ,并针对a c e l p 的关键模块进行分析与优化,采用新型数组结构以加快卷积运算,并 根据处理器特性实现类d s p 核指令,弥补了r i s c 处理器功能的不足,最终使得编译码过程 达到在普通的r i s c 嵌入式处理机上进行实时运行的要求。 论文的主体部分包含以下几章内容: 第一章首先总结语音标准处理技术发展现状,然后介绍了在此领域国内外研究情况,接 着简要介绍了论文的组成及主要内容,并考虑如何将d s p 的实现方法实现于r i s c 平台。 第二章简要介绍i t u t 及其使命,对于其所推出的g 7 2 3 1 标准,详细介绍了编码解码 的各个流程,其中涉及到的原理与公式等。 第三章主要介绍s l c 3 3 处理器平台所使用的集成开发环境w b 3 3 ,图例讲解使用w b 3 3 开发和调试的每步骤及注意事项;除此之外,s 1 c 3 3 的指令系统与函数调用惯例也是在实现 时必须关心的内容。 第四章从算法改进、数据结构调整、类d s p 核指令实现这三个方面对g 7 2 3 1 低速率下 解码程序进行改进,并给出了程序优化的一般性原则及步骤,对比了优化前后程序的计算复 杂度。 第五章总结本文所取得的成果和一些不足之处,并讨论从哪几方面可以进一步拓展此领 域的研究内容。 第二章g 7 2 3 1 标准介绍 g 7 2 3 1 是由i t u t 于1 9 9 6 年推出的标准。本章主要介绍g 7 2 3 1 的推出者i t u t 及 g 7 2 3 1 的内部流程与原理。 2 1i t u t 简介 国际电信联盟远程通信标准化组( t t u tf o ri t ut e l e c o m m u n i c a t i o ns t a n d a r d i z a t i o ns e c t o r ) 是国际电信联盟管理下的专门制定远程通信相关国际标准的组织。该机构创建于1 9 9 3 年,前 身是国际电报电话咨询委员会( c c i t t 是法语c o m i t ec o n s u l t a t i f i n t e r n a t i o n a lt d 印h o n i q u ee t t 6 1 6 9 r a p h i q u e 的缩写,英文是i m e m a t i o n a lt e l e g r a p ha n dt e l e p h o n ec o n s u l t a t i v ec o m m i t t e e ) , 总部设在瑞士的日内瓦。 由i t u t 指定的国际标准通常被称为建议( r e c o m m e n d a t i o n s ) 。由于i t u t 是i t u 的一部 分,而i t u 是联合国下属的组织,所以由该组织提出的国际标准比起其它的组织提出的类似 的技术规范更为正式。 i u t t 标准的推出非常迅速,从一家成员公司提出最初的标准草案的提案到批准最终的 标准( 建议) 之间的时间最短可以短到几个月( 也许更短) 。n u t 标准制定过程可以对快速发展 的技术作出更及时的反应。 2 2i t u t 协议系列和建议 和i e t f 和3 g p p 等不同,i t u t 发布的协议不是开放的,除了草案和研究阶段的文本外, 一般不提供免费下载。i t u t 发布的建议通常有类似x 5 0 0 的名字,其中x 是系列而5 0 0 是系列号。 i t u t 是国际电信联盟电信标准化部门,成立于1 9 9 3 年,它的前身是国际电报和电话咨 询委员会( c c i t t ) 。i t u t 研究和制订除无线电以外的所有电信领域标准,已通过的建议 书有2 6 0 0 多项。 i t u t 分为1 6 个研究组,研究范围涉及电信网络税费政策、电信管理网( n d n ) 、综合 宽带电缆网络和音视频的传输、数据通信网络、i p 网络、光传送网、多媒体业务、系统和终 端、信令协议、电信软件、移动通信网络和通信设备安装、施工等各方面。 2 3g 7 2 3 1 概述 g 7 2 3 1 标准是i t u t 组织于1 9 9 6 年推出的一种双速率低码率语音编解码标准,主要用 于对语音及其它多媒体声音信号的压缩,如可视电话系统、数字传输系统和商质语音压缩系 统等。它能够将8 k h z 采样1 6 b i t 的线性p c m 语音信号压缩成6 3 k b p s 和5 3k b p s 两种速率的 比特流,压缩比分别能达到2 0 和2 4 。其中,高速率算法具有较高的重建语音质量,而低速 率算法的计算复杂度则较低。与一般的低码率语音编码算法一样,g 7 2 3 1 标准采用线性预 测的合成分析法。对激励信号进行量化时,高码率算法采用多脉冲最大似然量化( m p m l q ) , 而低码率算法则采用算术码本激励线性预测( a c e l p ) 。 在当前中低码率的语音编码器中,g 7 2 3 1 具有码率低且音质好等特点,因而具有广泛的 用途:不仅用于基于p s t n 的h 1 3 2 4 可视电话系统中实现语音的实时传输,而且也被广泛地 用于基于i s d n 和l a n 的视频会议等系统中,作为可选音频编码方案以满足系统不同品质的 通话要求。该编码器采用了多种技术,如基于线性预测的合成分析法( l p a s ) 、感觉加权、和 谐噪声成形、矢量量化、后滤波以及静音检测等实现了高效压缩和高质量音质。然而,其代 价是计算复杂度和存储量都比较大。为了减少复杂度和降低比特率,i t u t 的专家们在制定 协议时采用了如下措施: ( 1 ) 将语音帧进一步划分为4 个子帧,对每一子帧计算一次l p c ( 1 i n e a rp r e d i c t i o nc o o e r ) 参 数,而且只将每帧的最后一个子帧的l p c 参数转换为l s p ( 1 i n es p e c t r u mp a i r ) 参数,然后用 预测分级矢量量化器( p s v q ) 量化,编码后加以传送。解码过程中通过对当前帧和前一帧的 l s p 参数进行内插来获得每一予帧量化后的l p c 参数。 ( 2 ) 搜索基音分两步进行,即先用开环的方法在每帧内对感觉加权语音每两个子帧作一 次开环基音预测,然后在开环基音预测值附近较小范围内对闭环基音周期和预测增益进行搜 索。 ( 3 ) 针对两种激励搜索算法的特点,推导了快速计算方法:在高速率的多脉冲最大似然 量化( m p m l q ) 算法中,利用狄拉克函数的性质使得求解激励脉冲增益的过程大大简化;低 码率的代数码本激励线性预测( a c e l p ) 中也设计了快速算法,使运算优化为本文第4 1 1 章中 的公式( 4 ) ,从而简化了激励的搜索过程。 这些措施使g 7 2 3 1 算法的复杂度大大降低。 2 4 与g 7 2 3 1 相关的编码格式 从1 9 9 5 年到1 9 9 6 年,i t u t 连续推出三种语声压缩编码的建议标准:r e c g 7 2 9 、r e c g 7 2 9a n l i i :xa 和r e c g 7 2 3 1 ( 以下简称g 7 2 9 、g 7 2 9a 和g 7 2 3 1 ) 。比特率低是这三种声 码器的共同特点,但在算法和性能指标上它们又有着较大的差异:g 7 2 9 是一种基于8k b s 传输速率的共轭结构代数码激励线性预测声t i 马器( c s - a c e l p ) ,算法延迟为1 5m s ,它提供的 语声质量能够满足网络通信的要求。其附件g 7 2 9 a 是c s a c e l p 算法的一个简化版本,复 杂度较g 7 2 9 有较大幅度的降低。g 7 2 3 1 是基于6 3k b s 和5 3k b s 两种传输速率的语声编 码器,最初是为低比特率可视电话设计的,算法延迟为3 7 5 m s 。与g 7 2 9 声码器相比,g 7 2 3 1 1 0 又进一步降低了传输速率,但它的音质也相对有所下降。 我们在这里通过语音编码器性能指标方向的比较来看选用g 7 2 3 1 的合理性。 2 5 语音编码器性能指标 语声音质是比特率、复杂度、延迟和带宽的函数。因此,研究语声编码器时,考察所有 这些特性是非常必要的。而且,这些特性之间有强烈的相互作用,可以相互折中。例如,编 码器的比特率降低时,其延迟要增加,并且相对于高比特率编码器来说,实现低比特率编码 器要求更高的复杂度,通常语声音质也较差。 ( 1 ) 比特率研究语声编码器的比特率,需要综合考虑系统的信源和信道的统计特性。从 信道方面来看,由于语声码流与其他数据共享信道,降低语声高峰期的速率,可以提高信道 的使用效率。从信源方面来看,一个信源如果无信息可发,就应当让出信道供其它信源使用。 由于语声码流与其它数据共享信道,使用速率可变的声码器,会使信号的传输更为经济。通 常采用静噪压缩方案( 如:i t u tr e e g 7 2 3 1 ) 来提高信道利用率。也就是对激活的语声使用固 定比特率,而对背景噪声使用低比特率。这样既能产生适当的背景噪声,使人觉得舒适,又 能节省传输带宽。 ( 2 ) 延迟语声编码器的延迟主要由算法延迟和处理延迟两部分组成。在分析语声信号之 前,必须把一帧的有效数据( 包括“前向预测”部分) 存入缓存。这种延迟称为算法延迟,这 是唯一一种不能通过改变实现方法来减少的延迟。处理延迟是编码器分析语声信号和解码器 重构语声信号所用的时间,它取决于实现编码器的硬件的速度。算法延迟和处理延迟的总和 称为单向编解码延迟。 一个完整的样帧从编码器传输到解码器所需的时间称为通信延迟。单向编解码延迟和通 信延迟的总和称为单向系统延迟。在没有回声的情况下,可以容忍的单向系统延迟最大值为 4 0 0 m s 。然而,新的测试方法表明,如果通信上容易实现,单向系统延迟最好低于2 0 0 m s 。如 果有回声,可以容忍的单向系统延迟上限仅为2 5 m s 。因此,使用回声抑制设备通常是必要的。 ( 3 ) 复杂度语声编码器经常装入或者利用数字信号处理( d s p ) 芯片等硬件。这些硬件的 特性( 复杂度) 通常以计算速度( 以每秒执行多少兆指令m i p s 表示) 、随机存储器( r a m ) 和只 读存储器( r o m ) 来描述。从系统设计者的角度来看,高复杂度意味着高成本和高功耗,因此 复杂度是一个重要因素。如果语声编码器在整个系统的功率和费用中分担的份额较d 、( 1 0 左 右) ,在给定比特率的情况下,选择音质最好的编码器,非常有意义。这时功率消耗或成本方 面的变化,不会使编码器在整个系统中所占的百分比大幅度增加。如果这个份额较大,则必 须进一步权衡。 ( 4 ) 音质在音质所涉及的范围中,最重要的是在理想条件下,( 清晰的声音,没有传输失 真,只编码一次) 如何评价编码后的语声音质。值得注意的是,在很多应用场合中有大量的背 景噪声,这些理想条件无法得到满足。而且,在信号的传输过程中,信道失真也是不可避免 的。这就要求解码器必须有足够强的容错能力( 鲁棒性) 。另外,桥接、级联以及不同的语种 对语声编码的处理效果都有一定的影响。所有上述问题都是在设计和选用声码器时必须考虑 的。 2 6c 。7 2 3 1 与g 7 2 9 等格式参数比较 与g 7 2 9 相比,g 7 2 9 a 复杂度的降低主要是通过简化固定码本和自适应码本的搜索、简 化感觉加权滤波器的构造以及缩小基音延迟和线谱频( l s f ) 的搜索范围来实现的。另外,后 向滤波器也简化了g 7 2 9 a 的复杂度,比g 7 2 9 大体上减少了5 0 。但在某些运行条件下, 其性能也相对略有降低。 与g 7 2 9 a 声码器相比,g 7 2 3 1 又迸一步降低了传输速率。这主要是通过增加帧长、省 略自适应码本贡献的计算、简化基音延迟和自适应码本的搜索来实现的。伴随着传输速率的 降低,g 7 2 3 1 的延迟也有较大幅度的增加。但是,在延迟可以容忍的条件下,g 7 2 3 1 可以 提供一个低复杂度的算法来代替g 7 2 9 ,而仅仅使得通话质量有轻微的下降。 下表显示的是这三种语音编码标准的性能比较。 i t u 建议速率k b s帧长度m s算法延迟,m s复杂度m i p s g 7 2 9s1 01 52 0 g 7 2 9 a81 01 51 0 5 g 7 2 3 1 ( 高) 6 33 03 7 51 4 6 g 7 2 3 1 ( 低) 5 33 03 7 51 6 表2 1 语音编码标准性能 注:这里使l j d s p 作为实现出片,复杂皮是指当算法在小同的定 d s p 处理条件下实现列复杂废以运算位能嫩 低的d s p 为准。 在这三种声码器中,g 7 2 9 复杂度最高,合成语声质量也最好,可以满足网络通信要求。 g 7 2 9 a 的复杂度的大幅度降低,更便于和m o d e m 以及回声抑制等功能集中在一块d s p 芯 片上实现。声音和数据同步传输( d s v d ) 在多媒体通信中非常普遍,很明显g 7 2 9 a 就是为此 而设计的。由于g 7 2 9 a 与g 7 2 9 有相同的比特流格式,因而两者可以互相兼容。即g 7 2 9 编码产生的比特流,可以用o 7 2 9 a 来姆码,反过来也一样。三者之中,g 7 2 3 1 的速率最低, 但它的延迟也最大,这使得g 7 2 3 1 在一些对延迟要求较高的场合的应用受到限制。在低比 特率可视电话等传输带宽比较紧张,而对延迟要求不算太高的场合,g 7 2 3 1 将得到广泛的应 用。 由于我们在r i s c 处理器平台上实现语音编码解码标准,对语音质量也有要求,因此选 用了g 7 2 3 1 的低速率码本进行编解码工作。 2 7a c e l p 编码器原理及流程 在g 7 2 3 1 编码器中,为了对以8 k h z 采样的话带语音信号进行压缩,g 7 2 3 1 采用了较 长的帧尺寸,每帧2 4 0 个样值,即3 0 毫秒帧长。每帧输入信号首先通过一阶高通滤波器滤除 直流分量,然后将之分成四个6 0 个样值的子帧,每个子帧独立进行l p c 分析。为了提高l p c 参数的连续性,采用了长度为1 8 0 个样值的重叠窗,即同时包括前后两个子帧,这使算法引 入6 0 个样值的超前时延,因此算法的总时延为3 7 5 毫秒。l p c 系数用线性谱频率( l s f ) 表 示,l s f 参数采用预测分裂矢量量化,只对第四子帧进行。为了提高量化感知质量,高通滤 波后的语音信号需通过共振峰感知加权滤波器和谐振峰噪声整形滤波器以生成初始目标信 号。前者参数由各子帧的未量化l p c 参数构成,后者通过对每两予帧进行开环基音周期估计 得到,其中基音周期的范围为1 8 到1 4 2 个样值。l p c 合成滤波器、共振蜂感知加权滤波器和 谐振峰噪声整形滤波器用于系统零输入响应计算和最佳激励估计。 编码器原理如下图所示: 圈1g7 2 3 1 编码器原理框图 图2 1g 7 2 3 1 编码器原理 2 7 1 编码器原理概述 在g 7 2 3 1 的标准建议书中,编码器的原理的完整过程介绍如下: 编码器首先对模拟信号输入执行标准g 7 1 2 中所建议的电话带宽滤波,再以8 k h z 频率 进行抽样,转换成1 6 位p c m ,用于编码器的输入。g 7 2 3 解码器的输出也应该是与模拟信号 的均值所类似。其它的输入输出特性与用于6 4 k b i t sp c m 的标准g 7 11 原理相通,都是在编 码前或解码后转换成1 6 位的线性p c m 。标准中规定了从编码器到解码器的处理过程中所涉 及到的比特流。 编码器基于线性预测合成分析编码原理,并尝试最小化感觉加权的错误信号。编码器处 理时以帧为单位,每帧均是2 4 0 个抽样值,以8 k h z 采样率来计算的话,每帧包含3 0 毫秒的 信息。每帧首先要进行高通滤波处理,以移除d c 部分;再分成四个子帧,每个子帧6 0 个抽 样值。对于每个子帧,用一个十阶线性预测编码滤波( l p cf i l t e r ) 来计算未处理的输入信号。 每帧的最后一个子帧使用预测分离向量( p r e d i c t i v es p l i tv e c t o rq u a n t i z e r ,p s v q ) 来量化,而 未量化的l p c 系统则用于构建短期感觉加权滤波来处理整个帧,以获得感觉加权语音信号。 此信号又被用于计算每两个子帧( 1 2 0 个抽样值) 的开环基音周期( 工。) 。这步也叫作基音预测, 对于每两子帧的1 2 0 个抽样值,基音周期将从第1 8 到1 4 2 个抽样值之间搜索。 此后,语音信号以每个子帧为单位,处理6 0 个抽样值。 使用上步所得到的预测基音周期,通过计算可以构建出和谐噪声成形滤波。再对l p c 合 成滤波、共振峰后置滤波和和谐噪声成形滤波进行组合,以创建脉冲响应,留为后用。 使用基音周期预测值三。和脉冲响应,又可得到一个五阶闭环基音预测器,基音周期是以 开环基音预测的差值计算而得。 基音预测器的作用是与初始的目标向量相减得到差值。基音周期与差值都会被传送给解 码器。 最后,激励的非周期部分近似估出。高码率时所使用的方法是多脉冲最大似然量化 f m u l t i - p u l s em a x i m u m l i k e l i h o o dq u a n t i z a t i o n ,m p - m l q ) 激励。低码率使用的是代数码本激 励( a l g e b r a i c - c o d e - e x c i t a t i o n ,a c e l p ) 。 编码器每帧的处理流程图如2 6 节图所示。 2 7 2 编码器初始化( c o d e ri n i t i a l i z a t i o n ) 除了预定义的l s p 向量初始化成l s pd c 向量p d c 外,编码器中所有涉及到的静态变量 都被初始化为0 。函数i n i tc o d e r 0 用于完成初始化,此函数在文件c o d e r c 中。 2 7 3 高通滤波( h i g hp a s sf i l t e r ) 本步骤调用文件u t i u b e c 中函数r e m _ d c 0 完成高通滤波操作。主要作用是移除语音输 入信号的d c 元素,滤波传递函数是: 日( z ) = 翟i _ z 歹- 1 1 2 8 公式2 1 滤波传递函数 输出是向量x 【n 】,n = 0 2 3 9 。详细步骤请参见 i t u - t g 7 2 3 1 标准建议书,即参考文献【1 0 】中的第2 3 节。 2 7 4l p c 分析( l i n e a rp r e d i c t i o nc o d e r a n a y l i s y s l 本步骤主要使用了l p c c 中的函数c o m pl p c o 和d u r b i n 0 ,用于计算l p c 系统和执行 l e v i n s o n - d u r b i n 递归。l p c 分析使用了一个十阶线性预测分析处理信号x 【n 】。l p c 合成滤波 公式如下: 彳i 乜) :1 卜,o f 3 1 一a o z 一歹 j = 1 公式2 2l p c 合成滤波 本步骤的详细处理流程可参阅文献【l o 】的2 4 节。 2 7 5l s p 量化( l s pq u a n t i z e r ) l s p 为l i n es p e c t r u mp a i r ( 线谱对) 的缩写。本步骤主要利用l s p c 中的a t o l s p 0 i 甬数,将 l p c 转换成l s p 系数;l s p q n t o 函数,对l s p 向量量化;l s p _ s v q 0 函数,将l s p 子向量量化。 详细过程请参阅文献 1 0 】的2 5 节。 2 7 6l s p 解码( l s pd e c o d e r ) 本步骤使用l s p c 文件中的l s p _ i n q o 磊数,逆转量化后的l s p 向量。首先对将三个子向 量解码成一个十阶向量e ( n ) ,再将预测向量p ( n ) 加到刚刚生成的e ( n ) 与d c 向量p d c ( n ) ,以 形成解码后的l s p 向量q ( n ) ,最后再对q ( n ) 执行稳定性检查,以满足若干限制条件。 本步骤的详细流程请参阅文献 1 0 】的2 6 节。 2 7 7l s p 内插值( l s pi n t e r p o l a t i o n ) 本步骤使用l s p c 中的l s p _ i n t ( ) j 斩l s p 内插值,再使用l s p t o a o 将l s p 转换成l p c 系数。内插值操作作用于每个子帧,在刚解码后的l s p 向量和前一个l s p 向量之间进行。 本步骤的详细流程、原理和公式请参阅文献【1 0 】的2 7 节。 2 7 8 共振峰感觉加权( f o r m a n tp e r c e p t u a lw e i g h t i n gf i l t e r ) 本步骤使用l p c c 中的w g h t _ l p e o 来计算感觉滤波系数,再通过调用 e r r o rw g h g ) 应用感觉加权滤波。对于每 个子帧,共振峰感觉加权滤波通过右图所 i i :j 2 示公式构建。公式各变量的意义可在文献 l o 的2 。8 节察看。 2 7 9 基音估计( p i t c he s t i m a t i o n ) l 一酽一, = 1 o 茎f 3 公式2 3 共振峰感觉加权滤波器 本步骤使用e x 9 j b c c 中的e s t i mp i t c h o 计算开环基音预测,每帧计算两个,分别用在前 两子帧和后两子帧。本步骤的详细流程请参阅文献 1 0 】的2 9 节。 2 7 1 0 子帧处理( s u b f r a m ep r o c e s s i n g ) 在上述步骤处理完成后,以下的操作均按子帧处理,每次一个子帧。 2 7 1 l 谐波噪声成形( h a r m o n i cn o i s es h a p i n g ) 本步骤主要是调用e x e _ l b c c 中的c o m pp w o 函数来计算谐波噪声滤波器系数,调用同文 件中的f i l t _ _ p w o 将系数应用到谐波噪声滤波器上。 为了提高编码语音质量,首先根据公式产生谐波噪声成形滤波器,而后计算最优延迟, 最优滤波增益,谐波噪声成形滤波系数,最后使用谐波噪声成形滤波对共振峰感觉加权语音 向量进行滤波,以得到目标向量w 【n 】。 丫 一 ,- p 口 抑h 一 本步骤所涉及到的原理、公式及说明均可参阅文献 1 0 1 的2 1 1 节。 2 7 1 2 脉冲响应计算( i m p u l s er e s p o n s ec a l c u l a t o r ) 本步骤主要使用组合滤波进行闭环分析,使用l p c c 中的c o m pl r o 计算脉冲响应。详 细流程请参阅文献 1 0 】的2 1 2 节。 2 7 1 3 零输入响应计算( z e r oi n p u tr e s p o n s ea n dr i n g i n gs u b s t r a c t i o n ) 当抽样信号输入样本在所有值都为0 的情况下,计算组合滤波,其输出即为零输入响应。 本步骤的详细流程请参阅文献【1 0 】的2 1 3 节。 2 7 1 4 基音预测( p i t c hp r e d i c a t o r ) 基音预测是一个五阶函数,其贡献被当作一个通用的适应码本贡献。本步骤所涉及到的 函数是e x c l b c c 中的f i n d _ a c b k o ,即适应码本搜索;它调用g e u 沁z 0 计算激励缓冲区中的 残留信号,再调用d e e o d _ _ a c b k o 解码适应码本贡献。 详细流程可参阅文献 1 0 】的2 1 4 节。 2 7 1 5 高速率激励( 多脉冲最大似然量化,m p m l q ) m p m l q 对残留信号向量进行量化,量化时所使用到的向量主要是组合滤波所产生的激 励向量v 【n 】和脉冲响应信号向量h 【n 】。本步骤还涉及到偏差处理和增益处理。 由于项目中仅使用到低速率码本的编解码,本步骤所涉及到的详细流程请参阅文献【l o 的2 1 5 节。 2 7 1 6 低速率激励( 代数码本激励,a c e l p ) 本步骤使用一个1 7 位的代码码本来产生固定码本激励v 【n 】。每个固定码本向量至多包含 四个非零脉冲信号。这四个脉冲的正负及位置如下表所示: s i g n p o s i t i o n s 1 0 ,8 ,1 6 ,2 4 ,3 2 ,4 0 ,4 8 ,5 6 1 2 ,1 0 ,1 8 ,2 6 ,3 4 ,4 2 ,5 0 ,5 8 l 4 ,1 2 ,2 0 ,2 8 ,3 6 ,4 4 ,5 2 ,( 6 0 ) 1 6 ,1 4 ,2 2 ,3 0 ,3 8 ,4 6 ,5 4 ,( 6 2 ) 表2 2a c e l p 代码码本脉冲位置 对上表和本步骤的详细解析请参阅文献 1 0 】的2 1 6 节。 2 7 1 7 激励解码( e x c i t a t i o nd e c o d e r ) 激励解码主要使用e x c _ l b c c 中的f c b ku n p k o i 函数解码固定码本激励。对输入脉冲的解 码可以分成7 个步骤,最终将基音向量u 【n 】与脉冲向量v n 】相加,得到激励向量e 【n 】。 激励解码的详细流程可参阅文献【1 0 】的第2 1 7 节。 2 7 1 8 基音解码( p i t c hd e c o d i n g ) 基音信息解码可以分成三步,前两步是分别计算偶数子帧和奇数子帧的延迟信息,最后 一步是计算每个子帧的增益向量并利用增益向量及延迟信息产生最终的基音贡献向量u n 。 本步骤主要使用了e x c _ l b c c 中的o e t _ r e z 0 函数和d e c o da c b k ( ) 函数。f i e t _ r e z ( ) i 函数用 于从激励缓冲区中提取残留信息,而d e c o d _ a c b k 0 函数用于解码适应码本贡献。本步骤的详 细信息可参阅文献f l o 】的第2 1 8 节。 2 7 1 9 存储更新( m e m o r yu p d a t e ) 在对下一子帧进行编码前,每个子帧所

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论