- BD-J
BD-J, or Blu-ray Disc Java, is the interactive platform supporting advanced content for
Blu-ray Disc . BD-J allows bonus content on Blu-ray Disc titles to be far more sophisticated than bonus content provided by standardDVD , including network access, picture-in-picture and access to local storage.BD-J was developed by the
Blu-ray Disc Association . All Blu-ray Disc players supporting video content are required to support BD-J, but none of the early players, except for Sony'sPlayStation 3 , support advanced features such as expanded local storage (persistent memory), picture-in-picture, or internet access. Collectively, these features (other than internet access) are referred to as "Bonus View", and the addition of internet access is called "BD Live."The
PlayStation 3 added Blu-ray Profile 1.1 support with a firmware upgrade and was used to showcase BD-Live at CES 2008 in January.Starting on
October 31 2007 , all "new" players are required to have hardware support for the "Bonus View" features, but the players may require future firmware updates to enable the features.cite web|url=http://www.videobusiness.com/article/CA6495668.html|title=Blu-ray Disc Assn. promotes new Bonus View] "BD Live" support is always optional for a BD player.Technology
BD-J is based on a packaged media profile of
Globally Executable MHP , or GEM. GEM, in turn, forms the basis of most global digital television application standards, includingMultimedia Home Platform ("DVB-MHP") for broadcast, satellite, and cable worldwide,OpenCable Application Platform ("OCAP") for North American cable, andAdvanced Common Application Platform ("ACAP") for US broadcast. GEM is anETSI standard; DVB-MHP is aDVB standard. All GEM-based standards are built on top of Java technology, invented bySun Microsystems . Because BD-J, MHP, OCAP, and ACAP are all based on the Java platform, there is a high degree of content interoperability between these standards, making it easier, for example, for Blu-ray Disc content features to be made available on cable Video on Demand, or for interactive television content originally aired on broadcast television to be repackaged and made available on Blu-ray Disc.Fact|date=November 2007BD-J Sample Code
The basic framework for a sample
Xlet looks like this:BD-J Xlet Capabilities
* Xlets are called to action by events occurring around them - for example, by the selection of a movie title, or by the insertion of a new disc. Xlets in turn can call other Xlets into play.
* Security in BDJ is based on the Java platform security model. That is, signed applications in JARs can perform more tasks than a non-signed, such as Read/Write access to local storage, network access, selection of other titles on the BD-ROM disc, and control of other running BD-J applications.
* Xlets (as part of the Personal Basis Profile) have no GUI, so additional classes are called into play for generating animation and GUI. The BD-J uses the Havi UI device model and widget set for remote control use, but it is extended to allow for the BD supported resolutions and BD supported A/V controls.
* BD-J has classes that allow you to synchronize accurately to specific frames in the movie.
* There are two type of video synchronizations allowed, one called "loose synchronization", which uses a call back method and is accurate to within several frames of the event, and the other being "tight synchronization", which uses the package org.bluray. Tight synchronization allows applications to synchronize accurately to the exact frame using timecodes from the package javax.media.Time of JMF (Java Media Framework).
* A BD-J application’s GUI can be operated with a remote control with a required set of keys and an optional pointing device. The set of required keys includes at least the keys needed to support the User Operations in HDMV applications.
* The GUI framework in BD-J includes the HAVi(6) UI framework mandated by [GEM] ; it is not a desktop GUI framework like Swing or AWT. The GUI framework is based on the core of AWT as specified by PBP, but the widget set includes mechanisms for remote control navigation from GEM and easy customization of look and feel from HAVi.
* BD-J includes a media framework similar to JMF for the playback of media content related to the BD-ROM disc. It is assumed that the BD-ROM disc will be the prime source for media files, but it will not be the only one; other sources could be the studio’s web server and local storage.
* BD-J includes standard Java libraries for decoding and displaying images in JFIF (JPEG), PNG and other image formats. These images can be displayed on the Java graphics plane using standard Java graphics functions. An image can also be rendered in the background plane using a BD-J specific package.
* Text can be rendered using standard Java text functions. These text-rendering functions are extended with a more advanced text layout manager that integrates with the BD-J UI framework. The text is rendered using a vector-based font either coming from the disc, the player (default font) or downloaded from the network.
* Button sounds from HDMV can also be used by the Java UI framework. Sound files can be loaded and rendered as a reaction to the user pressing a key, or as a reaction on a marked event related to the movie - or as a reaction to any event generated by a BD-J Application.
* Authenticated applications can use a (signed) permission request file to acquire permissions that go beyond the BD-J sandbox. Permissions can be acquired for:
** Reading and writing to local and system storage
** Using the network connection (to connect to defined servers)
** Access of the file system on the BD-ROM disc
** Title selection of other titles on the BD-ROM disc
** Control of other running BD-J applications* BD-J applications can use the java.net package to connect to servers on the Internet. The physical connection might differ between implementations e.g. Ethernet, telephone line, etc. At the network level, TCP/IP is supported and the HTTP protocol may be used. Moreover, the Java package for secure connections is included (JSSE) as part of the BD-J platform. Before a BD-J application can use the network connection, it must be authenticated and have suitable permission to use the network.
* The web sites to which the application will go are under full control of the Content Provider. This control is guaranteed in two ways:
** Only (disc) authenticated BD-J applications are allowed to run when the disc is played. The application controls the use of the network connection.
** In addition, permissions defined on the disc can restrict the use of the (TCP/IP) network connection to certain sites.* BD-J will include support for storage. Two flavors of storage are included – mandatory System Storage and optional Local Storage. All storage is accessed using methods from the Java IO package. The path for local storage is as specified by [GEM] .
* System storage is storage that will be present in all BD-J players. The required minimum size of this system storage will permit storage of application data like settings, high-scores etc. It will not be big enough to store downloaded AV material. For this purpose, optional local storage is available. Typically system storage will be implemented using Flash memory and the optional local storage will be implemented on a HDD.
* Since storage is a shared resource between all discs played on the player, Java access control is part of BD-J. BD-J applications can only access a disc specific part of the storage space and cannot access the part belonging to other discs.
Content development
Content authors have a variety of development strategies available, including the use of traditional
Integrated Development Environments (IDE's) likeNetBeans or Eclipse, non-programming graphical environments similar to Macromedia Director, or via rendering engines which consume standard data formats such as HTML, XML, or SVG. Having a full programming environment available on every Blu-ray Disc player provides developers with a platform for creating content types not bound by the restrictions of standard DVD. In addition to the standard BD-J APIs, developers may make use of existing Java libraries and application frameworks, assuming they do not use features outside the constraints of the BD-J platform, of which most notably is that BD-J is based on Java version 1.3.BD-J Enhanced Movie Titles
"In alphabetical order"
* (Complete BD-J enhanced interactive menu)
*Batman Begins ("In-Movie Experience" picture in picture commentary [Profile 1.1] )
* Behind Enemy Lines (enhanced menu)
*The Beyoncé Experience Live! (Complete BD-J enhanced interactive menu)
*Big Fish (enhanced menu)
* Cars (Enhanced menus, CarFinder In-movie game)
* Chicken Little (Game, filmmaker Q&A)
* Crank (enhanced menu, Interactive PiP video commentary)
*The Day After Tomorrow (Also D-Box Enhanced, "Global Warming Interactive Trivia" game and "Global Warming Trivia Track.")
*The Descent ( PiP video commentary , enhanced menus)
* Doctor Strange (enhanced menu)
*Dragon's Lair (Game, Authored entirely in BD-J, PiP Video Commentary)
* (Also D-Box Enhanced, Games - "Who Dares Defy Galactus?" and "The World’s Greatest Comic Magazine.")
*Ghost in the Shell (Anime - in-movie menu)
*Good Luck Chuck (Complete BD-J enhanced interactive menu)
* Guardian (Filmmaker Q & A)
* League of Extraordinary Gentlemen (enhanced menu, game)
* (enhanced menus, bookmarking, on-screen AV controls)
* Men In Black (trivia game, BD-Live information and features)
*The Patriot (in-movie menu)
* (enhanced menu, Interactive in-movie feature)
* (Game)
* (enhanced menu)
* Ratatouille (enhanced menus, game , Behind the scene PiP)
*Space Ace (Game, Authored entirely in BD-J, PiP Video Commentary)
* Speed (enhanced menu, game)
* Spider-man (enhanced menus)
*Spider-Man 3 (enhanced menus)
* Sunshine (pip, A Brilliant Vision, D-Box Motion Sensor Track)
* Surf's Up
*Ultimate Avengers (enhanced menu)
* National Lampoon's Van Wilder (enhanced menu, Interactive Games, Commentary)
* Waiting... Unrated & Raw (enhanced menu, In-Movie remote, Interactive PiP video commentary)
* (enchanced menu)
* V for Vendetta ("In-Movie Experience"picture in picture commentary [Profile 1.1] )
* War (Complete BD-J enhanced interactive menu, Bookmarks, Blu-line Slider, Interactive PiP video commentary, Trivia mode, Yakuza Fighter Game)
* (enhanced menu, two discs)
* (enhanced menu, two discs, trivia tracks on all episodes, "Test Your Short-Term Memory” game)BD-J Upcoming Titles
"Note: Special features and release dates are subject to change.
Related publication
* "Programming HD DVD and Blu-ray Disc The HD Cookbook" (2008) - ISBN 9780071496704
See also
*
Blu-ray Disc
*Advanced Content , BD-J's counterpart onHD DVD References
External links
* [http://www.blu-raydisc.com/ Blu-ray Disc Association] - Official BDA web site.
* [http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-0887&yr=2007&track=1 Javaone 2007 Technical Sessions: Producing Blu-ray Java Software Titles for Hollywood]
* [http://www.mhp.org/mhp_technology/gem/ GEM specification]
* [http://www.mhp.org/ Official MHP website] maintained by theDVB Project Office.
* [http://www.mhp-interactive.org/ MHP tutorials]
* [http://www.mhp-knowledgebase.org MHP Knowledge Database]
*[http://www.openmhp.org/ OpenMHP] - MHP-Open Source Project(dead link)
* [http://java.sun.com/javame/index.jsp Sun Microsystems' Java Micro Edition]
* [http://xletview.sourceforge.net/ xleTView] - xleTView, MHP-Open Source Emulator at Sourceforge.
* [http://www.interactivetvweb.org Interactive-TV-Web] - MHP/OCAP Website from Steven Morris.
* [http://forums.java.net/jive/forum.jspa?forumID=117&start=0 Official java.net BD-J Forums] - Official Sun java.net Forums for Blu-ray Disc Java.
* [http://www.bdjforum.com bdjforum.com] - Unofficial forum for BD-J developers and issues surround HD authoring.
Wikimedia Foundation. 2010.