




已阅读5页,还剩75页未读, 继续免费阅读
(计算机系统结构专业论文)基于gingancl的数字电视节目交互技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
i 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 摘摘 要要 交互式数字电视是当前广电系统数字化进程快速全面演进的必然途径,交互式 数字电视的推广和普及最关键的条件是需要有很好的交互式应用作支持。国际上三 大主流中间件标准mhp, dase和arib所采用的核心交互式技术基本上是基于java 技术的,这种技术缺乏灵活性和可拓展性,大大阻碍了交互式业务的拓展。 ginga 是巴西地面数字电视的中间件标准,它的陈述性环境 ginga-ncl 是各种 交互式应用的载体,它采用了一种 xml 应用技术作为其核心技术。 通过对三大主流中间件标准采用的交互式技术的比较和分析,研究了适用于 ginga-ncl 环境的数字电视节目的交互技术。为了克服 java 技术在创作环节效率低 下和可扩展性差的缺陷,利用 xml 技术的可扩展性,对部分 ncl 实体作一定的修 改和扩充,将媒体内容与同步关系完全分离,使创作过程高效便利且扩展性强。为 了传输深目录层次的应用,在传输过程应用 dsm-cc 对象轮播技术的基础上,设计 一种定位技术可以方便地将交互式节目的数据与逻辑结构传输到用户端。对表述引 擎管理器各模块的设计与实现,保证了后端 ginga-ncl 环境有序的运行,实现了从 前端对象轮播提取交互式应用信息的技术。很多交互式节目有实时更新的需求,为 了满足此需求关键在两点:ncl 文档采用 dom 技术解析,可以实现 ncl 实体的动 态更新,另一方面,应用对象轮播的流事件机制,自定义一套实时编辑命令,并定 义一个数据结构“流事件描述器”作为实时编辑命令的传输载体,实现前端的对节 目的实时编辑操作同时地反映在后端播出的节目中。 通过仿真软件的模拟分析,后端节目播放的时空同步和用户交互式响应,基本 符合前端节目创作时的初衷,自编程序模拟了文件系统和实时编辑命令的提取,其 结果也基本符合预期目标。仿真模拟的过程和结果可以清楚地显示出系统的高效性, 灵活性和可扩展性。 关键词:关键词: 中间件,陈述性环境,交互式技术,对象轮播,实时编辑 ii 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 abstract interactive digital television is the necessary method by which the broadcast television systems digital process can fast and completely evolute nowadays.the most critical condition of the interactive digital televions promotion and popularization is the support of the well interactive application.the three major international middleware standards mhp,dase and arib use java technology as their core interactive technology.the interactive technology based on java lacks of flexibility and extensibility, greatly hindering the expansion of the interactive business. ginga is the middleware standard of terrestrial digital tv in brazil.its declarative environment ginga-ncl is the context of the interactive application,using a xml application technology as its core interactive technology. comparing and analyzing the interactive technologies adopted by the three major middleware standards,the digital televison programs interactive technologies suiting ginga-ncl environment are researched.in order to overcome the disadvantage that the java technology is inefficient and hard to extend the application in anthoring phase,the extensibility of the xml technology is adopted to modify and extend some ncl entities,as a result,it separates the media content and the synchronization relationship completely,enabling the anthoring process efficient, conveniency and extensible.in order to transferring the application with deep directory,the dsm-cc object carousel is adopted and a locating technology is designed ,making the transferring of the interactive programs data and logic constructure conveniency.the designation and realization of modules in the presentation engine manager guarantees that the ginga-ncl environment in the back end can run smoothly,and the extraction of interactive application information from object carousel is realized.many interactive programs need the function of live updating,in order to fulfill the requirement,two key technologies are adopted and developed:the dom technology is implemented to parse the ncl document,so the ncl entites can be live updated.in the other hand,based on the stream event mechanism of object carousel,defining a set of live editing command and defining a data structure “stream event descriptor” as the transferring carrier realizes that the live editing action in the front end can at the same time appears in the counterpart of the presenting program in the back end. according to the emulational tools emulating result,the space and temporal synchronization between programs media objects and the responsion of the users interactive input in the back end basically in line with the anthoring intention in the front end.the iii 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 extraction of file system and live editing commands from object carsousel is emulated using the procedure coded and the result is basically fit the target. flexibility and extensibility of this system is obvious from the process of emulating. key words: middleware, declarative environment, interactive technology, object carousel, live editing 独创性声明独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他 个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集 体, 均已在文中以明确方式标明。 本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名: 日期: 年 月 日 学位论文版权使用授权书学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有 权保留并向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和 借阅。 本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密, 在 年解密后适用本授权书。 不保密。 (请在以上方框内打“”) 学位论文作者签名: 指导教师签名: 日期: 年 月 日 日期: 年 月 日 本论文属于 1 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 1 绪绪 论论 如今数字化在各个领域都以势不可挡的趋势向前发展,以互联网和通信行业为 代表的各大产业链通过全面数字化,以前所未有的速度滋生拓展,藤蔓交错。在此 稍后,传媒领域中,占据最广大受众的广电阵营也开始集中优势资源,大举向数字 化迈进。于是,数字电视开始席卷全球。 1.1 本课题的研究背景与研究意义本课题的研究背景与研究意义 数字电视以其众多的特点被越来越多的国家和地区推广普及,人们对数字电视 的认识大部分还仅停留在高清晰度,高纠错性,高压缩率等特点上。而数字电视最 有魅力的一个方面是交互式,交互式技术可以给消费者带来一种全新的数字化体验, 用户可以足不出户享受各种服务,在线教育,社会公益,电视购物,查询资讯,在 线游戏等等。 同时,交互式技术可以拓展各种交互式业务,推动广电全方位的数字化改造。 通过拓展新的交互式业务,为用户提供丰富多彩的节目和便利快捷的服务,用户会 从中受益,并会加深对交互式的认识和对数字电视的全面接受,改变人们的生活方 式,从而更有利于拓展整条产业链,这是一个良性循环的过程。 拓展交互式业务最先面临的一个问题是,需要一个开放的软件平台,这个软件 平台就是中间件。中间件可以支持各种交互式应用,通过提供一套统一的 api 接口, 留给数字电视应用软件以及交互式业务提供商。制定一个统一的开放的中间件标准 是设备制造商,中间件提供商,第三方软件商,服务提供商都需要迫切解决的问题。 目前,国际上有三大主流数字电视中间件标准:欧洲的 mhp,美国的 dase, 日本的 arib,而这些标准在交互式方面做的并不出色,mhp 和 dase 的关键部分 是基于 java 技术的,灵活性和可适应性不够,而且结构繁杂冗余,arib 主要基于 bml 技术,嵌入 javascript 来拓展交互式应用1。 在 mhp 中,几种不同类型的程序包交织在一起成为一个混合体,其中主要的程 序包有 pjava、 davic、dvb、 javatv 和 havi 等。personal java 标准包是由 sun 公司定义的基于 pjava 1.1.8 的标准包。dvb 是由 dvb/mhp 技术委员会提供的程序 包,它主要是对 davic 程序包及一些 java 标准包的补充。在这些程序包中,有不 少存在着严重的设计缺陷。例如,相对于 davic/dvb 程序包而言,javatv 程序包 2 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 的作用并不大。javatv 程序包主要由 javatv consortium 提供,sun 系统公司掌握着 其知识产权,其内容几乎含盖所有的 davic 和 dvb 程序包,但它并没有一个明显 的资源管理模式,如果几个应用程序同时需要同一个资源时,不同的实现模型便会 有不同的结果。havi 图形包也有其缺陷,它建立在 java.awt 基础之上,可利用 awt 的 lightweight component 重建一套与 awt 一样的二维图形 widget 体系。但由于它 不能完全取代 awt,因而造成了两种图形包共存的局面。另外,dvb-html 标准 也不是很成功。在 mhp 标准的形成过程中,对 html 的定义也一直存在着激烈的 争论。 在 mhp 中存在的种种问题已为人们所认识, 它的 1.0 更正版 (1.0.1) 就提出 1000 多条修改和重建程序包的意见,而且其测试程序包也迟迟不能完成,这些都说明了 其繁杂的程度。dase 与 mhp 一样,以 java 为核心技术,也存在着以上问题。日本 的 arib 虽然以 bml 技术为名, 其实质仍然是将 java 脚本技术作为开发交互业务的 核心技术,bml 技术的提出只是为了抬高外企侵入国内市场的门槛。 ginga 是巴西最近两年才推出的地面数字电视中间件标准, 在交互式方面有很多 令人欣喜的特征,这些主要表现在它的陈述环境 ginga-ncl 中。而利用这些特性, 以及其它一些被兼容的技术,很容易开发多样化的交互式应用。但是 ginga 不限于 用在地面数字电视,其它 isdb 数字电视系统也可以应用,更重要的是,将 xml 技 术应用于数字电视领域的思想是任何数字电视系统都可借鉴学习的。 当前我国的数字电视中间件标准迟迟未能出台,在很大程度上阻碍了广电总局 推进广播电视系统数字化的进程。据有关人士透露,国家中间件标准大部分会采用 新版本的 mhp 的技术,也就是会以 java 技术为核心,另外附加 xhtml 的技术。 mhp 是欧洲多个国家定制的,其规范繁杂冗余,结构庞大,我国不能完全照搬。同 时 mhp 完全依赖于 java,不可避免地被高额的专利费所困扰,且 java 在拓展交互 式业务上有很多的不足。另一方面,xhtml 在交互式上比 java 要优越点,但仍然 比不上 xml 技术,xhtml 技术本身就是 xml 的一个低端版本,xml 技术的可扩 展性是其它技术都无法比拟的2。 通过本课题的研究,剖析 ginga-ncl 的架构与各组件工作机制,对其在整个数 字电视广播系统的各个环节中可采用的交互式技术进行分析,探索和实现,力求能 对我国数字电视中间件标准提供另一种思路,起到他山之石的作用。 注:本文中,“陈述”与“表述”同义,“交互应用”与“交互节目”同义。 3 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 1.2 技术的发展现况技术的发展现况 交互式技术的一种早期的形式是 epg (电子节目指南) ,epg 允许消费者可以在 一大堆数字频道间导航。这是一种近端的交互式,并不是一种真正意义的交互式, 因为它不需要回传通道,它的实现技术是把一些节目信息复合在传输流中,下载到 客户端接收器的存储器中,消费者查看节目指南时,会调出这些信息3。 互联网在二十世纪九十年代高速发展,增值业务大举拓展,给了数字电视运营 商一个强大的推动力去思考如何超出简单的 epg 应用。为了深入了解交互式数字电 视的潜在利益与风险,从九十年代中期开始,许多国家的有线和无线广播电视阵营 启动了一系列交互式数字电视试验。与此同时,一般性数据播发开始被许多公共电 视台考虑作为增加公共服务的方法,也被一些商业性电视台作为一种增加收入的途 径4。 在多种推动力的驱使下,数字电视的交互式技术的发展日益深入。数字电视系 统中第一个开放的标准是在 1997 年被 iso-mheg (多媒体和超媒体专家组) 定义的。 原始的详细规范提供了一种陈述的途径来构建多媒体应用,被称做 mheg-1,它应 用了 asn.1 符号来定义基于对象的多媒体应用。值得一提的是,在 1991 年,ncl 的概念性数据模型嵌入式上下文模型(ncm)被提及为一种开放式超媒体解决 方案,而在 1992 年的一个工作组织会议上,这一解决方案旋即被 mheg 标准采纳 为其复合结构。ncm 解决了嵌入结构文档的复合结构的问题,而且占有了这个解决 方案的名字(嵌入式上下文)5。 ncm 和 mheg-1 都包含有对于含程序性代码的对象的支持, 仅仅这样才可以扩 展他们的基本模型来增加“选择-决定”特性。1998 年时,mheg 由于 java 的成功, 而被赶超,于是增加了对 java 的支持来开发脚本对象,因而使得 mheg 的陈述性特 长中加入了 java 的程序性元素。虽然这个 mheg 版本(mheg-6)从来没有深入展 开研究,但它形成了 davic(数字音视频协会)交互式电视标准的基础,且 mhp (多媒体家庭平台)采纳其很多数量的 api6。 mhp 是第一个完全基于 java 的开放的中间件标准,这种从陈述性解决途径向 java 的转变, 主要是由于 java 的轻便性, 并不意味着陈述性解决途径被不予理会了。 对于许多应用,一个陈述性的范例可以很完美地解决一个问题,且远优于 java 解决 方案。事实上,因为陈述性语言提供了比 java 更高级别的抽象,它们更容易被使用, 4 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 且不需要应用开发人员有很资深的编程知识。因此,基于 java 的中间件又一点一点 地重新加入了陈述性环境。应用 html 和非 java 应用格式的插件,陈述性环境就这 样被包含在了 mhp 中。 而且,大多数的数据播发应用,特别是那些要处理同时来自广播频道和宽带回传信 道的媒体对象的应用,需要处理媒体对象的时间同步,包括用户交互的特殊情况。由于 同步可以很容易的通过使用陈述性途径解决,陈述性环境的重要性变得越来越明显。 所有如上所讨论的事实使得国际上三大主流中间件标准都采用了陈述性环境: dvb-html7,acap-x8和 bml(广播标记语言)9。最后一个来自日本的 isdb 标 准,它事实上选择了仅在其中间件中提供陈述性环境(bml) 。虽然 isdb 指定了一个 基于 gem(整体可执行 mhp)10执行性环境,但其运作指示从来没有开始。 仅管陈述性环境非常的重要,但和先前的 mheg 标准中描述规范的比较,上文提 及的三大标准的陈述性语言的应用还非常的不足。就如交互式电视标准中说的那 样: “mheg 并不是很成功,因为产业还没有准备好去实现标准中提及的特征11。 ” 1.3 技术的发展趋势技术的发展趋势 尽管当前大部分国家的数字电视中间件都遵循了 mhp 的标准,以 java 作为交 互式技术的核心技术,但 xml 技术在数字电视中的应用将会不可阻挡地向前发展。 从 mhp 新版本的演化已经可以看出这一趋势,1998 年 7 月 sun java 虚拟机技 术被加到 mhp 内核中,dvb 组织于 2000 年 5 月推出了 mhp 1.0 版本,后续不断地 对这个版本修改和拓展,2005 年推出的 mhp1.1 版本已经加入了 dvb-html 选项, 支持 xml,dom 等技术规范。在 mhp1.2 版本中则有加入了 iptv 和非界定应用的 技术规范。从这里可以看出,纯 java 技术已经越来越满足不了业务的多样化和需求 的多样化。 利用html和xml技术可以很好地解决这一问题, 虽然mhp中的html 技术和 xml 技术的应用还非常的有限6。 当前 xml 技术得到了很大的发展和广泛的应用, 更大的促进了它在数字电视领 域中的应用。xml 技术在很多领域得到了深入的应用,如电子商务,电子政务,语 音通讯, 移动嵌入式开发, 交通行业, 数据库开发等等都将 xml 技术作为主要技术。 在网络交换方面,应用层的数据交换技术的最佳选择也是 xml 技术12。 在全球三网合一的大趋势的推动下,传统的互联网,通讯网和广电网将会互相 交换数据,互相协作,组成一个统一的全功能的信息网。相应地,数字电视系统的 5 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 职能也会发生转变,由传统的传媒体向各种交互式服务体转变,数字电视终端逐渐 演化为家庭网关,甚至是家庭多媒体信息平台。xml 技术在这一演化过程中将扮演 重要的角色,它能很好的在多种网络间交换数据,很好地利用广电网络的优势资源 向数字电视终端广播交互式服务内容13。 1.4 本文的主要内容本文的主要内容 本文在深入分析了 ginga-ncl 架构的基础上, 研究了将 ncm 模型和 xml 技术 用于交互式数字电视的各种技术,在前端和后端两部分设计和实现了基于 ginga-ncl 环境的交互式服务的创作,传输和播放。全文的主要内容如下: 第一章是绪论部分,简要说明了本课题的研究背景和研究意义,分析了数字电 视交互式技术的发展现况和发展趋势,简要概括了全文的结构。 第二章是基础理论和技术部分,详细分析了 ginga-ncl 的架构与组件,以及各 组件的工作机制,对 ncm 模型,ncl 语言和 lua 语言作了简要介绍,另外还分析 并概括出了数据广播协议栈,对两种 xml 解析技术作了对比分析,研究了 ncl 对 象间的通讯技术,并对部分 ncl 实体作了扩展和修改。 第三章是交互式技术的研究与实现部分,研究并实现了基于 ginga-ncl 的数字 电视在各环节中实现交互式应用所采用的技术,包括文档的组织和创作方法,文档 的解析技术,实时编辑的设计方法。在此基础上,分前端和后端两个部分,提出了 能基本实现各环节功能的解决方法,同时提出了实时编辑的实现方案。 第四章是仿真模拟部分,用两种仿真软件分别在前端和后端进行仿真,并自编 程序模拟了实时编辑的过程,最后分析和总结了仿真模拟的结果。 第五章是全文总结部分,对主要研究工作作了简要概括,并提出了下一步需要 做的工作。 6 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 2 ginga-ncl 相关理论与技术相关理论与技术 2.1 ginga-ncl 体系结构体系结构 2.1.1 ginga 中间件产生的背景中间件产生的背景 ginga 是巴西地面数字电视系统(sbtvd)的中间件标准的名字。ginga 的字面 意思是前后来回地摇摆,它是巴西的一种舞蹈(卡泼卫勒舞)的基本动作。ginga 是 一种巴西人特有的难以定义的神秘的运动形式和态度,可以说融入进了巴西人的生 活个各个方面,就如他们走路,说话,跳舞的方式。ginga 被选择为此中间件标准的 名字是对他们的文化,艺术,以及为自由平等持续斗争的巴西人民的肯定。 ginga 是最近几年推出中间件标准, 它由一系列标准化的技术和巴西自主创新技 术开发而成,这让其成为一种满足巴西本地需求的最先进的中间件规范和最好的解 决方案。ginga 的出发点是有两条:为社会与数字化提供好的支持,以及免费的资源 共享。由于在巴西电视是家庭最普及的媒体形式,所以政府会把教育,医疗,政府 通知方面的公益服务都平移到数字电视中,让大众最方便接收。ginga 是一个开放的 规范,很容易学习,并且是免费的,使得每个人都能创作交互式内容,这会给予社 区电视和广播电视台一个大的推动力。它的应用降低了机顶盒以及其它一些接收器 的成本14。 ginga 中间件分为两个子系统 ginga-ncl 和 ginga-j,分别由巴西的两个大学研 发,其中 ginga-ncl 是由 puc-rio (pontifical catholic university of rio de janeiro)大 学研发,ginga-j 是由 ufpb (federal university of paraba)大学研发15。 2.1.2 ginga 中间件的体系结构中间件的体系结构 中间件系统是一个纯软件系统,是为交互应用提供完整应用编程接口的软件系 统。中间件技术是互动电视的核心技术及其应用开发的工具,它处于数字电视的技 术平台和互动应用之间,建立在数字电视接收设备驱动层之上,各级网络运营商只 需专心开发技术平台上的互动应用,而无需考虑技术平台和机顶盒的升级换代问题, 因而可以保证互动电视的应用开发可以做到平滑的升级。中间件系统包含一系列的 功能,如内存管理、通信管理、图形系统管理、si 数据装载、系统资源管理以及与 前端系统间的通信及控制等16。 7 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 ginga 应用根据它们的原始应用内容采用陈述性的或程序性的而分为两大类, 陈 述性应用和程序性应用。应用环境也就相应地分为陈述性环境与程序性环境,在 ginga 体系结构中分别叫做 ginga-ncl 和 ginga-j。图 2.1 显示了 ginga 中间件的体 系结构14。 图 2.1 ginga 中间件体系结构 一个应用不必是纯粹的陈述性的或程序性的,一般地,陈述性应用经常会用到 脚本内容,而脚本天生就是程序性的。除此之外,一个陈述性应用还可能会参考一 个嵌入的 java xlet。类似地,一个程序性的应用可能会参考陈述性的内容。因此, 每一种 ginga 应用都可以既利用到陈述性环境,又利用到程序性的应用环境。 ginga-ncl 是 ginga 系统的一个逻辑子系统,它用来执行 ncl 文档。其主要的 部件是陈述性内容解码引擎(ncl formatter)和它的私有数据基管理(private base manager)模块。 ginga-j 是 ginga 系统的另一个逻辑子系统, 它用来执行活动的基于 java 的对象 内容。因此,它拥有由 java 虚拟机组成的程序性内容执行引擎作为其主要部件。 ginga 共同核心(common core)支持 ginga 的陈述性应用环境,也支持其程序 性应用环境。它由普通内容解码器和某些从传输流或回传信道中提取内容的程序组 成。dsm-cc(digital storage media - command and control)被 ginga 采纳用作在 mpeg-2 ts 元素流中携带实时编辑命令。dsm-cc 对象轮播(object carousel)协议 和 dsm-cc 流事件是处理 ginga 应用的基础。 ginga 共同核心也必须支持巴西数字电视系统中定义的概念性的显示图形模块。 还有如回传信道协议定义,条件访问,更新管理器,用户界面等等模块都需要在 common core 中实现,图 2.2 显示了 common core 的模块结构。 8 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 图 2.2 common core 的模块结构 与三大主流中间件标准不同, ginga 的陈述性环境和程序性环境在 ginga 设计的 开始就共同组成了一个集成的系统。因此,ginga 不像 mhp 那样包含繁杂冗余和重 复的功能模块,也没有任何补丁,这些使得 ginga 在拥有优秀的表现的同时天生就 是轻便和高效的。 2.1.3 ginga-ncl 与主流中间件陈述环境的比较与主流中间件陈述环境的比较 三大主流数字电视系统的陈述性引擎:日本的 bml,欧洲的 dvb-html 和北 美的 acap-x 全部都用了一种基于 xhtml 的语言。 xhtml 是一种基于媒体的陈述性语言,这意味着由 xhtml 对象间(附在 xhtml 文档中的 xhtml 文档或对象) 的关系定义的结构是嵌入在文档的媒体内容 中的。因此,xhtml 可以归类为一种标记语言:一种描述一类用标记来描绘文档的 结构,轮廓和其它方面的文档的形式。 由 xhtml 链接定义的参考关系是 xhtml 陈述性语言的核心。其它空间-时间 同步关系和可选择关系(媒体适应性)都是用强制性语言(如 ecmascript)定义的, 因而就不能得益于由其它陈述性语言(如 ncl 和 smil)提供的易创作的方法。 与 html 或 xhtml 不同,ncl 拥有一种严格的媒体内容和结构之间区分,而 且它提供了一种非侵入式的表述链接和布局的控制17。 ncl 陈述性语言的针对性比 xhtml 的相应部分要更强更广。 一般的时间-空间 同步关系,是由 ncl 链接定义的;可选择性,适应性是由 ncl 开关和描述器开关 元素定义的;对多设备的支持,是由 ncl 区域定义的,这些是 ncl 描述性语言的 核心。用户的交互操作被定义为一种特殊的时间同步关系。同样的方法也在 smil 中存在,但它们被限制在表述开始之前产生的文档中。实时文档的产生在 smil 中 9 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 是不被支持的,而在 ncl 中可以实现。并且,smil 仍然限制在 web 应用中,还没 有支持广播环境中的应用。 2.1.4 ginga-ncl 主要组件与工作机制主要组件与工作机制 本文的主要研究对象是 ginga 中间件的陈述性环境 ginga-ncl。 由图 1 中所示,ginga-ncl 由如下组建组成:ncl formatter,private base manager,xml 解析器(parser) ,xhtmlcssecmascript,lua 虚拟机,dom ncl。这些组建一起完成了整个陈述性环境的功能,并向应用程序提供了 xhtml apis,lua-ncl api,dom-ncl api,ncl api 等应用程序接口。下面将分别介绍 各组建的工作机制。 ncl formatter 专门负责接收一个 ncl 文档,并控制其表述,尝试保证媒体对象 间的关系被正确表述。 它处理的 ncl 文档都是在一个叫做私有数据基 (private base) 里收集的。 ginga 将一个电视频道与一个私有数据基相关联。 在私有数据基中的 ncl 文档可以被启动,暂停,恢复,和停止,并且可以相互参照。private base manager 专门负责接收 ncl 实时编辑命令并且维持 ncl 文档的活动状态。 基于 xhtml 的用户代理,包括一个 stylesheet(css)和一个 ecmascript 脚本 解释器。ginga-ncl 中的 xhtml 可以支持 xhtml 对象,任何一种实现好了的浏 览器都可以嵌入其中,但 ginga-ncl 只允许一种脚本语言,那就是 ecmascript。 xhtmlcssecmascript 的配置组合已是业界浏览器统一的方向。 xml 解析器。xml parser 是一个软件包,提供给程序员二次开发的软件包。程 序员在使用 xml parser 解析 xml 文档时, 调用其包中提供的接口 (如函数接口等) , 从而得到解析的结果。功能比较完善的 xml parser 在解析 xml 文档的同时还能完 成有效性检验等相关任务。 lua 虚拟机。lua 虚拟机在 ginga-ncl 中用来解释执行通过 lua 编译器编译了 的 lua 字节码。ginga-ncl 一般会从内容提供方下载已经编译好了的可解释执行的 lua 字节码,直接交给 lua 虚拟机逐字节解释并执行。 dom ncl 其实是一种 xml dom, xml dom 是用于 xml 的标准对象模型和 标准编程接口,中立于平台和语言的 w3c 标准。xml dom 定义了所有 xml 元 素的对象和属性,以及访问它们的方法(接口)。换句话说:xml dom 是用于获 取、更改、添加或删除 xml 元素的标准。 10 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 由于 ncl 在内容与结构之间有一个严格的区分,故 ncl 没有自己定义任何媒 体。取而代之的是,它定义了把媒体组合在一起并粘合在多媒体表述中的方法。因 此,一个 ncl 文档只定义了媒体对象在时间和空间上是如何组建和参照的。作为一 种粘合语言,它没有限制和刻画媒体对象的内容的类型。基于此种原因,我们可以 有图像对象(gif,jpeg 等) ,视频对象(mpeg,mov 等) ,音频对象(mp3, wma 等) ,文本对象(txt,pdf 等) ,可执行对象(xlet,lua 等) ,等等作为 ncl 的媒体对象。那种媒体对象被支持取决于 ncl formatter 中嵌入了哪种媒体播放器, 事实上是由 ginga 普通核心模块提供的普通媒体播放器,如前所述。显然,其中一 个播放器是数字电视接收机的硬件体系中采用的解码器。这样,主音视频流就被认 为像其它媒体对象一样,可以用 ncl 处理14。 另一种必须被支持的 ncl 媒体对象是基于 html 的媒体对象。因此,ncl 并 没有替代而是嵌入了基于 html 的文档。就如其它媒体对象一样,支持哪种基于 html 的语言只是一个应用性选择,它取决于 ncl formatter 中嵌入了哪种 html 浏览器。因而,我们可以有 bml 浏览器,dvb-html 浏览器和 acap-x 浏览器嵌 入到 ncl 文档播放器中,甚至可以把它们全部嵌入其中。同样,可以通过从数据播 发中接收一段浏览器代码并把它们作为插件(通常是 java 插件)安装。 必须强调的是,为了支持所有的被其它数字电视标准定义的基于 xhtml 的浏 览器方法,所有的与数据播发有关的 isdtv-t 规范也必须支持这些方法,比如传输 流事件。 虽然基于 xhtml 的浏览器必须被支持, 但是在创作 ncl 文当时, 应用 xhtml 元素去定义关系必须被禁止,因为基于结构的创作思想必须被保证。 在媒体对象内容的呈现中,一些事件会被产生。这些事件可能是一段被标记的 媒体内容的表述,一个被标记的内容段被选择等等。事件可能会在其它媒体对象上 产生一些行为,比如开始或停止它们的表述等。因此,事件必须要被媒体播放器报 告给ncl formatter, 这样ncl formatter就会接着产生一些行为执行到其它播放器上。 ginga-ncl 定义了一个适配层 api 来标准化 ginga-ncl formatter 和其它一些特定播 放器之间的接口。 当任何媒体播放器,特别是一个基于 xhtml 的浏览器被集成到 ginga-ncl formatter 时,它必须支持适配层 api。对于一些媒体播放器,包括基于 xhtml 的 浏览器,一个适配模块是完成集成工作所必须的组件。 11 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 对于实时编辑,ginga-ncl 也定义了 ncl 流事件来支持在流媒体中实时产生的 事件,特别是主音视频节目。这些事件是其它一些数字电视标准中的同样概念的概 括,比如 bml 中 b-events。 2.2 ncm 模型与模型与 lua 脚本语言脚本语言 ginga-ncl 引进了几种具有活力的,轻便灵活的语言工具,包括 ncm(nested context model)模型,ncl 语言,以及 lua 脚本语言。其中,ncl 语言是以 ncm 模型为基础开发的一种粘合语言。ncl 与 lua 语言都是巴西里约热内卢天主教大学 (puc-rio)推出的。 2.2.1 ncm 模型模型 ncm 是一个处理和表述超媒体文档的概念性模型。一个超媒体概念性模型应该 同时表述数据的结构性概念和这些数据间的关系以及事件。这个模型也应该定义文 档的组织规则和数据上的操作以便更好地操纵和更新结构。 第一个 ncm 定义大部分针对于基本模型的数据结构和结构规则。 用作版本控制 的这些结构和操作是后来详细规格的主要对象,后来,先前的定义被重新审订和更 新,在基本模型操作中加入了创建,编辑和表述文档结构的操作。ncm2.2 规范也加 入了一些新的数据结构来定义时间和空间的同步关系,以及定义和表述这些同步关 系的操作18。 2.2 版本的 ncm 重新审视了原始的类层次结构,合并进了一些新的类。除此以 外,一些原始的类也被重新定义了,特别是链接类。事实上,所有的可以被示例的 模型类都被部分或全部地修订了。 本课题中采用的 ncm 模型版本是 ncm3.0。 ncm3.0 版本又对老版本的 ncm 类层次结构重新审视了一遍,链接类同样被重 新修改,事实上是完全被重新定义了,一些对文档和表述适应性的支持也被引进进 来。 在 ncm3.0 中,一个最大的改进也被采取了:为了提供可以扩展的超媒体模型, 附带一些可以逐步被合并进超媒体系统应用的新的特性,ncm 就被分为了多个部 分:一至四部分属于 ncm 本身,五至十部分属于 ncl 部分19。 第一部分:ncm 核心。关于主要模型实体,它们将出现在所有的 ncm 应用中。 12 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 第二部分:ncm 虚拟机。主要关于虚拟锚,节点和链接的定义。 第三部分:ncm 版本控制。关于可以支持版本控制的模型实体与属性。 第四部分:ncm 协作。关于支持文档协作处理的模型的实体与属性。 ncm 是基于通常概念下的节点与链接的。节点用来表述信息片段,而链接用来 定义节点间的关系20。但是,链接并不是定义关系的唯一可用的实体,下文将会指 明。 模型区分了两种基本的节点类, 称作内容节点与复合节点, 后者是 ncm 定义其 它类型关系的重点。图 2.3 显示出一个基本的类层次结构。 id name description owner date extendedproperties entit genericdescriptor content anchorlist descriptor nod bindset connector link rulelist descalternatives defaultdescriptor descriptorswitch player eventdescriptions descriptor portlist compositenode contentnode textnodeimagenodeaudionodevideonodeapplicationnodetimenodesettingnode linkset presentationcollection context rulelist nodedefault presentationcollection defaultcollection switchnode currentnode view trail descriptorset publichyperbase linkset descriptorset privatebase 图 2.3 ncm 模型的类层次结构 每个 ncm 实体都有一个属性:一个唯一的 id,一个 name,一个 description, 一个创建日期,一个 owner。除了这些基本的属性集,一个 ncm 实体可以拥有一个 扩展的属性列表,以便可以允许除了通过类继承之外的扩展方法。在 ncm 中,大多 数属性被称为 properties 并且需要被封装在 ncm property 类中。 其中的原因是, ncm 预见到需要对如下功能作出支持:维持每个实体特性,访问权限信息,最后一个修 改其值的用户,更改日期,值的改变是否意味着实体版本的更新等等。换句话说, ncm 预先给出了一个很细致的控制,在实现信息安全和版本控制时,让一些属性去 13 华华 中 科中 科 技技 大 学 硕 士 学 位 论大 学 硕 士 学 位 论 文文 维护另一些属性。不过,系统并不会导入所有的可能用来将类域模块化成传统属性 的 ncm 功能,代替用属性封装器。 在方法集中,实体必须为每个基本属性提供一些特定的 getter 和 setter 方法,比 如 getid,setid,getname,setname 等等。同时也要提供一些增加和删除扩展属性和 提取与设置扩展属性值的方法21。 2.2.2 ncl 语言与语言与 lua 脚本语言脚本语言 ginga-ncl 中的 ncl 版本是 ncl3.0。 ncl 是一种 xml 的应用语言,是一种粘合语言,是巴西里约热内卢天主教大 学(puc-rio)推出的。ncl 的第一版是通过一个 xml dtd(document type definition)详细定义的。ncl 的第二版叫作 ncl2.0,是通过应用 xml schema 详 细定义的。从 2.0 版本后,ncl 以一种模块化的方式定义,并允许在其语言概图种 合并它的某些模块22。 ncl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 会议活动管理制度
- 会议闭环管理制度
- 传统气道管理制度
- 桂林生命与健康职业技术学院《医学微生物学基础与进展》2023-2024学年第二学期期末试卷
- 大连航运职业技术学院《热力涡轮机械原理》2023-2024学年第二学期期末试卷
- 体育科普管理制度
- 作业课堂管理制度
- 佣金奖金管理制度
- 供应链公司管理制度
- 供气供热管理制度
- 四川省绵阳市2021年中考生物考试真题与答案解析
- 世界史阶段特征课件
- 山东开放大学公共部门人力资源管理期末复习题
- 《园林植物识别与应用》项目七:综合课业题库及答案
- 人民医院肿瘤科临床技术操作规范2023版
- 物业承接查验办法培训
- 《大数据财务分析-基于Python》课后习题答案
- 动物病理(学)理论知识考核试题题库及答案
- 管理人员信息表-模板
- 人工挖孔桩 安全技术交底
- (新版)供电可靠性理论考试题库大全-下(填空题)
评论
0/150
提交评论