




已阅读5页,还剩52页未读, 继续免费阅读
(电路与系统专业论文)基于garfield的多媒体音频系统的设计实现与优化.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 在嵌入式系统中,实现多媒体音频处理主要有两种方法:一是依赖嵌入式微处理器通过软件实 现音频处理;二是通过专用的编解码硬什进行运算处理。方法一对嵌入式微处理器的处理能力的要求 比较高。方法二中,虽然专硬件可以实现高性能和低功耗的音频处理,但是系统可扩展性较差,不 具备通用的处理能力。 本文所研究的课题主要是以一款东南大学国家a s i c 工程中心自主设计的、基于a r m 7 t d m i 的 s o c 芯片- - g a r f i e l d 为核心处理单元,在自主设计的操作系统一a s i x o s 上,实现一款集语音实时编解 码和m f 3 实时解码两个子系统的音频处理系统。本课题是依托i 稃中心项目“多功能话机”为最终成 果载体,在项目中实现本课题的各项研究和设计内容的。本文首先从算法、代码和具有g a r f i e l d 特色 的e s r a m 三方匣优化音频算法库,确保了g a r f i e l d 系统能实时流畅地进行音频处理软件运算。文章 重点阐述了基于a s i x o s 操作系统平台u i - s e r v e r 机制的上层应用、后台服务、底层驱动二个层次 的软件系统设计方法,以及多功能话机的整机系统中有关d m a 资源的协调、a c 9 7 噪音问题处理措施 管。最后的整机性能测试结果表明,在系统时钟7 0 m h z 情况f ,语音子系统性能达剑编码2 9 9 2 k b p s 、 解码3 3 9 8 k b p s ,m p 3 子系统解码性能达到2 3 8 2 m s 帧,完全达剑了实时性要求。 目前,g a r f i e l d 芯片已经通过m p w 流片生产出实际芯片。语音处理子系统和m p 3 子系统已设计 成嵌入在多功能话机上的样机,整机功能和性能得土0 验证,达剑了设计目标。 关键词 g a r f i e l d 系统芯片,g 7 2 1 ,m p e g1l a y e r - m ,e s r a m 优化。a s i x o s 操作系统 a b s t r a c t u s u a l l y , t w om e t h o d st or e a l i z em u l t i m e d i aa u d i op i d d e s si ne m b e d d e ds y s t e ma l eu s e d r i m , w ec r e l y0 1 1e m b e d d e dc p ut or e a l i z ec o d i n go fa u d i od a t ab ys o t t e a r e s e c o n d , c o d i n gc o m p u t a t i o nc b e i m p l e m e n t e dt h r o u t ha p p l i c a t i o ns p e c i f i ch a r d w a r e i nt h ef i r s ts i t u a t i o n ,i td e p e n d so nt h eh i e , j ap e r f o r m a n c e o fc p i j i nt h es e c o n ds i t u a t i o n , t l l o u g l as p e c i f i ch a r e w a r ec 趾g e th i g h e rr , e r f o r m m c ea n dl o w e rp o w e r , b u t p o o r e rf u n c t i o ne x t e n d i n ga b b i l i t y i nt h i sp a p e r , s p e e c ha n dm p 3s u b s y s t e mb a s e do ng a r f i e l du d - i - s e r v e rp r o g r mm o d eo f a s o s t or e a l i z eu s e re o n t a o lf u n c t i o n s t h i sp a p e rf o c u s0 1 1 1s p e e c hp r o c e s sp e r f o r m a n c ea n a l y s i sa n d o p t i m i z a t i o n t h i so p l j l n i t _ a t i 0 1 1i sb a s e do na l g r i t h e m , c o d ea n dt h eo n - c h i p - m e m o r y , w h i c hg r e a t l ye n e h a n c e d t h ep e r r o m m c eo ft h es p e e c hs y s t e m a d d i t o n a l ,f a t h e ro p t i m i z a t i o no i lc o d el e v e lf o rm p 3s u b s y s t e mi s d o n e a l t h o u g l li th a sr e a c h e dr e a l - t i m et h r o u g hm a n ym e t h o d sb e f o l t h i sp a p e r , i tc m b er e f e r e n c ef o rt h e l a s tr e s e a r c h m e a n w h i l e ,w ed e e p l yi n t r o d u c e t h ed e s i g no fa u d i os y s t e mo na s i x o $ p l a f f o r mf r o m a p p l i c a t i o n , s e l v e ra n dd r i v e rp r o g r a m m el e v e l 卸da p p l i c a t i o ni nm u l t if t m e t i o np h o n es y s t e m a tl a s t t e s t r e s u l t so fs y s t e ma ng i v e n ,l l s y s t e mc l o c ki s7 0 m i - - i z s p e e c hs y s t e mc w o r ka t2 9 9 2 k b p s 釉d 3 3 9 8 k b p sf o re l l l “l i n ga n dd e c o d i n ga n dm p 3s y s t e mc 粗d e c o d eaf r a mi n2 3 8 2 m s a u d i os y s t e mh a s b e e ni e a l - t i m e b yn 州g a r f i l e dl l a sb e e nt a p e do u ta n dp r o d u c e dt h r o u g hm p wa n dt h ea u d i os y s t e ml l a sb e e n d e s i g n e d n o wt h es y s t e mc 1 1 1 1f l u e n t l yr e c o r ds p e e c ho fp l a ym p 3m u s i co nt h ep r o t o t y p eo f m u l t if u n c t i o n p h o n e w h i e l ls a i l s f i e st h er e q u i r e m e n t so f t h ep r o j e c t k e y w o r d g a r f i e l ds o c ,g 7 2 1 ,m p e g 一1l a y e r ,e s r a mo p t i m i z a t i o n , a s i x o $ p l a t f o r m 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过 的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并 表示了谢意。 研究生签名:丑生墨日期:兰竺! :! 锣 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的 复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内 容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可 以公布( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大学研 究生院办理。 研究生签名:敦点导师签名: 日期:让弋 东南大学硕上学位论文 1 1 论文和项目背景 第一章绪论 随着微电子和计算机技术的高速发展,许多嵌入式应用系统应运而生。其中,各种音频处理系统不 断被开发出来,在各行业得剑广泛应用,如语音复读机,采访录音笔、m p 3 捅放器等,为人类的生产 生活提供了丰富的内容和极人的便利。 在设计一款嵌入式音频系统时,常见的方案是采用专_ h j 硬件作为核心处理单元,完成音频处理的各 种运算。这种方案的最人优点就是处理性能高、音质好;但使用专刚硬什设计的系统往往功能单一, 扩展性差。本文讨论了使用东南大学国家专用集成电路系统j 二程技术研究中心自主研发的基于 a r m 7 t d m 内核的3 2 位嵌入式s o c ( 系统芯片,s y s t e mo nc h i p ) g a 曲e h ( g a r f i e l d 是该芯片在 上程中心的内部代号,对外正式名称为s e p 3 2 0 3 1 堋) 处理器作为系统的核心处理单元,采_ h jm p e g 1 l a y e r 和g 7 2 1 标准a d p c m 算法,实现了m p 3 橘放器系统和实时语音处理系统。 该音频系统的编解码运算处理绝人部分采埘软什实现,f :结合g a r f i e l d 的特色加以m m a 和e s r a m 模块的硬什加速处理,实现了音频系统的实时性。并且,音频处理功能作为嵌入在在多功能电话机系 统中的子系统,整机还支持电话通信、网络,英语学习、p d a 等功能,具有功能齐全、可扩展等优点。 本论文以- 稃中心多功能话机项目为载体实现文章阐述的各项内容,探讨了基丁通_ 【 j 处理器设计多 媒体音频系统的有关理论和实践方法,提出了基于a r m 7 t d m i 内核的s o c 实现音频处理系统的设计 方案,并通过整机实现平测试,验证了该方案。 1 2 论文的主要工作和意义 g a r f i e l d 芯片的设计的目标之一,就是能够以较低的成本实现嵌入式多媒体音频处理的解决方案, 能够流畅的实时播放m p 3 、录制和播放语音数据。 本论文的研究i :作主要包括以下内容:语音处理功能的实现、音频系统编解解码性能评估及优化、 基于a s i x o s 操作系统的音频系统的程序设计等。 1 语音处理应用功能的实现:本论文开始之前,在g a r f i e l d 芯片上还没有实际验证语音应用的功能, 本论文要首先实现该功能。 2 音频系统编解解码性能评估及优化:语音和m p 3 系统的编解码性能直接决定了音频系统的实时性, 因此要评估和优化;同时,在实现实时的基础上尽晕追求高性能以降低功耗。 3 基t - a s i x o s 操作系统的音频系统的设计:以多功能话机为目标载体,基于a s i x o s 的音频系统的 整机实现是本论文的最终实际成果。 本论文的研究和设计工作,具有以下意义: 1 充分验证和评估g a r f i e l d 芯片的多媒体音频处理功能和性能;解决基丁g a r f i e l d 的手持设备的语音 处理问题,提山并验证适合该芯片的语音处理子系统的解决方案。 2 在a s i x o s 操作系统平台上实现平完善包括语音处理和m p 3 两个应圳的音频系统,进行系统级的 整合,进一步优化音频处理算法库,实现性能优异、二r 作稳定的多功能话机的音频处理功能。 3 全面探索和总结项目中音频系统设计的有关1 :作,为g a r f i e l d 系列芯片和中低端嵌入式音频系统设 计方案的进一步完善做一些j 二程应j j 经验和理论的积累。 1 3 本论文结构 本文共包括六章,本章简要介绍了基于g a r f i e l d 芯片的多功能话机中音频系统设计的项目背景、 主要t 作和意义。第二章介绍了音频系统的组成,包括核心处理芯片g a r f i e l d 以及其它硬什系统和软 制系统。第三章重点介绍了对音频系统编解码库的性能优化。包括算法优化和具有g a r f i e l d 特色的 e s r a m 优化,以实现在g a r f i e l d 系统中能实时流畅地处理音频数据。第四章详细介绍了基于a s i x o s 第章绪论 操作系统中音频系统的设计,包括两个予系统的上层应用、后台服务、底层驱动三个层次u i s e r v e r 机制的软件系统设计,实现了录放音,m p 3 播放的应用功能。第五章主要介绍了音频系统在多功能话 机系统里的戍用、有关资源的协调和噪音问题的处理以及最终的整机性能测试结果和分析,并指出了 今后可以继续优化的方向。第人章中对论文作进行了总结,说明了本论文的不足之处和今后需要改 进的地方。 本论文力求以浅显易博的语言和图表、符合实际的测试数据,通过对以上阐述内容深入浅出的介 绍。设计出了以多功能话机为整机载体的嵌入式多媒体音频处理系统,提出了基于g a r f i e l d 芯片设计 和优化嵌入式音频系统的有关方法和经验。 2 东南丈学硕十学位论文 第二章基于g a r f i e l d 多媒体音频系统的组成 2 1g a r f i e l ds o c 系统的组成 本设计采用g a r f i e l ds o c 作为音频系统的处理核心,同时也是多功能话机系统的核心处理单元。 该芯片是基于a r m 7 t d m i 内核的3 2 位嵌入式s o c ,采闱a m b a 2 0 标准、0 2 5 i jm c m o s f :艺,主 要面向嵌入式中低端手持设备【1 0 】i “。下面来了解一下该款处理器。 g a r f i e l d 芯片是面向中低端手持设备莆i 其它通用嵌入式应用场合,能提供丰富的外设接口,支持低 功耗管理和低成本的外存配置等l l q 。g a r f i e l d 芯片的系统架构如图2 1 所示。 图2 1g a r f i e l d 系统架构框图 g a r l i d d 微处理器是一个非常复杂的系统,主要包括以f 接口模块: e m i ( e x t e m m e m o r y i n t e r f a c e ) ,外部存储器接口 p m u ( p o w e rm a n a g e m e n tu n i t ) ,电源管理单元 u s b 客户端控制器 d m a 控制器 m m a ( m u l t i m e d i a a c c e l e r a t o r ) 。多媒体加速器 l c d 控制器 a c 9 7 控制器 s p i ,串行外设接口 u a r t ,通用异步收发器 g p t ,通用定时器 r t c ,实时钟控制器 矾t c ,中断控制器 g p i o ,通_ l j 1 0 接口 芯片主频可软什配置,片上p l l 支持芯片最高土频8 0 m h z ,支持低功耗模式,所有外围模块可单 独犬闭时钟。处理器内嵌2 0 k b ( 本文中,k = 1 0 2 4 ,k = 1 0 0 0 ,b = b i y = b 。f 同) 零等待的静态存储器 e s r a m 用于存放耗时的音频处理核心代码和数据以提高处理性能。为了支持低成本系统方案,处理 3 第二章基十g a r f i e l d 多媒体音频系统的组成 器支持外部3 2 ,1 6 位数据总线,结合a r m 提供的t h u m b 指令集1 3 1 1 “,将大大降低系统成本和功耗。 处理器还提供专用n a n df l a s h 控制器,支持系统直接从n a n df l a s h 启动软什系统。 为了适应嵌入式信息终端的多媒体处理需求,g a r f i e l d 处理器集成了提供多媒体音频数据接口的 a c 9 7 控制器、用于多媒体运算加速的m m a 模块和用于大数据最高速传送的d m a 控制器,是与本文 设计的音频系统直接相关的片内硬件模块。 2 2 音频系统的组成 本设计中的音频系统分为硬件和软件两部分。其中硬件部分包括以g a r f i e l ds o c 、片外a c 9 7 c o d e c 、外部存储器笥部分,主要实现系统运行的核心控制、a c 9 7 标准音频数据传输、数据存储等 功能,并且g a r f i e l ds o c 的片内m m a 模块参与部分m p 3 解码运算,以实现性能加速;软件部分包括 以a s i x o s 为核心的操作系统平台和音频编角j f 码算法库,主要实现系统软硬佴资 蟓的管理和绝人部分 的音频编码帛i 解码运算。 2 2 1 硬件系统 音频系统的硬州系统框图如图2 2 所示。虚线框内是g a r f i d d s o c 的片内模块;虚线框外为片外器 件,包括外存储器( s d r a m s r a m f l a s h 等) 、c o d e c 等。 图2 2 音频系统的硬件系统框图 外部存储器接口( e m i ) g a r f i e l d 处理器对各种片外存储器进行的访问都需要通过e m i 接口与外部存储器交互。e m l 支持对 s d r a m 、s r a m 、n o r 或n m l d 犁f l a s h 存储器的诵问。在我 f j 的系统中,诰音乐缩文件和m p 3 文什 主要存放在速度较低、非易失性的片外n a n d f l a s h 存储器中,需要在解码过程中不断通过e m i 接口读 入s d r a m 缓冲进行解码或将编码后的语音数据存入n a n df l a s h ;系统的大部分代码在外部存储器 s d r a m 中运行,部分耗时的核心编解码代码放在e s r a m 中运行( e s r a m 是零等待存储器,访问速 度非常快,所以在进行音频编解码时将部分严重影响速度的代码和数据存放在e s r a m 中,可显著提 高编解码性能) 。 内置高速内存( e s r a m ) e s r a m 的存取速度1 常快,所以对一般的s o c 存储系统性能有很人的优化作用。e s r a m 可以提 供比外存高许多的性能,达到o 8 9 m i p s m h z l l o l ,h j 户可以充分这2 0 k b 的e s r a m 。达剑优化系统性能 的目的,比如将音视频核心算法代码、中断处理稃序、操作系统内核等放入其中。片上高速e s r a m 可 以有效的减少程序执行时产生的内存等待周期和数据访问延迟,在连续读写的情况下,甚至可以提供 4 东南大学顾j :学位论文 零等待的访问时间,相当于系统工作于理想状态。由于数据读写的延迟很短,a m 7 t d m i 核心流水线几 乎不会因为插入等待周期而导致运行中断,因此使用片内e s r a m 可以极人地提高罄个系统的运算速度 和处理能力。一般情况f ,片内e s r a m 的读写性能比通过e m i 访问片外s d r a m 高约加3 倍,比片外 s r a m 甚至高4 倍是用丁软件核心代码莆i 高速缓冲的理想区域。然而,由于成本昂贵,g a r f i e l d 系统级芯 片上的内置e s r a m 的容量较小,只有2 0 k b ,因此必须根据应用软什的贝体运行情况优化使用e s r a m 。 硬件多媒体加速模块( n 队) 硬件多媒体加速模块m m a 是g a r f i e l d 系统对m p 3 解码算法最重要的支持。m m a 模块实现了m p 3 解码的部分过程,将返算量最大的部分通过硬什处理,可以极人地提高m p 3 的解码性能。在m p 3 解码 过程中,尤其是钍解码的最后阶段,大量的向肇乘法和乘加运算占_ h j 了人草的c p u 资源。在a r m 7 t d m i 处理器核心中,虽然已经采用了快速乘法器的设计方案,但是乘法和乘加指令的速度仍然较慢,需要 使用较多的时钟周期才能完成计算,这对系统解码性能的影响很人;而且乘法运算的两个乘数一般都 要通过单一的e m i 接口从外部存储器中读入,得到的计算结果也要通过同一个e m i 接口弓回外存,不可 避免地导致大量的c p u 时间浪费在读取乘数的等待周期上。m m a 模块可以高速完成的向晕乘法和乘加 运算,代替原来的多条乘法和乘加指令。同时将一组常鬣乘数保存在m m a 内部的m m a r a m 区域当中, 以减少对e m i 的访问,进一步提高处理速度。 a c 9 7 控制器 a c 9 7 控制器( a u d i oc o d e c 9 7c o n t r o l l e r ) 主要是通过a c l i n k 实现与a c 9 7c o d e c 的通信, 在我们的设计里,主要实现a c 9 7c o n t r o l l e r 左右卢道剑c o d e c 的数据传送,以及c o d e c 的 m i c r o p h o n e 或者左右通道( 三选一) 到a c 9 7 控制器数据传输。a c 9 7 控制器与c o d e c 之间的遵循i n t e l a c 9 7 协议。根据a c 9 7 音频协议标准,构成符合a c 9 7 协议的音频数据接口系统,包括c o n t r o l e r 和c o d e c 两部分,由于g a r f i e l d 已经提供了片内的c o n t r o l e r 模块,因此我们需要在片外与g a r f i e l d 2 间接一片c o d e c 芯片。本文的设计采州p h i l i p s 公司的u c b l 4 0 0 作为音频系统的c o d e c ,实现音 频数据按照a c 9 7 比特流的格式进行采集利传输。 d m a 控制器 在进行d m a 方式传输时,d m a 控制器从c p u 完全接管对总线的控制,在不需要c p u 干涉的情况下 把火晕的p c m 数据在存储器与a c 9 7 控制器的f i f o 之间高速传输,并且以中断方式向c p u 报告传送操作 的结束,高效而方便地实现音频数据的采集和播放。 中断控制器 中断控制器( i n t c ) 的作用是接收来自中断源的中断信号,发送给c p u ,c p u 通过查询有关寄存 器以确定当前需要服务的中断源为d m a 中断,从而实现程序跳向d m a 的中断服务子程序,再次配置 d m a 触发新的数据传输。 片外的a c 9 7c o d l c 芯片,是与片内的a c 9 7 控制器模块共同组成a c 9 7 设备系统,提供符合a c 9 7 标准的数据接口。本设计中采_ 【 j p h l i p s 公司的u c b l 4 0 0 ,有大该芯片的详细情况请参考文献【1 2 】。 硬件系统的t 作流程为 1 0 i l l 2 1 : 数据编码:主要是语音处理子系统中的语音乐缩过程。首先c o d e c 按照预置的采样速率( 本系统中 采用诰音数据的8 k h z 采样频率) 采集语音数据的p c m 码,暂存在a c 9 7 的输入f i f o 中;然后当a c 9 7 的输入f i f o 半满时由d m a 控制器通过中断方式,将p c m 语音数据传送剑指定存储区域;在 a r m 7 t d m i 的c p u 内核控制f ,运行( 3 7 2 1 算法的编码程序,将1 6 位的语音p c m 码压缩为4 市的 a d p c m 码。 根据语音实时性的需要,设置u c b l 4 0 0 采样速率为8 k h z ,由于该芯片音频采样精度为1 6 位,即 用1 6 付数据表示一个语音采样点,故采样率为1 2 8 k b p s ( k b p s ) ;经过g 7 2 1 核心算法编码后,每个采 样点数据压缩为4 位表示,故传输率为3 2 k b p s 。 数据解码:分为m p 3 解码播放和g 7 2 1 解码播放两个过稃,但硬件的工作1 稗是相同的。首先由 a r m 7 t d m i 的c p u 内核运行m p 3 或g 7 2 1 解码程序,把存储器中的m p 3 音频数据或语音a d p c m 5 第二章基于g a r f i e l d 多媒体音频系统的组成 码解码为p c m 码:完成若干帧的数据解码后,由d m a 控制器通过中断方式把数据传送到a c 9 7 的输 出f i f o ,由与之相连的片外c o d e c 对p c m 码数据进行转换,得剑模拟音频信号驱动耳机、扬声器 等设备。 在m p 3 和g 7 2 1 解码播放过稃中,硬什配置的主要著异在于: 1 片外c o d e c 的采样频率不同:m p 3 播放过稃根据实际m p 3 文件的不同设置c o d e c 为3 2 k h z 、 4 4 i k h z 、4 8 k h z 等频率;而g 7 2 1 播放过程始终设置c o d e c 工作在8 k h z 的采样频率。 2 d m a 一次传输的数据的大小不同:由于m p 3 文什一帧数据包含1 1 5 2 个采样点,冈此d m a 一次 传输单卢道为i 1 5 2 2 = 2 3 0 4 字节,双声道为4 6 0 8 字节;而语音处理系统在语音处理时以1 0 2 4 个采样 点为一帧编码,但存储的时候是直接顺序存放纯粹的a d p c m 码,即不带任何文什格式信息,因此一 次解码的单位可以任选,我们仍然以编码帧长为解码单位,即d m a 一次传送单声道语音数据2 0 4 8 字 节,双声道为4 0 9 6 字节。 2 2 2 软件系统 本设计中的音频系统是构建在a s i x o s 操作系统平台上的。该操作系统平台是东南大学国家专用 集成电路系统工程技术研究中心自主研究的嵌入式实时操作系统i l l l ,包括内核( a s i xk e r n e l ) 、时钟 服务任务( t i m e rt a s k ) 、系统服务任务( s y st a s k ) ,基本幽形库( a s i xg p c ) 、图形用户界面( a s i x g r m d o w s ) 、网络通信协议( a s i xn e t w o r k ) 、模拟器( a s i xs i m u l a t o r ) 等模块。 a s i xw m d o w s 是该操作系统的自主g u i ,a s i xg r m d o w s 的底层使用的是a s i xg p c 图形库。在 我们的多功能话机系统中,用户操作的触发系统为话机上的键盘,即键韶的按键动作触发屏幕显示随 之变化。a s i xw m d o w s 模块主要包括三个层次:消息的定义与管理:任务的封装与管理;图形_ h j 户界 面的封装与管理。a s i xw m d o w s 是基丁消息驱动的图形川户接口。从a s i xw m d o w s 的角度来石, 虑刚稃序是由一组窗口和控什组成的,稃序的功能是通过州户根据窗口提示的相应按键动作来实现的。 然后用户的按键动竹会被作为系统消息传递剑系统服务层,由服务层决定具体的硬件动作,如:a c 9 7 数据的采样或输出、c o d e c 音母的调整从而实现录音、捅放( 语音或m p 3 音频) 、音颦的增减等功能。 因此,根据a s i x o s 这种u i - s e r v e r 的架构i l ”,音频系统的软件结构大体上分为上层应用、后台服 务、底层硬件驱动3 个设计层次。 图2 3 基于a s i x o s 的音频系统软什架构 基于a s i x o s 操作系统的整个音频系统的软件架构如图2 3 所示,该图层次分明地描述了音频系 统的软件架构各层次工作为: 6 东南大学硕十学位论文 上层应用程序 音频系统( 语音处理或i v l p 3 子系统) 的上层应用程序是基于a s i xw m d o w s 的g u i ( g r a l 】l l i cu s e r i n t e r f a c e ,图形用户界面) 编稃,主要是创建备类控件或图标,如捅放,停i t 播放,快进,快退、音鼍 调节的按钮标识,以及创建并显示语音或m p 3 文件列表。应用程序通过消息循环查询用户的按键动作, 并识别是那种键铍按下,向语音处理服务或m p 3 服务程序发出相应的事件标志e v e n t f l a g 。 后台服务程序 当操作系统启动后,语音处理或m p 3 子系统的服务程序就开始在后台运行,并阻塞在接收上层应 用程序事件消息的接受函数内。一日上层应1 i j 程序发送相应的消息如播放的命令过来,服务程序就开 始从存储器中读取( 通过文鞘系统完成) m p 3 或g 7 2 1 文件数据流,并调用相应的编解码稃序库( 编 解码算法详j i ! i2 3 ) c o d e c l i b 进行解码- 作,并把解码后得剑的p c m 数据存放在指定存储区域,供 d m a 传送剑a c 9 7 音频设备。 底层驱动程序 底层驱动程序包括片内d m a 、a c 9 7 和片外音频c o d e c 印c b l 4 0 0 ) 的驱动。由后台服务稃序直接 调用。当这些硬什被初始化后,d m a 在a c 9 7 设备接口和存储器之间传送p c m 数据。并且,d m a 传 输不需要a u 介入,因此,在d m a 传输的过稃中,a r m 7 t d m i 内核可以同时进行剩余数据的解码 或刚采样数据的编码 作。d m a 一次传输数据的尺寸有限,但可以通过中断方式不停地配置d m a 触 发新的数据传输,并且可以记录已经采样输入或捅放输出的数据帧数,从而控制编解码过程、数据采 样和输出过稃之间的协调。 2 3 语音和音频处理核心编解码算法 2 3 1g 7 2 1 标准a d p c m 语音处理算法简介 1 9 3 7 年,a h r e e v e s 提出脉冲编码调制( p c m ) ,开创了语音数字化通信的历群 s t s l l g l 。c c i t t 在 八十年代初,开始研究低于“k b p s 的t f :p c m 编码算法,先后制定通过了g 7 2 1 、g 7 2 8 、g 7 2 9 ( 编码标 准。其中,g 7 2 1 标准作为a d p c m 的典型算法,不仅具有与p c m 近乎相同的话音质鼋,而且有简单的 算法结构和优良的抗误码性能,在卫屋、海缆及便携式数字语音设备等方面都有广泛应_ j 。_ l 亓来,1 1 u - t 将2 4 k b p s 、3 2 k b p s 、4 0 k b p s 不同传输速率的a d p c m 语音编码标准统一为g 7 2 6 语音编码标准。本文设计 采_ e i j 的g 7 2 1 算法,实际上就是g 7 2 6 标准在3 2 k b p s 传输速率怙况- 卜的应用。 g 7 2 1 编解码算法的简化框图如图2 4 所示( 这里的k 代表离散时间点,k = 0 、1 、2 、) 。 编码过程; 1 计算s l ( 1 【) 与白适戍预测器输山s e 的筹值e ( k 产s l ( k ) s e ( 1 ( ) ; 2 通过自适应茸化模块对e ( 1 【) 进行草化,得全r j a d p c m 码字i ( 1 【) ; 3 通过自适应反茸化模块对i ( 1 【) 计算得剑草化差分预测信号d q ( k ) ; 4 根据重建信号s r ( k ) = s e ( k ) + d q ( k ) 和d q ( k ) 更新预测滤波器系数; 5 利用新的系数,计算得仝f j s e ( k + 1 ) ,重复步骤1 5 ,压缩卜一个语音采样数据。 解码过程: 1 通过白适府反晕化和自适应预测得剑j d q ( k ) 和s e ( k ) ,得到语音重建信号s r 0 【) ; 2 对重建信号s t ( k ) 进行p c m 格式转换得全i j p c m 码字s p ( k ) ; 3 采 j 与编码器相同的方法更新预测滤波器系数; 4 为实现舣向通信,同步调整s p ( k ) ; 5 利用新的滤波器系数,重复i 一5 ,解码下一个1 0 c ) 。 7 第二章摹于g 口f i d d 多媒体音频系统的组成 刁。 越罾“篷箩严 匿融 图2 4g 7 2 1 编解码简化框图 由丁编码汞i 解码为互逆过程,下面我们给出g 7 2 1 a d p c m 语音信号的编码系统详细过稃如图2 5 所 图2 5g 7 2 1 编码过程 有关g 7 2 1 、g 7 2 6 编解码算法详细内容,请参考文献【1 】、【2 】、 7 j 、 j 6 1 ,本文不再展开叙述。 2 3 2m p e g 一1l a y e rm 音频解码算法简介 m p e g - i 音频作为数字存储媒体运动幽像和伴音编码标准的部分,由i s o i e c1 1 1 7 2 标准的第三部 分( 简称1 1 1 7 2 - 3 ) 规定1 3 】1 4 l l 6 1 。m p e g - i 压缩标准是用来盲接橘放米自c d - r o m ( 数据传输率约为 1 4 m b p s ) 或类似的光学存储设备和磁存储介质的音视频格式数据。m p e g q 音频支持采样率为3 2 ,4 4 1 , 4 8 k h z 的单、双声道等模式,并利川心理声学模型米控制音频信号的草化编码。m p e g - i 共有三个不同 8 东南大学硕士学位论文 层次的音频压缩算法:l a y e r l ,l a y e r 2 ,l a y e r 3 ,它们对应不同的要求,具有不同的复杂度和不同的压 缩效率。 l a y e r 3 级的m p 3 算法较为复杂,压缩性能也最好,压缩数据流的速率为3 2 3 3 2 k b p s ,在每声道数据 速率为“k b p s ,乐缩比在l :1 0 - h1 2 时,接近c d 音质,它土要针对丁二低速率音频传输的应用,特别适 合应用丁i s d n 网络传输和存储。 m p 3 解码算法流程如图2 6 所示,其中反量化、i m d c t 和子带合成等三部分运算在m p 3 解码过稃中 占用了最多的c p u 运算时间,对于m p 3 系统来说属于关键过程,我们将对其进行研究优化,以提高m p 3 解码的速度。 左道p 。竺! ! ! ! 訇,t 圈,4 j 垃 右遗p。竺兰!:。:ji:jj:丑t,a曰s,t:i:jjij:l|:7 图2 6m p 3 解码简化框图 帧同步和帧头解码 解码的第一步是从输入的m p e g 位流中分解出完整的数据帧。使解码器与输入位流同步。帧酋部 的前1 2 位就是用来定位的帧同步字。接着就是对4 个字节的帧头进行解码,翻译出完整的m p 3 歌曲的编 码信息。 帧首部中有关采样率( f r e q u e n c y ) 的信息可以用米选择缩放因子带s c a l e f a c t o rb a i i d 表、希i 位速率 ( b r a t e ) 以及填充仿p a d d i n g 可以用来计算帧数据的长度。以便在位流同步操作中对同步字进行定位。_ b 模式伊m o d e 以及模式扩展位m o d ee x t e n s i o n 与通道模式有关,此信息供立体卢解码时使用。 不同的采样率p 每帧的音乐k 度会不同,不同的采样率和不同位速率条件f 每一帧包含的数据艮 度也不同,可以川公式2 1 和2 2 来计算; f r a m p t i m e :些( m s ) ( 2 1 ) s a m p l er a t e 加獬一如,鳓= 磊b 磊i t r a t e t 1 15 2 ( 驰) s n m d i er n l eb ( 2 2 ) 边带信息解码 解码器的第二个动作就是对音频边带信息解码。把辅助信息从位流中抽取出来,供解码相关帧的 内容时使用。待解码的辅助信息有:主数据起始指针,缩放因子分配信息,频率行分区信息,h u f f m a n 9 第二章摹于g a r f i e l d 多媒体音频系统的组成 编码表选择字、反晕化系数和窗选择字等。主数据起始指针m a m - d 嘲b e g i n 指出当前帧的音频主样值 数据相对于本帧帧头的字偏移。缩放因子分配信息包括缩放因子选择s c f s i 、缩放因子压缩 s c a l e f a c _ c o m p r e s s 、缩放因子倍乘系数s c a l e f a c _ s c a l e ,其中缩放因子选择信息_ l j 来确定缩放因子带的传 送方式 h u f f m a n 解码 为了提高压缩率,m p 3 _ i j 霍夫曼代码来晕化频率样本,量化斤的频域样值( 5 7 6 点) 使用3 2 个可能 的h u f f m a n 编码表( 3 0 张人值码表,2 张小值码表) 来进行编码。根据最大蕈化值及信号的局部统计特 性不同来使_ i j 不同的笮夫曼码表,可增强编码器的性能,从而获得更好的容错性和编码效率。解码器 的任务是通过霍夫曼解码和反颦化,恢复频域样本,然后从频域变换到时域,输出时域样本。 反量化和重定序 在霍夫曼编码之前,使用乘方非线性量化器对数据革化,得到晕化值和边带信息。从霍夫曼解码 器输出解码值i s ,可计算或杏表得 出1 i s l 4 3 ,再根据k 块和短块的反鼍化方程计算出混合滤波器的输入 x | _ i 。它是下一步合成滤波器的输入。 联合立体声解码 m p 3 中的联合立体声包括m s 立体卢羽j 强厦立体卢。如果使用7 联合立体声模式,那么频谱在草化 后,还需进行立体声处理。在m p 3 中使用两种立体卢模式,m d s 立体声( m ss t e r e o ) 和强度立体声 ( i n t e n s i t ys t e r e o ) 。两种模式可以单独使用,也可以联合使用。切换信息由头标中的模式位( m o d e ) 和模式扩展位( m o d e e x t e n s i o n ) 决定。 m s 立体卢使用r 面的公式组2 3 来解码左右声道数据,m i 在左声道,s i 在右声道: l :盟 , 山一;:一 ” 1 2 ( 2 3 ) 胄,:堕当 4 2 强度立体声川f 面的公式组2 4 来获得左右声道数据: l l = l i + r t i s r a t i o 咖= t a 咯i s p o s 咖) ( 2 4 ) 工:工,! ! ! ! 坠:工,! 一 l + i s r a t i o 驴 1 + i s r a t i o 混叠消除( 子带抗锯齿) 合成滤波的第一步操作就是进行混替消除处理。主要用于减少编码过稃的子带滤波器产生的锯齿效 应。反锯齿运算需要对每一个子带分界点进行8 次所谓蝶形返算。每一个蝶形运算包括四次乘法和两 次加减法。混番消除处理实际上就是对5 7 6 个频率行数据进行以8 为周期的蝶形运算。 设n 是加窗样点的数目,短块时n = 1 2 ,长块时n = 3 6 ,就是要将n 2 个值x k 变换:l j n 个1 直o c i 。即对长块 是1 8 剑3 6 点变换,短块则先进行3 个6 点剑1 2 点的变换,再将3 个1 2 点输出矢量叠加得到3 6 点矢量。_ j 如 下公式2 5 表达: 东南大学碗+ 学位论文 詈- l r、 t 5 薹墨c o s 怯( 2 i + 1 + n2 1 ) j ( 其中扛o ,l ,卜1 ) ( 2 5 ) 子带合成 子带合成滤波器将i m d c t 输出的信号反变换成原来的p c m 信号,与i m d c t 变换一起完成了m p 3 解码过程中的子带滤波功能,完成音乐数据在频域和时域之间的最终转换。整个过程由初始化,i d c t , 采样值加窗和3 2 个样值着加输出等部分构成。 子带合成滤波器接收到的是经过霍失曼解码,反量化,混替消除及t m d c t 变换的一个通道中3 2 个 子带的样值,在子带合成滤波器中,通过i d c t 艚j :3 2 个等频带宽内的颏域信号反d c t 变换成6 4 个样值, 公式如下: t = 姜”c o s ( 2 k + 1 x i + 1 6 ) 石 ( 其把o , 1 ,6 3 ) ( 2 6 ) i d c t 变换后,将这6 4 个中间值输入到一个长为1 0 2 4 的先入先出( f i f o ) 的缓存再在这1 0 2 4 个值 中抽取一半,构成一个5 1 2 的矢鼋,进行加窗运算。加窗系数由i s o i e cm p e g 标准中的合成窗系数表 格提供。最后将加窗结果进行替加生成3 2 个时域输出。 有y ( m p 3 解码算法的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论