Computer-based video compression system
First Claim
1. A system for compression and expansion of a frame of analog information comprising:
- a first subsystem comprised of an analog to digital processor and a first random access memory (RAM);
a second subsystem for compression and expansion of digital data comprising;
a second random access memory (RAM);
means for compressing data operatively connected to said second RAM;
means for expanding data operatively connected to a said second RAM;
a third RAM for storing said compressed data;
means for data management operatively connected to said first RAM, to said second RAM, and to said third RAM;
means for processing said frame of analog information;
wherein said means for processing said frame of analog information generates an analog signal representing information in said frame;
said means for processing said frame of analog information being operatively connected to said analog to digital processor so that said analog signal is an input signal to said analog to digital processor;
said analog to digital processor converting said analog signal to a frame of digital data;
said first RAM being operatively connected to said analog to digital processor so that said frame of digital data is stored in said first RAM;
said system having a first mode of operation wherein;
said means for data management transfers a selected portion of said stored digital data from said first RAM to said second RAM;
said means for compressing data retrieves said selected portion of digital data from said second RAM;
compresses said selected portion, and stores said compressed data in said second RAM;
said means for data management transfers said compressed data from said second RAM to said third RAM;
said system having a second mode of operation wherein;
said means for data management transfers a selected portion of said compressed data from said third RAM to said second RAM;
said means for expanding data retrieves said selected portion of said compressed data from said second RAM;
expands said selected portion; and
stores said expanded data in said second RAM; and
said means for data management transfers said expanded data from said second RAM to said first RAM.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer-based video compression system for processing natural information signals, such as video signals or audio signals, for the purpose of forming a compact data file of compressed signals which can be expanded to produce the original information signals is provided by a unique subsystem in a host computer which uses a high speed signal processor to compress video images and to expand video images. The unique compression process uses segmentation and predictive techniques in conjunction with a discrete sine transform, quantization and Huffman coding to provide optimal compression. Further the segmentation and predictive techniques in conjunction with the discrete sine transform diminish the magnitude of correlated errors generated by the compression process. The compression system of this invention is further enhanced by a special circuit which transfers data between the host computer and the compression subsystem at rates greater than were previously possible.
279 Citations
21 Claims
-
1. A system for compression and expansion of a frame of analog information comprising:
-
a first subsystem comprised of an analog to digital processor and a first random access memory (RAM); a second subsystem for compression and expansion of digital data comprising;
a second random access memory (RAM);
means for compressing data operatively connected to said second RAM;
means for expanding data operatively connected to a said second RAM;a third RAM for storing said compressed data; means for data management operatively connected to said first RAM, to said second RAM, and to said third RAM; means for processing said frame of analog information; wherein said means for processing said frame of analog information generates an analog signal representing information in said frame; said means for processing said frame of analog information being operatively connected to said analog to digital processor so that said analog signal is an input signal to said analog to digital processor; said analog to digital processor converting said analog signal to a frame of digital data; said first RAM being operatively connected to said analog to digital processor so that said frame of digital data is stored in said first RAM; said system having a first mode of operation wherein; said means for data management transfers a selected portion of said stored digital data from said first RAM to said second RAM; said means for compressing data retrieves said selected portion of digital data from said second RAM;
compresses said selected portion, and stores said compressed data in said second RAM;said means for data management transfers said compressed data from said second RAM to said third RAM; said system having a second mode of operation wherein; said means for data management transfers a selected portion of said compressed data from said third RAM to said second RAM; said means for expanding data retrieves said selected portion of said compressed data from said second RAM;
expands said selected portion; and
stores said expanded data in said second RAM; andsaid means for data management transfers said expanded data from said second RAM to said first RAM. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method for compressing and expanding a digitized information frame having digital points comprising:
-
(a) dividing said digitized information into blocks; (b) dividing each of said blocks into a selected point, a first one-dimensional (1-D) vector, a second one-dimensional vector and a two-dimensional (2-D) vector; (c) quantizing said selected point and storing said quantized point with a specified number of 1538 bits; (d) using selected combinations of said selected points to form a prediction for the digital value of each point of said 1-D vectors; (e) using selected combinations of said 1-D vectors to form a prediction for the value of each point of the 2-D vector; (f) subtracting the predicted value of each point in a vector from the associated value for that point thereby forming an error vector for that vector; (g) sequentially performing an invertible discrete transform on each error vector thereby forming a vector of transform coefficients; (h) quantizing said vector of transform coefficients using a variable quantizer; (i) ordering said 2-D vector of quantized transform coefficients as a 1-D vector; (j) encoding each of said vectors of quantized transform coefficients for subsequent use including the steps of providing a plurality of coding tables, calculating the predicted mean value of each quantized transform coefficient, selecting a code table based upon said mean value and generating a code representing said quantized coefficient from said selected code table; and
the expansion steps comprising;(k) inverse quantizing said selected points; (1) decoding each 1-D vector of coded quantized transform coefficients to form a vector of quantized transform coefficients; (m) ordering said 1-D vector representing said 2-D vector as a 2-D vector; (n) performing an inverse quantization on each of said vectors of quantized transform coefficients thereby forming a vector of transform coefficients for each vector of quantized transform coefficient; (o) performing an inverse discrete transform on each of said vectors of transform coefficients thereby forming an error vector for each of said vectors of transform coefficient; (p) using selected combinations of said selected points to form a prediction for the digital value of each point of the 1-D vectors; (q) using selected combinations of said 1-D vectors to form a prediction for the value of each point of the 2-D vector; and (r) adding the error vector for each of the vectors to the associated predicted vector to create a reconstructed vector.
-
-
21. A method for compressing and expanding a digitized information frame having digital points comprising:
-
(a) sampling and filtering said digitized information to reduce the number of points in said frame; (b) dividing said sampled and filtered digitized information into blocks; (c) dividing each of said blocks into a selected point, a first one-dimensional (1-D) vector, a second one-dimensional vector and a two-dimensional (2-D) vector; (d) quantizing said selected point and storing said quantized point with a specified number of bits; (e) using selected combinations of said selected points to form a prediction for the sampled and filtered digital value of each point of said 1-D vectors; (f) using selected combinations of said 1-D vectors to form a prediction for the sampled and filtered value to each point of the 2-D vector; (g) subtracting the predicted value of each point in a vector from the associated sampled and filtered value for that point thereby forming an error vector for that vector; (h) sequentially performing an invertible discrete transform on each error vector thereby forming a vector of transform coefficients; (i) quantizing said vector of transform coefficients using a variable quantizer; (j) ordering said 2-D vector of quantized transform coefficients as a 1-D vector; (k) encoding each of said vectors of quantized transform coefficients for subsequent use including the steps of providing a plurality of coding tables, calculating the predicted mean value of each quantized transform coefficient, selecting a code table based upon said mean value and generating a code representing said quantized coefficient from said selected code table; and
the expansion steps comprising;(l) inverse quantizing said selected points; (m) decoding each 1-D vector of coded quantized transform coefficients to form a vector of quantized transform coefficients; (n) ordering said 1-D vector representing said 2-D vector as a 2-D vector; (o) performing an inverse quantization on each of said vectors of quantized transform coefficients thereby forming a vector of transform coefficients for each vector of quantized transform coefficients; (p) performing an inverse discrete transform on each of said vectors of transform coefficients thereby forming an error vector for each of said vectors of transform coefficients; (q) using selected combinations of said selected points to form a prediction for the sampled and filtered digital value of each point of the 1-D vectors; (r) using selected combinations of said 1-D vectors to form a prediction for the sampled and filtered value of each point of the 2-D vector; (s) adding the error vector for each of the vectors to the associated predicted vector to create a reconstructed vector; and (t) interpolating among the digital points in said reconstructed vectors so as to form a frame having a selected number of points.
-
Specification