KR100888804B1 - 동영상 데이터의 동일성 판단 및 동일 구간 검출 방법 및장치 - Google Patents

동영상 데이터의 동일성 판단 및 동일 구간 검출 방법 및장치 Download PDF

Info

Publication number
KR100888804B1
KR100888804B1 KR1020070054601A KR20070054601A KR100888804B1 KR 100888804 B1 KR100888804 B1 KR 100888804B1 KR 1020070054601 A KR1020070054601 A KR 1020070054601A KR 20070054601 A KR20070054601 A KR 20070054601A KR 100888804 B1 KR100888804 B1 KR 100888804B1
Authority
KR
South Korea
Prior art keywords
data
segment
video data
fingerprint
fingerprint data
Prior art date
Application number
KR1020070054601A
Other languages
English (en)
Other versions
KR20090002076A (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 (주)엔써즈
Priority to KR1020070054601A priority Critical patent/KR100888804B1/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
Publication of KR20090002076A publication Critical patent/KR20090002076A/ko
Application granted granted Critical
Publication of KR100888804B1 publication Critical patent/KR100888804B1/ko
Priority to US13/691,674 priority patent/US20130088645A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/72Data preparation, e.g. statistical preprocessing of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8358Generation of protective data, e.g. certificates involving watermark
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Library & Information Science (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Artificial Intelligence (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Primary Health Care (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Collating Specific Patterns (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 동영상 데이터의 동일성 판단 및 동일 구간 검출 방법 및 장치에 관한 것으로서, 적어도 하나 이상의 핑거프린트 데이터를 갖는 제1 동영상 데이터와 제2 동영상 데이터를 비교하여 동영상 데이터의 동일성을 판단하고 동일 구간을 검출하는 방법에 있어서, 제1 동영상 데이터의 처음 P개의 핑거프린트 데이터로 구성되는 세그먼트와, 제2 동영상 데이터의 처음부터 마지막까지 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 세그먼트를 순차적으로 대응시켜 비교하여 비교 결과값을 세그먼트별로 산출하는 제1 단계; 상기 제1 단계에서 산출된 세그먼트별 비교 결과값에 의거하여 상기 제1 동영상 데이터의 처음 P개의 핑거프린트 데이터로 구성되는 세그먼트와 동일한 핑거프린트 데이터를 갖는 제2 동영상 데이터의 세그먼트를 검출하는 제2 단계; 상기 제2 단계에서 세그먼트가 검출된 경우, 검출된 제2 동영상 데이터의 세그먼트의 시작점을 동일 구간의 시작점으로 결정하는 제3 단계; 제1 동영상 데이터의 두번째 핑거프린트 데이터로부터 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 세그먼트와, 상기 제2 단계에서 검출된 제2 동영상 데이터의 세그먼트의 다음 세그먼트에 상응하는 핑거프린트 데이터로부터 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 세그먼트를, 각 세그먼트별로 순차적으로 대응시켜 비교함으로써 동일하지 않은 핑거프린트 데이터를 갖는 제2 동영상 데이터의 최초의 세그먼트를 검출하는 제4 단계; 상기 제4 단계에서 최초의 세그먼트가 검출된 경우, 검출된 제2 동영상 데이터의 최초의 세그먼트의 시작점을 동일 구간 의 종료점으로 결정하는 제5 단계; 및 상기 제4 단계에서 상기 제1 및 제2 동영상 데이터 중의 어느 하나의 마지막 세그먼트에 도달할 때까지 세그먼트가 검출되지 않은 경우, 상기 마지막 세그먼트의 종료점을 동일 구간의 종료점으로 결정하는 제6 단계를 포함하는 동영상 데이터의 동일성 판단 및 동일 구간 검출 방법을 제공한다.
동영상 데이터, 오디오 핑거프린트, 비디오 핑거프린트

Description

동영상 데이터의 동일성 판단 및 동일 구간 검출 방법 및 장치{METHOD AND APPARATUS FOR DETERMINING SAMENESS AND DETECTING COMMON FRAME OF MOVING PICTURE DATA}
도 1은 본 발명에 의한 동영상 데이터의 동일성 판단 및 동일 구간 검출 장치(100)의 전체 구성을 나타낸 도면,
도 2는 본 발명에 의한 동영상 데이터의 동일성 판단 및 동일 구간 검출 방법을 수행하기 위하여 사용되는 핑거프린트 데이터의 구성을 설명하기 위한 도면,
도 3은 본 발명에 의한 동영상 데이터의 동일성 판단 및 동일 구간 검출 방법을 수행하기 위하여 사용되는 핑거프린트의 종류를 설명하기 위한 도면,
도 4는 본 발명의 바람직한 일실시예에 의한 동영상 데이터의 동일성 판단 및 동일 구간 검출 방법이 적용되는 동영상 데이터들의 예를 나타낸 도면,
도 5는 본 발명의 바람직한 일실시예에 의한 동영상 데이터의 동일성 판단 및 동일 구간 검출 방법을 개략적으로 나타낸 흐름도,
도 6 내지 도 8은 도 5에서 설명한 단계(S100)에서의 일치하는 구간의 시작점을 검출하는 과정을 설명하기 위한 도면,
도 9 내지 도 11은 도 5의 단계(S110)에서 설명한 일치 구간의 종료점을 검 출하는 과정을 설명하기 위한 도면,
도 12는 제1 동영상 데이터의 일부분이 제2 동영상 데이터의 일부분과 동일한 경우를 나타낸 도면,
도 13 내지 도 19는 본 발명에 의한 동영상 데이터의 동일성 판단 및 동일 구간 검출 방법에 적용할 수 있는 핑거프린트 생성 방법의 일예를 설명하기 위한 도면,
도 20은 비디오 핑거프린트 데이터의 경우 특징 데이터 추출 과정을 나타낸 흐름도이다.
<도면 주요 부분의 부호에 대한 설명>
10...동영상 데이터 입력 장치,
20...핑거프린트 데이터 생성부,
30...동영상 데이터 비교부,
40...데이터베이스
본 발명은 동영상 데이터의 동일성 판단 및 동일 구간 검출 방법 및 장치에 관한 것으로서, 보다 상세하게는 동영상 데이터의 특징을 나타내는 핑거프린트 데 이터를 이용하여 동영상 데이터들 간의 동일성 여부를 판별하고 동일한 구간을 신속하고 용이하게 검출할 수 있는 방법 및 장치에 관한 것이다.
인터넷 기술의 발전 등에 따라, 최근 동영상 데이터를 웹 페이지에 업로드하는 이른바 UCC(User Created Contents) 등과 같은 추세가 널리 확산되고 있다. 이와 같이 동영상 데이터를 웹을 통하여 재생하거나 다운로드받을 수 있게 됨으로써, 웹에 산재해 있는 동영상 데이터간의 동일성 여부를 판별할 수 있는 기술이 요망되고 있다.
예컨대, 인터넷의 각종 검색 사이트는 대부분 특정 키워드를 입력하면 해당 키워드에 상응하는 동영상 데이터가 저장되어 있는 어드레스나 링크 주소 등을 검색 결과로서 사용자에게 제공하고 있다. 그러나, 이러한 경우 동일한 동영상 데이터가 다수 제공되고 있는데 사용자 입장에서는 이를 일일이 클릭해서 확인해보기 전에는 동일성 여부를 판별할 수 없다는 문제점이 있다. 특히, 사용자가 동영상 데이터의 재미있는 부분만을 편집하여 원본 동영상 데이터보다 축소된 형태의 데이터를 제공하고 이러한 동영상 데이터를 다른 사용자들이 그대로 복사하거나 링크를 걸어 놓는 경우가 많으므로 현재 검색 사이트에서 제공되는 동영상 데이터들은 다수의 중복 결과를 제공하고 있다.
이를 해결하기 위해서는, 검색 사이트에서 웹에서 추출되는 동영상 데이터들 간의 동일성 여부를 미리 판단해 두고 중복되는 동영상들을 하나로 묶어서 사용자에게 제공해 줄 수 있다면 사용자에게는 매우 편리한 방법이 될 수 있을 것이다. 더우기, 동영상 데이터를 편집해서 업로드 하는 경우가 많다는 사실에 비추어 볼 때, 동영상 데이터의 전부가 동일한 경우 뿐 아니라 일부 구간 만이 동일한 경우에도 이러한 일부 동일 여부를 판별하고 동일 구간을 검출할 수 있다면 사용자에게는 더욱 편리할 것이다.
또한, 이러한 검색 사이트에서 중복 동영상 데이터를 거르는 경우 이외에도, 예컨대 불법적인 다운로드 또는 복사 등에 의해 저작권이 침해되는 경우를 판별하는 경우에도 동영상 데이터의 전체 및 일부 구간의 동일성 여부 및 동일 구간을 검출할 수 있는 방법이 요망되고 있다.
한편, 동영상 데이터는 오디오 신호와 비디오 신호로 구성되는데 이들을 서로 별도로 분리할 수 있으며 각각에 대하여 오디오 신호의 특성을 나타내는 오디오 핑거프린트 데이터와 비디오 신호의 특성을 나타내는 비디오 핑거프린트 데이터를 생성할 수 있다. 이러한 핑거프린트 생성에 대해서는 다수의 기술이 제안된 바 있다.
우선, 오디오 핑거프린트(audio finger print)라 함은, 일반적으로 오디오 데이터의 특징을 설명할 수 있는 데이터를 의미하는 것으로서, 주파수 변환 등의 방법에 의하여 오디오 데이터를 여러 가지 방법으로 분석하여 생성하고, 이를 이용하여 오디오 데이터의 무단 도용 여부를 판별하거나 오디오 핑거프린트에 의해 오디오 데이터를 검색하는 등의 방법에 사용되고 있다.
이러한 오디오 핑거프린트를 생성하는 종래의 방법으로는 여러 가지 방식이 제안되어 있으나, 종래의 오디오 핑거프린트 생성 방식은 검색하고자 하는 검색 대상 오디오 데이터의 양이 많아질 경우(약 10000개 이상) 오디오 데이터의 핑거프린 트를 생성하는 속도가 현저하게 느려지는 단점이 있어서, 많은 양의 오디오 데이터를 비교하는 경우에는 적절치 않다는 문제점이 있었다.
또한, 국내특허등록 제10-0456408호에는 이진 특징(binary feature)을 사용하는 오디오 유전자 추출 방식이 개시되어 있으나, 이는 데이터베이스 내의 각 오디오 데이터의 매 프레임마다 스펙트럼의 에너지를 32개의 주파수 대역별로 0 또는 1의 값으로 표현하고, 이 값을 검색 테이블 값에 (오디오 신호 ID, 해당 프레임 i)로 추가 등록한 뒤, 임의의 수 초 구간의 입력 오디오에 대해 동일한 방식으로 32비트 패턴을 추출하여 이 테이블을 검색하는 방식으로서, 검색 테이블의 각 엔트리에 등록된 (오디오 신호 ID, 프레임 index)의 개수가 가변적이어서 충분한 검색 속도를 보장할 수 없다는 단점이 있으며, 또한 바이너리 특징벡터 추출방식이 고정적이어서 입력 신호에 발생한 손상에 상대적으로 취약한 단점이 있다.
또한, 비디오 핑거프린트에 대해서도 다수의 기술이 제안된 바 있으나, 이러한 기술들도 대부분 특정 입력 신호의 손상에 취약하며 특징 벡터 추출 방식이 고정적이므로, 데이터의 비교시에 오차가 많이 발생하여 신뢰성을 담보할 수 없는 문제점이 마찬가지로 존재한다.
본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 안출된 것으로서, 종래의 핑거프린트 생성 방식에 비하여 속도가 현저하게 개선되며 생성 방법이 상대적으로 간편하며, 데이터의 특징을 보다 정밀하게 반영할 수 있고, 동일성 여부의 판단 오차를 현저하게 감소시킬 수 있는 핑거프린트 데이터를 이용하여, 동영상 데이터들 간의 동일성 여부 및 동일 구간을 신속하고 정밀하게 검출할 수 있는 동영상 데이터의 동일성 판단 및 동일 구간 검출 방법 및 장치를 제공하는 것을 목적으로 한다.
또한, 본 발명은 비디오 신호 및 오디오 신호가 포함되어 있는 동영상 데이터로부터 비디오 신호 및/또는 오디오 신호를 추출하고, 추출된 비디오 신호 및/또는 오디오 신호를 이용하여 생성된 비디오 및/또는 오디오 핑거프린트 데이터를 비교함으로써, 동영상 데이터의 동일성 여부 및 동일 구간을 적은 오차로 신뢰성을 가지고 검출할 수 있는 동영상 데이터의 동일성 판단 및 동일 구간 검출 방법 및 장치를 제공하는 것을 또 다른 목적으로 한다.
또한, 본 발명은 비교되는 동영상 데이터들이 부분적으로 동일한 경우에도 부분적으로 동일한지의 여부를 쉽게 판별할 수 있고, 또한 부분적으로 동일한 구간의 구간 정보도 제공할 수 있는 동영상 데이터의 동일성 판단 및 동일 구간 검출 방법 및 장치를 제공하는 것을 또 다른 목적으로 한다.
또한, 본 발명은 비디오 핑거프린트 데이터 및/또는 오디오 핑거프린트 데이터를 조합하여 사용할 수 있으므로 오디오 신호가 묵음인 경우 등과 같이 어느 하나의 신호를 사용할 수 없는 경우에도 비교되는 동영상 데이터의 동일성 여부 및 동일 구간을 검출할 수 있는 방법 및 장치를 제공하는 것을 또 다른 목적으로 한다.
상기한 바와 같은 목적을 달성하기 위한 본 발명은, 적어도 하나 이상의 핑거프린트 데이터를 갖는 제1 동영상 데이터와 제2 동영상 데이터를 비교하여 동영상 데이터의 동일성을 판단하고 동일 구간을 검출하는 방법에 있어서, 제1 동영상 데이터의 처음 P개의 핑거프린트 데이터로 구성되는 세그먼트와, 제2 동영상 데이터의 처음부터 마지막까지 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 세그먼트를 순차적으로 대응시켜 비교하여 비교 결과값을 세그먼트별로 산출하는 제1 단계; 상기 제1 단계에서 산출된 세그먼트별 비교 결과값에 의거하여 상기 제1 동영상 데이터의 처음 P개의 핑거프린트 데이터로 구성되는 세그먼트와 동일한 핑거프린트 데이터를 갖는 제2 동영상 데이터의 세그먼트를 검출하는 제2 단계; 상기 제2 단계에서 세그먼트가 검출된 경우, 검출된 제2 동영상 데이터의 세그먼트의 시작점을 동일 구간의 시작점으로 결정하는 제3 단계; 제1 동영상 데이터의 두번째 핑거프린트 데이터로부터 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 세그먼트와, 상기 제2 단계에서 검출된 제2 동영상 데이터의 세그먼트의 다음 세그먼트에 상응하는 핑거프린트 데이터로부터 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 세그먼트를, 각 세그먼트별로 순차적으로 대응시켜 비교함으로써 동일하지 않은 핑거프린트 데이터를 갖는 제2 동영상 데이터의 최초의 세그먼트를 검출하는 제4 단계; 상기 제4 단계에서 최초의 세그먼트가 검출된 경우, 검출된 제2 동영상 데이터의 최초의 세그먼트의 시작점을 동일 구간의 종료점으로 결정하는 제5 단계; 및 상기 제4 단계에서 상기 제1 및 제2 동영상 데이터 중의 어느 하나의 마지막 세 그먼트에 도달할 때까지 세그먼트가 검출되지 않은 경우, 상기 마지막 세그먼트의 종료점을 동일 구간의 종료점으로 결정하는 제6 단계를 포함하는 동영상 데이터의 동일성 판단 및 동일 구간 검출 방법을 제공한다.
여기에서, 상기 제2 단계에서, 상기 제1 동영상 데이터의 처음 P개의 핑거프린트 데이터로 구성되는 세그먼트와 동일한 핑거프린트 데이터를 갖는 제2 동영상 데이터의 세그먼트가 검출되지 않은 경우, 제2 동영상 데이터의 처음 P개의 핑거프린트 데이터로 구성되는 세그먼트와, 제1 동영상 데이터의 처음부터 마지막까지 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 세그먼트를 순차적으로 대응시켜 비교하여 비교 결과값을 세그먼트별로 산출하는 제7 단계; 상기 제7 단계에서 산출된 세그먼트별 비교 결과값에 의거하여 상기 제2 동영상 데이터의 처음 P개의 핑거프린트 데이터로 구성되는 세그먼트와 동일한 핑거프린트 데이터를 갖는 제1 동영상 데이터의 세그먼트를 검출하는 제8 단계; 상기 제8 단계에서 세그먼트가 검출된 경우, 검출된 제1 동영상 데이터의 세그먼트의 시작점을 동일 구간의 시작점으로 결정하는 제9 단계; 제2 동영상 데이터의 두번째 핑거프린트 데이터로부터 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 세그먼트와, 상기 제8 단계에서 검출된 제1 동영상 데이터의 세그먼트의 다음 세그먼트에 상응하는 핑거프린트 데이터로부터 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 세그먼트를, 각 세그먼트별로 순차적으로 대응시켜 비교함으로써 동일하지 않은 핑거프린트 데이터를 갖는 제1 동영상 데이터의 최초의 세그먼트를 검출하는 제10 단계; 상기 제10 단계에서 최초의 세그먼트가 검출된 경우, 검출된 제1 동영상 데이터의 최초의 세그먼트의 시 작점을 동일 구간의 종료점으로 결정하는 제11 단계; 및 상기 제10 단계에서 상기 제1 및 제2 동영상 데이터 중의 어느 하나의 마지막 세그먼트에 도달할 때까지 세그먼트가 검출되지 않은 경우, 상기 마지막 세그먼트의 종료점을 동일 구간의 종료점으로 결정하는 제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 단계는, 제2 동영상 데이터의 처음부터 마지막까지 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 각 세그먼트에 대하여, 각 세그먼트에 포함된 P개의 핑거프린트 데이터와 제1 동영상 데이터의 세그먼트의 P개의 핑거프린트 데이터를 순차적으로 대응시켜 비교함으로써 대응되는 핑거프린트 데이터 사이의 거리를 계산하는 제1-1 단계; 및 상기 계산된 거리의 합을 제2 동영상 데이터의 모든 세그먼트에 대하여 세그먼트 별로 산출하는 제1-2 단계를 포함할 수 있다.
또한, 상기 제1-1 단계에서, 대응되는 핑거프린트 데이터 사이의 거리는, 대응되는 각 핑거프린트 데이터를 구성하는 특징 분포 데이터들에 의해 생성된 빈도 데이터들을 순차적으로 비교하면서 빈도 데이터 간의 최소값을 결정하고 결정된 최 소값의 합을 산출함으로써 계산될 수 있다.
또한, 상기 제2 단계는, 제2 동영상 데이터의 모든 세그먼트에 대하여 세그먼트 별로 산출된 거리의 합 중에서 최대값을 검출하고, 상기 최대값이 소정 임계치보다 큰 경우, 상기 최대값을 갖는 세그먼트를 상기 제1 동영상 데이터의 처음 P개의 핑거프린트 데이터로 구성되는 세그먼트와 동일한 핑거프린트 데이터를 갖는 제2 동영상 데이터의 세그먼트로서 검출하는 것일 수 있다.
또한, 제4 단계는, 제1 동영상 데이터의 두번째 핑거프린트 데이터로부터 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 세그먼트와, 상기 제2 단계에서 검출된 제2 동영상 데이터의 세그먼트의 다음 세그먼트에 상응하는 핑거프린트 데이터로부터 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 세그먼트를, 각 세그먼트에 포함된 P개씩의 핑거프린트 데이터를 순차적으로 대응시켜 비교함으로써 대응되는 핑거프린트 데이터 사이의 거리를 계산하고, 상기 계산된 거리의 합을 산출한 후, 상기 계산된 거리의 합이 소정 임계치보다 작은 경우에 비교되는 세그먼트가 서로 동일하지 않은 핑거프린트 데이터를 갖는 것으로 결정하고 해당 세그먼트를 제2 동영상 데이터의 최초의 세그먼트로서 검출할 수 있다.
또한, 상기 각 세그먼트에 포함된 P개씩의 핑거프린트 데이터를 순차적으로 대응시켜 비교함으로써 대응되는 핑거프린트 데이터 사이의 거리를 계산하는 것은, 대응되는 각 핑거프린트 데이터를 구성하는 특징 분포 데이터들에 의해 생성된 빈도 데이터들을 순차적으로 비교하면서 빈도 데이터 간의 최소값을 결정하고 결정된 최소값의 합을 산출함으로써 계산될 수 있다.
본 발명의 다른 측면에 의하면, 적어도 하나 이상의 핑거프린트 데이터를 갖는 제1 동영상 데이터와 제2 동영상 데이터를 비교하여 동영상 데이터의 동일성 여부를 판단하고 동일 구간을 검출하는 장치에 있어서, 제1 동영상 데이터의 처음 P개의 핑거프린트 데이터로 구성되는 세그먼트와, 제2 동영상 데이터의 처음부터 마지막까지 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 세그먼트를 순차적으로 대응시켜 비교하여 비교 결과값을 세그먼트별로 산출하고, 상기 산출된 세그먼트별 비교 결과값에 의거하여 상기 제1 동영상 데이터의 처음 P개의 핑거프린트 데이터로 구성되는 세그먼트와 동일한 핑거프린트 데이터를 갖는 제2 동영상 데이터의 세그먼트를 검출하고, 세그먼트가 검출된 경우, 검출된 제2 동영상 데이터의 세그먼트의 시작점을 동일 구간의 시작점으로 결정하고, 제1 동영상 데이터의 두번째 핑거프린트 데이터로부터 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 세그먼트와, 상기 검출된 제2 동영상 데이터의 세그먼트의 다음 세그먼트에 상응하는 핑거프린트 데이터로부터 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 세그먼트를, 각 세그먼트별로 순차적으로 대응시켜 비교함으로써 동일하지 않은 핑거프린트 데이터를 갖는 제2 동영상 데이터의 최초의 세그먼트를 검출하고, 최초의 세그먼트가 검출된 경우, 검출된 제2 동영상 데이터의 최초의 세그먼트의 시작점을 동일 구간의 종료점으로 결정하고, 상기 제1 및 제2 동영상 데이터 중의 어느 하나의 마지막 세그먼트에 도달할 때까지 세그먼트가 검출되지 않은 경우, 상기 마지막 세그먼트의 종료점을 동일 구간의 종료점으로 결정하는 동영상 데이터 비교부를 포함하는 동영상 데이터의 동일성 판단 및 동일 구간 검출 장치를 제공할 수 있다.
여기에서, 상기 동영상 데이터 비교부는, 상기 제1 동영상 데이터의 처음 P개의 핑거프린트 데이터로 구성되는 세그먼트와 동일한 핑거프린트 데이터를 갖는 제2 동영상 데이터의 세그먼트가 검출되지 않은 경우, 제2 동영상 데이터의 처음 P개의 핑거프린트 데이터로 구성되는 세그먼트와, 제1 동영상 데이터의 처음부터 마지막까지 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 세그먼트를 순차적으로 대응시켜 비교하여 비교 결과값을 세그먼트별로 산출하고, 상기 산출된 세그먼트별 비교 결과값에 의거하여 상기 제2 동영상 데이터의 처음 P개의 핑거프린트 데이터로 구성되는 세그먼트와 동일한 핑거프린트 데이터를 갖는 제1 동영상 데이터의 세그먼트를 검출하고, 세그먼트가 검출된 경우, 검출된 제1 동영상 데이터의 세그먼트의 시작점을 동일 구간의 시작점으로 결정하고, 제2 동영상 데이터의 두번째 핑거프린트 데이터로부터 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 세그먼트와, 상기 검출된 제1 동영상 데이터의 세그먼트의 다음 세그먼트에 상응하는 핑거프린트 데이터로부터 P개씩의 핑거프린트 데이터로 순차적으로 구성되는 세그먼트를, 각 세그먼트별로 순차적으로 대응시켜 비교함으로써 동일하지 않은 핑거프린트 데이터를 갖는 제1 동영상 데이터의 최초의 세그먼트를 검출하고, 최초의 세그먼트가 검출된 경우, 검출된 제1 동영상 데이터의 최초의 세그먼트의 시작점을 동일 구간의 종료점으로 결정하고, 상기 제1 및 제2 동영상 데이터 중의 어느 하나의 마지막 세그먼트에 도달할 때까지 세그먼트가 검출되지 않은 경우, 상기 마지막 세그먼트의 종료점을 동일 구간의 종료점으로 결정할 수 있다.
이하, 첨부 도면을 참조하여 본 발명의 바람직한 실시예들을 상세하게 설명한다.
도 1은 본 발명에 의한 동영상 데이터의 동일성 판단 및 동일 구간 검출 방법을 수행하기 위한 동영상 데이터의 동일성 판단 및 동일 구간 검출 장치(100)의 전체 구성을 나타낸 도면이다.
도 1을 참조하면, 본 발명에 의한 동영상 데이터의 동일성 판단 및 동일 구간 검출 장치(이하, "검출 장치"라 한다. 100)는, 핑거프린트 데이터 생성부(20), 동영상 데이터 비교부(30) 및 데이터베이스(40)를 포함한다. 검출 장치(100)는 동영상 데이터 입력 장치(10)와 결합하여 이들로부터 동영상 데이터를 입력받는다.
동영상 데이터 입력 장치(10)는 예컨대, 인터넷의 웹페이지, PC 및 모바일 단말기일 수 있으며, 비디오 신호 및 오디오 신호가 포함된 동영상 데이터를 검출 장치(100)로 전송한다. 여기서, 동영상 데이터 입력 장치(10)는 검출 장치(100)로 동영상 데이터를 전송하기 위한 기능을 수행할 수 있는 모든 수단을 의미하며 도 1에 도시한 것에 한정되는 것이 아님은 물론이다. 예컨대, 동영상 데이터 입력장치(10) 중의 인터넷의 웹페이지의 경우에는 검출 장치(100) 내에 인터넷상의 웹페이지에 포함되어 있는 동영상 데이터를 자동으로 추출할 수 있는 로봇을 포함시키고, 이러한 로봇에 의해 동영상 데이터를 검출 장치(100)로 전송하는 것도 생각할 수 있다.
핑거프린트 데이터 생성부(20)는 동영상 데이터 입력 장치(10)로부터 동영상 데이터를 입력받아 동영상 데이터의 특징을 나타내는 핑거프린트 데이터를 생성하는 역할을 수행한다. 핑거프린트 데이터 생성부(20)는, 원본 동영상 데이터들에 대해서는 미리 핑거프린트 데이터를 생성하여 두고 이들을 데이터베이스(40)로 전송하여 저장하도록 하며, 원본 동영상 데이터들과 비교할 비교 대상인 동영상 데이터에 대해서는 핑거프린트 데이터를 생성하여 이를 동영상 데이터 비교부(30)로 전송하여 동영상 데이터 비교부(30)에서 데이터베이스(40) 내에 저장되어 있는 원본 동영상 데이터들의 핑거프린트 데이터와 비교하여 동영상 데이터 간의 동일성 여부 및 동일 구간을 검출할 수 있도록 한다. 여기에서, 핑거프린트 데이터 생성부(20)는 입력되는 동영상 데이터로부터 오디오 신호와 비디오 신호를 분리 추출하는 수단을 포함할 수 있으며, 이러한 수단에 의하여 분리 추출된 오디오 신호 및 비디오 신호에 대한 오디오 핑거프린트 데이터와 비디오 핑거프린트 데이터를 각각 생성할 수 있다. 이러한 핑거프린트의 구체적인 생성에 대해서는 후술한다.
데이터베이스(40)는 핑거프린트 데이터 생성부(20)에서 생성된 동영상 데이터의 핑거프린트 데이터를 저장한다. 또한 필요한 경우 원본 동영상 데이터 자체도 저장할 수 있다.
동영상 데이터 비교부(30)는 핑거프린트 데이터 생성부(20)에 의해 생성된 핑거프린트 데이터를 갖는 동영상 데이터들을 서로 비교하여 이들의 동일성 여부 및 동일 구간을 검출하는 역할을 수행한다. 동영상 데이터 비교부(30)는 전술한 바와 같이 원본 동영상 데이터들에 대하여 미리 생성된 핑거프린트 데이터들을 저장하는 데이터베이스(40)와 비교 대상 동영상 데이터의 핑거프린트 데이터를 비교 하여 이들의 동일성 여부 및 동일 구간을 검출할 수 있다. 물론, 동영상 데이터 비교부(30)는 반드시 데이터베이스(40)에 저장된 동영상 데이터와 비교 대상 동영상 데이터를 비교해야 할 필요는 없으며, 데이터베이스(40)에 저장되어 있지 않은 동영상 데이터들이 입력되더라도 이들에 대한 핑거프린트 데이터만 존재하면 이들을 비교하여 동일성 여부 및 동일 구간을 검출할 수 있다. 또한, 동영상 데이터 비교부(30)는 전술한 바와 같이 핑거프린트 데이터를 비교함으로써, 동일성 여부 및 동일 구간을 검출한 경우 이에 대한 정보를 출력할 수 있다.
도 2는 본 발명의 바람직한 일실시예에 의한 동영상 데이터의 동일성 판단 및 동일 구간 검출 방법을 수행하기 위하여 사용되는 핑거프린트 데이터의 구성을 설명하기 위한 도면이다.
도 2를 참조하면, 본 발명의 바람직한 일실시예에서 사용되는 핑거프린트는 동영상 데이터를 적어도 하나 이상의 프레임으로 분할하고, 이들 분할된 프레임의 소정 개수씩 마다 핑거프린트 데이터를 생성한다는 점을 특징으로 한다.
도 2의 (a)에서, 동영상 데이터는 총 M개의 프레임으로 분할되어 있으며, 맨 처음 프레임부터 하나의 프레임씩 이동하면서 5개씩마다에 대해 각각 핑거프린트 데이터를 생성하여 총 T1개의 핑거프린트 데이터를 생성하고 이들의 집합에 의해 동영상 데이터 전체의 핑거프린트 데이터를 형성함을 알 수 있다.
도 2의 (b)에서, 동영상 데이터는 총 M개의 프레임으로 분할되어 있으며, 맨 처음 프레임부터 5개씩 마다에 대해 핑거프린트 데이터를 생성한다는 점은 도 2의 (a)와 동일하지만, 두개의 프레임씩 이동하면서 핑거프린트 데이터를 생성하여 총 T2개의 핑거프린트 데이터를 생성한다는 점에서 차이가 있다. 물론, T2는 T1보다 작은 값을 갖게 될 것이다.
도 2는 예시적인 것으로서, 필요에 따라 동영상 데이터를 소정 개수의 프레임으로 분할하고 몇개씩 마다의 프레임에 대해 핑거프린트 데이터를 생성할 것인지 또한 몇개의 프레임마다 이동하면서 핑거프린트 데이터를 생성할 것인지를 결정할 수 있다. 핑거프린트 데이터의 개수가 많아질 수록 정교한 비교가 가능하다는 장점이 있지만 연산 시간이 늘어날 수 있다는 단점이 있으므로 이를 적절히 비교교량하여 선택하는 것이 바람직하다. 본 발명은 이와 같은 핑거프린트의 개수에는 종속되지 않으며, 동영상 데이터를 적어도 하나 이상의 프레임으로 분할하고 각 프레임들의 집합에 의해 생성되는 적어도 하나 이상의 핑거프린트 데이터들을 갖는 동영상 데이터들에 대해서는 본 발명을 그대로 적용할 수 있다. 또한, 본 발명은 핑거프린트를 생성하는 방식에 대해서도 종속되지 않으며, 어떠한 방법에 의해 핑거프린트를 생성하더라도 도 2에서와 같이 프레임별로 구간을 나누어 생성할 수 있는 것이기만 하면, 본 발명을 그대로 적용할 수 있다.
도 3은 본 발명의 바람직한 일실시예에 의한 동영상 데이터의 동일성 판단 및 동일 구간 검출 방법을 수행하기 위하여 사용되는 핑거프린트의 종류를 설명하기 위한 도면이다.
통상적으로 동영상 데이터는 오디오 신호와 비디오 신호가 혼합되어 있으며 이들은 각각 별도의 오디오 신호 및 비디오 신호로 분리 추출할 수 있다. 동영상 데이터로부터 오디오 신호 및 비디오 신호가 분리 추출되면 각 신호에 대해서 오디오 신호의 특성을 나타내는 오디오 핑거프린트 데이터와 비디오 신호의 특성을 나타내는 비디오 핑거프린트 데이터를 생성할 수 있으며, 도 3은 이러한 과정을 설명하기 위한 것이다.
도 3에 나타낸 바와 같이, 본 발명에서 사용되는 핑거프린트 데이터는 오디오 핑거프린트 또는 비디오 핑거프린트 데이터 중 어느 하나를 사용하거나 이들을 동시에 사용할 수도 있다. 예컨대, 오디오 신호가 묵음인 경우 등에는 비디오 핑거프린트 데이터만을 이용하여 동일성 여부 및 동일 구간을 검출할 수 있다. 오디오 및 비디오 핑거프린트 데이터를 동시에 사용하는 경우에는 보다 정밀한 비교가 가능하게 된다. 앞서 설명한 바와 같이, 본 발명은 핑거프린트 데이터의 생성 방식에 종속되지 않으므로, 오디오 또는 비디오 핑거프린트 데이터는 어떠한 형태로 생성되더라도 도 2에서와 같이 프레임으로 분할되어 생성될 수 있는 것이기만 하면 본 발명을 그대로 적용할 수 있다.
도 4는 본 발명의 바람직한 일실시예에 의한 동영상 데이터의 동일성 판단 및 동일 구간 검출 방법이 적용되는 동영상 데이터들의 예를 나타낸 것이다.
도 4의 (a)는 비교되는 두 동영상 데이터가 완전히 일치하는 경우이며, (b)는 비교되는 두 동영상 데이터의 일부가 일치하는 경우이다. (b)의 경우는 위쪽의 동영상 데이터의 전부가 아래쪽의 동영상 데이터에 완전히 포함되어 있는 경우이 다.
한편, 도 4의 (c)는 위쪽의 동영상 데이터의 일부가 아래쪽 동영상 데이터의 일부와 겹치는 경우이며, 도 4의 (d)는 위쪽의 동영상 데이터의 일부와 아래쪽 동영상 데이터의 일부만이 서로 공통되는 경우를 나타낸 것이다.
본 발명은 도 4의 (a) 내지 (d)의 경우에 모두 적용될 수 있다.
도 5는 본 발명의 바람직한 일실시예에 의한 동영상 데이터의 동일성 판단 및 동일 구간 검출 방법을 개략적으로 나타낸 흐름도이다.
도 5의 실시예에서, 서로 비교할 대상이 되는 2개의 동영상 데이터를 각각 제1 동영상 데이터 및 제2 동영상 데이터라고 정의하며, 제1 및 제2 동영상 데이터 는 모두 도 2에서 나타낸 바와 같이 구성되는 핑거프린트 데이터를 갖는다고 정의한다.
도 5를 참조하면, 본 실시예의 방법은 우선, 제2 동영상 데이터에 대하여 제1 동영상 데이터의 시작점과 동일한 시작점을 검출하고 시작점의 정보를 저장한다(S100). 시작점이 검출되면, 제2 동영상 데이터에 대하여 제1 동영상 데이터의 종료점과 동일한 종료점을 검출하고 종료점의 정보를 저장한다(S110). 이후, 제1 동영상 데이터와 제2 동영상 데이터는 동일성이 있는 것으로 판별하고, 단계(S100) 및 단계(S110)에서 저장한 시작점 및 종료점의 정보를 알려준다(S140).
한편, 단계(S110)에서, 제2 동영상 데이터에 대하여 제1 동영상 데이터의 시작점과 동일한 시작점이 검출되지 않는 경우에는, 제1 동영상 데이터와 제2 동영상 데이터를 서로 바꾸어서 상기 단계(S100) 및 단계(S110)과 동일한 단계를 수행한다(S120, S130). 즉, 제1 동영상 데이터에 대하여 제2 동영상 데이터의 시작점과 동일한 시작점을 검출하고 시작점의 정보를 저장한다(S120). 시작점이 검출되면, 제1 동영상 데이터에 대하여 제2 동영상 데이터의 종료점과 동일한 종료점을 검출하고 종료점의 정보를 저장한다(S130). 이후, 제1 동영상 데이터와 제2 동영상 데이터는 동일성이 있는 것으로 판별하고, 단계(S120) 및 단계(S130)에서 저장한 시작점 및 종료점의 정보를 알려준다(S140).
만약, 단계(S120)에서 시작점이 검출되지 않으면, 제1 및 제2 동영상 데이터는 동일한 구간이 없다는 것으로 결정한다(S150).
도 6 내지 도 8은 도 5에서 설명한 단계(S100)에서의 일치하는 구간의 시작점을 검출하는 과정을 설명하기 위한 도면이다.
도 6을 참조하면, 비교되는 동영상 데이터는 도 4의 (b)의 경우와 같이 부분적으로 일치한다고 가정한다. 즉, 비교되는 제1 동영상 데이터는 제2 동영상 데이터의 일부분에 완전히 포함되어 있는 경우이다.
제1 동영상 데이터는 총 M개의 핑거프린트 데이터를 가진다(H1={h11,h12,h13,...h1M}. 제2 동영상 데이터는 총 N개의 핑거프린트 데이터를 가진다(H2={h21,h22,h23...h2N}). 한편, 여기에서의 핑거프린트 데이터는 도 2에서 설명한 바와 같이 형성된다.
이러한 상태에서, 제1 동영상 데이터의 시작점과 일치하는 제2 동영상 데이 터의 시작점을 찾기 위한 과정(S100)을 도 7을 참조하여 설명한다.
우선, 제1 동영상 데이터의 핑거프린트 데이터 중에서 최초의 P개(도 7에서는 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과 순차적으로 비교하고 비교 결과값을 산출한다(도 8의 S101). 여기에서, 각 세그먼트를 비교하는 것은 각 세그먼트에 포함된 P개의 핑거프린트 데이터를 순서대로 대응시키면서 비교값을 산출하는 방법을 사용할 수 있다. 비교값을 산출하는 것은 핑거프린트 데이터의 종류에 따라 여러 형태의 연산을 사용할 수 있다. 예컨대, 핑거프린트 데이터가 h1={7,4,2,5}와 같은 숫자 열로 표현되는 경우에는 이들에 대해서 덧셈이나 뺄셈, 또는 최소값 결정 등의 연산 방법을 사용하여 비교하는 핑거프린트 데이터에 대한 비교값을 산출할 수 있다.
이와 같이 도 8의 단계(S101)에서 제2 동영상 데이터의 모든 세그먼트에 대 해서 비교 결과값이 산출되면 이들 결과값으로부터 제2 동영상 데이터에 있어서 제1 동영상 데이터의 최초 P개의 핑거프린트 데이터와 동일한 핑거프린트 데이터를 갖는 세그먼트를 검출한다(도 8의 S102).
세그먼트가 검출되면, 검출된 세그먼트의 시작점을 동일 구간의 시작점으로 결정하고 해당 시작점의 정보를 저장한다(도 8의 S103). 여기에서, 시작점의 정보는 예컨대 동영상 데이터의 맨 처음부터 해당 시작점 까지의 시간 정보일 수 있다.
세그먼트가 검출되지 않으면, 제2 동영상 데이터에는 제1 동영상 데이터의 최초의 P개의 핑거프린트 데이터와 동일한 핑거프린트 데이터를 갖는 세그먼트가 존재하지 않는다는 것이므로, 도 5의 단계(S120)으로 분기한다. 도 5의 단계(S120)에서는 제1 동영상 데이터와 제2 동영상 데이터를 서로 바꾸어서 앞서 설명한 바와 같은 도 8의 단계(S101) 내지 단계(S103)을 수행하게 된다.
이와 같은 과정을 수행하면, 제1 동영상 데이터의 시작점과 일치하는 제2 동영상 데이터의 시작점을 검출할 수 있다. 이렇게 시작점이 검출되면, 도 5의 단계(S110)에서 설명한 바와 같이 일치하는 구간의 종료점을 검출하는 과정을 수행한다.
다음으로, 도 9 내지 도 11을 참조하여, 일치 구간의 종료점을 검출하는 과정을 설명한다. 도 9 내지 도 11은 도 5의 단계(S110)에서 설명한 일치 구간의 종료점을 검출하는 과정을 설명하기 위한 도면이다.
도 9는 도 6 내지 도 8에서 검출된 시작점의 위치를 나타낸 도면이다. 앞서 설명한 바와 같이, 제2 동영상 데이터에서 제1 동영상 데이터의 시작점과 일치하는 세그먼트를 검출하는데, 이 때 해당 세그먼트의 시작점을 일치 구간의 시작점으로 결정하고 구간 정보를 저장하게 된다. 일치구간의 종료점을 검출하는 것은, 시작점의 세그먼트에 포함되는 P개의 핑거프린트 데이터 중에서 2번째의 핑거프린트 데이터로부터 검출과정을 수행한다. 도 9는 검출된 시작점의 세그먼트의 P개의 핑거프린트 데이터 중에서 첫번째의 핑거프린트 데이터(h2k)를 나타낸 것으로서, h2k는 해당 세그먼트의 시작점으로부터 도 2에서 설명한 바와 같이 소정 개수의 프레임들로부터 형성되는 핑거프린트 데이터이다. 종료점의 검출은 해당 핑거프린트 데이터(h2k)의 다음 핑거프린트 데이터(h2(k+1))로부터 세그먼트를 형성하면서 수행된다.
도 10 및 도 11은 이러한 종료점 검출과정을 설명하기 위한 도면이다.
도 10을 참조하면, 우선 제1 동영상 데이터에 대해서는 두번째 핑거프린트 데이터로부터 P개의 핑거프린트 데이터로 구성되는 세그먼트 S12를 형성하고, 제2 동영상 데이터에 대해서는, 상기한 바와 같이 검출된 제2 동영상 데이터의 시작점인 세그먼트의 다음 세그먼트에 상응하는 핑거프린트 데이터로부터 P개의 핑거프린트 데이터로 구성되는 세그먼트 S2(k+1)를 형성한다. 여기에서 세그먼트 S12 및 S2(k+1)은 도 10의 (a)에 나타낸 바와 같은 핑거프린트 데이터를 각각 갖는다.
이러한 세그먼트 S12와 S2(k+1)을 비교함으로써 양 세그먼트의 핑거프린트 데이터가 동일성이 있는지의 여부를 판단한다(도 10의 (a), 도 11의 S112)
동일성이 있는 경우에는, 제1 및 제2 동영상 데이터의 다음 세그먼트로 각각 이동한다. 도 10의 (b)를 참조하면, 다음 세그먼트는 S13 및 S2(k+2)이며, 각 세그먼트를 구성하는 핑거프린트 데이터는 도시한 바와 같이 구성된다.
이와 같은 과정을 반복하면서 동일성이 없는 최초의 세그먼트를 검출하고(S112), 최초의 세그먼트가 검출되면 검출된 제2 동영상 데이터의 최초의 세그먼트의 시작점을 동일 구간의 종료점으로 결정하고 종료점의 정보를 저장한다(S113).
만약, 제1 및 제2 동영상 데이터 중의 어느 하나의 마지막 세그먼트에 도달할 때까지 동일성이 없는 구간이 발견되지 않으면(도 11의 S114), 마지막 세그먼트를 종료점 세그먼트로 결정하고(S116), 해당 세그먼트의 종료점을 동일 구간의 종료점을 결정하며 종료점 정보를 저장한다(S113)
이와 같은 과정에 의하여, 제1 동영상 데이터와 제2 동영상 데이터 사이의 동일성 여부 및 동일 구간을 검출할 수 있게 된다.
한편, 도 11의 경우에 있어서, 도 2의 (b) 및 도 6과 같은 경우에는 제1 동영상 데이터의 전부가 제2 동영상 데이터에 포함된 경우이므로, 도 11의 단계(S112)에서 동일성이 없는 구간이 검출되지 않게 된다. 따라서, 도 2의 (b) 및 도 6과 같은 경우에는 도 11의 단계(S114) 및 단계(S116)을 수행하게 될 것이다.
도 11의 단계(S112)에서 동일성이 없는 구간이 검출되는 경우는 도 12에 도시한 바와 같은 경우이다. 도 12의 경우는 제1 동영상 데이터의 일부분이 제2 동영상 데이터의 일부분과 동일한 경우이므로, 제1 동영상 데이터 및 제2 동영상 데이터의 마지막에 도달하기 이전에 핑거프린트 데이터의 비교에 의해 동일성이 없는 구간이 검출되게 된다. 도 12의 경우는, 동일성이 있는 것으로 판정할 수도 있고 동일성이 없는 것으로 판정할 수도 있으며 이는 필요에 따라 취사 선택할 수 있을 것이다. 동일성이 있는 것으로 또는 없는 것으로 판정하는 경우와 상관없이 동일 구간의 검출은 가능함은 물론이다.
본 발명은 오디오 핑거프린트 데이터 및/또는 비디오 핑거프린트 데이터를 이용할 수 있으며, 또한 이러한 핑거프린트 데이터를 생성하는 방법에 상관없이 도 2에서와 같이 프레임으로 분할되어 있는 핑거프린트 데이터이기만 하면 그대로 적용할 수 있음은 전술한 바와 같다. 이하에서는 이러한 핑거프린트 데이터의 생성 방법의 일예를 설명하기로 한다.
도 13 내지 도 19는 본 발명에 의한 동영상 데이터의 동일성 판단 및 동일 구간 검출 방법에 적용할 수 있는 핑거프린트 생성 방법의 일예를 설명하기 위한 도면이다.
우선, 도 13은 본 발명에 적용할 수 있는 핑거프린트 생성 방법의 전체 과정을 나타낸 흐름도로서, 도 13 내지 도 19를 참조하여 우선 오디오 핑거프린트 데이터를 생성하는 경우에 대하여 설명한다.
도 13을 참조하면, 우선 동영상 데이터로부터 오디오 데이터만을 추출한다(S1300). 이는 본 발명과는 직접적인 관련은 없는 과정으로서, 동영상 데이터로부터 오디오 데이터를 추출하는 기술은 공지의 기술 중 어느 것을 사용하여도 무방하다.
다음으로, 추출된 오디오 데이터를 소정 주파수 대역으로 정규화한다(S1310). 정규화는 소정의 샘플링 주파수에 의해 샘플링 변환에 의해 이루어질 수 있으며, 이는 입력되는 오디오 데이터들은 예컨대 8kHz, 11kHz, 16kHz, 22kHz, 44kHz등의 여러가지 형태의 주파수를 사용할 수 있으므로 이들을 특정 주파수 대역으로 정규화할 필요가 있기 때문이다. 정규화는 예컨대 16kHz로 정규화할 수 있는데, 16kHz 이상의 샘플링 주파수에는 고주파에 해당하는 오디오 신호 성분이 포함되어 있어 이를 처리할 신호의 양이 많아지게 되며, 이로 인해 오디오 핑거프린트 데이터 생성 속도가 저하될 수 있기 때문이다.
다음으로, 정규화된 오디오 데이터를 적어도 하나 이상의 제1 프레임들로 분할한다(S1320). 제1 프레임들로 분할한다는 것은 오디오 데이터를 일정 시간의 길이를 갖는 복수개의 프레임들로 분할한다는 것을 의미하는 것으로서, '제1' 프레임이라는 용어는 후술하는 '제2' 프레임과 다른 시간 간격을 갖는다는 점을 구별하기 위한 것이다. 오디오 데이터를 적어도 하나 이상의 제1 프레임들로 분할하는 방법은 도 14를 참조하여 설명한다.
도 14를 참조하면, 전체 오디오 데이터를 4개의 서브 프레임 시간 간격 마다 하나의 제1 프레임으로 구성하고, 하나의 제1 프레임은 하나의 서브 프레임 시간 간격마다 이동되어 구성되어 있음을 알 수 있다. 도 14에서, f0은 첫 번째 제1 프레임, f1은 두 번째 제1 프레임, f2는 세 번째 제1 프레임을 각각 나타내고, 각각의 제1 프레임은 4개의 서브 프레임으로 구성되어 있다. 또한, f1은 f0에 비하여 하나 의 서브 프레임 시간 간격 만큼 이동되어 있으며, f2는 f1에 비하여 하나의 서브 프레임 시간 간격 만큼 이동되어 있음을 알 수 있다. 물론, 도 14의 경우에서와는 달리 하나의 프레임이 서로 겹치는 부분이 없도록 분할하는 것도 가능하지만, 도 14의 경우와 같이 분할되는 각 프레임들이 인접하는 다음 프레임과 서로 공통되는 부분을 갖도록 분할하는 것이 같은 길이의 오디오 데이터에 대하여 보다 정밀한 오디오 핑거프린트 데이터를 생성할 수 있으므로 바람직하다.
다음으로, 상기와 같이 분할된 제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가 얻어진다. 필터 뱅크의 모양 및 중심 주파수의 설정 방법은 귀의 청각적 특성(달팽이관에서의 주파수 특성)을 고려하여 결정된다. 도 15를 참조하면, 도 15에서는 삼각형 모양의 필터를 사용하였으며 중심주파수는 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)을 참조하여 생성할 수 있다. 여기서, 코드북은 다수의 오디오 데이터들의 특징 벡터들을 미리 추출하여 이들이 벡터 공간에 분포시키고, 벡터 공간 상에서 특징 벡터들을 그룹화하고 각각의 그룹에 포함되어 있는 특징 벡터들의 평균값을 계산하여 이 평균값과 각 그룹에 대한 인덱스값을 저장하고 있는 데이터로 구성된다.
도 16은 이러한 코드북을 생성하는 과정을 설명하기 위한 도면으로서, 설명 의 편의를 위하여 2차원의 특징 벡터에 대한 코드북을 생성하는 경우를 예로 들어 설명한다.
도 16을 참조하면, 2차원의 벡터 공간에 미리 획득해 놓은 다수의 오디오 데이터들에 대한 특징 벡터들을 분포시키고 이들 특징 벡터들을 그룹화한다. 그룹화하는 기준은 벡터 공간상에서 서로 인접하는 특징 벡터들을 묶는 방법을 사용할 수 있으며, 예컨대 공지의 기술인 케이-민(k-Mean) 알고리즘, LBG(Linde-Buzo-Gray) 등의 방법을 사용할 수 있다. 도 16에는 총 7개로 묶인 그룹들이 도시되어 있으며, 각 그룹별로 그룹에 속한 특징 벡터들의 평균값을 구할 수 있다. 각 그룹별로 평균값을 구하면, 도 17과 같은 형태의 코드북을 구성할 수 있다.
도 17을 참조하면, 코드북은 각 그룹의 인덱스와 평균값으로 구성되어 있음을 알 수 있다. 여기서, 코드북은 예컨대 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 프레임의 갯수에 해당한다.
도 18은 도 13 내지 도 17을 참조하여 설명한 오디오 핑거프린트 생성 과정을 참고적으로 설명하기 위한 도면이다.
도 18을 참조하면, 우선 오디오 데이터 전체를 적어도 하나 이상의 제1 프레임들로 분할하고(S1801), 분할된 제1 프레임들 중 맨 처음의 프레임으로부터 순차적으로 앞서 설명한 방법에 의하여 특징 데이터를 추출한다(도 13의 단계 S1330). 제1 프레임들 각각에 대해 특징 데이터가 추출되면, 코드북을 참조하여 특징 데이터들에 대한 특징 분포 데이터를 생성한다(도 13의 단계 S1340, S1803).
제1 프레임들 각각에 대한 특징 분포 데이터가 생성되면, 적어도 하나 이상의 제1 프레임을 포함하는 제2 프레임들 각각에 대하여 제2 프레임별 오디오 핑거프린트 데이터를 생성한다(도 13의 단계 S1360, S1805). 앞서 설명한 바와 같이, 제2 프레임별 오디오 핑거프린트 데이터는 특징 데이터의 분포 특성을 나타내는 특징 분포 데이터의 빈도 데이터들로 구성되며, 이들은 도 18에 나타낸 바와 같이 히스토그램(histogram) 형태로 표현할 수 있으므로, 이와 같은 과정에 의한 오디오 핑거프린트 데이터 생성 방법은 히스토그램 기반의 오디오 핑거프린트 데이터 생성 방법이라고 부를 수도 있을 것이다.
도 19는 전술한 오디오 핑거프린트 데이터 생성 과정에 있어서 특징 분포 데이터로부터 제2 프레임별 오디오 핑거프린트 데이터를 구성하는 방법의 일예를 나타낸 것이다.
도 19에서, 오디오 데이터에 대한 제1 프레임의 개수를 12개라고 가정하면, 오디오 데이터에 대한 특징 분포 데이터는 도 19에 나타낸 바와 같이 12개의 제1 프레임의 특징 분포 데이터의 집합으로 정의될 수 있다. 도 19의 경우에서 인덱스의 수 즉, 코드북에서 그룹화해놓은 그룹의 수는 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 프레임들의 특징 분포 데이터가 몇 번 나타났는지를 나타내는 빈도 데이터이다.
예컨대, 도 19에서 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 프레임별 오디오 핑거프린트 데이터를 구할 수 있고, 따라서 오디오 데이터 전체에 대한 오디오 핑거프린트 데이터를 구성할 수 있다.
도 20은 비디오 핑거프린트 데이터를 생성하는 경우를 설명하기 위한 도면으로서, 비디오 핑거프린트 데이터를 생성하는 것은 도 13 내지 도 19에서 설명한 오디오 핑거프린트 데이터를 생성하는 경우와 비교해 볼 때, 도 13의 단계(S1330) 즉, 특징 데이터를 추출하는 과정만이 상이하고 기타 단계는 오디오 데이터와 비디오 데이터의 용어상의 차이일 뿐이므로, 도 20에서는 비디오 핑거프린트 데이터의 특징 데이터를 추출하는 단계만을 도시하였다. 다만, 도시하지는 않았으나, 도 13에서 오디오 데이터를 정규화하는 단계(S1310)는 비디오 핑거프린트 생성의 경우에는 생략할 수 있다.
도 20을 참조하면, 제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)를 더 수행할 수도 있다.
또한, 비디오 핑거프린트 데이터의 경우에도, 특징 벡터의 차분 및 차차분 벡터를 구하고 이들의 조합을 이용하여 특징 벡터를 보다 정교하게 생성할 수도 있다.
이와 같은 과정에 의하여 특징 데이터가 추출되면, 추출된 특징 데이터를 이용하여 비디오 핑거프린트를 생성하게 되는데, 이 과정은 전술한 오디오 핑거프린트 생성과정과 동일하므로 상세 설명은 생략한다.
다음으로, 상기 설명한 바와 같이 생성된 오디오 및/또는 비디오 핑거프린트 데이터를 갖는 동영상 데이터에 대하여, 도 5의 단계(S100) 또는 단계(S110) 등에서 세그먼트별로 핑거프린트 데이터를 비교하는 방법의 일예를 설명하기로 한다.
도 13 내지 도 20에서 설명한 바와 같은 핑거프린트 데이터는 제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 112007040798223-pat00001
이 수식이 의미하는 것은, 비교하고자 하는 두 개의 핑거프린트 데이터의 특정 구간(특정 세그먼트)간의 거리는, 비교하고자 하는 두 개의 핑거프린트 데이터 의 특정 구간 각각을 구성하는 제2 프레임별 핑거프린트 데이터를 제2 프레임별로 맨 처음부터 마지막까지 순차적으로 대응시키면서 제2 프레임별 핑거프린트 데이터간의 거리(d)를 구하여 이를 합산한다는 것이다. 여기에서, 제2 프레임별 핑거프린트 데이터간의 거리(d)는 다음과 같은 수식에 의하여 계산할 수 있다.
수식 2
Figure 112007040798223-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 동영상 데이터의 특정 구간(특정 세그먼트) 사이의 거리를 구할 수 있게 된다.
이와 같이 세그먼트들 간의 거리가 계산되면, 계산 결과값을 이용하여 예컨대 결과값 중 최대값을 갖는 세그먼트를 판별하고 그 최대값이 소정 임계치보다 큰 경우에는 해당 세그먼트는 동일성이 있는 것으로 판별(도 5의 단계 S100에서의 시작점 검출)할 수 있다. 특히, 도 5의 단계(S100)에서 시작점을 검출하는 것은, 제2 동영상 데이터의 모든 세그먼트들과의 핑거프린트 데이터의 거리를 비교하고 이중에서 최대값을 판별한 후 해당 최대값이 소정 임계치를 넘는가를 판정하고 임계치를 넘는 경우에 해당 세그먼트를 시작점으로 검출하게 된다. 거리값 중에서 최대값을 갖는 세그먼트는 일단 가장 유사한 구간 즉 동일한 구간의 시작점으로 판별할 수 있지만, 이를 보다 확실하게 판단하기 위하여 소정 임계치를 넘는 경우에만 동일성이 있는 것으로 판별함으로써 시작점을 보다 정확하게 판별할 수 있게 된다.
한편, 계산 결과값을 바탕으로 계산 결과가 소정 임계치보다 작은 경우에는 비교되는 세그먼트들은 동일성을 갖지 않는 것으로 판별(도 5의 단계 S110에서의 종료점 검출)하도록 할 수도 있다. 도 5의 단계(S110)에서 종료점을 검출하는 것은, 비교하는 세그먼트가 동일성이 있는 구간에 포함되어 있다면 양자의 거리는 소정 임계치를 넘겠지만 동일성이 없는 구간으로 넘어가는 순간 양자의 거리는 임계치를 크게 밑돌게 될 것이므로 해당 세그먼트를 동일성이 없는 구간으로 판별할 수 있게 된다. 이와 같이, 계산 결과값을 여러 가지로 활용하여 임계치를 넘는지 또는 넘지 않는지 등의 기타 변수등과 결합하여 사용함으로써 비교되는 세그먼트들간의 동일성 여부를 간편하고 정확하게 높은 신뢰성을 가지고 판별할 수 있다. 이와 같은 방법에 의하여 핑거프린트 데이터를 구간 별로 비교함으로써, 비교되는 두 동영상의 특정 구간이 동일성이 있는지의 여부와 일부 동일한 경우의 동일 구간을 정확하게 판별할 수 있게 된다.
이상에서, 본 발명의 바람직한 실시예를 참조하여 본 발명의 구성을 설명하였으나, 본 발명이 상기 실시예에 한정되지 않음은 물론이다. 예를 들어, 핑거프린트 데이터의 생성 방법은 기타 어떠한 방법에 의해서 생성되는 것이건간에 프레임별로 생성되는 것이기만 하면 본 발명을 그대로 적용할 수 있음을 유의해야 한다.
본 발명에 의하면, 종래의 핑거프린트 생성 방식에 비하여 속도가 현저하게 개선되며 생성 방법이 상대적으로 간편하며, 데이터의 특징을 보다 정밀하게 반영할 수 있고, 동일성 여부의 판단 오차를 현저하게 감소시킬 수 있는 핑거프린트 데이터를 이용하여, 동영상 데이터들 간의 동일성 여부 및 동일 구간을 신속하고 정밀하게 검출할 수 있는 동영상 데이터의 동일성 판단 및 동일 구간 검출 방법 및 장치를 제공할 수 있다.
또한, 본 발명에 의하면, 비디오 신호 및 오디오 신호가 포함되어 있는 동영상 데이터로부터 비디오 신호 및/또는 오디오 신호를 추출하고, 추출된 비디오 신호 및/또는 오디오 신호를 이용하여 생성된 비디오 및/또는 오디오 핑거프린트 데이터를 비교함으로써, 동영상 데이터의 동일성 여부 및 동일 구간을 적은 오차로 신뢰성을 가지고 검출할 수 있는 동영상 데이터의 동일성 판단 및 동일 구간 검출 방법 및 장치를 제공할 수 있다.
또한, 본 발명에 의하면, 비교되는 동영상 데이터들이 부분적으로 동일한 경우에도 부분적으로 동일한지의 여부를 쉽게 판별할 수 있고, 또한 부분적으로 동일한 구간의 구간 정보도 제공할 수 있는 동영상 데이터의 동일성 판단 및 동일 구간 검출 방법 및 장치를 제공할 수 있다.
또한, 본 발명에 의하면, 비디오 핑거프린트 데이터 및/또는 오디오 핑거프린트 데이터를 조합하여 사용할 수 있으므로 오디오 신호가 묵음인 경우 등과 같이 어느 하나의 신호를 사용할 수 없는 경우에도 비교되는 동영상 데이터의 동일성 여부 및 동일 구간을 검출할 수 있는 방법 및 장치를 제공할 수 있다.

Claims (22)

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

Priority Applications (8)

Application Number Priority Date Filing Date Title
KR1020070054601A KR100888804B1 (ko) 2007-06-04 2007-06-04 동영상 데이터의 동일성 판단 및 동일 구간 검출 방법 및장치
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
KR1020070054601A KR100888804B1 (ko) 2007-06-04 2007-06-04 동영상 데이터의 동일성 판단 및 동일 구간 검출 방법 및장치

Publications (2)

Publication Number Publication Date
KR20090002076A KR20090002076A (ko) 2009-01-09
KR100888804B1 true KR100888804B1 (ko) 2009-03-13

Family

ID=40485110

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070054601A KR100888804B1 (ko) 2007-06-04 2007-06-04 동영상 데이터의 동일성 판단 및 동일 구간 검출 방법 및장치

Country Status (1)

Country Link
KR (1) KR100888804B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101094896B1 (ko) 2010-02-16 2011-12-15 한국과학기술원 멀티미디어 인식 장치 및 방법
KR101315970B1 (ko) * 2012-05-23 2013-10-08 (주)엔써즈 오디오 신호를 이용한 콘텐츠 인식 장치 및 방법
US8886635B2 (en) 2012-05-23 2014-11-11 Enswers Co., Ltd. Apparatus and method for recognizing content using audio signal

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101068288B1 (ko) * 2009-02-19 2011-09-28 성균관대학교산학협력단 세그먼트 특징을 이용한 내용 기반 동영상 검출 방법
KR101030130B1 (ko) * 2009-07-31 2011-04-20 주식회사 다음커뮤니케이션 중복 콘텐츠 검출 장치 및 검출 방법
KR101334127B1 (ko) * 2012-05-11 2013-11-28 (주)엔써즈 클라이언트 단말기를 이용한 동영상 콘텐츠 공유 서비스 제공 시스템 및 방법
KR102560635B1 (ko) * 2015-12-28 2023-07-28 삼성전자주식회사 컨텐트 인식 장치 및 그 동작 방법
KR101961132B1 (ko) * 2017-06-08 2019-03-25 김준희 오디오 특징값 추출을 통한 동영상 인코딩 방법 및 장치
KR20200142787A (ko) 2019-06-13 2020-12-23 네이버 주식회사 멀티미디어 신호 인식을 위한 전자 장치 및 그의 동작 방법
CN117278802B (zh) * 2023-11-23 2024-02-13 湖南快乐阳光互动娱乐传媒有限公司 一种视频剪辑痕迹的比对方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000076565A (ko) * 1999-01-29 2000-12-26 구자홍 다수의 영상 사이의 유사도 레벨을 결정하기 위한 시스템및 방법과, 그러한 결정을 인에이블하기 위한 세그먼트데이터 구조

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000076565A (ko) * 1999-01-29 2000-12-26 구자홍 다수의 영상 사이의 유사도 레벨을 결정하기 위한 시스템및 방법과, 그러한 결정을 인에이블하기 위한 세그먼트데이터 구조

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101094896B1 (ko) 2010-02-16 2011-12-15 한국과학기술원 멀티미디어 인식 장치 및 방법
KR101315970B1 (ko) * 2012-05-23 2013-10-08 (주)엔써즈 오디오 신호를 이용한 콘텐츠 인식 장치 및 방법
US8886635B2 (en) 2012-05-23 2014-11-11 Enswers Co., Ltd. Apparatus and method for recognizing content using audio signal

Also Published As

Publication number Publication date
KR20090002076A (ko) 2009-01-09

Similar Documents

Publication Publication Date Title
KR100888804B1 (ko) 동영상 데이터의 동일성 판단 및 동일 구간 검출 방법 및장치
US11869261B2 (en) Robust audio identification with interference cancellation
Valero et al. Gammatone cepstral coefficients: Biologically inspired features for non-speech audio classification
JP5826291B2 (ja) 音声信号からの特徴フィンガープリントの抽出及びマッチング方法
US9313593B2 (en) Ranking representative segments in media data
JP4067969B2 (ja) 信号を特徴付ける方法および装置、および、索引信号を生成する方法および装置
KR100896737B1 (ko) 오디오 신호의 견고한 분류를 위한 장치 및 방법, 오디오신호 데이터베이스를 설정 및 운영하는 방법, 및 컴퓨터프로그램
CN109147796B (zh) 语音识别方法、装置、计算机设备及计算机可读存储介质
CN109493881B (zh) 一种音频的标签化处理方法、装置和计算设备
KR100893123B1 (ko) 오디오 핑거프린트 데이터 생성 방법 및 장치 및 이를이용한 오디오 데이터 비교 방법 및 장치
JP2004530153A6 (ja) 信号を特徴付ける方法および装置、および、索引信号を生成する方法および装置
CN101154379A (zh) 定位语音中的关键词的方法和设备以及语音识别系统
CN114596879B (zh) 一种虚假语音的检测方法、装置、电子设备及存储介质
Awotunde et al. Speech segregation in background noise based on deep learning
KR102508550B1 (ko) 음악 구간 검출 장치 및 방법
Yadav et al. ASSD: Synthetic Speech Detection in the AAC Compressed Domain
Birla A robust unsupervised pattern discovery and clustering of speech signals
KR100842310B1 (ko) 동영상 데이터들을 서로 동일성이 있는 동영상데이터들끼리 클러스터링하는 방법 및 시스템
US8301284B2 (en) Feature extraction apparatus, feature extraction method, and program thereof
Guzman-Zavaleta et al. A robust audio fingerprinting method using spectrograms saliency maps
JP5772957B2 (ja) 音響処理装置、音響処理システム、ビデオ処理システム、制御方法および制御プログラム
Htun Analytical approach to MFCC based space-saving audio fingerprinting system
D'haes et al. Discrete cepstrum coefficients as perceptual features
Horsburgh et al. Music-inspired texture representation
NAMEIRAKPAM et al. Singer identification using wavelet transform

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: 20121221

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140228

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150210

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160304

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170308

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180228

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190227

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20200227

Year of fee payment: 12