Adaptive streaming using chunked time-to-offset mapping
AssigneeGoogle Inc.
InventorFrank William Galligan
Life of this patent
Estimating the term…
Abstract
Systems and methods are provided herein relating to adaptive video streaming. Time-to-offset mapping associated with a set of video blocks can be broken up into chunks. A client can download a first set of seek index chunks and use the first set of seek index chunks to select a stream. Seek index chunks within remaining sets of seek index chunks can be ranked for relevance based on client capabilities. A subset of remaining sets of seeks index chunks can be downloaded based on the rankings and client capabilities during streaming. Chunked time-to-offset mapping can facilitate faster startup when playing streamed video.
Claims20
A computer-implemented method comprising:
- receiving a request from a device for media content;
- responsive to the request, transmitting a manifest associated with the media content to the device, wherein the manifest identifies a presentation of the media content available for streaming by the device, and wherein the manifest comprises:
- a list of media elements identifying media files, wherein the identified media files are different versions of the media content and the different versions of the media content are encoded with different media characteristics;
- a media index element for each media element, wherein the media index element contains information about a seek index associated with the identified media file, each media index element comprising a first seek index chunk element associated with a first index chunk and a second seek index chunk element associated with a second seek index chunk;
- and
- a plurality of seek index chunk elements for each media index element, wherein the plurality of seek index chunk elements for each media index element identifies chunks of the corresponding seek index;
- transmitting the first seek index chunk for all media index elements in the manifest;
- receiving a request from the device for a first segment of a media file of the identified media files;
- and
- responsive to the request for the first segment of the media file of the identified media files, transmitting the first segment of the media file of the identified media files.
A computer system for adaptive video streaming, the system comprising:
- a processor;
- memory storing instructions, when executed, are configured to cause the processor to:
- receive a request from a device for media content;
- responsive to the request, transmit a manifest associated with the media content to the device, wherein the manifest identifies a presentation of the media content available for streaming by the device, and wherein the manifest comprises:
- a list of media elements identifying media files, wherein the identified media files are different versions of the media content and the different versions of the media content are encoded with different media characteristics;
- a media index element for each media element, wherein the media index element contains information about a seek index associated with the identified media file, each media index element comprising a first seek index chunk element associated with a first index chunk and a second seek index chunk element associated with a second seek index chunk;
- and
- a plurality of seek index chunk elements for each media index element, wherein the plurality of seek index chunk elements for each media index element identifies chunks of the corresponding seek index;
- transmit the first seek index chunk for all media index elements in the manifest;
- receive a request from the device for a first segment of a media file of the identified media files;
- and
- responsive to the request for the first segment of the media file of the identified media files, transmit the first segment of the media file of the identified media files.
A non-transitory computer-readable storage medium storing executable computer program instructions for adaptive video streaming, the computer program instructions comprising instructions for:
- responsive to the request, transmitting a manifest associated with the media content to the device, wherein the manifest identifies a presentation of the media content available for streaming by the device, and wherein the manifest comprises:
- a list of media elements identifying media files, wherein the identified media files are different versions of the media content and the different versions of the media content are encoded with different media characteristics;
- a media index element for each media element, wherein the media index element contains information about a seek index associated with the identified media file, each media index element comprising a first seek index chunk element associated with a first index chunk and a second seek index chunk element associated with a second seek index chunk;
- and
- a plurality of seek index chunk elements for each media index element, wherein the plurality of seek index chunk elements for each media index element identifies chunks of the corresponding seek index;
- transmitting the first seek index chunk for all media index elements in the manifest;
- receiving a request from the device for a first segment of a media file of the identified media files;
- and
- responsive to the request for the first segment of the media file of the identified media files, transmitting the first segment of the media file of the identified media files.
Dependencies are inferred from the claim text.