KR20200053543A - 자동 컨텐츠 인식에 의한 콜드 매칭 - Google Patents

자동 컨텐츠 인식에 의한 콜드 매칭 Download PDF

Info

Publication number
KR20200053543A
KR20200053543A KR1020207010283A KR20207010283A KR20200053543A KR 20200053543 A KR20200053543 A KR 20200053543A KR 1020207010283 A KR1020207010283 A KR 1020207010283A KR 20207010283 A KR20207010283 A KR 20207010283A KR 20200053543 A KR20200053543 A KR 20200053543A
Authority
KR
South Korea
Prior art keywords
broadcast
media device
fingerprint
matching
frames
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020207010283A
Other languages
English (en)
Other versions
KR102406304B1 (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 KR20200053543A publication Critical patent/KR20200053543A/ko
Application granted granted Critical
Publication of KR102406304B1 publication Critical patent/KR102406304B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/217Database tuning
    • G06K9/00744
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • H04N21/44222Analytics of user selections, e.g. selection of programmes or purchase activity
    • H04N21/44224Monitoring of user activity on external systems, e.g. Internet browsing
    • H04N21/44226Monitoring of user activity on external systems, e.g. Internet browsing on social networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4667Processing of monitored end-user data, e.g. trend analysis based on the log file of viewer selections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

자동 컨텐츠 인식에 의한 콜드 매칭 방법은 브로드캐스트 매체 스트림(SB, SC)의 브로드캐스트 프레임들(F1-n)을 나타내는 브로드캐스트 핑거프린트들(222a)을 수신하는 단계를 포함한다. 방법은 또한 대응하는 미디어 장치(30)에서의 미디어 장치 스트림(SD)의 미디어 장치 프레임들(FD1-n)을 나타내는 미디어 장치 핑거프린트들(222b)을 수신하는 단계를 포함한다. 방법은 미디어 장치 스트림의 순차적 미디어 장치 프레임들에 대응하는 복수의 미디어 장치 핑거프린트들을 포함하는 검색 블록(324)이 적어도 하나의 브로드캐스트 핑거프린트에 대한 매칭 상관(322)을 갖는 적어도 하나의 미디어 장치 핑거프린트를 포함하는 것으로 결정하는 단계를 더 포함한다. 매칭 상관은 피어슨(Pearson) 상관 계수를 기반으로 한다. 방법은 또한 적어도 하나의 브로드캐스트 핑거프린트에 대한 매칭 상관을 갖는 적어도 하나의 미디어 장치 핑거프린트가 매칭 미디어 장치 프레임(FMD)에 대응하는 것으로 식별하는 단계를 포함한다.

Description

자동 컨텐츠 인식에 의한 콜드 매칭
본 발명은 자동 컨텐츠 인식(automatic content recognition)에 관한 것이며, 보다 구체적으로는 자동 컨텐츠 인식에 의한 콜드 매칭(cold matching)에 관한 것이다.
오늘날 미디어 장치들은 점점 보편화되고 있으며 텔레비전과 같은 가정 내의 설치물로부터 미디어 소비자와 함께 이동하는 모바일 장치들에 이를 수 있다. 텔레비전, 셋탑 박스, 휴대폰, 랩탑 및 태블릿과 같은 미디어 장치들은 다양한 소스로부터 미디어 컨텐츠에 액세스하고 이를 검색할 수 있다. 예를 들어, 미디어 장치는 유선 또는 무선 연결로부터 위성, 공중파 방송 또는 스트리밍 시스템들을 통해 미디어 컨텐츠를 수신할 수 있다. 미디어 장치들의 사용이 계속해서 증가함에 따라, 미디어 컨텐츠에 대한 미디어 장치 연결도 증가되고 있다. 이러한 성장에 따라, 새로운 미디어 컨텐츠 시장이 등장하였으며 기존의 미디어 컨텐츠 시장은 상황에 맞는 미디어 컨텐츠를 이해하여 미디어 소비자에게 제공하도록 적응되었다.
본 개시의 일 양태는 자동 컨텐츠 인식에 의한 콜드 매칭 방법을 제공한다. 이 방법은 데이터 처리 하드웨어에서, 브로드캐스트 미디어 스트림의 브로드캐스트 프레임들을 나타내는 브로드캐스트 핑거프린트들를 수신하는 단계를 포함한다. 이 방법은 또한 데이터 처리 하드웨어에서, 대응하는 미디어 장치에서의 미디어 장치 스트림의 미디어 장치 프레임들을 나타내는 미디어 장치 핑거프린트들을 수신하는 단계를 포함한다. 이 방법은 데이터 처리 하드웨어에 의해서, 미디어 장치 스트림의 순차적 미디어 장치 프레임들에 대응하는 복수의 미디어 장치 핑거프린트들을 포함하는 검색 블록이 적어도 하나의 브로드캐스트 핑거프린트에 대한 매칭 상관을 갖는 적어도 하나의 미디어 장치 핑거프린트를 포함하는 것으로 결정하는 단계를 더 포함한다. 매칭 상관은 피어슨(Pearson) 상관 계수를 기반으로 한다. 이 방법은 또한 적어도 하나의 브로드캐스트 핑거프린트에 대한 매칭 상관을 갖는 적어도 하나의 미디어 장치 핑거프린트가 매칭 미디어 장치 프레임에 대응하는 것으로 식별하는 단계를 포함한다.
본 개시의 구현들은 다음의 선택적 특징들 중 하나 이상을 포함할 수 있다. 일부 구현들에서, 이 방법은 데이터 처리 하드웨어에 의해서, 검색 블록이 하나보다 많은 브로드캐스트 핑거프린트에 대한 매칭 상관을 갖는 적어도 하나의 미디어 장치 핑거프린트를 포함하는지 여부를 결정하는 단계를 포함한다. 검색 블록이 하나보다 많은 브로드캐스트 핑거프린트에 대한 매칭 상관을 갖는 적어도 하나의 미디어 장치 핑거프린트를 포함하는 경우, 이 방법은 데이터 처리 하드웨어에 의해서, 검색 블록의 적어도 하나의 미디어 장치 핑거프린트에 대응하는 브로드캐스트 핑거프린트들의 세트를 결정하는 단계 - 브로드캐스트 핑거프린트들의 세트의 각 브로드캐스트 핑거프린트는 브로드캐스트 미디어 스트림의 순차적으로 인접한 브로드캐스트 프레임들의 브로드캐스트 핑거프린트들임 -; 및 데이터 처리 하드웨어에 의해서, 검색 블록과 브로드캐스트 핑거프린트들의 세트 사이의 피어슨 상관 계수로서 매칭 상관을 결정하는 단계를 포함한다. 이 방법은 데이터 처리 하드웨어에 의해서, 브로드캐스트 핑거프린트들의 세트의 매칭 브로드캐스트 핑거프린트와 가장 큰 피어슨 상관 계수를 갖는 검색 블록의 적어도 하나의 미디어 장치 핑거프린트의 미디어 장치 핑거프린트에 대응하는 미디어 장치 프레임으로서 매칭 미디어 장치 프레임을 결정하는 단계를 더 포함할 수 있다.
방법의 다양한 구현들에서, 이 방법의 각 핑거프린트는 다음을 나타낸다: 대응하는 미디어 스트림의 프레임의 적어도 하나의 픽셀 값; 대응하는 프레임의 그레이 스케일 값의 합을 나타내는 평균 픽셀 값; 또는 대응하는 프레임 내의 서브-프레임의 하나보다 많은 평균 픽셀 값. 일부 예들에서, 대응하는 프레임 내의 서브-픽셀의 하나보다 많은 평균 픽셀 값을 나타내는 각각의 핑거프린트는 16개의 서브-프레임들의 각각의 평균 픽셀 값에 대응하는 16개의 정수 벡터로서 표현되며, 이 16개의 서브-프레임들이 대응하는 프레임의 4×4 어레이를 정의한다.
이 방법의 일부 구현들에서, 브로드캐스트 프레임들은 브로드캐스트 미디어 컨텐츠의 제 1 기간에 대응하고, 미디어 장치 프레임들은 미디어 장치 컨텐츠의 제 2 기간에 대응한다. 제 1 기간은 제 2 기간보다 크다. 이 방법은 데이터 처리 하드웨어에 의해서, 매칭 미디어 장치 프레임을 프레임 번호 및 관련 브로드캐스트 채널을 포함하는 프레임 데이터와 연관시키는 단계를 더 포함한다. 이 방법은 검색 블록이 적어도 하나의 브로드캐스트 핑거프린트에 대한 매칭 상관을 갖는 적어도 하나의 미디어 장치 핑거프린트를 포함하는 경우, 데이터 처리 하드웨어에 의해서, 검색 블록을 복수의 브로드캐스트 핑거프린트들에 의해 정의된 데이터베이스 구조와 비교하는 단계를 더 포함할 수 있다. 이 데이터베이스 구조는 이진 검색 트리이다.
본 개시의 다른 양태는 자동 컨텐츠 인식에 의한 콜드 매칭을 위한 시스템을 제공한다. 이 시스템은 데이터 처리 하드웨어 및 데이터 처리 하드웨어와 통신하는 메모리 하드웨어를 포함한다. 메모리 하드웨어는 데이터 처리 하드웨어 상에서 실행될 때 데이터 처리 하드웨어가 동작들을 수행하게 하는 명령어들을 저장한다. 이 동작들은 브로드캐스트 미디어 스트림의 브로드캐스트 프레임들을 나타내는 브로드캐스트 핑거프린트들을 수신하는 동작 및 대응하는 미디어 장치에서의 미디어 장치 스트림의 미디어 장치 프레임들을 나타내는 미디어 장치 핑거프린트들을 수신하는 동작을 포함한다. 이 동작들은 또한 미디어 장치 스트림의 순차적 미디어 장치 프레임들에 대응하는 복수의 미디어 장치 핑거프린트들을 포함하는 검색 블록이 적어도 하나의 브로드캐스트 핑거프린트에 대한 매칭 상관을 갖는 적어도 하나의 미디어 장치 핑거프린트를 포함하는 것으로 결정하는 동작을 포함한다. 이 매칭 상관은 피어슨 상관 계수에 기초하는 것이다. 이 동작들은 적어도 하나의 브로드캐스트 핑거프린트에 대한 매칭 상관을 갖는 적어도 하나의 미디어 장치 핑거프린트가 매칭 미디어 장치 프레임에 대응하는 것으로 식별하는 동작을 더 포함한다.
일부 구현들에서, 이 동작들은 검색 블록이 하나보다 많은 브로드캐스트 핑거프린트에 대한 매칭 상관을 갖는 적어도 하나의 미디어 장치 핑거프린트를 포함하는지 여부를 결정하는 동작을 포함한다. 검색 블록이 하나보다 많은 브로드캐스트 핑거프린트에 대한 매칭 상관을 갖는 적어도 하나의 미디어 장치 핑거프린트를 포함하는 경우, 이 동작들은 검색 블록의 적어도 하나의 미디어 장치 핑거프린트에 대응하는 브로드캐스트 핑거프린트들의 세트를 결정하는 동작 - 브로드캐스트 핑거프린트들의 세트의 각 브로드캐스트 핑거프린트는 브로드캐스트 미디어 스트림의 순차적으로 인접한 브로드캐스트 프레임들의 브로드캐스트 핑거프린트들임 -, 및 검색 블록과 브로드캐스트 핑거프린트들의 세트 사이의 피어슨 상관 계수로서 매칭 상관을 결정하는 동작을 포함한다. 이 동작들은 브로드캐스트 핑거프린트들의 세트의 매칭 브로드캐스트 핑거프린트와 가장 큰 피어슨 상관 계수를 갖는 검색 블록의 적어도 하나의 미디어 장치 핑거프린트의 미디어 장치 핑거프린트에 대응하는 미디어 장치 프레임으로서 매칭 미디어 장치 프레임을 결정하는 동작을 더 포함할 수 있다.
시스템의 다양한 구현들에서, 이 방법의 각 핑거프린트는 다음을 나타낸다: 대응하는 미디어 스트림의 프레임의 적어도 하나의 픽셀 값; 대응하는 프레임의 그레이 스케일 값의 합을 나타내는 평균 픽셀 값; 또는 대응하는 프레임 내의 서브-프레임의 하나보다 많은 평균 픽셀 값. 일부 예들에서, 대응하는 프레임 내의 서브-픽셀의 하나보다 많은 평균 픽셀 값을 나타내는 각각의 핑거프린트는 16개의 서브-프레임들의 각각의 평균 픽셀 값에 대응하는 16개의 정수 벡터로서 표현되며, 이 16개의 서브-프레임들이 대응하는 프레임의 4×4 어레이를 정의한다.
이 시스템은 또한 브로드캐스트 미디어 컨텐츠의 제 1 기간에 대응하는 브로드캐스트 프레임들 및 미디어 장치 컨텐츠의 제 2 기간에 대응하는 미디어 장치 프레임들을 포함할 수 있다. 제 1 기간은 제 2 기간보다 크다. 일부 구현들에서, 이 동작들은 매칭 미디어 장치 프레임을 프레임 번호 및 관련 브로드캐스트 채널을 포함하는 프레임 데이터와 연관시키는 동작을 더 포함한다.
일부 예들에서, 검색 블록이 적어도 하나의 브로드캐스트 핑거프린트에 대한 매칭 상관을 갖는 적어도 하나의 미디어 장치 핑거프린트를 포함하는 경우, 이 동작들은 검색 블록을 복수의 브로드캐스트 핑거프린트들에 의해 정의된 데이터베이스 구조와 비교하는 동작을 더 포함하며, 여기서 데이터베이스 구조는 이진 검색 트리이다.
본 개시의 하나 이상의 구현들에 대한 세부 사항이 첨부 도면 및 이하의 설명에서 설명된다. 다른 양태들, 특징들 및 장점들은 상세한 설명 및 도면, 그리고 청구 범위로부터 명백할 것이다.
도 1a 및 도 1b는 예시적인 자동 컨텐츠 인식 환경의 개략도들.
도 2는 자동 컨텐츠 인식 환경의 예시적인 서버의 개략도.
도 3a 내지 도 3c는 미디어 장치에 대응하는 예시적인 매칭기들의 사시도들.
도 4는 자동 컨텐츠 인식 루틴에 의해 실행 가능한 동작들의 예시적인 구성을 위한 흐름도.
도 5는 본원에서 설명된 시스템들 및 방법들을 구현하는데 사용될 수 있는 예시적인 컴퓨팅 장치의 개략도.
다양한 도면에서 유사한 참조 부호는 유사한 요소를 나타낸다.
일반적으로, ACR(automatic content recognition)은 미디어 장치 또는 미디어 파일 내에서 미디어 컨텐츠를 식별하는 자동 프로세스이다. ACR은 매일 사회에서 소비하는 방대한 양의 미디어 컨텐츠를 식별하는데 갈수록 더 유용해지고 있다. 상업적 관점에서, ACR은 비즈니스 및 기타 엔티티가 미디어 컨텐츠 소비를 이해하고, 보다 효과적으로 미디어 컨텐츠의 소비자(즉, 미디어 장치 사용자)를 마케팅하거나 타겟팅할 수 있게 한다. 예를 들어, 광고가 미디어 장치의 사용자에게 개인 맞춤화될 경우에는 광고 또는 제안이 더 효과적일 수 있다. 따라서, 브로드캐스터, 커머셜 제공자, 광고자 및 다른 컨텐츠 엔티티는 어떤 프로그램이 시청되고 있는지, 특히 시청하는 동안 사용자가 프로그램 내에서 보고 있는 곳을 알고 싶어한다. 이러한 유형의 정보를 사용하여, 미디어 장치 사용자는 보다 정확하게 캐터링되는(catered) 미디어 컨텐츠를 수신할 수 있다.
도 1a는 ACR 환경(10)의 일 예이다. ACR 환경(10)은 미디어 컨텐츠를 미디어 장치(30)의 사용자(20)(즉, 뷰어)에게 분배하기 위해 여러 계층들을 포함할 수 있다. 도 1a는 미디어 컨텐츠 분배 프로세스를 4개의 계층, 즉 브로드캐스트 계층(100)과, 추가 컨텐츠 계층(110)과, 네트워크 계층(120)과, 장치 계층(130)으로 단순화한 것이다. 각각의 계층(100, 110, 120, 130)은 미디어 스트림(S)에 영향을 주는 엔티티들을 가질 수 있다. 브로드캐스트 계층(100)은 브로드캐스트 미디어 스트림(SB)을 생성하기 위해 포함될 수 있는 브로드캐스트 엔티티를 나타낸다. 이들 브로드캐스트 엔티티들은 브로드캐스터(102) 및 브로드캐스트 분배기(104)를 포함할 수 있다. 브로드캐스터(102)는 로컬 브로드캐스터, 멀티-채널 네트워크 또는 다른 미디어 컨텐츠 소유자와 같은 하나 이상의 미디어 컨텐츠 제공자일 수 있다. 브로드캐스트 분배기(104)는 미디어 컨텐츠를 분배하기 위해 인프라스트럭처 또는 리소스들(예를 들어, 신호 와이어, 통신 타워, 통신 안테나, 서버 등)을 제공하는 브로드캐스트 엔티티이다. 브로드캐스터(102) 및 브로드캐스트 분배기(104)는 제공되는 미디어 컨텐츠의 타입 또는 미디어 컨텐츠를 수신하는 미디어 장치의 타입과 같은 브로드캐스트 변수들에 따라 동일한 브로드캐스트 엔티티 또는 상이한 브로드캐스트 엔티티일 수 있다.
일부 구현들에서, 브로드캐스트 미디어 스트림(SB)은 추가 컨텐츠 계층(110)으로 표현되는 컨텐츠 엔티티들로부터 추가 미디어 컨텐츠(SC)를 포함한다. 이들 컨텐츠 엔티티들은 커머셜 제공자들(112), 광고자(114), 또는 추가 미디어 컨텐츠(SC)를 브로드캐스트 매체 스트림(SB)에 기여하는 다른 엔티티들을 포함한다. 일반적으로, 커머셜 제공자들(112)은 추가 미디어 컨텐츠(SC)를 입수 및/또는 호스팅하는 컨텐츠 엔티티들이고, 광고자들(114)은 광고, 오퍼, 거래, 할인, 혜택 또는 상품 및/또는 서비스에 대한 다른 프로모션과 같은 컨텐츠로 추가 미디어 컨텐츠(SC)를 생성하는 컨텐츠 엔티티들이다. 추가적으로 또는 대안적으로, 커머셜 제공자들(112)과 광고자들(114)은 동일한 컨텐츠 엔티티일 수 있다. 추가 컨텐츠 계층(110)은 추가 미디어 컨텐츠(SC)를 브로드캐스트 계층(100), 네트워크 계층(120), 장치 계층(130) 또는 이들의 임의의 조합으로 전송할 수 있다. 선택적으로, 추가 컨텐츠 계층(110)은 추가 미디어 컨텐츠(SC)를 포함하는 결합된 브로드캐스트 미디어 스트림(SB, SC)을 형성하기 위해 추가 미디어 컨텐츠(SC)를 브로드캐스트 미디어 스트림(SB)과 페어링할 수 있다.
도 1a를 더 참조하면, 네트워크 계층(120)은 브로드캐스트 계층(100) 및/또는 추가 컨텐츠 계층(110)으로부터 브로드캐스트 미디어 스트림(SB) 및 추가 미디어 컨텐츠(SC)를 수신하도록 구성된다. 예를 들어, 네트워크 계층(120)이 브로드캐스트 계층(100)으로부터 미디어 스트림(S)을 수신하는 경우, 네트워크 계층(120)은 추가 미디어 컨텐츠(SC)와 함께 또는 추가 미디어 컨텐츠(SC)와 무관하게 브로드캐스트 미디어 스트림(SB)을 수신할 수 있다. 유사하게, 네트워크 계층(120)이 추가 컨텐츠 계층(110)으로부터 미디어 스트림(S)을 수신하는 경우, 네트워크 계층(120)은 추가 미디어 컨텐츠(SC)와 함께 또는 추가 미디어 컨텐츠(SC)와 무관하게 브로드캐스트 미디어 스트림(SB)을 수신할 수 있다. 일부 구현들에서, 네트워크 계층(120)은 브로드캐스트 계층(100)으로부터의 브로드캐스트 미디어 스트림(SB)을 추가 컨텐츠 계층(110)으로부터의 추가 미디어 컨텐츠(SC)와 페어링함으로써 추가 미디어 컨텐츠(SC)가 포함된 브로드캐스트 미디어 스트림(SB)을 나타내는 네트워크 미디어 스트림(SN)을 생성할 수 있다.
네트워크 계층(120)은 핑거프린터(200)를 포함한다. 핑거프린터(200)는 데이터 처리 하드웨어(212) 및 메모리 하드웨어(214)를 갖는 서버(210) 상에서 동작하도록 구성된다. 핑거프린터(200)는 브로드캐스트 핑거프린트 생성기(220)를 포함한다. 네트워크 계층(120)은 핑거프린트 데이터베이스(230) 및/또는 메타데이터 데이터베이스(240)에 핑거프린트(222) 및 핑거프린트(222)와 관련된 메타데이터(224)를 저장하도록 구성될 수 있다. 일반적으로, 핑거프린트(222)는 미디어 스트림(S)의 적어도 하나의 프레임(Fn)에 대응하는 적어도 하나의 고유 식별자이다. 예를 들어, 적어도 하나의 고유 식별자는 시청각 이미지의 값(예를 들어, 픽셀 값), 문숫자 표현, 또는 압축된 버전일 수 있다. 추가적으로 또는 대안적으로, 네트워크 계층(120)은 브로드캐스트 미디어 스트림(SB), 추가 미디어 컨텐츠(SC) 또는 양쪽 모두를 저장하도록 구성된다.
도 1a는 또한 임의의 계층(즉, 브로드캐스트 계층(100), 추가 컨텐츠 계층(110) 또는 네트워크 계층(120))이 장치 계층(130)과 통신할 수 있음을 도시하고 있다. 장치 계층(130)에서, 텔레비전, PC, 랩탑, 태블릿 또는 모바일 폰과 같은 미디어 장치들(30)은 미디어 장치 스트림(SD)(예를 들어, 브로드캐스트 미디어 스트림(SB), 추가 컨텐츠 스트림(SC)의 임의의 조합, 또는 네트워크 미디어 스트림(SN))을 수신하며, 대응하는 미디어 장치 스트림(SD)(예를 들어, 브로드캐스트 미디어 스트림(SB), 추가 컨텐츠 스트림(SC) 또는 네트워크 미디어 스트림(SN)의 임의의 조합)의 전부 또는 일부를 사용자(20)에게 전달할 수 있다. 장치는 어떤 형태의 미디어 컨텐츠를 수신하거나 전송하도록 구성되는 미디어 장치(30)와 관련된 임의의 하드웨어 또는 소프트웨어를 의미할 수 있다. 또한, 장치는 데이터 처리 하드웨어 및/또는 메모리 하드웨어를 포함할 수 있다. 일부 구현들에서, 미디어 장치들(30)은 대응하는 미디어 스트림(예를 들어, 브로드캐스트 미디어 스트림(SB), 추가 컨텐츠 스트림(SC), 또는 네트워크 미디어 스트림(SN)의 임의의 조합)을 인터프리팅하거나 상호 작용하도록 구성될 수 있다. 예를 들어, 미디어 장치들(30)은 브로드캐스트 미디어 스트림(SB)으로부터 추가 미디어 컨텐츠(SC)를 식별한다. 미디어 장치들(30)은 브로드캐스트 미디어 스트림(SB)의 추가 미디어 컨텐츠(SC)를 대체 미디어 컨텐츠로 대체하거나 오버레이할 수 있다. 미디어 장치들(30)은 미리 정의된 컨텐츠에 대한 브로드캐스트 미디어 스트림(SB, SC)을 필터링할 수 있다. 추가적으로 또는 대안적으로, 미디어 장치들(30)은 미디어 스트림(예를 들어, 브로드캐스트 미디어 스트림(SB), 추가 컨텐츠 스트림(SC) 또는 네트워크 미디어 스트림(SN)의 임의의 조합)과 관련된 정보 또는 데이터를 브로드캐스트 계층(100), 추가 컨텐츠 계층(110), 네트워크 계층(120), 또는 장치 계층(130)의 다른 미디어 장치들(30)과 통신하도록 구성될 수 있다. 미디어 장치(30)는 ACR 모듈(132)을 실행하거나 또는 ACR 모듈(132)을 실행하는 다른 데이터 처리 하드웨어와 통신할 수 있다. ACR 모듈(132)은 미디어 스트림의 일부를 샘플링하고, 샘플을 처리하고, 그 샘플을, 오디오 또는 비디오 핑거프린트들 또는 워터마크들과 같은 고유한 특성에 의해서 컨텐츠를 식별하는 소스 서비스와 비교하는 것에 기초하여, 미디어 스트림 내의 컨텐츠 요소(예를 들어, 오디오, 비디오 또는 디지털 이미지)을 식별하도록 구성될 수 있다.
도 1b는 ACR 환경(10)의 일 예이다. ACR 환경(10)은 브로드캐스터(102), 핑거프린터(200) 및 매칭기(300)(ACR 모듈(132)의 일부일 수 있음)를 포함한다. 브로드캐스터(102)는 채널들(Ch1-n)에 의해서 브로드캐스트 미디어 스트림(SB, SC)을 브로드캐스트 프레임 레이트(RB)에서 핑거프린터(200)로 브로드캐스트한다. 브로드캐스트 프레임 레이트(RB)는 브로드캐스트 미디어 스트림(SB, SC)을 브로드캐스트 프레임들(F1-n)로 분할함으로써 각 브로드캐스트 프레임(F1-n)이 브로드캐스트 미디어 스트림(SB) 내의 픽셀들로 표현되는 시청각 이미지에 대응하게 되도록 한다. 핑거프린터(200)는 브로드캐스트 핑거프린트 생성기(220)에서 각각의 브로드캐스트 프레임(F1-n)을 수신하도록 구성된다. 브로드캐스트 핑거프린트 생성기(220)는 각각의 브로드캐스트 프레임(F1-n)을 수신하고, 각각의 브로드캐스트 프레임(F1-n)을 나타내는 브로드캐스트 핑거프린트들(222, 222a)을 생성하도록 구성된다. 일반적으로, 브로드캐스트 핑거프린트(222, 222a)는 적어도 하나의 브로드캐스트 프레임(F1-n)에 대응하는 적어도 하나의 고유 식별자이다. 핑거프린터(200)는 각각의 브로드캐스트 핑거프린트(222, 222a)를, 핑거프린트 데이터베이스(230)와 같은 데이터베이스에 저장할 수 있다. 일부 예들에서, 핑거프린터(200)는 프레임 위치(예를 들어, 프레임 타임 코드), 프레임의 타입(예를 들어, 라이브 프로그램 또는 광고) 또는 핑거프린트 식별자 태그와 같은, 브로드캐스트 프레임(F1-n)에 대응하는 메타데이터(224)에 따라 또는 그와 함께 각 브로드캐스트 핑거프린트(222, 222a)를 저장한다. 다른 예들에서, 핑거프린터(200)는 각각의 브로드캐스트 핑거프린트들(222, 222a)의 메타데이터(224)에 대응하는 개별의 데이터베이스 또는 데이터베이스들을 갖는다. 메타데이터(224)를 위한 개별의 데이터베이스는 핑거프린터(200)가 더 많은 브로드캐스트 핑거프린트들(222, 222a)를 저장할 수 있게 한다.
도 1b를 더 참조하면, 브로드캐스터(102)는 또한 브로드캐스트 미디어 스트림(SB, SC)을 미디어 장치(30)로 브로드캐스트한다. 미디어 장치(30)는 미디어 장치 스트림(SD)으로서 브로드캐스터(102)로부터의 브로드캐스트 미디어 스트림(SB, SC)을 수신한다. 미디어 장치(30)는 미디어 장치 스트림(SB)으로부터 미디어 프레임들(FD1-n)을 캡처하고 캡처된 미디어 프레임들(FD1-n)을 매칭기(300)에 전송하도록 구성된다. 도 1b에 도시된 예에서, 미디어 장치(30)는 미디어 장치 스트림(SD)을 수신하는 텔레비전(30, 30a)(TV)이다. 예를 들어, 텔레비전(30, 30a)은 미디어 장치 스트림(SD)으로서 텔레비전 채널들(Ch1-n)을 수신한다. 다른 타입의 미디어 장들치(30)도 가능하다.
일부 구현들에서, 브로드캐스터(102)는 브로드캐스트 프레임 레이트(RB)에서 브로드캐스트 미디어 스트림(SB, SC)을 제공한다. 미디어 장치(30)(예를 들어, TV(30, 30a)로 도시됨)는 미디어 장치 스트림(SD)으로서 대응하는 브로드캐스트 프레임 레이트(RB)에서 브로드캐스트 미디어 스트림(SB, SC)을 수신할 수 있다. 대체로, 브로드캐스트 프레임 레이트(RB)는 브로드캐스트 포맷(예를 들어, 1080 60i, 720 60P 등)의 다양한 산업 표준들에 대응한다. 예를 들어, 일부 공통 브로드캐스트 프레임 레이트들(RB)은 30P(초당 29.97 프레임), 24P(초당 23.98 프레임) 및 60P(초당 59.94 프레임)를 포함한다. 미디어 장치(30)는 미디어 장치 프레임 레이트(RMD)에서 미디어 장치 스트림(SD)의 프레임(FD1-n)을 캡처하도록 구성될 수 있다. 미디어 장치 프레임 레이트(RMD)는, 대응하는 미디어 장치(30)가 캡처된 프레임들(FD1-n)을 매칭기(300)에게 제공하는 프레임 레이트이다. 일부 구현들에서, 미디어 장치(30)는 브로드캐스트 프레임 레이트(RB)에서 미디어 장치 스트림(SD)을 수신하도록 구성되지만, 매칭기(300)에 대한 미디어 장치 프레임 레이트(RMD)에서 미디어 장치 스트림(SD)의 프레임들(FD1-n)을 캡처하도록 구성된다. 예를 들어, 브로드캐스트 프레임 레이트(RB)는 미디어 장치 프레임 레이트(RMD)와 다르다. 이러한 차이의 일 예는 브로드캐스트 프레임 레이트(RB)가 미디어 장치 프레임 레이트(RMD)보다 크게 되는 것이다(예를 들어, 30P의 브로드캐스트 프레임 레이트 및 초당 4 프레임의 미디어 장치 프레임 레이트(RMD)). 프레임 레이트들의 차이는 미디어 장치(30)에서의 프레임 캡처 하드웨어 또는 소프트웨어와 관련된 리소스 제한들(CPU, 메모리 등)에 기인하는 것일 수 있다.
일부 예들에서, 매칭기(300)는 미디어 장치 스트림(SD)으로부터 핑거프린트 결과 세트(232) 및 미디어 장치 프레임들(FD1-n)을 수신한다. 핑거프린트 결과 세트(232)는 핑거프린터(200)에서 캡처되어 매칭기(300)로 전송되는 일련의 브로드캐스트 핑거프린트들(222, 222a)에 대응한다. 핑거프린트 결과 세트(232)의 장점은 핑거프린터(200) 및 매칭기(300)가 모든 브로드캐스트 핑거프린트들(222, 222a) 대신에, 핑거프린터(200)에 의해 생성되는 모든 브로드캐스트 핑거프린트들(222, 222a)의 일부를 전송할 수 있다는 점이다. 핑거프린트 데이터베이스(230)의 브로드캐스트 핑거프린트들(222, 222a)의 일부로서, 핑거프린트 결과 세트(232)는 매칭기(300)가 보다 효율적으로 처리할 수 있게 하는 데이터 크기일 수 있다. 매칭기(300)는 미디어 장치 프레임들(FD1-n)과 브로드캐스트 프레임들(F1-n)을 비교하여 매칭 프레임들(Fn, FDn)을 식별할 수 있다. 매칭기(300)는 텔레비전(30, 30a)의 내부 장치(예를 들어, 텔레비전(30, 30a)의 하드웨어 또는 소프트웨어) 또는 텔레비전(30, 30a)과 통신하는 외부 장치(예를 들어, 헤드엔드 시스템 또는 셋탑 박스)일 수 있다. 일부 구현들에서, 핑거프린트 결과 세트(232)는 설정된 양의 순차적 브로드캐스트 핑거프린트들(222, 222a)에 대응한다. 예를 들어, 핑거프린트 결과 세트(232)는 5 분 동안의 브로드캐스트 프레임들(F1-n)에 대응하는 순차적 브로드캐스트 핑거프린트들(222, 222a)을 포함한다. 다시 말해, 초당 30 프레임의 브로드캐스트 프레임 레이트(RB)에서, 핑거프린트 결과 세트(232)는 5 분 동안 9,000개의 순차적 브로드캐스트 프레임들(F1-9000)에 대응하는 9,000개의 순차적 브로드캐스트 핑거프린트들(222, 222a)을 포함한다.
도 2는 핑거프린터(200)의 브로드캐스트 핑거프린트 생성기(220)의 일 예이다. 브로드캐스트 핑거프린트 생성기(220)는 브로드캐스트 미디어 스트림(SB, SC)의 채널들(Ch1-n)에 대응하는 브로드캐스트 프레임들(F1-n)을 수신한다. 브로드캐스트 핑거프린트 생성기(220)는 수신되는 브로드캐스트 프레임(F1-n)마다에 대한 브로드캐스트 핑거프린트(222, 222a)를 생성하고, 핑거프린트 데이터베이스(230)에 브로드캐스트 핑거프린트(222, 222a)를 저장할 수 있다. 일부 예들에서, 각각의 브로드캐스트 핑거프린트(222, 222a)는 대응하는 브로드캐스트 미디어 스트림(SB)의 브로드캐스트 프레임(F1-n)의 적어도 하나의 픽셀 값(VP)을 나타낸다. 적어도 하나의 픽셀 값(VP)은 평균 픽셀 값 또는 브로드캐스트 프레임(F1-n)의 색 공간 값들의 합일 수 있다. 예를 들어, 적어도 하나의 픽셀 값(VP)은 브로드캐스트 핑거프린트 생성기(220)가 그레이-UV(YUV) 색 공간에 따라 브로드캐스트 핑거프린트(222, 222a)를 생성할 때, 대응하는 브로드캐스트 프레임(F1-n)의 그레이 스케일 값들의 합 및/또는 평균을 나타낼 수 있다. 즉, 대응하는 브로드캐스트 프레임(F1-n)의 각 픽셀은 브로드캐스트 핑거프린트(222, 222a)가 픽셀 영역의 그레이 스케일 값의 합 및/또는 평균을 나타내도록 그레이 스케일 값으로 표현된다. 일부 구현들에서, 핑거프린트(222)(예를 들어, 브로드캐스트 핑거프린트(222, 222a))는 대응하는 브로드캐스트 프레임(F1-n)의 서브-프레임들(Fsub)에 기초하는 고유 식별자이다. 서브-프레임(Fsub) 당 픽셀들에 따라, 각각의 서브-프레임(Fsub)은 대응하는 픽셀 값(Vp) 또는 대응하는 평균 픽셀 값을 가질 수 있다.
일반적으로, 핑거프린트들(222)은 ACR 환경(10) 내에서 부정확한 소스일 수 있다. 이러한 부정확성은, 연속 미디어 장치 프레임들(FD1-n)과 연속 브로드캐스트 프레임들(F1-n)이 매우 유사할 수 있으며, 이에 따라 장면 변경이 연속 프레임들을 급격하게 변화시키지 않는 한 연속 프레임들이 시간에 따라 약간의 변화만을 갖게 되기 때문에 발생한다. 연속 프레임들(FD1-n) 사이에 통상적으로 약간의 변화만으로 인해, 하나 또는 적은 수의 픽셀 값들(VP)에 기초한 핑거프린트(222)는 동일한 수의 픽셀들에 기초한 연속 핑거프린트(222)와 매우 유사할 수 있다. 따라서, ACR 환경(10) 내의 핑거프린트들(222) 사이의 매칭 프로세스는 잠재적인 매칭 에러(예를 들어, 잘못된 매칭)를 야기할 수 있다. 다시 말해, 매칭기(300)는 사용자(20)가 실제에 있어서는 매칭 미디어 장치 프레임(FMD) 앞 또는 뒤의 몇 개의 미디어 장치 프레임(FD1-n)에서 미디어 장치 스트림(SD)으로부터 미디어 컨텐츠를 보고 있는 경우에도, 미디어 장치 스트림(SD)이 하나의 미디어 장치 프레임(FD1-n)(매칭 미디어 장치 프레임(FMD))에서 사용자(20)에 의해 보여지고 있는 것으로 결정할 수 있다.
도 2는 서브-프레임(Fsub)으로 분할된 브로드캐스트 프레임(F1-n)에 대응하는 브로드캐스트 핑거프린트(222a, F1-n)의 일 예를 도시한 것이다. 일부 예들에서, 브로드캐스트 핑거프린트 생성기(220)는 브로드캐스트 프레임들(F1-n) 간을 보다 정확하게 비교하거나 구별하기 위해 각각의 브로드캐스트 프레임(F1-n)을 서브-프레임들(Fsub)로 분할할 수 있다. 서브-프레임들(Fsub)을 가지고, 각각의 핑거프린트(222)는 대응하는 프레임(F1-n)의 하나보다 많은 평균 픽셀 값(Vp)을 나타낼 수 있다. 각각의 브로드캐스트 프레임(F1-n)을 서브-프레임들(Fsub)로 분할함으로써, 전체 브로드캐스트 프레임(F1-n)의 픽셀 값(VP)(또는 평균 픽셀 값)에 기초한 브로드캐스트 핑거프린트들(222, 222a)보다 더 많은 세부 사항들(예를 들어, 각각의 서브-프레임(Fsub)의 픽셀들)이 브로드캐스트 핑거프린트 생성 동안 고려된다. 이와 같이, 브로드캐스트 핑거프린트 생성기(220)가 각 브로드캐스트 프레임(F1-n)을 분할하는 서브-프레임들(Fsub)의 수는 원하는 정확도 레벨에 의존한다. 예를 들어, 도 2에 도시된 바와 같이, 브로드캐스트 핑거프린트 생성기(220)는 각각의 브로드캐스트 프레임(F1-n)을, 4×4 어레이를 정의하는 16개의 서브-프레임들(Fsub)로 분할한다. 16개의 서브-프레임들(Fsub)의 각 서브-프레임(Fsub)은 평균 픽셀 값(Vp11-44)을 가지며, 이에 따라 각각의 브로드캐스트 핑거프린트(222a)는 각각의 서브-프레임(Fsub)과 관련된 정수 값을 갖는 16개의 값 정수 벡터에 의해 각각의 대응하는 브로드캐스트 프레임(F1-n)을 나타낸다. 도면들이 각각의 브로드캐스트 프레임(F1-n) 또는 각각의 미디어 장치 프레임(FD1-n)을 4×4 어레이로 도시하지만, 임의의 서브-프레임 분할이 가능하다.
일반적으로 말하면, ACR은 콜드 매칭(cold matching) 및 핫 매칭(hot matching)의 두 단계로 나뉘어질 수 있다. 콜드 매칭은 일반적으로 ACR의 첫 번째 단계(또는 식별 단계)를 말한다. 식별 단계 동안, ACR은 먼저 사용자(20)가 보고 있는 채널 및 그 채널에서 사용자(20)가 현재 보고 있는 곳을 식별한다. ACR이 식별 단계를 완료하면, ACR은 사용자(20)가 보고 있는 채널에 대한 업데이트 또는 변경을 위해 사용자(20)의 미디어 장치 스트림(SD)을 모니터링한다. 핫 매칭은 일반적으로 ACR의 이러한 두 번째 단계 또는 모니터링 단계를 말한다. 네트워크 계층(120)과 장치 계층(130) 사이에서 콜드 매칭이 흔히 수행되고 장치 계층(130)에서 핫 매칭이 수행되지만, ACR 하드웨어 및/또는 소프트웨어와 결합된 계층들 간의 연결을 통해서 ACR 환경(10) 내에서 임의의 계층 또는 임의의 계층 조합이 콜드 매칭 및/또는 핫 매칭을 수행하기 위해 정보를 전송 및 저장할 수 있다.
도 3a 및 도 3b는 미디어 장치(30)(예를 들어, 텔레비전(30, 30a))의 매칭기(300)의 예들이다. 매칭기(300)는 미디어 장치 스트림(SD)으로부터 캡처되는 미디어 장치 프레임들(FD1-n)을 수신한다. 일부 구성들에서, 매칭기(300)는 일련의 순차적 미디어 장치 프레임들(FD1-n)로서, 캡처된 미디어 장치 프레임들(FD1-n)을 수신한다. 매칭기(300)는 미디어 장치 프레임 레이트(RMD)에서 미디어 장치 프레임들(FD1-n)을 수신할 수 있다. 미디어 장치 프레임 레이트(RMD)는 브로드캐스트 프레임 레이트(RB)와 유사하거나 또는 브로드캐스트 프레임 레이트(RB)와 상이할 수 있다. 추가적으로 또는 대안적으로, 매칭기(300)는 불균일한 방식으로(예를 들어, 균일한 프레임 캡처 레이트가 아님) 캡처된 미디어 장치 프레임들(FD1-n)을 수신한다. 일 예로서, 매칭기(300)는 요청 시에 또는 미디어 장치(30)와의 선택적 통신에 따라 캡처된 미디어 장치 프레임들(FD1-n)을 수신한다. 다른 예들에서, 매칭기(300)와 미디어 장치(30) 사이의 타이밍 지연 또는 통신 지연이, 매칭기(300)에서의 캡처된 미디어 장치 프레임들(FD1-n)의 불균일한 수신 또는 비순차적 캡처된 미디어 장치 프레임들(FD1-n)의 수신을 야기한다.
통상적으로, 매칭기(300)는 매칭기 핑거프린트 생성기(310) 및 상관기(320)를 포함한다. 매칭기 핑거프린트 생성기(310)는 수신된 미디어 장치 프레임들(FD1-n)에 기초하여 미디어 장치 핑거프린트들(222, 222b)을 생성하도록 구성된다. 미디어 장치 핑거프린트들(222, 222b)은 미디어 장치(30)(예를 들어, 텔레비전(30, 30a))로부터 매칭기(300)에서 수신되는 각각의 미디어 장치 프레임(FD1-n)에 대응하는 핑거프린트들(222)이다. 미디어 장치 핑거프린트들(222, 222b)은 브로드캐스트 핑거프린트들(222, 222a)과 매우 유사한 표현의 고유 식별자로서 각각의 미디어 장치 프레임(FD1-n)을 나타낼 수 있다. 각각의 미디어 장치 핑거프린트(222, 222b)는 매칭기(300)의 상관기(320)가 브로드캐스트 핑거프린트들(222, 222a)을 미디어 장치 핑거프린트들(222, 222b)과 비교할 수 있도록 하는 값 또는 고유 식별자에 의해 각각의 대응하는 미디어 장치 프레임(FD1-n)을 나타낸다. 예를 들어, 매칭기 핑거프린트 생성기(310)는 대응하는 미디어 장치 스트림(SD)의 미디어 장치 프레임(FD1-n)의 적어도 하나의 픽셀 값(VP)을 나타내는 미디어 장치 핑거프린트들(222, 222b)을 생성할 수 있다. 적어도 하나의 픽셀 값(Vp)은, 일부 구현들에서, 미디어 장치 핑거프린트(222, 222b)가 각 서브-프레임(Fsub)의 적어도 하나의 픽셀 값(Vp)에 대응하는 값들로 구성된 벡터가 되도록 하는 각각의 미디어 장치 프레임(FD1-n)(예를 들어, 4×4 어레이를 정의하는 16개의 서브-프레임들(Fsub))의 서브-프레임들(Fsub)에 대응할 수 있다.
도 3a 및 도 3b를 더 참조하면, 매칭기(300)는 프레임들(F) 및/또는 프레임들(F)에 대응하는 핑거프린트들(222) 사이의 매칭 상관(322)을 결정하는 상관기(320)를 포함한다. 일부 예들에서, 상관기(320)는 적어도 하나의 미디어 장치 핑거프린트(222, 222b)와 적어도 하나의 브로드캐스트 핑거프린트(222, 222a) 사이의 매칭 상관(322)을 결정한다. 상관기(320)가 매칭 상관(322)을 식별하는 경우, 매칭기(300)는 매칭 상관(322)에 대응하는 적어도 하나의 미디어 장치 프레임(FD1-n)을 매칭 미디어 장치 프레임(FDM)으로서 식별한다. 예를 들어, 상관기(320)가, 적어도 하나의 미디어 장치 핑거프린트(222, 222b)는 적어도 하나의 브로드캐스트 핑거프린트(222, 222a)에 대한 매칭 상관(322)을 갖는 것으로 식별하는 경우, 매칭기(300)는 적어도 하나의 미디어 장치 핑거프린트(222, 222b)가 매칭 미디어 장치 프레임(FDM)에 대응하는 것으로 식별한다. 매칭기(300)는 매칭 미디어 장치 프레임(FDM)을 프레임 번호 및 관련 브로드캐스트 채널을 포함하는 메타데이터(224)(예를 들어, 프레임 데이터)와 연관시킬 수 있다. 예를 들어, 매칭기(300)는 매칭 상관(322)의 적어도 하나의 브로드캐스트 핑거프린트(222, 222a)에 대응하는 메타데이터(224)를 수신한다. 매칭 미디어 장치 프레임(FDM)을 식별함으로써, 매칭기(300)는 매칭 상관(322)의 적어도 하나의 브로드캐스트 핑거프린트(222, 222a)에 대응하는 메타데이터(224)를 매칭 미디어 장치 프레임(FDM)과 연관시킨다. 다시 말해, 매칭 상관(322)은 매칭 상관(322)의 적어도 하나의 미디어 장치 핑거프린트(222, 222b)에 대응하는 적어도 하나의 미디어 장치 프레임(FD1-n)이 매칭 상관(322)의 적어도 하나의 브로드캐스트 핑거프린트(222, 222a)에 대응하는 적어도 하나의 브로드캐스트 프레임(F1-n)과 유사하거나 동일한 메타데이터(224)를 가져야한다는 것을 의미한다.
매칭 상관(322)은 유사성(즉, 연관 강도)을 나타내는 값이다. 일부 예들에서, 매칭 상관(322)은 통계적 상관이다. 통계적 상관들은 일반적으로 음의 1에서 1까지의 범위인 2개의 변수(즉, 이변량(bivariate)) 관계들이며, 여기서 0은 부족 관계를 나타내고, 음의 값은 반비례 관계를 나타내고, 양의 값은 비례 관계를 나타낸다. 음의 1에서 1까지의 범위는 연관 강도를 나타낼 수 있으며, 여기서 0에 더 가까운 값이 약한 상관을 나타내고 1(즉, 완전 상관)에 가까운 값은 강한 상관을 나타낸다. 음의 1에서 1까지의 범위가 단순한 통계적 상관 범위를 나타내지만, 이 범위는 시스템 설계에 따라 조정될 수 있다. 바람직하게는, 매칭 상관(322)은 피어슨(Pearson) 상관 계수에 기반하는 것이며, 여기서 피어슨 상관 계수는 일반적으로 두 변수의 공분산을 두 변수의 표준 편차의 곱으로 나눈 값이다. 피어슨 상관 계수가 매칭 상관(322)에 대해 바람직하지만, 매칭 상관(322)은 임의의 상관 계수에 기초할 수도 있다. 다른 통계적 상관 계수들의 예로는 켄달(Kendall) 랭크 상관 또는 스피어맨(Spearman) 상관을 포함한다.
일부 예들에서는, 상관기(320)가 검색 블록(search block)(324)을 컴파일함으로써 매칭 상관(322)을 결정한다. 검색 블록(324)은 적어도 하나의 미디어 장치 핑거프린트(222, 222b) 또는 복수의 미디어 장치 핑거프린트들(222, 222b)을 포함할 수 있다. 일부 예들에서, 검색 블록(324)의 미디어 장치 핑거프린트들(222, 222b)은 미디어 장치 스트림(SD)으로부터 캡처되는 순차적 미디어 장치 프레임들(FDn+1, FD1-n)에 대응한다. 상관기(320)는 매칭기 핑거프린트 생성기(310)로부터 또는 대안적으로는 매칭기(300) 내의 또는 매칭기(300)와 통신하는 미디어 장치 핑거프린트들(222, 222b)의 데이터베이스로부터 검색 블록(324)의 적어도 하나의 미디어 장치 핑거프린트(222, 222b)를 수신한다.
일부 구현들에서, 상관기(320)는 검색 블록(324)을 핑거프린트 데이터베이스(230)에 상관시킬 수 있다. 그러나, 이러한 구현들에서, 핑거프린트 데이터베이스(230)의 크기는 ACR 프로세스의 실시간 이점을 느리게 할 수 있다. 따라서, 상관기(320)는 이러한 실시간 이점을 느리게 하는 대신에, 핑거프린트 결과 세트(232)의 브로드캐스트 핑거프린트들(222, 222a)에 따라 매칭 상관(322)을 결정할 수 있다. 예를 들어, 핑거프린트 결과 세트(232)의 순차적 브로드캐스트 프레임들(F1-n)이 브로드캐스트 미디어 스트림(SB)의 제 1 기간(t1)에 대응하는 한편, 검색 블록(324)은 미디어 장치 스트림(SD)의 제 2 기간(t2)에 대응하며, 제 1 기간(t1)이 제 2 기간(t2)보다 더 크게 되도록 한다. 제 1 기간(t1)이 제 2 기간(t2)보다 큰 경우, ACR 환경(10)은 매칭기(300)가 실시간 처리 속도를 유지하면서 적어도 하나의 브로드캐스트 핑거프린트(222, 222a)에 대한 매칭 상관(322)을 갖는 적어도 하나의 미디어 장치 핑거프린트(222, 222b)를 식별가능하도록 보장할 수 있다.
일부 구성들에서, 검색 블록(324)은 적어도 하나의 미디어 장치 핑거프린트(222, 222b)로서, 미디어 장치(30)(예를 들어, 텔레비전(30, 30a))에서 캡처된 가장 최근의 미디어 장치 프레임(FD1-n)에 대응하는 가장 최근의 미디어 장치 핑거프린트(222, 222bR)를 포함한다. 검색 블록(324) 내에 가장 최근의 미디어 장치 핑거프린트(222, 222bR)를 포함함으로써, 매칭기(300)는 사용자(20)에 의한 미디어 컨텐츠 시청과 가장 동시적인 프레임 데이터(예를 들어, 메타데이터(224))를 결정할 수 있다. 다시 말해, 매칭기(300)는 매칭 상관(322)의 적어도 하나의 브로드캐스트 핑거프린트(222, 222a)에 대응하는 메타데이터(224)를 매칭 상관(322)의 가장 최근의 미디어 장치 핑거프린트(222, 222b)에 대응하는 적어도 하나의 미디어 장치 프레임과 연관시킬 수 있다. 따라서, 매칭기(300)는 브로드캐스트 채널 내의 프레임 위치(예를 들어, 위치와 관련된 프레임 번호)와 함께 연관된 브로드캐스트 채널을 식별할 수 있다.
일부 예들에서, 매칭기(300)는 복수의 브로드캐스트 핑거프린트들(222, 222a)(예를 들어, 핑거프린트 결과 세트(232))을 나타내는 데이터 구조(330)를 포함한다. 데이터 구조(330)는 상관기(320)가 미디어 장치 핑거프린트들(222, 222b)(예를 들어, 검색 블록(324))을 브로드캐스트 핑거프린트들(222, 222a)과 비교할 수 있게 한다. 추가적으로 또는 대안적으로, 데이터 구조(330)는 상관기(320)가 매칭 상관(322)을 결정하는 다단계 상관 프로세스를 수행할 수 있게 한다. 다단계 상관 프로세스는 후보 식별 프로세스 및 매칭 상관 프로세스를 포함할 수 있다. 후보 식별 프로세스에서, 상관기(320)는 데이터 구조(330)로부터의 브로드캐스트 핑거프린트들(222, 222a)이 매칭 상관(322)에 대한 후보 브로드캐스트 핑거프린트들(222, 222ac)인 것으로 식별할 수 있다. 일반적으로, 후보 브로드캐스트 핑거프린트(222, 222ac)는 적어도 하나의 미디어 장치 핑거프린트(222, 222b)(예를 들어, 가장 최근의 미디어 장치 핑거프린트(222, 222bR))와 매칭될 수 있는 브로드캐스트 프레임(F1-n)에 대응하는 브로드캐스트 핑거프린트(222, 222a)이다. 상관기(320)가 검색 블록(324)을 컴파일하는 예들에서, 후보 브로드캐스트 핑거프린트(222, 222ac)는 검색 블록(324)의 적어도 하나의 미디어 장치 핑거프린트(222, 222b)와 매칭될 수 있는 브로드캐스트 프레임(F1-n)에 대응하는 브로드캐스트 핑거프린트(222, 222a)이다. 매칭 상관기(322)에 대한 적어도 하나의 후보 브로드캐스트 핑거프린트(222, 222ac)를 식별함으로써, 매칭기(300)는, 상관기(320)가 더 적은 브로드캐스트 핑거프린트들(222, 222a)(예를 들어, 식별된 후보 브로드캐스트 핑거프린트들(222, 222ac))과의 매칭 상관(322)을 수행할 수 있기 때문에, 매칭 상관 프로세스 동안 상관기(320)에서의 처리 시간을 감소시킬 수 있다. 다시 말해서, 단일의 단계 상관 프로세스에서, 상관기(320)는 단순히 식별된 후보 브로드캐스트 핑거프린트들(222, 222ac)이 아니라, 핑거프린트 결과 세트(232)의 브로드캐스트 핑거프린트들(222, 222a) 및/또는 데이터 구조(330)와의 매칭 상관(322)을 수행할 수 있다. 이 매칭 상관 프로세스에서, 상관기(320)는 적어도 하나의 후보 브로드캐스트 핑거프린트(222, 222ac)를 수신할 수 있고, 적어도 하나의 후보 브로드캐스트 핑거프린트(222, 222ac)에 기초하여 매칭 상관(322)을 결정할 수 있다.
일부 구현들에서, 데이터 구조(330)는 노드들(N)에 의해 복수의 브로드캐스트 핑거프린트들(222, 222a)을 나타낸다. 각각의 노드(N(1-n))는 브로드캐스트 프레임(F1-n)에 대응하는 브로드캐스트 핑거프린트(222, 222a)를 구성할 수 있다. 노드들(N)을 통해, 상관기(320)는 데이터 구조(330)를 검색하고, 후보 브로드캐스트 핑거프린트(222, 222ac)에 대응하는 적어도 하나의 후보 노드(N, Nc)를 식별할 수 있다. 각각의 노드(N(1-n))는 또한 메타데이터(224)(예를 들어, 프레임 위치, 프레임의 타입 또는 핑거프린트 식별자 태그)를 포함할 수 있거나 또는 메타데이터(224)에 대한 참조를 포함할 수 있다. 매칭기(300)는 메타데이터(224) 또는 메타데이터(224)에 대한 참조를 각각의 후보 브로드캐스트 핑거프린트(222, 222ac)와 연관시킬 수 있다. 다시 말해서, 데이터 구조(330)를 검색한 후, 매칭기(300) 및/또는 상관기(320)는 적어도 하나의 후보 노드(N, Nc)로서 수신된 적어도 하나의 후보 브로드캐스트 핑거프린트(222, 222ac)의 브로드캐스트 프레임(F1-n)과 관련된 메타데이터(224)와 함께 매칭 상관(322)에 대한 적어도 하나의 후보 브로드캐스트 핑거프린트(222, 222ac)를 나타내는 적어도 하나의 후보 노드(N, Nc)를 수신할 수 있다.
일부 예들에서, 각각의 노드(N(1-n))는 상관기(320)가 (예를 들어, 후보 노드(N, Nc)에 의해) 적어도 하나의 후보 브로드캐스트 핑거프린트(222, 222ac)를 결정할 때 상관기(320)가 또한 적어도 하나의 후보 브로드캐스트 핑거프린트(222, 222ac)에 대응하는 프레임 위치를 식별할 수 있도록 브로드캐스트 프레임들(F1-n)(예를 들어, 핑거프린트 결과 세트(232)에 관련된 브로드캐스트 프레임들(F1-n))의 순차 어레이를 참조한다. 브로드캐스트 프레임들(F1-n)의 순차 어레이를 통해 매칭기(300)는 매칭 상관 블록(326)으로서 검색 블록(324)과 비교할 브로드캐스트 프레임들의 세트(F1-n(set))에 대응하는 브로드캐스트 핑거프린트들의 세트(222, 222aset)를 선택할 수 있게 된다(예를 들어, 도 3b에 도시됨). 매칭기(300)에 의해 선택된 브로드캐스트 핑거프린트들의 세트(222, 222aset)는 대체로 후보 식별 프로세스 동안 식별된 적어도 하나의 후보 브로드캐스트 핑거프린트(222, 222ac)에 순차적으로 인접한(예를 들어, 그 앞에 또는 뒤에) 선택된 개수의 브로드캐스트 핑거프린트들(222, 222a)과 함께 후보 식별 프로세스 동안 식별된 적어도 하나의 후보 브로드캐스트 핑거프린트(222, 222ac)를 포함한다. 브로드캐스트 핑거프린트들의 세트(222, 222aset) 내의 이러한 개수의 브로드캐스트 핑거프린트들(222, 222a)은, 상관기(320)가 동일한 개수의 브로드캐스트 핑거프린트들(222, 222a)을 동일한 개수의 미디어 장치 핑거프린트들(222, 222b)과 비교함으로써 매칭 상관(322)을 수행할 수 있도록 하는 검색 블록(324)의 미디어 장치 핑거프린트들(222, 222b)에 대응할 수 있다.
다단계 상관 프로세스 동안, 상관기(320)는 적어도 하나의 후보 브로드캐스트 핑거프린트(222, 222ac)를 식별하기 위해 데이터 구조(330)의 범위 검색 또는 가장 가까운 이웃 검색과 같은, 검색들을 수행할 수 있다. 일부 예들에서, 상관기(320)가 검색들을 수행할 때, 상관기(320)는 거리(예를 들어, 유클리드(Euclidean) 거리, 맨해튼(Manhattan) 거리 등)와 같은 검색 메트릭을 사용하여 데이터 구조(330)를 검색한다. 도 3a는 가장 가까운 이웃 검색의 예를 도시한 것이다. 일반적으로, 가장 가까운 이웃 검색은 가장 가까운 이웃 검색이 입력에 가장 근접한 출력을 제공하도록 하는 근접 검색이다. 예를 들어, 공간 N에 있는 포인들의 세트 S와 입력 포인트 P가 주어지면, 가장 가까운 이웃 검색은 공간 N 내의 세트 S에 있는 입력 포인트 P에 가장 가까운 포인트를 반환한다. 도 3a와 같은 일부 예들에서, 상관기(320)는 검색 메트릭으로서 유클리드 거리를 사용하여 가장 가까운 이웃 검색을 수행한다. 도 3a는 검색 블록(324)의 적어도 하나의 미디어 장치 핑거프린트(222, 222b)(예를 들어, 가장 최근의 미디어 장치 핑거프린트(222, 222bR))로서 후보 식별 프로세스의 입력을 도시한 것이다. 이러한 예들에서, 상관기(320)는 검색 블록(324)의 적어도 하나의 미디어 장치 핑거프린트(222, 222b)와 데이터 구조(330) 내의 각 노드(N) 사이의 거리를 결정한다. 가장 가까운 이웃 검색의 결과로서, 상관기(320)는 상관기(320)에 의해 결정된 각각의 거리의 최소값에 대응하는 노드(N)의 브로드캐스트 핑거프린트(222, 222a)를 후보 브로드캐스트 핑거프린트(222, 222ac)로서 식별할 수 있다.
도 3b는 상관기(320)가 다수의 후보 브로드캐스트 핑거프린트들(222, 222ac)을 식별할 수 있는 예이다. 일부 구현들에서, 상관기(320)는 범위 탐색을 사용하여 다수의 후보 브로드캐스트 핑거프린트들(222, 222ac)을 식별한다. 일반적으로, 범위 검색은 입력을 기반으로 하는, 지정된 범위 내에서 출력을 제공하는 검색이다. 예를 들어, 공간 N 내의 포인트들의 세트 S, 입력 포인트 P 및 입력 범위 R이 주어지면, 범위 검색은 입력 범위 R을 만족하는 세트 S 내의 입력 포인트 P와 관련된 모든 포인트들을 반환할 수 있다. 일부 예들에서, 범위 검색은 근접 범위에 대응하는 출력들의 세트를 식별한다. 상관기(320)가 미리 결정된 근접 범위에 따라 범위 검색을 수행하는 경우, 상관기(320)는 미리 결정된 근접 범위 내의 검색 메트릭을 갖는 노드(N)의 적어도 하나의 브로드캐스트 핑거프린트(222, 222a)를 후보 브로드캐스트 핑거프린트(222, 222ac)로 식별할 수 있다. 일 예로서, 상관기(320)는 노드(N)의 적어도 하나의 미디어 장치 프레임(222, 222b)과 브로드캐스트 프레임(222, 222a) 사이의 거리 0 내지 1.0에 대응하는 근접 범위를 수신한다. 수신된 근접 범위가 0 내지 1.0이면, 상관기(320)는 데이터 구조(330)의 각 노드(N)와 적어도 하나의 미디어 장치 프레임(222, 222b)(예를 들어, 검색 블록(324)으로부터) 사이의 검색 메트릭(예를 들어, 거리)을 결정할 수 있다. 이 예에서, 상관기(320)는 검색 메트릭에 따라 근접 범위 0 내지 1.0을 만족하는 각각의 노드(N)를 후보 브로드캐스트 핑거프린트(222, 222ac)로 식별한다. 도 3b와 같은 일부 구현들에서, 상관기(320)는 적어도 하나의 후보 브로드캐스트 핑거프린트(222, 222ac)로서 3개의 후보 브로드캐스트 핑거프린트들(222, 222ac(1-3))에 대응하는 3개의 후보 노드들(N, Nc(1-3))을 식별한다. 추가적으로 또는 대안적으로, 도 3b에 도시된 바와 같이, 상관기(320)는 식별된 각각의 후보 브로드캐스트 핑거프린트(222, 222ac)에 대응하는 메타데이터(224)를 수신하거나 검색할 수 있다.
도 3a 및 도 3b에 도시된 바와 같이, 데이터 구조(330)는 후보 식별 프로세스를 최적화하도록 구성될 수 있다. 일부 구현들에서, 데이터 구조(330)는 범위 트리 또는 k-d 트리와 같은, 2 차원 이상의 트리 데이터 구조(332)(예를 들어, 이진 검색 트리(332, 332a))이다. 트리 데이터 구조(332)를 통해 상관기(320)는 데이터 구조(330) 내의 각 노드(N)와 검색 블록(324)의 적어도 하나의 미디어 장치 핑거프린트(222, 222b) 사이의 검색 메트릭을 결정할 필요 없이 데이터 구조(330)의 검색을 수행할 수 있게 된다. 도 3a에 도시된 바와 같이, 트리 데이터 구조(332)와 같은 데이터 구조(330)는 데이터 구조(330) 내에서 검색하기 위해 인접 노드(Nadj)의 표시(I)를 상관기(320)에 제공할 수 있다. 일부 예들에서, 상관기(320)는 검색 메트릭의 최소값 또는 최대값과 관련하여 노드(N)를 검색한다. 거리의 경우, 상관기(320)는 검색 블록(324)의 적어도 하나의 미디어 장치 핑거프린트(222, 222a)와 노드 N 사이의 거리의 최소값과 관련하여 노드(N)를 검색한다. 이 예에서, 데이터 구조(330)는 상관기(320)가 제 1 노드(N1)와 관련된 제 1 검색 메트릭을 결정할 때, 상관기(320)가 제 1 검색 메트릭의 표시(I)를 식별하고, 표시(I)에 대응하는 방향으로 제 1 노드(N1)에 인접한 제 2 노드(N2, Nadj)와 관련된 제 2 검색 메트릭을 결정하도록 구성된다. 예를 들어, 제 1 노드(N1)에서, 상관기(320)는 검색 블록(324)의 적어도 하나의 미디어 장치 핑거프린트(222, 222a)와 제 1 노드(N1)의 브로드캐스트 핑거프린트(222, 222a) 사이의 3.50의 거리를 결정할 수 있다. 이 3.50의 거리는 다음에 상관기(320)가 제 1 노드(N1)의 좌측에 있는 제 2 노드(N2)에서 제 2 검색 메트릭을 수행한다는 것을 나타낼 수 있다. 이 예에서, 데이터 구조(330)는 제 1 노드(N1)의 좌측으로 이동하는 것이 검색 블록(324)의 적어도 하나의 미디어 장치 핑거프린트(222, 222a)와 제 2 노드(N2)의 브로드캐스트 핑거프린트(222, 222a) 사이의 거리를 감소시키는 것에 대응하도록 구성된다. 도 3a 및 도 3b가 2 차원 데이터 구조(330)를 도시하고 있지만, 데이터 구조(330)는 2 차원 이상에서 이루어질 수 있으며 이에 따라 방향 표시(I)가 2 차원 이상에 대해 발생할 수 있다. 검색할 후속 인접 노드(Nadj)를 나타냄으로써, 데이터 구조(330)의 구성은 상관기(320)가 데이터 구조(330) 내에서 검색하는 노드들(N)의 수를 최적화할 수 있다. 따라서, 일부 데이터 구조들(330)의 고유한 이점은, 이러한 데이터 구조들(330)이 후보 식별 프로세스의 처리 시간을 감소시키면서 매칭 상관 프로세스의 정확도를 잠재적으로 증가시킬 수 있다는 점이다. 따라서, 데이터 구조(330)를 통해 구성된 반복 상관 프로세스는 적어도 하나의 후보 브로드캐스트 핑거프린트(222, 222ac)를 식별하는 것을 도울 수 있게 된다.
일부 예들에서, 상관기(320)는 검색 블록(324)이 하나보다 많은 브로드캐스트 핑거프린트(222, 222a)에 대한 매칭 상관(322)을 갖는 적어도 하나의 미디어 장치 핑거프린트(222, 222b)를 포함한다고 결정할 수 있다. 예를 들어, 도 3b의 경우, 상관기(320)는 후보 식별 프로세스에서 하나보다 많은 후보 브로드캐스트 핑거프린트(222, 222ac)를 식별하였다. 검색 블록(324)이 하나보다 많은 브로드캐스트 핑거프린트(222, 222a)(예를 들어, 하나보다 많은 후보 브로드캐스트 핑거프린트(222, 222ac))와 매칭 상관(322)을 갖는 적어도 하나의 미디어 장치 핑거프린트(222, 222b)를 포함하는 경우, 상관기(320)는 각각의 후보 브로드캐스트 핑거프린트(222, 222ac)와의 매칭 상관(322)을 수행할 수 있다. 일 예로서, 도 3b는 검색 블록(324)과 각각의 매칭 상관 블록(326) 사이의 매칭 상관(322)을 결정하는 상관기(320)를 도시한 것이다. 검색 블록(324)과 각각의 매칭 상관 블록(326) 사이의 매칭 상관(322)의 결과로서, 상관기(320)는 후보 브로드캐스트 핑거프린트들(222, 222ac)의 매칭 브로드캐스트 핑거프린트(222, 222aM)와 가장 큰 매칭 상관(322, 322G)을 갖는 검색 블록(324)의 적어도 하나의 미디어 장치 핑거프린트(222, 222b)의 미디어 장치 핑거프린트(222, 222b)에 대응하는 미디어 장치 프레임(FD)으로서 매칭 미디어 장치 프레임(FMD)을 결정한다.
일 예로서, 매칭기(300)는 9,000개의 순차적 브로드캐스트 프레임들(F1-9000)에 대응하는 핑거프린트 결과 세트(232)로서 5 분 동안의 브로드캐스트 핑거프린트들(222, 222a(1-9,000))을 수신한다. 매칭기(300)는 또한 브로드캐스트 핑거프린트들(222, 222a(1-9,000))과 연관된 메타데이터(224)를 수신할 수 있거나, 또는 매칭기(300)가 매칭 미디어 장치 프레임(FMD)을 식별할 경우 핑거프린터(200)로부터 메타데이터(224)를 나중에 검색할 수 있다. 상관기(320)는 매칭기 핑거프린트 생성기(310)에서의 미디어 장치 스트림(SD)으로부터 캡처된 미디어 장치 프레임들(FD1-n)에 대응하는 미디어 장치 핑거프린트들(222, 222b)을 수신한다. 이 예에서, 상관기(320)는 TV(30, 30a)에서 캡처되는 미디어 장치 스트림(SD)의 2 초에 대응하는 60개의 미디어 장치 핑거프린트들(222, 222b(1-60))(즉, 초당 30 프레임의 프레임 레이트(RMD))을 수신한다. 여기서, 이 60개의 미디어 장치 핑거프린트들(222, 222b(1-60))이 검색 블록(324)이 된다. 이 예가 단일 단계 상관 프로세스인 경우, 상관기(320)는 60개의 미디어 장치 핑거프린트들(222, 222b(1-60)) 중 적어도 하나의 미디어 장치 핑거프린트(222, 222b)(예를 들어, 가장 최근의 미디어 장치 핑거프린트(222, 222bR))가 핑거프린트 결과 세트(232)의 적어도 하나의 브로드캐스트 핑거프린트(222, 222a)에 대한 매칭 상관(322)을 갖는 것으로 결정할 수 있다. 단일 단계 상관 프로세스에서, 매칭 상관(322)을 갖는 적어도 하나의 미디어 장치 핑거프린트(222, 222b)의 대응하는 미디어 장치 프레임(FD)은 매칭 미디어 장치 프레임(FMD)이다. 이 예가 다단계 상관 프로세스인 경우, 상관기(320)는 검색 블록(324)의 적어도 하나의 미디어 장치 핑거프린트(222, 222b)(예를 들어, 가장 최근의 미디어 장치 핑거프린트(222, 222bR))를 데이터 구조(330)와 비교하고, 적어도 하나의 대응하는 후보 브로드캐스트 핑거프린트(222, 222ac)를 갖는 적어도 하나의 노드(N)를 식별할 수 있다. 적어도 하나의 후보 브로드캐스트 핑거프린트(222, 222ac)를 가지고, 상관기(320)는 각각의 식별된 후보 브로드캐스트 핑거프린트(222, 222ac)에 대한 매칭 상관 블록들(326)을 생성할 수 있다. 이 예에서, 검색 블록(326)은 60개의 미디어 장치 핑거프린트들(222, 222b(1-60))이므로, 각각의 매칭 상관 블록(326)은 후보 브로드캐스트 핑거프린트(222, 222ac)를 포함하는 60개의 브로드캐스트 핑거프린트들(222, 222a(1-60))이다. 상관기(320)는 이어서 검색 블록(324)의 적어도 하나의 미디어 장치 핑거프린트(222, 222b)(예를 들어, 가장 최근의 미디어 장치 핑거프린트(222, 222bR))가 매칭 상관 블록(326)의 적어도 하나의 브로드캐스트 핑거프린트(222, 222a)에 대한 매칭 상관(322)을 갖는 것으로 결정할 수 있다. 단일 단계 상관 프로세스와 유사하게, 매칭 상관(322)을 갖는 적어도 하나의 미디어 장치 핑거프린트(222, 222b)의 대응하는 미디어 장치 프레임(FD)은 매칭 미디어 장치 프레임(FMD)이다.
선택적으로, 도 3c는 상관기(320)가 데이터 구조(330)를 사용하여 후보 식별 프로세스 없이 반복 매칭 상관 프로세스를 수행할 수 있음을 도시한 것이다. 일 예로서, 상관기(320)는 검색 블록(324)의 적어도 하나의 미디어 장치 핑거프린트(222, 222b)와 적어도 하나의 브로드캐스트 핑거프린트(222, 222a)에 대응하는 제 1 노드(N1) 사이의 매칭 상관(322)을 결정한다. 제 1 노드(N1)에서의 매칭 상관(322)으로, 매칭 상관(322)은 매칭 상관(322)을 추가로 최적화할 수 있는 제 1 노드(N1)에 인접한 제 2 노드(N2)의 표시(I)를 제공한다. 예를 들어, 제 1 노드(N1)에서 상관기(320)는 매칭 상관(322)이 0.55의 값이라고 결정할 수 있다. 0.55의 값은 다음에 상관기(320)가 제 1 노드(N1)의 좌측에 있는 제 2 노드(N2)와의 제 2 매칭 상관(322, 322b)을 수행함을 나타내는 중간 비례 연관을 나타낸다. 이 예에서, 제 1 노드(N1)의 좌측으로 이동하는 것은 매칭 상관(322)에 대한 비례 연관 강도의 증가에 대응할 수 있다. 따라서, 데이터 구조(330)를 통해 구성된 반복 상관 프로세스은 가장 큰 매칭 상관(322, 322G)을 반환하는 것을 도울 수 있게 된다.
도 4는 자동 컨텐츠 인식 동안 콜드 매칭을 위한 방법(400)이다. 블록(402)에서, 방법(400)은 데이터 처리 하드웨어에서, 브로드캐스터에서의 브로드캐스트 미디어 스트림의 브로드캐스트 프레임들을 나타내는 브로드캐스트 핑거프린트들을 수신하는 단계를 포함한다. 블록(404)에서, 방법(400)은 데이터 처리 하드웨어에서, 대응하는 미디어 장치에서의 미디어 장치 스트림의 미디어 장치 프레임들을 나타내는 미디어 장치 핑거프린트들을 수신하는 단계를 더 포함한다. 블록(406)에서, 방법(400)은 또한 데이터 처리 하드웨어에 의해서, 미디어 장치 스트림의 순차적 미디어 장치 프레임에 대응하는 복수의 미디어 장치 핑거프린트들을 포함하는 검색 블록이 적어도 하나의 브로드캐스트 핑거프린트에 대한 매칭 상관을 갖는 적어도 하나의 미디어 장치 핑거프린트를 포함하는 것으로 결정하는 단계를 포함하며, 여기서 매칭 상관은 피어슨 상관 계수를 기반으로 한다. 블록(408)에서, 방법(400)은 또한 데이터 처리 하드웨어에 의해서, 적어도 하나의 브로드캐스트 핑거프린트에 대한 매칭 상관을 갖는 적어도 하나의 미디어 장치 핑거프린트가 매칭 미디어 장치 프레임에 대응하는 것으로 식별하는 단계를 포함한다.
소프트웨어 애플리케이션(즉, 소프트웨어 리소스)은 컴퓨팅 장치로 하여금 작업을 수행하게 하는 컴퓨터 소프트웨어를 지칭할 수 있다. 일부 예들에서, 소프트웨어 애플리케이션은 "애플리케이션", "앱" 또는 "프로그램"으로 지칭될 수 있다. 예시적인 애플리케이션들은 시스템 진단 애플리케이션, 시스템 관리 애플리케이션, 시스템 유지 보수 애플리케이션, 워드 프로세싱 애플리케이션, 스프레드 시트 애플리케이션, 메시징 애플리케이션, 미디어 스트리밍 애플리케이션, 소셜 네트워킹 애플리케이션 및 게임 애플리케이션을 포함하지만 이에 제한되지는 않는다.
도 5는 본 명세서에서 설명된 시스템들 및 방법들을 구현하는데 사용될 수 있는 예시적인 컴퓨팅 장치(500)의 개략도이다. 컴퓨팅 장치(500)는 랩탑, 데스크탑, 워크스테이션, PDA(personal digital assistant), 서버, 블레이드 서버, 메인 프레임 및 기타 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 나타내는 것으로 의도된다. 여기에 도시된 구성 요소, 이들의 연결 및 관계, 및 그 기능은 단지 예시적인 것이며, 본 명세서에서 설명되고/되거나 청구되는 본 발명의 구현들을 제한하는 것으로 의도되지 않는다.
컴퓨팅 장치(500)는 프로세서(510), 메모리(520), 저장 장치(530), 메모리(520) 및 고속 확장 포트(550)에 연결되는 고속 인터페이스/제어기(540) 및 저속 버스(570) 및 저장 장치(530)에 연결되는 저속 인터페이스/제어기(560)를 포함한다. 각각의 구성 요소들(510, 520, 530, 540, 550, 및 560)은 다양한 버스를 사용하여 상호 연결되고, 공통 마더보드 상에 또는 다른 방식들로 적절하게 장착될 수 있다. 프로세서(510)는 고속 인터페이스(540)에 접속되는 디스플레이(580)와 같은 외부 입/출력 장치 상에 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를 디스플레이하기 위해 메모리(520)에 또는 저장 장치(530) 상에 저장된 명령어들을 포함하는, 컴퓨팅 장치(500) 내에서의 실행을 위한 명령어들을 처리할 수 있다. 다른 구현들에서는, 다수의 프로세서 및/또는 다수의 버스가 적절하게 다수의 메모리 및 메모리 타입과 함께 사용될 수 있다. 또한, 다수의 컴퓨팅 장치(500)가 연결될 수 있으며, 각각의 장치는 필요한 동작의 부분들을 제공한다(예를 들어, 서버 뱅크, 블레이드 서버 그룹 또는 다중 프로세서 시스템으로서).
메모리(520)는 컴퓨팅 장치(500) 내에 비-일시적으로 정보를 저장한다. 메모리(520)는 컴퓨터 판독 가능 매체, 휘발성 메모리 유닛(들) 또는 비-휘발성 메모리 유닛(들)일 수 있다. 비-일시적 메모리(520)는 컴퓨팅 장치(500)에 의해 사용하기 위해 일시적 또는 영구적으로 프로그램들(예를 들어, 명령어 시퀀스들) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는데 사용되는 물리적 장치들일 수 있다. 비-휘발성 메모리의 예들은 플래시 메모리 및 판독 전용 메모리(ROM)/프로그램 가능 판독 전용 메모리(PROM)/소거 가능 프로그램 가능 판독 전용 메모리(EPROM)/전자 소거 가능 프로그램 가능 판독 전용 메모리(EEPROM)(예를 들어, 통상적으로 부팅 프로그램과 같은 펌웨어에 사용되는)을 포함하지만 이에 제한되지는 않는다. 휘발성 메모리의 예들은 랜덤 액세스 메모리(RAM), 동적 랜덤 액세스 메모리(DRAM), 정적 랜덤 액세스 메모리(SRAM), 상 변화 메모리(PCM) 뿐만 아니라 디스크 또는 테이프를 포함하지만 이에 제한되지는 않는다.
저장 장치(530)는 컴퓨팅 장치(500)에 대용량 저장 장치를 제공할 수 있다. 일부 구현들에서, 저장 장치(530)는 컴퓨터 판독 가능 매체이다. 다양한 상이한 구현들에서, 저장 장치(530)는 저장 영역 네트워크 또는 다른 구성들 내 장치들을 비롯한, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 또는 테이프 장치, 플래시 메모리 또는 다른 유사한 솔리드 스테이트 메모리 장치, 또는 장치들의 어레이일 수 있다. 추가 구현들에서, 컴퓨터 프로그램 제품이 정보 캐리어에 유형적으로 구현된다. 컴퓨터 프로그램 제품은 실행될 때, 전술한 바와 같은 하나 이상의 방법을 수행하는 명령어들을 포함한다. 정보 캐리어는 메모리(520), 저장 장치(530), 또는 프로세서(510) 상의 메모리와 같은 컴퓨터 또는 기계 판독 가능 매체이다.
고속 제어기(540)는 컴퓨팅 장치(500)에 대한 대역폭 집약적 동작들을 관리하는 한편, 저속 제어기(560)는 보다 낮은 대역폭 집약적 동작들을 관리한다. 이러한 임무 할당은 단지 예시적인 것이다. 일부 구현들에서, 고속 제어기(540)는 메모리(520), 디스플레이(580)(예를 들어, 그래픽 프로세서 또는 가속기를 통해) 및 다양한 확장 카드(도시되지 않음)를 수용할 수있는 고속 확장 포트(550)에 접속된다. 일부 구현들에서, 저속 제어기(560)는 저장 장치(530) 및 저속 확장 포트(590)에 접속된다. 다양한 통신 포트(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트(590)는 키보드, 포인팅 장치, 스캐너와 같은 하나 이상의 입/출력 장치, 또는 예를 들어, 네트워크 어댑터를 통해 스위치 또는 라우터와 같은 네트워킹 장치에 접속될 수 있다.
컴퓨팅 장치(500)는 도면에 도시된 바와 같이, 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 표준 서버(500a)로서 또는 그러한 서버 그룹(500a)에 여러 번, 랩탑 컴퓨터(500b) 또는 랙 서버 시스템(500c)의 부분으로서 구현될 수 있다.
본 명세서에 설명된 시스템들 및 기술들의 다양한 구현들은 디지털 전자 및/또는 광 회로, 집적 회로, 특수 설계된 ASIC(application specific integrated circuit), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 실현될 수 있다. 이러한 다양한 구현들은 저장 시스템, 적어도 하나의 입력 장치 및 적어도 하나의 출력 장치로부터 데이터 및 명령어들을 수신하기 위해, 그리고 그것들로 데이터 및 명령어들을 송신하기 위해 접속되는, 전용 또는 범용일 수 있는, 적어도 하나의 프로그램 가능 프로세서를 포함하는 프로그램 가능 시스템 상에서 실행 가능 및/또는 해석 가능한 하나 이상의 컴퓨터 프로그램에서의 구현을 포함할 수 있다.
이러한 컴퓨터 프로그램들(프로그램들, 소프트웨어, 소프트웨어 애플리케이션들 또는 코드라고도 알려져 있음)은 프로그램 가능 프로세서에 대한 기계 명령어들을 포함하고, 상위 레벨 절차 및/또는 객체 지향 프로그래밍 언어 및/또는 어셈블리/기계 언어로 구현될 수 있다. 본 명세서에서 사용될 때, "기계 판독 가능 매체" 및 "컴퓨터 판독 가능 매체"라는 용어들은 기계 판독 가능 신호로서 기계 명령어들을 수신하는 기계 판독 가능 매체를 포함하여, 기계 명령어들 및/또는 데이터를 프로그램 가능 프로세서에 제공하는데 사용되는 임의의 컴퓨터 프로그램 제품, 비-일시적 컴퓨터 판독 가능 매체, 장치 및/또는 디바이스(예를 들어, 자기 디스크, 광 디스크, 메모리, 프로그램 가능 로직 기기(PLD))를 지칭한다. "기계 판독 가능 신호"라는 용어는 기계 명령어들 및/또는 데이터를 프로그램 가능 프로세서에 제공하는데 사용되는 임의의 신호를 지칭한다.
본 명세서에 설명된 프로세스들 및 논리 흐름들은 입력 데이터에 관해 동작하고 출력을 생성함으로써 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능 프로세서에 의해 수행될 수 있다. 프로세스들 및 논리 흐름들은 또한 전용 논리 회로, 예를 들어, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)에 의해 수행될 수도 있다. 컴퓨터 프로그램의 실행에 적합한 프로세서는 예를 들어, 범용 마이크로 프로세서 및 전용 마이크로 프로세서, 및 임의의 유형의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 양자로부터 명령어들 및 데이터를 수신하게 된다. 컴퓨터의 필수 요소들은 명령어들을 수행하기 위한 프로세서 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 장치이다. 일반적으로, 컴퓨터는 또한 예를 들어, 자기, 자기 광 디스크 또는 광 디스크와 같은 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치를 포함하거나, 그로부터 데이터를 수신하거나 데이터를 전달하기 위해 또는 그 둘 모두를 위해 동작 가능하게 접속된다. 그러나, 컴퓨터에 이러한 장치들이 필수적인 것은 아니다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하는데 적합한 컴퓨터 판독 가능 매체는 반도체 메모리 장치들, 예를 들어, EPROM, EEPROM 및 플래시 메모리 장치들; 자기 디스크들, 예를 들어, 내부 하드 디스크들 또는 이동식 디스크들; 자기 광 디스크들; 및 CD ROM 및 DVD-ROM 디스크들을 예로서 포함하는, 모든 형태의 비-휘발성 메모리, 매체 및 메모리 장치들을 포함한다. 프로세서 및 메모리는 전용 논리 회로에 의해 보완되거나 그에 통합될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 본 개시 내용의 하나 이상의 양태는 사용자에 정보를 디스플레이하기 위한 디스플레이 장치, 예를 들어 CRT(cathode ray tube), LCD(liquid crystal display) 모니터 또는 터치 스크린 그리고 사용자가 컴퓨터에 입력을 제공할 수 있는 임의적 키보드 및 포인팅 장치, 예를 들어, 마우스 또는 트랙볼을 갖는 컴퓨터 상에서 구현될 수 있다. 다른 유형의 장치들이 또한 사용자와의 상호 작용을 제공하기 위해 사용될 수 있으며; 예를 들어, 사용자에 제공되는 피드백은 임의의 형태의 감각 피드백, 예를 들어, 시각 피드백, 청각 피드백 또는 촉각 피드백일 수 있고; 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 비롯한 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는 예를 들어, 사용자의 클라이언트 장치 상의 웹 브라우저로부터 수신된 요청들에 응답하여 웹 페이지들을 웹 브라우저에 전송함으로써, 사용자에 의해 사용되는 장치로 문서들을 전송하고 그로부터 문서들을 수신함으로써 사용자와 상호 작용할 수 있다.
많은 구현예들이 설명되었다. 그럼에도 불구하고, 본 개시 내용의 사상 및 범위를 벗어나지 않고 다양한 변형이 이루어질 수 있음이 이해될 것이다. 따라서, 다른 구현예들이 다음의 청구범위의 범위 내에 있다.

Claims (20)

  1. 방법으로서,
    데이터 처리 하드웨어(212)에서, 브로드캐스트 미디어 스트림(SB, SC)의 브로드캐스트 프레임들(F1-n)을 나타내는 브로드캐스트 핑거프린트들(222a)을 수신하는 단계;
    상기 데이터 처리 하드웨어(212)에서, 대응하는 미디어 장치(30)에서의 미디어 장치 스트림(SD)의 미디어 장치 프레임들(FD1-n)을 나타내는 미디어 장치 핑거프린트들(222b)을 수신하는 단계;
    상기 데이터 처리 하드웨어(212)에 의해서, 상기 미디어 장치 스트림(SD)의 순차적 미디어 장치 프레임들(FDn+1, FD1-n)에 대응하는 복수의 미디어 장치 핑거프린트들(222b)을 포함하는 검색 블록(324)이 적어도 하나의 브로드캐스트 핑거프린트(222a)에 대한 매칭 상관(322)을 갖는 적어도 하나의 미디어 장치 핑거프린트(222b)를 포함하는 것으로 결정하는 단계 - 상기 매칭 상관(332)은 피어슨(Pearson) 상관 계수에 기초하는 것임 -; 및
    상기 데이터 처리 하드웨어(212)에 의해서, 상기 적어도 하나의 브로드캐스트 핑거프린트(222a)에 대한 상기 매칭 상관(332)을 갖는 상기 적어도 하나의 미디어 장치 핑거프린트(222b)가 매칭 미디어 장치 프레임(FMD)에 대응하는 것으로 식별하는 단계
    를 포함하는 방법.
  2. 제 1 항에 있어서,
    상기 데이터 처리 하드웨어(212)에 의해서, 상기 검색 블록(324)이 하나보다 많은 브로드캐스트 핑거프린트(222a)에 대한 상기 매칭 상관(322)을 갖는 적어도 하나의 미디어 장치 핑거프린트(222b)를 포함하는지 여부를 결정하는 단계; 및
    상기 검색 블록(324)이 하나보다 많은 브로드캐스트 핑거프린트(222a)에 대한 상기 매칭 상관(322)을 갖는 적어도 하나의 미디어 장치 핑거프린트(222b)를 포함하는 경우:
    상기 데이터 처리 하드웨어(212)에 의해서, 상기 검색 블록(324)의 상기 적어도 하나의 미디어 장치 핑거프린트(222b)에 대응하는 브로드캐스트 핑거프린트들의 세트(222aset)를 결정하는 단계 - 상기 브로드캐스트 핑거프린트들의 세트(222aset)의 각 브로드캐스트 핑거프린트(222a)는 상기 브로드캐스트 미디어 스트림(SB, SC)의 순차적으로 인접한 브로드캐스트 프레임들의 브로드캐스트 핑거프린트들임 -; 및
    상기 데이터 처리 하드웨어(212)에 의해서, 상기 검색 블록(324)과 상기 브로드캐스트 핑거프린트들의 세트(222aset) 사이의 피어슨 상관 계수로서 상기 매칭 상관(322)을 결정하는 단계를 더 포함하는 방법.
  3. 제 2 항에 있어서,
    상기 데이터 처리 하드웨어(212)에 의해서, 상기 브로드캐스트 핑거프린트들의 세트(222aset)의 매칭 브로드캐스트 핑거프린트(222aM)와 가장 큰 피어슨 상관 계수를 갖는 상기 검색 블록(324)의 상기 적어도 하나의 미디어 장치 핑거프린트(222b)의 상기 미디어 장치 핑거프린트(222b)에 대응하는 상기 미디어 장치 프레임(FD)으로서 매칭 미디어 장치 프레임(FMD)을 결정하는 단계를 더 포함하는 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    각각의 핑거프린트(222)는 상기 대응하는 미디어 스트림(S)의 프레임(F)의 적어도 하나의 픽셀 값(Vp)을 나타내는 방법.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    각각의 핑거프린트(222)는 대응하는 프레임(F)의 그레이 스케일 값의 합을 나타내는 평균 픽셀 값(Vp)인 방법.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    각각의 핑거프린트(222)는 대응하는 프레임(F) 내의 서브-프레임(Fsub)의 하나보다 많은 평균 픽셀 값(Vp)을 나타내는 방법.
  7. 제 6 항에 있어서,
    상기 대응하는 프레임(F)의 각각의 핑거프린트(222)는 16개의 서브-프레임들(Fsub)의 각각의 평균 픽셀 값(Vp)에 대응하는 16개의 정수 벡터로서 표현되며, 상기 16개의 서브-프레임들(Fsub)이 상기 대응하는 프레임(F)의 4×4 어레이를 정의하는 방법.
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
    상기 브로드캐스트 프레임들(F1-n)은 상기 브로드캐스트 미디어 스트림(SB, SC)의 상기 제 1 기간(t1)에 대응하고, 상기 미디어 장치 프레임들(FD1-n)은 상기 미디어 장치 스트림(SD)의 제 2 기간(t2)에 대응하며, 상기 제 1 기간(t1)은 상기 제 2 기간(t2)보다 큰 방법.
  9. 제 1 항 내지 제 8 항 중 어느 한 항에 있어서,
    상기 데이터 처리 하드웨어(212)에 의해서, 상기 매칭 미디어 장치 프레임(FMD)을 프레임 번호 및 관련 브로드캐스트 채널을 포함하는 프레임 데이터와 연관시키는 단계를 더 포함하는 방법.
  10. 제 1 항 내지 제 9 항 중 어느 한 항에 있어서,
    상기 검색 블록(324)이 상기 적어도 하나의 브로드캐스트 핑거프린트(222b)에 대한 상기 매칭 상관(322)을 갖는 상기 적어도 하나의 미디어 장치 핑거프린트(222b)를 포함하는 것으로 결정하는 단계는, 상기 데이터 처리 하드웨어(212)에 의해서, 상기 검색 블록(324)을 복수의 브로드캐스트 핑거프린트들에 의해 정의된 데이터베이스 구조와 비교하는 단계를 더 포함하며, 상기 데이터베이스 구조는 이진 검색 트리인 방법.
  11. 시스템으로서,
    데이터 처리 하드웨어(212); 및
    상기 데이터 처리 하드웨어(212)와 통신하는 메모리 하드웨어(214)를 포함하며,
    상기 메모리 하드웨어(214)는 상기 데이터 처리 하드웨어(212) 상에서 실행될 때 상기 데이터 처리 하드웨어(212)로 하여금
    브로드캐스트 미디어 스트림(SB, SC)의 브로드캐스트 프레임들(F1-n)을 나타내는 브로드캐스트 핑거프린트들(222a)을 수신하는 동작;
    대응하는 미디어 장치(30)에서의 미디어 장치 스트림(SD)의 미디어 장치 프레임들(FD1-n)을 나타내는 미디어 장치 핑거프린트들(222b)을 수신하는 동작;
    상기 미디어 장치 스트림(SD)의 순차적 미디어 장치 프레임들(FDn+1, FD1-n)에 대응하는 복수의 미디어 장치 핑거프린트들(222b)을 포함하는 검색 블록(324)이 적어도 하나의 브로드캐스트 핑거프린트(222a)에 대한 매칭 상관(322)을 갖는 적어도 하나의 미디어 장치 핑거프린트(222b)를 포함하는 것으로 결정하는 동작 - 상기 매칭 상관(332)은 피어슨 상관 계수에 기초하는 것임 -; 및
    상기 적어도 하나의 브로드캐스트 핑거프린트(222a)에 대한 상기 매칭 상관(332)을 갖는 상기 적어도 하나의 미디어 장치 핑거프린트(222b)가 매칭 미디어 장치 프레임(FMD)에 대응하는 것으로 식별하는 동작
    을 포함하는 동작들을 수행하게 하는 명령어들을 저장하는 시스템.
  12. 제 11 항에 있어서,
    상기 동작들은,
    상기 검색 블록(324)이 하나보다 많은 브로드캐스트 핑거프린트(222a)에 대한 상기 매칭 상관(322)을 갖는 적어도 하나의 미디어 장치 핑거프린트(222b)를 포함하는지 여부를 결정하는 동작; 및
    상기 검색 블록(324)이 하나보다 많은 브로드캐스트 핑거프린트(222a)에 대한 상기 매칭 상관(322)을 갖는 적어도 하나의 미디어 장치 핑거프린트(222b)를 포함하는 경우:
    상기 검색 블록(324)의 상기 적어도 하나의 미디어 장치 핑거프린트에 대응하는 브로드캐스트 핑거프린트들의 세트(222aset)를 결정하는 동작 - 상기 브로드캐스트 핑거프린트들의 세트(222aset)의 각 브로드캐스트 핑거프린트(222a)는 상기 브로드캐스트 미디어 스트림(SB, SC)의 순차적으로 인접한 브로드캐스트 프레임들의 브로드캐스트 핑거프린트들임 -; 및
    상기 검색 블록(324)과 상기 브로드캐스트 핑거프린트들의 세트(222aset) 사이의 피어슨 상관 계수로서 상기 매칭 상관(322)을 결정하는 동작을 더 포함하는 시스템.
  13. 제 12 항에 있어서,
    상기 동작들은 상기 브로드캐스트 핑거프린트들의 세트(222aset)의 매칭 브로드캐스트 핑거프린트(222aM)와 가장 큰 피어슨 상관 계수를 갖는 상기 검색 블록(324)의 상기 적어도 하나의 미디어 장치 핑거프린트(222b)의 상기 미디어 장치 핑거프린트(222b)에 대응하는 상기 미디어 장치 프레임(FD)으로서 매칭 미디어 장치 프레임(FMD)을 결정하는 동작을 더 포함하는 시스템.
  14. 제 11 항 내지 제 13 항 중 어느 한 항에 있어서,
    각각의 핑거프린트(222)는 상기 대응하는 미디어 스트림(S)의 프레임(F)의 적어도 하나의 픽셀 값(Vp)을 나타내는 시스템.
  15. 제 11 항 내지 제 14 항 중 어느 한 항에 있어서,
    각각의 핑거프린트(222)는 대응하는 프레임(F)의 그레이 스케일 값의 합을 나타내는 평균 픽셀 값(Vp)인 시스템.
  16. 제 11 항 내지 제 15 항 중 어느 한 항에 있어서,
    각각의 핑거프린트(222)는 대응하는 프레임(F) 내의 서브-프레임(Fsub)의 하나보다 많은 평균 픽셀 값(Vp)을 나타내는 시스템.
  17. 제 16 항에 있어서,
    상기 대응하는 프레임(F)의 각각의 핑거프린트(222)는 16개의 서브-프레임들(Fsub)의 각각의 평균 픽셀 값(Vp)에 대응하는 16개의 정수 벡터로서 표현되며, 상기 16개의 서브-프레임들(Fsub)이 상기 대응하는 프레임(F)의 4×4 어레이를 정의하는 시스템.
  18. 제 11 항 내지 제 17 항 중 어느 한 항에 있어서,
    상기 브로드캐스트 프레임들(F1-n)은 상기 브로드캐스트 미디어 스트림(SB, SC)의 상기 제 1 기간(t1)에 대응하고, 상기 미디어 장치 프레임들(FD1-n)은 상기 미디어 장치 스트림(SD)의 제 2 기간(t2)에 대응하며, 상기 제 1 기간(t1)은 상기 제 2 기간(t2)보다 큰 시스템.
  19. 제 11 항 내지 제 18 항 중 어느 한 항에 있어서,
    상기 동작들은 상기 매칭 미디어 장치 프레임(FMD)을 프레임 번호 및 관련 브로드캐스트 채널을 포함하는 프레임 데이터와 연관시키는 동작을 더 포함하는 시스템.
  20. 제 11 항 내지 제 19 항 중 어느 한 항에 있어서,
    상기 검색 블록(324)이 상기 적어도 하나의 브로드캐스트 핑거프린트(222b)에 대한 상기 매칭 상관(322)을 갖는 상기 적어도 하나의 미디어 장치 핑거프린트(222b)를 포함하는 것으로 결정하는 동작은, 상기 검색 블록(324)을 복수의 브로드캐스트 핑거프린트들에 의해 정의된 데이터베이스 구조와 비교하는 동작을 더 포함하며, 상기 데이터베이스 구조는 이진 검색 트리인 시스템.
KR1020207010283A 2017-09-13 2018-09-10 자동 컨텐츠 인식에 의한 콜드 매칭 Active KR102406304B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/703,684 US10803038B2 (en) 2017-09-13 2017-09-13 Cold matching by automatic content recognition
US15/703,684 2017-09-13
PCT/US2018/050230 WO2019055344A1 (en) 2017-09-13 2018-09-10 COLD MATCHING BY RECOGNITION OF AUTOMATIC CONTENT

Publications (2)

Publication Number Publication Date
KR20200053543A true KR20200053543A (ko) 2020-05-18
KR102406304B1 KR102406304B1 (ko) 2022-06-10

Family

ID=63762987

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207010283A Active KR102406304B1 (ko) 2017-09-13 2018-09-10 자동 컨텐츠 인식에 의한 콜드 매칭

Country Status (9)

Country Link
US (2) US10803038B2 (ko)
EP (1) EP3682644A1 (ko)
JP (1) JP7116786B2 (ko)
KR (1) KR102406304B1 (ko)
CN (1) CN111133765B (ko)
AU (2) AU2018331314B2 (ko)
BR (1) BR112020005084A2 (ko)
CA (1) CA3075730C (ko)
WO (1) WO2019055344A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11088772B1 (en) 2020-05-29 2021-08-10 The Nielsen Company (Us), Llc Methods and apparatus to reduce false positive signature matches due to similar media segments in different reference media assets
US11463787B1 (en) 2021-05-26 2022-10-04 The Nielsen Company (Us), Llc Methods and apparatus to generate a signature based on signature candidates
US12526478B2 (en) * 2021-08-06 2026-01-13 Adeia Guides Inc. Systems and methods for determining types of references in content and mapping to particular applications
US12190335B2 (en) * 2021-10-29 2025-01-07 The Nielsen Company (Us), Llc Methods and apparatus to generate reference signature assets from meter signatures
CN117171417B (zh) * 2023-09-08 2025-11-11 东北大学秦皇岛分校 一种基于固件仿真的细粒度物联网设备自动识别方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040237102A1 (en) * 2003-03-07 2004-11-25 Richard Konig Advertisement substitution
US20070124796A1 (en) * 2004-11-25 2007-05-31 Erland Wittkotter Appliance and method for client-sided requesting and receiving of information
JP2008011316A (ja) * 2006-06-30 2008-01-17 Casio Comput Co Ltd カメラ装置及びカメラ装置制御プログラム
EP2437498A1 (en) * 2010-09-30 2012-04-04 British Telecommunications Public Limited Company Digital video fingerprinting
US20140201787A1 (en) * 2009-05-29 2014-07-17 Zeev Neumeier Systems and methods for improving server and client performance in fingerprint acr systems
US20140237496A1 (en) * 2013-02-18 2014-08-21 Effective Measure International Pty Ltd Audience segment validation device and method
WO2016027457A1 (ja) * 2014-08-21 2016-02-25 パナソニックIpマネジメント株式会社 コンテンツ認識装置およびコンテンツ認識方法
WO2016106177A1 (en) * 2014-12-22 2016-06-30 Rovi Guides, Inc. Systems and methods for filtering techniques using metadata and usage data analysis
WO2016200622A1 (en) * 2015-06-12 2016-12-15 Sorenson Media, Inc. Detecting channel change in automatic content recognition fingerprint matching

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009024031A1 (en) 2007-08-22 2009-02-26 Yuvad Technologies Co., Ltd. A system for identifying motion video content
WO2009140824A1 (en) * 2008-05-22 2009-11-26 Yuvad Technologies Co., Ltd. A system for identifying motion video/audio content
US8335786B2 (en) * 2009-05-28 2012-12-18 Zeitera, Llc Multi-media content identification using multi-level content signature correlation and fast similarity search
US8195689B2 (en) * 2009-06-10 2012-06-05 Zeitera, Llc Media fingerprinting and identification system
US9510044B1 (en) * 2008-06-18 2016-11-29 Gracenote, Inc. TV content segmentation, categorization and identification and time-aligned applications
US8229219B1 (en) * 2009-08-06 2012-07-24 Google Inc. Full-length video fingerprinting
US8370315B1 (en) 2010-05-28 2013-02-05 Symantec Corporation System and method for high performance deduplication indexing
US8786785B2 (en) * 2011-04-05 2014-07-22 Microsoft Corporation Video signature
EP2718849A1 (en) 2011-06-10 2014-04-16 Shazam Entertainment Ltd. Methods and systems for identifying content in a data stream
CN102682298B (zh) 2012-04-28 2013-11-06 聂秀山 基于图建模的视频指纹方法
US9794642B2 (en) * 2013-01-07 2017-10-17 Gracenote, Inc. Inserting advertisements into video content
US9743153B2 (en) * 2014-09-12 2017-08-22 Sorenson Media, Inc Content replacement with onscreen displays
US9578394B2 (en) * 2015-03-25 2017-02-21 Cisco Technology, Inc. Video signature creation and matching
US20160316261A1 (en) * 2015-04-23 2016-10-27 Sorenson Media, Inc. Automatic content recognition fingerprint sequence matching

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040237102A1 (en) * 2003-03-07 2004-11-25 Richard Konig Advertisement substitution
US20070124796A1 (en) * 2004-11-25 2007-05-31 Erland Wittkotter Appliance and method for client-sided requesting and receiving of information
JP2008011316A (ja) * 2006-06-30 2008-01-17 Casio Comput Co Ltd カメラ装置及びカメラ装置制御プログラム
US20140201787A1 (en) * 2009-05-29 2014-07-17 Zeev Neumeier Systems and methods for improving server and client performance in fingerprint acr systems
EP2437498A1 (en) * 2010-09-30 2012-04-04 British Telecommunications Public Limited Company Digital video fingerprinting
US20140237496A1 (en) * 2013-02-18 2014-08-21 Effective Measure International Pty Ltd Audience segment validation device and method
WO2016027457A1 (ja) * 2014-08-21 2016-02-25 パナソニックIpマネジメント株式会社 コンテンツ認識装置およびコンテンツ認識方法
WO2016106177A1 (en) * 2014-12-22 2016-06-30 Rovi Guides, Inc. Systems and methods for filtering techniques using metadata and usage data analysis
WO2016200622A1 (en) * 2015-06-12 2016-12-15 Sorenson Media, Inc. Detecting channel change in automatic content recognition fingerprint matching
US20170013324A1 (en) * 2015-06-12 2017-01-12 Sorenson Media, Inc. Detecting channel change in automatic content recognition fingerprint matching

Also Published As

Publication number Publication date
JP7116786B2 (ja) 2022-08-10
KR102406304B1 (ko) 2022-06-10
US10803038B2 (en) 2020-10-13
WO2019055344A1 (en) 2019-03-21
CA3075730A1 (en) 2019-03-21
US11379448B2 (en) 2022-07-05
CN111133765B (zh) 2022-02-15
JP2020533918A (ja) 2020-11-19
CA3075730C (en) 2024-01-02
US20200341960A1 (en) 2020-10-29
US20190079961A1 (en) 2019-03-14
BR112020005084A2 (pt) 2020-09-15
AU2018331314B2 (en) 2021-01-28
EP3682644A1 (en) 2020-07-22
AU2021201776B2 (en) 2022-05-19
AU2018331314A1 (en) 2020-04-02
CN111133765A (zh) 2020-05-08
AU2021201776A1 (en) 2021-04-15

Similar Documents

Publication Publication Date Title
JP7240437B2 (ja) 自動コンテンツ認識のための広告フレームのフラッギング
AU2021201776B2 (en) Cold matching by automatic content recognition
US11361549B2 (en) Scene frame matching for automatic content recognition
US10897657B2 (en) Obtaining viewer demographics through advertisement selections
CN110537371B (zh) 用于自动内容识别的帧确定性

Legal Events

Date Code Title Description
A201 Request for examination
PA0105 International application

Patent event date: 20200409

Patent event code: PA01051R01D

Comment text: International Patent Application

PA0201 Request for examination
PG1501 Laying open of application
N231 Notification of change of applicant
PN2301 Change of applicant

Patent event date: 20210618

Comment text: Notification of Change of Applicant

Patent event code: PN23011R01D

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20211028

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20220415

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20220602

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20220603

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20250602

Start annual number: 4

End annual number: 4