基于Android的OpenMAX框架研究与开发硕士学位论文.doc
《基于Android的OpenMAX框架研究与开发硕士学位论文.doc》由会员分享,可在线阅读,更多相关《基于Android的OpenMAX框架研究与开发硕士学位论文.doc(62页珍藏版)》请在三一办公上搜索。
1、 基于Android的OpenMAX框架研究与开发 摘要从近几年手机的发展趋势看,智能手机越来越流行,Android手机表现的尤为强劲。而多媒体播放的娱乐功能显得尤为重要。如何更好地提高多媒体效率成为了用户选择使用的一大契机。本文主要研究在Android平台上实现硬件编解码。主要是jni技术实现数据交换,通过对OpenMAX框架的抽象封装,流程控制,数据输入输出。从而实现硬件编解码,并且把OpenMAX框架硬件编解码集成到项目中,加强多媒体文件编解码速度,提高性能。论文的研究结果可以提供一个优秀的OpenMAX硬件编解码框架,为其他Android手机开发者参考。本文的主要创新点和贡献点如下:1
2、, 实现多媒体硬件编解码,提高多媒体文件的编解码效率。2, 对OpenMAX框架的抽象和封装,更加便于开发调用。3, 实现更加精简的代码便于后期维护。4, 加强产品的使用性,提高产品的用户体验。本文同时介绍了Google Android平台及多媒体框架的工作机制,OpenMAX框架,硬件编解码。详细分析OpenMAX框架的运行机制。对Android和OpenMAX有一个更加详细的了解。关键词:Android,OpenMAX,多媒体框架,编解码AbstractDevelopment trends of mobile phones in recent years, smart phones bec
3、ome increasingly popular,Android phone is particularly strong. The entertainment feature of multimedia player is particularly important. How to better improve the the Multimedia efficiency has become a great opportunity for the user to choose.This paper mainly studies hardware codec on the Android p
4、latform. The main is the jni technology for data exchange, the abstract encapsulation for the OpenMAX framework ,process control, data input and output. In order to achieve hardware codec, and OpenMAX framework hardware codec integrated into the project, to enhance multimedia file encoding and decod
5、ing speed, improve performance. The thesis results can provide an excellent the OpenMAX hardware codec framework of reference for other Android phone developer. The main innovation and contribution of this article are as follows:1,multimedia hardware codec, improve the efficiency of encoding and dec
6、oding of multimedia documents.2, abstraction and encapsulation of the OpenMAX framework easier to develop.3, to achieve a more streamlined code to facilitate later maintenance.4, to enhance the use of the product, to improve the user experience.This paper describes the working mechanism of the Googl
7、e Android platform multimedia framework, the OpenMAX framework, hardware codec. Detailed analysis of the operating mechanism of the OpenMAX framework. A more detailed understanding of the Android and OpenMAX.Key Words:Android, OpenMAX, multimedia framework, Hard-codec 目录摘要iAbstractii图目录IV表目录V第1章 绪论1
8、1.1 项目背景11.2 项目研究目的和意义11.3 国内外现状分析21.4 本人主要工作31.5 章节安排4第2章 Android系统的介绍52.1 Android系统的简介52.2 Android平台的架构62.2.1 Linux Kernel(Linux内核层)62.2.2 Library(函数库)62.2.3 Android Runtime(Android运行时库)72.2.4 Application Framework(应用软件架构)72.2.5 Application(应用程序)82.3 Android系统的多媒体框架82.4 本章小结9第3章 OpenMAX介绍103.1 Ope
9、nMAX的简介103.2 OpenMAX的概述103.2.1 OpenMAX标准化接口17103.2.1.1 OpenMAX IL(Integration Layer)103.2.1.2 OpenMAX DL(Development Layer)123.2.1.3 OpenMAX AL (Appliction Layer)123.2.2 Android中OpenMAX的使用情况153.2.3 Android 中OpenMAX的实现的内容153.2.4 Android中的OpenMAX接口函数163.3 本章小结19第4章 OpenMAX框架硬编解码分析和设计204.1 OpenMAX框架硬件编
10、解码结构204.2 OpenMAX框架硬件编解码模块及功能分析214.2.1 JNI模块214.2.2 硬件解码功能224.2.2.1 数据转换模块224.2.2.2 硬件控制模块224.2.3 硬件编码功能234.2.3.1 数据转换模块234.2.3.2 硬件控制模块234.3 OpenMAX框架硬件编解码的整体设计234.3.1 OpenMAX框架硬件编解码的整体结构234.3.2 OpenMAX框架硬件解码的数据控制结构244.3.3 OpenMAX框架硬件编码控制结构244.4 本章小结25第5章 OpenMAX框架的硬编解码的实现265.1 系统整体流程265.1.1 具体流程26
11、5.1.2 数据处理流程275.1.3 编解码的参数设置285.1.3.1 解码芯片参数285.1.3.2 编码芯片参数285.2 基于OpenMAX框架硬件解码295.2.1 基于OpenMAX框架硬件解码整体设计295.2.2 基于OpenMAX框架硬件解码的设计305.2.2.1 硬件解码的设置305.2.2.2 初始化的设计305.2.2.3 打开的设计315.2.2.4 关闭的设计325.2.2.5 数据处理过程具体函数325.2.3 基于OpenMAX框架硬件解码的实现335.2.3.1 变量和结构体的定义335.2.3.2 主要函数345.3 基于OpenMAX框架硬件编码345
12、.3.1 基于OpenMAX框架硬件编码整体设计345.3.2 基于OpenMAX框架硬件编码的设计355.3.2.1 硬件编码设置365.3.2.2 初始化的设计365.3.2.3 打开的设计365.3.2.4 启动的设计375.3.2.5 关闭的设计385.3.2.6 数据处理过程具体函数395.3.3 基于OpenMAX框架硬件解码的实现405.3.3.1 变量和结构体的实现405.3.3.2 主要函数415.4 本章小结42第6章 Android中OpenMAX框架硬编解码的应用436.1 OpenMAX框架硬件编解码的应用436.1.1 生成动态库436.1.2 Jni的数据交互44
13、6.2 MovieStory中OpenMAX框架硬件解码的应用446.2.1 MovieStory项目的介绍446.2.2 MovieStory使用OpenMAX框架硬解码446.2.2.1 OMX开启446.2.2.2 数据流程456.2.2.3 OMX的关闭456.3 Amdv中OpenMAX框架硬件编码应用456.3.1 Amdv的简单介绍456.3.2 Amdv使用OpenMAX框架硬编码476.3.2.1 初始化476.3.2.2 数据的传入476.3.2.3 数据的输出476.3.2.4 退出486.4 本章小结48第7章 OpenMAX效果测试497.1 效果测试环境497.2
14、MovieStory硬件解码效果测试497.2.1 MovieStory硬件解码效果测试设计497.2.2 MovieStory硬件解码效果数据对比497.2.3 MovieStory硬件解码加强点497.3 Amdv中的硬件编码效果的测试507.3.1 Amdv硬件编码效果测试设计507.3.2 Amdv硬件编码效果数据对比507.3.3 Amdv硬件编码效果加强点517.4 本章小结51第8章 总结52参考文献53作者简历55致谢56图目录图 2.1 Android系统的构成6图 2.2 Android 多媒体播放整体框架8图 3.1 OpenMAX IL 层次结构11图 3.2 Open
15、MAX IL 组件工作流程13图 3.3 OpenMAX IL 组件结构14图 3.4 OMX Codec解码序列图18图 4.1 OpenMAX框架硬件编解码整体架构20图 4.2 OpenMAX框架硬编解码的内部结构23图 4.3 OpenMAX框架硬解码的数据控制结构24图 4.4 OpenMAX框架硬编码的数据控制结构25图 5.1 整体流程类图26图 5.2 编解码控制流程27图 5.3 整体数据流程28图 5.4 解码控制流程30图 5.5 解码数据流程30图 5.6 解码Init函数流程31图 5.7 解码Open函数流程32图 5.8 解码Close函数流程32图 5.9 解码
16、数据处理具体流程33图 5.10 编码控制流程35图 5.11 编码数据流程35图 5.12 编码Init函数流程36图 5.13 编码Open函数流程37图 5.14 编码ProcStart函数流程38图 5.15 编码Close函数流程39图 5.16 编码数据处理具体流程40图 7.1 MovieStory的运行效果50图 7.2 Amdv的运行效果51表目录表5.1 图片解码参数28表5.2 音频解码参数28表5.3 视频解码参数28表5.4 MEDIA_MIMETYPE_AUDIO_AMR_NB参数29表5.5 MEDIA_MIMETYPE_AUDIO_AAC参数29表5.6 MED
17、IA_MIMETYPE_VIDEO_MPEG4参数29表5.7 MEDIA_MIMETYPE_VIDEO_H263参数29表5.8 MEDIA_MIMETYPE_VIDEO_AVC参数表29表7.1 软件硬件解码效率对比表47表7.2 软件硬件编码效率对比表49第1章 绪论本章为本文的绪论,主要介绍了项目的背景,研究的目的和意义,较为详细的介绍了当前Android手机设备的软件编解码和硬件编解码在手机中的使用情况,最后对本人进行的主要工作和本文的章节安排进行描述。1.1 项目背景目前,Android上的多媒体软件大部分都还没有使用OpenMAX硬件编解码提高手机性能,如何通过硬件编解码提高多媒
18、体的性能仍处于需要加强的阶段,需要通过实际手机设备提高性能,与实际应用联系不够,所使用的多媒体软件性能不够强大。基于此,本文主要结合视频编辑器项目和OpenMAX框架的结合,研究如何在Android项目中通过OpenMAX实现视频硬件编解码,以提高项目的编解码效率,提高性能。Android系统对OpenMAX层进行使用部分,基本上使用的都是标准OpenMAX层之上的接口,只是对其进行了简单的封装。标准的OpenMAX实现非常容易以插件的形式嵌入到Android系统中。Android中的多媒体引擎OpenCore和StageFright都是使用OpenMAX作为多媒体编解码上的插件,只是没有直接
19、通过OpenMAX层提供的纯C接口调用,而是对纯C接口进行了一定的抽象封装。并且Android上的多媒体引擎OpenCore和StageFright大部分都是采用了软件形式的编解码,很少采用通过硬件形式的编解码。1.2 项目研究目的和意义多媒体无论图像、视频还是声音,都早已经成为了手机移动设备受到广泛欢迎的主要原因。到目前,基本上每个手机设备都会有一个以上的摄像头,并且随着手机技术的不断更新,同时越来越多的手机设备都需要拥有更为高档次的多媒体性能。目前使用者都是非常频繁地用手机来进行拍摄和浏览照片,同时也有录制声音和观看视频功能1。Android系统的多媒体解决方案一般都是软件编解码,解码效率
20、不高,并且代码复杂纷乱,不容易调试,这样满足不了消费者的需求,也不容易维护。运用OpenMAX硬件编解码既可以解析大多数流行的媒体文件,而且编解码效率也是增加不少,这样既可以满足消费者的要求,对开发和OEM来说也方便维护。本文通过对Android的OMXCodec的封装和抽象,对OpenMAX的控制,对数据的循环输入和输出,对代码的精简,对硬件编解码的控制。实现了一个基于Android系统的,编解码效率更加强大的OpenMAX多媒体编解码框架。它是通过研究OpenMAX来实现一个更加简洁,功能更加强大的代码框架,而且便于后期维护,提供新的多媒体编解码解决方案。目的实现可以屏蔽硬件特性,最大发挥
21、硬件编解码效率的框架。1.3 国内外现状分析Android是以Linux为核心的手机操作平台,使用Java作为主要编程语言,但可以通过NDK支持C/C+,主要使用于便携设备2。Android是Google公司在2007年11月5日公布的智能手机操作系统3。早期是由原名是Android的公司来开发,谷歌在2005年收购Android.Inc公司后,继续对Android系统进行深入开发运营推广,它采用了4个主要层次架构,包括Linux Kernel(Linux内核层),Library(函数库)和Android Runtime(Android运行时库),Application Framework(应
22、用软件架构),Application(应用程序) 4。2012年初数据显示,无论设备的出货量还是手机的数据流量都已经成为了手机系统里面的老大,已经完全超过了IOS,黑莓系统,还有称霸十年的塞班系统,使Android系统成为了我们最为喜爱的智能手机系统5。目前,Android系统不仅广泛应用于各种手机设备,而且平板电脑的数量也在急剧上升。采用Android系统开始广泛流行,主要厂商众多包括HTC、三星、LG、摩托罗拉等,中国大陆厂商如:华为、中兴、联想等6。目前多媒体蓬勃发展,Android手机设备已经深入到了大众生活。手机设备上的多媒体应用更加显的流行了。更是由于3G时代的来临,多媒体功能越来
23、越受到大众的喜欢。编解码效率的提高对多媒体的性能提高有极大的帮助。现在的手机上的编解码大体主要分为两类:分为硬件解码和软件解码两种。硬件解码的话,音质主要取决于内置的解码芯片,而如今的技术发展比较快,更为强劲出色的解码芯片已经不比MP3差了,效率比较高。而软件解码就是通过CPU的运算进而实现视频音频的播放,使用操作系统的手机一般采用上面这种方法。当前的智能手机使用的CPU频率已经非常高,并且解码软件也非常成熟,支持解码MP3变得非常轻松的一件事情,输出的音频视频的质量还是非常高7。一般播放器都会识别多种视频格式封装(即文件格式), 例如, Coreplayer能播放AVI, WMV, MP4等
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Android OpenMAX 框架 研究 开发 硕士学位 论文
链接地址:https://www.31ppt.com/p-4022214.html