Systems and methods for playing digital video in reverse and fast forward modes
First Claim
1. A system that includes an MPEG decoder and has access to a stored MPEG stream that includes I-frames, P-frames, and B-frames, the system being configured for implementing 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 system comprising:
- one or more computer-readable media having computer executable instructions for implementing the method, wherein the method comprises;
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
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 intercoded 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 intercoded 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 intercoded frame. By inserting “blank” frames specified playback rates and bit rates are generated. The index of intercoded 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
20 Claims
-
1. A system that includes an MPEG decoder and has access to a stored MPEG stream that includes I-frames, P-frames, and B-frames, the system being configured for implementing 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 system comprising:
one or more computer-readable media having computer executable instructions for implementing the method, wherein the method comprises; 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 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)
-
13. A computer program product for use 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, the computer program product comprising one or more computer-readable media having computer-executable instructions for implementing a method for displaying the stored MPEG stream in a reverse mode without requiring simultaneous buffering of all frames between temporally adjacent I-frames, wherein the method comprises:
-
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 (14, 15)
-
-
16. A system that includes an MPEG decoder and has access to a stored MPEG stream that includes I-frames, P-frames, and B-frames, wherein the system is configured for implementing 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 system comprising:
one or more computer-readable media having computer-executable instructions for implementing the method, wherein the method comprises; 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 (17, 18, 19, 20)
Specification