IP Library Granted Patent US 9,053,573
Granted Patent B2
US 9,053,573 · App. 13/098,363 · Granted Jun 9, 2015

Systems and methods for generating a virtual camera viewpoint for an image

Inventors: Dennis Lin (Urbana, IL); Quang H. Nguyen (Ho Chi Minh, VN); Minh N. Do (Urbana, IL); Sanjay J. Patel (Urbana, IL)
Assignee: PERSONIFY, INC.
G06T15/20G06T15/205
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,053,573
App. No.
13/098,363
Granted
Jun 9, 2015
Kind
B2
Abstract

A color image and a depth image of a live video are received. A user is extracted from the information of the color image and the depth image. Spurious depth vales may be corrected. Points or pixels of an image as seen from a viewpoint of a reference camera at a reference camera location are mapped to points of the image as would be seen from a viewpoint of a virtual camera at a virtual camera location. As such, a transformed color image is generated. Disoccluded pixels may be processed to address any gaps within the transformed color image.

Claims (30)

1. A method for generating a transformed image, the method comprising:

receiving, using a computer, a depth image and an input color image of a video from at least one reference camera at a reference camera location, the input color image comprising pixels arranged in rows and columns;

receiving input identifying a virtual camera location; and

generating, using the computer, a transformed color image reflecting a viewpoint from the virtual camera location, wherein the generating includes a three dimensional (3D) mapping of the pixels of the input color image to pixels of the transformed color image, wherein the mapping comprises reversing a projection matrix of the at least one reference camera based on depth value—s—of the pixel—s—from the depth image and on the virtual camera location.

2. The method as set forth in claim 1 , further comprising correcting spurious depth values of the depth image, the correcting comprising the application of a bilateral filter to regions of the depth image that comprise an unknown depth value.

3. The method as set forth in claim 1 , further comprising processing disoccluded pixels of portions of the transformed color image that were not captured by the reference camera, the processing comprising assigning a weighted average pixel color value of nearby pixels of the transformed color image to each disoccluded pixel in the transformed color image.

4. The method as set forth in claim 1 , further comprising processing disoccluded pixels of portions of the transformed color image that were not captured by the reference camera, the processing comprising filling in a region comprising disoccluded pixels with an appearance of a shadow such that a light source associated with the shadow corresponds with the reference camera location.

5. A system comprising at least one processor and non-transitory memory, the memory storing instructions that, when executed by the one or more processors, are operative:

to receive a depth image and an input color image of a video from at least one reference camera at a reference camera location, the input color image comprising pixels arranged in rows and columns;

to receive input identifying a virtual camera location; and

to generate a transformed color image reflecting a viewpoint from the virtual camera location, wherein the generating includes a three dimensional (3D) mapping of the pixels of the input color image to pixels of the transformed color image, wherein the mapping comprises reversing a projection matrix of the at least one reference camera based on depth value—s—of the pixel—s—from the depth image and on the virtual camera location.

6. The system as set forth in claim 5 , further comprising a module for correcting spurious depth values of the depth image, the correcting comprising the application of a bilateral filter to regions of the depth image that comprise an unknown depth value.

7. The system as set forth in claim 5 , further comprising a module for processing disoccluded pixels of portions of the transformed color image that were not captured by the reference camera, the processing comprising assigning a weighted average pixel color value of nearby pixels of the transformed color image to each disoccluded pixel in the transformed color image.

8. The system as set forth in claim 5 , further comprising a module for processing disoccluded pixels portions of the transformed color image that were not captured by the reference camera, the processing comprising filling in a region comprising disoccluded pixels with an appearance of a shadow such that a light source associated with the shadow corresponds with the reference camera location.

9. A non-transitory computer readable medium containing one or more instructions, wherein the one or more instructions, when executed by one or more processors, cause the one or more processors to perform the steps of:

receiving, using a computer, a depth image and an input color image of a video from at least one reference camera at a reference camera location;

receiving input identifying a virtual camera location; and

generating, using the computer, a transformed color image reflecting a viewpoint from the virtual camera location, wherein the generating includes a three dimensional (3D) mapping of the pixels of the input color image to pixels of the transformed color image, wherein the mapping comprises reversing a projection matrix of the at least one reference camera based on depth value—s—of the pixel—s—from the depth image and on the virtual camera location.

10. The non-transitory computer readable medium as set forth in claim 9 , wherein the steps further comprise correcting spurious depth values of the depth image the correcting comprising the application of a bilateral filter to regions of the depth image that comprise an unknown depth value.

11. The non-transitory computer readable medium as set forth in claim 9 , wherein the steps further comprise processing disoccluded pixels of portions of the transformed color image that were not captured by the reference camera, the processing comprising assigning a weighted average pixel color value of nearby pixels of the transformed color image to each disoccluded pixel in the transformed color image.

12. The non-transitory computer readable medium as set forth in claim 9 , wherein the steps further comprise processing disoccluded pixels of portions of the transformed color image that were not captured by the reference camera, the processing comprising filling in a region comprising disoccluded pixels with an appearance of a shadow such that a light source associated with the shadow corresponds with the reference camera location.

13. The method of claim 1 , wherein the virtual camera location is displaced vertically from the reference camera location.

14. The method of claim 1 , wherein the virtual camera location is displaced horizontally from the reference camera location.

15. The method of claim 1 , wherein the virtual camera location is displaced both horizontally and vertically from the reference camera location.

16. The system of claim 5 , wherein the virtual camera location is displaced vertically from the reference camera location.

17. The system of claim 5 , wherein the virtual camera location is displaced horizontally from the reference camera location.

18. The system of claim 5 , wherein the virtual camera location is displaced both horizontally and vertically from the reference camera location.

19. The non-transitory computer readable medium of claim 9 , wherein the virtual camera location is displaced vertically from the reference camera location.

20. The non-transitory computer readable medium of claim 9 , wherein the virtual camera location is displaced horizontally from the reference camera location.

21. The non-transitory computer readable medium of claim 9 , wherein the virtual camera location is displaced both horizontally and vertically from the reference camera location.

Assignments (5)
SECURITY AGREEMENT Recorded Jun 1, 2026
From: PERSONIFY, INC.; MEMBERCLICKS, LLC
To: GOLUB CAPITAL MARKETS LLC, AS COLLATERAL AGENT
Reel/Frame 075819/0687 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2021
From: HONGFUJIN PRECISION INDUSTRY WUHAN
To: PERSONIFY, INC.
Reel/Frame 057467/0738 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 26, 2019
From: PERSONIFY, INC.
To: HONGFUJIN PRECISION INDUSTRY (WUHAN) CO. LTD.
Reel/Frame 051367/0920 →
CHANGE OF NAME Recorded Mar 5, 2014
From: NUVIXA, INC.
To: PERSONIFY, INC.
Reel/Frame 032390/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2011
From: LIN, DENNIS; NGUYEN, QUANG; DO, MINH; PATEL, SANJAY
To: NUVIXA, INC.
Reel/Frame 026205/0522 →
Continuity (2)
Provisional Application 61329263 · Apr 29, 2010
Related Publication 20110267348A1 · Nov 3, 2011