IP Library › Granted Patent US 9,998,723
Granted Patent B2
US 9,998,723 · App. 14/607,355 · Granted Jun 12, 2018

Filling disparity holes based on resolution decoupling

Inventors: Alexey M. Supikov (San Jose, CA); Maha El Choubassi (Santa Clara, CA)
Assignee: Intel Corporation
H04N13/0022H04N2013/0081
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,998,723
App. No.
14/607,355
Granted
Jun 12, 2018
Kind
B2
Abstract

Techniques related to filling hole regions in a disparity map are discussed. Such techniques may include generating approximated disparity values for grid nodes of an approximation grid having a lower resolution than the disparity map based on disparity values within outer hole contour regions circumscribing the hole regions. The hole regions may be filled with upsampled disparity values based on the approximated disparity values to provide a final disparity map.

Claims (51)

1. A computer implemented method for filling holes in a disparity map comprising:

providing, for an initial disparity map having a hole region and a contour region circumscribing the hole region, a disparity value approximation grid having a lower resolution than the initial disparity map and comprising a plurality of grid nodes and a plurality of grid cells between respective grid nodes;

determining, from the disparity value approximation grid, selected grid nodes comprising only those grid nodes within the hole region or having a portion of the contour region adjacent thereto, the selected grid nodes comprising multiple first grid nodes defining a first grid cell therebetween, the first grid cell having a portion of the contour region therein;

generating a disparity values optimization model comprising an approximated disparity value for each of the selected grid nodes, wherein the disparity values optimization model comprises a sum of a disparity difference term and a smoothness term, wherein the disparity difference term comprises differences between disparity values from the initial disparity map and weighted averages of approximated disparity values of the first grid nodes for only those coordinate positions in the first grid cell included in the contour region while disparity values from the initial disparity map are excluded from the disparity difference term for coordinate positions in the first grid cell not included in the contour region, and wherein the smoothness term comprises differences between approximated disparity values of the selected grid nodes;

generating a resultant approximated disparity values for each of the approximated disparity values by optimizing the disparity values optimization model; and

filling the hole region with upsampled approximated disparity values based on the resultant approximated disparity values to generate a final disparity map.

2. The method of claim 1 , further comprising:

generating the contour region circumscribing the hole region by:

detecting a hole region boundary of the hole region;

rendering the hole region boundary onto a bitmap; and

modifying at least one rendered value within the hole region.

3. The method of claim 2 , further comprising:

generating a hole mask based on the initial disparity map, wherein the hole region boundary is detected based on the hole mask and the at least one value is modified to clear the at least one value based on the hole mask.

4. The method of claim 1 , wherein the smoothness term comprises a sum of squared differences between the approximated disparity values.

5. The method of claim 1 , wherein the disparity difference term comprises a sum of squares of each difference between the disparity value from the initial disparity map and the weighted average of approximated disparity values of the first grid nodes.

6. The method of claim 1 , wherein optimizing the disparity values optimization model comprises applying a sparse solver to a linear system derived from the disparity values optimization model.

7. The method of claim 1 , wherein the initial disparity map comprises a second hole region, the method further comprising:

generating second resultant approximated disparity values for at least second selected grid nodes of the disparity value approximation grid within the second hole region of the initial disparity map based on a second disparity values optimization model, wherein the disparity values optimization model and the second disparity values optimization model comprise separate optimizations.

8. The method of claim 7 , wherein the resultant approximated disparity values and the second resultant approximated disparity values are generated in parallel.

9. The method of claim 1 , wherein the initial disparity map comprises a second hole region, the method further comprising:

generating second resultant approximated disparity values for at least second selected grid nodes of the disparity value approximation grid within the second hole region of the initial disparity map based on the disparity values optimization model, wherein the disparity values optimization model comprises an optimization based on the selected grid nodes and the second selected grid nodes.

10. The method of claim 1 , wherein the initial disparity map comprises a pixel resolution disparity map and the disparity value approximation grid comprises grid nodes separated by not less than two pixels.

11. A system for filling holes in a disparity map comprising:

a memory configured to receive an initial disparity map having a hole region and a contour region circumscribing the hole region; and

a processor coupled to the memory, the processor

to provide a disparity value approximation grid having a lower resolution than the initial disparity map and comprising a plurality of grid nodes and a plurality of grid cells between respective grid nodes for the initial disparity map, to determine, from the disparity value approximation grid, selected grid nodes comprising only those grid nodes within the hole region or having a portion of the contour region adjacent thereto, the selected grid nodes comprising multiple first grid nodes defining a first grid cell therebetween, the first grid cell having a portion of the contour region therein, to generate a disparity values optimization model comprising an approximated disparity value for each of the selected grid nodes, wherein the disparity values optimization model comprises a sum of a disparity difference term and a smoothness term, wherein the disparity difference term comprises differences between disparity values from the initial disparity map and weighted averages of approximated disparity values of the first grid nodes for only those coordinate positions in the first grid cell included in the contour region while disparity values from the initial disparity map are excluded from the disparity difference term for coordinate positions in the first grid cell not included in the contour region, and wherein the smoothness term comprises differences between approximated disparity values of the selected grid nodes, to generate a resultant approximated disparity values for each of the approximated disparity values based on an optimization of the disparity values optimization model, and to fill the hole region with upsampled approximated disparity values based on the resultant approximated disparity values to generate a final disparity map.

12. The system of claim 11 , wherein the processor is further to generate the contour region circumscribing the hole region by the processor being configured to detect a hole region boundary of the hole region, to render the hole region boundary onto a bitmap, and to modify at least one rendered value within the hole region.

13. The system of claim 12 , wherein the processor is further to generate a hole mask based on the initial disparity map, and wherein the processor is to detect the hole region boundary based on the hole mask and to clear the at least one value based on the hole mask.

14. The system of claim 11 , wherein the smoothness term comprises a sum of squared differences between the approximated disparity values.

15. The system of claim 11 , wherein the disparity difference term comprises a sum of squares of each difference between the disparity value from the initial disparity map and the weighted average of approximated disparity values of the first grid nodes.

16. The system of claim 11 , wherein the initial disparity map comprises a second hole region, and wherein the processor is to generate second resultant approximated disparity values for at least second grid nodes of the disparity value approximation grid within the second hole region of the initial disparity map based on a second disparity values optimization model, wherein the disparity values optimization model and the second disparity values optimization model comprise separate optimizations.

17. The system of claim 11 , wherein the initial disparity map comprises a second hole region, and wherein the processor is to generate second resultant approximated disparity values for at least second grid nodes of the disparity value approximation grid within the second hole region of the initial disparity map based on the disparity values optimization model, wherein the disparity values optimization model comprises an optimization based on the grid nodes within the hole region and the second grid nodes within the second hole region.

18. The system of claim 11 , wherein the initial disparity map comprises a pixel resolution disparity map and the disparity value approximation grid comprises grid nodes separated by not less than two pixels.

19. At least one non-transitory machine readable medium comprising a plurality of instructions that, in response to being executed on a device, cause the device to fill holes in a disparity map by:

providing, for an initial disparity map having a hole region and a contour region circumscribing the hole region, a disparity value approximation grid having a lower resolution than the initial disparity map and comprising a plurality of grid nodes and a plurality of grid cells between respective grid nodes;

determining, from the disparity value approximation grid, selected grid nodes comprising only those grid nodes within the hole region or having a portion of the contour region adjacent thereto, the selected grid nodes comprising multiple first grid nodes defining a first grid cell therebetween, the first grid cell having a portion of the contour region therein;

generating a disparity values optimization model comprising an approximated disparity value for each of the selected grid nodes, wherein the disparity values optimization model comprises a sum of a disparity difference term and a smoothness term, wherein the disparity difference term comprises differences between disparity values from the initial disparity map and weighted averages of approximated disparity values of the first grid nodes for only those coordinate positions in the first grid cell included in the contour region while disparity values from the initial disparity map are excluded from the disparity difference term for coordinate positions in the first grid cell not included in the contour region, and wherein the smoothness term comprises differences between approximated disparity values of the selected grid nodes;

generating a resultant approximated disparity values for each of the approximated disparity values by optimizing the disparity values optimization model; and

filling the hole region with upsampled approximated disparity values based on the resultant approximated disparity values to generate a final disparity map.

20. The machine readable medium of claim 19 , the machine readable medium comprising further instructions that, in response to being executed on the device, cause the device to fill holes in the disparity map by:

generating the contour region circumscribing the hole region by:

detecting a hole region boundary of the hole region;

rendering the hole region boundary onto a bitmap; and

modifying at least one rendered value within the hole region.

21. The machine readable medium of claim 19 , wherein the smoothness term comprises a sum of squared differences between the approximated disparity values.

22. The machine readable medium of claim 19 , wherein the disparity term comprises a sum of squares of each difference between the disparity value from the initial disparity map and the weighted average of approximated disparity values of the first grid nodes.

23. The machine readable medium of claim 19 , wherein the initial disparity map comprises a second hole region and the machine readable medium comprises further instructions that, in response to being executed on the device, cause the device to fill holes in the disparity map by:

generating second resultant approximated disparity values for at least second grid nodes of the disparity value approximation grid within the second hole region of the initial disparity map based on a second disparity values optimization model, wherein the disparity values optimization model and the second disparity values optimization model comprise separate optimizations.

24. The machine readable medium of claim 19 , wherein the initial disparity map comprises a second hole region and the machine readable medium comprises further instructions that, in response to being executed on the device, cause the device to fill holes in the disparity map by:

generating second resultant approximated disparity values for at least second selected grid nodes of the disparity value approximation grid within the second hole region of the initial disparity map based on the disparity values optimization model, wherein the disparity values optimization model comprises an optimization based on the selected grid nodes and the second selected grid nodes.

25. The machine readable medium of claim 19 , wherein the initial disparity map comprises a pixel resolution disparity map and the disparity value approximation grid comprises grid nodes separated by not less than two pixels.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2015
From: SUPIKOV, ALEXEY M.; EL CHOUBASSI, MAHA
To: INTEL CORPORATION
Reel/Frame 035042/0051 →
Continuity (1)
Related Publication 20160227187A1 · Aug 4, 2016