IP Library Patent Application 17151311
Patent Application
App. No. 17/151,311

CONVOLUTION OPERATION METHOD AND CONVOLUTION OPERATION DEVICE

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
17/151,311
Abstract

A convolution operation method is provided for performing a convolution operation on an input feature map to generate a corresponding output feature map, wherein the input feature map is divided into a plurality of input data blocks, and the convolution operation method includes: dividing each of the input data blocks into a plurality of non-overlapping areas, wherein there is an overlapping area between any two adjacent input data blocks; storing the non-overlapping areas of each input data block into a respective non-overlapping storage space in a cache; generating each input data block according to the area corresponding to each input data block stored in the non-overlapping storage spaces; and performing a convolution operation on the plurality of generated input data blocks to generate the output feature map.

Claims (43)

1 . A convolution operation method, for performing a convolution operation on an input feature map to generate a corresponding output feature map, wherein the input feature map is divided into a plurality of input data blocks, and the convolution operation method comprises:

dividing each of the input data blocks into a plurality of non-overlapping areas, wherein there is an overlapping area between any two adjacent input data blocks;

storing the non-overlapping areas of each input data block into a respective non-overlapping storage space in a cache;

generating each input data block according to the area corresponding to each input data block stored in the non-overlapping storage spaces; and

performing a convolution operation on the plurality of generated input data blocks to generate the output feature map.

2 . The convolution operation method of claim 1 , further comprising:

the input data block is divided into a main area and at least one sub-area;

wherein the main area includes a non-overlapping area and at least one overlapping area, wherein the non-overlapping area does not overlap with any adjacent input data block, and each overlapping area only overlaps with one adjacent input data block.

3 . The convolution operation method of claim 2 , wherein the areas included in the sub-area all overlap with at least one adjacent input data block.

4 . The convolution operation method of claim 2 , wherein the sub-area includes at least one overlapping sub-area, wherein the number of input data blocks adjacent to the overlapping sub-area is greater than the number of input data blocks adjacent to the at least one overlapping area of the main area.

5 . The convolution operation method of claim 1 , further comprising:

storing a main area of the input data block in a main cache segment of the cache; and

storing at least one sub-area of the input data block in a secondary cache segment of the cache;

wherein the main cache segment and the secondary cache segment do not overlap.

6 . The convolution operation method of claim 5 , further comprising:

splicing the non-overlapping area and at least one overlapping area corresponding to the main area of the input data block, and the overlapping area corresponding to the at least one sub-area of the input data block to generate the input data block.

7 . The convolution operation method of claim 6 , wherein the at least one sub-area of the input data block includes a first sub-area, wherein the first sub-area includes a first overlapping sub-area, a second overlapping sub-area, and a third overlapping sub-area, wherein the number of adjacent input data blocks overlapping with the second overlapping sub-area is less than the number of adjacent input data blocks overlapping with the first overlapping sub-area, the number of adjacent input data blocks overlapping with the second overlapping sub-area is less than the number of adjacent input data blocks overlapping with the third overlapping sub-area.

8 . The convolution operation method of claim 6 , wherein the at least one sub-area of the input data block includes a first sub-area, wherein the first sub-area includes a first overlapping sub-area, a second overlapping sub-area, and a third overlapping sub-area, wherein the second overlapping sub-area only overlaps with one adjacent input data block, the first overlapping sub-area overlaps with three adjacent input data blocks, and the third overlapping sub-area overlaps with three adjacent input data blocks.

9 . The convolution operation method of claim 5 , further comprising:

reading the at least one sub-area of the input data block according to the main area; and

generating the input data block according to the main area and the at least one sub-area of the input data block.

10 . The convolution operation method of claim 9 , wherein the step of generating the input data block according to the main area and the at least one sub-area of the input data block further comprising:

reading the at least one sub-area; and

generating the input data block by splicing the main area and the at least one sub-area of the input data block.

11 . A convolution operation device, for performing a convolution operation on an input feature map to generate a corresponding output feature map, wherein the input feature map is divided into a plurality of input data blocks, and the convolution operation device comprising:

a cache;

a calculator, configured to perform the convolution operation on the input data block;

a data processing module, coupled to the calculator, wherein the data processing module divides each of the input data blocks into a plurality of non-overlapping areas, wherein there is an overlapping area between any two adjacent input data blocks;

a second-level processing module, coupled to the cache, and wherein the second-level processing module stores the non-overlapping areas of each input data block into a respective non-overlapping storage space in the cache;

a first-level processing module, coupled to the cache and the calculator, the first-level processing module generates each input data block according to the area corresponding to each input data block stored in the non-overlapping storage spaces; and sends the generated input data blocks to the calculator for performing the convolution operation to generate the output feature map.

12 . The convolution operation device of claim 11 , wherein the data processing module divides the input data block into a main area and at least one sub-area;

wherein the main area includes a non-overlapping area and at least one overlapping area, wherein the non-overlapping area does not overlap with any adjacent input data block, and each overlapping area only overlaps with one adjacent input data block.

13 . The convolution operation device of claim 12 , wherein the areas included in the sub-area all overlap with at least one adjacent input data block.

14 . The convolution operation device of claim 12 , the sub-area includes at least one overlapping sub-area, wherein the number of input data blocks adjacent to the overlapping sub-area is greater than the number of input data blocks adjacent to the at least one overlapping area of the main area.

15 . The convolution operation device of claim 11 , wherein the second-level processing module stores a main area of the input data block in a main cache segment of the cache; and stores at least one sub-area of the input data block in the secondary cache segment of the cache;

wherein the main cache segment and the secondary cache segment do not overlap.

16 . The convolution operation device of claim 15 , wherein the data processing module splices the non-overlapping area and at least one overlapping area corresponding to the main area of the input data block, and the overlapping area corresponding to the at least one sub-area of the input data block to generate the input data block.

17 . The convolution operation device of claim 16 , wherein the at least one sub-area of the input data block includes a first sub-area, wherein the first sub-area includes a first overlapping sub-area, a second overlapping sub-area, and a third overlapping sub-area, wherein the number of adjacent input data blocks overlapping with the second overlapping sub-area is less than the number of adjacent input data blocks overlapping with the first overlapping sub-area, the number of adjacent input data blocks overlapping with the second overlapping sub-area is less than the number of adjacent input data blocks overlapping with the third overlapping sub-area.

18 . The convolution operation device of claim 16 , wherein the at least one sub-area of the input data block includes a first sub-area, wherein the first sub-area includes a first overlapping sub-area, a second overlapping sub-area, and a third overlapping sub-area, wherein the second overlapping sub-area only overlaps with one adjacent input data block, the first overlapping sub-area overlaps three adjacent input data blocks, and the third overlapping sub-area overlaps with three adjacent input data blocks.

19 . The convolution operation device of claim 15 , wherein the first-level processing module reads the at least one sub-area of the input data block according to the main area; and generates the input data block according to the main area and the at least one sub-area of the input data block.

20 . The convolution operation device of claim 19 , wherein the step of the first-level processing module generates the input data block according to the main area and the at least one sub-area of the input data block further comprising:

reading the at least one sub-area; and

generating the input data block by splicing the main area and the at least one sub-area of the input data block.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2021
From: SHANGHAI ZHAOXIN SEMICONDUCTOR CO., LTD.
To: GLENFLY TECH CO., LTD.
Reel/Frame 058965/0042 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2021
From: KONG, WEIMAN; ZHAI, XINGANG
To: SHANGHAI ZHAOXIN SEMICONDUCTOR CO., LTD.
Reel/Frame 054944/0104 →