IP Library Granted Patent US 11,269,840
Granted Patent B2
US 11,269,840 · App. 16/561,908 · Granted Mar 8, 2022

Methods and apparatus for efficient media indexing

Inventors: Matthew James Wilkinson (Emeryville, CA); Jeffrey Scott (Berkeley, CA); Robert Coover (Orinda, CA); Konstantinos Antonios Dimitriou (San Francisco, CA)
Assignee: Gracenote, Inc.
G06F16/2255G06F16/41G06F7/588
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,269,840
App. No.
16/561,908
Granted
Mar 8, 2022
Kind
B2
Abstract

Methods, apparatus, systems and articles of manufacture are disclosed for efficient media indexing. An example method disclosed herein includes selecting a first hash seed value based on a first entropy value calculated for a first bucket distribution resulting from use of the first hash seed value to store data in a first hash table, selecting a second hash seed value to be used in combination with the first hash seed value based on a second entropy value calculated on a second bucket distribution resulting from use of the first hash seed value in combination with the second hash seed value, and storing data in the first hash table based on the first hash seed value and a second hash table based on the second hash seed value.

Claims (54)

1. An apparatus comprising:

at least one memory;

instructions in the apparatus; and

processor circuitry to execute the instructions to:

initiate a list of hash seeds, the list of hash seeds including at least a first hash seed value and a second hash seed value among other hash seed values;

generate a first bucket distribution based on the first hash seed value and a first hash function;

determine a first entropy value of the first bucket distribution, wherein data associated with the first bucket distribution is stored in a first hash table;

generate a second bucket distribution based on the second hash seed value used in combination with the first hash seed value;

determine a second entropy value of the second bucket distribution;

select the second hash seed value to store in a second hash table when the second entropy value is greater than a plurality of other entropy values associated with other bucket distributions, the other bucket distributions generated using the other hash seed values, the first hash seed value or the second hash seed value used to identify a location of one or more subfingerprints associated with audio fingerprint data, the first entropy value or the second entropy value associated with a distribution of the one or more subfingerprints; and

retrieve the audio fingerprint data using the first hash table or the second hash table to reduce fingerprint search times.

2. The apparatus of claim 1 ,

wherein the processor circuitry is to determine a subset of hash seed values resulting in higher entropy values than other hash seed values of a set of hash seed values, the subset of hash seed values included in a set of hash seed values, the entropy values corresponding to a resulting bucket distribution when using ones of the hash seed values.

3. The apparatus of claim 1 , wherein the first hash seed value is to seed a first index and the second hash seed value is to seed a second hash index.

4. The apparatus of claim 1 , wherein the processor circuitry is to select a third hash seed value to be used in combination with the first hash seed value and the second hash seed value based on a third entropy value calculated on a third bucket distribution resulting from use of the first hash seed value in combination with the second hash seed value and the third hash seed value.

5. The apparatus of claim 4 , wherein the processor circuitry is to:

replace the second hash seed value with a fourth hash seed value;

calculate a fourth entropy value for a fourth bucket distribution resulting from use of the first hash seed value in combination with the fourth hash seed value and the third hash seed value; and

in response to the fourth entropy value being less than the third entropy value, reverse the replacement of the second hash seed value with the fourth hash seed value.

6. The apparatus of claim 1 , wherein the first hash seed value and the second hash seed value are generated by a random number generator.

7. The apparatus of claim 1 , wherein the first entropy value represents a uniformity of a distribution of data allocated between hash table buckets in the first hash table when using the first hash seed value.

8. A computer readable storage medium comprising computer readable instructions that, when executed, cause at least one processor to:

initiate a list of hash seeds, the list of hash seeds including at least a first hash seed value and a second hash seed value among other hash seed values;

generate a first bucket distribution based on the first hash seed value and a first hash function;

determine a first entropy value of the first bucket distribution, wherein data associated with the first bucket distribution is stored in a first hash table;

generate a second bucket distribution based on the second hash seed value used in combination with the first hash seed value;

determine a second entropy value of the second bucket distribution;

select the second hash seed value to store in a second hash table when the second entropy value is greater than a plurality of other entropy values associated with other bucket distributions, the other bucket distributions generated using the other hash seed values, the first hash seed value or the second hash seed value used to identify a location of one or more subfingerprints associated with audio fingerprint data, the first entropy value or the second entropy value associated with a distribution of the one or more subfingerprints; and

retrieve the audio fingerprint data using the first hash table or the second hash table to reduce fingerprint search times.

9. The computer readable storage medium of claim 8 , wherein the instructions, when executed, further cause the at least one processor to determine a subset of hash seed values resulting in higher entropy values than other hash seed values of a set of hash seed values, the subset of hash seed values included in a set of hash seed values, the entropy values corresponding to a resulting bucket distribution when using ones of the hash seed values.

10. The computer readable storage medium of claim 8 , wherein the first hash seed value is to seed a first index and the second hash seed value is to seed a second hash index.

11. The computer readable storage medium of claim 8 , wherein the instructions, when executed, further cause the at least one processor to select a third hash seed value to be used in combination with the first hash seed value and the second hash seed value based on a third entropy value calculated on a third bucket distribution resulting from use of the first hash seed value in combination with the second hash seed value and the third hash seed value.

12. The computer readable storage medium of claim 11 , wherein the instructions, when executed, further cause the at least one processor to:

replace the second hash seed value with a fourth hash seed value;

calculate a fourth entropy value for a fourth bucket distribution resulting from use of the first hash seed value in combination with the fourth hash seed value and the third hash seed value; and

in response to the fourth entropy value being less than the third entropy value, reverse the replacement of the second hash seed value with the fourth hash seed value.

13. The computer readable storage medium of claim 8 , wherein the first hash seed value and the second hash seed value are generated by a random number generator.

14. The computer readable storage medium of claim 8 , wherein the first entropy value represents a uniformity of a distribution of data allocated between hash table buckets in the first hash table when using the first hash seed value.

15. A method comprising:

initiating a list of hash seeds, the list of hash seeds including at least a first hash seed value and a second hash seed value among other hash seed values;

generating a first bucket distribution based on the first hash seed value and a first hash function;

determining a first entropy value of the first bucket distribution, wherein data associated with the first bucket distribution is stored in a first hash table;

generating a second bucket distribution based on the second hash seed value used in combination with the first hash seed value;

determining a second entropy value of the second bucket distribution;

selecting the second hash seed value to store in a second hash table when the second entropy value is greater than a plurality of other entropy values associated with other bucket distributions, the other bucket distributions generated using the other hash seed values, the first hash seed value or the second hash seed value used to identify a location of one or more subfingerprints associated with audio fingerprint data, the first entropy value or the second entropy value associated with a distribution of the one or more subfingerprints; and

retrieving the audio fingerprint data using the first hash table or the second hash table to reduce fingerprint search times.

16. The method of claim 15 , further including determining a subset of hash seed values resulting in higher entropy values than other hash seed values of a set of hash seed values, the subset of hash seed values included in a set of hash seed values, the entropy values corresponding to a resulting bucket distribution when using ones of the hash seed values.

17. The method of claim 15 , wherein the first hash seed value is to seed a first index and the second hash seed value is to seed a second hash index.

18. The method of claim 15 , further including selecting a third hash seed value to be used in combination with the first hash seed value and the second hash seed value based on a third entropy value calculated on a third bucket distribution resulting from use of the first hash seed value in combination with the second hash seed value and the third hash seed value.

19. The method of claim 18 , further including:

replacing the second hash seed value with a fourth hash seed value;

calculating a fourth entropy value for a fourth bucket distribution resulting from use of the first hash seed value in combination with the fourth hash seed value and the third hash seed value; and

in response to the fourth entropy value being less than the third entropy value, reversing the replacement of the second hash seed value with the fourth hash seed value.

20. The method of claim 15 , wherein the first hash seed value and the second hash seed value are generated by a random number generator.

Assignments (8)
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 →
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 →
SECURITY INTEREST Recorded May 8, 2023
From: GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; GRACENOTE, INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC
To: ARES CAPITAL CORPORATION
Reel/Frame 063574/0632 →
SECURITY INTEREST Recorded Apr 28, 2023
From: GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; GRACENOTE, INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC
To: CITIBANK, N.A.
Reel/Frame 063561/0381 →
SECURITY AGREEMENT Recorded Jan 31, 2023
From: GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; GRACENOTE, INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 063560/0547 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2021
From: WILKINSON, MATTHEW JAMES; SCOTT, JEFFREY; COOVER, ROBERT; DIMITRIOU, KONSTANTINOS ANTONIOS
To: GRACENOTE, INC.
Reel/Frame 054980/0212 →
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 →