IP Library Granted Patent US 9,460,275
Granted Patent B1
US 9,460,275 · App. 14/144,038 · Granted Oct 4, 2016

Fingerprinting content via a playlist

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 9,460,275
App. No.
14/144,038
Granted
Oct 4, 2016
Kind
B1
Abstract

A system and method for fingerprinting content via a playlist are provided. The system includes a content requestor to receive an indication that a request for content is to be served, the content being served with a duplication restriction; a code generator to generate a code with a plurality of bits associated with the content being served, a number of the plurality of bits of the code being defined based on the length of the content divided by a predetermined length of equally sized segments; a playlist generator to generate a playlist to serve a plurality of segments, each of the plurality of segment's length being determined by a corresponding bit of the code; and a playlist transmitter to transmit the playlist along with the content to a visitor or device associated with the request.

Claims (50)

1. A system for fingerprinting content via a playlist, comprising:

a data store comprising a non-transitory computer readable medium storing executable computer program instructions;

a processor that executes the computer program instructions to perform steps comprising:

receiving an indication that a request for content is to be served;

generating a code having a plurality of bits associated with the content being served, a number of bits of the code being defined based on a time length of the content;

generating a playlist to serve a plurality of segments of the content, each of the plurality of segment's time length being determined by a corresponding bit value of the code, wherein each of the plurality of segments has a time length based on the following relationship:

a bit value of 1 or 0 corresponds to a segment length shorter by a predetermined time gradient,

a converse bit value of 1 or 0 corresponds to a segment length longer by the predetermined time gradient, and

a null bit value corresponds to a segment length independent of an alteration by the predetermined time gradient; and

transmitting the playlist along with the content to a device associated with the request.

2. The system according to claim 1 , wherein the code is employed to create a watermark associated with the content.

3. The system according to claim 1 , wherein the system stores a lookup table, and the lookup table corresponds to the content, the content's receiver, and the code.

4. The system according to claim 1 , wherein the predetermined time gradient introduces noise not detectable by the content's receiver.

5. The system of claim 1 , wherein generating the playlist further comprises:

associating ones of the plurality of bits of the code with ones of the plurality of segments of the content; and

setting start times of the segments responsive to values of the bits respectively associated with the segments.

6. The system of claim 1 , wherein generating the playlist further comprises:

setting the start time of a segment of the content responsive to a value of a bit of the code associated with the segment, wherein the start time of the segment is set earlier by the predetermined time gradient to represent a first value of the bit and the start time of the segment is set later by the predetermined time gradient to represent a second value of the bit different than the first value.

7. A method implemented on a processor for fingerprinting content via a playlist, comprising:

receiving an indication that a request for content is to be served;

generating a code having a plurality of bits associated with the content being served, a number of the bits of the code being defined based on a time length of the content;

generating a playlist to serve a plurality of segments of the content, each of the plurality of segment's time length being determined by a corresponding bit value of the code, wherein each of the plurality of segments has a time length based on the following relationship:

a bit value of 1 or 0 corresponds to a segment length shorter by a predetermined time gradient,

a converse bit value of 1 or 0 corresponds to a segment length longer by the predetermined time gradient, and

a null bit value corresponds to a segment length independent of an alteration by the predetermined time gradient; and

transmitting the playlist along with the content to a device associated with the request,

the receiving, the generating, or the transmitting being performed via the processor.

8. The method according to claim 7 , wherein the code is generated based on a random assignment.

9. The method according to claim 7 , wherein the code is generated based on an identified aspect of a content consumer to be served the content.

10. The method according to claim 7 , wherein the code is employed to create a watermark associated with the content.

11. The system according to claim 7 , wherein the system stores a lookup table, and the lookup table corresponds to the content, the content's receiver, and the code.

12. The system according to claim 7 , wherein the predetermined time gradient introduces noise not detectable by the content's receiver.

13. The method of claim 7 , wherein generating the playlist further comprises:

associating ones of the plurality of bits of the code with ones of the plurality of segments of the content; and

setting start times of the segments responsive to values of the bits respectively associated with the segments.

14. The method of claim 7 , wherein generating the playlist further comprises:

setting the start time of a segment of the content responsive to a value of a bit of the code associated with the segment, wherein the start time of the segment is set earlier by the predetermined time gradient to represent a first value of the bit and the start time of the segment is set later by the predetermined time gradient to represent a second value of the bit different than the first value.

15. A method implemented on a processor for determining a source of content, comprising:

receiving the content as a plurality of segments having an associated playlist;

determining if the plurality of segments contain a plurality of time gradients by analyzing the playlist;

re-compiling bit values of a code described by the plurality of time gradients, wherein re-compiling the bit values of the code comprises:

determining a bit value of 1 or 0 responsive to a segment having a length shorter by a predetermined time gradient,

determining a converse bit value of 1 or 0 responsive to the segment having a length longer by the predetermined time gradient, and

determining a null bit value responsive to the segment having a length independent of an alteration by the predetermined time gradient; and

comparing the recompiled code with a lookup table to ascertain the source,

the receiving, the determining, the re-compiling, or the comparing being performed via the processor.

16. The method according to claim 15 , wherein determining that the plurality of segments contain a plurality of time gradients further comprises analyzing the content for noise associated with the time gradients.

17. The method according to claim 16 , wherein the noise is caused by a first segment of the content overlapping a second segment of the content.

18. The method according to claim 17 , wherein the noise is caused by a gap in-between the first segment of the content and a second segment of the content.

19. The method according to claim 15 , further comprising a watermark associated with the re-compiled code embedded into the content.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044566/0657 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2015
From: PUPPIN, DIEGO; AGARWAL, MEHUL
To: GOOGLE INC.
Reel/Frame 034852/0050 →