KR102551550B1 - 오브젝트에 대한 정보를 검색하기 위한 전자 장치 및 이의 제어 방법 - Google Patents

오브젝트에 대한 정보를 검색하기 위한 전자 장치 및 이의 제어 방법 Download PDF

Info

Publication number
KR102551550B1
KR102551550B1 KR1020180046072A KR20180046072A KR102551550B1 KR 102551550 B1 KR102551550 B1 KR 102551550B1 KR 1020180046072 A KR1020180046072 A KR 1020180046072A KR 20180046072 A KR20180046072 A KR 20180046072A KR 102551550 B1 KR102551550 B1 KR 102551550B1
Authority
KR
South Korea
Prior art keywords
information
frame
electronic device
video
voice
Prior art date
Application number
KR1020180046072A
Other languages
English (en)
Other versions
KR20190122377A (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 KR1020180046072A priority Critical patent/KR102551550B1/ko
Priority to US16/369,142 priority patent/US11954150B2/en
Priority to PCT/KR2019/004173 priority patent/WO2019203488A1/en
Priority to CN201910298649.9A priority patent/CN110390034A/zh
Priority to EP19169593.1A priority patent/EP3557441A1/en
Priority to EP22168571.2A priority patent/EP4050497A1/en
Publication of KR20190122377A publication Critical patent/KR20190122377A/ko
Application granted granted Critical
Publication of KR102551550B1 publication Critical patent/KR102551550B1/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/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/47202End-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 content on demand, e.g. video on demand
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • G06F16/735Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • G06F16/738Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/7867Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title and artist information, manually generated time, location and usage information, user ratings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • 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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0623Item investigation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • G06V10/235Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition based on user input or interaction
    • 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/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • 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/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • 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/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification
    • G10L17/22Interactive procedures; Man-machine interfaces
    • 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/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42203Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS] sound input device, e.g. microphone
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Library & Information Science (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • User Interface Of Digital Computer (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)

Abstract

본 개시는 딥러닝 등의 기계 학습 알고리즘을 활용하는 인공지능(AI) 시스템 및 그 응용에 관련된 것이다. 특히, 본 전자 장치의 제어 방법은 동영상을 재생하고, 동영상을 재생하는 동안 일정 시간 동안 재생된 프레임을 저장하며, 동영상을 재생하는 동안 사용자 음성 명령을 입력받고, 저장된 프레임 중 사용자 음성 명령의 입력이 시작된 시점에 대응되는 프레임을 획득하며, 획득된 프레임에 대한 정보 및 사용자 음성 명령에 대한 정보를 바탕으로 외부 검색 서버에 의해 검색된 검색 결과를 제공할 수 있다. 특히, 전자 장치의 제어 방법의 적어도 일부는 기계학습, 신경망 또는 딥러닝 알고리즘 중 적어도 하나에 따라 학습된 인공지능 모델을 이용할 수 있다.

Description

오브젝트에 대한 정보를 검색하기 위한 전자 장치 및 이의 제어 방법{ELECTRONIC DEVICE AND METHOD FOR CONTROLLING THE ELECTRONIC DEVICE THEREOF}
본 개시는 전자 장치 및 이의 제어 방법에 관한 것으로, 더욱 상세하게는 영상을 시청하는 동안 사용자 음성을 이용하여 영상에 포함된 오브젝트에 대한 정보를 검색할 수 있는 전자 장치 및 이의 제어 방법에 관한 것이다.
또한, 본 개시는 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공 지능(Artificial Intelligence, AI) 시스템 및 그 응용에 관한 것이다.
근래에는 인간 수준의 지능을 구현하는 인공 지능 시스템이 다양한 분야에서 이용되고 있다. 인공 지능 시스템은 기존의 룰(rule) 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공 지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 룰 기반 스마트 시스템은 점차 딥러닝 기반 인공 지능 시스템으로 대체되고 있다.
인공 지능 기술은 기계학습(예로, 딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공 지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 오브젝트 인식, 오브젝트 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
한편, 근래에는 다양한 컨텐츠들이 제공되고 있다. 특히, 사용자는 컨텐츠가 재생하는 동안 컨텐츠에 포함된 오브젝트에 대한 정보를 검색하고자 할 경우가 있다. 예를 들어, 드라마 속에 주인공이 입은 옷이나 주인공이 탄 차를 검색하고자 할 경우가 존재한다.
종래에는 컨텐츠를 재생하는 동안 컨텐츠에 포함된 오브젝트에 대한 정보를 검색하고자 할 경우에는 외부 기기를 이용하거나 현재 재생하는 컨텐츠의 재생을 멈춰야 하는 한계가 존재하였다.
본 개시의 목적은 사용자 음성을 이용하여 현재 재생되는 컨텐츠 속에 포함된 오브젝트에 대한 정보를 검색할 수 있는 전자 장치 및 이의 제어 방법을 제공함에 있다.
본 개시의 일 실시예에 따른, 전자 장치의 제어 방법은, 동영상을 재생하는 단계; 상기 동영상을 재생하는 동안 일정 시간 동안 재생된 프레임을 저장하는 단계; 상기 동영상을 재생하는 동안 사용자 음성 명령을 입력받는 단계; 상기 저장된 프레임 중 상기 사용자 음성 명령의 입력이 시작된 시점에 대응되는 프레임을 획득하는 단계; 및 상기 획득된 프레임에 대한 정보 및 상기 사용자 음성 명령에 대한 정보를 바탕으로 외부 검색 서버에 의해 검색된 검색 결과를 제공하는 단계;를 포함한다.
본 개시의 일 실시예에 따른, 전자 장치는, 디스플레이; 통신부; 마이크; 적어도 하나의 명령을 포함하는 메모리; 및 상기 디스플레이, 상기 통신부, 상기 마이크 및 상기 메모리와 연결되어 상기 전자 장치를 제어하는 프로세서;를 포함하며, 상기 프로세서는, 상기 적어도 하나의 명령을 실행함으로써, 동영상을 재생하는 동안 일정 시간 동안 재생된 프레임을 상기 메모리에 저장하고, 상기 동영상을 재생하는 동안 사용자 음성 명령이 입력되면, 상기 저장된 프레임 중 상기 사용자 음성 명령의 입력이 시작된 시점에 대응되는 프레임을 획득하고, 상기 획득된 프레임에 대한 정보 및 상기 사용자 음성 명령에 대한 정보를 바탕으로 외부 검색 서버에 의해 검색된 검색 결과를 제공한다.
상술한 바와 같은 본 개시의 일 실시예에 따라, 사용자는 영상 컨텐츠의 재생을 멈추지 않고 사용자 음성을 통해 현재 시청하고 있는 영상 컨텐츠에 대한 정보를 더욱 쉽고 직관적으로 검색할 수 있게 된다.
도 1은 본 개시의 개시의 일 실시예에 따른, 동영상을 재생하는 동안 동영상에 포함된 오브젝트에 대한 정보를 제공하기 위한 전자 장치의 사용도,
도 2a는 본 개시의 일 실시예에 따른, 전자 장치의 구성을 간략히 도시한 블록도,
도 2b는 본 개시의 일 실시예에 따른, 전자 장치의 구성을 상세히 도시한 블록도,
도 3 내지 도 5는 본 개시의 다양한 실시예에 따른, 동영상을 재생하는 동안 동영상에 포함된 오브젝트에 대한 정보를 제공하는 방법을 설명하기 위한 흐름도들,
도 6 및 도 7은 본 개시의 다양한 실시예에 따른, 동영상을 재생하는 동안 동영상에 포함된 오브젝트에 대한 정보를 제공하는 방법을 설명하기 위한 도면들,
도 8a 및 도 8b는 본 개시의 다양한 실시예에 따른, 동영상을 재생하는 동안 동영상에 포함된 오브젝트에 대한 정보를 제공하는 실시예를 도시한 도면들,
도 9a 및 도 9b는 본 개시의 다양한 실시예에 따른, 오브젝트에 대한 확인 또는 추가 문의를 위한 UI를 도시한 도면들,
도 10은 본 개시의 일 실시예에 따른, 전자 장치의 제어 방법을 설명하기 위한 흐름도,
도 11은 본 개시의 일 실시예에 따른, 인공지능 모델을 학습하고 이용하기 위한 전자 장치의 구성을 나타내는 블록도,
도 12a 및 도 12b는 본 개시의 일 실시예에 따른, 학습부 및 인식부의 구체적인 구성을 나타내는 블록도, 그리고,
도 13 및 도 14는 본 개시의 다양한 실시예에 따른, 인공지능 모델을 이용하는 네트워크 시스템의 흐름도,
도 15는 본 개시의 일 실시예에 따른, 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
이하, 본 문서의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 문서의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 문서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 문서에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 부프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서의 다양한 실시예들에 따른 전자 장치는, 예를 들면, 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 의료기기, 카메라, 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드 또는 문신), 또는 생체 이식형 회로 중 적어도 하나를 포함할 수 있다. 어떤 실시예들에서, 전자 장치는, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스, 홈 오토매이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션 장치, 위성 항법 시스템(GNSS(global navigation satellite system)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 드론(drone), 금융 기관의 ATM, 상점의 POS(point of sales), 또는 사물 인터넷 장치 (예: 전구, 각종 센서, 스프링클러 장치, 화재 경보기, 온도조절기, 가로등, 토스터, 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
먼저, 도 1의 (a)에 도시된 바와 같이, 전자 장치(100)는 동영상을 재생할 수 있다. 이때, 동영상은 복수의 영상 프레임을 포함할 수 있으며, 복수의 영상 프레임 각각에는 오브젝트가 포함될 수 있다.
특히, 전자 장치(100)는 동영상을 재생하는 동안 일정 시간동안 재생된 프레임을 저장할 수 있다. 구체적으로, 전자 장치(100)는 동영상이 재생되는 동안 현재 재생 시점을 기준으로 기설정된 제1 구간의 동영상 데이터(예로, 영상 프레임(10) 및 오디오 프레임(20))를 저장할 수 있다. 예를 들어. 전자 장치(100)는 현재 재생 시점을 기준으로 15초 전후의 프레임을 저장할 수 있다. 이때, 전자 장치(100)는 기설정된 제1 구간의 모든 영상 프레임을 저장할 수 있으나, 이는 일 실시예에 불과할 뿐, 복수의 영상 프레임의 유사도를 비교하여 복수의 영상 프레임 중 대표 프레임만을 저장할 수 있다. 즉, 전자 장치(100)는 정적인 영상에 대해서는 일부 영상 프레임만을 저장할 수 있다. 또는, 전자 장치(100)는 복수의 영상 프레임의 썸네일 이미지를 저장할 수 있다. 또한, 전자 장치(100)는 기설정된 제1 구간의 복수의 영상 프레임(10)과 함께 오디오 프레임(20)을 저장할 수 있다. 특히, 전자 장치(100)는 기설정된 제1 구간의 복수의 영상 프레임(10)에 대응되는 오디오 프레임(20)을 매칭하여 저장할 수 있다. 즉, 전자 장치(100)는 저장된 영상 프레임(10) 중 가장 앞선 영상 프레임에 대응되는 시점의 오디오 프레임부터 저장할 수 있다. 또한, 오디오 프레임(20)에 사용자 음성이 포함되지 않은 것으로 판단되면, 전자 장치(100)는 오디오 프레임(20)를 저장하지 않을 수 있다.
특히, 전자 장치(100)는 기설정된 제1 구간의 영상 프레임(10) 및 오디오 프레임(20)를 일시적으로 저장할 수 있다. 즉, 전자 장치(100)는 기설정된 제1 구간의 영상 프레임(10) 및 오디오 프레임(20)를 FIFO(First-in First-out) 방식으로 저장할 수 있다. 다만, 전자 장치(100)는 스트리밍 방식으로 동영상의 일부를 다운로드 받은 후 재생하는 경우 및 실시간으로 동영상을 수신하면서 재생하는 방식의 경우에는 일부 구간의 영상 프레임 및 오디오 프레임을 일시적으로 저장할 수 있으나, 이는 일 실시예에 불과할 뿐, 동영상을 재생하기 전에 외부로부터 다운로드된 동영상인 경우에는 동영상에 포함된 모든 영상 프레임 및 오디오 프레임을 저장할 수 있다.
전자 장치(100)가 동영상을 재생하는 동안 전자 장치(100)는 동영상 내의 오브젝트에 대한 정보를 문의하기 위한 사용자 음성 명령을 입력받을 수 있다. 이때, 사용자 음성 명령에는 프레임에 포함된 오브젝트에 대한 정보 문의를 개시하기 위한 트리거 음성 및 오브젝트에 대한 정보를 문의하는 문의 음성을 포함할 수 있다. 예로, "하이 빅스비"라는 정보 문의를 개시하기 위한 트리거 음성(30)과 "저 차에 대해 알려줘"라는 문의 음성(50)을 포함할 수 있다. 또한, 사용자 음성은 전자 장치(100) 내부 혹은 전자 장치(100) 외부에 구비된 STT(Speech to Text) 모듈을 통해 텍스트로 변환될 수 있다.
특히, 전자 장치(100)는 저장된 프레임 중 사용자 음성 명령의 입력이 시작된 시점에 대응되는 프레임을 획득할 수 있다. 이때, 전자 장치(100)는 사용자 음성 명령의 입력이 시작된 시점에 대응되는 프레임뿐만 아니라, 사용자 음성 명령의 입력이 시작된 시점에 대응되는 프레임으로부터 기설정된 제2 구간의 프레임을 획득할 수 있다.
그리고, 전자 장치(100)는 획득된 프레임 또는 제2 구간의 프레임으로부터 프레임에 대한 정보를 획득할 수 있다. 구체적으로, 도 1의 (b)에 도시된 바와 같이, "하이, 빅스비"라는 트리거 음성(30)이 수신된 경우, 전자 장치(100)는 "하이, 빅스비"라는 트리거 음성(30)이 입력된 시점으로부터 기설정된 제2 구간(예로, 5초)의 영상 프레임 및 오디오 프레임을 획득할 수 있다. 그리고, 전자 장치(100)는 기설정된 제2 구간의 영상 프레임 및 오디오 프레임으로부터 동영상 데이터 내에 포함된 복수의 오브젝트에 대한 정보(40)를 획득할 수 있다. 이때, 기설정된 제2 구간은 기설정된 제1 구간과 다를 수 있으나, 이는 일 실시예에 불과할 뿐, 같은 구간일 수 있다.
특히, 전자 장치(100)는 기설정된 제2 구간의 영상 프레임 및 오디오 프레임을 인공지능 알고리즘을 통해 학습된 인공지능 모델에 입력하여 동영상 데이터 내에 포함된 복수의 오브젝트에 대한 정보(40)를 획득할 수 있다. 이때, 인공지능 모델은 동영상 데이터(영상 프레임 및 오디오 프레임)를 입력 데이터로 이용하여 동영상 내에 포함된 오브젝트에 대한 정보(40)를 획득하도록 학습된 모델일 수 있다.
여기서, 오브젝트에 대한 정보(40)는, 오브젝트의 유형에 대한 정보, 오브젝트의 이름에 대한 정보, 오브젝트의 크기에 대한 정보, 오브젝트의 움직임에 대한 정보, 오브젝트와 다른 오브젝트 사이의 관계에 대한 정보 등을 포함할 수 있으나, 이는 일 실시예에 불과할 뿐, 다른 정보 역시 포함될 수 있다. 또한, 오브젝트에 대한 정보(40)는 적어도 하나의 단어를 포함하는 텍스트 형태일 수 있으나, 이는 일 실시예에 불과할 뿐, 영상 프레임에 포함된 오브젝트 이미지 자체일 수 있다. 또한, 전자 장치(100)는 복수의 오브젝트에 대한 정보(40)를 복수의 오브젝트가 나온 영상 프레임과 매칭하여 저장할 수 있다.
한편, 인공지능 모델은 전자 장치 내에 포함될 수 있으나, 이는 일 실시예에 불과할 뿐, 외부의 서버에 포함될 수 있다. 인공지능 모델이 외부의 서버에 포함된 경우, 전자 장치(100)는 기설정된 제2 구간의 동영상 데이터를 외부의 서버로 전송하고, 외부의 서버로부터 기설정된 제2 구간의 동영상에 포함된 오브젝트에 대한 정보(40)를 획득할 수 있다. 또한, 동영상 데이터 외에, 사용자 검색 정보, 사용자 히스토리, 사용자 선호 정보 등과 같은, 사용자 정보가 함께 인공지능 모델에 입력되는 입력 데이터로 이용될 수 있다.
또한, 상술한 실시예에서는 트리거 음성(30)이 입력된 후, 기설정된 제2 구간의 동영상에 포함된 오브젝트에 대한 정보(40)를 획득할 수 있으나, 이는 일 실시예에 불과할 뿐, 트리거 음성(30)이 입력되기 전에 기설정된 제1 구간의 동영상에 포함된 오브젝트에 대한 정보(40)를 획득할 수 있다.
전자 장치(100)는 도 1의 (c)에 도시된 바와 같이, 복수의 오브젝트에 대한 정보 및 사용자 음성을 바탕으로 외부 검색 서버에 의해 검색된 검색 결과를 제공할 수 있다.
구체적으로, 전자 장치(100)는 사용자 음성 중 문의 음성(50)에 대한 음성 인식(60)을 수행할 수 있다. 그리고, 전자 장치(100)는 복수의 오브젝트에 대한 정보(40) 중 음성 인식된 사용자 음성(특히, 문의 음성)(60)에 대응되는 오브젝트에 대한 정보를 결정할 수 있다. 예로, 전자 장치(100)는 복수의 오브젝트에 대한 정보로서, 제1 사람에 대한 정보, 제2 사람에 대한 정보, 동물에 대한 정보, 트럭에 대한 정보를 획득하고, 음성 인식된 문의 음성(60)이 "저 차에 대해 알려줘"이면, 전자 장치(100)는 복수의 오브젝트에 대한 정보 중 검색을 위한 키워드로서 "트럭에 대한 정보"를 결정할 수 있다. 이때, 전자 장치(100)는 복수의 오브젝트에 대한 정보 중 사용자 음성에 대응되는 오브젝트에 대한 정보가 맞는지 여부를 확인하거나 추가적인 정보를 문의하기 위한 추가 질의가 있는지 여부를 확인하는 UI를 제공할 수 있다.
또 다른 실시예에 의하면, 전자 장치(100)는 오브젝트에 대한 정보 및 사용자 음성(즉, 사용자 음성에 대응되는 텍스트)을 입력하여 검색을 위한 키워드를 획득하도록 학습된 인공지능 모델을 이용하여 검색을 위한 키워드를 획득할 수 있다.
전자 장치(100)는 오브젝트에 대한 정보 및 사용자 음성뿐만 아니라 앞서 획득한 컨텐츠에 대한 정보를 함께 이용하여 검색을 위한 키워드를 획득할 수 있다.
그리고, 전자 장치(100)는 결정된 오브젝트에 대한 정보를 검색을 위한 키워드로서 외부 검색 서버에 전송하고, 외부 검색 서버로부터 검색 결과(70)를 수신하여 제공할 수 있다. 구체적으로, 전자 장치(100)는 동영상이 재생되는 동안 동영상의 일 영역 상에 검색 결과(70)를 제공할 수 있다. 예로, 전자 장치(100)는 도 1의 (c)에 도시된 바와 같이, 말풍선 형태로 검색 결과(70)를 제공할 수 있다. 즉, 전자 장치(100)는 현재 재생되는 동영상을 중지하지 않고, 일부 영역을 통해 검색 결과를 제공할 수 있다. 또한, 전자 장치(100)는 현재 재생 중인 동영상을 일시 정지한 후, 검색 결과를 포함하는 UI를 제공할 수 있다. 이때, 전자 장치(100)는 검색 결과와 동영상 데이터 중 검색 결과에 대응되는 영상 프레임을 함께 제공할 수 있다.이때, 전자 장치(100)는 키워드와 함께 컨텐츠 정보를 함께 외부 검색 서버에 전송하고, 외부 검색 서버로부터 검색 결과(70)를 수신하여 제공할 수 있다.
또 다른 실시예에 따르면, 전자 장치(100)는 저장된 영상 프레임을 분석하여 영상 프레임에 대한 정보(예로, 동영상 컨텐츠 명, 동영상 컨텐츠 재생 시간, 동영상 컨텐츠 유형, 동영상 컨텐츠에 포함된 오브젝트 등)를 획득할 수 있다. 구체적으로, 전자 장치(100)는 영상 프레임에 포함된 핑거 프린트를 분석하여 프레임 대한 정보를 획득할 수 있다. 이때, 핑거 프린트는 해당 영상 프레임의 특징을 나타내는 특징 데이터를 의미하는 것으로서, 지문 데이터, DNA 데이터 또는 유전자 데이터라고도 한다. 특히, 핑거 프린트와 관련된 정보는 데이터의 동일성 여부를 판별하기 위한 저작권 관리(DRM) 분야 등에서 최근 폭넓게 사용되고 있다. 또한, 전자 장치(100)는 영상 프레임의 특정 영역에 포함된 심볼(예를 들어, 채널 로고, 채널 번호 등)을 분석하여 프레임에 대한 정보를 획득할 수 있다. 또한, 전자 장치(100)는 EPG 데이터를 바탕으로 현재 재생되는 프레임에 대한 정보를 획득할 수 있다.
한편, 상술한 실시예에서는 전자 장치(100)가 영상 프레임을 분석하여 프레임에 대한 정보를 획득하는 것으로 설명하였으나, 이는 일 실시예에 불과할 뿐, 전자 장치(100)가 외부 서버를 이용하여 프레임에 대한 정보를 획득할 수 있다. 즉, 전자 장치(100)는 저장된 영상 프레임을 프레임 인식을 위한 외부 서버로 전송하고, 외부 서버는 영상 프레임의 핑거 프린트를 획득하거나, 영상 프레임에 포함된 심볼을 분석하거나, 영상 프레임에 포함된 오브젝트를 분석하여 프레임에 대한 정보를 획득할 수 있다. 그리고, 외부 서버는 전자 장치(100)로 획득된 프레임에 대한 정보를 전송할 수 있다. 특히, 전자 장치(100)는 동영상 내의 오브젝트에 대한 정보를 문의하기 위한 사용자 음성이 입력된 경우, 전자 장치(100)는 영상 프레임을 분석하여 컨텐츠 정보를 획득할 수 있으나, 이는 일 실시예에 불과할 뿐, 영상 프레임을 재생하는 동안 영상 프레임을 분석하여 프레임에 대한 정보를 획득할 수 있다.
그리고, 전자 장치(100)는 획득된 프레임에 대한 정보 및 사용자 음성 명령에 대한 정보를 외부 검색 서버로 전송할 수 있다. 그리고, 전자 장치(100)는 외부 검색 서버로부터 검색 결과(70)를 수신하여 제공할 수 있다.
한편, 본 개시의 다양한 실시예에 따르면, 또한, 오브젝트에 대한 정보(40)를 획득하기 위하여, 학습된 인공지능 모델을 이용할 수 있다. 이때, 전자 장치(100)는 동영상 데이터 중 영상 프레임으로부터 오브젝트에 대한 정보(40)를 획득하기 위한 인공지능 모델과 동영상 데이터 중 오디오 프레임으로부터 오브젝트에 대한 정보(40)를 획득하기 위한 인동지능 학습모델을 각각 포함할 수 있다. 즉, 전자 장치(100)는 동영상 데이터 중 영상 프레임을 인공지능 모델에 입력하여 영상 프레임에 포함된 오브젝트에 대한 정보(40)를 획득할 수 있으며, 동영상 데이터 중 오디오 프레임을 인공지능 모델에 입력하여 오디오 프레임에 포함된 오브젝트에 대한 정보(40)를 획득할 수 있다. 또한, 전자 장치(100)는 오브젝트에 대한 정보 및 사용자 음성을 입력하여 검색을 위한 키워드를 획득하도록 학습된 인공지능 모델을 이용하여 검색을 위한 키워드를 획득할 수 있다.
본 개시에서 학습된 인공지능 모델은 인식 모델의 적용 분야 또는 장치의 컴퓨터 성능 등을 고려하여 구축될 수 있다. 예로, 인공지능 모델은 동영상 데이터를 입력하여 동영상에 포함된 오브젝트에 대한 정보를 획득하도록 학습될 수 있다. 학습된 인공지능 모델은, 예로, 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 인식 모델은 인간의 뇌 구조를 컴퓨터 상에서 모의하도록 설계될 수 있으며 인간의 신경망의 뉴런(neuron)을 모의하는, 가중치를 가지는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 노드들은 뉴런이 시냅스(synapse)를 통하여 신호를 주고 받는 뉴런의 시냅틱(synaptic) 활동을 모의하도록 각각 연결 관계를 형성할 수 있다. 이때, 이때, 인공지능 모델은 DNN(Deep Neural Network)일 수 있으나, 이는 일 실시예에 불과할 뿐, 다른 인공지능 모델이 이용될 수 있다.
또한, 전자 장치(100)는 상술한 바와 같은 오브젝트와 관련된 정보를 검색하기 위하여 인공지능 에이전트(Artificial intelligence agent)를 이용할 수 있다. 이때, 인공지능 에이전트는 AI(Artificial Intelligence) 기반의 서비스(예를 들어, 음성 인식 서비스, 비서 서비스, 번역 서비스, 검색 서비스 등)를 제공하기 위한 전용 프로그램으로서, 기존의 범용 프로세서(예를 들어, CPU) 또는 별도의 AI 전용 프로세서(예를 들어, GPU 등)에 의해 실행될 수 있다.
구체적으로, 기설정된 트리거 음성이 입력되거나 전자 장치(100)에 구비된 버튼(예를 들어, 인공지능 에이전트를 실행하기 위한 버튼)이 눌러진 후 사용자 음성이 입력된 경우, 인공지능 에이전트가 동작할 수 있다. 그리고, 인공지능 에이전트는 사용자 음성을 바탕으로 동영상 재생 중에 포함된 오브젝트에 대한 정보를 획득할 수 있다.
물론, 기설정된 트리거 음성이 입력되거나 전자 장치(100)에 구비된 버튼(예를 들어, 인공지능 에이전트를 실행하기 위한 버튼)이 눌러진 후 사용자 음성이 입력되면, 인공지능 에이전트가 동작할 수도 있다. 또는, 인공지능 에이전트는 기설정된 트리거 음성이 입력되거나 전자 장치(100)에 구비된 버튼(예를 들어, 인공지능 에이전트를 실행하기 위한 버튼)이 눌러진 후 사용자 음성이 입력되기 이전에 기 실행된 상태일 수 있다. 이 경우, 기설정된 트리거 음성이 입력되거나 전자 장치(100)에 구비된 버튼(예를 들어, 인공지능 에이전트를 실행하기 위한 버튼)이 눌러진 후 사용자 음성이 입력된 이후에는 전자 장치(100)의 인공지능 에이전트가 오브젝트에 대한 관련 정보 검색 기능을 수행할 수 있다. 또한, 인공지능 에이전트는 기설정된 트리거 음성이 입력되거나 전자 장치(100)에 구비된 버튼(예를 들어, 인공지능 에이전트를 실행하기 위한 버튼)이 눌러진 후 사용자 음성이 입력되기 이전에 대기 상태일 수 있다. 여기서, 대기 상태란, 인공지능 에이전트의 동작 시작을 제어하기 위해 미리 정의된 사용자 입력이 수신되는 것을 감지하는 상태이다. 인공지능 에이전트가 대기 상태인 동안 기설정된 트리거 음성이 입력되거나 전자 장치(100)에 구비된 버튼(예를 들어, 인공지능 에이전트를 실행하기 위한 버튼)이 눌러진 후 사용자 음성이 입력되면, 전자 장치(100)는 인공지능 에이전트를 동작시키고, 사용자 음성에 따른 오브젝트에 대한 관련 정보를 검색하여 제공할 수 있다.
도 2a 및 2b는 본 개시의 일 실시예에 따른, 전자 장치의 구성을 도시한 블록도이다. 도 2a에 도시된 바와 같이, 전자 장치(100)는 디스플레이(110), 통신부(120), 마이크(130), 메모리(140) 및 프로세서(150)를 포함할 수 있다. 도 2a에 도시된 구성들은 본 개시의 실시 예들을 구현하기 위한 예시도이며, 당업자에게 자명한 수준의 적절한 하드웨어/소프트웨어 구성들이 전자 장치(100)에 추가로 포함될 수 있다.
디스플레이(110)는 다양한 화면을 제공할 수 있다. 특히, 디스플레이(110)는 동영상을 재생할 수 있다. 이때, 동영상에는 다양한 복수의 오브젝트가 포함될 수 있다. 또한, 디스플레이(110)는 복수의 오브젝트에 대한 정보 중 사용자 음성에 대응되는 오브젝트에 대한 정보가 맞는지 여부를 확인하거나 추가적인 정보를 문의하기 위한 추가 질의가 있는지 여부를 확인하는 UI를 표시할 수 있다. 또한, 디스플레이(110)는 검색 결과를 표시할 수 있다.
통신부(120)는 다양한 통신 방식을 통해 외부의 장치와 통신을 수행할 수 있다. 특히, 통신부(120)는 외부 검색 서버로 키워드를 바탕으로 생성된 쿼리를 전송할 수 있으며, 외부 검색 서버로부터 쿼리에 응답한 검색 결과를 수신할 수 있다. 또한, 인공지능 모델이 별도의 서버에 저장된 경우, 통신부(120)는 인공지능 서버와 통신을 수행하여 오브젝트에 대한 정보를 획득할 수 있다.
마이크(130)는 사용자 음성을 입력받기 위한 구성으로, 전자 장치(100) 내부에 구비될 수 있으나, 이는 일 실시예에 불과할 뿐, 전자 장치(100)의 외부에 구비되어 전자 장치(100)와 전기적으로 연결될 수 있다. 특히, 마이크(130)는 전자 장치(100)를 제어하기 위한 별도의 리모트 컨트롤러에 구비될 수 있으며, 이때, 리모트 컨트롤러에는 인공지능 에이전트를 실행시키기 위한 버튼이 구비될 수 있다.
메모리(140)는 전자 장치(100)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 특히, 메모리(140)는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다. 메모리(140)는 프로세서(150)에 의해 액세스되며, 프로세서(150)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 본 개시에서 메모리라는 용어는 메모리(140), 프로세서(150) 내 롬(미도시), 램(미도시) 또는 전자 장치(100)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱)를 포함할 수 있다. 또한, 메모리(140)에는 디스플레이(110)의 디스플레이 영역에 표시될 각종 화면을 구성하기 위한 프로그램 및 데이터 등이 저장될 수 있다.
특히, 메모리(140)는 인공지능 에이전트를 수행하기 위한 프로그램을 저장할 수 있다. 이때, 인공지능 에이전트는 전자 장치(100)에 대한 다양한 서비스를 제공하기 위한 개인화된 프로그램이다. 또한, 메모리(140)는 동영상 데이터로부터 오브젝트에 대한 정보를 획득하기 위하여 인공지능 모델을 저장할 수 있다. 또한, 메모리(140)는 오브젝트에 대한 정보 및 사용자 음성을 입력하여 검색을 위한 키워드를 획득하도록 학습된 인공지능 모델을 저장할 수 있다.
또한, 메모리(140)는 기설정된 제1 구간의 동영상 데이터를 일시적으로 저장하기 위해, 휘발성 메모리로서 구현될 수 있다.
프로세서(150)는 디스플레이(110), 통신부(120), 마이크(130) 및 메모리(140)와 전기적으로 연결되어 전자 장치(100)의 전반적인 동작 및 기능을 제어할 수 있다. 특히, 프로세서(150)는 메모리(130)에 저장된 적어도 하나의 명령을 실행함으로써, 동영상을 재생하는 동안 일정 시간 동안 재생된 프레임을 메모리(140)에 저장하고, 동영상을 재생하는 동안 사용자 음성 명령이 입력되면, 저장된 프레임 중 사용자 음성 명령의 입력이 시작된 시점에 대응되는 프레임을 획득하고, 획득된 프레임에 대한 정보 및 상기 사용자 음성 명령에 대한 정보를 바탕으로 외부 검색 서버에 의해 검색된 검색 결과를 제공할 수 있다.
특히, 본 개시의 일 실시예에 따른, 프로세서(150)는 동영상을 재생하는 동안 재생 시점을 기준으로 기설정된 구간의 동영상 데이터를 메모리(140)에 저장하고, 마이크(130)를 통해 동영상 내의 오브젝트에 대한 정보를 문의하기 위한 사용자 음성이 입력되면, 사용자 음성이 입력된 시점에 대응되는 동영상 데이터를 인공지능 알고리즘을 통해 학습된 인공지능 모델에 입력하여 동영상 데이터 내에 포함된 복수의 오브젝트에 대한 정보를 획득하며, 복수의 오브젝트에 대한 정보 및 사용자 음성을 바탕으로 외부 검색 서버에 의해 검색된 검색 결과를 제공하도록 디스플레이(110)를 제어할 수 있다.
구체적으로, 프로세서(150)는 동영상을 재생하는 동안 재생 시점을 기준으로 기설정된 구간의 동영상 데이터를 저장할 수 있다. 이때, 동영상 데이터는 영상 프레임 및 오디오 프레임을 포함할 수 있으며, 프로세서(150)는 영상 프레임과 오디오 프레임을 매칭하여 메모리(140)에 저장할 수 있다.
그리고, 프로세서(150)는 마이크(130)를 통해 입력된 사용자 음성을 수신할 수 있다. 이때, 사용자 음성에는 오브젝트에 대한 정보 문의를 개시하기 위한 트리거 음성 및 오브젝트에 대한 정보를 문의하는 문의 음성을 포함할 수 있다. 특히, 프로세서(150)는 트리거 음성이 입력된 시점을 기준으로 기설정된 구간 내의 동영상 데이터를 인공지능 모델에 입력하여 동영상 데이터 내에 포함된 복수의 오브젝트에 대한 정보를 획득할 수 있다. 즉, 프로세서(150)는 영상 프레임 및 오디오 프레임 중 적어도 하나를 인공지능 모델에 입력하여 동영상 내에 포함된 복수의 오브젝트에 대한 정보를 획득할 수 있다. 이때, 프로세서(150)는 복수의 오브젝트에 대한 정보를 복수의 오브젝트가 나온 영상 프레임과 매칭하여 메모리(140)에 저장할 수 있다.
그리고, 프로세서(150)는 복수의 오브젝트에 대한 정보 중 사용자 음성에 대응되는 오브젝트에 대한 정보를 결정할 수 있다. 구체적으로, 프로세서(150)는 동영상에 포함된 복수의 오브젝트에 대한 정보 중 사용자 음성(특히, 문의 음성)에 포함된 키워드와 일치하는 오브젝트에 대한 정보를 획득할 수 있다. 이때, 프로세서(150)는 복수의 오브젝트에 대한 정보 중 사용자 음성에 대응되는 오브젝트에 대한 정보가 맞는지 여부를 확인하거나 추가적인 정보를 문의하기 위한 추가 질의가 있는지 여부를 확인하는 UI를 표시하도록 디스플레이(110)를 제어할 수 있다.
그리고, 프로세서(150)는 결정된 오브젝트에 대한 정보를 검색을 위한 키워드로 외부 검색 서버에 전송하도록 통신부(120)를 제어할 수 있다. 그리고, 프로세서(150)는 통신부(120)를 통해 외부 검색 서버로부터 쿼리에 응답한 검색 결과를 수신하고, 수신된 검색 결과를 제공하도록 디스플레이(110)를 제어할 수 있다. 이때, 프로세서(150)는 동영상이 재생되는 동안 동영상의 일 영역 상에 검색 결과를 제공하도록 디스플레이(110)를 제어할 수 있다. 또한, 프로세서(150)는 검색 결과와 동영상 데이터 중 검색 결과에 대응되는 영상 프레임을 함께 제공하도록 디스플레이(110)를 제어할 수 있다.
본 개시의 또 다른 실시예에 따르면, 프로세서(150)는 사용자 음성의 입력이 시작된 시점에 대응되는 프레임을 획득할 수 있다(S520). 구체적으로, 프로세서(150)는 사용자 음성 중 트리거 음성이 입력된 시점에 대응되는 프레임을 획득할 수 있다. 그리고, 프로세서(150)는 획득된 프레임을 외부의 프레임 인식 서버(270)에 전송하도록 통신부(120)를 제어할 수 있다.
그리고, 프로세서(150)는 프레임 인식 서버에 의해 획득된 프레임에 대한 정보를 통신부(120)를 통해 수신할 수 있다.
프로세서(150) 는 프레임에 대한 정보 및 사용자 음성을 검색 서버(200)로 전송할 수 있으며, 프로세서(150)는 검색 서버(200)로부터 검색 결과를 수신하여 사용자에게 제공할 수 있다.
한편, 프로세서(150)는 프레임에 대한 정보 및 사용자 음성을 바탕으로 키워드를 생성할 수 있으며, 생성된 키워드를 외부의 검색 서버(200)에 전송하도록 통신부(120)를 제어할 수 있다. 이때, 프로세서(150)는 프레임에 대한 정보 및 사용자 음성을 학습된 인공지능 모델에 입력하여 키워드를 획득할 수 있다
도 2b는 본 개시의 다른 실시예에 따른, 전자 장치(100)의 구성을 상세히 도시한 블록도이다. 도 2b에 도시된 바와 같이, 전자 장치(100)는 디스플레이(110), 통신부(120), 마이크(130), 메모리(140), 프로세서(150), 카메라(160), 오디오 출력부(170) 및 입력부(180)를 포함할 수 있다. 한편, 디스플레이(110), 마이크(130), 메모리(140)는 도 2a에서 설명하였으므로, 중복되는 설명은 생략하기로 한다.
통신부(120)는 다양한 유형의 통신방식에 따라 다양한 유형의 외부 기기와 통신을 수행할 수 있다. 통신부(120)는 와이파이칩(120-1), 블루투스 칩(120-2), 무선 통신 칩(120-3) 중 적어도 하나를 포함할 수 있다. 프로세서(150)는 통신부(120)를 이용하여 외부 채팅 서버 또는 각종 외부 기기와 통신을 수행할 수 있다. 그 밖에, 통신부(120)는 NFC 칩 등과 같은 다양한 통신 칩을 통해 외부 기기와 통신을 수행할 수 있다.
카메라(160)는 적어도 하나의 오브젝트를 포함하는 동영상을 촬영할 수 있다. 이때, 카메라(160)는 전자 장치(100)의 전방 및 후방 중 적어도 하나에 구비될 수 있다. 한편, 카메라(160)는 전자 장치(100) 내부에 구비될 수 있으나, 이는 일 실시예에 불과할 뿐, 전자 장치(100) 외부에 존재하며, 전자 장치(100)와 유무선으로 연결될 수 있다.
오디오 출력부(170)는 오디오 처리부(미도시)에 의해 디코딩이나 증폭, 노이즈 필터링과 같은 다양한 처리 작업이 수행된 각종 오디오 데이터뿐만 아니라 각종 알림 음이나 음성 메시지를 출력하는 구성이다. 특히, 오디오 출력부(170)는 스피커로 구현될 수 있으나, 이는 일 실시 예에 불과할 뿐, 오디오 데이터를 출력할 수 있는 출력 단자로 구현될 수 있다.
입력부(180)는 다양한 사용자 입력을 수신하여 프로세서(150)로 전달할 수 있다. 특히, 입력부(180)는 터치 센서, (디지털) 펜 센서, 압력 센서, 키, 또는 마이크를 포함할 수 있다. 터치 센서는, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. (디지털) 펜 센서는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 쉬트를 포함할 수 있다. 키는, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다.
특히, 입력부(180)는 UI를 통해 입력된 사용자 명령에 따른 입력 신호를 획득할 수 있다. 그리고, 입력부(180)는 입력 신호를 프로세서(150)로 전송할 수 있다.
프로세서(150)(또는, 제어부)는 메모리(140)에 저장된 각종 프로그램을 이용하여 전자 장치(100)의 전반적인 동작을 제어할 수 있다.
프로세서(150)는 RAM(151), ROM(152), 그래픽 처리부(153), 메인 CPU(154), 제1 내지 n 인터페이스(155-1~155-n), 버스(156)로 구성될 수 있다. 이때, RAM(151), ROM(152), 그래픽 처리부(153), 메인 CPU(154), 제1 내지 n 인터페이스(155-1~155-n) 등은 버스(156)를 통해 서로 연결될 수 있다.
이하에서는 도면을 참조하여 본 개시의 다양한 실시예에 대해 설명하기로 한다. 도 3은 본 개시의 일 실시예에 따른, 오브젝트에 대한 정보를 검색하기 위한 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
우선, 전자 장치(100)는 동영상을 재생할 수 있다(S310). 이때, 재생되는 동영상은 스트리밍 방식의 동영상일 수 있으나, 이는 일 실시예에 불과할 뿐, 재생 전 이미 다운로드된 동영상일 수 있다.
전자 장치(100)는 동영상을 재생하는 동안 기설정된 제1 구간의 동영상 데이터를 저장할 수 있다(S320). 이때, 기설정된 제1 구간의 동영상 데이터는 제1 구간의 영상 프레임 및 오디오 프레임을 포함할 수 있으나, 이는 일 실시예에 불과할 뿐, 동영상의 메타 데이터 등을 포함할 수 있다. 또한, 영상 프레임은 제1 구간에 존재하는 모든 영상 프레임일 수 있으나, 이는 일 실시예에 불과할 뿐, 영상 프레임의 유사도를 바탕으로 제1 구간에 존재하는 영상 프레임 중 대표 프레임만을 저장할 수 있다. 또한, 전자 장치(100)는 동영상 데이터 중 영상 프레임과 오디오 프레임을 매칭하여 저장할 수 있다.
전자 장치(100)가 동영상을 재생하는 동안 전자 장치(100)는 사용자 음성을 입력받을 수 있다(S330). 이때, 사용자 음성은 오브젝트에 대한 정보 문의를 개시하기 위한 트리거 음성 및 오브젝트에 대한 정보를 문의하는 문의 음성을 포함할 수 있다.
전자 장치(100)는 트리거 음성에 응답하여 기설정된 제2 구간의 동영상에 포함된 오브젝트에 대한 정보를 획득할 수 있다(S340). 이때, 전자 장치(100)는 S 320 단계에서 저장된 동영상 데이터 중 트리거 음성이 입력된 시점을 기준으로 제2 구간의 동영상 데이터를 학습된 인공지능 모델에 입력하여 제2 구간의 동영상에 포함된 오브젝트에 대한 정보를 획득할 수 있다. 이때, 인공지능 모델은 DNN(Deep Neural Network)로 구현될 수 있으나, 이는 일 실시예에 불과할 뿐, 다른 모델로 구현될 수 있다.
특히, 인공지능 모델은 동영상 데이터인 영상 프레임 및 오디오 프레임을 입력 데이터로 사용하여 해당 구간의 동영상에 포함된 오브젝트에 대한 정보를 획득하도록 학습된 모델일 수 있다. 특히, 인공지능 모델은 오브젝트에 대한 정보를 하나의 단어 형태(예를 들어, 오브젝트 이름, 오브젝트 유형 등)로 제공할 수 있으나, 이는 일 실시예에 불과할 뿐, 복수의 단어를 포함하는 문장 또는 구 형태(예로, 오브젝트와 다른 오브젝트와의 관계, 오브젝트의 움직임이나 위치에 대한 정보 등)로 제공할 수 있다. 인공지능 모델이 복수의 단어를 포함하는 문장 또는 구 형태로 구현되는 경우, 인공지능 모델은 동영상 데이터를 입력하여 동영상에 포함된 복수의 오브젝트에 대한 정보를 획득하도록 학습된 제1 모델(예로, CNN(Convolutional Neural Network) 모델 등) 및 복수의 오브젝트를 설명하기 위한 텍스트 정보를 획득하도록 학습된 제2 모델(예로, RNN(Recurrent Neural Network)등 )을 포함할 수 있다.
또한, 오브젝트에 대한 정보는 텍스트뿐만 아니라 이미지, 오디오로 구현될 수 있다.
전자 장치(100)는 오브젝트에 대한 정보 및 사용자 음성을 바탕으로 검색을 위한 키워드를 획득할 수 있다(S350). 구체적으로, 전자 장치(100)는 S340 단계에서 획득된 오브젝트에 대한 정보 중 사용자 음성에 매칭되는 오브젝트에 대한 정보를 획득하고, 사용자 음성에 매칭되는 오브젝트에 대한 정보를 바탕으로 검색을 위한 키워드를 생성할 수 있다.
또한, 전자 장치(100)는 오브젝트에 대한 정보, 사용자 정보 및 사용자 음성을 바탕으로 키워드를 획득할 수 있다(S450). 구체적으로, 전자 장치(100)는 사용자 정보 및 사용자 음성을 바탕으로 S340 단계에서 획득한 오브젝트에 대한 정보 중 하나를 선택할 수 있다. 이때, 사용자 정보는 사용자 검색 히스토리 정보, 사용자 선호 정보, 사용자 개인 정보 등과 같은 다양화된 개인 정보를 포함할 수 있다.
구체적으로, "저 가운데 있는 거 머야?"와 같이 모호한 문의 음성이 입력된 경우, 전자 장치(100)는 동영상에 포함된 오브젝트 중 가운데에 위치한 오브젝트를 획득할 수 있다. 그리고, 전자 장치(100)는 사용자 선호 정보, 사용자 검색 히스토리 등과 같은 다양한 사용자 정보를 바탕으로 가운데에 위치한 오브젝트들 중 하나를 선택할 수 있다.
또 다른 실시예에 의하면, 전자 장치(100)는 오브젝트에 대한 정보, 사용자 정보 및 사용자 음성을 학습된 인공지능 모델에 입력하여 키워드를 획득할 수 있다. 즉, 전자 장치(100)는 오브젝트에 대한 정보, 사용자 정보 및 사용자 음성을 입력 데이터로 사용하여 키워드를 획득하도록 학습된 인공지능 모델을 이용하여 키워드를 획득할 수 있다.
또 다른 실시예에 의하면, 전자 장치(100)는 오브젝트에 대한 정보 및 사용자 음성을 입력하여 검색을 위한 키워드를 획득하도록 학습된 인공지능 모델을 이용하여 검색을 위한 키워드를 획득할 수 있다.
또 다른 실시예에 의하면, 전자 장치(100)는 오브젝트에 대한 정보, 사용자 정보 및 사용자 음성을 학습된 인공지능 모델에 입력하여 키워드를 획득할 수 있다. 즉, 전자 장치(100)는 오브젝트에 대한 정보, 사용자 정보 및 사용자 음성을 입력 데이터로 사용하여 키워드를 획득하도록 학습된 인공지능 모델을 이용하여 키워드를 획득할 수 있다.
전자 장치(100)는 생성된 키워드를 외부 검색 서버(200)에 전송할 수 있으며(S360), 외부 검색 서버(200)는 키워드를 바탕으로 검색 동작을 수행할 수 있다(S370).
외부 검색 서버(200)는 검색 결과를 전자 장치(100)로 전송할 수 있으며(S380), 전자 장치(100)는 검색 결과를 제공할 수 있다(S390). 이때, 전자 장치(100)는 동영상을 재생하는 동안 검색 결과를 제공할 수 있으나, 이는 일 실시예에 불과할 뿐, 동영상의 재생을 중지한 후 검색 결과를 제공할 수 있다.
도 4는 본 개시의 다른 실시예에 따른, 전자 장치(100)가 인공지능 서버와 연동하여 오브젝트에 대한 정보를 검색하는 실시예를 설명하기 위한 흐름도이다. 한편, 도 4에 개시된 S410 단계 내지 S420 단계는 도 3에서 설명한 S310 단계 내지 S330 단계와 중복되므로, 자세한 설명을 생략한다.
전자 장치(100)는 S420 단계에서 획득된 기설정된 제2 구간의 동영상 데이터를 인공지능 서버(250)에 전송할 수 있다(S425).
인공지능 서버(250)는 기설정된 제2 구간의 동영상에 포함된 오브젝트에 대한 정보를 획득할 수 있다(S430). 이때, 인공지능 서버(250)는 제2 구간의 동영상 데이터를 학습된 인공지능 모델에 입력하여 제2 구간의 동영상에 포함된 오브젝트에 대한 정보를 획득할 수 있다. 이때, 인공지능 모델은 DNN(Deep Neural Network)로 구현될 수 있으나, 이는 일 실시예에 불과할 뿐, 다른 모델로 구현될 수 있다.
인공지능 서버(250)는 오브젝트에 대한 정보를 전자 장치(100)로 전송할 수 있다(S435).
전자 장치(100)는 오브젝트에 대한 정보 및 사용자 음성을 바탕으로 키워드를 획득할 수 있다(S440). 구체적으로, 전자 장치(100)는 인공지능 서버(250)에 의해 획득된 오브젝트에 대한 정보 중 사용자 음성에 매칭되는 오브젝트에 대한 정보를 획득하고, 사용자 음성에 매칭되는 오브젝트에 대한 정보를 바탕으로 검색을 위한 키워드를 생성할 수 있다.
전자 장치(100)는 생성된 키워드를 외부 검색 서버(200)에 전송할 수 있으며(S445), 외부 검색 서버(200)는 키워드를 바탕으로 검색 동작을 수행할 수 있다(S450).
외부 검색 서버(200)는 검색 결과를 전자 장치(100)로 전송할 수 있으며(S455), 전자 장치(100)는 검색 결과를 제공할 수 있다(S460).
한편, 상술한 실시예에는 전자 장치(100)가 키워드를 생성하여 외부 검색 서버(200)로 전송하는 것으로 설명하였으나, 이는 일 실시예에 불과할 뿐, 인공지능 서버(250)가 직접 오브젝트에 대한 정보 및 사용자 음성을 입력하여 검색을 위한 키워드를 획득하도록 학습된 인공지능 모델을 이용하여 검색을 위한 키워드를 획득할 수 있다. 즉, 인공지능 서버(250)는 S425 단계에서 기설정된 제2 구간의 동영상 데이터뿐만 아니라 사용자 음성을 수신하고, 제2 구간의 동영상 데이터를 바탕으로 획득된 오브젝트에 대한 정보 및 사용자 음성을 인공지능 모델에 입력하여 키워드를 획득할 수 있다.
도 5는 본 개시의 다른 실시예에 따른, 전자 장치(100)가 인공지능 서버와 연동하여 오브젝트에 대한 정보를 검색하는 실시예를 설명하기 위한 흐름도이다. 한편, 도 5에 개시된 S505 단계 내지 S515 단계는 도 3에서 설명한 S310 단계 내지 S320 단계와 중복되므로, 자세한 설명을 생략한다.
전자 장치(100)는 사용자 음성의 입력이 시작된 시점에 대응되는 프레임을 획득할 수 있다(S520). 구체적으로, 전자 장치(100)는 사용자 음성 중 트리거 음성이 입력된 시점에 대응되는 프레임을 획득할 수 있다.
그리고, 전자 장치(100)는 획득된 프레임을 외부의 프레임 인식 서버(270)에 전송할 수 있다(S2525).
프레임 인식 서버(270)는 획득된 프레임을 분석하여 프레임에 대한 정보를 획득할 수 있다(S530). 구체적으로, 프레임 인식 서버(270)는 프레임에 포함된 핑거프린트를 분석하여 프레임에 대한 정보를 획득할 수 있다. 또한, 프레임 인식 서버(270)는 이미지 분석을 통해 특정 영역에 존재하는 로고 등을 식별하여 프레임에 대한 정보를 획득할 수 있다. 또한, 프레임 인식 서버(270)는 이미지에 포함된 오브젝트를 분석하여 프레임에 대한 정보를 획득할 수 있다. 이때, 프레임에 대한 정보는 프레임을 포함하는 동영상 컨텐츠에 대한 정보, 프레임에 포함된 오브젝트에 대한 정보 등을 포함할 수 있다.
프레임 인식 서버(270)는 획득된 프레임에 대한 정보를 전자 장치(100)로 전송할 수 있다(S535).
전자 장치(100)는 프레임에 대한 정보 및 사용자 음성을 검색 서버(200)로 전송할 수 있다(S540).
검색 서버(200)는 프레임에 대한 정보 및 사용자 음성을 바탕으로 검색을 수행할 수 있다(S545). 구체적으로, 검색 서버(200)는 사용자 음성을 바탕으로 프레임에 대한 정보로부터 키워드를 획득하고, 획득된 키워드를 바탕으로 검색을 수행할 수 있다.
외부 검색 서버(200)는 검색 결과를 전자 장치(100)로 전송할 수 있으며(S550), 전자 장치(100)는 검색 결과를 제공할 수 있다(S555).
한편, 상술한 실시예에는 검색 서버(200)가 프레임에 대한 정보 및 사용자 음성을 바탕으로 키워드를 생성하여 검색을 수행하는 것으로 설명하였으나, 이는 일 실시예에 불과할 뿐, 전자 장치(100)가 프레임에 대한 정보 및 사용자 음성을 바탕으로 키워드를 생성할 수 있으며, 생성된 키워드를 외부의 검색 서버(200)에 전송할 수 있다. 또한, 전자 장치(100) 또는 검색 서버(200)는 프레임에 대한 정보 및 사용자 음성을 학습된 인공지능 모델에 입력하여 키워드를 획득할 수 있다
도 6은 본 개시의 일 실시예에 따른, 오브젝트에 대한 정보를 검색하는 실시예를 설명하기 위한 도면이다.
우선, 전자 장치(100)는 동영상을 재생하는 동안 현재 재생 시점을 기준으로 제1 구간(예를 들어, 현재 재생 시점 15초전 부터 현재 재생시점)까지의 영상 프레임을 저장할 수 있다. 이때, 전자 장치(100)는 제1 구간의 모든 영상 프레임을 저장하는 것이 아닌 영상 프레임의 유사도를 비교하여 대표 프레임만을 저장할 수 있다. 또는 전자 장치(100)는 제1 구간의 모든 영상 프레임 중 기설정된 간격으로 영상 프레임으로 저장할 수 있다. 예로, 현재 재생 시점이 1분 10초인 경우, 전자 장치(100)는 도 6의 (a)에 도시된 바와 같이, 15초 전의 영상 프레임인 제2 영상 프레임 내지 제4 영상 프레임(610-2 내지 610-4)을 저장할 수 있다.
전자 장치(100)는 마이크(130)를 통해 동영상을 재생하는 동안 "하이 빅스비! 저 자동자는 뭐야?"라는 사용자 음성을 입력받을 수 있다. 이때, "하이 빅스비"는 오브젝트에 대한 정보 문의를 개시하기 위한 트리거 음성이며, "저 자동차는 뭐야?"는 오브젝트에 대한 정보를 문의하는 문의 음성일 수 있다.
전자 장치(100)는 트리거 음성인 "하이 빅스비!"에 응답하여 기설정된 제2 구간(예로, 트리거 음성이 입력된 시점으로부터 10초 전부터 트리거 음성이 입력된 시점)의 영상 프레임을 획득할 수 있다. 예로, 1분 10초에 트리거 음성이 입력된 경우, 전자 장치(100)는 도 6의 (a)에 도시된 바와 같이, 10초 전의 영상 프레임인 제3 영상 프레임 및 제4 영상 프레임(610-3 및 610-4)을 획득할 수 있다.
전자 장치(100)는 획득된 영상 프레임(610-3 및 610-4)을 학습된 인공지능 모델에 입력하여 영상 프레임(610-3 및 610-4)에 포함된 오브젝트에 대한 정보를 획득할 수 있다. 예로, 제3 및 제4 영상 프레임(610-3 및 610-4)에 포함된 차 오브젝트(620)에 대한 정보 및 제1 사람에 대한 정보(630)를 획득할 수 있다.
전자 장치(100)는 오브젝트에 대한 정보 및 사용자 음성을 바탕으로 검색을 위한 키워드를 획득할 수 있다. 예로, 전자 장치(100)는 도 6의 (b)에 도시된 바와 같이, 차 오브젝트(620)에 대한 정보 및 제1 사람(630)에 대한 정보 중 사용자 음성에 대응되는 차 오브젝트(620)에 대한 정보를 키워드로 획득할 수 있다. 이때, 전자 장치(100)는 키워드로 "XX 트럭"이라는 키워드를 획득할 수 있으나, 이는 일 실시예에 불과할 뿐, 제3 영상 프레임(610-3) 중 차 오브젝트(620)에 대한 이미지를 키워드로 이용할 수 있다.
전자 장치(100)는 획득된 키워드를 외부 검색 서버(200)로 전송할 수 있다. 외부 검색 서버(200)는 키워드에 응답하여 "XX 트럭"에 대한 검색 결과를 전자 장치(100)로 전송할 수 있다.
전자 장치(100)는 도 6의 (c)에 도시된 바와 같이, "XX 트럭"에 대한 검색 결과를 제공할 수 있다. 이때, "XX 트럭"에 대한 검색 결과는 XX 트럭에 대한 가격 정보, 연비 정보, 연료 정보, 판매 정보와 같은 다양한 정보가 포함될 수 있다.
한편, 상술한 실시예에서는 인공지능 모델이 하나의 단어를 획득하는 것으로 설명하였으나, 이는 일 실시예에 불과할 뿐, 인공지능 모델(특히, CNN 모델과 RNN 모델로 이루어진 모델)은 오브젝트를 묘사하기 위하여 복수의 단어를 포함하는 문장이나 구 형태의 텍스트를 획득할 수 있다. 예로, "제1사람 뒤의 XX 트럭", "금발머리 여자" 등과 같은 문장이나 구 형태의 텍스트를 획득할 수 있다.
따라서, 사용자 음성이 "제1사람 뒤에 있는 자동차가 머야"라는 문의 음성이 입력되면, 전자 장치(100)는 인공지능 모델을 통해 획득된 오브젝트를 묘사하는 텍스트 정보를 이용하여 "제1사람 뒤에 있는 자동차 오브젝트"에 대한 정보를 획득할 수 있게 된다.
도 7은 본 개시의 일 실시예에 따른, 오브젝트에 대한 정보를 검색하는 실시예를 설명하기 위한 도면이다.
우선, 전자 장치(100)는 동영상을 재생하는 동안 현재 재생 시점을 기준으로 제1 구간(예를 들어, 현재 재생 시점 15초전 부터 현재 재생시점)까지의 영상 프레임을 저장할 수 있다. 이때, 전자 장치(100)는 영상 프레임의 유사도를 비교하여 대표 프레임만을 저장할 수 있다. 또는 전자 장치(100)는 제1 구간의 모든 영상 프레임 중 기설정된 간격으로 영상 프레임으로 저장할 수 있다. 예로, 현재 재생 시점이 1분 10초인 경우, 전자 장치(100)는 도 7의 (a)에 도시된 바와 같이, 15초 전의 영상 프레임인 제3 영상 프레임 내지 제5 영상 프레임(710-3 내지 710-5)을 저장할 수 있다.
전자 장치(100)는 마이크(130)를 통해 동영상을 재생하는 동안 "하이 빅스비! 저 가운데 있는 사람 누구지?"라는 사용자 음성을 입력받을 수 있다. 이때, "하이 빅스비"는 오브젝트에 대한 정보 문의를 개시하기 위한 트리거 음성이며, "저 가운데 있는 사람 누구지?"는 오브젝트에 대한 정보를 문의하는 문의 음성일 수 있다.
전자 장치(100)는 트리거 음성인 "하이 빅스비!"에 응답하여 기설정된 제2 구간(예로, 트리거 음성이 입력된 시점으로부터 10초 전부터 트리거 음성이 입력된 시점)의 영상 프레임을 획득할 수 있다. 예로, 1분 10초에 트리거 음성이 입력된 경우, 전자 장치(100)는 도 7의 (a)에 도시된 바와 같이, 10초 전의 영상 프레임인 제3 영상 프레임 내지 제5 영상 프레임(710-3 내지 710-5)을 획득할 수 있다.
전자 장치(100)는 획득된 영상 프레임(710-3 내지 610-5)을 학습된 인공지능 모델에 입력하여 영상 프레임(710-3 내지 710-5)에 포함된 오브젝트에 대한 정보를 획득할 수 있다. 예로, 제3 영상 프레임(710-3)에 포함된 제1 사람 내지 제3 사람(720-1 내지 720-3)에 대한 정보 및 제4 영상 프레임(710-4)에 포함된 제4 사람 내지 제8 사람(730-1 내지 730-5)에 대한 정보를 획득할 수 있다.
특히, 전자 장치(100)는 제3 및 제4 영상 프레임(710-3 및 710-4)에 포함된 오브젝트에 대한 정보로서, 오브젝트의 이름뿐만 아니라 오브젝트를 묘사하는 오브젝트의 위치, 오브젝트의 크기 등과 같은 정보를 함께 획득할 수 있다.
전자 장치(100)는 오브젝트에 대한 정보 및 사용자 음성뿐만 아니라 사용자 정보, 화면에서의 중요도를 바탕으로 키워드를 획득할 수 있다. 예로, 전자 장치(100)는 도 7의 (b)에 도시된 바와 같이, 제3 영상 프레임(710-3)에 포함된 제1 사람 내지 제3 사람(720-1 내지 720-3) 및 제4 영상 프레임(710-4)에 포함된 제4 사람 내지 제8 사람(730-1 내지 730-5) 중 사용자 음성에 대응되는 제7 사람(730-4)에 대한 정보를 검색을 위한 키워드로 획득할 수 있다. 구체적으로, 전자 장치(100)는 제3 및 제4 영상 프레임(710-3 및 710-4)에 포함된 오브젝트에 대한 정보 중 가운데에 위치하는 사람인 제2사람(720-2), 제5사람(730-2) 및 제7사람(730-4)에 대한 정보를 획득할 수 있다. 그리고, 전자 장치(100)는 사용자 정보 및 화면에서의 중요도 중 적어도 하나를 바탕으로 제2사람(720-2), 제5사람(730-2) 및 제7사람(730-4) 중 하나를 선택할 수 있다. 예로, 전자 장치(100)는 제2사람(720-2), 제5사람(730-2) 및 제7사람(730-4) 중 사용자가 선호하는 스타일의 사람인지 여부 혹은 동영상에의 주인공인지 여부를 판단하여 제 7사람(730-4)을 선택할 수 있다. 그리고, 전자 장치(100)는 선택된 제7사람(730-4)에 대한 정보를 바탕으로 키워드를 획득할 수 있다.
또 다른 실시예에 의하면, 전자 장치(100)는 오브젝트에 대한 정보(화면에서의 중요도에 대한 정보를 포함할 수 있음), 사용자 정보, 사용자 음성을 학습된 인공지능 모델에 입력하여 사용자 음성에 대응되는 키워드를 획득할 수 있다.
이때, 키워드는 텍스트 형태일 수 있으나, 이는 일 실시예에 불과할 뿐, 제4 프레임(710-4)에 포함된 제7사람(730-4)의 이미지일 수 있다.
전자 장치(100)는 획득된 키워드를 외부 검색 서버(200)로 전송할 수 있다. 외부 검색 서버(200)는 키워드에 응답하여 "제7 사람(730-4)"에 대한 검색 결과를 전자 장치(100)로 전송할 수 있다.
전자 장치(100)는 도 7의 (c)에 도시된 바와 같이, "제7 사람(730-4)"에 대한 검색 결과를 제공할 수 있다. 이때, "제7 사람(730-4)"에 대한 검색 결과는 제 7 사람의 이름, 나이, 직업 대표, 작품 등과 같은 다양한 정보가 포함될 수 있다.
한편, 도 6 및 도 7에서는 영상 프레임으로부터 동영상에 포함된 오브젝트에 대한 정보를 획득하는 것으로 설명하였으나, 이는 일 실시예에 불과할 뿐, 오디오 프레임으로부터 동영상에 포함된 오브젝트에 대한 정보를 획득할 수 있다. 예를 들어, 동영상의 주인공인 "A"라는 노래를 부르는 동안 사용자로부터 "하이 빅스비 저 노래가 머야?"라는 음성이 수신된 경우, 전자 장치(100)는 동영상 데이터 중 오디오 프레임을 학습된 인공지능 모델에 입력하여 동영상에 포함된 복수의 음성에 대한 정보를 획득할 수 있다. 그리고, 전자 장치(100)는 동영상에 포함된 복수의 음성에 대한 정보 중 사용자 음성에 대응된 "A" 노래에 대한 정보를 바탕으로 키워드를 획득할 수 있다.
도 8a 및 도 8b는 본 개시의 일 실시예에 따른, 전자 장치가 검색 결과를 제공하는 방법에 대해 설명하기 위한 도면이다.
우선, 전자 장치(100)는 외부 검색 서버(200)로부터 수신한 검색 결과를 현재 재생되는 동영상과 함께 제공할 수 있다. 구체적으로, 전자 장치(100)는 도 8a에 도시된 바와 같이, 현재 재생되는 동영상(810) 상에 검색 결과를 포함하는 화면(820)을 제공할 수 있다.
일 실시예에 의하면, 검색 결과를 포함하는 화면은 기설정된 영역(예를 들어, 화면의 좌측 하단 영역)에 표시될 수 있다. 다른 실시예에 의하면, 검색 결과를 포함하는 화면(820)은 도 8a에 도시된 바와 같이, 현재 재생되는 동영상(810) 중 오브젝트가 배치되지 않은 영역에 제공될 수 있다.
또한, 검색 결과를 포함하는 화면(820)은 사용자 입력에 따라 크기 및 위치가 조절될 수 있다.
또한, 현재 재생되는 동영상(810)에 검색 결과에 대응되는 오브젝트가 포함된 경우, 전자 장치(100)는 검색 결과에 대응되는 오브젝트에 인디케이터(예를 들어, 박스 표시)를 제공할 수 있다.
또한, 전자 장치(100)는 현재 재생되는 동영상을 중지하고, 외부 검색 서버(200)로부터 수신한 검색 결과를 제공할 수 있다. 이때, 전자 장치(100)는 도 8b에 도시된 바와 같이, 검색 결과에 대응되는 오브젝트를 포함하는 이전 프레임(830)과 함께 검색 결과를 포함하는 화면(840)을 제공할 수 있다.
또한, 기설정된 사용자 입력(예를 들어, 검색 결과에 대응되는 오브젝트를 포함하는 이전 프레임(830)을 선택하는 사용자 입력)이 수신되면, 전자 장치(100)는 검색 결과에 대응되는 오브젝트를 포함하는 이전 프레임(830)부터 동영상을 다시 재생할 수 있다.
도 9a 및 도 9b는 본 개시의 다양한 실시예에 따른, 오브젝트에 대한 확인 또는 추가 문의를 위한 UI를 도시한 도면들이다.
우선, 전자 장치(100)는 사용자 음성에 대응되는 오브젝트가 맞는지 여부를 확인하기 위한 UI를 제공할 수 있다. 구체적으로, 사용자 음성에 대응되는 오브젝트가 선택된 후, 전자 장치(100)는 도 9a에 도시된 바와 같이, 사용자 음성에 대응되는 오브젝트가 맞는지 여부를 확인하기 위한 UI(910)를 제공할 수 있다. 즉, 도 7에서 설명한 바와 같이, 제7사람이 선택된 후, 전자 장치(100)는 가운데에 위치하는 사람이 제7사람이 맞는지 여부를 확인하기 위한 UI(910)를 제공할 수 있다. 이때, UI(910)는 도 9a에 도시된 바와 같이, 말풍선 형태일 수 있으나, 이는 일 실시예에 불과할 뿐, 다른 유형의 UI(예로, 기설정된 영역에 표시되는 박스 형태의 UI)로 구현될 수 있다. 또한, 말풍선 형태의 UI(910)는 불투명할 수 있으나, 이는 일 실시예에 불과할 뿐, 반투명할 수 있다.
제7사람이 맞다는 사용자 입력(예로, 사용자 음성)이 수신되면, 전자 장치(100)는 제7사람에 대한 정보를 바탕으로 검색을 위한 키워드를 획득할 수 있다. 또는 전자 장치(100)는 도 9b에 도시된 바와 같이, 제7사람에 대한 추가 정보를 문의하기 위한 UI(920)를 제공할 수 있다. 이때, 전자 장치(100)는 제7사람에 대한 구체적인 유형의 추가 정보(예로, 이름, 나이, 국적 등)를 문의하는 UI를 제공할 수 있다.
또는 제7사람이 아니라는 사용자 입력이 수신되면, 전자 장치(100)는 제7사람이 아닌 제2사람(720-2), 제5사람(730-2) 중 후순위의 사람이 맞는지 여부를 확인하기 위한 UI를 제공할 수 있다.
도 10은 본 개시의 일 실시예에 따른, 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
전자 장치(100)는 동영상을 재생한다(S1010).
전자 장치(100)는 동영상을 재생하는 동안 재생 시점을 기준으로 기설정된 구간의 동영상 데이터를 저장할 수 있다(S1020). 이때, 동영상 데이터는 영상 프레임 및 오디오 프레임 중 하나일 수 있다.
전자 장치(100)는 동영상 내의 오브젝트에 대한 정보를 문의하기 위한 사용자 음성을 입력받을 수 있다(S1030). 이때, 사용자 음성은 정보 문의를 개시하기 위한 트리거 음성 및 오브젝트에 대한 정보를 문의하는 문의 음성을 포함할 수 있다.
전자 장치(100)는 사용자 음성이 입력된 시점에 대응되는 동영상 데이터를 인공지능 알고리즘을 통해 학습된 인공지능 모델에 입력하여 동영상 데이터 내에 포함된 복수의 오브젝트에 대한 정보를 획득할 수 있다(S1040). 특히, 전자 장치(100)는 트리거 음성이 입력된 시점으로부터 기설정된 구간 내의 동영상 데이터를 인공지능 모델에 입력하여 복수의 오브젝트에 대한 정보를 획득할 수 있다.
전자 장치(100)는 복수의 오브젝트에 대한 정보 및 사용자 음성을 바탕으로 외부 검색 서버(200)에 의해 검색된 검색 결과를 제공할 수 있다(S1050). 전자 장치(100)는 복수의 오브젝트에 대한 정보 중 사용자 음성에 대응되는 오브젝트에 대한 정보를 바탕으로 검색을 위한 키워드를 생성할 수 있다. 이때, 전자 장치(100)는 학습된 인공지능 모델에 복수의 오브젝트에 대한 정보 및 사용자 음성을 입력하여 사용자 음성에 대응되는 키워드를 생성할 수 있다. 그리고, 전자 장치(100)는 키워드를 외부 검색 서버(200)에 전송하며, 외부 검색 서버(200)로부터 검색 결과를 수신할 수 있다. 그리고, 전자 장치(100)는 수신된 검색 결과를 제공할 수 있다. 이때, 전자 장치(100)는 동영상이 재생되는 동안 수신된 검색 결과를 제공할 수 있으나, 이는 일 실시예에 불과할 뿐, 동영상의 재생을 중지하고 검색 결과를 제공할 수 있다.
도 11은 본 개시의 일 실시예에 따른, 인공지능 모델을 학습하고 이용하기 위한 전자 장치의 구성을 나타내는 블록도이다.
도 11을 참조하면, 프로세서(1100)는 학습부(1110) 및 획득부(1120) 중 적어도 하나를 포함할 수 있다. 도 11의 프로세서(1100)는 도 2a 및 도 2b의 전자 장치(100)의 프로세서(150) 또는 데이터 학습 서버(미도시)의 프로세서에 대응될 수 있다.
학습부(1110)는 학습 데이터를 이용하여 동영상에 포함된 복수의 오브젝트를 인식하기 위한 제1 모델, 사용자 음성에 대한 키워드를 획득하기 위한 제2 모델을 생성 또는 학습시킬 수 있다. 학습부(1110)는 수집된 학습 데이터를 이용하여 인식 기준을 갖는 학습된 모델을 생성할 수 있다.
일 예로, 학습부(1110)는 동영상 데이터를 입력 데이터로 사용하여 동영상에 포함된 복수의 오브젝트에 대한 정보를 획득하기 위한 제1 모델을 생성, 학습 또는 갱신시킬 수 있다. 또한, 학습부(1110)는 복수의 오브젝트에 대한 정보, 사용자 정보 및 사용자 음성을 입력 데이터로 사용하여 사용자 음성에 대응되는 키워드를 획득하기 위한 제2 모델을 생성, 학습 또는 갱신시킬 수 있다. 한편, 본 발명의 일 실시예에 다른 실시예에 따르면, 제1 모델 및 제2 모델은 서로 통합된 모델로 구현될 수 있다. 즉, 통합된 모델은 동영상 데이터 및 사용자 음성을 입력 데이터로 사용하여 사용자 음성에 대응되는 키워드를 획득할 수 있다.
획득부(1120)는 소정의 데이터를 학습된 모델의 입력 데이터로 사용하여, 다양한 정보를 획득할 수 있다.
일 예로, 획득부(1120)는 동영상 데이터를 학습된 제1 모델의 입력 데이터로 사용하여 동영상에 포함된 복수의 오브젝트에 대한 정보를 획득(또는, 인식, 추정)할 수 있다. 또한, 획득부(1120)는 복수의 오브젝트에 대한 정보, 사용자 정보 및 사용자 음성을 학습된 제2 모델의 입력 데이터로 사용하여 복수의 오브젝트 중 사용자 음성에 대응되는 키워드를 획득(또는 추정, 추론, 인식)할 수 있다.
학습부(1110)의 적어도 일부 및 획득부(1120)의 적어도 일부는, 소프트웨어 모듈로 구현되거나 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 학습부(1110) 및 획득부(1120) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다. 이때, 인공 지능을 위한 전용 하드웨어 칩은 확률 연산에 특화된 전용 프로세서로서, 기존의 범용 프로세서보다 병렬처리 성능이 높아 기계 학습과 같은 인공 지능 분야의 연산 작업을 빠르게 처리할 수 있다. 학습부(1110) 및 획득부(1120)가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 이 경우, 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
□이 경우, 학습부(1110) 및 획득부(1120)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 학습부(1110) 및 획득부(1120) 중 하나는 전자 장치(100)에 포함되고, 나머지 하나는 외부의 서버에 포함될 수 있다. 또한, 학습부(1110) 및 획득부(1120)는 유선 또는 무선으로 통하여, 학습부(1110)가 구축한 모델 정보를 획득부(1120)로 제공할 수도 있고, 학습부(1110)로 입력된 데이터가 추가 학습 데이터로서 학습부(1110)로 제공될 수도 있다.
도 12a는, 다양한 실시예에 따른 학습부(1110) 및 획득부(1120)의 블록도이다.
도 12a의 (a)를 참조하면, 일부 실시예에 따른 학습부(1110)는 학습 데이터 획득부(1110-1) 및 모델 학습부(1110-4)를 포함할 수 있다. 또한, 학습부(1110)는 학습 데이터 전처리부(1110-2), 학습 데이터 선택부(1110-3) 및 모델 평가부(1110-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다.
학습 데이터 획득부(1110-1)는 제1 모델 및 제2 모델에 필요한 학습 데이터를 획득할 수 있다. 본 개시의 실시예로, 학습 데이터 획득부(1110-1)는 동영상 데이터, 복수의 오브젝트에 대한 정보, 사용자 정보, 사용자 음성 등을 학습 데이터로서 획득할 수 있다. 학습 데이터는 학습부(1110) 또는 학습부(1110)의 제조사가 수집 또는 테스트한 데이터가 될 수도 있다.
모델 학습부(1110-4)는 학습 데이터를 이용하여, 동영상 속에 포함된 오브젝트를 어떻게 인식할지, 복수의 오브젝트 중 사용자 음성에 대응되는 오브젝트에 대한 키워드를 어떻게 획득할지에 관한 기준을 갖도록 학습시킬 수 있다. 예로, 모델 학습부(1110-4)는 학습 데이터 중 적어도 일부를 판단 기준으로 이용하는 지도 학습(supervised learning)을 통하여, 인공지능 모델을 학습시킬 수 있다. 또는, 모델 학습부(1110-4)는, 예를 들어, 별다른 지도 없이 학습 데이터를 이용하여 스스로 학습함으로써, 상황의 판단을 위한 판단 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 인공지능 모델을 학습시킬 수 있다. 또한, 모델 학습부(1110-4)는, 예를 들어, 학습에 따른 상황 판단의 결과가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 인공지능 모델을 학습시킬 수 있다. 또한, 모델 학습부(1110-4)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 인공지능 모델을 학습시킬 수 있다
모델 학습부(1110-4)는 미리 구축된 인공지능 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 인공지능 모델을 학습할 인공지능 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입별로 기 분류되어 있을 수 있으며, 인공지능 모델은 데이터의 타입별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자, 학습 데이터 내의 오브젝트의 종류 등과 같은 다양한 기준으로 기분류되어 있을 수 있다.
인공지능 모델이 학습되면, 모델 학습부(1110-4)는 학습된 인공지능 모델을 저장할 수 있다. 이 경우, 모델 학습부(1110-4)는 학습된 인공지능 모델을 전자 장치(100)의 메모리(130)에 저장할 수 있다. 또는, 모델 학습부(1110-4)는 학습된 인공지능 모델을 전자 장치(100)와 유선 또는 무선 네트워크로 연결되는 서버(예를 들어, 인공지능 서버(250))의 메모리에 저장할 수도 있다.
학습부(1110)는 인공지능 모델의 인식 결과를 향상시키거나, 인공지능 모델의 생성에 필요한 자원 또는 시간을 절약하기 위하여, 학습 데이터 전처리부(1110-2) 및 학습 데이터 선택부(1110-3)를 더 포함할 수도 있다.
학습 데이터 전처리부(1110-2)는 오브젝트에 대한 정보 획득 및 키워드 생성을 위한 학습에 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 학습 데이터 전처리부(1110-2)는 모델 학습부(1110-4)가 오브젝트에 대한 정보 획득 및 키워드 생성을 위한 학습을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기설정된 포맷으로 가공할 수 있다.
학습 데이터 선택부(1110-3)는 학습 데이터 획득부(1110-1)에서 획득된 데이터 또는 학습 데이터 전처리부(1110-2)에서 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 학습 데이터는 모델 학습부(1110-4)에 제공될 수 있다. 학습 데이터 선택부(1110-3)는 기 설정된 선별 기준에 따라, 획득되거나 전처리된 데이터 중에서 학습에 필요한 학습 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부(1110-3)는 모델 학습부(1110-4)에 의한 학습에 의해 기 설정된 선별 기준에 따라 학습 데이터를 선택할 수도 있다.
학습부(1110)는 인공지능 모델의 인식 결과를 향상시키기 위하여, 모델 평가부(1110-5)를 더 포함할 수도 있다.
모델 평가부(1110-5)는 인공지능 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 인식 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(1110-4)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 인공지능 모델을 평가하기 위한 기 정의된 데이터일 수 있다.
예를 들어, 모델 평가부(1110-5)는 평가 데이터에 대한 학습된 인공지능 모델의 인식 결과 중에서, 인식 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다.
한편, 학습된 인공지능 모델이 복수 개가 존재하는 경우, 모델 평가부(1110-5)는 각각의 학습된 인공지능 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 인공지능 모델로서 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(1110-5)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 인공지능 모델로서 결정할 수 있다.
도 12a의 (b)를 참조하면, 일부 실시예에 따른 획득부(1120)는 입력 데이터 획득부(1120-1) 및 제공부(1120-4)를 포함할 수 있다.
또한, 획득부(1120)는 입력 데이터 전처리부(1120-2), 입력 데이터 선택부(1120-3) 및 모델 갱신부(1120-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다.
입력 데이터 획득부(1120-1)는 동영상에 포함된 오브젝트에 대한 정보를 획득하고 사용자 음성에 대응되는 오브젝트에 대한 키워드를 획득하기 위해 필요한 데이터를 획득할 수 있다. 제공부(1120-4)는 입력 데이터 획득부(1120-1)에서 획득된 입력 데이터를 입력 값으로 학습된 인공지능 모델에 적용하여 동영상에 포함된 오브젝트에 대한 정보를 획득하고 사용자 음성에 대응되는 오브젝트에 대한 키워드를 획득할 수 있다. 제공부(1120-4)는 후술할 입력 데이터 전처리부(1120-2) 또는 입력 데이터 선택부(1120-3)에 의해 선택된 데이터를 입력 값으로 인공지능 모델에 적용하여 인식 결과를 획득할 수 있다. 인식 결과는 인공지능 모델에 의해 결정될 수 있다.
일 실시예로, 제공부(1120-4)는 입력 데이터 획득부(1120-1)에서 획득한 동영상 데이터를 학습된 제1 모델에 적용하여 동영상에 포함된 복수의 오브젝트에 대한 정보를 획득(또는, 추정)할 수 있다.
또 다른 예로, 제공부(1120-4)는 입력 데이터 획득부(1120-1)에서 획득한 오브젝트에 대한 정보, 사용자 정보 및 사용자 음성을 학습된 제2 모델에 적용하여 사용자 음성에 대응되는 오브젝트에 대한 키워드를 획득(또는, 추정)할 수 있다.
획득부(1120)는 인공지능 모델의 인식 결과를 향상시키거나, 인식 결과의 제공을 위한 자원 또는 시간을 절약하기 위하여, 입력 데이터 전처리부(1120-2) 및 입력 데이터 선택부(1120-3)를 더 포함할 수도 있다.
입력 데이터 전처리부(1120-2)는 제1 및 제2 모델에 입력되기 위해 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 입력 데이터 전처리부(1120-2)는 제공부(1120-4)가 오브젝트에 대한 정보 획득 및 키워드 생성을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 정의된 포맷으로 가공할 수 있다.
입력 데이터 선택부(1120-3)는 입력 데이터 획득부(1120-1)에서 획득된 데이터 또는 입력 데이터 전처리부(1120-2)에서 전처리된 데이터 중에서 상황 판단에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 제공부(1120-4)에게 제공될 수 있다. 입력 데이터 선택부(1120-3)는 상황 판단을 위한 기 설정된 선별 기준에 따라, 획득되거나 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 입력 데이터 선택부(1120-3)는 모델 학습부(1110-4)에 의한 학습에 의해 기 설정된 선별 기준에 따라 데이터를 선택할 수도 있다.
모델 갱신부(1120-5)는 제공부(1120-4)에 의해 제공되는 인식 결과에 대한 평가에 기초하여, 인공지능 모델이 갱신되도록 제어할 수 있다. 예를 들어, 모델 갱신부(1120-5)는 제공부(1120-4)에 의해 제공되는 인식 결과를 모델 학습부(1110-4)에게 제공함으로써, 모델 학습부(1110-4)가 인공지능 모델을 추가 학습 또는 갱신하도록 요청할 수 있다.
도 12b는, 일 실시예에 따른 전자 장치(A) 및 외부의 서버(S)가 서로 연동함으로써 데이터를 학습하고 판단하는 예시를 나타내는 도면이다.
도 12b를 참조하면, 외부의 서버(S)는 동영상에 포함된 복수의 오브젝트에 대한 정보를 획득하고, 사용자 음성에 대응되는 오브젝트에 대한 키워드를 획득하기 위한 기준을 학습할 수 있으며, 전자 장치(A)는 서버(S)에 의한 학습 결과에 기초하여 생성된 모델들을 이용하여 동영상에 포함된 복수의 오브젝트에 대한 정보를 획득하고, 사용자 음성에 대응되는 오브젝트에 대한 키워드를 획득할 수 있다.
이 경우, 서버(S)의 모델 학습부(1110-4)는 도 11에 도시된 학습부(1110)의 기능을 수행할 수 있다. 서버(S)의 모델 학습부(1110-4)는 제1 및 제2 모델에 대한 판단 기준(혹은, 인식 기준)을 학습할 수 있다.
또한, 전자 장치(A)의 제공부(1120-4)는 입력 데이터 선택부(1120-3)에 의해 선택된 데이터를 서버(S)에 의해 생성된 인공지능 모델에 적용하여 동영상에 포함된 복수의 오브젝트에 대한 정보를 획득하고, 사용자 음성에 대응되는 오브젝트에 대한 키워드를 획득할 수 있다. 또는, 전자 장치(A)의 제공부(1120-4)는 서버(S)에 의해 생성된 인공지능 모델을 서버(S)로부터 수신하고, 수신된 인공지능 모델을 이용하여 동영상에 포함된 복수의 오브젝트에 대한 정보를 획득하고, 사용자 음성에 대응되는 오브젝트에 대한 키워드를 획득할 수 있다.
도 13 및 14는 본 개시의 일 실시예에 따른, 학습된 모델을 이용하는 네트워크 시스템의 흐름도이다. 도 13 및 도 14에서, 학습된 인공지능 모델을 이용하는 네트워크 시스템은 제1 구성 요소(1301,1401), 제2 구성 요소(1302,1402) 및 제3 구성 요소(1303, 1403)를 포함할 수 있다.
여기서, 제1 구성 요소(1301,1401)는 전자 장치(A)이고, 제2 구성 요소(1302,1402)는 인공지능 모델이 저장된 서버(S)가 될 수 있다. 또는, 제1 구성 요소(1301,1401)는 범용 프로세서이고, 제2 구성 요소(1302,1402)는 인공 지능 전용 프로세서가 될 수 있다. 또는, 제1 구성 요소(1301,1401)는 적어도 하나의 어플리케이션이 될 수 있고, 제2 구성 요소(1302,1402)는 운영 체제(operating system, OS)가 될 수 있다. 즉, 제2 구성 요소(1302,1402)는 제1 구성 요소(1301,1401)보다 더 집적화되거나, 전용화되거나, 딜레이(delay)가 작거나, 성능이 우세하거나 또는 많은 리소스를 가진 구성 요소로서 데이터 인식 모델의 생성, 갱신 또는 적용 시에 요구되는 많은 연산을 제1 구성 요소(1301,1401)보다 신속하고 효과적으로 처리 가능한 구성 요소가 될 수 있다.
이 경우, 제1 구성 요소(1301,1401) 및 제2 구성 요소(1302,1402) 간에 데이터를 송/수신하기 위한 인터페이스가 정의될 수 있다.
예로, 인식 모델에 적용할 학습 데이터를 인자 값(또는, 매개 값 또는 전달 값)으로 갖는 API(application program interface)가 정의될 수 있다. API는 어느 하나의 프로토콜(예로, 전자 장치(A)에서 정의된 프로토콜)에서 다른 프로토콜(예로, 서버(S)에서 정의된 프로토콜)의 어떤 처리를 위해 호출할 수 있는 서브 루틴 또는 함수의 집합으로 정의될 수 있다. 즉, API를 통하여 어느 하나의 프로토콜에서 다른 프로토콜의 동작이 수행될 수 있는 환경을 제공될 수 있다.
한편, 제3 구성 요소(1303,1403)는 제1 구성 요소(1301,1401) 및 제2 구성 요소(1302,1402) 중 적어도 하나에서 키워드에 기반하여 오브젝트와 연관된 검색 결과를 획득할 수 있다. 제3 구성 요소(1303,1403)는 예로, 외부 검색 서버(200)에 대응될 수 있다. 이때, 제3 구성 요소(1303,1403)가 수신하는 데이터는, 예로, 텍스트 정보, 이미지 등이 될 수 있다. 또한, 일 실시예에 따라, 제3 구성 요소(1303,1403)는 제2 구성 요소(1302,1402)와 하나의 장치로 구현될 수 있다.
도 13에서, 제1 구성 요소(1301)는 동영상을 재생할 수 있다(S1305). 이때, 재생되는 동영상은 스트리밍 방식의 동영상일 수 있으나, 이는 일 실시예에 불과할 뿐, 재생 전 이미 다운로드된 동영상일 수 있다.
제1 구성 요소(1301)는 동영상을 재생하는 동안 기설정된 제1 구간의 동영상 데이터를 저장할 수 있다(S1310). 이때, 기설정된 제1 구간의 동영상 데이터는 현재 재생되는 시점을 기준으로 제1 구간 내의 영상 프레임 및 오디오 프레임을 포함할 수 있으나, 이는 일 실시예에 불과할 뿐, 동영상의 메타 데이터 등을 포함할 수 있다.
제1 구성 요소(1301)가 동영상을 재생하는 동안 제1 구성 요소(1301)는 사용자 음성을 입력받을 수 있다(S1315). 이때, 사용자 음성은 오브젝트에 대한 정보 문의를 개시하기 위한 트리거 음성 및 오브젝트에 대한 정보를 문의하는 문의 음성을 포함할 수 있다.
제1 구성 요소(1301)는 획득된 기설정된 제2 구간의 동영상 데이터를 제2 구성 요소(1302)에 전송할 수 있다(S1320). 이때, 기설정된 제2 구간의 동영상 데이터는 트리거 음성이 입력된 시점을 기준으로 기설정된 구간 내의 동영상 데이터일 수 있다.
제2 구성 요소(1302)는 기설정된 제2 구간의 동영상에 포함된 오브젝트에 대한 정보를 획득할 수 있다(S1325). 이때, 제2 구성 요소(1302)는 제2 구간의 동영상 데이터를 학습된 인공지능 모델에 입력하여 제2 구간의 동영상에 포함된 오브젝트에 대한 정보를 획득할 수 있다. 이때, 인공지능 모델은 DNN(Deep Neural Network)로 구현될 수 있으나, 이는 일 실시예에 불과할 뿐, 다른 모델로 구현될 수 있다.
제2 구성 요소(1302)는 오브젝트에 대한 정보를 제1 구성 요소(1301)로 전송할 수 있다(S1330).
제1 구성 요소(1301)는 오브젝트에 대한 정보, 사용자 정보 및 사용자 음성을 바탕으로 검색을 위한 키워드를 획득할 수 있다(S1335). 구체적으로, 제1 구성 요소(1301)는 제2 구성 요소(1302)에 의해 획득된 오브젝트에 대한 정보 중 사용자 정보 및 사용자 음성에 매칭되는 오브젝트에 대한 정보를 획득하고, 사용자 정보 및 사용자 음성에 매칭되는 오브젝트에 대한 정보를 바탕으로 검색을 위한 키워드를 획득할 수 있다.
제1 구성 요소(1301)는 생성된 키워드를 제3 구성 요소(1303)에 전송할 수 있으며(S1340), 제3 구성 요소(1303)는 키워드를 바탕으로 검색 동작을 수행할 수 있다(S1345).
제3 구성 요소(1303)는 검색 결과를 제1 구성 요소(1301)로 전송할 수 있으며(S1350), 제1 구성 요소(1301)는 검색 결과를 제공할 수 있다(S1355).
도 14에서, 제1 구성 요소(1401)는 동영상을 재생할 수 있다(S1405).
제1 구성 요소(1401)는 동영상을 재생하는 동안 기설정된 제1 구간의 동영상 데이터를 저장할 수 있다(S1410). 이때, 기설정된 제1 구간의 동영상 데이터는 현재 재생되는 시점을 기준으로 제1 구간 내의 영상 프레임 및 오디오 프레임을 포함할 수 있으나, 이는 일 실시예에 불과할 뿐, 동영상의 메타 데이터 등을 포함할 수 있다.
제1 구성 요소(1401)가 동영상을 재생하는 동안 제1 구성 요소(1401)는 사용자 음성을 입력받을 수 있다(S1415). 이때, 사용자 음성은 오브젝트에 대한 정보 문의를 개시하기 위한 트리거 음성 및 오브젝트에 대한 정보를 문의하는 문의 음성을 포함할 수 있다.
제1 구성 요소(1401)는 획득된 기설정된 제2 구간의 동영상 데이터 및 사용자 음성을 제2 구성 요소(1402)에 전송할 수 있다(S1420). 이때, 기설정된 제2 구간의 동영상 데이터는 트리거 음성이 입력된 시점을 기준으로 기설정된 구간 내의 동영상 데이터일 수 있다.
제2 구성 요소(1402)는 기설정된 제2 구간의 동영상에 포함된 오브젝트에 대한 정보를 획득할 수 있다(S1425). 이때, 제2 구성 요소(1402)는 제2 구간의 동영상 데이터를 학습된 인공지능 모델에 입력하여 제2 구간의 동영상에 포함된 오브젝트에 대한 정보를 획득할 수 있다. 이때, 인공지능 모델은 DNN(Deep Neural Network)로 구현될 수 있으나, 이는 일 실시예에 불과할 뿐, 다른 모델로 구현될 수 있다.
제2 구성 요소(1402)는 오브젝트에 대한 정보 및 사용자 음성을 인공지능 모델에 입력하여 검색을 위한 키워드를 획득할 수 있다(S1430). 즉, 제2 구성 요소(1402)는 키워드를 획득하도록 학습된 인공지능 모델에 오브젝트에 대한 정보 및 사용자 음성을 입력하여 사용자 음성에 대응되는 키워드를 획득할 수 있다. 이때, 인공지능 모델에는 오브젝트에 대한 정보 및 사용자 음성뿐만 아니라 사용자 정보가 함께 입력될 수 있다.
제2 구성 요소(1402)는 생성된 키워드를 제3 구성 요소(1403)에 전송할 수 있으며(S1435), 제3 구성 요소(1403)는 키워드를 바탕으로 검색 동작을 수행할 수 있다(S1440).
제3 구성 요소(1403)는 검색 결과를 제1 구성 요소(1401)로 전송할 수 있으며(S1445), 제1 구성 요소(1401)는 검색 결과를 제공할 수 있다(S1450).
도 15는 본 개시의 일 실시예에 따른, 전자 장치(100)의 제어 방법을 설명하기 위한 흐름도이다.
전자 장치(100)는 동영상을 재생할 수 있다(S1510).
전자 장치(100)는 동영상을 재생하는 동안 일정시간 동안 재생된 프레임을 저장할 수 있다(S1520). 예를 들어, 전자 장치(100)는 현재 재생되는 시점을 기준으로 기설정된 구간의 동영상을 저장할 수 있다.
전자 장치(100)는 동영상을 재생하는 동안 사용자 음성 명령을 입력받을 수 있다(S1530). 이때, 사용자 음성 명령은 프레임에 포함된 오브젝트에 대한 정보 문의를 개시하기 위한 트리거 음성 및 오브젝트에 대한 정보를 문의하는 문의 음성을 포함할 수 있다.
전자 장치(100)는 저장된 프레임 중 사용자 음성 명령의 입력이 시작된 프레임을 획득할 수 있다(S1540). 구체적으로, 전자 장치(100)는 기저장된 제1 구간의 프레임 중 사용자 음성 명령(특히, 트리거 음성)이 입력된 시점에 대응되는 프레임을 획득할 수 있다. 또는, 전자 장치(100)는 기저장된 제1 구간의 프레임 중 사용자 음성 명령(특히, 트리거 음성)이 입력된 시점에 대응되는 프레임을 기준으로 제2 구간의 프레임들을 획득할 수 있다. 예로, 전자 장치(100)는 현재 재생 시점을 기준으로 5초 전후 동안의 프레임을 저장할 수 있으며, 사용자 음성 명령이 입력되면, 5초 동안의 프레임 중 사용자 음성 명령이 입력된 시점을 기준으로 2초 전후 동안의 프레임을 획득할 수 있다.
전자 장치(100)는 프레임에 대한 정보 및 사용자 음성 명령에 대한 정보를 바탕으로 외부 검색 서버에 의해 검색된 검색 결과를 제공할 수 있다(S1550). 본 개시의 일 실시예에 따르면, 전자 장치(100)는 획득된 프레임(또는 제2 구간의 프레임들)을 인공지능 모델에 입력하여 프레임 내에 포함된 복수의 오브젝트에 대한 정보를 획득할 수 있다. 그리고, 전자 장치(100)는 복수의 오브젝트에 대한 정보 및 사용자 음성을 바탕으로 키워드를 획득하고, 획득된 키워드를 외부 검색 서버에 전송하며, 외부 검색 서버에 의해 검색 결과를 수신하여 검색 결과를 제공할 수 있다.
본 개시의 다른 실시예에 따르면, 전자 장치(100)는 획득된 프레임을 외부 서버에 전송하고, 외부 서버가 획득된 프레임을 분석하여 획득한 프레임에 대한 정보(예로, 동영상 컨텐츠에 대한 정보, 프레임에 포함된 오브젝트에 대한 정보 등)를 수신할 수 있다. 그리고, 전자 장치(100)는 획득된 프레임에 대한 정보 및 사용자 음성을 외부 검색 서버에 전송하고, 외부 검색 서버로부터 검색 결과를 수신할 수 있다.
본 개시의 다양한 실시예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시예들에 따른 전자 장치(예: 전자 장치(100))를 포함할 수 있다. 상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
110: 디스플레이 120: 통신부
130: 마이크 140: 메모리
150: 프로세서 160; 카메라
170: 오디오 출력부 180: 입력부

Claims (20)

  1. 전자 장치의 제어 방법에 있어서,
    동영상을 재생하는 단계;
    상기 동영상을 재생하는 동안 제1 시간 동안 재생된 복수의 프레임을 저장하는 단계;
    상기 동영상의 제1 프레임이 재생되는 동안 상기 동영상에 디스플레이된 오브젝트에 대한 정보를 문의하는 사용자 음성 명령을 입력받는 단계;
    상기 오브젝트에 대한 정보를 문의하는 사용자 음성 명령이 입력되면, 상기 사용자 음성이 수신된 시점에 기초하여 제2 프레임을 선택하는 단계;
    상기 제2 프레임에 기초하여 오브젝트를 결정하는 단계;
    상기 제2 프레임 및 상기 음성 명령에 기초하여 상기 결정된 오브젝트에 대응되는 키워드를 획득하는 단계; 및
    상기 키워드에 기초하여 검색 결과를 제공하는 단계;를 포함하며,
    상기 제2 프레임은 상기 저장된 복수의 프레임 중 하나이며, 상기 음성 명령을 수신하기 시작하는 시점 이전에 제2 시간 동안 재생되는 프레임인 제어 방법.
  2. 제1항에 있어서,
    상기 제2 프레임을 인공지능 알고리즘을 통해 학습된 인공지능 모델에 입력하여 상기 프레임 내에 포함된 복수의 오브젝트에 대한 정보를 획득하는 단계;를 포함하는 제어 방법.
  3. 제2항에 있어서,
    상기 사용자 음성 명령은,
    상기 제2 프레임에 포함된 오브젝트에 대한 정보 문의를 개시하기 위한 트리거 음성 및 상기 오브젝트에 대한 정보를 문의하는 문의 음성을 포함하는 제어 방법.
  4. 제2항에 있어서,
    상기 복수의 프레임 각각은 영상 프레임 및 오디오 프레임을 포함하며,
    상기 저장하는 단계는,
    상기 복수의 프레임 각각의 영상 프레임과 오디오 프레임을 매칭하여 저장하고,
    상기 복수의 오브젝트에 대한 정보를 획득하는 단계는,
    상기 영상 프레임 및 상기 오디오 프레임 중 적어도 하나를 상기 인공지능 모델에 입력하여 상기 제2 프레임 내에 포함된 복수의 오브젝트에 대한 정보를 획득하는 제어 방법.
  5. 제2항에 있어서,
    상기 복수의 오브젝트에 대한 정보를 상기 복수의 오브젝트가 나온 영상 프레임과 매칭하여 저장하는 단계;를 포함하는 제어 방법.
  6. 제3항에 있어서,
    상기 결정하는 단계는
    상기 복수의 오브젝트에 대한 정보 중 상기 문의 음성에 대응되는 오브젝트에 대한 정보를 결정하고,
    상기 제공하는 단계는,
    상기 결정된 오브젝트에 대한 정보를 외부 검색 서버에 전송하여 획득된 검색 결과를 제공하는 제어 방법.
  7. 제6항에 있어서,
    상기 결정하는 단계는,
    상기 복수의 오브젝트에 대한 정보 중 상기 문의 음성에 대응되는 오브젝트에 대한 정보가 맞는지 여부를 확인하거나 추가적인 정보를 문의하기 위한 추가 질의가 있는지 여부를 확인하는 UI를 표시하는 단계;를 더 포함하는 제어 방법.
  8. 제1항에 있어서,
    상기 제공하는 단계는,
    상기 동영상이 재생되는 동안 상기 동영상의 일 영역 상에 상기 검색 결과와 상기 검색 결과에 대응되는 상기 제2 프레임을 제공하는 제어 방법.
  9. 제1항에 있어서,
    프레임에 대한 정보를 획득하기 위한 외부 서버에 상기 획득된 프레임을 전송하는 단계; 및
    상기 외부 서버로부터 상기 획득된 프레임에 대한 정보를 획득하는 단계;를 포함하는 제어 방법.
  10. 제9항에 있어서,
    상기 획득된 프레임에 대한 정보는,
    상기 외부 서버가 상기 프레임 속에 포함된 핑거 프린터를 인식하여 획득된 것을 특징으로 하는 제어 방법.
  11. 전자 장치에 있어서,
    디스플레이;
    통신부;
    마이크;
    적어도 하나의 명령을 포함하는 메모리; 및
    상기 디스플레이, 상기 통신부, 상기 마이크 및 상기 메모리와 연결되어 상기 전자 장치를 제어하는 프로세서;를 포함하며,
    상기 프로세서는, 상기 적어도 하나의 명령을 실행함으로써,
    동영상을 재생하는 동안 제1 시간 동안 재생된 복수의 프레임을 상기 메모리에 저장하고,
    상기 동영상의 제1 프레임이 재생되는 동안 상기 동영상에 디스플레이된 오브젝트에 대한 정보를 문의하는 사용자 음성 명령이 수신되면, 상기 사용자 음성이 수신된 시점에 기초하여 제2 프레임을 선택하고,
    상기 제2 프레임에 기초하여 오브젝트를 결정하고,
    상기 제2 프레임 및 상기 음성 명령에 기초하여 상기 결정된 오브젝트에 대응되는 키워드를 획득하고,
    상기 키워드에 기초하여 검색 결과를 제공하며,
    상기 제2 프레임은 상기 저장된 복수의 프레임 중 하나이며, 상기 음성 명령을 수신하기 시작하는 시점 이전에 제2 시간 동안 재생되는 프레임인 전자 장치.
  12. 제11항에 있어서,
    상기 프로세서는,
    상기 제2 프레임을 인공지능 알고리즘을 통해 학습된 인공지능 모델에 입력하여 상기 프레임 내에 포함된 복수의 오브젝트에 대한 정보를 획득하는 전자 장치.
  13. 제12항에 있어서,
    상기 사용자 음성 명령은,
    상기 제2 프레임에 포함된 오브젝트에 대한 정보 문의를 개시하기 위한 트리거 음성 및 상기 오브젝트에 대한 정보를 문의하는 문의 음성을 포함하는 전자 장치.
  14. 제12항에 있어서,
    상기 복수의 프레임 각각은 영상 프레임 및 오디오 프레임을 포함하며,
    상기 메모리는,
    상기 복수의 프레임 각각의 영상 프레임과 오디오 프레임을 매칭하여 저장하고,
    상기 프로세서는,
    상기 영상 프레임 및 상기 오디오 프레임 중 적어도 하나를 상기 인공지능 모델에 입력하여 상기 제2 프레임 내에 포함된 복수의 오브젝트에 대한 정보를 획득하는 전자 장치.
  15. 제12항에 있어서,
    상기 프로세서는,
    상기 복수의 오브젝트에 대한 정보를 상기 복수의 오브젝트가 나온 영상 프레임과 매칭하여 상기 메모리에 저장하는 전자 장치.
  16. 제13항에 있어서,
    상기 프로세서는,
    상기 복수의 오브젝트에 대한 정보 중 상기 문의 음성에 대응되는 오브젝트에 대한 정보를 결정하고,
    상기 통신부를 통해 상기 결정된 오브젝트에 대한 정보를 외부 검색 서버에 전송하여 획득된 검색 결과를 제공하는 전자 장치.
  17. 제16항에 있어서,
    상기 프로세서는,
    상기 복수의 오브젝트에 대한 정보 중 상기 문의 음성에 대응되는 오브젝트에 대한 정보가 맞는지 여부를 확인하거나 추가적인 정보를 문의하기 위한 추가 질의가 있는지 여부를 확인하는 UI를 표시하도록 상기 디스플레이를 제어하는 전자 장치.
  18. 제11항에 있어서,
    상기 프로세서는,
    상기 동영상이 재생되는 동안 상기 동영상의 일 영역 상에 상기 검색 결과와 상기 검색 결과에 대응되는 상기 제2 프레임을 제공하는 전자 장치.
  19. 제11항에 있어서,
    상기 프로세서는,
    프레임에 대한 정보를 획득하기 위한 외부 서버에 상기 획득된 프레임을 전송하도록 상기 통신부를 제어하고,
    상기 외부 서버로부터 상기 획득된 프레임에 대한 정보를 획득하는 전자 장치.
  20. 제19항에 있어서,
    상기 획득된 프레임에 대한 정보는,
    상기 외부 서버가 상기 프레임 속에 포함된 핑거 프린터를 인식하여 획득된 것을 특징으로 하는 전자 장치.
KR1020180046072A 2018-04-20 2018-04-20 오브젝트에 대한 정보를 검색하기 위한 전자 장치 및 이의 제어 방법 KR102551550B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020180046072A KR102551550B1 (ko) 2018-04-20 2018-04-20 오브젝트에 대한 정보를 검색하기 위한 전자 장치 및 이의 제어 방법
US16/369,142 US11954150B2 (en) 2018-04-20 2019-03-29 Electronic device and method for controlling the electronic device thereof
PCT/KR2019/004173 WO2019203488A1 (en) 2018-04-20 2019-04-09 Electronic device and method for controlling the electronic device thereof
CN201910298649.9A CN110390034A (zh) 2018-04-20 2019-04-15 电子设备和用于控制该电子设备的方法
EP19169593.1A EP3557441A1 (en) 2018-04-20 2019-04-16 Electronic device and method for controlling the electronic device thereof
EP22168571.2A EP4050497A1 (en) 2018-04-20 2019-04-16 Electronic device and method for controlling the electronic device thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180046072A KR102551550B1 (ko) 2018-04-20 2018-04-20 오브젝트에 대한 정보를 검색하기 위한 전자 장치 및 이의 제어 방법

Publications (2)

Publication Number Publication Date
KR20190122377A KR20190122377A (ko) 2019-10-30
KR102551550B1 true KR102551550B1 (ko) 2023-07-06

Family

ID=66217809

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180046072A KR102551550B1 (ko) 2018-04-20 2018-04-20 오브젝트에 대한 정보를 검색하기 위한 전자 장치 및 이의 제어 방법

Country Status (5)

Country Link
US (1) US11954150B2 (ko)
EP (2) EP3557441A1 (ko)
KR (1) KR102551550B1 (ko)
CN (1) CN110390034A (ko)
WO (1) WO2019203488A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108012173B (zh) * 2017-11-16 2021-01-22 百度在线网络技术(北京)有限公司 一种内容识别方法、装置、设备和计算机存储介质
US11062147B2 (en) * 2019-10-25 2021-07-13 7-Eleven, Inc. Object assignment during image tracking
US11468071B2 (en) 2018-11-30 2022-10-11 Rovi Guides, Inc. Voice query refinement to embed context in a voice query
US11200892B1 (en) * 2018-12-10 2021-12-14 Amazon Technologies, Inc. Speech-enabled augmented reality user interface
US11227593B2 (en) * 2019-06-28 2022-01-18 Rovi Guides, Inc. Systems and methods for disambiguating a voice search query based on gestures
CN110880323B (zh) * 2019-12-05 2023-02-21 广东小天才科技有限公司 一种处理方法、家教机、计算机设备和存储介质
JP2022110509A (ja) * 2021-01-18 2022-07-29 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
KR102510052B1 (ko) * 2022-08-19 2023-03-14 (주)페르소나에이아이 인공지능 모델이 결합된 자동 호출 서비스를 제공하는 전자 장치
WO2024087125A1 (zh) * 2022-10-27 2024-05-02 北京小米移动软件有限公司 算法更新方法、装置
CN116431855B (zh) * 2023-06-13 2023-10-20 荣耀终端有限公司 图像检索方法和相关设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180005047A1 (en) * 2016-06-30 2018-01-04 Beijing Kuangshi Technology Co., Ltd. Video monitoring method and video monitoring device
WO2018043990A1 (ko) * 2016-08-29 2018-03-08 오드컨셉 주식회사 영상 검색 정보 제공 방법, 장치 및 컴퓨터 프로그램

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11305983A (ja) * 1998-04-23 1999-11-05 Victor Co Of Japan Ltd 音声制御画像スクリーン表示システム
US7680324B2 (en) 2000-11-06 2010-03-16 Evryx Technologies, Inc. Use of image-derived information as search criteria for internet and other search engines
KR100719623B1 (ko) 2005-06-30 2007-05-17 주식회사 알티캐스트 연동형 데이터방송에서의 ppl 광고 데이터의 효율적제공방법
US20080295129A1 (en) * 2007-05-21 2008-11-27 Steven Laut System and method for interactive video advertising
KR101022285B1 (ko) 2008-05-07 2011-03-21 주식회사 케이티 동영상 객체정보 서비스 제공 방법 및 시스템
KR100958302B1 (ko) 2008-06-19 2010-05-19 주식회사 아론티 데이터방송에서 객체정보 제공방법
US10070201B2 (en) 2010-12-23 2018-09-04 DISH Technologies L.L.C. Recognition of images within a video based on a stored representation
KR102084630B1 (ko) 2012-07-26 2020-03-05 삼성전자주식회사 질문 메시지 전송 방법 및 이를 위한 디스플레이 장치, 정보 공유 방법 및 모바일 기기
KR102024168B1 (ko) * 2012-11-27 2019-09-23 삼성전자주식회사 컨텐츠 인식 서버, 단말 장치를 포함하는 컨텐츠 연관 정보 제공 시스템 및 그 제어 방법
KR102090269B1 (ko) 2012-12-14 2020-03-17 삼성전자주식회사 정보 검색 방법, 그와 같은 기능을 갖는 디바이스 및 기록 매체
US20140255003A1 (en) * 2013-03-05 2014-09-11 Google Inc. Surfacing information about items mentioned or presented in a film in association with viewing the film
US20150296250A1 (en) * 2014-04-10 2015-10-15 Google Inc. Methods, systems, and media for presenting commerce information relating to video content
KR20150136312A (ko) 2014-05-27 2015-12-07 삼성전자주식회사 디스플레이 장치 및 이의 정보 제공 방법
KR102206184B1 (ko) 2014-09-12 2021-01-22 삼성에스디에스 주식회사 동영상 내 객체 관련 정보 검색 방법 및 동영상 재생 장치
KR101720685B1 (ko) 2014-11-04 2017-04-10 한국전자통신연구원 웹 데이터 기반 방송 콘텐츠 객체 식별 검증 장치 및 방법
US9762934B2 (en) 2014-11-04 2017-09-12 Electronics And Telecommunications Research Institute Apparatus and method for verifying broadcast content object identification based on web data
KR20160071732A (ko) * 2014-12-12 2016-06-22 삼성전자주식회사 음성 입력을 처리하는 방법 및 장치
TWI550421B (zh) 2015-03-06 2016-09-21 視頻搜尋方法與系統
CN106162355A (zh) 2015-04-10 2016-11-23 北京云创视界科技有限公司 视频交互方法及终端
WO2017166098A1 (en) 2016-03-30 2017-10-05 Xiaogang Wang A method and a system for detecting an object in a video
US10805577B2 (en) * 2016-10-25 2020-10-13 Owl Cameras, Inc. Video-based data collection, image capture and analysis configuration
KR20180046072A (ko) 2016-10-27 2018-05-08 대우조선해양 주식회사 대유량 제어가 가능한 유압 장치 및 이를 이용한 대유량 제어 방법
US20190027147A1 (en) * 2017-07-18 2019-01-24 Microsoft Technology Licensing, Llc Automatic integration of image capture and recognition in a voice-based query to understand intent
WO2019030551A1 (en) * 2017-08-08 2019-02-14 Milstein Mark METHOD FOR APPLYING METADATA TO IMMERSIVE MULTIMEDIA FILES
US11869237B2 (en) * 2017-09-29 2024-01-09 Sony Interactive Entertainment Inc. Modular hierarchical vision system of an autonomous personal companion
US10182271B1 (en) * 2017-12-20 2019-01-15 Rovi Guides, Inc. Systems and methods for playback of summary media content

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180005047A1 (en) * 2016-06-30 2018-01-04 Beijing Kuangshi Technology Co., Ltd. Video monitoring method and video monitoring device
WO2018043990A1 (ko) * 2016-08-29 2018-03-08 오드컨셉 주식회사 영상 검색 정보 제공 방법, 장치 및 컴퓨터 프로그램

Also Published As

Publication number Publication date
US20190325224A1 (en) 2019-10-24
WO2019203488A1 (en) 2019-10-24
EP3557441A1 (en) 2019-10-23
KR20190122377A (ko) 2019-10-30
US11954150B2 (en) 2024-04-09
CN110390034A (zh) 2019-10-29
EP4050497A1 (en) 2022-08-31

Similar Documents

Publication Publication Date Title
KR102551550B1 (ko) 오브젝트에 대한 정보를 검색하기 위한 전자 장치 및 이의 제어 방법
US11671386B2 (en) Electronic device and method for changing chatbot
US11574116B2 (en) Apparatus and method for providing summarized information using an artificial intelligence model
KR102599947B1 (ko) 관련 이미지를 검색하기 위한 전자 장치 및 이의 제어 방법
KR102542049B1 (ko) 인공지능 학습모델을 이용하여 요약 정보를 제공하기 위한 전자 장치 및 이의 제어 방법
KR102473447B1 (ko) 인공지능 모델을 이용하여 사용자 음성을 변조하기 위한 전자 장치 및 이의 제어 방법
US20190042574A1 (en) Electronic device and method for controlling the electronic device
KR102595790B1 (ko) 전자 장치 및 그의 제어방법
KR20200046185A (ko) 전자 장치 및 이의 제어 방법
US20210217409A1 (en) Electronic device and control method therefor
KR20200048201A (ko) 전자 장치 및 이의 제어 방법
KR102469717B1 (ko) 오브젝트에 대한 검색 결과를 제공하기 위한 전자 장치 및 이의 제어 방법
KR102515023B1 (ko) 전자 장치 및 그 제어 방법
KR20200040097A (ko) 전자 장치 및 그 제어 방법
KR20220144346A (ko) 컨텍스트에 따라 이벤트의 출력 정보를 제공하는 전자 장치 및 이의 제어 방법
US11763690B2 (en) Electronic apparatus and controlling method thereof
KR20190118108A (ko) 전자 장치 및 그의 제어방법
KR102398386B1 (ko) 복수 개의 메시지들을 필터링하는 방법 및 이를 위한 장치
KR20200115695A (ko) 전자 장치 및 이의 제어 방법
US20210337274A1 (en) Artificial intelligence apparatus and method for providing visual information

Legal Events

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