Multi-pass Image Rotation Reducing Processor Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing image rotation methods in data processing systems are inefficient due to the trade-off between memory access efficiency and memory usage, as they either read and write pixels one at a time or use more memory to read and write groups of adjacent pixels, which does not fully leverage memory efficiencies.

Innovation Solution

A multi-pass image rotation technique where an image processor reads and writes sets of pixels in external memory through a processor memory, regrouping them into blocks to efficiently rotate images by 90 degrees in two passes, allowing for smaller processor memory usage without significant efficiency loss.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If pixels are read and written one at a time, then memory usage is minimized (only one pixel needs to be stored), but memory access efficiency is poor due to non-consecutive address accesses

Engineering Contradiction:
Improvememory usageVSAvoidmemory access efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent divides the image rotation process into multiple passes, where each pass processes a portion of the image. This segmentation allows the system to work with smaller data sets in memory at any given time, improving memory access efficiency without requiring the entire image to be loaded into memory simultaneously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by pre-calculating and storing rotation parameters and intermediate results in a structured manner. This allows subsequent memory accesses to be more efficient, as the data is already organized for optimal access patterns during the actual rotation operation.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If groups of adjacent pixels are read and written, then memory access efficiency is improved by accessing consecutive addresses, but memory usage increases requiring more processor memory

Engineering Contradiction:
Improvememory access efficiencyVSAvoidmemory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent dynamically adjusts the amount of data kept in processor memory based on the current processing stage and requirements. By using multiple passes, the system can load and process smaller portions of the image in each pass, dynamically managing memory usage to balance between access efficiency and memory consumption.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent introduces a temporal dimension by using multiple passes through the data. Instead of attempting to process the entire image in a single pass with large memory buffers, the system distributes the processing across multiple temporal passes, each handling a manageable portion of the data.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If 16 adjacent pixels are read and written in a single operation, then fewer memory operations are needed compared to pixel-by-pixel processing, but more memory space is required within the image processor

Engineering Contradiction:
Improvenumber of memory operationsVSAvoidmemory space
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments the image processing into multiple passes, where each pass handles a subset of the total pixels. This allows the use of efficient block processing (reading and writing groups of adjacent pixels) within each pass while keeping the memory requirements manageable by processing only a portion of the image at a time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by processing the image in multiple passes rather than attempting to process the entire image in a single pass. Each pass performs a partial rotation operation on a subset of pixels, and the results are accumulated across passes to achieve the complete rotation.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7876977B2Image processor and method of image rotation
Publication Date: 2011.01.25 SYNAPTICS INC
  • US7876977B2 patent drawing
  • US7876977B2 patent drawing
  • US7876977B2 patent drawing

AI summary

A method of rotating a digital image includes performing a first pass to process a selected image tile of a source image. The first pass includes copying a set of pixels of the selected image tile from a first memory to a processor memory, where the set of pixels comprises a portion of the selected image tile. The first pass further includes grouping the set of pixels into blocks of pixels and writing each of the blocks of pixels to a memory location. The method further includes repeating the first pass until each of the pixels of the selected image tile is processed, performing a second pass to process the blocks of pixels, and repeating the second pass until each of the blocks of pixels is processed. The second pass includes copying blocks of pixels, regrouping the blocks of pixels, and writing the regrouped pixels to a destination image location.