Claims
- 1. A method for reproducing a video session, comprising:
storing a first video frame that includes first video data; storing a first video sub-frame comprising second video data that is different from the first video data; generating a second video frame using the first video frame and the first video sub-frame; storing a second video sub-frame comprising third video data that is different from the video data of the second video frame; generating a third video frame using the second video frame and the second video sub-frame; and displaying the first video frame.
- 2. The method of claim 1, further comprising generating a predetermined number of video frames for storage in a queue prior to displaying the first video frame.
- 3. The method of claim 1, further comprising:
storing a fourth video frame that includes fourth video data; storing a third video sub-frame comprising fifth video data that is different from the fourth video data; generating a fifth video frame using the fourth video frame and the third video sub-frame; and displaying the fourth video frame.
- 4. The method of claim 3, wherein each of the first video frame and the fourth video frame are generated using a corresponding key frame, each key frame is associated with a time interval, and each video sub-frame is associated with a time interval subsequent to the time interval of at least one key frame, the method further comprising:
receiving a command to initiate reproduction of the video session from a particular video sub-frame associated with a selected time interval; determining a key frame associated with a time interval that is prior to the selected time interval; generating a video frame using the determined key frame and the particular video sub-frame; and displaying the generated video frame.
- 5. The method of claim 4, wherein:
the particular video sub-frame comprises the third video sub-frame; and the determined key frame comprises the fourth video frame.
- 6. The method of claim 4, further comprising determining a video sub-frame associated with a time interval between the time interval of the determined key frame and the selected time interval, wherein the step of generating comprises generating the video frame using the determined key frame, the particular video sub-frame, and the determined video sub-frame.
- 7. The method of claim 6, wherein:
the particular video sub-frame comprises the second video sub-frame; the determined key frame comprises the first video frame; and the determined video sub-frame comprises the first video sub-frame.
- 8. The method of claim 4, wherein the time interval of the determined key frame is nearest to the selected time interval among the time intervals of key frames that are prior to the selected time interval.
- 9. The method of claim 4, wherein the command comprises a fast-forward command.
- 10. The method of claim 4, wherein the command comprises a rewind command.
- 11. The method of claim 1, wherein the step of displaying is synchronized with the reproduction of a voice session associated with the video session.
- 12. A client for reproducing a video session, comprising:
a memory operable to store a first video frame that includes first video data, a first video sub-frame comprising second video data that is different from the first video data, and a second video sub-frame comprising third video data; and a processor coupled to the memory and operable to:
generate a second video frame using the first video frame and the first video sub-frame, wherein the third video data is different from the video data of the second video frame; generate a third video frame using the second video frame and the second video sub-frame; and display the first video frame.
- 13. The client of claim 12, wherein the memory is further operable to store a predetermined number of video frames in a queue and the processor is further operable to display a portion of the video frames stored in the queue.
- 14. The client of claim 12, wherein:
the memory is further operable to store a fourth video frame that includes fourth video data, and a third video sub-frame comprising fifth video data that is different from the fourth video data; and the processor is further operable to:
generate a fifth video frame using the fourth video frame and the third video sub-frame; and display the fourth video frame.
- 15. The client of claim 14, wherein each of the first video frame and the fourth video frame are generated using a corresponding key frame, each key frame is associated with a time interval, and each video sub-frame is associated with a time interval subsequent to the time interval of at least one key frame, the processor further operable to:
receive a command to initiate reproduction of the video session from a particular video sub-frame associated with a selected time interval; determine a key frame associated with a time interval that is prior to the selected time interval; generate a video frame using the determined key frame and the particular video sub-frame; and display the generated video frame.
- 16. The client of claim 15, wherein:
the particular video sub-frame comprises the third video sub-frame; and the determined key frame comprises the fourth video frame.
- 17. The client of claim 15, wherein the processor is further operable to:
determine a video sub-frame associated with a time interval between the time interval of the determined key frame and the selected time interval; and generate the video frame using the determined key frame, the particular video sub-frame, and the determined video sub-frame.
- 18. The client of claim 17, wherein: the particular video sub-frame comprises the second video sub-frame;
the determined key frame comprises the first video frame; and the determined video sub-frame comprises the first video sub-frame.
- 19. The client of claim 15, wherein the time interval of the determined key frame is nearest to the selected time interval among the time intervals of key frames that are prior to the selected time interval.
- 20. The client of claim 15, wherein the command comprises a fast-forward command.
- 21. The client of claim 15, wherein the command comprises a rewind command.
- 22. The client of claim 12, wherein the processor is further operable to synchronize the display of the first video frame with the reproduction of a voice session associated with the video session.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to and filed concurrently with pending U.S. patent application Ser. No. ______, entitled “System and Method for Reproducing a Video Session Using Accelerated Frame Recording.” These applications have been commonly assigned to E-Talk Corporation.