TODO:
For information on the general structure of analog video signals, see "Basics of Analog Video" by Analog Devices.
The Jerrold scrambling scheme has evolved over time, which means some scramblers only support a subset of the available modes.
To allow for both RF and Baseband set-tops to be used in the same system, both the AM and VBI data may be sent on the same video signal. This is called “Mixed” mode. In this mode, only the RF scrambling modes (sync suppression) are available.
RF scrambling is implemented by all Jerrold scramblers, and is so named because the scrambling is done by attenuating the video signal at the IF/RF stage.
Scrambling is done by attenuating the video RF signal by 0dB (passed through unmodified), 6dB or 10dB. This attenuation occurs during:
Timing, tag and scrambling data is carried as amplitude modulation on the audio IF. As the audio is FM modulated, the amplitude modulation will have no effect on the TV receiver.
The format of the scrambling data is briefly documented in Coffell, J. "Tri-Mode Cable-TV Scrambling". Radio-Electronics Feb 1987, but this only includes a brief mention of how the service code is encoded.
The timing and data pulses may be 'sniffed' from pins inside the MVP scrambler. They're present on the blue wire (pin 7) which runs from the main PCB to the modulator can.
Timing pulses are sent by amplitude-modulation of the audio subcarrier. The timing pulses are sent around 900ns before the video sync pulse (this is around the time the RF attenuator is enabled), with a pulse width of 2.52us.
The first timing pulse is sent on line 24. The last timing pulse sent in an NTSC system is sent on line 262.
Data pulses are sent 19.3us after the leading edge of timing pulses. The pulse width is around 2.8us.
The data stream consists of 16 bits, encoded as per the Radio-Electronics article above. Expanding this further:
Start | Service | Payload | |||||||
---|---|---|---|---|---|---|---|---|---|
S | 0 .. 7 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
These bits are:
Each field carries one packet, and there are 16 packets in a loop:
N | Payload | Function |
---|---|---|
1 | 0000 0000 | Null padding |
2 | 0000 0000 | Null padding |
3 | 0000 0000 | Null padding |
4 | 0000 0000 | Null padding |
5 | 0000 0000 | Null padding |
6 | 0000 0000 | Null padding |
7 | 1111 0000 | |
8 | 0001 LHC0 | Scrambling data |
9 | 0000 0000 | Null padding |
10 | 0000 0000 | Null padding |
11 | 0000 0000 | Null padding |
12 | 0010 LHC0 | Scrambling data |
13 | 0000 0000 | Null padding |
14 | 0100 LHC0 | Scrambling data |
15 | 1000 LHC0 | Scrambling data |
16 | 1111 1111 | Latch scrambling data for next frame |
The scrambling data bits function as follows. Note that only one of the L
, H
, C
bits may be set.
L
: 6dB sync attenuation enableH
: 10dB sync attenuation enableC
: Clear, no sync attenuationThis is a mode of the MVP scrambler which attempts to obfuscate timing data. Its mode of operation is unknown.
TODO: Investigate
This is a mode of the MVP scrambler which attempts to obfuscate scrambling data. Its mode of operation is unknown.
Baseband scrambling is an extension of RF scrambling. 0dB/6dB/10dB sync suppression scrambling modes are supported as before, but implemented at baseband instead of RF.
Support for active video inversion and audio privacy (shifted audio subcarrier) have been added, and the tag and scrambling control data has been moved to VBI line 18. The scrambling mode can change as often as every 16 video fields if needed.
A “mixed mode” scrambling mode is also possible. This performs scrambling at baseband, but includes both the VBI data stream and RF (amplitude-modulation of the audio subcarrier) data. In mixed mode, only sync-suppression scrambling is available (not audio privacy or video inversion).
Video is scrambled from line 24 to 262 (inclusive) on both fields.
In Baseband and Mixed (not RF-only) modes, the last scrambled line of the field (line 262) includes an “end of field” burst in the same format as VBI line 13 (see below).
Scrambled video lines include a special sync burst which contains an average video level reference. The AVL reference has the following characteristics:
This AVL reference is used to define the level around which the video is inverted.
Sync suppression attenuates the sync pulses by 0dB, 6dB or 10dB after the AVL level has been inserted. Timing is as follows:
Baseband scrambling sends scrambling data using the vertical blanking interval. The following lines are used in NTSC, on both fields:
Scrambling data packets are carried in the VBI on line 18 of both fields.
These lines are formatted as follows:
The bit format is as follows, in the order the bits are sent:
SSSSCCCCPPPPPPPPPPPPPPPP Where: SSSS: 4-bit sequence code, least-significant bit first. CCCC: 4-bit additive checksum of all nibbles in the block, least-significant bit first. PP..: 16-bit payload data.
Data lines are transmitted from sequence code 15 down to zero, in an endless loop. Both fields are used. This means that sequence number 15 is transmitted on field 1, code 14 on field 2, code 13 on field 1, and so on.
The following sequence codes are in use:
SSSS CCCC 0000 0000 PPPP PPPP Where: SSSS: 4-bit sequence code, least-significant bit first. Set to 4. CCCC: 4-bit additive checksum of all nibbles in the block, least-significant bit first. 00..: Unused bits, set to zero. PP..: 8-bit service code minus one, least-significant bit first.
The service code sent in this packet is one less than that configured on the MVP panel. This means that the MVP's service code range of 1 to 256 translates directly to a byte value of 0 to 255.
SSSS CCCC P0VL L000 0000 0000 Where: SSSS: 4-bit sequence code, least-significant bit first. CCCC: 4-bit additive checksum of all nibbles in the block, least-significant bit first. P: Audio Privacy. 1 if enabled. V: Video Inversion. 1 if enabled. LL: Sync suppression level. 11: 0dB 01: 6dB 10: 10dB 00: Illegal 00..: Unused bits, set to zero. PP..: 8-bit service code minus one, least-significant bit first.
Scrambling mode changes take place after two fields, i.e. when the sequence code returns to 15 at the start of a new loop.
The initial information used to decipher the line-18 coding came from Magicboxes, via Dave2. This had some errors and omissions, but the basics were all there.
Other parts were filled in by reading the MVP-II and MVP scrambler manuals, and by watching the output of an MVP scrambler on an oscilloscope while changing the settings.
This is included for completeness only. It has several errors (notably the data length being shown as 16 bits instead of 24, and the lack of any information on the channel code data). However, the scope traces fill in some gaps in the explanation above.
Original source: Magicboxes, via Dave2.
The GI/Jerrold systems use sync suppression at 3 attenuation levels (0, 6, and 10dB), video inversion, and audio encoding. One of the last posts from MagicBoxes concluded that all this information was transmitted during the first field on line 18. The difficult part here is that the information on line 18 could also be used for other purposes besides scrambling mode (such as authorization codes). Therefore the correct data packet must be interpreted. From MagicBoxes (a little cleaned up):
Well, here for the first time ever is a a short summary of how GI protects their entire analog line:
If a mode change packet below is received then mode is changed in 2 fields
Caution: the Mode Packet is represented as if the data were sent most-significant bit first. The Jerrold convention is actually to send the least-significant bit first.
Sync Supp. Level | Inverted Video | Audio Privacy | Mode Packet |
---|---|---|---|
0db (clear) | No | No | 8A18 |
0db (clear) | Yes | No | 8838 |
0db (clear) | No | Yes | 8298 |
0db (clear) | Yes | Yes | 80B8 |
6db | No | No | 8B08 |
6db | Yes | No | 8928 |
6db | No | Yes | 8388 |
6db | Yes | Yes | 81A8 |
10db | No | No | 8610 |
10db | Yes | No | 8430 |
10db | No | Yes | 8A90 |
10db | Yes | Yes | 88B0 |
The mode change packet includes the start bit.
The packet disassembled:
[start bit] | 0 | 0 | 0 | [CRC - 4 bits] | [audio privacy] | 0 | [invert bit] | [6db bit] | [10db bit] |
Level | 6db | 10db |
---|---|---|
0db | 1 | 1 |
6db | 0 | 1 |
10db | 1 | 0 |
Illegal | 0 | 0 |
Above is the entire scrambling data which can be used to descramble any GI analog system. Notice that the data is NOT encrypted. This data stream (as the authorization stream) are both unencrypted.
From Dave2.
Audio (from me Dave2) is usually simply encoded on to a higher carrier frequency than is normally expected by a receiver. On my system (CFT 2014) it is 31.5kHz higher, on others CFT 550 (from jpb) it is 25kHz. Because the audio is still completely in tact, it can't be called scrambling, it is simply modulated at a different frequency. This technique is widely known as SCA or SCS. It is the same manner that Second Audio Program (SAP) on televisions and how stereo FM primarily works. To retrieve the audio, all that needs to be done is to take the audio signal from the FM detector of an IF chip, prior to the de-emphasis circuit, and do an FM detect at the sub-carrier frequency. A simple PLL circuit using a MC14046B or LM/NE565 tuned to the sub-carrier frequency has been shown to work adequately.
Another method I've heard rumors of is identical but is used for stereo encoding. The audio is apparently FM modulated to 250kHz. I've seen US patent information on this one (US 4956862) but haven't had any confirmations yet.