摘要
目前,国家正在大力推进电视网络的数字化改造,数以千万计的电视机顶盒走进了家庭。随着技术的不断创新和发展,以及通信网、计算机网和广播电视网“三网合一”的必然趋势,机顶盒正在从一个简单的调谐器和解码器发展成为具有多种功能的网络多媒体终端,因此它必须能够支持除数字电视信号以外的更多的多媒体格式,现在已经出现了能支持 MP3 和 RMVB 等音视频格式的机顶盒。
Flash 动画是目前网络上应用得最广泛的多媒体格式之一。但是,由于种种技术上的困难,现在市场上暂时还没有能够支持 Flash 动画播放的机顶盒。
本文设计并实现了适合机顶盒使用的嵌入式 Flash 播放器。首先分析了矢量动画原理以及 Flash 文件格式;然后,设计出了播放器软件的整体架构与工作流程;接着,分模块进行了具体的实现,包括元素字典模块、显示控制模块、矢量图形渲染模块、字体与文本显示模块以及 ActionScript 脚本引擎等。其中的重点与难点是矢量图形渲染模块与 ActionScript 脚本引擎。
针对嵌入式平台上矢量图形渲染过于耗时的问题,提出并实现了一种位图缓存机制,将播放速度提高了数倍至数十倍。
基于开发成功的嵌入式Flash播放器,为机顶盒设计了一种基于Flash的人机界面交互系统。与传统的机顶盒UI相比,这种新的人机交互系统具有用户视觉体验好、推广移植迅速以及更新升级简单的优点。
嵌入式Flash播放器的开发成功,进一步加强了机顶盒的多媒体功能,同时也为运营商开展增值业务提供了一种新的技术方案。
关键词:机顶盒,嵌入式 ,Flash,播放器,矢量图
ABSTRACT
At present, the digitization of television network is being vigorously promoted by the government, and tens of millions of Set-Top Boxes have come into people’s home.
With continuous innovation and development of the technology, and the inevitable trend of integration of communication networks, computer networks and Cable TV networks, Set-Top box is developing from a simple tuner and decoder toward a network multimedia terminal with rich functions. Therefore, more and more multimedia formats in addition to digital television signals should be supported by Set-Top Boxes, and some high-end products which supporting MP3, RMVB or some other audio formats have already emerged. The Flash animation is the most popular multi-media format on Internet, but due to some technical difficulties, there are still no Set-Top Boxes which can play Flash animations at this moment.
In this paper, an embedded flash player is designed and implemented for Set-Top Boxes. First, the principles of vector animation are introduced and the format of flash files is analyzed. And then the software framework and the running process are designed. After that, some core sub-modules are implemented, the focus and difficulty of which is vector graphics rendering module and ActionScript engine.
Due to the problem that it is too time-consuming to render vector graphics on embedded platform, a bitmap caching mechanism is proposed and implemented which largely increases the playing speed and solves that key problem.
Based on the successful development of embedded flash player, a man-machine interactive system based on flash is designed for the Set-Top Box. Compared with the UI of traditional set-top box, the advantages of the new system is apparent that it improves user’s visual experience and it is also easier to transplant and update.
The successful development of embedded flash player has further expanded multimedia functions of Set-Top Boxes, and also provided a new technology for operators to develop value-added services.
Keywords: Set-Top Box, Embeded, Flash, Player, Vector Graphic
目前,全国有线数字电视已从试点走向全面发展阶段。2007 年数字电视用户已达 2796 万,预计 2008 年将超过 5000 万户,2010 年有望超过 1 亿户[1]。国家计划在 2016 年停播模拟电视。当前,中国正在使用的模拟电视机数量在 3 亿台以上,在模拟和数字电视广播体制共存时期,机顶盒作为一种实际可行的过渡方案,已经走进了千家万户,有非常广泛的市场前景。
最初的机顶盒,只是让模拟电视机能接收数字电视信号,功能单一,结构简单。随着技术的不断创新和发展,以及通信网、计算机网和广播电视网“三网合一”的必然趋势,机顶盒正在从一个多频率的调谐器和解码器发展成为具有多种功能的网络终端[2],可以支持多种数据广播和交互式多媒体应用,诸如数字电视广播接收、数据广播、电子节目指南、准视频点播、视频点播、电子邮件、因特网接入、远程教育、远程医疗、网上购物、网上收费、电子广告、股市证券服务、网上音频视频广播业务、可视电话与电视会议、社区多功能服务,等等[3]。
由于机顶盒的发展趋势是最终成为一个网络化的多媒体终端产品,因此它必须能够支持除数字电视信号以外的更多的多媒体格式。现在已经出现了能够支持MP3 和 RMVB 等音视频格式的机顶盒[3],但由于种种技术上的困难,暂时还没有能够支持 Flash 动画文件播放的机顶盒。
Flash 是一种交互式矢量多媒体技术, 其前身是 Future Splash, 为早期网上流行的矢量动画插件, 被 Macromedia 公司收购后(后 Macromedia 公司又被 Adobe公司收购), 便将其改造为 Flash 2, 现在最新的版本是 Flash 8。Flash 动画利用人的视觉暂留特性, 快速播放一系列连续变化的图形图像, 包括画面的缩放、旋转、变换、淡入淡出等等特殊效果[4]。Flash 动画采用矢量动画格式, 文件尺寸非常小,能在网络上顺畅播放。它制作简单,开发迅速,逐渐成为了目前应用最广泛的一种网络多媒体格式。它的应用领域十分广泛,包括网络广告、网站片头、动画短片、电子贺卡、MTV、教学课件、电子商务等等[5]。
近些年来,Flash 不断进行着“走出网络”向电视节目拓展的有益尝试,已经开始取得了成效,Flash 动画在电视节目中主要有以下几种形式的应用[6]:
Flash 起源于一些门户网站的广告。目前,Flash 动画广告是网络中最流行的广告形式。最近,很多电视广告也采用 Flash 进行设计制作,形式比较多,有的是动画片段,也有具有完整情节的动画广告短片,用整段 Flash 动画展示广告产品。Flash动画广告,以其灵活自由的形式,给消费者提供商品信息的同时,给予观众以美的感官享受,致力于吸引消费者注意力、节省资金等,容易受到各大商业客户的青睐。
运用动画讲解科学知识是一种极佳的方式。由于我国观众的知识层次分布不同,接受科学知识的能力也不同,动画以其灵活自由的形式寓教于乐,让观众在轻松的氛围内得到艺术熏陶,同时受到科学教育。利用 Flash 制作科教短片,能够以任何视角细腻地表现实际拍摄很难捕捉的过程,并且它制作成本低、速度快,创作成果的可复用性高。
Flash 动画可以制作出水平较高的电视动画片,互联网上已经流传着许多经典的 Flash 动画短片、MTV 等。将 Flash 动画系列化,并移植成电视动画的形式,是动画片的一个新突破,融合了影视动画与 Flash 的优势。Flash 动画片必将成为国内动画事业中极其重要的一个亮点。
虚拟主持人、虚拟明星的概念,在 Flash 技术的帮助下变得很容易实现。Flash与专题新闻栏目的结合,突出了新闻的娱乐化倾向。与新闻节目整体风格相协调的 Flash 动画,还具有一种趣味性,容易受到广大观众的欢迎。在娱乐方面,近年流行的 Flash 版侯宝林的相声、赵本山的小品,将娱乐作品用另外一种方式演绎,语言幽默、造型夸张、视觉强化,凸现了喜剧效果。
上面提到的 Flash 动画在电视中的应用,基本上还是基于现阶段的模拟单向电视广播形式,从技术上讲,只是在动画的制作阶段,使用 Flash 设计工具进行创作,然后将其转化为视频流,再经过电视信号进行广播。因此,从接收端的角度来看,它与普通的电视节目没有任何区别,Flash 动画文件体积小、交互性强的特点在这种模式下并没有得到任何的体现。随着电视网络的数字化与交互化改造,Flash 动画在电视领域必将拥有更加广阔的空间,创造出更大的价值。
嵌入式FLASH播放器开发设计:
机顶盒播放 Flash 动画实拍图
测试文件一的耗时曲线
测试文件二的耗时曲线
目 录
第一章 绪论
1.1 电视机顶盒的发展现状
1.2 FLASH 动画与电视结合的现状与前景
1.3 课题的任务与意义
1.4 主要工作与本文结构
第二章 矢量动画基础与技术分析
2.1 矢量图形简介
2.1.1 三阶贝塞尔曲线
2.1.2 二阶到三阶贝塞尔曲线的转换
2.2 FLASH 文件综述
2.3 FLASH 文件结构概要分析
2.3.1 文件头结构
2.3.2 标签(Tag)结构
2.3.3 元素字典(Dictionary)结构
2.3.4 显示列表(DisplayList)结构
2.3.5 Flash 文件中矢量图形的结构
2.3.5.1 填充样式(FillStyle)
2.3.5.2 线条样式(LineStyle)
2.3.5.3 形状(Shape)
2.4 小结
第三章 播放器的设计与实现
3.1 设计目标与原则
3.2 系统运行环境
3.2.1 硬件环境
3.2.2 软件环境
3.3 系统的整体架构与工作流程
3.4 元素字典模块的实现
3.5 显示控制模块的实现
3.6 矢量图形渲染模块的实现与优化
3.6.1 矢量图形相关的数据结构设计
3.6.2 渲染引擎的设计与实现
3.6.2.1 图形库的选择
3.6.2.2 渲染引擎结构的设计
3.6.2.3 图形渲染的具体实现
3.6.3 渲染引擎的速度优化
3.6.3.1 Flash 动画特性分析
3.6.3.2 位图缓存的设计
3.6.3.3 位图缓存的实现
3.7 字库与文本显示模块的实现
3.7.1 Glyph Text 的处理
3.7.2 Device Text 的处理
3.8 小结
第四章 ACITONSCRIPT 脚本引擎的设计与实现
4.1 ACTIONSCRIPT 脚本语言简介
4.2 ACTIONSCRIPT 解释器原理
4.3 解释器的总体设计
4.4 解释器的实现
4.5 主要技术难点及解决方案
4.6 小结
第五章 基于 FLASH 的人机交互系统
5.1 基于 FLASH 的人机交互系统简介
5.2 系统的设计与实现
5.2.1 体系结构
5.2.2 系统工作流程
5.2.3 界面与业务交互的实现
5.2.4 用户按键消息的处理
5.3 小结
第六章 播放器的测试
6.1 测试环境说明
6.2 功能测试
6.3 性能测试
总结与展望
致 谢
参考文献
(如您需要查看本篇毕业设计全文,请您联系客服索取)