KR101841983B1 - Method and Apparatus for Identifying Audio Fingerprint - Google Patents

Method and Apparatus for Identifying Audio Fingerprint Download PDF

Info

Publication number
KR101841983B1
KR101841983B1 KR1020170027202A KR20170027202A KR101841983B1 KR 101841983 B1 KR101841983 B1 KR 101841983B1 KR 1020170027202 A KR1020170027202 A KR 1020170027202A KR 20170027202 A KR20170027202 A KR 20170027202A KR 101841983 B1 KR101841983 B1 KR 101841983B1
Authority
KR
South Korea
Prior art keywords
spectrogram
patch
query
audio data
matching
Prior art date
Application number
KR1020170027202A
Other languages
Korean (ko)
Other versions
KR20180027316A (en
Inventor
김후종
유정수
Original Assignee
주식회사 티앤블루랩
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 주식회사 티앤블루랩 filed Critical 주식회사 티앤블루랩
Priority to KR1020170027202A priority Critical patent/KR101841983B1/en
Publication of KR20180027316A publication Critical patent/KR20180027316A/en
Application granted granted Critical
Publication of KR101841983B1 publication Critical patent/KR101841983B1/en

Links

Images

Classifications

    • G06F17/30743
    • 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

Abstract

오디오 핑거프린트 식별 장치 및 방법을 개시한다.
본 실시예의 일 측면에 의하면, 추출한 오디오 데이터가 어떠한 오디오 데이터인지 신속히 판단할 수 있도록 추출한 오디오 파일의 핑거프린트와 데이터베이스 내에 저장된 오디오 데이터의 핑거프린트들을 비교하는 방법 및 장치를 제공하는 데 일 목적이 있다.
An audio fingerprint identification apparatus and method are disclosed.
According to an aspect of the present invention, an object of the present invention is to provide a method and apparatus for comparing fingerprints of extracted audio files and fingerprints of audio data stored in a database so that the extracted audio data can be quickly judged as to which audio data .

Description

오디오 핑거프린트 식별 장치 및 방법{Method and Apparatus for Identifying Audio Fingerprint}BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to an audio fingerprint identification device,

본 실시예는 오디오 핑거프린트를 식별하는 장치 및 방법에 관한 것이다.This embodiment relates to an apparatus and method for identifying an audio fingerprint.

이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The contents described in this section merely provide background information on the present embodiment and do not constitute the prior art.

방송 콘텐츠에서는 주제곡, 배경음악, 효과음악 등 다양한 오디오 데이터가 사용되고 있다. 이렇게 사용되는 오디오 데이터에 대해서 해당 오디오 데이터의 저작권자에 정당한 저작권료가 지불되기 위해 정확한 오디오 데이터의 식별과 오디오 데이터간 매칭이 필요하다. 오디오 데이터를 식별하기 위해 이용되는 방법이 오디오 핑거프린팅 방법이다.In broadcast contents, various audio data such as a theme song, a background music, and an effect music are used. It is necessary to accurately identify the audio data and to match the audio data with the audio data used in order to pay a proper copyright fee to the copyright holder of the audio data. A method used to identify audio data is an audio fingerprinting method.

오디오 데이터 검색을 위한 핑거프린팅 방법은 주파수 밴드의 에너지 차이를 이진화한 필립스 방법 및 스펙트럼(Spectrum)의 랜드마크(Landmark)를 기반으로 하는 Shazam 방법 등이 있다. The fingerprinting method for audio data search includes the Philips method of binarizing the energy difference of the frequency band and the Shazam method based on the Spectrum's landmark.

필립스 방법의 경우, FGM(Foreground Music) 또는 BGM(Background Music) 각각에 대해서는 오디오 데이터의 식별률이 높다. 그러나 방송 콘텐츠에서 사용되는 일반적인 오디오 데이터의 경우 FGM과 BGM이 섞여있으며, FGM과 BGM이 섞여있는 오디오 데이터에서 BGM을 식별하고자 하는 경우, 필립스 방법은 신호의 왜곡으로 인하여 높은 BER(Bit Error Rate, 비트오류율)을 갖는다. 한편, FGM과 BGM이 섞여있는 오디오 데이터에서 스펙트럼의 랜드마크로 BGM 부분 뿐만 아니라 FGM 부분에서도 추출될 확률이 높아, Shazam 방법은 FGM과 BGM이 섞여있는 오디오 데이터에서 BGM만의 식별은 어려운 단점이 있다. 이에 따라, FGM과 BGM이 섞여있는 오디오 데이터에서 정확한 오디오 핑거프린트를 추출하는 방법의 필요성이 존재한다.In the case of the Philips method, the discrimination rate of audio data is high for each of FGM (Foreground Music) and BGM (Background Music). However, in case of general audio data used in broadcasting contents, FGM and BGM are mixed, and when BGM is to be discriminated from audio data in which FGM and BGM are mixed, the Philips method has a high bit error rate (BER) Error rate). On the other hand, in audio data in which FGM and BGM are mixed, the probability of being extracted not only in the BGM part but also in the FGM part as a landmark of the spectrum is high, and in Shazam method, it is difficult to identify only BGM in audio data in which FGM and BGM are mixed. Accordingly, there is a need for a method of extracting an accurate audio fingerprint from audio data in which FGM and BGM are mixed.

또한, 방송 콘텐츠에서 사용된 오디오 데이터의 핑거프린트와 데이터베이스에 저장된 오디오 데이터의 핑거프린트를 비교함으로써, 어떤 오디오 데이터가 사용되었는지를 판단하게 된다. 데이터베이스에 저장된 오디오 데이터는 수십만개 내지 수백만개가 되기 때문에, 어느 하나의 질의 오디오 핑거프린트를 데이터베이스 내에서 찾는 것은 일정한 시간이 소요된다. 문제는 방송 콘텐츠를 제공하는 방송 채널의 증가로 인해, 방송 콘텐츠에서 사용되는 오디오 데이터의 숫자가 급격히 증가하는 점에 있다. 모든 방송 채널에서 사용된 오디오 데이터를 데이터베이스에 저장된 오디오 데이터와 비교함에 있어, 종래의 오디오 파일의 핑거프린트 식별방법은 상당한 시간이 소요되는 불편이 존재한다. 따라서 신속히 오디오 핑거프린트를 매칭하기 위한 방법의 필요성이 존재한다.Also, by comparing the fingerprint of the audio data used in the broadcast content with the fingerprint of the audio data stored in the database, it is determined which audio data is used. Since the number of audio data stored in the database is several hundreds to several millions, it takes a certain time to find any one of the query audio fingerprints in the database. The problem is that the number of audio data used in broadcast content increases sharply due to an increase in the number of broadcast channels providing broadcast content. In comparing the audio data used in all the broadcast channels with the audio data stored in the database, there is a disadvantage that the conventional fingerprint identification method of audio files takes considerable time. There is therefore a need for a method for quickly matching an audio fingerprint.

본 실시예는, FGM과 BGM이 섞여있는 오디오 데이터에 대해 정확히 오디오 데이터의 핑거프린트를 추출하는 방법 및 장치를 제공하는데 일 목적이 있다.It is an object of the present invention to provide a method and apparatus for accurately extracting a fingerprint of audio data on audio data in which FGM and BGM are mixed.

또한, 본 실시예는, 추출한 오디오 데이터가 어떠한 오디오 데이터인지 신속히 판단할 수 있도록 추출한 오디오 파일의 핑거프린트와 데이터베이스 내에 저장된 오디오 데이터의 핑거프린트들을 비교하는 방법 및 장치를 제공하는데 일 목적이 있다.It is also an object of the present invention to provide a method and apparatus for comparing fingerprints of extracted audio files with fingerprints of audio data stored in a database so that the extracted audio data can be quickly judged as to which audio data.

본 실시예의 일 측면에 의하면, 스펙트로그램(spectrogram)에서 기 설정된 주파수 간격 또는 기 설정된 시간 간격마다 기 설정된 넓이를 갖도록 추출된 패치(Patch)의 스펙트로그램 상의 좌표, 각 패치에 대하여 상기 패치 내에 포함된 각 픽셀들의 값을 기 설정된 기준에 따라 기 설정된 개수의 그룹으로 나누어 배열한 특징 벡터(Feature Vector), 상기 특징 벡터에 대하여 서로 상이한 방법으로 생성한 복수의 이진코드를 핑거프린트(fingerprint)로 갖는 오디오 데이터에 대하여, 상기 핑거프린트를 이용하여 질의(Query) 오디오 데이터를 데이터베이스에 저장된 오디오 데이터와 비교하여 매칭하는 장치에 있어서, 상기 질의 오디오 데이터의 스펙트로그램(이하에서 '질의 스펙트로그램'으로 약칭함)에서 추출된 각 패치의 이진코드와 상기 데이터베이스 내 저장된 모든 오디오 데이터의 스펙트로그램(이하에서 '저장 스펙트로그램'으로 약칭함)에서 추출된 각 패치의 이진코드를 비교하여, 상기 저장 스펙트로그램 중 상기 질의 스펙트로그램의 각 패치의 이진코드와 일치하는 이진코드를 갖는 패치를 모두 구비한 스펙트로그램(이하에서 '예비 스펙트로그램'으로 칭함)을 분류하는 제1 매칭부와 상기 예비 스펙트로그램 각각에 대하여, 상기 질의 스펙트로그램의 각 패치와 상기 질의 스펙트로그램의 각 패치의 이진코드와 일치하는 예비 스펙트로그램의 각 패치의 시간적 상관도를 판단하여, 상기 예비 스펙트로그램 내에서 노이즈(Noise)를 제거하여 상기 노이즈가 아닌 오디오 데이터의 스펙트로그램(이하에서 '후보 스펙트로그램'으로 칭함)을 선별하는 시간적 상관도 판단부 및 상기 후보 스펙트로그램의 각 패치의 특징벡터 중 상기 질의 스펙트로그램의 각 패치의 특징벡터와 거리가 가장 가까운 패치의 특징벡터들을 상기 질의 스펙트로그램의 각 패치의 특징벡터와 매칭하여, 상기 질의 스펙트로그램의 각 패치의 특징벡터와 상기 질의 스펙트로그램의 각 패치의 특징벡터에 매칭되는 특징벡터 간 시간적 상관도가 기 설정된 기준치 이상인 것의 개수가 기 설정된 개수 이상인 후보 스펙트로그램을 상기 질의 스펙트로그램과 매칭되는 것으로 판단하는 제2 매칭부를 포함하는 것을 특징으로 하는 오디오 데이터 매칭장치를 제공한다.According to an aspect of the present embodiment, there is provided an information processing apparatus including: a coordinate on a spectrogram of a patch extracted so as to have a predetermined width in a spectrogram or a predetermined width at a predetermined time interval; A feature vector in which the values of the pixels are divided into groups of a predetermined number according to a predetermined criterion, a plurality of binary codes generated by mutually different methods for the feature vectors, An apparatus for comparing query audio data with audio data stored in a database using the fingerprint, the apparatus comprising: a spectrogram (hereinafter abbreviated as 'query spectrogram') of the query audio data; And the binary code of each patch extracted from the database A binary code corresponding to the binary code of each patch of the query spectrogram is compared with binary codes of each patch extracted from a spectrogram of audio data (hereinafter abbreviated as " storage spectrogram & For each of the query spectrograms and for each of the query spectrograms, for each of the pre-spectrograms, which classifies the spectrograms (hereinafter referred to as " pre-spectrograms & (Hereinafter, referred to as a 'candidate spectrogram') of audio data other than the noise by eliminating noise in the preliminary spectrogram by judging the temporal correlation of each patch of the preliminary spectrogram corresponding to the binary code of the preliminary spectrogram, Quot;), and a temporal correlation determination unit for selecting each patch of the candidate spectrogram A feature vector of each patch of the query spectrogram is matched with a feature vector of each patch of the query spectrogram having the closest distance to the feature vector of each patch of the query spectrogram, And a second matching unit for determining that a candidate spectrogram having a predetermined number or more of temporal correlations between feature vectors matching feature vectors of each patch of the spectrogram is equal to or greater than a predetermined reference value is matched with the query spectrogram And an audio data matching device.

또한, 본 실시예의 다른 측면에 의하면, 스펙트로그램(spectrogram)에서 기 설정된 주파수 간격 또는 기 설정된 시간 간격마다 기 설정된 넓이를 갖도록 추출된 패치(Patch)의 스펙트로그램 상의 좌표, 각 패치에 대하여 상기 패치 내에 포함된 각 픽셀들의 값을 기 설정된 기준에 따라 기 설정된 개수의 그룹으로 나누어 배열한 특징 벡터(Feature Vector), 상기 특징 벡터에 대하여 서로 상이한 방법으로 생성한 복수의 이진코드를 핑거프린트(fingerprint)로 갖는 오디오 데이터에 대하여, 상기 핑거프린트를 이용하여 질의(Query) 오디오 데이터를 데이터베이스에 저장된 오디오 데이터와 비교하여 매칭하는 방법에 있어서, 상기 질의 오디오 데이터의 스펙트로그램(이하에서 '질의 스펙트로그램'으로 약칭함)에서 추출된 각 패치의 이진코드와 상기 데이터베이스 내 저장된 모든 오디오 데이터의 스펙트로그램(이하에서 '저장 스펙트로그램'으로 약칭함)에서 추출된 각 패치의 이진코드를 비교하여, 상기 저장 스펙트로그램 중 상기 질의 스펙트로그램의 각 패치의 이진코드와 일치하는 이진코드를 갖는 패치를 모두 구비한 스펙트로그램(이하에서 '예비 스펙트로그램'으로 칭함)을 분류하는 제1 매칭과정과 상기 예비 스펙트로그램 각각에 대하여, 상기 질의 스펙트로그램의 각 패치와 상기 질의 스펙트로그램의 각 패치의 이진코드와 일치하는 예비 스펙트로그램의 각 패치의 시간적 상관도를 판단하여, 상기 예비 스펙트로그램 내에서 노이즈(Noise)를 제거하여 상기 노이즈가 아닌 오디오 데이터의 스펙트로그램(이하에서 '후보 스펙트로그램'으로 칭함)을 선별하는 시간적 상관도 판단 과정 및 상기 후보 스펙트로그램의 각 패치의 특징벡터 중 상기 질의 스펙트로그램의 각 패치의 특징벡터와 거리가 가장 가까운 패치의 특징벡터들을 상기 질의 스펙트로그램의 각 패치의 특징벡터와 매칭하여, 상기 질의 스펙트로그램의 각 패치의 특징벡터와 상기 질의 스펙트로그램의 각 패치의 특징벡터에 매칭되는 특징벡터 간 시간적 상관도가 기 설정된 기준치 이상인 것의 개수가 기 설정된 개수 이상인 후보 스펙트로그램을 상기 질의 스펙트로그램과 매칭되는 것으로 판단하는 제2 매칭과정을 포함하는 것을 특징으로 하는 오디오 데이터 매칭방법을 제공한다.According to another aspect of the present invention, there is provided an image processing method including the steps of: obtaining a coordinate on a spectrogram of a patch extracted so as to have a predetermined width in a spectrogram or a predetermined width at a predetermined time interval, A feature vector in which the values of the included pixels are divided into groups of a predetermined number according to a predetermined criterion and a plurality of binary codes generated by mutually different methods for the feature vectors are fingerprinted A method of comparing query audio data with audio data stored in a database using the fingerprint, the method comprising the steps of: comparing a spectrogram of the query audio data (hereinafter abbreviated as 'query spectrogram' The binary code of each patch extracted from the database (Binary code) of each patch of the query spectrogram is compared with the binary code of each patch extracted from a spectrogram (hereinafter abbreviated as 'storage spectrogram' A first matching process for classifying a spectrogram (hereinafter referred to as a " pre-spectrogram ") having all the patches having a code, and a second matching process for classifying each patch of the query spectrogram and the query spectrogram The temporal correlation of each patch of the preliminary spectrogram corresponding to the binary code of each patch is determined and the noise is removed in the preliminary spectrogram to generate a spectrogram of the audio data which is not the noise Quot; gram ") and the candidate spectrogram The feature vectors of the patches having the closest distance to the feature vectors of the respective patches of the query spectrogram are matched with the feature vectors of the patches of the query spectrogram, And a second matching process for determining that a candidate spectrogram having a number equal to or greater than a predetermined number of temporal correlations between a vector and feature vectors matching feature vectors of the respective patches of the query spectrogram is equal to or greater than a predetermined reference value is matched with the query spectrogram And an audio data matching method.

이상에서 설명한 바와 같이 본 실시예의 일 측면에 따르면, FGM과 BGM이 섞여있는 오디오 데이터라 하더라도 정확히 오디오 데이터의 핑거프린트를 추출할 수 있는 장점이 있다.As described above, according to the embodiment of the present invention, it is possible to accurately extract the fingerprint of the audio data even if the audio data is a mixture of FGM and BGM.

또한, 본 실시예의 일 측면에 따르면, 추출한 오디오 데이터의 핑거프린트와 데이터베이스 내에 저장된 오디오 데이터의 핑거프린트들을 비교하는 과정을 현저히 줄임으로써, 추출한 오디오 데이터가 어떠한 오디오 데이터인지 신속히 판단할 수 있는 장점이 있다.According to an aspect of the present invention, there is an advantage that it is possible to quickly determine which audio data is extracted by significantly reducing the process of comparing the fingerprint of the extracted audio data with the fingerprints of the audio data stored in the database .

도 1은 본 발명의 일 실시예에 따른 오디오 식별 시스템을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 오디오 핑거프린트 추출부의 구성을 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 패치 추출부가 패치를 추출하는 방법을 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 특징 벡터 추출부가 특징 벡터를 추출하는 방법을 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 인덱싱부가 패치의 이진 코드를 인덱싱하는 방법을 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 오디오 식별부의 구성을 도시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 시간적 상관도 판단부가 시간적 상관도를 판단하는 방법을 도시한 도면이다.
도 8은 본 발명의 일 실시예에 따른 제1 매칭부 및 2 매칭부가 질의 오디오 데이터와 후보 오디오 데이터를 매칭하는 방법을 도시한 도면이다.
도 9는 본 발명의 일 실시예에 따른 검증부가 검증하는 방법을 도시한 도면이다.
도 10은 본 발명의 일 실시예에 따른 오디오 핑거프린트 추출부가 오디오 핑거프린트를 추출하는 방법을 도시한 순서도이다.
도 11은 본 발명의 일 실시예에 따른 오디오 식별부가 질의 오디오 핑거프린트를 식별하는 방법을 도시한 순서도이다.
1 is a diagram illustrating an audio identification system according to an embodiment of the present invention.
2 is a diagram illustrating a configuration of an audio fingerprint extracting unit according to an embodiment of the present invention.
FIG. 3 is a diagram illustrating a method of extracting a patch by a patch extracting unit according to an embodiment of the present invention.
4 is a diagram illustrating a method of extracting a feature vector according to an exemplary embodiment of the present invention.
5 is a diagram illustrating a method of indexing a binary code of a patch according to an embodiment of the present invention.
6 is a diagram illustrating a configuration of an audio identification unit according to an embodiment of the present invention.
FIG. 7 is a diagram illustrating a method of determining a temporal correlation according to an embodiment of the present invention. Referring to FIG.
FIG. 8 is a diagram illustrating a method of matching candidate audio data with first matching unit and second matching query audio data according to an embodiment of the present invention. Referring to FIG.
9 is a diagram illustrating a method of verifying a verification unit according to an embodiment of the present invention.
10 is a flowchart illustrating a method of extracting an audio fingerprint by an audio fingerprint extracting unit according to an embodiment of the present invention.
11 is a flowchart illustrating a method of identifying an audio fingerprint of an audio identification sub-part according to an embodiment of the present invention.

이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail with reference to exemplary drawings. It should be noted that, in adding reference numerals to the constituent elements of the drawings, the same constituent elements are denoted by the same reference symbols as possible even if they are shown in different drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.

또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 '포함', '구비'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 '…부', '모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.In describing the components of the present invention, terms such as first, second, A, B, (a), and (b) may be used. These terms are intended to distinguish the constituent elements from other constituent elements, and the terms do not limit the nature, order or order of the constituent elements. Throughout the specification, when an element is referred to as being "comprising" or "comprising", it means that it can include other elements as well, without excluding other elements unless specifically stated otherwise . In addition, '... Quot ;, " module ", and " module " refer to a unit that processes at least one function or operation, and may be implemented by hardware or software or a combination of hardware and software.

도 1은 본 발명의 일 실시예에 따른 오디오 식별 시스템을 도시한 도면이다.1 is a diagram illustrating an audio identification system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 오디오 식별 시스템(100)은 오디오 사용장치(110, 114, 118), 오디오 식별장치(120) 및 저작권 관리장치(160)를 포함하여 구성된다.1, an audio identification system 100 according to an embodiment of the present invention includes an audio usage device 110, 114, 118, an audio identification device 120, and a copyright management device 160 .

오디오 사용장치(110, 114, 118)는 사용시 저작권료를 납부해야 하는 오디오 데이터를 사용하는 모든 장치를 의미하는 것으로, 주로 방송사가 될 수 있으나 반드시 이에 한정하는 것은 아니다. 오디오 사용장치(110, 114, 118)로는 방송사 외에도 인터넷 콘텐츠 제공분야, 이동통신 분야 등 다양한 분야에서 사용되는 장치도 포함될 수 있다.The audio usage apparatuses 110, 114, and 118 are all apparatuses that use audio data to which a royalty is to be paid, and may be mainly broadcasting companies, but the present invention is not limited thereto. The audio using devices 110, 114, and 118 may include devices used in various fields such as an Internet content providing field, a mobile communication field, and the like in addition to broadcasters.

오디오 식별장치(120)는 오디오 사용장치(110, 114, 118)가 사용한 오디오 데이터가 어떠한 오디오 데이터인지 식별한다. 오디오 식별장치(120)는 오디오 사용장치(110, 114, 118)로부터 사용된 오디오 데이터를 수신하거나, 오디오 사용장치(110, 114, 118)가 사용한 오디오 데이터를 녹음하는 등 다양한 방법으로 오디오 사용장치(110, 114, 118)가 사용한 오디오 데이터를 획득한다. 오디오 식별장치(120)는 획득하여 식별하고자 하는 질의(Query) 오디오 데이터에 대해 핑거프린트(Fingerprint)를 추출한다. 핑거프린트란 오디오 데이터를 가장 효과적으로 요약한 파라미터 내지 벡터를 말한다. 질의 오디오 데이터의 핑거프린트를 추출한 후, 오디오 식별장치(120)는 오디오 핑거프린트 데이터베이스(140)에 저장된 오디오 데이터의 핑거프린트와 비교/매칭하여 어떠한 오디오 데이터가 사용되었는지 식별한다. 특히, 획득되는 오디오 데이터에는 BGM 만의 데이터일 수 있으나 FGM과 BGM이 함께 존재하는 데이터일 수 있다. 이 경우, 오디오 식별장치(120)는 FGM과 BGM이 함께 존재하는 오디오 데이터에서 핑거프린트를 추출하여 오디오 핑거프린트 데이터베이스(140)에 저장된 오디오 데이터의 핑거프린트와 비교/매칭하여 신속히 식별할 수 있다. 오디오 식별장치(120)는 식별한 오디오 데이터들의 목록, 예컨대, 큐시트(Cue Sheet)를 저작권 관리장치(160)로 전달한다. 이에 대한 구체적인 설명은 도 2 내지 도 9를 참조하여 설명하기로 한다. 이하에서는 질의 오디오 데이터가 FGM과 BGM이 함께 존재하는 오디오 데이터인 경우에 대해 설명하기로 한다. The audio identification device 120 identifies which audio data the audio data used by the audio usage devices 110, 114, and 118 is. The audio identification device 120 may receive the audio data from the audio usage devices 110, 114 and 118 or may record audio data used by the audio usage devices 110, 114, (110, 114, 118). The audio identification device 120 extracts a fingerprint for the query audio data to be acquired and identified. Fingerprint refers to a parameter or vector that most effectively summarizes audio data. After extracting the fingerprint of the query audio data, the audio identification device 120 compares / matches the fingerprint of the audio data stored in the audio fingerprint database 140 to identify what audio data is used. In particular, the audio data to be acquired may be data only for the BGM, but may be the data for which the FGM and the BGM coexist. In this case, the audio identification device 120 can quickly identify the fingerprint from the audio data in which the FGM and the BGM are present together by comparing / matching the fingerprint with the fingerprint of the audio data stored in the audio fingerprint database 140. The audio identification device 120 transmits a list of identified audio data, for example, a cue sheet, to the copyright management device 160. A detailed description thereof will be made with reference to Figs. 2 to 9. Hereinafter, the case where the query audio data is audio data in which the FGM and the BGM exist together will be described.

저작권 관리장치(160)는 오디오 식별장치(120)가 식별한 오디오 데이터들의 목록을 수신하여, 목록에 따라 저작권자에 저작권료를 제공한다. 저작권 관리장치(160)는 오디오 식별장치(120)로부터 수신한 오디오 데이터들의 목록을 확인하며, 사용된 오디오 데이터의 종류, 횟수 등을 판단하여 판단 결과에 따라 해당 저작권자에게 저작권료를 지급한다.The copyright management device 160 receives the list of audio data identified by the audio identification device 120 and provides the copyright owner with the royalty fee according to the list. The copyright management device 160 checks the list of the audio data received from the audio identification device 120, determines the type and frequency of the used audio data, and distributes the royalty to the corresponding copyright holder according to the determination result.

도 2는 본 발명의 일 실시예에 따른 오디오 핑거프린트 추출부의 구성을 도시한 도면이다.2 is a diagram illustrating a configuration of an audio fingerprint extracting unit according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일 실시예에 따른 오디오 핑거프린트 추출부(130)는 전처리부(210), 패치 추출부(220), 특징벡터 추출부(230), 제1 이진코드 생성부(240), 제2 이진코드 생성부(245), 핑거프린트 추출부(250) 및 인덱싱부(260)를 포함하여 구성된다.2, an audio fingerprint extracting unit 130 according to an embodiment of the present invention includes a preprocessing unit 210, a patch extracting unit 220, a feature vector extracting unit 230, a first binary code generating unit 230, A second binary code generating unit 245, a fingerprint extracting unit 250, and an indexing unit 260.

전처리부(210)는 오디오 사용장치(110, 114, 118)로부터 획득한 질의 오디오 데이터에서 스펙트로그램(Spectrogram)을 추출한다. 스펙트로그램이란 신호, 특히, 주파수의 스펙트럼 밀도가 시간에 따라 어떻게 변화는 지를 나타내는 것으로 주파수대 시간의 함수로 표현될 수 있다. 전처리부(210)는 오디오 데이터로부터 복수의 윈도우를 이용하여 복수의 프레임으로 분할하고, 분할된 각각의 프레임을 FFT(Fast Fourier Transform) 등을 이용하여 주파수 영역으로 변환하여 주파수 스펙트럼을 생성한다. 생성된 주파수 스펙트럼에 로그 스케일(Logarithmic Scaling)로 나타냄으로써 스펙트로그램을 추출한다. 이러한 과정은 일반적으로 스펙트로그램을 추출하는 과정이므로 구체적인 설명은 생략하기로 한다.The preprocessing unit 210 extracts a spectrogram from the query audio data acquired from the audio using apparatuses 110, 114, and 118. Spectrograms can be expressed as a function of the signal, in particular the frequency band time, which indicates how the spectral density of the frequency varies with time. The preprocessing unit 210 divides the audio data into a plurality of frames using a plurality of windows, and converts the divided frames into a frequency domain using Fast Fourier Transform (FFT) or the like to generate a frequency spectrum. The spectrogram is extracted by expressing the generated frequency spectrum by logarithmic scaling. Since this process is generally a process of extracting the spectrogram, a detailed description will be omitted.

패치 추출부(220)는 질의 오디오 데이터의 스펙트로그램에서 패치(Patch)를 추출한다. 패치란 기 설정된 면적을 갖는, 스펙트로그램 상의 일정 부분이다. 질의 오디오 데이터의 BGM은 FGM에 의해 엄폐(Occultation)가 발생하기 때문에, 질의 오디오 데이터의 스펙트로그램 전체로부터 BGM을 식별하는 것은 곤란한 문제가 존재한다. 따라서 패치 추출부(220)는 스펙트로그램에서 패치를 추출한다. 이처럼 패치를 추출하여 각 패치들의 유사도를 판단함으로써, BGM 상에서 일정부분 FGM에 의해 엄폐가 발생하더라도 엄폐가 발생하지 않은 다른 부분에서의 패치들을 이용해 BGM을 식별할 수 있다. 패치 추출부(220)가 스펙트로그램에서 패치를 추출하는 방법은 크게 두 가지로 분류된다. 하나는 스펙트로그램에서 일정한 간격마다 패치를 추출하는 방법이고, 다른 하나는 스펙트로그램에서 큰 픽셀값을 갖는 포인트 등 관심 포인트(Interest Point)만을 패치로 추출하는 방법이다. 패치 추출부(220)는 두 가지 방법 중 전자의 방법을 이용하여 패치를 추출한다. 후자의 방법은 전체적인 연산량이 크게 줄어들 수는 있으나, 질의 오디오 데이터와 같이 BGM 뿐만 아니라 FGM도 포함되어 있는 경우, FGM 부분에서도 많은 관심 포인트가 존재할 수 있어 패치가 많이 추출될 우려가 있다. 이에 BGM 부분에 많은 왜곡이 생길 염려가 존재한다. 따라서 패치 추출부(220)는 스펙트로그램 상에서 일정한 간격마다 패치를 추출한다. 이에 대해서는 도 3에 도시하고 있다.The patch extracting unit 220 extracts a patch from the spectrogram of the query audio data. A patch is a portion of the spectrogram with a predetermined area. There is a problem that it is difficult to identify the BGM from the entire spectrogram of the query audio data because occultation occurs in the BGM of the query audio data due to the FGM. Accordingly, the patch extracting unit 220 extracts a patch from the spectrogram. By extracting the patches and judging the similarity of each patch, it is possible to identify the BGM using patches in other parts where cover does not occur even if occlusion occurs by a certain FGM on the BGM. The method of extracting a patch from the spectrogram by the patch extracting unit 220 is roughly divided into two methods. One is a method of extracting patches at regular intervals in the spectrogram, and the other is a method of extracting only interested points, such as points having large pixel values in the spectrogram, as patches. The patch extracting unit 220 extracts patches using the former method among the two methods. In the latter method, although the overall operation amount can be greatly reduced, when the FGM is included as well as the BGM like the query audio data, there are many points of interest in the FGM part, and there is a possibility that a lot of patches are extracted. Therefore, there is a concern that a lot of distortion may occur in the BGM portion. Therefore, the patch extracting unit 220 extracts patches at regular intervals on the spectrogram. This is shown in Fig.

도 3은 본 발명의 일 실시예에 따른 패치 추출부가 패치를 추출하는 방법을 도시한 도면이다.FIG. 3 is a diagram illustrating a method of extracting a patch by a patch extracting unit according to an embodiment of the present invention.

스펙트로그램(310)이 추출된 경우, 패치 추출부(220)는 스펙트로그램(310)에서 기 설정된 시간 간격(330)마다 또는 기 설정된 주파수 간격(340)마다 기 설정된 넓이를 갖는 패치(320)를 추출한다. 스펙트로그램(310) 상에서 패치와 패치 간에는 주파수 축 상 또는 시간 축 상 일정한 거리가 떨어지도록 패치(320)의 넓이가 설정된다. 이처럼 패치 추출부(220)는 관심 포인트와 무관하게 스펙트로그램(310) 상에서 일정한 주파수 또는 시간 간격마다 패치를 추출한다.When the spectrogram 310 is extracted, the patch extracting unit 220 extracts a patch 320 having a predetermined width every predetermined time interval 330 or a predetermined frequency interval 340 in the spectrogram 310 . On the spectrogram 310, the width of the patch 320 is set such that a certain distance is on the frequency axis or on the time axis between the patch and the patch. As described above, the patch extraction unit 220 extracts patches at a predetermined frequency or time interval on the spectrogram 310 regardless of points of interest.

또한, 패치 추출부(220)는 패치와 함께 스펙트로그램 상의 패치의 좌표를 추출한다. 추출된 패치의 좌표는 오디오 식별부(150)에서 질의 오디오 데이터를 데이터베이스에 저장된 오디오 데이터와 비교하여 식별함에 있어 이용된다.In addition, the patch extracting unit 220 extracts the coordinates of the patches on the spectrogram together with the patches. The coordinates of the extracted patches are used in the audio identification unit 150 to identify and compare the query audio data with the audio data stored in the database.

특징벡터 추출부(230)는 각각의 패치에서 특징벡터(Feature Vector)를 추출한다. 특징벡터는 스펙트로그램 또는 스펙트로그램 내의 패치에서 추출한 특징을 표현하는 것으로, 추출된 특징의 개수가 d라 가정하면 d차원 상의 하나의 점에 해당한다. 종래에는 이러한 특징벡터를 추출함에 있어, 스펙트로그램 또는 패치 등에서 픽셀의 실제 픽셀값(절대값)을 이용하였다. 그러나 픽셀의 실제 픽셀값(절대값)을 이용한 특징벡터는 다음과 같은 환경에서 취약한 문제가 있었다. 특정 BGM에 FGM이 섞인 오디오 데이터에 있어, BGM과 FGM이 섞이면서 BGM의 대비(Contrast) 또는 밝기(Brightness)에 변화가 빈번히 발생한다. 이처럼 BGM의 대비 또는 밝기에 변화가 생기면, 동일한 BGM의 특징벡터라 하더라도 BGM의 특징벡터와 BGM과 FGM이 섞인 오디오 데이터의 특징벡터는 상이해지는 문제가 있다. 특징벡터 추출부(230)는 각각의 패치에서 특징벡터를 추출함에 있어 상대값을 이용하여 추출한다. 특징벡터 추출부(230)는 각 패치 내에 포함된 픽셀들의 각 픽셀 값을 기 설정된 기준에 따라 기 설정된 개수의 그룹으로 나누어 배열한다. 예를 들어, 패치가 16*16개의 픽셀을 포함하고 있으며, 크기의 순위를 기준으로 32차원 상의 한 점인 특징벡터를 추출하는 경우를 가정한다. 특징벡터 추출부(230)는 패치 내에 포함된 각 픽셀의 픽셀값을 파악하여 각 픽셀값의 순위를 선정한다. 패치 내에 16*16개의 픽셀이 포함되어 있어 순위는 256개가 존재할 수 있다. 이때, 특징벡터 추출부(230)는 32개의 특징을 추출하기 위해 각 픽셀값의 순위를 32개의 그룹으로 나눈다. 예를 들어, 1등(가장 픽셀값이 큰 픽셀)부터 8등까지를 하나의 그룹으로, 9등부터 16등까지를 다른 하나의 그룹으로 나누는 등 32개의 그룹으로 나눌 수 있다. 크기의 순위를 기준으로 특징을 추출하기 때문에, 대비 또는 밝기에 변화가 생겨 모든 픽셀의 픽셀값(절대값)에 변화가 생긴다 하더라도, 특징벡터는 대비 또는 밝기에 변화가 생기기 전과 후가 달라지지 않는다. 이와 같이 특징벡터 추출부(230)는 각 픽셀의 픽셀값에 대해 상대값을 판단할 수 있는 기준을 설정하여 특징벡터를 추출한다. 상대값을 판단할 수 있는 기준으로 크기의 순위를 예로 들었으나 반드시 이에 한정하는 것은 아니고, 패치 내 각 픽셀 값의 빈도 등 다양한 기준으로 설정될 수 있다.The feature vector extractor 230 extracts a feature vector from each patch. The feature vector represents a feature extracted from a patch in the spectrogram or spectrogram. Assuming that the number of extracted features is d, it corresponds to one point on the d-dimension. Conventionally, in extracting such a feature vector, an actual pixel value (absolute value) of a pixel is used in a spectrogram or a patch. However, the feature vector using the actual pixel value (absolute value) of the pixel is vulnerable in the following circumstances. In the audio data in which the FGM is mixed with the specific BGM, the BGM and the FGM are mixed, and the contrast (contrast) or the brightness (brightness) of the BGM frequently changes. If the contrast or brightness of the BGM is changed, the feature vector of the BGM and the feature vector of the audio data containing the BGM and the FGM are different even if the feature vector of the same BGM is changed. The feature vector extractor 230 extracts feature vectors from each patch using a relative value. The feature vector extracting unit 230 divides each pixel value of the pixels included in each patch into a predetermined number of groups according to a preset reference. For example, assume that the patch includes 16 * 16 pixels, and extracts a feature vector that is a point on the 32-dimensional basis based on the rank of the size. The feature vector extracting unit 230 determines the pixel value of each pixel included in the patch and selects the rank of each pixel value. There are 16 * 16 pixels in the patch, so there are 256 positions. At this time, the feature vector extracting unit 230 divides the rank of each pixel value into 32 groups in order to extract 32 features. For example, it can be divided into 32 groups such that the first (pixel having the largest pixel value) to 8th is divided into one group, and the 9th to 16th is divided into another group. Since the feature is extracted based on the rank of the size, even if the contrast or brightness changes and the pixel value (absolute value) of all the pixels changes, the feature vector does not change before or after the change in contrast or brightness occurs . In this way, the feature vector extracting unit 230 extracts the feature vector by setting a criterion for determining the relative value of the pixel value of each pixel. Although the order of magnitude is exemplified as a criterion for determining the relative value, it is not limited to this, and may be set to various criteria such as the frequency of each pixel value in the patch.

또한, 특징벡터 추출부(230)는 패치 내에서 특징벡터를 추출함에 있어, 패치를 기 설정된 개수의 영역으로 분할한 후 특징벡터를 추출할 수 있다. 이에 대해서는 도 4에 도시하고 있다.In extracting the feature vector from the patch, the feature vector extractor 230 may extract the feature vector after dividing the patch into a predetermined number of regions. This is shown in Fig.

도 4는 본 발명의 일 실시예에 따른 특징 벡터 추출부가 특징 벡터를 추출하는 방법을 도시한 도면이다.4 is a diagram illustrating a method of extracting a feature vector according to an exemplary embodiment of the present invention.

특징벡터 추출부(230)는 어느 하나의 패치(320)를 기 설정된 개수의 영역으로 분할한 후, 각 영역(410)에 대한 특징벡터(420)를 추출한다. 특징벡터 추출부(230)가 각 영역 내에서 특징벡터를 추출하는 방법은 패치 전체에서 특징벡터를 추출하는 전술한 방법과 동일하다. 특징벡터 추출부(230)는 이처럼 각 영역(410)에서 추출한 특징벡터(420)를 결합함으로써, 패치 전체의 특징벡터(430)를 추출할 수 있다. 예를 들어, 패치에 대해 24차원 상의 특징벡터를 추출하고자 하는 경우, 특징벡터 추출부(230)는 패치를 도 4에 도시한 것과 같이 4개의 영역으로 분할할 수 있으며, 각 영역에 대해 6차원 상의 특징벡터를 추출할 수 있다. 특징벡터 추출부(230)는 6차원 상의 특징벡터를 결합하여 24차원 상의 특징벡터를 추출할 수 있다. 도 4에는 특징벡터가 히스토그램(Histogram)으로 도시되어 있으나, 반드시 이에 한정하는 것은 아니고 히스토그램 상의 값을 좌표로 나타내는 등 다양한 방법으로 표현될 수 있다.The feature vector extracting unit 230 extracts a feature vector 420 for each region 410 after dividing one of the patches 320 into a predetermined number of regions. The feature vector extracting unit 230 extracts feature vectors in each region is the same as the above-described method of extracting feature vectors from the entire patch. The feature vector extracting unit 230 extracts the feature vector 430 of the entire patch by combining the feature vector 420 extracted from each region 410 as described above. For example, in the case of extracting a 24-dimensional feature vector for a patch, the feature vector extracting unit 230 may divide the patch into 4 regions as shown in FIG. 4, Can be extracted. The feature vector extracting unit 230 may extract a 24-dimensional feature vector by combining 6-dimensional feature vectors. In FIG. 4, the feature vector is shown as a histogram. However, the feature vector is not necessarily limited to a histogram.

제1 이진코드 생성부(240)와 제2 이진코드 생성부(245)는 추출된 특징벡터를 기초로 이진코드를 생성한다. 오디오 식별부(150)에서 핑거프린트를 이용하여 질의 오디오 데이터를 데이터베이스에 저장된 오디오 데이터와 비교하여 식별함에 있어, 앞서 추출된 특징벡터를 이용하여 식별할 수 있다. 그러나 복수의 차원을 갖는 특징벡터들을 직접 비교함으로써 식별하는데 있어서는 상당한 시간이 소요되는 문제가 있다. d 차원의 특징벡터는 d 개의 실수를 갖는 반면, 제1 및 제2 이진코드 생성부(240, 245)에 의해 d bit의 이진코드로 생성되기 때문에 보다 빠른 시간 내에 각 오디오 데이터의 이진코드들 간에 비교를 마칠 수 있다. 따라서 오디오 핑거프린트 추출부(130)는 특징벡터를 기초로 이진코드를 생성하며, 생성된 이진코드를 토대로 1차적으로 질의 오디오 데이터를 데이터베이스에 저장된 오디오 데이터와 비교함으로써, 저장된 오디오 데이터 중 수많은 노이즈들을 걸러낼 수 있다.The first binary code generation unit 240 and the second binary code generation unit 245 generate binary codes based on the extracted feature vectors. In the audio identification unit 150, the query audio data is identified and compared with the audio data stored in the database using the fingerprint, using the extracted feature vector. However, there is a problem that it takes a considerable time to identify by directly comparing feature vectors having a plurality of dimensions. Since the feature vector of the d dimension has d real numbers, the first and second binary code generators 240 and 245 generate d bit binary codes. Therefore, You can finish the comparison. Therefore, the audio fingerprint extracting unit 130 generates a binary code based on the feature vector, and by comparing the query audio data primarily with the audio data stored in the database based on the generated binary code, You can filter.

제1 이진코드 생성부(240)는 특징벡터의 각 그룹에 포함된 픽셀의 개수가 기준치 이상인지 여부에 따라 이진코드를 생성한다. 예를 들어, 앞서 든 예와 같이 특징벡터가 크기의 순위에 따라 32개의 그룹으로 나뉘어 배열된 경우, 제1 이진코드 생성부(240)는 각 그룹에 포함된 픽셀의 개수가 기준치 이상이면 1, 기준치 미만이면 0으로 설정하여 제1 이진코드를 생성한다. The first binary code generator 240 generates a binary code according to whether the number of pixels included in each group of feature vectors is equal to or greater than a reference value. For example, when the feature vectors are divided into 32 groups according to the order of magnitude, the first binary code generator 240 generates 1, 2, 3, 4, 5, If it is less than the reference value, it is set to 0 to generate the first binary code.

제2 이진코드 생성부(245)는 특징벡터의 각 그룹에 포함된 픽셀의 개수가 다른 기 설정된 그룹 내에 포함된 픽셀의 개수보다 큰지 여부에 따라 이진코드를 생성한다. 예를 들어, 앞서 든 예와 같이 특징벡터가 크기의 순위에 32개의 그룹으로 나뉘어 배열된 경우, 제1 이진코드 생성부(240)는 1등 내지 8등이 속한 1그룹의 픽셀의 개수가 9등 내지 16등이 속한 2그룹의 픽셀의 개수 이상이면 1, 미만이면 0으로 설정하여 제2 이진코드를 생성한다.The second binary code generation unit 245 generates binary codes according to whether or not the number of pixels included in each group of feature vectors is larger than the number of pixels included in another predetermined group. For example, in the case where the feature vectors are arranged in 32 groups in the order of magnitude as in the above example, the first binary code generator 240 generates the first binary code, And so on, if the number of pixels is greater than or equal to the number of pixels in the two groups, the second binary code is generated.

전술한 제1 및 제2 이진코드 생성부(240, 245)와 같이 특징벡터를 이진코드로 변환하는 경우, 연산량을 현저히 줄일 수 있는 장점이 존재한다. 그러나 d 차원의 실수를 d bit의 이진수로 변환하는 것이기 때문에, 질의 오디오 데이터의 이진코드와 데이터베이스에 저장된 오디오 데이터들의 이진코드를 비교하는 경우, 비교 결과에 대한 신뢰성을 보장하기 어렵다. 즉, 비교 결과에 실제 일치하는 오디오 데이터들 외에도 수많은 노이즈가 포함될 수 있기 때문에, 정확도가 떨어지는 단점이 있다. 반면, 이진코드로 변환하여 정확도가 떨어지는 단점을 보완하고자, 코드를 생성함에 있어 복수의 기준치를 이용해 코드를 생성할 수 있다. 예를 들어, 제1 내지 제3 기준치를 설정하여 각 그룹에 포함된 픽셀의 개수가 제1 기준치 미만이면 0, 제1 기준치 이상 제2 기준치 미만이면 1, 제2 기준치 이상 제3 기준치 미만이면 2, 제3 기준치 이상이면 3으로 설정하여 코드를 설정할 수 있다. 이처럼 복수의 기준치를 이용하여 코드를 생성하는 경우, 정확도는 상승하는 장점이 있지만, 질의 오디오 데이터와 실제 일치하는 데이터베이스에 저장된 오디오 데이터가 검출되지 않을 우려가 있다. 이와 같이, 코드를 생성함에 있어 설정하는 기준치의 개수에 따라, 결과의 정확도와 검출량에 대한 트레이드 오프(Trade Off)가 발생한다. 본 발명의 일 실시예에 따른 오디오 핑거프린트 추출부(130)는 정확도와 검출량 양자를 적절히 만족시키고자 서로 다른 기준으로 이진 코드를 생성하는 복수의 이진코드 생성부를 구비한다. 복수의 이진코드 생성부를 구비함으로써, 일정한 검출량도 담보하며 결과의 정확도도 확보할 수 있는 장점이 있다.When the feature vectors are converted into binary codes as in the first and second binary code generators 240 and 245, there is an advantage that the amount of computation can be significantly reduced. However, since the d-dimensional real number is converted into the d-bit binary number, it is difficult to guarantee the reliability of the comparison result when the binary code of the query audio data is compared with the binary code of the audio data stored in the database. That is, since the comparison result may contain a lot of noise in addition to the audio data that actually coincides with each other, there is a disadvantage that accuracy is lowered. On the other hand, in order to compensate for the disadvantage that the binary code is converted into less accurate, the code can be generated using a plurality of reference values in generating the code. For example, if the number of pixels included in each group is less than the first reference value, 0 if the first reference value is greater than the second reference value, 1 if the second reference value is greater than the third reference value, and 2 , And 3 if the value is equal to or greater than the third reference value. When a code is generated using a plurality of reference values as described above, there is an apprehension that the accuracy is increased, but audio data stored in a database that actually coincides with the query audio data may not be detected. As described above, a trade-off occurs with respect to the accuracy of the result and the amount of detection, depending on the number of reference values to be set in generating the code. The audio fingerprint extracting unit 130 according to the embodiment of the present invention includes a plurality of binary code generating units for generating binary codes based on different standards to suitably satisfy both the accuracy and the detection amount. By providing a plurality of binary code generators, it is possible to secure a certain amount of detection and ensure accuracy of results.

제1 및 제2 이진코드 생성부(240, 245)는 전술한 조건을 이용하여 특징벡터로부터 이진코드를 생성하고 있으나, 반드시 전술한 조건에 제한되는 것은 아니며 경우의 수가 2가지로 나누어 지는 조건은 어떠한 조건으로도 대체될 수 있다. 예를 들어, 각 그룹에 포함된 픽셀의 개수가 홀수인지 여부 등 다양한 조건을 이용하여 이진코드를 생성할 수 있다.Although the first and second binary code generators 240 and 245 generate the binary code from the feature vector using the above-mentioned conditions, the conditions are not necessarily limited to the above-mentioned conditions, Any condition can be substituted. For example, the binary code can be generated using various conditions such as whether the number of pixels included in each group is odd.

핑거프린트 추출부(250)는 추출된 패치에 대해 패치의 좌표 및 패치의 특징벡터와 함께 제1 및 제2 이진코드 생성부(240, 245)가 생성한 이진코드들을 포함한 핑거프린트를 추출한다. 핑거프린트는 패치에 대해 추출되며, 상대값을 이용해 추출된 특징 벡터를 포함하기 때문에, 엄폐 및 대비와 밝기의 변화에 강인한 특징을 갖기 때문에, 질의 오디오 데이터에 포함된 BGM을 용이하게 식별할 수 있다.The fingerprint extractor 250 extracts the fingerprint including the binary codes generated by the first and second binary code generators 240 and 245 together with the coordinate of the patch and the feature vector of the patch with respect to the extracted patch. Since the fingerprint is extracted for the patch and includes the feature vector extracted by using the relative value, the BGM included in the query audio data can be easily identified because it is robust to the change of cover and contrast and brightness .

인덱싱부(260)는 추출한 핑거프린트를 인덱싱한다. 이에 대해서는 도 5에서 도시하고 있다.The indexing unit 260 indexes the extracted fingerprint. This is shown in FIG.

도 5는 본 발명의 일 실시예에 따른 인덱싱부가 패치의 이진 코드를 인덱싱하는 방법을 도시한 도면이다.5 is a diagram illustrating a method of indexing a binary code of a patch according to an embodiment of the present invention.

인덱싱부(260)는 제1 이진코드 변환 테이블(510) 및 제2 이진코드 변환 테이블(520)을 가지며, 각각의 변환 테이블에 핑거프린트 내 각각의 이진코드를 배치한다. 각각의 이진코드 변환 테이블(510, 520)은 이진코드의 비트 숫자에 대응하는 개수의 테이블 값을 갖는다. 예를 들어, 32 bit의 이진코드를 갖는 경우, 각각의 이진코드 변환 테이블(510, 520)은 232개에 해당하는 테이블 값을 가지며 이진코드 변환 조건에 따라 231개에 해당하는 테이블 값을 가질 수 있다. 인덱싱부(260)는 이진코드를 각각의 변환 테이블에 배치하며, 핑거프린트에 포함된 패치의 좌표와 특징벡터를 함께 저장한다. 이와 같이 인덱싱부(260)가 각각의 패치에 대한 핑거프린트를 인덱싱해둠으로써, 이진코드 값에 따라 어떠한 핑거프린트를 갖는지 바로 확인할 수 있다.The indexing unit 260 has a first binary code conversion table 510 and a second binary code conversion table 520 and places each binary code in the fingerprint in each conversion table. Each binary code conversion table 510, 520 has a number of table values corresponding to the bit number of the binary code. For example, in the case of a 32-bit binary code, each of the binary code conversion tables 510 and 520 has a table value corresponding to 2 32 , and a table value corresponding to 2 31 according to the binary code conversion condition Lt; / RTI > The indexing unit 260 places the binary code in each conversion table, and stores the coordinates of the patch included in the fingerprint and the feature vector together. By indexing the fingerprints for each patch, the indexing unit 260 can immediately identify which fingerprint has the binary code value.

도 6은 본 발명의 일 실시예에 따른 오디오 식별부의 구성을 도시한 도면이다.6 is a diagram illustrating a configuration of an audio identification unit according to an embodiment of the present invention.

도 6을 참조하면, 본 발명의 일 실시예에 따른 오디오 식별부(150)는 제1 매칭부(610), 시간적 상관도 판단부(620), 제2 매칭부(630) 및 검증부(640)를 포함하여 구성된다. 6, an audio identification unit 150 according to an embodiment of the present invention includes a first matching unit 610, a temporal correlation determining unit 620, a second matching unit 630, and a verifying unit 640 ).

제1 매칭부(610)는 오디오 핑거프린트 추출부(130)에서 추출한 질의 오디오 데이터의 스펙트로그램(이하, '질의 스펙트로그램'으로 약칭함) 내 각 패치의 이진코드와 오디오 핑거프린트 데이터베이스(140)에 저장된 모든 오디오 데이터의 스펙트로그램(이하, '저장 스펙트로그램'으로 약칭함) 내 각 패치의 이진코드를 매칭한다. 오디오 핑거프린트 데이터베이스(140)도 오디오 핑거프린트 추출부(130)와 마찬가지로 저장하고 있는 각각의 오디오 데이터에 대해 핑거프린트를 추출하여 인덱싱해둔 상태로 저장한다. 제1 매칭부(610)는 질의 스펙트로그램 내 각 패치의 이진코드 변환 테이블 값과 저장 스펙트로그램 내 각 패치의 이진코드 변환 테이블 값을 매칭한다. 제1 매칭부(610)는 오디오 핑거프린트 데이터베이스(140) 내에 존재하는 모든 오디오 데이터 중 각 패치의 이진코드 변환 테이블 값이 질의 스펙트로그램 내 각 패치의 이진코드 변환 테이블 값과 일치하는 예비 오디오 데이터를 선택한다. 이후, 제1 매칭부(610)는 질의 스펙트로그램 내 각 패치의 이진코드와 선택된 예비 오디오 데이터의 스펙트로그램(이하, '예비 스펙트로그램'으로 악칭함) 내 각 패치의 이진코드와 매칭한다. 제1 매칭부(610)는 예비 스펙트로그램 내 각 패치의 모든 이진코드(제1 이진코드 및 제2 이진코드)가 질의 스펙트로그램 내 각 패치의 이진코드와 일치하는 예비 오디오 데이터를 선택한다. 이와 같이, 제1 매칭부(610)는 오디오 핑거프린트 데이터베이스(140)에 저장된 수십 내지 수백만 오디오 데이터에 대해 일일이 특징벡터를 매칭하는 것이 아니라, 먼저 이진코드 변환 테이블 값과 이진코드를 매칭함으로써 간단히 노이즈와 예비 오디오 데이터를 분류할 수 있다. The first matching unit 610 compares the binary code of each patch in the spectrogram of the query audio data extracted by the audio fingerprint extracting unit 130 (hereinafter, abbreviated as 'query spectrogram') with the audio fingerprint database 140 (Hereinafter abbreviated as " storage spectrogram ") of all audio data stored in the storage medium. Similarly to the audio fingerprint extracting unit 130, the audio fingerprint database 140 extracts a fingerprint for each stored audio data and stores the fingerprint in an indexed state. The first matching unit 610 matches the binary code conversion table value of each patch in the query spectrogram with the binary code conversion table value of each patch in the storage spectrogram. The first matching unit 610 compares the binary code conversion table value of each patch among all the audio data existing in the audio fingerprint database 140 with the binary code conversion table value of each patch in the query spectrogram, Select. Then, the first matching unit 610 matches the binary code of each patch in the query spectrogram and the binary code of each patch in the spectrogram of the selected preliminary audio data (hereinafter referred to as "preliminary spectrogram"). The first matching unit 610 selects spare audio data in which all of the binary codes (first binary code and second binary code) of each patch in the preliminary spectrogram coincide with the binary codes of each patch in the query spectrogram. In this way, the first matching unit 610 does not match the feature vectors one by one to the tens to millions of audio data stored in the audio fingerprint database 140, but rather, by matching binary code conversion table values and binary codes, And the preliminary audio data.

시간적 상관도 판단부(620)는 질의 스펙트로그램과 제1 매칭부(610)에서 매칭된 모든 예비 스펙트로그램들의 시간적 상관도(Temporal Consistency)를 판단한다. 시간적 상관도 판단부(620)는 질의 스펙트로그램 내 각 패치의 좌표와 이와 매칭되는 각 예비 스펙트로그램 내 각 패치의 좌표 간의 시간적 상관도를 판단한다. 예를 들어, 시간적 상관도는 각 패치 간의 기울기일 수 있다. 시간적 상관도 판단부(620)는 각 패치 간의 기울기를 판단하며, 각 기울기 값 간의 차가 기준치 이상인지를 판단한다. 이에 대해서는 도 7에서 도시하고 있다.The temporal correlation determining unit 620 determines the temporal consistency of the query spectrogram and all the preliminary spectrograms matched in the first matching unit 610. The temporal correlation determining unit 620 determines the temporal correlation between the coordinates of each patch in the query spectrogram and the coordinates of each patch in each preliminary spectrogram matching therewith. For example, the temporal correlation may be a slope between each patch. The temporal correlation determining unit 620 determines the slope between each patch and determines whether the difference between the slopes is equal to or greater than a reference value. This is shown in Fig.

도 7은 본 발명의 일 실시예에 따른 시간적 상관도 판단부가 시간적 상관도를 판단하는 방법을 도시한 도면이다.FIG. 7 is a diagram illustrating a method of determining a temporal correlation according to an embodiment of the present invention. Referring to FIG.

도 7(a)에 도시된 질의 스펙트로그램(710)과 예비 스펙트로그램 중 어느 하나(720)를 보면, 각 패치의 좌표간 기울기의 차이가 거의 없이 일정한 것을 볼 수 있다.It can be seen from the query spectrogram 710 shown in FIG. 7 (a) and one of the preliminary spectrograms 720 that the difference in the slope between the coordinates of each patch is almost constant.

반면, 도 7(b)에 도시된 질의 스펙트로그램(730)과 예비 스펙트로그램 중 어느 하나(740)를 보면, 질의 스펙트로그램의 다양한 패치들이 예비 스펙트로그램의 하나의 패치와 매칭되는 것을 볼 수 있다. 각 패치의 좌표간 기울기가 제 각각이며, 각 패치 간의 기울기 차이가 상당한 것을 볼 수 있다.On the other hand, looking at the query spectrogram 730 and one of the pre-spectrograms 740 shown in FIG. 7 (b), it can be seen that the various patches of the query spectrogram are matched with one patch of the preliminary spectrogram . The slope between the coordinates of each patch is each, and it can be seen that the slope difference between the patches is considerable.

시간적 상관도 판단부(620)는 각 패치간 기울기 값의 차가 기준치 이상인 경우, 시간적 상관도가 떨어지는 것으로 판단한다. 이에 따라 시간적 상관도 판단부(620)는 제1 매칭부(610)에서 매칭된 모든 예비 스펙트로그램 중 질의 스펙트로그램과 시간적 상관도가 떨어지는 예비 스펙트로그램에 대해서는 예비 스펙트로그램 군에서 제외한다. 패치의 좌표는 스펙트로그램 상의 좌표이므로 특징벡터 같이 d 차원상의 좌표가 아닌 2차원상의 좌표에 해당한다. 이에 따라, 시간적 상관도 판단부(620)는 제1 매칭부(610)에서 매칭한 예비 스펙트로그램에 대해서 다시 한번 간단한 연산으로 노이즈를 제거하여 후보 오디오 데이터의 스펙트로그램(이하, '후보 스펙트로그램'으로 약칭함)을 선별한다.The temporal correlation determining unit 620 determines that the temporal correlation is lower when the difference between the slopes of the patches is equal to or greater than the reference value. Accordingly, the temporal correlation determining unit 620 excludes the preliminary spectrograms having a temporal correlation with the query spectrogram of all the preliminary spectrograms matched in the first matching unit 610 from the preliminary spectrogram group. Since the coordinates of the patch are the coordinates on the spectrogram, they correspond to the two-dimensional coordinate, not the d-dimensional coordinate, like the feature vector. Accordingly, the temporal correlation determining unit 620 removes noise from the preliminary spectrogram matched by the first matching unit 610 with a simple calculation to obtain a spectrogram of candidate audio data (hereinafter referred to as a 'candidate spectrogram' Quot;).

제2 매칭부(630)는 시간적 상관도 판단부(620)를 거친 후보 스펙트로그램의 특징벡터와 질의 스펙트로그램의 특징벡터들을 매칭함으로써, 오디오 핑거프린트 데이터베이스(140) 내에서 질의 스펙트로그램과 일치하는 스펙트로그램을 검색한다. 제2 매칭부(630)는 질의 스펙트로그램 내 각 패치의 특징벡터에 대해 후보 스펙트로그램 내 각 패치의 특징벡터 중 가장 가까운 거리상에 있는 특징벡터들을 매칭한다. 제2 매칭부(630)는 질의 스펙트로그램내 각 패치의 특징벡터와 매칭된 후보 스펙트로그램 내 각 패치의 특징벡터에 대해, 특징벡터 간의 거리가 기 설정된 기준치 이하인지를 판단한다. 특징벡터 간의 거리를 계산함에 있어, 유클리드 거리 계산법으로 계산할 수 있으나, 반드시 이에 한정하는 것은 아니고, 민코프스키(Minkowski) 거리 측정, 마할라노비스(Mahalanobis) 거리 측정법 등 다양한 방법으로 거리를 계산할 수 있다. 또한, 제2 매칭부(630)는 특징벡터 간의 거리가 기 설정된 기준치 이하인 질의 스펙트로그램 내 각 패치의 특징벡터의 개수를 파악한다. 이와 함께, 제2 매칭부(630)는 특징벡터 간의 거리가 기 설정된 기준치 이하인 각 패치의 특징벡터 간의 시간적 상관도를 판단한다. 질의 스펙트로그램과 후보 스펙트로그램 내 각 패치의 매칭되는 특징벡터 간 시간적 상관도가 높은 것의 개수가 낮은 것의 개수보다 많은지를 판단한다. 예를 들어, 시간적 상관도를 기울기로 가정하는 경우, 질의 스펙트로그램과 후보 스펙트로그램 내 각 패치의 매칭되는 특징벡터 간의 기울기가 기준치 이하인 것의 개수가 기준치 이상인 것의 개수보다 많은 지를 판단한다. 제2 매칭부(630)는 특징벡터 간의 거리가 기 설정된 기준치 이하인 질의 스펙트로그램 내 각 패치의 특징벡터의 개수가 기준치 이상이며, 질의 스펙트로그램과 후보 스펙트로그램 내 각 패치의 매칭되는 특징벡터 간 시간적 상관도가 높은 것의 개수가 낮은 것의 개수보다 많은 경우, 해당 후보 스펙트로그램을 질의 스펙트로그램과 매칭되는 것으로 판단한다.The second matching unit 630 matches the feature vectors of the candidate spectrogram and the query spectrogram through the temporal correlation determination unit 620 to determine whether the query spectrogram matches the query spectrogram in the audio fingerprint database 140 Search for spectrograms. The second matching unit 630 matches feature vectors on the closest distance among the feature vectors of each patch in the candidate spectrogram to the feature vectors of the respective patches in the query spectrogram. The second matching unit 630 determines whether the distance between the feature vectors of the feature vectors of each patch in the candidate spectrogram matched with the feature vector of each patch in the query spectrogram is equal to or less than a preset reference value. In calculating the distances between feature vectors, the distance can be calculated by various methods such as Minkowski distance measurement and Mahalanobis distance measurement method, but not necessarily limited thereto, by the Euclidean distance calculation method. The second matching unit 630 determines the number of feature vectors of each patch in the query spectrogram whose distance between feature vectors is equal to or less than a preset reference value. In addition, the second matching unit 630 determines the temporal correlation between feature vectors of each patch whose distance between the feature vectors is equal to or less than a predetermined reference value. It is determined whether the number of high temporal correlations between the query spectrogram and the matching feature vectors of each patch in the candidate spectrogram is larger than the number of low ones. For example, when the temporal correlation is assumed to be a slope, it is determined whether the number of slopes between the query spectrogram and the matching feature vector of each patch in the candidate spectrogram is larger than the reference value or larger than the reference value. The second matching unit 630 determines whether the number of feature vectors of each patch in the query spectrogram whose distance between the feature vectors is equal to or less than a predetermined reference value is equal to or greater than a reference value, If the number of correlations is higher than the number of correlations, the candidate spectrogram is judged to be matched with the query spectrogram.

도 8은 본 발명의 일 실시예에 따른 제1 매칭부 및 2 매칭부가 질의 오디오 데이터와 후보 오디오 데이터를 매칭하는 방법을 도시한 도면이다.FIG. 8 is a diagram illustrating a method of matching candidate audio data with first matching unit and second matching query audio data according to an embodiment of the present invention. Referring to FIG.

도 8(a)는 제1 매칭부(610)가 질의 스펙트로그램 내 각 패치의 이진코드와 후보 스펙트로그램 내 각 패치의 이진코드를 매칭하는 방법을 도시한다. 질의 스펙트로그램 내 각 패치가 후보 스펙트로그램 내 각 패치가 매칭되고 있다.Fig. 8 (a) shows how the first matching unit 610 matches the binary code of each patch in the query spectrogram with the binary code of each patch in the candidate spectrogram. Each patch in the query spectrogram is matched to each patch in the candidate spectrogram.

도 8(b)는 제2 매칭부(630)가 질의 스펙트로그램 내 각 패치의 특징벡터와 후보 스펙트로그램 내 각 패치의 특징벡터를 매칭하는 방법을 도시한다. 제1 매칭부(610)가 매칭하고 있는 숫자보다는 매칭되고 있는 특징벡터의 개수가 줄어든 것을 볼 수 있다. 특징벡터간의 거리를 통한 매칭은 이진코드간의 매칭보다 정확하기 때문에, 잘못된 매칭들이 걸러지게 되어 매칭되는 패치의 숫자가 줄어든다. 제2 매칭부(630)는 매칭되는 패치의 특징벡터의 숫자와 함께, 매칭되는 특징벡터의 시간적 상관도도 판단한다. 도 8(b)를 보면, 매칭되는 패치들 중 기울기를 가지며 매칭된 것들과 기울기 없이 세로로 곧게 매칭된 것들을 볼 수 있다. 이처럼 시간적 상관도가 높은 것(도 8(b)에서 기울기 없이 세로로 곧게 매칭된 것)들의 개수가 시간적 상관도가 낮은 것(도 8(b)에서 기울기를 가지며 매칭된 것)들의 개수보다 많으며, 매칭되는 패치의 특징벡터의 숫자가 기준치 이상인 경우, 제2 매칭부(630)는 해당 후보 오디오 데이터를 질의 오디오 데이터와 매칭되는 것으로 판단한다.8 (b) shows how the second matching unit 630 matches the feature vector of each patch in the query spectrogram and the feature vector of each patch in the candidate spectrogram. It can be seen that the number of matched feature vectors is reduced rather than the number matched by the first matching unit 610. Since the matching through the distance between feature vectors is more accurate than the matching between binary codes, false matches are filtered and the number of matched patches is reduced. The second matching unit 630 also determines the temporal correlation of matching feature vectors, together with the number of feature vectors of the matched patches. Referring to FIG. 8 (b), it can be seen that the matched patches have a slope and are vertically matched to the matched patches without slope. The number of temporally correlated (straightly matched longitudinally without slope in FIG. 8 (b)) is greater than the number of temporally correlated (matched with a slope in FIG. 8 (b)) , The second matching unit 630 determines that the candidate audio data is matched with the query audio data if the number of feature vectors of the matching patch is equal to or larger than the reference value.

검증부(640)는 제2 매칭부(630)가 최종적으로 질의 오디오 데이터와 매칭되는 것으로 판단한 후보 오디오 데이터가 실제 매칭되는지 여부를 검증한다. 검증부(640)는 검증을 위해 시퀀스 매칭을 이용할 수 있다. 질의 오디오 데이터와 후보 오디오 데이터를 일정한 크기를 갖는 윈도우로 분할하며, 질의 오디오 데이터와 후보 오디오 데이터의 모든 위치에서 분할한 윈도우들을 서로 비교하여 일치하는 부분이 존재하는지를 판단한다. 일치여부를 판단함에 있어서는, 질의 오디오 데이터의 윈도우를 가로축에, 후보 오디오 데이터의 윈도우를 세로축에 배치하거나 그 반대로 배치한 후, 직선이 발생하는지를 판단한다. 질의 오디오 데이터와 후보 오디오 데이터가 동일한 경우, 각 오디오 데이터 내의 각 패치는 서로 유사하기 때문에, 가까운 거리 차이를 갖게 되므로 어두운 값을 나타내며 대각선 방향의 직선이 발생하게 된다. 그러나 질의 오디오 데이터와 후보 오디오 데이터가 동일하지 않은 경우, 각 오디오 데이터 내의 대응되는 패치 간에 거리가 크므로, 값이 밝거나 검은 부분이 드문드문 발생하게 되어 직선은 발생하지 않게 된다. 즉, 검증부(640)는 질의 오디오 데이터의 모든 위치에서 분할한 윈도우들과 후보 오디오 데이터의 모든 위치에서 분할한 윈도우들을 서로 비교하여 직선이 발생하는지를 판단한다. 이에 대해서는 도 9에 도시하고 있다. The verifying unit 640 verifies whether or not the candidate audio data finally determined by the second matching unit 630 to be matched with the query audio data is actually matched. The verification unit 640 may use sequence matching for verification. The query audio data and the candidate audio data are divided into windows having a predetermined size and the windows divided at all positions of the query audio data and the candidate audio data are compared with each other to determine whether there is a matching portion. In determining whether or not a match is determined, a window of query audio data is arranged on the horizontal axis and a window of the candidate audio data is arranged on the vertical axis, or vice versa, and then it is determined whether a straight line occurs. When the query audio data and the candidate audio data are the same, since each patch in each audio data is similar to each other, the near distance difference is generated, and therefore, a straight line in the diagonal direction is generated. However, when the query audio data and the candidate audio data are not the same, the distance between corresponding patches in each audio data is large, so that bright or black portions are rarely generated, and no straight line is generated. That is, the verifying unit 640 compares the windows divided at all positions of the query audio data with the windows divided at all positions of the candidate audio data to determine whether a straight line occurs. This is shown in Fig.

도 9는 본 발명의 일 실시예에 따른 검증부가 검증하는 방법을 도시한 도면이다.9 is a diagram illustrating a method of verifying a verification unit according to an embodiment of the present invention.

검증부(640)는 질의 오디오 데이터의 특정 윈도우를 가로축 또는 세로축에 배치하고 후보 오디오 데이터의 특정 윈도우를 나머지 한 축에 배치한 후 매칭되는 패치 간의 거리를 판단한다. 직선(910)이 존재하는 경우, 검증부(640)는 제2 매칭부(630)가 매칭되는 것으로 판단한 후보 오디오 데이터가 질의 오디오 데이터와 일치하는 것임을 확인한다.The verifying unit 640 arranges a specific window of the query audio data on the horizontal axis or the vertical axis, arranges the specific window of the candidate audio data on the other axis, and determines the distance between the matched patches. If the straight line 910 exists, the verifying unit 640 confirms that the candidate audio data determined by the second matching unit 630 to match matches the query audio data.

도 10은 본 발명의 일 실시예에 따른 오디오 핑거프린트 추출부가 오디오 핑거프린트를 추출하는 방법을 도시한 순서도이다. 이미 도 2 내지 도 9를 참조하여 상세히 설명하였으므로, 각 과정의 구체적인 설명은 생략하기로 한다.10 is a flowchart illustrating a method of extracting an audio fingerprint by an audio fingerprint extracting unit according to an embodiment of the present invention. 2 to 9, detailed description of each process will be omitted.

전처리부(210)는 질의 오디오 데이터의 스펙트로그램을 생성한다(S1010).The preprocessing unit 210 generates a spectrogram of the query audio data (S1010).

패치 추출부(220)는 생성한 질의 오디오 데이터의 스펙트로그램에서 패치를 추출한다(S1020). 패치 추출부(220)는 패치와 함께 각 패치의 스펙트로그램 상의 좌표도 추출한다.The patch extracting unit 220 extracts a patch from the spectrogram of the generated query audio data (S1020). The patch extracting unit 220 extracts the coordinates on the spectrogram of each patch together with the patches.

특징벡터 추출부(230)는 추출한 각 패치에 대해 특징 벡터를 추출한다(S1030).The feature vector extracting unit 230 extracts a feature vector for each extracted patch (S1030).

제1 이진코드 생성부(240)는 각 패치에서 추출한 특징 벡터들에 대해 제1 방식으로 제1 이진코드를 생성한다(S1040).The first binary code generator 240 generates a first binary code for the feature vectors extracted from each patch in a first method (S1040).

제1 이진코드 생성부(245)는 각 패치에서 추출한 특징 벡터들에 대해 제2 방식으로 제2 이진코드를 생성한다(S1045).The first binary code generator 245 generates a second binary code for the feature vectors extracted from each patch in the second scheme (S1045).

핑거프린트 추출부(250)는 추출한 패치의 좌표, 특징벡터, 제1 및 제2 이진코드를 이용하여 패치의 핑거프린트를 생성한다(S1050).The fingerprint extracting unit 250 generates a fingerprint of the patch using the coordinates, the feature vector, and the first and second binary codes of the extracted patch (S1050).

인덱싱부(260)는 생성한 핑거프린트를 인덱싱한다(S1070).The indexing unit 260 indexes the generated fingerprint (S1070).

도 11은 본 발명의 일 실시예에 따른 오디오 식별부가 질의 오디오 핑거프린트를 식별하는 방법을 도시한 순서도이다.11 is a flowchart illustrating a method of identifying an audio fingerprint of an audio identification sub-part according to an embodiment of the present invention.

제1 매칭부(610)는 생성한 질의 오디오 데이터의 이진코드와 데이터베이스에 저장된 오디오 데이터의 이진코드를 매칭하여 예비 오디오 데이터를 선택한다(S1110).The first matching unit 610 matches the binary code of the generated query audio data with the binary code of the audio data stored in the database to select the preliminary audio data (S1110).

시간적 상관도 판단부(620)는 질의 오디오 데이터의 패치 좌표와 각 예비 오디오 데이터의 패치 좌표와의 시간적 상관도를 판단하여 후보 오디오 데이터를 추출한다(S1120).The temporal correlation determining unit 620 determines the temporal correlation between the patch coordinates of the query audio data and the patch coordinates of the respective preliminary audio data, and extracts the candidate audio data (S1120).

제2 매칭부(630)는 질의 오디오 데이터의 특징벡터와 각각의 후보 오디오 데이터의 특징벡터를 매칭하여 매칭되는 오디오 데이터를 도출한다(S1130).The second matching unit 630 matches the feature vector of the query audio data with the feature vector of each candidate audio data to derive matched audio data (S1130).

검증부(640)는 도출한 오디오 데이터와 질의 오디오 데이터가 일치하는지 검증한다(S1140).The verifying unit 640 verifies whether the derived audio data matches the query audio data (S1140).

도 10 및 도 11에서는 각각의 과정을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 발명의 일 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것이다. 다시 말해, 본 발명의 일 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 일 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 각각의 도면에 기재된 과정의 순서를 변경하여 실행하거나 과정 중 하나 이상의 과정을 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 10 및 도 11은 시계열적인 순서로 한정되는 것은 아니다.In FIGS. 10 and 11, it is described that each process is sequentially executed, but this is merely illustrative of the technical idea of an embodiment of the present invention. In other words, those skilled in the art will appreciate that various changes and modifications may be made without departing from the essential characteristics of one embodiment of the present invention, 10 and 11 are not limited to the time-series order because they can be variously modified and modified by being executed in parallel.

한편, 도 10 및 도 11에 도시된 과정들은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 즉, 컴퓨터가 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.Meanwhile, the processes shown in FIGS. 10 and 11 can be implemented as computer-readable codes on a computer-readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. That is, a computer-readable recording medium includes a magnetic storage medium (e.g., ROM, floppy disk, hard disk, etc.), an optical reading medium (e.g., CD ROM, And the like). The computer-readable recording medium may also be distributed over a networked computer system so that computer readable code can be stored and executed in a distributed manner.

이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The foregoing description is merely illustrative of the technical idea of the present embodiment, and various modifications and changes may be made to those skilled in the art without departing from the essential characteristics of the embodiments. Therefore, the present embodiments are to be construed as illustrative rather than restrictive, and the scope of the technical idea of the present embodiment is not limited by these embodiments. The scope of protection of the present embodiment should be construed according to the following claims, and all technical ideas within the scope of equivalents thereof should be construed as being included in the scope of the present invention.

100: 오디오 식별 시스템 110, 114, 118: 오디오 사용장치
120: 오디오 식별장치 130: 오디오 핑거프린트 추출부
140: 오디오 핑거프린트 데이터베이스
150: 오디오 식별부 160: 저작권 관리장치
210: 전처리부 220: 패치 추출부
230: 특징벡터 추출부 240: 제1 이진코드 생성부
245: 제2 이진코드 생성부 250: 핑거프린트 추출부
260: 인덱싱부 310: 스펙트로그램
320: 패치 420, 430: 특징벡터
510, 520: 이진코드 변환 테이블 610: 제1 매칭부
620: 시간적 상관도 판단부 630: 제2 매칭부
640: 검증부
100: audio identification system 110, 114, 118: audio use device
120: audio identification device 130: audio fingerprint extraction unit
140: Audio fingerprint database
150: audio identification unit 160:
210: preprocessing unit 220: patch extraction unit
230: Feature vector extraction unit 240: First binary code generation unit
245: Second binary code generation unit 250: Fingerprint extraction unit
260 Indexing section 310 Spectrogram
320: Patch 420, 430: Feature vector
510, 520: Binary code conversion table 610: First matching unit
620: temporal correlation determination unit 630: second matching unit
640:

Claims (18)

스펙트로그램(Spectrogram)에서 기 설정된 주파수 간격 또는 기 설정된 시간 간격마다 기 설정된 넓이를 갖도록 추출된 패치(Patch)의 스펙트로그램 상의 좌표, 각 패치에 대하여 상기 패치 내에 포함된 각 픽셀들의 값을 기 설정된 기준에 따라 기 설정된 개수의 그룹으로 나누어 배열한 특징 벡터(Feature Vector), 상기 특징 벡터에 대하여 서로 상이한 방법으로 생성한 복수의 이진코드를 핑거프린트(Fingerprint)로 갖는 오디오 데이터에 대하여, 상기 핑거프린트를 이용하여 질의(Query) 오디오 데이터를 데이터베이스에 저장된 오디오 데이터와 비교하여 매칭하는 장치에 있어서,
상기 질의 오디오 데이터의 스펙트로그램(이하에서 '질의 스펙트로그램'으로 약칭함)에서 추출된 각 패치의 이진코드와 상기 데이터베이스 내 저장된 모든 오디오 데이터의 스펙트로그램(이하에서 '저장 스펙트로그램'으로 약칭함)에서 추출된 각 패치의 이진코드를 비교하여, 상기 저장 스펙트로그램 중 상기 질의 스펙트로그램의 각 패치의 이진코드와 일치하는 이진코드를 갖는 패치를 모두 구비한 스펙트로그램(이하에서 '예비 스펙트로그램'으로 칭함)을 분류하는 제1 매칭부;
상기 예비 스펙트로그램 각각에 대하여, 상기 질의 스펙트로그램의 각 패치와 상기 질의 스펙트로그램의 각 패치의 이진코드와 일치하는 예비 스펙트로그램의 각 패치의 시간적 상관도를 판단하여, 상기 예비 스펙트로그램 내에서 노이즈(Noise)를 제거하여 상기 노이즈가 아닌 오디오 데이터의 스펙트로그램(이하에서 '후보 스펙트로그램'으로 칭함)을 선별하는 시간적 상관도 판단부; 및
상기 후보 스펙트로그램의 각 패치의 특징벡터 중 상기 질의 스펙트로그램의 각 패치의 특징벡터와 거리가 가장 가까운 패치의 특징벡터들을 상기 질의 스펙트로그램의 각 패치의 특징벡터와 매칭하여, 상기 질의 스펙트로그램의 각 패치의 특징벡터와 상기 질의 스펙트로그램의 각 패치의 특징벡터에 매칭되는 특징벡터 간 시간적 상관도가 기 설정된 기준치 이상인 것의 개수가 기 설정된 개수 이상인 후보 스펙트로그램을 상기 질의 스펙트로그램과 매칭되는 것으로 판단하는 제2 매칭부
를 포함하는 것을 특징으로 하는 오디오 데이터 매칭장치.
Coordinates on a spectrogram of a patch extracted so as to have a predetermined width at a predetermined frequency interval or a predetermined time interval in a spectrogram, values of respective pixels included in the patch for each patch, And a plurality of binary codes generated in a manner different from each other with respect to the feature vectors, the audio data having fingerprints, An apparatus for comparing query audio data with audio data stored in a database, the apparatus comprising:
(Hereinafter abbreviated as 'storage spectrogram') of all the audio data stored in the database and the binary code of each patch extracted from the spectrogram of the query audio data (abbreviated as 'query spectrogram' below) (Hereinafter, referred to as a " reserved spectrogram ") having all of patches having a binary code matching the binary code of each patch of the query spectrogram among the stored spectrograms A first matching unit for classifying a plurality of pixels;
Determining a temporal correlation of each patch of the query spectrogram and a patch of a preliminary spectrogram corresponding to a binary code of each patch of the query spectrogram with respect to each of the preliminary spectrograms, (Hereinafter referred to as 'candidate spectrogram') of the audio data by removing noise from the audio signal, And
A feature vector of each patch of the query spectrogram is matched with a feature vector of a patch of the query spectrogram whose distance is closest to the feature vector of each patch of the query spectrogram, It is judged that a candidate spectrogram having a predetermined number or more of the feature vectors of each patch and the temporal correlation between characteristic vectors matched with the feature vectors of the respective patches of the query spectrogram is equal to or greater than a preset reference value is matched with the query spectrogram The second matching unit
Wherein the audio data matching apparatus comprises:
제1항에 있어서,
상기 제1 매칭부는,
상기 질의 스펙트로그램의 각 패치의 이진코드와 상기 저장 스펙트로그램의 각 패치의 이진코드를 비교함에 있어, 서로 상이한 방법으로 생성된, 각 패치의 모든 이진코드가 서로 일치하는지를 비교하여 상기 예비 스펙트로그램을 분류하는 것을 특징으로 하는 오디오 데이터 매칭장치.
The method according to claim 1,
Wherein the first matching unit comprises:
Comparing the binary codes of each patch of the query spectrogram with the binary codes of the patches of the storage spectrogram to determine whether all the binary codes generated by the different methods match each other, The audio data matching apparatus comprising:
제1항에 있어서,
상기 시간적 상관도는,
상기 스펙트로그램 내에서의 기울기인 것을 특징으로 하는 오디오 데이터 매칭장치.
The method according to claim 1,
The temporal correlation may be expressed as:
Wherein the slope is a slope in the spectrogram.
제3항에 있어서,
상기 시간적 상관도 판단부는,
각 패치의 스펙트로그램 상의 좌표를 이용하여, 상기 질의 스펙트로그램의 각 패치와 상기 질의 스펙트로그램의 패치의 이진코드와 일치하는 예비 스펙트로그램의 각 패치 간 기울기를 측정하여, 각 패치 간 기울기의 차이가 기 설정된 수준 이상인 예비 스펙트로그램을 노이즈로 판단하는 것을 특징으로 하는 오디오 데이터 매칭장치.
The method of claim 3,
The temporal correlation determining unit may determine,
The slope between each patch of the preliminary spectrogram corresponding to the binary code of each patch of the query spectrogram and the patch of the query spectrogram is measured using the coordinates on the spectrogram of each patch, And judges the preliminary spectrogram having a predetermined level or higher as noise.
제1항에 있어서,
상기 제2 매칭부는,
서로 매칭되는 각 패치의 특징벡터 간 거리를 파악하여, 상기 각 패치의 특징벡터 간 거리가 기 설정된 기준치 이하인 패치의 특징벡터를 선별하는 것을 특징으로 하는 오디오 데이터 매칭장치.
The method according to claim 1,
Wherein the second matching unit comprises:
Wherein a distance between feature vectors of each patch matched with each other is determined and a feature vector of a patch whose distance between feature vectors of each patch is equal to or less than a preset reference value is selected.
제5항에 있어서,
상기 제2 매칭부는,
상기 질의 스펙트로그램의 각 패치의 특징벡터와 상기 질의 스펙트로그램의 각 패치의 특징벡터에 매칭되는 특징벡터 간 시간적 상관도를 판단함에 있어, 상기 각 패치의 특징벡터 간 거리가 기 설정된 기준치 이하인 패치의 특징벡터 간의 시간적 상관도만을 판단하는 것을 특징으로 하는 오디오 데이터 매칭장치.
6. The method of claim 5,
Wherein the second matching unit comprises:
Wherein in determining the temporal correlation between the feature vector of each patch of the query spectrogram and the feature vector of each patch of the query spectrogram, the distance between the feature vectors of the patches is equal to or less than a preset reference value And only the temporal correlation between the feature vectors is determined.
제6항에 있어서,
상기 제2 매칭부는,
상기 각 패치의 특징벡터 간 거리가 기 설정된 기준치 이하인 패치의 특징벡터의 개수가 기 설정된 수 이상이며, 상기 질의 스펙트로그램의 각 패치의 특징벡터와 상기 질의 스펙트로그램의 각 패치의 특징벡터에 매칭되는 특징벡터 간 시간적 상관도가 기 설정된 기준치 이상인 것의 개수가 기 설정된 개수 이상인 것을 모두 만족하는 후보 스펙트로그램을 상기 질의 스펙트로그램과 매칭되는 것으로 판단하는 것을 특징으로 하는 오디오 데이터 매칭장치.
The method according to claim 6,
Wherein the second matching unit comprises:
Wherein a number of feature vectors of a patch having a distance between feature vectors of the patches equal to or less than a preset reference value is equal to or greater than a predetermined number and a feature vector of each patch of the query spectrogram is matched with a feature vector of each patch of the query spectrogram Wherein the candidate spectrogram satisfying all of the number of the feature vectors whose temporal correlation between feature vectors is equal to or greater than a preset reference value is equal to or greater than a predetermined number is determined to be matched with the query spectrogram.
제1항에 있어서,
상기 제2 매칭부가 상기 질의 스펙트로그램과 매칭되는 것으로 판단한 후보 스펙트로그램(이하에서 '매칭 스펙트로그램'이라 약칭함)이 상기 질의 스펙트로그램과 실제 매칭되는지를 검증하는 검증부를 더 포함하는 것을 특징으로 하는 오디오 데이터 매칭장치.
The method according to claim 1,
And a verification unit for verifying whether the candidate spectrogram (hereinafter referred to as a 'matching spectrogram') that the second matching unit has determined to match the query spectrogram is actually matched with the query spectrogram Audio data matching device.
제8항에 있어서,
상기 검증부는,
상기 질의 스펙트로그램과 상기 매칭 스펙트로그램을 각각 기 설정된 크기를 갖는 윈도우로 분할하여, 상기 질의 스펙트로그램과 상기 매칭 스펙트로그램의 동일한 위치의 윈도우를 각각 비교하여 일치하는 부분이 존재하는지를 판단하는 것을 특징으로 하는 오디오 데이터 매칭장치.
9. The method of claim 8,
Wherein the verifying unit comprises:
The query spectrogram and the matching spectrogram are divided into windows each having a predetermined size to compare the query spectrogram and the window at the same position of the matching spectrogram to determine whether a matching portion exists. Lt; / RTI >
제9항에 있어서,
상기 검증부는,
상기 질의 스펙트로그램의 윈도우를 가로축 또는 세로축에, 상기 질의 스펙트로그램의 윈도우와 동일한 위치의 상기 매칭 스펙트로그램의 윈도우를 나머지 축에 배치한 후, 직선이 발생하는지 여부를 판단하는 것을 특징으로 하는 오디오 데이터 매칭장치.
10. The method of claim 9,
Wherein the verifying unit comprises:
Determining whether a straight line is generated after arranging the window of the query spectrogram on the horizontal axis or the vertical axis and the window of the matching spectrogram located on the same position as the window of the query spectrogram on the remaining axes, Matching device.
스펙트로그램(spectrogram)에서 기 설정된 주파수 간격 또는 기 설정된 시간 간격마다 기 설정된 넓이를 갖도록 추출된 패치(Patch)의 스펙트로그램 상의 좌표, 각 패치에 대하여 상기 패치 내에 포함된 각 픽셀들의 값을 기 설정된 기준에 따라 기 설정된 개수의 그룹으로 나누어 배열한 특징 벡터(Feature Vector), 상기 특징 벡터에 대하여 서로 상이한 방법으로 생성한 복수의 이진코드를 핑거프린트(fingerprint)로 갖는 오디오 데이터에 대하여, 상기 핑거프린트를 이용하여 질의(Query) 오디오 데이터를 데이터베이스에 저장된 오디오 데이터와 비교하여 매칭하는 방법에 있어서,
상기 질의 오디오 데이터의 스펙트로그램(이하에서 '질의 스펙트로그램'으로 약칭함)에서 추출된 각 패치의 이진코드와 상기 데이터베이스 내 저장된 모든 오디오 데이터의 스펙트로그램(이하에서 '저장 스펙트로그램'으로 약칭함)에서 추출된 각 패치의 이진코드를 비교하여, 상기 저장 스펙트로그램 중 상기 질의 스펙트로그램의 각 패치의 이진코드와 일치하는 이진코드를 갖는 패치를 모두 구비한 스펙트로그램(이하에서 '예비 스펙트로그램'으로 칭함)을 분류하는 제1 매칭과정;
상기 예비 스펙트로그램 각각에 대하여, 상기 질의 스펙트로그램의 각 패치와 상기 질의 스펙트로그램의 각 패치의 이진코드와 일치하는 예비 스펙트로그램의 각 패치의 시간적 상관도를 판단하여, 상기 예비 스펙트로그램 내에서 노이즈(Noise)를 제거하여 상기 노이즈가 아닌 오디오 데이터의 스펙트로그램(이하에서 '후보 스펙트로그램'으로 칭함)을 선별하는 시간적 상관도 판단 과정; 및
상기 후보 스펙트로그램의 각 패치의 특징벡터 중 상기 질의 스펙트로그램의 각 패치의 특징벡터와 거리가 가장 가까운 패치의 특징벡터들을 상기 질의 스펙트로그램의 각 패치의 특징벡터와 매칭하여, 상기 질의 스펙트로그램의 각 패치의 특징벡터와 상기 질의 스펙트로그램의 각 패치의 특징벡터에 매칭되는 특징벡터 간 시간적 상관도가 기 설정된 기준치 이상인 것의 개수가 기 설정된 개수 이상인 후보 스펙트로그램을 상기 질의 스펙트로그램과 매칭되는 것으로 판단하는 제2 매칭과정
을 포함하는 것을 특징으로 하는 오디오 데이터 매칭방법.
Coordinates on a spectrogram of a patch extracted so as to have a predetermined width at a predetermined frequency interval or a predetermined time interval in a spectrogram, values of respective pixels included in the patch for each patch, For each audio data having a plurality of binary codes generated in a manner different from each other with respect to the feature vector by a fingerprint, A method for comparing query audio data with audio data stored in a database,
(Hereinafter abbreviated as 'storage spectrogram') of all the audio data stored in the database and the binary code of each patch extracted from the spectrogram of the query audio data (abbreviated as 'query spectrogram' below) (Hereinafter, referred to as a " reserved spectrogram ") having all of patches having a binary code matching the binary code of each patch of the query spectrogram among the stored spectrograms Quot;);
Determining a temporal correlation of each patch of the query spectrogram and a patch of a preliminary spectrogram corresponding to a binary code of each patch of the query spectrogram with respect to each of the preliminary spectrograms, (Hereinafter, referred to as a 'candidate spectrogram') of audio data other than the noise by eliminating noise from the audio signal; And
A feature vector of each patch of the query spectrogram is matched with a feature vector of a patch of the query spectrogram whose distance is closest to the feature vector of each patch of the query spectrogram, It is judged that a candidate spectrogram having a predetermined number or more of the feature vectors of each patch and the temporal correlation between characteristic vectors matched with the feature vectors of the respective patches of the query spectrogram is equal to or greater than a preset reference value is matched with the query spectrogram The second matching process
The method of claim 1,
제11항에 있어서,
상기 제1 매칭과정은,
상기 질의 스펙트로그램의 각 패치의 이진코드와 상기 저장 스펙트로그램의 각 패치의 이진코드를 비교함에 있어, 서로 상이한 방법으로 생성된, 각 패치의 모든 이진코드가 서로 일치하는지를 비교하여 상기 예비 스펙트로그램을 분류하는 것을 특징으로 하는 오디오 데이터 매칭방법.
12. The method of claim 11,
The first matching process may include:
Comparing the binary codes of each patch of the query spectrogram with the binary codes of the patches of the storage spectrogram to determine whether all the binary codes generated by the different methods match each other, The audio data matching method comprising:
제11항에 있어서,
상기 시간적 상관도는,
상기 스펙트로그램 내에서의 기울기인 것을 특징으로 하는 오디오 데이터 매칭방법.
12. The method of claim 11,
The temporal correlation may be expressed as:
Wherein the slope is a slope in the spectrogram.
제13항에 있어서,
상기 시간적 상관도 판단과정은,
각 패치의 스펙트로그램 상의 좌표를 이용하여, 상기 질의 스펙트로그램의 각 패치와 상기 질의 스펙트로그램의 패치의 이진코드와 일치하는 예비 스펙트로그램의 각 패치 간 기울기를 측정하여, 각 패치 간 기울기의 차이가 기 설정된 수준 이상인 예비 스펙트로그램을 노이즈로 판단하는 것을 특징으로 하는 오디오 데이터 매칭방법.
14. The method of claim 13,
The temporal correlation determination process includes:
The slope between each patch of the preliminary spectrogram corresponding to the binary code of each patch of the query spectrogram and the patch of the query spectrogram is measured using the coordinates on the spectrogram of each patch, And determining a preliminary spectrogram having a predetermined level or higher as a noise.
제11항에 있어서,
상기 제2 매칭과정은,
서로 매칭되는 각 패치의 특징벡터 간 거리를 파악하여, 상기 각 패치의 특징벡터 간 거리가 기 설정된 기준치 이하인 패치의 특징벡터를 선별하는 것을 특징으로 하는 오디오 데이터 매칭방법.
12. The method of claim 11,
The second matching process includes:
Wherein a feature vector of a patch having a distance between the feature vectors of each patch is equal to or less than a predetermined reference value is selected by identifying the distance between feature vectors of each patch matched with each other.
제11항에 있어서,
상기 제2 매칭과정은,
상기 질의 스펙트로그램의 각 패치의 특징벡터와 상기 질의 스펙트로그램의 각 패치의 특징벡터에 매칭되는 특징벡터 간 시간적 상관도를 판단함에 있어, 상기 각 패치의 특징벡터 간 거리가 기 설정된 기준치 이하인 패치의 특징벡터 간의 시간적 상관도만을 판단하는 것을 특징으로 하는 오디오 데이터 매칭방법.
12. The method of claim 11,
The second matching process includes:
Wherein in determining the temporal correlation between the feature vector of each patch of the query spectrogram and the feature vector of each patch of the query spectrogram, the distance between the feature vectors of the patches is equal to or less than a preset reference value And only the temporal correlation between the feature vectors is determined.
제11항에 있어서,
상기 제2 매칭과정은,
상기 각 패치의 특징벡터 간 거리가 기 설정된 기준치 이하인 패치의 특징벡터의 개수가 기 설정된 수 이상이며, 상기 질의 스펙트로그램의 각 패치의 특징벡터와 상기 질의 스펙트로그램의 각 패치의 특징벡터에 매칭되는 특징벡터 간 시간적 상관도가 기 설정된 기준치 이상인 것의 개수가 기 설정된 개수 이상인 것을 모두 만족하는 후보 스펙트로그램을 상기 질의 스펙트로그램과 매칭되는 것으로 판단하는 것을 특징으로 하는 오디오 데이터 매칭방법.
12. The method of claim 11,
The second matching process includes:
Wherein a number of feature vectors of a patch having a distance between feature vectors of the patches equal to or less than a preset reference value is equal to or greater than a predetermined number and a feature vector of each patch of the query spectrogram is matched with a feature vector of each patch of the query spectrogram Wherein the candidate spectrogram satisfying all of the number of the feature vectors whose temporal correlation between feature vectors is equal to or greater than a preset reference value is greater than a predetermined number is determined to be matched with the query spectrogram.
제11항에 있어서,
상기 제2 매칭에서 상기 질의 스펙트로그램과 매칭되는 것으로 판단된 후보 스펙트로그램(이하에서 '매칭 스펙트로그램'이라 약칭함)이 상기 질의 스펙트로그램과 실제 매칭되는지를 검증하는 검증과정을 더 포함하는 것을 특징으로 하는 오디오 데이터 매칭방법.
12. The method of claim 11,
And a verification step of verifying whether a candidate spectrogram (hereinafter referred to as a 'matching spectrogram') determined to match the query spectrogram in the second matching actually matches the query spectrogram in the second matching To the audio data.
KR1020170027202A 2017-03-02 2017-03-02 Method and Apparatus for Identifying Audio Fingerprint KR101841983B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170027202A KR101841983B1 (en) 2017-03-02 2017-03-02 Method and Apparatus for Identifying Audio Fingerprint

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170027202A KR101841983B1 (en) 2017-03-02 2017-03-02 Method and Apparatus for Identifying Audio Fingerprint

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020160114523A Division KR101841985B1 (en) 2016-09-06 2016-09-06 Method and Apparatus for Extracting Audio Fingerprint

Publications (2)

Publication Number Publication Date
KR20180027316A KR20180027316A (en) 2018-03-14
KR101841983B1 true KR101841983B1 (en) 2018-05-14

Family

ID=61660681

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170027202A KR101841983B1 (en) 2017-03-02 2017-03-02 Method and Apparatus for Identifying Audio Fingerprint

Country Status (1)

Country Link
KR (1) KR101841983B1 (en)

Also Published As

Publication number Publication date
KR20180027316A (en) 2018-03-14

Similar Documents

Publication Publication Date Title
KR101841985B1 (en) Method and Apparatus for Extracting Audio Fingerprint
US11361017B1 (en) Method to differentiate and classify fingerprints using fingerprint neighborhood analysis
US8385644B2 (en) Digital video fingerprinting based on resultant weighted gradient orientation computation
US8433108B2 (en) Video fingerprinting
US8335786B2 (en) Multi-media content identification using multi-level content signature correlation and fast similarity search
Miller et al. Audio fingerprinting: nearest neighbor search in high dimensional binary spaces
CN106484837B (en) Method and device for detecting similar video files
KR100671772B1 (en) Method and apparatus for video copy detection
US10127309B2 (en) Audio information retrieval method and device
EP2657884B1 (en) Identifying multimedia objects based on multimedia fingerprint
US20160247512A1 (en) Method and apparatus for generating fingerprint of an audio signal
JP2010537585A (en) Detect and classify matches between time-based media
Saracoglu et al. Content based copy detection with coarse audio-visual fingerprints
KR20140058643A (en) Apparatus and method for robust low-complexity video fingerprinting
CN109117622B (en) Identity authentication method based on audio fingerprints
US8699851B2 (en) Video identification
Mou et al. Content-based copy detection through multimodal feature representation and temporal pyramid matching
JP6462111B2 (en) Method and apparatus for generating a fingerprint of an information signal
KR101841983B1 (en) Method and Apparatus for Identifying Audio Fingerprint
KR100734857B1 (en) Method for verifying iris using CPAChange Point Analysis based on cumulative sum and apparatus thereof
CN114817518B (en) License handling method, system and medium based on big data archive identification
CN114120309A (en) Instrument reading identification method and device and computer equipment
CN114048344A (en) Similar face searching method, device, equipment and readable storage medium
CN113743387B (en) Video pedestrian re-identification method and device, electronic equipment and readable storage medium
CN117540038B (en) Intelligent detection false data synthesis method and system

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant