KR20050039544A - 오디오 복제 검출기 - Google Patents

오디오 복제 검출기

Info

Publication number
KR20050039544A
KR20050039544A KR1020040070895A KR20040070895A KR20050039544A KR 20050039544 A KR20050039544 A KR 20050039544A KR 1020040070895 A KR1020040070895 A KR 1020040070895A KR 20040070895 A KR20040070895 A KR 20040070895A KR 20050039544 A KR20050039544 A KR 20050039544A
Authority
KR
South Korea
Prior art keywords
audio
files
file
fingerprints
detector
Prior art date
Application number
KR1020040070895A
Other languages
English (en)
Other versions
KR101109303B1 (ko
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 마이크로소프트 코포레이션
Publication of KR20050039544A publication Critical patent/KR20050039544A/ko
Application granted granted Critical
Publication of KR101109303B1 publication Critical patent/KR101109303B1/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/632Query formulation
    • G06F16/634Query by example, e.g. query by humming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/683Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0033Recording/reproducing or transmission of music for electrophonic musical instruments
    • G10H1/0041Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/011Files or data streams containing coded musical information, e.g. for transmission
    • G10H2240/046File format, i.e. specific or non-standard musical file format used in or adapted for electrophonic musical instruments, e.g. in wavetables
    • G10H2240/061MP3, i.e. MPEG-1 or MPEG-2 Audio Layer III, lossy audio compression
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/121Musical libraries, i.e. musical databases indexed by musical parameters, wavetables, indexing schemes using musical parameters, musical rule bases or knowledge bases, e.g. for automatic composing methods
    • G10H2240/155Library update, i.e. making or modifying a musical database using musical parameters as indices
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/131Mathematical functions for musical analysis, processing, synthesis or composition
    • G10H2250/215Transforms, i.e. mathematical transforms into domains appropriate for musical signal processing, coding or compression
    • G10H2250/221Cosine transform; DCT [discrete cosine transform], e.g. for use in lossy audio compression such as MP3

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Mathematical Physics (AREA)
  • Acoustics & Sound (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Abstract

본 발명은 데이타베이스 내에 상주하는 오디오 파일들의 자동 관리 및 제거를 용이하게 하기 위한 시스템 및 방법에 관한 것이다. 오디오 핑거프린트는 핑거프린트들의 데이타베이스를 이용하여, 스트리밍 또는 파일기반 오디오를 식별하기 위한 강렬한 도구이다. 복제 검출기는 클립들이 압축 품질이나 기간 상의 차이가 있을지라도 한 세트 내의 복제 오디오 클립들을 식별한다. 본 발명은 핑거프린트들의 외부 데이타베이스를 필요로 하지 않는 내장 애플리케이션으로서 제공될 수 있다. 또한, 사용자 인터페이스는 오디오 파일들을 관리하고 제거하기 위한 다양한 옵션들을 제공한다.

Description

오디오 복제 검출기{AUDIO DUPLICATE DETECTOR}
<관련 출원>
본 출원은 2003년 10월 24일 출원된 미국 가특허출원 제60/514,490호, "DUPLICATE DETECTION AND AUDIO THUMBNAILS WITH AUDIO FINGERPRINTING"에 대해 우선권을 주장한다.
본 발명은 일반적으로는 컴퓨터 시스템에 관한 것이고, 보다 구체적으로는 오디오 핑거프린트(audio fingerprints)를 이용하여 여분의 혹은 변형된(corrupted) 오디오 파일을 자동으로 관리하는 시스템 및 방법에 관한 것이다.
많은 현대의 소프트웨어 시스템에 의해 지원되는 현재의 기능들 중 하나로 오디오 파일을 저장 및 재생하는 능력이 있다. 이러한 시스템들 중 많은 시스템은 사용자가 오디오 파일들의 상이한 콜렉션들을 저장하고 관리할 수 있도록 한다. 그러나 시간이 경과함에 따라, 많은 사용자들은 많은 양의 저장 공간을 불가피하게 차지하는 많은 수의 파일들로 인해 좌절하게 된다. 또한, 콜렉션들이 커짐에 따라, 원하는 오디오 정보를 검색하고 재생하는 것이 더욱 어렵게 되고 시간을 소모하게 되고 있다. 많은 시스템들이 사용자가 이러한 증가하는 양의 오디오 정보를 관리하는 것을 돕는 소프트웨어를 제공하고 있다. 예를 들어, 이러한 시스템들에는 MP3, OGG(Ogg Vorbis), WMA(Windows Media Audio), MPC, MP+ 파일 등을 포함하는 대중화된 오디오 파일 형식들을 지원하는 오디오 관리기를 포함한다. 이는 사용자가 그들의 전체 오디오 파일 콜렉션을 목록화하고 즉시 좋아하는 노래를 찾고, 섬네일로서 앨범 커버를 이용하여 앨범들을 브라우징하고, 리포트를 생성하며, 다른 유용한 기능들을 가능하게 한다.
오디오 파일을 조직화하는 것 외에, 이러한 시스템들은 태그를 편집하고, 이름을 변경하고, 가사를 편집하고, CD를 생성하고, 가수의 정보를 찾는 등에 의해 파일을 관리하는 기능들의 세트를 제공한다. 사용자들은 하드 디스크, CD-ROM, 네트워크 드라이브, ZIP 드라이브나 임의의 분리형 매체에 저장된 오디와 파일을 가지고 작업을 할 수 있다. 이는 사용자가 다수의 재생 리스트를 재생하고 각 제목과 관련된 화상을 디스플레이하도록 하는 도구를 포함한다. 추가적인 기능으로, 자동으로 생성된 데이타베이스 통계, 개인적 등급, 장르, 분위기, 연도, 및 주문자 데이타베이스 질의에 의한 소팅이 포함된다.
오디오 핑거프린팅(AFP:audio fingerprinting)은 최근 스트림이나 파일로 된 오디오를 식별하기 위한 강력한 도구로서 등장하였다. 현재 몇몇 회사들이 오디오 핑거프린팅에 기초하여 음악 서비스를 제공하고 있다. 이러한 서비스들은 오디오에서 추출되는 하나 이상의 핑거프린트가 식별되고, 이러한 핑거프린트들이 사전 계산된 핑거프린트들의 대형 데이타베이스에 대해서 체크되는 것을 요구한다.
그러나, (섬네일(thumnail)이 사용될 수 있는 화상과는 반대로) 오디오 파일을 신속히 분석하는 것이 현재는 가능하지 않기 때문에, 큰 오디오 콜렉션들을 관리하는 것은 힘들다. 사용자는 일반적으로 라벨링에 의존해야 하지만, 그것조차도 제한적으로 도움이 될 뿐이다: 흔히 라벨링은 정확하지 않지만, 정확한 라벨링을 하더라도 일반적인 PC 콜렉션에서 복제 오디오 파일들을 식별하는 것은 극히 시간을 소모하는 것이다. 따라서, 복제 오디오 파일 및/또는 노이즈를 포함하거나 사용자의 PC나 다른 매체 장치 상에서 기타의 문제들을 갖는 오디오 파일들을 자동으로 식별하고, 사용자가 오디오 파일들을 보다 효과적으로 관리하도록 하는 는 시스템 및 방법이 필요하다.
본 발명의 일부 측면들에 대한 기본적인 이해를 제공하기 위하여 이하에 본 발명의 간단한 요약을 제공한다. 이 요약은 본 발명의 포괄적인 개관이 아니다. 본 발명의 중요한/핵심적인 엘리먼트들을 구별하거나 발명의 범위를 규정하려고 하는 것은 아니다. 그 유일한 목적은 이후에 기술될 상세한 설명에 대한 서론으로서 본 발명의 일부 개념들을 간단한 형태로 제공하는 것이다.
본 발명은 복제 또는 변형된 오디오 파일들을 검출하여 그러한 파일들의 관리 및 제거를 용이하게 하기 위한 시스템 및 방법에 관한 것이다. 큰 오디오 콜렉션을 관리하는 것은 화상이나 텍스트와 비교해서, 예컨대 큰 오디오 파일들을 쉽게 분석하는 거이 문제가 되기 때문에 힘든다. 과거에, 사용자들은 부정확한 라벨링에 의존하였다. 본 발명은 오디오 파일을 검색하고, 서로 복제가 되는 파일들을 식별하고, 변형된, 노이즈가 있는, 혹은 정크 파일들을 식별하고, 그러한 파일들을 사용자의 데이타베이스에서 제거하도록 하는 것을 돕기 위한 도구를 제공함으로써 종래의 시스템의 단점과 문제점을 해소한다. 일측면에서, 사용자는 시스템에 두개의 파라미터(핑거프린트를 추출하기 위한 오디오의 시작부로부터의 초(seconds)(t), 및 슬롭 윈도우(slop windsow)의 크기(s))를 제공한다. 본 발명은 사용자의 오디오 파일들을 위치시키고 부분적으로 (t)와 (s)에 기초하여 핑거프린트를 계산한다. 사용자가 자동으로 결정된 복제 파일이나 변형된 파일을 제거하도록 하면서, 이러한 파라미터들과 다른 파라미터들을 구성하도록 사용자 인터페이스가 제공된다.
본 발명의 일측면에서, 오디오 복제 검출 시스템은 복제 검출기에 의해 처리되는 오디오 파일들에 대한 데이타베이스를 포함하도록 제공된다. 복제 검출기는 예컨대 복제 오디오 파일이 존재하는지 혹은 파일이 변형되었는지와 같은 특징들을 결정하기 위하여 오디오 파일들을 처리하는 분석기로부터의 중간 결과를 보유하기 위한 하나 이상의 내부 데이타베이스를 포함한다. 핑거프린트 콤포넌트 및 정규화(normalization) 콤포넌트가 분석기 내에서 동작하여 오디오 파일들의 부분들이 다른 파일들의 복제인지를 결정하여, 매치 검출기가 그러한 부분들을 복제(혹은 변형 파일이나 정크 파일과 같은 일부 다른 명칭)로 태그를 단다. 사용자 인터페이스는 사용자가 시스템 파라미터들(예컨대, 검출 분석 파라미터)를 입력하고 그중에 제거할 파일들을 선택하도록 하는 입력수단을 포함한다. 인터페이스로부터의 출력은 사용자의 데이타베이스로부터 제거하기 위한 오디오 파일 리스트과 시스템 구성 옵션들을 포함할 수 있다.
일반적으로, 사용자는 데이타베이스에서 선택을 하기 위한 최상위 레벨의 디렉토리('루트'라고 함)를 선택한 다음, 사용자 인터페이스를 통하여 검출기를 개시한다. 전형적으로 사용자는 두 개(또는 그 이상)의 파라미터를 시스템에 제공하는데: 각 핑거프린트를 추출하기 위한 오디오 파일내의 초(T), 및 사용하는 '슬롭 윈도우'의 크기(S)(여기서 S도 초 단위로 측정됨)이다. 검출기는 그 다음 루트 디렉토리로부터 서브디렉토리 아래로 검색을 시작하여, 확장자로 식별되는 오디오 파일들을 검색한다. 검출기가 오디오 파일을 발견하면, 그 파일을 로드하고 그 파일내의 T-S초에서 시작하여 그 파일내의 T+S초에서 끝나는 일련의 핑거프린트들을 계산해 낸다. 그러한 핑거프린트들 중 아무것도 이미 데이타베이스 내에 있는 핑거프린트와 매치하지 않으면, 그 파일내의 T초에서 계산된 핑거프린트가 데이타베이스에 추가된다. 이러한 방식으로, 오디오 파일은 (매치가 발견되지 않으면) 데이타베이스에 단일한 핑거프린트를 추가하거나, (매치가 발견되면) 데이타베이스로 핑거프린트가 추가되지 않도록 할 것이다. 일례에서, 핑거프린트는 오디오의 6초에서 생성되고, 64 부동 소수점 수(floating point number)로 구성되며, 정규화 인자(역시 부동 소수점 수)를 갖는다. 알 수 있는 바와 같이, 다른 시간치들과 부동 소수점 변수가 이용될 수 있다.
이상과 관련 목적들을 달성하기 위하여, 본 발명의 일부 예시적인 측면들이 이하의 상세한 설명과 첨부된 도면과 함께 기술된다. 이러한 측면들은 모두 본 발명에 포함되는 본 발명이 실시되는 다양한 방식을 나타내는 것이다. 본 발명의 다른 장점들과 신규한 특징들은 도면과 함께 이하의 발명의 상세한 설명으로부터 명백해질 것이다.
본 발명은 데이타베이스 내의 복제 및/또는 변형된 오디오 파일의 자동 검출을 용이하게 하는 시스템 및 방법에 관한 것이다. 검출시, 원하면, 데이타베이스로부터 연속적으로 제거되도록 파일에 태그를 달 수 있다. 일측면에서, 오디오 정보를 관리하기 위한 시스템은 오디오 파일의 부분들을 식별하기 위한 핑거프린팅 콤포넌트를 포함한다. 검출기는 오디오 파일들 간에 결정된 소정의 비용에 기초하여 데이타 저장장치로부터 장래에 제거하기 위하여 하나 이상의 오디오 파일에 태그를 단다. 검출기는 비용이 소정의 임계값 이하가 되는지 혹은 최저 비용 분석에 기초하여 오디오 파일들에 태그를 달 수 있다. 다른 측면에서, 사용자 인터페이스는 오디오 파일들의 관리를 제공한다. 이 인터페이스는 데이타베이스로부터 제거용 잠재적 오디오 파일들에 하나 이상의 옵션을 제공하는 디스플레이 콤포넌트와 이 옵션들을 선택하고 제거용 잠재적인 오디오 파일을 결정하는 자동 오디오 프루닝(pruning) 콤포넌트를 구성하는 입력 콤포넌트를 포함한다.
본 출원에서 사용되는 용어 "콤포넌트", "오브젝트", "검출기", "시스템" 등은 컴퓨터 관련 엔티티를 말하는 것으로, 하드웨어나 하드웨어와 소프트웨어의 조합, 소프트웨어, 혹은 실행 중인 소프트웨어가 될 수 있다. 예를 들어, 콤포넌트는 프로세서에서 구동하는 프로세스, 프로세서, 오브젝트, 실행가능한, 실행 스레드, 프로그램, 및/또는 컴퓨터가 될 수 있으며, 이에 한정되지 않는다. 예를 들어, 서버에서 구동하는 애플리케이션과 서버 모두가 콤포넌트가 될 수 있다. 하나 이상의 콤포넌트가 프로세서 및/또는 실행 스레드 내에 상주할 수 있고 콤포넌트는 하나 이상의 컴퓨터에 위치하거나 및/또는 둘 이상의 컴퓨터 간에 분산될 수 있다. 또한, 이러한 콤포넌트들은 다양한 데이타 구조가 저장된 다양한 컴퓨터 판독가능한 매체로부터 실행될 수 있다. 이 콤포넌트들은 하나 이상의 데이타 패킷(예컨대, 로컬 시스템, 분산 시스템의 다른 콤포넌트와, 및/또는 인터넷과 같은 네트워크를 통해 신호를 통한 다른 시스템과 상호작용하는 한 콤포넌트로부터의 데이타)을 갖는 신호에 따라서와 같이 로컬 및/또는 원격 프로세스를 통해 통신할 수 있다.
도 1로 다시 돌아가면, 본 발명의 일측면에 따른 오디오 복제 검출기 시스템(100)이 도시된다. 이 시스템(100)은 복제 검출기(120)에 의해 처리되는 오디오 파일의 데이타베이스(110)를 포함한다. 복제 검출기는 예컨대, 복제 오디오 파일이 존재하는지 또는 파일이 변형되었는지와 같은 특징들을 결정하기 위해 오디오 파일들을 처리하는 분석기(140)로부터 나오는 중간 결과들을 보유하기 위한 하나 이상의 내부 데이타베이스(124, 130)를 포함한다. 핑거프린트 콤포넌트와 정규화 콤포넌트가 분석기(140) 내에서 오디오 파일들의 부분들이 다른 파일의 복제인지를 결정하도록 동작하고, 여기서 매치 검출기는 복제(또는 변형 파일이나 정크 파일과 같은 일부 다른 표시)와 같은 부분들에 태그를 단다. 사용자 인터페이스(150)은 사용자가 시스템 파라미터(예컨대, 검출 분석 파라미터)를 입력하고 무엇보다도 제거용 파일들을 선택할 수 있도록 하기 위한 입력을 포함한다. 인터페이스(150)으로부터의 출력은 제거용 오디오 파일 리스트과 예컨대, 시스템(100)에 대한 구성 옵션을 포함할 수 있다.
일측면에서, 핑거프린트 콤포넌트는 이하에 보다 상세히 기술되는 RARE(Robust Audio Recognition Engine)을 이용한다. 일반적으로, 사용자는 데이타베이스(110)에서 검색할 최상위 레벨의 디렉토리("루트"라고 함)를 선택한 뒤, 사용자 인터페이스(150)을 통해 검출기(120)를 개시한다. 전형적으로, 사용자는 두 개(혹은 그 이상)의 파라미터: 각 핑거프린트를 추출하기 위해 얼마나 많은 초(T)가 오디오 파일에 들어가는가와, 사용할 "슬롭 윈도우(slop window)"의 크기(여기서 S도 이하에 초단위로 측정되고 이하에 기술됨)를 시스템에 공급한다. 검출기(120)는 그 다음 루트 디렉토리로부터 서브디렉토리로 검색을 하고, 그 확장자(예컨대, MP3, WMA, WAV 파일)로 식별되는 오디오 파일을 검색한다. 검출기(120)가 오디오 파일을 찾으면, 검출기는 그 파일을 로드하고 그 파일내의 T-S 초에서 시작하여 그 파일내의 T+S초에서 끝나는 일련의 핑거프린트를 계산한다. 일례에서, 핑거프린트는 오디오의 6초에서 생성되고, 정규화 인자(역시 부동 소수점 수인)와 함께 64 부동 소수점 수로 구성되도록 계산된다. 예측할 수 있는 바와 같이, 다른 시간값들과 부동 소수점 변수가 이용될 수 있다.
상기 기술된 바와 같이, 검출기(120)는 DB1, DB2라고도 하는 적어도 두개의 내부 데이타베이스(124, 130)를 이용한다. 본 기술분야에서 공지된 바와 같이, 이들 데이타베이스는 분리된 데이타베이스일 필요는 없다. 이들은 동일한 데이타베이스 내의 두개의 표가 될 수 있거나 데이타베이스 소프트웨어 필요없이 C++과 같은 표준 소프트웨어로도 구현될 수 있다. DB1에서, 기록은 일반적으로 두 개의 오브젝트: 핑거프린트 및 관련 정규화로 구성된다. DB2에서, 기록은 일반적으로 세 개의 오브젝트: 파일명(일반적으로 파일명은 전체 경로명과 파일 이름을 포함하는 것으로 가정한다), ID 지수라고 하는 관련 지수, 및 '오프셋'과 '거리'라고 하는 두 개의 관련 출력 파라미터로 구성된다.
ID 지수의 하나의 목적은 복제로 식별되는 파일들을 추적하는 것이다: 만일, 오디오 파일들의 프로세싱 후, 두 파일이 동일한 ID 지수를 갖는다면, 그것들은 복제라고 식별되고, 그에 반해 그것들이 상이한 ID 지수를 갖고 있다면, 복제가 아니라고 식별된다. 이러한 데이타베이스들은 외부 데이타베이스도 이용될 수 있겠지만 일반적으로 시스템 내부에 있다. 또한, 검출기가 보통 핑거프린트를 계산하기 위해 약 2MB의 데이타베이스를 로드할지라도, 검출기(120)은 동작을 위해 핑거프린트의 외부 데이타베이스를 필요로 하지 않는다.
제1 오디오 파일이 로드될 때, 위치 T에서 시작하는 핑거프린트가 계산되고 저장되며, 그 파일의 이름과 위치가 역시 저장된다. 일반적으로, 모든 파일들의 핑거프린트가 저장되지는 않을지라도, 로드된 모든 파일들의 핑거프린트는 계산되고, 그 이름과 위치가 저장된다. 제2 오디오 파일이 로드될 때, 핑거프린트가 그 파일의 T-S 위치에서 계산되고, 이 핑거프린트는 제1 파일로부터 계산된 핑거프린트에 대해 비교된다. 매치가 있으면, 검출기(120)는 동일한 수자에 ID 지수를 설정함으로써(처리된 제1 파일은 ID 지수를 0으로 설정) 두개의 파일이 동일한 오디오를 포함한다는 것을 인식하고, 그 다음에 검출기는 다음 파일로 이동한다. 매치가 없으면, 검출기는 파일내 T-S+D 초(여기서, D는 단위 크기(예컨대, D=186ms)이다)에서 시작하여 제2 파일에 대한 핑거프린트를 계산한다.
상기 검토 결과, 이 파일들 중 하나 또는 둘 다의 개시부가 소실되더라도 오디오 파일은 복제로 식별될 수 있다. 오디오 파일에 대한 핑거프린트 F가 데이타베이스 내에 있고, F에 대해 새로운 파일이 테스트되면, 그 윈도우 내에서 계산된 (파일내 T-S에서 시작하고 파일내 T+S에서 끝나는) 단 하나의 핑거프린트만이 매치가 선언되기 위하여 매치 F가 필요하다. 파라미터 S는 사용자가 이 오디오 파일들 중 하나 또는 둘 다의 개시부의 제거에 대해 강함에 대한 복제 검출의 속도의 균형을 잡을 수 있도록 사용자 선택될 수 있다. 다음과 같은 비교를 정렬함으로써 속도도 더욱 증대될 수 있다: 핑거프린트의 데이타베이스에 대해 그 파일내의 T초에서 계산된 핑거프린트를 먼저 체크한 다음, T-D초에 체크하고, 그 다음 T+D초, 그 다음 T-2D, 그 다음 T+2D 등에, 전체 윈도우가 체크될 때까지 (2S초 동안) 체크된다. 이러한 방식으로 가장 가능성 있는 매치 위치가 먼저 체크되고, 매치가 발견될 때 슬롭 윈도우 상에서 핑거프린팅을 끝내어("이하, '베일링(bailing)'이라 함), 프로세스를 가속화한다.
상기 프로세스는 매치가 발견될 때까지 혹은 슬롭 윈도우 내의 모든 핑거프린트가 계산될 때까지(즉, 제2 파일에서 T+S초에 시작하는 것들을 통해 T-S초에 시작하는 핑거프린트) 계산된다. 매치가 발견되면, 검출기는 파일 2로의 ID 지수를 DB2의 파일 1의 것(이 경우, 0)과 동일하게 설정함으로써 파일 2가 파일 1의 복제라는 플래그를 설정하고, "베일링"(파일 2의 프로세싱을 중지)한다. 매치가 발견되지 않으면, 검출기는:
(1) 제2 파일내의 T초에서 (이미 계산된) 핑거프린트를 DB1에 추가하고;
(2) 대응하는 정규화를 계산 및 저장하고, 그 데이타를 역시 DB1에 저장하고:
(3) 그 ID 지수를 id_index_max로 설정하고, DB2에 그것을 저장하고;
(4) counter id_index_max를 증분한다. id_index_max는 일반적으로 0으로 초기화된다. 이러한 방식으로, id_index_max는 실질적으로 지금까지 발견되는 구별되는 오디오 클립의 총 수이다.
본 발명의 다른 측면에 있어서, 베일링 대신에, 검출기(120)는 제2 파일에서 최적의 매칭 위치를 찾기 위하여, 슬롭 윈도우의 모든 핑거프린트들을 계산하고 비교한다. 예를 들어, 제2 파일 내의 세번째로 계산된 핑거프린트가 제1 파일의 핑거프린트와 매치하더라도, 뒤이은 핑거프린트가 더 좋은 매치를 나타내고, 따라서 슬롭 윈도우 내의 모든 핑거프린트가 최적의 매치를 발견하기 위하여 계산된다. 이는 제2 파일 내에서 기대되었던 곳에서 그 핑거프린트가 얼마나 멀리 있었는지를 계산하기 위하여 유용하다. 이 분석은 대신에 하나의 파일이 다른 것에 대하여, 오디오의 개시부에서 클립되었는지를 나타내고 폐기된 오디오의 지속기간을 제공한다. 이러한 관점에서, DB2에 저장된 두 출력 파라미터 중 하나는 최적의 매칭을 하는 핑거프린트가 발견되었던 곳과, 클리핑이 없었던 곳 간의 사이 동안을 초로 나타낸 것이다. 또한, 이 측면에서, 매치가 발견되면 DB2에 제2 파라미터: 최적의 매치와 관련된 '거리'가 저장된다. 이 거리는 비교되는 두 핑거프린트들이 얼마나 다른가의 척도이며(두 핑거프린트가 동일하다면 0이다), 따라서 매칭된 두 오디오 파일이 얼마나 다른지에 대한 척도로서 사용될 수 있다. 예를 들어, 두 매칭된 파일이 동일한 노래의 리믹스가 될 수도 있고, 그 거리는 따라서 임계값 이하이지만 상당히 큰 것이 될 수 있다.
베일링이 이용되든 안되든지에 관계없이, 검출기(120)는 저장되고 계산된 핑거프린트들 간의 거리에 기초하여 매치를 선언할 것인지를 결정한다. 거리가 고정된 임계값 이하로 떨어지면, 매치가 선언되고, 다른 측면에서, 최하의 이러한 거리(데이타베이스 내의 모든 핑거프린트들과 슬롭 윈도우 내의 모든 핑거프린트를 비교함으로써 계산된 거리)가 DB2에 저장된다. 오프셋과 거리가 항상 계산을 수행하기 보다는 다른 루틴에서 계산되는 이유는, 그렇게 하기 위해서는, 슬롭 윈도우 내의 모든 핑거프린트들이 계산되고 비교되어야 하므로, 이러한 양들을 계산하는 것이 보다 계산상 고가이기 (따라서 보다 느리기) 때문이다. 베일링이 이용되는 본 발명의 제1 측면에서는, 매치가 발견되면, 검출기가 베일링할 수 있다는 것이다. 관련 거리 및 오프셋이 이 경우에도 저장될 수 있지만, 그 정보는 덜 유용할 것인데, 이러한 방식으로 계산된 오프셋은 실제 오프셋에 대한 대략적인 추측이고, 이러한 방식으로 계산된 거리는 실제 (최소) 거리의 상한일 뿐이기 때문이다.
이상의 뒤에, 그 다음 검출기는 사용자에 의해 선택된 디렉토리 트리 내의 모든 오디오 파일들에 대해 동일한 방식으로 반복을 한다. 즉, 각 오디오 파일이 로드되고, 그 핑거프린트들이 슬로프 윈도우 내에서 계산되고, 이러한 핑거프린트의 임의의 것이 이미 DB1에 있는 임의의 것과 매칭되면, 매칭이 선언되고 상기와 같이 저장되며, 그렇지 않으면, 오디오 클립이 지금까지 로드된 모든 오디오 클립으로부터 먼 거리에 있는 것으로 선언되고, (T 초에서 계산된) 그 핑거프린트가 DB1에 저장되고, 그 ID 지수가 DB2의 id_index_max로 설정되고 id_index_max는 또한 증분된다. 또한, 로드될 다른 오디오 클립들에 대응하는 핑거프린트들과 비교하여, 오디오 파일 정규화가 계산되고 DB1에 저장된다. 이러한 방식으로, 각 파일이 단 한번만 로드되고, 그 파일들을 처리하는데 하나의 경로만이 필요하다. 파일들이 처리된 후, DB2가 복제 파일 리스트를 사용자 인터페이스(160)에 출력하는데 사용된다. 이를 달성하는 한가지 방법은 모든 파일명들을 프린트하는 것인데, 여기서 파일명들 간의 '공백선이 없음(no blank lines)'은 그것들이 복제라는 것을 나타내고 공백선은 공백선 위아래의 파일이 복제가 아니라는 것을 나타낸다. 상기 기술한 다른 측면에서, 각 프린트된 파일명에는 대응하는 거리 및 오프셋(복제 리스트 내 제1 파일에 대해서는 모두 0)이 뒤따른다.
이제 도 2를 참조하면, 복제 프로세서(200) 및 관련 프로세싱 측면들이 본 발명에 따라 도시된다. 복제 프로세서(200)는 오디오 파일 관리를 용이하게 하기 위해 도 1에 관하여 이전에 기술된 것보다 오디오 파일들을 더 처리하는 것을 포함한다. 이는 210에서 검출된 오류 조건들을 플래깅하는 것과 220에서 이러한 오류들과 관련된 파일들을 리스트화하는 것을 포함한다. 파일을 로드하려고 시도할 때, 파일이 판독될 수 없거나, 헤더가 그 오디오 파일에서 기대했던 것과 일치하지 않거나, 어떤 다른 오류 조건이 발생하면, 프로세서(200)는 단지 그 파일에 대한 오류 조건의 노트를 만들고 다음 파일로 이동한다. 그 다음, 파일 처리가 완료되면, 시스템은 만나는 파일을 처리할 수 없는 이유(예컨대, "지원되지 않는 샘플링 레이트", 혹은 "DRM 제약으로 인해 오픈할 수 없음")와 함께, 그 파일들의 이름들을 먼저 출력한다. 이 리스트는 220에서 "변형된 파일"이라는 단일한 블럭에서 출력될 수 있다.
오디오로서 성공적으로 로드된, 그러나 예컨대 노이즈나 일부 다른 결함을 갖는 파일들에 다른 유용한 기능이 적용된다. 각 파일에 대해, 다른 처리가 가해지기 전에, 그 파일에서 추출된 핑거프린트가 230에서 "비토(veto)" 핑거프린트 리스트와 비교되는데, 이들은 이전에 핑거프린트들을 계산하고 백색 노이즈와 같은 일부 특수한 형식의 오디오나 입력이 없을 때 다양한 사운드 카드로부터 기록된 것에 대해 정규화함으로써 계산된 것들이다. 문제의 파일에 대한 핑거프린트가 이러한 "비토 핑거프린트" 중 임의의 것과 매치하면, 그 파일은 "정크(junk)"라고 하고, 그렇게 플래그될 수 있다. 다시, 오디오 파일들의 처리가 완료되면, 이러한 "정크" 파일들은 240에서 "정크 파일"이라고 하는 하나의 블럭 내에 리스트화될 수 있다. 이러한 방식으로, 시스템은 복제를 발견할 뿐만 아니라, 사용자가 체크하고 아마도 삭제하기를 원하는 것일 다른 파일들을 식별할 수 있다.
도 3으로 돌아가면, 사용자 인터페이스 프로세싱(300)이 본 발명의 일측면에 따라 도시된다. 주어진 파일에 대해 복제나 변형이 발견되면, 시스템은 복제를 비교하고, 사용자에게 사용자 인터페이스(310)를 통해 유지하는 다양한 옵션들을 제공하려고 할 수 있다. 삭제를 위한 사용자 인터페이스(310)는 둘 이상의 단계로 나뉠 수 있다. 320의 단계1에서, 삭제 가능한 파일들이 정렬되고, 330의 단계2에서 실제로 삭제될 각 파일들을 사용자가 선택한다.
320의 단계1에 관하여, 본 발명은, (1) 340에서 품질 비교에 기초하여 하나 이상의 복제를 보유하는 능력을 사용자에게 제공하고; (2) 350에서 그들이 사용하는 인코딩에 기초하여 파일들에 선취 처리(preferential treatment)를 하고; 및/또는 (3) 360에서 디지탈 권한 관리에 기초하여 선취 처리를 할 수 있다. 예를 들어, 품질 비교(340)시: 두 파일들이 동일한 인코딩 형식을 가지고(예컨대, 모두, WMA이거나 모두 MP3), 상이한 비트 레이트들을 갖지만, 그 밖에는 유사하다면, 보다 놓은 비트 레이트(따라서 보다 높은 품질)의 파일이 저장된다(즉, 다른 파일은 삭제 가능 리스트에 정렬된다). 유사하게, 두 파일들이 동일한 인코딩 형식을 갖고, 하나가 다른 것 보다 긴 지속시간을 갖는 것만 제외하면 모두 유사하다면, 보다 긴 지속시간을 갖는 파일이 저장될 수 있다(삭제된 파일은 보통 클립된 파일일 것이다). 일반적으로, 두 파일들이 한가지만 제외하고 모든 면에서 유사하다면, 낮은 품질의 파일이 제거 가능한 것으로 선택될 것이다. 그와 달리, 사용자의 주된 목적이 디스크 공간을 증가하기 위한 것이라면, 사용자는 보다 낮은 품질의, 그러나 보다 적은 파일을 선택할 것이다.
350의 인코딩에 대하여, 하나의 파일이 WMA 인코딩 형식을 갖고 다른 것은 인코딩 형식이 MP3이면, WMA가 저장되기 쉽다. 이는 콘텐츠/서비스 제공자가 선호하는 인코딩을 선택하는 능력을 말한다. 예를 들어, 어느 회사는 다양한 사업상의 이유로 WMA 인코딩을 선호할 수 있다. 360의 디지탈 권한 관리에 관하여, 하나의 파일이 다른 것보다 보다 강한 디지탈 권한 관리 보호를 받게 되면, 후자가 가능한 삭제 리스트에 정렬될 것이다(예컨대, 한 파일이 DRM으로 인하여 복제가능하지 않고 다른 것은 가능하다면, 후자가 삭제 리스트에 정렬될 것이다). 이러한 관점에서, 복제 검출은 그 사용자에 의해 동의된 가장 강한 DRM 제약에 대하여 주어진 노래를 '정렬'하는데 사용될 수 있다. 물론 사용자가 의도적으로 다양한 강도의 DRM을 갖는 동일한 노래의 복제를 갖기를 원하는 상황이 있을 수 있는데, 그 상황이 330에서 단계2로 다루어질 수 있다. 알 수 있는 바와 같이, 상기 예는 파일들 간의 2자 비교에 기초한 것이지만, 다자 비교가 역시 적용될 수 있다.
330의 단계2에 관하여, 사용자는 370에서 실제로 삭제할 파일에 관한 다양한 선택을 하게 되고, 사용자의 확인을 받은 뒤, 삭제하기로 선택된 파일들이 삭제된다. 사용자는 또한 그 파일들이 실제로 복제 파일들인지에 대해 복제 검출기가 얼마나 확신하느냐에 따라 다양한 수준의 경고를 제공받는다. 또한, 단계2에서, 사용자 인터페이스(310)는 사용자에게 두 복제를 비교할 '고속 브라우즈' 능력을 제공할 수 있다. 예를 들어, 파일(A)와 파일(B)가 복제이고, (A)와 (B)는 (A)가 보다 긴 것을 제외하고는 유사한 것으로 발견되었다고 가정하자. 복제 검출기는, 매치하는 핑거프린트들이 두 카피 내의 어디에 있는지를 판정할 수 있고, 각 오디오 피스의 총 길이를 판정하므로, 초기에 (A)가 (B)보다 긴지, 후단부에서 (A)가 (B)보다 긴지, 혹은 둘 다인지를 안다. 그 다음 사용자 인터페이스(310)는 파일(B)에 포함되지 않을 가능성이 높은 파일(A)의 부분을 재생하고, 사용자가 실제로 두 파일들 중 더 긴 것을 보유하기를 원하는지를 결정한다(예컨대, 사용자는 그 차이가 단지 박수나 정적이라면 둘 중 더 짧은 것을 선호할 수 있다).
또한, 사용자가 두 파일들이 실제로 복제인지 확실치 않고 각각을 별도로 들어야 하는 것을 원하지 않으면, 복제 검출기가 두 파일들에 다시 작동하도록 요청할 수 있는데, 이번에는 상이한 위치들에서 많은 핑거프린트들을 사용하여 두 파일들 중 어느 부분들이 실제로 복제인지를 판정한다. 예를 들어, 한 파일이 다른 것보다 3배 길면, 그들은 초기에만 동일한 것일 수 있다. 이러한 방식으로 사용자 인터페이스(310)는 복제 검출기를 다시 호출하여, 특정 파일에 대한 보다 많은 정보를 얻을 수 있는데, 이는 사용자의 모든 오디오 파일들에 복제 검출기를 초기에 작동시키는 동안 계산하기에 너무 계산상 비용이 드는 것일 것이다. 검출기의 상기 모든 측면들은 (예컨대, 오디오 프랙의 복제를 검색함으로써) 비디오 복제를 식별하는데 사용될 수 있다.
도 4는 본 발명의 일측면에 따른 오디오 복제 프로세싱을 도시하는 흐름도이다. 설명의 단순화를 위하여 일련의 동작들로 이 방법이 도시되고 설명되었지만, 본 발명은 이러한 동작 순서에 한정되지 않고, 본 발명에 따르면, 일부 동작들은 여기 도시되고 기술된 것과 다른 순서로 및/또는 다른 동작들과 동시에 일어날 수 있다. 예를 들어, 본 발명의 숙련자라면 상태도와 같이 일련의 상호 관련된 상태나 이벤트로서 이 벙법이 달리 표현될 수 있다는 것을 이해하고 알 것이다. 또한, 기술된 모든 동작들이 본 발명에 따른 방법을 구현하는데 필요한 것은 아니다.
RARE(Robust Audio Recognition Engine) 복제 검출기 DupDet이 도 4의 기본 프로세스(400)에 따라 동작하여, 예를 들면, 디렉토리 트리 내의 오디오 파일들을 반복적으로 처리할 수 있다. 생성된 핑거프린트 각각에 대하여, 정규화 인자도 생성되는데, 그 핑거프린트에서 다른 오디오 파일로부터 계산된 큰 핑거프린트 집단까지의 평균 유클리디안(Euclidean) 거리가 일이 되도록 생성된다. 이는 핑거프린트들 간에 계산된 거리가 유용하게 비교될 수 있도록 수행된다.
프로세스(400)은 각 파일에 대한 트레이스들의 세트를 형성하고 이를 다른 오디오 파일들에 대해 생성된 핑거프린트들의 세트에 대하여 체크한다. 여기서, '트레이스(trace)'라는 용어는 데이타베이스에 대하여 테스트되는 파일로부터 계산된 핑거프린트에 대하여 사용되는 것이고, '핑거프린트'라는 용어는 데이타베이스 내에 저장되는 이러한 핑거프린트들에 대하여 사용되는 것이다. 트레이스와 핑거프린트 간의 D(·,·)(거리)가 임계값 이하이면, 관련 오디오 파일들은 복제라고 선언된다. 각 파일에 대하여, 핑거프린트들이 파일 내의 고정 위치 T에서 계산되고 410에서 T 근처의 검색 윈도우 S에서 트레이스들이 계산된다(여기서 S와 T는 사용자 정의된다).
프로세스(400)은 420에서 표시된 바와 같이 핑거프린트를 형성함과 동시에 한 경로내에서 복제를 체크한다. 제1 오디오 파일이 430에서 판독될 때, 위치 T에서의 6s 핑거프린트가 계산되고 저장된다. 제2 오디오 파일이 로드욀 때, 윈도우의 T-S부터 T+S까지에서 시작하는 트레이스들이 시간 순으로 410에서 계산된다(각 트레이스는 이전 것 1/6s 뒤에 계산됨). 이러한 트레이스들 중 하나가 440에서 매치되면, 파일은 복제라고 선언되고 450에서 그 핑거프린트에 대한 복제 리스트에 추가된다. 검색 윈도우에서 전체 트레이스 세트에 대하여 매치되는 것이 발견되지 않으면, (오디오의 위치 T에서 이미 계산된) 핑거프린트는 460에서 데이타베이스에 저장되고 (지금까지) 단일한 클립을 나타낸다. 시스템은 또한 노이즈(예를 들어, 정적, 입력이 없는 사운드 카드 등)로부터 수집된 핑거프린트들인 6개의 '비토 핑거프린트'(혹은 다른 수의)를 사용한다. 비토 핑거프린트와 매치하는 오디오 파일들은 '정크 파일'이라고 할 수 있다. 설명한 바와 같이, 470에서 매치되는 것들은 복제라고 태그가 달릴 수 있고, 최적의 매치 점수, 오프셋, 및 매치하는 핑거프린트 ID를 저장하는 것과 관련하여 480, 490에서 다른 처리가 일어날 수 있다.
도 5는 본 발명의 일측면에 따른 오디오 핑거프린팅 시스템(500)을 도시한다. SAF(stream audio fingerprinting)에서, 작업은 오디오 스트림 내의 오디오 세그먼트들을 식별하는 것이고, 여기서 노이즈에 의해 스트림이 변형될 수 있다. 도 5의 시스템(500)은 전반적인 셋업을 도시한다. 유입하는 오디오 스트림(510)의 고정된 길이의 세그먼트는 먼저 520에서 낮은 차원의 트레이스(간격으로 도시된, 벡터)로 변환된다. 이 입력 트레이스(520)은 그 다음 530에서 저장된, 사전 계산된 트레이스들의 큰 세트에 대하여 계산되는데, 여기서 각 저장된 핑거프린트는 이전에 특정 오디오 세그먼트(예컨대, 노래)로부터 추출된 것이다.
입력 트레이스(520)는 스트림(510) 내에서 반복적인 간격으로 계산되고 데이타베이스(530)과 비교된다. 이 데이타베이스에서 발견되는 입력 트레이스는 그 다음 2차 핑거프린트를 사용하여, 무시할만한 추가의 계산 비용으로 확인될 수 있다. 일반적인 애플리케이션들은 저작권료 등을 위해, 혹은 그 광고가 스폰서에 대한 서비스로 방송된다는 것을 확인시키기 위해 방송 오디오를 식별하는 것; 소프트웨어 재생자가 사용자 생성된 CD의 트랙을 식별하도록 하는 것; 라벨링되지 않은 오디오에 대한 메타데이타를 찾는 것; 또는 큰 오디오 데이타베이스에서 자동으로 복제를 검출하는 것을 포함한다. 본 발명은 오디오로부터 자동으로 노이즈에 강한(noise-dobust) 특징들을 추출하기 위해 DDA(Distortion Discriminant Analysis)라고 하는 알고리즘을 채용할 수 있다. DDA 기능들은 선형의, 콘볼루션 뉴럴 네트워크에 의해 계산되는데, 각 층은 OPCA(oriented Principal Components Analysis) 차원 축소의 버전을 수행한다.
왜곡에 강하게 하기 위하여, DDA는 트레이닝 신호들의 왜곡된 버전이 가용하다고 가정한다. 왜곡된 신호들의 샘플들을 요구하는 것은 실제 노이즈 모델을 요구하는 것보다 덜 엄격하고 보다 일반적이라는 것이 알려져 있다. DDA는 일반적으로 왜곡이 추가적이라고 가정하지 않는다: 비선형적인 왜곡도 다루어질 수 있다. 테스트 단계에서 기대되는 특정 왜곡에 대해 훈련되는 것이 유용하겠지만, DDA는 훈련에 사용되지 않는 왜곡에 강하다는 점에서, 일반화될 수 있다. 사전 계산된 트레이스들은, 오디오 세그먼트를 고유하게 식별하는데 사용되므로 "핑거프린트"라고 한다. 더 많은 핑거프린트들을 사용하면 에러 레이트가 더 줄어들 수 있지만 일반적으로는 오디오 클립당 하나나 두 개의 핑거프린트들이 사용된다. 또한, 다음 설명에서, 몇몇 동일한 수학적 배경이 주어지는데, 여기서 벡터는 굵은 폰트로, 그 콤포넌트들은 일반 폰트로 표시되고 프라임은 전치행렬(transpose)을 나타낸다.
한 세트의 벡터, 가 주어지고, 여기서 각 는 신호를 나타내고(이하, 왜곡되지 않은 데이타를 "신호" 데이타라고 함), 각 에 대해 한 세트의 N 개의 왜곡된 버전 을 갖는다고 가정한다. 대응하는 차벡터를 (이하 "노이즈" 벡터라고 함)로 정의한다. 일반적으로 모든 k에 대해서 에 가능한 한 수직이나 원래의 신호 의 분산이 최대화되는 선형 프로젝션을 찾는 것이 바람직하다. 원하는 프로젝션을 정의하는 단위 벡터를 n i , i=1, ..., M라고 하고, 여기서 M은 사용자에 의해 선택된다. 이 논의는 M=1로 임시로 선택함으로써 단순화될 수 있다.
특징 추출기 n은 평균 제곱합 재구성 에러(reconstruction error) 를 최소화하는 것으로 생각될 수 있고, 여기서 이다. 이 문제를 푸는 n은 최대의 아이겐밸류를 갖는 R1-R2의 아이겐벡터이고, 여기서, R1, R2는 각각 ,의 상관 매트릭스이다. 그러나, 이 특징 추출기는 노이즈 및 신호 벡터들이 두개의 다른 스케일 인자를 갖고 전범위적으로 스케일링되면 방향 n이 변하는 바람직하지 않은 속성을 갖고 있다. 그 대신, OPCA(Oriented PCA) 방향은 수학식 1의 일반화된 레이레이(Rayleigh) 지수를 최대화하는 방향 n으로 정의된다.
여기서 C1은 신호의 공분산(covariance) 매트릭스이고 C2는 노이즈의 공분산 매트릭스이다. 그러나, 원래 형태의 OPCA와는 반대로, 공분산 매트릭스보다 노이즈의 상관 매트릭스가 이용되는데, 이는 분산 뿐만 아니라 평균 노이즈 신호를 불리하게 하는 것이 바람직하기 때문이다. 명백히,
이고, 일반화된 레이레이 지수를 최대한다.
수학식 4의 분자는 유닛 벡터 n을 따른 신호 데이타의 프로젝션의 분산이고, 분모는 프로젝션된 평균 제곱합한 "에러"(n을 따라 프로젝션된 모든 노이즈 벡터 의 평균 제곱합한 계수)이다.
방향 n j 는 ∇q=0으로 설정함으로써 구할 수 있는데, 이는 수학식 5의 일반화된 아이겐밸류 문제가 된다.
다음의 것들을 증명하는 것은 간단하다:
1) 양의 준정부호(positive semidefinite) C, R(이 경우)에 대해, 일반화된 아이겐밸류는 양이다. 그러나, R이 완전 계수(full rank)이면, 문제가 잘 제시된 것으로 정리된다.
2) 아이겐밸류가 변하더라도, 신호나 노이즈의 스케일링으로 OPCA 방향은 변하지 않는다.
3) n i 는 선형적이거나 그렇게 선택될 수 있다.
4) n i 가 반드시 수직일 필요는 없지만, 매트릭스 C와 R 모두에 대한 공액(conjugate)이다.
5) q는 n이 최고로 가중된 일반화된 아이겐벡터로 선택됨으로서 최대화될 수 있다.
오디오와 같은 높은 차원의 데이타에 대하여, OPCA가 층으로 적용될 수 있다. 예를 들어, 64 차원의 핑거프린트를 6s의 오디오에서 추출한다고 색각한다. 이 오디오 신호는 모노로 변환되고 11025Hz로 다운 샘플링되고, 이후 특징 추출로 66150 차원의 벡터를 64 차원의 벡터로 매핑한다. 이 경우 일반화된 아이겐밸류 문제를 직접 푸는 것은 불가능하다. 그 대신, OPCA는 두 층에 적용될 수 있는데, 여기서 제1층은 작은 윈도우에 걸쳐 계산된 로그 스펙트럼에서 동작하고 제2층은 제1층에 의해 생성된 집합 벡터(aggregating vector)에 의해 계산된 벡터 상에서 동작한다. 이러한 방법을 DDA(Distortion Discriminat Analysis)라고 한다. DDA는 선형적인 방법이다; 주어진 층에서 일어나는 프로젝션은 콘볼루션(convolution)으로 보일 수 있다. 따라서, DDA는 선형의, 콘볼루션 뉴럴 네트워크로 볼 수 있으며, 여기서 가중치는 OPCA를 이용하여 선택된다.
DDA에서, 각각의 연속하는 층은 최후의 것보다 넓은 임시 윈도우를 본다: 그 층에 대해 발견되는 아이겐 방향들은 특정 임시 스케일에 적절하다. 이것이 DDA의 특징이다; 예를 들어, 이는 정렬 노이즈(alignment noise)를 보상하는 데 사용될 수 있는데, 정렬 노이즈는 저장된 핑거프린트가 임시로 입력 트레이스를 갖는 단계에서 나올 수 있다는 사실로부터 나오는 노이즈로 정의된다. 최악의 경우에, 핑거프린트는 두 개의 인접하는 입력 트레이스를 계산하는데 사용되는 두개의 프레임들 사이의 중간에 놓인 프레임으로부터 계산될 수 있을 것이다. 이러한 DDA 시스템에서의 일시적인 왜곡에 대한 보상이 최후의 층들에 적용되어야 하는데, 최후의 층들이 가장 넓은 임시 윈도우를 보기 때문이다.
DDA는 계산상 효과적인 테스트 단계를 만들 뿐만 아니라, 상이한 타임 스케일에서 왜곡을 보상하도록 한다; 이는 또한 훈련 단계에서도 효과적이다. 요구되는 공분산 및 상관 매트릭스는 원한다면, 한 번에 한 벡터를 계산할 수 있다. 이러한 매트릭스는 따라서 임의로 다량의 데이타를 사용하여 추정될 수 있다. 매트릭스들이 추정된 후, 일반화된 아이겐밸류들을 표준 선형 대수 패키지로 계산할 수 있다.
도 6은 본 발명의 일측면에 따른 DDA 시스템(600)을 도시한다. 오디오 프로세싱에 대한 기술들, 예컨대 연설에서 특징들을 추출하는 것은, 종종 20ms 오더의 프레임 기간을 사용한다. 그러나, 핑거프린팅 애플리케이션을 위한 계산상의 경비를 줄이기 위하여, 초당 약 몇회로 스트림으로부터 트레이스들을 생성하는 것이 바람직하다. 20ms 입력 프레임에 대하여, 최종 DDA 층에서 사용되는 단위 크기는 초기의 샘플링 레이트 100Hz보다 적어야 하고, 이는 또다른 왜곡원으로 작용할 앨리어싱(aliasing)을 유발할 수 있다. 도 6에 도시된 시스템(600)은 이 문제를 피한다. 감소된 샘플링 레이트로는 중간 층이 없으므로 일반적으로 앨리어싱이 없다. 이러한 요건과, 트레이스들이 약 1/2초의 오더의 타임 스케일로 생성되는 요건때문에, 제1층 프레임의 가능한 지속기간에 상당한 제약이 있다. 또한, 일시적으로 넓은 제1층은 DDA가 주파수 공간에서 중요한 방향을 선택하는데 보다 유연성을 갖도록 한다.
도 7은 본 발명의 일측면에 따른 일반화된 아이겐밸류(700)을 도시한다. 상기 시스템(600)의 제1층에 대한 64 출력 차원을 선택하는 것이 도 7에 도시된 훈련 데이타의 측정된 일반화된 아이겐스펙트럼에 의해 지도된다. 제1층으로부터의 유용한 정보의 대부분은 제1 100개의 프로젝션내에 포착된다. 제2층의 스펙트럼은 덜 신속하게 떨어진다. 그러나, 데이타베이스 룩업을 가속화하기 위하여, 제2층의 최상의 64 프로젝션들만이 고려된다. 데이타베이스 룩업 속도는 매 186ms가 아닌 매 372ms로 출력을 샘플링함으로써 두 인자에 의해 보다 향상될 수 있다.
이상 기술된 스트림 오디오 핑거프린팅 시스템은 먼저 스테레오 오디오 신호를 모노로 변환하고 11025Hz로 다운 샘플링한다. 이 신호는 고정된 길이, 반이 중첩되는 372ms 프레임들로 나누어진다. MCLT(중첩 윈도우를 갖는 푸리에 변환)이 그 다음 각 프레임에 적용된다. 각 MCLT 계수의 로그 지수를 취함으로써 로그 스펙트럼이 생성된다. 이 스트림 오디오 핑거프린팅 시스템은 특정한, 쉽게 왜곡을 식별하는 두 개의 프레임당 사전처리 단계들을 수행한다.
제1 사전처리 단계는 주파수 이퀄리제이션과 볼륨 조절에 의해 유발되는 왜곡을 제거하는 것이다. 이 "디이퀄리제이션 스레스홀딩(de-equalization thresholding)" 단계는 로그 스펙트럼의 DCT를 취하고, 각 DCT 계수를 제1 콤포넌트에 대해 1부터 제6 및 보다 높은 콤포넌트에 대하여 0까지 선형적으로 변화하는 가중치를 곱하고, 역 DCT를 수행함으로써 로그 스펙트럼에 저역 필터를 적용한다. 이 결과 로그 스펙트럼에 대해 매끄러운 근사 A가 나온다. A는 그 다음 6dB만큼 균일하게 낮아지고 -70dB에서 클리핑된다. 제1 사전처리 단계의 출력 벡터는 그러면 로그 스텍트럼 간의 콤포넌트별로 차이가 양이면 그 차이이고 그렇지 않으면 0이다.
제2 사전처리 단계는 인간이 들을 수 없는 신호의 왜곡을 제거하는 것이다. 이 단계는 제1 단계에서부터 로그 스펙트럼을 지수화한 다음, 알고리즘에 의해 주파수에 의존하는 지각 임계값(perceptual threshold)을 생성한다. 이제 최종 사전처리 신호는 로그 스펙트럼과 로그 지작 임계값 간의 dB 차이가 양이면, 그 차이이고, 그렇지 않으면 0이다. 최종 사전처리 데이타는 프레임당 2048 개의 실제 계수(따라서 2048 밴드)로 이루어진다.
도 8을 참조하면, 본 발명의 다양한 측면들을 구현하는 예시적인 환경(910)은 컴퓨터(912)를 포함한다. 컴퓨터(912)는 프로세싱 유닛(914), 시스템 메모리(916), 및 시스템 버스(918)을 포함한다. 시스템 버스(918)는 시스템 메모리(916)를 포함하나 이에 한정되지 않는 시스템 콤포넌트들을 프로세싱 유닛(914)에 결합시킨다. 프로세싱 유닛(914)는 임의의 가용한 프로세서일 수 있다. 듀얼 마이크로프로세서 및 다른 멀티프로세서 아키텍쳐가 역시 프로세싱 유닛(914)으로서 사용될 수 있다.
시스템 버스(918)는 메모리 버스 또는 메모리 컨트롤러, 주변 버스 또는 외부 버스, 및/또는 다양한 버스 아키텍처 중의 임의의 것을 사용하는 로컬 버스를 포함하는 몇가지 유형의 버스 구조 중의 임의의 것일 수 있는데, 이러한 아키텍처는 ISA(Industrial Standard Architecture) 버스, MCA(Micro-Channel Architecture) 버스, EISA(Enhanced ISA) 버스, IDE(Intelligent Drive Electronics), VLB(VESA Local Bus), PCI(Peripheral Component Interconnect), USB(Universal Serial Bus), AGP(Advanced Graphic Port), PCMCIA(Personal Computer Memory Card International Association), 및 SCSI(Small Computer System Interface)를 포함하지만, 이에 한정되는 것은 아니다.
시스템 메모리(916)는 휘발성 메모리(920) 및 비휘발성 메모리(922)를 포함한다. 시동중과 같은 때에 컴퓨터(110) 내의 구성요소들간에 정보를 전송하는 것을 돕는 기본 루틴을 포함하는 기본 입출력 시스템(BIOS)은 일반적으로 비휘발성 메모리(922)에 저장된다. 비휘발성 메모리(922)는 ROM, PROM(programmable ROM), EPROM(electically programmable ROM), EEPROM(electrically erasable ROM), 또는 플래시 메모리를 예를 들어 포함할 수 있으나 이에 한정되지 않는다. 휘발성 메모리(920)는 외부 캐시 메모리로 작용하는 RAM을 포함한다. 예를 들어, RAM은 SRAM(synchronous RAM), DRAM(dynamic RAM), SDRAM(synchronous DRAM), DDR SDRAM(double data rate SDRAM), ESDRAM(enhanced SDRAM), SLDRAM(Synchlink DRAM), DRRAM(direct Rambus RAM)과 같은 많은 형태로 이용가능하나, 이에 한정되지 않는다.
컴퓨터(912)는 또한 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체를 포함한다. 도 8은 예를 들어 디스크 저장장치(924)를 도시한다. 디스크 저장장치(924)는 자기 디스크 드라이브, 플로피 디스크 드라이브, 테이프 드라이브, 재즈 드라이브, 집 드라이브, LS-100 드라이브, 플래시 메모리 카드, 또는 메모리 스틱을 포함하나 이에 한정되지 않는다. 또한 디스크 저장장치(924)는 CD-ROM, CD-R 드라이브(CD recordable drive), CD-RW 드라이브(CD rewritable drive) 또는 DVD-ROM 드라이브(digital versatile disk ROM drive)와 같은 광 디스크 드라이브를 포함하나 이에 한정되지 않는, 다른 저장 매체와 별도로 또는 조합한 저장 매체를 포함할 수 있다. 시스템 버스(918)에 대한 디스크 저장장치(924)의 접속을 용이하게 하기 위해, 분리형 또는 비분리형 인터페이스가 인터페이스(926)과 같이 일반적으로 사용된다.
도 8은 적절한 동작 환경(910)에서 기술되는 기본 컴퓨터 자원과 사용자 간을 중개하는 소프트웨어를 도시한다. 이러한 소프트웨어는 운영 체계(928)를 포함한다. 운영 체계(928)는, 디스크 저장장치(924)에 저장될 수 있는 것으로, 컴퓨터 시스템(912)의 자원을 제어 및 할당한다. 시스템 애플리케이션(930)은 시스템 메모리(916)이나 디스크 저장장치(924)에 저장된 프로그램 모듈(932)과 프로그램 데이타(934)를 통해 운영 체계(928)에 의해 자원을 관리하는 장점이 있다. 본 발명은 다양한 운영 체계나 운영 체계들의 조합으로 구현될 수 있다.
사용자는 입력 장치(들)(936)를 통해 컴퓨터(912)로 커맨드나 정보를 입력한다. 입력 장치는 마우스, 트랙볼, 스타일러스, 터치 패드, 키보드, 마이크로폰, 조이스틱, 게임 패드, 위성 접시, 스캐너, TV 튜너 카드, 디지탈 카메라, 디지탈 비디오 카메라, 웹 카메라 등과 같은 지시 장치를 포함하나, 이에 한정되지 않는다. 이러한 입력 장치 및 기타의 입력 장치들은 시스템 버스(918)을 통해 인터페이스 포트(들)(938)를 거쳐 프로세싱 유닛(914)에 접속된다. 인터페이스 포트(들)(938)에는, 예컨대, 시리얼 포트, 패러랠 포트, 게임 포트, 및 USB가 포함된다. 출력 장치(들)(940)은 입력 장치(들)(936)과 동일한 형태의 포트 중 일부를 사용한다. 따라서, 예를 들어, USB 포트가 컴퓨터(912)에 입력을 제공하는데 사용될 수 있고, 컴퓨터(912)로부터 출력 장치(940)로 정보를 출력하는데 사용될 수 있다. 출력 장치들(940) 중 특수한 어댑터를 요구하는 모니터, 스피커, 프린터 등의 일부 출력 장치(940)에 출력 어댑터(942)가 제공되는 것으로 도시되어 있다. 출력 어댑터(942)는 예를 들어, 출력 장치(940)와 시스템 버스(918) 간의 접속 수단을 제공하는 비디오 및 사운드 카드를 포함하나 이에 한정되지 않는다. 다른 장치 및/또는 장치의 시스템들이 원격 컴퓨터(들)(944)와 같은 입력 및 출력 모두의 능력을 제공할 수 있다는 것을 알아야 한다.
컴퓨터(912)는 원격 컴퓨터(들)(944)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 이용하여 네트워크 환경에서 동작할 수 있다. 원격 컴퓨터(들)(944)은 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 워크스테이션, 마이크로프로세서 기반 어플라이언스, 피어 장치 또는 기타 공통 네트워크 노드 등일 수 있으며, 일반적으로 컴퓨터(912)에 관하여 상술한 구성요소 중 다수 또는 모든 구성요소를 일반적으로 포함할 수 있다. 간략히 하기 위하여, 원격 컴퓨터(들)(944)와 함께 메모리 저장장치(946)만이 도시되어 있다. 원격 컴퓨터(들)(944)은 네트워크 인터페이스(948)을 통해 컴퓨터(912)에 접속되어 있고 통신 접속(950)을 통해 물리적으로 접속된다. 네트워크 인터페이스(948)는 LAN(local-area networks)이나 WAN(wide-area networks)과 같은 통신 네트워크를 아우른다. LAN 기술은 FDDI(Fiber Distributed Data Interface), CDDI(Copper Distributed Data Interface), 이더넷/IEEE 1102.3, 토큰 링/IEEE 1102.5 등을 포함한다. WAN 기술은, P2P(point-to-point) 링크, ISDN(Integrated Services Digital Network)와 같은 회로 스위칭 네트워크 및 그 변형물과, 패킷 스위칭 네트워크, 및 DSL(Digital Subscriber Lines)를 포함하나 이에 한정되지 않는다.
통신 접속(들)(950)은 네트워크 인터페이스(948)을 버스(918)에 접속시키기 위하여 이용되는 하드웨어/소프트웨어를 말한다. 설명을 명확히 하기 위하여 통신 접속(950)이 컴퓨터(912) 내부에 있는 것으로 도시하였지만, 컴퓨터(912) 외부에 있을 수도 있다. 네트워크 인터페이스(948)에 접속하는데 필요한 하드웨어/소프트웨어는, 예를 들어, 통상의 전화 그레이드 모뎀, 케이블 모뎀, DSL 모뎀을 포함하는 모뎀, ISDN 어댑터, 및 이더넷 카드와 같은 내장 및 외장 기술들을 포함한다.
도 9는 본 발명이 상호작용하는 샘플 컴퓨팅 환경(1000)의 블럭도이다. 시스템(1000)은 하나 이상의 클라이언트(들)(1010)을 포함한다. 클라이언트(들)(1010)은 하드웨어 및/또는 소프트웨어(예컨대, 스레드, 프로세스, 컴퓨팅 장치)가 될 수 있다. 시스템(1000)은 또한 하나 이상의 서버(들)(1030)을 포함한다. 서버(들)(1030)은 하드웨어 및/또는 소프트웨어(예컨대, 스레드, 프로세스, 컴퓨팅 장치)가 될 수 있다. 서버(1030)는 예컨대, 본 발명을 이용하여 변환을 수행하는 스레드를 가질 수 있다. 클라이언트(1010)와 서버(1030) 간의 하나의 가능한 통신은 둘 이상의 컴퓨터 프로세스 사이에서 전송되는 데이타 패킷의 형태이다. 시스템(1000)은 클라이언트(들)(1010)과 서버(들(1030) 간의 통신을 용이하게 하기 위하여 이용될 수 있는 통신 프레임워크(1050)을 포함한다. 클라이언트(들)(1010)은 로컬 정보를 클라이언트(들)(1010)에 저장하는데 이용될 수 있는 하나 이상의 클라이언트 데이타 저장장치(들)(1060)에 동작가능하게 접속된다. 유사하게, 서버(들)(1030)는 로컬 정보를 서버(1030)에 저장하는데 이용될 수 있는 하나 이상의 클라이언트 데이타 저장장치(들)(1060)에 동작가능하게 접속된다.
이상 기술된 것은 본 발명의 예들을 포함한다. 물론, 본 발명을 기술하기 위하여 생각할 수 있는 모든 구성요소나 방법들을 기술할 수는 없지만, 본 기술분야의 통상의 지식을 가진 자라면 본 발명의 보다 많은 조합과 변형들이 가능하다는 것을 인식할 것이다. 따라서, 본 발명은 첨부된 청구항들의 사상과 범위 내에 포함되는 이러한 모든 변경, 변형 및 변이들을 포함하는 것이다. 또한, 상세한 설명이나 청구항들에 사용된 "포함된다"는 용어는 청구항에서 "구성된다"가전환 어구로 사용될 때 "구성된다"가 해석되는 바와 유사한 방식으로 포함된다.
본 발명에 의하면 복제 또는 변형된 오디오 파일들을 검출하여 그러한 파일들의 관리 및 제거를 용이하게 할 수 있다.
도 1은 본 발명의 일측면에 따른 오디오 복제 검출기 시스템의 도식적인 블럭도이다.
도 2는 본 발명에 따른 복제 프로세싱의 측면들을 도시하는 도면이다.
도 3은 본 발명에 따른 사용자 인터페이스 측면들을 도시하는 도면이다.
도 4는 본 발명의 일측면에 따른 오디오 복제 프로세싱을 도시하는 흐름도이다.
도 5는 본 발명의 일측면에 따른 오디오 핑거프린팅 시스템을 도시하는 도면이다.
도 6은 본 발명의 일측면에 따른 왜곡 구별 분석(distortion discriminate anaysis)을 도시하는 도면이다.
도 7은 본 발명의 일측면에 따른 일반화된 아이겐밸류를 도시하는 도면이다.
도 8은 본 발명의 일측면에 따른 적절한 동작 환경을 도시하는 블럭도이다.
도 9는 본 발명이 상호작용할 수 있는 샘플 컴퓨팅 환경의 도식적인 블럭도이다.
<도면의 주요부분에 대한 부호의 설명>
110, 124, 130: 데이타베이스
120: 복제 검출기
140: 분석기
150: 사용자 인터페이스

Claims (27)

  1. 오디오 정보를 관리하기 위한 시스템에 있어서,
    복수의 오디오 파일의 부분들을 대응하는 핑거프린트들(fingerprints)에 매핑하는 핑거프린팅 콤포넌트; 및
    상기 핑거프린트들 간의 거리에 부분적으로 기초하여 데이타 저장 장치로부터 잠재적으로 제거하기 위한 하나 이상의 상기 오디오 파일들에 태그들을 다는 검출기
    를 포함하는 시스템.
  2. 제1항에 있어서,
    상기 검출기는 미리 정해진 임계치 아래의 핑거프린트들 간의 거리에 기초하여 상기 오디오 파일들에 태그를 다는 시스템.
  3. 제1항에 있어서,
    상기 핑거프린팅 콤포넌트는 한 파일에 대하여 복수의 핑거프린트를 생성하는 단계를 더 포함하고, 상기 복수의 핑거프린트는 상기 파일 내의 오디오의 시간 윈도우에 대응하고, 상기 검출기는 상기 복수의 핑거프린트와 각 파일에 대한 하나 이상의 저장된 핑거프린트들 간의 최저 거리에 기초하여 상기 오디오 파일들에 태그를 다는 시스템.
  4. 제3항에 있어서,
    상기 핑거프린팅 콤포넌트는 상기 오디오 파일 내의 시간 오프셋과 상기 파일들 내의 시간 윈도우의 지속기간을 수용하도록 배치되는 시스템.
  5. 제1항에 있어서,
    상기 핑거프린팅 콤포넌트는 1초 이상의 오디오로부터 생성되고, 약 64 부동 소수점 수(floating point number)들로 구성되는 핑거프린트들을 계산하는 시스템.
  6. 제1항에 있어서,
    상기 검출기는 DB1, DB2라고 하는 적어도 두 개의 내부 데이타베이스를 이용하고, DB1에서, 기록은 핑거프린트와 정규화 인자(normalization factor)를 포함하는 관련 수치적 양들을 포함하고, DB2에서, 기록은 파일명, ID 지수라고 하는 관련 지수, '오프셋' 파라미터 및 '거리' 파라미터의 적어도 네 개의 오브젝트들을 포함하는 시스템.
  7. 제4항에 있어서,
    상기 검출기는 이미 처리한 파일 내에서 최적의 매칭 위치를 발견하기 위하여, 시간 윈도우 내의 모든 핑거프린트들을 계산하고 비교하는 시스템.
  8. 제7항에 있어서,
    상기 검출기는 오디오 파일의 아이덴티티(identity)를 판정하기 위해 이용되는 시스템.
  9. 제8항에 있어서,
    상기 아이덴티티는 오디오 파일과 관련된 메타데이타로 구성되는 시스템.
  10. 제1항에 있어서,
    복제 리스트가나 결함있는 오디오 파일들을 사용자 인터페이스에 출력하기 위하여 이용되는 데이타베이스를 더 포함하는 시스템.
  11. 제10항에 있어서,
    상기 검출기는 상기 오디오 파일들을 처리하는 동안 오류 조건들을 로그(log)하고 상기 사용자 인터페이스에 상기 오류 조건들과 관련된 파일들의 리스트를 출력하는 시스템.
  12. 제1항에 있어서,
    노이즈가 있는 오디오 파일들을 식별하는데 이용되는 비토 핑거프린트(veto fingerptint)를 저장하기 위한 데이타베이스를 더 포함하는 시스템.
  13. 제1항의 핑거프린팅 콤포넌트와 검출기를 구현하기 위한 컴퓨터 판독가능한 명령어들을 내부에 저장하는 컴퓨터 판독가능한 매체.
  14. 오디오 파일들을 관리하기 위한 사용자 인터페이스에 있어서,
    데이타베이스로부터 제거하기 위한 잠재적 오디오 파일들에 하나 이상의 옵션들을 제공하는 디스플레이 콤포넌트; 및
    상기 옵션들을 선택하고, 제거를 위한 상기 잠재적 오디오 파일들을 결정하는 자동화된 오디오 제거 콤포넌트(audio pruning component)를 구성하는 것 중 적어도 하나를 하기 위한 입력 콤포넌트
    를 포함하는 사용자 인터페이스.
  15. 제14항에 있어서,
    가능한 삭제를 위해 파일들을 조직화하기 위한 콤포넌트와 사용자가 삭제할 파일을 선택하도록 하는 디스플레이를 더 포함하는 사용자 인터페이스.
  16. 제15항에 있어서,
    파일들 간의 품질 비교에 기초하여 하나 이상의 복제 파일들을 저장하는 능력을 상기 사용자에게 제공하고, 상기 파일들과 관련된 인코딩에 기초하여 파일들에 선취 처리(preferential treatment)를 가하고, 상기 파일들과 관련된 디지탈 권한 관리에 기초하여 선취 처리를 가하는 것 중 적어도 하나를 하기 위한 콤포넌트를 더 포함하는 사용자 인터페이스.
  17. 제16항에 있어서,
    복제 검출기가 상기 파일들이 실제로 복제인지에 대해 확신하는 정도에 기초하여, 다양한 경고 레벨을 상기 사용자에게 제시하는 콤포넌트를 더 포함하는 사용자 인터페이스.
  18. 제16항에 있어서,
    복제 파일들을 비교하기 위해 '고속 브라우즈(fast browse)' 콤포넌트를 더 포함하는 사용자 인터페이스.
  19. 제16항에 있어서,
    복제 검출기가 상이한 위치들에서 많은 핑거프린트들을 사용하여 파일들 상에서 구동하도록 요청하여, 상기 파일들의 어느 부분들이 복제되는지를 판정하는 옵션을 더 포함하는 사용자 인터페이스.
  20. 오디오 파일 관리를 용이하게 하기 위한 방법에 있어서,
    오디오 파일을 검색하기 위한 시간 파라미터들을 수용하는 단계;
    상기 오디오 파일에 대한 핑거프린트들을 결정하는 단계; 및
    상기 시간 파라미터들과 상기 핑거프린트를 이용하여 잠재적으로 데이타베이스에서 제거될 오디오 파일들을 결정하는 단계
    를 포함하는 방법.
  21. 제20항에 있어서,
    디렉토리 트리 내에서 오디오 파일들을 반복적으로 처리하는 단계 및 상기 핑거프린트들 각각에 대해 정규화 인자를 결정하는 단계를 더 포함하는 방법.
  22. 제20항에 있어서,
    오디오 파일들에 대한 트레이스들(traces)의 세트를 생성하는 단계 및 다른 오디오 파일들에 대해 생성된 핑거프린트들의 세트에 대하여 상기 트레이스들을 체크하는 단계를 더 포함하는 방법.
  23. 제20항에 있어서,
    동시에, 핑거프린트들을 형성하고 상기 오디오 파일 데이타에 걸쳐 단일 경로에서 복제들을 체크하는 단계를 더 포함하는 방법.
  24. 제20항에 있어서,
    하나 이상의 비토 핑거프린트들을 이용하여 노이즈가 있는 파일을 결정하는 단계를 더 포함하는 방법.
  25. 제20항에 있어서,
    적어도 두 층에서 상기 오디오 파일을 처리하는 단계를 더 포함하고, 제1층의 출력은 작은 윈도우 상에서 계산된 로그 스펙트럼에 의존하고 제2층은 상기 제1층에 의해 생성된 집합 벡터들(aggregating vectors)에 의해 계산된 벡터 상에서 작동하는 방법.
  26. 제25항에 있어서,
    이전의 층보다 이후의 층에서 보다 넓은 임시 윈도우를 제공하는 단계를 더 포함하는 방법.
  27. 제25항에 있어서,
    상기 층들 중 적어도 하나를 이용하여 파일들 간의 시간 오정렬을 보상하는 단계를 더 포함하는 방법.
KR1020040070895A 2003-10-24 2004-09-06 오디오 복제 검출기 KR101109303B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US51449003P 2003-10-24 2003-10-24
US60/514,490 2003-10-24
US10/785,561 2004-02-24
US10/785,561 US7421305B2 (en) 2003-10-24 2004-02-24 Audio duplicate detector

Publications (2)

Publication Number Publication Date
KR20050039544A true KR20050039544A (ko) 2005-04-29
KR101109303B1 KR101109303B1 (ko) 2012-04-03

Family

ID=34396622

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040070895A KR101109303B1 (ko) 2003-10-24 2004-09-06 오디오 복제 검출기

Country Status (5)

Country Link
US (1) US7421305B2 (ko)
EP (1) EP1526530A3 (ko)
JP (1) JP4870921B2 (ko)
KR (1) KR101109303B1 (ko)
CN (1) CN100472515C (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100896335B1 (ko) * 2007-05-15 2009-05-07 주식회사 코난테크놀로지 오디오 기반의 동영상 파일 중복 검사와 관리를 위한 시스템 및 방법
WO2016160888A1 (en) * 2015-04-01 2016-10-06 Tribune Broadcasting Company, Llc Using aspect-ratio transitions to output an alert indicating a functional state of a back-up video-broadcast system
WO2016160884A1 (en) * 2015-04-01 2016-10-06 Tribune Broadcasting Company, Llc Using single-channel/multi-channel transitions to output an alert indicating a functional state of a back-up audio-broadcast system
WO2016160886A1 (en) * 2015-04-01 2016-10-06 Tribune Broadcasting Company, Llc Using mute/non-mute transitions to output an alert indicating a functional state of a back-up audio-broadcast system
WO2016160891A1 (en) * 2015-04-01 2016-10-06 Tribune Broadcasting Company, Llc Using bitrate data to output an alert indicating a functional state of a back-up media-broadcast system
WO2016160890A1 (en) * 2015-04-01 2016-10-06 Tribune Broadcasting Company, Llc Using scene-change transitions to output an alert indicating a functional state of a back-up video-broadcast system

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9008812B2 (en) * 2008-06-19 2015-04-14 Sirius Xm Radio Inc. Method and apparatus for using selected content tracks from two or more program channels to automatically generate a blended mix channel for playback to a user upon selection of a corresponding preset button on a user interface
JP2005122809A (ja) * 2003-10-16 2005-05-12 Alpine Electronics Inc ディスク再生装置および方法
US20050215239A1 (en) * 2004-03-26 2005-09-29 Nokia Corporation Feature extraction in a networked portable device
US20060095470A1 (en) * 2004-11-04 2006-05-04 Cochran Robert A Managing a file in a network environment
US20070130078A1 (en) * 2005-12-02 2007-06-07 Robert Grzesek Digital rights management compliance with portable digital media device
ES2349961T3 (es) * 2005-01-21 2011-01-13 Cugate Ag Método de generación de una huella para una señal útil.
US20070156268A1 (en) * 2005-11-28 2007-07-05 Galvin Brian M Providing audiographs through a web service
JPWO2007100004A1 (ja) * 2006-03-01 2009-07-23 パイオニア株式会社 情報再生装置、情報再生方法、情報再生プログラムおよび記録媒体
US7571093B1 (en) * 2006-08-17 2009-08-04 The United States Of America As Represented By The Director, National Security Agency Method of identifying duplicate voice recording
US7724960B1 (en) * 2006-09-08 2010-05-25 University Of Central Florida Research Foundation Inc. Recognition and classification based on principal component analysis in the transform domain
CN101542484A (zh) * 2006-11-30 2009-09-23 皇家飞利浦电子股份有限公司 比较文件的内容标识符的装置
US7920901B2 (en) * 2007-02-28 2011-04-05 Research In Motion Limited System and method for providing visual indicators in a media application
US8543228B2 (en) * 2007-04-06 2013-09-24 Nokia Corporation Coded domain audio analysis
EP2198376B1 (en) * 2007-10-05 2016-01-27 Dolby Laboratories Licensing Corp. Media fingerprints that reliably correspond to media content
US7994410B2 (en) * 2008-10-22 2011-08-09 Classical Archives, LLC Music recording comparison engine
US8799219B2 (en) * 2008-11-11 2014-08-05 Microsoft Corporation Selection of media content item having preferred instance attributes
US9014832B2 (en) * 2009-02-02 2015-04-21 Eloy Technology, Llc Augmenting media content in a media sharing group
US8180740B1 (en) * 2009-08-12 2012-05-15 Netapp, Inc. System and method for eliminating duplicate data by generating data fingerprints using adaptive fixed-length windows
US8671109B2 (en) * 2009-10-01 2014-03-11 Crim (Centre De Recherche Informatique De Montreal) Content-based video copy detection
CA2716266C (en) * 2009-10-01 2016-08-16 Crim (Centre De Recherche Informatique De Montreal) Content based audio copy detection
US8706276B2 (en) * 2009-10-09 2014-04-22 The Trustees Of Columbia University In The City Of New York Systems, methods, and media for identifying matching audio
US8306641B2 (en) * 2009-12-04 2012-11-06 Sony Mobile Communications Ab Aural maps
JP5907511B2 (ja) * 2010-06-09 2016-04-26 アデルフォイ リミテッド オーディオメディア認識のためのシステム及び方法
US9449024B2 (en) 2010-11-19 2016-09-20 Microsoft Technology Licensing, Llc File kinship for multimedia data tracking
US8266115B1 (en) 2011-01-14 2012-09-11 Google Inc. Identifying duplicate electronic content based on metadata
US9143571B2 (en) * 2011-03-04 2015-09-22 Qualcomm Incorporated Method and apparatus for identifying mobile devices in similar sound environment
US9002490B2 (en) * 2011-04-13 2015-04-07 Longsand Limted Methods and systems for generating frictionless social experience environment
US9384272B2 (en) 2011-10-05 2016-07-05 The Trustees Of Columbia University In The City Of New York Methods, systems, and media for identifying similar songs using jumpcodes
US8949872B2 (en) * 2011-12-20 2015-02-03 Yahoo! Inc. Audio fingerprint for content identification
US20130325853A1 (en) * 2012-05-29 2013-12-05 Jeffery David Frazier Digital media players comprising a music-speech discrimination function
US9129015B1 (en) * 2012-06-26 2015-09-08 Google Inc. Min/max filter for audio matching
US9479887B2 (en) * 2012-09-19 2016-10-25 Nokia Technologies Oy Method and apparatus for pruning audio based on multi-sensor analysis
US20140119554A1 (en) * 2012-10-25 2014-05-01 Elwha Llc Methods and systems for non-volatile memory in wireless headsets
US9460201B2 (en) * 2013-05-06 2016-10-04 Iheartmedia Management Services, Inc. Unordered matching of audio fingerprints
US9747368B1 (en) * 2013-12-05 2017-08-29 Google Inc. Batch reconciliation of music collections
WO2015120184A1 (en) * 2014-02-06 2015-08-13 Otosense Inc. Instant real time neuro-compatible imaging of signals
US9749762B2 (en) 2014-02-06 2017-08-29 OtoSense, Inc. Facilitating inferential sound recognition based on patterns of sound primitives
US10198697B2 (en) 2014-02-06 2019-02-05 Otosense Inc. Employing user input to facilitate inferential sound recognition based on patterns of sound primitives
US9905233B1 (en) 2014-08-07 2018-02-27 Digimarc Corporation Methods and apparatus for facilitating ambient content recognition using digital watermarks, and related arrangements
US9548830B2 (en) 2014-09-05 2017-01-17 The Nielsen Company (Us), Llc Methods and apparatus to generate signatures representative of media
US9805099B2 (en) * 2014-10-30 2017-10-31 The Johns Hopkins University Apparatus and method for efficient identification of code similarity
US9264744B1 (en) 2015-04-01 2016-02-16 Tribune Broadcasting Company, Llc Using black-frame/non-black-frame transitions to output an alert indicating a functional state of a back-up video-broadcast system
US9674475B2 (en) 2015-04-01 2017-06-06 Tribune Broadcasting Company, Llc Using closed-captioning data to output an alert indicating a functional state of a back-up video-broadcast system
US20170309298A1 (en) * 2016-04-20 2017-10-26 Gracenote, Inc. Digital fingerprint indexing
JP6786984B2 (ja) * 2016-09-16 2020-11-18 オムロン株式会社 プログラム処理装置およびプログラム
US11232068B2 (en) 2017-03-27 2022-01-25 Microsoft Technology Licensing, Llc Unified document retention management system
US20180276232A1 (en) * 2017-03-27 2018-09-27 Microsoft Technology Licensing, Llc Enhanced administrative controls for a unified file retention management system
US20190109804A1 (en) * 2017-10-10 2019-04-11 Microsoft Technology Licensing, Llc Audio processing for voice simulated noise effects
CN107731220B (zh) * 2017-10-18 2019-01-22 北京达佳互联信息技术有限公司 音频识别方法、装置和服务器
WO2020055141A1 (en) 2018-09-12 2020-03-19 Samsung Electronics Co., Ltd. Method and device for detecting duplicate content
US20220156157A1 (en) * 2020-11-17 2022-05-19 At&T Intellectual Property I, L.P. User-driven recovery of lost content
US20220222294A1 (en) * 2021-01-14 2022-07-14 Smule, Inc. Densification in Music Search and Recommendation
CN115578999A (zh) * 2022-12-07 2023-01-06 深圳市声扬科技有限公司 复制语音的检测方法、装置、电子设备及存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3545007B2 (ja) * 1993-03-17 2004-07-21 新日鉄ソリューションズ株式会社 データベース検索システム
US5913208A (en) 1996-07-09 1999-06-15 International Business Machines Corporation Identifying duplicate documents from search results without comparing document content
JP3434223B2 (ja) * 1998-11-19 2003-08-04 日本電信電話株式会社 音楽情報検索装置,音楽情報蓄積装置,音楽情報検索方法,音楽情報蓄積方法およびそれらのプログラムを記録した記録媒体
US6434520B1 (en) 1999-04-16 2002-08-13 International Business Machines Corporation System and method for indexing and querying audio archives
US6799166B2 (en) 1999-09-02 2004-09-28 International Business Machines Corporation Method and apparatus for preventing duplicate transactions on batch mode failure recovery in a data processing system
US6615209B1 (en) 2000-02-22 2003-09-02 Google, Inc. Detecting query-specific duplicate documents
CH695402A5 (de) * 2000-04-14 2006-04-28 Creaholic Sa Verfahren zur Bestimmung eines charakteristischen Datensatzes für ein Tonsignal.
US20020113824A1 (en) * 2000-10-12 2002-08-22 Myers Thomas D. Graphic user interface that is usable as a commercial digital jukebox interface
US7562012B1 (en) 2000-11-03 2009-07-14 Audible Magic Corporation Method and apparatus for creating a unique audio signature
US6604072B2 (en) 2000-11-03 2003-08-05 International Business Machines Corporation Feature-based audio content identification
JP3574075B2 (ja) * 2001-02-07 2004-10-06 日本電信電話株式会社 信号検出方法、信号検出装置、記録媒体及びプログラム
JP4035993B2 (ja) * 2002-01-08 2008-01-23 ソニー株式会社 データ処理装置及び方法
JP3798991B2 (ja) * 2002-02-25 2006-07-19 日本電信電話株式会社 音声信号検索方法,音声信号検索装置,そのプログラムおよびそのプログラムの記録媒体
US9349411B2 (en) 2002-07-16 2016-05-24 Digimarc Corporation Digital watermarking and fingerprinting applications for copy protection
US20030191764A1 (en) * 2002-08-06 2003-10-09 Isaac Richards System and method for acoustic fingerpringting
US20040193642A1 (en) 2003-03-26 2004-09-30 Allen Paul G. Apparatus and method for processing digital music files

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100896335B1 (ko) * 2007-05-15 2009-05-07 주식회사 코난테크놀로지 오디오 기반의 동영상 파일 중복 검사와 관리를 위한 시스템 및 방법
WO2016160888A1 (en) * 2015-04-01 2016-10-06 Tribune Broadcasting Company, Llc Using aspect-ratio transitions to output an alert indicating a functional state of a back-up video-broadcast system
WO2016160884A1 (en) * 2015-04-01 2016-10-06 Tribune Broadcasting Company, Llc Using single-channel/multi-channel transitions to output an alert indicating a functional state of a back-up audio-broadcast system
WO2016160886A1 (en) * 2015-04-01 2016-10-06 Tribune Broadcasting Company, Llc Using mute/non-mute transitions to output an alert indicating a functional state of a back-up audio-broadcast system
WO2016160891A1 (en) * 2015-04-01 2016-10-06 Tribune Broadcasting Company, Llc Using bitrate data to output an alert indicating a functional state of a back-up media-broadcast system
WO2016160890A1 (en) * 2015-04-01 2016-10-06 Tribune Broadcasting Company, Llc Using scene-change transitions to output an alert indicating a functional state of a back-up video-broadcast system
US9747069B2 (en) 2015-04-01 2017-08-29 Tribune Broadcasting Company, Llc Using mute/non-mute transitions to output an alert indicating a functional state of a back-up audio-broadcast system
US9942679B2 (en) 2015-04-01 2018-04-10 Tribune Broadcasting Company, Llc Using single-channel/multi-channel transitions to output an alert indicating a functional state of a back-up audio-broadcast system
US9955201B2 (en) 2015-04-01 2018-04-24 Tribune Broadcasting Company, Llc Using aspect-ratio transitions to output an alert indicating a functional state of a back-up video-broadcast system

Also Published As

Publication number Publication date
EP1526530A3 (en) 2008-04-23
US7421305B2 (en) 2008-09-02
US20050091275A1 (en) 2005-04-28
KR101109303B1 (ko) 2012-04-03
JP2005202357A (ja) 2005-07-28
EP1526530A2 (en) 2005-04-27
CN100472515C (zh) 2009-03-25
JP4870921B2 (ja) 2012-02-08
CN1627295A (zh) 2005-06-15

Similar Documents

Publication Publication Date Title
KR101109303B1 (ko) 오디오 복제 검출기
US7451078B2 (en) Methods and apparatus for identifying media objects
US7567899B2 (en) Methods and apparatus for audio recognition
US9336794B2 (en) Content identification system
Casey et al. Analysis of minimum distances in high-dimensional musical spaces
US6931413B2 (en) System and method providing automated margin tree analysis and processing of sampled data
US7080253B2 (en) Audio fingerprinting
KR100838674B1 (ko) 오디오 핑거프린팅 시스템 및 방법
JP4398242B2 (ja) 録音の多段階識別方法
EP1571670B1 (en) Systems and methods for generating audio thumbnails
US8275177B2 (en) System and method for media fingerprint indexing
CN102436806A (zh) 一种基于相似度的音频拷贝检测的方法
Zhang et al. System and method for automatic singer identification
WO2012120531A2 (en) A method for fast and accurate audio content match detection
You et al. Music Identification System Using MPEG‐7 Audio Signature Descriptors
KR101002731B1 (ko) 오디오 데이터의 특징 벡터 추출방법과 그 방법이 기록된컴퓨터 판독 가능한 기록매체 및 이를 이용한 오디오데이터의 매칭 방법
Sonje et al. Accelerating Content Based Music Retrieval Using Audio Fingerprinting
Catalán Quality assessment and enhancement of an industrial-strength audio fingerprinting system
WO2007020544A2 (en) Method and apparatus for extracting feature information from a multimedia file
Arora et al. Comparison and Implementation of Audio based Searching for Indian Classical Music
Sonje et al. Audio Retrieval using Hash-Index SearchTechnique
Esquerra et al. An Automatic Audio Segmentation System for Radio Newscast

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151217

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161220

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171219

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20191217

Year of fee payment: 9