IP Library Granted Patent US 8,655,878
Granted Patent B1
US 8,655,878 · App. 13/102,479 · Granted Feb 18, 2014

Scalable, adaptable, and manageable system for multimedia identification

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 8,655,878
App. No.
13/102,479
Granted
Feb 18, 2014
Kind
B1
Abstract

An architecture for a multimedia search system is described. To perform similarity matching of multimedia query frames against reference content, reference database comprising of a cluster index using cluster keys to perform similarity matching and a multimedia index to perform sequence matching is built. Methods to update and maintain the reference database that enables addition and removal of the multimedia contents, including portions of multimedia content, from the reference database in a running system are described. Hierarchical multi-level partitioning methods to organize the reference database are presented. Smart partitioning of the reference multimedia content according to the nature of the multimedia content, and according to the popularity among the social media, that supports scalable fast multimedia identification is also presented. A caching mechanism for multimedia search queries in a centralized or in a decentralized distributed system and a client based local multimedia search system enabling multimedia tracking are described.

Claims (71)

1. A method for creating a distributed reference multimedia database, the method comprising:

splitting a reference multimedia database into a first identifiable portion and a second identifiable portion;

storing the first identifiable portion at a first search server and the second identifiable portion at a second search server;

assigning a first query to the first search server based on the first identifiable portion stored therein and a second query to the second search server based on the second identifiable portion stored therein; and

searching for the first query at the first search server in parallel with the second query at the second search server to find a first content stored in the first identifiable portion and a second content stored in the second identifiable portion that have a close match to the associated first query and to the associated second query;

generating a hash key array from fingerprint signatures and metadata of multimedia content stored in the reference multimedia database;

splitting the hash key array into a first hash key array for the first identifiable portion and a second hash key array for the second identifiable portion;

storing the first hash key array in the first server to provide link reference addresses to multimedia content stored in the first server; and

storing the second hash key array in the second server to provide link reference addresses to multimedia content stored in the second server.

2. The method of claim 1 , wherein the first and second identifiable portions of the reference database are randomly selected portions.

3. The method of claim 1 , wherein the first and second identifiable portions of the reference database are selected according to categories identified by metadata associated with the multimedia content stored in the identifiable portions.

4. The method of claim 1 , wherein the first and second identifiable portions of the reference database are selected according to a reverse categorical splitting which distributes multimedia content of the same category across the first and second identifiable portions.

5. The method of claim 1 further comprising:

determining a first capacity of the first identifiable portion, a second capacity of the second identifiable portion, and a size of an update determined during the searching of the first query in parallel with the second query;

selecting the first identifiable portion or the second identifiable portion according to whether the update of the determined size cannot be stored in the first identifiable portion or cannot be stored in the second identifiable portion;

providing a write lock for the selected identifiable portion;

updating the capacity of the selected identifiable portion to accommodate the determined size of the update;

storing the update in the selected identifiable portion; and

releasing the write lock.

6. The method of claim 1 further comprising:

updating a selected identifiable portion during the searching of an associated query in multiple chunks of multimedia content, wherein the updates are accomplished as single entity updates done in parts.

7. The method of claim 1 further comprising:

updating a selected identifiable portion during the searching of an associated query in multiple chunks of multimedia content, wherein the updates to the selected identifiable portion are received from multiple sources.

8. The method of claim 7 , wherein the updates to the selected identifiable portion is a deletion of a chunk of multimedia content from the selected identifiable portion.

9. The method of claim 1 , further comprising:

reporting the first content and the second content in parallel to a client, wherein the client requested the first query and the second query.

10. The method of claim 1 , wherein the first search server and the second search server are grouped to form a combined search cluster.

11. The method of claim 1 , wherein a plurality of query signatures are assigned to the first search server and for each query signature a score is derived which are combined for the plurality of query signatures to give an overall score for a particular reference database clip associated with the query signatures.

12. The method of claim 1 further comprising:

combining results from the first search server and from the second search server to generate a final result.

13. A method for creating a tiered multimedia reference database, the method comprising:

splitting a reference multimedia database into a first identifiable portion having multimedia content representing most sought content and a second identifiable portion representing remaining content;

generating a first hash key array for the first identifiable portion and a second hash key array for the second identifiable portion;

storing the first identifiable portion and the first hash key array at a first search server and the second identifiable portion and the second hash key array at a second search server coupled to the first search server;

assigning a first query to the first search server; and

searching for the first query at the second search server using the second hash key array if a search for the first query at the first search server using the first hash key array is not successful to find multimedia content stored in the first search server.

14. The method of claim 12 further comprising:

storing a copy of the first identifiable portion and the first hash key array in a third search server configured to operate in parallel with the first server;

assigning a second query to the third search server; and

searching for the second query at the third search server using the first hash key array in parallel with the search for the first query at the first search server using the first hash key array.

15. The method of claim 14 further comprising:

assigning a third query to the first search server; and

searching for the third query at the first search server using the first hash key array in parallel with the search for the second query at the third search server using the first hash key array and in parallel with the search for the first query at the second search server using the second hash key array.

16. The method of claim 12 , wherein the first search server is a cluster of servers each having a copy of the first identifiable portion in a local reference database.

17. The method of claim 12 further comprising:

determining a first capacity of the first identifiable portion, a second capacity of the second identifiable portion, and a size of an update determined during search operations on an associated search server;

selecting the first identifiable portion or the second identifiable portion according to whether the update of the determined size cannot be stored in the first identifiable portion or cannot be stored in the second identifiable portion;

providing a write lock for the selected identifiable portion;

updating the capacity of the selected identifiable portion to accommodate the determined size of the update;

storing the update in the selected identifiable portion; and

releasing the write lock.

18. The method of claim 12 further comprising:

updating a selected identifiable portion during the searching of an associated query in multiple chunks of multimedia content, wherein the updates are accomplished as single entity updates done in parts.

19. The method of claim 12 further comprising:

updating a selected identifiable portion during the searching of an associated query in multiple chunks of multimedia content, wherein the updates to the selected identifiable portion are received from multiple sources.

20. The method of claim 19 , wherein the updates to the selected identifiable portion is a deletion of a chunk of multimedia content from the selected identifiable portion.

21. The method of claim 12 , wherein the most sought content is determined by keeping track of a number of matching search queries to determine reference content having the number of matching search queries greater than a prespecified most sought threshold.

22. A method for creating a distributed reference multimedia database, the method comprising:

generating a hash key array from fingerprint signatures and metadata of multimedia content stored in a reference multimedia database;

splitting the hash key array into a first hash key array for a first reference multimedia content stored on a first search server in a first multimedia database and a second hash key array for a second reference multimedia content stored on a second search server in a second multimedia database;

storing the first hash key array in the first search server to provide link reference addresses to the first reference multimedia content;

storing the second hash key array in the second search server to provide link reference addresses to the second reference multimedia content;

searching for a first query using the link reference addresses to the first reference multimedia content based on a first type of content stored therein to find a first content that has a close match to the first query; and

in parallel with searching for the first query, searching for a second query using the link reference addresses to the second reference multimedia content based on a second type of content stored therein to find a second content that has a close match to the second query.

23. The method of claim 22 , wherein reference multimedia content is randomly selected for storage in the first multimedia database and for storage in the second multimedia database.

24. The method of claim 22 , wherein a first category of reference multimedia content is selected for storage in the first multimedia database and a second category of reference multimedia content is selected for storage in the second multimedia database.

25. The method of claim 22 further comprising:

splitting the hash key array into a third hash key array for a third reference multimedia content stored on a third search server in a third multimedia database;

storing the third hash key array in the third search server to provide link reference addresses to the third reference multimedia content;

searching for a third query in the third reference multimedia content based on a third type of content stored therein to find a third content that has a close match to the third query.

26. The method of claim 25 , wherein the third search server is organized in a hierarchical arrangement with the first search server and with the second search server.

Assignments (14)
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 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 →