IDTV Software/Middleware Pablo Cesar Distributed Multimedia Languages & Infrastructures CWI: Centrum voor Wiskunde en Informatica Amsterdam, NL
Outline � Standards Overview � MHP � OCAP � DASE � ARIB � Harmonization � NCL � STB Evolution
Standards Overview
Standards Overview � Europe • MHP � USA • ACAP � Japan • ARIB � Execution Environment • Java-based � Presentation Environment • XML-Based
MHP (Europe) � Reception and presentation of applications in an interoperable manner. � Horizontal market approach • Applications and decoders can be developed by different developers and manufacturers � Expects the DVB standardized broadcast and return channel � Two environments: • Java-based: DVB-J • XML-based: DVB-HTML
MHP: File System � Digital Storage Media Command and Control Protocol (DSM-CC) � Object Carousel, Data Carousel � Broadcast file system, Read-only � Objects are transmitted in a cycle � Objects can be files, directories, data streams, or stream events
MHP Profiles: Enhanced Enhanced Broadcast Profile • Baseline profile • No return channel • Applications such as EPGs and one-way information services
MHP Profiles: Interactive Interactive Broadcast Profile • Return channel for two-way interaction • Enables e-commerce, voting, betting, etc
MHP Profiles: Internet Access Internet Access Profile (MHP 1.1) • Support for resident applications providing services such as: WWW, Email, News
MHP Graphics � 32-bit colors (MHP minimum palette 140+48 colors) � 3-layers: • background, video, graphics � Java drawing primitives � Image formats: • JPEG, GIF, PNG, MPEG I-Frame � One resident font: • Tiresias � Scaled video
MHP Graphics: Background � Only one still image � MPEG I-Frame bitmap � Always full-screen � Opacity cannot be set
MHP Graphics: Video � MPEG-video from TV-stream � Video is scalable � Full screen, 1/4, 1/16 � Other if device supports � Multiple simultaneous video streams might be supported
MHP Graphics: Graphic Layer
MHP: DVB-J � Java-based open standard for interactive TV � Current active version: 1.0.2; current version 1.1 � Based on J2ME: • JavaTV: Application model (lifecycle of the Xlets) • HAVi: UI components, event handling • DAVIC: File system (DSM-CC) • JMF: videos • DVB specific APIs:
MHP: DVB-J
MHP: HAVi
MHP: Example of an Xlet import libraries; public class AWTHelloXlet extends Component implements KeyListener, Xlet { private XletContext context; // The environment private HScene scene; // Where shall all this be rendered? private Image image; // Let us put an image there… private String message; // The message… public AWTHelloXlet() { super(); } /** * Xlet Interface. * Initialize this Xlet. */ public void initXlet(XletContext context) throws XletStateChangeException public void startXlet() throws XletStateChangeException public void pauseXlet() public void destroyXlet(boolean unconditional) public void paint(Graphics graphics) }
MHP: DVB-HTML � Modularization of XHTML • Comparable to XHTML 1.1 � CSS Support • CSS2 Compatible • DVB Extensions: media type “dvb-tv”, compose-rule, clip-video, viewport � Media Types Support • DVB-J Applications • Video and Audio (MPEG-2) • ECMAScript • Images (png, gif, mpeg) � DOM • Level 2 Modules: Stylesheets, Events • DVB Extensions: DVB Events, KeyEvents, DVB CSS
MHP: DVB-HTML
MHP: Example DVB-HTML <?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE html SYSTEM "supertext.dtd"> <html> <head> <title>SM-Liiga</title> <link rel="stylesheet" href="styles1Column.css"/> </head> <body> <div class="title"> <span style="width: 200;">Tilastot </span> </div> <div class="main"> <br><span class="lihavointi"></span><br><br> <table> <tr> <td>SARJATAULUKKO</td> <td ></td> </tr> <tr> <td bgcolor="#cccccc"></td> </tr> ........
MHP: Critical Approach � Return Channel capabilities � One screen (on-screen display) � One remote control (Wii?) � Low graphics capabilities � Declarative part • no media centric � Most successful service • Voting popular programs � Popularity • Italy, Spain, Taiwan, Korea
OCAP (USA) � Open Cable Applications Platform � OCAP 1.0 includes Java-based services � OCAP 2.0 includes a presentation engine for HTML � OCAP is a software middleware layer providing access to operating system and hardware � Based on MHP: • Java APIs: Java TV, JMF, DAVIC, HAVi � Four different types of applications: • Native applications: written for a specific host • Bound applications • Unbound applications: not dependent of a specific channel • Monitor application: network operator is responsible of the state of the receiver
DASE (USA) � DTV TV Application Software Environment � DASE Level 1: includes a declarative and Java-based environments � DASE Level 2: Return channel capabilities � DASE Level 3: Internet access � DASE – Declarative: • Superset of XHTML Basic comparable to XHTML 1.1 • Support for a number of media formats: —video (e.g., MPEG) —animated graphics (e.g., MNG) —audio (e.g., MPEG), � Style sheet support is a subset of CSS2 • Similar to the approach used in DVB-HTML
ACAP (USA) � Advanced Common Application Platform � Harmonization of DASE and OCAP � Features from DASE and from OCAP: • Java part of OCAP • Declarative part from DASE
ARIB � ARIB (Japanese solution) standardises: • Procedural: STD-B23 • Declarative: STD-B24 (BML) � BML (Broadcast Markup Language) • Superset of XHTML 1.1 • Support for many media formats: —MPEG-4 video and audio —Streamed text —Japanese characters • Fully CSS2 compliant with extra properties such as nav- index • Quite ambitious
Standards Comparison
Standards Comparison (MHP, ACAP, ARIB) � Procedural Environment • J2ME (Personal Profile) • Java TV, JMF, DAVIC, HAVi � Service information • Different mechanisms (e.g., OCAP uses for unbound applications the eXtended Application Table) � Bridge to declarative content • Not included in ARIB � Graphics plane • Background + Video + Graphics � Declarative Environment • Quite different
Harmonization � Globally Executable MHP (GEM) � Based on MHP 1.0.2 � MHP without DVB specific parts � Freely applicable to various kinds of network types and standards • MHP • OCAP • ACAP • ARIB B23 - BML � Makes application interoperability possible � Used in Blu-Ray technology
Harmonization: GEM � Procedural Interpreted: (DVB-J) • Basic Java (e.g., java.lang) • Java TV: applications lifecycle • JMF: audio and video • HAVi: 2D User Interface � Declarative: Undecided • XHTML: structure of document • CSS: look • Media types: images, video • TV Specific extensions: for example remote control interaction
Harmonization: Java Environment
Harmonization: Presentation Engine
Harmonization: Application Environment
Harmonization: Now you get it!
Harmonization Software Environment NCL ACAP XHTML MHP OCAP DASE BML J2ME GEM ESG DVB-T/ DVB-S/ OCAP data ATSC ISDB DVB-H DVB-C broadcasting Transmission
NCL (Nested Context Language) � Brazilian solution � Based on temporal synchronization of multimedia objects and not on user interaction in particular • Very similar to SMIL � NCL supports: • Media objects (video, images) • HTML objects (e.g., DVB-HTML, BML, and ACAP-X) � MAESTRO is a complete solution based on NCL � Alternatives: • Resident middleware with NCL declarative module (procedural code can be launched from declarative applications) • MAESTRO + procedural middleware • MAESTRO as an Xlet
NCL: MAESTRO Alternatives … … Apl 1 Apl 2 Apl 3 Apl n Apl 1 Apl 2 Xlet i Apl n ECMA Procedural Lua VM Script Engine Middleware (Java) Engine OS OS OS OS OS … Xlet i Apl n Xlet Procedural VM (Java) Middleware OS OS OS
SMIL � declarative language for temporal interaction � allows scheduled & interactive activation � supports rich model-based hyperlinks � supports extensible content control � allows separation of content from structure & control � profiles available for mainframe, PC, PDA and mobile devices – TV Profile is under way
SMIL: Example <smil> <head> <layout> <root-layout id=“background“ width=“” height=“”/> <region id=“video"/> <region id="caption"/> </layout> </head> <body> <seq> <!– Program 1--> <seq> <!– Sequence 1--> </seq> <!– Program 2--> <!– Program 3--> </seq> </body> </smil>
Recommend
More recommend