KR102410473B1 - 전자 장치 및 전자 장치의 동작 방법 - Google Patents

전자 장치 및 전자 장치의 동작 방법 Download PDF

Info

Publication number
KR102410473B1
KR102410473B1 KR1020170092738A KR20170092738A KR102410473B1 KR 102410473 B1 KR102410473 B1 KR 102410473B1 KR 1020170092738 A KR1020170092738 A KR 1020170092738A KR 20170092738 A KR20170092738 A KR 20170092738A KR 102410473 B1 KR102410473 B1 KR 102410473B1
Authority
KR
South Korea
Prior art keywords
advertisement
broadcast
electronic device
fingerprint
replaced
Prior art date
Application number
KR1020170092738A
Other languages
English (en)
Other versions
KR20180014657A (ko
Inventor
최윤희
정태웅
여해동
웨이 원
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US15/665,797 priority Critical patent/US10616631B2/en
Priority to PCT/KR2017/008274 priority patent/WO2018026162A1/en
Priority to EP17837213.2A priority patent/EP3430811A4/en
Publication of KR20180014657A publication Critical patent/KR20180014657A/ko
Application granted granted Critical
Publication of KR102410473B1 publication Critical patent/KR102410473B1/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/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/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2668Creating a channel for a dedicated end-user group, e.g. insertion of targeted commercials based on end-user profiles
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • 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/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • 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, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 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 programs or purchase activity
    • 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/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • 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/482End-user interface for program selection
    • 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/643Communication protocols
    • 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

Abstract

전자 장치 및 전자 장치의 동작 방법을 개시한다. 일실시예에 따른 전자 장치는 통신 인터페이스; 디스플레이; 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 디스플레이에서 표시되는 컨텐츠로부터 추출된 핑거프린트에 기초하여, 상기 컨텐츠에 대응되는 제1 방송 채널의 정보를 서버로부터 수신하고, 상기 컨텐츠에 대응되는 상기 제1 방송 채널을 인식하고, 상기 제1 방송 채널의 방송 스케줄에 교체될 기존 광고의 방송 스케줄 이 포함된 것으로 확인되면, 상기 교체될 기존 광고의 시작 시점에 기초하여 교체할 광고를 상기 서버로부터 다운로드 하고, 상기 제1 방송 채널의 교체될 기존 광고의 광고 시간에 상기 교체할 광고를 재생할 수 있다.

Description

전자 장치 및 전자 장치의 동작 방법{Electronic apparatus, and operating method for the same}
본 발명의 다양한 실시예들은 전자 장치 및 전자 장치의 동작 방법에 관한 것으로, 구체적으로는, 방송 프로그램에 따라 제공되는 광고를 실시간으로 교체하는 전자 장치 및 전자 장치의 동작 방법에 관한 것이다.
스마트 또는 인터넷에 연결된 TV은 인터넷 네트워크와 같은 데이터 네트워크로부터 데이터를 수신할 수 있으므로 시청자들은 디지털 방송 컨텐츠 뿐만 아니라 멀티미디어 컨텐츠를 수신할 수 있다. 이와 같이 스마트 TV이나 인터넷에 연결된 TV과 다양한 스마트 기기의 사용으로 인해 컨텐츠 제공자들은 보다 풍부한 컨텐츠, 광고, 인터랙티브 컨텐츠를 제공할 수 있게 되었다.
그러나, TV, 스마트 TV 또는 인터넷에 연결된 TV를 이용하여 특정 시점에 특정 채널을 시청자는 방송의 특성상, 방송 채널의 방송 스케줄에 예정된 광고를 동일하게 시청할 수 밖에 없다. 따라서, TV와 같은 전자 장치는 방송 스케줄에 예정된 광고를 획일적으로 제공하지 않고, 전자 장치의 사용자에게 적합한 광고를 적절한 시기에 제공하는 것이 필요하다.
전자 장치는 교체될 기존 광고의 시작 시점을 미리 인식하여, 교체할 광고를 정확한 시점에 제공할 수 있다.
전자 장치는 사용자가 시청하는 방송 채널을 인식하고, 인식된 방송 채널의 재생 위치를 정확하게 파악할 수 있다.
교체 광고가 전자 장치에서 제공되는 동안 전자 장치의 제어를 위한 실행 화면이 호출된 경우, 전자 장치는 전자 장치의 제어를 위한 실행 화면을 교체 광고 위에 제공하여 사용자가 전자 장치의 제어를 효율적으로 할 수 있다.
일측에 따르면, 전자 장치는 통신 인터페이스; 디스플레이; 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 디스플레이에서 표시되는 컨텐츠로부터 추출된 핑거프린트에 기초하여, 상기 컨텐츠에 대응되는 제1 방송 채널의 정보를 서버로부터 수신하고, 상기 컨텐츠에 대응되는 상기 제1 방송 채널을 인식하고, 상기 제1 방송 채널의 방송 스케줄에 교체될 기존 광고의 방송 스케줄 이 포함된 것으로 확인되면, 상기 교체될 기존 광고의 시작 시점에 기초하여 교체할 광고를 서버로부터 다운로드 하고, 상기 제1 방송 채널의 교체될 기존 광고의 광고 시간에 상기 교체할 광고를 재생할 수 있다.
다른 일측에 따르면, 전자 장치의 동작 방법에 있어서, 상기 전자 장치의 디스플레이에서 표시되는 컨텐츠의 핑거프린트를 추출하는 단계; 상기 추출된 컨텐츠의 핑거프리트에 기초하여, 상기 컨텐츠에 대응되는 제1 방송 채널의 정보를 서버로부터 수신하고, 상기 컨텐츠에 대응되는 상기 제1 방송 채널을 인식하는 단계; 상기 제1 방송 채널의 방송 스케줄에 교체될 기존 광고의 방송 스케줄이 포함된 것으로 확인되면, 상기 교체될 기존 광고의 시작 시점에 기초하여 교체할 광고를 서버로부터 다운로드 하는 단계; 및 상기 제1 방송 채널의 교체될 기존 광고의 광고 시간에 상기 교체할 광고를 재생하는 단계를 포함할 수 있다.
또 다른 일측에 따르면, 서버는, 통신 인터페이스; 하나 이상의 인스트럭션을 저장하는 스토리지; 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 방송국으로부터 방송 채널들 각각에 대한 방송 정보를 수신하여, 상기 방송 채널들 영상에 대한 각각의 방송 핑거프린트를 추출하고, 전자 장치로부터 상기 전자 장치에 표시되는 컨텐츠의 핑거프린트를 수신하고, 상기 컨텐츠의 핑거프린트와 상기 방송 채널들 영상에 대한 각각의 핑거프린트를 비교하여, 상기 컨텐츠에 대응되는 제1 방송 채널을 결정하고, 상기 제1 방송 채널의 방송 스케줄에 기초하여, 상기 전자 장치에서 교체될 기존 광고가 방송 예정인지 결정하고, 상기 전자 장치에서 상기 교체될 기존 광고가 방송 예정이면, 상기 기존 광고의 시작 시점에 기초하여, 상기 전자 장치에서 교체할 광고를 전송할 수 있다.
또 다른 일측에 따르면, 서버의 동작 방법에 있어서, 방송국으로부터 방송 채널들 각각에 대한 방송 정보를 수신하여, 상기 방송 채널들 영상에 대한 각각의 방송 핑거프린트를 추출하는 단계; 사용자의 전자 장치로부터 상기 전자 장치에 표시되는 컨텐츠의 핑거프린트를 수신하는 단계; 상기 컨텐츠의 핑거프린트와 상기 방송 채널들 영상에 대한 각각의 핑거프린트를 비교하여, 상기 컨텐츠에 대응되는 제1 방송 채널을 결정하는 단계; 상기 제1 방송 채널의 방송 스케줄에 기초하여, 상기 전자 장치에서 교체될 기존 광고가 방송 예정인지 결정하는 단계; 및 상기 전자 장치에서 상기 교체될 기존 광고가 방송 예정이면, 상기 기존 광고의 시작 시점에 기초하여, 상기 전자 장치에서 교체할 광고를 전송하는 단계를 포함할 수 있다.
일측에 따르면, 상기 전자 장치의 동작 방법 및 서버의 동작 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.
본 발명은, 다음의 자세한 설명과 그에 수반되는 도면들의 결합으로 쉽게 이해될 수 있으며, 참조 번호(reference numerals)들은 구조적 구성요소(structural elements)를 의미한다.
도 1은 일실시예에 따라, 전자 장치 내에서 방송 프로그램의 광고가 전자 장치의 사용자의 정보를 고려하여 다른 광고로 교체되는 예시를 나타내는 도면이다.
도 2는 일실시예에 따라, 전자 장치 내에서 방송 프로그램의 광고가 교체되는 방법의 흐름도이다.
도 3은 일실시예에 따라, 전자 장치에 표시되는 컨텐츠에 대응되는 방송 채널의 인식 방법의 흐름도이다.
도 4는 일실시예에 따라, 전자 장치에서 인식된 방송 채널이 고정되었는지를 확인하는 방법의 흐름도이다.
도 5는 일실시예에 따라, 전자 장치에서 광고 교체 이벤트 알림을 수신하는 방법의 흐름도이다.
도 6은 일실시예에 따라, 전자 장치에 표시되는 컨텐츠의 재생 위치를 실시간으로 확인하여 교체할 광고를 다운로드 하는 방법의 흐름도이다.
도 7은 일실시예에 따라, 전자 장치에서 교체할 광고를 다운로드 하는 시기를 설명하기 위한 도면이다.
도 8은 일실시예에 따라, 전자 장치에서 교체할 광고를 재생하는 레이어를 설명하기 위한 도면이다.
도 9는 일실시예에 따라, 전자 장치에서 교체할 광고를 재생하고, 전자 장치의 제어를 위한 실행 화면을 표시하는 방법의 흐름도이다.
도 10은 일실시예에 따라, 전자 장치에서 교체할 광고 위에 전자 장치의 제어를 위한 실행 화면을 표시하는 방법의 흐름도이다.
도 11은 일실시예에 따라, 사용자의 제어 명령에 따라, 교체할 광고 위에 전자 장치의 제어를 위한 실행 화면이 표시된 예시를 설명하기 위한 도면이다.
도 12는 일실시예에 따라, 전자 장치에서 방송 채널이 변경된 경우, 전자 장치의 동작을 설명하기 위한 도면이다.
도 13은 일실시예에 따라, 영상 또는 비디오 프레임의 핑거프린트를 이용하여 영상 또는 비디오 프레임을 인식하는 방법을 설명하기 위한 도면이다.
도 14는 일실시예에 따라, 컨텐츠의 영상 내의 복수의 영역을 기반으로 핑거프린트를 추출하고, 식별하는 방법의 흐름도이다.
도 15는 일실시예에 따라, 컨텐츠의 영상 내의 복수의 영역을 기반으로 핑거프린트를 추출하고, 식별하는 방법을 설명하기 위한 도면이다.
도 16 및 도 17은 일실시예에 따른 전자 장치의 블록도이다.
도 18는 일실시에에 따른 서버의 블록도이다.
도 19는 일실시예에 따라, 전자 장치에서 방송 프로그램의 광고를 교체하는 시스템을 설명하기 위한 도면이다.
도 20은 다른 일실시예에 따라, 전자 장치에서 방송 프로그램의 광고를 교체하는 시스템을 설명하기 위한 도면이다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 '부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
도 1은 일실시예에 따라, 전자 장치 내에서 방송 프로그램의 광고가 전자 장치의 사용자의 정보를 고려하여 다른 광고로 교체되는 예시를 나타내는 도면이다.
전자 장치(10)는 전자 장치(10)의 프로파일 정보에 기초하여, 전자 장치(10)의 사용자에게 적합한 광고를 제공할 수 있다. 여기서, 전자 장치(10)의 프로파일 정보는, 전자 장치(10)의 사용자의 성별, 나이, 특기, 취미, 사용자가 즐겨보는 채널 등을 포함할 수 있고, 이에 한정되지 않는다.
전자 장치(10)는 스마트폰, 태블릿 PC, PC, TV, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다.
전자 장치(10)의 사용자는 제1 방송 채널의 방송 스케줄에 따라, 뉴스 방송(1), 화장품 광고 방송(2), 스포츠 뉴스 방송(3)을 시청할 수 있다. 그러나, 전자 장치(10)는 전자 장치(10)의 프로파일 정보에 기초하여, 기존 화장품 광고 방송(2)을 사용자에게 타겟팅된 헬스 용품 광고 방송(5)으로 교체할 수 있다. 따라서, 전자 장치(10)의 사용자는 제1 방송 채널의 방송 스케줄과 다르게, 뉴스 방송(4), 헬스 용품 광고 방송(5), 스포츠 뉴스 방송(6)을 시청할 수 있다.
전자 장치(10)는 전자 장치(10)에서 시청 중인 방송 채널, 교체될 기존 광고, 교체될 기존 광고의 시작 시점, 교체될 기존 광고의 기존 광고 시간 및 교체할 광고에 대한 정보에 기초하여 사용자에게 적합한 광고를 제공할 수 있다.
도 2는 일실시예에 따라, 전자 장치 내에서 방송 프로그램의 광고가 교체되는 방법의 흐름도이다.
단계 S210에서, 전자 장치(10)는 전자 장치(10)의 디스플레이에서 표시되는 컨텐츠의 핑거프린트에 기초하여, 컨텐츠에 대응되는 제1 방송 채널을 인식할 수 있다. 구체적으로, 전자 장치(10)는 전자 장치(10)의 디스플레이에서 표시되는 컨텐츠로부터 추출된 핑거프린트에 기초하여, 컨텐츠에 대응되는 제1 방송 채널의 정보를 서버로부터 수신하고, 컨텐츠에 대응되는 제1 방송 채널을 인식할 수 있다. 여기서, "핑거프린트"는 영상 또는 비디오 프레임으로부터 추출된 고유한 식별자를 의미한다. "핑거프린트 기술"은 영상 또는 비디오 프레임 자체를 비교하는 대신에 영상 또는 비디오 프레임으로부터 추출된 고유한 식별자를 비교하여 영상 또는 비디오 프레임을 인식하는 기술이다. 컨텐츠의 핑거프린트를 추출하는 방법은 도 13내지 도 15에서 설명한다.
단계 S220에, 전자 장치(10)에서 제1 방송 채널이 인식되면, 전자 장치(10)는 제1 방송 채널에서 방송되는 기존 광고들 중에서 교체되어 방송될 기존 광고가 있는지를 확인할 수 있다. 즉, 전자 장치(10)는 제1 방송 채널의 스케줄에 교체될 기존 광고의 방송 스케줄이 포함되었는지를 확인할 수 있다.
단계 S230에서, 제1 방송 채널의 방송 스케줄에 교체될 기존 광고의 방송이 예정된 경우, 전자 장치(10)는 교체될 기존 광고의 시작 시점에 기초하여 교체할 광고를 서버(20)로부터 다운로드 할 수 있다. 전자 장치(10)는 교체될 기존 광고의 시작 시점 이전에 교체할 광고의 전부 또는 일부를 다운로드 할 수 있다.
단계 S240에서, 전자 장치(10)는 제1 방송 채널에서 교체될 기존 광고의 광고 시간에 교체할 광고를 재생할 수 있다. 여기서, 전자 장치(10)는 교체될 기존 광고가 출력되는 화면에 중첩하여 교체할 광고를 재생할 수 있다. 구체적으로, 전자 장치(10)는 제1 방송 채널의 방송이 출력되는 제1 레이어 위에 제2 레이어를 설정하고, 제2 레이어에 교체할 광고를 재생할 수 있다.
단계 S250에서, 제1 방송 채널의 방송 스케줄에 교체될 기존 광고의 방송이 예정되어 있지 않은 경우, 전자 장치(10)는 제1 방송 채널의 방송 스케줄에 따라 방송되는 기존 광고를 출력할 수 있다.
도 3은 일실시예에 따라, 전자 장치(10)에 표시되는 컨텐츠에 대응되는 방송 채널의 인식 방법의 흐름도이다.
단계 S310에서, 전자 장치(10)는 컨텐츠의 핑거프린트를 추출할 수 있다. 예를 들면, 전자 장치(10)는 컨텐츠의 영상을 복수의 영역으로 나누고, 복수의 영역 각각의 색상 값 또는 픽셀 값에 기초하여 컨텐츠의 핑거프린트를 추출할 수 있다.
단계 S320에서, 전자 장치(10)는 추출된 컨텐츠의 핑거프린트를 서버(20)로 전송할 수 있다.
단계 S330에서, 서버(20)는 방송 채널들 영상에 대한 각각의 핑거프린트를 획득할 수 있다. 이하, 방송 채널들 영상에 대한 각각의 핑거프린트는 방송 채널들에서 방송되는 영상 각각의 핑거프린트로 이해될 수 있다. 또한, 제1 방송 채널에서 방송되는 영상의 핑거프린트는 제1 방송 채널의 핑거프린트로 이해될 수 있다. 서버(20)는 전자 장치(10)에서 수신되는 방송 신호와 동일한 방송 신호를 방송국으로부터 전자 장치(10)보다 수초 정도 미리 수신할 수 있다. 서버(20)는 복수의 방송국으로부터 복수의 방송국 각각이 방송하는 방송 채널들에 대한 방송 정보를 수신할 수 있다. 서버(20)는 방송 채널들 영상에 대한 각각의 핑거프린트를 추출하여 저장할 수 있다. 또한, 서버(20)는 방송 채널들 영상에 대한 각각의 핑거프린트를 방송 프로그램 정보와 연동하고, 연동한 결과를 저장할 수 있다. 여기서, 방송 채널의 핑거프린트는 방송 채널의 스케줄에 포함된 방송 프로그램의 핑거프린트 및 방송 채널의 스케줄에 포함된 광고의 핑거프린트를 포함할 수 있다.
단계 S340에서, 서버(20)는 전자 장치(10)로부터 수신한 컨텐츠의 핑거프린트와 방송 채널들 영상에 대한 각각의 핑거프린트를 비교하여, 컨텐츠의 핑거프린트와 매칭되는 제1 방송 채널의 핑거프린트를 검출할 수 있다. 서버(20)는 매칭되는 핑거프린트의 제1 방송 채널을 컨텐츠의 방송 채널로 결정하고, 제1 방송 채널의 정보를 획득할 수 있다.
단계 S350에서, 서버(20)는 컨텐츠에 대응되는 제1 방송 채널의 정보를 전자 장치(10)로 전송할 수 있다.
단계 S360에서, 전자 장치(10)는 제1 방송 채널의 정보를 서버(20)로부터 수신하고, 전자 장치(10)에서 방송되는 컨텐츠의 방송 채널을 제1 방송 채널로 인식할 수 있다.
도 4는 일실시예에 따라, 전자 장치(10)에서 인식된 방송 채널이 고정되었는지를 확인하는 방법의 흐름도이다.
단계 S410에서, 전자 장치(10)에서 출력되는 컨텐츠에 대응되는 방송 채널이 제1 방송 채널로 인식되면, 제1 방송 채널이 전자 장치(10)에서 지속적으로 출력되는지를 확인하기 위해, 전자 장치(10)는 전자 장치(10)에서 출력되는 컨텐츠의 핑거프린트를 소정의 시간 간격으로 추출할 수 있다. 예를 들면, 전자 장치(10)는 전자 장치(10)의 디스플레이에 출력되는 컨텐츠의 핑거프린트를 2초 간격으로 추출할 수 있다.
단계 S420에서, 전자 장치(10)는 제1 방송 채널이 전자 장치(10)에서 지속적으로 출력되는지를 결정할 수 있다. 전자 장치(10)는 소정 시간 간격으로 추출된 컨텐츠의 핑거프린트로부터 획득된 방송 채널의 정보가 제1 방송 채널의 정보와 일치하는지 여부에 따라, 제1 방송 채널이 전자 장치(10)에서 지속적으로 출력되는지를 결정할 수 있다.
예를 들면, 2초 간격으로 추출된 컨텐츠의 핑거프린트로부터 획득된 방송 채널의 정보가 제1 방송 채널의 정보와 3회 이상 일치하면, 전자 장치(10)는 전자 장치(10)에서 출력되는 방송 채널이 제1 방송 채널로 고정되었다고 결정할 수 있다.
한편, 제1 방송 채널이 전자 장치(10)에서 지속적으로 출력되지 않는 것으로 결정되면, 전자 장치(10)는 컨텐츠에 대응되는 방송 채널을 인식하고, 인식된 방송 채널이 고정되었는지를 확인하는 절차를 반복 수행할 수 있다.
단계 S430에서, 제1 방송 채널이 전자 장치(10)에서 지속적으로 출력된다고 결정되면, 전자 장치(10)는 제1 방송 채널의 방송 핑거프린트의 정보를 서버(20)로 요청할 수 있다.
도 5는 일실시예에 따라, 전자 장치(10)에서 광고 교체 이벤트 알림을 수신하는 방법의 흐름도이다.
단계 S510에서, 전자 장치(10)는 전자 장치(10)에서 출력되는 컨테츠에 대응되는 제1 방송 채널이 고정되었는지를 확인할 수 있다. 제1 방송 채널이 고정되었는지에 대한 과정은 도 4에서 설명한 바와 동일하므로 중복되는 설명을 생략한다.
단계 S520에서, 서버(20)는 교체될 기존 광고의 정보 및 교체할 광고의 정보를 획득할 수 있다. 예를 들면, 서버(20)는 교체될 기존 광고의 광고 핑거프린트 정보 및 교체할 광고의 광고 핑거프린트 정보를 획득할 수 있다.
서버(20)는 외부 장치로부터 교체될 기존 광고의 정보 및 교체할 광고의 정보를 수신할 수 있다. 또한, 서버(20)는 서버(20) 자체적으로, 교체될 기존 광고 및 교체할 광고를 결정하고, 각 광고의 정보를 획득할 수 있다. 구체적으로, 서버(20)는 전자 장치(10)로부터 전자 장치(10)의 프로파일 정보를 수신하고, 전자 장치(10)의 프로파일 정보에 기초하여, 교체될 기존 광고 및 교체할 광고를 결정할 수 있다. 여기서, 전자 장치(10)의 프로파일 정보는, 전자 장치(10)의 사용자의 성별, 나이, 특기, 취미, 사용자가 즐겨보는 채널 등을 포함할 수 있고, 이에 한정되지 않는다.
예를 들면, 전자 장치(10)의 사용자가 즐겨보는 채널이 골프 채널인 경우, 서버(20)는 제1 방송 채널에서 방송될 화장품 광고를 골프 용품 광고로 교체할 것을 결정하고, 교체될 화장품 광고의 정보 및 교체할 골프 용품 광고의 정보를 획득할 수 있다.
단계 S530에서, 서버(20)는 제1 방송 채널의 광고 핑거프린트들 중 교체될 기존 광고의 광고 핑거프린트와 일치되는 광고 핑거프린트가 있는지를 결정할 수 있다.
단계 S540에서, 교체될 기존 광고의 광고 핑거프린트와 일치되는 광고 핑거프린트가 제1 방송 채널의 광고 핑거프린들 중에 존재하면, 서버(20)는 광고 교체 이벤트가 있음을 알리는 알림을 전자 장치(10)로 전송할 수 있다.
반면에, 교체될 기존 광고의 광고 핑거프린트와 일치되는 광고 핑거프린트가 제1 방송 채널의 광고 핑거프린들 중에 존재하지 않으면, 서버(20)는 광고 교체 이벤트가 없음을 알리는 알림을 전자 장치(10)로 전송할 수 있다.
단계 S550에서, 서버(20)는 교체될 기존 광고의 시작 시점을 포함하는 광고 교체 이벤트를 제1 방송 채널의 방송 핑거프린트에 설정할 수 있다.
단계 S560에서, 전자 장치(10)는 광고 교체 이벤트가 설정된 제1 방송 채널의 방송 핑거프린트를 서버(20)로부터 수신할 수 있다.
도 6은 일실시예에 따라, 전자 장치(10)에 표시되는 컨텐츠의 재생 위치를 실시간으로 확인하여 교체할 광고를 다운로드 하는 방법의 흐름도이다.
단계 S610에서, 전자 장치(10)는 제1 방송 채널의 방송 핑거프린트와 실시간으로 전자 장치(10)의 디스플레이에서 표시되는 컨텐츠의 방송 핑거프린트를 비교하여, 제1 방송 채널의 현재 재생 위치를 결정할 수 있다.
제1 방송 채널의 현재 재생 위치를 정확하게 파악함으로써, 전자 장치(10)는 현재 시점에 적합한 광고 교체 이벤트를 획득할 수 있다.
단계 S620에서, 전자 장치(10)는 결정된 현재 재생 위치를 기준으로 교체될 기존 광고의 시작 시점 이전에 교체할 광고의 전부 또는 일부를 다운로드 할 수 있다.
전자 장치(10)는 전자 장치(10)의 상태를 고려하여, 교체할 광고의 전부 또는 일부를 다운로드 할 수 있다. 여기서, 전자 장치(10)의 상태는 전자 장치(10)가 저장할 수 있는 저장 공간, 전자 장치(10)와 서버(20) 간에 연결된 통신 상태 등을 포함할 수 있고, 이에 한정되지 않는다.
예를 들면, 전자 장치(10) 내 저장 용량이 충분하지 않은 경우, 전자 장치(10)는 교체할 광고의 일부를 교체할 광고의 시작 이전에 다운로드 하고, 나머지를 교체할 광고의 재생 중에 스트리밍으로 다운로드하여 재생할 수 있다.
도 7은 일실시예에 따라, 전자 장치(10)에서 교체할 광고를 다운로드 하는 시기를 설명하기 위한 도면이다.
전자 장치(10)는 제1 방송 채널의 방송 스케줄(700)을 포함하는 정보를 획득할 수 있다. 도 7에 도시된 바와 같이, 제1 방송 채널의 방송 스케줄(700)은 OOO 9시 뉴스(710), 광고 A(720), OOO 스포츠 뉴스(730), 광고B(740), XXX 드라마(750)의 방송 편성 시간표를 포함할 수 있다.
전자 장치(10)는 제1 방송 채널의 방송 핑거프린트와 실시간으로 전자 장치(10)에서 표시되는 컨텐츠의 핑거프린트를 비교하여, 제1 방송 채널의 현재 재생 위치(761)를 결정할 수 있다.
전자 장치(10)는 광고 A(720)는 광고 C(762)로 교체되고, 광고 B(740)는 광고 D(764)로 교체되는 광고 교체 이벤트 알림을 서버(20)로부터 수신할 수 있다. 광고 A(720)는 광고 C(762)로 교체되고, 광고 B(740)는 광고 D(764)로 교체되는 광고 교체 이벤트는 전자 장치(10)의 프로파일 정보에 기초하여 결정될 수 있다.
도 7에 도시된 바와 같이, 광고 C(762)의 다운로드 시기(763)는 현재 재생 위치(761)에 대응되는 시점부터 교체될 광고 A(720)의 시작 시점까지 일 수 있다.
또한, 광고 D(764)의 다운로드 시기(765)는 현재 재생 위치(761)에 대응되는 시점부터 교체될 광고 B(740)의 시작 시점까지 일 수 있다.
한편, 전자 장치(10)는 현재 재생 위치(761)에 대응되는 시점부터 교체할 광고 D(764)를 다운로드 할 수 있으나, 광고 C(762) 또는 OOO 스포츠 뉴스(730)의 방송 도중에 전자 장치(10)가 오프되거나, 전자 장치(10)의 디스플레이에서 출력되는 방송 채널이 변경될 수 있다. 이 경우, 전자 장치(10)는 광고 B(740)의 시작 시점 T 초 전에 교체할 광고 D(764)를 다운로드 할 수 있다. 여기서, T초는 교체할 광고 D(764)의 용량 또는 전자 장치(10)가 교체할 광고 D(764)를 다운로드 하는 데에 걸리는 시간을 고려하여 결정될 수 있다.
도 8은 일실시예에 따라, 전자 장치(10)에서 교체할 광고를 재생하는 레이어를 설명하기 위한 도면이다.
전자 장치(10)는 제1 방송 채널의 방송 신호를 방송국 또는 셋톱 박스로부터 수신하여 제1 방송 채널의 방송을 출력할 수 있다. 전자 장치(10)는 방송 채널의 변경, 볼륨 조절, 방송 채널의 방송 편성 시간표 표시, 전자 장치(10)의 환경 설정 등 전자 장치(10)의 제어를 위한 실행 화면을 제1 방송 채널의 방송이 출력되는 화면에 중첩하여 표시할 수 있다. 즉, 전자 장치(10)는 전자 장치(10)의 제어를 위한 실행 화면을 OSD (On Screen Display) 로 설정할 수 있다.
예를 들면, 전자 장치(10)의 디스플레이에 표시되는 화면을 구성하는 레이어들은, 도 8의 810에 도시된 바와 같이 구성될 수 있다. 구체적으로, 레이어들은 제1 방송 채널의 방송이 출력되는 제1 레이어(811), 교체할 광고의 영상을 재생하는 제2 레이어(812) 및 전자 장치(10)의 제어를 위한 실행 화면을 표시하는 제3 레이어(813)로 구성될 수 있다. 제1 레이어(811)에서 교체될 기존 방송이 출력되는 경우, 전자 장치(10)는 제2 레이어(812) 상에 교체할 광고를 재생할 수 있다. 또한, 제2 레이어(812) 상에 교체할 광고가 재생되는 동안에 전자 장치(10)의 제어를 위한 명령이 수신되면, 전자 장치(10)는 제3 레이어(813) 상에 전자 장치(10)의 제어를 위한 실행 화면을 표시할 수 있다. 전자 장치(10)의 제어를 위한 실행 화면을 상위 레이어에 표시함으로써, 교체할 광고가 재생되는 동안에도 사용자는 전자 장치(10)를 효율적으로 제어할 수 있다.
다른 예를 들면, 전자 장치(10)의 디스플레이에 표시되는 화면을 구성하는 레이어들은, 도 8의 820에 도시된 바와 같이 구성될 수 있다. 구체적으로, 레이어들은 제1 방송 채널의 방송이 출력되는 제1 레이어(811), 교체할 광고의 영상 및 전자 장치(10)의 제어를 위한 실행 화면을 출력하는 제2 레이어(814)로 구성될 수 있다.
도 9는 일실시예에 따라, 전자 장치(10)에서 교체할 광고를 재생하고, 전자 장치(10)의 제어를 위한 실행 화면을 표시하는 방법의 흐름도이다.
단계 910에서, 전자 장치(10)는 전자 장치(10)에서 표시되는 컨텐츠에 대응되는 제1 방송 채널의 현재 재생 위치를 결정할 수 있다. 전자 장치(10)는 제1 방송 채널의 방송 핑거프린트와 실시간으로 전자 장치(10)의 디스플레이에 표시되는 컨텐츠의 핑거프린트를 비교하여, 제1 방송 채널의 현재 재생 위치를 결정할 수 있다.
단계 S920에서, 전자 장치(10)는 교체될 기존 광고의 시작 시점이 T초 전인지를 확인한다. 여기서, T초는 교체할 광고의 용량 또는 전자 장치(10)가 교체할 광고 및 교체될 광고를 다운로드 하는 데에 걸리는 시간을 고려하여 결정될 수 있다. 교체될 기존 광고의 시작 시점이 T초 전이면, 전자 장치(10)는 단계 S930에 따라 동작을 수행한다. 교체될 기존 광고의 시작 시점이 T+1초 전이면, 전자 장치(10)는 단계 S910에 따라 동작을 수행한다.
단계 S930에서, 전자 장치(10)는 교체될 기존 광고 및 교체할 광고를 수신할 수 있다.
단계 S940에서, 전자 장치(10)는 교체될 기존 광고의 시작 시점이 되었는지 제1 방송 채널의 방송 스케줄을 모니터링 수 있다. 교체될 기존 광고의 시작 시점 전이면, 전자 장치(10)는 단계 S910에 따라 동작을 수행한다. 교체될 기존 광고의 시작 시점이면, 전자 장치(10)는 단계 S950에 따라 동작을 수행한다.
단계 S950에서, 전자 장치(10)는 교체될 기존 광고가 재생되는 제1 레이어 위에 별도로 설정된 제2 레이어에 교체할 광고를 재생할 수 있다. 전자 장치(10)의 디스플레이에서 표시되는 실제 화면은 제2 레이어에서 재생되는 교체할 광고이다. 이 경우, 전자 장치(10)는 사용자로부터 전자 장치(10)를 제어하는 명령을 수신할 수 있다. 전자 장치(10)는 교체할 광고가 재생되는 제2 레이어에 전자 장치(10)의 제어를 위한 실행 화면을 중첩하여 표시할 수 있다.
도 10은 일실시예에 따라, 전자 장치(10)에서 교체할 광고 위에 전자 장치(10)의 제어를 위한 실행 화면을 표시하는 방법의 흐름도이다.
단계 S1010에서, 제1 방송 채널에서 교체될 기존 광고의 방송이 시작되면, 전자 장치(10)는 제1 방송 채널의 영상의 음소거를 하고, 제1 방송 채널의 교체될 기존 광고의 영상 위에 교체할 광고를 중첩하여 표시할 수 있다. 구체적으로는, 전자 장치(10)는 제1 방송 채널의 방송이 음소거 되도록 제어하고, 제1 방송 채널의 방송이 출력되는 제1 레이어 위에 별도로 설정된 제2 레이어에 교체할 광고를 재생할 수 있다. 전자 장치(10)의 사용자는 교체할 광고를 시청할 수 있다.
단계 S1020에서, 전자 장치(10)는 음소거된 제1 방송 채널의 영상과 다운로드된 기존 광고의 영상이 동일한지를 판단할 수 있다. 전자 장치(10)는 제1 방송 채널의 방송 핑거프린트와 기존 광고의 광고 핑거프린트를 비교함으로써, 제1 방송 채널의 영상과 다운로드된 기존 광고의 영상이 동일한지를 결정할 수 있다. 제1 방송 채널의 영상과 다운로드된 기존 광고의 영상이 동일하지 않으면, 전자 장치(10)는 단계 S910에 따라 동작을 수행한다.
단계 S1030에서, 전자 장치(10)는 전자 장치(10)의 제어를 위한 실행 화면을 포함하는 제1 방송 채널의 영상과 다운로드된 기존 광고의 영상을 이용하여 차영상을 획득할 수 있다.
구체적으로, 교체될 기존 광고의 광고 시간에는 제1 방송 채널의 영상은 교체될 기존 광고 영상이다. 사용자로부터 전자 장치(10)의 제어를 위한 실행 화면이 호출되면, 전자 장치(10)는 제1 레이어 상에 교체될 기존 광고의 영상과 전자 장치(10)의 제어를 위한 실행 화면을 표시할 수 있다. 전자 장치(10)는 전자 장치(10)의 제어를 위한 실행 화면을 포함하는 교체될 기존 광고의 영상과 다운로드된 기존 광고만의 영상을 이용하여 영상들 간의 차영상을 계산할 수 있다. 계산된 차영상은 전자 장치(10)의 제어를 위한 실행 화면만을 포함할 수 있다.
단계 S1040에서, 전자 장치(10)는 차영상의 절대값이 임계값 이상인지를 결정하고, 결정 결과에 따라 전자 장치(10)의 제어를 위한 실행 화면이 호출되었는지를 결정할 수 있다. 예를 들면, 차영상의 절대값이 임계값 이상이면, 전자 장치(10)는 사용자로부터 전자 장치(10)의 제어 명령을 수신하여 제어 명령을 위한 실행 화면이 호출된 것으로 결정할 수 있다. 차영상의 절대값이 임계값 미만이면, 전자 장치(10)는 단계 S1030에 따라 동작을 수행한다.
단계 S1050에서, 차영상의 절대값이 임계값 이상이면, 전자 장치(10)는 다운로드된 교체할 광고 위에 차영상을 중첩하여 표시할 수 있다. 구체적으로, 전자 장치(10)는 교체할 광고가 재생되는 제2 레이어 위에 제3 레이어를 설정하고, 제3 레이어에 전자 장치(10)의 제어를 위한 실행 화면을 표시할 수 있다. 또한, 전자 장치(10)는 교체할 광고가 재생되는 제2 레이어 상에 전자 장치(10)의 제어를 위한 실행 화면을 중첩하여 표시할 수 있다.
교체할 광고가 전자 장치(10)에서 재생되는 동안, 사용자의 전자 장치(10)의 제어 명령이 수신된 경우에도, 전자 장치(10)는 전자 장치(10)의 제어를 위한 실행 화면을 교체할 광고 위에 중첩하여 표시함으로써, 사용자는 전자 장치(10)를 자연스럽게 제어할 수 있다.
도 11은 일실시예에 따라, 사용자의 제어 명령에 따라, 교체할 광고 위에 전자 장치(10)의 제어를 위한 실행 화면이 표시된 예시를 설명하기 위한 도면이다.
도 11의 111을 참고하면, 전자 장치(10)는 제1 방송 채널에서 방송되는 기존의 화장품 광고를 헬스 용품 광고로 교체하여 표시할 수 있다. 앞서 설명한 바와 같이, 전자 장치(10)는 전자 장치(10)의 프로파일 정보에 기초하여, 제1 방송 채널에서 화장품 광고의 영상이 방송되는 동안 헬스 용품 광고의 영상을 재생할 수 있다. 전자 장치(10)는 헬스 용품 광고의 영상을 제1 방송 채널에서 방송되는 화장품 광고의 영상 위에 중첩하여 재생할 수 있다. 즉, 제1 방송 채널의 화장품 광고의 광고 시간 동안에, 전자 장치(10)의 사용자는 헬스 용품 광고의 영상을 볼 수 있고, 다른 전자 장치(10)의 사용자는 화장품 광고의 영상을 볼 수 있다.
헬스 용품 광고의 영상이 전자 장치(10)에서 재생되는 동안, 전자 장치(10)는 사용자의 제어 명령을 수신할 수 있다. 전자 장치(10)의 디스플레이 상에 헬스 용품 광고의 영상이 표시되기 때문에, 전자 장치(10)의 제어를 위한 실행 화면이 직접적으로 디스플레이 상에 표시되지 않는다. 구체적으로, 제1 방송 채널에서 방송되는 화장품 광고의 영상 및 전자 장치(10)의 제어를 위한 실행 화면은 제1 레이어에서 표시되고, 헬스 용품의 광고 영상은 제2 레이어에서 표시된다. 전자 장치(10)는 제1 레이어에 표시된 전자 장치(10)의 제어를 위한 실행 화면을 포함하는 화장품 광고의 영상과 미리 다운로드 된 화장품 광고만의 영상의 차영상을 획득할 수 있다. 전자 장치(10)는 전자 장치(10)의 제어를 위한 실행 화면을 나타내는 차영상을 헬스 용품 광고 영상 위에 중첩하여 표시할 수 있다.
도 11의 112는, 사용자가 전자 장치(10)의 볼륨 조절을 수행할 때, 전자 장치(10)의 디스플레이 상에 표시되는 화면을 도시한다. 전자 장치(10)의 방송 채널이 제1 방송 채널로 고정된 상태에서 사용자가 제1 방송 채널에서 방송되는 화장품 광고 시간에 전자 장치(10)의 리모콘을 이용하여 볼륨의 크기를 조절하더라도, 전자 장치(10)는 헬스 용품 광고의 영상 위에 볼륨 크기를 제어하는 화면을 중첩하여 표시할 수 있다.
도 11의 113은 사용자가 방송 편성 시간표를 호출할 때, 전자 장치(10)의 디스플레이 상에 표시되는 화면을 도시한다. 전자 장치(10)의 방송 채널이 제1 방송 채널로 고정된 상태에서 사용자가 제1 방송 채널에서 방송되는 화장품 광고 시간에 전자 장치(10)의 리모콘을 이용하여 방송 편성 시간표를 호출하더라도, 전자 장치(10)는 헬스 용품 광고의 영상 위에 방송 편성 시간표를 중첩하여 표시할 수 있다.
도 12는 일실시예에 따라, 전자 장치(10)에서 방송 채널이 변경된 경우, 전자 장치(10)의 동작을 설명하기 위한 도면이다.
도 12를 참고하면, 전자 장치(10)의 방송 채널이 제1 방송 채널로 고정된 경우, 전자 장치(10)는 제1 방송 채널의 방송 스케줄(122)에 따라, 방송 프로그램을 재생할 수 있다. 제1 방송 채널의 방송 스케줄(122)은, OOO 9시 뉴스, 광고 A, OOO 스포츠 뉴스, 광고B, XXX 드라마의 방송 편성 시간표를 포함할 수 있다. 전자 장치(10)는 전자 장치(10)의 프로파일 정보에 기초하여, 광고 A의 방송 시간에 광고 C의 영상을 재생할 수 있고, 광고 B 의 방송 시간에 광고 D의 영상을 재생할 수 있다. 도 12의 121에 도시된 바와 같이, 전자 장치(10)는 제1 방송 채널의 광고 A의 방송 시간에 광고 C의 영상을 재생할 수 있다.
광고 C의 영상이 재생되는 동안, 사용자가 전자 장치(10)의 방송 채널을 제1 방송 채널에서 제2 방송 채널로 변경할 수 있다. 사용자의 제어 명령에 따라, 전자 장치(10)는 제1 방송 채널에서 제2 방송 채널로 변경할 수 있다. 이 경우, 도 12의 123에 도시된 바와 같이, 전자 장치(10)는 광고 C의 영상의 재생을 중단하고, 제2 방송 채널에서 방송되는 광고 E의 영상을 재생할 수 있다. 전자 장치(10)는 제2 방송 채널의 방송 스케줄(124)에 따라, 방송 프로그램을 재생할 수 있다. 제2 방송 채널의 방송 스케줄(124)은 XXX 골프 중계, 광고 B, OOO 드라마, 광고 F, XXX 예능의 방송 시간표를 포함할 수 있다. 또한, 전자 장치(10)는 방송 채널이 제2 방송 채널로 고정된 경우, 제2 방송 채널의 광고 F의 방송 시간에 교체 예정이었던 광고 D의 영상을 재생할 수 있다.
도 13은 일실시예에 따라, 영상 또는 비디오 프레임의 핑거프린트를 이용하여 영상 또는 비디오 프레임을 인식하는 방법을 설명하기 위한 도면이다.
도 13에 도시된 바와 같이, 서버(20)는 영상 또는 비디오 프레임으로부터 핑거프린트를 추출하고, 추출된 핑거프린트를 이용하여 영상 또는 비디오 프레임을 인식할 수 있다. 도 13에서 영상 또는 비디오 프레임의 핑거프린트를 이용하여 영상 또는 비디오 프레임을 인식하는 서버(20)를 예시로 설명하였지만, 전자 장치(10)에서도 동일하게 영상 또는 비디오 프레임으로부터 핑거프린트를 추출하고, 추출된 핑거프린트를 이용하여 영상 또는 비디오 프레임을 인식할 수 있다. 도 13에서 설명할 서버(20)의 핑거프린트를 추출하고, 인식하는 동작은 전자 장치(10)에서도 동일하게 적용될 수 있음은 통상의 기술자 입장에서 이해될 수 있다.
도 13에 도시된 바와 같이, 서버(20)는 프로세서, 스토리지, 통신 인터페이스를 포함할 수 있다. 그러나, 도 13에 도시된 구성 요소 모두가 서버(20)의 필수 구성 요소인 것은 아니다. 도 13에 도시된 구성 요소보다 많은 구성 요소에 의해 서버(20)가 구현될 수 있고, 도 13에 도시된 구성 요소보다 적은 구성 요소에 의해 서버(20)가 구현될 수도 있다.
서버(20)는 영상 또는 비디오 프레임에 특정한 영상 처리 알고리즘을 적용하여 영상 또는 비디오 프레임의 크기가 작아지고 여러 가지 신호 처리 변화가 있더라도, 영상 또는 비디오 프레임의 핑거프린트를 이용하여 영상 또는 비디오 프레임을 고유하게 인식할 수 있다.
"핑거프린트"는 영상 또는 비디오 프레임으로부터 영상 또는 비디오 프레임을 고유하게 인식할 수 있는 식별자를 의미한다. 또한, "핑거프린트"는 디지털 핑거프린트, 디지털 시그네쳐(signature), 해쉬(hash)로도 지칭될 수 있다. 또한, "핑거프린트 기술"은 영상 또는 비디오 프레임으로부터 고유한 식별자를 추출하여, 식별자 비교를 통해 영상 또는 비디오 프레임을 인식하는 기술이다.
프로세서는 대상 인식에 필요한 참조 영상 또는 참조 비디오로부터 핑거프린트를 추출하고, 추출된 핑거프린트를 핑거프린트 DB에 저장할 수 있다. 프로세서는 인식 대상인 영상 또는 비디오를 획득할 수 있다. 프로세서는 영상 또는 비디오 프레임을 캡쳐하고, 캡쳐된 부분에 기초하여 핑거프린트를 추출할 수 있다. 프로세서는 추출된 핑거프린트와 핑거프린트 DB에 저장된 참조 핑거프린트를 비교하여, 추출된 핑거프린트와 매칭되는 참조 핑거프린트를 검출할 수 있다. 프로세서는 매칭되는 참조 핑거프린트에 기초하여 영상 또는 비디오를 인식할 수 있다.
프로세서는 영상 또는 비디오 프레임이 획득되면, 불필요한 부분을 제거하고, 영상 또는 비디오 프레임의 중심을 기준으로 일정 영역을 선택하여 핑거프린트를 추출할 수 있다. 여기서, 일정 영역은 전체 영역일 수도 있다. 또한, 프로세서는 영상 또는 비디오 프레임에서 로고 및 텍스트 영역을 검출하여, 검출된 영역에 기초하여 핑거프린트를 추출할 수 있다.
프로세서는 칼라 특징을 이용하여 영상 또는 비디오 프레임의 핑거프린트를 추출할 수 있다. 구체적으로, 프로세서는 영상 또는 비디오 프레임을 MxN 블록으로 나누고, 각각의 블록(
Figure 112017070299414-pat00001
(i=0,1,…, MxN-1)) 대해서 각 블록의 Y, Cb, Cr 컴포넌트의 평균 색상을 수학식 1에 따라 계산할 수 있다.
Figure 112017070299414-pat00002
프로세서는 계산된 모든 블록
Figure 112017070299414-pat00003
값들을 연결하여 3xMxN 차원의 특징 벡터를 수학식 2와 같이, 생성할 수 있다.
Figure 112017070299414-pat00004
프로세서는 생성된 3xMxN 차원의 특징 벡터를 이용하여 영상 또는 비디오 프레임의 핑거프린트를 추출할 수 있다.
또한, 프로세서는 인코딩된 그레이 썸네일(EGT: Encoded Gray Thumbnail) 특징을 이용하여 영상 또는 비디오 프레임의 핑거프린트를 추출할 수 있다. 구체적으로, 프로세서는 영상 또는 비디오 프레임을 PxQ 블록으로 나누고, 각각의 블록
Figure 112017070299414-pat00005
에 대해 Y값의 평균을 계산할 수 있다. 프로세서는 Y값의 평균값을 b-bit로 양자화 하여 특징을 수학식 3과 같이, 추출할 수 있다. 이때 프로세서는 b개의 서로 다른 임계값(Threshold)을 이용하여 각 비트를 0과 1로 양자화 한다.
Figure 112017070299414-pat00006
또한, 프로세서는 로컬 바이너리 패턴 히스토그램(LBP (Local Binary Pattern) Histogram) 특징을 이용하여 영상 또는 비디오 프레임의 핑거프린트를 추출할 수 있다. LBP (Local Binary Pattern)는 영상의 특정 영역의 중심을 기준으로 주변 픽셀과의 차이를 0또는 1로 인코딩 하는 방법으로 수학식 4와 같이 정의될 수 있다.
Figure 112017070299414-pat00007
여기서 Pc는 영역의 중심 값이고, Pk (k=0,1,…,7)는 주변 값이다. u(x)는 x가 0보다 크거나 같은 경우 1이되고, 아니면 0이 되는 단위 계단 함수(Heaviside step function)이다.
수학식 4는 블록의 크기가 3x3인 경우의 예제이며 블록의 크기는 필요에 따라서 더 크게 설정될 수 있다. 이 경우, 프로세서는 중심점과 최외곽점의 차이값을 이용하여 LBP를 계산할 수 있다. 프로세서는 LBP에 따라 수학식 5와 같이, LBP 히스토그램을 획득할 수 있다.
Figure 112017070299414-pat00008
또한, 프로세서는
Figure 112017070299414-pat00009
의 조합에 의해 영상 또는 비디오 프레임의 핑거프린트를 추출할 수 있다.
스토리지는 영상 또는 비디오 DB 및 핑거프린트 DB를 포함할 수 있다. 영상 또는 비디오 DB는 서버(20)가 전자 장치(10)로부터 수신한 영상 또는 비디오를 저장할 수 있고, 서버(20) 자체에서 획득된 영상 또는 비디오를 저장할 수 있다. 핑거프린트 DB는 대상 인식에 필요한 참조 영상 또는 참조 비디오로부터 추출된 핑거프린트를 저장할 수 있다.
통신 인터페이스는 서버(20)가 외부 장치와 데이터를 송신 및/또는 수신할 수 있도록 한다. 예를 들면, 통신 인터페이스는 전자 장치(10)로부터 인식 대상인 영상 또는 비디오 프레임을 수신할 수 있다. 또한, 통신 인터페이스는 전자 장치(10)로부터 인식 대상인 영상 또는 비디오 프레임의 핑거프린트를 수신할 수 있다. 또한, 통신 인터페이스는 영상 또는 비디오 프레임의 핑거프린트와 매칭되는 참조 핑거프린트의 정보를 전자 장치(10)로 전송할 수 있다.
도 14는 일실시예에 따라, 컨텐츠의 영상 내의 복수의 영역을 기반으로 핑거프린트를 추출하고, 식별하는 방법의 흐름도이다.
단계 S141에서, 서버(20)는 컨텐츠 영상 내에서 복수의 영역을 설정할 수 있다. 예를 들면, 서버(20)는 복수의 영역이 중첩되는 영역을 포함하도록 설정할 수 있다. 또한, 서버(20)는 복수의 영역이 서로 중첩되지 않도록 설정할 수 있다.
단계 S142에서, 서버(20)는 복수의 영역 각각에 대하여 인덱스를 설정하고, 복수의 영역 각각에 대하여 핑거프린트를 추출할 수 있다. 복수의 영역 각각에 대한 핑거프린트는 도 13에서 설명한 바와 같이,
Figure 112017070299414-pat00010
의 조합에 의해 생성될 수 있고, 다른 방법에 의해 생성될 수도 있다.
단계 S143에서, 서버(20)는 복수의 영역에 대한 후보 영역을 결정할 수 있다. 예를 들면 서버(20)는 이전에 매칭된 결과를 이용하여 복수의 영역에 대한 후보 영역을 결정할 수 있다. 이전에 ROI 0번 영역의 핑거프린트가 참조 핑거프린트와 매칭되었으면, 서버(20)는 ROI 0번 영역의 핑거프린트를 우선적으로 참조 핑거프린트와 매칭이 되는지를 확인할 수 있도록 설정할 수 있다.
단계 S144에서, 서버(20)는 후보 영역에 기초하여, 후보 영역의 핑거프린트와 참조 핑거프린트 간에 매칭이 되는지를 확인할 수 있다. 구체적으로, 서버(20)는 후보 영역의 우선 순위에 따라, 후보 영역의 핑거프린트와 매칭되는 참조 핑거프린트가 있는지를 검출하여 컨텐츠를 식별할 수 있다.
도 15는 일실시예에 따라, 컨텐츠의 영상 내의 복수의 영역을 기반으로 핑거프린트를 추출하고, 식별하는 방법을 설명하기 위한 도면이다.
서버(20)는, 컨텐츠의 영상의 다양한 잘림 왜곡을 최소화하기 위해, 도 15의 151에 도시된 바와 같이, 컨텐츠 영상 내에서 복수의 영역이 중첩되는 영역을 포함하도록 설정할 수 있다.
서버(20)는, 영상 또는 비디오 프레임의 칼라 특징, 인코딩된 그레이 썸네일(EGT: Encoded Gray Thumbnail) 특징, 로컬 바이너리 패턴 히스토그램(LBP (Local Binary Pattern) Histogram) 특징 중 적어도 하나의 특징을 이용하여 핑거프린트를 추출하기 위해 도 15의 152에 도시된 바와 같이, 복수의 영역이 서로 중첩되지 않도록 설정할 수 있다.
도 16 및 도 17은 일실시예에 따른 전자 장치의 블록도이다.
도 16에 도시한 바와 같이, 일부 실시예에 따른 전자 장치(10)는, 프로세서(1300), 디스플레이(1210), 통신 인터페이스(1500) 및 메모리(1700)를 포함할 수 있다. 그러나, 도 16에 도시된 구성 요소 모두가 전자 장치(10)의 필수 구성 요소인 것은 아니다. 도 16에 도시된 구성 요소보다 많은 구성 요소에 의해 전자 장치(10)가 구현될 수 있고, 도 16에 도시된 구성 요소보다 적은 구성 요소에 의해 전자 장치(10)가 구현될 수도 있다.
예를 들어, 도 17에 도시된 바와 같이, 일부 실시예에 따른 전자 장치(10)는 프로세서(1300), 디스플레이(1210), 통신 인터페이스(1500) 및 메모리(1700) 이외에 사용자 입력부(1100), 출력부(1200), 센싱부(1400) 및 A/V 입력부(1600)를 더 포함할 수 있다.
사용자 입력부(1100)는, 사용자가 전자 장치(10)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(1100)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
사용자 입력부(1100)는, 사용자의 음성 입력에 대한 답변 메시지를 요청하고 답변 메시지에 관련된 동작을 실행하기 위한 사용자 입력을 수신할 수 있다.
출력부(1200)는, 오디오 신호 또는 비디오 신호 또는 진동 신호를 출력할 수 있으며, 출력부(1200)는 디스플레이(1210), 스피커(1220), 및 진동 모터(1230)를 포함할 수 있다.
디스플레이(1210)는 전자 장치(10)에서 처리되는 정보를 표시 출력한다. 예를 들어, 디스플레이(1210)는, 방송국 또는 셋탑 박스로부터 수신된 방송 프로그램을 출력할 수 있다. 또한, 전자 장치(10)의 사용자가 리모콘을 이용하여 전자 장치(10)를 제어하기 위한 제어 명령을 입력하면, 디스플레이(1210)는 제어 명령에 대응되는 실행 화면을 표시할 수 있다.
스피커(1220)는 통신 인터페이스(1500)로부터 수신되거나 메모리(1700)에 저장된 오디오 데이터를 출력한다. 또한, 스피커(1220)는 전자 장치(10)에서 수행되는 기능(예를 들어, 호신호 수신음, 메시지 수신음, 알림음)과 관련된 음향 신호를 출력한다. 스피커(1220)는 방송국 또는 셋탑 박스로부터 수신된 방송 프로그램을 디스플레이(1210)를 통해 출력할 때, 방송 프로그램의 음향 신호를 출력할 수 있다.
프로세서(1300)는, 통상적으로 전자 장치(10)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(1300)는, 메모리(1700)에 저장된 하나 이상의 인스트럭션 또는 프로그램들을 실행함으로써, 사용자 입력부(1100), 출력부(1200), 센싱부(1400), 통신 인터페이스(1500), A/V 입력부(1600) 등을 전반적으로 제어할 수 있다. 또한, 프로세서(1300)는 메모리(1700)에 저장된 하나 이상의 인스트럭션 또는 프로그램들을 실행함으로써, 도 1 내지 도 15에 기재된 전자 장치(10)의 기능을 수행할 수 있다.
프로세서(1300)는 디스플레이에 표시되는 컨텐츠의 핑거프린트를 추출할 수 있다. 프로세서(1300)는 컨텐츠의 핑거프린트에 기초하여, 컨텐츠에 대응되는 제1 방송 채널을 인식할 수 있다. 구체적으로, 프로세서(1300)는 추출된 컨텐츠의 핑거프린트를 서버로 전송하고, 컨텐츠에 대응되는 제1 방송 채널의 정보를 서버로부터 수신할 수 있다. 여기서, 제1 방송 채널은 컨텐츠의 핑거프린트와 방송 채널들 영상에 대한 각각의 핑거프린트의 비교 결과에 기초하여 결정될 수 있다.
프로세서(1300)는 컨텐츠의 핑거프린트를 소정의 시간 간격으로 추출하고, 소정의 시간 간격으로 추출된 핑거프린트에 기초하여, 제1 방송 채널이 디스플레이에서 지속적으로 출력되는지를 결정할 수 있다. 예를 들면, 프로세서(1300)는 컨텐츠의 핑거프린트를 3초 간격으로 5번 추출하고, 3초 간격으로 5번 추출된 핑거프린트들과 매칭되는 방송 채널의 핑거프린트가 있는지를 확인할 수 있다. 3초 간격으로 5번 추출된 핑거프린트들이 매칭되는 방송 채널의 핑거프린트가 서로 동일하다면, 프로세서(1300)는 컨텐츠에 대응되는 방송 채널이 지속적으로 출력되는 것으로 결정할 수 있다.
제1 방송 채널이 디스플레이에서 지속적으로 출력되는 것으로 결정되면, 프로세서(1300)는 제1 방송 채널의 방송 핑거프린트의 정보를 서버로 요청할 수 있다.
프로세서(1300)는 제1 방송 채널에서 교체될 기존 광고의 방송 예정을 알리는 알림을 서버로부터 수신할 수 있다. 교체될 기존 방송의 방송 예정은, 제1 방송 채널의 광고 핑거프린트와 교체될 기존 광고의 광고 핑거프린트의 비교에 따라 결정될 수 있다.
프로세서(1300)는 교체될 기존 광고의 시작 시점을 포함하는 광고 교체 이벤트가 설정된 제1 방송 채널의 방송 핑거프린트를 서버로부터 수신할 수 있다.
프로세서(1300)는 제1 방송 채널의 방송 스케줄이 교체될 기존 광고의 방송 스케줄이 포함된 것으로 확인되면, 교체될 기존 광고의 시작 시점에 기초하여 교체할 광고를 서버로부터 다운로드 할 수 있다.
프로세서(1300)는 제1 방송 채널의 방송 핑거프린트와 실시간으로 디스플레이에 표시되는 컨텐츠의 핑거프린트를 비교하여, 제1 방송 채널의 현재 재생 위치를 결정할 수 있다. 프로세서(1300)는 결정된 현재 재생 위치를 기준으로 교체될 기존 광고의 시작 시점 이전에 교체할 광고의 적어도 일부를 다운로드 할 수 있다.
프로세서(1300)는 제1 방송 채널의 교체될 기존 광고의 광고 시간에 교체할 광고를 재생할 수 있다. 프로세서(1300)는 제1 방송 채널의 방송이 출력되는 제1 레이어 위에 제2 레이어를 설정하고, 제2 레이어에 교체할 광고를 재생할 수 있다.
전자 장치(10)의 제어를 위한 실행 화면이 호출되면, 프로세서(1300)는 실행 화면을 포함하는 교체될 기존 광고의 영상과 교체될 기존 광고만의 영상 간의 차영상을 획득할 수 있다. 프로세서(1300)는 차영상에 기초하여 교체할 광고의 영상에 실행 화면을 중첩하여 표시할 수 있다.
디스플레이에 출력되는 제1 방송 채널이 제2 방송 채널로 변경되면, 프로세서(1300)는 재생되는 교체할 광고의 재생을 중단하고, 제2 방송 채널에서 방송되는 화면을 디스플레이 상에 표시할 수 있다.
프로세서(1300)는 컨텐츠의 영상 내에서 복수의 영역을 설정하고, 복수의 영역의 픽셀값에 기초하여, 컨텐츠의 핑거프린트를 추출할 수 있다.
프로세서(1300)는 다수의 논리 게이트들의 어레이로 구현될 수도 있고, 범용적인 마이크로 프로세서와 이 마이크로 프로세서에서 실행될 수 있는 프로그램이 저장된 메모리의 조합으로 구현될 수도 있다. 또한, 다른 형태의 하드웨어로 구현될 수도 있음을 본 실시예가 속하는 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
센싱부(1400)는, 전자 장치(10)의 상태 또는 전자 장치(10) 주변의 상태를 감지하고, 감지된 정보를 프로세서(1300)로 전달할 수 있다.
센싱부(1400)는, 지자기 센서(Magnetic sensor)(1410), 가속도 센서(Acceleration sensor)(1420), 온/습도 센서(1430), 적외선 센서(1440), 자이로스코프 센서(1450), 위치 센서(예컨대, GPS)(1460), 기압 센서(1470), 근접 센서(1480), 및 RGB 센서(illuminance sensor)(1490) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 각 센서들의 기능은 그 명칭으로부터 통상의 기술자가 직관적으로 추론할 수 있으므로, 구체적인 설명은 생략하기로 한다.
통신 인터페이스(1500)는, 전자 장치(10)가 다른 장치(미도시) 및 서버(2000)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 다른 장치(미도시)는 전자 장치(10)와 같은 컴퓨팅 장치이거나, 센싱 장치일 수 있으나, 이에 제한되지 않는다. 예를 들어, 통신 인터페이스(1500)는, 도 17에 도시된 바와 같이, 근거리 통신부(1510), 이동 통신부(1520), 방송 수신부(1530)를 포함할 수 있다.
근거리 통신부(short-range wireless communication unit)(151)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
이동 통신부(1520)는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
방송 수신부(1530)는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 구현 예에 따라서 전자 장치(10)가 방송 수신부(1530)를 포함하지 않을 수도 있다.
또한, 통신 인터페이스(1500)는, 사용자의 음성 입력에 대한 답변 메시지를 요청하고 답변 메시지에 관련된 동작을 실행하기 위한 필요한 정보를, 다른 장치(미도시) 및 서버(2000)와 송수신할 수 있다.
A/V(Audio/Video) 입력부(1600)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(1610)와 마이크로폰(1620) 등이 포함될 수 있다. 카메라(1610)은 화상 통화모드 또는 촬영 모드에서 이미지 센서를 통해 정지영상 또는 동영상 등의 화상 프레임을 얻을 수 있다. 이미지 센서를 통해 캡쳐된 이미지는 프로세서(1300) 또는 별도의 이미지 처리부(미도시)를 통해 처리될 수 있다. 카메라(1610)에 의해 촬영된 이미지는 사용자의 컨텍스트 정보로 활용될 수 있다.
마이크로폰(1620)은, 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리한다. 예를 들어, 마이크로폰(1620)은 외부 디바이스 또는 사용자로부터 음향 신호를 수신할 수 있다. 마이크로폰(1620)은 사용자의 음성 입력을 수신할 수 있다. 마이크로폰(1620)는 외부의 음향 신호를 입력 받는 과정에서 발생 되는 잡음(noise)를 제거하기 위한 다양한 잡음 제거 알고리즘을 이용할 수 있다.
메모리(1700)는, 프로세서(1300)의 처리 및 제어를 위한 프로그램 또는 하나 이상의 인스트럭션을 저장할 수 있고, 전자 장치(10)로 입력되거나 전자 장치(10)로부터 출력되는 데이터를 저장할 수도 있다.
메모리(1700)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
메모리(1700)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, UI 모듈(1710), 터치 스크린 모듈(1720), 알림 모듈(1730) 등으로 분류될 수 있다.
UI 모듈(1710)은, 애플리케이션 별로 전자 장치(10)와 연동되는 특화된 UI, GUI 등을 제공할 수 있다. 터치 스크린 모듈(1720)은 사용자의 터치 스크린 상의 터치 제스처를 감지하고, 터치 제스처에 관한 정보를 프로세서(1300)로 전달할 수 있다. 일부 실시예에 따른 터치 스크린 모듈(1720)은 터치 코드를 인식하고 분석할 수 있다. 터치 스크린 모듈(1720)은 컨트롤러를 포함하는 별도의 하드웨어로 구성될 수도 있다.
알림 모듈(1730)은 전자 장치(10)의 이벤트 발생을 알리기 위한 신호를 발생할 수 있다. 전자 장치(10)에서 발생되는 이벤트의 예로는 호 신호 수신, 메시지 수신, 키 신호 입력, 일정 알림 등이 있다. 알림 모듈(1730)은 디스플레이(1210)를 통해 비디오 신호 형태로 알림 신호를 출력할 수도 있고, 스피커(1220)를 통해 오디오 신호 형태로 알림 신호를 출력할 수도 있고, 진동 모터(1230)를 통해 진동 신호 형태로 알림 신호를 출력할 수도 있다.
도 18는 일실시에에 따른 서버(20)의 블록도이다.
도 18에 도시된 서버(20)는 프로세서(21), 통신 인터페이스(22), 스토리지(23)를 포함할 수 있다. 그러나, 도시된 구성 요소 모두가 필수 구성 요소인 것은 아니다. 도시된 구성 요소보다 많은 구성 요소에 의해 서버(20)가 구현될 수 있고, 그보다 적은 구성 요소에 의해서도 서버(20)가 구현될 수 있다. 이하 상기 구성 요소들에 대해 살펴 본다.
프로세서(21)는 방송국으로부터 방송 채널들 각각에 대한 방송 정보를 수신할 수 있다. 서버(20)는 방송 채널들 각각의 방송 핑거프린트를 추출할 수 있다.
프로세서(21)는 전자 장치(10)로부터 전자 장치(10)에 표시되는 컨텐츠의 핑거프린트를 수신할 수 있다. 프로세서(21)는 컨텐츠의 핑거프린트와 방송 채널들 영상에 대한 각각의 핑거프린트를 비교하여 컨텐츠에 대응되는 제1 방송 채널을 결정할 수 있다.
프로세서(21)는 제1 방송 채널의 방송 스케줄에 기초하여 전자 장치(10)에서 교체될 기존 광고가 방송 예정인지를 결정할 수 있다. 구체적으로, 프로세서(21)는 제1 방송 채널의 광고 핑거프린트에 전자 장치(10)에서 교체될 기존 광고의 광고 핑거프린트가 포함되었는지를 확인할 수 있다. 제1 방송 채널의 광고 핑거프린트에 기존 광고의 광고 핑거프린트가 포함된 것으로 확인되면, 프로세서(21)는 제1 방송 채널의 방송 핑거프린트에 기존 광고의 시작 시점 정보를 추가하여 저장할 수 있다. 프로세서(21)는 저장된 제1 방송 채널의 방송 핑거프린트를 전자 장치(10)로 전송할 수 있다.
전자 장치(10)에서 교체될 기존 광고가 방송 예정이면, 프로세서(21)는 기존 광고의 시작 시점에 기초하여 전자 장치(10)에서 교체할 광고를 전송할 수 있다.
통신 인터페이스(22)는, 서버(20)가 다른 장치(미도시) 및 전자 장치(10)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 다른 장치(미도시)는 전자 장치(10)와 같은 컴퓨팅 장치이거나, 센싱 장치일 수 있으나, 이에 제한되지 않는다.
예를 들면, 통신 인터페이스(22)는 와이파이(Wifi), 또는 와이파이 다이렉트(Wifi direct)에 따른 무선 통신 네트워크를 통하여 전자 장치(10)와 연결될 수 있다. 구체적으로, 통신 인터페이스(22)가 접속할 수 있는 무선 통신 네트워크로는 무선 랜(Wireless LAN), 와이파이(wifi), 블루투스, 지그비(zigbee), WFD(Wifi-direct), UWB(ultra wideband), 적외선 통신(IrDA, infrared Data Association), BLE (Bluetooth Low Energy) 및 NFC(Near Field Communication) 등이 될 수 있고, 이에 한정되지 않는다.
스토리지(23)는 전자 장치(10)로부터 수신한 정보, 전자 장치(10)로 전송할 정보, 외부 서버(20)로부터 수신한 정보, 외부 서버(20)로 전송할 정보 및 서버(20)에서 생성된 정보 등을 저장할 수 있다.
서버(20)는 중앙 연산 프로세서를 구비하여, 프로세서(21), 통신 인터페이스(22) 및 스토리지(23)의 동작을 총괄적으로 제어할 수 있다. 중앙 연산 프로세서는 다수의 논리 게이트들의 어레이로 구현될 수도 있고, 범용적인 마이크로 프로세서와 이 마이크로 프로세서에서 실행될 수 있는 프로그램이 저장된 메모리의 조합으로 구현될 수도 있다. 또한, 다른 형태의 하드웨어로 구현될 수도 있음을 본 실시예가 속하는 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
도 19는 일실시예에 따라, 전자 장치(10)에서 방송 프로그램의 광고를 교체하는 시스템을 설명하기 위한 도면이다.
단계 S161에서, 전자 장치(10)는 전자 장치(10)의 디스플레이에서 표시되는 컨텐츠의 핑거프린트에 기초하여, 컨텐츠에 대응되는 제1 방송 채널을 인식할 수 있다. 구체적으로, 전자 장치(10)는 컨텐츠의 핑거프린트를 추출할 수 있다. 전자 장치(10)는 추출된 컨텐츠의 핑거프린트를 ACR 서버(30)로 전송할 수 있다. ACR 서버(30)는 방송 채널들 영상에 대한 각각의 핑거프린트를 획득할 수 있다. ACR 서버(30)는 방송 채널들 각각의 방송 신호를 방송국으로부터 수신하고, 방송 채널들 각각의 방송 신호로부터 방송 채널들 영상에 대한 각각의 핑거프린트를 추출할 수 있다. 이 경우, ACR 서버(30)는 전자 장치(10)에서 수신되는 방송 신호와 동일한 방송 신호를 방송국으로부터 수초 전에 수신할 수 있다. ACR 서버(30)는 전자 장치(10)로부터 수신한 컨텐츠의 핑거프린트와 방송 채널들 영상에 대한 각각의 핑거프린트를 비교하여, 컨텐츠의 핑거프린트와 매칭되는 제1 방송 채널의 핑거프린트를 검출할 수 있다. ACR 서버(30)는 매칭되는 핑거프린트의 제1 방송 채널을 컨텐츠의 방송 채널로 결정하고, 제1 방송 채널의 정보를 획득할 수 있다. 전자 장치(10)는 ACR 서버(30)로부터 제1 방송 채널의 정보를 수신하고, 전자 장치(10)에서 표시되는 컨텐츠의 방송 채널을 제1 방송 채널로 인식할 수 있다.
단계 S162에서, 전자 장치(10)는 전자 장치(10)의 디스플레이에서 표시되는 컨텐츠에 대응되는 제1 방송 채널이 고정되었는지를 확인할 수 있다. 전자 장치(10)는 컨텐츠의 핑거프린트를 소정의 시간 간격으로 소정 횟수만큼 추출할 수 있다. 소정의 시간 간격으로 소정 횟수만큼 추출된 컨텐츠의 핑거프린트가 제1 방송 채널의 방송 핑거프린트와 일치하면, 전자 장치(10)는 디스플레이에서 표시되는 컨텐츠에 대응되는 제1 방송 채널로 고정되었다고 결정할 수 있다.
단계 S163에서, 전자 장치(10)는 실시간으로 디스플레이에서 표시되는 컨텐츠의 방송 핑거프린트를 추출할 수 있다.
단계 S164에서, 전자 장치(10)는 ACR 서버(30)로부터 제1 방송 채널의 방송 핑거프린트를 수신할 수 있다.
단계 S165에서, 전자 장치(10)는 제1 방송 채널의 방송 스케줄에 포함된 기존 광고들 중에서 교체될 기존 광고의 정보 및 교체할 광고의 정보를 광고 서버(40)로부터 수신할 수 있다.
단계 S166에서, 전자 장치(10)는 제1 방송 채널의 방송 핑거프린트와 실시간으로 추출된 컨텐츠의 방송 핑거프린트를 비교하여, 제1 방송 채널의 현재 재생 위치를 결정할 수 있다.
단계 S167에서, 전자 장치(10)는 제1 방송 채널의 교체될 기존 광고의 시작 시점 이전에 교체될 기존 광고의 영상 및 교체할 광고의 영상을 광고 서버(40)로 다운로드 요청할 수 있다.
단계 S168에서, 전자 장치(10)는 광고 서버(40)로부터 교체될 기존 광고의 영상 및 교체할 광고의 영상을 다운로드 할 수 있다.
단계 S169에서, 전자 장치(10)는 제1 방송 채널의 교체될 기존 광고의 광고 시간에 교체할 광고를 재생할 수 있다.
도 20은 다른 일실시예에 따라, 전자 장치(10)에서 방송 프로그램의 광고를 교체하는 시스템을 설명하기 위한 도면이다.
도 20에 도시된 바와 같이, 전자 장치(10)는 전자 장치(10)의 디스플레이 상에 표시된 화면을 캡쳐하는 프레임 캡쳐 모듈(Frame Capture module), 핑거프린트를 추출하는 핑거프린트 추출 모듈(Fingerprint Extractor module), 전자 장치(10)의 사용자가 시청하는 방송 채널 및 스테이션을 인식하기 위한 서버 매칭 모듈(Sever Matching module), 현재 전자 장치(10)의 사용자가 시청하는 방송 채널을 결정하는 채널 락커(Channel Locker), 동적 광고 교체(Dynamic Advertisement Replacement) 이벤트가 부가된 핑거프린트를 수신하는 핑거프린트 수신 모듈(Fingerprint Receiver module), 전자 장치(10)에서 추출된 핑거프린트와 방송 핑거프린트를 매칭하여 현재 컨텐츠의 재생 위치를 결정하는 방송 핑거프린트 로컬 매칭 모듈(Broadcast Fingerprint Local Matching module), 기존의 매칭 정보를 이용하여 정확한 재생 위치를 추정하는 방송 재생 위치 추정 모듈, DAR 이벤트를 전체적으로 관리하고 제어하는 DAR 이벤트 매니저, 교체할 광고의 영상 파일을 다운로드 하여 플레이어와 연동하는 비디오 로더(Video Loader), 교체할 광고를 재생하는 비디어 플레이어(Video Player)를 포함할 수 있다. 상기 전자 장치(10)의 언급된 구성 요소 모두가 전자 장치(10)의 필수 구성 요소인 것은 아니다. 전자 장치(10)는 상기 언급된 구성 요소보다 많은 구성 요소에 의해 전자 장치(10)가 구현될 수 있고, 상기 언급된 구성 요소보다 적은 구성 요소에 의해 전자 장치(10)가 구현될 수도 있다.
도 20에 도시된 바와 같이, 서버(20)는 복수의 방송을 수신하여 핑거프린트를 수신하여 핑거프린트를 추출하는 캡쳐 서버, 전자 장치(10)가 전송한 핑거프린트를 데이터베이스에 저장된 참조 방송 핑거프린트와 매칭을 수행하여 채널을 인식하는 매칭 서버, 캡쳐 서버에서 추출된 핑거프린트를 이용하여 DAR 대상 광고를 인식하는 광고 매칭 서버, DAR 관련 이벤트를 전자 장치(10)로 전송하는 DAR 이벤트 서버, 방송 프로그램 정보를 제공하는 EPG 서버, 광고 교체 목록과 교체하거나 교체될 광고를 제공하는 광고 서버, 실시간 방송의 DAR 이벤트가 부가된 DAR 관련 이벤트를 전자 장치(10)에 전송하는 핑거프린트 전송자를 포함할 수 있다. 상기 서버의 언급된 구성 요소 모두가 전자 장치(10)의 필수 구성 요소인 것은 아니다. 서버는 상기 언급된 구성 요소보다 많은 구성 요소에 의해 서버가 구현될 수 있고, 상기 언급된 구성 요소보다 적은 구성 요소에 의해 서버가 구현될 수도 있다.
전자 장치(10)에 표시되는 광고 교체를 위해서는 전자 장치(10)가 현재 어떤 방송 채널을 시청 중인지 결정하는 채널 고정(Channel Locking) 단계, 방송 채널이 고정된 상태에서 광고 교체 시점을 정확히 인식하여 광고 교체를 수행하는 광고 교체(Advertisement Replacement) 단계로 구성될 수 있다.
전자 장치(10)는 채널 고정 단계를 현재 전자 장치(10)에서 사용자가 시청 중인 방송 채널을 확정할 수 있다. 서버(20)는 광고 매칭 서버를 통해 교체될 광고가 방송 예정임을 인식하여, 전자 장치(10)에 광고 교체를 준비해야 할 것을 알리고, 방송 핑거프린트와 교체할 광고를 다운로드 받도록 할 수 있다. 전자 장치(10)는 방송 핑거프린트를 실시간으로 다운로드 하면서 전자 장치(10)에서 추출된 핑거프린트와 다운로드한 방송 핑거프린트 매칭을 통해 광고를 교체해야 할 시점을 정확히 검출할 수 있다. 전자 장치(10)는 광고를 교체해야 할 시점에 광고 교체를 수행할 수 있다. 전자 장치(10)는 광고 교체가 완료되어 광고가 재생되는 동안에도 지속적으로 전자 장치(10)에서 추출된 핑거프린트와 다운로드한 방송 핑거프린트 매칭을 통해 방송 채널 전환이나, 셋탑 박스 제어를 위한 실행 화면의 표시(예를 들면, OSD: On Screen Display) 등으로 인한 화면 변화를 확인할 수 있다. 전자 장치(10)는 필요한 경우, 교체된 광고의 재생을 중지할 수도 있다. 또한, 전자 장치(10)는 광고 교체가 정상적으로 완료되었는지 여부를 서버로 전송할 수 있다.
도 20에 도시된 바와 같이, 채널 고정 단계에서, 전자 장치(10)의 각 구성 요소와 서버(20)의 각 구성 요소는 아래와 같이 동작할 수 있다. ⓐ 단계에서, 캡쳐 서버에서 수신되는 방송 신호는 전자 장치(10)에서 수신되는 방송 신호와 동일하다. 캡쳐 서버는 전자 장치(10)에서 방송 신호를 수신하는 시점보다 빠른 시점에 방송 신호를 수신하고, 방송 신호에 기초하여 방송 핑거프린트를 추출할 수 있다. 캡쳐 서버는 추출된 방송 핑거프린트를 EPG 서버로부터 수신한 방송 메타 정보와 연동하고, 연동 결과를 광고 매칭 서버 내의 인덱싱 모듈로 전송할 수 있다. 인덱싱 모듈은 핑거프린트 정보를 색인하여 방송 핑거프린트 데이터베이스에 저장할 수 있다. 또한, EPG 메타 데이터 연동은 서버 구성에 따라 인덱싱 모듈에서 수행될 수 있음은 통상의 기술자 입장에서 이해될 수 있다.
ⓑ 단계에서, 프레임 캡쳐 모듈은 전자 장치(10)에서 출력되는 컨텐츠(예를 들면, 오디오, 비디오 프레임, 영상 등)를 캡쳐하고, 핑거프린트 추출 모듈은 캡쳐된 컨텐츠에 기초하여, 핑거프린트를 추출할 수 있다.
ⓒ 단계에서, 핑거프린트 추출 모듈은 추출된 핑거프린트를 ACR 매칭 클라이언트로 전송할 수 있다.
ⓓ 단계에서, ACR 매칭 클라이언트는 ACR 쿼리를 ACR 매칭 서버로 전송하여 방송 채널의 인식을 요청할 수 있다. ACR 매칭 서버는 ACR 쿼리에 기초하여, 실시간으로 저장 및 색인되고 있는 방송 채널들의 방송 핑거프린트와 매칭을 수행하고, 매칭되는 방송 채널 정보를 ACR 매칭 클라이언트로 전송할 수 있다.
ⓔ 단계에서, ACR 매칭 클라이언트는 매칭 결과(매칭된 방송 채널 정보)를 채널 락커에 제공하고, 채널 락커는 전자 장치(10)에서 지속적으로 매칭된 방송 채널이 시청 중인지를 확인할 수 있다. 확인 결과, 전자 장치(10)에서 매칭된 방송 채널이 지속적으로 시청 중이면, 채널 락커는 전자 장치(10)에서 시청 중인 방송 채널이 고정된 상태임을 확정할 수 있다.
ⓕ 단계에서, 확정된 방송 채널의 정보는 DAR 이벤트 매니저로 전송되고, DAR 이벤트 매니저는 DAR 이벤트 관련 처리를 수행할 수 있다.
도 20에 도시된 바와 같이, 광고 교체 단계에서, 전자 장치(10)의 각 구성 요소와 서버(20)의 각 구성 요소는 아래와 같이 동작할 수 있다. ① 단계에서, 광고 서버는 전자 장치(10)의 프로파일 정보에 기초하여 결정된 교체될 광고의 정보 및 교체할 광고의 정보를 수신할 수 있다. 광고 서버는 교체될 광고의 핑거프린트를 추출하여 온-디맨드 인덱싱(On-Demand Indexing) 서버에 전송하고, 온-디맨드 인덱싱 서버는 광고 핑거프린트 데이터베이스에 전송된 핑거프린트를 색인/저장할 수 있다.
② 단계에서, 광고 매칭 서버는 캡쳐 서버에서 방송 핑거프린트를 수신할 수 있다.
③ 단계에서, 광고 매칭 서버는 캡쳐 서버에서 수신된 방송 핑거프린트의 정보를 이용하여, 광고 핑거프린트 데이터베이스에 저장된 교체될 광고가 있는지를 확인할 수 있다. 교체될 광고가 방송 핑거프린트의 정보에 포함되어 있지 않으면, 광고 매칭 서버는 캡쳐 서버에서 수신한 방송 핑거프린트 정보를 그대로 색인/저장할 수 있다.
④ 단계에서, 교체될 광고가 방송 핑거프린트의 정보에 포함되어 있으면, 광고 매칭 서버는 방송 핑거프린트에 교체될 광고의 시작 시점의 정보를 추가하고, 방송 핑거프린트 데이터베이스에 색인/저장할 수 있다. 광고 매칭 서버는 교체될 광고의 시작 시점이 발견되었음을 DAR 이벤트 서버에 알릴 수 있다.
⑤ 단계에서, DAR 이벤트 서버는 전자 장치(10)의 DAR 이벤트 매니저로 교체될 광고의 시작 시점이 검출되었음을 알리는 알림을 전송할 수 있다.
⑥ 단계에서, DAR 이벤트 매니저는 핑거프린트 수신자에게 서버로부터 방송 핑거프린트를 다운로드 하도록 트리거할 수 있다.
⑦ 단계에서, 핑거프린트 수신자는 서버로부터 방송 핑거프린트를 다운로드 할 수 있다. 수신되는 방송 핑거프린트에는 특정 핑거프린터의 위치에 DAR 이벤트가 매핑되어 있을 수 있다.
⑧ 단계에서, DAR 이벤트 매니저는 DAR 이벤트 서버로부터 교체될 광고가 시작되었다는 정보를 수신하면, 비디오 로더에게 교체할 광고를 다운로드 하도록 요청할 수 있다.
⑨ 단계에서, 비디오 로더는 광고 서버로부터 교체할 광고를 다운로드 할 수 있다. 전자 장치(10)의 저장 공간의 용량이 충분한 경우, 비디오 로더는 교체할 광고 전부를 다운로드 할 수 있다. 전자 장치(10)의 저장 공간의 용량이 충분하지 않은 경우, 비디오 로더는 교체할 광고의 시작 일부 구간만 먼저 다운로드하고, 나머지 구간은 교체할 광고의 영상 재생 중에 스트리밍으로 다운로드하고 비디오 플레이어로 연결할 수 있다. 이 경우, 교체할 광고 전체를 다운로드 하거나 일부를 다운로드하기 위한 프리로딩 비디오 이벤트(Preloading Video Event), 새로운 광고를 플레이하기 위한 플레이 비디오 이벤트(Play Video Event), 광고 구간이 끝났을 때 광고 플레이를 종료하기 위한 앤드 비디오 이벤트(End Video Event), 광고가 끝나지 않은 상태에서 화면의 상태가 변경되었을 경우(예를 들면, 사용자가 전자 장치(10)의 리모톤 버튼을 눌러서 기존 광고의 화면에 OSD가 출력되었을 경우나 채널을 변경한 경우 광고 플레이를 멈추기 위한 정지 비디오 이벤트(Stop Video Event) 등) 가 DAR 이벤트로 정의될 수 있다.
⑩ 단계에서, DAR 이벤트 매니저는 방송 핑거프린트 로컬 매칭 모듈에게 로컬 매칭을 시작하도록 요청할 수 있다.
⑪ 단계에서, 방송 핑거프린트 로컬 매칭 모듈은 서버로부터 수신된 방송 핑거프린트와 전자 장치(10)에서 추출된 핑거프린트를 매칭하여 현재 핑거프린트의 매칭 정보 및 DAR 이벤트 정보를 방송 재생 위치 추정 모듈로 제공할 수 있다.
⑫ 단계에서, 방송 재생 위치 추정 모듈은 핑거프린트 로컬 매칭 정보를 이요하여 정확한 방송 재생 시점을 판단하고, 판단된 시점에 적합한 DAR 이벤트 정보를 DAR 이벤트 매니저에게 제공할 수 있다.
⑬ 단계에서, DAR 이벤트 매니저는 교체될 광고의 시점에서 교체할 광고가 재생되도록 비디오 플레이어에게 요청할 수 있다.
⑭ 단계에서, 비디오 플레이어는 DAR 이벤트 매니저의 요청에 따라 교체할 광고를 재생할 수 있다.
일부 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
또한, 본 명세서에서, "부"는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (20)

  1. 통신 인터페이스;
    디스플레이;
    하나 이상의 인스트럭션을 저장하는 메모리; 및
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 디스플레이에서 표시되는 컨텐츠로부터 소정의 시간 간격으로 추출된 핑거프린트에 기초하여, 상기 컨텐츠에 대응되는 제1 방송 채널의 정보를 서버로부터 수신하고,
    상기 소정의 시간 간격으로 추출된 핑거프린트에 대응하여 수신된 방송 채널의 정보가 일치되면, 상기 컨텐츠가 상기 제1 방송 채널을 통해 출력되는 것으로 인식하고,
    상기 제1 방송 채널의 방송 핑거프린트의 정보를 상기 서버로 요청하고,
    상기 서버로부터, 상기 제1 방송 채널의 방송 스케줄에 교체될 기존 광고의 방송 스케줄이 포함됨에 따라 상기 교체될 기존 광고에 대한 광고 교체 이벤트가 설정된, 상기 제1 방송 채널의 방송 핑거프린트를 수신하고,
    상기 제1 방송 채널의 방송 핑거프린트 및 교체될 기존 광고의 시작 시점에 기초하여 교체할 광고를 상기 서버로부터 다운로드 하고,
    상기 제1 방송 채널의 교체될 기존 광고의 광고 시간에 상기 교체할 광고를 재생하는, 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 컨텐츠의 핑거프린트를 추출하고,
    상기 컨텐츠의 핑거프린트의 정보를 상기 서버로 전송하고, 상기 컨텐츠에 대응되는 제1 방송 채널의 정보를 상기 서버로부터 수신하고,
    상기 제1 방송 채널은, 상기 컨텐츠의 핑거프린트와 방송 채널들 영상에 대한 각각의 핑거프린트의 비교 결과에 기초하여 결정되는, 전자 장치.
  3. 삭제
  4. 제1항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 제1 방송 채널에서 상기 교체될 기존 광고의 방송 예정을 알리는 알림을 상기 서버로부터 수신하고,
    상기 교체될 기존 광고의 방송 예정은, 상기 제1 방송 채널의 광고 핑거프린트와 상기 교체될 기존 광고의 광고 핑거프린트의 비교에 따라 결정된 것을 특징으로 하는, 전자 장치.
  5. 제1항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 교체될 기존 광고의 시작 시점의 정보를 포함하는 상기 광고 교체 이벤트가 설정된 상기 제1 방송 채널의 방송 핑거프린트를 상기 서버로부터 수신하는, 전자 장치.
  6. 제4항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 제1 방송 채널의 방송 핑거프린트와 실시간으로 상기 디스플레이에서 표시되는 컨텐츠의 핑거프린트를 비교하여, 상기 제1 방송 채널의 현재 재생 위치를 결정하고,
    상기 결정된 현재 재생 위치를 기준으로 상기 교체될 기존 광고의 시작 시점 이전에 상기 교체할 광고의 적어도 일부를 다운로드 하는, 전자 장치.
  7. 제1항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 제1 방송 채널의 방송이 출력되는 제1 레이어 위에 제2 레이어를 설정하고, 상기 제2 레이어에 상기 교체할 광고를 재생하는, 전자 장치.
  8. 제1항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 전자 장치의 제어를 위한 실행 화면이 호출되면, 상기 실행 화면을 포함하는 교체될 기존 광고의 영상과 상기 교체될 기존 광고만의 영상 간의 차영상에 기초하여, 상기 교체할 광고의 영상에 상기 실행 화면을 중첩하여 표시하는, 전자 장치.
  9. 제1항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 제1 방송 채널이 제2 방송 채널로 변경되면, 상기 재생되는 교체할 광고의 재생을 중단하고, 상기 제2 방송 채널에서 방송되는 화면을 상기 디스플레이 상에 표시하는, 전자 장치.
  10. 제1항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 컨텐츠의 영상 내에서 복수의 영역을 설정하고, 상기 복수의 영역의 픽셀값에 기초하여, 상기 컨텐츠의 핑거프린트를 추출하는, 전자 장치.
  11. 전자 장치의 동작 방법에 있어서,
    상기 전자 장치의 디스플레이에서 표시되는 컨텐츠로부터 소정의 시간 간격으로 핑거프린트를 추출하는 단계;
    상기 추출된 컨텐츠의 핑거프리트에 기초하여, 상기 컨텐츠에 대응되는 제1 방송 채널의 정보를 서버로부터 수신하는 단계;
    상기 소정의 시간 간격으로 추출된 핑거프린트에 대응하여 수신된 방송 채널의 정보가 일치되면, 상기 컨텐츠가 제1 방송 채널을 통해 출력되는 것으로 인식하는 단계;
    상기 제1 방송 채널의 방송 핑거프린트의 정보를 상기 서버로 요청하는 단계;
    상기 서버로부터, 상기 제1 방송 채널의 방송 스케줄에 교체될 기존 광고의 방송 스케줄이 포함됨에 따라, 상기 교체될 기존 광고에 대한 광고 교체 이벤트가 설정된, 상기 제1 방송 채널의 방송 핑거프린트를 수신하는 단계;
    상기 제1 방송 채널의 방송 핑거프린트 및 상기 교체될 기존 광고의 시작 시점에 기초하여 교체할 광고를 서버로부터 다운로드 하는 단계; 및
    상기 제1 방송 채널의 교체될 기존 광고의 광고 시간에 상기 교체할 광고를 재생하는 단계를 포함하는, 전자 장치의 동작 방법.
  12. 삭제
  13. 제11항에 있어서,
    상기 제1 방송 채널에서 상기 교체될 기존 광고의 방송 예정을 알리는 알림을 상기 서버로부터 수신하는 단계를 더 포함하고,
    상기 교체될 기존 광고의 방송 예정은, 상기 제1 방송 채널의 광고 핑거프린트와 상기 교체될 기존 광고의 광고 핑거프린트의 비교에 따라 결정된 것을 특징으로 하는, 전자 장치의 동작 방법.
  14. 제11항에 있어서,
    상기 교체될 기존 광고의 시작 시점의 정보를 포함하는 상기 광고 교체 이벤트가 설정된 상기 제1 방송 채널의 방송 핑거프린트를 상기 서버로부터 수신하는 단계를 더 포함하고,
    상기 교체할 광고의 적어도 일부를 상기 서버로부터 다운로드 하는 단계는,
    상기 제1 방송 채널의 방송 핑거프린트와 실시간으로 상기 디스플레이에서 표시되는 컨텐츠의 핑거프린트를 비교하여, 상기 제1 방송 채널의 현재 재생 위치를 결정하는 단계; 및
    상기 결정된 현재 재생 위치를 기준으로 상기 교체될 기존 광고의 시작 시점 이전에 상기 교체할 광고의 적어도 일부를 다운로드 하는 단계를 포함하는, 전자 장치의 동작 방법.
  15. 제11항에 있어서,
    상기 교체할 광고를 재생하는 단계는,
    상기 제1 방송 채널의 방송이 출력되는 제1 레이어 위에 제2 레이어를 설정하고, 상기 제2 레이어에 상기 교체할 광고를 재생하는 단계를 포함하는, 전자 장치의 동작 방법.
  16. 제11항에 있어서,
    상기 전자 장치의 제어를 위한 실행 화면이 호출되면, 상기 실행 화면을 포함하는 교체될 기존 광고의 영상과 상기 교체될 기존 광고만의 영상 간의 차영상에 기초하여, 상기 교체할 광고의 영상에 상기 실행 화면을 중첩하여 표시하는 단계를 더 포함하는, 전자 장치의 동작 방법.
  17. 제11항에 있어서,
    상기 제1 방송 채널이 제2 방송 채널로 변경되면, 상기 재생되는 교체할 광고의 재생을 중단하고, 상기 제2 방송 채널에서 방송되는 화면을 상기 디스플레이 상에 표시하는 단계를 더 포함하는, 전자 장치의 동작 방법.
  18. 통신 인터페이스;
    하나 이상의 인스트럭션을 저장하는 스토리지; 및
    상기 스토리지에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    방송국으로부터 방송 채널들 각각에 대한 방송 정보를 수신하여, 상기 방송 채널들 영상에 대한 각각의 방송 핑거프린트를 추출하고,
    전자 장치로부터 상기 전자 장치에 표시되는 컨텐츠로부터 소정의 시간 간격으로 추출된 핑거프린트를 수신하고,
    상기 컨텐츠의 핑거프린트와 상기 방송 채널들 영상에 대한 각각의 핑거프린트를 비교하여, 상기 컨텐츠에 대응되는 제1 방송 채널을 결정하고,
    상기 제1 방송 채널의 방송 스케줄에 기초하여, 상기 전자 장치에서 교체될 기존 광고가 방송 예정인지 결정하고,
    상기 전자 장치에서 상기 교체될 기존 광고가 방송 예정이면, 상기 교체될 기존 광고에 대한 광고 교체 이벤트가 설정된, 상기 제1 방송 채널의 방송 핑거프린트를 상기 전자 장치로 전송하고,
    상기 기존 광고의 시작 시점에 기초하여, 상기 전자 장치에서 교체할 광고를 상기 전자 장치로 전송하는, 서버.
  19. 제18항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 제1 방송 채널의 광고 핑거프린트에 상기 전자 장치에서 교체될 기존 광고의 광고 핑거프린트가 포함되었는지를 확인하고,
    상기 제1 방송 채널의 광고 핑거프린트에 상기 기존 광고의 광고 핑거프린트가 포함된 것으로 확인되면, 상기 제1 방송 채널의 방송 핑거프린트에 상기 기존 광고의 시작 시점 정보를 추가하여 저장하고,
    상기 저장된 제1 방송 채널의 방송 핑거프린트를 상기 전자 장치로 전송하는, 서버.
  20. 서버의 동작 방법에 있어서,
    방송국으로부터 방송 채널들 각각에 대한 방송 정보를 수신하여, 상기 방송 채널들 영상에 대한 각각의 방송 핑거프린트를 추출하는 단계;
    사용자의 전자 장치로부터 상기 전자 장치에 표시되는 컨텐츠로부터 소정의 시간 간격으로 추출된 핑거프린트를 수신하는 단계;
    상기 컨텐츠의 핑거프린트와 상기 방송 채널들 영상에 대한 각각의 핑거프린트를 비교하여, 상기 컨텐츠에 대응되는 제1 방송 채널을 결정하는 단계;
    상기 제1 방송 채널의 방송 스케줄에 기초하여, 상기 전자 장치에서 교체될 기존 광고가 방송 예정인지 결정하는 단계;
    상기 전자 장치에서 상기 교체될 기존 광고가 방송 예정이면, 상기 교체될 기존 광고에 대한 광고 교체 이벤트가 설정된, 상기 제1 방송 채널의 방송 핑거프린트를 상기 전자 장치로 전송하는 단계; 및
    상기 기존 광고의 시작 시점에 기초하여, 상기 전자 장치에서 교체할 광고를 상기 전자 장치로 전송하는 단계를 포함하는, 서버의 동작 방법.
KR1020170092738A 2016-08-01 2017-07-21 전자 장치 및 전자 장치의 동작 방법 KR102410473B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US15/665,797 US10616631B2 (en) 2016-08-01 2017-08-01 Electronic apparatus and method of operating the same
PCT/KR2017/008274 WO2018026162A1 (en) 2016-08-01 2017-08-01 Electronic apparatus and method of operating the same
EP17837213.2A EP3430811A4 (en) 2016-08-01 2017-08-01 ELECTRONIC APPARATUS AND METHOD OF OPERATION

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201662369384P 2016-08-01 2016-08-01
US201662369276P 2016-08-01 2016-08-01
US201662369324P 2016-08-01 2016-08-01
US62/369,384 2016-08-01
US62/369,324 2016-08-01
US62/369,276 2016-08-01

Publications (2)

Publication Number Publication Date
KR20180014657A KR20180014657A (ko) 2018-02-09
KR102410473B1 true KR102410473B1 (ko) 2022-06-17

Family

ID=61199159

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170092738A KR102410473B1 (ko) 2016-08-01 2017-07-21 전자 장치 및 전자 장치의 동작 방법

Country Status (2)

Country Link
EP (1) EP3430811A4 (ko)
KR (1) KR102410473B1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102504174B1 (ko) * 2018-05-11 2023-02-27 삼성전자주식회사 전자 장치 및 그의 제어방법
WO2019225851A1 (ko) * 2018-05-21 2019-11-28 삼성전자주식회사 전자 장치 및 그의 컨텐츠 인식 정보 획득
KR102546026B1 (ko) * 2018-05-21 2023-06-22 삼성전자주식회사 전자 장치 및 그의 컨텐츠 인식 정보 획득
KR102599951B1 (ko) 2018-06-25 2023-11-09 삼성전자주식회사 전자 장치 및 그의 제어방법
US10623800B2 (en) * 2018-07-16 2020-04-14 Gracenote, Inc. Dynamic control of fingerprinting rate to facilitate time-accurate revision of media content
US10715840B2 (en) 2018-07-19 2020-07-14 Gracenote, Inc. Establishment and use of time mapping based on interpolation using low-rate fingerprinting, to help facilitate frame-accurate content revision
US10820020B2 (en) * 2018-07-19 2020-10-27 Gracenote, Inc. Advanced preparation for content revision based on expected latency in obtaining new content
KR20200080387A (ko) 2018-12-18 2020-07-07 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
US20200359080A1 (en) * 2019-05-10 2020-11-12 The Nielsen Company (Us), Llc Content-Modification System with Issue Detection and Responsive Action 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
WO2020231813A1 (en) * 2019-05-10 2020-11-19 The Nielsen Company (Us), Llc Content-modification system with responsive transmission of reference fingerprint data feature

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090077580A1 (en) * 2003-03-07 2009-03-19 Technology, Patents & Licensing, Inc. Method and System for Advertisement Detection and Substitution
US20100043022A1 (en) * 2007-10-05 2010-02-18 Ilan Kaftan Personalized Ad Insertion During Start Over Service
US20160127759A1 (en) * 2014-11-05 2016-05-05 Samsung Electronics Co., Ltd. Terminal device and information providing method thereof

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101310943B1 (ko) * 2011-09-26 2013-09-23 (주)엔써즈 방송 콘텐츠와 연관된 콘텐츠 연관 정보를 제공하는 시스템 및 방법
KR20150107464A (ko) * 2014-03-14 2015-09-23 삼성전자주식회사 컨텐츠 처리 장치 및 그 이벤트 제공 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090077580A1 (en) * 2003-03-07 2009-03-19 Technology, Patents & Licensing, Inc. Method and System for Advertisement Detection and Substitution
US20100043022A1 (en) * 2007-10-05 2010-02-18 Ilan Kaftan Personalized Ad Insertion During Start Over Service
US20160127759A1 (en) * 2014-11-05 2016-05-05 Samsung Electronics Co., Ltd. Terminal device and information providing method thereof

Also Published As

Publication number Publication date
KR20180014657A (ko) 2018-02-09
EP3430811A1 (en) 2019-01-23
EP3430811A4 (en) 2019-02-20

Similar Documents

Publication Publication Date Title
KR102410473B1 (ko) 전자 장치 및 전자 장치의 동작 방법
US10616631B2 (en) Electronic apparatus and method of operating the same
US11729459B2 (en) Systems and methods for operating a set top box
US8955005B2 (en) Viewer behavior tracking using pattern matching and character recognition
US8301618B2 (en) Techniques to consume content and metadata
US10873788B2 (en) Detection of common media segments
US11146859B2 (en) Method and apparatus for executing content
US20220394361A1 (en) Interactive content when the secondary content is server stitched
US20170374426A1 (en) Binary tv
US20190075353A1 (en) Client side stitching of secondary content
US11234060B2 (en) Weave streaming content into a linear viewing experience
EP3111658B1 (en) Two way control of a set top box using optical character recognition
US20230209102A1 (en) Electronic device and operating method therefor
KR20240026000A (ko) 전자 장치 및 그 동작 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant