EIA-608, also known as line 21 captions, is the standard for closed captioning for NTSC TV broadcasts in the United States and Canada. It also specifies Extended Data Service, a means for including information such as program name in a television transmission.
It was developed by the Electronic Industries Alliance and required by law to be implemented in most television receivers made in the United States.
EIA-608 captions are transmitted in the vertical blanking interval in NTSC broadcasts, and are also sometimes present in the picture user data in ATSC transmissions. It uses a fixed bandwidth of 960 bit/s.
EIA-608 is becoming less prevalent as digital television replaces analog. ATSC broadcasts use the EIA-708 caption protocol, which is fully capable of representing Spanish and French, and most capable of other Western European languages.
Channels
EIA-608 defines four channels of caption information, so that a program could, for example have captions in four different languages. There are two channels, called 1 and 2 by the standard, in each of the two interlace fields of a frame. However, the channels are often presented to users numbered simply 1-4.
These channels are not to be confused with television broadcast channels (frequency bands). Every broadcast channel has 4 of its own closed caption channels.
Within each channel, there are two streams of information which might be considered subchannels: one carries "captions" and the other "text." The latter is not in common use.
Extended Data Service
The EIA-608 data stream format includes Extended Data Service (XDS), a variety of information about the transmission. It is all optional, and includes:
- channel name
- channel call letters
- program name
- offensiveness rating (violence, sex, etc.)
- program category (drama, game show, etc.)
Characters
There are three sets of characters that the EIA-608 stream can direct the receiver to display: basic characters, special characters, and extended characters. A single two-byte EIA-608 command (represented by a single VBI line) can specify two basic characters or one special character or one extended character.
Extended characters are a later addition to the standard and optional.
EIA-608 provides controls for the color of the foreground and background of the text, underlining, blinking, and italics. The default color scheme is white characters on a black background, all opaque.
The Transparent Space special character is especially special in that it implies a transparent background even in the absence of any background control commands. As the foreground of this character is a blank space, it really means a gap in the close caption text.
Basic Characters
A command with Bit 12 off directs the receiver to display two basic characters at the current cursor position for the current mode (closed caption or text). Each character is a code point (identifies the character to display) as follows. The code is almost identical to ASCII; the exceptions are shown in red.
| Binary |
Decimal |
Hex |
Graphic |
| 0010 0000 |
32 |
20 |
(SP) |
| 0010 0001 |
33 |
21 |
! |
| 0010 0010 |
34 |
22 |
" |
| 0010 0011 |
35 |
23 |
# |
| 0010 0100 |
36 |
24 |
$ |
| 0010 0101 |
37 |
25 |
% |
| 0010 0110 |
38 |
26 |
& |
| 0010 0111 |
39 |
27 |
' |
| 0010 1000 |
40 |
28 |
( |
| 0010 1001 |
41 |
29 |
) |
| 0010 1010 |
42 |
2A |
á |
| 0010 1011 |
43 |
2B |
+ |
| 0010 1100 |
44 |
2C |
, |
| 0010 1101 |
45 |
2D |
- |
| 0010 1110 |
46 |
2E |
. |
| 0010 1111 |
47 |
2F |
/ |
| 0011 0000 |
48 |
30 |
0 |
| 0011 0001 |
49 |
31 |
1 |
| 0011 0010 |
50 |
32 |
2 |
| 0011 0011 |
51 |
33 |
3 |
| 0011 0100 |
52 |
34 |
4 |
| 0011 0101 |
53 |
35 |
5 |
| 0011 0110 |
54 |
36 |
6 |
| 0011 0111 |
55 |
37 |
7 |
| 0011 1000 |
56 |
38 |
8 |
| 0011 1001 |
57 |
39 |
9 |
| 0011 1010 |
58 |
3A |
: |
| 0011 1011 |
59 |
3B |
; |
| 0011 1100 |
60 |
3C |
< |
| 0011 1101 |
61 |
3D |
= |
| 0011 1110 |
62 |
3E |
> |
| 0011 1111 |
63 |
3F |
? |
|
|
| Binary |
Decimal |
Hex |
Graphic |
| 0100 0000 |
64 |
40 |
@ |
| 0100 0001 |
65 |
41 |
A |
| 0100 0010 |
66 |
42 |
B |
| 0100 0011 |
67 |
43 |
C |
| 0100 0100 |
68 |
44 |
D |
| 0100 0101 |
69 |
45 |
E |
| 0100 0110 |
70 |
46 |
F |
| 0100 0111 |
71 |
47 |
G |
| 0100 1000 |
72 |
48 |
H |
| 0100 1001 |
73 |
49 |
I |
| 0100 1010 |
74 |
4A |
J |
| 0100 1011 |
75 |
4B |
K |
| 0100 1100 |
76 |
4C |
L |
| 0100 1101 |
77 |
4D |
M |
| 0100 1110 |
78 |
4E |
N |
| 0100 1111 |
79 |
4F |
O |
| 0101 0000 |
80 |
50 |
P |
| 0101 0001 |
81 |
51 |
Q |
| 0101 0010 |
82 |
52 |
R |
| 0101 0011 |
83 |
53 |
S |
| 0101 0100 |
84 |
54 |
T |
| 0101 0101 |
85 |
55 |
U |
| 0101 0110 |
86 |
56 |
V |
| 0101 0111 |
87 |
57 |
W |
| 0101 1000 |
88 |
58 |
X |
| 0101 1001 |
89 |
59 |
Y |
| 0101 1010 |
90 |
5A |
Z |
| 0101 1011 |
91 |
5B |
|
| 0101 1100 |
92 |
5C |
é |
| 0101 1101 |
93 |
5D |
|
| 0101 1110 |
94 |
5E |
í |
| 0101 1111 |
95 |
5F |
ó |
|
|
| Binary |
Decimal |
Hex |
Graphic |
| 0110 0000 |
96 |
60 |
ú |
| 0110 0001 |
97 |
61 |
a |
| 0110 0010 |
98 |
62 |
b |
| 0110 0011 |
99 |
63 |
c |
| 0110 0100 |
100 |
64 |
d |
| 0110 0101 |
101 |
65 |
e |
| 0110 0110 |
102 |
66 |
f |
| 0110 0111 |
103 |
67 |
g |
| 0110 1000 |
104 |
68 |
h |
| 0110 1001 |
105 |
69 |
i |
| 0110 1010 |
106 |
6A |
j |
| 0110 1011 |
107 |
6B |
k |
| 0110 1100 |
108 |
6C |
l |
| 0110 1101 |
109 |
6D |
m |
| 0110 1110 |
110 |
6E |
n |
| 0110 1111 |
111 |
6F |
o |
| 0111 0000 |
112 |
70 |
p |
| 0111 0001 |
113 |
71 |
q |
| 0111 0010 |
114 |
72 |
r |
| 0111 0011 |
115 |
73 |
s |
| 0111 0100 |
116 |
74 |
t |
| 0111 0101 |
117 |
75 |
u |
| 0111 0110 |
118 |
76 |
v |
| 0111 0111 |
119 |
77 |
w |
| 0111 1000 |
120 |
78 |
x |
| 0111 1001 |
121 |
79 |
y |
| 0111 1010 |
122 |
7A |
z |
| 0111 1011 |
123 |
7B |
ç |
| 0111 1100 |
124 |
7C |
÷ |
| 0111 1101 |
125 |
7D |
Ñ |
| 0111 1110 |
126 |
7E |
ñ |
| 0111 1111 |
127 |
7F |
SB |
|
In the table above SB represents a solid block.
Special Characters
A command to display a special character has a first byte of 0x11 or0x19 (the difference is the channel bit). The second byte is a code point in the range 0x30-0x3F as follows.
| Binary |
Decimal |
Hex |
Graphic |
| 0011 0000 |
48 |
30 |
® |
| 0011 0001 |
49 |
31 |
° |
| 0011 0010 |
50 |
32 |
½ |
| 0011 0011 |
51 |
33 |
¿ |
| 0011 0100 |
52 |
34 |
™ |
| 0011 0101 |
53 |
35 |
¢ |
| 0011 0110 |
54 |
36 |
£ |
| 0011 0111 |
55 |
37 |
MN |
| 0011 1000 |
56 |
38 |
à |
| 0011 1001 |
57 |
39 |
TS |
| 0011 1010 |
58 |
3A |
è |
| 0011 1011 |
59 |
3B |
â |
| 0011 1100 |
60 |
3C |
ê |
| 0011 1101 |
61 |
3D |
î |
| 0011 1110 |
62 |
3E |
ô |
| 0011 1111 |
63 |
3F |
û |
|
TM is short for unregistered trademark and should be represented in superscript (™). TS in the table above represents a "transparent space" or non-breaking space. Finally, MN should be a musical note (♪), which is used to denote singing in captions.
Extended Characters
A command to display an extended character has Bits 12, 9, and 5 on and Bits 11, 10, and 6 off. The code point for the character consists of Bits 8 and 4-0.
There are 64 possible extended character code points, but not all are used. These characters are accented other letters not found in the basic and special character sets.
Control Commands
Bits 15 and 7 are always odd parity bits. Bit 11 is always the channel bit.
For a preamble address code these are as follows: Bits 15 and 7 are parity bits. Bits 14 and 13 are always 0, bits 12 and 6 are always 1. Bits 10, 9, 8 and 5 indicate the row position. Bits 4, 3, 2 and 1 indicate the attribute of the text. Bit 0 indicates underline.
The row bits specify which of the 15 screen rows should contain the caption text: row 11 (0000), 1 (0010), 2 (0011), 3, 4, 12, 13, 14, 15, 5, 6, 7, 8, 9, or 10 (1111).
The attributes bits allow 16 possibilities, which are: white (0000), green, blue, cyan, red, yellow, magenta, italics, indent 0, indent 4, indent 8, indent 12, indent 16, indent 20, indent 24, indent 28 (1111).
For a midrow code these are as follows: Bits 14, 13, 10, 9, 6 and 4 are always 0, bits 12, 8 and 5 are always 1. Bits 3, 2 and 1 form the color attribute (see the listing of attributes). Bit 0 indicates underline.
For other control codes these are as follows: Bits 14, 13, 9, 6 and 4 are always 0, bits 12, 10 and 5 are always 1. Bit 8 chooses between line 21 and 284. Bits 3, 2, 1 and 0 indentify the particular action.
The command bits allow 16 possibilities, which are: resume caption loading (0000), backspace (0001), delete to end of row (0100), roll-up captions 2-rows, roll-up captions 3 rows, roll-up captions 4-rows, flash on (0.25 seconds once per second), resume direct captioning, text restart, resume text display, erase displayed memory, carriage return, erase nondisplayed memory, end of caption (1111).
For tabs these are as follows: Bits 14, 13, 6, 4, 3, 2 are always 0, bits 12, 10, 9, 8, 5 are always 1. Bits 1 and 0 determine the number of tab offsets.
|