DVB-HTML MIDP 2.0 Graphics Architectures for Non-Desktop Devices

Similar documents
T Research Seminar on Digital Media Digital TV Services in Handheld Devices DVB-HTML

Graphics Software Architecture for High- End Interactive Television Receivers

Mobile Information Device Profile (MIDP) Alessandro Cogliati. Helsinki University of Technology Telecommunications Software and Multimedia Laboratory

What is Multimedia? Multimedia APIs

Acknowledgments Introduction p. 1 The Wireless Internet Revolution p. 1 Why Java Technology for Wireless Devices? p. 2 A Bit of History p.

Digital television. Multimedia programming. Jaakko Alajoki Kaarlo Lahtela Vesa Tikkanen

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

OpenCable APPLICATION PLATFORM STATUS AND ROADMAP Allen R. Schmitt-Gordon, Ph.D. Frank Sandoval Cable Television Laboratories, Inc.

ST.MARTIN'S ENGINEERING COLLEGE Dhulapally,Secunderabad-014

BVRIT HYDERABAD College of Engineering for Women Department of Information Technology. Hand Out

Software Development & Education Center. Java Platform, Micro Edition. (Mobile Java)

The Multimedia Home Platform (MHP) framework for Web access through digital TV

Part III: Survey of Internet technologies

Visual HTML5. Human Information Interaction for Knowledge Extraction, Interaction, Utilization, Decision making HI-I-KEIUD

Who am I? Wireless Online Game Development for Mobile Device. What games can you make after this course? Are you take the right course?

MMAPI (Mobile Media API) Multimedia Framework for Mobile Devices

Requirements and Issues of V**s for Mobile Terminals

Programming Wireless Devices with the Java 2 Platform, Micro Edition

Interchange formats. Introduction Application areas Requirements Track and object model Real-time transfer Different interchange formats Comparison

Etanova Enterprise Solutions

Fundamentals of Website Development

Merits of QT for developing Imaging Applications UI

UI Course HTML: (Html, CSS, JavaScript, JQuery, Bootstrap, AngularJS) Introduction. The World Wide Web (WWW) and history of HTML

Java 2 Platform, Micro Edition

eswt Requirements and High-Level Architecture Abstract Document Information Change History

Software. Networked multimedia. Buffering of media streams. Causes of multimedia. Browser based architecture. Programming

Brief Introduction to ITU-T H.762 (LIME)

Index LICENSED PRODUCT NOT FOR RESALE

Layered UI and Adaptation Policies for Ubiquitous Web Applications

UI, Graphics & EFL. Carsten Haitzler Principal Engineer Samsung Electronics Korea Founder/Leader Enlightenment / EFL

XMobile: a MB-UID environment for semi-automatic generation of adaptive applications for mobile devices

Jim Jackson II Ian Gilman

DAY 3 J2ME Aalborg University, Mobile Device Group. Mobile. Mobile Phone Programming

What's New In Mobile & Embedded Java? A Technology Update

JUGAT meeting. Roman Waitz Development. MATERNA Information & Communications

Mobile Application Development. Introduction. Dr. Christelle Scharff Pace University, USA

IT6503 WEB PROGRAMMING. Unit-I

Mobile Station Execution Environment (MExE( MExE) Developing web applications for PDAs and Cellphones. WAP (Wireless Application Protocol)

Developing the Roadmap - Director Next Survey

CompuScholar, Inc. Alignment to Utah's Web Development I Standards

Minne menet, Mobiili-Java?

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments.

Petr Suchomel Architect, NetBeans Mobility

HTML, XHTML, and CSS. Sixth Edition. Chapter 1. Introduction to HTML, XHTML, and

Distributed Multitiered Application

COURSE OUTLINE MOC 20480: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3

Mobile Systeme Grundlagen und Anwendungen standortbezogener Dienste. Location Based Services in the Context of Web 2.0

Types and Methods of Content Adaptation. Anna-Kaisa Pietiläinen

Mobile Application Development. J2ME - Forms

ESPRIT Project N Work Package H User Access. Survey

Programming HD DVD and Blu-ray Diso The HD Cookbook

Java SE7 Fundamentals

<Insert Picture Here> JavaFX 2.0

BEAWebLogic. Portal. Overview

Lecture 5. Digital Media Components Markup and Scripting Languages Multimedia Tools Facilities Provided by the School Suggested Reading

Device Technologies I J2ME & WinCE

Internet Application Developer

Japanese Datacasting Coding Scheme BML

Thin Client Content Options

JavaFX. JavaFX Overview Release E

A DIGITAL TELETEXT SERVICE

Multi-modal Web IBM Position

XML for Java Developers G Session 8 - Main Theme XML Information Rendering (Part II) Dr. Jean-Claude Franchitti

Overview of Java 2 Platform, Micro Edition (J2ME )

COPYRIGHTED MATERIAL. Part I: Getting Started. Chapter 1: Introducing Flex 2.0. Chapter 2: Introducing Flex Builder 2.0. Chapter 3: Flex 2.

CTI Short Learning Programme in Internet Development Specialist

JSR 248: Taking Java Platform, Micro Edition (Java ME) to the Next Level

('cre Learning that works for Utah STRANDS AND STANDARDS WEB DEVELOPMENT 1

Creating Web Pages with HTML-Level III Tutorials HTML 6.01

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery.

JXTA for J2ME Extending the Reach of Wireless With JXTA Technology

World Wide Web PROGRAMMING THE PEARSON EIGHTH EDITION. University of Colorado at Colorado Springs

Web Development. With PHP. Web Development With PHP

Mobile MOUSe WEB SITE DESIGN ONLINE COURSE OUTLINE

J2ME ARCHITECTURE AND RELATED EMBEDDED TECHNOLOGIES

Overview. Principal Product Manager Oracle JDeveloper & Oracle ADF

Overview of the family of ITU-T IPTV Recommendations. Masahito Kawamori Coordinator, ITU-T IPTV-GSI

phoneme: High-performance, product-quality GPLv2 CDC + CLDC stacks Terrence Barr

UNIT -I PART-A Q.No Question Competence BTL

20480C: Programming in HTML5 with JavaScript and CSS3. Course Code: 20480C; Duration: 5 days; Instructor-led. JavaScript code.

Diploma in Web & Multimedia Development LC201

CM0256 Pervasive Computing

Model-Based UI W3C XG

Hardware Accelerated Graphics for High Performance JavaFX Mobile Applications

PTViewerME: Immersive Panoramas for PDA and Smartphone

Introduction to Automation. What is automation testing Advantages of Automation Testing How to learn any automation tool Types of Automation tools

4. Added time object to show relative time for message (e.g. 1 minute ago );

MyMobileWeb project's position

Varargs Training & Software Development Centre Private Limited, Module: HTML5, CSS3 & JavaScript

AIM. 10 September

DAY 3 J2ME March 2007 Aalborg University, Mobile Device Group Mobile Phone Programming

JavaME TAMZ. Department of Computer Science VŠB-Technical University of Ostrava

A network is a group of two or more computers that are connected to share resources and information.

Basics of Web Technologies

Agenda. Summary of Previous Session. XML for Java Developers G Session 7 - Main Theme XML Information Rendering (Part II)

8/19/2018. Web Development & Design Foundations with HTML5. Learning Objectives (1 of 2) Learning Objectives (2 of 2) Helper Applications & Plug-Ins

<Insert Picture Here> JavaFX Overview April 2010

CTI Higher Certificate in Information Systems (Internet Development)

HTML version of slides:

T Multimedia Programming. Different Operating Systems and their Multimedia Support

Transcription:

DVB-HTML MIDP 2.0 Graphics Architectures for Non-Desktop Devices Pablo Cesar pcesar@tml.hut.fi http://www.tml.hut.fi/~pcesar Part I DVB-HTML Part II MIDP 2.0 Part III Outline Graphics Systems in Embedded Devices 1

Outline Part I: DVB-HTML Overview Valid Tags: XHTML Look: CSS Accessing the Tree: DOM Relationship with Java Overview Modularisation of XHTML Superset of XHTML Basic Comparable to XHTML 1.1 CSS Support CSS2 Compatible DVB Extensions Media Types Support DVB-J Applications Video and Audio (MPEG-2) ECMAScript Images (png, gif, mpeg) DOM Level 2 DVB Extensions DOM CSS (Style Sheet) XML (Conformance synchro) DVB HTML ECMAScript, CSS,DVB HTML interpreters XHTML (core) Bridge Platform Resources DOM ECMAScript (scripting) DVB J Java Virtual Machine 2

XHTML Modularisation Core Structure Text Hypertext List Other W3C Other XHTML Applet Presentation Edit Bi directional Text Forms Tables Basic Forms Basic Tables Image Object Client side Image Map Server Side Image Map Private Intrinsic Events Frames Target IFrame Name Identification Legacy Metainformation Scripting Stylesheet Style Attribute Link Base XHTML Basic Core Structure Text Hypertext List Other W3C Other XHTML Applet Presentation Edit Bi directional Text Forms Tables Basic Forms Basic Tables Image Object Client side Image Map Server Side Image Map Private Intrinsic Events Frames Target IFrame Name Identification Legacy Metainformation Scripting Stylesheet Style Attribute Link Base 3

XHTML 1.1 Core Structure Text Hypertext List Other XHTML Applet Presentation Edit Bi directional Text Forms Tables Basic Forms Basic Tables Image Object Client side Image Map Server Side Image Map Intrinsic Events Frames Target IFrame Name Identification Legacy Metainformation Scripting Stylesheet Style Attribute Link Base Other W3C Ruby Annotation Private DVB-HTML Core Structure Text Hypertext List Other W3C Other XHTML Applet Presentation Edit Bi directional Text Forms Tables Basic Forms Basic Tables Image Object Client side Image Map Server Side Image Map Intrinsic Events Frames Target IFrame Name Identification Legacy Metainformation Scripting Stylesheet Style Attribute Link Base Private DVB Intrinsic Events 4

CSS Compliant with CSS2: Properties: background, border, font, text, table... Layout (all CSS2): absolute positioning, fixed positioning... Selectors (all CSS2): hover, focus, active, lang... CSS3: User Interface Module (directional navigation): nav-up, nav-down, navleft, nav-right Colour Module: opacity (transparency: alpha channel support) DVB Extensions: New media-type: dvb-tv, an extension of screen Compose-rule: how to apply transparency Clip-video: place a video (or a part of it) in a given location Viewport: MHP graphics architecture integration (background + video + applications) DOM DOM Level 2 Core, Views, Stylesheets HTML not required: does not need to support HTML DTD DOM Level 2 Events Events, UIEvents, MutationEvents required HTMLEvents not required MHP Extensions DVB-HTML: replacement of DOM Level 2 HTML (DVB-HTML DTD) DVB Events and KeyEvents: binding remote control events and lifecycle, synchronisation with external video files DVB CSS: for CSS Extensions DVB Environment: platform characteristics 5

Relationship With Java application/dvbj media type Similar to Applet EcmaScript Using the bridge Developer can access to MHP packages DOM DVB HTML DVB J ECMAScript, CSS,DVB HTML interpreters Bridge Java Virtual Machine Platform Resources MHP Web Page Is it true that DVB-HTML may be replaced in the future within themhp1.1 specification by another TV-centric HTML-based language? In the spirit of global harmonization, it has been suggested that DVB-HTML should be modified or replaced by the resulting work of the CableLabs-OpenCable and ATSC-DASE harmonization. The discussions are still ongoing 6

CENELEC Technical Report The most likely candidate [...] is ACAP. ACAP [...] will be made available to DVB in order to for it to evaluate the possible replacement of its DVB-HTML presentation engine in MHP 1.1 specification. It should however be noted that ARIB has also proposed BML specification for consideration in this harmonization process. Therefore, there is insufficient certainty as this point in time to determine whether harmonization efforts with respect presentation engines will actually lead to a positive and useful result within a reasonable amount of time. Cesar s Doctoral Thesis As a final conclusion we will like to propose the following questions: What organization should be in charge of defining a standard for the declarative environment, DVB, CableLabs, ATSC, ARIB, W3C, SMPTE? Would not be better if all these groups joins, and harmonize, so the number of defined tags for the same purpose stop increasing unnecessarily? 7

Part II: MIDP Java Overview (Editions/Configurations/Profiles) Java 2 Micro Edition (J2ME) Connected Device Configuration (CDC) Connected, Limited Device (CLDC) Mobile Information Device Profile (MIDP) Architecture User Interface Multimedia Problems Servers Optional Packages Java 2 Enterprise Edition (J2EE) Personal Computers Optional Packages Java 2 Standard Edition (J2SE) TV STBs High End PDAs Optional Packages Personal Profile Foundation Profile Mobile Phones Low end PDAs Optional Packages MIDP Smart Cards CDC CLDC Java Card Java Virtual Machine KVM Card VM Java 2 Micro Edition(J2ME) 8

Java Overview Nowadays, trying to target all kind of computer devices Editions: Java 2 Enterprise Edition (J2EE): for servers and enterprise computers Java 2 Standard Edition (J2SE): for servers and personal computers Java 2 Micro Edition (J2ME): for embedded devices, PDAs, mobile phones, and Digital television set-top boxes Java Card: for smart cards Profile Requirements for a specific vertical market of devices (set of APIs) Configuration Minimum platform for a horizontal grouping of devices (VM + core APIs) Profile Configuration MIDP CLDC KVM J2ME Defines two Configurations: CDC: High end consumer devices Processor: 32 bits RAM Java Memory: around 2MB ROM Java Memory: around 2.5MB CLDC: Low end consumer devices Processor:16 bit/16 MHz or higher Java total memory: 160-512 KB Power: Limited power CDC (Connected Device) Personal Profile Adds support for lightweight AWT Foundation Profile Basic application APIs (no GUI) CLDC (Connected Limited Device) Mobile Information Device Profile (MDIP) Application APIs + GUI APIs TV STBs High End PDAs Optional Packages Personal Profile Foundation Profile CDC JVM Mobile Phones Low end PDAs Optional Packages MIDP CLDC KVM 9

MIDP Architecture Mobile Phones Low end PDAs Game User Interface Media Application Management End-to-End Security Optional Packages MIDP Local Data Storage Push Registry Connectivity OTA provisioning CLDC KVM MIDP Architecture Basic Layer Local data storage Persistent storage of data Push Registry Allows MIDlets to be launched in response to incoming network connections (e.g., alerts) Connectivity Connection for datagrams, sockets, and server sockects OTA provisioning Simplifies the way applications are delivered to consumers Ability to dynamically deploy and update applications over-the-air (OTA). How applications are discovered, installed, updated... Second Layer End-to-End security MIDP provides a robust security model: http and https connections, and public key management 10

MIDP Architecture Third Layer Application Management Applications are called MIDlets, manager in charge of controlling their state Higher Layer Game Specific game API for developers User Interface Both High Level (ready made widgets), and high level API (developer can paint on the screen) Media Audio utilities API MIDP User Interface User interface for handheld devices are different from PCs Smaller display size Input device not always include pointing device MIDP is not a subset of AWT!!!!!! AWT is designed for PCs AWT assumes certain interaction models (e.g., mouse) AWT assumes the use of Windows (drag, move, resize) 11

MIDP User Interface Basic Class (Display): output device of the mobile phone 1 display -> multiple Screens 1 Application -> 1 Display Basic interface (Displayable): each screen of the services 1 Application -> multiple Displayable objects Two kind of Displayable Objects (Cannot be mixed): Screen: High Level API, each MIDP application has a Display in which a single screen is shown (title, multiple commands, ticker) Canvas: Low Level API, it is extended for drawing MIDP User Interface High Level API Intended for applications where portability is important High Level widgets, developer has no control on their look (appearance) and feel (interaction) Low Level API Intended for applications where portability is not as important as control over the graphics Developer has full control over what is drawn, where, and how 12

MIDP User Interace MIDP User Interface: High Level API TextBox: Screen that allows the user to enter and edit text List Screen that contains a list of choices Implicit: like a menu Exclusive: select one element (radio buttons) Multiple choice: select many elements (check boxes) Alert Screen that shows a message and an optional image to the user 13

MIDP User Interface: High Level API Forms Screen that contains a combination of items Items: Components of a Form ImageItem, StringItem, TextField, ChoiceGroup, DateField, Gauge MIDP User Interface: Low Level API Developer extends Canvas class and overrride the paint method to create her own widgets Allows developers to: Control what is drawn on the display Handle primitive events (e.g., Key Released) Access concrete keys and other input devices Similar to AWT s Graphics: Drawing model: there is not composition of images, the canvas is visible in the display or not visible Double buffer: canvas can be stored as a off-screen image buffer Coordinte system: origin is the upper-left corner of the display Translation: the coordinte system can be translated over X or Y axis Clipping: clipping is possible (so, no modifications are done over constant pixel values) Color model: both gray scale (0 to 255) or color (24 bits) Fonts: requested to the device (never created) 14

MIDP Multimedia Game API (MIDP 2.0) GameCanvas: subclass of Canvas with specific game functionalities Layer: visual element of the game (abstract class) Sprite: animated layer that can display several graphical frames TiledLayer: enables the creation of large areas of content, but at a low resource cost LayerManager: to control the layers and the user s view 3D Graphics API (optional package) Two APIs for displaying 3D content Immediate mode API: create and manipulate 3D elements directly Retained mode API (scene graph): load and display entire 3D scenes Mobile Media API (MMAPI) (optinal package) Extends MIDP functionality by providing audio, video and other time-based multimedia support It is not JMF MIDP 2.0 includes the audio-only subset Size of graphics package: CLDC: 436 KB CDC: 527 KB Problems New Classes: Form (Container?) CustomItem (Component?) Interoperability: Native Base Widgets Personal Computer (J2SE) Digital Television (GEM) Swing Widgets HAVi Widgets AWT Widgets Base AWT PDA (J2ME/CDC) Native Toolkit (e.g., Qt, GTK) Mobile Phone J2ME (CLDC) LDC UI High Level LDC UI Low Level 15

Outline - Part III Graphics Systems in Embedded Devices Introduction Multimedia Terminals Chaos Digital Television Graphics Architecture From Windows to Scene Based Graphics Architectures Reference Implementation Ubik Architecture Ubik Screenshots High Level Languages Integration High Level Languages Profiles High Level Languages Screenshots Introduction Variety of multimedia devices Desktop (PCs) Non-desktop (STB) Number of networks Broadcast Mobile Diversity of Content MPEG-2 Java XML based 16

Introduction Digital Television Digital TV receivers today Starting to show technological maturity Digital TV receivers tomorrow Evolution, so different s depending on the targeted group Broadcast Only uses broadcast network Interactive Uses, as well, interaction channel Graphics Architecture Lack of pointing device Seamless integration of video, 2D and 3D objects Screen composed of multimedia objects A layered architecture, so developers can implement at any level Solutions such as X- Windows are too big HAL: an unified way to access hardware (hardware acceleration) Graphical Context: cross-platform abstraction of the rendering region Graphical Environment: means to control different contexts GUI Toolkit: ready-made user interface widgets HLL: to develop simple services 17

Reference Implementation Ubik Architecture DVB-T reception and visualisation of the A/V stream HAL: DirectFB and OpenGL Resource Manager: to control the different processes Graphical Context: SDL Graphical Environment: SDLAWT (java.awt) GUI Toolkit FTV: 2D widgets JMF: other video than A/V Java OpenGL: 3D Graphics HLL: X-smiles (XHTML, SMIL, XForms) Example composition of scenes: 3D graphics object A/V Stream Performance Around 60 FPS Reference Implementation Ubik Screenshots (1/2) 18

Example native 3D Graphics Some games downloaded from a portal Reference Implementation Ubik Screenshots (2/2) Reference Implementation High Level Languages Integration (1/4) Application Layer: XML languages used for implementing interactive multimedia applications Platform Layer: User Agent supports the language profile UI Compatibility Layer (Component Factory) Specific Device Application Layer Application 1 Doc Objects Platform Layer Application 2 Doc Objects XML User Agent XML Language Profile Implementation Digital TV HAVi Basic AWT UI Compatibility Layer PC Swing AWT Handheld MIDP 19

Reference Implementation High Level Languages Integration (2/4) Temporal Dimension Spatial Layout / Flow Layout Multimedia Objects Support Continuous Discrete User Interaction Links Validated Entry Submission (server-side) Application Layer Application 1 Doc Objects Application 2 Doc Objects Platform Layer XML User Agent XML Language Profile Implementation Digital TV HAVi Basic AWT UI Compatibility Layer PC Swing AWT Handheld AWT Basic AWT Reference Implementation High Level Languages Integration (3/4) Platform uses Java Most platform independent option The actual APIs for user interface development differ between multimedia terminals: Digital TV: HAVi PC: Swing Handheld: MIDP Application Layer Application 1 Doc Objects Platform Layer Application 2 Doc Objects XML User Agent XML Language Profile Implementation Digital TV HAVi Basic AWT UI Compatibility Layer PC Swing AWT Handheld AWT Basic AWT 20

Reference Implementation High Level Languages Integration (4/4) Platform Layer (Ubik) XML Support Component Factory XML User Agent Application 1 Doc Objects Application 2 Doc Objects HAVi (FTV) Basic AWT MHP XML User Agent XML Language Profile Implementation UI Compatibility Layer Digital TV HAVi Basic AWT PC Swing AWT Handheld AWT Basic AWT Reference Implementation High Level Languages Profiles Internet Access Requirements: Access to Web pages Limited navigation Images, text Small size Proposed profile: XHTML 1.0 CSS High End Requirements Access to complex Web applications Interactive Temporal Synchronisation Video and audio Bigger size Proposed profile: XHTML 2.0 + Timesheest SMIL + XForms 21

Reference Implementation High Level Languages Screenshots (1/2) XML Based Document Profile: Interactive Access Target: Information Services (e.g., Teletext) Languages: XHTML 1.1 Interaction: Navigation Multimedia Objects: Images Text Reference Implementation High Level Languages Screenshots (2/2) XML Based Document Profile: High End Target: Complex Applications (e.g., E- learning Portal) Languages: SMIL (or XHTML+Timesheets) XForms Interaction: Buttons/Selections... Navigation Multimedia Objects: Images/Text Video/Audio 22