Blu-ray has two modes of menu creation and navigation authoring - Movie Mode (HDMV) and BD-J (Java).
Movie Mode uses a virtual instruction set that is similar to computer assembly languages, ties in directly to the player status registers, and has 4,096 general purpose registers to hold information. (DVD is similar in concept, but has only 16 registers).
Movie mode controls its own private interactive 8-bit graphics layer (IG stream) which is laid on top of the primary and secondary video streams.
BD-J uses a subset of an older Java specification, built on what was originally a cable-TV specification. While it is a true compiled programming language, it is constrained by the Blu-ray environment, and controls the same player registers as HDMV.
BD-J controls its own private interactive 32-bit graphics layer using png and jpeg images, also laid on top of the video streams. BD-J clips and Movie Mode clips can co-exist on the same disc.
BD-J is a true compiled language and has more color space than Movie Mode. But there the advantage ends. Because menus are usually laid on top of underlying video, because both modes use 8-bit transparency, and the excellent 8-bit palette generation of Photoshop, the need for 32 bits is reduced. 8-bit IG streams require less compute power to render them than BD-J, thus leaving more bandwidth for video, audio, and subtitle streams.
The biggest advantage of Movie Mode is player compatibility. BD-J is more complicated, and players in general do a less-perfect job of supporting its features than they do for the much simpler HDMV playback.
So it all comes down to the authoring application, and how does it generate the Movie Mode commands, or the Java code?
Typically for Movie Mode, Encore and similar applications use an "abstraction layer", with canned movie mode command lists that they call out. The Encore abstraction layer is very simple, and easily modified and expanded upon by Tracer.
For BD-J, there are various "routines" and "systems" that have been written. In NetBlender DoStudio and other implementations, these are also similar to an abstraction layer, and hidden from the author. Even Sonly BluPrint uses an abstraction layer. So writing BD-J code yourself is typically a difficult undertaking.
But the Movie Mode commands are actually quite easy to understand and write. Their biggest disadvantage is that they use numbers instead of names to identify things. So in Tracer you need to create a "cheat sheet" to identify which clip number or playlist number is which asset. But once you have that, the rest is easy.
Here at Rivergate we are busily writing tutorials to demonstrate some of the things that can be done with Encore + Tracer. As we continue development, we intend to expand on these examples and the capabilities of the editing process.
Add new comment