Memory management for an MPEG2 compliant decoder
First Claim
1. A digital video decoder comprising an input data buffer, a variable length decoder, a dequantizer, an inverse discrete cosine transform decoder, a motion compensator, and a frame memory, said frame memory having at least a past reference frame buffer, a future reference frame buffer, a frame buffer for a frame currently being decoded, and a Spill Buffer, said Spill Buffer being dynamically allocable within said frame memory as frames are decoded, and where said three frame buffers are accessed on a rotating basis according to the following algorithm:
- C=D*NBF+ NBF*(T*(PREV =B)+P*(PREV=B*PRES =B));
P=C*NBF+ NBF*F*(PRES =B);
F=T*(PREV =B*PRES= B)+P*(PREV=B*PRES =B);
D=C*NBF+ NBF*(F*(PRES =B)+T*(PREV =B*PRES=B)); and
T=D;
whereC=Current picture pointer;
P=Past picture pointer;
F=Future picture pointer;
D=Display picture pointer;
T=Temporary pointer;
PRES=Present picture type;
PREV=Previous picture type; and
NBF=No B frame mode.
1 Assignment
0 Petitions
Accused Products
Abstract
Disclosed is a digital signal decoder system for receiving compressed encoded digitized video signals and transmitting decompressed decoded digital video signals. This is accomplished with a minimum of DRAM demand through the use of a Spill Buffer.
-
Citations
12 Claims
-
1. A digital video decoder comprising an input data buffer, a variable length decoder, a dequantizer, an inverse discrete cosine transform decoder, a motion compensator, and a frame memory, said frame memory having at least a past reference frame buffer, a future reference frame buffer, a frame buffer for a frame currently being decoded, and a Spill Buffer, said Spill Buffer being dynamically allocable within said frame memory as frames are decoded, and where said three frame buffers are accessed on a rotating basis according to the following algorithm:
-
C=D*NBF+ NBF*(T*(PREV =B)+P*(PREV=B*PRES =B)); P=C*NBF+ NBF*F*(PRES =B); F=T*(PREV =B*PRES= B)+P*(PREV=B*PRES =B); D=C*NBF+ NBF*(F*(PRES =B)+T*(PREV =B*PRES=B)); and T=D; where C=Current picture pointer; P=Past picture pointer; F=Future picture pointer; D=Display picture pointer; T=Temporary pointer; PRES=Present picture type; PREV=Previous picture type; and NBF=No B frame mode. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of decoding a digital video datastream in a digital video decoder comprising an input data buffer, a variable length decoder, a dequantizer, an inverse discrete cosine transform decoder, a motion compensator, and a frame memory, said frame memory having at least a past reference frame buffer, a future reference frame buffer, a frame buffer for a frame currently being decoded, and a Spill Buffer, said Spill Buffer being dynamically allocable within said frame memory as frames are decoded, and where said three frame buffers are accessed on a rotating basis according to the following algorithm:
-
C=D*NBF+ NBF*(T*(PREV =B)+P*(PREV=B*PRES =B)); P=C*NBF+ NBF*F*(PRES =B); F=T*(PREV =B*PRES= B)+P*(PREV=B*PRES =B); D=C*NBF+ NBF*(F*(PRES =B)+T*(PREV =B*PRES=B)); and T=D; where C=Current picture pointer; P=Past picture pointer; F=Future picture pointer; D=Display picture pointer; T=Temporary pointer; PRES=Present picture type; PREV=Previous picture type; and NBF=No B frame mode; which method comprises; a. storing a frame currently being decoded in the current frame buffer; b. storing a past reference frame in the past reference frame buffer; and c. storing a future reference frame in the future reference frame buffer. - View Dependent Claims (8, 9, 10, 11, 12)
-
Specification