Jump to content

Talk:EIA-608: Difference between revisions

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
Content deleted Content added
revert page opened with experimental edit; replace with appropriate WP:project banner
No edit summary
Line 1: Line 1:
{{WikiProject Television|class=t|importance=|beat=yes|beat-importance=}}
{{WikiProject Television|class=t|importance=|beat=yes|beat-importance=}}
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?)

Revision as of 13:45, 29 December 2016

WikiProject iconTelevision: Broadcasting Unassessed
WikiProject iconThis article is within the scope of WikiProject Television, a collaborative effort to develop and improve Wikipedia articles about television programs. If you would like to participate, please visit the project page where you can join the discussion. To improve this article, please refer to the style guidelines for the type of work.
???This article has not yet received a rating on Wikipedia's content assessment scale.
???This article has not yet received a rating on the project's importance scale.
Taskforce icon
This article is supported by the Broadcast engineering and technology task force.

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?)