(信号与信息处理专业论文)mp3音频编码算法的dsp实现及优化.pdf_第1页
(信号与信息处理专业论文)mp3音频编码算法的dsp实现及优化.pdf_第2页
(信号与信息处理专业论文)mp3音频编码算法的dsp实现及优化.pdf_第3页
(信号与信息处理专业论文)mp3音频编码算法的dsp实现及优化.pdf_第4页
(信号与信息处理专业论文)mp3音频编码算法的dsp实现及优化.pdf_第5页
已阅读5页,还剩75页未读 继续免费阅读

(信号与信息处理专业论文)mp3音频编码算法的dsp实现及优化.pdf.pdf 免费下载

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

文档简介

摘要 本文详细论述了m p e g 1 第三层音频编码算法的原理、关键技术和算法流程 以及l a m e 算法的硬件实现和优化,用以实现音频的实时编码。 论文的主要内容如下: 第一,从原理上阐述了m p 3 音频编码算法。首先,对m p e g 标准做了一个 概述;其次,对于算法各个模块的关键技术做了详细介绍;最后对m p 3 文件的 文件格式做了说明。 第二,针对具体的音频编码算法l a m e ,分析了算法的具体流程和组成。 首先,对几种常见m p 3 编码算法做频谱测试和听音测试,根据测试效果确定要 选择哪种m p 3 音频编码算法;其次,根据i ,a m 巳具体算法的实现研究其程序流 程和关键技术;最后,给出l 圳e 的具体组成,实现了其在软件环境下的m p 3 编码。 第三,完成i a m e 在d s p 芯片上的硬件移植。首先,介绍所选用的芯片 a d s p b f 5 3 3 的特点和结构框图;其次,介绍芯片的内部结构;最后,介绍算法 的硬件运行环境s u a ld s p + + ,完成了程序的硬件移植,并实现了在硬件环境下 的m p 3 编码。 第四,完成算法的初步优化。首先,对算法进行精简,把l a m e 整合成一 个工程之后再进行编码部分的剥离;其次,对算法进行性能测试,根据测试结果 确定要优化的具体模块和具体函数;最后,对算法进行优化,比较优化前后的算 法性能,通过比较算法的运行速度提高了。 关键词音频编码技术;m p 3 ;算法优化 a b s t r a c t n ep r i n c i p l e ,l i n c h p i f lt e c l l i l o l o g i e sa n dn o wo ft h em p e g 一1l a y e ri i ia u d i o e n c o d ea l g o 咖ma r ed i s c u s s e dmd e t a i li n n l i s p 印e lt h er e a l i z a t i o n 锄d o 面m i z a t i o no f l a 膻m p 3a u d i oe n c o d ea l g o 枷1 i i la r ea l s oi n 廿o d u c e di nm i sp 印e t h ep r i m a r yc o n t e n t so f t h i sp a p 盯a r ea sf o l l o w s : f i r s t l y t 1 1 ep r i n c i p l eo fm p 3a u d i oe n c o d ea l g o r i 廿l mi si r 心d d u c e d a t 丘咄 s 吼n 撕z 甜o no f m p e g 一1s t a l l d a r di sd i s c u s s e d a n dm e nt h ep i v o t a lt e c h n o i o g i e so f m o d u l e so f m ea l g 耐t h ma r ee x p a t i a t e d a tl a s tt h ef i l ef o n n a t0 f m p 3i si n t m d u c e d s e c o n d l y t h en o wa n dc o m p o s i t i o no fl a m ei sd i s c u s s e d l a m ei sa i d i o 鲫m ca u d i oe n c o d ea l g o d t h i n a t f i r s tt h ei d i o g r 印h i ca l g 嘶t l l i nc h o i c ei s d e t e m l i n e d 、i t l ls p e c 饥衄t e s ta n dl i s t e i lt e s t a n dm e nm ef l o wa 1 1 d p i v o t a l t e c h n o l o g i e so fl a m e a r ei n 乜d d u c e d a tl a s t 也ec o m p o s 城0 na n dr e a l i z 撕o nu i l d e r v i s u a lc + + o fl a 【ei si 1 1 u m i n a t e d t h i r d l y ,也eh a r d w 盯er e a l i z a t i o no nd s pc h j p si sr e s e a r c h e d a tf i r s tf b a t u r e sa n d b l o c kd i a g 姗o fa d s pb f 一5 3 3i si 缸d d u c e d a n dt h e nt l l ei n s i d es 仃u c t u r eo ft h i s c b j pi se x p l a i n e d a tl a s ta n a l o gd e v i c ed s pd e v e l o p m e n tt o o l s 一s u a ld s p + + 趾d 血er e a l i z a t i o no f l a m eo nb f 一5 3 3i se x p a n d e d f i l l a l l y 纰o p t i r n i z a t i o no fl a m ei si i 蜘d u c e d a tf i r s tt h es i m p l i :f i c 撕o no f l a i sd i s c u s s e d ,i n c l u d i n gp r o j e c t sc o n f o 珊毋a n de n c o d ep a r tp e e l - b a c ka n d t h e n 血ep e 面m a n c et e s “sd o n et od c t e n n i n em o d u l e sa n df i l n c t i o i l sw h i c hc a nb e o p 廿m i z e d a tl a s to p t i i n i z a t i o no fl a m e i si i l 打o d u c e d ,c o m p a r i s o no fp e r f o r r n a l l c e a f i e ro 州m i z 砒i o ni sp r e s e n t e d k e y 帅r d sa u d i oe n c o d et e c h n o l o g y ;m p 3 ;o 删血i z a t i o n i i 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 签名:裳垩硷 日期:女161 三 关于论文使用授权的说明 ( 保密的论文在解密后应遵守此规定) 签名: 塞王公导师签名:垒:i1 8 老日期:叟:6 : 1 1 课题背景 第1 章绪论 近年来,多媒体、无线通讯与互联网的融合,使信息量不断增加,人们想 实现更为广泛的信息多媒体交互这其中最为关键的就是信息的数字化技术。 信息数字化有许多优点,如可以有效地提高传输和存储的质量,存储无失真, 传输中的抗干扰能力强,易于加密,适合大规模集成等。太多数信源如声音、 图像等都是模拟信号,p c m ( p u l s ec o d em o d u i a “0 ) 编码技术将这些时问和幅度 上都是连续的模拟信号转换为时间和幅度上都是离散的数字信号,以便于在数 字领域对信号进行处理、传输和存储等。 但是数字化也带来了一些问题,如数据量过大,传输对带宽的要求大幅度 增加等。例如生活中所接触的c d 音频的采样频率是4 4l k h z ,为了得到较高 的信噪比,对每个样值进行1 6 b n 的量化编码,c d 音频又是立体声的,有两个 声道,所以短短1 秒的模拟信号转换为数字信号后产生的数据量为 4 4 1 x 1 0 0 0 x 1 6 x 2 = 1 4 1 1 2 0 0 6 f f 1 3 4 坳打( 1 一1 ) 这样,一张6 5 0 m b y t e ( 1 b ”e = 8 b i i ) 的c d r o m 只能存放约一小时的音乐。 传输这些数据时,所占用的信道宽度比传输模拟信号时大得多,每赫兹的 带宽为2 b i 怕,则实时传输c d 音频数据时,所需的带宽为 1 4 肘m 2 * 7 0 0 e k ( 1 2 ) 而直接传输音频数据所需的信道带宽仅为2 0 嫡z ( 人耳所能感受到的音频信号 的最高频率约为2 0 k h z ) ,仅是传输数字信号的l 3 5 。 如此大的数据量给数字信息的传输和存储带来很大的困难,为了解决信息 数字化所带来的问题,人们提出了各种数据压缩编码方案。数据压缩是在尽量 保持信号原有质量的同时,减少信息的数据量。将压缩后的数据进行传输和存 储。既提高了通信干线的传输效率,又节约了存储空间,具有明显的社会效益 和经济效益。声音、图像等多媒体的信息数据有很强的相关性,即含有冗余信 息。数据压缩则是把冗余信息去掉,保窿f 相互独立的信息分量。 息。数据压缩则是把冗余信息去掉,保窿f 相互独立的信息分量。 北京工业大学工学预士学位论文 1 2 课题的研究现状综述 m p e g ( 动态图像专家组织) 始建于1 9 8 8 年,是致力于建立和制定视频和 音频压缩标准的国际组织。该组织于1 9 9 2 年正式推出了具有1 5 m b i 讹数据传 输速率的数字存储媒体运动图像及伴音的m p e g 1 的标准草案,即 i s o i e c l l l 7 2 ,于1 9 9 3 年正式通过。该标准规定了数字音视频编码的国际标准, 主要包括三个方面:系统,视频和音频。视频压缩仅仅包含画面信息,声音压 缩包含声音信息,系统实现音频和视频的同步。后来随着技术的进一步发展和 各种要求的提高,又先后推出了m p e 0 2 ,m p e g 4 ,m p e g 7 等标准。 m p e g 1 提供了3 个压缩层。层1 是简单压缩,它是一种听觉心理声学模 型下的亚抽样编码。层2 加入了更高的精度。层3 是现在流行的m p 3 音乐格式, 加入了非线性量化、霍夫曼编码和其它实现低速率高保真音质的先进技术。典 型数据为,层1 的目标是每个通道1 9 2k b i t s ,层2 的目标是每个通道1 2 8k b i t s , 层3 的目标是每个通道6 4k b i “s 。 随着m p 3 音频编解码算法在网络音乐的广泛使用,硬件解码器在国外已经 成为比较成熟的产品。在已有的解码系统中,通常用三种方法实现: ( 1 ) 软件实现,这种方法适用于在计算机上的音频应用: ( 2 ) 以专用的m p 3 解码芯片为核心加上必要的外围电路或者全部以单片 集成解码的v l s i 实现; ( 3 ) 通用d s p 处理器加上外部存储器,数模转换器等外围器件实现。 虽然第二种方案在功耗和价格上稍占优势,但是通用d s p 处理器构架的整 机系统在功能上有着很大优势:首先在单片d s p 处理器上可以完成多种音乐格 式的编解码,如m p 3 、a a c 、a c 3 等格式音乐,并可具有很多其他应用功能, 如电子书、游戏等;其次通用d s p 处理器具有开放、灵活的软件体系结构,支 持软件功能的升级,这对于目前飞速发展的音视频编解码算法来说是非常重要 的,因为可以通过p c 甚至i t e 玎1 e t 实时更新d s p 处理器的软件,使其支持更 多种编解码算法。 目前,大多数型号的m p 3 随身听都有播放功能。但众多消费者希望能够一 机多用,比如可以记录语音数据。在某些m p 3 播放器整机产品中已经使用g 7 2 6 标准的a d p c m 语音编码算法来实现语音录音,它能满足一般记录语音的质量 第1 覃绪论 要求。但是对于要求质量较高的音乐信号就有些无能为力了。而使用m p 3 格式 压缩编码技术除了可以获得较大的音乐数据压缩比,还可以得到较高的音乐回 放质量。正是基于此,本课题首先要研究m p 3 编解码算法,然后利用d s p 处 理器开发m p 3 硬件编解码器,将模拟音频信号压缩为m p 3 格式,可以在m p 3 机上播放。 通用d s p 具有接口方便、编程方便、稳定性好、精度高、可重复性好以及 集成方便等特点。与浮点d s p 相比,定点d s p 需要更多的编程工作,但是它 的价格便宜,功耗低,体积小。高性能、低功耗d s p 技术是通讯网络基础设旌 和手持设备中处理声音、数据、图像的关键,在语音和手写识别、图像流和音 频压缩等应用领域,由于要实施高级运算,也需要性能更强大的d s p 。目前, 网络和通信技术标准发展得非常迅速,我们需要一个编程能力非常强的处理器, 去适应不断涌现的标准和应用。继1 6 位定点s h a r c 和t i g e rs h a r cd s p 之 后,a d i 推出了第四代d s p 产品b l 觚kf i nd s p 。它的结构非常适合处理各种 网络应用中的图像、声音、文字和数据。基于上述众多的优点,本课题选用a d i 公司的b l a c ”i n 芯片。 1 3 课题来源和意义 1 3 1 课题来源 本课题是北京工业大学电子信息与控制工程学院d s p 和嵌入式实验室与 a d i 公司合作完成的项目。 1 3 2 课题意义 为了解决数字化带来的诸多问题,人们发明了各种数据压缩技术。音频压 缩技术分为无损压缩及有损压缩两大类,而按照压缩方案的不同,又可将其划 分为时域压缩、变换压缩、子带压缩,以及多种技术相互融合的混合压缩等等。 各种不同的压缩技术,其算法复杂度、音频质量、算法效率,以及编解码延时 等都有很大的不同。各种压缩技术的应用场合也因之而各不相同。 由于数据压缩技术具有广阔的应用范围和良好的市场前景,因而音频压缩 北京工业大学工学硕士学位论文 标准化工作就显得很重要。音频压缩标准化方面取得巨大成功的是m p e g 一1 音 频标准。此音频标准是由i s o 和i e c 联合技术委员会制定的。在m p e g 1 中, 对音频压缩规定了三种模式,层l ,层2 ,层3 。m p 3 就是m p e g 1 层3 的简 称,由于m p 3 在低码率条件下高水准的声音质量,使它比层1 、层2 和其它的 一些数据压缩技术有更广泛的应用。 m p 3 的编码质量好,要求的编码速率低,压缩度高,所以对于音频信息复 杂的视频会议系统要选用m p 3 算法。但是m p 3 算法的复杂度较层1 、层2 高, 不利于实现实时编码。而m p 3 的实时编码在很多领域有着重要的应用,所以对 其研究有着重要的意义。而且本课题是视频会议系统的一部分,需要实现音频 的实时编码及传输。因此必须权衡复杂度、速度和编码质量来选择合适的m p 3 算法,对算法进行优化改进,并把算法移植到可以实现高速运算的d s p 芯片上, 提高其运行速度,以此来实现m p 3 的实时编码。 1 4 本文的主要研究内容 本文主要是选择合适的m p 3 算法,将其移植到d s p 上运行,然后分别针 对算法和芯片的特点对其进行优化,提高算法性能,具体内容包括: ( 1 ) 介绍m p 3 标准算法及选择具体m p 3 算法的方法。 ( 2 ) 介绍具体选择的算法的关键技术和算法流程。 ( 3 ) 结合b 1 a c k f i n 5 3 3 芯片的特点,实现算法的移植。 ( 4 ) 结合算法的特点进行优化。 下面将分章对以上内容进行介绍: 第二章从原理上介绍m p e g 1l a y e r 3 算法,包括算法的基本原理和与之相 关的关键技术。 第三章介绍选择具体m p 3 算法的方法、所选择的具体算法的程序流程及此 算法的具体组成。 第四章介绍b l a c k f i n 5 3 3 芯片的特点,包括芯片的结构、接口和软件环境 及算法的具体移植过程两部分。 第五章结合性能测试的结果介绍算法优化情况,包括算法的精简、性能测 试及优化三部分。 第2 章m p 3 音频编码原理 本章主要是就m p e g 规定的m p 3 音频编码标准介绍m p 3 编码算法的基本 原理。先进行算法的整体概述,然后按照m p 3 编码框图分模块进行描述。 2 1 忡e g 音频编码算法标准概述 对于m p e g - 1 ,音频压缩算法标准提供了以下模式: ( 1 ) 音频信号采样率可以是3 2 k h z 、4 4 1k h z 或4 8k h z 。 ( 2 ) 压缩后的比特流可以按照单声道、独立的两个单声道、立体声、联合 立体声等4 种模式之一支持单声道或双声道编码。其中,联合立体声模式是利 用立体声通道之间的关联和通道之间的相位差的无关性得到的。 ( 3 ) 压缩后的比特率可以从3 2 k b i 洮到2 2 4k b i t ,s ( 每声道) ,也可以使用 用户自定义的比特率。 ( 4 ) m p e g 音频编码标准提供了三个独立的压缩层次,使用户可以在复 杂性和压缩质量之间权衡选择。层l 最简单,最适于使用的比特率为1 2 8k b w s ( 每声道) 以上。层2 的复杂度中等,使用的比特率为1 2 8k b i t ,s ( 每声道) 左 右,其应用包括:数字广播,c d r o m 上的声音信号以及c d 1 和v c d 。层3 即我们通常所说的m p 3 ( m p e g 1 ( 0 r2 ) a u d i ol a y e r3 ) ,它最复杂,但音质最 佳,比特率为6 4k b i 讹( 每声道) 左右。尤其适用i s d n 上的声音传输,本文 将主要讨论这一层的编码算法。 ( 5 ) 编码后的比特流支持c r c 效验。 ( 6 ) m p e g 音频编码标准还支持比特流中附带附加信息。 2 1 1m p e g 编码器的基本结构 首先我们先来介绍m p 3 的编码器框图,如图2 1 【5 】所示。 北京工业大学工学硕士学位论文 图2 - lm p 3 编码器方框图 如图2 1 所示,每个编码框都包含1 1 5 2 个取样值,每个取样值为1 6 位元。 首先将脉冲编码调制格式的输入信号送入多重相位分析子带滤波器组 ( p o l y p i l r 舔ea n a l y s i sf i l t e r b a i l k ) 处理,分解成3 2 个等带宽的子频带( s u b b a n d ) 信号来分别作离散余弦变换( m o d i f i e dd i s c r c t ec o s i n e1 h n s 妇m ,m d c t ) ,然 后再配合心理声学模型模块所提供的信息来做量化( q u a n t i z a t i o n ) 的处理,最 后经过霍夫曼编码( h u 自h a i lc o d i n g ) 处理,再把编码后的资料依照m p e g 1 定义的位元流格式输出即可。 2 1 2m p e g 音频压缩标准定义的3 个层次 ( 1 ) 层1 层1 按帧进行编码,除了声音数据以外,每帧还包括一个头部。一个可选 择的c r c 效验以及附加数据,表2 1 示意了层l 比特流数据的安排。一帧数据 由3 8 4 个样本组成,经过子带滤波器产生3 2 个子带,每个子带1 2 个样本。每 1 2 个子带样本组成一组,进行一次比特分配并纪录一个缩放因子。通过比特分 配和缩放因子相配合,可以表示动态范围超过1 2 0 d b 的样本。 表2 1 层l 比特流数据组成 ( 2 ) 层2 第2 苹h 伫3 音频编码娘理 层2 对层l 的算法做了直观的改进。它编码每帧的样本数更大( 1 1 5 2 个 每通道) ,并且在中高频区对e 特分配作了一些限制。它对比特分配、缩放因子 和量化样本值的编码也更紧凑。因为层2 在比特分配、缩放因子上需要的比特 数少了,所以可以用更多的比特对声音数据进行编码,因此音质较层l 有所提 高。与层1 对每个子带由1 2 个样本组成一组的编码不同,层2 对每一个子带分 成三组进行编码,其中每组1 2 个样本。当有可能出现声音失真时,编码器对这 3 组样本使用3 个不同的缩放因子。在其它情况下,层2 编码器允许各个组共 享一个缩放因子。层2 比特流中有一个缩放因子选择域s c f s i ,解码器根据这 个域的信息判断是否需要以及如何共享缩放因子。表2 2 列出了层2 的数据流 格式。 表2 - 2 层2 比特流数据组成 ( 3 ) 层3 层3 使用了更为精确的算法,它是从a s p e c 和o c f 【6 】演变而来的。层3 使用改进离散余弦变换m d c t 对滤波器组的不足做了一些补偿。与子带滤波器 组不同,m d c t 是没有失真的。它指定了两种m d c t 块长:长块的长度为1 8 个样本,短块的长度为6 个样本。长块对于平稳信号可以得到更高的频率分辨 率,而短块的切换可以得到更高的时域分辨率。对于给定的一帧信号,m d c t 可以全部使用长块或全部使用短块,也可以长短块混合使用。m d c t 对低频区 的2 个子带使用长块,而对其余的3 0 个子带使用短块。这样,既能保证低频区 的频域分辨率,又不会牺牲高频区的时域分辨率。层3 编码器已经部分消除了 子带滤波器组引入的样本混叠。除了使用m d c t 外,层3 还采用了许多其它改 进措施来提高压缩比而不降低音质。而且,层3 的计算量比起层2 来增加的主 要是编码器的复杂度和编码器所需要的存储容量。下面将详细讨论第3 层音频 编码的五个主要组成部分:子带滤波器组编码、修正离散余弦变换m d c t 、心 理声学模型、量化与编码和帧数据流格式化。 2 2 子带滤波器组 人耳的听觉系统可以被看作是一个有特定频率范围的滤波器组,这个滤波 北京工业大学工学硕士学位论文 器组叫做临界带宽滤波器组。为了充分利用人耳的临界带这一特性,将每个临 界带内的噪声保持在该子带的可察觉值以下,m p 3 编码采用了子带编码技术。 子带编码就是利用带通滤波器组把信号分割成若干个子带信号,对各子带信号 以奈奎斯特频率进行采样,并将采样值进行通常的数字编码。 2 2 1 滤波器组的基本原理 子带分析滤波器组是指有一个共同输入信号的一组滤波器组,如图2 2 1 6 】 所示。图中的日,( 珂) 为带通滤波器( b p f ) ,信号经过滤波后被划分成为不同的子 带。 图2 - 2 分析滤波器组 带通滤波器的冲激响应只( 竹) 如下: n ( n ) n ( 劬 ,k l f 砷 ,( 竹) = ( 玎) c 。s ( 垡! i 学) f = o 3 1 ,行= o 5 1 1 ( 2 - 1 ) 其中 ( h ) 为滤波器系数,可以由m p 3 规格所定义的分解窗户系数c ( n ) 来 求得, ( 玎) 与c 伽) 的关系如下: ( 拧) : 一c ( n ) ,茜的整数部分是奇数 n :o 5 1 1 ( 2 2 ) ic ( n ) ,其他 ( n ) 与c ( h ) 的关系图如图2 3 所示【2 9 】: t l、- - j 一“一4 一、li l、li 4 一+ :一剞卜一 一 i l i i 十十* 一一一一_ 、i p 孓捧一 一再:斗4 土 l t 一一_ 。十一ili j :一一i 一j 一3 ii 一一j l 一一j l 一j :、 一j 一一。j 一 i 1 一- - r t r 1 i d mm n m w 删,计肭* 删h i l 图2 3 厅) 与c ( 珂) 的关系图 我们由式( 2 1 ) 可知,只( 玎) 是借余弦项对滤波器而( 竹) 移位得到,所以日,( 挖) 为一滤波器组( f i l t e r b a n k s ) ,故也称之为多重相位滤波器组。 由于滤波后得到的子带信号频带变窄,子带信号的取样频率可以比原始信 号所要求的取样频率低。假设每个b p f 均是理想的,第七个b p f 的输出信号的 频谱限制在睨= 疋一e 一范围内,可以证明,对第i 个b p f 输出信号( h ) 的 取样频率厶的最小值是: 删c 胁z 尚裂 陋s , 式中i n t ( ) 为取整函数。 由上式可知,如果合理的划分子带,使得e 。为整数,则上式可取得最 小值2 。所以,子带信号的取样频率可以大大减小。 假设原始信号的带宽b 被均匀划分为m 个子带,则每一子带的宽度为 = b mk :1 ,2 m( 2 - 4 ) 所以,子带的取样频率为 凡= 2 睨= 2 占时( 2 5 ) 又设取样的量化比特数为玎,则单个子带的传输码流为 础= 厶4 以= 2 加肘( 2 - 6 ) 而总的传输码率是各子带传输码率之和,即 这恰好等于原来的传输码率。 剧= m + 2 肝b m = 2 加 ( 2 7 ) 2 2 2 分析滤波器组的运算流程 在m p 3 编码标准中,分析滤波器运算流程图如图2 4 所示【l 】,具体流程描 述如下: 首先输入3 2 个音频样本。 然后建立一个有5 1 2 个元素的输入样本矢量z 。把此3 2 个音频样本移位 到位置o 到3 l 上,最新的一个放在位置o ,并把3 2 个最老的元素移出。 接下来用矢量c 给z 矢量分窗。系数c 力可在m p e g 1 标准所提供的表中 查出。 再下来根据流程图中的公式计算6 4 个f 】值。 最后通过矩阵运算计算3 2 个子带样本研司。矩阵的系数计算如下: ( 2 - 8 ) 图2 4 分析滤波器运算流程图 图中,m p 3 编码标准用分析滤波器组把输入的时域信号序列均匀的划分为 3 2 个子带信号。由图2 4 可以推算出s f 】的值: 第2 章m p 3 音频编码原理 们 研司= m 女】女】 i ;0 = m 纠( z 陋+ 6 4 如 t oj = o 7 = m 叫( c 晴+ 6 4 门z 陋+ 6 4 皿 = m f 】【】c 七】x 纠+ m 【f 七f 涨+ 6 4 】z 后+ 6 4 】+ 女;oi 一0 6 3 + 州f 】【后】c 肚+ 4 4 8 】肖肚+ 4 4 8 】 = m 【小七f 【七f 【明一m 【j 】【t + “】c 【i + 6 4 【i + 6 4 】+ i t 0t t 0 6 3 一州f 】陋+ 4 4 8 f 阽+ 4 4 8 】:| 晴+ 4 4 8 】 = 州f 】 t m 明x 【卅 i = 0 5 l l = 只【七【明 ( 2 - 9 ) 式中。【七】= m 【f 】【七】 陋】,而 明的值由l j 值得取值范围确定,当6 4 】为偶数 时,h ( n ) = c ( 玎) ,当 | 】 ,6 4 】为奇数时,h ( n ) = 一c ( 行) 。 2 2 3 子带编码的优点 把音频信号利用分析滤波器组分成子带后进行编码,有以下优点: ( 1 ) 由于声音频谱的非平坦性,如果对不同子带合理的分配比特数,就有 可能分别控制各子带的量化电平数目以及相应的重建误差的方差,使码流更精 确的与各子带的信源统计特性匹配。 ( 2 ) 调整不同子带的比特赋值,就控制了总的重建误差频谱形状,可以按 照人耳的主观感知特性来形成噪声频谱,如果这种形成是噪声实现的,那么就 能大大提高编码系统的性能, ( 3 ) 各子带的量化噪声都束缚在本子带内,这样就能避免能量较小的子带 内的输入信号被其他子带的量化噪声所掩盖。 2 3 修正离散余弦变换( m d c t ) m p 3 编码标准中,对子带分析滤波器组的输出进行m d c t 。这是因为由心 理声学模型得出的临界带宽不是等带宽的,而子带分析滤波器组的3 2 个子带是 等带宽的,为了使得进行编码的各比例因子带与临界频带匹配,需要对每个子 带信号做m d c t ,从而提供更精确的频率分辨率。 2 3 1m d c t 的定义 m d c t 是一种利用时域重叠对消技术来降低边界效应的线性正交交换,它 是离散余弦变换( d c t ) 的一种修正型。d c t 是一种正交变换,与离散傅立叶 变换相比,它处理实信号时变换结果仍是实信号,避免了复数运算。由于d c t 存在固有的不连续性,分组边界处就有可能产生很大的噪声。为了消减这些噪 声,首先用本组的个取样和前后两个相邻分块的各七2 个数据组合成( + 女) 个数据,然后进行加窗处理,并做( + 尼) 点的d c t ,得到( + i ) 个独立的变 换系数。这样就对该重叠的七个重叠点做了两次变换,因而导致d c t 编码效率 的降低,而m d c t 解决了这个问题。 m d c t 的具体做法是:首先,对输入序列哪,用本组的个数据和前后 两个相邻的组各一半数据组成2 个数据,再取2 点的窗函数厅( 行) ,并使 ( 开) 满足如下等式: 2 ( 聍) + 2 ( n + ) = 1( 2 1 0 ) 使得各窗口中的数据有5 0 的重叠,x ( 行) 的m d c t 变换系数y ( 七) 及其反 变换( i m d c t ) 的时域取样z ( 玎) 分别为: m ) = 警砌顺小。s 堕塑蔫型坐,l ,- 1 ( 2 1 1 ) 硼) = 扣) 挚c o s 堕等筹型丝删,l 2 1 ( 2 - 1 2 ) 而重建信号为: x 。( n ) = z ( ”) + x 。仰+ ) | v = 0 ,l ,一1 ( 2 1 3 ) 其中爿( ,z ) 表示前一个分块的反变换结果。 在编码时,利用这5 0 的重叠窗口对每一个输入样本数据进行了两次变换, 但是,当为偶数时,由式( 2 1 4 ) 可以看出变换系数y ( 七) 具有以下对称性: y ( j i ) = 一j ,( 2 1 一七)( 2 1 4 ) 所以,传输时只需传输这个变换系数,5 0 重叠变换的编码性能并没有降低。 因此,m d c t 既减少了各分块间的边界效应,又没有降低编码效率。 2 3 2m p 3 编码中的粕c t 算法 在m p 3 编码标准中,将3 2 个子带的输出信号分别进行m d c t ,m d c t 的 流程图如图2 5 所示【l 】: 移入n ,2 个新的子带样值 坼n ;i “2 一l j 一) x 闺剐i n ,2 1 缸皆n ,2 一l 妒= 0 弘) x 阿= 下一个子带样值 0 加亩处理 删j n 一+ ) z 回= c 【日镯日 1 上 m d c l 变换:如雌= 0 ;i n ,2 一+ ) f 们= z 【明+ 州k 】 f 】 输出州璨谱钱的值f 闺 图中的变换矩阵m 七】【f 】为: 图2 - 5m d c t 流程图 北京工业大学工学硕士学位论文 邶坩 _ 巡型等盟业 ( 2 - 1 5 ) 常数为3 6 或1 2 ,分别对应于长m d c t 和短m d c t 。 窗函数c 【f 】有四种形式:普通窗( n o n a lw 诅d o w ) 、短窗( s h o r t 、m n d o w ) 、 起始窗( s t a r t w i n d o w ) 和终止窗( s t o p w i n d o w ) 。四种窗函数的形态如图2 - 6 所示 【3 l 】: c f 】的取值为【2 】: ( 1 ) 普通窗 ( 2 ) 短窗 ( 3 ) 起始窗 图2 6 四种窗函数的形态( w i n d o w 时p e ) c f = s i n 【( f + o 5 ) 石3 6 】 c f 】= s i n 【( f + o 5 弦,1 2 】 ( 2 - 1 6 ) ( 2 1 7 ) 第2 章m p 3 音频编码原理 c f f 】= s i n ( f + 0 5 沙3 6 】 l s i n ( f 1 8 + 0 5 沙1 2 】 o o s f 1 8 1 8 f 2 4 ( 2 - 1 8 ) 2 4 f 3 0 、 3 0 f 3 6 ( 4 ) 终止窗 f oo f 5 0 0 士拓 、7 心理声学模型是为了获得滤波器组每一子带内刚好可察觉的噪声级,即它 的掩蔽闽值。对于子带滤波器组输出的谱值量化后产生的噪声,如果能够被控 制在掩蔽阈值以下,则最终的压缩数据被解码后的结果与原始信号一致。一个 给定信号的掩蔽能力取决于它的频率和响度,所以心理声学模型的最终输出是 信掩比s m r ,即信号强度与掩蔽阈值的比率。其中,阈值是以频率为自变量计 算得到的。 2 4 2 心理声学模型的标准算法流程 ( 1 ) 取得1 0 2 4 个输入p c m 的样值s 编码过程中,每帧数据分为两个颗粒,每个颗粒有5 7 6 个p c m 样值。对 每颗粒阀值分区的信掩比的计算,都要添加5 7 6 个新样本,与1 0 2 4 5 7 6 个旧样 本一起构成输入信号s 。 ( 2 ) 计算输入信号的复频谱。 首先给输入信号s ,加1 0 2 4 点的汉宁窗: s 彬= s f $ ( 0 5 0 5 c o s ( 2 丌+ ( f 一0 5 ) 1 0 2 4 ) )1 s f s l 0 2 4 ( 2 - 2 1 ) 然后对s 彬进行f f t 计算,f f t 与子带滤波器组操作并行进行,以弥补子 带滤波器组缺乏低频选择往的不足。因为子带滤波器组具有最小预回声优化窗, 所以它可对音频编码提供足够的时域分辨率。同时,f f t 可以提供信掩比计算 所需的谱分辨率。r 。、e 分别代表s 彬变换后的幅度和相位,由于考虑到时 域掩蔽效应的影响,它们的值是由前两节样本的频谱矢量迭代计算得到的,计 算过程如下: 也= 2 o 民( f 一1 ) 一心( ,一2 )( 2 2 2 ) 瓦= 2 0 瓦9 1 ) 一兄o 一2 )( 2 - 2 3 ) 其中,盖。、克表示当前节的数值。 ( 3 ) 计算预测性参数c 。 掩蔽闽值的计算不仅与频域掩蔽有关,而且受到时域掩蔽的影响,所以需 要由其它节的频域样本预测下一节样本数据的频谱分布,从而降低时域掩蔽的 影响。通过计算c 。来完成上述要求a 巴= 燮堕巫等糍等巡 ( 4 ) 计算每个阀值分区的能量以。 2 然后根据预测性参数c 。的值,计算每个阈值分区的加权能量: 曲i 蕾出 c 。= 砭q m = m f 。w 6 ( 2 2 5 ) ( 2 - 2 6 ) 在低频区,每条f f t 谱线为一个阈值分区,在高频区,每个阈值分区由多 条谱线组成,式2 2 5 、2 2 6 中的6 表示分区的序列号,砒w 6 表示每一分区的 最低谱线,砒留舫表示每一分区的最高谱线。 ( 5 ) 在整个频域内,分别对阈值分区的能量和加权能量通过频率展开函数 印胁馏( x ,y ) 卷积求和: 。霹岫 笠一 北京工业大学工学硕士学位论文 6 m a x p c 钆= + 印砌略( 6 w k ,6 w ,6 )( 2 2 7 ) 6 6 = i 6 m 【 = c 蚰+ 删吡l 昭( 6 阳,6 阳) ( 2 2 8 ) 6 6 = i m p e g 标准规定,频率展开函数的计算如下: 却1 = 1 0 5 ( _ y x ) ,挣妒2 = 8 m i l l ( ( ,m p l 一o 5 ) 2 2 ( 却1 一o 5 ) ,o ) 一加 0 0 学 r 挣l p l 一1 0 0 其它 ( 2 - 2 9 ) ( 2 3 0 ) ( 2 3 1 ) 其中,却1 、却2 是临时变量,x ( 6 阳) 、j ,( 6 v 口) 是不同闽值分区信号 的临界巴克值,它表示每个分区的平均谱值,m p e g 标准规定了所有阈值分区 的临界巴克值。 由于甜。是用信号能量加权,所以必须被重新归一化到c 钆: 哦:粤( 2 - 3 2 ) 8 c 钆 同时,由于频率展开函数的非归一化性,所以e c 钆也应当重新归一化,且 归一化能量e 为: e = e c 玩m d ,珊6 ( 2 3 3 ) 归一化系数m d r : m d r m 6 = 1 删协昭( 6 v 口,6 毗) ( 2 3 4 ) ( 6 ) 将吨转换为音调指数如: 如= o 2 2 9 0 4 3 l o g 。c 以o 3 0 i i l i n 幻或( p 8 1 0 0 ,m a x 幻 1 0 m i n 幻) 用s h o f t 类型,其余用l o n g 类型。 接下来是阈值计算的第二部分和短块的阈值计算 ( 1 3 ) 阚值计算的第二部分: a 计算每个缩放因子频带的能量和阈值,公式见图3 - 1 9 。其中w l 、w 2 、 6 。、6 。的值表中可查。 b 计算每个缩放因子频带的比值,公式见图3 1 9 。 北京工业太学工学硕士学位论文 峄嚣疆蔷摹纂落擎割; 精码器部分 每卡缩放囱千频带的1 燥) i b u + 1 ,b 。+ 1 e n s b ) 3 w l $ e b ( b u ) + 副 + 破 e b ( b o ) 每个缩放因千频静的1 思热( t h r ) j b u + l j b 。+ lt h r n ( s b ) = v i t h r ( b u + 。- 2 t h r ( b o ) 对每个缩放因子频静计算比僵t r a t i o ( 曲) = t h r n ( s b ) e n ( s b ) 图3 1 9 阈值计算( 第二部分) 流程图 ( 1 4 ) 对短块计算闽值: a 从第一块开始计算能量,公式见图3 2 0 。 b 用扩展函数卷积分区能量,公式见图3 - 2 0 。 代表卷积运算。 c 计算阂值,公式见图3 2 0 。这里与阈值计算第一部分的区别为s n r 的 值是从表中查取得。 d 把计算所得的阈值与静止闽值和最后阈值作比较得到曲r 。 e 调用阅值计算的第二部分。 f 块数目加l ,判断块数目是否 3 ,如果是返回,如果不是重复第1 步。 图3 之o 短块阈值计算流程图 接下来的p s y c h o 流程图中带+ 的三个框是l a m e 算法所特有的。 接下来是通道闯掩蔽效应的计算 ( 1 5 ) l = 缩放因子带左声道的阈值 f 缩放因子带右声道的阈值 ( 1 6 ) 左声道的掩蔽效应+ = r + 通道间掩蔽效应因子加把r c 舰4 f f d 右声道的掩蔽效应+ = ,+ 通道间掩蔽效应因子j 珂肼c 搬口肋r 接下来是m i d ,s i d ec h a n e l 的阐值计算 ( 1 7 ) 长块耐sc h a n n e l 闽值计算 如果左声道阂值1 5 8 右声道闽值或者右声道阚值1 5 8 + 左声道阈 值 m i d _ m l d 长块闺值+ s i d ec h a 蛐e l 长块的能量 m i dc h a n n e l 阈值呵n a x ( m i dc h a n n e l 长块的闽值, 块的阈值,m l d ) ) m l d 可i l l d 长块阈值+ m i dc h a i l l l e l 长块的能量 s m ec h a n n e l 阈值= m a x ( s i d ec h 锄e l 长块的阅值, m i n ( s i d ec h 锄e l 长 m i i l ( m i dc h a n n c l 长 块的闽值,m l d ) ) ( 1 8 ) 短块耐sc h 黜e l 阈值计算与长块相似只是从第一块到第三块循环做 三次。 再接下来是m ,sc h a n n e l 掩蔽比值的计算 只需要注意一下需要计算此项的条件 而= m a x ( 长块左右声道阈值) x := m i l l ( 长块左右声道阈值) 如果苫2s 为l o o o 时进行。此时砌= l o g 量,一d e t d f = j j d e t d r + 彩, 幻r = 胁r + 1 , 比值= m i i l ( o 5 ,掣+ o 7 ) 。 f d r 短块的循环3 次。 确定最后块的类型 模型的输出 参数见下面总的g p s y c h o 的流程图,图3 2 1 。 图3 2 ig p s y c h o 的总体流程图 编码现在要进行m d c t ( 1 9 ) 根据心理声学模型计算出的块类型b l o c k 呻e 首先进行窗选。 ( 2 0 ) 对窗选后的结果进行m d c t 。 第3 章l a m e 编码算法的流程和关键技术 再接下来是根据心理声学模型计算出的感知熵p p 确定用i i l s 还是l i 己编 码。 再接下来是比特和噪声分配,根据前一步结果选择p e m s 或p e _ l r 。 然后作量化和编码。 ( 2 1 ) 确定量化编码的类型( c b r v b r a b r ) ( 2 2 ) c b r 固定比特率编码 a 量化编码通过迭代循环完成,流程如下: a 计算有效比特位 b 迭代的初始化 c 判断是否所有的频谱能量是否为0 d 能量不为o 的话进行外迭代循环,能量为o 的话返回。 流程图如图3 2 2 : 圈3 1 2 2 迭代循环流程图 b 外迭代循环流程如下【3 5 】:o u t e rl o o p ( ) a 首先进行内迭代循环计算出最佳

温馨提示

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

评论

0/150

提交评论