Method and apparatus for playing an MPEG data file backward
First Claim
1. A method for playing an MPEG data file in a reverse order, said method comprising:
- receiving said MPEG data file including at least a first group and a second group, each group comprising an I frame, a P frame and a plurality of B frames, wherein said first group is ahead of said second group in a normal order;
decompressing said I frame in said second group using an MPEG decoder;
buffering said decompressed I frame from said second group in a first frame buffer;
decompressing said P frame in said second group, using said MPEG decoder, with reference to said decompressed I frame in said first frame buffer;
buffering said decompressed P frame from said second group in a second frame buffer;
decompressing said I frame from said first group as a transitive frame using said MPEG decoder without decompressing said B frames from said second group; and
buffering said decompressed transitive frame in a third frame buffer.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention has been made in consideration of linear reverse playback of MPEG video data and has particular applications to video special effect editing. According to one aspect of the present invention, the disclosed system uses a minimum number of frame storage to buffer decompressed I and P frames so as to decompress B frames in a reverse order and subsequently display the B frames. Every time, it comes to display the decompressed I and P frames buffered in the frame storage, an I frame or a P frame in a group of picture (GOP) prior to current GOP is decompressed and buffered into one of the frame storage that becomes available when the content therein has been retrieved for display. The cyclic use of the frame storage and the time that would be otherwise spent for decompressing B frames guarantees a linear reverse playback of MPEG video data without showing retardant visual effects that often result from non-even decoding processes in displaying compressed frames.
-
Citations
19 Claims
-
1. A method for playing an MPEG data file in a reverse order, said method comprising:
-
receiving said MPEG data file including at least a first group and a second group, each group comprising an I frame, a P frame and a plurality of B frames, wherein said first group is ahead of said second group in a normal order;
decompressing said I frame in said second group using an MPEG decoder;
buffering said decompressed I frame from said second group in a first frame buffer;
decompressing said P frame in said second group, using said MPEG decoder, with reference to said decompressed I frame in said first frame buffer;
buffering said decompressed P frame from said second group in a second frame buffer;
decompressing said I frame from said first group as a transitive frame using said MPEG decoder without decompressing said B frames from said second group; and
buffering said decompressed transitive frame in a third frame buffer. - View Dependent Claims (2, 3, 4, 5, 6, 7)
decompressing said B frames successively, in said reverse order, with reference to said decompressed I frame in said first frame buffer and said decompressed P frame in said second frame buffer; and
displaying successively said decompressed B frames in said reserve order.
-
-
6. The method as recited in claim 5, said first video frame is one of said decompressed B frames.
-
7. The method as recited in claim 6, said method further comprising:
-
rebuffering said second frame storage by decompressing said P frame in said first group with reference to said decompressed transitive frame in said third frame buffer; and
keeping said decompressed P frame from said first group in said second frame buffer when said decompressed I frame from said second group in said first frame buffer is retrieved for display.
-
-
8. An apparatus for playing an MPEG date file in a reverse order, said apparatus comprising:
-
an MPEG decoder;
means for receiving said MPEG data file including at least a first group and a second group, each group comprising an I frame, at least one P frame and a plurality of B frames, wherein said first group is ahead of said second group in a normal order;
a first frame buffer buffering a first frame decompressed by said MPEG decoder from said I frame in said second group;
a second frame buffer buffering a second frame decompressed by said MPEG decoder from said P frame in said second group; and
a third frame buffer buffering a third frame decompressed by said MPEG decoder from said I frame in said first group prior to decompressing said B frames from said second group. - View Dependent Claims (9)
-
-
10. A method for playing an MPEG data file backward, said method comprising:
-
receiving said MPEG data file comprising at least a first and a second group of pictures, said first group coming ahead of said second groups, each of said first and second groups comprising an I frame, at least one P frames and a plurality of B frames;
decompressing said I frame in said first group using said MPEG decoder without decompressing said B frame from said second group;
buffering said decompressed I frame from said second group in first frame storage;
decompressing said P frames in said second group, using said MPEG decoder, with reference to said decompressed I frame in said first frame storage;
buffering said decompressed P frames in second frame storage;
decompressing said I frame in said first group using said MPEG decoder; and
buffering said decompressed I frame from said first group in third frame storage. - View Dependent Claims (11, 12, 13, 14)
displaying one of said decompressed P frames from said second group in said second frame storage; and
decompressing successively and respectively said B frames in said second group using said MPEG decoder in a reverse order, with reference to said decompressed I frame in said first frame storage and said decompressed P frames in said second frame storage.
-
-
12. The method recited in claim 11, wherein said displaying one of said decompressed P frames in said second group comprises:
-
decompressing one of said P frames in said first group; and
buffering said decompressed one of said P frames from said first group in said second frame storage that becomes available when one of said decompressed P frames from said second group in said said second frame storage is retrieved for display.
-
-
13. The method recited in claim 12, said method further comprising:
displaying said I frame from said second group in said first frame storage.
-
14. The method recited in claim 13, wherein said displaying said I frame from said second group in said first frame storage comprises:
-
decompressing another of said P frames in said first group; and
buffering said decompressed another of said P frames from said first group in said second frame storage that becomes available when one of said decompressed P frames from said second group in said second frame storage is retrieved for display.
-
-
15. An apparatus for playing an MPEG data file in a reverse order, said apparatus comprising:
-
an MPEG decoder;
means for receiving said MPEG data file including at least first and second S(N, m) groups of data, each of said S(N, m) groups comprising an I frame, a number of P frames and a plurality of B frames, wherein said first S(N, m) group comes ahead of said second S(N, m) group in a normal order, and wherein S(N, m) represents a group of data, N represents a number of frames and m represents a number of a sub-group therein;
first frame storage buffering a first frame decompressed by said MPEG decoder from said I frame in said second S(N, m) group;
second frame storage having memory spaces sufficiently to accommodate said number of P frames, each buffering one of second frames decompressed respectively by said MPEG decoder from one of P frames with respect to said first frame in said first frame storage; and
third frame storage buffering a third frame decompressed by said MPEG decoder from said I frame in said first S(N, m) group prior to decompressing said B frames from said second group. - View Dependent Claims (16, 17)
-
-
18. An apparatus for playing an MPEG data file in a reverse order, the apparatus comprising:
-
an MPEG decoder suitable for decoding the MPEG date file including at least a first and a second groups of data, wherein the first group is ahead of the second group in a normal order and each has a set of first data, at least one set of second data and a number of sets of third data;
a memory for storing code as an application;
a processor, coupled to the memory and the MPEG decoder, executing the code to cause the application to perform operations of;
reading the second group ahead of the first group;
decompressing the first data of the second group and storing the decompressed first data in a first memory space;
decompressing the second date in conjunction with the decompressed first data and storing the decompressed second data in a second memory space; and
decompressing the first data of the first group and storing the decompressed first data of the first group before the sets of third data are respectively decompressed in conjunction with the decompressed first and second data of the second group. - View Dependent Claims (19)
-
Specification