IP Library Granted Patent US 10,825,056
Granted Patent B1
US 10,825,056 · App. 14/468,080 · Granted Nov 3, 2020

Client-side video advertisement replacement using automatic content recognition

Inventor: Steven M. Cormie (Cambridge, GB)
Assignee: THE NIELSEN COMPANY (US), LLC
G06Q30/0269G06Q30/0261H04L67/1095H04N21/23424H04N21/812
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,825,056
App. No.
14/468,080
Granted
Nov 3, 2020
Kind
B1
Abstract

Systems and method for advertisement replacement are disclosed. A server may receive a server feed, generate a plurality of server fingerprints for a respective plurality of segments of the server feed, receive a synchronization message comprising a client fingerprint and a client time, match the client fingerprint with one of the plurality of server fingerprints, and send a synchronization response indicative of a server time associated with the one of the plurality of server fingerprints.

Claims (54)

1. A method comprising:

receiving, at a client device, a client feed comprising media content from a source device;

generating, by the client device, a sequence of client fingerprints for segments of the received client feed, each client fingerprint comprising a corresponding segment and client feed time indicating when the corresponding segment was received by the client device;

sending a synchronization message comprising at least one client fingerprint generated from the client device to a server device, the synchronization message when received by the server device causing the server device to identify a corresponding at least one server fingerprint generated by the server device for a corresponding segment of a server feed that matches the at least one client fingerprint of the received synchronization message;

receiving, at the client device, a synchronization response from the server device, the synchronization response comprising:

data indicative of a time difference between a server feed time associated with the identified at least one server fingerprint that matches the at least one client fingerprint of the received synchronization message and the client feed time associated with the at least one client fingerprint of the received synchronization message;

an upcoming server time for an upcoming segment to be replaced; and

a preceding server fingerprint of at least one frame that immediately precedes the upcoming server segment to be replaced;

determining, by the client device, a replacement time of the client feed for the segment to be replaced based on the upcoming server time and the time difference;

determining, by the client device, when the client device generates a corresponding preceding client fingerprint of the client feed that matches the preceding server fingerprint received from the server device; and

in response to the client device generating the corresponding preceding client fingerprint that matches the preceding server fingerprint, replacing, by the client device, the segment to be replaced in the client feed with a replacement advertisement at the replacement time.

2. The method of claim 1 , wherein the server device is configured to receive the server feed from the source device, the server feed comprising the same media content as the client feed.

3. The method of claim 1 , wherein the client feed received at the client device is delayed relative to the server feed received at the server device.

4. The method of claim 1 , wherein the server feed time associated with the identified at least one server fingerprint indicates when the corresponding server segment was sent to the server device from the source device.

5. The method of claim 1 , wherein receiving the client feed comprises receiving the client feed from the source device via one of an over-the-air broadcaster or a multichannel video programming distributor.

6. The method of claim 1 , wherein generating the sequence of client fingerprints for segments of the received client feed comprises generating the sequence of client fingerprints of frames of the received client feed.

7. The method of claim 1 , further comprising, in response to generating each client fingerprint for segments of the received client feed:

sending a corresponding synchronization message comprising a most recent generated client fingerprint from the client device to the sever device; and

receiving, at the client device, a corresponding synchronization response from the server device.

8. The method of claim 1 , wherein the synchronization response further comprises a length of the segment to be replaced.

9. The method of claim 1 , further comprising:

retrieving, by the client device, the replacement advertisement from a video advertisement server in communication with the client device; and

buffering, by the client device, the replacement advertisement prior the replacement time.

10. The method of claim 1 , further comprising:

storing, by the client device, the replacement advertisement in memory hardware at the client device; and

buffering, by the client device, the replacement advertisement prior the replacement time.

11. A client device comprising:

a processing device;

memory hardware in communication with the processing device and storing in instructions that when executed by the processing device cause the processing device to perform operations comprising:

receiving a client feed comprising media content from a source device;

generating a sequence of client fingerprints for segments of the received client feed, each client fingerprint comprising a corresponding segment and client feed time indicating when the corresponding segment was received by the client device;

sending a synchronization message comprising at least one client fingerprint generated from the client device to a server device, the synchronization message when received by the server device causing the server device to identify a corresponding at least one server fingerprint generated by the server device for a corresponding segment of a server feed that matches the at least one client fingerprint of the received synchronization message;

receiving a synchronization response from the server device, the synchronization response comprising:

data indicative of a time difference between a server feed time associated with the identified at least one server fingerprint that matches the at least one client fingerprint of the received synchronization message and the client feed time associated with the at least one client fingerprint of the received synchronization message;

an upcoming server time for an upcoming segment to be replaced; and

a preceding server fingerprint of at least one frame that immediately precedes the upcoming server segment to be replaced;

determining a replacement time of the client feed for the segment to be replaced based on the upcoming server time and the time difference;

determining when the client device generates a corresponding preceding client fingerprint of the client feed that matches the preceding server fingerprint received from the server device; and

in response to the client device generating the corresponding preceding client fingerprint that matches the preceding server fingerprint, replacing the segment to be replaced in the client feed with a replacement advertisement at the replacement time.

12. The client device of claim 11 , wherein the server device is configured to receive the server feed from the source device, the server feed comprising the same media content as the client feed.

13. The client device of claim 11 , wherein the client feed received at the client device is delayed relative to the server feed received at the server device.

14. The client device of claim 11 , wherein the server feed time associated with the identified at least one server fingerprint indicates when the corresponding server segment was sent to the server device from the source device.

15. The client device of claim 11 , wherein the receiving the client feed comprises receiving the client feed from the source device via one of an over-the-air broadcaster or a multichannel video programming distributor.

16. The client device of claim 11 , wherein generating the sequence of client fingerprints for segments of the received client feed comprises generating the sequence of client fingerprints of frames of the received client feed.

17. The client device of claim 11 , wherein the operations further comprise, in response to generating each client fingerprint for segments of the received client feed:

sending a corresponding synchronization message comprising a most recent generated client fingerprint to the sever device; and

receiving a corresponding synchronization response from the server device.

18. The client device of claim 11 , wherein the synchronization response further comprises a length of the segment to be replaced.

19. The client device of claim 11 , wherein the operations further comprise:

retrieving the replacement advertisement from a video advertisement server in communication with the client device; and

buffering the replacement advertisement prior the replacement time.

20. The client device of claim 11 , wherein the operations further comprise:

storing the replacement advertisement in the memory hardware; and

buffering the replacement advertisement prior the replacement time.

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 Apr 8, 2019
From: SORENSON MEDIA, INC.
To: THE NIELSEN COMPANY (US), LLC
Reel/Frame 048821/0331 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2014
From: CORMIE, STEVEN M.
To: SORENSON MEDIA, INC.
Reel/Frame 033615/0648 →