Protecting images with an image watermark
First Claim
1. A method for imparting a watermark onto a digitized image, said method comprising:
- providing a digitized image having at least one image plane, said image plane being represented by an image array having a plurality of pixels, each pixel in said plurality of pixels having at least one color component, said watermark being formed using a distinct watermarking plane represented by an array having a plurality of distinct watermarking elements, each of said distinct watermarking elements having an array position and having one-to-one positional correspondence with said image pixels, andmultiplying brightness data associated with said at least one color component by a predetermined brightness multiplying factor, wherein said brightness multiplying factor is a corresponding distinct watermarking element, and said watermark has a invisibility classification, wherein said brightness multiplying factor has a relationship with a number taken from a random number sequence.
3 Assignments
0 Petitions
Accused Products
Abstract
A robust means of watermarking a digitized image with a highly random sequence of pixel brightness multipliers is presented. The random sequence is formed from ‘robust-watermarking-parameters’ selected and known only by the marker and/or the marking entity. A watermarking plane is generated having an element array with one-to-one element positional correspondence with the pixels of the digitized image being marked. Each element of the watermarking plane is assigned a random value dependent upon a robust random sequence and a specified brightness modulation strength. The so generated watermarking plane is imparted onto the digitized image by multiplying the brightness value or values of each pixel by its corresponding element value in the watermarking plane. The resulting modified brightness values impart the random and relatively invisible watermark onto the digitized image. Brightness modulation is the essence of watermark imparting. Detection of an imparted watermark requires knowing the watermarking plane with which the watermark was imparted. Regeneration of the watermarking plane requires knowledge of the robust-marking-parameters used in its formulation. This is generally only known to the marker and/or marking entity. Once regenerated, the watermarking plane is used together with a verifying image located in a ‘visualizer’ to demonstrate the existence of the watermark. The process of watermark detection is enhanced by application of a blurring filter to the marked image before detection is attempted.
-
Citations
72 Claims
-
1. A method for imparting a watermark onto a digitized image, said method comprising:
-
providing a digitized image having at least one image plane, said image plane being represented by an image array having a plurality of pixels, each pixel in said plurality of pixels having at least one color component, said watermark being formed using a distinct watermarking plane represented by an array having a plurality of distinct watermarking elements, each of said distinct watermarking elements having an array position and having one-to-one positional correspondence with said image pixels, and multiplying brightness data associated with said at least one color component by a predetermined brightness multiplying factor, wherein said brightness multiplying factor is a corresponding distinct watermarking element, and said watermark has a invisibility classification, wherein said brightness multiplying factor has a relationship with a number taken from a random number sequence. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for imparting a watermark onto a digitized image comprising the steps of:
-
providing said digitized image comprised of a plurality of pixels, wherein each of said pixels includes brightness data that represents a brightness of at least one color; and altering said brightness data associated with a plurality of said pixels maintaining the hue and saturation of said pixel, wherein said image has I rows and J columns, and has a pixel in row i and column j having at least one brightness, Y(i,j), and the step of altering includes;
adding to or subtracting from the brightness Y(i,j) a different small random value e(i,j), wherein I<
i<
I and I<
j<
J are the row and column indices of a pixel location in the image, andwherein color components of the unaltered pixel are X(i,j), Y(i,j), and Z(i,j), and color components of the brightness altered pixel are X′
(i,j), Y′
(i,j), and Z′
(i,j), and the step of adding to or subtracting from includes setting e(i,j)=d(i,j)Y(i,j), where d(i,j) is a value selected from an array of random values within a range of 0<
=d(i,j)<
=1, such that the modified brightness Y′
(i,j)=Y(i,j)+e(i,j)=Y(i,j)+d(i,j)Y(i,j), and X′
(i,j)/X(i,j)=Z′
(i,j)/Z(i,j)=Y′
(i,j)/Y(i,j)=e(i,j)=1−
d(i,j).- View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. A method for imparting a watermark onto a digitized image comprising the steps of:
-
providing said digitized image comprised of a plurality of pixels, wherein each of said pixels includes brightness data that represents a brightness of at least one color, with said image having I rows and J columns, and a pixel in row i and column j having a brightness Y(i,j); and for a plurality i and at least one j adding to or subtracting from the brightness Y(i,j) a random value e(i,j), wherein 1 I and J are the row and column indices of a pixel location in the image, wherein e(i,j) is in the domain 0 to 1 multiplied by Y(i,j).
-
-
14. A method for detecting a watermark in a marked image, said method comprising:
providing said marked image marked by a watermarking plane, said marked image having at least one color plane including a plurality of image pixels, said watermarking plane having a plurality of watermarking elements, wherein each of said image pixels has at least one brightness value and each of said watermarking elements has a brightness adding and/or subtracting factor, including the steps of; (a) reconstructing said watermarking plane; (b) aligning said watermarking plane with said marked image such that each watermarking element has a corresponding image pixel; (c) providing a selector array and a visualizer image of equal size, wherein said selector array has a plurality of selector elements each having at least one counter, and wherein said visualizer image has a plurality of visualizer pixels each having at least one brightness value, and wherein said visualizer pixels represent a recognizable pattern when displayed; (d) resetting said at least one counter to zero; (e) plating said selector in an initial position by aligning said selector elements with a plurality of corresponding image pixels and a plurality of corresponding watermarking elements; (f) choosing a selector element and identifying a corresponding watermarking element; (g) identifying a first plurality of watermarking elements that neighbor said corresponding watermarking element; (h) generating a first average tat represents an average of brightness adding and/or subtracting factors of said first plurality of watermarking elements; (i) choosing a color plane of said marked image and finding a corresponding image pixel; (j) identifying a first plurality of neighboring pixels that neighbor said corresponding image pixel; (k) generating a second average that represents an average of brightness values of said first plurality of neighboring pixels; (l) updating said at least one counter based upon first and second comparison operations, wherein said first comparison operation compares said first average with said brightness adding and/or subtracting factor of said corresponding watermarking element and said second comparison operation compares said second average with said brightness value of said corresponding pixel; (m) repeating steps (i) through (l) for all color planes; (n) repeating steps (f) through (m) for all selector elements; (o) choosing a new selector position that does not overlap any previous selector position; (p) repeating steps (f) through (o) for all non-overlapping selector positions; and (q) generating a visual representation indicating detection of said watermark in said marked image utilizing said at least one counter of said selector array and said visualizer pixels, wherein the step of aligning said watermarking plane with said marked image includes altering said marked image employing a blurring filter. - View Dependent Claims (15)
-
16. A method for detecting a watermarking plane comprising the steps of:
-
providing an image having a plurality of image pixels, u(i,j), with said image having I rows and J columns, and a pixel in row i and column j having at least one component, marked by a watermarking plane;
said watermarking plane having a plurality of watermarking elements, w(i,j), with said watermarking plane having I rows and J columns, and an element in row i and column j having a brightness multiplying factor;aligning said watermarking plane with said image; identifying a subset of said image elements; for each pixel, u(i,j), of said subset of image pixels, generating a first value representing a relationship between an attribute of said pixel u(i,j) and an attribute of image pixels that neighbor said pixel u(i,j); identifying a watermarking element, w(i,j), that corresponds to said pixel u(i,j) and watermarking elements that correspond to said image pixels that neighbor said image pixel u(i,j); generating a second value representing a relationship between an attribute of said watermarking element w(i,j) and an attribute of the identified watermarking elements; and generating a coincidence value representing a likelihood that said image is marked by said watermarking plane based upon said first and second values. - View Dependent Claims (17, 18, 19, 20)
-
-
21. A method for imparting a watermark onto a digitized image comprising the steps of:
-
providing said digitized image comprised of a plurality of image pixels with said digitized image having I rows and J columns, and a pixel in row i and column j having at least one component, Y(i,j); and adding to or subtracting from said brightness data associated with at least one of said pixels a predetermined brightness adding factor in the range of 0 to Y(i,j), or brightness subtracting factor in the range of 0 to Y(i,j), wherein said brightness adding or subtracting factor has a relationship with a number taken from a random number sequence, said relationship is a linear remapping to provide a desired modulation strength, and said modulation strength is less than or equal to 50 percent. - View Dependent Claims (22)
-
-
23. A method for imparting a watermark onto a digitized image comprising the steps of:
-
providing said digitized image comprised of a plurality of image pixels with said image having I rows and J columns, and a pixel in row i and column j having at least one component, Y(i,j); and adding to or subtracting from said brightness data associated with at least one of said pixels by a predetermined brightness adding or subtracting factor in the range of 0 to Y(i,j), wherein said brightness adding or subtracting factor has a relationship with a number taken from a random number sequence, said relationship is a linear remapping to provide a desired modulation strength, said sequence is formed from a plurality of robust watermarking parameters, and said parameters comprise a cryptographic key, two coefficients and an initial value of said random number generator. - View Dependent Claims (24, 25)
-
-
26. A method for detecting a watermark, said method comprising:
-
providing a marked image having a plurality of image pixels said marked image being marked by a watermarking plane, having a plurality of watermark elements; aligning said watermarking plane with said marked image, and generating a coincidence value by averaging a detection coincidence for each selector element of a group of selector elements taken from said image pixels. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. A method for detecting a watermark imparted on an image, said method comprising:
-
providing said image having at least one image plane, said image plane being represented by an image array having a plurality of image elements, said watermark being formed using a watermarking plane represented by a watermarking array having a plurality of watermarking elements, each of said watermarking elements having a first array position and having one-to-one positional correspondence with said image elements; computing a first statistically related variable for each element of at least one first grouping of a first selector array of elements taken from said image elements, wherein each of said image elements has a second array position; computing a second statistically related variable for each element of at least one second grouping of a second selector array of elements taken from said watermarking elements, wherein each element of said second selector array of elements has one-to-one positional correspondence with said first selector array, and wherein said correspondence forms combinations of corresponding elements; comparing to determine an affirmative and non-affirmative likeness of said first and second statistically related variables for each of said combinations of corresponding elements; and forming at least one comparison array having one-to-one correspondence with said at least one first grouping and having a plurality of comparison elements, wherein each of said comparison elements contains a positive detection indication for each element of said first grouping when said step of comparing results in an affirmative likeness, and a negative detection indication for each element of said first grouping when said step of comparing results in a non-affirmative likeness. - View Dependent Claims (40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50)
-
-
51. A method comprising generating a visual representation of a data array of data elements having a data array size, including the steps of:
-
providing a visualizer pattern of visualizer pixels represented by a visualizer array of visualizer pixels, said visualizer array having a visualizer array size equal to said data array size; forming a visualizer-coincidence image of image pixels represented by an image array having an image array size equal to said visualizer array size; setting each said visualizer-coincidence pixel to the color of said corresponding visualizer pixel if a value of said corresponding data element is above a predetermined threshold and to another color if said value is below said predetermined threshold; and displaying said visualizer-coincidence image to form said visual representation. - View Dependent Claims (52, 53, 54, 55, 56)
-
-
57. A method for demonstrating an existence of a watermark in a marked image, said image having a plurality of image pixels, said method comprising:
-
providing a visualizer pattern represented by an array of visualizer elements, each of said visualizer elements corresponding with one pixel of a plurality of visualizer pixels and having a first value if said one pixel has a first color and a second value if said one pixel has a second color, said visualizer array having a visualizer array size; implementing a watermark detection scheme and computing a coincidence value for each of said image pixels within a plurality of pixel selector arrays taken from among said image pixels, each of said pixel selector arrays having a selector array size equal to said visualizer array size; forming a detection array from a plurality of coincidence values, wherein said detection array has a detection array size equal to said visualizer size; and computing a coincidence detection value for each of said visualizer elements such that said detection value represents a visualizer. - View Dependent Claims (58, 59)
-
-
60. A method for detecting a watermark in a marked image having a plurality of image pixels, said marked image marked by a watermarking plane having a plurality of watermarking elements, said method comprising:
-
providing a visualizer pattern having a plurality of visualizer pixels and a visualizer size; aligning said watermarking plane with said marked image such that each said image pixel has a corresponding watermarking element; generating a statistically related variable for each image element in a plurality of groupings of image elements in relationship with said corresponding watermarking element;
wherein each of said groupings has a grouping size equal to said visualizer size;averaging said variable for each element in a like position of all of said groupings to obtain a composite detection success value; and displaying detection success values by a plurality of visualizer-coincidence pixels having a size equal to said visualizer size, each said visualizer-coincidence pixel having a same color as said corresponding visualizer pixel when said corresponding success value indicates detection success and another color otherwise. - View Dependent Claims (61, 62, 63, 64)
-
-
65. A computer program product comprising a computer usable medium having computer readable program code means embodied therein for causing a watermark to be imparted into an image, the computer readable program code means in said computer program product comprising computer readable program code means for causing a computer to effect the steps of:
-
providing a digitized image having at least one image plane, said image plane being represented by an image array having a plurality of pixels, each of said pixels having at least one color component, said watermark being formed using a distinct watermarking plane represented by an array having a plurality of distinct watermarking elements, each of said distinct watermarking elements having an array position and having one-to-one positional correspondence wit said image pixels, and multiplying brightness data associated with said at least one color component by a predetermined brightness multiplying factor, wherein said brightness multiplying factor is a corresponding distinct watermarking element, and said watermark has a invisibility classification, wherein said distinct watermarking element, has a value being in the domain greater than or equal to zero and less than or equal to one.
-
-
66. A method of generating a visual representation of a data array of data elements having a data array size, said method comprising:
-
providing a visualizer pattern of visualizer pixels represented by a visualizer array of visualizer elements, said visualizer array having a visualizer array size equal to said data array size, wherein each of said visualizer elements has a first logical value if a corresponding visualizer pixel is a first color and a complementary logical value if said corresponding visualizer pixel has a second color; forming a data image of image pixels represented by an image array having an image array size equal to said data array size, wherein an image pixel has a corresponding data element and a corresponding visualizer pixel; setting said data pixel to a color of said corresponding visualizer pixel if a value of said data element is above a predetermined threshold and to another color if said value is below said predetermined threshold; and displaying said data image to form said visual representation. - View Dependent Claims (67, 68, 69, 70, 71)
-
-
72. A method for detecting a watermarking plane comprising the steps of:
-
providing an image having a plurality of image pixels, u(i,j), with said image having I rows and J columns, and a pixel in row i and column j having at least one component, marked by a watermarking plane;
said watermarking plane having a plurality of watermarking elements, w(i,j), with said watermarking plane having I rows and J columns, and an element in row i and column j having a brightness multiplying factor;aligning said watermarking plane with said image; identifying a subset of said image elements; and for each pixel, u(i,j), of said subset of image pixels, employing a detection scheme in determining a probability of watermark detection based on a property of uniform distribution of the random brightness multiplying factors or the random brightness adding or subtracting factors.
-
Specification