IP Library › Granted Patent US 11,822,900
Granted Patent B2
US 11,822,900 · App. 16/896,565 · Granted Nov 21, 2023

Filter processing device and method of performing convolution operation at filter processing device

Inventors: Tsewei Chen (Tokyo, JP); Masami Kato (Sagamihara, JP)
Assignee: Canon Kabushiki Kaisha
G06F7/5443G06F18/2431G06N3/08G06V10/454G06V10/764G06V10/82
View Patent ↗
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 11,822,900
App. No.
16/896,565
Granted
Nov 21, 2023
Kind
B2
Abstract

There is provided with a filter processing device for performing a convolution operation using a filter on a feature plane. An acquisition unit acquires feature plane data, filter coefficients of the filter, and valid coefficient information which specifies filter coefficients to be used in the convolution operation among the filter coefficients of the filter. A calculation unit performs a convolution operation of the filter coefficients specified by the valid coefficient information and pieces of the feature plane data corresponding to the specified filter coefficients.

Claims (50)

1. A filter processing device for performing a convolution operation using a filter on a feature plane, the filter processing device comprising:

one or more processors; and

one or more instruction memories coupled to the one or more processors, the one or more instruction memories having stored thereon instructions which, when executed by the one or more processors, cause the device to:

acquire feature plane data, filter coefficients of the filter, and coefficient validity information which specifies whether each of the filter coefficients of the filter is valid or invalid; and

perform a convolution operation of the filter coefficients specified as valid by the coefficient validity information and pieces of the feature plane data corresponding to the filter coefficients specified as valid, without performing the convolution operation of the filter coefficients specified as invalid by the coefficient validity information and pieces of the feature plane data corresponding to the filter coefficients specified as invalid.

2. The filter processing device according to claim 1 , wherein

the instructions, when executed by the one or more processors, further cause the device to perform transfer of a piece of the feature plane data corresponding to a filter coefficient specified as valid by the coefficient validity information to a calculator, and to omit transfer of a piece of the feature plane data corresponding to the filter coefficient that is specified as invalid by the coefficient validity information to the calculator.

3. The filter processing device according to claim 1 , wherein

the instructions, when executed by the one or more processors, further cause the device to perform transfer of a filter coefficient specified as valid by the coefficient validity information to a calculator, and to omit transfer of a filter coefficient that is specified as invalid by the coefficient validity information to the calculator.

4. The filter processing device according to claim 1 , wherein

the coefficient validity information is associated with the filter.

5. The filter processing device according to claim 4 , wherein

the coefficient validity information is common for at least two filters.

6. The filter processing device according to claim 5 , wherein

the instructions, when executed by the one or more processors, further cause the device to perform a convolution operation using filter coefficients of a first filter specified as valid by a first coefficient validity information, and subsequently perform a convolution operation using filter coefficients of a second filter specified as valid by the first coefficient validity information.

7. The filter processing device according to claim 1 , wherein

a plurality of filters classified into a plurality of groups are used by the filter processing device,

the coefficient validity information is associated with the group, and

the instructions, when executed by the one or more processors, further cause the device to acquire the coefficient validity information associated with a group to which the filter belongs.

8. The filter processing device according to claim 1 , wherein

the instructions, when executed by the one or more processors, further cause the filter processing device to perform processing according to a neural network including a plurality of layers, and

the instructions, when executed by the one or more processors, further cause the filter processing device to calculate each of a plurality of feature planes of a second layer by performing filter processing on a plurality of feature planes of a first layer using filters respectively corresponding to the plurality of feature planes of the first layer.

9. The filter processing device according to claim 8 , wherein

the coefficient validity information is common for the filters respectively corresponding to the plurality of feature planes of the first layer.

10. The filter processing device according to claim 9 , wherein

the instructions, when executed by the one or more processors, further cause the filter processing device to calculate each of a plurality of feature planes of a fourth layer by performing filter processing on a plurality of feature planes of a third layer using filters respectively corresponding to the plurality of feature planes of the third layer,

the coefficient validity information is common for the filters respectively corresponding to the plurality of feature plane of the third layer, and

the coefficient validity information is different between the filters respectively corresponding to the plurality of feature planes of the first layer and the filters respectively corresponding to the plurality of feature planes of the third layer.

11. The filter processing device according to claim 8 , wherein

in terms of the filters respectively corresponding to the plurality of feature planes of the first layer, the coefficient validity information for the filter is different for each feature plane.

12. The filter processing device according to claim 1 , wherein

the instructions, when executed by the one or more processors, further cause the device to store the filter coefficients, wherein

the instructions, when executed by the one or more processors, further cause the device to buffer a part of filter coefficients stored in a coefficient memory.

13. The filter processing device according to claim 12 , wherein

the instructions, when executed by the one or more processors, further cause the device to buffer a filter coefficient specified as valid by the coefficient validity information, among the filter coefficients stored in the coefficient memory.

14. The filter processing device according to claim 1 , wherein

the instructions, when executed by the one or more processors, further cause the device to store the feature plane data in a feature plane memory, and further cause the device to buffer a part of the feature plane data stored in the feature plane memory.

15. The filter processing device according to claim 14 , wherein

the instructions, when executed by the one or more processors, further cause the device to buffer a piece of the feature plane data corresponding to a filter coefficient specified as valid by the coefficient validity information, among the feature plane data stored in the feature plane memory.

16. The filter processing device according to claim 1 , wherein

the coefficient validity information specifies, for each position of the filter, whether a filter coefficient is valid or invalid in the convolution operation.

17. The filter processing device according to claim 1 , wherein

the coefficient validity information includes information indicating a position of one valid filter coefficient in the filter, and information indicating a relative position of another valid filter coefficient with respect to the one filter coefficient.

18. A method of performing, at a filter processing device, a convolution operation using a filter on a feature plane, the method comprising:

acquiring feature plane data, filter coefficients of the filter, and coefficient validity information which specifies whether each of the filter coefficients of the filter is valid or invalid; and

performing a convolution operation of the filter coefficients specified as valid by the coefficient validity information and pieces of the feature plane data corresponding to the filter coefficients specified as valid, without performing the convolution operation of the filter coefficients specified as invalid by the coefficient validity information and pieces of the feature plane data corresponding to the filter coefficients specified as invalid.

19. The filter processing device according to claim 1 , wherein

the coefficient validity information specifies a filter coefficient whose value is 0 as invalid.

20. The filter processing device according to claim 1 , wherein

in a case where the convolution operation is performed, the convolution operation is performed according to a neural network including a plurality of layers.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 7, 2020
From: CHEN, TSEWEI; KATO, MASAMI
To: CANON KABUSHIKI KAISHA
Reel/Frame 053704/0388 →
Priority Claims (1)
JP 2019-112129 · Jun 17, 2019 · national
Continuity (1)
Related Publication 20200394516A1 · Dec 17, 2020