




已阅读5页,还剩53页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
i m mp pe eg g- -4 4 音音频频编编码码中中 c ce el lp p 编编解解码码的的原原理理、算算法法和和验验证证 摘摘 要要 drm 即数字调幅广播,是数字化广播的候选方案之一。它提供新业务,同 时仅改变发射系统的信源、编码和调制模块。通常数字音频质量由数据率决定, 然而,高数据率需要高传输带宽。因此,需要对数字音频信号进行压缩,即信 源编码。信源编码是 drm 的关键技术之一,编码质量直接决定了声音信号的 质量和系统传输所需要的频带宽度。 本文阐述了 mpeg-4 音频编码中 celp 编解码的原理、算法和验证。作者 阅读了大量 mpeg-4 中 celp 的语音编码标准及有关文献。并在vc 的编程 环境下,用 c 语言编程实现 mpeg-4 中码激励线性预测的编解码。 在论文安排上,首先,作者简单介绍了论文背景和所做工作;其次,较深入 地阐述了 celp 编码原理;然后,详细讲述了mpeg-4 音频编码中 celp 的 实现原理;接着,讲述了 celp 编解码在 pc 机上的详细实现过程;最后,对 实验结果进行了分析和主观评估。 关关键键词词: 语音编码; celp;mpeg-4 ii a ab bs st tr ra ac ct t drm,which means digital am broadcasting,is one of the digital broadcasting schemes.drm system supports new bussiness through changing only message resource,coding and modulation modules.although digital audio quality is determined by data rate,high data rate requires high transfer bandwidth.so,we need compress digital audio signal,that is source coding.source coding is one of the key technologies in drm,the quality of source coding determines the quality of the speech and the required system bandwidth. this paper puts emphasis on theory, algorithm and verifications of celp codec in speech coding of mpeg-4.the author read a great amount of literature and standard papers and then programmed and made the realization of celp codec. in this paper,the author firstly introduces the background and his work.then,he details the theory of celp coding.thirdly,the author discusses realization theory of celp in mpeg-4 speech coding.next,he presents the realization process of celp coding at length.finally,the author analyses and subjectively evaluates the result. keywords: speech coding;celp;mpeg-4 i 目目 录录 第第 1 章章 引引 言言.1 1.1 应用背景.1 1.2 中低速率语音编码技术.3 1.2.1 多脉冲线性预测编码3 1.2.2 码激励线性预测编码3 1.2.3 多带激励语音编码4 1.3 本文的安排和作者的工作概要.4 第第 2 章章 码激励线性预测编码理论码激励线性预测编码理论.5 2.1 celp 的基本原理.5 2.1.1 矢量量化(vq) .5 2.1.2 合成分析法 a-b-s(analysisbysynthesis) 7 2.1.3 感觉加权滤波器(perceptually weighted filter).7 2.2 celp 编码算法.9 2.2.1 celp 算法9 2.2.2 celp 码本的搜索算法9 第第 3 章章 mpeg-4 中的码激励线性预测编码中的码激励线性预测编码.12 3.1 概述 .12 3.1.1 mpeg-4 celp 编码器的功能.12 3.1.2 mpeg-4 celp 编码器的设置.13 3.1.3 mpeg-4 celp 编码器构置表15 3.2 解码器设计.16 3.2.1 拆帧.16 3.2.2 lpc 解码和内插.16 3.2.3 激励信号的产生21 3.2.4 lpc 合成滤波器.28 3.2.5 后处理29 ii 3.3 编码器设计 .31 3.3.1 预处理31 3.3.2 lpc 分析.31 3.3.3 lpc 量化和内插.31 3.3.4 lpc 分析滤波器.33 3.3.5 感觉加权滤波器.33 3.3.6 码本搜索.33 3.3.7 装帧.39 第第 4 章章 pc 机上机上 mpeg-4 中码激励线性预测编码算法实现中码激励线性预测编码算法实现.40 4.1 概述 .40 4.2 高级语言的优化 .40 4.2.1 程序设计的优化.40 4.2.2 算法的优化.40 4.3 celp 编解码的具体实现.42 4.4 mpeg-4 中 celp 编解码性能的分析.45 第第 5 章章 总结总结.50 致致 谢谢.51 参考文献参考文献.52 附附 录录.53 1 第第 1 1 章章 引引 言言 1 1. .1 1 应应用用背背景景 模拟的调幅广播发明于二十世纪二十年代,其后虽然也有一些技术上的进步, 但系统体系基本没变,存在着传输质量差、业务单一、易被干扰等比较明显的 缺点,随着 fm、电视和互联网等新型媒体的出现,模拟调幅广播的地位受到 了重大挑战,用户规模迅速下降。因此如何利用现有频段和技术对调幅广播系 统进行改造,使之能够满足时代的需要成为了各国广播运行部门和技术部门的 一个重要课题。 普遍的共识是利用数字通信技术对发射系统进行数字化改造,提供新业务的 同时保持模拟调幅业务的平滑过渡,仅改变发射系统的信源、编码和调制模块, 尽可能利用现有的各种发射机,通常这种方案被称为数字调幅广播,或者数字 am 广播。 目前虽然对于数字化广播有多种候选方案,但最成熟的并且已经成为国际标 准的是所谓的 drm 数字广播技术, drm 是研发该技术的 digital radio mondiale(法语单词)的简称, drm 数字广播于 2001 年成为 itu 标准, 2002 年通过 iec 审核进入实施阶段。 drm 系统是经过严格试验的、技术成熟 的系统,并且 drm 是目前唯一的非专利的数字广播系统,各国在实施中不会 遇到所谓的专利壁垒。和其他数字广播系统相比drm 数字调幅广播具有以下 优点: 大幅度降低广播功率; 显著提高信号传送的音质; 大大提高调幅频段信号传送的可靠性; 与现有模拟信号兼容,可以实现模拟数字信号同播,实现向全数字化的平滑 过渡; 不改变现有频段分配,充分利用现有中短波频谱资源; 对现有发射机进行成本有限的改造,不需要增加新的发射机; 提供新的附加业务和数字传输 在系统设计上 drm 采用了以下设计思想: 2 采用高效的信源变码技术以满足声音质量要求的前提下有效降低码率; 采用高效的信道编码和调制技术对抗多径传输和频率选择性衰减等信道影响; 提供灵活高效的信源复用方式满足不同的业务需求。 系统的原理框图如图 1-1 所示。 图 1-1 drm 系统的原理框图 通常数字音频的质量由数据率决定,但高的数据率需要高的传输带宽,数据 压缩技术的出现解决了数字广播中音频质量和带宽的矛盾。drm 系统中的数 据压缩体现于语音编码(信源编码),其质量直接决定了声音信号的质量和系 统传输所需要的频带宽度。 在 drm 标准中根据不同的业务需要定义了三种不同的语音编码技术:先进 音频编码 aac、码激励线性预测 celp 和谐波矢量激励编码 hvxc,除此之 外 drm 系统还采用了 sbr 频带复制技术,它可以在进行音频编码之前将带宽 压缩为原来的 1/2,解码后通过低频段波形和附加信息恢复出高频信息,在保证 音质的同时可以降低 30%的数据率。 drm 系统要求在比较低的数据率下达到或 超过 fm 的音质,系统中使用的三种语音编码都源于mpeg-4 的子集。 mpeg-4 标准的音频编码部分给出了这三种编码的算法。本文定位于研究 mpeg-4 音频编码中 celp 编码的原理、算法验证。 数据服务预编码 音频信源编码 fac 信息预编码 sdc 信息预编码 复 用 器 信 道 编 码 信 道 编 码 o f d m 调 制 器 导频 信号 3 1 1. .2 2 中中低低速速率率语语音音编编码码技技术术 1 1. .2 2. .1 1 多多脉脉冲冲线线性性预预测测编编码码 对余量信号进行深入研究后,与原始语音信号相反,余量信号中的小信号对 合成语音的质量影响不大,如果对余量信号进行削波处理,即将幅度低于某一 阀值的所有信号全置成零,这样,只要只要适当调整阀值就可以使余量信号的 90%的样点值为零,用余下的幅度较大的信号作为激励信号源,其合成语音并未 产生明显的畸变。这就提供了一种新的编码途径。1982 年,bishnu s.atal 和 joel r.remde 首先提出多脉冲线性预测编码方案。在此方案中首先规定激励脉 冲序列在一定时间间隔中只能出现数目有限的非零脉冲,然后每个脉冲的位置 和幅度用合成分析法和感觉加权均方误差最小的判决准则进行优化,最后用优 化的脉冲序列表示余量信号作为激励信号源。这样既压缩了编码速率,有改善 了合成语音的质量。这样的编码系统称为多脉冲线性预测编码(multi-pulse linear predictive coding),简称 mplpc。在这种编码方案中,为了求出最佳的 脉冲序列,其运算量相当大,而且传送脉冲幅度和相位的信息量也比较大。由 于一般多脉冲激励每 10ms 时间内至少需要 8 个非零脉冲,每个脉冲需要用幅 度和相位两个参数来描述,这样非零激励脉冲传输信息为2*800 个参数/秒。 mplpc 可以在 9.616kbps 范围内获得较好的合成语音质量。如果再降低编码 速率,则合成语音质量将会变的很差,与多脉冲激励编码相似,但是更实用的 编码方法是规则脉冲激励语音编码 (regular-pulse excitation coding),简称 rpe-lpc,rpe-lpc 是 ed.f.deprettere 和 peter kroon 在 1985 年提出的,它 用一组间距一定的非零的规则脉冲代替余量信号,该脉冲的相位(即第一个非 零脉冲出现的位置)和每个非零脉冲的幅度可以按照mplpc 同样的方法进行 优化。在 rpe-lpc 的激励脉冲序列中,因为各个非零脉冲的相互位置是固定的, 所以它的计算量和编码速率与mplpc 相比都要小很多。 1 1. .2 2. .2 2 码码激激励励线线性性预预测测编编码码 众所周知,在速率低于 1bit/采样的情况下,采用矢量量化 (vq)技术表示 波形是非常有效的。 1985 年, manfred r.schroeder 和 bishnu s.atal 提出 了用 vq 码本中的码字作为激励源的线性预测编码技术。码本中每一个存储的 4 码字矢量(简称码矢量)都可以代替余 量信号作为可能的激励信号源。在编码 时,对码本中的码矢量逐个进行搜索, 找到与输入语音误差最小的合成语音的 码矢量,只要将该码矢量的标号传送给 接收端,在接收端用存储的同样的码本 根据收到的标号恢复出相应的码矢量作为激励。这样的编码系统,称为码激励 线性预测编码 (code excitated linear predictive coding),简称 celp,celp 在 4.8-16kbps 范围内可以获得质量相当高的合成语音,并且抗噪声和多次转接 性能也很好。 1 1. .2 2. .3 3 多多带带激激励励语语音音编编码码 美国 mit 林肯实验室提出了多带激励语音编码方案 (multi-band excitation),简称 mbe,它将语音谱按基音谐波频率分成若干个频带,对各带 信号分别判别是浊音 (v),还是清音 (u)。然后根据各带是 v 或是 u,才用不 同的激励信号产生其合成信号,最后将各带信号相加,形成全带合成语音。分 析过程采用了类似 a-b-s 的方法,提高了语音参数提取的准确性,在2.4- 4.8kbps 速率上能够合成出质量比传统的lpc 声码器要好的语音,具有较好的 自然度和容忍环境噪声的能力。 1 1. .3 3 本本文文的的安安排排和和作作者者的的工工作作概概要要 下一章介绍一下码激励线性预测编码理论,主要介绍celp 编码原理、矢 量量化技术( vq)和合成分析法 abs。第三章主要讨论 mpeg-4 中的码 激励线性预测编码,并对 mpeg4 的 celp 编码和其它 celp 编码的进行了 比较。第四章主要叙述 mpeg-4 中码激励线性预测编码的算法在pc 机上实 现,并对实验结果进行了分析和主观评估。 作者的主要工作就是阅读 mpeg-中 celp 的语音编码标准及有关文献,较 为深入地理解 celp 编码原理。然后在 vc 的编程环境下,用 c 语言编程实 现 mpeg-4 中码激励线性预测的编解码。不用考虑编解码的实时性,只要求对 编解码的算法进行验证,即对语音信号进行编码,然后对编码后的语音信号进 行正确的解码,能正确恢复语音信号即可。 5 第第 2 2 章章 码码激激励励线线性性预预测测编编码码理理论论 1985 年,manfered r.schroeder 和 bishnu s.atal 在 ieee icassp 年会 上首先提出了用码本作为激励源的线 性预测编码技术( celp)。celp 以高 质量的合成语音及优良的抗噪声和多次转接性能,在4.816kb/s 速率上得到 了广泛的应用, 1988 年,美国政府标准语音编码器在4.8k 速率采用由美国国 防步与 at1989 年 8kbps 速率的北美数字移动通信全速率编译码器标准采用修改的celp 技术 矢量和激励线性预测编码( vselp);1992 年 ieee 通过了用短延时码激励线 性预测编码( ld-celp)作为 16kbps 语音编码标准( g.728);1996 年,国 际电联电信标准部门第 15 研究组发布 “使用共轭结构代数码激励线性预测的 8kbit/s 语音编码 ”标准(g.729)。 2 2. .1 1 c ce el lp p 的的基基本本原原理理 如图 2-1 为 celp 的基本原理方框图,图中每帧所需的激励序列选自某个 码本中的一个波形样本矢量,当用这个码矢量去激励合成滤波器时,产生的合 成语音和原始语音之间的感知加权误差最小。celp 编码技术充分利用了线性 预测技术、矢量量化技术和合成分析技术,并采用感觉加权滤波器来衡量语音 的失真度,故 celp 能得到较高质量的合成语音,并具有较强的抗干扰能力。 图 2-1 2 2. .1 1. .1 1 矢矢量量量量化化 ( (v vq q) ) 6 如前所述, celp 编码利用一部分的语音余量信号传送到接收端作为激励信 号,它对余量信号处理的方法与其它不 同,采用的是对余量信号进行矢量量化 (vector quantization )的方法。矢量 量化是相对标量量化而言的,对语音信 号波形的每个取样值或语音信号的每个 参数值分别独立地进行量化,称为标量 量化。它认为取样值或参数值之间是互相独立的、互不相关。而矢量量化是将 语音波形的取样值或语音的参数分成一些组,每组构成一个矢量,然后分别对 每个矢量进行量化。即各矢量中的元素是作为一个整体联合进行量化的。也就 是说,矢量量化是把一个 n 维随机矢量映射成另一个离散取值的实n 维矢x 量的过程,记为y (2- q xy 1) 这里,y 是某个有限矢量集合 y 中的一个矢量, y 称为码本( codebook)。 矢量量化研究的基础是信息论的一个分支:“率畸变理论 ”,该理论指 出,无论对于何种信息源,即使是无记忆的信息源(即各个采样信号之间相互 统计独立的情况),矢量量化总是优于标量量化,且矢量维数越大优势越明显, 应此矢量量化将编码技术与进一步减小比特数联系起来。当然矢量量化增加了 复杂度,即需要从码本中搜索相应的矢量进行编码和传送。另一方面解码端需 要更多的存储器来提供码本的复制本。 vq 的两个关键问题是产生和搜索码本。 码本的产生可用迭代的方法产生,利用包括有代表观察量的语音的训练序列。 先假定一个起始码本,而最佳的码字的获得是由平均所有训练序列的矢量,它 能映射到原始的码字。至于搜索问题,提高码本搜索的速度有两种方法:改变 码本的结构和改变搜索策略。有些方法是从这两方面同时着手的。主要的方案 有: 1. 树搜索 vq 系统 将码本形成树状,进行 vq 编码时从树根开始逐层搜索。最简单的是二进 制树,这时码本容量 m 应等于 2 的方幂,用分裂的方法从树根开始形成每层 的码本。这种方法的搜索算法比较简单,但是由于要存储每层的码字,存储量 比全面搜索方法增加了一倍。 2. 多级 vq 系统 7 多级 vq 系统由若干个普通的全搜索vq 系统级联而成。按照最近邻准则 得到下一级 vq 系统的码字,并计算出 误差矢量,该误差矢量又作为下一级 vq 系统的输入,依次类推。这种方法 可以显著减小计算量和存储量。 3. 分裂式 vq 这种方法适用于 lsp 特征矢量。将维数较高的矢量分裂为两个维数较低的 矢量分别量化,由此实现现有技术不可能实现的高维数矢量量化。 4. 波形/增益 vq 在对以 lpc 分析为基础得到的特征矢量进行vq 时,声道的幅度谱和描 述声音强度的增益已经互相分开,将它们分别量化显然是有益的。 在 mpeg-4 的 celp 编码中上面的搜索方案,除了第一中,其余的都用到 了。 2 2. .1 1. .2 2 合合成成分分析析法法 a a- -b b- -s s(a an na al ly ys si is sb by ys sy yn nt th he es si is s) 在 16kbps 数码率以下进行高质量语音参数或混合编码中,能用与余量信号 编码的比特数是较小的。如对余量信号进行直接的量化,并且使余量信号与它 的量化值之间的误差达到最小,并不能保证原始语音与重建语音之间误差最小。 只有采用合成分析法来求得余量信号的编码量化值,才能使得重建语音与原始 语音的误差最小。 合成分析法即是将综合起引入编码器,使之与分析器结合,在编码器中产 生与译码器端完全一致的合成语音,将此合成语音与原始语音比教,根据一定 的误差准则,来调整计算各个参数,使得二者之间的误差达到最小,这种方法 即成为合成分析方法。 2 2. .1 1. .3 3 感感觉觉加加权权滤滤波波器器( p pe er rc ce ep pt tu ua al ll ly y w we ei ig gh ht te ed d f fi il lt te er r) 感觉加权滤波器的依据是人耳听觉的屏蔽效应(masking effect)。在语音 频谱中能量较高的频段即共振峰处的噪声相对于能量较低频段的噪声而言不易 被感知。因此在度量原始语音与合成语音之间的误差时可以计入这一因素,在 语音能量高的频段,允许二者的误差大些,反之则小一些。为此可以引入一个 频域感觉加权滤波器 w(f)来计算二者的误差如下: 8 (2- /2 2 0 ( )( )( ) s f s fs fw f df 2) 其中 fs是抽样率,分别是原始语音与合成语音的傅立叶变换。不难( )s f ( ) s f 证明,为使 达到最小,在整个积分域内应保持常数值。这 2 ( )( )( )s fs fw f 可以通过调整激励参数使 达到最小值来实现。这样,只要在能量较大的语音 频段内使 w(f)较小,而能量较小的频段内w(f)较大,这就能抬高前者的 误差能量而降低后者的误差能量,为此可取的感觉加权滤波器w(f)在 z 域的表达式 w(z)应为: (2- 1 1 1 ( ) ( ) (/ ) 1 p i i i p ii i i a z a z w z a z az 3) 感觉加权滤波器的特性由预测系数 ai和加权因子 来确定。 取值在 01 之间,由它控制共振峰区域误差的增加。举两个极端为例,当1 时, w(z)1,此时没有进行感觉加权;当0,它等于语 1 ( )1 p i i i w za z 音的 p 阶全极点模型谱的倒数。由此的到的噪声频谱能量分布是一致的。 w(z)的作用就是使实际误差信号的谱不在平坦,而是有着与语音信号谱具有 相似的包络形状。这就是使误差度量的优化过程与感觉上的共振峰对误差的屏 蔽效应吻合,产生较好的主观听觉效果。从听音结果来看,取0 时虽然能 使误差信号的频谱包络趋于与原始语音信号频谱包络一致,但听觉效果并不好, 其原因在于人耳对语音的共振峰更敏感,相应地对其信噪比要求也更高一些, 实际听音的结果表明:在 8khz 采样率下, 取值为 0.8 左右较为适宜。如果 感觉加权滤波器 w(z)与语音合成滤波器 h(z)级联,即得到加权综合滤 波器 h(z/): (2- 1 111 1 11 (/ )( )( ) 111 p i i i ppp iiiiii iii iii a z h zh z w z azazaz 4) 9 当 1 时,h(z/)=h(z)。随着 值的减小,与 h(z/)相应的各共振锋的 带 宽也加大。因此有时 h(z/)被称为频带扩展滤波器或称为误差形成滤波器。 若 h(z)的冲激响应为 h(n),则 h(z/)的冲激响应 hw(n)为 nh(n)。显然,随着 值的减小, hw(n)随 n 的增加而衰减的速度加快。 2 2. .2 2 c ce el lp p 编编码码算算法法 2 2. .2 2. .1 1 c ce el lp p 算算法法 celp 采取分帧技术进行编码,帧长一般为2030ms。celp 编码基于合 成分析( a-b-s)的搜索过程、感觉加权矢量量化 (vq)和线性预测 (lp)技术。 在 celp 中,用从码本中搜索出来的最佳码矢量,乘以最佳增益,代替lp 余 量信号作为激励信号源。 celp 一般将每一语音分成 25 个子帧,在每个子 帧内搜索最佳的码矢量作为激励信号。 图 为 celp 编码示意图。 celp 采用合成分析技术,即在编码过程中以译 码器重建语音的类似方法来确定编码器参数的选择。其中译码器(图中虚线框 部分)是编码器不可缺少的,重建语音是借助于激励信号通过一个基于短时预 测系数的合成滤波器获得的。这个滤波器的参数由线性预测编码(lpc)技 术求得的,而激励信号时在码本中搜索得到的,一般celp 用一个自适应码 本中的码字(码矢量)来逼近语音的长时周期性(基音)结构,用一个固定的 随机码本中的码字(码矢量)来逼近语音的经过短时、长时预测后得到的余量 信号。从两个码本中搜索出来的最佳码矢量,乘以各自的最佳增益后相加,其 和即是 celp 激励信号源。将激励信号输入p 阶 lp 综合滤波器 1/a(z),得到 合成语音信号,与原始语音的误差经过感觉加权滤波器w(z), ( ) s n ( ) s n( )s n 得到感觉加权误差 e(n)。celp 用感觉加权的最小平方预测误差 mspe(minimum squared prediction error)作为搜索最佳码矢量及其幅度的度量 准则。使感觉加权误差平方最小的码矢量即是最佳码矢量。 2 2. .2 2. .2 2 c ce el lp p 码码本本的的搜搜索索算算法法 令 l 表示子帧的长度,、和 e 是 l 维列矢量,分别表示原始语音信号、s s 合成语音信号和加权误差信号。令v 表示正在搜索的激励矢量, i 表示码本中 码矢量的标号,若码本内总共有n 个码矢量,则可记为, ( ) i x 10 i1,2,n。若 gi表示第 i 个码矢量的增益,则激励矢量可写为: (2- ( )( )ii i vg x 5) h 和 w 是 ll 维矩阵,它们的第 j 行元素分别由 lp 滤波器和误差加权 滤波器(感觉加权滤波器)对单位冲激(t-j)的截断的冲激响应组成。如下式 所示, (2- 0 10 110 000 00 0 l h hh h hhh 0 10 110 000 00 0 l w ww w www 6) 合成语音可以表示为激励信号与 lp 滤波器冲激相应的卷积加上它的零输入 s 响应: (0) s (2- ( )(0) ( ) () i i ssh uv1in 7) 式中的 u 在第一级搜索使是零矢量,在第二级搜索时是经过幅度调整的自适应 激励矢量。 加权误差信号为: ( ) i e (2- ( )( )(0)( ) () iii ew ssewhv 8) 上式表示搜索的目标矢量, (0) e (2- (0)(0) ()ew sswhu 9) 如用表示滤波后的码矢量 ( ) i y (2- ( )( )ii ywhx 10) 则第 i 个码矢量的加权误差 是: ( ) i e (2- ( )(0)( )ii i eeg y 11) 11 令 ei表示相应于第 i 个码矢量的误差 的平方和: (2- 2 ( )( )( )( )( ) ( )(0)( )(0)2( )( ) , 2 iiii ti i i ti ti ti ii eeeeee eeg yeg yy 12) 式中 t 表示转置。由上式可知, ei式增益 gi的标号 i 的函数。对于给定的 i 值,最佳增益 gi可用下式计算: (2- ( )(0)( )( ) 220 i ti ti i i i e yeg yy g 13) 由此可知,最佳增益是目标矢量与滤波码矢量的互相关对滤波码矢量能量之比。 (2-14) ( )(0) ( )( ) i t i i ti ye g yy 用表示量化的 gi:ig (2- ii gq g 15) 利用式(2-12)计算满足最小 ei的标号 i。因为式中第一项与标号无关,搜索满 足最小 ei的 i,只要求出使式 (2.12)右侧第二项为最大值时的 i 即可: (2- ( )(0)( )( ) max2 i tii ti i i igyeg yy 最佳标号 16) 如果的量化误差可忽略不计,可将式 (2.14)中 gi代替 代入式(2-16)得:ig (2- 2 ( )(0) ( )( ) max i t i ti i ye i yy 最佳标号 17) 从码本中搜索最佳激励矢量的过程是:由式(2-17)计算出最佳码矢量的标 号 i,再由式 (2-14)计算出最佳增益即可。 12 第第 3 3 章章 m mp pe eg g- -4 4 中中的的码码激激励励线线性性预预测测编编码码 3 3. .1 1 概概述述 celp 解码器主要是由激励源和合成滤波器构成。一般在合成滤波器后面还 要加上一个后置滤波器。激励源由固定码本和自适应码本构成,固定码本合成 随机部分,自适应码本合成周期部分。解码的时候,根据接收到的码本索引在 码本中找到相应的码字,再乘上相应增益就可得到激励信号。然后将激励信号 送入线性预测合成滤波器,合成语音。合成滤波器的系数是通过内插lpc 系 数得到的, lpc 系数是通过接收到的 lpc 索引包重建的。最后,将合成语音 通过后置滤波器,增强语音质量。 mpeg-4 中的 celp 编码器比普通 celp 编码器灵活的多。普通 celp 编 码器只提供一种比特速率,都是针对特定的应用,而在mpeg-4 中,可以传 输不同的比特速率,可以应用在许多不同的场合。它解码器的复杂度是可以调 节的,等等。高质量的压缩只是众多特性中的一项。 3 3. .1 1. .1 1 m mp pe eg g- -4 4 c ce el lp p 编编码码器器的的功功能能 mpeg-4 celp 编码器提供以下功能: 多比特率 比特率可调 带宽可调 13 复杂度可调 1多比特率 采样率可以是 8k 或 16k,相应的带宽是 200-3400hz,50-7000hz。支持 从 4kbps 到 24kbps 的多种码率,可以用固定比特率和可变比特率传输,8k 采 样的固定传输比特率见表 3-1,16k 采样的固定传输比特率见表3-2。 表 3-18k 采样的固定比特率 标量量化时的比特率(比特/秒)矢量量化时的比特率(比特/秒) 4325, 4725, 5125, 5534, 5834,3850, 4250, 4650, 4900, 5200, 6134, 6650, 6950, 7250, 7550,5500, 5700, 6000, 6300, 6600, 7850, 8050, 8250, 8650, 9250,6900, 7100, 7300, 7700, 8300, 9650, 10050, 10450, 10850, 11250,8700, 9100, 9500, 9900, 10300, 11450, 11650, 12900, 13300, 13700,10500, 10700, 11000, 11400, 11800, 13900, 1410012000, 12200 表 3-2 16k 采样的固定比特率 标量量化时的比特率矢量量化时的比特率 (比特/秒)(比特/秒) 13667, 15867, 18200, 13267, 15067, 17000, 9333, 20133, 24000 23200 2比特率可调 采样率为 8k 时,通过增加增强层,可以以2kbps 的步长调整码率。 3带宽可调 采样率为 8k 时,为增强重建信号的可懂度和自然度,解码器可采用高频再 生技术将信号带宽扩展到 7khz。 4复杂度可调 采样率为 16k 时,有 3 种复杂度等级的解码器,其定义如下表3-3 所示。 14 表 3-3解码的复杂度 等级 复杂度等级描述 c3 改良的lpc内插(lsp):(全解码) c2 简化的lpc内插(lar) c1 降低综合滤波器的阶数 复杂度等级 c2 是语音质量和编码复杂度的折中最好。 3 3. .1 1. .2 2 m mp pe eg g- -4 4 c ce el lp p 编编码码器器的的设设置置 mpeg-4 celp 编码器除了需要设置比特率外,还要设置以下3 个参数: 1采样率 mpeg-4 celp 支持 8khz 和 16khz 两种采样率。 16khz 采样时,固定码 本采用规则脉冲激励( rpe)形式,而 8khz 采样时,固定码本采用多脉冲激 励(mpe)形式。 2量化模式 mpeg-4 celp 支持标量量化和矢量量化两种方式,标量量化是对lars 进行的;矢量量化是对 lsps 进行的。 3比特率控制 若比特率控制使能,则可以产生在2 个固定比特率之间的任意比特率。 3 个参数结合起来就产生了如下图3-1 所示的 8 种编码方式。 图 3-1 mpeg4 中 celp 编码器可能的工作模式 下面对各种模式进行较为简单的说明: 模式 i 和模式 viii 分别是采样率 16k 和 8k 时的默认模式。 15 模式 i 16k 采样的默认模式。标量量化,比特率控制使能了。在这个模式下,可以 产生 13.667-20.133kbit/s 和 21.8-24kkbit/s 的比特率,延迟是比特率的函数。 模式 2 8k 采样,标量量化,比特率控制使能,可以产生4250-12200 bit/s 的比特 率。 模式 3 16k 采样,标量量化,比特率不可变。只能产生固定的比特率 13667,15867,18200,20133,21800,240000 bit/s。优点是延时较低。 模式 4 8k 采样,标量量化,比特率固定。比模式6 的复杂度低,因为用标量量 化代替的矢量量化,结果时比特率较高。比特率和延时的关系见表 模式 5 16k 采样,矢量量化,比特率可变。比模式1 复杂,优点是在同样的比特 率下获得更好的效果。 模式 6 8k 采样,矢量量化,比特率可变。可以产生3850-12200 bit/s 的比特率。 延时较大。 模式 7 16k 采样,矢量量化,比特率固定,和模式5 相似。 模式 8 8k 采样时的默认模式,矢量量化,比特率固定。比特率和延时的关系见表 编码器工作在模式 1 和模式 2 的时候,可通过熵编码进一步降低比特率。 3 3. .1 1. .3 3 m mp pe eg g- -4 4 c ce el lp p 编编码码器器构构置置表表 表 3-4 编码器构置表 模式 iiiiiiivvviviiviii 采样率(khz) 168168168168 量化方式 sqsqsqsqvqvqvqvq 比特率控制 ononoffoffononoffoff 比特率可调 16 复杂度可调 无损编码 带宽可调 比特率可变 激励形式 rpemperpemperpemperpempe 最小延时 (ms) 最大延时 (ms) 28.75 41.75 25 85 18.75 41.75 15 45 28.75 41.75 25 85 18.75 26.75 15 45 3 3. .2 2 解解码码器器设设计计 图 3-2 mpeg-4 celp 解码的方框图 mpeg-4 celp 解码的方框图见图 3-2,其中包括一个固定码本和一个自 适应码本,采样率也分 8k 和 16k 两种。 解码主要分以下几步: 1拆帧 2lpc 解码和内插 3激励信号的产生 4lpc 合成滤波器 17 5后处理 解码是工作在每一帧的基础上的,每一帧又分成几个子帧。帧信息是从比 特流帧提取出来的。 3 3. .2 2. .1 1 拆拆帧帧 根据编码器的工作模式,对应相应的帧结构,详细的帧结构可参考标准。 根据帧结构从接收的数据帧中恢复相应的比特信息。 3 3. .2 2. .2 2 l lp pc c 解解码码和和内内插插 这部分主要解决两个问题: (1)从 lpc 索引中恢复 lpc 系数。 (2)为每一子帧内插恢复的 lpc 系数。 根据量化模式的不同(标量、矢量),恢复进程也分成两部分: 1lar 解码(标量量化) 先判断 2 个参数:无损编码模式( losslescodingmode)和解码器复杂度 等级(decoder complexity level)。 见图 3-3,根据 2 个参数选择相应的解码器 图 3-3 lar 解码模式图 (1) lpc 参数解码 第一步:决定 lpc 的阶数 在这里 lcp 的阶数是固定的, 16k 采样的时候是 20;8k 采样的时候是 10。 第二步: lpc 索引的拆包 18 就是将拆帧得到的 lpc 索引包( lpc_indices)进行处理得到 lpc 系数 的索引号。 采样率是 16k 时,对索引包进行下面的处理就可以得到lpc 系数的索引 号。 indices0 = ( lpc_indices0 / 14); indices1 = ( lpc_indices1 / 1155); indices2 = (lpc_indices1 / 77) mod 15); indices3 = ( lpc_indices0 mod 14); indices4 = ( lpc_indices2 / 156); indices5 = (lpc_indices2 / 12) mod 13); indices6 = ( lpc_indices2 mod 12); indices7 = (lpc_indices1 / 7) mod 11); indices8 = ( lpc_indices3 / 7); indices9 = ( lpc_indices4); indices10 = ( lpc_indices5); indices11 = ( lpc_indices1 mod 7); indices12 = ( lpc_indices3 mod 7); indices13 = ( lpc_indices6); indices 14 = ( lpc_indices 7 / 36); indices 15 = (lpc_indices 7 / 6) mod 6); indices 16 = ( lpc_indices 7 mod 6); indices 17 = ( lpc_indices 8 / 36); indices 18 = (lpc_indices 8 / 6) mod 6); indices 19 = ( lpc_indices 8 mod 6); 采样率是 8k 时,相应的处理如下: indices 0 = ( lpc_indices 0 / 108); indices 1 = ( lpc_indices 1 / 143); indices 2 = ( lpc_indices 2 / 182); indices 3 = (lpc_indices 2 / 13) mod 14); indices 4 = (lpc_indices 1 / 11) mod 13); 19 indices 5 = ( lpc_indices 2 mod 13); indices 6 = (lpc_indices 0 / 9) mod 12); indices 7 = ( lpc_indices 1 mod 11); indices 8 = ( lpc_indices 0 mod 9); indices 9 = ( lpc_indices 3 ); 第三步:查表 用前面得到的 lpc 索引号,通过查表求得反射系数rfc; for (k=0; k = 0; n-) rpe_ampsn = (rpe_index mod 3) - 1; rpe_index = rpe_index / 3; 增益的解码,就是图中的 gain decoder。 自适应码本的增益 ga 通过查表 cba_gain获得 if (gain_indices0 31) ga = -1 * cba_gain(64 - gain_indices0) - 1); 23 else ga = cba_gaingain_indices0; 固定码本的增益 gf 查表 cbf_gain和 cbf_gain_dif 一帧中的第一个子帧 gf = cbf_gaingain_indices1; 其它子帧 gf = cbf_gain_difgain_indices1 * prev_gf; 自适应码字 ya 的产生 for (n = 0; n = 0; i- ) for ( j = 0; j k) pul_posi = pos_tblipos_idxi; num_pulse 是脉冲的个数,在 nb_configuration 中设置了。 num_bit_posi 是对第 i 个位置脉冲编码用的比特数。 pos_tblij是一个限制脉冲位置的表, 这个表是由 subfrm_size, num_pulse,num_bit_pos共同决定的。 固定码字 fcbn由脉冲位置 pul_posi 和脉冲幅度 pul_ampi求得: for (n = 0; n = 0 ) ix = fcbn - acb_delay; else ix = 0.0; fcbn += cgaflag * ix; 28 cga4=0.0,0.0,0.6,0.8是梳状滤波器的增益, flag 从 signal_mode 得 到。 增益的解码 通过查表将 gain_index 转换成归一化的自适应码本增益nga 和固定码本 增益 ngf 这个表是随着 signal_mode 和 sbfrm_size 改变的。自适应码本增益 ga 和 固定码本增益 gf 通过下面的计算就可求得。 ga = nga * sqrt( norm / acb_energy ); gf = ngf * sqrt( norm / fcb_energy ); norm 是归一化系数, acb_energy 和 fcb_energy 分别是自适应码本和固定 码本的能量。 norm = (qxnorm*subfrm_size)*(qxnorm*subfrm_size); for(i = 0; i 0.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 滴滴内部培训安全课件
- 滚动轴承的润滑课件
- 课件9加几教学课件
- 2026届广东东莞智升学校九上化学期中达标测试试题含解析
- 2026届广东省黄埔区广附九年级英语第一学期期末统考模拟试题含解析
- 话务管理知识培训课件
- 2026届山东省济南回民中学九年级化学第一学期期末调研模拟试题含解析
- 2026届湖北省孝感市应城市英语九上期末考试试题含解析
- 合同担保在知识产权保护中的应用探讨
- 电力输配电设备居间代理合同样本
- 材料作文点拨课件+2025-2026学年统编版语文九年级上册
- 无线wifi安装协议书
- 中国智能驾驶商业化发展白皮书(2025):平权时代智驾商业落地的破局之路
- 2026年中考语文专项复习:新闻考点+答题方法知识点 讲义(含练习题及答案)
- 小学科学新教科版二年级上册全册教案(2025秋版)
- 婚内财产协议书2025
- 2025年国家卫生健康委医药卫生科技发展研究中心招聘考试笔试试题(含答案)
- 公司注册登记培训课件
- 中华医学会肺癌临床诊疗指南2025版解读
- 2025年宿州市公安机关公开招聘警务辅助人员110名笔试备考试题及答案解析
- 新课标(水平一)体育与健康《非移动性技能》大单元教学计划及配套教案(18课时)
评论
0/150
提交评论