System for compression and decompression of video data using discrete cosine transform and coding techniques
First Claim
1. A system for compression and decompression of video images constituted by a stream of composite pixels, each pixel being represented by data of a plurality of luminance and chrominance component types, comprising:
- block memory means for, during compression, sorting and storing said stream of composite pixels into single-component type data blocks and for providing in predetermined order said single-component type data blocks and for, during decompression, receiving and storing said single-component type data blocks and for reconstituting said stream of composite pixels; and
means for compressing and decompressing of said single-component type data blocks.
3 Assignments
0 Petitions
Accused Products
Abstract
A digital video compression system and an apparatus implementing this system are disclosed. Specifically, matrices of pixels in the RGB signal format are converted into YUV representation, including a step of selectively sampling the chrominance components. The signals are then subjected to a discrete cosine transform (DCT). A circuitry implementing the DCT in a pipelined architecture is provided. 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. Circuits for implementing RGB to YUV conversion, DCT, quantization, coding and their decompression counterparts are disclosed. The circuits may be implemented in the form an integrated circuit chip.
-
Citations
14 Claims
-
1. A system for compression and decompression of video images constituted by a stream of composite pixels, each pixel being represented by data of a plurality of luminance and chrominance component types, comprising:
-
block memory means for, during compression, sorting and storing said stream of composite pixels into single-component type data blocks and for providing in predetermined order said single-component type data blocks and for, during decompression, receiving and storing said single-component type data blocks and for reconstituting said stream of composite pixels; and means for compressing and decompressing of said single-component type data blocks.
-
-
2. A method for compression and decompression of video images constituted by a stream of composite pixels, each pixel being represented by data of a plurality of luminance and chrominance component types, comprising the steps of:
-
providing block memory means for, during compression, sorting and sorting said stream of composite pixels into single-component type data blocks and for providing in predetermined order said single-component type data blocks and for, during decompression, receiving and storing said single-component type data blocks and for reconstituting said stream of composite pixels; and providing compression and decompression of said single-component type data blocks.
-
-
3. 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 represented by data of a plurality of chrominance and luminance 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 transforms 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 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.
-
-
4. 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 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; 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 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; 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 (5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
Specification