# US 12,117,987 B2 · Methods and apparatus for efficient media indexing

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,117,987 B2
- Document ID: US12117987B2
- Status: Granted
- Kind: B2
- Application number: 18/511,616
- Filed: 2023-11-16
- Published: 2024-03-14
- Granted: 2024-10-15
- Earliest claimed: 2018-09-06
- Assignees: Gracenote, Inc.
- Applicants: Gracenote, Inc.
- Inventors: Matthew James Wilkinson; Jeffrey Scott; Robert Coover; Konstantinos Antonios Dimitriou
- Web page: https://patentgrep.com/patent/US12117987B2

## CPC

- G06F 16/2255: {Hash tables}
- G06F 16/41: Indexing; Data structures therefor; Storage structures
- G06F 7/588: {Random number generators, i.e. based on natural stochastic processes}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods, apparatus, systems and articles of manufacture are disclosed for efficient media indexing. An example method disclosed herein includes means for 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, means for generating to generate a first bucket distribution based on the first hash seed value and a first hash function and generate a second bucket distribution based on the second hash seed value used in combination with the first hash seed value, means for determining to 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 and determine a second entropy value of the second bucket distribution.

## Claims

### Claim 1

A computing device comprising:
one or more processors; and
a computer-readable storage medium comprising computer readable instructions that, when executed, cause the one or more processors to perform a set of operations comprising:
generating a group of hash seeds, wherein the group comprises a first hash seed value, a second hash seed value, and a plurality of additional hash seed values;
determining a first entropy value of a first bucket distribution, wherein the first bucket distribution is based on the first hash seed value and a first hash function;
storing the first entropy value and the first hash seed value in a first hash table;
determining a second entropy value of a second bucket distribution, wherein the second bucket distribution is based on using the first hash seed value in combination with the second hash seed value;
determining that the second entropy value is greater than an entropy value associated with an additional bucket distribution, wherein the additional bucket distribution is based on one or more hash seed values in the plurality of additional hash seed values;
based on determining that the second entropy value is greater than an entropy value associated with an additional bucket distribution, storing the second entropy value and the second hash seed value in a second hash table; and
retrieving audio fingerprint data using the first hash table or the second hash table.

### Claim 2 (depends on 1)

The computing device of claim 1, wherein the first hash seed value is associated with a first hash index, and wherein the second hash seed value is associated with a second hash index.

### Claim 3 (depends on 2)

The computing device of claim 2, wherein the first hash index is different than the second hash index.

### Claim 4 (depends on 1)

The computing device of claim 1, wherein generating a group of hash seeds comprises generating a list of hash seeds, and wherein the list comprises the first hash seed value, the second hash seed value, and at least one additional hash seed value of the plurality of additional hash seed values.

### Claim 5 (depends on 1)

The computing device of claim 1, wherein at least one of the first hash seed value and the second hash seed value are based on predetermined list of integer values.

### Claim 6 (depends on 1)

The computing device of claim 1, wherein at least one of the first hash seed value and the second hash seed value are generated by a random number generator.

### Claim 7 (depends on 1)

The computing device of claim 1, wherein at least one of the first hash seed value or the second hash seed value is used to identify a location of one or more subfingerprints associated with the audio fingerprint data.

### Claim 8 (depends on 7)

The computing device of claim 7, wherein at least one of the first entropy value or the second entropy value is associated with a distribution of the one or more subfingerprints.

### Claim 9

A tangible non-transitory computer-readable storage medium comprising computer readable instructions that, when executed, cause one or more processors to perform a set of operations comprising:
generating a group of hash seeds, wherein the group comprises a first hash seed value, a second hash seed value, and a plurality of additional hash seed values;
determining a first entropy value of a first bucket distribution, wherein the first bucket distribution is based on the first hash seed value and a first hash function;
storing the first entropy value and the first hash seed value in a first hash table;
determining a second entropy value of a second bucket distribution, wherein the second bucket distribution is based on using the first hash seed value in combination with the second hash seed value;
determining that the second entropy value is greater than an entropy value associated with an additional bucket distribution, wherein the additional bucket distribution is based on one or more hash seed values in the plurality of additional hash seed values;
based on determining that the second entropy value is greater than an entropy value associated with an additional bucket distribution, storing the second entropy value and the second hash seed value in a second hash table; and
retrieving audio fingerprint data using the first hash table or the second hash table.

### Claim 10 (depends on 9)

The tangible non-transitory computer-readable storage medium of claim 9, wherein the first hash seed value is associated with a first hash index, and wherein the second hash seed value is associated with a second hash index.

### Claim 11 (depends on 10)

The tangible non-transitory computer-readable storage medium of claim 10, wherein the first hash index is different than the second hash index.

### Claim 12 (depends on 9)

The tangible non-transitory computer-readable storage medium of claim 9, wherein generating a group of hash seeds comprises generating a list of hash seeds, and wherein the list comprises the first hash seed value, the second hash seed value, and at least one additional hash seed value of the plurality of additional hash seed values.

### Claim 13 (depends on 9)

The tangible non-transitory computer-readable storage medium of claim 9, wherein at least one of the first hash seed value and the second hash seed value are based on predetermined list of integer values.

### Claim 14 (depends on 9)

The tangible non-transitory computer-readable storage medium of claim 9, wherein at least one of the first hash seed value and the second hash seed value are generated by a random number generator.

### Claim 15 (depends on 9)

The tangible non-transitory computer-readable storage medium of claim 9, wherein at least one of the first hash seed value or the second hash seed value is used to identify a location of one or more subfingerprints associated with the audio fingerprint data.

### Claim 16 (depends on 15)

The tangible non-transitory computer-readable storage medium of claim 15, wherein at least one of the first entropy value or the second entropy value is associated with a distribution of the one or more subfingerprints.

### Claim 17

A computer-implemented method comprising:
generating a group of hash seeds, wherein the group comprises a first hash seed value, a second hash seed value, and a plurality of additional hash seed values;
determining a first entropy value of a first bucket distribution, wherein the first bucket distribution is based on the first hash seed value and a first hash function;
storing the first entropy value and the first hash seed value in a first hash table;
determining a second entropy value of a second bucket distribution, wherein the second bucket distribution is based on using the first hash seed value in combination with the second hash seed value;
determining that the second entropy value is greater than an entropy value associated with an additional bucket distribution, wherein the additional bucket distribution is based on one or more hash seed values in the plurality of additional hash seed values;
based on determining that the second entropy value is greater than an entropy value associated with an additional bucket distribution, storing the second entropy value and the second hash seed value in a second hash table; and
retrieving audio fingerprint data using the first hash table or the second hash table.

### Claim 18 (depends on 17)

The computer-implemented method of claim 17, wherein the first hash seed value is associated with a first hash index, and wherein the second hash seed value is associated with a second hash index.

### Claim 19 (depends on 17)

The computer-implemented method of claim 17, wherein generating a group of hash seeds comprises generating a list of hash seeds, and wherein the list comprises the first hash seed value, the second hash seed value, and at least one additional hash seed value of the plurality of additional hash seed values.

### Claim 20 (depends on 17)

The computer-implemented method of claim 17, wherein at least one of the first hash seed value or the second hash seed value is used to identify a location of one or more subfingerprints associated with the audio fingerprint data.
