×

Virtual frame buffer system and method

  • US 8,824,560 B2
  • Filed: 07/06/2011
  • Issued: 09/02/2014
  • Est. Priority Date: 07/07/2010
  • Status: Active Grant
First Claim
Patent Images

1. A device for encoding a file, the file comprises frames and each frame comprises macroblocks for encoding, comprising:

  • memory;

    an encoder communicatively connected to the memory, for processing macroblocks, in succession, of each frame, in succession, of the file;

    a plurality of reference frame buffers created in the memory by the encoder, wherein each reference frame buffer is distinct from any other of the plurality of reference frame buffers in the memory, each reference frame buffer, respectively, for containing the macroblocks, encoded by the encoder, of one of the frame in respective sectors of the reference frame buffer;

    a plurality of virtual frame buffer tables, equal in number to number of the reference frame buffers in the memory, created in the memory by the encoder, each virtual frame buffer table, respectively, corresponds to distinct one of the reference frame buffers, respectively; and

    a respective pointer created by the encoder during processing of the macroblocks of one of the frame, and saved by the encoder in the virtual frame buffer table corresponding to the reference frame buffer then-being used by the encoder for processing the one of the frame, if the macroblock then-being processed by the encoder would, when encoded, be the same as any macroblock previously encoded by the encoder and then-being retained in any of the reference frame buffers;

    wherein the encoder either encodes each next one of the macroblock of the frame or, if the next one of the macroblock, when encoded, would be the same as another macroblock, previously encoded, and then-retained in any of the plurality of reference frame buffers, instead creates the respective pointer and stores the respective pointer in the virtual frame buffer table corresponding to the reference frame buffer frame then-being used by the encoder for processing the frame;

    wherein each of the virtual frame buffer tables is a respective single bit array in the memory and each single bit of the array is positioned in the array to indirectly reference a respective location of the macroblock, previously encoded, then-retained in the one of the reference frame buffers referenced by the respective pointer.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×