TES Warping Engine is a specialized IP core for arbitrary high-performance re-mapping of bitmaps from memory to memory. Applications are for example pre-warping for projection on head-up displays or fisheye-correction of camera images.
The IP core adapts to different bus interfaces like AMBA APB and AHB/AXI as well as the Altera Avalon bus interface at different bus width (e.g. 32, 64, 128 bits).
Application Example: HUD warping
Projecting a rectangular image onto a curved surface yields a curved image. For a rectangular image to appear rectangular on a curved surface, it needs to be re-mapped first using the ‘inverse curvature’. The projected image is then mapped into a non-rectangular region of the output image with ‘transparent’ (i.e. normally black) pixels all around:
When the output image is projected onto the windshield, it will appear rectangular from the driver position point of view.
Application Example: Fisheye correction
Here the input image is distorted, while the output image is rectangular. Also the output image contains only pixels which exist in the input image (no ‘outside’ pixels like in the above HUD example). Still, the re-mapping is possible using an arbitrary look-up table per output pixel, which references the respective coordinates from the input image.