Progressive JPEG decoding
First Claim
Patent Images
1. An apparatus for generating one or more images at various levels of decompression directly from a fully compressed baseline JPEG encoded image, said apparatus comprising:
- means for generating a matrix of disjoint subarrays of size n×
n, each of said subarrays is a two-dimensional DCT of a corresponding subarray of elements from said compressed baseline JPEG encoded image;
means for extracting one or more elements from each of said disjoint subarrays in accordance with a desired level of decompression and arranging said extracted elements in a predetermined order corresponding to an order of elements in a disjoint subarray from which they were extracted; and
, means for arranging said extracted elements of predetermined order to generate a decompressed version of said original image, each said decompressed image having an image resolution a fraction of a resolution of an original image.
3 Assignments
0 Petitions
Accused Products
Abstract
This invention enables progressively higher resolution images of a JPEG compressed image to be produced in a cost effective manner during the JPEG decompression process. The operation count is very low when images of {fraction (1/64)}th, {fraction (1/16)}th, and ¼th of full resolution are to be produced without doing a full JPEG decompression. The low resolution images are useful for high speed search, and the ability to produce them without doing full decompression is an important factor in making such search practical.
-
Citations
42 Claims
-
1. An apparatus for generating one or more images at various levels of decompression directly from a fully compressed baseline JPEG encoded image, said apparatus comprising:
-
means for generating a matrix of disjoint subarrays of size n×
n, each of said subarrays is a two-dimensional DCT of a corresponding subarray of elements from said compressed baseline JPEG encoded image;
means for extracting one or more elements from each of said disjoint subarrays in accordance with a desired level of decompression and arranging said extracted elements in a predetermined order corresponding to an order of elements in a disjoint subarray from which they were extracted; and
,means for arranging said extracted elements of predetermined order to generate a decompressed version of said original image, each said decompressed image having an image resolution a fraction of a resolution of an original image. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An apparatus for generating one or more images at intermediate levels of decompression, at a zeroth level of decompression, and at a final level of decompression, each said intermediate level of decompression obtained directly from a fully compressed baseline JPEG encoded image, said apparatus comprising:
-
means for progressively calculating images to achieve a desired intermediate level of decompression, said means utilizing information obtained from an intermediate level image generated for a decompression level immediately prior to the desired level of decompression to enable generation of images in a minimum of operations. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
means for generating a matrix of disjoint subarrays of size n×
n, each subarray being a two-dimensional discrete cosine transform of a corresponding subarray of elements from a said compressed JPEG encoded image;
means for extracting one or more elements from each of said disjoint subarrays in accordance with a desired level of decompression, and arranging said extracted elements in a predetermined order corresponding to an order of elements in a disjoint subarray from which they were extracted; and
,means for combining said extracted elements of predetermined order to generate a decompressed version of said original image, each said decompressed image having an image resolution a fraction of a resolution of an original image.
-
-
13. The apparatus of claim 12, wherein a size “
- n”
of disjoint subarrays is eight, said means for extracting elements at said zeroth level of decompression includes means for extracting a zero frequency component from each disjoint subarrays.
- n”
-
14. The apparatus of claim 13, wherein said means for extracting elements at said a first level of decompression include means for extracting four elements at predefined locations from each said disjoint subarrays.
-
15. The apparatus of claim 14, wherein said means for extracting elements at said first level of decompression includes means for averaging a group of sixteen pixels at predefined locations from said original image, said apparatus including processing means for transforming said n×
- n matrix into four disjoint blocks.
-
16. The apparatus of claim 15, wherein said processing means includes means for multiplying an n×
- n subarray by a cross product of a predefined 2×
8 matrix.
- n subarray by a cross product of a predefined 2×
-
17. The apparatus of claim 16, wherein for a second level of decompression, said means for extracting elements includes extracting sixteen elements at predefined locations from each said disjoint subarrays, said group of sixteen elements including said four elements and zero frequency components from each said disjoint subarrays.
-
18. The apparatus of claim 17, wherein said processing means includes means for multiplying said original n×
- n matrix by an first operator matrix having a submatrix equivalent to said predefined 2×
8 matrix.
- n matrix by an first operator matrix having a submatrix equivalent to said predefined 2×
-
19. The apparatus of claim 18, wherein said first operator matrix is a matrix having a factorization of a form (H2×
- H2×
H2×
H2) (T2×
T2) (W×
W), where H2 is a Hadamard matrix of order 2 and T2 is an 8×
4 matrix and W is a 8×
8 matrix.
- H2×
-
20. The apparatus of claim 19, wherein for a final level of decompression, said extracted elements include a set of 64 elements corresponding to all positions from said disjoint subarray.
-
21. The apparatus of claim 20, wherein said processing means includes means for multiplying said original n×
- n matrix by a second operator matrix (H8×
H8) (V×
V), said multiplying step including means enabling utilization of data generated from a result of computing (T2×
T2) (W×
W), where H8 is a Hadamard matrix of order 8 and V is a predefined 8×
8 matrix.
- n matrix by a second operator matrix (H8×
-
22. The apparatus of claim 20, wherein said original JPEG compressed image has been Huffman encoded, said apparatus including means for performing Huffman decoding on said original n×
- n matrix.
- 23. A method for generating one or more decompressed images at various levels of decompression directly from a fully compressed baseline JPEG encoded image, said compressed baseline JPEG encoded image represented as blocks of discrete cosine transformed pixels of an original image, said method comprising the steps of providing a progressive operator for calculating images at a desired level of decompression, each calculating step utilizing information obtained from a calculation of an image at a decompression level immediately prior to the desired level of decompression to enable generation of images in a minimum of operations.
-
30. A method for generating one or more decompressed images at various levels of decompression directly from a fully compressed baseline JPEG encoded image, comprising the steps of:
-
(a) retrieving a fully compressed baseline JPEG encoded image;
(b) generating a matrix of disjoint subarrays of size n×
n, each subarray being a two-dimensional DCT of a corresponding subarray of said compressed baseline JPEG encoded image;
(c) extracting one or more elements from each of said disjoint subarrays in accordance with a desired level of decompression, and arranging said extracted elements in a predetermined order corresponding to an order of a disjoint subarray from which said elements came; and
(d) generating said image corresponding to a desired level of decompression from said extracted one or more elements. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42)
-
Specification