IP Library Granted Patent US 9,978,129
Granted Patent B2
US 9,978,129 · App. 15/707,418 · Granted May 22, 2018

Patch partitions and image processing

Inventors: Zhe Lin (Fremont, CA); Jianchao Yang (San Jose, CA); Hailin Jin (San Jose, CA); Xin Lu (State College, PA)
Assignee: ADOBE SYSTEMS INCORPORATED
G06T5/005G06T5/002G06K9/00664G06K9/6218G06T2207/20081G06T2207/20084
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 9,978,129
App. No.
15/707,418
Granted
May 22, 2018
Kind
B2
Abstract

Patch partition and image processing techniques are described. In one or more implementations, a system includes one or more modules implemented at least partially in hardware. The one or more modules are configured to perform operations including grouping a plurality of patches taken from a plurality of training samples of images into respective ones of a plurality of partitions, calculating an image processing operator for each of the partitions, determining distances between the plurality of partitions that describe image similarity of patches of the plurality of partitions, one to another, and configuring a database to provide the determined distance and the image processing operator to process an image in response to identification of a respective partition that corresponds to a patch taken from the image.

Claims (43)

1. A method comprising:

obtaining a plurality of example training samples taken from example images, each example training sample having a plurality of example patches;

grouping the example patches into respective ones of a plurality of partitions, the example image patches in a partition being similar one to another;

calculating an image processing operator for each of the partitions based at least in part on a weighted average of corresponding pixels in the example image patches in the respective partition;

determining distances between the plurality of partitions that describe image similarity of patches of the plurality of partitions, one to another; and

configuring a storage to provide the determined distances and the image processing operator to process an image with an image denoising, texture synthesis, optical flow, or super-resolution operation in response to identification of a respective said partition that corresponds to a patch taken from an image external to the storage.

2. A method as described in claim 1 , wherein the plurality of partitions are arranged in a tree-like structure that describes image similarity of patches included in the partitions, one to another.

3. A method as described in claim 1 , wherein the distances are used as part of processing of the image to locate a second said partition based on a determination that a first said partition that is found as corresponding to the patch does not include at least a threshold number of example image patches.

4. A method as described in claim 3 , wherein the locating the second said partition includes performing a nearest neighbor search.

5. A method as described in claim 3 , wherein the locating the second said partition is based on the distance between the first said partition and the second said partition.

6. A method as described in claim 5 , wherein:

the locating the second said partition includes querying a lookup table to find the distance; and

the lookup table is pre-computed along with the plurality of partitions before the locating the second said partition.

7. A computing device comprising:

at least one processor; and

one or more computer-readable storage media having instructions stored thereon that, responsive to execution by the at least one processor, causes the at least one processor to implement functionality including:

obtaining a plurality of example training samples taken from example images, each example training sample having a plurality of example patches;

grouping the example patches into respective ones of a plurality of partitions, the example image patches in a partition being similar one to another;

calculating an image processing operator for each of the partitions based at least in part on a weighted average of corresponding pixels in the example image patches in the respective partition;

determining distances between the plurality of partitions that describe image similarity of patches of the plurality of partitions, one to another; and

configuring a storage to provide the determined distances and the image processing operator to process an image with an image denoising, texture synthesis, optical flow, or super-resolution operation in response to identification of a respective said partition that corresponds to a patch taken from an image external to the storage.

8. A computing device as described in claim 7 , wherein the plurality of partitions are arranged in a tree-like structure that describes image similarity of patches included in the partitions, one to another.

9. A computing device as described in claim 7 , wherein the distances are used as part of processing of the image to locate a second said partition based on a determination that a first said partition that is found as corresponding to the patch does not include at least a threshold number of example image patches.

10. A computing device as described in claim 9 , wherein the locating the second said partition includes performing a nearest neighbor search.

11. A computing device as described in claim 9 , wherein the locating the second said partition is based on the distance between the first said partition and the second said partition.

12. A computing device as described in claim 11 , wherein:

the locating the second said partition includes querying a lookup table to find the distance; and

the lookup table is pre-computed along with the plurality of partitions before the locating the second said partition.

13. One or more computer-readable storage media having instructions stored thereon that, responsive to execution by the at least one processor, causes the at least one processor to implement functionality including:

obtaining a plurality of example training samples taken from example images, each example training sample having a plurality of example patches;

grouping the example patches into respective ones of a plurality of partitions, the example image patches in a partition being similar one to another;

calculating an image processing operator for each of the partitions based at least in part on a weighted average of corresponding pixels in the example image patches in the respective partition;

determining distances between the plurality of partitions that describe image similarity of patches of the plurality of partitions, one to another; and

configuring a storage to provide the determined distances and the image processing operator to process an image with an image denoising, texture synthesis, optical flow, or super-resolution operation in response to identification of a respective said partition that corresponds to a patch taken from an image external to the storage.

14. One or more computer-readable storage media as described in claim 13 , wherein the plurality of partitions are arranged in a tree-like structure that describes image similarity of patches included in the partitions, one to another.

15. One or more computer-readable storage media as described in claim 13 , wherein the distances are used as part of processing of the image to locate a second said partition based on a determination that a first said partition that is found as corresponding to the patch does not include at least a threshold number of example image patches.

16. One or more computer-readable storage media as described in claim 15 , wherein the locating the second said partition includes performing a nearest neighbor search.

17. One or more computer-readable storage media as described in claim 15 , wherein the locating the second said partition is based on the distance between the first said partition and the second said partition.

18. One or more computer-readable storage media as described in claim 17 , wherein:

the locating the second said partition includes querying a lookup table to find the distance; and

the lookup table is pre-computed along with the plurality of partitions before the locating the second said partition.

19. The method as described in claim 1 , wherein the grouping the example patches includes determining a variance between respective example patches and bounding the variance allowed in each respective partition.

20. A computing device as described in claim 7 , wherein the grouping the example patches includes determining a variance between respective example patches and bounding the variance allowed in each respective partition.

Assignments (1)
CHANGE OF NAME Recorded Apr 8, 2019
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 048867/0882 →
Continuity (2)
Continuation 14280421 · May 16, 2014
Related Publication 20180005354A1 · Jan 4, 2018