多媒体应用平台

发布时间: 2022-06-14 10:23:37
        ITU-TFG IPTV于2007年底结束,随后,ITU-TSG16组新设立了一个“Question(问题):IPTV多媒体应用平台和终端系统”。目前国际上已有的多媒体应用平台标准多种多样,基本上分为定义性多媒体应用平台标准(Standards for Declarative Application Platforms)和程序性多媒体应用平台标准(Standards for Procedural Application Platforms)„定义性多媒体应用平台是一个框架,在这个框架上用标记语言(如HTML),有或者没有脚本语言(如ECMAScript)编写的应用都可以运行,著名的标准协议包括场景的二进制格式(BIFS)、广播标记语言(BML)、消费电子协会-2014(CEA-2014)、层叠式样式表(CSS)、文档对象模型(DOM)、数字视频广播超文本标记语言(DVB-HTML),欧洲计算机制造商协会脚本(ECMAScript)、多媒体和超媒体编码专家组(MHEG-5)等。程序性应用平台是一个框架,在这个框架中用API(基于程序语言,比如Java)编写的应用能够运行。著名的标准协议包括多媒体家庭平台(MHP)、MPEG多媒体中间件(M3W)、先进的通用应用平台(ACAP)、开放的电缆应用平台(OCAP)功能各不相同。下面重点介绍多媒体家庭平台(MHP)。
       MHP(Multimedia Home Platform)是伴随着DVB项目诞生的。2006年8月ETSI发布了TS102812VI.3.2,该文档给出了MHP基本架构,MHP应用和MHP系统之间的接口以及“Plug-in”、传输协议、内容格式、DVBHTML、应用模型(包括广播MHP应用、DVBJ模型、DV&HTML模型)、应用信令、DVfrJ平台、安全、图形参考模型、系统集成等,并且给出了外部的参考应用,如Java应用环境APKJAE1.1.8API)Java语言规范(Java Language Spec.)Java媒体播放器规范(Java Media Player Specification)、Java虚拟机(JavaVM)Java电视(JavaTV),DAVIC1.4.1P9.HAVIJSO/IEC13818-6JAE1.1.8const等。

1.MHP基本构架

      MHP中间件的体系架构如图5-5所示,它包括3层:资源层、系统软件层和应用层。
 DVB~MHP基本架构
图5-5   DVB~MHP基本架构
       (1) 应用层(Applications):包括相互作用共同运行的Java应用和库,这些应用只能通过MHP的API访问资源层。
       (2) 系统软件层(SystemSoftware):包括MHPAPI、应用管理器(ApplicationManager,即浏览器)和Java虚拟机。该层将应用与硬件资源进行了隔离,构成了一个抽象的资源层,并将它提供给应用层。Java虚拟机为交互应用在不同的硬件和操作系统上的运行提供了标准接口。MHP标准没有给出实现这一层的方法,而把实现细节问题留给了机顶盒厂商和中间件厂商。在这一层中有两点需重点关注:一是应用管理器,它负责管理所有应用的生命周期;二是插件,它为那些不被MHP支持的应用或内容格式提供解释,使之也能在MHP机顶盒上运行。
       (3) 资源层(Resources):包括机顶盒的硬件(MPEG解码、输入/输岀设备、广播与交换信道物理接口、CPU、内存、图形显示等)、驱动程序和操作系统等,交互应用通过调用这些资源得以实现,MHP标准并没有规定如何实现这些硬件/软件资源。
       MHP应用和MHP系统间的接口如图5-6所示,此图及图中每个模块的详细描述参见ETSITS101812V1.3.2标准。应用使用API读取接收端的实际资源,包括:数据库、媒体解码器发出的流、静态内容解码器和应用。这些资源是接收端的功能性实体,可以某种方式最终映射到接收端的硬件上。图5-6显示了增强的广播或者交互电视框架系统的一个特定实例、可选部件以及在MHP系统内相关实体与媒体和信息流之间的接口和关系,各实体详细功能参见相关标准文档。MHP主要应用包括:DVB-HTML和DVB-Java应用。
MHP应用和MHP系统之间的接口
图5-6    MHP应用和MHP系统之间的接口

2.MHP标准(TS101812)的基本内容

      (1) MHP系统基本结构。
      (2) 传输协议(DSM-CCObjectCarouse[、DVBObjectCarousel和IP等)。
      (3) 内容格式。
      ①图形格式:PNG、GIF、JPEG、MPEG-2I帧或P帧、MPEG-1/2音频、DVB字幕、UTF-8O
      ② 码流格式:MPEG-2I视频、MPEG-1/2音频、DVB字幕、DVB图文电视、驻留字符、下载字符、HTML和XML。
      (4) DVB-HTMLCHTML4.0、ECMAScript、CSS2和DOM2)。
      (5) 应用模式和信号机制。
      (6) DVB-J平台(DVBAPIJavaAPIJavaTV)。
      (7) 安全加密。
      (8) 层次定义。
      (9) 互联网访问。

3. MHP支持的基本交互应用

       MHP支持的基本交互应用包括电子节目指南、安全可靠的电子商务/交易/家庭银行、互联网访问、教育、信息服务(新闻、股市行情、天气和交通信息)、电视互动游戏等。根据MHP的应用范围不同,可以把MHP的应用分为三个框架(Profile)。
       (1) Profile1:增强广播(EnhancedBroadcasting),由ETSITS101812CMHP1.0)规定。该框架的应用不需要回传信道,它通过广播信道下载应用,在本地与视音频实现交互,这是一种伪交互。
       (2) Profile2:交互广播(InteractiveBroadcasting),由ETSITS101812(MHP1.0)规定。该框架是增强广播的超集,它的应用可以通过双向的回传信道(CableModem,ADSL和Telephone)来实现,能实现真正的交互。
       (3) Profile3:互联网访问(InternetAccess),由ETSITS102812(MHP1.1)规定。该框架是交互广播的超集,它提供了互联网服务(E-maiKWeb浏览和Chat等)。在Proflie3中增加了对基于DVB-HTML格式应用的描述。
       上面3个框架中,前面两个框架的功能相差不大。从技术上来说,上述3个框架的应用基于两种模式:基于DVB-HTML的应用和基于Java的应用。基于DVB-HTML的应用包括Profile3;基于Java的应用包括Profile1和Profile2o下面简单介绍这两种模式。

4. DVB-HTML应用

       一个DVB-HTML应用定义为一套文档,它是从DVB-HTML家族中挑选出来的元素和内容格式。它的范围由应用边界(applicationboundary)描述,如图5-7所示。
图5-7   角色(Actors)和应用(application)之间的关系
        一个用户代理(UserAgent)是一个应用,负责解释内容的格式(就是DVB-HTML文档),也可以解释为一个插件(Plug-in)。
        一个DVB-HTML角色(DVB-HTML Actor)定义为特定的本地的活动或过程,包括运行DVB-HTML应用(DVB-HTML Application)以及任何实例化的数据时的一套特定的DVB-HTML文档。角色运行在用户代理(本地的,插件或者下载的)的内部。过程的性质没有明确的定义,因为它依赖于用户代理本身的性质。可以有多个这种本地的活动或过程出现在任何给定的用户代理中。对每一个运行的DVB-HTML应用,只有一个DVB-HT-ML角色,每个DVB-HTML应用可以由多个文档组成,其中的几个可以同时出现。
       应用边界定义了DVB-HTML应用的范围。任何在应用边界范围外的内容文档都被认为不是DVB-HTML应用的一部分,对DVB-HTML应用来说是不可用的。MHP终端可以包含一个实施机制,允许终端用户直接读取边界外的资源,但是在最初的DVB~HTML应用中不会这样。DVB-HTML应用合理的范围可以很大,出现问题时,也不全是MHP终端的原因。部分原因可能是广播,也可能是局部存储器,或者可能是万维网。为此,对范围定义了规范的、紧凑的格式。由DVB-HTML应用组成的一套文档用这个规范的、带有位置语言的表示来定义,广义上来说,一个定位器由文本串组成(RFC2396),并且将应用紧密结合在一起:
        scheme://host/dirl/dirn/file#subref
        一个规范的表示定义了一套样式,比如:
        https://www\.(dvbIetsi)\.org/[a-z0-9/]+\.html
        可以匹配www.dvb.org或者www.etsi.org上的任何文件的逻辑位置,并且可以用http或者https来读取(当然,DVB-HTML文件的名字应以“htm”或者“.html”结尾)。
        图5-8给出了DVB-HTML应用(DVB-HTML Applications)与DVB-J应用(DVB-JApplications)之间的关系。两者可以混合应用(Hybrid Applications),并且都是基于底层的平台资源(Platform Resources)o由于DVB-HTML是一个呈现格式,它为通过对MHPAPI访问终端资源以执行Java提供了一个很好的互补环境。DVB-HTML可以采用文档对象模型(Document Object Model,DOM)平台,并且有ECMAScript(欧洲计算机制造商协会脚本)、CSS(层叠样式表单DVB-HTML翻译器(interpreters).内容提供商可以将Xlet应用程序嵌入到DVB-HTML文档,通过Java桥(Bridge)来访问DVB-J。

5. DVB-J应用

       DVB-J平台包括:Java虚拟机、基本的DVB-JAPI、呈现API、读取数据API、业务信息和选择API、公共架构API、安全、其他APIJava许可、内容参考、一般的问题等。MHP1.0和MHP1.1采用特定的DVB个人Java子集,而MHP1.1.2采用基于J2ME的PBPVI.1。DVB-J平台包括如下的内容和API类:(注:标有星号*的API是MHP1.1.x规范定义,其他在1.0.x规范定义。)

       (1) 基本的DVB-JAPI

       •  Java平台API;
       •  MHP平台API。

       (2) 呈现API

       ① 图形用户界面接口(GUI)API
       •  核心GUIAPI;
       • TV用户接口;
       •  扩展图形API;
       •  输入事件的处理;
       •  字体捆绑。
      ② 流媒体API
       •  方案框架;
       •  澄清;
       •  默认的媒体播放行为;
       •  必须的视频drips控制;
       •  对框架的扩展(包括:DVB特定的扩展、org.davic的扩展、javax.tv的扩展、对广播框架必需的控制和澄清);
       •  对广播框架的限制;
       •  媒体选择控制、字幕语言控制和音频语言控制间的交集(Intersection Between Me-diaSelectControl and SubtitlingLanguageControl/AudioLanguageControl);
       • 流媒体API与电视用户接口API的交集(IntersectionbetweenStreamedMediaAPIandTVUserInterfaceAPI),包括基本原则、TV行为控制、应用行为控制、动态行为和资源管理细节。

      (3) 数据访问API

      ① 广播传送协议访问API
      •  对广播carousels方法中的java.io.File的限制;
      •  处理写访问的方法;
      •  广播carousels丢失后的行为。
     ② 在广播信道上支持IP组播。
     ③ 在回传信道中支持IPo
     ④ 对MPEG-2应用进行过滤的API。
     ⑤ 中间层通信API。
     ⑥ Persistent储存API。
     ⑦ 对储存卡的访问(*)。

   (4) 业务信息与选择API

     •  DVB业务信息API;
     •  业务选择API;
     •  调谐API;
     • 条件接收(CA)API;
     • 与协议无关的SIAPI。

   (5) 公共架构API

     •  支持DVB-J应用生命周期的API(包括Xlet属性,在方法解除之前对DVB-J应用釆取的行动);
     •  应用发现和启动API;
     •  应用间通信的API;
     •  基本的MPEG概念;
     •  资源通知;
     •  内容参照;
     •  公共出错报告;
     •  插件API(*)。

(6) 安全

     •  基本安全(包括java,securityJava,security,cert和其他类);
     •  回传信道安全的API;
     •  附加许可类;
     •  一般的安全问题;
     •  密码APK*);
     •  用于DVB扩展的密码(*)。

(7) 其他API

     •  对定时的支持;
     •  用户设置和参数选择API;
     •  框架(Profile)与版本属性;
     •  非CA用户卡APK*);
     •  对XML分析的API(*)。

(8) Java许可

     包括对没有指定的应用的许可和对没有指定的应用的附加许可。

(9) 内容参考

      包括传输流、网络、群、DVB事件.MPEG基本流、文件、目录、Dripfeed解码器、无关项、应用于'多种定位器上的方法、DVB_J中支持HTTP协议。

(10) 独立的应用(*)

     ① 公共的行为(*)。
     ② 业务的储存(*):
     •  应用储存API(*);
     •  对MHP1.0API行为的修改(*)。

 (11) 对DVB-HTML的支持(*)

     ① 文档目标模型APIs(*)。
     ② 框架(*):
     • DVB定义的扩展(*);
     •  对DOM的只读访问(*)。
    ③ 在DVB-HTML页面中嵌入Xlet(*)。

  (12)互联网访问(*)

      ① 对互联网客户端的控制APK*)o
      ② 对互联网Applet程序的支持(*):
       • HTML标签(*);
       • Java平台(*)o

6. MHP存在的问题

       DVB/MHP标准在制定的过程中,采用了多个技术组的内容,使得MHP标准是一个结构复杂、无所不包的大系统。其各个程序包之间并不和谐,系统的实现极为复杂,有时令软件开发人员无所适从。DVB/MHP主要存在以下几方面的问题:
     (1)DVB/MHP的主要程序包有pJava、DAVIC、DVB、JavaTV、HAVI等,它们交织在一起,使得实现的难度大大增加,增加了产品的成本,其中不少程序包存在严重的设计缺陷,如对event的处理等程序包;再如ObjectCarousel,这一协议是CORBA在数据广播方面的应用。作为数据下载标准协议,它所表现的目标概念在实际用途中并不大,这一协议最早应用于英国数字地面组DTG,应用于地面广播中,不适合应用在MHP的情况。
     (2)JavaTV程序包主要由JavaTVConsortium提供,其内容几乎涵盖所有的DAVIC和DVB程序包,DAVIC/DVB程序包显得有些多余。JavaTV并没有一个明显的资源管理模式,因此,几个应用程序如果同时需要同一个资源时,不同的实现模型便会有不同的结果。另外,HAVI图形包建立在java,awt基础之上,利用AWT的轻量级元素重建一套与AWT一样的二维图形体系,本来通过简化AWT就可以满足数字电视的要求,但现在在MHP中加入了HAVL由于它不能完全取代AWT,因此造成了两种图形包共存的局面。
    (3)DVB-HTML标准存在争议。由于电视机屏幕的低分辨率和隔行扫描的特性,使得基于HTML网页的显示比较困难。

7. 欧洲交互数字电视采用的标准

       多媒体应用平台标准目前被广泛应用在各种多媒体系统、交互数字电视上。ITU-T给出了一个"Worldwide commoncore-Application environment for digital interactive television services"„这个为数字交互电视业务而规定的一个应用环境-通用公共核在ITU-TRec.J.200中定义。J.200的标题是:基于线缆网络和传输的电视,声音节目和其他多媒体信号一数字交互电视应用(SERIESJ;CABLE NETWORKS AND TRANSMISSION OF TELEVISION,SOUND PROGRAMME AND OTHER MULTIMEDIA SIGNALS_Appli-cation for Interactive Digital Television)。

(1) 交互数字电视的基本架构

       数字交互式TV的中间件和API架构包括两个成分:执行引擎(ExecutionEngine)和表现引擎(Presentation Engine)o这两个部分并不完全独立,它们通过桥元素(BridgeElements)进行通信,并且有应用生命周期监控(App.Lifecycle Monitor)„除了这两个基本的成分外,还有其他的本地应用(或特定业务软件和内容),比如网络条件接入(NetworkCA)、业务信息(Service Information)、图形用户界面呈现(GUI Presentation),广播事件和数据(Broadcast Events&Data),数字视频(DigitalVideo比如MPEG)以及其他媒体等(OtherMedia);下层是操作系统(Operating System),底层是硬件(Hardware),如图5-9所示。
应用环境系统架构
图5-9  应用环境系统架构
      ① 表现引擎/执行引擎可根据不同规范而变化,在有些情况其中一个是可选的。
      ② 桥元素。该机制允许在JavaAPI和D()M,ECMAScript对象和方法间做双向映射。
      ③ 应用生命周期监控。这是一个控制软件,在不同的方面有不同的表达。它的一般功能是在整个应用生命周期中对应用进行管理,包括初始化、终结和控制。
     ④ 应用。这些应用可以是基于表现/执行,或者两者。
     ⑤ 用户交互。这是一个输入层,给遥控器、键盘或其他控制器输入。
     ⑥ 其他媒体。包括音频和数据媒体流或者静态图片和文字。
     ⑦ 本地软件。指传统软件或在特定的应用环境下用特定的API或功能编写的软件。

(2) 执行引擎

       执行引擎的结构如图5-10所示。底层是基本Java功能实体(BasicJava Functionality),±面是媒体的呈现功能(Presentation function for media),在媒体呈现之上,有两种形式的广播扩展(Extension for Broadcasting),—种形式是JavaTVAPI,另一种形式是DAVIC(数字视音频委员会-Digital Audio Video Council)API;对于视音频控制的用户界面(GUI for AV control),由HAVi(家庭音频视频交互技术,HomeAudio/Video Interoperability)API来生成;最上层是业务信息的读取,以及对网络协议API的处理。
       执行引擎所支持的一些关键的标准如下:
       ① 个人Java应用环境(Personal Java Application Environment)
       这些API是Sun Microsystems提供的java.*package„个人Java应用环境主要是指可连接网络的消费类电子设备的Java应用环境(JAE),主要用于家庭、办公室和移动性应用及产品的设计与实现。适合于这种应用环境的消费类电子设备包括手持移动设备(PDA和HPC等)、数字机顶盒和游戏操作台等。个人Java平台主要包括Java虚拟机(JVM)、必要的Java类、国际化(118N)支持和面向消费类产品的AWT。其中Java虚拟机包括字节码解码器、字节码校验器、类加载器和垃圾收集机,支持Unicode文本、32位和64位整数、多维数组、浮点数、线程和异常处理,同时还支持Java Beans、Java Applet和数字签名;在必要的Java类中,包括输入/输出、语言支持和使用工具类;国际化(118N)支持指的是产品在本地整体的包装,以便支持开发者所选择的语言,从而保证空间和存储器的有效利用;面向消费类产品的AWT版本提供图形和窗口显示特征,支持低分辨率的显示和可选择的输入设备,甚至可以扩展到没有标准鼠标和键盘设备。
     
图5-10执行引擎的结构
       ② JavaTV
       这些API是Sun Microsystems提供的javax.tv.*packages。JavaTVAPI是基于Personal Java应用环境的应用程序接口,是Java平台面向MHP终端的扩展,它提供了对MHP终端特有功能的控制,包括对业务信息数据库的访问、业务选择、TV上的媒体播放器控制等。JavaTVAPI针对终端媒体及接收器功能,不包括其他电子设备共有的API。由于JavaTVAPI是独立于硬件和物理线缆传输协议的更抽象的高层协议,因此也可以在一些现存的标准中使用。此外,MHP终端中各种应用的生命周期由JavaTVAPI的Xlet应用模型定义。Xlet运行时可以进行资源的申请和释放,显示内容的存取,发现和选择业务。
       Java TV API支持以下几种基本访问格式访问广播数据:DSM-CC对象和数据轮,这是对java,io的扩展。JavaTVAPI通过java,io中的文件访问机制支持对DSM-CC对象轮和数据轮的访问。与DSM-CC协议的交互基本上是由JavaTVAPI完成的,非常便于移植。IP数据报封装是java,net的扩展。如果底层支持JavaTVAPI可通过java,net包中的传统数据报机制提供对封装在广播流中的IP包的访问。PES格式的流数据是javax.media protocol的扩展。
       在MHP终端的JavaTVAPI中,由于底层的透明性,各种格式的SI可以适用于所有的应用。业务发现和选择(SD&S)在第4章中有比较详细的介绍。业务选择中的业务信息SI存放于SI库中。SI库对象模型提供了多种可供选择的视图库,MHP的视图应用仅涉及SI库的一部分。SI库的视图包括工具、导航、指南和传输。工具视图提供对一般对象和辅助对象(事件和异常等)实例化的手段;导航视图提供的对象用于业务导航;指南视图表达与EPG相关的对象。业务选择API支持应用以简单的方式控制业务的呈现,而不需了解业务的内部细节,它将多个烦琐的操作封装在简单的方法调用中。业务呈现环境用ServiceContext来表达,其中的选择方法可以用来呈现一个业务,该选择是异步的,通过事件来完成操作,失败时报异常。终端可以对ServiceContext类实例数目进行限制。
       ③ Java媒体框架(Java Media Framework,JMF)
       这些API是Sun Microsystems提供的javax.media.*packages。JavaTVAPI利用JMF管理广播媒体管道。JavaTVAPI定义了一系列的API和框架,用来显示基于时间*、独立传输机制、传输协议和媒体类型的媒体流。JMF通过定义javax、media、Player来处理基于时间的媒体数据。一个Player对象封装一个状态机,可以用来获取资源和管理媒体流的呈现。通过Player对象,还可以访问以GUI对象形式包装的视频流。
       ④ DAVIC1.41第9部分规范(DAVIC1.41Specificationpart9)
       这个API是DAVIC提供的org.davic.*package。
       ⑤ HAVi第2层用户接口(HAViLevel2UserInterface)
       这个API是HAVi提供的org.havi.ui以及java,awt子集。

(3) 表现引擎

        图5-11给岀了表现引擎的结构及其各要素。引擎的底层是接收器功能(ReceiverFunctionality)、数字视频(DigitalVideo),或者单媒体(Monomedia)和网络(Network),上层是用户代理(UserAgent),比如浏览器,用户代理的上层是TV扩展(Extensions)以及可选的XML解析器(Parser),上面是各种多媒体应用平台,比如CSS.ECMAS cript Engine或者DOM,HTML/XHTMLDTD。
图5-11表现引擎的结构
       表现引擎支持的关键标准如下:
       ① 由X-HTML定义的通用模块和/或由W3C定义的HTML;
       ② 由W3C定义的用于描述呈现样式的CSS样式表单;
       ③ DOMAPI用于动态改变HTML或者X-HTML文档的内容;
       ④ ECMAScript;
       ⑤ TV特定的扩展和附件的API以及DOM对象,用于处理信号、触发器、协议以及对TV接收器特定的MIME类型和接收器特定的接收功能;
       ⑥ 标准的媒体类型,比如image/jpg,image/png,基本Audio和TV特定的媒体类型,比如由ISO定义的video/mpeg;
       ⑦ 由W3C定义的XML解析器。

(4) 对J.200的补充和调整

       随着应用不断扩展和标准的不断推进,需要对J.200的内容进一步扩充,以包含更多的应用,同时,还要与已经存在的标准规范保持协调一致,因此,ITU-T后来推出了J.201、J.202J.203,以便与DVB和MHP的升级保持一致。
       在ITU-TRec.J.201中,为交互电视应用的内容定义格式做了调和,推荐了一些方法:媒体的类型,XML标记,式样,脚本语言,DOMAPI;为BML而添加的要素,媒体类型和API;为ACAP-X而添加的要素,媒体类型和API;为DVB-HTML而添加的要素,媒体类型和API。
       在ITU-TRec.J.202中,为交互电视应用的内容程序格式做了调和,给出了iTV程序应用的通用平台定义,给出了通用核心API(见附录2),并且给出了GEM,包括为MHP1.0添加特定的API;为OCAP1.0添加特定的API;为ARIBSTD-B23添加特定的API;为MHP1.1.1添加特定的API;为ACAP添加特定的API以及对MHP规范的修改建议。
       在ITU-TRec.J.203中,为数字视频记录平台规定了通用核,包括记录和播放过程,记录和播放API,应用信令,应用模型,安全,接收者最小需求等。
 
exit

申请演示

IPTV网络电视系统仅适用于企业和公司。

电话:028-83110277
  • 端到端解决方案
  • IPTV/OTT 中间件 (CMS)
  • OTT 播放器应用程序(支持超过 11 个平台)
  • IPTV电视系统媒体服务器
  • 转码器
  • 机顶盒
  • 数字版权管理/CAS
  • 酒店IPTV系统方案
联系我们