IP Library Granted Patent US 12,014,262
Granted Patent B2
US 12,014,262 · App. 16/592,241 · Granted Jun 18, 2024

Deconvolution by convolutions

Inventors: Tom Michiels (Leuven, BE); Thomas Julian Pennello (Mountain View, CA)
Assignee: SYNOPSYS, INC.
G06N3/063G06N3/04
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 12,014,262
App. No.
16/592,241
Granted
Jun 18, 2024
Kind
B2
Abstract

Disclosed herein are apparatus, method, and computer-readable storage device embodiments for implementing deconvolution via a set of convolutions. An embodiment includes a convolution processor that includes hardware implementing logic to perform at least one algorithm comprising a convolution algorithm. The at least one convolution processor may be further configured to perform operations including performing a first convolution and outputting a first deconvolution segment as a result of the performing the first convolution. The at least one convolution processor may be further configured to perform a second convolution and output a second deconvolution segment as a result of the performing the second convolution. According to some embodiments, the at least one convolution processor may be further configured to perform at least one further convolution to generate at least one further deconvolution segment, until a number of deconvolution segments output by the convolution processor reaches a deconvolution-size-value.

Claims (35)

1. An apparatus comprising:

a memory; and

at least one processor communicatively coupled with the memory to perform operations comprising:

obtaining an input tensor representing image data comprising a pixel; and

performing, based on the input tensor, image processing comprising deconvolution processing, the image processing comprising:

generating a first deconvolution segment of a plurality of deconvolution segments of a complete deconvolution by performing a first convolution to generate a first set of convolution results, wherein performing the first convolution to generate the first set of convolution results comprises performing a first tensor transformation based at least in part on a first convolution filter, a stride value, and the input tensor, wherein the first convolution filter comprises a first subset of a deconvolution filter, wherein the stride value defines a number of deconvolution segments of the plurality of deconvolution segments and a number of convolution results of the first set of convolution results, and wherein the first convolution has a convolution size determined based on a kernel size of the complete deconvolution and the stride value;

determining whether each deconvolution segment of the plurality of deconvolution segments comprising the first deconvolution segment and a second deconvolution segment has been generated, wherein the second deconvolution segment is generated by performing a second convolution comprising a second tensor transformation based at least in part on a second convolution filter that comprises a second subset of the deconvolution filter that is at least partially distinct from the first subset of the deconvolution filter;

in response to determining that each deconvolution segment of the plurality of deconvolution segments has been generated, assembling each deconvolution segment of the plurality of deconvolution segments to generate the complete deconvolution; and

outputting the complete deconvolution via at least one of: an output file or an output device.

2. The apparatus of claim 1 , wherein performing the first convolution further comprises expanding the input tensor by at least one layer of padding elements.

3. The apparatus of claim 2 , wherein the operations further comprise truncating each deconvolution segment of the plurality of deconvolution segments by a truncation value corresponding to the at least one layer of the padding elements.

4. The apparatus of claim 1 , wherein the input tensor is an output of a separate convolution.

5. The apparatus of claim 1 , wherein the input tensor is multi-dimensional.

6. A method comprising:

obtaining, via at least one processing device, an input tensor representing image data comprising a pixel; and

performing, via the at least one processing device based on the input tensor, image processing comprising deconvolution processing, the image processing comprising:

generating, via the at least one processing device, a first deconvolution segment of a plurality of deconvolution segments of a complete deconvolution by performing a first convolution to generate a first set of convolution results, wherein performing the first convolution to generate the first set of convolution results comprises performing a first tensor transformation based at least in part on a first convolution filter, a stride value, and the input tensor, wherein the first convolution filter comprises a first subset of a deconvolution filter, wherein the stride value defines a number of deconvolution segments of the plurality of deconvolution segments and a number of convolution results of the first set of convolution results, and wherein the first convolution has a convolution size determined based on a kernel size of the complete deconvolution and the stride value;

determining, via the at least one processing device, whether each deconvolution segment of the plurality of deconvolution segments comprising the first deconvolution segment and a second deconvolution segment has been generated, wherein the second deconvolution segment is generated by performing a second convolution comprising a second tensor transformation based at least in part on a second convolution filter that comprises a second subset of the deconvolution filter that is at least partially distinct from the first subset of the deconvolution filter;

in response to determining that each deconvolution segment of the plurality of deconvolution segments has been generated, assembling, via the at least one processing device, each deconvolution segment of the plurality of deconvolution segments to generate the complete deconvolution; and

outputting, via the at least one processing device, the complete deconvolution via at least one of: an output file or an output device.

7. The method of claim 6 , wherein performing the first convolution further comprises expanding the input tensor by at least one layer of padding elements.

8. The method of claim 7 , further comprising truncating, via the at least one processing device, each deconvolution segment of the plurality of deconvolution segments by a truncation value corresponding to the at least one layer of the padding elements.

9. The method of claim 6 , wherein the input tensor is an output of a separate convolution.

10. The method of claim 6 , wherein the input tensor is multi-dimensional.

11. A non-transitory computer-readable medium having instructions stored thereon, wherein the instructions, when executed by at least one computer processor, cause the at least one computer processor to perform operations comprising:

obtaining an input tensor representing image data comprising a pixel; and

performing, based on the input tensor, image processing comprising deconvolution processing, the image processing comprising:

generating a first deconvolution segment of a plurality of deconvolution segments of a complete deconvolution by performing a first convolution to generate a first set of convolution results, wherein performing the first convolution to generate the first set of convolution results comprises performing a first tensor transformation based at least in part on a first convolution filter, a stride value, and the input tensor, wherein the first convolution filter comprises a first subset of a deconvolution filter, wherein the stride value defines a number of deconvolution segments of the plurality of deconvolution segments and a number of convolution results of the first set of convolution results, and wherein the first convolution has a convolution size determined based on a kernel size of the complete deconvolution and the stride value;

determining whether each deconvolution segment of the plurality of deconvolution segments comprising the first deconvolution segment and a second deconvolution segment has been generated, wherein the second deconvolution segment is generated by performing a second convolution comprising a second tensor transformation based at least in part on a second convolution filter that comprises a second subset of the deconvolution filter that is at least partially distinct from the first subset of the deconvolution filter;

in response to determining that each deconvolution segment of the plurality of deconvolution segments has been generated, assembling each deconvolution segment of the plurality of deconvolution segments to generate the complete deconvolution; and

outputting the complete deconvolution via at least one of: an output file or an output device.

12. The non-transitory computer-readable medium of claim 11 , wherein performing the first convolution further comprises expanding the input tensor by at least one layer of padding elements.

13. The non-transitory computer-readable medium of claim 12 , wherein the operations further comprise truncating each deconvolution segment of the plurality of deconvolution segments by a truncation value corresponding to the at least one layer of the padding elements.

14. The non-transitory computer-readable medium of claim 11 , wherein the input tensor is an output of a separate convolution.

15. The non-transitory computer-readable medium of claim 11 , wherein the input tensor is multi-dimensional.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2026
From: SYNOPSYS, INC.
To: MIPS HOLDING, INC.
Reel/Frame 075801/0225 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2021
From: MICHIELS, TOM; PENNELLO, THOMAS JULIAN
To: SYNOPSYS, INC.
Reel/Frame 057843/0618 →
Priority Claims (1)
EP 18198452 · Oct 3, 2018 · regional
Continuity (1)
Related Publication 20200110986A1 · Apr 9, 2020