Graphics

Blu-ray's BDMV applications use 2D graphics for it's interactive content and subtitles.

 

 

 

 

The Blu-ray format uses various graphics formats:

Simple Graphics

Graphics Format Description Features Notes
Interactive Graphics Used for interactive menus 8-bit colors + alpha. Animations: Fade In/Out, Color changing, Wipe In/Out, Scrolling HDMV only, replaced with Java Graphics for BD-J mode.
Presentation Graphics* Used for bitmap subtitles and decorations 8-bit colors + alpha. Animations: Fade In/Out, Color changing, Wipe In/Out, Scrolling
Text subtitle streams* Used for victor-based subtitles 8-bit colors + alpha. Animations: Fade In/Out, Color changing. User change-able style: Text position, font size, line space Uses OpenType file format for fonts. Supports Unicode 2.0 (UTF-8 and UTF-16BE), Shift-JIS, KSC 5601-1987 (including KSC 5653), GB18030-2000, GB2312, BIG5
These simple graphics supports simplistic animations

 

BD-J Graphics

Graphics Format Description Features Notes
PNG Lossless graphics format Supports 32-bit colors and transparency. Realistic photos increases file size, ideal for small/simple graphics. Does not support animations by default, must be programed with Java.
JPEG Lossy graphics format Supports 32-bit colors and has high compression to make file size smaller. Ideal for realistic photos due to high compression and small file size. Not ideal for simple graphics. Does not support transparency. Only supports rectangular images.
GIF Lossless graphics format Supports 8-bit colors and transparency. Natively supports animation. Not ideal for realistic photos due to the limitations of 8-bit color which will cause dithering. Slower to decode on BD players.
OTF* Victor-based font format Supports 8-bit colors. Also called "BD-J Text". Slower to decode on BD players if using complex glyphs such as CJK characters. Supports Unicode 2.0 (UTF-8 and UTF-16BE), Shift-JIS, KSC 5601-1987 (including KSC 5653), GB18030-2000, GB2312, BIG5
BD-J Graphics supports advanced/complex animations such as rotation and scaling

 

Though it is recommended to use compliant image codecs, it is possible to employ different image formats (in software and binary) like .sdt files. However, non-compliant images is rendered in software, meaning it will strangle the CPU.

 
 Additionally, BD-J supports drawing graphics pixel-by-pixel using Java's Drawing API, java.awt.Graghics2D.
Drawing with this API permits:
  • 32-bit color model of blue/green/blue/alpha values and lower bit depth is allowed
  • SRC_OVER allows the ability to request alpha blending within the BD-J graphics layer.
  • Ability to draw 2D shapes, like rectangles, circles, and ellipes.
  • Draw strings
  • Draw and scale images
However, drawing is rendered in software, meaning it will be slow on some low-end players if it's a complicated image.
 


Author(s) : Æ Firestone

on Sunday, February 11, 2024 | | A comment?
0 responses to “Graphics”

Leave a Reply

Popular Pages