Warp Correction Using Single-Ported Memory Pipelining

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional camera image processing systems require large buffer spaces and multi-ported memory to achieve high performance warp correction, which is inefficient and costly, especially when aiming for single pixel per clock performance.

Innovation Solution

A system utilizing a single-ported memory with a pipelined architecture that computes and stores warp fields efficiently, allowing for single pixel per clock performance while reducing hardware costs by using adders instead of multipliers and optimizing interpolation calculations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional multi-ported memory is used to achieve single pixel per clock performance, then processing speed is improved, but hardware cost and device complexity increase

Engineering Contradiction:
Improvesingle pixel per clock performanceVSAvoidmulti-ported memory structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The processing pipeline is divided into multiple stages (warp field computation stage, interpolation parameter computation stage, and output pixel generation stage), with each stage operating on different data and producing intermediate results. This segmentation allows a single-ported memory to be used instead of multi-ported memory, reducing hardware complexity while maintaining single pixel per clock performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The warp field is computed in advance and stored in a single-ported memory before the actual image processing begins. Interpolation parameters are also pre-computed from the warp field. This preliminary computation approach allows the main processing pipeline to proceed efficiently with simpler memory architecture.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If large buffer space is allocated to hold input image data, then processing completeness is improved, but memory usage and hardware cost increase

Engineering Contradiction:
Improveprocessing completenessVSAvoidbuffer space
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The input image processing is divided into line-by-line processing, where only the current line and necessary reference lines are held in buffers. This line-based segmentation reduces the total buffer space required from holding the entire image to holding only a few lines at a time, while still ensuring complete processing of all pixels.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of buffering the entire input image, the system buffers only the minimum necessary portions (current line and reference lines) required to compute the warp correction. This partial buffering approach reduces memory usage while maintaining processing completeness through systematic iteration over all lines.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If 2D bilinear interpolation is used to calculate warp field at missing pixels, then interpolation accuracy is improved, but computational complexity and hardware cost increase

Engineering Contradiction:
Improveinterpolation accuracyVSAvoidinterpolation calculation structure
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The interpolation approach is adapted dynamically based on the available data and processing stage. In the warp field computation stage, 1D interpolation is used along scan lines. In the output pixel generation stage, the pre-computed interpolation parameters are applied directly. This dynamic adaptation maintains accuracy while reducing computational complexity compared to full 2D bilinear interpolation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The complex 2D bilinear interpolation calculation is replaced by a two-stage process: first computing warp field values with 1D interpolation, then using pre-computed parameters to generate output pixels. This substitution replaces the mechanically complex 2D interpolation with simpler, more efficient calculations that achieve the same accuracy goal.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS9330438B1High performance warp correction in two-dimensional images
Publication Date: 2016.05.03 AMBARELLA INT LP
  • US9330438B1 patent drawing
  • US9330438B1 patent drawing
  • US9330438B1 patent drawing

AI summary

An apparatus generally having a first memory, a second memory and a circuit is disclosed. The first memory may be configured to store a warp table. The warp table is generally accessed through a single data port of the first memory. The second memory may be configured to buffer an input image. The input image may have a plurality of input pixels arranged in two dimensions. The circuit may be configured to generate an output image by a warp correction of an input image. The warp correction may be defined by the warp table. The output image may include a plurality of output pixels. At least one of the output pixels may be generated during each clock cycle of the circuit.