KR102585244B1 - 전자 장치 및 그 제어 방법 - Google Patents

전자 장치 및 그 제어 방법 Download PDF

Info

Publication number
KR102585244B1
KR102585244B1 KR1020180113658A KR20180113658A KR102585244B1 KR 102585244 B1 KR102585244 B1 KR 102585244B1 KR 1020180113658 A KR1020180113658 A KR 1020180113658A KR 20180113658 A KR20180113658 A KR 20180113658A KR 102585244 B1 KR102585244 B1 KR 102585244B1
Authority
KR
South Korea
Prior art keywords
content
processor
frame
identified
server
Prior art date
Application number
KR1020180113658A
Other languages
English (en)
Other versions
KR20200036092A (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 KR1020180113658A priority Critical patent/KR102585244B1/ko
Priority to US16/551,124 priority patent/US11386659B2/en
Priority to CN201980051095.0A priority patent/CN112514410B/zh
Priority to PCT/KR2019/011331 priority patent/WO2020060071A1/en
Publication of KR20200036092A publication Critical patent/KR20200036092A/ko
Priority to US17/827,010 priority patent/US20220301312A1/en
Application granted granted Critical
Publication of KR102585244B1 publication Critical patent/KR102585244B1/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/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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4662Learning process for intelligent management, e.g. learning user preferences for recommending movies characterized by learning algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4662Learning process for intelligent management, e.g. learning user preferences for recommending movies characterized by learning algorithms
    • H04N21/4666Learning process for intelligent management, e.g. learning user preferences for recommending movies characterized by learning algorithms using neural networks, e.g. processing the feedback provided by the user
    • 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/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4722End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
    • 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/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Abstract

전자 장치가 개시된다. 본 전자 장치는 통신부 및 통신부를 통해 외부 장치로부터 멀티미디어 데이터를 수신하며, 멀티미디어 데이터에 포함된 복수의 프레임 중 적어도 하나의 프레임에서 객체를 식별하고, 제1 서버로부터 제공되는 컨텐츠 안내 정보에 기초하여 식별된 객체에 대응되는 컨텐츠를 식별하는 프로세서를 포함한다. 특히, 이미지로부터 객체를 식별하기 위한 방법의 적어도 일부는 기계학습, 신경망 또는 딥러닝 알고리즘 중 적어도 하나에 따라 학습된 인공지능 모델을 이용할 수 있다.

Description

전자 장치 및 그 제어 방법 { ELECTRONIC APPARATUS AND CONTROL METHOD THEREOF }
본 개시는 전자 장치 및 그 제어 방법에 대한 것으로, 더욱 상세하게는 멀티미디어 데이터에 포함된 컨텐츠를 식별하는 전자 장치 및 그 제어 방법 및 전자 시스템에 대한 것이다.
또한, 본 개시는 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공 지능(Artificial Intelligence, AI) 시스템 및 그 응용에 관한 것이다.
근래에는 인간 수준의 지능을 구현하는 인공 지능 시스템이 다양한 분야에서 이용되고 있다. 인공 지능 시스템은 기존의 룰(rule) 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공 지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 룰 기반 스마트 시스템은 점차 딥러닝 기반 인공 지능 시스템으로 대체되고 있다.
인공 지능 기술은 기계학습(예로, 딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공 지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
TV 컨텐츠 인식을 위한 ACR(Automatic Contents Recognition)을 위해서는 프로그램 식별 정보와 제목이 데이터 베이스로 구축될 필요가 있다. 특히, 핑거 프린트 기반의 컨텐츠 인식을 위해서는 인식 대상 컨텐츠의 식별정보(Finger Print)를 미리 추출해 놓고, 컨텐츠의 타이틀과 맵핑시켜 서버에 저장해 놓아야 한다. 그리고, TV에서 현재 화면에 대한 식별 정보를 추출하여 서버로 전송하면, 서버는 일치하는 식별 정보가 존재하는지 식별하고, 일치하는 식별 정보에 대한 프로그램 제목과 연관 정보를 TV로 제공하게 된다.
다만, 이상의 데이터 베이스 구축을 위해서는 프로그램 식별 정보를 수집하고 프로그램의 제목과 연결시켜 데이터 베이스 서버로 보내주는 별도의 작업 혹은 장치가 필요하며, 상당한 비용이 발생하게 된다. 또한, TV가 핑거 프린트 등을 서버로 전송하여 프로그램 제목 등을 수신하는 경우에도 비용이 발생하게 된다.
따라서, 서버의 이용을 최소화할 방법이 필요하게 되었다.
본 개시는 상술한 필요성에 따른 것으로, 본 개시의 목적은 컨텐츠를 식별하기 위해 외부 서버의 이용을 최소화하는 전자 장치 및 그 제어 방법을 제공함에 있다.
이상과 같은 목적을 달성하기 위한 본 개시의 일 실시 예에 따르면, 전자 장치는 통신부 및 상기 통신부를 통해 외부 장치로부터 멀티미디어 데이터를 수신하며, 상기 멀티미디어 데이터에 포함된 복수의 프레임 중 적어도 하나의 프레임에서 객체를 식별하고, 제1 서버로부터 제공되는 컨텐츠 안내 정보에 기초하여 상기 식별된 객체에 대응되는 컨텐츠를 식별하는 프로세서를 포함한다.
또한, 상기 프로세서는 상기 컨텐츠가 식별되지 않으면, 상기 적어도 하나의 프레임에 기초하여 핑거 프린트(finger print)를 획득하고, 상기 획득된 핑거 프린트를 제2 서버로 전송하도록 상기 통신부를 제어하며, 상기 통신부를 통해 상기 제2 서버로부터 상기 핑거 프린트에 대응되는 컨텐츠의 식별 정보를 수신할 수 있다.
그리고, 상기 프로세서는 상기 컨텐츠가 식별되지 않으면, 상기 외부 장치의 타입을 식별하며, 상기 외부 장치의 타입이 기설정된 타입이면, 상기 적어도 하나의 프레임에 기초하여 상기 핑거 프린트를 획득할 수 있다.
또한, 상기 프로세서는 상기 식별된 객체 및 상기 식별된 컨텐츠 중 적어도 하나를 제3 서버로 전송하도록 상기 통신부를 제어하고, 상기 통신부를 통해 상기 제3 서버로부터 상기 식별된 객체 및 상기 식별된 컨텐츠 중 적어도 하나에 대응되는 광고를 수신할 수 있다.
그리고, 스토리지를 더 포함하며, 상기 프로세서는 상기 스토리지에 저장된 객체 인식 모델에 기초하여 상기 적어도 하나의 프레임에서 상기 객체를 식별하고, 상기 객체 인식 모델은 복수의 샘플 이미지 및 상기 복수의 샘플 이미지에 포함된 복수의 객체를 인공지능 알고리즘을 통해 트레이닝(training)하여 획득될 수 있다.
또한, 상기 프로세서는 상기 객체 및 상기 컨텐츠에 대한 정보에 기초하여 상기 객체 인식 모델을 리트레이닝(retraining)할 수 있다.
그리고, 상기 프로세서는 상기 복수의 프레임 중 상기 적어도 하나의 프레임에 OCR(optical character reader)을 적용하여 텍스트를 식별하고, 상기 식별된 텍스트에 기초하여 상기 컨텐츠를 식별할 수 있다.
또한, 상기 프로세서는 상기 외부 장치의 타입을 식별하며, 상기 외부 장치의 타입이 기설정된 타입이면, 상기 적어도 하나의 프레임에서 상기 객체를 식별할 수 있다.
그리고, 디스플레이를 더 포함하고, 상기 프로세서는 상기 복수의 프레임을 순차적으로 디스플레이하도록 상기 디스플레이를 제어하며, 상기 복수의 프레임 중 디스플레이된 프레임에서 상기 객체를 식별할 수 있다.
또한, 상기 객체는 상기 적어도 하나의 프레임에 대응되는 컨텐츠의 타이틀, 상기 컨텐츠의 재생 시간, 상기 컨텐츠의 채널 정보 및 상기 적어도 하나의 프레임에 포함된 캐릭터 중 적어도 하나를 포함할 수 있다.
한편, 본 개시의 일 실시 예에 따르면, 전자 장치의 제어 방법은 외부 장치로부터 멀티미디어 데이터를 수신하는 단계, 상기 멀티미디어 데이터에 포함된 복수의 프레임 중 적어도 하나의 프레임에서 객체를 식별하는 단계 및 제1 서버로부터 제공되는 컨텐츠 안내 정보에 기초하여 상기 식별된 객체에 대응되는 컨텐츠를 식별하는 단계를 포함한다.
또한, 상기 컨텐츠가 식별되지 않으면, 상기 적어도 하나의 프레임에 기초하여 핑거 프린트(finger print)를 획득하는 단계, 상기 획득된 핑거 프린트를 제2 서버로 전송하는 단계 및 상기 제2 서버로부터 상기 핑거 프린트에 대응되는 컨텐츠의 식별 정보를 수신하는 단계를 더 포함한다.
그리고, 상기 핑거 프린트를 획득하는 단계는 상기 컨텐츠가 식별되지 않으면, 상기 외부 장치의 타입을 식별하며, 상기 외부 장치의 타입이 기설정된 타입이면, 상기 적어도 하나의 프레임에 기초하여 상기 핑거 프린트를 획득할 수 있다.
또한, 상기 식별된 객체 및 상기 식별된 컨텐츠 중 적어도 하나를 제3 서버로 전송하는 단계 및 상기 제3 서버로부터 상기 식별된 객체 및 상기 식별된 컨텐츠 중 적어도 하나에 대응되는 광고를 수신하는 단계를 더 포함할 수 있다.
그리고, 상기 객체를 식별하는 단계는 객체 인식 모델에 기초하여 상기 적어도 하나의 프레임에서 상기 객체를 식별하고, 상기 객체 인식 모델은 복수의 샘플 이미지 및 상기 복수의 샘플 이미지에 포함된 복수의 객체를 인공지능 알고리즘을 통해 트레이닝(training)하여 획득될 수 있다.
또한, 상기 객체 및 상기 컨텐츠에 대한 정보에 기초하여 상기 객체 인식 모델을 리트레이닝(retraining)하는 단계를 더 포함할 수 있다.
그리고, 상기 객체를 식별하는 단계는 상기 복수의 프레임 중 상기 적어도 하나의 프레임에 OCR(optical character reader)을 적용하여 텍스트를 식별하고, 상기 컨텐츠를 식별하는 단계는 상기 식별된 텍스트에 기초하여 상기 컨텐츠를 식별할 수 있다.
또한, 상기 외부 장치의 타입을 식별하는 단계를 더 포함하며, 상기 객체를 식별하는 단계는 상기 외부 장치의 타입이 기설정된 타입이면, 상기 적어도 하나의 프레임에서 상기 객체를 식별할 수 있다.
그리고, 상기 복수의 프레임을 순차적으로 디스플레이하는 단계를 더 포함하며, 상기 객체를 식별하는 단계는 상기 복수의 프레임 중 디스플레이된 프레임에서 상기 객체를 식별할 수 있다.
또한, 상기 객체는 상기 적어도 하나의 프레임에 대응되는 컨텐츠의 타이틀, 상기 컨텐츠의 재생 시간, 상기 컨텐츠의 채널 정보 및 상기 적어도 하나의 프레임에 포함된 캐릭터 중 적어도 하나를 포함할 수 있다.
이상과 같은 본 개시의 다양한 실시 예에 따르면, 전자 장치는 멀티미디어 데이터에 포함된 복수의 프레임 중 적어도 하나의 프레임에 포함된 객체에 기초하여 컨텐츠를 식별함에 따라 컨텐츠의 인식에 있어서 외부 서버의 이용을 최소화할 수 있다.
도 1a는 전자 장치의 구성의 일 예를 나타내는 블럭도이다.
도 1b는 전자 장치의 세부 구성의 일 예를 나타내는 블럭도이다.
도 1c는 전자 장치의 구성의 다른 예를 나타내는 블럭도이다.
도 2는 본 개시의 일 실시 예에 따른 전체 시스템을 개략적으로 나타낸 도면이다.
도 3a 내지 도 3c는 본 개시의 일 실시 예에 따른 객체 식별에 따른 동작을 설명하기 위한 도면들이다.
도 4는 본 개시의 일 실시 예에 따른 컨텐츠 인식 방법의 순서를 설명하기 위한 흐름도이다.
도 5는 본 개시의 일 실시 예에 따른 타 전자 장치의 구성을 나타내는 블록도이다.
도 6은 본 개시의 일 실시 예에 따른 학습부를 나타내는 블록도이다.
도 7은 본 개시의 일 실시 예에 따른 응답부를 나타내는 블록도이다.
도 8은 본 개시의 일 실시 예에 따른 전자 장치 및 외부의 서버가 서로 연동함으로써 데이터를 학습하고 판단하는 예시를 나타내는 도면이다.
도 9는 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
이하에서, 첨부된 도면을 이용하여 본 개시의 다양한 실시 예들에 대하여 구체적으로 설명한다.
도 1a는 전자 장치(100)의 구성의 일 예를 나타내는 블럭도이다.
도 1a에 따르면, 전자 장치(100)는 통신부(110) 및 프로세서(120)를 포함한다.
전자 장치(100)는 외부 장치(미도시)와 통신을 수행할 수 있다. 예를 들어, 전자 장치(100)는 TV, 데스크탑 PC, 노트북, 스마트폰, 태블릿 PC, 스마트 안경, 스마트 워치 등과 같이 디스플레이를 구비하고, 셋탑박스(STB)와 같은 외부 장치로부터 수신된 멀티미디어 데이터를 재생할 수 있다.
또는, 전자 장치(100)는 스피커, 컴퓨터 본체 등과 같이 디스플레이가 구비되지 않은 장치일 수도 있다. 이 경우, 전자 장치(100)는 셋탑박스(STB)와 같은 외부 장치로부터 수신된 멀티미디어 데이터를 디스플레이가 구비된 장치로 전송할 수 있다.
또는, 전자 장치(100)는 디스플레이 장치에서 분리된 구성으로서, 디스플레이 장치의 기능 중 영상 처리 기능과 같은 주요 기능을 수행하고, 영상 처리 결과만을 디스플레이 장치로 전송하는 장치일 수도 있다. 이 경우, 디스플레이 장치의 소형화가 가능하며, 전자 장치(100)는 셋탑박스로부터 멀티미디어 데이터를 수신하고, 수신된 멀티미디어 데이터를 디스플레이 장치로 전송할 수 있다. 또는, 전자 장치(100)는 외부 컨텐츠 서버, 방송국 서버 등으로부터 컨텐츠를 수신하고, 영상 처리 후 컨텐츠에 대응되는 멀티미디어 데이터를 디스플레이 장치로 전송할 수도 있다.
즉, 전자 장치(100)는 외부 장치로부터 멀티미디어 데이터를 수신하는 장치이면 어떠한 장치라도 무방하다. 여기서, 외부 장치는 셋탑박스 뿐만 아니라 외부 컨텐츠 서버, 방송국 서버, 위성 케이블 서버 등일 수 있다. 또한, 외부 장치는 USB, CD, 게임기, 셋탑 등일 수도 있으며, 전자 장치(100)로 멀티미디어 데이터를 제공할 수 있는 장치라면 어떠한 장치라도 무방하다. 그리고, 멀티미디어 데이터는 비디오 데이터 및 오디오 데이터 중 적어도 하나를 포함할 수 있다.
전자 장치(100)는 멀티미디어 데이터로부터 컨텐츠를 식별하는 장치로서, 구체적인 동작은 이하에서 설명하기로 한다.
통신부(110)는 다양한 장치와 통신을 수행하기 위한 구성이다. 예를 들어, 통신부(110)는 BT(BlueTooth), BLE(Bluetooth Low Energy), WI-FI(Wireless Fidelity), Zigbee 등과 같이 다양한 통신 방식을 지원할 수 있다. 다만, 이에 한정되는 것은 아니며, 통신 규격 중 무선 통신이 가능하다면 어떤 것이라도 무방하다.
또한, 통신부(110)는 다양한 장치와의 유선 통신이 가능한 통신 인터페이스를 포함할 수 있다. 예를 들어, 통신부(110)는 HDMI, MHL, USB, RGB, D-SUB, DVI 등과 같은 통신 인터페이스를 포함하며, 다양한 서버와 통신을 수행할 수 있다.
전자 장치(100)는 외부 장치와 연결되어 멀티미디어 데이터를 수신할 수 있다. 이 경우, 전자 장치(100)는 HDMI, DP, 썬더볼트, USB, RGB, D-SUB, DVI 등과 같은 통신 인터페이스를 통해 외부 장치와 연결될 수 있으며, 통신부(110)는 유선 통신 인터페이스를 모두 포함할 수 있다. 또한, 유선 통신 인터페이스는 비디오 입력 및 오디오 입력을 하나의 포트를 통해 수행하는 규격 뿐만 아니라 비디오 입력 및 오디오 입력을 두 개의 포트를 통해 수행하는 규격도 포함할 수 있다.
다만, 이에 한정되는 것은 아니며, 유선 통신 인터페이스는 비디오 입력 및 오디오 입력 중 적어도 하나를 수행할 수 있는 규격이라면 어떠한 것이라도 무방하다.
통신부(110)는 이상에서 설명한 유선 통신 인터페이스 외에도 다양한 장치와 유선 통신이 가능한 모든 통신 규격의 인터페이스를 포함할 수 있다.
프로세서(120)는 전자 장치(100)의 동작을 전반적으로 제어한다.
일 실시 예에 따라 프로세서(120)는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), TCON(Time controller)으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(120)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다.
프로세서(120)는 통신부(110)를 통해 외부 장치로부터 멀티미디어 데이터를 수신할 수 있다. 여기서, 외부 장치는 셋탑박스와 같이 전자 장치(100)로 컨텐츠에 대응되는 멀티미디어 데이터를 제공하는 장치일 수 있다. 즉, 외부 장치는 컨텐츠를 영상 처리하여 전자 장치(100)로 멀티미디어 데이터를 제공하며, 전자 장치(100)는 별도의 영상 처리 없이 수신된 멀티미디어 데이터를 디스플레이 장치로 제공하거나 직접 디스플레이할 수 있다.
한편, 외부 장치는 컨텐츠 정보를 멀티미디어 데이터에 포함시켜 전자 장치(100)로 제공할 수도 있다. 예를 들어, 외부 장치는 전체 10000 프레임의 컨텐츠에서 현재 시점에 대응되는 프레임에 컨텐츠 타이틀, 채널 정보 등을 그래픽 데이터로서 부가한 멀티미디어 데이터를 전자 장치(100)로 제공할 수도 있다. 또한, 외부 장치는 컨텐츠 정보를 복수의 연속된 프레임에 포함시켜 전자 장치(100)로 제공할 수도 있다.
프로세서(120)는 멀티미디어 데이터에 포함된 복수의 프레임 중 적어도 하나의 프레임에서 객체를 식별할 수 있다. 예를 들어, 프로세서(120)는 멀티미디어 데이터에 포함된 복수의 프레임 중 적어도 하나의 프레임에서 원숭이를 식별할 수 있다. 또는, 프로세서(120)는 멀티미디어 데이터에 포함된 복수의 프레임 중 적어도 하나의 프레임에서 외부 장치가 부가한 그래픽 데이터를 식별하고, 그래픽 데이터로부터 컨텐츠 타이틀, 채널 정보 등을 식별할 수도 있다. 여기서, 객체는 등장 인물, 로고, 대사, 상품 및 텍스트 중 적어도 하나를 포함할 수 있다.
또는, 프로세서(120)는 멀티미디어 데이터에 포함된 오디오 데이터로부터 객체를 식별할 수도 있다. 이때, 프로세서(120)는 프레임과 같이 특정 시점에서 객체를 식별하는 것이 아니라, 기설정된 시간 구간 단위로 객체를 식별할 수 있다. 예를 들어, 프로세서(120) 멀티미디어 데이터에 포함된 오디오 데이터의 제1 시간 구간 동안의 음성에 기초하여 등장 인물을 식별할 수도 있다. 이하에서는 설명의 편의를 위하여 프레임에서 객체를 식별하는 것으로 설명한다.
프로세서(120)는 제1 서버로부터 제공되는 컨텐츠 안내 정보에 기초하여 식별된 객체에 대응되는 컨텐츠를 식별할 수 있다. 예를 들어, 프로세서(120)는 원숭이가 식별된 경우, 컨텐츠 안내 정보에서 원숭이에 대응되는 원숭이 다큐멘터리를 식별할 수 있다. 여기서, 컨텐츠 안내 정보는 EPG(Electronic Program Guide)와 같이 방송국 등이 제공하는 컨텐츠의 재생 시간, 타이틀, 채널 정보, 요약 정보, 등장 인물, 스토리 및 컨텐츠 자체에 대한 광고 중 적어도 하나를 포함할 수 있다. 또한, 컨텐츠 정보는 컨텐츠의 재생 시간의 직전의 광고, 재생 중의 광고, 재생 직후의 광고 중 적어도 하나를 포함할 수도 있다.
프로세서(120)는 제1 서버로부터 컨텐츠 안내 정보를 수신하고, 수신된 컨텐츠 안내 정보에 기초하여 식별된 객체에 대응되는 컨텐츠를 식별할 수 있다. 또는, 프로세서(120)는 제1 서버에 저장되어 있는 컨텐츠 안내 정보를 검색하여 식별된 객체에 대응되는 컨텐츠를 식별할 수도 있다.
프로세서(120)는 제1 서버로부터 제공되는 컨텐츠 안내 정보에 기초하여 식별된 객체에 대응되는 컨텐츠를 식별하는 경우, 현재 시간 정보 및 카테고리를 더 고려할 수도 있다. 예를 들어, 프로세서(120)는 원숭이가 식별된 경우, 컨텐츠 안내 정보에서 현재 시간에 대응되는 컨텐츠 중 원숭이와 관련된 컨텐츠를 식별할 수 있다. 또는, 프로세서(120)는 원숭이가 식별된 경우, 컨텐츠 안내 정보에 포함된 영화, 다큐멘터리, 예능, 드라마 중 다큐멘터리에서 원숭이와 관련된 컨텐츠를 식별할 수 있다. 만약, 현재 시간 또는 특정 카테고리에서 객체에 대응되는 컨텐츠가 식별되지 않으면, 프로세서(120)는 다른 시간 또는 다른 카테고리에서 객체에 대응되는 컨텐츠를 식별할 수 있다.
한편, 이상의 제1 서버는 외부 장치와는 별개의 장치일 수 있다. 예를 들어, 제1 서버는 외부 장치로 컨텐츠를 제공하는 장치일 수 있다. 또한, 제1 서버는 외부 장치로 컨텐츠 뿐만 아니라 컨텐츠 안내 정보를 제공하는 장치일 수 있다. 다만, 전자 장치(100)는 외부 장치로부터 컨텐츠 안내 정보를 수신하지 않을 수 있다. 이는 셋탑박스와 같은 외부 장치가 전자 장치(100)로 컨텐츠 안내 정보를 제공하기 위해서는 추가 기능을 구비해야 하기 때문이다. 즉, 외부 장치는 전자 장치(100)로 멀티미디어 데이터를 제공하는 기능에 포커싱되어 있는 장치이나, 제1 서버는 컨텐츠 및 컨텐츠 안내 정보 등을 제공하는 기능 뿐만 아니라 다양한 기능을 제공할 수 있는 범용성이 있는 장치일 수 있다. 그에 따라, 프로세서(120)는 외부 장치보다는 제1 서버로부터 컨텐츠 안내 정보를 수신할 수 있다.
한편, 프로세서(120)는 컨텐츠가 식별되지 않으면, 적어도 하나의 프레임에 기초하여 핑거 프린트(finger print)를 획득하고, 획득된 핑거 프린트를 제2 서버로 전송하도록 통신부(110)를 제어하며, 통신부(110)를 통해 제2 서버로부터 핑거 프린트에 대응되는 컨텐츠 정보를 수신할 수 있다.
예를 들어, 프로세서(120)는 객체 인식을 통해 컨텐츠를 식별하지 못할 수도 있다. 가령, 프로세서(120)는 식별된 원숭이에 대응되는 컨텐츠를 컨텐츠 안내 정보로부터 식별하지 못할 수도 있다. 이 경우, 프로세서(120)는 핑거 프린를 이용하여 제1 서버를 통해 컨텐츠 정보를 획득할 수도 있다.
여기서, 제2 서버는 복수의 컨텐츠 및 복수의 컨텐츠 각각에 포함된 프레임별 핑거 프린트를 저장하고, 전자 장치(100)로부터 핑거 프린트가 수신되면 핑거 프린트에 대응되는 컨텐츠 정보를 전자 장치(100)로 전송해주는 서버로서, 제1 서버와는 별개의 장치일 수 있다. 다만, 이에 한정되는 것은 아니며, 제1 서버 및 제2 서버는 동일한 장치일 수도 있다.
반면, 프로세서(120)는 컨텐츠가 식별되면, 핑거 프린트를 획득하지 않을 수 있다. 이는, 객체 인식으로 컨텐츠가 식별되면, 핑거 프린트를 이용하여 컨텐츠를 인식할 필요가 없기 때문이다.
그리고, 핑거 프린트는 프레임을 타 프레임과 구별할 수 있는 식별 정보로서, 프레임 각각의 고유 데이터를 의미한다. 구체적으로, 핑거 프린트는 프레임에 포함된 비디오, 이미지 또는 오디오 신호로부터 추출된 특징 데이터로서, 텍스트를 기반으로 한 메타 데이터와는 달리, 신호 자체 고유의 특성을 반영한다. 따라서, 핑거 프린트를 지문 데이터, DNA 데이터 또는 유전자 데이터라고도 한다. 예컨대, 이미지나 비디오 신호인 경우, 핑거 프린트는 모션 벡터, 색상 등의 특징을 표현하는 데이터일 수 있다.
핑거 프린트는 종래에 알려진 다양한 알고리즘에 의해 추출될 수 있다. 일 예로, 오디오 신호를 일정 시간 간격으로 분할하고, 각 시간 간격에 포함되는 주파수들의 신호의 크기를 계산한다. 그리고 인접한 주파수 구간의 신호들 간의 크기 차를 구하여 주파수 기울기를 계산하고, 기울기가 양수인 경우 1로, 음수인 경우 0으로 양자화함으로써 핑거 프린트 데이터가 생성될 수 있다. 다만, 이에 한정되는 것은 아니며, 핑거 프린트는 얼마든지 다양한 방법으로 획득될 수 있다.
또는, 프로세서(120)는 컨텐츠가 식별되지 않으면, 외부 장치의 타입을 식별하며, 외부 장치의 타입이 기설정된 타입이면, 적어도 하나의 프레임에 기초하여 핑거 프린트를 획득할 수도 있다. 그리고, 프로세서(120)는 획득된 핑거 프린트를 제2 서버로 전송하도록 통신부(110)를 제어하며, 통신부(110)를 통해 제2 서버로부터 핑거 프린트에 대응되는 컨텐츠 정보를 수신할 수 있다. 즉, 프로세서(120)는 핑거 프린트를 제2 서버로 전송하기 전에 외부 장치의 타입을 식별할 수도 있다.
예를 들어, 프로세서(120)는 컨텐츠가 식별되지 않으면 외부 장치의 타입을 식별하며, 외부 장치의 타입이 셋탑박스, 외부 컨텐츠 서버, 방송국 서버 등이면, 핑거 프린트를 획득하여 제2 서버를 통해 컨텐츠 정보를 수신할 수도 있다.
반면, 프로세서(120)는 외부 장치의 타입이 스마트폰, 게임 콘솔, DVR(Digital Video Recorder), DVD 플레이어 등인 경우, 핑거 프린트를 획득하지 않을 수 있다. 예를 들어, 전자 장치(100)가 스마트폰과 미러링된 상태이면, 프로세서(120)는 스마트폰에 디스플레이된 화면을 멀티미디어 데이터로서 수신할 수 있다. 다만, 스마트폰에 디스플레이된 화면에 대응되는 핑거 프린트는 제2 서버에 저장되어 있지 않기 때문에, 프로세서(120)가 핑거 프린트를 제2 서버로 전송하더라도 컨텐츠 정보를 수신할 수 없다. 따라서, 프로세서(120)는 외부 장치의 타입이 기설정된 타입이 아니면, 핑거 프린트를 획득하지 않을 수 있다. 이 경우, 프로세서(120)는 컨텐츠를 식별하기 위한 동작을 중단할 수 있다.
한편, 이상에서는 객체 식별 후 외부 장치의 타입을 식별하는 것으로 설명하였으나, 이에 한정되는 것은 아니다. 예를 들어, 프로세서(120)는 외부 장치의 타입을 먼저 식별하며, 외부 장치의 타입이 기설정된 타입이면 적어도 하나의 프레임에서 객체를 식별할 수도 있다.
예를 들어, 프로세서(120)는 외부 장치의 타입을 식별하며, 외부 장치의 타입이 셋탑박스, 외부 컨텐츠 서버, 방송국 서버 등이면 객체를 식별하고, 외부 장치의 타입이 스마트폰, 게임 콘솔, DVR 등인 경우 객체를 식별하지 않을 수도 있다. 가령, 전자 장치(100)가 스마트폰과 미러링된 상태이면, 프로세서(120)는 스마트폰에 디스플레이된 화면을 멀티미디어 데이터로서 수신할 수 있다. 다만, 스마트폰에 디스플레이된 화면으로부터 식별된 객체는 컨텐츠 안내 정보와 관련이 없을 수 있다. 또한, 스마트폰에 디스플레이된 화면에 대응되는 핑거 프린트는 제2 서버에 저장되어 있지 않을 수 있다. 따라서, 프로세서(120)는 외부 장치의 타입이 기설정된 타입이 아니면, 객체의 식별 동작 및 핑거 프린트 획득 동작을 수행하지 않을 수 있다. 이 경우, 프로세서(120)는 컨텐츠를 식별하기 위한 동작을 중단할 수 있다.
한편, 이상에서는 외부 장치의 타입을 식별하는 것으로 설명하였으나, 이에 한정되는 것은 아니다. 예를 들어, 프로세서(120)는 외부 장치와의 통신 방법을 식별하며, 외부 장치와의 통신 방법이 미러링, USB 등인 경우에는 객체를 식별하지 않고, 나머지 통신 방법인 경우에는 객체를 식별할 수도 있다. 또는, 프로세서(120)는 객체를 먼저 식별하고, 컨텐츠가 식별되지 않으면, 외부 장치와의 통신 방법을 식별할 수 있다. 그리고, 프로세서(120)는 외부 장치와의 통신 방법이 미러링, USB 등인 경우에는 핑거 프린트를 획득하지 않고, 나머지 통신 방법인 경우에는 핑거 프린트를 획득할 수도 있다. 또는, 프로세서(120)는 외부 장치로부터 수신되는 멀티미디어 데이터에 기초하여 객체의 식별 여부를 결정할 수도 있다.
한편, 프로세서(120)는 식별된 객체 및 식별된 컨텐츠 중 적어도 하나를 제3 서버로 전송하도록 통신부(110)를 제어하고, 통신부(110)를 통해 제3 서버로부터 식별된 객체 및 식별된 컨텐츠 중 적어도 하나에 대응되는 광고를 수신할 수 있다. 이러한 동작을 통해 제3 서버는 사용자의 시청 이력을 획득할 수 있고, 제3 서버는 사용자의 시청 이력에 기초하여 광고를 제공할 수 있다. 예를 들어, 사용자의 시청 이력 중 영화의 시청 이력이 많다면, 제3 서버는 영화 트레일러, 신작 정보 등을 전자 장치(100)로 제공할 수 있다.
또한, 프로세서(120)는 사용자의 시청 이력에 기초하여 컨텐츠를 식별할 수도 있다. 가령, 전자 장치(100)의 사용자의 영화 컨텐츠의 시청 이력이 드라마 시청 이력보다 많은 경우, 프로세서(120)는 시청 이력에 대한 사용자 정보를 스토리지에 저장할 수 있다. 이후, 프로세서(120)는 객체 인식을 통해 멀티미디어 데이터로부터 특정 배우를 식별할 수 있다. 그리고, 프로세서(120)는 특정 배우가 영화 및 드라마에 모두 출연하는 배우이더라도, 스토리지에 저장된 사용자 정보에 기초하여 멀티미디어 데이터를 영화 중 하나로서 식별할 수 있다.
또한, 프로세서(120)는 컨텐츠를 식별하지 못하더라도 스토리지에 저장된 사용자 정보를 제3 서버로 전송하도록 통신부(110)를 제어하고, 통신부(110)를 통해 제3 서버로부터 사용자 정보에 대응되는 광고를 수신할 수도 있다. 예를 들어, 사용자의 시청 이력 중 영화의 시청 이력이 많다면, 제3 서버는 현재 시청자가 시청하는 컨텐츠의 종류와 무관하게 영화 트레일러, 신작 정보 등을 전자 장치(100)로 제공할 수도 있다.
여기서, 제3 서버는 제1 서버 및 제2 서버와는 별개의 서버일 수 있다. 다만, 이에 한정되는 것은 아니며, 제3 서버는 제1 서버 및 제2 서버 중 적어도 하나와 동일한 서버일 수도 있다.
한편, 전자 장치(100)는 스토리지를 더 포함하며, 프로세서(120)는 스토리지에 저장된 객체 인식 모델에 기초하여 적어도 하나의 프레임에서 객체를 식별할 수 있다. 여기서, 객체 인식 모델은 복수의 샘플 이미지 및 복수의 샘플 이미지에 포함된 복수의 객체를 인공지능 알고리즘을 통해 트레이닝(training)하여 획득될 수 있다.
여기서, 스토리지는 프로세서(120)와 별개의 구성일 수 있다. 다만, 이에 한정되는 것은 아니며, 프로세서(120) 내부에 객체 인식 모델이 저장된 스토리지가 구비될 수도 있다. 또는, 프로세서(120) 자체가 객체 인식 모델에 대응되도록 하드웨어적으로 구현될 수도 있다. 이하에서는 설명의 편의를 위하여 스토리지와 프로세서(120)가 별개의 구성인 것으로 설명한다.
이러한 객체 인식 모델은 타 전자 장치에서 트레이닝하여 획득될 수 있다. 다만, 이에 한정되는 것은 아니며, 전자 장치(100)가 복수의 샘플 이미지 및 복수의 샘플 이미지에 포함된 복수의 객체를 인공지능 알고리즘을 통해 트레이닝하여 직접 객체 인식 모델을 획득할 수도 있다.
그리고, 프로세서(120)는 객체 및 컨텐츠에 대한 정보에 기초하여 객체 인식 모델을 리트레이닝(retraining)할 수 있다. 예를 들어, 프로세서(120)는 원숭이가 반복되서 식별되는 경우, 리트레이닝에 따라 원숭이의 식별 속도, 정확도 등이 향상된 인공지능 알고리즘을 획득할 수 있다.
한편, 프로세서(120)는 복수의 프레임 중 적어도 하나의 프레임에 OCR(optical character reader)을 적용하여 텍스트를 식별하고, 식별된 텍스트에 기초하여 컨텐츠를 식별할 수도 있다.
이 경우, 프로세서(120)는 식별된 텍스트를 컨텐츠 안내 정보와 비교하여 컨텐츠 정보를 획득할 수 있다. 또는, 프로세서(120)는 컨텐츠 안내 정보와 비교하지 않고, 식별된 텍스트 자체를 컨텐츠 정보로서 식별할 수도 있다.
한편, 전자 장치(100)는 디스플레이를 더 포함하고, 프로세서(120)는 복수의 프레임을 순차적으로 디스플레이하도록 디스플레이를 제어하며, 복수의 프레임 중 디스플레이된 프레임에서 객체를 식별할 수 있다.
예를 들어, 프로세서(120)는 비디오 프레임이 수신됨에 따라 객체을 식별하는 것이 아니라, 비디오 프레임이 수신되고, 디스플레이된 후에야 객체를 식별할 수도 있다. 즉, 프로세서(120)는 사용자가 비디오 프레임에 대응되는 컨텐츠를 시청하는 경우에만, 객체를 식별할 수도 있다. 이러한 동작을 통해 사용자의 컨텐츠 시청 내역이 획득될 수 있다.
한편, 이상에서 설명한 객체는 적어도 하나의 프레임에 대응되는 컨텐츠의 타이틀, 컨텐츠의 재생 시간, 컨텐츠의 채널 정보 및 적어도 하나의 프레임에 포함된 캐릭터 중 적어도 하나를 포함할 수 있다.
도 1b는 전자 장치(100)의 세부 구성의 일 예를 나타내는 블럭도이다. 전자 장치(100)는 통신부(110) 및 프로세서(120)를 포함할 수 있다. 또한, 도 1b에 따르면, 전자 장치(100)는 스토리지(130), 디스플레이(140), 사용자 인터페이스부(150), 스피커(160), 버튼(170), 마이크(180)를 더 포함할 수도 있다. 도 1b에 도시된 구성요소들 중 도 1a에 도시된 구성요소와 중복되는 부분에 대해서는 자세한 설명을 생략하도록 한다.
프로세서(120)는 스토리지(130)에 저장된 각종 프로그램을 이용하여 전자 장치(100)의 동작을 전반적으로 제어한다.
구체적으로, 프로세서(120)는 RAM(121), ROM(122), 메인 CPU(123), 제1 내지 n 인터페이스(124-1 ~ 124-n), 버스(125)를 포함한다.
RAM(121), ROM(122), 메인 CPU(123), 제1 내지 n 인터페이스(124-1 ~ 124-n) 등은 버스(125)를 통해 서로 연결될 수 있다.
제1 내지 n 인터페이스(124-1 내지 124-n)는 상술한 각종 구성요소들과 연결된다. 인터페이스들 중 하나는 네트워크를 통해 외부 장치와 연결되는 네트워크 인터페이스가 될 수도 있다.
메인 CPU(123)는 스토리지(130)에 액세스하여, 스토리지(130)에 저장된 O/S를 이용하여 부팅을 수행한다. 그리고, 스토리지(130)에 저장된 각종 프로그램 등을 이용하여 다양한 동작을 수행한다.
ROM(122)에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 턴온 명령이 입력되어 전원이 공급되면, 메인 CPU(123)는 ROM(122)에 저장된 명령어에 따라 스토리지(130)에 저장된 O/S를 RAM(121)에 복사하고, O/S를 실행시켜 시스템을 부팅시킨다. 부팅이 완료되면, 메인 CPU(123)는 스토리지(130)에 저장된 각종 어플리케이션 프로그램을 RAM(121)에 복사하고, RAM(121)에 복사된 어플리케이션 프로그램을 실행시켜 각종 동작을 수행한다.
메인 CPU(123)는 아이콘, 이미지, 텍스트 등과 같은 다양한 객체를 포함하는 화면을 생성할 수 있다. 메인 CPU(123)는 수신된 제어 명령에 기초하여 화면의 레이아웃에 따라 각 객체들이 표시될 좌표값, 형태, 크기, 컬러 등과 같은 속성값을 획득할 수 있다. 메인 CPU(123)는 획득된 속성값에 기초하여 객체를 포함하는 다양한 레이아웃의 화면을 생성할 수 있다. 생성된 화면은 디스플레이(140)의 디스플레이 영역 내에 표시된다.
한편, 프로세서(120)는 오디오 데이터에 대한 처리를 수행할 수 있다. 프로세서(120)는 오디오 데이터에 대한 디코딩이나 증폭, 노이즈 필터링 등과 같은 다양한 처리가 수행할 수 있다.
또한, 프로세서(120)는 멀티미디어 데이터에 대한 처리를 수행할 수 있다. 프로세서(120)는 멀티미디어 데이터에 대한 디코딩, 스케일링, 노이즈 필터링, 프레임 레이트 변환, 해상도 변환 등과 같은 다양한 이미지 처리를 수행할 수 있다.
한편, 상술한 프로세서(120)의 동작은 스토리지(130)에 저장된 프로그램에 의해 이루어질 수 있다.
스토리지(130)는 전자 장치(100)를 구동시키기 위한 O/S(Operating System) 소프트웨어 모듈, 객체 인식 모듈, 객체 인식 인공지능 모듈, 인공지능 트레이닝 모듈 및 OCR 모듈 등과 같이 다양한 데이터를 저장한다.
통신부(110)는 다양한 유형의 통신방식에 따라 다양한 유형의 외부 장치와 통신을 수행하는 구성이다. 통신부(110)는 와이파이 칩(111), 블루투스 칩(112), 무선 통신 칩(113), NFC 칩(114) 등을 포함할 수 있다.
와이파이 칩(111), 블루투스 칩(112)은 각각 WiFi 방식, 블루투스 방식으로 통신을 수행한다. 와이파이 칩(111)이나 블루투스 칩(112)을 이용하는 경우에는 SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다. 무선 통신 칩(113)은 IEEE, 지그비(zigbee), 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evoloution) 등과 같은 다양한 통신 규격에 따라 통신을 수행하는 칩을 의미한다. NFC 칩(114)은 135kHz, 13.56MHz, 433MHz, 860~960MHz, 2.45GHz 등과 같은 다양한 RF-ID 주파수 대역들 중에서 13.56MHz 대역을 사용하는 NFC(Near Field Communication) 방식으로 동작하는 칩을 의미한다.
또한, 통신부(110)는 HDMI, MHL, USB, DP, 썬더볼트, RGB, D-SUB, DVI 등과 같은 유선 통신 인터페이스를 더 포함할 수 있다. 프로세서(120)는 통신부(110)의 유선 통신 인터페이스를 통해 외부 장치와 연결될 수 있다. 이 경우, 프로세서(120)는 유선 통신 인터페이스를 통해 외부 장치로부터 멀티미디어 데이터를 수신할 수 있다.
디스플레이(140)는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, PDP(Plasma Display Panel) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 디스플레이(140) 내에는 a-si TFT, LTPS(low temperature poly silicon) TFT, OTFT(organic TFT) 등과 같은 형태로 구현될 수 있는 구동 회로, 백라이트 유닛 등도 함께 포함될 수 있다. 한편, 디스플레이(140)는 터치 감지부와 결합하여 터치 스크린으로 구현될 수 있다.
사용자 인터페이스부(150)는 다양한 사용자 인터랙션(interaction)을 수신한다. 여기서, 사용자 인터페이스부(150)는 전자 장치(100)의 구현 예에 따라 다양한 형태로 구현 가능하다. 예를 들어, 사용자 인터페이스부(150)는 전자 장치(100)에 구비된 버튼, 사용자 음성을 수신하는 마이크, 사용자 모션을 감지하는 카메라 등일 수 있다. 또는, 전자 장치(100)가 터치 기반의 단말 장치로 구현되는 경우 사용자 인터페이스부(150)는 터치패드와 상호 레이어 구조를 이루는 터치 스크린 형태로 구현될 수도 있다. 이 경우, 사용자 인터페이스부(150)는 상술한 디스플레이(150)로 사용될 수 있게 된다.
스피커(160)는 프로세서(120)에서 처리된 각종 오디오 데이터 뿐만 아니라 각종 알림 음이나 음성 메시지 등을 출력하는 구성요소이다.
버튼(170)은 전자 장치(100)의 본체 외관의 전면부나 측면부, 배면부 등의 임의의 영역에 형성된 기계적 버튼, 터치 패드, 휠 등과 같은 다양한 유형의 버튼이 될 수 있다.
마이크(180)는 사용자 음성이나 기타 소리를 입력받아 오디오 데이터로 변환하기 위한 구성이다.
도 1c는 전자 장치(100)의 구성의 다른 예를 나타내는 블럭도이다. 도 1c에 따르면, 전자 장치(100)는 통신부(110) 및 프로세서(120)를 포함하며, 프로세서(120)는 객체 인식 모델이 저장된 스토리지(130)를 포함할 수 있다. 즉, 프로세서(120)는 객체 인식 모델을 포함하는 온-칩(on-chip) 형태로 제조될 수도 있다. 여기서, 스토리지(120)는 캐시 메모리, 레지스터 파일 및 버퍼 등으로 구현될 수 있다.
이상과 같은 방법을 통해 프로세서(120)는 핑거 프린트의 획득을 최소화하면서 컨텐츠를 식별할 수 있다.
이하에서는 도면을 통해서 전자 장치(100)의 동작을 좀더 구체적으로 설명한다.
도 2는 본 개시의 일 실시 예에 따른 전체 시스템을 개략적으로 나타낸 도면이다.
도 2에 도시된 바와 같이, 전자 장치(100)는 디스플레이 장치(200), 외부 장치(300), 제1 서버(400-1), 제2 서버(400-2) 및 제3 서버(400-3)와 연결될 수 있다.
프로세서(120)는 외부 장치(200)로부터 수신된 멀티미디어 데이터를 디스플레이 장치(200)로 전송할 수 있다. 프로세서(120)는 멀티미디어 데이터로부터 객체를 식별하고, 제1 서버(400-1)로부터 제공되는 컨텐츠 안내 정보에 기초하여 컨텐츠를 식별할 수 있다. 여기서, 컨텐츠 안내 정보는 멀티미디어 데이터를 수신하기 전에 전자 장치(100)에 저장된 정보일 수 있다. 다만, 이에 한정되는 것은 아니며, 프로세서(120)는 멀티미디어 데이터가 수신되면, 제1 서버(400-1)로 컨텐츠 안내 정보를 요청하여 수신할 수도 있다.
그리고, 프로세서(120)는 컨텐츠가 인식되지 않고 외부 장치(200)가 기설정된 장치인 경우, 멀티미디어 데이터에 포함된 적어도 하나의 프레임에 기초하여 핑거 프린트를 획득하고, 획득된 핑거 프린트를 제2 서버(400-2)로 전송하며, 제2 서버(400-2)로부터 핑거 프린트에 대응되는 컨텐츠 정보를 수신할 수 있다.
그리고, 프로세서(120)는 식별된 객체 및 식별된 컨텐츠 중 적어도 하나를 제3 서버(400-3)로 전송하고, 제3 서버(400-3)로부터 식별된 객체 및 식별된 컨텐츠 중 적어도 하나에 대응되는 광고를 수신할 수 있다. 프로세서(120)는 수신된 광고를 디스플레이 장치(200)로 전송할 수 있다.
도 2에서는 전자 장치(100)와 디스플레이 장치(200)가 별개인 것으로 도시하였으나, 이에 한정되는 것은 아니다. 예를 들어, 전자 장치(100) 및 디스플레이 장치(200)는 하나의 장치로 구현될 수도 있다. 또는, 전자 장치(100)가 USB 형태로 구현되며, 디스플레이 장치(200)에 접속된 형태로 사용될 수도 있다.
또한, 도 2에서 제1 서버(400-1), 제2 서버(400-2) 및 제3 서버(400-3)가 각각 별개인 것을 도시하였으나, 제1 서버(400-1), 제2 서버(400-2) 및 제3 서버(400-3) 중 적어도 두 개가 하나의 서버로 구현될 수도 있다.
도 3a 내지 도 3c는 본 개시의 일 실시 예에 따른 객체 식별에 따른 동작을 설명하기 위한 도면들이다.
프로세서(120)는 멀티미디어 데이터에 포함된 복수의 프레임 중 적어도 하나의 프레임에서 객체를 식별할 수 있다. 예를 들어, 프로세서(120)는 도 3a에 도시된 바와 같이, 프레임에서 원숭이를 식별할 수 있다.
다만, 이에 한정되는 것은 아니며, 프로세서(120)는 컨텐츠의 타이틀, 컨텐츠의 재생 시간, 컨텐츠의 채널 정보, 적어도 하나의 프레임에 포함된 캐릭터, 로고, 컨텐츠 이미지, 외부 장치의 종류, 우편 번호, 키워드, 장르, 시청률 및 평가 중 적어도 하나를 식별할 수도 있다.
한편, 프로세서(120)는 멀티미디어 데이터에 포함된 복수의 프레임에서 객체를 식별할 수도 있다. 예를 들어, 프로세서(120)는 도 3a와 같은 원숭이가 기설정된 개수의 프레임에서 식별되는 경우에, 컨텐츠 안내 정보에 기초하여 원숭이에 대응되는 컨텐츠를 식별할 수도 있다. 여기서, 복수의 프레임은 연속된 프레임일 수 있다.
또는, 프로세서(120)는 프레임의 특정 영역에서 객체를 식별할 수도 있다. 예를 들어, 프로세서(120)는 프레임을 3 × 3의 영역으로 구분하고, 가운데 영역에서 객체를 식별할 수도 있다.
한편, 도 3a에서는 컨텐츠에 부가 정보가 포함되지 않은 화면을 도시하였으나, 이에 한정되는 것은 아니다. 예를 들어, 외부 장치는 도 3a와 같은 프레임에 OSD(On Screen Display) 정보가 포함된 멀티미디어 데이터를 전자 장치(100)로 전송할 수도 있다. 이 경우, 프로세서(120)는 프레임에 OCR을 적용하여 OSD 정보를 획득할 수도 있다. 또는, 프로세서(120)는 OSD 정보와 객체 인식을 모두 수행할 수도 있다. 예를 들어, 프로세서(120)는 프레임에 포함된 텍스트를 OSD 정보로서 식별하고, 객체 인식을 통해 원숭이를 식별할 수 있다. 그리고, 프로세서(120)는 식별된 텍스트 및 원숭이에 기초하여 컨텐츠를 식별할 수도 있다.
이때, 프로세서(120)는 OSD 정보가 포함된 일부 영역을 제외하고 객체를 식별할 수도 있다. 예를 들어, 프레임의 하단에 OSD 정보가 포함된 경우, 프로세서(120)는 OSD 정보가 포함된 프레임의 하단이 아닌 나머지 영역에서 객체를 식별할 수도 있다.
프로세서(120)는 객체가 식별되면 컨텐츠 안내 정보에 기초하여 객체에 대응되는 컨텐츠를 식별할 수도 있다. 예를 들어, 프로세서(120)는 도 3b에 도시된 바와 같은 컨텐츠 안내 정보에 기초하여 원숭이에 대응되는 글로벌 다큐멘터리(안녕! 원숭이)를 식별할 수 있다.
도 3b는 설명의 편의를 위하여 시청자에게 보여지는 컨텐츠 안내 정보 화면을 도시하였고, 전자 장치(100)에 저장되어 있는 컨텐츠 안내 정보는 텍스트 형식일 수 있다. 또한, 컨텐츠 안내 정보는 이미지를 더 포함할 수 있으며, 프로세서(120)는 컨텐츠 안내 정보에 포함된 이미지로부터 객체를 식별하고, 프레임에서 식별된 객체와 컨텐츠 안내 정보에 포함된 이미지에서 식별된 객체를 비교하여 컨텐츠를 식별할 수도 있다.
프로세서(120)는 컨텐츠의 식별 정보를 제3 서버(400-3)로 전송하도록 통신부(110)를 제어하고, 통신부(110)를 통해 제3 서버(400-3)로부터 컨텐츠의 식별 정보에 대응되는 광고를 수신할 수 있다. 예를 들어, 프로세서(120)는 도 3c에 도시된 바와 같이, 도 3b에서 식별된 글로벌 다큐멘터리(안녕! 원숭이)에 대한 정보를 제3 서버(400-3)로 전송하도록 통신부(110)를 제어하고, 통신부(110)를 통해 제3 서버(400-3)로부터 글로벌 다큐멘터리(안녕! 원숭이)와 관련성이 높은 여행 광고를 수신할 수 있다.
다만, 이에 한정되는 것은 아니며, 프로세서(120)는 컨텐츠의 식별 정보 뿐만 아니라 식별된 객체, 사용자의 시청 이력 등을 제3 서버(400-3)로 전송할 수도 있다.
한편, 이상에서는 수신되는 광고가 식별된 객체 및 식별된 컨텐츠 중 적어도 하나에 대응되는 상품 광고인 것으로 설명하였으나, 이에 한정되는 것은 아니다. 예를 들어, 수신되는 광고는 식별된 컨텐츠와 관련된 컨텐츠일 수도 있다. 가령, 수신되는 광고는 식별된 컨텐츠의 다음 회차에 대한 예고편일 수도 있다.
도 4는 본 개시의 일 실시 예에 따른 컨텐츠 인식 방법의 순서를 설명하기 위한 흐름도이다.
먼저, 프로세서(120)는 멀티미디어 데이터에 포함된 복수의 프레임 중 적어도 하나의 프레임에서 객체를 식별할 수 있다(S410). 그리고, 객체가 식별되면(S410-Y), 프로세서(120)는 인식된 객체에 기초하여 컨텐츠를 식별할 수 있다(S420). 프로세서(120)는 컨텐츠가 식별되면(S420-Y), 동작을 종료할 수 있다.
또는, 프로세서(120)는 객체가 식별되지 않거나(S410-N), 컨텐츠가 식별되지 않으면(S420-N), 외부 장치의 타입이 기설정된 타입인지 판단할 수 있다(S430). 외부 장치의 타입이 기설정된 타입이면(S430-Y), 프로세서(120)는 복수의 프레임 중 적어도 하나의 프레임에서 핑거 프린트를 획득할 수 있다(S440).
프로세서(120)는 핑거 프린트를 서버로 전송하고(S450), 서버로부터 핑거 프린트에 대응되는 컨텐츠의 식별 정보를 수신할 수 있다(S460).
프로세서(120)는 서버로부터 컨텐츠의 식별 정보가 수신되면 동작을 종료할 수 있다.
또는, 프로세서(120)는 외부 장치의 타입이 기설정된 타입이 아니면(S430-N), 동작을 종료할 수도 있다. 이는, 핑거 프린트를 서버로 전송하더라도 컨텐츠의 식별 정보를 수신할 수 없다고 판단한 경우로서, 예를 들어 외부 장치의 타입이 스마트폰, 게임 콘솔 등인 경우일 수 있다.
한편, 프로세서(120)는 객체가 식별되지 않거나(S410-N), 컨텐츠가 식별되지 않는 경우(S420-N), 외부 장치의 타입이 기설정된 타입인지 판단하는 단계(S430)를 생략하고, 곧바로 복수의 프레임 중 적어도 하나의 프레임에서 핑거 프린트를 획득할 수도 있다(S440).
도 5는 본 개시의 일 실시 예에 따른 타 전자 장치(500)의 구성을 나타내는 블록도이다. 여기서, 타 전자 장치(500)는 인공지능 알고리즘을 통해 객체 인식 모델을 획득하는 장치일 수 있다.
도 5를 참조하면, 타 전자 장치(500)는 학습부(510) 및 응답부(520) 중 적어도 하나를 포함할 수 있다.
학습부(510)는 학습 데이터를 이용하여 객체를 식별하기 위한 인공지능 모델을 생성 또는 학습시킬 수 있다. 학습부(510)는 수집된 학습 데이터를 이용하여 판단 기준을 갖는 판단 모델을 생성할 수 있다.
응답부(520)는 소정의 데이터를 학습된 인공지능 모델의 입력 데이터로 사용하여, 소정의 이미지에 포함된 객체를 획득할 수 있다.
본 개시의 일 실시 예로, 학습부(510) 및 응답부(520)는 타 전자 장치(500)에 포함될 수 있으나, 이는 일 실시 예에 불과할 뿐, 전자 장치(100) 내부에 탑재될 수 있다. 구체적으로, 학습부(510)의 적어도 일부 및 응답부(520)의 적어도 일부는, 소프트웨어 모듈로 구현되거나 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치(100)에 탑재될 수 있다. 예를 들어, 학습부(510) 및 응답부(520) 중 적어도 하나는 인공 지능(artificial intelligence, AI)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다. 이때, 인공 지능을 위한 전용 하드웨어 칩은 확률 연산에 특화된 전용 프로세서로서, 기존의 범용 프로세서보다 병렬처리 성능이 높아 기계 학습과 같은 인공 지능 분야의 연산 작업을 빠르게 처리할 수 있다. 학습부(510) 및 응답부(520)가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 이 경우, 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
이 경우, 학습부(510) 및 응답부(520)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 학습부(510) 및 응답부(520) 중 하나는 전자 장치(100)에 포함되고, 나머지 하나는 타 전자 장치(500)에 포함될 수 있다. 또한, 학습부(510) 및 응답부(520)는 유선 또는 무선으로 통하여, 학습부(510)가 구축한 모델 정보를 응답부(520)로 제공할 수도 있고, 학습부(520)로 입력된 데이터가 추가 학습 데이터로서 학습부(510)로 제공될 수도 있다.
도 6은 본 개시의 일 실시 예에 따른 학습부(510)를 나타내는 블록도이다.
도 6을 참조하면, 일부 실시 예에 따른 학습부(510)는 학습 데이터 획득부(510-1) 및 모델 학습부(510-4)를 포함할 수 있다. 또한, 학습부(510)는 학습 데이터 전처리부(510-2), 학습 데이터 선택부(510-3) 및 모델 평가부(510-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다.
학습 데이터 획득부(510-1)는 객체 식별을 위한 인공지능 모델에 필요한 학습 데이터를 획득할 수 있다. 본 개시의 실시 예로, 학습 데이터 획득부(510-1)는 복수의 샘플 이미지 및 복수의 샘플 이미지에 포함된 복수의 객체를 학습 데이터로서 획득할 수 있다. 학습 데이터는 학습부(510) 또는 학습부(510)의 제조사가 수집 또는 테스트한 데이터가 될 수도 있다.
모델 학습부(510-4)는 학습 데이터를 이용하여, 인공지능 모델이 이미지로부터 객체를 식별하는 기준을 갖도록 학습시킬 수 있다. 예로, 모델 학습부(510-4)는 학습 데이터 중 적어도 일부를 지도 학습(supervised learning)을 통하여, 인공지능 모델을 학습시킬 수 있다. 또는, 모델 학습부(510-4)는, 예를 들어, 별다른 지도 없이 학습 데이터를 이용하여 스스로 학습함으로써, 객체를 식별하기 위한 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 인공지능 모델을 학습시킬 수 있다. 또한, 모델 학습부(510-4)는, 예를 들어, 학습에 따른 응답 제공의 결과가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 인공지능 모델을 학습시킬 수 있다. 또한, 모델 학습부(510-4)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 인공지능 모델을 학습시킬 수 있다
또한, 모델 학습부(510-4)는 입력 데이터를 이용하여 객체 식별을 위하여 어떤 학습 데이터를 이용해야 하는지에 대한 선별 기준을 학습할 수도 있다.
모델 학습부(510-4)는 미리 구축된 인공지능 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 인공지능 모델을 학습할 인공지능 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입별로 기 분류되어 있을 수 있으며, 인공지능 모델은 데이터의 타입별로 미리 구축되어 있을 수 있다.
인공지능 모델이 학습되면, 모델 학습부(510-4)는 학습된 인공지능 모델을 저장할 수 있다. 이 경우, 모델 학습부(510-4)는 학습된 인공지능 모델을 타 전자 장치(500)의 메모리에 저장할 수 있다. 또는, 모델 학습부(510-4)는 학습된 인공지능 모델을 타 전자 장치(500)와 유선 또는 무선 네트워크로 연결되는 서버 또는 전자 장치의 메모리에 저장할 수도 있다.
학습부(510)는 인공지능 모델의 응답 결과를 향상시키거나, 인공지능 모델의 생성에 필요한 자원 또는 시간을 절약하기 위하여, 학습 데이터 전처리부(510-2) 및 학습 데이터 선택부(510-3)를 더 포함할 수도 있다.
학습 데이터 전처리부(510-2)는 이미지로부터 객체를 식별하는 학습에 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 즉, 학습 데이터 전처리부(510-2)는 획득된 데이터를 기 설정된 포맷으로 가공할 수 있다. 예를 들어, 학습 데이터 전처리부(510-2)는 샘플 이미지를 복수의 영역으로 구분할 수 있다.
학습 데이터 선택부(510-3)는 학습 데이터 획득부(510-1)에서 획득된 데이터 또는 학습 데이터 전처리부(510-2)에서 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 학습 데이터는 모델 학습부(510-4)에 제공될 수 있다. 학습 데이터 선택부(510-3)는 기 설정된 선별 기준에 따라, 획득되거나 전처리된 데이터 중에서 학습에 필요한 학습 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부(510-3)는 모델 학습부(510-4)에 의한 학습에 의해 기 설정된 선별 기준에 따라 학습 데이터를 선택할 수도 있다.
학습부(510)는 인공지능 모델의 응답 결과를 향상시키기 위하여, 모델 평가부(510-5)를 더 포함할 수도 있다.
모델 평가부(510-5)는 인공지능 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 응답 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(510-4)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 인공지능 모델을 평가하기 위한 기 정의된 데이터일 수 있다.
한편, 학습된 인공지능 모델이 복수 개가 존재하는 경우, 모델 평가부(510-5)는 각각의 학습된 인공지능 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 인공지능 모델로서 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(510-5)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 인공지능 모델로서 결정할 수 있다.
도 7은 본 개시의 일 실시 예에 따른 응답부(520)를 나타내는 블록도이다.
도 7을 참조하면, 일부 실시 예에 따른 응답부(520)는 입력 데이터 획득부(520-1) 및 응답 결과 제공부(520-4)를 포함할 수 있다.
또한, 응답부(520)는 입력 데이터 전처리부(520-2), 입력 데이터 선택부(520-3) 및 모델 갱신부(520-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다.
입력 데이터 획득부(520-1)는 객체를 식별하기 위해 필요한 데이터를 획득할 수 있다. 응답 결과 제공부(520-4)는 입력 데이터 획득부(520-1)에서 획득된 입력 데이터를 입력 값으로 학습된 인공지능 모델에 적용하여 이미지로부터 객체를 식별할 수 있다. 응답 결과 제공부(520-4)는 후술할 입력 데이터 전처리부(520-2) 또는 입력 데이터 선택부(520-3)에 의해 선택된 데이터를 입력 값으로 인공지능 모델에 적용하여 응답 결과를 획득할 수 있다. 응답 결과는 인공지능 모델에 의해 결정될 수 있다.
일 실시 예로, 응답 결과 제공부(520-4)는 입력 데이터 획득부(520-1)에서 획득한 객체를 식별하는 인공지능 모델을 적용하여 이미지로부터 객체를 식별할 수 있다.
응답부(520)는 인공지능 모델의 응답 결과를 향상시키거나, 응답 결과의 제공을 위한 자원 또는 시간을 절약하기 위하여, 입력 데이터 전처리부(520-2) 및 입력 데이터 선택부(520-3)를 더 포함할 수도 있다.
입력 데이터 전처리부(520-2)는 객체를 식별하기 위해 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 즉, 입력 데이터 전처리부(520-2)는 응답 결과 제공부(520-4)가 획득된 데이터를 기 정의된 포맷으로 가공할 수 있다.
입력 데이터 선택부(520-3)는 입력 데이터 획득부(520-1)에서 획득된 데이터 또는 입력 데이터 전처리부(520-2)에서 전처리된 데이터 중에서 응답 제공에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 응답 결과 제공부(520-4)에게 제공될 수 있다. 입력 데이터 선택부(520-3)는 응답 제공을 위한 기 설정된 선별 기준에 따라, 획득되거나 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 입력 데이터 선택부(520-3)는 모델 학습부(510-4)에 의한 학습에 의해 기 설정된 선별 기준에 따라 데이터를 선택할 수도 있다.
모델 갱신부(520-5)는 응답 결과 제공부(520-4)에 의해 제공되는 응답 결과에 대한 평가에 기초하여, 인공지능 모델이 갱신되도록 제어할 수 있다. 예를 들어, 모델 갱신부(520-5)는 응답 결과 제공부(520-4)에 의해 제공되는 응답 결과를 모델 학습부(510-4)에게 제공함으로써, 모델 학습부(510-4)가 인공지능 모델을 추가 학습 또는 갱신하도록 요청할 수 있다.
도 8은 본 개시의 일 실시 예에 따른 전자 장치(100) 및 외부의 서버(S)가 서로 연동함으로써 데이터를 학습하고 판단하는 예시를 나타내는 도면이다.
도 8을 참조하면, 외부의 서버(S)는 이미지로부터 객체를 식별하기 위한 기준을 학습할 수 있으며, 전자 장치(100)는 서버(S)에 의한 학습 결과에 기초하여 이미지로부터 객체를 식별할 수 있다.
이 경우, 서버(S)의 모델 학습부(510-4)는 도 6에 도시된 학습부(510)의 기능을 수행할 수 있다. 즉, 서버(S)의 모델 학습부(510-4)는 객체를 식별하기 위하여 어떤 이미지 정보를 이용할지, 이상의 정보를 이용하여 객체를 어떻게 식별할지에 관한 기준을 학습할 수 있다.
또한, 전자 장치(100)의 응답 결과 제공부(520-4)는 입력 데이터 선택부(520-3)에 의해 선택된 데이터를 서버(S)에 의해 생성된 인공지능 모델에 적용하여 이미지로부터 객체를 식별할 수 있다. 또는, 전자 장치(100)의 응답 결과 제공부(520-4)는 서버(S)에 의해 생성된 인공지능 모델을 서버(S)로부터 수신하고, 수신된 인공지능 모델을 이용하여 이미지로부터 객체를 식별할 수 있다.
도 9는 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
먼저, 외부 장치로부터 멀티미디어 데이터를 수신한다(S910). 그리고, 멀티미디어 데이터에 포함된 복수의 프레임 중 적어도 하나의 프레임에서 객체를 식별한다(S920). 그리고, 제1 서버로부터 제공되는 컨텐츠 안내 정보에 기초하여 식별된 객체에 대응되는 컨텐츠를 식별한다(S930).
여기서, 컨텐츠가 식별되지 않으면, 적어도 하나의 프레임에 기초하여 핑거 프린트(finger print)를 획득하는 단계, 획득된 핑거 프린트를 제2 서버로 전송하는 단계 및 제2 서버로부터 핑거 프린트에 대응되는 컨텐츠 정보를 수신하는 단계를 더 포함할 수 있다.
그리고, 핑거 프린트를 획득하는 단계는 컨텐츠가 식별되지 않으면, 외부 장치의 타입을 식별하며, 외부 장치의 타입이 기설정된 타입이면, 적어도 하나의 프레임에 기초하여 핑거 프린트를 획득할 수 있다.
한편, 식별된 객체 및 식별된 컨텐츠 중 적어도 하나를 제3 서버로 전송하는 단계, 및 제3 서버로부터 식별된 객체 및 식별된 컨텐츠 중 적어도 하나에 대응되는 광고를 수신하는 단계를 더 포함할 수 있다.
또한, 객체를 식별하는 단계(S920)는 객체 인식 모델에 기초하여 적어도 하나의 프레임에서 객체를 식별하고, 객체 인식 모델은 복수의 샘플 이미지 및 복수의 샘플 이미지에 포함된 복수의 객체를 인공지능 알고리즘을 통해 트레이닝(training)하여 획득될 수 있다.
여기서, 객체 및 컨텐츠에 대한 정보에 기초하여 객체 인식 모델을 리트레이닝(retraining)하는 단계를 더 포함할 수 있다.
한편, 객체를 식별하는 단계(S920)는 복수의 프레임 중 적어도 하나의 프레임에 OCR(optical character reader)을 적용하여 텍스트를 식별하고, 컨텐츠를 식별하는 단계(S930)는 식별된 텍스트에 기초하여 컨텐츠를 식별할 수 있다.
또한, 외부 장치의 타입을 식별하는 단계를 더 포함하며, 객체를 식별하는 단계(S920)는 외부 장치의 타입이 기설정된 타입이면, 적어도 하나의 프레임에서 객체를 식별할 수 있다.
한편, 복수의 프레임을 순차적으로 디스플레이하는 단계를 더 포함하며, 객체를 식별하는 단계(S920)는 복수의 프레임 중 디스플레이된 프레임에서 객체를 식별할 수 있다.
그리고, 객체는 적어도 하나의 프레임에 대응되는 컨텐츠의 타이틀, 컨텐츠의 재생 시간, 컨텐츠의 채널 정보 및 적어도 하나의 프레임에 포함된 캐릭터 중 적어도 하나를 포함할 수 있다.
이상과 같은 본 개시의 다양한 실시 예에 따르면, 전자 장치는 멀티미디어 데이터에 포함된 복수의 프레임 중 적어도 하나의 프레임에 포함된 객체에 기초하여 컨텐츠를 식별함에 따라 컨텐츠의 인식에 있어서 외부 서버의 이용을 최소화할 수 있다.
한편, 본 개시의 일시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(A))를 포함할 수 있다. 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 본 개시의 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 본 개시의 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 동작을 수행할 수 있다.
한편, 상술한 다양한 실시 예들에 따른 기기의 프로세싱 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium)에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 기기에서의 처리 동작을 특정 기기가 수행하도록 한다. 비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
또한, 상술한 다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
100 : 전자 장치 110 : 통신부
120 : 프로세서 130 : 스토리지
140 : 디스플레이 150 : 사용자 인터페이스부
160 : 스피커 170 : 버튼
180 : 카메라

Claims (20)

  1. 통신부; 및
    상기 통신부를 통해 외부 장치로부터 멀티미디어 데이터를 수신하며,
    상기 멀티미디어 데이터에 포함된 복수의 프레임 중 적어도 하나의 프레임에서 객체를 식별하고,
    현재 시간 및 상기 객체에 대응되는 카테고리에 기초하여 제1 서버로부터 제공되는 컨텐츠 안내 정보에서 상기 식별된 객체에 대응되는 컨텐츠를 식별하는 프로세서;를 포함하는, 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 컨텐츠가 식별되지 않으면, 상기 적어도 하나의 프레임에 기초하여 핑거 프린트(finger print)를 획득하고,
    상기 획득된 핑거 프린트를 제2 서버로 전송하도록 상기 통신부를 제어하며,
    상기 통신부를 통해 상기 제2 서버로부터 상기 핑거 프린트에 대응되는 컨텐츠 정보를 수신하는, 전자 장치.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 컨텐츠가 식별되지 않으면, 상기 외부 장치의 타입을 식별하며,
    상기 외부 장치의 타입이 기설정된 타입이면, 상기 적어도 하나의 프레임에 기초하여 상기 핑거 프린트를 획득하는, 전자 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 식별된 객체 및 상기 식별된 컨텐츠 중 적어도 하나를 제3 서버로 전송하도록 상기 통신부를 제어하고,
    상기 통신부를 통해 상기 제3 서버로부터 상기 식별된 객체 및 상기 식별된 컨텐츠 중 적어도 하나에 대응되는 광고를 수신하는, 전자 장치.
  5. 제1항에 있어서,
    스토리지;를 더 포함하며,
    상기 프로세서는,
    상기 스토리지에 저장된 객체 인식 모델에 기초하여 상기 적어도 하나의 프레임에서 상기 객체를 식별하고,
    상기 객체 인식 모델은, 복수의 샘플 이미지 및 상기 복수의 샘플 이미지에 포함된 복수의 객체를 인공지능 알고리즘을 통해 트레이닝(training)하여 획득된, 전자 장치.
  6. 제5항에 있어서,
    상기 프로세서는,
    상기 객체 및 상기 컨텐츠에 대한 정보에 기초하여 상기 객체 인식 모델을 리트레이닝(retraining)하는, 전자 장치.
  7. 제1항에 있어서,
    상기 프로세서는,
    상기 복수의 프레임 중 상기 적어도 하나의 프레임에 OCR(optical character reader)을 적용하여 텍스트를 식별하고,
    상기 식별된 텍스트에 기초하여 상기 컨텐츠를 식별하는, 전자 장치.
  8. 제1항에 있어서,
    상기 프로세서는,
    상기 외부 장치의 타입을 식별하며,
    상기 외부 장치의 타입이 기설정된 타입이면, 상기 적어도 하나의 프레임에서 상기 객체를 식별하는, 전자 장치.
  9. 제1항에 있어서,
    디스플레이;를 더 포함하고,
    상기 프로세서는,
    상기 복수의 프레임을 순차적으로 디스플레이하도록 상기 디스플레이를 제어하며,
    상기 복수의 프레임 중 디스플레이된 프레임에서 상기 객체를 식별하는, 전자 장치.
  10. 제1항에 있어서,
    상기 객체는,
    상기 적어도 하나의 프레임에 대응되는 컨텐츠의 타이틀, 상기 컨텐츠의 재생 시간, 상기 컨텐츠의 채널 정보 및 상기 적어도 하나의 프레임에 포함된 캐릭터 중 적어도 하나를 포함하는, 전자 장치.
  11. 전자 장치의 제어 방법에 있어서,
    외부 장치로부터 멀티미디어 데이터를 수신하는 단계;
    상기 멀티미디어 데이터에 포함된 복수의 프레임 중 적어도 하나의 프레임에서 객체를 식별하는 단계; 및
    현재 시간 및 상기 객체에 대응되는 카테고리에 기초하여 제1 서버로부터 제공되는 컨텐츠 안내 정보에서 상기 식별된 객체에 대응되는 컨텐츠를 식별하는 단계;를 포함하는, 제어 방법.
  12. 제11항에 있어서,
    상기 컨텐츠가 식별되지 않으면, 상기 적어도 하나의 프레임에 기초하여 핑거 프린트(finger print)를 획득하는 단계;
    상기 획득된 핑거 프린트를 제2 서버로 전송하는 단계; 및
    상기 제2 서버로부터 상기 핑거 프린트에 대응되는 컨텐츠 정보를 수신하는 단계;를 더 포함하는, 제어 방법.
  13. 제12항에 있어서,
    상기 핑거 프린트를 획득하는 단계는,
    상기 컨텐츠가 식별되지 않으면, 상기 외부 장치의 타입을 식별하며,
    상기 외부 장치의 타입이 기설정된 타입이면, 상기 적어도 하나의 프레임에 기초하여 상기 핑거 프린트를 획득하는, 제어 방법.
  14. 제11항에 있어서,
    상기 식별된 객체 및 상기 식별된 컨텐츠 중 적어도 하나를 제3 서버로 전송하는 단계; 및
    상기 제3 서버로부터 상기 식별된 객체 및 상기 식별된 컨텐츠 중 적어도 하나에 대응되는 광고를 수신하는 단계;를 더 포함하는, 제어 방법.
  15. 제11항에 있어서,
    상기 객체를 식별하는 단계는,
    객체 인식 모델에 기초하여 상기 적어도 하나의 프레임에서 상기 객체를 식별하고,
    상기 객체 인식 모델은, 복수의 샘플 이미지 및 상기 복수의 샘플 이미지에 포함된 복수의 객체를 인공지능 알고리즘을 통해 트레이닝(training)하여 획득된, 제어 방법.
  16. 제15항에 있어서,
    상기 객체 및 상기 컨텐츠에 대한 정보에 기초하여 상기 객체 인식 모델을 리트레이닝(retraining)하는 단계;를 더 포함하는, 제어 방법.
  17. 제11항에 있어서,
    상기 객체를 식별하는 단계는,
    상기 복수의 프레임 중 상기 적어도 하나의 프레임에 OCR(optical character reader)을 적용하여 텍스트를 식별하고,
    상기 컨텐츠를 식별하는 단계는,
    상기 식별된 텍스트에 기초하여 상기 컨텐츠를 식별하는, 제어 방법.
  18. 제11항에 있어서,
    상기 외부 장치의 타입을 식별하는 단계;를 더 포함하며,
    상기 객체를 식별하는 단계는,
    상기 외부 장치의 타입이 기설정된 타입이면, 상기 적어도 하나의 프레임에서 상기 객체를 식별하는, 제어 방법.
  19. 제11항에 있어서,
    상기 복수의 프레임을 순차적으로 디스플레이하는 단계;를 더 포함하며,
    상기 객체를 식별하는 단계는,
    상기 복수의 프레임 중 디스플레이된 프레임에서 상기 객체를 식별하는, 제어 방법.
  20. 제11항에 있어서,
    상기 객체는,
    상기 적어도 하나의 프레임에 대응되는 컨텐츠의 타이틀, 상기 컨텐츠의 재생 시간, 상기 컨텐츠의 채널 정보 및 상기 적어도 하나의 프레임에 포함된 캐릭터 중 적어도 하나를 포함하는, 제어 방법.
KR1020180113658A 2018-09-21 2018-09-21 전자 장치 및 그 제어 방법 KR102585244B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020180113658A KR102585244B1 (ko) 2018-09-21 2018-09-21 전자 장치 및 그 제어 방법
US16/551,124 US11386659B2 (en) 2018-09-21 2019-08-26 Electronic apparatus for identifying content based on an object included in the content and control method thereof
CN201980051095.0A CN112514410B (zh) 2018-09-21 2019-09-03 电子设备及其控制方法
PCT/KR2019/011331 WO2020060071A1 (en) 2018-09-21 2019-09-03 Electronic apparatus and control method thereof
US17/827,010 US20220301312A1 (en) 2018-09-21 2022-05-27 Electronic apparatus for identifying content based on an object included in the content and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180113658A KR102585244B1 (ko) 2018-09-21 2018-09-21 전자 장치 및 그 제어 방법

Publications (2)

Publication Number Publication Date
KR20200036092A KR20200036092A (ko) 2020-04-07
KR102585244B1 true KR102585244B1 (ko) 2023-10-06

Family

ID=69884906

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180113658A KR102585244B1 (ko) 2018-09-21 2018-09-21 전자 장치 및 그 제어 방법

Country Status (3)

Country Link
US (2) US11386659B2 (ko)
KR (1) KR102585244B1 (ko)
WO (1) WO2020060071A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220000758A (ko) 2020-06-26 2022-01-04 삼성전자주식회사 영상 검출 장치 및 그 동작 방법
WO2023234431A1 (ko) * 2022-05-30 2023-12-07 엘지전자 주식회사 디스플레이 장치 및 그 동작 방법

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6834308B1 (en) * 2000-02-17 2004-12-21 Audible Magic Corporation Method and apparatus for identifying media content presented on a media playing device
WO2006019101A1 (ja) 2004-08-19 2006-02-23 Nec Corporation コンテンツ関連情報取得装置、およびプログラム
US7945099B2 (en) 2005-05-09 2011-05-17 Like.Com System and method for use of images with recognition analysis
KR100717402B1 (ko) * 2005-11-14 2007-05-11 삼성전자주식회사 멀티미디어 데이터의 장르를 판단하는 장치 및 방법
US9966112B1 (en) 2013-04-18 2018-05-08 Gracenote, Inc. Systems and methods to associate multimedia tags with user comments and generate user modifiable snippets around a tag time for efficient storage and sharing of tagged items
US9264785B2 (en) 2010-04-01 2016-02-16 Sony Computer Entertainment Inc. Media fingerprinting for content determination and retrieval
US9237383B2 (en) 2010-08-27 2016-01-12 Intel Corporation Peer to peer streaming of DVR buffered program data
US10070201B2 (en) * 2010-12-23 2018-09-04 DISH Technologies L.L.C. Recognition of images within a video based on a stored representation
US20130347018A1 (en) * 2012-06-21 2013-12-26 Amazon Technologies, Inc. Providing supplemental content with active media
US8955005B2 (en) * 2013-03-14 2015-02-10 Samsung Electronics Co., Ltd. Viewer behavior tracking using pattern matching and character recognition
KR102123062B1 (ko) * 2013-08-06 2020-06-15 삼성전자주식회사 콘텐츠에 관한 정보를 획득하는 방법 및 이를 이용한 영상 표시 장치, 그리고 콘텐츠에 관한 정보를 제공하는 서버 시스템.
CN104639993A (zh) * 2013-11-06 2015-05-20 株式会社Ntt都科摩 视频节目推荐方法及其服务器
US20150296250A1 (en) 2014-04-10 2015-10-15 Google Inc. Methods, systems, and media for presenting commerce information relating to video content
US9380325B1 (en) 2014-09-12 2016-06-28 Sorenson Media, Inc. Overlay content and aggregation of viewing data
KR102217191B1 (ko) * 2014-11-05 2021-02-18 삼성전자주식회사 단말 장치 및 그 정보 제공 방법
US10003844B2 (en) * 2014-11-25 2018-06-19 Arris Enterprises Llc Automated retrieval of social media tags
US9351025B1 (en) 2015-04-17 2016-05-24 Rovi Guides, Inc. Systems and methods for providing automatic content recognition to verify affiliate programming
US10645457B2 (en) * 2015-06-04 2020-05-05 Comcast Cable Communications, Llc Using text data in content presentation and content search
KR102424839B1 (ko) 2015-10-14 2022-07-25 삼성전자주식회사 디스플레이 장치 및 이의 제어 방법
KR20170069599A (ko) * 2015-12-11 2017-06-21 삼성전자주식회사 디스플레이 장치 및 디스플레이 장치의 제어 방법
CN108605150A (zh) * 2016-01-05 2018-09-28 格雷斯诺特公司 具有基于内容特性的触发特征的计算系统
US9848235B1 (en) 2016-02-22 2017-12-19 Sorenson Media, Inc Video fingerprinting based on fourier transform of histogram
US9906831B2 (en) 2016-02-24 2018-02-27 Sorenson Media, Inc. Fingerprinting media content using hashing
KR102561711B1 (ko) 2016-02-26 2023-08-01 삼성전자주식회사 컨텐트를 인식하는 방법 및 장치
CN105959696A (zh) * 2016-04-28 2016-09-21 成都三零凯天通信实业有限公司 一种基于sift特征算法的视频内容安全监管方法
US9996769B2 (en) 2016-06-08 2018-06-12 International Business Machines Corporation Detecting usage of copyrighted video content using object recognition
WO2018026162A1 (en) * 2016-08-01 2018-02-08 Samsung Electronics Co., Ltd. Electronic apparatus and method of operating the same
WO2018117619A1 (en) * 2016-12-21 2018-06-28 Samsung Electronics Co., Ltd. Display apparatus, content recognizing method thereof, and non-transitory computer readable recording medium
WO2018131875A1 (en) * 2017-01-11 2018-07-19 Samsung Electronics Co., Ltd. Display apparatus and method for providing service thereof
US20190080175A1 (en) * 2017-09-14 2019-03-14 Comcast Cable Communications, Llc Methods and systems to identify an object in content
CN108012162B (zh) 2017-12-04 2020-12-04 北京小米移动软件有限公司 内容推荐方法及装置
CN108322806B (zh) * 2017-12-20 2020-04-07 海信视像科技股份有限公司 智能电视及电视画面截图的图形用户界面的显示方法
KR102504174B1 (ko) * 2018-05-11 2023-02-27 삼성전자주식회사 전자 장치 및 그의 제어방법

Also Published As

Publication number Publication date
CN112514410A (zh) 2021-03-16
WO2020060071A1 (en) 2020-03-26
KR20200036092A (ko) 2020-04-07
US11386659B2 (en) 2022-07-12
US20220301312A1 (en) 2022-09-22
US20200097730A1 (en) 2020-03-26

Similar Documents

Publication Publication Date Title
US11042728B2 (en) Electronic apparatus for recognition of a user and operation method thereof
US20200236425A1 (en) Method and apparatus for filtering video
EP3690644B1 (en) Electronic device and operation method therefor
US20190066158A1 (en) Method and electronic device for providing advertisement
EP3902277A1 (en) Method for providing recommended content list and electronic device according thereto
US11556302B2 (en) Electronic apparatus, document displaying method thereof and non-transitory computer readable recording medium
US11831948B2 (en) Video playback device and control method thereof
JP2020087449A (ja) 映像処理装置及びその動作方法
US11934953B2 (en) Image detection apparatus and operation method thereof
US20220301312A1 (en) Electronic apparatus for identifying content based on an object included in the content and control method thereof
US20190163702A1 (en) Image display apparatus and method of operating the same
US20220045776A1 (en) Computing device and operating method therefor
US11184670B2 (en) Display apparatus and control method thereof
KR102414783B1 (ko) 전자 장치 및 이의 제어방법
CN112514410B (zh) 电子设备及其控制方法
KR102494591B1 (ko) 전자 장치, 그 제어 방법 및 전자 시스템
KR20230059029A (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