DE60225190T2 - Merkmal-basierte audio-inhaltsidentifikation - Google Patents

Merkmal-basierte audio-inhaltsidentifikation Download PDF

Info

Publication number
DE60225190T2
DE60225190T2 DE60225190T DE60225190T DE60225190T2 DE 60225190 T2 DE60225190 T2 DE 60225190T2 DE 60225190 T DE60225190 T DE 60225190T DE 60225190 T DE60225190 T DE 60225190T DE 60225190 T2 DE60225190 T2 DE 60225190T2
Authority
DE
Germany
Prior art keywords
time
events
averaging
audio
event
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60225190T
Other languages
English (en)
Other versions
DE60225190D1 (de
Inventor
Michael C. Newburgh PITMAN
Blake G. White Plains FITCH
Steven New City ABRAMS
Robert S. Larchmont GERMAIN
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE60225190D1 publication Critical patent/DE60225190D1/de
Application granted granted Critical
Publication of DE60225190T2 publication Critical patent/DE60225190T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/018Audio watermarking, i.e. embedding inaudible data in the audio signal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/632Query formulation
    • G06F16/634Query by example, e.g. query by humming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/683Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/56Arrangements characterised by components specially adapted for monitoring, identification or recognition covered by groups H04H60/29-H04H60/54
    • H04H60/58Arrangements characterised by components specially adapted for monitoring, identification or recognition covered by groups H04H60/29-H04H60/54 of audio
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0204Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using subband decomposition

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Library & Information Science (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stereophonic System (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Measurement Of Mechanical Vibrations Or Ultrasonic Waves (AREA)

Description

  • Querverweis auf verwandte Anwendungen
  • Diese Anwendung beruht auf und beansprucht Vorrang vor der vorherigen vorläufigen Anmeldung US Nr. 60/245 799, eingereicht am 3. November 2000.
  • Hintergrund der Erfindung
  • 1. Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf Signalerkennung und insbesondere auf ein Verfahren zum automatischen Erkennen von Audioinhalten wie z. B. einer Tonaufzeichnung.
  • 2. Beschreibung der verwandten Technik
  • Die Entwicklung leistungsfähiger digitaler Codierungsverfahren für Audio (z. B. der Standard der Motion-Picture-Experts-Group Ebene 3, auch bekannt als MP3) in Verbindung mit dem Aufkommen des Internet hat die Möglichkeiten für den vollständig elektronischen Verkauf und Vertrieb von aufgezeichneter Musik geschaffen. Dies ist ein möglicher Vorzug für die Aufnahmeindustrie. Auf der Kehrseite begünstigen die technischen Vorteile auch die illegale Verbreitung von Musik. Dies stellt für die Eigentumsinteressen der aufnehmenden Künstler und Musikvertreiber eine Bedrohung dar. Die Leichtigkeit der Verbreitung digitaler Kopien mit hoher Wiedergabetreue, die über nachfolgende Erzeugungen nicht verringert wird, stellt ein weitaus größeres Problem für die Musikindustrie dar als das begrenzte Kopieren von Musik auf Audiokassetten, was vor dem Aufkommen von digitalem Audio stattfand. Derzeit sind unzählige Internetseiten vorhanden, von denen man Raubkopien urheberrechtlich geschützter Musik beziehen kann. Deshalb besteht zur Durchsetzung des Musikurheberrechts ein Bedarf nach einem System und Verfahren für die automatische Erkennung von Audioinhalten.
  • Bei der Erkennung von Musik aus einer digitalen Audiodatei wie z. B. einer MP3-Datei handelt es sich um kein triviales Problem. Verschiedene Codierungsschemata werden einen unterschiedlichen Bitstrom für denselben Song liefern. Selbst wenn dasselbe Codierungsprogramm zum Codieren desselben Songs (d. h. eine Audioaufnahme) und Erzeugen von zwei digitalen Audiodateien verwendet wird, müssen die Dateien nicht auf der Bitebene übereinstimmen. Verschiedene Effekte können zu unterschiedlichen Bitströmen führen, obgleich die damit verbundenen Klangunterschiede für die menschliche Wahrnehmung vernachlässigbar sind. Zu diesen Effekten zählen: feine Unterschiede in der Gesamt-Frequenzantwort des Aufnahmesystems, Effekte der Digital-Analog-Wandlung, akustische Umgebungseffekte wie z. B. Hall und feine Unterschiede in der Startzeit der Aufnahme. Des Weiteren wird der Bitstrom, der sich aus der Anwendung eines vorgegebenen Codierungsschemas ergibt, je nach der Art der Audioquelle variieren. Beispielsweise wird eine MP3-Datei eines Songs, der durch das Codieren der Ausgabe einer Kompakt-Disc (CD) erzeugt wurde, auf der Bitebene nicht mit einer MP3-Datei desselben Songs übereinstimmen, der durch das Codieren der Ausgabe eines Stereoradios erzeugt wurde.
  • Ein Lösung, die vorgeschlagen wurde, besteht darin, urheberrechtlich geschützte Musik mit digitalen Wasserzeichen zu kennzeichnen. Bedauerlicherweise wurden zahlreiche Verfahren entdeckt, um digitale Wasserzeichen unlesbar zu machen. Des Weiteren gibt es Rausch- und Verzerrungsarten, die für Menschen durchaus hörbar sind, unsere Fähigkeit zum Erkennen der Musik aber nicht beeinträchtigen. FM-Funkübertragungen und Audiokassetten weisen beide eine geringere Bandbreite als CD-Aufnahmen auf, werden aber immer noch kopiert und von manchen Hörern geschätzt. Gleichermaßen sind viele der MP3-Dateien aus dem Internet von relativ geringer Qualität, werden aber dennoch weiterverbreitet und stellen deshalb eine Bedrohung für die Rentabilität der Musikindustrie dar. Darüber hinaus schließen einige absichtliche Unterwanderungen der Urheberrechts-Schutzmechanismen die absichtliche Veränderung oder Verzerrung der Musik ein. Zu diesen Verzerrungen gehören die Zeitdehnung und die Zeitverdichtung. In solchen Fällen ist es möglich, dass nicht nur die Start- und Stoppzeiten unterschiedlich sind, sondern auch die Song-Dauer unterschiedlich sein kann. Alle solchen Unterschiede können für Menschen kaum wahrnehmbar sein, aber viele gewöhnliche Urheberrechts-Schutzmechanismen zunichte machen.
  • Ein anderes Problem für die Musikindustrie und die Autoren von Songs stellt die unerlaubte Verwendung von Proben dar. Proben sind kurze Abschnitte eines Songs, die ausgeschnitten und in einen anderen Song eingefügt wurden. Ohne dass eine solche Probe gefunden und erkannt werden kann, wird der Inhaber des Urheberrechts auf die Originalaufnahme nicht ausreichend für ihre Verwendung in dem Abkömmling entschädigt.
  • Es besteht ein Bedarf nach einem Verfahren, das Audioinhalte wie z. B. Tonaufnahmen trotz feiner Unterschiede und Veränderungen identifizieren kann, die während den Prozessen wie Aufnahme, Rundsendung, Codierung, Decodierung, Übertragung und beabsichtigter Veränderung entstehen. Nennenswerte Verfahren hierzu werden nach dem Stand der Technik z. B. in den Patentschriften US 4 843 562 und US 5 437 050 beschrieben.
  • Darlegung der Erfindung
  • Die verschiedenen Gesichtspunkte der vorliegenden Erfindung werden in den angefügten Ansprüchen dargelegt, auf die nun Bezug genommen werden soll.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist eine Übersichtsdarstellung eines beispielhaften Netzwerks, in dem eine bevorzugte Ausführungsform der Erfindung umgesetzt werden kann.
  • 2 ist ein Blockschaubild einer Software zum Erkennen von Musik gemäß einer bevorzugten Ausführungsform der Erfindung.
  • 3 ist ein Flussdiagramm eines Prozesses zum Suchen und Erkennen von Audiodateien in einem Netzwerk unter Verwendung einer Ausführungsform der Erfindung.
  • Die 4A und 4B sind Flussdiagramme eines Prozesses zum Identifizieren von Ereignissen aus einem Audioabschnitt gemäß einer bevorzugten Ausführungsform der Erfindung.
  • 5 ist ein Flussdiagramm eines Prozesses zum Erzeugen von Schlüsseln aus den Ereignissen, die von dem in den 4A und 4B gezeigten Prozess erzeugt wurden.
  • 6 ist ein Flussdiagramm eines Prozesses zum Erzeugen von Schlüsseln aus dem Inhalt eines Schlüssel-Erzeugungspuffers gemäß einer bevorzugten Ausführungsform der Erfindung.
  • 7 ist ein Flussdiagramm eines Prozesses zum Filtern von Schlagzeug-Ereignissen gemäß einer bevorzugten Ausführungsform der Erfindung.
  • 8 ist ein Flussdiagramm eines Prozesses zum Verwenden von Schlüsseln, um zwei Audioabschnitte zu vergleichen.
  • Ausführliche Beschreibung bevorzugter Ausführungsformen
  • Die Aufgaben, Eigenschaften und Vorzüge der vorliegenden Erfindung werden aus der folgenden ausführlichen Beschreibung erkennbar. Es sollte jedoch selbstverständlich sein, dass die ausführliche Beschreibung und bestimmte Beispiele zwar bevorzugte Ausführungsformen der Erfindung angeben, jedoch lediglich zur Veranschaulichung dargestellt werden und verständlicherweise verschiedene Modifikationen ausgeführt werden können, ohne von der in den angefügten Ansprüchen festgelegten Erfindung abzuweichen.
  • 1 ist eine Übersichtsdarstellung eines beispielhaften Netzwerks 100, in dem die vorliegende Erfindung umgesetzt werden kann. Das Netzwerk enthält einen ersten Webserver 102 und einen zweiten Webserver 104, die zum Datenaustausch mit einem Netzwerk 106 wie z. B. dem Internet über eine erste bidirektionale Datenverbindung 108 bzw. eine zweite bidirektionale Datenverbindung 110 verbunden sind. Der erste und der zweite Webserver 102 und 104 weisen Datei-Speichereinheiten wie z. B. Festplattenlaufwerke zum Speichern von Dateien einschließlich Audiodateien auf, die von den Clients heruntergeladen werden können.
  • Ein erster Clientcomputer 112 und ein zweiter Clientcomputer 114 sind zum Datenaustausch mit dem Netzwerk 106 über eine dritte bidirektionale Datenverbindung 116 bzw. eine vierte bidirektionale Datenverbindung 118 verbunden. Der erste und der zweite Clientcomputer sind in der Lage, Dateien einschließlich Audiodateien vom ersten und vom zweiten Webserver herunterzuladen. Die bisher beschriebenen Netzwerkkomponenten stellen ein System dar, das zur Verbreitung von Musik verwendet werden kann. Audiodateien, die Musik-Tonaufnahmen speichern, werden auf den Webservern 102 und 104 gespeichert.
  • Ein Clientcomputer zum Urheber-Rechtsschutz (CECC, copyright enforcement client computer) 120 ist zum Datenaustausch mit dem Netzwerk 106 über eine fünfte bidirektionale Datenverbindung 122 verbunden. Ein computerlesbares Speichermedium 124 wie z. B. eine CD-ROM ist dazu vorgesehen, Software in den CECC zum Ausführen von Verfahren, wie sie z. B. weiter unten ausführlich beschrieben werden, zu laden. Beispielsweise kann die Software das automatische Durchforsten von Webseiten (d. h. Durchsuchen) wie z. B. der Webseiten, die auf dem ersten und dem zweiten Webserver 102 bzw. 104 untergebracht sind, durchführen, in den Webseiten vorhandene Audiodateien abrufen und die Audiodateien identifizieren (z. B. in den Audiodateien enthaltene Songs erkennen).
  • Bei dem ersten und dem zweiten Webserver 102 bzw. 104, den Clientcomputern 112 und 114 und dem CECC kann es sich um beliebige gewöhnliche Computersysteme wie z. B. IBM-PC-kompatible Computer handeln. Bekannterweise können in jedem IBM-PC-kompatiblen Computer ein Mikroprozessor, ein grundlegender Nur-Lesespeicher des Ein-/Ausgabesystems (BIOS ROM), ein Speicher mit wahlfreiem Zugriff (RAM), ein Festplattenlaufwerk-Speicher, ein entfernbarer computerlesbarer Medienspeicher (z. B. ein CD-ROM-Laufwerk), eine Videoanzeigen-Adapterkarte, ein Videomonitor, eine Netzwerk-Schnittstelle (z. B. ein Modem), eine Tastatur, eine Zeigereinheit (z. B. eine Maus), eine Soundkarte und mehrere Lautsprecher vorhanden sein.
  • Bei der ersten bis zur fünften bidirektionalen Datenverbindung 108, 110, 116, 118 und 122 kann es sich um digitale Teilnehmeranschluss-(DSL), T1-Verbindungen oder Modemeinwahl-Verbindungen handeln. Auf dem ersten und dem zweiten Webserver 102 bzw. 104 kann eine Apacheserver-Webserversoftware (hergestellt von der Apache Software Foundation in Lincoln, Nebraska) vorhanden sein, die auf einem UNIX-Betriebssystem ausgeführt wird. In den ersten und den zweiten Clientcomputer 114 bzw. 116 können Webbrowser wie z. B. Netscape-Navigator (hergestellt von America Online in Dulles, Virginia) geladen werden, die auf einem Windows-Betriebssystem (hergestellt von der Microsoft Corporation in Redmond, Washington) ausgeführt werden. Die Webbrowser werden vorzugsweise zusammen mit einer Treiberanwendung zum Decodieren von Audiodateien und Bereitstellen eines Audiosignals an die Soundkarte ausgeführt.
  • Alternativ kann eine getrennte Anwendung oder eine spezielle Hardware zum Decodieren von Audiodateien zur Wiedergabe vorgesehen sein. In die beiden Webserver 102 und 104, die beiden Clientcomputer 112 und 114 und den CECC wird auch eine Datenübertragungs-Protokollstapel-Software geladen, damit Netzwerkverbindungen wie z. B. TCP/IP-Verbindungen aufgebaut werden können. Ferner wird in den CECC ein Betriebssystem (z. B. Windows oder UNIX) und eine CECC-Anwendung geladen, wie z. B. eine solche, deren Funktionsweise weiter unten mit Bezug auf die 2 bis 8 beschrieben ist.
  • 2 stellt ein Blockschaubild 200 einer Software zum Erkennen von Audioinhalten gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung dar. Eine Webserver-Anwendung 202 enthält ein Dateisystem 204, das eine oder mehrere Audiodateien (z. B. im MP3-Format) enthält. Die Webserver-Anwendung 202 wird auf der Serverseite zusammen mit einem Datenübertragungs-Protokollstapel 206 ausgeführt, der Netzwerkverbindungen bereitstellen kann (z. B. TCP/IP-Verbindungen). Die Webserver-Anwendung 202 und der Datenübertragungs-Protokollstapel 206 auf der Serverseite werden auf dem ersten und dem zweiten Webserver 102 und 104 ausgeführt. Eine TCP/IP-Verbindung 208 wird zwischen dem Datenübertragungs-Protokollstapel 206 des Server und einem Datenübertragungs-Protokollstapel 210 des Client aufgebaut. Der Datenübertragungs-Protokollstapel des Client wird von einer Urheber-Rechtsschutzanwendung 212 genutzt.
  • Zu der Urheber-Rechtsschutzanwendung gehört ein automatisches Modul zum Durchsuchen des Web (web spider module) 214 und ein Inhalt-Identifikationsmodul 216. Das Modul zum Durchsuchen des Web 214 durchsucht Webseiten nach Audiodateien. Wenn eine Audiodatei gefunden wird, wird sie zur Analyse heruntergeladen. Das Inhalt-Erkennungsmodul 216 empfängt Audiodateien vom Modul zum Durchsuchen des Web 214 und entschlüsselt sie, um Audio-Signaldaten zu erhalten. zum Inhalt-Erkennungsmodul gehört eine Schlüsseldatenbank, die zahlreiche Schlüssel enthält, die von vielen Songs hergeleitet wurden. Für jeden Song (d. h. Tonaufnahmeeinheit) in der Datenbank ist eine Menge von Schlüsseln vorhanden. Die Menge von Schlüsseln stellt ein Mittel zum Erkennen eines Songs oder eines Abschnitts eines Songs dar. Ein Song-Abschnitt weist eine entsprechende Teilmenge von Schlüsseln auf, die das Erkennen des Abschnitts erlauben, wodurch die Fähigkeit bestehen bleibt, die Anwesenheit nur eines Teils eines Songs zu erkennen.
  • Die Schlüsseldatenbank ist vorzugsweise in der Form einer Schlüsseltabelle ausgeführt. Jede Zeile der Schlüsseltabelle enthält eine Schlüsselfolge in einer ersten Spalte, einen Zeitgruppenwert in einer zweiten Spalte und eine Song-ID (z. B. den Titel) in einer dritten Spalte. Die Schlüsseldatenbank wird aufgebaut, indem ein Schlüssel-Erzeugungsprogramm auf bekannte Songs angewendet und jeder vom Schlüssel-Erzeugungsprogramm erhaltene Schlüssel mit dem Titel in der Schlüsseldatenbank verknüpft wird. Bei der Zeitgruppe handelt es sich um einen Zeitpunkt (gemessen in Einheiten eines vorgegebenen Intervalls relativ zum Beginn des Songs), an dem ein Audiomerkmal auftrat, von dem ein Schlüssel hergeleitet wurde. Jede Zeitgruppe beinhaltet Ereignisse (weiter unten beschrieben), die während einer Zeitdauer gleich dem vorgegebenen Zeitintervall eintraten. Zwei verschiedene Aufnahmen desselben Songs können insbesondere im Fall von illegalen Kopien leicht unterschiedliche Startzeitpunkte aufweisen (z. B. kann eine Audiodatei wenige Sekunden vor oder nach dem tatsächlichen Beginn des Songs starten). Diese Abweichung stellt eine Schwierigkeit beim Vergleichen von zwei Audiodateien dar, die die vorliegende Erfindung überwindet.
  • 3 stellt ein Flussdiagramm eines Prozesses 300 dar, der vom Urheberrechts-Schutzmodul 210 zum Suchen und Erkennen von Audiodateien im Internet (z. B. Web- oder FTP-Seiten) gemäß einer Ausführungsform der Erfindung ausgeführt wird. Im Schritt 302 durchsucht das Modul zum Durchsuchen des Web 214 einen Teil des Internets und findet eine Anzahl von Audiodateien. Ein Verfahren zum Erkennen der Audiodateien besteht darin, die Dateierweiterungen von einheitlichen Ressourcenbezeichnern (URI, uniform resource identifier), die innerhalb der Webseiten gefunden werden, mit einer Liste bekannter Audiodatei-Erweiterungen zu vergleichen. Im Schritt 304 lädt das Modul zum Durchsuchen des Web 214 die im Schritt 302 gefundenen Audiodateien herunter.
  • Im Schritt 306 analysiert das Inhalt-Erkennungsmodul 218 die im Schritt 304 heruntergeladenen Audiodateien unter Verwendung eines Algorithmus, der eine eindeutige Signatur (vorzugsweise eine Menge von Schlüsseln) für jede Audiodatei erzeugt. Im Schritt 308 wird die eindeutige Signatur zum Nachschlagen von Informationen wie z. B. dem Titel jeder Audiodatei verwendet, die in einer Datenbank urheberrechtlich geschützter Tonaufnahmen (z. B. Songs) aufgeführt ist. Im Schritt 310 wird eine Identifikation des urheberrechtlich geschützten Songs (z. B. sein Titel) und der URI, an dem er im Internet aufgefunden wurde, aufgezeichnet und/oder an eine dritte Partei übertragen (z. B. den Inhaber des Urheberrechts). Die Liste entsprechender URIs, die einem vorgegebenen urheberrechtlich geschützten Werk entsprechen, können auf diese Weise zur Verwendung bei Maßnahmen zum Urheber-Rechtsschutz zusammengestellt werden.
  • 4A stellt einen ersten Teil eines Flussdiagramms eines Prozesses 400 zum Erzeugen eines Ereignisstroms für einen Audioabschnitt (z. B. ein Song) gemäß einer bevorzugten Ausführungsform der Erfindung dar. Der Prozess 400 lässt ein Audiosignal als Eingabe zu und gibt eine Folge von „Ereignissen” aus. In manchen Ausführungsformen der vorliegenden Erfindung wird das Audiosignal von einer MP3-Datei wiedergegeben. Im Schritt 402 wird ein Audiosignal abgetastet. Bei einer Ausführungsform wird das Audiosignal mit etwa 22050 Hz oder weniger abgetastet. Dies erlaubt das genaue Erkennen von Frequenzkomponenten bis zu 11 kHz. Das Verwenden einer oberen Frequenzgrenze von etwa 11 kHz bringt Vorteile mit sich, da 11 kHz der Grenzfrequenz für FM-Radioübertragungen nahe kommt, und es ist wünschenswert, dieselbe Menge von Schlüsseln für einen Song unabhängig davon zu erzeugen, ob die Songaufnahme vormals über eine FM-Funkübertragung gesendet wurde oder direkt von einer Quelle mit hoher Qualität (z. B. einer CD) erhalten wurde.
  • Im Schritt 404 wird für jedes aufeinanderfolgende Prüfzeitintervall das Spektrum des Audiosignals berechnet. Die Dauer des Prüfzeitintervalls reicht vorzugsweise von ungefähr 1/43 Sekunde bis ungefähr 1/10,75 Sekunde, und noch vorteilhafter beträgt das Prüfzeitintervall etwa 1/21,5 Sekunde. Das Spektrum des Audiosignals wird vorzugsweise mit einem schnellen Fouriertransformations-(FFT)Algorithmus analysiert. Die Genauigkeit der mit einem FFT-Algorithmus erhaltenen Spektraldaten kann verbessert werden, indem die Ergebnisse gemittelt werden, die durch das Anwenden der FFT auf mehrere aufeinanderfolgende Zeitintervalle (Abtastungssätze) erhalten wurden. In bevorzugten Ausführungsformen der Erfindung werden die Spektraldaten verbessert, indem die Ergebnisse gemittelt werden, die durch das Anwenden der FFT auf zwei oder mehr aufeinanderfolgende Zeitintervalle, vorzugsweise auf 3 oder mehr aufeinanderfolgende Zeitintervalle und darüber hinaus vorzugsweise auf 4 aufeinanderfolgende Zeitintervalle, erhalten wurden. Gemäß einer beispielhaften Ausführungsform der Erfindung wird das Spektrum, das mit einem vorgegebenen Prüfzeitintervall mit einer Dauer von 1/21,5 Sekunde verknüpft ist, erhalten, indem ein Audiosignal mit einer Frequenz von 22050 Hz abgetastet wird und die Ergebnisse gemittelt werden, die durch das Anwenden eines FFT-Algorithmus auf vier aufeinanderfolgende Zeitintervalle erhalten wurden, von denen jedes eine Dauer von 2/21,5 Sekunden aufweist und 2048 Abtastungen enthält.
  • Der Schritt 404 kann mittels eines FFT-Algorithmus durchgeführt werden, der vom Mikroprozessor des CECC 120 ausgeführt wird. Alternativ könnte für den CECC eine FFT-Hardware zum Ausführen des Schrittes 404 vorgesehen sein. Andere Spektrumanalysatoren wie z. B. eine Filterbank können alternativ zum Durchführen des Schritt 404 verwendet werden. Des Weiteren können im Prozess 404 aufeinanderfolgende Abtastungssätze neben einer Fourierbasis alternativ auf eine andere Art von Basis abgebildet werden. Eine besondere Alternative zur Fourierbasis stellt eine Wavelet-Basis dar. Wie die Fourier-Basisfunktionen sind Wavelets auch in der Frequenzdomäne lokalisiert (obgleich in geringerem Ausmaß). Wavelets weisen die zusätzliche Eigenschaft auf, dass sie auch in der Zeitdomäne lokalisiert sind. Dies schafft die Möglichkeit, das Audiosignal als Ganzes anstelle aufeinanderfolgender Abtastungssätze des Audiosignals auf eine Wavelet-Basis abzubilden und zeitabhängige Frequenzinformationen des Signals zu erhalten.
  • Einen beim Komponieren von Musik üblichen Frequenzsatz stellen die Noten der gleichmäßig temperierten Tonleiter dar. Die gleichmäßig temperierten Tonleiter enthalten Noten, die auf einem logarithmischen Maßstab gleich beabstandet sind. Jede Note deckt ein „Halbton” genanntes Frequenzband ab. Die Erfinder haben festgestellt, dass verbesserte Signaturen erhalten werden können, wenn die Spektralenergie in getrennten Halbtonbändern erfasst wird, im Gegensatz zu den gleich beabstandeten Frequenzbändern, die von einem FFT-Algorithmus ausgegeben werden. Im Schritt 406 werden die im Schritt 404 erhaltenen Spektraldaten (z. B. Fourier-Frequenzkomponenten) in einer Anzahl von Halbton-Frequenzbändern oder -Kanälen zusammengeführt.
  • Im Schritt 408 wird eine erste Mittelung der Energie in jedem Halbton-Frequenzkanal über die letzten T1 Sekunden ausgeführt. Im Schritt 410 wird eine zweite Mittelung der Energie in jedem Halbton-Frequenzkanal über die letzten T2 Sekunden ausgeführt, wobei T2 größer ist als T1. T1 beträgt vorzugsweise zwischen ungefähr 1/10 und ungefähr 1 Sekunde. T2 ist vorzugsweise um einen Faktor 2 bis 8 größer als T1. Gemäß einer bevorzugten Ausführungsform der Erfindung beträgt T2 eine Sekunde und T1 eine Viertelsekunde. Die oben erwähnten „Ereignisse” treten ein, wenn der Wert der ersten Mittelung den Wert der zweiten Mittelung überkreuzt.
  • Im Schritt 412 werden die Werte der ersten und der zweiten Mittelung für jeden Halbtonkanal aufgezeichnet. Das Aufzeichnen wird so ausgeführt, dass während des folgenden Prüfzeitintervalls ermittelt werden kann, ob der erste Mittelwert den zweiten Mittelwert überkreuzt hat. Im Schritt 414 wird für jeden Halbtonkanal ermittelt, ob der erste Mittelwert den zweiten Mittelwert überkreuzt hat. Dies geschieht durch das Vergleichen der Ungleichheitsbeziehung zwischen dem ersten und zweiten Mittelwert während des momentanen Prüfzeitintervalls mit der Ungleichheitsbeziehung für das letzte Prüfzeitintervall. Obwohl der Vergleich oben nur zwischen zwei Mittelwerten beschrieben wurde, ist es gemäß alternativen Ausführungsformen der Erfindung möglich, mehr als zwei Mittelwerte zu verwenden und Ereignisse als die Schnittpunkte zwischen verschiedenen Teilzusammenstellungen dieser mehr als zwei Mittelwerte zu identifizieren.
  • In der Nachbarschaft eines Extremwerts (lokales Maximum oder Minimum) in einem Halbton-Frequenzkanal überkreuzen sich die zwei Mittelwerte. Anstatt nach dem Kreuzungspunkt der beiden Laufzeit-Mittelwerte mit verschiedenen Mittelungs-Zeiträumen zu suchen, könnte eine andere Art von Höchstwertdetektor verwendet werden (z. B. eine elektronische Schaltung). Etwas Derartiges könnte vorteilhaft zusammen mit einer FFT in einer Umsetzung der vorliegenden Erfindung angewendet werden, die überwiegend in Hardware im Gegensatz zu Software realisiert wird.
  • Anstatt nach einem Höchstwert im Signal in einem Frequenzkanal zu suchen, könnte eine andere Art von Kurveneigenschaft wie z. B. ein Wendepunkt als ein Auslöseereignis verwendet werden. Ein Wendepunkt kann bestimmt werden, indem eine zweite Ableitung eines Frequenzkanals aus drei aufeinanderfolgenden Energiewerten in einem vorgegebenen Frequenzkanal berechnet wird, und ein Zeitpunkt identifiziert wird, an dem die zweite Ableitung ihr Vorzeichen von positiv nach negativ oder umgekehrt wechselt. Die zweite Ableitung kann mit Funktionswerten (Werte zeitabhängiger Frequenzkomponenten) für drei aufeinanderfolgende Punkte in der folgenden Formel angenähert werden. (F(N + 2) – 2F(N + 1) + F(N))/ΔT2,wobei F(I) der Wert der Funktion zum i-ten Zeitpunkt (z. B. am i-ten Prüfzeitintervall) und ΔT das Zeitintervall zwischen aufeinanderfolgenden Funktionswerten darstellt (z. B. die Zeitdauer des Prüfzeitintervalls).
  • An einem Extremwert einer zeitabhängigen Frequenzkomponente ist die erste Ableitung gleich null. An einem Wendepunkt einer zeitabhängigen Frequenzkomponente ist die zweite Ableitung gleich null. Extremwerte und Wendepunkte sind beides Ereignisarten. Allgemeiner können Ereignisse als Punkte festgelegt werden (d. h. Zeitpunkte), an denen eine Gleichung erfüllt ist, die eine Ableitung erster oder höherer Ordnung der zeitabhängigen Frequenzkomponenten und/oder Integrale enthält, die die zeitabhängigen Frequenzkomponenten beinhalten. Um ihre Verwendung zum Erkennen verschiedener Audioinhalte zu ermöglichen, besteht ein wesentlicher Teil der Definition von „Ereignissen” darin, dass sie in einer Teilmenge der Prüfzeitintervalle und nicht in jedem Prüfzeitintervall auftreten.
  • Bei Schritt 416 handelt es sich um einen Entscheidungsblock, dessen Ergebnis davon abhängt, ob sich die Mittelwerte für einen Halbtonkanal überkreuzt haben. Der Schritt 416 wird für jeden Halbtonkanal geprüft. Falls sich die Mittelwerte für einen Halbtonkanal während des momentanen Prüfzeitintervalls nicht überkreuzt haben, wird im Schritt 418 ermittelt, ob das Audiosignal beendet ist. Wenn der Audiostrom beendet ist, wird der Prozess 400 abgebrochen. Wenn das Audiosignal nicht beendet ist, geht der Prozess 400 zum nächsten Prüfzeitintervall und wird mit dem Schritt 404 fortgesetzt. Falls sich andererseits die Mittelwerte während dem letzten Prüfzeitintervall überkreuzt haben, wird der Prozess 400 mit dem Schritt 422 fortgesetzt, in dem jedes Ereignis mit der momentanen Zeitgruppe verknüpft wird und die mit dem Kreuzungsereignis verbundenen Daten erzeugt werden.
  • Die Ereignisdaten enthalten für das Ereignis vorzugsweise jeweils die Zeitgruppe, das Prüfzeitintervall, das Halbton-Frequenzband und den Wert der schnellen Mittelung (Mittelung über T1) zum Zeitpunkt des Überkreuzens. Die Ereignisdaten können in einem Speicher oder einer mit dem CECC verbundenen Speichereinheit aufgezeichnet werden. Jede Zeitgruppe deckt ein Zeitintervall ab, das länger als das Prüfzeitintervall ist, und die Zeitgruppen decken vorzugsweise aufeinanderfolgende Zeitintervalle zwischen ¼ und 2 Sekunden ab, und nochmals bevorzugt deckt jede Zeitgruppe ein Zeitintervall zwischen ½ und ¾ Sekunde ab. Das Gruppieren von Ereignissen in aufeinanderfolgende Zeitgruppen bringt den Vorteil mit sich, dass die vom Verarbeiten von zwei Aufnahmen desselben Songs erhaltenen Schlüssel näher übereinstimmen werden, obwohl eine oder beide Aufnahmen manche Verzerrungen aufweisen können (z. B. Verzerrungen, die im Verlaufe der Aufnahme auf einem Magnetband entstehen).
  • Im Schritt 424 rückt der Prozess 400 zum nächsten Prüfzeitintervall vor. Im Schritt 426 wird ermittelt, ob der Audioabschnitt (z. B. ein Song) beendet ist. Wenn der Audioabschnitt beendet wurde, wird der Prozess 400 abgebrochen. Wenn der Audioabschnitt nicht beendet ist, rückt der Prozess zum nächsten Prüfzeitintervall vor, und der Prozess kehrt zum Schritt 404 zurück.
  • Auf diese Weise führt der Prozess dazu, dass aus einem Audiosignal eine Vielzahl von Ereignissen erzeugt wird. Jedes Ereignis ist mit einem Halbton-Frequenzband und einer Zeitgruppe (Zeitintervall) verbunden, in denen es aufgetreten ist. Die Ereignisse können in einem Speicher (z. B. ein RAM im CECC 120) aufgezeichnet werden. Die Ereignisse können in einem Puffer gespeichert werden, aus dem sie nacheinander von einem oder mehreren Schlüssel-Erzeugungsprozessen gelesen werden. Die von dem Prozess ausgegebenen Ereignisse könnten in der Form eines Ereignisstroms vorliegen, d. h., nach jeder Zeitgruppe könnten alle Ereignisse, die innerhalb der Zeitgruppe aufgetreten sind, in den Speicher geschrieben und dadurch für die weitere Verarbeitung verfügbar gemacht werden. Eine Alternative besteht darin, alle Ereignisse für einen Song gleichzeitig in den Speicher oder die Speichereinheit zu schreiben.
  • 5 stellt ein Flussdiagramm eines Schlüssel-Erzeugungsprozesses zum Erzeugen von Schlüsseln aus den Ereignissen dar, die von einem Prozess, wie er z. B. in den 4A und 4B gezeigt ist, erzeugt wurden. Die von dem Prozess 400 ausgegebenen Ereignisse werden von einer Vielzahl von Schlüssel-Erzeugungsprozessen 500 verarbeitet. Jeder aus der Vielzahl der Schlüssel-Erzeugungsprozesse ist mit einem Halbton-Frequenzband verknüpft, das als seine Hauptfrequenz bezeichnet wird. Jeder Schlüsselgenerator verwendet jedoch auch Ereignisse, die in anderen Halbton-Frequenzbändern nahe seiner Hauptfrequenz auftreten. Vorzugsweise überwacht jeder Schlüsselgenerator zwischen 5 und 15 Halbton-Frequenzbänder. Falls die Anzahl der überwachten Frequenzbänder zu gering ist, sind die sich ergebenden Schlüssel für den bestimmten Audioabschnitt weniger ausgeprägt kennzeichnend. Eine höhere Anzahl von Frequenzbändern führt andererseits zu einem höherem Berechnungsaufwand zum Berechnen und Vergleichen der Schlüssel, zu höheren Speicheranforderungen zum Speichern der Schlüssel und möglichem Leistungsverlust aufgrund von Schlüsselsättigung in der Schlüsseltabelle durch die größere Schlüsselanzahl. Gemäß einer Ausführungsform der vorliegenden Erfindung überwacht jeder Schlüsselgenerator sein Halbton-Hauptfrequenzband und vier andere Halbton-Frequenzbänder, d. h. zwei auf jeder Seite des Halbton-Hauptfrequenzbandes.
  • Mit Bezug auf 5 wird nun im Schritt 502 jede aufeinanderfolgende Zeitgruppe der Ereignisse, die vom Prozess 400 ausgegeben wurden, auf Ereignisse hin überwacht, die innerhalb des mit diesem Schlüsselgenerator verbundenen Halbton-Frequenzbands eintreten. Bei Schritt 504 handelt es sich um einen Entscheidungsblock, dessen Ergebnis davon abhängt, ob der Schlüsselgenerator im Schritt 502 irgendwelche neuen Ereignisse festgestellt hat (z. B. durch Lesen aus dem Speicher). Wenn nicht, rückt der Prozess 500 im Schritt 514 auf die nächste Zeitgruppe vor und kehrt in der Schleife zu Schritt 502 zurück. Wenn andererseits neue Ereignisse in der geprüften Zeitgruppe und den Halbton-Frequenzbändern eingetreten sind, werden im Schritt 506 neue Ereignisse in einen Schlüssel-Erzeugungspuffer für den betreffenden Schlüsselgenerator geschrieben, und die Ereignisse, die im Schlüssel-Erzeugungspuffer für die älteste Zeitgruppe gespeichert wurden, werden gelöscht. In einer beispielhaften Ausführungsform der Erfindung kann der Puffer als eine Anordnung betrachtet werden, in der die Zeilen den Zeitgruppen und die Spalten den Frequenzbändern entsprechen. Deshalb wären in der oben erwähnten Ausführungsform fünf Spalten für jedes der vom jeweiligen Schlüsselgenerator überwachten Halbton-Frequenzbänder vorhanden.
  • Der Schlüssel-Erzeugungspuffer enthält vorzugsweise Ereignisse von zwischen 3 und 7 Zeitgruppen. Nochmals bevorzugt werden Ereignisse aus fünf bis sechs Zeitgruppen in jeder Schlüssel-Pufferanordnung verwaltet. Es wird angemerkt, dass in dieser Ausführungsform nicht alle Zeitgruppen im Schlüssel-Erzeugungspuffer vertreten sind. Falls, wie in 5 gezeigt ist, in den Halbton-Frequenzbändern für einen Schlüsselgenerator in einer bestimmten Zeitgruppe keine Ereignisse eintreten, wird der Schlüssel-Erzeugungspuffer nicht verändert. Mit anderen Worten, eine Leerzeile wird nicht aufgezeichnet. Deshalb beinhaltet jede im Schlüssel-Erzeugungspuffer aufgezeichnete Zeitgruppe wenigstens ein Ereignis.
  • Der Schritt 508 stellt einen Entscheidungsblock dar, dessen Ergebnis davon abhängt, ob es sich bei einem Ereignis, das in der momentanen Zeitgruppe aufgetreten ist (z. B. dem momentanen Durchlauf der Programmschleife), um ein Auslöseereignis handelt. Gemäß einer bevorzugten Ausführungsform der Erfindung stellt ein Auslöseereignis ein Ereignis dar, das bei der mit diesem Schlüsselgenerator verknüpften Hauptfrequenz auftritt. Wenn kein Auslöseereignis eingetreten ist, kehrt die Prozess in der Schleife zum Schritt 514 zurück. Wenn ein Auslöseereignis eingetreten ist, fährt der Prozess mit Schritt 510 fort, in dem aus dem Inhalt des Schlüssel-Erzeugungspuffers Schlüssel erzeugt werden. Der Prozess 500 wird fortgesetzt, bis alle der vom Prozess 400 erzeugten Ereignisse verarbeitet wurden.
  • 6 stellt ein Flussdiagramm eines Prozesses zum Erzeugen von Schlüsseln aus dem Inhalt eines Schlüssel-Erzeugungspuffers gemäß einer Ausführungsform der Erfindung dar. Insbesondere zeigt der Prozess 600 eine Ausführungsform der Umsetzung von Schritt 510 in 5 im Detail. Im Schritt 602 werden für jeden Schlüsselgenerator (wie oben beschrieben ist eine Vielzahl von Schlüsselgeneratoren vorhanden, die den Prozess 500 ausführen) und jedes Auslöseereignis für den betrachteten Schlüsselgenerator eine oder mehrere Verknüpfungen von Ereignissen aus dem Schlüssel-Erzeugungspuffer ausgewählt. In jeder Verknüpfung ist wenigstens ein Ereignis aus jeder Zeitgruppe enthalten. (In jedem Schlüssel-Erzeugungspuffer kann mehr als ein Ereignis für jede Zeitgruppe vorhanden sein.) Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung werden nicht alle möglichen Verknüpfungen, sondern nur Verknüpfungen ausgewählt, für die sich eine mit jedem Ereignis verbundene Energie von einem Ereignis zum nächsten in der Verknüpfung gleichbleibend ändert.
  • In dieser Ausführungsform entspricht die Reihenfolge der Ereignisse innerhalb einer Verknüpfung der Reihenfolge der Zeitgruppe. Bei der mit jedem Ereignis verbundenen Energie handelt es sich vorzugsweise um die Größe der schnellen (ersten) Mittelung zu dem Prüfzeitintervall, an dem das Ereignis eingetreten ist. In dieser Ausführungsform werden weniger als alle möglichen Verknüpfungen von Schlüsseln verwendet, sodass die Gesamtanzahl der Schlüssel für einen vorliegenden Audioabschnitt verringert wird, was zu geringeren Speicher- und Verarbeitungsleistungs-Anforderungen führt. Andererseits sind ausreichend viele Schlüssel vorhanden, sodass die Identität des Songs durch die aus dem Song erzeugte Schlüsselmenge klar ausgezeichnet wird (d. h. ihr deutlich entspricht). Gemäß einer alternativen Ausführungsform wird nur eine einzige Verknüpfung aus dem Inhalt des Schlüssel-Erzeugungspuffers ausgewählt. Die einzelne Verknüpfung enthält das Ereignis, das zu der höchsten Energie der schnellen Mittelung aus jeder Zeitgruppe gehört. Gemäß einer anderen alternativen Ausführungsform werden alle verschiedenen Ereignisverknüpfungen verwendet, in denen aus jeder Zeitgruppe ein Ereignis vorhanden ist.
  • Im Schritt 604 wird für jede ausgewählte Ereignisverknüpfung eine Schlüsselfolge zusammengestellt, die eine Folge von Zahlenwerten der Frequenzverschiebungen (relativ zur Schlüsselgenerator-Hauptfrequenz) für die Folge von Ereignissen aus jeder der im Schritt 602 gebildeten Verknüpfung enthält. Jede Frequenzverschiebung stellt die Differenz zwischen der Frequenz des Halbtonbands, in dem das Ereignis eingetreten ist, und der Hauptfrequenz des Schlüsselgenerators dar. Im Schritt 606 werden die Prüfzeitintervall-Daten (z. B. eine Folgennummer für das Prüfzeitintervall des Auslöseereignisses, wobei die Folgennummer für das erste Prüfzeitintervall für jeden Song mit der Zahl eins gekennzeichnet wird) für das Auslöseereignis mit der Schlüsselfolge verknüpft.
  • Im Schritt 608 werden der Schlüssel, der die Schlüsselfolge enthält, und die Prüfzeitintervall-Daten mit einem Song-(oder einem anderem Audio-)Bezeichner oder einer Song-ID (z. B. einem Titel) verknüpft. Der Prozess 600 enthält den Schritt 608, falls bekannte Songs zum Erstellen einer Song-Datenbank verwendet werden, mit der unbekannte Songs verglichen werden. Beim Vergleichen von zwei Songs werden sowohl die Schlüsselfolge als auch die Prüfzeitintervall-Daten verwendet, wie weiter unten mit Bezug auf 8 beschrieben wird. Die Song-Datenbank kann in der Form einer Tabelle ausgeführt sein, in der drei Spalten und eine Vielzahl von Zeilen vorhanden sind. Die erste Spalte enthält Schlüsselfolgen, die nächste Spalte entsprechende Prüfzeitintervalle, die mit der Schlüsselfolge verbunden sind, und die letzte Spalte eine Identifikation des Songs, von dem die Schlüssel in der Zeile hergeleitet wurden.
  • Während die oben beschriebenen Prozesse zum Erkennen von Audioinhalten verwendet werden können, bringt es Vorteile mit sich, Schlagzeugereignisse zu filtern. Insbesondere sind Schlagzeugereignisse in einem Song, wenn sie nicht gefiltert werden, typischerweise für einen hohen Prozentsatz der vom Prozess 400 ausgegebenen Ereignisse verantwortlich. Um Computerressourcen (z. B. Speicher- und Verarbeitungsleistung) einzusparen und eine besser kennzeichnende Schlüsselmenge zu erhalten, ist es wünschenswert, die Anzahl der Schlagzeugereignisse zu verringern, z. B. durch das Aussondern mancher Schlagzeugereignisse bevor die Ereignisse vom Schlüssel-Erzeugungsprozess 500 verarbeitet werden. Es wurde von den Erfindern erkannt, dass Schlagzeugklänge zu Ereignissen führen, die während desselben Prüfzeitintervalls in benachbarten Halbton-Frequenzbändern ausgelöst werden. Beispielsweise können Schlagzeugklänge zu Ereignissen führen, die in einer Folge von 2 oder mehr benachbarten Frequenzbändern auftreten.
  • 7 stellt ein Flussdiagramm eines Prozesses dar, der in einer bevorzugten Ausführungsform zum Filtern von Schlagzeugereignissen verwendet wird, die von dem Prozess in den 4A und 4B erzeugt wurden. Im Schritt 702 wird für jedes aufeinanderfolgende Prüfzeitintervall ermittelt, ob Mehrfachereignisse in einer Folge von zwei oder mehreren benachbarten Halbton-Frequenzbänder eingetreten sind. Bei Schritt 704 handelt es sich um einen Entscheidungsblock, dessen Ergebnis davon abhängt, ob Mehrfachereignisse in benachbarten Frequenzbändern eingetreten sind. Ein Schwellenwert einer bestimmten vorgegebenen Ereignisanzahl, die in benachbarten Frequenzbändern auftreten, wird in dem Prozess angewendet. vorzugsweise wird eine untere Grenze für die Anzahl der benachbarten Frequenzbänder, in denen die Ereignisse gefunden werden müssen (um zu berücksichtigen, dass die Ereignisse von einem Schlagzeugklang erzeugt wurden), auf drei oder mehr eingestellt. Gemäß einer beispielhaften Ausführungsform der Erfindung müssen Ereignisse in drei aufeinanderfolgenden Frequenzbändern eintreten, damit der Schritt 704 zu einem positiven Ergebnis führt.
  • Wenn das Ergebnis von Schritt 704 negativ ist, fährt der Prozess mit Schritt 708 fort, in dem der Prozess zum nächsten Prüfzeitintervall vorrückt und in der Schleife zu Schritt 702 zurückkehrt. Wenn andererseits das Ergebnis des Schrittes 704 positiv ist, fährt der Prozess 700 mit Schritt 706 fort, in dem jede Folge von Ereignissen, die während desselben Prüfzeitintervalls in benachbarten Frequenzbändern eingetreten sind, auf ein einziges Ereignis zurückgeführt wird. Alle Ereignisse mit Ausnahme des Ereignisses in der Folge, das den höchsten, schnell gemittelten Durchschnittswert aufweist, werden aus dem vom Prozess 400 erzeugten Ereignisstrom gelöscht. Anstatt alle außer ein Ereignis zu löschen, können alternativ Ereignisse bis zu einer bestimmten Anzahl behalten werden.
  • Die oben beschriebenen Prozesse erzeugen Schlüssel für eine Tonaufnahme auf der Grundlage von Merkmalen (d. h. Ereignissen), die in der Tonaufnahme enthalten sind. Deshalb können die Prozesse auf bekannte Audioinhalte angewendet werden, um eine Merkmaldatenbank des bekannten Audioinhalts während einer Speicherphase aufzubauen. Nachdem die Datenbank erstellt wurde, können die obigen Prozesse während einer Abrufphase zum Herleiten von Merkmalen aus einem unbekannten Audioinhalt verwendet werden, und auf die Datenbank kann dann zum Erkennen des Audioinhalts anhand der hergeleiteten Merkmale zugegriffen werden. Beispielsweise können dieselben Prozesse an dem unbekannten Audioinhalt zum Herleiten von Merkmalen in Echtzeit (oder noch schneller) ausgeführt werden, und der Audioinhalt wird dann mit der besten Übereinstimmung in der Datenbank identifiziert. In einer Ausführungsform kann eine beste Übereinstimmung für jedes vorgegebene Intervall (z. B. 10 bis 30 Sekunden) des Audioinhalts ausgegeben werden.
  • 8 stellt ein Flussdiagramm eines Song-Erkennungsprozesses dar, der zum Erkennen eines Audioabschnitts die Schlüssel verwendet, die in den Prozessen aus den 5 und 6 erzeugt wurden. Eine Song-Datenbank (wie z. B. die oben beschriebene) wird zum Erkennen eines unbekannten Songs verwendet, z. B. ein Song, der im Schritt 304 des Prozesses 300 von einer Webseite heruntergeladen wurde. Das Feld „Schlüsselfolge” (Spalte) der Song-Datenbank kann als ein Datenbankschlüssel verwendet werden. Die Datensätze (Zeilen) der Song-Datenbank werden vorzugsweise in einer Hash-Tabelle zum direkten Nachschlagen gespeichert werden. Der Erkennungsprozess 800 stellt eine beispielhafte Umsetzung des Schrittes 308 aus 3 dar.
  • Im Schritt 802 werden aus einem Song, der erkannt werden soll, Schlüssel erzeugt (z. B. indem die in den 5 und 6 gezeigten Prozesse durchgeführt werden). Im Schritt 804 wird jeder Schlüssel aus der im Schritt 804 erzeugten Schlüsselmenge in einer Song-Datenbank nachgeschlagen, die Schlüssel für eine Vielzahl von Songs enthält. Der Schlüsselfolgen-Teil (im Gegensatz zum Prüfintervall-Teil) jedes Schlüssels wird als ein Datenbankschlüssel verwendet. Mit anderen Worten, die Song-Datenbank wird nach Einträgen durchsucht, die dieselbe Schlüsselfolge wie die Schlüsselfolge aufweisen, die zu einem von dem zu erkennenden Song erhaltenen Schlüssel gehört. Es kann mehr als ein Schlüssel in der Song-Datenbank dieselbe Schlüsselfolge aufweisen, und darüber hinaus kann unter glücklichen Umständen mehr als ein Song in der Song-Datenbank an derselben Schlüsselfolge teilhaben. Im Schritt 806 wird für jeden Schlüssel in der Datenbank, der mit einem oder mehreren Schlüsseln in der Song-Datenbank übereingestimmt hat (der Schlüsselfolge entsprechend), ein Versatz berechnet, indem die Differenz zwischen einem Prüfzeitintervall, das mit dem nachgeschlagenen Schlüssel verknüpft ist, und einem Prüfzeitintervall gebildet wird, das mit jedem übereinstimmenden Schlüssel in der Song-Datenbank verknüpft ist.
  • Im Schritt 808 werden die Versätze in Versatz-Zeitgruppen zusammengefasst. Die Versatz-Zeitgruppen für die Versätze unterscheiden sich von den Zeitgruppen, die bei der Schlüsselerzeugung verwendet wurden. Gemäß einer bevorzugten Ausführungsform stimmt eine Versatz-Zeitgruppe mit 2 bis 10 Prüfzeitintervallen überein. Zur Veranschaulichung würde, wenn jede Versatz-Zeitgruppe 5 betragen würde, jedes Schlüsselpaar, für das die im Schritt 806 ermittelte Differenz zwischen 0 und 5 betragen hat, dann einer ersten Versatz-Zeitgruppe und jedes Schlüsselpaar, für das die Differenz zwischen 6 und 10 betragen hat, einer zweiten Versatz-Zeitgruppe zugeordnet werden. Gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung entspricht jede Versatz-Zeitgruppe 5 Prüfzeitintervallen.
  • Im Schritt 810 wird für jeden Song, von dem Schlüssel mit Schlüsseln des zu erkennenden Songs übereinstimmen, und für jede Versatz-Zeitgruppe, die im Schritt 808 ermittelt wurde und Schlüssel für einen vorgegebenen Song in der Songdatenbank enthält, die Anzahl der übereinstimmenden Schlüssel gezählt, die denselben Zeitgruppen-Versatzwert aufweisen. Man kann sich den Schritt 810 auf die folgende Weise vorstellen, die auch als Grundlage für einen Ausführungsansatz verwendet werden kann: Für eine bestimmte Zeit wird eine Tabelle erstellt, in der jede Zeile einem Song aus der Song-Datenbank entspricht, der eine oder mehrere Schlüsselübereinstimmungen mit dem zu erkennenden Song aufwies. Die erste Spalte enthält die Namen der Songs. In der zweiten Spalte ist neben jedem Songnamen ein Wert der Versatz-Zeitgruppe vorhanden, die zwischen den Schlüsseln, die für den bezeichneten Song in der Songdatenbank ermittelt wurden, und den übereinstimmenden Schlüsseln aus dem zu erkennenden Song festgestellt wurde. Nach dem Ausführen des Schritts 810 enthält die dritte Spalte die Zählwerte der Schlüsselübereinstimmungen, die einem bestimmten in der ersten Spalte identifizierten Song entsprechen, der dieselbe Versatz-Zeitgruppe wie die in der zweiten Spalte angegebene aufwies. Die Tabelle könnte folgende Form haben: Tabelle 1:
    SONG-TITEL VERSATZWERT (EINHEITEN DES ZEITGRUPPENINTERVALLS) ZÄHLWERT DER SCHLÜSSELFOLGENÜBEREINSTIMMUNGEN FÜR DIESEN SONG UND MIT DIESEM VERSATZWERT
    Titel 1 3 1
    Titel 1 4 1
    Titel 2 2 2
    Titel 2 3 107
    Titel 3 5 1
    Titel 2 8 1
  • Wenn der zu erkennende Song in der Datenbank vorhanden ist, sammelt ein bestimmter Zeitgruppen-Versatzwert einen hohen Zählerstand an. Mit anderen Worten, zu einer hohen Anzahl übereinstimmender Schlüsselpaare wird ein bestimmter Wert der Versatz-Zeitgruppe festgestellt. In dem obigen Beispiel wies der mit „Titel 2” bezeichnete Song einen Zählwert von 107 für eine Versatz-Zeitgruppe 3 auf. Beispielsweise kann der Zeitgruppen-Versatz dadurch entstehen, dass die spezielle zu erkennende Aufnahme wenige Sekunden nach dem Aufnehmen des Songs, der zum Erzeugen der Schlüssel für die Song-Datenbank verwendet wurde, begonnen hat, oder ein kleiner Abschnitt des Songs erkannt wird.
  • Im Schritt 812 wird der Song aus der Song-Datenbank erkannt, der den höchsten Zählwert übereinstimmender Schlüssel mit dem gleichem Versatz aufweist. Im Entscheidungsblock 814 wird der Zählwert mit einem Schwellenwert verglichen. Der Schwellenwert kann aufgrund der jeweiligen Anwendung oder durch eine Ermittlung eines Mindestwertes der höchsten Zählwerte, die beim tatsächlichen Übereinstimmen von Songs festgestellt werden, und des Höchstwerts der höchsten Zählwerte festgelegt werden, wenn geprüfte Songs mit keinem der Songs in der Datenbank übereinstimmen. Der Schwellenwert hängt auch von der speziellen Ausführungsform ab, die für den oben beschriebenen Schritt 602 gewählt wird, da diese die Gesamtanzahl der Schlüssel bestimmt.
  • Anstatt den Zählwert mit einem Schwellenwert zu vergleichen, ist es möglich, im Schritt 812 stattdessen einen Schwellenwert mit dem Verhältnis des höchsten Zählwerts mit der Gesamtanzahl der aus dem zu erkennenden Song erzeugten Schlüssel zu vergleichen. Eine andere Alternative besteht darin, einen Schwellenwert mit dem Verhältnis des höchsten Zählwerts mit dem Durchschnitt der verbleibenden Zählwerte zu vergleichen. Diese beiden letzteren Alternativen können auch als das Vergleichen des höchsten Zählwerts mit einem Schwellenwert betrachtet werden, obgleich der Schwellenwert in diesen Fällen nicht fest ist. Falls der Zählwert nicht die Schwellenwertbedingung erfüllt, wie es der Fall wäre, wenn der zu erkennende Song nicht in der Datenbank ist, wird der Song-Erkennungsprozess 800 beendet. Zusätzliche Schritte können vorgesehen sein, um zu berichten (z. B. einem Nutzer), dass der zu erkennende Song nicht identifiziert werden konnte. Falls der Zählwert andererseits nicht die Schwellenwert-Bedingung erfüllt, werden im Schritt 814 die Daten ausgegeben, die den Song mit dem höchsten Zählwert identifizieren. In weiteren Ausführungsformen werden die Prozesse der vorliegenden Erfindung zum Erkennen von Song-Abschnitten verwendet.
  • Demgemäß stellt die Erfindung zum Erkennen von Songs Verfahren bereit, die stabil sind in Bezug auf ihre Fähigkeit, Verzerrung und Veränderung zu verarbeiten. Des Weiteren ist das Verfahren auch leistungsfähig in Bezug auf die Datenverarbeitungs-Komplexität und die Speicheranforderungen. In bevorzugten Ausführungsformen werden die Prozesse zum Erzeugen eines Ereignisstroms, Filtern von Schlagzeugereignissen, Schlüsselerzeugen und Nachschlagen von Schlüsseln in einer Song-Datenbank in Echtzeit ausgeführt. Der Datenverarbeitungsaufwand dieser Prozesse ist in bevorzugten Ausführungsformen ausreichend gering, sodass sie in Echtzeit auf einem gewöhnlichen Personalcomputer ausgeführt werden können.
  • Die vorliegende Erfindung kann in Hardware, Software oder einer Kombination aus Hardware und Software realisiert werden. Jede Art von Computersystem – oder einer anderen Vorrichtung, die die hier beschriebenen Verfahren durchführen kann – eignet sich dafür. Bei einer typischen Kombination aus Hardware und Software könnte es sich um ein Universal-Computersystem mit einem Computerprogramm handeln, das, wenn es geladen und ausgeführt wird, das Computersystem so steuert, dass es die hier beschriebenen Verfahren ausführt.
  • Die vorliegende Erfindung kann auch in ein Computerprogramm-Produkt eingebaut werden, das alle Eigenschaften enthält, die die Umsetzung der hier beschriebenen Verfahren ermöglichen, und – wenn es in ein Computersystem geladen wird – diese Verfahren ausführen kann. Unter Computerprogramm-Mittel oder Computerprogramm ist in dem gegebenen Zusammenhang jeder Ausdruck in einer beliebigen Sprache, Code oder Darstellungsart einer Menge von Anweisungen zu verstehen, die zum Veranlassen eines Systems mit einer Datenverarbeitungsfähigkeit vorgesehen sind, damit es eine bestimmte Funktion entweder direkt oder nach der Umwandlung in eine andere Sprache, einen Code oder eine Darstellungsart und/oder nach der Wiedergabe in einer anderen materiellen Form ausführt.
  • In jedem Computersystem können unter anderem einer oder mehrere Computer und wenigstens ein computerlesbares Medium, das einem Computer das Lesen von Daten erlaubt, Anweisungen, Meldungen oder Nachrichtenpakete und andere computerlesbare Daten aus dem computerlesbaren Medium vorhanden sein. Bei dem computerlesbaren Medium kann es sich um einen nichtflüchtigen Speicher wie z. B. ein ROM, Flash-Speicher, Plattenlaufwerks-Speicher, ein CD-ROM und einen anderen permanenten Speicher handeln. Des Weiteren können zu einem Computermedium z. B. ein flüchtiger Speicher wie z. B. ein RAM, Puffer, Cache-Speicher und Netzwerkschaltungen zählen. Des Weiteren kann das computerlesbare Medium computerlesbare Daten in einem Medium mit wechselnden Zuständen wie z. B. einer Netzwerkverbindung und/oder einer Netzwerkschnittstelle beinhalten, darunter ein Kabelnetzwerk oder ein kabellosen Netzwerk, die einem Computer das Lesen solcher computerlesbaren Daten erlauben.
  • Während hier veranschaulicht und beschrieben wurde, was derzeit unter den bevorzugten Ausführungsformen der vorliegenden Erfindung verstanden wird, wird der Fachmann in dem Gebiet erkennen, dass verschiedene Modifikationen möglich sind, und durch Gleichwertiges ersetzt werden kann, ohne vom wahren Erfindungsgedanken der Erfindung abzuweichen. Des Weiteren können Modifikationen ausgeführt werden, um eine bestimmte Situation an die Lehren der Erfindung anzupassen, ohne von dem in den angefügten Ansprüchen festgelegten Erfindungsgedanken abzuweichen.

Claims (16)

  1. Verfahren zum Erkennen von Ereignissen in einem Audioabschnitt, wobei das Verfahren die folgenden Schritte umfasst: Erhalten eines Audiosignals; Analysieren (404) des Energiespektrums des Audiosignals zum Erhalten einer Vielzahl von zeitabhängigen Frequenzkomponenten; und gekennzeichnet durch die folgenden Schritte: Erkennen einer Vielzahl von Ereignissen in der Vielzahl der zeitabhängigen Frequenzkomponenten durch: Ausführen (408) einer ersten Signalmittelung jeder Komponente einer ersten Teilmenge der Vielzahl zeitabhängiger Frequenzkomponenten über ein erstes Mittelungs-Zeitintervall, um eine erste Folge von Durchschnittsenergien zu einer Menge aufeinanderfolgender Zeitpunkte für jede der Vielzahl zeitabhängiger Frequenzkomponenten zu erhalten; Ausführen (410) einer zweiten Signalmittelung jeder Komponente der Teilmenge der Vielzahl zeitabhängiger Frequenzkomponenten über ein zweites Mittelungs-Zeitintervall, das vom ersten Mittelungsintervall verschieden ist, um eine zweite Folge von Durchschnittsenergien zu der Menge aufeinanderfolgender Zeitpunkte für jede der Vielzahl zeitabhängiger Frequenzkomponenten zu erhalten; und Identifizieren (414) einer Vielzahl von Mittelwert-Kreuzungsereignissen zu einer Vielzahl von Ereigniszeitpunkten, zu denen der erste Signalmittelwert den zweiten Signalmittelwert überquert.
  2. Verfahren nach Anspruch 1, worin der Schritt des Analysierens die folgenden Teilschritte beinhaltet: Abtasten (402) des Audiosignals zum Erhalten einer Vielzahl von Audiosignal-Proben; Bilden einer Vielzahl von Teilmengen aus der Vielzahl von Audiosignal-Proben; und Ausführen einer Fouriertransformation an jeder der Vielzahl von Teilmengen zum Erhalten einer Menge von Fourier-Frequenzkomponenten.
  3. Verfahren nach Anspruch 2, worin der Schritt des Analysierens ferner den Teilschritt des gemeinsamen Mittelns von Fourier-Frequenzkomponenten beinhaltet, die aus einer oder mehreren aufeinanderfolgenden, aus der Vielzahl von Teilmengen ausgewählten Teilmengen erhalten wurden.
  4. Verfahren nach Anspruch 3, worin der Schritt des Analysierens ferner den Teilschritt des Zusammenfassens (406) von Fourier-Frequenzkomponenten in einer Vielzahl von Halbton-Frequenzbändern beinhaltet.
  5. Verfahren nach einem der vorangehenden Ansprüche, worin jedem Ereignis ein Halbton-Frequenzband und eine Zeitgruppe zugewiesen wird, innerhalb derer das Ereignis eingetreten ist.
  6. Verfahren nach Anspruch 4 oder 5, worin der Schritt des Ausführens einer ersten Signalmittelung das Ausführen einer ersten Mittelung der Energie in jedem Halbton-Frequenzband über ein Zeitintervall T1 und den Schritt des Ausführens einer zweiten Signalmittelung umfasst, der eine zweite Mittelung der Energie in jedem Halbton-Frequenzband über ein Zeitintervall T2 ausführt, wobei T2 größer als T1 ist.
  7. Verfahren nach einem der vorangehenden Ansprüche, worin das erste Mittelungs-Zeitintervall zwischen 1/10 Sekunde und 1 Sekunde beträgt, und das zweite Mittelungs-Zeitintervall das 2- bis 8-Fache des ersten Mittelungs-Zeitintervalls beträgt.
  8. Verfahren nach Anspruch 1, das ferner den Schritt des Zusammenfassens der Vielzahl von Ereignissen in einer Vielzahl von Zeitgruppen umfasst, die jeweils ein Zeitintervall abdecken.
  9. Verfahren nach Anspruch 1, das ferner den folgenden Schritt enthält: Auswählen einer oder mehrerer Kombinationen von Ereignissen in Reaktion auf das Erkennen jedes Ereignisses in jeder der Vielzahl zeitabhängiger Frequenzkomponenten aus einer Vielzahl von Ereignissen, die innerhalb einer Anzahl von Zeitgruppen und innerhalb einer bestimmten Anzahl von zeitabhängigen Frequenz-Komponenten eingetreten sind.
  10. Verfahren nach Anspruch 9, worin der Schritt des Auswählens den Teilschritt des Auswählens einer oder mehrerer Verknüpfungen von Ereignissen aus einer Vielzahl von Ereignissen beinhaltet, die innerhalb einer bestimmten Anzahl von Zeitgruppen und zeitabhängiger Frequenzkomponenten eingetreten sind, wobei zu jedem Zeitpunkt nur ein Ereignis aus der Zeitgruppe ausgewählt wird.
  11. Verfahren nach Anspruch 9, das ferner den Schritt des Bildens einer Vielzahl von Schlüsseln aus der einen oder den mehreren Verknüpfungen umfasst, von denen jede einen mit der Ereigniskombination verbundenen Zeitpunkt und eine Schlüsselfolge umfasst, die Informationen über jedes Ereignis in der Verknüpfung enthält.
  12. Verfahren zum Bilden eines Erkennungsmerkmals eines Aufzeichnungsabschnitts von Audiosignalen, wobei das Verfahren die folgenden Schritte umfasst: Erkennen von Ereignissen aus dem Audioabschnitt gemäß dem Verfahren nach einem der vorangehenden Ansprüche, wobei jedem Ereignis ein Halbton-Frequenzband und eine Zeitgruppe zugewiesen wird, innerhalb derer es eingetreten ist; und
  13. Verfahren zum Ermitteln, ob ein Audiostrom wenigstens einen Abschnitt einer bekannten Aufzeichnung von Audiosignalen enthält, wobei das Verfahren die folgenden Schritte umfasst: Erzeugen wenigstens eines kennzeichnenden Merkmals auf der Grundlage des Abschnitts der bekannten Aufzeichnung mit dem Verfahren aus Anspruch 12; Speichern des ersten kennzeichnenden Merkmals in einer Datenbank (216); Erzeugen wenigstens eines zweiten kennzeichnenden Merkmals auf der Grundlage des Audiostroms mit dem Verfahren aus Anspruch 12; und Vergleichen des ersten und des zweiten kennzeichnenden Merkmals zum Ermitteln, ob wenigstens ein vorgegebener Grad an Ähnlichkeit vorhanden ist.
  14. Computerlesbares Medium, das mit einem Programm zum Kennzeichnen von Ereignissen aus einem Audio-Abschnittsinhalt kodiert ist, wobei das Programm Befehle enthält, die einen Computer zum Ausführen der Schritte eines Verfahrens nach einem der Ansprüche 1 bis 11 veranlassen.
  15. Computerlesbares Medium, das mit einem Programm zum Erzeugen eines kennzeichnenden Merkmals eines Abschnitts einer Aufzeichnung von Audiosignalen kodiert ist, wobei das Programm Befehle enthält, die einen Computer zum Ausführen der Schritte eines Verfahrens nach Anspruch 12 veranlassen.
  16. System zum Identifizieren einer Aufzeichnung eines Audiosignals, wobei das System Folgendes umfasst: eine Schnittstelle zum Empfangen eines zu identifizierenden Audiosignals; einen Spektrumanalysator zum Erhalten einer Vielzahl zeitabhängiger Frequenzkomponenten aus dem Audiosignal; einen Ereignisdetektor zum Erkennen einer Vielzahl von Ereignissen in jeder der zeitabhängigen Frequenzkomponenten, wobei ein solcher Ereignisdetektor ein Mittel zum Durchführen des Verfahrens nach einem der Ansprüche 1 bis 11 umfasst; und einen Schlüsselgenerator zum Gruppieren der Vielzahl von Ereignissen nach der Frequenz und der Zeit und zum Zusammensetzen einer Vielzahl von Schüsseln aufgrund der Vielzahl von Ereignissen.
DE60225190T 2002-04-05 2002-04-05 Merkmal-basierte audio-inhaltsidentifikation Expired - Lifetime DE60225190T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2002/011091 WO2003088534A1 (en) 2002-04-05 2002-04-05 Feature-based audio content identification

Publications (2)

Publication Number Publication Date
DE60225190D1 DE60225190D1 (de) 2008-04-03
DE60225190T2 true DE60225190T2 (de) 2009-09-10

Family

ID=29247966

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60225190T Expired - Lifetime DE60225190T2 (de) 2002-04-05 2002-04-05 Merkmal-basierte audio-inhaltsidentifikation

Country Status (8)

Country Link
EP (1) EP1497935B1 (de)
JP (1) JP4267463B2 (de)
KR (1) KR100754294B1 (de)
CN (1) CN100545834C (de)
AT (1) ATE386999T1 (de)
AU (1) AU2002254568A1 (de)
DE (1) DE60225190T2 (de)
WO (1) WO2003088534A1 (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7711123B2 (en) * 2001-04-13 2010-05-04 Dolby Laboratories Licensing Corporation Segmenting audio signals into auditory events
US7598447B2 (en) * 2004-10-29 2009-10-06 Zenph Studios, Inc. Methods, systems and computer program products for detecting musical notes in an audio signal
JP2007171772A (ja) * 2005-12-26 2007-07-05 Clarion Co Ltd 音楽情報処理装置、音楽情報処理方法および制御プログラム
US7539616B2 (en) * 2006-02-20 2009-05-26 Microsoft Corporation Speaker authentication using adapted background models
JP2009192725A (ja) * 2008-02-13 2009-08-27 Sanyo Electric Co Ltd 楽曲記録装置
CN104252480B (zh) * 2013-06-27 2018-09-07 深圳市腾讯计算机系统有限公司 一种音频信息检索的方法和装置
CN104900238B (zh) * 2015-05-14 2018-08-21 电子科技大学 一种基于感知滤波的音频实时比对方法
CN104900239B (zh) * 2015-05-14 2018-08-21 电子科技大学 一种基于沃尔什-哈达码变换的音频实时比对方法
CN105653596A (zh) * 2015-12-22 2016-06-08 惠州Tcl移动通信有限公司 一种基于音频对比的特定功能快速启动方法及其装置
CN105976828A (zh) * 2016-04-19 2016-09-28 乐视控股(北京)有限公司 一种声音区分方法和终端
US11294954B2 (en) * 2018-01-04 2022-04-05 Audible Magic Corporation Music cover identification for search, compliance, and licensing
KR102097534B1 (ko) * 2018-07-25 2020-04-06 주식회사 키네틱랩 사용자의 모션 인식 기반 댄스 게임을 제공하는 방법 및 장치
CN113112993B (zh) * 2020-01-10 2024-04-02 阿里巴巴集团控股有限公司 一种音频信息处理方法、装置、电子设备以及存储介质
US11816151B2 (en) 2020-05-15 2023-11-14 Audible Magic Corporation Music cover identification with lyrics for search, compliance, and licensing
CN111724824B (zh) * 2020-06-11 2021-12-03 北京凯视达信息技术有限公司 一种音频的储存和检索方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4450531A (en) * 1982-09-10 1984-05-22 Ensco, Inc. Broadcast signal recognition system and method
US4843562A (en) * 1987-06-24 1989-06-27 Broadcast Data Systems Limited Partnership Broadcast information classification system and method
DE3720882A1 (de) * 1987-06-24 1989-01-05 Media Control Musik Medien Verfahren und schaltungsanordnung zum automatischen wiedererkennen von signalfolgen
US5437050A (en) * 1992-11-09 1995-07-25 Lamb; Robert G. Method and apparatus for recognizing broadcast information using multi-frequency magnitude detection

Also Published As

Publication number Publication date
EP1497935A4 (de) 2006-12-06
CN100545834C (zh) 2009-09-30
CN1623289A (zh) 2005-06-01
WO2003088534A1 (en) 2003-10-23
DE60225190D1 (de) 2008-04-03
EP1497935B1 (de) 2008-02-20
AU2002254568A1 (en) 2003-10-27
KR20040101299A (ko) 2004-12-02
EP1497935A1 (de) 2005-01-19
KR100754294B1 (ko) 2007-09-03
ATE386999T1 (de) 2008-03-15
JP2005522744A (ja) 2005-07-28
JP4267463B2 (ja) 2009-05-27

Similar Documents

Publication Publication Date Title
DE60225190T2 (de) Merkmal-basierte audio-inhaltsidentifikation
EP1368805B1 (de) Verfahren und vorrichtung zum charakterisieren eines signals und verfahren und vorrichtung zum erzeugen eines indexierten signals
EP1787284B1 (de) Vorrichtung und verfahren zur robusten klassifizierung von audiosignalen sowie verfahren zu einrichtung und betrieb einer audiosignal-datenbank sowie computer-programm
DE60302651T2 (de) Schnelles hash-basiertes metadatenretrieval für multimediaobjekte
DE60131893T2 (de) Verfahren und vorrichtung zum erzeugen von eindeutigen audiosignaturen
EP1407446B1 (de) Verfahren und vorrichtung zum charakterisieren eines signals und zum erzeugen eines indexierten signals
EP1745464B1 (de) Vorrichtung und verfahren zum analysieren eines informationssignals
EP1405222B1 (de) Verfahren und vorrichtung zum erzeugen eines fingerabdrucks und verfahren und vorrichtung zum identifizieren eines audiosignals
US20020143530A1 (en) Feature-based audio content identification
DE60215495T2 (de) Verfahren und system zur automatischen erkennung ähnlicher oder identischer segmente in audioaufzeichnungen
US7031921B2 (en) System for monitoring audio content available over a network
EP1794745A1 (de) Vorrichtung und verfahren zum ändern einer segmentierung eines audiostücks
DE10148359A1 (de) Verfahren zum Verhindern eines Umsatzrückganges von Aufzeichnungen aufgrund einer illegal über ein Kommunikationsnetzwerk vertriebenen, digitalen Musikdatei
DE10232916A1 (de) Vorrichtung und Verfahren zum Charakterisieren eines Informationssignals
DE102004028693B4 (de) Vorrichtung und Verfahren zum Bestimmen eines Akkordtyps, der einem Testsignal zugrunde liegt
DE102006054671A1 (de) Systeme und Verfahren zum Auffinden häufig aufgerufener Unterbäume
EP1377924B1 (de) VERFAHREN UND VORRICHTUNG ZUM EXTRAHIEREN EINER SIGNALKENNUNG, VERFAHREN UND VORRICHTUNG ZUM ERZEUGEN EINER DAZUGEHÖRIGEN DATABANK und Verfahren und Vorrichtung zum Referenzieren eines Such-Zeitsignals
EP1743324B1 (de) Vorrichtung und verfahren zum analysieren eines informationssignals
DE102009029615B4 (de) Verfahren und Anordnung zur Verarbeitung von Audiodaten sowie ein entsprechendes Computerprogramm und ein entsprechendes computer-lesbares Speichermedium
DE10256987A1 (de) Verfahren zur Einbettung eines digitalen Wasserzeichens in einen über einen Datenübertragungskanal zu übertragenden binären Datenstrom
DE102006027331A1 (de) Einrichtung zum Erzeugen einer Titelliste, insbesondere einer Musiktitelliste

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)