Pixel-Based Warping Accelerator for Efficient Image Scaling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current vector processors are inefficient in handling pixel-based image and video warping and scaling operations due to complex data access patterns and inability to process non-aligned pixels.

Innovation Solution

A customizable image processing system with a warping/scaling accelerator that processes images in a pixel-based manner, using tetragons and configurable settings for interpolation and scanning modes to efficiently interpolate output pixels based on four coordinates, allowing for efficient warping and scaling operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a vector processor is used for image warping and scaling, then general-purpose computing capability is maintained, but processing efficiency and performance deteriorate due to inability to handle pixel-based operations and complex data access patterns

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidprocessor architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The image processing task is segmented into distinct functional units: a control unit that manages operation flow and parameters, and a dedicated warping/scaling unit that executes pixel transformations. This segmentation allows each unit to be optimized for its specific function, with the warping/scaling unit handling pixel-based operations efficiently while the control unit manages complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A buffer memory serves as an intermediary between the input image data and the warping/scaling unit, and another buffer memory acts as an intermediary for storing output pixels. This intermediary structure decouples the data access patterns from the processing logic, allowing the warping/scaling unit to operate efficiently without being constrained by complex memory access requirements of the vector processor.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Manufacturing precision

If pixel-based warping operations are implemented, then accurate image transformation is achieved, but computational complexity and processing time increase due to non-aligned pixel access patterns

Engineering Contradiction:
Improveimage transformation accuracyVSAvoidprocessing time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The control unit pre-calculates transformation parameters and coordinates before the warping/scaling unit begins pixel processing. By preparing the transformation matrix and target coordinates in advance, the system avoids complex real-time calculations during pixel processing, thereby maintaining accuracy while reducing processing time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses integer coordinate calculations to determine output pixel positions, then copies pixel values from calculated source positions to destination positions. This copying approach, combined with pre-calculated coordinates, maintains transformation accuracy while avoiding iterative search operations that would increase processing time.

Inventive Principle:
Principle #26Copying

3Productivity

If a dedicated warping/scaling unit is implemented, then processing performance improves, but device area and power consumption increase

Engineering Contradiction:
Improvewarping/scaling performanceVSAvoidchip area
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

The warping/scaling unit is designed with configurable parameters that allow it to perform multiple functions: different warping transformations (affine, perspective), scaling operations, and various interpolation methods (nearest-neighbor, bilinear, bicubic). This multi-functionality reduces the need for separate dedicated hardware for each operation, thereby reducing overall chip area while maintaining high performance.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The warping/scaling unit employs dynamic parameter configuration where transformation matrices, interpolation methods, and processing dimensions can be adjusted at runtime through the control unit. This dynamic adaptability allows the same hardware structure to handle diverse image processing tasks efficiently, reducing the need for multiple fixed-function units and thereby reducing chip area.

Inventive Principle:
Principle #15Dynamics

4Adaptability or versatility

If configurable interpolation methods are provided, then image quality and flexibility improve, but computational complexity and processing overhead increase

Engineering Contradiction:
Improveinterpolation flexibilityVSAvoidcontrol logic complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The control unit periodically switches between different interpolation methods based on processing requirements and quality demands. By organizing interpolation operations in a structured sequence and using lookup tables for filter coefficients, the system manages the complexity of multiple interpolation methods through systematic, periodic execution rather than random access to various algorithms.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS9443281B2Pixel-based warping and scaling accelerator
Publication Date: 2016.09.13 INTEL CORP
  • US9443281B2 patent drawing
  • US9443281B2 patent drawing
  • US9443281B2 patent drawing

AI summary

Technologies are presented that allow efficient pixel-based image and/or video warping and scaling. An image processing system may include a memory and an accelerator unit communicatively coupled with the memory. The accelerator unit may, based on configuration settings, receive, from a memory, at least a portion of an input image as an array of neighboring four-cornered shapes; and process each shape by: determining locations of an array of output pixels delineated by four corner locations of the shape via linearization; interpolating a value of each pixel of the array of output pixels; and storing the interpolated pixel values in the memory. For warping, the array of neighboring four-cornered shapes may include an array of neighboring distorted tetragons that approximate distortion of the input image, and the interpolated pixel values may represent a warped output image. For scaling, the array of neighboring four-cornered shapes may include an array of neighboring rectangles.