Patent ID: 8228991

Claim:
A method comprising: receiving a digital video stream comprising a plurality of sequential independent frames; storing a first frame of the digital video stream; and encoding a second frame of the digital video stream using motion compensation including: determining a first motion-compensated reference frame using the stored first frame as a reference; determining a second motion-compensated reference frame using a reconstructed first frame; and applying the motion compensation to the second frame based on the first motion-compensated reference frame and the second motion-compensated reference frame; wherein the stored first frame comprises a first plurality of blocks of pixels and the second frame comprises a second plurality of blocks of pixels and wherein the method further comprises: quantizing the first frame; de-quantizing the quantized first frame; creating the reconstructed first frame from the de-quantized first frame; and storing the reconstructed first frame, wherein the reconstructed first frame comprises a third plurality of blocks of pixels; and wherein encoding the second frame comprises: for one or more blocks of the second plurality, determining a first corresponding block of the first plurality; for one or more blocks of the second plurality, determining a second corresponding block of the third plurality; for one or more blocks of the second plurality, determining a third corresponding block based on predetermined criteria, the first corresponding block, and the second corresponding block; for one or more blocks of the second plurality, determining a difference between at least one block of the second plurality and the third corresponding block; and for one or more blocks of the second plurality, encoding the difference between the at least one block of the second plurality and the third corresponding block.