Enhanced block-request streaming system for handling low-latency streaming
First Claim
Patent Images
1. A method, using a media server, for structuring data of content to be served, comprising:
- obtaining the content to be served;
generating a plurality of media segments representing the 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;
generating 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 at which a decoder can decode fragments that are subsequent to the random access point independently of fragments that are prior to the random access point; and
generating a segment index for the media segment, the segment index including a presentation time range for each media fragment within the media segment, a corresponding byte range in the media segment occupied by each media fragment, and a random access point presence indicator that indicates whether a random access point is present within each media fragment.
4 Assignments
0 Petitions
Accused Products
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.
-
Citations
18 Claims
-
1. A method, using a media server, for structuring data of content to be served, comprising:
-
obtaining the content to be served; generating a plurality of media segments representing the 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; generating 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 at which a decoder can decode fragments that are subsequent to the random access point independently of fragments that are prior to the random access point; and generating a segment index for the media segment, the segment index including a presentation time range for each media fragment within the media segment, a corresponding byte range in the media segment occupied by each media fragment, and a random access point presence indicator that indicates whether a random access point is present within each media fragment. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A media server, comprising:
a processor configured to; obtain content to be served; generate a plurality of media segments representing the 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; generate 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 in which a decoder can decode fragments that are subsequent to the random access point independently of fragments that are prior to the random access point; and generate a segment index for the media segment, the segment index including a presentation time range for each media fragment within the media segment, a corresponding byte range in the media segment occupied by each media fragment, and a random access point presence indicator that indicates whether a random access point is present within each media fragment. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
17. One or more non-transitory computer-readable media storing computer-executable instructions that, when executed, cause one or more computing devices to:
-
obtain content to be served; generate a plurality of media segments representing the 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; generate 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 in which a decoder can decode fragments that are subsequent to the random access point independently of fragments that are prior to the random access point; and generate a segment index for the media segment, the segment index including a presentation time range for each media fragment within the media segment, a corresponding byte range in the media segment occupied by each media fragment, and a random access point presence indicator that indicates whether a random access point is present within each media fragment. - View Dependent Claims (18)
-
Specification