Patent ID: 7936826

Claim:
A method for reducing the memory size and the amount of data accessed of a buffered-frame storage device for a video codec in accordance with a video encoding/decoding standard, said video codec comprising at least a decision unit and a buffered-frame storage device, said video codec referencing at least one reference frame stored in said buffered-frame storage device for motion estimation or motion compensation, said method comprising the steps of: (a) receiving a frame to be decoded which comprises a plurality of compressed blocks; (b) determining a storage unit for each of said compressed blocks respectively, said storage unit being a compressed block or a subblock of a compressed block; (c) determining a storage type for each of the storage units of said compressed blocks respectively by selecting at least one storage scheme from five storage schemes of said method; and (d) storing each of said storage units into said buffered-frame storage device according to said storage type of said storage unit, and returning to step (a) to process a next frame to be decoded; wherein each of said compressed blocks has a respective storage unit with a respective storage type, and the storage types determined for the storage units of said plurality of compressed blocks in said frame include both compressed data and reconstructed data; and wherein said five storage schemes consist of: scheme 1 : using a subblock as a storage unit, the storage type of a given storage unit being compressed data if the subblock references an adjacent near-end frame, and the storage type being reconstructed data if the subblock references far-end frames; scheme 2 : using a compressed block as a storage unit, the storage type of a given storage unit being compressed data if all subblocks in the given storage unit reference only an adjacent near-end frame, and the storage type being reconstructed data if any of the subblocks in the given storage unit references far-end frames; scheme 3 : using a subblock as a storage unit and a topological pattern established for a currently decoded frame with a default storage type for each subblock, the storage type of a given storage unit being compressed data if both the storage type according to scheme 1 and the default storage type of the given storage unit are compressed data, and the storage type being reconstructed data if otherwise; scheme 4 : using a compressed block as a storage unit and a topological pattern established for a currently decoded frame with a default storage type for each compressed block, the storage type of a given storage unit being compressed data if both the storage type according to scheme 2 and the default storage type of the given storage unit are compressed data, and the storage type being reconstructed data if otherwise; and scheme 5 : the storage type of a given storage unit being reconstructed data if memory capacity in said buffered-frame storage device does not exceed a pre-determined capacity constraint.