Convolution Filter Processing with Zero-Region MAC Skipping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing convolutional neural network (CNN) processing methods incur high processing loads due to repeated determinations of zero values in convolution operations, leading to increased power consumption and processing time.

Innovation Solution

An apparatus and method that determine zero values in reference regions of a processing target block to selectively perform multiply-accumulate operations, reducing unnecessary computations in CNN processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If convolution operations are performed on all data in the processing target block, then processing accuracy is maintained, but processing time and power consumption increase due to unnecessary operations on zero values

Engineering Contradiction:
Improveprocessing speedVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent applies preliminary action by performing a determination process before the convolution operation to identify zero-value regions in the data array. The controller determines whether data in a reference region are zero values before executing multiply-accumulate operations, thereby avoiding unnecessary computations and reducing power consumption while maintaining processing accuracy.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If convolution operations are performed on all data in the processing target block, then processing accuracy is maintained, but processing time increases due to unnecessary operations on zero values

Engineering Contradiction:
Improveprocessing accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies preliminary action by performing a determination process before the convolution operation to identify zero-value regions in the data array. The controller determines whether data in a reference region are zero values before executing multiply-accumulate operations, thereby avoiding unnecessary computations and reducing power consumption while maintaining processing accuracy.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If zero value determination is performed repeatedly for each convolution operation, then accurate skipping of unnecessary operations is achieved, but processing overhead increases

Engineering Contradiction:
Improveoperation efficiencyVSAvoidprocessing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies the taking out principle by extracting only the necessary portion of the data array for convolution operations. When zero values are detected in the reference region, the system extracts and processes only the non-zero data portions, thereby reducing the number of operations without requiring repeated determination for every single operation.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS20260065663A1Apparatus for performing filter processing using convolution operation, method of performing filter processing, and medium
Publication Date: 2026.03.05 CANON KK
  • US20260065663A1 patent drawing
  • US20260065663A1 patent drawing
  • US20260065663A1 patent drawing

AI summary

An apparatus for performing filter processing on a data array in a processing target block of a predetermined size is provided. A data memory holds the data array in the processing target block. A coefficient memory holds weight coefficients of a filter used for the filter processing. A controller determines, in a determination, whether data in a reference region in the processing target block, set in correspondence with the processing target block, are zero values. A processor generates a convolution operation result of the weight coefficients and data at a plurality of positions in the processing target block. The controller controls, based on a result of the determination, whether to perform at least some of multiply-accumulate operations of the data and the weight coefficients when the processor generates the convolution operation result.