IP Library › Granted Patent US 10,565,773
Granted Patent B1
US 10,565,773 · App. 16/401,816 · Granted Feb 18, 2020

Efficient light field video streaming

Inventor: Donny Tytgat (Oosterzele, BE)
Assignee: Nokia Technologies Oy
G06T15/005G06T15/20H04N13/25H04N13/254H04N13/279
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 10,565,773
App. No.
16/401,816
Granted
Feb 18, 2020
Kind
B1
Abstract

Methods, devices, and computer program products are provided for rendering selective light field representations for new images of a scene by extending the plenoptic function range to include a null radiance term such that rays characterized by the extended plenoptic function L(x, y, z, θ, ϕ) may return the null radiance term to denote that an instantiator should use a non-light field model or rendering engine to generate an appropriate replacement for that ray. Multiple viewers can be grouped based upon viewer behavior and/or virtual viewpoint within the scene. Round-trip time for sending/receiving communications between a server or processor and one or more user devices, as well as viewer behavior, can be used to predict for which light rays the corresponding light field data needs to be transmitted based on a probability that the light ray will be called upon during near-future rendering for a user.

Claims (70)

1. An apparatus for selectively transmitting light field data to a user device, the apparatus comprising at least one processor and at least one memory including computer program instructions, the at least one memory and the computer program instructions, with the at least one processor, configured to cause the apparatus at least to:

receive light field data from a light field data source, said light field data comprising a plurality of light rays, each light ray of the plurality of light rays defined by a plenoptic function comprising positional terms (x, y, z) and directional terms (θ, ϕ) related to a scene;

receive round trip time information related to communication between said apparatus and said user device associated with a user;

receive from said user device field of view information related to a particular field of view of said scene;

determine, based upon at least said round trip time information and said field of view information, a part of said plurality of light rays that has a probability of being requested for rendering within a predetermined time that satisfies a predetermined probability threshold;

transmit, to said user device, data related to said part of said plurality of light rays; and

transmit, to said user device, a null ray term for each light ray of a remaining part of said plurality of light rays not belonging to said part as a null ray together with an alternative representation of a corresponding portion of said scene.

2. The apparatus of claim 1 , wherein the at least one memory and the computer program instructions, with the at least one processor, are further configured to cause the apparatus at least to:

receive other round trip time information related to communication between said apparatus and one or more other user devices associated with one or more other users;

receive from said one or more other user devices other field of view information related to one or more other particular fields of view of said scene; and

determine, based upon at least said round trip information, said field of view information, said other round trip information, and said other field of view information, the part of said plurality of light rays that has a probability of being requested for rendering within the predetermined time that satisfies a predetermined probability threshold.

3. The apparatus of claim 2 , wherein the at least one memory and the computer program instructions, with the at least one processor, are further configured to cause the apparatus at least to:

transmit data related to said part of light rays to said user device and said one or more other user devices; and

transmit, to said user device and said one or more other user devices, data related to light rays of the remaining part of said plurality of light rays not belonging to said part as the null ray together with the alternative representation of the corresponding portion of said scene.

4. The apparatus of claim 2 , wherein the at least one memory and the computer program instructions, with the at least one processor, are further configured to cause the apparatus at least to:

group said user and said one or more other users into one or more user groups based upon at least one of a user behavior and a field of view difference.

5. The apparatus of claim 4 , wherein the user behavior is a rate of change of the particular field of view, wherein grouping said user and said one or more other users comprises grouping said user and said one or more other users into a first group of users having a rate of change of the particular field of view below a predetermined threshold and a second group of users having a rate of change of the particular field of view above the predetermined threshold.

6. The apparatus of claim 4 , wherein grouping the user and the one or more other users comprises grouping the user and the one or more other users into a first group of users having a virtual viewpoint within a predetermined distance of a first location within the scene and a second group of users having the virtual viewpoint within a predetermined distance of a second location within the scene.

7. The apparatus of claim 4 , wherein the at least one memory and the computer program instructions, with the at least one processor, are further configured to cause the apparatus at least to:

determine an error rate for each particular field of view within a particular group of the one or more groups of users; and

apply a weight function to transform the error rate into a weight value associated with each particular field of view in the particular group of users.

8. The apparatus of claim 7 , wherein the at least one memory and the computer program instructions, with the at least one processor, are further configured to cause the apparatus at least to:

group the users from the particular group of users in one or more clusters based upon a maximum distance between the virtual viewpoints of the users; and

output cluster centers associated with the one or more clusters.

9. The apparatus of claim 8 , wherein the at least one memory and the computer program instructions, with the at least one processor, are further configured to cause the apparatus at least to:

determine one or more parameters for a viewpoint location and a viewpoint orientation of the virtual viewpoints of the users;

calculate a weighted average of the one or more parameters for the viewpoint location and the viewpoint orientation of the virtual viewpoints of the users; and

model changes in the one or more parameters for each virtual viewpoint relative to the weighted average of the one or more parameters.

10. The apparatus of claim 9 , wherein the at least one memory and the computer program instructions, with the at least one processor, are further configured to cause the apparatus at least to:

determine, based upon at least the changes in the one or more parameters for each virtual viewpoint relative to the weighted average of the one or more parameters, the one or more light rays from both the first portion and the third portion of the plurality of light rays that have said probability of being requested for rendering within the predetermined time that satisfies said predetermined probability threshold.

11. A user device comprising at least one processor and at least one memory including computer program instructions, the at least one memory and the computer program instructions, with the at least one processor, configured to cause the user device at least to:

receive light field information related to a scene from an apparatus, said light field information comprising light field data for light rays that have a probability of being requested for rendering within a predetermined time that satisfies a predetermined probability threshold, a null ray for other light rays that have a probability that does not satisfy said predetermined probability threshold, and an alternative representation of a portion of said scene corresponding to said other light rays have a probability that does not satisfy said predetermined probability threshold;

analyze said light field information to determine a field of view of the scene based on an orientation and a location of a virtual viewpoint of a user within the scene; and

provide data related to said field of view to said apparatus.

12. The user device of claim 11 , wherein the at least one memory and the computer program instructions, with the at least one processor, are further configured to cause the user device at least to:

render a first portion of a new image of the scene based upon at least said light field data; and

render a second portion of the new image of the scene based upon at least said alternative representation.

13. A method for selectively transmitting light field data to a user device, the method comprising:

receiving light field data from a light field data source, said light field data comprising a plurality of light rays, each light ray of the plurality of light rays defined by a plenoptic function comprising positional terms (x, y, z) and directional terms (θ, ϕ) related to a scene;

receiving round trip time information related to communication between said apparatus and said user device associated with a user;

receiving from said user device field of view information related to a particular field of view of said scene;

determining, based upon at least said round trip time information and said field of view information, a part of said plurality of light rays that has a probability of being requested for rendering within a predetermined time that satisfies a predetermined probability threshold;

transmitting, to said user device, data related to said part of said plurality of light rays; and

transmitting, to said user device, a null ray term for each light ray of a remaining part of said plurality of light rays not belonging to said part as a null ray together with an alternative representation of a corresponding portion of said scene.

14. The method of claim 13 , further comprising:

receiving other round trip time information related to communication between said apparatus and one or more other user devices associated with one or more other users;

receiving from said one or more other user devices other field of view information related to one or more other particular fields of view of said scene; and

determining, based upon at least said round trip information, said field of view information, said other round trip information, and said other field of view information, the part of said plurality of light rays that has a probability of being requested for rendering within the predetermined time that satisfies a predetermined probability threshold.

15. The method of claim 13 , further comprising:

grouping said user and said one or more other users into one or more user groups based upon at least one of a user behavior and a field of view difference.

16. The method of claim 15 , further comprising:

determining an error rate for each particular field of view within a particular group of the one or more groups of users; and

applying a weight function to transform the error rate into a weight value associated with each particular field of view in the particular group of users.

17. A method comprising:

receiving light field information related to a scene from an apparatus, said light field information comprising light field data for light rays that have a probability of being requested for rendering within a predetermined time that satisfies a predetermined probability threshold, a null ray for other light rays that have a probability that does not satisfy said predetermined probability threshold, and an alternative representation of a portion of said scene corresponding to said other light rays have a probability that does not satisfy said predetermined probability threshold;

analyzing said light field information to determine a field of view of the scene based on an orientation and a location of a virtual viewpoint of a user within the scene; and providing data related to said field of view to said apparatus.

18. The method of claim 17 , further comprising:

rendering a first portion of a new image of the scene based upon at least said light field data; and

rendering a second portion of the new image of the scene based upon at least said alternative representation.

19. A computer program product comprising a non-transitory storage medium having instructions stored thereon for performing at least the following:

receiving light field data from a light field data source, said light field data comprising a plurality of light rays, each light ray of the plurality of light rays defined by a plenoptic function comprising positional terms (x, y, z) and directional terms (θ, ϕ) related to a scene;

receiving round trip time information related to communication between said apparatus and said user device associated with a user;

receiving from said user device field of view information related to a particular field of view of said scene;

determining, based upon at least said round trip time information and said field of view information, a part of said plurality of light rays that has a probability of being requested for rendering within a predetermined time that satisfies a predetermined probability threshold;

transmitting, to said user device, data related to said part of said plurality of light rays; and

transmitting, to said user device, a null ray term for each light ray of a remaining part of said plurality of light rays not belonging to said part as a null ray together with an alternative representation of a corresponding portion of said scene.

20. A computer program product comprising a non-transitory storage medium having instructions stored thereon for performing at least the following:

receiving light field information related to a scene from an apparatus, said light field information comprising light field data for light rays that have a probability of being requested for rendering within a predetermined time that satisfies a predetermined probability threshold, a null ray for other light rays that have a probability that does not satisfy said predetermined probability threshold, and an alternative representation of a portion of said scene corresponding to said other light rays have a probability that does not satisfy said predetermined probability threshold;

analyzing said light field information to determine a field of view of the scene based on an orientation and a location of a virtual viewpoint of a user within the scene; and

providing data related to said field of view to said apparatus.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2019
From: TYTGAT, DONNY
To: NOKIA TECHNOLOGIES OY
Reel/Frame 049728/0173 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2019
From: TYTGAT, DONNY
To: NOKIA TECHNOLOGIES OY
Reel/Frame 049112/0218 →
Continuity (1)
Continuation In Part 16248399 · Jan 15, 2019
Cited By (7)
US 12,225,066 US 12,299,790 US 12,301,666 US 12,464,311 US 12,482,211 US 12,567,213 US 12,641,211