Java Technology Goes to the Movies: Java Technology in Next- - - PowerPoint PPT Presentation

java technology goes to the movies java technology in
SMART_READER_LITE
LIVE PREVIEW

Java Technology Goes to the Movies: Java Technology in Next- - - PowerPoint PPT Presentation

Java Technology Goes to the Movies: Java Technology in Next- Generation Optical Disc Formats Bill Foote Erik Moll Staff Engineer System Architect Sun Microsystems, Inc. Philips Applied Technologies http://java.sun.com


slide-1
SLIDE 1

1 2005 JavaOneSM Conference | Session TS-7091

Java Technology Goes to the Movies: Java Technology in Next- Generation Optical Disc Formats

Bill Foote

Staff Engineer Sun Microsystems, Inc. http://java.sun.com

Session TS-7091

Erik Moll

System Architect Philips Applied Technologies http://www.philips.com

slide-2
SLIDE 2

2005 JavaOneSM Conference | Session TS-7091 | 2

The old DVD format will be replaced by one capable of HDTV, giving better video and audio

  • quality. By itself, this may not be enough for the

format to succeed. Java technology gives Blu-ray Disc the competitive advantage of high quality interactivity, based on the proven Java platform. We’ll describe the technical essentials for this new format.

Java Technology: Quality interactivity for high-def movies

Understanding JavaTM Technology in Blu-ray Disc

slide-3
SLIDE 3

2005 JavaOneSM Conference | Session TS-7091 | 3

Agenda

What’s Blu-ray Disc? Why Java Technology on Blu-ray Disc? BD-J’s Basis—PBP and DVB-GEM Graphics and UI Security Aspects Application Cache Authoring What’s Next?

slide-4
SLIDE 4

2005 JavaOneSM Conference | Session TS-7091 | 4

Agenda

What’s Blu-ray Disc? Why Java Technology on Blu-ray Disc? BD-J’s Basis—PBP and DVB-GEM Graphics and UI Security Aspects Application Cache Authoring What’s Next?

slide-5
SLIDE 5

2005 JavaOneSM Conference | Session TS-7091 | 5

HD Digital Broadcast

HD Pre-Packaged Distribution HD Broadcast Recording Broad-casters Movie Studios

HD-TV

BD-RE Disc

Blu-ray will have both a pre-packaged format for distribution of movies and

  • ther HDTV content, and a recordable
  • format. Interaction with Java technology

is supported, and internet connectivity is

  • ptional.

Broadband Access

Blu-ray Context

_BD Device

BD-ROM Disc

slide-6
SLIDE 6

2005 JavaOneSM Conference | Session TS-7091 | 6

What Does Blu-ray Provide?

  • Blue laser gives more data capacity than legacy

DVDs, which use a red laser

  • 25 GB on a single layer and 50 GB on a dual layer disc
  • 40 Mbps bitrate
  • High definition 16x9 video, including
  • 1920x1080 at 59.94i, 50i, 24p
  • 1280x720 at 59.94p, 50p, 24p
  • High quality audio
  • Dolby 5.1, 7.1, DTS 5.1, including lossless variants
  • Java technology interactivity and optional

access to Internet

slide-7
SLIDE 7

2005 JavaOneSM Conference | Session TS-7091 | 7

Blu-ray’s Competitors

  • Legacy DVD
  • HD-DVD
  • Less capacity
  • HTML/ECMAscript interactivity (like ATVEF)
  • EVD (Chinese)
  • Same capacity as legacy DVD, but more advanced

CODECs for some level of HD quality

  • Future uncertain
  • Holographic Versatile Disc
  • Being researched
  • Possibly 3.9 terabytes, 1 Gbit/s
slide-8
SLIDE 8

2005 JavaOneSM Conference | Session TS-7091 | 8

Agenda

What’s Blu-ray Disc? Why Java Technology on Blu-ray Disc? BD-J’s Basis—PBP and DVB-GEM Graphics and UI Security Aspects Application Cache Authoring What’s Next?

slide-9
SLIDE 9

2005 JavaOneSM Conference | Session TS-7091 | 9

Why Java Technology on Blu-ray Disc?

  • HD video is not enough
  • Legacy 16x9 DVDs played at 480p look great to most

people

  • Need DVI connector or component video
  • DVD Encoding is usually 720 x 480 x 30i or 720 x 576 x 25i
  • Movies are actually 24 frames per second
  • HDTVs can do “reverse 3:2 pulldown” to restore the original 24p video
  • S Video or Composite video (RCA jacks) is typical, and

worse than DVI or component video

  • To succeed, the format needs new features…
  • Services provided via broadband network connection
  • Interactivity with the movie viewing experience
slide-10
SLIDE 10

2005 JavaOneSM Conference | Session TS-7091 | 10

Limitation of DVD Interactivity

  • Can’t show menus over video
  • Programming limited to 32 registers
  • 32 bits/register
  • Very weak performance guarantees
  • For example, skipping to a sceen can take

100ms to 3s, depending on player

  • Inflexible format
  • Limited to standard definition
  • No Internet connectivity
slide-11
SLIDE 11

2005 JavaOneSM Conference | Session TS-7091 | 11

Why Java Technology on Blu-ray Disc?

Consumers and studios need more:

  • Richer interaction
  • Viewers enticed by a richer interaction experience, which

goes beyond the limited menus of DVD-Video

  • Special features
  • Studios want to include many special features and games

to clearly distinguish titles

  • Studios want to update the viewing experience with fresh

content, produced after the disc is sold

  • New business models
  • BD should enable new ways of doing business with optical

discs in terms of distribution models and making money

slide-12
SLIDE 12

2005 JavaOneSM Conference | Session TS-7091 | 12

Why Java Technology on Blu-ray Disc?

  • The Blu-ray Disc Association (BDA) selected Java

technology to be used as the platform for their advanced interactive application specification

  • A solid computer language is needed to achieve the desired

features in a future proof way

  • Java technology was selected because:
  • Java technology has proven to be a technical sound solution in the mobile

domain and in interactive television

  • Java technology offers flexibility in implementing new application features
  • Java technology has proven to work cross-platform in embedded devices
  • Java technology is networked and secure from its basis
  • The Java specification for Blu-ray Disc is called BD-J
slide-13
SLIDE 13

2005 JavaOneSM Conference | Session TS-7091 | 13

Application Examples

  • Studio-skinned A/V playback control
  • Subtitle updates via Internet
  • Download of new trailers
  • Playing games from disc and on-line
  • Digital magazines with graphics, text and A/V

content that you can browse at your HD display

  • On-line shopping from content authors web sites
slide-14
SLIDE 14

2005 JavaOneSM Conference | Session TS-7091 | 14

Agenda

What’s Blu-ray Disc? Why Java Technology on Blu-ray Disc? BD-J’s Basis—PBP and DVB-GEM Graphics and UI Security Aspects Application Cache Authoring What’s Next?

slide-15
SLIDE 15

2005 JavaOneSM Conference | Session TS-7091 | 15

BD-J’s Basis—DVB-GEM

  • The DVB-GEM specification is the global

“common core” of interactive television

  • Multimedia Home Platform (MHP)
  • Cable, Satellite and Terrestrial in Europe, parts of Asia, Australia
  • OpenCable Application Platform (OCAP)
  • US Cable
  • ATSC ACAP and ARIB B.23
  • Terrestrial in US and Japan
  • BD-J includes DVB-GEM
  • GEM adds a new “packaged media profile”
  • Eliminates broadcast-specific features,

like electronic program guide support

  • Internet connectivity is still optional
slide-16
SLIDE 16

2005 JavaOneSM Conference | Session TS-7091 | 16

ARIB B.23 OCAP ACAP DVB-GEM DVB-MHP

Relationship of Standards

slide-17
SLIDE 17

2005 JavaOneSM Conference | Session TS-7091 | 17

Why Use GEM?

  • It’s a good match
  • DVB-GEM defines a Java programming environment for the same

usage environment as BD-J and for the same kind of content

  • Movies and other A/V material for the living room
  • Re-use of open standards saves costs and

time in three ways:

  • Specification effort
  • Implementation effort
  • Test and verification effort
  • Interoperability
  • Adopting of DVB-GEM allows interoperability of Java technology

content across broadcast and packaged media

slide-18
SLIDE 18

2005 JavaOneSM Conference | Session TS-7091 | 18

  • GEM includes subset for packaged media
  • Includes:
  • javax.tv.xlet lifecycle API
  • Java Media Framework API players

(javax.media)

  • Control video size, position
  • Select new media to present
  • Locators
  • Like URLs, they reference media
  • Service model
  • Service context, service selection
  • A service maps to a BD-J Title

GEM Includes Java TV™ API

slide-19
SLIDE 19

2005 JavaOneSM Conference | Session TS-7091 | 19

Example

Basic Xlet Lifecycle GEM/Java TV API define the Xlet as the basic executable entity Multiple xlets are permitted; each has its

  • wn ClassLoader
slide-20
SLIDE 20

2005 JavaOneSM Conference | Session TS-7091 | 20

Xlet State Model

Paused Loaded

initXlet() pauseXlet() startXlet() destroyXlet() destroyXlet()

Destroyed Active

slide-21
SLIDE 21

2005 JavaOneSM Conference | Session TS-7091 | 21

public class MyXlet implements javax.tv.xlet.Xlet { public void initXlet(javax.tv.xlet.XletContext ctx) throws javax.tv.xlet.XletStateChangeException { } public void startXlet() throws javax.tv.xlet.XletStateChangeException { } public void pauseXlet() { } public void destroyXlet(boolean unconditional) throws javax.tv.xlet.XletStateChangeException { } }

Xlet Skeleton

slide-22
SLIDE 22

2005 JavaOneSM Conference | Session TS-7091 | 22

Example

Disc Title Selection vs. Broadcast Service Selection

slide-23
SLIDE 23

2005 JavaOneSM Conference | Session TS-7091 | 23

Example—Title Selection Using Java TV/GEM APIs (Cont.)

import javax.tv.locator.Locator; import javax.tv.locator.LocatorFactory; import javax.tv.service.Service; import javax.tv.service.SIManager import javax.tv.service.selection.ServiceContext; import javax.tv.service.selection.ServiceContextFactory; import javax.tv.xlet.XletContext; ... private XletContext xletContext; // Set on xlet startup

slide-24
SLIDE 24

2005 JavaOneSM Conference | Session TS-7091 | 24

Example—Title Selection Using Java TV/GEM APIs (Cont.)

// Switch from “Fargo” to “The Big Lebowski” on disc LocatorFactory fact = LocatorFactory.getInstance(); Locator titleII = fact.createLocator(“... title 2 ...”); SIManager mgr = SIManager.createInstance(); Service sII = mgr.getService(titleII);

ServiceContextFactory f2 = ServiceContextFactory.getInstance();

ServiceContext sc = getServiceContext(xletContext); sc.select(sII);

slide-25
SLIDE 25

2005 JavaOneSM Conference | Session TS-7091 | 25

Example—Broadcast Service Selection in OCAP/MHP

// Switch from “ESPN 8” to “LinkTV” LocatorFactory fact = LocatorFactory.getInstance(); Locator titleII = fact.createLocator(“... service 2 ...”); SIManager mgr = SIManager.createInstance(); Service sII = mgr.getService(titleII);

ServiceContextFactory f2 = ServiceContextFactory.getInstance();

ServiceContext sc = getServiceContext(xletContext); sc.select(sII);

slide-26
SLIDE 26

2005 JavaOneSM Conference | Session TS-7091 | 26

Does an Xlet Survive Service Selection?

  • This is defined by GEM
  • A table entry determines answer
  • “Service-bound” flag allows survival
  • Xlet must be present in both services to survive
  • Details of table layout different for BD, MHP,

OCAP

slide-27
SLIDE 27

2005 JavaOneSM Conference | Session TS-7091 | 27

Relation With DVB-GEM Packaged Media

BD-J Network Profile

BD-J Network Profile Additional Features DVB-GEM Packaged Media Target Interactive Profile Features DVB-GEM Packaged Media Target Enhanced Profile Features BD-J Stand-alone Profile Additional Features DVB-GEM Broadcast Target Additional Interactive Profile Features DVB-GEM Broadcast Target Additional Enhanced Profile Features BD-J Stand-alone Profile

slide-28
SLIDE 28

2005 JavaOneSM Conference | Session TS-7091 | 28

Index Table

Movie Object

User Interface

Movie PlayList Movie PlayList Movie PlayList

BD-J Object

PlayItem PlayItem PlayItem PlayItem PlayItem

Access point

(Time based) Data-byte Position Clip AV Stream Clip AV Stream

Button Object

Clip

  • First Playback
  • Top Menu
  • Title 1
  • Title 2

Clip

Clip Information Clip Information

Simplified Structure

  • f BD-ROM
slide-29
SLIDE 29

2005 JavaOneSM Conference | Session TS-7091 | 29

Title #2 (BD-J) Title #1 (HDMV)

TopMenu Index Table

Movie Module BD-J Module BD-ROM Resources Playback Control Engine BD-J Object Applicatio n Manager Movie Object

Module Manager Key Event Handler Navigator Xlet #3 Xlet #2 (autostart) Xlet #1 AMT for Title #2

JAR file for Title #2 Player Registers

BD-ROM Application Layer Structure

BD-ROM Resident System Software

slide-30
SLIDE 30

2005 JavaOneSM Conference | Session TS-7091 | 30

BD-J’s Java Platform: Personal Basis Profile™

  • GEM requires a Java platform
  • GEM came from MHP, which pre-dates the Java

Community Process

  • GEM/MHP is based on dated specifications,

but permits implementations based on Personal Basis Profile

  • GEM and MHP are migrating to PBP
  • BD-J requires Personal Basis Profile
  • JSR 129
slide-31
SLIDE 31

2005 JavaOneSM Conference | Session TS-7091 | 31

Personal Basis Profile

  • Built from the Connected Device Configuration

and Foundation Profile

  • Includes AWT, but no widgets
  • Foundation provides io, lang, weak references,

math, net, permissions, code signing, text, util, jar, generic collection framework

  • Basis adds AWT (without widgets), beans runtime,

xlet lifecycle model, inter-xlet communication (somewhat like RMI)

slide-32
SLIDE 32

2005 JavaOneSM Conference | Session TS-7091 | 32

Agenda

What’s Blu-ray Disc? Why Java Technology on Blu-ray Disc? BD-J’s Basis—PBP and DVB-GEM Graphics and UI Security Aspects Application Cache Authoring What’s Next?

slide-33
SLIDE 33

2005 JavaOneSM Conference | Session TS-7091 | 33

BD-J Graphics and UI

  • BD-J includes the HAVi UI device model

and widget set

  • Includes a customizable widget set aimed at

remote control usage

  • org.havi is from GEM
  • Extended for BD supported resolutions
  • Extended for BD A/V control keys
  • BD-J includes new classes for frame

accurate animation

  • Accurate synchronization with video frames
slide-34
SLIDE 34

2005 JavaOneSM Conference | Session TS-7091 | 34

BD-J HAVi HD Device Configuration

0.0,0.0 1.0,1.0

Back

Front

Background 1920x1080 square pixels Video 1920x1080 square pixels Graphics 1920x1080 square pixels

slide-35
SLIDE 35

2005 JavaOneSM Conference | Session TS-7091 | 35

Example

Using HAVi Widgets

slide-36
SLIDE 36

2005 JavaOneSM Conference | Session TS-7091 | 36

Example—HAVi Widgets

import java.awt.Container; import org.havi.ui.HGraphicButton; import org.havi.ui.event.HActionEvent; import java.awt.event.ActionEvent;

slide-37
SLIDE 37

2005 JavaOneSM Conference | Session TS-7091 | 37

Example—HAVi Widgets (Cont.)

... Container cont = ...; HGraphicButton button = new HGraphicButton(...); button.addHActionListener(new HActionListener() { public void actionPerformed(ActionEvent evt) { ... } }); cont.add(button);

slide-38
SLIDE 38

2005 JavaOneSM Conference | Session TS-7091 | 38

Synchronizing to Video

  • “Loose” video sync: Callback
  • Trigger API: org.dvb.dsmcc
  • Implemented by “DSM-CC stream events” in MHP
  • Mapped to on-disc timecodes
  • “Tight” video sync: Frame-accurate animation
  • In org.bluray package
  • Based on timecodes (javax.media.Time)
slide-39
SLIDE 39

2005 JavaOneSM Conference | Session TS-7091 | 39

Example

Trigger API

slide-40
SLIDE 40

2005 JavaOneSM Conference | Session TS-7091 | 40

Example—Trigger API

import org.dvb.dsmcc.ServiceDomain; import org.dvb.dsmcc.DSMCCObject; import org.dvb.dsmcc.DSMCCStreamEvent; import org.dvb.dsmcc.StreamEvent; import org.dvb.dsmcc.StreamEventListener;

slide-41
SLIDE 41

2005 JavaOneSM Conference | Session TS-7091 | 41

Example—Trigger API

ServiceDomain sd = ... get attached service doimain ...; DSMCCObject dir = sd.getMountPoint(); dir.synchronousLoad();

DSMCCObject obj = new DSMCCObject(dir, “lightweight_triggers”);

  • bj.synchronousLoad();

DSMCCStreamEvent se = new DSMCCStreamEvent(obj); se.subscribe(“the_dude_abides”,new StreamEventListener() { public void receiveStreamEvent(StreamEvent evt) { ... } });

slide-42
SLIDE 42

2005 JavaOneSM Conference | Session TS-7091 | 42

Draw Draw

Frame Accurate Animation Model

  • AWT Component with sequence of images and

start-time displays a new image each frame

= Real-time part

………

FrameAccurateAnimation

Image 1 Image 2 Image N

Animator Area Copier

Java App Video Source GFK Plane Mixer

Draw Status Info

Time Info Screen/Display Time Info Instructions

slide-43
SLIDE 43

2005 JavaOneSM Conference | Session TS-7091 | 43

Example

Xlet-Synchronized Frame-Accurate Animation

slide-44
SLIDE 44

2005 JavaOneSM Conference | Session TS-7091 | 44

Synchronized Frame-Accurate Animation

private org.bda.SyncFrameAccurateAnimation faa; void animationLoop() { int frame = 0; for (;;) { Graphics g = faa.startDrawing(frame); // can block ... draw the contents of the frame, using g; faa.finishDrawing(frame++); } }

slide-45
SLIDE 45

2005 JavaOneSM Conference | Session TS-7091 | 45

DEMO

Bouncing Balls

slide-46
SLIDE 46

2005 JavaOneSM Conference | Session TS-7091 | 46

Putting It All Together:

Sample Application Screen...

slide-47
SLIDE 47

2005 JavaOneSM Conference | Session TS-7091 | 47

Steps of the Tea Ceremony

In the music of Guzheng, the master lights the incense and washes her hands. Then she starts the whole process and invites the guests to appreciate both the tea and the tea ware. The tea ceremony emphasizes the porcelain ware from Jinde Town and the dark-red enameled pottery from Yixing.

> Virtual Theatre <

> SYNCHRONIZATION <

Server time is 16:10 (event starts at 16:00) Your client time is 16:10 CET

> Exit THE EVENT <

Director: Hi, I’m John… Actor1: Nice to meet you!… Actor2: Blah Blah Blah Blah Blah Director: Have a look at the red pointer (on the video) … Director: Blah Blah Blah Blah Actor2: Blah Blah Blah Blah Blah Actor1: Blah Blah Blah Blah Blah

Video Playback Buttons Directors Pointer Animations Text Display Online Chat

slide-48
SLIDE 48

2005 JavaOneSM Conference | Session TS-7091 | 48

Agenda

What’s Blu-ray Disc? Why Java Technology on Blu-ray Disc? BD-J’s Basis—PBP and DVB-GEM Graphics and UI Security Aspects Application Cache Authoring What’s Next?

slide-49
SLIDE 49

2005 JavaOneSM Conference | Session TS-7091 | 49

Security Aspects

  • BD-J uses the Java platform security model
  • Signed applications can get more permissions
  • Signing is based on JAR file signing
  • Linked with BD copy protection scheme
  • Permissions are required for
  • Read/Write access to local storage
  • Using the network connection
  • Title selection of other titles on the BD-ROM disc
  • Control of other running BD-J applications
slide-50
SLIDE 50

2005 JavaOneSM Conference | Session TS-7091 | 50

Agenda

What’s Blu-ray Disc? Why Java Technology on Blu-ray Disc? BD-J’s Basis—PBP and DVB-GEM Graphics and UI Security Aspects Application Cache Authoring What’s Next?

slide-51
SLIDE 51

2005 JavaOneSM Conference | Session TS-7091 | 51

Application Cache to Guarantee Seamless A/V Playback

Title#1 Title#2

Player’s Cache Memory

(Storing JAR files for BD-J applications)

Read Application (table) classloader

Java Application Manager Java Heap and Native Memory

BD

slide-52
SLIDE 52

2005 JavaOneSM Conference | Session TS-7091 | 52

Agenda

What’s Blu-ray Disc? Why Java Technology on Blu-ray Disc? BD-J’s Basis—PBP and DVB-GEM Graphics and UI Security Aspects Application Cache Authoring What’s Next?

slide-53
SLIDE 53

2005 JavaOneSM Conference | Session TS-7091 | 53

A Word About Authoring…

  • Some content may be written directly in

Java programming language

  • For example, video game-like enhancements
  • Most content will probably be written with

high-level tools

  • APIs are mostly low-level
  • Most discs within a genre are very similar
  • Opportunities exist in tool building
  • T-commerce suites
  • Content presentation engine
  • Toolchains built to authoring workflow
slide-54
SLIDE 54

2005 JavaOneSM Conference | Session TS-7091 | 54

Agenda

What’s Blu-ray Disc? Why Java Technology on Blu-ray Disc? BD-J’s Basis—PBP and DVB-GEM Graphics and UI Security Aspects Application Cache Authoring What’s Next?

slide-55
SLIDE 55

2005 JavaOneSM Conference | Session TS-7091 | 55

What’s Next?

  • We believe BD-J is a great application format

that increases the potential of the BD-ROM format specification

  • BD-J and Blu-ray have many advantages
  • For example, Java technology interactivity!
  • Players should be in stores in 2006
slide-56
SLIDE 56

2005 JavaOneSM Conference | Session TS-7091 | 56

Summary

  • Blu-ray Disc is a HDTV replacement for DVD, offering

more storage capacity and advanced CODECs

  • BD-J is the advanced interactive format for BD-ROM,

the pre-packaged Blu-ray Disc format

  • BD-J is based on Personal Basis Profile and

DVB-GEM

  • It is extended with BD specific features, including

title selection and frame-accurate animation

  • The future of BD-J will be interesting to follow
slide-57
SLIDE 57

2005 JavaOneSM Conference | Session TS-7091 | 57

For More Information

  • Blu-ray disc: http://www.blu-raydisc.com
  • See technical info, public specifications
  • DVB-DVB-GEM:
  • http://www.dvb.org
  • http://www.mhp.org
  • Official Specs available from from ETSI:

http://www.etsi.org

  • Personal Basis Profile (PBP):
  • JSR 129 under http://www.jcp.org/
slide-58
SLIDE 58

2005 JavaOneSM Conference | Session TS-7091 | 58

DEMO

slide-59
SLIDE 59

2005 JavaOneSM Conference | Session TS-7091 | 59

Q&A

slide-60
SLIDE 60

2005 JavaOneSM Conference | Session TS-7091 | 60

Submit Session Evaluations for Prizes!

  • You can win a $75.00 gift certificate to the on-site Retail

Store by telling Sun what you think!

  • Turn in completed forms to enter the daily drawing
  • Each evaluation must be turned in the same day as the

session presentation

  • Five winners will be chosen each day (Sun will send the

winners email)

  • Drop-off locations: give to the room monitors or use any
  • f the three drop-off stations in the North and South Halls

Note: Winners on Thursday, 6/30, will receive and can redeem certificates via email

Your opinions are important to Sun

slide-61
SLIDE 61

61 2005 JavaOneSM Conference | Session TS-7091

Java Technology Goes to the Movies: Java Technology in Next- Generation Optical Disc Formats

Bill Foote

Staff Engineer Sun Microsystems, Inc. http://java.sun.com

Session TS-7091

Erik Moll

System Architect Philips Applied Technologies http://www.philips.com