IP Library Granted Patent US 10,979,758
Granted Patent B2
US 10,979,758 · App. 16/674,652 · Granted Apr 13, 2021

Dynamic control of fingerprinting rate to facilitate time-accurate revision of media content

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,979,758
App. No.
16/674,652
Granted
Apr 13, 2021
Kind
B2
Abstract

A computing system identifies a media stream being received by a client, based on fingerprint matching conducted with query fingerprints generated by the client at a frame rate. The computing system then causes the client to increase the frame rate, in order to facilitate establishment by the computing system of synchronous lock between true time within the media stream and client time according to an clock of the client. The computing system then uses the established synchronous lock as a basis to map a true-time point at which a content revision should be performed in the media stream to a client-time point at which the client should perform the content revision. And the computing system causes the client to perform the content revision at the determined client-time point.

Claims (46)

1. A method comprising:

receiving, by a computing system, query fingerprints representing a media stream being received by a client, wherein the query fingerprints are generated by the client at a frame rate;

determining by a computing system that the media stream being received by the client is a known media stream, wherein the determining is based on a comparison by the computing system of (i) the query fingerprints generated at the frame rate with (ii) reference fingerprints representing the known media stream;

responsive to the determining, causing by the computing system the client to increase the frame rate at which the client generates the query fingerprints being received by the computing system;

using by the computing system the query fingerprints generated at the increased frame rate as a basis to establish synchronous lock between (i) true time defined along a timeline within the known media stream and (ii) client time defined according to a clock of the client;

using by the computing system the established synchronous lock as a basis to determine a client-time point at which the client should perform ad replacement in the media stream being received by the client; and

causing the client to perform, at the determined client-time point, the ad replacement.

2. The method of claim 1 , wherein the media stream being received by the client has a frame rate, and wherein the frame rate at which the client generates the query fingerprints is different than the frame rate of the media stream.

3. The method of claim 1 , wherein performing the ad replacement at the determined client-time point comprises starting the ad replacement at the determined client-time point.

4. The method of claim 1 , wherein the computing system is implemented by a server in network communication with the client.

5. The method of claim 4 , wherein causing the client to increase the frame rate at which the client generates the query fingerprints being received by the computing system comprises transmitting to the client a directive to which the client is configured to respond by increasing the frame rate at which the client generates the query fingerprints being received by the computing system.

6. The method of claim 4 , wherein causing the client to perform the ad replacement at the determined client-time point comprises transmitting to the client a content-revision directive indicating the determined client-time point.

7. The method of claim 1 , wherein using the query fingerprints generated at the increased frame rate as a basis to establish synchronous lock between (i) true time defined along a timeline within the known media stream and (ii) client time defined according to a clock of the client comprises:

comparing the query fingerprints generated at the increased frame rate with reference fingerprints of the known media stream;

based on the comparing of the query fingerprints generated at the increased frame rate with the reference fingerprints of the known media stream, identifying at least one matching point defining a match between a query fingerprint and a reference fingerprint; and

establishing the synchronous lock based on a mapping between a client-time timestamp of the query fingerprint and a true-time timestamp of the reference fingerprint.

8. The method of claim 1 , wherein using the established synchronous lock as a basis to determine the client-time point at which the client should perform the ad replacement in the media stream being received by the client comprises using the established synchronous lock as a basis to map a predefined true-time point at which the ad replacement should be performed in the known media stream to a corresponding client-time point at which the client should perform the ad replacement in the media stream being received by the client.

9. The method of claim 1 , further comprising provisioning the client with a replacement ad that the client is to substitute for an existing ad in the media stream being received by the client.

10. A computing system comprising:

a network communication interface through which to transmit and receive;

a processing unit;

non-transitory data storage; and

program instructions stored in the non-transitory data storage and executable by the processing unit to cause the computing system to carry out operations including:

identifying a media stream being received by a media client, wherein the identifying includes (i) receiving query fingerprints of the media stream, the received query fingerprints being generated by the media client at a frame rate, and (ii) matching the received query fingerprints with reference fingerprints of a known media stream,

responsive to identifying the media stream, transmitting to the media client a directive that causes the media client to increase the frame rate of generating the query fingerprints,

establishing, based on the query fingerprints generated by the media client at the increased frame rate, synchronous lock between true time defined along a timeline within the known media stream and client time defined according to a clock of the media client,

using the established synchronous lock as a basis to determine a client-time point at which the media client should perform ad replacement in the media stream being received by the media client, and

transmitting to the media client a directive that causes the media client to perform, at the determined client-time point, the ad replacement.

11. The computing system of claim 10 , wherein the media stream being received by the client has a frame rate, and wherein the frame rate at which the client generates the query fingerprints is different than the frame rate of the media stream.

12. The computing system of claim 10 , wherein performing the ad replacement at the client-time point comprises starting the ad replacement at the client-time point.

13. The computing system of 10 , wherein establishing the synchronous lock includes (i) receiving the query fingerprints generated by the media client at the increased frame rate, (ii) detecting at least one match between the query fingerprints generated by the media client at the increased frame rate and reference fingerprints of the known media stream, and (iii) correlating a true-time timestamp of the at least one match with a client-time timestamp of the at least one match.

14. The computing system of claim 10 , wherein using the established synchronous lock as a basis to determine the client-time point at which the media client should perform the ad replacement in the media stream being received by the media client comprises using the established synchronous lock as a basis to map a predefined true-time point at which the ad replacement should be performed in the known media stream to a corresponding client-time point at which the media client should perform the ad replacement in the media stream being received by the media client.

15. A non-transitory computer readable medium storing instructions executable by a processing unit to carry out operations comprising:

identifying a media stream being received by a client, wherein the identifying includes (i) receiving query fingerprints of the media stream, the received query fingerprints being generated by the client at a frame rate and (ii) matching the query fingerprints with reference fingerprints of a known media stream;

responsive to identifying the media stream, causing the client to increase the frame rate of generating the query fingerprints;

establishing, based on the query fingerprints generated by the client at the increased frame rate, synchronous lock between true time defined along a timeline within the known media stream and client time defined according to a clock of the client;

using the established synchronous lock as a basis to determine a client-time point at which the client should perform ad replacement in the media stream being received by the client; and

causing the client to start, at the determined client-time point, the ad replacement.

16. The non-transitory computer readable medium of claim 14 , wherein the media stream being received by the client has a frame rate, and wherein the frame rate at which the client generates the query fingerprints is different than the frame rate of the media stream.

17. The non-transitory computer readable medium of claim 15 , wherein causing the client to increase the frame rate of generating the query fingerprints comprises outputting for transmission to the client a directive to which the client is configured to respond by increasing the frame rate at which the client generates the query fingerprints.

18. The non-transitory computer readable medium of claim 15 , wherein causing the client to perform the ad replacement at the determined client-time point comprises outputting for transmission to the client a content-revision directive indicating the determined client-time point.

19. The non-transitory computer readable medium of claim 15 , wherein establishing the synchronous lock comprises:

comparing the query fingerprints generated by the client at the increased frame rate with reference fingerprints of the known media stream;

based on the comparing of the query fingerprints generated at the increased frame rate with reference fingerprints of the known media stream, identifying at least one matching point defining a match between a query fingerprint and a reference fingerprint; and

establishing the synchronous lock based on a mapping between a client-time timestamp of the query fingerprint and a true-time timestamp of the reference fingerprint.

20. The non-transitory computer readable medium of claim 15 , wherein using the established synchronous lock as a basis to determine the client-time point at which the client should start the ad replacement in the media stream being received by the client comprises using the established synchronous lock as a basis to map a predefined true-time point at which the ad replacement should be started in the known media stream to a corresponding client-time point at which the client should start the ad replacement in the media stream being received by the client.

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 →
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 Nov 6, 2019
From: THIELEN, KURT R.; MERCHANT, SHASHANK C.; DUNKER, PETER; CREMER, MARKUS K.; SCHERF, STEVEN D.
To: GRACENOTE, INC.
Reel/Frame 050929/0919 →