IP Library Granted Patent US 11,343,402
Granted Patent B2
US 11,343,402 · App. 16/840,909 · Granted May 24, 2022

Semi-transparent embedded watermarks

Inventors: Abdullah Hassan Gharaibeh (Kitchener, CA); Michal Dabrowski (Warsaw, PL); Ryan Matthew Haggarty (Kitchener, CA); Igor Foox-Rapoport (Kitchener, CA); Wan Wang (Bellevue, WA); Duncan Geoffrey Hector Wood (New York, NY); Dany Kuminov (Kitchener, CA); Matthew Young-Lai (Kitchener, CA); Bhavin Vyas (Milpitas, CA); George Jacob Levitte (New York, NY); Jean Semere (Paris, FR)
Assignee: Google LLC
H04N1/32331G06F21/16G06T1/0021G06T1/0028H04N1/32203H04N1/32208H04N1/32229H04N1/32251H04N1/32293H04N1/32309H04N19/423H04N21/42684H04N21/8358G06T2201/0051G06T2201/0083H04N2201/3233
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,343,402
App. No.
16/840,909
Granted
May 24, 2022
Kind
B2
Abstract

A watermark image may be generated that includes a first set of encoded pixels each of which is assigned a first transparency value and a second set of encoded pixels each of which is assigned a second transparency value, the second transparency level being different from the first transparency level. The encoded pixels may be distributed among a set of blank pixels such that each encoded pixel neighbors one or more blank pixels in the watermark image, and in particular at least two blank pixels in the watermark image. Herein, each blank pixel may be assigned the second transparency value. The watermark image may be overlaid and blended over a background source image to create an encoded source image. A decoder system may recover encoded information from the encoded source image.

Claims (49)

1. A method, comprising:

receiving an encoded image at a computing system, wherein the encoded image includes a set of encoded pixels that encode data in the encoded image, and each encoded pixel encodes a portion of the data and is associated with a respective set of one or more non-encoded pixels located at pre-defined positions of the encoded image relative to the encoded pixel, wherein the sets of non-encoded pixels are interspersed among the set of encoded pixels and form spaces between the set of encoded pixels;

for each encoded pixel in the set of encoded pixels, decoding a value represented by the encoded pixel by comparing a color of the encoded pixel to colors of the respective set of non-encoded pixels located at the pre-defined positions relative to the encoded pixel; and

using the values decoded from the set of encoded pixels to recover data that was encoded in the encoded image.

2. The method of claim 1 , wherein the encoded image results from blending a semi-transparent watermark image over a background source image, wherein the semi-transparent watermark image contains an initial set of encoded pixels and an initial set of non-encoded pixels.

3. The method of claim 2 , wherein:

the initial set of encoded pixels in the semi-transparent watermark image each encodes one of a first value or a second value;

pixels from the initial set of encoded pixels that are encoded with the first value are assigned a first transparency value;

pixels from the initial set of encoded pixels that are encoded with the second value are assigned a second transparency value; and

pixels from the initial set of non-encoded pixels are assigned the second transparency value.

4. The method of claim 3 , wherein:

pixels from the initial set of encoded pixels that are encoded with the first value are colored a first color; and

pixels from the initial set of encoded pixels that are encoded with the second value are colored a second color.

5. The method of claim 4 , wherein the first color is black, the first transparency value is a semi-transparent value, and the second transparency value is a fully transparent value.

6. The method of claim 1 , wherein the respective set of non-encoded pixels for each encoded pixel in the encoded image are located adjacent to the encoded pixel and at least one of the non-encoded pixels for each encoded pixel is located between the encoded pixel and another encoded pixel in the set of encoded pixels.

7. The method of claim 1 , wherein using the values decoded from the set of encoded pixels to recover the data that was encoded in the encoded image comprises recovering a watermark from the encoded image.

8. The method of claim 1 , wherein decoding the value represented by the encoded pixel by comparing a color of the encoded pixel to colors of the respective set of non-encoded pixels located in the pre-defined positions relative to the encoded pixel comprises (i) assigning a first decoded value to the encoded pixel if the color of the encoded pixel is determined to be within a defined tolerance of the colors of the respective set of non-encoded pixels, or (ii) assigning a second decoded value to the encoded pixel if the color of the encoded pixel is determined not to be within the defined tolerance of the colors of the respective set of non-encoded pixels.

9. The method of claim 1 , wherein decoding the value represented by the encoded pixel by comparing a color of the encoded pixel to colors of the respective set of non-encoded pixels located in the pre-defined positions relative to the encoded pixel comprises:

determining an average of the colors of the respective set of non-encoded pixels; and

comparing the color of the encoded pixel to the average of the colors of the respective set of non-encoded pixels.

10. The method of claim 1 , wherein decoding the value represented by the encoded pixel by comparing a color of the encoded pixel to colors of the respective set of non-encoded pixels located in the pre-defined positions relative to the encoded pixel comprises:

comparing the color of the encoded pixel to the respective color of each non-encoded pixel in the respective set of non-encoded pixels; and

assigning a first decoded value or a second decoded value to the encoded pixel according to whether the color of the encoded pixel is within a defined tolerance of the respective color of at least a threshold number of non-encoded pixels in the respective set of non-encoded pixels.

11. A system, comprising:

one or more processors; and

one or more computer-readable media having instructions stored thereon that, when executed by the one or more processors, cause performance of operations comprising:

receiving an encoded image at a computing system, wherein the encoded image includes a set of encoded pixels that encode data in the encoded image, and each encoded pixel encodes a portion of the data and is associated with a respective set of one or more non-encoded pixels located at pre-defined positions of the encoded image relative to the encoded pixel, wherein the sets of non-encoded pixels are interspersed among the set of encoded pixels and form spaces between the set of encoded pixels;

for each encoded pixel in the set of encoded pixels, decoding a value represented by the encoded pixel by comparing a color of the encoded pixel to colors of the respective set of non-encoded pixels located at the pre-defined positions relative to the encoded pixel; and

using the values decoded from the set of encoded pixels to recover data that was encoded in the encoded image.

12. The system of claim 11 , wherein the encoded image results from blending a semi-transparent watermark image over a background source image, wherein the semi-transparent watermark image contains an initial set of encoded pixels and an initial set of non-encoded pixels.

13. The system of claim 12 , wherein:

the initial set of encoded pixels in the semi-transparent watermark image each encodes one of a first value or a second value;

pixels from the initial set of encoded pixels that are encoded with the first value are assigned a first transparency value;

pixels from the initial set of encoded pixels that are encoded with the second value are assigned a second transparency value; and

pixels from the initial set of non-encoded pixels are assigned the second transparency value.

14. The system of claim 13 , wherein:

pixels from the initial set of encoded pixels that are encoded with the first value are colored a first color; and

pixels from the initial set of encoded pixels that are encoded with the second value are colored a second color.

15. The system of claim 14 , wherein the first color is black, the first transparency value is a semi-transparent value, and the second transparency value is a fully transparent value.

16. The system of claim 11 , wherein the respective set of non-encoded pixels for each encoded pixel in the encoded image are located adjacent to the encoded pixel and at least one of the non-encoded pixels for each encoded pixel is located between the encoded pixel and another encoded pixel in the set of encoded pixels.

17. The system of claim 11 , wherein using the values decoded from the set of encoded pixels to recover the data that was encoded in the encoded image comprises recovering a watermark from the encoded image.

18. The system of claim 11 , wherein decoding the value represented by the encoded pixel by comparing a color of the encoded pixel to colors of the respective set of non-encoded pixels located in the pre-defined positions relative to the encoded pixel comprises (i) assigning a first decoded value to the encoded pixel if the color of the encoded pixel is determined to be within a defined tolerance of the colors of the respective set of non-encoded pixels, or (ii) assigning a second decoded value to the encoded pixel if the color of the encoded pixel is determined not to be within the defined tolerance of the colors of the respective set of non-encoded pixels.

19. The system of claim 11 , wherein decoding the value represented by the encoded pixel by comparing a color of the encoded pixel to colors of the respective set of non-encoded pixels located in the pre-defined positions relative to the encoded pixel comprises:

determining an average of the colors of the respective set of non-encoded pixels; and

comparing the color of the encoded pixel to the average of the colors of the respective set of non-encoded pixels.

20. One or more non-transitory computer-readable media having instructions stored thereon that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

receiving an encoded image at a computing system, wherein the encoded image includes a set of encoded pixels that encode data in the encoded image, and each encoded pixel encodes a portion of the data and is associated with a respective set of one or more non-encoded pixels located at pre-defined positions of the encoded image relative to the encoded pixel, wherein the sets of non-encoded pixels are interspersed among the set of encoded pixels and form spaces between the set of encoded pixels;

for each encoded pixel in the set of encoded pixels, decoding a value represented by the encoded pixel by comparing a color of the encoded pixel to colors of the respective set of non-encoded pixels located at the pre-defined positions relative to the encoded pixel; and

using the values decoded from the set of encoded pixels to recover data that was encoded in the encoded image.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2020
From: GHARAIBEH, ABDULLAH HASSAN; DABROWSKI, MICHAL; HAGGARTY, RYAN MATTHEW; FOOX-RAPOPORT, IGOR; WANG, WAN; WOOD, DUNCAN GEOFFREY HECTOR; KUMINOV, DANY; YOUNG-LAI, MATTHEW; VYAS, BHAVIN; LEVITTE, GEORGE JACOB; SEMERE, JEAN
To: GOOGLE INC.
Reel/Frame 052601/0572 →
CHANGE OF NAME Recorded May 7, 2020
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 052603/0754 →
Priority Claims (1)
IL 251149 · Mar 14, 2017 · national
Continuity (2)
Continuation 15712395 · Sep 22, 2017
Related Publication 20200304678A1 · Sep 24, 2020