Patent ID: 11900577
Assignee: CANON KABUSHIKI KAISHA
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 19:
20. A processing apparatus for performing operations with a convolutional neural network having a plurality of layers, the apparatus comprising:
a controller configured to sequentially select each of the plurality of layers as a target layer;
a data holder configured to hold at least some of data of a plurality of channels in the target layer;
a plurality of processors, each comprising a processing core and a storage, wherein the processing cores of the plurality of processors are configured to perform, in parallel, a multiplication operation using the data of one channel of the target layer and a coefficient corresponding to the target layer, and each of the storages of the plurality of processors is configured to accumulate a result of the multiplication operation;
the first processing including:
inputting the data of different channels of the target layer into respective processors of the plurality of processors in parallel;
inputting the data of pixels of one channel of the target layer into a processing core of a corresponding processor of the plurality of processors;
performing the multiplication operation using the data of pixels of one channel of the target layer and the coefficient corresponding to the target layer by the processing core of the corresponding processor;
accumulating the result of the multiplication operation in the storage of the corresponding processor; and
outputting the accumulated result in the storage of each of the plurality of processors as a value corresponding to input data of a pixel of a corresponding channel in the next layer after the target layer, and

the second processing including:
inputting the data of different channels of the target layer into respective processors of the plurality of processors in parallel;
inputting the data of pixels of one channel of the target layer into a processing core of a corresponding processor of the plurality of processors;
performing the multiplication operation using the data of pixels of one channel of the target layer and the coefficient corresponding to the target layer by the processing core of the corresponding processor;
accumulating the result of the multiplication operations by the processing cores of the plurality of processors; and
outputting the accumulated result as a value corresponding to input data of a single channel in the next layer.