1.1 研究目的及意义
当前随着民用嵌入式硬件和软件技术的不断进步,具备低成本高性能的计算处理能力在家电产品上变成可能,很多家用产品得益于此而大大扩展了其使用范围,其中就包括了客厅的主角:电视[1]。作为传统的娱乐中心,电视也在智能化的大潮中与时俱进,重要的标志就是各个国内电视品牌搭载了Android智能操作系统的产品纷纷面世[2]。在主要的使用场景:媒体播放领域中,由于Android系统自带的媒体播放器功能较弱,其成熟度无法满足电视的产品需求,因此基于Android智能系统开发出适用于电视用户使用的播放器软件就成为了一款智能电视产品的基本需求[3]。此播放器软件除了具备基本播放控制功能外,还要求能兼容支持各种基于本地或网络上的媒体内容[4];此外,在产品易用性和可操作性等方面也有一定要求。
......
1.2 国内外研究现状
如果说过去的电视发展,是以索尼SONY、东芝TOSHIBA等日系厂商为代表的,开发基于电子显像管显示为中心的封闭型消费电子产品的话[5];那么近十年来的电视行业,则进入了内容与显示技术并重的,开放式的消费电子产品发展路线[6]。挑头的厂商则是三星SAMSUNG,LG,甚至谷歌Google,苹果Apple等非传统电视厂商也纷纷想要进入此行业[7]。显示技术上,以三星LG为主的韩国厂商主导,将笨重的阴极显像管技术进化到轻薄的采用LED光源的液晶面板,和最新的采用自发光的广色域显示技术有机发光二极管OLED[8];在内容上,则越来越多的厂商认识到了包容不同类型的内容的播放的重要性,将电视从以往的封闭的行业体系拉出到了开放的世界,通过平台化引入海量资源,从而满足各个层次的消费者的不同需求[9]。三星电视自行开发出了基于Linux的Smart HUB平台,LG基于Web OS提出了Smart TV Alliance平台,Google经多年沉淀推出基于Android系统的Android TV平台,Apple TV则是沿用其在手机领域的i OS系统平台。前文有提到过,国内电视厂商主要是采用Google的Android系统搭建产品平台[10]。这些平台化战略就是为了吸引更多应用开发者加入,打造一个围绕着产品的从上游方案到下游应用的完整生态圈。
.........
第二章 基本概念及相关技术介绍
2.1 嵌入式处理器
作为嵌入式系统的核心,嵌入式处理器是一种控制嵌入式系统运行的硬件单元。其范围囊括了从8位单片机,一直到32/64位嵌入式CPU。以功能划分的话,嵌入式处理器的主要类别包括有微控制器(MCU),数字信号处理器(DSP),片上系统(SOC)和微处理器(MPU)[12]。本文中讨论的嵌入式处理器类型主要是微处理器,其是由通用计算机中的CPU演变而来的[13]。它的特征是具有32位以上的处理器,具有较高的性能,但是它的功耗较之通用计算机的CPU而言低得多。在微处理器领域,出现了不同的CPU核心结构,主流的有ARM,MIPS,X86,Power PC等[14]。ARM技术发展至今,已经具备了能力。特点是功耗在众多CPU结构里最低,在2004年引入了Cortex系列产品后,计算能力也大幅提升;引领时代潮流,其最新系列产品Cortex A57,已经达到了64位,同时配合引入Aarch64新指令集;可以说在消费电子产品领域,ARM已是目前使用范围最广的架构[15]。
.......
2.2 嵌入式操作系统
如果说嵌入式处理器是整个系统的“心脏”的话,那么操作系统自然就是扮演了系统“灵魂”的角色[16]。嵌入式操作系统负责整个系统的所有软、硬件资源的分配与调度,控制协调并发任务;它体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能[17]。如果按照对事件的处理时间划分,嵌入式操作系统可以分为两种:要求实时性的嵌入式实时操作系统与不要求实时性的普通嵌入式操作系统[18]。非实时系统一般面向消费电子产品(传统移动电话、机顶盒等),代表性的有Winc E、Palm OS、Symbian和嵌入式Linux;实时操作系统则一般面向控制、通信、医疗等领域,如Wind River公司的Vxworks、QNX系统软件公司的QNX等,主要注重与实时性和可靠性,一般没有文件系统,虚拟内存管理等主要用于实时监控等[19]。本文主要讨论的系统正是基于嵌入式linux的Android。近年来,借助着处理器硬件性能迅猛发展的基础,嵌入式操作系统的功能发展也经历了一个质的飞跃,特别是以Android为代表的新一代开源平台,实现了包括网络访问及多媒体播放等强大的功能支持,为人们更好地融入如今这个信息消费的时代立下了汗马功劳[20]。
........
第三章 需求分析........... 10
3.1 系统设计目标.......10
3.2 用户角色分析.......12
3.3 业务流程分析.......12
3.4 系统功能性需求分析....16
3.5 系统非功能性需求分析.........18
3.5.1 时间性能........18
3.5.2 资源占用率需求.....19
3.6 本章小结......19
第四章 系统设计.... 20
4.1 系统总体设计.......20
4.2 各功能模块设计.....20
4.4 安全设计........28
4.5 本章小结........28
第五章 系统实现.... 29
5.1 系统主要类依赖关系......29
5.2 媒体扫描服务模块实现...........30
5.3 媒体存储模块实现..........32
5.4 主要控制模块实现..........39
5.5 播放器模块实现.....45
第六章 系统测试
6.1 系统测试平台
某品牌基于 MSTAR 公司出品数字媒体处理芯片 MSD6A818 的 46 寸 Smart电视机一台;外置 USB 移动存储设备(USB 2.0 接口移动硬盘容量 320GB,U盘容量 8GB 各一),其中硬盘分为 3 个分区(FAT32 格式),U 盘一个分区(FAT32格式);每个存储设备内置的媒体文件如表 6-1 所示:基于嵌入式技术的多媒体播放器软件系统经过以上的测试用例验证,通过了所有的测试。本次测试共设计了 14 个测试用例,执行用例 14 个,未执行用例 0个,通过测试用例 14 个,未通过测试用例 0 个。系统运行时总的资源占用情况为:CPU 占用 22%(外存扫描模块 19%+播放器控制 3%),RAM 占用 68MB 左右(外存扫描占用 22468K+播放器占用 46248K)。测试结论如下:(1) 系统软件功能达到设计要求。(2) 软件具备:外部存储设备访问功能;全程支持遥控器控制功能;视频播放、音频播放、图片播放及全体文件列表播放功能;图片幻灯播放模式及缩放旋转功能,3D 视频及字幕切换功能。
.........
总结
整个项目从设计至开发并测试完成,全过程历时近 12 个月。在这段时间内,通过对于嵌入式多媒体播放器的功能性之需求与非功能性之需求的调查分析,拟定了系统总体设计方案架构(包括了数据库设计和安全设计方面的考虑),进而对位于系统的总体框架之下各个模块的详细设计并编码实现。最终本系统完成了以下主要功能点:(1)融合了包括音视频及图片等多种媒体类型的一体化操作播放方式;(2)针对可热拔插的外部存储设备,实现了其对应的文件扫描与数据保存的方式;(3)针对客厅的使用环境,实现了基于遥控器控制播放的交互方式;(4)实现了多种格式的媒体文件的播放支持,包括多路音轨字幕及 3D 格式的视频回放;(5)实现了各种媒体文件列表的随机与顺序的播放功能;(6)实现了图片类型的幻灯片播放方式,以及单张图片的旋转、缩放功能;(7)实现了视频文件的断点续播功能。以上这些功能,都以通过设计测试用例并测试验证的方式证明其达到了设计目标,实现了预期的要求。目前,该系统软件已预装于某品牌电视高端机型并且已经上市销售。
.........
参考文献(略)