Resilience in the presence of missing media segments in dynamic adaptive streaming over HTTP
AssigneeQUALCOMM Incorporated
InventorTony Gogoi
Life of this patent
Estimating the term…
Abstract
Systems, methods, and devices enabling scalability to be incorporated into a media presentation such that the media presentation at a client end may be continuous or at least substantially continuous in the presence of missing segment files. In an embodiment, the loss of one or more segment file may not require a media presentation interval associated with the missing segment file to be skipped at the client end. Systems, methods, and devices enable scalability in live streaming and/or on-demand presentations.
Claims41
A method for presenting video on a receiver device including a client, the method comprising:
- by the client of the receiver device:
- receiving a proper subset of a set of temporally-overlapping scalable segments in at least two video transport files, wherein each of the at least two video transport files includes interleaved scalable segments derived from at least two video segments of a video stream, the proper subset including an amount of data sufficient to enable the client to render the at least two video segments at or above a quality threshold using only the proper subset, wherein the set of temporally-overlapping scalable segments are derived from the at least two video segments such that recombining all the set of temporally-overlapping scalable segments will result in playback of the at least two video segments at an original resolution of the video stream, and wherein each of the at least two video transport files is received at different times;
- determining that at least one of the set of temporally-overlapping scalable segments is lost;
- and
- in response to determining that at least one of the set of temporally-overlapping scalable segments is lost, using the received proper subset of temporally-overlapping scalable segments to render the at least two video segments at or above the quality threshold.
A method comprising:
- by a server:
- deriving a set of temporally-overlapping scalable segments from at least two video segments of a video stream, a proper subset of the set of temporally-overlapping scalable segments including an amount of data sufficient to enable a client of a receiver device to render the at least two video segments at or above a quality threshold using only the proper subset, wherein the set of temporally-overlapping scalable segments are derived from the at least two video segments such that recombining all the set of temporally-overlapping scalable segments will result in playback of the at least two video segments at an original resolution of the video stream;
- and
- sending, to the receiver device in at least two video transport files, the set of temporally-overlapping scalable segments, wherein each of the at least two video transport files includes interleaved scalable segments derived from the at least two video segments and each of the at least two video transport files is transmitted at different times.
A system comprising:
- a server comprising:
- means for deriving a set of temporally-overlapping scalable segments from at least two video segments of a video stream, a proper subset of the set of temporally-overlapping scalable segments including an amount of data sufficient to enable a receiver device to render the at least two video segments at or above a quality threshold using only the proper subset, wherein the set of temporally-overlapping scalable segments are derived from the at least two video segments such that recombining all the set of temporally-overlapping scalable segments will result in playback of the at least two video segments at an original resolution of the video stream;
- and
- means for sending the set of temporally-overlapping scalable segments in at least two video transport files such that each of the at least two video transport files includes interleaved scalable segments derived from the at least two video segments and each of the at least two video transport files is transmitted at different times;
- and
- a receiver device comprising:
- means for receiving the proper subset of the set of temporally-overlapping scalable segments in the at least two video transport files;
- means for determining that at least one of the set of temporally-overlapping scalable segments is lost;
- and
- means for, in response to determining that at least one of the set of temporally-overlapping scalable segments is lost, using the received proper subset of temporally-overlapping scalable segments to render the at least two video segments at or above the quality threshold.
A receiver device comprising:
- a memory;
- and
- a processor coupled to the memory, the processor configured with processor-executable instructions to perform operations comprising:
- receiving a proper subset of a set of temporally-overlapping scalable segments in at least two video transport files, wherein each of the at least two video transport files includes interleaved scalable segments derived from at least two video segments of a video stream, the proper subset including an amount of data sufficient to enable the client to render the at least two video segments at or above a quality threshold using only the proper subset, wherein the set of temporally-overlapping scalable segments are derived from the at least two video segments such that recombining all the set of temporally-overlapping scalable segments will result in playback of the at least two video segments at an original resolutions resolution of the video stream, and wherein each of the at least two video transport files is received at different times;
- determining that at least one of the set of temporally-overlapping scalable segments is lost;
- and
- in response to determining that at least one of the set of temporally-overlapping scalable segments is lost, using the received proper subset of temporally-overlapping scalable segments to render the at least two video segments at or above the quality threshold.
A non-transitory processor-readable medium configured with processor-executable instructions to cause a processor of a receiver device to perform operations comprising:
- receiving a proper subset of a set of temporally-overlapping scalable segments in at least two video transport files, wherein each of the at least two video transport files includes interleaved scalable segments derived from at least two video segments of a video stream, the proper subset including an amount of data sufficient to enable the client to render the at least two video segments at or above a quality threshold using only the proper subset, wherein the set of temporally-overlapping scalable segments are derived from the at least two video segments such that recombining all the set of temporally-overlapping scalable segments will result in playback of the at least two video segments at an original resolution of the video stream, and wherein each of the at least two video transport files is received at different times;
- determining that at least one of the set of temporally-overlapping scalable segments is lost;
- and
- in response to determining that at least one of the set of temporally-overlapping scalable segments is lost, using the received proper subset of temporally-overlapping scalable segments to render the at least two video segments at or above the quality threshold.
A server comprising:
- a memory;
- and
- a processor coupled to the memory, the processor configured with processor-executable instructions to perform operations comprising:
- deriving a set of temporally-overlapping scalable segments from at least two video segments of a video stream, a proper subset of the set of temporally-overlapping scalable segments including an amount of data sufficient to enable a client of a receiver device to render the at least two video segments at or above a quality threshold using only the proper subset, wherein the set of temporally-overlapping scalable segments are derived from the at least two video segments on a per-video segment basis using at least two different separation schemes such that recombining all the set of temporally-overlapping scalable segments will result in playback of the at least two video segments at an original resolution of the video stream;
- and
- sending, to the receiver device in at least two video transport files, the set of temporally-overlapping scalable segments, wherein each of the at least two video transport files includes interleaved scalable segments derived from the at least two video segments and each of the at least two video transport files is transmitted at different times.
A non-transitory processor-readable medium configured with processor-executable instructions to cause a processor of a server to perform operations comprising:
- deriving a set of temporally-overlapping scalable segments from at least two video segments of a video stream, a proper subset of the set of temporally-overlapping scalable segments including an amount of data sufficient to enable a client of a receiver device to render the at least two video segments at or above a quality threshold using only the proper subset, wherein the set of temporally-overlapping scalable segments are derived from the at least two video segments such that recombining all the set of temporally-overlapping scalable segments will result in playback of the at least two video segments at an original resolution of the video stream;
- and
- sending, to the receiver device in at least two video transport files, the set of temporally-overlapping scalable segments, wherein each of the at least two video transport files includes interleaved scalable segments derived from the at least two video segments and each of the at least two video transport files is transmitted at different times.
Dependencies are inferred from the claim text.