Claims
- 1. A method for transmitting data streams to a client, comprising:
receiving input data from said client, said input data indicative of a desired bit rate for delivery of a data stream; analyzing the data stream to determine at least one characteristic of the stream; transcoding the data stream, based on said at least one characteristic and said desired bit rate, to provide a transcoded data stream having a bit rate substantially equal to the desired bit rate; and transmitting the transcoded data stream to the client.
- 2. The method of claim 1 wherein said input data comprises a desired delivery cost specified by said client, said method further comprising determining said desired bit rate from said desired delivery cost.
- 3. The method of claim 1 further comprising:
determining an available bandwidth for transmission of said data stream to said client; and if the available bandwidth is insufficient to allow transmission of the data stream at said desired bit rate, determining a second bit rate capable of being transmitted by the available bandwidth, wherein said step of transcoding said data stream provides a transcoded data stream having a bit rate substantially equal to the second bit rate instead of said desired bit rate.
- 4. The method of claim 3 wherein said step of determining an available bandwidth comprises monitoring an output buffer to determine an output bit rate of said buffer wherein said output bit rate indicates said available bandwidth.
- 5. The method of claim 1 wherein said data stream comprises a predictive coded video data stream and said step of transcoding comprises:
analyzing said predictive coded video data stream to determine at least one characteristic of the video data stream; identifying at least one frame of the video data stream that can be replaced with a corresponding replicating frame, said replicating frame being substantially identical to a previously decoded frame; and replacing the at least one frame with its corresponding replicating frame.
- 6. The method of claim 5 wherein:
said step of analyzing said predictive coded video data stream comprises categorizing a plurality of frames of said predictive coded video data into a plurality of frame types; and said step of identifying at least one frame of the video data stream comprises ranking said plurality of frames in accordance with their frame type; and said step of replacing the at least one frame comprises first replacing those frames ranked as less important than other frames, prior to replacing said other frames.
- 7. A method for transmitting a video data stream to a client, comprising:
receiving a stream of video data; receiving client input data indicative of a desired bit rate based on said desired bit rate, creating a modified stream of video data having a bit rate substantially equal to said desired bit rate; and transmitting said modified video data stream to said client.
- 8. The method of claim 7 wherein said step of creating a modified stream comprises replacing at least one frame of the video data stream with a previously encoded frame, said previously encoded frame replicating a previously decoded frame.
- 9. A system for transmitting a data stream to a client, comprising:
a content analysis and description unit that analyzes said data stream to determine at least one characteristic of the stream; a frame ranker unit that ranks each frame contained within the data stream; a memory for storing a client's input data indicative of a desired bit rate; a rate control unit for retrieving said input data from said memory; and a transcoder unit that modifies the data stream so as to provide a modified data stream having a bit rate substantially equal to said desired bit rate.
- 10. The system of claim 9 wherein said rate control unit further determines an available bandwidth of a network used to transmit said data stream.
- 11. The system of claim 9 wherein said transcoder unit modifies said data stream by replacing at least one frame with a previously encoded frame, said previously encoded frame replicating a previously decoded frame, in accordance with frame ranking data received from said frame ranker unit.
- 12. The system of claim 9 wherein said data stream comprises an MPEG video data stream and said transcoder unit provides a modified MPEG video data stream having a bit rate substantially equal to said desired bit rate.
- 13. The system of claim 2 wherein said data stream further comprises an audio data stream and said system further comprises:
a demultiplexer for receiving said data stream and separating the stream into said audio data stream and said video data stream; and an audio transcoder unit for receiving said audio data stream and encoding the audio data stream to reduce its bit-rate, wherein said audio data stream provides audio content for said MPEG video data stream.
- 14. The system of claim 13 further comprising a multiplexer that combines said encode audio data stream and said modified MPEG video data stream into a single data stream.
- 15. The system of claim 14, further comprising a streamer that transmits said single data stream to a client device.
- 16. The system of claim 15 further including an output buffer to hold at least a portion of said single data stream prior to transmission to said client device.
- 17. The system of claim 16, wherein said rate control unit determines an output data rate of said output buffer to determine an available bandwidth of a network used to transmit said single data stream.
- 18. A system for adaptively transmitting data streams to a client, comprising:
means for receiving input data from said client, said input data indicative of a desired bit rate for delivery of a data stream; means for analyzing the data stream to determine at least one characteristic of the stream; means for transcoding the data stream, based on said at least one characteristic and said desired bit rate, to provide a transcoded data stream having a bit rate substantially equal to the desired bit rate; and means for transmitting the transcoded data stream to the client.
- 19. The system of claim 18 wherein said input data comprises a desired delivery cost specified by said client, said system further comprising means for determining said desired bit rate from said desired delivery cost.
- 20. The system of claim 18 further comprising:
means for determining an available bandwidth for transmission of said data stream to said client; and means for determining a second bit rate capable of being transmitted by the available bandwidth if the available bandwidth is insufficient to allow transmission of the data stream at said desired bit rate, wherein said means for transcoding said data stream provides a transcoded data stream having a bit rate substantially equal to the second bit rate instead of said desired bit rate.
- 21. The system of claim 20 wherein said means for determining an available bandwidth comprises means for monitoring an output buffer to determine an output bit rate of said buffer wherein said output bit rate indicates said available bandwidth.
- 22. The system of claim 18 wherein said data stream comprises a predictive coded video data stream and said means for transcoding comprises:
means for analyzing said predictive coded video data stream to determine at least one characteristic of the video data stream; means for identifying at least one frame of the video data stream that can be replaced with a corresponding replicating frame, said replicating frame being substantially identical to a previously decoded frame; and means for replacing the at least one frame with its corresponding replicating frame.
- 23. The system of claim 22 wherein:
said means for analyzing said predictive coded video data stream comprises means for categorizing a plurality of frames of said predictive coded video data into a plurality of frame types; and said means for identifying at least one frame of the video data stream comprises means for ranking said plurality of frames in accordance with their frame type; and said means for replacing the at least one frame comprises means for first replacing those frames ranked as less important than other frames, prior to replacing said other frames.
- 24. A system for transmitting a video data stream to a client, comprising:
means for receiving a stream of video data; means for receiving client input data indicative of a desired bit rate means for creating a modified stream of video data having a bit rate substantially equal to said desired bit rate; and means for transmitting said modified video data stream to said client.
- 25. The system of claim 24 wherein said means for creating a modified stream comprises means for replacing at least one frame of the video data stream with a previously encoded frame, said previously encoded frame replicating a previously decoded frame.
RELATED APPLICATIONS
[0001] This application is a continuation-in-part of U.S. Application Ser. No. 09/761,770, entitled “System and Method For Adaptive Streaming Of Predictive Coded Video Data,” filed on Jan. 18, 2001 and commonly assigned with the present application.
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
09761770 |
Jan 2001 |
US |
Child |
09886398 |
Jun 2001 |
US |