From Web Media Text Tracks Community Group
Features of the CEA-708 specification
Thanks to Ken Harrenstien from Google for sharing his analysis of the features in CEA-708 with us.
You can buy the latest spec at CEA-708-D if you care for more details.
The various concepts in 708 that need to be represented are as follows.
The five major components of CEA-708 captioning are:
- Caption Screen: The Caption Screen is the canvas on which caption windows are displayed.
- Caption Windows: Caption Windows are the areas within which caption text is displayed.
- Caption Pens: Caption Pens define styles and attributes for the appearance of the text within the caption windows.
- Caption Text: The Caption Text component defines how text is encoded and directed to specific windows.
- Caption Synchronization: The Caption Synchronization component controls the flow of interpretation of commands and caption text within the independent service data streams.
Caption Screen (the video viewport)
Grid cell setup (Size ratio) - Not knowable in advance without knowing program content.
- 16:9 - 210 horiz x 75 vert
- 4:3 - 160 horiz x 75 vert
- other - 100 horiz x 100 vert
Coordinates are (horiz, vert). (0,0) is top left corner.
- Eg 16:9 corners are (0,0), (209,0), (0,74), (209,74)
NOTE: grid cells are for positioning WINDOWS, not text!
Caption Windows (rendering region)
Properties of a "Window" (up to 8, identified by winId value 0-7):
- Window Priority (0-7). Lower # overlays higher #.
- Anchor point (9 possibs)
Anchor ID 0-8 refers to: 0 top-left corner 1 top middle 2 top-right corner 3 left middle 4 middle/center 5 right middle 6 bottom left corner 7 bottom middle 8 bottom right corner
- Anchor location on grid (horiz, vert), thus window location
- Size in terms of character rows & cols.
Max # rows is 15, max # cols is 32. Physical size of window depends on lots of other things.
- Locked/unlocked rows/cols
If rows unlocked, decoder can change # of displayed rows. If cols unlocked, decoder can change # of displayed cols. Normally both are locked.
- Text justification
LEFT - justified to start of row RIGHT - justified to end of row CENTERED FULL - aligned to start and end margins
- Text print direction
Left->Right Right->Left Top->Bottom Bottom->Top
- Text scroll direction
Same options as text print direction, but only certain combinations of print and scroll direction are allowed. Horizontal scrolling allowed only with vertical print dir. Vertical scrolling allowed only with horizontal print dir.
- Display Effect
Effect to use when a window is displayed or hidden: - Snap on/off - Fade on/off - Wipe on/off - left-to-right - right-to-left - top-to-bottom - bottom-to-top
- Border type
- None - Raised - Depressed - Uniform - Drop-shadowed - Left - Right
- Background color
- Clear - Colored (64 color palette) - translucent - solid - flashing
Caption Pen (cue text attributes)
- Font size (user modifiable)
3 sizes: SMALL, STANDARD, LARGE
- Font (8 standard)
8 standard styles: 0 - Default (undefined) 1 - Monospaced serif (Courier) 2 - Proportionally spaced serif (Times New Roman) 3 - Monospaced sans serif (Helvetica Monospaced) 4 - Proportionally sans serif (Arial, Swiss) 5 - Casual font type (Dom, Impress) 6 - Cursive font type (Coronet, Marigold) 7 - Small capitals (Engravers Gothic) Plus pen styles: - Italicized - Underlined
- Character offsetting
- normal (no offset) - subscript (offset vertically downward) - superscript (offset vertically upward)
- Foreground color & opacity
Same options as for window background
- Background color & opacity
Each char has a small rectangular box for background, distinct from that of the window. - Same options as for window background
- Char Border type
- NONE, RAISED, DEPRESSED, UNIFORM, DROP_SHADOWED
- Char Border color
- Same options as for window background
- Caption text function tags (yikes!)
0 - Dialog (normal) 1 - Source or speaker ID 2 - Electronically reproduced voice 3 - Dialog in a lang other than the primary lang 4 - Voiceover 5 - Audible translation 6 - Subtitle translation 7 - Voice quality 8 - Song lyrics 9 - Sound effect description 10 - Musical score description 11 - Expletive 12 - undef 13 - undef 14 - undef 15 - Text not to be displayed (reserved for future uses)
Pre-defined Window and Pen attribute sets
- 7 sets for both, specified in Recommendations.
- No explicit "Text Write" command. Anything not a command is text to be written into the current window using the current pen.
- 4 glyph sets defined by 708 (see full desc farther down)
G0 - ASCII G1 - ISO 8859-1 G2 - Misc chars G3 - icon / reserved
In 708, normally real-time, but can buffer commands in advance for later execution using "Delay" command (max 25.5 sec). Not needed if we provide explicit timecodes.
User is allowed to override these things:
- caption font size
- caption color
- caption intensity (brightness)