43.6.18 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 43-40. 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 43-41. Vertical Chrominance Filter for Progressive Content (Cosited Chrominance Example)
Figure 43-42. Field-dependent Chrominance Filter for Interlaced Content (Cosited Chrominance Example)
Table 43-2. Filter Configuration
ISC_SUB420_CTRL.FILTER Field Filter Configuration
0 progressive {1, 1}
1 0 (TOP) {3, 1}
1 (BOTTOM) {1, 3}
Table 43-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