- The input interface extracts the valid region from the Bayer RAW data:
- Up to 12-bit input pixel resolution in Bayer format
- 16bit (8bit Y + 8bit U or V) in YUV format
- Requires at least 8 pixels for horizontal blanking and four lines for vertical blanking. In one-shot mode; 16 blanking lines after processing area are required.
- The maximum horizontal and vertical offset of IPIPE processing area from synchronous signal is 65534.
- Supports RGB Bayer pattern for input
- The DPC module fixes defect pixels using two methods: LUT-based and on-the-fly adaptive.
- DPC works with NSF3V module
- The 2D noise-filter module reduces noise in RAW data.
- The green-imbalance-correction (GIC) module reduces Gb/Gr difference to remove line crawl noise.
- The white balance module applies offset and gain adjustments to each color.
- The color filter array (CFA) interpolation module implements CFA interpolation. The output from the CFA interpolation module is RGB-4:4:4 formatted data. CFA also reduces aliasing caused by undersampling by digital anti-aliasing (DAA).
- The RGB2RGB blending module applies a 3 × 3 matrix transform to the RGB data generated by the CFA interpolation module.
- The gamma correction module independently applies gamma correction to each RGB component. Gamma is implemented using a piece-wise linear interpolation approach with a 512-entry LUT for each color.
- The second RGB2RGB blending module applies a 3 × 3 matrix transform to the RGB data after gamma correction.
- 3D-LUT converts RGB data to RGB data using 9 × 9 × 9 table and tetrahedral interpolation.
- The RGB2YCbCr conversion module applies 3 × 3 matrix transformation to the RGB data to convert it to YCbCr data. This module also implements offset. The global brightness and contrast enhancement module fixes brightness and contrast tone.
- The 4:2:2 conversion module applies the Chroma low-pass filter and downsampling to Cb and Cr to convert 4:4:4 data to 4:2:2 data.
- The 2D edge-enhancer module improves image clarity with a Luma nonlinear filter.
- The Chroma artifact reduction module reduces color artifacts using gain control and a 2D median filter.
- The output interface module transfers data from IPIPE to SDRAM in the form of one YCbCr (4:2:2 or 4:2:0), RGB (32/16 bits), or Bayer data.
- The histogram function can record histograms of up to four distinct areas into up to 256 bins.
- The boxcar function makes 1/8 or 1/16 size (1/64 or 1/256 in area) images.
- The boundary signal calculator (BSC) makes vectors of row and column summations.
- Convert YUV422 to full color RGB
IPIPE has four processing paths:
- Case 1: IPIPE reads CCD RAW data and applies all IPIPE functions and stores the YCbCr (or RGB) data to SDRAM.
- Case 2: IPIPE reads CCD RAW data and stores the Bayer data after white balance to SDRAM.
- Case 3: IPIPE reads YCbCr-4:2:2 data and applies edge enhance, Chroma suppression, and resize to output YCbCr data to SDRAM.
- Case 4: IPIPE reads YCbCr-4:2:0 data and applies resize to output YCbCr data to SDRAM.
- Enhanced YUV input support.
- Color conversion, tone-curve mapping, 3D-LUT, GBCE, Histogram, BSC are supported on YUV input.
Figure 9-55 shows the connections from the IPIPE module to other submodules of the ISP.