51.6.13 4:2:2 To 4:2:0 Chrominance Vertical Subsampler (SUB420) Module

The chrominance subsampling divides the vertical chrominance sampling rate by two. A vertical low pass filter is applied to avoid aliasing effect. Two different filters are used when the source frame is interlaced, and the filter configuration depends on the field value (the field is propagated in the video pipeline).

Figure 51-31. SUB420 Block Diagram

The SUB420 module samples the sub422_data[39:0] 40-bit data when sub422_valid is asserted, then it performs a vertical subsampling and generates a valid sub420_data[39:0] 40-bit word and the corresponding sub420_valid signal.

ISC_CFA_CTRL.ENABLE SUB420_DATA Slice Value
0 sub420_data[39:0] sub422_data[39:0]
1 sub420_data[39:30] Y1 = sub422_data[39:30]
sub420_data[29:20] Y0 = sub422_data[29:20]
sub420_data[19:10] Cb = filter_ver(sub422[19:10])
sub420_data[9:0] Cr = filter_ver(sub422[9:0])

The vertical filter is a two-tap filter; for progressive content the coefficient i {1, 1}. When an interlaced field is downsampled, the coefficients are different between the top and the bottom fields.

Figure 51-32. Vertical Chrominance Filter for Progressive Content (Cosited Chrominance Example)
Figure 51-33. Field-dependent Chrominance Filter for Interlaced Content (Cosited Chrominance Example)
Table 51-2. Filter Configuration
ISC_SUB420_CTRL.FILTER Field Filter Configuration
0 progressive {1, 1}
1 0 (TOP) {3, 1}
1 (BOTTOM) {1, 3}
Table 51-3. Output Line Length Configuration
SUB420 Input Number of Rows SUB420 Luminance Rows SUB420 Chrominance Rows
M rows, M odd M rows (M+1)/2 rows
M rows, M even M rows M/2 rows