KR100842310B1 - 동영상 데이터들을 서로 동일성이 있는 동영상데이터들끼리 클러스터링하는 방법 및 시스템 - Google Patents

동영상 데이터들을 서로 동일성이 있는 동영상데이터들끼리 클러스터링하는 방법 및 시스템 Download PDF

Info

Publication number
KR100842310B1
KR100842310B1 KR1020070060978A KR20070060978A KR100842310B1 KR 100842310 B1 KR100842310 B1 KR 100842310B1 KR 1020070060978 A KR1020070060978 A KR 1020070060978A KR 20070060978 A KR20070060978 A KR 20070060978A KR 100842310 B1 KR100842310 B1 KR 100842310B1
Authority
KR
South Korea
Prior art keywords
video data
data
segment
fingerprint
cluster
Prior art date
Application number
KR1020070060978A
Other languages
English (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 KR1020070060978A priority Critical patent/KR100842310B1/ko
Priority to CN201210033359.XA priority patent/CN102638686B/zh
Priority to EP08766104.7A priority patent/EP2165525B1/en
Priority to CN200880101785A priority patent/CN101772950A/zh
Priority to US12/598,199 priority patent/US8345742B2/en
Priority to PCT/KR2008/003142 priority patent/WO2008150109A1/en
Priority to EP18191563.8A priority patent/EP3438883B1/en
Application granted granted Critical
Publication of KR100842310B1 publication Critical patent/KR100842310B1/ko
Priority to US13/691,674 priority patent/US20130088645A1/en

Links

Images

Classifications

    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/783Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 동영상 데이터들을 서로 동일성이 있는 동영상 데이터들끼리 클러스터링하는 방법 및 시스템에 관한 것으로서, 적어도 2 이상인 N개의 동영상 데이터들에 대해 서로 동일성이 있는 동영상 데이터들끼리 클러스터링하는 방법에 있어서, 상기 N개의 동영상 데이터들로부터 순서와 관계없이 선택된 2개의 동영상 데이터로 구성된 총 N*(N-1)/2개의 모든 동영상 데이터 쌍 각각에 대하여, 상기 각 쌍을 구성하는 2개의 동영상 데이터 사이의 동일성 여부를 판별하고 동일 구간을 검출하는 제1 단계; 상기 제1 단계에서 동일성이 없는 것으로 판별된 경우, 상기 각 쌍을 구성하는 2개의 동영상 데이터 각각에 서로 다른 신규 클러스터 식별자를 부여하는 제2 단계; 및 상기 제1 단계에서 동일성이 있는 것으로 판별된 경우, a) 상기 각 쌍을 구성하는 2개의 동영상 데이터 중의 어느 하나에만 클러스터 식별자가 부여되어 있는 경우 그 클러스터 식별자를 다른 동영상 데이터에도 부여하고, b) 상기 각 쌍을 구성하는 2개의 동영상 데이터들에 각각 서로 다른 클러스터 식별자가 이미 부여되어 있는 경우 그 중 어느 하나의 클러스터 식별자를 선택하여 선택되지 않은 클러스터 식별자가 부여되어 있는 동영상 데이터 및 다른 모든 동영상 데이터에 상기 선택된 클러스터 식별자를 부여하고, c) 상기 각 쌍을 구성하는 2개의 동영상 데이터들 모두 클러스터 식별자가 부여되어 있지 않은 경우에는 동일한 신규 클러스터 식별자를 상기 2개의 동영상 데이터들에 부여하는 제3 단계를 수행한 후, 상기 N개의 동영상 데이터들에 각각 부여된 클러스터 식별자에 따라 클러스 터를 형성하는 것을 특징으로 하는 동영상 데이터 클러스터링 방법을 제공한다.
동영상 데이터, 중복 검출, 핑거프린트, 클러스터링

Description

동영상 데이터들을 서로 동일성이 있는 동영상 데이터들끼리 클러스터링하는 방법 및 시스템{METHOD AND SYSTEM FOR CLUSTERING MOVING PICTURE DATE ACCORDING TO THE SAMENESS WITH EACH OTHER}
도 1은 본 발명의 바람직한 일실시예에 의한 동영상 데이터 클러스터링 시스템의 내부 구성을 개략적으로 나타낸 블록도이다.
도 2는 본 발명에 의한 동영상 데이터 클러스터링 방법을 개략적으로 설명하기 위한 도면이다.
도 3은 본 발명에 의한 동영상 데이터 클러스터링 방법의 바람직한 일실시예를 나타낸 흐름도이다.
도 4는 도 3에서 설명한 방법을 수행하기 위한 구체적인 알고리듬의 일예를 나타낸 흐름도이다.
도 5는 본 발명의 바람직한 다른 실시예에 의한 동영상 데이터 클러스터링 시스템의 전체 구성을 나타낸 블록도이다.
도 6은 본 발명에 사용할 수 있는 핑거프린트 데이터의 구성의 일예를 나타낸 도면이다.
도 7은 도 5의 핑거프린트 데이터 생성부(13)에서 생성되는 핑거프린트의 종 류를 설명하기 위한 도면이다.
도 8은 본 발명에 의해 동일성 판단 및 동일 구간 검출 방법을 적용한 경우의 결과의 동영상 데이터들의 예를 나타낸 것이다.
도 9는 도 3 및 도 4의 동영상 데이터의 동일성 판단 및 동일 구간 검출 방법(단계 S310, S410)을 개략적으로 나타낸 흐름도이다.
도 10 내지 도 12는 도 9에서 설명한 단계(S900)에서의 일치하는 구간의 시작점을 검출하는 과정을 설명하기 위한 도면이다.
도 13 내지 도 15는 도 9의 단계(S910)에서 설명한 일치 구간의 종료점을 검출하는 과정을 설명하기 위한 도면이다.
도 16은 제1 동영상 데이터의 일부분이 제2 동영상 데이터의 일부분과 동일한 경우를 나타낸 도면이다.
도 17 내지 도 23은 본 발명에 적용할 수 있는 핑거프린트 생성 방법의 일예를 설명하기 위한 도면이다,
도 24는 비디오 핑거프린트 데이터의 경우 특징 데이터 추출 과정을 나타낸 흐름도이다.
<도면 주요 부분의 부호에 대한 설명>
10...동영상 데이터 클러스터링 시스템,
11...동영상 데이터 비교부,
12...클러스터링 형성부,
13...핑거프린트 데이터 생성부.
본 발명은 동영상 데이터들을 서로 동일성이 있는 동영상 데이터들끼리 클러스터링하는 방법 및 시스템에 관한 것으로서, 보다 상세하게는 적어도 하나 이상의 복수개의 동영상 데이터들을 서로 비교하여 동일성이 있는 동영상 데이터들을 판별하고 이들을 서로 다른 클러스터로 클러스터링하기 위한 방법 및 시스템에 관한 것이다.
인터넷 기술 및 컴퓨터 기술의 발전에 따라, 최근 동영상 데이터를 웹 페이지에 업로드하는 이른바 UCC(User Created Contents) 등과 같은 추세가 널리 확산되고 있다. 이와 같이 동영상 데이터를 웹(web)을 통하여 재생하거나 다운로드받을 수 있게 됨으로써, 웹에 산재해 있는 동영상 데이터간의 동일성 여부를 판별할 수 있는 기술이 요망되고 있다.
예컨대, 인터넷의 각종 검색 사이트는 대부분 특정 키워드를 입력하면 해당 키워드에 상응하는 동영상 데이터가 저장되어 있는 어드레스나 링크 주소 등을 검색 결과로서 사용자에게 제공하고 있다. 그러나, 이러한 경우 동일한 동영상 데이터가 다수 제공되고 있는데 사용자 입장에서는 이를 일일이 클릭해서 확인해보기 전에는 동일성 여부를 판별할 수 없다는 문제점이 있다. 특히, 사용자가 동영상 데이터의 재미있는 부분만을 편집하여 원본 동영상 데이터보다 축소된 형태의 데이터를 제공하고 이러한 동영상 데이터를 다른 사용자들이 그대로 복사하거나 링크를 걸어 놓는 경우가 많으므로 현재 검색 사이트에서 제공되는 동영상 데이터들은 다수의 중복 결과를 제공하고 있다.
이를 해결하기 위해서는, 검색 사이트에서 웹에서 추출되는 동영상 데이터들 간의 동일성 여부를 미리 판단해 두고 중복되는 동영상들을 하나로 묶어서 즉 클러스터링할 수 있는 기술이 요망되고 있다.
또한, 이러한 요청 이외에도, 복수개의 동영상 데이터들을 서로 동일성이 있는 동영상 데이터들끼리 클러스터링할 수 있다면, 동영상 데이터를 이용하여 검색 서비스를 제공하는 경우 뿐 아니라 각종 부가 서비스 예컨대 서로 관련되는 동영상들을 클러스터링함으로써 통합적인 광고 서비스를 제공하는 경우라든지, 불필요한 데이터들을 손쉽게 판별할 수 있는 등의 서비스에 활용한다든지, 컨텐츠 제공 서비스 업체에서 관련되는 동영상 데이터들을 클러스터링함으로써 서버의 저장 공간의 낭비를 줄일 수 있는 등, 클러스터링된 데이터를 이용하여 여러 가지 형태의 부가 서비스에 응용할 수 있을 것이지만, 종래에는 이와 같이 복수개의 동영상 데이터들을 비교함으로써 동일성이 있는 즉, 전부 또는 일부가 중복되는 동영상 데이터들을 판별하고 이들을 클러스터링할 수 있는 기술이 특별히 제안되고 있지 않은 실정이다.
본 발명은 상기한 바와 같은 점을 해결하기 위한 것으로서, 복수개의 동영상 데이터들을 서로 비교함으로써 동일성이 있는 데이터들을 판별하고, 동일성이 있는 데이터들끼리 클러스터링할 수 있는 방법 및 시스템을 제공하는 것을 목적으로 한다.
본 발명은 또한 복수개의 동영상 데이터들을 서로 비교함으로써 동일성이 있는 데이터들을 판별하고 동일성이 있는 데이터들끼리 클러스터링함에 있어서 오디오 및/또는 비디오 핑거프린트를 이용함으로써 보다 간편하고 높은 신뢰성을 가지며 외부의 노이즈에 강인한 동영상 데이터 비교 방법을 제공하고, 이러한 방법을 이용하여 신속하고 효율적으로 동일성이 있는 복수개의 동영상 데이터들을 클러스터링할 수 있는 방법 및 시스템을 제공하는 것을 또 다른 목적으로 한다.
또한, 본 발명은 복수개의 동영상 데이터들에 대하여 서로 동일성이 있는 데이터들끼리 클러스터링할 수 있도록 함으로써, 클러스터링된 동영상 데이터들을 활용하여 각종 부가 서비스에 응용할 수 있도록 하는 방법 및 시스템을 제공하는 것을 또 다른 목적으로 한다.
상기한 바와 같은 목적을 달성하기 위한 본 발명은, 적어도 2 이상인 N개의 동영상 데이터들에 대해 서로 동일성이 있는 동영상 데이터들끼리 클러스터링하는 방법에 있어서, 상기 N개의 동영상 데이터들로부터 순서와 관계없이 선택된 2개의 동영상 데이터로 구성된 총 N*(N-1)/2개의 모든 동영상 데이터 쌍 각각에 대하여, 상기 각 쌍을 구성하는 2개의 동영상 데이터 사이의 동일성 여부를 판별하고 동일 구간을 검출하는 제1 단계; 상기 제1 단계에서 동일성이 없는 것으로 판별된 경우, 상기 각 쌍을 구성하는 2개의 동영상 데이터 각각에 서로 다른 신규 클러스터 식별자를 부여하는 제2 단계; 및 상기 제1 단계에서 동일성이 있는 것으로 판별된 경우, a) 상기 각 쌍을 구성하는 2개의 동영상 데이터 중의 어느 하나에만 클러스터 식별자가 부여되어 있는 경우 그 클러스터 식별자를 다른 동영상 데이터에도 부여하고, b) 상기 각 쌍을 구성하는 2개의 동영상 데이터들에 각각 서로 다른 클러스터 식별자가 이미 부여되어 있는 경우 그 중 어느 하나의 클러스터 식별자를 선택하여 선택되지 않은 클러스터 식별자가 부여되어 있는 동영상 데이터 및 다른 모든 동영상 데이터에 상기 선택된 클러스터 식별자를 부여하고, c) 상기 각 쌍을 구성하는 2개의 동영상 데이터들 모두 클러스터 식별자가 부여되어 있지 않은 경우에는 동일한 신규 클러스터 식별자를 상기 2개의 동영상 데이터들에 부여하는 제3 단계를 수행한 후, 상기 N개의 동영상 데이터들에 각각 부여된 클러스터 식별자에 따라 클러스터를 형성하는 것을 특징으로 하는 동영상 데이터 클러스터링 방법을 제공한다.
여기에서, 상기 제1 단계에서, 각 쌍을 구성하는 2개의 동영상 데이터 사이의 동일 구간을 검출하는 것은 동일한 구간의 시간 정보를 검출하는 것일 수 있다.
또한, 상기 N개의 동영상 데이터들에 각각 부여된 클러스터 식별자에 따라 형성된 각각의 클러스터에 대하여, 각 클러스터에 포함된 동영상 데이터들을 상기 검출된 동일 구간의 시간 정보에 의거하여 정렬할 수 있다.
또한, 상기 N개의 동영상 데이터들에 각각 부여된 클러스터 식별자에 따라 형성된 각각의 클러스터에 대하여, 각 클러스터에 포함된 동영상 데이터들 중에서 적어도 하나 이상의 대표 동영상 데이터를 결정하도록 구성할 수도 있다.
또한, 상기 적어도 하나 이상의 대표 동영상 데이터는 각 클러스터에 포함된 동영상 데이터들의 시간 정보를 참조하여 대표 동영상 데이터들의 배열에 의하여 각 클러스터의 전체 구간을 포함할 수 있도록 결정할 수 있다.
또한, 상기 N개의 동영상 데이터들에 각각 부여된 클러스터 식별자에 따라 형성된 각각의 클러스터는, 각 클러스터에 포함된 동영상 데이터의 전체 개수 정보를 포함할 수 있다.
또한, 상기 제1 단계는, 상기 각 쌍을 구성하는 2개의 동영상 데이터 중의 어느 하나인 제1 동영상 데이터의 처음 P개의 핑거프린트 데이터로 구성되는 세그먼트와, 상기 각 쌍을 구성하는 2개의 동영상 데이터 중의 다른 하나인 제2 동영상 데이터의 처음부터 마지막까지 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 세그먼트를 순차적으로 대응시켜 비교하여 비교 결과값을 세그먼트별로 산출하는 제1-1 단계; 상기 제1-1 단계에서 산출된 세그먼트별 비교 결과값에 의거하여 상기 제1 동영상 데이터의 처음 P개의 핑거프린트 데이터로 구성되는 세그먼트와 동일한 핑거프린트 데이터를 갖는 제2 동영상 데이터의 세그먼트를 검출하는 제1-2 단계; 상기 제1-2 단계에서 세그먼트가 검출된 경우, 검출된 제2 동영상 데이터의 세그먼트의 시작점을 동일 구간의 시작점으로 결정하는 제1-3 단계; 제1 동영상 데이터의 두번째 핑거프린트 데이터로부터 P개씩의 핑거프린트 데이터로 순차적으로 구성되 는 세그먼트와, 상기 제1-2 단계에서 검출된 제2 동영상 데이터의 세그먼트의 다음 세그먼트에 상응하는 핑거프린트 데이터로부터 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 세그먼트를, 각 세그먼트별로 순차적으로 대응시켜 비교함으로써 동일하지 않은 핑거프린트 데이터를 갖는 제2 동영상 데이터의 최초의 세그먼트를 검출하는 제1-4 단계; 상기 제1-4 단계에서 최초의 세그먼트가 검출된 경우, 검출된 제2 동영상 데이터의 최초의 세그먼트의 시작점을 동일 구간의 종료점으로 결정하는 제1-5 단계; 및 상기 제1-4 단계에서 상기 제1 및 제2 동영상 데이터 중의 어느 하나의 마지막 세그먼트에 도달할 때까지 세그먼트가 검출되지 않은 경우, 상기 마지막 세그먼트의 종료점을 동일 구간의 종료점으로 결정하는 제1-6 단계를 포함할 수 있다.
또한, 상기 제1-2 단계에서, 상기 제1 동영상 데이터의 처음 P개의 핑거프린트 데이터로 구성되는 세그먼트와 동일한 핑거프린트 데이터를 갖는 제2 동영상 데이터의 세그먼트가 검출되지 않은 경우, 제2 동영상 데이터의 처음 P개의 핑거프린트 데이터로 구성되는 세그먼트와, 제1 동영상 데이터의 처음부터 마지막까지 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 세그먼트를 순차적으로 대응시켜 비교하여 비교 결과값을 세그먼트별로 산출하는 제1-7 단계; 상기 제1-7 단계에서 산출된 세그먼트별 비교 결과값에 의거하여 상기 제2 동영상 데이터의 처음 P개의 핑거프린트 데이터로 구성되는 세그먼트와 동일한 핑거프린트 데이터를 갖는 제1 동영상 데이터의 세그먼트를 검출하는 제1-8 단계; 상기 제1-8 단계에서 세그먼트가 검출된 경우, 검출된 제1 동영상 데이터의 세그먼트의 시작점을 동일 구간의 시 작점으로 결정하는 제1-9 단계; 제2 동영상 데이터의 두번째 핑거프린트 데이터로부터 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 세그먼트와, 상기 제1-8 단계에서 검출된 제1 동영상 데이터의 세그먼트의 다음 세그먼트에 상응하는 핑거프린트 데이터로부터 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 세그먼트를, 각 세그먼트별로 순차적으로 대응시켜 비교함으로써 동일하지 않은 핑거프린트 데이터를 갖는 제1 동영상 데이터의 최초의 세그먼트를 검출하는 제1-10 단계; 상기 제1-10 단계에서 최초의 세그먼트가 검출된 경우, 검출된 제1 동영상 데이터의 최초의 세그먼트의 시작점을 동일 구간의 종료점으로 결정하는 제1-11 단계; 및 상기 제1-10 단계에서 상기 제1 및 제2 동영상 데이터 중의 어느 하나의 마지막 세그먼트에 도달할 때까지 세그먼트가 검출되지 않은 경우, 상기 마지막 세그먼트의 종료점을 동일 구간의 종료점으로 결정하는 제1-12 단계를 포함할 수 있다.
또한, 상기 핑거프린트 데이터는 상기 동영상 데이터로부터 추출한 오디오 신호에 의해 생성된 오디오 핑거프린트 데이터일 수 있다.
또한, 상기 핑거프린트 데이터는 상기 동영상 데이터로부터 추출한 비디오 신호에 의해 생성된 비디오 핑거프린트 데이터일 수 있다.
또한, 상기 핑거프린트 데이터는, 상기 제1 및 제2 동영상 데이터를 적어도 하나 이상의 제1 프레임들로 분할하고, 상기 분할된 제1 프레임들 각각에 대하여 특징 데이터를 추출하는 a) 단계; 상기 분할된 제1 프레임들 각각에 대하여 상기 특징 데이터의 분포 특징을 나타내는 특징 분포 데이터를 생성하는 b) 단계; 및 상기 제1 및 제2 동영상 데이터를 적어도 하나 이상의 제2 프레임들로 분할하고, 상 기 제1 프레임들에 대하여 생성된 특징 분포 데이터를 이용하여, 상기 제2 프레임들 각각에 대한 핑거프린트 데이터를 생성하는 제 c) 단계에 의해 생성할 수 있다.
또한, 상기 a) 단계 및 제 c) 단계는, 분할되는 하나의 프레임과 인접하는 다음 시간 간격의 프레임이 서로 공통되는 부분을 갖도록 분할할 수 있다.
또한, 상기 제2 프레임 각각의 길이는 상기 제1 프레임 각각의 길이 보다 길게 할 수 있다.
또한, 상기 a) 단계는, 상기 분할된 제1 프레임들 각각에 대하여, MFCC(Mel Frequency Cepstral Coefficient), PLPC(Perceptual Linear Prediction Coefficient) 또는 LPC(Linear Prediction Coefficient) 중에서 적어도 어느 하나 이상의 조합을 사용하여 특징 벡터를 추출하는 것일 수 있다.
또한, 상기 a) 단계는, 상기 분할된 제1 프레임들 각각에 대하여, 차분 MFCC(delta Mel Frequency Cepstral Coefficient) 및/또는 차차분 MFCC(acceleration Mel Frequency Cepstral Coefficient) 중에서 적어도 하나 이상의 조합을 사용하여 특징 벡터를 추출할 수 있다.
또한, 상기 핑거프린트 데이터가 동영상 데이터의 비디오 신호에서 추출한 비디오 핑거프린트인 경우, 상기 a) 단계는, 분할된 제1 프레임 각각을 n×n 크기의 서브 프레임으로 분할하는 단계; 상기 분할된 서브 프레임 각각을 구성하는 화소들의 R,G,B값 각각에 대한 평균값을 계산하는 단계; 및 상기 계산된 평균값 각각에 대하여 n×n×3차의 특징 벡터를 추출하는 단계를 포함할 수 있다.
또한, 상기 계산된 평균값 각각에 대하여 n×n×3차의 특징 벡터를 추출하는 단계 이후, 상기 추출된 특징 벡터값이 각 n×n 크기의 서브 프레임의 가장 밝은 R,G,B값과 가장 어두운 R,G,B 값 사이에 속하도록 정규화하는 단계를 더 포함할 수 있다.
또한, 상기 계산된 평균값 각각에 대하여 n×n×3차의 특징 벡터를 추출하는 단계는, 상기 추출된 n×n×3차의 특징 벡터에 대하여, 차분 및/또는 차차분 연산을 수행하고 이들의 결과값의 적어도 하나 이상의 조합을 사용하여 특징 벡터를 추출하는 단계를 더 포함할 수 있다.
또한, 상기 b) 단계는, 상기 a) 단계에서 추출된 특징 벡터들을 적어도 하나 이상의 그룹들로 그룹화하고 각각의 그룹에 대한 인덱스값을 저장하고 있는 코드북을 참조하여, 상기 분할된 제1 프레임들 각각에 대하여 인덱스값을 산출함으로써 특징 분포 데이터를 생성할 수 있다.
또한, 상기 코드북은 상기 그룹별로 특징 벡터들의 평균값을 가지며, 상기 분할된 제1 프레임들 각각에 대한 특징 벡터들과 상기 각 그룹별 특징 벡터들의 평균값과의 거리에 의해 인덱스값을 산출하도록 구성할 수 있다.
또한, 상기 c) 단계에 있어서, 상기 제2 프레임들 각각에 대한 핑거프린트 데이터는, 상기 각각의 제2 프레임들에 포함되는 제1 프레임들 각각에 대한 특징 분포 데이터의 빈도를 계산함으로써 생성할 수 있다.
또한, 상기 제1-1 단계는, 제2 동영상 데이터의 처음부터 마지막까지 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 각 세그먼트에 대하여, 각 세그먼트에 포함된 P개의 핑거프린트 데이터와 제1 동영상 데이터의 세그먼트의 P개의 핑거 프린트 데이터를 순차적으로 대응시켜 비교함으로써 대응되는 핑거프린트 데이터 사이의 거리를 계산하는 제1-1-1 단계; 및 상기 계산된 거리의 합을 제2 동영상 데이터의 모든 세그먼트에 대하여 세그먼트 별로 산출하는 제1-1-2 단계를 포함할 수 있다.
또한, 상기 제1-1-1 단계에서, 대응되는 핑거프린트 데이터 사이의 거리는, 대응되는 각 핑거프린트 데이터를 구성하는 특징 분포 데이터들에 의해 생성된 빈도 데이터들을 순차적으로 비교하면서 빈도 데이터 간의 최소값을 결정하고 결정된 최소값의 합을 산출함으로써 계산될 수 있다.
또한, 상기 제1-2 단계는, 제2 동영상 데이터의 모든 세그먼트에 대하여 세그먼트 별로 산출된 거리의 합 중에서 최대값을 검출하고, 상기 최대값이 소정 임계치보다 큰 경우, 상기 최대값을 갖는 세그먼트를 상기 제1 동영상 데이터의 처음 P개의 핑거프린트 데이터로 구성되는 세그먼트와 동일한 핑거프린트 데이터를 갖는 제2 동영상 데이터의 세그먼트로서 검출하는 것일 수 있다.
또한, 제1-4 단계는, 제1 동영상 데이터의 두번째 핑거프린트 데이터로부터 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 세그먼트와, 상기 제1-2 단계에서 검출된 제2 동영상 데이터의 세그먼트의 다음 세그먼트에 상응하는 핑거프린트 데이터로부터 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 세그먼트를, 각 세그먼트에 포함된 P개씩의 핑거프린트 데이터를 순차적으로 대응시켜 비교함으로써 대응되는 핑거프린트 데이터 사이의 거리를 계산하고, 상기 계산된 거리의 합을 산출한 후, 상기 계산된 거리의 합이 소정 임계치보다 작은 경우에 비교되는 세그 먼트가 서로 동일하지 않은 핑거프린트 데이터를 갖는 것으로 결정하고 해당 세그먼트를 제2 동영상 데이터의 최초의 세그먼트로서 검출하도록 구성할 수 있다.
또한, 상기 각 세그먼트에 포함된 P개씩의 핑거프린트 데이터를 순차적으로 대응시켜 비교함으로써 대응되는 핑거프린트 데이터 사이의 거리를 계산하는 것은, 대응되는 각 핑거프린트 데이터를 구성하는 특징 분포 데이터들에 의해 생성된 빈도 데이터들을 순차적으로 비교하면서 빈도 데이터 간의 최소값을 결정하고 결정된 최소값의 합을 산출함으로써 계산되는 것일 수 있다.
본 발명의 다른 측면에 의하면, 적어도 2 이상인 N개의 동영상 데이터들에 대해 서로 동일성이 있는 동영상 데이터들끼리 클러스터링하는 시스템에 있어서, 상기 N개의 동영상 데이터들로부터 순서와 관계없이 선택된 2개의 동영상 데이터로 구성된 총 N*(N-1)/2개의 모든 동영상 데이터 쌍 각각에 대하여, 상기 각 쌍을 구성하는 2개의 동영상 데이터 사이의 동일성 여부를 판별하고 동일 구간을 검출하는 동영상 데이터 비교부; 상기 동영상 데이터 비교부에서 동일성이 없는 것으로 판별된 경우, 상기 각 쌍을 구성하는 2개의 동영상 데이터 각각에 서로 다른 신규 클러스터 식별자를 부여하고, 상기 동영상 데이터 비교부에서 동일성이 있는 것으로 판별된 경우, a) 상기 각 쌍을 구성하는 2개의 동영상 데이터 중의 어느 하나에만 클러스터 식별자가 부여되어 있는 경우 그 클러스터 식별자를 다른 동영상 데이터에도 부여하고, b) 상기 각 쌍을 구성하는 2개의 동영상 데이터들에 각각 서로 다른 클러스터 식별자가 이미 부여되어 있는 경우 그 중 어느 하나의 클러스터 식별자를 선택하여 선택되지 않은 클러스터 식별자가 부여되어 있는 동영상 데이터 및 다른 모든 동영상 데이터에 상기 선택된 클러스터 식별자를 부여하고, c) 상기 각 쌍을 구성하는 2개의 동영상 데이터들 모두 클러스터 식별자가 부여되어 있지 않은 경우에는 동일한 신규 클러스터 식별자를 상기 2개의 동영상 데이터들에 부여하는 과정을 수행한 후, 상기 N개의 동영상 데이터들에 각각 부여된 클러스터 식별자에 따라 클러스터를 형성하는 클러스터링 형성부를 포함하는 동영상 데이터 클러스터링 시스템을 제공할 수 있다.
이하, 첨부 도면을 참조하여 본 발명의 구성을 상세하게 설명한다.
도 1은 본 발명의 바람직한 일실시예에 의한 동영상 데이터 클러스터링 시스템(10)의 내부 구성을 개략적으로 나타낸 블록도이다.
도 1을 참조하면, 동영상 데이터 클러스터링(clustering) 시스템(10)은, 동영상 데이터 비교부(11)와 클러스터링 형성부(12)를 포함한다.
동영상 데이터 비교부(11)는. 동영상 데이터들을 비교하여 동일성 여부를 판별하고 동일한 구간을 검출하는 기능을 수행하기 위한 수단이며, 입력되는 2개의 동영상 데이터들을 서로 비교하여 동일성 여부를 판별하고 또한 동일한 구간을 검출하여 그 결과를 클러스터링 형성부(12)로 전달한다.
여기에서, "동일성"이라는 의미는, 완전히 동일하거나 또는 적어도 일부의 구간이 동일한 것을 의미한다. 바꾸어 말하면, 서로 중복되는 구간이 부분적으로라도 존재하는 경우는 동일성이 있다. 이러한 동일성의 의미는 본 명세서에서 계 속 같은 의미로 사용된다.
클러스터링 형성부(12)는 동영상 데이터 비교부(12)에서 수행된 동영상 데이터 사이의 비교 결과 즉, 동일성 여부 및 동일 구간 검출 정보에 따라 동영상 데이터들을 서로 동일성이 있는 동영상 데이터들끼리 클러스터링하는 역할을 수행한다. 본 명세서에서 "클러스터링(clustering)"이라 함은, 서로 동일성이 있는 동영상 데이터들끼리 그룹화하고 이들에 대해 서로 다른 클러스터 식별자(cluster ID)를 부여한다는 의미로서, 이에 대한 보다 상세한 설명은 도 2를 참조하여 후술한다.
한편, 동영상 데이터 클러스터링 시스템(10)은 동영상 데이터, 클러스터 정보 등의 각종 데이터를 저장하는 동영상 데이터베이스와 결합하여, 데이터를 읽어 들이거나 저장한다.
도 2는 본 발명에 의한 동영상 데이터 클러스터링 방법을 개략적으로 설명하기 위한 도면이다.
본 발명에 있어서 동영상 데이터를 클러스터링한다는 것은, 적어도 하나 이상의 복수개의 동영상 데이터들에 대해서, 이들을 서로 비교함으로써, 동일성이 있는 데이터들을 판별하고, 동일성이 있는 동영상 데이터들끼리 묶는(clustering)다는 것을 의미한다.
도 2의 좌측을 참조하면, N개의 동영상 데이터가 구비되어 있으며, 이들은 서로 동일성이 있는 것들과 서로 동일성이 없는 것들이 혼재되어 있음을 알 수 있다. 이러한 N개의 동영상 데이터에 대하여 본 발명에 의하여 클러스터링을 수행하 면, 도 2의 우측에 도시된 바와 같이, 서로 동일성이 있는 데이터들끼리 서로 묶여져 있음을 알 수 있다. 즉, 도 2의 우측에 나타낸 바와 같이, 클러스터링이라는 것은, 서로 다른 클러스터 식별자(cluster ID) 각각에 대해 서로 동일성이 있는 동영상 데이터들을 하나의 클러스터로 그룹화하는 것을 의미한다.
도 2에 도시된 바와 같이, 클러스터 1은 동영상 데이터 C로만 구성되어 있는데, 이는 동영상 데이터 C와 동일성이 있는 다른 동영상 데이터는 존재하지 않는다는 것을 의미한다. 클러스터 4는 동영상 데이터 B-B`-B``-B가 순차적으로 구성되어 있는데, 이는 클러스터 4에는 4개의 서로 동일성이 있는 동영상 데이터가 존재한다는 것을 의미한다.
도 3은 본 발명에 의한 동영상 데이터 클러스터링 방법의 바람직한 일실시예를 나타낸 흐름도이다.
도 3을 참조하면, 본 실시예의 방법은 적어도 2 이상의 N개의 동영상 데이터들에 대해서 이들을 각각 서로 비교하여 동일성 여부 및 동일 구간을 검출하고, 동일성이 있는 동영상 데이터들끼리 클러스터를 형성한다.
우선, 적어도 2 이상의 N개의 동영상 데이터를 서로 각각 비교하기 위하여 순서와 관계없이 2개의 동영상 데이터를 선택함으로써 총 N×(N-1)/2개의 동영상 데이터 쌍을 준비하고(S300), 이들 각각의 쌍에 대해 순차적으로 하나씩 동일성 여부 및 동일 구간 검출을 수행한다(S310).
하나의 쌍에 대해서 동일성 여부 및 동일 구간 검출을 수행하여 동일성이 있 는 것으로 판별된 경우(S320), 하나의 쌍을 구성하는 2개의 동영상 데이터들에 대하여 동일한 클러스터 식별자를 부여하게 되는데, 이를 위하여 단계(S330)를 수행한다. 즉, 하나의 쌍을 구성하는 2개의 동영상 데이터 중의 어느 하나에만 클러스터 식별자가 부여되어 있는 경우에는 그 클러스터 식별자를 클러스터 식별자가 부여되어 있지 않은 다른 동영상 데이터에도 부여한다(S330의 ①).
하나의 쌍을 구성하는 2개의 동영상 데이터들에 각각 서로 다른 클러스터 식별자가 이미 부여되어 있는 경우에는 그 중 어느 하나의 클러스터 식별자를 선택하여 통일시킨다(S330의 ②). 예컨대, 2개의 동영상 데이터들에 클러스터 식별자 1, 클러스터 식별자 2가 각각 부여되어 있는 경우, 클러스터 식별자 1을 선택하고 클러스터 식별자 2가 부여되어 있는 동영상 데이터의 클러스터 식별자를 클러스터 식별자 1로 변경한다. 이와 함께, 선택되지 않은 클러스터 식별자가 부여되어 있는 다른 모든 동영상 데이터들에 대해서도 상기에서 선택한 클러스터 식별자를 모두 부여한다. 앞의 경우에서, 상기 쌍에 포함된 동영상 데이터 이외에 클러스터 식별자 2가 부여되어 있는 다른 모든 동영상 데이터들의 클러스터 식별자를 모두 클러스터 식별자 1로 변경한다. 이 경우, 어느 하나의 클러스터 식별자를 선택하는 것은 예컨대 2개의 클러스터 식별자 중에서 작은 값을 선택하는 등의 방법을 사용할 수 있다.
한편, 단계(S330)에서, 기타의 경우 즉, 하나의 쌍을 구성하는 2개의 동영상 데이터들 모두 클러스터 식별자가 부여되어 있지 않은 경우에는 새로운 클러스터 식별자를 2개의 동영상 데이터들에 동일하게 부여한다(S330의 ③).
이러한 단계(S330)를 수행한 후, 모든 동영상 데이터 쌍에 대해서 수행했는지를 판단하고(S340), 남아 있는 동영상 데이터 쌍이 있다면 상기 단계(S310) 내지 단계(S330)를 반복한다.
한편, 단계(S320)에서 하나의 쌍을 구성하는 2개의 동영상 데이터가 서로 동일성이 없는 것으로 판별된 경우, 2개의 동영상 데이터에는 서로 다른 새로운 클러스터 식별자를 각각 부여하고(S350), 모든 동영상 데이터 쌍에 대해서 수행했는지를 판단하고(S340), 남아 있는 동영상 데이터 쌍이 있다면 상기 단계(S310) 내지 단계(S330)를 반복한다.
이러한 과정이 종료되면, N개의 모든 동영상 데이터들 각각에는 서로 동일성이 있는 동영상 데이터들끼리 동일한 클러스터 식별자가 부여되게 되는데, 이러한 클러스터 식별자에 따라 즉 같은 클러스터 식별자를 갖는 동영상 데이터들끼리 클러스터를 형성할 수 있게 된다.
도 4는 도 3에서 설명한 방법을 수행하기 위한 구체적인 알고리듬의 일예를 나타낸 흐름도이다.
도 4의 흐름도는, N개의 동영상 데이터들에 대해 두번째 동영상 데이터로부터 시작하여 그 앞까지의 동영상 데이터를 비교함으로써 총 N×(N-1)/2개의 동영상 데이터 쌍에 대해 도 3과 같은 클러스터링 과정을 수행하기 위한 방법의 일예를 나타낸 것이다.
이를 위하여 우선, N개의 동영상 데이터 각각에 1~N까지의 동영상 데이터 식 별자(ID)를 순차적으로 각각 부여한다. 도 4의 경우는, 이러한 N개의 동영상 데이터 중에서 2번째 동영상 데이터 식별자에 상응하는 동영상 데이터로부터 시작하여 N번째 동영상 데이터 식별자에 상응하는 동영상 데이터까지 진행하면서, 각각 순번의 그 앞까지의 동영상 데이터 식별자에 상응하는 동영상 데이터와 쌍을 구성하는 것이다. 예컨대, 동영상 데이터 식별자 2는 동영상 데이터 식별자 1와 쌍을 구성하고, 다음 단계로 동영상 데이터 식별자 3은 동영상 데이터 식별자 1, 2와 순차적으로 쌍을 구성하고, 다음으로 동영상 데이터 식별자 4는 동영상 데이터 식별자 1, 2, 3과 순차적으로 쌍을 구성하는 방식이다.
시작 단계에서, i=2, j=1로 지정하는데(S400) 여기서 i, j는 각각 동영상 데이터의 순서를 나타내기 위한 변수이다. 다음으로, i번째 동영상 데이터로부터 시작하여(최초에는 i=2이므로 2번째 동영상 데이터부터 시작), j번째 동영상 데이터와 동일성 판단/동일구간 검출 작업을 수행(S410)하고, 동일성이 있는 경우 해당 동영상 데이터들에 동일한 클러스터 식별자(CID)를 부여한다(S430). 여기서, 단계(S430)은 도 3에서 설명한 단계(S330)와 동일하므로 중복 설명은 생략한다. 만약, 동일성이 없다면 서로 다른 새로운 클러스터 식별자(CID)를 i, j에 해당하는 동영상 데이터에 각각 부여한다(S480).
다음으로, j의 값을 1 증가시키고(S440), j의 값이 i와 동일한지를 판단한다(S450). j의 값이 i와 동일하지 않은 경우, 즉 i보다 작은 경우에는 단계(S410) 로 돌아가서 단계(S440)까지를 반복 수행한다.
한편, 단계(S450)에서 i가 j와 같게 된 경우에는, i의 값을 1 증가시키고 j 를 다시 1로 변경한 후, i<=N인 경우(S470)에 단계(S410)으로 돌아가서 전술한 바와 같은 과정을 반복 수행한다.
도 4에서 설명한 예시는, N개의 동영상 데이터들에 대해 순서와 관계없이 서로 다른 2개의 동영상 데이터 쌍을 구성하기 위한 방법으로서, 2번째 동영상 데이터로부터 순차적으로 N번째 동영상 데이터까지 진행하면서 그 앞까지의 동영상 데이터들과 쌍을 구성하는 경우에 대한 것이나, 예컨대 맨 마지막 동영상 데이터(N번째)로부터 시작하여 2번째 동영상 데이터까지 진행하는 경우에도 같은 결과를 얻을 수 있을 것이다.
한편, 본 발명은 도 3 내지 도 4에서 하나의 동영상 데이터 쌍에 대하여 동일성을 판단하고 동일 구간을 검출하는 단계(S310,S410)에 있어서의 동일성 판단 방법에 특별히 종속되지 않는다. 즉, 본 발명은 이러한 동일성 여부의 판단 방법 및 동일 구간 검출 방법 그 자체를 직접적인 목적으로 하는 것은 아니며, 동영상 데이터를 비교하여 동일성 여부를 판단하고 또한 동일 구간을 검출하기 위한 어떠한 방법이라도 본 발명에는 그대로 적용할 수 있다.
이하에서는, 본 출원인이 고안한, 본 발명에 적용시킬 수 있는 동일성 판단 및 동일 구간 검출 방법 특히 오디오 및/또는 비디오 핑거프린트 데이터를 이용하여 동일성을 판단하고 동일구간을 검출하는 방법의 일예를 설명한다.
도 5는 동영상 데이터들에 대하여 오디오 및/또는 비디오 핑거프린트 데이터 를 생성하고 이를 이용하여 동영상 데이터를 비교하여 동일성 여부를 판단하고 동일 구간을 검출한 후, 서로 동일성이 있는 동영상 데이터들끼리 클러스터링을 수행하기 위한 동영상 데이터 클러스터링 시스템(10)의 전체 구성을 나타낸 블록도이다.
도 5의 동영상 데이터 클러스터링 시스템(10)은 도 1의 시스템과 비교할 때, 핑거프린트 데이터 생성부(13)를 더 포함한다는 점을 제외하고는 기타 구성 및 작용은 동일하므로, 이하에서는 핑거프린트 데이터 생성부(13)의 구성 및 작용에 대해서 주로 설명하기로 한다.
핑거프린트 데이터 생성부(13)는 동영상 데이터의 특징을 나타내는 핑거프린트 데이터를 생성하는 역할을 수행하는 수단으로서, 동영상 데이터로부터 오디오 신호와 비디오 신호를 분리 추출하는 수단을 포함할 수 있으며, 이러한 수단에 의하여 분리 추출된 오디오 신호 및 비디오 신호에 대한 오디오 핑거프린트 데이터와 비디오 핑거프린트 데이터를 각각 생성할 수 있다. 핑거프린트 데이터 생성부(13)는 오디오 및/또는 비디오 핑거프린트 데이터가 생성하여 데이터베이스에 저장하거나 동영상 데이터 비교부(11)로 전송하고, 동영상 데이터 비교부(11)는 도 1 내지 도 4에서 설명한 동영상 데이터의 동일성 여부 판단 및 동일 구간 검출 작업을 핑거프린트 데이터들을 비교함으로써 수행하게 된다.
도 6은 도 5의 핑거프린트 데이터 생성부(13)에서 생성되는 핑거프린트 데이터의 구성의 일예를 나타낸 도면이다.
도 6의 예의 핑거프린트는 동영상 데이터를 적어도 하나 이상의 프레임으로 분할하고, 이들 분할된 프레임의 소정 개수씩 마다 핑거프린트 데이터를 생성한다는 점을 특징으로 한다.
도 6의 (a)에서, 동영상 데이터는 총 M개의 프레임으로 분할되어 있으며, 맨 처음 프레임부터 하나의 프레임씩 이동하면서 5개씩마다에 대해 각각 핑거프린트 데이터를 생성하여 총 T1개의 핑거프린트 데이터를 생성하고 이들의 집합에 의해 동영상 데이터 전체의 핑거프린트 데이터를 형성함을 알 수 있다.
도 6의 (b)에서, 동영상 데이터는 총 M개의 프레임으로 분할되어 있으며, 맨 처음 프레임부터 5개씩 마다에 대해 핑거프린트 데이터를 생성한다는 점은 도 2의 (a)와 동일하지만, 두개의 프레임씩 이동하면서 핑거프린트 데이터를 생성하여 총 T2개의 핑거프린트 데이터를 생성한다는 점에서 차이가 있다. 물론, T2는 T1보다 작은 값을 갖게 될 것이다.
도 6은 예시적인 것으로서, 동영상 데이터를 소정 개수의 프레임으로 분할하고 몇개씩 마다의 프레임에 대해 핑거프린트 데이터를 생성할 것인지 또한 몇개의 프레임마다 이동하면서 핑거프린트 데이터를 생성할 것인지는 필요에 따라 결정할 수 있다. 핑거프린트 데이터의 개수가 많아질수록 정교한 비교가 가능하다는 장점이 있지만 연산 시간이 늘어날 수 있다는 단점이 있으므로 장단점을 적절히 비교 교량하여 선택하는 것이 바람직하다.
도 7은 도 5의 핑거프린트 데이터 생성부(13)에서 생성되는 핑거프린트의 종 류를 설명하기 위한 도면이다.
통상적으로 동영상 데이터는 오디오 신호와 비디오 신호가 혼합되어 있으며 이들은 각각 별도의 오디오 신호 및 비디오 신호로 분리 추출할 수 있다. 동영상 데이터로부터 오디오 신호 및 비디오 신호가 분리 추출되면 각 신호에 대해서 오디오 신호의 특성을 나타내는 오디오 핑거프린트 데이터와 비디오 신호의 특성을 나타내는 비디오 핑거프린트 데이터를 생성할 수 있으며, 도 7은 이러한 과정을 설명하기 위한 것이다.
본 발명에서는 도 7에서와 같이 생성된 오디오 핑거프린트 또는 비디오 핑거프린트 데이터 중 어느 하나를 사용하거나 이들을 동시에 사용할 수 있다. 예컨대, 오디오 신호가 묵음인 경우 등에는 비디오 핑거프린트 데이터만을 이용하여 동일성 여부 및 동일 구간을 검출할 수 있을 것이다. 오디오 및 비디오 핑거프린트 데이터를 동시에 사용하는 경우에는 보다 정밀한 비교가 가능하게 될 것이다.
도 8은 본 발명에 의해 동일성 판단 및 동일 구간 검출 방법을 적용한 경우의 결과의 동영상 데이터들의 예를 나타낸 것이다.
도 8의 (a)는 비교되는 두 동영상 데이터가 완전히 일치하는 경우이며, (b)는 비교되는 두 동영상 데이터의 일부가 일치하는 경우이다. (b)의 경우는 위쪽의 동영상 데이터의 전부가 아래쪽의 동영상 데이터에 완전히 포함되어 있는 경우이다.
한편, 도 8의 (c)는 위쪽의 동영상 데이터의 일부가 아래쪽 동영상 데이터의 일부와 겹치는 경우이며, 도 8의 (d)는 위쪽의 동영상 데이터의 일부와 아래쪽 동영상 데이터의 일부만이 서로 공통되는 경우를 나타낸 것이다.
도 9는 도 3 및 도 4의 동영상 데이터의 동일성 판단 및 동일 구간 검출 방법(단계 S310, S410)을 개략적으로 나타낸 흐름도이다.
도 9에서, 서로 비교할 대상이 되는 2개의 동영상 데이터 즉, 도 3 및 도 4에서 N개의 동영상 데이터 중에서 순서와 관계없이 선택된 서로 다른 2개의 동영상 데이터 쌍 중의 하나를 제1 동영상 데이터라고 하고 다른 하나를 제2 동영상 데이터라고 정의하며, 제1 및 제2 동영상 데이터 는 모두 도 6에서 나타낸 바와 같이 구성되는 핑거프린트 데이터를 갖는다고 정의한다.
도 9를 참조하면, 우선, 제2 동영상 데이터에 대하여 제1 동영상 데이터의 시작점과 동일한 시작점을 검출하고 시작점의 정보를 저장한다(S900). 시작점이 검출되면, 제2 동영상 데이터에 대하여 제1 동영상 데이터의 종료점과 동일한 종료점을 검출하고 종료점의 정보를 저장한다(S910). 이후, 제1 동영상 데이터와 제2 동영상 데이터는 동일성이 있는 것으로 판별하고, 단계(S900) 및 단계(S910)에서 저장한 시작점 및 종료점의 정보를 알려준다(S940).
한편, 단계(S910)에서, 제2 동영상 데이터에 대하여 제1 동영상 데이터의 시작점과 동일한 시작점이 검출되지 않는 경우에는, 제1 동영상 데이터와 제2 동영상 데이터를 서로 바꾸어서 상기 단계(S900) 및 단계(S910)과 동일한 단계를 수행한다(S920, S930). 즉, 제1 동영상 데이터에 대하여 제2 동영상 데이터의 시작점과 동일한 시작점을 검출하고 시작점의 정보를 저장한다(S920). 시작점이 검출되면, 제1 동영상 데이터에 대하여 제2 동영상 데이터의 종료점과 동일한 종료점을 검출하고 종료점의 정보를 저장한다(S930). 이후, 제1 동영상 데이터와 제2 동영상 데이터는 동일성이 있는 것으로 판별하고, 단계(S920) 및 단계(S930)에서 저장한 시작점 및 종료점의 정보를 알려준다(S140).
만약, 단계(S920)에서 시작점이 검출되지 않으면, 제1 및 제2 동영상 데이터는 동일한 구간이 없다는 것으로 결정한다(S950).
도 10 내지 도 12는 도 9에서 설명한 단계(S900)에서의 일치하는 구간의 시작점을 검출하는 과정을 설명하기 위한 도면이다.
도 10을 참조하면, 비교되는 동영상 데이터는 도 8의 (b)의 경우와 같이 부분적으로 일치한다고 가정한다. 즉, 비교되는 제1 동영상 데이터는 제2 동영상 데이터의 일부분에 완전히 포함되어 있는 경우이다.
제1 동영상 데이터는 총 M개의 핑거프린트 데이터를 가진다(H1={h11,h12,h13,...h1M}. 제2 동영상 데이터는 총 N개의 핑거프린트 데이터를 가진다(H2={h21,h22,h23...h2N}). 한편, 여기에서의 핑거프린트 데이터는 도 6에서 설명한 바와 같이 형성된다.
이러한 상태에서, 제1 동영상 데이터의 시작점과 일치하는 제2 동영상 데이터의 시작점을 찾기 위한 과정(S900)을 도 11을 참조하여 설명한다.
우선, 제1 동영상 데이터의 핑거프린트 데이터 중에서 최초의 P개(도 11에서 는 P=5로 가정)의 핑거프린트 데이터를 세그먼트 S11이라고 하면, S11은 h11,h12,h13,h14,h15의 5개의 핑거프린트 데이터로 구성된다.
한편, 제2 동영상 데이터에 대해서는, 처음부터 마지막까지 각각 P개씩의 핑거프린트 데이터를 하나의 핑거프린트 데이터 마다 순차적으로 세그먼트 S21,S22,,...라고 하면, S21은 h21,h22,h23,h24,h25로 구성되고, S22는 h22,h23,h24,h25,h26으로 구성된다. 마지막 세그먼트 S2마지막은 h2(N-4),h2(N-3),h2(N-2),h2(N-1),h2N으로 구성됨을 알 수 있다.
이와 같이, 제1 동영상 데이터의 최초의 P개의 핑거프린트 데이터로 구성되는 S11을 제2 동영상 데이터의 최초부터 마지막까지 P개씩의 핑거프린트 데이터로 구성되는 세그먼트 S21,S22,...S2N과 순차적으로 비교하고 비교 결과값을 산출한다(도 12의 S901). 여기에서, 각 세그먼트를 비교하는 것은 각 세그먼트에 포함된 P개의 핑거프린트 데이터를 순서대로 대응시키면서 비교값을 산출하는 방법을 사용할 수 있다. 비교값을 산출하는 것은 핑거프린트 데이터의 종류에 따라 여러 형태의 연산을 사용할 수 있다. 예컨대, 핑거프린트 데이터가 h1={7,4,2,5}와 같은 숫자 열로 표현되는 경우에는 이들에 대해서 덧셈이나 뺄셈, 또는 최소값 결정 등의 연산 방법을 사용하여 비교하는 핑거프린트 데이터에 대한 비교값을 산출할 수 있다.
이와 같이 도 12의 단계(S901)에서 제2 동영상 데이터의 모든 세그먼트에 대해서 비교 결과값이 산출되면 이들 결과값으로부터 제2 동영상 데이터에 있어서 제1 동영상 데이터의 최초 P개의 핑거프린트 데이터와 동일한 핑거프린트 데이터를 갖는 세그먼트를 검출한다(도 12의 S902).
세그먼트가 검출되면, 검출된 세그먼트의 시작점을 동일 구간의 시작점으로 결정하고 해당 시작점의 정보를 저장한다(도 12의 S903). 여기에서, 시작점의 정보는 예컨대 동영상 데이터의 맨 처음부터 해당 시작점 까지의 시간 정보일 수 있다.
세그먼트가 검출되지 않으면, 제2 동영상 데이터에는 제1 동영상 데이터의 최초의 P개의 핑거프린트 데이터와 동일한 핑거프린트 데이터를 갖는 세그먼트가 존재하지 않는다는 것이므로, 도 9의 단계(S920)으로 분기한다. 도 9의 단계(S920)에서는 제1 동영상 데이터와 제2 동영상 데이터를 서로 바꾸어서 앞서 설명한 바와 같은 도 12의 단계(S901) 내지 단계(S903)을 수행하게 된다.
이와 같은 과정을 수행하면, 제1 동영상 데이터의 시작점과 일치하는 제2 동영상 데이터의 시작점을 검출할 수 있다. 이렇게 시작점이 검출되면, 도 9의 단계(S910)에서 설명한 바와 같이 일치하는 구간의 종료점을 검출하는 과정을 수행한다.
다음으로, 도 13 내지 도 15를 참조하여, 일치 구간의 종료점을 검출하는 과정을 설명한다. 도 13 내지 도 15는 도 9의 단계(S910)에서 설명한 일치 구간의 종료점을 검출하는 과정을 설명하기 위한 도면이다.
도 13은 도 10 내지 도 12에서 검출된 시작점의 위치를 나타낸 도면이다. 앞서 설명한 바와 같이, 제2 동영상 데이터에서 제1 동영상 데이터의 시작점과 일 치하는 세그먼트를 검출하는데, 이 때 해당 세그먼트의 시작점을 일치 구간의 시작점으로 결정하고 구간 정보를 저장하게 된다. 일치구간의 종료점을 검출하는 것은, 시작점의 세그먼트에 포함되는 P개의 핑거프린트 데이터 중에서 2번째의 핑거프린트 데이터로부터 검출과정을 수행한다. 도 13은 검출된 시작점의 세그먼트의 P개의 핑거프린트 데이터 중에서 첫번째의 핑거프린트 데이터(h2k)를 나타낸 것으로서, h2k는 해당 세그먼트의 시작점으로부터 도 6에서 설명한 바와 같이 소정 개수의 프레임들로부터 형성되는 핑거프린트 데이터이다. 종료점의 검출은 해당 핑거프린트 데이터(h2k)의 다음 핑거프린트 데이터(h2(k+1))로부터 세그먼트를 형성하면서 수행된다.
도 14 및 도 15는 이러한 종료점 검출과정을 설명하기 위한 도면이다.
도 14를 참조하면, 우선 제1 동영상 데이터에 대해서는 두번째 핑거프린트 데이터로부터 P개의 핑거프린트 데이터로 구성되는 세그먼트 S12를 형성하고, 제2 동영상 데이터에 대해서는, 상기한 바와 같이 검출된 제2 동영상 데이터의 시작점인 세그먼트의 다음 세그먼트에 상응하는 핑거프린트 데이터로부터 P개의 핑거프린트 데이터로 구성되는 세그먼트 S2(k+1)를 형성한다. 여기에서 세그먼트 S12 및 S2(k+1)은 도 14의 (a)에 나타낸 바와 같은 핑거프린트 데이터를 각각 갖는다.
이러한 세그먼트 S12와 S2(k+1)을 비교함으로써 양 세그먼트의 핑거프린트 데이터가 동일성이 있는지의 여부를 판단한다(도 14의 (a), 도 15의 S912)
동일성이 있는 경우에는, 제1 및 제2 동영상 데이터의 다음 세그먼트로 각각 이동한다. 도 15의 (b)를 참조하면, 다음 세그먼트는 S13 및 S2(k+2)이며, 각 세그먼트를 구성하는 핑거프린트 데이터는 도시한 바와 같이 구성된다.
이와 같은 과정을 반복하면서 동일성이 없는 최초의 세그먼트를 검출하고(S912), 최초의 세그먼트가 검출되면 검출된 제2 동영상 데이터의 최초의 세그먼트의 시작점을 동일 구간의 종료점으로 결정하고 종료점의 정보를 저장한다(S913).
만약, 제1 및 제2 동영상 데이터 중의 어느 하나의 마지막 세그먼트에 도달할 때까지 동일성이 없는 구간이 발견되지 않으면(도 15의 S914), 마지막 세그먼트를 종료점 세그먼트로 결정하고(S916), 해당 세그먼트의 종료점을 동일 구간의 종료점을 결정하며 종료점 정보를 저장한다(S913)
이와 같은 과정에 의하여, 제1 동영상 데이터와 제2 동영상 데이터 사이의 동일성 여부 및 동일 구간을 검출할 수 있게 된다.
한편, 도 15의 경우에 있어서, 도 6의 (b) 및 도 10과 같은 경우에는 제1 동영상 데이터의 전부가 제2 동영상 데이터에 포함된 경우이므로, 도 15의 단계(S912)에서 동일성이 없는 구간이 검출되지 않게 된다. 따라서, 도 6의 (b) 및 도 10과 같은 경우에는 도 15의 단계(S914) 및 단계(S916)을 수행하게 될 것이다.
도 15의 단계(S912)에서 동일성이 없는 구간이 검출되는 경우는 도 16에 도시한 바와 같은 경우이다. 도 16의 경우는 제1 동영상 데이터의 일부분이 제2 동영상 데이터의 일부분과 동일한 경우이므로, 제1 동영상 데이터 및 제2 동영상 데이터의 마지막에 도달하기 이전에 핑거프린트 데이터의 비교에 의해 동일성이 없는 구간이 검출되게 된다. 도 16의 경우는, 동일성이 있는 것으로 판정할 수도 있고 동일성이 없는 것으로 판정할 수도 있으며 이는 필요에 따라 선택할 수 있을 것이다. 동일성이 있는 것으로 또는 없는 것으로 판정하는 경우와 상관없이 동일 구간의 검출은 가능함은 물론이다.
한편, 본 발명은 오디오 핑거프린트 데이터 및/또는 비디오 핑거프린트 데이터를 이용할 수 있음은 전술한 바와 같으며, 또한 이러한 핑거프린트 데이터를 생성하는 방법에 상관없이 도 6에서와 같이 프레임으로 분할되어 있는 핑거프린트 데이터이기만 하면 본 발명에 그대로 적용할 수 있다. 이하에서는 이러한 핑거프린트 데이터의 생성 방법의 일예를 설명하기로 한다.
도 17 내지 도 23은 본 발명에 의한 동영상 데이터의 동일성 판단 및 동일 구간 검출 방법에 적용할 수 있는 핑거프린트 생성 방법의 일예를 설명하기 위한 도면이다.
우선, 도 17은 본 발명에 적용할 수 있는 핑거프린트 생성 방법의 전체 과정을 나타낸 흐름도로서, 도 17 내지 도 23을 참조하여 우선 오디오 핑거프린트 데이터를 생성하는 경우에 대하여 설명한다.
도 17을 참조하면, 우선 동영상 데이터로부터 오디오 데이터만을 추출한다(S1300). 이는 본 발명과는 직접적인 관련은 없는 과정으로서, 동영상 데이터로부터 오디오 데이터를 추출하는 기술은 공지의 기술 중 어느 것을 사용하여도 무방하다.
다음으로, 추출된 오디오 데이터를 소정 주파수 대역으로 정규화한다(S1310). 정규화는 소정의 샘플링 주파수에 의해 샘플링 변환에 의해 이루어질 수 있으며, 이는 입력되는 오디오 데이터들은 예컨대 8kHz, 11kHz, 16kHz, 22kHz, 44kHz등의 여러가지 형태의 주파수를 사용할 수 있으므로 이들을 특정 주파수 대역으로 정규화할 필요가 있기 때문이다. 정규화는 예컨대 16kHz로 정규화할 수 있는데, 16kHz 이상의 샘플링 주파수에는 고주파에 해당하는 오디오 신호 성분이 포함되어 있어 이를 처리할 신호의 양이 많아지게 되며, 이로 인해 오디오 핑거프린트 데이터 생성 속도가 저하될 수 있기 때문이다.
다음으로, 정규화된 오디오 데이터를 적어도 하나 이상의 제1 프레임들로 분할한다(S1320). 제1 프레임들로 분할한다는 것은 오디오 데이터를 일정 시간의 길이를 갖는 복수개의 프레임들로 분할한다는 것을 의미하는 것으로서, '제1' 프레임이라는 용어는 후술하는 '제2' 프레임과 다른 시간 간격을 갖는다는 점을 구별하기 위한 것이다. 오디오 데이터를 적어도 하나 이상의 제1 프레임들로 분할하는 방법은 도 18을 참조하여 설명한다.
도 18을 참조하면, 전체 오디오 데이터를 4개의 서브 프레임 시간 간격 마다 하나의 제1 프레임으로 구성하고, 하나의 제1 프레임은 하나의 서브 프레임 시간 간격마다 이동되어 구성되어 있음을 알 수 있다. 도 18에서, f0은 첫 번째 제1 프레임, f1은 두 번째 제1 프레임, f2는 세 번째 제1 프레임을 각각 나타내고, 각각의 제1 프레임은 4개의 서브 프레임으로 구성되어 있다. 또한, f1은 f0에 비하여 하나의 서브 프레임 시간 간격 만큼 이동되어 있으며, f2는 f1에 비하여 하나의 서브 프레임 시간 간격 만큼 이동되어 있음을 알 수 있다. 물론, 도 18의 경우에서와는 달리 하나의 프레임이 서로 겹치는 부분이 없도록 분할하는 것도 가능하지만, 도 18의 경우와 같이 분할되는 각 프레임들이 인접하는 다음 프레임과 서로 공통되는 부분을 갖도록 분할하는 것이 같은 길이의 오디오 데이터에 대하여 보다 정밀한 오디오 핑거프린트 데이터를 생성할 수 있으므로 바람직하다.
다음으로, 상기와 같이 분할된 제1 프레임들 각각에 대하여 오디오 데이터의 특징을 나타내는 특징 데이터를 추출한다(S1330). 특징 데이터를 추출한다는 것은 오디오 데이터 자체의 고유 특징을 나타내는 특징 데이터를 오디오 데이터로부터 추출한다는 것으로서, 예컨대 분할된 제1 프레임 각각에 대하여, 종래 기술에서 사용되고 있는 MFCC(Mel Frequency Cepstral Coefficient), PLPC(Perceptual Linear Prediction Coefficient) 또는 LPC(Linear Prediction Coefficient) 중에서 적어도 어느 하나 이상의 조합을 사용하여 특징 벡터를 추출하는 방법을 사용할 수 있다.
예컨대, 종래 기술의 MFCC 방식에 의해 특징 벡터를 추출하는 과정을 개략적으로 설명하면 다음과 같다. 아날로그 음성 신호는 A/D 변환을 거쳐서 디지털 음성 신호 x(n)로 변환된다. 디지털 음성 신호는 고대역 통과 특성을 갖는 디지털 프리엠퍼시스 필터(pre-emphasis filter)를 거치게 되는데, 이 필터를 사용하는 이 유는 첫째로 인간의 외이/중이의 주파수 특성을 모델링하기 위하여 고대역 필터링을 수행하기 위함이다. 이는 인간의 입술에서의 방사에 의하여 20dB/decade로 감쇄되는 것을 보상하게 되어 음성 신호로부터 성도 특성만을 얻게 된다. 둘째, 청각 시스템이 1 kHz이상의 스펙트럼 영역에 대하여 민감하다는 사실을 어느 정도 보상하게 된다. 이러한 프리엠퍼시스 필터의 특성 H(z)는 다음과 같으며, a는 0.95~0.98 범위의 값을 사용할 수 있다.
H(z) = 1 - az-1
프리엠퍼시스 필터에 의해 프리엠퍼시스된 신호는 해밍 윈도우(hamming window)를 씌워서 블록 단위의 프레임으로 나누어진다. 이후부터의 처리는 모두 프레임 단위로 이루어진다. 프레임의 크기는 보통 20 ms이며 프레임 이동은 10 ms가 흔히 사용된다. 한 프레임의 음성 신호는 FFT(Fast Fourier Transform)를 이용하여 주파수 영역으로 변환된다. 주파수 대역을 여러 개의 필터 뱅크로 나누고 각 뱅크에서의 에너지를 구한다. 밴드 에너지에 로그를 취한 후 분산 코사인 변환(discrete cosine transform, DCT)를 하면 최종적인 MFCC가 얻어진다. 필터 뱅크의 모양 및 중심 주파수의 설정 방법은 귀의 청각적 특성(달팽이관에서의 주파수 특성)을 고려하여 결정된다. 도 19를 참조하면, 도 19에서는 삼각형 모양의 필터를 사용하였으며 중심주파수는 1kHz 까지는 선형적으로 위치하고 그 이상에서는 멜(mel) 척도로 분포하는 20개의 뱅크로 이루어져 있다. MFCC 계수는 예컨대 c1~c12까지의 12개를 사용할 수 있으며 이와는 별도로 구한 프레임 로그 에너지가 추가적으로 사용되어 특징벡터는 13차 벡터를 구할 수 있다.
여기에서, 이전 MFCC 프레임과의 차이를 고려한 1차 차분(DELTA) 13차와 1차 차분(DELTA) 간의 차이을 고려한 2차 차분(ACCELERATION) 13차를 합쳐 39차원의 특징벡터를 구할 수 있다.
이러한 차분 MFCC와 차차분 MFCC는 오디오 데이터가 다른 채널을 통해 녹음된 경우에 콘볼루션(convolution) 잡음에 해당하는 채널 왜곡을 제거할 수 있다는 특성이 알려져 있다. 예컨대, 인터넷 상에서 수집된 동영상 데이터들을 비교하는 경우, 비교되는 동영상 데이터는 원본이 동일하다고 하더라도 서로 다른 TV 카드 등을 통해 녹화/녹음되는 과정에서 채널 잡음이 포함되는 경우가 발생하므로 이러한 차분 및 차차분 MFCC의 조합에 의한 특징 벡터를 추출하는 것이 보다 바람직할 것이다.
이와 같은 방식에 의하여, 제1 프레임별로 특징 데이터(특징 벡터)가 추출되면, 분할된 제1 프레임들 각각에 대하여 추출한 특징 데이터를 이용하여 특징 데이터의 분포 특징을 나타내는 특징 분포 데이터를 생성한다(S1340).
특징 분포 데이터라 함은, 특징 데이터가 분포되어 있는 특성을 나타내는 데이터로서, 이러한 특징 분포 데이터는 미리 생성해 둔 코드북(codebook)을 참조하여 생성할 수 있다. 여기서, 코드북은 다수의 오디오 데이터들의 특징 벡터들을 미리 추출하여 이들이 벡터 공간에 분포시키고, 벡터 공간 상에서 특징 벡터들을 그룹화하고 각각의 그룹에 포함되어 있는 특징 벡터들의 평균값을 계산하여 이 평균값과 각 그룹에 대한 인덱스값을 저장하고 있는 데이터로 구성된다.
도 20은 이러한 코드북을 생성하는 과정을 설명하기 위한 도면으로서, 설명의 편의를 위하여 2차원의 특징 벡터에 대한 코드북을 생성하는 경우를 예로 들어 설명한다.
도 20을 참조하면, 2차원의 벡터 공간에 미리 획득해 놓은 다수의 오디오 데이터들에 대한 특징 벡터들을 분포시키고 이들 특징 벡터들을 그룹화한다. 그룹화하는 기준은 벡터 공간상에서 서로 인접하는 특징 벡터들을 묶는 방법을 사용할 수 있으며, 예컨대 공지의 기술인 케이-민(k-Mean) 알고리즘, LBG(Linde-Buzo-Gray) 등의 방법을 사용할 수 있다. 도 20에는 총 7개로 묶인 그룹들이 도시되어 있으며, 각 그룹별로 그룹에 속한 특징 벡터들의 평균값을 구할 수 있다. 각 그룹별로 평균값을 구하면, 도 21과 같은 형태의 코드북을 구성할 수 있다.
도 21을 참조하면, 코드북은 각 그룹의 인덱스와 평균값으로 구성되어 있음을 알 수 있다. 여기서, 코드북은 예컨대 64차, 128차 또는 256차 등이 될 수 있으며, 차수가 증가할수록 즉, 그룹의 개수가 증가할수록 코드북을 보다 정밀하게 구성할 수 있고, 결과적으로 특징 벡터의 분포 특징 데이터 또한 정밀하게 구할 수 있다.
이와 같이 미리 생성해 둔 코드북을 참조하면, 분할된 제1 프레임들 각각에 대한 특징 데이터(특징 벡터)들이 속해야 하는 그룹의 인덱스값을 산출할 수 있다. 특징 벡터가 속해야 하는 그룹을 찾는 것은, 제1 프레임들 각각의 특징 벡터와 코드북의 각 그룹의 평균값간의 거리를 계산하여 최소값을 갖는 그룹을 특징 벡터가 속해야 하는 그룹으로 결정하는 방법을 사용할 수 있으며, 속해야 할 그룹이 결정 되면 그 그룹의 인덱스값을 특징 벡터에 대한 특징 분포 데이터로서 생성하게 된다.
다음으로, 오디오 데이터를 적어도 하나 이상의 제2 프레임들로 분할한다(S1350). 오디오 데이터를 제2 프레임들로 분할하는 것은 앞서 단계(S1320)에서 설명한 바와 같은 방식에 의하여 분할할 수 있다. 다만, 여기에서 분할되는 제2 프레임들 각각의 길이는 제1 프레임보다 큰 값을 갖는다는 점에서 차이가 있다. 예컨대, 하나의 제1 프레임의 프레임 길이가 20ms이고, 하나의 제1 프레임이 4개의 서브 프레임으로 구성되는 경우 하나의 서브 프레임 길이는 5ms이다. 이 경우, 하나의 제2 프레임의 전체 길이를 4s로 하면 하나의 제2 프레임에는 200개의 제1 프레임이 포함된다. 제2 프레임의 서브 프레임은 예컨대 1s 단위로 구성할 수 있으며 이 경우 하나의 제2 프레임과 인접하는 다음 프레임은 1s 단위로 간격을 두고 겹치는 부분을 갖게 된다.
이와 같이, 오디오 데이터를 적어도 하나 이상의 제2 프레임들로 분할한 후, 각 제2 프레임들에 대하여 제2 프레임별 오디오 핑거프린트 데이터를 생성한다(S1360). 여기서, i번째 제2 프레임에 대한 오디오 핑거프린트 데이터를 hi라고 정의하면, hi는 (i,o1,o2,o3,...oL)로 정의할 수 있다. 여기서, i는 제2 프레임의 번호(순서)를 나타내며, L은 앞서 설명한 바와 같은 코드북의 차수를 의미한다. o1,o2,o3,...oL은 각각 1~L 범위의 코드북의 그룹의 인덱스가 하나의 제2 프레임에 포함되어 있는 제1 프레임들의 특징 분포 데이터 중에서 몇 번 나타났는가를 나타 내는 빈도 데이터를 의미한다.
예컨대, 상기 단계(S1320)에서 오디오 데이터를 T개의 제1 프레임으로 분할한 경우, 각각의 제1 프레임에 대한 특징 데이터를 f1,f2,f3...fT라 할 수 있고, 이들에 대한 특징 분포 데이터는 각각 c1,c2,c3,...cT라고 할 수 있다. 여기서, c1,c2,c3,...cT는 각각 앞서 설명한 바와 같이 코드북의 인덱스값으로서 L차의 코드북인 경우 0~L-1 범위의 값을 갖는다. 이 경우, o1은 하나의 제2 프레임에 포함되는 제1 프레임들의 특징 분포 데이터 중에서 코드북의 첫번째 인덱스값이 해당하는 값이 몇 번 나타났는가를 나타내는 빈도 데이터를 의미한다. 예컨대, 하나의 제2 프레임이 10개의 제1 프레임들로 구성되어 있는 경우, 이들 10개의 제1 프레임들 각각의 특징 분포 데이터(c1,c2,...c10)들 중에서 코드북의 첫번째 인덱스가 몇 번 포함되어 있는지를 카운트함으로써 o1을 구할 수 있고 같은 방식으로 두번째 인덱스가 몇번 포함되어 있는지를 카운트함으로써 o2를 구할 수 있게 된다.
이와 같은 방식에 의하여, i번째 제2 프레임에 대한 o1,o2,o3,...oL을 구하고, (t,o1,o2,o3,...oL)과 같은 형태로 i번째 제2 프레임에 대한 오디오 핑거프린트 데이터(hi)를 구할 수 있다.
이와 같이 각각의 제2 프레임들에 대하여 오디오 핑거프린트 데이터를 구한 후, 제2 프레임들 전체의 오디오 핑거프린트 데이터에 의해 오디오 데이터 전체에 대한 오디오 핑거프린트 데이터를 생성한다(S1370). 오디오 데이터 전체에 대한 오디오 핑거프린트 데이터를 H라고 하면, H={h1,h2,h3....hN}으로 정의할 수 있다. 여기서 N은 제2 프레임의 갯수에 해당한다.
도 22는 도 17 내지 도 21을 참조하여 설명한 오디오 핑거프린트 생성 과정을 참고적으로 설명하기 위한 도면이다.
도 22를 참조하면, 우선 오디오 데이터 전체를 적어도 하나 이상의 제1 프레임들로 분할하고(S1801), 분할된 제1 프레임들 중 맨 처음의 프레임으로부터 순차적으로 앞서 설명한 방법에 의하여 특징 데이터를 추출한다(도 17의 단계 S1330). 제1 프레임들 각각에 대해 특징 데이터가 추출되면, 코드북을 참조하여 특징 데이터들에 대한 특징 분포 데이터를 생성한다(도 17의 단계 S1340, S1803).
제1 프레임들 각각에 대한 특징 분포 데이터가 생성되면, 적어도 하나 이상의 제1 프레임을 포함하는 제2 프레임들 각각에 대하여 제2 프레임별 오디오 핑거프린트 데이터를 생성한다(도 17의 단계 S1360, S1805). 앞서 설명한 바와 같이, 제2 프레임별 오디오 핑거프린트 데이터는 특징 데이터의 분포 특성을 나타내는 특징 분포 데이터의 빈도 데이터들로 구성되며, 이들은 도 22에 나타낸 바와 같이 히스토그램(histogram) 형태로 표현할 수 있으므로, 이와 같은 과정에 의한 오디오 핑거프린트 데이터 생성 방법은 히스토그램 기반의 오디오 핑거프린트 데이터 생성 방법이라고 부를 수도 있을 것이다.
도 23은 전술한 오디오 핑거프린트 데이터 생성 과정에 있어서 특징 분포 데이터로부터 제2 프레임별 오디오 핑거프린트 데이터를 구성하는 방법의 일예를 나타낸 것이다.
도 23에서, 오디오 데이터에 대한 제1 프레임의 개수를 12개라고 가정하면, 오디오 데이터에 대한 특징 분포 데이터는 도 23에 나타낸 바와 같이 12개의 제1 프레임의 특징 분포 데이터의 집합으로 정의될 수 있다. 도 23의 경우에서 인덱스의 수 즉, 코드북에서 그룹화해놓은 그룹의 수는 4개라고 가정하였으며, 이 경우 각 특징 분포 데이터는 도시한 바와 같이 1~4 범위의 숫자 중 어느 하나의 값을 가진다.
하나의 제2 프레임이 4개씩의 제1 프레임을 포함하고, 하나의 제2 프레임은 하나의 제1 프레임만큼의 시간 간격 만큼 슬라이딩 이동되어 구성되는 것으로 가정하면, 제2 프레임은 총 9개(h1~h9)로 구성할 수 있다. 각각의 제2 프레임별 오디오 핑거프린트 데이터 hi는 {i,o1,o2,o3,o4}의 5개의 데이터로 표현되는데, 여기서 맨 앞의 i는 제2 프레임의 번호이며, o1,o2,o3,o4 는 각각 전술한 바와 같이 제2 프레임 하나에 포함된 제1 프레임들의 특징 분포 데이터가 몇 번 나타났는지를 나타내는 빈도 데이터이다.
예컨대, 도 23에서 h1은 {1,1,2,1,0}의 5개의 데이터로 표현되는데, 여기서 맨 앞의 1은 제2 프레임 번호로서 첫번째의 제2 프레임임을 나타내는 데이터이고, 그 다음의 1은 c1~c4까지의 최초 4개의 제1 프레임들의 특징 분포 데이터(2,3,2,1)중에서 인덱스 1의 값이 1번 나타났다는 것을 나타내는 데이터이다. 마찬가지로, h1의 세번쩨 데이터인 2는 c1~c4까지의 최초 4개의 제1 프레임들의 특징 분포 데이터(2,3,2,1)중에서 인덱스 2의 값이 2번 나타났다는 것을 나타내며, h1의 네번쩨 데이터인 1은 c1~c4까지의 최초 4개의 제1 프레임들의 특징 분포 데이터(2,3,2,1)중에서 인덱스 3의 값이 1번 나타났다는 것을 나타내며, h1의 다섯번쩨 데이터인 0은 c1~c4까지의 최초 4개의 제1 프레임들의 특징 분포 데이터(2,3,2,1)중에서 인덱스 4의 값이 0번 나타났다는 것을 나타내는 데이터들이다.
이와 같은 방식에 의하여, h1의 오디오 핑거프린트 데이터를 구할 수 있고, 마찬가지 방식에 의하여 h2~h9 각각에 대한 제2 프레임별 오디오 핑거프린트 데이터를 구할 수 있고, 따라서 오디오 데이터 전체에 대한 오디오 핑거프린트 데이터를 구성할 수 있다.
도 24는 비디오 핑거프린트 데이터를 생성하는 경우를 설명하기 위한 도면으로서, 비디오 핑거프린트 데이터를 생성하는 것은 도 17 내지 도 23에서 설명한 오디오 핑거프린트 데이터를 생성하는 경우와 비교해 볼 때, 도 17의 단계(S1330) 즉, 특징 데이터를 추출하는 과정만이 상이하고 기타 단계는 오디오 데이터와 비디오 데이터의 용어상의 차이일 뿐이므로, 도 24에서는 비디오 핑거프린트 데이터의 특징 데이터를 추출하는 단계만을 도시하였다. 다만, 도시하지는 않았으나, 도 17에서 오디오 데이터를 정규화하는 단계(S1310)는 비디오 핑거프린트 생성의 경우에는 생략할 수 있다.
도 24를 참조하면, 제1 프레임별로 비디오 데이터에 대한 특징 데이터를 추출하는 과정은, 우선 제1 프레임에 포함된 각 프레임들을 N×N 크기의 서브 프레임으로 분할한다(S2000).
다음으로, 분할된 각 서브 프레임들에 포함된 화소의 R,G,B 화소값의 평균값을 계산한다(S2010). 평균값이 계산되면, 각각의 R,G,B 화소에 상응하는 N×N×3차의 특징 벡터를 생성할 수 있다(S2120). 예컨대, N이 4라고 가정하면, 총 48차의 특징벡터를 추출할 수 있게 된다.
또한, 필요한 경우, 상기 단계에서 추출된 특징 벡터값이 각 n×n 크기의 서브 프레임의 가장 밝은 R,G,B값과 가장 어두운 R,G,B 값 사이에 속하도록 정규화하는 단계(S2030)를 더 수행할 수도 있다.
또한, 비디오 핑거프린트 데이터의 경우에도, 특징 벡터의 차분 및 차차분 벡터를 구하고 이들의 조합을 이용하여 특징 벡터를 보다 정교하게 생성할 수도 있다.
이와 같은 과정에 의하여 특징 데이터가 추출되면, 추출된 특징 데이터를 이용하여 비디오 핑거프린트를 생성하게 되는데, 이 과정은 전술한 오디오 핑거프린트 생성과정과 동일하므로 상세 설명은 생략한다.
다음으로, 상기 설명한 바와 같이 생성된 오디오 및/또는 비디오 핑거프린트 데이터를 갖는 동영상 데이터에 대하여, 도 9의 단계(S900) 또는 단계(S910) 등에서 세그먼트별로 핑거프린트 데이터를 비교하는 방법의 일예를 설명하기로 한다.
도 17 내지 도 24에서 설명한 바와 같은 핑거프린트 데이터는 제2 프레임별 핑거프린트의 집합 H={h1,h2,h3....hN}으로 구성되며(여기서, N은 제2 프레임의 개수), 각 제2 프레임별 핑거프린트 데이터(hi)는 hi =(i,o1,o2,o3,...oL)로 정의할 수 있다. 여기서, i는 제2 프레임의 순번을 나타내며, L은 앞서 설명한 바와 같은 코드북의 차수를 의미하고, o1,o2,o3,...oL은 각각 제2 프레임에 포함된 제1 프레임들의 특징 분포 데이터(즉, 코드북의 인덱스값)이 각 인덱스별로 하나의 제2 프레임에서 몇 번 나타났는가를 나타내는 빈도 데이터를 의미한다.
이 경우, 비교되는 두 동영상 데이터 중의 하나인 제1 동영상 데이터의 특정 세그먼트의 핑거프린트 데이터를 H1={h11,h12,h13....h1N}라 하고, 비교되는 두 동영상 데이터 중의 다른 하나인 제2 동영상 데이터의 특정 세그먼트의 핑거프린트 데이터를 H2={h21,h22,h23....h2N}라 하면, 이들간의 거리는 다음과 같은 수식에 의해 계산할 수 있다.
수식 1.
Figure 112007044930135-pat00001
이 수식이 의미하는 것은, 비교하고자 하는 두 개의 핑거프린트 데이터의 특정 구간(특정 세그먼트)간의 거리는, 비교하고자 하는 두 개의 핑거프린트 데이터 의 특정 구간 각각을 구성하는 제2 프레임별 핑거프린트 데이터를 제2 프레임별로 맨 처음부터 마지막까지 순차적으로 대응시키면서 제2 프레임별 핑거프린트 데이터간의 거리(d)를 구하여 이를 합산한다는 것이다. 여기에서, 제2 프레임별 핑거프린트 데이터간의 거리(d)는 다음과 같은 수식에 의하여 계산할 수 있다.
수식 2
Figure 112007044930135-pat00002
(여기서, D는 제2 프레임의 개수이며, L은 코드북의 차수)
상기 수식이 의미하는 것은, 대응되는 제2 프레임별 핑거프린트 데이터를 구성하는 특징 분포 데이터(코드북의 인덱스값)가 하나의 제2 프레임에서 나타난 빈도를 나타내는 빈도 데이터(ol)를 맨 처음부터 마지막까지 순차적으로 대응시키면서 최소값을 산출하여 이들의 합을 구한 후 프레임의 개수로 나눈다는 것이다. 여기서, 프레임의 개수로 나누는 과정은 생략할 수 있다.
예컨대, h1i={3,2,3,5,3,7,9,23}이고, h2i={3,4,5,2,23,56,3,2}라고 가정하면, 맨 앞의 데이터는 프레임의 번호이므로 이를 제외하고 두번째 값부터 순차적으로 대응시켜 최소값을 구하면, 2,3,2,3,7,3,2를 얻을 수 있고 이들의 합을 구하면 22이며, 이를 제2 프레임의 갯수로 나누면 비교되는 제1 및 제2 동영상 데이터의 특정 구간에 있어서의 i번째 핑거프린트 데이터 사이의 거리를 구할 수 있다. 이와 같이 각 특정 구간의 각 핑거프린트 데이터 사이의 거리를 구한 후, 상기 수식 1에 의하여 각 핑거프린트 데이터 사이의 거리의 합을 계산하면 비교하고자 하는 제1 및 제2 동영상 데이터의 특정 구간(특정 세그먼트) 사이의 거리를 구할 수 있게 된다.
이와 같이 세그먼트들 간의 거리가 계산되면, 계산 결과값을 이용하여 예컨대 결과값 중 최대값을 갖는 세그먼트를 판별하고 그 최대값이 소정 임계치보다 큰 경우에는 해당 세그먼트는 동일성이 있는 것으로 판별(도 9의 단계 S900에서의 시작점 검출)할 수 있다. 특히, 도 9의 단계(S900)에서 시작점을 검출하는 것은, 제2 동영상 데이터의 모든 세그먼트들과의 핑거프린트 데이터의 거리를 비교하고 이중에서 최대값을 판별한 후 해당 최대값이 소정 임계치를 넘는가를 판정하고 임계치를 넘는 경우에 해당 세그먼트를 시작점으로 검출하게 된다. 거리값 중에서 최대값을 갖는 세그먼트는 일단 가장 유사한 구간 즉 동일한 구간의 시작점으로 판별할 수 있지만, 이를 보다 확실하게 판단하기 위하여 소정 임계치를 넘는 경우에만 동일성이 있는 것으로 판별함으로써 시작점을 보다 정확하게 판별할 수 있게 된다.
한편, 계산 결과값을 바탕으로 계산 결과가 소정 임계치보다 작은 경우에는 비교되는 세그먼트들은 동일성을 갖지 않는 것으로 판별(도 9의 단계 S910에서의 종료점 검출)하도록 할 수도 있다. 도 9의 단계(S110)에서 종료점을 검출하는 것은, 비교하는 세그먼트가 동일성이 있는 구간에 포함되어 있다면 양자의 거리는 소정 임계치를 넘겠지만 동일성이 없는 구간으로 넘어가는 순간 양자의 거리는 임계치를 크게 밑돌게 될 것이므로 해당 세그먼트를 동일성이 없는 구간으로 판별할 수 있게 된다. 이와 같이, 계산 결과값을 여러 가지로 활용하여 임계치를 넘는지 또는 넘지 않는지 등의 기타 변수등과 결합하여 사용함으로써 비교되는 세그먼트들간의 동일성 여부를 간편하고 정확하게 높은 신뢰성을 가지고 판별할 수 있다. 이와 같은 방법에 의하여 핑거프린트 데이터를 구간 별로 비교함으로써, 비교되는 두 동영상의 특정 구간이 동일성이 있는지의 여부와 일부 동일한 경우의 동일 구간을 정확하게 판별할 수 있게 된다.
다음으로, 전술한 바와 같은 방법에 의하여 N개의 동영상 데이터들에 대해 동일성 판단 및 동일 구간을 검출함으로써 각각 클러스터 식별자를 부여하고, 클러스터 식별자에 따라 동일성이 있는 동영상 데이터들끼리 클러스터를 형성한 경우,각 클러스터별로 클러스터에 포함된 동영상 데이터들을 정렬하는 방법을 설명한다.
도 25는 전술한 바와 같은 방법에 의하여 형성된 하나의 클러스터 내에 포함된 동영상 데이터를 시간 순서에 따라 나타낸 것으로서, V1,V2,V3,V4 4개의 동영상 데이터로 구성되어 있으며, 이들은 각각 동일 구간 즉 겹치는 중복 구간에 따라 배 열되어 있다.
앞서 설명한 바와 같이, 각 클러스터내에 포함되는 동영상 데이터들은 서로 동일한 구간의 정보 즉, 서로 겹치는 구간에 대한 시작점 및 종료점에 대한 정보를 가지며, 이러한 정보는 시간 정보로 표현할 수 있다.
예컨대, 도 25에서 V3은 총 40초 분량의 구간으로 구성되어 있고, V1은 총 30초 구간의 길이로 구성되어 있다. 이들 V3와 V1 동영상 데이터를 비교하기 전의 시간 정보는 시작점:종료점이 각각 0:40, 0:30으로 표현될 것이다. V3와 V1을 앞서 설명한 동일성 판단 및 동일 구간 검출 방법에 의해 비교하면, V3 및 V1에 대해 각각 동일 구간 즉 겹치는 구간의 시작점 및 종료점 정보를 구할 수 있다. 비교 후의 겹치는 구간의 시작점:종료점은 V3의 경우 30:40초이고, V1의 경우는 0:10초로 검출될 것이다. 이 경우, V1의 시작점 시간 정보가 V3의 경우보다 작으므로 V1은 시간적으로 V3보다 30초 후행하는 동영상 데이터임을 알 수 있고(즉, V1은 V3의 30초 부분부터 겹친다), 이를 이용하여 V1의 시작점:종료점 정보를 V1과의 차이값 즉 30초만큼 더함으로써 변경할 수 있다. 이에 의하면, V1의 시작점:종료점 시간정보는 30:60초으로 변경된다. 또한, 겹치는 구간에 대해서도 시작점:종료점을 V3와 마찬가지로 30:40초로 변경할 수 있게 된다.
이와 같은 방식에 의하여, 비교되는 2개의 동영상 데이터간의 순서를 결정할 수 있으며, 겹치는 구간의 시간 정보 또한 순서에 따른 시간 정보로 변환하여 구성할 수 있고, 따라서 하나의 클러스터에 포함된 모든 동영상 데이터들을 시간 정보에 따라 도 25에서와 같이 순차적으로 배열할 수 있게 된다.
도 26은 전술한 바와 같은 방법에 의하여 형성되는 클러스터 정보의 데이터 구조의 일예를 나타낸 것이다.
도 26을 참조하면, 클러스터 정보는 클러스터 식별자를 기준으로, 각 클러스터에 포함되는 모든 동영상 데이터들의 식별자와 시간 정보로 구성되는 동영상 리스트를 포함한다.
예컨대, 클러스터 식별자 1의 동영상 리스트는 3:0/1202, 5:220/600, 7:500/700, 9:600:800, 11:700/900으로 구성되어 있음을 알 수 있으며, 여기서 맨 앞의 숫자인 3,5,7,9,11은 각각의 동영상 데이터에 부여되는 고유의 동영상 식별자(ID)를 나타내고, 그 다음의 0/1202, 220/600, 500/700, 600/800, 700/900은 각 동영상 데이터의 시작점/종료점의 시간을 의미한다.
한편, 도 26에서 각 클러스터 식별자는 대표 동영상 리스트를 더 포함할 수 있다. 대표 동영상 리스트는 동영상 리스트에 포함된 동영상 데이터로부터 최소의 갯수로 전체 동영상 데이터를 표현할 수 있는 동영상 데이터들의 리스트를 의미한다. 대표 동영상 리스트를 결정하는 방법의 일예를 도 27을 참조하여 설명한다.
도 27은 좌측열의 최상단에 나타낸 바와 같이 3개의 동영상 데이터로 구성된 클러스터에 대해 대표 동영상 리스트를 결정하는 경우에 대한 것이다. 도 27을 참조하면, 우선 가장 긴 동영상 데이터를 선택하고, 이를 대표 동영상 리스트로 보낸다(S2710). 만약, 가장 긴 동영상 데이터가 여러 개 있을 경우에는 랜덤하게 선택하거나 예컨대 화질 정보를 참조하여 가장 화질이 좋은 것을 선택하거나 용량 정보 를 참조하여 가장 적은 용량을 갖는 것을 선택하도록 할 수 있다.
다음으로, 상기 선택된 동영상 데이터를 제외한 나머지 동영상 데이터 중에서, 상기 선택된 동영상 데이터와 겹치는 구간을 제외한 나머지 구간이 가장 긴 동영상 데이터를 선택하고, 이를 대표 동영상 리스트로 보내는 과정을 반복 수행한다(S2720, S2730).
이러한 과정을 전체 영역이 포함될 때까지 반복함으로써, 대표 동영상 리스트를 결정할 수 있게 되고, 대표 동영상 리스트가 결정되면, 대표 동영상 리스트에 포함된 동영상 데이터만을 참조하여 전체 동영상 데이터를 구성할 수 있게 된다.
또한, 도 26의 클러스터 정보는 랭크(rank) 정보 및 날짜 정보를 더 포함할 수 있다. 랭크 정보는 예컨대 동영상 리스트에 포함된 동영상 데이터의 총 개수 정보일 수 있으며, 날짜 정보는 예컨대 동영상 리스트에 포함된 각 동영상 데이터들 각각의 날짜 정보 중에서 가장 앞선 날짜 정보일 수 있다.
도 28은 동영상 데이터의 데이터베이스의 데이터 구조의 일예를 나타낸 것이다.
도 28을 참조하면, 각 동영상 데이터에 대한 데이터는 동영상 식별자, 클러스터 식별자, 시간(time), 시작, 종료, 파일 이름(filename) 등의 정보를 포함할 수 있다. 동영상 식별자는, 각 동영상 데이터들에 대하여 부여되는 고유의 식별자이며, 이러한 정보는 전술한 바와 같이 동영상 데이터들을 각각 비교하고 동일 구간을 검출한 후 클러스터링하는 과정에 유용하게 사용된다. 클러스터 식별자는 각 동영상 데이터가 클러스터링 작업에 의해 결정된 클러스터의 식별자에 대한 정보이며, 시간(time)은 각 동영상 데이터의 총 시간 정보를 의미하고, 시작 및 종료는 각각 시작점 및 종료점의 시간 정보를 나타낸다. 파일이름(filename)은 데이터베이스에서 물리적으로 부여되는 고유의 파일 이름을 말한다.
이상에서, 본 발명의 바람직한 실시예를 참조하여 본 발명의 구성을 설명하였으나 상기 실시예는 예시적인 것이며 본 발명이 상기 실시예들에 한정되는 것이 아님은 물론이다.
본 발명에 의하면, 복수개의 동영상 데이터들을 서로 비교함으로써 동일성이 있는 데이터들을 판별하고, 동일성이 있는 데이터들끼리 클러스터링할 수 있는 방법 및 시스템을 제공할 수 있다.
또한, 본 발명에 의하면, 복수개의 동영상 데이터들을 서로 비교함으로써 동일성이 있는 데이터들을 판별하고 동일성이 있는 데이터들끼리 클러스터링함에 있어서 오디오 및/또는 비디오 핑거프린트를 이용함으로써 보다 간편하고 높은 신뢰성을 가지며 외부의 노이즈에 강인한 동영상 데이터 비교 방법을 제공하고, 이러한 방법을 이용하여 신속하고 효율적으로 동일성이 있는 복수개의 동영상 데이터들을 클러스터링할 수 있는 방법 및 시스템을 제공할 수 있다.
또한, 본 발명에 의하면, 복수개의 동영상 데이터들에 대하여 서로 동일성이 있는 데이터들끼리 클러스터링할 수 있도록 함으로써, 클러스터링된 동영상 데이터들을 활용하여 각종 부가 서비스에 폭넓게 응용할 수 있도록 하는 방법 및 시스템을 제공할 수 있다.

Claims (27)

  1. 적어도 2 이상인 N개의 동영상 데이터들에 대해 서로 동일성이 있는 동영상 데이터들끼리 클러스터링하는 방법에 있어서,
    상기 N개의 동영상 데이터들로부터 순서와 관계없이 선택된 2개의 동영상 데이터로 구성된 총 N*(N-1)/2개의 모든 동영상 데이터 쌍 각각에 대하여,
    상기 각 쌍을 구성하는 2개의 동영상 데이터 사이의 동일성 여부를 판별하고 동일 구간을 검출하는 제1 단계;
    상기 제1 단계에서 동일성이 없는 것으로 판별된 경우, 상기 각 쌍을 구성하는 2개의 동영상 데이터 각각에 서로 다른 신규 클러스터 식별자를 부여하는 제2 단계; 및
    상기 제1 단계에서 동일성이 있는 것으로 판별된 경우, a) 상기 각 쌍을 구성하는 2개의 동영상 데이터 중의 어느 하나에만 클러스터 식별자가 부여되어 있는 경우 그 클러스터 식별자를 다른 동영상 데이터에도 부여하고, b) 상기 각 쌍을 구성하는 2개의 동영상 데이터들에 각각 서로 다른 클러스터 식별자가 이미 부여되어 있는 경우 그 중 어느 하나의 클러스터 식별자를 선택하여 선택되지 않은 클러스터 식별자가 부여되어 있는 동영상 데이터 및 다른 모든 동영상 데이터에 상기 선택된 클러스터 식별자를 부여하고, c) 상기 각 쌍을 구성하는 2개의 동영상 데이터들 모두 클러스터 식별자가 부여되어 있지 않은 경우에는 동일한 신규 클러스터 식별자를 상기 2개의 동영상 데이터들에 부여하는 제3 단계
    를 수행한 후,
    상기 N개의 동영상 데이터들에 각각 부여된 클러스터 식별자에 따라 클러스터를 형성하는 것을 특징으로 하는 동영상 데이터 클러스터링 방법.
  2. 제1항에 있어서,
    상기 제1 단계에서, 각 쌍을 구성하는 2개의 동영상 데이터 사이의 동일 구간을 검출하는 것은 동일한 구간의 시간 정보를 검출하는 것을 특징으로 하는 동영상 데이터 클러스터링 방법.
  3. 제2항에 있어서,
    상기 N개의 동영상 데이터들에 각각 부여된 클러스터 식별자에 따라 형성된 각각의 클러스터에 대하여, 각 클러스터에 포함된 동영상 데이터들을 상기 검출된 동일 구간의 시간 정보에 의거하여 정렬하는 것을 특징으로 하는 동영상 데이터 클러스터링 방법.
  4. 제3항에 있어서,
    상기 N개의 동영상 데이터들에 각각 부여된 클러스터 식별자에 따라 형성된 각각의 클러스터에 대하여, 각 클러스터에 포함된 동영상 데이터들 중에서 적어도 하나 이상의 대표 동영상 데이터를 결정하는 것을 특징으로 하는 동영상 데이터 클러스터링 방법.
  5. 제4항에 있어서,
    상기 적어도 하나 이상의 대표 동영상 데이터는 각 클러스터에 포함된 동영상 데이터들의 시간 정보를 참조하여 대표 동영상 데이터들의 배열에 의하여 각 클러스터의 전체 구간을 포함할 수 있도록 결정되는 것을 특징으로 하는 동영상 데이터 클러스터링 방법.
  6. 제1항에 있어서,
    상기 N개의 동영상 데이터들에 각각 부여된 클러스터 식별자에 따라 형성된 각각의 클러스터는, 각 클러스터에 포함된 동영상 데이터의 전체 개수 정보를 포함하는 것을 특징으로 하는 동영상 데이터 클러스터링 방법.
  7. 제1항에 있어서,
    상기 제1 단계는,
    상기 각 쌍을 구성하는 2개의 동영상 데이터 중의 어느 하나인 제1 동영상 데이터의 처음 P개의 핑거프린트 데이터로 구성되는 세그먼트와, 상기 각 쌍을 구성하는 2개의 동영상 데이터 중의 다른 하나인 제2 동영상 데이터의 처음부터 마지막까지 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 세그먼트를 순차적으로 대응시켜 비교하여 비교 결과값을 세그먼트별로 산출하는 제1-1 단계;
    상기 제1-1 단계에서 산출된 세그먼트별 비교 결과값에 의거하여 상기 제1 동영상 데이터의 처음 P개의 핑거프린트 데이터로 구성되는 세그먼트와 동일한 핑거프린트 데이터를 갖는 제2 동영상 데이터의 세그먼트를 검출하는 제1-2 단계;
    상기 제1-2 단계에서 세그먼트가 검출된 경우, 검출된 제2 동영상 데이터의 세그먼트의 시작점을 동일 구간의 시작점으로 결정하는 제1-3 단계;
    제1 동영상 데이터의 두번째 핑거프린트 데이터로부터 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 세그먼트와, 상기 제1-2 단계에서 검출된 제2 동영상 데이터의 세그먼트의 다음 세그먼트에 상응하는 핑거프린트 데이터로부터 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 세그먼트를, 각 세그먼트별로 순차적으로 대응시켜 비교함으로써 동일하지 않은 핑거프린트 데이터를 갖는 제2 동영상 데이터의 최초의 세그먼트를 검출하는 제1-4 단계;
    상기 제1-4 단계에서 최초의 세그먼트가 검출된 경우, 검출된 제2 동영상 데이터의 최초의 세그먼트의 시작점을 동일 구간의 종료점으로 결정하는 제1-5 단계; 및
    상기 제1-4 단계에서 상기 제1 및 제2 동영상 데이터 중의 어느 하나의 마지 막 세그먼트에 도달할 때까지 세그먼트가 검출되지 않은 경우, 상기 마지막 세그먼트의 종료점을 동일 구간의 종료점으로 결정하는 제1-6 단계
    를 포함하는 것을 특징으로 하는 동영상 데이터 클러스터링 방법.
  8. 제7항에 있어서,
    상기 제1-2 단계에서,
    상기 제1 동영상 데이터의 처음 P개의 핑거프린트 데이터로 구성되는 세그먼트와 동일한 핑거프린트 데이터를 갖는 제2 동영상 데이터의 세그먼트가 검출되지 않은 경우,
    제2 동영상 데이터의 처음 P개의 핑거프린트 데이터로 구성되는 세그먼트와, 제1 동영상 데이터의 처음부터 마지막까지 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 세그먼트를 순차적으로 대응시켜 비교하여 비교 결과값을 세그먼트별로 산출하는 제1-7 단계;
    상기 제1-7 단계에서 산출된 세그먼트별 비교 결과값에 의거하여 상기 제2 동영상 데이터의 처음 P개의 핑거프린트 데이터로 구성되는 세그먼트와 동일한 핑거프린트 데이터를 갖는 제1 동영상 데이터의 세그먼트를 검출하는 제1-8 단계;
    상기 제1-8 단계에서 세그먼트가 검출된 경우, 검출된 제1 동영상 데이터의 세그먼트의 시작점을 동일 구간의 시작점으로 결정하는 제1-9 단계;
    제2 동영상 데이터의 두번째 핑거프린트 데이터로부터 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 세그먼트와, 상기 제1-8 단계에서 검출된 제1 동영상 데이터의 세그먼트의 다음 세그먼트에 상응하는 핑거프린트 데이터로부터 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 세그먼트를, 각 세그먼트별로 순차적으로 대응시켜 비교함으로써 동일하지 않은 핑거프린트 데이터를 갖는 제1 동영상 데이터의 최초의 세그먼트를 검출하는 제1-10 단계;
    상기 제1-10 단계에서 최초의 세그먼트가 검출된 경우, 검출된 제1 동영상 데이터의 최초의 세그먼트의 시작점을 동일 구간의 종료점으로 결정하는 제1-11 단계; 및
    상기 제1-10 단계에서 상기 제1 및 제2 동영상 데이터 중의 어느 하나의 마지막 세그먼트에 도달할 때까지 세그먼트가 검출되지 않은 경우, 상기 마지막 세그먼트의 종료점을 동일 구간의 종료점으로 결정하는 제1-12 단계
    를 포함하는 것을 특징으로 하는 동영상 데이터 클러스터링 방법.
  9. 제7항에 있어서,
    상기 핑거프린트 데이터는 상기 동영상 데이터로부터 추출한 오디오 신호에 의해 생성된 오디오 핑거프린트 데이터인 것을 특징으로 하는 동영상 데이터 클러스터링 방법.
  10. 제7항에 있어서,
    상기 핑거프린트 데이터는 상기 동영상 데이터로부터 추출한 비디오 신호에 의해 생성된 비디오 핑거프린트 데이터인 것을 특징으로 하는 동영상 데이터 클러스터링 방법.
  11. 제7항에 있어서,
    상기 핑거프린트 데이터는,
    상기 제1 및 제2 동영상 데이터를 적어도 하나 이상의 제1 프레임들로 분할하고, 상기 분할된 제1 프레임들 각각에 대하여 특징 데이터를 추출하는 a) 단계;
    상기 분할된 제1 프레임들 각각에 대하여 상기 특징 데이터의 분포 특징을 나타내는 특징 분포 데이터를 생성하는 b) 단계; 및
    상기 제1 및 제2 동영상 데이터를 적어도 하나 이상의 제2 프레임들로 분할하고, 상기 제1 프레임들에 대하여 생성된 특징 분포 데이터를 이용하여, 상기 제2 프레임들 각각에 대한 핑거프린트 데이터를 생성하는 제 c) 단계
    에 의해 생성된 것을 특징으로 하는 동영상 데이터 클러스터링 방법.
  12. 제11항에 있어서,
    상기 a) 단계 및 제 c) 단계는, 분할되는 하나의 프레임과 인접하는 다음 시 간 간격의 프레임이 서로 공통되는 부분을 갖도록 분할하는 것을 특징으로 하는 동영상 데이터 클러스터링 방법.
  13. 제11항에 있어서,
    상기 제2 프레임 각각의 길이는 상기 제1 프레임 각각의 길이 보다 긴 것을 특징으로 하는 동영상 데이터 클러스터링 방법.
  14. 제11항에 있어서,
    상기 a) 단계는,
    상기 분할된 제1 프레임들 각각에 대하여, MFCC(Mel Frequency Cepstral Coefficient), PLPC(Perceptual Linear Prediction Coefficient) 또는 LPC(Linear Prediction Coefficient) 중에서 적어도 어느 하나 이상의 조합을 사용하여 특징 벡터를 추출하는 것을 특징으로 하는 동영상 데이터 클러스터링 방법.
  15. 제11항에 있어서,
    상기 a) 단계는,
    상기 분할된 제1 프레임들 각각에 대하여, 차분 MFCC(delta Mel Frequency Cepstral Coefficient) 및/또는 차차분 MFCC(acceleration Mel Frequency Cepstral Coefficient) 중에서 적어도 하나 이상의 조합을 사용하여 특징 벡터를 추출하는 것을 특징으로 하는 동영상 데이터 클러스터링 방법.
  16. 제11항에 있어서,
    상기 핑거프린트 데이터가 동영상 데이터의 비디오 신호에서 추출한 비디오 핑거프린트인 경우,
    상기 a) 단계는,
    분할된 제1 프레임 각각을 n×n 크기의 서브 프레임으로 분할하는 단계;
    상기 분할된 서브 프레임 각각을 구성하는 화소들의 R,G,B값 각각에 대한 평균값을 계산하는 단계; 및
    상기 계산된 평균값 각각에 대하여 n×n×3차의 특징 벡터를 추출하는 단계
    를 포함하는 것을 특징으로 하는 동영상 데이터 클러스터링 방법.
  17. 제16항에 있어서,
    상기 계산된 평균값 각각에 대하여 n×n×3차의 특징 벡터를 추출하는 단계 이후, 상기 추출된 특징 벡터값이 각 n×n 크기의 서브 프레임의 가장 밝은 R,G,B값과 가장 어두운 R,G,B 값 사이에 속하도록 정규화하는 단계를 더 포함하는 것을 특징으로 하는 동영상 데이터 클러스터링 방법.
  18. 제16항에 있어서,
    상기 계산된 평균값 각각에 대하여 n×n×3차의 특징 벡터를 추출하는 단계는, 상기 추출된 n×n×3차의 특징 벡터에 대하여, 차분 및/또는 차차분 연산을 수행하고 이들의 결과값의 적어도 하나 이상의 조합을 사용하여 특징 벡터를 추출하는 단계를 더 포함하는 것을 특징으로 하는 동영상 데이터 클러스터링 방법.
  19. 제14항 내지 제18항 중 적어도 어느 한 항에 있어서,
    상기 b) 단계는,
    상기 a) 단계에서 추출된 특징 벡터들을 적어도 하나 이상의 그룹들로 그룹화하고 각각의 그룹에 대한 인덱스값을 저장하고 있는 코드북을 참조하여, 상기 분할된 제1 프레임들 각각에 대하여 인덱스값을 산출함으로써 특징 분포 데이터를 생성하는 것을 특징으로 하는 동영상 데이터 클러스터링 방법.
  20. 제19항에 있어서,
    상기 코드북은 상기 그룹별로 특징 벡터들의 평균값을 가지며, 상기 분할된 제1 프레임들 각각에 대한 특징 벡터들과 상기 각 그룹별 특징 벡터들의 평균값과의 거리에 의해 인덱스값을 산출하는 것을 특징으로 하는 동영상 데이터 클러스터링 방법.
  21. 제11항에 있어서,
    상기 c) 단계에 있어서,
    상기 제2 프레임들 각각에 대한 핑거프린트 데이터는, 상기 각각의 제2 프레임들에 포함되는 제1 프레임들 각각에 대한 특징 분포 데이터의 빈도를 계산함으로써 생성되는 것을 특징으로 하는 동영상 데이터 클러스터링 방법.
  22. 제21항에 있어서,
    상기 제1-1 단계는,
    제2 동영상 데이터의 처음부터 마지막까지 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 각 세그먼트에 대하여, 각 세그먼트에 포함된 P개의 핑거프린트 데이터와 제1 동영상 데이터의 세그먼트의 P개의 핑거프린트 데이터를 순차적으로 대응시켜 비교함으로써 대응되는 핑거프린트 데이터 사이의 거리를 계산하는 제1-1-1 단계; 및
    상기 계산된 거리의 합을 제2 동영상 데이터의 모든 세그먼트에 대하여 세그 먼트 별로 산출하는 제1-1-2 단계
    를 포함하는 것을 특징으로 하는 동영상 데이터 클러스터링 방법.
  23. 제22항에 있어서,
    상기 제1-1-1 단계에서, 대응되는 핑거프린트 데이터 사이의 거리는,
    대응되는 각 핑거프린트 데이터를 구성하는 특징 분포 데이터들에 의해 생성된 빈도 데이터들을 순차적으로 비교하면서 빈도 데이터 간의 최소값을 결정하고 결정된 최소값의 합을 산출함으로써 계산되는 것을 특징으로 하는 동영상 데이터 클러스터링 방법.
  24. 제22항에 있어서,
    상기 제1-2 단계는,
    제2 동영상 데이터의 모든 세그먼트에 대하여 세그먼트 별로 산출된 거리의 합 중에서 최대값을 검출하고, 상기 최대값이 소정 임계치보다 큰 경우, 상기 최대값을 갖는 세그먼트를 상기 제1 동영상 데이터의 처음 P개의 핑거프린트 데이터로 구성되는 세그먼트와 동일한 핑거프린트 데이터를 갖는 제2 동영상 데이터의 세그먼트로서 검출하는 것을 특징으로 하는 동영상 데이터 클러스터링 방법.
  25. 제21항에 있어서,
    제1-4 단계는,
    제1 동영상 데이터의 두번째 핑거프린트 데이터로부터 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 세그먼트와, 상기 제1-2 단계에서 검출된 제2 동영상 데이터의 세그먼트의 다음 세그먼트에 상응하는 핑거프린트 데이터로부터 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 세그먼트를, 각 세그먼트에 포함된 P개씩의 핑거프린트 데이터를 순차적으로 대응시켜 비교함으로써 대응되는 핑거프린트 데이터 사이의 거리를 계산하고, 상기 계산된 거리의 합을 산출한 후, 상기 계산된 거리의 합이 소정 임계치보다 작은 경우에 비교되는 세그먼트가 서로 동일하지 않은 핑거프린트 데이터를 갖는 것으로 결정하고 해당 세그먼트를 제2 동영상 데이터의 최초의 세그먼트로서 검출하는 것을 특징으로 하는 동영상 데이터 클러스터링 방법.
  26. 제25항에 있어서,
    상기 각 세그먼트에 포함된 P개씩의 핑거프린트 데이터를 순차적으로 대응시켜 비교함으로써 대응되는 핑거프린트 데이터 사이의 거리를 계산하는 것은,
    대응되는 각 핑거프린트 데이터를 구성하는 특징 분포 데이터들에 의해 생성된 빈도 데이터들을 순차적으로 비교하면서 빈도 데이터 간의 최소값을 결정하고 결정된 최소값의 합을 산출함으로써 계산되는 것을 특징으로 하는 동영상 데이터 클러스터링 방법.
  27. 적어도 2 이상인 N개의 동영상 데이터들에 대해 서로 동일성이 있는 동영상 데이터들끼리 클러스터링하는 시스템에 있어서,
    상기 N개의 동영상 데이터들로부터 순서와 관계없이 선택된 2개의 동영상 데이터로 구성된 총 N*(N-1)/2개의 모든 동영상 데이터 쌍 각각에 대하여, 상기 각 쌍을 구성하는 2개의 동영상 데이터 사이의 동일성 여부를 판별하고 동일 구간을 검출하는 동영상 데이터 비교부;
    상기 동영상 데이터 비교부에서 동일성이 없는 것으로 판별된 경우, 상기 각 쌍을 구성하는 2개의 동영상 데이터 각각에 서로 다른 신규 클러스터 식별자를 부여하고, 상기 동영상 데이터 비교부에서 동일성이 있는 것으로 판별된 경우, a) 상기 각 쌍을 구성하는 2개의 동영상 데이터 중의 어느 하나에만 클러스터 식별자가 부여되어 있는 경우 그 클러스터 식별자를 다른 동영상 데이터에도 부여하고, b) 상기 각 쌍을 구성하는 2개의 동영상 데이터들에 각각 서로 다른 클러스터 식별자가 이미 부여되어 있는 경우 그 중 어느 하나의 클러스터 식별자를 선택하여 선택되지 않은 클러스터 식별자가 부여되어 있는 동영상 데이터 및 다른 모든 동영상 데이터에 상기 선택된 클러스터 식별자를 부여하고, c) 상기 각 쌍을 구성하는 2개의 동영상 데이터들 모두 클러스터 식별자가 부여되어 있지 않은 경우에는 동일한 신규 클러스터 식별자를 상기 2개의 동영상 데이터들에 부여하는 과정을 수행한 후, 상기 N개의 동영상 데이터들에 각각 부여된 클러스터 식별자에 따라 클러스터를 형성하는 클러스터링 형성부
    를 포함하는 동영상 데이터 클러스터링 시스템.
KR1020070060978A 2007-06-04 2007-06-21 동영상 데이터들을 서로 동일성이 있는 동영상데이터들끼리 클러스터링하는 방법 및 시스템 KR100842310B1 (ko)

Priority Applications (8)

Application Number Priority Date Filing Date Title
KR1020070060978A KR100842310B1 (ko) 2007-06-21 2007-06-21 동영상 데이터들을 서로 동일성이 있는 동영상데이터들끼리 클러스터링하는 방법 및 시스템
CN201210033359.XA CN102638686B (zh) 2007-06-04 2008-06-04 处理动态图像的方法及设备
EP08766104.7A EP2165525B1 (en) 2007-06-04 2008-06-04 Method of processing moving picture and apparatus thereof
CN200880101785A CN101772950A (zh) 2007-06-04 2008-06-04 处理动态图像的方法及设备
US12/598,199 US8345742B2 (en) 2007-06-04 2008-06-04 Method of processing moving picture and apparatus thereof
PCT/KR2008/003142 WO2008150109A1 (en) 2007-06-04 2008-06-04 Method of processing moving picture and apparatus thereof
EP18191563.8A EP3438883B1 (en) 2007-06-04 2008-06-04 Method and apparatus for detecting a common section in moving pictures
US13/691,674 US20130088645A1 (en) 2007-06-04 2012-11-30 Method of Processing Moving Picture and Apparatus Thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070060978A KR100842310B1 (ko) 2007-06-21 2007-06-21 동영상 데이터들을 서로 동일성이 있는 동영상데이터들끼리 클러스터링하는 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR100842310B1 true KR100842310B1 (ko) 2008-06-30

Family

ID=39772790

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070060978A KR100842310B1 (ko) 2007-06-04 2007-06-21 동영상 데이터들을 서로 동일성이 있는 동영상데이터들끼리 클러스터링하는 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR100842310B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100946694B1 (ko) 2007-08-07 2010-03-12 주식회사 코난테크놀로지 영상 정보 기반의 동영상 파일 중복 검사와 관리를 위한시스템 및 방법
KR101030130B1 (ko) * 2009-07-31 2011-04-20 주식회사 다음커뮤니케이션 중복 콘텐츠 검출 장치 및 검출 방법
KR20220096778A (ko) * 2020-12-31 2022-07-07 주식회사 포스코아이씨티 클러스터링 기법을 이용하여 얼굴이미지를 비교하는 에지 디바이스 및 이를 포함한 얼굴인증 시스템
KR20230083104A (ko) * 2021-12-02 2023-06-09 한국항공우주연구원 위성 영상 처리를 위한 영상데이터 텔레메트리 및 보조데이터 텔레메트리 패킷 대응 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000090113A (ja) 1998-09-16 2000-03-31 Real World Computing Partnership マルチメディア・クラスタリング装置、マルチメディア・クラスタリング方法および記録媒体
JP2001273302A (ja) 2000-03-23 2001-10-05 Toshiba Corp 画像検索システムおよび画像検索方法
JP2003281168A (ja) 2002-03-20 2003-10-03 Nippon Telegr & Teleph Corp <Ntt> マルチメディアコンテンツ提供方法、装置、プログラム、および同プログラムを記録した記録媒体
JP2006189918A (ja) 2004-12-28 2006-07-20 Toshiba Corp データマイニング支援装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000090113A (ja) 1998-09-16 2000-03-31 Real World Computing Partnership マルチメディア・クラスタリング装置、マルチメディア・クラスタリング方法および記録媒体
JP2001273302A (ja) 2000-03-23 2001-10-05 Toshiba Corp 画像検索システムおよび画像検索方法
JP2003281168A (ja) 2002-03-20 2003-10-03 Nippon Telegr & Teleph Corp <Ntt> マルチメディアコンテンツ提供方法、装置、プログラム、および同プログラムを記録した記録媒体
JP2006189918A (ja) 2004-12-28 2006-07-20 Toshiba Corp データマイニング支援装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100946694B1 (ko) 2007-08-07 2010-03-12 주식회사 코난테크놀로지 영상 정보 기반의 동영상 파일 중복 검사와 관리를 위한시스템 및 방법
KR101030130B1 (ko) * 2009-07-31 2011-04-20 주식회사 다음커뮤니케이션 중복 콘텐츠 검출 장치 및 검출 방법
KR20220096778A (ko) * 2020-12-31 2022-07-07 주식회사 포스코아이씨티 클러스터링 기법을 이용하여 얼굴이미지를 비교하는 에지 디바이스 및 이를 포함한 얼굴인증 시스템
KR102546327B1 (ko) * 2020-12-31 2023-06-20 주식회사 포스코디엑스 클러스터링 기법을 이용하여 얼굴이미지를 비교하는 에지 디바이스 및 이를 포함한 얼굴인증 시스템
KR20230083104A (ko) * 2021-12-02 2023-06-09 한국항공우주연구원 위성 영상 처리를 위한 영상데이터 텔레메트리 및 보조데이터 텔레메트리 패킷 대응 방법 및 장치
KR102568263B1 (ko) * 2021-12-02 2023-08-17 한국항공우주연구원 위성 영상 처리를 위한 영상데이터 텔레메트리 및 보조데이터 텔레메트리 패킷 대응 방법 및 장치

Similar Documents

Publication Publication Date Title
JP5826291B2 (ja) 音声信号からの特徴フィンガープリントの抽出及びマッチング方法
EP3816998A1 (en) Method and system for processing sound characteristics based on deep learning
KR102025652B1 (ko) 사운드 이벤트 탐지 모델 학습 방법
KR100888804B1 (ko) 동영상 데이터의 동일성 판단 및 동일 구간 검출 방법 및장치
JP5907511B2 (ja) オーディオメディア認識のためのシステム及び方法
EP1760693B1 (en) Extraction and matching of characteristic fingerprints from audio signals
EP2793223A1 (en) Ranking representative segments in media data
JP2004530153A6 (ja) 信号を特徴付ける方法および装置、および、索引信号を生成する方法および装置
WO2015114216A2 (en) Audio signal analysis
CN109584904B (zh) 应用于基础音乐视唱教育的视唱音频唱名识别建模方法
JP2011059504A (ja) コンテンツ同定方法、コンテンツ同定システム、コンテンツ検索装置及びコンテンツ利用装置
CN109147816B (zh) 对音乐进行音量调节的方法及设备
CN107480152A (zh) 一种音频分析及检索方法和系统
KR100842310B1 (ko) 동영상 데이터들을 서로 동일성이 있는 동영상데이터들끼리 클러스터링하는 방법 및 시스템
Uhle Applause sound detection
WO2019053544A1 (en) IDENTIFICATION OF AUDIOS COMPONENTS IN AN AUDIO MIX
KR20200126951A (ko) 사운드 이벤트 탐지 모델 학습 방법
Kruspe et al. Automatic speech/music discrimination for broadcast signals
KR20200118587A (ko) 음악의 내재적 정보를 이용한 음악 추천 시스템
JP5772957B2 (ja) 音響処理装置、音響処理システム、ビデオ処理システム、制御方法および制御プログラム
CN115116469A (zh) 特征表示的提取方法、装置、设备、介质及程序产品
KR20200090601A (ko) 사운드 이벤트 탐지 모델 학습 방법
Horsburgh et al. Music-inspired texture representation
WO2022082607A1 (en) Vocal track removal by convolutional neural network embedded voice finger printing on standard arm embedded platform
CN117807564A (zh) 音频数据的侵权识别方法、装置、设备及介质

Legal Events

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

Payment date: 20130314

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140425

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150612

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160622

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170616

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180612

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190613

Year of fee payment: 12