IP Library Granted Patent US 11,144,765
Granted Patent B2
US 11,144,765 · App. 16/447,344 · Granted Oct 12, 2021

Scene frame matching for automatic content recognition

Inventor: Juikun Chen (West Jordan, UT)
Assignee: Roku, Inc.
G06K9/00744G06K9/00718G06K9/6212H04N21/23418H04N21/251H04N21/44008H04N21/4668H04N21/84H04N21/8456
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,144,765
App. No.
16/447,344
Granted
Oct 12, 2021
Kind
B2
Abstract

A method for scene frame matching for automatic content recognition. The method includes receiving fingerprints indicative of frames of a media stream. The method also includes obtaining scene centroids of corresponding scenes of the media stream. Each scene includes fingerprints ranging from an initial frame having a corresponding initial fingerprint and a last frame having a corresponding last fingerprint. Each scene centroid represents a mean of fingerprints corresponding to a respective scene. The mean of fingerprints is determined by an average of pixel values corresponding to the fingerprints of the respective scene. For each scene centroid, the method includes determining a distance between the respective scene centroid and a target fingerprint of a corresponding target frame of the media stream and determining a target scene of the target frame as being the respective scene of the scene centroid having a shortest distance to the target fingerprint of the target frame.

Claims (73)

1. A method comprising:

receiving, at data processing hardware, media device fingerprints, wherein the media device fingerprints comprise fingerprints generated from media device frames captured by a corresponding media device, and wherein the media device frames are frames of a media device stream received by the corresponding media device;

identifying, by the data processing hardware, a single target media device frame that is the most-recent target media device frame of the media device stream, the single target media device frame having a corresponding target media device fingerprint;

obtaining, at the data processing hardware, scene centroids of corresponding scenes of the media device stream, each scene comprising an initial media device frame having a corresponding initial media device fingerprint and a last media device frame having a corresponding last media device fingerprint, each scene centroid representing a mean of fingerprints of the respective scene;

for each of at least two scene centroids, determining, by the data processing hardware, a distance between the respective scene centroid and the target media device fingerprint of the single target media device frame;

selecting, by the data processing hardware, from the at least two scene centroids, a scene centroid having a shortest distance to the target media device fingerprint of the single target media device frame; and

based on the selected scene centroid having the shortest distance to the target media device fingerprint of the single target media device frame, determining, by the data processing hardware, that the respective scent represented by the selected scene centroid is a target scene to which the single target media device frame belongs such that the single target media device frame is one of a plurality of target media device frames that make up the respective scene.

2. The method of claim 1 , further comprising:

receiving, at the data processing hardware, a broadcast fingerprint indicative of a broadcast frame of the target scene from a broadcast media stream; and

for the broadcast frame of the target scene:

determining, by the data processing hardware, a statistical correlation coefficient between the broadcast fingerprint and the target media device fingerprint;

determining, by the data processing hardware, whether the statistical correlation coefficient satisfies a correlation threshold; and

when the statistical correlation coefficient satisfies the correlation threshold, identifying, by the data processing hardware, the broadcast frame as matching the single target media device frame.

3. The method of claim 1 , wherein obtaining the scene centroids comprises:

receiving, at the data processing hardware, broadcast fingerprints indicative of broadcast frames of a broadcast media stream, the broadcast media stream comprising the scenes;

for each of at least two sequentially adjacent pairs of broadcast frames:

determining, by the data processing hardware, a statistical correlation coefficient between the respective broadcast fingerprints;

determining, by the data processing hardware, whether the statistical correlation coefficient satisfies a correlation threshold; and

when the statistical correlation coefficient satisfies the correlation threshold, identifying, by the data processing hardware, a first scene as ending at a first broadcast frame of the pair of broadcast frames and a second scene as starting at a second broadcast frame of the pair of broadcast frames; and

for each of at least two identified scenes, determining, by the data processing hardware, the respective scene centroid as the mean of fingerprints corresponding to the respective scene.

4. The method of claim 1 , wherein each of the obtained scene centroids represents a time centroid representing a range from an initial time of the initial media device fingerprint to a last time of the last media device fingerprint.

5. The method of claim 1 , wherein each fingerprint represents a 16 integer vector corresponding to average pixel values of sixteen sub-frames, the sixteen sub-frames defining a four by four array of the corresponding frame.

6. A system comprising:

data processing hardware; and

memory hardware in communication with the data processing hardware, the memory hardware storing instructions that when executed on the data processing hardware cause the data processing hardware to perform operations comprising:

receiving media device fingerprints, wherein the media device fingerprints comprise fingerprints generated from media device frames captured by a corresponding media device, and wherein the media device frames are frames of a media device stream received by the corresponding media device;

identifying a single target media device frame that is the most-recent target media device frame of the media device stream, the single target media device frame having a corresponding target media device fingerprint;

obtaining scene centroids of corresponding scenes of the media device stream, each scene comprising an initial media device frame having a corresponding initial media device fingerprint and a last media device frame having a corresponding last media device fingerprint, each scene centroid representing a mean of fingerprints of the respective scene, the mean of fingerprints determined by an average of pixel values corresponding to the fingerprints of the respective scene;

for each of at least two scene centroids, determining a distance between the respective scene centroid and the target media device fingerprint of the single target media device frame;

selecting from the at least two scene centroids, a scene centroid having a shortest distance to the target media device fingerprint of the single target media device frame; and

based on the selected scene centroid having the shortest distance to the target media device fingerprint of the single target media device frame, determining that the respective scene represented by the selected scene centroid is a target scent to which the single target media device frame belongs such that the single target media device frame is one of a plurality of target media device frames that make up the respective scene.

7. The system of claim 6 , wherein the operations further comprise:

receiving a broadcast fingerprint indicative of a broadcast frame of the scene from a broadcast media stream; and

for the broadcast frame of the scene:

determining a statistical correlation coefficient between the broadcast fingerprint and the target media device fingerprint;

determining whether the statistical correlation coefficient satisfies a correlation threshold; and

when the statistical correlation coefficient satisfies the correlation threshold, identifying the broadcast frame as matching the single target media device frame.

8. The system of claim 6 , wherein obtaining the scene centroids comprises:

receiving broadcast fingerprints indicative of broadcast frames of a broadcast media stream, the broadcast media stream comprising the scenes;

for each of at least two sequentially adjacent pairs of broadcast frames:

determining a statistical correlation coefficient between the respective broadcast fingerprints;

determining whether the statistical correlation coefficient satisfies a correlation threshold; and

when the statistical correlation coefficient satisfies the correlation threshold, identifying a first scene as ending at a first broadcast frame of the pair of broadcast frames and a second scene as starting at a second broadcast frame of the pair of broadcast frames; and

for each of at least two identified scenes, determining the respective scene centroid as the mean of fingerprints corresponding to the scene.

9. The system of claim 6 , wherein each of the obtained scene centroids represents a time centroid representing a range from an initial time of the initial media device fingerprint to a last time of the last media device fingerprint.

10. The system of claim 6 , wherein each fingerprint represents a 16 integer vector corresponding to average pixel values of sixteen sub-frames, the sixteen sub-frames defining a four by four array of the corresponding frame.

11. A non-transitory computer readable medium having stored thereon instructions that, upon execution by a processor, cause performance of a set of acts comprising:

receiving media device fingerprints, wherein the media device fingerprints comprise fingerprints generated from media device frames captured by a corresponding media device, and wherein the media device frames are frames of a media device stream received by the corresponding media device;

identifying a single target media device frame that is the most recent target media device frame of the media device stream, the single target media device frame having a corresponding target media device fingerprint;

obtaining scene centroids of corresponding scenes of the media device stream, each scene comprising an initial media device frame having a corresponding initial media device fingerprint and a last media device frame having a corresponding last media device fingerprint, each scene centroid representing a mean of fingerprints of the respective scene;

for each of at least two scene centroids, determining a distance between the respective scene centroid and the target media device fingerprint of the single target media device frame;

selecting, from the at least two scene centroids, a scene centroid having a shortest distance to the target media device fingerprint of the single target media device frame; and

based on the selected scene centroid having the shortest distance to the target media device fingerprint of the single target media device frame, determining that the respective scene represented by the selected scene centroid is a target scene to which the single target media device frame belongs such that the single target media device frame is one of a plurality of target media device frames that make up the respective scene.

12. The non-transitory computer readable medium of claim 11 , the set of acts further comprising:

receiving a broadcast fingerprint indicative of a broadcast frame of the target scene from a broadcast media stream; and

for the broadcast frame of the target scene:

determining a statistical correlation coefficient between the broadcast fingerprint and the target media device fingerprint;

determining whether the statistical correlation coefficient satisfies a correlation threshold; and

when the statistical correlation coefficient satisfies the correlation threshold, identifying the broadcast frame as matching the single target media device frame.

13. The non-transitory computer readable medium of claim 11 , wherein obtaining the scene centroids comprises:

receiving broadcast fingerprints indicative of broadcast frames of a broadcast media stream, the broadcast media stream comprising the scenes;

for each of at least two sequentially adjacent pairs of broadcast frames:

determining a statistical correlation coefficient between the respective broadcast fingerprints;

determining whether the statistical correlation coefficient satisfies a correlation threshold; and

when the statistical correlation coefficient satisfies the correlation threshold, identifying a first scene as ending at a first broadcast frame of the pair of broadcast frames and a second scene as starting at a second broadcast frame of the pair of broadcast frames; and

for each of at least two identified scenes, determining the respective scene centroid as the mean of fingerprints corresponding to the respective scene.

14. The non-transitory computer readable medium of claim 11 , wherein each of the obtained scene centroids represents a time centroid representing a range from an initial time of the initial media device fingerprint to a last time of the last media device fingerprint.

15. The non-transitory computer readable medium of claim 11 , wherein each fingerprint represents a 16 integer vector corresponding to average pixel values of sixteen sub-frames, the sixteen sub-frames defining a four by four array of the corresponding frame.

16. The method of claim 2 , wherein the statistical correlation coefficient is selected from the group consisting of a Pearson correlation coefficient, a Kendall correlation coefficient, and a Spearman correlation coefficient.

17. The system of claim 7 , wherein the statistical correlation coefficient is selected from the group consisting of a Pearson correlation coefficient, a Kendall correlation coefficient, and a Spearman correlation coefficient.

18. The non-transitory computer readable medium of claim 12 , wherein the statistical correlation coefficient is selected from the group consisting of a Pearson correlation coefficient, a Kendall correlation coefficient, and a Spearman correlation coefficient.

19. The method of claim 3 , wherein the statistical correlation coefficient is selected from the group consisting of a Pearson correlation coefficient, a Kendall correlation coefficient, and a Spearman correlation coefficient.

20. The system of claim 8 , wherein the statistical correlation coefficient is selected from the group consisting of a Pearson correlation coefficient, a Kendall correlation coefficient, and a Spearman correlation coefficient.

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: GRACENOTE, INC.; A. C. NIELSEN COMPANY, LLC; EXELATE, 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 Jun 20, 2019
From: CHEN, JUIKUN
To: SORENSON MEDIA, INC.
Reel/Frame 049541/0341 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2019
From: SORENSON MEDIA, INC.
To: THE NIELSEN COMPANY (US), LLC
Reel/Frame 049541/0498 →