IP Library Granted Patent US 11,095,854
Granted Patent B2
US 11,095,854 · App. 16/294,205 · Granted Aug 17, 2021

Viewpoint-adaptive three-dimensional (3D) personas

Inventor: Simion Venshtain (Chicago, IL)
Assignee: Verizon Patent and Licensing Inc.
H04N7/157G06T7/593G06T7/596G06T15/205G06T17/20H04N5/232H04N5/247H04N5/33H04N7/144H04N13/243H04N21/00G06T2207/10021G06T2207/10024G06T2207/30196
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,095,854
App. No.
16/294,205
Granted
Aug 17, 2021
Kind
B2
Abstract

Systems and methods relate to receiving a plurality of video streams captured of a subject by a plurality of video cameras, each video stream including video frames time-synchronized according to a shared frame rate, each video camera having a known vantage point in a predetermined coordinate system; obtaining at least one three-dimensional (3D) mesh of the subject at the shared frame rate, the 3D mesh time-synchronized with the video frames of the video streams, the at least one mesh including a plurality of vertices with known locations in the predetermined coordinate system; calculating one or more lists of visible-vertices at the shared frame rate, each list including a subset of the plurality of vertices of the at least one 3D mesh of the subject, the subset being a function of the location of the known vantage point associated with at least one of the plurality of video cameras; generating one or more time-synchronized data streams at the shared frame rate, the one or more time-synchronized data streams including: one or more video streams encoding at least one of the plurality of video streams; and one or more geometric-data streams including the calculated one or more visible-vertices lists; and transmitting the one or more time-synchronized data streams to a receiver for rendering of a viewpoint-adaptive 3D persona of the subject.

Claims (52)

1. A method comprising:

operating a set of video cameras having known vantage points in a predetermined coordinate system shared among the video cameras, wherein the video cameras are operable to record a set of video streams including video frames depicting a subject and the video frames are time-synchronized according to a shared frame rate,

obtaining a three-dimensional (3D) mesh of the subject at the shared frame rate, wherein the 3D mesh is time-synchronized with the video frames of the video streams and includes a plurality of vertices with known locations in the predetermined coordinate system;

calculating one or more data structures of visible-vertices at the shared frame rate, wherein a data structure includes a subset of the plurality of vertices of the 3D mesh of the subject, the one or more data structures comprising one or more triangle-strip data sets that represent one or more strips of triangles in the 3D mesh of the subject;

generating one or more time-synchronized data streams at the shared frame rate, wherein the one or more time-synchronized data streams are operable to cause a viewpoint-adaptive 3D persona of the subject to be rendered, the one or more time-synchronized data streams including data representing the one or more data structures;

transmitting, at the shared frame rate, the one or more time-synchronized data streams to a receiver for rendering a viewpoint-adaptive 3D persona of the subject; and

transmitting, to the receiver, information indicating duplicate vertices in the one or more triangle-strip data sets;

wherein the information indicating duplicate vertices in the one or more triangle-strip data sets is transmitted to the receiver during intermediate time frames between times at which frames of the one or more time-synchronized data streams are transmitted to the receiver at the shared frame rate.

2. The method of claim 1 , wherein the one or more time-synchronized data streams include: (a) one or more video streams encoding a video stream included in the set of video streams; and (b) one or more geometric-data streams including the one or more data structures.

3. The method of claim 1 , wherein obtaining the three-dimensional (3D) mesh of the subject at the shared frame rate includes, for a period at the shared frame rate, executing the following steps:

receiving the 3D mesh of the subject for a current shared-frame-rate period from depth data; and

deforming the 3D mesh of the subject for the current shared-frame-rate period.

4. The method of claim 3 , wherein deforming the 3D mesh of the subject is constrained by a motion restriction.

5. The method of claim 1 , further comprising receiving a plurality of depth-data streams captured of the subject by a plurality of depth cameras that each have a known vantage point, wherein the plurality of depth-data streams include depth-data frames having a plurality of depth-data points, wherein the depth-data frames are time-synchronized with the video frames according to the shared framerate.

6. The method of claim 1 , wherein a triangle-strip data set comprises a mesh strip data object that includes some number of mesh triangle data objects that represent some number of triangles arranged in a strip in the 3D mesh.

7. The method of claim 1 , wherein:

a triangle-strip data set is configured to specify a first triangle in a strip of triangles with three vertices and a next triangle in the strip of triangles with only a single additional vertex; and

the triangle-strip data set provides an abbreviated form of geometric information for the 3D mesh that is more efficiently transmitted than a non-abbreviated form of the geometric information for the 3D mesh.

8. The method of claim 1 , wherein a triangle-strip data set comprises delta coordinates representing vertices of triangles arranged in a strip in the 3D mesh.

9. The method of claim 1 , wherein the information indicating duplicate vertices in the one or more triangle-strip data sets indicates sequence numbers of vertices that have the same coordinates in the 3D mesh of the subject.

10. The method of claim 1 , wherein the information indicating duplicate vertices in the one or more triangle-strip data sets comprises a table of rows, each row indicating two vertices that have the same coordinates in the 3D mesh of the subject.

11. The method of claim 9 , wherein the table comprises a two-column table and each row contains sequence numbers for the two vertices that have the same coordinates in the 3D mesh of the subject.

12. A system comprising:

a processor;

a set of video cameras communicatively coupled to the processor, the set of video cameras having known vantage points in a predetermined coordinate system shared among the video cameras;

a non-transitory memory communicatively coupled to the processor and storing executable code that is operable, when executed by the processor, to cause the processor to execute steps including:

operating the set of video cameras to cause a recordation of a set of video streams including video frames depicting a subject and the video frames are time-synchronized according to a shared frame rate,

obtaining a three-dimensional (3D) mesh of the subject at the shared frame rate, wherein the 3D mesh is time-synchronized with the video frames of the video streams and includes a plurality of vertices with known locations in the predetermined coordinate system;

calculating one or more data structures of visible-vertices at the shared frame rate, wherein a data structure includes a subset of the plurality of vertices of the 3D mesh of the subject, the one or more data structures comprising one or more triangle-strip data sets that represent one or more strips of triangles in the 3D mesh of the subject;

generating one or more time-synchronized data streams at the shared frame rate, wherein the one or more time-synchronized data streams are operable to cause a viewpoint-adaptive 3D persona of the subject to be rendered, the one or more time-synchronized data streams including data representing the one or more data structures;

transmitting, at the shared frame rate, the one or more time-synchronized data streams to a receiver for rendering a viewpoint-adaptive 3D persona of the subject; and

transmitting, to the receiver, information indicating duplicate vertices in the one or more triangle-strip data sets;

wherein the information indicating duplicate vertices in the one or more triangle-strip data sets is transmitted to the receiver during intermediate time frames between times at which frames of the one or more time-synchronized data streams are transmitted to the receiver at the shared frame rate.

13. The system of claim 12 , wherein the one or more time-synchronized data streams include: (a) one or more video streams encoding a video stream included in the set of video streams; and (b) one or more geometric-data streams including the one or more data structures.

14. The system of claim 12 , wherein obtaining the three-dimensional (3D) mesh of the subject at the shared frame rate includes, for a period at the shared frame rate, the processor executing the following steps:

receiving the 3D mesh of the subject for a current shared-frame-rate period from depth data; and

deforming the 3D mesh of the subject for the current shared-frame-rate period.

15. The system of claim 14 , wherein deforming the 3D mesh of the subject is constrained by a motion restriction.

16. The system of claim 12 , further comprising additional executable code that is operable, when executed by the processor, to cause the processor to receive a plurality of depth-data streams captured of the subject by a plurality of depth cameras that each have a known vantage point, wherein the plurality of depth-data streams include depth-data frames having a plurality of depth-data points, wherein the depth-data frames are time-synchronized with the video frames according to the shared frame rate.

17. A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to execute steps comprising:

operating a set of video cameras having known vantage points in a predetermined coordinate system shared among the video cameras, wherein the video cameras are operable to record a set of video streams including video frames depicting a subject and the video frames are time-synchronized according to a shared frame rate,

obtaining a three-dimensional (3D) mesh of the subject at the shared frame rate, wherein the 3D mesh is time-synchronized with the video frames of the video streams and includes a plurality of vertices with known locations in the predetermined coordinate system;

calculating one or more data structures of visible-vertices at the shared frame rate, wherein a data structure includes a subset of the plurality of vertices of the 3D mesh of the subject, the one or more data structures comprising one or more triangle-strip data sets that represent one or more strips of triangles in the 3D mesh of the subject;

generating one or more time-synchronized data streams at the shared frame rate, wherein the one or more time-synchronized data streams are operable to cause a viewpoint-adaptive 3D persona of the subject to be rendered, the one or more time-synchronized data streams including data representing the one or more data structures;

transmitting, at the shared frame rate, the one or more time-synchronized data streams to a receiver for rendering a viewpoint-adaptive 3D persona of the subject; and

transmitting, to the receiver, information indicating duplicate vertices in the one or more triangle-strip data sets;

wherein the information indicating duplicate vertices in the one or more triangle-strip data sets is transmitted to the receiver during intermediate time frames between times at which frames of the one or more time-synchronized data streams are transmitted to the receiver at the shared frame rate.

18. The non-transitory computer-readable medium of claim 17 , wherein the one or more time-synchronized data streams include: (a) one or more video streams encoding a video stream from the set of video streams; and (b) one or more geometric-data streams including the one or more data structures.

19. The non-transitory computer-readable medium of claim 17 , wherein obtaining the three-dimensional (3D) mesh of the subject at the shared frame rate includes, for a period at the shared frame rate, the processor executing the following steps:

receiving the 3D mesh of the subject for a current shared-frame-rate period from depth data; and

deforming the 3D mesh of the subject for the current shared-frame-rate period.

20. The non-transitory computer-readable medium of claim 19 , wherein deforming the 3D mesh of the subject is constrained by a motion restriction.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2019
From: VENSHTAIN, SIMION
To: PERSONIFY, INC.
Reel/Frame 050692/0338 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2019
From: PERSONIFY, INC.
To: JAUNT, INC.
Reel/Frame 050711/0725 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2019
From: JAUNT, INC.
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 050602/0853 →
Continuity (3)
Continuation In Part 15865122 · Jan 8, 2018
Provisional Application 62542267 · Aug 7, 2017
Related Publication 20190215486A1 · Jul 11, 2019