Talk:EIA-608
Television: Broadcasting Unassessed | |||||||||||||
|
This article is hard to follow, even for me, and I already (roughly) know how line 21 subtitles work!
Part of the difficulty is that there are subtle errors in the article, and part of it is that the presentation is chaotic and doesn't start with a broad overview.
And it is so simple at its core. Line 21 of the vertical blanking interval contains a black line with a series of grey pulses like this:
| detect & sync signature | char 1 . | P | char 2 . | P | _ _ _ _ _ _ _ ___ ___ _______ ___ ___ ___
So two characters, or one 14-bit control code, can be transmitted per line, in this case 0000101 (= P) and 0100101 (= R). The bits are transmitted from least significant to most and P is set so the parity is odd (an odd number of ones).
Every new frame two more characters can be sent. Here's an actual example:
- ... 0000000 0000000 0010100-0000010(×2) 0010100-0100101(×2) PROVIDED YOU COULD 0010100-0100111(×2) BL ...
The codes marked with ×2 are sent twice because they're control codes and their corruption would have more severe effects than the corruption of a character.
The 0000000 codes are empty padding padding characters and are continuously sent when there's no subtitle data to be sent.
0010100-0000010 is a control code (..1.100 ....010) with data: field=0 extended=false channel=0 / control=0000 (= resume caption loading)
0010100-0100101 is a row preamble (....100 ....1.1) with data: row=001 (= 14/15) channel=0 / underline=false indent=100 (= 4) nextrow=false (so: 14).
0010100-0100111 is also a row preamble with data: row=001 (= 14/15) channel=0 / underline=false indent=100 (= 4) nextrow=true (so: 15).
Control codes follow the pattern aaac(hannel)100-xxxxbbb as in the following table:
bbb \ aaa: 000 100 010 110 001 101 011 111 010 MR bg MR style xchar xchar ctl f0 ctl f1 text n/p xctl 110 schar --- xchar xchar --- --- text ne/c/e --- 001 RP style row= 11 1 3 12 14 5 7 9 101 RP cursor " 11 1 3 12 14 5 7 9 011 RP style " (12) 2 4 13 15 6 8 10 111 RP cursor " (12) 2 4 13 15 6 8 10
And codes with the pattern xxxx000-xxxxxxx are for XDS.
This isn't as difficult as the article pretends it is by a far stretch. (Why'd they have to mix up the rows though?)