IP Library Granted Patent US 7,451,078
Granted Patent B2
US 7,451,078 · App. 10/905,360 · Granted Nov 11, 2008

Methods and apparatus for identifying media objects

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,451,078
App. No.
10/905,360
Granted
Nov 11, 2008
Kind
B2
Abstract

A method, apparatus and computer memory are provided for generating an audio fingerprint of an audio recording. A memory stores stable frequency family data corresponding to a plurality of stable frequency families. A processor curve fits audio recording data to at least one of the stable frequency families, extracts at least one variation from the curve fitted audio recording data, and creates the audio fingerprint of the audio recording from the at least one variation.

Claims (165)

1. An apparatus for generating an audio fingerprint of an audio recording, comprising:

a memory adapted to store stable frequency family data corresponding to a plurality of stable frequency families;

a processor operable to curve fit audio recording data to at least one of the stable frequency families, extract at least one variation from the curve fitted audio recording data, and create the audio fingerprint of the audio recording from the at least one variation, wherein the audio recording data is ordered in time in relation to the stable frequency family data.

2. An apparatus according to claim 1 , the processor operable to combine the frequency families of the curve fitted audio recording, create a summary matrix from a subset of the combined frequency families, and detect the at least one variation from the summary matrix.

3. An apparatus according to claim 2 , wherein the processor is further operable to determine the difference between successive values within each one of the combined frequency families and increase the value of each element of the summary matrix.

4. An apparatus according to claim 2 , wherein the at least one variation is based on at least one of the predominance and presence of the combined frequency families.

5. An apparatus according to claim 2 , the processor further operable to sum the frequency families of the summary matrix, average the summed frequency and add a deviation to the average of the summed frequency families, wherein the at least one variation is based on the average of the summed frequency families plus the deviation.

6. An apparatus according to claim 2 , wherein the at least one variation is the sum of the total variation of a predetermined number of the highest variation frequency families.

7. An apparatus according to claim 2 , wherein the at least one variation is the sum of a predetermined number of the frequency families having the highest level of variation.

8. An apparatus according to claim 2 , wherein the memory is further adapted to store an integer, wherein a predetermined number of bits of the integer are set to indicate the frequency families with the highest level of variation.

9. An apparatus according to claim 2 , wherein the at least one variation is based on the translation of the total running time of an audio file.

10. An apparatus according to claim 1 , wherein the processor is further operable to measure the range of differences of a plurality of audio recordings between different renderings of said audio recordings and select a predetermined number of frequencies having the highest degree of resistance to the different renderings, thereby determining the stable frequency families.

11. An apparatus according to claim 10 , wherein the processor is further operable to store in the memory the data corresponding to the stable frequency families.

12. An apparatus according to claim 1 , wherein the processor is further operable to sequentially store the audio recording data into a plurality of integer arrays corresponding to the stable frequency families.

13. An apparatus according to claim 12 , wherein each one of the integer arrays has a length of a full cycle corresponding to one of the stable frequency families.

14. An apparatus according to claim 1 , wherein the processor is further operable to skip a predetermined amount of the audio recording data.

15. An apparatus according to claim 2 , wherein the processor is further operable to normalize the combined frequency families into a predetermined range of values.

16. An apparatus according to claim 2 , wherein the processor is further operable to shift a plurality of points in the summary matrix.

17. An apparatus according to claim 2 , wherein the processor is further operable to compensate for a time shift in the audio recording.

18. An apparatus according to claim 1 , wherein the processor is further operable to match the audio fingerprint to a known fingerprint stored in a database.

19. An apparatus according to claim 1 , wherein the processor is further operable to recognize the audio fingerprint based on at least one of the variations.

20. An apparatus according to claim 18 , wherein the processor is further adapted to retrieve metadata from the database corresponding to the audio fingerprint.

21. A network computer system, comprising the apparatus for generating an audio fingerprint of claim 1 .

22. A device-embedded system, comprising the apparatus for generating an audio fingerprint of claim 1 .

23. A method for generating an audio fingerprint of an audio recording, comprising:

ordering audio recording data in time to form ordered audio recording data;

curve fitting the ordered audio recording data to at least one stable frequency family;

extracting at least one variation from the curve fitted audio recording data; and

creating the audio fingerprint of the audio recording from the at least one variation.

24. A method according to claim 23 , further comprising:

combining the frequency families of the curve fitted audio recording; creating a summary matrix from a subset of the combined frequency families; and detecting the at least one variation from the summary matrix.

25. A method according to claim 24 , further comprising:

determining the difference between successive values within each one of the combined frequency families; and increasing the value of each element of the summary matrix.

26. A method according to claim 24 , further comprising:

determining the predominance and presence of the combined frequency families, wherein the at least one variation is based on the determination.

27. A method according to claim 24 , further comprising:

summing the frequency families of the summary matrix; and

averaging the result of the summing step; and

adding a deviation to the averaging step,

wherein the at least one variation is based on the average of the summed frequency families plus a deviation.

28. A method according to claim 24 , further comprising:

summing the total variation of a predetermined number of the highest variation frequency families, wherein the at least one variation is the result of the summing step.

29. A method according to claim 24 , further comprising:

summing a predetermined number of the frequency families having the highest level of variation, wherein the at least one variation is the result of the summing step.

30. A method according to claim 24 , further comprising:

setting a predetermined number of bits of an integer array to indicate the frequency families with the highest level of variation.

31. A method according to claim 24 , further comprising:

translating the total running time of an audio file, wherein the at least one variation is based on the result of the translating step.

32. A method according to claim 23 , further comprising:

measuring the range of differences of a plurality of audio recordings between different renderings of said audio recordings; and

selecting a predetermined number of frequencies having the highest degree of resistance to the different renderings, thereby determining the stable frequency families.

33. A method according to claim 32 , further comprising:

recording the data corresponding to the stable frequency families.

34. A method according to claim 23 , further comprising:

sequentially storing the audio recording data into a plurality of integer arrays corresponding to the stable frequency families.

35. A method according to claim 34 , wherein each one of the integer arrays has a length of a full cycle corresponding to one of the stable frequency families.

36. A method according to claim 23 , further comprising:

skipping a predetermined amount of the audio recording data.

37. A method according to claim 24 , further comprising:

normalizing the combined frequency families into a predetermined range of values.

38. A method according to claim 24 , further comprising:

shifting a plurality of points in the summary matrix.

39. A method according to claim 24 , further comprising:

compensating for a time shift in the audio recording.

40. A method according to claim 23 , further comprising:

matching the audio fingerprint to a known fingerprint stored in a database.

41. A method according to claim 23 , further comprising:

recognizing the audio fingerprint based on at least one of the variations.

42. A method according to claim 41 , further comprising:

retrieving metadata from the database corresponding to the audio fingerprint.

43. An apparatus for generating an audio fingerprint of an audio recording, comprising:

means for curve fitting audio recording data to at least one stable frequency family;

means for extracting at least one variation from the curve fitted audio recording data; and

means for creating the audio fingerprint of the audio recording from the at least one variation,

wherein the audio recording data is ordered in time in relation to the stable frequency family data.

44. An apparatus according to claim 43 , further comprising:

means for combining the frequency families of the curve fitted audio recording; means for creating a summary matrix from a subset of the combined frequency families; and

means for detecting the at least one variation from the summary matrix.

45. An apparatus according to claim 44 , further comprising:

means for determining the difference between successive values within each one of the combined frequency families; and

means for increasing the value of each element of the summary matrix.

46. An apparatus according to claim 44 , further comprising:

means for determining the predominance and presence of the combined frequency families, wherein the at least one variation is based the determination.

47. An apparatus according to claim 44 , further comprising:

means for summing the frequency families of the summary matrix; and

means for averaging the result of the summing step; and

means for adding a deviation to the averaging step,

wherein the at least one variation is based on the average of the summed frequency families plus a deviation.

48. An apparatus according to claim 44 , further comprising:

means for summing the total variation of a predetermined number of the highest variation frequency families to obtain the at least one variation.

49. An apparatus according to claim 44 , further comprising:

means for summing a predetermined number of the frequency families having the highest level of variation to obtain the at least one variation.

50. An apparatus according to claim 44 , further comprising:

means for setting a predetermined number of bits of an integer away to indicate the frequency families with the highest level of variation.

51. An apparatus according to claim 44 , further comprising: means for translating the total running time of an audio file to obtain the at least one variation.

52. An apparatus according to claim 43 , further comprising:

means for measuring the range of differences of a plurality of audio recordings between different renderings of said audio recordings; and

means for selecting a predetermined number of frequencies having the highest degree of resistance to the different renderings, thereby determining the stable frequency families.

53. An apparatus according to claim 52 , further comprising:

means for recording the data corresponding to the stable frequency families.

54. An apparatus according to claim 43 , further comprising:

means for sequentially storing the audio recording data into a plurality of integer means for arrays corresponding to the stable frequency families.

55. An apparatus according to claim 54 , wherein each one of the integer arrays has a length of a full cycle corresponding to one of the stable frequency families.

56. An apparatus according to claim 43 , further comprising:

means for skipping a predetermined amount of the audio recording data.

57. An apparatus according to claim 44 , further comprising:

means for normalizing the combined frequency families into a predetermined range of values.

58. An apparatus according to claim 44 , further comprising:

means for shifting a plurality of points in the summary matrix.

59. An apparatus according to claim 44 , further comprising:

means for compensating for a time shift in the audio recording.

60. An apparatus according to claim 43 , further comprising:

means for matching the audio fingerprint to a known fingerprint stored in a database.

61. An apparatus according to claim 43 , further comprising:

means for recognizing the audio fingerprint based on at least one of the variations.

62. apparatus according to claim 61 , further comprising: means for retrieving metadata from the database corresponding to the audio fingerprint.

63. Computer-readable medium containing code for generating an audio fingerprint of an audio recording, said code for:

ordering audio recording data in time to form ordered audio recording data;

curve fitting the ordered audio recording data to at least one stable frequency family;

extracting at least one variation from the curve fitted audio recording data; and

creating the audio fingerprint of the audio recording from the at least one variation.

64. Computer-readable medium containing code according to claim 63 , further including code for:

combining the frequency families of the curve fitted audio recording;

creating a summary matrix from a subset of the combined frequency families; and

detecting the at least one variation from the summary matrix.

65. Computer-readable medium containing code according to claim 64 , further including code for:

determining the difference between successive values within each one of the combined frequency families; and increasing the value of each element of the summary matrix.

66. Computer-readable medium containing code according to claim 64 , further including code for:

determining the predominance and presence of the combined frequency families, wherein the at least one variation is based on the determination step.

67. Computer-readable medium containing code according to claim 64 , further including code for:

summing the frequency families of the summary matrix; and

averaging the result of the summing step; and

adding a deviation to the averaging step,

wherein the at least one variation is based on the average of the summed frequency families plus a deviation.

68. Computer-readable medium containing code according to claim 64 , further including code for:

summing the total variation of a predetermined number of the highest variation frequency families, wherein the at least one variation is the result of the summing step.

69. Computer-readable medium containing code according to claim 64 , further including code for:

summing a predetermined number of the frequency families having the highest level of variation, wherein the at least one variation is the result of the summing step.

70. Computer-readable medium containing code according to claim 64 , further including code for:

setting a predetermined number of bits of an integer array to indicate the frequency families with the highest level of variation.

71. Computer-readable medium containing code according to claim 64 , further including code for:

translating the total running time of an audio file, wherein the at least one variation is based on the result of the translating step.

72. Computer-readable medium containing code according to claim 63 , further including code for:

measuring the range of differences of a plurality of audio recordings between different renderings of said audio recordings; and

selecting a predetermined number of frequencies having the highest degree of resistance to the different renderings, thereby determining the stable frequency families.

73. Computer-readable medium containing code according to claim 72 , further including code for: recording the data corresponding to the stable frequency families.

74. Computer-readable medium containing code according to claim 63 , further including code for:

sequentially storing the audio recording data into a plurality of integer arrays corresponding to the stable frequency families.

75. Computer-readable medium containing code according to claim 74 , wherein each one of the integer arrays has a length of a full cycle corresponding to one of the stable frequency families.

76. Computer-readable medium containing code according to claim 63 , further including code for:

skipping a predetermined amount of the audio recording data.

77. Computer-readable medium containing code according to claim 64 , further including code for:

normalizing the combined frequency families into a predetermined range of values.

78. Computer-readable medium containing code according to claim 64 , further including code for:

shifting a plurality of points in the summary matrix.

79. Computer-readable medium containing code according to claim 64 , further including code for:

compensating for a time shift in the audio recording.

80. Computer-readable medium containing code according to claim 63 , further including code for:

matching the audio fingerprint to a known fingerprint stored in a database.

81. Computer-readable medium containing code according to claim 63 , further including code for:

recognizing the audio fingerprint based on at least one of the variations.

82. Computer-readable medium containing code according to claim 81 , further including code for:

retrieving metadata from the database corresponding to the audio fingerprint.

83. A network computer system executing the computer-readable medium of claim 63 .

84. A device-embedded system executing the computer-readable medium of claim 63 .

Assignments (16)
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 →
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 →
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 →
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 →
RELEASE OF SECURITY INTEREST Recorded Sep 12, 2018
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 046858/0808 →
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 →
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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2009
From: ALL MEDIA GUIDE, LLC
To: ROVI TECHNOLOGIES CORPORATION
Reel/Frame 023273/0825 →
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 →
SECURITY AGREEMENT Recorded Oct 18, 2005
From: ALL MEDIA GUIDE, LLC
To: UNION BANK OF CALIFORNIA, N.A.
Reel/Frame 016654/0894 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2005
From: AEC ONE STOP GROUP, INC.
To: ALL MEDIA GUIDE, LLC
Reel/Frame 017168/0570 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2004
From: BOGDANOV, VLADIMIR ASKOLD
To: AEC ONE STOP GROUP, INC.
Reel/Frame 015499/0099 →