The video-processing hardware removes the need for expensive camera modules to perform processing functions. The ISS can support the following features:
- Memory-to-memory processing
- Up to 532 MHz pixel throughput
- Statistic data collection:
- Memory-to-memory operation
- Data collection for auto exposure
- Data collection for auto white balance
- Data collection for auto focus
- Boundary signal calculation for video stabilization
- High-ISO Video Noise Filtering (NSF3V)
- Up to 532 MPix/s
- Bayer RGB, YUV422, and YUV420 formats
- 12-bit datapath bit width
- 2816 pixels input line memory size
- Throughput of 1 data points per cycle, without the overhead
- For Bayer, 1 pixel = 1 data point
- For YUV422, 1 pixel = 2 data points
- For YUV420, 1 pixel = 1.5 data points
- Adaptive noise level threshold
- Inter-color-luma-estimation affecting noise threshold
- Soft thresholding
- Edge enhancement
- Radial shading gain
- Desaturation for YUV
- Use luma to drive chroma noise threshold in YUV422
- Support output width = input width by replicating border pixels, requires at most 48 extra pixel of processing time per row
- Separately replicate-or-trim support for left and right borders
- Support output height = input height by replicating top/bottom border pixels, requires 7 extra rows of processing time
- Interleaved processing options
- Image framing
- Single frame and video support, flexible interrupt configuration
- Global and Local Brightness Contrast Enhancement (GLBCE)
- Up to 532 MPix/s
- 2816 pixels line memory size
- Bayer image: 16-bit input, 12-bit output
- Backward compatibility with previous devices and ISP functionality when GLBCE is disabled
- IPIPE front end: RAW data processing:
- Memory-to-memory processing
- 16-bit-wide RAW Bayer data path between image and sensor linearization module
- 12-bit-wide RAW Bayer data path between sensor linearization module and gamma correction module. Gamma correction module outputs 10-bit data.
- Programmable Bayer RGB positions
- Sensor data linearization for dynamic range extension
- Programmable 2D lens shading compensation (LSC) correction
- Per-pixel gain and offset control
- Black level compensation
- Boxcar filter
- Data collection for histogram generation
- Defect pixel correction (LUT_DPC) with look-up table (LUT)
- Defect pixel correction (OTF_DPC) with on-the-fly detection and correction
- 2D noise filtering
- Green imbalance correction (GIC)
- Digital gains and offset
- 8- to 10-bit A-law decompression and 10- to 8-bit A-law compression
- IPIPE back end: RGB and YUV data processing:
- RGB-to-RGB color correction
- Gamma correction (GC)
- RGB to YUV4:2:2: Color conversion, cosited Chroma filtering and downsampling
- 2D edge enhancement (EE)
- 3D LUT for color correction
- False Chroma suppression (FCS)
- Two resizers (RSZ):
- Performance: input and output rates up to 532 MPix/s
- YUV4:2:2 to RGB56, ARGB888, YUV4:2:2, and YUV4:2:0 data output
- YUV4:2:0 to YUV4:2:0 data output
- RAW to RAW data output
- Range from x1/4096 to x20. Supports memory-to-memory rescaling.
- Chroma Noise Filter (CNF)
- Removes residual chroma noise by filtering UV data component of the image with noise filter
- 2816 pixels line memory size
- Support 8-bit UV input (UV part of YUV420) One pixel per cycle and output UV format
- CDS (Chroma Down Sampling) and CUS (Chroma Up Sampling)
- CNF available for RSZ1 only
The ISP comprises the following modules:
- IPIPE interface (IPIPEIF)
- Image sensor interface (ISIF) accelerator
- Auto exposure, auto white balance, and auto focus engine (H3A)
- Image pipe accelerator (IPIPE)
- Two resizer (RSZ) accelerators
- Buffer logic (BL): Receives module requests, performs arbitration, and creates read/write bursts to the memory subsystem