IP Library Granted Patent US 7,634,147
Granted Patent B2
US 7,634,147 · App. 11/930,801 · Granted Dec 15, 2009

Fingerprinting digital video for rights management in networks

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,634,147
App. No.
11/930,801
Granted
Dec 15, 2009
Kind
B2
Abstract

Systems and methods generate video fingerprints for video data streams. A collection of sub-fingerprints constitute a fingerprint block. The size and temporal position of the block is chosen to represent the video that is being served. The video server has prior information about the video semantics. Based on this information, the server generates control codes that identify which blocks, based on time/byte offsets, in the sequence best represent the video object. The video receiver is equipped with facilities to generate these fingerprint blocks. The block(s) are sent back to the server. The server is equipped with facilities to verify and record the mismatches with respect to references. The mismatch statistics may be archived for use in a number of applications.

Claims (41)

1. A method for execution by one or more processors, the method comprising:

receiving by the one or more processors a video stream comprising a plurality of image frames, each image frame comprising a matrix of pixels;

selecting by the one or more processors a subset of the image frames;

for each image frame in the subset determining a sub-fingerprint for the image frame, the sub-fingerprint comprising an encoding of a portion of data in the image frame; and

assembling the sub-fingerprints into a fingerprint for the video stream.

2. The method of claim 1 , further comprising:

transmitting the fingerprint to a fingerprint verification system; and

comparing the fingerprint to a predetermined fingerprint for the video stream.

3. The method of claim 1 , wherein selecting the subset of the image frames includes reading control codes from the video stream, said control codes identifying the subset of the image frames.

4. The method of claim 1 , wherein the encoding comprises a run-length encoding.

5. A device comprising:

a processor;

a network interface module operable to receive video data, the video data comprising a plurality of frames, each frame comprising a pixel matrix;

a memory coupled to the processor for storing the pixel matrix; and

a fingerprint generation module executing on the processor and operable to:

select a subset of the frames,

for each frame in the subset determine a sub-fingerprint for the frame, the sub-fingerprint comprising an encoding of a portion of data in the frame, and

assemble the sub-fingerprints into a fingerprint for the video stream.

6. The device of claim 5 , wherein the fingerprint generation module is further operable to run-length encode the sub-fingerprint.

7. The device of claim 5 , wherein the processor and memory are housed in a set-top box.

8. The device of claim 5 , wherein the processor and memory are housed in a personal computer.

9. A system comprising:

a video server having one or more processors communicably coupled to a communication channel and wherein the one or more processors are operable to transmit a video data stream through the communication channel;

a video receiver having one or more processors communicably coupled to the communication channel and wherein the one or more processors are operable to:

receive the video data stream;

determine a subset of images in the video data stream;

calculate a sub-fingerprint for each of the subset of images, the sub-fingerprint comprising an encoding of a portion of data in the subset of images;

assemble the sub-fingerprint for each of the subset of images into a fingerprint; and

transmit the fingerprint to a fingerprint verification module executed by the one or more processors.

10. The system of claim 9 , further comprising a fingerprint mismatch database operable to store a reference fingerprint for the video data stream and wherein the fingerprint verification module is operable to compare the fingerprint to the reference fingerprint.

11. The system of claim 9 , wherein the fingerprint verification module is located with the video server.

12. A computer-readable storage device having computer executable instructions for causing one or more processors to perform a method, the method comprising:

receiving a video stream comprising a plurality of image frames, each image frame comprising a matrix of pixels;

selecting a subset of the image frames;

for each image frame in the subset determining a sub-fingerprint for the image frame, the sub-fingerprint comprising an encoding of a portion of data in the image frame; and

assembling the sub-fingerprints into a fingerprint for the video stream.

13. The machine-readable storage device of claim 12 , wherein the method further comprises:

transmitting the fingerprint to a fingerprint verification system; and

comparing the fingerprint to a predetermined fingerprint for the video stream.

14. The computer-readable storage device of claim 12 , wherein selecting the subset of the image frames includes reading control codes from the video stream, said control codes identifying the subset of the image frames.

15. The computer-readable storage device of claim 12 , wherein the encoding comprises a run-length encoding.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2022
From: INTEL CORPORATION
To: TAHOE RESEARCH, LTD.
Reel/Frame 061175/0176 →