Dynamic Output Block Sizing for Image Geometric Correction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current geometric correction methods for distorted images, particularly in camera systems, face inefficiencies due to fixed output block sizes that lead to suboptimal bandwidth utilization and performance losses, especially when dealing with varying magnification factors and redundant data processing in multi-camera setups.

Innovation Solution

The method involves dynamically dividing the output frame into regions with varying block sizes based on scaling factors, skipping processing of redundant blocks, and optimizing data fetching to minimize bandwidth usage and enhance performance by adapting block sizes according to the magnification factor and spatial variation within each region.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If fixed output block size is used for geometric correction, then device complexity is reduced, but bandwidth utilization deteriorates and performance is lost

Engineering Contradiction:
Improveoutput block size managementVSAvoidbandwidth utilization
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements dynamic output block sizing where the block size is adjusted based on the magnification factor of each region. The system calculates the magnification factor for each output block and programs the geometric correction engine with region-specific block sizes, transforming the fixed-size system into a dynamic one that adapts to local scaling requirements, thereby optimizing bandwidth utilization without excessive complexity

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent divides the output frame into multiple regions, each with its own output block size programmed according to local magnification characteristics. This allows different parts of the image to be processed with appropriately sized blocks - smaller blocks in high-magnification areas and larger blocks in low-magnification areas - optimizing bandwidth usage locally rather than using a uniform size globally

Inventive Principle:
Principle #3Local quality

2Ease of operation

If fixed output block size is used, then ease of operation is improved, but performance is reduced due to redundant data processing

Engineering Contradiction:
Improveprocessing simplicityVSAvoidperformance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent performs preliminary calculation of magnification factors for each output block before the geometric correction processing begins. These magnification factors are stored and used to program the output block sizes in advance, allowing the system to optimize performance through pre-computed parameters without adding complexity to the actual correction operation

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the output frame into multiple regions, each with independently programmed output block sizes based on local magnification factors. This segmentation allows the system to process different regions with appropriately sized blocks, avoiding redundant data fetching in low-magnification areas while maintaining detail in high-magnification areas, thereby improving overall performance

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11915442B2Method and apparatus for arbitrary output shape processing of an image
Publication Date: 2024.02.27 TEXAS INSTRUMENTS INC
  • US11915442B2 patent drawing
  • US11915442B2 patent drawing
  • US11915442B2 patent drawing

AI summary

An apparatus and method for geometrically correcting an arbitrary shaped input frame and generating an undistorted output frame. The method includes capturing arbitrary shaped input images with multiple optical devices and processing the images, identifying redundant blocks and valid blocks in each of the images, allocating an output frame with an output frame size and dividing the output frame into regions shaped as a rectangle, programming the apparatus and disabling processing for invalid blocks in each of the regions, fetching data corresponding to each of the valid blocks and storing in an internal memory, interpolating data for each of the regions with stitching and composing the valid blocks for the output frame and displaying the output frame on a display module.