3D Convolution Device Dimension Transposing Data Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current three-dimensional convolution devices face inefficiencies due to dispersed data storage in the depth and channel dimensions, leading to complex calculations and poor data access efficiency during three-dimensional convolutions.

Innovation Solution

A three-dimensional convolution device and method that performs dimension transposing to consecutively arrange data in the depth and channel dimensions, allowing for block-wise convolution operations and subsequent rearrangement of computed data to enhance processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If data values in depth dimension and channel dimension are stored in a dispersed manner in memory, then the original data format is preserved, but data access efficiency deteriorates and calculation complexity increases

Engineering Contradiction:
Improvedata access efficiencyVSAvoidcalculation complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by performing dimension transposing on input data before the convolution operation. The data is pre-arranged in a consecutive format in memory, so that when convolution is performed, the data access efficiency is already optimized and no additional complexity is introduced during the actual computation phase.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the dimensional arrangement of data in memory from a dispersed multi-dimensional format to a consecutive one-dimensional format by transposing dimensions. This dimensional transformation allows the convolution operation to access data sequentially, improving access efficiency while maintaining the logical three-dimensional convolution structure through software层面的 dimension management.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Measurement precision

If multiple data values are accumulated in depth dimension and channel dimension for three-dimensional convolution, then the convolution operation is performed correctly, but more time is needed to read dispersed data values

Engineering Contradiction:
Improveconvolution accuracyVSAvoiddata reading time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent pre-arranges all necessary data values in a consecutive manner before the convolution operation. This preliminary arrangement ensures that during the accumulation process for three-dimensional convolution, all required data values can be read continuously without seeking operations, thereby maintaining convolution accuracy while minimizing data reading time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

By storing data values consecutively in memory according to the transposed dimension format, the patent enables continuous reading of data during the convolution accumulation process. This eliminates gaps and interruptions in data access, allowing the useful action of data reading to proceed continuously without wasted time.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS20230394107A1Three-dimensional convolution device and three-dimensional convolution method
Publication Date: 2023.12.07 SIGMASTAR TECH LTD
  • US20230394107A1 patent drawing
  • US20230394107A1 patent drawing
  • US20230394107A1 patent drawing

AI summary

A three-dimensional convolution method includes performing a dimension transposing operation on input data to consecutively arrange elements of the input data in depth and channel dimensions to further generate first data, performing in blocks a convolution on the first data and second data that corresponds to first weight data to generate computed data, and rearranging the computed data according to an original dimensional format of the input data to generate output data.