Memory & Limitations


In a BDMV application, memory is divided into three buffers: a Primary, Secondary, and Preloading

There is also two switches. The first switch (SW1) between the switch before the buffers selects the appropriate buffer to receive demodulated packet data from
the BD-ROM Drive or Local Storage.

The Preloading Buffers are responsible for storing data, fonts, graphics, and sounds, and is the first to be loaded before the Primary Read Buffer.

On the other hand, the Primary Read Buffer (RB1) stores the video and audio bitrate, as well as the on-screen presentation graphics for subtitles, and is loaded last.

The Second Read Buffer (RB2) enables the supply of an an Out-of-Mux audio stream to the decoder even while the main MPEG stream is being decoded thanks to the second switch (SW2). For example, a Browsable Slideshow with background music, the switch selects the Secondary Read Buffer (RB2) to store an Out-of-Mux audio stream and continue supplying the audio stream to the decoder. It is unknown if this works with fonts and graphics since it's supported on UHD-BD (Profile 6.0). However, it is possible to load data to the buffers/cache from local storage without interfering with disc playback.


Blu-ray's decoder model


Memory Limitations

Media Type Description Buffer Size
Primary Video
Main video for a movie, video background, or still-images. Normally played from the disc. Stored in the primary read buffer.
5 MB (40 Mbps)*
Primary Audio
Main soundtrack for a movie, music album, or video game. Normally played from the disc. Stored in the primary read buffer. It can also be stored in the secondary read buffer.
5 MB (40 Mbps)
Secondary Video Provides Picture-in-Picture video in front of the Primary Video. Normally played from local storage. Stored in the primary read buffer.
3.456 MB (27.648 Mbps)*
Secondary Audio Audio for the secondary video; can also be used for additional audio for video games. Normally played from local storage. Stored in the primary read buffer. 32 KB (256 Kbps)
Presentation Graphics/Text Fonts
Both formats used for subtitles, displaying text, or decorations. Both formats cannot be displayed at the same time. PGs are stored in the primary memory buffer. Text fonts are stored in the second preloading memory buffer.
4 MB
Interactive/BD-J Graphics
Used for store graphics and sprites for interactive menus, video games, and interactive programs. Stored in the second preloading memory buffer. 16 MB (HDMV)/45.5 MB (BD-J)**
Interactive Sound Used for interactive audio for menus and video games. Stored in the first preloading memory buffer. A single sound.bdmv file is limited to 2 MB.
8 MB
Java Heap
Data for a BD-J application (JAR files(s) are loaded here). A single JAR file are limited to 4 MB. Non-Java data are not stored here, but read from the disc directory or local storage.
32 MB

* The maximum memory (bitrate) for simultaneous playback of Primary Video and Audio is 6 MB (48 Mbps). In Profile 5.0 (3D) players, MVC Dependent view (left-eye) is 5 MB (40 Mbps), the maximum memory for simultaneous playback of both the left-eye and right-eye for 3D video is 60Mbps (7.5 MB).

** Players with Profile 2.0 and 5.0 have an additional 15 MB of graphics memory for BD-J, totaling 61.5 MB. However, it's strongly advised to stick with the standard 45.5 MB to ensure compatibility with Profile 1.1 players, unless it's being used for an application that requires a LAN/online connection (e.g. Multiplayer) and Stereo 3D content. Ultra HD Blu-ray (Profile 6.0) supports 131 MB size for 4K graphics.

Secondary Video and Audio is not available on Ultra HD Blu-ray (Profile 6.0)

 

Item Limitations

Besides memory, developers also have to deal with the limitations of video and data items.

Item Max Number of Items
Angles
9
Audio Streams (Primary) 32
Audio Streams (Secondary) 32
Chapters
999
Clips 4000
Objects 1001
Interactive Graphics Streams
32
Playlists
2000
Subtitles
32
Titles
999
Sounds
128


Types of Blu-ray Storage

BD contains three ways of storing assets for a BD application, the Disc, the Memory, and Local Storage. Each type of storage has there own advantages and disadvantages.

Storage Type Description Speed
Blu-ray Disc
Loads data files first, before primary video and audio files. Data can load quickly if it's close to the disc's edge and not having too many files, directories, or nested sub-directories. The reason why the disc is slower is because of seeking tracks, sectors, and clusters take awhile to navigate from the drive's laser. Reading content from the disc is fine as long as it's not a big application such as a movie or an album with basic menus*.
Slower (6.43MB/sec)
Local Storage
Used to install secondary video and audio (or primary) from the disc. Besides being used for storing resume play, bookmarks, settings, or game saves. It can be used for storing cache for BD-J apps and games for quicker loading without needing a disc. Local Storage usually uses flash memory, which is faster because it uses no moving parts.
Faster
Memory (RAM)
The memory is the fastest because the assets are already there after loading.
Fastest

*Using HDMV mode is quicker than BD-J, because it uses less data files, 8-bit color graphics, and no complex virtual machine. HDMV is recommended just for simple movie and music applications (just don't be lazy on aesthetics).


Sources

  • Scenarist BD Development manual, Doom9 forums, BD-ROM Whitepaper (2010), and original research.
  • HDCookbook - Page 21-1 "BD-J File I/O"
  • Hughnews.ca 
  • libbluray.java (for Profile 1.1, 2.0, and 6.0)


Author(s) : Æ Firestone


on Monday, May 6, 2024 | , | A comment?
0 responses to “Memory & Limitations”

Leave a Reply

Popular Pages