Systems and methods for playing digital video in reverse and fast forward modes
First Claim
1. In a system that includes an MPEG decoder and has access to a stored MPEG stream that includes I-frames, P-frames, and B-frames, a method for displaying the stored MPEG stream in a reverse mode without requiring simultaneous buffering of all frames between temporally adjacent I-frames, comprising:
- an act of buffering two temporally adjacent I-frames, including a first I-frame and a second I-frame that is temporally later in the stored MPEG stream;
based on the first I-frame, an act of iteratively reconstructing and buffering P-frames until a particular P-frame that is temporally adjacent to the second I-frame is reconstructed and buffered;
an act of displaying video data encoded in the second I-frame;
an act of reconstructing and displaying video data encoded in each B-frame between the reconstructed particular P-frame and the second I-frame in reverse order;
an act of displaying video data encoded in the reconstructed particular P-frame; and
an act of iteratively reconstructing other P-frames and B-frames between the first I-frame and the particular reconstructed P-frame to continue displaying video data encoded in frames in the reverse sequence compared to the original sequence without simultaneously buffering all frames between the first I-frame and the second I-frame.
3 Assignments
0 Petitions
Accused Products
Abstract
Replaying a compressed digital video stream in fast-forward and reverse modes at varied playback rates. An index of interceded frames, those frames not dependant on other frames for generation, is stored. The index includes the size of intercoded frames and their storage location. When a specified playback rate is requested, the intercoded frames are retrieved using the index. The interceded frames then have one or more intracoded frames, frames that reference other frames for generation, placed between them to generate a frame sequence. The intracoded frames are “blank,” meaning they contain only information from their associated interceded frame. By inserting “blank” frames specified playback rates and bit rates are generated. The index of interceded frames may also be accessed to generate playback in reverse mode, which conserves memory resources of associated systems by generating the reverse playback stream in an iterative manner.
-
Citations
16 Claims
-
1. In a system that includes an MPEG decoder and has access to a stored MPEG stream that includes I-frames, P-frames, and B-frames, a method for displaying the stored MPEG stream in a reverse mode without requiring simultaneous buffering of all frames between temporally adjacent I-frames, comprising:
an act of buffering two temporally adjacent I-frames, including a first I-frame and a second I-frame that is temporally later in the stored MPEG stream; based on the first I-frame, an act of iteratively reconstructing and buffering P-frames until a particular P-frame that is temporally adjacent to the second I-frame is reconstructed and buffered; an act of displaying video data encoded in the second I-frame; an act of reconstructing and displaying video data encoded in each B-frame between the reconstructed particular P-frame and the second I-frame in reverse order; an act of displaying video data encoded in the reconstructed particular P-frame; and an act of iteratively reconstructing other P-frames and B-frames between the first I-frame and the particular reconstructed P-frame to continue displaying video data encoded in frames in the reverse sequence compared to the original sequence without simultaneously buffering all frames between the first I-frame and the second I-frame. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
12. In a system that includes an MPEG decoder and has access to a stored MPEG stream that includes I-frames, P-frames, and B-frames, a method for displaying the stored MPEG stream in a reverse mode without requiring simultaneous buffering of all frames between temporally adjacent I-frames, comprising:
an act of buffering two temporally adjacent I-frames, including a first I-frame and a second I-frame that is temporally later in the stored MPEG stream; a step for displaying video data encoded in the second I-frame, a particular reconstructed P-frame temporally adjacent to the second I-frame, and reconstructed B-frames between the second I-frame and the particular reconstructed P-frame, in reverse sequence, the particular reconstructed P-frame having been iteratively reconstructed from the first I-frame; and an act of iteratively reconstructing other B-frames between the first I-frame and the particular reconstructed P-frame to continue displaying video data encoded in frames in the reverse sequence compared to the original sequence without simultaneously buffering all frames between the first I-frame and the second I-frame. - View Dependent Claims (13, 14)
-
15. A computer program product for implementing, in a system that includes an MPEG decoder and has access to a stored MPEG stream that includes I-frames, P-frames, and B-frames, a method for displaying the stored MPEG stream in a reverse mode without requiring simultaneous buffering of all frames between temporally adjacent I-frames, the computer product comprising:
a computer-readable medium carrying computer-readable instructions, that when executed at the server system, cause the system to perform the following; an act of buffering two temporally adjacent I-frames, including a first I-frame and a second I-frame that is temporally later in the stored MPEG stream; based on the first I-frame, an act of iteratively reconstructing and buffering P-frames until a particular P-frame that is temporally adjacent to the second I-frame is reconstructed and buffered; an act of displaying video data encoded in the second I-frame; an act of reconstructing and displaying video data encoded in each B-frame between the reconstructed particular P-frame and the second I-frame in reverse order; an act of displaying video data encoded in the reconstructed particular P-frame; and an act of iteratively reconstructing other B-frames between the first I-frame and the particular reconstructed P-frame to continue displaying video data encoded in frames in the reverse sequence compared to the original sequence without simultaneously buffering all frames between the first I-frame and the second I-frame. - View Dependent Claims (16)
Specification