Figure 6-89 shows the LDC integration within the device
The list of hardware blocks in VPAC are as follow:
- LDC (Lens distortion correction): LDC block reads data from memory (e.g. DDR or on-chip) and applies perspective transform as well as correction of lens distortion (including fisheye lenses). The output of LDC block can be sent to external memory (e.g. DDR) or sent to other hardware block (e.g. Scalar, Noise filter) for further pre-processing via local shared memory (SL2).
- Scalar: Scalar block reads data from shared memory (SL2) and generates up to 10 scaled output from 2 inputs with various scaling ratios (between x and x0.5). The output of Scalar to Shared memory (SL2) can be further noise filtered using NF block or written to DDR.
- Noise Filter (NF): NF block reads data from memory (e.g. DDR or on-chip) to shared memory (SL2) and does bilateral filtering to remove noise. The output of NF block can be sent to external memory (e.g. DDR) from Shared memory (SL2) or can be further re-sized using Scalar HW.
- VISS (Vision ISS): There are two instance of on-the-fly processing for sensor related processing in VISS.
The list of infrastructure blocks in VPAC are following as follow:
- Shared Level 2 (SL2) memory: This is used to exchange data across HW IP block (e.g. LDC, Scalar and NF) as well as to DMA Engine (e.g. UDMA).
- HTS (Hardware Thread Scheduler): HTS is used for IPC communication among various HW IP Blocks (e.g. LDC, Scalar and NF as well as DMA Engine (e.g. UDMA)). Message Manager shown in Figure 1 is implemented as HTS.
VPAC has dedicated UDMA for DMA transfers except for LDC Read Data. For more top level integration and functional details see Section 6.7.2, VPAC Subsystem for details.