Vector Processor Local Binary Pattern Computation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Local Binary Patterns (LBP) computation is processor and memory bandwidth intensive due to the need for repeated comparisons of each pixel with its neighboring pixels in image processing, leading to significant memory burdens.

Innovation Solution

The use of a vector processor with multiple memory ports and simultaneous access capabilities to efficiently perform LBP computations by comparing and aggregating binary decisions across multiple pixels in parallel, reducing the number of memory accesses and increasing processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional scalar processors are used to compute LBP by comparing each pixel with its neighboring pixels, then the computation can be performed, but the processor and memory bandwidth are excessively intensive

Engineering Contradiction:
ImproveLBP computation speedVSAvoidmemory bandwidth usage
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent segments the LBP computation into multiple independent comparison operations that can be executed in parallel. Each pixel's LBP value is computed by independently comparing it with its neighboring pixels, and these comparisons are organized into vector operations that process multiple pixels simultaneously, reducing the overall memory bandwidth requirement.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent merges multiple comparison operations into single vectorized instructions. By combining the comparison of multiple pixels with their respective neighbors into unified vector operations, the system reduces the total number of memory accesses while maintaining computational accuracy, thereby improving productivity and reducing memory bandwidth usage.

Inventive Principle:
Principle #5Merging (Combining)

2Measurement precision

If repeated comparisons of each pixel with neighboring pixels are performed using conventional methods, then LBP values are computed, but the number of memory accesses is excessive

Engineering Contradiction:
ImproveLBP computation accuracyVSAvoidmemory access time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary organization of pixel data and comparison operations to minimize memory access time. By pre-arranging data in memory and using vectorized comparison operations that process multiple pixels in parallel, the system reduces the total time spent on memory accesses while maintaining the precision of LBP computations.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If LBP computations are performed on large images, then comprehensive feature extraction is achieved, but the computational burden increases significantly

Engineering Contradiction:
Improvenumber of pixels processedVSAvoidcomputational complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent replaces traditional scalar mechanical computation with vectorized processing operations. By using vector instructions that can process multiple data elements simultaneously, the system handles large numbers of pixels with reduced computational complexity, enabling efficient LBP computation on large images without proportionally increasing device complexity.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS9336454B2Vector processor calculation of local binary patterns
Publication Date: 2016.05.10 TEXAS INSTRUMENTS INC
  • US9336454B2 patent drawing
  • US9336454B2 patent drawing
  • US9336454B2 patent drawing

AI summary

A method (and system) of determining a local binary pattern in an image includes selecting an orientation. For each pixel in the image, the method further includes determining a binary decision for each such pixel relative to one neighboring pixel of the orientation, selecting a new orientation, and repeating the determination of the binary decision for each pixel in the image relative to one neighboring pixel of the newly selected orientation.