Adaptive media playback
First Claim
1. A method for performing playback of media content comprising:
- receiving a plurality of media streams for a piece of media content from a media server at a playback device, the plurality of media streams including a video stream for the piece of media content accompanied by an audio stream for the piece of media content, the playback device configured to perform playback of the plurality of media streams in accordance with buffering requirements that require a certain amount of data to be buffered from each of the video stream and the audio stream before playback of the piece of media content can begin;
examining the plurality of media streams to identify a primary stream and a secondary stream prior to playback, wherein examining the plurality of media streams comprises examining an audio bit-rate of the audio stream and a video bit-rate of the video stream and performing at least one of;
comparing the audio bit-rate of the audio stream to an audio bit-rate commonly used to accompany video streams encoded at the video bit-rate of the video stream, andcomparing the video bit-rate of the video stream to a video bit-rate commonly used to accompany audio streams encoded at the audio bit-rate of the audio stream;
assigning one of the video stream and the audio stream as the primary stream and the other of the video stream and the audio stream as a secondary stream based on the examining of the plurality of media streams prior to the playback of the piece of media content;
adjusting playback parameters at the playback device to allow the playback of the primary stream to begin without playback of the secondary stream by relaxing the buffering requirements for the secondary stream so that playback of the primary stream can begin as soon as the certain amount of data required for the primary stream has been buffered and without waiting for the certain amount of data required for the secondary stream to be buffered; and
communicating prioritization information identifying the primary stream and the secondary stream to the media server, wherein;
the media server is configured to drop portions of the secondary stream in response to the prioritization information in order to conserve network bandwidth, andthe playback device does not make retransmission requests for the portions of the secondary stream that are dropped by the media server in order to further conserve network bandwidth.
2 Assignments
0 Petitions
Accused Products
Abstract
Described herein is technology for, among other things, performing playback in resource-limited environments. The technology involves identifying one or more primary streams and one or more secondary streams of a piece of media content based on the media content itself and/or on the particular playback scenario and then modifying playback and streaming parameters accordingly. The one or more primary streams may then be given priority in order to ensure a satisfactory playback experience. The playback characteristics, the one or more primary streams of the media content, and the resources available in the playback environment can be monitored and changed throughout playback. Both the device streaming and the device receiving the content may communicate to further optimize playback.
67 Citations
20 Claims
-
1. A method for performing playback of media content comprising:
-
receiving a plurality of media streams for a piece of media content from a media server at a playback device, the plurality of media streams including a video stream for the piece of media content accompanied by an audio stream for the piece of media content, the playback device configured to perform playback of the plurality of media streams in accordance with buffering requirements that require a certain amount of data to be buffered from each of the video stream and the audio stream before playback of the piece of media content can begin; examining the plurality of media streams to identify a primary stream and a secondary stream prior to playback, wherein examining the plurality of media streams comprises examining an audio bit-rate of the audio stream and a video bit-rate of the video stream and performing at least one of; comparing the audio bit-rate of the audio stream to an audio bit-rate commonly used to accompany video streams encoded at the video bit-rate of the video stream, and comparing the video bit-rate of the video stream to a video bit-rate commonly used to accompany audio streams encoded at the audio bit-rate of the audio stream; assigning one of the video stream and the audio stream as the primary stream and the other of the video stream and the audio stream as a secondary stream based on the examining of the plurality of media streams prior to the playback of the piece of media content; adjusting playback parameters at the playback device to allow the playback of the primary stream to begin without playback of the secondary stream by relaxing the buffering requirements for the secondary stream so that playback of the primary stream can begin as soon as the certain amount of data required for the primary stream has been buffered and without waiting for the certain amount of data required for the secondary stream to be buffered; and communicating prioritization information identifying the primary stream and the secondary stream to the media server, wherein; the media server is configured to drop portions of the secondary stream in response to the prioritization information in order to conserve network bandwidth, and the playback device does not make retransmission requests for the portions of the secondary stream that are dropped by the media server in order to further conserve network bandwidth. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A playback device comprising a processing unit executing computer-readable instructions stored in memory to perform a method for playback of media content, the method comprising:
-
receiving a plurality of media streams for a piece of media content from a media server, the plurality of media streams including a video stream for the piece of media content accompanied by an audio stream for the piece of media content, the playback device configured to perform playback of the plurality of media streams in accordance with buffering requirements that require a certain amount of data to be buffered from each of the video stream and the audio stream before playback of the piece of media content can begin; examining the plurality of media streams to identify a primary stream and a secondary stream prior to playback, wherein examining the plurality of media streams comprises examining an audio bit-rate of the audio stream and a video bit-rate of the video stream and performing at least one of; comparing the audio bit-rate of the audio stream to an audio bit-rate commonly used to accompany video streams encoded at the video bit-rate of the video stream, and comparing the video bit-rate of the video stream to a video-bit rate commonly used to accompany audio streams encoded at the audio bit-rate of the audio stream; assigning one of the video stream and the audio stream as the primary stream and the other of the video stream and the audio stream as the secondary stream based on the examining of the plurality of media streams prior to the playback of the piece of media content; adjusting playback parameters to allow the playback of the primary stream to begin without playback of the secondary stream by relaxing the buffering requirements for the secondary stream so that playback of the primary stream can begin as soon as the certain amount of data required for the primary stream has been buffered and without waiting for the certain amount of data required for the secondary stream to be buffered; and communicating prioritization information identifying the primary stream and the secondary stream to the media server, wherein; the media server is configured to drop portions of the secondary stream in response to the prioritization information in order to conserve network bandwidth, and the playback device does not make retransmission requests for the portions of the secondary stream that are dropped by the media server in order to further conserve network bandwidth. - View Dependent Claims (10, 11, 12)
-
-
13. A computer-readable storage medium storing computer-readable instructions that, when executed, cause a computing device to perform a method for playback of media content, the method comprising:
-
receiving a plurality of media streams for a piece of media content from a media server at a playback device, the plurality of media streams including a video stream for the piece of media content accompanied by an audio stream for the piece of media content, the playback device configured to perform playback of the plurality of media streams in accordance with buffering requirements that require a certain amount of data to be buffered from each of the video stream and the audio stream before playback of the piece of media content can begin; examining the plurality of media streams to identify a primary stream and a secondary stream prior to playback, wherein examining the plurality of media streams comprises examining an audio bit-rate of the audio stream and a video bit-rate of the video stream and performing at least one of; comparing the audio bit-rate of the audio stream to an audio bit-rate commonly used to accompany video streams encoded at the video bit-rate of the video stream, and comparing the video bit-rate of the video stream to a video bit-rate commonly used to accompany audio streams encoded at the audio bit-rate of the audio stream; assigning one of the video stream and the audio stream as the primary stream and the other of the video stream and the audio stream as a secondary stream based on the examining of the plurality of media streams prior to the playback of the piece of media content; adjusting playback parameters at the playback device to allow the playback of the primary stream to begin without playback of the secondary stream by relaxing the buffering requirements for the secondary stream so that playback of the primary stream can begin as soon as the certain amount of data required for the primary stream has been buffered and without waiting for the certain amount of data required for the secondary stream to be buffered; and communicating prioritization information identifying the primary stream and the secondary stream to the media server, wherein; the media server is configured to drop portions of the secondary stream in response to the prioritization information in order to conserve network bandwidth, and the playback device does not make retransmission requests for the portions of the secondary stream that are dropped by the media server in order to further conserve network bandwidth. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification