Mode Mode Color Time Scan Family Name Type (sec) Lines Notes ------ ---- ---- ----- ----- ----- AVT 24 RBG 24 120 d 90 RGB 90 240 d 94 RGB 94 200 d 188 RGB 188 400 d 125 BW 125 400 d Martin M1 RGB 114 16+240 b M2 RGB 58 16+240 b M3 RGB 57 8+120 c M4 RGB 29 8+120 c Pasokon TV P3 RGB 203 16+480 High P5 RGB 305 16+480 Resolution P7 RGB 406 16+480 Robot 8 BW 8 120 a, e B&W 12 BW 12 120 e 24 BW 24 240 e 36 BW 36 240 e Robot 12 YC 12 120 Color 24 YC 24 120 36 YC 36 240 72 YC 72 240 Scottie S1 RGB 110 16+240 b S2 RGB 71 16+240 b S3 RGB 55 8+120 c S4 RGB 36 8+120 c DX RGB 269 16+240 b Wraase SC-1 24 RGB 24 128 48 RGB 48 256 96 RGB 96 256 Wraase SC-2 30 RGB 30 128 60 RGB 60 256 120 RGB 120 256 180 RGB 180 256 ProSkan J120 RGB 120 240 WinPixPro GVA 125 BW 125 480 GVA 125 RGB 125 240 GVA 250 RGB 250 480 Acorn PD 65 ? 65 ? PD 160 ? 160 ? PD 180 RGB 180 480 PD 240 RGB 240 480 "J.A." ? ? ? 480 Martin HQ1 YC 90 240 HQ2 YC 112 240 MSCAN TV1 ? ? ? TV2 ? ? ? Color Type: RGB - Red, Green, and Blue components sent separately. YC - Sent as Luminance (Y) and Chrominance (R-Y and B-Y). BW - Black and White. Notes: a - Similar to original 8 second black & white standard. b - Top 16 lines are gray scale. 240 usable lines. c - Top 8 lines are gray scale. 120 usable lines. d - AVT modes have a 5 second digital header and no horizontal sync. e - Robot 1200C doesn't have B&W mode but it can send red, green, or blue memory separately. Traditionally, just the green component is sent for a rough approximation of a B&W image. VIS Codes --------- The original vertical sync signal was simply 30 milliseconds of 1200 Hz. The Robot 1200C used a much longer vertical sync signal containing digital information. This is called the Vertical Interval Signaling (VIS) code and allows a receiving station to select the proper mode automatically. All modern SSTV systems use this VIS code but many people still announce the mode about to be transmitted because VIS decoding is not very reliable under noisy conditions. Vertical Interval Signaling Codes --------------------------------- Low High Order Bits (MSB = Even Parity) Order Bits | 0/8x 1/9x 2/Ax 3/Bx 4/Cx 5/Dx 6/Ex 7/Fx | p000 p001 p010 p011 p100 p101 p110 p111 ------+---------------------------------------------------------------- x0 | Robot SC-1 Martin Scottie AVT AVT Acorn Pasokon 0000 | 12 sec 24 M1 S4 24 [3] 125 PD 180 TV [6] | Color Color [4a] | x1 | Robot [7] [8] AVT AVT Acorn Pasokon 0001 | 8 sec 24 125[4a] PD 240 TV P3 | Red [1] Narrow Narrow | x2 | Robot [7] [8] AVT AVT Acorn Pasokon 0010 | 8 sec 24 125[4a] PD 160 TV P5 | Green [1] QRM QRM GVA 125 | x3 | Robot [7] SC-2 AVT AVT PD 90 Pasokon 0011 | 8 sec 30 sec 24 125 [4a] TV P7 | Blue [1] Color Nar+QRM Nar+QRM PD 65 -+- x4 | Robot SC-1 Martin Scottie AVT [5] ProSkan [5] 0100 | 24 sec 48 [2] M3 S3 90 J120 | Color Color | x5 | Robot [7] [8] AVT 0101 | 12 sec 90 | Red [1] Narrow | x6 | Robot [7] [8] AVT 0110 | 12 sec 90 | Green [1] QRM | x7 | Robot [7] SC-2 AVT GVA BW 0111 | 12 sec 180 sec 90 125 | Blue [1] Color Nar+QRM -+- x8 | Robot SC-1 Martin Scottie AVT MSCAN 1000 | 36 48 [2] M2 S2 94 future | Color Color | x9 | Robot [7] [8] AVT MSCAN 1001 | 24 sec 94 future | Red [1] Narrow | xA | Robot [7] [8] AVT MSCAN 1010 | 24 sec 94 future | Green [1] QRM | xB | Robot [7] SC-2 AVT MSCAN 1011 | 24 sec 60 sec 94 future | Blue [1] Color Nar+QRM -+- xC | Robot SC-1 Martin Scottie AVT 188 GVA 250 1100 | 72 96 M1 S1 Scottie | Color Color DX [4b] | x1 | Robot [7] [8] AVT 0001 | 8 sec 188 | Red [1] Narrow | x2 | Robot [7] [8] AVT 0010 | 8 sec 188 | Green [1] QRM | x3 | Robot [7] SC-2 AVT PD 120 0011 | 8 sec 120 sec 188 | Blue [1] Color Nar+QRM -+- The VIS code is sent as: 30 mS start of 1200 Hz. 7 data bits sent LSB first, 30 mS each, 1100 Hz for 1, 1300 Hz for 0. Even parity bit of 30 mS. 30 mS stop of 1200 Hz. New High Resolution Modes ------------------------- One of the most popular requests for the next version of Pasokon TV was higher resolution modes for 640 x 480 images. There were no existing standards so I had to develop a new specification. The new modes are similar to most existing modes in that they: - Send images as R-G-B. - Use 1500 - 2300 Hz for image intensities. - Use 1200 Hz for horizontal sync. - Have VIS code at the beginning. - Have extra gray scale lines at the top. These new modes differ from existing modes in a couple significant ways: - Well defined and published. Developers of new SSTV modes generally tried to keep details secret. Other developers guessed from their own measurements of signals heard and all the guesses came out a little different. As a result, different systems aren't exactly compatible with each other especially for the lesser used modes. - Based on nice round numbers. The AVT system sends all pixels at precisely 2048 per second but all the others use VERY BIZARRE timing. Here is the specification with enough detail that others should be able to implement it. There are 3 new modes for 640 x 480 image transmission. They all begin with a different VIS code which does not conflict with any other known modes. (Was true at the time of publication but it was discovered months later that some other experimental modes used the same codes.) We need a central registry for allocating unique numbers. I suggest http://www.ultranet.com/~sstv/modes.html because it can be accessed electronically from around the world. They all have 16 lines of gray scale at the top, black on left and white on right. Text may also appear in this region. The transmitting station adds it automatically and most receiving systems will display it. These top 16 lines generally won't be saved when the image is written to a file. After the 16 gray scale lines, we have 480 image lines. Assuming 640 pixels per line, the timing for each line is: [ VIS code (first line) or horizontal sync here ] Back porch - 5 time units of black (1500 Hz). Red component - 640 pixels of 1 time unit each. Gap - 5 time units of black. Green component - 640 pixels of 1 time unit each. Gap - 5 time units of black. Blue component - 640 pixels of 1 time unit each. Front porch - 5 time units of black. Horizontal Sync - 25 time units of 1200 Hz. A total of 1965 time units per line. The 3 modes differ only in the length of the "time unit" mentioned above. Mode name P3 P5 P7 --------- ---- ---- ---- Time units / second 4800 3200 2400 Total time (sec) 203 305 406 Total time (min) 3.4 5.1 6.8 VIS code (hexadecimal, 71 72 F3 includes even parity) As you might have guessed, the names come from the number of minutes required to transmit a picture. The porches allow more accurate detection of the sync edge than if an unknown video level was adjacent to the sync. Received images often have a slight amount of slant or horizontal shift from the ideal. By placing black gaps of a few pixels between the color components, edges will have less noticable (and annoying) black instead of the other edge of the image wrapped around in the wrong color. For the highest quality mode, P7, a pixel rate of 2400 Hz was picked because it is a nice round number close to the rates used by M1, and S1. It is also a standard serial port baud rate so some low cost implementations might want to use a serial port somehow for timing. It is also harmonically related to the sync frequency but that probably doesn't make any difference. The P3 mode, has twice as many pixels per second resulting in half the transmission time and lower image quality. P5 is somewhere in the middle. You will notice that all the numbers listed are multiples of 5 time units. Implementations choosing to use 512 instead of 640 pixels per line can simply multiply everything by 4/5 and it all still comes out in nice round numbers. For example, P7 would have a pixel rate of 2400 * 4 / 5 = 1920 Hz. The front and back porches, and the gaps would be 4 units instead of 5. Each line is a total of 1572 time units. The total line time, in milliseconds, comes out the same. For best image quality, the receiving station will want to use "free run" or synchronous mode. Uncalibrated systems can follow the horizontal sync pulses for timing. The presence of horizontal sync also allows you to receive the rest of an image even if you missed the beginning. Modes without horizontal sync, such as AVT, do not have this property.