Legal claims defining the scope of protection, as filed with the USPTO.
1. A Convolution Multiply and Accumulate (CMAC) system for performing a convolution operation, the CMAC system comprising: a local controller configured to generate a set of signals comprising a first signal, a second signal, a third signal and a fourth signal, wherein the set of signals is generated upon receipt of image data pertaining to an image, and wherein the image data comprises a set of feature matrix, depth information and a kernel size; a Multiply and Accumulator (MAC) configured to generate convoluted data by performing a convolution operation on each feature matrix upon receipt of the first signal, wherein the convolution operation is performed by multiplication of each feature, from the feature matrix, with the depth information; an accumulator configured to generate accumulated data based on accumulation of the convoluted data, when the convolution operation on each feature matrix is performed, wherein the accumulator accumulates the convoluted data upon receipt of the second signal; an adder configured to generate added data based on addition of a predefined value to the accumulated data upon receipt of the third signal; and an activation block configured to filter the added data in order to provide a convolution result for the image, wherein the activation block filters the added data by using a filter function upon receipt of the fourth signal thereby performing the convolution operation on the image, wherein the fourth signal is a parameter signal selected from a set of parameters, a bypass signal to bypass at least one of the MAC, the accumulator and the adder, or a START_RELU signal in order to receive filter function.
2. The CMAC system as claimed in claim 1 , wherein the local controller is configured to store the kernel size in a local kernel buffer.
3. The CMAC system as claimed in claim 1 , wherein the local controller is configured to store the set of feature matrix in a local pixel buffer.
4. The CMAC system as claimed in claim 1 , further comprises multiple data ports for parallel data loading.
5. The CMAC system as claimed in claim 1 , wherein the convolution operation is one of 2-dimensional convolution operation or a 3-dimensional convolution operation.
6. The CMAC system as claimed in claim 5 , wherein: the second signal is enabled when the convolution operation corresponds to the 3-dimensional convolution operation; and the second signal is disabled when the convolution operation corresponds to the 2-dimensional convolution operation.
7. The CMAC system as claimed in claim 1 , further comprises turning off the CMAC system upon receiving a SHUTOFF signal.
8. A method for performing a convolution operation, the method comprising steps of: receiving, by a processor, image data associated with an image, wherein the image data comprises a set of feature matrix, depth information and a kernel size; generating, by the processor, convoluted data based on execution of convolution operation for each feature matrix, wherein the convolution operation is executed by multiplication of each feature, from the feature matrix, with the depth information; performing, by the processor, an accumulation of the convoluted data to generate accumulated data when the convolution operation for each feature matrix is performed; adding, by the processor, a predefined value to the accumulated data to generate added data; and filtering, by the processor, the added data by using a filter function to provide a convolution result for the image, wherein the added data gets filtered by using a filter function upon receipt of a fourth signal thereby performing the convolution operation on the image, wherein the fourth signal is a parameter signal selected from a set of parameters, a bypass signal to bypass at least one of the MAC, the accumulator and the adder, or a START_RELU signal in order to receive filter function.
9. The method as claimed in claim 8 , wherein the convolution operation is one of 2-dimensional convolution operation or a 3-dimensional operation.
10. The method as claimed in claim 9 , wherein: performing the accumulation of the convoluted data is enabled when the convolution operation corresponds to the 3-dimensional convolution operation; and performing the accumulation of the convoluted data is disabled when the convolution operation corresponds to the 2-dimensional convolution operation.
11. A non-transitory computer readable medium embodying a program executable in a computing device for performing a convolution operation using a reconfigurable convolution engine, the program comprising a program code: a program code for receiving image data associated with an image, wherein the image data comprises a set of feature matrix, depth information and a kernel size; a program code for generating convoluted data based on execution of convolution operation for each feature matrix, wherein the convolution operation is executed by multiplication of each feature, from the feature matrix, with the depth information; a program code for performing an accumulation of the convoluted data to generate accumulated data when the convolution operation for each feature matrix is performed; a program code for adding a predefined value to the accumulated data to generate added data; and a program code for filtering the added data by using a filter function to provide a convolution result for the image, wherein the added data gets filtered by using a filter function upon receipt of the fourth signal thereby performing the convolution operation on the image, wherein the fourth signal is a parameter signal selected from a set of parameters, a bypass signal to bypass at least one of the MAC, the accumulator and the adder, or a START_RELU signal in order to receive filter function.
12. The non-transitory computer readable medium as claimed in claim 11 , wherein the convolution operation is one of 2-dimensional convolution operation or a 3-dimensional operation.
13. The non-transitory computer readable medium as claimed in claim 12 , wherein: the program code for performing the accumulation of the convoluted data is enabled when the convolution operation corresponds to the 3-dimensional convolution operation; and the program code for performing the accumulation of the convoluted data is disabled when the convolution operation corresponds to the 2-dimensional convolution operation.
Unknown
May 3, 2022
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.