Multimedia presentation latency minimization
First Claim
1. A method of presenting time-varying multimedia content, the method comprising:
- receiving in a buffer a lower quality data stream for an initial portion of the multimedia content wherein the lower quality data stream is received at a rate faster than a real-time playback rate for the multimedia content, the lower quality data stream having been encoded at a bit rate below a transmission rate;
receiving in the buffer a higher quality data stream of a subsequent portion of the multimedia content, the higher quality data stream having been encoded at a bit rate that equals the transmission rate;
presenting the initial portion of the multimedia content at the real-time playback rate;
presenting the subsequent portion of the multimedia content at the real-time playback rate; and
wherein receiving the initial portion faster than the real-time playback rate provides for a reduction of the latency due to buffering by a desired amount.
2 Assignments
0 Petitions
Accused Products
Abstract
To obtain real-time responses with interactive multimedia servers, the server provides at least two different audio/visual data streams. A first data stream has fewer bits per frame and provides a video image much more quickly than a second data stream with a higher number of bits and hence higher quality video image. The first data stream becomes available to a client much faster and may be more quickly displayed on demand while the second data stream is sent to improve the quality as soon as the playback buffer can handle it. In one embodiment, an entire video signal is layered, with a base layer providing the first signal and further enhancement layers comprising the second. The base layer may be actual image frames or just the audio portion of a video stream. The first and second streams are gradually combined in a manner such that the playback buffer does not overflow or underflow.
207 Citations
18 Claims
-
1. A method of presenting time-varying multimedia content, the method comprising:
-
receiving in a buffer a lower quality data stream for an initial portion of the multimedia content wherein the lower quality data stream is received at a rate faster than a real-time playback rate for the multimedia content, the lower quality data stream having been encoded at a bit rate below a transmission rate;
receiving in the buffer a higher quality data stream of a subsequent portion of the multimedia content, the higher quality data stream having been encoded at a bit rate that equals the transmission rate;
presenting the initial portion of the multimedia content at the real-time playback rate;
presenting the subsequent portion of the multimedia content at the real-time playback rate; and
wherein receiving the initial portion faster than the real-time playback rate provides for a reduction of the latency due to buffering by a desired amount. - View Dependent Claims (2, 3, 4)
-
-
5. A video on demand delivery system, the system comprising:
-
a processor; and
a memory operatively coupled to the processor, th e memory comprising computer-program instructions executable by the processor to deliver multimedia data over a network to a client buffer, the computer-program instructions comprising instructions for;
encoding the multimedia data as a n encoded bit stream having an initial portion and a subsequent portion, the initial portion being encoded at a bit rate less than a transmission rate, the subsequent portion being encoded at a bit rate equal to the transmission rate; and
transmitting the initial portion faster than real-time at a bit rate equal to the transmission rate such that the client buffer receives the initial portion faster than the initial portion is removed from the client buffer during real-time playback of the content. - View Dependent Claims (6, 7, 11)
stopping transmission of the initial portion as a function of whether the client buffer has received enough of the initial portion to guard against underflow of the buffer during decoding operations; and
transmitting the subsequent portion to the client buffer.
-
-
8. A method of transmitting time-varying multimedia data between a server and a client, the method comprising:
-
transmitting an encoded bit stream for the data from the server to the client, the encoded bit stream having an initial portion represented with a low resolution encoding and a subsequent portion represented with an encoding having a higher resolution than the low resolution encoding;
receiving the encoded bit stream by a buffer of the client so that the initial portion is received faster by the buffer than the initial portion is removed from the buffer during real-time presentation of the multimedia data;
presenting in real-time the initial portion of the encoded bit stream with an application on the client;
presenting in real-time the subsequent portion of the encoded bit stream with the application on the client; and
wherein transmission of the initial portion of the encoded bit stream stops and transmission of the subsequent portion begins when the buffer of the client contains enough data to prevent underflow or overflow while presenting the subsequent portion of the encoded bit stream. - View Dependent Claims (9, 10)
-
-
12. A computer-readable media having computer-executable instructions for presenting time-varying multimedia content, the computer-executable instructions comprising instructions for:
-
receiving in a buffer a lower quality data stream for an initial portion of the multimedia content wherein the lower quality data stream is received at a rate faster than a real-time playback rate for the multimedia content, the lower quality data stream having been encoded at a bit rate below a transmission rate;
receiving in the buffer a higher quality data stream of a subsequent portion of the multimedia content, the higher quality data stream having been encoded at a bit rate that equals the transmission rate;
presenting the initial portion of the multimedia content at the real-time playback rate;
presenting the subsequent portion of the multimedia content at the real-time playback rate; and
wherein receiving the initial portion faster than the real-time playback rate provides for a reduction of the latency due to buffering by a desired amount. - View Dependent Claims (13)
stopping transmission of the initial portion as a function of whether the client buffer has received enough of the initial portion to guard against underflow of the buffer during decoding operations; and
transmitting the subsequent portion to the client buffer.
-
-
14. A computer-readable memory having computer-executable instructions to deliver multimedia data over a network to a client buffer, the computer-executable instructions comprising instructions for:
-
encoding the multimedia data as an encoded bit stream having an initial portion and a subsequent portion, the initial portion being encoded at a bit rate less than a transmission rate, the subsequent portion being encoded at a bit rate equal to the transmission rate; and
transmitting the initial portion faster than real-time at a bit rate equal to the transmission rate such that the client buffer receives the initial portion faster than the initial portion is removed from the client buffer during real-time playback of the content. - View Dependent Claims (15)
-
-
16. A computer-readable media having computer-executable instructions for transmitting time-varying multimedia data between a server and a client, the computer-executable instructions comprising instructions for:
-
transmitting an encoded bit stream for the data from the server to the client, the encoded bit stream having an initial portion represented with a low resolution encoding and a subsequent portion represented with an encoding having a higher resolution than the low resolution encoding;
receiving the encoded bit stream by a buffer of the client so that the initial portion is received faster by the buffer than the initial portion is removed from the buffer during real-time presentation of the multimedia data;
presenting in real-time the initial portion of the encoded bit stream with an application on the client;
presenting in real-time the subsequent portion of the encoded bit stream with the application on the client; and
wherein transmission of the initial portion of the encoded bit stream stops and transmission of the subsequent portion begins when the buffer of the client contains enough data to prevent underflow or overflow while presenting the subsequent portion of the encoded bit stream. - View Dependent Claims (17, 18)
-
Specification