(计算机系统结构专业论文)基于gingaj的数字电视机顶盒中间件的研究与实现.pdf_第1页
(计算机系统结构专业论文)基于gingaj的数字电视机顶盒中间件的研究与实现.pdf_第2页
(计算机系统结构专业论文)基于gingaj的数字电视机顶盒中间件的研究与实现.pdf_第3页
(计算机系统结构专业论文)基于gingaj的数字电视机顶盒中间件的研究与实现.pdf_第4页
(计算机系统结构专业论文)基于gingaj的数字电视机顶盒中间件的研究与实现.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

(计算机系统结构专业论文)基于gingaj的数字电视机顶盒中间件的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

i 华 中 科 技 大 学 硕 士 学 位 论 文 摘 要 数字电视技术飞速的发展导致数字电视机顶盒的市场逐渐扩大,伴随而来的是 机顶盒底层硬件的差异化和其功能的多样化。如何降低开发成本,缩短开发周期成 了软件开发的主要课题。因此中间件被应用于数字电视机顶盒软件体系结构中。 ginga 是近几年由巴西提出的最新数字电视中间件标准, 对其它的中间件标准具有极 高的兼容性,极有可能成为新一代的数字电视中间件的全球标准。但是对 ginga 标 准的实现还没有完善,特别是对于 ginga- j 部分还没有确切的实现方案,因此对于基 于 ginga- j 的中间件进行设计与实现势在必行。 通过介绍分析 ginga 体系结构,结合 ginga- j 的 api(application programming interface)接口标准,设计并实现了基于 ginga- j 的数字机顶盒中间件。采用模块化 设计思想,将中间件设计成底层数字流接口模块、数字流解析模块、用户图形界面 模块、交互模块、管理模块、持续性服务模块和条件接收管理模块。选择其中的持 续性服务模块进行了具体实现,持续性服务模块通过 jni(java native interface)技 术将 pti(programmable transport stream interface)模块封装以获取传输流数据包。 持续性服务模块使用对象来表示数据,提供接口让上层应用程序创造获取数据的请 求,记录数据段的序号。持续性服务模块还提供了视图导航,通过封装一系列完善 的接口来方便上层应用程序快速的查找数据。为了能将持续性服务信息显示出来, 还实现了用户图形模块中的部分组件,以便直观的显示结果供用户查看。 在基于 st7109 芯片的开发平台上,移植了 java 虚拟机至嵌入式操作系统 stlinux 上用以进行对比测试。对比测试结果表明,持续性服务模块在功能上实现了 将传输流数据包抓取,解析,存储并显示的过程。与 iwed 公司出品的无中间件支持 的数字电视机顶盒软件相比,抓数据包的效率提高了 50%,用于索引的时间降低了 25%。 关键词: 数字机顶盒,中间件,接口标准,持续性服务 ii 华 中 科 技 大 学 硕 士 学 位 论 文 abstract digital tv technology are rapidly developing, that leading to digital tv set- top box market gradually expanding, accompanied by a set- top box hardware differences and the diversification of its functions. how to reduce development costs and shorten the development cycle of software development has become the main topic. therefore middleware is used in digital television set- top box software architecture. in recent years ginga by brazils latest digital tv middleware standards, to other middleware standards are very high compatibility, has the potential to become the next generation of digital television middleware global standards. however, the realization of the ginga standards have not improved, especially for ginga- j has not exactly part of the realization of the programme, based on ginga- j for the design and implementation of middleware becoming imperative. through the introduction of ginga architecture, with the ginga- j api (application programming interface)interface standard, designed and implemented based on the ginga- j digital set- top box middleware. middleware is designed into the low level stream module, the elementary stream processing module, the user interface module, the communication module, the management module, the persistence module and the conditional access module. select the persistence module to achieve a specific, the persistence module through the jni technology to pti (programmable transport stream interface) module package to get the transmission of data packets. the persistence module use object to store data, to provide interface so that the upper application to create access to data at the request of recording data of the serial number. the persistence module also provides a view of navigation, through a series of interfaces to facilitate rapid application of the upper deck to find data. in order to display persistence service information, also achieved a graphical user module in some components, so intuitive for the user to view the result will be displayed. st7109 chip- based development platform, transplanted the java virtual machine to stlinux on the embedded operating system for comparative testing. comparative test results showed that the persistence service module will function on the realization of the transport stream packet crawling, analysis, storage and display process. and without the iii 华 中 科 技 大 学 硕 士 学 位 论 文 support of similar middleware software of iwed compared to grasp the efficiency of data packets increased 50 percent, the time for the index will be lower by 25 per cent. key words: digital set- top box, middleware, interface standards, presistence services components 独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他 个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集 体, 均已在文中以明确方式标明。 本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名: 日期: 年 月 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有 权保留并向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和 借阅。 本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密, 在 年解密后适用本授权书。 不保密。 (请在以上方框内打“”) 学位论文作者签名: 指导教师签名: 日期: 年 月 日 日期: 年 月 日 本论文属于 1 华 中 科 技 大 学 硕 士 学 位 论 文 1 绪 论 21 世纪是一个信息化的时代,信息传播越来越快,信息传播的手段也趋于多样 化。但是在这其中看电视仍然是人们获取信息最主要的渠道。随着微电子技术,通 信技术,计算机技术,信息技术,数字技术以及人类文化的发展,再加上个性化服 务需求的增长, 数字电视得到了迅速发展1。 数字电视具有节目内容丰富, 画面清晰, 音质优美,互动性强等特点。中间件的出现使得数字电视的这些优点得到了更好的 体现。相信中间件技术的推广可以推动数字电视在全球范围内的普及2。 1.1 课题背景 数字电视是指一个从节目摄制、制作、编辑、存储、发射、传输,到信号接收、 处理、显示等全过程完全数字化的电视系统。具体来讲,数字电视采用数字摄像机、 数字录像机等数字设备完成节目的制作、编辑和存储,电视台发射传输和电视接收 机接收到的信号均为数字信号,电视接收机内部则采用数字信号处理技术来实现多 种新的功能3。数字电视广播最大的特点就是电视信号是以数字形式进行广播的,数 字电视给广播电视带来了新的活力,在市场经济中又给广播电视开展增值业务提供 了较好的手段。数字电视不仅拉动制造业,促进信息化发展,而且为广播电视的持 续发展提供了极大的空间。数字电视被各国视为新世纪的战略技术,新的经济增长 点。世界各国都在大力研究开发数字电视,纷纷制定各自的发展规划和推进政策4。 到目前为止,国际上已经形成了三种数字电视传输标准,它们分别是欧洲的数 字视频广播 (dvb) 、 美国的高级电视制式 (atsc) 、 日本的综合业务数字广播 (isdb) 三大标准制式共存的局面。按照数字电视信号传输方式的不同,可以分为地面传输 数字电视、卫星传输数字电视和有线传输数字电视三类5。与有线和卫星传输方式相 比,在信道状况和应用需求等方面,地面传输方式更为复杂,三种传输标准在地面 传输这一方面各自都有自己的特点的优势。dvb- t 标准采用了很多先进的编码和调 制技术,如 mpeg- 2 压缩编码技术和 cofdm(coded orthogonal frequency division multiplexing,编码的正交频分复用)调制技术。cofdm 对反射干扰具有很强的鲁 棒性,很适合在城区和市内等强反射干扰地区使用;同时它还允许在大范围地区内 2 华 中 科 技 大 学 硕 士 学 位 论 文 进行单频网操作,这将大大缓和 uhf 频段紧张的矛盾;dvb- t 还允许不同的工作参 数,使数据率和信号稳定性能达到最优组合6。isdb- t 和 dvb- t 非常的类似,可以 说是经修改的欧洲方案,传输方案仍然采用的是 cofdm,但 isdb- t 增加了部分接 收和分层传输的功能。而 atsc 则更强调覆盖的范围和数据的容量。dvb- t 较之 atsc 和 isdb- t 标准提供更多的复用频道,且抗多径能力强,可分层接收,也可移 动接收,还可组成单频网。因此,dvb- t 已在很多欧洲国家开始试运行,并且越来 越多的国家倾向于采用 dvb- t 标准。印度、新加坡和澳大利亚等国等国结合本国的 国情已经确定选用欧洲的 dvb地面数字电视广播标准。 巴西也参考了 dvb- t 标准, 同时结合了本国的一些必要要求提出了 isdtv- t 标准,并把它作为巴西本国的数字 电视地面传输标准7。 数字电视接收机是收看数字电视和提供数字电视服务必不可少的工具。它和原 来的模拟电视接收机的概念大不相同。数字电视接收涉及的技术非常复杂,除了进 行解调、信道解码、解复用、音/视频信源解码等恢复节目信号的处理外,还要实现 ca控制、交互操作、网络通信、多媒体信息处理等功能。但现有的大量模拟电视机 不可能在一朝一夕之间淘汰,为了使现有的模拟电视机能够收看数字电视节目,这 样就诞生了具有上述功能的数字电视机顶盒。数字电视机顶盒的硬件功能主要是对 接收的射频信号进行信道解码、解调、 mpeg- 2码流解码及模拟音视频信号的输出8。 而电视内容的显示及操作界面等都依赖软件技术来实现,缺少软件系统更无法在数 字平台上开展交互电视等其它的增强型电视业务,所以,在数字电视系统中,软件 技术有着非常重要的作用。由于机顶盒市场的逐步扩大,越来越多的生产厂家加入 了市场竞争,硬件的多样化为软件的开发带来了不小的困难。同时人们将数字机顶 盒应用在了越来越多的方面,数字机顶盒正在从仅能收看数字电视节目的低端产品 向多功能方向快速发展。这无疑加大了软件设计的复杂度。中间件是伴随网络发展 起来的一种面向对象的技术。随着网络的逐渐发展,许多软件需要在不同厂家的网 络产品、硬件平台、网络协议异构环境下运行,但传统的应用程序/操作系统模式采 用的双层结构不能满足这种要求,为了克服这种弊端给软件移植和系统应用带来的 影响,中间件技术随之产生9。近些年里,人们逐渐将中间件技术引入到数字电视机 顶盒软件设计中里来。大大改进了数字电视机顶盒软件系统架构,降低了数字电视 机顶盒软件开发成,缩短了软件的研发周期。 3 华 中 科 技 大 学 硕 士 学 位 论 文 1.2 课题研究的目的和意义 数字电视具有广阔的前景,数字电视取代模拟电视之所以成为不可逆转的趋势, 不仅是其画面品质的提升,增加节目频道,减少传输成本,最关键还是能给电视产 业提供更多的增值服务。数据能够与音视频流一起混合传播,增强了电视的互动性, 使得在数字电视接收设备上运行很多交互式应用程序,如epg、游戏、股票信息、 和vod等10。它的许多功能具体在机顶盒上得以体现。应用程序如电子节目指南、 远程教育等经过机顶盒处理后直接与用户进行交互,互动频道,视频点播为用户提 供了更加广阔选择空间。作为交互式应用程序核心的中间件在这些功能中起到关键 作用。如果机顶盒中没有中间件的话,那么不同的应用程序只能运行在特定的硬件 平台和操作系统之上,用户选择了机顶盒后还必须有针对性地去选择应用程序,而 且对于开发商来说对于不同的平台要编写多套与之相对应的应用程序,从而大大增 加了开发难度。这样不仅不利于用户,而且会使得行业发展速度减慢。因此,中间 件技术可以使电视运营商大大降低机顶盒和应用软件的成本,并可增加市场推广力 度和数字电视普及率。因此中间件的实现具有很强的现实意义。 在欧洲,个人电脑和 internet 的渗透率相当低,而图文电视作为电视相关活动的 一种,已经覆盖了整个欧洲大陆。对于欧洲人来说,绝大部分经验和电视机有关, 这是欧洲特别强调以电视为中心的根本原因11。而在巴西也只有 3 千 2 百万人有过 使用 internet的经历,这只占巴西总人口的 21%。而电视在巴西的普及率却有 91%。 因此巴西的数字电视市场很大。但是巴西是一个强制使用中间件的国家,数字电视 终端厂商想要进入别国的市场就不可避免的研究和分析与该国相对应的数字电视中 间件的结构的相关接口。 巴西的数字电视组织 sbtvd 于近年提出了基于其本国要求 的数字电视中间件标准 ginga12。但由于 ginga 标准出台的时间不久,国内外还没有 完整的基于 ginga 标准的中间件的实现,因此本课题是对基于 ginga- j 平台的中间件 的研究与实现可以占得市场的先机,具有巨大的经济价值。而且通过研究分析巴西 的中间件标准可以了解中间件标准的结构,为我国自行制订数字电视中间件标准提 供第一手的参考资料。另外全球数字机顶盒市场是个高度竞争的市场,除传统的机 顶盒制造商之外,消费电子、家电和 it 产业方面越来越多的公司也开始涉足数字机 顶盒的研发和制造,制造商之间的竞争非常激烈。数字机顶盒有别于传统以硬件为 4 华 中 科 技 大 学 硕 士 学 位 论 文 主的模拟电视,制造商需要具有较强的软件开发能力,在硬件架构功能趋同的今天, 制造商需要通过不同的应用软件开发来实现产品差异化,软件在数字机顶盒产品设 计中的重要性将远超过硬件设计。数字电视机顶盒中间件又是一项纯软件技术,实 现它可以大降低成本,同时也可以大大提升产品在业内的影响力。 本课题就是在这样的背景下进行研究,由“ 华中科技大学唯冠集团联合研究中 心” 资助,在意法半导体公司(stmicroelectronics,st)提供的 sti7109dtr 数字机 顶盒平台上开发了基于 ginga- j 数字机顶盒中间件系统,力求掌握软件核心技术,提 升产品的整体核心竞争力。 1.3 国内外概况 随着数字电视技术领域的发展,开放式业务系统成为数字电视发展的主流。为 了支持业务平台的开放性和机顶盒的可扩展性,标准化组织已经认识到中间件产品 的兼容性问题,并且开始着手建立开放的中间件标准。近几年各国政府纷纷计划制 定一套统一的,行之有效的数字电视中间件标准。因为中间件标准一旦确立,就会 有大量的数字电视内容制作、播出服务和应用服务厂商介入到数字电视产业中来, 从而实现资源共享,大大降低各个环节的成本13。现在全球交互数字电视标准,主 要分为私有的标准和开放的标准这两类。 例如, 欧洲 dvb (digital video broadcasting project)组织所制定的 mhp(multimedia home platform)标准是 dvb 组织针对多 媒体家庭应用而制定的中间件标准,它也是目前国际上影响力最大,采用最广的中 间件标准。 它基于java 环境、 定义了交互应用与终端设备之间的接口标准, 美国 atsc 组织所制定的 dase(dtv architecture for software environment)标准、 acap (advanced common application platform)标准,北美的有线电视业者的规格制定 组织 cablelabs 所制定的 ocap(opencable application platform)标准,日本 arib (association of radio industries and businesses) 组织所制定的 std- b23 (application execution engine platform for digital broadcasting)标准,英国 mheg(multimedia and hypermedia information coding expert group)组织所制定的 mheg- 5 标准等,还有 巴西 sbtvd 组织所制定的 ginga 标准。都是属于公开的交互数字电视标准。另外, opentv 公司的中间件解决方案,还有 nds 公司的 mediahighway core 中间件解决 方案等,则是属于私有的交互数字电视标准14。可见数字电视中间件标准的一大特 5 华 中 科 技 大 学 硕 士 学 位 论 文 点就是种类极其繁多,但是开放性的标准,因为其免费开放其所有的资源,会得到 比较广泛的应用。 甚至会出现其它的标准兼容某开放性标准的情况。 比如为了让mhp 应用程序在其它的数字电视平台运行,dvb组织为数字电视系统中间件制定了一个 统一的标准。这个标准就是 gem。它包括 mhp 特征,但这些特征并不涉及 dvb 的 特征。gem 这些标准被日本和美国的中间件标准采用。而数字电视中间件标准的另 一大特点就是强制性。比如在美国,欧洲各国以及巴西等国,其政府强制推广中间 件,因此数字电视中间件在数字电视领域中的作用日益显著。 美国高级电视制式委员会(atsc)成立了 t3/s17 技术专家小组委员会,致力 于数字电视接收机软件环境的标准化,该软件环境称为 dtv 应用软件环境 (dase) .dase标准能够保证交互式内容应用程序和数据在数字电视接收机上的运 行,它结合了目前可在 java 虚拟机上运行的应用程序接口(api) 。 高级电视增强论坛(atvef)已有约 60 家公司参加,以实施 atvef 内容规范。 创立 atvef 的公司中有一半以上与电视节目直接有关,包括 nbc、pbs、华纳兄弟 公司等,主要的传输公司包括有线电视实验室、directv、与 tci、以及计算机厂 商英特尔、微软与消费电子厂商索尼等。atvef 的目标是在实现交互电视时有共同 的规范,并能支持所有的电视环境(模拟或数字、有线、卫星或地面广播) ,这一规 范要尽量利用现有的内容格式,主要是因特网与 web 网。美国的 sun 公司积极推广 其 java 平台进入电视、机顶盒、有线电视领域15。 欧洲 dvb组织提出了基于 java 虚拟机的中间件标准 mhp。 mhp 主要定义机顶 盒的整体结构、传送协议、内容格式、java 虚拟机各 dvb- j api、安全性和各个档 次的细节。多媒体家庭平台是一个开放的标准 api,它的目标是最终形成一个能够刺 激交互电视产业增长的横向市场。mhp 的 1.0 版本已经在 2000 年 2 月的 dvb指导 委员会会议上通过,于 2000 年 7 月被 etsi 正式采纳,并获得了大多数中间件厂家 的支持,如 opentv、mediahighway等都将过渡到以 dvb- mhp 为代表的开放式业 务系统上。今天,标准定义已经稳定。任何成功地通过整套测试的厂家都可获得正 式的 mhp 标志。现在更新的版本已经完成,mhp1.1 增加了与因特网相关的要求以 及标记语言的描述16。 目前, 美国有线电视实验室已经制订了ocap2.0.ocap是open cable application platform的缩写,是另一种中间件的规范,它支持应用在各种家庭装置和有线电视网 6 华 中 科 技 大 学 硕 士 学 位 论 文 上的可移植性。 ocap1.0 在 2002 年 1 月发布,定义一种基于 java 的执行引擎 (ee) , 而ocap2.0通过增加基于web的技术如xhtml, xml和ecmascript扩展此平台。 与 ocap1.0 相比,ocap2.0 主要加进 presentation engine(pe),并在 ecmascript 与 dvb- j 之间、ecmascript与 ocap java api 之间,架起一道桥梁,使 pe和 ee 可以一起工作。pe的作用于 web 浏览器相似,支持创作和利用 web 标准表示语言, 如 html4.0.1、xhtml1.0 和 css1,2 等等17。除了上述几种国外应用最为广泛的 中间件标准以外,最近巴西本国也针对 isdtv- t 数字电视标准制定了自己的中间件 ginga。ginga 与 mhp 标准保持有良好的兼容性,同时也拥有自己的创新点。由于巴 西本国的一些特定要求,因此 ginga 必须具有满足这些特殊的要求,同时在 ginga 标准中,pda 和手机等交互设备可以通过无线网络与 ginga 平台实现交互。ginga 标准由于诞生不久,国内外对这一标准的实现都还处于研发阶段。 本文将深入分析研究 ginga 中间件,并围绕着基于 ginga- j 的中间件系统的总体 设计,详细说明持续性服务模块和用户图形界面模块的研究和具体实现。全文主要 包括以下内容: 第 1 章是本文的绪论部分,主要对课题的研究背景、数字电视机顶盒中间件的 历史、现状和发展趋势、研究意义以及相关知识进行了介绍; 第 2 章对中间件相关的理论与技术基础做了详细的介绍,包括机顶盒中间件的 基本概念和作用,讨论了选择 java 语言作为数字电视中间件开发工具的优势,研究 了 ginga 中间件的体系结构,介绍了 ginga- ncl 和 ginga- j 两大部分; 第 3 章详细分析了 ginga- j 的相关机制,实现了 ginga- j 平台主体 java 虚拟机对 stlinux 操作系统上的搭建,介绍了 ginga- j api 的组成结构。提出了基于 ginga- j 的中间件系统模块设计思想; 第 4 章着重叙述了持续性服务模块的具体实现; 第 5 章对该模块进行了功能测试与性能分析; 第 6 章对全文进行总结,对创新点和不足之处进行了分析。 7 华 中 科 技 大 学 硕 士 学 位 论 文 2 中间件相关理论与技术 数字电视的一大优势就是为电视服务提供了计算功能,这一优势现在正在世界 范围内飞速的发展。新的电视环境应该变成是互动的,因为应用程序可以和节目信 息一起传输和执行。经常可能出现在不同和硬件设备上运行相同的应用程序,为了 屏蔽些不同的平台的不同的运行环境和不同的制作工艺,人们采用中间件软件。它 可以定义出一个软件层来抽象出不同硬件平台的特征。中间件允许内容提供商去开 发上层的应用软件,这些应用程序软件将会在所有数字电视接受端运行。 2.1 数字电视机顶盒中间件基本概念 机顶盒中间件是建立在数字电视接收设备驱动层之上,为交互应用提供一个完 整的应用编程接口的软件系统。它以应用程序接口 api 的形式存在,整个 api 集合 被存储在机顶盒的闪存中。包括一系列功能,如内存管理、通信管理、图形系统管 理、si 数据装载、系统资源管理以及与前端系统间的通信和控制等。准确来说数字 电视机顶盒中间件的定义应该是指位于数字电视机顶盒内部实时操作系统与应用程 序之间的软件部分,如图 2.1 所示,它以应用程序接口 api 的形式存在,整个 api 集合被存储在机顶盒的闪存 flash中。 高层应用程序 中间件 底层软件及驱动 硬件平台网络tv 周边机器(pc机,游戏机) 图 2.1 数字机顶盒中间件 8 华 中 科 技 大 学 硕 士 学 位 论 文 针对机顶盒的应用程序基于 api 进行开发,能够支持丰富的应用。采用中间件 系统,可以跨越技术、标准等复杂的内容,用简单的方法定制具有自己特色的应用 软件,从而在提高开发效率、减少开发成本的同时能够跟上技术的发展,将应用的 开发变得更加简捷,使产品的开放性和可移植性更强。虽然中间件对机顶盒硬件资 源的要求较高,但在开发大量应用软件时成本大大下降。 中间件是一种将应用程序与底层的操作系统、硬件细节隔离开来的软件环境, 它通常由各种虚拟机来构成,如 java 虚拟机、html虚拟机等。中间件的作用是使 机顶盒基本的通用功能以应用程序接口 api 的形式提供给机顶盒生产厂家,以实现 数字电视交互功能的标准化,同时使业务项目以应用程序的形式通过传输信道)下 载到用户机顶盒的数据量减小到最低限度18。中间件的应用范围极广,根据国际国 内交互电视业务的发展经验,根据中间件标准应用的层次,首先,在第一阶段,运 营商通过单向网络以广播的方式向用户提供一些基本的信息服务,同时还能够向用 户提供一些本地交互应用。如:天气预报、新闻、电子节目指南、单向游戏等等; 在第二阶段,运营商和观众可以通过回传通道来交换信息,进行交互,使电视不仅 仅作为娱乐和信息的来源,还成为通讯和交易工具。如:短信服务、电视邮信、明 星投票等等。在第三阶段,运营商可以利用在第二个阶段的基础上进一步拓展运营 思路,使电视机成为一个娱乐的平台,一个信息的平台,一个交易的平台。从而产 生长期稳定的收益,实现一个完整的交互电视系统。如电视购物、电视政务等。 中间件标准名目繁多,内容丰富,基本包含了数字电视的方方面面。制定数字 电视中间件标准的目的有以下几个方面: (1)使得前端播发的节目能够为不同厂家和不同硬件设计的机顶盒所接收、解 码与播放;而同一厂家的机顶盒能够不加修改或少许修改就可用于不同的数字电视 运营商的网络中; (2)为了众多的软件提供商都能开发交互应用,而且这些交互应用可不进行任 何修改便能够被不同的运营商所采用。中间件标准的颁布与实施,使得数字电视从 前端到接收端、再到应用程序这条产业链不被某一家技术供应商所垄断,不同的厂 家都可以提供其前端播发服务器软件系统,应用开发商都可以开发多元化的应用, 而且成本很低,运营商无需再去为电视或机顶盒费心,机顶盒生产商可以在商场里 像推销电视机那样去推销机顶盒。也就是说,中间件标准从根本上解决了运营成本 9 华 中 科 技 大 学 硕 士 学 位 论 文 的问题。 一般说来,数字电视中间件标准应该规范以下内容: (1)数字电视节目以及数据的格式: 音视频数据采用 mpeg 一 2 标准, 而图像、 字符显示数据格式等则必须有一个明确的规定和限制。 (2)统一的数据传输协议:目前在通信领域和互联网领域所采用的协议有很 多,如 tcpip, http 等。在数字电视领域,由于广播的特殊形式,以及网络条 件的限制(如单向或双向) ,采用的协议也就不一样,因而必须有 个明确的规定。 (3)应用程序编写所采用的语言及其接 el 库:数字电视的各种交互式应用是 电视运营商的收入增长点,为了减少应用程序的开发成本,并且能够在不同的硬件 平台上运行同一个应用程序,就必须规定统一的编程接口19。 2.2 java 技术在数字电视机顶盒中间件中的重要作用 java 技术主要由两部分组成,一部分是 java 平台,另一部分是 java 语言。 2.2.1 java 语言 java 是一种程序设计语言,它诞生于 1991 年,真正发展始于 1995 年。目前, java 语言越来越受到开发人员的欢迎。这与 java 的一些特性是密切相关的。java 提 供简化的优点和面向对象而又不依赖于机器的开放结构,具有卓越的可移植性、安 全性特点,并且可通过并发机制带来强大的性能。java 技术的软件能够运行在从小 型设备到超级计算机的任何机器上,其兼容性几乎无所不在。借助 java 技术,无论 用户使用的是 pc、macintosh计算机、网络计算机,还是机顶盒、数字电视、internet 可视电话、各种掌上设备,可以在不同的设备上运行同样的应用,这就给交互式数 字平台提供了一个非常好的兼容环境,可以让数字电视平台上的所有硬件和软件, 不论是前端的还是终端的,不论是各种服务提供设备,还是机顶盒和数字电视,都 可以不加修改地相互移植,相互衔接,具有极高的兼容性。利用 java 技术的特性, java 语言使广播节目开发商能更得心应手地、灵活地开发应用界面,以提供给观众 更加引人入胜的交互电视节目;此外,java 语言编写的数字电视内容具有安全、可 扩展和可移植的特点,可用于各种不同的电视接收机,还可大大节省开发商把交互 应用投放市场的时间和成本。 10 华 中 科 技 大 学 硕 士 学 位 论 文 java源程序 (*.java文件) 内存中生成 可执行代码 java编译 java执行程序,对字节代码解释/编译执行 字节代码 (*.class文件) jvm 平台系统 图 2.2 java 程序的工作流程 java 程序的工作流程如图 2.2 所示。 java 语言在中间件开发应用中的优势更加明 显。数字电视机顶盒使用的是嵌入式系统,硬件上可以说是千差万别,硬件平台的 差异对数据类型支持等类似性能会有很大的影响。所以嵌入式操作系统更是琳琅满 目,有通过的操作系统,也有一些公司自已开发出的专用操作系统。而嵌入式系统 就不得不考虑跨平台性能这个很实际的问题。因此,语言的跨平台性在嵌入式系统 平台的开发中是至关重要的。由 java 语言编写的程序有两种类型,一种是直接运行 在 java 虚拟机上,用 java 命令执行,这种称为应用程序,另一种运行在浏览器里, 由浏览器调用执行内置的 jvm,一般称它为 applet 小程序20。 2.2.2 java 平台 java 平台的用途是支持用 java 语言编写并被编译为 java 字节码的应用程序。 java 平台也可以分为 java 虚拟机和 java api 两大块。 1)java 虚拟机 java 虚拟机是把 java 字节代码解释成机器代码的一种程序,是代码和平台系统 的接口,是凌驾于硬件和操作系统平台之上的一层外壳,正是由于 jvm 的存在,才 使得 java 真正实现了平台无关性。对应不同的系统平台,只需要使用不同的 jvm 即 可。目前几乎所有常见的操作系统都有自己对应的 jvm。 jvm 实质上是介于软硬件之间的一种数据接口。它通过对不同系统硬件驱动的 解释,实现同一个功能代码在不同的硬件平台上的运行,对开发人员来说,完全可 11 华 中 科 技 大 学 硕 士 学 位 论 文 以不去理会所使用的系统平台,所面对的只是虚拟机。由于 java 属于开放技术,任 何人都可以开发自己特色的 jvm,只要符合规范即可。java 虚拟机包括字节码解码 器、字节码校验器、类加载器和垃圾收集机,支持 unicode 文本、32 位和 64 位整数、 多维数组、浮点数、线程和异常处理,同时还支持 java beaus、java applet 和数字签 名21。java 虚拟机处于机器和编译程序之间,在任何平台上都提供给编译程序一个 共同的接口。java 源程序经过编译器编译后变成字节码,字节码由虚拟机解释执行, 虚拟机将每一条要执行的字节码送给解释器,解释器将其翻译成特定机器上的机器 码,然后在特定的机器上运行。 java 虚拟机的主要任务装载 class 文件并且执行 其中的字节码。java 虚拟机包含一个类装载器,它可以从程序和 api 中装载 class 文 件。字节码由执行引擎来执行,具体过程如图 2.3 所示。 类装载器的体系结构是 java 虚拟机在安全性和网络移动性上发挥重要作用的一 个方面,图中所示的类装载器可以包含多个类装载器的子系统, java 应用程序能够 在运行时决定需要安装的类,并且将被不同的类装载器装载的类存放在不同的命名 空间。 程序源文件 *.java java编译器 *.class 编译时环境运行时环境 程序的class文件java api的class文件 *.class*.class java虚拟机 类装载器 执行引擎 字节码 主机操作系统 本地方法调用 传递文件 图 2.3 java 虚拟机的工作过程 执行引擎处于 java 虚拟机的核心位置,它的行为由指令集所决定,其主要作用 就是解释字节码(即运行经过编译后的 java 程序的 class 文件) ,不同的执行引擎 实现可能非常不同。由软件实现的虚拟机的执行引擎分为一次性解释字节码、即时 12 华 中 科 技 大 学 硕 士 学 位 论 文 编译器和自适应优化器,由硬件芯片构成的虚拟机用本地方法执行 java 字节码,它 的执行引擎是内嵌在芯片里。java 解释器能直接运行目标代码指令。链接程序通常 比编译程序所需资源少,所以程序开发人员可以在创建源程序上可花更多的时间。 由于前期的 java 完全采用解释的方式执行,这样代码量比较少,适合于嵌入式系统, 但是解释执行使得代码的执行效率比较低;编译方式的优点是代码执行效率比较高, 但是编译后的代码容量比较大。即时编译技术使得编译并不一定要在运行前,也可 以在程序运行过程中进行编译。因此许多公司开发的 jvm 利用 jit 技术对执行方式 进行了改进。即使用解释与编译相结合的方式进行,对常用的代码进行编译执行。 这样能够很好地调和速度与容量的矛盾。 java 虚拟机相当于一个堆栈计算机,它在指令间传送信息时不使用任何物理寄 存器,而使用堆栈的帧来表示方法的状态、字节码的操作对象、方法的数空间及 局部变量的空间,它的“ 程序计数器” 为一个伪寄存器,是当前所执行指令的字节码 数组的一个指针。 2)java api 通过 java 虚拟机,应用程序可以在不同种的处理器上以相同的流程方式运行。 在 java 虚拟机之上有一组已经定义的程序函数,叫 java 类库,它提供了许多基本的 api,定义了 java 系统的行为特征。对这组类库,又根据不同的行为功能划分为不 同的类包,常用的类包有以下几个: (1)java.io 类包:提供 i/o 能力,即 java.io.input- stream和 java.io.outputstream 以及他们的子类。 (2)java.lang类包:提供最基本的 java 函数。例如,java.lang.thread 提供的是 系统级的功能函数。 (3)java.util 类包:提供通用功能,如数据、矢量、hash 表的操作。例如 java.util.hashable 和 java.util.calander 等。 (4)java.applet:用于插件的基本结构性函数,可嵌入 html,mheg 等作为 internet 应用。 (5)j 类包:提供网络数据、交互业务和 internet 接入函数。 (6)java.rmi 类包:涉及分布式应用。 (7)java.security类包:提供安全机制,用于经回传通道的电子商务。 13 华 中 科 技 大 学 硕 士 学 位 论 文 (8)java.math类包:数学函数库。 (9)java.awt类包:提供各种绘图工具和产生窗口的组件。例如, java.awt.font, java.awt.scrollbar 等22。 在核心类库的基础上,针对数字电视应用,构成了所谓的 javatv 类库,目前有 多家公司正在开发利用 java 技术定义数字电视应用的 java 扩展类库。 主要有 davic 定义的 dvb- si、条件接收通用接口、mpeg 流控制的 java 类库等。 应用appletsapplets应用层 java tv api java平台 java技术平台 stlinux操作系统操作系统层 设备驱动程序 硬件支持环境硬件层 图 2.4 基于 java tv api 的数字交互式电视中间件分层结构 基于 java tv api 的数字交互式电视中间件分层结构如图 2.4 所示。基于 java 语言的开放理念代表着未来数字电视中间件技术的发展方向, sun公司也正在积极推 广 java 平台进入数字电视、数字机顶盒等领域,并提出了基于 java2 micro edition 的 java tv api标准,目前已经有许多数字电视公司、电子消费产品生产厂商公开声 明其产品将支持 java tv api,并作为全球数字电视软件平台标准。java tv api 针 对数字交互式电视而设计,具有媒体同步与应用软件模块功能,其中媒体同步使电 视节目的基本视频与背景音频同步,应用软件模块功能则使交互式应用软件与传统 电视节目和谐共存,因此 javatv api 代表着数字电视中间件技术的发展方向,将在 数字电视领域发挥重要作用, 2.3 ginga 中间件 巴西政府组织的 sbtvd计划投入了大批来自各种大学和研究中心的研究人员。 sbtvd 计划的研究内容包括组成数字电视系统的各个部分以及一些用以满足巴西 14 华 中 科 技 大 学 硕 士 学 位 论 文 本国政府要求的特征的发展。sbtvb的主要目的就是为了给政府提供必要的信息以 便于能够制定出来一个开放的巴西地面数字电视系统。isdtv- t 就是 sbtvd 的一 个最终成果。它是巴西研发出来并最终被巴西采用。而 ginga 就是 isdtv- t 标准下 的中间件。ginga 共有三个应用领域和层次,如图 2.5 所示,分别为增强性广播、交 互性广播和互联网接入。 增加广播 java虚拟机 ginga api broadcaststrans port protocols html subset optional 交互广播 ginga api extensions for interactivity interactive transport protocols 互联网接入 ginga api for internet access html,ecma script,dom,css 图 2.5 ginga 应用层次 基层是增强性广播(enhanced broadcasting profile)仅支持单向广播业务和本地 交互业务,包括 java vm、ginga- j apis 和广播传送协议,html子集作为即插件, 提供本地端交互的相关服务,适用于不需要回传通道的服务。 ginga 的设想就是要 覆盖家庭多媒体的方方面面,包括工作、学习、娱乐等,并且在 ginga 的应用中, 视频、音频、图像、本地、远程、广播、组播、点播等都综合应用,下面举例说明, (1)电子节目指南(epg):为用户提供一周的视频节目播放表,可实现预订和浏 览片断等功能。(2)收视导航:多电视台视频流和各项应用在同一画面表现的显示 形式,用户可以最大范围内浏览所有的视频节目和应用,进而可以实现视频点播或 接受广播。(3)电视杂志:基于网站形式的 internet广播,与网站浏览类似。(4) 交互式游戏:下载到本地存储器,由游戏提供商以付费方式或者免费

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论