IP Library Granted Patent US 7,756,289
Granted Patent B2
US 7,756,289 · App. 11/388,231 · Granted Jul 13, 2010

Image watermarking systems and methods

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 7,756,289
App. No.
11/388,231
Granted
Jul 13, 2010
Kind
B2
Abstract

A method of determining a location for a watermark on an image having an array of pixels, each pixel having image information associated therewith includes determining a size for the watermark. The size has a pixel height and a pixel width. The method also includes calculating a region brightness value for each of a plurality of regions of the image. Each of the plurality of regions has a pixel height and a pixel width equal to the pixel height and the pixel width of the watermark. Each of the plurality of regions includes a plurality of pixels and the brightness value is representative of the image information associated with the plurality of pixels comprised by the region. The method also includes selecting one of the plurality of regions as the location for the watermark. The selection is based, at least in part, on the brightness value for the region.

Claims (83)

1. A method of determining a location for a watermark on an image, wherein the image comprises an array of pixels, and wherein each pixel has image information associated therewith, the method comprising:

determining a size for the watermark, wherein the size has a pixel height and a pixel width;

calculating a region brightness value for each of a plurality of regions of the image, wherein each of the plurality of regions has a pixel height and a pixel width equal to the pixel height and the pixel width of the size of the watermark, wherein each of the plurality of regions comprises a plurality of pixels, and wherein the region brightness value is representative of the image information associated with the plurality of pixels comprised by the region, wherein calculating the region brightness value for each of the plurality of regions of the image comprises:

for a watermark of height h and width w, for a first column of pixels, calculating a row brightness value for each pixel in the column, wherein the row brightness value comprises a summation of image information for w contiguous pixels in the row;

for a first group of h contiguous pixels in the first column of pixels, calculating a region brightness value by summing the row brightness values for the h contiguous pixels in the first column of pixels;

for a second group of h contiguous pixels in the first column of pixels, calculating a region brightness value by adding one row brightness value and subtracting a different row brightness value;

for a second column of pixels, calculating a row brightness value for each pixel in the column by adding image information for one pixel and subtracting image information for a different pixel;

for a first group of h contiguous pixels in the second column of pixels, calculating a region brightness value by summing the row brightness values for the h contiguous pixels in the second column of pixels; and

for a second group of h contiguous pixels in the second column of pixels, calculating a region brightness value by adding one row brightness value and subtracting a different row brightness value;

selecting one of the plurality of regions as the location for the watermark, wherein the selection is based, at least in part, on the region brightness value; and

rendering the image and watermark on a display device.

2. The method of claim 1 , wherein the image information for each pixel comprises a grayscale value for the pixel.

3. The method of claim 2 , wherein the region brightness value for each of the plurality of regions comprises a cumulative grayscale value comprising a summation of the pixel grayscale values for the plurality of pixels in the region.

4. The method of claim 3 , wherein the image comprises a black-on-white image, and wherein selecting one of the plurality of regions comprises selecting a region having a highest cumulative grayscale value.

5. The method of claim 3 , wherein the image comprises a white-on-black image, and wherein selecting one of the plurality of regions comprises selecting a region having a lowest cumulative grayscale value.

6. The method of claim 1 , wherein the image information for each pixel comprises color information, wherein the method further comprises obtaining brightness information from the color information.

7. The method of claim 1 , wherein calculating a region brightness value for each of a plurality of regions of the image further comprises, at least in part:

for a first column of pixels, calculating a row brightness value for each pixel in the column, wherein the row brightness value comprises a summation of image information for h contiguous pixels in the row;

for a first group of w contiguous pixels in the first column of pixels, calculating a region brightness value by summing the row brightness values for the w contiguous pixels in the first column of pixels;

for a second group of w contiguous pixels in the first column of pixels, calculating a region brightness value by adding one row brightness value and subtracting a different row brightness value;

for a second column of pixels, calculating a row brightness value for each pixel in the column by adding image information for one pixel and subtracting image information for a different pixel;

for a first group of w contiguous pixels in the second column of pixels, calculating a region brightness value by summing the row brightness values for the w contiguous pixels in the second column of pixels; and

for a second group of w contiguous pixels in the second column of pixels, calculating a region brightness value by adding one row brightness value and subtracting a different row brightness value.

8. The method of claim 1 , wherein calculating a region brightness value for each of a plurality of regions of the image comprises, at least in part:

for a watermark of height h and width w, for a first row of pixels, calculating a column brightness value for each pixel in the row, wherein the column brightness value comprises a summation of image information for h contiguous pixels in the column;

for a first group of w contiguous pixels in the first row of pixels, calculating a region brightness value by summing the column brightness values for the w contiguous pixels in the first row of pixels;

for a second group of w contiguous pixels in the first row of pixels, calculating a region brightness value by adding one column brightness value and subtracting a different column brightness value;

for a second row of pixels, calculating a column brightness value for each pixel in the row by adding image information for one pixel and subtracting image information for a different pixel;

for a first group of w contiguous pixels in the second row of pixels, calculating a region brightness value by summing the column brightness values for the w contiguous pixels in the second row of pixels; and

for a second group of w contiguous pixels in the second row of pixels, calculating a region brightness value by adding one column brightness value and subtracting a different column brightness value.

9. The method of claim 8 , wherein calculating a region brightness value for each of a plurality of regions of the image further comprises, at least in part:

for a first row of pixels, calculating a column brightness value for each pixel in the row, wherein the column brightness value comprises a summation of image information for w contiguous pixels in the column;

for a first group of h contiguous pixels in the first row of pixels, calculating a region brightness value by summing the column brightness values for the h contiguous pixels in the first row of pixels;

for a second group of h contiguous pixels in the first row of pixels, calculating a region brightness value by adding one column brightness value and subtracting a different column brightness value;

for a second row of pixels, calculating a column brightness value for each pixel in the row by adding image information for one pixel and subtracting image information for a different pixel;

for a first group of h contiguous pixels in the second row of pixels, calculating a region brightness value by summing the column brightness values for the h contiguous pixels in the second row of pixels; and

for a second group of h contiguous pixels in the second row of pixels, calculating a region brightness value by adding one column brightness value and subtracting a different column brightness value.

10. A method of determining a location for a watermark on an image, wherein the image comprises an array of pixels, and wherein each pixel has a grayscale brightness value associated therewith, the method comprising:

determining a size for the watermark, wherein the size has a pixel height h and a pixel width w;

calculating a region brightness value for each of a plurality of regions of the image, wherein each of the plurality of regions has a pixel height and a pixel width equal to the pixel height and the pixel width of the watermark, wherein each of the plurality of regions comprises a plurality of pixels, wherein the region brightness value is a summation of the grayscale brightness values of the plurality of pixels comprised by the region, and wherein calculating a brightness value for each of a plurality of regions of the image comprises, at least in part:

for a first column of pixels, calculating a row brightness value for each pixel in the column, wherein the row brightness value comprises a summation of image information for w contiguous pixels in the row;

for a first group of h contiguous pixels in the first column of pixels, calculating a region brightness value by summing the row brightness values for the h contiguous pixels in the first column of pixels;

for a second group of h contiguous pixels in the first column of pixels, calculating a region brightness value by adding one row brightness value and subtracting a different row brightness value;

for a second column of pixels, calculating a row brightness value for each pixel in the column by adding image information for one pixel and subtracting image information for a different pixel;

for a first group of h contiguous pixels in the second column of pixels, calculating a region brightness value by summing the row brightness values for the h contiguous pixels in the second column of pixels; and

for a second group of h contiguous pixels in the second column of pixels, calculating a region brightness value by adding one row brightness value and subtracting a different row brightness value;

selecting one of the plurality of regions as the location for the watermark, wherein the selection is based, at least in part, on the region brightness value for the region; and

rendering the image and watermark on a display device.

11. The method of claim 10 , wherein calculating a region brightness value for each of a plurality of regions of the image further comprises, at least in part:

for a first column of pixels, calculating a row brightness value for each pixel in the column, wherein the row brightness value comprises a summation of image information for h contiguous pixels in the row;

for a first group of w contiguous pixels in the first column of pixels, calculating a region brightness value by summing the row brightness values for the w contiguous pixels in the first column of pixels;

for a second group of w contiguous pixels in the first column of pixels, calculating a region brightness value by adding one row brightness value and subtracting a different row brightness value;

for a second column of pixels, calculating a row brightness value for each pixel in the column by adding image information for one pixel and subtracting image information for a different pixel;

for a first group of w contiguous pixels in the second column of pixels, calculating a region brightness value by summing the row brightness values for the w contiguous pixels in the second column of pixels; and

for a second group of w contiguous pixels in the second column of pixels, calculating a region brightness value by adding one row brightness value and subtracting a different row brightness value.

12. The method of claim 10 , further comprising:

varying the values of h and w; and

for each value of h and for each value of w, calculating an average region brightness value for each of a plurality of regions by:

calculating the region brightness value for the region; and

dividing the region brightness value by a number of pixels in the region.

13. A system for placing a watermark on an electronic image, the system comprising:

a processor; and

software that programs the processor to:

receive the electronic image, wherein the electronic image comprises an array of pixels, and wherein each pixel has image information associated therewith;

calculate a region brightness value for each of a plurality of regions of the image, wherein each of the plurality of regions has a pixel height and a pixel width equal to height and a width of the watermark, wherein each of the plurality of regions comprises a plurality of pixels, and wherein the brightness value is representative of the image information associated with the plurality of pixels comprised by the region, wherein calculating the region brightness value for each of the plurality of regions of the image comprises:

for a watermark of height h and width w, for a first column of pixels, calculating a row brightness value for each pixel in the column, wherein the row brightness value comprises a summation of image information for w contiguous pixels in the row;

for a first group of h contiguous pixels in the first column of pixels, calculating a region brightness value by summing the row brightness values for the h contiguous pixels in the first column of pixels;

for a second group of h contiguous pixels in the first column of pixels, calculating a region brightness value by adding one row brightness value and subtracting a different row brightness value;

for a second column of pixels, calculating a row brightness value for each pixel in the column by adding image information for one pixel and subtracting image information for a different pixel;

for a first group of h contiguous pixels in the second column of pixels, calculating a region brightness value by summing the row brightness values for the h contiguous pixels in the second column of pixels; and

for a second group of h contiguous pixels in the second column of pixels, calculating a region brightness value by adding one row brightness value and subtracting a different row brightness value;

select one of the plurality of regions as the location for the watermark, wherein the selection is based, at least in part, on the brightness value for the region;

place the selected watermark at the location; and

store the watermarked image; and

an image server, configured to:

host watermarked images;

advertise the availability of the watermarked image to customers; and

provide the watermarked image to a customer upon request.

14. The system of claim 13 , wherein the image information for each pixel comprises a grayscale value for the pixel.

15. The system of claim 14 , wherein in programming the processor to calculate a region brightness value for each of the plurality of regions, the software programs the processor to sum the pixel grayscale values for the plurality of pixels in the region.

16. The system of claim 14 , wherein the image comprises a black-on-white image, and wherein in programming the processor to select one of the plurality of regions, the software programs the processor to select a region having a highest cumulative grayscale value.

17. The system of claim 14 , wherein the image comprises a white-on-black image, and wherein in programming the processor to select one of the plurality of regions, the software programs the processor to select a region having a lowest cumulative grayscale value.

18. The system of claim 13 , wherein the image information for each pixel comprises color information, wherein the software further programs the processor to obtain brightness information from the color information.

Assignments (17)
RELEASE OF FIRST LIEN SECURITY INTEREST Recorded Dec 7, 2020
From: JPMORGAN CHASE BANK, N.A.
To: ANCESTRY.COM OPERATIONS INC.; IARCHIVES, INC.; ANCESTRY.COM DNA, LLC; ANCESTRYHEALTH.COM, LLC; ADPAY, INC.
Reel/Frame 054618/0298 →
SECURITY INTEREST Recorded Dec 7, 2020
From: ANCESTRY.COM DNA, LLC; ANCESTRY.COM OPERATIONS INC.; IARCHIVES, INC.; ANCESTRYHEALTH.COM, LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054627/0212 →
SECURITY INTEREST Recorded Dec 7, 2020
From: ANCESTRY.COM DNA, LLC; ANCESTRY.COM OPERATIONS INC.; IARCHIVES, INC.; ANCESTRYHEALTH.COM, LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 054627/0237 →
RELEASE OF SECURITY INTEREST Recorded Nov 29, 2017
From: DEUTSCHE BANK AG NEW YORK BRANCH
To: ANCESTRY.COM LLC; ANCESTRY US HOLDINGS INC.; ANCESTRY.COM INC.; ANCESTRY.COM OPERATIONS INC.
Reel/Frame 044529/0025 →
SECOND LIEN SECURITY AGREEMENT Recorded Oct 24, 2016
From: ANCESTRY.COM OPERATIONS INC.; IARCHIVES, INC.; ANCESTRY.COM DNA, LLC; ANCESTRYHEALTH.COM, LLC; ADPAY, INC.
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 040259/0978 →
FIRST LIEN SECURITY AGREEMENT Recorded Oct 21, 2016
From: ANCESTRY.COM OPERATIONS INC.; IARCHIVES, INC.; ANCESTRY.COM DNA, LLC; ANCESTRYHEALTH.COM, LLC; ADPAY, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 040449/0663 →
RELEASE OF SECURITY INTEREST Recorded Oct 20, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ANCESTRY.COM OPERATIONS INC.; ANCESTRY.COM DNA, LLC; IARCHIVES, INC.
Reel/Frame 040424/0354 →
SECURITY AGREEMENT Recorded Sep 1, 2015
From: ANCESTRY.COM OPERATIONS INC.; IARCHIVES, INC.; ANCESTRY.COM DNA, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 036519/0853 →
RELEASE (REEL 029537/ FRAME 0064) Recorded Aug 31, 2015
From: BARCLAYS BANK PLC
To: ANCESTRY.COM OPERATIONS INC.; ANCESTRY.COM DNA, LLC; IARCHIVES, INC.
Reel/Frame 036514/0816 →
PATENT SECURITY AGREEMENT Recorded Dec 28, 2012
From: ANCESTRY.COM OPERATIONS INC.; ANCESTRY.COM DNA, LLC; IARCHIVES, INC.
To: BARCLAYS BANK PLC, COLLATERAL AGENT
Reel/Frame 029537/0064 →
TERMINATION OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2012
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: ANCESTRY.COM OPERATIONS INC.
Reel/Frame 029548/0515 →
TERMINATION OF SECURITY INTEREST IN PATENTS Recorded Sep 13, 2010
From: CIT LENDING SERVICES CORPORATION, AS ADMINISTRATIVE AGENT
To: THE GENERATIONS NETWORK, INC.
Reel/Frame 024975/0540 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Sep 13, 2010
From: ANCESTRY.COM OPERATIONS INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 024973/0278 →
CHANGE OF NAME Recorded Jul 28, 2009
From: THE GENERATIONS NETWORK, INC.
To: ANCESTRY.COM OPERATIONS INC.
Reel/Frame 023018/0001 →
PATENT SECURITY AGREEMENT Recorded Dec 6, 2007
From: THE GENERATIONS NETWORK, INC.
To: CIT LENDING SERVICES CORPORATION
Reel/Frame 020206/0664 →
CHANGE OF NAME Recorded May 25, 2007
From: MYFAMILY.COM, INC.
To: THE GENERATIONS NETWORK, INC.
Reel/Frame 019347/0789 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2006
From: CURTIS, DONALD B.
To: MYFAMILY.COM, INC.
Reel/Frame 017780/0701 →