IP Library Granted Patent US 11,681,777
Granted Patent B2
US 11,681,777 · App. 17/571,946 · Granted Jun 20, 2023

Optimization for deconvolution

Inventor: Ganesh Venkatesh (San Jose, CA)
Assignee: Meta Platforms Technologies, LLC
G06F17/16G06N3/04G06N3/08G06T3/4023G06T3/4053
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,681,777
App. No.
17/571,946
Granted
Jun 20, 2023
Kind
B2
Abstract

Disclosed herein includes a system, a method, and a device for improving computational efficiency of deconvolution by reducing a number of dot products. In one aspect, an input image having a set of pixels is received. A first dot product may be performed on a subset of the set of pixels of the input image and a portion of a kernel, to generate a first pixel of an output image. A number of multiplications performed for the first dot product performed may be less than a number of elements of the kernel. A second dot product on a remaining portion of the kernel to generate the first pixel of the output image may be bypassed.

Claims (37)

1. A method comprising:

performing, by one or more processors according to predetermined mapping information, a first dot product on a first subset of a set of pixels of an input image and a portion of a kernel, to generate a first pixel of an output image;

bypassing, by the one or more processors according to the predetermined mapping information, a second dot product on a second subset of the set of pixels of the input image and a remaining portion of the kernel to generate the first pixel of the output image; and

performing, by the one or more processors, a third dot product on i) the first subset of the set of pixels of the input image and ii) another portion of the kernel to generate a second pixel of the output image.

2. The method of claim 1 , further comprising:

identifying, by the one or more processors according to the predetermined mapping information indicating a corresponding dot product to bypass for each pixel of the output image, the second dot product to bypass for the first pixel of the output image; and

bypassing, by the one or more processors according to the predetermined mapping information, the second dot product on the remaining portion of the kernel to generate the first pixel of the output image.

3. The method of claim 1 , further comprising:

identifying, by the one or more processors according to the predetermined mapping information indicating a corresponding dot product to perform for each pixel of the output image, the first dot product to perform for the first pixel for the output image; and

performing, by the one or more processors according to the predetermined mapping information, the first dot product on the first subset of the set of pixels of the input image and the portion of the kernel, to generate the first pixel of the output image.

4. The method of claim 1 , wherein the output image has more number of pixels than the input image.

5. The method of claim 1 , wherein the number of multiplications performed for the first dot product to generate the first pixel of the output image is same as a number of multiplications performed for the third dot product to generate the second pixel of the output image.

6. The method of claim 1 , further comprising:

performing, by the one or more processors, a third dot product on i) another subset of the set of pixels of the input image and ii) the portion of the kernel, to generate a second pixel of the output image.

7. The method of claim 6 , wherein the number of multiplications performed for the first dot product to generate the first pixel of the output image is same as a number of multiplications performed for the third dot product to generate the second pixel of the output image.

8. The method of claim 1 , further comprising:

performing, by the one or more processors, a third dot product on i) another subset of the set of pixels of the input image and ii) another portion of the kernel, to generate a second pixel of the output image.

9. The method of claim 8 , wherein the number of multiplications performed for of the first dot product to generate the first pixel of the output image is different from a number of multiplications performed for the third dot product to generate the second pixel of the output image.

10. A system comprising:

one or more processors configured to:

perform, according to predetermined mapping information, a first dot product on a first subset of a set of pixels of an input image and a portion of a kernel, to generate a first pixel of an output image; and

bypass, according to the predetermined mapping information, a second dot product on a second subset of the set of pixels of the input image and a remaining portion of the kernel to generate the first pixel of the output image; and

perform a third dot product on i) the first subset of the set of pixels of the input image and ii) another portion of the kernel to generate a second pixel of the output image.

11. The system of claim 10 , wherein the one or more processors are configured to:

identify, according to the predetermined mapping information indicating a corresponding dot product to bypass for each pixel of the output image, the second dot product to bypass for the first pixel of the output image; and

bypass, according to the predetermined mapping information, the second dot product on the remaining portion of the kernel to generate the first pixel of the output image.

12. The system of claim 10 , wherein the one or more processors are configured to:

identify, according to the predetermined mapping information indicating a corresponding dot product to perform for each pixel of the output image, the first dot product to perform for the first pixel of the output image; and

perform, according to the predetermined mapping information, the first dot product on the first subset of the set of pixels of the input image and the portion of the kernel, to generate the first pixel of the output image.

13. The system of claim 10 , wherein the output image has more number of pixels than the input image.

14. The system of claim 10 , wherein the number of multiplications performed for the first dot product to generate the first pixel of the output image is same as a number of multiplications performed for the third dot product to generate the second pixel of the output image.

15. The system of claim 10 , wherein the one or more processors are configured to:

perform a third dot product on i) another subset of the set of pixels of the input image and ii) the portion of the kernel, to generate a second pixel of the output image.

16. The system of claim 15 , wherein the number of multiplications performed for the first dot product to generate the first pixel of the output image is same as a number of multiplications performed for the third dot product to generate the second pixel of the output image.

17. The system of claim 10 , wherein the one or more processors are configured to:

perform a third dot product on i) another subset of the set of pixels of the input image and ii) another portion of the kernel, to generate a second pixel of the output image.

18. The system of claim 17 , wherein the number of multiplications performed for the first dot product to generate the first pixel of the output image is different from a number of multiplications performed for the third dot product to generate the second pixel of the output image.

Assignments (2)
CHANGE OF NAME Recorded Jul 22, 2022
From: FACEBOOK TECHNOLOGIES, LLC
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 060816/0634 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2022
From: VENKATESH, GANESH
To: FACEBOOK TECHNOLOGIES, LLC
Reel/Frame 059974/0065 →
Continuity (2)
Continuation 16513389 · Jul 16, 2019
Related Publication 20220129524A1 · Apr 28, 2022