Enhanced block-request streaming system for handling low-latency streaming
AssigneeQUALCOMM Incorporated
InventorsMichael G. Luby, Mark Watson, Lorenzo Vicisano, Payam Pakzad, Bin Wang, Thomas Stockhammer, Ying Chen
Life of this patent
Estimating the term…
Abstract
A block-request streaming system provides for low-latency streaming of a media presentation. A plurality of media segments are generated according to an encoding protocol. Each media segment includes a random access point. A plurality of media fragments are encoded according to the same protocol. The media segments are aggregated from a plurality of media fragments.
Claims27
A method of processing media content, comprising:
- receiving, by a client device, a plurality of media segments representing content and encoded according to an encoding protocol that includes one or more frames of a media presentation encoded into each media segment, wherein a random access point is available in each media segment;
- receiving, by the client device, a plurality of media fragments encoded according to the encoding protocol, wherein a media segment includes the plurality of media fragments, and wherein at least some of the plurality of media fragments include random access points and at least some do not include random access points, a random access point including a position in a segment to decode fragments that are subsequent to the random access point independently of fragments that are prior to the random access point;
- receiving, by the client device, a segment index for the media segment, the segment index including a presentation time range for each media fragment within the media segment and a random access point presence indicator that indicates whether a random access point is present within each media fragment, wherein the presentation time range for each media fragment has a corresponding byte range in the media segment occupied by such media fragment;
- and
- processing, by the client device, the media segment using the segment index.
An apparatus, comprising:
- a processor configured to:
- receive a plurality of media segments representing content and encoded according to an encoding protocol that includes one or more frames of a media presentation encoded into each media segment, wherein a random access point is available in each media segment;
- receive a plurality of media fragments encoded according to the encoding protocol, wherein a media segment includes the plurality of media fragments, and wherein at least some of the plurality of media fragments include random access points and at least some do not include random access points, a random access point including a position in a segment to decode fragments that are subsequent to the random access point independently of fragments that are prior to the random access point;
- receive a segment index for the media segment, the segment index including a presentation time range for each media fragment within the media segment and a random access point presence indicator that indicates whether a random access point is present within each media fragment, wherein the presentation time range for each media fragment has a corresponding byte range in the media segment occupied by such media fragment;
- and
- process the media segment using the segment index.
One or more non-transitory computer-readable media storing computer-executable instructions that, when executed, cause one or more computing devices to:
- receive a plurality of media segments representing content and encoded according to an encoding protocol that includes one or more frames of a media presentation encoded into each media segment, wherein a random access point is available in each media segment;
- receive a plurality of media fragments encoded according to the encoding protocol, wherein a media segment includes the plurality of media fragments, and wherein at least some of the plurality of media fragments include random access points and at least some do not include random access points, a random access point including a position in a segment to decode fragments that are subsequent to the random access point independently of fragments that are prior to the random access point;
- receive a segment index for the media segment, the segment index including a presentation time range for each media fragment within the media segment and a random access point presence indicator that indicates whether a random access point is present within each media fragment, wherein the presentation time range for each media fragment has a corresponding byte range in the media segment occupied by such media fragment;
- and
- process the media segment using the segment index.
Dependencies are inferred from the claim text.