Pixel-Specific Parallel Patch Aggregation for Image Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing image editing computer applications face challenges in parallel processing of patch updates due to conflicts when multiple patches attempt to update the same pixel simultaneously, limiting their ability to enhance images efficiently.

Innovation Solution

The approach involves calculating pixel updates on a pixel-specific basis rather than for entire patches, allowing for parallel processing by determining patch values for each patch and using pixel-specific thread processes to aggregate relevant patch values for each pixel, thereby eliminating conflicts and enabling concurrent updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If patch-based aggregation techniques are used to enhance images, then image quality can be improved, but parallel processing cannot be executed due to conflicts when patches attempt to access the same pixel data simultaneously

Engineering Contradiction:
Improveimage qualityVSAvoidparallel processing capability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the image processing task at the pixel level rather than the patch level. Each pixel's update is computed independently by aggregating contributions from multiple patches, allowing parallel execution across all pixels without conflicts. This is achieved by identifying relevant patches for each pixel and computing updated pixel values through independent aggregation processes.

Inventive Principle:
Principle #1Segmentation

2Productivity

If multiple patches are processed simultaneously to improve processing speed, then productivity increases, but conflicts occur when patches attempt to update the same pixel at the same time

Engineering Contradiction:
Improveprocessing speedVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent inverts the traditional processing hierarchy by switching from patch-level processing to pixel-level processing. Instead of processing each patch and updating its pixels (which causes conflicts), the patent processes each pixel by aggregating information from all relevant patches. This inversion eliminates conflicts because each pixel's computation is independent and does not interfere with other pixels.

Inventive Principle:
Principle #13The other way round (Inversion)

3Manufacturing precision

If patch updates are computed for all pixels in a patch, then complete image coverage is achieved, but processing time increases due to sequential execution requirements

Engineering Contradiction:
Improveimage coverage completenessVSAvoidprocessing time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary identification of relevant patches for each pixel before the actual aggregation computation. By pre-determining which patches contribute to each pixel's update, the system enables efficient parallel processing during the aggregation phase, reducing overall processing time while maintaining complete image coverage.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9613405B2Scalable massive parallelization of overlapping patch aggregation
Publication Date: 2017.04.04 ADOBE INC
  • US9613405B2 patent drawing
  • US9613405B2 patent drawing
  • US9613405B2 patent drawing

AI summary

Techniques for enhancing an image using pixel-specific processing are disclosed. An image can be enhanced by updating certain pixels through patch aggregation. Neighboring pixels of a selected pixel are identified. Respective patch values for patches containing the selected pixel are determined. Patch values provide update information for updating the respective pixels in the patch. Relevant patch values for the selected pixel are identified by identifying associated patches of the pixel. Information from the relevant patch values of the selected pixel may be obtained. Using this information, pixel-specific processing may be performed to determine an updated pixel value for the selected pixel or for neighboring pixels of the selected pixel. Pixel-specific processes may be executed for each of the selected or neighboring pixels. These pixel-specific processes can be executed in parallel. Therefore, through the execution of pixel-specific processes, which may be performed concurrently, an enhanced image may be determined.