This article is rated Start-class on Wikipedia's content assessment scale. It is of interest to the following WikiProjects: | ||||||||||||||
|
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?) — Preceding unsigned comment added by 80.114.146.117 (talk) 13:45, 29 December 2016 (UTC)
Needs a photo
editIt is requested that a photograph be included in this article to improve its quality.
The external tool WordPress Openverse may be able to locate suitable images on Flickr and other web sites. |
The waveform image is a poor way of illustrating this article. Could we get some kind of unencumbered screen capture that would better illustrate what a human bein sees when watching closed caption TV ? --Wtshymanski (talk) 22:27, 29 April 2019 (UTC)
Characters per second
editI think I'm misunderstanding something. "480 bit/s per line 21 field for a maximum of 32 characters per line per caption (maximum four captions) for a 30 frame broadcast." I can't make the math work out here. 480bps only gives 32 characters when you have 15 bits per character, which doesn't make sense. If it's split between odd/even frames, it's 7.5 bits per character, which isn't even possible. Then there's the 'per caption (maximum four captions). What exactly does this mean? What am I not getting here? Unless I'm missing something obvious (which I will not at all contest once its shown to me), I think this needs a lot of clarification for the average reader. Dstar3k (talk) 00:57, 12 March 2021 (UTC)