IP Library › Granted Patent US 11,223,883
Granted Patent B2
US 11,223,883 · App. 17/143,875 · Granted Jan 11, 2022

Segment types as delimiters and addressable resource identifiers

Inventor: Thomas Stockhammer (Bergen, DE)
Assignee: QUALCOMM Incorporated
H04N21/85406H04L65/4084H04L65/608H04L67/02H04L69/22H04N21/235H04N21/23614H04N21/4348H04N21/84H04N21/845H04N21/8456
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,223,883
App. No.
17/143,875
Granted
Jan 11, 2022
Kind
B2
Abstract

An example device for processing media data is configured to parse a bitstream including the media data, the bitstream being formatted according to Common Media Application Format (CMAF), detect, during the parsing, a file type (FTYP) value for a CMAF track file of the bitstream, determine that a CMAF header of the CMAF track file starts with the FTYP value, and process one or more CMAF fragments following the CMAF header of the CMAF track file. The device may additionally be configured to detect one or more segment type (STYP) values in the bitstream, determine that each of the one or more STYP values corresponds to a start of a respective one of the CMAF fragments, and process each of the CMAF fragments starting from the corresponding STYP value.

Claims (48)

1. A method of generating a bitstream including media data, the method comprising:

generating, by a processor implemented in circuitry, a Common Media Application Format (CMAF) header of a CMAF track file;

setting, by the processor, a value for a file type (FTYP) value of the CMAF header indicating a start of the CMAF header;

encapsulating, by the processor, one or more samples of media data in one or more CMAF fragments following the CMAF header of the CMAF track file;

determining types for each of the CMAF fragments, wherein determining the types comprises determining that at least one of the CMAF fragments comprises a CMAF fragment only;

setting segment type (STYP) values for each of the CMAF fragments according to the corresponding determined types, the STYP values being at the start of the corresponding CMAF fragments, wherein setting the STYP values comprises setting the STYP value for the at least one of the CMAF fragments to a value indicating that the at least one of the CMAF fragments comprises the CMAF fragment only; and

generating, by the processor, a bitstream including the CMAF header and the CMAF track file, the one or more CMAF fragments following the CMAF header in the CMAF track file.

2. The method of claim 1 ,

wherein determining types comprises determining that a second one of the CMAF fragments includes a CMAF chunk; and

setting the STYP value for the second one of the CMAF fragments to a value indicating that the second one of the CMAF fragments includes the CMAF chunk.

3. The method of claim 2 , wherein setting the STYP value for the second one of the CMAF fragments comprises setting the STYP value for the second one of the CMAF fragments to “cmfl”.

4. The method of claim 1 , wherein setting the STYP value for the one of the CMAF fragments comprises setting the STYP value for the at least one of the CMAF fragments to “cmff”.

5. The method of claim 1 ,

wherein determining types comprises determining that a second one of the CMAF fragments is included in a CMAF segment; and

setting the STYP value for the second one of the CMAF fragments to a value indicating that the second one of the CMAF fragments is included in the CMAF segment.

6. The method of claim 5 , wherein setting the STYP value for the second one of the CMAF fragments comprises setting the STYP value for the second one of the CMAF fragments to “cmfs”.

7. A device for generating a bitstream including media data, the device comprising:

a memory configured to store media data; and

one or more processors implemented in circuitry and configured to:

generate, by a processor implemented in circuitry, a Common Media Application Format (CMAF) header of a CMAF track file for the media data;

set a value for a file type (FTYP) value of the CMAF header indicating a start of the CMAF header;

encapsulate one or more samples of the media data in one or more CMAF fragments following the CMAF header of the CMAF track file;

determine types for each of the CMAF fragments, wherein the one or more processors are configured to determine that one of the CMAF fragments comprises a CMAF fragment only;

set segment type (STYP) values for each of the CMAF fragments according to the corresponding determined types, the STYP values being at the start of the corresponding CMAF fragments, wherein the one or more processors are configured to set the STYP value for the one of the CMAF fragments to a value indicating that the at least one of the CMAF fragments comprises the CMAF fragment only; and

generate a bitstream including the CMAF header and the CMAF track file, the one or more CMAF fragments following the CMAF header in the CMAF track file.

8. The device of claim 7 , wherein the one or more processors are configured to:

determine that a second one of the CMAF fragments includes a CMAF chunk; and

set the STYP value for the second one of the CMAF fragments to a value indicating that the second one of the CMAF fragments includes the CMAF chunk.

9. The device of claim 8 , wherein the one or more processors are configured to set the STYP value for the second one of the CMAF fragments to “cmfl”.

10. The device of claim 7 , wherein the one or more processors are configured to set the STYP value for the one of the CMAF fragments to “cmff”.

11. The device of claim 7 , wherein the one or more processors are configured to:

determine that a second one of the CMAF fragments is included in a CMAF segment; and

set the STYP value for the second one of the CMAF fragments to a value indicating that the second one of the CMAF fragments is included in the CMAF segment.

12. The device of claim 11 , wherein the one or more processors are configured to set the STYP value for the second one of the CMAF fragments to “cmfs”.

13. A device for generating a bitstream including media data, the device comprising:

means for generating a Common Media Application Format (CMAF) header of a CMAF track file;

means for setting a value for a file type (FTYP) value of the CMAF header indicating a start of the CMAF header;

means for encapsulating one or more samples of media data in one or more CMAF fragments following the CMAF header of the CMAF track file;

means for determining types for each of the CMAF fragments, wherein the means for determining the types comprises means for determining that one of the CMAF fragments comprises a CMAF fragment only;

means for setting segment type (STYP) values for each of the CMAF fragments according to the corresponding determined types, the STYP values being at the start of the corresponding CMAF fragments, wherein the means for setting the STYP values comprises means for setting the STYP value for the one of the CMAF fragments to a value indicating that the one of the CMAF fragments comprises the CMAF fragment only; and

means for generating a bitstream including the CMAF header and the CMAF track file, the one or more CMAF fragments following the CMAF header in the CMAF track file.

14. A non-transitory computer-readable storage medium having stored thereon instructions that, when executed, cause a processor to:

generate a Common Media Application Format (CMAF) header of a CMAF track file;

set a value for a file type (FTYP) value of the CMAF header indicating a start of the CMAF header;

encapsulate one or more samples of media data in one or more CMAF fragments following the CMAF header of the CMAF track file;

determine types for each of the CMAF fragments, wherein the instructions that cause the processor to determine the types comprise instructions that cause the processor to determine that at least one of the CMAF fragments comprises a CMAF fragment only;

set segment type (STYP) values for each of the CMAF fragments according to the corresponding determined types, the STYP values being at the start of the corresponding CMAF fragments, wherein the instructions that cause the processor to set the STYP values comprise instructions that cause the processor to set the STYP value for the one of the CMAF fragments to a value indicating that the one of the CMAF fragments comprises the CMAF fragment only; and

generate a bitstream including the CMAF header and the CMAF track file, the one or more CMAF fragments following the CMAF header in the CMAF track file.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2021
From: STOCKHAMMER, THOMAS
To: QUALCOMM INCORPORATED
Reel/Frame 054849/0807 →
Continuity (3)
Division 15943399 · Apr 2, 2018
Provisional Application 62481594 · Apr 4, 2017
Related Publication 20210127182A1 · Apr 29, 2021