ITU-R BT.656 Protocol
The BT.656 video signal data format was introduced formally as a recommendation from the Radiocommunication sector of the International Telecommunication Union (ITU-R). It describes a simple protocol for the interfaces and data stream format required to send uncompressed PAL (625-line), SECAM (625-line), or NTSC (525-line) television signals between digital television equipment.
The protocol defines both bit-parallel and bit-serial interfaces, as well as the blanking, sync and multiplexing schemes uses in transmission of the video signal. Altium Designer's BT656 Controller implements an 8-bit parallel interface, for reception of video data in the BT.656 format.
Where ITU-R BT.656 defines the interfaces for transmitting digital video between equipment, the actual digital video signal adheres to ITU-R 601. This recommendation defines the scheme for encoding interlaced analog video signals – for both 625 and 525 line systems – in digital form.
For more information on both of these recommendations, refer to www.itu.int/ITU-R.
Data Stream Format
Figure 1 shows the composition of the BT.656 interface data stream for a single horizontal line of video data, the fields of which are described in the sections that follow.
Although EAV, BLANKING and SAV are shown as three distinct fields within the stream, they are collectively the horizontal blanking interval, between active video data for successive lines in the stream.
EAV and SAV
The EAV (End of Active Video) and SAV (Start of Active Video) parts of the stream are timing codes. Their function can be summarized as follows:
- EAV – marks the end of the active video data within the current line and therefore also the start of the subsequent line.
- SAV – heralds the start of the active video data within the current line.
These codes are embedded within the BT.656 video data stream, thereby eliminating the need for additional (and conventional) timing signals (HSYNC
, VSYNC
, BLANK
) to be included as part of the interface.
Both EAV and SAV codes are comprised of a sequence of four bytes. The first three bytes in the sequence constitute a fixed preamble: FFh
– 00h
– 00h
. The fourth byte, often labeled 'XY' in literature, contains information about the field being transmitted (Field 1 or Field 2 in an interlaced video signal), the state of field blanking (Vertical) and the state of line blanking (Horizontal). The bit assignment for this byte of the code is shown in Figure 2, with the function of each bit described in Table 1.
MSB LSB | |||||||
1 | F | V | H | P3 | P2 | P1 | P0 |
Bit | Symbol | Function |
---|---|---|
7 | 1 | Always set to '1'. |
6 | F | Field bit. |
5 | V | Vertical Blanking Status bit. This bit goes High during a vertical field blanking interval, otherwise it remains Low. |
4 | H | Horizontal Blanking Status bit. |
3 | P3 | Protection bit 3 |
2 | P2 | Protection bit 2 |
1 | P1 | Protection bit 1 |
0 | P0 | Protection bit 0 |
The protection bits allow for detection and correction of 1-bit errors and the detection of 2-bit errors. The status of P3, P2, P1 and P0 depend on the states of bits F, V and H. This dependency is shown in Table 2.
F | V | H | P3 | P2 | P1 | P0 |
---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 | 1 | 0 | 1 |
0 | 1 | 0 | 1 | 0 | 1 | 1 |
0 | 1 | 1 | 0 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 1 | 1 | 1 |
1 | 0 | 1 | 1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 | 1 | 0 | 0 |
1 | 1 | 1 | 0 | 0 | 0 | 1 |
Active Video Data
In accordance with ITU-R BT.601, individual pixels in a line are encoded using the YCbCr color space and, more precisely, the 4:2:2 YCbCr sampling organization. For standard 525/625-line systems, in each line of video the Active Video Data consists of 720 active samples of Y (the luminance – or brightness – component) and 360 samples each of Cb (blue chrominance – or color – component) and Cr (red chrominance – or color – component). The overall number of samples in an Active Video Data region of a stream is therefore 1440.
After the SAV code has been transmitted for the current line of video, the active video data is sent in the following standard multiplexed sequence, as defined by the ITU-R BT.656 protocol:
Cb 0 Y 0 Cr 0 Y 1 Cb 1 Y 2 Cr 1 Y 3 ............ Cb 359 Y 718 Cr 359 Y 719
Each successive grouping of CbYCr within the stream corresponds to a single point on the transmitted picture – i.e. a single pixel. The three samples in such a grouping are referred to as being co-sited.
As part of reformatting the ITU-R BT.656 video signal into a VGA-friendly memory image, Altium Designer's BT656 Controller converts the YCbCr color format for each pixel into either corresponding Red, Green and Blue values (RGB) or a Grey value, depending on the color mode set for the Controller.
BLANKING
During the transmission of the video signal, the portion of the stream in-between active video data segments is known as the horizontal blanking interval. Strictly speaking this entire region is the blanking interval, but this interval also includes the EAV and SAV codes.
The remaining bytes of information in a digital blanking interval are filled with values corresponding to the blanking levels of the Cb, Y and Cr signals respectively, and in accordance with the standard multiplex sequence for the stream (CbYCrY..). The blanking levels are as follows:
- Cb =
80h
- Y =
10h
- Cr =
80h
.
The sequence in the BLANKING region of the data stream is therefore:
80h
, 10h
, 80h
, 10h
.....80h
, 10h
For standard 525-line systems, the number of bytes of information in the BLANKING region of the stream will be 268. For a standard 625-line system, this number will be 280.
Ancillary Data
Ancillary data (digital audio, closed-captioning, teletext) can be inserted into the data stream during the horizontal blanking interval, between EAV and SAV codes. It can also be transmitted at any time during vertical blanking intervals. Ancillary data in the video stream will be ignored by Altium Designer's BT656 Controller.