IP Library Granted Patent US 9,367,544
Granted Patent B2
US 9,367,544 · App. 13/826,502 · Granted Jun 14, 2016

Method for efficient database formation and search on media devices acting synchronously with television programming

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 9,367,544
App. No.
13/826,502
Granted
Jun 14, 2016
Kind
B2
Abstract

Techniques for efficient database formation and search in applications embedded in a media device are provided. The search may be performed synchronously with presentation of media programming content on a nearby media presentation device. A mobile media device captures some temporal fragments of the presented audio/video content on its microphone and camera, and then generates query fingerprints for the captured fragment. A local reference database resides on the mobile media device and a master reference database resides on a remote server with a most recent chunk of reference fingerprints transferred dynamically to the local mobile media device. A chunk of the query fingerprints generated locally on the mobile media device are searched on the local reference database for continuous content search and identification. The method presented automatically switches between the local search on the mobile media device and a remote search on an external search server.

Claims (48)

1. A method for efficiently querying a database on a media device, the method comprising:

forming a reference cache database with reference fingerprints on the media device partitioned for multiple search levels configured for query searching, wherein each search level represents a larger portion of the reference cache database than a previous search level;

searching for media content captured on the media device using fingerprints of the captured media content in response to a local query search in each search level in progressively larger portions of the reference cache database on the media device with automatic switching between a local search on the media device and a remote search on an external search database upon not finding reference fingerprints that match fingerprints of the captured media content in any search level portion of the reference cache database; and

upon finding matching fingerprints in the remote search, downloading and storing a chunk of reference media content fingerprints, from a neighborhood of matching reference fingerprints on the external search database, in the reference cache database on the media device, whereby the reference cache database is updated with current search area reference material, wherein the external search database sends down to one of the search level portions of the media device a chunk of reference fingerprints for further local querying and media content tracking if the queries for the media content captured on the media device are found in the external search database and wherein for a second level query, a reference search range is limited to a time span around a previous successful search match, plus or minus N seconds and wherein an internal second level counter of search misses is incremented if the second level query is not found in the reference cache database.

2. The method of claim 1 further comprising:

performing the local query search on multiple subsets of a full local database on the media device with multiple counters used to schedule and control the local query search.

3. The method of claim 1 further comprising:

downloading from a remote server having the external search database the chunk of reference media content fingerprints before the local query search reaches the end of the reference cache database in a local memory on the media device.

4. The method of claim 1 further comprising:

continuously capturing the media content on the media device from media programming playing on a media presentation device; and

tracking the captured media content by using reference fingerprints associated with the continuously captured media content locally stored on the media device.

5. The method of claim 1 , wherein if query fingerprints of the captured media content are not found in the reference cache database of the media device, the query fingerprints are transmitted to a remote server having the external search database for further search and content identification.

6. A method for efficiently querying a database on a media device, the method comprising:

forming a reference cache database on the media device partitioned for multiple levels of query search, wherein each search level represents a larger portion of the reference cache database than a previous search level;

querying each search level in progressively larger portions of the reference cache database on the media device with automatic switching between a local search on the media device and a remote search on an external search database upon not finding a match in any search level portion of the reference cache database; and

upon finding a match in the remote search, downloading a chunk of reference media content fingerprints from a neighborhood of matching reference fingerprints on the external search database to be stored in the reference cache database on the media device, whereby the reference cache database is updated with current search area reference material,

wherein the external search database sends down to the media device a chunk of reference fingerprints for further local querying and media content tracking if the queries are found in the external search database, and

wherein the external search database responds with a title and timing of the media content, along with related metadata, and sends these data down to the media device if the queries are found in the external search database.

7. A method for efficiently querying a database on a media device, the method comprising:

forming a reference cache database on the media device partitioned for multiple levels of query search, wherein each search level represents a larger portion of the reference cache database than a previous search level;

querying each search level in progressively larger portions of the reference cache database on the media device with automatic switching between a local search on the media device and a remote search on an external search database upon not finding a match in any search level portion of the reference cache database; and

upon finding a match in the remote search, downloading a chunk of reference media content fingerprints from a neighborhood of matching reference fingerprints on the external search database to be stored in the reference cache database on the media device, whereby the reference cache database is updated with current search area reference material,

wherein the external search database sends down to the media device a chunk of reference fingerprints for further local querying and media content tracking if the queries are found in the external search database, and

wherein query tracking a reference search range is limited to the search level portion adjacent to a previous successful search match and just slightly larger in time span than a query length.

8. A method for efficiently querying a database on a media device, the method comprising:

forming a reference cache database on the media device partitioned for multiple levels of query search, wherein each search level represents a larger portion of the reference cache database than a previous search level;

querying each search level in progressively larger portions of the reference cache database on the media device with automatic switching between a local search on the media device and a remote search on an external search database upon not finding a match in any search level portion of the reference cache database; and

upon finding a match in the remote search, downloading a chunk of reference media content fingerprints from a neighborhood of matching reference fingerprints on the external search database to be stored in the reference cache database on the media device, whereby the reference cache database is updated with current search area reference material,

wherein the external search database sends down to the media device a chunk of reference fingerprints for further local querying and media content tracking if the queries are found in the external search database, and

wherein for a second level query, the reference search range is limited to a time span around a previous successful search match, plus or minus N seconds.

9. A method for efficiently querying a database on a media device, the method comprising:

forming a reference cache database on the media device partitioned for multiple levels of query search, wherein each search level represents a larger portion of the reference cache database than a previous search level;

querying each search level in progressively larger portions of the reference cache database on the media device with automatic switching between a local search on the media device and a remote search on an external search database upon not finding a match in any search level portion of the reference cache database; and

upon finding a match in the remote search, downloading a chunk of reference media content fingerprints from a neighborhood of matching reference fingerprints on the external search database to be stored in the reference cache database on the media device, whereby the reference cache database is updated with current search area reference material,

wherein the external search database sends down to the media device a chunk of reference fingerprints for further local querying and media content tracking if the queries are found in the external search database, and

wherein for a third level query, a reference search range is the entire locally accessible set of fingerprints that have been downloaded to the media device.

10. The method of claim 9 , wherein an internal counter of the search misses is incremented if the third level query is not found in the reference cache database.

11. The method of claim 10 , wherein a count value of the internal counter is compared to a first threshold and if the count value is greater than the first threshold, then the queries are sent for a remote search on the external search database.

12. The method of claim 1 , wherein the media device's reference cache database is configured to hold a chunk of audio fingerprint data and video fingerprint data corresponding to a variable length of time.

13. A method for efficiently querying a database on a media device, the method comprising:

forming a reference cache database with reference fingerprints on the media device partitioned for multiple search levels configured for query searching, wherein each search level represents a larger portion of the reference cache database than a previous search level;

searching for media content captured on the media device using fingerprints of the captured media content in response to a local query search in each search level in progressively larger portions of the reference cache database on the media device with automatic switching between a local search on the media device and a remote search on an external search database upon not finding reference fingerprints that match fingerprints of the captured media content in any search level portion of the reference cache database; and

upon finding matching fingerprints in the remote search, downloading and storing a chunk of reference media content fingerprints, from a neighborhood of matching reference fingerprints on the external search database, in the reference cache database on the media device, whereby the reference cache database is updated with current search area reference material, wherein after a remote first count value of consecutive NOT FOUND results occurred in the remote search on the external search database, a next remote second count value of queries to the external search database for additional remote searches are suppressed.

14. A computer readable non-transitory medium encoded with computer readable program data and code, the program data and code when executed operable to:

form a reference cache database on the media device partitioned for multiple levels of query search, wherein each search level represents a larger portion of the reference cache database than a previous search level;

querying each search level in progressively larger portions of the reference cache database on the media device with automatic switching between a local search on the media device and a remote search on an external search database upon not finding a match in any search level portion of the reference cache database; and

upon finding a match in the remote search, downloading a chunk of reference media content fingerprints from a neighborhood of matching reference fingerprints on the external search database to be stored in the reference cache database on the media device, whereby the reference cache database is updated with current search area reference material, wherein the external search database sends down to the media device a chunk of reference fingerprints for further local querying and media content tracking if the queries are found in the external search database, and

wherein the external search database responds with a title and timing of the media content, along with related metadata, and sends these data down to the media device if the queries are found in the external search database.

Assignments (16)
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 →
RELEASE (REEL 042262 / FRAME 0601) Recorded Oct 13, 2022
From: CITIBANK, N.A.
To: GRACENOTE, INC.; GRACENOTE DIGITAL VENTURES, LLC
Reel/Frame 061748/0001 →
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 →
SUPPLEMENTAL SECURITY AGREEMENT Recorded Apr 13, 2017
From: GRACENOTE, INC.; GRACENOTE MEDIA SERVICES, LLC; GRACENOTE DIGITAL VENTURES, LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 042262/0601 →
RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Feb 8, 2017
From: JPMORGAN CHASE BANK, N.A.
To: GRACENOTE, INC.; CASTTV INC.; TRIBUNE MEDIA SERVICES, LLC; TRIBUNE DIGITAL VENTURES, LLC
Reel/Frame 041656/0804 →
SECURITY AGREEMENT Recorded Aug 12, 2016
From: GRACENOTE, INC.; CASTTV, INC.; TRIBUNE BROADCASTING COMPANY, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 039667/0565 →
SECURITY AGREEMENT Recorded Aug 14, 2015
From: GRACENOTE, INC.; TRIBUNE BROADCASTING COMPANY, LLC; CASTTV INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 036354/0793 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2015
From: ZEITERA, LLC
To: GRACENOTE, INC.
Reel/Frame 036027/0392 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2013
From: STOJANCIC, MIHAILO M.; KULKARNI, SUNIL SURESH; MERCHANT, SHASHANK; PEREIRA, JOSE PIO; BOLGAROV, OLEKSIY
To: ZEITERA, LLC
Reel/Frame 029999/0390 →