IP Library Granted Patent US 10,540,395
Granted Patent B2
US 10,540,395 · App. 16/037,346 · Granted Jan 21, 2020

Unordered matching of audio fingerprints

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 10,540,395
App. No.
16/037,346
Granted
Jan 21, 2020
Kind
B2
Abstract

A method includes computing match scores for each portion of multiple portions of a first audio fingerprint. The match scores are based on a comparison of the portion with each of multiple portions of a second audio fingerprint. The method includes applying a positional penalty to a highest score of the match scores for a portion of the first audio fingerprint and generating a list of runs based on the highest score for each portion of the multiple portions of the first audio fingerprint. The method includes determining, based on the list of runs, an unordered match between a set of consecutive portions of the first audio fingerprint and a set of non-consecutive portions of the second audio fingerprint. The method includes, in response to determining that a length of the unordered match satisfies a length criterion, outputting an indicator that the first audio fingerprint matches the second audio fingerprint.

Claims (49)

1. A method comprising:

computing, at a processor of a device, match scores for each portion of multiple portions of a first audio fingerprint, the match scores for a particular portion based on a comparison of the particular portion with each of multiple portions of a second audio fingerprint;

identifying, at the processor, a highest score of the match scores for each portion of the multiple portions of the first audio fingerprint;

applying, at the processor, a positional penalty to the highest score of the match scores for a first portion of the first audio fingerprint;

generating, at the processor, a list of runs based on the highest score for each portion of the multiple portions of the first audio fingerprint;

determining, based on the list of runs, an unordered match between a set of consecutive portions of the first audio fingerprint and a set of non-consecutive portions of the second audio fingerprint; and

in response to determining that a length of the unordered match satisfies a length criterion, outputting an indicator that the first audio fingerprint matches the second audio fingerprint.

2. The method of claim 1 , wherein the positional penalty is applied in response to determining that the highest scores of the match scores for a first set of consecutive portions of the first audio fingerprint correspond to a first set of non-consecutive portions of the second audio fingerprint, and wherein the first set of consecutive portions includes the first portion of the first audio fingerprint.

3. The method of claim 1 , wherein the match scores for the first portion of the first audio fingerprint include a first score corresponding to a first portion of the second audio fingerprint, wherein the first score is the highest score of the match scores for the first portion of the first audio fingerprint, and wherein applying the positional penalty includes updating the match scores for the first portion of the first audio fingerprint by reducing the first score corresponding to the first portion of the second audio fingerprint.

4. The method of claim 3 , further comprising, subsequent to updating the match scores for the first portion of the first audio fingerprint, identifying an updated highest score of the match scores for each portion of the multiple portions of the first audio fingerprint, wherein the list of runs is based on the updated highest score for each portion of the multiple portions of the first audio fingerprint.

5. The method of claim 1 , wherein determining the unordered match includes determining that at least one match score corresponding to each portion of the set of consecutive portions of the first audio fingerprint and a corresponding portion of the set of non-consecutive portions of the second audio fingerprint satisfies a similarity threshold.

6. The method of claim 1 , further comprising, prior to determining the unordered match:

determining that a number of portions of the first audio fingerprint have a highest match score corresponding to a first particular portion of the second audio fingerprint; and

in response to determining that the number of portions exceeds a threshold, removing a particular match score corresponding to the first particular portion of the second audio fingerprint from the match scores.

7. The method of claim 1 , wherein the length criterion is user-configurable.

8. The method of claim 1 , further comprising receiving the first audio fingerprint from a listening device, wherein the indicator includes data indicating a station associated with the second audio fingerprint, a timestamp corresponding to the first audio fingerprint, a user identifier associated with the listening device, or a combination thereof, and wherein the listening device comprises a microphone, a mobile device, a personal media monitor, or any combination thereof.

9. The method of claim 1 , further comprising:

receiving the second audio fingerprint from a field recorder; and

storing the second audio fingerprint.

10. The method of claim 1 , further comprising selecting a probe from the second audio fingerprint, wherein the match scores are computed in response to determining that the probe substantially matches at least one portion of the first audio fingerprint.

11. The method of claim 10 , wherein the probe comprises sixteen audio samples that are each one tenth of a second in length.

12. The method of claim 1 , wherein:

the list of runs includes alternating below-threshold runs and above-threshold runs,

each below-threshold run corresponds to a sequence of one or more of the multiple portions of the first audio fingerprint that have a highest score that is less than a similarity threshold, and

each above-threshold run corresponds to a sequence of one or more of the multiple portions of the first audio fingerprint that have a highest score that is greater than or equal to the similarity threshold, wherein the unordered match is based on determining that a longest above-threshold run in the list of runs corresponds to the set of consecutive portions of the first audio fingerprint and to the set of non-consecutive portions of the second audio fingerprint.

13. The method of claim 12 , further comprising replacing a below-threshold run in the list of runs with an aggregate of the below-threshold run and neighboring above-threshold runs in response to determining that the aggregate has an average match score that is greater than or equal to the similarity threshold.

14. The method of claim 12 , further comprising replacing an above-threshold run in the list of runs with an aggregate of the above-threshold run and neighboring below-threshold runs in response to determining that the aggregate has an average match score that is less than the similarity threshold.

15. The method of claim 1 , further comprising determining the length of the unordered match based on a size of each portion of the set of consecutive portions of the first audio fingerprint and a count of portions in the set of consecutive portions of the first audio fingerprint.

16. The method of claim 1 , further comprising, in response to determining that the length of the unordered match satisfies the length criterion, updating a count indicating a number of times media content has been played over a time period, wherein the second audio fingerprint represents the media content.

17. An apparatus comprising:

a communication interface configured to receive a first audio fingerprint from a listening device; and

a processor configured to:

compute match scores for each portion of multiple portions of the first audio fingerprint, the match scores for a particular portion based on a comparison of the particular portion with each of multiple portions of a second audio fingerprint;

identify a highest score of the match scores for each portion of the multiple portions of the first audio fingerprint;

apply a positional penalty to the highest score of the match scores for a first portion of the first audio fingerprint;

generate a list of runs based on the highest score for each portion of the multiple portions of the first audio fingerprint;

determine, based on the list of runs, an unordered match between a set of consecutive portions of the first audio fingerprint and a set of non-consecutive portions of the second audio fingerprint; and

in response to determining that a length of the unordered match satisfies a length criterion, generate an indicator that the first audio fingerprint matches the second audio fingerprint.

18. The apparatus of claim 17 , wherein the length criterion is based at least in part on a programming element represented by the second audio fingerprint, wherein the programming element comprises an advertisement programming element or a song programming element.

19. A computer-readable storage device storing instructions that, when executed by a computer, cause the computer to perform operations comprising:

computing match scores for each portion of multiple portions of a first audio fingerprint, the match scores for a particular portion based on a comparison of the particular portion with each of multiple portions of a second audio fingerprint;

identifying a highest score of the match scores for each portion of the multiple portions of the first audio fingerprint;

applying a positional penalty to the highest score of the match scores for a first portion of the first audio fingerprint;

generating a list of runs based on the highest score for each portion of the multiple portions of the first audio fingerprint;

determining, based on the list of runs, an unordered match between a set of consecutive portions of a first audio fingerprint and a set of non-consecutive portions of the second audio fingerprint; and

in response to determining that a length of the unordered match satisfies a length criterion, outputting an indicator that the first audio fingerprint matches the second audio fingerprint.

20. The computer-readable storage device of claim 19 , wherein the operations further comprise:

in response to determining that a first station is associated with the second audio fingerprint, setting the length criterion to indicate a first length; and

in response to determining that a second station is associated with the second audio fingerprint, setting the length criterion to indicate a second length.

Assignments (17)
RELEASE OF SECURITY INTEREST Recorded May 5, 2026
From: BANK OF AMERICA, N.A., AS SUCCESSOR COLLATERAL AGENT TO CITIBANK, N.A., AS COLLATERAL AGENT
To: IHEART COMMUNICATIONS, INC.; IHEARTMEDIA MANAGEMENT SERVICES, INC.
Reel/Frame 075557/0138 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (REEL/FRAME 050017/0882) Recorded Jan 1, 2025
From: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
To: IHEARTCOMMUNICATIONS, INC.; IHEARTMEDIA MANAGEMENT SERVICES, INC.
Reel/Frame 069795/0626 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (REEL/FRAME 049067/0800) Recorded Dec 31, 2024
From: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION (FORMERLY KNOWN AS U.S. BANK NATIONAL ASSOCIATION)
To: IHEARTCOMMUNICATIONS, INC.; IHEARTMEDIA MANAGEMENT SERVICES, INC.
Reel/Frame 069795/0423 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (REEL/FRAME 049079/0814) Recorded Dec 31, 2024
From: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION (FORMERLY KNOWN AS U.S. BANK NATIONAL ASSOCIATION)
To: IHEARTCOMMUNICATIONS, INC.; IHEARTMEDIA MANAGEMENT SERVICES, INC.
Reel/Frame 069795/0488 →
PATENT SECURITY AGREEMENT Recorded Dec 29, 2024
From: IHEARTMEDIA MANAGEMENT SERVICES, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 069795/0912 →
PATENT SECURITY AGREEMENT Recorded Dec 28, 2024
From: IHEARTMEDIA MANAGEMENT SERVICES, INC.
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 069793/0758 →
PATENT SECURITY AGREEMENT Recorded Dec 28, 2024
From: IHEARTMEDIA MANAGEMENT SERVICES, INC.
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 069794/0248 →
PATENT SECURITY AGREEMENT Recorded Dec 27, 2024
From: IHEARTMEDIA MANAGEMENT SERVICES, INC.
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 069792/0335 →
PATENT SECURITY AGREEMENT Recorded Dec 23, 2024
From: IHEARTMEDIA MANAGEMENT SERVICES, INC.
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 069762/0453 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Feb 5, 2020
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: BANK OF AMERICA, N.A., AS SUCCESSOR COLLATERAL AGENT
Reel/Frame 052144/0833 →
PATENT SECURITY AGREEMENT Recorded Nov 23, 2019
From: IHEART COMMUNICATIONS, INC.; IHEARTMEDIA MANAGEMENT SERVICES, INC.
To: U. S. BANK NATIONAL ASSOCIATION
Reel/Frame 051143/0579 →
SECURITY INTEREST Recorded Aug 9, 2019
From: IHEART COMMUNICATIONS, INC.; IHEARTMEDIA MANAGEMENT SERVICES, INC.
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 050017/0882 →
SECURITY INTEREST Recorded May 2, 2019
From: IHEARTCOMMUNICATIONS, INC.; IHEARTMEDIA MANAGEMENT SERVICES, INC.
To: U.S. BANK NATIONAL ASSOCIATION AS COLLATERAL AGENT
Reel/Frame 049067/0800 →
SECURITY INTEREST Recorded May 2, 2019
From: IHEARTCOMMUNICATIONS, INC.; IHEARTMEDIA MANAGEMENT SERVICES, INC.
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 049079/0814 →
SECURITY INTEREST Recorded May 2, 2019
From: IHEARTCOMMUNICATIONS, INC.; IHEARTMEDIA MANAGEMENT SERVICES, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 049067/0606 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2018
From: ANNIBALLI, DYON
To: CLEAR CHANNEL MANAGEMENT SERVICES, INC.
Reel/Frame 046371/0365 →
CHANGE OF NAME Recorded Jul 17, 2018
From: CLEAR CHANNEL MANAGEMENT SERVICES, INC.
To: IHEARTMEDIA MANAGEMENT SERVICES, INC.
Reel/Frame 046560/0059 →