Compression/decompression using reversible embedded wavelets
AssigneeRicoh Company, Ltd.
InventorsAlexander F. Keith, Edward L. Schwartz, Ahmad Zandi, Martin Boliek, Michael J. Gormish
Life of this patent
Estimating the term…
Abstract
A compression and decompression system in which a reversible wavelet filter are used to generates coefficients from input data, such as image data. The reversible wavelet filter is an efficient transform implemented with integer arithmetic that has exact reconstruction. The present invention uses the reversible wavelet filter in a lossless system (or lossy system) in which an embedded codestream is generated from the coefficients produced by the filter. An entropy coder performs entropy coding on the embedded codestream to produce the compressed data stream.
Claims43
An encoder comprising:
- a memory;
- and
- a forward transform operating on data in the memory, wherein the transform is computed and stored in the memory by storing calculation results in locations containing no longer necessary information such that the forward transform is computed in place in the memory;
- wherein the memory comprises:
- a plurality of lines of memory;
- and
- a line buffer having a plurality of entries containing pointers to the plurality of lines of memory, wherein each of the plurality of entries are associated with an individual memory lines, wherein the pointers are moved between entries in the line access buffer to resemble scrolling of the memory without moving the data in the memory lines.
An encoder comprising:
- a memory;
- and
- a Two-Six transform operating on data in the memory, wherein the Two-Six transform is computed and stored in the memory by storing calculation results in locations containing no longer necessary information, such that the Two-Six transform is computed in place in the memory.
An encoder comprising:
- a memory;
- and
- a Two-Ten transform operating on data in the memory, wherein the Two-Ten transform is computed and stored in the memory by storing calculation results in locations containing no longer necessary information, such that the Two-Ten transform is computed in place in the memory.
An encoder comprising:
- a buffer comprising a plurality of lines of memory and a line buffer having a plurality of entries containing pointers to the plurality of lines of memory, wherein each of the plurality of entries are associated with an individual memory lines, wherein pointers are moved between entries in the line access buffer to resemble scrolling of the buffer without moving the data in the memory lines;
- a forward transform operating on data in the buffer, wherein the forward transform is computed and stored in the buffer by storing calculation results in locations containing no longer necessary information, such that the transform is computed in place in the buffer memory;
- an embedded quantizer coupled to the forward transform;
- and
- an entropy coder coupled to the embedded quantizer.
A method for encoding data comprising:
- applying a first one dimensional wavelet transform to each line in a buffer having a plurality of memory lines;
- applying a second one dimensional wavelet transform to each column in the buffer;
- modeling a set of completely computed wavelet coefficients;
- entropy coding the set of completely computed wavelet coefficients;
- removing the set of completely computed wavelet coefficients from the buffer after entropy coding;
- moving pointers between entries in a line access buffer associated with the buffer to resemble scrolling of the buffer without moving the data in the plurality of memory lines.
A decoder comprising:
- a buffer memory;
- and
- an inverse transform operating on data in the buffer memory, wherein the inverse transform is computed and stored in the memory by storing calculation results in locations containing no longer necessary information, such that the inverse transform is computed in place in the buffer memory.
A decoder comprising:
- a buffer memory;
- and
- an Two-Six transform operating on data in the buffer memory, wherein the Two-Six transform is computed and stored in the memory by storing calculation results in locations containing no longer necessary information, such that the Two-Six transform is computed in place in the buffer memory.
A decoder comprising:
- a buffer memory:
- and
- an Two-Ten transform operating on data in the buffer memory, wherein Two-Ten transform is computed and stored in the memory by storing calculation results in locations containing no longer necessary information, such that the Two-Ten transform is computed in place in the buffer memory.
An encoder comprising:
- a buffer comprising a plurality of lines of memory and a line buffer having a plurality of entries containing pointers to the plurality of lines of memory, wherein each of the plurality of entries are associated with an individual memory lines;
- a reversible wavelet transform coupled to the buffer to receive image data and generate a plurality of coefficients, wherein the buffer stores the plurality of coefficients;
- an ordering mechanism coupled to receive coefficients from the buffer for ordering, wherein the ordering mechanism stores ordered coefficients in the buffer;
- and
- a coder coupled to receive ordered coefficients from the buffer and generate encoded data;
- wherein pointers are moved between entries in the line access buffer to resemble scrolling of the buffer without moving the data in the memory lines.
A computer software product including a computer readable medium having executable instructions stored therein, which when executed by the processor, causes the processor to:
- apply a first one dimensional wavelet transform to each line in a buffer having a plurality of memory lines;
- apply a second one dimensional wavelet transform to each column in the buffer;
- model a set of completely computed wavelet coefficients;
- entropy code the set of completely computed wavelet coefficients;
- remove the set of completely computed wavelet coefficients from the buffer after entropy coding;
- move pointers between entries in a line access buffer associated with the buffer to resemble scrolling of the buffer without moving the data in the plurality of memory lines.
Dependencies are inferred from the claim text.