![(电路与系统专业论文)基于嵌入式SoC的低功耗PMP的软件研究与设计[电路与系统专业优秀论文].pdf_第1页](http://file.renrendoc.com/FileRoot1/2019-12/13/c65c9bc2-b7fc-4480-b37b-8f6b9d0f31e9/c65c9bc2-b7fc-4480-b37b-8f6b9d0f31e91.gif)
![(电路与系统专业论文)基于嵌入式SoC的低功耗PMP的软件研究与设计[电路与系统专业优秀论文].pdf_第2页](http://file.renrendoc.com/FileRoot1/2019-12/13/c65c9bc2-b7fc-4480-b37b-8f6b9d0f31e9/c65c9bc2-b7fc-4480-b37b-8f6b9d0f31e92.gif)
![(电路与系统专业论文)基于嵌入式SoC的低功耗PMP的软件研究与设计[电路与系统专业优秀论文].pdf_第3页](http://file.renrendoc.com/FileRoot1/2019-12/13/c65c9bc2-b7fc-4480-b37b-8f6b9d0f31e9/c65c9bc2-b7fc-4480-b37b-8f6b9d0f31e93.gif)
![(电路与系统专业论文)基于嵌入式SoC的低功耗PMP的软件研究与设计[电路与系统专业优秀论文].pdf_第4页](http://file.renrendoc.com/FileRoot1/2019-12/13/c65c9bc2-b7fc-4480-b37b-8f6b9d0f31e9/c65c9bc2-b7fc-4480-b37b-8f6b9d0f31e94.gif)
![(电路与系统专业论文)基于嵌入式SoC的低功耗PMP的软件研究与设计[电路与系统专业优秀论文].pdf_第5页](http://file.renrendoc.com/FileRoot1/2019-12/13/c65c9bc2-b7fc-4480-b37b-8f6b9d0f31e9/c65c9bc2-b7fc-4480-b37b-8f6b9d0f31e95.gif)
已阅读5页,还剩97页未读, 继续免费阅读
(电路与系统专业论文)基于嵌入式SoC的低功耗PMP的软件研究与设计[电路与系统专业优秀论文].pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 。y 9 6 0 6 0 3 基于嵌入式s o c 的低功耗p m p 的软件研究与设计 摘要 在嵌入式应用中,系统的功耗越来越受到人们的重视。对于需要电池供电 的便携式系统尤其明显,降低系统功耗,延长电池的使用寿命,就是降低系统 的运行成本。然而,嵌入式系统的低功耗设计需要全面分析各方面的因素,统 筹规划。在设计之初各个因素往往相互制约,相互影响。一个低功耗的措施有 时候会带来其他方面的负面效应。 本文采用炬力集成的音视频解码芯片a t j 2 0 9 9 芯片作为主控制芯片架构便 携式多媒体播放器。充分利用软硬件协同设计的方法来降低整个播放系统的功 耗。软件从指令到底层驱动、操作系统、m p 3 解码算法、应用程序进行优化设 计,并详细介绍了其实现过程。另外在设计中还加入了数字版权管理( d r m l 0 ) 功能,使其可以浏览或播放受d r m l 0 版权保护的音视频文件。 关键词s o c ;嵌入式系统:数字版权管理:m p 3 解码;p m p c 0 0 8 0 e ir 基于嵌入式s o c 的低功耗p m p 的软件研究与设计 s o f t w a r eo fl o wp o w e rp r o t a b l em e d i ap l a y e rr e s e a r c h a n d d e s i g n a b s t r a c t i na ne m b e d d e da p p l i c a t i o n , m o r ea n dm o r ep e o p l ea r eg r e a ta t t a c hi m p o r t a n tt o e n e r g yo fe m b e ds y s t e md e s i g n e s p e c i a l l y , t h eb a t t e r yf o rt h ep o t a b l ed e v i c ew a s v i s i b l e t h es y s t e mp o w e rr e d u c t i o na n dt h ee x t e n s i o no ft h eu s e f u ll i f eo fb a t t e r i e s i sl o w e rs y s t e mo p e r a t i n gc o s t s h o w e v e r , a ne m b e d d e ds y s t e md e s i g nw i t hl o w c o n s u m p t i o nn e e d st oa n a l y s i sv a r i o u sf a c t o r s , o v e r a l l a tt h eb e g i n n i n g ,v a r i o u s f a c t o r so f t e nr e s t r a i n t ,i n t e r a c t i o n s o m e t i m e s ,al o w p o w e rd e s i g nm e a s u r e sw o u l d h a v eb r i n gal o to fn e g a t i v ee f f e c t 。 i nt h i st h e s i st h eu s eo fa c t i o n s a u d i ov i d e od e c o d i n gc h i pa t j 2 0 9 9a st h e m i c r o - c o n t r o l u n i tt od e s i g n ,p l a y e r , o fa c t i o n s ,i nz h u h a i ,c h i n a m a k ef u l lu s eo f h a r d w a r ea n ds o f t w a r ed e s i g nm e t h o d sw i t ht h ee n t i r ed e s i g ns y s t e mt or e d u c e c o n s u m p t i o n t h es o f t w a r eu s ee m b e dr e a l t i m eo p e r a t i n gs y s t e ma c t o s ,i tn o t o n l yf r o mi n s t r u c t i o n s t o d r i v e n ,o p e r a t i n gs y s t e m s ,m p 3d e c o d i n ga l g o r i t h m s , a p p l i c a t i o n sp r o g r a m w a so p t i m i z e df o rd e s i g n ,b u ta l s o g a v e d e t a i l so ft h e i r r e a l i z a t i o np r o c e s s m o r e o v e r , i nt h ed e s i g na l s oj o i n e dt h ed i g i t a lr i g h t sm a n a g e m e n t ( d r m l 0 ) s ot h a ti tc a nb ep l a ya u d i of i l eo rv i d e of i l eo fb yd r m l 0c o p y r i 曲t p r o t e c t i o n k e y w o r d :s o c ;e m b e ds y s t e m ;d i g i t a lr i g h t sm a n a g e m e n t ;m p 3d e c o d i n g ;p m p 一 “ 1 i 第1 章绪论 1 1 研究背景 第1 章绪论 新一轮的汽车,通信,信息电器,医疗和军事等行业的巨大需求拉动了嵌 入式软件及系统的发展,面向领域,应用特制的嵌入式系统无所不在,嵌入式 软件也成为数字化改造、智能化增值的关键性、带动性技术;嵌入式软件及系 统是实现后p c 时代数字化,智能化产品蓬勃发展的重要方式。又由于迅猛发 展的片上系统( s o c ,s y s t e m o n c h i p ) 工业再一次推进了嵌入式软件与硬件的 进一步融合1 9 】,另外,网际协议( i n t e r n e tp r o t o c 0 1 ) 构件库正在造就一个新兴 的软件行业,从嵌入式系统发展到s o c ,这在很大程度上扩展了嵌入式的概念 和定义,从计算器件嵌入在系统内发展到系统嵌入在芯片s o c 中;s o c 的核心 是“s y s t e m ”系统创意,基础是“c ”集成电路;s o c 的灵魂是嵌入式软件。 目前,由于互联网的“深度”联网,普适计算“纵向”普及推动嵌入式软 件向“纵深“发展,催生了新型嵌入式的软件技术,嵌入式软件发展迅猛,也 成为软件体系的重要组成部分;嵌入式软件产业增幅加大,而且产业比重日趋 提高。 近1 0 年来嵌入式操作系统得到飞速发展:微控制器器( m c u , m i c r o c o n t r o l l u i n t ) 从8 位到1 6 位、3 2 位甚至6 4 位,从支持单一产品的c p u 芯片到支持多种品种的芯片,从只有内核到除了内核还提供其他功能模块,如 文件系统,t c p i p 网络系统,窗口图形系统等,并形成包括嵌入式操作系统、 中间平台软件在内的嵌入式软件体系;随着嵌入式产品的不断发展,嵌入式操 作系统也在不断的变革,嵌入式操作系统内核向微型化、高可靠、强实时、构 件组建化发展;支撑开发环境的集成化、可调试化;支持无线通信和能源管理 功能日益重要,系统体系逐渐向可伸缩,可移植,可裁剪,可配置方向发展, 并且与开发环境有机结合,另外,行业性开放系统的日趋流行,嵌入式操作系 统走向开放、标准,应用特制的嵌入式系统不会象p c 一样只有一种平台;形 成了不同行业的标准【9 1 。 基于嵌入式s o c 的低功耗p m p 的软件研究与设计 1 2 研究现状 1 2 1 便携式媒体播放器国内外动态 由于存储介质硬盘与闪存等零部件价格的不断下滑及便携式媒体播放器 ( p m p ,p r o t a b l em e d i ap l a y e r ) 终端制造厂商数目的不断增多,竞争加剧,p m p 的价格会持续下降。2 0 0 6 年全球p m p 的平均价格将降到一般公认的大众接受 价格3 0 0 美元左右,这将引发p m p 全球市场的起飞。2 0 0 6 年将是p m p 的真正 分水岭,限制p m p 市场发展的诸多因素的影响会相继得以减弱。 在p m p 的解决方案方面,目前比较成熟的解决方案三种【1 5 】:基于 s i g m a d e s i g n s8 5 1 x 系列芯片的解决方案、基于t id m 3 2 0d s p + a r m 处理器的 解决方案和基于i n t e lp x a 2 7 x 的解决方案,这三种解决方案是目前的主流方案。 s i g m a d e s i g n s8 5 1 x 处理器是目前性能最强、最全面的专业解码芯片,采用双核 设计,将2 0 0 m h z3 2 位r i s c 处理器和m p e g 解码处理器集成于单芯片上,在 无需其它外围芯片支持的情况下j 完成系统所需各种接口的提供、系统处理以 及流畅的w m a v 9 、d i v x v 3 1 1 、d i v x v 4 x 和5 x 、m p e g 4m p e g 2 、m p e g 1 等视频解码。其中对系统要求极高的m p e g - 2 解码,s i g m a d e s i g n s8 5 1 x 能轻松 达到3 0 f p sd 1 ,流畅泊如,难能可贵! 优点是单芯片,低成本,低功耗;硬核 视频解码,视频播放效果好。 4 “。- 一 一 1 7r d m 3 2 0d s p + a r m 处理器的解决方案:作为d s p 巨兴;:1 1 力推基于 t id m 3 2 0d s p 的1 p m p 解决方案。t i 方案是利用d m 3 2 0 d s p 进行音视频编解 码处理,a r 眦:处理器负责系统处理及提供夕k 围设备接口。与s i g m a d e s i g n s 方 案一样,t i 方案支持的媒体类型非常丰富,能支持w m v 、d 7 | i v xv 3 1 1 、d i v x v 4 x 和5 x 、m p e g 4 、m p e g 2 、m p e g 1 等。但由于t id m 3 2 0 为纯d s p 芯 片,因此必须配合a r m 处理器才能组成完整的解决方案,因此在成本上并不 具备优势;优点是支持的媒体类型丰富,编解码能力强;缺点是必须配合a r m 处理器,成本不占优势,功耗较大。 i n t e lp x a 2 7 x 的解决方案:i n t e l 公司于2 0 0 3 年底推出了性能最为强劲的 p x a 2 7 x 嵌入式处理器,最高频率可达6 2 4 m h z 。作为一款性能及其强劲的嵌入 式处理器,配合嵌入式l i n u x 或w i n c e 操作系统,p x a 2 7 x 理论上可以支持任 第1 章绪论 何媒体格式,并通过软件升级,支持未来媒体格式。但由于m p e g 一2 对硬件的 极高要求,因此单纯依靠p x a 2 7 x 处理器进行m p e g 2 编解码是不现实的。i n t e l 公司于2 0 0 4 年推出了2 7 0 0 g 多媒体加速芯片,配合p x a 2 7 0 进行视频加速与 3 d 加速。同时,p x a 2 7 x 加入了w i r e l e s s m m x 技术和s p e e d s t e p 动态电源管理 技术,不但大大增强了p x a 2 7 0 的媒体处理能力,而且极大降低了系统功耗, 延长p m p 产品的电池寿命。2 7 0 0 g 的加入,更使p x a 2 7 x 方案成为全能解决方 案,不但完美解决了m p e g 2 编解码问题,更使基于p x a 2 7 x 的p m p 产品能向 多功能化发展,可以加入游戏、摄像等功能,成为个人娱乐终端。优点是支持 目前所有的媒体类型,可通过软件升级支持未来媒体类型;接1 3 丰富,可支持 s d 、m s 、c f 等;支持最大4 0 0 万象素摄像头;支持动态电源管理,功耗低; 缺点是成本较高。 目前市面上还有其它几种非主流方案,如p x a 2 5 5 解决方案、s u n p l u s s p c a 5 3 6 解决方案、a m da l c h e m ya u l 2 0 0 解决方案、f r e e s c a l ei m x 2 1 解决方 案等。基于p x a 2 5 5 的方案特点是功耗较低,且能够支持较多的媒体格式,但 缺点是无法支持大尺寸图象的编解码,如m p e g 2 等:s u n p l u ss p c a 5 3 6 解决 方案价格低廉,但仅支持m p e g 一4 编解码与j p e g ,支持媒体类型单纯,功能 单一:f r e e s c a l ei m x 2 1 芯片原为智能手机专门设计,接口类型比较丰富,但音 视频处理能力一般,无法进行流畅的m p e g 4 播放,无法处理m p e g 2 视频; a m d a l c h e m y a u l 2 0 0 解决方案的技术细节目前尚无法得知,从f i c 公司最新 推出的基于a l c h e m ya u l 2 0 0 的p m p 产品看,它的能力应该与s i g m a d e s i g n s 8 5 1 x 相当,功能也大体一致。 1 2 2 技术的瓶颈功耗与性能 对于研发机构和技术支持来说,低功耗和c p u 性能同等重要,甚至优先于 c p u 性能予以重视。嵌入式系统的功耗主要来自微处理器的功耗与外围部件的 功耗。但是微处理器的功耗很大程度上取决于其所执行的软件。因此,对嵌入 式系统的功耗分析越来越多地转移到软件的角度上来,将能量的消耗过程视作 软件执行过程。目前的嵌入式软件功耗分析大多数都是基于指令级功耗模型的 分析方法。在这种模型中,嵌入式软件程序的功耗由单条指令的基本功耗开销、 基于嵌入式s o c 的低功耗p m p 的软件研究与设计 连续执行不同类型的指令造成的功耗开销以及额外的功耗开销( 如流水线断流、 c a c h e 不命中) 等构成【6 】。虽然这种底层的嵌入式软件功耗的分析方法的准确性 较高,但是其分析过程需要在特定微处理器平台上将程序翻译成汇编指令,然 后通过逐条指令功耗分析和综合因素考虑,最后才能估算出该程序在某种微处 理器上执行的系统功能,需要相当长的分析时间。 1 3 系统构架简介 嵌入式系统架构如图1 1 所示,由5 个部分组成,其中4 个为软件部分, 图1 1 为嵌入式系统的典型构成【”1 。从底层的硬件设备层往上,每个软件层次 逐层封装代码,使代码与硬件分离。初始化代码是在板上最先被执行的代码, 是针对一个或一组特定的目标而定制的。它在把控制权交给操作系统之前,初 始化板上最基本的部分设备。操作系统提供了一个基础框架来控制应用程序和 。 , 管理硬件系统资源。设备驱动给硬件设备上的外设提供软件接口。最后,一个 , 应用程序完成一个设备所需要的某个任务。各个部分都可以在可读存储器r o m , 。 或随机存储器r a m 中运行。r o m 代码是固定在设备上的代码,被称之为固件 , ( 丘r i i l w a r e ) 。 j 漶。图l - :l 。累绩架构1 ,。,_ 本文所设计的嵌入式媒体播放器以a t j 2 0 9 9 为主控制芯片,其集成了模数 。tj t t ,” ,i ; 转携密( a d c ) ,数模转换器( d a c ) 以及m p 3 解码器。主要功能为音视频解码; 存储介质采用的是三星公司的k 9 k 8 g 4 1 0 8n a n df l a s h ;操作系统采用炬力集 成开发的微操作系统a c t o s , 在本设计中,固件通过掩模技术被包含在n a n d t f l a s h ”里。 “一。 , ,i - : k ,“ d 第1 雍绪论 1 4 论文架构 本论文主要是在一个播放嵌入式s o c 平台上展现音视频播放系统,设计观 念以软硬件协同设计方法来建构系统架构。 其各章内容分别为: 第2 章:音视频文件解码原理,主要是叙述m p 3 解码系统原理,以及视频 a v i 解码原理与播放同步问题以及相关原理的介绍。 第3 章:系统硬件平台的设计与主控芯片接口设计,主要描述了该系统硬 件部分功能与电路模型架构原理及配置。 第4 章:操作系统平台与驱动设计,本章基于系统硬件平台,从操作系统 到系统硬件驱动开发进行描述,其中包括初始化程序、键盘驱动和显示驱动的 研究与设计。数字版权保护技术在嵌入式音视频播放器上的应用做详细的说明。 第5 章:基于功耗与性能的改进设计,该章主要争对在播放器研制过程中 所表现的问题进行改进设计,从降低功耗的角度去改进原有设计,同时从软件 的角度去研究和验证解决方案的合理性和可靠性;另外在本章中还对于目前的 热门问题数字版权保护( d r m ) 技术在嵌入式上的应用设计作详细的描述;本 章的最后部分为样机性能测试与分析。 基于嵌入式s o c 的低功耗p m p 的软件研究与设计 第2 章m p 3 解码原理与视频同步控制 2 1m p e g 标准概述 运动图象压缩标准m p e g ( m o v i n gp i c t u r ee x p e r tg r o u p ) 是目前国际上影响 最大的技术标准之一f 2 7 】。制定m p e g 标准的国际组织全称为 i s o i e c j t c l s c 2 9 w g l l ,简称m p e g 专家组。该组织成立于1 9 8 8 年,是国 际标准化组织内就同一个技术问题开展工作的最大工作组,成员来自世界近3 0 个国家,参加工作的专家近4 0 0 人。十多年来,该工作组制定了一系列国际标 准,其中m p e g 1 、m p e g 2 已为人们所熟知,这两个标准制定,为v c d 、d v d 及数字电视等产业的发展奠定了基础。目前的m p e g 一4 和和正在制定的m p e g 7 标准为多媒体数据压缩和基于内容检索提供了一个更为通用的平台,将对下一 代视、音频添统和网络应用产生深远的影响。 双薅弘: i - m p e g 系列标准的比较 n r- 二| m p e g 1 直接针对1 2 m b s 的标准数据流压缩率;其基本算法对于每秒2 4 3 0 逐行描帧,分辨率3 6 0 x 2 8 0 ,运动图象有很好压缩效果。但随着速率的提高, 解码后图像质量较差,并且它没有定义用于对额外数据流进行编码的格式,因 此这种机制未被广泛采用。m p e g 一2 力争获得更高的分辨率( 7 2 0 x 4 8 6 ) ,提供 广播级视频和c d 级的音频。作为m p e g 1 的种兼容型扩展,m p e g - 2 支持 j 隔行扫描视频格式和其它先进功能。m p e g ,2 以可扩展档次的形式来定义,每 个档次支持。种特殊应用所需的功能,因此它是一种通用标准。但是m p e g 也, 标准数据量依然很大,一部影片的数据量大到8 g 字节左右,不便存放和传输。 v m p e g 4 视频格式大大优于m p e g 1 与m p e g 一2 :视频质量与分辨率高,而数据 “+ “ 率相对较低。主要的原因在m p e g 一4 采用了a c e ( 高级译码效率) 技术,它是一 套首次使用于m p e g 一4 的编码运算规则。与a c e 有关的目标定向可以启用很低 的数据率。这可以将整部视频电影以完全p a l 或者n t s c 的分辨率与立体声( 1 6 位,4 8k h z ) 存储在单个c d r o m 上。具体而言:7 0 0m b 的容量对多数1 1 0 分 钟的电影来说绰绰有余了,而m p e g 一2 格式的电影在相同的分辨率下需要约1 1 第2 章m p 3 解码原理与视频同步控制 倍以上的储存空间。当m p e g 一2 的数据率加倍至接近真正的特性时,m p e g 一4 可以在声频与视频流上在广泛的领域上升级。当视频在5 0 0k b i t s 与1 0m b i t s 之间变化时,声频信号可以在2k b i t s 与2 4k b i t s 之间进行处理。由于这种可 升级性,声频与视频数据可以经专门调整适应真正的环境【2 8 】。 另外,由于m p e g 1 和m p e g 2 标准均为高层媒体的表示与结构标准,其 交互性及灵活性较低。而计算机网络具有很高的灵活性和交互性,但它遵循的 标准确与m p e g 标准不兼容。m p e g 4 的制订有效的促进三后,人们又对解决 日渐庞大的图像、声音信息的管理和迅速搜索产生了兴趣,m p e g 提出了解决 方案m p e g 一7 。它重点放在用于描述多媒体素材( 描述与内容有关的信息以方 便检索等) 的通用接口标准上,因此m p e g 7 并不是兼容以前的标准,而是以 前标准的扩展和延伸。网的融合。m p e g 4 中一个重要概念是视频对象( v o ,v i d e o o b j e c t ) ,一幅图像的编码时分割成很多任意形状的v o ,分别对各v o 进行帧内、 帧间编码。必要时只传输某些v o ,大大地提高了传输效率。如果视频没进行 分割,那么编码结构就退化为只处理标准矩形的一层,这种处理方式与 m p e g 1 m p e g 一2 标准类似,从而达到与m p e g 1 i $ i p e g 2 的兼容。 2 2m p 3 解码算法描述 2 2 1m p 3 解码过程 b i t k b i ts t r e a n l :衫 i n v e r s e l 、 f r e _ q u e l 睁、。 。f r e q u e h e y ;= 。t 6 h 而e d e c o d i n g q u a t z a t i o n r p r o c e s s i n g 。 ”p r o e e s i n g 图2 - 1 :m p 3 解码原理 如图2 - - 1 所示m p 3 解码过程主要由以下几部分组成,r a p 3 以比特流的形 式输入,首先对比特流解码,接下来进行反量化,反量化完成后是对频域的处 理,然后是频域到时域的处理,最后解码文件以p c m 的格式输出。 基于嵌入式s a c 的低功耗p m p 的软件研究与设计 2 2 2 比特流解码 一 图2 2 :比特流解码 比特流解码的过程包含以下步骤: 。, 1 同步与校验g y n c h r o n i z a t i o na n dc h e c k ) 这一部分确定m p 3 数据流每一帧的具体位嚣并解析出下面几步解码过程所 需的信息。具体包括:头信息( h e a d e r ) ,边带信息( s i d ei n f o ) ,主数据( m a i nd a t a ) 和辅助信息( a n c i l l a r yd a t a ) 。 a ) 头信息:。 同步字+ 系统信息。通过同步字确定帧头的位置,系统信息包括帧类型,采 样频率,传输比特率,m p e g 层信息等等。 b ) 边带信息: 包括了相应主数据中霍夫曼编码所对应的霍夫曼表号,比列因子信息以及 主数据起始位置。 c 1 主数据: 比例因子+ 霍夫曼解码 霍夫曼解码包括b i g ,和。v a l u ec o u n t o f z c r o d ) 辅助数据; 包含了一些对m p 3 的描述,比如歌曲的作者,专辑名称等。 2 霍夫曼解码( h u f 陆a nd e c o i n g ) 第2 章m p 3 解码原理与视频同步控制 在霍夫曼( h u f f m a n ) 解码过程中每帧数据有2 个粒度( g r a n u l e ) ,每个粒 度分为左右声道( c h a n n e l ) ,每个声道分为3 2 个子带,每个子带含1 8 条频率线, 这样每个声道有5 7 6 条频率线。这些频率线通过霍夫曼( h u f f m a n ) 解码后保存 在m a i nd a t a 中。霍夫曼( h u f f m a n ) 解码严格按照i s o 所提供的3 2 张h u f f m a n 表将相对应的h u f f m a n 编码解析成其对应的频率线的量化值。 3 比例因子解析( d e s c a l i n 9 1 解析出所有的s c a i ef a c t o r , 提供给反量化使用。 2 2 3 反量化( i n v e r s eq u a n t i z a t i o n l 基于嵌入式s o c 的低功耗p m p 的软件研究与设计 当s h o r tb l o c k ( b l o c kt y p e = 2 ) m :啦n ;) b i j 4 。2 1 a 。2 一 ( 2 7 2 ) 其中: a = g l o b a l g a i n g r 】一2 1 0 8xs u b b l o c k g a i n w i n d o w g r b = s c a l e f a c m u l t i p l i e r s c a l e f a c s g r r 】 c h 】【加 w i n d o w p r e t a b s f o 】为一个常数值( c o n s t a n tv a l u e ) ,它的内容可以由标准描述;2 1 0 为系统中需要用来衡量的一个标准值,由于霍夫曼解码器需要多加1 5 到 l i n b i t s ( 2 ”一1 = 8 1 9 1 ) ,所以需要注意峨的值为8 0 2 6 而不是8 1 9 1 。 2 2 4 频率处理( f r e q u e n c yp r o c e s s i n 9 1 图2 4 频率处理 频域的处理包括重排序,立体声处理以及消除虚拟噪声。 1 重排序 为了使霍夫曼编码更有效,必须将经过余弦变换与量化后的频率线值的顺 序重新再做调整,这个调整只有在短块( s h o r tw i n d o w ,b l o c kt y i o e = 2 ) 的情况下 才需要。使用短块时,经过余弦转换和量化后使用3 个连续的短窗的频率的排 序顺序。排序原则是先按照各子带中的频率值顺序来排序【3 3 】,然后按照窗口的 顺序来排序。如图2 5 所示: 1 0 第2 章m p 3 解码原理与视频同步控制 l o w h i g h h i g h l o w h i g h l o w h i g h 图2 5 重排序 2 立体声与混叠处理( j o i n ts t e r e od e s c o d i n g ) 经过反量化处理之后,如果频率的模式是合成立体声( j o i n ts t e r e o ) ,m s 立体 或者m s 立体加强声道,则5 7 6 条频率线不是原来的左声道或者右声道的值。 混叠的作用是消除虚拟信号的效应,短块不需要执行该项操作;虚拟信号消除 可看作是对每个子带作连续8 个碟行运算。 、 2 2 5 频域至时域变换 f ,e 叫“掣f ot 砌e m a p p i n g 图2 - - 6 频率至时域变换 如图2 6 所示,频域对时域的变换包括i m d c t ,频率翻转和合成多项滤波 器的运算,这部分是整个m p 3 解码过程最复杂,同时也是计算量最大的部分, 则部分的解码大约占据了总解码时间的9 0 。 基于嵌入式s o c 的低功耗p m p 的软件研究与设计 1 i m d c t 改进的反向离散余弦变换 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 n et r a n s f o r m a t i o n ) 改进的反向余弦变换 中,有3 2 个子带,每个子带中含有一个长窗块( 1 0 n gw i n d o w ,b l o c k t y p e = 0 ,l o r 3 ) 或者3 个连续的短窗块。长窗块由1 8 条频率线组成,产生3 6 个输出;短窗由 6 条频率线组成,产生1 2 个输出,总共也是3 6 个输出。3 2 * 1 8 = 5 7 6 ,共有5 7 6 条频率线,产生1 1 5 2 个输出。 i m d c t 主要的运算公式如下所示【3 3 1 : 兰一1 玉。x k c o s ( 云( 2 + 1 + 争( 驮+ 1 ) ) f o r t o ( 2 - 3 ) 当l o n g b l o c k 时1 1 = 3 6 ,当s h o r t b l o c k 时n = 1 2 。 经过i m d c t 后,不同的窗口函数使用用不同的b l o c kt y p e ,其中b l o c kt y p e 函数如下所示: ( 1 ) n o r m a l ( b l o c kt y p e 一0 、: m 面嗉( f + 三) ) f o r f = 0t o3 5 ( 2 ) s t a r t ( b l o c kt y p e ;1 ) m2 s i 嚎( e + 三) ) 川= o f d l 7 1 f o ri ;1 8 t o2 3( 2 4 ) s i n ( 三2 ( i - 1 8 + 丢) ) 如f = 2 4 幻2 9 0 f o ri = 3 0 t o3 5 ( 3 ) s h o r t ( b l o c kt y p e = 2 、 “n ( 暑( f + 川= o 幻, ( 4 ) s h o r t ( b l o c kt y p e = 3 ) 0 s i n ( 三+ 丢) ) 1 s i n ( 蠹( f + 三) ) ,d 7f = o 幻5 ( 2 - 5 ) 佑,i = 6 t 0 1 1 向ri = 1 2 幻1 7 ,d ri = 1 8 t o3 5 第2 章m p 3 解码原理与视频同步控制 经过计算后,结果可分为l o n gb l o c k 与s h o r tb l o c k 。 l o n g b l o c k : z f = 五+ 彬 ( 2 6 ) 其中墨为i m d c t 的结果。 s h o r tb l o c k : 在s h o r tb l o c k 里,有3 种函数必须重复并结合最后的计算结果。函数表达式如 下。 10加7。ofd 5 i 弘6 0 f o ,i = 6 t 0 1 1 4 也y i 。_ 6 ( 1 ) + 饥y l _ 1 2 。t 2 ,) ,f 加o r := 州1 2 蚴t o 1 7 , l y t 1 8 3 f o r i = 2 4 t o2 9 【0 y o ,f = 3 0 i o3 5 其中,y f “;# n m o ri = 0 t o1 1 ,j = 0 t o2 当整个i m d c t 运算完成后,接下来的- i - 作是进行重复相加( o v e r l a p a d d i n g ) ,实际上是把上一次运算完的值和这一次作累加。每一次运算完后得值 有3 6 个,而每次作相加的值有1 8 个,所以每次i m d c t 运算完后都要把另外 的1 8 个数存储起来一边下一次做重复相加。重叠相加的操作如下图所示: 图2 7i m d c t 变换中向量的重叠相加 基于嵌入式s o c 的低功耗p m p 的软件研究与设计 2 i m d c t 算法化简 m d c t 的正变换表达式为: x ) = o 弦o ) 6 n ,k = o ,1 ,m 一1 ( 2 8 ) 对应地,反变换 z ( n ) = z ( n ) + z ( n + f ) ,n = o ,1 ,- _ m 一1 r 一】( 2 - 9 ) z o = y o 弦o ) ,y o ) = z ) - u n = 0 ,1 m 一1 其中变换核: s 吾”半) 妒+ 扣( 2 - 1 0 ) 2 m 称为m d c t 的变换窗长,在不同的应用中变换窗长度不一样: 0 ) 为窗函数, 满足如下完全重构的条件: 。 p 哆一1 _ n ) = “( n f 一。 ( 2 1 1 ) :!一阳两l + 矗2 川+ n ) = 1 _ ? 通常建曳。 “:1 “j 如) _ s i n g ( n + 扣 一1 2 ) 由羲( 鞘谫j 南澎3 m 2 ,- j - 得 。- 。_ “簿i 攀k 。s 言。+ 甘秘 。,1 ,定炙。- : “螺黟”:器c o s r 扣扣嗡渺,; ,。 。荟猁“? 二羔+ 则 包= 一a ( - 3 m 2 ) 。 炯) - - 如一等 1 4 ( 弘1 3 ) ( 财4 ) 躲 :,十。霄 r 一: ( 2 - 1 5 ) 第2 章m p 3 解码原理与视频同步控制 ( 2 - 1 6 ) 式( 2 9 ) 是i m d c t 的最后一步重叠相加运算,由式( 2 9 ) 可以整理得: 而) :一g ( n - 警1 l o ) 一占( n m ) h ( m 一1 一月) , z 。 ( 2 1 7 ) 二一1 一n ) = 一g ( 等一1 一彬。) 一占( 等+ 彬- l - n ) 并根据式( 2 一1 4 ) 的特性式( 2 1 7 ) 可以化为: e ( n ) = g ( m z + n ) h ( n m ) - g ( m _ m z _ _ 1 - n ) h ( m m - 1 - n ) , 。工,厨,:一, 陋_ 1 - 咖一g 考- 1 - 蝴) _ g 等圳 - 1 - n ) 基二f 嵌入式s o c 的低功耗p m p 的软件研究与设计 s u b b a n d s a m p l e s 一 n 1 、 1 6 v v e c t o r u l 一1 0 2 4s a m ! c n = f _ _ 4 l 人大一 乞 u v e c t o r +士士 卜一| d w i n d o w 。 r f j 士 禹高a + + 南 r e c o n s t r u c t e dp c m s a m p l e s 图2 8 综合多相滤波器组 在综合滤波器的操作中,3 2 个子带信号进行一次i m d c t - 转换,即予一个 6 4 x 3 2 的矩阵相乘,获得一个6 4 元的v 向量。v n 量放入一个先入先出的缓冲器 中,这个缓冲器存放着最新的1 6 个v 向量。每个6 4 元的v 向量又被分成两个3 2 个元素的模块唧。从1 6 个v 向量的缓冲器中交替取出1 6 个3 2 元的模块,构成_ , , , ” 个5 1 2 元的u 向量。将u 向量加一个窗函数d ,就产生了5 1 2 元的w 向量。将w 向量 ? , 分解为1 6 个3 2 元的向量,并把这1 6 个向量相加,即获得一个包含着3 2 个p c m 样 。 本元素的向量。 2 3 文件音视频解码同步控制 视频文件的实时解码播放时,音频视频同步时一个非常重要的问题,也是 技术上的一个难点,目前系统中采取的方案是通过音频来控制视频 1 2 】。 另外,必须控制的另外一个同步就是音频,视频解码和播放的同步。为了保 证播放的实时性,系统就必须保证播放的同时进行解码工作,并且通常来说, 解码一般是超前于播放几个帧。同时,由于解码时写入解码结果的输出b u f f e r 和播放过时的输出b u f f e r 实际上是同一块b u f f e r ,因此对这组b u f f e r 必须进行严 第2 章m p 3 解码原理与视频同步控制 格的控制,以保证b u f f e r 数据的正确性。 图2 9 音视频解码控制进程 总的来说,需要控制4 个进程来实现音视频解码之间的同步。这四个进程 分别是:视频解码,视频播放,音频解码,音频播放。对照他的解码控制进程 图,看看他是怎么实现的 1 ) 解码和播放的同步 对于音频播放和解码,以及视频播放和解码的同步控制是类似的。解码过 程中,有3 个实体,解码器,播放器,以及缓存b u f f e r 。缓存的目的在于解码 和播放之间不用完全同步。解码可以先于播放,这样可以保证当不可抗拒的因 素导致解码短时间内停顿的时候播放进程还是有足够的数据可以用于播放。该 b u f f e r 相当于一个循环数组,要求播放指针不能超过解码指针( 否则读取数据将 会无效) ,同时,还要求解码指针不能移动过快,从而移动一圈后超过播放指针 ( 否则解码程序将覆盖尚未播放的b u f f e r ) 。为了实现这个控制,对于每个b u f f e r 都设置一个f l a g 程序初始时,每个f l a g 都设置为空。 基于嵌入式s o c 的低功耗p m p 的软件研究与设计 解码程序如果检测到解码指针对应的b u f f e r 标志为空时进行解码程序,将 解码后的数据写入b u f f e r 以后,将该b u f f e r 的标志设为等待状态 b u f f e r _ w a i t ,同时将解码指针后移:如果解码指针指向的b u f f e r 是其他状 态,则本次调度不执行解码。 播放程序如果检测到b u f f e r 的标志位为b u f f e rw a i t ,则开始播放程序, 并将b u f f e r 的标志位设为忙状态标志b u f f e r b u s y 。当播放结束后,将 b u f f e r 的标志位写成空状态b u f f e r _ f r e e 并将播放指针向后移动:如果 b u f f e r 指针指向b u f f e r 的标志位不是b u f f e r _ w a i t ,则本次调度不执行播放。 值得一提的是,由于音频播放要求的连贯性,所以必须用d m a 来实现音频的 播放。因此,播放程序的启动是在普通的代码中,而播放后的处理工作f 即写 b u f f e r _ f r e e 和指针后移的过程则需要放在d m a 处理完数据产生的中断中 进行) 。 通过上述的b u f f e r 标志位控制,就可以实现解码和播放的同步执行,并且 保证解码始终先于播放,且优先的帧数不会超过b u f f e r 的数目。 2 ) 音频和视频的同步 在文件的播放过程中,音频的速率是一定的,不可增快也不可减慢,因此, 用音频控制视频实现同步是很自然的。在视频文件大额播放控制中我们必须解 决下面两个问题:。 。;,+ a 如果视频怏于音频,如何控制视频的播放速度。 : b 如果视频慢于音频,如何丢帧,使得视频赶上音频。 对于这两个问题,有着两个不同的解决方案。这两种方案都是基于一个调 度的原则:如果音频;b u f f e r 出现空的情况,无条件执行音频解码程序。 | ? 鬻冬视频摹淳黪控制, x 。,簿囊; 首先必须意识到视频解码和播放的相互制约。因为解码是否执行取决于播 ,0 。 。? 放程序是否把b u f f e r 的标志位写成空,而播放是否执行则取决于解码程序是否 + 一 t ,、f 把b u f f e r 的标志位写成b u f f e rw a i t 。因此,控制播放或者解码,都能控制 整个视频方面的解码速度。由于视频和音频的同步直观上是播放上的同步,因 此,我们通过音频已经播放的帧数来控制视频允许播放的帧数。如果视频速度 过快,则不允许其播放,自然也阻碍了解码的进行,从而实现对整个视频解码 第2 章m p 3 解码原理与视频同步控制 播放进程的速度控制。具体的做法是,通过音频的采样率和每帧包含的样本数 目等参数计算出当前音频已经播放的时间,然后通过每秒播放帧数来计算视频 应当播放的帧数。如果当前实际播放的帧数大于等于应该播放的帧数,则调度 时不执行视频的播放。直到音频播放了足够的帧数,对视频播放产生了新的需 求的时候,播放程序才会继续这样,我们就有效的控制了视频的播放速度。 b 视频丢帧的实现 大家知道当音频播放速度过快,而视频播放速度赶不上的时候就必须对视 频进行处理,减少一些帧的播放,这就叫视频丢。上面讲到了如果视频过快的 情况现在我们还必须考虑另外一种情况:由于系统一直保证音频解码,有可能 在播放某些画面或者画面切换很快的视频文件时,系统来不及解码视频的情况。 因此,为了使得视频赶上音频,我们必须抛弃一些视频的帧当然,由于m p e 9 4 d e c o d e r 的特性,除了关键帧以外,其他帧数的解码结果必须依赖于上一帧的解 码结果。因此,我们丢弃的只是每一帧的y u v 转换以及l c d 输出的一部分。 具体实现方式如下:当需要播放的帧数大于实际已经播放的视频帧数 d i s p l a y f r a m e c o u n t + b u f f e r 数目时【2 9 】,我们可以认为是系统无法解码足够的视频 帧数如果出现这种情况,在d e c o d e 完毕,处理y u v 之前,直接将解码后结果抛 弃,并将当前解码b u f f e r 的标志设置位b u f f e r _ s k i p ,并将解码指针后移,这 样就减少了y u v 转换操作。 当
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- plc基础及应用考试试题及答案
- 电缆车间安全小知识培训课件
- 电线电缆绞丝工艺知识培训课件
- 电站操作规程培训课件
- 2.2做更好的自己 教案(表格式) 统编版道德与法治八年级上册
- 高电位活化细胞课件
- 高炉煤气安全知识培训课件
- LC-SF-14-生命科学试剂-MCE
- 2-Hydroxydihydrodaidzein-生命科学试剂-MCE
- Calindol-hydrochloride-13C-D2-生命科学试剂-MCE
- 药事管理学全套课件
- 社区心理学课件
- 《中式面点制作第二版》教案高教版
- 看门狗定时器
- 质量整改通知单(样板)
- 进展性脑卒中的诊疗策略课件
- 2020届高三北京高考“多文本阅读”总攻略
- (高职)中外民俗电子课件(全套)
- 《管理学基础》完整版课件全套ppt教程(最新)
- 新版《医疗器械监督管理条例》试题题库含答案
- 遵义县偏岩河工程设计说明书(鸭溪镇)
评论
0/150
提交评论