KR20140038374A - 클라이언트 장치에 의해 데이터 스트림 내 콘텐트를 식별하는 방법 및 시스템 - Google Patents
클라이언트 장치에 의해 데이터 스트림 내 콘텐트를 식별하는 방법 및 시스템 Download PDFInfo
- Publication number
- KR20140038374A KR20140038374A KR1020137024305A KR20137024305A KR20140038374A KR 20140038374 A KR20140038374 A KR 20140038374A KR 1020137024305 A KR1020137024305 A KR 1020137024305A KR 20137024305 A KR20137024305 A KR 20137024305A KR 20140038374 A KR20140038374 A KR 20140038374A
- Authority
- KR
- South Korea
- Prior art keywords
- client device
- media content
- signature
- media
- signature file
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H60/00—Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
- H04H60/35—Arrangements 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/37—Arrangements 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/19—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
- G11B27/28—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/439—Processing of audio elementary streams
- H04N21/4394—Processing of audio elementary streams involving operations for analysing the audio stream, e.g. detecting features or characteristics in audio streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8549—Creating video summaries, e.g. movie trailer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H2201/00—Aspects of broadcast communication
- H04H2201/90—Aspects of broadcast communication characterised by the use of signatures
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
클라이언트 장치에 의해 데이터 스트림 내 콘텐트를 식별하는 방법 및 시스템이 제공된다. 본 발명의 방법은 미디어 콘텐트에서 추출된 하나 이상의 피처와, 미디어 콘텐트를 식별하는 정보를 표시하는 시그너처 파일을 클라이언트 장치에서 수신하는 것을 포함한다. 본 발명의 방법은 또한, 시그너처 파일과의 비교에 기초하여, 클라이언트 장치가 미디어 렌더링 소스에 의해 제공된 수신 미디어 콘텐트의 콘텐트 식별을 수행하는 것을 포함한다. 클라이언트 장치는 클라이언트 장치의 물리적 위치, 클라이언트 장치의 네트워크 주소, 클라이언트 장치의 이전 콘텐트 인식 요청, 장르 선호, 아티스트 선호, 및 사용자 프로파일을 포함하는 임의의 수의 인자들에 기초하여 한 세트의 시그너처 파일들을 수신할 수 있다.
Description
본 발명은 미디어 스트림 내 콘텐트(content)를 식별하는 것에 관한 것이다. 예를 들면, 본 발명은 클라이언트 장치에 저장된 시그너처 파일(signature files)에 기초하여 미디어 스트림 내 콘텐트의 콘텐트 식별을 수행하는 클라이언트 장치에 관한 것이다.
오디오 또는 비디오와 같은 다양한 데이터 타입을 위한 콘텐트 식별 시스템은 다수의 상이한 방법들을 사용한다. 클라이언트 장치(client device)는 미디어 스트림(라디오와 같은)의 미디어 샘플 레코딩을 캡처한 다음, 상기 미디어 스트림(media stream)을 식별하기 위해 미디어 레코딩의 데이터베이스(미디어 트랙(media tracks)으로도 알려짐)에서 매치(match)의 탐색을 수행하도록 서버에 요청할 수 있다. 예를 들면, 상기 샘플 레코딩은 콘텐트 식별 서버 모듈에 전달되며, 상기 콘텐트 식별 서버 모듈은 상기 샘플의 콘텐트 식별을 수행하고 식별 결과를 클라이언트 장치에 반환할 수 있다. 인식 결과는 그 다음에 사용자의 클라이언트 장치에 표시되거나 구매 또는 관련 정보의 참조와 같은 다양한 후속 서비스들을 위해 사용될 수 있다. 콘텐트 식별을 위한 다른 응용들은 예를 들면 방송 모니터링 또는 콘텐트-민감형 광고를 포함한다.
기존 콘텐트 식별 시스템은 콘텐트 식별 요청을 개시하기 위해 사용자와의 상호작용을 필요로 할 수 있다. 종종, 사용자는 노래가 끝난 후에, 예를 들면 노래를 식별할 기회를 놓친 후에 요청을 개시할 수 있다.
또한, 콘텐트 식별 시스템 내에서, 중앙 서버는 클라이언트 장치들로부터 콘텐트 식별 요청을 수신하고 샘플의 콘텐트를 식별하기 위해 집중적인 연산 절차를 수행한다. 인식을 수행하기 위해 가용한 서버들의 수에 제한이 있기 때문에 과도한 요청은 클라이언트 장치에 결과를 제공할 때 지연을 초래할 수 있다.
어떤 실시예에서는, 클라이언트 장치에서 시그너처 파일을 수신하는 방법이 제공되며, 상기 시그너처 파일은 미디어 콘텐트로부터 추출된 하나 이상의 피처와 상기 미디어 콘텐트를 식별하는 정보를 표시한다. 상기 방법은 또한 상기 시그너처 파일과의 비교를 기초로, 상기 클라이언트 장치가 미디어 렌더링 소스로부터 제공된 수신 미디어 콘텐트의 콘텐트 식별을 실행하는 것을 포함한다.
다른 실시예에서, 서버에 의해, 클라이언트 장치를 위해 시그너처 파일 데이터베이스로부터 한 세트의 시그너처 파일을 결정하는 단계를 포함하고, 각각의 시그너처 파일은 각각의 미디어 콘텐트로부터 추출된 하나 이상의 피처와 상기 각각의 미디어 콘텐트를 식별하는 정보를 표시한다. 상기 방법은 또한 상기 한 세트의 시그너처 파일을 상기 클라이언트 장치에 제공하는 단계를 포함한다.
여기서 기술된 방법들 어느 것이라도 비일시적인 컴퓨터로 읽을 수 있는 기록매체에 저장된 명령들의 형태로 제공될 수 있으며, 그 명령들은 컴퓨팅 장치에 의해 실행될 때, 컴퓨팅 장치로 하여금 상기 방법의 단계들을 수행시킨다. 추가의 실시예들은 또한 컴퓨터로 읽을 수 있는 부호화된 명령들을 내장한 유형의 컴퓨터 판독 가능한 기록매체를 포함하는 제품을 포함할 수 있으며, 상기 명령들은 전술한 방법들의 단계들을 실행하는 명령을 포함할 수 있다.
또 다른 실시예에서, 임의의 타입의 장치들이 전술한 임의의 프로세스 또는 방법들의 논리적 단계들(기능들)을 수행하기 위해 사용되거나 구성될 수 있다.
다른 실시예에서, 데이터베이스(DB) 및 이 데이터베이스에 접속된 콘텐트 식별 모듈을 포함하는 클라이언트 장치가 제공된다. 상기 DB는 시그너처 파일을 수신하여 저장하고, 시그너처 파일은 미디어 콘텐트로부터 추출된 하나 이상의 피처와 상기 미디어 콘텐트를 식별하는 정보를 표시한다. 상기 콘텐트 식별 모듈은 시그너처 파일과의 비교를 기초로 미디어 렌더링 소스에 의해 제공된 수신 미디어 콘텐트의 콘텐트 식별을 수행하도록 구성된다.
또 다른 실시예에서, 시그너처 파일들을 저장하도록 구성된 데이터베이스를 포함하는 서버가 제공되며, 각각의 시그너처 파일은 각각의 미디어 콘텐트로부터 추출된 하나 이상의 피처와 상기 각각의 미디어 콘텐트를 식별하는 정보를 표시한다. 상기 서버는 또한, 상기 데이터베이스에 접속되고, 클라이언트 장치를 위해 저장된 시그너처 파일들로부터 한 세트의 시그너처 파일을 결정하고, 상기 시그너처 파일들의 세트를 클라이언트 장치에 제공하여, 클라이언트 장치로 하여금 수신 미디어 콘텐트의 콘텐트 식별을 수행시키는 콘텐트 식별 모듈을 포함한다.
전술한 요약은 단지 설명을 위한 것이며 본 발명을 한정하려는 의도는 없다. 전술한 측면들, 실시예들, 및 특징들에 추가하여, 추가의 측면들, 실시예들, 및 특징들이 도면들과 아래의 상세한 설명을 참조함으로써 더욱 명백해질 것이다.
도 1은 데이터 스트림 내 콘텐트를 식별하는 시스템의 일 실시예를 도시하고,
도 2는 시그너처를 준비하는 일 실시예 시스템을 도시하고,
도 3은 일 실시예 콘텐트 식별 방법을 도시하고,
도 4는 데이터 스트림 내 콘텐트를 식별하는 일 실시예 방법의 흐름도이고,
도 5는 데이터 스트림 내 콘텐트를 식별하고 클라이언트 장치를 위한 시그너처 파일을 결정하는 일 실시예 시스템을 도시한다.
도 2는 시그너처를 준비하는 일 실시예 시스템을 도시하고,
도 3은 일 실시예 콘텐트 식별 방법을 도시하고,
도 4는 데이터 스트림 내 콘텐트를 식별하는 일 실시예 방법의 흐름도이고,
도 5는 데이터 스트림 내 콘텐트를 식별하고 클라이언트 장치를 위한 시그너처 파일을 결정하는 일 실시예 시스템을 도시한다.
이하의 상세한 설명에서, 본 명세서의 일부를 구성하는 첨부 도면들을 참조한다. 도면에서, 유사한 부호들은 문맥이 달리 지시하지 않는 한 통상 유사한 구성요소를 식별한다. 상세한 설명, 도면 및 청구항들에서 기술된 실시예는 한정하는 것을 의도하지 않는다. 다른 실시예들이 이용될 수 있으며, 본 명세서에서 제시된 주제의 범위 또는 사상을 벗어나지 않으면서 다른 변경이 이루어질 수 있다. 본 명세서와 도면에서 일반적으로 기술되는 본 발명의 측면들은 본 명세서에서 명시적으로 고려된 다양한 상이한 구성들로 배열, 치환, 결합, 분리 및 설계될 수 있다.
본 발명은 특히 클라이언트 장치에 의해 데이터 스트림 내 콘텐트를 식별하는 방법 및 시스템에 관한 것이다. 상기 방법은 미디어 콘텐트로부터 추출된 하나 이상의 피처(feature) 및 상기 미디어 콘텐트를 식별하는 정보를 나타내는 시그너처 파일을 클라이언트 장치에서 수신하는 것을 포함할 수 있다. 상기 방법은 또한 상기 시그너처 파일과의 비교를 기초로 상기 클라이언트 장치가 미디어 렌더링 소스(media rendering source)에 의해 공급된 수신 미디어 콘텐트의 콘텐트 식별을 수행하는 것을 포함한다. 클라이언트 장치는 클라이언트 장치의 물리적 위치, 클라이언트 장치의 네트워크 주소, 클라이언트 장치의 과거 콘텐트 식별 요청, 장르 선호, 아티스트 선호, 및 사용자 프로파일을 포함하는 임의의 개수의 인자들에 기초하여 한 세트의 시그너처 파일들을 수신할 수 있다.
이제 도면을 참조하면, 도 1은 미디어 데이터 스트림 내 콘텐트를 식별하는 시스템의 일 실시예를 도시한다. 도 1은 소정의 구성을 갖는 시스템을 도시하고 있지만, 상기 시스템 내 구성요소들은 다른 방식으로 배열될 수 있다. 상기 시스템은 임의의 알려진 방식의 미디어 스트림으로 콘텐트를 제공하는 미디어/데이터 렌더링 소스(102)를 포함한다. 미디어 스트림은 미디어 렌더링 소스(102)에 저장되거나, 아날로그 또는 디지털 방송과 같은 외부 소스로부터 수신될 수 있다. 일 실시예에서, 미디어 렌더링 소스(102)는 미디어 스트림(예컨대, 오디오 및/또는 비디오) 및/또는 다른 정보를 방송하는 라디오 방송국 또는 TV 콘텐트 공급자일 수 있다. 미디어 렌더링 소스(102)는 또한 오디오 또는 비디오 미디어를 녹화된 또는 실시간 형식으로 재현하는 임의의 타입의 장치일 수 있다. 대안적인 실시예에서, 미디어 렌더링 소스(102)는 예를 들면 오디오 소스 및/또는 비디오 소스로서 라이브 공연을 포함할 수 있다. 미디어 렌더링 소스(102)는 미디어 스트림을, 예를 들면 그래픽 디스플레이, 오디오 스피커, MIDI 악기, 애니마트로닉 인형(animatronic puppet) 등을 통해, 또는 미디어 렌더링 소스(102)에 의해 제공되는 임의의 다른 종류의 제시물을 통해 제공할 수 있다.
클라이언트 장치(104)는 입력 인터페이스(106)를 통해 미디어 렌더링 소스(102)로부터의 미디어 스트림 제공을 수신한다. 일 실시예에서, 입력 인터페이스(106)는 안테나를 포함할 수 있으며, 이 경우에 미디어 렌더링 소스(102)는 미디어 스트림을 무선으로 클라이언트 장치(104)에 방송할 수 있다. 그러나 미디어 스트림의 형식에 따라, 미디어 렌더링 소스(102)는 무선 또는 유선 통신 기술을 사용하여 미디어를 공급할 수 있다. 다른 실시예에서, 입력 인터페이스(106)는 마이크로폰, 비디오 카메라, 진동 센서, 무선 수신기, 네트워크 인터페이스 등 어느 것이라도 포함할 수 있다. 구체적인 예로서, 미디어 렌더링 소스(102)는 음악을 연주할 수 있으며, 입력 인터페이스(106)는 상기 음악의 샘플을 수신하기 위해 마이크로폰을 포함할 수 있다.
실시예들에서, 클라이언트 장치(104)는 미디어 스트림의 공급을 수신하기 위한 것 외에는, 미디어 렌더링 소스(102)에 동작상 접속되지 않을 것이다. 이 방식에서, 클라이언트 장치(104)는 미디어 렌더링 소스(102)에 의해 제어되지 않고, 미디어 렌더링 소스(102)의 일체 부분도 아닐 수 있다. 도 1에 도시된 실시예에서, 클라이언트 장치(104)는 미디어 렌더링 소스(102)와 별개의 개체이다.
입력 인터페이스(106)는 제공된 미디어 스트림의 미디어 샘플을 캡처하도록 구성된다. 입력 인터페이스(106)는, 수신된 모든 오디오를 녹음하고 버퍼(108) 내에 레코딩(recordings)을 저장하도록, 이용자 개입 없이 연속적으로 미디어 샘플을 캡처하도록 프로그램될 수 있다. 버퍼(108)는, 클라이언트 장치(104)가, 예를 들면 미리 결정된 간격으로, 또는 시간상 과거의 특정 길이의 이력 분석을 위해 이용가능한 방식으로, 레코딩을 기록 및 저장할 수 있도록, 다수의 레코딩을 저장하거나 제한된 시간 동안 레코딩을 저장할 수 있다, 다른 실시예에서, 미디어 샘플의 캡처는 사용자가 버튼 또는 다른 애플리케이션을 작동시켜 샘플 캡처를 개시함으로써 작동될 수 있다. 예를 들면, 클라이언트 장치(104)의 사용자는 버튼을 눌러 마이크로폰을 통한 오디오의 디지털 샘플을 10초 동안 기록하거나, 또는 카메라를 사용하여 정지 이미지 또는 비디오 시퀀스를 캡처할 수 있다.
클라이언트 장치(104)는 휴대전화(cell phone), 무선 휴대전화(wireless cell phone), PDA(personal data assistance), 태블릿 컴퓨터, PMP(personal media player) 장치, 무선 웹-워치(web-watch) 장치, 개인용 헤드셋 장치, 애플리케이션 전용장치, 또는 전술한 기능들 중 하나 이상을 포함하는 하이브리드 장치와 같은 소형 폼 팩터(small-form factor) 휴대형(또는 모바일) 전자장치의 일부로서 구현될 수 있다. 클라이언트 장치(104)는 또한 랩탑 컴퓨터와 랩탑 이외의 컴퓨터 구성 둘 다를 포함하는 개인용 컴퓨터로서 구현될 수 있다. 클라이언트 장치(104)는 또한 더 큰 장치 또는 시스템의 구성요소일 수도 있다.
클라이언트 장치(104)는 위치 식별 모듈(110)과 콘텐트 식별 모듈(112)을 추가로 포함한다. 위치 식별 모듈(110)은 버퍼(108)로부터 미디어 샘플을 수신하고, 그 순간에 캡처되고 있는 미디어 샘플에 기초하여 상기 제공된 미디어 스트림 내에서(또는 상기 제공된 미디어 스트림의 세그먼트 내에서) 상기 미디어 샘플의 시간 오프셋을 지시하는 대응하는 추정된 시간 위치(Ts)를 식별한다. 시간 위치(Ts)는 또한, 어떤 실시예에서는, 미디어 스트림의 시작부터 경과된 시간의 양일 수 있다. 예를 들면, 미디어 스트림은 라디오 방송일 수 있으며, 시간 위치(Ts)는 방송되고 있는 노래의 경과된 시간의 양에 대응할 수 있다.
콘텐트 식별 모듈(112)은 버퍼(108)로부터 미디어 샘플을 수신하고, 수신된 미디어 스트림에 대해 콘텐트 식별을 수행한다. 콘텐트 식별은 미디어 스트림을 식별하거나, 미디어 샘플에 대한 또는 미디어 샘플에 관련된 정보를 식별한다. 콘텐트 식별 모듈(112)은 주변 오디오의 샘플들을 수신하고, 상기 오디오 샘플의 음악 콘텐트를 식별하고, 트랙 이름, 아티스트(artist), 앨범, 아트워크(artwork), 바이오그래피(biography), 디스코그래피(discography), 콘서트 티켓 등을 포함하는 음악에 대한 정보를 제공한다.
이와 관련하여, 콘텐트 식별 모듈(112)은 미디어 서치 엔진(114)을 포함하며, 상기 수신된 미디어 샘플 내의 트랙을 식별하기 위해 상기 수신된 미디어 샘플을 저장된 정보와 비교하기 위해, 예를 들면 기준 미디어 스트림에 색인을 다는(indexing) 데이터베이스(116)를 포함하거나 그것에 접속될 수 있다. 일단 미디어 스트림 내의 트랙이 식별되면, 트랙 정체 또는 다른 정보가 클라이언트 장치(104)의 디스플레이에 표시될 수 있다.
데이터베이스(116)는 콘텐트의 조각들을 식별하기 위한 정보를 포함하는 콘텐트 패턴들을 저장할 수 있다. 콘텐트 패턴은 음악, 광고, CM송(jingles), 영화, 문서, TV 및 라디오 프로그램과 같은 미디어 레코딩을 포함할 수 있다. 각각의 레코딩은 고유 식별자(예컨대, sound_ID)에 의해 식별될 수 있다. 대안으로, sound_ID는 다른 곳으로부터 오디오 파일을 검색하기 위해 사용될 수 있기 때문에, 데이터베이스(116)는 각각의 레코딩에 대해 오디오 또는 비디오 파일을 반드시 저장하지 않을 수도 있다. 상기 콘텐트 패턴은 미디어 레코딩의 시간대(timeline)에 대응하는 시간 차원을 갖는 미디어 레코딩의 콘텐트를 기술하는 시간적으로 매핑된(mapped) 피처의 모음을 포함하는 기준 시그너처 파일과 같은 다른 정보를 (미디어 레코딩에 추가로 또는 그 대신에) 포함할 수 있으며, 각각의 피처는 각각의 매핑된 시점 근처의 콘텐트의 설명일 수 있다. 일반적으로 시그너처 파일 내의 피처는 예를 들면 잡음 및 왜곡의 존재 시 재생가능하도록 선택될 수 있다. 피처는 불연속적인 시간 위치에서 희박하게(sparsely) 미디어 레코딩으로부터 추출될 수 있으며, 각각의 피처는 관심 있는 피처에 대응할 수 있다. 희박한 피처의 예는 Lp 기준 파워 피크(norm power peaks), 스펙트로그램(spectrogram) 에너지 피크, 연결 각점(linked salient points) 등을 포함한다. 추가 예로서, 참조에 의해 전체적으로 본 명세서에 포함되는, Wang 및 Smith의 미국 특허 제6,990,453호를 참조할 수 있다.
대안으로, 연속 시간 축이 조밀하게 표현될 수 있으며, 이 경우 모든 시간 값은 대응하는 피처 값을 가지며, 이것은 미디어 레코딩에 대한 시그너처 파일에 포함되거나 표현될 수 있다. 그와 같은 조밀한 피처(dense features)의 예는 피처 파형들(참조에 의해 본 명세서에 포함되는, Kenyon의 미국 특허 제7,174,293호에 기재된 것과 같은), 스펙트로그램 비트맵 래스터(spectrogram bitmap raster)(참조에 의해 본 명세서에 포함되는, 미국 특허 제5,437,050호에 기재됨), 액티비티 매트릭스(activity matrix)(참조에 의해 본 명세서에 포함되는 미국 특허출원 공개 제2010/0145708호에 기재된 것과 같은), 및 에너지 플럭스(flux) 비트맵 래스터(참조에 의해 본 명세서에 포함되는, 미국 특허 제7,549,052호에 기재된 것과 같은)를 포함한다.
일 예에서, 시그너처 파일은 미디어 레코딩의 희박한 피처 표현을 포함한다. 상기 미디어 레코딩의 피처는 중첩된 단기 고속 푸리에 변환(FFT: Fast Fourier Transforms)을 사용하여 추출된 스펙트로그램으로부터 획득될 수 있다. 스펙트로그램의 피크들은 대응하는 에너지 값이 국소 최대(local maximum)인 시간-주파수 위치에서 선택될 수 있다. 예를 들면, 피크들은 각각의 후보 위치를 둘러싸는 영역에서 국소 최대인 점들을 식별함으로써 선택될 수 있다. 들을 수 없는 에너지 피크들을 억제하기 위해 음향심리학적 마스킹 기준이 사용될 수도 있다. 각각의 피크는 한 쌍의 시간 및 주파수 값들로서 부호화될 수 있다. 또한, 피크들의 에너지 진폭이 기록될 수도 있다. 일 실시예에서, 오디오 샘플링 레이트는 8 kHz이고, FFT 프레임 사이즈는 약 64 - 1024 빈(bins) 사이에서 변할 수 있으며, 이때 이전 프레임과 약 25-75% 중첩하는 프레임들 사이의 홉 사이즈(hop size)를 갖는다. 주파수 해상도를 증가시키면 시간 정밀도가 감소된다. 또한, 주파수 축은, 멜-주파수(mel-frequency)와 같이, 휘어져 대수 눈금으로 보정될 수 있다.
다수의 피처 또는 피처와 관련된 정보가 시그너처 파일에 결합될 수 있다. 시그너처 파일은 시간의 증가에 따라 정렬된 목록으로서 피처의 순서를 정할 수 있다. 각각의 피처(Fj)는 데이터 구성체에서 시간 값(tj)과 연관될 수 있으며, 상기 목록은 그와 같은 구성체들의 어레이가 될 수 있다. 이때 j는 예를 들면 j번째 구성체의 인덱스이다. 연속 시간 표현, 예를 들면 스펙트로그램의 연속 프레임들을 사용하는 실시예에서, 시간 축은 목록 어레이의 인덱스에 내포될 수 있다. 각 미디어 레코딩 내의 시간 축은 레코딩의 시작으로부터 오프셋으로서 획득 가능하므로, 시간 0은 상기 레코딩의 시작을 지칭한다.
도 2는 시그너처 파일을 생성하는 실시예 시스템을 도시한다. 상기 시스템은 미디어 레코딩 데이터베이스(DB)(202), 피처 추출 모듈(204), 및 미디어 시그너처 데이터베이스(206)를 포함한다. 미디어 레코팅 DB(202)는 미디어 레코딩(예컨대, 노래 또는 비디오)의 다수의 사본 또는 상기 미디어 레코딩의 다수의 사본에 대한 참조(reference)를 포함할 수 있다. 피처 추출 모듈(204)은 미디어 레코딩 DB(202)에 접속될 수 있고 처리를 위해 미디어 레코딩을 수신할 수 있다. 도 2는 미디어 레코딩 DB(202)로부터 오디오 트랙을 수신하는 피처 추출 모듈을 개념적으로 도시한다.
피처 추출 모듈(204)은 임의의 전술한 방법들을 사용하여 미디어 레코딩으로부터 피처를 추출하여 상기 미디어 레코딩에 대한 시그너처 파일(208)을 생성한다. 피처 추출 모듈(204)은 미디어 시그너처 DB(206)에 시그너처 파일을 저장할 수 있다. 미디어 시그너처 DB(206)는 예를 들면 도 2에 도시된 것과 같이 관련된 식별자와 함께 시그너처 파일을 저장할 수 있다. 시그너처 파일들의 생성은 일괄 모드로 실행될 수 있으며 기준(reference) 미디어 레코딩의 라이브러리가 예를 들면 대응하는 피처-추출된 기준 시그너처 파일들의 라이브러리 안으로 미리 처리될 수 있다. 피처 추출 모듈(204)로의 미디어 레코딩 입력은 버퍼에 저장될 수 있다(예를 들면, 이 경우 오래된 레코딩들은 롤링 버퍼(rolling buffer) 밖으로 보내지고 새로운 레코딩들이 수신된다). 시간상 갭이 없는 것을 나타내도록 미디어 레코딩들의 롤링 버퍼의 연속 동작으로부터 연속해서, 또는 필요에 따라 요청 시(on-demand)에 피처가 추출되고 시그너처 파일이 생성될 수 있다. 요청 시의 실시예에서, 피처 추출 모듈(204)은 대응하는 피처에 대한 요청에 응답하여 피처를 추출하기 위해 미디어 레코딩 DB(202)로부터 필요한 미디어 레코딩들을 검색할 수 있다. 일 실시예에서, 그렇게 얻어진 기준 시그너처 파일들의 라이브러리는 그 다음에 클라이언트 장치(104)에 저장되거나 제공될 수 있다.
생성된 시그너처 파일의 크기는 사용된 피처 추출 방법에 따라 변할 수 있다. 일 실시예에서, 선택된 스펙트로그램 피크(예컨대, 피처)의 밀도는 초당 약 10-50 포인트들 사이에 있도록 선택될 수 있다. 피처는 단위 시간당 상위 N개의 가장 활동적인 피크들, 예를 들면 1초 프레임 내의 상위 10개 피크들로서 선택될 수 있다. 초당 10개의 피크들을 사용하는 일 실시예에서, 각 피크 빈도(frequency)를 부호화하기 위해 32비트를 사용하면(예컨대, 빈도 값을 위해 8 비트, 시간 오프셋의 부호화를 위해 24 비트), 상기 피처를 부호화하기 위해 초당 40 바이트가 필요할 것이다. 평균 약 3분 길이의 노래에서, 약 7.2 KB의 시그처 파일 크기가 한 곡의 노래에 대해 생성된다. 다른 시그너처 부호화 방법들에서, 예를 들어, 100 ms의 홉 사이즈(hop size)를 갖는 스펙트로그램의 모든 오프셋에서 32 비트 피처를 사용한다면, 유사한 크기의 지문(fingerprint)이 생성된다.
또 다른 예에서, 시그너처 파일은 약 5-10 KB의 크기일 수 있고, 약 20초의 길이를 갖는, 샘플이 획득된 미디어 레코딩의 부분에 대응할 수 있으며, 캡처된 샘플의 종료 후 상기 미디어 레코딩의 부분을 지칭한다.
어떤 실시예에서는, 시그너처 파일은 상기 레코딩의 피처를 기술함으로써 미디어 레코딩의 지문을 나타낼 수 있다. 이 점에서, 미디어 레코딩의 시그너처 파일들은 레코딩의 지문으로 생각될 수 있으며, 시그너처 또는 지문은 시그너처 파일에 포함될 수 있다.
도 2에 도시된 시스템은 클라이언트 장치(104) 또는 서버(122)에 포함될 수 있다. 상기 시스템이 클라이언트 장치에 포함되는 실시예에서, 미디어 레코딩 DB(202)는 자체 저장된 미디어(예컨대, 음악 라이브러리)를 포함할 수 있다. 다른 실시예에서, 클라이언트 장치(104)는 서버로부터, 또는 라디오 방송, 스트리밍 인터넷 라디오 등과 같은 스트림으로부터 캡처된 원시 콘텐트(예컨대, 음악 파일들)을 수신하고, DB(116)를 시그너처 파일들로 채우기 위해 시그너처 추출을 수행할 수 있다. 또 다른 실시예에서, 새로운 미디어 레코딩을 수신하는 즉시(예컨대, 사용자가 새로운 노래를 구입하고 그 노래를 클라이언트 장치(104)에 다운로드함.), 클라이언트 장치(104)는 상기 새로운 미디어 레코딩을 위한 시그너처 파일을 생성하기 위해 시그너처 피처를 추출할 수 있다. 클라이언트 장치(104)는 원시 콘텐트를 식별하는 정보(예를 들면, 노래 제목, 아티스트, 장르 등), 광고 등, 또는 상기 원시 콘텐트와 관련된 서버로부터 수신된 임의의 정보와 같은 정보를 생성된 시그너처 파일과 관련시킬 수 있다.
다시 도 1을 참조하면, DB(116)는 다수의 미디어 레코딩을 위한 시그너처 파일을 포함할 수 있으며, 새로운 미디어 레코딩을 위한 시그너처 파일을 포함하기 위해 계속해서 갱신될 수 있다. DB(116)는 서버로부터 새로운 시그너처 파일을 병합하는 명령뿐만 아니라 오래된 시그너처 파일을 삭제하는 명령을 수신할 수 있다. DB(116)는 미디어 파일의 추출된 피처와 관련된 정보를 추가로 포함할 수 있다. DB(116)는 클라이언트 장치(104)가 자체에 저장된 시그너처 파일들에 매칭하는 콘텐트의 콘텐트 식별을 수행 가능하게 하는 다수의 시그너처 파일들을 포함할 수 있다.
DB(116)는 또한, 예를 들면, 아티스트 이름, 노래의 길이, 노래의 가사, 가사의 라인 또는 단어들에 대한 시간 인덱스, 앨범 아트워크, 또는 파일에 대한 다른 식별 또는 관련 정보와 같은 시그너처 파일에 대한 정보를 표시하는 메타데이터와 같은, 각각의 저장된 시그너처 파일에 대한 정보를 포함할 수 있다. 메타데이터는 또한, 월드 와이드 웹상의 관련 콘텐츠의 열람(browsing), 탐색(exploring), 발견(discovering)을 촉진하는 외에, 음악 레코딩, 비디오, 콘서트 티켓, 및 보너스 콘텐트의 구입, 프리뷰 및 북마크의 제안, 추천, 광고를 포함하는, 다른 관련 콘텐트 및 서비스에 대한 하이퍼링크 및 데이터를 포함할 수 있다.
콘텐트 식별 모듈(112)은 또한 캡처된 미디어 샘플로부터 추출된 피처의 시그너처 스트림을 생성하는 시그너처 추출기(118)를 포함할 수 있으며, 각각의 피처는 샘플 내에서 대응하는 시간 위치를 가질 수 있다. 추출된 피처의 시그너처 스트림은 대응하는 미디어 레코딩을 식별하기 위해 DB(116) 내의 저장된 시그너처 파일과 비교하기 위해 사용될 수 있다. 어떤 실시예에서는, 시그너처 추출기(118)는 시그너처 파일을 생성하는 전술한 방법들 중 어느 것을 사용하여 미디어 샘플로부터 피처를 추출하고, 추출된 피처의 시그너처 스트림을 생성하도록 구성될 수 있다. 시그너처 스트림은 예를 들면 관찰된 미디어 스트림에 기초하여 실시간으로 결정되고 생성될 수 있다.
콘텐트 식별 모듈(112) 및/또는 시그너처 추출기(118)는 또한 해당하는 시간에 매칭 피처를 식별하기 위해 미디어 샘플과 시그너처 파일 내의 피처의 정렬(alignment)을 비교하도록 구성된다.
도 1의 시스템은 또한 클라이언트 장치(104)가 무선 또는 유선 링크를 통해 접속될 수 있는 네트워크(120)를 포함한다. 서버(122)는 네트워크(120)에 접속된 서버(120)가 제공되고, 서버(120)는 위치 식별 모듈(124)과 콘텐트 식별 모듈(126)을 포함한다. 도 1은 서버(120)가 위치 식별 모듈(124)과 콘텐트 식별 모듈(126) 둘 다를 포함하는 것으로 도시하고 있지만, 위치 식별 모듈(124)과 콘텐트 식별 모듈(126) 중 적어도 하나는 예를 들면 서버(122)로부터 떨어진 별도의 개체일 수 있다. 또한, 위치 식별 모듈(124) 및/또는 콘텐트 식별 모듈(126)은 예를 들면 네트워크(120)를 통해 서버(122)에 접속된 원격 서버상에 있을 수 있다.
어떤 실시예에서는, 클라이언트 장치(104)는, 미디어 샘플을 캡처하고 미디어 샘플 내 콘텐트의 정체를 결정하기 위해, 상기 미디어 샘플을 네트워크(120)를 통해 서버(122)에 전송할 수 있다. 서버(122)의 위치 식별 모듈(124)과 콘텐트 식별 모듈(126)는 클라이언트 장치(104)의 위치 식별 모듈(110) 및 콘텐트 식별 모듈(112)과 유사하게 동작하도록 구성될 수 있다. 이 점에서, 콘텐츠 식별 모듈(126)은 미디어 서치 엔진(128)을 포함하며, 예를 들어, 상기 수신된 미디어 샘플 내의 트랙을 식별하기 위해 상기 수신된 미디어 샘플과 저장된 정보를 비교하기 위해, 기준 미디어 스트림을 색인하는 데이터베이스(DB)(130)를 포함하거나 그것에 접속될 수 있다. 일단 미디어 스트림 내 트랙이 식별되면, 트랙 정체 또는 다른 정보가 클라이언트 장치(104)에 반환될 수 있다.
클라이언트 장치(104)로부터 수신된 콘텐츠 식별 의뢰에 응답하여, 서버(122)는 미디어 샘플이 획득된 미디어 레코딩을 식별하고, 및/또는 식별된 미디어 레코딩에 대응하는 시그너처 파일을 검색할 수 있다. 서버(122)는 그 다음 미디어 레코딩을 식별하는 정보, 및 미디어 레코딩에 대응하는 시그너처 파일을 클라이언트 장치(104)에 반환할 수 있다.
다른 실시예에서, 클라이언트 장치(104)는 미디어 렌더링 소스(102)로부터의 미디어 스트림의 샘플을 캡처할 수 있으며, 상기 미디어 샘플의 시그너처 파일/지문을 생성하기 위해 상기 샘플에 대해 초기 처리를 수행할 수 있다. 클라이언트 장치(104)는 그 다음에 서버(122)의 위치 식별 모듈(124) 및/또는 콘텐트 식별 모듈(126)에 상기 지문 정보를 전송할 수 있으며, 서버(122)는 단독으로 상기 지문 정보에 기초하여 상기 샘플에 관한 정보를 식별할 수 있다. 이 방식에서, 더 많은 연산 또는 식별 처리가 예를 들면 서버(122)보다는 클라이언트 장치(104)에서 실행될 수 있다.
또 다른 실시예에서, 전술한 바와 같이, 클라이언트 장치(104)는 또한 대응하는 시간에 매칭 피처를 식별하기 위해 미디어 샘플과 시그너처 파일 내의 피처의 정렬을 비교함으로써 자체적으로 콘텐트 식별을 수행할 수 있다.
미디어 샘플들의 피처와 미디어 샘플들에 대해 미디어 트랙의 DB를 사용하여 컴퓨터(computational) 콘텐트 식별을 수행하는 다양한 콘텐트 식별 기법들이 당해 기술분야에 알려져 있다. 다음 미국 특허 및 공개문헌은 미디어 인식 기법을 위한 가능한 예를 설명하며, 각각은 참조에 의해 본 명세서에 포함된다: 미국 특허 제4,843,562호(발명의 명칭: Broadcast Information Classification System and Method"; 미국 특허 제4,450,531호(발명의 명칭: Broadcast Signal Recognition System and Method"; 미국 특허출원 공개 제2008/0263360호(발명의 명칭: Generating and Matching Hashes of Multimedia Content"; 미국 특허 제7,627,477호(발명의 명칭: Robust and Invariant Audio Pattern Matching); 미국 특허출원 공개 제2007/0143777호(발명의 명칭: Method and Apparatus for Identification of Broadcast Source"; 미국 특허 제6,990,453호(발명의 명칭: System and Methods for Recognizing Sound and Music Signals in High Noise and Distortion"; 미국 특허 제5,918,223호(발명의 명칭: Method and Article of Manufacture for Content-Based Analysis, Storage, Retrieval, and Segmentation of Audio Information"; 미국 특허출원 공개 제2010/0145708호(발명의 명칭: System and Method for Identifying Original Music).
요약하면, (클라이언트 장치(104) 또는 서버(122) 내) 콘텐트 식별 모듈은 미디어 레코딩을 수신하고 그 미디어 레코딩을 샘플링하도록 구성될 수도 있다. 상기 레코딩은, 각각의 결과적인 상관 세그먼트에 대해 상관 함수 피크를 획득하여 상관 함수 피크들 사이의 간격이 미리 결정된 한계 내에 있을 때 인식 신호를 제공하기 위해, 정규화 디지털 기준 신호 세그먼트와 서로 관련될 수 있다. 상관 함수 피크들과 일치하는 RMS 파워 값들의 패턴은, 예를 들면 본 명세서에 그 전체가 병합되는 미국 특허 제4,450,531호에 언급된 것과 같이, 상기 디지털 기준 신호 세그먼트들로부터의 RMS 파워 값들의 패턴의 미리 결정된 한계 내에서 매칭할 수 있다. 상기 매칭 미디어 콘텐트는 이와 같이 식별된다. 또한, 미디어 콘텐트의 미디어 레코딩의 매칭 위치는, 예를 들면 상관 피크들의 오프셋 외에 매칭 상관 세그먼트의 위치에 의해 주어진다.
도 3은 콘텐트 식별 방법의 또 다른 실시예를 도시한다. 일반적으로, 미디어 콘텐트는, 미디어 샘플의 특성 또는 지문을 식별 또는 연산하고 상기 지문을 기준 미디어 파일들의 이전에 식별된 지문과 비교함으로써 식별될 수 있다. 지문이 연산되는 샘플 내 특정 위치들은 샘플 내 재생 가능한 지점에 종속할 것이다. 그와 같은 재생 가능하게 연산 가능한 위치들은 "랜드마크(landmarks")라고 지칭될 것이다. 상기 샘플 내 랜드마크들의 위치는 샘플 자체에 의해 결정될 수 있다. 즉, 샘플 품질에 종속하고 재생 가능하다. 즉, 프로세스가 반복될 때마다 동일한 샘플 신호에 대해 동일하거나 유사한 랜드마크들이 연산될 수 있다. 랜드마킹 스킴(landmarking scheme)은 사운드 레코딩의 경우 초당 약 5 내지 약 10개의 랜드마크를 표시할 수 있다; 그러나, 랜드마크 밀도는 미디어 레코딩 내 액티비티(activity)의 양에 종속할 것이다. 파워 기준(Power Norm)이라고 알려진 한 가지 랜드마킹 기법은 레코딩 내 다수의 시점에서 순간적인 파워를 계산하고 국소 최대(local maxima)를 선택하는 것이다. 이것을 실행하는 한 가지 방법은 파형을 직접 정류하고 필터링 하여 포락선(envelope)을 계산하는 것이다. 또 다른 방법은 신호의 힐버트 변환(Hilbert transform)(구적(quadrature))을 계산하고 힐버트 변환 및 원시 신호의 제곱 크기의 합을 사용하는 것이다. 랜드마크를 계산하는 다른 방법들도 역시 사용될 수 있다.
도 3은 시간과 샘플의 크기(dB)의 관계를 예시하는 그래프를 도시한다. 이 그래프는 다수의 식별된 랜드마크 위치(L1 내지 L8)를 도시한다. 한 랜드마크가 결정되면, 레코딩 내 각각의 랜드마크 시점에서 또는 근처에서 지문이 계산된다. 랜드마크에 대한 피처의 접근은 사용된 지문채취 방법에 의해 정해진다. 어떤 경우에서는, 피처가 랜드마크에 명백히 대응하고 이전 또는 이후의 랜드마크에 대응하지 않으면 피처가 랜드마크에 접근한 것으로 간주된다. 다른 경우에서는, 피처가 다수의 인접한 랜드마크들에 대응한다. 지문은 일반적으로 랜드마크 시점에서 또는 근처에서 레코딩 내 한 세트의 피처를 요약하는 값 또는 값들의 세트이다. 일 실시예에서, 각각의 지문은 다수 피처의 해쉬 함수(hashed function)인 단일의 숫자 값이다. 지문의 다른 예들은 스펙트럼 슬라이스(spectral slice) 지문, 멀티-슬라이스(multi-slice) 지문, LPC 계수, 셉스트럴(cepstral) 계수, 및 스펙트로그램 피크의 주파수 성분들을 포함한다.
지문은 신호에 대한 임의의 타입의 디지털 신호 처리 또는 주파수 해석에 의해 연산될 수 있다. 일 실시예에서, 스펙트럼 슬라이스 지문을 생성하기 위해, 주파수 해석이 각각의 랜드마크 시점의 이웃에서 수행되어 상위 몇 개의 스펙트럼 피크들을 추출한다. 그러면 지문 값은 가장 강한 스펙트럼 피크의 단일 주파수 값이 될 것이다. 오디오 샘플의 특성 또는 지문을 연산하는 것에 대한 더 많은 정보를 위해, 미국 특허 제6,990,453호(발명의 명칭: System and Methods for Recognizing Sound and Music Signals in High Noise and Distortion)을 참조할 수 있으며, 이 특허문헌의 전체 내용은 참조를 위해 본 명세서에 포함된다.
이와 같이, 도 1을 다시 참조하면, 클라이언트 장치(104) 또는 서버(122)는 레코딩(예컨대, 미디어/데이터 샘플)을 수신하고 상기 레코딩의 지문을 연산할 수 있다. 일 실시예에서, 레코딩에 대한 정보를 식별하기 위해, 클라이언트 장치(104)의 콘텐트 식별 모듈(112)은 그 다음, 가장 많은 수의 선형적으로 관련된 대응들을 갖는, 또는 특성 지문들의 상대적 위치가 상기 레코딩의 동일한 지문들의 상대적인 위치와 가장 밀접하게 매칭하는 파일을 찾기(locate) 위해 DB(116) 내 파일들과 동등한 지문들 사이의 대응을 생성함으로써 상기 레코딩의 지문들과 알려진 오디오 트랙들의 지문을 매칭하기 위해, DB(116)에 액세스하는 것이 가능하다.
도 3을 참조하면, 지문들이 매칭하는(또는 실질적으로 매칭하는) 기준 파일과 샘플의 랜드마크 산포도가 도시되어 있다. 샘플은 다수의 산포도를 생성하기 위해 다수의 기준 파일들에 비교될 수 있다. 산포도를 생성한 후, 랜드마크 쌍들 사이의 선형 대응이 식별될 수 있으며, 선형적으로 관련 있는 쌍들의 개수에 따라 세트들이 스코어로 기록될 수 있다. 선형 대응은, 통계적으로 의미 있는 수의 대응하는 샘플 위치들과 기준 파일 위치들이 실질적으로 동일한 1차 방정식으로, 예를 들면 허용된 오차한계 내에서 기술될 수 있을 때, 일어날 수 있다. 통계적으로 의미 있는 가장 높은 스코어를 갖는, 즉 가장 큰 수의 선형 관계 대응을 가진 세트의 파일이 승리 파일이며, 매칭 미디어 파일로서 간주될 수 있다.
일 실시예에서, 파일에 대한 스코어를 생성하기 위해, 오프셋 값들의 히스토그램이 생성될 수 있다. 상기 오프셋 값들은 지문이 매칭하는 기준 파일과 샘플 사이의 랜드마크 시간 위치들에서 차이일 수 있다. 도 3은 오프셋 값들의 히스토그램의 예를 도시한다. 기준 파일은 상기 히스토그램의 피크에 해당하는 스코어(예를 들면, 도 3에서 스코어 = 28)로 주어질 수 있다. 각각의 기준 파일은 스코어를 생성하기 위해 이런 방식으로 처리될 수 있으며, 가장 높은 스코어를 가진 기준 파일이 샘플에 대한 매치로서 결정될 수 있다.
또한, 전술한 공개문헌에서 설명된 시스템 및 방법들은 미디어 샘플의 정체이상의 것을 반환할 수 있다. 예를 들면, 미국 특허 제6,990,453호에 기재된 방법을 사용하는 것은, 식별된 오디오 트랙과 관련된 메타데이터에 추가하여, 식별된 샘플의 시작으로부터 미디어 샘플의 상대 시간 오프셋(RTO: relative time offset)을 반환할 수 있다. 레코딩의 상대 시간 오프셋을 결정하기 위해, 샘플의 지문은 지문들이 매칭하는 원시 파일들의 지문들과 비교될 수 있다. 각각의 지문은 주어진 시간에 일어나며, 따라서 샘플을 식별하기 위해 지문을 매칭한 후, 제1 지문(샘플 내 매칭 지문의)과 저장된 원시 파일의 제1 지문과의 사이의 시간 차이가 상기 샘플의 시간 오프셋, 예를 들면 노래에서 시간 양이 될 것이다. 따라서, 샘플이 취해진 상대 시간 오프셋(예컨대, 노래에서 67초)이 결정될 수 있다. RTO를 결정하기 위해 다른 정보가 사용될 수도 있다. 예를 들면, 히스토그램 피크의 위치는 기준 레코딩의 시작으로부터 샘플 레코딩의 시작까지의 시간 오프셋으로 간주될 수 있다.
다른 형태의 콘텐츠 식별 역시 미디어 샘플의 타입에 따라 수행될 수 있다. 예를 들면, 비디오 스트림(예컨대, 영화) 내 위치를 식별하기 위해 비디오 식별 알고리즘이 사용될 수 있다. 비디오 식별 알고리즘의 예는 Oostveen, J.등의 Lecture Notes in Computer Science, 2314 (2002, 3. 11)의 117-128 페이지에 기재된 "Feature Extraction and a Database Strategy for Video Fingerprinting"을 참조할 수 있으며, 그 전체 내용은 참조를 위해 본 명세서에 포함된다. 예를 들면, 비디오 내에서 비디오 샘플의 위치는 어느 비디오 프레임이 식별되었는지 결정함으로써 도출될 수 있다. 비디오 스트림을 식별하기 위해, 미디어 샘플의 프레임들은 행과 열의 그리드(grid)로 분할될 수 있으며, 그리드의 각 블록에 대해서, 픽셀들의 휘도 값들(luminance values)의 평균이 계산된다. 그리드의 각 블록에 대해 지문 비트들을 도출하기 위해 상기 계산된 평균 휘도 값들에 공간 필터가 적용될 수 있다. 지문 비트들은 프레임을 유일하게 식별하기 위해 사용될 수 있으며, 알려진 미디어를 포함하는 DB의 지문 비트들에 비교 또는 매칭될 수 있다. 프레임으로부터 추출된 지문 비트들은 서브-지문으로 지칭될 것이며, 한 지문 블록은 연속 프레임들로부터의 고정된 수의 서브-지문들이다. 서브-지문들과 지문 블록들을 사용하면, 비디오 샘플들의 식별이 수행될 수 있다. 미디어 샘플이 어떤 프레임을 포함했는지에 기초하여, 비디오에서의 위치(예컨대, 시간 오프셋)가 결정될 수 있다.
또한, 워터마킹(watermarking) 방법을 사용하는 것과 같이, 다른 형태의 콘텐트 식별이 역시 수행될 수 있다. 시간 오프셋을 결정하기 위해 위치 클라이언트 장치(104)의 위치 식별 모듈(110)에 의해 (및 유사하게 서버(122)의 위치 식별 모듈(124)에 의해) 워터마킹 방법이 사용될 수 있으며, 미디어 스트림이 임베디드 워터마크들을 간간이(at intervals) 가지며, 각각의 워터마크는 워터마크의 시간 또는 위치를 직접, 또는 예를 들면 DB 검색을 통해 간접으로 지정할 수 있다.
콘텐트 식별 모듈(112)의 기능들을 구현하는 전술한 실시예 콘텐트 식별 방법들 중 어떤 경우에 있어서, 식별 프로세스의 부차적 결과는 미디어 스트림 내 미디어 샘플의 시간 오프셋일 수 있다. 따라서, 그와 같은 실시예에서는, 위치 식별 모듈(110)은 콘텐트 식별 모듈(112)과 같거나, 위치 식별 모듈(110)의 기능들이 콘텐트 식별 모듈(112)에 의해 수행될 수도 있다.
어떤 실시예들에서, 클라이언트 장치(104) 또는 서버(122)는, 클라이언트 장치(104)에 반환되어 클라이언트 장치(104)에 의해 공급될 샘플링된 미디어에 대응하는 미디어 스트림을 선택하기 위해, 네트워크(120)를 통해 미디어 스트림 라이브러리 DB(132)에 추가로 접속할 수 있다. 미디어 스트림 라이브러리 DB(132) 내의 정보, 또는 미디어 스트림 라이브러리 DB(132) 그 자체는 DB(116) 내에 포함될 수도 있다.
미디어 렌더링 소스(102)에 의해 제공되고 있는 미디어의 추정 시간 위치는 위치 식별 모듈(110)에 의해 결정되며 선택된 미디어 스트림을 제공할 선택된 미디어 스트림 내의 대응하는 위치를 결정하기 위해 사용될 수 있다. 클라이언트 장치(104)가 미디어 샘플을 캡처하도록 기동되는 때, 클라이언트 장치(104)의 기준 시간으로부터 타임스탬프(T0)가 기록된다. 미디어 샘플의 샘플링 시간에 대응하는 타임스탬프는 T0으로 기록되며 동기화 포인트로서 지칭될 것이다. 상기 샘플링 시간은 바람직하게는 시작점일 수 있지만, 미디어 샘플의 종점, 중간 또는 임의의 미리 결정된 시간일 수도 있다. 이와 같이, 미디어 샘플들은 고정된 임의의 기준 시점으로부터 미디어 스트림 내의 대응하는 시간 오프셋이 알려지도록 타임스탬프 될 수 있다. 임의의 시간 t에서, 추정된 실시간 미디어 스트림 위치(Tr(t))는 식별된 미디어 스트림의 추정 위치(Ts)와 타임스탬프의 시간 이후 경과시간의 합으로부터 결정된다. 즉,
상기 식에서, Tr(t)는 미디어 스트림의 시작부터 현재 공급되고 있는 미디어 스트림의 실시간 위치까지의 경과된 시간의 양이다. 따라서, Ts(즉, 미디어 스트림의 시작부터 상기 기록된 샘플에 기초한 미디어 스트림의 위치까지의 추정 경과 시간의 양)을 사용하면, Tr(t)가 계산될 수 있다. Tr(t)는 그 다음에 미디어 렌더링 소스(102)에 의해 공급되고 있는 미디어에 동기하여 선택된 미디어 스트림을 공급하기 위해 클라이언트 장치(104)에 의해 사용될 수 있다. 예를 들면, 클라이언트 장치(104)는, 시간 위치(Tr(t))에서, 또는 미디어 렌더링 소스(102)에 의해 제공되고 있는 미디어에 동기하여 상기 선택된 미디어 스트림을 제공하기 위해 Tr(t) 시간 양이 경과한 위치에서, 선택된 미디어 스트림의 제공을 시작할 수 있다.
어떤 실시예에서는, 상기 추정된 위치 Tr(t)는 속도 조정 비율(R)에 따라 조정될 수 있다. 예를 들면, 미국 특허 제7,627,477호(발명의 명칭: Robust and invariant audio pattern matching)에 기재된 방법들은 미디어 샘플, 식별된 미디어 스트림의 추정 위치(TS), 및 속도 비율(R)을 식별하기 위해 실행될 수 있으며, 상기 문헌의 전체 내용은 참조를 위해 본 명세서에 포함된다.
속도 비율(R)을 추정하기 위해, 매칭 지문들의 가변 부분들의 크로스-주파수(cross-frequency) 비율이 계산되며, 주파수는 시간에 반비례하므로, 크로스-시간 비율은 크로스-주파수 비율의 역수이다. 크로스-속도 비율(R)은 크로스-주파수 비율이다(예컨대, 크로스-시간 비율의 역수).
속도 비율(R)은 또한 다른 방법들을 사용하여 추정될 수 있다. 예를 들면, 미디어의 복수의 샘플들이 캡처될 수 있으며, k번째 샘플에 대해 기준 클럭 시간 T0(k)에서 복수의 추정된 미디어 스트림 위치들 Ts(k)를 얻기 위해 각 샘플에 대해 콘텐츠 식별이 실행될 수 있다. 그러면, R은 다음 식으로 추정될 수 있다:
R을 시변하는 것으로 나타내기 위해, 다음 식이 사용될 수 있다:
따라서, 속도 비율(R)은, 미디어가 미디어 렌더링 소스(102)에 의해 렌더링되고 있는 속도를 결정하기 위해 일정 시간(a span of time) 동안 추정 시간 위치(Ts)들을 사용하여 계산될 수 있다.
속도 비율(R)을 사용하면, 실시간 미디어 스트림 위치의 추정치가 다음식에 의해 계산될 수 있다:
상기 실시간 미디어 스트림 위치는 미디어 샘플의 시간 위치를 표시한다. 예를 들어, 만일 미디어 샘플이 4분의 길이를 갖는 노래의 샘플이라면, 그리고 Tr(t)가 1분이라면, 상기 노래의 1분이 경과된 것을 표시한다. 상기 시간 정보는 콘텐트 식별 동안 클라이언트 장치에 의해 결정될 수 있다.
도 4는 데이터 스트림 내 콘텐트를 식별하는 실시예 방법(400)의 흐름도이다. 도 4에 도시된 방법(400)은, 예를 들면 도 1에 도시된 시스템에서 사용될 수 있고 클라이언트 장치 또는 서버와 같은 컴퓨터 장치(또는 컴퓨터 장치의 구성요소)에 의해 실행되는 방법의 일 실시예를 제시한다. 방법(400)은 블록 402 ~ 410의 하나 이상에 의해 도시된 것과 같은 하나 이상의 동작, 기능, 또는 행위를 포함할 수 있다. 상기 블록들은 순차적으로 도시되어 있지만, 이 블록들은 병렬로 수행될 수도 있으며, 여기서 설명된 것과 다른 순서로 수행될 수도 있다. 또한, 다양한 블록들이 더 적은 수의 블록으로 결합되고, 추가의 블록들로 분할되고, 및/또는 원하는 구현에 따라 제거될 수도 있다.
여기서 설명된 것과, 다른 프로세스들 및 방법들에 있어서, 흐름도는 본 실시예의 하나의 가능한 구현의 기능 및 동작을 보여준다는 것을 이해하여야 한다. 이와 관련하여, 각 블록은, 프로세스의 특정한 논리 기능들 또는 절차들을 실행하기 위해 프로세서에 의해 실행 가능한 하나 이상의 명령들을 포함하는 프로그램 코드의 일부, 모듈, 또는 세그먼트를 나타낼 수 있다. 프로그램 코드는, 예를 들면, 디스크 또는 하드 드라이브를 포함하는 저장장치와 같은 임의 타입의 컴퓨터로 판독 가능한 매체 또는 데이터 저장장치에 저장될 수 있다. 컴퓨터 판독 가능한 매체는, 예를 들면, 레지스터 메모리, 프로세서 캐시 및 RAM(random access memory)과 같이 단기간 동안 데이터를 저장하는 컴퓨터 판독 가능한 매체와 같은, 비일시적인(non-transitory) 컴퓨터 판독 가능한 기록매체 또는 메모리를 포함할 수 있다. 컴퓨터 판독 가능한 매체는 또한, 예를 들면, ROM(read only memory), 광 또는 자기 디스크, CD-ROM과 같이, 보조의 또는 영구적인 저장장치와 같은 비일시적인 기록매체를 포함할 수 있다. 컴퓨터 판독 가능한 매체는 또한 어떤 다른 휘발성 또는 비휘발성 저장 시스템일 수 있다. 컴퓨터 판독 가능한 매체는 예를 들면 유형의 컴퓨터 판독 가능한 저장 매체로 간주될 수 있다.
또한, 도 4의 각 블록은 프로세스의 특정한 논리 기능들을 수행하도록 배선된 회로를 나타낼 수 있다.
당해 기술분야의 숙련 기술자에 의해 이해될 수 있는 것과 같이, 수반된 기능에 따라 실질적으로 동시의 또는 역의 순서를 포함하여 도시되거나 설명된 것과 다른 순서로 기능들이 실행될 수 있는 대안적인 구현들이 본 발명의 실시예들의 범위 내에 포함된다.
방법(400)은, 블록 402에서, 미디어 스트림의 샘플을 클라이언트 장치에서 수신하는 것을 포함한다. 클라이언트 장치는 미디어 스트림을 연속해서, 산발적으로(sporadically), 또는 간간이 수신할 수 있으며, 미디어 스트림은 라디오 방송, TV 오디오/비디오, 또는 제공되고 있는 임의의 오디오와 같은 임의의 타입의 데이터 또는 미디어를 포함할 수 있다. 미디어 스트림은 소스에 의해 연속적으로 제공될 수 있으며, 따라서 클라이언트 장치는 미디어 스트림을 연속해서 수신할 수 있다. 어떤 실시예의 경우에는, 클라이언트 장치는, 제공급 미디어 스트림의 상당한 부분을 수신하거나, 미디어 스트림을 거의 항상 수신하는 것과 같이, 실질적으로 연속적인 미디어 스트림을 수신할 수 있다. 클라이언트 장치는 예를 들면 마이크로폰을 사용하여 미디어 스트림의 샘플을 캡처할 수 있다.
방법(400)은 블록 404에서 클라이언트 장치가 샘플의 피처의 시그너처 스트림을 결정하는 것을 포함한다. 예를 들면, 클라이언트 장치는 미디어 스트림이 수신되고 있을 때 증분 방식으로 상기 미디어 스트림의 샘플들을 입력 인터페이스(예컨대, 마이크로폰)를 통해 수신할 수 있으며, 이 샘플들의 피처를 추출하여 대응하는 시그너처 스트림 증분을 생성할 수 있다. 각각의 증분 샘플은, 상기 미디어 렌더링 소스에 의해 미디어 스트림이 계속 제공되고(ongoing) 있었을 것이기 때문에, 이전 샘플 이후 시간의 콘텐트를 포함할 수 있다. 시그너처 스트림은 예를 들면 샘플의 피처를 추출하는 전술한 방법들 중 어느 것을 사용하여 상기 미디어 스트림의 샘플들에 기초하여 생성될 수 있다.
시그너처 스트림은, 미디어 스트림이 계속 진행중인 미디어 스트림일 때, 실시간으로 지속적으로 생성될 수 있다. 이 방식에서, 시그너처 스트림 내의 피처는 시간이 지남에 따라 수가 증가할 수 있다.
방법(400)은 블록 406에서, 적어도 하나의 미디어 레코딩에 대한 시그너처 파일과 상기 샘플의 시그너처 스트림 사이의 피처가 시간에 대하여 실질적으로 매칭하는지 여부를 결정한다. 예를 들면, 클라이언트 장치는 시그너처 스트림 내 피처와 저장된 시그너처 파일 내의 피처를 비교할 수 있다. 시그너처 스트림 내 피처는 랜드마크-지문 쌍들이거나 그것들을 포함할 수 있으며, 시그너처 파일들은 예를 들면 주어진 기준 파일에 대한 랜드마크-지문 쌍들을 포함할 수 있다. 따라서, 클라이언트 장치는 시그너처 스트림과 시그너처 파일들의 랜드마크-지문 쌍들의 비교를 수행할 수 있다.
방법(400)은 블록 408에서, 매칭 피처의 개수가 문턱을 초과하는지 여부를 판정하고, 매칭 피처의 개수에 기초하여, 블록 410에서 매칭 미디어 레코딩을 식별한다. 예를 들면, 클라이언트 장치는 미디어 샘플의 시그너처 스트림과 저장된 시그너처 파일 사이의 매칭 피처의 개수를 결정하도록 구성될 수 있다. 가장 높은 수의 매칭 피처를 갖는 시그너처 파일은 매치로서 간주될 수 있으며, 시그너처 파일에 의해 식별된 또는 참조된 미디어 레코딩은 상기 샘플에 대해 매칭 레코딩으로서 식별될 수 있다.
일 실시예에서, 시그너처 스트림과 시그너처 파일 사이의 피처가 반복해서 비교될 수 있도록, 블록 406은 매칭 피처의 개수가 문턱보다 작을 때 블록 408 이후 반복될 수 있다. 시간이 지남에 따라, 미디어 스트림이 계속해서 수신될 때, 클라이언트 장치는 시그너처 스트림에 대한 더 많은 콘텐트를 수신하고(예컨대, 노래의 더 긴 부분), 더 긴 샘플들 내에서 매치들을 찾기 위해 선행 세그먼트들을 처리한 결과와 함께 데이터 축적이 처리될 수 있다.
클라이언트 장치는 연속적으로 미디어 스트림을 수신할 수 있고, 저장된 시그너처 파일과의 비교를 기초로 콘텐트 식별을 연속적으로 실행할 수 있다. 이 방식에서, 클라이언트 장치는 수신되는 모든 콘텐트의 식별을 시도할 수 있다. 클라이언트 장치가 동작하는 동안, 또는 예를 들면 콘텐트 식별 기능들을 포함하는 애플리케이션이 실행되고 있는 동안에 콘텐트 식별이 항상 또는 거의 항상 수행되는 것과 같이, 콘텐트 식별은 실질적으로 연속해서 실행될 수 있다.
어떤 실시예에서는, 콘텐트 식별은 미디어 스트림을 수신할 때 실행될 수 있다. 클라이언트 장치는 마이크로폰으로부터 데이터 스트림을 연속해서 수신하도록 구성될 수 있다(예컨대, 항상 주변의 오디오를 캡처함). 클라이언트 장치는 사용자 입력 없이 수동적 콘텐트 식별을 수행하기 위해 콘텐트 식별을 연속해서 수행하도록 구성될 수 있다(예를 들면, 사용자는 콘텐트 식별을 수행하도록 클라이언트 장치를 기동시킬 필요가 없다). 클라이언트 장치의 사용자는 콘텐트 식별을 연속적으로 수행하는 애플리케이션을 개시하거나 클라이언트 장치가 콘텐트 식별을 연속해서 수행하도록 클라이언트 장치의 세팅을 구성할 수 있다.
도 4의 방법(400)을 사용하면, 특징을 가진(featured) 콘텐트가 클라이언트 장치에 의해(자체 저장된 콘텐트 패턴에 기초하여) 자체적으로(locally) 식별될 수 있다. 방법(400)은 모든 콘텐트 식별 처리가 클라이언트 장치에서 실행되는 것을 가능하게 한다(예를 들면, 샘플의 피처를 추출하고, 전화기에 저장된 시그너처 파일의 제한된 세트를 검색하는 등). 예를 들면, 홍보에 있어서, 홍보 콘텐트에 관련된 시그너처 파일이 클라이언트 장치에 제공될 수 있으며(예컨대, 클라이언트 장치에 미리 설치됨), 클라이언트 장치는 연속 인식 모드로 동작하도록 구성될 수 있고 이 제한된 콘텐트 세트를 식별하는 것이 가능할 수 있다.
일 실시예에서, 특징을 가진 콘텐트가 클라이언트 장치에 의해 캡처될 때, 클라이언트 장치는 콘텐트 식별을 수행하는 것이 가능하고 인식을 표시하는 통지(예컨대, 팝-업 윈도우)를 제공하는 것이 가능하다. 방법(400)은 특징을 가진 콘텐트가 인식될 때 사용자에게 알리기 위해 사용자를 위해 제로-클릭(zero-click)(예컨대, 수동적인) 태깅(tagging) 경험을 제공할 수 있다.
도 5는 데이터 스트림 내 콘텐트를 식별하고 클라이언트 장치를 위해 시그너처 파일을 결정하는 실시예 시스템(500)을 도시한다. 도 5에 도시된 시스템의 설명된 기능들 또는 구성요소들 중 하나 이상은 추가의 기능적 또는 물리적 구성요소들로 분할되거나, 더 적은 수의 기능적 또는 물리적 구성요소들로 결합될 수 있다. 어떤 추가의 실시예에서는, 추가의 기능적 및/또는 물리적 구성요소들은 도 5에 도시된 실시예들에 추가될 수 있다.
시스템(500)은 인식 서버(502) 및 요청 서버(504)를 포함한다. 인식 서버(502)는 콘텐트 식별을 결정하기 위해 클라이언트 장치로부터 의뢰(query)를 수신하도록 구성될 수 있으며, 상기 문의는 콘텐트의 샘플을 포함할 수 있다. 인식 서버(502)는 위치 식별 모듈(506), 미디어 서치 엔진(510)을 포함하는 콘텐트 식별 모듈(508)을 포함하고, DB(512) 및 미디어 스트림 라이브러리 DB(514)에 접속된다. 인식 서버(502)는 예를 들면 도 1에 도시된 서버(122)에 유사하게 동작하도록 구성될 수 있다.
요청 서버(504)는 클라이언트 장치가 연속 식별 모드에서 동작하도록 지시하고, 그에 따라서 클라이언트 장치는 연속 식별 모드에서 클라이언트 장치에 수신된 데이터 스트림 내의 콘텐트의 식별을 연속적으로 수행할 수 있다(콘텐트 식별을 위해 인식 서버(502)에 의뢰를 송신하는 대신에 또는 송신하는 것에 추가로). 요청 서버(504)는 콘텐트 패턴 또는 시그너처 파일을 포함하는 DB(516)에 접속될 수 있으며, 요청 서버(504)는 콘텐트 패턴을 검색하고 그 콘텐트 패턴을 클라이언트 장치에 송신하기 위해 DB(516)를 액세스할 수 있다.
일 실시예에서, 요청 서버(504)는 클라이언트 장치에 하나 이상의 시그너처 파일과, 선택사항으로 클라이언트 장치에서 미디어 스트림 내 콘텐트의 콘텐트 식별을 연속적으로 실행하라는 지시를 송신할 수 있다. 클라이언트 장치는 응답하여 연속 모드로 동작할 것이다. 요청 서버(504)는 상기 지시를, 인식 서버(502)가 대용량의 콘텐트 식별 요청을 경험하고 있고, 그리하여 요청 서버(504)가 몇몇 클라이언트 장치에게 자체적으로 콘텐트 식별을 수행하도록 지시함으로써 부하분산을 실행하고 있는 동안, 클라이언트 장치에게 송신할 수 있다. 대용량의 요청이 수신될 수 있는 시간의 예는 많은 시청자가 TV를 시청하고 있는 시간 동안에 노래 또는 광고가 TV에서 방송되고 있는 때를 포함한다. 그와 같은 경우에, 요청 서버(504)는 미리 계획을 세울 수 있으며, 상기 방송 동안 공급될 노래 또는 광고와 매칭하는 시그너처 파일들을 클라이언트 장치에 제공할 수 있으며, 콘텐트 식별을 클라이언트 장치가 자체적으로 수행하도록 하는 명령을 포함할 수 있다. 상기 명령은, 예를 들면 미래에 일정 시간 동안 그렇게 실행하도록 지시하는 것과 같이, 클라이언트 장치가 언제 자체 콘텐트 식별을 실행해야 하는지의 지시를 포함할 수 있다. 어떤 실시예에서는, 홍보에 있어서, 파일(예컨대, 약 100 내지 500개 파일)을 자체 저장하기 위해 시그너처 파일들이 클라이언트 장치에 제공될 수 있으며, 상기 명령은 홍보가 진행되는 한 콘텐트 식별을 자체적으로 수행하도록 클라이언트 장치에게 지시할 수 있다.
어떤 실시예에서는, 요청 서버(504)는 하나 이상의 시그너처 파일을 클라이언트 장치에 제공할 수 있다. 요청 서버(504)는 클라이언트 장치가 요청 서버(504)에 접속하지 않고 독자적으로 콘텐트를 식별할 수 있도록 하기 위해 클라이언트 장치에 시그너처/지문의 DB를 송신할 수 있다. 다른 실시예에서는, 요청 서버(504)는 클라이언트 장치에 원시 콘텐트 또는 레코딩을 제공할 수 있으며, 클라이언트 장치는 상기 원시 콘텐트로부터 시그너처를 추출하여 클라이언트 상의 로컬 DB를 채울 수 있다.
클라이언트 장치에 제공될 시그너처 파일들은 다수의 기준에 기초하여 요청 서버에 의해 선택될 수 있다. 예를 들면, 요청 서버(504)는 사용자의 프로파일에 관련된 정보를 수신할 수 있으며, 사용자의 프로파일에 상호 관련되는 클라이언트에 제공될 시그너처 파일을 선택할 수 있다. 구체적으로, 사용자는 특정 장르의 음악, 아티스트, 음악 유형, 음악 소스 등에 대한 선호를 표시할 수 있고, 요청 서버(504)는 이 선호들에 상호 관련된 미디어를 위한 시그너처 파일을 제공할 수 있으며, 또한 시그너처 파일을 저장하기 위해 클라이언트 장치에서 가용한 미리 결정된 저장 한계에 기초하여 콘텐트의 양을 제공할 수 있다.
또 다른 실시예로서, 요청 서버(504)는 클라이언트 장치의 위치(과거 또는 현재)에 관련된 정보를 수신할 수 있고, 상기 클라이언트 장치의 위치와 관련된 클라이언트 장치에 제공될 시그너처 파일을 선택할 수 있다. 구체적으로, 요청 서버(504)는 클라이언트 장치가 콘서트에 위치하는 것을 표시하는 정보를 수신할 수 있고, 클라이언트 장치에 제공될 콘서트의 아티스트 또는 장르의 음악과 관련된 시그너처 파일을 선택할 수 있다. 또 다른 예에서는, 큰 세트 또는 풀(pool)의 시그너처 파일들 중에서 어느 시그너처 파일이 클라이언트 장치에 제공되는지를 선택하기 위해, 예를 들면 주어진 국가(예를 들면, 로컬 선호의 노래에 대응하는 시그너처 파일을 제공함), 주어진 주 또는 주어진 카운티에 위치되는 것에 기초하는 것처럼, 클라이언트 장치의 다른 세부적인 물리적 또는 지리적 위치들이 사용될 수 있다.
클라이언트 장치가 Wi-Fi 네트워크 노드를 통해 네트워크에 접속될 때, MAC 주소가 위치로서 사용될 수 있는 것처럼, 네트워크 주소 위치를 포함하는 다른 타입의 위치가 선택적인 결정을 위해 사용될 수도 있다. 마찬가지로, 블루투스 또는 RFID 장치와 관련된 네트워크 또는 무선 주소가 사용될 수도 있다. 클라이언트 장치의 물리적 위치를 결정하기 위해 임의의 네트워크 주소가 결정되고 위치 DB와 상호-참조될 수 있다.
또 다른 실시예에서, 장치에 송신할 시그너처 파일을 선택하기 위한 기초로서 장치 타입 또는 설정 타입(configuration type)이 사용될 수도 있다. 예를 들면, 특정 장치 타입 또는 설정 타입은 소정의 국가에서 장치의 사용과 관련되거나 (알려진 구역에서 영업하는) 소정의 서비스 제공자와 관련될 수 있으며, 그와 같은 정보는 클라이언트 장치의 위치를 결정하거나 추론하기 위해 사용될 수 있다.
또 다른 예로서, 요청 서버(504)는 클라이언트 장치에 저장된 미디어 콘텐트에 관련된 정보를 수신할 수 있으며, 클라이언트 장치에 저장된 미디어 콘텐트에 관련된 클라이언트 장치에 제공될 시그너처 파일을 선택할 수 있다. 시그너처 파일들은 아티스트, 장르, 타입 연도, 템포 등과 같은 다수의 방법으로 관련될 수 있다.
또 다른 예로서, 요청 서버(504)는 클라이언트 장치에 의해 이전에 식별된 미디어 콘텐트에 관련된 정보를 수신할 수 있으며, 클라이언트 장치 또는 인식 서버(502)에 의해 이전에 식별된 콘텐트에 관련된 클라이언트 장치에 제공될 시그너처 파일을 선택할 수 있다. 이 예에서, 요청 서버(504)는 식별된 콘텐트에 관련된 콘텐트 패턴을 선택 및 제공하기 위해 인식 서버(502)에 의해 또는 클라이언트 장치에 의해 식별된 콘텐트의 목록을 저장할 수 있다.
또 다른 예로서, 요청 서버(504)는 제3자에 의해 수신된 정보를 기초로 클라이언트 장치에 제공될 시그너처 파일을 선택할 수 있다. 제3자는 클라이언트 장치에 제공되는 시그너처 파일을 선택하기 위해 요청 서버(504)에 선택(selections)을 제공할 수 있다. 일 실시예에서, 제3자 광고주는 라디오 또는 TV 광고에서 방송될 미래의 광고에 포함될 콘텐트에 기초하여 시그너처 파일을 선택할 수 있다.
또 다른 예로서, 요청 서버(504)는 클라이언트 장치의 사용자 프로파일과 관련된 구입된 노래들의 목록에 따른 DB 내의 순위 시그너처 파일에 기초하여 클라이언트 장치에 제공될 시그너처 파일을 선택할 수 있다. 예를 들면, 요청 서버(504)는 사용자 프로파일에 따른 노래 목록을 디지털 미디어 서비스 제공자로부터 수신할 수 있으며, 동일한 장르, 아티스트, 카테고리 등의 노래들의 시그너처 파일들을 선택할 수 있다.
또 다른 예로서, 요청 서버(504)는 콘텐트 식별의 이력에 관계된 여러 콘텐트의 인기를 나타내는 통계 프로파일에 기초하는, 클라이언트 장치에 제공될 콘텐트 패턴을 선택할 수 있다. 이 예에서, 요청 서버(504)는 인식 서버(502)에 의해 식별된 미디어 콘텐트 목록을 유지할 수 있으며, 각각의 미디어 콘텐트에 대한 콘텐트 식별 요청의 횟수에 기초하여 미디어 콘텐트의 인기 순위를 정할 수 있다. 문턱을 초과하는 다수의 콘텐트 식별 요청을 받은 미디어 콘텐트에 대해(예를 들면, 소정의 시간 동안 1000회의 요청), 요청 서버(504)는 그 미디어 콘텐트들의 시그너처 파일들을 선택하고 그 시그너처 파일들을 클라이언트 장치에 제공할 수 있다. 이 방식에서, 클라이언트 장치는 시그너처 파일들의 자체 사본을 가질 것이며 콘텐트 식별을 자체적으로 수행할 수도 있다.
또 다른 실시예에서, 요청 서버(504)는, 제3자로부터 수신된 선택된 시그너처 파일들과 클라이언트 장치의 위치에 기초하는 것과 같이, 기준들의 임의의 조합에 기초하는, 클라이언트 장치에 제공될 시그너처 파일들을 선택할 수 있다(예컨대, 제3자는 클라이언트 장치에 제공될 다수의 시그너처 파일들을 클라이언트 장치의 위치에 기초하여 식별한다).
일반적으로, 어떤 실시예에서, 요청 서버(504)는 클라이언트 장치(또는 클라이언트 장치의 사용자)가 선택된 콘텐트의 콘텐트 식별을 요청할 확률에 기초하여 클라이언트 장치에 제공될 시그너처 파일들을 선택하도록 구성될 수 있다. 예를 들면, 발표된 새로운 또는 인기있는 노래에 대해, 또는 인식 서버(502)가 과거에 급증한 콘텐트 식별 요청을 받은 것에 대해, 요청 서버(504)는, 클라이언트 장치가 인식 서버(502)와 통신할 필요 없이 자체 콘텐트 식별을 수행할 수 있도록, 상기 노래들의 시그너처 파일을 클라이언트 장치에 제공할 수 있다. 이것은 클라이언트 장치에서 자체적으로 콘텐트 식별을 실행함으로써 콘텐트 식별이 더욱 신속하게 수행될 수 있도록 할 뿐만 아니라 인식 서버(502)로부터 트래픽을 분담킬 수 있다. 따라서, 어떤 실시예에서는, 태깅의 빈도에 따라서 확률론적 순위 DB가 생성될 수 있다. 예를 들면, 인식 서버(502)는 가장 인기 있는 콘텐트 식별 요청의 통계를 결정하고, 클라이언트 장치가 콘텐트 식별을 수행하도록, 상기 요청에 대응하는 미디어의 시그너처 파일을 클라이언트 장치에 제공할 수 있다.
어떤 실시예에 있어서는, 클라이언트 장치가 인식 서버에 연결될 때, 인식 서버는 클라이언트 장치에 다수의 시그너처 파일을 제공할 수 있다(예를 들면, 약 20MB의 콘텐트, 이것은 노래들의 약 1000개의 시그너처 파일과 노래의 정보를 포함할 수 있다). 일 실시예에서, 인식 서버(또는 또 다른 연결 서버)는 클라이언트 장치가 선택된 통신 채널을 통해(예를 들면, 광대역 또는 WiFi 접속) 인식 서버와 통신하고 있는지 여부 및 언제 통신하는지를 결정할 수 있으며, 인식 서버는 그 다음에 시그너처 파일을 클라이언트 장치에 전달하기 위해 상기 선택된 통신 채널을 사용함으로써 더욱 느리고 혼잡한 통신 채널을 통한 데이터 전송을 회피하고 및/또는 사용자에게 제한된 데이터 계획의 부담을 주는 것을 회피한다. 어떤 예에서는, 인식 서버는 서버와 클라이언트 장치 사이의 통신 인터페이스가 시그너처 파일들의 세트를 전달하기 위한 충분한 양의 대역폭을 포함하는 것을 판정할 수 있다. 어떤 예에서는, 인식 서버는 셀룰러 무선통신 사업자에 의해 제공된 셀룰러 무선 네트워크를 통해 통신 인터페이스가 만들어진 것을 판정할 수 있으며, 통신 인터페이스가 로컬 유선 또는 무선 광대역 접속(WiFi)을 통해 만들어진 것을 판정하는 즉시 클라이언트 장치에 상기 시그너처 파일들의 세트를 제공할 수 있다.
클라이언트 장치에 의해 수행되는 인식 요청은 인식 서버의 부담을 덜 수 있으며, 더욱 즉각적인 인식의 발생을 대비할 수 있다(예를 들면, 서버와 통신할 필요가 없다). 인식 서버가 모든 콘텐트 식별 요청을 수행하고 대응하는 것과는 달리, 인식 서버는 클라이언트 장치의 콘텐트 식별을 위해 (잠재적 식별의 로컬 캐시를 준비하기 위해) 클라이언트 장치에 전송할 시그너처 파일을 선택적으로 결정할 수 있다.
지금까지 본 발명의 다양한 측면들과 실시예들이 개시되었지만, 다른 측면들과 실시예들이 당업자에게 명백할 것이다. 전술한 다양한 측면들과 실시예들은 단지 설명을 위한 것이고 한정하려는 의도는 없으며 본 발명의 진정한 범위 및 사상은 첨부된 특허청구범위의 청구항들에 의해 표시된다. 다수의 수정 및 변경이 본 발명의 범위와 사상을 벗어나지 않으면서 이루어질 수 있음은 당업자에게 명백할 것이다. 상기 열거한 것들 외에, 본 발명의 범위에 속하는 기능적으로 균등한 방법 및 장치들이 전술한 설명으로부터 당업자에게 명백할 것이다. 그와 같은 수정 및 변경은 첨부된 청구항들의 범위 내에 속하는 것으로 해석되어야 한다.
Claims (42)
- 미디어 콘텐트로부터 추출된 하나 이상의 피처와 상기 미디어 콘텐트를 식별하는 정보를 표시하는 시그너처 파일을 클라이언트 장치에서 수신하는 단계; 및
상기 시그너처 파일과의 비교를 기초로, 상기 클라이언트 장치가 미디어 렌더링 소스로부터 제공된 수신 미디어 콘텐트의 콘텐트 식별을 실행하는 단계를 포함하는, 미디어 콘텐트 식별 방법. - 제 1 항에 있어서,
상기 시그너처 파일은 미디어 콘텐트로부터 추출된 상기 하나 이상의 피처의 시간적으로 매핑된 군을 포함하고,
상기 하나 이상의 피처의 각각은 매핑된 시점의 근처에서 상기 미디어 콘텐트를 기술하는, 미디어 콘텐트 식별 방법. - 제 1 항에 있어서,
미디어 콘텐트로부터 추출된 상기 하나 이상의 피처는 대응하는 에너지 값들이 국소 최대(local maximum)인 상기 미디어 콘텐트의 스펙트로그램 내 피크 값들에 대응하고,
상기 시그너처 파일은 상기 피크 값들과 대응하는 시간 위치들의 쌍들을 포함하는, 미디어 콘텐트 식별 방법. - 제 1 항에 있어서,
미디어 콘텐트로부터 추출된 상기 하나 이상의 피처는 상기 미디어 콘텐트의 스펙트로그램 내 스펙트로그램 비트맵 래스터에 대응하는, 미디어 콘텐트 식별 방법. - 제 1 항에 있어서,
상기 미디어 콘텐트의 스펙트로그램 내 피크 값들은 초당 약 10 내지 약 50개 사이의 피크 값들에 대응하는, 미디어 콘텐트 식별 방법. - 제 1 항에 있어서,
복수의 미디어 콘텐트에 대응하는 시그너처 파일들의 세트를 상기 클라이언트 장치에서 수신하는 단계를 추가로 포함하고,
상기 복수의 미디어 콘텐트는 상기 클라이언트 장치의 물리적 위치에 기초하는, 미디어 콘텐트 식별 방법. - 제 1 항에 있어서,
복수의 미디어 콘텐트에 대응하는 시그너처 파일들의 세트를 상기 클라이언트 장치에서 수신하는 단계를 추가로 포함하고,
상기 복수의 미디어 콘텐트는 상기 클라이언트 장치의 네트워크 주소에 기초하는, 미디어 콘텐트 식별 방법. - 제 1 항에 있어서,
복수의 미디어 콘텐트에 대응하는 시그너처 파일들의 세트를 상기 클라이언트 장치에서 수신하는 단계를 추가로 포함하고,
상기 복수의 미디어 콘텐트는 상기 클라이언트 장치의 이전 콘텐트 식별 요청, 장르 선호, 아티스트 선호, 및 사용자 프로파일로 구성된 그룹에서 선택된 인자들에 기초하는, 미디어 콘텐트 식별 방법. - 제 1 항에 있어서,
복수의 미디어 콘텐트에 대응하는 시그너처 파일들의 세트를 상기 클라이언트 장치에서 수신하는 단계를 추가로 포함하고,
상기 복수의 미디어 콘텐트는 인기 있는 미디어 콘텐트의 통계적 순위에 기초하는, 미디어 콘텐트 식별 방법. - 제 1 항에 있어서,
상기 클라이언트 장치는 상기 미디어 렌더링 소스에 의해 제공된 미디어 콘텐트를 마이크로폰을 사용하여 수신하는 단계를 추가로 포함하는, 미디어 콘텐트 식별 방법. - 제 1 항에 있어서,
상기 클라이언트 장치는 상기 미디어 렌더링 소스에 의해 제공된 미디어 콘텐트를 지속적으로 수신하는 단계를 추가로 포함하는, 미디어 콘텐트 식별 방법. - 제 1 항에 있어서,
상기 미디어 렌더링 소스에 의해 제공된 수신 미디어 콘텐트의 콘텐트 식별을 수행하는 상기 클라이언트 장치는:
상기 수신 미디어 콘텐트의 하나 이상의 피처를 결정하는 단계; 및
하나 이상의 피처의 매치를 결정하기 위해 상기 시그너처 파일에 의해 표시된 것과 같이 상기 수신 미디어 콘텐트의 하나 이상의 피처를 미디어 콘텐트로부터 추출된 상기 하나 이상의 피처와 비교하는 단계를 포함하는, 미디어 콘텐트 식별 방법. - 제 12 항에 있어서,
상기 수신 미디어 콘텐트의 하나 이상의 피처를 결정하는 단계는 상기 수신 미디어 콘텐트의 한 세트의 지문들을 결정하는 단계를 포함하고,
각각의 지문은 상기 수신 미디어 콘텐트 내 랜드마크와 관련되는, 미디어 콘텐트 식별 방법. - 제 1 항에 있어서,
상기 클라이언트 장치에서 시그너처 파일을 수신하는 단계는 상기 시그너처 파일을 서버로부터 수신하는 단계를 포함하는, 미디어 콘텐트 식별 방법. - 제 14 항에 있어서,
상기 클라이언트 장치는 복수의 시그너처 파일을 저장하는 데이터베이스를 포함하고,
상기 시그너처 파일은 상기 복수의 시그너처 파일들 중 하나이고,
상기 방법은,
상기 클라이언트 장치에서 상기 서버로부터 상기 데이터베이스에 대한 갱신을 수신하는 단계를 추가로 포함하고,
상기 갱신은 상기 데이터베이스에 포함시킬 하나 이상의 새로운 파일 또는 상기 데이터베이스로부터 하나 이상의 기존 시그너처 파일을 제거하는 명령을 포함하는, 미디어 콘텐트 식별 방법. - 제 1 항에 있어서,
상기 클라이언트 장치에서 상기 시그너처 파일을 수신하는 단계는:
상기 클라이언트 장치에서 상기 미디어 콘텐트를 수신하는 단계; 및
상기 미디어 콘텐트에 대한 시그너처 파일을 생성하기 위해 상기 클라이언트 장치에 의해 상기 미디어 콘텐트를 처리하는 단계를 포함하는, 미디어 콘텐트 식별 방법. - 미디어 콘텐트로부터 추출된 하나 이상의 피처와 상기 미디어 콘텐트를 식별하는 정보를 표시하는 시그너처 파일을 클라이언트 장치에서 수신하는 단계; 및
상기 시그너처 파일과의 비교를 기초로, 상기 클라이언트 장치가 미디어 렌더링 소스로부터 제공된 수신 미디어 콘텐트의 콘텐트 식별을 실행하는 단계;를 상기 클라이언트 장치에 수행시키기 위해 상기 클라이언트 장치에 의해 실행 가능한 명령들을 내장한, 컴퓨터로 읽을 수 있는 비일시적 기록매체. - 제 17 항에 있어서,
상기 명령들은:
상기 수신 미디어 콘텐트 내 랜드마크와 각각 관련되는, 상기 수신 미디어 콘텐트의 한 세트의 지문들을 결정하는 단계;
하나 이상 피처의 매치를 결정하기 위해 상기 수신 미디어 콘텐트의 상기 지문 세트를 상기 시그너처 파일에 의해 표시된 것과 같이 미디어 콘텐트로부터 추출된 상기 하나 이상의 피처와 비교하는 단계;를 상기 클라이언트 장치에 수행시키기 위해 상기 클라이언트 장치에 의해 추가로 실행 가능한, 컴퓨터로 읽을 수 있는 비일시적 기록매체. - 미디어 콘텐트로부터 추출된 하나 이상의 피처와 상기 미디어 콘텐트를 식별하는 정보를 표시하는 시그너처 파일을 수신 및 포함하는 데이터베이스; 및
상기 데이터베이스에 접속되고, 미디어 렌더링 소스에 의해 제공된 수신 미디어 콘텐트의 콘텐트 식별을 상기 시그너처 파일과의 비교를 기초로 수행하는 콘텐트 식별 모듈을 포함하는, 클라이언트 장치. - 제 19 항에 있어서,
상기 데이터베이스는 또한 복수의 미디어 콘텐트에 대응하는 한 세트의 시그너처 파일들을 수신하고,
상기 복수의 미디어 콘텐트는 상기 클라이언트 장치의 타입과 상기 클라이언트 장치의 구성 중 하나 이상에 기초하고,
상기 클라이언트 장치의 타입 또는 상기 클라이언트 장치의 구성은 상기 클라이언트 장치의 주어진 위치 또는 주어진 서비스 제공자를 표시하는, 클라이언트 장치. - 제 19 항에 있어서,
상기 미디어 렌더링 소스에 의해 제공된 미디어 콘텐트를 수신하는 마이크로폰을 추가로 포함하는, 클라이언트 장치. - 서버에 의해, 클라이언트 장치를 위해 시그너처 파일 데이터베이스로부터 한 세트의 시그너처 파일을 결정하는 단계; 및
상기 한 세트의 시그너처 파일을 상기 클라이언트 장치에 제공하는 단계를 포함하고,
각각의 시그너처 파일은 각각의 미디어 콘텐트로부터 추출된 하나 이상의 피처와 상기 각각의 미디어 콘텐트와 관련된 정보를 표시하는, 미디어 콘텐트 식별 방법. - 제 22 항에 있어서,
상기 각각의 미디어 콘텐트를 식별하는 정보는 노래의 제목, 노래의 아티스트, 노래의 장르 중 하나 이상을 포함하는, 미디어 콘텐트 식별 방법. - 제 22 항에 있어서,
각각의 시그너처 파일은 상기 각각의 미디어 콘텐트 안의 랜드마크와 관련된 각각의 미디어 콘텐트의 지문을 포함하는, 미디어 콘텐트 식별 방법. - 제 22 항에 있어서,
상기 클라이언트 장치에 시그너처 파일 세트를 제공하는 단계는:
상기 서버가 상기 클라이언트 장치에 대한 통신 인터페이스를 식별하는 단계; 및
상기 통신 인터페이스가 상기 시그너처 파일 세트를 전달하는데 충분한 양의 대역폭을 포함하는지 판정하는 단계를 포함하는, 미디어 콘텐트 식별 방법. - 제 25 항에 있어서,
상기 통신 인터페이스가 시그너처 파일 세트를 전달하는데 충분한 양의 대역폭을 포함하는지 결정하는 단계는 상기 통신 인터페이스가 로컬 무선 광대역 접속(WiFi)을 통해 이루어지는지 판정하는 단계를 포함하는, 미디어 콘텐트 식별 방법. - 제 25 항에 있어서,
상기 클라이언트 장치에 시그너처 파일 세트를 제공하는 단계는:
상기 서버가 상기 클라이언트 장치에 대한 통신 인터페이스를 식별하는 단계;
상기 통신 인터페이스가 셀룰러 무선 사업자에 의해 제공되는 셀룰러 무선 네트워크를 통해 이루어지는지 판정하는 단계; 및
상기 통신 인터페이스가 로컬 무선 광대역 접속을 통해 이루어지는 것으로 판정 시 상기 클라이언트 장치에 상기 시그너처 파일 세트를 제공하는 단계를 포함하는, 미디어 콘텐트 식별 방법. - 제 22 항에 있어서,
상기 각각의 미디어 콘텐트는 노래를 포함하고,
상기 방법은:
상기 사용자 프로파일과 관련되고 디지털 미디어 서비스 제공자에 의해 제공되는 구매된 노래들의 목록에 따라 상기 서버가 데이터베이스 내 시그너처 파일들의 순위를 정하는 단계; 및
상기 순위에 기초하여 상기 클라이언트 장치에 대해 상기 시그너처 파일 세트를 결정하는 단계를 추가로 포함하는, 미디어 콘텐트 식별 방법. - 제 22 항에 있어서,
상기 클라이언트 장치를 위한 시그너처 파일 세트를 결정하는 단계는 상기 클라이언트 장치의 위치에 기초하여 상기 시그너처 파일 세트에 포함할 시그너처 파일들을 결정하는 단계를 포함하는, 미디어 콘텐트 식별 방법. - 제 22 항에 있어서,
상기 클라이언트 장치를 위한 시그너처 파일 세트를 결정하는 단계는, 상기 서버에서 수신되고 상기 클라이언트 장치에 의해 요청된 이전 콘텐트 식별 요청들에 기초하여 상기 시그너처 파일 세트에 포함할 시그너처 파일들을 결정하는 단계를 포함하는, 미디어 콘텐트 식별 방법. - 제 22 항에 있어서,
상기 클라이언트 장치를 위한 시그너처 파일 세트를 결정하는 단계는 상기 클라이언트 장치에 저장된 미디어 콘텐트에 기초하여 상기 시그너처 파일 세트에 포함할 시그너처 파일들을 결정하는 단계를 포함하는, 미디어 콘텐트 식별 방법. - 제 22 항에 있어서,
상기 클라이언트 장치를 위한 시그너처 파일 세트를 결정하는 단계는 장르 선호, 아티스트 선호, 및 상기 각각의 미디어 콘텐트의 생성일 중 하나 이상을 기초로 상기 시그너처 파일 세트에 포함할 시그너처 파일들을 결정하는 단계를 포함하는, 미디어 콘텐트 식별 방법. - 제 22 항에 있어서,
상기 클라이언트 장치를 위한 시그너처 파일 세트를 결정하는 단계는 상기 클라이언트 장치에서 상기 시그너처 파일 세트에 대해 미리 결정된 저장 한계에 기초하여 복수의 시그너처 파일을 결정하는 단계를 포함하는, 미디어 콘텐트 식별 방법. - 제 22 항에 있어서,
상기 각각의 미디어 콘텐트에 관련된 한 세트의 광고에 상기 시그너처 파일 세트를 제공하는 단계를 추가로 포함하는, 미디어 콘텐트 식별 방법. - 제 22 항에 있어서,
상기 시그너처 파일 데이터베이스로부터 상기 클라이언트 장치를 위한 시그너처 파일 세트를 결정하는 단계는 복수 조각의 미디어 콘텐트를 표시하는 통계적 프로파일에 기초하여 상기 시그너처 프로파일 세트에 포함할 시그너처 파일들을 결정하는 단계를 포함하는, 미디어 콘텐트 식별 방법. - 제 22 항에 있어서,
상기 시그너처 파일 데이터베이스로부터 상기 클라이언트 장치를 위한 시그너처 파일 세트를 결정하는 단계는 상기 서버에서 요청된 콘텐트 식별 요청의 이력에 관한 통계적 프로파일에 기초하여 상기 시그너처 파일 세트에 포함할 시그너처 파일들을 결정하는 단계를 포함하는, 미디어 콘텐트 식별 방법. - 제 22 항에 있어서,
상기 서버가 복수의 콘텐트 식별 요청을 수신하는 단계;
상기 서버는 시그너처 파일들이 대응하는 미디어 콘텐트가 상기 복수의 콘텐트 식별 요청의 주제가 된 빈도에 기초하여 데이터베이스 내 상기 시그너처 파일들의 순위를 정하는 단계; 및
상기 순위에 기초하여 상기 클라이언트 장치에 상기 시그너처 파일 세트를 제공하는 단계를 추가로 포함하고,
상기 콘텐트 식별 요청은 각각 상기 콘텐트의 샘플을 포함하는, 미디어 콘텐트 식별 방법. - 컴퓨팅 장치에 의해, 각각의 미디어 콘텐트로부터 추출된 하나 이상의 피처와 상기 각각의 미디어 콘텐트와 관련된 정보를 표시하는 한 세트의 시그너처 파일들을 클라이언트 장치를 위해 시그너처 파일 데이터베이스로부터 결정하는 단계; 및
상기 시그너처 파일 세트를 상기 클라이언트 장치에 제공하는 단계;를 상기 컴퓨팅 장치에 수행시키기 위해 상기 컴퓨팅 장치에 의해 실행 가능한 명령들을 내장한, 컴퓨터로 읽을 수 있는 비일시적 기록매체. - 제 38 항에 있어서,
각각의 시그너처 파일은 상기 각각의 미디어 콘텐트 안의 랜드마크와 관련된 각각의 미디어 콘텐트의 지문을 포함하는, 컴퓨터로 읽을 수 있는 비일시적 기록매체. - 제 38 항에 있어서,
상기 명령들은 상기 컴퓨팅 장치에서 요청된 콘텐트 식별 요청들의 이력에 관한 통계적 프로파일에 기초하여 상기 시그너처 파일 세트에 포함할 시그너처 파일들을 결정하는 단계를 상기 컴퓨팅 장치에서 수행시키기 위해 상기 컴퓨팅 장치에 의해 추가로 실행 가능한, 컴퓨터로 읽을 수 있는 비일시적 기록매체. - 시그너처 파일들을 저장하는 데이터베이스; 및
상기 데이터베이스에 접속되고 클라이언트 장치를 위해 상기 저장된 시그너처 파일들로부터 한 세트의 시그너처 파일을 결정하며, 상기 시그너처 파일 세트를상기 클라이언트 장치에 제공하여 상기 클라이언트 장치에 수신 미디어 콘텐트의 콘텐트 식별을 수행시키는 콘텐트 식별 모듈를 포함하고,
상기 시그너처 파일들 각각은 각각의 미디어 콘텐트로부터 추출된 하나 이상의 피처와 상기 각각의 미디어 콘텐트와 관련된 정보를 표시하는, 서버. - 제 41 항에 있어서,
상기 콘텐트 식별 모듈은 상기 서버에서 수신된 미디어 콘텐트의 콘텐트 식별 요청들의 이력에 관한 통계적 프로파일에 기초하여 상기 클라이언트 장치를 위해 상기 시그너처 파일 데이터베이스로부터 상기 시그너처 파일 세트를 추가로 결정하는, 서버.
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161444458P | 2011-02-18 | 2011-02-18 | |
US61/444,458 | 2011-02-18 | ||
US13/101,051 | 2011-05-04 | ||
US13/101,051 US9275141B2 (en) | 2010-05-04 | 2011-05-04 | Methods and systems for processing a sample of a media stream |
US201161495571P | 2011-06-10 | 2011-06-10 | |
US61/495,571 | 2011-06-10 | ||
PCT/US2012/025079 WO2012112573A1 (en) | 2011-02-18 | 2012-02-14 | Methods and systems for identifying content in a data stream by a client device |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20140038374A true KR20140038374A (ko) | 2014-03-28 |
Family
ID=46672918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020137024305A KR20140038374A (ko) | 2011-02-18 | 2012-02-14 | 클라이언트 장치에 의해 데이터 스트림 내 콘텐트를 식별하는 방법 및 시스템 |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP2676208A1 (ko) |
KR (1) | KR20140038374A (ko) |
CN (1) | CN103562909A (ko) |
CA (1) | CA2827514A1 (ko) |
IN (1) | IN2013MN01551A (ko) |
WO (1) | WO2012112573A1 (ko) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2504757B (en) | 2012-08-09 | 2015-03-25 | Nvidia Corp | Reference clock calibration |
CN103780930A (zh) * | 2012-10-25 | 2014-05-07 | 中兴通讯股份有限公司 | 内容切换方法及装置 |
US10366419B2 (en) | 2012-11-27 | 2019-07-30 | Roland Storti | Enhanced digital media platform with user control of application data thereon |
US10339936B2 (en) | 2012-11-27 | 2019-07-02 | Roland Storti | Method, device and system of encoding a digital interactive response action in an analog broadcasting message |
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 |
US20190028766A1 (en) * | 2017-07-18 | 2019-01-24 | Audible Magic Corporation | Media classification for media identification and licensing |
US10735808B2 (en) | 2017-08-10 | 2020-08-04 | The Nielsen Company (Us), Llc | Methods and apparatus of media device detection for minimally invasive media meters |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4450531A (en) | 1982-09-10 | 1984-05-22 | Ensco, Inc. | Broadcast signal recognition system and method |
US4843562A (en) | 1987-06-24 | 1989-06-27 | Broadcast Data Systems Limited Partnership | Broadcast information classification system and method |
US5437050A (en) | 1992-11-09 | 1995-07-25 | Lamb; Robert G. | Method and apparatus for recognizing broadcast information using multi-frequency magnitude detection |
US5918223A (en) | 1996-07-22 | 1999-06-29 | Muscle Fish | Method and article of manufacture for content-based analysis, storage, retrieval, and segmentation of audio information |
US7174293B2 (en) | 1999-09-21 | 2007-02-06 | Iceberg Industries Llc | Audio identification system and method |
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 |
ATE405101T1 (de) | 2001-02-12 | 2008-08-15 | Gracenote Inc | Verfahren zum erzeugen einer identifikations hash vom inhalt einer multimedia datei |
DE60323086D1 (de) | 2002-04-25 | 2008-10-02 | Landmark Digital Services Llc | Robuster und invarianter audiomustervergleich |
US7986913B2 (en) | 2004-02-19 | 2011-07-26 | Landmark Digital Services, Llc | Method and apparatus for identificaton of broadcast source |
CN101142591A (zh) * | 2004-04-19 | 2008-03-12 | 兰德马克数字服务有限责任公司 | 内容采样和标识 |
CN1845591A (zh) * | 2005-04-06 | 2006-10-11 | 上海渐华科技发展有限公司 | 卡拉ok接收装置 |
TWI330795B (en) * | 2006-11-17 | 2010-09-21 | Via Tech Inc | Playing systems and methods with integrated music, lyrics and song information |
US20090083281A1 (en) * | 2007-08-22 | 2009-03-26 | Amnon Sarig | System and method for real time local music playback and remote server lyric timing synchronization utilizing social networks and wiki technology |
US20100132122A1 (en) | 2008-12-02 | 2010-06-03 | Dan Hollingshead | Bed-Mounted Computer Terminal |
-
2012
- 2012-02-14 WO PCT/US2012/025079 patent/WO2012112573A1/en active Application Filing
- 2012-02-14 EP EP12707422.7A patent/EP2676208A1/en not_active Withdrawn
- 2012-02-14 KR KR1020137024305A patent/KR20140038374A/ko not_active Application Discontinuation
- 2012-02-14 CN CN201280019133.2A patent/CN103562909A/zh active Pending
- 2012-02-14 CA CA2827514A patent/CA2827514A1/en not_active Abandoned
-
2013
- 2013-08-14 IN IN1551MUN2013 patent/IN2013MN01551A/en unknown
Also Published As
Publication number | Publication date |
---|---|
IN2013MN01551A (ko) | 2015-06-12 |
WO2012112573A1 (en) | 2012-08-23 |
EP2676208A1 (en) | 2013-12-25 |
CA2827514A1 (en) | 2012-08-23 |
CN103562909A (zh) | 2014-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20120191231A1 (en) | Methods and Systems for Identifying Content in Data Stream by a Client Device | |
KR101578279B1 (ko) | 데이터 스트림 내 콘텐트를 식별하는 방법 및 시스템 | |
US9451048B2 (en) | Methods and systems for identifying information of a broadcast station and information of broadcasted content | |
JP6060155B2 (ja) | 受信データの比較を実行しその比較に基づいて後続サービスを提供する方法及びシステム | |
US20140278845A1 (en) | Methods and Systems for Identifying Target Media Content and Determining Supplemental Information about the Target Media Content | |
US9646007B2 (en) | Distributed and tiered architecture for content search and content monitoring | |
US10003664B2 (en) | Methods and systems for processing a sample of a media stream | |
KR20140038374A (ko) | 클라이언트 장치에 의해 데이터 스트림 내 콘텐트를 식별하는 방법 및 시스템 | |
KR101490576B1 (ko) | 미디어의 동기화 방법 및 시스템 | |
US20160132600A1 (en) | Methods and Systems for Performing Content Recognition for a Surge of Incoming Recognition Queries | |
JP2009205247A (ja) | 音楽連動型広告配信方法、装置およびシステム | |
US20210360313A1 (en) | Event Source Content and Remote Content Synchronization | |
US20230259983A1 (en) | Apparatus, System, and Method for Audio Based Browser Cookies | |
CN118044206A (zh) | 事件源内容和远程内容同步 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E601 | Decision to refuse application |