IP Library Granted Patent US 10,743,062
Granted Patent B2
US 10,743,062 · App. 16/287,752 · Granted Aug 11, 2020

Fingerprint layouts for content fingerprinting

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 10,743,062
App. No.
16/287,752
Granted
Aug 11, 2020
Kind
B2
Abstract

A method is disclosed for identifying the media content. The method includes receiving fingerprint media content from a content provider to obtain a first set of fingerprints, the first set of fingerprints including a first subset of fingerprints in a first fingerprint layout and a second subset of fingerprints in a second fingerprint layout. The method can include receiving a second set of fingerprints for media content displayed on the electronic device, the second set of fingerprints comprising a third subset of fingerprints in the first fingerprint layout and a fourth subset of fingerprints in the second fingerprint layout. The method can include matching a first fingerprint in the first subset of fingerprints to a second fingerprint in the third subset of fingerprints or a third fingerprint in the second subset of fingerprints to a fourth fingerprint in the fourth subset of fingerprints in order to identify the media content.

Claims (102)

1. A computing system comprising:

one or more processors; and

a computer readable medium storing instructions that, when executed by the one or more processors, cause the computing system to perform functions comprising:

accessing a first video frame comprising first pixel values that correspond respectively to first positions within the first video frame;

selecting second pixel values that correspond respectively to second positions within the first video frame based on a first fingerprint layout that identifies the second positions, wherein the first pixel values include the second pixel values and at least one pixel value that is not included in the second pixel values, and wherein the first positions include the second positions and at least one position that (a) is not included in the second positions and (b) corresponds to the at least one pixel value;

generating a first fingerprint file that identifies the first video frame by processing the second pixel values;

determining that the first fingerprint file matches a second fingerprint file that identifies a second video frame;

storing data indicating that the first video frame matches the second video frame;

selecting third pixel values that correspond respectively to third positions within the first video frame based on a second fingerprint layout that identifies the third positions, wherein the first pixel values include the third pixel values and at least one additional pixel value that is not included in the third pixel values, and wherein the first positions include the third positions and at least one position that (a) is not included in the third positions and (b) corresponds to the at least one additional pixel value;

generating a third fingerprint file that identifies the first video frame by processing the third pixel values; and

determining that the third fingerprint file does not match any fingerprint file stored at a database,

wherein generating the first fingerprint file comprises generating the first fingerprint file in response to determining that the third fingerprint file does not match any fingerprint file stored at the database.

2. The computing system of claim 1 , wherein accessing the first video frame comprises receiving the first video frame from a media device.

3. The computing system of claim 2 , the functions further comprising:

selecting media content based on an association between the media content and the first video frame; and

sending instructions to the media device to play the media content.

4. The computing system of claim 1 , wherein the second pixel values comprise luminance values, and wherein generating the first fingerprint file by processing the second pixel values comprises generating the first fingerprint file by processing the luminance values.

5. The computing system of claim 4 , wherein processing the luminance values comprises:

making a determination of whether a first luminance value of the luminance values is greater than or less than a second luminance value of the luminance values; and

generating the first fingerprint file based on the determination.

6. The computing system of claim 1 , the functions further comprising generating the second fingerprint file prior to determining that the first fingerprint file matches the second fingerprint file.

7. The computing system of claim 1 , wherein the first video frame is a rectangular video frame comprising four corner regions, and wherein the at least one position that is not included in the second positions comprises one or more of the four corner regions.

8. The computing system of claim 1 , wherein the first video frame is a rectangular video frame comprising (i) an upper region spanning from a left edge of the rectangular video frame to a right edge of the rectangular video frame and (ii) a lower region spanning from the left edge to the right edge, and wherein the at least one position that is not included in the second positions comprises the lower region.

9. The computing system of claim 1 , wherein the first video frame is a rectangular video frame comprising (i) an upper region spanning from a left edge of the rectangular video frame to a right edge of the rectangular video frame and (ii) a lower region spanning from the left edge to the right edge, and wherein the at least one position that is not included in the second positions comprises the upper region.

10. A computing system comprising:

one or more processors; and

a computer readable medium storing instructions that, when executed by the one or more processors, cause the computing system to perform functions comprising:

accessing a first video frame comprising first pixel values that correspond respectively to first positions within the first video frame;

selecting second pixel values that correspond respectively to second positions within the first video frame based on a fingerprint layout that identifies the second positions, wherein the first pixel values include the second pixel values and at least one pixel value that is not included in the second pixel values, and wherein the first positions include the second positions and at least one position that (a) is not included in the second positions and (b) corresponds to the at least one pixel value;

generating a first fingerprint file that identifies the first video frame by processing the second pixel values;

determining that the first fingerprint file matches a second fingerprint file that identifies a second video frame; and

storing data indicating that the first video frame matches the second video frame,

wherein the second pixel values comprise luminance values, and wherein generating the first fingerprint file by processing the second pixel values comprises generating the first fingerprint file by processing the luminance values,

wherein processing the luminance values comprises:

calculating a first mean luminance value for a first group of the luminance values and a second mean luminance value for a second group of the luminance values;

making a determination of whether the first mean luminance value is greater than or less than the second mean luminance value; and

generating the first fingerprint file based on the determination.

11. The computing system of claim 10 , wherein the first fingerprint file comprises a sequence of numbers indicating whether the first mean luminance value is greater than or less than the second mean luminance value.

12. A computing system comprising:

one or more processors; and

a computer readable medium storing instructions that, when executed by the one or more processors, cause the computing system to perform functions comprising:

accessing a first video frame comprising first pixel values that correspond respectively to first positions within the first video frame;

selecting second pixel values that correspond respectively to second positions within the first video frame based on a fingerprint layout that identifies the second positions, wherein the first pixel values include the second pixel values and at least one pixel value that is not included in the second pixel values, and wherein the first positions include the second positions and at least one position that (a) is not included in the second positions and (b) corresponds to the at least one pixel value;

generating a first fingerprint file that identifies the first video frame by processing the second pixel values;

determining that the first fingerprint file matches a second fingerprint file that identifies a second video frame; and

storing data indicating that the first video frame matches the second video frame,

wherein the first video frame is a rectangular video frame comprising (i) an upper region spanning from a left edge of the rectangular video frame to a right edge of the rectangular video frame and (ii) a lower region spanning from the left edge to the right edge, and wherein the at least one position that is not included in the second positions comprises the lower region,

wherein the second pixel values correspond respectively to a first row of portions of the upper region and to a second row of portions of the upper region that are between the lower region and the first row.

13. A computing system comprising:

one or more processors; and

a computer readable medium storing instructions that, when executed by the one or more processors, cause the computing system to perform functions comprising:

accessing a first video frame comprising first pixel values that correspond respectively to first positions within the first video frame;

selecting second pixel values that correspond respectively to second positions within the first video frame based on a fingerprint layout that identifies the second positions, wherein the first pixel values include the second pixel values and at least one pixel value that is not included in the second pixel values, and wherein the first positions include the second positions and at least one position that (a) is not included in the second positions and (b) corresponds to the at least one pixel value;

generating a first fingerprint file that identifies the first video frame by processing the second pixel values;

determining that the first fingerprint file matches a second fingerprint file that identifies a second video frame; and

storing data indicating that the first video frame matches the second video frame,

wherein the first video frame is a rectangular video frame comprising (i) an upper region spanning from a left edge of the rectangular video frame to a right edge of the rectangular video frame and (ii) a lower region spanning from the left edge to the right edge, and wherein the at least one position that is not included in the second positions comprises the lower region,

wherein the second pixel values correspond respectively to a row of portions of the upper region that span from an upper edge of the rectangular video frame to the lower region.

14. A computing system comprising:

one or more processors; and

a computer readable medium storing instructions that, when executed by the one or more processors, cause the computing system to perform functions comprising:

accessing a first video frame comprising first pixel values that correspond respectively to first positions within the first video frame;

selecting second pixel values that correspond respectively to second positions within the first video frame based on a fingerprint layout that identifies the second positions, wherein the first pixel values include the second pixel values and at least one pixel value that is not included in the second pixel values, and wherein the first positions include the second positions and at least one position that (a) is not included in the second positions and (b) corresponds to the at least one pixel value;

generating a first fingerprint file that identifies the first video frame by processing the second pixel values;

determining that the first fingerprint file matches a second fingerprint file that identifies a second video frame; and

storing data indicating that the first video frame matches the second video frame,

wherein the first video frame is a rectangular video frame comprising (i) an upper region spanning from a left edge of the rectangular video frame to a right edge of the rectangular video frame and (ii) a lower region spanning from the left edge to the right edge, and wherein the at least one position that is not included in the second positions comprises the upper region,

wherein the second pixel values correspond respectively to a first row of portions of the lower region and to a second row of portions of the lower region that is between the upper region and the first row.

15. A computing system comprising:

one or more processors; and

a computer readable medium storing instructions that, when executed by the one or more processors, cause the computing system to perform functions comprising:

accessing a first video frame comprising first pixel values that correspond respectively to first positions within the first video frame;

selecting second pixel values that correspond respectively to second positions within the first video frame based on a fingerprint layout that identifies the second positions, wherein the first pixel values include the second pixel values and at least one pixel value that is not included in the second pixel values, and wherein the first positions include the second positions and at least one position that (a) is not included in the second positions and (b) corresponds to the at least one pixel value;

generating a first fingerprint file that identifies the first video frame by processing the second pixel values;

determining that the first fingerprint file matches a second fingerprint file that identifies a second video frame; and

storing data indicating that the first video frame matches the second video frame,

wherein the first video frame is a rectangular video frame comprising (i) an upper region spanning from a left edge of the rectangular video frame to a right edge of the rectangular video frame and (ii) a lower region spanning from the left edge to the right edge, and wherein the at least one position that is not included in the second positions comprises the upper region,

wherein the second pixel values correspond respectively to a row of portions of the lower region that span from a lower edge of the rectangular video frame to the upper region.

16. A method comprising:

accessing a first video frame comprising first pixel values that correspond respectively to first positions within the first video frame;

selecting second pixel values that correspond respectively to second positions within the first video frame based on a first fingerprint layout that identifies the second positions, wherein the first pixel values include the second pixel values and at least one pixel value that is not included in the second pixel values, and wherein the first positions include the second positions and at least one position that (a) is not included in the second positions and (b) corresponds to the at least one pixel value;

generating a first fingerprint file that identifies the first video frame by processing the second pixel values;

determining that the first fingerprint file matches a second fingerprint file that identifies a second video frame;

storing data indicating that the first video frame matches the second video frame;

selecting third pixel values that correspond respectively to third positions within the first video frame based on a second fingerprint layout that identifies the third positions, wherein the first pixel values include the third pixel values and at least one additional pixel value that is not included in the third pixel values, and wherein the first positions include the third positions and at least one position that (a) is not included in the third positions and (b) corresponds to the at least one additional pixel value;

generating a third fingerprint file that identifies the first video frame by processing the third pixel values; and

determining that the third fingerprint file does not match any fingerprint file stored at a database,

wherein generating the first fingerprint file comprises generating the first fingerprint file in response to determining that the third fingerprint file does not match any fingerprint file stored at the database.

17. The method of claim 16 , wherein the second pixel values comprise luminance values, and wherein generating the first fingerprint file by processing the second pixel values comprises generating the first fingerprint file by processing the luminance values.

18. The method of claim 17 , wherein processing the luminance values comprises:

making a determination of whether a first luminance value of the luminance values is greater than or less than a second luminance value of the luminance values; and

generating the first fingerprint file based on the determination.

19. A non-transitory computer readable medium storing instructions that, when executed by a computing system, cause the computing system to perform functions comprising:

accessing a first video frame comprising first pixel values that correspond respectively to first positions within the first video frame;

selecting second pixel values that correspond respectively to second positions within the first video frame based on a first fingerprint layout that identifies the second positions, wherein the first pixel values include the second pixel values and at least one pixel value that is not included in the second pixel values, and wherein the first positions include the second positions and at least one position that (a) is not included in the second positions and (b) corresponds to the at least one pixel value;

generating a first fingerprint file that identifies the first video frame by processing the second pixel values;

determining that the first fingerprint file matches a second fingerprint file that identifies a second video frame;

storing data indicating that the first video frame matches the second video frame;

selecting third pixel values that correspond respectively to third positions within the first video frame based on a second fingerprint layout that identifies the third positions, wherein the first pixel values include the third pixel values and at least one additional pixel value that is not included in the third pixel values, and wherein the first positions include the third positions and at least one position that (a) is not included in the third positions and (b) corresponds to the at least one additional pixel value;

generating a third fingerprint file that identifies the first video frame by processing the third pixel values; and

determining that the third fingerprint file does not match any fingerprint file stored at a database,

wherein generating the first fingerprint file comprises generating the first fingerprint file in response to determining that the third fingerprint file does not match any fingerprint file stored at the database.

Assignments (11)
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: THE NIELSEN COMPANY (US), LLC
To: ROKU, INC.
Reel/Frame 056106/0376 →
PARTIAL RELEASE OF SECURITY INTEREST Recorded Apr 20, 2021
From: CITIBANK, N.A.
To: THE NIELSEN COMPANY (US), LLC; GRACENOTE, INC.
Reel/Frame 056973/0280 →
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 Feb 28, 2019
From: CHEN, JUIKUN
To: SORENSON MEDIA, INC.
Reel/Frame 048465/0841 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2019
From: SORENSON MEDIA, INC.
To: THE NIELSEN COMPANY (US), LLC
Reel/Frame 048465/0897 →