← Back to Patent Explorer
US6246777B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Compression-tolerant watermarking scheme for image authentication

Assignee: International Business Machines Corp
•
Filing: 1999-03-19
•
Granted: 2001-06-12
•
Expires: 2019-03-19
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A verification system for still images that embeds a watermark so that no visual artifacts are created in the images and thus maintains the visual quality of the image. The algorithm embeds information in an uncompressed image so as to later detect the alteration of the image, as well as the location of the alteration. The embedding of information into a source image is based on a defined mapping process. An image plane consists of macroblocks, which are themselves comprised of microblocks. A code is embedded corresponding to the value of this image property in each macroblock. The specific sequence of microblocks used for embedding this information in the watermarking image plane is a unique function of this property for the corresponding set of microblocks in the indexing image plane. This information can be later decoded from the stamped image. The watermark is embedded by combining the pixel values of the image with the watermark. The watermark is altered if the image is altered.

Inventors

  • 👤 Saurabh Agarwal
  • 👤 Alok Aggarwal
  • 👤 Harpal Singh Bassali
  • 👤 Jatin Chhugani
  • 👤 Pradeep Kumar Dubey

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 10:16
CPC Classifications
G; G06; G06T; G06T1/00; G06T1/0021; G06T1/005; G06T1/0057; G06T2201/00; G06T2201/005; G06T2201/0051

Claims Analysis

Total Claims: 30
Claim 1
Independent Claim 81 words
A method for embedding a watermark onto a digitized image, comprising the steps of: calculating a secret key used for embedding the watermark; splitting the digitized image into constituent planes; splitting each constituent plane into a plurality of microblocks based upon the secret key, the microblocks having a shape of a rectilinear polygon; grouping the microblocks into a plurality of macroblocks based upon the secret key, the macroblocks being a group of microblocks; and watermarking each macroblock while diffusing the error.
Claim 2
Independent Claim 81 words
A method for embedding a watermark onto a digitized image, comprising the steps of: calculating a secret key used for embedding the watermark; splitting the digitized image into constituent planes; splitting each constituent plane into a plurality of microblocks based upon the secret key, the microblocks having a shape of a rectilinear polygon; grouping the microblocks into a plurality of macroblocks based upon the secret key, the macroblocks being a group of microblocks; and watermarking each macroblock while diffusing the error.
Claim 3
Dependent Claim 50 words
The method according to claim 1 , wherein the step of calculating a secret key comprises the steps of: calculating an initial key from a seed value and a mapping function, the seed value being derived from image dependent/independent parameters; and encrypting the initial key to form the secret key.
Claim 4
Dependent Claim 49 words
The method according to claim 1 , wherein the step of splitting each constituent plane into microblocks comprises the steps of: leaving an offset in each constituent plane based upon the secret key; and dividing each constituent plane into a plurality of non-overlapping microblocks of a rectilinear polygon shape.
Claim 5
Dependent Claim 31 words
The method according to claim 3 , wherein an offset is left in a region in each of the constituent planes having the lowest information content, based upon the secret key.
Claim 6
Dependent Claim 244 words
The method according to claim 1 , wherein the step of grouping the microblocks into a plurality of macroblocks comprises the steps of: choosing the constituent plane with the smallest size as an indexing plane (IP) and choosing the remaining constituent planes as watermarking planes (WPs); determining a value representative of the IP; dividing the value representative of the IP into non-overlapping intervals of a size substantially equal to twice the amount by which the change in microblock property value will not exceed; determining a value representative of a WP; dividing the value representative of the WP into non-overlapping intervals of size substantially equal to the amount by which the change in microblock property value will not normally exceed; mapping each of the non-overlapping intervals into a 0 or 1 bit; manipulating a property value of each microblock in each of the constituent planes to be a mid value of its non-overlapping interval by manipulating each of a plurality values that correspond to a plurality of pixels in the microblock; selecting one of the WPs; duplicating the IP to make it substantially the same size as the WP; forming a free list of the microblocks in the IP and the selected WP, the free list being a list of microblocks in the IP and the selected WP that have not been grouped into a macroblock; and grouping the microblocks of the selected WP into macroblocks until no more microblocks can be grouped into macroblocks.
Claim 7
Dependent Claim 54 words
The method according to claim 5 , wherein the step of forming a free list comprises the steps of: selecting a microblock in a selected constituent plane on the basis of the secret key; appending the selected microblock to the free list; and repeating the selecting and appending steps until all microblocks are exhausted.
Claim 8
Dependent Claim 130 words
The method according to claim 5 , wherein the step of grouping the microblocks comprises the steps of: selecting an initial microblock in the IP free list based on the secret key; selecting an initial microblock in the WP free list based on a spatial correspondence function of the selected IP microblock; appending the selected WP microblock to a selected WP macroblock; selecting a next IP microblock using a mapping function and a property value of a current IP microblock; selecting a next WP microblock in the WP free list based on the spatial correspondence function of the selected IP microblock; deleting the used IP and WP microblocks; and repeating the selecting a next IP microblock, selecting a next WP microblock and appending steps until the current macroblock is complete.
Claim 9
Dependent Claim 250 words
The method according to claim 1 , wherein the step of grouping the microblocks into a plurality of macroblocks comprises the steps of: splitting each of the constituent image planes into two portions on the basis of the secret key, the two portions being an indexing plane (IP) and a watermarking plane (WP); choosing a smaller portion of each constituent image plane as the IP; dividing a value representative of the IP into a plurality of non-overlapping intervals of a size substantially equal to twice the amount by which the change in microblock property value will not exceed; dividing a value representative of the WP into a plurality of non-overlapping intervals of a size substantially equal to the amount by which the change in microblock property value will not exceed; mapping each of the non-overlapping intervals into a 0 or 1 bit; manipulating a property value of each microblock in each of the constituent planes to be a mid value of the non-overlapping interval by changing each of a plurality values that correspond to a plurality of pixels in the microblock; duplicating the IP in order to make it substantially the same size as the WP; forming a free list of the microblocks in the IP and the selected WP, the free list being a list of microblocks in the IP and the WP that have not been grouped into a macroblock; and grouping the microblocks of the WP into macroblocks until no more microblocks can be grouped into macroblocks.
Claim 10
Dependent Claim 53 words
The method according to claim 8 , wherein the step of forming a free list comprises the steps of: selecting a microblock in an image portion on the basis of the secret key; appending the selected microblock to the free list; and repeating the selecting and appending steps until all microblocks are used.
Claim 11
Dependent Claim 135 words
The method according to claim 8 , wherein the step of grouping the microblocks comprises the steps of: selecting an initial microblock in the IP free list based on the secret key; selecting an initial microblock in the WP free list based on a spatial correspondence function of the selected IP microblock; appending the selected WP microblock to the current WP macroblock; selecting a next IP microblock using a mapping function and the property value of the current IP microblock; selecting a next WP microblock in the WP free list based on the spatial correspondence function of the selected IP microblock; deleting the IP and WP microblocks that have been grouped into macroblocks; and repeating the selecting a next IP microblock, selecting a next WP microblock and appending steps until the current macroblock is complete.
Claim 12
Dependent Claim 48 words
The method according to claim 1 , wherein the step of watermarking each macroblock comprises the steps of: calculating a property value of the macroblock; quantizing the property value; encrypting the property value based on the secret key; and embedding a one bit in each of the microblocks.
Claim 13
Dependent Claim 113 words
The method according to claim 11 , wherein the one bit is stored in each of the microblocks in accordance with the following steps: checking a microblock property value to determine if the property value corresponds to a value of the one bit to be stored; storing the one bit in a microblock having an unmodified property value when the unmodified property value corresponds to the bit to be embedded; storing the one bit in a microblock having a modified property value when the modified property value corresponds to the one bit to be embedded; and selecting a next microblock and repeating the checking and both storing steps until no more microblocks remain.
Claim 14
Independent Claim 67 words
A method for extracting a watermark from the obtained digitized image, comprising the steps of: calculating a secret key; splitting an image into constituent planes; splitting each constituent plane into a plurality of microblocks based upon the secret key; grouping the microblocks into a plurality of macroblocks based upon the secret key, the macroblocks being groups of microblocks; and verifying each macroblock by recovering the embedded watermark.
Claim 15
Independent Claim 67 words
A method for extracting a watermark from the obtained digitized image, comprising the steps of: calculating a secret key; splitting an image into constituent planes; splitting each constituent plane into a plurality of microblocks based upon the secret key; grouping the microblocks into a plurality of macroblocks based upon the secret key, the macroblocks being groups of microblocks; and verifying each macroblock by recovering the embedded watermark.
Claim 16
Dependent Claim 50 words
The method according to claim 13 , wherein the step of calculating a secret key comprises the steps of: calculating an initial key from a seed value and a mapping function, the seed value being derived from image dependent/independent parameters; and encrypting the initial key to form the secret key.
Claim 17
Dependent Claim 49 words
The method according to claim 13 , wherein the step of splitting each constituent plane into microblocks comprises the steps of: leaving an offset in each constituent plane based upon the secret key; and dividing each constituent plane into a plurality of non-overlapping microblocks of a rectilinear polygon shape.
Claim 18
Dependent Claim 31 words
The method according to claim 15 , wherein an offset is left in a region in each of the constituent planes having the lowest information content, based upon the secret key.
Claim 19
Dependent Claim 244 words
The method according to claim 13 , wherein the steps of grouping the microblocks into a plurality of macroblocks comprises the steps of: choosing the constituent plane with the smallest size as an indexing plane (IP) and choosing the remaining constituent planes as watermarking planes (WP); determining a value representative of the IP; dividing the value representative of the IP into non-overlapping intervals of a size substantially equal to twice the amount by which the change in microblock property value will not exceed; determining a value representative of the WP; dividing the value representative of the WP into non-overlapping intervals of size substantially equal to the amount by which the change in microblock property value will not normally exceed; mapping each of the non-overlapping intervals into a 0 or 1 bit; manipulating a property value of each microblock in each of the constituent planes to be a mid value of its non-overlapping interval by manipulating each of a plurality values that correspond to a plurality of pixels in the microblock; selecting one of the WP; duplicating the IP to make it substantially the same size as the WP; forming a free list of the microblocks in the IP and the selected WP, the free list being a list of microblocks in the IP and the selected WP that have not been grouped into a macroblock; and grouping the microblocks of the selected WP into macroblocks until no more microblocks can be grouped into macroblocks.
Claim 20
Dependent Claim 54 words
The method according to claim 17 , wherein the step of forming a free list comprises the steps of: selecting a microblock in a selected constituent plane on the basis of the secret key; appending the selected microblock to the free list; and repeating the selecting and appending steps until all microblocks are exhausted.
Claim 21
Dependent Claim 130 words
The method according to claim 17 , wherein the step of grouping the microblocks comprises the steps of: selecting an initial microblock in the IP free list based on the secret key; selecting an initial microblock in the WP free list based on a spatial correspondence function of the selected IP microblock; appending the selected WP microblock to a selected WP macroblock; selecting a next IP microblock using a mapping function and a property value of a current IP microblock; selecting a next WP microblock in the WP free list based on the spatial correspondence function of the selected IP microblock; deleting the used IP and WP microblocks; and repeating the selecting a next IP microblock, selecting a next WP microblock and appending steps until the current macroblock is complete.
Claim 22
Dependent Claim 251 words
The method according to claim 13 , wherein the step of grouping the microblocks into a plurality of macroblocks comprises the steps of: splitting each of the constituent image planes into two portions on the basis of the secret key, the two portions being an indexing plane (IP) and a watermarking plane (WP); choosing a smaller portion of each constituent image plane as the IP; dividing a value representative of the IP into a plurality of non-overlapping intervals of a size substantially equal to twice the amount by which the change in microblock property value will not exceed; dividing a value representative of the WP into a plurality of non-overlapping intervals of a size substantially equal to the amount by which the change in microblock property value will not exceed; mapping each of the non-overlapping intervals into a 0 or 1 bit; manipulating a property value of each microblock in each of the constituent planes to be a mid value of the non-overlapping interval by changing each of a plurality values that correspond to a plurality of pixels in the microblock; duplicating the IP in order to make it substantially the same size as the WP; forming a free list of the microblocks in the IP and the selected WP, the free list being a list of microblocks in the IP and the WP that have not been grouped into a macroblock; and grouping the microblocks of the watermarking portion into macroblocks until no more microblocks can be grouped into macroblocks.
Claim 23
Dependent Claim 53 words
The method according to claim 20 , wherein the step of forming a free list comprises the steps of: selecting a microblock in an image portion on the basis of the secret key; appending the selected microblock to the free list; and repeating the selecting and appending steps until all microblocks are used.
Claim 24
Dependent Claim 135 words
The method according to claim 20 , wherein the step of grouping the microblocks comprises the steps of: selecting an initial microblock in the IP free list based on the secret key; selecting an initial microblock in the WP free list based on a spatial correspondence function of the selected IP microblock; appending the selected WP microblock to the current WP macroblock; selecting a next IP microblock using a mapping function and the property value of the current IP microblock; selecting a next WP microblock in the WP free list based on the spatial correspondence function of the selected IP microblock; deleting the IP and WP microblocks that have been grouped into macroblocks; and repeating the selecting a next IP microblock, selecting a next WP microblock and appending steps until the current macroblock is complete.
Claim 25
Dependent Claim 145 words
The method according to claim 13 , wherein the step of verifying each macroblock comprises the steps of: calculating a property value of the macroblock; selecting a microblock within the macroblock; determining a value of a bit embedded in the selected microblock; repeating the steps of selecting and determining for the remaining microblocks; determining a bit sequence resulting from the picking and determining steps; decrypting the bit sequence; extracting a value embedded in the decrypted bit sequence; comparing the property value of the macroblock with the value of the decrypted sequence; and accepting the macroblock if the difference between the property value of the microblock and the value of the decrypted sequence is less than an allowable error or rejecting the macroblock if the difference between the property value of the microblock and the value of the decrypted sequence is greater than an allowable error.
Claim 26
Dependent Claim 123 words
A computer program product comprising a computer usable medium having computer readable program code embodied in the medium for embedding a watermark onto a digitized image, the computer program product having: first computer program code for calculating a secret key used for embedding the watermark; second computer program code for splitting the digitized image into constituent planes; third computer program code for splitting each constituent plane into a plurality of microblocks based upon the secret key, the microblocks having a shape of a rectilinear polygon; fourth computer program code for grouping the microblocks into a plurality of macroblocks based upon the secret key, the macroblocks being a group of microblocks; and fifth computer program code for watermarking each macroblock while diffusing the error.
Claim 27
Dependent Claim 123 words
A computer program product comprising a computer usable medium having computer readable program code embodied in the medium for embedding a watermark onto a digitized image, the computer program product having: first computer program code for calculating a secret key used for embedding the watermark; second computer program code for splitting the digitized image into constituent planes; third computer program code for splitting each constituent plane into a plurality of microblocks based upon the secret key, the microblocks having a shape of a rectilinear polygon; fourth computer program code for grouping the microblocks into a plurality of macroblocks based upon the secret key, the macroblocks being a group of microblocks; and fifth computer program code for watermarking each macroblock while diffusing the error.
Claim 28
Dependent Claim 63 words
The computer program product according to claim 24 , wherein the first computer program code for calculating a secret key further comprises: sixth computer program code for calculating an initial key from a seed value and a mapping function, the seed value being derived from image dependent/independent parameters; and seventh computer program code for encrypting the initial key to form the secret key.
Claim 29
Dependent Claim 65 words
The computer program product according to claim 24 , wherein the third computer program code for splitting each constituent plane into a plurality of microblocks further comprises: eighth computer program code for leaving an offset in each constituent plane based upon the secret key; and ninth computer program code for dividing each constituent plane into a plurality of non-overlapping microblocks of a rectilinear polygon shape.
Claim 30
Dependent Claim 302 words
The computer program product according to claim 24 , wherein the fourth computer program code for grouping the microblocks into a plurality of macroblocks further comprises: tenth computer program code for choosing the constituent plane with the smallest size as an indexing plane (IP) and choosing the remaining constituent planes as watermarking planes (WPs); eleventh computer program code for determining a value representative of the IP; twelfth computer program code for dividing the value representative of the IP into non-overlapping intervals of a size substantially equal to twice the amount by which the change in microblock property value will not exceed; thirteenth computer program code for determining a value representative of a WP; fourteenth computer program code for dividing the value representative of the WP into non-overlapping intervals of size substantially equal to the amount by which the change in microblock property value will not normally exceed; fifteenth computer program code for mapping each of the non-overlapping intervals into a 0 or 1 bit; sixteenth computer program code for manipulating a property value of each microblock in each of the constituent planes to be a mid value of its non-overlapping interval by manipulating each of a plurality values that correspond to a plurality of pixels in the microblock; seventeenth computer program code for selecting one of the WPs; eighteenth computer program code for duplicating the IP to make it substantially the same size as the WP; nineteenth computer program code for forming a free list of the microblocks in the IP and the selected WP, the free list being a list of microblocks in the IP and the selected WP that have not been grouped into a macroblock; and twentieth computer program code for grouping the microblocks of the selected WP into macroblocks until no more microblocks can be grouped into macroblocks.

References Cited (Backward Citations)

US6163842A Cited
US5530759A Cited
US5708717A Cited
US5905800A Cited
US5901178A Cited
US5875249A Cited
US5960081A Cited
US6037984A Cited
US6064764A Cited
US6021196A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2004-06-11 2004-12-11 2005-06-12 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2008-06-11 2008-12-11 2009-06-12 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2012-06-11 2012-12-11 2013-06-12 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag