KR102332953B1 - 미디어 콘텐츠 매칭 및 인덱싱 - Google Patents

미디어 콘텐츠 매칭 및 인덱싱 Download PDF

Info

Publication number
KR102332953B1
KR102332953B1 KR1020207005598A KR20207005598A KR102332953B1 KR 102332953 B1 KR102332953 B1 KR 102332953B1 KR 1020207005598 A KR1020207005598 A KR 1020207005598A KR 20207005598 A KR20207005598 A KR 20207005598A KR 102332953 B1 KR102332953 B1 KR 102332953B1
Authority
KR
South Korea
Prior art keywords
content
media content
electronic device
fingerprints
acr
Prior art date
Application number
KR1020207005598A
Other languages
English (en)
Other versions
KR20200023534A (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 KR20200023534A publication Critical patent/KR20200023534A/ko
Application granted granted Critical
Publication of KR102332953B1 publication Critical patent/KR102332953B1/ko

Links

Images

Classifications

    • 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
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/783Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/134Hyperlinking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/29Arrangements for monitoring broadcast services or broadcast-related services
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • 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/44004Processing 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 video buffer management, e.g. video decoder buffer or video display buffer
    • 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/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/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • 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
    • H04N21/488Data services, e.g. news ticker
    • H04N21/4882Data services, e.g. news ticker for displaying messages, e.g. warnings, reminders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64707Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless for transferring content from a first network to a second network, e.g. between IP and wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
    • 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/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • 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/84Generation or processing of descriptive data, e.g. content descriptors

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Library & Information Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Machine Translation (AREA)
  • Telephonic Communication Services (AREA)

Abstract

방법, 시스템 또는 장치는 미디어 콘텐츠가 디스플레이되는 때를 결정한다. 방법은 콘텐츠 피드로부터 브로드캐스트 채널 상에서 미디어 콘텐츠를 수신하는 것을 포함할 수 있다. 방법은 또한 트리거 이벤트에 대한 응답으로 ACR(automatic content recognition) 시스템으로부터 향후 미디어 콘텐츠에 대한 식별자를 수신하는 것을 포함할 수 있다. 방법은 오버레이 콘텐츠 서버로부터 오버레이 콘텐츠를 수신하는 것을 포함할 수 있다. 방법은 오버레이 콘텐츠를 메모리 디바이스에 저장하는 것을 포함할 수 있다. 방법은 식별자를 사용하여 미디어 콘텐츠가 디스플레이될 시간을 결정하는 것을 포함할 수 있다.

Description

미디어 콘텐츠 매칭 및 인덱싱{MEDIA CONTENT MATCHING AND INDEXING}
[0001] 스마트 텔레비전들(TV)과 같은 미디어 소비 디바이스들은 브로드캐스트 디지털 콘텐츠에 액세스하고 데이터 네트워크들로부터 스트리밍 미디어와 같은 데이터를 수신할 수 있다. 스트리밍 미디어는 최종 사용자가 전화선, 케이블 채널, 인터넷 채널 등을 통해 무비(movie)들 또는 뉴스와 같은 미디어 콘텐츠를 요청할 수 있는 서비스를 지칭한다. 예컨대, 사용자는 자신의 거주지를 떠나지 않고도 무비를 시청(view)할 수 있다. 또한, 사용자들은 학교 또는 교육 기관에서 물리적인 수업(physically class)을 들을 필요 없이 비디오 강연들과 같은 다양한 유형의 교육 콘텐츠들에 액세스할 수 있다.
[0002] 미디어 소비 디바이스들의 수가 계속 증가함에 따라, 비디오 콘텐츠 생성 및 전달이 마찬가지로 증가할 수 있다. 브로드캐스트 디지털 콘텐츠 및 스트리밍 미디어에 액세스하는 미디어 소비 디바이스들의 사용이 증가함에 따라, 콘텐츠 제공자들 또는 네트워크 제공자들은, 브로드캐스트 디지털 콘텐츠 또는 스트리밍 미디어를 소비하는 시청자(viewer)들에 문맥상 관련된 자료를 분배할 수 있다. 예컨대, 로컬 브로드캐스터(local broadcaster)들은 문맥상 관련된 광고들 및 브로드캐스트 디지털 콘텐츠 또는 스트리밍 미디어와의 대화형 콘텐츠(interactive content)를 포함할 수 있다.
[0003] 본 개시내용은 아래에서 주어지는 상세한 설명 및 본 개시내용의 다양한 실시예들의 첨부 도면들로부터 더욱 완전하게 이해될 것이다. 그러나, 도면들은 특정 실시예들로 본 개시내용을 제한하기 위한 것으로 이해되어선 안 되고, 단지 설명 및 이해를 위한 것이다.
[0004] 도 1은 일 실시예에 따른 콘텐츠 분배 네트워크의 시스템 도면을 예시한다.
[0005] 도 2는 일 실시예에 따른 전자 디바이스의 ACR(automatic content recognition) 클라이언트와 통신하는 콘텐츠 관리기를 갖는 콘텐츠 오버레이 네트워크의 시스템 도면을 예시한다.
[0006] 도 3a는 일 실시예에 따른, 디스플레이될 향후 콘텐츠의 전자 디바이스를 통지하기 위한 방법의 도면을 예시한다.
[0007] 도 3b는 일 실시예에 따른, 제1 미디어 콘텐츠를 제2 미디어 콘텐츠로 대체하기 위한 방법의 도면을 예시한다.
[0008] 도 4는, 머신으로 하여금, 본원에서 논의된 방법들 중 임의의 하나 이상을 수행하게 하기 위한 명령들의 세트가 실행될 수 있는 컴퓨터 시스템의 예시적인 형태의 머신의 개략적 표현을 예시한다.
[0009] 현재, 케이블 텔레비전(TV) 제공자들 및 위성 제공자들에 의해 공급되는 수백 개의 프로그램 초이스(program choice)들이 존재한다. 또한, 수십 개의 로컬 텔레비전 채널들을 갖는 메이저 텔레비전 시장 영역들이 100개가 넘는다. 콘텐츠 제공자 또는 브로드캐스터(broadcaster)는 중앙 위치에서 콘텐츠 피드(content feed)들을 생성하고 콘텐츠 피드들을 다양한 위치들에 분배할 수 있다. 예컨대, 콘텐츠 제공자는 다수의 네트워크 제공자들에 텔레비전 채널을 분배할 수 있다. 네트워크 제공자들은 로컬 브로드캐스터들, 다중-채널 네트워크들 및 다른 콘텐츠 소유자들 또는 배급사(distributor)들일 수 있다.
[0010] "콘텐츠"라는 단어는 미디어 또는 멀티미디어를 지칭할 수 있다. "콘텐츠"라는 단어는 또한, 매체 그 자체 보다는, 매체의 주제를 의미하는 특정 용어일 수 있다. 마찬가지로, "미디어"라는 단어 및 "미디어"를 포함하는 일부 복합어들(예컨대, 멀티미디어 또는 하이퍼미디어)은 정보가 최종 사용자/청중에게 전달되게 하는 채널보다는, 콘텐츠를 대신 지칭한다. 미디어의 유형으로서 일반적으로 지칭되는 콘텐츠의 유형의 예는 "영화(film)"로서 지칭되는 "모션 픽처(motion picture)"이다.
[0011] TV 쇼 또는 인터넷 쇼 브로드캐스팅과 같은 미디어 콘텐츠 브로드캐스팅 또는 스트리밍은 제품들 및 서비스들을 광고하고, 시청자들에게 정보를 제공하거나, 또는 이들의 임의의 조합을 제공하는 매력적인 장소(engaging venue)일 수 있다. 다수의 프로그래밍 초이스들을 제공하는 수익(revenue)을 창출하기 위해, (텔레비전 네트워크들과 같은) 콘텐츠 제공자들은 미디어 콘텐츠에 광고들(AD)을 삽입할 수 있다. 일반적으로, 광고주들은 채널의 모든 시청자들에게 하나의 비디오 스트림을 전송하는 것에 의존해 왔으며, 타겟팅은 청중 분석 및 등급 제공자들, 예컨대, The Nielsen Company®에서 제공된 등급들에 기반하여 단지 로컬 브로드캐스터들에 의해 수행된다.
[0012] 브로드캐스터들, 콘텐츠 제공자들 및 광고주들은 별개의 시청자들이 어떤 프로그램들 또는 채널을 보고 있는지 알기 원한다. 브로드캐스터들, 콘텐츠 제공자들 및 광고주들은 또한 별개의 시청자들이 프로그램들 또는 채널들을 보는 때를 알기 원할 수 있다. 브로드캐스터들, 콘텐츠 제공자들 및 광고주들은 시청자들에게 AD들 또는 광고들(commercials)의 주제 및 타이밍을 타겟팅하기 위해 이러한 정보를 사용할 수 있다. 예컨대, 브로드캐스터들은 특정 시청자들에게 AD들 및 다른 비-광고 정보를 타겟팅하기를 원한다. 비-광고는 뉴스 경보들, 공지들, 교육 정보 등을 포함할 수 있다.
[0013] TV 광고가 제품들 또는 서비스들을 광고하기 위한 매력적인 장소이지만, 종래의 TV 광고는 타겟팅되고 개인화된 광고가 부족하다. 부가적으로, 종래의 TV 광고는, 일단 시청자들이 광고를 보고서, 시청자들의 재타겟팅 또는 추가의 관여를 가능하게 하지 않는다. 예컨대, 시청자를 TV AD에 도달하게 하기 위해, 종래의 TV 광고는 시청자가 일정 시간 기간 동안 동일한 채널을 보고 있다고 가정한다. 이 예에서, 콘텐츠 제공자 또는 광고주는 일정 시간 기간 내에 TV AD를 보여줄 것이다. 다른 예에서, 시청자를 TV AD에 도달하게 하기 위해, 콘텐츠 제공자 또는 광고주는 종래의 TV 광고를 사용하고 일정 시간 기간에 걸쳐 TV AD를 반복적으로 보여줄 것이다. 이 예에서, 콘텐츠 제공자 또는 광고주는 시청자가 일정 시간 기간 내에 TV AD를 볼 것이라고 가정한다. 그러나 이러한 가정들은 종종 잘못되어, 시청자로 하여금 TV 광고를 전혀 보지 못하게 할 수 있다. 대안적으로, 이러한 가정들은, 시청자가 동일한 TV AD를 여러 번 보게 할 수 있지만, 여러 번의 시청들은 TV AD에서 보여진 제품을 구매하려는 고객의 의도에 미미한 영향을 미칠 수 있다. 따라서, 시청자가 어떤 프로그램을 시청하고 있는지 또는 시청하려고 하는지를 결정하고, 오버레이(overlay) 콘텐츠 서버 또는 전자 디바이스에 프로그램 정보와 관련된 식별자를 전송하는 것이 유리할 것이다. 전자 디바이스 또는 오버레이 콘텐츠 서버는 식별자를 사용하여 시청자에게 AD들을 타겟팅할 수 있다.
[0014] 이를 결정하기 위해, ACR(automatic content recognition) 시스템은, 사용자가 ACR을 사용하여 보고 있는 미디어 콘텐츠(예컨대, 미디어 프로그램 또는 채널)로부터 질의 핑거프린트들(query fingerprints)을 생성할 수 있다. ACR 시스템은 매치를 결정하기 위해 질의 핑거프린트들과 데이터베이스에 저장된 핑거프린트들을 비교할 수 있다. 이러한 데이터베이스는 서버에 저장될 수 있다. 일 예에서, 서버는 ACR 서버일 수 있다.
[0015] 전자 디바이스는 질의 핑거프린트들을 서버로 전송할 수 있다. 서버는 질의 핑거프린트들과 저장된 핑거프린트들 간의 하나 이상의 매치들을 찾을 수 있다. 일 예에서, ACR 서버가 매치를 발견할 때, ACR 서버는 TV 프로그램이 현재 스트리밍되고 있는 채널을 식별할 수 있다. 다른 예에서, ACR 서버가 매치를 발견할 때, ACR 서버는 TV 프로그램이 스트리밍될 채널을 식별할 수 있다. 이어서, 서버는 미디어 콘텐츠를 식별하는 요청 엔티티에 메시지를 전송할 수 있다. 요청 엔티티는 스마트 TV 또는 오버레이 콘텐츠 서버일 수 있다. 스마트 텔레비전은 프로세싱 디바이스 및 RF(radio frequency) 회로를 포함할 수 있다. 프로세싱 디바이스는 운영 시스템(OS) 및/또는 하나 이상의 애플리케이션들, 예컨대, VOD(video-on-demand) 콘텐츠에 액세스하기 위한 애플리케이션들을 실행할 수 있다. 프로세싱 디바이스는 WLAN(wireless local area network) 상에서 통신하기 위해 RF(radio frequency) 회로의 안테나를 사용할 수 있다. 일 예에서, 프로세싱 디바이스는 온라인 대화형 미디어 또는 주문형 스트리밍 미디어에 액세스하도록 인터넷에 연결하기 위해 RF 회로를 사용할 수 있다.
[0016] 요청 엔티티는, 사용자에게 디스플레이될 수 있는 오버레이 콘텐츠를 선택하기 위해, 식별된 미디어 콘텐츠를 사용할 수 있다. 요청 엔티티는, 현재 전자 디바이스가 시청자에게 디스플레이하고 있는 미디어 콘텐츠의 상부 상에 상이한 오버레이 미디어 콘텐츠를 대체하거나 오버레이할 수 있다. 일 예에서, 요청 엔티티는, 전자 디바이스가 중간 광고(commercial break) 동안에 시청자에게 현재 디스플레이하고 있는 미디어 콘텐츠를 대체하거나 오버레이할 수 있다. 다른 예에서, 요청 엔티티는, 전자 디바이스가 규칙적으로 스케줄링된 프로그램 동안에 시청자에게 현재 디스플레이하고 있는 미디어 콘텐츠를 대체하거나 오버레이할 수 있다.
[0017] 광고 타임 슬롯들이 상이한 채널들에 따라 변경됨에 따라, 채널에 대한 지식이 시간에 민감하기 때문에, 전자 디바이스(이를테면, TV 또는 셋-톱 박스)는 서버에 계속해서 또는 주기적으로 질의한다. 일 예에서, 전자 디바이스는 매초마다 서버에 질의할 수 있다. 다른 예에서, 전자 디바이스는 몇초마다 서버에 질의할 수 있다. 통상적으로, ACR 시스템은 콘텐츠 피드로부터 미디어 콘텐츠를 핑거프린팅하고, 기준 데이터베이스는 핑거프린트들을 저장한다. 사용자 전자 디바이스는 기준 데이터베이스를 사용하여 로컬 ACR 핑거프린트 매칭을 수행할 수 있다. 예컨대, 미디어 콘텐츠 핑거프린팅은 브로드캐스트 시설에서 발생하고, 이어서 전자 디바이스는 로컬 ACR 핑거프린트 매칭을 수행한다. 그러나, 브로드캐스트 시설이 핑거프린팅을 수행하는 것 및 전자 디바이스가 ACR 핑거프린트 매칭을 수행하는 것은, 어떠한 진보된 검출 없이도 시청 시간에서만 AD들 및 다른 미디어 콘텐츠를 검출하게 할 수 있다.
[0018] 기존의 핑거프린트들을 기준 데이터베이스에서 인덱싱하면서, 기준 데이터베이스에 저장된 핑거프린트들과, 사용자가 보고 있는 미디어 콘텐츠로부터 생성된 핑거프린트들을 매칭시키기 위한 방법들, 시스템들 및 디바이스들이 본원에 설명된다. 기존의 핑거프린트들을 인덱싱하면서 핑거프린트들을 매칭시킴으로써, 전자 디바이스는 다른 미디어 콘텐츠 내의 콘텐츠 세그먼트들을 검출할 수 있다. 일 예에서, 전자 디바이스가 라이브 브로드캐스트 피드를 디스플레이하기 몇 초 전에, 전자 디바이스는 라이브 브로드캐스트 피드를 인덱싱할 수 있다. 인덱싱 동안에 매칭하는 것의 하나의 이점은 향후 콘텐츠를 전자 디바이스에 알리는 것이다. 인덱싱 동안에 매칭하는 것의 또 다른 이점은 얼마나 많은 채널들이 그리고 어떤 채널들이 특정 광고들 또는 비디오 클립들을 방영하는지에 관한 분석을 전자 디바이스에 제공하는 것이다.
[0019] 일 예에서, 전자 디바이스는 명령들을 저장하는 컴퓨터-판독 가능 저장 매체를 포함할 수 있다. 컴퓨터-판독 가능 저장 매체는 비-일시적일 수 있다. 전자 디바이스는, 사용자가 소비하고 있는 미디어 콘텐츠에 대한 제1 핑거프린트를 생성하기 위한 명령들을 실행하기 위한 프로세싱 로직을 포함할 수 있다. 다른 예에서, 방법은 컴퓨터-판독 가능 저장 매체 상에 명령들을 저장하는 단계, 및 사용자가 소비하고 있는 미디어 콘텐츠에 대한 질의 핑거프린트를 생성하기 위해 프로세싱 로직에 의해 명령들을 실행하는 단계를 포함할 수 있다. 프로세싱 로직은 하드웨어(예컨대, 회로, 전용 로직, 프로그래밍 가능 로직, 마이크로코드 등), 소프트웨어(예컨대, 프로세싱 디바이스에 의해 실행되는 명령들), 펌웨어 또는 이들의 결합을 포함할 수 있다. 전자 디바이스는 질의 핑거프린트를 서버로 전송할 수 있다. 서버는, 서버가 질의 핑거프린트와 데이터베이스 내의 미디어 콘텐츠 핑거프린트 사이의 매치를 찾은 것에 대한 응답으로, 시청자가 보고 있는 제1 채널에 대한 식별자를 전자 디바이스로 전송할 수 있다. 전자 디바이스는, 사용자가 미디어 콘텐츠를 시청할 경우에 진행되는, 브로드캐스트 체인 내의 위치들에서의 미디어 콘텐츠로부터 생성된 다수의 핑거프린트들을 서버로부터 연속적으로 수신할 수 있다. 전자 디바이스는 다수의 핑거프린트들을 컴퓨터-판독 가능 저장 매체의 로컬 데이터베이스에 저장할 수 있다.
[0020] 전자 디바이스 또는 서버는, 사용자가 보고 있는 미디어 콘텐츠를 식별하는 채널의 식별을 룩-업 서버로 전송할 수 있다. 이어서, 룩-업 서버는, 전자 디바이스가 어떤 미디어 콘텐츠를 디스플레이하고 있는지를 표시하는 식별자를 오버레이 콘텐츠 서버로 전송할 수 있다. 오버레이 콘텐츠 서버는 미디어 콘텐츠를 룩-업 서버로 전송할 수 있고, 여기서 미디어 콘텐츠는 미디어 콘텐츠의 주제에 맥락상으로 관련된다. 오버레이 콘텐츠 서버는 오버레이 콘텐츠로서 디스플레이하기 위해 미디어 콘텐츠를 전자 디바이스로 전달할 수 있다. 일 실시예에서, 오버레이 콘텐츠는, 전자 디바이스가 시청자에게 디스플레이하고 있는 미디어 콘텐츠의 상부에 ACR 시스템이 중첩하거나 겹치는(superimpose) 미디어 콘텐츠일 수 있다. 다른 실시예에서, 오버레이 콘텐츠는, 전자 디바이스가 시청자에게 디스플레이하는 미디어 콘텐츠, 예컨대 대체 미디어 콘텐츠를 대체하는 미디어 콘텐츠 일 수 있다. 일 예에서, 오버레이 콘텐츠 서버는 오버레이 콘텐츠를 저장할 수 있다. 다른 예에서, 오버레이 콘텐츠 서버는, 오버레이 콘텐츠를 저장할 수 있는 메모리 디바이스(이를테면, 다른 서버)에 커플링될 수 있다. 이 예에서, 오버레이 콘텐츠 서버는 메모리 디바이스로부터 오버레이 콘텐츠를 리트리브(retrieve)하고, 이를 전자 디바이스에 전송할 수 있다. 대안적으로, ACR 시스템은, 전자 디바이스가 현재 시청자에게 디스플레이하고 있는 미디어 콘텐츠의 일부의 상부에 오버레이 콘텐츠를 오버레이할 수 있다. 예컨대, 미디어 콘텐츠의 주제를 참조하는 오버레이 콘텐츠가 미디어 콘텐츠의 상부에 오버레이될 수 있다.
[0021] 시청자들에게 미디어 콘텐츠를 제공하기 위해, 개인 또는 조직(organization)은, 이를테면, 인터넷을 통해 미디어 콘텐츠를 시청자에게 전달함으로써 시청자에게 미디어 콘텐츠를 스트리밍하기로 결정할 수 있다. 개인 또는 조직에 의해 사용하는 미디어 콘텐츠는 하나 이상의 라이브 브로드캐스트 미디어 피드들로부터 포착된 미디어 콘텐츠일 수 있다. 예컨대, 미디어 콘텐츠 제공자는 사용자에게 선형 미디어 채널을 제공할 수 있다. 선형 미디어 채널은 인터넷을 통해 시청자에게 제공되는 라이브 미디어 피드 소스일 수 있다.
[0022] 도 1은 일 실시예에 따른 콘텐츠 분배 네트워크(100)의 시스템 도면을 예시한다. 콘텐츠 분배 네트워크(100)에서, 콘텐츠 제공자(102)는 로컬 제공자(106)에 콘텐츠 피드(content feed)를 브로드캐스팅할 수 있다. 로컬 제공자(106)는 헤드엔드(104) 및 ACR 핑거프린터 서버(fingerprinter server)(105)를 포함할 수 있다. 로컬 제공자(106)의 헤드엔드(104)는 콘텐츠 제공자(102)로부터 콘텐츠 피드를 수신할 수 있다. 헤드엔드(104)는 수신된 콘텐츠 피드에 기반하여 로컬 콘텐츠 피드를 생성할 수 있다. 예컨대, 헤드엔드(104)는 국내 또는 글로벌 브로드캐스터로부터의 프로그래밍 및 광고들과 함께 네트워크 채널을 수신하는 로컬 제휴 브로드캐스터일 수 있다. 일 예에서, 헤드엔드(104)는, 브로드캐스트 피드를 송신하는 브로드캐스트 설비 이전의 브로드캐스트 피드의 소스일 수 있다. 다른 예에서, 헤드엔드(104)는 분배 증폭기일 수 있다. 분배 증폭기는 소스 피드를 수신할 수 있고, 그것은 동일한 소스 피드로부터 상이한 디바이스들에 대한 다수의 출력들을 생성할 수 있다. 출력 피드는 예컨대, 브로드캐스트 OTA(over the air), 케이블 제공자에게의 전달, 위성 제공자에게의 전달 및/또는 온라인 스트리밍 제공자에게의 전달을 위해 다양한 분배 아웃렛들로 라우팅될 수 있다.
[0023] 헤드엔드(104)는 ACR 핑거프린터 서버(105), OTA(over-the-air) 브로드캐스터(108) 및/또는 MVPD(multichannel video programming distributor)(110)에 로컬 콘텐츠 피드를 통신할 수 있다. 일 예에서, ACR 핑거프린터 서버(105)는 브로드캐스트 설비에 설치되어 있는 디바이스일 수 있다. ACR 핑거프린터 서버(105)는 헤드엔드(104)로부터 피드를 수신할 수 있다. ACR 핑거프린터 서버(105)는 피드를 핑거프린팅하고 핑거프린트들을 클라우드-기반 웹 서비스에 전송할 수 있다. 일 실시예에서, ACR 핑거프린터 서버(105)는 피드가 텔레비전(TV)과 같은 디스플레이 디바이스에 전달되기에 앞서 그 피드를 핑거프린팅하기 위해 브로드캐스트 설비 내부에 설치될 수 있다.
[0024] OTA 브로드캐스터(108) 및/또는 MVPD(110)는 로컬 콘텐츠 피드를 전자 디바이스들(115)에 통신할 수 있다. 전자 디바이스들(115)의 일부 예들은 전자 디바이스들(118 및 120), 전자 디바이스들(118 및 120)에 미디어 콘텐츠를 스트리밍하는 셋톱 박스(114)뿐만 아니라, 사용자가 로컬 콘텐츠 피드를 예컨대, 무선으로 스트리밍할 수 있게 하는 다른 디바이스들(116)을 포함한다.
[0025] 일 예에서, OTA 브로드캐스터(108)는 종래의 로컬 텔레비전 채널들 또는 라디오 채널들을 사용하여 로컬 콘텐츠 피드를 브로드캐스팅할 수 있다. 이 예에서, 전자 디바이스들(118 및 120)은 로컬 콘텐츠 피드를 수신하기 위한 안테나들(예컨대, TV 안테나들 또는 라디오 안테나들)을 포함할 수 있다. 다른 예에서, MVPD(110)(이를테면, 케이블 브로드캐스터 또는 위성 브로드캐스터)는 로컬 콘텐츠 피드를 셋톱 박스(114)에 통신할 수 있다. 이 예에서, 셋톱 박스(114)는 전자 디바이스들(118 및 120)에 대한 콘텐츠 피드를 포맷할 수 있고, 포맷된 콘텐츠 피드를 전자 디바이스들(118 및 120)에 통신할 수 있다. 전자 디바이스들(118 및 120)은 로컬 콘텐츠를 시청자에 디스플레이하기 위한 디스플레이 디바이스, 예컨대, 텔레비전 스크린 또는 터치 스크린을 포함할 수 있다. 콘텐츠 분배 네트워크(100)의 다양한 컴포넌트들은 전자 디바이스들(118 및 120)에 통합되거나 이에 커플링될 수 있다. 예컨대, 전자 디바이스들(118 및 120)은 안테나들, 셋톱 박스(114) 및 디스플레이 디바이스를 단일 유닛으로 포함하는 스마트 텔레비전들일 수 있다.
[0026] ACR 핑거프린터 서버(105)는 로컬 콘텐츠 피드를 분석하고 핑거프린트 정보(예컨대, 핑거프린트들)를 결정할 수 있다. ACR 핑거프린터 서버(105)는 핑거프린트들을 ACR 시스템(124 또는 126)에 통신할 수 있다. ACR 시스템들(124 및 126)은 스마트 TV 제조자들과 같은 디바이스 제조자들에 의해 선택된 상이한 ACR 시스템들일 수 있다. 일 예에서, ACR 시스템(124 또는 126)은 명령들을 실행하거나 프로세스들을 수행하기 위한 프로세싱 로직 또는 프로세싱 디바이스를 포함할 수 있다. 다른 예에서, ACR 시스템들(124 및 126)은 상이한 ACR 벤더들에 대한 ACR 웹 서비스들일 수 있다. ACR 핑거프린터 서버(105)는 다수의 ACR 벤더들로부터의 인덱싱 클라이언트들의 사용을 가능하게 할 수 있다. 예컨대, TV 제조자들과 같은 상이한 CEM(consumer electronics manufacturer)들은 자신의 전자 디바이스들 내로의 통합을 위해 ACR 벤더들을 독립적으로 선택할 수 있다. 특정 CEM의 디바이스 상에서 ACR-기반 기능성을 인에이블하기 위해, ACR 시스템은 CEM들이 선택하여 CEM의 텔레비전들 상에 통합시킨 ACR 벤더들을 사용하여 브로드캐스트 피드들을 인덱싱할 수 있다. 다수의 ACR 벤더들을 ACR 핑거프린터 서버(105) 상에 통합시키는 하나의 이점은, 광고주들, 광고 에이전시들 및 콘텐츠 제공자들과 같은 엔티티들이 단일 플랫폼과 인터페이스하고 다수의 CEM들로부터의 전자 디바이스들에 진보된 광고 및 콘텐츠 경험을 전달하는 것을 가능하게 한다는 것일 수 있다.
[0027] 일 예에서, ACR 시스템(124)은 기준 데이터베이스(125)에 커플링될 수 있다. 다른 예에서, ACR 시스템(126)은 기준 데이터베이스(127)에 커플링될 수 있다. 기준 데이터베이스들(125 및 127)은 핑거프린트들 및 미디어 콘텐츠를 저장할 수 있다. 콘텐츠 관리기(122)는 ACR 시스템(124 및/또는 126)으로부터 메시지를 수신하는 서버 컴포넌트일 수 있다. 메시지들은 전자 디바이스(118 또는 120)가 디스플레이할 것이거나 현재 디스플레이하고 있는 미디어 콘텐츠를 표시하는 정보를 포함할 수 있다. 일 예에서, 콘텐츠 관리기(122)가 메시지를 수신하는 것에 대한 응답으로, 콘텐츠 관리기(122)는 전자 디바이스(118 또는 120)와 데이터베이스(123)에 저장된 미디어 콘텐츠 사이의 임프레션(impression) 또는 연관성을 기록할 수 있다. 다른 예에서, 콘텐츠 관리기(122)가 메시지를 수신하는 것에 대한 응답으로, 콘텐츠 관리기(122)는 미디어 콘텐츠에 대한 이용 가능한 콘텐츠 오버레이들에 대해 데이터베이스(123)에 질의하거나 검색할 수 있다. 콘텐츠 관리기(122)는 전자 디바이스(118 또는 120)에 대한 디바이스 정보를 사용하여 콘텐츠 오버레이들을 필터링한다. 콘텐츠 관리기(122)는 ACR 시스템(124 또는 126)을 통해 전자 디바이스(118 또는 120)에 콘텐츠 오버레이를 전송할 수 있다. 일 실시예에서, 전자 디바이스(118 또는 120)는 콘텐츠 오버레이를 시청자에 디스플레이할 수 있다. 다른 실시예에서, 전자 디바이스(118 또는 120)는 미디어 콘텐츠를 오버레이 콘텐츠로 대체할 수 있고 오버레이 콘텐츠를 시청자에게 디스플레이할 수 있다. 다른 예에서, ACR 시스템(124 또는 126)은 트리거(trigger)들이 전자 디바이스(118 또는 120) 상에 디스플레이되게 할 수 있다. 전자 디바이스(118 또는 120)는 트리거들을 인식하고 전자 디바이스(118 또는 120)와 데이터베이스(123)의 미디어 콘텐츠 사이의 임프레션 또는 연관성을 기록하기 위한 요청을 콘텐츠 관리기(122)로 전송할 수 있다. 예컨대, 전자 디바이스(118 또는 120)는 전자 디바이스(118 또는 120)가 선택 미디어 콘텐츠를 디스플레이할 때 시청자가 채널을 변경하는지를 기록하기 위한 요청을 콘텐츠 관리기(122)로 전송할 수 있다.
[0028] 자동 콘텐츠 인식은 본원에서 설명된 바와 같은 분산 아키텍처에서 수행될 수 있다. 일 실시예에서, ACR 클라이언트(225)는 전자 디바이스(115, 118 또는 120) 중 임의의 것 상에 상주할 수 있다. 일 실시예에서, ACR 클라이언트(225)는 자동 콘텐츠 인식을 수행할 수 있다. 다른 실시예에서, 로컬 ACR 시스템 또는 그에 통합되는 로컬 ACR 핑거프린트 매처(matcher)는 자동 콘텐츠 인식을 수행할 수 있다. 다른 실시예에서, ACR 클라이언트(225)는 본원에서 설명된 바와 같은 ACR 핑거프린트 매칭을 수행할 수 있다. 다른 실시예에서, ACR 클라이언트(225)는 클라이언트-측 매칭 컴포넌트일 수 있다.
[0029] 전자 디바이스들(115, 118, 또는 120)은 텔레비전, 모바일 전화, 또는 동글(dongle)과 같은 미디어 디바이스일 수 있다. ACR 클라이언트(225)는 전자 디바이스들(115, 118 또는 120) 상에서 실행되거나 작동되는 소프트웨어 또는 펌웨어일 수 있다. ACR 클라이언트(225)는 미디어 콘텐츠의 플레이백(playback) 동안 미디어 콘텐츠(예컨대, 오디오 콘텐츠, 비디오 콘텐츠, 폐쇄 캡션들, 긴급 메시지 등)를 핑거프린팅할 수 있다. ACR 클라이언트(225)는, 콘텐츠 및 콘텐츠 오버레이 시스템이 동적 광고 대체를 수행하게 하는 트리거 이벤트들의 식별 및/또는 미디어 콘텐츠 상부에 오버레이 콘텐츠를 중첩시키는 것을 용이하게 하도록 ACR 시스템(124 또는 126)과 통신할 수 있다. 후행 단락들은 ACR 클라이언트(225)와 ACR 핑거프린터 서버(105)의 상호작용들을 보다 상세하게 설명한다.
[0030] ACR 핑거프린터 서버(105)는 로컬 콘텐츠 피드로부터의 순서화된 프레임 시퀀스를 포함할 수 있는 로컬 콘텐츠 피드를 분석하고 핑거프린트들을 캡처할 수 있다. ACR 핑거프린터 서버(105)는 핑거프린트들을 ACR 시스템(124 또는 126)에 통신할 수 있다. ACR 시스템들(124 및 126)은 스마트 TV 제조자들과 같은 디바이스 제조자들에 의해 선택된 상이한 ACR 시스템들일 수 있다. 일 예에서, ACR 핑거프린터 서버(105)는 상이한 ACR 시스템들(124 및 126)에 대한 핑거프린트들을 포맷할 수 있다. ACR 시스템들(124 및 126)은 상이한 전자 디바이스들(115)과의 통신 연결을 설정할 수 있다. 전자 디바이스들(115)은 핑거프린트 정보를 ACR 시스템들(124 및 126)에 각각 통신할 수 있다. ACR 시스템(124 또는 126)이 전자 디바이스들(115)로부터 ACR 핑거프린트 정보를 수신할 때, ACR 시스템(124 또는 126)은 수신된 핑거프린트들을, ACR 핑거프린터 서버(105)에 의해 생성된 것들과 매칭시킬 수 있다. 매칭이 발생하고 ACR 시스템(124 또는 126)이 콘텐츠를 식별할 때, ACR 시스템(124 또는 126)은 ACR 이벤트들을 콘텐츠 관리기(122)에 통신할 수 있다.
[0031] 다른 예에서, ACR 시스템(124 또는 126)은 전자 디바이스들(115) 중 하나로부터 ACR 핑거프린트 정보를 수신할 수 있고, 수신된 핑거프린트들을, ACR 핑거프린터 서버(105)에 의해 생성된 것들과 매칭시킬 수 있다. 매칭이 발생하고 ACR 시스템(124 또는 126)이 콘텐츠를 식별할 때, ACR 시스템(124 또는 126)은 ACR 이벤트들을 전자 디바이스(115)에 통지할 수 있다. 전자 디바이스(115)는 ACR 이벤트 정보를 콘텐츠 관리기(122)에 통신할 수 있다. 대안적으로 또는 부가적으로, ACR 시스템(124 또는 126)은 ACR 이벤트들을 콘텐츠 관리기(122)에 직접 통신할 수 있다. ACR 이벤트 핑거프린트 정보는, 로컬 콘텐츠 피드의 광고들을 표시하는 정보; 로컬 콘텐츠 피드의 선택된 또는 플래깅된 콘텐츠를 표시하는 정보; 또는 새로운 미디어 콘텐츠로의 전자 디바이스(115)에서의 콘텐츠 채널의 변경을 표시하는 정보를 포함할 수 있다.
[0032] 상이한 ACR 시스템들(124 및 126)로부터의 ACR 이벤트 정보는 상이한 포맷들일 수 있고 콘텐츠 관리기(122)는 데이터를 공통 포맷으로 정규화(normalize)할 수 있다. 콘텐츠 관리기(122)는 정규화된 데이터를 데이터베이스(123)에 저장할 수 있다. 예컨대, 콘텐츠 관리기(122)는 ACR 시스템들(124 및 126)로부터 이종(disparate) 데이터 세트들을 수신할 수 있으며, 이종 데이터 세트는 유사하지만 동일하지 않은 데이터, 예컨대, 동일한 콘텐츠를 갖지만 상이하게 포맷된 데이터를 포함한다. 콘텐츠 관리기(122)는 단일 데이터 모델 또는 포맷을 생성하도록 이종 데이터 세트들을 프로세싱 및 재포맷할 수 있다(예컨대, 재포맷된 데이터 세트들). 콘텐츠 관리기(122)는 재포맷된 데이터 세트들을 데이터베이스(123)에 저장할 수 있다.
[0033] 일 실시예에서, ACR 시스템들(124 및 126)로부터의 이종 데이터 세트들을 정규화하기 위해, 콘텐츠 관리기(122)는 데이터 세트들 내의 데이터를 제거하거나 필터링할 수 있다. 예컨대, 일부 데이터 세트들은 콘텐츠 관리기(122)와 무관할 수 있는 필드들 또는 데이터를 포함할 수 있다. 이 예에서, 콘텐츠 관리기(122)는 무관한 데이터를 제거하거나 필터링할 수 있다. 다른 실시예에서, ACR 시스템들(124 및 126)로부터의 이종 데이터 세트들을 정규화하기 위해, 콘텐츠 관리기(122)는 데이터 세트들의 필드들을 맵핑할 수 있다. 예컨대, 콘텐츠 관리기(122)가 ACR 시스템(124)으로부터 제1 데이터 세트 및 ACR 시스템(126)으로부터의 제2 데이터 세트를 수신할 때, 제1 데이터 세트 및 제2 데이터 세트의 데이터 필드들 중 적어도 일부는 제1 데이터 세트 및 제2 데이터 세트 둘 모두에 공통적일 수 있다. 그러나, 공통 데이터 필드들은 제1 데이터 세트 및 제2 데이터 세트의 상이한 장소들에 로케이팅될 수 있다. 이 예에서, 콘텐츠 관리기(122)는 제1 데이터 세트 및 제2 데이터 세트의 상이한 데이터 필드들을 정규화된 필드로 맵핑하고, 데이터베이스(123) 내의 동일한 데이터 필드 위치들에서 동일한 데이터 필드들을 가질 수 있다.
[0034] 다른 실시예에서, ACR 시스템들(124 및 126)로부터의 이종 데이터 세트들을 정규화하기 위해, 콘텐츠 관리기(122)는 데이터 세트들로부터 데이터를 도출할 수 있다. 예컨대, ACR 시스템들(124 및 126)로부터의 데이터는 데이터베이스의 데이터 필드들을 채우는데 필요한 필드들 모두를 포함하지는 않을 수 있다. 그러나, 콘텐츠 관리기(122)는 이들 데이터 필드들에 대한 데이터를 도출하기 위해 ACR 시스템들(124, 126)로부터의 데이터 세트들 내의 다른 필드들을 사용할 수 있다.
[0035] 일 예에서, 데이터베이스(123)는, 이를테면, 국가의 주(state) 필드, DMA(designated market area) 필드, 및 카운티(county) 및/또는 도시 필드에 대한 데이터 필드들을 포함할 수 있지만, ACR 시스템들(124 및 126)로부터의 데이터 세트들은 단지 ZIP(zone improvement plan) 코드만을 포함할 수 있다. 이 예에서, 콘텐츠 관리기(122)는 ZIP 코드들을 사용하여 데이터베이스의 필드에 대한 데이터를 도출할 수 있다. 다른 예에서, 데이터 세트는 임의의 지리적 위치 정보를 포함하는 것이 아니라, ACR 시스템들(124 및 126)의 인터넷 프로토콜(IP) 어드레스를 포함할 수 있다. 이 예에서, 콘텐츠 관리기(122)는 주, DMA, 카운티, 도시 및 ZIP 코드 정보를 유도하기 위해 지리적-IP 룩업 서비스를 사용할 수 있다.
[0036] 다른 예에서, 데이터베이스(123)는 연령 필드, 성별 필드, 가구 수입 필드 등과 같은 인구통계학적 필드들을 포함할 수 있다. 그러나, ACR 시스템들(124 및 126)로부터의 데이터 세트들은 인구통계학적 필드들 또는 인구통계학적 데이터를 포함하지 않을 수 있다. 이 예에서, ACR 시스템들(124 및 126)은 전자 디바이스들(115)의 IP 어드레스를 콘텐츠 관리기(122)에 제공할 수 있다. 콘텐츠 관리기(122)는, 데이터베이스 내의 데이터 필드들을 파퓰레이팅(populate)하기 위한 인구통계학적 데이터를 결정하기 위해 IP 어드레스들을 사용할 수 있다.
[0037] 다른 예에서, ACR 시스템(124)으로부터의 제1 데이터 세트의 필드는 MDT(mountain daylight time) 존과 같은 로컬 시간대 정보를 포함할 수 있고, ACR 시스템(126)으로부터의 제2 데이터 세트는 UTC(Coordinated Universal Time) 존과 같은 다른 시간대로부터의 정보를 포함할 수 있다. 데이터베이스는 UTC를 사용하여 모든 데이터를 저장할 수 있고, 콘텐츠 관리기(122)는 데이터베이스(123)에 데이터를 저장하기 전에 로컬 시간을 UTC로 변환할 수 있다.
[0038] 일 실시예에서, 콘텐츠 관리기(122)는, 상이한 ACR 기술 벤더들 및 스마트 TV들 또는 다른 인터넷-연결 비디오 디바이스들에 걸친 사용자의 시청 거동에 관한 보고들 또는 데이터(시청 데이터)를 생성하기 위해, 정규화된 데이터를 사용할 수 있다. 콘텐츠 관리기(122) 및 전자 디바이스(115)는 전자 디바이스들(115)과 콘텐츠 관리기(122) 사이에서 정보, 예컨대, 오버레이 콘텐츠를 통신하기 위한 통신 인터페이스들을 포함할 수 있다. 일 예에서, 통신 인터페이스는 셀룰러 네트워크 및/또는 무선 네트워크를 사용하여 정보를 통신할 수 있다. 일 예에서, 통신 네트워크는 3GPP(third generation partnership project) 릴리스 8, 9, 10, 11 또는 12 또는 IEEE®(Institute of Electronics and Electrical Engineers, Inc.) 802.16p, 802.16n, 802.16m-2011, 802.16h-2010, 802.16j-2009, 802.16-2009를 이용하는 셀룰러 네트워크일 수 있다. 다른 실시예에서, 통신 네트워크는 Institute of Electrical and Electronics Engineers, Inc.에 의해 개발된 IEEE® 표준, 예컨대, IEEE 802.11-2012, IEEE 802.11ac, 또는 IEEE 802.11ad 표준들을 따를 수 있는 무선 네트워크(예컨대, Wi-Fi Alliance에 의해 개발된 Wi-Fi®기술을 사용하는 네트워크)일 수 있다. 다른 실시예에서, 통신 네트워크는 블루투스 v1.0, 블루투스 v2.0, 블루투스 v3.0 또는 블루투스 v4.0과 같이 Bluetooth SIG(Special Interest Group)에 의해 개발된 Bluetooth® 연결들을 전개할 수 있다. 다른 실시예에서, 통신 네트워크는 IEEE 802.15.4-2003 (Zigbee 2003), IEEE 802.15.4-2006 (Zigbee 2006), IEEE 802.15.4-2007 (Zigbee Pro)와 같은 ZigBee Alliance에 의해 개발된 Zigbee® 연결일 수 있다.
[0039] 일 예에서, 콘텐츠 관리기(122)는 OTA 브로드캐스터(108) 또는 MVPD(110)로부터 수신된 로컬 콘텐츠 피드의 일부들을 오버레이 콘텐츠로 대체하도록 전자 디바이스들(115)에 명령할 수 있다. 다른 예에서, 콘텐츠 관리기(122)는 로컬 콘텐츠 피드의 일부들 상에 오버레이 콘텐츠를 오버레이하거나 중첩하도록 전자 디바이스들(115)에 명령할 수 있다. 콘텐츠 관리기(122)는 다수의 ACR 시스템들(124 및 126)에 걸쳐 ACR 이벤트 정보를 어그리게이팅할 수 있고 상이한 전자 디바이스들(115)(예컨대, 상이한 디바이스 제조자들로부터의 전자 디바이스들)에 오버레이 콘텐츠를 통신할 수 있다.
[0040] 콘텐츠 관리기(122)는 또한 다른 디바이스들(116)과의 통신 연결을 설정할 수 있다. 일 예에서, 다른 디바이스들(116)은 전자 디바이스들(118 및 120)과 통신하고 오버레이 콘텐츠를 디스플레이하기 위한 부가적인 스크린(예컨대, 제2 스크린)을 제공할 수 있다. 예컨대, 전자 디바이스들(118 및 120)은 OTA 브로드캐스터(108) 또는 MVPD(110)로부터 로컬 콘텐츠 피드를 수신하고 로컬 콘텐츠 피드를 시청자에게 디스플레이할 수 있다. 다른 디바이스들(116)은 또한, 선행 단락들에서 논의된 바와 같이, ACR 이벤트가 발생할 때 ACR 시스템들(124 및 126)에 ACR 이벤트 정보를 통신할 수 있다. 콘텐츠 관리기(122)가 ACR 이벤트 정보를 수신할 때, 콘텐츠 관리기(122)는 오버레이 콘텐츠를 다른 디바이스들(116)에 통신할 수 있다.
[0041] 일 예에서, 전자 디바이스들(118 및 120)은 로컬 콘텐츠 피드를 계속 디스플레이하는 반면에, 다른 디바이스들(116)은 오버레이 콘텐츠를 디스플레이할 수 있다. 다른 예에서, 전자 디바이스들(118 및 120) 및 다른 디바이스들(116)은 둘 모두 오버레이 콘텐츠를 디스플레이할 수 있다. 다른 예에서, 전자 디바이스들(118 및 120) 및 다른 디바이스들(116)은 오버레이 콘텐츠의 일부 및 로컬 콘텐츠 피드의 일부를 디스플레이할 수 있다. 다른 예에서, 전자 디바이스들(118 및 120) 및 다른 디바이스들(116)은 상이한 로컬 콘텐츠 피드들 및 상이한 오버레이 콘텐츠를 디스플레이할 수 있다.
[0042] 일 예에서, 전자 디바이스들(118 및 120) 및/또는 다른 디바이스들(116)은 전자 디바이스들(118 및 120) 및/또는 다른 디바이스들(116)이 오버레이 콘텐츠를 수신하는 시간에 오버레이 콘텐츠를 디스플레이할 수 있다. 다른 예에서, 전자 디바이스들(118 및 120) 및/또는 다른 디바이스들(116)은 임계 시간 기간 동안 오버레이 콘텐츠를 디스플레이하는 것을 지연할 수 있다. 일 실시예에서, 임계 시간 기간은 미리 정의된 시간 기간일 수 있다. 다른 실시예에서, 콘텐츠 관리기(122)는 전자 디바이스들(118 및 120) 및 다른 디바이스들(116)이 오버레이 콘텐츠를 디스플레이하는 것을 지연할 시간 기간을 선택할 수 있다.
[0043] 도 2는 일 실시예에 따른, 전자 디바이스(115) 상에서 로컬적으로 핑거프린트 매칭을 수행하는 전자 디바이스(115)의 ACR 클라이언트(225)와 통신하는 콘텐츠 관리기(122)를 갖는 콘텐츠 오버레이 네트워크(200)의 시스템 도면을 예시한다. 도 2b의 일부 번호들은, 달리 명시적으로 설명되지 않는 한, 유사한 참조 번호들로 언급된 도 1의 일부 번호들과 유사하다.
[0044] 콘텐츠 제공자(202)는 네트워크(219)를 통해 미디어 콘텐츠를 전자 디바이스(115)에 스트리밍할 수 있으며, 여기서 콘텐츠 관리기(122)는 콘텐츠 제공자(202)가 미디어 콘텐츠를 전자 디바이스(115)로 스트리밍하기 전에 또는 동시에 스트리밍을 인터셉트할 수 있다. 예컨대, 콘텐츠 관리기(122)는 미디어 콘텐츠의 사본을 수신할 수 있고, 전자 디바이스(115)는 미디어 콘텐츠를 수신할 수 있다. 콘텐츠 관리기(122)는 또한 오버레이 콘텐츠 서버(230)와 통신할 수 있다. 일 예에서, 콘텐츠 관리기(122)는, 미디어 콘텐츠의 주제 및/또는 시청자의 관심대상들을 타겟팅하기 위해 미디어 콘텐츠와 함께 서빙될 AD를 요청하는 AD 콜을 오버레이 콘텐츠 서버(230)로 전송할 수 있다. 다른 예에서, 콘텐츠 관리기(122)는, 미디어 콘텐츠의 주제 및/또는 시청자의 관심대상들을 타겟팅하기 위해 오버레이로서 미디어 콘텐츠에 서빙될 AD를 요청하는 AD 콜을 오버레이 콘텐츠 서버(230)로 전송할 수 있다.
[0045] 콘텐츠 관리기(122)는 ACR 엔진(204), 룩-업 서버(206), 오버레이 결정 엔진(210), 및 오버레이 콘텐츠 타게터(212)를 포함할 수 있다. 콘텐츠 제공자(202)는 오버레이 콘텐츠를 ACR 엔진(204)으로 업로딩할 수 있다. 일 실시예에서, ACR 엔진(204)은 전자 디바이스들(115)로부터 ACR 이벤트 정보를 수신할 수 있다. ACR 엔진(204)은 콘텐츠 관리기(122)가 이벤트에 기반하여 오버레이 콘텐츠를 선택하는 것을 가능하게 하기 위한 핑거프린트들과 연관된 이벤트들을 결정할 수 있다. 다른 실시예에서, ACR 엔진(204)은 오버레이 콘텐츠를 핑거프린팅할 수 있다. 예컨대, ACR 엔진(204)은, 프레임의 DCT(discrete cosine transform)을 수행하고 결과적인 계수들(예컨대, 저주파수 계수들)의 서브세트를 핑거프린트로서 지정함으로써 피드의 프레임에 대한 핑거프린트를 생성할 수 있다. 일 실시예에서, ACR 엔진(204)은 피드의 모든 각각의 프레임을 핑거프린팅함으로써 핑거프린트들을 생성할 수 있다. 다른 실시예에서, ACR 엔진(204)은 피드의 모든 각각의 다른 프레임을 핑거프린팅함으로써 핑거프린트들을 생성할 수 있다. 다른 실시예에서, ACR 엔진(204)은 프레임들의 시퀀스를 핑거프린팅함으로써 핑거프린트들을 생성할 수 있다. 다른 실시예에서, ACR 엔진(204)은 주기적으로 프레임들을 핑거프린팅함으로써 핑거프린트들을 생성할 수 있다. 다른 실시예에서, 핑거프린트들은 미리 결정된 시간들에 프레임들을 핑거프린팅함으로써 생성될 수 있다.
[0046] ACR 엔진(204)은 ACR 핑거프린트들을 룩-업 서버(206)로 통신할 수 있다. 룩-업 서버(206)는 룩-업 서버(206)에 저장된 데이터베이스에서 미디어 콘텐츠를 룩-업할 수 있다. 일 실시예에서, 룩업 서버(206)는 미디어 콘텐츠를 식별한다. 다른 실시예에서, 룩-업 서버(206)는 ACR 시스템(124 또는 126)으로부터 수신된 ACR 이벤트에 대응하는 미디어 콘텐츠 내의 위치를 식별한다. 일 실시예에서, ACR 이벤트는, 입력 디바이스(이를테면, 원격)가 전자 디바이스 상의 미디어 콘텐츠 채널을 새로운 미디어 콘텐츠로 변경(예컨대, TV 채널 3으로부터 TV 채널 4로 변경)하는 때일 수 있다. 다른 실시예에서, ACR 이벤트는, 전자 디바이스(115)가 현재 디스플레이하고 있는, ACR 시스템(124 또는 126)으로부터의 일련의 핑거프린트들 중 태깅된 핑거프린트와 미디어 콘텐츠에 대한 핑거프린트를 ACR 시스템(124 또는 126)이 매칭시키는 때일 수 있다.
[0047] 피드의 세그먼트에 대한 각각의 핑거프린트는 타임 스탬프와 연관될 수 있다. 타임 스탬프는, ACR 엔진(204)이 프레임들을 수신할 때 피드의 세그먼트의 개별적인 프레임들에 속할 수 있다. 타임 스탬프는 임의적인 시작점을 갖는 피드 내의 프레임 번호일 수 있다. 룩-업 서버(206)는 그들 개개의 타임 스탬프들과 연관된 핑거프린트들을 저장할 수 있다. 일 실시예에서, 타임 스탬프는 마이크로초 포맷을 가질 수 있다. 오버레이 콘텐츠 타게터(212)는, 핑거프린트들이 마이크로초 레벨로 타임 스탬핑(stamping)되기 때문에, 프레임 단위로 미디어 콘텐츠를 오버레이하거나 대체하기 위한 AD를 식별하도록 타임 스탬프를 사용할 수 있다. 일 실시예에서, 오버레이 콘텐츠 타게터(212)는 오버레이 콘텐츠가 미디어 콘텐츠에 중첩되도록 하는 요청들을 ACR 엔진(204)으로부터 수신할 수 있다. ACR 엔진(204)은 데이터베이스 내의 미디어 콘텐츠와 연관된 상이한 오버레이 콘텐츠 또는 대체 비디오들의 리스트를 룩업하고, 리스트를 오버레이 콘텐츠 타게터(212)로 전송할 수 있다. 오버레이 콘텐츠 타게터(212)는 리스트로부터 오버레이 콘텐츠 또는 대체 비디오를 선택하고, 전자 디바이스들(115)이 디스플레이하기 위한 오버레이 콘텐츠 또는 대체 비디오를 ACR 엔진(204)으로 전송할 수 있다.
[0048] 다른 실시예에서, ACR 엔진(204)은 전자 디바이스(115)의 ACR 클라이언트(225)와 상호작용한다. ACR 클라이언트(225)는 명령들을 실행하거나 프로세스들을 수행하기 위한 프로세싱 로직 또는 프로세싱 디바이스를 포함할 수 있다. 전자 디바이스(115)는, 주기적으로 또는 연속적으로, 이를테면, ACR 이벤트가 발생하는 동안 연속적으로 시청자 핑거프린트 정보를 룩-업 서버(206)로 통신할 수 있는 ACR 클라이언트(225)를 포함할 수 있다. 룩-업 서버(206)는 ACR 핑거프린트 정보(예컨대, 룩-업 서버(206)에 저장됨)와 시청자 핑거프린트 정보 사이에 매칭이 존재할 수 있는 때를 결정할 수 있다. 포지티브 매치가 존재할 때, 룩-업 서버(206)는 포지티브 매치 표시자를 ACR 클라이언트(225)로 통신할 수 있다. ACR 클라이언트(225)는 오버레이 콘텐츠를 요청하는 오버레이 요청을 오버레이 결정 엔진(210)으로 전송할 수 있다.
[0049] 일 예시에서, 오버레이 요청은 콘텐츠 식별자(ID)를 포함할 수 있다. 일 실시 예에서, 콘텐츠 ID는 오버레이 콘텐츠의 유형을 식별하는 ID 일 수 있다. 다른 예에서, 오버레이 요청은 오버레이 정보 또는 오버레이 파라미터들(후행 단락에서 논의됨)을 포함할 수 있다. 다른 실시예에서, 오버레이 정보는 오버레이 콘텐츠 또는 타겟팅 정보를 포함할 수 있다. 다른 실시예에서, 오버레이 파라미터는 콜-투-액션(call-to-action) 옵션들을 포함할 수 있다. 일 예에서, 콜-투-액션 옵션들은, 오버레이 콘텐츠 또는 미디어 콘텐츠와 연관된 피드백을 수신하는 전자 디바이스의 사용자 인터페이스에 대한 구성 정보를 포함할 수 있다. 다른 예에서, 콜-투-액션 옵션들은 오버레이 콘텐츠의 선택을 제한하는 제한 정보를 포함할 수 있다. 일 예에서, 오버레이 결정 엔진(210)은 오버레이 콘텐츠를 식별하기 위해 콘텐츠 ID, 오버레이 정보 또는 오버레이 파라미터들을 사용할 수 있다.
[0050] 다른 예에서, 오버레이 결정 엔진(210)은 오버레이 포맷을 식별하기 위해 콘텐츠 ID, 오버레이 정보 및/또는 오버레이 파라미터들을 사용할 수 있다. 오버레이 결정 엔진(210)은 오버레이 콘텐츠 및/또는 오버레이 포맷을 식별하기 위해 콘텐츠 ID, 오버레이 정보, 또는 오버레이 파라미터들과 오버레이 데이터베이스를 비교할 수 있다. 콘텐츠 제공자 또는 광고주는, 오버레이 데이터베이스를 주기적 또는 연속적으로 새로운 오버레이 콘텐츠 및/또는 오버레이 포맷으로 전송 및 업데이트하기 위해 그래픽 사용자 인터페이스(GUI) 또는 다른 인터페이스를 사용할 수 있다.
[0051] 오버레이 결정 엔진(210)이 오버레이 콘텐츠를 식별할 때, 오버레이 결정 엔진(210)은 오버레이 콘텐츠를 전자 디바이스(115)로 반환할 수 있다. 일 예에서, 오버레이 결정 엔진(210)은, 이를테면, 무선 통신 네트워크를 통해 오버레이 콘텐츠를 전자 디바이스(115)로 직접 통신할 수 있다. 다른 예에서, 오버레이 결정 엔진(210)은 URL(universal resource locator)을 통해 오버레이 콘텐츠를 전자 디바이스(115)로 통신할 수 있다. 일 예에서, 다수의 오버레이 콘텐츠가 콘텐츠 ID, 오버레이 정보, 및/또는 오버레이 파라미터들과 매칭할 때, 오버레이 결정 엔진(210)은 최대 수 파라미터들 및/또는 다른 정보를 만족시키는 (예컨대, 다른 오버레이 콘텐츠보다 더 큰) 타겟팅된 콘텐츠 오버레이를 선택할 수 있다. 다른 예에서, 다수의 오버레이 콘텐츠가 콘텐츠 ID, 오버레이 정보, 및/또는 오버레이 파라미터들과 매칭할 때, 오버레이 결정 엔진(210)은 파라미터들 및/또는 다른 정보를 만족시키는 오버레이 콘텐츠를 랜덤하게 선택할 수 있다. 다른 예에서, 다수의 오버레이 콘텐츠가 콘텐츠 ID, 오버레이 정보 및 오버레이 파라미터들과 매칭할 때, 오버레이 결정 엔진(210)은 콘텐츠 ID, 오버레이 정보, 및/또는 오버레이 파라미터들과 매칭하는 미리 결정된 오버레이 콘텐츠를 선택할 수 있다. 오버레이 콘텐츠는 동적 콘텐츠(예컨대, 주기적인 인터벌로 업데이트되거나 리플레시될 수 있는 콘텐츠)로 파퓰레이팅될 수 있다. 동적 콘텐츠는 로컬 데이터베이스 또는 외부 시스템에 저장될 수 있다.
[0052] 전자 디바이스(115)의 ACR 클라이언트(225)는, ACR 핑거프린트 정보가 사용자 핑거프린트 정보와 매칭할 때, 콘텐츠 피드의 미디어 콘텐츠 위에 오버레이 콘텐츠를 중첩할 수 있다. 일 예에서, 전자 디바이스(208)는 HTML(hypertext markup language) 브라우저에서 콘텐츠 피드의 미디어 콘텐츠 위에 오버레이 콘텐츠를 중첩할 수 있다. 다른 예에서, 전자 디바이스(208)는 OTA 브로드캐스터 또는 케이블 브로드캐스터로부터의 콘텐츠 피드의 미디어 콘텐츠 위에 오버레이 콘텐츠를 중첩할 수 있다. 전자 디바이스(115)가 오버레이 콘텐츠를 미디어 콘텐츠 상에 중첩할 때, 전자 디바이스(115)의 디스플레이는 오버레이 콘텐츠를 시청자에게 디스플레이할 수 있다. 일 예에서, 오버레이 콘텐츠는 전자 디바이스(115)가 사용자에게 디스플레이하는 하나 이상의 콜-투-액션 옵션들을 포함할 수 있다. 이 예에서, 사용자는, 피드백 정보를 생성하기 위해, 입력 디바이스(이를테면, TV 리모트(remote), 키보드, 스마트 폰 또는 태블릿)를 사용하여 오버레이 콘텐츠와 상호작용할 수 있다. ACR 클라이언트(225)는 피드백 정보를 오버레이 콘텐츠 타게터(212)로 통신할 수 있다. 오버레이 콘텐츠 타게터(212)는 오버레이 콘텐츠의 사용자 관심 레벨과 같은 원하는 정보를 결정하기 위해 피드백 정보를 분석할 수 있다.
[0053] 일 실시예에서, ACR 클라이언트(225)는 오버레이 콘텐츠 및 콘텐츠 피드의 미디어 콘텐츠의 핑거프린트들의 매칭을 언제 중단하는지를 결정하기 위해 콘텐츠 피드를 모니터링한다. 다른 실시예에서, ACR 클라이언트(225)는, 오버레이 콘텐츠 및 콘텐츠 피드의 미디어 콘텐츠의 핑거프린트들이 매칭한 후 임계 시간 기간이 만료할 때를 결정한다. 일 예에서, 오버레이 콘텐츠 및 콘텐츠 피드 매치가 중단되고 그리고/또는 임계 시간 기간이 만료될 때, 전자 디바이스(115)는 전자 디바이스(115) 상의 디스플레이를 위해 오버레이 콘텐츠를 중첩하는 것을 중단할 수 있다.
[0054] 일 실시예에서, ACR 클라이언트(225)는 핑거프린트들의 일부에 대해 로컬적으로 핑거프린트 매칭을 수행할 수 있다. 다른 실시예에서, ACR 클라이언트(225)는 핑거프린트 매칭 모두를 로컬적으로 수행할 수 있다. 예컨대, ACR 클라이언트(225)는, 룩-업 서버(206)와 같은 서버 대신에, 전자 디바이스(208) 상에서 로컬적으로 핑거프린팅을 수행할 수 있다. 설명된 ACR 동작들은 오버레이 시스템 컨텍스트 이외의 컨텍스트에서 사용될 수 있다. 예컨대, ACR 클라이언트(225)에 의한 로컬 ACR 핑거프린트 매칭은 다른 시스템들에서 사용될 수 있다.
[0055] 도 3a는 일 실시예에 따른, 디스플레이될 향후 콘텐츠를 전자 디바이스(314)에 통지하기 위한 방법(300)의 다이어그램을 예시한다. 방법(300)은, 하드웨어(예컨대, 회로, 전용 로직, 프로그래밍 가능 로직, 마이크로코드 등), 소프트웨어(예컨대, 프로세싱 디바이스에 의해 실행되는 명령들), 펌웨어 또는 이들의 결합을 포함하는 프로세싱 로직에 의해 적어도 부분적으로 수행될 수 있다. 방법(300)은 도 1의 콘텐츠 분배 네트워크(100)에 의해 또는 도 2의 콘텐츠 오버레이 네트워크(200)의 전부 또는 부분에 의해, 적어도 부분적으로, 수행될 수 있다.
[0056] 도 3a를 참조하면, 방법(300)은, 제1 ACR 시스템(312)에서, 콘텐츠 피드(310)로부터 미디어 콘텐츠의 사본을 수신하기 시작한다(320). 예컨대, 제1 ACR 시스템(312)은 제1 네트워크 연결부를 통해 전자 디바이스(314)에 연결될 수 있고, 전자 디바이스(314)는 콘텐츠 소스 디바이스와 전자 디바이스(314) 사이의 제2 네트워크 연결부를 통해 콘텐츠 소스 디바이스로부터 미디어 콘텐츠를 수신한다. 제1 ACR 시스템(312)은 제3 네트워크 연결부를 통해 콘텐츠 피드로부터 미디어 콘텐츠의 사본을 수신하기 위한, 콘텐츠 피드에 대한 제3 네트워크 연결부를 포함할 수 있다.
[0057] 일 실시예에서, 제1 ACR 시스템(312)은 ACR 시스템(124)(도 1 또는 도 2)일 수 있다. 다른 실시예에서, 제1 ACR 시스템(312)은 ACR 시스템(126)(도 1 또는 도 2)일 수 있다. 일 예에서, 미디어 콘텐츠는 콘텐츠 제공자(102)(도 1 또는 도 2)의 라이브 브로드캐스트 피드로부터 라이브 브로드캐스트 콘텐츠일 수 있다. 다른 예에서, 미디어 콘텐츠는 주문형 비디오 콘텐츠(video-on-demand content) 또는 다른 시간-시프트 미디어 콘텐츠일 수 있다. 방법은 제1 핑거프린트를 획득하기 위해, 제1 ACR 시스템(312)에 의해, 미디어 콘텐츠의 사본을 핑거프린팅하는 것을 포함할 수 있다(322). 방법은, 기준 데이터베이스(318)에 제1 핑거프린트를 저장하는 것을 포함할 수 있다(324). 기준 데이터베이스(318)는 다양한 미디어 콘텐츠에 대한 기준 핑거프린트들을 저장할 수 있다. 기준 핑거프린트들은, 제1 ACR 시스템(312)이 이전에 핑거프린팅된 다양한 미디어 콘텐츠에 대한 핑거프린트들일 수 있다. 제1 ACR 시스템(312)은, 기준 데이터베이스(318) 내의 기준 핑거프린트들 중 하나 이상과 콘텐츠 피드(310)의 미디어 콘텐츠의 핑거프린트를 비교함으로써 미디어 콘텐츠를 식별하기 위해 기준 핑거프린트들을 사용할 수 있다. 제1 핑거프린트를 획득하기 위해 콘텐츠 피드(310)로부터의 미디어 콘텐츠를 핑거프린팅하고, 제1 핑거프린트를 저장하는 것은 콘텐츠 피드를 입수(ingest)하거나 미디어 콘텐츠를 인덱싱하는 것에 관련될 수 있다.
[0058] 방법은 제1 핑거프린트와 기준 데이터베이스(318) 내의 제2 핑거프린트를 매칭시키는 것을 포함할 수 있다(328). 제2 핑거프린트는 이전에 인덱싱된 미디어 콘텐츠의 기준 핑거프린트일 수 있다. 예컨대, 제1 ACR 시스템(312)은 제2 핑거프린트를 획득하기 위해 다양한 미디어 콘텐츠(이를테면, 비디오 광고들, 텔레비전 쇼들 및 영화들)를 핑거프린팅할 수 있다. 제1 ACR 시스템(312)은, 제1 핑거프린트와의 후속하는 매칭을 위해, 다양한 미디어 콘텐츠로부터 획득된 제2 핑거프린트를 기준 데이터베이스(318)에 부가할 수 있다. 제1 핑거프린트와 제2 핑거프린트를 매칭시키기 위해, 제1 ACR 시스템(312)은, 제1 핑거프린트와 매칭하는 기준 핑거프린트를 찾기 위해 기준 데이터베이스(318)의 기준 핑거프린트를 검색할 수 있다(330). 일 예에서, 제1 ACR 시스템(312)은, 후행 단락들에서 논의되는 바와 같이, 제2 ACR 시스템(316)이 오버레이 콘텐츠로 대체할 미디어 콘텐츠 세그먼트들을 식별하기 위해 제2 핑거프린트에 제1 핑거프린트를 매칭시킬 수 있다. 일 실시예에서, 제1 핑거프린트가 제2 핑거프린트와 매칭될 수 있을 때(328 및 330), 병렬로 제1 핑거프린트는 기준 데이터베이스(318)에 저장될 수 있다(324). 일 실시예에서, 제1 핑거프린트가 제2 핑거프린트와 매칭될 수 있을 때(328 및 330), 동시에 제1 핑거프린트는 기준 데이터베이스(318)에 저장될 수 있다(324). 다른 실시예에서, 제1 핑거프린트는 제2 핑거프린트와 매칭될 수 있고(328 및 330), 이어서 제1 핑거프린트는 기준 데이터베이스(318)에 저장될 수 있고(322), 그 역도 가능하다.
[0059] 방법은, 제2 ACR 시스템(316)에서, 콘텐츠 피드(310)로부터 미디어 콘텐츠를 수신하는 것을 포함할 수 있다(332). 미디어 콘텐츠는, 전자 디바이스(314)의 디스플레이가 미래의 시점에서 시청자에게 디스플레이될 미디어 콘텐츠일 수 있다. 다른 실시예에서, 제2 ACR 시스템(316)은 전자 디바이스(314)에 통합될 수 있다. 일 예에서, 제2 ACR 시스템(316)은 전자 디바이스(115)의 제2 ACR 클라이언트(225)(도 2)의 일부일 수 있다. 다른 예에서, 제2 ACR 시스템(316)은 모바일 디바이스 또는 스마트 TV와 같은 전자 디바이스(116)(도 1)에 통합될 수 있다. 다른 실시예에서, 제2 ACR 시스템(316)은 동글 또는 셋톱 박스와 같은 전자 디바이스(118 또는 120)(도 1)에 커플링된 별개의 디바이스일 수 있다. 방법은 제3 핑거프린트를 획득하기 위해 제2 ACR 시스템(316)을 사용하여 미디어 콘텐츠를 핑거프린팅하는 것을 포함할 수 있다(334).
[0060] 방법은 제3 핑거프린트를 제1 ACR 시스템(312)으로 전송하는 것을 포함할 수 있다(336). 방법은, 전자 디바이스(314)가 디스플레이할 미디어 콘텐츠에 대한 브로드캐스트 채널을 식별하는 것을 포함할 수 있다(338). 전자 디바이스(314)는 제1 핑거프린트와 제3 핑거프린트를 비교함으로써 브로드캐스트 채널을 식별할 수 있다. 예컨대, 제1 ACR 시스템(124 또는 126)(도 1)은 제1 핑거프린트와 제3 핑거프린트를 비교할 수 있다. 매치가 존재할 때, 제1 ACR 시스템(124 또는 126)은, 전자 디바이스(115)가 디스플레이하고 있는 미디어 콘텐츠에 대한 제3 핑거프린트와 상관되는 브로드캐스트 채널을 식별할 수 있다. 이 예에서, 전자 디바이스(115)는 미디어 콘텐츠를 핑거프린팅하고, 제3 핑거프린트를 제1 ACR 시스템(124 또는 126)으로 전송한다. 제1 ACR 시스템(124 또는 126)은, 전자 디바이스(115)가 디스플레이하고 있는 미디어 콘텐츠를 인식하기 위해, 제3 핑거프린트와 기준 데이터베이스(125 또는 127)의 제2 핑거프린트를 매칭시킬 수 있다. 제1 ACR 시스템(124 또는 126)은 전자 디바이스(115)가 TV 채널에 대한 미디어 콘텐츠를 디스플레이하고 있음을 인식할 수 있다.
[0061] 방법은 제4 핑거프린트(340)를 제1 ACR 시스템(312)으로부터 제2 ACR 시스템(316)으로 전송하는 것을 포함할 수 있다(340). 일 예에서, 제4 핑거프린트(340)는 전자 디바이스(314)가 디스플레이할 향후 미디어 콘텐츠에 대한 핑거프린트일 수 있다. 향후 미디어 콘텐츠는 미래의 시점(이를테면, 장차 몇 초 후)에서 전자 디바이스(314) 상에 디스플레이되도록 스케줄링되는 미디어 콘텐츠일 수 있다. 예컨대, 주문 시에 (AD들과 같은) 콘텐츠의 삽입을 관리할 때, 주문형 비디오(VOD) 콘텐츠에 대한 광고 삽입에 대한 타이밍은 매우 유연할 수 있다. 일 실시예에서, VOD 콘텐츠는 이전에 기록된 브로드캐스트일 수 있다. "라이브" 브로드캐스트로부터의 미디어 콘텐츠에 대한 광고 삽입에 대한 타이밍은 덜 유연할 수 있다. 예컨대, 브로드캐스터가 미디어 콘텐츠를 브로드캐스팅하는 시점과 시청자가 라이브 브로드캐스트를 보는 시점 사이에 삽입하기 위해 시간 윈도우가 좁을 수 있는데, 왜냐하면 브로드캐스트가 사전 기록되지 않고, 라이브 이벤트가 발생되는 시간에 가깝게 브로드캐스터가 이를 전송하기 때문이다.
[0062] 라이브는, 미디어 콘텐츠가 미디어 콘텐츠를 재생하기 위한 시점에 앵커링된다는 것을 의미한다. 예컨대, 미디어 플레이어는 특정 시점에서 재생할 한편의 미디어 콘텐츠의 시작을 스케줄링할 수 있다. 일 실시예에서, 미디어 플레이어는, 미디어 콘텐츠가 인코딩되는 것과 동시에 라이브 이벤트의 미디어 콘텐츠를 재생한다. 앵커 포인트는 이벤트의 인코딩이 시작되는 시간이다. 다른 실시예에서, 라이브 이벤트가 발생하는 시간과 라이브 이벤트의 미디어 콘텐츠가 재생되는 것 간의 갭 또는 레이턴시 윈도우(이를테면, 콘텐츠를 편집하기 위한 작은 윈도우)가 존재하고, 앵커 포인트는 이벤트의 인코딩이 시작되는 시간 + 레이턴시 윈도우이다. 다른 실시예에서, 라이브 이벤트의 미디어 콘텐츠는 미리-인코딩될 수 있지만, 특정 시점에서 플레이 아웃하도록 스케줄링될 수 있다. 라이브 이벤트들에 대한 콘텐츠 재생은, 스케줄과 동기화된 미디어 콘텐츠의 재생을 유지하기 위해, 오리지널 라이브 이벤트와 거의 동일한 양의 시간을 차지한다. 라이브 재생에 대해, 재생 동안 중간 광고들의 지속기간은 그들이 인코딩될 때 중간 광고들의 지속기간과 근사해야 한다.
[0063] 라이브 재생은, VOD 콘텐츠가 실시간으로 어떠한 앵커 포인트도 갖지 않기 때문에 VOD 재생과 상이하다. 시청자가 VOD 콘텐츠를 요청할 때, 한편의 VOD 콘텐츠가 재생되기 시작된다. 일 실시예에서, VOD 동안에 중간 광고들 지속기간은 오리지널 중간 광고들의 지속기간과 동일할 수 있다. 다른 실시예에서, VOD 동안에 중간 광고들의 지속기간은 오리지널 브로드캐스트와 상이하다. 예컨대, 브로드캐스터는 오리지널 콘텐츠를 사용하여 디스플레이하기 위해 오리지널 미디어 콘텐츠를 전자 디바이스로 브로드캐스팅할 수 있는 반면에, 전자 디바이스는 오리지널 텔레비전 브로드캐스트에서 오리지널 광고들 없이 VOD 콘텐츠를 디스플레이할 수 있다. VOD 콘텐츠가 특정 스케줄에 앵커링되어 있지 않은 경우에, VOD 콘텐츠에서 광고들은 오리지널 광고들의 지속기간과 매칭하지 않을 수 있다.
[0064] 다른 예에서, 제4 핑거프린트(340)는, 전자 디바이스(314)가 디스플레이할 향후 미디어 콘텐츠에 대한 일련의 핑거프린트들일 수 있다. 일 실시예에서, 제2 ACR 클라이언트(225)(도 2)의 제2 ACR 시스템은 전자 디바이스(115) 상에 디스플레이될 향후 미디어 콘텐츠에 대한 향후 핑거프린트를 수신할 수 있다. 다른 실시예에서, 제2 ACR 클라이언트(225)의 제2 ACR 시스템은, 전자 디바이스(314)가 디스플레이할 향후 미디어 콘텐츠에 대한 일정 시간 기간(이를테면, 다음 5-10 초) 동안 일련의 향후 핑거프린트들을 수신할 수 있다. 방법은 전자 디바이스(314)가 제4 핑거프린트를 사용하여 디스플레이할 향후 미디어 콘텐츠를 제2 ACR 시스템(316)이 결정하는 것을 포함할 수 있다(342).
[0065] 방법은, 제2 ACR 시스템(316)이 향후 미디어 콘텐츠를 표시하는 통지를 전자 디바이스(314)의 콘텐츠 오버레이 시스템으로 전송하는 것을 포함할 수 있다(344). 통지에 대한 응답으로, 콘텐츠 오버레이 시스템은 향후 콘텐츠를 오버레이 콘텐츠로 대체할 수 있다. 예컨대, 제2 ACR 시스템(316)이 전자 디바이스(314)가 디스플레이할 향후 콘텐츠를 결정할 때, 제2 ACR 시스템(316)은 통지를 전송할 수 있다. 일 실시예에서, 통지는 전자 디바이스(314)가 디스플레이할 미디어 콘텐츠의 미디어 콘텐츠 세그먼트를 식별할 수 있다. 다른 실시예에서, 전자 디바이스(314) 또는 제2 ACR 시스템(316)은 콘텐츠 오버레이를 디스플레이할지 여부를 결정하기 위해 통지를 사용할 수 있다.
[0066] 다른 실시예에서, 전자 디바이스(314)가 통지를 수신할 때, 전자 디바이스(314)는 제2 ACR 시스템(316)과 페어링된 모바일 디바이스로 향후 콘텐츠의 경고를 전송할 수 있다. 예컨대, 전자 디바이스(314)가 미래 시점에서 광고를 디스플레이한다는 것을 나타내는 통지를 전자 디바이스(314)가 수신할 때, 전자 디바이스(314)는 향후 광고에 관하여 모바일 디바이스에 알릴 수 있다. 통지를 수신하는 것에 대한 응답으로, 모바일 디바이스는, 전자 디바이스(314)가 광고 디스플레이할 때 쿠폰, 웹 사이트 링크, 또는 광고와 연관된 다른 콘텐츠를 디스플레이할 수 있다. 다른 예에서, 전자 디바이스(314)가 미래 시점에서 광고를 디스플레이할 것을 나타내는 통지를 전자 디바이스(314)가 수신할 때, 전자 디바이스(314)는 향후 광고에 관하여 모바일 디바이스에 알릴 수 있다. 모바일 디바이스는, 이를테면, 시청자가 광고 동안에 자신들의 모바일 디바이스를 보고 있는 이벤트에서, 사용자가 콘텐츠를 본다는 것을 보장하기 위해 광고와 연관된 다른 콘텐츠 또는 광고를 디스플레이할 수 있다. 다른 실시예에서, 전자 디바이스(314)가 통지를 수신할 때, 전자 디바이스(314)는 사용자의 소셜 미디어 피드 상에 오버레이 콘텐츠(이를테면, AD)를 디스플레이하기 위한 트리거를 모바일 디바이스로 전송할 수 있다. 이 예에서, 사용자의 소셜 미디어 피드 상의 오버레이 콘텐츠의 디스플레이는 전자 디바이스(314) 상에 오버레이 콘텐츠를 디스플레이하는 것과 동기화될 수 있다.
[0067] 일 예에서, (원격 제어기와 같은) 입력 디바이스는, 전자 디바이스(314)가 디스플레이하고 있는 미디어 콘텐츠에 대한 브로드캐스트 채널을 TV 채널 3에서 TV 채널 4로 변경할 수 있다. 일 실시예에서, 제2 ACR 시스템(316)은, 수신된 제4 핑거프린트가 전자 디바이스(314)가 디스플레이하고 있는 현재 미디어 콘텐츠와 더 이상 매칭하지 않음을 검출할 수 있다. 다른 실시예에서, 제2 ACR 시스템(316)은, 제1 ACR 시스템(312)으로부터 수신된 일련의 향후 핑거프린트들(예컨대, 제4 핑거프린트들)이 전자 디바이스(314) 상에 디스플레이되는 현재 미디어 콘텐츠에 대한 핑거프린트들과 더 이상 매칭하지 않음을 검출할 수 있다.
[0068] 제4 핑거프린트(들)가 현재의 미디어 콘텐츠에 대한 핑거프린트들과 더 이상 매칭하지 않는 것에 대한 응답으로, 이어서 전자 디바이스(314)는 현재의 미디어 콘텐츠에 대한 새로운 핑거프린트 또는 일련의 새로운 핑거프린트들을 제1 ACR 시스템(312)으로 전송할 수 있다. 제1 ACR 시스템(312)은 현재 브로드캐스트 채널의 미디어 콘텐츠를 식별할 수 있다. 예컨대, 제1 ACR 시스템(312)은 전자 디바이스(314)가 현재 TV 채널 4로부터 미디어 콘텐츠를 디스플레이하고 있다고 결정할 수 있다. 이어서, 제1 ACR 시스템(312)은 TV 채널 4 상의 미디어 콘텐츠의 다음 5-10 초 동안에 TV 채널 4 상의 미디어 콘텐츠에 대한 새로운 제4 핑거프린트 또는 채널 4에 대한 일련의 제4 핑거프린트들을 전송할 수 있다. 전자 디바이스(314)는, 전자 디바이스(314)가 디스플레이하고 있는 현재 미디어 콘텐츠와, 제1 ACR 시스템(312)으로부터의 새로운 제4 핑거프린트 또는 일련의 제4 핑거프린트들을 계속해서 매칭시킬 수 있다. 새로운 제4 핑거프린트가 전자 디바이스(314)가 디스플레이하고 있는 미디어 콘텐츠에 대한 핑거프린트와 매칭할 때, 전자 디바이스(314)는 향후 미디어 콘텐츠에 대한 새로운 핑거프린트를 제1 ACR 시스템(312)으로부터 요청할 수 있다. 다른 실시예에서, 전자 디바이스(314)가 일련의 핑거프린트의 끝에 도달할 때, 전자 디바이스(314)는 제1 ACR 시스템(312)으로부터 다음 일련의 핑거프린트들을 요청할 수 있다.
[0069] 미디어 콘텐츠를 핑거프린팅하는 것, 제1 핑거프린트와 제3 핑거프린트를 비교하는 것, 및 디스플레이될 향후 콘텐츠를 결정하는 것은 미디어 콘텐츠를 매칭시키는 것에 관련될 수 있다. 미디어 콘텐츠의 매칭 및 미디어 콘텐츠의 인덱싱은 동시에 또는 병렬로(예컨대, 인덱싱 동안의 매칭) 이루어질 수 있다. 인덱싱 동안의 매칭의 하나의 이점은 미디어 콘텐츠 및 미디어 콘텐츠의 디스플레잉에 관련된 분석을 결정하는 것이다. 일 예에서, 분석은 얼마나 많은 미디어 채널들(이를테면, TV 채널들)이 특정 광고들 또는 다른 미디어 콘텐츠를 방영했는지의 카운트를 포함할 수 있다. 다른 예에서, 분석은 어떤 미디어 채널들이 특정 광고들 또는 다른 미디어 콘텐츠를 방영했는지의 표시를 포함할 수 있다.
[0070] 인덱싱 동안의 매칭의 또 다른 이점은, 미디어 콘텐츠가 수초 내에 대체되어야 하는 미디어 콘텐츠를 전자 디바이스(314)의 디스플레이가 디스플레이하고 있다는 것을 전자 디바이스(314)의 제2 ACR 시스템(316)이 검출할 수 있다는 것이다. 일 실시예에서, 콘텐츠 제공자(102)(도 1)가 미디어 콘텐츠를 전자 디바이스(314)로 전송하는 것과 전자 디바이스(314)가 미디어 콘텐츠를 수신하는 것 사이의 시간 델타 또는 레이턴시 기간이 존재한다. 예컨대, 콘텐츠 제공자(102)가 미디어 콘텐츠를 전자 디바이스(314)로 전송하는 것과 전자 디바이스(314)가 OTA 브로드캐스팅을 위해 미디어 콘텐츠를 수신하는 것 사이에 약 8 초의 레이턴시 시간이 존재한다. 또 다른 예에서, 콘텐츠 제공자(102)가 미디어 콘텐츠를 전자 디바이스(314)로 전송하는 것과 전자 디바이스(314)가 위성 또는 케이블 송신들을 위해 미디어 콘텐츠를 수신하는 것 사이에 약 10-15 초의 레이턴시 시간이 존재한다. 제1 ACR 시스템(312)은, 전자 디바이스(314)가 미디어 콘텐츠를 수신하기 위해 대기하고 있는 레이턴시 기간 동안 인덱싱을 수행할 수 있다. 전자 디바이스(314)가 미디어 콘텐츠를 수신할 때, 전자 디바이스(314)는 또한 미디어 콘텐츠에 대한 핑거프린트를 저장할 수 있다.
[0071] 일 예에서, 전자 디바이스(314)는, 전자 디바이스(314)가 미래의 시점, 이를테면, 몇 초 내에 디스플레이할 미디어 콘텐츠를 예상하기 위해, 전자 디바이스(314)가 디스플레이하고 있는 채널에 대한 향후 핑거프린트를 사용할 수 있다. 전자 디바이스(314)가 미래의 시점에서 디스플레이될 미디어 콘텐츠를 식별할 때, 전자 디바이스(314)는, 현재 미디어를 오버레이 콘텐츠로 대체하는 시간에 앞서 오버레이 콘텐츠를 버퍼링할 수 있다.
[0072] 단일 핑거프린트에 대한 참조는 제한하는 것으로 의도되지 않는다. 본원에서 논의되는 핑거프린트들은 단일 핑거프린트, 일련의 핑거프린트들 또는 핑거프린트들의 세트를 지칭할 수 있다. 예컨대, 제1 ACR 시스템(312)의 프로세싱 로직은 핑거프린트 또는 핑거프린트들의 세트를 핑거프린팅할 수 있다.
[0073] 도 3b는 일 실시예에 따른, 미디어 콘텐츠를 오버레이 콘텐츠로 대체하기 위한 방법(345)의 도면을 예시한다. 방법(345)은, 하드웨어(예컨대, 회로, 전용 로직, 프로그래밍 가능 로직, 마이크로코드 등), 소프트웨어(예컨대, 프로세싱 디바이스에 의해 실행되는 명령들), 펌웨어 또는 이들의 결합을 포함하는 프로세싱 로직에 의해 적어도 부분적으로 수행될 수 있다. 방법(345)은 도 1의 콘텐츠 분배 네트워크(100)의 전부 또는 부분 또는 도 2의 콘텐츠 오버레이 네트워크(200)의 전부 또는 부분에 의해 수행될 수 있다. 도 3a의 일부 컴포넌트들은, 달리 명시적으로 설명되지 않는 한, 유사한 참조 번호들로 언급된 도 3b의 일부 컴포넌트들과 유사하다.
[0074] 도 3b를 참조하면, 방법(345)은 제1 ACR 시스템(312)이 콘텐츠 피드로부터 브로드캐스트 채널 상에서 미디어 콘텐츠를 수신하는 것으로 시작된다(347). 방법은, 일정 시간 기간이 경과한 후 전자 디바이스(314)가 디스플레이할 미디어 콘텐츠를 나타내는 트리거 이벤트를 제1 ACR 시스템(312)을 식별하는 것을 포함할 수 있다(348). 일 실시예에서, 트리거 이벤트는, 디바이스(이를테면, 원격 제어기) 또는 인터페이스가 전자 디바이스(314) 상의 미디어 콘텐츠 채널을 변경하는 때일 수 있다. 예컨대, 트리거 이벤트는, 선행 단락들에 논의된 바와 같이, TV 채널 3으로부터 TV 채널 4로의 전자 디바이스(314)의 변경일 수 있다. 일 실시예에서, 제1 ACR 시스템(312)은 전자 디바이스(314)가 TV 채널 4를 디스플레이하고 있다고 결정하고, 향후 미디어 콘텐츠와 연관된 5-10 초 동안에 일련의 핑거프린트들을 전송할 수 있다. 제2 ACR 시스템(316)은, 전자 디바이스(314)가 미래의 시점에 어떤 것을 디스플레이하는지를 예측하고 오버레이 콘텐츠로의 미디어 콘텐츠의 대체를 예상하기 위해, 일련의 핑거프린트들을 사용할 수 있다. 다른 실시예에서, 트리거 이벤트는, 전자 디바이스(314)가 현재 디스플레이하고 있는 미디어 콘텐츠에 대한 핑거프린트와 일련의 핑거프린트들 내의 태깅된 핑거프린트를 제 2 ACR 시스템(316)이 매칭시킬 때일 수 있다. 예컨대, 태깅된 핑거프린트는, 대체될 미디어 콘텐츠가 추후 시점에서, 이를테면, 5 초 내에 디스플레이될 것이라는 것을 표시하기 위해 제2 ACR 시스템(316)에 의해 플래깅될 수 있다. 전자 디바이스(314)가 현재 디스플레이하고 있는 미디어 콘텐츠에 대한 핑거프린트와 태깅된 핑거프린트를 제2 ACR 시스템(316)이 매치시킬 때, 제2 ACR 시스템(316)은 트리거 이벤트를 식별할 수 있다.
[0075] 방법은 오버레이 콘텐츠 서버(346)가 제1 ACR 시스템(312)으로부터 트리거 이벤트의 트리거 이벤트 정보(350)를 수신하는 것을 포함할 수 있다(350). 방법은 제1 ACR 시스템(312)이 미디어 콘텐츠에 대한 식별자를 수신하는 것을 포함할 수 있다(352). 일 예에서, 식별자는 미디어 콘텐츠에 대한 메타데이터를 포함할 수 있다. 다른 예에서, 제1 ACR 시스템(312)은 (선행 단락들에서 논의된 바와 같이) 미디어 콘텐츠를 인덱싱하는 것과 병렬로 콘텐츠 피드에 대한 스케줄 데이터를 리트리브(retrieve)할 수 있다. 스케줄 데이터는 미디어 콘텐츠에 대한 기준 핑거프린트들과 연관될 수 있다. 서버 또는 데이터베이스는 스케줄 데이터를 제공할 수 있다. 일 예에서, 서버 또는 데이터베이스는 스케줄 서비스를 제공하기 위한 소프트웨어를 실행할 수 있다. 스케줄 서비스는 스케줄 데이터를 결정하는 것을 포함할 수 있다. 일 예에서, 스케줄 데이터는 미디어 콘텐츠 또는 광고들의 방영 시간들의 스케줄을 포함할 수 있다. 다른 예에서, 스케줄 데이터는 제3 자 서버 또는 데이터베이스, 이를테면, 스케줄 서비스를 실행하는 제3 자 서버 또는 데이터베이스로부터 획득된 데이터를 포함할 수 있다. 다른 예에서, 스케줄 데이터는 브로드캐스터 시스템의 내부 스케줄링 시스템들을 통해 브로드캐스터 시스템으로부터 직접 획득된 데이터를 포함할 수 있다. 메타데이터 또는 식별자의 소스들은 제한적인 것으로 의도되지 않는다. 메타데이터는 부가적인 스케줄 메타데이터 및 더 높은 입도의 스케줄 메타데이터를 제공하기 위해 다양한 상이한 소스들로부터 수신될 수 있다. 일 예에서, 제2 ACR 시스템(316)은, 브로드캐스트 채널이 식별될 때, 전자 디바이스(314)에 대한 스케줄 데이터를 수신할 수 있다. 다른 예에서, 제2 ACR 시스템(316)은 제2 ACR 시스템(316)이 그 브로드캐스트 채널에 대응하는 향후 핑거프린트들을 수신하는 것과 병렬로 스케줄 데이터를 수신할 수 있다.
[0076] 방법은 제2 ACR 시스템(316)이 제1 ACR 시스템(312)으로부터 식별자를 수신하는 것을 포함할 수 있다(354). 방법은 미디어 콘텐츠를 대체할 오버레이 콘텐츠를, 오버레이 콘텐츠 서버(346)에 의해, 식별하는 것을 포함할 수 있다(356). 일 예에서, 오버레이 콘텐츠를 식별하는 것은 트리거 이벤트 정보 또는 미디어 콘텐츠와 연관된 오버레이 콘텐츠를 식별하는 것을 포함한다. 다른 예에서, 오버레이 콘텐츠를 식별하는 것은 전자 디바이스(314)에 대한 UID(unique identifier)와 연관된 오버레이 콘텐츠를 식별하는 것을 포함한다. 이 예에서, 오버레이 콘텐츠는 시청자에 대해 타겟팅 또는 개인화된 콘텐츠일 수 있다. 오버레이 콘텐츠 서버(346)는 전자 디바이스(314)에 관한 정보, 전자 디바이스(314)와 연관된 가정에 관한 정보, 전자 디바이스(314)와 연관된 가정 내의 사람들에 관한 정보 등을 포함하는 메타데이터를 리트리브하기 위해 전자 디바이스(314)의 UID를 사용할 수 있다.
[0077] 방법은 전자 디바이스(314)가 오버레이 콘텐츠 서버(346)로부터 오버레이 콘텐츠를 수신하는 것을 포함할 수 있다(358). 예컨대, 오버레이 콘텐츠 서버(230)는, 전자 디바이스(314)와 연관된 시청자 또는 가정에 타겟팅 또는 개인화된 오버레이 콘텐츠(예컨대, 관련 오버레이 콘텐츠)를 선택하고 전송하기 위해 트리거 이벤트 정보를 이용할 수 있다.
[0078] 방법은 전자 디바이스(314)가 메모리 디바이스에 오버레이 콘텐츠를 저장하는 것을 포함할 수 있다(360). 일 예에서, 메모리 디바이스는 전자 디바이스(314)에 통합될 수 있다. 다른 예에서, 메모리 디바이스는 전자 디바이스(314)에 커플링된다. 다른 예에서, 메모리 디바이스는 오버레이 콘텐츠를 일시적으로 저장할 수 있다(예컨대, 오버레이 콘텐츠를 버퍼링함). 오버레이 콘텐츠를 일시적으로 저장하는 것의 이점은 메모리 디바이스에 대한 메모리의 크기를 감소시키는 것이다. 예컨대, 메모리 디바이스 또는 전자 디바이스(314)는, 제2 ACR 시스템(316)이 미디어 콘텐츠를 오버레이 콘텐츠로 대체한 후에 오버레이 콘텐츠를 삭제할 수 있다. 다른 예에서, 메모리 디바이스는 오버레이 콘텐츠를 영구적으로 저장할 수 있다. 오버레이 콘텐츠를 영구적으로 저장하는 것의 이점은, 제2 ACR 시스템(316)이 다른 미디어 콘텐츠를 오버레이 콘텐츠로 대체할 때, 다시 오버레이 콘텐츠를 리트리브하는 것을 제거하는 것일 수 있다.
[0079] 방법은, 미디어 콘텐츠가 디스플레이될 때, 제2 ACR 시스템(316)이 미디어 콘텐츠를 오버레이 콘텐츠로 대체하는 것을 포함할 수 있다(364). 미디어 콘텐츠가 디스플레이될 때, 미디어 콘텐츠를 오버레이 콘텐츠로 대체하는 것의 이점은, 미디어 콘텐츠가 디스플레이되는 시작 시에, 이를테면, 광고 또는 광고방송의 시작 시에 즉각적으로 오버레이 콘텐츠가 오버레이되거나 보여질 수 있다는 것이다.
[0080] 도 4는, 머신으로 하여금, 본원에서 논의된 방법들 중 임의의 하나 이상을 수행하게 하기 위한 명령들의 세트가 실행될 수 있는 컴퓨터 시스템(400)의 예시적인 형태의 머신의 개략적 표현을 예시한다. 대안적인 실시예들에서, 머신은 LAN, 인트라넷, 엑스트라넷 또는 인터넷 내의 다른 머신들에 연결(예컨대, 네트워킹)될 수 있다. 머신은 클라이언트-서버 네트워크 환경에서 서버 또는 전자 디바이스의 자격으로 또는 피어-투-피어(또는 분산형) 네트워크 환경에서 피어 머신으로서 동작할 수 있다. 머신은 PC(personal computer), 태블릿 PC, STB(set-top box), PDA(Personal Digital Assistant), 셀룰러 폰, 스마트 폰, 웹 기기, 서버, 네트워크 라우터, 스위치 또는 브리지 또는 그 머신에 의해 취해질 액션들을 특정하는 (순차적 또는 다른 방식의) 명령들의 세트를 실행할 수 있는 임의의 머신일 수 있다. 추가로, 단지 하나의 머신이 예시되지만, "머신"이라는 용어는 또한 본원에서 논의된 방법들 중 하나 이상을 수행하기 위한 명령들의 세트(또는 다수의 세트들)를 개별적으로 또는 공동으로 실행하는 머신들의 임의의 집합을 포함하도록 이해되어야 한다.
[0081] 컴퓨터 시스템(400)은 도 1의 ACR 핑거프린터 서버(105)에 대응할 수 있다. 컴퓨터 시스템(400)은 도 1의 콘텐츠 분배 네트워크(100)의 전부 또는 일부 또는 도 2의 콘텐츠 오버레이 네트워크(200)의 전부 또는 일부에 대응할 수 있다. 컴퓨터 시스템(400)은 본원에서 논의된 바와 같은 클라우드-기반 컴퓨터 시스템의 적어도 일부에 대응할 수 있다.
[0082] 컴퓨터 시스템(400)은, 프로세싱 디바이스(402); 메인 메모리(404), 예컨대, ROM(read-only memory); 플래시 메모리; DRAM(dynamic random access memory), 예컨대, 동기식 DRAM(SDRAM) 또는 DRAM(RDRAM); 정적 메모리(406), 예컨대, 플래시 메모리 또는 SRAM(static random access memory); 및 데이터 저장 디바이스(418)를 포함한다. 프로세싱 디바이스(402), 메인 메모리(404), 플래시 메모리, DRAM(dynamic random access memory), 정적 메모리(406) 및 데이터 저장 디바이스(418)는 버스(430)를 통해 서로 통신할 수 있다.
[0083] 프로세싱 디바이스(402)는 하나 이상의 프로세싱 디바이스들을 표현한다. 예컨대, 하나 이상의 프로세싱 디바이스들은 마이크로프로세서, 중앙 프로세싱 유닛 등일 수 있다. 보다 구체적으로, 프로세싱 디바이스(402)는 CISC(complex instruction set computing) 마이크로프로세서, RISC(reduced instruction set computer) 마이크로프로세서, VLIW(very long instruction word) 마이크로프로세서, 다른 명령 세트들을 구현하는 프로세서, 또는 명령 세트들의 결합을 구현하는 프로세서일 수 있다. 프로세싱 디바이스(402)는 또한 하나 이상의 특수-목적 프로세싱 디바이스들일 수 있다. 예컨대, 특수-목적 프로세싱 디바이스는 ASIC(application specific integrated circuit), FPGA(field programmable gate array), DSP(digital signal processor), 네트워크 프로세서 등일 수 있다. 일 실시예에서, 프로세싱 디바이스(402)는 하나 이상의 프로세싱 코어들을 포함할 수 있다. 프로세싱 디바이스(402)는 본원에서 논의된 동작들을 수행하기 위해 메인 메모리(405)에 저장된 미러링 로직(mirroring logic)의 명령들(426)을 실행하도록 구성될 수 있다.
[0084] 컴퓨터 시스템(400)은 추가로, 네트워크(420)에 통신 가능하게 커플링되는 네트워크 인터페이스 디바이스(408)를 포함할 수 있다. 컴퓨터 시스템(400)은 또한 LCD(liquid crystal display) 또는 CRT(cathode ray tube)와 같은 비디오 디스플레이 유닛(410); 키보드와 같은 영숫자 입력 디바이스(412); 마우스와 같은 커서 제어 디바이스(414); 스피커와 같은 신호 생성 디바이스(416); 또는 다른 주변 디바이스들을 포함할 수 있다. 또한, 컴퓨터 시스템(400)은 그래픽 프로세싱 유닛(422), 비디오 프로세싱 유닛(428) 및 오디오 프로세싱 유닛(432)을 포함할 수 있다. 다른 실시예에서, 컴퓨터 시스템(400)은 프로세싱 디바이스(402)와 함께 동작하도록 설계된 집적 회로들 또는 칩들의 그룹을 지칭하는 칩셋을 포함할 수 있다. 칩셋은 프로세싱 디바이스(402)와 외부 디바이스들 간의 통신들을 제어할 수 있다. 예컨대, 칩셋은 프로세싱 디바이스(402)를 메인 메모리(404) 및 그래픽 제어기들과 같은 고속 디바이스에 링크하는 것은 물론, 프로세싱 디바이스(402)를 USB(universal serial bus), PCI(peripheral component interconnect) 또는 ISA(industry standard architecture) 버스들과 같은 주변장치들의 저속 주변 버스들에 링크하는 마더보드 상의 칩들의 세트일 수 있다.
[0085] 데이터 저장 디바이스(418)는 명령들(426)을 저장하는 컴퓨터- 판독 가능 저장 매체(425)를 포함할 수 있다. 명령들(426)은 본원에서 설명된 기능들 중 임의의 하나 이상의 방법들을 구현할 수 있다. 명령들(426)은 또한, 컴퓨터 시스템(400)에 의한 명령들의 실행 동안 메인 메모리(404) 내에 그리고/또는 프로세싱 디바이스(402) 내에 전적으로 또는 적어도 부분적으로 상주할 수 있다. 메인 메모리(404) 및 프로세싱 디바이스(402)는 컴퓨터-판독 가능 저장 매체일 수 있다.
[0086] 컴퓨터-판독 가능 저장 매체(425)는 위의 애플리케이션들을 호출하는 방법들을 포함하는 로직 및/또는 소프트웨어 라이브러리를 활용하는 명령들(426)을 저장할 수 있다. 컴퓨터-판독 가능 저장 매체(425)가 예시적인 실시예에서 단일 매체인 것으로 도시되었지만, "컴퓨터-판독 가능 저장 매체" 또는 "컴퓨터-판독 가능 매체"라는 용어는 제한하는 것을 의도되는 것은 아니다. "컴퓨터-판독 가능 저장 매체" 또는 "컴퓨터-판독 가능 매체"는 하나 이상의 명령들의 세트를 저장하는 단일 매체 또는 다수의 매체들, 예컨대, 중앙집중형 또는 분산형 데이터베이스 및/또는 연관된 캐시들 및 서버들일 수 있다. "컴퓨터-판독 가능 저장 매체"라는 용어는 머신에 의한 실행을 위한 명령의 세트를 저장, 인코딩 또는 전달할 수 있고 머신으로 하여금 본 실시예들의 방법들 중 임의의 하나 이상을 수행하게 하는 임의의 매체를 포함할 수 있다. "컴퓨터-판독 가능 저장 매체"라는 용어는 고상 메모리들, 광학 매체들 및 자기 매체들을 포함(그러나 이에 제한되지 않음)한다.
[0087] 위의 설명에서, 다수의 세부 사항들이 기술된다. 그러나, 본 개시내용의 이익을 갖는 당업자에게는 실시예들이 이러한 특정 세부 사항들 없이 실시될 수 있다는 것이 명백할 것이다. 일부 경우들에서, 잘-알려진 구조들 및 디바이스들은, 설명을 불명료하게 하는 것을 회피하기 위해 상세하게 도시되기 보다는 블록도 형태로 도시된다.
[0088] 실시예들은 컴퓨팅 플랫폼들 또는 마이크로프로세서들과 같은 특정 집적 회로들을 참조하여 본원에서 설명될 수 있지만, 다른 실시예들은 다른 유형들의 집적 회로들 및 로직 디바이스들에 적용 가능하다. 본원에서 설명된 실시예들의 유사한 기술들 및 교시들은 다른 유형들의 회로들 또는 반도체 디바이스들에 적용될 수 있다. 예컨대, 개시된 실시예들은 데스크톱 컴퓨터 시스템들 또는 랩톱들로 제한되지 않고, 핸드헬드 디바이스들, 태블릿들, 다른 얇은 노트북들, SOC(System on a Chip) 디바이스들 및 임베디드 애플리케이션과 같은 다른 디바이스에서 또한 사용될 수 있다. 핸드헬드 디바이스들의 일부 예들은, 셀룰러 폰, 인터넷 프로토콜(IP) 디바이스, 스마트 폰들, 디지털 카메라들, PDA(personal digital assistant)들 및 핸드헬드 PC(personal computer)들을 포함한다. 임베디드 애플리케이션들은 마이크로제어기들, DSP(digital signal processor)들, SoC들, 네트워크 컴퓨터들(NetPC), 셋톱 박스들, 네트워크 허브들, WAN(wide area network) 스위치들 또는 후행 단락들에서 논의되는 바와 같은 기능들 및 동작들을 수행할 수 있는 다른 시스템들을 포함할 수 있다.
[0089] 본원에서 설명된 실시예들이 프로세서 또는 프로세싱 디바이스를 참조할 수 있지만, 다른 실시예들은 다른 유형들의 집적 회로들 및 로직 디바이스들에 적용 가능하다. 실시예들의 유사한 기술들 및 교시들은 더 높은 파이프라인 스루풋 및 개선된 성능으로부터 이익을 얻을 수 있는 다른 유형들의 회로들 또는 반도체 디바이스들에 적용될 수 있다. 본원에서의 실시예들은 데이터 조작들을 수행하는 임의의 프로세서 또는 머신에 적용 가능하다. 그러나, 실시예들은 512 비트, 256 비트, 128 비트, 64 비트, 32 비트 및/또는 16 비트 데이터 연산들을 수행하는 프로세서들 또는 머신들로 제한되지 않고, 데이터의 조작 또는 관리가 수행되는 임의의 프로세서 및 머신에 적용될 수 있다.
[0090] 본원에서의 실시예들은 예들을 제공하고, 첨부 도면들은 예시의 목적을 위한 다양한 예들을 도시한다. 그러나, 이들 예들은 실시예들에 대한 모든 가능한 구현들의 총망라하는 리스트를 제공하기보다는, 단지 실시예들의 예들을 제공하는 것으로 의도되기 때문에, 이들은 제한하는 것으로 해석되어서는 안된다.
[0091] 상세한 설명의 일부 부분들은 컴퓨터 메모리 내의 데이터 비트들에 대한 연산들의 알고리즘들 및 기호 표현들의 관점에서 제시된다. 이들 알고리즘 설명들 또는 표현들은, 그들의 작업의 본질을 다른 당업자들에게 가장 효율적으로 전달하기 위하여 데이터 프로세싱 분야의 당업자들에 의해 사용된다. 알고리즘은, 본원에서 그리고 일반적으로, 원하는 결과를 유도하는 동작들의 자기-부합적(self-consistent) 시퀀스인 것으로 고려된다. 이 동작들은 물리적 양들의 물리적인 조작들을 요구하는 동작들이다. 보통, 반드시 필요한 것은 아니지만, 그러한 양들은 저장, 전달, 결합, 비교 또는 그렇지 않으면 조작될 수 있는 전기 또는 자기 신호들의 형태를 취할 수 있다. 원칙적으로 일반적인 사용의 이유들 때문에, 비트들, 값들, 엘리먼트들, 심볼들, 문자들, 용어들, 숫자들, 수치들 등으로서 그러한 신호들을 지칭하는 것이 종종 편리한 것으로 증명되었다. 본원에서 설명된 블록들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 결합일 수 있다.
[0092] 선행 단락들의 용어들 및 유사한 용어들은 적절한 물리적 양들과 연관될 것이고 단지 이러한 양들에 적용되는 편리한 라벨일 뿐이다. 달리 구체적으로 언급되지 않으면, 선행 단락들 및 도면들로부터 명백한 바와 같이, "검출", "개시", "결정", "지속", "중지", "수신", "기록" 등과 같은 용어들을 활용한 논의들은, 컴퓨팅 시스템 메모리들, 컴퓨터 시스템 레지스터들, 다른 정보 저장 디바이스들, 다른 송신 디바이스들 또는 전자 디바이스들 내의 물리적 양들로서 유사하게 표현되는 다른 데이터로, 컴퓨팅 시스템 레지스터들 및 메모리들 내의 물리적(예컨대, 전자적) 양들로서 표현된 데이터를 조작 및 변환하는 컴퓨팅 시스템 또는 유사한 전자 컴퓨팅 디바이스의 액션들 및 프로세스들을 지칭한다.
[0093] "예" 또는 "예시적인"이란 단어는 예, 경우, 또는 예시로서 역할을 하는 것을 의미하도록 본원에서 사용된다. "예" 또는 "예시적인" 것으로서 본원에서 설명된 임의의 양상 또는 설계는 다른 양상들 또는 설계들에 비해 반드시 바람직하거나 유리한 것으로서 해석될 필요는 없다. 오히려, "예" 또는 "예시적인"이란 단어들의 사용은 구체적인 방식으로 개념들을 제시하도록 의도된다. 본 출원에서 사용되는 바와 같이, "또는"이란 용어는, 배타적인 "또는" 보다는 포괄적인 "또는"을 의미하도록 의도된다. 즉, 달리 명시되거나 문맥상 명확하지 않으면, "X는 A 또는 B를 포함한다"는 본래의 포괄적인 치환들 중 임의의 치환을 의미하도록 의도된다. 즉, X는 A를 포함하고; X는 B를 포함하고; 또는 X가 A 및 B 둘 모두 포함하는 경우, 상기 경우들 중 임의의 것 하에서 "X는 A 또는 B를 포함한다"가 만족된다. 부가적으로, 본 출원 및 첨부된 청구항들에서 사용된 바와 같은 단수 표현들은 달리 명시되지 않거나 단수 형태로 지시되는 것으로 문맥상 명확하지 않으면, "하나 이상"을 의미하도록 일반적으로 해석되어야 한다. 또한, 전체에 걸쳐 "실시예" 또는 "일 실시예" 또는 "구현" 또는 "일 구현"이라는 용어의 사용은, 그러한 것으로 설명되지 않는 한 동일한 실시예 또는 구현을 의미하는 것으로 의도되지 않는다. 또한, 본원에서 사용되는 바와 같은 "제1", "제2", "제3", "제4" 등의 용어들은 상이한 엘리먼트들 간을 구별하기 위한 라벨들로서 의도되고, 반드시 그의 수치 지정에 따라 서수 의미를 가질 필요는 없다.
[0094] 본원에서 설명된 실시예들은 또한 본원에서의 동작들을 수행하기 위한 장치와 관련될 수 있다. 이 장치는 요구되는 목적을 위해 특별히 구성될 수 있거나, 또는 그것은 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 컴퓨터를 포함할 수 있다. 이러한 컴퓨터 프로그램은 플로피 디스크들, 광학 디스크들, CD-ROM들 및 자기-광학 디스크들, ROM(read-only memory)들, RAM(random access memory)들, EPROM(erasable programmable read only memory)들, EEPROM(electrically erasable programmable read only memory)들, 자기 또는 광학 카드들, 플래시 메모리, 또는 전자 명령들을 저장하기에 적합한 임의의 유형의 매체들을 포함하는 임의의 유형의 디스크와 같은(그러나 이에 제한되지 않음) 비-일시적인 컴퓨터 판독-가능 저장 매체에 저장될 수 있다. "컴퓨터 판독-가능 저장 매체"라는 용어는 하나 이상의 명령들의 세트를 저장하는 단일 매체 또는 다수의 매체들을 포함할 수 있다. 단일 매체 또는 다수의 매체들은 중앙식 또는 분산형 데이터베이스들 및/또는 연관된 캐시들 및 서버들일 수 있다. "컴퓨터-판독 가능 매체"라는 용어는 머신에 의한 실행을 위한 명령들의 세트를 저장, 인코딩 또는 전달할 수 있고 머신으로 하여금 본원에서의 실시예들의 방법들 중 임의의 하나 이상을 수행하게 하는 임의의 매체를 포함할 수 있다. "컴퓨터-판독 가능 저장 매체"라는 용어는 고상 메모리들, 광학 매체들, 자기 매체들, 또는 머신에 의한 실행을 위한 명령들의 세트를 저장할 수 있고 머신으로 하여금 본원에서의 실시예들의 방법들 중 임의의 하나 이상을 수행하게 하는 임의의 매체를 포함(그러나 이에 제한되지 않음)할 수 있다.
[0095] 본원에서 제시된 알고리즘들 및 디스플레이들은 본질적으로 임의의 특정 컴퓨터 또는 다른 장치와 관련이 없다. 다양한 컴퓨팅 시스템들이 본원에서의 교시들에 따라 프로그램들과 함께 사용될 수 있거나, 동작들을 수행하기 위해 보다 특수화된 장치를 구성하는 것이 편리하다고 판명될 수 있다. 다양한 이들 시스템들에 대해 필요한 구조는 후행 단락들의 설명으로부터 나타날 것이다. 또한, 본원에서의 실시예들은 임의의 특정 프로그래밍 언어를 참조하여 설명되지 않는다. 본원에서의 실시예들의 교시들을 구현하기 위해 다양한 프로그래밍 언어들이 사용될 수 있다는 것이 인지될 것이다.
[0096] 선행 설명은, 여러 실시예들의 양호한 이해를 제공하기 위해, 특정한 시스템들, 컴포넌트들, 방법들 등의 예들과 같은 다수의 특정한 세부사항들을 기술한다. 그러나, 적어도 일부 실시예들이, 그러한 특정한 세부사항들 없이도 실시될 수 있다는 것이 당업자에게 명백할 것이다. 다른 경우들에서, 본원에서의 실시예들을 불필요하게 모호하게 하는 것을 회피하기 위해, 잘-알려진 컴포넌트들 또는 방법들은 상세히 설명되지 않거나, 또는 간단한 블록도 포맷으로 제시된다. 따라서, 위에서 기술된 특정한 세부사항들은 단지 예시적인 것일 뿐이다. 특정한 구현들은 이들 예시적인 세부사항들에서 변할 수 있고, 여전히 본 실시예들에서 범위 내에 있는 것으로 고려될 수 있다.
[0097] 선행 설명은 예시적인 것이며 제한적이지 않다. 선행 설명을 읽고 이해할 시에, 다수의 다른 실시예들이 당업자들에게 명백할 것이다. 본원에서 실시예들의 범위는, 첨부된 청구항들에 부여되는 등가물들의 전체 범위와 함께 그러한 청구범위들을 참조하여 결정되어야 한다.

Claims (20)

  1. 컴퓨터 시스템으로서,
    네트워크 인터페이스;
    프로세싱 디바이스;
    비-일시적인 메모리; 및
    상기 비-일시적인 메모리에 저장되고 상기 프로세싱 디바이스에 의해 동작들을 수행하도록 실행가능한 명령들을 포함하고,
    상기 동작들은:
    미디어 콘텐츠 피드가 전자 디바이스로 분배되고 상기 전자 디바이스에 의해 디스플레이되고 있을 때 상기 미디어 콘텐츠 피드의 사본을 수신하는 동작,
    기준 핑거프린트들을 획득하도록 상기 미디어 콘텐츠 피드의 사본을 핑거프린팅하고, 기준 데이터베이스에 상기 기준 핑거프린트들을 저장하는 동작,
    상기 기준 핑거프린트들을 대체가능한-콘텐츠 세그먼트의 핑거프린트들과 매칭하여, 상기 대체가능한-콘텐츠 세그먼트의 상기 미디어 콘텐츠 피드에서의 존재를 식별하는 동작,
    상기 전자 디바이스에 의해 디스플레이되고 있는 상기 미디어 콘텐츠 피드를 나타내는 질의 핑거프린트들(query fingerprints)을 수신하고, 상기 질의 핑거프린트들을 상기 기준 핑거프린트들과 매칭하여, 상기 전자 디바이스에 의해 디스플레이되고 있는 상기 미디어 콘텐츠 피드를 식별하는 동작, 및
    상기 전자 디바이스에 의해 디스플레이되고 있는 상기 미디어 콘텐츠 피드를 식별함에 따라, 상기 전자 디바이스에 의해 디스플레이될 상기 미디어 콘텐츠 피드의 다음 부분(upcoming portion)으로서 상기 대체가능한-콘텐츠 세그먼트를 나타내는 핑거프린트들을 상기 전자 디바이스로 전송하는 동작
    을 포함하는,
    컴퓨터 시스템.
  2. 제1항에 있어서,
    상기 대체가능한-콘텐츠 세그먼트는 광고를 포함하는,
    컴퓨터 시스템.
  3. 제1항에 있어서,
    상기 전자 디바이스는 텔레비전을 포함하는,
    컴퓨터 시스템.
  4. 제3항에 있어서,
    상기 전자 디바이스는 셋톱 박스(set top box) 또는 동글(dongle) 중 적어도 하나를 더 포함하는,
    컴퓨터 시스템.
  5. 제1항에 있어서,
    상기 동작들은 (i) 상기 기준 핑거프린트들을 획득하도록 상기 미디어 콘텐츠 피드의 사본을 핑거프린팅하는 것과, (ii) 상기 질의 핑거프린트들을 상기 기준 핑거프린트들과 매칭하는 것을 동시에(concurrently) 수행하는 것을 포함하는,
    컴퓨터 시스템.
  6. 제1항에 있어서,
    상기 미디어 콘텐츠 피드는 라이브 브로드캐스트 피드(live broadcast feed)를 포함하는,
    컴퓨터 시스템.
  7. 제1항에 있어서,
    상기 전자 디바이스로의 네트워크 연결을 더 포함하고, 상기 네트워크 연결은 WLAN(wireless local area network) 연결을 포함하는,
    컴퓨터 시스템.
  8. 제1항에 있어서,
    상기 대체가능한-콘텐츠 세그먼트의 핑거프린트들은 이전에 확립된,
    컴퓨터 시스템.
  9. 방법으로서,
    미디어 콘텐츠 피드가 전자 디바이스로 분배되고 상기 전자 디바이스에 의해 디스플레이되고 있을 때 상기 미디어 콘텐츠 피드의 사본을 수신하는 단계;
    기준 핑거프린트들을 획득하도록 상기 미디어 콘텐츠 피드의 사본을 핑거프린팅하고 기준 데이터베이스에 상기 기준 핑거프린트들을 저장하는 단계;
    상기 기준 핑거프린트들을 대체가능한-콘텐츠 세그먼트의 핑거프린트들과 매칭하여, 상기 대체가능한-콘텐츠 세그먼트의 상기 미디어 콘텐츠 피드에서의 존재를 식별하는 단계;
    상기 전자 디바이스에 의해 디스플레이되고 있는 상기 미디어 콘텐츠 피드를 나타내는 질의 핑거프린트들을 수신하고, 그리고 상기 질의 핑거프린트들을 상기 기준 핑거프린트들과 매칭하여 상기 전자 디바이스에 의해 디스플레이되고 있는 상기 미디어 콘텐츠 피드를 식별하는 단계; 및
    상기 전자 디바이스에 의해 디스플레이되고 있는 상기 미디어 콘텐츠 피드를 식별함에 따라, 상기 전자 디바이스에 의해 디스플레이될 상기 미디어 콘텐츠 피드의 다음 부분으로서 상기 대체가능한-콘텐츠 세그먼트를 나타내는 핑거프린트들을 상기 전자 디바이스로 전송하는 단계
    를 포함하는,
    방법.
  10. 제9항에 있어서
    상기 대체가능한-콘텐츠 세그먼트는 광고를 포함하는,
    방법.
  11. 제9항에 있어서
    상기 전자 디바이스는 텔레비전을 포함하는,
    방법.
  12. 제9항에 있어서,
    (i) 상기 기준 핑거프린트들을 획득하도록 상기 미디어 콘텐츠 피드의 사본을 핑거프린팅하는 것과, (ii) 상기 질의 핑거프린트들을 상기 기준 핑거프린트들과 매칭하는 것을 동시에 수행하는 단계를 더 포함하는,
    방법.
  13. 제9항에 있어서,
    상기 미디어 콘텐츠 피드는 라이브 브로드캐스트 피드를 포함하는,
    방법.
  14. 제9항에 있어서,
    상기 대체가능한-콘텐츠 세그먼트의 핑거프린트들은 이전에 확립된,
    방법.
  15. 명령들을 갖는 비-일시적인 컴퓨터-판독 가능 저장 매체로서, 상기 명령들은, 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금 동작들을 수행하게 하고, 상기 동작들은:
    미디어 콘텐츠 피드가 전자 디바이스로 분배되고 상기 전자 디바이스에 의해 디스플레이되고 있을 때 상기 미디어 콘텐츠 피드의 사본을 수신하는 동작;
    기준 핑거프린트들을 획득하도록 상기 미디어 콘텐츠 피드의 사본을 핑거프린팅하고, 기준 데이터베이스에 상기 기준 핑거프린트들을 저장하는 동작;
    상기 기준 핑거프린트들을 대체가능한-콘텐츠 세그먼트의 핑거프린트들과 매칭하여, 상기 대체가능한-콘텐츠 세그먼트의 상기 미디어 콘텐츠 피드에서의 존재를 식별하는 동작;
    상기 전자 디바이스에 의해 디스플레이되고 있는 상기 미디어 콘텐츠 피드를 나타내는 질의 핑거프린트들을 수신하고, 상기 질의 핑거프린트들을 상기 기준 핑거프린트들과 매칭하여, 상기 전자 디바이스에 의해 디스플레이되고 있는 상기 미디어 콘텐츠 피드를 식별하는 동작; 및
    상기 전자 디바이스에 의해 디스플레이되고 있는 상기 미디어 콘텐츠 피드를 식별함에 따라, 상기 전자 디바이스에 의해 디스플레이될 상기 미디어 콘텐츠 피드의 다음 부분으로서 상기 대체가능한-콘텐츠 세그먼트를 나타내는 핑거프린트들을 상기 전자 디바이스로 전송하는 동작
    을 포함하는,
    비-일시적인 컴퓨터-판독 가능 저장 매체.
  16. 제15항에 있어서,
    상기 대체가능한-콘텐츠 세그먼트는 광고를 포함하는,
    비-일시적인 컴퓨터-판독 가능 저장 매체.
  17. 제15항에 있어서,
    상기 전자 디바이스는 텔레비전을 포함하는,
    비-일시적인 컴퓨터-판독 가능 저장 매체.
  18. 제15항에 있어서,
    상기 동작들은 (i) 상기 기준 핑거프린트들을 획득하도록 상기 미디어 콘텐츠 피드의 사본을 핑거프린팅하는 것과, (ii) 상기 질의 핑거프린트들을 상기 기준 핑거프린트들과 매칭하는 것을 동시에 수행하는 것을 더 포함하는,
    비-일시적인 컴퓨터-판독 가능 저장 매체.
  19. 제15항에 있어서,
    상기 미디어 콘텐츠 피드는 라이브 브로드캐스트 피드를 포함하는,
    비-일시적인 컴퓨터-판독 가능 저장 매체.
  20. 제15항에 있어서,
    상기 대체가능한-콘텐츠 세그먼트의 핑거프린트들은 이전에 확립된,
    비-일시적인 컴퓨터-판독 가능 저장 매체.
KR1020207005598A 2015-10-27 2016-09-27 미디어 콘텐츠 매칭 및 인덱싱 KR102332953B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201562247060P 2015-10-27 2015-10-27
US62/247,060 2015-10-27
US15/081,738 US9813781B2 (en) 2015-10-27 2016-03-25 Media content matching and indexing
US15/081,738 2016-03-25
PCT/US2016/053998 WO2017074634A1 (en) 2015-10-27 2016-09-27 Media content matching and indexing
KR1020187014587A KR102083996B1 (ko) 2015-10-27 2016-09-27 미디어 콘텐츠 매칭 및 인덱싱

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020187014587A Division KR102083996B1 (ko) 2015-10-27 2016-09-27 미디어 콘텐츠 매칭 및 인덱싱

Publications (2)

Publication Number Publication Date
KR20200023534A KR20200023534A (ko) 2020-03-04
KR102332953B1 true KR102332953B1 (ko) 2021-12-01

Family

ID=58559362

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020187014587A KR102083996B1 (ko) 2015-10-27 2016-09-27 미디어 콘텐츠 매칭 및 인덱싱
KR1020207005598A KR102332953B1 (ko) 2015-10-27 2016-09-27 미디어 콘텐츠 매칭 및 인덱싱

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020187014587A KR102083996B1 (ko) 2015-10-27 2016-09-27 미디어 콘텐츠 매칭 및 인덱싱

Country Status (7)

Country Link
US (4) US9813781B2 (ko)
KR (2) KR102083996B1 (ko)
CN (2) CN108352914B (ko)
GB (2) GB2596260A (ko)
HK (1) HK1258988A1 (ko)
MX (1) MX2018003806A (ko)
WO (1) WO2017074634A1 (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10606879B1 (en) 2016-02-29 2020-03-31 Gracenote, Inc. Indexing fingerprints
US10063917B2 (en) * 2016-03-16 2018-08-28 Sorenson Media Inc. Fingerprint layouts for content fingerprinting
JP2018074412A (ja) * 2016-10-31 2018-05-10 富士通株式会社 コンテンツ配信システム、情報処理装置、コンテンツ配信制御プログラムおよびコンテンツ配信制御方法
US10909173B2 (en) 2016-12-09 2021-02-02 The Nielsen Company (Us), Llc Scalable architectures for reference signature matching and updating
US11134309B2 (en) 2016-12-31 2021-09-28 Turner Broadcasting System, Inc. Creation of channels using pre-encoded media assets
US11470373B2 (en) 2016-12-31 2022-10-11 Turner Broadcasting System, Inc. Server-side dynamic insertion of programming content in an indexed disparate live media output stream
US11438658B2 (en) 2016-12-31 2022-09-06 Turner Broadcasting System, Inc. Client-side dynamic presentation of programming content in an indexed disparate live media output stream
US10856016B2 (en) 2016-12-31 2020-12-01 Turner Broadcasting System, Inc. Publishing disparate live media output streams in mixed mode based on user selection
US11962821B2 (en) 2016-12-31 2024-04-16 Turner Broadcasting System, Inc. Publishing a disparate live media output stream using pre-encoded media assets
US11503352B2 (en) 2016-12-31 2022-11-15 Turner Broadcasting System, Inc. Dynamic scheduling and channel creation based on external data
US11051074B2 (en) 2016-12-31 2021-06-29 Turner Broadcasting System, Inc. Publishing disparate live media output streams using live input streams
US11109086B2 (en) 2016-12-31 2021-08-31 Turner Broadcasting System, Inc. Publishing disparate live media output streams in mixed mode
US11038932B2 (en) 2016-12-31 2021-06-15 Turner Broadcasting System, Inc. System for establishing a shared media session for one or more client devices
US11245964B2 (en) 2017-05-25 2022-02-08 Turner Broadcasting System, Inc. Management and delivery of over-the-top services over different content-streaming systems
CN107277577A (zh) * 2017-07-14 2017-10-20 深圳创维-Rgb电子有限公司 广告的推送方法、装置及计算机可读存储介质
US10306333B2 (en) 2017-09-13 2019-05-28 The Nielsen Company (Us), Llc Flagging advertisement frames for automatic content recognition
CN107690078B (zh) * 2017-09-28 2020-04-21 腾讯科技(深圳)有限公司 弹幕信息显示方法、提供方法以及设备
US11317143B2 (en) * 2018-08-17 2022-04-26 Roku, Inc. Dynamic reduction in playout of replacement content to help align end of replacement content with end of replaced content
US11082734B2 (en) 2018-12-21 2021-08-03 Turner Broadcasting System, Inc. Publishing a disparate live media output stream that complies with distribution format regulations
US10880606B2 (en) 2018-12-21 2020-12-29 Turner Broadcasting System, Inc. Disparate live media output stream playout and broadcast distribution
US10873774B2 (en) 2018-12-22 2020-12-22 Turner Broadcasting System, Inc. Publishing a disparate live media output stream manifest that includes one or more media segments corresponding to key events
CN109977102A (zh) * 2019-03-27 2019-07-05 网易(杭州)网络有限公司 数据处理方法、装置、介质及电子设备
WO2020231813A1 (en) * 2019-05-10 2020-11-19 The Nielsen Company (Us), Llc Content-modification system with responsive transmission of reference fingerprint data feature
US20200356757A1 (en) * 2019-05-10 2020-11-12 The Nielsen Company (Us), Llc Content-Modification System With Geographic Area-Based Feature
WO2020231927A1 (en) * 2019-05-10 2020-11-19 The Nielsen Company (Us), Llc Content-modification system with responsive transmission of reference fingerprint data feature
WO2020231821A1 (en) 2019-05-10 2020-11-19 The Nielsen Company (Us), Llc Content-modification system with fingerprint data match and mismatch detection feature
US11354323B2 (en) 2019-05-10 2022-06-07 Roku, Inc. Content-modification system with geographic area-based feature
US10846506B1 (en) * 2019-05-10 2020-11-24 The Nielsen Company (Us), Llc Content-modification system with geographic area-based feature
US20200359080A1 (en) * 2019-05-10 2020-11-12 The Nielsen Company (Us), Llc Content-Modification System with Issue Detection and Responsive Action Feature
CN110275989B (zh) * 2019-06-21 2022-11-18 唢纳网络科技(上海)有限公司 多媒体数据处理方法、装置、计算机设备和存储介质
US11917231B2 (en) 2020-10-29 2024-02-27 Roku, Inc. Real-time altering of supplemental content duration in view of duration of modifiable content segment, to facilitate dynamic content modification

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130205338A1 (en) 2012-02-07 2013-08-08 Nishith Kumar Sinha Method and system for synchronization of messages to content utilizing automatic content recognition

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6909837B1 (en) 2000-11-13 2005-06-21 Sony Corporation Method and system for providing alternative, less-intrusive advertising that appears during fast forward playback of a recorded video program
US6820150B1 (en) 2001-04-11 2004-11-16 Microsoft Corporation Method and apparatus for providing quality-of-service delivery facilities over a bus
US7444659B2 (en) 2001-08-02 2008-10-28 Intellocity Usa, Inc. Post production visual alterations
JP2004266704A (ja) 2003-03-04 2004-09-24 Funai Electric Co Ltd 放送受信装置
US20050138659A1 (en) 2003-12-17 2005-06-23 Gilles Boccon-Gibod Personal video recorders with automated buffering
US10032192B2 (en) 2003-12-23 2018-07-24 Roku, Inc. Automatic localization of advertisements
CA2860960C (en) 2005-01-12 2022-04-12 Invidi Technologies Corporation Targeted impression model for broadcast network asset delivery
US8640166B1 (en) * 2005-05-06 2014-01-28 Rovi Guides, Inc. Systems and methods for content surfing
US8179440B2 (en) 2005-12-05 2012-05-15 University Of Maryland Method and system for object surveillance and real time activity recognition
JP2008118219A (ja) 2006-10-31 2008-05-22 Toshiba Corp デジタル放送選局装置、デジタル放送受信装置及びデジタル放送選局方法
WO2009140820A1 (en) 2008-05-21 2009-11-26 Yuvad Technologies Co., Ltd. A system for extracting a finger print data from video/audio signals
US8180891B1 (en) 2008-11-26 2012-05-15 Free Stream Media Corp. Discovery, access control, and communication with networked services from within a security sandbox
US9648380B2 (en) 2009-09-14 2017-05-09 Tivo Solutions Inc. Multimedia device recording notification system
US8863165B2 (en) * 2010-11-01 2014-10-14 Gracenote, Inc. Method and system for presenting additional content at a media system
US9554175B2 (en) 2011-07-20 2017-01-24 Sony Corporation Method, computer program, reception apparatus, and information providing apparatus for trigger compaction
US8793274B2 (en) 2011-08-08 2014-07-29 Lei Yu System and method for auto content recognition
US20130067024A1 (en) * 2011-09-12 2013-03-14 Microsoft Corporation Distributing multi-source push notifications to multiple targets
US8949872B2 (en) 2011-12-20 2015-02-03 Yahoo! Inc. Audio fingerprint for content identification
WO2013133601A1 (en) * 2012-03-05 2013-09-12 Lg Electronics Inc. Video display apparatus and operating method thereof
US9292894B2 (en) 2012-03-14 2016-03-22 Digimarc Corporation Content recognition and synchronization using local caching
US20130276010A1 (en) 2012-04-12 2013-10-17 Timbo Drayson Content serving
US9055337B2 (en) 2012-05-17 2015-06-09 Cable Television Laboratories, Inc. Personalizing services using presence detection
MX342972B (es) * 2012-08-22 2016-10-20 Lg Electronics Inc Aparato y metodo para procesamiento de un servicio interactivo.
US20140074621A1 (en) 2012-09-07 2014-03-13 Opentv, Inc. Pushing content to secondary connected devices
US9167276B2 (en) 2012-12-28 2015-10-20 Turner Broadcasting System, Inc. Method and system for providing and handling product and service discounts, and location based services (LBS) in an automatic content recognition based system
US9495451B2 (en) * 2013-01-07 2016-11-15 Gracenote, Inc. Identifying video content via fingerprint matching
US9794642B2 (en) 2013-01-07 2017-10-17 Gracenote, Inc. Inserting advertisements into video content
KR102017693B1 (ko) * 2013-01-14 2019-09-03 엘지전자 주식회사 방송 수신기 및 방송 신호 처리 방법
US9384114B2 (en) 2013-09-04 2016-07-05 AppDynamics, Inc. Group server performance correction via actions to server subset
US20160316261A1 (en) * 2015-04-23 2016-10-27 Sorenson Media, Inc. Automatic content recognition fingerprint sequence matching
US10750236B2 (en) * 2015-04-23 2020-08-18 The Nielsen Company (Us), Llc Automatic content recognition with local matching

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130205338A1 (en) 2012-02-07 2013-08-08 Nishith Kumar Sinha Method and system for synchronization of messages to content utilizing automatic content recognition

Also Published As

Publication number Publication date
GB202114320D0 (en) 2021-11-17
KR20180084812A (ko) 2018-07-25
US20170118538A1 (en) 2017-04-27
US10827234B2 (en) 2020-11-03
CN108352914B (zh) 2021-03-02
US20180035175A1 (en) 2018-02-01
MX2018003806A (es) 2018-12-12
KR20200023534A (ko) 2020-03-04
GB2557156A (en) 2018-06-13
US20190200101A1 (en) 2019-06-27
GB2596260A (en) 2021-12-22
GB201805125D0 (en) 2018-05-16
KR102083996B1 (ko) 2020-03-03
US20210014577A1 (en) 2021-01-14
GB2557156B (en) 2021-11-17
CN108352914A (zh) 2018-07-31
US10187705B2 (en) 2019-01-22
US9813781B2 (en) 2017-11-07
WO2017074634A1 (en) 2017-05-04
CN112905841A (zh) 2021-06-04
HK1258988A1 (zh) 2019-11-22

Similar Documents

Publication Publication Date Title
KR102332953B1 (ko) 미디어 콘텐츠 매칭 및 인덱싱
US11064238B2 (en) Sequentially overlaying media content
US20220109907A1 (en) Automatic Content Recognition with Local Matching
KR102383061B1 (ko) 미디어 콘텐츠에 대한 빈도 제한
US10116987B2 (en) Fingerprinting media content using hashing
US20210281901A1 (en) Content comparison testing on linear media streams
US10182263B2 (en) Enabling interactive control of live television broadcast streams
US11563988B2 (en) Employing automatic content recognition to allow resumption of watching interrupted media program from television broadcast

Legal Events

Date Code Title Description
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant