Bounds Checking Optimization in Lattice Neighborhood Processes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for bounds checking in neighborhood processes in image processing are computationally expensive, memory-intensive, or complicated, especially when handling image boundaries and queue-based processes.

Innovation Solution

A method that optimizes bounds checking by calculating a distance to the nearest boundary node for interior nodes, allowing consecutive nodes to be processed without bounds checking, and performing bounds checking only when necessary, while using a queue to manage nodes and their distances for efficient neighborhood processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If bounds checking is performed before every neighbor pixel access, then reliability is improved, but productivity deteriorates due to multiple conditional branches in the inner-most loop

Engineering Contradiction:
Improvebounds checking reliabilityVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the lattice into interior nodes and boundary nodes, applying different processing strategies to each segment. Interior nodes are processed without bounds checking while boundary nodes receive appropriate handling, eliminating the need for repeated conditional branches in the inner loop while maintaining reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary identification of interior nodes before the main processing loop. By determining which nodes are interior nodes in advance, the system can skip bounds checking during the main processing loop for these nodes, improving productivity while maintaining reliability through the preliminary classification step.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the image is padded to eliminate bounds checking, then productivity is improved, but device complexity worsens due to requiring an extra copy of the image in memory

Engineering Contradiction:
Improveprocessing speedVSAvoidmemory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent applies local quality by treating interior nodes differently from boundary nodes. Instead of uniformly padding the entire image, the system identifies and processes only the interior nodes without bounds checking while handling boundary nodes separately, thus improving productivity without the memory overhead of full image padding.

Inventive Principle:
Principle #3Local quality

3Productivity

If the image is divided into sections with different processing code, then productivity is improved, but device complexity worsens due to complicated software and programming errors

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidsoftware complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates a universal processing framework that handles both interior and boundary nodes through a single unified algorithm. The system uses a consistent approach of identifying interior nodes and applying appropriate processing, eliminating the need for separate code sections and reducing software complexity while maintaining processing efficiency.

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

4Productivity

If section-based processing is used to handle bounds checking, then productivity is improved, but adaptability worsens as it does not extend easily to higher dimensions or queue-based processes

Engineering Contradiction:
Improveprocessing efficiencyVSAvoiddimensional adaptability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent employs a dynamic approach where the processing strategy adapts based on the node type (interior or boundary) rather than requiring static section-based code. This dynamic identification and handling of node types makes the system adaptable to higher dimensions and queue-based processes while maintaining processing efficiency.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8165413B1Optimizing bounds checking in neighborhood processes
Publication Date: 2012.04.24 MATHWORKS INC
  • US8165413B1 patent drawing
  • US8165413B1 patent drawing
  • US8165413B1 patent drawing

AI summary

A computer-implemented method for optimizing bounds checking in a structured lattice having a regular pattern of neighboring nodes, includes the steps of: visiting a node in the lattice in a determined order, including bounds checking the node and performing a neighborhood process on the node; when said node is an interior node, calculating a distance k to a specified node in the determined order; visiting the next k nodes in the determined order without performing bounds checking and performing a neighborhood process on each of the next k nodes; and at least one of displaying or storing a result of the neighborhood process for the node.