Streaming of variable bit rate multimedia content
First Claim
Patent Images
1. A method, comprising:
- encoding multimedia data for processing, said multimedia data including at least one data stream;
storing the encoded multimedia data in a data file for streaming to one or more clients;
selecting at least two possible bit rate values at which the data file may be streamed;
calculating a client buffer size value for each possible bit rate value, each client buffer size value being a client buffer size for the possible bit rate value corresponding to the client buffer size value;
for each data stream, calculating an average bit rate value, a peak bit rate value, an average buffer size value corresponding to the average bit rate value and a peak buffer size value corresponding to the peak bit rate value;
storing the bit rate values and the buffer size values in the data file; and
wherein the bit rate values and the buffer size values can be used to determine an optimal client buffer size for a client receiving the multimedia data at a particular constant bit rate.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for improved streaming of variable bit rate multimedia content are described. The described systems and methods solve some streaming problems by streaming the variable bit rate content at a constant bit rate that is negotiated between a server and a client. As a result, a transmission channel from server to client is utilized in an efficient manner. If the client is able to buffer the streamed content (to a hard drive, for example) the content can be streamed at a rate that is significantly less than its peak bit rate, even at a rate that is less than its average bit rate.
-
Citations
23 Claims
-
1. A method, comprising:
-
encoding multimedia data for processing, said multimedia data including at least one data stream; storing the encoded multimedia data in a data file for streaming to one or more clients; selecting at least two possible bit rate values at which the data file may be streamed; calculating a client buffer size value for each possible bit rate value, each client buffer size value being a client buffer size for the possible bit rate value corresponding to the client buffer size value; for each data stream, calculating an average bit rate value, a peak bit rate value, an average buffer size value corresponding to the average bit rate value and a peak buffer size value corresponding to the peak bit rate value; storing the bit rate values and the buffer size values in the data file; and wherein the bit rate values and the buffer size values can be used to determine an optimal client buffer size for a client receiving the multimedia data at a particular constant bit rate. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system, comprising:
-
one or more processors; a compression module comprising computer-executable instructions encoded on one or more computer-readable storage media that when executed on the one or more processors, compress multimedia data for streaming to one or more clients by encoding the multimedia data into a streaming format and storing the encoded multimedia data in a data file; a buffer size calculation module comprising computer-executable instructions encoded on one or more computer-readable storage e media that when executed on the one or more processors; select one or more possible bit rates at which the data file may be streamed to the one or more clients and to calculate a client buffer size corresponding to each possible bit rate, calculate for each of the one or more streams included in the data file a first buffers size value and a second buffer size value that correspond, respectively, to a first bit rate value and a second bit rate value associated with the stream; store the bit rate values and the corresponding buffer size values in the data file; and wherein the one or more clients can utilize the bit rate values and the buffer size values to calculate an optimal client buffer size for receiving the data file at a particular bit rate. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. One or more computer-readable storage media containing computer-executable instructions that, when executed on a computer, perform the following steps:
-
selecting one or more possible bit rate values that each denote a bit rate at which a multimedia data file can be streamed to at least a client; calculating a client buffer size for each possible bit rate value; determining a first buffer size for a first bit rate associated with each of one or more streams in the multimedia data file; determining a second buffer size for a second bit rate associated with each of one or more streams in the multimedia data file; storing the buffer values and the bit rate values in a location associated with the multimedia data file; and wherein the bit rate values and the buffer vales can be used by a client to determine an optimal streaming rate at which to receive the multimedia data file, and to calculate an optimal buffer size associated with the streaming bit rate. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23)
-
Specification