5.8.6.17 4:4:4 To 4:2:2 Chrominance Horizontal Subsampler (SUB422) Module

The color space conversion output stream is a full-bandwidth YCbCr 4:4:4 signal. The chrominance subsampling divides the horizontal chrominance sampling rate by two. A horizontal low pass filter is applied to avoid aliasing effect. The SUB422 module samples 444 full scale YCbCr cbc_data[29:0] 30-bit data, performs horizontal subsampling and generates the sub422_data[39:0] 40-bit data bus with its validity signal sub422_valid.

Figure 5-105. SUB422 Block Diagram
ISC_SUB422_CTRL.ENABLEISC_SUB422_CFG.CCIRSUB422_DATA SliceValue
00sub422_data[29:0]cbc_data[29:0]
10sub422_data[39:30]Y1= cbc_data1[29:20]
sub422_data[29:20]Y0 = cbc_data0[29:20]
sub422_data[19:10]Cb = filter_hor(cbc_data[19:10])
sub422_data[9:0]Cr = filter_hor(cbc_data[9:0])
11sub422_data[39:30]Y1 = cbc_data[9:0]
sub422_data[29:20]Y0 = cbc_data[9:0]
sub422_data[19:10]Cb = cbc_data[9:0]
sub422_data[9:0]Cr = cbc_data[9:0]

The filter_hor function included in the sub422 module is the chrominance horizontal filter.

sub422 Data SliceYCbCr Mapping
sub422_data[39:30]Y1 (sample n)
sub422_data[29:20]Y0 (sample n-1)
sub422_data[19:10]Cb (from filter)
sub422_data[9:0]Cr (from filter)

The filter chrominance position is selectable through the use of ISC_SUB422_CFG.FILTER.

Figure 5-106. Cosited Filter Configuration
Figure 5-107. Centered Filter Configuration

The SUB422 module performs luminance and chrominance packing. When the line length is odd, the missing luminance is a copy of the last but one luminance. It also means that the final dma stream written to memory is equal to the original horizontal size plus one when the line length is odd.

SUB422_DATA SliceEven Line LengthOdd Line Length
sub422_data[39:30]Y(n)Y(n-1)
sub422_data[29:20]Y(n-1)Y(n-1)
sub422_data[19:10]Cb (filtered)Cb (filtered)
sub422_data[9:0]Cr (filtered)Cr (filtered)