Claims
- 1. A method for frame streaming using intelligent frame selection comprising the steps of:
ranking a plurality of frames according to a plurality of priorities; and selecting, during a run-time, a frame for transmission over a network to a receiving client, wherein selecting the frame comprises determining a time of transmission, wherein the time of transmission is the time the frame will take to reach the receiving client.
- 2. The method of claim 1, further comprising the steps of:
determining a priority one frame according to a position in the video; and determining a priority two frame according to dynamic information in the video.
- 3. The method of claim 2, wherein dynamic information comprises one of visual effects, camera motion, and object motion.
- 4. The method of claim 1, wherein frames are ranked according to semantic information.
- 5. The method of claim 1, wherein semantic information is determined according to a table of contents.
- 6. The method of claim 1, wherein the step of selecting further comprises the steps of:
determining the frame's rank; determining a bandwidth over the network; and determining a current time.
- 7. The method of claim 1, further comprising the step of determining a round-trip-time.
- 8. The method of claim 1, wherein the receiving client and a sending client exchange packets comprising a timestamp.
- 9. The method of claim 1, further comprising the step of determining a time-to-send according to a perceived bandwidth of the network.
- 10. The method of claim 1, wherein the frame comprises a timestamp.
- 11. A method for frame streaming using intelligent frame selection comprising the steps of:
determining whether a first frame is in a queue; determining a first priority of the first frame; determining whether the first frame can be transmitted to a client; determining whether a next frame of the first priority, whose timestamp is greater than a currently considered frame of a second priority, can arrive at the client after the currently considered frame of the second priority is sent; and upon determining that the next frame can arrive, sending the first frame.
- 12. The method of claim 11, wherein the step of determining whether the first frame can be transmitted depends on a timestamp of the first frame, an expected available bandwidth and a current time.
- 13. The method of claim 11, further comprising the step of determining, recursively, whether each frame of the second priority can be transmitted to the client, until frames of the first priority are sent according to timestamps, or no frames of the second priority with timestamps smaller than the timestamp of the next frame of the first priority are in the queue.
- 14. The method of claim 11, wherein, within the queue, frames are sorted according to timestamps.
- 15. The method of claim 14, wherein the top frame of a queue is that frame, which has currently the lowest timestamp, compared to other frames in the queue.
- 16. A method for frame streaming using intelligent frame selection comprising the steps of:
sorting a plurality of frames, according to timestamps, within a queue, wherein frames have one of two or more priorities; and determining whether a top frame of the queue is sent to a client according to a latest start time of the frame.
- 17. The method of claim 16, wherein the top frame of the queue is that frame, which has currently the lowest timestamp, compared to all the other frames that are still in the queue.
- 18. The method of claim 16, further comprising the step of adjusting, recursively, a value of a latest start time to the next first priority frame, such that all N−1 following first priority frames arrive at the client.
- 19. The method of claim 16, wherein the step of determining whether the top frame is to be sent further comprises the step of determining a duration of transmission of the frame.
- 20. The method of claim 16, wherein the step of determining whether the top frame is to be sent further comprises the step of considering each next frame of a higher priority
- 21. A method for selecting a ranked frame from a plurality of ranked frames to send to a client comprising the steps of:
determining a rank for a frame of in a queue of frames; and processing the frame according to its rank and a latest start time of a next frame.
- 22. The method of claim 21, wherein the step of processing the frame further comprises the steps of:
determining whether the frame can arrive at a client in time, depending on a frame timestamp, an expected available bandwidth and a current time; and determining whether a next higher priority frame can arrive at the client in time, if the frame is sent to the client.
- 23. The method of claim 22, wherein the step of determining whether the next higher priority frame can arrive at the client in time is repeated from each queue of frames having a higher priority than the frame.
- 24. A system for content streaming using intelligent frame selection comprising:
an automatic content analysis module for selecting a key-frame and ranking the key-frame according to a plurality of priorities; and a streaming server for selecting a frame during a run-time to send to a client according to a time of transmission, wherein the time of transmission is the time the frame will take to reach the receiving client.
- 25. The system of claim 24, wherein the streaming server comprises:
a sorting module for sorting a plurality of frames, according to timestamps, within a queue, wherein frames have one of three or more priorities; and a sending module for determining whether the top frame is to be sent to a client according to a latest start time of the frame.
- 26. The system of claim 24, further comprising the streaming server further comprises:
a controller for maintaining a control link to a client player via which the player can send request and statistics information; a server for delivering time-stamped frames; and a video server for delivering an audio track.
- 27. The system of claim 26, wherein the controller selects a server to transmit frames and controls the servers providing the frames.
- 28. The system of claim 24, further comprising a client player, wherein the client player comprises:
a client controller accepts input commands and translates the commands into requests; and at least one player for play back of streaming content. It will not only.
- 29. The system of claim 28, wherein the client controller collects network connection and playback performance statistical information.
- 30. The system of claim 28, wherein the client controller maintains a control connection to a server controller through which requests and statistic information are sent.
- 31. The system of claim 28, wherein the client player further comprises an audio/visual module for displaying content.
Parent Case Info
[0001] This application claims the benefit of U.S. Provisional Application No. 60/256.651, filed Dec. 19, 2000.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60256651 |
Dec 2000 |
US |