Patent ID: 6067321
Filing Date: 2000-05-23
Classification: G06F,H04N

Abstract:
A caching method, comprising:using a cache memory having a two macroblock storage capacity where each macroblock is defined by a n by m pixel array of decompressed video information, said cache memory being arranged for the storage of four subblocks of the macroblocks where each subblock is defined by an n by m pixel array of decompressed video information;determining the start location of a first row of macroblocks in a compressed video data bitstream;determining the start location of a second row of macroblocks in said compressed video data bitstream;storing a right subblock portion of a first macroblock in said first row of macroblocks in a first subblock location of said cache memory;storing a left subblock portion of said first macroblock in said first row of macroblocks in a second subblock location of said cache memory;said right subblock portion of said first macroblock and said left subblock portion of said first macroblock in said first row being stored in said cache memory to form a contiguous N by N pel area defining a first row reference macroblock;storing a right subblock portion of a first macroblock in said second row of macroblocks in said second subblock location of said cache memory overwriting said left subblock portion of the first macroblock in said first row;storing a left subblock portion of said first macroblock in said second row of macroblocks in a third subblock location of said cache memory;said right subblock portion of said first macroblock and said left subblock portion of said first macroblock in said second row being stored in said cache memory to form another contiguous N by N pel area defining a second row reference macroblock;storing a right subblock portion of a second macroblock in said first row of macroblocks in said third subblock location of said cache memory overwriting said left subblock portion of the first macroblock in said second row;storing a left subblock portion of said second macroblock in said first row of macroblocks in a fourth subblock location of said cache memory;said right subblock portion of said second macroblock and said left subblock portion of said second macroblock in said first row being stored in said cache memory to form another contiguous N by N pel area defining another first row reference macroblock;repeating in a cyclical manner the storing of the remaining macroblocks in said first row and said second row with the right half of the next macroblock of the one row overwriting the left half of the macroblock of the other row in the next subblock location and with the left half of the next macroblock overwriting the right half of the macroblock stored in the next subblock location until all of the macroblocks in the first row and in the second row have been stored as a reference macroblock for macroblock decoding purposes.