Ancillary data (commonly abbreviated as ANC data), in the context of television systems, refers to a means which by non-video information (such as audio, other forms of essence, and metadata) 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 (HANC). Ancillary data can also be located in non-picture regions of the frame, This is known as vertical ancillary data (VANC).
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 only kind of serial digital interface in widespread use today), the start sequence is 0x000 0x3FF 0x3FF. This sequence is otherwise illegal in the serial digital interface. (In the obsolete composite versions of SDI, the ANC start sequence is a single word, 0x3FC).
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 (SDID) or a Data Block Number (DBN), followed by a Data Count (DC). After the Data Count word are 0 - 255 (inclusive) User Data Words (UDW), followed by a Checksum (CS) word.
The Data Identifier word (along with the SDID, if used), indicates the type of ancillary data that the packet corresponds to. Data identifiers range from 1 to 255 (FF hex), 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 (01100001) would be encoded as 0x161 (0101100001), whereas a DID of 0x63 (01100011) would be encoded as 0x263 (1001100011). Note that this encoding scheme ensures that the reserved values in the serial digital interface (0-3 and 1020-1023) are never used.