Memory & Limitations
In a BDMV application, memory is divided into three buffers: a Primary, Secondary, and Preloading
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
Popular Pages
-
Clip Information File Type of format Data format First released 2006 Developer Blu-ray Disc Association Filename...
-
INI Type of format Configuration file First released 1985? Developer Microsoft? Filename extension .ini Op...
-
HDMV (High Definition Movie) mode is an interactive framework with the well-known features of DVD, but it's more advanced than DVD m...