IP Library Granted Patent US 8,731,235
Granted Patent B2
US 8,731,235 · App. 12/648,725 · Granted May 20, 2014

Fingerprinting a data object

Inventors: Joseph Boyd (Sammamish, WA); Peter Marcotte (Kent, WA)
Assignee: Irdeto B.V.
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 8,731,235
App. No.
12/648,725
Granted
May 20, 2014
Kind
B2
Abstract

Embodiments of the invention provide a method and a system for fingerprinting a data object at a server system and a method and a system for extracting the fingerprint from the data object at a client system. Sections of a data object are watermarked with known watermark data to create a first and a second variant of the data object, whereby the section boundaries are optionally saved as metadata. Using the metadata, the first and second variant are combined by taking sections from the variants to create a fingerprinted data object. From the fingerprinted data object, the watermark data can be extracted again.

Claims (68)

1. A computer-implemented method for fingerprinting a data object to provide a fingerprinted data object, comprising:

detecting one or more boundary locations in the data object;

splitting the data object at the boundary locations to obtain two or more sections;

embedding first watermark data in the two or more sections to obtain two or more first watermarked sections;

combining the two or more first watermarked sections to obtain a first variant of the data object;

embedding second watermark data in the two or more sections to obtain two or more second watermarked sections;

combining the two or more second watermarked sections to obtain a second variant of the data object;

obtaining a fingerprint value comprising a sequence of watermark identifiers, the watermark identifiers having a value and a position, the value indicating the first or second variant and the position indicating the two or more first or second watermarked sections within the first or second variant, respectively; and

combining the first and second watermarked sections of the first and second variant, respectively, in accordance with the fingerprint value to provide the fingerprinted data object,

wherein the watermark data is unique for each section and variant.

2. The method according to claim 1 , further comprising:

generating metadata comprising the boundary locations, and wherein the metadata is used to determine where the first and second watermarked sections are to be combined.

3. The method according to claim 1 , further comprising:

encrypting one or more of the two or more first and two or more second watermarked sections.

4. The method according to claim 1 , further comprising:

adding a second data object, preferably advertisement data, to at least one or more of the first and second watermarked sections.

5. The method according to claim 2 , wherein combining the watermarked sections comprises one or more of the following:

adding a third data object, preferably advertisement data, before the first watermarked section of at least one of the first and second variant;

adding a fourth data object, preferably advertisement data, in-between the watermarked sections of at least one of the first and second variant;

adding a fifth data object, preferably advertisement data, after the last watermarked section of at least one of the first and second variant,

and comprises:

determining where at least one of the third data object, the fourth data object and the fifth data object are to be included in the fingerprinted data object using one or more of the following indications in the metadata: a length of the third data object; a length of the fourth data object; a length of the fifth data object.

6. A server system for fingerprinting a data object to provide a fingerprinted data object, comprising:

a variant generator;

a watermark embedder; and

a section selector;

wherein:

the variant generator is configured to detect one or more boundary locations in the data object using a detector, split the data object at the boundary locations to obtain two or more sections using a splitter, send the two or more sections to the watermark embedder, receive two or more first watermarked sections and two or more second watermarked sections from the watermark embedder, combine the two or more first watermarked sections to obtain a first variant of the data object and combine the two or more second watermarked sections to obtain a second variant of the data object using a combiner;

the watermark embedder is configured to embed first watermark data in the two or more sections to obtain the first watermarked sections and embed second watermark data in the two or more sections to obtain the second watermarked sections;

the section selector is configured to obtain a fingerprint value comprising a sequence of watermark identifiers, the watermark identifiers having a value and a position, the value indicating the first or second variant and the position indicating the two or more watermarked sections within the first or second variant; and

the section generator is configured to combine using the combiner the two or more first and second watermarked sections of the first and second variant, respectively, in accordance with the fingerprint value to provide the fingerprinted data object,

wherein the watermark provider is configured to provide unique watermark data for each section and variant.

7. The server system according to claim 6 , wherein the variant generator is further configured to generate metadata comprising the boundary locations, and wherein the section selector uses the metadata to determine where the first and second watermarked sections are to be combined.

8. The server system according to claim 6 , further comprising:

an encryptor configured to encrypt one or more of the first and second watermarked sections.

9. The server system according to claim 6 , wherein the variant generator is further configured to add a second data object, preferably advertisement data, to one or more of the first and second watermarked sections.

10. The server system according to claim 7 , wherein the variant generator is further configured to add at least one of:

a third data object, preferably advertisement data, before the first watermarked section of the first and second variant;

a fourth data object, preferably advertisement data, in-between the watermarked sections of the first and second variant;

a fifth data object, preferably advertisement data, after the last watermarked section of the first and second variant,

wherein the variant generator is configured for determining where at least one of the third data object, the fourth data object and the fifth data object are to be included in the fingerprinted data object using one or more of the following indications in the metadata: a length of the third data object; a length of the fourth data object; a length of the fifth data object.

11. A computer-implemented method for extracting a fingerprint value from a fingerprinted data object that is created using the method comprising:

detecting one or more boundary locations in the data object, splitting the data object at the boundary locations to obtain two or more sections, embedding first watermark data in the two or more sections to obtain two or more first watermarked sections, combining the two or more first watermarked sections to obtain a first variant of the data object, embedding second watermark data in the two or more sections to obtain two or more second watermarked sections, combining the two or more second watermarked sections to obtain a second variant of the data object, obtaining a fingerprint value comprising a sequence of watermark identifiers, the watermark identifiers having a value and a position, the value indicating the first or second variant and the position indicating the two or more first or second watermarked sections within the first or second variant, respectively and combining the first and second watermarked sections of the first and second variant, respectively, in accordance with the fingerprint value to provide the fingerprinted data object, wherein the watermark data is unique for each section and variant, said computer-implemented method comprising:

extracting a sequence of watermark data from the fingerprinted data object;

obtaining or having available watermark data for all sections and variants used when creating the fingerprinted data object;

locating and identifying the obtained watermark data in the sequence of watermark data to obtain the fingerprint value.

12. The method according to claim 11 , further comprising:

decrypting the fingerprinted data object prior to extracting the sequence of watermark data.

13. The method according to claim 11 , further comprising:

generating metadata comprising the boundary locations, and wherein the metadata is used to determine where the first and second watermarked sections are to be combined.

14. The method according to claim 11 , further comprising;

encrypting one or more of the first and second watermarked sections.

15. The method according to claim 11 , further comprising:

adding a second data object, preferably advertisement data, to at least one or more of the first and second watermarked sections.

16. The method according to claim 11 , wherein combining the watermarked sections comprises one or more of the following:

adding a third data object, preferably advertisement data, before the first watermarked section of at least one of the first and second variant;

adding a fourth data object, preferably advertisement data, in-between the watermarked sections of at least one of the first and second variant;

adding a fifth data object, preferably advertisement data, after the last watermarked section of at least one of the first and second variant,

and comprises:

determining where at least one of the third data object, the fourth data object and the fifth data object are to be included in the fingerprinted data object using one or more of the following indications in the metadata: a length of the third data object; a length of the fourth data object; a length of the fifth data object.

17. A client system for extracting a fingerprint value from a fingerprinted data object that is created using a system comprising:

a variant generator, a watermark embedder and a section selector, wherein the variant generator is configured to detect one or more boundary locations in the data object using a detector, split the data object at the boundary locations to obtain two or more sections using a splitter, send the two or more sections to the watermark embedder, receive two or more first watermarked sections and two or more second watermarked sections from the watermark embedder, combine the two or more first watermarked sections to obtain a first variant of the data object and combine the two or more second watermarked sections to obtain a second variant of the data object using a combiner, the watermark embedder is configured to embed first watermark data in the two or more sections to obtain the first watermarked sections and embed second watermark data in the two or more sections to obtain the second watermarked sections, the section selector is configured to obtain a fingerprint value comprising a sequence of watermark identifiers, the watermark identifiers having a value and a position, the value indicating the first or second variant and the position indicating the two or more watermarked sections within the first or second variant and the section generator is configured to combine using the combiner the two or more first and second watermarked sections of the first and second variant, respectively, in accordance with the fingerprint value to provide the fingerprinted data object, wherein the watermark provider is configured to provide unique watermark data for each section and variant, said client system comprising a watermark detector connected to a fingerprint detector, wherein:

the watermark detector is configured to extract a sequence of watermark data from the fingerprinted data object; and

the fingerprint detector is configured to obtain or have available watermark data for all sections and variants used when creating the fingerprinted data object and locate and identify the obtained watermark data in the sequence of watermark data to obtain the fingerprint value.

18. The server system according to claim 17 , wherein the variant generator is further configured to generate metadata comprising the boundary locations, and wherein the section selector uses the metadata to determine where the first and second watermarked sections are to be combined.

19. The server system according to claim 17 , further comprising:

an encryptor configured to encrypt one or more of the first and second watermarked sections.

20. The server system according to claim 17 , wherein the variant generator is further configured to add a second data object, preferably advertisement data, to one or more of the first and second watermarked sections.

Assignments (2)
CHANGE OF NAME Recorded Sep 11, 2013
From: IRDETO ACCESS B.V.
To: IRDETO B.V.
Reel/Frame 031207/0045 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2010
From: BOYD, JOSEPH; MARCOTTE, PETER
To: IRDETO ACCESS B.V.
Reel/Frame 024250/0921 →
Priority Claims (1)
EP 08173051 · Dec 30, 2008 · regional
Continuity (1)
Related Publication 20100303282A1 · Dec 2, 2010