Ancillary data


Ancillary data is data that has been added to given data and uses the same form of transport. Common examples are cover art images for media files or streams, or digital data added to radio or television broadcasts.

Television

Ancillary data, in the context of television systems, refers to a means which by non-video information may be embedded within the serial digital interface. Ancillary data is standardized by SMPTE as SMPTE 291M: Ancillary Data Packet and Space Formatting.
Ancillary data can be located in non-picture portions of horizontal scan lines. This is known as horizontal ancillary data. Ancillary data can also be located in non-picture regions of the frame, This is known as vertical ancillary data.

Technical details

Location

Ancillary data packets may be located anywhere within a serial digital data stream, with the following exceptions:
Ancillary data packets are commonly divided into two types, depending on where they are located—specific packet types are often constrained to be in one location or another.
Note that ANC packets which lie in the dataspace which is in both the horizontal and vertical intervals, is considered to be HANC and not VANC.
VANC packets should be inserted in this manner:
All ANC packets must start with a start sequence; for component interfaces, the start sequence is 0x000 0x3FF 0x3FF. This sequence is otherwise illegal in the serial digital interface. .
Three words immediately follow the start sequence in the header. The first word after the start sequence is the Data Identifier or DID, followed by either a 'Secondary Data Identifier or a Data Block Number, followed by a Data Count. After the Data Count word are 0 - 255 User Data Words, followed by a Checksum word.
DID
The Data Identifier word, indicates the type of ancillary data that the packet corresponds to. Data identifiers range from 1 to 255, with 0 being reserved. As the serial digital interface is a 10-bit format, the DID word is encoded as follows:
Thus, a DID of 0x61 would be encoded as 0x161, whereas a DID of 0x63 would be encoded as 0x263. Note that this encoding scheme ensures that the reserved values in the serial digital interface are never used.
If the DID is equal to 128 or greater, then the packet is a Type 1 packet, and the DID is sufficient to identify the packet type, and the following word is a Data Block Number. If the DID is less than 128, it is a Type 2 packet, and the following words is the Secondary Data Identifier; the DID and SDID together identify the packet type.
SDID
The SDID is only valid if the DID is less than 0x80. The SDID is nominally an 8-bit value, ranging from 0 to 255. It is encoded in the same fashion as the DID.
DID/SDID words of 161 101 correspond to a DID of 61 hex, and a SDID of 1 ; these values would indicate that the packet type is defined by SMPTE 334M, and contains DTV closed captions data.
DBN
The DBN is only valid if the DID is 80 hex or greater. It is used to identify multiple packets of the same type within a field; each subsequent packet of the indicated type has a DBN which is one higher than the previous packet, wrapping around as necessary. The DBN is an 8-bit value, encoded in the same fashion as the SDID.
DC
The Data Count word is an 8-bit value, encoded in the same fashion as the DID, which indicates how many user data words are to follow. It can range from 0 to 255.
UDW
User data words are the "payload" present in the ANC packet. They are defined according to the packet type, SMPTE 291M does not define their use or impose any restrictions on the values which may be present in the UDW space. The only restriction is that the reserved values in the serial digital interface may not be included in the UDW. Many ANC formats, though not all, are essentially 8-bit formats, and encode data in the same manner that the header words are encoded.
Example
SMPTE 352M defines four UDW:
BitsByte 1Byte 2Byte 3Byte 4
Bit 71Interlaced or Progressive transportReservedReserved
Bit 60Interlaced or Progressive pictureHorizontal Y´/Y sampling 1920 or 2048 Reserved
Bit 50ReservedReservedReserved
Bit 40ReservedReservedDynamic range 100%, 200%, 400%, Reserved
Bit 31Picture Rate Sampling structure Dynamic range 100%, 200%, 400%, Reserved
Bit 20Picture Rate Sampling structure Reserved
Bit 10Picture Rate Sampling structure Bit depth 8-bit, 10-bit, 12-bit, Reserved
Bit 01Picture Rate Sampling structure Bit depth 8-bit, 10-bit, 12-bit, Reserved
Checksum
The last word in an ANC packet is the Checksum word. It is computed by computing the sum of bits 0-8, of all the other words in the ANC packet, excluding the packet start sequence. Bit 9 of the checksum word is then defined as the inverse of bit 8. Note that the checksum word does not contain a parity bit; instead, the parity bits of other words are included in the checksum calculations.

Usage

Embedded audio

is audio payload which is the soundtrack for the video program. Two standards, SMPTE 272M and SMPTE 299M define how audio is embedded into the ancillary space. The SD and HD standards provide for up to 16 channels of PCM audio, while 3G allows up to 32 channels, typically encoded in the AES3 format. In HD, the embedded audio data packets are carried in the HANC space of Cb/Cr parallel data stream.
In addition, both standards define audio control packets. The audio control packets are carried in the HANC space of the Y parallel data steam and are inserted once per field at the second video line past the switching point. The audio control packet contains audio-related metadata, such as its timing relative to video, which channels are present, etc.
Embedded audio packets are Type 1 packets.

EDH

EDH packets are used for error detection in standard definition interfaces.