System for compression and decompression of video data using discrete cosine transform and coding techniques
First Claim
1. A system for data compression and decompression, comprising:
- video interface means for receiving and transmitting digitized images as a stream of composite pixels, each composite pixel being represented by data of a plurality of chrominance and luminance component types;
block memory means for receiving and sorting, during data compression, said stream of composite pixels from said video interface means into single-component type data blocks, and for receiving and reconstituting, during data decompression, single-component type data blocks into said stream of composite pixels;
discrete cosine transform means for performing, during data compression, a 2-dimensional discrete cosine transform on single-component type data blocks received from said block memory, and providing coefficients of said 2-dimensional discrete cosine transform, and for performing, during data decompression, a 2-dimensional inverse discrete cosine transform, and providing as output data said coefficients of said 2-dimensional inverse discrete cosine transform to said block memory means as single-component type data blocks;
quantization means for attenuating, during data compression, higher frequency coefficients of said 2-dimensional discrete cosine transform, and for partially restoring, during data decompression, said higher frequency coefficients of said 2-dimensional discrete cosine transform, in preparation for said 2-dimensional inverse discrete cosine transform;
zig-zag means for rearranging, during data compression, said coefficients of said 2-dimensional discrete cosine transform from "sequential" order into "zig-zag" order, and for rearranging, during data decompression, said zig-zag ordered coefficients of said 2-dimensional discrete cosine transform from a "zig-zag" order to a "sequential" order;
data packing and unpacking means for packing, during data compression, said "zig-zag" ordered coefficients of said 2-dimensional discrete cosine transform as run length-represented coefficients of said 2-dimensional discrete cosine transform, and for unpacking, during data compression, said run length-represented coefficients of said 2-dimensional discrete cosine transform to said "zig-zag" ordered coefficients of said 2-dimensional discrete cosine transform;
Huffman coding/decoding means for coding, during data compression, said run length-represented coefficients of said 2-dimensional discrete cosine transform into Huffman Codes, and for decoding, during data compression, said Huffman codes into said run length-represented coefficients of said 2-dimensional discrete cosine transform;
first-in first-out memory means for temporary storage of said run length represented coefficients of said 2-dimensional discrete cosine transform such that said Huffman coding/decoding means operates asynchronously and independent of said data packing and unpacking means; and
host interface means for transmitting, during data compression, said Huffman codes to a host computer, and for retrieving, during data decompression, said Huffman codes from a host computer.
5 Assignments
0 Petitions
Accused Products
Abstract
A digital video compression system and an apparatus implementing this system are disclosed. Specifically, matrices of pixels in RGB, YUV or CMYK formats are accepted for data compression. The data are rearranged in 8x8 pixel blocks, each block being of one pixel component type. The pixel data are then subjected to a discrete cosine transform (DCT). A quantization step eliminates DCT coefficients having amplitude below a set of preset thresholds. The video signal is further compressed by coding the elements of the quantized matrices in a zig-zag manner. This representation is further compressed by Huffman codes. Decompression of the signal is substantially the reverse of compression steps. The inverse discrete cosine transform (IDCT) may be implemented by the DCT circuit. The circuits may be implemented in a single integrated circuit chip. Three levels of compression rate control are provided during processing of video data.
-
Citations
13 Claims
-
1. A system for data compression and decompression, comprising:
-
video interface means for receiving and transmitting digitized images as a stream of composite pixels, each composite pixel being represented by data of a plurality of chrominance and luminance component types; block memory means for receiving and sorting, during data compression, said stream of composite pixels from said video interface means into single-component type data blocks, and for receiving and reconstituting, during data decompression, single-component type data blocks into said stream of composite pixels; discrete cosine transform means for performing, during data compression, a 2-dimensional discrete cosine transform on single-component type data blocks received from said block memory, and providing coefficients of said 2-dimensional discrete cosine transform, and for performing, during data decompression, a 2-dimensional inverse discrete cosine transform, and providing as output data said coefficients of said 2-dimensional inverse discrete cosine transform to said block memory means as single-component type data blocks; quantization means for attenuating, during data compression, higher frequency coefficients of said 2-dimensional discrete cosine transform, and for partially restoring, during data decompression, said higher frequency coefficients of said 2-dimensional discrete cosine transform, in preparation for said 2-dimensional inverse discrete cosine transform; zig-zag means for rearranging, during data compression, said coefficients of said 2-dimensional discrete cosine transform from "sequential" order into "zig-zag" order, and for rearranging, during data decompression, said zig-zag ordered coefficients of said 2-dimensional discrete cosine transform from a "zig-zag" order to a "sequential" order; data packing and unpacking means for packing, during data compression, said "zig-zag" ordered coefficients of said 2-dimensional discrete cosine transform as run length-represented coefficients of said 2-dimensional discrete cosine transform, and for unpacking, during data compression, said run length-represented coefficients of said 2-dimensional discrete cosine transform to said "zig-zag" ordered coefficients of said 2-dimensional discrete cosine transform; Huffman coding/decoding means for coding, during data compression, said run length-represented coefficients of said 2-dimensional discrete cosine transform into Huffman Codes, and for decoding, during data compression, said Huffman codes into said run length-represented coefficients of said 2-dimensional discrete cosine transform; first-in first-out memory means for temporary storage of said run length represented coefficients of said 2-dimensional discrete cosine transform such that said Huffman coding/decoding means operates asynchronously and independent of said data packing and unpacking means; and host interface means for transmitting, during data compression, said Huffman codes to a host computer, and for retrieving, during data decompression, said Huffman codes from a host computer. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for data compression and decompression, comprising:
-
video interface means for receiving and transmitting digitized images; discrete cosine transform means for performing, during data compression, a 2-dimensional discrete cosine transform on data received by said video interface means, and providing coefficients of said 2-dimensional discrete cosine transform, and for performing, during data decompression, a 2-dimensional inverse discrete cosine transform, and providing as output data said coefficients of said 2-dimensional inverse discrete cosine transform to said video interface for transmission as digitized images; quantization means for attenuating, during data compression, higher frequency coefficients of said 2-dimensional discrete cosine transform, and for partially restoring, during data decompression, said higher frequency coefficients of said 2-dimensional discrete cosine transform, in preparation for said 2-dimensional inverse discrete cosine transform; zig-zag means for rearranging, during data compression, said coefficients of said 2-dimensional discrete cosine transform from "sequential" order into "zig-zag" order, and for rearranging, during data decompression, said zig-zag ordered coefficients of said 2-dimensional discrete cosine transform from a "zig-zag" order to a "sequential" order; data packing and unpacking means for packing, during data compression, said "zig-zag" ordered coefficients of said 2-dimensional discrete cosine transform as run length-represented coefficients of said 2-dimensional discrete cosine transform, and for unpacking, during data decompression, said run length-represented coefficients of said 2-dimensional discrete cosine transform to said "zig-zag" ordered coefficients of said 2-dimensional discrete cosine transform; Huffman coding/decoding means for coding, during data compression, said run length-represented coefficients of said 2-dimensional discrete cosine transform into Huffman codes, and for decoding, during data decompression, said Huffman codes into said run length-represented coefficients of said 2-dimensional discrete cosine transform; first-in first-out memory means for temporary storage of said run length represented coefficients of said 2-dimensional discrete cosine transform such that said Huffman coding/decoding means operates asynchronously and independent of said data packing and unpacking means; and host interface means for transmitting, during data compression, said Huffman codes to a host computer, and for retrieving, during data decompression, said Huffman codes from a host computer; wherein said first-in first-out memory means provides a plurality of status signals indicating the usage of said first-in first-out memory means, and wherein said system further comprises adaptive control means for varying compression ratios achieved on said digitized images during compression according to said status signals. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A method for data compression and decompression, comprising:
-
providing a video interface means for receiving and transmitting digitized images as a stream of composite pixels, each composite pixel being data of a plurality of chrominance and luminance component types; providing block memory means for receiving and sorting, during data compression, said stream of composite pixels from said video interface means into single-component type data blocks, and for receiving and reconstituting, during data decompression, single-component type data blocks into said stream of composite pixels; providing a discrete cosine transform means for performing, during data compression, a 2-dimensional discrete cosine transform on single-component type data blocks received from said block memory means, and providing coefficients of said 2-dimensional discrete cosine transform, and for performing, during data decompression, a 2-dimensional inverse discrete cosine transform, and providing as output data said coefficients of said 2-dimensional inverse discrete cosine transform to said block memory means as single-component type data blocks; providing a quantization means for attenuating, during data compression, higher frequency coefficients of said 2-dimensional discrete cosine transform, and for partially restoring, during data decompression, said higher frequency coefficients of said 2-dimensional discrete cosine transform, in preparation for said 2-dimensional inverse discrete cosine transform; providing a zig-zag means for rearranging, during data compression, said coefficients of said 2-dimensional discrete cosine transform from "sequential" order into "zig-zag" order, and for rearranging, during data decompression, said zig-zag ordered coefficients of said 2-dimensional discrete cosine transform from a "zig-zag" order to a "sequential" order; providing a data packing and unpacking means for packing, during data compression, said "zig-zag" ordered coefficients of said 2-dimensional discrete cosine transform as run length-represented coefficients of said 2-dimensional discrete cosine transform, said run length-represented coefficients of said 2-dimensional discrete cosine transform represent runs of zero coefficients as run lengths of zero coefficients, and for unpacking, during data decompression, said run length-represented coefficients of said 2-dimensional discrete cosine transform to said "zig-zag" ordered coefficients of said 2-dimensional discrete cosine transform; providing a Huffman coding/decoding means for coding, during data compression, said run length-represented coefficients of said 2-dimensional discrete cosine transform into Huffman codes, and for decoding, during data decompression, said Huffman codes into said run length-represented coefficients of said 2-dimensional discrete cosine transform; providing a first-in first-out means for temporary storage of said run-length represented coefficients of said 2-dimensional discrete cosine transform such that said Huffman coding/decoding means operates asynchronously and independent of said data packing and unpacking means; and providing a host interface means for transmitting, during data compression, said Huffman codes to a host computer, and for retrieving, during data decompression, said Huffman codes from a host computer.
-
Specification