DE102015015827A1 - Method and apparatus for constructing an audio fingerprint database and searching for an audio fingerprint - Google Patents

Method and apparatus for constructing an audio fingerprint database and searching for an audio fingerprint Download PDF

Info

Publication number
DE102015015827A1
DE102015015827A1 DE102015015827.9A DE102015015827A DE102015015827A1 DE 102015015827 A1 DE102015015827 A1 DE 102015015827A1 DE 102015015827 A DE102015015827 A DE 102015015827A DE 102015015827 A1 DE102015015827 A1 DE 102015015827A1
Authority
DE
Germany
Prior art keywords
key
audio
audio fingerprints
server
values
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.)
Withdrawn
Application number
DE102015015827.9A
Other languages
German (de)
Inventor
Anmelder Gleich
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of DE102015015827A1 publication Critical patent/DE102015015827A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/35Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users
    • H04H60/37Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying segments of broadcast information, e.g. scenes or extracting programme ID
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H2201/00Aspects of broadcast communication
    • H04H2201/90Aspects of broadcast communication characterised by the use of signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)

Abstract

Die Erfindung offenbart ein Verfahren zur Konstruktion von Audio-Fingerabdruck-Datenbanken, welches folgendes umfasst: Audio-Fingerabdrücke und Schlüsselwerte von Audio-Fingerabdrücken extrahieren; mathematische Korrespondenzbeziehungen zwischen Audio-Fingerabdrücken mit gleichen Schlüsselwerten herstellen; Schlüsselwerte und die entsprechenden Audio-Fingerabdrücke einem Server zuweisen; und Korrespondenzbeziehungen zwischen dem Schlüsselwert und dem Server herstellen, um so eine Audio-Fingerabdruck-Datenbank zu konstruieren. Die Erfindung weist den Servern Audio-Fingerabdrücke und Schlüsselwerte dieser Audio-Fingerabdrücke gleichmäßig zu. Auf diese Weise werden die Audio-Fingerabdrücke mit den entsprechenden Schlüsselwerten bei jeder Anfrage an den Server, auf dem sie zur Berechnung gespeichert sind, präzise gefunden und gewährleistet die größtmögliche Ressourcenauslastung. Eine gleichmäßige Lastverteilung wird durch das Führen von Statistiken über die Zugriffshäufigkeit auf jeden Schlüsselwert auf jedem Server während der Laufzeit des Systems optimiert, um den Durchsatz des Systems zu verbessern.The invention discloses a method of constructing audio fingerprint databases, comprising: extracting audio fingerprints and key-values of audio fingerprints; establish mathematical correspondence relations between audio fingerprints with the same key values; Assign key values and the corresponding audio fingerprints to a server; and establish correspondence relationships between the key value and the server so as to construct an audio fingerprint database. The invention evenly assigns to the servers audio fingerprints and key-values of these audio fingerprints. In this way, the audio fingerprints with the corresponding key values are precisely found on each request to the server on which they are stored for computation, ensuring the greatest possible resource utilization. Uniform load balancing is optimized by keeping track of access frequency statistics on each key value on each server during the runtime of the system to improve system throughput.

Description

TECHNISCHES GEBIETTECHNICAL AREA

Die Erfindung betrifft das Gebiet der Informationstechnologie und insbesondere ein Verfahren und einer Vorrichtung zum Aufbau einer Audio-Fingerabdruck-Datenbank und zur Suche nach einem Audio-FingerabdruckThe invention relates to the field of information technology, and more particularly to a method and apparatus for constructing an audio fingerprint database and searching for an audio fingerprint

HINTERGRUNDBACKGROUND

Die Identifizierung von einem Audio Fingerabdruck ist eine datenintensive und rechenintensive Anwendung: die extrem große Audio-Fingerabdruck-Datenbank muss die Eigenschaften einer ausreichenden Anzahl von Audio-Dateien enthalten, um die Erkennung bei einer Anwendung zu gewährleisten; und der Umfang bewegt sich in der Regel im Zehn-Millionen-Bereich; der Suchalgorithmus muss einen enormen Rechenaufwand bewältigen, damit eine gute Suchgeschwindigkeit erzielt wird und verwendet dazu in der Regel den gesamten Speicherplatz zum Speichern und Berechnung einer großen Audio-Fingerabdruck-Datenbank.The identification of an audio fingerprint is a data-intensive and computationally intensive application: the extremely large audio fingerprint database must contain the characteristics of a sufficient number of audio files to ensure recognition in an application; and the scope usually ranges in the tens of millions; The search algorithm must handle a tremendous amount of computation to get a good search speed, typically using all of the memory to store and compute a large audio fingerprint database.

Es ist bekannt, dass die Identifizierung eines Audio-Fingerabdrucks hohe Anforderung an die Speicherkapazität (TB-Bereich) stellt und derzeit nicht von einem einzelnen Server erfüllt werden kann. In den bestehenden Lösungen wird die Musik-Bibliothek normalerweise auf eine große Anzahl von Servern aufgeteilt, um dann auf den vielen Servern wiederum eine Audio-Fingerabdruck-Datenbank zu erstellen. Bei diesen Lösungen führt die Suche auf allen Servern zu unnötigen Suchen und der Verschwendung von Ressourcen. Deshalb wurde die Frage, wie man große Audio-Fingerabdruck-Datenbanksysteme mit optimaler Ressourcenauslastung konstruiert in diesem Bereich der Branche zu einem Problem.It is known that the identification of an audio fingerprint makes high demands on the storage capacity (TB area) and can not currently be fulfilled by a single server. In the existing solutions, the music library is usually split up into a large number of servers, to then create an audio fingerprint database on the many servers. With these solutions, searching across all servers leads to unnecessary searches and waste of resources. Therefore, the question of how to design large audio fingerprint database systems with optimal resource utilization has become a problem in this area of the industry.

ZUSAMMENFASSUNG DER ERFINDUNGSUMMARY OF THE INVENTION

Gemäß dem ersten Aspekt dieser Erfindung wird ein Verfahren zur Konstruktion von Audio-Fingerabdruck-Datenbanken vorgestellt, das folgendes umfasst: Audio-Fingerabdrücke und Schlüsselwerte von Audio-Fingerabdrücken extrahieren; mathematische Korrespondenzbeziehungen zwischen Audio-Fingerabdrücken mit gleichen Schlüsselwerten herstellen; Schlüsselwerte und die entsprechenden Audio-Fingerabdrücke einem Server zuweisen; und Korrespondenzbeziehungen zwischen dem Schlüsselwert und dem Server herstellen, um so eine Audio-Fingerabdruck-Datenbank zu konstruieren.According to the first aspect of this invention, there is provided a method of constructing audio fingerprint databases, comprising: extracting audio fingerprints and key-values of audio fingerprints; establish mathematical correspondence relations between audio fingerprints with the same key values; Assign key values and the corresponding audio fingerprints to a server; and establish correspondence relationships between the key value and the server so as to construct an audio fingerprint database.

Dieses Verfahren und diese Vorrichtung für die Konstruktion einer Audio-Fingerabdruck-Datenbank und die Suche nach Audio-Fingerabdrücken weist den Servern Audio-Fingerabdrücke und Schlüsselwerte dieser Audio-Fingerabdrücke gleichmäßig zu. Auf diese Weise werden die Audio-Fingerabdrücke mit den entsprechenden Schlüsselwerten bei jeder Anfrage an den Server, auf dem sie zur Berechnung gespeichert sind, präzise gefunden und gewährleistet die größtmögliche Ressourcenauslastung. Eine gleichmäßige Lastverteilung wird durch das Führen von Statistiken über die Zugriffshäufigkeit auf jeden Schlüsselwert auf jedem Server während der Laufzeit des Systems optimiert, um den Durchsatz des Systems zu verbessern.This method and apparatus for constructing an audio fingerprint database and searching for audio fingerprints equally assigns to the servers audio fingerprints and key-values of these audio fingerprints. In this way, the audio fingerprints with the corresponding key values are precisely found on each request to the server on which they are stored for computation, ensuring the greatest possible resource utilization. Uniform load balancing is optimized by keeping track of access frequency statistics on each key value on each server during the runtime of the system to improve system throughput.

KURZBESCHREIBUNG DER ZEICHNUNGENBRIEF DESCRIPTION OF THE DRAWINGS

1 zeigt ein Flussdiagramm des Verfahrens zum Konstruieren einer Audio-Fingerabdruck-Datenbank gemäß dieser Erfindung; 1 FIG. 12 is a flow chart of the method of constructing an audio fingerprint database according to this invention; FIG.

2 zeigt ein Flussdiagramm eines Verfahrens zum Suchen eines Audio-Fingerabdrucks auf einem Server gemäß dieser Erfindung; 2 FIG. 12 is a flow chart of a method for searching an audio fingerprint on a server according to this invention; FIG.

3 zeigt eine schematische Darstellung der Schlüsselwerte und der entsprechenden Audio-Fingerabdrücke dieser Schlüsselwerte; 3 shows a schematic representation of the key values and the corresponding audio fingerprints of these key values;

4 zeigt eine schematische Darstellung einer Hash-Tabelle; 4 shows a schematic representation of a hash table;

5 zeigt eine schematische Darstellung der Struktur der Verteilung von Schlüsselwerten auf einem Server; 5 shows a schematic representation of the structure of the distribution of key values on a server;

6 zeigt eine schematische Darstellung des Aufbaus einer Vorrichtung zur Konstruktion einer Audio-Fingerabdruck-Datenbank gemäß dieser Erfindung; 6 Fig. 12 is a schematic diagram showing the structure of an apparatus for constructing an audio fingerprint database according to this invention;

7 zeigt eine schematische Darstellung des Aufbaus einer Vorrichtung zum Suchen von Audio-Fingerabdrücken auf einem Server gemäß in dieser Erfindung. 7 Fig. 12 is a schematic diagram showing the construction of an apparatus for searching audio fingerprints on a server according to this invention.

DETAILLIERTE BESCHREIBUNG DER AUSFÜHRUNGSFORMENDETAILED DESCRIPTION OF THE EMBODIMENTS

1 zeigt ein Flussdiagramm des Verfahrens zum Konstruieren einer Audio-Fingerabdruck-Datenbank gemäß dieser Erfindung. Es versteht sich, dass das in 1 gezeigte Flussdiagramm nur beispielhaft ist. Die darin aufgezeigten Schritte können in einer entsprechend anderen Reihenfolge parallel ausgeführt oder weggelassen werden und/oder gemeinsam mit anderen Schritten ausgeführt werden. Wie in 1 gezeigt umfasst ein Verfahren zur Konstruktion von Audio-Fingerabdruck-Datenbanken folgendes: Audio-Fingerabdrücke 102 und Schlüsselwerte von Audio-Fingerabdrücken extrahieren; mathematische Korrespondenzbeziehungen zwischen Audio-Fingerabdrücken mit gleichen Schlüsselwerten 104 und dem Schlüsselwert herstellen; Schlüsselwerte und die entsprechenden Audio-Fingerabdrücke einem Server 106 zuweisen; und Korrespondenzbeziehungen zwischen dem Schlüsselwert und dem Server herstellen, um so eine Audio-Fingerabdruck-Datenbank 108 zu konstruieren. 1 FIG. 12 shows a flowchart of the method for constructing an audio fingerprint database according to this invention. It is understood that in 1 shown flowchart is only exemplary. The steps indicated therein may be performed in parallel or omitted in a correspondingly different order, and / or performed in conjunction with other steps. As in 1 As shown, a method of constructing audio fingerprint databases includes: audio fingerprints 102 and extract key values from audio fingerprints; mathematical correspondence relationships between audio fingerprints with same key values 104 and the key value; Key values and the corresponding audio fingerprints to a server 106 to assign; and establish correspondence relationships between the key value and the server, so as to provide an audio fingerprint database 108 to construct.

Schritt 102 besteht daraus, Audio-Fingerabdrücke und Audio-Fingerabdruck-Schlüsselwerte zu extrahieren, d. h. zuerst wird eine Suche durchgeführt, um eine große Menge an Audioaufzeichnungen zu erhalten, dann werden aus der großen Menge an Audioaufzeichnungen Audio-Fingerabdrücke extrahiert und danach wird für jeden Audio-Fingerabdruck ein Schlüsselwert bestimmt.step 102 consists of extracting audio fingerprints and audio fingerprint key values, ie first a search is made to obtain a large amount of audio recordings, then audio fingerprints are extracted from the large amount of audio recordings and then for each audio Fingerprint determines a key value.

Schritt 104 erstellt zunächst mathematische Korrespondenzbeziehungen zwischen Audio-Fingerabdrücken mit gleichen Schlüsselwerten und einem Schlüsselwert und danach wird eine Indexliste mit allen Schlüsselwerten und den entsprechenden Audio-Fingerabdrücken erstellt. Audio-Fingerabdrücke mit dem gleichen Schlüsselwert werden unter dem gleichen Schlüsselwert aufgeführt. Dadurch entsteht eine bestimmte Korrespondenzbeziehung zwischen den Audio-Fingerabdrücken und dem Schlüsselwert, wodurch wiederum eine Indexliste mit jedem Schlüsselwert und den entsprechenden Audio-Fingerabdrücken gebildet wird. Audio-Fingerabdruck-Schlüsselwerte können dann durch eine Suche nach Audio-Fingerabdrücken gefunden werden.step 104 first creates mathematical correspondence relationships between audio fingerprints with the same key-values and a key-value, and then creates an index list of all the key-values and the corresponding audio fingerprints. Audio fingerprints with the same key value are listed under the same key value. This creates a certain correspondence relationship between the audio fingerprints and the key value, which in turn forms an index list with each key value and the corresponding audio fingerprints. Audio fingerprint key values can then be found by searching for audio fingerprints.

Im Schritt 106 werden die Schlüsselwerte und die entsprechenden Audio-Fingerabdrücke einem Server 108 zuweisen. Schritt 108 erstellt Korrespondenzbeziehungen zwischen dem Schlüsselwert und dem Server, um so eine Audio-Fingerabdruck-Datenbank zu konstruieren. Wenn die Schlüsselwerte zahlreicher werden, müssen die Schlüsselwerte einem Server zugeordnet werden, wobei jeder Server unterschiedlich viele Schlüsselwerte enthalten kann.In step 106 the key values and the corresponding audio fingerprints become a server 108 to assign. step 108 creates correspondence relationships between the key value and the server to construct an audio fingerprint database. As the key-values become more numerous, the key-values must be assigned to a server, where each server can contain different numbers of key-values.

Ein Verfahren zur Speicherung von Audio-Fingerabdrücken gemäß dieser Erfindung zur Schaffung von Korrespondenzbeziehung zwischen Audio-Fingerabdrücken mit dem gleichen Schlüsselwert und dem Schlüsselwert umfasst: Klassifizieren der Audio-Fingerabdrücke mit dem gleichen Schlüsselwert in einer Matrix. Durch das Klassifizieren der Audio-Fingerabdrücke mit demselben Schlüsselwert in einer Matrix kann eine Korrespondenzbeziehung zwischen den Audio-Fingerabdrücken mit dem gleichen Schlüsselwert und dem Schlüsselwert geschaffen werden und die Schlüsselwerte können über Audio-Fingerabdrücke gefunden werden. Die Matrix enthält zwei Elemente, nämlich den Schlüsselwert und die Audio-Fingerabdrücke.A method of storing audio fingerprints according to this invention for providing correspondence relationship between audio fingerprints having the same key value and the key value comprises: classifying the audio fingerprints with the same key value in a matrix. By classifying the audio fingerprints with the same key value in a matrix, a correspondence relationship between the audio fingerprints having the same key value and the key value can be created, and the key values can be found via audio fingerprints. The matrix contains two elements, namely the key value and the audio fingerprints.

Wie in 1 gezeigt umfasst das Verfahren zum Speichern von Audio-Fingerabdrücken weiterhin: Berechnen der Suchzeiten in den Matrizen 110; zuordnen der Matrizen zu einem Server entsprechend den Suchzeiten, um Lastunterschiede zwischen den Servern 112 zu minimieren.As in 1 As shown, the method of storing audio fingerprints further comprises: calculating the search times in the matrices 110 ; Assign the matrices to a server according to the search times to load differences between the servers 112 to minimize.

Schritt 110 berechnet die Suchhäufigkeit der Matrizen, wobei die Berechnung der Anzahl von Suchen in den Matrizen folgendes umfasst: Berechnen der Suchhäufigkeit der Schlüsselwerte in der Matrix; Bestimmen der Anzahl von Audio-Fingerabdrücken in der Matrix; Bilden des Produkts aus Suchhäufigkeit und Anzahl von Audio-Fingerabdrücken, um so die Suchzeiten in den Matrizen zu erhalten. Da eine Matrix zwei Elemente enthält, nämlich den Schlüsselwert und die Audio-Fingerabdrücke, erhält man bei der Berechnung der Suchhäufigkeit der Schlüsselwerte in einer Matrix und bei der Bestimmung der Anzahl von Audio-Fingerabdrücken in einer Matrix zwei numerische Werte. Daraus wird das Produkts aus Suchhäufigkeit und Anzahl von Audio-Fingerabdrücken gebildet, um so die Suchzeiten in den Matrizen zu erhalten.step 110 calculates the search frequency of the matrices, wherein the calculation of the number of searches in the matrices comprises: calculating the search frequency of the key values in the matrix; Determining the number of audio fingerprints in the matrix; Form the product of the search frequency and the number of audio fingerprints to obtain the search times in the matrices. Since a matrix contains two elements, namely the key value and the audio fingerprints, two numerical values are obtained when calculating the search frequency of the key values in a matrix and when determining the number of audio fingerprints in a matrix. The result is the product of the search frequency and the number of audio fingerprints to obtain the search times in the matrices.

Schritt 112 ordnet die Matrizen einem Server entsprechend den Suchzeiten zu, um Lastunterschiede zwischen den Servern zu minimieren. Es gibt viele Möglichkeiten, wie man die Matrizen den Servern zuordnen kann. Man kann sie nach dem Zufallsprinzip oder gekünstelt oder nach einem festen Schema zuordnen.step 112 Allocates the matrices to a server according to the search times to minimize load differences between the servers. There are many ways to map the matrices to the servers. You can assign them randomly or artificially or according to a fixed scheme.

Sie können auch mittels einem spezifischen Algorithmus zugeordnet werden. Zum Beispiel kann man zunächst Berechnungen anstellen und diese entsprechend der von einer Matrix geforderten Last ordnen und danach mehrere Matrizen dem gleichen Server in bestimmten Zeitintervallen zuordnen. Dadurch erhält man eine relativ ausgeglichene Lastverteilung.They can also be assigned by means of a specific algorithm. For example, one can first make calculations and arrange them according to the load demanded by a matrix and then assign multiple matrices to the same server at specific time intervals. This gives a relatively balanced load distribution.

Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung werden die Matrizen den Servern durch einen Greedy-Algorithmus zugeordnet. Dadurch werden Lastunterschiede zwischen den Servern minimiert und, mit anderen Worten, eine gleichmäßige Lastverteilung zwischen den Servern erzielt. Der Greedy-Algorithmus wird auch als Greed-Algorithmus bezeichnet (Greed = Gier, Greedy = gierig). Der Algorithmus wählt immer die gegenwärtig am besten erscheinende Problemlösung, das heißt er entscheidet sich in einem gewissen Sinne für die optimale lokale Lösung und berücksichtigt allgemeine Optimierungsmöglichkeiten nicht.According to a preferred embodiment of the present invention, the matrices are assigned to the servers by a greedy algorithm. This minimizes load differences between the servers and, in other words, achieves even load sharing between the servers. The greedy algorithm is also referred to as the greed algorithm (Greed = greed, greedy = greedy). The algorithm always chooses the currently best-looking problem solution, that is, it decides in a sense for the optimal local solution and does not consider general optimization possibilities.

Im Folgenden wird der Schritt der Zuordnung von Matrizen an Server über Greedy-Algorithmen, um Lastunterschiede zwischen den Servern zu minimieren, anhand von einem konkreten Beispiel veranschaulicht. Es wird angenommen, dass es die sechs Schlüsselwerte Schlüssel1, Schlüssel2, Schlüssel3, Schlüssel4, Schlüssel5 und Schlüssel6 gibt, wobei Schlüssel1 10 mal, Schlüssel2 20 mal, Schlüssel3 30 mal, Schlüssel4 40 mal, Schlüssels 50 mal und Schlüssels 60 mal durchsucht wird; die Anzahl der Audio-Fingerabdrücke auf Schlüssel1 ist 10, die Anzahl der Audio-Fingerabdrücke auf Schlüssel2 ist 20, die Anzahl der Audio-Fingerabdrücke auf Schlüssel3 ist 30, die Anzahl der Audio-Fingerabdrücke auf Schlüssel4 ist 40, die Anzahl der Audio-Fingerabdrücke auf Schlüssels ist 50 und die Anzahl der Audio-Fingerabdrücke auf Schlüssels ist 60. Durch das Bilden des Produkts aus Suchhäufigkeit und Anzahl der Audio-Fingerabdrücke werden die Suchzeiten in der Matrix berechnet. Dabei wird davon ausgegangen, dass Schlüssel1 und der Audio-Fingerabdruck für Schlüssel1 die erste Matrix bilden, Schlüssel2 und der Audio-Fingerabdruck für Schlüssel2 die zweite Matrix bilden, Schlüssel3 und der Audio-Fingerabdruck für Schlüssel3 die dritte Matrix bilden, Schlüssel4 und der Audio-Fingerabdruck für Schlüssel4 die vierte Matrix bilden, Schlüssel5 und der Audio-Fingerabdruck für Schlüssel5 die fünfte Matrix bilden und Schlüssel6 und der Audio-Fingerabdruck für Schlüssel6 die sechste Matrix bilden. Somit beträgt die Suchzeit für die erste Matrix 100, die Suchzeit für die zweite Matrix 400, die Suchzeit für die dritte Matrix 900, die Suchzeit für die vierte Matrix 1600, die Suchzeit für die fünfte Matrix 2500 und die Suchzeit für die sechste Matrix 3600. Wenn es nur drei Server gibt, werden nach dem Greedy-Algorithmus die erste Matrix mit der kürzesten Suchzeit und die sechste Matrix mit der längsten Suchzeit dem ersten Server zugeordnet, die zweite Matrix mit der zweit-schnellsten Suchzeit und die fünfte Matrix mit der zweit-langsamsten Suchzeit werden dem zweiten Server zugeordnet und die dritte und vierte Matrix mit mittleren Suchzeiten werden dem dritten Server zugeordnet.In the following, the step of mapping matrices to servers via greedy algorithms to minimize load differences between servers is illustrated by a concrete example. It is assumed that there are the six key values key 1 , key 2 , key 3 , Key 4 , key 5 and key 6 , key 1 being searched 10 times, key 2 20 times, key 3 30 times, key 4 40 times, key 50 times and key 60 times; the number of audio fingerprints on key 1 is 10, the number of audio fingerprints on key 2 is 20, the number of audio fingerprints on key 3 is 30, the number of audio fingerprints on key 4 is 40, the number the audio fingerprint on key is 50 and the number of audio fingerprints on key is 60. Forming the product of the search frequency and the number of audio fingerprints calculates the search times in the matrix. It is assumed that key 1 and the audio fingerprint for key 1 form the first matrix, key 2 and the audio fingerprint for key 2 form the second matrix, key 3 and the audio fingerprint for key 3 form the third matrix Key 4 and the audio fingerprint for key 4 form the fourth matrix, key 5 and the audio fingerprint for key 5 form the fifth matrix and key 6 and the audio fingerprint for key 6 form the sixth matrix. Thus, the search time for the first matrix 100, the search time for the second matrix 400, the search time for the third matrix 900, the search time for the fourth matrix 1600, the search time for the fifth matrix 2500 and the search time for the sixth matrix 3600. If there are only three servers, according to the greedy algorithm, the first matrix with the shortest search time and the sixth matrix with the longest search time are assigned to the first server, the second matrix with the second fastest search time and the fifth matrix with the second The slowest seek time is assigned to the second server, and the third and fourth middle search time matrices are assigned to the third server.

Wenn es nur zwei Servern gibt, werden nach dem Greedy-Algorithmus die erste, fünfte und sechste Matrix dem ersten Server und die zweite, dritte und vierte Matrix dem zweiten Server zugeordnet. Somit werden Lastunterschiede zwischen den Servern durch den Greedy-Algorithmus minimiert. Die vorliegende Erfindung wird unter Bezugnahme auf eine spezielle Ausführungsform beschrieben. Diese dient jedoch nur der Erläuterung und ist nicht als Einschränkung der Erfindung zu verstehen. Diese Ausführungsform kann beliebig verändert, ergänzt und/oder gekürzt werden, ohne vom Umfang dieser Erfindung abzuweichen. Beispielsweise kann es bei praktischen Anwendung zu Suchzeiten von zehn Millionen oder Hunderten von Millionen kommen. Die obige Ausführungsform dient lediglich dem Zweck, die ganze Konzeption der vorliegenden Erfindung zu beschreiben und ist keine Beschränkung auf eine bestimmte Menge.If there are only two servers, after the greedy algorithm, the first, fifth, and sixth matrices are mapped to the first server and the second, third, and fourth matrices are mapped to the second server. Thus, load differences between the servers are minimized by the greedy algorithm. The present invention will be described with reference to a specific embodiment. However, this is only illustrative and is not to be construed as limiting the invention. This embodiment may be arbitrarily changed, supplemented and / or shortened without departing from the scope of this invention. For example, search times of tens of millions or hundreds of millions may come in handy use. The above embodiment is merely for the purpose of describing the whole concept of the present invention and is not limited to a certain amount.

Es versteht sich, dass die vorliegende Erfindung auf keine bestimmten Algorithmen beschränkt ist, obwohl oben ein Verfahren zur gleichmäßigen Lastverteilung beschrieben wird. Jede bestehende oder zukünftig zu untersuchende Methode eine gleichmäßige Lastverteilung zwischen Servern zu erreichen, fällt in den beanspruchten Schutzbereich dieser Erfindung.It will be understood that the present invention is not limited to any particular algorithms, although a method of uniform load sharing is described above. Any existing or future method of achieving uniform load sharing between servers falls within the claimed scope of this invention.

Die gleichmäßige Lastverteilung kann statisch und auch dynamisch konzipiert werden. Die statische Lastverteilung bewahrt die Korrespondenzbeziehung zwischen den einzelnen Servern und der Matrix, nachdem zunächst die Last der einzelnen Matrizen bestimmt und danach die Last auf die Server verteilt wird. Das dynamische Gleichgewicht bezieht sich auf ein bestimmtes Zeitintervall, die Matrizen aller neu berechneten Lasten und die erneute Zuordnung an den entsprechenden Server. Durch eine dynamische Lastverteilung bleibt der Server langfristig höchst effizient. Bei der dynamischen Lastverteilung werden die Lasten der einzelnen Matrizen neu berechnet und den entsprechenden Servern in einem bestimmten Zeitintervall erneut zugeordnet. Die dynamische Lastverteilung ermöglicht den Servern einen langfristig hohen Wirkungsgrad.The even load distribution can be designed statically and dynamically. Static load balancing preserves the correspondence relationship between the individual servers and the matrix, after first determining the load of the individual matrices and then distributing the load to the servers. The dynamic equilibrium refers to a specific time interval, the matrices of all newly calculated loads, and reassignment to the appropriate server. Dynamic load balancing keeps the server highly efficient over the long term. Dynamic load balancing recalculates the loads of each die and reassigns them to the appropriate servers at a specific time interval. The dynamic load distribution allows the servers a long-term high efficiency.

Entsprechend der technischen Lösung des Verfahrens zur Speicherung von Audio-Fingerabdrücken gemäß dieser Erfindung wird die konkrete Ausführungsform wie folgt umgesetzt:

  • (1) Sammeln möglichst vieler Audiodaten unter Verwendung der Audio-Fingerabdruck-Daten, um so eine indizierte Audio-Fingerabdruck-Datenbank zu erstellen, Klassifizierung nach Schlüsselwert und Speichern auf einer Festplatte, wobei jeder Schlüsselwert in einer Datei gespeichert wird, um so entsprechend der 3 insgesamt n Matrizen zu erhalten.
  • (2) Es wird angenommen, dass es k Server gibt, nämlich Knoten1, Knoten2, ..., Knotenk sowie die Ausgangsdaten. Das heißt, dass die Summe der Audio-Fingerabdrücke auf jedem Server numi = 0 ist. Es wird angenommen, dass es n Schlüssel und die Daten der Schlüssel gibt, d. h. die Summe der Audio-Fingerabdrücke der Schlüssel ist valueNumi. Ablegen der Datenmenge von Schlüssel1, Schlüssel2, ..., Schlüsselk in Knoten1, Knoten2, ..., Knotenk und aktualisieren der Datenmenge auf jedem Server bis numi = valueNumi; dann jedes Mal für Schlüsselj (j = k + 1, ..., n) das kleinste numi wählen, Knoteni zuweisen und aktualisieren bis numi = numi + valueNumj; und schließlich eine Hash-Tabelle (wie in 4 gezeigt) erstellen, indem man Schlüsseli als Schlüsselwert verwendet und dem Server-Knotenj als Datenwert zuweist; dadurch kann man schnell den Server anhand des Schlüsselwertes finden, auf dem sich ein Audio-Fingerabdruck befindet.
  • (3) Initialisieren der Frequenz von Schlüsseli bis Schlüssel-fi = 0, i = 1, ..., n; Audio-Fingerabdrücke und den Schlüsselwert nach Eingang der Suchanfrage für die Audio-Fingerabdrücke extrahieren und als Featurei, i = 1, ..., m abspeichern, wenn angenommen wird, dass es insgesamt m Matrizen gibt; zuerst den Server-Knoten Knotenk für den Schlüsselwert von jedem (als Schlüsseli aufgezeichnetem) Featurei in der Hash-Tabelle in Schritt (2) finden, dann das Featurei zur Suche an Knotenk senden, Zusammenfassung nach Erhalt der Mittelwerte aller Featurei, abschließende Analyse durch den Suchalgorithmus, Ausgabe des Endergebnisses und aktualisieren der Frequenz Schlüssel-fi von Schlüsseli mittels Suchzeit des Schlüsselwertes.
  • (4) Berechnen der Suchhäufigkeit des Schlüsselwerts von Schlüsseli in jeder Matrix; Bestimmen der Anzahl von Audio-Fingerabdrücken in jeder Matrix und Bilden des Produkts aus Suchhäufigkeit und Anzahl von Audio-Fingerabdrücken, um so die Suchzeiten in jeder Matrix zu erhalten. Nachdem das System für eine bestimmte Zeit gelaufen ist, wird totali = valueNumi·Schlüssel-fi für die Matrizen mit dem zugehörigen Schlüsseli-Wert zulässig. Damit werden die Suchzeiten für jede Matrix berechnet. Danach werden die Matrizen mit dem zugehörigen SchlüsslWert den entsprechenden Servern gemäß Greedy-Algorithmus und totali zugeordnet, um Lastunterschiede zwischen den Servern zu minimieren.
According to the technical solution of the method for storing audio fingerprints according to this invention, the specific embodiment is implemented as follows:
  • (1) Collecting as much audio data as possible using the audio fingerprint data to create an indexed audio fingerprint database, classifying by key value and storing on a hard disk, each key value being stored in a file in accordance with the 3 to get a total of n matrices.
  • (2) It is assumed that there are k servers, namely, node 1 , node 2 , ..., node k, and the output data. That is, the sum of the audio fingerprints on each server is num i = 0. It is assumed that there are n keys and the data of the keys, ie the sum of the audio fingerprints of the keys is valueNum i . Store the amount of data from key 1 , key 2 , ..., key k in node 1 , node 2 , ..., node k and update the amount of data on each server to num i = valueNum i ; then each time for key j (j = k + 1, ..., n) select the smallest num i , assign node i and update to num i = num i + valueNum j ; and finally a hash table (as in 4 shown) by using key i as a key value and assigning j to the server node as a data value; this makes it easy to find the server based on the key value on which an audio fingerprint is located.
  • (3) initialize the frequency from key i to key f i = 0, i = 1, ..., n; Audio fingerprints and the key value after receipt of the Extract the search query for the audio fingerprints and store as a feature i , i = 1, ..., m if it is assumed that there are m matrices in total; first node (i as a key recorded) i found in the hash table in step (2), then i send the server node k for the key value of each feature, the feature to search at node k, Summary of receiving the mean values of all feature i , final analysis by the search algorithm, output of the final result and update the frequency key-f i of key i by means of search time of the key value.
  • (4) calculating the search frequency of the key value of key i in each matrix; Determining the number of audio fingerprints in each matrix and forming the product of the search frequency and the number of audio fingerprints so as to obtain the search times in each matrix. After the system has run for a certain time, the total i = valueNum i * key-f i is allowed for the matrices with the associated key i value. This calculates the search times for each matrix. Thereafter, the matrices with the associated key value are assigned to the respective servers according to the greedy algorithm and total i to minimize load differences between the servers.

2 zeigt ein Flussdiagramm eines Verfahrens zum Suchen eines Audio-Fingerabdrucks auf einem Server gemäß dieser Erfindung. Es versteht sich, dass das in 2 gezeigte Flussdiagramm nur beispielhaft ist. Die darin aufgezeigten Schritte können in einer entsprechend anderen Reihenfolge parallel ausgeführt oder weggelassen werden und/oder gemeinsam mit anderen Schritten ausgeführt werden. Wie in 2 gezeigt umfasst ein Verfahren zum Suchen von Audio-Fingerabdrücken auf einem Server: Extrahieren der gesuchten Audio-Fingerabdrücke und die gesuchten Schlüsselwerte der gesuchten Audio-Fingerabdrücke 202; Finden eines Servers entsprechend dem gesuchten Schlüsselwert 204; und Durchsuchen der Audio-Fingerabdrücke entsprechend den gesuchten Audio-Fingerabdrücken auf dem Server 206. Auf dem Server sind die Audio-Fingerabdrücke gespeichert, die Schlüsselwerte, die den Audio-Fingerabdrücken entsprechen und die Schlüsselwerte, die dem Server entsprechen. 2 FIG. 12 shows a flow chart of a method for searching for an audio fingerprint on a server according to this invention. It is understood that in 2 shown flowchart is only exemplary. The steps indicated therein may be performed in parallel or omitted in a correspondingly different order, and / or performed in conjunction with other steps. As in 2 includes a method of searching for audio fingerprints on a server: extracting the searched audio fingerprints and the searched key-values of the sought-after audio fingerprints 202 ; Find a server according to the key-value you are looking for 204 ; and searching the audio fingerprints according to the searched for audio fingerprints on the server 206 , The server stores the audio fingerprints, the key-values that correspond to the audio fingerprints, and the key-values that correspond to the server.

Schritt 202 extrahiert die gesuchten Audio-Fingerabdrücke und die gesuchten Schlüsselwerte gesuchten Audio-Fingerabdrücke. Müssen Informationen einer Audioaufzeichnung gesucht werden, müssen zuerst die gesuchten Audio-Fingerabdrücke und die gesuchten Schlüsselwerte der gesuchten Audio-Fingerabdrücke gefunden werden. Die gesuchten Audio-Fingerabdrücke und die gesuchten Schlüsselwerte der gesuchten Audio-Fingerabdrücke sind nicht auf eine bestimmte Zahl begrenzt, sondern mehrere gesuchte Audio-Fingerabdrücke und gesuchte Schlüsselwerte der gesuchten Audio-Fingerabdrücke werden entsprechend den Informationen in der Audioaufzeichnung gefunden.step 202 extracts the searched audio fingerprints and the searched key values searched for audio fingerprints. If information of an audio recording needs to be searched for, first of all the sought-after audio fingerprints and the searched key-values of the wanted audio fingerprints must be found. The sought-after audio fingerprints and the searched key-values of the sought-after audio fingerprints are not limited to a specific number, but several sought-after audio fingerprints and searched key-values of the sought-after audio fingerprints are found according to the information in the audio record.

Schritt 204 sucht einen Server entsprechend dem gesuchten Schlüsselwert. Auf dem Server sind die Audio-Fingerabdrücke und die den Audio-Fingerabdrücken entsprechenden Schlüsselwerte gespeichert und der entsprechende Schlüsselwert wird über den gesuchten Schlüsselwert gefunden. Bei einer Suche wird nur der dem Schlüsselwert entsprechende Server durchsucht.step 204 searches for a server according to the key-value you are looking for. The server stores the audio fingerprints and key-values corresponding to the audio fingerprints, and finds the corresponding key-value through the key-value you are looking for. In a search, only the server corresponding to the key-value is searched.

Schritt 206 durchsucht die Audio-Fingerabdrücke, die den gesuchten Audio-Fingerabdrücken auf dem Server entsprechen. Die Suche auf dem Server in Schritt 204 umfasst den Schlüsselwert entsprechend dem gesuchten Schlüsselwert und die Suche nach den Audio-Fingerabdrücken entspricht den gesuchten Audio-Fingerabdrücken laut dem auf dem Server gespeicherten Schlüsselwert.step 206 searches the audio fingerprints corresponding to the searched audio fingerprints on the server. The search on the server in step 204 includes the key value corresponding to the key-value you are looking for, and the search for the audio fingerprints matches the searched-for audio fingerprints according to the key-value stored on the server.

Wie in 2 gezeigt umfasst ein Verfahren zum Suchen von Audio-Fingerabdrücken auf einem Server ferner: Erzeugen von Audioinformationen unter Verwendung der gesuchten Audio-Fingerabdrücke 208. Die Audioinformation enthält Name, Autor und ähnliche Informationen zur Audioaufzeichnung. Die gesuchten Audioaufzeichnungen umfassen mehrere gesuchte Audio-Fingerabdrücke und die gesuchten Schlüsselwerte der gesuchten Audio-Fingerabdrücke. Die entsprechenden Audio-Fingerabdrücke werden auf dem Server gesucht und die gesuchten Audio-Fingerabdrücke werden zusammengefasst und einer Analyse unterzogen, um so ein Suchergebnis zu erzeugen, das Audioinformation enthält.As in 2 As shown, a method of searching for audio fingerprints on a server further comprises: generating audio information using the searched audio fingerprints 208 , The audio information includes name, author and similar information for audio recording. The searched audio recordings include multiple searched audio fingerprints and the searched key-values of the sought-after audio fingerprints. The corresponding audio fingerprints are searched on the server and the searched audio fingerprints are summarized and analyzed to produce a search result containing audio information.

Entsprechend der technischen Lösung eines Verfahrens zur Suche von Audio-Fingerabdrücken gemäß dieser Erfindung wird die konkrete Ausführungsform wie folgt umgesetzt:

  • (5) muss eine Audioaufzeichnung nach dem Eingang einer Suchanfrage gesucht werden, werden die gesuchten Audio-Fingerabdrücke und die gesuchten Schlüsselwerte der gesuchten Audio-Fingerabdrücke von den gesuchten Audioaufzeichnung extrahiert, die entsprechenden Audio-Fingerabdrücke und Schlüsselwerte auf einem Server anhand der gesuchten Audio-Fingerabdrücke und die gesuchten Schlüsselwerte der gesuchten Audio-Fingerabdrücke gefunden und als Featurei, i = 1, ..., m aufgezeichnet, wenn angenommen wird, dass es m Matrizen gibt, d. h. es gibt m Schlüsselwerte und Audio-Fingerabdrücke, die den Schlüsselwerten entsprechen.
  • (6) den Server-Knoten Knotenk für den Schlüsselwert von jedem (als Schlüsseli aufgezeichnetem) Featurei in der kleinen Hash-Tabelle in Schritt (2) finden, dann das Featurei zur Suche an Knotenk senden, Zusammenfassung nach Erhalt der Mittelwerte aller Featurei, abschließende Analyse durch den Suchalgorithmus, Ausgabe des Endergebnisses und Finden der Audioinformationen in der gesuchten Audioaufzeichnung.
According to the technical solution of a method for searching for audio fingerprints according to this invention, the specific embodiment is implemented as follows:
  • (5) If an audio recording has to be searched for after a search request has been received, the sought-after audio fingerprints and the searched key-values of the sought-after audio fingerprints are extracted from the searched audio recordings, the corresponding audio fingerprints and key values are searched for on the server. Found fingerprints and the searched key-values of the sought-after audio fingerprints and recorded as a feature i , i = 1, ..., m, assuming that there are m matrices, ie there are m key-values and audio fingerprints corresponding to the key-values correspond.
  • (6) the server node node k for the key value of each feature i (recorded as key i ) in the small hash table in step ( 2 ), then send the feature i to node k for search, summary after receiving the mean values of all the features i , final analysis by the search algorithm, output of the final result and finding the audio information in the searched audio record.

6 ist eine schematische Darstellung des Aufbaus einer Vorrichtung zur Konstruktion einer Audio-Fingerabdruck-Datenbank gemäß dieser Erfindung; Wie in 6 gezeigt, umfasst eine Vorrichtung zum Aufbau einer Audio-Fingerabdruck-Datenbank: Extraktionsmodul 10, Analysemodul 11, Zuordnungsmodul 12 und Speichereinheit 13. Dabei wird das Extraktionsmodul 10 zum Extrahieren von Audio-Fingerabdrücken und Schlüsselwerten von Audio-Fingerabdrücken verwendet; das Analysemodul 11 wird zur Ermittlung der Korrespondenzbeziehung zwischen den Audio-Fingerabdrücken mit gleichem Schlüsselwert und dem Schlüsselwert verwendet; das Zuordnungsmodul 12 wird verwendet, um einen Schlüsselwert und den entsprechenden Audio-Fingerabdruck einem Server zuzuordnen; die Speichereinheit 13 wird verwendet, um die Korrespondenzbeziehung zwischen Schlüsselwert und Server herzustellen. Auf diese Weise wird eine Audio-Fingerabdruck-Datenbank erstellt. 6 Fig. 12 is a schematic diagram showing the construction of an apparatus for constructing an audio fingerprint database according to this invention; As in 6 An apparatus for constructing an audio fingerprint database comprises: extraction module 10 , Analysis module 11 , Assignment module 12 and storage unit 13 , This is the extraction module 10 used for extracting audio fingerprints and key-values of audio fingerprints; the analysis module 11 is used to determine the correspondence relationship between the same key value audio fingerprints and the key value; the assignment module 12 is used to assign a key value and the corresponding audio fingerprint to a server; the storage unit 13 is used to establish the correspondence relationship between the key value and the server. This will create an audio fingerprint database.

Die Vorrichtung zum Konstruieren einer Audio-Fingerabdruck-Datenbank gemäß der vorliegenden Erfindung umfasst ferner: ein Berechnungsmodul 14 und ein Neu-Zuweisungsmodul 15. Dabei wird das Berechnungsmodul 14 dazu verwendet, die Suchzeiten der Matrizen zu berechnen; das Neu-Zuweisungsmodul 15 ordnet die Matrizen den Servern entsprechend der Suchzeiten zu, um Lastdifferenzen zwischen den Servern zu minimieren.The apparatus for constructing an audio fingerprint database according to the present invention further comprises: a calculation module 14 and a reassignment module 15 , This will be the calculation module 14 used to calculate the search times of the matrices; the reassignment module 15 Allocates the matrices to the servers according to the search times to minimize load differences between the servers.

7 ist eine schematische Darstellung des Aufbaus einer Vorrichtung zum Suchen von Audio-Fingerabdrücken auf einem Server gemäß in dieser Erfindung. Wie in 7 gezeigt umfasst das Audio-Fingerabdruck-Speichergerät: Empfangsmodul 20, Nachschlagmodul 21 und das Abgleichsmodul 22. Dabei extrahiert das Empfangsmodul 20 die gesuchten Audio-Fingerabdrücke und die gesuchten Schlüsselwerte der gesuchten Audio-Fingerabdrücke; das Nachschlagmodul sucht nach einem Server entsprechend dem gesuchten Schlüsselwert; und das Abgleichsmodul 22 sucht die Audio-Fingerabdrücke entsprechend den Audio-Fingerabdrücken auf dem Server. 7 Fig. 12 is a schematic diagram of the construction of an apparatus for searching audio fingerprints on a server according to this invention. As in 7 As shown, the audio fingerprint storage device includes: receiving module 20 , Lookup module 21 and the matching module 22 , The receiving module extracts this 20 the searched audio fingerprints and the searched key-values of the wanted audio fingerprints; the lookup module searches for a server according to the key value sought; and the matching module 22 searches the audio fingerprints according to the audio fingerprints on the server.

Wie in 7 gezeigt umfasst ein Gerät zum Suchen von Audio-Fingerabdrücken auf einem Server ferner eine Erzeugereinheit 23. Die Erzeugereinheit 23 erzeugt Audioinformationen unter Verwendung der gesuchten Audio-Fingerabdrücke.As in 7 As shown, an apparatus for searching audio fingerprints on a server further comprises a generator unit 23 , The generator unit 23 generates audio information using the searched audio fingerprints.

Claims (5)

Verfahren zum Konstruieren einer Audio-Fingerabdruck-Datenbank umfasst: Extrahieren von Audio-Fingerabdrücken und von Schlüsselwerten von Audio-Fingerabdrücken; Erstellen von Korrespondenzbeziehungen zwischen Audio-Fingerabdrücken mit gleichen Schlüsselwerten und einem Schlüsselwert; Zuweisen von Schlüsselwerten und die entsprechenden Audio-Fingerabdrücke an einen Server; Erstellen von Korrespondenzbeziehungen zwischen dem Schlüsselwert und dem Server, um so eine Audio-Fingerabdruck-Datenbank zu konstruieren.Method for constructing an audio fingerprint database includes: Extracting audio fingerprints and key-values of audio fingerprints; Creating correspondence relationships between audio fingerprints having the same key values and a key value; Assigning key-values and the corresponding audio fingerprints to a server; Create correspondence between the key value and the server to construct an audio fingerprint database. Verfahren nach Anspruch 1 zum Erstellen von Korrespondenzbeziehungen zwischen Audio-Fingerabdrücken mit gleichen Schlüsselwerten und einem Schlüsselwert umfasst: Klassifizieren von Audio-Fingerabdrücken mit gleichen Schlüsselwerten und einem Schlüsselwert.The method of claim 1 for establishing correspondence relationships between audio fingerprints having the same key value and a key value comprises: Classify audio fingerprints with the same key-values and a key-value. Verfahren gemäß Anspruch 2 ferner folgendes umdassend, Berechnen der Suchzeiten der Matrizen; Zuordnen von Matrizen einem Server entsprechend den Suchzeiten, um Lastunterschiede zwischen den Servern zu minimieren.Method according to claim 2, further comprising Calculating the search times of the matrices; Allocate matrices to a server according to search times to minimize load differences between the servers. Verfahren nach Anspruch 3 zum Berechnung der Suchzeiten von Matrizen umfasst: Berechnen der Suchhäufigkeit der Schlüsselwerte in den Matrizen; Bestimmen der Anzahl von Audio-Fingerabdrücken in den Matrizen; Bilden des Produkts aus Suchhäufigkeit und Anzahl von Audio-Fingerabdrücken, um so die Suchzeiten in allen Matrizen zu erhalten.Method according to claim 3 for calculating the search times of matrices comprising: Calculating the search frequency of the key values in the matrices; Determining the number of audio fingerprints in the matrices; Form the product of search frequency and number of audio fingerprints to get search times in all matrices. Verfahren gemäß Anspruch 3 zum Minimieren der Lastunterschiede zwischen den Servern, das folgendes umfasst: Zuordnen von Matrizen an Server über Greedy-Algorithmen.The method of claim 3 for minimizing load differences between the servers, comprising: Map matrices to servers using greedy algorithms.
DE102015015827.9A 2015-02-13 2015-12-07 Method and apparatus for constructing an audio fingerprint database and searching for an audio fingerprint Withdrawn DE102015015827A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510079596.3 2015-02-13
CN201510079596.3A CN104636474A (en) 2015-02-13 2015-02-13 Method and equipment for establishment of audio fingerprint database and method and equipment for retrieval of audio fingerprints

Publications (1)

Publication Number Publication Date
DE102015015827A1 true DE102015015827A1 (en) 2016-08-18

Family

ID=53215220

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015015827.9A Withdrawn DE102015015827A1 (en) 2015-02-13 2015-12-07 Method and apparatus for constructing an audio fingerprint database and searching for an audio fingerprint

Country Status (3)

Country Link
KR (2) KR20160100218A (en)
CN (1) CN104636474A (en)
DE (1) DE102015015827A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105138541B (en) * 2015-07-08 2018-02-06 广州酷狗计算机科技有限公司 The method and apparatus of audio-frequency fingerprint matching inquiry
CN105184610A (en) * 2015-09-02 2015-12-23 王磊 Real-time mobile advertisement synchronous putting method and device based on audio fingerprints
CN105933761B (en) * 2016-06-24 2019-02-26 中译语通科技股份有限公司 A kind of novel audio-visual program commercial throwing broadcasting method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101777075B (en) * 2010-02-05 2015-02-11 上海全土豆网络科技有限公司 Method for searching parallel audio fingerprint
US9992745B2 (en) * 2011-11-01 2018-06-05 Qualcomm Incorporated Extraction and analysis of buffered audio data using multiple codec rates each greater than a low-power processor rate
CN103324577B (en) * 2013-06-08 2016-04-06 北京航空航天大学 Based on the extensive itemize file allocation system minimizing IO access conflict and file itemize

Also Published As

Publication number Publication date
KR20160100224A (en) 2016-08-23
CN104636474A (en) 2015-05-20
KR20160100218A (en) 2016-08-23

Similar Documents

Publication Publication Date Title
DE602004011890T2 (en) Method for redistributing objects to arithmetic units
DE112012005533B4 (en) Supporting query and a query
DE102012216029B4 (en) A SCALABLE ADAPTABLE MAP REDUCE FRAMEWORK WITH DISTRIBUTED DATA
Nagpal et al. Comparative study of density based clustering algorithms
DE202015009874U1 (en) Implementation of semi-structured data as a first class database element
DE102008027605B4 (en) System and method for computer-based analysis of large amounts of data
DE102016105526A1 (en) Fast multi-layer indexing with dynamic update support
DE102016105472A1 (en) Storage level distribution and block-level parallel allocation in file systems
DE102013215009A1 (en) Method and system for optimizing data transmission
DE60118973T2 (en) METHOD FOR INQUIRING A STRUCTURE OF COMPRESSED DATA
DE112018004222T5 (en) Database division
DE112021001986T5 (en) Method and system for processing data records
DE202017107393U1 (en) Predicting a search engine map signal value
WO2018095547A1 (en) Method and system for anonymising data stocks
DE112020000545T5 (en) DEEP FOREST MODEL DEVELOPMENT AND TRAINING
DE112018002955T5 (en) COGNITIVE FILE AND OBJECT MANAGEMENT FOR DISTRIBUTED STORAGE ENVIRONMENTS
DE102015015827A1 (en) Method and apparatus for constructing an audio fingerprint database and searching for an audio fingerprint
DE112018001290T5 (en) Method for estimating the erasability of data objects
DE112012006412T5 (en) Distributed data search system, distributed data search method, and management computer
DE112020002892T5 (en) ACTIVE LEARNING FOR DATA MATCHING
Feldkamp et al. Online analysis of simulation data with stream-based data mining
DE112016003598T5 (en) Simultaneous mass processing of tree-based data structures
DE112021003274T5 (en) RESOURCE ALLOCATION TO OPTIMIZE HYPERPARAMETERS IN LARGE DEEP LEARNING WORKLOADS
DE112018005620T5 (en) ORDER MANAGEMENT IN A DATA PROCESSING SYSTEM
DE112020004801T5 (en) INTELLIGENT DATA POOL

Legal Events

Date Code Title Description
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017300000

Ipc: G06F0016000000

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee