• / 80
  • 下载费用:5 金币  

Android下视频解码组件的研究与设计.pdf

关 键 词:
ANDROID 视频 解码 组件 研究 设计
资源描述:
浙江工业大学硕士学位论文Android下视频解码组件的研究与设计姓名:李晓凤申请学位级别:硕士专业:检测技术与自动化装置指导教师:沈永增20120520浙江工业大学硕士学位论文Andro i d下视频解码组件的研究与设计摘 要随着移动终端设备的快速发展,人们对于终端设备上多媒体应用的需求不断增加,用户对多媒体服务提供的质量要求也越来越高,尤其是对数字视频服务。在移动终端设备上,传统的由CPU进行视频解码的方法,只能播放分辨率较低的视频文件。这已经满足不了人们对视觉的要求。由于硬件芯片技术的发展,现在很多处理器芯片都带有了硬件解码功能。硬件解码技术大大降低了CPU的占用率,提高了视频解码速度。当下,google推出的Android操作系统在手机领域发展迅速,但是其应用并不仅局限于手机,在普通嵌入式设备上的应用也日趋广泛。Android凭借其开源、易开发等特点吸引着众多用户。但是Android系统下的视频解码技术并不成熟,其自带的是软件解码,对CPU的处理能力要求较高。这样导致Android移植到一般嵌入式平台上去后只能支持分辨率较低的视频文件。由于现在很多处理器芯片都直接带有硬件解码部件,如何能够在Android上更便易地利用该硬件解码功能,从而提高解码速率,支持更高分辨率视频是一个现有实际问题。加之这方面的深入研究资料不多,这给开发者在不同处理器、不同嵌入式平台上对视频开发带来了很大难度。基于上述情况,本文提出了在Android系统的多媒体引擎下进行支持视频硬件解码的OpenMax组件的研究与设计。重点包括以下几方面:(1)研究分析Android系统架构及其多媒体引擎的层次结构,从而提出了本文的最优设计方法。(2)以三星$3C6410处理器为核心的开发板作为研究平台,研究与设计能够支持硬件解码部件的底层驱动程序。与以往的字符设备驱动程序设计不同,本文提出了利用更简单方便的杂项设备驱动程序设计方法来对MFC驱动程序进行设计。(3)对Android系统内部OpenMax IL层进行研究与分析,并在对其接121,实现方法进行研究的基础上,提出设计一个新的支持硬件解码的OpenMax组件。(4)在以上设计的基础上,利用Android上层应用程序开发的便捷性,研究与设计一塑望三些奎兰堡主堂垡笙壅———————————————————————————————————————————————————————————一一。款视频播放器。最后,本文将驱动程序、OpenMax组件以及上 java应用程序置于嵌入式开发平台上进行测试,通过播放器来直观的验证设计的驱动与组件的合理性,可靠性。程序关键词: Android系统、视频解码、多媒体、驱动程序、OpenMax组件、java应用DESIGN AND RESEARCH OF VIDEO CODECWITH HARDWARE BASED ON ANDROIDABSTRA(:TWitll the rapid development of mobile terminal equipment,people’s demand formultimedia applications on terminal equipment and the quality of multimedia services offerisincreasing,especially for digital video services.On the mobile terminal device,thetraditionalvideo iIecoding from CPU can only play lower-resolation video files.It has failed to meet therequirements of people’s vision.As the hardware chip technology,a lot of processor Chlp8areinte盯ated hardware decoding.Hardware decoding technology significantly reduces CPUutilization and improves the video decoding speed.Now.the Android operating system launched by google is rapidly developed in the mobilespace,but its application is not limited to the mobile]phone,also on a general embeddeddevice·Android haVe attracted a large number of users wida its characteristics such as open-SOurce,easv to develop etc.But the technology of video decoding in Android system is not matl玳,Android has onlV its own software decoding,and it requires a higher CPU processing power、)l,hen it needs to support higher resolution video files.This means it Can only support lowerresolution video files when Android is transplanted to general embedded platform·Now that alot of processor chips directly with the hardware decoding section,how to advantage oftheh衲are decoding function on Android more easily to improve the decoding speed,support forhigher resolution video is an existing practical problems.Also thisis not a lot of research data inthis area.n takes a big difficulty in the the video devIflopment when the developer developed onthe different processors or other embedded platforms·Based on the above,this paper presents the research and design of a OpenMax componentwhich can support video hardware decoding under the multimedia engine in the Android systemHighlights include the following aspects:;;;浙江工业大学硕士学位论文——————————————————————————————二_————————————一一(1)Study and analysis of the Android system architecture and multimedia engine hierarchy,thus puts forward the optimal design method in this paper.(2)Use development board with the coFe of Samsung$3C64 1 0 processor as a researchplatfonIl,research a11d design the driver which supports the hardware decoding.Differentwiththe previous character device driver,this paper proposes a more simple and convenient methodn锄ed miscellaneous device driver design approach to design the MFC driver.(3)Research and analysis on the OpenMax IL layer in Android system,and based on thestudy of the interface and implementation method,this paper presents the design of a newOpenMax component which supports hardware decoding.f41 On the basis of the above design,and tbr the convenience of the applicationdevelopment in Android,then the paper will research and design a video player.Finallv'the driver,OpenMax component and the top java applications will be placed intothe锄bedded development platform to test,through file player to verify the reasonableness andreliability of the component and the driver designed in this paper.Key Words:Android system.video decoding!.multimedia,driver program,OpenMaXcomponent,java application浙江工业大学硕士学位论文第1章绪 论1.1研究背景随着信息技术的快速发展,人们对信息的获取也是通过各种途径,电视、电脑、手机、报纸等。但是伴随着计算机和电子技术的飞速进步,多媒体信息已经成为人们获取信息的主要载体,而移动终端设备也已经逐渐成为人们获取外界信息的最主要设备之一。从手机角度来看,全球最具权威的IT研究与顾问咨询公司Gartner的数据显示,当前智能手机销售量仅占手机总销售量的14%, 预计智能手机市场在2012年时占有率将达到37%,其市场规模可能达到1910亿美元【l J。伴随着移动终端设备的发展,基于该设备终端的多媒体技术也在不断的发展进步中。多媒体技术,即计算机综合性的处理多媒体信息,包括文本、图像、图形、声音等,使多种信息建立起一种逻辑连接,并集成为一个系统且具有人机交互作用的一种技术。简而言之,多媒体技术就是具有交互性、实时性和集成性的计算机综合处理声文图三种信息的技术。其中,在人类所获取的信息中,70%来自于视觉,因此视频信息在多媒体信息中占有重要的地位,而视频信息是一种带有时空结构的非结构化数据,包含了许多其它不同类型的媒体,具有较高的信息分辨率,内容丰富,语义具有模糊性和多样性,数据量相当庞大,可见,数字视频技术无疑是多媒体应用的核心技术【2J。近几年来,人们对于视频监控、数字电视等多媒体应用以及多媒体服务的质量要求进一步提高。为了防止数字信号畸变,从而提高信号质量,数字信号通常需要先进行采样,对信号进行数字化,然后进行数字信号的存储、传输以及重型31。但经过数字化的信号信息量很大,尽管CPU速度和存储能力已经有了进一步提高,但是对于大数据量的存储和大数据量的处理能力却在现有技术下显得不足。与此同时,视频编解码技术逐渐走向成熟,提高了编解码效率。当前,用户对视频质量提出了更高的要求,人们更趋向于高清晰度视频,这对终端设备处理能力又提出了更高的要求。基于传统的软件解码技术,其处理能力已不能完全满足需要。为了提高视频解码性能,视频硬件加速解码技术得到迅速发展。从移动终端软件平台上看,2007年11月,Ge·ogle与33家同行业者成立了OHA(开放手机联盟),该联盟致力于开发移动设备的开放性标准为目的,与此同时,google正式1浙江工业大学硕士学位论文推出了Android手机操作系统。Android是以开源的Linux源代码设计的手机操作系统,该平台由上至下由应用软件和用户界面、中间件以及操作系统组成,是专门为移动终端设备设计的开放移动软件【4】。Android操作系统具有如下特点:1.开放性Android是一个真正开放的平台。它充分利用ir手持设备能够提供的全部优点,能够开发出各种人性化的移动应用程序。比如,一个应用程序可以调用电话中任何的核心功能——拨打电话、发送文本信息或者使用摄像头,允许开发者能够创建更丰富的、更具亲和力的应用程序。同时由于使用了客户端虚拟机,使其在内存和硬件资源的使用上更加优化。Android是基于Linux内核的,因此它是开源的。2.应用程序平等性Android把手机的核心应用程序和第三方用户程序置于平等地位。它们可以平等的利用手机资源,向用户提供广泛的服务和应用。利用基于Android的移动终端,用户能够自由的替换手机屏幕、按键的风格,主题以及其他的应用。3.应用程序可以无界限Android可以使不同的应用程序关联起来。比如,开发者可以把网络提供的信息集成到一个移动设备上面,比如联系人、日历或者地理位置等。开发者可以利用Android开发这样的应用程序,比如使用户可以看到他们想要看到的朋友的当前位置,并且当他们在一定距离内时,可以发出短信或铃声提醒,使他们知道朋友在附近,可以见面。4.应用程序开发便捷性Android提供广泛的工具和函数库,利用它们可以设计更为丰富的应用程序。例如,Android可以使开发者得到设备的位置,同时可以:龟许设备之间进行数据传输,使点对点的数据交流成为可能。另外,Android提供了全面的平台相关的应用,使开发者能够便捷的开发更具有个性化的应用程序。Android的架构和工作原理决定了Android是一款最具可移植性的手机操作系统。Android是基于linux的开源软件,能够有效降低软件的成本,最终让每个用户能够自由的获取信息。Android提供了一个从操作系统到应用程序的完整的软件栈,同时又允许人们定制差异化,以形成自己的竞争优势。Android平台的开放性为研发人员进行应用程序的开发带来了方便。Android包括用于移动设备的全套软件:操作系统、中间件和关键应用程序。自有linux操作系统以来,2浙江工业大学硕士学位论文研究的重点一直放在其身上,Android是从linux基础上开发而来的新的操作系统,其内核使用的是linux内核,因此其具有开源性。Google公司已向广大用户公布了Android源代码,我们完全可以利用Android完整的体系结构、开放性以及应用程序开发便捷等特点,将Android内核进行裁剪,并将其广泛地应用于一般嵌入式环境中去【5】o既然Android是手机操作系统,当然其多媒体功能必须是强大的,但是恰恰在视频上,面对现在人们需求的提高,Android系统自带的软件解码已经满足不了人们的需求。因此,有些手机厂商在硬件上额外添加一GPU(Graphic Processing Unit,图形处理器),并且自主设计代码,来实现视频的硬件解码,这样导致了代码多样化。尤其在普通嵌入式平台上,现在很多CPU都集成了视频硬件解码部件,即使手机厂商将该类CPU选作手机CPU,已经将该CPU上支持硬件解码部件的驱动软件以及系统支撑软件开发好,面对手机厂商源代码不开源的现象,软件也是无法移植的。现在众多CPU上自带的硬件解码部件虽然已获得linux的代码支持,但是在Android下除了部分芯片如TI公司的omap系列等具有一定的软件包支持外,针对其他芯片google并未给出公开支持。这导致广大嵌入式开发者在普通平台上对Android利用视频硬件解码带来了一定的难度。针对以上问题,本文针对特定平台研究视频硬件解码驱动,重点研究与开发一个在Android下能够合理地添加视频硬件解码驱动的OpenMax组件,并设计了一个视频播放器验证了该组件的可用性。1.2国内外研究现状1.2.1视频压缩标准视频压缩有其标准体系,每个标准都有其各自的适用领域及特点。其中,运动图像专家组(Moving Picture Expert Group)专门负责音频和视频标准制定,其主要制定了MPEG系列的标准,包含MPEG.1,MPEG-2,MPEG.4和MPEG.7;国际电信联盟电信部简称国际电联(Intemational Telegraph Union—Telecommunication Sector,ITU-T)则主要推出了H.26L体系协议,包含H.261和H.263压缩标准。MPEG.1制定于1992年,它主要是针对数据传输率大约为1.5Mbps以下的数字存储介质。该标准适用于352*288像素/线,非隔行以及画面速率大致在24Hz~30Hz之间的视频信号格式。由此可见MPEG.1基本无法满足当前人们所需。MPEG一2制定于1994年,其传输速度和图像质量相比MPEG.1都有了提高,在NTSC制式下,画幅可以达到720 X 486,传输速率:在3一lOMbit/s之间。MPEG一2在传送层浙江工业大学硕士学位论文和系统层上相比MPEG.1都做了进一步的完善和规定。MPEG.2图像质量已经达到DVD的标准,目前数字电视中的视频压缩标准采用的是MPEG.2, MPEG.2被指定为SDTV和HDTV的编码标准【61。MPEG.4制定于1998年,主要是为低码率、小画幅视频图像所制定的压缩标准,其传输速率要求较低,在4.8到64Kbit/s之间,画幅为QCIF(Quarter common intermediateformat,常用的标准化图像格式)格式(176 x 144)。其它能够保存接近于DVD画质的小体积视频文件。MPEG.4的另一个特点是其编码系统的开放性,可以随时加入新的有效算法模块,这一点对于专用集成电路的解决方案是很不利的。MPEG.7于1998年10提出,于2001年最终完成并公布。该标准规定了一个标准集合,该集合用来描述各种音频以及视觉信息。MPEG.7支持描述N维空间、文本、自然存在属性、概率统计信息、生产加工属性、各种主观意愿属性以及各种形形色色的组合信息。而视觉信息描述涵盖各种不同颜色、不同纹理、各种视觉对象、不同形状和空间、各种关系及各种变形等。H.261标准发布于1990年,它主要是为视频电话会议的应用而制定,其视频编码码率较低。1995年,基于H.261的框架定制的H.26:3标准提出,它能使视频通信在模拟电话线路上传输。随后,ITU在此基础上对其改进,分别在1997年和2000年提出了H.263+和M263++两个扩展,将它们加入到H.263基线协议里【刀。随着人们对视频要求的不断提高,这些既有标准已经满足不了需求,于是H.264/AVC就出现了。在2001年,运动图片专家组与国际电信联盟的视频编码专家组(Video Coding Experts Group of ITU-T)联合成立了一个组织——联合视频组(JVT,JointVideo Team),这个组织的主要任务就是制定新一代的视频压缩国际标准。这个新出台的国际标准草案,国际电信联盟把它叫做H.264,运动图片专家组称其为MPEG一4的第10个部分(Part 10 of MPEG.4),流传较为广泛的官方名称是AVC(Advanced VideoCoding)[81。本文以比较流行的H.264/AVC、MPEG-4为例来进行解码设计。1.2.2手机操作系统手机操作系统现今流行的主要有Symb·ian、PalmOS、Windows Mobile、iPhoneOS、Linux、Android和Black Berry几种。1.Symbian系统4浙江工业大学硕士学位论文Symbian是一个目前相当成熟的操作系统。它将计算技术与电话技术相结合,提供无线通信服务,具有相对较低的研发成本和强大的开放性,支持C++和java语言,系统运行安全、稳定。但是在多媒体方面,Symbian OS对主流的媒体格式的支持性较差,不同的平台,互相并不兼容第三方软件,而且第三方软件开发商往往只开发某一个平台的软件,使得用户在4<同平台上可获得的第三方软件减少很多。同时Symbian OS版本之间的兼容性也很差。2.PalmOS操作系统Palm OS是一种32位的嵌入式操作系统,该系统是Palm公司开发的专用于PDA上的一种操作系统,一度普占据了90%的PDA市场份额,是PDA上的霸主。虽然PalmOS系统不是为手机而设计的,但是它也是支持移动终端设备的,因此它也是一个非常不错的手机操作系统。该系统最新版本为Palm OS 5.2。Palm OS与同步软件HotSync相结合便可以实现PDA与PC机上的信息同步,把台式机的功能扩展到了手掌上。3.Windows Mobile系统Windows Mobile是将我们熟悉的Windows桌面系统扩展到了个人移动设备中。该系统包括Windows Mobile Standard、Windows Mobile Professional以及Windows MobileClassic三种。现今最新的版本为Windows Mobile 6.5。Windows Mobile原形为Windows CE,后又开发出适用于掌上设备的操作系统,之后又将其整合于一起。在Windows Mobile 2003版本之前的操作系统名为Pocket PC、SmartPhone[Smart Phone等,后改为Windows Mobile。该操作系统最新版本为WindowsMobile 7,其主要分为三大版本,第一是用于掌上电脑的Windows Mobile for PocketPC、第二是用于手机的SmartphoneIWindows Mobile for Smartphone、Pocket PCPhonelWindows Mobile for Pocket PC Phone,第三是用于移动媒体的Portable Media Center三大版本。该操作系统界面类似于PC机上的Windows,便于熟悉电脑的人操作,同时预装的软件非常丰富, Word,Excel,Power Point等,与电脑同步非常便捷,同时多媒体应用方面功能也很强,依靠第三方软件能够支持播放各种格式的音视频文件。同时该系统还有更加丰富的应用软件,比如导航软件等。但是其价格浮动区间较大,.软件配置不合理会有死机现象。3.iOSiOS原名为iPhone OS,该操作系统是苹果公司为其旗下的手机而开发的,主要是给
展开阅读全文
1
  金牌文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:Android下视频解码组件的研究与设计.pdf
链接地址:http://www.gold-doc.com/p-255639.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们
[email protected] 2014-2018 金牌文库网站版权所有
经营许可证编号:浙ICP备15046084号-3
收起
展开