已阅读5页,还剩56页未读, 继续免费阅读
(通信与信息系统专业论文)基于arm7嵌入式系统的mp3设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 m p e g ( m o v i n gp i c t u r ee x p e r t sg r o u p ) 是运动图像专家组的英文缩写。m p 3 是m p e ga u d i ol a y e r 3 的缩写,即m p e g 第三层音频编码标准,使用m p 3 标准对 音频数据编码既可以获得较大的音乐数据压缩比,又可以得到较好的音乐回放质 量。国内外现有的m p 3 解码实现有两种方案:硬件和软件解码。利用专用解码芯 片的硬件解码,其灵活性不好,并且硬件解码芯片的价格昂贵。基于d s p 或a r m 等处理器开发平台的软件解码,扩展性好,性价比较高。 课题研究利用上海华邦公司的w 9 0 p 7 1 0 嵌入式开发板,提出基于 a r m 7 t d m i + u c i i n u x 的硬软件结合的音频解码方案,在降低硬件成本的基础上保 证较高质量的播放效果。针对a r m 7 的处理器的速度和存储器大小,为达到音频 解码的实时性和较好的播放效果,对解码主要模块的算法进行优化。解码效果利 用v c + + 6 0p r o f i l i n g 功能、a d s l 2 调试工具、a r m 嵌入式平台进行测试和验证, 实现在a r m 开发平台上播放u 盘中音频文件。 课题研究的内容主要包括: 1 嵌入式系统交叉开发环境的建立,包括调试工具,系统文件的安装;内 核和根文件系统、应用程序的编译和移植;实现在开发板上播放u 盘中m p 3 文件。 2 根据a r m 处理器的特征,优化四个主要解码模块算法:h u f f m a n 解码中 利用定长查找冗余表h u f f m a n 解码算法、反量化中采用线形插值的方法优化反量 化系数查找表、i m d c t ( i n v e r s em o d i f i e dd i s c r e t ec o s i nt r a n s f o r m a t i o n ) 模块采 用基于s z u w e il e e 的快速算法进行优化、子带合成滤波中利用余弦的对称性对 矩阵乘法进行简化运算。 3 利用v c + + 6 0p r o f i l i n g 功能、a d s l 2 调试工具分析解码效果。定点算法 优化各模块后,解码所需空间和时间明显减少。 4 课题研究的结果进行验证与分析,并提出相关的总结和展望。 关键词:a r m 7 t d m im p 3i m d c t 嵌入式系统 a b s t r a c t m p e gi ss h o r tf o rm o v i n gp i c t u r ee x p e r t sg r o u p m p 3i ss h o r tf o rm p e g a u d i ol a y e r - 3 w ec a l lo b t a i nh i g h e rc o m p r e s s i o nr a t i oo fm u s i cd a t au s i n gm p 3 t e c h n o l o g y ,a n da tt h es a m et i m ew ec o u l dr e c e i v eg o o dp l a y b a c kq u a l i t y t h e r ea r e t w os c h e m e s ,d e c o d i n gu s i n gh a r d w a r ea n ds o f t w a r ei ni n t e r n a t i o n a lm a r k e t a t p r e s e n t , t h em p 3p l a y e r sd e c o d i n gw i t hh a r d w a r ea d o p ts p e c i a lp u r p o s ed e c o d i n gc h i p b u tt h ef l e x i l i t yi sn o tg o o da n dt h ec o s ti sv e r yh i g h n o ww ea l w a y su s es o f t w a r ef o r d e c o d i n g ,b a s e do na r m o rd s p p r o c e s s o re m b e d d e dp l a t f o r m ,i ti sf l e x i b l ea n dw i t h l o wc o s t t h et h e s i sr e s e a r c hi sb a s e do ne m b e d d e dp l a t f o r m w 9 0 p 710 e x p a t i a t i n ga a u d i od e c o d i n gp r o j e c tc o m b i n e dw i t hh a r d w a r ea n ds o f t w a r eb a s e do na r m 7 t d m i i tc a nr e c e i v eg o o dp l a y b a c kq u a l i t yw i t hl o wh a r d w a r ec o s t f o rt h es a k eo ft h eh i g h a u d i oq u a l i t ya n dr e a lt i m e io p t i m i z et h ec o d i n ga n da r i t h m e t i co fm a i na u d i o d e c o d i n gm o d u l e a tl a s t iv a l i d a t ea n dt e s tt h eo p t i m i z e dr e s u l tw i t ht h ev c + + 6 0 p r o f i l i n g ,a d s1 2t o o l sa n da r m e m b e d d e dp l a t f o r m t h em a i nc o n t e n to fr e s e a r c hi n c l u d e : 1 b u i l dt h ec r o s s c o m p i l i n gc o n d i t i o n , i n c l u d e :i n s t a l lt h ed e b u g g i n gt o o l sa n d f i l es y s t e m ;c o m p i l ea n dr e p l a n tk e r n e l ,f i l es y s t e m ,t h ea p p l i c a t i o nt oa r m p l a t f o r m , f i n i s hp l a y i n gt h e m p 3d o c u m e n ti nt h eu s b 2 a c c o r d i n gt ot h es p e e da n dm e m o r yo ft h ea r mp r o c e s s o r ,o p t i m i z et h e c o d i n ga n da r i t h m e t i co fm a i na u d i od e c o d i n gm o d u l e :i nh u f f m a nd e c o d i n gm o u d u l e , a d o p tt h ea r i t h m e t i co fl o o k i n gu pt h er e d u n d a n c yt a b l ew i t hf e dl e n g t h ;i ni n v e r s e q u a n f i z a t i o n ,a d o p tl i n e a ri n t e r p o l a t i o nt oo p t i m i z et h et a b l eo fc o e f f i c i e n to fi n v e r s e q u a n t i z a t i o n ;i m d c ti sb a s e do nf a s ta r i t h m e t i co fs z u w e il e ef o ro p t i m i z a t i o n ;i n s u b b a n ds y n t h e s i sf i l t e r i n g ,i tc a l ls i m p l i f yt h em u l t i p l i c a t i o no fm a t r i xa c c o r d i n gt o t h es y m m e t r yo fc o s i n 3 iv a l i d a t et h eo p t i m i z e dr e s u l tw i t ht h ev c + + 6 0p r o f i l i n g , a d s1 2t o o l s a f t e r t h eo p t i m i z a t i o no fm a i nm o d u l e t h es p a c ea n dt i m eo fd e c o d i n gi sr e d u c e dw e l l 4 ia n a l y s et h er e s u l to ft h e s i s ,a n dp u tf o r w a r dt h es u m u pa n d p r o s p e c to f t h e c o r r e l a t i v er e s e a r c h k e yw o r d s :a r m 7 t d m im p 3i m d c te m b e d d e ds y s t e m 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得苤壅盘鲎或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:彦级氖 签字同期:酏7 年6 月l r | 学位论文版权使用授权书 本学位论文作者完全了解苤鲞太鲎有关保留、使用学位论文的规定。 特授权苤盗盘鲎可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名: 答字嗍:加下 砂纭扒 易月二同 导师签名: 签字同期: 第一章绪论 1 1m p e g 标准 第一章绪论 m p e g ( m o v i n g p i c t u r ee x p e r t sg r o u p ) 即运动图像专家组,m p e g 标准由国 际标准化组织i s o ( i n t e r n a t i o n a ls t a n d a r do r g a n i z a t i o n ) 和国际电工委员会i e c ( i n t e r n a t i o n a le l e c t r o n i cc o m m i t t e e ) 共同制定,用于对传输位率为1 5 m b p s 以下 时的数字存储媒体的运动图像和伴音进行编码【l 】。 m p e g 1 标准( i s o i e c1 1 1 7 2 ) 于1 9 9 3 年正式推出,由系统、视频和音频三 部分组成。m p e g 标准中关于音频的压缩标准,具体规定了用于数字存储媒体的 高质量音频编解码算法。对数字伴音的压缩处理主要是利用人的生理听觉特性, 从信号中去掉人的听觉基本上听不到的微弱信息及被屏蔽的声音等冗余信息,是 一种多声道的数字音频处理系统。其目的是将取样频率为3 2 4 4 1 4 8 k h z ,量化 等级为1 6 位的音频压缩到数据传输率在0 9 1 2 m b p s 以下,而且解压后音质与原来 的音质( 如c d d a ) 接近。近年来,多媒体技术、数字电视技术、多媒体通信 和交互电视技术等的迅速发展,m p e g 1 在视音频的分辩率和数据传输率方面已 不能满足要求,于是i s o i e c 又于1 9 9 4 年推出了m p e g 2 标准。 m p e g 2 标准( i s o i e c1 3 8 1 8 ) 是在m p e g 1 基础上发展起来的能适用于对 多种声道音频的低码流编码的音频压缩标准,对声音信号的压缩原理与m p e g 1 基本相同,其压缩比较高( 可达1 1 0 ) 。为了提高临场感和将来采用多种语言广 播,在m p e g 2 中增加了对低取样频率的扩展,m p e g 2 除能与常用的3 2 ,4 4 1 , 4 8 k h z 取样频率兼容外,还可扩展到以上取样频率的半取样频率 ( 1 6 ,2 2 0 5 2 4 k h z ) 值;其次是增加了多声道的扩展技术,对于环绕声的应用, 可提供5 个主声道( 左、中、右、左环绕、右环绕) 和一个超重低音效果声道l f e 。 此外,为了进行多种语言广播,可允许最多扩展到7 1 个声道【2 】。 m p e g 1 ,m p e g 2 标准均为高层媒体表示于结构标准,其交互性与灵活性较 低。为此,m p e g 组织于1 9 9 8 年1 1 月推出m p e g - 4 标准,它提供更强的交互能力, 支持不同传输速率的编码,适用于目前的各种窄带网络。m p e g ,7 标准在酝酿中, 它实际是“多媒体内容描述接口”,主要针对基于内容检索的需求。m p e g 7 从 某种意义上说是基于m p e g 4 的。它将为各种类型的多媒体信息规定一种标准化 的描述,这种描述与多媒体信息的内容本身起,支持用户对其感兴趣的“资料” 进行快速有效的检索。 第一章绪论 目前,m p e g 标准广泛应用于家用卫星广播业务、地面数字电视广播、电子 影院、电子新闻采集系统、个人通信、多媒体邮件、网络数据库、家庭电视剧场、 遥控监视以及点播电视系统等方面。 1 2m p 3 简介 3 即i s o i e ci s ll1 7 2 3 和i s 3 8 1 8 3 标准,是m p e g 标准中的音频标准中的 一部分,对应于m p e g 1 和m p e g 2 中的第三层。m p 3 技术最早来自m p e g 1 标准, 该标准自2 0 世纪9 0 年代初推出后,很快在数字音频应用领域占据统治地位。 m p e g 一2 音频标准对m p 3 音频进行了扩展,使其支持更低采样率和5 1 声道和多语 言支持的音频格式。m p e g 1 的m p 3 标准支4 8 k h z ,4 4 1 k h z ,3 2 k h z 三种采样频 率和3 2 k b p s - 3 2 0 k b p s 间的1 4 种比特率。m p e g 2 l s f ( 低采样率模式) 在不对原 m p e g 1 中m p 3 算法进行重大改动的条件下,通过降低采样率来达到降低比特率 的目的。m p e g 2i s f 支持2 4 k h z ,2 2 0 5 k h z ,1 6 k h z - - - 种采样频率和8 k b p s 1 6 0 k b p s 间的1 4 种比特率。由奈奎斯特采样定理可知,采样频率降低一半,信号在频域的 带宽也降低一半,因此对m p e g 2 而言,其信号的频宽i : :m p e g 1 窄一半,但由 于人耳对高频信号不敏感,这种损失是可以接受的。论文主要针对m p e g 1a u d i o l a y e r - 3 来分析3 的解码算法【3 1 。 m p 3 压缩应用的理论基础是人耳听觉系统的掩蔽效应,它利用心理声学模 型,根据人耳的听觉系统来进行有效数据的压缩,对于人耳听不到的声音不进行 编码,从而大大减少了数据量。m p 3 的压缩算法实质上属于有损压缩,但对于人 耳听觉系统来说,m p 3 的压缩算法是无损的压缩。在m p 3 出现之前,一般的音频 编码即使以有损方式进行压缩,能达至l j 4 :l 的压缩比例已经很不错了,而m p 3 可 以实现高达1 2 :1 压缩比例,又能保持与c d 相当的音质,这使得m p 3 迅速地流行起 来,成为目前最流行音频编码方案。 关于m p 3 的发展历史,m p 3 编码技术于1 9 8 9 年,由德国的f r a u n h o f e r 集成电 路研究所( f r a u n h o f e r i i s a ) 发明。1 9 9 7 年由t o m i s l a vu z e l a c 开发的a m pm p 3 播放引擎被公认为是第一个m p 3 播放器。之后j u s t i nf r a n k e l 把这个引擎移植到 w i n d o w s 上,命名为w i n a m p 。1 9 9 8 年,韩国a a e h a n 和美国d i a m o n d 公司率先推 出了m p 3 随身听。 1 3 课题研究工作意义和论文的内容 国内外现有的m p 3 解码器实现有两种方案:硬件解码和软件解码。基于专 2 第章绪论 用解码芯片的硬件解码,其灵活性不好,并且硬件解码器的价格较高。基于d s p 或a r m 等处理器开发平台的软件解码,扩展性好,性价比较高。课题研究采用 a r m 处理器平台和移植u c l i n u x 操作系统的硬软结合音频解码方案。 1 3 1 课题研究工作的意义 1 理论方面:研究m p 3 的解码中的主要模块算法,如h u f f m a n 解码、反量 化、i m d c t 、子带合成滤波四大模块。结合硬件的特征,对这些模块算法进行 比较和优化,能减少硬件平台需要的解码空间和速度,能达到更好的播放效果。 它们也是在多媒体应用中十分常用的算法,比如在m p e g 的音视频编解码中, 这些算法有广泛的使用价值。这种基于硬件平台的软件算法优化方法,会很好应 用在嵌入式系统其他多媒体的开发中。 2 应用方面:采用基于a r m 7 开发平台,移植u c l i n u x 操作系统实现m p 3 播放器的设计。a r m 处理器在信号处理和控制方面较优,a r m 7 微处理器是低 功耗的3 2 位r i s c 处理器,突出的优点是低功耗以及较高的处理速度,最适合 于低价位和功耗较低的多媒体消费类应用。利用软件解码的灵活性,例如移植的 操作系统l i n u x 具有诸多的内在优点。l i n u x 内核精简而高效,可移植性强,源 代码开发,软件资源丰富,支持各种主流硬件设备。因此采用软硬结合的开发模 式是将来音视频多媒体嵌入式系统开发的一种发展趋势。 1 3 2 课题研究的主要内容 课题研究是基于华邦w 9 0 p 7 1 0 的嵌入式开发平台,采用a r m 7 t d m i 处理 器芯片,移植u c l i n u x 操作系统。在a r m 7 嵌入式开发平台上,实现m p 3 软件 解码的开发工作。对音频解码主要模块的算法进行优化,达到解码的实时性和较 好的音频播放效果。 课题研究的主要内容包括,第一部分:介绍m p 3 基本解码原理和各模块的 算法。第二部分:结合a r m 7 的硬件特点,对m p 3 的解码的主要模块算法进行 分析与优化。第三部分:m p 3 播放器在w 9 0 p 7 1 0 嵌入式开发板上的实现,包括 整个硬件和软件的实现过程。第四部分:利用相关的开发工具对解码优化的结果 进行验证与分析。第五部分:提出课题研究的总结与相关的展望。 第二章m p 3 解码的原理和主要算法研究 第二章m p 3 解码的原理和主要模块算法研究 2 1m p 3 播放器的整体实现方案 图2 1m p 3 播放器的整体实现方案 课题研究的主要工作是根据m p e ga u d i ol a y e r 3 标准,使用a r m 7 微处理 器,实现m p 3 解码的核心算法。如图2 1 ,在w 9 0 p 7 1 0 硬件平台的内存中,m p 3 软件解码模块将m p 3 格式的码流数据解码成p c m 数字音频数据。d m a 控制器将 p c m 数据从内存中发送到a c 9 7 数据总线接口。p c m 数字音频数据经过a c 9 7 总线 传送到a l c 2 0 3 芯片进行数模转换,即将p c m 数字音频数据转换成模拟电压信号 ( 声音) ,接入耳机就可以聆听到这个音频信号。 华邦w 9 0 p 7 1 0 开发板采用了a r m 公司的a r m 7 t d m i 处理器核,具有较高的 处理器速度和较低的功耗。a l c 2 0 3 芯片是r e a l t e k 半导体公司推出的一款音频处 理芯片,能够提供更完美立体声音质。利用w 9 0 p 7 1 0 嵌入式硬件开发平台,实现 m p 3 软件解码和算法的优化,达到音频文件实时地播放。 2 2m 3 软件解码流程图 m p e gl a y e r - 3 的解码流程如图2 2 所示。在进行m p 3 解码时,首先要检测数 据流中的同步字来正确确定一帧数据的开始,提取帧头信息,从而得到相应的解 码参数,同时分离主信息和定标因子。通过对主信息数据解码可得到哈夫曼解码 信息和反量化信息,主数据就可以根据哈夫曼解码信息解码出量化之后的数据, 量化后数据结合反量化信息就可以得到频域中的数据流。结合帧头中的立体声信 息,对反量化结果进行立体声处理后,通过去混叠处理、逆离散余弦变换 4 第二章m p 3 解码的原理和主要算法研究 ( i m d c t ) 、频率倒置、合成滤波器处理后就可以得到原始的p c m 音频信号。 再通过开发板上的a l c 2 0 3 解码芯片得到模拟音频信号,利用耳机就能听到歌曲 的播放。 图2 - 2m p 3 软件解码流程图 2 3m p 3 解码各部分原理与各模块的算法 m p e gl a y e r - 3 标准规定了对m p 3 音频数据进行解码的算法。在m p 3 解码的流 程中,涉及到很多复杂的解码算法。要设计m p 3 解码器,无论是软件解码器还是 硬件解码器都需要对这些算法有很深入的理解。 2 3 1 数据流的同步及帧头信息、边信息的读取 m p 3 数据流的同步以帧为单位,每一帧的帧头都包含同步信息。这个同步信 息是连续的1 2 比特的“l ”组成。m p 3 音频解码过程中的第一步就是使解码器与 输入数据流同步。在启动解码器后,可以通过搜索数据流中的1 2 比特长的同步字 来完成。 帧头信息中包含采样率、比特率、填充位等主要的用于解码的信息。比特率 和填充位信息用来确定每帧的帧长。在得到每帧的帧头信息之后,帧的帧长可由 第二章m p 3 解码的原理和主要算法研究 下面的式子来确定: l e n g t h 2 ( 1 4 4 木b i t r a t e s a m p f r e q s ) - p a d d i n gb i t( 2 - 1 ) 其q b b i t r a t e 代表比特率;s a m p f r e q s 代表采样率;p a d d i n g e _ b i t 为填充位的值。 紧跟在帧头信息后面的是边信息,边信息包括两个粒度组共用的边信息和每 个粒度组的边信息。其中两个粒度组共用的边信息包括主数据开始、保留位和缩 放因子选择信息。 2 3 2 主数据的读取 由于m p e gl a y e r - 3 标准中采用了比特池( b i tr e s e r v o i r ) 技术,所以当前帧的 主数据不一定全部都在当前帧中。在解码过程中,因此必须结合主数据开始指针 ( m a i n d a t a - b e g i n ) 的值来确定主数据的开始位置。因此,解码器需要开辟一个 缓冲区作为比特池的存储空间,处理完当前帧后,把此帧中的缓冲数据存到缓冲 区中供后续帧使用。 主数据中包含的数据有缩放因子、哈夫曼数据及附加数据。这些字段在主数 据中有固定的格式。以双声道为例,如表2 一l 所示。在解码过程中,应对这些数 据顺序提取。哈夫曼解码后输出的数据是经过量化的频域样本值,和缩放因子结 合就可以进行反量化处理了。 表2 1 双声道的主数据的结构图 2 3 3 哈夫曼解码 哈夫曼解码是m p 3 解码中非常关键部分。每一音频帧包含两个粒度组的信 息,每一粒度组的频谱值都是用不同的哈夫曼码表来进行编码的。由于h u f f m a n 编码时采用的是变长编码,所以在对其进行解码操作时实现起来比较麻烦。在 i s o i e c111 7 2 3 协议中,将h u f f m a n 编码数据从零到奈奎斯特抽样频率的范围分 6 第二章m p 3 解码的原理和主要算法研究 为三部分:b i g 部分、 部分和高频的全部分,然后再用不同的表编v a l u e s c o u n t l 0 码。哈夫曼编码数据的次序根据区组的块类型而定。块类型有四种:n o r m a l ( 类 型0 ) 、s t a r t ( 类型1 ) 、s h o r t ( 类型2 ) 、s t o p ( 类型3 ) 。当块类型为n o r m a l ( 类 型0 ) 、s t a r t ( 类型1 ) 或s t o p ( 类型3 ) 时,h u f f m a n 数据按频率递增排序。在解 码时,从位流中读取区域变量值,产生表的入口地址,然后读入哈夫曼编码数据, 分别选择不同的解码表进行解码。从哈夫曼码表中可以得到哈夫曼解码的所有信 息用。 首先,使用解码表选择信息t a b l e s e l e c t 鲥 c h r e g i o n 来选择适当的解码表, 对b i g 0 进行哈夫曼解码。 然后,按照c o u n tl 区域表选择信息c o u n t lt a b l es e l e c t 来从解码表a 和解码表b 中选择解码表,对余下的哈夫曼码位c o u n t l 区域进行解码。用c o u n t lt a b l es e l e c t 解码后的四元组值的个数,也即变量c o u n t l ,可以通过_ p a r t 23l e n g t h 和b i g v a l u e s 来间接计算获得。直到所有的哈曼码位解码完毕,或直到代表5 7 6 条频谱线的量 化值已经被解码,解码过程才算完成。如果哈夫曼码位多于解出5 7 6 个值所需的 位数,则将多余的位视为填充位,忽略不计。图2 3 是哈夫曼编码的区域与比例 因子的关系。 p a r t z _ j l e n g t n p a r t 2 一le n g t h p a r t 3 一l e n g t h b i g _ v a l u e s c o u n t lz e r o r e g i o n r e g i o nr e g l o n r e g l o n 1 或o0 0 0 0 0 0 0 0 0l 2 比例因子 频率线值( 共5 7 6 条) 、h u f f m a n 编码 图2 3 哈夫曼编码的区域和比例因子关系 在m p e gl a y e r - 3 中,对于b i gv a l u e s 部分的数值为成对编码,所以对于哈夫 曼编码数值进行解码操作时,解码结果包含有两个音频编码值,以及编码所用的 位数值。在对哈夫曼解码表进行编制时,采用如表2 2 所示的结构。根据码字的 大小比较查找出相应的解码码字,确定出其相对于c o d e w o r d 表表基址的偏移量, 然后根据此偏移量,在x 表、y 表以及m e n 表中求得相应的解码结果。 对于b i gv a l u e s 部分解码时,考虑到实时性要求,h u f f m a n 解码采用并行算法。 7 第二章m p 3 解码的原理和主要算法研究 在i s o i e c1 1 1 7 2 3 协议中给出的哈夫曼编解码表是按照符号的顺序排列的,基 于并行解码的要求考虑,需要对编解码表进行重新处理。对码字( h o o d ) 的底 位用“0 ”进行填充,并根据由大到小的顺序重新排序,得到并行解码表。h u f f m a n 编码的思想就是将出现概率大的符号赋予较短的码字,出现概率小的符号赋予较 长的码字。根据i s o i e c1 1 1 7 2 3 协议给出的编码表的特点,制定出的解码表中的 码字排列也是按照出现频率由大n 4 , 的顺序排列,所以解码速度非常快,效率比 较高。以m p e gl a y e r - 3 标准中给出的h u f f m a n 编解码表1 为例,则如下表2 3 ( a ) 所示: 表2 2h u f f m a n 编码表 表1c o d e w o r d 表 x 表 y 表 l a l e n 表 表2c o d e w o r d 表 x 表 y 表 h l e n 表 表3c o d e w o r d 表 x 表 y z 3 - 麦 h l e n 表 表2 3 ( a ) h u f f m a n 编码表1 x y h l e l lh c o d 0o 11 o130 0 1 1 0 20 1 1l3 0 0 0 查并行解码表的过程为:从数据流中取雠位,与扩充后的码字从大到小进 行比较,略大于等于哪一个码字,即解码为此码字。对于表2 3 ( b ) 所示解码表, 以数据“1 0 0 1 0 11 0 0 0 ”为例。取蛐位( 3 位) “1 0 0 ”,解出x = o ,y = 0 ,h l e n = l , 移走h l e n 位( 1 位) ;再取麟位( 3 位) “0 0 1 ”,解出x = 0 ,y = l ,h l e n = 3 ,移走l l l e n 8 第二章m p 3 解码的原理和主要算法研究 位( 3 位) ;再取眦位( 3 位) “0 1 1 ”,解出x - - - 1 ,尸0 ,h l e n = 2 ,移走h l e n 位( 2 表2 - 3 ( b ) 并行解码表1 x y m e nh c o d 0 0 l1 0 0 1o20 1 0 0130 0 1 0130 0 0 位) ;再取三一位( 3 位) “1 0 0 ”,解出x = o ,y = o ,h l e n - - i ,移走h l e n 位( 1 位) 如此反复操作,直到解完所有数据。总之,并行解码一次检查懈位,解出一个 码字。解码时,根据解出的数据判断是否需要对x 和y 提取符号位和附加编码位。 如果解出的x ,y 不为0 ,则对其取符号位。如果还有附加编码位,则需要将解出的 x 和y 再和附加位相加,得出x 和y ,然后再取符号位 4 】。 图2 _ 4 哈夫曼解码流程图 对c o 眦t l 部分解码时,c o 僦l 变量未知,根据边信息解码得出p a r t 2 3 一l e n g t h 9 第二章m p 3 解码的原理和主要算法研究 变量判断何时h u f f m a n 数据结束。对于c o u n t l 部分,有两个四元组h u f f m a n 解码表, 根据由边信息解码得到的变量c o u n t lt a b l es e l e c t 来判断使用的解码表。如果使用 解码表a ,则依然采用并行解码;而解码表b 中码长固定为4 位,且码字为符号的 反相码,所以可以直接进行解码操作。对于高频部分,只需要进行, b o 操作即可。 2 3 4 反量化 反量化频谱过程就是基于前面步骤中所得到的哈夫曼解码数据,根据反量化 全缩放公式和帧边信息,对于不同的窗类型采用不同的公式以恢复5 7 6 个频率线 的真实值。在编码过程中进行m d c t 变换时,针对不同信号为同时得到较好的时 域和频域分辨率定义了2 种不同的窗长:长窗的块长为1 8 个样本,短窗的块长为6 个样本。这使得长窗对于平稳的声音信号可以得到更高的时域分辨率。由于在短 窗模式下,3 个短窗代替1 个长窗,而短窗的大小恰好是一个长窗的1 3 ,所以 m d c t ( m o d i f i e dd i s c r e t ec o s i nt r a n s f o r m a t i o n ) 的样本数不受窗长的影响。对 于给定的一帧声音信号,m d c t 可以全部使用长窗或全部使用短窗,也可以长短 窗混合使用。因为低频区的频域分辨率对音质有重大的影响,所以在混合窗模式 下,m d c t 对最低频的2 个子带使用长窗,而对其余的3 0 个子带使用短窗。这样: 既能保证低频区的频域分辨率,又不会牺牲高频区的时域分辨率。长窗和短窗之 间的切换有一个过程,一般用一个带特殊长转短( 起始块,b l o c kt y p e = 1 ) 或短 转长( 终止块,b l o c kt y p e = 3 ) 数据窗口的长窗来完成。 哈夫曼解码数据记为x 。,长窗中的数据用下面的公式进行反量化,反量化后 的值记为y ,: 1 4 ( g l o b a l g a f n g r i c h 一2 1 0 ) y f = s i g n ( x , ) 口b s ( x f ) 4 乃( s c a l e f a c _ m u l t i l i p e r ( 二s c a l e g a c _ l g r c h s j b + p r e f l a g g r c h p r e t a b s f b ) ) ( 2 - 2 ) 短窗中的样本的反量化公式为: 1 4 ( g l o b a l g a i n g r c h - 2 1 0 - s * s u b b l o c k 一班栩 矿】i 曲】【 例【埘胁w 1 ) y f2s i g n ( x , ) a b s ( x , ) 4 乃二_ 面丽5 硒丽蕊五画丽而而丽i 广( 2 - 3 ) 在反量化公式中,频谱值x i 首先提高到原来的4 3 幂,用来补偿编码时的幅 度衰减量化步长之后再乘以符号位s i g n ( x ,) 。g l o b a l _ _ g a i n 变量是每声道中的全局常 数“2 1 0 ”是一个系统常数,用来保证合适的量化步长。同时也保证编码过程中 不会出现全“1 ”而扰乱同步字。在编码器中缩放因子采用指数量化的形式,步 长为2 或2 ,通过c a l e f a cs c a l e 来标识,根据情况则得到:若s c a l e f a cs c a l e = 0 贝1 j s c a l e f a cm u l t i f i e r = o 5 ,否贝1 j s c a l e f a cm u l t i f i e r = l 。p r e f l a g 和p r e t a b 只在长窗中有效。 p r e f l a g 是高频预加重标志,“1 ”表示采用高频预加重,p r e t a b s f b 用来查表得出 每个缩放带的预加重值,其中s f b 是当前样本所处的比例因子带。s c a l e f a cl 和 1 0 第二章m p 3 解码的原理和主要算法研究 s c a l e f a cs x 寸应缩放因子解码中所得出的长短窗的缩放因子。当运用短窗时, s u b b l o c k _ g a i n 变量对应子带中更细的量化。 2 3 5 立体声处理 m p e g il a y e r - 3 中除了支持简单的单声道和立体声外,还支持更为复杂的联 合立体声模式:m s 立体声( m s s t e r e o ) 和i s 立体声( i n t e n s i t y s t e r e o ) 。 m s 立体声模式:m s 立体声模式处理是无损的,传送的是规格化的中间旁 边声道m ,s ,而不是左右声道,尺,。值m ,在左声道中传送,值s ,在右声道 中传送。当两个声道高度相关时,这种模式比较适合,这就意味着“和”信号中 要比“差”信号中包含较多的信息。一般左右声道的值是很接近的,采用m s 立 体声模式后,只需要传送一个均值和一个小值,这样可以减少传输的比特数。在 解码时,左右两个声道l ,尺,可以通过下面的公式来重建,其中i 表示的是频率线 的指数: 厶:丝拿禾- dr i ;丝粤 ( 2 4 ) 22 强度立体声模式:在层3 中,强度立体声不是像第一层和第二层那样通过使 用一对比例因子来完成,而是左声道仍传送缩放因子,右声道传送立体声位置 i s _ p o s s t b 】。编码器把一些高频子带的输出编码为单个的“和”信号l + r ,而不 是分别独立的传送左和右的子带信号,左右声道的平衡可以通过比例因子来传 输。解码器通过单个l + r ( = t ) 信号来重构左右两个声道的信号,右声道的平 衡比例因子用括一p 傩扔来表示。解码时利用下面两个公式解出左右声道信号: 括一r a t i o 咖= t a n ( i s p o s 劝掌去) ( 2 - 5 ) 厶= 厶木雨i s _ j r a t i 瓦o n b尺,= 宰1 + i s _ r a t i o 啪 ( 2 - 6 ) i + 坫,口n d 晌 根据帧头信息中的模式位( m o d e ) 和模式扩展位( m o d ee x t e n s i o n ) 的值可 以确定何时应用m s 立体声和强度立体声解码公式: 1 若( m o d e ! = 0 1 ) ,左右声道使用各自对立体声边信息对主要数据解码, 获得通道独立的样本数据。 2 若( m o d e = 0 1 ) & ( m o d ee x t e n s i o n = 0 1 ) ,则对右声道z e r op a r t 部分使用 强度立体声解码( 直至括一p o s s 咖= 7 ) ,其余部分为独立的左右声道数据。 3 若( m o d e = 0 1 ) & ( m o d ee x t e n s i o n = 1 0 ) ,则对全部频率线用m s 立体声 方式解码。 4 若( m o d e = 0 1 ) & ( m o d ee x t e n s i o n = l1 ) ,则对右声道z e r op a r t 部分使用 强度立体声解码( 直至括一p 扔= 7 ) ,其余使用用m s 立体声方式解码。 第二章m p 3 解码的原理和主要算法研究 2 3 6 重排序和反混叠 反量化过程中得出的频谱值并不是按相同顺序排列的。在编码的m d c t 过程 中,对于长窗产生的频谱值先按子带然后按频率排列;对于短窗,产生的频谱值 时按子带、窗、频率的顺序排列的。为了提高哈夫曼编码效率,短窗中的数据被 重新排序,按照子带、频率、窗的顺序排列。解码时,重排序过程就是将短窗中 的频谱值重新排列。变量w i n d o ws w i t c hf l a g 和b l o c k可以用来确定是否重排 序。 t y p e 在编码的m d c t 过程中,为了得到更好的频域特性对长窗对应每个子带进行 了去混叠处理。为了得到正确的音频信号,在解码时必须对长窗对应的子带进行 混叠重建。在数据帧中存在长窗有两种情况: 1 ( g r _ i n f o 一 w i n d o w _ s w i t c h i n g _ f l a g & & g r _ i n f o 一 m i x e d _ b l o c k _ f l a g & & g r _ i n f o 一 b l o c k _ t y p e 一2 ) ,即混合窗口模式下最低频的两个子带。 2 整个数据帧全部都为长窗的情况。 每个对应长窗的子带的混叠重建由8 个蝶形运算组成。如图2 5 中的每一个碟 形运算的上面输入样本值记为b u ,下面的输入样本值记为b l ,上面的输出样本值 记为b u ,下面的输出样本值记为b l 。则碟形运算用公式可以表示为: b u = b u 木c s f - b l 宰c a f( 2 - 7 ) 6 ,= b l 木岱f + b u 幸c a f r 2 8 、 其中c 8 ,和c a ,的值由i s c i e c l l l 7 2 3 给出。 x o x 3 5 x 二x = 图2 5 蝶形运算图 1 2 坞 培 聿ll主葺上 8 81 1 i尘,上 第二章m p 3 解码的原理和主要算法研究 2 3 7 逆向离散余弦变换( i m d c t ) 经过混叠消除后的信号便要进行i m d c t 变换。长块进行1 8 点到3 6 点的 i m d c t 变换,短块进行3 个6 点到1 2 点的i m d c t 变换,再将这3 个长为1 2 的输出矢 量进行叠加,生成一个长为3 6 的最终变换结果。 逆向离散余弦变换的公式为: t = 耄:k * c o s ( 曩( 2 i + 1 + 争( 2 七+ 1 ) ) ,f o r i = 0t on - 1 ( 短窗n = 1 2 ,长窗n - 3 6 ) ( 2 9 ) x ,表示经去混叠处理输出的频谱值,工,表示逆向离散余弦变换的输出值,最 终的输出为子带样本s ,。根据b l o c k _ _ t y p e 的值,还x ,要进行不同的加窗运算。 b l o c k _ t y p e = 0 ( 正常窗1 : w f = s i n ( 薏( f + 专) ) , f o ri = 0t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 后勤安全生产建议书讲解
- 某印刷厂生产安全细则
- 景区安全标语讲解
- 某制药厂环保安全制度
- 健康宣教:产后初访记录模板
- 森林消防安全责任落实方案
- 中国AI产业图鉴
- 儿科采血流程健康宣教
- 2027夏季商场供水合同范本
- 2026中心医院血库面试题及答案
- 中国颅内破裂动脉瘤诊疗指南2021版
- DL∕T 2584-2022 增量配电网接入电力系统技术规定
- TD/T 1069-2022 国土空间生态保护修复工程验收规范(正式版)
- (高清版)WST 360-2024 流式细胞术检测外周血淋巴细胞亚群指南
- CTT4000用户手册(维护分册)V1.1
- 2024年广东阳江市交通投资集团有限公司招聘笔试参考题库含答案解析
- QCC点焊良率改善提案
- 药品调剂基础:中药处方调剂实操
- 公共体育场田径跑道和足球场建设项目可行性研究报告
- 工信部规《通信建设工程安全生产操作规范》
- 篮球运动体育基础知识说课培训篮球发展规划及意义成品模板两篇
评论
0/150
提交评论