IP Library Granted Patent US 11,294,956
Granted Patent B2
US 11,294,956 · App. 16/588,211 · Granted Apr 5, 2022

Automatic content recognition search optimization

Inventor: William Brimley (Draper, UT)
Assignee: MORGAN STANLEY SENIOR FUNDING, INC.
G06F16/783G06F16/7867G06F16/9535
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,294,956
App. No.
16/588,211
Granted
Apr 5, 2022
Kind
B2
Abstract

A processing device and a method are disclosed in which instructions are executed to determine, from a fingerprint of television content being consumed by a user, what program the user is watching so that program information may be sent for use by a smart device streaming the content to the user. The fingerprint may be compared with a database of fingerprints to find a match. The database may include fingerprints of favorite programs or of previously watched programs. The search may be narrowed according to the user's favorite programs or according to a subset of programs most likely to be watched, e.g., from a chronological history of programs the user usually watches and/or those that viewers in general usually watch in chronological order. When narrowed searches fail to find a fingerprint match, larger subsets up to and including the entire database may be searched for a match.

Claims (101)

1. A server comprising:

a database that comprises:

recently consumed content records that associate fingerprints with recently consumed content of a smart device that is remote from the server and that is in networked communication with the server; and

predicted content records that associate fingerprints with content a user of the smart device is most likely watching or about to watch at the smart device; and

a processor in communication with the database; and

a non-transitory computer-readable medium, in communication with the processor, having stored thereon instruction code executable by the processor to cause the processor to:

receive, from the smart device and via a network, a current content fingerprint associated with content being displayed to the user;

compare fingerprints specified in the recently consumed content records of the database with the current content fingerprint to identify a recently consumed content record associated with the current content fingerprint;

if a recently consumed content record is identified, communicate program information of a program associated with the recently consumed content record to the smart device via a network;

if a recently consumed content record is not found, compare fingerprints specified in the predicted content records of the database with the current content fingerprint to identify a predicted content record that matches the current content fingerprint; and

if a predicted content record is identified, communicate program information of a program associated with the predicted content record to the smart device.

2. The server according to claim 1 , wherein the database further comprises:

current content records that associate fingerprints with current content; and

all-content records that associate fingerprints with all content,

wherein the instruction code is further executable by the processor to cause the processor to:

before comparing the fingerprints specified in the recently consumed content records, compare fingerprints specified in the current content records of the database with the current content fingerprint to identify a current content record associated with the current content fingerprint;

if a current content record is found, communicate program information of a program associated with the current content record to the smart device;

if a current content record is not found, compare the fingerprints specified in the recently consumed content records;

after comparing the fingerprints specified in the recently consumed content records and before comparing the fingerprints specified in the predicted content records, compare fingerprints specified in the all-content records of the database for an all-content record that matches the current content fingerprint;

if an all-content record is found, communicate program information of a program associated with the all-content record to the smart device; and

if an all-content record is not found, compare the fingerprints specified in the predicted content records.

3. The server according to claim 2 , wherein the instruction code is further executable by the processor to cause the processor to:

determine favorite content of the user;

narrow the search of the all-content records to records associated with the favorite content;

if an all-content record is found during the narrowed search, communicate program information of a program associated with the all-content record to the smart device; and

if an all-content record is not found during the narrowed search, search all of the all-content records of the database for an all-content record that matches the current content fingerprint.

4. The server according to claim 1 , wherein the instruction code is further executable by the processor to cause the processor to:

track a chronological sequence of content watched by the user; and

populate the predicted content records of the database based on the chronological sequence of content.

5. The server according to claim 4 , wherein the instruction code is further executable by the processor to cause the processor to:

determine a probability that the user is watching or about to watch a program based on the chronological sequence of content; and

populate the predicted content records of the database when the probability is above a threshold probability.

6. The server according to claim 1 , wherein the instruction code is further executable by the processor to cause the processor to:

track a chronological sequence of content watched by a plurality of viewers; and

populate the predicted content records of the database based on the chronological sequence of content.

7. The server according to claim 1 , wherein the instruction code is further executable by the processor to cause the processor to:

determine a time of day associated with content watched by the user; and

populate the predicted content records of the database based on the time of day associated with content.

8. A method comprising:

receiving, by a server and from a smart device that is remote from the server and in networked communication with the server, a current content fingerprint associated with content being displayed to a user;

comparing, by the server, fingerprints specified in recently consumed content records of a database with the current content fingerprint to identify a recently consumed content record associated with the current content fingerprint, wherein the recently consumed content records associate fingerprints with recently consumed content of a smart device;

if a recently consumed content record is identified, communicating, by the server and via a network, program information of a program associated with the recently consumed content record to the smart device;

if a recently consumed content record is not found, comparing, by the server, fingerprints specified in predicted content records of the database with the current content fingerprint to identify a predicted content record that matches the current content fingerprint, wherein the predicted content records associate fingerprints with content a user of the smart device is most likely watching or about to watch at the smart device; and

if a predicted content record is identified, communicating, by the server, program information of a program associated with the predicted content record to the smart device.

9. The method according to claim 8 , wherein the database further comprises:

current content records that associate fingerprints with current content; and

all-content records that associate fingerprints with all content,

wherein the method further comprises:

before comparing the fingerprints specified in the recently consumed content records, comparing, by the server, fingerprints specified in the current content records of the database with the current content fingerprint to identify a current content record associated with the current content fingerprint;

if a current content record is found, communicating, by the server, program information of a program associated with the current content record to the smart device;

if a current content record is not found, comparing the fingerprints specified in the recently consumed content records;

after comparing the fingerprints specified in the recently consumed content records and before comparing the fingerprints specified in the predicted content records, comparing, by the server, fingerprints specified in the all-content records of the database for an all-content record that matches the current content fingerprint;

if an all-content record is found, communicating, by the server, program information of a program associated with the all-content record to the smart device; and

if an all-content record is not found, comparing the fingerprints specified in the predicted content records.

10. The method according to claim 9 , wherein the method further comprises:

determining, by the server, favorite content of the user;

narrowing, by the server, the search of the all-content records to records associated with the favorite content;

if an all-content record is found during the narrowed search, communicating, by the server, program information of a program associated with the all-content record to the smart device; and

if an all-content record is not found during the narrowed search, searching, by the server, all of the all-content records of the database for an all-content record that matches the current content fingerprint.

11. The method according to claim 8 , wherein the method further comprises:

tracking, by the server, a chronological sequence of content watched by the user; and

populating, by the server, the predicted content records of the database based on the chronological sequence of content.

12. The method according to claim 11 , wherein the method further comprises:

determining, by the server, a probability that the user is watching or about to watch a program based on the chronological sequence of content; and

populating, by the server, the predicted content records of the database when the probability is above a threshold probability.

13. The method according to claim 8 , wherein the method further comprises:

tracking, by the server, a chronological sequence of content watched by a plurality of viewers; and

populating, by the server, the predicted content records of the database based on the chronological sequence of content.

14. The method according to claim 8 , wherein the method further comprises:

determining, by the server, a time of day associated with content watched by the user; and

populating, by the server, the predicted content records of the database based on the time of day associated with content.

15. A non-transitory computer-readable medium having stored thereon instruction code executable by a machine for causing the machine to:

receive, from a smart device that is remote from the machine and that is in networked communication with the machine, a current content fingerprint associated with content being displayed to a user;

compare fingerprints specified in recently consumed content records of a database with the current content fingerprint to identify a recently consumed content record associated with the current content fingerprint, wherein the recently consumed content records associate fingerprints with recently consumed content of a smart device;

if a recently consumed content record is identified, communicate program information of a program associated with the recently consumed content record to the smart device via a network;

if a recently consumed content record is not found, compare fingerprints specified in predicted content records of the database with the current content fingerprint to identify a predicted content record that matches the current content fingerprint, wherein the predicted content records associate fingerprints with content the user of the smart device is most likely watching or about to watch at the smart device; and

if a predicted content record is identified, communicate program information of a program associated with the predicted content record to the smart device.

16. The non-transitory computer-readable medium according to claim 15 , wherein the database further comprises:

current content records that associate fingerprints with current content; and

all-content records that associate fingerprints with all content,

wherein instruction code is further executable by the machine to cause the machine to:

before comparing the fingerprints specified in the recently consumed content records, compare fingerprints specified in the current content records of the database with the current content fingerprint to identify a current content record associated with the current content fingerprint;

if a current content record is found, communicate program information of a program associated with the current content record to the smart device;

if a current content record is not found, compare the fingerprints specified in the recently consumed content records;

after comparing the fingerprints specified in the recently consumed content records and before comparing the fingerprints specified in the predicted content records, compare fingerprints specified in the all-content records of the database for an all-content record that matches the current content fingerprint;

if an all-content record is found, communicate program information of a program associated with the all-content record to the smart device; and

if an all-content record is not found, compare the fingerprints specified in the predicted content record.

17. The non-transitory computer-readable medium according to claim 16 , wherein instruction code is further executable by the machine to cause the machine to:

determine favorite content of the user;

narrow the search of the all-content records to records associated with the favorite content;

if an all-content record is found during the narrowed search, communicate program information of a program associated with the all-content record to the smart device; and

if an all-content record is not found during the narrowed search, search all of the all-content records of the database for an all-content record that matches the current content fingerprint.

18. The non-transitory computer-readable medium according to claim 15 , wherein instruction code is further executable by the machine to cause the machine to:

track a chronological sequence of content watched by the user; and

populate the predicted content records of the database based on the chronological sequence of content.

19. The non-transitory computer-readable medium according to claim 18 , wherein instruction code is further executable by the machine to cause the machine to:

determine a probability that the user is watching or about to watch a program based on the chronological sequence of content; and

populate the predicted content records of the database when the probability is above a threshold probability.

20. The non-transitory computer-readable medium according to claim 15 , wherein instruction code is further executable by the machine to cause the machine to:

track a chronological sequence of content watched by a plurality of viewers; and

populate the predicted content records of the database based on the chronological sequence of content.

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 Nov 11, 2019
From: SORENSON MEDIA, INC.
To: THE NIELSEN COMPANY (US), LLC
Reel/Frame 050973/0114 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2019
From: BRIMLEY, WILLIAM
To: SORENSON MEDIA, INC.
Reel/Frame 050935/0253 →
Continuity (3)
Continuation 14736158 · Jun 10, 2015
Provisional Application 62086048 · Dec 1, 2014
Related Publication 20200026730A1 · Jan 23, 2020