Line Buffer Sizing for Small and Large Image Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional image processing devices require large line buffers to accommodate the largest image sizes, leading to inefficiencies in processing smaller images, as they often need to support a wide range of image sizes from small viewfinder images to large still images, resulting in unnecessary hardware requirements and processing latency.

Innovation Solution

The proposed solution involves sizing line buffers to accommodate the width of smaller viewfinder images, allowing for quick processing, and addressing larger images by dividing them into vertical stripes that fit within these smaller line buffers, enabling efficient processing of both small and large images using the same hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If line buffers are sized to accommodate the largest image width, then large images can be processed, but hardware requirements increase and processing speed for small images decreases

Engineering Contradiction:
Improveimage size support rangeVSAvoidprocessing speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent divides large images into multiple vertical stripes, where each stripe's width fits within the smaller line buffer capacity. This segmentation allows the processing unit to handle images of any width by processing them in manageable segments, resolving the contradiction between supporting large images and maintaining fast processing speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts its processing approach based on image size: small images are processed as complete images, while large images are divided into vertical stripes. This dynamic adaptation allows the same hardware with fixed smaller line buffers to efficiently handle the full range of image sizes without sacrificing processing speed.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If line buffers are sized for largest images, then all image sizes can be supported, but on-chip memory requirements increase

Engineering Contradiction:
Improveimage width accommodationVSAvoidline buffer memory size
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

By segmenting large images into vertical stripes that fit within smaller line buffers, the patent eliminates the need for large on-chip memory. The same small line buffers that suffice for small images can now also handle large images through stripe-based processing, significantly reducing the quantity of memory required.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The smaller line buffers become universal components capable of handling both small images (processed as complete images) and large images (processed as vertical stripes). This multi-functionality eliminates the need for separate large memory allocations, optimizing memory resource usage.

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

3Productivity

If line buffers are reduced in size for small images, then processing speed improves, but large images cannot be processed

Engineering Contradiction:
Improveprocessing speed for small imagesVSAvoidsupport for different image sizes
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system dynamically switches processing modes based on image dimensions: using complete-image processing for small images and vertical stripe processing for large images. This dynamic approach maintains fast processing speed for small images while extending capability to handle large images with the same smaller line buffers.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent introduces vertical stripe segmentation as a conditional processing approach that activates when image width exceeds line buffer capacity. This segmentation strategy allows small images to be processed quickly without division, while large images are automatically segmented into manageable vertical stripes.

Inventive Principle:
Principle #1Segmentation

4Quantity of substance

If vertical stripes are used for large images, then smaller line buffers can be used, but processing latency increases

Engineering Contradiction:
Improveline buffer sizeVSAvoidprocessing latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent implements pipelined processing where multiple vertical stripes are processed in a continuous pipeline fashion. While one stripe is being processed, the next stripe can be prepared or loaded, maintaining continuous useful action and minimizing idle time. This approach reduces the overall latency impact despite the additional segmentation steps.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The system performs preliminary actions by preparing and organizing vertical stripes before processing, and can pre-load or pre-prepare subsequent stripes during the processing of current stripes. This preliminary organization and pipelined preparation reduces the overall processing latency by keeping the processing unit continuously utilized.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7595805B2Techniques to facilitate use of small line buffers for processing of small or large images
Publication Date: 2009.09.29 QUALCOMM INC
  • US7595805B2 patent drawing
  • US7595805B2 patent drawing
  • US7595805B2 patent drawing

AI summary

The disclosure describes image processing techniques useful for devices that support image processing of different sized images. The techniques can be used in many contexts, and may be particularly useful for front-end image processing of small viewfinder images and large still images captured by the device. In one embodiment, this disclosure provides a method comprising capturing a first image with a device, processing the first image using line buffers sized to accommodate an image width of the first image, and capturing a second image with the device, wherein the second image has an image width larger than the image width first image. The method also includes processing the vertical stripes of the second image using the line buffers, wherein the vertical stripes of the second image define widths that fit into the line buffers.