Frame compression using radix approximation
AssigneeSeiko Epson Corporation
InventorKevin C. Gold
Life of this patent
Estimating the term…
Abstract
Digital video data streams that conform to standards such as the ITU-T H.263 and MPEG-4 ISO/IEC standards are compressed to reduce the amount of memory needed to store these streams. Information for a sequence of frames is compressed by rounding and truncating luminance values, and by encoding chrominance values using a radix tree and a palette. Each entry in the palette stores information representing a color that actually occurs at least once in the sequence of frames. The radix tree provides an efficient way to generate compressed representations for colors that are stored in the palette, and also provides a way to identify the color in the palette that is the closest match to other colors in the data stream that are not stored in the palette.
Claims28
A method for compressing digital video data representing luminance values, first chrominance values and second chrominance values for a plurality of pixels, wherein for a respective pixel the method comprises:
- storing in memory a compressed representation of the luminance value for the respective pixel;
- generating a lookup key in response to the first chrominance value and the second chrominance value for the respective pixel;
- determining whether an entry in a data structure has a key that matches the lookup key, wherein the data structure comprises a plurality of entries each having a respective key, a respective identifier, and a respective pair of first and second chrominance values;
- when an entry in the data structure has a key that matches the lookup key, storing in memory the identifier of the entry in the data structure having the key that matches the lookup key;
- and
- when no entry in the data structure has a key that matches the lookup key, either:
- storing in memory the identifier of the entry in the data structure having a key that approximately matches the lookup key when the method is operating in an approximate mode of operation, or
- adding an entry to the data structure having a key that matches the lookup key, having a unique identifier, and having a pair of first and second chrominance values derived from the first chrominance value and the second chrominance value for the respective pixel, storing in memory the unique identifier of the entry added to the data structure, and setting the approximate mode of operation when no further entries are to be added to the data structure.
A medium readable by a device and conveying a program of instructions executable by the device to perform a method for compressing digital video data representing luminance values, first chrominance values and second chrominance values for a plurality of pixels, wherein for a respective pixel the method comprises:
- storing in memory a compressed representation of the luminance value for the respective pixel;
- generating a lookup key in response to the first chrominance value and the second chrominance value for the respective pixel;
- determining whether an entry in a data structure has a key that matches the lookup key, wherein the data structure comprises a plurality of entries each having a respective key, a respective identifier, and a respective pair of first and second chrominance values;
- when an entry in the data structure has a key that matches the lookup key, storing in memory the identifier of the entry in the data structure having the key that matches the lookup key;
- and
- when no entry in the data structure has a key that matches the lookup key, either:
- storing in memory the identifier of the entry in the data structure having a key that approximately matches the lookup key when the device is operating in an approximate mode of operation, or
- adding an entry to the data structure having a key that matches the lookup key, having a unique identifier, and having a pair of first and second chrominance values derived from the first chrominance value and the second chrominance value for the respective pixel, storing in memory the unique identifier of the entry added to the data structure, and setting the approximate mode of operation for the device when no further entries are to be added to the data structure.
An apparatus for compressing digital video data representing luminance values, first chrominance values and second chrominance values for a plurality of pixels, wherein the apparatus comprises memory and processing circuitry coupled to the memory, wherein for a respective pixel the processing circuitry performs a process that comprises:
- storing in the memory a compressed representation of the luminance value for the respective pixel;
- generating a lookup key in response to the first chrominance value and the second chrominance value for the respective pixel;
- determining whether an entry in a data structure has a key that matches the lookup key, wherein the data structure comprises a plurality of entries each having a respective key, a respective identifier, and a respective pair of first and second chrominance values;
- when an entry in the data structure has a key that matches the lookup key, storing in the memory the identifier of the entry in the data structure having the key that matches the lookup key;
- and
- when no entry in the data structure has a key that matches the lookup key, either:
- storing in the memory the identifier of the entry in the data structure having a key that approximately matches the lookup key when the apparatus is operating in an approximate mode of operation, or
- adding an entry to the data structure having a key that matches the lookup key, having a unique identifier, and having a pair of first and second chrominance values derived from the first chrominance value and the second chrominance value for the respective pixel, storing in the memory the unique identifier of the entry added to the data structure, and setting the approximate mode of operation for the apparatus when no further entries are to be added to the data structure.
An apparatus for compressing digital video data representing luminance values, first chrominance values and second chrominance values for a plurality of pixels, wherein for a respective pixel the apparatus comprises:
- means for storing in memory a compressed representation of the luminance value for the respective pixel;
- means for generating a lookup key in response to the first chrominance value and the second chrominance value for the respective pixel;
- means for determining whether an entry in a data structure has a key that matches the lookup key, wherein the data structure comprises a plurality of entries each having a respective key, a respective identifier, and a respective pair of first and second chrominance values;
- and
- means for, when an entry in the data structure has a key that matches the lookup key, storing in memory the identifier of the entry in the data structure having the key that matches the lookup key, and when no entry in the data structure has a key that matches the lookup key, for either:
- storing in memory the identifier of the entry in the data structure having a key that approximately matches the lookup key when the apparatus is operating in an approximate mode of operation, or
- adding an entry to the data structure having a key that matches the lookup key, having a unique identifier, and having a pair of first and second chrominance values derived from the first chrominance value and the second chrominance value for the respective pixel, storing in memory the unique identifier of the entry added to the data structure, and setting the approximate mode of operation for the apparatus when no further entries are to be added to the data structure.
Dependencies are inferred from the claim text.