Claims
- 1. A method of representing video data in compressed form, comprising the steps of:
- dividing into rectangular blocks a present image to be compressed, the present image being formed in an image plane, each of said rectangular blocks consisting of n pixel blocks, each of said pixel blocks corresponding to an m pixel by m pixel segment of said image plane; n being an integer greater than or equal to 1; m being an integer greater than 1;
- comparing each of said rectangular blocks of the present image with a corresponding rectangular block of a reference image to generate comparison data for the block of the present image;
- selecting for representation the rectangular blocks of the present image for which the generated comparison data meets a selection criterion;
- generating mapping data indicative of locations in the image plane which correspond to the selected rectangular blocks for the present image; and
- representing the present image in compressed form by use of:
- (a) header data for identifying the present image;
- (b) said mapping data generated for the present image; and
- (c) image data representative of the selected rectangular blocks of the present image;
- wherein:
- said comparing step includes applying an orthogonal transformation to at least one pixel block of the n pixel blocks of each rectangular block of the present image to form coefficient data, and comparing the coefficient data with corresponding coefficient data for a corresponding pixel block in the reference image.
- 2. A method according to claim 1, wherein said comparing step includes comparing a coefficient which represents a DC component of the coefficient data for at least one pixel block of the present image with a coefficient which represents a DC component of the coefficient data for the corresponding pixel block of the reference image.
- 3. A method according to claim 2, wherein said comparing step includes comparing a coefficient which represents a frequency component of the coefficient data for at least one pixel block of the present image with a coefficient which represents a corresponding frequency component of the coefficient data for the corresponding pixel block of the reference image.
- 4. A method according to claim 1, wherein said comparing step includes comparing a coefficient which represents a frequency component of the coefficient data for at least one pixel block of the present image with a coefficient which represents a corresponding frequency component of the coefficient data of the corresponding pixel block of the reference image.
- 5. A method according to claim 1, wherein said representing step includes applying quantization to the coefficient data formed for each selected rectangular block to obtain quantization data, and applying Huffman encoding to the quantization data to form said image data representative of the selected rectangular blocks of the present frame.
- 6. A method according to claim 5, wherein the orthogonal transform is the discrete cosine transform (DCT), and the application of said DCT, said quantization and said Huffman encoding are in accordance with the JPEG image data compression standard.
- 7. A method according to claim 1, wherein m=8.
- 8. A method according to claim 7, wherein n=4.
- 9. A method according to claim 8, wherein a rectangular block is selected for representation if any one of the four pixel blocks of the rectangular block meet a selection criterion.
- 10. A method according to claim 8, wherein each of said rectangular blocks consists of a horizontal sequence of four 8.times.8 pixel blocks.
- 11. A method according to claim 10, wherein four 8.times.8 luminance pixel arrays and exactly two 8.times.8 chrominance pixel arrays are formed for each rectangular block of the reference image.
- 12. A method according to claim 11, wherein one of the two 8.times.8 chrominance pixel arrays consists of U pixels and the other of said two 8.times.8 chrominance pixel arrays consists of V pixels.
- 13. A method of representing video data in compressed form, comprising the steps of:
- dividing into rectangular blocks a present image to be compressed, the present image being formed in an image plane, each of said rectangular blocks consisting of n pixel blocks, each of said pixel blocks corresponding to an m pixel by m pixel segment of said image plane; n being an integer greater than or equal to 1; m being an integer greater than 1;
- applying an orthogonal transformation to at least one pixel block of the n pixel blocks of each rectangular block of the present image to form coefficient data;
- comparing the coefficient data with corresponding coefficient data for a corresponding pixel block in a reference image to generate comparison data for the rectangular block which includes the pixel block of the present image;
- selecting for representation the rectangular blocks of the present image for which the generated comparison data meets a selection criterion; and
- generating compressed image data only for the selected rectangular blocks of the present image.
- 14. A method according to claim 13, wherein said step of generating compressed image data includes processing the coefficient data formed by applying said orthogonal transformation to the pixel blocks of the selected rectangular blocks of the present image.
- 15. A method according to claim 14, wherein said processing includes quantizing said coefficient data and Huffman encoding the quantized coefficient data.
- 16. A method according to claim 15, wherein said orthogonal transformation and said processing of the coefficient data are performed in accordance with the JPEG image data compression standard.
- 17. A method according to claim 13, wherein n=4 and m=8.
- 18. Apparatus for storing compressed video data, comprising:
- means for receiving video signals representing a dynamic sequence of images;
- means for converting the video signals into a sequence of video data fields;
- processing means for compressing said video data fields; and
- means for storing the compressed video data fields;
- said processing means being programmed to:
- divide each of said video data fields into pixel blocks each corresponding to an m.times.m segment of an image plane, m being an integer greater than 1;
- apply an orthogonal transformation to each of the pixel blocks to form coefficient data;
- as to one of said images selected to be a reference image, store at least some of the coefficient data as reference data;
- as to said reference image, quantize the coefficient data to form quantization data and Huffman-encode the quantization data to form first storage data;
- cause the means for storing to store the first storage data;
- as to one of said images subsequent to said reference image, compare the coefficient data corresponding to at least some of the pixel blocks of said subsequent image to the reference data for the corresponding pixel block of the reference image;
- on the basis of said comparison, select pixel blocks of said subsequent image for further processing and select portions of the reference data for updating;
- update the selected portions of the reference data using coefficient data corresponding to the selected pixel blocks of said subsequent image;
- quantize the coefficient data corresponding to the selected pixel blocks and Huffman-encode the resulting quantized coefficient data to form second storage data; and
- cause the means for storing to store the second storage data.
- 19. Apparatus according to claim 18, wherein said processing means includes a first processor for dividing the video data fields into said pixel blocks and a second processor for processing said pixel blocks formed by said first processor.
- 20. A method of performing data compression with respect to image data, said image data being representative of pixels arrayed in an image plane, the method comprising the steps of:
- dividing said image data into a plurality of basic data blocks, each of said basic data blocks representing a rectangular part of said image plane, all of said basic data blocks being of equal size;
- detecting a spatial frequency characteristic of each of a contiguous plurality of said basic data blocks;
- in dependence upon a result of said detecting step, selectively combining said contiguous plurality of said basic data blocks to form a combined data block;
- subsampling said combined data block to form a subsampled data block that is equal in size to said basic data blocks; and
- applying a transformation to said subsampled data block to form a block of coefficient data.
- 21. A method according to claim 20, wherein said detecting step includes:
- applying a transformation to each basic data block of said contiguous plurality of basic data blocks, to form a respective array of coefficient data, some of said coefficient data representing respective spatial frequency components of the respective basic data block; and
- detecting a characteristic of at least one of said coefficient data representing spatial frequency components.
- 22. A method according to claim 21, wherein said transformation applied to each basic data block of said contiguous plurality of basic data blocks is a two-dimensional DCT.
- 23. A method according to claim 20, wherein said transformation applied to said subsampled combined data block is a two-dimensional DCT.
- 24. A method according to claim 20, wherein each of said basic data blocks consists of an 8.times.8 array of pixels.
- 25. A method according to claim 24, wherein said combined data block consists of an 8n.times.8n array of pixels, where n is an integer greater than 1, and said subsampling step comprises subsampling said combined data block by a factor of n in each of a horizontal direction and a vertical direction.
- 26. A method according to claim 24, wherein n=2.sup.p, p being an integer equal to or greater than 1.
- 27. A method according to claim 20, further comprising the steps of:
- combining a first contiguous plurality of said basic data blocks to form a first combined data block;
- subsampling said first combined data block to form a first subsampled data block that is equal in size to said basic data blocks;
- applying a transformation to said first subsampled data block to form a respective block of coefficient data therefrom;
- combining a second contiguous plurality of said basic data blocks to form a second combined data block that is larger than said first combined data block;
- subsampling said second combined data block to form a second subsampled data block that is equal in size to said first subsampled data block; and
- applying a transformation to said second subsampled data block to form a respective block of coefficients therefrom.
- 28. A method of performing data compression with respect to image data, said image data being representative of pixels arrayed in an image plane, the method comprising the steps of:
- dividing said image data into a plurality of m.times.m pixel blocks, m being equal to 2.sup.p, p being an integer equal to or greater than 1;
- detecting a spatial frequency characteristic of each of a contiguous plurality of said m.times.m pixel blocks;
- in dependence upon a result of said detecting step, selectively combining said contiguous plurality of m.times.m pixel blocks to form an (m.multidot.2.sup.q).times.(m.multidot.2.sup.q) pixel block, q being an integer equal to or greater than 1;
- processing said (m.multidot.2.sup.q).times.(m.multidot.2.sup.q) pixel block to form a processed m.times.m data array representative of said (m.multidot.2.sup.q).times.(m.multidot.2.sup.q) pixel block; and
- applying a transformation to said processed m.times.m data array to form a block of coefficient data.
- 29. A method according to claim 28, wherein said processing step includes subsampling said (m.multidot.2.sup.q).times.(m.multidot.2.sup.q) pixel block.
- 30. A method according to claim 28, wherein said detecting step includes:
- applying a transformation to each m.times.m pixel block of said contiguous plurality of m.times.m pixel blocks, to form a respective array of coefficient data, some of said coefficient data representing respective spatial frequency components of the respective m.times.m pixel block; and
- detecting a characteristic of at least one of said coefficient data representing spatial frequency components.
- 31. A method according to claim 30, wherein said transformation applied to each m.times.m pixel block of said contiguous plurality of m.times.m pixel blocks is a two-dimensional DCT.
- 32. A method of performing data compression with respect to image data, said image data being representative of pixels arrayed in an image plane, the method comprising the steps of:
- dividing said image data into a plurality of m.times.m pixel blocks, m being equal to 2.sup.p, p being an integer equal to or greater than 1;
- combining a first contiguous plurality of said m.times.m pixel blocks to form an (m.multidot.2.sup.q).times.(m.multidot.2.sup.q) pixel block, q being an integer equal to or greater than 1;
- processing said (m.multidot.2.sup.q).times.(m.multidot.2.sup.q) pixel block to form a first processed m.times.m data array representative of said (m.multidot.2.sup.q).times.(m.multidot.2.sup.q) pixel block;
- transform-encoding said first processed m.times.m data array to form compressed image data representative of said (m.multidot.2.sup.q).times.(m.multidot.2.sup.q) pixel block;
- combining a second contiguous plurality of said m.times.m pixel blocks to form an (m.multidot.2.sup.r).times.(m.multidot.2.sup.r) pixel block, r being an integer equal to or greater than 1, r.noteq.q;
- processing said (m.multidot.2.sup.r).times.(m.multidot.2.sup.r) pixel block to form a second processed m.times.m data array representative of said (m.multidot.2.sup.r).times.(m.multidot.2.sup.r) pixel block; and
- transform-encoding said second processed m.times.m data array to form compressed image data representative of said (m.multidot.2.sup.r).times.(m.multidot.2.sup.r) pixel block.
- 33. A method according to claim 32, wherein m=8.
- 34. A method according to claim 32, wherein each of said processing steps includes subsampling the respective pixel block.
- 35. A method according to claim 32, wherein each of said transform-encoding steps includes applying a two-dimensional DCT to the respective m.times.m data array to form coefficient data, quantizing the coefficient data, and Huffman-encoding the quantized coefficient data.
CROSS-REFERENCE TO RELATED APPLICATION
This application is a continuation-in-part of prior application Ser. No. 08/741,914, filed Oct. 31, 1996now U.S. Pat, No. 5,828,848. The disclosure of the parent application, Ser. No. 08/741,914, is incorporated herein by reference. Also to be noted is another related application, Ser. No. 08/729,620, also filed Oct. 31, 1996 (for which the issue fee has been paid), now U.S. Pat. No. 5,822,542).
US Referenced Citations (10)
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
741914 |
Oct 1996 |
|