IP Library Granted Patent US 9,621,919
Granted Patent B2
US 9,621,919 · App. 14/521,042 · Granted Apr 11, 2017

Multi-layer video file format designs

Inventors: Ye-Kui Wang (San Diego, CA); Ying Chen (San Diego, CA); Adarsh Krishnan Ramasubramonian (San Diego, CA); Fnu Hendry (Poway, CA)
Assignee: QUALCOMM Incorporated
H04N19/597H04N5/91H04N19/136H04N19/30H04N19/46H04N19/573H04N19/58H04N19/59H04N19/70H04N21/8453H04N21/85406H04N19/52H04N19/91
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,621,919
App. No.
14/521,042
Granted
Apr 11, 2017
Kind
B2
Abstract

A computing device generates a file that comprises a track box that contains metadata for a track in the file. Media data for the track comprises a sequence of samples, each of the samples being a video access unit of multi-layer video data. As part of generating the file, the computing device generates, in the file, a sub-sample information box that contains flags that specify a type of sub-sample information given in the sub-sample information box. When the flags have a particular value, a sub-sample corresponding to the sub-sample information box contains exactly one coded picture and zero or more non-Video Coding Layer (VCL) Network Abstraction Layer (NAL) units associated with the coded picture.

Claims (122)

1. A method of processing multi-layer video data, the method comprising:

generating a file that comprises a track box that contains metadata for a track in the file, wherein:

media data for the track comprises a sequence of samples, each of the samples being a video access unit of the multi-layer video data;

generating the file comprises generating, in the file, a sub-sample information box that contains flags that specify a type of sub-sample information given in the sub-sample information box,

based on the flags having a particular value, a sub-sample corresponding to the sub-sample information box contains exactly one coded picture and zero or more non-Video Coding Layer (VCL) Network Abstraction Layer (NAL) units associated with the coded picture, and

generating the sub-sample information box comprises, based on the flags having the particular value, including, in the sub-sample information box, an additional value that indicates a layer identifier of each NAL unit of the sub-sample.

2. The method of claim 1 , wherein generating the sub-sample information box comprises:

based on the flags having the particular value, including, in the sub-sample information box, an additional flag that indicates whether all of the VCL NAL units of the sub-sample are discardable.

3. The method of claim 1 , wherein generating the sub-sample information box comprises:

based on the flags having the particular value, including, in the sub-sample information box, an additional value that indicates a NAL unit type of VCL NAL units of the sub-sample,

wherein all the VCL NAL units of the sub-sample have the same NAL unit type.

4. The method of claim 1 , wherein generating the sub-sample information box comprises:

based on the flags having the particular value, including, in the sub-sample information box, an additional value that indicates a temporal identifier of each NAL unit of the sub-sample.

5. The method of claim 1 , wherein generating the sub-sample information box comprises:

based on the flags having the particular value, including, in the sub-sample information box, an additional flag that indicates whether inter-layer prediction is enabled for all VCL NAL units of the sub-sample.

6. The method of claim 1 , wherein generating the sub-sample information box comprises:

based on the flags having the particular value, including, in the sub-sample information box, an additional flag that indicates whether all NAL units in the sub-sample are VCL NAL units of a sub-layer non-reference picture.

7. The method of claim 1 , further comprising:

encoding the multi-layer video data.

8. A method of processing multi-layer video data, the method comprising:

obtaining, from a file, a track box that contains metadata for a track in the file, wherein media data for the track comprises a sequence of samples, each of the samples being a video access unit of the multi-layer video data; and

obtaining, from the file, a sub-sample information box that contains flags that specify a type of sub-sample information given in the sub-sample information box, wherein based on the flags having a particular value, a sub-sample corresponding to the sub-sample information box contains exactly one coded picture and zero or more non-Video Coding Layer (VCL) Network Abstraction Layer (NAL) units associated with the coded picture,

wherein obtaining the sub-sample information box comprises: based on the flags having the particular value, obtaining, from the sub-sample information box, an additional value that indicates a layer identifier of each NAL unit of the sub-sample.

9. The method of claim 8 , comprising:

based on the flags having the particular value, obtaining, from the sub-sample information box, an additional flag that indicates whether all of the VCL NAL units of the sub-sample are discardable.

10. The method of claim 8 , comprising:

based on the flags having the particular value, obtaining, from the sub-sample information box, an additional value that indicates a NAL unit type of VCL NAL units of the sub-sample, and

all the VCL NAL units of the sub-sample have the same NAL unit type.

11. The method of claim 8 , comprising:

based on the flags having the particular value, obtaining, from the sub-sample information box, an additional value that indicates a temporal identifier of each NAL unit of the sub-sample.

12. The method of claim 8 , comprising:

based on the flags having the particular value, obtaining, from the sub-sample information box, an additional flag that indicates whether inter-layer prediction is enabled for all VCL NAL units of the sub-sample.

13. The method of claim 8 , comprising:

based on the flags having the particular value, obtaining, from the sub-sample information box, an additional flag that indicates whether all NAL units in the sub-sample are VCL NAL units of a sub-layer non-reference picture.

14. The method of claim 8 , further comprising:

responsive to a determination based on the information specified in the sub-sample information box that the coded picture is required in order to decode an operation point, including NAL units of the sub-sample in a sub-bitstream; and

outputting the sub-bitstream.

15. A video device comprising:

a data storage medium configured to store multi-layer video data; and

one or more processor circuits configured to:

generate a file that comprises a track box that contains metadata for a track in the file, wherein:

media data for the track comprises a sequence of samples, each of the samples being a video access unit of the multi-layer video data;

to generate the file, the one or more processor circuits generate, in the file, a sub-sample information box that contains flags that specify a type of sub-sample information given in the sub-sample information box,

based on the flags having a particular value, a sub-sample corresponding to the sub-sample information box contains exactly one coded picture and zero or more non-Video Coding Layer (VCL) Network Abstraction Layer (NAL) units associated with the coded picture, and

the one or more processor circuits are configured such that, as part of generating the sub-sample information box, the one or more processor circuits include, based on the flags having the particular value, in the sub-sample information box, an additional value that indicates a layer identifier of each NAL unit of the sub-sample.

16. The video device of claim 15 , wherein the one or more processor circuits are configured to:

based on the flags having the particular value, include, in the sub-sample information box, an additional flag that indicates whether all of the VCL NAL units of the sub-sample are discardable.

17. The video device of claim 15 , wherein the one or more processor circuits are configured to:

based on the flags having the particular value, include, in the sub-sample information box, an additional value that indicates a NAL unit type of VCL NAL units of the sub-sample,

wherein all the VCL NAL units of the sub-sample have the same NAL unit type.

18. The video device of claim 15 , wherein the one or more processor circuits are configured to:

based on the flags having the particular value, include, in the sub-sample information box, an additional value that indicates a temporal identifier of each NAL unit of the sub-sample.

19. The video device of claim 15 , wherein the one or more processor circuits are configured to:

based on the flags having the particular value, include, in the sub-sample information box, an additional flag that indicates whether inter-layer prediction is enabled for all VCL NAL units of the sub-sample.

20. The video device of claim 15 , wherein the one or more processor circuits are configured to:

based on the flags having the particular value, include, in the sub-sample information box, an additional flag that indicates whether all NAL units in the sub-sample are VCL NAL units of a sub-layer non-reference picture.

21. The video device of claim 15 , wherein the one or more processor circuits are configured to:

encode the multi-layer video data.

22. A video device comprising:

a data storage medium configured to store multi-layer video data; and

one or more processor circuits configured to:

obtain, from a file, a track box that contains metadata for a track in the file, wherein media data for the track comprises a sequence of samples, each of the samples being a video access unit of the multi-layer video data; and

obtain, from the file, a sub-sample information box that contains flags that specify a type of sub-sample information given in the sub-sample information box, wherein based on the flags having a particular value, a sub-sample corresponding to the sub-sample information box contains exactly one coded picture and zero or more non-Video Coding Layer (VCL) Network Abstraction Layer (NAL) units associated with the coded picture,

wherein the one or more processor circuits are configured such that, as part of obtaining the sub-sample information box, the one or more processor circuits obtain, based on the flags having the particular value, from the sub-sample information box, an additional value that indicates a layer identifier of each NAL unit of the sub-sample.

23. The video device of claim 22 , wherein the one or more processor circuits are configured to:

based on the flags having the particular value, obtain, from the sub-sample information box, an additional flag that indicates whether all of the VCL NAL units of the sub-sample are discardable.

24. The video device of claim 22 , wherein the one or more processor circuits are configured to:

based on the flags having the particular value, obtain, from the sub-sample information box, an additional value that indicates a NAL unit type of VCL NAL units of the sub-sample, and

all the VCL NAL units of the sub-sample have the same NAL unit type.

25. The video device of claim 22 , wherein the one or more processor circuits are configured to:

based on the flags having the particular value, obtain, from the sub-sample information box, an additional value that indicates a temporal identifier of each NAL unit of the sub-sample.

26. The video device of claim 22 , wherein the one or more processor circuits are configured to:

based on the flags having the particular value, obtain, from the sub-sample information box, an additional flag that indicates whether inter-layer prediction is enabled for all VCL NAL units of the sub-sample.

27. The video device of claim 22 , wherein the one or more processor circuits are configured to:

based on the flags having the particular value, obtain, from the sub-sample information box, an additional flag that indicates whether all NAL units in the sub-sample are VCL NAL units of a sub-layer non-reference picture.

28. The video device of claim 22 , wherein the one or more processor circuits are configured to:

responsive to a determination based on the information specified in the sub-sample information box that the coded picture is required in order to decode an operation point, include NAL units of the sub-sample in a sub-bitstream; and

output the sub-bitstream.

29. A video device comprising:

means for generating a file that comprises a track box that contains metadata for a track in the file, wherein:

media data for the track comprises a sequence of samples, each of the samples being a video access unit of multi-layer video data;

generating the file comprises generating, in the file, a sub-sample information box that contains flags that specify a type of sub-sample information given in the sub-sample information box,

based on the flags having a particular value, a sub-sample corresponding to the sub-sample information box contains exactly one coded picture and zero or more non-Video Coding Layer (VCL) Network Abstraction Layer (NAL) units associated with the coded picture, and

the means for generating the sub-sample information box comprises means for including, based on the flags having the particular value, in the sub-sample information box, an additional value that indicates a layer identifier of each NAL unit of the sub-sample.

30. The video device of claim 29 , comprising means for including, based on the flags having the particular value, in the sub-sample information box, one or more of:

an additional flag that indicates whether all of the VCL NAL units of the sub-sample are discardable,

an additional value that indicates a NAL unit type of VCL NAL units of the sub-sample, wherein all the VCL NAL units of the sub-sample have the same NAL unit type,

an additional value that indicates a temporal identifier of each NAL unit of the sub-sample,

an additional flag that indicates whether inter-layer prediction is enabled for all VCL NAL units of the sub-sample, or

an additional flag that indicates whether all NAL units in the sub-sample are VCL NAL units of a sub-layer non-reference picture.

31. A video device comprising:

means for obtaining, from a file, a track box that contains metadata for a track in the file, wherein media data for the track comprises a sequence of samples, each of the samples being a video access unit of multi-layer video data; and

means for obtaining, from the file, a sub-sample information box that contains flags that specify a type of sub-sample information given in the sub-sample information box, wherein based on the flags having a particular value, a sub-sample corresponding to the sub-sample information box contains exactly one coded picture and zero or more non-Video Coding Layer (VCL) Network Abstraction Layer (NAL) units associated with the coded picture,

wherein the means for obtaining the sub-sample information box comprises means for obtaining, based on the flags having the particular value, from the sub-sample information box, an additional value that indicates a layer identifier of each NAL unit of the sub-sample.

32. The video device of claim 31 , comprising means for obtaining, based on the flags having the particular value, from the sub-sample information box, one or more of:

an additional flag that indicates whether all of the VCL NAL units of the sub-sample are discardable,

an additional value that indicates a NAL unit type of VCL NAL units of the sub-sample, wherein all the VCL NAL units of the sub-sample have the same NAL unit type,

an additional value that indicates a temporal identifier of each NAL unit of the sub-sample,

an additional flag that indicates whether inter-layer prediction is enabled for all VCL NAL units of the sub-sample, or

an additional flag that indicates whether all NAL units in the sub-sample are VCL NAL units of a sub-layer non-reference picture.

33. A non-transitory computer readable data storage medium having instructions stored thereon that when executed cause one or more processor circuits to:

generate a file that comprises a track box that contains metadata for a track in the file, wherein:

media data for the track comprises a sequence of samples, each of the samples being a video access unit of multi-layer video data;

to generate the file, the instructions cause the one or more processor circuits to generate, in the file, a sub-sample information box that contains flags that specify a type of sub-sample information given in the sub-sample information box,

based on the flags having a particular value, a sub-sample corresponding to the sub-sample information box contains exactly one coded picture and zero or more non-Video Coding Layer (VCL) Network Abstraction Layer (NAL) units associated with the coded picture, and

as part of causing the one or more processor circuits to generate the sub-sample information box, the instructions cause the one or more processor circuits to include, based on the flags having the particular value, in the sub-sample information box, an additional value that indicates a layer identifier of each NAL unit of the sub-sample.

34. The non-transitory computer readable data storage medium of claim 33 , wherein the instructions cause the one or more processor circuits to include, based on the flags having the particular value, in the sub-sample information box, one or more of:

an additional flag that indicates whether all of the VCL NAL units of the sub-sample are discardable,

an additional value that indicates a NAL unit type of VCL NAL units of the sub-sample, wherein all the VCL NAL units of the sub-sample have the same NAL unit type,

an additional value that indicates a temporal identifier of each NAL unit of the sub-sample,

an additional flag that indicates whether inter-layer prediction is enabled for all VCL NAL units of the sub-sample, or

an additional flag that indicates whether all NAL units in the sub-sample are VCL NAL units of a sub-layer non-reference picture.

35. A non-transitory computer readable data storage medium having instructions stored thereon that when executed cause one or more processor circuits to:

obtain, from a file, a track box that contains metadata for a track in the file, wherein media data for the track comprises a sequence of samples, each of the samples being a video access unit of multi-layer video data; and

obtain, from the file, a sub-sample information box that contains flags that specify a type of sub-sample information given in the sub-sample information box, wherein based on the flags having a particular value, a sub-sample corresponding to the sub-sample information box contains exactly one coded picture and zero or more non-Video Coding Layer (VCL) Network Abstraction Layer (NAL) units associated with the coded picture,

wherein as part of causing the one or more processor circuits to obtain the sub-sample information box, the instructions cause the one or more processor circuits to obtain, based on the flags having the particular value, from the sub-sample information box, an additional value that indicates a layer identifier of each NAL unit of the sub-sample.

36. The non-transitory computer readable data storage medium of claim 35 , wherein, based on the flags having the particular value, the instructions cause the one or more processor circuits to obtain, from the sub-sample information box, one or more of:

an additional flag that indicates whether all of the VCL NAL units of the sub-sample are discardable,

an additional value that indicates a NAL unit type of VCL NAL units of the sub-sample, wherein all the VCL NAL units of the sub-sample have the same NAL unit type,

an additional value that indicates a temporal identifier of each NAL unit of the sub-sample,

an additional flag that indicates whether inter-layer prediction is enabled for all VCL NAL units of the sub-sample, or

an additional flag that indicates whether all NAL units in the sub-sample are VCL NAL units of a sub-layer non-reference picture.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2014
From: WANG, YE-KUI; CHEN, YING; RAMASUBRAMONIAN, ADARSH KRISHNAN; HENDRY, FNU
To: QUALCOMM INCORPORATED
Reel/Frame 034509/0243 →
Continuity (2)
Provisional Application 61894886 · Oct 23, 2013
Related Publication 20150110203A1 · Apr 23, 2015