guides:ssdv
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
guides:ssdv [2012/07/19 13:05] – [Future] fsphil | guides:ssdv [2016/06/30 09:35] (current) – [Packet Format] fsphil | ||
---|---|---|---|
Line 9: | Line 9: | ||
^ Offset ^ Name ^ Size ^ Description ^ | ^ Offset ^ Name ^ Size ^ Description ^ | ||
| 0 | Sync Byte | 1 | 0x55 - May be preceded by one or more sync bytes | | | 0 | Sync Byte | 1 | 0x55 - May be preceded by one or more sync bytes | | ||
- | | 1 | Packet Type | 1 | 0x66 | | + | | 1 | Packet Type | 1 | 0x66 - Normal mode (224 byte packet + 32 byte FEC) | |
+ | | | | | 0x67 - No-FEC mode (256 byte packet) | ||
| 2 | Callsign | | 2 | Callsign | ||
| 6 | Image ID | | 6 | Image ID | ||
Line 15: | Line 16: | ||
| 9 | Width | 1 | Width of the image in MCU blocks (pixels / 16) 0 = Invalid | | | 9 | Width | 1 | Width of the image in MCU blocks (pixels / 16) 0 = Invalid | | ||
| 10 | Height | | 10 | Height | ||
- | | 11 | Flags | 1 | 000000xx: 000000 | + | | 11 | Flags | 1 | 00qqqexx: 00 = Reserved, qqq = JPEG quality level (0-7 XOR 4), e = EOI flag (1 = Last Packet), xx = Subsampling Mode (0 = 2x2, 1 = 1x2, 2 = 2x1, 3 = 1x1) | |
| 12 | MCU offset | | 12 | MCU offset | ||
| 13 | MCU index | 2 | The number of the MCU pointed to by the offset above (big endian), or 0xFFFF if none present | | | 13 | MCU index | 2 | The number of the MCU pointed to by the offset above (big endian), or 0xFFFF if none present | | ||
- | | 15 | Payload | + | | 15 | Payload |
- | | | + | | |
- | | 224 | FEC | 32 | Reed-Solomon forward error correction data. This may be omitted for storage, or if the mode already provides FEC | | + | | 224 | FEC | 32 | Reed-Solomon forward error correction data. Normal |
- | Sizes and offsets are in bytes, with each packet being 256 bytes in total (or 224 bytes with no FEC data). | + | Sizes and offsets are in bytes, with each packet being 256 bytes in total. |
==== Image Format ==== | ==== Image Format ==== | ||
Line 31: | Line 32: | ||
* The quantisation and huffman tables are fixed | * The quantisation and huffman tables are fixed | ||
* Baseline DCT only | * Baseline DCT only | ||
- | * Total scan data must not exceed | + | * Total scan data must not exceed |
* The first MCU of each packet is byte aligned | * The first MCU of each packet is byte aligned | ||
* The first DC values for each component in the first MCU of a packet are relative to 0 | * The first DC values for each component in the first MCU of a packet are relative to 0 | ||
Line 57: | Line 58: | ||
The current implementation uses 8-bit RTTY at various baud rates. A more appropriate method should be used in future. | The current implementation uses 8-bit RTTY at various baud rates. A more appropriate method should be used in future. | ||
+ | One idea is to pack the SSDV packets (sans-FEC) into an AX.25 frame for transmission over standard amateur radio packet networks. It may even be possible to do this in such a way that the format is compatible with the APRS network. | ||
===== Software ===== | ===== Software ===== | ||
Line 65: | Line 67: | ||
http:// | http:// | ||
+ | NOTE: Versions prior to DL3.1 contained an older version of the SSDV decoder which can not handle the finalised format described above. | ||
==== ssdv ==== | ==== ssdv ==== | ||
Line 87: | Line 90: | ||
===== History ===== | ===== History ===== | ||
+ | |||
+ | * 2015-10-19: An EOI flag was added to the header, using one of the previously reserved bits. This bit should be set to 0 except on the final packet for the current image. | ||
+ | |||
+ | * Some final changes made to the format 2012-03-04. Images produced with this version of the encoder will be compatible with all future decoders. | ||
* TU Delft launch in Holland transmitted images at 600 and 1200 baud. Two receiving stations where decoding data, and at 600 baud almost all data was received. Some of the 1200 baud images where also received, but with more gaps in the data. | * TU Delft launch in Holland transmitted images at 600 and 1200 baud. Two receiving stations where decoding data, and at 600 baud almost all data was received. Some of the 1200 baud images where also received, but with more gaps in the data. |
guides/ssdv.1342703153.txt.gz · Last modified: 2012/07/19 13:05 (external edit)