Image compression using content-based image similarity
First Claim
Patent Images
1. A method for compressing a set of images, including the steps of:
- grouping the images into at least two clusters based on image similarity according to at least one similarity measure;
identifying at least one representative image in each of the clusters, all other images within each of the clusters being identified as non-representative images;
independently coding the representative image(s) from each of the clusters; and
, predictively coding each of the non-representative images from each of the clusters using the representative image(s) from that cluster as a reference image(s).
2 Assignments
0 Petitions
Accused Products
Abstract
A method for compressing a set of images that includes the steps of grouping the images into at least two clusters based on color content similarity, identifying at least one representative image in each of the clusters, all other images within each of the clusters being identified as non-representative images, independently coding the representative image(s) from each of the clusters, e.g., using a lossy (e.g., JPEG) or lossless coding algorithm; and, predictively coding each of the non-representative images from each of the clusters using the representative image(s) from that cluster as a reference image(s).
-
Citations
39 Claims
-
1. A method for compressing a set of images, including the steps of:
-
grouping the images into at least two clusters based on image similarity according to at least one similarity measure;
identifying at least one representative image in each of the clusters, all other images within each of the clusters being identified as non-representative images;
independently coding the representative image(s) from each of the clusters; and
,predictively coding each of the non-representative images from each of the clusters using the representative image(s) from that cluster as a reference image(s). - View Dependent Claims (2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 20, 22, 23, 25)
partitioning the non-representative image into a plurality of target blocks of pixels;
for each of the target blocks, searching the reference image for a same-sized reference block in the reference image that constitutes a best match according to a prescribed search metric; and
,producing a coded data stream representative of which reference block, if any, in the reference image constitutes the best match for each target block.
-
-
3. The method as set forth in claim 2, wherein the independently coding step is carried out using a JPEG coding algorithm.
-
4. The method as set forth in claim 2, wherein the independently coding step is carried out using a lossless coding algorithm.
5.The method as set forth in claim 1, wherein each of the non-representative images is coded with reference to a selected reference image in the predictively coding step by: -
partitioning the non-representative image into a plurality of target blocks of pixels;
for each of the target blocks, searching the reference image for a same-sized reference block in the reference image that constitutes a best match according to a prescribed search metric; and
,for each of the target blocks, computing a difference between that target block and the reference block that constitutes its best match to produce a residual value for each target block; and
,coding the residual values produced in the computing step to produce a coded data stream representative of the computed residual values.
-
-
7. The method as set forth in claim 1, wherein each of the non-representative images is coded with reference to a selected reference image in the predictively coding step by:
-
partitioning the non-representative image into a plurality of target blocks of pixels;
for each of the target blocks, searching within prescribed horizontal and vertical search ranges within the reference image for a same-sized reference block in the reference image that constitutes a best match according to a prescribed search metric; and
,producing a coded data stream representative of which reference block in the reference image constitutes the best match for each target block.
-
-
8. The method as set forth in claim 1, wherein each of the non-representative images is coded with reference to a selected reference image in the predictively coding step by:
-
partitioning the non-representative image into a plurality of target blocks of pixels;
for each of the target blocks, searching within prescribed horizontal and vertical search ranges within the reference image for a same-sized reference block in the reference image that constitutes a best match according to a prescribed search metric; and
,for each of the target blocks, computing a difference between that target block and the reference block that constitutes its best match, to produce a residual value for each target block; and
,coding the residual values produced in the computing step to produce a coded data stream representative of the computed residual values.
-
-
9. The method as set forth in claim 1, wherein the independently coding step is carried out using a JPEG coding algorithm.
-
10. The method as set forth in claim 1, wherein the independently coding step is carried out using a lossless coding algorithm.
-
11. The method as set forth in claim 1, wherein the grouping step is carried out by using a hierarchical clustering algorithm.
-
12. The method as set forth in claim 1, wherein the predictively coding step includes DCT and VLC coding sub-steps.
-
13. The method as set forth in claim 1, wherein each of the non-representative images is coded with reference to a selected reference image in the predictively coding step by:
-
partitioning the non-representative image into a plurality of target blocks of pixels;
for each of the target blocks, comparing the pixels of that target block to the pixels of each of the same-sized reference blocks in the reference image according to a prescribed search metric, and producing an error metric value for each comparison made;
for each of the target blocks, determining whether the value of any of the error metric values produced is less than a prescribed maximum threshold value, and;
if so, identifying the one of the same-sized reference blocks that constitutes the best match for that target block, and, if not, independently coding that target block.
-
-
20. The method as set forth in claim 1, wherein the image similarity measure comprises a color similarity measure.
-
22. The method as set forth in claim 1, wherein the similarity measure includes at least one similarity measure selected from a group consisting of a color similarity measure, a texture similarity measure, a shape similarity measure, a geometrical similarity measure, and a content similarity measure.
-
23. The method as set forth in claim 1, further including the steps of:
-
partitioning each of the images into a plurality of color comparison blocks;
computing a normalized histogram for each of the color comparison blocks of each image; and
,using the computed normalized histograms in performing the grouping and identifying steps.
-
-
25. A device that implements the method set forth in claim 1.
- 5. The method as set forth in claim 5, wherein the independently coding step is carried out using a JPEG coding algorithm.
- 14. The method as set forth in claim 14, wherein the sub-step of independently coding that target block is carried out using a JPEG coding algorithm.
-
17. The method as set forth in claim 17, wherein the coding sub-step of the predictively coding further includes coding into the coded data stream coded data identifying the reference blocks of the reference images that constitute the best match for the respective target blocks of each of the non-representative images that are not independently coded, identifying which of the target blocks of each of the non-representative images are independently coded, and further, identifying which of the images of the set of images are reference images, and which are non-representative images.
-
21. A device that implements the method set forth in claim 21.
-
24. A device that implements the method set forth in claim 24.
-
26. A method for compressing a set of sub-images, including the steps of:
-
grouping the sub-images into at least two clusters based on image similarity according to at least one similarity measure;
identifying at least one representative sub-image in each of the clusters, all other sub-images within each of the clusters being identified as non-representative sub-images;
independently coding the representative sub-image(s) from each of the clusters; and
,predictively coding each of the non-representative sub-images from each of the clusters using the representative sub-image(s) from that cluster as a reference sub-image(s).
-
-
27. The method as set forth in claim 27, wherein each of the non-representative sub-images is coded with reference to a selected reference sub-image in the predictively coding step by:
-
partitioning the non-representative sub-image into a plurality of target blocks of pixels;
for each of the target blocks, comparing the pixels of that target block to the pixels of each of the same-sized reference blocks in the reference sub-image according to a prescribed search metric, and producing an error metric value for each comparison made;
for each of the target blocks, determining whether the value of any of the error metric values produced is less than a prescribed maximum threshold value, and;
if so, identifying the one of the same-sized reference blocks that constitutes the best match for that target block, and, if not, independently coding that target block. - View Dependent Claims (28, 29)
-
-
30. A method for compressing a set of images, including the steps of:
-
subdividing each image into a two or more partitions;
grouping corresponding ones of the partitions having corresponding locations in their respective images into at least two clusters based on image similarity according to at least one similarity measure, to thereby produce a set of clusters for each set of corresponding ones of the partitions;
identifying at least one representative image for each cluster of partitions, all other images within each of the clusters being identified as non-representative images;
independently coding a reference partition in the representative image(s) for each of the clusters; and
,predictively coding each of the partitions in the non-representative images for each of the clusters using the reference partition(s) in the representative image(s) for that cluster as a reference partition(s).
-
-
31. The method as set forth in claim 31, further including the step of subdividing, for each cluster, each partition of each non-representative image into a plurality of smaller target blocks, and each partition of the representative image(s) into a plurality of smaller reference blocks having the same size as the target blocks, wherein the predictively coding step is carried out, for each cluster, by:
-
for each of the target blocks, comparing the pixels of that target block to the pixels of each of the same-sized reference blocks in the reference partition(s) according to a prescribed search metric, and producing an error metric value for each comparison made;
for each of the target blocks, determining whether the value of any of the error metric values produced is less than a prescribed maximum threshold value, and;
if so, identifying the one of the same-sized reference blocks that constitutes the best match for that target block, and, if not, independently coding that target block. - View Dependent Claims (32, 33)
-
-
34. A method for compressing a set of images, including the steps of:
-
subdividing each image into a two or more partitions;
grouping the partitions into at least two clusters based on image similarity according to at least one similarity measure;
identifying at least one representative partition for each cluster of partitions, all other partitions within each of the clusters being identified as non-representative partitions;
independently coding the representative partition(s) for each of the clusters; and
,predictively coding each of the non-representative partitions in each of the clusters using the representative partition(s) for that cluster as a reference partition(s).
-
-
35. The method as set forth in claim 35, further including the step of subdividing, for each cluster, each non-representative partition into a plurality of smaller target blocks, and the reference partition(s) into a plurality of smaller reference blocks having the same size as the target blocks, wherein the predictively coding step is carried out, for each cluster, by:
-
for each of the target blocks, comparing the pixels of that target block to the pixels of each of the same-sized reference blocks in the reference partition(s) according to a prescribed search metric, and producing an error metric value for each comparison made;
for each of the target blocks, determining whether the value of any of the error metric values produced is less than a prescribed maximum threshold value, and;
if so, identifying the one of the same-sized reference blocks that constitutes the best match for that target block, and, if not, independently coding that target block. - View Dependent Claims (36, 37, 38, 39)
-
Specification