System and method for hashing digital images
First Claim
1. A computer-implemented method for hashing an image, comprising:
- transforming the image into an image transform;
randomly dividing the image transform into multiple tiles, each tile containing pixel data for multiple pixels;
averaging, for each of the tiles, the pixel data to produce corresponding tile averages;
generating, based in part on the tile averages, an exponential distribution having multiple distinct quantization levels;
randomly rounding each of the tile averages to one of the quantization levels to produce rounded values; and
hashing a composite of the rounded values.
3 Assignments
0 Petitions
Accused Products
Abstract
A system has an image store, a digital hashing unit, and a watermark encoder. A digital image hashing unit computes a hash value representative of a digital image in such a manner that visually similar images hash to the same hash value and visually distinct images hash to different values. The hash value is stored in an image hash table and is associated via the table with the original image. This image hash table can be used to index the image storage. A watermark encoder computes a watermark based on the hash value and a secret. Using both values renders the watermark resistant to BORE (Break Once, Run Everywhere) attacks because even if the global watermark secret is discovered, an attacker still needs the hash value of each image to successfully attack the image. The system can be configured to police the Internet to detect pirated copies. The system randomly collects images from remote Web sites and hashes the images using the same hashing function. The system then compares the image hashes to hashes of the original images. If the hashes match, the collected image is suspected as being a copy of the original.
-
Citations
19 Claims
-
1. A computer-implemented method for hashing an image, comprising:
-
transforming the image into an image transform;
randomly dividing the image transform into multiple tiles, each tile containing pixel data for multiple pixels;
averaging, for each of the tiles, the pixel data to produce corresponding tile averages;
generating, based in part on the tile averages, an exponential distribution having multiple distinct quantization levels;
randomly rounding each of the tile averages to one of the quantization levels to produce rounded values; and
hashing a composite of the rounded values. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer-implemented hashing method, comprising:
-
computing a hash value representative of a digital Image such that visually distinct images result in hash values that are approximately independent of one another and visually similar images result in identical hash values;
storing the hash value in relationship with the digital image;
watermarking the digital Image using, In part, the hash value to produce a watermarked image;
subsequently distributing the watermarked image over a network;
collecting an image from a remote site on the network;
computing a hash value of the image collected from the remote site;
comparing the hash value of the collected image with the stored hash value; and
identifying the collected image as a pirated version of the digital image if the hash values match.
-
-
13. A digital image hash system, comprising:
-
means for transforming an image into an image transform;
means for randomly dividing the image transform into multiple files, each tile containing pixel data for multiple pixels;
means for averaging, for each of the tiles, the pixel data to produce corresponding tile averages;
means for generating, based in part on the tile averages, an exponential distribution having multiple distinct quantization levels;
means for randomly rounding each of the tile averages to one of the quantization levels to produce rounded values; and
means for hashing a composite of the rounded values.
-
-
14. A computer-readable medium comprising computer-executable instructions, which when executed on a processor, direct a computer to:
-
transform an image into an image transform;
divide the image transform into multiple tiles, each tile containing pixel data for multiple pixels;
average, for each of the tiles, the pixel data to produce corresponding tile averages;
generate, based in part on the tile averages, an exponential distribution having multiple distinct quantization levels;
randomly round each of the tile averages to one of the quantization levels to produce rounded values; and
hash a composite of the rounded values. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification