Fast Filtering Using Winograd Transformations for FPGA Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional filtering operations in integrated circuits, such as FPGAs, require a large number of multiplication operations, leading to increased processing time and reduced efficiency.

Innovation Solution

Implementing a fast filtering approach using pre-processing techniques, specifically Winograd transformations, to reduce the number of multiplication operations by generating intermediate filter results that are then multiplied together, thereby enhancing filtering efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional filtering operations are used with multiplication operations equal to inputs times filters, then filtering can be performed, but processing time increases and efficiency decreases

Engineering Contradiction:
Improvefiltering efficiencyVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-computing intermediate filter results before the actual filtering operation. The system transforms the filter data into intermediate values in advance, so that during runtime, only simple multiplication and addition operations are needed instead of full multiplication operations, thereby reducing processing time and improving filtering efficiency

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the parameters of the filtering operation by transforming the original filter data into intermediate filter results with different numerical characteristics. This transformation modifies the data representation to enable more efficient computation, reducing the computational complexity from O(n*m) to O(k) where k is a smaller constant

Inventive Principle:
Principle #35Parameter changes

2Productivity

If pre-processing with Winograd transformations is implemented to reduce multiplication operations, then filtering efficiency increases, but device complexity increases

Engineering Contradiction:
Improvefiltering efficiencyVSAvoidcircuit complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the filtering operation into distinct stages: a pre-processing stage that computes intermediate filter results, and a runtime stage that performs simple multiplication and addition. This segmentation allows the complex Winograd transformation to be performed once during configuration, while the runtime circuit remains relatively simple and efficient

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10083007B2Fast filtering
Publication Date: 2018.09.25 ALTERA CORP
  • US10083007B2 patent drawing
  • US10083007B2 patent drawing
  • US10083007B2 patent drawing

AI summary

Devices and methods for filtering data include calculating intermediate input values from input elements using a transformation function. The transformation function is based at least in part on a size of the filter and a number of filter outputs. Intermediate filter values are calculated from filter elements of the filter using the transformation function. Each intermediate input value is multiplied with a respective intermediate filter value to form intermediate values. These intermediate values are combined with each other using the transformation function to determine one or more output values.