IP Library Granted Patent US 10,484,682
Granted Patent B2
US 10,484,682 · App. 16/025,729 · Granted Nov 19, 2019

Reference picture derivation and motion compensation for 360-degree video coding

Inventors: Muhammed Zeyd Coban (Carlsbad, CA); Geert Van der Auwera (Del Mar, CA); Marta Karczewicz (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/115G06T15/205H04N19/105H04N19/117H04N19/134H04N19/176H04N19/186H04N19/51H04N19/563H04N19/597H04N19/85H04N19/88H04N19/96
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,484,682
App. No.
16/025,729
Granted
Nov 19, 2019
Kind
B2
Abstract

This disclosure describes techniques for generating reference frames packed with extended faces from a cubemap projection or adjusted cubemap projection of 360-degree video data. The reference frames packed with the extended faces may be used for inter-prediction of subsequent frames of 360-degree video data.

Claims (100)

1. A method of decoding 360-degree video data, the method comprising:

receiving an encoded frame of 360-degree video data, the encoded frame of 360-degree video data being arranged in packed faces obtained from a projection of a sphere of the 360-degree video data;

decoding the frame of encoded 360-degree video data to obtain a decoded frame of 360-degree video data, the decoded frame of 360-degree video data being arranged in the packed faces;

deriving a decoded sphere of 360-degree video data from the decoded frame of 360-degree video data;

sampling the decoded sphere of 360-degree video data to produce extended faces using the projection, wherein the extended faces are larger than the packed faces of the decoded frame of 360-degree video data;

deriving an extended reference frame from the extended faces; and

decoding a subsequent encoded frame of 360-degree video data using an inter-prediction process and the derived extended reference frame.

2. The method of claim 1 , wherein the projection is a cubemap projection or an adjusted cubemap projections (ACP).

3. The method of claim 1 , wherein sampling the decoded sphere of 360-degree video data to produce extended faces using the projection comprises sampling the decoded sphere of 360-degree video data to produce extended faces using the projection in accordance with a number of extension pixels.

4. The method of claim 3 , further comprising:

receiving an indication of the number of extension pixels at a picture level or a sequence level.

5. The method of claim 3 , wherein the number of extension pixels is equal to a largest prediction unit size in a coding tree unit (CTU) of the encoded frame of 360-degree video data.

6. The method of claim 1 , wherein decoding the subsequent encoded frame of 360-degree video data using the inter-prediction process and the derived extended reference frame comprises:

rotating a current prediction unit in a current cube face of the encoded frame of 360-degree video data based on a rotation angle of a reference cube face containing a reference block for the current prediction unit.

7. An apparatus configured to decode 360-degree video data, the apparatus comprising:

a memory configured to store an encoded frame of 360-degree video data; and

one or more processors in communication with the memory, the one or more processors configured to:

receive the encoded frame of 360-degree video data, the encoded frame of 360-degree video data being arranged in packed faces obtained from a projection of a sphere of the 360-degree video data;

decode the frame of encoded 360-degree video data to obtain a decoded frame of 360-degree video data, the decoded frame of 360-degree video data being arranged in the packed faces;

derive a decoded sphere of 360-degree video data from the decoded frame of 360-degree video data;

sample the decoded sphere of 360-degree video data to produce extended faces using the projection, wherein the extended faces are larger than the packed faces of the decoded frame of 360-degree video data;

derive an extended reference frame from the extended faces; and

decode a subsequent encoded frame of 360-degree video data using an inter-prediction process and the derived extended reference frame.

8. The apparatus of claim 7 , wherein the projection is a cubemap projection or an adjusted cubemap projections (ACP).

9. The apparatus of claim 7 , wherein to sample the decoded sphere of 360-degree video data to produce extended faces using the projection, the one or more processors are further configured to sample the decoded sphere of 360-degree video data to produce extended faces using the projection in accordance with a number of extension pixels.

10. The apparatus of claim 9 , wherein the one or more processors are further configured to:

receive an indication of the number of extension pixels at a picture level or a sequence level.

11. The apparatus of claim 9 , wherein the number of extension pixels is equal to a largest prediction unit size in a coding tree unit (CTU) of the encoded frame of 360-degree video data.

12. The apparatus of claim 7 , wherein to decode the subsequent encoded frame of 360-degree video data using the inter-prediction process and the derived extended reference frame, the one or more processors are further configured to:

rotate a current prediction unit in a current cube face of the encoded frame of 360-degree video data based on a rotation angle of a reference cube face containing a reference block for the current prediction unit.

13. The apparatus of claim 7 , further comprising:

a display configured to display at least a portion of the decoded sphere of 360-degree video data.

14. An apparatus configured to decode 360-degree video data, the apparatus comprising:

means for receiving an encoded frame of 360-degree video data, the encoded frame of 360-degree video data being arranged in packed faces obtained from a projection of a sphere of the 360-degree video data;

means for decoding the frame of encoded 360-degree video data to obtain a decoded frame of 360-degree video data, the decoded frame of 360-degree video data being arranged in the packed faces;

means for deriving a decoded sphere of 360-degree video data from the decoded frame of 360-degree video data;

means for sampling the decoded sphere of 360-degree video data to produce extended faces using the projection, wherein the extended faces are larger than the packed faces of the decoded frame of 360-degree video data;

means for deriving an extended reference frame from the extended faces; and

means for decoding a subsequent encoded frame of 360-degree video data using an inter-prediction process and the derived extended reference frame.

15. A computer-readable storage medium storing instructions that, when executed, causes one or more processors of a device configured to decode video data to:

receive the encoded frame of 360-degree video data, the encoded frame of 360-degree video data being arranged in packed faces obtained from a projection of a sphere of the 360-degree video data;

decode the frame of encoded 360-degree video data to obtain a decoded frame of 360-degree video data, the decoded frame of 360-degree video data being arranged in the packed faces;

derive a decoded sphere of 360-degree video data from the decoded frame of 360-degree video data;

sample the decoded sphere of 360-degree video data to produce extended faces using the projection, wherein the extended faces are larger than the packed faces of the decoded frame of 360-degree video data;

derive an extended reference frame from the extended faces; and

decode a subsequent encoded frame of 360-degree video data using an inter-prediction process and the derived extended reference frame.

16. A method of encoding 360-degree video data, the method comprising:

receiving a sphere of 360-degree video data;

arranging the sphere of 360-degree video data into a frame of packed faces obtained from a projection of the sphere of 360-degree video data;

encoding the frame of packed faces to form a frame of encoded 360-degree video data;

reconstructing the frame of encoded 360-degree video data to obtain a reconstructed frame of 360-degree video data, the reconstructed frame of 360-degree video data being arranged in the packed faces;

deriving a reconstructed sphere of 360-degree video data from the reconstructed frame of 360-degree video data;

sampling the reconstructed sphere of 360-degree video data to produce extended faces using the projection, wherein the extended faces are larger than the packed faces of the reconstructed frame of 360-degree video data;

deriving an extended reference frame from the extended faces; and

encoding a subsequent frame of 360-degree video data using an inter-prediction process and the derived extended reference frame.

17. The method of claim 16 , wherein the projection is a cubemap projection or an adjusted cubemap projections (ACP).

18. The method of claim 16 , wherein sampling the reconstructed sphere of 360-degree video data to produce extended faces using the projection comprises sampling the reconstructed sphere of 360-degree video data to produce extended faces using the projection in accordance with a number of extension pixels.

19. The method of claim 18 , further comprising:

generating an indication of the number of extension pixels at a picture level or a sequence level.

20. The method of claim 18 , wherein the number of extension pixels is equal to a largest prediction unit size in a coding tree unit (CTU) of the frame of packed faces.

21. The method of claim 16 , wherein encoding the subsequent frame of 360-degree video data using the inter-prediction process and the derived extended reference frame comprises:

rotating a current prediction unit in a current cube face of the frame of packed faces based on a rotation angle of a reference cube face containing a reference block for the current prediction unit.

22. An apparatus configured to encode 360-degree video data, the apparatus comprising:

a memory configured to store a sphere of 360-degree video data; and

one or more processors in communication with the memory, the one or more processors configured to:

receive the sphere of 360-degree video data;

arrange the sphere of 360-degree video data into a frame of packed faces obtained from a projection of the sphere of 360-degree video data;

encode the frame of packed faces to form a frame of encoded 360-degree video data;

 reconstruct the frame of encoded 360-degree video data to obtain a reconstructed frame of 360-degree video data, the reconstructed frame of 360-degree video data being arranged in the packed faces;

derive a reconstructed sphere of 360-degree video data from the reconstructed frame of 360-degree video data;

sample the reconstructed sphere of 360-degree video data to produce extended faces using the projection, wherein the extended faces are larger than the packed faces of the reconstructed frame of 360-degree video data;

derive an extended reference frame from the extended faces; and

encode a subsequent frame of 360-degree video data using an inter-prediction process and the derived extended reference frame.

23. The apparatus of claim 22 , wherein the projection is a cubemap projection or an adjusted cubemap projections (ACP).

24. The apparatus of claim 22 , wherein to sample the reconstructed sphere of 360-degree video data to produce extended faces using the projection, the one or more processors are further configured to sample the reconstructed sphere of 360-degree video data to produce extended faces using the projection in accordance with a number of extension pixels.

25. The apparatus of claim 24 , wherein the one or more processors are further configured to:

generate an indication of the number of extension pixels at a picture level or a sequence level.

26. The apparatus of claim 24 , wherein the number of extension pixels is equal to a largest prediction unit size in a coding tree unit (CTU) of the encoded frame of packed faces.

27. The apparatus of claim 22 , wherein to encode the subsequent frame of 360-degree video data using the inter-prediction process and the derived extended reference frame, the one or more processors are further configured to:

rotate a current prediction unit in a current cube face of the encoded frame of packed faces based on a rotation angle of a reference cube face containing a reference block for the current prediction unit.

28. The apparatus of claim 22 , further comprising:

a camera configured to capture the sphere of 360-degree video data.

29. An apparatus configured to encode 360-degree video data, the apparatus comprising:

means for receiving a sphere of 360-degree video data;

means for arranging the sphere of 360-degree video data into a frame of packed faces obtained from a projection of the sphere of 360-degree video data;

means for encoding the frame of packed faces to form a frame of encoded 360-degree video data;

means for reconstructing the frame of encoded 360-degree video data to obtain a reconstructed frame of 360-degree video data, the reconstructed frame of 360-degree video data being arranged in the packed faces;

means for deriving a reconstructed sphere of 360-degree video data from the reconstructed frame of 360-degree video data;

means for sampling the reconstructed sphere of 360-degree video data to produce extended faces using the projection, wherein the extended faces are larger than the packed faces of the reconstructed frame of 360-degree video data;

means for deriving an extended reference frame from the extended faces; and

means for encoding a subsequent frame of 360-degree video data using an inter-prediction process and the derived extended reference frame.

30. A computer-readable storage medium storing instructions that, when executed, causes one or more processors of a device configured to encode video data to:

receive a sphere of 360-degree video data;

arrange the sphere of 360-degree video data into a frame of packed faces obtained from a projection of the sphere of 360-degree video data;

encode the frame of packed faces to form a frame of encoded 360-degree video data;

reconstruct the frame of encoded 360-degree video data to obtain a reconstructed frame of 360-degree video data, the reconstructed frame of 360-degree video data being arranged in the packed faces;

derive a reconstructed sphere of 360-degree video data from the reconstructed frame of 360-degree video data;

sample the reconstructed sphere of 360-degree video data to produce extended faces using the projection, wherein the extended faces are larger than the packed faces of the reconstructed frame of 360-degree video data;

derive an extended reference frame from the extended faces; and

encode a subsequent frame of 360-degree video data using an inter-prediction process and the derived extended reference frame.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2018
From: COBAN, MUHAMMED ZEYD; VAN DER AUWERA, GEERT; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 046743/0956 →
Continuity (2)
Provisional Application 62528347 · Jul 3, 2017
Related Publication 20190007679A1 · Jan 3, 2019
Cited By (1)
US 12,444,020