CSDN博客

img tsinge

未来电视—JAVA电视技术

发表于2001/3/25 3:47:00  707人阅读

 

未来电视JAVA电视技术

Java 电视 TM 技术被平衡到重定义我们的关于看电视的观点.我们可能不久与朋友一起正在玩,通过点击伏特浏览器查找的一个广告在外面用什么颜色是适宜本地交易者,在玩一个游戏期间查询最近的美国军队的静止坦克自动目标系统,而这些只需简单的使用遥控器。在观看摩托比赛的时候,我们可以通过控制照相机,切换来自轨道旁,到正面看台,然后切换到来自一架直升飞机的俯视画面,并且最后剪接到来自以时速200/时行驶司机的视角的画面.

这篇文章探索使用Java虚拟机( JVM )技术的数字电视接收装置的基本的硬件和软件环境.另外, Java 电视 API 的定义和用法的情况被检验.Java应用软件设计了是运行在数字接收装置( Xlets )之上,屏蔽具体细节,的状态机图表和功能的流程实例 .

Java 电视的首席工程师大卫·里瓦斯说,“我们期望有最终的Java电视1.0 API 规范,并且在今年年底推出测试系列产品.因此开发者应该对在那个点的定位准备好了.

这些未来应用软件将推动4个主要领域的技术.

  • 电子程序指南( EPGs )将是新数字设备的标准.当频道和内容疯狂地增殖,软件应用将推动范畴或关键字的研究,并且允许提示被适合于看喜爱的表演拍的或一卷喜爱的展示 .他们也将强调专门的编程,像提供 pay-per-视图,和城市委员会的地区性的内容会议.
  • 提高视频广播将提供观众大的灵活性如向他们提供视频,音频和文章等内容.多重的数据流将被由java应用软件集成由此设计了操作的宽带数据格式,多窗口和动画的设计.半透明的显示将被用在传送命令和当前附加的视频流之上.
  • 交互视频将可能打开一个全新的世界.用户控制的多媒体照相机使与向后频道与头结束服务器一起交流成为可能.使用这种技术也可实现电子商务.程序关联的聊天室是另外一种可能性.WEB存取将能被无缝地连接到电视内容表述.内容相关的网络站点是一项这技术的明显使用.但是到目前为止这种整合也将是难以想象的.
  • 需求视频是非常重要的.这技术将需要重大的升级到服务器和客户端通信基础结构. Java 技术尤其适合这些任务.事实上,香港电信(IMS)已经正在运作一项基于Java 技术的交互式电视系统,意在向80,000订户提供需求视频节目,家庭银行,家庭购物,和赛马信息.

Java技术应用在数字电视里面是最明显的优势,是应用软件开发者不需要担心硬件环境的变化.Java的信任意味着应用软件将能被运行在任何地方,只要JVM被安装. Java技术典型地包括的接收装置是组成 Java 2 Micro ( J2ME )的应用软件环境和Java电视应用程序接口. J2ME环境组成了Java虚拟机和一个优化版本的类库.

Java电视API和应用程序环境将被典型地应用在实时操作系统(RTOS). 程序员们给Java电视API和应用程序环境APIs写代码. 这将允许应用软件独立于内在的硬件,RTOS,设备细节的软件环境.

硬件环境

一台典型的数字电视的广播信道的元素,如下列举:

  1. 收音机频率( RF )电视频道通常被调谐模块提取生成MPEG2运输流.
  2. 可变的数据信号从恒定的载波信号被解调器分开来. 最后结果通常是音频,视频和数据输出.
  3. 视频和音频流有条件地被通过一个分系统, 这决定存取权限并且可以解密数据.
  4. 解码的音频流和视频流被送到一解码器, 这把他们转化为适合于视频和音频输出设备的信号.
  5. 一个向后频道是可能或不能出现的. 如果它存在, 数据将被播送到终端服务器, 促进交互式应用,例如交互的视频,电子商务等等.

典型的数字电视广播信道

软件环境

数字接收装置上软件环境通常由下列元素组成:

应用软件能使用Java电视API和来自在Java平台层的包, 这种情况下的Java平台将是典型的J2ME ,它被一个小的存储器标记表示.

Java应用程序在运行时刻在应用环境的虚拟机(VM)上被执行. Java电视API把电视控制细节抽象为数字广播信道.

实时操作系统(RTOS)提供实现虚拟机(VM)和Java 所需的系统级支持. 而且,实时操作系统和相关设备的库通过收集设备驱动从而控制数字广播信道.

往返频道和非广播通道

java.net 提供稳定,容易测试的连通网络接口的环境,提供HTTP连接的通道,和URLs解析,和包java.io相关联, 这个包提供所需的存取,管理IP返回频道或对MPEG通道抽象存取的IP.

java.net实现的电视接收装置被期望用于各式各样的物理的接口之上,包括各种电缆线调制解调器,以太网,和电话调制解调器.

服务和服务信息定义

服务器一个容器的子部件, 例如音频和视频流. 他们为了适合于同步目的能作为一个实体控制了. 一个服务器不需要有音频和视频, 然而, 作为可能在家庭银行被遇见的用户和没有音频和视频的应用程序交互.每个服务器有服务信息(SI)与它联系, 并且每个服务器必须使服务信息对接收者有效.一个SI条目是一种服务的定义的属性之一.

服务组件--一个媒体组件如视频流,音频流,一个Java应用程序 ,或其它不需要额外描述的数据类型. 一个服务器将包含一个或更多服务部件,并且一服务组件可以被更多的服务分享.

服务信息 --大多数数字电视系统通过网络指定一个方法查询像电视指南. 这包括内容的描述和计划数据.  雷达频率实际上也被要求接收服务. 另外,一些数字系统可以有多重的视频传送在同样的频率槽. 在这种情况下,也是包括多路复用器信息也被要求扩展到多种视频流. 元信息, 例如成熟级别. 额外的参与者列表和其他数据可以被包括作为元信息.

服务定位器 --有点像URL, 服务定位器是实际上在通道中被接受的所需的信息. 这些信息将典型地由一个 收发机地址和复用器信息组成. ServiceContext类的select()方法容易实现这操作.

导航视图

导航视图描述了2种类型的功能:

  • 存取最小的数据要求导航, 被定义为选择性服务或请求更多信息. 这个数据包括收发机频率,程序名和可能的复用器信息.
  • 机械装置(SIManager下面)到成组服务对象的收集基于了多方面的标准.

SIManager是初始的基于SI数据库的存取点。 它能集成服务的对象叫做ServiceCollection, 基于了由ServiceFilter对象描述的服务器标准当使用getServiceCollection.集成能通过通到号或通道名用于排序, 并且通过服务器导航。 基类ServiceFilter可以被用于生成默认集合(非过滤标准), 它代表所知道的所有在接收器上的(已安装)服务器.

服务器对象包含最小的所需信息的导航(定位器,频道命名和号码). 其余关于服务器的信息被包含在ServiceDescription对象中。 ServiceDescription对象也提供一些有条件地经由CAIdentification 接口存取(C/A)相联系的信息.

Java 电视 API 范畴

Java 电视 API 被划分成若干API组:

  • 服务和选定的APIs
  • 广播信道APIs JMF
  • 广播数据 APIs
  • 应用程序生命周期 APIs ( Xlet )

广播信道 APIs Java媒体框架

Java电视 API使用 Java媒体框架(JMF) APIs用于管理广播媒体信道. JMF APIs提供一个用于显示基于时间的独立于内在的运输协议和媒体内容类型的媒体的框架.

JMF 定义了javax.media.Player , 它扩大了MediaHandler, 基于时间的数据. 一个播放器对象包含基于时间的媒体流所需要的机器. 播放器对象也提供对描述工具的控制, 例如音量和视频图像控制.一个GUI组件对象包括可被播放器捕获的流的视频部分,他很容易被集成和放置到剩余的描述. JMF用类javax.media.Player 的一个对象控制播媒体数据的回放. 2个不同的部件可以创造这:

  • 协议处理器
  • 媒体处理器

一个协议处理器是一个数据源,并且一个媒体处理器是数据的一个使用者. 一个协议由用于数据传送装置来定义. 例如, 分开的协议处理器需要在IP连接上的HTTP传送,而MPEG-2的传送交付来自电报调谐. JMF定义的抽象类 javax.media.protocol.DataSource把他作为所有的协议处理器的基类. JMF为所有的内容处理器定义了javax.media.MediaHandler接口.

应用程序管理需求

Xlet应用程序的生命周期表述了通过客户端可直接运行在Xlet上的控制的数量,例如一应用程序管理器.应用程序管理器控制Xlets不包括给Xlet在接收装置存取其他数据源, 例如图形或共享的资源 分配/管理.应用程序管理器的设计不是必须使用Java技术构造; 应用程序管理器不需要完全用Java编程语言写.

Xlet应用程序生命周期模型要求常驻应用程序管理器遵守下列原则:Xlet能在任何时候被破坏.
在数字电视接收装置上的应用程序管理器能通过命令破坏一个Xlet. Xlet的状态趋势总是能被知道.
Xlets
也能改变他们自己的状态, 但是他们必须给这些改变作记号以回到应用程序管理器. 应用程序管理器能改变Xlet的状态.
应用程序管理器的主要目的是判断Xlet应该在的状态. 应用程序管理器将知道是否Xlet改变了的状态.
Xlet应用程序周期API的一个要求就是Xlet能改变它的状态并且必须标记出这个状态的改变. 它需要向应用程序管理器通报这个状态的改变. 事实上, 这必须是一个双向的频道通讯, 因为应用程序管理器和 Xlet能影响状态改变.

股票接收机 Xlet实例

一个简单的Xlet生命周期的实例是使用向后频道检索股票行情的一个股票接收机,它显示在观众的电视机之上.

  1. 应用程序管理器用于检索Xlet代码.
  2. 应用程序管理器创造一个例子XletContext对象并为新Xlet初始化.
  3. 应用程序管理器使用initXlet()方法初始化它的Xlet并且传递给它上下文对象.
  4. Xlet 使用XletContext对象初始化自己并且进入暂停的状态.
  5. 用户在电视遥控器上铵一个按钮意味着应用程序管理器启动Xlet.
  6. 应用程序管理器为Xlet调用startXlet()方法. 应用程序管理器假设Xlet正在执行它的服务. 通过收到这个信号,Xlet创建一个打开向后频道用于检索股票行情的新线程. Xlet现在将处于激活的状态. Xlet开始到显示股票行情.
  7. 由于在Xlet的控制以外的情形,它将不再能检索已更新的股票行情.
  8. Xlet 决定继续显示它有的最近的他所有的行情. 注意应用程序仍然处于激活的状态. 在一时间以后,Xlet仍然无法打开向后频道. 这决定它那正在显示的行情太旧,不能再执行它的服务. 它将选择使自己停止激活状态. 它会在XletContext对象上调用 paused()方法以标识应用程序管理器的这一改变 .
  9. 最后, Xlet认定它不再会有机会执行它的服务, 因此它决定它应该被终止。 于是它调用在XletContext对象上的destroyed()方法以标识它进入了破坏的状态,Xlet最终被清除.
  10. 应用程序管理器准备Xlet碎片收集 .

结论

Java电视 API向硬件制造商,网络操作员和内容供应商提供一个强有力的并且统一的工具箱以开发用于数字电视接收装置之上的应用软件.

一个标准数字电视平台的创造( J2ME+Java电视 API )将为应用开发者和内容设计者拓宽机会. 他们将能开发一系列产品, 使得在各种网络上成为可能的数字电视接收器把他们分散到Java技术的很广的范围中. 硬件制造商将得益于Java应用软件所提供的可伸缩性和可重用性.

数字电视的演变将在根本上转变并且重新定义电视经验. 就像Web的出现,一些演变的细节将变得不可预见. 它无疑将像一次野行.

 

译者:tsinge

阅读全文
0 0

相关文章推荐

img
取 消
img