IP Library Granted Patent US 11,625,427
Granted Patent B2
US 11,625,427 · App. 17/355,058 · Granted Apr 11, 2023

Media fingerprinting and identification system

Inventor: Mihailo M. Stojancic (San Jose, CA)
Assignee: Roku, Inc.
G06F16/48G06F16/2255G06F16/285G06F16/41G06F16/783G06F16/7847G06F16/9014G06F16/951G06V10/462G06V20/46Y10S707/913
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,625,427
App. No.
17/355,058
Granted
Apr 11, 2023
Kind
B2
Abstract

The overall architecture and details of a scalable video fingerprinting and identification system that is robust with respect to many classes of video distortions is described. In this system, a fingerprint for a piece of multimedia content is composed of a number of compact signatures, along with traversal hash signatures and associated metadata. Numerical descriptors are generated for features found in a multimedia clip, signatures are generated from these descriptors, and a reference signature database is constructed from these signatures. Query signatures are also generated for a query multimedia clip. These query signatures are searched against the reference database using a fast similarity search procedure, to produce a candidate list of matching signatures. This candidate list is further analyzed to find the most likely reference matches. Signature correlation is performed between the likely reference matches and the query clip to improve detection accuracy.

Claims (43)

1. A method comprising:

dividing, using a video fingerprinting system, pixels of a frame of a video into respective regions of pixels so as to form a plurality of regions;

determining for the respective regions of pixels, using the video fingerprinting system, respective intensity values corresponding to pixels within the respective regions of pixels;

determining, using the video fingerprinting system, respective binary values for the respective regions based on the respective intensity values; and

generating, using the video fingerprinting system, fingerprint data for the frame based on the respective binary values.

2. The method of claim 1 , wherein, for a given region of the respective regions, determining the respective binary value comprises:

determining an aggregate intensity value based on intensity values of a set of pixels within the given region;

comparing the aggregative intensity value to a threshold; and

setting the respective binary value as zero or one based on a result of the comparing.

3. The method of claim 2 , wherein the aggregate intensity value is an average of the intensity values of the set of pixels.

4. The method of claim 3 , wherein the threshold is an average intensity value for the frame.

5. The method of claim 1 , wherein dividing the pixels of the frame into respective regions comprises dividing the pixels of the frame into N respective regions, and wherein generating the fingerprint data comprises generating an N-bit signature based on the respective binary values for the N respective regions.

6. The method of claim 1 , wherein the respective intensity values comprise respective gradient intensity values.

7. The method of claim 1 , wherein the video is a reference video, and wherein the method further comprises storing, in a reference database, the fingerprint data in association with video data for the reference video.

8. The method of claim 1 , wherein the video is a query video, and wherein the method further comprises identifying a reference video corresponding to the query video using the fingerprint data and a reference database.

9. A non-transitory computer-readable medium having stored therein instructions that are executable to cause a video fingerprint system to perform functions comprising:

dividing pixels of a frame of a video into respective regions of pixels so as to form a plurality of regions;

determining for the respective regions of pixels respective intensity values corresponding to pixels within the respective regions of pixels;

determining respective binary values for the respective regions based on the respective intensity values; and

generating, using the video fingerprinting system, fingerprint data for the frame based on the respective binary values.

10. The non-transitory computer-readable medium of claim 9 , wherein, for a given region of the respective regions, determining the respective binary value comprises:

determining an aggregate intensity value based on intensity values of a set of pixels within the given region;

comparing the aggregative intensity value to a threshold; and

setting the respective binary value as zero or one based on a result of the comparing.

11. The non-transitory computer-readable medium of claim 10 , wherein the aggregate intensity value is an average of the intensity values of the set of pixels.

12. The non-transitory computer-readable medium of claim 9 , wherein dividing the pixels of the frame into respective regions comprises dividing the pixels of the frame into N respective regions, and wherein generating the fingerprint data comprises generating an N-bit signature based on the respective binary values for the N respective regions.

13. The non-transitory computer-readable medium of claim 9 , wherein the respective intensity values comprise respective gradient intensity values.

14. The non-transitory computer-readable medium of claim 9 , wherein the video is a reference video, and wherein the functions further comprise storing, in a reference database, the fingerprint data in association with video data for the reference video.

15. The non-transitory computer-readable medium of claim 9 , wherein the video is a query video, and wherein the functions further comprise identifying a reference video corresponding to the query video using the fingerprint data and a reference database.

16. A video fingerprinting system comprising:

a processing unit; and

a non-transitory computer-readable medium having stored therein instructions that are executable to cause the video fingerprinting system to perform functions comprising:

dividing pixels of a frame of a video into respective regions of pixels so as to form a plurality of regions,

determining for the respective regions of pixels respective intensity values corresponding to pixels within the respective regions of pixels,

determining respective binary values for the respective regions based on the respective intensity values, and

generating, using the video fingerprinting system, fingerprint data for the frame based on the respective binary values.

17. The video fingerprinting system of claim 16 , wherein, for a given region of the respective regions, determining the respective binary value comprises:

determining an aggregate intensity value based on intensity values of a set of pixels within the given region;

comparing the aggregative intensity value to a threshold; and

setting the respective binary value as zero or one based on a result of the comparing.

18. The video fingerprinting system of claim 16 , wherein the respective intensity values comprise respective gradient intensity values.

19. The video fingerprinting system of claim 16 , wherein the video is a reference video, and wherein the functions further comprise storing, in a reference database, the fingerprint data in association with video data for the reference video.

20. The video fingerprinting system of claim 16 , wherein the video is a query video, and wherein the functions further comprise identifying a reference video corresponding to the query video using the fingerprint data and a reference database.

Assignments (4)
SECURITY INTEREST Recorded Sep 18, 2024
From: ROKU, INC.
To: CITIBANK, N.A.
Reel/Frame 068982/0377 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2021
From: STOJANCIC, MIHAILO M.
To: ZEITERA, LLC
Reel/Frame 056632/0633 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2021
From: ZEITERA, LLC
To: GRACENOTE, INC.
Reel/Frame 056632/0670 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2021
From: GRACENOTE, INC.
To: ROKU, INC.
Reel/Frame 056650/0672 →
Continuity (11)
Continuation 16383473 · Apr 12, 2019
Continuation 15265002 · Sep 14, 2016
Continuation 15073858 · Mar 18, 2016
Continuation 14885110 · Oct 16, 2015
Continuation 14711054 · May 13, 2015
Continuation 14059688 · Oct 22, 2013
Continuation 13719603 · Dec 19, 2012
Continuation 13463137 · May 3, 2012
Continuation 12772566 · May 3, 2010
Provisional Application 61185670 · Jun 10, 2009
Related Publication 20210319057A1 · Oct 14, 2021