(通信与信息系统专业论文)基于嵌入式系统低速率语音编解码的研究与实现.pdf_第1页
(通信与信息系统专业论文)基于嵌入式系统低速率语音编解码的研究与实现.pdf_第2页
(通信与信息系统专业论文)基于嵌入式系统低速率语音编解码的研究与实现.pdf_第3页
(通信与信息系统专业论文)基于嵌入式系统低速率语音编解码的研究与实现.pdf_第4页
(通信与信息系统专业论文)基于嵌入式系统低速率语音编解码的研究与实现.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

(通信与信息系统专业论文)基于嵌入式系统低速率语音编解码的研究与实现.pdf.pdf 免费下载

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

文档简介

摘要 随着科技的日益发展,语音技术在新一代手机、p d a 、家庭网关、机顶盒、网 络电话等基于嵌入式系统的应用越来越广,但是由于受信道带宽的影响,或者为了扩 大通信容量,在嵌入式应用中,特别需要低速率的语音编解码技术。 a r m 处理器具有体积小、功耗低、成本低、性能高等特点,并且具有1 6 3 2 位 双指令集。a r m 广泛应用在1 6 3 2 位嵌入式r i s c 解决方案中,几乎占有嵌入式 r i s c 微处理器市场份额的7 5 。 本文主要研究基于嵌入式系统低速率语音编、解码技术。语音编解码采用 g 7 2 3 1 建议。g 7 2 3 1 建议就是国际电信联盟( i t o ) 颁布的一种适用于多媒体通信 的低比特率语音编码标准。本文在分析g 7 2 3 1 建议的系统模型及编解码算法后, 提出了基于a r m 的语音编解码方案,并讨论了该方案的实现方法。 关键词:嵌入式系统语音编码g 7 2 3 1 a r m a b s t r a c t w i t ht h ed e v e l o p m e n to ft e c h n o l o g y , s p e e c ht e c h n i q u eb e c o m e sm o r ea n dm o r e w i d e l y u s e di nn e w g e n e r a t i o no f c e l lp h o n e ,p d a ,h o m eg a t e w a y ,s e t t o pb o x ,a n dv o 皿 e t c b u tb e c a u s eo ft h ec o n s t r a i n to fc h a n n e lb a n d w i d t ha n dt h ea t t e m p tt ob r o a d e nt h e c o m m u n i c a t i o n c a p a c i t y , l o w b i t r a t e s p e e c h c o d i n gt e c h n i q u e i s b a d l y n e e d e di n e m b e d d e d s y s t e ma p p l i c a t i o n a r m p r o c e s s o ri ss m a l li ns i z e ,l o wi np o w e rd i s s i p a t i o n ,l o wi nc o s ta n dh i g hi n p e r f o r m a n c e ,a n d i th a sb o t h1 6a n d3 2b i ti n s t r u c t i o ns e t a r m p r o c e s s o ri sw i d e l yu s e d i nt h es o l u t i o nt o1 6 3 2b i te m b e d d e dr i s ca n di tn e a r l yo c c u p y7 5 o fe m b e d d e dr i s c m i c r o p r o c e s s o r m a r k e ts h a r e t l l i s p a p e rf o c u s e s 0 1 1t h e i m p l e m e n t a t i o no fl o wb i t r a t es p e e c he n c o d i n ga n d d e c o d i n g b a s e do ne m b e d d e d s y s t e m t h e c o d e ra n dd e c o d e r a d o p t g 7 3 2 1 r e c o m m e n d a t i o n w h i d li sas t a n d a r do fl o wb i t r a t ev o i c ec o d e c , p r o p o s e db yt h e i n t e m a t i o n a lt e l e c o m m u n i c a t i o n su n i o n ( r r u ) t h es y s t e mm o d e la n da l g o r i t h m so f e n c o d i n ga n dd e c o d i n go fg 7 2 3 1 i s a n a l y z e di n t h i s p a p e r , t h e n ad i g i t a l s p e e c h e n c o d i n ga n dd e c o d i n gs c h e m eb a s e do na r m i s p r o p o s e da n di t si m p l e m e n t a t i o n s c h e m ei sa l s od i s c u s s e d k e y w o r d s :e m b e d d e ds y s t e m s p e e c hc o d i n g g 7 2 3 1a r m 创新性声明 y 6 9 5 3 6 6 本人声明所呈交的论文是我个人在导师的指导下进行的研究工作及所取得的 研究成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文 中不包含其它人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大 学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志所做的任 何贡献均已在论文中做了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:童邀日期:进:乙以 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕 业离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。 学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全 部或部分内容,可以允许采用影印、缩印、或其它复制手段保存论文。( 保密的论 文在解密后遵守此规定) 本人签名:壹遣渣至 翩躲社 日期:塑丛:2 :碴 e t 期:过兰三广 第一章绪论 第一章绪论 1 1 语音编码技术的历史与现状 国际上对语音信号压缩编码的建议是在国际电报电话咨询委员会( c c i t t ) ( 现 改为i t u t ) 下设的第十五研究组讨论制定的,相应的建议改为g 系列,由国际电 信联盟( 1 t u ) 发表。 国际电报电话咨询委员会先后推出了一系列有关语音编码的建议,表i i 列出 了部分语音编码算法和国际标准。 表1 1 语音编码算法稀标准 1 9 7 2 年,c c i t t 首先制定了g 7 116 4 k b sp c m 编码标准。它采用的是子带 白适应差分脉冲编码( a d p c m ) ,数据率为3 2 kb s 。它已广泛应用于数字通信、数 字交换机等领域,至今,6 4 k b s 的标准p c m 系统仍占统治地位。这种编码方法可 以获得较好的语音质量但占用带宽较多,在带宽资源有限的情况下不宜采用。 !基于嵌入式系统低速率语音编解码的研究与实现 c c i t t 于8 0 年代初着手研究低于6 4 k b s 的非p c m 编码算法,并于1 9 8 4 年通 过了3 2 k b s a d p c m 语音编码g 7 2 1 建议,它不仅可以达到p c m 相同的语音质 量而且具有更优良的抗误码性能,广泛应用于卫星,海缆及数字语音插空设备以及 可变速率编码器中。 低码率、低延时、高质量始终是人们期望的目标。为此,c c i t t 采纳了a t & t b e l l 试验室提出的1 6 k b s 短延时码激励( l d c e l p ) 编码方案,予1 9 9 2 年和1 9 9 3 年分 别公布了浮点和定点算法的g 7 2 8 标准。该方法延时小于2 m s ,话音质量可达m o s 4 分以上。因而在实际中得到广泛的应用,例如:可视电话伴音、无绳电话机、单 路单载波卫星和海事卫星通信、数字插空设备、存储和转发系统、语音信息录音、 数字移动无线系统、分组化语音等。 1 9 8 3 年欧洲数字移动通信特别工作组( g s m ) 制定了数字移动通信网的1 3 k b s 长时预测规则脉冲激励( r p e l 1 甲) 语音编码标准。1 9 8 9 年北美蜂窝电话工业组织 ( c m a ) 公布了北美数字移动通信标准。它采用的是矢量和激励线性预测技术 ( v s e l p ) ,速率为8 k b s 。 1 9 9 5 年,国际电联批准了一个被称为g 7 2 9 的新的话音压缩标准。这种编码方 法延迟小,节省8 7 5 的带宽,可以提供与3 2 k b s 的a d p c m 相同的语音质量,其 音质是同档次码速率中最优的,而且在噪声较大的环境中也会有较好多语音质量。 广泛应用于个人移动通信、数字卫星通信、高质量移动无线通信、存储检索、分组 语音和数字租用信道等领域。 更低速率的语音压缩技术主要用于保密话音通信。美国国防部( d o d ) 分别于 1 9 8 4 年和1 9 9 0 年制定了基于l p c 、速率为2 4 k b s 的编码方案和基于c e l p 、速率 为4 8 k b s 的编码方案。 目前,语音压缩编码技术主要有两个努力方向:一个是中低速率的语音编码的 实用化及如何在实用化过程中进一步降低编码速率和提高其抗干扰、抗噪声能力: 另一个是如何进一步的降低其编码速率,目前己能在5 k b s 一6 k b s 的速率上获得高质 量的重建语音,下一个目标则是要在4 k b s 的速率上获得短延时、高质量的重建语 音。特别是对中长延时编码,人们正在研究其更低速率( 如4 0 0 b s 一1 2 0 0 b s ) 的编码 算法,在这个过程中当编码速率降至2 4 k b s 速率以下时,c e l p 算法即使应用更高 效的量化技术也无法达到预期的指标,需要其它一些更符合低速率编码要求的算法, 目前比较好的算法还有正弦变换编码( s t c ) 、混合激励线性预测编码( m e l p c ) 、 时频域插值编码( t f i ) 、基音同步激励线性预测编码( p s e l p ) 等,同时还要求引 入新的分析技术,如非线性预测、多精度时频分析技术( 包括子波变换技术) 、高 阶统计分析技术等,这些技术更能挖掘人耳听觉掩蔽等感知机理,更能以类似人耳 第一章绪论 的特性作语音的分析与合成,使语音编码系统更接近于人类听觉器官的处理方式工 作,从而在低速率语音编码的研究上取得突破。 1 2 本课题研究的目的及意义 随着科技的日益发展,语音技术在新一代手机、p d a 、家庭网关、机顶盒、电 脑电话等基于嵌入式系统的应用越来越广,但是由于受存储空间、信道带宽的影响, 或者为了扩大通信容量,特别在无线领域方面,还需要对数字化之后的语音信号进 行压缩编码,需要低速率的语音编码技术。而且嵌入式系统是未来语音技术应用最 广泛的一个方向,所以对嵌入式低速率语音编码系统的研究具有很大的实用价值。 本文主要研究在嵌入式系统中低码率语音编、解码的实现。 1 3 本文所研究的主要内容及所做工作 本文主要研究低速率语音编解码算法,并将之应用到嵌入式系统中。 本文作者主要负责与系统硬件相关的低层驱动开发、基于a r m 的全双工 g 7 2 3 1 语音编解码的设计与实现。本文首先对r r u - tg 7 2 3 1 低速率语音编解码 建议作较为详细的说明;之后介绍了a r m 的特点、结构以及编程技术;最后介绍 整个语音处理系统的设计与实现细节。 基于嵌入式系统低速率语音编解码的研究与实现 第二章g 7 2 3 1 语音编解码器 2 1g 7 2 3 1 建议概述 g 7 2 3 1 是由i t u t ( 国际电信联盟电信标准化部门) 第1 5 研究组编写,并 按照世界电信标准大会( w r s o 第1 号决议的程序,于1 9 9 6 年3 月1 9 日通过的。他 是h 3 2 4 系列标准的一部分,主要用于低比特速率多媒体业务的话音或其他音频 信号分量的压缩。这种声码器具有5 3 k b i t s 和6 3 k b i t s 两种比特率。在帧边界处, 两种速率之间可以相互切换。g 7 2 3 1 编码器有7 5 m s 的前瞻,其帧长为3 0 m s ,所 以导致整个算法有3 7 5 m s 的延迟。该编码器基于线性预测分析合成技术,以尽量减 少实际语音和合成语音之间经听觉加权后的误差信号的能量为准则来进行编码。帧 内采用线性预测分析合成技术编码,在高速率模式下( 6 3 k b s ) ,声码器的激励信号 采用多脉冲最大似然量化( m u l t i p u l s em a x i m u ml i k e h o o do u a n t i z a t i o n ,即 m p m l d ) ;在低速率模式下( 5 3 k b s ) ,声码器的激励信号采用代数码本激励线性 预测( a l g e b r a i c c 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 ,即a c e l p ) 技术量化。此系统 同样能够对音乐和其它音频信号进行压缩和解压缩,但是其处理效果不如语音。 编码器的输入信号必须是经8 k h z 采样的1 6 比特的线性p c m 数字信号。输入 的数字信号先分帧,每帧3 0 m s ,共有2 4 0 个采样点。每帧信号先通过一个高通滤波 器,去除低频成分,再分成4 个子帧,每个子帧6 0 个样点。对每个子帧进行1 0 阶 l p c 预测,将最后一个子帧的l p c 参数转化成线谱对l s p 参数,用预测分裂矢量 量化法p s v q ( p r e d i c t i v e s p l i t v e c t o ro u a n t i z e r ) 进行量化。未量化的线性预测系数 用作构造感知加权滤波器,每帧语音信号经感知加权滤波器滤波后得到加权语音信 号。 经加权的语音信号每两个子帧计算个开环基音值,这个基音预测是在1 2 0 个 样点基础上计算的,基音周期的搜索范围为1 8 至1 4 2 个样点。利用搜索得到的基音 周期来构造谐波噪声成形滤波器,然后将l p c 合成滤波器、共振峰感知加权滤波器 和谐波噪声成形滤波器级联到一起构成联合滤波器,计算出该联合滤波器的冲激响 应和零输入响应。利用估计出的开环基音值和联合滤波器的冲激响应,可以得到一 个五阶的线性闭环基音预测器。通过这个五阶基音预测器,对每一子帧进行一次闭 环基音搜索,然后将基音预测器的贡献从目标矢量中减去,得到相应子帧的残差矢 量,最后对残差信号进行矢量量化。 图2 1 给出了g 7 2 3 1 编码器的方框图。 第二章g 7 2 3 1 语音编解码器 y 砷 分帧1 坦 高通滤l 波器1 i z 九】 司生垒 分析i 共振峰感 觉加权 基音 估计 l s p 量化 爿b 模拟解码器 l s p 解码l 刊l s p 插值 竖蒜社 v ( z ) 谐波噪声 形成w i n 】 ,o ) 应计算 零输入 响应z f n , 激励 解码 t ( n ) 基音预 测p 印: m p - m l q a c e 翮_ r 图2 1g 7 2 3 1 编码器的框图 在解码器中,首先从线路上来的压缩语音码流中提l s p 码本索引值,经过l s p 解码、内插得到每一子帧的l s p 参数,转换为l p c 参数,构成l p c 合成滤波器。 然后从接受码流中提取每一子帧的基因周期、基因增益码本索引和激励脉冲信息, 分别经过基音解码和激励解码得到激励信号e ( n ) ,对激励信号e ( n ) 进行基音后滤波得 到p p f ( n ) ,在经过合成滤波器滤波获得重建语音,重建语音经过共振峰后滤波器和增 益定标单元即得到解码器的最后输出。图2 2 给出了g l 7 2 3 1 解码器的方框图。 图2 2g 7 2 3 1 解码器的框图 刺是 囹户烈匦苇 !基于嵌入式系统低速率语音编解码的研究与实现 2 2 1 编码器的组成 2 2g 7 2 3 1 编码器的实现 由编码器的方框图我们可以把g 7 2 3 1 语音编码器划分为以下几个模块来实现 其功能f 1 9 j : ( 1 ) 分帧器:分帧器的功能是从缓冲区读入一帧y ( n ) ( 一共2 4 0 个样点) ,将其 分成4 个子帧s ( n ) ,每个子帧均为6 0 个采样点。 ( 2 ) 高通滤波器 为了去掉样本信号s 【n 】中的直流成分,先通过一个高通滤波器,滤波器采用一 阶m r 滤波器,其传递函数为: 日( z ) 一f 1 - - l 矛记, - 1 ( 2 1 ) 其中,a = 1 ,卢= 1 2 7 1 2 8 。滤波器的输出记为x ( n ) ,n = 0 2 3 9 。对于这 个滤波器化成时域离散形式就是: y ( n ) = ( 1 2 7 1 2 8 ) y ( 一1 ) + x ( n ) 一工( n 一1 ) ( 2 2 ) ( 3 ) l p c 分析; l p c 分析通过传统的l e v i n s o n d u r b i n 递归算法实现,它的目的是使语音频谱变 得较为平滑。本编码器中采用了1 0 阶线性预测分析,这一部分的计算是以子帧为基 础进行的。每一子帧在计算自相关函数前,都先耍经过一个汉明( h a m m i n g ) 窗( 对 每个子帧及其相邻的1 8 0 个样点加窗) ,对加窗之后的信号求r 0 r 【1 0 共1 1 个相 关系数,除了r 【o j 要乘以一个白噪声纠正因子1 0 2 5 1 0 2 4 ,其它1 0 个自相关函数均 乘以二进制窗口系数表。对每个子帧用l e v i n s o n - d u r b i n 递归算法求出1 0 个l p c ( l i n e a rp r e d i c t i v ec o e f f i c i e n t s ,线性预测系数) 。短时感觉加权滤波器使用的就是这 些系数。l p c 合成滤波器定义如下: 4 ( z ) = 面f 一,0 9 i s 3( 2 3 ) 1 一弋a i i z 一 臼1 对每个子帧及其相邻的1 8 0 个样点加窗显然增加了需要存储的数据量,如要保 存前一帧的1 2 0 个样点,还需要在编码端建立一张表格来对h a m m i n g 窗的样点进 行索引。但是这样做可以充分利用语声信号的相关性,能够获得较好的预测精度和 较高的合成语声质量;并且加窗后,进一步增加了语音频谱的平滑性,且尽可能地 保留了语声信号的波形细节。 ( 4 ) l s p 分析:为了获得高质量的合成语音,在数码率只有5 3 b s 或6 3 b s 的情 第二章g 7 2 3 1 语音编解码器 7 况下,必须对l p c 系数采用很高效率的量化方法,目的是节省出比特来保证激励码 本的尺寸足够大。此外,由于合成滤波器系数即l p c 系数动态范围太大,量化误差 及传输中导致的误差极容易使合成滤波器不稳定。因此,在求得滤波器系数后,往 往还要将其转换为在数学意义上与之完全等价的,代表语音短时频谱特性的特征参 数l s p ( l i n e后再进行量化。在计算参数前,先对参数_spectrumpair)lspl p c 加指数窗实现7 , s h z 的频带展宽,以利于系统稳定。l p c 参数转换成l s p 参数所用 的方法是k a b a l 算法。在该算法中,l s p 参数是两个多项式p ( x ) 和q ( x ) 的根, 他们通过在连续两部分间寻找过零点并进行插值来获得,锝到l s p 参数后,还要对 其进行量化,本系统使用的是种2 4 b i t 的分裂矢量量化算法。其具体方法是将1 0 维的l s p 矢量分裂成三个维数分别是3 、3 、4 的子矢量,通过一阶预测求出线谱对 参数的预测差值。然后,按照最小加权均方误差( 聃r m s e ) 原则,对每个子矢量 分别进行8 b i t 的矢量量化。这种量化方法利用了l s p 系数的帧内相关性,取得了比 非均匀标量量化法高得多的量化性能和量化效率,平均频谱失真接近l d b ,能够满 足合成高质量语音的要求。 下面详细地介绍如何计算l s p 参数。 首先对l p c 参数( 以( z ) 线性预测滤波器参数) 加指数窗实现7 5 h z 的频带 展宽,再用搜索单位圆和过零点进行插值的方法将线性预测系数k k o ,l o 转化为 l s p ( l i n e a r s p e c t r u mp a i r ) 系数妒。h 吐,1 0 。 由l p c 分析得出的爿( z ) 参数a 。可以构成预测误差滤波器 彳( z ) = 1 + n l z - 1 + a 2 z - 2 + + 口,z 一9 ( 2 4 ) 其中,p 为线性预测阶数。易知a ( z ) 满足以下递归关系: t ( z ) t4 一。( z ) 一k z 一“以一1 ( z 1 ) , h = l2 ,p ( 2 5 ) 当撑- p + 1 时,若七。一1 ,则此时相当于声道完全闭合:若j i “= 一1 ,则相当 于声道完全开启。将爿。( z ) 分解为: 1 爿,“( z ) 土 【尸( z ) + q ( z ) 1 ( 2 6 ) 其中,p ( z ) 和q ( z ) 分别为: f p ( z ) ;4 ( z ) 一z 叫”4 ( z 。1 ) 嘶k l ;1 、 l q ( z ) 一a ,( z ) + z - ( p + 1 ) a p ( z 1 ) ,女州一1 经过简单的变换后即可得到式2 8 : 基于嵌入式系统蚝速率语音编解码的研究与实现 肥。( 1 - z - 1 ) 。雩毛f k f 铊。2 。, q ( z ) = ( 1 姐。) 。飘,c o s 啦钳2 ) 显然,地,i = 1 ,2 ,p 是多项式p ( z ) 和q ( z ) 的根。而参数枷。 。:1 ,2 p 就是 只( 善) 置3 2 x 5 + 1 p 1 茹4 + 8 ( p 2 一s ) x 3 + 4 ( p 3 4 p i 扭2 + z ( p 4 3 p 2 + 5 沁 + p 5 2 眈+ 2 p 1 ( 2 9 ) a 。( x ) = 3 2 x 5 + 1 6 q l x 4 + 8 ( q 2 5 p 3 + 4 ( q 3 4 鼋1 弦2 + 2 ( q 4 - 3 q 2 + 5 ) x + 吼一2 口3 + 2 9 i 这里,x i c o s ( a ,) ,i t 2 a f ,f s ,一1 z l ,o 棚 汀,f s 为采样率。 可以证明的取值在6 4 - - 1 2 8 的范围内基本上就能满足精度要求,所以本文将 【o ,卅划分为1 2 8 份。由于只o ) 和q 。o ) 具有相同的形式,所以他们的根的求法 也完全相同。首先,计算e ( f 缸) 与e 瞰+ 1 ) 缸】,i = o ,1 2 8 。若一i 者同号,则在 ( i a x ,( i + 1 ) 船) 区间p o ( x ) 无根,进行查找至u g ( 1 a x ) 与只【( f + 1 ) 缸】异号为止。为了 提高所得到的l s p 值的精度,同时又不增加算法的复杂度,所选取的l s p 值为 p ;= i k x + 只( f 缸) o 缸) + 只【( f + 1 ) k x ) 。继续查找直到只 ) 的5 个根都被找到 为止。其次,根据l s p 参数的交错性,即a 】。 棚: a q 。,可求得q 。o ) 的5 个根。 如果出现无法找到所有1 0 个l s p 参数的情况,可以用上一帧保存的l s p 参数来代 替本帧的k s p 参数。 将l s p 参数p i 使用预测分裂矢量量化器( p s v q - p r e d i c f i v e ) 进行量化。 将l s p 系数p 1 除去长时直流成分p d 。,得到新的去除了直流成分的l s p 矢量p 。 一个一阶固定预测因子b z 1 2 3 2 作用于前一个解码后的l s p 矢量j f 得到除去 直流成分的l s p 预测矢量n 和残差l s p 矢量e 。 a 叫a 一 ( 2 1 0 ) e 。= 只一p 一 将p 。、p 。、e n 拆分成3 个子向量,维数分别为3 、3 、4 。 码本量化。量化原则是加权方差e ,。最小。 p ,扭= p m + j k + e f 柙,0 s m s 2 ,1 s ! 2 5 6 ( 2 1 1 ) 使用3 个2 5 6 项的 ( 2 。1 2 ) 第二章g7 2 3 1 语音编解码器 2 卜一瓦m 尸m 一再。) 0 m g2 , 1 c “( ,j j 则认为找到了新的最大点。如果索引,和j 的差值 第二章g 7 2 3 1 语音编解码器 大于或等于1 8 。则只有当c o l ( j ) 比c & ( j ) 大1 2 5 d b 时才认为找到了新的最大点。 子帧处理之后,再对每两个子帧进行如下处理: 对每一个子帧求出一个谐波噪声形成滤波器: ( z ) = 1 一f l z 。1 ( 2 2 9 ) 为了寻找到上式中的最佳的延时l ,采用c 。( j ) 最大化准则,其中( j ) 在平方 前只考虑取正数的情况。 n ( j ) = 萝,时,b j ( 2 3 0 ) c 肚蔬j 小岛 ( 2 3 1 ) 罗厂k 一丹,k 一 其中l ,;l o l 一3 ,l := 上饥+ 3 。最大值定义为g l 。最优的滤波器增益为g 叫: 59,mk-lno 2 弘面而 ( 2 3 2 ) 6 0 被限制在【o ,1 】范围之内。加权后的语音信号仃0 ) k ”,。的能量e 由下式给 出: e = 萝,2 k 】 ( 2 3 3 ) 厶 于是可求得谐波滤波器p ( z ) 的系数芦: 卢;0 3 1 2 5 ,棚。( ,一鲁) “ 。2 斟, 【0 0 ,其他 然后共振峰感觉加权语音信号,l 】通过只( z ) 滤波器,生成目标矢量彤k 】。 冲激响应 为了进行闭环分析,将a ( z ) 、雕( z ) 、只( z ) 组合成如下滤波器组: s ( z ) ;a ( z ) 彬( z ) 只( z ) ,0s f s3( 2 3 5 ) 由此可得到s ( z ) 的冲激响应协。g 地- 。期。 ,。 零输入响应的扣除 组合滤波器s ( z ) 的零输入响应是该滤波器在输入全为零时的响应。定义零输 入响应为 z b m 。;,。从谐波滤波器的输出k 中扣除零输入响应,得到结果向量: f b 。彤b 一z k ( 2 3 6 ) 基于嵌入式系统低速率语音编解码的研究与实现 闭环基音预测 在闭环基音提取阶段,所使用的方法是按照最小均方误差准则,在开环基音延 迟的附近,寻找更为精确的基音延迟,将闭环基音提取与计算自适应码本的贡献相 结合,用5 阶预测器完成。基音预测器的使用导致了闭环基音延迟( c l o s e dl o o pp i t c h l a g ) 和基音预测器量化增益的产生。这里使用两个码本来对基音增益进行量化,对 高码率码本的长度分别为8 5 和1 7 0 ,对低码率码本长度为1 7 0 。对高码率,如果第 0 和第1 子帧的厶小于5 8 或第2 和第3 子帧的l :小于5 8 ,则采用大小为8 5 的码本 进行基音增益的量化。否则就采用大小为1 7 0 的码本进行量化。从目标矢量 t k m ,中减去自适应码本的贡献 p l m ;。就得到残差信号 r i m 。 ,;。 r k 一f d 一p k 】 ( 2 3 7 ) 对提取出的闭环基音值要按奇数帧和偶数帧分别进行处理,即将奇数子帧( 即子帧 1 和3 ) 的基音延迟用7 个b i t 表示,将偶数子帧( 即子帧2 和4 ) 与奇数子帧( 即 其前一子帧) 基音延迟的差值用2 个b i t 表示( 这里基音延时的差值范围是1 、0 , + 1 、+ 2 ) ,量化解码后的基音延时被定义为厶。这样每个3 0 m s 的语音帧只需要1 8 个b i t 传输基音延迟,相对于每个子帧都用7 个b i t 表示的方法,可以节省出1 0 个 b i t 。这一部分也是自相关函数和互相关函数的计算,由于这些计算是在子帧的基础 上进行的,所以对每一帧要进行四次计算,这样就占据了绝大部分的编码时间。 ( 7 ) 在高速率下激励的搜索( m p m l q 算法) m p m l q ( m u l t i p u l s e m a x i m u ml i k e l i h o o dq u a n t i z a t i o n ,多脉冲最大似然量化) 算法为:用一个子帧中只有5 个或6 个非零脉冲的输入信号通过置0 ) 滤波器来模拟 r i ni 残差信号。如果这样的均方差最小,就将脉冲的位置和幅度记录下来。这样, 用5 个或6 个点就可以代表6 0 个信号。 在传送残差信号 ,k 且。机。,时,将它作为m p m i x ) 激励搜索的输入目标矢量。 激励搜索相当于对该矢量进行量化,量化的过程是用矢量,【n 】逼近目标矢量r i ni : 旦_ ,i n = y h j v n j 】,0 s ,l s5 9( 2 3 8 ) 儡 其中,p k 是冲击响应为是b 的组合滤波器s k 的激励,定义如下: 三 v l n 】= g ) :a 6 m 所女】,0 5 ,ls 5 9( 2 3 9 ) 简 其中,g 是增益因子,6 i n 】是狄拉克函数, 吼) 。,和枷;) 。, s 9 分别是狄拉 克函数的符号( 1 ) 和位置,m 是脉冲的个数,对偶数子帧,m 取6 ;对奇数子帧, m 取5 。这里脉冲的位置是有限制的,要么全奇,要么全偶,码参数中的栅格比特 将表示位置的奇偶。下面用均方误差最小的准则来求解未知参数g 、 a 。) 。;,和 枷1 ) a 误差函数为e r r n : 第二章g 7 2 3 1 语音编解码器 1 3 e r r n = r 月 一,研】= 町,z 卜g 罗a - k b i n m 1 ( 2 4 0 ) 肠 参数的估计和量化是基于语音的分析综合( a n a l y s i s b y s y n t h e s i s ) 方法。g 的 估计和量化按如下顺序进行:首先计算冲击响应矗i 和新的目标矢量,i 】的互相关 函数d j : d 【j = r i n h i n j 】,0 s js 5 9( 2 4 1 ) 估计的增益g 。,为: i 。r ,罢盥唑挫:墨 ( 2 4 2 ) m a x 。j i 一 、 时 加】 然后用对数量化器对增益g 一进行量化。该增益量化器在两种码率下是相同 的,量化间距为3 2 d b ,共2 4 级。以这个量化后的增益g 一为中心,在3 2 d b 到+ 6 4 d b 的范围内,对于每一个增益值,对脉冲的符号和位置进行优化。这一过程对所有奇 数位置和偶数位置处理一遍。最后选择一组使e 玎【n 】均方误差最小的量化参数,并 ,气n 、 把最优的脉冲位置和增益传给解码器。这里对脉冲位置采用组合数r :l 即c 羔编 朋, 码,结果发往接收端。由于固定码本中码字的个数不是2 的幂,所以将4 个子帧中 每一个子帧的最高4 位组合起来,形成一个1 3 位码字,从而节省了3 位。 为了提高短基音周期下的语音质量,采取了如下措施:如果第0 和第1 子帧的 k 小于5 8 或者第2 和第3 子帧的k 小于5 8 ,则在量化时采用一串周期为k 或k 的狄拉克函数来替代原来位于小。的单一狄拉克函数。采用一串狄拉克函数还是单一 狄拉克函数是以最小均方差的计算为依据的。在此采用使最小均方误差最小的激励 形式,并将参数传递给解码器。 ( 8 ) 低速率下激励码本搜索( a c e l p 算法) g 7 2 3 1 采用了解析码本的形式,所以解码器利用传输码流本身的信息,就可以 重构码矢和码本增益,而不需要象通常的矢量量化方法那样,去搜索一个具体的码 本。在低速率版本中使用的每一个码矢量都是有4 个位于不同样点子集的单位脉冲 构成,因而被称为代数码本。为了简化搜索,g 7 2 3 1 规定,这4 个脉冲或者全部位 于偶数点,或者全部位于奇数点。究竟位于奇数点,还是位于偶数点,编码时用一 个专门的比特表示,该比特成为栅比特( g i ab i t ) 。固定码本搜索的任务就是要确定 这些单位脉冲的极性、增益、和位置。在本编码器中,通过最小化加权语音信号和 加权重构语音信号的均方误差来实现。 a c e l p ( a l g e b r a i c c o d e e x c i t a t i o nl i n e a r - p r e d i c t i o n ,代数码本线性预测) 算法 基于嵌入式系统低速率语音编解码的研究与实现 为:选用4 个脉冲,并且以相关系数作为选择依据。 在固定码本搜索过程中,选用了一个1 7 位的代数码本,每个固定码矢量最多包 含4 个非零脉冲。这4 个脉冲的位置和符号如表2 1 所列。 表21a c e l p 激励码本 符号位置 1 1 l l o ,8 ,1 6 ,2 4 ,3 2 ,4 0 ,4 8 ,5 6 2 ,1 0 ,1 8 ,2 6 ,3 4 ,4 2 ,5 0 ,5 8 4 ,1 2 ,2 0 ,2 8 ,3 6 ,4 4 ,5 2 ,( 6 0 ) 6 ,1 4 ,2 2 ,3 0 ,3 8 ,4 6 ,5 4 ,( 6 2 ) 所有脉冲的位置可以同时右移一位( 位置数全为奇数) ,这需要一个额外的位来表征。 特别值得注意的是最后两组脉冲中的最后一个脉冲位置位于本子帧范围之外,这表 明他们实际上是不存在的。 每一个脉冲的位置用3 位编码,符号用1 位编码。这样总共用1 6 位表征4 个脉 冲,另外还有一位表示移位信息,这样就构成了1 7 位固定码本。 码本的搜索采用均方误差最小准则。即加权语音信号,l hi 与加权合成的语音信 号均方误差最小,如下式所示: e = l i t - g h v ;1 1 2 ( 2 4 3 ) 目标矢量r 是由加权语音信号减去零输入响应及自适应码本的贡献得到的。g 是码本增益,k 是代数码本中标号为宇的激励,h 是下三角t o e p l i t z 矩阵,主对角 线为 ( 0 ) ,次对角线依次为,l ( 1 x 人,h g 一1 ) ,其中 如) 为加权合成滤波器s ( z ) 的冲 击响应。因此最优码字是使下式最大的码矢量: 其中d ;爿。是目标矢量,k 和冲击响应矗幻) 的相关函数, 应的协方差矩阵。在码本搜索之前,先计算矢量d 和矩阵庐。 d ( 小量,【, k 一, ,o s ,s 5 9 对称矩阵( f ,j ) 的计算如下: ( 2 4 4 ) 西= 眉7 抒是冲击响 ( 2 4 5 ) 妒;兰 k f 五k 一儿0 s i - :5 9 ,川 ( 2 4 6 ) 值得注意的是,为了加速搜索过程,只有需要的元素才被计算,并且设计了高 效的存储结构。 j 一飞 一0 山! k 声 曙i 墨 0 第二章g 7 2 3 1 语音编解码器堕 由于激励矢量只包含4 个非0 脉冲,因此可以设计快速搜索算法。搜索采用4 层循环,分别对应4 个脉冲位置,每进入一个循环,加入一个新的脉冲的贡献。相 关函数为: c = a 。d k 。 + a ;d k l + o :d 脚:】+ a :d k 。 ( 2 4 7 ) 其中m 。是第k 个脉冲的位置,嘶是它的符号,取( 1 ) 。偶数脉冲位置的能 量如下: = ( m o ,”o ) + 妒( m 1 ,m 1 ) + 2 a o 口1 驴o ,m 1 ) + 如:,m :) + 2 k 。口:。,m :) + a 。a ,妒。,”:) 】 ( 2 4 8 ) + ,m ,) + 2 k 。口,庐如。,m ,) + q 口,b 。,m ,) + a 2 a 妒( m :,m ,) 奇数位置时的能量将用偶数位置时的能量逼近,而该偶数位置是由奇数位置向 前移动个样值形成的。为了简化搜索过程,修改了函数d , 和声( m 。,m :) 。简化过 程如下( 在码本搜索前进行) :首先定义s d 】,并生成d _ j 】: 枷 | 鼢s 2 j + 1 】+ 1 - 却s i g n m ( d 2 j ) + , ,f 岍1 1 c z , 信号d 。为d 。 ,】= 龇,m ,】。其次修改矩阵妒,加入s d 的信息,即 妒矗,) 一s b m ,o ,) ,相关函数如下: c = d b 。 + d b 1 + d + k : + d b , ( 2 5 0 ) 能量为: s = 妒如。,m 。) + 妒。( 坍,m 。) + 劫( m 。,m ,) + 妒。:,m :) + 2 瞄如。,聊:) + 庐b ,m :) 】 ( 2 5 1 ) + 矿。b ,m 。) + 2 函。b 。,m ,) + 庐( m 。,优,) + 妒1 b :,m 。) 】 下面的优化算法进行集中搜索,从而进一步简化了搜索过程。在进入最后一层 循环之前,先检查预先计算的门限值。只有超过该门限时,才进入最后一层循环。 进入最后一层循环的次数是固定的,因而只搜索了码本中的很少一部分。门限值根 据相关函数c 计算得到。在码本搜索之前,先计算与前3 个脉冲有关的最大绝对相 关值和平均相关值m a x ,和a v ,。得门限值如下: 靠r 3 = 口v 3 + i i n a x 3 一a v 3 ) 2 ( 2 5 2 ) 只有当绝对相关值大于门限时,才进入第4 层循环。值得注意的是这种方法将 导致计算复杂度的不确定性为了进一步控制搜索过程,进入最后一层循环的次数将 被限制在6 0 0 以内。( 如果忽略前3 层循环的开销,最坏情况下,平均每予帧循环 1 5 0 次,即只访问1 5 0 8 次码本) 码本有这样一个特性:当基音延时小于6 0 时,一个由l t p 基音预测器增益失 些基于嵌入式系统低速率语音编解码的研究与实现 量序号p g f h d 。决定的基音贡献被加入到码字中。也就是说当最优的代数码字v k 被 搜索到之后,需要对v k 进行如下修正: v b = v b 卜g ( p g l n d ,卜b l ,一e ( p g l n d 。) ,其中f l ( p g l n d ,) 和s ( p g 胁d 。) 已列 成表,厶是整数基音周期。值得注意的是在码本搜索之前,如果l t6 0 ,则冲击响 应也要作类似的修正。 最后,在得到序列v i nl 后,需要用对数量化器对增益g 进行量化。逐步搜索增 益量化表,找到使i g g 小o ,s2 3 最小的索引序号- m g l n d ,a ff ( 9 ) 激励信号的解码 激励脉冲的解码如下: ( 1 ) 首先得到最大增益序号m g l n d ,: m g l n d f = g l n d f p g l n d f g s i z e ( 2 5 3 ) 其中g s z ez2 4 是量化增益表( g ) 的大小。 ( 2 ) 对于高码率,脉冲的位置用组合数f 嚣1 解码,其中m 取6 或5 。对于低码 率,可以直接从位置序号求得脉冲的位置。栅格表明脉冲位置的奇偶性。从符号位 得到脉冲的符号。 对于高码率,只有当l ic 5 8 时,才对脉冲序列进行解码。然后用解码后的参数 重建y k 】矢量。最后将自适应码本矢量“i 】与固定码本矢量v k 相加得到激励矢量 p k 。 0 0 ) 基音解码 基音解码按如下方法进行: 首先求得偶数子帧的基音预测器延时: 工i = p l n d ;+ 1 8 , f = 0 ,2 ( 2 5 4 ) 其中,p l n d 是偶数子帧的矢量序号。 接着得到奇数子帧的基音预测器延时: = l f 1 + f , i = 1 , 3 ( 2 5 5 ) 其中。s - 1 ,o + 1 ,+ 2 第,子帧的基音预测器增益矢量由增益序号p g l n d ;得到。对于低码率,这 个序号包含了基音预测器的增益矢量的信息和激励脉冲序列增益的序号。因此基音 增益序号p g l n d ;由下式可得: p g i n d j = f g l n d i g s i z e , - f ,j = o , a ,3 ( 2 5 6 ) 第二章g 7 2 3 1 语音编解码器 其中l x j a 示 x 的最大整数。对于高码率,如果l ,5 8 ,则基音增益序号也 由上式获得。l 比时p g l n d ;用于大小为1 7 0 的增益矢量码本。否则,该序号用大小 为8 5 的增益矢量码本,并且包含了额外的脉冲列位的信息,在这种情况下基音增益 序号表示为: p g l n d ;= f 加d j g s i z e lj ,i 一0 , a ,3 基音预

温馨提示

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

评论

0/150

提交评论