KR20050027219A - 스트림에 내장된 반복하는 미디어 객체를 식별하고분할하는 시스템 및 방법 - Google Patents

스트림에 내장된 반복하는 미디어 객체를 식별하고분할하는 시스템 및 방법 Download PDF

Info

Publication number
KR20050027219A
KR20050027219A KR1020047020112A KR20047020112A KR20050027219A KR 20050027219 A KR20050027219 A KR 20050027219A KR 1020047020112 A KR1020047020112 A KR 1020047020112A KR 20047020112 A KR20047020112 A KR 20047020112A KR 20050027219 A KR20050027219 A KR 20050027219A
Authority
KR
South Korea
Prior art keywords
media stream
media
stream
objects
segment
Prior art date
Application number
KR1020047020112A
Other languages
English (en)
Other versions
KR100988996B1 (ko
Inventor
코맥 허레이
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20050027219A publication Critical patent/KR20050027219A/ko
Application granted granted Critical
Publication of KR100988996B1 publication Critical patent/KR100988996B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H40/00Arrangements specially adapted for receiving broadcast information
    • H04H40/18Arrangements characterised by circuits or components specially adapted for receiving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/35Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users
    • H04H60/37Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying segments of broadcast information, e.g. scenes or extracting programme ID
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/56Arrangements characterised by components specially adapted for monitoring, identification or recognition covered by groups H04H60/29-H04H60/54
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal

Abstract

"객체 추출기"(260)는 미디어 스트림(210) 내의 반복 미디어 객체를 자동적으로 식별하고 분할한다. "객체"는 청취자 또는 시청자에 의해 논리적 단위인 것으로 간주되는 무시할 수 없을 정도 기간의 임의의 섹션, 즉 노래, 비디오, 광고, 징글 등을 말한다. 반복 객체의 식별 및 분할은 스트림의 일치하는 부분들을 식별하기 위해 미디어 스트림(210)의 섹션들을 직접 비교하고 이어서 객체 종단점을 식별하기 위해 상기 일치하는 부분들을 정렬함으로써 달성된다. 다른 대안에서, 스트림 내의 가능한 객체들을 식별하기 위한 스트림의 특정의 측면을 목표로 하기 위해 일단의 객체 의존적인 알고리즘이 이용된다. 가능한 객체들을 반복하는 객체로서 확인하는 것은 동적 객체 데이터베이스(230) 내의 일치가능성이 있는 객체들을 자동적으로 검색하고 이어서 일치가능성이 있는 객체들 중 하나 이상과의 상세 비교에 의해 달성된다. 이어서, 객체 종단점은 자동 정렬(250) 및 그 객체의 다른 복사본들과의 비교에 의해 결정된다.

Description

스트림에 내장된 반복하는 미디어 객체를 식별하고 분할하는 시스템 및 방법{A SYSTEM AND METHOD FOR IDENTIFYING AND SEGMENTING REPEATING MEDIA OBJECTS EMBEDDED IN A STREAM}
본 발명은 미디어 스트림 식별 및 분할에 관한 것으로서, 상세하게는 예를 들어 라디오 또는 텔레비전 방송국으로부터 방송되는 미디어 스트림 등의 하나 이상의 미디어 스트림으로부터 반복하는 오디오 및/또는 비디오 객체를 식별하고 추출하는 시스템 및 방법에 관한 것이다.
특정의 광고, 방송국 징글(station jingle), 또는 오디오 스트림에 내장된 노래들, 또는 비디오 스트림에 내장된 광고나 다른 비디오 등의 오디오 및/또는 비디오 객체를 식별하는 기존의 방식이 많이 있다. 예를 들어, 오디오 식별과 관련하여, 많은 이러한 방식은 "오디오 지문 인식(audio fingerprinting)" 방식으로도 칭해진다. 일반적으로, 오디오 지문 인식 방식은 기지의 객체를 받아서 그 객체를, 예를 들어 주파수 내용, 에너지 레벨 등의 일련의 파라미터로 정리한다. 이어서 이들 파라미터는 기지의 객체들의 데이터베이스에 저장된다. 스트리밍 미디어의 샘플링된 부분은 이어서 식별을 위해 데이터베이스 내의 지문들과 비교된다.
따라서, 이러한 방식들은 일반적으로 미디어 스트림과 이전에 식별된 미디어 객체들의 대규모 데이터베이스와의 비교에 의존한다. 동작을 설명하면, 이러한 방식들은 종종 어떤 종류의 슬라이딩 윈도우(sliding window) 구성을 사용하여 원하는 기간에 걸쳐 미디어 스트림을 샘플링하고, 일치 가능성을 확인하기 위해 샘플링된 데이터를 데이터베이스와 비교한다. 이와 같이, 미디어 스트림 내의 개개의 객체가 식별될 수 있다. 이러한 식별 정보는 일반적으로 미디어 스트림의 개별적인 객체로의 분할 또는 미디어 스트림을 분류하기 위한 재생 목록의 작성 등을 비롯한 여러가지 목적으로 사용된다.
그러나, 앞서 살펴본 바와 같이, 이러한 방식들은 동작을 위해 기식별된 미디어 객체들의 기존의 데이터베이스를 사용할 필요가 있다. 이러한 기존의 데이터베이스가 없는 경우, 상기한 종래의 방식들을 사용할 때 미디어 스트림의 식별 및/또는 분할은 할 수 없다.
따라서, 기식별된 미디어 객체들로 된 기존의 데이터베이스를 사용할 필요없이 방송 라디오 또는 텔레비전 신호 등의 미디어 스트림으로부터 반복 미디어 객체를 효율적으로 식별하고 추출 또는 분할하는 시스템 및 방법이 필요하다.
도 1은 미디어 스트림 내의 반복 미디어 객체를 자동적으로 식별하고 분할하는 예시적인 시스템을 구현하는 범용 계산 장치를 나타낸 일반적인 시스템 도면.
도 2는 미디어 스트림 내의 반복 미디어 객체를 자동적으로 식별하고 분할하는 예시적인 프로그램 모듈을 나타낸 예시적인 구조도.
도 3a는 미디어 스트림 내의 반복 미디어 객체를 자동적으로 식별하고 분할하는 예시적인 시스템 흐름도.
도 3b는 미디어 스트림 내의 반복 미디어 객체를 자동적으로 식별하고 분할하는 도 3a의 예시적인 시스템 흐름도의 다른 실시예를 나타낸 도면.
도 3c는 미디어 스트림 내의 반복 미디어 객체를 자동적으로 식별하고 분할하는 도 3a의 예시적인 시스템 흐름도의 다른 실시예를 나타낸 도면.
도 4는 미디어 스트림 내의 반복 미디어 객체를 자동적으로 식별하고 분할하는 다른 예시적인 시스템 흐름도.
도 5는 미디어 스트림 내의 반복 미디어 객체를 자동적으로 식별하고 분할하는 다른 예시적인 시스템 흐름도.
본 명세서에서 기술하는 바와 같이 "객체 추출기(object extractor)"는 반복 객체(repeating object) 및 비반복 객체(non-repeating object)로 이루어진 미디어 스트림 내의 반복 객체를 자동적으로 식별하고 분할한다. "객체"는 청취자 또는 시청자에 의해 식별될 때 논리적 단위인 것으로 간주되어지는 무시할 수 없는 기간의 임의의 섹션으로 정의된다. 예를 들어, 청취자는 라디오 방송을 청취하거나 텔레비전 방송이나 다른 미디어 방송 스트림을 시청하고, 비반복 프로그램과 광고, 징글 및 다른 빈번하게 반복되는 객체들을 용이하게 구별할 수 있다. 그러나, 미디어 스트림 내에서 동일한, 예를 들어 반복하는 콘텐츠를 자동적으로 구분하는 것은 일반적으로 어려운 문제이다.
예를 들어, 일반적인 팝 라디오 방송으로부터 도출된 오디오 스트림은 시간의 경과에 따라 예를 들어 노래, 징글, 광고 및 방송국 식별자를 비롯한 동일한 객체의 많은 반복을 포함할 수 있다. 이와 유사하게, 일반적인 텔레비전 방송으로부터 도출된 오디오/비디오 미디어 스트림도 시간의 경과에 따라 예를 들어, 상업 광고, 광고, 방송국 식별자, 프로그램 "테마음(signature tune)" 또는 긴급 방송 신호를 비롯한 동일한 객체의 다수 반복을 포함하게 된다. 그러나, 이들 객체는 일반적으로 미디어 스트림 내에서 예측할 수 없는 시간에 나타나게 되며, 종종 미디어 스트림을 캡처 또는 레코딩하는 데 사용되는 임의의 획득 프로세스에 의해 야기되는 노이즈에 의해 오염된다.
게다가, 라디오 방송 등의 일반적인 미디어 스트림 내의 객체들은 종종 각각의 객체의 시작점 및/또는 종료점에서 보이스 오버(voice-over)로 오염된다. 게다가, 이러한 객체들은 종종 단축된다. 즉, 처음부터 또는 끝까지 계속하여 완전히 재생되지 않는다. 게다가, 이러한 객체들은 종종 일부러 왜곡되어진다. 예를 들어, 라디오 방송국을 통한 오디오 방송은 종종 압축기, 이퀄라이저 또는 다수의 다른 시간/주파수 효과를 사용하여 처리된다. 게다가, 일반적인 라디오 방송국을 통해 방송된 음악이나 노래 등의 오디오 객체는 종종 앞뒤에 오는 음악이나 노래로 크로스페이딩(cross-fading)되고, 그에 의하여 오디오 객체 시작점 및 종료점이 불분명해지고 그 객체에 왜곡이나 노이즈가 부가된다. 미디어 스트림의 이러한 처리는 당업자는 잘 알고 있는 것이다. 마지막으로, 유의할 점은 이러한 오염이나 왜곡 중 임의의 것 또는 그 모두는 개별적으로 또는 조합하여 일어날 수 있으며, 개별적으로 명시하여 언급하는 경우를 제외하고는 본 설명에서는 일반적으로 "노이즈"라고 부른다는 것이다. 결과적으로, 이러한 노이즈가 많은 환경에서, 이러한 객체를 식별하는 것 및 이러한 객체의 종단점을 찾아내는 것은 어려운 문제이다.
본 명세서에 기술된 객체 추출기는 이들 및 다른 문제를 해소하면서 많은 이점을 제공한다. 예를 들어, 미디어 스트림 내의 미디어 객체들에 관한 통계적 정보를 수집하는 유용한 기술을 제공하는 것 이외에, 미디어 스트림의 자동 식별 및 분할은 사용자가 스트림 내의 원하는 콘텐츠에 자동적으로 액세스할 수 있게 해주거나 역으로 미디어 스트림 내의 원하지 않는 콘텐츠를 자동적으로 건너뛰게 해줄 수 있다. 또다른 이점으로는 미디어 스트림으로부터 바람직한 콘텐츠만 식별하고 저장할 수 있는 것, 특별한 처리를 위한 목표 콘텐츠를 식별할 수 있는 것, 임의의 다중 검출된 객체들을 노이즈 감소(de-noise)시키거나 깨끗하게 할 수 있는 것, 및 다중 검출된 객체들의 단일 복사본만을 저장함으로써 스트림을 보다 효율적으로 아카이브(archive)할 수 있는 것이 있다.
전술한 바와 같이, 미디어 스트림 내의 반복 미디어 객체들을 자동적으로 식별하고 분할하는 시스템 및 방법은, 스트림을 검사하여 이전에 나왔었던 객체가 나왔는지를 결정함으로써 이러한 객체들을 식별한다. 예를 들어, 오디오의 경우에, 이것은 노래가 해당 스트림에 이전에 나타났던 객체임을 식별하는 것을 의미한다. 이와 마찬가지로, 텔레비전 스트림으로부터 도출된 비디오의 경우에, 그것은 방송국 "징글" 및 다른 빈번히 반복되는 객체들은 물론 특정의 광고를 식별하는 것을 포함할 수 있다. 게다가, 이러한 객체들은 종종 스트림에 관한 중요한 동기화 정보를 전달한다. 예를 들어, 뉴스 방송국의 테마 음악은 시간 및 뉴스 보도가 곧 시작되거나 막 끝났다는 사실을 전달한다.
예를 들어, 반복하는 객체 및 반복하지 않는 객체를 포함하는 오디오 스트림이 주어진 경우, 본 명세서에 기술된 시스템 및 방법은 미디어 스트림 내의 반복 미디어 객체들을 자동적으로 식별하고 분할하는 한편, 미디어 스트림의 일치하는 부분들, 즉 일치하는 반복 객체들의 비교에 의해 객체 종단점을 식별한다. 예로서, 방송된 오디오, 즉 라디오를 사용하는 경우, 반복하는 "객체"는 예를 들어 라디오 음악 방송을 통한 노래, 호출 신호, 징글 및 광고를 포함할 수 있다.
반복하지 않는 객체의 예로는 예를 들어 디스크 자키의 생방송 음성, 뉴스 및 교통 속보, 및 단 한번만 방영되는 프로그램이나 노래가 있을 수 있다. 이들 서로 다른 유형의 객체들은 미디어 스트림으로부터의 식별 및 분할을 가능하게 해주는 서로 다른 특성을 갖는다. 예를 들어, 인기있는 라디오 방송국을 통한 라디오 광고는 일반적으로 길이가 30초 미만이고, 음성이 수반되는 징글로 이루어져 있다. 방송국 징글은 일반적으로 길이가 2 내지 10초이며, 대체로 음악과 음성이고 하루 종일 매우 자주 반복된다. 예를 들어 클래식, 재즈, 또는 얼터너티브와는 달리, "인기" 음악 방송국을 통한 노래는 일반적으로 길이가 2 내지 7분이고, 음악은 물론 음성도 포함하는 경우가 대부분이다.
일반적으로, 반복 미디어 객체의 자동 식별 및 분할은, 미디어 스트림의 부분들을 비교하여, 미디어 콘텐츠가 반복되고 있는 미디어 스트림 내의 영역이나 부분들을 찾아냄으로써 달성된다. 테스트된 실시예에서, 반복 객체들의 식별 및 분할은, 미디어 스트림의 섹션들을 직접 비교하여 스트림의 일치 부분들을 식별한 후, 일치 부분들을 정렬하여 객체 종단점을 식별함으로써 달성된다. 관련된 실시예에서, 세그먼트를 테스트하여, 탐색되고 있는 유형의 객체가 그 세그먼트에 존재할 가능성이 있는지 여부를 평가한다. 존재하는 경우에는, 효율성의 향상을 위해, 미디어 스트림의 다른 세그먼트들과의 비교가 시작되지만, 존재하지 않는 경우에는 해당 세그먼트에 대한 추가의 처리는 무시될 수 있다.
다른 실시예에서, 반복 미디어 객체의 자동 식별 및 분할은, 가능한 객체를 식별하기 위해 오디오 및/또는 비디오 미디어의 서로 다른 측면을 목표로 하기 위한 일단의 객체 의존적인 알고리즘을 이용함으로써 달성된다. 일단 스트림 내에서 가능한 객체가 식별되면, 객체를 반복하는 객체로서 확인하는 것은 자동적으로 인스턴스화된 동적 객체 데이터베이스 내의 일치가능성이 있는 객체들에 대한 자동 검색에 뒤이어서 가능한 객체와 일치가능성이 있는 객체들 중 하나 이상 간의 상세 비교에 의해 달성된다. 이어서, 객체 종단점은 자동 정렬 및 그 객체의 다른 반복 복사본과의 비교에 의해 자동적으로 결정된다.
구체적으로 말하면, 객체의 반복 인스턴스의 식별은 예를 들어 미디어 스트림 내에서의 미디어 객체 위치에 대한 포인터 등의 정보, 그 미디어 객체들을 특징지우는 파라미터 정보, 이러한 객체를 기술하기 위한 메타데이터, 객체 종단점 정보, 또는 객체 자체의 복사본을 저장하기 위한 비어 있는 "객체 데이터베이스"를 인스턴스화 또는 초기화하는 것을 포함한다. 유의할 점은 이러한 정보 중 임의의 것 또는 그 모두는 단일 객체 데이터베이스 내에 또는 다수의 데이터베이스 또는 컴퓨터 파일에 유지될 수 있다. 그 다음 단계는 원하는 기간에 걸쳐 적어도 하나의 미디어 스트림을 캡처하여 저장하는 것을 포함한다. 원하는 기간은 수분 내지 수시간이나, 수일 내지 수주, 또는 더 긴 것 등 어느 것이라도 될 수 있다. 그러나, 기본적인 요건은 객체들이 스트림 내에서 반복을 시작하기에 충분할 정도로 샘플 기간이 길어야만 한다는 것이다. 객체들이 스트림 내에 위치하고 있을 때, 객체들의 반복에 의해 객체들의 종단점이 식별될 수 있게 된다.
전술한 바와 같이, 일 실시예에서, 반복 미디어 객체의 자동 식별 및 분할은 미디어 콘텐츠가 반복되고 있는 미디어 스트림 내의 영역 또는 부분을 찾아내기 위해 미디어 스트림의 부분들을 비교함으로써 달성된다. 구체적으로는, 이 실시예에서, 미디어 스트림의 부분 또는 윈도우가 미디어 스트림으로부터 선택된다. 윈도우의 길이는 임의의 원하는 길이일 수 있지만, 일반적으로 유용한 정보를 거의 제공하지 않거나 전혀 제공하지 않을 정도로 짧거나 너무 많은 미디어 객체를 포함할 수 있을 정도로 길어서는 안된다. 테스트된 실시예에서, 탐색되는 클래스의 통상적인 객체의 길이의 약 2배 내지 5배 정도의 윈도우 또는 세그먼트가 양호한 결과를 내는 것으로 밝혀졌다. 이 부분 또는 윈도우는 미디어 스트림의 끝으로부터 선택될 수 있거나 심지어 미디어 스트림으로부터 랜덤하게 선택될 수 있다.
이어서, 미디어 스트림의 선택된 부분은 미디어 스트림의 일치하는 섹션을 찾기 위해 미디어 스트림의 동일한 크기의 부분에 대해 직접 비교된다. 이들 비교는 어느 것이 먼저 오든지간에, 일치를 찾아내기 위해 전체 미디어 스트림이 검색될 때까지 또는 일치를 실제로 찾을 때까지 계속된다. 미디어 스트림과의 비교를 위한 부분의 선택에서와 같이, 선택된 세그먼트 또는 윈도우와 비교되는 부분들은 미디어 스트림의 끝에서 시작하여 순차적으로 가져오거나 심지어 미디어 스트림으로부터 랜덤하게 가져올 수 있다.
이 테스트된 실시예에서, 미디어 스트림의 부분들의 직접 비교에 의해 일치가 식별되면, 반복 객체들의 식별 및 분할은 객체 종단점을 찾아내기 위해 일치하는 부분들을 정렬함으로서 달성된다. 유의할 점은 각각의 객체가 노이즈를 포함하고 또 전술한 바와 같이 시작 부분이나 끝부분에서 단축되거나 잘라질 수 있기 때문에, 객체 종단점이 항상 분명하게 구별될 수 있는 것은 아니라는 것이다. 그러나, 심지어 이러한 노이즈가 많은 환경에서도, 간단한 패턴 정합 등의 많은 종래 기술 중 임의의 것을 사용하여 일치 부분을 정렬함으로써, 일치 부분들 간의 상호 상관(cross-correlation) 피크를 정렬함으로써, 또는 일치하는 신호를 정렬하기 위한 임의의 다른 종래의 기술에 의해 대략적인 종단점이 찾아진다. 일단 정렬되면, 종단점은 미디어 스트림의 2개의 부분이 분기하는 그 점을 찾아내기 위해 미디어 스트림에서 일치하는 부분의 경계를 넘어서 전방 및 후방으로 추적함으로써 식별된다. 반복 미디어 객체는 방송될 때마다 일반적으로 정확히 동일한 순서로 재생되지 않기 때문에, 미디어 스트림에서 종단점을 찾아내는 이 기술은 미디어 스트림 내의 미디어 객체의 시작 및 종료점을 만족스럽게 찾아내는 것으로 관측되었다.
다른 대안으로서, 전술한 바와 같이, 일 실시예에서, 일단의 알고리즘이 오디오 및/또는 비디오 미디어의 서로 다른 측면을 목표로 삼아 미디어 스트림 내의 객체들을 식별하는 데 유용한 파라미터 정보를 계산하는 데 사용된다. 이 파라미터 정보는 특정의 객체를 식별하는 데 유용한 파라미터를 포함하며, 따라서 계산된 파라미터 정보의 유형은 탐색되는 객체의 클래스에 의존한다. 유의할 점은 분석되는 미디어 스트림의 유형에 따라, 미디어 객체의 유사성을 비교하기 위한 다수의 공지의 전통적인 주파수, 시간, 이미지 또는 에너지 기반 기술 중 임의의 것이 잠재적인 객체 일치를 식별하기 위해 사용될 수 있다는 것이다. 예를 들어, 오디오 스트림 내의 음악 또는 노래와 관련하여, 이들 알고리즘은 예를 들어 짧은 윈도우에서의 분당 박자수(beats per minute), 스테레오 정보, 짧은 구간에 걸친 채널당 에너지 비, 및 특정 주파수 대역의 주파수 내용 등의 미디어 스트림 내의 쉽게 구해지는 파라미터를 계산하는 것, 그의 스펙트럼에서의 실질적인 유사성을 알아보기 위해 더 큰 미디어 세그먼트를 비교하는 것, 가능한 후보 객체의 샘플을 저장하는 것, 및 임의의 반복된 객체를 식별하기 위해 학습하는 것을 포함한다.
이 실시예에서, 일단 미디어 스트림이 획득되었으면, 저장된 미디어 스트림은 탐색된 클래스의 객체, 즉, 노래, 징글, 비디오, 광고 등이 검사되는 스트림의 부분에 존재할 확률을 결정하기 위해 검사된다. 탐색된 객체가 존재할 확률이 미리 정해진 임계값에 도달하면, 그 있을법한 객체의 스트림 내에서의 위치가 전술한 데이터베이스 내에 자동적으로 기입된다. 유의할 점은 이러한 검출 또는 유사성 임계값이 원하는 바에 따라 스트림 내에서의 객체 검출의 감도를 조절하기 위해 증가되거나 감소될 수 있다는 것이다.
이 실시예의 경우, 있을법한 객체가 스트림에서 식별되었으면, 그 있을법한 객체를 특징지우는 파라미터 정보가 계산되고 이전에 식별된 있을법한 객체로 잠재적인 객체 일치를 식별하기 위해 데이터베이스 쿼리 또는 검색에서 사용된다. 데이터베이스 쿼리의 목적은 단순히 스트림의 2개의 부분이 대략적으로 동일한지 여부, 환언하면, 스트림 내에서 2개의 서로 다른 시간 위치에 있는 객체가 대략적으로 동일한지 여부를 결정하는 것이다. 게다가, 데이터베이스가 초기에 비어 있기 때문에, 더 많은 가능한 객체가 식별되고 데이터베이스에 부가됨에 따라, 잠재적인 일치를 식별할 가능성은 자연히 시간에 따라 증가하게 된다.
있을법한 객체에 대한 잠재적인 일치들이 반환된 경우, 있을법한 객체를 보다 확고하게 식별하기 위해 있을법한 객체와 잠재적인 일치들 중 하나 이상 사이의 보다 상세한 비교가 수행된다. 이 시점에서, 있을법한 객체가 잠재적인 일치들 중 하나의 반복임이 밝혀지는 경우, 그것은 반복 객체로서 식별되고, 스트림 내에서의 그의 위치가 데이터베이스에 저장된다. 반대로, 상세 비교에 의해 있을법한 객체가 잠재적인 일치들 중 하나의 반복이 아닌 것으로 밝혀지는 경우, 그것은 데이터베이스에서 새로운 객체로서 식별되고, 스트림 내에서의 그의 위치 및 파라미터 정보가 전술한 바와 같이 데이터베이스에 저장된다.
게다가, 앞서 기술한 실시예에서와 같이, 반복 객체의 여러가지 인스턴스의 종단점이 자동적으로 결정된다. 예를 들어, 특정 객체의 인스턴스가 N개 있는 경우, 그들 모두가 정확하게 동일한 길이를 가질 수 있는 것은 아니다. 따라서, 종단점의 결정은 여러가지 인스턴스를 하나의 인스턴스에 대해 정렬하는 것과 이어서 인스턴스들 각각이 다른 인스턴스들과 여전히 대략적으로 동일한 최장의 범위를 결정하기 위해 정렬된 객체들 각각에서 전방 및 후방으로 추적하는 것을 포함한다.
유의할 점은 탐색되는 클래스의 객체가 검사되는 스트림의 부분에 존재할 확률을 결정하고 또 스트림의 2 부분이 대략적으로 동일한지 여부를 테스트하는 방법이 탐색되는 객체의 유형(예를 들어, 음악, 음성, 광고, 징글, 방송국 식별자, 비디오 등)에 많이 의존하는 반면, 스트림 내에서의 종단점 위치의 결정 및 데이터베이스는 어떤 종류의 객체가 탐색되고 있는지에 상관없이 아주 유사하다는 것이다.
상기한 실시예들 각각의 또다른 수정예에서, 미디어 스트림에서의 미디어 객체 식별의 속도는 미디어 스트림의 이전에 식별된 부분들의 검색을 제한함으로써 또는 미디어 스트림을 검색하기에 앞서 이전에 식별된 미디어 객체들로 된 데이터베이스에 먼저 쿼리를 행함으로써 극적으로 향상된다.
게다가, 관련 실시예에서, 미디어 스트림은 스트림 내에 적어도 가장 흔한 반복 객체의 반복을 포함하기에 충분할 정도로 큰 스트림의 부분을 먼저 분석함으로써 분석된다. 스트림의 이러한 첫 부분 상에서 반복하는 객체들의 데이터베이스가 유지된다. 이어서, 스트림의 나머지 부분은 세그먼트들이 데이터베이스 내의 임의의 객체와 일치하는지를 먼저 결정한 다음에 이어서 스트림의 나머지에 대해 검사함으로써 분석된다.
전술한 이점 이외에, 미디어 스트림 내의 반복 미디어 객체를 자동적으로 식별하고 분할하는 시스템 및 방법의 다른 이점은 첨부 도면을 참조하여 기술된 이하의 상세한 설명으로부터 명백하게 될 것이다.
미디어 객체 추출기의 특정의 특징, 측면, 및 이점은 이하의 설명, 첨부된 청구항, 및 첨부 도면을 참조하면 보다 잘 이해될 것이다.
본 발명의 양호한 실시예들에 대한 이하의 설명에서, 본 명세서의 일부를 이루고 또한 본 발명이 실시될 수 있는 특정 실시예를 예로서 나타내고 있는 첨부 도면을 참조한다. 다른 실시예들이 이용될 수 있고 또 본 발명의 범위를 벗어나지 않고 구조상 변경이 이루어질 수 있음을 잘 알 것이다.
1.0 예시적인 오퍼레이팅 환경
도 1은 본 발명이 실시될 수 있는 적합한 컴퓨팅 시스템 환경(100)의 예를 나타낸 것이다. 컴퓨팅 시스템 환경(100)은 적합한 컴퓨팅 환경의 일례에 불과하며, 본 발명의 사용이나 기능에 관한 어떤 제한을 암시하기 위한 것이 아니다. 컴퓨팅 환경(100)은 예시적인 오퍼레이팅 환경(100)에 예시된 컴포넌트들 중 임의의 하나 또는 그 조합에 관련한 어떤 의존성이나 요건을 가져야 하는 것으로 해석되어서도 안된다.
본 발명은 많은 다른 범용 또는 특수 목적의 컴퓨팅 시스템 환경 또는 구성에서 동작한다. 본 발명과 함께 사용하기에 적합할 수 있는 공지의 컴퓨팅 시스템, 환경, 및/또는 구성의 예로는 퍼스널 컴퓨터, 서버 컴퓨터, 핸드-헬드, 랩톱 또는 모바일 컴퓨터 또는 셀 전화 및 PDA 등의 통신 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 셋톱 박스, 프로그램가능 가전 제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 상기 시스템 또는 장치들 중 임의의 것을 포함하는 분산 컴퓨팅 환경 등이 있지만, 이에 한정되는 것은 아니다.
본 발명은 프로그램 모듈과 같이 컴퓨터에 의해 실행되는 컴퓨터 실행가능 명령어의 일반적 관점에서 기술될 수 있다. 일반적으로, 프로그램 모듈은 특정의 태스크를 수행하거나 특정의 추상 데이터 유형을 구현하는 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포함한다. 본 발명은 또한 태스크들이 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 포함하는 로컬 및 원격 컴퓨터 저장 매체에 위치될 수 있다. 도 1을 참조하면, 본 발명을 구현하는 예시적인 시스템은 컴퓨터(110) 형태의 범용 컴퓨팅 장치를 포함한다.
컴퓨터(110)의 컴포넌트로는 프로세싱 유닛(120), 시스템 메모리(130), 및 시스템 메모리를 포함한 여러가지 시스템 컴포넌트를 프로세싱 유닛(120)에 결합시키는 시스템 버스(121)를 포함할 수 있지만 이에 한정되는 것은 아니다. 시스템 버스(121)는 메모리 버스 또는 메모리 콘트롤러, 주변 버스, 및 다양한 버스 아키텍처 중 임의의 것을 사용하는 로컬 버스를 포함한 몇가지 유형의 버스 구조 중 임의의 것일 수 있다. 제한이 아닌 예로서, 이러한 아키텍처로는 ISA(Industry Standard Architecture) 버스, MCA(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standards Association) 로컬 버스, 및 메자닌 버스라고도 하는 PCI(Peripheral Component Interconnect) 버스가 있다.
컴퓨터(110)는 일반적으로 각종의 컴퓨터 판독가능 매체를 포함한다. 컴퓨터 판독가능 매체는 컴퓨터(110)에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있으며, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체 둘다를 포함한다. 제한이 아닌 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등의 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성의 분리형 및 비분리형 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래쉬 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 기타 광학 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 원하는 정보를 저장하는 데 사용될 수 있고 또 컴퓨터(110)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만 이에 한정되는 것은 아니다. 통신 매체는 일반적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터를 반송파 또는 기타 전송 메카니즘 등의 변조된 데이터 신호에 구현하며 임의의 정보 전달 매체를 포함한다. 용어 "변조된 데이터 신호"는 정보를 신호에 인코딩하는 방식으로 그의 특성들 중 하나 이상이 설정되거나 변경된 신호를 의미한다. 제한이 아닌 예로서, 통신 매체는 유선 네트워크 또는 직접 유선 네트워크 등의 유선 매체, 및 음향, RF, 적외선 및 기타 무선 매체 등의 무선 매체를 포함한다. 상기한 것 중 임의의 것의 조합도 컴퓨터 판독가능 매체의 범위 내에 속한다.
시스템 메모리(130)는 판독 전용 메모리(ROM)(131) 및 랜덤 액세스 메모리(RAM)(132) 등의 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. 시동 중과 같은 때에 컴퓨터(110) 내의 구성요소들 간의 정보의 전송을 돕는 기본적인 루틴을 포함하는 기본 입/출력 시스템(133)(BIOS)은 일반적으로 ROM(131)에 저장된다. RAM(132)은 일반적으로 프로세싱 유닛(120)이 즉각 액세스가능하고 및/또는 그에 의해 현재 처리되고 있는 데이터 및/또는 프로그램 모듈을 포함한다. 제한이 아닌 예로서, 도 1은 오퍼레이팅 시스템(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136), 및 프로그램 데이터(137)를 예시하고 있다.
컴퓨터(110)는 또한 다른 분리형/비분리형의 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수 있다. 단지 예로서, 도 1은 비분리형 비휘발성 자기 매체로부터 판독하거나 그에 기록하는 하드 디스크 드라이브(141), 분리형 비휘발성 자기 디스크(152)로부터 판독하거나 그에 기록하는 자기 디스크 드라이브(151), 및 CD ROM 또는 기타 광학 매체 등의 분리형 비휘발성 광학 디스크(156)로부터 판독하거나 그에 기록하는 광학 디스크 드라이브(155)를 예시하고 있다. 예시적인 오퍼레이팅 환경에서 사용될 수 있는 다른 분리형/비분리형의 휘발성/비휘발성 컴퓨터 저장 매체는 자기 테이프 카세트, 플래쉬 메모리 카드, DVD, 디지털 비디오 테이프, 고체 상태 RAM, 고체 상태 ROM 등을 포함하지만 이에 한정되는 것은 아니다. 하드 디스크 드라이브(141)는 일반적으로 인터페이스(140) 등의 비분리형 메모리 인터페이스를 통해 시스템 버스(121)에 연결되고, 자기 디스크 드라이브(151) 및 광학 디스크 드라이브(155)는 일반적으로 인터페이스(150) 등의 분리형 메모리 인터페이스에 의해 시스템 버스(121)에 연결된다.
전술하고 도 1에 예시한 드라이브 및 관련 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 및 컴퓨터(110)의 기타 데이터의 저장을 제공한다. 도 1에서, 예를 들어 하드 디스크 드라이브(141)는 오퍼레이팅 시스템(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈(146), 및 프로그램 데이터(147)를 저장하는 것으로 예시되어 있다. 유의할 점은 이들 컴포넌트가 오퍼레이팅 시스템(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136) 및 프로그램 데이터(137)와 동일하거나 서로 다를 수 있다는 것이다. 오퍼레이팅 시스템(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈(146) 및 프로그램 데이터(147)는 최소한 이들이 다른 복사본임을 나타내기 위해 여기에서는 서로 다른 번호가 부여되어 있다. 사용자는 키보드(162) 및 통상 마우스, 트랙볼 또는 터치 패드라고 하는 포인팅 장치(161) 등의 입력 장치를 통해 명령 및 정보를 컴퓨터(110)에 입력할 수 있다.
다른 입력 장치(도시 생략)는 마이크로폰, 조이스틱, 게임 패드, 위성 안테나, 스캐너, 라디오 수신기, 또는 텔레비전이나 방송 비디오 수상기 등을 포함할 수 있다. 이들 및 다른 입력 장치는 종종 시스템 버스(121)에 연결된 사용자 입력 인터페이스(160)를 통해 프로세싱 유닛(120)에 연결되어 있지만, 예를 들어 병렬 포트, 게임 포트 또는 유니버설 직렬 버스(USB) 등의 다른 인터페이스 및 버스 구조에 의해 연결될 수 있다. 모니터(191) 또는 다른 유형의 디스플레이 장치도 또한 비디오 인터페이스(190) 등의 인터페이스를 거쳐 시스템 버스(121)에 연결된다. 모니터 이외에, 컴퓨터는 또한 출력 주변 인터페이스(195)를 통해 연결될 수 있는 스피커(197) 및 프린터(196) 등의 다른 주변 출력 장치를 포함할 수 있다.
컴퓨터(110)는 원격 컴퓨터(180) 등의 하나 이상의 원격 컴퓨터로의 논리적 연결을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(180)는 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있으며, 도 1에는 단지 메모리 저장 장치(181)만이 도시되어 있지만, 일반적으로 컴퓨터(110)와 관련하여 전술한 구성요소의 대부분 또는 그 전부를 포함한다. 도 1에 도시한 논리적 연결은 근거리 통신망(LAN)(171) 및 원거리 통신망(WAN)(173)을 포함하지만, 다른 네트워크도 포함할 수 있다. 이러한 네트워킹 환경은 사무실, 전사적 컴퓨터 네트워크, 인트라넷 및 인터넷에서 통상적인 것이다.
LAN 네트워킹 환경에서 사용되는 경우, 컴퓨터(110)는 네트워크 인터페이스 또는 어댑터(170)를 통해 LAN(171)에 연결된다. WAN 네트워킹 환경에서 사용되는 경우, 컴퓨터(110)는 일반적으로 모뎀(171) 또는 인터넷 등의 WAN(173)을 거쳐 통신을 확립하기 위한 다른 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(172)은 사용자 입력 인터페이스(160) 또는 다른 적절한 메카니즘을 통해 시스템 버스(121)에 연결될 수 있다. 네트워크화된 환경에서, 컴퓨터(110)에 관련하여 도시된 프로그램 모듈 또는 그의 일부분은 원격 메모리 저장 장치에 저장될 수 있다. 제한이 아닌 예로서, 도 1은 원격 애플리케이션 프로그램(185)이 메모리 장치(181) 상에 존재하는 것으로 도시하고 있다. 도시된 네트워크 연결이 예시적인 것이며 컴퓨터들 사이의 통신 링크를 확립하는 다른 수단이 사용될 수 있음을 잘 알 것이다.
지금까지 예시적인 오퍼레이팅 환경에 대해 기술하였으며, 본 설명의 나머지 부분은 미디어 스트림 내의 반복 미디어 객체를 자동적으로 식별하고 분할하는 시스템 및 방법을 구현하는 프로그램 모듈 및 프로세스의 설명에 전념할 것이다.
2.0 서론
본 명세서에 기술되는 "객체 추출기"는 반복 객체 및 비반복 객체로 이루어진 미디어 스트림 내의 반복 객체를 자동적으로 식별하고 분할한다. "객체"는 그 자체로서 청취자 또는 시청자에 의해 식별될 때 논리적 단위인 것으로 간주되어질 무시할 수 없는 기간의 임의의 섹션으로 정의된다. 예를 들어, 청취자는 라디오 방송을 청취하거나 또는 텔레비전 방송이나 다른 미디어 방송 스트림을 시청하고, 비반복 프로그램과 광고, 징글 또는 다른 빈번히 반복되는 객체 간을 구별할 수 있다. 그러나, 미디어 스트림 내의 동일한, 예를 들어 반복 콘텐츠를 자동적으로 구분하는 것은 일반적으로 어려운 문제이다.
예를 들어, 일반적인 팝 라디오 방송으로부터 도출된 오디오 스트림은 시간의 경과에 따라 예를 들어, 노래, 징글, 광고 및 방송국 식별자를 비롯한 동일한 객체의 많은 반복을 포함하게 된다. 이와 마찬가지로, 일반적인 텔레비전 방송으로부터 도출된 오디오 /비디오 미디어 스트림은 시간의 경과에 따라 예를 들어, 상업 광고, 광고, 방송국 식별자, 또는 긴급 방송 신호를 비롯한 동일한 객체의 다수 반복을 포함하게 된다. 그러나, 이들 객체는 일반적으로 미디어 스트림 내에서 예측할 수 없는 시간에 일어나게 되고, 미디어 스트림을 캡처 또는 레코딩하는 데 사용되는 임의의 획득 프로세스로 야기되는 노이즈에 의해 빈번하게 오염된다.
게다가, 라디오 방송 등의 일반적인 미디어 스트림 내의 객체들은 종종 각각의 객체의 시작 및/또는 종료점에서의 보이스 오버에 의해 오염된다. 게다가, 이러한 객체들은 종종 단축된다. 즉, 처음부터 또는 끝까지 계속하여 완전히 재생되지 않는다. 게다가, 이러한 객체들은 종종 일부러 왜곡되어진다. 예를 들어, 라디오 방송국을 통한 오디오 방송은 종종 압축기, 이퀄라이저 또는 다수의 다른 시간/주파수 효과를 사용하여 처리된다. 게다가, 일반적인 라디오 방송국을 통해 방송된 음악이나 노래 등의 오디오 객체는 종종 앞뒤에 오는 음악이나 노래로 크로스페이딩(cross-fading)되고, 그에 의하여 오디오 객체 시작점 및 종료점이 불분명해지고, 그 객체에 왜곡이나 노이즈가 부가된다. 미디어 스트림의 이러한 처리는 당업자는 잘 알고 있는 것이다. 마지막으로, 유의할 점은 이러한 오염이나 왜곡 중 임의의 것 또는 그 모두는 개별적으로 또는 조합하여 일어날 수 있으며, 개별적으로 명시하여 언급하는 경우를 제외하고는 본 설명에서는 일반적으로 "노이즈"라고 부른다는 것이다. 결과적으로, 이러한 노이즈가 많은 환경에서, 이러한 객체를 식별하는 것 및 이러한 객체의 종단점을 찾아내는 것은 어려운 문제이다.
본 명세서에 기술된 객체 추출기는 이들 및 다른 문제를 성공적으로 해소하면서 많은 이점을 제공한다. 예를 들어, 미디어 스트림 내의 미디어 객체들에 관한 통계적 정보를 수집하는 유용한 기술을 제공하는 것 이외에, 미디어 스트림의 자동 식별 및 분할은 사용자가 스트림 내의 원하는 콘텐츠에 자동적으로 액세스할 수 있게 해주거나 역으로 미디어 스트림 내의 원하지 않는 콘텐츠를 자동적으로 건너뛰게 해줄 수 있다. 또다른 이점으로는 미디어 스트림으로부터 바람직한 콘텐츠만 식별하고 저장할 수 있는 것, 특별한 처리를 위한 목표 콘텐츠를 식별할 수 있는 것, 임의의 다중 검출된 객체들을 노이즈 감소(de-noise)시키거나 깨끗하게 할 수 있는 것, 및 다중 검출된 객체들의 단일 복사본만을 저장함으로써 스트림을 보다 효율적으로 아카이브할 수 있는 것이 있다.
일반적으로, 반복 미디어 객체의 자동 식별 및 분할은 미디어 콘텐츠가 반복되고 있는 미디어 스트림 내의 영역이나 부분들을 찾아내기 위해 미디어 스트림의 부분들을 비교함으로써 달성된다. 테스트된 실시예에서, 반복 객체들의 식별 및 분할은 스트림의 일치 부분들을 식별하기 위해 미디어 스트림의 섹션들을 직접 비교한 다음에 객체 종단점을 식별하기 위해 일치 부분들을 정렬함으로써 달성된다.
다른 실시예에서, 반복 미디어 객체의 자동 식별 및 분할은 가능한 객체를 식별하기 위해 오디오 및/또는 비디오 미디어의 서로 다른 측면을 목표로 하기 위한 일단의 객체 의존적인 알고리즘을 이용함으로써 달성된다. 일단 스트림 내에서 가능한 객체가 식별되면, 객체를 반복 객체로서 확인하는 것은 자동적으로 인스턴스화된 동적 객체 데이터베이스 내의 일치가능성이 있는 객체들에 대한 자동 검색에 뒤이어서 가능한 객체와 일치가능성이 있는 객체들 중 하나 이상 간의 상세 비교에 의해 달성된다. 이어서, 객체 종단점은 자동 정렬 및 그 객체의 다른 반복 복사본과의 비교에 의해 자동적으로 결정된다.
이하에 기술하는 바와 같이 여러가지 대체 실시예들은 미디어 스트림의 이전에 식별된 부분들의 검색을 제한함으로써 또는 미디어 스트림의 검색에 앞서 이전에 식별된 미디어 객체의 데이터베이스에 먼저 쿼리를 행함으로써 미디어 스트림 내의 미디어 객체 식별의 속도를 동적으로 증가시키는 데 사용된다. 게다가, 관련 실시예에서, 미디어 스트림은 미디어 객체의 하나 이상의 반복 인스턴스를 허용하기에 충분한 기간에 대응하는 세그먼트들에서 분석되고, 뒤이어서 데이터베이스 쿼리가 있으며, 그 다음에 필요한 경우 미디어 스트림의 검색이 있게 된다.
2.1 시스템 개요:
일반적으로, 객체의 반복 인스턴스의 식별은 예를 들어 미디어 스트림 내에서의 미디어 객체 위치에 대한 포인터 등의 정보, 그 미디어 객체들을 특징지우는 파라미터 정보, 이러한 객체를 기술하기 위한 메타데이터, 객체 종단점 정보, 또는 객체 자체의 복사본을 저장하기 위한 비어 있는 "객체 데이터베이스"를 먼저 인스턴스화 또는 초기화하는 것을 포함한다. 유의할 점은 이러한 정보 중 임의의 것 또는 그 모두는 단일 객체 데이터베이스 내에 유지될 수도 있고, 임의의 개수의 데이터베이스 또는 컴퓨터 파일에 유지될 수도 있다는 점이다. 그러나, 설명의 명확함을 위해, 본 설명 전체에 걸쳐 단일 데이터베이스는 전술한 정보를 말한다. 유의할 점은, 대체 실시예에서 사전 식별된 객체를 특징지우는 파라미터 정보를 포함하는 기존 데이터베이스(preexisting database)가, 비어있는 데이터베이스 대신에 사용된다는 것이다. 그러나, 이러한 기존의 데이터베이스는, 초기의 객체 식별 속도는 증가시킬 수 있지만, 시간이 경과하면, 초기에는 비어있고 객체들이 스트림 내에 위치할 때 파라미터 정보가 채워지게 되는 데이터베이스에 비해 현저하게 더 양호한 성능을 제공하지는 않는다.
어느 경우든지, 비어있는 것이든 기존의 것이든 객체 데이터베이스가 이용가능한 경우, 그 다음 단계는 원하는 기간에 걸쳐 적어도 하나의 미디어 스트림을 캡처하여 저장하는 것을 포함한다. 원하는 기간은 수분 내지 수시간이나, 수일 내지 수주, 또는 더 긴 것 등 어느 것이라도 될 수 있다. 그러나, 기본적인 요건은 객체들이 스트림 내에서 반복을 시작하기에 충분할 정도로 샘플 기간이 길어야만 한다는 것이다. 객체들이 스트림 내에 위치하고 있을 때, 객체들의 반복에 의해 객체들의 종단점이 식별될 수 있게 된다. 여기에 설명하는 바와 같이, 객체들이 스트림 내에 위치하고 있을 때, 객체들의 반복에 의해 객체들의 종단점이 식별될 수 있게 된다. 다른 실시예에서, 저장 장치 요구 사항을 최소화하기 위해, 저장된 미디어 스트림은 오디오 및/또는 비디오 콘텐츠를 압축하는 임의의 원하는 종래의 압축 방법을 사용하여 압축된다. 이러한 압축 기술은 당업자라면 잘 알고 있는 것이며 여기에서 설명하지 않는다.
전술한 바와 같이, 일 실시예에서, 반복 미디어 객체의 자동 식별 및 분할은, 미디어 스트림의 부분들을 비교하여 미디어 콘텐츠가 반복되고 있는 미디어 스트림 내의 영역 또는 부분을 찾아냄으로써 달성된다. 구체적으로는, 이 실시예에서, 미디어 스트림의 부분 또는 윈도우가 미디어 스트림으로부터 선택된다. 윈도우의 길이는 임의의 원하는 길이일 수 있지만, 일반적으로 유용한 정보를 거의 또는 전혀 제공하지 않을 정도로 짧아도 안 되고, 잠재적으로 복수의 미디어 객체를 포함할 수 있을 정도로 길어도 안된다. 테스트된 실시예에서, 탐색되는 유형의 통상적인 반복 객체의 길이의 약 2배 내지 5배 정도의 윈도우 또는 세그먼트가 양호한 결과를 내는 것으로 밝혀졌다. 이러한 부분 또는 윈도우는 미디어 스트림의 끝으로부터 시작하도록 선택될 수 있거나, 심지어 미디어 스트림으로부터 랜덤하게 선택될 수 있다.
이어서, 미디어 스트림의 선택된 부분은 미디어 스트림의 일치하는 섹션을 찾기 위해 미디어 스트림의 유사한 크기의 부분에 대해 직접 비교된다. 이들 비교는 어느 것이 먼저 발생하든지간에, 일치를 찾아내기 위해 전체 미디어 스트림이 검색될 때까지 또는 일치가 실제로 찾아질 때까지 계속된다. 미디어 스트림과의 비교를 위한 부분의 선택에서와 같이, 선택된 세그먼트 또는 윈도우와 비교되는 부분들은 미디어 스트림의 끝에서 시작하여 순차적으로 취해지거나 심지어 미디어 스트림으로부터 랜덤하게 취해질 수도 있고, 또는 알고리즘에 의해 현재의 세그먼트에 탐색되는 클래스의 객체가 존재할 가능성이 있는 것으로 취해질 수 있다.
이 테스트된 실시예에서, 미디어 스트림의 부분들의 직접 비교에 의해 일치가 식별되면, 일치하는 부분들을 정렬하여 객체 종단점을 찾아냄으로써, 반복 객체들의 식별 및 분할이 달성된다. 유의할 점은 각각의 객체가 노이즈를 포함하고 또 전술한 바와 같이 시작 부분이나 끝부분에서 단축되거나 잘라질 수 있기 때문에, 객체 종단점이 항상 분명하게 구별될 수 있는 것은 아니라는 것이다. 그러나, 심지어 이러한 노이즈가 많은 환경에서도, 간단한 패턴 정합 등의 많은 종래 기술 중 임의의 것을 사용하여 일치 부분을 정렬함으로써, 일치 부분들 간의 상호 상관(cross-correlation) 피크를 정렬함으로써, 또는 일치 신호를 정렬하기 위한 임의의 다른 종래의 기술에 의해 대략적인 종단점이 찾아진다. 일단 정렬되면, 미디어 스트림 내에서 일치 부분의 경계를 넘어 전방 및 후방으로 추적하여, 미디어 스트림의 2개의 부분이 분기하는 지점을 찾아냄으로써, 종료점이 식별된다. 일반적으로, 반복 미디어 객체는 방송될 때마다 정확히 동일한 순서로 재생되지는 않기 때문에, 미디어 스트림에서 종단점을 찾아내는 이 기술은 미디어 스트림 내의 미디어 객체의 시작 및 종료점을 만족스럽게 찾아내는 것으로 관측되었다.
다른 대안으로서, 전술한 바와 같이, 일 실시예에서, 일단의 알고리즘이 오디오 및/또는 비디오 미디어의 서로 다른 측면을 목표로 삼아 미디어 스트림 내의 객체들을 식별하는 데 유용한 파라미터 정보를 계산하기 위해 사용된다. 이 파라미터 정보는 특정의 객체를 식별하는 데 유용한 파라미터를 포함하며, 따라서 계산된 파라미터 정보의 유형은 탐색되는 객체의 클래스에 의존한다. 유의할 점은 분석되는 미디어 스트림의 유형에 따라, 미디어 객체의 유사성을 비교하기 위한 다수의 공지의 전통적인 주파수, 시간, 이미지 또는 에너지 기반 기술 중 임의의 것이 잠재적인 객체 일치를 식별하기 위해 사용될 수 있다는 것이다. 예를 들어, 오디오 스트림 내의 음악 또는 노래와 관련하여, 이들 알고리즘은 예를 들어 짧은 윈도우에서의 분당 박자수(beats per minute), 스테레오 정보, 짧은 구간에 걸친 채널당 에너지 비, 및 특정 주파수 대역의 주파수 내용 등의 미디어 스트림 내의 쉽게 구해지는 파라미터를 계산하는 것, 그의 스펙트럼에서의 실질적인 유사성을 알아보기 위해 더 큰 미디어 세그먼트를 비교하는 것, 가능한 후보 객체의 샘플을 저장하는 것, 및 임의의 반복된 객체를 식별하기 위해 학습하는 것을 포함한다.
이 실시예에서, 일단 미디어 스트림이 획득되었으면, 저장된 미디어 스트림은 탐색된 클래스의 객체, 즉, 노래, 징글, 비디오, 광고 등이 검사되는 스트림의 부분에 존재할 확률을 결정하기 위해 검사된다. 그러나, 대체 실시예에서 탐색되는 객체가 현재 스트림 내에 존재할 확률을 결정하기 위해, 미디어 스트림이 저장될 때 미디어 스트림이 실시간으로 검사되는 것에 유의해야 한다. 유의할 점은 실시간 또는 저장후 미디어 스트림 검사가 실질적으로 동일한 방식으로 처리된다는 것이다. 탐색된 객체가 존재할 확률이 미리 정해진 임계값에 도달하면, 그 가능성있는 객체의 스트림 내에서의 위치가 전술한 데이터베이스 내에 자동적으로 기입된다. 유의할 점은 이러한 검출 또는 유사성 임계값이 원하는 바에 따라 스트림 내에서의 객체 검출의 감도를 조절하기 위해 증가되거나 감소될 수 있다는 것이다.
이 실시예의 경우, 가능성있는 객체가 스트림에서 식별되었으면, 그 가능성있는 객체를 특징지우는 파라미터 정보가 계산되어, 이전에 식별된 가능성있는 객체와의 잠재적인 객체 일치를 식별하기 위해 데이터베이스 쿼리 또는 검색에서 사용된다. 데이터베이스 쿼리의 목적은 단순히 스트림의 2개의 부분이 대략적으로 동일한지 여부, 환언하면, 스트림 내에서 2개의 서로 다른 시간 위치에 있는 객체가 대략적으로 동일한지 여부를 결정하는 것이다. 게다가, 데이터베이스가 초기에 비어 있기 때문에, 더 많은 가능한 객체가 식별되고 데이터베이스에 부가됨에 따라, 잠재적인 일치를 식별할 가능성은 시간의 경과에 따라 당연히 증가하게 된다.
유의할 점은 대체 실시예들에서 데이터베이스 쿼리에 의해 반환된 잠재적인 일치들의 수는 시스템 오버헤드를 줄이기 위해 원하는 최대수로 제한되어 있다는 것이다. 게다가, 전술한 바와 같이, 가능성있는 객체와 데이터베이스 내의 객체와의 비교를 위한 유사성 임계값은 잠재적인 일치의 확률을 원하는 바대로 증가시키거나 감소시키기 위해 조정가능하다. 또다른 관련 실시예에서, 미디어 스트림 내에서 보다 빈번하게 반복하는 것으로 밝혀진 객체들은 덜 빈번하게 반복되는 객체들보다 잠재적인 일치로서 식별될 가능성이 더 높도록 더 무겁게 가중된다. 또다른 실시예에서, 너무 많은 잠재적인 일치가 데이터베이스 검색에 의해 반환되는 경우, 더 적은 잠재적인 일치가 반환되도록 유사성 임계값은 증가된다.
가능성있는 객체에 대한 잠재적인 일치들이 반환된 경우, 가능성있는 객체를 보다 확고하게 식별하기 위해 가능성있는 객체와 잠재적인 일치들 중 하나 이상 사이의 보다 상세한 비교가 수행된다. 이 시점에서, 가능성있는 객체가 잠재적인 일치들 중 하나의 반복임이 밝혀지는 경우, 그것은 반복 객체로서 식별되고, 스트림 내에서의 그의 위치가 데이터베이스에 저장된다. 반대로, 상세 비교에 의해 가능성있는 객체가 잠재적인 일치들 중 하나의 반복이 아닌 것으로 밝혀지는 경우, 그것은 데이터베이스에서 새로운 객체로서 식별되고, 스트림 내에서의 그의 위치 및 파라미터 정보가 전술한 바와 같이 데이터베이스에 저장된다. 그러나, 대체 실시예에서, 객체가 반복 객체로서 식별되지 않은 경우, 비교를 위한 부가의 객체를 식별하기 위해 더 낮은 유사성 임계값을 사용하여 새로운 데이터베이스 검색이 행해진다. 다시 말하면, 가능성있는 객체가 반복인 것으로 결정되는 경우, 그 객체는 그 자체로서 식별되고, 그렇지 않은 경우 그 객체는 전술한 바와 같이 새로운 객체로서 데이터베이스에 부가된다.
게다가, 앞서 기술한 실시예에서와 같이, 반복 객체의 여러가지 인스턴스의 종단점이 자동적으로 결정된다. 예를 들어, 특정 객체의 인스턴스가 N개 있는 경우, 그들 모두가 정확하게 동일한 길이를 가질 수 있는 것은 아니다. 따라서, 종단점의 결정은 여러가지 인스턴스를 하나의 인스턴스에 대해 정렬하는 것과 이어서 인스턴스들 각각이 다른 인스턴스들과 여전히 대략적으로 동일한 최장의 범위를 결정하기 위해 정렬된 객체들 각각에서 전방 및 후방으로 추적하는 것을 포함한다.
유의할 점은 탐색되는 클래스의 객체가 검사되는 스트림의 부분에 존재할 확률을 결정하고 또 스트림의 2 부분이 대략적으로 동일한지 여부를 테스트하는 방법이 탐색되는 객체의 유형(예를 들어, 음악, 음성, 광고, 징글, 방송국 식별자, 비디오 등)에 많이 의존하는 반면, 스트림 내에서의 종단점 위치의 결정 및 데이터베이스는 어떤 종류의 객체가 탐색되고 있는지에 상관없이 아주 유사하다는 것이다.
상기한 실시예들 각각의 또다른 수정예에서, 미디어 스트림에서의 미디어 객체 식별의 속도는 미디어 스트림의 이전에 식별된 부분들의 검색을 제한함으로써 또는 미디어 스트림을 검색하기에 앞서 이전에 식별된 미디어 객체들로 된 데이터베이스에 먼저 쿼리를 행함으로써 극적으로 향상된다. 게다가, 관련 실시예에서, 미디어 스트림은 미디어 객체의 하나 이상의 반복 인스턴스를 허용하기에 충분한 기간에 대응하는 세그먼트들에서 분석되고, 뒤이어서 데이터베이스 쿼리가 있으며, 그 다음에 필요한 경우 미디어 스트림의 검색이 있게 된다.
마지막으로, 종단점이 전술한 바와 같이 결정되었으면, 객체들은 오디오 스트림으로부터 추출되어 개별적인 파일에 저장된다. 다른 대안에서, 미디어 스트림 내의 객체 종단점에 대한 포인터가 데이터베이스에 저장된다.
2.2 시스템 아키텍처
도 2의 일반적인 시스템도는 이상에서 요약한 프로세스를 나타낸 것이다. 상세하게는, 도 2의 시스템도는 미디어 스트림 내의 반복 객체를 자동적으로 식별하고 분할하는 "객체 추출기"를 구현하는 프로그램 모듈들 간의 상호 관계를 나타낸 것이다. 유의할 점은 도 2에서 파선 또는 점선으로 나타내어진 박스 및 박스들 사이의 상호 관계는 본 발명의 대체 실시예를 나타내고 이하에 기술하는 바와 같이 이들 대체 실시예 중 임의의 것 또는 그 전부가 본 명세서 전체에 걸쳐 기술되는 다른 대체 실시예와 조합하여 사용될 수 있다는 것이다.
특히, 도 2에 예시한 바와 같이, 미디어 스트림 내의 반복 객체를 자동적으로 식별하고 분할하는 시스템 및 방법은, 미디어 캡처 모듈(200)을 사용하여 오디오 및/또는 비디오 정보를 포함하는 미디어 스트림을 캡처하는 것으로 시작한다. 미디어 캡처 모듈(200)은 라디오 또는 텔레비전/비디오 방송 미디어 시스템을 캡처하기 위해 다수의 종래 기술 중 임의의 것을 사용한다. 이러한 미디어 캡처 기술은 당업자라면 잘 알고 있으며, 여기에 설명하지 않는다. 일단 캡처되면, 미디어 스트림(210)은 컴퓨터 파일 또는 데이터베이스에 저장된다. 게다가, 일 실시예에서, 미디어 스트림(210)은 오디오 및/또는 비디오 미디어의 압축을 위한 종래의 기술을 사용하여 압축된다.
일 실시예에서, 객체 검출 모듈(220)은 미디어 스트림으로부터 세그먼트 또는 윈도우를 선택하고, 미디어 스트림의 일치 부분들을 찾아내기 위해 그것을 그 섹션과 미디어 스트림(210)의 다른 섹션들 또는 윈도우들 간의 직접 비교를 수행하는 객체 비교 모듈(240)에 선택된 세그먼트 또는 윈도우를 제공한다. 전술한 바와 같이, 객체 비교 모듈(240)에 의해 수행되는 비교는, 어느 것이 먼저 발생하든지 간에, 전체 미디어 스트림(210)이 일치를 찾기 위해 검색될 때까지 또는 일치가 실제로 찾아질 때까지 계속된다.
이 실시예에서, 객체 비교 모듈(240)에 의한 미디어 스트림의 부분들의 직접 비교에 의해 일치가 식별된 경우, 반복 객체의 식별 및 분할은 미디어 스트림의 일치 부분들을 정렬한 다음에 각 객체가 대략적으로 동일한 최장의 범위를 식별하기 위해 미디어 스트림의 부분들 사이의 정렬 중심으로부터 후방 및 전방으로 검색하는 객체 정렬 및 종단점 결정 모듈(250)을 사용하여 달성된다. 이와 같이, 각 객체의 범위를 식별하는 것은 객체 종단점을 식별하는 데 도움이 된다. 일 실시예에서, 이 종단점 정보는 이어서 객체 데이터베이스(230)에 저장된다.
다른 대안으로서, 다른 실시예에서는, 객체 검출 모듈은, 비교를 위해 미디어 스트림의 윈도우 또는 세그먼트를 단순히 선택하는 것이 아니라, 미디어 스트림 내에 내장된 잠재적인 미디어 객체를 식별하기 위해 먼저 미디어 스트림(210)을 검사한다. 미디어 스트림(210)에 대한 이러한 검사는 미디어 스트림의 부분을 나타내는 윈도우를 검사함으로써 달성된다. 전술한 바와 같이, 가능한 객체를 검출하기 위한 미디어 스트림(210)의 검사는 검사되는 미디어 콘텐츠의 유형에 적합하게 되어 있는 하나 이상의 검출 알고리즘을 사용한다. 일반적으로, 이들 검출 알고리즘은 분석되는 미디어 스트림의 부분을 특징지우는 파라미터 정보를 계산한다. 가능한 미디어 객체의 검출에 대해서는 이하의 섹션 3.1.1에 보다 상세히 기술된다.
객체 검출 모듈(220)이 가능한 객체를 식별하면, 미디어 스트림(210) 내에서의 가능한 객체의 위치 또는 장소가 객체 데이터베이스(230)에 기입된다. 게다가, 객체 검출 모듈(220)에 의해 계산되는 가능한 객체를 특징지우는 파라미터 정보도 객체 데이터베이스(230)에 저장된다. 유의할 점은 이 객체 데이터베이스가 초기에 비어 있으며 객체 데이터베이스(230) 내의 최초 엔트리는 객체 검출 모듈(220)에 의해 검출되는 첫번째의 가능한 객체에 대응한다는 것이다. 다른 대안에서, 객체 데이터베이스는 이전에 캡처된 미디어 스트림의 분석 또는 검색으로부터의 결과로 이미 채워져 있다. 객체 데이터베이스에 대해서는 이하의 섹션 3.1.3에서 보다 상세히 기술된다.
미디어 스트림(210) 내의 가능한 객체의 검출에 뒤이어서, 객체 비교 모듈(240)은 가능한 객체에 대한 잠재적인 일치, 즉 반복 인스턴스를 찾아내기 위해 객체 데이터베이스(230)에 쿼리를 수행한다. 하나 이상의 잠재적인 일치가 식별되었으면, 객체 비교 모듈(240)은 가능한 객체와 일치 가능성이 있는 객체 중 하나 이상 간의 상세 비교를 수행한다. 이 상세 비교는 가능한 객체를 나타내는 미디어 스트림의 부분들의 직접 비교, 또는 가능한 객체와 잠재적인 일치를 나타내는 미디어 스트림의 부분들의 하위 차원 버전들 간의 비교를 포함한다. 이 비교 프로세스에 대해서는 이하의 섹션 3.1.2에 보다 상세히 기술되어 있다.
다음에, 객체 비교 모듈(240)이 가능한 객체의 일치 또는 반복 인스턴스를 식별하였으면, 가능한 객체는 객체 데이터베이스(230) 내의 반복 객체로서 플래그가 붙여진다. 객체 정렬 및 종단점 결정 모듈(250)은 이어서 새로 식별된 반복 객체를 그 객체의 각각의 이전에 식별된 반복 인스턴스와 함께 정렬하고, 각각의 객체가 대략적으로 동일한 최장의 범위를 식별하기 위해 이들 객체 각각을 후방 및 전방으로 검색한다. 이와 같이 각각의 객체의 범위를 식별하는 것은 객체 종단점을 식별하는 데 도움이 된다. 이 종단점 정보는 이어서 객체 데이터베이스(230)에 저장된다. 객체 종단점의 정렬 및 식별에 대해서는 이하의 섹션 3.1.4에 보다 상세히 기술된다.
마지막으로, 또하나의 실시예에서, 객체 종단점이 객체 정렬 및 종단점 결정 모듈(250)에 의해 식별되었으면, 객체 추출 모듈(260)은 종단점 정보를 사용하여 그 종단점에 대응하는 미디어 스트림의 섹션을 개별적인 미디어 객체(270)의 별도의 파일 또는 데이터베이스로 복사한다. 또한 유의할 점은 또하나의 실시예에서 미디어 객체(270)는 가능한 객체의 하위 차원 버전과 잠재적인 일치 사이의 상기한 비교를 위해 가능한 객체들에 대한 잠재적인 일치를 나타내는 미디어 스트림의 부분들 대신에 사용된다는 것이다.
전술한 프로세스는 반복되고, 객체 검출 모듈(220)에 의해 분석되고 있는 미디어 스트림(210)의 부분은 예를 들어 슬라이딩 윈도우를 사용함으로써 또는 윈도우의 시작을 마지막으로 검출된 미디어 객체의 계산된 종단점으로 이동시킴으로써 증분된다. 이들 프로세스는 전체 미디어 스트림이 검사될 때까지 또는 사용자가 검사를 종료할 때까지 계속된다. 스트림에서 반복 객체를 실시간으로 검색하는 경우, 검색 프로세스는 사전 결정된 시간량이 소비될 때 종료될 수 있다.
3.0 동작 개요:
전술한 프로그램 모듈은, 미디어 스트림 내의 반복 객체들을 자동적으로 식별하고 분할하기 위한 "객체 추출기"에 이용된다. 이러한 프로세스는 객체 추출기의 대안적인 실시예들을 나타내는 도 3a 내지 도 5의 흐름도에 나타내 있으며, 이하에서는 상기 프로그램 모듈을 구현하기 위한 예시적인 방법의 동작에 대하여 상세하게 논의할 것이다.
3.1 동작 요소:
전술한 바와 같이, 객체 추출기는 미디어 스트림 내의 반복 객체를 자동적으로 식별하고 분할하는 동작을 한다. 객체의 반복 인스턴스를 식별하는 일반적인 방법의 실제 예는 이하의 요소를 포함한다.
1. 미디어 스트림의 2 부분이 거의 동일한지 여부를 결정하기 위한 기술. 환언하면, 미디어 스트림 내에서 각각 대략 시간 위치 ti 및 tj에 위치하는 미디어 객체들이 거의 동일한지 여부를 결정하는 기술. 추가의 상세에 대해서는 섹션 3.1.2를 참조하기 바란다. 유의할 점은 관련 실시예에서, 탐색되는 클래스의 미디어 객체가 검사되는 미디어 스트림의 부분에 존재할 확률을 결정하는 기술이, 미디어 스트림의 2 부분이 거의 동일한지 여부를 결정하는 기술보다 먼저 행해진다는 것이다. 추가의 상세에 대해서는 섹션 3.1.1을 참조하기 바란다.
2. 특정 반복 객체의 각각의 찾아낸 인스턴스를 설명하기 위한 정보를 저장하는 객체 데이터베이스. 객체 데이터베이스는 예를 들어 미디어 스트림 내의 미디어 객체 위치에 대한 포인터, 그 미디어 객체를 특징 지우는 파라미터 정보, 이러한 객체를 기술하는 메타데이터, 객체 종단점 정보, 또는 객체 자체의 복사본 등의 레코드를 포함한다. 다시 말하면, 전술한 바와 같이, 객체 데이터베이스는 원하는 바에 따라 실제로 하나 이상의 데이터베이스일 수 있다. 추가의 상세에 대해서는 섹션 3.1.3을 참조하기 바란다.
3. 임의의 식별된 반복 객체의 여러가지 인스턴스들의 종단점을 결정하기 위한 기술. 일반적으로, 이 기술은 먼저 각각의 일치하는 세그먼트 또는 미디어 객체를 정렬하고 이어서 인스턴스들 각각이 여전히 다른 인스턴스들과 거의 같은 최장의 범위를 결정하기 위해 시간상 후방 및 전방으로 추적한다. 이들 최장의 범위는 일반적으로 반복 미디어 객체의 종단점에 대응한다. 추가의 상세에 대해서는 섹션 3.1.4를 참조하기 바란다.
유의할 점은 탐색되는 클래스의 미디어 객체가 검사되고 있는 스트림의 부분에 존재할 확률을 결정하는 기술, 및 미디어 스트림의 2 부분이 거의 동일한지 여부를 결정하는 기술은 탐색되는 객체의 유형(즉, 그것이 음악, 음성, 비디오 등인지)에 크게 의존하는 반면, 객체 데이터베이스 및 임의의 식별된 반복 객체의 여러가지 인스턴스들의 종단점을 결정하는 기술은 탐색되는 객체의 유형 또는 클래스에 상관없이 아주 유사할 수 있다는 것이다.
유의할 점은 객체 추출기가 문맥을 벗어나지 않도록 하기 위해 이하의 논의가 오디오 미디어 스트림 내의 음악 또는 노래의 검출을 참조하고 있다는 것이다. 그러나, 전술한 바와 같이, 여기에 기술된 동일한 일반적 방법이 예를 들어, 음성, 비디오, 이미지 시퀀스, 방송국 징글, 광고 등과 같은 다른 클래스의 객체들에 똑같이 잘 적용된다.
3.1.1 객체 검출 확률:
전술한 바와 같이, 일 실시예에서 미디어 스트림의 2 부분이 거의 동일한지 여부를 결정하는 기술보다, 탐색되는 클래스의 미디어 객체가 검사되는 미디어 스트림의 부분에 존재할 확률을 결정하는 기술이 먼저 행해진다. 이 결정은 미디어 스트림의 섹션들 간의 직접 비교가 행해지는 실시예에서는 불필요하지만(섹션 3.1.2 참조), 검색의 효율성을 크게 향상시킬 수 있다. 즉, 탐색되는 클래스의 객체들을 포함할 가능성이 없는 것으로 결정된 섹션들은 다른 섹션들과 비교될 필요가 없다. 탐색되는 클래스의 미디어 객체가 미디어 스트림에 존재할 확률을 결정하는 것은 먼저 미디어 스트림을 캡처하고 검사하는 것으로 시작한다. 예를 들어, 한가지 방법은 목표 미디어 스트림을 진행해가면서 쉽게 계산되는 파라미터, 즉 파라미터 정보의 벡터를 연속적으로 계산하는 것이다. 전술한 바와 같이, 특정의 미디어 객체 유형 또는 클래스를 특징지울 필요가 있는 파라미터 정보는 검색이 수행되고 있는 특정의 객체 유형 또는 클래스에 완전히 의존하고 있다.
유의할 점은 탐색되는 클래스의 미디어 객체가 미디어 스트림에 존재할 확률을 결정하는 기술은 일반적으로 신뢰성이 없다는 것이다. 환언하면, 이 기술은 많은 섹션들을 그렇지 않은 데도 가능성있는 또는 가능한 탐색 객체로서 분류하며, 따라서 객체 데이터베이스에 쓸모없는 엔트리를 생성한다. 이와 유사하게, 본질적으로 신뢰할 수 없기 때문에, 이 기술은 또한 많은 실제의 탐색 객체를 가능성있는 또는 가능한 객체로서 분류하지 못한다. 그러나, 보다 효율적인 비교 기술들이 사용될 수 있는 반면, 초기에 가능성있는 또는 가능한 검출을 행하는 것과 그 이후에 잠재적인 일치의 상세한 비교를 행하여, 반복 객체를 식별하는 것을 조합하면, 스트림 내의 대부분의 탐색 객체의 위치를 신속하게 식별할 수 있게 된다.
명백하게도, 거의 모든 유형의 파라미터 정보가 미디어 스트림 내의 가능한 객체를 찾아내는 데 사용될 수 있다. 예를 들어, 방송 비디오 또는 텔레비전 스트림에서 빈번하게 반복되는 상업 광고 또는 다른 비디오나 오디오 세그먼트에 관련하여, 가능한 또는 가능성있는 객체는 스트림의 오디오 부분, 스트림의 비디오 부분 또는 양쪽 모두를 검사함으로써 찾아질 수 있다. 게다가, 이러한 객체의 특성에 관한 기지의 정보는 초기의 검출 알고리즘을 조정하는 데 사용될 수 있다. 예를 들어, 텔레비전 상업 광고는 길이가 15 내지 45초인 경향이 있고 3 내지 5분의 블록들로 그룹화되는 경향이 있다. 이 정보는 비디오 또는 텔레비전 스트림 내에서 상업 광고나 광고 블록을 찾아내는 데 사용될 수 있다.
예를 들어 오디오 미디어 스트림과 관련하여, 노래, 음악 또는 반복 음성을 검색하는 것이 요망되는 경우, 미디어 스트림 내에서 가능한 객체들을 찾아내는 데 사용되는 파라미터 정보는 예를 들어 짧은 윈도우에 걸쳐 계산된 미디어 스트림의 분당 박자수(BPM), 상대 스테레오 정보[예를 들어 합산 채널(sum channel)의 에너지에 대한 차동 채널(difference channel)의 에너지의 비], 및 짧은 구간에 걸쳐 평균된 어떤 주파수 대역의 에너지 점유(energy occupancy) 등의 정보로 이루어져 있다.
게다가, 어떤 파라미터 정보의 연속성에 특히 주의한다. 예를 들어, 오디오 미디어 스트림의 BPM이 30초 또는 그 이상의 구간에 걸쳐 거의 동일하게 유지되는 경우, 이것은 노래 객체가 아마도 스트림 내의 그 위치에 존재한다는 표시로서 간주될 수 있다. 더 짧은 기간 동안 일정한 BPM은 스트림 내의 특정 위치에서의 객체 존재 확률이 더 낮음을 나타낸다. 이와 마찬가지로, 확장된 기간에 걸쳐 상당한 스테레오 정보가 존재하는 것은 노래가 재생되고 있을 가능성을 나타낼 수 있다.
대략적인 BPM을 계산하는 여러가지 방법이 있다. 예를 들어, 객체 추출기의 실제 예에서, 오디오 스트림은 필터링되고 다운샘플링되어 원본 스트림의 저차원 버전을 생성한다. 테스트된 실시예에서, 오디오 스트림을 필터링하여 0 - 220 Hz 범위의 정보만을 포함하는 스트림을 생성하면 양호한 BPM 결과를 얻을 수 있는 것으로 밝혀졌다. 그러나, 미디어 스트림으로부터 어느 정보가 추출되는지에 따라 임의의 주파수 범위가 검사될 수 있음을 잘 알 것이다. 스트림이 필터링되고 다운샘플링되었으면, 가장 큰 2개의 피크 BPM1 및 BPM2가 포함되어 있는 한번에 대략 10 초의 윈도우들의 자기 상관을 사용하여 저레이트 스트림에서 우세 피크(dominant peak)의 검색이 수행된다. 테스트된 실시예에서 이 기술을 사용하여, BPM1 또는 BPM2가 1분 또는 그 이상 동안 대략 연속적인 경우 탐색되는 객체(이 경우, 노래)가 존재하는 것으로 결정된다. 의사 BPM 숫자(spurious BPM number)는 메디안 필터링(median filtering)을 사용하여 제거된다.
유의할 점은 이상의 기술에서 가능성있는 또는 가능한 탐색 객체의 식별은 특징들의 벡터 또는 정보 파라미터만을 사용하여 달성되었다는 것이다. 그러나, 다른 실시예에서, 발견된 객체에 관한 정보는 이 기본적인 검색을 수정하는 데 사용된다. 예를 들어, 오디오 스트림 예로 되돌아가서, 발견된 객체와 방송국 징글 사이의 4분의 간극은, 초기 검색에서 가능성있는 탐색된 객체로서 플래그되지 않았더라도, 가능성있는 탐색된 객체로서 데이터베이스에 부가될 아주 양호한 후보가 될 것이다.
3.1.2 객체 유사성 테스트:
전술한 바와 같이, 미디어 스트림의 2 부분이 거의 동일한지 여부의 결정은 미디어 스트림 내의 2 위치, 즉 각각 ti 및 tj에 있는 미디어 스트림의 2 이상의 부분의 비교를 수반한다. 유의할 점은 테스트된 실시예에서 비교될 윈도우 또는 세그먼트의 크기는 미디어 스트림 내의 예상된 미디어 객체보다 더 크게 선택된다는 것이다. 그 결과, 미디어 객체가 미디어 스트림 내에서 동일한 순서로 일관되게 재생되지 않는 한, 전체 세그먼트 또는 윈도우가 아니라 미디어 스트림의 비교된 섹션의 부분만이 실제로 일치할 것으로 예상될 수 있다.
한 실시예에서, 이 비교는 미디어 스트림 내의 임의의 일치를 식별하기 위해 미디어 스트림의 서로 다른 부분들을 직접 비교하는 것을 포함할 뿐이다. 유의할 점은 미디어 스트림 내의 전술한 소스 중 임의의 것으로부터의 노이즈의 존재로 인해 미디어 스트림의 임의의 2개의 반복 또는 중복 섹션이 정확하게 일치할 가능성이 없다는 것이다. 그러나, 이러한 신호가 중복이거나 반복 인스턴스인지 여부를 결정하기 위해 노이즈가 많은 신호를 비교하는 종래의 기술은 당업자에게 공지되어 있으며 여기에 보다 상세히 기술하지 않는다. 게다가, 이러한 직접 비교는 신호 또는 미디어 스트림을 특징지우기 위한 파라미터 정보를 먼저 계산할 필요없이 임의의 신호 유형에도 적용가능하다.
다른 실시예에서, 전술한 바와 같이, 이 비교는 미디어 스트림의 현재의 세그먼트 또는 윈도우에 대한 가능한 또는 잠재적인 일치를 식별하기 위해 미디어 스트림의 부분들에 대한 파라미터 정보를 먼저 비교하는 것을 수반한다.
미디어 스트림의 직접 비교이든 파라미터 정보의 비교이든지 간에, 미디어 스트림의 2 부분이 거의 동일한지 여부의 결정은 본질적으로 가능한 객체만의 기본적인 검출보다 더 신뢰성이 있다(섹션 3.1.1 참조). 환언하면, 이 결정은 미디어 스트림의 2개의 서로 다른 범위를 잘못하여 동일한 것으로 분류할 가능성이 상대적으로 더 적다. 따라서, 데이터베이스 내의 2개의 레코드 인스턴스가 유사한 것으로 결정되거나 미디어 스트림의 2개의 세그먼트 또는 윈도우가 충분히 유사한 것으로 결정되는 경우, 이것은 이들 레코드 또는 미디어 스트림의 부분이 실제로 반복 객체를 나타낸다는 확인으로서 간주된다.
이것이 중요한 이유는 가능한 객체를 찾아내기 위해 미디어 스트림이 먼저 검사되는 실시예들에서 가능한 객체의 간단한 검출은 신뢰성이 없을 수 있기 때문이다, 즉 객체로서 간주되지만 실제로는 그렇지 않은 엔트리가 데이터베이스에 만들어질 수 있기 때문이다. 따라서, 데이터베이스의 내용을 검사할 때, 단지 하나의 복사본이 발견된 레코드들은 아마도 탐색된 객체 또는 가능한 객체(즉, 노래, 징글, 광고, 비디오, 상업 광고 등)일 뿐이지만, 2개 이상의 복사본이 발견된 레코드들은 보다 높은 정도의 확실성을 갖는 탐색 객체로서 간주된다. 따라서, 객체의 제2 복사본 및 후속 복사본들의 발견은 미디어 스트림 내의 가능한 또는 가능성있는 객체를 단순히 검출하는 것의 신뢰성없음으로 인한 불확실성을 제거하는 것에 크게 도움이 된다.
예를 들어, 오디오 미디어 스트림을 사용하는 테스트된 실시예에서, 직접 비교를 수행하지 않고 파라미터 정보를 비교할 때, 오디오 스트림 내의 2개의 위치는 그 바크 대역(Bark band)들 중 하나 이상을 비교함으로써 비교된다. 위치 ti와 tj가 거의 동일하다는 추측을 테스트하기 위해, 각각의 위치에 중심을 둔 탐색 클래스의 평균 객체의 길이의 2 내지 5배의 구간에 대해 바크 스펙트럼(Bark spectra)이 계산된다. 이 시간은 단지 편의상 선택된 것이다. 다음에, 그 대역 중 하나 이상의 상호 상관이 계산되고, 피크의 검색이 수행된다. 피크가 이들 바크 스펙트럼이 실질적으로 동일함을 나타내기에 충분히 강한 경우, 그 스펙트럼이 도출된 오디오의 섹션들도 거의 동일한 것으로 추론된다.
게다가, 다른 테스트된 실시예에서, 단 하나의 바크 스펙트럼 대역이 아니라 몇개의 스펙트럼 대역을 가지고서 이러한 상호 상관 테스트를 수행하는 것은 비교의 안정성을 증가시킨다. 구체적으로 말하면, 다대역 상호 상관 비교(multi-band cross-correlation comparison)는, 객체 추출기가 아주 드물게는 동일한 것으로 잘못 나타낼 수 있긴 하지만, 2개의 위치 ti 및 tj가 거의 동일한 객체를 나타낼 때를 거의 항상 정확하게 식별할 수 있게 한다. 방송 오디오 스트림으로부터 캡처된 오디오 데이터의 테스트는 700Hz 내지 1200Hz 범위의 신호 정보를 포함하는 바크 스펙트럼 대역이 이 목적을 위해 특히 안정되고 신뢰성있음을 보여준다. 그러나, 유의할 점은 다른 주파수 대역에 걸친 상호 상관은 또한 오디오 미디어 스트림을 검사할 때 객체 추출기에 의해 성공적으로 사용될 수 있다는 것이다.
위치 ti 및 tj가 동일한 객체를 나타내는 것으로 결정되었으면, 바크 스펙트럼 대역의 상호 상관의 피크 위치들 간의 차이 및 대역들 중 하나의 자기 상관에 의하여 개별적인 객체의 정렬을 계산할 수 있게 한다. 따라서, ti처럼 노래 내의 동일한 위치에 대응하는 조정된 위치 tj'가 계산된다. 환언하면, 비교 및 정렬 계산은 둘다 ti 및 tj에 중심을 둔 오디오가 동일한 객체를 나타내지만 ti 및 tj'은 그 객체에서의 거의 동일한 위치를 나타냄을 보여준다. 즉, 예를 들어 ti가 6분짜리 객체의 2분이고 tj가 동일한 객체의 4분인 경우, 객체의 비교 및 정렬은 객체의 제2 인스턴스의 2분인 위치를 나타내는 tj'의 반환 뿐만 아니라 객체가 동일한 객체인지 여부의 결정을 가능하게 해준다.
직접 비교의 경우도 마찬가지이다. 예를 들어, 직접 비교의 경우에 있어서, 예를 들어 미디어 스트림의 서로 다른 부분들 사이의 상호 상관을 수행하는 것 등의 종래의 비교 기술이 미디어 스트림의 일치 영역을 식별하는 데에 사용된다. 이전의 예에서와 같이, 일반적인 개념은 단순히 위치 ti 및 tj에 각각 있는 미디어 스트림의 2개의 부분이 거의 동일한지 여부를 결정하는 것이다. 게다가, 직접 비교의 경우는 이전의 실시예보다 구현하기가 실제로 훨씬 더 쉬운데, 그 이유는 직접 비교가 미디어 의존적이지 않기 때문이다. 예를 들어, 전술한 바와 같이, 특정의 신호 또는 미디어 유형의 분석에 필요한 파라미터 정보는 특징지워지는 신호 또는 미디어 객체의 유형에 의존적이다. 그러나, 직접 비교 방법에서는, 이들 미디어 의존적인 특성이 비교를 위해 결정될 필요가 없다.
3.1.3 객체 데이터베이스:
전술한 바와 같이, 대체 실시예들에서, 객체 데이터베이스는 예를 들어 미디어 스트림 내의 미디어 객체 위치에 대한 포인터, 그 미디어 객체를 특징지우는 파라미터 정보, 이러한 객체를 기술하는 메타데이터, 객체 종단점 정보, 미디어 객체의 복사본, 및 개개의 미디어 객체가 저장되어 있는 파일 또는 다른 데이터베이스에 대한 포인터 중 임의의 것 또는 그 모두 등의 정보를 저장하는 데 사용된다. 게다가, 일 실시예에서, 이 객체 데이터베이스는 객체의 반복 인스턴스가 발견되었으면 그에 관한 통계적 정보를 저장한다. 유의할 점은 용어 "데이터베이스"가 여기에서 일반적 의미로 사용되고 있다는 것이다. 구체적으로는, 대체 실시예들에서, 여기에 기술되는 시스템 및 방법은 그 자신의 데이터베이스를 구축하거나, 오퍼레이팅 시스템의 파일 시스템을 사용하거나 또는 예를 들어 SQL 서버 또는 마이크로소프트 액세스 등의 상용 데이터베이스 패키지를 사용한다. 게다가, 전술한 바와 같이, 하나 이상의 데이터베이스가 대체 실시예들에서 전술한 정보 중 임의의 것 또는 그 모두를 저장하는 데 사용된다.
테스트된 실시예에서, 객체 데이터베이스는 초기에 비어 있다. 탐색 클래스의 미디어 객체가 미디어 스트림에 존재하는 것으로 결정되면, 객체 데이터베이스에 엔트리가 저장된다(예를 들어, 섹션 3.1.1 및 섹션 3.1.2 참조). 유의할 점은 다른 실시예에서 직접 비교를 수행할 때, 미디어 스트림 자체를 검색하기 전에, 객체 일치를 찾아내기 위해 객체 데이터베이스에 쿼리가 수행된다는 것이다. 이 실시예는 특정의 미디어 객체가 미디어 스트림에서 관측되었다면 그 특정의 미디어 객체가 그 미디어 스트림 내에서 반복할 가능성이 더 높다는 가정 하에서 동작한다. 따라서, 일치하는 미디어 객체를 찾아내기 위해 먼저 객체 데이터베이스에 쿼리를 행하는 것은 일치하는 미디어 객체를 식별하는 데 필요한 전체 시간 및 계산 비용을 감축시키는 데 도움이 된다. 이들 실시예에 대해서는 이하에서 보다 상세히 기술된다.
데이터베이스는 2가지 기본적인 기능을 수행한다. 첫째로, 데이터베이스는 미디어 객체 또는 특정한 특징 집합이나 파라미터 정보와 일치, 또는 부분적으로 일치하는 하나 이상의 객체가 객체 데이터베이스에 존재하는지를 결정하기 위한 쿼리에 응답한다. 이 쿼리에 응답하여, 객체 데이터베이스는 전술한 바와 같이 잠재적으로 일치하는 객체의 스트림 이름 및 위치의 리스트를 반환하거나, 또는 단순히 일치하는 미디어 객체의 이름 및 위치를 반환한다. 일 실시예에서, 특징 리스트와 일치하는 현재의 엔트리가 없는 경우, 객체 데이터베이스는 엔트리를 생성하고 스트림 이름과 위치를 새로운 가능성있는 또는 가능한 객체로서 부가한다.
유의할 점은, 일 실시예에서 객체 데이터베이스가 일치가능성이 있는 레코드를 반환할 때, 객체 데이터베이스는 가장 가능성이 높은 일치인 것으로 결정하는 순서대로 레코드를 제공한다는 것이다. 예를 들어, 이 확률은 가능한 객체와 잠재적인 일치 사이의 이전에 계산된 유사성 등의 파라미터에 기초할 수 있다. 다른 대안에서, 객체 데이터베이스에 이미 몇개의 복사본을 가지고 있는 레코드에 대해 더 높은 일치 확률이 반환될 수 있는데, 그 이유는 이러한 레코드가 객체 데이터베이스에 단지 하나의 복사본을 갖는 레코드보다 일치할 가능성이 더 높기 때문이다. 가장 가능성이 높은 객체 일치를 사용하여 전술한 객체 비교를 시작하는 것이 계산 시간을 감소시키면서 전체 시스템 성능을 향상시키는데, 그 이유는 이러한 일치가 일반적으로 더 적은 회수의 상세 비교로 식별되기 때문이다.
데이터베이스의 두번째 기본적인 기능은 객체 종단점의 결정을 포함한다. 구체적으로는, 객체 종단점을 결정하려고 시도할 때, 객체 데이터베이스는 이하의 섹션에서 기술하는 바와 같이 객체들이 정렬되고 비교될 수 있도록 스트림 이름과 그 스트림 내에서의 객체의 반복 복사본 또는 인스턴스 각각의 위치를 반환한다.
3.1.4 객체 종단점 결정:
시간의 경과에 따라 미디어 스트림이 처리될 때, 객체 데이터베이스는 자연히 객체, 반복 객체 및 스트림 내에서의 대략적인 객체 위치로 점차적으로 채워진다. 전술한 바와 같이, 가능한 객체의 2개 이상의 복사본 또는 인스턴스를 포함하는 데이터베이스 내의 레코드는 탐색 객체인 것으로 가정된다. 데이터베이스 내의 이러한 레코드의 수는 탐색 객체가 타겟 스트림에서 반복되는 빈도수 및 분석되는 스트림의 길이에 의존하는 속도로 증가하게 된다. 데이터베이스 내의 레코드가 탐색 객체 또는 단순히 분류 에러를 나타내는지에 관한 불확실성을 제거하는 것 이외에, 탐색 객체의 제2 복사본을 찾아내는 것은 스트림 내의 객체의 종단점을 결정하는 데 도움이 된다.
구체적으로는, 데이터베이스가 점차적으로 반복 미디어 객체로 채워짐에 따라, 그 미디어 객체의 종단점을 식별하기가 점점 더 쉬워지게 된다. 일반적으로, 미디어 객체의 종단점의 결정은 미디어 스트림 내에서 식별된 미디어 객체의 비교 및 정렬, 그에 뒤이은 특정의 미디어 객체의 여러가지 인스턴스들이 분기하는 곳의 결정에 의해 달성된다. 섹션 3.1.2에서 전술한 바와 같이, 가능한 객체들의 비교는, 동일한 객체가 미디어 스트림 내의 서로 다른 위치에 존재하는 것은 확인시켜 주지만, 그 자체로 그 객체들의 경계를 정의하지는 않는다. 그러나, 이들 경계는, 미디어 스트림 또는 미디어 스트림의 하위 차원 버전을 비교하고, 이어서 미디어 스트림의 그 부분들을 정렬하고, 미디어 스트림에서 후방 및 전방으로 추적하여 미디어 스트림이 분기하는 미디어 스트림 내의 지점들을 식별함으로써 결정가능하다.
예를 들어, 오디오 미디어 스트림의 경우, 데이터베이스 레코드에 객체의 N개의 인스턴스가 있다면, 그에 따라 오디오 스트림에 객체가 나타나는 위치가 N개 있다. 일반적으로, 방송 오디오 스트림의 직접 비교에서, 어떤 경우에는, 파형 데이터에 노이즈가 너무 많아서, 여러가지 복사본이 대략 일치하는 곳과 그 복사본이 분기하기 시작하는 곳의 신뢰성있는 표시를 산출하지 못하는 것으로 관찰되었다. 이러한 직접 비교에 있어서 스트림에 노이즈가 너무 많은 경우, 저차원 버전의 비교 또는 특정의 특성 정보의 비교는 만족할만한 결과를 제공하는 것으로 관찰되었다. 예를 들어, 노이즈가 많은 오디오 스트림의 경우, 바크 스펙트럼 표현 등의 특정의 주파수 또는 주파수 대역의 비교는 비교 및 정렬을 위해 잘 작용하는 것으로 관측되었다.
구체적으로는, 미디어 객체의 N개의 복사본 각각에 대해 오디오 스트림으로부터 미디어 객체를 추출하는 테스트된 실시예에서, 객체보다 비교적 긴 오디오 데이터의 윈도우로부터 하나 이상의 바크 스펙트럼 표현이 도출된다. 전술한 바와 같이, 2개 이상의 대표적인 바크 대역의 사용을 통해 보다 신뢰성있는 비교가 달성된다. 유의할 점은 오디오 스트림에 적용되는 객체 추출기의 실제 예에서, 700Hz 내지 1200Hz 범위의 정보를 나타내는 바크 대역이 오디오 객체의 비교에 특히 안정되고 유용한 것으로 밝혀졌다는 것이다. 명백하게도, 비교를 위해 선택된 주파수 대역은 오디오 스트림 내의 음악, 음성 또는 다른 오디오 객체의 유형에 맞춰 조정되어야만 한다. 일 실시예에서, 선택된 대역의 필터링된 버전은 안정성(robustness)을 더욱 향상시키는 데 사용된다.
이 예의 경우, 선택된 바크 스펙트럼이 모든 복사본에 대해 거의 동일한 한, 기초를 이루는 오디오 데이터도 거의 동일한 것으로 가정된다. 역으로, 선택된 바크 스펙트럼이 모든 복사본에 대해 충분히 서로 다른 경우, 기초를 이루는 오디오 데이터가 더 이상 문제의 객체에 속하지 않는 것으로 가정된다. 이와 같이, 분기가 일어나는 위치를 결정하여 객체의 경계를 결정하기 위해, 선택된 바크 스펙트럼은 스트림 내에서 후방 및 전방으로 추적된다.
구체적으로는, 일 실시예에서, 데이터베이스 내의 객체들의 저차원 버전은 바크 스펙트럼 분해(임계 대역(critical band)이라고도 함)를 사용하여 계산된다. 이 분해는 당업자라면 잘 알고 있는 것이다. 이것은 신호를 다수의 서로 다른 대역으로 분해한다. 그 대역들은 좁은 주파수 범위를 점유하기 때문에, 개개의 대역은 그 대역이 나타내는 신호보다 훨씬 더 낮은 레이트로 샘플링될 수 있다. 따라서, 객체 데이터베이스 내의 객체들에 대해 계산된 특성 정보는 이들 대역 중 하나 이상의 샘플링된 버전으로 이루어질 수 있다. 예를 들어, 일 실시예에서, 특성 정보는 840 Hz에 중심을 둔 바크 대역 7의 샘플링된 버전으로 이루어진다.
다른 실시예에서, 오디오 미디어 스트림의 타겟 부분이 데이터베이스 내의 요소와 일치하는 것으로 결정하는 것은 데이터베이스 객체의 저차원 버전과 오디오 스트림의 타겟 부분의 저차원 버전의 상호 상관을 계산함으로써 행해진다. 상호 상관에서의 피크는 일반적으로 2개의 파형이 그 길이의 적어도 일부분에 대해 거의 같다는 것을 암시한다. 당업자라면 잘 알고 있는 바와 같이, 의사 피크를 채택하는 것을 피하는 몇가지 기술이 있다. 예를 들어, 상호 상관의 특정의 국부 최대값이 후보 피크인 경우, 그 피크에서의 값이 그 피크를 둘러싸는 값들(피크를 꼭 포함할 필요는 없음)의 윈도우에서의 평균보다 높은 표준 편차의 임계수 이상이어야만 한다.
또다른 실시예에서, 발견된 객체의 범위 또는 종단점은 반복 객체의 2개 이상의 복사본을 정렬함으로써 결정된다. 예를 들어, 일치가 (상호 상관에서 피크를 검출함으로써) 발견되었으면, 오디오 스트림의 타겟 부분의 저차원 버전 및 스트림의 다른 섹션이나 데이터베이스 엔트리의 저차원 버전이 정렬된다. 그들이 오정렬되는 정도는 상호 상관 피크의 위치에 의해 결정된다. 다음으로, 저차원 버전 중 하나는 그들의 값이 대략 일치하도록 정규화된다. 즉, 오디오 스트림의 타겟 부분이 S이고 (스트림의 다른 섹션 또는 데이터베이스로부터의) 일치 부분이 G이며, 상호 상관으로부터 GS가 o의 옵셋으로 일치하는 것으로 결정된 경우, t가 오디오 스트림 내의 시간상 위치라고 하면, S(t)는 G(t+o)와 비교된다. 그러나, S(t)가 G(t+o)와 거의 같게 되기 전에 정규화가 필요할 수 있다. 그 다음에, 객체의 시작점은, t>tb의 경우, S(t)가 G(t+o)와 거의 같게 하는 가장 작은 tb를 찾아냄으로써 결정된다. 이와 마찬가지로, 객체의 종단점은, t<te의 경우, S(t)가 G(t+o)와 거의 같도록 가장 큰 te를 찾아냄으로써 결정된다. 이것이 일단 행해지면, S(t)는 tb<t<te의 경우 G(t+o)와 거의 같고 tb와 te는 객체의 대략적인 종단점으로서 간주될 수 있다. 소정의 경우에는, 종단점을 결정하기 전에 저차원 버전을 필터링하는 것이 필요할 수 있다.
일 실시예에서, t>tb인 경우 S(t)가 G(t+o)와 거의 같은 것으로 결정하는 것은 이분법(bisection method)에 의해 행해진다. t1 < t0라 할 때, S(t 0)와 G(t0+o)가 거의 같은 위치 t0와, S(t1)와 G(t1+o)가 같지 않은 위치 t1가 발견된다. 이어서, 객체의 시작은 이분법 알고리즘에 의해 결정된 t의 여러가지 값에 대해 S(t)와 G(t+o)의 작은 섹션들을 비교함으로써 결정된다. 객체의 끝은 먼저 S(t0)와 G(t0+o)가 거의 같은 t0를 찾아내고, S(t2)와 G(t 2+o)(단, t2 > t0임)가 같지 않은 t1를 찾아냄으로써 결정된다. 마지막으로, 객체의 종단점은 이분법 알고리즘에 의해 결정된 t의 여러가지 값에 대해 S(t)와 G(t+o)의 섹션들을 비교함으로써 결정된다.
또다른 실시예에서, t>tb인 경우 S(t)가 G(t+o)와 거의 같은 것으로 결정하는 것은, S(t0)와 G(t0+o)가 거의 같은 t0를 찾은 후, S(t)와 G(t+o)가 더 이상 거의 같지 않게 될 때까지 t0부터 t를 감소시킴으로써 행해진다. S(t)와 G(t+o)의 절대차가 t의 단일 값에서 소정의 임계값을 초과할 때 S(t)와 G(t+o)이 더 이상 거의 같지 않은 것으로 결정하는 것보다는, 그 절대차가 소정의 최소 범위의 값들에 대해 소정의 임계값을 초과할 때 또는 누적된 절대차가 소정의 임계값을 초과할 때 그러한 결정을 하는 것이, 일반적으로 보다 안정하다. 이와 마찬가지로, 종단점은 S(t)와 G(t+o)가 더 이상 거의 같지 않을 때까지 t0로부터 t를 증가시킴으로써 결정된다.
동작을 설명하면, 라디오 또는 TV 방송국으로부터의 방송 오디오 등의 객체의 몇가지 인스턴스 중에서 그 객체의 모두가 정확하게 동일한 길이를 갖는 것이 통상적이지 않음이 관찰되었다. 예를 들어, 6분 객체의 경우, 그 객체는 때로는 시작에서 끝까지 전부 재생될 수 있고, 때로는 시작 및/또는 끝에서 단축될 수 있으며, 때로는 소개하는 해설자 목소리나 전후의 객체의 페이드-아웃 또는 페이드-인에 의해 오염될 수 있다.
반복 객체의 길이에 있어서 이러한 있을 수 있는 불일치의 경우, 각각의 복사본이 그의 상대 복사본(companion copy)으로부터 분기하는 지점을 결정하는 것이 필요하다. 전술한 바와 같이, 일 실시예에서, 오디오 스트림 경우에 이것은 각각의 복사본의 선택된 바크 대역들을 모든 복사본의 선택된 바크 대역의 중앙값(median)에 대해 비교함으로써 달성된다. 시간상 후방으로 이동하면서 한 복사본이 충분히 긴 구간 동안 그 중앙값으로부터 분기하는 경우, 객체의 이 인스턴스가 그곳에서 시작하는 것으로 결정된다. 이어서 그 복사본은 중앙값의 계산으로부터 제외되며, 객체 복사본들 내에서 시간상 계속하여 후방으로 이동함으로써, 그 다음 복사본이 분기하는 지점에 대한 검색이 수행된다. 이와 같이, 궁극적으로 단지 2개의 복사본만이 남아 있는 시점에 도달된다. 이와 마찬가지로, 시간상 전방으로 이동하면서, 단지 2개의 복사본만이 남아 있는 시점에 도달하도록 각각의 복사본이 중앙값으로부터 분기하는 시점이 결정된다.
객체의 인스턴스의 종단점을 결정하는 한가지 간단한 방법은 인스턴스들 중에서 우측 종단점 및 좌측 종단점이 가장 큰 것을 단순히 선택하는 것이다. 이것은 객체의 대표적인 복사본으로서 기능할 수 있다. 그러나, 객체의 일부인 노래의 2개의 서로 다른 인스턴스 이전에 오는 방송국 징글을 포함하지 않도록 주의하는 것이 필요하다. 명백하게도, N개의 발견된 복사본으로부터 대표적인 복사본을 추출하는 보다 복잡한 알고리즘이 이용될 수 있으며, 전술한 방법들은 단지 예시 및 설명을 위한 것이다. 이어서, 식별된 최상의 인스턴스는 다른 모든 것의 대표로서 사용될 수 있다.
관련 실시예에서, 스트림의 타겟 세그먼트와 스트림의 다른 세그먼트 사이의 일치가 발견되었고 분할이 수행되었으면, 스트림의 나머지에서 객체의 다른 인스턴스에 대한 검색이 계속된다. 테스트된 실시예에서, 스트림의 타겟 세그먼트를, 분할된 객체 모두를 포함하고 그 외의 곳에서는 0인 세그먼트로 대체하는 것이 유리한 것으로 판명되었다. 이것은 스트림의 나머지 부분들에서 일치를 탐색할 때 의사 피크의 확률을 감소시킨다. 예를 들어, ti 및 tj에서의 세그먼트가 일치하는 것으로 결정된 경우, 객체의 종단점 중 한쪽 또는 다른쪽이 ti 및 tj에 중심을 둔 세그먼트 외부에 있을 수 있고, 그 세그먼트들은 객체의 일부가 아닌 데이터를 포함할 수 있다. 전체 객체만 포함하는 세그먼트에 대해 비교하는 것은 후속하는 일치 결정의 신뢰성을 향상시킨다.
유의할 점은 노래 등의 오디오 객체 이외의 미디어 객체의 비교 및 정렬이 아주 유사한 방식으로 수행된다는 것이다. 구체적으로는, 미디어 스트림은 노이즈가 많지 않은 경우에 직접 비교되거나, 또는 미디어 스트림의 저차원 버전 또는 필터링된 버전이 직접 비교된다. 일치하는 것으로 밝혀진 미디어 스트림의 세그먼트들은 이어서 전술한 바와 같이 종단점 결정을 위해 정렬된다.
다른 실시예들에서, 여러가지 계산 효율 문제가 해소된다. 구체적으로는, 오디오 스트림의 경우, 섹션 3.1.1, 3.1.2, 및 3.1.4에 전술한 기술들 모두는 바크 스펙트럼 등의 오디오의 주파수 선택적 표현을 사용한다. 이것을 매회 재계산하는 것이 가능하긴 하지만, 섹션 3.1.1에서 기술한 바와 같이 스트림이 먼저 처리될 때 주파수 표현을 계산한 후, 선택된 바크 대역의 상대 스트림을 객체 데이터베이스 등에 저장하여 나중에 사용하도록 하는 것이 보다 효율적이다. 일반적으로, 바크 대역이 원본 오디오 레이트보다 훨씬 낮은 레이트로 샘플링되기 때문에, 이것은 일반적으로 아주 적은 양의 저장으로도 효율을 크게 개선할 수 있게 한다. 텔레비전 방송 등의 오디오/비디오 유형 미디어 스트림에 내장된 비디오 또는 이미지 유형 미디어 객체의 경우에 유사한 처리가 행해진다.
또한, 전술한 바와 같이, 일 실시예에서, 미디어 스트림 내의 미디어 객체 식별 속도는 미디어 스트림의 이전에 식별된 부분의 검색을 제한함으로써 극적으로 증가된다. 예를 들어, tj에 중심을 둔 스트림의 세그먼트가 검색의 이전 부분으로부터 이미 하나 이상의 객체를 포함하는 것으로 결정된 경우, 그것은 차후의 검사로부터 배제될 수 있다. 예를 들어, 평균 탐색 객체 길이의 2배의 길이를 갖는 세그먼트에 대해 검색이 행해지고 2개의 객체가 이미 세그먼트에서 tj에 위치하고 있는 경우, 명백하게도 또하나의 객체가 그곳에 위치하고 있을 가능성이 없으며, 이 세그먼트를 그 검색으로부터 배제한다.
다른 실시예에서, 미디어 스트림에서의 미디어 객체 식별 속도는 미디어 스트림을 검색하기에 앞서 이전에 식별된 미디어 객체의 데이터베이스에 먼저 쿼리를 행함으로써 증가된다. 게다가, 관련 실시예에서, 미디어 객체의 하나 이상의 인스턴스를 고려하기에 충분한 기간에 대응하는 세그먼트에서 미디어 스트림이 분석되고, 이어서 데이터베이스 쿼리가 있게 되며 그 다음에 필요한 경우 미디어 스트림의 검색이 있게 된다. 이들 대체 실시예의 각각의 동작에 대해서는 이하의 섹션들에서 보다 상세히 기술된다.
게다가, 관련 실시예에서, 미디어 스트림은 먼저 스트림 내의 적어도 가장 흔한 반복 객체들의 반복을 포함하기에 충분히 큰 스트림의 한 부분을 분석함으로써 분석된다. 스트림의 이 제1 부분 상에 반복하는 객체들의 데이터베이스가 유지된다. 이어서, 스트림의 나머지 부분은, 세그먼트들이 데이터베이스 내의 임의의 객체와 일치하는지를 먼저 결정하고 이어서 스트림의 나머지에 대해 차후에 검사함으로써 분석된다.
3.2 시스템 동작:
전술한 바와 같이, 도 2를 참조하여 섹션 2.0에 기술된 프로그램 모듈은, 섹션 3.1에 제공된 보다 상세한 설명을 고려할 때, 미디어 스트림 내의 반복 객체를 자동적으로 식별하고 분할하는 데 사용된다. 이 프로세스는 객체 추출기의 대체 실시예를 나타내는 도 3a, 도 3b, 도 3c, 도 4 및 도 5의 흐름도에 도시되어 있다. 유의할 점은 도 3a, 도 3b, 도 3c, 도 4 및 도 5에서 파선 또는 점선으로 나타내어진 박스들 및 박스들 사이의 상호 연결은 객체 추출기의 또다른 대체 실시예를 나타내고, 이하에 기술되는 바와 같이 이들 대체 실시예 중 임의의 것 또는 그 모두는 조합하여 사용될 수 있다는 것이다.
3.2.1 기본적인 시스템 동작:
이제부터 도 2와 연계하여 도 3a 내지 도 5를 참조하면, 일 실시예에서 프로세스는 일반적으로 미디어 스트림(210)으로부터 미디어 객체를 찾아내고 식별하며 분할하는 객체 추출기로서 기술될 수 있다. 일반적으로, 미디어 스트림의 제1 부분 또는 세그먼트 ti가 선택된다. 이어서, 이 세그먼트 ti는 스트림의 끝에 도달될 때까지 미디어 스트림 내의 후속하는 세그먼트들 tj와 순차적으로 비교된다. 그 시점에서, 이전의 ti에 후속하는 미디어 스트림의 새로운 ti 세그먼트가 선택되고, 다시 스트림의 끝에 도달될 때까지 미디어 스트림 내의 후속하는 세그먼트 tj와 비교된다. 이들 단계는 미디어 스트림 내에서 반복 미디어 객체를 찾아내고 식별하기 위해 전체 스트림이 분석될 때까지 반복된다. 또한, 도 3a, 도 3b, 도 3c, 도 4 및 도 5를 참조하여 이하에 기술하는 바와 같이, 미디어 스트림 내에서 반복 객체의 검색을 구현하고 가속시키기 위한 다수의 대체 실시예가 있다.
구체적으로, 도 3a에 도시한 바와 같이, 오디오 및/또는 비디오 정보를 포함하는 미디어 스트림(210)에서 반복 객체를 자동적으로 식별하고 분할하는 시스템 및 방법은 스트림 내의 위치 ti 및 tj에 있는 미디어 스트림의 세그먼트가 동일한 객체를 나타내는지 여부를 결정하는 단계(310)로 시작한다. 전술한 바와 같이, 비교를 위해 선택된 세그먼트들은 미디어 스트림의 끝에서 시작하여 선택될 수 있거나 랜덤하게 선택될 수 있다. 그러나, 단순히 미디어 스트림의 처음에서 시작하여 시각 ti=t0에 있는 최초 세그먼트를 선택하는 것이, 비교를 위해 tj=t 1에서 시작하는 미디어 스트림의 세그먼트들을 순차적으로 선택할 때 효율적인 대안인 것으로 밝혀졌다.
어느 경우든지, 이 결정(단계 310)은 위치 ti 및 tj에 있는 미디어 스트림의 세그먼트들을 단순히 비교함으로써 행해진다. 2개의 세그먼트 ti 및 tj가 동일한 미디어 객체를 나타내는 것으로 결정된 경우(단계 310), 객체의 종단점은 전술한 바와 같이 자동적으로 결정된다(단계 360). 종단점이 발견되었으면(단계 360), 시각 ti 근방에 위치하는 미디어 객체에 대한 종단점 및 시각 tj 근방에 위치하는 일치 객체가 객체 데이터베이스(230)에 저장되거나(단계 370), 미디어 객체 자체 또는 그 미디어 객체에 대한 포인터가 객체 데이터베이스에 저장된다. 다시 말하면, 유의할 점은 전술한 바와 같이 비교될 미디어 스트림의 세그먼트들의 크기가 미디어 스트림 내의 예상된 미디어 객체보다 더 크게 선택된다는 것이다. 따라서, 미디어 객체들이 일관되게 미디어 스트림 내에서 동일한 순서로 재생되지 않는 한, 전체 세그먼트가 아니라 미디어 스트림의 비교된 세그먼트들의 부분만이 실제로 일치할 것으로 예상된다.
위치 ti 및 tj에 있는 미디어 스트림의 2개의 세그먼트가 동일한 미디어 객체를 나타내지 않는 것으로 결정되는 경우(단계 310), 미디어 스트림의 선택되지 않은 세그먼트가 더 있으면(단계 320), 위치 tj+1에 있는 미디어 스트림의 새로운 또는 후속 세그먼트(330)가 새로운 tj로서 선택된다. 이어서, 2개의 세그먼트가 전술한 바와 같이 동일한 미디어 객체를 나타내는지 여부를 결정(단계 310)하기 위해, 미디어 스트림의 이 새로운 tj 세그먼트는 기존의 세그먼트 ti와 비교된다. 마찬가지로, 세그먼트가 동일한 미디어 객체를 나타내는 것으로 결정되는 경우(단계 310), 객체의 종단점은 자동적으로 결정되고(단계 360), 정보는 전술한 바와 같이 객체 데이터베이스(230)에 저장된다(단계 370).
역으로, 위치 ti 및 tj에 있는 미디어 스트림의 2개의 세그먼트가 동일한 미디어 객체를 나타내지 않는 것으로 결정되고(단계 310), 또 (전체 미디어 스트림이 ti로 나타내어진 미디어 스트림의 세그먼트와의 비교를 위해 이미 선택되었기 때문에) 미디어 스트림의 선택되지 않은 세그먼트가 더 이상 없는 것으로 결정된 경우(단계 320), 미디어 스트림의 끝이 아직 도달되지 않았고 세그먼트 ti가 더 있는 경우(단계 340), 위치 ti+1에 있는 미디어 스트림의 새로운 또는 후속 세그먼트(350)가 새로운 ti로서 선택된다. 미디어 스트림의 이 새로운 ti 세그먼트는 이어서 2개의 세그먼트가 전술한 바와 같이 동일한 미디어 객체를 나타내는지 여부를 결정하기 위해 그 다음 세그먼트 tj와 비교된다. 예를 들어, 시각 t0에 있는 세그먼트 t i와 시각 t1에 있는 세그먼트 tj에서 시작하여 첫번째 비교가 행해진 것으로 가정하면, 두번째 비교는 시각 t2에 있는 새로운 ti가 선택되는 시점인 미디어 스트림의 끝에 도달될 때까지, 시각 t1에 있는 ti+1를 시각 t2에 있는 tj+1 와 비교하고, 이어서 시각 t3, 이하 마찬가지로 비교함으로써 시작하게 된다. 다시 말하면, 세그먼트가 동일한 미디어 객체를 나타내는 것으로 결정되는 경우(단계 310), 객체의 종단점은 자동적으로 결정되고(단계 360), 정보는 전술한 바와 같이 객체 데이터베이스(230)에 저장된다(단계 370).
관련 실시예에서, 또한 도 3a에 도시한 바와 같이, 세그먼트를 스트림 내의 다른 객체들과 비교하기에 앞서 그 세그먼트가 탐색되는 유형의 객체를 포함할 확률을 결정하기 위해 모든 세그먼트가 먼저 검사된다. 확률이 미리 정해진 임계값보다 높은 것으로 간주되는 경우, 비교가 진행된다. 그러나, 확률이 임계값 이하인 경우, 그 세그먼트는 효율성을 위해 건너뛸 수 있다.
상세하게는, 이 대체 실시예에서, 새로운 tj 또는 ti가 선택될 때마다(각각 단계 330 또는 단계 350), 그 다음 단계는 특정의 tj 또는 ti가 가능한 객체를 나타내는지를 결정하는 것이다(각각 단계 335 또는 단계 355). 전술한 바와 같이, 미디어 스트림의 특정의 세그먼트가 가능한 객체를 나타내는지 여부를 결정하는 절차는, 미디어 스트림의 서로 다른 측면을 목표로 하는 일단의 객체 의존적인 알고리즘을 이용하여 미디어 스트림 내에서 가능한 객체를 식별하는 것을 포함한다. 특정의 세그먼트 tj 또는 ti가 가능한 객체를 나타내는 것으로 결정되는 경우(단계 335 또는 단계 355), ti와 tj 간의 전술한 비교(310)가 전술한 바와 같이 진행된다. 그러나, 특정의 세그먼트 tj 또는 ti가 가능한 객체를 나타내지 않는 것으로 결정되는 경우(단계 335 또는 단계 355), 새로운 세그먼트가 전술한 바와 같이 선택된다(단계 320/330 또는 단계 340/350). 이 실시예는 미디어 객체가 미디어 스트림의 현재의 세그먼트에 아마도 존재할 확률을 결정하는 것에 비해 비교적 계산 비용이 많이 드는 비교를 피한다는 점에서 유리하다.
어느 실시예든지 간에, 전술한 단계들은 미디어 스트림의 모든 세그먼트가 미디어 스트림 내의 반복하는 미디어 객체를 식별하기 위해 미디어 스트림의 다른 모든 후속 세그먼트에 대해 비교될 때까지 반복된다.
도 3b는 관련 실시예를 나타낸 것이다. 일반적으로, 도 3b에 나타낸 실시예들은 미디어 스트림 전체를 통할 때까지 반복 객체의 종단점의 결정이 지연된다는 점에서 도 3a에 나타낸 실시예들과 다르다.
구체적으로는, 전술한 바와 같이, 프로세스는 스트림의 끝에 도달될 때까지 미디어 스트림(210)의 세그먼트 ti를 미디어스트림 내의 후속하는 세그먼트 tj들과 순차적으로 비교함으로써 동작한다. 다시 말하면, 그 시점에서, 이전의 ti에 후속하여 미디어 스트림의 새로운 ti 세그먼트가 선택되고 다시 스트림의 끝에 도달될 때까지 미디어 스트림 내의 후속하는 세그먼트 tj들과 비교된다. 이들 단계는 미디어 스트림 내의 반복 미디어 객체를 찾아내고 식별하기 위해 전체 스트림이 분석될 때까지 반복된다.
그러나, 도 3a와 관련하여 기술된 실시예들에서는, ti와 tj 사이의 비교(단계 310)가 일치를 나타내자마자, 일치하는 객체의 종단점이 결정되어(단계 360) 객체 데이터베이스(230)에 저장되었다(단계 370). 이와 반대로, 도 3b에 도시된 실시예에서는, 0으로 초기화된 객체 카운터(315)는 ti와 tj 사이의 비교(단계 310)가 일치를 나타낼 때마다 증분된다. 이 때, 일치하는 객체들의 종단점을 결정하는 대신에, 그 다음 tj가 비교(단계 320/330/335)를 위해 선택되고 다시 현재의 tj와 비교된다. 이것은 전체 스트림이 분석될 때까지 미디어 스트림 내의 모든 tj 세그먼트에 대해 반복되며, 그 시점에서 일치하는 객체의 카운트가 0보다 크면(단계 325), 현재의 세그먼트 ti와 일치하는 객체를 나타내는 모든 세그먼트 tj에 대해 종단점이 결정된다(단계 360). 그 다음에, 객체 종단점 또는 객체 그 자체는 전술한 바와 같이 객체 데이터베이스(230)에 저장된다(단계 370).
이 시점에서, 그 다음 세그먼트 ti가 전술한 바와 같이 후속하는 ti 세그먼트와의 또다른 비교(단계 310)를 위해 선택된다(단계 340/350/355). 이어서, 전술한 단계들은 미디어 스트림 내의 반복하는 미디어 객체를 식별하기 위해 미디어 스트림의 모든 세그먼트가 미디어 스트림의 모든 다른 후속 세그먼트에 대해 비교될 때까지 반복된다.
그러나, 이 섹션에 기술된 실시예들이 미디어 스트림 내의 반복하는 객체를 식별하는 데 도움이 되는 반면, 많은 수의 불필요한 비교가 여전히 행해진다. 예를 들어, 주어진 객체가 이미 미디어 스트림 내에서 식별된 경우에도, 그 객체가 미디어 스트림 내에 반복될 가능성이 있다. 그 결과, 세그먼트 ti와 ti를 비교(단계 310)하기 이전에 현재의 세그먼트 ti를 데이터베이스 내의 객체들 각각과 먼저 비교하는 것은 대체 실시예들에서 특정의 미디어 스트림을 완전히 분석하기 위해 필요한 비교적 계산 비용이 많이 드는 비교들 중 일부를 감소시키거나 제거하기 위해 사용된다. 따라서, 이하의 섹션에서 기술하는 바와 같이, 데이터베이스(230)는 미디어 스트림(210)의 각 세그먼트 ti가 선택될 때 최초 비교를 위해 사용된다.
3.2.2 최초 데이터베이스 비교에서의 시스템 동작:
다른 관련 실시예에서, 도 3c에 도시되어 있는 바와 같이, 미디어 스트림(210) 내의 세그먼트들 간의 비교(단계 310)의 횟수는 이전에 식별된 미디어 객체(230)의 데이터베이스에 먼저 쿼리를 행함으로써 감소된다. 구체적으로는, 도 3c에 도시된 실시예들은 미디어 스트림(210)의 각 세그먼트 ti가 선택된 후에 현재의 세그먼트가 데이터베이스 내의 객체와 일치하는지 여부를 결정하기 위해 그 세그먼트가 먼저 객체 데이터베이스(230)와 비교된다는 점에서 도 3a에 도시된 실시예들과 다르다. 현재의 세그먼트와 데이터베이스(230) 내의 객체 사이에 일치가 식별되는 경우(단계 305), 현재의 세그먼트 ti에 의해 나타내어진 객체의 종단점이 결정된다(단계 360). 그 다음에, 전술한 바와 같이, 객체 종단점이나 객체 자체가 객체 데이터베이스(230)에 저장된다(단계 370). 그 결과, 일치하는 객체를 찾아내기 위해 객체 데이터베이스(230)에 단순히 쿼리를 행함으로써, 미디어 스트림의 전체에 대한 검색없이도 현재의 세그먼트 ti가 식별된다.
그 다음에, 일 실시예에서, 객체 데이터베이스(230)에서 일치가 식별되지 않은 경우(단계 305), 현재의 세그먼트 ti를 후속하는 세그먼트 tj와 비교하는 프로세스(단계 320/330/335)는 전술한 바와 같이 스트림의 끝에 도달될 때까지 진행되고, 그 시점에서 그 프로세스를 다시 시작하기 위해 새로운 세그먼트 ti가 선택된다(단계 340/350/355). 반대로, 현재의 세그먼트 ti에 대해 객체 데이터베이스(230) 내에서 일치가 식별되는 경우(단계 305), 전술한 바와 같이 종단점이 결정되고(단계 360) 저장되며(단계 370), 그에 뒤이어서 그 프로세스를 다시 시작하기 위해 새로운 ti의 선택(단계 340/350/355)이 있게 된다. 이어서, 이들 단계는 세그먼트들이 반복하는 객체를 나타내는지 여부를 결정하기 위해 미디어 스트림(210) 내의 모든 세그먼트 ti가 분석될 때까지 반복된다.
다른 관련 실시예들에서, 최초 데이터베이스 쿼리(305)는 데이터베이스가 식별된 객체들로 적어도 부분적으로 채워지는 때까지 지연된다. 예를 들어, 특정의 미디어 스트림이 긴 기간 동안 레코딩되거나 다른 방식으로 캡처되는 경우, 미디어 스트림의 일부분의 최초 분석은 도 3a 또는 도 3b를 참조하여 전술한 바와 같이 수행되고, 그에 뒤이어서 최초 데이터베이스 쿼리를 수반하는 전술한 실시예가 따라오게 된다. 이 실시예는 객체들이 미디어 스트림 내에서 빈번하게 반복되는 환경에서 잘 동작하는데, 그 이유는 데이터베이스의 초기 채움이 반복 객체를 식별하기 위한 비교적 양호한 데이터 세트를 제공하는 역할을 하기 때문이다. 또한 유의할 점은 데이터베이스(230)가 점점 채워져감에 따라, 미디어 스트림 내에 내장된 반복하는 객체가 미디어 스트림 내의 일치들에 대한 전체적인 검색보다는 오히려 데이터베이스 쿼리만으로 식별될 수 있는 가능성이 더 높아지게 된다.
또다른 관련 실시예에서, 기지의 객체들로 미리 채워져 있는 데이터베이스(230)는 미디어 스트림 내의 반복하는 객체를 식별하는 데 사용된다. 이 데이터베이스(230)는 전술한 실시예들 중 임의의 것을 사용하여 준비될 수 있거나 다른 종래의 소스로부터 가져오거나 그에 의해 제공될 수 있다.
그러나, 이 섹션에 기술된 실시예들이 특정의 미디어 스트림을 완전히 분석하기 위해 수행되는 비교의 횟수를 감소시키는 것으로 나타나고 있지만, 많은 수의 불필요한 비교가 여전히 행해진다. 예를 들어, 시각 ti 또는 tj에서의 미디어 스트림의 주어진 세그먼트가 이미 특정의 미디어 객체에 속하는 것으로 식별된 경우, 이미 식별된 세그먼트를 다른 세그먼트들에 재비교하는 것은 아무런 실질적인 유용성이 없다. 그 결과, 이하의 섹션에 기술되는 바와 같이, 미디어 스트림의 어느 부분들이 이미 식별되었는지에 관한 정보가 사용되어, 일치하는 섹션들에 대한 검색을 아직 식별되지 않은 미디어 스트림의 그 섹션들로 제한함으로써 검색 시간을 급격히 감소시킨다.
3.2.3 점진적인 스트림 검색 제한을 갖는 시스템 동작:
이제 도 2와 연계하여 도 4를 참조하면, 일 실시예에서, 프로세스는 일반적으로 미디어 스트림의 이전에 식별된 부분들이 재차 검색되지 않도록 그들에 플래그를 붙이면서 미디어 스트림으로부터 미디어 객체를 찾아내고 식별하며 분할하는 객체 추출기로서 기술될 수 있다.
상세하게는, 도 4에 도시한 바와 같이, 미디어 스트림에서 반복하는 객체를 자동적으로 식별하고 분할하는 시스템 및 방법은 오디오 및/또는 비디오 정보를 포함하는 미디어 스트림(210)의 제1 윈도우 또는 세그먼트를 선택하는 단계(400)로 시작한다. 그 다음에, 일 실시예에서, 미디어 스트림은 이어서 선택된 세그먼트 또는 윈도우(단계 400)의 부분과 일치하는 부분들을 갖는 미디어 스트림의 모든 윈도우 또는 세그먼트를 식별하기 위해 검색된다(단계 410). 유의할 점은 관련 실시예에서 이하에 보다 상세히 기술되는 바와 같이, 일치하는 세그먼트들을 찾기 위해 전체 미디어 스트림이 검색되는 것(단계 410)이 아니라, 미디어 객체의 하나 이상의 반복 인스턴스를 고려하기에 충분한 기간에 걸친 세그먼트들에서 미디어 스트림이 분석된다. 예를 들어, 미디어 스트림이 1주일간 레코딩된 경우, 미디어 스트림의 제1 검색을 위한 기간은 하루일 수 있다. 다시 말하면, 이 실시예에서 미디어 스트림이 검색되는 기간은 단순히 미디어 객체의 하나 이상의 반복 인스턴스를 고려하기에 충분한 기간이다.
어느 경우든지, 미디어 스트림의 전부 또는 일부가 선택된 윈도우 또는 세그먼트(400)의 부분에 일치하는(단계 420) 미디어 스트림의 모든 부분을 식별하기 위해 검색되었으면, 일치하는 부분이 정렬되고(단계 430), 이 정렬은 이어서 전술한 바와 같이 객체 종단점을 결정(단계 440)하는 데 사용된다. 종단점이 결정되었으면(단계 440), 일치하는 미디어 객체에 대한 종단점이 객체 데이터베이스(230)에 저장되거나, 미디어 객체 자체 또는 그 미디어 객체에 대한 포인터가 객체 데이터베이스에 저장된다.
게다가, 일 실시예에서, 이미 식별되었던 미디어 스트림의 부분들은 플래그가 붙여지고 다시 검색되지 못하도록 제한된다(단계 460). 이 특정의 실시예는 반복 객체가 식별됨에 따라 미디어 스트림의 이용가능한 검색 영역을 급격히 감소시키는 데 도움이 된다. 다시 말하면, 유의할 점은 전술한 바와 같이 비교될 미디어 스트림의 세그먼트의 크기는 미디어 스트림 내의 예상된 미디어 객체보다 더 크게 선택된다는 것이다. 그 결과, 미디어 객체가 미디어 스트림 내에서 동일한 순서로 일관되게 재생되지 않는 한 전체 세그먼트가 아니라 미디어 스트림의 비교된 세그먼트의 부분만이 실제로 일치할 것으로 예상된다.
따라서, 일 실시예에서, 실제로 식별된 미디어 스트림의 각 세그먼트의 부분들만이 플래그가 붙여진다(단계 460). 그러나, 미디어 객체가 빈번하게 반복되는 것으로 드러난 미디어 스트림에서, 단순히 전체 세그먼트가 추가 검색되는 것을 제한하는 것이, 여전히 미디어 스트림 내의 반복하는 객체의 대부분이 식별될 수 있게 하는 것으로 관측되었다. 다른 관련 실시예에서, 특정의 세그먼트의 무시할 수 있는 부분만이 식별되지 않은 채로 있는 경우, 그 무시할 수 있는 부분들은 간단히 무시된다. 또다른 관련 실시예에서, 세그먼트의 부분들을 추가의 검색(460)을 하지 않도록 제한한 후에 남아 있는 부분적 세그먼트는 새로 선택된 세그먼트(400)와의 비교를 위해 이전의 세그먼트나 후속하는 세그먼트와 단순히 결합된다. 이들 실시예 각각은 미디어 스트림 내에서의 일치의 검색이 보다 효율적이 되도록 함으로써 전체적인 시스템 성능을 개선하는 데 도움이 된다.
객체 종단점이 결정되었으면(단계 440), 어떤 일치도 식별되지 않았을 때(단계 420), 또는 미디어 스트림의 부분들이 그 부분들의 추가의 검색을 방지하도록 플래그가 붙여진 후에(단계 460), 미디어 스트림의 현재의 선택된 세그먼트(400)가 미디어 스트림의 끝을 나타내는지를 알아보기 위한 검사가 행해진다(단계 450). 미디어 스트림의 현재 선택된 세그먼트(400)가 미디어 스트림의 끝을 나타내는 경우(단계 450), 프로세스는 완료되고 검색은 종료된다. 그러나, 미디어 스트림의 끝에 도달하지 않은 경우(단계 450), 미디어 스트림의 그 다음 세그먼트가 선택되고 일치하는 세그먼트를 찾아내기 위해 미디어 스트림을 검색(단계 410)함으로써 미디어 스트림의 나머지와 비교된다. 이어서, 일치를 식별하는 단계(420), 일치하는 세그먼트를 정렬하는 단계(430), 종단점을 결정하는 단게(440), 및 종단점 또는 객체 정보를 객체 데이터베이스(230)에 저장하는 단계의 전술한 단계들은 전술한 바와 같이 미디어 스트림의 끝에 도달될 때까지 반복된다.
유의할 점은 이전에 선택된 세그먼트가 현재 선택된 세그먼트와 이미 비교되었기 때문에 미디어 스트림에서 후방으로 검색할 필요가 없다는 것이다. 게다가, 미디어 스트림의 특정의 세그먼트 또는 부분들이 식별된 것으로서 플래그가 붙여져 있는(단계 460) 실시예에서, 이들 세그먼트는 검색(단계 410)에서 건너뛰게 된다. 전술한 바와 같이, 더 많은 미디어 객체가 스트림에서 식별됨에 따라, 미디어 스트림의 식별된 부분들을 건너뛰는 것은 이용가능한 검색 공간을 급격히 감소시키는 데 도움이 되며, 그에 따라 섹션 3.2.1에서 기술된 기본적인 순차적 대입 방법(basic brute force approach)에 비해 시스템 효율을 극적으로 향상시킨다.
다른 실시예에서, 미디어 스트림에서 반복 객체를 식별하는 속도 및 효율은 일치하는 객체를 식별하기 위해 객체 데이터베이스(230)를 먼저 검색(단계 470)함으로써 더욱 향상된다. 상세하게는, 이 실시예에서, 미디어 스트림의 한 세그먼트가 선택되고 난 후(단계 400), 이 세그먼트는, 한 미디어 객체가 미디어 스트림 내에서 반복되는 것으로 관측되었으면 그 미디어 객체는 미디어 스트림 내에서 다시 반복될 가능성이 더 높다는 이론에 기초하여 먼저 이전에 식별된 세그먼트와 비교된다. 객체 데이터베이스(230)에서 일치가 식별되는 경우(단계 480), 일치하는 세그먼트를 정렬하는 단계(430), 종단점을 결정하는 단계(440), 및 종단점 또는 객체 정보를 객체 데이터베이스(230)에 저장하는 단계의 전술한 단계들이 미디어 스트림의 끝에 도달될 때까지 전술한 바와 같이 반복된다.
전술한 검색 실시예(예를 들어, 410, 470, 460)의 각각은 전체 미디어 스트림에 대해 일치하는 세그먼트를 검색(단계 410)하기보다는 미디어 스트림이 미디어 객체의 하나 이상의 반복 인스턴스를 고려하기에 충분한 기간에 걸쳐 세그먼트들에서 분석되는 실시예와 결합될 때 추가로 향상된다. 예를 들어, 미디어 스트림이 일주일 동안 레코딩되는 경우, 미디어 스트림의 첫번째 검색에 대한 기간은 하루일 수 있다. 따라서, 이 실시예에서, 미디어 스트림은 제1 기간에 걸쳐, 즉 1주일 길이의 미디어 레코딩으로부터 첫번째 날에 먼저 검색되고(단계 410), 일치하는 미디어 객체의 종단점 또는 객체 자체가 전술한 바와 같이 객체 데이터베이스(230)에 저장된다. 미디어 스트림의 나머지 또는 미디어 스트림의 후속 범위(즉, 미디어 스트림의 일주일 길이 레코딩의 두번째 또는 다음 날)에 대한 후속 검색은 전술한 바와 같이 일치를 식별하기 위해 먼저 객체 데이터베이스(470, 230)에 대하여 행해진다.
3.2.4 가능성있는 객체의 최초 검출에서의 시스템 동작:
이제 도 2와 연계하여 도 5를 참조하면, 일 실시예에서, 프로세스는 일반적으로 먼저 미디어 스트림에서 가능성있는 또는 가능한 객체를 식별함으로써 미디어 스트림으로부터 미디어 객체를 찾아내고 식별하며 분할하는 객체 추출기로서 기술될 수 있다. 상세하게는, 도 5에 예시한 바와 같이, 미디어 스트림에서 반복하는 객체를 자동적으로 식별하고 분할하는 시스템 및 방법은 오디오 및/또는 비디오 정보를 포함하는 미디어 스트림(210)을 캡처하는 단계(500)로 시작한다. 미디어 스트림(210)은 예를 들어 라디오 또는 텔레비전/비디오 방송 미디어 스트림을 캡처하기 위한 컴퓨터에 연결된 오디오 또는 비디오 캡처 장치 등의 다수의 종래의 기술들 중 임의의 것을 사용하여 캡처된다. 이러한 미디어 캡처 기술은 당업자에게는 잘 알려져 있는 것으로서 여기에 기술하지 않는다. 일단 캡처되면, 미디어 스트림(210)은 컴퓨터 파일 또는 데이터베이스에 저장된다. 일 실시예에서, 미디어 스트림(210)은 오디오 및/또는 비디오 미디어의 압축을 위한 종래의 기술을 사용하여 압축된다.
미디어 스트림(210)은 이어서 미디어 스트림 내에 내장된 가능한 또는 가능성있는 미디어 객체를 식별하기 위해 검사된다. 미디어 스트림(210)의 이러한 검사는 미디어 스트림의 일부분을 나타내는 윈도우(505)를 검사함으로써 달성된다. 전술한 바와 같이, 가능한 객체를 검출하기 위한 미디어 스트림(210)의 검사는 검사되는 미디어 콘텐츠의 유형에 맞춰 조정된 하나 이상의 검출 알고리즘을 사용한다. 일반적으로, 앞서 자세히 설명한 바와 같이, 이들 검출 알고리즘은 분석되고 있는 미디어 스트림의 부분을 특징지우는 파라미터 정보를 계산한다. 대체 실시예에서, 미디어 스트림은 캡처(단계 500)되고 저장(210)될 때 실시간으로 검사된다(단계 505).
분석되고 있는 미디어 스트림(210)의 현재의 윈도우 또는 부분에서 가능한 객체가 식별되지 않은 경우, 윈도우는 가능한 객체를 식별하려고 미디어 스트림의 그 다음 섹션을 검사하기 위해 증분된다(단계 515). 가능한 또는 가능성있는 객체가 식별되는 경우(단계 510), 미디어 스트림(210) 내에서의 가능한 객체의 장소 또는 위치가 객체 데이터베이스(230)에 저장된다(단계 525). 게다가, 가능한 객체를 특징지우는 파라미터 정보도 또한 객체 데이터베이스(230)에 저장된다(단계 525). 유의할 점은 전술한 바와 같이 이 객체 데이터베이스(230)가 처음에 비어 있으며 객체 데이터베이스 내의 첫번째 엔트리가 미디어 스트림(210)에서 검출된 첫번째 가능한 객체에 대응한다는 것이다. 다른 대안에서, 객체 데이터베이스(230)는 이전에 캡처된 미디어 스트림의 분석 또는 검색으로부터의 결과로 미리 채워져 있다. 윈도우 증분(515)과 윈도우 검사(505)는 미디어 스트림의 끝에 도달(단계 520)될 때까지 계속된다.
미디어 스트림(210) 내에서 가능한 객체의 검출에 뒤이어서, 객체 데이터베이스(230)는 가능한 객체에 대한 잠재적인 일치, 즉 반복 인스턴스를 식별하기 위해 검색된다. 일반적으로, 이 데이터베이스 쿼리는 가능한 객체를 특징지우는 파라미터 정보를 사용하여 행해진다. 유의할 점은 잠재적인 일치를 식별하기 위해 정확한 일치는 요구되지 않으며, 또는 심지어 기대되지도 않는다는 것이다. 실제로, 잠재적인 일치에 대한 이 초기 검색을 수행하기 위한 유사성 임계값이 사용된다. 이 유사성 임계값, 또는 "검출 임계값"은 가능한 객체 및 잠재적인 일치를 특징지우는 파라미터 정보의 하나 이상의 특징 사이의 임의의 원하는 퍼센트 일치로 설정될 수 있다.
잠재적인 일치가 식별되지 않은 경우(단계 535), 가능한 객체는 객체 데이터베이스(230)에서 새로운 객체로서 플래그가 붙여진다(단계 540). 다른 대안으로서, 또하나의 실시예에서, 잠재적인 일치가 식별되지 않거나 너무 적은 잠재적인 일치가 식별된 경우(단계 535), 데이터베이스 검색(단계 530)에 의해 식별된 잠재적인 일치의 개수를 증가시키기 위해 검출 임계값이 낮추어진다(단계 545). 역으로, 또다른 실시예에서, 너무 많은 잠재적인 일치가 식별되는 경우(단계 535), 검출 임계값은 수행되는 비교의 횟수를 제한하기 위해 높여진다.
하나 이상의 잠재적인 일치가 식별되었으면(단계 535), 가능한 객체와 일치가능성이 있는 객체 중 하나 이상 사이의 상세 비교(단계 550)가 수행된다. 이 상세 비교는 가능한 객체와 잠재적인 일치를 나타내는 미디어 스트림(210)의 부분들의 직접 비교, 또는 가능한 객체와 잠재적인 일치를 나타내는 미디어 스트림의 부분들의 저차원 버전의 비교를 포함한다. 유의할 점은 이 비교가 저장된 미디어 스트림을 사용하는 반면, 비교는 또한 이전에 찾아내어 저장된 미디어 객체(270)를 사용하여 행해질 수도 있다는 것이다.
상세 비교(단계 550)가 객체 일치(단계 555)를 찾아내지 못한 경우, 가능한 객체는 객체 데이터베이스(230)에서 새로운 객체로서 플래그가 붙여진다(단계 540). 다른 대안으로서, 또하나의 실시예에서, 객체 일치가 식별되지 않은 경우(단계 555), 검출 임계값은 낮추어지고(단계 545), 새로운 데이터베이스 검색(530)이 부가의 잠재적인 일치를 식별하기 위해 수행된다. 다시 말하면, 가능한 객체가 객체 데이터베이스(230)에 이미 있는 임의의 객체와 일치하는지 여부를 결정하기 위해, 임의의 잠재적인 일치가 가능한 객체와 비교된다(단계 550).
상세 비교가 일치, 즉 가능한 객체의 반복 인스턴스를 식별하였으면, 가능한 객체는 객체 데이터베이스(230)에서 반복하는 객체로서 플래그가 붙여진다. 각각의 반복하는 객체는 이어서 객체의 각각의 이전에 식별된 반복 인스턴스와 함께 정렬된다(단계 560). 앞서 상세히 기술한 바와 같이, 이어서 각각의 객체가 거의 같은 최장의 범위를 식별하기 위해 반복하는 객체 인스턴스들 각각 사이에서 후방 및 전방으로 검색함으로써 객체 종단점이 결정된다(단계 565). 이와 같이 각각의 객체의 범위를 식별하는 것은 객체 종단점을 식별하는 데 도움이 된다. 이 미디어 객체 종단점 정보는 이어서 객체 데이터베이스(230)에 저장된다.
마지막으로, 또다른 실시예에서, 객체 종단점이 식별되었으면(단계 565), 종단점 정보는 그 종단점에 대응하는 미디어 스트림의 섹션을 개개의 미디어 객체(270)의 별도의 파일 또는 데이터베이스로 복사 또는 저장(단계 570)하는 데 사용된다.
전술한 바와 같이, 전체적인 미디어 스트림이 검사(단계 520)될 때까지 또는 사용자가 검사를 종료할 때까지 검사되고 있는 미디어 스트림(210)의 부분이 계속하여 증분되면서 상기의 프로세스가 반복된다.
4.0 부가의 실시예:
전술한 바와 같이, 미디어 스트림 내의 미디어 객체들을 분할하고 식별하기 위해 캡처된 미디어 스트림은 예를 들어 라디오, 텔레비전, 인터넷 또는 다른 네트워크를 통한 오디오, 비디오, 또는 오디오/비디오 방송 등의 임의의 종래의 방송 소스로부터 도출될 수 있다. 텔레비전 유형 방송에서 일반적인 것인 결합된 오디오/비디오 방송과 관련하여, 유의할 점은 결합된 오디오/비디오 방송의 오디오 부분이 비디오 부분과 동기화되어 있다는 것이다. 환언하면, 공지되어 있는 바와 같이, 오디오/비디오 방송의 오디오 부분은 그 방송의 비디오 부분과 일치되어 있다. 그 결과, 결합된 오디오/비디오 스트림 내의 반복하는 오디오 객체를 식별하는 것은 오디오/비디오 스트림 내의 반복하는 비디오 객체를 식별하기 위한 편리하고 계산 비용이 많이 들지 않는 방법이다.
상세하게는, 일 실시예에서, 먼저 오디오 스트림 내의 반복하는 오디오 객체를 식별하고, 그 오디오 객체가 시작하고 끝나는 시각 tb 및 te(즉, 오디오 객체의 종단점)을 식별하며 이어서 그 시각에서 오디오/비디오 스트림을 분할시킴으로써, 비디오 객체도 또한 결합된 오디오/비디오 스트림으로부터 오디오 객체와 함께 식별되고 분할된다.
예를 들어, 임의의 주어진 텔레비전 방송을 통해 임의의 주어진 날짜에 일반적인 상업 광고 또는 광고가 빈번하게 반복하는 것을 종종 보게 된다. 그 텔레비전 방송국의 오디오/비디오 스트림을 레코딩하고 이어서 텔레비전 방송의 오디오 부분을 처리하는 것은 그 반복하는 광고들의 오디오 부분을 식별하는 데 도움이 된다. 게다가, 오디오가 스트림의 비디오 부분과 동기화되어 있기 때문에, 텔레비전 방송 내의 반복하는 광고의 위치는 전술한 방식으로 즉시 결정될 수 있다. 위치가 식별되면, 이러한 광고는 임의의 원하는 특수 처리를 위해 플래그가 붙여질 수 있다.
본 발명의 이상의 설명은 예시 및 설명을 위해 제공된 것이다. 이 설명은 전부 기술하거나 본 발명을 개시된 정확한 형태로 제한하고자 한 것이 아니다. 이상의 개시 내용을 고려하여 많은 수정 및 변형이 가능하다. 게다가, 상기한 대체 실시예들 중 임의의 것 또는 그 모두는 여기에 기술된 객체 추출기의 부가의 복합 실시예를 형성하기 위해 임의로 조합하여 사용될 수 있는 것에 유의해야 한다. 본 발명의 범위는 이 상세한 설명에 의해 제한되는 것이 아니라 첨부된 청구항들에 의해 제한되는 것이다.

Claims (25)

  1. 미디어 스트림에서 미디어 객체를 찾아내어 각 미디어 객체의 시간상 종단점을 결정하는 컴퓨터 구현 프로세스에 있어서,
    컴퓨팅 장치를 사용하여,
    미디어 스트림의 적어도 하나의 세그먼트에 대한 특성 정보를 계산하는 단계,
    상기 특성 정보를 분석하여, 상기 미디어 스트림의 임의의 세그먼트 내에 미디어 객체가 존재할 가능성이 있는지 여부를 결정하는 단계,
    상기 특성 정보의 분석에 의해, 상기 미디어 스트림의 임의의 세그먼트 내에 미디어 객체의 적어도 일부가 존재할 가능성이 있는 것으로 나타날 때, 상기 미디어 스트림의 임의의 세그먼트의 위치 및 특성 정보를 객체 데이터베이스에 저장하는 단계,
    상기 미디어 스트림의 잠재적으로 일치하는 세그먼트들을 찾아내기 위해, 상기 객체 데이터베이스에 쿼리를 행하는 단계,
    상기 미디어 스트림의 잠재적으로 일치하는 세그먼트들을 비교하여, 상기 미디어 스트림 내의 반복하는 세그먼트를 식별하는 단계, 및
    상기 미디어 스트림의 각각의 반복하는 세그먼트 상에 중심을 둔 상기 미디어 스트림의 부분들을 자동적으로 정렬하고 비교하여, 상기 미디어 스트림 내의 각 미디어 객체의 시간상 종단점을 결정하는 단계
    를 포함하는 것을 특징으로 하는 컴퓨터 구현 프로세스.
  2. 제1항에 있어서,
    상기 미디어 스트림의 부분들을 자동적으로 정렬하고 비교하는 단계는, 상기 부분들을 정렬하고 상기 정렬된 부분들 각각에서 후방 및 전방으로 추적하여, 각각의 정렬된 부분이 다른 정렬된 부분들과 여전히 거의 동등한 시작점 및 종료점을 결정하는 것을 특징으로 하는 컴퓨터 구현 프로세스.
  3. 제1항에 있어서,
    상기 시작점 및 종료점은 각 미디어 객체의 시간상 종단점을 나타내는 것인 컴퓨터 구현 프로세스.
  4. 제1항에 있어서,
    상기 미디어 스트림은 오디오 미디어 스트림인 컴퓨터 구현 프로세스.
  5. 제1항에 있어서,
    상기 미디어 스트림은 비디오 미디어 스트림인 컴퓨터 구현 프로세스.
  6. 제1항에 있어서,
    상기 미디어 스트림은 결합된 오디오 및 비디오 미디어 스트림인 컴퓨터 구현 프로세스.
  7. 제1항에 있어서,
    상기 미디어 객체는 노래, 음악, 광고, 비디오 클립, 방송국 식별자, 음성, 이미지 및 이미지 시퀀스 중 임의의 것인 컴퓨터 구현 프로세스.
  8. 제1항에 있어서,
    상기 미디어 스트림은, 상기 미디어 스트림의 적어도 하나의 세그먼트에 대한 특성 정보를 계산하기 전에, 방송 미디어 스트림으로부터 캡처되고 컴퓨터 판독가능 매체에 저장되는 컴퓨터 구현 프로세스.
  9. 제1항에 있어서,
    상기 미디어 스트림의 임의의 세그먼트 내에 미디어 객체가 존재할 가능성이 있는지 여부를 결정하기 위해 상기 특성 정보를 분석하는 단계는, 상기 특성 정보를 상기 스트림 내에서 탐색되는 적어도 한 유형의 미디어 객체에 대응하는 소정의 특성 집합과 비교하고,
    상기 비교에 의해, 상기 특성 정보가 상기 소정의 특성 집합과 적어도 부분적으로 일치하는 것으로 나타날 때, 미디어 객체가 존재할 가능성이 있는 것으로 결정하는 것을 특징으로 하는 컴퓨터 구현 프로세스.
  10. 제1항에 있어서,
    상기 미디어 스트림의 일치 가능성이 있는 세그먼트를 찾아내기 위해 상기 객체 데이터베이스에 쿼리를 행하는 단계는, 각각의 가능한 객체에 대한 상기 특성 정보를 상기 객체 데이터베이스 내의 이전의 엔트리들과 비교하여 유사한 가능한 객체를 찾아내는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 프로세스.
  11. 제1항에 있어서,
    상기 미디어 스트림의 잠재적으로 일치하는 세그먼트들을 비교하여 상기 미디어 스트림 내의 반복 세그먼트를 식별하는 단계는,
    각각의 잠재적으로 일치하는 세그먼트의 위치에 중심을 둔 상기 미디어 스트림의 부분을 각각의 가능한 미디어 객체의 위치에 중심을 둔 상기 미디어 스트림의 부분과 비교하고,
    세그먼트들이 소정의 임계 레벨 내에서 유사한 경우, 상기 잠재적으로 일치하는 세그먼트들이 상기 미디어 스트림 내의 반복 세그먼트를 나타내는 것으로 결정하는 것을 특징으로 하는 컴퓨터 구현 프로세스.
  12. 미디어 스트림 내의 반복 미디어 객체의 범위를 결정하는 방법에 있어서,
    컴퓨터를 사용하여,
    비교를 위한 미디어 스트림의 세그먼트를 선택하는 단계,
    상기 선택된 세그먼트를 상기 미디어 스트림과 비교하여, 상기 미디어 스트림의 상기 선택된 세그먼트의 적어도 한 부분과 일치하는 적어도 한 부분을 갖는 상기 미디어 스트림 내의 세그먼트들을 식별하는 단계,
    상기 선택된 세그먼트 및 일치하는 세그먼트들을 정렬하는 단계, 및
    상기 선택된 세그먼트 및 상기 일치하는 세그먼트들의 정렬을 사용하여, 정렬된 세그먼트들이 더 이상 거의 동등하지 않은 위치에서 상기 미디어 객체들의 종단점을 식별함으로써, 함으로써 상기 선택된 세그먼트 및 일치하는 세그먼트들에 의해 나타나는 미디어 객체의 범위를 결정하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  13. 제12항에 있어서,
    각각의 미디어 객체에 대한 종단점 정보를 객체 데이터베이스에 저장하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  14. 제12항에 있어서,
    종단점 정보를 사용하여 상기 미디어 스트림으로부터 각각의 반복하는 미디어 객체를 추출하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  15. 제14항에 있어서,
    각각의 추출된 반복 미디어 객체를 컴퓨터 판독가능 매체 상에 저장하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  16. 제12항에 있어서,
    상기 정렬된 세그먼트들이 더 이상 거의 동등하지 않은 위치에서 상기 미디어 객체들의 종단점을 식별하는 단계는, 상기 선택된 세그먼트 및 일치하는 세그먼트들 각각에 대응하는 상기 미디어 스트림 내의 위치 부근에서 상기 미디어 스트림을 후방 및 전방으로 추적하여, 각각의 정렬된 세그먼트가 분기하기 시작하는 상기 미디어 스트림 내의 위치들을 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  17. 제12항에 있어서,
    상기 비교를 위한 미디어 스트림의 세그먼트를 선택하는 단계는, 상기 미디어 스트림의 끝에 도달할 때까지, 비교를 위한 상기 미디어 스트림의 순차적 세그먼트들을 선택하는 것을 특징으로 하는 방법.
  18. 제17항에 있어서,
    상기 미디어 스트림 내의 미디어 객체들의 범위는, 상기 스트림에서 이전에 찾아낸 미디어 객체들이 반복적으로 검색되는 것을 방지하기 위해 사용되는 방법.
  19. 제12항에 있어서,
    상기 미디어 스트림에서 식별된 이전에 식별된 반복 객체들의 데이터베이스는 상기 선택된 세그먼트를 상기 미디어 스트림과 비교하기 전에, 비교를 위해 선택된 미디어 스트림의 세그먼트와의 일치를 식별하기 위해 검색되고,
    상기 데이터베이스의 검색에서 일치하는 미디어 객체가 식별되는 경우, 상기미디어 스트림은 상기 미디어 스트림의 상기 선택된 세그먼트의 적어도 한 부분과 일치하는 적어도 한 부분을 갖는 상기 미디어 스트림 내의 세그먼트들을 식별하기 위해 검색되지 않는 방법.
  20. 제12항에 있어서,
    상기 미디어 스트림은 오디오 미디어 스트림인 방법.
  21. 제12항에 있어서,
    상기 미디어 스트림은 비디오 미디어 스트림인 방법.
  22. 제12항에 있어서,
    상기 미디어 스트림은 결합된 오디오/비디오 미디어 스트림인 방법.
  23. 제12항에 있어서,
    상기 미디어 객체는 노래, 음악, 광고, 비디오 클립, 방송국 식별자, 음성, 이미지 및 이미지 시퀀스 중 임의의 것인 방법.
  24. 제12항에 있어서,
    방송 미디어 스트림을 수신하고 저장함으로써 상기 미디어 스트림을 캡처하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  25. 제12항에 있어서,
    각각의 미디어 객체의 적어도 하나의 대표적인 복사본을 컴퓨터 판독가능 매체 상에 저장하는 단계를 더 포함하는 것을 특징으로 하는 방법.
KR1020047020112A 2002-07-01 2003-06-30 반복 미디어 객체의 범위 결정 방법, 및 컴퓨터 판독가능 기록매체 KR100988996B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/187,774 2002-07-01
US10/187,774 US7461392B2 (en) 2002-07-01 2002-07-01 System and method for identifying and segmenting repeating media objects embedded in a stream

Publications (2)

Publication Number Publication Date
KR20050027219A true KR20050027219A (ko) 2005-03-18
KR100988996B1 KR100988996B1 (ko) 2010-10-20

Family

ID=29780073

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020047020112A KR100988996B1 (ko) 2002-07-01 2003-06-30 반복 미디어 객체의 범위 결정 방법, 및 컴퓨터 판독가능 기록매체
KR1020047020334A KR100957987B1 (ko) 2002-07-01 2003-06-30 미디어 객체 제어 시스템 및 컴퓨터 판독가능 기록매체

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020047020334A KR100957987B1 (ko) 2002-07-01 2003-06-30 미디어 객체 제어 시스템 및 컴퓨터 판독가능 기록매체

Country Status (7)

Country Link
US (3) US7461392B2 (ko)
JP (1) JP4418748B2 (ko)
KR (2) KR100988996B1 (ko)
CN (1) CN100531362C (ko)
AU (1) AU2003280514A1 (ko)
TW (2) TWI333380B (ko)
WO (1) WO2004004345A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100774194B1 (ko) * 2006-02-24 2007-11-08 엘지전자 주식회사 방송 재생 장치 및 방송 재생 방법
KR101035990B1 (ko) * 2008-08-27 2011-05-23 한국외국어대학교 연구산학협력단 이미지 세분화 방법 및 컴퓨터 판독가능 수단
KR101129974B1 (ko) * 2008-12-22 2012-03-28 (주)오디즌 객체 기반 오디오 컨텐츠 생성/재생 방법 및 그 장치

Families Citing this family (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060280437A1 (en) * 1999-01-27 2006-12-14 Gotuit Media Corp Methods and apparatus for vending and delivering the content of disk recordings
KR100836574B1 (ko) * 2002-10-24 2008-06-10 도꾸리쯔교세이호진 상교기쥬쯔 소고겡뀨죠 악곡재생방법, 장치 및 음악음향데이터 중의 대표 모티프구간 검출방법
US7738704B2 (en) * 2003-03-07 2010-06-15 Technology, Patents And Licensing, Inc. Detecting known video entities utilizing fingerprints
US7694318B2 (en) * 2003-03-07 2010-04-06 Technology, Patents & Licensing, Inc. Video detection and insertion
US7809154B2 (en) 2003-03-07 2010-10-05 Technology, Patents & Licensing, Inc. Video entity recognition in compressed digital video streams
US20050149968A1 (en) * 2003-03-07 2005-07-07 Richard Konig Ending advertisement insertion
US20050177847A1 (en) * 2003-03-07 2005-08-11 Richard Konig Determining channel associated with video stream
US7761795B2 (en) * 2003-05-22 2010-07-20 Davis Robert L Interactive promotional content management system and article of manufacture thereof
CN1820511A (zh) 2003-07-11 2006-08-16 皇家飞利浦电子股份有限公司 用于生成并探测多媒体信号中起到触发标记作用的指纹的方法和设备
US7907211B2 (en) * 2003-07-25 2011-03-15 Gracenote, Inc. Method and device for generating and detecting fingerprints for synchronizing audio and video
WO2005034395A2 (en) * 2003-09-17 2005-04-14 Nielsen Media Research, Inc. Methods and apparatus to operate an audience metering device with voice commands
US20050267750A1 (en) * 2004-05-27 2005-12-01 Anonymous Media, Llc Media usage monitoring and measurement system and method
US20150051967A1 (en) 2004-05-27 2015-02-19 Anonymous Media Research, Llc Media usage monitoring and measurment system and method
CA2574998C (en) * 2004-07-23 2011-03-15 Nielsen Media Research, Inc. Methods and apparatus for monitoring the insertion of local media content into a program stream
US7335610B2 (en) * 2004-07-23 2008-02-26 Macronix International Co., Ltd. Ultraviolet blocking layer
US7826708B2 (en) * 2004-11-02 2010-11-02 Microsoft Corporation System and method for automatically customizing a buffered media stream
US8107010B2 (en) * 2005-01-05 2012-01-31 Rovi Solutions Corporation Windows management in a television environment
US9082456B2 (en) * 2005-01-31 2015-07-14 The Invention Science Fund I Llc Shared image device designation
ES2569423T3 (es) * 2005-02-08 2016-05-10 Shazam Investments Limited Identificación automática de material repetido en señales de audio
US20060195859A1 (en) * 2005-02-25 2006-08-31 Richard Konig Detecting known video entities taking into account regions of disinterest
US20060195860A1 (en) * 2005-02-25 2006-08-31 Eldering Charles A Acting on known video entities detected utilizing fingerprinting
US10003762B2 (en) 2005-04-26 2018-06-19 Invention Science Fund I, Llc Shared image devices
US9967424B2 (en) * 2005-06-02 2018-05-08 Invention Science Fund I, Llc Data storage usage protocol
US9451200B2 (en) * 2005-06-02 2016-09-20 Invention Science Fund I, Llc Storage access technique for captured data
US9191611B2 (en) * 2005-06-02 2015-11-17 Invention Science Fund I, Llc Conditional alteration of a saved image
US8964054B2 (en) 2006-08-18 2015-02-24 The Invention Science Fund I, Llc Capturing selected image objects
US20070222865A1 (en) * 2006-03-15 2007-09-27 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Enhanced video/still image correlation
US9076208B2 (en) * 2006-02-28 2015-07-07 The Invention Science Fund I, Llc Imagery processing
US20070109411A1 (en) * 2005-06-02 2007-05-17 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Composite image selectivity
US20070139529A1 (en) * 2005-06-02 2007-06-21 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Dual mode image capture technique
US9167195B2 (en) * 2005-10-31 2015-10-20 Invention Science Fund I, Llc Preservation/degradation of video/audio aspects of a data stream
US9621749B2 (en) * 2005-06-02 2017-04-11 Invention Science Fund I, Llc Capturing selected image objects
US9942511B2 (en) 2005-10-31 2018-04-10 Invention Science Fund I, Llc Preservation/degradation of video/audio aspects of a data stream
US20070008326A1 (en) * 2005-06-02 2007-01-11 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Dual mode image capture technique
US20070098348A1 (en) * 2005-10-31 2007-05-03 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Degradation/preservation management of captured data
US7690011B2 (en) 2005-05-02 2010-03-30 Technology, Patents & Licensing, Inc. Video stream modification to defeat detection
US20060288036A1 (en) * 2005-06-17 2006-12-21 Microsoft Corporation Device specific content indexing for optimized device operation
US20070120980A1 (en) 2005-10-31 2007-05-31 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Preservation/degradation of video/audio aspects of a data stream
US9015740B2 (en) 2005-12-12 2015-04-21 The Nielsen Company (Us), Llc Systems and methods to wirelessly meter audio/visual devices
AU2006325808B2 (en) 2005-12-12 2011-12-15 The Nielsen Company (Us), Llc Systems and methods to wirelessly meter audio/visual devices
US20070250856A1 (en) * 2006-04-02 2007-10-25 Jennifer Leavens Distinguishing National and Local Broadcast Advertising and Other Content
US7921116B2 (en) * 2006-06-16 2011-04-05 Microsoft Corporation Highly meaningful multimedia metadata creation and associations
US20080240227A1 (en) * 2007-03-30 2008-10-02 Wan Wade K Bitstream processing using marker codes with offset values
CN102084358A (zh) * 2008-02-05 2011-06-01 杜比实验室特许公司 将信息与媒体内容关联
US10216761B2 (en) * 2008-03-04 2019-02-26 Oath Inc. Generating congruous metadata for multimedia
US8655147B2 (en) * 2008-06-26 2014-02-18 Nec Corporation Content reproduction order determination system, and method and program thereof
EP2306719B1 (en) * 2008-06-26 2013-11-20 NEC Corporation Content reproduction control system and method and program thereof
JP5231130B2 (ja) * 2008-08-13 2013-07-10 日本放送協会 キーフレーズ抽出装置、シーン分割装置およびプログラム
US20100057938A1 (en) * 2008-08-26 2010-03-04 John Osborne Method for Sparse Object Streaming in Mobile Devices
US7994410B2 (en) * 2008-10-22 2011-08-09 Classical Archives, LLC Music recording comparison engine
US9124769B2 (en) 2008-10-31 2015-09-01 The Nielsen Company (Us), Llc Methods and apparatus to verify presentation of media content
US8271871B2 (en) * 2009-04-30 2012-09-18 Xerox Corporation Automated method for alignment of document objects
US8892541B2 (en) * 2009-12-01 2014-11-18 Topsy Labs, Inc. System and method for query temporality analysis
US11113299B2 (en) 2009-12-01 2021-09-07 Apple Inc. System and method for metadata transfer among search entities
US8606585B2 (en) * 2009-12-10 2013-12-10 At&T Intellectual Property I, L.P. Automatic detection of audio advertisements
US8457771B2 (en) * 2009-12-10 2013-06-04 At&T Intellectual Property I, L.P. Automated detection and filtering of audio advertisements
US8560583B2 (en) 2010-04-01 2013-10-15 Sony Computer Entertainment Inc. Media fingerprinting for social networking
US9264785B2 (en) * 2010-04-01 2016-02-16 Sony Computer Entertainment Inc. Media fingerprinting for content determination and retrieval
US9020415B2 (en) 2010-05-04 2015-04-28 Project Oda, Inc. Bonus and experience enhancement system for receivers of broadcast media
KR20130029082A (ko) 2010-05-04 2013-03-21 샤잠 엔터테인먼트 리미티드 미디어 스트림의 샘플을 처리하는 방법 및 시스템
US8686271B2 (en) 2010-05-04 2014-04-01 Shazam Entertainment Ltd. Methods and systems for synchronizing media
US9159165B2 (en) 2010-07-13 2015-10-13 Sony Computer Entertainment Inc. Position-dependent gaming, 3-D controller, and handheld as a remote
US9832441B2 (en) 2010-07-13 2017-11-28 Sony Interactive Entertainment Inc. Supplemental content on a mobile device
US9814977B2 (en) 2010-07-13 2017-11-14 Sony Interactive Entertainment Inc. Supplemental video content on a mobile device
US9143699B2 (en) 2010-07-13 2015-09-22 Sony Computer Entertainment Inc. Overlay non-video content on a mobile device
US8730354B2 (en) 2010-07-13 2014-05-20 Sony Computer Entertainment Inc Overlay video content on a mobile device
US20120240177A1 (en) * 2011-03-17 2012-09-20 Anthony Rose Content provision
FR2974297B1 (fr) 2011-04-21 2013-10-04 Sederma Sa Nouvelle utilisation cosmetique ou therapeutique du tripeptide ghk
US8732739B2 (en) 2011-07-18 2014-05-20 Viggle Inc. System and method for tracking and rewarding media and entertainment usage including substantially real time rewards
US9093056B2 (en) 2011-09-13 2015-07-28 Northwestern University Audio separation system and method
TWI483613B (zh) * 2011-12-13 2015-05-01 Acer Inc 視訊播放裝置及其操作方法
CN102567528B (zh) * 2011-12-29 2014-01-29 东软集团股份有限公司 一种读取海量数据的方法及装置
JP2013174965A (ja) * 2012-02-23 2013-09-05 Toshiba Corp 電子機器、電子機器の制御システム、及びサーバ
US20140193084A1 (en) * 2013-01-09 2014-07-10 Wireless Ronin Technologies, Inc. Content validation analysis method and apparatus
US9792350B2 (en) * 2013-01-10 2017-10-17 International Business Machines Corporation Real-time classification of data into data compression domains
US9053121B2 (en) 2013-01-10 2015-06-09 International Business Machines Corporation Real-time identification of data candidates for classification based compression
US9564918B2 (en) 2013-01-10 2017-02-07 International Business Machines Corporation Real-time reduction of CPU overhead for data compression
US9942334B2 (en) 2013-01-31 2018-04-10 Microsoft Technology Licensing, Llc Activity graphs
US9451048B2 (en) 2013-03-12 2016-09-20 Shazam Investments Ltd. Methods and systems for identifying information of a broadcast station and information of broadcasted content
US9773058B2 (en) 2013-03-15 2017-09-26 Shazam Investments Ltd. Methods and systems for arranging and searching a database of media content recordings
US9390170B2 (en) 2013-03-15 2016-07-12 Shazam Investments Ltd. Methods and systems for arranging and searching a database of media content recordings
US10007897B2 (en) * 2013-05-20 2018-06-26 Microsoft Technology Licensing, Llc Auto-calendaring
KR101456926B1 (ko) * 2013-06-14 2014-10-31 (주)엔써즈 핑거프린트에 기반한 광고 검출 시스템 및 방법
US9456014B2 (en) * 2014-12-23 2016-09-27 Teradata Us, Inc. Dynamic workload balancing for real-time stream data analytics
US9471272B2 (en) * 2015-01-27 2016-10-18 Lenovo (Singapore) Pte. Ltd. Skip of a portion of audio
US10063918B2 (en) 2016-02-29 2018-08-28 Gracenote, Inc. Media channel identification with multi-match detection and disambiguation based on single-match
US9924222B2 (en) * 2016-02-29 2018-03-20 Gracenote, Inc. Media channel identification with multi-match detection and disambiguation based on location
US9930406B2 (en) 2016-02-29 2018-03-27 Gracenote, Inc. Media channel identification with video multi-match detection and disambiguation based on audio fingerprint
TWI626548B (zh) * 2017-03-31 2018-06-11 東森信息科技股份有限公司 資料收集與儲存系統及其方法
US10931968B2 (en) 2017-07-31 2021-02-23 Nokia Technologies Oy Method and apparatus for encoding or decoding video content including regions having looping videos of different loop lengths
CN108153882A (zh) * 2017-12-26 2018-06-12 中兴通讯股份有限公司 一种数据处理方法及装置
CN109547850B (zh) * 2018-11-22 2021-04-06 杭州秋茶网络科技有限公司 视频拍摄纠错方法及相关产品
JP6642755B1 (ja) * 2019-03-29 2020-02-12 株式会社セガゲームス 音声処理装置
KR102305852B1 (ko) * 2019-08-23 2021-09-29 주식회사 예간아이티 3d 컨텐츠에서 객체를 이용하여 광고 컨텐츠를 제공하는 광고 제공 방법 및 광고 제공 장치
US11616797B2 (en) 2020-04-30 2023-03-28 Mcafee, Llc Large scale malware sample identification
CN111901649B (zh) * 2020-08-13 2022-03-25 海信视像科技股份有限公司 视频播放方法和显示设备
US11806577B1 (en) 2023-02-17 2023-11-07 Mad Dogg Athletics, Inc. Programmed exercise bicycle with computer aided guidance

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3919479A (en) * 1972-09-21 1975-11-11 First National Bank Of Boston Broadcast signal identification system
US4450531A (en) 1982-09-10 1984-05-22 Ensco, Inc. Broadcast signal recognition system and method
US4697209A (en) 1984-04-26 1987-09-29 A. C. Nielsen Company Methods and apparatus for automatically identifying programs viewed or recorded
US4677466A (en) * 1985-07-29 1987-06-30 A. C. Nielsen Company Broadcast program identification method and apparatus
US4739398A (en) * 1986-05-02 1988-04-19 Control Data Corporation Method, apparatus and system for recognizing broadcast segments
US6553178B2 (en) * 1992-02-07 2003-04-22 Max Abecassis Advertisement subsidized video-on-demand system
US5436653A (en) * 1992-04-30 1995-07-25 The Arbitron Company Method and system for recognition of broadcast segments
US5442390A (en) * 1993-07-07 1995-08-15 Digital Equipment Corporation Video on demand with memory accessing and or like functions
KR0132858B1 (ko) * 1993-11-30 1998-04-18 김광호 비디오 반복 재생 방법
US6252965B1 (en) * 1996-09-19 2001-06-26 Terry D. Beard Multichannel spectral mapping audio apparatus and method
AU5197998A (en) 1996-11-01 1998-05-29 Jerry Iggulden Method and apparatus for automatically identifying and selectively altering segments of a television broadcast signal in real-time
US6014706A (en) * 1997-01-30 2000-01-11 Microsoft Corporation Methods and apparatus for implementing control functions in a streamed video display system
CA2196930C (en) * 1997-02-06 2005-06-21 Nael Hirzalla Video sequence recognition
GB2327167A (en) 1997-07-09 1999-01-13 Register Group Limited The Identification of television commercials
US5996015A (en) * 1997-10-31 1999-11-30 International Business Machines Corporation Method of delivering seamless and continuous presentation of multimedia data files to a target device by assembling and concatenating multimedia segments in memory
US6173287B1 (en) * 1998-03-11 2001-01-09 Digital Equipment Corporation Technique for ranking multimedia annotations of interest
US6628824B1 (en) * 1998-03-20 2003-09-30 Ken Belanger Method and apparatus for image identification and comparison
US6452609B1 (en) 1998-11-06 2002-09-17 Supertuner.Com Web application for accessing media streams
GB9916459D0 (en) 1999-07-15 1999-09-15 Pace Micro Tech Plc Improvements relating to television programme viewing system
US7194752B1 (en) * 1999-10-19 2007-03-20 Iceberg Industries, Llc Method and apparatus for automatically recognizing input audio and/or video streams
US6469749B1 (en) 1999-10-13 2002-10-22 Koninklijke Philips Electronics N.V. Automatic signature-based spotting, learning and extracting of commercials and other video content
US6577346B1 (en) * 2000-01-24 2003-06-10 Webtv Networks, Inc. Recognizing a pattern in a video segment to identify the video segment
US6990453B2 (en) * 2000-07-31 2006-01-24 Landmark Digital Services Llc System and methods for recognizing sound and music signals in high noise and distortion
DE60236161D1 (de) * 2001-07-20 2010-06-10 Gracenote Inc Automatische identifizierung von klangaufzeichnungen

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100774194B1 (ko) * 2006-02-24 2007-11-08 엘지전자 주식회사 방송 재생 장치 및 방송 재생 방법
KR101035990B1 (ko) * 2008-08-27 2011-05-23 한국외국어대학교 연구산학협력단 이미지 세분화 방법 및 컴퓨터 판독가능 수단
KR101129974B1 (ko) * 2008-12-22 2012-03-28 (주)오디즌 객체 기반 오디오 컨텐츠 생성/재생 방법 및 그 장치
US8751024B2 (en) 2008-12-22 2014-06-10 Electronics And Telecommunications Research Institute Method and apparatus for generation and playback of object based audio contents

Also Published As

Publication number Publication date
TWI333380B (en) 2010-11-11
US20040001160A1 (en) 2004-01-01
US20050063667A1 (en) 2005-03-24
CN100531362C (zh) 2009-08-19
AU2003280514A1 (en) 2004-01-19
CN1666520A (zh) 2005-09-07
KR100988996B1 (ko) 2010-10-20
WO2004004345A1 (en) 2004-01-08
JP4418748B2 (ja) 2010-02-24
KR100957987B1 (ko) 2010-05-17
TW200402654A (en) 2004-02-16
US20040001161A1 (en) 2004-01-01
US7461392B2 (en) 2008-12-02
US7523474B2 (en) 2009-04-21
JP2006515721A (ja) 2006-06-01
KR20050014859A (ko) 2005-02-07
TWI329455B (en) 2010-08-21
TW200405980A (en) 2004-04-16

Similar Documents

Publication Publication Date Title
KR100988996B1 (ko) 반복 미디어 객체의 범위 결정 방법, 및 컴퓨터 판독가능 기록매체
JP4658598B2 (ja) ストリームに埋め込まれた反復オブジェクトに対するユーザ制御を提供するシステムおよび方法
US6766523B2 (en) System and method for identifying and segmenting repeating media objects embedded in a stream
US7877438B2 (en) Method and apparatus for identifying new media content
US7333864B1 (en) System and method for automatic segmentation and identification of repeating objects from an audio stream
EP1485815B1 (en) Method and apparatus for cache promotion
KR101143115B1 (ko) 다중 동기화된 데이터 스트림들에 대한 데이터베이스 검색속도를 증진하기 위한 시스템 및 방법
Herley ARGOS: Automatically extracting repeating objects from multimedia streams
US20060080356A1 (en) System and method for inferring similarities between media objects
US20040260682A1 (en) System and method for identifying content and managing information corresponding to objects in a signal
US20030018709A1 (en) Playlist generation method and apparatus
US20050044561A1 (en) Methods and apparatus for identifying program segments by detecting duplicate signal patterns
US11556587B2 (en) Audio matching
Herley Extracting repeats from media streams
EP1947576A1 (en) Method for storing media data from a broadcasted media data stream

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20130927

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140929

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150918

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160921

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170919

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180918

Year of fee payment: 9