HDMI Intel® FPGA IP User Guide

ID 683798
Date 12/15/2021
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

5.1.2. Source Video Resampler

The video resampler consists of a dual-clock FIFO (DCFIFO) and a gearbox.

The gearbox converts data of 8, 10, 12, or 16 bits per component to 8-bit per component data based on the current color depth. The General Control Packet (GCP) conveys the color depth information.

Figure 15. Source Video Resampler Signal Flow DiagramThe figure below shows the components of the video resampler and the signal flow between these components.
The resampler adheres to the recommended phase encoding method described in HDMI 1.4b Specification Section 6.5.
  • The phase counter must register the last pixel packing-phase (pp) of the last pixel of the last active line.
  • The core then transmits the pp value to the attached sink device in the GCP for packing synchronization.

The HDMI cable may send across four different pixel encodings: RGB 4:4:4, YCbCr 4:4:4, and YCbCr 4:2:2 (as described in HDMI 1.4b Specification Section 6.5), and YCbCr 4:2:0 (as described in HDMI 2.0b Specification Section 7.1).

Figure 16. Pixel Data Input Format RGB/YCbCr 4:4:4The figure below shows the RGB/YCbCr 4:4:4 color space pixel bit-field mappings per symbol. When the actual color depth is below 16 bpc, the unused LSBs are set to zero.
Figure 17. Pixel Data Input Format YCbCr 4:2:2 (12 bpc)The figure below shows the YCbCr 4:2:2 color space pixel bit-field mappings per symbol. As with 4:4:4 color space, the unused LSBs are set to zero.

The higher order 8 bits of the Y samples are mapped to the 8 bits of Channel 1 and the lower order 4 bits are mapped to the lower order 4 bits of Channel 0.

The first pixel transmitted within a Video Data Period contains three components, Y0, Cb0 and Cr0. The Y0 and Cb0 components are transmitted during the first pixel period while Cr0 is transmitted during the second pixel period. This second pixel period also contains the only component for the second pixel, Y1. In this way, the link carries one Cb sample for every two pixels and one Cr sample for every two pixels. These two components (Cb and Cr) are multiplexed onto the same signal paths on the link.

Figure 18. Pixel Data Input Format YCbCr 4:2:0 The figure shows the YCbCr 4:2:0 color space pixel bit-field mappings. As with 4:4:4 color space, the unused LSBs are set to zero.

The two horizontally successive 8-bit Y components are transmitted in TMDS Channels 1 and 2, in that order. The 8-bit Cb or Cr components are transmitted alternately in TMDS Channel 0, line by line.

For even lines starting with line 0:

  • vid_data[47:32] always transfer the Yn+1 component
  • vid_data[31:16] always transfer the Yn component
  • vid_data[15:0] always transfer the Cbn component

For odd lines:

  • vid_data[47:32] always transfer the Yn+1 component
  • vid_data[31:16] always transfer the Yn component
  • vid_data[15:0] always transfer the Crn component

The frequency of vid_clk must be halved when YCbCr 4:2:0 is used, because two pixels are fed into a single clock cycle.

Figure 19. YCbCr 4:2:0 Transport Using 1 Symbol Per Clock Mode The figure below shows the YCbCr 4:2:0 transmission when the core operates in 1 symbol per clock mode.