IP Library Granted Patent US 11,102,550
Granted Patent B2
US 11,102,550 · App. 16/670,961 · Granted Aug 24, 2021

Method and system for presenting additional content at a media system

Inventor: Donald F. Gordon (Morgan Hills, CA)
Assignee: Roku, Inc.
H04N21/4722H04N21/23418H04N21/23892H04N21/254H04N21/278H04N21/4402H04N21/44008H04N21/44213H04N21/6581H04N21/812H04N21/8133H04N21/8358
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,102,550
App. No.
16/670,961
Granted
Aug 24, 2021
Kind
B2
Abstract

A media system, receives a received sequence of media content, for presentation at the media system and generates a comparison fingerprint of the received sequence of media content. The comparison fingerprint is for comparison with a plurality of reference fingerprints so as to identify the received sequence of media content. The media system sends a request for identification of additional content to a server system. The request is based at least in part on the comparison fingerprint. The media system receives a response to the request, including information enabling additional content to be selected for display at the media system based at least in part on the identification of the received sequence of media content, and presents a displayed sequence of media content that includes at least a portion of the received sequence of media content and at least a portion of the additional content.

Claims (72)

1. A method comprising:

receiving, by a computing system, a query fingerprint for comparison with a plurality of reference fingerprints, wherein the query fingerprint represents media content being broadcast by a broadcasting device and received by a client device;

selecting, by the computing system, a first subset of the plurality of reference fingerprints for comparison with the query fingerprint based on the reference fingerprints of the first subset corresponding to media content that is broadcast by the broadcasting device during a particular time period that (i) starts at a time point defined by a given time stamp, (ii) has a predefined duration and (iii) is offset after a current time of the computing system by a predefined time offset; and

performing, by the computing system, a first fingerprint comparison process comprising:

(i) comparing the query fingerprint to the first subset of the plurality of reference fingerprints;

(ii) determining that the comparison to the first subset does not result in a match between the query fingerprint and one of the reference fingerprints of the first subset; and

(iii) responsive to determining that the comparison to the first subset does not result in a match between the query fingerprint and one of the reference fingerprints of the first subset, performing, by the computing system, a second fingerprint comparison process comprising:

(a) comparing the query fingerprint to a second subset of the plurality of reference fingerprints, wherein the second subset is different from the first subset;

(b) identifying a match between the query fingerprint and one of the reference fingerprints of the second subset; and

(c) using the one of the reference fingerprints of the second subset to identify the media content being received by the client device.

2. The method of claim 1 , further comprising:

determining, by the computing system, the particular time period.

3. The method of claim 1 , further comprising:

responsive to identifying the media content being received by the client device, sending, by the computing system to the client device, a third subset of the plurality of reference fingerprints, wherein the third subset of the plurality of reference fingerprints corresponds to the identified media content being received by the client device.

4. The method of claim 1 , further comprising:

using, by the computing system, the identified media content being received by the client device as a basis for selecting additional media content; and

causing, by the computing system, the additional media content to be sent to the client device for presentation.

5. The method of claim 4 , wherein identifying the media content being received by the client device comprises identifying a reference position within the identified media content, and wherein the computing system further uses the identified reference position as a basis for selecting the additional media content.

6. The method of claim 4 , wherein the additional media content comprises at least one of (i) replacement media content to replace a portion of the identified media content being received by the client device or (ii) supplemental media content to be overlaid on a portion of the identified media content being received by the client device.

7. The method of claim 1 , wherein the predefined duration of the particular time period is about two seconds.

8. The method of claim 1 , wherein the predefined time offset of the particular time period is about four seconds.

9. The method of claim 1 , wherein the predefined duration of the particular time period is about two seconds and the predefined time offset of the particular time period is about four seconds.

10. The method of claim 1 , wherein the broadcasting device is a device associated with a content provider.

11. The method of claim 1 , wherein the broadcasting device is a device associated with a content distributor.

12. A non-transitory computer-readable storage medium having stored thereon program instructions that, when executed by one or more processors of a computing system, cause the computing system to perform operations comprising:

receiving a query fingerprint for comparison with a plurality of reference fingerprints, wherein the query fingerprint represents media content being broadcast by a broadcasting device and received by a client device;

selecting, by the computing system, a first subset of the plurality of reference fingerprints for comparison with the query fingerprint based on the reference fingerprints of the first subset corresponding to media content that is broadcast by the broadcasting device during a particular time period that (i) starts at a time point defined by a given time stamp, (ii) has a predefined duration and (iii) is offset after a current time of the computing system by a predefined time offset; and

performing a first fingerprint comparison process comprising:

(i) comparing the query fingerprint to the first subset of the plurality of reference fingerprints;

(ii) determining that the comparison to the first subset does not result in a match between the query fingerprint and one of the reference fingerprints of the first subset; and

(iii) responsive to determining that the comparison to the first subset does not result in a match between the query fingerprint and one of the reference fingerprints of the first subset, performing, by the computing system, a second fingerprint comparison process comprising:

(a) comparing the query fingerprint to a second subset of the plurality of reference fingerprints, wherein the second subset is different from the first subset;

(b) identifying a match between the query fingerprint and one of the reference fingerprints of the second subset; and

(c) using the one of the reference fingerprints of the second subset to identify the media content being received by the client device.

13. The non-transitory computer-readable storage medium of claim 12 , the operations further comprising:

determining the particular time period.

14. The non-transitory computer-readable storage medium of claim 12 , the operations further comprising:

responsive to identifying the media content being received by the client device, sending, to the client device, a third subset of the plurality of reference fingerprints, wherein the third subset of the plurality of reference fingerprints corresponds to the identified media content being received by the client device.

15. The non-transitory computer-readable storage medium of claim 12 , the operations further comprising:

using the identified media content being received by the client device as a basis for selecting additional media content; and

causing the additional media content to be sent to the client device for presentation.

16. The non-transitory computer-readable storage medium of claim 15 , wherein identifying the media content being received by the client device comprises identifying a reference position within the identified media content, and wherein the computing system further uses the identified reference position as a basis for selecting the additional media content.

17. The non-transitory computer-readable storage medium of claim 15 , wherein the additional media content comprises at least one of (i) replacement media content to replace a portion of the identified media content being received by the client device or (ii) supplemental media content to be overlaid on a portion of the identified media content being received by the client device.

18. The non-transitory computer-readable storage medium of claim 12 , wherein the predefined duration of the particular time period is about two seconds.

19. The non-transitory computer-readable storage medium of claim 12 , wherein the predefined time offset of the particular time period is about four seconds.

20. The non-transitory computer-readable storage medium of claim 12 , wherein the predefined duration of the particular time period is about two seconds and the predefined time offset of the particular time period is about four seconds.

21. The non-transitory computer-readable storage medium of claim 12 , wherein the broadcasting device is a device associated with a content provider.

22. The non-transitory computer-readable storage medium of claim 12 , wherein the broadcasting device is a device associated with a content distributor.

23. A computing system comprising one or more processors and a non-transitory computer-readable storage medium having stored thereon program instructions that, when executed by the one or more processors, cause the computing system to perform operations comprising:

receiving a query fingerprint for comparison with a plurality of reference fingerprints, wherein the query fingerprint represents media content being broadcast by a broadcasting device and received by a client device;

selecting, by the computing system, a first subset of the plurality of reference fingerprints for comparison with the query fingerprint based on the reference fingerprints of the first subset corresponding to media content that is broadcast by the broadcasting device during a particular time period that (i) starts at a time point defined by a given time stamp, (ii) has a predefined duration and (iii) is offset after a current time of the computing system by a predefined time offset; and

performing a first fingerprint comparison process comprising:

(i) comparing the query fingerprint to the first subset of the plurality of reference fingerprints;

(ii) if the comparison to the first subset results in a match between the query fingerprint and one of the reference fingerprints of the first subset, then using the one of the reference fingerprints of the first subset to identify the media content being received by the client device; and

(iii) if the comparison to the first subset does not result in a match between the query fingerprint and one of the reference fingerprints of the first subset, then performing a second fingerprint comparison process comprising:

(a) comparing the query fingerprint to a second subset of the plurality of reference fingerprints, wherein the second subset is different from the first subset;

(b) identifying a match between the query fingerprint and one of the reference fingerprints of the second subset; and

(c) using the one of the reference fingerprints of the second subset to identify the media content being received by the client device.

24. The computing system of claim 23 , the operations further comprising:

determining the particular time period.

25. The computing system of claim 23 , the operations further comprising:

responsive to identifying the media content being received by the client device, sending, to the client device, a third subset of the plurality of reference fingerprints, wherein the third subset of the plurality of reference fingerprints corresponds to the identified media content being received by the client device.

26. The computing system of claim 23 , the operations further comprising:

using the identified media content being received by the client device as a basis for selecting additional media content; and

causing the additional media content to be sent to the client device for presentation.

27. The computing system of claim 26 , wherein identifying the media content being received by the client device comprises identifying a reference position within the identified media content, and wherein the computing system further uses the identified reference position as a basis for selecting the additional media content.

28. The computing system of claim 26 , wherein the additional media content comprises at least one of (i) replacement media content to replace a portion of the identified media content being received by the client device or (ii) supplemental media content to be overlaid on a portion of the identified media content being received by the client device.

29. The computing system of claim 23 , wherein the predefined duration of the particular time period is about two seconds.

30. The computing system of claim 23 , wherein the predefined time offset of the particular time period is about four seconds.

31. The computing system of claim 23 , wherein the predefined duration of the particular time period is about two seconds and the predefined time offset of the particular time period is about four seconds.

32. The computing system of claim 23 , wherein the broadcasting device is a device associated with a content provider.

33. The computing system of claim 23 , wherein the broadcasting device is a device associated with a content distributor.

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: 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 1, 2019
From: GORDON, DONALD F.
To: BULLDOG UNITED LLC
Reel/Frame 050888/0862 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2019
From: BULLDOG UNITED LLC
To: GRACENOTE, INC.
Reel/Frame 050888/0909 →
Continuity (6)
Continuation 16017926 · Jun 25, 2018
Continuation 15375698 · Dec 12, 2016
Continuation 14475971 · Sep 3, 2014
Continuation 13286138 · Oct 31, 2011
Provisional Application 61409018 · Nov 1, 2010
Related Publication 20200068258A1 · Feb 27, 2020