IP Library Granted Patent US 7,359,900
Granted Patent B2
US 7,359,900 · App. 10/629,372 · Granted Apr 15, 2008

Digital audio track set recognition system

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 7,359,900
App. No.
10/629,372
Granted
Apr 15, 2008
Kind
B2
Abstract

A system and method are provided for matching a track set from a digital audio recording to metadata relating to the recording. Track duration data is obtained for the track set, and the track duration data is rounded. A search is performed for matching records in a first database based on the rounded track duration data, each resulting matching record having an identifier. Track duration data is retrieved from a second database based on the identifiers associated with the matching records. If more than one matching record is found, the track duration data retrieved from the second database is compared to the track duration data obtained for the track set to find a best matching record of in the second database. Metadata contained in the best matching record of the second database is output.

Claims (41)

1. A method for matching a track set from a digital audio recording to metadata relating to the recording, the method comprising:

obtaining track duration data for the track set;

rounding the track duration data for the track set;

searching for matching records in a first database based on the rounded track duration data, each resulting matching record having an identifier, wherein records of the first database are generated by rounding a sequence of track durations computed from a table of contents data for each recording of a collection of digital audio recordings, wherein the rounding comprises:

generating a rounding entry for each value in the sequence of track durations by rounding each value in the sequence of track durations in a selected direction to a nearest integer multiple of a rounding factor when the value is not within a predetermined range of an integer multiple of the rounding factor, and

generating a first rounding entry and a second rounding entry for each value in the sequence of track durations when the value is within the predetermined range of an integer multiple of the rounding factor, the first rounding entry being the rounded value in the selected direction and the second rounding entry being at least one of an increment and a decrement of the first rounding entry;

generating multiple records for the first database from the sequence of track durations when at least one value in the sequence generates the first and second rounding entries;

retrieving track duration data from a second database based on the identifiers associated with the matching records;

comparing, if more than one matching record is found, the track duration data retrieved from the second database to the track duration data obtained for the track set to find a best matching record in the second database; and

outputting metadata contained in the best matching record of the second database.

2. The method according to claim 1 , further comprising comparing, for each matching record, the track duration data retrieved from the second database to the track duration data obtained for the track set to determine if each matching record meets a match quality threshold.

3. The method according to claim 1 , wherein the track duration data for the track set is received by a server from a client device via a network and the metadata is sent from the server to the client device via the network.

4. The method according to claim 1 , wherein the computed sequence of track duration data for each recording is obtained from the second database.

5. The method according to claim 1 , wherein the computed sequence of track durations for each recording is truncated to a predetermined number of tracks.

6. The method according to claim 1 , wherein the multiple records correspond to all possible permutations of the sequence resulting from values that generate first and second rounding entries.

7. The method according to claim 1 , wherein the best matching record of the second database is determined by computing a sum of squared differences between a sequence of values in the track duration data retrieved from the second database and a corresponding sequence of values in the track duration data obtained for the track set.

8. A system for providing information relating to a digital audio recording to a client device, the system comprising:

a server configured to receive track duration data for the digital audio recording via a network;

a first database configured to allow matching records to be found based on the track duration data after the track duration data has been rounded, each matching record having an identifier, wherein records of the first database are generated by rounding a sequence of track durations computed from a table of contents data for each recording of a collection of digital audio recordings, wherein the rounding comprises:

generating a rounding entry for each value in the sequence of track durations by rounding each value in the sequence of track durations in a selected direction to a nearest integer multiple of a rounding factor when the value is not within a predetermined range of an integer multiple of the rounding factor,

generating a first rounding entry and a second rounding entry for each value in the sequence of track durations when the value is within the predetermined range of an integer multiple of the rounding factor, the first rounding entry being the rounded value in the selected direction and the second rounding entry being at least one of an increment and a decrement of the first rounding entry,

wherein multiple records are generated for the first database from the sequence of track durations when at least one value in the sequence generates the first and second rounding entries;

a second database configured to allow track duration data to be retrieved based on the identifiers associated with the matching records found in the first database;

a comparison module for comparing the track duration data retrieved from the second database to the track durations data received for the recording to find a best matching record of the second database; and

an output module for sending information relating to the recording contained in the best matching record of the second database to the client device via the network.

9. Computer code stored on a computer readable storage medium for matching a track set from a digital audio recording to metadata relating to the recording, the computer code comprising:

code for obtaining track duration data for the track set;

code for rounding the track duration data for the track set;

code for searching for matching records in a first database based on the rounded track duration data, each resulting matching record having an identifier, wherein records of the first database are generated by rounding a sequence of track durations computed from a table of contents data for each recording of a collection of digital audio recordings, wherein computer code for the rounding of the sequence of track durations comprises:

generating a rounding entry for each value in the sequence of track durations by rounding each value in the sequence of track durations in a selected direction to a nearest integer multiple of a rounding factor when the value is not within a predetermined range of an integer multiple of the rounding factor, and

generating a first rounding entry and a second rounding entry for each value in the sequence of track durations when the value is within the predetermined range of an integer multiple of the rounding factor, the first rounding entry being the rounded value in the selected direction and the second rounding entry being at least one of an increment and a decrement of the first rounding entry;

generating multiple records for the first database from the sequence of track durations when at least one value in the sequence generates the first and second rounding entries;

code for retrieving track duration data from a second database based on the identifiers associated with the matching records; and

code for comparing, if more than one matching record is found, the track duration data retrieved from the second database to the track duration data obtained for the track set to find a best matching record in the second database;

code for outputting metadata contained in the best matching record of the second database.

10. The computer code according to claim 9 , further comprising code for comparing, for each matching record, the track duration data retrieved from the second database to the track duration data obtained for the track set to determine if each matching record meets a match quality threshold.

11. The computer code according to claim 9 , wherein the track duration data for the track set is received by a server from a client device via a network and the metadata is sent from the server to the client device via the network.

12. The computer code according to claim 9 , wherein the computed sequence of track duration data for each recording is obtained from the second database.

13. The computer code according to claim 9 , wherein the computed sequence of track durations for each recording is truncated to a predetermined number of tracks.

14. The computer code according to claim 9 , wherein the multiple records correspond to all possible permutations of the sequence resulting from values that have been rounded.

15. The computer code according to claim 9 , wherein the best matching record of the second database is determined by computing a sum of squared differences between a sequence of values in the track duration data retrieved from the second database and a corresponding sequence of values in the track duration data obtained for the track set.

Assignments (11)
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: HPS INVESTMENT PARTNERS, LLC
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053458/0749 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053481/0790 →
SECURITY INTEREST Recorded Jun 1, 2020
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS INC.; VEVEO, INC.; INVENSAS CORPORATION; INVENSAS BONDING TECHNOLOGIES, INC.; TESSERA, INC.; TESSERA ADVANCED TECHNOLOGIES, INC.; DTS, INC.; PHORUS, INC.; IBIQUITY DIGITAL CORPORATION
To: BANK OF AMERICA, N.A.
Reel/Frame 053468/0001 →
RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 25, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: APTIV DIGITAL INC.; GEMSTAR DEVELOPMENT CORPORATION; INDEX SYSTEMS INC.; ROVI GUIDES, INC.; ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; SONIC SOLUTIONS LLC; STARSIGHT TELECAST, INC.; UNITED VIDEO PROPERTIES, INC.; VEVEO, INC.
Reel/Frame 051145/0090 →
PATENT SECURITY AGREEMENT Recorded Nov 25, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 051110/0006 →
SECURITY INTEREST Recorded Nov 22, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: HPS INVESTMENT PARTNERS, LLC, AS COLLATERAL AGENT
Reel/Frame 051143/0468 →
PATENT RELEASE Recorded Jul 24, 2014
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ALL MEDIA GUIDE, LLC; APTIV DIGITAL, INC.; GEMSTAR DEVELOPMENT CORPORATION; INDEX SYSTEMS INC.; ROVI CORPORATION; ROVI GUIDES, INC.; ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; STARSIGHT TELECAST, INC.; TV GUIDE INTERNATIONAL, INC.; UNITED VIDEO PROPERTIES, INC.
Reel/Frame 033396/0001 →
PATENT SECURITY AGREEMENT Recorded Jul 24, 2014
From: APTIV DIGITAL, INC.; GEMSTAR DEVELOPMENT CORPORATION; INDEX SYSTEMS INC.; ROVI GUIDES, INC.; ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; SONIC SOLUTIONS LLC; STARSIGHT TELECAST, INC.; UNITED VIDEO PROPERTIES, INC.; VEVEO, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 033407/0035 →
SECURITY INTEREST Recorded Sep 13, 2011
From: APTIV DIGITAL, INC., A DELAWARE CORPORATION; GEMSTAR DEVELOPMENT CORPORATION, A CALIFORNIA CORPORATION; INDEX SYSTEMS INC, A BRITISH VIRGIN ISLANDS COMPANY; ROVI CORPORATION, A DELAWARE CORPORATION; ROVI GUIDES, INC., A DELAWARE CORPORATION; ROVI SOLUTIONS CORPORATION, A DELAWARE CORPORATION; ROVI TECHNOLOGIES CORPORATION, A DELAWARE CORPORATION; STARSIGHT TELECAST, INC., A CALIFORNIA CORPORATION; UNITED VIDEO PROPERTIES, INC., A DELAWARE CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 027039/0168 →
RELEASE OF SECURITY INTEREST Recorded Oct 29, 2010
From: JPMORGAN CHASE BANK, N.A. (A NATIONAL ASSOCIATION)
To: ALL MEDIA GUIDE, LLC; APTIV DIGITAL, INC.; GEMSTAR DEVELOPMENT CORPORATION; INDEX SYSTEMS INC.; ODS PROPERTIES, INC.; ROVI DATA SOLUTIONS, INC. (FORMERLY KNOWN AS TV GUIDE DATA SOLUTIONS, INC.); ROVI GUIDES, INC. (FORMERLY KNOWN AS GEMSTAR-TV GUIDE INTERNATIONAL, INC.); ROVI SOLUTIONS CORPORATION (FORMERLY KNOWN AS MACROVISION CORPORATION); ROVI SOLUTIONS LIMITED (FORMERLY KNOWN AS MACROVISION EUROPE LIMITED); ROVI TECHNOLOGIES CORPORATION; STARSIGHT TELECAST, INC.; TV GUIDE, INC.; TV GUIDE ONLINE, LLC; UNITED VIDEO PROPERTIES, INC.
Reel/Frame 025222/0731 →
SECURITY AGREEMENT Recorded May 15, 2008
From: APTIV DIGITAL, INC.; GEMSTAR DEVELOPMENT CORPORATION; GEMSTAR-TV GUIDE INTERNATIONAL, INC.; INDEX SYSTEMS INC; MACROVISION CORPORATION; ODS PROPERTIES, INC.; STARSIGHT TELECAST, INC.; TV GUIDE ONLINE, LLC; UNITED VIDEO PROPERTIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 020986/0074 →