Mobile Broadcast Service API for Handheld Terminals (JSR 272)

JCP Specification


Copyright 2008 Motorola Inc. and Nokia Corporation. All Rights Reserved.

This document and all associated documents are subject to the terms of the Specification license.


Preface

This document, Mobile Broadcast Service API for Handheld Terminals (JSR 272) Specification, defines the API for interactive mobile broadcast services for the Java Platform, Micro Edition.

The current document is the 1.0 version of the specification.

Revision History

Revision history

Who Should Use This Specification

This document is written for the public Java community reviewing this specification, the Java Community Process (JCP) expert group defining this specification, implementers of this API, and application developers targeting the Java ME platform.

Introduction

JSR 272, Mobile Broadcast Service API for Handheld Terminals, defines an optional package in the Java ME environment for interactive broadcast services for mobile terminals. The API is designed to provide applications full control of a broadcast service implementation on a device. This includes the abilities to query the electronic service guide, select a particular program or service, present and record the media content. These capabilities, coupled with the rest of the Java ME platform provides a rich environment where broadcast services can be deployed on mobile devices.

The API is designed to be agnostic to the underlying broadcast specifications, transport mechanisms and implementation technologies, thus making it possible to write applications that can run on multiple devices across multiple broadcast technologies.

How This Specification Is Organized

This specification is divided into the following main sections:
  1. API Overview (on this page)
  2. JavaDoc API Documentation
  3. Presentation and Recording Specification
  4. Security, DRM and Purchasing Specification
  5. Examples
  6. Appendix A: Service-bound JME applications
Unless stated otherwise, the javadocs and each of the above subsections are all normative parts of this specification.

New readers are encouraged to start with the API Overview for the basic architecture and organization of the API.

Related Literature

The Java Language Specification by James Gosling, Bill Joy, and Guy L. Steele. Addison-Wesley, 1996, ISBN 0-201-63451-1
Connected, Limited Device Configuration ( JSR 30, JSR 139), Sun Microsystems, Inc.
Connected Device Configuration ( JSR 36, JSR 218), Sun Microsystems, Inc.
Mobile Information Device Profile ( JSR 37), Sun Microsystems, Inc.
Mobile Information Device Profile ( JSR 118), Sun Microsystems, Inc.
Mobile Media API ( JSR 135), Sun Microsystems, Inc.
Advanced Multimedia Supplements ( JSR 234), Sun Microsystems, Inc.
DVB-H Specifications, Digital Video Broadcasting

Contributors

The following companies are represented in the expert group and contributed to this specification: This specification is made possible with the writing and editing from the following individuals:

Definitions

This document uses definitions based upon those specified in RFC 2119 (See http://www.ietf.org).

Term
Definition
MUST
The associated definition is an absolute requirement of this specification.
MUST NOT
The definition is an absolute prohibition of this specification.
SHOULD
Indicates a recommended practice. There may exist valid reasons in particular circumstances to ignore this recommendation, but the full implications must be understood and carefully weighed before choosing a different course.
SHOULD NOT
Indicates a non-recommended practice. There may exist valid reasons in particular circumstances when the particular behavior is acceptable or even useful, but the full implications should be understood and the case carefully weighed before implementing any behavior described with this label.
MAY
Indicates that an item is truly optional.

Glossary

AMMS Stands for Advanced Multimedia Supplement (JSR 234). This API extends from MMAPI (JSR 135) to include advanced multimedia functionalities such as spatialized audio, camera and advanced media controls.
Broadcast Receiver In the context of this specification, a broadcast receiver refers to the subsystem in the implementation that is responsible for selecting a broadcast frequency, receiving the radio signal and converting them to digitized contents suitable for processing by the software components.
DVB Short for Digital Video Broadcast which is an open standard for digital television defined by the DVB consortium and adopted as an ETSI standard.
DVB-H Short for Digital Video Broadcast - Handheld which is a technical specification for digital television for handheld devices adopted as an ETSI standard.
Electronic Program Guide Electronic Program Guide or EPG is synonymous with Electronic Service Guide.
Electronic Service Guide Electronic Service Guide or ESG is a listing of scheduled broadcast television programs that's defined in some metadata format. The software provided to view the ESG typically allows the user to navigate, discover and select programs by channel, time, title, genre etc.
IP Datacast Or IPDC refers to media transmitted over IP data network as unicast, multicast or broadcast.
MHP Short for Mobile Home Platform which defines the platform and API for digital TV set-top devices.
MMAPI Stands for Mobile Media API (JSR 135). This Java API defines the basic multimedia functionalities, such as playback and recording for mobile devices.
OMA Short for Open Mobile Alliance; is a standard body which develops standards for the mobile industry.
Program Event A primary unit of broadcast programming, e.g. a movie, a episode of a long running show, a music video clip etc.
PVR Short for Personal Video Recorder. A personal video recorder allows video (and audio) to be digitally recorded to be played back later.
SDP Session Description Protocol is a format used to describe initialization attributes for streaming media contents.
Service Service or Broadcast Service refers to a broadcast channel typically carrying multiple scheduled events.
Service Component A media component that constitutes a program, e.g. an audio track, a video track, a language subtitle track of a program.
Service-bound Application An application that is delivered with the broadcast. Typically such application is likely to be tailored for the specific content; e.g. voting game for a quiz show.
SMIL Short for Synchronized Media Interface Language which is a W3C XML standard to describe timing, layout, visual transition as applied to a collection of media components.
SVG Stands for Scalable Vector Graphics which is a W3C XML standard to describe 2D vector graphics.
Time-shifting or Time-shifted Playback Time-shifting allows broadcast content to be recorded while it's being received and playback. Typically, the playback is delayed (time-shifted) by a certain amount of time. This allows the realtime playback to be seamlessly paused, rewind or fast-forward depending on the amount of content recorded.


API Overview

The Use Case Analysis and Requirements define the scope of the problems JSR 272 is designed to solve. They are provided here for informational purpose only. They are not considered as normative parts of the specification.

Consider a typical application that deploys broadcast services on a mobile device. It may provide the following functionalities:

The following diagram depicts such an application implemented on top of a hypothetical JSR 272 implementation:


The next diagram depicts the high-level relationship among the main modules of this API:


The following describes the entry points to each of the main modules:

API dependencies

JSR 272 is designed to run on devices with a minimum configuration of CLDC 1.1 and a Java ME profile with at least the capabilities of MIDP 1.0. Since JSR 272 does not have strict dependencies on MIDP-specific classes, e.g. LCDUI, it is possible to support JSR 272 on other Java ME profiles, such as Personal Basis Profile, for example.

JSR 272 works to complement other Java ME standards to provide the full breath of functionalities. In particular, JSR 135 (MMAPI) is required for the presentation of media services. In addition, JSR 234 (Advanced Multimedia Supplements) provides additional multimedia presentation capabilities but JSR 272 does not require it.

Other Existing Java Standards

Two existing Java Standards, Java TV API and the Multimedia Home Platform (MHP) define APIs for digital TV applications. These APIs combined to specify a rich environment for TV applications running on devices supporting Java implementations comparable to Personal Basis Profile ** , such as TV settop boxes. However, the design center for Java TV and MHP is different from that of JSR 272. JSR 272 targets smaller classes of mobile devices supporting CLDC and MIDP as the lowest common denominator. Design choices were made to limit the implementation complexity for small devices, while maintaining a rich set of functionalities for applications. In addition, it strives to provide compatibility with MIDP and all the MIDP-related optional packages in the areas of UI (MIDP's LCDUI), multimedia (MMAPI & AMMS) and I/O (Generic Connection Framework and JSR 75).

** PersonalJava was used for earlier versions of Java TV and MHP.




Overview JavaDoc API Presentation & Recording Security, DRM & Purchasing Examples