IP Library Granted Patent US 12,063,389
Granted Patent B2
US 12,063,389 · App. 17/984,997 · Granted Aug 13, 2024

3D prediction method for video coding

Inventors: Seppo Valli (Espoo, FI); Pekka Siltanen (Helsinki, FI)
Assignee: Rovi Guides, Inc.
H04N19/597H04N19/124H04N19/136H04N19/159H04N19/166H04N19/172H04N19/89
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 12,063,389
App. No.
17/984,997
Granted
Aug 13, 2024
Kind
B2
Abstract

Systems and methods are provided for using a Multiple Depth Plane (MDP) prediction in predictive coding. The system detects a camera viewpoint change between a current frame and a previous frame, decomposes a reconstructed depth map of the previous frame to a plurality of depth planes, adjusts the plurality of depth planes from a previous camera viewpoint to correspond with a current camera viewpoint, generates an MDP prediction by summing pixel values of the adjusted plurality of depth planes along a plurality of optical axes from the current camera viewpoint, determines an MDP prediction error between the MDP prediction and a depth map of the current frame, quantizes and codes the MDP prediction error, and transmits, to a receiver over a communication network, the camera viewpoint change and the coded quantized MDP prediction error for reconstruction of a depth map of the current frame.

Claims (98)

1. A method comprising:

detecting a camera viewpoint change between a current frame from a current camera viewpoint to a previous frame from a previous camera viewpoint, wherein the current frame represents 3D scene;

decomposing a reconstructed depth map of the previous frame to a plurality of depth planes, wherein the reconstructed depth map of the previous frame is based on a depth map of the previous frame;

adjusting the plurality of depth planes from the previous camera viewpoint to correspond with the current camera viewpoint;

generating a Multi Depth Plane (MDP) prediction by summing pixel values of the adjusted plurality of depth planes along a first plurality of optical axes from the current camera viewpoint;

determining an MDP prediction error between the MDP prediction and a depth map of the current frame;

quantizing and coding the MDP prediction error; and

transmitting, to a receiver over a communication network, the camera viewpoint change and the coded quantized MDP prediction error for reconstruction of the depth map of the current frame.

2. The method of claim 1 , further comprising:

decomposing a reconstructed texture data from the previous frame to a plurality of focal planes, wherein the reconstructed texture data from the previous frame is based on texture data of the previous frame;

adjusting the plurality of focal planes from the previous camera viewpoint to correspond with the current camera viewpoint;

generating a Multi Focal Plane (MFP) prediction by summing pixel values of the adjusted plurality of focal planes along a second plurality of optical axes from the current camera viewpoint;

determining an MFP prediction error between the MFP prediction and the texture data of the current frame;

quantizing and coding the MFP prediction error;

transmitting, to a receiver over the communication network, the coded quantized MFP prediction error for reconstruction of texture data of the current frame.

3. The method of claim 2 , further comprising:

generating a 2D intra depth map prediction based on one or more reconstructed pixels of the depth map of the current frame;

generating a 2D inter depth map prediction based on one or more reconstructed depth maps of the previous frames;

determining a 2D intra depth map prediction error between the 2D intra depth map prediction and the depth map of the current frame;

determining a 2D inter depth map prediction error between the 2D inter depth map prediction of the depth map and the depth map of the current frame;

determining a smallest depth map error of the MDP prediction error, the 2D intra depth map prediction error, and 2D inter depth map prediction error;

selecting a depth map mode corresponding to a type of depth map prediction associated with the smallest depth map error;

generating a 2D intra texture data prediction based on one or more reconstructed pixels of the texture data of the current frame;

generating a 2D inter texture data prediction based on one or more reconstructed texture data of the previous frames;

determining a 2D intra texture data prediction error between the 2D intra texture data prediction and the texture data of the current frame;

determining a 2D inter texture data prediction error between the 2D inter texture data prediction and the texture data of the current frame;

determining a smallest texture data error of the MFP prediction error, the 2D intra texture data prediction error, and 2D inter texture data prediction error;

selecting a texture data mode corresponding to a type of texture data prediction associated with the smallest texture data error; and

transmitting the selected depth map mode and the selected texture data mode to the receiver over the communication network, wherein the selected depth map mode corresponds to the MDP prediction in response to the MDP prediction error being the smallest depth map error, the selected texture data mode corresponds to the MFP prediction in response to the MFP prediction error being the smallest texture data error, and the transmitting the camera viewpoint change, the coded quantized MDP prediction error, and the coded quantized MFP prediction error is in response to the MDP prediction error being the smallest depth map error and the MFP prediction error being the smallest texture data error.

4. The method of claim 1 , wherein detecting the camera viewpoint change comprises:

deriving the camera viewpoint change by using tracking information from position sensors.

5. The method of claim 1 , wherein detecting the camera viewpoint change comprises:

deriving the camera viewpoint change by using the current frame and the previous frame.

6. The method of claim 1 , wherein adjusting the plurality of depth planes comprises:

shifting each of the plurality of depth planes with a corresponding amount based on the camera viewpoint change; and

scaling each of the plurality of depth planes by a corresponding scale factor based on the camera viewpoint change, wherein a depth plane of the plurality of depth planes that is closer to the current camera viewpoint is shifted more and scaled larger in comparison to a depth plane of the plurality of depth planes that is further from the current camera viewpoint.

7. The method of claim 1 , further comprising:

capturing the previous frame at a previous time;

separating texture data from the depth map from the previous frame;

coding the texture data from the previous frame;

coding the depth map from the previous frame;

transmitting the coded texture data and the coded depth map from the previous frame to the receiver over the communication network; and

capturing the current frame at a current time being the previous time plus a frame delay.

8. The method of claim 7 , wherein the frame delay is based on quantization accuracy in coding based on feedback from a status of the communication network or a status of the receiver over the communication network.

9. The method of claim 1 , wherein the first plurality of optical axes intersect a depth plane of the adjusted plurality of depth planes at a plurality of intersection points, and a distance between a first intersection point and a second intersection point of the plurality of intersection points is less than a pixel spacing of an image corresponding to the depth plane.

10. The method of claim 1 , wherein the plurality of depth planes are irregularly spaced in distance.

11. A system comprising:

control circuitry configured to:

detect a camera viewpoint change between a current frame from a current camera viewpoint to a previous frame from a previous camera viewpoint, wherein the current frame represents 3D scene;

decompose a reconstructed depth map of the previous frame to a plurality of depth planes, wherein the reconstructed depth map of the previous frame is based on a depth map of the previous frame;

adjust the plurality of depth planes from the previous camera viewpoint to correspond with the current camera viewpoint;

generate a Multi Depth Plane (MDP) prediction by summing pixel values of the adjusted plurality of depth planes along a first plurality of optical axes from the current camera viewpoint;

determine an MDP prediction error between the MDP prediction and a depth map of the current frame; and

quantize and code the MDP prediction error; and

input/output circuitry configured to:

transmit, to a receiver over a communication network, the camera viewpoint change and the coded quantized MDP prediction error for reconstruction of the depth map of the current frame.

12. The system of claim 11 , wherein the control circuitry is further configured to:

decompose a reconstructed texture data from the previous frame to a plurality of focal planes, wherein the reconstructed texture data from the previous frame is based on texture data of the previous frame;

adjust the plurality of focal planes from the previous camera viewpoint to correspond with the current camera viewpoint;

generate a Multi Focal Plane (MFP) prediction by summing pixel values of the adjusted plurality of focal planes along a second plurality of optical axes from the current camera viewpoint;

determine an MFP prediction error between the MFP prediction and the texture data of the current frame; and

quantize and code the MFP prediction error; and

wherein the input/output circuitry is further configured to:

transmit, to a receiver over the communication network, the coded quantized MFP prediction error for reconstruction of texture data of the current frame.

13. The system of claim 12 , wherein the control circuitry is further configured to:

generate a 2D intra depth map prediction based on one or more reconstructed pixels of the depth map of the current frame;

generate a 2D inter depth map prediction based on one or more reconstructed depth maps of the previous frames;

determine a 2D intra depth map prediction error between the 2D intra depth map prediction and the depth map of the current frame;

determine a 2D inter depth map prediction error between the 2D inter depth map prediction and the depth map of the current frame;

determine a smallest depth map error of the MDP prediction error, the 2D intra depth map prediction error, and 2D inter depth map prediction error;

select a depth map mode corresponding to a type of depth map prediction associated with the smallest depth map error;

generate a 2D intra texture data prediction based on one or more reconstructed pixels of the texture data of the current frame;

generate a 2D inter texture data prediction based on one or more reconstructed texture data of the previous frames;

determine a 2D intra texture data prediction error between the 2D intra texture data prediction and the texture data of the current frame;

determine a 2D inter texture data prediction error between the 2D inter texture data prediction and the texture data of the current frame;

determine a smallest texture data error of the MFP prediction error, the 2D intra texture data prediction error, and 2D inter texture data prediction error; and

select a texture data mode corresponding to a type of texture data prediction associated with the smallest texture data error; and

wherein the input/output circuitry is further configured to:

transmit the selected depth map mode and the selected texture data mode to the receiver over the communication network, wherein the selected depth map mode corresponds to the MDP prediction in response to the MDP prediction error being the smallest depth map error, the selected texture data mode corresponds to the MFP prediction in response to the MFP prediction error being the smallest texture data error, and the input/output circuitry is configured to transmit the camera viewpoint change, the coded quantized MDP prediction error, and the coded quantized MFP prediction error in response to the MDP prediction error being the smallest depth map error and the MFP prediction error being the smallest texture data error.

14. The system of claim 11 , wherein the control circuitry is configured to detect the camera viewpoint change by:

deriving the camera viewpoint change by using tracking information from position sensors.

15. The system of claim 11 , wherein the control circuitry is configured to detect the camera viewpoint change by:

deriving the camera viewpoint change by using the current frame and the previous frame.

16. The system of claim 11 , wherein the control circuitry is configured to adjust the plurality of depth planes by:

shifting each of the plurality of depth planes with a corresponding amount based on the camera viewpoint change; and

scaling each of the plurality of depth planes by a corresponding scale factor based on the camera viewpoint change, wherein a depth plane of the plurality of depth planes that is closer to the current camera viewpoint is shifted more and scaled larger in comparison to a depth plane of the plurality of depth planes that is further from the current camera viewpoint.

17. The system of claim 11 , wherein the control circuitry is further configured to:

capture the previous frame at a previous time;

separate texture data from the depth map from the previous frame;

code the texture data from the previous frame; and

code the depth map from the previous frame; and

wherein the input/output circuitry is further configured to:

transmit the coded texture data and the coded depth map from the previous frame to the receiver over the communication network; and

wherein the control circuitry is further configured to:

capturing the current frame at a current time being the previous time plus a frame delay.

18. The system of claim 17 , wherein the frame delay is based on quantization accuracy in coding based on feedback from a status of the communication network or a status of the receiver over the communication network.

19. The system of claim 11 , wherein the first plurality of optical axes intersect a depth plane of the adjusted plurality of depth planes at a plurality of intersection points, and a distance between a first intersection point and a second intersection point of the plurality of intersection points is less than a pixel spacing of an image corresponding to the depth plane.

20. The system of claim 11 , wherein the plurality of depth planes are irregularly spaced in distance.

Assignments (4)
CHANGE OF NAME Recorded Oct 4, 2024
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 069113/0413 →
SECURITY INTEREST Recorded May 3, 2023
From: ADEIA GUIDES INC.; ADEIA IMAGING LLC; ADEIA MEDIA HOLDINGS LLC; ADEIA MEDIA SOLUTIONS INC.; ADEIA SEMICONDUCTOR ADVANCED TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR BONDING TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR INC.; ADEIA SEMICONDUCTOR SOLUTIONS LLC; ADEIA SEMICONDUCTOR TECHNOLOGIES LLC; ADEIA SOLUTIONS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 063529/0272 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2023
From: VALLI, SEPPO; SILTANEN, PEKKA
To: ROVI GUIDES, INC.
Reel/Frame 062558/0385 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2023
From: VALLI, SEPPO; SILTANEN, PEKKA
To: ROVI GUIDES, INC.
Reel/Frame 062328/0456 →
Continuity (1)
Related Publication 20240163477A1 · May 16, 2024
Cited By (1)
US 12,563,229