IP Library Granted Patent US 11,449,540
Granted Patent B1
US 11,449,540 · App. 16/874,896 · Granted Sep 20, 2022

Media fingerprinting and identification system

Inventors: Prashant Ramanathan (Mountain View, CA); 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,449,540
App. No.
16/874,896
Granted
Sep 20, 2022
Kind
B1
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 (57)

1. A computing system comprising:

a processing unit; and

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

determining, for respective sub-regions of a set of sub-regions that each include pixels of a frame of a reference video, respective pixel color data corresponding to pixels included within the respective sub-regions,

comparing the respective pixel color data for the respective sub-regions with at least one median color value,

determining, for the respective sub-regions, respective descriptor values based on the comparing,

generating a reference fingerprint for the frame of the reference video based on the respective descriptor values for the respective sub-regions, and

storing the reference fingerprint in a reference database and in association with metadata for the reference video.

2. The computing system of claim 1 , wherein the functions further comprise:

obtaining, from a computing device, a query fingerprint corresponding to a query video;

determining, based on the reference fingerprint and the query fingerprint, that the query video corresponds to the reference video; and

sending a message to the computing device that is generated based on the determining that the query video corresponds to the reference video.

3. The computing system of claim 2 , wherein the query fingerprint is generated based on a comparison of pixel color data for a frame of the query video with the at least one median color value.

4. The computing system of claim 2 , wherein the message comprises an indication of the reference video.

5. The computing system of claim 2 , wherein the message is an instruction.

6. The computing system of claim 5 , wherein the instruction comprises an instruction to flag the query video.

7. The computing system of claim 5 , wherein the instruction comprises an instruction to contextually place an advertisement.

8. The computing system of claim 5 , wherein the instruction comprises an instruction to restrict playback of the query video.

9. The computing system of claim 1 , wherein the functions further comprise:

obtaining, from a computing device, pixel color data for a frame of a query video;

determining a query fingerprint based on a comparison of the pixel color data with the at least one median color value;

determining, based on the reference fingerprint and the query fingerprint, that the query video corresponds to the reference video; and

sending a message to the computing device that is generated based on the determining that the query video corresponds to the reference video.

10. The computing system of claim 1 , wherein the functions further comprise:

generating a traversal signature for the frame of the reference video based on the respective descriptor values for the respective sub-regions, and

identifying a sector of the reference database using the traversal signature, and

wherein storing the reference fingerprint comprises storing the reference fingerprint in the sector of the reference database.

11. The computing system of claim 1 , wherein the respective pixel color data for the respective sub-regions is represented in multiple color components, and wherein the at least one median color value comprises median color values for at least two of the multiple color components.

12. The computing system of claim 11 , wherein determining the respective descriptor values for the respective sub-regions comprises determining multiple descriptor values for each of the respective sub-regions.

13. The computing system of claim 11 , wherein generating the fingerprint data based on the respective descriptor values comprises generating a signature using the respective descriptor values and one or more threshold values.

14. The computing system of claim 13 , wherein the signature is an N-dimensional signature, wherein N is a multiple of the number of sub-regions within the set of sub-regions.

15. The computing system of claim 1 , wherein the at least one median color value comprises, for each of multiple color components of the pixel color data, a median value for the set of sub-regions.

16. A method comprising:

determining, for respective sub-regions of a set of sub-regions that each include pixels of a frame of a reference video, using a computing system, respective pixel color data corresponding to pixels included within the respective sub-regions,

comparing, using the computing system, the respective pixel color data for the respective sub-regions with at least one median color value,

determining, for the respective sub-regions, using the computing system, respective descriptor values based on the comparing,

generating, using the computing system, a reference fingerprint for the frame of the reference video based on the respective descriptor values for the respective sub-regions, and

storing, using the computing system, the reference fingerprint in a reference database and in association with metadata for the reference video.

17. The method of claim 16 , further comprising:

obtaining, from a computing device, a query fingerprint corresponding to a query video;

determining, based on the reference fingerprint and the query fingerprint, that the query video corresponds to the reference video; and

sending a message to the computing device that is generated based on the determining that the query video corresponds to the reference video.

18. The method of claim 16 , further comprising:

obtaining, from a computing device, pixel color data for a frame of a query video;

determining a query fingerprint based on a comparison of the pixel color data with the at least one median color value;

determining, based on the reference fingerprint and the query fingerprint, that the query video corresponds to the reference video; and

sending a message to the computing device that is generated based on the determining that the query video corresponds to the reference video.

19. A non-transitory computer-readable medium having stored therein instructions that are executable to cause a computing device to perform functions comprising:

determining, for respective sub-regions of a set of sub-regions that each include pixels of a frame of a reference video, respective pixel color data corresponding to pixels included within the respective sub-regions;

comparing the respective pixel color data for the respective sub-regions with at least one median color value;

determining, for the respective sub-regions, respective descriptor values based on the comparing;

generating a reference fingerprint for the frame of the reference video based on the respective descriptor values for the respective sub-regions; and

storing the reference fingerprint in a reference database and in association with metadata for the reference video.

20. The non-transitory computer-readable medium of claim 19 , wherein the functions further comprise:

obtaining, from a computing device, a query fingerprint corresponding to a query video;

determining, based on the reference fingerprint and the query fingerprint, that the query video corresponds to the reference video; and

sending a message to the computing device that is generated based on the determining that the query video corresponds to the reference video.

Assignments (10)
SECURITY INTEREST Recorded Sep 18, 2024
From: ROKU, INC.
To: CITIBANK, N.A.
Reel/Frame 068982/0377 →
RELEASE (REEL 053473 / FRAME 0001) Recorded May 11, 2023
From: CITIBANK, N.A.
To: A. C. NIELSEN COMPANY, LLC; EXELATE, INC.; GRACENOTE, INC.; GRACENOTE MEDIA SERVICES, LLC; THE NIELSEN COMPANY (US), LLC; NETRATINGS, LLC
Reel/Frame 063603/0001 →
RELEASE (REEL 054066 / FRAME 0064) Recorded May 11, 2023
From: CITIBANK, N.A.
To: A. C. NIELSEN COMPANY, LLC; EXELATE, INC.; GRACENOTE, INC.; GRACENOTE MEDIA SERVICES, LLC; THE NIELSEN COMPANY (US), LLC; NETRATINGS, LLC
Reel/Frame 063605/0001 →
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT (REEL/FRAME 056982/0194) Recorded Feb 22, 2023
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ROKU, INC.; ROKU DX HOLDINGS, INC.
Reel/Frame 062826/0664 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Jun 29, 2021
From: ROKU, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 056982/0194 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2021
From: GRACENOTE, INC.
To: ROKU, INC.
Reel/Frame 056103/0786 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENTS LISTED ON SCHEDULE 1 RECORDED ON 6-9-2020 PREVIOUSLY RECORDED ON REEL 053473 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SUPPLEMENTAL IP SECURITY AGREEMENT. Recorded Oct 7, 2020
From: A.C. NIELSEN (ARGENTINA) S.A.; A.C. NIELSEN COMPANY, LLC; ACN HOLDINGS INC.; ACNIELSEN CORPORATION; ACNIELSEN ERATINGS.COM; AFFINNOVA, INC.; ART HOLDING, L.L.C.; ATHENIAN LEASING CORPORATION; CZT/ACN TRADEMARKS, L.L.C.; EXELATE, INC.; GRACENOTE, INC.; GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; NETRATINGS, LLC; NIELSEN AUDIO, INC.; NIELSEN CONSUMER INSIGHTS, INC.; NIELSEN CONSUMER NEUROSCIENCE, INC.; NIELSEN FINANCE CO.; NIELSEN FINANCE LLC; NIELSEN INTERNATIONAL HOLDINGS, INC.; NIELSEN MOBILE, LLC; NMR INVESTING I, INC.; TCG DIVESTITURE INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC; VIZU CORPORATION; VNU MARKETING INFORMATION, INC.; NMR LICENSING ASSOCIATES, L.P.; NIELSEN HOLDING AND FINANCE B.V.; THE NIELSEN COMPANY B.V.; VNU INTERNATIONAL B.V.
To: CITIBANK, N.A
Reel/Frame 054066/0064 →
SUPPLEMENTAL SECURITY AGREEMENT Recorded Jun 9, 2020
From: A. C. NIELSEN COMPANY, LLC; ACN HOLDINGS INC.; ACNIELSEN CORPORATION; ACNIELSEN ERATINGS.COM; AFFINNOVA, INC.; ART HOLDING, L.L.C.; ATHENIAN LEASING CORPORATION; CZT/ACN TRADEMARKS, L.L.C.; EXELATE, INC.; GRACENOTE, INC.; GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; NETRATINGS, LLC; NIELSEN AUDIO, INC.; NIELSEN CONSUMER INSIGHTS, INC.; NIELSEN CONSUMER NEUROSCIENCE, INC.; NIELSEN FINANCE CO.; NIELSEN FINANCE LLC; NIELSEN INTERNATIONAL HOLDINGS, INC.; NIELSEN MOBILE, LLC; NIELSEN UK FINANCE I, LLC; NMR INVESTING I, INC.; TCG DIVESTITURE INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC; VIZU CORPORATION; VNU MARKETING INFORMATION, INC.; NMR LICENSING ASSOCIATES, L.P.; NIELSEN HOLDING AND FINANCE B.V.; THE NIELSEN COMPANY B.V.; VNU INTERNATIONAL B.V.
To: CITIBANK, N.A.
Reel/Frame 053473/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2020
From: ZEITERA, LLC
To: GRACENOTE, INC.
Reel/Frame 052671/0771 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2020
From: RAMANATHAN, PRASHANT; STOJANCIC, MIHAILO M.
To: ZEITERA, LLC
Reel/Frame 052671/0710 →