CNN Sliding-Window Filtering to Cut Microprocessor Load

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Neural networks, particularly convolutional neural networks, require significant computing power due to their complexity, leading to a decrease in instructions per second executed by the system.

Innovation Solution

A method involving a first filtering using a convolutional layer with a sliding window in one direction followed by a second filtering using a pooling layer with a sliding window in an orthogonal direction, reducing the computational load by storing intermediate data in temporary memories and applying pooling operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a convolutional neural network processes data through multiple layers with sliding windows, then the classification accuracy and feature extraction capability are improved, but the computational load and processing time increase significantly

Engineering Contradiction:
Improveclassification accuracyVSAvoidinstructions per second
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent divides the computational process into two distinct phases: a first filtering phase using a convolutional layer with a first sliding window, and a second filtering phase using a pooling layer with a second sliding window. This segmentation allows the system to process data in manageable stages, reducing the overall computational burden while maintaining classification accuracy. The intermediate results from the first phase are stored in temporary memory and reused in the second phase, avoiding redundant calculations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary filtering operations in the first convolutional layer before the second pooling layer processes the data. By pre-processing the data and storing intermediate results in temporary memory, the system prepares optimized input for the second filtering phase, reducing the computational load during the main processing stage. This preliminary action enables efficient reuse of computed values across multiple operations.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If the neural network uses multiple filtering operations with sliding windows, then the feature extraction quality is improved, but the data processing time increases

Engineering Contradiction:
Improvefeature extraction qualityVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent merges multiple filtering operations by having the second pooling layer operate on intermediate results stored in temporary memory from the first convolutional layer. This combining of operations allows the system to perform multiple filtering passes without reprocessing the entire input data, significantly reducing processing time while maintaining feature extraction quality. The temporary memory serves as a bridge that enables efficient operation merging.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If intermediate data is stored in temporary memory for multiple filtering operations, then the computational efficiency is improved, but the memory requirements increase

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidmemory capacity
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent implements local quality by creating specialized temporary memory regions dedicated to storing intermediate results from the first filtering phase. Rather than using general-purpose memory, the system allocates specific memory locations optimized for the intermediate data format and access patterns required by the second filtering phase. This localized memory management improves access efficiency while minimizing overall memory requirements.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP3663989B1Method and device for reducing the calculation load of a microprocessor designed to process data by a convolutional neural network
Publication Date: 2026.01.28 STMICROELECTRONICS (ROUSSET) SAS
  • EP3663989B1 patent drawingFigure 1
  • EP3663989B1 patent drawingFigure 2
  • EP3663989B1 patent drawingFigure 3

AI summary

Device (MO) comprising an initial memory (MV) for storing an initial data set (DI) in first and second orthogonal directions, and a first memory for storing parameters defining a convolutional neural network (RN), and a microprocessor (UC) configured to perform the operations of the different layers of the neural network, at least one convolutional layer is configured to perform a first filtering of the initial data set (DI) using a first sliding window in the first direction so as to produce a first data set (D1) at each slide, and at least one pooling layer is configured to perform a second filtering of the first data sets (D1) using a second sliding window in the second direction.