KR102411124B1 - 전자 장치 및 전자 장치에서 외부 장치를 이용한 태스크 수행 방법 - Google Patents

전자 장치 및 전자 장치에서 외부 장치를 이용한 태스크 수행 방법 Download PDF

Info

Publication number
KR102411124B1
KR102411124B1 KR1020170141342A KR20170141342A KR102411124B1 KR 102411124 B1 KR102411124 B1 KR 102411124B1 KR 1020170141342 A KR1020170141342 A KR 1020170141342A KR 20170141342 A KR20170141342 A KR 20170141342A KR 102411124 B1 KR102411124 B1 KR 102411124B1
Authority
KR
South Korea
Prior art keywords
information
electronic device
external device
command
external
Prior art date
Application number
KR1020170141342A
Other languages
English (en)
Other versions
KR20190047445A (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 KR1020170141342A priority Critical patent/KR102411124B1/ko
Priority to US16/166,949 priority patent/US10778830B2/en
Publication of KR20190047445A publication Critical patent/KR20190047445A/ko
Application granted granted Critical
Publication of KR102411124B1 publication Critical patent/KR102411124B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72415User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories for remote control of appliances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • 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/951Indexing; Web crawling techniques
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • 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
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C17/00Arrangements for transmitting signals characterised by the use of a wireless electrical link
    • G08C17/02Arrangements for transmitting signals characterised by the use of a wireless electrical link using a radio link
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/2818Controlling appliance services of a home automation network by calling their functionalities from a device located outside both the home and the home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/282Controlling appliance services of a home automation network by calling their functionalities based on user interaction within the home
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C2201/00Transmission systems of control signals via wireless link
    • G08C2201/50Receiving or transmitting feedback, e.g. replies, status updates, acknowledgements, from the controlled devices
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C2201/00Transmission systems of control signals via wireless link
    • G08C2201/90Additional features
    • G08C2201/93Remote control using other portable devices, e.g. mobile phone, PDA, laptop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/284Home automation networks characterised by the type of medium used
    • H04L2012/2841Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72412User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/74Details of telephonic subscriber devices with voice recognition means
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/20Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel

Abstract

전자 장치 및 전자 장치에서 외부 장치를 이용한 태스크 수행 방법과 관련된 다양한 실시예를이 기술된 바, 한 실시예에 따르면, 전자 장치에 있어서, 하우징, 상기 하우징의 내부에 위치하고, 상기 하우징의 제1 부분을 통해 노출되는 터치 스크린 디스플레이, 상기 하우징의 내부에 위치하고, 상기 하우징의 제2 부분을 통해 노출되는 마이크, 상기 하우징의 내부에 위치하고, 상기 하우징의 제3 부분을 통해 노출되는 적어도 하나의 스피커, 상기 하우징의 내부에 위치한 무선 통신 회로, 상기 하우징의 내부에 위치하고, 상기 디스플레이, 상기 마이크, 상기 스피커, 상기 무선 통신 회로와 전기적으로 연결된 프로세서, 및 상기 하우징 내부에 위치하고, 상기 프로세서와 전기적으로 연결된 메모리를 포함하고, 상기 메모리는 실행 시 상기 프로세서가, 상기 디스플레이 또는 마이크를 통해 적어도 하나의 외부 장치를 이용한 태스크 수행하기 위한 요청을 포함하는 사용자 입력을 수신하고, 상기 무선 통신 회로를 통해 획득된 적어도 하나의 신호의 적어도 일부 기반하여 상기 적어도 하나의 외부 장치를 확인하고, 상기 무선 통신 회로를 통해 외부 서버에 사용자 입력과 관련된 데이터를 전송하고, 상기 무선 통신 회로를 통해 상기 외부 서버에 상기 데이터 전송 후 또는 상기 데이터 전송과 함께 상기 적어도 하나의 외부 장치에 대한 정보를 전송하고, 상기 무선 통신 회로를 통해 상기 외부 서버로부터 상기 외부 장치를 이용하여 상기 태스크를 적어도 일부 수행하기 위한 상기 전자 장치의 상태들의 시퀀스에 대한 정보를 포함하는 응답을 수신하고, 상기 전자 장치가 상기 상태들의 시퀀스를 획득하여 상기 태스크를 수행하도록 하는 인스트럭션들을 저장할 수 있다.

Description

전자 장치 및 전자 장치에서 외부 장치를 이용한 태스크 수행 방법{ELECTRONIC DEVICE AND METHOD FOR PERFORMING TASK USING EXTERNAL ELECTRONIC DEVICE IN ELECTRONIC DEVICE}
본 발명의 다양한 실시예들은 전자 장치와 전자 장치에서 외부 장치를 이용한 태스크 수행 방법에 관한 것이다.
최근 반도체 기술 및 무선 통신 기술의 발전으로 인하여 다양한 사물에 통신기능이 포함되어 네트워크를 형성함으로써 편리하게 사물을 제어할 수 있게 되었다. 이와 같이 사물에 통신기능을 포함되여 네트워크로 연결하는 것을 사물 인터넷(IoT: internet of things)이라 한다.
사물 인터넷은 인터넷 등의 통신을 기반으로 사람과 사물, 사물과 사물 간의 정보를 상호 소통하는 지능형 기술 및 서비스를 말한다. 사물 인터넷을 이용하여, 예를 들면, 사용자가 전자 장치를 통해 전자 장치와 통신이 가능한 외부 장치를 제어할 수 있다.
사용자는 전자 장치에 제어 가능한 외부 장치를 등록시키고, 외부 장치 제어를 위한 어플리케이션을 설치한 후, 어플리케이션을 실행시키고, 어플리케이션을 통해 제공되는 화면을 통해 외부 장치를 이용한 태스크를 수행할 수 있다. 이러한 방법은 사용자가 전자 장치에 외부 장치를 일일이 선택하여 등록하거나 외부 장치에 대응된 어플리케이션을 일일이 설치해야하므로 번거롭고, 설치된 어플리케이션 화면을 통해서만 외부 장치를 이용한 태스크 수행이 가능하므로 불편할 수 있다.
예를 들면, 전자 장치 주변에 존재하는 복수의 외부 장치들을 제어하고자 하는 경우, 복수의 전자 장치들을 각각 등록하거나 복수의 외부 장치들에 대응된 어플리케이션들을 각각 설치해야 하고, 복수의 외부 장치들을 서로 다른 화면들을 통해, 즉 복수의 외부 장치 각각에 대응된 어플리케이션 화면을 통해 각각 제어해야하는 불편함이 존재할 수 있다.
본 발명의 다양한 실시예들에 따르면, 전자 장치는 외부 장치를 등록하거나 외부 장치에 대응된 어플리케이션을 설치할 필요없이, 사용자의 음성 및 전자 장치의 방향 정보에 기반하여 상기 외부 장치를 확인하여 상기 외부 장치를 이용한 태스크를 수행할 수 있다.
본 발명의 다양한 실시예들에 따르면 전자 장치는 사용자로부터 수신된 음성과 연관된 외부 장치에 대한 제1 정보와 상기 전자 장치가 특정 방향을 가리킨 상태에서 수신된 외부 장치 신호를 기반으로 하는 제2 정보를 기반으로 외부 장치를 확인함으로써 보다 정확한 외부 장치 확인이 가능할 수 있다.
다양한 실시예에 따르면, 전자 장치에 있어서, 하우징, 상기 하우징의 내부에 위치하고, 상기 하우징의 제1 부분을 통해 노출되는 터치 스크린 디스플레이, 상기 하우징의 내부에 위치하고 상기 하우징의 제2 부분을 통해 노출되는 마이크, 상기 하우징의 내부에 위치하고 상기 하우징의 제3 부분을 통해 노출되는 적어도 하나의 스피커, 상기 하우징 내부에 위치한 무선 통신 회로, 상기 하우징 내부에 위치하고, 상기 디스플레이, 상기 마이크, 상기 스피커, 상기 무선 통신 회로와 전기적으로 연결된 프로세서 및 상기 하우징 내부에 위치하고, 상기 프로세서와 전기적으로 연결된 메모리를 포함하고, 상기 메모리는, 실행 시, 상기 프로세서가 상기 디스플레이 또는 상기 마이크를 통해 적어도 하나의 외부 장치를 이용한 태스크를 수행하기 위한 요청을 포함하는 사용자 입력을 수신하고, 상기 무선 통신 회로를 통해 획득된 적어도 하나의 신호의 적어도 일부 기반하여 상기 적어도 하나의 외부 장치를 확인(identify)하고, 상기 무선 통신 회로를 통해 외부 서버에 사용자 입력과 관련된 데이터를 전송하고, 상기 무선 통신 회로를 통해 상기 외부 서버에 상기 데이터 전송 후 또는 상기 데이터 전송과 함께 상기 적어도 하나의 외부 장치에 대한 정보를 전송하고, 상기 무선 통신 회로를 통해 상기 외부 서버로부터 상기 외부 장치를 이용하여 상기 태스크를 적어도 일부 수행하기 위한 상기 전자 장치의 상태들의 시퀀스에 대한 정보를 포함하는 응답을 수신하고, 및 상기 전자 장치가 상기 상태들의 시퀀스를 획득하여 상기 태스크를 수행하도록 하는 인스트럭션들(instructions)을 저장할 수 있다.
다양한 실시예에 따르면, 전자 장치에서 외부 장치를 이용한 태스크 수행 방법에 있어서, 적어도 하나의 외부 장치를 이용한 태스크를 수행하기 위한 요청을 포함하는 사용자 입력을 수신하는 동작, 무선 통신 회로를 통해 획득된 적어도 하나의 신호의 적어도 일부 기반하여 상기 적어도 하나의 외부 장치를 확인하는 동작, 상기 무선 통신 회로를 통해 상기 외부 서버에 상기 데이터를 전송한 이후 또는 상기 데이터 전송과 함께 상기 적어도 하나의 외부 장치에 대한 정보를 전송하는 동작, 상기 무선 통신 회로를 통해 상기 외부 서버로부터 상기 외부 장치를 이용하여 상기 태스크 적어도 일부를 수행하기 위한 상기 전자 장치의 상태들의 시퀀스에 대한 정보를 포함하는 응답을 수신하는 동작, 및 상기 상태들의 시퀀스를 획득하여 상기 태스크를 수행하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 외부 장치를 이용하여 태스크를 수행하기 위한 프로그램을 저장하는 저장 매체에 있어서, 상기 프로그램은 전자 장치에서, 적어도 하나의 외부 장치를 이용한 태스크를 수행하기 위한 요청을 포함하는 사용자 입력을 수신하는 동작, 무선 통신 회로를 통해 획득된 적어도 하나의 신호의 적어도 일부 기반하여 상기 적어도 하나의 외부 장치를 확인하는 동작, 상기 무선 통신 회로를 통해 상기 외부 서버에 상기 데이터를 전송한 이후 또는 상기 데이터 전송과 함께 상기 적어도 하나의 외부 장치에 대한 정보를 전송하는 동작, 상기 무선 통신 회로를 통해 상기 외부 서버로부터 상기 외부 장치를 이용하여 상기 태스크 적어도 일부를 수행하기 위한 상기 전자 장치의 상태들의 시퀀스에 대한 정보를 포함하는 응답을 수신하는 동작, 및 상기 상태들의 시퀀스를 획득하여 상기 태스크를 수행하는 동작을 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는 사용자로부터 입력(예: 음성 또는 터치 입력)을 수신하고 전자 장치의 방향 정보에 기반하여 외부 장치를 선택하고, 선택된 외부 장치를 이용한 태스크를 수행할 수 있다.
또한 본 발명의 다양한 실시예에 따르면, 전자 장치는 사용자에 의해 발화된 음성에 따른 음성 정보를 기반으로 획득된 외부 장치에 대한 제1 정보와 전자 장치가 특정 방향을 지향한 상태에서 수신된 외부 장치 신호의 위상차에 기반하여 획득된 제2 정보를 통해 외부 장치를 선택하고, 선택된 외부 장치를 이용하여 태스크를 수행할 수 있다.
도 1은 본 발명의 다양한 실시예에 따른 전자 장치를 포함하는 네트워크 환경을 도시한 블록도이다.
도 2는 다양한 실시예에 따른 전자 장치의 블록도이다.
도 3은 다양한 실시예에 따른 프로그램 모듈의 블록도이다.
도 4는 다양한 실시예에 따른 시스템을 나타낸 도면이다.
도 5a 및 도 도 5b는 다양한 실시예에 따른 시스템의 동작을 나타낸 흐름도이다.
도 6a 및 도 6b는 다양한 실시예에 따른 전자 장치에서 외부 장치에 대응된 서비스 정보를 표시하는 동작을 나타낸 흐름도이다.
도 7a 내지 도 7b는 다양한 실시예에 따라 전자 장치에서 외부 장치에 대응된 서비스 정보를 표시하는 예를 나타낸 도면이다
도 8a 및 도 8b는 다양한 실시예에 따라 전자 장치에서 외부 장치에 제어 명령이 전송되도록 하는 동작을 나타낸 흐름도이다.
도 9a 내지 도 9n은 다양한 실시예에 따라 전자 장치에서 외부 장치에 제어 명령이 전송되도록 하는 예를 나타낸 도면이다.
도 10은 다양한 실시예에 따라 전자 장치에서 사용자 제스쳐 입력에 의한 모션에 기반하여 외부 장치에 제어 명령이 전송되도록 하는 동작을 나타낸 흐름도이다.
도 11은 다양한 실시예에 따라 전자 장치에서 사용자 제스쳐 입력에 의한 모션에 기반하여 외부 장치에 제어 명령이 전송되도록 하는 예를 나타낸 도면이다.
도 12a 및 도 12b는 다양한 실시예에 따라 전자 장치에서 외부 장치가 다른 외부 장치와 연동하도록 하는 명령을 전송하는 동작을 나타낸 흐름도이다.
도 13a 내지 도 13e는 다양한 실시예에 따라 전자 장치에서 외부 장치가 다른 외부 장치와 연동하도록 하는 명령을 전송하는 예를 나타낸 도면이다.
도 14는 다양한 실시예에 따라 전자 장치에서 외부 장치와 연계된 서비스를 제공받는 동작을 나타낸 흐름도이다.
도 15a 내지 도 15c는 다양한 실시예에 따라 전자 장치에서 외부 장치와 연계된 서비스를 제공받는 예를 나타낸 도면이다.
도 16은 다양한 실시예에 따른 전자 장치에서 복수의 외부 장치에 동일한 명령을 전송하는 동작을 나타낸 흐름도이다.
도 17a 및 17b는 다양한 실시예에 따른 전자 장치에서 복수의 외부 장치에 동일한 명령을 전송하는 예를 나타낸 도면이다.
도 18은 다양한 실시예에 따른 전자 장치에서 복수의 외부 장치에 서로 다른 명령을 전송하는 동작을 나타낸 흐름도이다.
도 19a 내지 도 19e는 다양한 실시예에 따른 복수의 외부 장치에 서로 다른 명령을 전송하는 예를 나타낸 도면이다.
도 20은 다양한 실시예에 따른 사용자 입력과 관련된 데이터와 수신된 적어도 하나의 신호와 센서 모듈에 의한 센싱값에 기반하여 외부 장치를 확인하는 동작을 나타낸 흐름도이다.
도 21은 다양한 실시예에 따른 적어도 하나의 외부 장치 신호와 적어도 하나의 센서에 의해 센싱된 센싱값을 이용하여 적어도 하나의 외부 장치를 확인하는 동작을 나타낸 흐름도이다.
도 22는 다양한 실시예에 따른 적어도 하나의 외부 장치 신호와 적어도 하나의 센서에 의해 센싱된 센싱값에 기반하여 적어도 하나의 외부 장치를 확인하는 예를 나타낸 도면이다.
도 23은 다양한 실시예에 따른 사용자의 제스쳐에 의해 지정된 범위 내의 외부 장치에 명령을 전송하는 예를 나타낸 도면이다.
도 24 및 도 25는 다양한 실시예에 따른 서버의 구성을 나타낸 도면이다.
도 26a는 본 발명의 다양한 실시예에 따른 전자 장치의 사시도이다.
도 26b는 다양한 실시예에 따른 전자 장치의 구성도이다.
도 26c는 다양한 실시예에 따른 전자 장치의 프로세서의 구성도이다.
도 27은 다양한 실시예에 따른 전자 장치의 동작 흐름도이다.
도 28 내지 도 30은 다양한 실시예에 따른 전자 장치에서 복수의 안테나를 이용한 위상차 검출 방법을 설명하기 위한 도면이다.
도 31a 및 31b는 다양한 실시예에 따른 전자 장치에서 복수의 안테나 배치 일예도이다.
도 32는 다양한 실시예에 따른 전자 장치에서 복수의 안테나의 전방과 후방을 판단하는 방법을 설명하기 위한 도면이다.
도 33 내지 도 35는 다양한 실시예에 따른 전자 장치에서 외부 장치를 이용한 태스크 수행 모드 활성화 예를 나타낸 도면이다.
도 36은 다양한 실시예에 따른 전자 장치가 다른 전자 장치를 이용하여 외부 장치를 확인하는 경우의 동작을 나타낸 흐름도이다.
도 37은 다양한 실시예에 따른 전자 장치가 다른 전자 장치를 이용하여 외부 장치를 확인하고 확인된 외부 장치를 이용하는 예를 나타낸 도면이다.
이하, 본 문서의 다양한 실시예를이 첨부된 도면을 참조하여 기재된다. 실시예 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B" 또는 "A 및/또는 B 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1," "제 2," "첫째," 또는 "둘째,"등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다.
본 문서에서, "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, 하드웨어적 또는 소프트웨어적으로 "~에 적합한," "~하는 능력을 가지는," "~하도록 변경된," "~하도록 만들어진," "~를 할 수 있는," 또는 "~하도록 설계된"과 상호 호환적으로(interchangeably) 사용될 수 있다. 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(예: 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), 또는 사물 인터넷 장치 (예: 전구, 각종 센서, 스프링클러 장치, 화재 경보기, 온도조절기, 가로등, 토스터, 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다. 어떤 실시예에 따르면, 전자 장치는 가구, 건물/구조물 또는 자동차의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터, 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시예에서, 전자 장치는 플렉서블하거나, 또는 전술한 다양한 장치들 중 둘 이상의 조합일 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1을 참조하여, 다양한 실시예에서의, 네트워크 환경(100) 내의 전자 장치(101)가 기재된다. 전자 장치(101)는 버스(110), 프로세서(120), 메모리(130), 입출력 인터페이스(150), 디스플레이(160), 및 통신 인터페이스(170)를 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)는, 구성요소들 중 적어도 하나를 생략하거나 다른 구성요소를 추가적으로 구비할 수 있다. 버스(110)는 구성요소들(110-170)을 서로 연결하고, 구성요소들 간의 통신(예: 제어 메시지 또는 데이터)을 전달하는 회로를 포함할 수 있다. 프로세서(120)는, 중앙처리장치, 어플리케이션 프로세서, 또는 커뮤니케이션 프로세서(communication processor(CP)) 중 하나 또는 그 이상을 포함할 수 있다. 프로세서(120)는, 예를 들면, 전자 장치(101)의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다.
메모리(130)는, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리(130)는, 예를 들면, 전자 장치(101)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 한 실시예에 따르면, 메모리(130)는 소프트웨어 및/또는 프로그램(140)을 저장할 수 있다. 프로그램(140)은, 예를 들면, 커널(141), 미들웨어(143), 어플리케이션 프로그래밍 인터페이스(API)(145), 및/또는 어플리케이션 프로그램(또는 "어플리케이션")(147) 등을 포함할 수 있다. 커널(141), 미들웨어(143), 또는 API(145)의 적어도 일부는, 운영 시스템으로 지칭될 수 있다. 커널(141)은, 예를 들면, 다른 프로그램들(예: 미들웨어(143), API(145), 또는 어플리케이션 프로그램(147))에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 버스(110), 프로세서(120), 또는 메모리(130) 등)을 제어 또는 관리할 수 있다. 또한, 커널(141)은 미들웨어(143), API(145), 또는 어플리케이션 프로그램(147)에서 전자 장치(101)의 개별 구성요소에 접근함으로써, 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
미들웨어(143)는, 예를 들면, API(145) 또는 어플리케이션 프로그램(147)이 커널(141)과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 미들웨어(143)는 어플리케이션 프로그램(147)으로부터 수신된 하나 이상의 작업 요청들을 우선 순위에 따라 처리할 수 있다. 예를 들면, 미들웨어(143)는 어플리케이션 프로그램(147) 중 적어도 하나에 전자 장치(101)의 시스템 리소스(예: 버스(110), 프로세서(120), 또는 메모리(130) 등)를 사용할 수 있는 우선 순위를 부여하고, 상기 하나 이상의 작업 요청들을 처리할 수 있다. API(145)는 어플리케이션(147)이 커널(141) 또는 미들웨어(143)에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 영상 처리, 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다. 입출력 인터페이스(150)는, 예를 들면, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 전자 장치(101)의 다른 구성요소(들)에 전달하거나, 또는 전자 장치(101)의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다.
디스플레이(160)는, 예를 들면, 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 또는 마이크로 전자기계 시스템 (MEMS) 디스플레이, 또는 전자종이(electronic paper) 디스플레이를 포함할 수 있다. 디스플레이(160)는, 예를 들면, 사용자에게 각종 콘텐츠(예: 텍스트, 이미지, 비디오, 아이콘, 및/또는 심볼 등)을 표시할 수 있다. 디스플레이(160)는, 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스쳐, 근접, 또는 호버링 입력을 수신할 수 있다. 통신 인터페이스(170)는, 예를 들면, 전자 장치(101)와 외부 장치(예: 제 1 외부 장치(102), 제 2 외부 장치(104), 또는 서버(106)) 간의 통신을 설정할 수 있다. 예를 들면, 통신 인터페이스(170)는 무선 통신 또는 유선 통신을 통해서 네트워크(162)에 연결되어 외부 장치(예: 제 2 외부 장치(104) 또는 서버(106))와 통신할 수 있다.
무선 통신은, 예를 들면, LTE, LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나를 사용하는 셀룰라 통신을 포함할 수 있다. 한 실시예에 따르면, 무선 통신은, 예를 들면, 도 1의 element 164로 예시된 바와 같이, WiFi(wireless fidelity), LiFi(lite fidelity), 블루투스, 블루투스 저전력(BLE), 지그비(Zigbee), NFC(near field communication), 자력 시큐어 트랜스미션(Magnetic Secure Transmission), 라디오 프리퀀시(RF), 또는 보디 에어리어 네트워크(BAN) 중 적어도 하나를 포함할 수 있다. 한실시예에 따르면, 무선 통신은 GNSS를 포함할 수 있다. GNSS는, 예를 들면, GPS(Global Positioning System), Glonass(Global Navigation Satellite System), Beidou Navigation Satellite System(이하 "Beidou") 또는 Galileo, the European global satellite-based navigation system일 수 있다. 이하, 본 문서에서는, "GPS"는 "GNSS"와 상호 호환적으로 사용될 수 있다. 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard232), 전력선 통신, 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 네트워크(162)는 텔레커뮤니케이션 네트워크, 예를 들면, 컴퓨터 네트워크(예: LAN 또는 WAN), 인터넷, 또는 텔레폰 네트워크 중 적어도 하나를 포함할 수 있다.
제 1 및 제 2 외부 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 다양한 실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 전자 장치(예: 전자 장치(102,104), 또는 서버(106)에서 실행될 수 있다. 한 실시예에 따르면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 다른 장치(예: 전자 장치(102, 104), 또는 서버(106))에게 요청할 수 있다. 다른 전자 장치(예: 전자 장치(102, 104), 또는 서버(106))는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 2는 다양한 실시예에 따른 전자 장치의 블록도이다.
전자 장치(201)은, 예를 들면, 도 1에 도시된 전자 장치(101)의 전체 또는 일부를 포함할 수 있다. 전자 장치(201)는 하나 이상의 프로세서(예: AP)(210), 통신 모듈(220), 가입자 식별 모듈(224), 메모리(230), 센서 모듈(240), 입력 장치(250), 디스플레이(260), 인터페이스(270), 오디오 모듈(280), 카메라 모듈(291), 전력 관리 모듈(295), 배터리(296), 인디케이터(297), 및 모터(298) 를 포함할 수 있다. 프로세서(210)는, 예를 들면, 운영 체제 또는 응용 프로그램을 구동하여 프로세서(210)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 프로세서(210)는, 예를 들면, SoC(system on chip) 로 구현될 수 있다. 한 실시예에 따르면, 프로세서(210)는 GPU(graphic processing unit) 및/또는 이미지 신호 프로세서를 더 포함할 수 있다. 프로세서(210)는 도 2에 도시된 구성요소들 중 적어도 일부(예: 셀룰라 모듈(221))를 포함할 수도 있다. 프로세서(210) 는 다른 구성요소들(예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드)하여 처리하고, 결과 데이터를 비휘발성 메모리에 저장할 수 있다.
통신 모듈(220)(예: 통신 인터페이스(170))와 동일 또는 유사한 구성을 가질 수 있다. 통신 모듈(220)은, 예를 들면, 셀룰라 모듈(221), WiFi 모듈(223), 블루투스 모듈(225), GNSS 모듈(227), NFC 모듈(228) 및 RF 모듈(229)를 포함할 수 있다. 셀룰라 모듈(221)은, 예를 들면, 통신망을 통해서 음성 통화, 영상 통화, 문자 서비스, 또는 인터넷 서비스 등을 제공할 수 있다. 한 실시예에 따르면, 셀룰라 모듈(221)은 가입자 식별 모듈(예: SIM 카드)(224)을 이용하여 통신 네트워크 내에서 전자 장치(201)의 구별 및 인증을 수행할 수 있다. 한 실시예에 따르면, 셀룰라 모듈(221)은 프로세서(210)가 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 한 실시예에 따르면, 셀룰라 모듈(221)은 커뮤니케이션 프로세서(CP)를 포함할 수 있다. 어떤 실시예에 따르면, 셀룰라 모듈(221), WiFi 모듈(223), 블루투스 모듈(225), GNSS 모듈(227) 또는 NFC 모듈(228) 중 적어도 일부(예: 두 개 이상)는 하나의 integrated chip(IC) 또는 IC 패키지 내에 포함될 수 있다. RF 모듈(229)은, 예를 들면, 통신 신호(예: RF 신호)를 송수신할 수 있다. RF 모듈(229)은, 예를 들면, 트랜시버, PAM(power amp module), 주파수 필터, LNA(low noise amplifier), 또는 안테나 등을 포함할 수 있다. 다른 실시예에 따르면, 셀룰라 모듈(221), WiFi 모듈(223), 블루투스 모듈(225), GNSS 모듈(227) 또는 NFC 모듈(228) 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호를 송수신할 수 있다. 가입자 식별 모듈(224)은, 예를 들면, 가입자 식별 모듈을 포함하는 카드 또는 임베디드 SIM을 포함할 수 있으며, 고유한 식별 정보(예: ICCID(integrated circuit card identifier)) 또는 가입자 정보(예: IMSI(international mobile subscriber identity))를 포함할 수 있다.
메모리(230)(예: 메모리(130))는, 예를 들면, 내장 메모리(232) 또는 외장 메모리(234)를 포함할 수 있다. 내장 메모리(232)는, 예를 들면, 휘발성 메모리(예: DRAM, SRAM, 또는 SDRAM 등), 비휘발성 메모리(예: OTPROM(one time programmable ROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, 플래시 메모리, 하드 드라이브, 또는 솔리드 스테이트 드라이브 (SSD) 중 적어도 하나를 포함할 수 있다. 외장 메모리(234)는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD, Mini-SD, xD(extreme digital), MMC(multi-media card) 또는 메모리 스틱 등을 포함할 수 있다. 외장 메모리(234)는 다양한 인터페이스를 통하여 전자 장치(201)와 기능적으로 또는 물리적으로 연결될 수 있다.
센서 모듈(240)은, 예를 들면, 물리량을 계측하거나 전자 장치(201)의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 센서 모듈(240)은, 예를 들면, 제스처 센서(240A), 자이로 센서(240B), 기압 센서(240C), 마그네틱 센서(240D), 가속도 센서(240E), 그립 센서(240F), 근접 센서(240G), 컬러(color) 센서(240H)(예: RGB(red, green, blue) 센서), 생체 센서(240I), 온/습도 센서(240J), 조도 센서(240K), 또는 UV(ultra violet) 센서(240M) 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 센서 모듈(240)은, 예를 들면, 후각(e-nose) 센서, 일렉트로마이오그라피(EMG) 센서, 일렉트로엔씨팔로그램(EEG) 센서, 일렉트로카디오그램(ECG) 센서, IR(infrared) 센서, 홍채 센서 및/또는 지문 센서를 포함할 수 있다. 센서 모듈(240)은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다. 어떤 실시예에서는, 전자 장치(201)는 프로세서(210)의 일부로서 또는 별도로, 센서 모듈(240)을 제어하도록 구성된 프로세서를 더 포함하여, 프로세서(210)가 슬립(sleep) 상태에 있는 동안, 센서 모듈(240)을 제어할 수 있다.
입력 장치(250)는, 예를 들면, 터치 패널(252), (디지털) 펜 센서(254), 키(256), 또는 초음파 입력 장치(258)를 포함할 수 있다. 터치 패널(252)은, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. 또한, 터치 패널(252)은 제어 회로를 더 포함할 수도 있다. 터치 패널(252)은 택타일 레이어(tactile layer)를 더 포함하여, 사용자에게 촉각 반응을 제공할 수 있다. (디지털) 펜 센서(254)는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 쉬트를 포함할 수 있다. 키(256)는, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다. 초음파 입력 장치(258)는 마이크(예: 마이크(288))를 통해, 입력 도구에서 발생된 초음파를 감지하여, 상기 감지된 초음파에 대응하는 데이터를 확인할 수 있다.
디스플레이(260)(예: 디스플레이(160))는 패널(262), 홀로그램 장치(264), 프로젝터(266), 및/또는 이들을 제어하기 위한 제어 회로를 포함할 수 있다. 패널(262)은, 예를 들면, 유연하게, 투명하게, 또는 착용할 수 있게 구현될 수 있다. 패널(262)은 터치 패널(252)과 하나 이상의 모듈로 구성될 수 있다. 한 실시예에 따르면, 패널(262)은 사용자의 터치에 대한 압력의 세기를 측정할 수 있는 압력 센서(또는 포스 센서)를 포함할 수 있다. 상기 압력 센서는 터치 패널(252)과 일체형으로 구현되거나, 또는 터치 패널(252)과는 별도의 하나 이상의 센서로 구현될 수 있다. 홀로그램 장치(264)는 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 프로젝터(266)는 스크린에 빛을 투사하여 영상을 표시할 수 있다. 스크린은, 예를 들면, 전자 장치(201)의 내부 또는 외부에 위치할 수 있다. 인터페이스(270)는, 예를 들면, HDMI(272), USB(274), 광 인터페이스(optical interface)(276), 또는 D-sub(D-subminiature)(278)를 포함할 수 있다. 인터페이스(270)는, 예를 들면, 도 1에 도시된 통신 인터페이스(170)에 포함될 수 있다. 추가적으로 또는 대체적으로, 인터페이스(270)는, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD카드/MMC(multi-media card) 인터페이스, 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다.
오디오 모듈(280)은, 예를 들면, 소리와 전기 신호를 쌍방향으로 변환시킬 수 있다. 오디오 모듈(280)의 적어도 일부 구성요소는, 예를 들면, 도 1 에 도시된 입출력 인터페이스(145)에 포함될 수 있다. 오디오 모듈(280)은, 예를 들면, 스피커(282), 리시버(284), 이어폰(286), 또는 마이크(288) 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다. 카메라 모듈(291)은, 예를 들면, 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈, 이미지 시그널 프로세서(ISP), 또는 플래시(예: LED 또는 xenon lamp 등)를 포함할 수 있다. 전력 관리 모듈(295)은, 예를 들면, 전자 장치(201)의 전력을 관리할 수 있다. 한 실시예에 따르면, 전력 관리 모듈(295)은 PMIC(power management integrated circuit), 충전 IC, 또는 배터리 또는 연료 게이지를 포함할 수 있다. PMIC는, 유선 및/또는 무선 충전 방식을 가질 수 있다. 무선 충전 방식은, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등을 포함하며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 또는 정류기 등을 더 포함할 수 있다. 배터리 게이지는, 예를 들면, 배터리(296)의 잔량, 충전 중 전압, 전류, 또는 온도를 측정할 수 있다. 배터리(296)는, 예를 들면, 충전식 전지 및/또는 태양 전지를 포함할 수 있다.
인디케이터(297)는 전자 장치(201) 또는 그 일부(예: 프로세서(210))의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 모터(298)는 전기적 신호를 기계적 진동으로 변환할 수 있고, 진동, 또는 햅틱 효과 등을 발생시킬 수 있다. 전자 장치(201)는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting), 또는 미디어플로(mediaFloTM) 등의 규격에 따른 미디어 데이터를 처리할 수 있는 모바일 TV 지원 장치(예: GPU)를 포함할 수 있다. 본 문서에서 기술된 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 다양한 실시예에서, 전자 장치(예: 전자 장치(201))는 일부 구성요소가 생략되거나, 추가적인 구성요소를 더 포함하거나, 또는, 구성요소들 중 일부가 결합되어 하나의 개체로 구성되되, 결합 이전의 해당 구성요소들의 기능을 동일하게 수행할 수 있다.
도 3은 다양한 실시예에 따른 프로그램 모듈의 블록도이다.
한 실시예에 따르면, 프로그램 모듈(310)(예: 프로그램(140))은 전자 장치(예: 전자 장치(101))에 관련된 자원을 제어하는 운영 체제 및/또는 운영 체제 상에서 구동되는 다양한 어플리케이션(예: 어플리케이션 프로그램(217))을 포함할 수 있다. 운영 체제는, 예를 들면, AndroidTM, iOSTM, WindowsTM, SymbianTM, TizenTM, 또는 BadaTM를 포함할 수 있다. 도 3을 참조하면, 프로그램 모듈(310)은 커널(320)(예: 커널(141)), 미들웨어(330)(예: 미들웨어(143)), (API(360)(예: API(145)), 및/또는 어플리케이션(370)(예: 어플리케이션 프로그램(147))을 포함할 수 있다. 프로그램 모듈(310)의 적어도 일부는 전자 장치 상에 프리로드 되거나, 외부 장치(예: 전자 장치(102, 104), 서버(106) 등)로부터 다운로드 가능하다.
커널(320)은, 예를 들면, 시스템 리소스 매니저(321) 및/또는 디바이스 드라이버(323)를 포함할 수 있다. 시스템 리소스 매니저(321)는 시스템 리소스의 제어, 할당, 또는 회수를 수행할 수 있다. 한 실시예에 따르면, 시스템 리소스 매니저(321)는 프로세스 관리부, 메모리 관리부, 또는 파일 시스템 관리부를 포함할 수 있다. 디바이스 드라이버(323)는, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, WiFi 드라이버, 오디오 드라이버, 또는 IPC(inter-process communication) 드라이버를 포함할 수 있다. 미들웨어(330)는, 예를 들면, 어플리케이션(370)이 공통적으로 필요로 하는 기능을 제공하거나, 어플리케이션(370)이 전자 장치 내부의 제한된 시스템 자원을 사용할 수 있도록 API(360)를 통해 다양한 기능들을 어플리케이션(370)으로 제공할 수 있다. 한 실시예에 따르면, 미들웨어(330)는 런타임 라이브러리(335), 어플리케이션 매니저(341), 윈도우 매니저(342), 멀티미디어 매니저(343), 리소스 매니저(344), 파워 매니저(345), 데이터베이스 매니저(346), 패키지 매니저(347), 커넥티비티 매니저(348), 노티피케이션 매니저(349), 로케이션 매니저(350), 그래픽 매니저(351), 또는 시큐리티 매니저(352) 중 적어도 하나를 포함할 수 있다.
런타임 라이브러리(335)는, 예를 들면, 어플리케이션(370)이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈을 포함할 수 있다. 런타임 라이브러리(335)는 입출력 관리, 메모리 관리, 또는 산술 함수 처리를 수행할 수 있다. 어플리케이션 매니저(341)는, 예를 들면, 어플리케이션(370)의 생명 주기를 관리할 수 있다. 윈도우 매니저(342)는 화면에서 사용되는 GUI 자원을 관리할 수 있다. 멀티미디어 매니저(343)는 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱을 이용하여 미디어 파일의 인코딩 또는 디코딩을 수행할 수 있다. 리소스 매니저(344)는 어플리케이션(370)의 소스 코드 또는 메모리의 공간을 관리할 수 있다. 파워 매니저(345)는, 예를 들면, 배터리의 용량, 온도, 또는 전원을 관리하고, 이 중 해당 정보를 이용하여 전자 장치의 동작에 필요한 전력 정보를 결정 또는 제공할 수 있다. 한 실시예에 따르면, 파워 매니저(345)는 바이오스(BIOS: basic input/output system)와 연동할 수 있다. 데이터베이스 매니저(346)는, 예를 들면, 어플리케이션(370)에서 사용될 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 패키지 매니저(347)는 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 갱신을 관리할 수 있다.
커넥티비티 매니저(348)는, 예를 들면, 무선 연결을 관리할 수 있다. 노티피케이션 매니저(349)는, 예를 들면, 도착 메시지, 약속, 근접성 알림 등의 이벤트를 사용자에게 제공할 수 있다. 로케이션 매니저(350)는, 예를 들면, 전자 장치의 위치 정보를 관리할 수 있다. 그래픽 매니저(351)는, 예를 들면, 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 보안 매니저(352)는, 예를 들면, 시스템 보안 또는 사용자 인증을 제공할 수 있다. 한 실시예에 따르면, 미들웨어(330)는 전자 장치의 음성 또는 영상 통화 기능을 관리하기 위한 통화(telephony) 매니저 또는 전술된 구성요소들의 기능들의 조합을 형성할 수 있는 하는 미들웨어 모듈을 포함할 수 있다. 한 실시예에 따르면, 미들웨어(330)는 운영 체제의 종류 별로 특화된 모듈을 제공할 수 있다. 미들웨어(330)는 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다. API(360)는, 예를 들면, API 프로그래밍 함수들의 집합으로, 운영 체제에 따라 다른 구성으로 제공될 수 있다. 예를 들면, 안드로이드 또는 iOS의 경우, 플랫폼 별로 하나의 API 셋을 제공할 수 있으며, 타이젠의 경우, 플랫폼 별로 두 개 이상의 API 셋을 제공할 수 있다.
어플리케이션(370)은, 예를 들면, 홈(371), 다이얼러(372), SMS/MMS(373), IM(instant message)(374), 브라우저(375), 카메라(376), 알람(377), 컨택트(378), 음성 다이얼(379), 이메일(380), 달력(381), 미디어 플레이어(382), 앨범(383), 와치(384), 헬스 케어(예: 운동량 또는 혈당 등을 측정), 또는 환경 정보(예: 기압, 습도, 또는 온도 정보) 제공 어플리케이션을 포함할 수 있다. 한 실시예에 따르면, 어플리케이션(370)은 전자 장치와 외부 장치 사이의 정보 교환을 지원할 수 있는 정보 교환 어플리케이션을 포함할 수 있다. 정보 교환 어플리케이션은, 예를 들면, 외부 장치에 특정 정보를 전달하기 위한 노티피케이션 릴레이 어플리케이션, 또는 외부 장치를 관리하기 위한 장치 관리 어플리케이션을 포함할 수 있다. 예를 들면, 알림 전달 어플리케이션은 전자 장치의 다른 어플리케이션에서 발생된 알림 정보를 외부 장치로 전달하거나, 또는 외부 장치로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다. 장치 관리 어플리케이션은, 예를 들면, 전자 장치와 통신하는 외부 장치의 기능(예: 외부 장치 자체(또는, 일부 구성 부품)의 턴-온/턴-오프 또는 디스플레이의 밝기(또는, 해상도) 조절), 또는 외부 장치에서 동작하는 어플리케이션을 설치, 삭제, 또는 갱신할 수 있다. 한 실시예에 따르면, 어플리케이션(370)은 외부 장치의 속성에 따라 지정된 어플리케이션(예: 모바일 의료 기기의 건강 관리 어플리케이션)을 포함할 수 있다. 한 실시예에 따르면, 어플리케이션(370)은 외부 장치로부터 수신된 어플리케이션을 포함할 수 있다. 프로그램 모듈(310)의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어(예: 프로세서(210)), 또는 이들 중 적어도 둘 이상의 조합으로 구현(예: 실행)될 수 있으며, 하나 이상의 기능을 수행하기 위한 모듈, 프로그램, 루틴, 명령어 세트 또는 프로세스를 포함할 수 있다.
도 4는 다양한 실시예에 따른 시스템을 나타낸 도면이다.
도 4를 참조하면, 다양한 실시예에 따른 시스템은 전자 장치(401), 제1 내지 제N 외부 장치(403-1~403-N), 및 서버(405)를 포함할 수 있다.
전자 장치(401)(예를 들면, 도 1의 101, 또는 도 2의 201)와 제1 내지 제N 외부 장치(403-1~403-N)(예를 들면, 도 1의 102)는 각각 서로 통신 가능한 통신 프로토콜을 지원할 수 있다. 일 실시예에 따르면 통신 프로토콜은 블루투스(bluetooth) 프로토콜, 저전력 블루투스(BLE: bluetooth low energy) 프로토콜, WiFi 프로토콜, 비콘(beacon) 프로토콜, 지그비(zigbee) 프로토콜, 또는 NFC(near field communication) 프로토콜 중 적어도 하나를 포함할 수 있다. 일 실시예에 따르면 통신 프로토콜은 IoT(internet of things) 서비스를 위해 지정된 다른 통신 프로토콜을 더 포함할 수도 있다. 제1 내지 제N 외부 장치(403-1~403-N)는 전자 장치(401)의 주변에 존재하는 외부 장치를 설명하기 위한 예로써, 하나의 외부 장치 또는 그 이상의 외부 장치일 수 있다.
다양한 실시예에 따르면 제1 내지 제N 외부 장치(403-1~403-N) 각각은 전자 장치(401)로부터 통신 회로를 통해 무선 통신 신호 수신이 가능하고, 수신된 신호에 따라 동작할 수 있도록 설정된 장치일 수 있다. 다양한 실시예에 따르면 제1 내지 제N 외부 장치(403-1~403-N) 각각은 서비스(예를 들면, 유비쿼터스, 홈 네트워크 서비스 또는 IoT 서비스 등)를 위해 네트워크로 연결된 전자 장치일 수 있다. 다양한 실시예에 따르면, 제1 내지 제N 외부 장치(403-1~403-N)는 냉장고, 세탁기, TV, 쿡탑, 오디오, 에어컨, 스탠드, 스마트 커튼, 스마트 전등, 전자 정수기, 전자 반죽기, 전자 오븐, 커피 머신, CD 플레이어, 스피커, 프린터, 노트북, PC, 메모리 장치, 키보드, 마우스, 카메라, 프로젝터, 스마트 글래스, 스마트 워치, 무선 이어폰, 태블릿, 로봇 장치, 또는 드론 장치 중 적어도 하나를 포함할 수 있으며, 이 외에도 다양한 전자 장치들 중 하나를 포함할 수 있다. 다양한 실시예에 따르면 제1 내지 제N 외부 장치(403-1~403-N)는 지정된 주기마다 자신의 장치 정보를 포함하는 패킷(packet)을 브로드캐스팅하거나, 전자 장치(401)로부터 요청에 따라 자신의 장치 정보를 포함하는 패킷을 브로드캐스팅할 수 있다. 다양한 실시예에 따르면, 장치 정보는 장치 인식 정보, 장치 기능 정보, 장치 상태 정보 또는 장치 이벤트 정보 중 적어도 하나를 포함할 수 있다. 일 실시예에 따르면 장치 인식 정보는 장치 인식이 가능하도록 하는 정보로서, 디바이스 ID, 제조사, 시리얼 넘버(serial number), 또는 MAC(media access control) 주소 중 적어도 하나를 포함할 수 있다. 일 실시예에 따르면 장치 기능 정보(device capability data)는 장치가 수행할 수 있는 적어도 하나의 기능을 포함할 수 있다. 일 실시예에 따르면 장치 상태 정보(device status data)는 장치의 현재 상태를 나타내는 적어도 하나의 상태를 포함할 수 있다. 일 실시예에 따르면, 장치 이벤트 정보는(device event data) 장치에서 발생한 적어도 하나의 이벤트를 포함할 수 있다.
전자 장치(401)는 사용자 입력을 수신할 수 있다. 다양한 실시예에 따르면 전자 장치(401)는 적어도 하나의 외부 장치를 이용한 태스크를 수행하기 위한 요청을 포함하는 사용자 입력을 수신할 수 있다. 다양한 실시예에 따르면, 사용자 입력은 마이크를 통한 사용자의 음성 신호 입력, 모션 센서를 통한 사용자의 제스쳐 입력, 터치 스크린을 통한 사용자의 터치 입력, 또는 각종 키를 통한 키입력 등 다양한 형태의 입력 중 하나일 수 있다. 다양한 실시예에 따르면 전자 장치(401)는 사용자 입력과 연관된 데이터를 획득할 수 있고, 사용자 입력과 연관된 데이터를 무선 네트워크(462)(예를 들면, 도 1의 162)를 통해 서버(405)(예를 들면, 도 1의 106)로 전송할 수 있다. 사용자 입력과 연관된 데이터는 외부 장치를 이용한 태스크를 수행하기 위해 필요한 정보를 획득하는데 이용될 수 있다. 일 실시예에 따르면, 전자 장치(401)는 마이크를 통해 적어도 하나의 외부 장치를 이용한 태스크를 수행하기 위한 요청에 대응된 음성 신호를 수신할 수 있고, 수신된 음성 신호를 음성 데이터로 변환할 수 있다. 음성 데이터는 외부 장치를 이용한 태스크를 수행하기 위해 필요한 정보를 획득하는데 이용될 수 있다. 다양한 실시예에 따르면, 전자 장치(401)는 음성 데이터를 이용하여 외부 장치를 이용한 태스크를 수행하기 위해 필요한 정보를 자체적으로 획득하거나, 음성 데이터를 서버(405)에 전송하고, 서버(405)로부터 외부 장치를 이용한 태스크를 수행하기 위해 필요한 정보를 획득할 수 있다.
전자 장치(401)는 통신 회로를 통해 적어도 하나의 무선 통신 신호를 획득할 수 있다. 예를 들면, 전자 장치(401)는 제1 내지 제N 외부 장치(403-1~403-N) 각각으로부터 브로드캐스팅된 신호를 수신할 수 있다. 전자 장치(401)는 제1 내지 제N 외부 장치(403-1~403-N) 각각으로부터 주기적으로 브로드캐스팅되는 신호를 수신할 수도 있고, 제1 내지 제N 외부 장치(403-1~403-N)에 신호를 요청한 후, 제1 내지 제N 외부 장치(403-1~403-N)로부터 브로드캐스팅된 신호를 수신할 수도 있다.
일 실시 예에 따르면, 전자 장치(401)는 복수의 안테나들을 포함할 수 있으며, 상기 복수의 안테나들을 통해적어도 하나의 무선 통신 신호를 수신할 수 있다. 예를 들면, 전자 장치(401)는 제1 내지 제N 외부 장치(403-1~403-N) 각각으로부터의 신호 각각을 복수의 안테나를 통해 수신할 수 있다. 적어도 하나의 신호가 복수의 안테나들에 의해 수신되는 경우, 복수의 안테나들에 의해 수신되는 신호들 사이에 위상차가 발생할 수 있다. 일 실시예에 따르면, 제1 외부 장치(403-1)에서 전송한 신호가 전자 장치(401)의 두 개의 안테나를 통해 수신되는 경우, 두 개의 안테나를 통해 수신된 신호들 사이에는 두 개의 안테나에 도달하는 시간차에 의해 위상차가 발생할 수 있다. 다양한 실시예에 따르면 전자 장치(401)는 제1 내지 제N 외부 장치(403-1~403-N)로부터의 신호 각각을 복수의 안테나들을 통해 수신하여 제1 내지 제N 외부 장치(403-1~403-N)로부터의 신호 각각에 대한 위상차를 검출하고, 제1 내지 제N 외부 장치(403-1~403-N)로부터의 신호들 중 위상차가 미리 정해진 임계값 이하인 신호에 대응된 외부 장치를 판단할 수 있다. 전자 장치(401)는 위상차가 미리 정해진 임계값 이하인 신호에 대응된 외부 장치에 대한 제2 정보를 획득할 수 있다. 예를 들면 제2 정보는 위상차가 미리 정해진 임계값 이하인 신호에 대응된 외부 장치의 장치 인식 정보를 포함할 수 있다.
전자 장치(401)는 적어도 하나의 외부 장치 신호에 기반하여 적어도 하나의 외부 장치를 확인할 수 있다. 다양한 실시예예 따르면, 전자 장치(401)는 적어도 하나의 외부 장치 신호에 포함된 장치 인식 정보를 이용하여 적어도 하나의 외부 장치를 확인하거나, 사용자 입력과 관련된 데이터를 기반으로 획득된 제1 정보와 적어도 하나의 외부 장치 신호에 기반하여 획득된 제2 정보를 이용하여 태스크를 수행할 적어도 하나의 외부 장치를 확인할 수 있다. 일 실시예에 따르면 장치 인식 정보는 장치 인식이 가능하도록 하는 정보로서, 디바이스 ID, 제조사, 시리얼 넘버(serial number), 또는 MAC(media access control) 주소 중 적어도 하나를 포함할 수 있다.
전자 장치(401)는 음성 데이터를 기반으로 획득된 제1 정보(예를 들면, 외부 장치 리스트)에 포함된 외부 장치들의 디바이스 ID 중 복수의 안테나를 통해 수신된 신호의 위상차가 미리 정해진 임계값 이하를 가지는 적어도 하나의 외부 장치의 디바이스 ID를 확인할 수 있다. 예를 들면, 전자 장치(401)는 사용자 발화에 의한 음성에 의해 확인된 외부 장치들 중에서 사용자가 전자 장치(401)를 이용하여 지향한 외부 장치를 확인함으로써, 사용자가 원하는 외부 장치를 확인할 수 있다.
다양한 실시예에 따르면, 전자 장치(401)는 음성 데이터를 기반으로 획득된 제1 정보(예를 들면, 외부 장치 리스트)에 포함된 외부 장치들의 디바이스 ID 중 복수의 안테나를 통해 수신된 신호의 위상차가 지정된 임계값 이하를 가지는 적어도 하나의 외부 장치의 디바이스 ID가 포함되지 않는 경우, 적어도 하나의 외부 장치에 대한 제2 정보를 다시 획득할 수 있다. 예를 들어, 지정된 임계값 이하를 가지는 적어도 하나의 외부 장치가 없는 경우, 지정된 임계값을 조정(예: 위상차를 상향 조정)하여 제2 정보를 획득할 수 있다.
예를 들면, 적어도 하나의 외부 장치에 대한 제2 정보를 다시 획득하는 경우, 전자 장치(401)는 위상차 비교를 위한 임계치를 조정하고, 복수의 안테나를 통해 수신된 신호의 위상차가 조정된 임계치 이하를 가지는 적어도 하나의 외부 장치에 대한 제2 정보를 획득할 수 있다. 다른 예를 들면, 전자 장치(401)는 제2 정보를 다시 획득하기 위해, 사용자에게 방향을 다시 지시하라는 정보를 출력하고, 다시 제1 내지 제N 외부 장치(403-1~403-N) 각각으로부터의 신호 각각을 복수의 안테나를 통해 수신하여 적어도 하나의 외부 장치에 대한 제2 정보를 획득할 수 있다.
일 실시예에 따르면 전자 장치(401)의 상단이 외부 장치를 지향함에 따라 전자 장치(401)의 상단에 포함된 복수의 안테나가 외부 장치의 방향을 향하게 될 수 있으며, 복수의 안테나가 지향하는 방향이 외부 장치가 됨에 따라 전자 장치(401)는 외부 장치 방향에서 수신되는 신호에 기반하여 전자 장치(401)가 지향한 외부 장치를 확인할 수 있다.
전자 장치(401)는 사용자 입력과 연관된 데이터와 상기 확인된 적어도 하나의 외부 장치에 대한 정보를 이용하여 상기 확인된 적어도 하나의 외부 장치와 관련된 태스크를 수행하기 위한 정보를 획득할 수 있다. 예를 들어, 전자 장치(401)는 사용자 입력과 연관된 데이터와 상기 확인된 적어도 하나의 외부 장치에 대한 정보를 기반으로 자체적으로 상기 확인된 적어도 하나의 외부 장치와 관련된 태스크를 수행하기 위한 정보를 획득할 수 있다. 또 다른 예를 들어, 전자 장치(401)는 사용자 입력과 연관된 데이터와 상기 확인된 적어도 하나의 외부 장치에 대한 정보를 동시에 또는 순차적으로 서버(405)로 전송하여 서버(405)로부터 확인된 적어도 하나의 외부 장치와 관련된 태스크를 수행하기 위한 정보를 획득할 수 있다.
다양한 실시예에 따르면, 확인된 적어도 하나의 외부 장치와 관련된 태스크를 수행하기 위한 정보는 적어도 하나의 외부 장치와 관련된 태스크를 수행하기 위한 전자 장치(401)의 적어도 하나 이상의 동작 또는 적어도 하나 이상의 동작의 조합과 관련된 상태들의 시퀀스 정보를 포함할 수 있다. 일 실시예에 따르면 적어도 하나 이상의 동작 조합과 관련된 상태들의 시퀀스 정보는 전자 장치가 적어도 하나 이상의 동작들을 각각 또는 순차적으로 수행하도록 하는 정보를 포함할 수 있다. 일 실시예에 따르면, 전자 장치가 적어도 하나 이상의 동작들을 각각 또는 순차적으로 수행하도록 하는 정보는 적어도 하나 이상의 동작들의 적어도 일부 동작과 관련된 룰 패스(rule path) 정보를 포함할 수 있다. 예를 들면, 룰 패스 정보는 전자 장치(401)가 특정 어플리케이션을 실행하고 실행된 특정 어플리케이션을 통해 적어도 하나 이상의 동작을 수행할 수 있도록 하는 정보를 포함하거나, 전자 장치(401)에서 사용자의 명령을 수행하기 위한 적어도 하나 이상의 동작의 상태 정보를 포함할 수 있다.
다양한 실시예에 따르면, 확인된 적어도 하나의 외부 장치와 관련된 태스크는 상기 확인된 적어도 하나의 외부 장치에 대응된 서비스 정보를 표시하는 태스크, 상기 확인된 적어도 하나의 외부 장치에 제어 명령을 전송하는 태스크, 상기 확인된 적어도 하나의 외부 장치가 다른 외부 장치와 연동하도록 하는 명령을 상기 확인된 적어도 하나의 외부 장치에 전송하는 태스크 중 적어도 하나일 수 있으며, 이 외에도 전자 장치(401)가 외부 장치를 이용하는 태스크라면 다른 태스크도 얼마든지 가능할 수 있다. 일 실시예에 따르면, 상기 확인된 적어도 하나의 외부 장치에 대응된 서비스 정보를 표시하는 태스크를 수행하기 위한 전자 장치(401)의 상태들의 시퀀스 정보는, 확인된 적어도 하나의 외부 장치와 통신을 연결하는 동작, 확인된 적어도 하나의 외부 장치에 대응된 서비스 정보를 획득하는 동작, 확인된 적어도 하나의 외부 장치에 대응된 서비스 정보를 표시하는 동작을 각각 또는 순차적으로 수행하도록 하는 정보를 포함할 수 있다.
서버(405)는 전자 장치(401)로부터 사용자 입력과 연관된 데이터와 상기 확인된 적어도 하나의 외부 장치에 대한 정보를 각각 또는 동시에 수신할 수 있다. 서버(405)는 사용자 입력과 연관된 데이터와 상기 확인된 적어도 하나의 외부 장치에 대한 정보를 기반으로 확인된 적어도 하나의 외부 장치와 관련된 태스크를 수행하기 위한 정보를 획득하고, 확인된 적어도 하나의 외부 장치와 관련된 태스크를 수행하기 위한 정보를 전자 장치(401)에 전송할 수 있다.
다양한 실시예에 따르면, 서버(405)는 사용자 입력과 연관된 데이터로서 음성 데이터를 수신할 수 있고, 전자 장치(401)는 서버(405)로부터 음성 데이터를 기반으로 확인된 적어도 하나의 외부 장치에 대한 정보로서 장치 인식 정보를 수신할 수 있다. 일 실시예에 따르면, 장치 인식 정보는 외부 장치 인식이 가능하도록 하는 정보로서, 디바이스 ID, 제조사, 시리얼 넘버(serial number), 또는 MAC(media access control) 주소 중 적어도 하나를 포함할 수 있다.
다양한 실시 예에 따르면, 서버(405)는 사용자 입력과 연관된 데이터를 이용하여 적어도 하나의 외부 장치에 대한 제1 정보를 획득할 수 있고, 획득된 제1 정보를 전자 장치(401)에 전송할 수 있다. 또한 서버(405)는 사용자 입력과 연관된 데이터와 확인된 적어도 하나의 외부 장치에 대한 정보를 이용하여 확인된 적어도 하나의 외부 장치와 관련된 태스크를 수행하기 위한 정보를 획득할 수 있고, 확인된 적어도 하나의 외부 장치와 관련된 태스크를 수행하기 위한 정보를 전자 장치(401)에 전송할 수 있다. 다양한 실시예에 따르면, 서버(405)는 하나의 서버 또는 복수의 서버일 수 있으며, 복수의 서버인 경우 복수의 서버는 적어도 하나의 외부 장치 확인을 위한 제1 정보를 획득하는 서버(이하 '제1 서버'라고도 함)와 확인된 적어도 하나의 외부 장치와 관련된 태스크를 수행하기 위한 정보를 획득하는 서버(이하 '제2 서버'라고도 함)를 포함할 수 있다. 예를 들면, 제1 서버는 지능형 서버일 수 있고, 제2 서버는 IoT 서버일 수 있다.
일 실시예에 따르면, 서버(405)는 전자 장치(401)로부터 수신된 음성 데이터를 기반으로 음성 인식을 수행하고, 발화한 화자를 인식할 수 있으며, 자연어 이해 모듈을 통해 음성 신호에 대한 문법적 분석(syntactic analyze) 및 의미적 분석(semantic analyze)을 수행하여 사용자 의도를 파악할 수 있다. 예를 들면, 서버(405)는 음성 데이터 분석 결과 사용자가 지시하려는 의도가 포함되어 있는지, 또는 사용자가 명령하려는 의도가 포함되어 있는지 판단할 수 있고, 판단 결과 지시하려는 의도에 대한 지시어 정보(예를 들면, 지시 대상, 또는 지시 대명사) 또는 명령하려는 의도에 대응된 명령어 정보(예를 들면, 명령 또는 기능)를 지정할 수 있으며, 지정된 지시어 정보 또는 명령어 정보를 텍스트로 변환할 수 있다. 서버(405)는 지시어 정보 또는 명령어 정보를 기반으로 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 획득할 수 있다.
다양한 실시예에 따르면 서버(405)는 상기 획득된 지시 대상, 지시 대명사, 명령 또는 기능 중 적어도 일부와 관련된 정보를 기반으로 적어도 하나의 외부 장치 확인을 위한 제1 정보를 획득할 수 있다. 일 실시예에 따르면, 제1 정보는 지시어 정보 또는 명령어 정보와 관련된 외부 장치 리스트를 포함할 수 있다. 예를 들어, 외부 장치 리스트는 지시어 정보 또는 명령어 정보와 관련된 적어도 하나의 외부 장치의 디바이스 ID가 포함될 수 있다. 또한 제1 정보는 전자 장치에서(401)에서 외부 장치 확인을 위한 제2 정보가 요구됨을 나타내는 정보를 더 포함할 수 있다. 예를 들면, 서버(405)는 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 기반으로 미리 지정된 복수의 외부 장치들 중 지시 대상 또는 명령어와 관련된 외부 장치 리스트를 획득할 수 있고, 미리 저장된 정보들 중 지시 대명사를 기반으로 외부 장치 확인을 위한 제2 정보가 요구됨을 나타내는 정보를 획득할 수 있다. 예를 들면, 서버(405)는"저거, 불 켜줘"에 대응된 음성 데이터에 대한 음성 인식을 수행 및 자연어 이해를 통해 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보로서 "저거"(지시 대명사)와"불 켜줘"(명령어)가 획득된 경우 "불 켜줘"(명령어)와 관련된 외부 장치 리스트를 획득할 수 있고, "저거"(지시 대명사)와 관련하여 외부 장치 확인을 위한 제2 정보가 요구됨을 나타내는 정보를 획득할 수 있다. 서버(405)는 외부 장치 리스트와 제2 정보가 요구됨을 나타내는 정보를 포함하는 제1 정보를 전자 장치(401)에 전송할 수 있다.
다양한 실시 예에 따르면, 서버(405)는 상기 획득된 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보와 확인된 적어도 하나의 외부 장치에 대한 정보를 이용하여 확인된 적어도 하나의 외부 장치와 관련된 태스크를 수행하기 위한 정보를 획득할 수 있다. 예를 들면, 서버(405)는 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보로서 "저거"(지시 대명사)와"불 켜줘"(명령어)가 획득되고, 확인된 적어도 하나의 외부 장치에 대한 정보로서 스마트 전등의 장치 인식 정보가 획득된 경우 스마트 전등의 전원을 오프하도록 지시하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 예를 들면, 전자 장치(401)가 스마트 전등의 전원을 오프하도록 지시하는데 필요한 적어도 하나 이상의 동작 또는 적어도 하나 이상의 동작의 조합과 관련된 상태들의 시퀀스 정보를 획득할 수 있다. 서버(405)는 상기 확인된 태스크를 수행하기 위한 정보로서 전자 장치(401)의 적어도 하나 이상의 동작 또는 적어도 하나 이상의 동작의 조합과 관련된 상태들의 시퀀스 정보를 포함하는 정보를 전자 장치(401)에 전송할 수 있다. 일 실시예에 따르면 적어도 하나 이상의 동작 조합과 관련된 상태들의 시퀀스 정보는 전자 장치가 적어도 하나 이상의 동작들을 각각 또는 순차적으로 수행하도록 하는 정보를 포함할 수 있다. 일 실시예에 따르면, 전자 장치가 적어도 하나 이상의 동작들을 각각 또는 순차적으로 수행하도록 하는 정보는 적어도 하나 이상의 동작들의 적어도 일부 동작과 관련된 룰 패스(rule path) 정보를 포함할 수 있다. 예를 들면, 룰 패스 정보는 전자 장치(401)가 특정 어플리케이션을 실행하고 실행된 특정 어플리케이션을 통해 적어도 하나 이상의 동작을 수행할 수 있도록 하는 정보를 포함하거나, 전자 장치(401)에서 사용자의 명령을 수행하기 위한 적어도 하나 이상의 동작의 상태 정보를 포함할 수 있다.
도 5a 및 도 5b는 다양한 실시예에 따른 시스템의 동작을 나타낸 흐름도이다.
도 5a를 참조하면, 전자 장치(401)(예를 들면, 도 1의 101, 또는 도 2의 201)는 502 동작에서 사용자 입력을 수신할 수 있다. 전자 장치(401)는 수신된 사용자 입력을 사용자 입력과 연관된 데이터로 변환할 수 있다. 일 실시예에 따르면, 전자 장치(401)는 마이크를 통해 사용자에 의해 발화된 음성 신호를 수신할 수 있다. 예를 들면, 사용자는 "불 꺼" "저거 뭐야", "저기서 노래 틀어봐", "저거 10분 있다 꺼줘", "저거 충전해야 돼?"등과 같이 명령어를 포함하거나, 명령어와 지시 대명사를 포함하는 음성을 발화할 수 있다. 전자 장치(401)는 마이크를 통해 상기 발화된 음성 신호를 수신할 수 있고, 수신된 음성 신호를 사용자 입력과 연관된 데이터인 음성 데이터로 변환할 수 있다.
전자 장치(401)는 504 동작에서 사용자 입력과 연관된 데이터를 서버(405)에 전송할 수 있다. 다양한 실시예에 따르면, 외부 서버(405)는 전자 장치(401)로부터 수신된 음성 데이터를 수신하는 경우 음성 데이터를 기반으로 음성 인식을 수행하고, 자연어 이해를 수행하여 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 획득할 수 있고, 획득된 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 기반으로 적어도 하나의 외부 장치 확인을 위한 제1 정보를 획득하여 전자 장치(401)에 전송할 수 있다. 일 실시예에 따르면, 제1 정보는 외부 장치 리스트를 포함할 수 있다. 외부 장치 리스트는 적어도 하나의 외부 장치의 장치 인식 정보 가 포함될 수 있다. 또한 제1 정보는 전자 장치에서(401)에서 외부 장치 확인을 위한 제2 정보가 요구됨을 나타내는 정보를 더 포함할 수 있다. 다양한 실시예에 따르면, 전자 장치(401)는 음성 데이터를 외부 서버(405)에 전송하지 않고, 자체적으로 음성 데이터를 기반으로 적어도 하나의 외부 장치 확인을 위한 제1 정보를 획득할 수도 있다.
전자 장치(401)는 506-1 내지 506-N 동작에서 통신 회로를 통해 적어도 하나의 신호를 획득할 수 있다. 예를 들면, 전자 장치(401)는 제1 내지 제N 외부 장치(403-1~403-N) 각각으로부터 브로드캐스팅된 신호를 수신할 수 있다. 전자 장치(401)는 제1 내지 제N 외부 장치(403-1~403-N) 각각으로부터 주기적으로 브로드캐스팅되는 신호를 수신할 수도 있고, 제1 내지 제N 외부 장치(403-1~403-N)에 신호를 요청한 후, 제1 내지 제N 외부 장치(403-1~403-N)로부터 브로드캐스팅된 신호를 수신할 수도 있다. 다양한 실시예에 따르면, 전자 장치(401)는 복수의 안테나들을 포함할 수 있으며, 복수의 안테나들을 통해 적어도 하나의 무선 통신 신호를 수신할 수 있다. 예를 들면, 전자 장치(401)는 제1 내지 제N 외부 장치(403-1~403-N) 각각으로부터의 신호 각각을 상기 전자 장치(401)에 구비된 복수의 안테나들을 통해 수신할 수 있다. 적어도 하나의 신호가 상기 전자 장치(401)의 복수의 안테나들에 의해 수신되는 경우, 복수의 안테나들에 의해 수신되는 신호들 사이에 위상차가 발생할 수 있다. 일 실시예에 따르면, 제1 외부 장치(403-1)에서 전송한 신호가 전자 장치(401)의 두 개의 안테나를 통해 수신되는 경우, 두 개의 안테나를 통해 수신된 두 개의 신호 사이에는 두 개의 안테나에 도달하는 시간차에 의해 위상차가 발생할 수 있다. 다양한 실시예에 따르면 전자 장치(401)는 제1 내지 제N 외부 장치(403-1~403-N)로부터의 신호 각각을 복수의 안테나들을 통해 수신하여 제1 내지 제N 외부 장치(403-1~403-N)로부터의 신호 각각에 대한 위상차를 검출하고, 제1 내지 제N 외부 장치(403-1~403-N)로부터의 신호들 중 위상차가 미리 정해진 임계값 이하인 신호에 대응된 외부 장치를 판단할 수 있다. 전자 장치(401)는 위상차가 미리 정해진 임계값 이하인 신호에 대응된 외부 장치에 대한 제2 정보를 획득할 수 있다. 예를 들면 제2 정보는 위상차가 미리 정해진 임계값 이하인 신호에 대응된 외부 장치의 장치 인식 정보를 포함할 수 있다.
전자 장치(401)는 508 동작에서 적어도 하나의 외부 장치 신호로부터 수신된 신호에 기반하여 적어도 하나의 외부 장치를 확인할 수 있다. 다양한 실시예예 따르면, 전자 장치(401)는 적어도 하나의 외부 장치 신호로부터 수신된 신호에 포함된 장치 인식 정보를 이용하여 적어도 하나의 외부 장치를 확인하거나, 적어도 하나의 외부 장치 각각의 장치 인식 정보 및 수신 신호의 위상차를 기반으로 복수의 안테나를 통해 수신된 신호의 위상차가 미리 정해진 임계값 이하를 가지는 적어도 하나의 외부 장치를 확인할 수 있다.
전자 장치(401)는 510 동작에서 적어도 하나의 외부 장치 정보를 서버(405)에 전송할 수 있다. 다양한 실시예에 따르면 전자 장치(401)는 상기 확인된 적어도 하나의 외부 장치에 대한 장치 인식 정보를 서버(405)에 전송할 수 있다.
서버(405)는 전자 장치(401)로부터 수신된 사용자 입력과 연관된 데이터와 적어도 하나의 외부 장치 정보를 기반으로 외부 장치를 이용한 태스크를 수행하기 위한 정보를 획득할 수 있다. 다양한 실시예에 따르면, 서버(405)는 사용자 입력과 관련된 데이터로서 음성 데이터가 수신되고, 적어도 하나의 외부 장치 정보로서 장치 인식 정보를 수신할 수 있다. 다양한 실시예에 따르면, 음성 데이터와 장치 인식 정보가 수신된 경우, 서버(405)는 수신된 음성 데이터와 장치 인식 정보를 이용하여 태스크를 수행할 적어도 하나의 외부 장치를 판단할 수 있다. 예를 들면, 서버(405)는 음성 데이터를 기반으로 획득된 제1 정보(예를 들면, 외부 장치 리스트)에 포함된 외부 장치들 중 전자 장치(401)에서 복수의 안테나를 통해 수신된 신호의 위상차가 미리 정해진 임계값 이하를 가지는 장치 인식 정보에 대응된 적어도 하나의 외부 장치를 판단할 수 있다. 또한 서버(405)는 수신된 음성 데이터를 기반으로 음성 인식을 수행하고, 인식된 음성에 대한 자연어 이해를 수행하여 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 획득할 수 있다. 다양한 실시예에 따르면, 서버(405)는 음성 데이터를 기반으로 획득된 제1 정보(예를 들면, 외부 장치 리스트)에 포함된 외부 장치들을 전자 장치(401)로 제공하고, 전자 장치(401)가 복수의 안테나를 통해 수신된 신호의 위상차가 미리 정해진 임계값 이하를 가지는 장치 인식 정보에 대응된 적어도 하나의 외부 장치를 판단하여 서버(405)로 제공할 수도 있다.
서버(405)는 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보와 상기 판단된 적어도 하나의 외부 장치를 기반으로 판단된 적어도 하나의 외부 장치와 관련된 명령 또는 기능을 적어도 일부 포함하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 예를 들면, 서버(405)는 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보로서 "저거"(지시 대명사)와"불 켜줘"(명령어)가 획득되고, 태스크를 수행할 적어도 하나의 외부 장치가 스마트 전등인 경우 스마트 전등의 전원을 오프하도록 지시하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 서버(405)는 512 동작에서 외부 장치를 이용한 태스크를 수행하기 위한 정보를 전자 장치(401)에 전송할 수 있다. 예를 들어, 서버(405)는 스마트 전등의 전원을 오프하도록 지시하는 태스크를 수행하기 위한 정보로서 스마트 전등의 전원을 오프하도록 지시하는데 필요한 전자 장치(401)의 적어도 하나 이상의 동작 또는 적어도 하나 이상의 동작의 조합과 관련된 상태들의 시퀀스 정보를 전자 장치(401)에 전송할 수 있다. 일 실시예에 따르면 적어도 하나 이상의 동작 조합과 관련된 상태들의 시퀀스 정보는 전자 장치가 적어도 하나 이상의 동작들을 각각 또는 순차적으로 수행하도록 하는 정보를 포함할 수 있다.
일 실시예에 따르면, 적어도 하나 이상의 동작 조합과 관련된 상태들의 시퀀스 정보는 전자 장치(401)가 적어도 하나 이상의 동작들을 각각 또는 순차적으로 수행하도록 하는 정보는 전자 장치(401)의 적어도 하나 이상의 동작들과 관련된 룰 패스(rule path) 정보를 포함할 수 있다. 예를 들면, 룰 패스 정보는 전자 장치(401)가 특정 어플리케이션을 실행하고 실행된 특정 어플리케이션을 통해 적어도 하나 이상의 동작을 수행할 수 있도록 하는 정보를 포함하거나, 전자 장치(401)에서 사용자의 명령을 수행하기 위한 적어도 하나 이상의 동작의 상태 정보를 포함할 수 있다. 예를 들면, 스마트 전등의 전원을 오프하도록 지시하는데 필요한 전자 장치(401)의 적어도 하나의 동작 또는 적어도 하나 이상의 동작의 조합과 관련된 상태들의 시퀀스 정보는 전자 장치가 스마트 전등과 통신을 연결하는 동작, 스마트 전등에 전원 오프 명령을 전송하는 동작, 및 스마트 전등으로부터 전원 오프 결과를 수신받는 동작 각각 또는 순차적으로 수행하도록 하는 정보를 포함할 수 있다.
전자 장치(401)는 514 동작에서 외부 장치를 이용한 태스크를 수행하기 위한 정보를 이용하여 태스크를 수행할 수 있다. 일 실시예에 따르면 전자 장치(401)는 스마트 전등의 전원을 오프하도록 지시하는데 필요한 전자 장치(401)의 적어도 하나 이상의 동작 또는 적어도 하나 이상의 동작의 조합과 관련된 상태들의 시퀀스 정보를 이용하여 스마트 전등과 통신을 연결하는 동작, 스마트 전등에 전원 오프 명령을 전송하는 동작, 및 스마트 전등으로부터 전원 오프 결과를 수신받는 동작을 각각 또는 순차적으로 수행함함으로써, 스마트 전등의 전원을 오프하도록 지시하는 태스크를 수행할 수 있다.
도 5b를 참조하면, 전자 장치(401)(예를 들면, 도 1의 101, 또는 도 2의 201)는 522 동작에서 사용자 입력을 수신할 수 있다. 전자 장치(401)는 수신된 사용자 입력을 사용자 입력과 관련된 데이터로 변환할 수 있다. 다양한 실시예에 따르면 사용자 입력은 사용자에 의해 발화된 음성 신호에 의한 입력, 사용자에 의해 전자 장치(401)의 터치 스크린이 터치됨에 따른 터치 입력, 또는 사용자에 의해 전자 장치(401)가 쥐어진 상태에서의 제스쳐 입력 등 다양한 입력 중 어느 하나일 수 있다. 일 실시예에 따르면, 전자 장치(401)는 사용자에 의해 터치 입력이 수신되는 경우, 예를 들면 터치 스크린에서 전원 오프에 대응된 터치 입력이 있는 경우, 전자 장치(401)는 전원 오프와 관련된 정보를 기반으로 적어도 하나의 외부 장치 확인을 위한 제1 정보를 획득할 수 있다. 일 실시예에 따르면 제1 정보는 전원 오프 가능한 외부 장치 리스트를 포함할 수 있다. 외부 장치 리스트?z 적어도 하나의 외부 장치의 장치 인식 정보를 포함할 수 있다. 또한 제1 정보는 전자 장치(401)에서 외부 장치 확인을 위한 제2 정보가 요구됨을 나타내는 정보를 더 포함할 수 있다. 다양한 실시예에 따르면 전자 장치(401)는 사용자에 의해 발화된 음성 신호에 의한 입력, 사용자에 의한 제스쳐 입력 등 다양한 입력 중 적어도 하나의 사용자 입력이 있는 경우, 입력을 기반으로 적어도 하나의 외부 장치 확인을 위한 제1 정보를 획득할 수 있음은 물론이다.
전자 장치(401)는 524-1 내지 524-N 동작에서 통신 회로를 통해 적어도 하나의 신호를 획득할 수 있다. 예를 들면, 제1 내지 제N 외부 장치(403-1~403-N) 각각으로부터 브로드캐스팅된 신호를 수신할 수 있다. 전자 장치(401)는 제1 내지 제N 외부 장치(403-1~403-N) 각각으로부터 주기적으로 브로드캐스팅되는 신호를 수신할 수도 있고, 제1 내지 제N 외부 장치(403-1~403-N)에 신호를 요청한 후, 제1 내지 제N 외부 장치(403-1~403-N)로부터 브로드캐스팅된 신호를 수신할 수도 있다. 다양한 실시예에 따르면, 전자 장치(401)는 복수의 안테나들을 포함할 수 있으며, 복수의 안테나들을 통해 적어도 하나의 무선 통신 신호를 수신할 수 있다. 예를 들면, 전자 장치(401)는 제1 내지 제N 외부 장치(403-1~403-N) 각각으로부터의 신호 각각을 복수의 안테나를 통해 수신할 수 있다. 적어도 하나의 신호가 복수의 안테나들에 의해 수신되는 경우, 복수의 안테나들에 의해 수신되는 신호들 사이에 위상차가 발생할 수 있다. 일 실시예에 따르면, 제1 외부 장치(403-1)의 신호가 두 개의 안테나를 통해 수신되는 경우, 두 개의 안테나를 통해 수신된 두 개의 신호 사이에는 두 개의 안테나에 도달하는 시간차에 의해 위상차가 발생할 수 있다. 다양한 실시예에 따르면 전자 장치(401)는 제1 내지 제N 외부 장치(403-1~403-N)로부터의 신호 각각을 복수의 안테나들을 통해 수신하여 제1 내지 제N 외부 장치(403-1~403-N)로부터의 신호 각각에 대한 위상차를 검출하고, 제1 내지 제N 외부 장치(403-1~403-N)로부터의 신호들 중 위상차가 미리 정해진 임계값 이하인 신호에 대응된 외부 장치를 판단할 수 있다. 전자 장치(401)는 위상차가 미리 정해진 임계값 이하인 신호에 대응된 외부 장치에 대한 제2 정보를 획득할 수 있다. 예를 들면 제2 정보는 위상차가 미리 정해진 임계값 이하인 신호에 대응된 외부 장치의 장치 인식 정보를 포함할 수 있다.
전자 장치(401)는 526 동작에서 적어도 하나의 외부 장치로부터 수신된 신호에 기반하여 적어도 하나의 외부 장치를 확인할 수 있다. 다양한 실시예예 따르면, 전자 장치(401)는 적어도 하나의 외부 장치 신호에 포함된 장치 인식 정보를 이용하여 적어도 하나의 외부 장치를 확인하거나, 사용자 입력과 관련된 데이터를 기반으로 획득된 제1 정보와 적어도 하나의 외부 장치 신호에 기반하여 획득된 제2 정보를 이용하여 적어도 하나의 외부 장치를 확인할 수 있다. 예를 들면, 전자 장치(401)는 음성 데이터를 기반으로 획득된 제1 정보(예를 들면, 외부 장치 리스트)에 포함된 외부 장치들 중 제2 정보에 따라 복수의 안테나를 통해 수신된 신호의 위상차가 미리 정해진 임계값 이하를 가지는 적어도 하나의 외부 장치를 확인할 수 있다. 예를 들면, 전자 장치(401)는 사용자 발화에 의한 음성에 의해 1차적으로 확인된 외부 장치들 중에서 사용자가 전자 장치(401)를 이용하여 지향한 외부 장치를 2차적으로 확인함으로써, 태스크를 수행하고자 하는 외부 장치를 확인할 수 있다.
전자 장치(401)는 528 동작에서 사용자 입력과 연관된 데이터와 적어도 하나의 외부 장치 정보를 기반으로 외부 장치를 이용한 태스크를 수행하기 위한 정보를 획득할 수 있다. 다양한 실시예에 따르면, 전자 장치(401)는 사용자 입력과 관련된 데이터가 음성 데이터이고, 적어도 하나의 외부 장치 정보가 장치 인식 정보인 경우, 음성 데이터를 기반으로 음성 인식을 수행하고, 인식된 음성에 대한 자연어 이해를 수행하여 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 획득할 수 있다. 전자 장치(401)는 획득된 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보와 장치 인식 정보를 기반으로 장치 인식 정보에 대응된 외부 장치와 관련된 명령 또는 기능을 적어도 일부 포함하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 예를 들면, 전자 장치(401)는 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보로서 "저거"(지시 대명사)와"불 켜줘"(명령어)가 획득되고, 확인된 적어도 하나의 외부 장치에 대한 정보로서 스마트 전등의 장치 인식 정보가 획득된 경우 스마트 전등의 전원을 오프하도록 지시하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 일 실시예에 따르면 전자 장치(401)는 스마트 전등의 전원을 오프하도록 지시하는 태스크를 수행하기 위한 정보로서 스마트 전등의 전원을 오프하도록 지시하는데 필요한 전자 장치(401)의 하나 이상의 동작 또는 하나 이상의 동작의 조합과 관련된 상태들의 시퀀스 정보를 획득할 수 있다. 일 실시예에 따르면 적어도 하나 이상의 동작 또는 하나 이상의 동작의 조합과 관련된 상태들의 시퀀스 정보는 전자 장치가 적어도 하나 이상의 동작들을 각각 또는 순차적으로 수행하도록 하는 정보를 포함할 수 있다. 예를 들면, 스마트 전등의 전원을 오프하도록 지시하는데 필요한 전자 장치(401)의 적어도 하나 이상의 동작 또는 적어도 하나 이상의 동작의 조합과 관련된 상태들의 시퀀스 정보는 스마트 전등과 통신을 연결하는 동작, 스마트 전등에 전원 오프 명령을 전송하는 동작, 및 스마트 전등으로부터 전원 오프 결과를 수신받는 동작을 각각 또는 순차적으로 수행하도록 하는 정보를 포함할 수 있다.
전자 장치(401)는 530 동작에서 외부 장치를 이용한 태스크를 수행하기 위한 정보를 이용하여 태스크를 수행할 수 있다. 일 실시예에 따르면 전자 장치(401)는 스마트 전등의 전원을 오프하도록 지시하는데 필요한 전자 장치(401)의 적어도 하나 이상의 동작 또는 적어도 하나 이상의 동작의 조합과 관련된 상태들의 시퀀스 정보를 이용하여 스마트 전등과 통신을 연결하는 동작, 스마트 전등에 전원 오프 명령을 전송하는 동작, 및 스마트 전등으로부터 전원 오프 결과를 수신받는 동작을 각각 또는 순차적으로 수행함으로써, 스마트 전등의 전원을 오프하도록 지시하는 태스크를 수행할 수 있다.
도 6a 및 도 6b는 다양한 실시예에 따른 전자 장치에서 외부 장치에 대응된 서비스 정보를 표시하는 동작을 나타낸 흐름도이다.
도 6a를 참조하면, 일 실시예에 따라 외부 장치에 대응된 서비스 정보를 표시하는 태스크를 수행하기 위한 정보는 602 동작 및 604 동작과 관련된 상태들의 시퀀스 정보를 포함할 수 있다. 전자 장치(601)(예를 들며느 도 1의 101, 도 2의 201, 또는 도 4의 401)는 602 동작 및 604 동작과 관련된 상태들의 시퀀스 정보를 이용하여 602 동작 및 604 동작이 수행되도록 할 수 있다. 일 실시예에 따르면 602 동작 및 604 동작과 관련된 상태들의 시퀀스 정보는 전자 장치(601)가 602 동작 및 604 동작을 각각 또는 순차적으로 수행하도록 하는 정보를 포함할 수 있다. 일 실시예에 따르면, 전자 장치(601)가 602 동작 및 604 동작을 각각 또는 순차적으로 수행하도록 하는 정보는 602 동작 및 604 동작과 관련된 룰 패스(rule path) 정보를 적어도 일부 포함할 수 있다. 예를 들면, 룰 패스 정보는 전자 장치(601)가 특정 어플리케이션을 실행하고 실행된 특정 어플리케이션을 통해 602 동작 및 604 동작을 각각 또는 순차적으로 수행할 수 있도록 하는 정보를 포함하거나, 전자 장치(601)에서 사용자의 명령을 수행하기 위한 각 동작들의 상태 정보를 포함할 수 있다.
전자 장치(601)는 602 동작에서 외부 장치(603)(예를 들면, 도 4 및 도 5의 제1 내지 제N 외부 장치들(403-1~403-N) 중 확인된 외부 장치)와 통신 연결을 수행할 수 있다.
전자 장치(601)는 604 동작에서 외부 장치(603)에 대응된 서비스 정보를 표시할 수 있다. 다양한 실시예에 따르면, 외부 장치(603)에 대응된 서비스 정보는 확인된 외부 장치(603)가 무엇인지를 나타내는 정보, 확인된 외부 장치(603)가 제공하는 기능이 무엇인지를 나타내는 정보 또는 확인된 외부 장치(603)가 제공하는 기능을 제어할 수 있는 정보를 포함할 수 있다. 사용자는 전자 장치(601)에 표시된 확인된 외부 장치(603)에 대응된 서비스 정보로부터 확인된 외부 장치(603)가 무엇인지, 확인된 외부 장치(603)가 제공하는 기능이 무엇인지를 알 수 있거나, 확인된 외부 장치(603)가 제공하는 기능을 제어할 수 있는 정보를 기반으로 확인된 외부 장치(603)를 제어할 수 있다.
도 6b를 참조하면, 일 실시예에 따라 외부 장치에 대응된 서비스 정보를 표시하는 태스크를 수행하기 위한 동작은 621 동작 내지 629 동작을 포함할 수 있다. 전자 장치(601)(예를 들면, 도 1의 101, 도 2의 201, 또는 도 4의 401)는 621 동작, 623 동작, 및 629 동작과 관련된 상태들의 시퀀스 정보를 이용하여 621 동작, 623 동작, 및 629 동작이 수행되도록 할 수 있다.
일 실시예에 따르면 621 동작, 623 동작, 및 629 동작과 관련된 상태들의 시퀀스 정보는 전자 장치(601)가 621 동작, 623 동작, 및 629 동작을 각각 또는 순차적으로 수행하도록 하는 정보를 포함할 수 있다. 일 실시예에 따르면, 전자 장치(601)가 621 동작, 623 동작, 및 629 동작을 각각 또는 순차적으로 수행하도록 하는 정보는 621 동작, 623 동작, 및 629 동작의 적어도 일부와 관련된 룰 패스(rule path) 정보를 포함할 수 있다. 예를 들면, 룰 패스 정보는 전자 장치(601)가 특정 어플리케이션을 실행하고 실행된 특정 어플리케이션을 통해 정보는 621 동작, 623 동작, 및 629 동작을 각각 또는 순차적으로 수행할 수 있도록 하는 정보를 포함하거나, 전자 장치(601)에서 사용자의 명령을 수행하기 위한 621 동작, 623 동작, 및 629 동작들의 상태 정보를 포함할 수 있다.
전자 장치(601)는 621동작에서 외부 장치(603)(예를 들면, 도 4 및 도 5의 제1 내지 제N 외부 장치들(403-1~403-N) 중 확인된 외부 장치)에 대한 정보를 외부의 서버(607)(예를 들면, 도 1의106, 도 4의 405)에 전송할 수 있다. 다양한 실시예에 따르면, 서버(607)는 외부 장치(603)과 연관된 서비스를 제공할 수 있는 서버일 수 있다. 예를 들면, 외부 장치(603)에 대한 정보는 외부 장치(603)에 대한 장치 인식 정보를 포함할 수 있다. 다양한 실시예에 따르면 전자 장치(601)는 적어도 하나의 외부 장치로부터 수신된 신호에 포함된 장치 인식 정보를 이용하여 외부 장치에 대한 정보를 획득하거나, 사용자 입력과 관련된 데이터를 기반으로 획득된 제1 정보와 적어도 하나의 외부 장치 신호에 기반하여 획득된 제2 정보를 이용하여 외부 장치에 대한 정보를 획득할 수 있다.
전자 장치(601) 는 623동작에서 외부 장치(603)와 통신 연결을 수행할 수 있다. 다양한 실시예에 따르면 전자 장치(601)는 외부 장치(603)에 대응된 서비스 정보를 기반으로 상기 외부 장치(603)과 연동하여 외부 장치(603)에 대응된 서비스를 수행하기 위해 통신 연결을 수행할 수 있다. 다양한 실시예에 따르면 전자 장치(601)는 외부 장치(603)과 연동하여 외부 장치(603)에 대응된 서비스를 수행하지 않고, 외부 장치(603)에 대응된 서비스에 대한 정보만을 획득하고자 하는 경우 외부 장치(603)과 통신 연결을 수행하는 623 동작을 수행하지 않을 수도 있다. 일 실시예에 따르면, 전자 장치(601)는 서버(607)로 외부 장치(603)에 대한 정보를 보내는 621 동작을 수행하기 전에 외부 장치(603)와 통신 연결 수행하는 동작 623을 수행할 수 있다.
서버(607)는 625 동작에서 외부 장치(603)에 대한 정보와 매칭되는 서비스 ID를 검색할 수 있고, 627 동작에서 검색된 서비스 ID에 대응된 서비스 정보를 제공할 수 있다. 일 실시예에 따르면, 외부 장치(603)에 대한 정보는 외부 장치(603)의 장치 정보(예: 디바이스 ID)를 포함할 수 있다. 일 실시예에 따르면 서비스 ID는 서비스를 식별하기 위한 ID로서 장치 정보와 대응될 수 있고, 서비스 ID 별로 서비스 ID에 대응되는 서비스 정보가 서버(607)에 저장될 수 있다. 다양한 실시예에 따르면, 외부 장치(603)에 대응된 서비스 정보는 외부 장치(603)가 무엇인지를 나타내는 정보, 외부 장치(603)가 제공하는 기능이 무엇인지를 나타내는 정보 또는 외부 장치(603)가 제공하는 기능을 제어할 수 있는 정보를 포함할 수 있다.
전자 장치(601)는 629 동작에서 상기 제공받은 서비스 정보를 표시할 수 있다. 다양한 실시예에 따르면, 사용자는 전자 장치(601)에 표시된 서비스 정보로부터 확인된 외부 장치(603)가 무엇인지, 확인된 외부 장치(603)가 제공하는 기능이 무엇인지를 알 수 있거나, 확인된 외부 장치(603)가 제공하는 기능을 제어할 수 있는 정보를 기반으로 확인된 외부 장치(603)를 제어할 수 있다.
도 7a 내지 도 7b는 다양한 실시예에 따라 전자 장치에서 외부 장치에 대응된 서비스 정보를 표시하는 예를 나타낸 도면이다.
다양한 실시 예에 따르면 전자 장치는 웨어러블 기기(701) 또는 스마트 폰(707)(이하, 웨어러블 기기(701) 또는 스마트 폰(707)을 전자 장치라고도 함) 등과 같이 다양한 형태의 전자 장치일 수 있다.
먼저 도 7a를 참조하면, 전자 장치(707)(예: 도 1의 101, 도 2의 201, 도 4의 401 또는 도 6a 및 6b의 601)는 사용자로부터 발화된 음성 예를 들면, "저거 뭐야"라는 음성을 수신할 수 있고, 복수의 외부 장치들(703-1~703-3)로부터의 신호들을 수신할 수 있다. 다양한 실시예에 따르면 전자 장치(707)는 수신된 음성 신호를 기반으로 자체적으로 음성 인식 및 자연어 이해를 수행하여 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 획득하거나, 외부의 서버(예: 서버(405))에 음성 신호(또는 음성 신호에 대응된 데이터)를 전송하고, 서버로부터 음성 인식 및 자연어 이해 수행 결과에 따른 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 획득할 수 있다. 다른 실시예에 따르면, 전자 장치(707)는 외부의 서버(예: 서버(405))에 음성 신호(또는 음성 신호에 대응된 데이터)를 전송하고, 서버(405)로부터 음성 인식 및 자연어 이해를 수행 결과에 따른 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보에 대응되는 제1 정보(예를 들면, 외부 장치 리스트)를 수신할 수도 있다.
다양한 실시예에 따르면 전자 장치(707)는 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 기반으로 하는 제1 정보 및 복수의 외부 장치들(703-1~703-3)로부터의 신호들의 위상차에 따른 제2 정보(예를 들면, 위상차가 임계값 이하인 외부 장치)에 기반하여 적어도 하나의 외부 장치, 예를 들어, 전자 장치(707)가 지향한 외부 장치(703-3)를 확인할 수 있고, 확인된 외부 장치(703-3)에 대응된 서비스 정보를 표시하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 일 실시예에 따르면 전자 장치(707)는 제1 정보 및 제2 정보를 외부의 서버(예: 서버(405))로 전송하고, 서버(405)로부터 외부 장치(703-3)에 대응된 서비스 정보를 표시하는 태스크를 수행하기 위한 정보를 수신할 수도 있다.
다양한 실시예에 따르면 외부 장치(703-3)에 대응된 서비스 정보를 표시하는 태스크를 수행하기 위한 정보는 전자 장치(707)가 외부 장치(703-3)에 대응된 서비스 정보를 표시하기 위해 필요한 적어도 하나 이상의 동작 또는 적어도 하나 이상의 동작의 조합과 관련된 상태들의 시퀀스 정보를 포함할 수 있다. 일 실시예에 따르면, 시퀀스 정보는 전자 장치(707)가 외부 장치(703-3)에 대응된 서비스 정보를 표시하기 위해 적어도 하나 이상의 동작들을 각각 또는 순차적으로 수행하도록 하는 정보를 포함할 수 있다. 일 실시예에 따르면, 전자 장치(707)가 외부 장치(703-3)에 대응된 서비스 정보를 표시하기 위해 적어도 하나 이상의 동작들을 각각 또는 순차적으로 수행하도록 하는 정보는 룰 패스(rule path) 정보를 적어도 일부 포함할 수 있다. 예를 들면, 룰 패스 정보는 전자 장치(707)가 특정 어플리케이션을 실행하고 실행된 특정 어플리케이션을 통해 외부 장치(703-3)에 대응된 서비스 정보를 표시하기 위해 적어도 하나 이상의 동작들을 각각 또는 순차적으로 수행할 수 있도록 하는 정보를 포함하거나, 전자 장치(707)에서 사용자의 명령을 수행하기 위한 각 동작들의 상태 정보를 포함할 수 있다.
전자 장치(707)는 외부 장치(703-3)에 대응된 서비스 정보를 표시하는 태스크를 수행하기 위한 정보에 따라 태스크를 수행할 수 있다. 예를 들면, 전자 장치(707)는 선택된 외부 장치(703-3)가 커피 머신인 경우 커피 머신에 대응된 서비스 정보를 표시할 수 있다. 다양한 실시예에 따르면, 전자 장치(707)는 선택된 외부 장치(703-3)가 커피 머신인 경우 커피 머신(703-3)으로부터 커피 머신에 대응된 서비스 정보를 수신하고, 수신된 정보를 표시할 수 있다. 일 실시예에 따르면 커피 머신에 대응된 서비스 정보는 커피 머신임을 나타내는 정보, 커피를 만드는 동작을 함을 나타내는 정보, 또는 커피 머신을 조작하는 방법을 나타내는 정보를 포함할 수 있다. 다른 예를 들면, 선택된 외부 장치(703-2)가 TV인 경우 TV에 대응된 서비스 정보를 표시할 수 있고, 선택된 외부 장치(703-1)가 프린터인 경우 프린터에 대응된 서비스 정보를 표시할 수 있다.
도 7b를 참조하면, 전자 장치(701)(예: 도 1의 101, 도 2의 201, 도 4의 401 또는 도 6a 및 6b의 601)는 사용자로부터 발화된 음성 예를 들면, "저거 뭐야"라는 음성을 수신할 수 있고, 공공 장소의 외부 장치(703-4)로부터의 신호를 수신할 수 있다. 예를 들면, 공공 장소의 외부 장치(703-4)는 공공 장소에 설치된 미술 작품, 음수대, 또는 기념물 또는 박물관에 전시된 미술 작품, 조각상, 문화재 등에 포함된 전자 장치일 수 있다.
다양한 실시예에 따르면 전자 장치(701)는 수신된 음성 신호를 기반으로 자체적으로 음성 인식 및 자연어 이해를 수행하여 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 획득하거나, 외부의 서버(예: 서버(405))에 음성 신호(또는 음성 신호에 대응된 데이터)를 전송하고, 서버로부터 음성 인식 및 자연어 이해 수행 결과에 따른 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 획득할 수 있다. 다른 실시예에 따르면, 전자 장치(701)는 외부의 서버(예: 서버(405))에 음성 신호(또는 음성 신호에 대응된 데이터)를 전송하고, 서버(405)로부터 음성 인식 및 자연어 이해를 수행 결과에 따른 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보에 대응되는 제1 정보(예를 들면, 외부 장치 리스트)를 수신할 수도 있다.
다양한 실시예에 따르면, 전자 장치(701)는 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 기반으로 하는 제1 정보 및 외부 장치(703-4)로부터의 신호의 위상차에 기반으로 하는 제2 정보(예를 들면, 외부 장치(703-4)로부터의 신호의 위상차가 임계값 이하인지 여부)에 기반하여 외부 장치(703-4)를 확인할 수 있고, 확인된 외부 장치(703-4)에 대응된 서비스 정보를 표시하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 일 실시예에 따르면 전자 장치(701)는 제1 정보 및 제2 정보를 외부의 서버(예: 서버(405))로 전송하고, 서버(405)로부터 외부 장치(703-4)에 대응된 서비스 정보를 표시하는 태스크를 수행하기 위한 정보를 수신할 수도 있다.
다양한 실시예에 따르면 외부 장치(703-4)에 대응된 서비스 정보를 표시하는 태스크를 수행하기 위한 정보는 전자 장치(701)가 외부 장치(703-4)에 대응된 서비스 정보를 표시하기 위해 필요한 적어도 하나 이상의 동작 또는 적어도 하나 이상의 동작의 조합과 관련된 상태들의 시퀀스 정보를 포함할 수 있다. 일 실시예에 따르면, 전자 장치(701)가 외부 장치(703-3)에 대응된 서비스 정보를 표시하기 위해 적어도 하나 이상의 동작들을 각각 또는 순차적으로 수행하도록 하는 정보는 룰 패스(rule path) 정보를 적어도 일부 포함할 수 있다. 예를 들면, 룰 패스 정보는 전자 장치(701)가 특정 어플리케이션을 실행하고 실행된 특정 어플리케이션을 통해 외부 장치(703-3)에 대응된 서비스 정보를 표시하기 위해 적어도 하나 이상의 동작들을 각각 또는 순차적으로 수행할 수 있도록 하는 정보를 포함하거나, 전자 장치(701)에서 사용자의 명령을 수행하기 위한 각 동작들의 상태 정보를 포함할 수 있다.
전자 장치(701)는 확인된 외부 장치(703-4)에 대응된 서비스 정보를 표시하는 태스크를 수행하기 위한 정보에 따라 태스크를 수행할 수 있다. 일 실시예에 따르면, 전자 장치(701)는 외부 장치(703-4)가 공공 장소에 설치된 미술 작품에 대응된 경우, 미술 작품에 대응된 서비스 정보(72)를 디스플레이(712)에 표시할 수 있다. 예를 들면, 전자 장치(701)는 외부의 서버(예: 서버(607))로부터 미술 작품에 대응된 서비스 정보(72)를 수신하고, 수신된 정보(72)를 표시할 수 있다. 다양한 실시예에 따르면, 미술 작품에 대응된 서비스 정보는 미술 작품에 대응된 설명 정보를 포함할 수 있다. 다른 실시예에 따르면 선택된 외부 장치가 공공 장소에 설치된 제품에 대응된 경우, 제품에 대응된 서비스 정보를 표시할 수 있다. 제품에 대응된 서비스 정보는 생산년도, 모델명, 제품의 시세, 또는 동일 제품이나 제품군을 구할 수 있는 판매처와 같은 정보를 포함할 수 있다.
도 8a 및 도 8b는 다양한 실시예에 따라 전자 장치에서 외부 장치에 제어 명령이 전송되도록 하는 동작을 나타낸 흐름도이다.
도 8a를 참조하면, 일 실시예에 따라 외부 장치에 제어 명령이 전송되도록 하는 태스크를 수행하기 위한 정보는 802 동작 내지 808 동작과 관련된 상태들의 시퀀스 정보를 포함할 수 있다. 전자 장치(801)(예를 들면, 도 1의 101, 도 2의 201, 또는 도 4의 401)는 802 동작 내지 808 동작과 관련된 상태들의 시퀀스 정보 중 802 동작 및 808 동작과 관련된 상태들의 시퀀스 정보를 이용하여 802 동작 및 808 동작이 수행되도록 할 수 있다. 일 실시예에 따르면 802 동작 및 808 동작과 관련된 상태들의 시퀀스 정보는 전자 장치(801)가 802 동작 및 808 동작을 각각 또는 순차적으로 수행하도록 하는 정보를 포함할 수 있다. 일 실시예에 따르면, 전자 장치(801)가 802 동작 및 808 동작을 각각 또는 순차적으로 수행하도록 하는 정보는 룰 패스(rule path) 정보를 적어도 일부 포함할 수 있다. 예를 들면, 룰 패스 정보는 전자 장치(801)가 특정 어플리케이션을 실행하고 실행된 특정 어플리케이션을 통해 802 동작 및 808 동작을 각각 또는 순차적으로 수행할 수 있도록 하는 정보를 포함하거나, 전자 장치(801)에서 사용자의 명령을 수행하기 위한 각 동작들의 상태 정보를 포함할 수 있다.
전자 장치(801)는 802 동작에서 외부 장치(803)(예를 들면, 도 4 및 도 5의 제1 내지 제N 외부 장치들(403-1~403-N) 중 확인된 외부 장치)에 명령을 전송할 수 있다. 상기 명령은, 예를 들어, 사용자의 입력(예: 음성, 터치, 또는 제스쳐 입력 등) 및 전자 장치(801)에서 수신된 외부 장치(803)로부터의 신호에 적어도 일부 기반하여, 외부 장치(803)에서 수행하기 위한 태스크와 관련된 정보를 적어도 일부 포함할 수 있다. 일 실시예에 따르면 전자 장치(801)는 외부 장치(803)와 통신 가능한 통신 프로토콜을 이용하여 명령을 전송할 수 있다. 다양한 실시예에 따르면, 통신 프로토콜은 블루투스(bluetooth) 프로토콜, 저전력 블루투스(BLE: bluetooth low energy) 프로토콜, WiFi 프로토콜, 비콘(beacon) 프로토콜, 지그비(zigbee) 프로토콜, 또는 NFC(near field communication) 프로토콜 중 적어도 하나를 포함할 수 있다. 일 실시예에 따르면 통신 프로토콜은 IoT(internet of things) 서비스를 위해 지정된 다른 통신 프로토콜을 더 포함할 수도 있다.
외부 장치(803)는 804 동작에서 전자 장치(801)로부터 수신한 명령을 수행할 수 있다. 일 실시예에 따르면 외부 장치(803)는 전자 장치(801)로부터 수신된 명령을 기반으로 명령에 대응된 기능을 판단하고, 판단된 기능을 수행할 수 있다
외부 장치(803)는 806 동작에서 명령 수행 결과를 전자 장치(801)로 전송할 수 있다. 다양한 실시예에 따르면 명령 수행 결과는 명령에 따른 기능 수행 성공, 명령에 따른 기능 수행 실패, 또는 명령에 따른 기능 수행 결과를 알리는 정보를 포함할 수 있다.
전자 장치(801)는 808 동작에서 명령 수행 결과를 출력할 수 있다. 다양한 실시 예에 따르면 전자 장치(801)는 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보 또는 상기 방식의 적어도 일부의 조합 등과 같은 다양한 방식의 정보로 출력할 수 있다.
도 8b를 참조하면, 일 실시예에 따라 외부 장치에 제어 명령이 전송되도록 하는 태스크를 수행하기 위한 정보는 822 내지 830 동작과 관련된 상태들의 시퀀스 정보를 포함할 수 있다. 전자 장치(801)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401)는 822 내지 830 동작과 관련된 상태들의 시퀀스 정보 중 822 동작 및 830 동작과 관련된 상태들의 시퀀스 정보를 이용하여 822 동작 및 830 동작이 수행되도록 할 수 있다. 일 실시예에 따르면 822 동작 및 830 동작 과 관련된 상태들의 시퀀스 정보는 전자 장치(801)가 822 동작 및 830 동작을 각각 또는 순차적으로 수행하도록 하는 정보를 포함할 수 있다. 일 실시예에 따르면, 전자 장치(801)가 822 동작 및 830 동작을 각각 또는 순차적으로 수행하도록 하는 정보는 룰 패스(rule path) 정보를 적어도 일부 포함할 수 있다. 예를 들면, 룰 패스 정보는 전자 장치(801)가 특정 어플리케이션을 실행하고 실행된 특정 어플리케이션을 통해 822 동작 및 830 동작을 각각 또는 순차적으로 수행할 수 있도록 하는 정보를 포함하거나, 전자 장치(801)에서 사용자의 명령을 수행하기 위한 각 동작들의 상태 정보를 포함할 수 있다.
전자 장치(801)는 822 동작에서 외부 장치(803)(예를 들면, 도 4 및 도 5의 제1 내지 제N 외부 장치들(403-1~403-N) 중 선택된 외부 장치)에 대한 정보와 명령을 서버(809)에 전송할 수 있다. 상기 명령은, 예를 들어, 사용자의 입력(예: 음성, 터치, 또는 제스쳐 입력 등) 및 전자 장치(801)에서 수신된 외부 장치(803)로부터의 신호에 적어도 일부 기반하여, 외부 장치(803)에서 수행하기 위한 태스크와 관련된 정보를 적어도 일부 포함할 수 있다.
다양한 실시예에 따르면, 서버(809)는 외부 장치(803)와 연결되고, 외부 장치(803)를 관리하며, 외부 장치(803)에 정보를 전송할 수 있는 서버일 수 있다. 일 실시예에 따르면, 서버(809)는 전자 장치(801)로부터 수신된 정보(예: 외부 장치에 대한 정보 또는 명령)에 기반하여 외부 장치(803)에 제공할 명령을 획득할 수 있다. 일 실시예에 따르면, 외부 장치(803)에 제공할 명령은 전자 장치(801)로부터 수신한 명령과 다를 수 있다. 예를 들면, 서버(809)는 장치 인식 정보(예: 디바이스 ID)별 수행할 수 있는 기능에 대한 리스트 정보를 저장하고, 전자 장치(801)로부터 수신된 외부 장치에 대한 장치 인식 정보(예: 디바이스 ID)에 기반하여 외부 장치를 선택할 수 있고, 선택된 외부 장치가 수행할 수 있는 기능에 대한 리스트 정보를 이용하여 외부 장치(803)에 제공할 명령을 획득할 수 있다. 다양한 실시예에 따르면 서버(809)는 디바이스 ID별 수행할 수 있는 기능에 대한 정보를 외부 장치(803) 로부터 수신하여 저장하거나, 외부 장치(803)의 제조사 또는 외부 장치(803)의 관련 서버로부터 수신하여 저장할 수 있다.
서버(809)는 824 동작에서 외부 장치(803)에 명령을 전송할 수 있다. 일 실시예에 따르면, 서버(809)는 자신이 관리하는 복수의 전자 장치들 중 선택된 외부 장치(803)에 무선 통신을 통해 전자 장치(801)로부터 수신된 정보(예: 사용자 입력에 기반한 데이터)를 기반으로 획득된 명령을 전송할 수 있다.
외부 장치(803)는 826 동작에서 명령을 수행할 수 있다. 일 실시예에 따르면 외부 장치(803)는 연결 서버(809)로부터 수신된 명령을 기반으로 명령에 대응된 기능을 판단하고, 판단된 기능을 수행할 수 있다
외부 장치(803)는 828 동작에서 명령 수행 결과를 전자 장치(801)로 전송할 수 있다. 다양한 실시예에 따르면 명령 수행 결과는 명령에 따른 기능 수행 성공, 명령에 따른 기능 수행 실패, 또는 명령에 따른 기능 수행 결과를 알리는 정보를 포함할 수 있다.
전자 장치(801)는 830 동작에서 명령 수행 결과를 출력할 수 있다. 다양한 실시 예에 따르면 전자 장치(801)는 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보 또는 상기 방식의 적어도 하나 이상의 조합 등과 같은 다양한 방식의 정보로 출력할 수 있다.
도 9a 내지 도 9n은 다양한 실시예에 따라 전자 장치에서 외부 장치에 제어 명령이 전송되도록 하는 태스크를 수행하는 예를 나타낸 도면이다. 다양한 실시 예에 따르면 전자 장치는 웨어러블 기기(901), 리모컨(905), 또는 스마트 폰(907)(이하, 웨어러블 기기(901), 리모컨(905) 또는 스마트 폰(907)을 전자 장치라고도 함) 등과 같은 다양한 형태의 전자 장치일 수 있으며, 이 외에 다른 형태의 전자 장치일 수도 있다.
도 9a를 참조하면, 전자 장치(901)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401 또는 도 8a 및 8b의 801)는 사용자로부터 발화된 음성 예를 들면, "저기서 000 노래 틀어봐"라는 음성을 수신할 수 있고, 스피커(903-1)로부터 신호를 수신할 수 있다. 전자 장치(901)는 음성 신호와 관련된 음성 데이터 "노래 틀어봐"를 기반으로 오디오 재생이라는 명령을 수행하는 장치 리스트들에 대한 제1 정보를 획득할 수 있다. 다양한 실시예에 따르면 전자 장치(901)는 수신된 음성 신호를 기반으로 획득된 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보에 대응하는 제1 정보(예를 들면, 외부 장치 리스트)를 획득할 수 있다. 일 실시예에 따르면 전자 장치(901)는 수신된 음성 신호를 기반으로 자체적으로 음성 인식 및 자연어 이해를 수행하여 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보에 대응하는 제1 정보를 획득하거나, 외부의 서버(예: 서버(405))에 음성 신호(또는 음성 신호에 대응된 데이터)를 전송하고, 서버로부터 음성 인식 및 자연어 이해 수행 결과에 따른 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보에 대응된 제1 정보를 수신할 수 있다.
전자 장치(901)는 스피커(903-1)로부터 수신된 신호의 위상차에 기반하여 전자 장치(901)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다. 일 실시예에 따르면, 전자 장치(901)는 스피커(903-1)를 포함하는 주변 장치들로부터 신호를 수신하고, 주변 장치들로부터 수신되는 신호들 각각의 위상차에 기반하여 전자 장치(901)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다.
전자 장치(901)는 제1 정보 및 제2 정보를 기반으로 사용자 입력에 대응된 명령을 수행할 외부 장치가 스피커(903-1)임을 확인할 수 있다.
전자 장치(901)는 확인된 스피커(903-1)에 000 노래를 재생하기 위한 명령을 전송하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 예를 들면, 000 노래를 재생하기 위한 명령을 전송하는 태스크를 수행하기 위한 정보는 000 노래 제목, 스피커(903-1)가 000 노래를 재생하도록 하는 명령을 포함할 수 있다. 전자 장치(901)는 획득된 정보에 따라 태스크를 수행할 수 있다. 예를 들면, 전자 장치(901)는 확인된 스피커(903-1)에 000 노래를 재생하기 위한 명령을 전송하는 태스크를 수행하기 위한 정보에 따라 확인된 스피커(903-1)에 000 노래를 재생하기 위한 명령을 직접 전송할 수도 있고, 서버(예를 들면, 도 8의 809)를 통해 전송할 수도 있다. 스피커(903)는 명령이 수신됨에 따라 000 노래를 출력하는 기능을 시작함으로써 명령을 수행할 수 있다. 스피커(903-1)는 000 노래 출력 성공, 000 노래 출력 실패, 또는 000 노래 출력 완료를 알리는 정보를 포함하는 명령 수행 결과를 전자 장치(901)에 전송할 수 있다. 전자 장치(901)는 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보 또는 상기 방식의 적어도 일부 조합된 방식과 같은 다양한 정보로 출력할 수 있다. 다양한 실시예에 따르면, 스피커(903-1)도 명령 수행 결과를 소리 정보, 디스플레이 정보, 또는 진동 정보와 같은 다양한 정보로 출력할 수 있다.
도 9b를 참조하면, 전자 장치(901)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401 또는 도 8a 및 8b의 801)는 사용자로부터 "나랑 우리 콩이랑 찍은 제일 최근 사진 5장만 저기서 뽑아줘"라는 음성을 수신할 수 있고, 프린터(903-2)로부터 신호를 수신할 수 있다. 전자 장치(901)는 수신된 음성 신호의 적어도 일부 예를 들면,"사진", 또는 "뽑아줘"를 기반으로 사진 출력이라는 명령을 수행하는 장치 리스트들에 대한 제1 정보를 획득할 수 있다. 다양한 실시예에 따르면 전자 장치(901)는 수신된 음성 신호를 기반으로 획득된 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보에 대응하는 제1 정보(예를 들면, 외부 장치 리스트)를 획득할 수 있다. 일 실시예에 따르면 전자 장치(901)는 수신된 음성 신호를 기반으로 자체적으로 음성 인식 및 자연어 이해를 수행하여 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보에 대응하는 제1 정보를 획득하거나, 외부의 서버(예: 서버(405))에 음성 신호(또는 음성 신호에 대응된 데이터)를 전송하고, 서버로부터 음성 인식 및 자연어 이해 수행 결과에 따른 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보에 대응된 제1 정보를 수신할 수 있다.
전자 장치(901)는 프린터(903-2)로부터 수신된 신호의 위상차에 기반하여 전자 장치(901)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다. 일 실시예에 따르면, 전자 장치(901)는 프린터(903-2)를 포함하는 주변 장치들로부터 수신되는 신호들 각각의 위상차에 기반하여 전자 장치(901)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다.
전자 장치(901)는 제1 정보 및 제2 정보를 기반으로 사용자 입력에 기반한 명령을 수행할 외부 장치가 프린터(903-2)임을 확인할 수 있다. 전자 장치(901)는 확인된 프린터(903-2)에 나랑 콩이랑 찍은 사진 5장을 출력하라는 명령을 전송하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 예를 들면, 나랑 콩이랑 찍은 사진 5장을 출력하라는 명령을 전송하는 태스크를 수행하기 위한 정보는 프린터(903-2)가 나랑 콩이랑 찍은 사진을 검색하도록 하고 검색된 사진 중 5장을 출력하도록 하는 명령을 포함할 수 있다. 전자 장치(901)는 획득된 정보에 따라 태스크를 수행할 수 있다. 예를 들면, 전자 장치(901)는 확인된 프린터(903-2)에 나랑 콩이랑 찍은 사진 5장을 출력하라는 명령을 전송하는 태스크를 수행하기 위한 정보에 따라 프린터(903-2)에 명령을 직접 전송할 수도 있고, 서버(예를 들면, 도 8의 809)를 통해 전송할 수도 있다. 또 다른 예를 들면, 전자 장치(901)는 출력할 사진과 관련된 데이터를 프린터(903-2)로 전송할 수 있다. 프린터(903-2)는 명령이 수신됨에 따라 나랑 콩이랑 찍은 사진 5장을 클라우드 또는 네트워크 및 계정을 통해 연결된 다른 디바이스의 디렉토리를 검색하여 획득하고, 획득된 사진을 출력함으로써, 명령을 수행할 수 있다. 프린터(903-2)는 사진 출력 성공, 사진 출력 실패, 또는 사진 출력 완료를 알리는 정보를 포함하는 명령 수행 결과를 전자 장치(901)에 전송할 수 있다. 전자 장치(901)는 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보, 또는 상기 방식의 적어도 하나 이상의 조합과 같은 다양한 정보로 출력할 수 있다. 다양한 실시예에 따르면, 프린터(903-2)도 명령 수행 결과를 소리 정보, 디스플레이 정보, 또는 진동 정보와 같은 다양한 정보로 출력할 수 있다.
도 9c를 참조하면, 전자 장치(901)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401 또는 도 8a 및 8b의 801)는 사용자로부터 발화된"저기 있는 모든 파일 클라우드에 보내줘"라는 음성을 수신할 수 있고, 카메라(또는 저장매체, 이하 '카메라'로 설명함)(903-3)로부터의 신호를 수신할 수 있다. 전자 장치(901)는 음성 신호의 적어도 일부 예를 들면, "파일", "보내줘"를 기반으로 파일 전송이라는 명령을 수행하는 장치 리스트들에 대한 제1 정보를 획득할 수 있다.
전자 장치(901)는 카메라(903-3)로부터 수신된 신호의 위상차에 기반하여 전자 장치(901)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다. 일 실시예에 따르면, 전자 장치(901)는 카메라(903-3)를 포함하는 주변 장치들로부터 신호를 수신하고, 수신된 신호들 각각의 위상차에 기반하여 전자 장치(901)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다.
전자 장치(901)는 제1 정보 및 제2 정보를 기반으로 사용자 입력에 기반한 명령을 수행할 외부 장치가 카메라(903-3)임을 확인할 수 있다. 전자 장치(901)는 확인된 카메라(903-3)에 모든 파일을 클라우드에 전송하라는 명령을 전송하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 예를 들면, 모든 파일을 클라우드에 전송하라는 명령을 전송하는 태스크를 수행하기 위한 정보는 카메라(903-3)가 모든 파일을 검색하고, 검색된 모든 파일을 클라우드에 전송하도록 하기 위한 명령를 포함할 수 있다. 전자 장치(901)는 획득된 정보에 따라 태스크를 수행할 수 있다. 예를 들면, 전자 장치(901)는 확인된 카메라(903-3)에 모든 파일을 클라우드에 전송하라는 명령을 전송하는 태스크를 수행하기 위한 정보에 따라 카메라(903-3)에 명령을 직접 전송할 수도 있고, 서버(예를 들면, 도 8의 809)을 통해 전송할 수도 있다. 카메라(903-3)는 명령이 수신됨에 따라 통신 회로를 통해 클라우드 기기(예를 들면, 외부 서버 또는 PC)와 통신을 연결하고, 연결된 클라우드 기기의 지정된 디렉토리 또는 새로운 디렉토리에 모든 파일을 저장함으로써, 명령을 수행할 수 있다. 카메라(903-3)는 파일 전송 성공, 파일 전송 실패, 또는 파일 전송 완료를 알리는 정보를 포함하는 명령 수행 결과를 전자 장치(901)에 전송할 수 있다. 전자 장치(901)는 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보, 또는 상기 방식의 적어도 하나 이상의 조합과 같은 다양한 정보로 출력할 수 있다. 다양한 실시예에 따르면, 카메라(903-3)도 명령 수행 결과를 소리 정보, 디스플레이 정보, 또는 진동 정보와 같은 다양한 정보로 출력할 수 있다.
도 9d를 참조하면, 전자 장치(905)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401 또는 도 8a 및 8b의 801)는 리모컨일 수 있으며, 지문 센서(915)(예를 들면, 도 2의 센서 모듈 240)를 포함할 수 있다. 일 실시예에 따르면 전자 장치(905)는 지문 센서(915)에 의해 인식된 지문이 등록된 지문 정보와 일치하는 경우 사용자 입력을 수신할 수 있도록 설정될 수 있다. 전자 장치(905)는 사용자로부터 발화된 음성 예를 들면, "저거 켜봐"라는 음성을 수신할 수 있고, 스마트 전등(903-4)으로부터 신호를 수신할 수 있다. 전자 장치(905)는 음성 신호의 적어도 일부 예를 들면,"켜봐"를 기반으로 "켜라"라는 명령을 수행하는 장치 리스트들에 대한 제1 정보를 획득할 수 있다.
전자 장치(905)는 스마트 전등(903-4)으로부터 수신된 신호의 위상차에 기반하여 전자 장치(905)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다. 일 실시 예에 따르면, 전자 장치(905)는 스피커(903-1)를 포함하는 주변 장치들로부터 수신되는 신호들의 위상차에 기반하여 전자 장치(905)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다.
전자 장치(905)는 제1 정보 및 제2 정보를 기반으로 사용자 입력에 기반한 명령을 수행할 외부 장치가 스마트 전등(903-4)임을 확인할 수 있다. 전자 장치(905)는 확인된 스마트 전등(903-4)에 켜라는 명령을 전송하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 예를 들면, 켜라는 명령을 전송하는 태스크를 수행하기 위한 정보는 스마트 전등(903-4)이 전원 온(on) 하도록 하는 명령을 포함할 수 있다. 전자 장치(905)는 획득된 정보에 따라 태스크를 수행할 수 있다. 예를 들면, 전자 장치(905)는 확인된 스마트 전등(903-4)에 켜라는 명령을 전송하는 태스크를 수행하기 위한 정보에 따라 스마트 전등(903-4)에 명령을 직접 전송할 수도 있고, 서버(예를 들면, 도 8의 809)를 통해 전송할 수도 있다. 스마트 전등(903-4)은 명령이 수신됨에 따라 전등을 켬으로써 명령을 수행할 수 있다. 스마트 전등(903-4)은 전등 켜기 성공, 전등 켜기 실패, 또는 전등 켜기 완료를 알리는 정보를 포함하는 명령 수행 결과를 전자 장치(905)에 전송할 수 있다. 전자 장치(905)는 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보 또는 상기 방식의 적어도 일부 조합된 방식과 같은 다양한 정보로 출력할 수 있다. 스마트 전등(903-4)도 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보 또는 상기 방식의 적어도 일부 조합된 방식과 같은 다양한 정보로 출력할 수 있다.
도 9e를 참조하면, 전자 장치(901)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401 또는 도 8a 및 8b의 801)는 사용자로부터 발화된 음성 예를 들면, "저거 10분 있다 꺼줘"라는 음성을 수신할 수 있고, 스마트 에어컨(903-5)으로부터 신호를 수신할 수 있다. 전자 장치(901)는 수신된 음성 신호의 적어도 일부 예를 들면, "꺼줘"를 기반으로 "끄다"라는 명령을 수행하는 장치 리스트들에 대한 제1 정보를 획득할 수 있다.
전자 장치(901)는 스마트 에어컨(903-5)으로부터 수신된 신호의 위상차에 기반하여 전자 장치(901)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다. 일 실시예에 따르면, 전자 장치(901)는 스마트 에어컨(903-5)을 포함하는 주변 장치들로부터 수신되는 신호들의 위상차에 기반하여 전자 장치(901)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다.
전자 장치(901)는 제1 정보 및 제2 정보를 기반으로 사용자 입력에 기반한 명령을 수행할 외부 장치가 스마트 에어컨(903-5)임을 확인할 수 있다. 전자 장치(901)는 확인된 스마트 에어컨(903-5)에 10분 후 끄라는 명령을 전송하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 예를 들면, 10분 후 끄라는 명령을 전송하는 태스크를 수행하기 위한 정보는 10분을 나타내는 시간 정보와 스마트 에어컨(903-5)이 시간 정보에 기반하여 전원 오프(off) 하도록 하는 명령을 포함할 수 있다. 전자 장치(901)는 획득된 정보에 따라 태스크를 수행할 수 있다. 예를 들면, 전자 장치(901)는 확인된 스마트 에어컨(903-5)에 10분 후 끄라는 명령을 전송하는 태스크를 수행하기 위한 정보에 따라 스마트 에어컨(903-5)에 명령을 직접 전송할 수도 있고, 서버(예를 들면, 도 8의 809)을 통해 전송할 수도 있다. 스마트 에어컨(903-5)은 명령이 수신됨에 따라 10분 후 에어컨 동작을 멈춤으로써 명령을 수행할 수 있다. 스마트 에어컨(903-5)은 에어컨 끄기 성공, 에어컨 끄기 실패, 또는 에어컨 끄기 완료를 알리는 정보를 포함하는 명령 수행 결과를 전자 장치(901)에 전송할 수 있다. 전자 장치(901)는 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보, 또는 상기 방식의 적어도 일부 조합된 방식과 같은 다양한 정보로 출력할 수 있다. 스마트 에어컨(903-5)도 명령 수행 결과를 소리 정보, 디스플레이 정보, 또는 진동 정보와 같은 다양한 정보로 출력할 수 있다.
도 9f를 참조하면, 전자 장치(901)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401 또는 도 8a 및 8b의 801)는 사용자로부터 발화된 음성 예를 들면, "저기서 000 좀 빨리 틀어봐"라는 음성을 수신할 수 있고, 스마트 냉장고(903-6)로부터 신호를 수신할 수 있다. 전자 장치(901)는 수신된 신호의 적어도 일부 예를 들면, "000"및"틀어봐"를 기반으로 "컨텐츠 재생"이라는 명령을 수행하는 장치 리스트들에 대한 제1 정보를 획득할 수 있다.
전자 장치(901)는 스마트 냉장고(903-6)로부터 수신된 신호에 기반하여 전자 장치(901)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다. 일 실시예에 따르면, 전자 장치(901)는 스마트 냉장고(903-6)를 포함하는 주변 장치들로부터 신호를 수신하고, 수신된 신호들 각각의 위상차에 기반하여 전자 장치(901)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다.
전자 장치(901)는 제1 정보 및 제2 정보를 기반으로 사용자 입력에 기반한 명령을 수행할 외부 장치가 스마트 냉장고(903-6)임을 확인할 수 있다. 전자 장치(901)는 확인된 스마트 냉장고(903-6)에 000을 재생하라는 명령을 전송하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 예를 들면, 000을 재생하라는 명령을 전송하는 태스크를 수행하기 위한 정보는 000에 대응된 컨텐츠 제목, 스마트 냉장고(903-6)가 000에 대응된 컨텐츠를 재생하도록 하는 명령을 포함할 수 있다. 전자 장치(901)는 획득된 정보에 따라 태스크를 수행할 수 있다. 예를 들면, 전자 장치(901)는 확인된 스마트 냉장고(903-6)에 000을 재생하라는 명령을 전송하는 태스크를 수행하기 위한 정보에 따라 스마트 냉장고(903-6)에 명령을 직접 전송할 수도 있고, 서버(예를 들면, 도 8의 809)를 통해 전송할 수도 있다. 스마트 냉장고(903-6)는 명령이 수신됨에 따라 000 컨텐츠를 검색하고, 검색된 000 컨텐츠를 재생함으로써 명령을 수행할 수 있다. 스마트 냉장고(903-6)는 000 컨텐츠 재생 성공, 000 컨텐츠 재생 실패, 또는 000 컨텐츠 재생 완료를 알리는 정보를 포함하는 명령 수행 결과를 전자 장치(901)에 전송할 수 있다. 전자 장치(901)는 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보, 또는 상기 방식의 적어도 일부 조합된 방식과 같은 다양한 정보로 출력할 수 있다. 스마트 냉장고(903-6)도 명령 수행 결과를 소리 정보, 디스플레이 정보, 또는 진동 정보와 같은 다양한 정보로 출력할 수 있다.
도 9g를 참조하면, 전자 장치(907)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401 또는 도 8a 및 8b의 801)는 사용자로부터 발화된 음성 예를 들면, "저거 끓기 시작하면 그냥 꺼"라는 음성을 수신할 수 있고, 스마트 쿡탑(903-7)으로부터 신호를 수신할 수 있다. 전자 장치(907)는 수신된 음성 신호의 적어도 일부, 예를 들면 "끓기"및"꺼"를 기반으로 "끓이기"또는"끄다"이라는 명령을 수행하는 장치 리스트들에 대한 제1 정보를 획득할 수 있다.
전자 장치(907)는 스마트 쿡탑(903-7)으로부터 수신된 신호에 기반하여 전자 장치(907)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다. 일 실시 예에 따르면, 전자 장치(907)는 스마트 쿡탑(903-7)을 포함하는 주변 장치들로부터 신호들을 수신하고, 수신되는 신호들 각각의 위상차에 기반하여 전자 장치(907)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다.
전자 장치(907)는 제1 정보 및 제2 정보를 기반으로 사용자 입력에 기반한 명령을 수행할 외부 장치가 스마트 쿡탑(903-7)임을 확인할 수 있다. 전자 장치(907)는 확인된 스마트 쿡탑(903-7)에 끓으면 끄라는 명령을 전송하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 예를 들면, 끓으면 끄라는 명령을 전송하는 태스크를 수행하기 위한 정보는 전원 오프 기준 온도 정보, 전원 오프 온도 정보를 기반으로 스마트 쿡탑(903-7)이 전원을 오프하도록 하기 위한 명령을 포함할 수 있다.
전자 장치(907)는 획득된 정보에 따라 태스크를 수행할 수 있다. 예를 들면, 전자 장치(907)는 확인된 스마트 쿡탑(903-7)에 끓으면 끄라는 명령을 전송하는 태스크를 수행하기 위한 정보에 따라 스마트 쿡탑(903-7)에 명령을 직접 전송할 수도 있고, 서버(예를 들면, 도 8의 809)를 통해 전송할 수도 있다. 스마트 쿡탑(903-7)은 명령이 수신됨에 따라 온도 센서를 통해 온도를 측정하여 온도가 지정된 온도 정보에 대응되면 열발생 장치의 열발생을 중단함으로써, 명령을 수행할 수 있다. 스마트 쿡탑(903-7)은 끓기 시작함에 따라 끄기 성공, 끓기 시작함에 따라 끄기 실패, 또는 끓기 시작함에 따라 끄기 완료를 알리는 정보를 포함하는 명령 수행 결과를 전자 장치(907)에 전송할 수 있다. 전자 장치(907)는 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보, 또는 상기 방식의 적어도 일부 조합된 방식과 같은 다양한 정보로 출력할 수 있다. 다양한 실시 예에 따르면 스마트 쿡탑(903-7)도 명령 수행 결과를 소리 정보, 디스플레이 정보, 또는 진동 정보와 같은 다양한 정보로 출력할 수 있다.
도 9h를 참조하면, 전자 장치(907)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401 또는 도 8a 및 8b의 801)는 사용자로부터 발화된 음성 예를 들면, "저거 충전해야 돼?"라는 음성을 수신할 수 있고, 무선 스피커(903-8)로부터 신호를 수신할 수 있다.
전자 장치(907)는 수신된 음성 신호의 적어도 일부 예를 들면, "충전"과 연관된 장치 리스트들에 대한 제1 정보를 획득할 수 있다.
전자 장치(907)는 무선 스피커(903-8)로부터 수신된 신호에 기반하여 전자 장치(907)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다. 일 실시예에 따르면, 전자 장치(907)는 무선 스피커(903-8)를 포함하는 주변 장치들로부터 수신되는 신호들 각각의 위상차에 기반하여 전자 장치(907)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다.
전자 장치(907)는 제1 정보 및 제2 정보를 기반으로 사용자 입력에 기반한 명령을 수행할 외부 장치가 무선 스피커(903-8)임을 확인할 수 있다. 전자 장치(907)는 확인된 무선 스피커(903-8)에 충전 관련 정보를 요청하는 명령을 전송하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 예를 들면, 충전 관련 정보를 요청하는 명령을 전송하는 태스크를 수행하기 위한 정보는 요구되는 충전 관련 정보(전체 배터리 용량 정보 또는 배터리 잔량 정보 또는 배터리 충전까지 남은 시간 정보), 무선 스피커(903-8)가 요구되는 충전 관련 정보를 제공하도록 하기 위한 명령을 포함할 수 있다. 전자 장치(907)는 획득된 정보에 따라 태스크를 수행할 수 있다. 예를 들면, 전자 장치(907)는 확인된 무선 스피커(903-8)에 충전 관련 정보를 요청하는 명령을 전송하는 태스크를 수행하기 위한 정보에 따라 무선 스피커(903-8)에 명령을 직접 전송할 수도 있고, 서버(예를 들면, 도 8의 809)를 통해 전송할 수도 있다. 무선 스피커(903-8)는 명령이 수신됨에 따라 전체 배터리 용량 정보 또는 배터리 잔량 정보 또는 배터리 충전까지 남은 시간 정보를 판단하고, 전체 배터리 용량 정보 또는 배터리 잔량 정보 또는 배터리 충전까지 남은 시간 정보를 포함하는 충전 관련 정보를 전자 장치(907)에 전송함으로써, 명령을 수행할 수 있다. 무선 스피커(903-8)은 충전 관련 정보 전송 성공, 충전 관련 정보 전송 실패, 또는 충전 관련 정보 전송 완료를 포함하는 명령 수행 결과를 전자 장치(907)에 전송할 수 있다. 전자 장치(907)는 수신된 충전 관련 정보 또는 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보, 또는 상기 방식의 적어도 일부 조합된 방식과 같은 다양한 정보로 출력할 수 있다. 다양한 실시 예에 따르면 무선 스피커(903-8)도 충전 관련 정보 또는 명령 수행 결과를 소리 정보, 디스플레이 정보, 또는 진동 정보와 같은 다양한 정보로 출력할 수 있다. 예를 들면, 충전 관련 정보 또는 명령 수행 결과는 텍스트로 디스플레이되거나, LED(light emitting display) 패턴으로 표시되거나, 음성으로 출력될 수 있다.
도 9i를 참조하면, 전자 장치(901)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401 또는 도 8a 및 8b의 801)는 사용자로부터 발화된 음성 예를 들면, "저거 충전해야 돼?"라는 음성을 수신할 수 있고, 무선 이어폰(903-9)으로부터 신호를 수신할 수 있다. 전자 장치(901)는 수신된 음성 신호의 적어도 일부 예를 들면, "충전"과 연관된 장치 리스트들에 대한 제1 정보를 획득할 수 있다.
전자 장치(901)는 무선 이어폰(903-9)으로부터 수신된 신호에 기반하여 전자 장치(901)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다. 일 실시예에 따르면, 전자 장치(901)는 무선 이어폰(903-9)을 포함하는 주변 장치들로부터 수신되는 신호들 각각의 위상차에 기반하여 전자 장치(901)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다.
전자 장치(901)는 제1 정보 및 제2 정보를 기반으로 사용자 입력에 기반한 명령을 수행할 외부 장치가 무선 이어폰(903-9)임을 확인할 수 있다. 전자 장치(901)는 확인된 무선 이어폰(903-9)에 충전 관련 정보를 요청하는 명령을 전송하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 예를 들면, 충전 관련 정보를 요청하는 명령을 전송하는 태스크를 수행하기 위한 정보는 요구되는 충전 관련 정보(전체 배터리 용량 정보 또는 배터리 잔량 정보 또는 배터리 충전까지 남은 시간 정보), 무선 이어폰(903-9)이 요구되는 충전 관련 정보를 제공하도록 하기 위한 명령을 포함할 수 있다. 전자 장치(901)는 획득된 정보에 따라 태스크를 수행할 수 있다. 예를 들면, 전자 장치(901)는 확인된 무선 이어폰(903-9)에 충전 관련 정보를 요청하는 명령을 전송하는 태스크를 수행하기 위한 정보에 따라 무선 이어폰(903-9)에 명령을 직접 전송할 수도 있고, 서버(예를 들면, 도 8의 809)를 통해 전송할 수도 있다. 무선 이어폰(903-9)은 명령이 수신됨에 따라 전체 배터리 용량 정보 또는 배터리 잔량 정보 또는 배터리 충전까지 남은 시간 정보를 판단하고, 전체 배터리 용량 정보 또는 배터리 잔량 정보 또는 배터리 충전까지 남은 시간 정보를 포함하는 충전 관련 정보를 전자 장치(901)에 전송함으로써, 명령을 수행할 수 있다. 무선 이어폰(903-9)은 충전 관련 정보 전송 성공, 충전 관련 정보 전송 실패, 또는 충전 관련 정보 전송 완료를 포함하는 명령 수행 결과를 전자 장치(901)에 전송할 수 있다. 전자 장치(901)는 수신된 충전 관련 정보 또는 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보 또는 상기 방식의 적어도 일부 조합된 방식과 같은 다양한 정보로 출력할 수 있다. 다양한 실시 예에 따르면 무선 이어폰(903-9)도 충전 관련 정보 또는 명령 수행 결과를 소리 정보 또는 진동 정보와 같은 다양한 정보로 출력할 수 있다. 예를 들면, 전자 장치(901)는 디스플레이(910)에 배터리 충전까지 남은 시간이 30분임을 나타내는 정보를 표시할 수 있다.
도 9j를 참조하면, 전자 장치(901)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401 또는 도 8a 및 8b의 801)는 사용자로부터 발화된 음성 예를 들면, "저거 몇분 남았어?"라는 음성을 수신할 수 있고, 스마트 세탁기(903-10)로부터 신호를 수신할 수 있다. 전자 장치(901)는 수신된 음성 신호의 적어도 일부 예를 들면, "분","남다"와 연관된 장치 리스트들에 대한 제1 정보를 획득할 수 있다.
전자 장치(901)는 스마트 세탁기(903-10)로부터 수신된 신호를 기반으로 전자 장치(901)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다. 일 실시예에 따르면, 전자 장치(901)는 스마트 세탁기(903-10)를 포함하는 주변 장치들로부터 수신되는 신호들 각각의 위상차에 기반하여 전자 장치(901)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다.
전자 장치(901)는 제1 정보 및 제2 정보를 기반으로 사용자 입력에 기반한 명령을 수행할 외부 장치가 스마트 세탁기(903-10)임을 확인할 수 있다. 전자 장치(901)는 확인된 스마트 세탁기(903-10)에 진행 상황 정보를 요청하는 명령을 전송하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 예를 들면, 진행 상황 정보를 요청하는 명령을 전송하는 태스크를 수행하기 위한 정보는 스마트 세탁기(903-10)가 동작중인 기능의 동작 완료까지 남은 시간 정보를 제공하도록 하기 위한 명령을 포함할 수 있다. 전자 장치(901)는 획득된 정보에 따라 태스크를 수행할 수 있다. 예를 들면, 전자 장치(901)는 확인된 스마트 세탁기(903-10)에 진행 상황 정보를 요청하는 명령을 전송하는 태스크를 수행하기 위한 정보에 따라 스마트 세탁기(903-10)에 명령을 직접 전송할 수도 있고, 서버(예를 들면, 도 8의 809)를 통해 전송할 수도 있다. 스마트 세탁기(903-10)는 명령이 수신됨에 따라 진행 상황 정보(예를 들면, 동작중인 기능의 동작 완료까지 남은 시간)를 판단하고, 진행 상황 정보를 전자 장치(901)에 전송함으로써, 명령을 수행할 수 있다. 스마트 세탁기(903-10)는 진행 상황 정보 전송 성공, 진행 상황 정보 전송 실패, 또는 진행 상황 정보 전송 완료를 포함하는 명령 수행 결과를 전자 장치(901)에 전송할 수 있다. 전자 장치(901)는 수신된 진행 상황 정보 또는 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보 또는 상기 방식의 적어도 일부 조합된 방식과 같은 다양한 정보로 출력할 수 있다. 예를 들면, 전자 장치(901)는 디스플레이(910)에 "탈수중 5분 남았습니다"와 같은 정보를 표시할 수 있다. 다양한 실시 예에 따르면 스마트 세탁기(903-10)도 진행 상황 정보 또는 명령 수행 결과를 소리 정보, 디스플레이 정보, 또는 진동 정보와 같은 다양한 정보로 출력할 수 있다.
도 9k를 참조하면, 전자 장치(907)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401 또는 도 8a 및 8b의 801)는 사용자로부터 발화된 음성 예를 들면,"저게 누구야?"라는 음성을 수신할 수 있고, 스마트 TV(903-11)로부터 신호를 수신할 수 있다.
전자 장치(907)는 수신된 음성 신호의 적어도 일부, 예를 들면, "저게", "누구야?"를 기반으로 인물 정보 제공이라는 명령을 수행하기 위한 장치 리스트들에 대한 제1 정보를 획득할 수 있다.
전자 장치(907)는 스마트 TV(903-11)로부터 수신된 신호를 기반으로 전자 장치(907)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다. 일 실시예에 따르면, 전자 장치(907)는 스마트 TV(903-11)를 포함하는 주변 장치들로부터 수신되는 신호들 각각의 위상차에 기반하여 전자 장치(907)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다.
전자 장치(907)는 제1 정보 및 제2 정보를 기반으로 사용자 입력에 기반한 명령을 수행할 외부 장치가 스마트 TV(903-11)임을 확인할 수 있다. 전자 장치(907)는 확인된 스마트 TV(903-11)에 디스플레이되고 있는 이미지에 대한 정보를 요청하는 명령을 전송하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 예를 들면, 특정 시간에 디스플레이된 이미지에 대한 정보를 요청하는 명령을 전송하는 태스크를 수행하기 위한 정보는 시간 정보(예를 들면, 사용자로부터 명령 또는 입력이 수행된 특정 시간), 스마트 TV(903-11)가 특정 시간에 디스플레이된 이미지에 대한 정보를 제공하도록 하기 위한 명령을 포함할 수 있다. 전자 장치(907)는 획득된 정보에 따라 태스크를 수행할 수 있다. 예를 들면, 전자 장치(907)는 확인된 스마트 TV(903-11)에 디스플레이되고 있는 이미지에 대한 정보를 요청하는 명령을 전송하는 태스크를 수행하기 위한 정보에 따라 스마트 TV(903-11)에 명령을 직접 전송할 수도 있고, 서버(예를 들면, 도 8의 809)를 통해 전송할 수도 있다. 다양한 실시 예에 따르면 스마트 TV(903-11)는 명령이 수신됨에 따라 특정 시간에 디스플레이된 이미지를 캡쳐하고, 외부 서버를 통해 캡쳐된 이미지를 검색하여 키워드를 추출하고, 이미지 검색 결과와 추출된 키워드를 기반으로 디스플레이되고 있는 이미지에 대한 정보를 전자 장치(907)에 전송함으로써, 명령을 수행할 수 있다. 스마트 TV(903-11)는 특정 시간에 디스플레이 된 이미지에 대한 정보 전송 성공, 특정 시간에 디스플레이된 이미지에 대한 정보 전송 실패, 또는 특정 시간에 디스플레이된 이미지에 대한 정보 전송 완료를 포함하는 명령 수행 결과를 전자 장치(907)에 전송할 수 있다. 전자 장치(907)는 수신된 이미지에 대한 정보 또는 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보 또는 상기 방식의 적어도 일부 조합된 방식과 같은 다양한 정보로 출력할 수 있다. 예를 들면, 전자 장치(907)는 디스플레이(917)에 "연예인 OOO입니다."와 같은 정보를 표시할 수 있다. 다양한 실시 예에 따르면 스마트 TV(903-11)도 특정 시간에 디스플레이된 이미지에 대한 정보 또는 명령 수행 결과를 소리 정보, 디스플레이 정보, 또는 진동 정보와 같은 다양한 정보로 출력할 수 있다.
도 9l를 참조하면, 전자 장치(907)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401 또는 도 8a 및 8b의 801)는 사용자로부터 발화된 음성 예를 들면, "저거 필터 교체한지 얼마나 됐지?"라는 음성을 수신할 수 있고, 스마트 정수기(903-12)로부터 신호를 수신할 수 있다. 전자 장치(907)는 수신된 음성 신호의 적어도 일부 예를 들면, "필터", "교체", "얼마나"를 기반으로 연관된 장치 리스트들에 대한 제1 정보를 획득할 수 있다.
전자 장치(907)는 스마트 정수기(903-12)로부터 수신된 신호에 기반하여 전자 장치(907)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다. 일 실시예에 따르면, 전자 장치(907)는 스마트 정수기(903-12)를 포함하는 주변 장치들로부터 수신되는 신호들 각각의 위상차에 기반하여 전자 장치(907)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다.
전자 장치(907)는 제1 정보 및 제2 정보를 기반으로 사용자 입력에 기반한 명령을 수행할 외부 장치가 스마트 정수기(903-12)임을 확인할 수 있다. 전자 장치(907)는 확인된 스마트 정수기(903-12)에 필터 교체 정보와 연관된 정보를 요청하는 명령을 전송하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 예를 들면, 필터 교체 정보와 연관된 정보를 요청하는 명령을 전송하는 태스크를 수행하기 위한 정보는 요구되는 필터 교체 정보(예를 들면, 마지막 필터 교체 시점, 또는 현재 필터 위생 상태 등), 스마트 정수기(903-12)가 요구되는 필터 교체 정보를 제공하도록 하기 위한 명령을 포함할 수 있다. 전자 장치(907)는 획득된 정보에 따라 태스크를 수행할 수 있다. 예를 들면, 전자 장치(907)는 확인된 스마트 정수기(903-12)에 필터 교체 정보와 연관된 정보를 요청하는 명령을 전송하는 태스크를 수행하기 위한 정보에 따라 스마트 정수기(903-12)에 명령을 직접 전송할 수도 있고, 서버(예를 들면, 도 8의 809)를 통해 전송할 수도 있다. 다양한 실시 예에 따르면 스마트 정수기(903-12)는 명령이 수신됨에 따라 마지막 필터 교체 시점, 또는 현재 필터 위생 상태 등을 포함하는 필터 교체 정보를 전자 장치(907)에 전송함으로써, 명령을 수행할 수 있다. 다른 실시예에 따르면, 스마트 정수기(903-12)는 마지막 필터 교체 시점, 또는 현재 필터 위생 상태 등을 포함하는 필터 교체 정보를 서버(예를 들면, 도 8의 809)에 업데이트 하고, 전자 장치(907)가 제1 정보 및 제2 정보를 서버(809)로 전송하여 서버(809)로부터 필터 교체 정보를 획득하도록 함으로써, 명령을 수행할 수도 있다. 스마트 정수기(903-12)는 필터 교체 정보 전송 성공, 필터 교체 정보 전송 실패, 또는 필터 교체 정보 전송 완료를 포함하는 명령 수행 결과를 전자 장치(907)에 전송할 수 있다. 전자 장치(907)는 수신된 필터 교체 정보 또는 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보 또는 상기 방식의 적어도 일부 조합된 방식과 같은 다양한 정보로 출력할 수 있다. 예를 들면, 전자 장치(907)는 디스플레이(917)에 "2개월 전에 교체하였습니다."와 같은 정보를 표시할 수 있다. 다양한 실시 예에 따르면 스마트 정수기(903-12)도 필터 교체 정보 또는 명령 수행 결과를 소리 정보, 디스플레이 정보, 또는 진동 정보와 같은 다양한 정보로 출력할 수 있다.
도 9m을 참조하면, 전자 장치(907)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401 또는 도 8a 및 8b의 801)는 사용자에 의해 특정 버튼이 눌려지거나 특정 어플리케이션이 실행된 상태에서 사용자로부터 발화된 음성 예를 들면, "혹시 내 차키 저쪽에 있어?"라는 음성을 수신할 수 있다. 전자 장치(907)는 음성 신호가 수신된 순간에 예를 들면, 스마트 키(903-13) 등의 소형 디바이스를 포함하는 주변 장치로부터 신호를 수신할 수 있다. 전자 장치(907)는 수신된 음성 신호의 적어도 일부 예를 들면, "내 차키", "저쪽에", "있어"를 기반으로 연관된 장치 리스트들에 대한 제1 정보를 획득할 수 있다.
전자 장치(907)는 스마트 키(903-13) 등의 소형 디바이스를 포함하는 주변 장치로부터 수신된 신호에 기반하여 전자 장치(907)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다. 일 실시예에 따르면, 전자 장치(907)는 스마트 키(903-13)를 포함하는 주변 장치들로부터 수신되는 신호들 각각의 위상차에 기반하여 전자 장치(907)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다.
전자 장치(907)는 제1 정보 및 제2 정보를 기반으로 사용자 입력에 기반한 위치를 제공할 외부 장치가 스마트 키(903-13)임을 확인할 수 있다. 전자 장치(907)는 확인된 스마트 키(903-13)의 위치 정보를 제공하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 예를 들면 위치 정보를 제공하는 태스크를 수행하기 위한 정보는 스마트 키(903-13)의 위치 정보를 포함할 수 있다. 전자 장치(907)는 획득된 정보에 따라 태스크를 수행할 수 있다. 예를 들면, 전자 장치(907)는 위치 정보를 제공하는 태스크를 수행하기 위한 정보에 따라 스마트 키(903-13)의 위치 정보를 제공할 수 있다. 일 실시예에 따르면, 스마트 키(903-13)의 위치 정보는 전자 장치(907)에서 수신된 스마트 키(903-13)으로부터의 신호를 기반으로 획득되거나, 스마트 키(903-13)과 관련된 외부의 서버로부터 수신될 수 있다. 예를 들면, 스마트 키(903-13)의 위치 정보는 스마트 키(903-13)의 절대 위치 정보 또는 상대 위치 정보를 포함할 수 있다. 절대 위치 정보는 GPS(global positioning system) 기반의 좌표 정보일 수 있다. 상대 위치 정보는 전자 장치(907)를 기준으로 스마트 키(903-13)가 어느 방향으로 얼만큼 거리에 위치하는지에 대한 정보를 포함할 수 있다.
전자 장치(907)는 스마트 키(903-13)의 위치 정보를 소리 정보, 디스플레이 정보, 진동 정보 또는 상기 방식의 적어도 일부 조합된 방식과 같은 다양한 정보로 출력할 수 있다. 예를 들면, 전자 장치(907)는 디스플레이(917)에 "네, 그쪽 방향에 있는 것 같습니다. 신호가 안정적으로 잡힙니다"와 같은 정보를 표시하거나, 스피커를 통해 소리 신호로 출력할 수 있다. 다른 예를 들면, 전자 장치(907)는 스마트 키(903-13)로부터 수신된 신호의 방향에 기반하여 예상되는 스마트 키(903-13)의 위치 정보를 디스플레이에(917)에 표시할 수 있다. 다양한 실시 예에 따르면 스마트 키(903-13)도 스마트 키(903-13)의 위치 정보를 소리 정보, 디스플레이 정보, 또는 진동 정보와 같은 다양한 정보로 출력할 수 있다.
도 9n을 참조하면, 전자 장치(907)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401 또는 도 8a 및 8b의 801)는 사용자로부터 발화된 음성을 수신할 수 있다. 일 실시예에 따르면 전자 장치(907)는 음성 인식 서비스가 활성화된 상태이고 특정 외부 장치를 지향하는 움직임이 발생하지 않은 상태에서 사용자에 의해 발화된 음성 예를 들면, "저거 이제 꺼"라는 음성을 수신할 수 있다.
또한 전자 장치(907)는 음성 신호가 수신과 동시에 또는 별도로 주변 장치로부터 발신되는 신호를 수신할 수 있다. 다양한 실시예에 따르면 적어도 하나의 주변 장치로부터 발신되는 신호는 동기화 신호 또는 디스커버리 신호를 적어도 일부 포함할 수 있다. 일 실시예에 따르면, 전자 장치(907) 주변에 주변 장치로서 스마트 TV(903-14) 및 공기 청정기(903-15)가 존재하는 경우 전자 장치(907)는 예를 들면, "저거 이제 꺼"와 같은 음성 신호 수신과 동시에 또는 별도로 스마트 TV(903-14) 및 공기 청정기(903-15) 각각으로부터 발신되는 동기화 신호 또는 디스커버리 신호를 수신할 수 있다.
전자 장치(907)는 음성 신호와 관련된 음성 데이터 "저거 이제 꺼"를 기반으로 전원 오프 기능을 수행할 수 있는 장치 리스트들에 대한 제1 정보를 획득할 수 있다. 다양한 실시예에 따르면 전자 장치(907)는 수신된 음성 신호를 기반으로 획득된 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보에 대응하는 제1 정보(예를 들면, 외부 장치 리스트)를 획득할 수 있다. 일 실시예에 따르면 전자 장치(907)는 수신된 음성 신호를 기반으로 자체적으로 음성 인식 및 자연어 이해를 수행하여 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보에 대응하는 제1 정보를 획득하거나, 외부의 서버(예: 서버(405))에 음성 신호(또는 음성 신호에 대응된 데이터)를 전송하고, 서버로부터 음성 인식 및 자연어 이해 수행 결과에 따른 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보에 대응된 제1 정보를 수신할 수 있다. 전자 장치(907)는 수신된 음성 신호의 적어도 일부 예를 들면, "이제","꺼"와 연관된 장치 리스트들에 대한 제1 정보를 획득할 수 있다. 예를 들면,"이제","꺼"와 연관된 장치는 오프 기능을 수행할 수 있는 장치로서 현재 온 상태로 동작중인 장치일 수 있다.
전자 장치(907)는 스마트 TV(903-14) 및 공기 청정기(903-15) 각각으로부터 수신된 신호를 기반으로 전자 장치(907)가 외부 장치에 대한 제2 정보를 획득할 수 있다. 일 실시예에 따르면, 전자 장치(907)는 스마트 TV(903-14) 및 공기 청정기(903-15)로부터 수신되는 신호들 각각의 위상차에 기반하여 전자 장치(907)의 주변에 존재하는 외부 장치 리스트에 대한 제2 정보를 획득할 수 있다.
전자 장치(907)는 제1 정보 및 제2 정보를 기반으로 사용자 입력에 기반한 명령을 수행할 외부 장치를 확인할 수 있다. 일 실시예에 따르면 전자 장치(907)는 "저거 이제 꺼"를 기반으로 획득된 전원 오프 기능을 수행할 수 있는 장치 리스트와 주변에 존재하는 외부 장치 리스트를 비교하여 각 리스트에 중복되는 외부 장치를 검출할 수 있다. 다양한 실시예에 따르면 전자 장치(907)는 검출된 외부 장치가 1개인 경우 검출된 1개의 외부 장치를 사용자 입력에 기반한 명령을 수행할 외부 장치로 확인할 수 있다. 전자 장치(907)는 검출된 외부 장치가 2개 이상인 경우 디스플레이(917)에 검출된 2개 이상의 외부 장치를 표시할 수 있다. 예를 들면, 전자 장치(907)는 스마트 TV(903-14) 및 공기 청정기(903-15)가 검출된 경우 디스플레이(917)에 스마트 TV(903-14) 및 공기 청정기(903-15)를 표시하고 "2개의 장치가 검색되었습니다. 둘 중 어느 것을 끌까요?"와 같이 사용자로부터 선택을 요청하는 메시지를 함께 표시할 수 있다. 전자 장치(907)는 2개 이상의 외부 장치 중 사용자에 의해 선택된 외부 장치를 사용자 입력에 기반한 명령을 수행할 외부 장치로 확인할 수 있다.
전자 장치(907)는 확인된 외부 장치(스마트 TV(903-14) 또는 공기 청정기(903-15))에 오프 기능을 요청하는 명령을 전송하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 예를 들면, 오프 기능을 요청하는 명령을 전송하는 태스크를 수행하기 위한 정보는 스마트 TV(903-14) 및 공기 청정기(903-15)가 동작중인 기능을 오프하도록 하는 명령을 포함할 수 있다. 전자 장치(907)는 획득된 정보에 따라 태스크를 수행할 수 있다. 예를 들면, 전자 장치(907)는 스마트 TV(903-14) 및 공기 청정기(903-15)에 오프 기능을 요청하는 명령을 전송하는 태스크를 수행하기 위한 정보에 따라 스마트 TV(903-14) 및 공기 청정기(903-15)에 명령을 직접 전송할 수도 있고, 서버(예를 들면, 도 8의 809)를 통해 전송할 수도 있다. 스마트 TV(903-14) 및 공기 청정기(903-15)는 명령이 수신됨에 따라 동작중인 기능을 오프함으로써, 명령을 수행할 수 있다. 스마트 TV(903-14) 및 공기 청정기(903-15)는 오프 기능 성공, 또는 오프 기능 실패를 포함하는 명령 수행 결과를 전자 장치(907)에 전송할 수 있다. 전자 장치(907)는 수신된 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보 또는 상기 방식의 적어도 일부 조합된 방식과 같은 다양한 정보로 출력할 수 있다.
도 10은 다양한 실시예에 따라 전자 장치에서 사용자 제스쳐 입력에 의한 모션에 기반하여 외부 장치에 제어 명령이 전송되도록 하는 동작을 나타낸 흐름도이다.
도 10을 참조하면, 일 실시예에 따라 외부 장치에 사용자 제스쳐 입력에 의한 모션에 기반하여 제어 명령이 전송되도록 하는 태스크를 수행하기 위한 정보는 1012 동작 내지 1020 동작과 관련된 상태들의 시퀀스 정보를 포함할 수 있다. 전자 장치(1001)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401)는 1012 동작 내지 1020 동작과 관련된 상태들의 시퀀스 정보를 이용하여 1012 동작, 1014 동작, 및 1016 동작이 수행되도록 할 수 있다. 일 실시예에 따르면 1012 동작, 1014 동작 및 1016 동작과 관련된 상태들의 시퀀스 정보는 전자 장치(1001)가 1012 동작, 1014 동작 및 1016 동작을 각각 또는 순차적으로 수행하도록 하는 정보를 포함할 수 있다. 일 실시예에 따르면, 전자 장치(1001)가 1012 동작, 1014 동작 및 1016 동작을 각각 또는 순차적으로 수행하도록 하는 정보는 1012 동작, 1014 동작 및 1016 동작의 적어도 일부와 관련된 룰 패스(rule path) 정보를 포함할 수 있다. 예를 들면, 룰 패스 정보는 전자 장치(1001)가 특정 어플리케이션을 실행하고 실행된 특정 어플리케이션을 통해 1012 동작, 1014 동작 및 1016 동작을 각각 또는 순차적으로 수행할 수 있도록 하는 정보를 포함하거나, 전자 장치(1001)에서 사용자의 명령을 수행하기 위한 1012 동작, 1014 동작 및 1016 동작의 상태 정보를 포함할 수 있다.
전자 장치(1001)(예를 들면, 도 1의 101, 도 2의 201, 또는 도 4의 401)는 1012 동작에서 사용자 제스쳐에 의한 입력을 검출할 수 있다. 다양한 실시예에 따르면 전자 장치(1001)는 적어도 하나의 센서 예를 들면, 자이로 센서, 가속도 센서, 지자기 센서, 근접 센서, 모션 센서, 조도센서, RGB 센서, 또는 심박 센서 중 적어도 하나 이상을 이용하여 사용자 제스쳐 입력에 의한 모션을 검출할 수 있다. 예를 들면, 전자 장치(1001)는 적어도 하나의 센서에 의해 일정 시간 동안 측정된 센서값의 변화량 또는 축적된 센서값이 나타내는 패턴을 검출함으로써 사용자 제스쳐 입력에 의한 모션을 검출할 수 있다. 일 실시예에 따르면 명령을 의도로 한 사용자 제스쳐 입력과 단순 사용자 제스쳐 입력을 구분하기 위하여 명령을 위한 사용자 제스쳐 입력의 시작을 알리는 별도의 트리거 입력이 추가로 요구될 수 있다.
전자 장치(1001)는 1014동작에서 상기 검출된 사용자 제스쳐 입력에 의한 모션에 기반하여 외부 장치(1003)를 확인할 수 있고, 확인된 외부 장치(1003)(예를 들면, 도 4 및 도 5의 제1 내지 제N 외부 장치들(403-1~403-N) 중 확인된 외부 장치)와 연관된 명령을 판단할 수 있다. 다양한 실시 예에 따르면 전자 장치(1001)는 사용자 제스쳐 입력에 의해 검출된 모션에 대응하는 센서값의 변화량 또는 센서값의 패턴이미리 지정된 적어도 하나의 명령과 연관되는지 판단할 수 있다.
전자 장치(1001)는 1016 동작에서 확인된 외부 장치(1003)에 명령을 전송할 수 있다. 일 실시예에 따르면 전자 장치(1001)는 확인된 외부 장치(1003)와 통신 가능한 통신 프로토콜을 이용하여 명령을 전송할 수 있다. 다양한 실시예에 따르면, 통신 프로토콜은 블루투스(bluetooth) 프로토콜, 저전력 블루투스(BLE: bluetooth low energy) 프로토콜, WiFi 프로토콜, 비콘(beacon) 프로토콜, 지그비(zigbee) 프로토콜, 또는 NFC(near field communication) 프로토콜 중 적어도 하나를 포함할 수 있다. 일 실시예에 따르면 통신 프로토콜은 IoT(internet of things) 서비스를 위해 지정된 다른 통신 프로토콜을 더 포함할 수도 있다.
외부 장치(1003)는 1018 동작에서 명령을 수행할 수 있다. 일 실시예에 따르면 외부 장치(1003)는 전자 장치(1001)로부터 수신된 명령을 기반으로 명령에 대응된 기능을 판단하고, 판단된 기능을 수행할 수 있다
외부 장치(1003)는 1020 동작에서 명령 수행 결과를 전자 장치(1001)로 전송할 수 있다. 다양한 실시예에 따르면 명령 수행 결과는 명령에 따른 기능 수행 성공, 명령에 따른 기능 수행 실패, 또는 명령에 따른 기능 수행 결과를 알리는 정보를 포함할 수 있다. 전자 장치(1001)는 명령 수행 결과를 출력할 수 있다. 다양한 실시 예에 따르면 전자 장치(1001)는 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보, 또는 상기 방식의 적어도 일부 조합된 방식과 같은 다양한 방식의 정보로 출력할 수 있다.
도 11은 다양한 실시예에 따라 전자 장치에서 사용자 제스쳐 입력에 의한 모션에 기반하여 외부 장치에 제어 명령이 전송되도록 하는 예를 나타낸 도면이다.
도 11을 참조하면, 사용자 제스쳐 입력이 수신되고, 전자 장치(1101)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401 또는 도 10의 1001)가 스마트 커튼(1103)를 지향하는 상태가 됨에 따라 전자 장치(1101)는 사용자 제스쳐 입력에 의한 전자 장치(1101) 모션에 대응하는 센서값의 변화량 또는 센서값의 패턴을 기반으로 외부 장치를 확인하기 위한 제1 정보를 획득하고, 주변 장치들로부터 수신되는 신호들의 위상차에 기반하여 전자 장치(1101)가 지향하는 장치에 대한 제2 정보를 획득하여, 제1 정보 및 제2 정보를 기반으로 스마트 커튼(1103)을 확인할 수 있다.
전자 장치(1101)는 사용자 제스쳐 입력에 의한 모션에 기반하여 확인된 스마트 커튼(1103)에 제어 명령이 전송되도록 하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 전자 장치(1101)는 획득된 정보에 따라 태스크를 수행할 수 있다. 예를 들면, 전자 장치(1101)는 획득된 정보에 따라 사용자 제스쳐 입력에 의한 모션에 기반하여 스마트 커튼(1103) 명령을 직접 전송할 수도 있고, 서버(예를 들면, 도 8의 809)를 통해 전송할 수도 있다. 다양한 실시예에 따르면 전자 장치(1101)는 적어도 하나의 센서 예를 들면, 자이로 센서, 가속도 센서, 지자기 센서, 근접 센서, 모션 센서, 조도센서, RGB 센서, 또는 심박 센서 중 적어도 하나 이상을 포함할 수 있고, 적어도 하나 이상의 센서를 이용하여 일정 시간 동안 측정된 센서값의 변화량 또는 축적된 센서값이 나타내는 패턴을 검출함으로써 사용자 제스쳐 입력에 의한 모션을 검출할 수 있다. 전자 장치(1101)는 상기 검출된 사용자 제스쳐 입력에 의한 모션에 기반하여 스마트 커튼(1103)과 연관된 명령을 판단할 수 있다. 다양한 실시 예에 따르면 전자 장치(1101)는 검출된 센서값의 변화량 또는 센서값의 패턴이 명령과 연관된 미리 지정된 적어도 하나의 변화량 또는 패턴 중 일정 수준 이상 일치하는 변화량 또는 패턴을 판단하고 일정 수준 이상 일치하는 변화량 또는 패턴에 대응된 명령을 판단할 수 있다. 예를 들면, 사용자가 전자 장치(1101)를 이용하여 오른쪽으로 이동하는 제스쳐, 왼쪽으로 이동하는 제스쳐 또는 아래쪽으로 이동하는 제스쳐를 수행하면, 전자 장치(1101)는 오른쪽으로 이동하는 제스쳐, 왼쪽으로 이동하는 제스쳐 또는 아래쪽으로 이동하는 제스쳐에 의한 전자 장치(1101)의 모션(예를 들면, 전자 장치(1101)의 특정 방향으로의 이동)을 검출하고, 검출 결과를 기반으로 오른쪽으로 이동하는 제스쳐에 대응된 명령인 "오른쪽으로 이동", 왼쪽으로 이동하는 제스쳐에 대응된 명령인 "왼쪽으로 이동", 또는 아래쪽으로 이동하는 제스쳐에 대응된 명령인 "아래쪽으로 이동"등을 판단할 수 있다. 전자 장치(1101)는 스마트 커튼(1103)에 명령을 전송할 수 있다. 일 실시예에 따르면 전자 장치(1201)는 스마트 커튼(1103)과 통신 가능한 통신 프로토콜을 이용하여 명령을 전송할 수 있다.
스마트 커튼(1103)은 명령에 따라 커튼의 기능을 수행할 수 있다. 예를 들면, 스마트 커튼(1103)은 오른쪽으로 이동 명령에 따라 커튼을 오른쪽으로 이동시키거나, 왼쪽으로 이동 명령에 따라 커튼을 왼쪽으로 이동시키거나, 아래쪽으로 이동 명령에 따라 커튼을 아래쪽으로 이동시킬 수 있고, 명령 수행 결과를 전자 장치(1101)로 전송할 수 있다. 다양한 실시예에 따르면 명령 수행 결과는 명령에 따른 성공, 실패, 또는 완료를 알리는 정보를 포함할 수 있다. 전자 장치(1101)는 명령 수행 결과를 출력할 수 있다. 다양한 실시 예에 따르면 전자 장치(1101)는 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보, 또는 상기 방식의 적어도 일부 조합된 방식과 같은 다양한 방식의 정보로 출력할 수 있다.
도 12a 및 도 12b는 다양한 실시예에 따라 전자 장치에서 외부 장치가 다른 외부 장치와 연동하도록 하는 명령을 전송하는 동작을 나타낸 흐름도이다.
도 12a를 참조하면, 일 실시예에 따라 외부 장치가 다른 외부 장치와 연동하도록 하는 명령을 전송하는 태스크를 수행하기 위한 정보는 1212 동작 내지 1218 동작과 관련된 상태들의 시퀀스 정보를 포함할 수 있다. 전자 장치(1201)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401)는 1212 동작 및 1218 동작과 관련된 상태들의 시퀀스 정보를 이용하여 1212 동작이 수행되도록 할 수 있다. 일 실시예에 따르면 1212 동작과 관련된 상태들의 시퀀스 정보는 전자 장치(1201)가 1212 동작을 수행하도록 하는 정보를 포함할 수 있다. 일 실시예에 따르면, 전자 장치(1201)가 1212 동작을 수행하도록 하는 정보는 1212 동작과 관련된 룰 패스(rule path) 정보를 포함할 수 있다. 예를 들면, 룰 패스 정보는 전자 장치(1201)가 특정 어플리케이션을 실행하고 실행된 특정 어플리케이션을 통해 1212 동작을 수행할 수 있도록 하는 정보를 포함하거나, 전자 장치(1201)에서 사용자의 명령을 수행하기 위한 1212 동작의 상태 정보를 포함할 수 있다.
일 실시예에 따라 전자 장치(1201)는 1212 동작에서 확인된 외부 장치(1203-1)(예를 들면, 도 4 및 도 5의 제1 내지 제N 외부 장치들(403-1~403-N) 중 확인된 제1 외부 장치)(이하 '제1 외부 장치'라고도 함)에 확인된 다른 외부 장치(1203-2)(예를 들면, 도 4 및 도 5의 제1 내지 제N 외부 장치들(403-1~403-N) 중 확인된 다른 외부 장치)(이하 '제2 외부 장치'라고도 함)의 연동이 요구되는 명령을 전송할 수 있다. 상기 명령은, 예를 들어, 사용자의 입력(예: 음성, 터치, 또는 제스쳐 입력 등) 및 전자 장치(1201)에서 수신된 제1 외부 장치(1203-1) 및 제2 외부 장치(1203-2)로부터의 신호에 적어도 일부 기반하여, 제1 외부 장치(1203-1) 또는 제2 외부 장치(1203-2)에서 수행하기 위한 태스크와 관련된 정보를 적어도 일부 포함할 수 있다.
일 실시예에 따르면 전자 장치(1201)는 제1 외부 장치(1203-1)와 통신 가능한 통신 프로토콜을 이용하여 명령을 전송할 수 있다. 다양한 실시예에 따르면, 통신 프로토콜은 블루투스(bluetooth) 프로토콜, 저전력 블루투스(BLE: bluetooth low energy) 프로토콜, WiFi 프로토콜, 비콘(beacon) 프로토콜, 지그비(zigbee) 프로토콜, 또는 NFC(near field communication) 프로토콜 중 적어도 하나를 포함할 수 있다. 일 실시예에 따르면 통신 프로토콜은 IoT(internet of things) 서비스를 위해 지정된 다른 통신 프로토콜을 더 포함할 수도 있다. 다양한 실시예에 따르면 제2 외부 장치(1203-2)와의 연동이 요구되는 명령은 제1 외부 장치(1203-1) 및 제2 외부 장치(1203-2) 각각의 장치 인식 정보, 제1 외부 장치(1203-1) 및 제2 외부 장치(1203-2) 각각의 기능 수행 순서, 또는 제1 외부 장치(1203-1) 및 제2 외부 장치(1203-2) 각각이 수행해야할 기능을 포함할 수 있다.
제1 외부 장치(1203-1)는 1214 동작에서 제2 외부 장치(1203-2)와 통신 연결을 수행할 수 있다. 제1 외부 장치(1203-1)는 1216 동작에서 제2 외부 장치(1203-2)와 연동을 통해 명령을 수행할 수 있다. 다양한 실시예에 따르면 제1 외부 장치(1203-1)는 제2 외부 장치(1203-2)와 연동이 요구되는 상기 명령에 기반하여 제1 기능을 실행하고, 제2 외부 장치(1203-2)에 제2 외부 장치(1203-2)와 연동이 요구되는 상기 명령을 수행하는데 필요한 정보 또는 데이터를 전송할 수 있다. 제2 외부 장치(1203-2)는 제1 외부 장치(1203-1)로부터 수신된 정보 또는 데이터에 기반하여 제2 기능을 실행할 수 있다. 제1 기능과 제2 기능 실행에 의해 제1 외부 장치(1203-1)와 제2 외부 장치(1203-2)는 서로 연동하여 상기 명령을 수행할 수 있다. 제1 외부 장치(1203-1)는 1218 동작에서 상기 명령 수행 결과를 전자 장치(1201)로 전송할 수 있다. 예를 들어, 제1 외부 전자 장치(1203-1)는 제2 외부 전자 장치(1203-2)로부터 상기 명령 수행 결과를 수신 받아 전자 장치(1201)로 전송할 수 있다. 다양한 실시예에 따르면 제1 외부 장치(1203-1) 및 제2 외부 장치(1203-2) 중 어느 하나가 명령 수행 결과를 전자 장치(1201)로 전송할 수도 있다. 다양한 실시예에 따르면 명령 수행 결과는 명령에 따른 기능 수행 성공, 명령에 따른 기능 수행 실패, 또는 명령에 따른 기능 수행 결과를 알리는 정보를 포함할 수 있다. 전자 장치(1201)는 명령 수행 결과를 출력할 수 있다. 다양한 실시 예에 따르면 전자 장치(1201)는 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보, 또는 상기 방식의 적어도 일부 조합된 방식과 같은 다양한 방식의 정보로 출력할 수 있다. 다양한 실시예에 따르면 제1 외부 장치(1203-1) 및 제2 외부 장치(1203-2) 중 어느 하나도 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보, 또는 상기 방식의 적어도 일부 조합된 방식과 같은 다양한 방식의 정보로 출력할 수 있다.
도 12b를 참조하면, 일 실시예에 따라 외부 장치가 다른 외부 장치와 연동하도록 하는 명령을 전송하는 태스크를 수행하기 위한 정보는 1222 동작 내지 1230 동작과 관련된 상태들의 시퀀스 정보를 포함할 수 있다. 전자 장치(1201)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401)는 1222 동작과 관련된 상태들의 시퀀스 정보를 이용하여 1222 동작이 수행되도록 할 수 있다.
일 실시예에 따르면, 전자 장치(1201)가 1222 동작을 수행하도록 하는 정보는 1222 동작과 관련된 룰 패스(rule path) 정보를 포함할 수 있다. 예를 들면, 룰 패스 정보는 전자 장치(1201)가 특정 어플리케이션을 실행하고 실행된 특정 어플리케이션을 통해 1222 동작을 수행할 수 있도록 하는 정보를 포함하거나, 전자 장치(1201)에서 사용자의 명령을 수행하기 위한 1222 동작의 상태 정보를 포함할 수 있다.
일 실시예에 따라 전자 장치(1201)는 1222 동작에서 확인된 하나의 외부 장치(1203-1)(예를 들면, 도 4 및 도 5의 제1 내지 제N 외부 장치들(403-1~403-N) 중 확인된 하나의 외부 장치)(이하 '제1 외부 장치'라고도 함)와 확인된 다른 외부 장치(1203-2)(예를 들면, 도 4 및 도 5의 제1 내지 제N 외부 장치들(403-1~403-N) 중 확인된 다른 외부 장치)(이하 '제2 외부 장치'라고도 함)의 연동이 요구되는 명령을 서버(1209)로 전송할 수 있다. 상기 명령은, 예를 들어, 사용자의 입력(예: 음성, 터치, 또는 제스쳐 입력 등) 및 전자 장치(1201)에서 수신된 제1 외부 장치(1203-1) 및 제2 외부 장치(1203-2)로부터의 신호에 적어도 일부 기반하여, 제1 외부 장치(1203-1) 또는 제2 외부 장치(1203-2) 각각에서 수행하기 위한 태스크(예를 들면, 1 외부 장치(1203-1) 또는 제2 외부 장치(1203-2) 각각에서 수행하기 위한 기능)와 관련된 정보를 적어도 일부 포함할 수 있다.
일 실시예에 따르면, 서버(1209)는 제1 외부 장치(1203-1) 및 제2 외부 장치(1203-2)와 각각 연결 가능하고, 제1 외부 장치(1203-1) 및 제2 외부 장치(1203-2)를 관리하며, 제1 외부 장치(1203-1) 및 제2 외부 장치(1203-2)에 각각 명령을 전송할 수 있는 서버일 수 있다. 일 실시예에 따르면, 제1 외부 장치(1203-1)와 제2 외부 장치(1203-2)의 연동이 요구되는 명령은 제1 외부 장치(1203-1) 및 제2 외부 장치(1203-2) 각각의 장치 인식 정보(예: 디바이스 ID), 제1 외부 장치(1203-1) 및 제2 외부 장치(1203-2) 각각의 기능 수행 순서, 또는 제1 외부 장치(1203-1) 및 제2 외부 장치(1203-2) 각각이 수행해야 할 기능을 포함할 수 있다.
서버(1209)는 1224 동작에서 제1 외부 장치(1203-1)에 제2 외부 장치(1203-2)와의 연동이 요구되는 명령을 전송할 수 있다. 일 실시예에 따르면 제2 전자 장치(1203-2)와의 연동이 요구되는 명령은 제2 외부 장치(1203-2) 의 장치 인식 정보, 제1 외부 장치(1203-1) 및 제2 외부 장치(1203-2) 각각의 기능 수행 순서, 또는 제1 외부 장치(1203-1) 및 제2 외부 장치(1203-2) 각각이 수행해야 할 기능을 포함할 수 있다.
제1 외부 장치(1203-1)는 1226 동작에서 제2 외부 장치(1203-2)와 통신 연결을 수행할 수 있다. 제1 외부 장치(1203-1)는 1228 동작에서 제2 외부 장치(1203-2)와 연동을 통해 명령을 수행할 수 있다. 일 실시예에 따르면 명령은 제1 외부장치(1203-2)의 제1 기능과 제2 외부 장치(1203-2)의 제2 기능을 수행하도록 하는 명령을 포함할 수 있다. 다양한 실시예에 따르면 제1 외부 장치(1203-1)는 제2 외부 장치(1203-2)와 연동이 요구되는 명령을 위해 제1 기능을 실행하고, 제2 외부 장치(1203-2)에 제2 외부 장치(1203-2)와 연동이 요구되는 명령을 수행하는데 필요한 정보 또는 데이터를 전송할 수 있다. 제2 외부 장치(1203-2)는 제1 외부 장치(1203-1)로부터 수신된 정보 또는 데이터에 기반하여 제2 기능을 실행할 수 있다. 제1 기능과 제2 기능 실행에 의해 제1 외부 장치(1203-1)와 제2 외부 장치(1203-2)는 연동이 요구되는 명령을 수행할 수 있다. 제1 외부 장치(1203-1)는 1230 동작에서 명령 수행 결과를 전자 장치(1201)로 전송할 수 있다. 다양한 실시예에 따르면 제1 외부 장치(1203-1) 또는 제2 외부 장치(1203-2) 중 적어도 하나가 명령 수행 결과를 전자 장치(1201)로 전송할 수도 있다. 다양한 실시예에 따르면 명령 수행 결과는 명령에 따른 기능 수행 성공, 명령에 따른 기능 수행 실패, 또는 명령에 따른 기능 수행 결과를 알리는 정보를 포함할 수 있다. 전자 장치(1201)는 명령 수행 결과를 출력할 수 있다. 다양한 실시 예에 따르면 전자 장치(1201)는 명령 수행 결과를 소리 정보, 디스플레이 정보, 또는 진동 정보 등과 같은 다양한 방식의 정보로 출력할 수 있다. 다양한 실시예에 따르면 제1 외부 장치(1203-1) 또는 제2 외부 장치(1203-2) 중 적어도 하나는 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보, 또는 상기 방식의 적어도 일부 조합된 방식과 같은 다양한 방식의 정보로 출력할 수 있다.
도 13a 내지 도 13e는 다양한 실시예에 따라 전자 장치에서 외부 장치가 다른 외부 장치와 연동하도록 하는 명령을 전송하는 예를 나타낸 도면이다. 다양한 실시 예에 따르면 전자 장치는 웨어러블 기기(1301), 리모컨(1305) 또는 스마트 폰(1307)(이하, 웨어러블 기기(1301), 리모컨(1305) 또는 스마트 폰(1307)을 전자 장치라고도 함) 등과 같은 다양한 형태일 수 있으며, 이 외에 다른 형태의 전자 장치일 수도 있다.
도 13a를 참조하면, 전자 장치(1301)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401 또는 도 12a 및 도 12b의 1201)는 사용자로부터 발화된 음성 예를 들면, "여기 소리를 저기서 틀어봐"라는 음성을 수신할 수 있고, 노트북(1303-1) 및 무선 스피커(1303-2)로부터 신호를 수신할 수 있다.
전자 장치(1301)는 수신된 음성 신호의 적어도 일부 예를 들면, "소리", "틀어봐" 를 기반으로 연관된 장치 리스트들에 대한 제1 정보를 획득할 수 있다. 다양한 실시예에 따르면 전자 장치(1301)는 수신된 음성 신호를 기반으로 획득된 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보에 대응하는 제1 정보(예를 들면, 외부 장치 리스트)를 획득할 수 있다. 일 실시예에 따르면 전자 장치(1301)는 수신된 음성 신호를 기반으로 자체적으로 음성 인식 및 자연어 이해를 수행하여 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보에 대응하는 제1 정보를 획득하거나, 외부의 서버(예: 서버(405))에 음성 신호(또는 음성 신호에 대응된 데이터)를 전송하고, 서버로부터 음성 인식 및 자연어 이해 수행 결과에 따른 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보에 대응된 제1 정보를 수신할 수 있다.
전자 장치(1301)는 노트북(1303-1) 및 무선 스피커(1303-2)로부터 각각 수신된 신호에 기반하여 전자 장치(1301)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다. 일 실시예에 따르면, 전자 장치(1301)는 노트북(1303-1) 및 무선 스피커(1303-2)를 포함하는 주변 장치들로부터 수신되는 신호들 각각의 위상차에 기반하여 전자 장치(1301)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다.
전자 장치(1301)는 제1 정보 및 제2 정보를 기반으로 사용자 입력에 기반한 명령을 수행할 외부 장치가 노트북(1303-1) 및 무선 스피커(1303-2)임을 각각 확인할 수 있다. 전자 장치(1301)는"여기 소리를 저기서 틀어봐"에 대한 음성 인식 및 자연어 이해 결과에 따라 노트북(1303-1)이 재생중인 오디오 데이터를 무선 스피커(1303-2)에서 출력되도록 하는 명령을 획득할 수 있다. 다양한 실시예에 따르면 상기 명령은, 예를 들어, 사용자의 입력(예: 음성, 터치, 또는 제스쳐 입력 등) 및 전자 장치(1201)에서 수신된 제1 외부 장치(1203-1) 및 제2 외부 장치(1203-2)로부터의 신호에 적어도 일부 기반하여, 제1 외부 장치(1203-1) 또는 제2 외부 장치(1203-2) 각각에서 수행하기 위한 태스크(예를 들면, 1 외부 장치(1203-1) 또는 제2 외부 장치(1203-2) 각각에서 수행하기 위한 기능)와 관련된 정보를 적어도 일부 포함할 수 있다. 전자 장치(1301)는 노트북(1303-1)이 재생중인 오디오 데이터를 무선 스피커(1303-2)에서 출력되도록 하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 전자 장치(1301)는 획득된 정보에 따라 태스크를 수행할 수 있다. 예를 들면, 전자 장치(1301)는 획득된 정보에 따라 노트북(1303-1)에 재생중인 오디오 데이터를 무선 스피커(1303-2)에서 출력되도록 하는 명령을 직접 전송할 수도 있고, 서버(예를 들면, 도 12의 1209)를 통해 노트북(1303-1)에 재생중인 오디오 데이터를 무선 스피커(1303-2)에서 출력되도록 하는 명령을 전송할 수도 있다. 일 실시예에 따르면 명령은 노트북(1303-1)이 제1 기능을 수행하도록 하고 무선 스피커(1302-2)가 제2 기능을 수행하도록 하는 명령을 포함할 수 있다.
다양한 실시예에 따르면 노트북(1303-1)은 명령이 수신됨에 따라 현재 재생중인 소리에 대한 음원 데이터를 선택하여 무선 스피커(1303-2)에 전달하는 제1 기능을 수행하고, 무선 스피커(1302-2)는 노트북(1303-1)으로부터 수신된 음원 데이터를 재생하는 제2 기능을 수행함으로써, 노트북(1303-1)에 재생중인 오디오 데이터를 무선 스피커(1303-2)에서 출력되도록 하는 명령을 수행할 수 있다.
노트북(1303-1)은 명령 수행 성공, 명령 수행 실패, 또는 명령 수행 완료를 포함하는 명령 수행 결과를 전자 장치(1301)에 전송할 수 있다. 전자 장치(1301)는 수신된 명령 수행 결과를 소리 정보, 디스플레이 정보, 또는 진동 정보와 같은 다양한 정보로 출력할 수 있다. 다양한 실시 예에 따르면 노트북(1303-1) 또는 무선 스피커(1302-2)도 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보, 또는 상기 방식의 적어도 일부 조합된 방식과 같은 다양한 정보로 출력할 수 있다. 다양한 실시 예에 따르면, 노트북(1303-1)이 제2 기능을 수행하고, 무선 스피커(1302-2)가 제1 기능을 수행할 수도 있다. 예를 들면, 무선 스피커(1302-2)는 현재 재생중인 소리에 대한 음원 데이터를 선택하여 노트북(1303-1)에 전달하는 제1 기능을 수행하고, 노트북(1303-1)는 무선 스피커(1302-2)로부터 수신된 음원 데이터를 재생하는 제2 기능을 수행할 수도 있다. 다양한 실시 예에 따르면 노트북(1303-1)과 무선 스피커(1302-2)는 소리를 출력하는 장치를 예를 든 것으로서, 다른 소리 출력 장치도 노트북(1303-1)과 무선 스피커(1302-2)와 같이 연동을 통해 명령을 수행할 수도 있다.
도 13b를 참조하면, 전자 장치(1305)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401 또는 도 12a 및 도 12b의 1201)는 리모컨 형태일 수 있으며, 지문 센서(1315)(예를 들면, 도 2의 센서 모듈 240)를 포함할 수 있다. 일 실시예에 따르면 전자 장치(1305)는 지문 센서(1315)에 의해 인식된 지문이 등록된 지문 정보와 일치하는 경우 사용자 입력을 수신할 수 있도록 설정될 수 있다. 전자 장치(1305)는 사용자로부터 발화된 음성 예를 들면, "이거 저기서 틀어봐"라는 음성을 수신할 수 있고, 스마트 폰(1303-3) 및 프로젝터(1303-4)로부터 각각 신호를 수신할 수 있다.
전자 장치(1305)는 수신된 음성 신호의 적어도 일부 예를 들면, "틀어봐" 를 기반으로 연관된 장치 리스트들에 대한 제1 정보를 획득할 수 있다.
전자 장치(1305)는 스마트 폰(1303-3) 및 프로젝터(1303-4)로부터 각각 수신된 신호를 기반으로 전자 장치(1305)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다. 일 실시예에 따르면, 전자 장치(1305)는 스마트 폰(1303-3) 및 프로젝터(1303-4)을 포함하는 주변 장치들로부터 수신되는 신호들 각각의 위상차에 기반하여 전자 장치(1305)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다.
전자 장치(1305)는 제1 정보 및 제2 정보를 기반으로 프로젝터(1303-4)를 확인할 수 있다. 다양한 실시예에 따르면, 전자 장치(1305)는 음성 데이터에 "이거"와 "저거"와 같이 두 개의 지시 대명사가 존재하는데 반해, 프로젝터(1303-4)와 같이 하나의 외부 장치만 확인된 경우, 전자 장치(1305)는 주변 장치들 중 가장 가까이에 존재하는 외부 장치, 사용자가 가장 최근에 이용한 외부 장치 또는 현재 미디어 데이터를 재생 중인 외부 장치를 검색하여 다른 외부 장치(예를 들면 스마트 폰(1303-3))을 더 확인할 수 있다.
일 실시예에 따르면 전자 장치(901)는"이거 저기서 틀어봐"에 대한 음성 인식 및 자연어 이해 결과와 확인된 스마트 폰(1303-3) 및 확인된 프로젝터(1303-4)를 기반으로, 스마트 폰(1303-3)이 재생중인 미디어 데이터를 프로젝터(1303-4)에 미러링되도록 하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 예를 들면, 전자 장치(1301)는 획득된 정보에 따라 스마트 폰(1303-3)이 재생중인 미디어 데이터를 프로젝터(1303-4)에 미러링되도록 하는 명령을 직접 스마트 폰(1303-3)에 전송할 수도 있고, 서버(예를 들면, 도 12의 1209)를 통해 스마트 폰(1303-3)에 재생중인 미디어 데이터를 프로젝터(1303-4)에 미러링되도록 하는 명령을 스마트 폰(1303-3)에 전송할 수도 있다. 일 실시예에 따르면 명령은 스마트 폰(1303-3)이 제1 기능을 수행하도록 하고 프로젝터(1303-4)가 제2 기능을 수행하도록 하는 명령을 포함할 수 있다.
다양한 실시예에 따르면, 스마트 폰(1303-3)은 명령이 수신됨에 따라 현재 재생중인 미디어 데이터를 프로젝터(1303-4)에 전달하는 제1 기능을 수행하고, 프로젝터(1303-4)는 스마트 폰(1303-3)으로부터 수신된 미디어 데이터를 프로젝팅하는 제2 기능을 수행함으로써, 스마트 폰(1303-3)에 재생중인 미디어 데이터를 프로젝터(1303-4)에 미러링되도록 하는 명령을 수행할 수 있다.
스마트 폰(1303-3) 또는 프로젝터(1303-4)은 명령 수행 성공, 명령 수행 실패, 또는 명령 수행 완료를 포함하는 명령 수행 결과를 전자 장치(1305)에 전송할 수 있다. 전자 장치(1305)는 수신된 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보, 또는 상기 방식의 적어도 일부 조합된 방식과 같은 다양한 정보로 출력할 수 있다. 다양한 실시 예에 따르면 스마트 폰(1303-3) 또는 프로젝터(1303-4)도 명령 수행 결과를 소리 정보, 디스플레이 정보, 또는 진동 정보와 같은 다양한 정보로 출력할 수 있다.
도 13c를 참조하면, 전자 장치(1301)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401 또는 도 12a 및 도 12b의 1201)는 사용자로부터 발화된 음성 예를 들면, "오늘 파티 영상 다 저기다가 보내줘"라는 음성을 수신할 수 있고, 노트북(1305-5) 및 스마트 글래스(1306-6)로부터 각각 신호를 수신할 수 있다.
전자 장치(1301)는 수신된 음성 신호의 적어도 일부 예를 들면, "오늘 파티 영상", "보내줘" 를 기반으로 연관된 장치 리스트들에 대한 제1 정보를 획득할 수 있다.
전자 장치(1301)는 노트북(1305-5) 및 스마트 글래스(1306-6)로부터 각각 수신된 신호에 기반하여 전자 장치(1301)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다. 일 실시예에 따르면, 전자 장치(1301)는 노트북(1305-5) 및 스마트 글래스(1306-6)를 포함하는 주변 장치들로부터 수신되는 신호들의 위상차에 기반하여 전자 장치(1301)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다.
전자 장치(1301)는 제1 정보 및 제2 정보를 기반으로 노트북(1305-5)을 확인할 수 있다. 다양한 실시예에 따르면, 전자 장치(1301)는 음성 데이터에 "보내줘"와 같이 두 개의 장치와의 연동이 필요한 명령어가 존재하는데 반해, 노트북(1305-5)과 같이 하나의 외부 장치만 확인된 경우, 전자 장치(1301)는 주변 장치들 중 착용중인 외부 장치 또는 가장 가까이에 존재하는 외부 장치 또는 사용중인 외부 장치 또는 파티 영상이 저장될 가능성이 높은 외부 장치를 검색하여 다른 외부 장치(예를 들면 스마트 글래스(1306-6))를 더 확인할 수 있다. 일 실시예에 따르면 전자 장치(1301)는"오늘 파티 영상 다 저기다가 보내줘"에 대한 음성 인식 및 자연어 이해 결과와 확인된 노트북(1305-5) 및 스마트 글래스(1306-6)를 기반으로, 스마트 글래스(1306-6)에서 오늘 촬영된 파티 영상을 모두 노트북(1303-5)에 저장되도록 하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 예를 들어, 스마트 글래스(1306-6)는 도 2의 전자장치(201)로 구현될 수 있으며, 카메라(예; 도 2의 카메라 모듈(291))을 이용하여 영상을 촬영할 수 있다. 다양한 실시예에 따르면, 전자 장치(901)는 획득된 정보에 따라 오늘 촬영된 파티 영상을 모두 노트북(1303-5)에 저장되도록 하는 명령을 직접 스마트 글래스(1306-6)에 전송할 수도 있고, 연결 서버(예를 들면, 도 12의 1209)를 통해 오늘 촬영된 파티 영상을 모두 노트북(1303-5)에 저장되도록 하는 명령을 스마트 글래스(1306-6)에 전송할 수도 있다. 일 실시예에 따르면 명령은 스마트 글래스(1306-6)가 제1 기능을 수행하도록 하고 노트북(1303-5)이 제2 기능을 수행하도록 하는 명령을 포함할 수 있다.
다양한 실시예에 따르면, 스마트 글래스(1303-6)는 명령이 수신됨에 따라 저장된 데이터들 중 오늘 파티 영상 데이터를 검색하여 노트북(1305-5)에 전달하는 제1 기능을 수행할 수 있고, 노트북(1305-5)은 스마트 글래스(1303-6)로부터 수신된 파티 영상 데이터를 저장하는 제2 기능을 수행함으로서, 오늘 촬영된 파티 영상을 모두 노트북(1303-5)에 저장되도록 하는 태스크가 수행될 수 있다.
다양한 실시예에 따르면, 노트북(1305-5) 또는 스마트 글래스(1303-6)는 명령 수행 성공, 명령 수행 실패, 또는 명령 수행 완료를 포함하는 명령 수행 결과를 전자 장치(1301)에 전송할 수 있다. 전자 장치(1301)는 수신된 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보, 또는 상기 방식의 적어도 일부 조합된 방식과 같은 다양한 정보로 출력할 수 있다. 다양한 실시 예에 따르면 노트북(1305-5) 또는 스마트 글래스(1303-6)도 명령 수행 결과를 소리 정보, 디스플레이 정보, 또는 진동 정보와 같은 다양한 정보로 출력할 수 있다.
도 13d를 참조하면, 전자 장치(1301)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401 또는 도 12a 및 도 12b의 1201)는 사용자로부터 발화된 음성 예를 들면, "이번에 일본여행 갔다온 사진이랑 전부다 저기다 백업해줘"라는 음성을 수신할 수 있고, 저장 장치(1303-7)(예를 들면, HDD 또는 SSD) 및 노트북(1303-8)으로부터 각각 신호를 수신할 수 있다.
전자 장치(1301)는 수신된 음성 신호의 적어도 일부 예를 들면, "백업해 줘"를 기반으로 연관된 장치 리스트들에 대한 제1 정보를 획득할 수 있다. 다양한 실시예에 따르면 전자 장치(1301)는 수신된 음성 신호를 기반으로 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보에 대응하는 제1 정보(예를 들면, 외부 장치 리스트)를 획득할 수 있다. 일 실시예에 따르면 전자 장치(1301)는 수신된 음성 신호를 기반으로 자체적으로 음성 인식 및 자연어 이해를 수행하여 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보에 대응하는 제1 정보를 획득하거나, 외부의 서버(예: 서버(405))에 음성 신호(또는 음성 신호에 대응된 데이터)를 전송하고, 서버로부터 음성 인식 및 자연어 이해 수행 결과에 따른 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보에 대응된 제1 정보를 수신할 수 있다.
전자 장치(1301)는 저장 장치(1303-7) 및 노트북(1303-8)으로부터 수신된 신호에 기반하여 전자 장치(1301)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다. 일 실시예에 따르면, 전자 장치(1301)는 저장 장치(1303-7) 및 노트북(1303-8)을 포함하는 주변 장치들로부터 수신되는 신호들 각각의 위상차에 기반하여 전자 장치(1301)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다.
전자 장치(1301)는 제1 정보 및 제2 정보를 기반으로 저장 장치(1303-7)를 확인할 수 있다.
다양한 실시예에 따르면 전자 장치(1301)는 "이번에 일본여행 갔다온 사진이랑 전부다 저기다 백업해 줘"에 대한 음성 인식 및 자연어 이해 결과 "일본여행 갔다온 사진이랑 전부다"가 저장된 장치가 지정되지 않고, 저장 대상 데이터 "일본여행 갔다온 사진이랑 전부다"만 이해된 경우, 전자 장치(1301)는 일본 여행 관련 사진이 저장된 외부 장치들을 검색하여 일본 여행 관련 사진이 저장된 외부 장치 예를 들면 노트북(1303-8)을 더 선택할 수 있다. 일 실시예에 따르면 전자 장치(1301)는"이번에 일본여행 갔다온 사진이랑 전부다 저기다 백업해줘"에 대한 음성 인식 및 자연어 이해 결과와 확인된 저장 장치(1303-7) 및 노트북(1303-8)을 기반으로, 노트북(1303-8)에 저장된 일본 여행 갔다온 사진과 그 외의 사진들 모두를 저장 장치(1303-7)에 저장되도록 하는 태스크를 수행하기 위한 정보를 획득할 수 있다.
다양한 실시예에 따르면, 전자 장치(1301)는 획득된 정보에 따라 일본 여행 갔다온 사진과 그 외의 사진들 모두를 저장 장치(1303-7)에 저장하도록 하는 명령을 직접 노트북(1303-8)에 전송할 수도 있고, 연결 서버(예를 들면, 도 12의 1209)를 통해 일본 여행 갔다온 사진과 그 외의 사진들 모두를 저장 장치(1303-7)에 저장하도록 하는 명령을 노트북(1303-8)에 전송할 수도 있다. 일 실시예에 따르면 명령은 노트북(1303-8)이 제1 기능을 수행하도록 하고 저장 장치(1303-7)가 제2 기능을 수행하도록 하는 명령을 포함할 수 있다.
다양한 실시예에 따르면, 노트북(1303-8)은 명령이 수신됨에 따라 저장된 데이터들 중 일본 여행 관련 사진과 그 외의 사진들 모두를 선택하여 저장 장치(1303-7)에 전달하는 제1 기능을 수행할 수 있고, 저장 장치(1303-7)는 수신된 일본 여행 관련 사진을 저장하는 제2 기능을 수행함으로써, 일본 여행 갔다온 사진과 그 외의 사진들 모두를 저장 장치(1303-7)에 저장하도록 하는 명령이 수행될 수 있다. 일 실시예에 따르면 저장 장치(1303-7)는 일본 여행 관련 사진을 저장하는 디렉토리를 생성하고, 생성된 디렉토리에 일본 여행 관련 사진을 저장할 수 있다.
저장 장치(1303-7) 또는 노트북(1303-8)은 명령 수행 성공, 명령 수행 실패, 또는 명령 수행 완료를 포함하는 명령 수행 결과를 전자 장치(1301)에 전송할 수 있다. 전자 장치(1301)는 수신된 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보, 또는 상기 방식의 적어도 일부 조합된 방식과 같은 다양한 정보로 출력할 수 있다. 다양한 실시 예에 따르면 저장 장치(1303-7) 또는 노트북(1303-8)도 명령 수행 결과를 소리 정보, 디스플레이 정보, 또는 진동 정보와 같은 다양한 정보로 출력할 수 있다. 다양한 실시예에 따르면 저장 장치(1303-7)외에 저장 기능이 있는 다른 외부 장치가 더 선택된 경우, 일본 여행 관련 사진은 선택된 다른 외부 장치들에도 전송되어 저장될 수 있다.
도 13e를 참조하면, 전자 장치(1307)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401 또는 도 12a 및 도 12b의 1201)는 사용자로부터 발화된 음성 예를 들면, "저거 켜고 그 위에 불좀 켜봐"라는 음성을 수신할 수 있고, 주변 장치 예를 들면, 스마트 전등(1303-9), TV(1303-10) 및 허브 장치(1303-11)로부터 각각 신호를 수신할 수 있다.
전자 장치(1301)는 수신된 음성 신호의 적어도 일부 예를 들면, "켜고", "불좀 켜봐"를 기반으로 연관된 장치 리스트들에 대한 제1 정보를 획득할 수 있다.
전자 장치(1307)는 주변 장치 예를 들면, 스마트 전등(1303-9), TV(1303-10) 및 허브 장치(1303-11)로부터 각각 수신된 신호에 기반하여 전자 장치(1307)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다. 일 실시예에 따르면 전자 장치(1307)는 스마트 전등(1303-9), TV(1303-10) 및 허브 장치(1303-11)를 포함하는 주변 장치들로부터 수신되는 신호들 각각의 위상차에 기반하여 전자 장치(1301)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다.
전자 장치(1307)는 제1 정보 및 제2 정보를 기반으로 전자 장치(1307)가 지향한 TV(1303-10) 및 스마트 전등(1303-9) 각각을 확인할 수 있다. 다양한 실시예에 따르면, 전자 장치(1307)는 확인된 TV(1303-10) 및 스마트 전등(1303-9)이 연결 서버 예를 들면, 허브 장치(1303-11)에 연결된 장치인지 여부를 판단하고 사용자 입력에 기반한 명령에 따라 TV(1303-10) 및 스마트 전등(1303-9)에 대한 제어 동작을 수행할 장치가 허브 장치(1303-11)임을 확인할 수 있다.
다양한 실시 예에 따르면 전자 장치(1307)는 "저거 켜고 그 위에 불좀 켜봐"에 대한 자연어 이해 결과와 확인된 TV(1303-10) 및 스마트 전등(1303-9)를 기반으로, TV(1303-10)를 켜고 스마트 전등(1303-9)을 켜는 태스크를 수행하기 위한 정보를 획득할 수 있다. 다양한 실시예에 따르면, 전자 장치(1307)는 획득된 정보에 따라 TV(1303-10)를 켜고 스마트 전등(1303-9)을 켜도록 하는 명령을 허브 장치(1303-11)에 전송할 수 있다. 다양한 실시예에 따르면 상기 명령은, 예를 들어, 사용자의 입력(예: 음성, 터치, 또는 제스쳐 입력 등) 및 전자 장치(1307)에서 수신된 TV(1303-10) 및 스마트 전등(1303-9)으로부터의 신호에 적어도 일부 기반하여, TV(1303-10) 및 스마트 전등(1303-9) 각각에서 수행하기 위한 태스크(예를 들면, TV(1303-10) 및 스마트 전등(1303-9) 각각에서 수행하기 위한 기능)와 관련된 정보를 적어도 일부 포함할 수 있다.
다양한 실시예에 따르면 허브 장치(1303-11)는 명령이 수신됨에 따라 TV(1303-10) 및 스마트 전등(1303-9) 각각과 통신 연결을 수행할 수 있고, TV(1303-10) 및 스마트 전등(1303-9) 각각과 연동을 통해 TV(1303-10)를 끄고 스마트 전등(1303-9) 을 켜는 명령을 수행할 수 있다. 일 실시예에 따르면 명령은 TV(1303-10)가 전원 오프 하도록 하는 제1 기능을 수행하도록 하고 스마트 전등(1303-9)이 전원 온하도록 하는 제2 기능을 수행하도록 하는 명령을 포함할 수 있다.
허브 장치(1303-11)는 명령 수행 성공, 명령 수행 실패, 또는 명령 수행 완료를 포함하는 명령 수행 결과를 전자 장치(1307)에 전송할 수 있다. 전자 장치(1307)는 수신된 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보 또는 상기 방식의 적어도 일부 조합된 방식과 같은 다양한 정보로 출력할 수 있다. 다양한 실시 예에 따르면 허브 장치(1303-11)또는 TV(1303-10) 및 스마트 전등(1303-9)도 명령 수행 결과를 소리 정보, 디스플레이 정보, 또는 진동 정보와 같은 다양한 정보로 출력할 수 있다.
도 14는 다양한 실시예에 따라 전자 장치에서 외부 장치와 연계된 서비스를 제공받는 동작을 나타낸 흐름도이다.
도 14를 참조하면, 일 실시예에 따라 외부 장치와 연계된 서비스를 제공받는 태스크를 수행하기 위한 정보는 1412 동작 내지 1420 동작과 관련된 상태들의 시퀀스 정보를 포함할 수 있다. 전자 장치(1401)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401)는 1412 동작, 1416 동작 및 1420 동작과 관련된 상태들의 시퀀스 정보를 이용하여 1412 동작, 1416 동작 및 1420 동작이 수행되도록 할 수 있다.
일 실시예에 따르면, 전자 장치(1401)가 1412 동작, 1416 동작 및 1420 동작을 각각 또는 순차적으로 수행하도록 하는 정보는 1412 동작, 1416 동작 및 1420 동작의 적어도 일부와 관련된 룰 패스(rule path) 정보를 포함할 수 있다. 예를 들면, 룰 패스 정보는 전자 장치(1401)가 특정 어플리케이션을 실행하고 실행된 특정 어플리케이션을 통해 1412 동작, 1416 동작 및 1420 동작을 각각 또는 순차적으로 수행할 수 있도록 하는 정보를 포함하거나, 전자 장치(1401)에서 사용자의 명령을 수행하기 위한 1412 동작, 1416 동작 및 1420 동작의 상태 정보를 포함할 수 있다.
일 실시예에 따르면, 전자 장치(1401)는 1412 동작에서 외부 장치(1403)(예를 들면, 도 4 및 도 5의 제1 내지 제N 외부 장치들(403-1~403-N) 중 확인된 외부 장치)에 외부 장치(1403)와 연관된 서비스 수행에 필요한 정보를 요청할 수 있다. 일 실시예에 따르면 전자 장치(1401)는 외부 장치(1403)와 통신 가능한 통신 프로토콜을 이용하여 정보 요청을 전송할 수 있다. 다양한 실시예에 따르면, 통신 프로토콜은 블루투스(bluetooth) 프로토콜, 저전력 블루투스(BLE: bluetooth low energy) 프로토콜, WiFi 프로토콜, 비콘(beacon) 프로토콜, 지그비(zigbee) 프로토콜, 또는 NFC(near field communication) 프로토콜 중 적어도 하나를 포함할 수 있다. 일 실시예에 따르면 통신 프로토콜은 IoT(internet of things) 서비스를 위해 지정된 다른 통신 프로토콜을 더 포함할 수도 있다. 다양한 실시예에 따르면 외부 장치(1403)와 연관된 서비스는 외부 장치(1403)와 연관된 구매 서비스, 판매 서비스, 또는 예매 서비스 등의 다양한 서비스를 포함할 수 있다. 다양한 실시예에 따르면 외부 장치(1403)와 연관된 서비스 수행에 필요한 정보는 외부 장치(1403) 자체의 구매, 판매, 또는 예매와 관련된 정보 또는 외부 장치(1403)를 통해 제공되는 제품의 구매, 판매 또는 예매와 관련된 정보를 포함할 수 있다.
외부 장치(1403)는 1414 동작에서 전자 장치(1401)에 외부 장치(1403)와 연관된 서비스 수행에 필요한 정보를 전송할 수 있다. 전자 장치(1401)는 1416 동작에서 외부 장치(1403)와 연관된 서비스 수행에 필요한 정보와 서비스 수행 명령을 외부의 서버(1409)(예를 들면 서비스 서버)에 전달할 수 있다. 상기 명령은, 예를 들어, 사용자의 입력(예: 음성, 터치, 또는 제스쳐 입력 등) 및 전자 장치(1401)에서 수신된 외부 장치(1403)로부터의 신호에 적어도 일부 기반하여, 외부 장치(1403)와 연관된 서비스를 수행하기 위한 태스크(예를 들면, 서버(1418)에서 수행하기 위한 기능)와 관련된 정보를 적어도 일부 포함할 수 있다.
다양한 실시예에 따르면 서버(1409)는 구매, 판매, 또는 예매와 관련된 서비스를 제공하는 서버일 수 있다.
서버(1409)는 1418 동작에서 서비스 수행에 필요한 정보와 서비스 수행 명령을 수신하여 서비스를 수행할 수 있다. 다양한 실시 예에 따르면 서비스 수행 명령에 따라 서비스 수행에 필요한 정보를 이용하여 구매, 판매, 또는 예매와 관련된 기능을 수행할 수 있다. 예를 들면, 제품을 구매, 판매 또는 예매하는 기능을 수행하거나, 제품의 구매, 판매 또는 예매와 관련된 기능을 수행할 수 있다.
서버(1409)는 1420 동작에서 서비스 수행 결과를 전자 장치(1401)에 전송할 수 있다. 다양한 실시예에 따르면 서비스 수행 결과는 명령에 따른 서비스 수행 성공, 명령에 따른 서비스 수행 실패, 또는 명령에 따른 서비스 수행 결과를 알리는 정보를 포함할 수 있다. 전자 장치(1401)는 명령 수행 결과를 출력할 수 있다. 다양한 실시 예에 따르면 전자 장치(1401)는 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보 또는 상기 방식의 적어도 일부 조합된 방식과 같은 다양한 방식의 정보로 출력할 수 있다.
도 15a 내지 도 15c는 다양한 실시예에 따라 전자 장치에서 외부 장치와 연계된 서비스를 제공받는 예를 나타낸 도면이다.
도 15a를 참조하면, 전자 장치(1501)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401 또는 도 14의 1401)는 사용자로부터 발화된 음성 예를 들면, "저거 중고로 팔면 얼마나 나오나?"라는 음성을 수신할 수 있고, CD 플레이어(1503-1)로부터 신호를 수신할 수 있다. 전자 장치(1501)는 수신된 음성 신호의 적어도 일부 예를 들면, "중고", "팔면" 를 기반으로 연관된 장치 리스트들에 대한 제1 정보를 획득할 수 있다. 다양한 실시예에 따르면 전자 장치(1501)는 수신된 음성 신호를 기반으로 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보에 대응하는 제1 정보(예를 들면, 외부 장치 리스트)를 획득할 수 있다. 일 실시예에 따르면 전자 장치(1501)는 수신된 음성 신호를 기반으로 자체적으로 음성 인식 및 자연어 이해를 수행하여 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보에 대응하는 제1 정보를 획득하거나, 외부의 서버(예: 서버(405))에 음성 신호(또는 음성 신호에 대응된 데이터)를 전송하고, 서버로부터 음성 인식 및 자연어 이해 수행 결과에 따른 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보에 대응된 제1 정보를 수신할 수 있다.
전자 장치(1501)는 CD 플레이어(1503-1)로부터 수신된 신호에 기반하여 전자 장치(1501)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다. 일 실시예에 따르면, 전자 장치(1501)는 CD 플레이어(1503-1)를 포함하는 주변 장치들로부터 수신되는 신호들 각각의 위상차에 기반하여 전자 장치(1501)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다.
전자 장치(1501)는 제1 정보 및 제2 정보를 기반으로 사용자 입력에 기반한 명령을 수행할 외부 장치가 CD 플레이어(1503-1)임을 확인할 수 있다.
다양한 실시예에 따르면 전자 장치(1501)는 "저거 중고로 팔면 얼마나 나오나?"에 대한 자연어 이해 결과와 확인된 CD 플레이어(1503-1)를 기반으로, CD 플레이어(1503-1)의 중고 가격 정보를 제공받는 태스크를 수행하기 위한 정보를 획득할 수 있다. 다양한 실시예에 따르면 전자 장치(1501)는 "저거 중고로 팔면 얼마나 나오나?"에 대한 음성 신호와 확인된 CD 플레이어(1503-1)에 대한 정보를 서버(예를 들면, 서버(405))로 전송하고, 서버(405)로부터 CD 플레이어(1503-1)의 중고 가격 정보를 제공받는 태스크를 수행하기 위한 정보를 수신할 수 있다.
다양한 실시예에 따르면, 전자 장치(1501)는 획득된 정보에 따라 CD 플레이어(1503-1)에 CD 플레이어(1503-1)의 중고가격을 얻기 위해 필요한 정보를 요청할 수 있다. 다양한 실시예에 따르면 CD 플레이어(1503-1)의 중고 가격을 얻기 위해 필요한 정보는 CD 플레이어(1503-1)의 모델명, MAC 주소, 또는 ID값 등을 포함할 수 있다.
다양한 실시예에 따르면, CD 플레이어(1503-1)는 전자 장치(1501)에 중고 가격을 얻기 위해 필요한 정보를 전송할 수 있다. 전자 장치(1501)는 수신된 중고 가격을 얻기 위해 필요한 정보와 중고 가격 검색 명령을 외부의 서버(예를 들면, 서버(1409))에 전달할 수 있다. 서버(1409)는 CD 플레이어(1503-1)의 모델명, MAC 주소, 또는 ID값 등을 이용하여 CD 플레이어(1503-1)과 같은 모델을 검색하고, 검색된 모델이 가장 최근에 얼마에 거래 되었는지, 중고 시장에 내 놓을 경우 최대 얼마를 받을 수 있는지 해당 제품이나 유사 제품의 최근 거래 기록이나 시세, 빅데이터 평판 등을 분석한 분석치를 계산하여 CD 플레이어(1503-1)의 중고 가격 정보를 획득할 수 있다. 서버(1409)는 획득한 중고 가격 정보를 전자 장치(1501)에 전송할 수 있다. 전자 장치(1501)는 중고 가격 정보를 출력할 수 있다. 다양한 실시 예에 따르면 전자 장치(1501)는 중고 가격 정보를 소리 정보, 디스플레이 정보, 또는 상기 방식의 적어도 일부 조합된 방식과 같은 다양한 방식의 정보로 출력할 수 있다. 일 실시예에 따르면, 전자 장치(1501)로부터 음성 신호를 수신하여 음성 인식 및 자연어 이해 수행 결과를 제공하는 서버(예: 서버(405))와 서비스를 제공하는 서버(예: 서버(1409))는 분리된 각각의 서버일 수 있고 또는 통합된 하나의 서버일 수 있다.
도 15b를 참조하면, 전자 장치(1501)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401 또는 도 14의 1401)는 사용자로부터 발화된 음성 예를 들면, "저거랑 똑같은거 하나 선물 포장해서 동생 집에 보내주라 돈은 00 카드로 계산하고"라는 음성을 수신할 수 있고, 프로젝터(1503-2)로부터 신호를 수신할 수 있다.
전자 장치(1501)는 수신된 음성 신호"저거랑 똑같은거 하나 선물 포장해서 동생 집에 보내주라 돈은 00 카드로 계산하고"의 적어도 일부를 기반으로 연관된 장치 리스트들에 대한 제1 정보를 획득할 수 있다. 예를 들면, 전자 장치(1501)는 수신된 음성 신호 "저거랑 똑같은거 하나 선물 포장해서 동생 집에 보내주라 돈은 00카드로 계산하고" 중 일부와 연관된 장치가 없는 경우 연관된 장치에 대한 제1 정보로서 전자 장치(1501)가 지향하는 장치에 대한 제2 정보를 이용하여 태스크를 수행할 장치를 확인하라는 정보를 획득할 수 있다.
전자 장치(1501)는 프로젝터(1503-2)로부터 수신된 신호에 기반하여 전자 장치(1501)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다. 일 실시예에 따르면, 전자 장치(1501)는 프로젝터(1503-2)를 포함하는 주변 장치들로부터 수신되는 신호들의 위상차에 기반하여 전자 장치(1501)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다. 전자 장치(1501)는 제1 정보 및 제2 정보를 기반으로 프로젝터(1503-2)를 확인할 수 있다.
다양한 실시예에 따르면 전자 장치(1301)는 "저거랑 똑같은거 하나 선물 포장해서 동생 집에 보내주라 돈은 00 카드로 계산하고"에 대한 자연어 이해 결과와 확인된 프로젝터(1503-2)를 기반으로, 프로젝터(1503-2)에 대한 구매 서비스를 제공받는 태스크를 수행하기 위한 정보를 획득할 수 있다. 일 실시예에 따르면 전자 장치(1501)는 "저거랑 똑같은거 하나 선물 포장해서 동생 집에 보내주라 돈은 00 카드로 계산하고"에 대한 음성 신호와 확인된 프로젝터(1503-2)에 대한 정보를 서버(예를 들면, 서버(405))로 전송하고, 서버(405)로부터 프로젝터(1503-2)에 대한 구매 서비스를 제공받는 태스크를 수행하기 위한 정보를 수신할 수 있다.
다양한 실시예에 따르면, 전자 장치(1301)는 획득된 정보에 따라 프로젝터(1503-2)에 프로젝터(1503-2)의 구매를 위해 필요한 정보를 요청할 수 있다. 다양한 실시예에 따르면 프로젝터(1503-2)의 구매를 위해 필요한 정보는 프로젝터(1503-2)의 MAC 주소, ID 값, 또는 사전에 입력된 NAME 정보를 포함할 수 있다. 프로젝터(1503-2)는 전자 장치(1501)에 구매를 위해 필요한 정보를 전송할 수 있다. 전자 장치(1501)는 수신된 구매를 위해 필요한 정보와 구매 명령을 외부의 서버(예를 들면, 서버(1409))에 전달할 수 있다. 서버(1409)는 프로젝터(1503-2)의 MAC 주소, ID 값, 또는 사전에 입력된 NAME 정보 등을 이용하여 프로젝터(1503-2)와 같은 모델을 검색하고, 사전에 입력된 카드들 중 00 카드를 골라 결제 후 사용자의 연락처, 주소록, 최근 GPS, 사용자의 SNS 기록, 최근 배송지 등을 검색하여 동생 집이라는 최종 목적지까지 자동으로 배송하도록 설정하는 구매 기능을 수행할 수 있다. 서버(1409)는 구매 기능 수행 결과를 전자 장치(1501)에 전송할 수 있다. 전자 장치(1501)는 구매 기능 수행 결과를 출력할 수 있다. 다양한 실시 예에 따르면 전자 장치(1501)는 구매 기능 수행 결과를 소리 정보, 디스플레이 정보 등과 같은 다양한 방식의 정보로 출력할 수 있다. 일 실시예에 따르면, 서버(예: 서버(1409))는 프로젝터(1503-2)를 구매하기 위해 수행해야 하는 동작들의 정보들을 포함하고 있는 명령을 전자 장치(1501)로 전송하고, 전자 장치(1501)는 수신된 상기 명령에 기반하여 구매 기능을 수행할 수 있다.
도 15c를 참조하면, 전자 장치(1507)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401 또는 도 14의 1401)는 사용자로부터 발화된 음성 예를 들면, "저거 장바구니에 담아놔 봐"라는 음성을 수신할 수 있고, 디스플레이 장치(1503-3)로부터 신호를 수신할 수 있다. 전자 장치(1507)는 음성 신호 "저거 장바구니에 담아놔 봐"의 적어도 일부를 기반으로 연관된 장치 리스트들에 대한 제1 정보를 획득할 수 있다. 예를 들면, 전자 장치(1507)는 "저거 장바구니에 담아놔 봐" 중 "장바구니에 담아놔"를 기반으로 장바구니 서비스를 수행할 수 있는 장치들을 연관된 장치에 대한 제1 정보로서 획득하거나, "저거 장바구니에 담아놔 봐" 중 일부와 연관된 장치가 없는 경우 제1 정보로서 전자 장치(1507)가 지향하는 장치에 대한 제2 정보를 통해 태스크를 수행할 전자 장치를 확인하라는 정보를 획득할 수 있다.
전자 장치(1507)는 디스플레이 장치(1503-3)로부터 수신된 신호에 기반하여 전자 장치(1507)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다. 일 실시예에 따르면, 전자 장치(1507)는 디스플레이 장치(1503-3)를 포함하는 주변 장치들로부터 수신되는 신호들 각각의 위상차에 기반하여 전자 장치(1507)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다. 전자 장치(1507)는 제1 정보 및 제2 정보를 기반으로 디스플레이 장치(1503-3)를 확인할 수 있다.
다양한 실시 예에 따르면 전자 장치(1501)는"저거 장바구니에 담아놔 봐"에 대한 자연어 이해 결과와 확인된 디스플레이 장치(1503-3)를 기반으로, 디스플레이 장치(1503-3)에 표시된 제품을 장바구니에 담는 서비스 제공받는 태스크를 수행하기 위한 정보를 획득할 수 있다. 일 실시예에 따르면 전자 장치(1507)는 "저거 장바구니에 담아놔 봐"에 대한 음성 신호와 확인된 디스플레이 장치(1503-3)에 대한 정보를 서버(예를 들면, 서버(405))로 전송하고, 서버(405)로부터 디스플레이 장치(1503-3)에 표시된 제품을 장바구니에 담는 서비스 제공받는 태스크를 수행하기 위한 정보를 획득를 수신할 수 있다.
다양한 실시예에 따르면, 전자 장치(1507)는 획득된 정보에 따라 디스플레이 장치(1503-3)에 디스플레이 장치(1503-3)에 표시된 제품과 연관된 정보를 요청할 수 있다. 다양한 실시 예에 따르면 전자 장치(1507)는 "저거 장바구니에 담아놔 봐"에 대한 자연어 이해 결과에 따라 디스플레이 장치(1503-3)에 표시된 제품과 연관된 정보를 요청할 수 있다. 일 실시예에 따르면 디스플레이 장치(1503-3)에 표시된 제품과 연관된 정보는 예를 들면, 디스플레이 장치(1503-3)에 표시된 제품과 연관된 키워드, 디스플레이 장치(1503-3)에 표시된 제품의 이미지, 디스플레이 장치(1503-3)에 표시된 제품의 제품명, 제조사명, 또는 판매처 등을 포함할 수 있다.
디스플레이 장치(1503-3)는 전자 장치(1507)로부터 정보 요청을 수신한 시점에 표시되고 있는 이미지를 캡쳐하여 이미지 검색을 통해 키워드를 추출하고, 추출된 키워드를 기반으로 디스플레이 장치(1503-3)에 표시된 제품과 연관된 정보를 획득할 수 있고, 획득된 정보를 전자 장치(1507)에 전송할 수 있다.
전자 장치(1507)는 디스플레이 장치(1503-3)에 표시된 제품과 연관된 정보를 수신하고, 디스플레이 장치(1503-3)에 표시된 제품과 연관된 정보를 기반으로 하는 장바구니 담기 명령을 서비스 서버(예를 들면, 서비스 서버(1409)에 전달할 수 있다. 다양한 실시예에 따르면, 서비스 서버(1409)는 장바구니 담기 명령이 수신됨에 따라 사용자가 미리 지정해 둔 쇼핑 서비스 사이트에 로그인하여 디스플레이 장치(1503-3)에 표시된 제품과 연관된 정보와 매칭되는 제품을 검색하고, 검색된 제품을 사용자 계정의 장바구니에 넣어둘 수 있다. 예를 들면, 사용자가 미리 지정해 둔 쇼핑 서비스 사이트는 온라인 쇼핑몰 서버일 수 있으며 온라인 쇼핑몰 서버는 디스플레이 장치(1503-3)에 표시된 제품과 연관된 정보 예를 들면, 디스플레이 장치(1503-3)에 표시된 제품과 연관된 키워드, 디스플레이 장치(1503-3)에 표시된 제품의 이미지, 디스플레이 장치(1503-3)에 표시된 제품의 제품명, 제조사명, 또는 판매처 등을 이용하여 제품을 검색하고, 검색된 제품을 사용자 계정의 장바구니에 담는 기능을 수행할 수 있다.
서비스 서버(1409)는 장바구니 담기 기능 수행 결과를 전자 장치(1507)에 전송할 수 있다. 전자 장치(1507)는 장바구니 담기 수행 결과를 출력할 수 있다. 다양한 실시 예에 따르면 전자 장치(1507)는 장바구니 담기 기능 수행 결과를 소리 정보, 디스플레이 정보 등과 같은 다양한 방식의 정보로 출력할 수 있다. 예를 들면, 장치(1507)는 장바구니 담기 기능 수행 결과 화면(1517)을 표시할 수 있다.
도 16은 다양한 실시예에 따른 전자 장치에서 복수의 외부 장치에 동일한 명령을 전송하는 동작을 나타낸 흐름도이다.
도 16을 참조하면, 일 실시예에 따라 복수의 외부 장치에 동일한 명령을 전송하는 태스크를 수행하기 위한 정보는 1612-1 동작 내지 1616-N 동작과 관련된 상태들의 시퀀스 정보를 포함할 수 있다. 전자 장치(1601)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401)는 1612-1동작 내지 1612-N 동작과 관련된 상태들의 시퀀스 정보를 이용하여 1612-1동작 내지 1612-N 동작이 수행되도록 할 수 있다. 일 실시예에 따르면 1612-1동작 내지 1612-N 동작과 관련된 상태들의 시퀀스 정보는 전자 장치(1601)가 1612-1동작 내지 1612-N 동작을 각각 또는 순차적으로 수행하도록 하는 정보를 포함할 수 있다. 일 실시예에 따르면, 전자 장치(1601)가 1612-1동작 내지 1612-N 동작을 각각 또는 순차적으로 수행하도록 하는 정보는 1612-1동작 내지 1612-N 동작의 적어도 일부와 관련된 룰 패스(rule path) 정보를 포함할 수 있다. 예를 들면, 룰 패스 정보는 전자 장치(1601)가 특정 어플리케이션을 실행하고 실행된 특정 어플리케이션을 통해 1612-1동작 내지 1612-N 동작을 각각 또는 순차적으로 수행할 수 있도록 하는 정보를 포함하거나, 전자 장치(1601)에서 사용자의 명령을 수행하기 위한 1612-1동작 내지 1612-N 동작의 상태 정보를 포함할 수 있다.
일 실시예에 따르면, 전자 장치(1601)(예를 들면, 도 1의 101, 도 2의 201, 또는 도 4의 401)는 1612-1 동작 내지 1612-N 동작에서 제1 내지 제N 선택된 외부 장치들(1603-1~1603-N)(예를 들면, 도 4 및 도 5의 제1 내지 제N 외부 장치들(403-1~403-N) 중 확인된 복수의 외부 장치들)에 제1 내지 제N 선택된 외부 장치들(1603-1~1603-N) 각각과 연관된 명령을 전송할 수 있다. 다양한 실시예에 따르면 제1 내지 제N 선택된 외부 장치들(1603-1~1603-N) 각각과 연관된 명령은 동일한 명령일 수 있다. 상기 명령은, 예를 들어, 사용자의 입력(예: 음성, 터치, 또는 제스쳐 입력 등) 및 전자 장치(1601)에서 수신된 제1 내지 제N 외부 장치들(1603-1~1603-N)로부터의 신호에 적어도 일부 기반하여, 제1 내지 제N 외부 장치들(1603-1~1603-N) 각각에서 수행하기 위한 태스크와 관련된 정보를 적어도 일부 포함할 수 있다.
제1 내지 제N 선택된 외부 장치들(1603-1~1603-N) 각각은 1614-1 동작 내지 1614-N 동작에서 명령을 수행할 수 있다. 일 실시예에 따르면 제1 내지 제N 선택된 외부 장치들(1603-1~1603-N) 각각은 전자 장치(1601)로부터 수신된 명령을 기반으로 명령에 대응된 기능을 판단하고, 판단된 기능을 수행할 수 있다
제1 내지 제N 선택된 외부 장치들(1603-1~1603-N) 각각은 1616-1 동작 내지 1616-N 동작에서 명령 수행 결과를 전자 장치(1601)로 전송할 수 있다. 다양한 실시예에 따르면 명령 수행 결과는 명령에 따른 기능 수행 성공, 명령에 따른 기능 수행 실패, 또는 명령에 따른 기능 수행 결과를 알리는 정보를 포함할 수 있다.
전자 장치(1601)는 제1 내지 제N 선택된 외부 장치들(1603-1~1603-N) 각각에 의한 명령 수행 결과를 출력할 수 있다. 다양한 실시 예에 따르면 전자 장치(1601)는 제1 내지 제N 선택된 외부 장치들(1603-1~1603-N) 각각에 의한 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보, 또는 상기 방식의 적어도 일부의 조합 등과 같은 다양한 방식의 정보로 출력할 수 있다.
도 17a 및 17b는 다양한 실시예에 따른 전자 장치에서 복수의 외부 장치에 동일한 명령을 전송하는 예를 나타낸 도면이다. 다양한 실시 예에 따르면 전자 장치는 웨어러블 기기(1701) 또는 스마트 폰(1707)(이하, 웨어러블 기기(1701) 또는 스마트 폰(1707)을 전자 장치라고도 함) 등의 다양한 형태일 수 있으며, 이 외에 다른 형태의 전자 장치일 수도 있다.
도 17a를 참조하면, 전자 장치(1701)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401 또는 도 16의 1601)는 사용자로부터 발화된 음성 예를 들면, "이거랑", "이거 좀 태블릿에 붙여줘" 라는 음성을 순차적으로 수신할 수 있고, 주변 장치 예를 들면, 무선 마우스(1703-1), 무선 키보드(1703-2), 태블릿(1703-3)으로부터 각각 신호를 수신할 수 있다.
다양한 실시예에 따르면 전자 장치(1701)는 수신된 음성의 적어도 일부를 기반으로 연관된 장치에 대한 제1 정보를 획득할 수 있다.
예를 들면, 전자 장치(1701)는 "이거랑", "이거 좀 태블릿에 붙여줘" 중 "태블릿에 붙여줘"를 기반으로 태블릿과 연결될 수 있는 장치들을 연관된 장치들에 대한 제1 정보로서 획득하거나,"이거랑", "이거 좀 태블릿에 붙여줘" 중 일부와 연관된 장치가 없는 경우 제1 정보로서 전자 장치(1701)가 지향하는 장치에 대한 제2 정보를 통해 태스크를 수행할 전자 장치를 확인하라는 정보를 획득할 수 있다.
일 실시예에 따르면 전자 장치(1701)는 수신된 음성 신호를 기반으로 획득된 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보에 대응하는 제1 정보(예를 들면, 제2 정보 필요 여부)를 획득할 수 있다. 예를 들면, 전자 장치(1701)는 수신된 음성 신호를 기반으로 자체적으로 음성 인식 및 자연어 이해를 수행하여 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보에 대응하는 제1 정보를 획득하거나, 외부의 서버(예: 서버(405))에 음성 신호(또는 음성 신호에 대응된 데이터)를 전송하고, 서버로부터 음성 인식 및 자연어 이해 수행 결과에 따른 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보에 대응된 제1 정보를 수신할 수 있다.
다양한 실시예에 따르면, 전자 장치(1701)는 무선 마우스(1703-1), 무선 키보드(1703-2), 태블릿(1703-3)으로부터 수신된 신호에 기반하여 전자 장치(1701)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다. 일 실시예에 따르면, 전자 장치(1701)는 무선 마우스(1703-1), 무선 키보드(1703-2), 태블릿(1703-3)을 포함하는 주변 장치들로부터 수신되는 신호들 각각의 위상차에 기반하여 전자 장치(1701)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다.
전자 장치(1701)는 제1 정보 및 제2 정보를 기반으로 사용자 입력에 대응된 명령을 수행할 외부 장치가 무선 마우스(1703-1), 무선 키보드(1703-2), 태블릿(1703-3)임을 확인할 수 있다.
다양한 실시 예에 따르면 전자 장치(1701)는"이거랑" 및 "이거 좀 태블릿에 붙여줘" 에 대한 자연어 이해 결과와 확인된 무선 마우스(1703-1), 무선 키보드(1703-2), 및 태블릿(1703-3)을 기반으로, 무선 마우스(1703-1) 및 무선 키보드(1703-2)에 태블릿(1703-3)에 연결하도록 하는 명령을 전송하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 상기 명령은, 예를 들어, 사용자의 입력(예: 음성, 터치, 또는 제스쳐 입력 등) 및 전자 장치(1701)에서 수신된 무선 마우스(1703-1), 무선 키보드(1703-2), 및 태블릿(1703-3) 각각으로부터의 신호에 적어도 일부 기반하여, 무선 마우스(1703-1), 무선 키보드(1703-2), 및 태블릿(1703-3) 각각에서 수행하기 위한 태스크와 관련된 정보를 적어도 일부 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치(1701)는 획득된 정보에 따라 무선 마우스(1703-1) 및 무선 키보드(1703-2) 각각에 "태블릿에 붙여줘"에 기반한 동일한 명령인 태블릿(1703-3)과 연결 명령이 전달되도록 할 수 있다. 다양한 실시예에 따르면 전자 장치(1701)는 명령을 직접 전송할 수도 있고, 서버(예를 들면, 도 4 및 도 5a의 405, 또는 도 8b의 809)를 통해 전송할 수도 있다. 무선 마우스(1703-1) 및 무선 키보드(1703-2) 각각은 명령이 수신됨에 따라 태블릿(1703-3)과 연결 기능을 시작함으로써 명령을 수행할 수 있다. 무선 마우스(1703-1) 및 무선 키보드(1703-2) 각각은 태블릿과 연결 성공, 또는 태블릿과 연결 실패, 태블릿과 연결 완료를 알리는 정보를 포함하는 명령 수행 결과를 전자 장치(1701)에 전송할 수 있다. 전자 장치(1701)는 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보, 또는 상기 방식의 적어도 일부 조합된 방식과 같은 다양한 정보로 출력할 수 있다. 다양한 실시예에 따르면, 무선 마우스(1703-1) 및 무선 키보드(1703-2) 각각도 명령 수행 결과를 소리 정보, 디스플레이 정보, 또는 진동 정보와 같은 다양한 정보로 출력할 수 있다.
도 17b를 참조하면, 전자 장치(1707)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401 또는 도 16의 1601)는 사용자로부터 발화된 음성 예를 들면, "이거랑", "이거랑", "이거 다 꺼줘"라는 음성을 수신할 수 있고, 스피커(1703-5), TV(1703-6), 스탠드(1703-7)로부터 각각 신호를 수신할 수 있다. 예를 들면, 사용자가 "이거랑" 이라는 음성을 발화하면서 전자 장치(1707)가 스피커(1703-5)를 향하게 하고, 일정 시간 이내에 "이거랑" 이라는 음성을 발화하면서 전자 장치(1707)가 TV(1703-6)를 향하게 한 후, 다시 일정 시간 이내에 "이거 다 꺼줘" 라는 음성을 발화하면서 전자 장치(1707)가 스탠드(1703-7)를 향하게 한 경우, 전자 장치(1707)는 사용자로부터 발화된 음성 예를 들면, "이거랑, 이거랑, 이거 다 꺼줘"라는 음성의 적어도 일부를 기반으로 연관된 장치에 대한 제1 정보를 획득할 수 있다.
예를 들면, 전자 장치(1707)는 "이거랑", "이거랑", "이거 다 꺼줘" 중 "꺼줘"를 기반으로 전원 오프 기능과 연관된 장치들에 대한 제1 정보를 획득하거나 "이거랑", "이거랑", "이거 다 꺼줘" 중 일부와 연관된 장치가 없는 경우 연관된 장치에 대한 제1 정보로서 전자 장치(1707)가 지향하는 장치에 대한 제2 정보를 통해 태스크를 수행할 전자 장치를 확인하라는 정보를 획득할 수 있다.
전자 장치(1707)는 "이거랑"을 기반으로 연관된 장치들에 대한 정보를 얻기 위한 제2 정보가 요구됨을 나타내는 정보를 포함하는 제1 정보를 획득하고, 주변 장치들 예를 들면, 스피커(1703-5), TV(1703-6), 및 스탠드(1703-7)로부터 수신된 신호들 각각의 위상차에 기반하여 전자 장치(1701)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다. 예를 들면, 전자 장치(1707)는 "이거랑", "이거랑", "이거 다 꺼줘"와 같은 음성이 순차적으로 수신되는 경우, 수신된 음성들 각각의 수신 기간에 스피커(1703-5), TV(1703-6), 및 스탠드(1703-7)로부터 수신된 신호들 각각의 위상차에 기반하여 전자 장치(1707)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다.
예를 들면, 전자 장치(1707)는 최초 "이거랑"에 대응하는 제1 정보 및 최초 "이거랑" 수신 기간에 획득된 제2 정보를 기반으로 스피커(1703-5)를 확인할 수 있고, 두번째 "이거랑"에 대응하는 제1 정보 및 두번째 "이거랑" 수신 기간에 획득된 제2 정보를 기반으로 TV(1703-6)를 확인할 수 있고, "이거 다 꺼줘"에 대응하는 제1 정보 및 "이거 다 꺼줘" 수신 기간에 획득된 제2 정보를 기반으로 스탠드(1703-7)를 확인할 수 있다.
다양한 실시 예에 따르면 전자 장치(1707)는"이거랑", "이거랑" 및 "이거 다 꺼줘" 에 대한 자연어 이해 결과와 확인된 스피커(1703-5), TV(1703-6) 및 스탠드(1703-7)를 기반으로, 스피커(1703-5), TV(1703-6) 및 스탠드(1703-7)에 전원을 오프하도록 하는 명령을 전송하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 상기 명령은, 예를 들어, 사용자의 입력(예: 음성, 터치, 또는 제스쳐 입력 등) 및 전자 장치(1707)에서 수신된 스피커(1703-5), TV(1703-6) 및 스탠드(1703-7) 각각으로부터의 신호에 적어도 일부 기반하여, 스피커(1703-5), TV(1703-6) 및 스탠드(1703-7) 각각에서 수행하기 위한 태스크와 관련된 정보를 적어도 일부 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치(1707)는 획득된 정보에 따라 스피커(1703-5), TV(1703-6), 및 스탠드(1703-7) 각각에 동일한 명령 "꺼줘"가 전달되도록 할 수 있다. 다양한 실시예에 따르면 전자 장치(1707)는 명령을 직접 전송할 수도 있고, 연결 서버(예를 들면, 도 4 및 도 5의 405, 또는 도 8b의 809)를 통해 전송할 수도 있다. 스피커(1703-5), TV(1703-6), 및 스탠드(1703-7) 각각은 명령이 수신됨에 따라 전원 오프를 시작함으로써 명령을 수행할 수 있다. 스피커(1703-5), TV(1703-6), 및 스탠드(1703-7) 각각은 전원 오프 시작 성공, 또는 전원 오프시작 실패를 알리는 정보를 포함하는 명령 수행 결과를 전자 장치(1701)에 전송할 수 있다. 전자 장치(1707)는 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보, 또는 상기 방식의 적어도 일부 조합된 방식과 같은 다양한 정보로 출력할 수 있다. 다양한 실시예에 따르면, 스피커(1703-5), TV(1703-6), 및 스탠드(1703-7) 각각도 명령 수행 결과를 소리 정보, 디스플레이 정보, 또는 진동 정보와 같은 다양한 정보로 출력할 수 있다.
도 18은 다양한 실시예에 따른 전자 장치에서 복수의 외부 장치에 서로 다른 명령을 전송하는 동작을 나타낸 흐름도이다.
도 18을 참조하면, 일 실시예에 따라 복수의 외부 장치에 서로 다른 명령을 전송하는 태스크를 수행하기 위한 정보는 1812-1 동작 내지 1816-N 동작과 관련된 상태들의 시퀀스 정보를 포함할 수 있다. 전자 장치(1801)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401)는 1812-1 동작 내지 1812-N 동작 과 관련된 상태들의 시퀀스 정보를 이용하여 1812-1 동작 내지 1812-N 동작 이 수행되도록 할 수 있다. 일 실시예에 따르면 1812-1 동작 내지 1812-N 동작과 관련된 상태들의 시퀀스 정보는 전자 장치(1801)가 1812-1 동작 내지 1812-N 동작을 각각 또는 순차적으로 수행하도록 하는 정보를 포함할 수 있다. 일 실시예에 따르면, 전자 장치(1801)가 1812-1 동작 내지 1812-N 동작을 각각 또는 순차적으로 수행하도록 하는 정보는 1812-1 동작 내지 1812-N 동작의 적어도 일부와 관련된 룰 패스(rule path) 정보를 포함할 수 있다. 예를 들면, 룰 패스 정보는 전자 장치(1801)가 특정 어플리케이션을 실행하고 실행된 특정 어플리케이션을 통해 1812-1 동작 내지 1812-N 동작을 각각 또는 순차적으로 수행할 수 있도록 하는 정보를 포함하거나, 전자 장치(1801)에서 사용자의 명령을 수행하기 위한 1812-1 동작 내지 1812-N 동작의 상태 정보를 포함할 수 있다.
일 실시예에 따른 전자 장치(1801)은 1812-1 동작 내지 1812-N 동작에서 제1 내지 제N 선택된 외부 장치들(1803-1~1803-N)(예를 들면, 도 4 및 도 5의 제1 내지 제N 외부 장치들(403-1~403-N) 중 확인된 복수의 외부 장치들) 각각에 제1 내지 제N 선택된 외부 장치들(1803-1~1803-N) 각각과 연관된 제1 내지 제N 명령을 전송할 수 있다. 상기 제1 내지 제N 명령은, 예를 들어, 사용자의 입력(예: 음성, 터치, 또는 제스쳐 입력 등) 및 전자 장치(1801)에서 수신된 제1 내지 제N 외부 장치들(1803-1~1803-N)로부터의 신호에 적어도 일부 기반하여, 제1 내지 제N 외부 장치들(1803-1~1803-N) 각각에서 수행하기 위한 태스크와 관련된 정보를 적어도 일부 포함할 수 있다.
다양한 실시예에 따르면 제1 내지 제N 선택된 외부 장치들(1803-1~1803-N) 각각과 연관된 제1 내지 제N 명령은 서로 다른 명령일 수 있다. 예를 들어, 제1 명령을 수신한 외부 전자 장치(1803-1)은 제N 명령을 수신한 외부 전자 장치(1803-N)와 다른 기능을 수행할 수 있다.
제1 내지 제N 선택된 외부 장치들(1803-1~1803-N) 각각은 1814-1 동작 내지 1814-N 동작에서 각각 제1 내지 제N 명령을 수행할 수 있다. 일 실시예에 따르면 제1 내지 제N 선택된 외부 장치들(1803-1~1803-N) 각각은 전자 장치(1801)로부터 수신된 명령을 기반으로 명령에 대응된 기능을 판단하고, 판단된 기능을 수행할 수 있다
제1 내지 제N 선택된 외부 장치들(1803-1~1803-N) 각각은 1816-1 동작 내지 1816-N 동작에서 명령 수행 결과를 전자 장치(1801)로 전송할 수 있다. 다양한 실시예에 따르면 명령 수행 결과는 명령에 따른 기능 수행 성공, 명령에 따른 기능 수행 실패, 또는 명령에 따른 기능 수행 결과를 알리는 정보를 포함할 수 있다.
전자 장치(1801)는 제1 내지 제N 선택된 외부 장치들(1803-1~1803-N) 각각에 의한 제1 내지 제N 명령 수행 결과를 출력할 수 있다. 다양한 실시 예에 따르면 전자 장치(1801)는 제1 내지 제N 선택된 외부 장치들(1803-1~1803-N) 각각에 의한 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보 또는 상기 방식의 적어도 일부의 조합과 같은 다양한 방식의 정보로 출력할 수 있다.
도 19a 내지 도 19d는 다양한 실시예에 따른 복수의 외부 장치에 서로 다른 명령을 전송하는 예를 나타낸 도면이다. 다양한 실시 예에 따르면 전자 장치는 웨어러블 기기(1901), 리모컨(1905) 또는 스마트 폰(19907)(이하, 웨어러블 기기(1901) 또는 스마트 폰(1907)을 전자 장치라고도 함) 등의 다양한 형태일 수 있으며, 이 외에 다른 형태의 전자 장치일 수도 있다.
도 19a를 참조하면, 전자 장치(1901)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401 또는 도 18의 1801)는 사용자로부터 발화된 음성 예를 들면, "저거 10분 정도 돌리고"라는 음성 및 "끝나면 저거 예열 시작해"라는 음성을 수신할 수 있고, 전자 반죽기(1903-1) 및 전자 오븐(1903-2) 각각으로부터 신호를 수신할 수 있다. 예를 들면, 사용자가 "저거 10분 정도 돌리고" 라는 음성을 발화하면서 전자 장치(1901)가 전자 반죽기(1903-5)를 향하게 하고, 일정 시간 이내에 "끝나면 저거 예열 시작해" 라는 음성을 발화하면서 전자 장치(1901)가 전자 오븐(1903-2)를 향하게 한 경우, 전자 장치(1901)는 사용자로부터 발화된 음성 예를 들면, "저거 10분 정도 돌리고" 및 "끝나면 저거 예열 시작해"라는 음성의 적어도 일부를 기반으로 연관된 장치에 대한 제1 정보를 획득할 수 있다.
예를 들면, 전자 장치(1901)는 "10분 정도 돌리고"를 기반으로 10분동안 동작하는 기능이 있는 장치와, "예열 시작해"를 기반으로 예열 기능이 있는 장치를 연관된 장치들에 대한 제1 정보로서 획득하거나, "저거 10분 정도 돌리고" 및 "끝나면 저거 예열 시작해" 중 적어도 일부와 연관된 장치들이 없는 경우 제1 정보로서 전자 장치(1901)가 지향하는 장치에 대한 제2 정보를 통해 태스크를 수행할 전자 장치를 확인하라는 정보를 획득할 수 있다. 예를 들면, 전자 장치(1901)는 "저거"를 기반으로 연관된 장치들에 대한 정보를 얻기 위한 제2 정보가 요구됨을 나타내는 정보를 포함하는 제1 정보를 획득하고, 주변 장치들 예를 들면, 전자 반죽기(1903-1) 및 전자 오븐(1903-2)으로부터 수신된 신호들 각각의 위상차에 기반하여 전자 장치(1901)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다. 일 실시예에 따르면, 전자 장치(1901)는 "저거 10분 정도 돌리고" 및 "끝나면 저거 예열 시작해"와 같은 음성이 순차적으로 수신되는 경우, 수신된 음성들 각각의 수신 기간에 전자 반죽기(1903-1) 및 전자 오븐(1903-2)으로부터 수신된 신호들 각각의 위상차에 기반하여 전자 장치(1901)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다.
전자 장치(1901)는 제1 정보 및 제2 정보를 기반으로 전자 반죽기(1903-1) 및 전자 오븐(1903-2)을 확인할 수 있다. 예를 들면, 전자 장치(1901)는 "저거 10분 정도 돌리고"에 대응하는 제1 정보 및 "저거 10분 정도 돌리고" 의 음성 수신 기간에 획득된 제2 정보를 기반으로 전자 반죽기(1903-1)를 확인할 수 있고, "끝나면 저거 예열 시작해" 에 대응하는 제1 정보 및 "끝나면 저거 예열 시작해"의 음성 수신 기간에 획득된 제2 정보를 기반으로 전자 오븐(1903-2)을 확인할 수 있다.
다양한 실시 예에 따르면 전자 장치(1901)는"저거 10분 정도 돌리고" 및 "끝나면 저거 예열 시작해" 에 대한 자연어 이해 결과와 확인된 전자 반죽기(1903-1) 및 전자 오븐(1903-2)을 기반으로, 전자 반죽기(1903-1) 및 전자 오븐(1903-2)에 서로 다른 명령을 전송하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 상기 명령은, 예를 들어, 사용자의 입력(예: 음성, 터치, 또는 제스쳐 입력 등) 및 전자 장치(1901)에서 수신된 전자 반죽기(1903-1) 및 전자 오븐(1903-2) 각각으로부터의 신호에 적어도 일부 기반하여, 전자 반죽기(1903-1) 및 전자 오븐(1903-2) 각각에서 수행하기 위한 태스크와 관련된 정보를 적어도 일부 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치(1901)는 획득된 정보에 따라 전자 반죽기(1903-1)에는 10분 반죽 명령이 전달되도록 할 수 있고, 전자 오븐(1903-2)에는 10분 후 180도로 예열하라는 명령이 전달되도록 할 수 있다. 다양한 실시예에 따르면 전자 장치(1901)는 명령을 직접 전송할 수도 있고, 서버(예를 들면, 도 4의 405 또는 도 8b의 809)를 통해 전송할 수도 있다. 일 실시예에 따르면, 전자 장치(1901)는 전자 오븐(1903-2)에게 예약 시간(예: 10분 후)이 설정된 명령을 전달하거나 또는 설정된 시간(예: 10분 후)에 명령을 전달할 수 있다. 전자 반죽기(1903-1) 및 전자 오븐(1903-2) 각각은 전자 장치(1901)로부터 수신된 명령을 수행할 수 있다. 전자 반죽기(1903-1) 및 전자 오븐(1903-2) 각각은 명령 수행 결과를 전자 장치(1901)에 전송할 수 있다. 전자 장치(1901)는 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보, 또는 상기 방식의 적어도 일부의 조합과 같은 다양한 정보로 출력할 수 있다. 다양한 실시예에 따르면 전자 반죽기(1903-1) 및 전자 오븐(1903-2) 각각도 명령 수행 결과를 소리 정보, 디스플레이 정보, 또는 진동 정보와 같은 다양한 정보로 출력할 수 있다.
도 19b를 참조하면, 전자 장치(1901)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401 또는 도 18의 1801)는 사용자에 의해 발화된 음성 예를 들면, "이건 앞쪽 왼쪽으로", "이건 앞에 오른쪽으로", "이거는 후방 서라운드 오른쪽으로 연결해 줘" 라는 음성을 수신할 수 있고, 제1 오디오 출력 장치(1903-5), 제2 오디오 출력 장치(1903-6), 및 제3 오디오 출력 장치(1903-7) 각각으로부터 신호를 수신할 수 있다. 예를 들면, 사용자가 "이건 앞쪽 왼쪽으로" 라는 음성을 발화하면서 전자 장치(1901)가 제1 오디오 출력 장치(1903-5)를 향하게 하고, 일정 시간 이내에 "이건 앞에 오른쪽으로" 라는 음성을 발화하면서 전자 장치(1901)가 제2 오디오 출력 장치(1903-6)를 향하게 하고, 다시 일정 시간 이내에 "이거는 후방 서라운드 오른쪽으로 연결해 줘"라는 음성을 발화하면서 전자 장치(1901)가 제3 오디오 출력 장치(1903-7)를 향하게 한 경우, 전자 장치(1901)는 사용자로부터 발화된 음성의 적어도 일부 예를 들면, "이건", "이거는"을 기반으로 연관된 장치들에 대한 장치들에 대한 정보를 얻기 위한 제2 정보가 요구됨을 나타내는 정보를 포함하는 제1 정보를 획득할 수 있다.
다양한 실시예에 따르면, 전자 장치(1901)는 제1 오디오 출력 장치(1903-5), 제2 오디오 출력 장치(1903-6), 및 제3 오디오 출력 장치(1903-7) 각각으로부터 수신된 신호들 각각의 위상차에 기반하여 전자 장치(1901)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다. 일 실시예에 따르면, 전자 장치(1901)는 "이건 앞쪽 왼쪽으로", "이건 앞에 오른쪽으로", "이거는 후방 서라운드 오른쪽으로 연결해 줘"와 같은 음성이 순차적으로 수신되는 경우, 수신된 음성들 각각의 수신 기간에 제1 오디오 출력 장치(1903-5), 제2 오디오 출력 장치(1903-6), 및 제3 오디오 출력 장치(1903-7) 으로부터 수신된 신호들 각각의 위상차에 기반하여 전자 장치(1901)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다.
전자 장치(1901)는 제1 정보 및 제2 정보를 기반으로 제1 오디오 출력 장치(1903-5), 제2 오디오 출력 장치(1903-6), 및 제3 오디오 출력 장치(1903-7)를 확인할 수 있다. 예를 들면, 전자 장치(1901)는 "이건 앞쪽 왼쪽으로"에 대응하는 제1 정보 및 "이건 앞쪽 왼쪽으로" 수신 기간에 대응된 제2 정보를 기반으로 제1 오디오 출력 장치(1903-5)를 확인할 수 있고, "이건 앞에 오른쪽으로"에 대응하는 제1 정보 및 "이건 앞에 오른쪽으로"수신 기간에 대응된 제2 정보를 기반으로 제2 오디오 출력 장치(1903-6)를 확인할 수 있고, "이거는 후방 서라운드 오른쪽으로 연결해 줘" 에 대응하는 제1 정보 및 "이거는 후방 서라운드 오른쪽으로 연결해 줘" 수신 기간에 대응된 제2 정보를 기반으로 제3 오디오 출력 장치(1903-7)를 확인할 수 있다.
다양한 실시 예에 따르면 전자 장치(1901)는"이건 앞쪽 왼쪽으로","이건 앞에 오른쪽으로" 및 "이거는 후방 서라운드 오른쪽으로 연결해줘" 에 대한 자연어 이해 결과와 확인된 제1 내지 제3 오디오 출력 장치(1903-5~1903-7)를 기반으로, 제1 내지 제3 오디오 출력 장치(1903-5~1903-7)에 각각에 대응된 명령을 전송하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 상기 명령은, 예를 들어, 사용자의 입력(예: 음성, 터치, 또는 제스쳐 입력 등) 및 전자 장치(1901)에서 수신된 제1 오디오 출력 장치(1903-5), 제2 오디오 출력 장치(1903-6), 및 제3 오디오 출력 장치(1903-7) 각각으로부터의 신호에 적어도 일부 기반하여, 제1 오디오 출력 장치(1903-5), 제2 오디오 출력 장치(1903-6), 및 제3 오디오 출력 장치(1903-7) 각각에서 수행하기 위한 태스크와 관련된 정보를 적어도 일부 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치(1901)는 획득된 정보에 따라 제1 오디오 출력 장치(1903-5)에는 미디어 장치(1903-8)와 연결 후 프론트 좌측 스피커로 설정하도록 하는 제1 명령이 전달되도록 할 수 있고, 제2 오디오 출력 장치(1903-6)에는 미디어 장치(1903-8)와 연결 후 프론트 우측 스피커로 설정하도록 하는 명령이 전달되도록 할 수 있고, 제3 오디오 출력 장치(1903-7)에는 미디어 장치(1903-8)와 연결 후 후방 서라운드 우측 스피커로 설정하도록 하는 명령이 전달되도록 할 수 있다. 다양한 실시예에 따르면 전자 장치(1901)는 명령을 직접 전송할 수도 있고, 서버(예를 들면, 도 4의 405 또는 도 8b의 809)를 통해 전송할 수도 있다. 제1 오디오 출력 장치(1903-5), 제2 오디오 출력 장치(1903-6) 및 제3 오디오 출력 장치(1903-7) 각각은 전자 장치(1901)로부터 수신된 명령을 수행할 수 있다. 제1 오디오 출력 장치(1903-5), 제2 오디오 출력 장치(1903-6) 및 제3 오디오 출력 장치(1903-7) 각각은 명령 수행 결과를 전자 장치(1901)에 전송할 수 있다. 전자 장치(1901)는 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보, 또는 상기 방식의 적어도 일부의 조합과 같은 다양한 정보로 출력할 수 있다. 다양한 실시예에 따르면 제1 오디오 출력 장치(1903-5), 제2 오디오 출력 장치(1903-6) 및 제3 오디오 출력 장치(1903-7) 각각도 명령 수행 결과를 소리 정보, 디스플레이 정보, 또는 진동 정보와 같은 다양한 정보로 출력할 수 있다.
도 19c를 참조하면, 전자 장치(1907)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401 또는 도 18의 1801)는 사용자로부터 발화된 음성 예를 들면, "넌 저쪽에 애기방가서 애들이랑 놀아주고", "넌 빨리 거실 청소 시작하고", "너네 둘이는 나 따라와 음식하는 것좀 돕자"라는 음성을 수신할 수 있고, 제1 로봇 장치(1903-11), 제2 로봇 장치(1903-12), 제3 로봇 장치(1903-13), 및 제4 로봇 장치(1903-14) 각각으로부터 신호를 수신할 수 있다.
예를 들면, 사용자가 "넌 저쪽에 애기방가서 애들이랑 놀아주고" 라는 음성을 발화하면서 전자 장치(1907)가 제1 로봇 장치(1903-11)를 향하게 하고, 일정 시간 이내에 "넌 빨리 거실 청소 시작하고" 라는 음성을 발화하면서 전자 장치(1907)가 제2 로봇 장치(1903-12)를 향하게 하고, 다시 일정 시간 이내에 "너네 둘이는 나 따라와 음식하는 것좀 돕자"라는 음성을 발화하면서 전자 장치(1907)가 제3 로봇 장치(1903-13) 및 제4 로봇 장치(1903-14)를 향하게 한 경우, 전자 장치(1907)는 사용자로부터 발화된 음성의 적어도 일부 예를 들면, "넌", "너네 둘이는"을 기반으로 연관된 장치들에 대한 장치들에 대한 정보를 얻기 위한 제2 정보가 요구됨을 나타내는 정보를 포함하는 제1 정보를 획득할 수 있다.
다양한 실시예에 따르면, 전자 장치(1907)는 제1 로봇 장치(1903-11), 제2 로봇 장치(1903-12), 제3 로봇 장치(1903-13), 및 제4 로봇 장치(1903-14) 각각으로부터 수신된 신호들 각각의 위상차에 기반하여 전자 장치(1907)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다. 일 실시예에 따르면, 전자 장치(1907)는 "넌 저쪽에 애기방가서 애들이랑 놀아주고", "넌 빨리 거실 청소 시작하고", "너네 둘이는 나 따라와 음식하는 것좀 돕자"와 같은 음성이 순차적으로 수신되는 경우, 수신된 음성들 각각의 수신 기간에 제1 로봇 장치(1903-11), 제2 로봇 장치(1903-12), 제3 로봇 장치(1903-13), 및 제4 로봇 장치(1903-14) 각각으로부터 수신된 신호들 각각의 위상차에 기반하여 전자 장치(1907)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다.
다양한 실시예에 따르면 전자 장치(1907)는 제1 정보 및 제2 정보를 기반으로 제1 로봇 장치(1903-11), 제2 로봇 장치(1903-12), 제3 로봇 장치(1903-13), 및 제4 로봇 장치(1903-14)를 확인할 수 있다.
예를 들면, 전자 장치(1907)는 "넌 저쪽에 애기방가서 애들이랑 놀아주고"에 대응하는 제1 정보 및 "넌 저쪽에 애기방가서 애들이랑 놀아주고" 수신 기간에 대응된 제2 정보를 기반으로 제1 로봇 장치(1903-11)를 확인할 수 있고, "넌 빨리 거실 청소 시작하고"에 대응하는 제1 정보 및 "넌 빨리 거실 청소 시작하고" 수신 기간에 대응된 제2 정보를 기반으로 제2 로봇 장치(1903-12)를 확인할 수 있고, "너네 둘이는 나 따라와 음식하는 것좀 돕자"에 대응하는 제1 정보 및 "너네 둘이는 나 따라와 음식하는 것좀 돕자" 수신 기간에 대응된 제2 정보를 기반으로 제3 로봇 장치(1903-13) 및 제4 로봇 장치(1903-14)를 확인할 수 있다.
다양한 실시 예에 따르면 전자 장치(1907)는"넌 저쪽에 애기방가서 애들이랑 놀아주고","넌 빨리 거실 청소 시작하고" 및 "너네 둘이는 나 따라와 음식하는 것좀 돕자"에 대한 자연어 이해 결과와 확인된 제1 내지 제4 로봇 장치(1903-11~1903-14)를 기반으로, 제1 내지 제4 로봇 장치(1903-11~1903-14)에 각각에 대응된 명령을 전송하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 상기 명령은, 예를 들어, 사용자의 입력(예: 음성, 터치, 또는 제스쳐 입력 등) 및 전자 장치(1907)에서 수신된 제1 내지 제4 로봇 장치(1903-11~1903-14) 각각으로부터의 신호에 적어도 일부 기반하여, 제1 내지 제4 로봇 장치(1903-11~1903-14) 각각에서 수행하기 위한 태스크와 관련된 정보를 적어도 일부 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치(1907)는 획득된 정보에 따라 제1 로봇 장치(1903-11)에는 애기방으로 가서 애들이랑 놀아주라는 명령이 전달되도록 할 수 있고, 제2 로봇 장치(1903-12)에는 거실 청소하도록 하는 명령이 전달되도록 할 수 있고, 제3 로봇 장치(1903-13) 및 제4 로봇 장치(1903-14)에는 따라와서 음식하는 것을 돕도록 하는 명령이 전달되도록 할 수 있다. 다양한 실시예에 따르면 전자 장치(1907)는 명령을 직접 전송할 수도 있고, 연결 서버(예를 들면, 도 8b의 809)를 통해 전송할 수도 있다. 제1 내지 제4 로봇 장치(1903-11~1903-14) 각각은 전자 장치(1907)로부터 수신된 명령을 수행할 수 있다. 제1 내지 제4 로봇 장치(1903-11~1903-14) 각각은 명령 수행 결과를 전자 장치(1907)에 전송할 수 있다. 전자 장치(1907)는 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보 또는 상기 방식의 적어도 일부의 조합 등과 같은 다양한 정보로 출력할 수 있다. 다양한 실시예에 따르면 제1 내지 제4 로봇 장치(1903-11~1903-14) 각각도 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보 또는 상기 방식의 적어도 하나의 조합과 같은 다양한 정보로 출력할 수 있다.
도 19d를 참조하면, 전자 장치(1905)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401 또는 도 18의 1801)는 리모컨 형태일 수 있으며, 지문 센서(1915)(예를 들면, 도 2의 센서 모듈 240)를 포함할 수 있다. 일 실시예에 따르면 전자 장치(1905)는 지문 센서(1915)에 의해 인식된 지문이 등록된 지문 정보와 일치하는 경우 사용자 입력을 수신할 수 있도록 설정될 수 있다. 전자 장치(1905)는 사용자로부터 발화된 음성 신호 예를 들면, "너 지금 00에 가서 맥주 1박스만 사와" 및 "그리고 너도 같이 가서 기저귀 1박스 사와" 라는 음성을 수신할 수 있고, 제1 내지 제4 드론 장치(1903-15 내지 1903-18) 각각으로부터 신호를 수신할 수 있다.
예를 들면, 사용자가 너 지금 00에 가서 맥주 1박스만 사와" 라는 음성을 발화하면서 전자 장치(1907)가 제1 드론 장치 (1903-15)를 향하게 하고, 일정 시간 이내에 "그리고 너도 같이 가서 기저귀 1박스 사와" 라는 음성을 발화하면서 전자 장치(1907)가 제4 드론 장치(1903-18)을 향하게 한 경우, 전자 장치(1907)는 사용자로부터 발화된 음성의 적어도 일부 예를 들면, "너", "너도"를 기반으로 연관된 장치들에 대한 장치들에 대한 정보를 얻기 위한 제2 정보가 요구됨을 나타내는 정보를 포함하는 제1 정보를 획득할 수 있다.
다양한 실시예에 따르면, 전자 장치(1907)는 제1 드론 장치 및 제4 드론 장치(1903-15 및 1903-18) 각각으로부터 수신된 신호들 각각의 위상차에 기반하여 전자 장치(1907)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다. 일 실시예에 따르면, 전자 장치(1907)는 "너 지금 00에 가서 맥주 1박스만 사와" 및 "그리고 너도 같이 가서 기저귀 1박스 사와" 와 같은 음성이 순차적으로 수신되는 경우, 수신된 음성들 각각의 수신 기간에 제1 드론 장치 및 제4 드론 장치(1903-15 및 1903-18) 각각으로부터 수신된 신호들 각각의 위상차에 기반하여 전자 장치(1901)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다.
전자 장치(1907)는 제1 정보 및 제2 정보를 기반으로 제1 드론 장치(1903-15) 및 제4 드론 장치(1903-18)를 확인할 수 있다. 예를 들면, 전자 장치(1907)는 "너 지금 00에 가서 맥주 1박스만 사와" 에 대응하는 제1 정보 및 "너 지금 00에 가서 맥주 1박스만 사와" 수신 기간에 대응된 제2 정보를 기반으로 제1 드론 장치(1903-15)를 확인할 수 있고, "그리고 너도 같이 가서 기저귀 1박스 사와" 에 대응하는 제1 정보 및 "그리고 너도 같이 가서 기저귀 1박스 사와" 수신 기간에 대응된 제2 정보를 기반으로 제4 드론 장치(1903-18)를 확인할 수 있다.
다양한 실시 예에 따르면 전자 장치(1907)는"너 지금 00에 가서 맥주 1박스만 사와" 및 그리고 너도 같이 가서 기저귀 1박스 사와" 에 대한 자연어 이해 결과와 확인된 제1 드론 장치 및 제4 드론 장치(1903-15 및 1903-18)를 기반으로, 제1 드론 장치 및 제4 드론 장치(1903-15 및 1903-18)에 각각에 대응된 명령을 전송하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 상기 명령은, 예를 들어, 사용자의 입력(예: 음성, 터치, 또는 제스쳐 입력 등) 및 전자 장치(1907)에서 수신된 제1 드론 장치 및 제4 드론 장치(1903-15 및 1903-18)으로부터의 신호에 적어도 일부 기반하여, 제1 드론 장치 및 제4 드론 장치(1903-15 및 1903-18) 각각에서 수행하기 위한 태스크와 관련된 정보를 적어도 일부 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치(1907)는 획득된 정보에 따라 제1 드론 장치(1903-15)에는 00에 가서 맥주 1박스를 사오라는 명령이 전달되도록 할 수 있고, 제4 드론 장치(1903-18)에는 00에 가서 기저귀 1박스를 사오라는 명령이 전달되도록 할 수 있다. 다양한 실시예에 따르면 전자 장치(1907)는 명령을 직접 전송할 수도 있고, 서버(예를 들면, 도 4의 405 또는 도 8b의 809)를 통해 전송할 수도 있다. 제1 드론 장치 및 제4 드론 장치(1903-15, 1903-18) 각각은 전자 장치(1907)로부터 수신된 명령을 수행할 수 있다. 제1 드론 장치 및 제4 드론 장치(1903-15, 1903-18) 각각은 명령 수행 결과를 전자 장치(1907)에 전송할 수 있다. 전자 장치(1907)는 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보 또는 상기 방식의 적어도 일부의 조합과 같은 다양한 정보로 출력할 수 있다. 다양한 실시예에 따르면 제1 드론 장치 및 제4 드론 장치(1903-15, 1903-18) 각각도 명령 수행 결과를 소리 정보, 디스플레이 정보, 또는 진동 정보와 같은 다양한 정보로 출력할 수 있다.
도 19e를 참조하면, 전자 장치(1901)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401 또는 도 18의 1801)는 사용자로부터 발화된 음성 신호 예를 들면, "너는 지금 공항 가서 영진이 픽업해오고" 및 "너는 3시까지 축구장 가서 기다리고 있다가 막내 태워와, 오는 길에 세차도 좀 해" 라는 음성을 수신할 수 있고, 제1 스마트 카(1903-19) 및 제2 스마트 카(1903-20) 각각으로부터 신호를 수신할 수 있다.
예를 들면, 사용자가 "너는 지금 공항 가서 영진이 픽업해오고" 라는 음성을 발화하면서 전자 장치(1901)가 제1 스마트 카(1903-19)를 향하게 하고, 일정 시간 이내에 "너는 3시까지 축구장 가서 기다리고 있다가 막내 태워와, 오는 길에 세차도 좀 해" 라는 음성을 발화하면서 전자 장치(1901)가 제2 스마트 카(1903-20)을 향하게 한 경우, 전자 장치(1901)는 사용자로부터 발화된 음성의 적어도 일부 예를 들면,"너는"을 기반으로 연관된 장치들에 대한 장치들에 대한 정보를 얻기 위한 제2 정보가 요구됨을 나타내는 정보를 포함하는 제1 정보를 획득할 수 있다.
다양한 실시예에 따르면, 전자 장치(1901)는 제1 스마트 카 및 제2 스마트 카(1903-19 및 1903-20) 각각으로부터 수신된 신호들 각각의 위상차에 기반하여 전자 장치(1901)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다. 일 실시예에 따르면, 전자 장치(1901)는 "너는 지금 공항 가서 영진이 픽업해오고" 및"너는 3시까지 축구장 가서 기다리고 있다가 막내 태워와, 오는 길에 세차도 좀 해"와 같은 음성이 순차적으로 수신되는 경우, 수신된 음성들 각각의 수신 기간에 제1 스마트 카 및 제2 스마트 카(1903-19 및 1903-20) 각각으로부터 수신된 신호들 각각의 위상차에 기반하여 전자 장치(1901)가 지향하는 장치에 대한 제2 정보를 획득할 수 있다.
전자 장치(1901)는 제1 정보 및 제2 정보를 기반으로 제1 스마트 카 및 제2 스마트 카(1903-19 및 1903-20)를 확인할 수 있다. 예를 들면, 전자 장치(1901)는 ""너는 지금 공항 가서 영진이 픽업해오고" 에 대응하는 제1 정보 및 "너는 지금 공항 가서 영진이 픽업해오고" 수신 기간에 대응된 제2 정보를 기반으로 제1 스마트 카(1903-19)를 확인할 수 있고, "너는 3시까지 축구장 가서 기다리고 있다가 막내 태워와, 오는 길에 세차도 좀 해"에 대응하는 제1 정보 및 "너는 3시까지 축구장 가서 기다리고 있다가 막내 태워와, 오는 길에 세차도 좀 해" 수신 기간에 대응된 제2 정보를 기반으로 제2 스마트 카(1903-20)를 확인할 수 있다.
다양한 실시 예에 따르면 전자 장치(1901)는"너는 지금 공항 가서 영진이 픽업해오고" 및"너는 3시까지 축구장 가서 기다리고 있다가 막내 태워와, 오는 길에 세차도 좀 해"에 대한 자연어 이해 결과와 확인된 제1 스마트 카 및 제2 스마트 카(1903-19 및 1903-20)를 기반으로, 제1 스마트 카 및 제2 스마트 카(1903-19 및 1903-20) 각각에 대응된 명령을 전송하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 상기 명령은, 예를 들어, 사용자의 입력(예: 음성, 터치, 또는 제스쳐 입력 등) 및 전자 장치(1901)에서 수신된 제1 스마트 카 및 제2 스마트 카(1903-19 및 1903-20)으로부터의 신호에 적어도 일부 기반하여, 제1 스마트 카 및 제2 스마트 카(1903-19 및 1903-20) 각각에서 수행하기 위한 태스크와 관련된 정보를 적어도 일부 포함할 수 있다. 일 실시예에 따르면, 전자 장치(1901)는 현재 전자 장치(1901)를 착용하거나 휴대한 사용자가 권한이 있는 사용자인지를 인증한 후, 인증이 성공함에 따라 제1 스마트 카 및 제2 스마트 카(1903-19 및 1903-20) 각각에 대응된 명령을 전송하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 예를 들면, 사용자 인증은 사용자의 얼굴 인식 또는 지문 인식, 홍채 인식, 심전도 패턴 매칭, 손목 핏줄 패턴 인식 등과 같은 다양한 인식을 포함하는 생체 인식을 기반으로 수행될 수 있다.
다양한 실시예에 따르면, 전자 장치(1901)는 획득된 정보에 따라 제1 스마트 카(1903-19)에는 공항에 가서 영진이를 픽업하는 것에 대응된 명령이 전달되도록 할 수 있고, 제2 스마트 카(1903-20)에는 3시까지 축구장 가서 기다리고 있다가 막내 태우고, 오는 길에 세차를 수행하도록 하는 것에 대응된 명령이 전달되도록 할 수 있다. 다양한 실시예에 따르면 전자 장치(1901)는 명령을 직접 전송할 수도 있고, 서버(예를 들면, 도 4의 405 또는 도 8b의 809)를 통해 전송할 수도 있다. 제1 및 제2 스마트 카(1903-19, 1903-20) 각각은 전자 장치(1901)로부터 수신된 명령을 수행할 수 있다. 제1 스마트 카 및 제2 스마트 카(1903-19, 1903-20) 각각은 명령 수행 결과를 전자 장치(1901)에 전송할 수 있다. 전자 장치(1901)는 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보 또는 상기 방식의 적어도 일부의 조합과 같은 다양한 정보로 출력할 수 있다. 다양한 실시예에 따르면 제1 스마트 카 및 제2 스마트 카(1903-19, 1903-20) 각각도 명령 수행 결과를 소리 정보, 디스플레이 정보, 또는 진동 정보와 같은 다양한 정보로 출력할 수 있다.
도 20은 다양한 실시예에 따른 사용자 입력과 관련된 데이터와 수신된 적어도 하나의 신호와 센서 모듈에 의한 센싱값에 기반하여 외부 장치를 확인하는 동작을 나타낸 흐름도이다.
도 20을 참조하면, 전자 장치(2001)(예를 들면, 도 1의 101, 도 2의 201 또는 도 4의 401)는 2012 동작에서 사용자 입력을 수신할 수 있다. 전자 장치(2001)는 수신된 사용자 입력을 사용자 입력과 관련된 데이터로 변환할 수 있다. 일 실시예에 따르면, 전자 장치(2001)는 마이크를 통해 사용자에 의해 발화된 음성 신호를 수신할 수 있다. 예를 들면, 사용자는 "불 꺼" "저거 뭐야?", "저기서 노래 틀어봐", "저거 10분 있다 꺼줘", "저거 충전해야 돼?"등과 같이 명령어를 포함하거나, 명령어와 지시 대명사를 포함하는 음성을 발화할 수 있다. 전자 장치(2001)는 마이크를 통해 상기 발화된 음성 신호를 수신할 수 있고, 수신된 음성 신호를 사용자 입력과 관련된 데이터인 음성 데이터로 변환할 수 있다.
전자 장치(2001)는 2014 동작에서 사용자 입력과 연관된 데이터를 서버(2005)에 전송할 수 있다. 다양한 실시예에 따르면, 사용자 입력과 연관된 데이터는 사용자에 의해 발화된 음성 신호와 연관된 음성 데이터, 사용자의 제스쳐에 의한 모션 센싱과 연관된 데이터, 터치 스크린을 통한 사용자의 터치 입력과 연관된 데이터, 또는 각종 키를 통한 키입력과 연관된 데이터 등과 같이 다양한 형태의 사용자 입력과 연관된 데이터 중 하나일 수 있다.
서버(2005)는 2016 동작에서 전자 장치(2001)로부터 수신된 사용자 입력과 연관된 데이터를 기반으로 적어도 하나의 외부 장치 확인을 위한 제1 정보를 전자 장치(2001)에 전송할 수 있다. 다양한 실시예에 따르면, 서버(2005)는 전자 장치(2001)로부터 수신된 음성 데이터를 기반으로 음성 인식을 수행하고, 자연어 이해를 수행하여 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 획득할 수 있고, 획득된 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 기반으로 적어도 하나의 외부 장치 확인을 위한 제1 정보를 획득하여 전자 장치(2001)에 전송할 수 있다. 일 실시예에 따르면, 제1 정보는 외부 장치 리스트를 포함할 수 있다. 외부 장치 리스트는 적어도 하나의 외부 장치의 장치 인식 정보가 포함될 수 있다. 또한 제1 정보는 전자 장치에서(2001)에서 외부 장치 확인을 위한 제2 정보가 요구됨을 나타내는 정보를 더 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치(2001)는 음성 데이터를 서버(2005)에 전송하지 않고, 자체적으로 음성 데이터를 기반으로 적어도 하나의 외부 장치 확인을 위한 제1 정보를 획득할 수도 있다. 전자 장치(2001)가 음성 데이터를 서버(2005)에 전송하지 않고, 자체적으로 음성 데이터를 기반으로 적어도 하나의 외부 장치 확인을 위한 제1 정보를 획득하는 경우, 2014 동작 및 2016 동작이 생략될 수 있다.
전자 장치(2001)는 2018-1 내지 2018-N 동작에서 통신 회로를 통해 적어도 하나의 신호를 획득할 수 있다. 예를 들면, 제1 내지 제N 외부 장치(2003-1~2003-N) 각각으로부터 브로드캐스팅된 신호를 수신할 수 있다. 전자 장치(2001)는 제1 내지 제N 외부 장치(2003-1~2003-N) 각각으로부터 주기적으로 브로드캐스팅되는 신호를 수신할 수도 있고, 제1 내지 제N 외부 장치(2003-1~2003-N)에 신호를 요청한 후, 제1 내지 제N 외부 장치(2003-1~2003-N)로부터 브로드캐스팅된 신호를 수신할 수도 있다. 다양한 실시예에 따르면, 전자 장치(2001)는 복수의 안테나들을 포함할 수 있으며, 복수의 안테나들을 통해 적어도 하나의 무선 통신 신호를 수신할 수 있다. 예를 들면, 전자 장치(2001)는 제1 내지 제N 외부 장치(2003-1~2003-N) 각각으로부터의 신호 각각을 복수의 안테나를 통해 수신할 수 있다. 적어도 하나의 신호가 복수의 안테나들에 의해 수신되는 경우, 복수의 안테나들에 의해 수신되는 신호들 사이에 위상차가 발생할 수 있다. 일 실시예에 따르면, 제1 외부 장치(2003-1)의 신호가 두 개의 안테나를 통해 수신되는 경우, 두 개의 안테나를 통해 수신된 두 개의 신호 사이에는 두 개의 안테나에 도달하는 시간차에 의해 위상차가 발생할 수 있다. 다양한 실시예에 따르면 전자 장치(2001)는 제1 내지 제N 외부 장치(2003-1~2003-N)로부터의 신호 각각을 복수의 안테나들을 통해 수신하여 제1 내지 제N 외부 장치(2003-1~2003-N)로부터의 신호 각각에 대한 위상차를 검출하고, 제1 내지 제N 외부 장치(2003-1~2003-N)로부터의 신호들 중 위상차가 미리 정해진 임계값 이하인 신호에 대응된 외부 장치를 판단할 수 있다. 위상차가 미리 정해진 임계값 이하인 신호를 전송하는 외부 장치는 전자 장치(2001)의 복수의 안테나가 지향하는 방향에 위치하고 있다고 판단될 수 있다. 전자 장치(2001)는 위상차가 미리 정해진 임계값 이하인 신호에 대응된 외부 장치에 대한 제2 정보를 획득할 수 있다. 예를 들면 제2 정보는 위상차가 미리 정해진 임계값 이하인 신호에 대응된 외부 장치의 장치 인식 정보를 포함할 수 있다.
전자 장치(2001)는 2020 동작에서 센서 모듈(예: 도 2의 센서 모듈(240))에 의해 센싱값을 획득할 수 있다. 다양한 실시예에 따르면, 제스쳐 센서, 자이로 세서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, RGB 센서, 생체 센서, 온/습도 센서, 조도센서, 또는 UV센서 중 적어도 하나의 센서 모듈에 의한 센싱값을 획득할 수 있다. 일 실시예에 따르면 전자 장치(2001)는 사용자에 의한 범위를 지정하는 제스쳐 입력에 따라 적어도 하나의 센서 모듈에 의해 센싱된 센싱값을 획득할 수 있고, 제스쳐 센서에 의한 센싱값 및 자이로 센서에 의한 센싱값을 기반으로 전자 장치의 이동 범위 예를 들면, 전자 장치의 이동 방향 및 거리를 획득할 수 있다.
전자 장치(2001)는 2022 동작에서 적어도 하나의 외부 장치 신호와 적어도 하나의 센싱 모듈에 의해 획득된 센싱값에 기반하여 적어도 하나의 외부 장치를 확인할 수 있다. 다양한 실시예예 따르면, 전자 장치(2001)는 사용자 입력과 관련된 데이터를 기반으로 획득된 제1 정보와 적어도 하나의 외부 장치 신호에 기반하여 획득된 제2 정보와 적어도 하나의 센서 모듈에 의해 획득된 적어도 하나의 센싱값을 기반으로 적어도 하나의 외부 장치를 확인할 수 있다. 예를 들면, 전자 장치(2001)는 음성 데이터를 기반으로 획득된 제1 정보(예를 들면, 외부 장치 리스트)에 포함된 외부 장치들 중 전자 장치의 이동 범위와 제2 정보에 따라 전자 장치의 이동 범위 내에서 복수의 안테나를 통해 수신된 신호의 위상차가 미리 정해진 임계값 이하를 가지는 적어도 하나의 외부 장치를 확인할 수 있다. 예를 들면, 전자 장치(2001)는 사용자 발화에 의한 음성에 의해 확인된 적어도 하나의 외부 장치들 중에서 사용자가 전자 장치(2001)를 이용하여 범위를 지정하는 제스쳐 입력에 따라 범위 내에 포함되는 적어도 하나의 외부 장치를 확인할 수 있다.
전자 장치(2001)는 2024 동작에서 적어도 하나의 외부 장치 정보를 서버(2005)에 전송할 수 있다. 다양한 실시예에 따르면 전자 장치(2001)는 상기 확인된 적어도 하나의 외부 장치에 대한 장치 인식 정보(예를 들면, 디바이스 ID)를 서버(2005)에 전송할 수 있다.
서버(2005)는 2026 동작에서 상기 수신된 사용자 입력과 연관된 데이터와 상기 확인된 적어도 하나의 외부 장치 정보를 기반으로 외부 장치를 이용한 태스크를 수행하기 위한 정보를 획득할 수 있다. 다양한 실시예에 따르면, 서버(2005)는 사용자 입력과 관련된 데이터로서 음성 데이터가 수신되고, 적어도 하나의 외부 장치 정보로서 장치 인식 정보가 수신된 경우, 서버(2005)는 수신된 음성 데이터를 기반으로 음성 인식을 수행하고, 인식된 음성에 대한 자연어 이해를 수행하여 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 획득할 수 있고, 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보와 장치 인식 정보를 기반으로 장치 인식 정보에 대응된 외부 장치와 관련된 명령 또는 기능을 적어도 일부 포함하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 예를 들면, 서버(2005)는 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보로서 "저거"(지시 대명사)와"불 켜줘"(명령어)가 획득되고, 확인된 적어도 하나의 외부 장치에 대한 정보로서 스마트 전등의 디바이스 ID가 획득된 경우 스마트 전등의 전원을 오프하도록 지시하는 태스크를 수행하기 위한 정보를 획득할 수 있다.
서버(2005)는 2028 동작에서 외부 장치를 이용한 태스크를 수행하기 위한 정보를 전자 장치(2001)에 전송할 수 있다. 일 실시예에 따르면 서버(2005)는 스마트 전등의 전원을 오프하도록 지시하는 태스크를 수행하기 위한 정보로서 스마트 전등의 전원을 오프하도록 지시하는데 필요한 전자 장치(2001)의 적어도 하나 이상의 동작 또는 적어도 하나 이상의 동작의 조합과 관련된 상태들의 시퀀스 정보를 전자 장치(2001)에 전송할 수 있다. 예를 들면, 스마트 전등의 전원을 오프하도록 지시하는데 필요한 전자 장치(2001)의 적어도 하나 이상의 동작 또는 적어도 하나 이상의 동작의 조합과 관련된 상태들의 시퀀스 정보는 스마트 전등과 통신을 연결하는 동작과 관련된 상태, 스마트 전등에 전원 오프 명령을 전송하는 동작과 관련된 상태, 및 스마트 전등으로부터 전원 오프 결과를 수신받는 동작과 관련된 상태 각각 또는 그 동작의 조합에 관련된 상태를 포함할 수 있다.
전자 장치(2001)는 2030 동작에서 외부 장치를 이용한 태스크를 수행하기 위한 정보를 이용하여 태스크를 수행할 수 있다. 일 실시예에 따르면 전자 장치(2001)는 스마트 전등의 전원을 오프하도록 지시하는데 필요한 전자 장치(2001)의 적어도 하나 이상의 동작 또는 적어도 하나 이상의 동작의 조합과 관련된 상태들의 시퀀스 정보를 이용하여 스마트 전등과 통신을 연결하는 동작, 스마트 전등에 전원 오프 명령을 전송하는 동작, 및 스마트 전등으로부터 전원 오프 결과를 수신받는 동작 각각 또는 그 조합에 따라 동작함으로써, 스마트 전등의 전원을 오프하도록 지시하는 태스크를 수행할 수 있다.
도 21은 다양한 실시예에 따른 적어도 하나의 외부 장치 신호와 적어도 하나의 센서에 의해 센싱된 센싱값을 이용하여 적어도 하나의 외부 장치를 확인하는 동작을 나타낸 흐름도이다.
도 21을 참조하면, 전자 장치(2001)(예를 들면, 도 1의 101, 도 2의 201 또는 도 4의 401)는 2110동작에서 사용자에 의해 범위를 지정하는 제스쳐 입력을 기반으로 적어도 하나의 센서 예를 들면, 자이로 센서 및 가속도 센서를 이용하여 전자 장치(2001)의 이동 범위(예를 들면, 전자 장치(2001)의 이동 방향 및 거리)를 검출할 수 있다. 일 실시예에 따르면, 전자 장치(2001)는 범위를 지정하는 사용자 제스쳐에 의한 궤적을 이루는 포인트들 각각에서 자이로 센서 및 가속도 센서에 의해 검출된 센싱값들을 기반으로 전자 장치(2001)의 이동 방향 및 거리를 검출할 수 있고, 전자 장치(2001)의 이동 방향 및 거리를 기반으로 범위 시작점과 범위 종료점을 판단할 수 있다.
전자 장치(2001)는 2120 동작에서 적어도 하나의 신호가 복수의 안테나들에 도달하는 위상차를 검출할 수 있다. 일 실시예에 따르면 전자 장치(2001)는 전자 장치(2001)는 범위를 지정하는 사용자 제스쳐에 의한 궤적을 이루는 포인트들 각각에서 적어도 하나의 신호가 복수의 안테나들에 도달하는 위상차를 검출할 수 있다.
전자 장치(2001)는 2320 동작에서 이용하여 전자 장치(2001)의 이동 범위 와 검출된 위상차를 기반으로 적어도 하나의 외부 장치를 확인할 수 있다. 일 실시예에 따르면, 전자 장치(2001)는 자이로 센서 및 가속도 센서에 의해 검출된 전자 장치(2001)의 이동 방향 및 거리를 기반으로 판단된 범위 시작점과 범위 종료점 내에서 위상차가 미리 정해진 임계값 이하인 적어도 하나의 외부 장치 확인할 수 있다.
도 22는 다양한 실시예에 따른 적어도 하나의 외부 장치 신호와 적어도 하나의 센서에 의해 센싱된 센싱값에 기반하여 적어도 하나의 외부 장치를 확인하는 예를 나타낸 도면이다.
도 22를 참조하면, 일 실시예에 따른 전자 장치(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401, 또는 도 20의 2001)는 사용자에 의한 범위를 지정하는 제스쳐 입력에 따라 사용자 제스쳐에 의한 궤적(2210)을 이루는 포인트들 각각에서 자이로 및 가속도 센서를 이용하거나, 그외 다른 센서들을 복합적으로 이용하여 검출된 센싱값을 기반으로 전자 장치의 이동 범위를 검출할 수 있다. 전자 장치(2001)는 검출된 전자 장치의 이동 범위를 기반으로 범위 시작점과 범위 종료점을 판단할 수 있다. 예를 들면, 전자 장치(2001)는 좌우 방향을 나타내는 x축과 상하 방향을 나타내는 y축을 기준으로 범위 시작점과 범위 종료점을 판단할 수 있다.
전자 장치(2001)는 범위를 지정하는 사용자 제스쳐에 의한 궤적을 이루는 포인트들 각각에서 주변에 존재하는 제1 내지 제3 외부 장치(2203-1 내지 2203-3) 각각으로부터의 신호 각각이 복수의 안테나들에 도달하는 위상차를 검출할 수 있다. 전자 장치(2001)는 이동 범위를 기반으로 판단된 범위 시작점과 범위 종료점 내에서 위상차가 미리 정해진 임계값 이하인 적어도 하나의 외부 장치인 제1 및 제2 외부 장치(2203-1 및 2203-2)를 확인할 수 있다.
일 실시예에 따르면, 전자 장치(2201)가 두 개의 안테나들에 도달하는 위상차를 검출하는 경우 좌우 방향을 나타내는 x축에 대한 범위 시작점과 범위 종료점 내에서 위상차가 미리 정해진 임계값 이하인 적어도 하나의 외부 장치를 확인할 수 있다. 일 실시예에 따르면, 전자 장치(2201)가 세개의 안테나들에 도달하는 위상차를 검출하는 경우 전자 장치(2201)는 제1 내지 제3 외부 장치(2203-1 내지 2203-3) 각각과의 3차원 공간중 최소각(직선거리 각도)를 검출하고, 최소각과 범위를 지정하는 사용자 제스쳐에 의한 궤적을 이루는 포인트들 각각에서 검출된 각도를 비교한 뒤 최소각과 검출된 각도의 차가 미리 지정된 각도 이하인 포인트들이 미리 정해진 포인트 수 이상인 적어도 하나의 외부 장치를 확인할 수 있다.
도 23은 다양한 실시예에 따른 사용자의 제스쳐에 의해 지정된 범위 내의 외부 장치에 명령을 전송하는 예를 나타낸 도면이다.
도 23을 참조하면, 사용자에 의해 "이거 다꺼줘" 라는 음성이 발화되고, 전자 장치(2301)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401, 또는 도 20의 2001)가 사용자의 제스쳐에 의해 범위를 지정하는 궤적(2300)에 따라 움직일 수 있다.
다양한 실시예에 따르면 전자 장치(2301)는 "이거 다꺼줘"를 기반으로 제2 정보가 요구됨을 나타내는 정보를 포함하는 제1 정보를 획득하고, 사용자에 의한 범위를 지정하는 제스쳐 입력에 기반하여 검출된 전자 장치(2301)의 이동 범위에 대응된 궤적(2300)과 상기 궤적(2300)을 이루는 포인트들 각각에서 적어도 하나의 신호가 복수의 안테나들에 도달하는 위상차에 기반하여 사용자에 의해 지정된 범위 내의 장치에 대한 제2 정보를 획득하여, 제1 정보 및 제2 정보를 기반으로 제1 내지 제3 외부 장치(2303-1 내지 2303-3)를 확인할 수 있다.
다양한 실시 예에 따르면 전자 장치(2301)는"이거 다꺼줘" 에 대한 자연어 이해 결과와 확인된 제1 내지 제3 외부 장치(2303-1 내지 2303-3)를 기반으로, 제1 내지 제3 외부 장치(2303-1 내지 2303-3)에 각각에 대응된 명령을 전송하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 상기 명령은, 예를 들어, 사용자의 음성 입력과 전자 장치(2301)에서 수신된 제1 내지 제3 외부 장치(2303-1 내지 2303-3) 각각으로부터의 신호에 적어도 일부 기반하여, 제1 내지 제3 외부 장치(2303-1 내지 2303-3) 각각에서 수행하기 위한 태스크와 관련된 정보를 적어도 일부 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치(2301)는 획득된 정보에 따라 제1 내지 제3 외부 장치(2303-1~2303-3)에 전원 오프 명령이 전달되도록 할 수 있다. 다양한 실시예에 따르면 전자 장치(2301)는 명령을 직접 전송할 수도 있고, 서버(예를 들면, 도 4의 405 또는 도 8b의 809)를 통해 전송할 수도 있다. 제1 내지 제3 외부 장치(2303-1~2303-3) 각각은 전자 장치(2301)로부터 수신된 명령에 따라 전원 오프를 수행할 수 있다.
도 24 및 도 25는 다양한 실시예에 따른 서버의 구성을 나타낸 도면이다.
도 24 및 도 25를 참조하면, 서버(예를 들면, 도 4의 405)는 도 24의 제1 서버(2405) 및 도 25의 제2 서버(2507)에 포함된 구성들의 일부 또는 전체를 포함할 수 있다.
도 24를 참조하면, 제1 서버(2405)는 ASR(automatic speech recognition) 모듈(2410), NLU(natural language understanding) 모듈(2420), NLG(natural language generator) 모듈(2430), TTS(text to speech) 모듈(2440)을 포함할 수 있다. 일 실시예에 따르면 제1 서버(2405)는 지능형 서버일 수 있다.
ASR 모듈(2410)은 자동 음성 인식 모듈일 수 있다. ASR 모듈(2410)은 전자 장치(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401)로부터 수신된 음성 신호를 인식할 수 있고, 인식된 음성 신호를 음성 정보(예를 들면, 텍스트 데이터)로 변환할 수 있다.
일 실시예에 따르면, ASR 모듈(2410)은 발화 인식 모듈을 포함할 수 있다. 발화 인식 모듈은 음향(acoustic) 모델 및 언어 (language) 모델을 포함할 수 있다. 예를 들어, 상기 음향 모델은 발성에 관련된 정보를 포함할 수 있고, 상기 언어 모델은 단위 음소 정보 및 단위 음소 정보의 조합에 대한 정보를 포함할 수 있다. 또한, 상기 언어 모델은 주변 상황(예: 위치, 주변 장치 정보 등), 사용 조건(예: 애플리케이션 상태, 이전 질의 히스토리 등) 등에 기초하여 상기 단위 음소 정보 중 일부를 선택하거나, 일부에 가중치를 부여할 수 있다. 상기 발화 인식 모듈은 발성에 관련된 정보 및 단위 음소 정보에 대한 정보를 이용하여 사용자의 발화를 텍스트 데이터로 변환할 수 있다. 상기 음향 모델 및 언어 모델에 대한 정보는, 예를 들어, 자동 음성 인식 데이터베이스에 저장될 수 있다.
일 실시예에 따르면, 제1 서버(2405)는 화자 인식 모듈을 더 포함할 수 있다. 화자 인식 모듈은 데이터베이스에 저장된 사용자 정보를 기초로 음성 신호로부터 사용자의 발화를 분석하여 화자를 인식할 수 있다. 상기 화자 인식 모듈은 사용자가 최초 사용시 입력한 발화를 기초로 화자 인식 모델을 생성하고, 상기 생성된 화자 인식 모델을 상기 데이터베이스에 저장할 수 있다. 일 실시 예에 따르면, 화자 인식 모듈은 데이터베이스에 저장된 화자 인식 모델에 기초하여 모델에 등록된 화자인지 판단할 수 있는데, 예를 들어, 화자 인식 모듈에 의해 음성 신호가 등록된 화자로 음성 신호로 판단된 경우, 음성 신호를 분석할 수 있지만, 등록되지 않은 화자로 판단한 경우, 음성 신호를 분석하지 않을 수 있다. 예를 들면, 화자 인식 모듈은 등록된 화자 음성인지 판단하고, 등록된 화자 음성에 대하여 음성인식이나 자연어처리를 수행하는, 음성 인식 기능을 활성화하기 위한 하나의 활성화 방법(wakeup recognition)으로 활용될 수 있다.
일 실시 예에 따르면, NLU 모듈(2420)은 자연어 이해 모듈일 수 있다. NLU 모듈(2420)은 문법적 분석(syntactic analyze) 및 의미적 분석(semantic analyze)을 수행하여 사용자 의도를 파악할 수 있다. 상기 문법적 분석은 사용자 입력을 문법적 단위(예: 단어, 구, 형태소 등)로 나누고, 상기 나누어진 단위가 어떤 문법적인 요소를 갖는지 파악할 수 있다. 상기 의미적 분석은 의미(semantic) 매칭, 룰(rule) 매칭, 포뮬러(formula) 매칭 등을 이용하여 수행할 수 있다. 이에 따라, NLU 모듈(2420)은 음성 정보로부터 도메인(domain), 의도(intent) 및 상기 의도를 표현하는데 필요한 파라미터(parameter)(또는, 슬롯(slot))를 얻을 수 있다. 예를 들어, NLU 모듈(2420)은 규칙 기반 알고리즘에 포함된 매칭 규칙을 이용하여 도메인, 의도 및 파라미터를 각각의 케이스에 매칭시켜 사용자의 의도를 파악할 수 있다. 일 시예에 따르면 NLU 모듈(2420)은 음성 정보에 대한 문법적 분석(syntactic analyze) 및 의미적 분석(semantic analyze)을 수행하여 사용자 의도를 파악하는 동작을 통해 음성 정보에 지시하려는 의도가 포함되어 있는지, 명령하려는 의도가 포함되어 있는지 판단할 수 있고, 판단 결과 지시하려는 의도에 대한 지시어 정보(예를 들면, 지시 대명사) 또는 명령하려는 의도에 대응된 명령어 정보(예를 들면, 명령어)를 지정할 수 있다.
일 실시예에 따르면, NLG 모듈(2430)은 자연어 생성 모듈일 수 있으며, 지정된 정보를 텍스트 형태로 변경할 수 있다. 상기 텍스트 형태는 자연어 발화의 형태일 수 있다. 상기 지정된 정보는, 예를 들어, 추가 입력을 위한 정보, 동작 완료를 안내하는 정보 등일 수 있고, 상기 텍스트 형태로 변경된 정보는 전자 장치로 송신되어 디스플레이에 표시되거나, 텍스트 음성 변환 모듈로 송신되어 음성 형태로 변경될 수 있다.
일 실시예에 따르면, TTS(text to speech) 모듈(2440)은 텍스트 음성 변환 모듈로서 텍스트 형태의 정보를 음성 형태의 정보로 변경할 수 있다. 텍스트 음성 변환 모듈은 자연어 생성 모듈로부터 텍스트 형태의 정보를 수신하고, 상기 텍스트 형태의 정보를 음성 형태의 정보로 변경하여 전자 장치로 송신할 수 있다. 전자 장치는 상기 음성 형태의 정보를 스피커로 출력할 수 있다.
일 실시예에 따르면, 상기 ASR 모듈(2410), NLU 모듈(2420), NLG 모듈(2430), 또는 TTS(text to speech) 모듈(2440)의 기능은 하나 또는 그 이상의 프로세서에 의해 수행될 수 있다. 하나 또는 그 이상의 프로세서는 상기 ASR 모듈(2410), NLU 모듈(2420), NLG 모듈(2430), 또는 TTS(text to speech) 모듈(2440)을 이용하여, 전자 장치(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401)로부터 수신된 음성 데이터를 기반으로 음성 인식을 수행하고, 발화한 화자를 인식할 수 있으며, 자연어 이해 모듈을 통해 음성 정보에 대한 문법적 분석(syntactic analyze) 및 의미적 분석(semantic analyze)을 수행하여 사용자 의도를 파악할 수 있다. 일 실시 예에 따르면 하나 또는 그 이상의 프로세서는 음성 인식 및 분석을 통해 음성 정보에 지시하려는 의도가 포함되어 있는지, 명령하려는 의도가 포함되어 있는지 판단할 수 있고, 판단 결과 지시하려는 의도에 대한 정보(예를 들면, 지시 대명사) 또는 명령하려는 의도에 대응된 정보(예를 들면, 명령어)를 지정할 수 있고, 지정된 지시 대명사 또는 명령어를 텍스트로 변환할 수 있다. 일 실시예에 따르면 하나 또는 그 이상의 프로세서는 음성 데이터를 기반으로 음성 인식을 수행하고, 자연어 이해를 수행하여 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 획득할 수 있고, 획득된 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 기반으로 적어도 하나의 외부 장치 확인을 위한 제1 정보를 전자 장치에 전송할 수 있다. 다양한 실시예에 따르면, 하나 또는 그 이상의 프로세서는 음성 데이터에 대한 음성 인식 및 자연어 이해 결과 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 전자 장치에 전송하거나, 하나 또는 그 이상의 프로세서는 음성 데이터에 대한 음성 인식 및 자연어 이해 결과 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 기반으로 관련된 외부 장치에 대한 정보(예를 들면, 외부 장치 리스트)를 포함하는 제1 정보를 전자 장치에 전송할 수 있다. 일 실시예에 따르면, 하나 또는 그 이상의 프로세서는 음성 인식 및 자연어 이해 결과 지시 대상과 관련된 정보가 확인되지 않는 경우(예를 들면, 지시 대명사나 명령 또는 기능과 관련된 정보만 확인된 경우) 외부 장치 확인을 위한 제2 정보가 요구됨을 나타내는 정보를 더 포함하는 제1 정보를 전자 장치에 전송할 수도 있다.
예를 들면, 하나 또는 그 이상의 프로세서는 불 켜줘"에 대응된 음성 데이터를 기반으로 음성 인식 및 자연어 이해 결과 불켜는 것과 관련된 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 전자 장치에 전송하거나, 불 켜줘"에 대응된 음성 데이터를 기반으로 불을 켜는 동작과 관련된 명령을 수행할 수 있는 외부 장치들을 나타내는 외부 장치 리스트를 포함하는 제1 정보를 전자 장치에 전송할 수 있다. 예를 들면, 하나 또는 그 이상의 프로세서는 "저거 불 켜줘"에 대응된 음성 데이터에서 "저거"와 같은 지시 대명사를 기반으로 외부 장치 확인을 위한 제2 정보가 요구됨을 나타내는 정보와 "불 켜줘"와 같은 명령어를 기반으로 불을 켜는 동작과 관련된 명령을 수행할 수 있는 외부 장치들을 나타내는 외부 장치 리스트를 포함하는 제1 정보를 전자 장치에 전송할 수 있다.
도 25를 참조하면, 제2 서버(2507)는 저장 모듈(2510), 프로세서(2520), 통신 모듈(2530)을 포함할 수 있다.
저장 모듈(2510)은 제2 서버(2507)에 연결할 수 있는 장치 정보, 적어도 하나의 장치를 제어하기 위한 명령어 셋(instruction), 제2 서버(2507)에 연결하기 위한 계정 정보를 저장할 수 있다. 일 실시 예에 따르면, 저장 모듈(2510)은 IoT 시스템(예를 들면 도 4의 시스템)에 연결된 적어도 하나의 장치를 일괄 제어하기 위한 장치 정보를 더 저장할 수 있다. 다양한 실시예에 따르면 장치 정보는 장치 인식 정보, 장치 기능 정보, 장치 상태 정보, 장치 이벤트 정보, 또는 장치 명령 정보 중 적어도 하나를 포함할 수 있다. 일 실시예에 따르면 장치 인식 정보는 장치 인식이 가능하도록 하는 정보로서, 디바이스 ID, 제조사, 시리얼 넘버(serial number), 또는 MAC(media access control) 주소 중 적어도 하나를 포함할 수 있다. 일 실시예에 따르면 장치 기능 정보(device capacity data)는 장치가 수행할 수 있는 적어도 하나의 기능을 포함할 수 있다. 일 실시예에 따르면 장치 상태 정보(device status data)는 장치의 현재 상태를 나타내는 적어도 하나의 상태를 포함할 수 있다. 일 실시예에 따르면, 장치 이벤트 정보는(device event data) 장치에서 발생한 적어도 하나의 이벤트를 포함할 수 있다. 일 실시예에 따르면, 장치 명령 정보(device instruction data)는 장치 제어를 위해 필요한 적어도 하나의 명령을 포함할 수 있다. 일 실시 예에 따르면, 저장 모듈(2510)은 명령어 셋(instruction set)을 더 저장할 수 있다. 상기 명령어 셋은 임의의 사용자 명령, 내/외부 이벤트 중 적어도 하나에 기반하여 수행될 수 있다. 상기 명령어 셋은 이벤트 정보, 조건 정보 및 적어도 하나의 명령어 정보 중 적어도 하나를 포함할 수 있다. 이를 통해 제2 서버(2507)는 다음과 같은 예의 조건형 동작을 수행할 수도 있다.
1. CO가스가 감지되면[이벤트] 비상벨을 울린다.[명령어]
2. 저녁 5시 [조건]에 현관 문이 열리면 [이벤트] 음악을 재생하고 [제1명령어] 거실 등을 켠다.[제2명령어]
3. TV를 켜고[제1명령어], IPTV의 채널을 13번으로 조절하고[제2명령어], 거실등을 노란색으로 바꾼다.[제3명령어]
통신 모듈(2530)은 제2 서버(2507)와 전자 장치(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401) 또는 제1 내지 제N 외부 장치 장치(예를 들면 도 4의 403-1~403-N) 또는 다른 시스템과 데이터 통신을 위한 인터페이스 역할을 수행할 수 있다. 일 실시 예에 따르면 통신 모듈(2530)은 다양한 형태의 네트워크 인터페이스를 지원할 수 있다. 또한 통신 모듈(2530)은 다양한 형태의 통신 프로토콜에 대응할 수 있다.
프로세서(2520)는 제2 서버(2507)의 전체 동작을 제어하는 역할을 수행할 수 있으며, 하나 또는 그 이상의 프로세서를 포함할 수 있다. 프로세서(2520)는 일 실시예에 따라 데이터 관리자(data manager)(2520-1), 외부 시스템 연결 관리자(external system connectivity manager)(2520-2), 장치 연결 관리자(device connectivity manager)(2520-3), 장치 관리자(device manager)(2520-4), 실행 관리자(execution manager)(2520-5), 이벤트 관리자(event manager)(2520-6), 계정 관리자(account manager) (2520-7) 중 적어도 하나를 포함하는 형태로 구성될 수 있다.
데이터 관리자(2520-1)는 저장 모듈(2510)에 저장되거나 저장될 수 있는 데이터를 관리할 수 있는 모듈로써, 저장 모듈(2510)와 연동하여 다양한 데이터들을 생성, 수집, 저장, 수정, 분석, 조회, 삭제할 수 있다. 또한, 데이터 관리자(2520-1)는 저장 모듈(2510)에 저장된 데이터에 대한 분석 작업을 통해 새로운 명령어 셋을 생성할 수 있다.
외부 시스템 연결 관리자(2520-2)는 외부 서버와의 통신 채널을 관리하고, 통신 채널을 통한 데이터 교환을 위한 동작을 제어할 수 있다. 예를 들어, 외부 시스템 연결 관리자(2520-2)는 외부 인터넷 서비스 서버로부터의 정보 요청에 대응하기 위해 RESTful 방식에서 Host 모드로 동작할 수 있다. 또 다른 예를 들어, 외부 시스템 연결 관리자(2520-2)는 외부 인터넷 서비스 서비로부터 정보를 획득하기 위해 RESTful 방식에서 Client 모드로 변환되어 동작할 수 있다.
장치 연결 관리자(2520-3)는 제2 서버(2507)에 연결된 장치들과 제2 서버(2520-2)와의 통신 채널을 관리하고, 통신 채널을 통한 데이터 교환을 위한 동작을 제어할 수 있다.
장치 관리자(2520-4)는 제2 서버(2507)에 등록되거나 등록될 수 있는 전자 장치를 대상으로 등록(register), 해지(unregister), 상태 조회(status query), 활성화(activation), 비활성화(deactivation) 중 적어도 하나의 동작을 수행할 수 있다.
실행 관리자(2520-5)는 저장 모듈(2510)를 통해 확인한 전자 장치에 대한 실행 명령어를 전자 장치가 수행하도록 할 수 있다.
이벤트 관리자(2520-6)는 전자 장치 또는 외부에서 발생한 이벤트를 확인하고 이에 대응하는 명령어 셋을 확인하기 위해 저장 모듈(2510)을 통해 저장 모듈(2510)에 저장된 명령어 셋에 대한 질의를 수행할 수 있다. 또 다른 예에 따르면, 이벤트 관리자(2520-6)는 전자 장치에서 발생한 상태 변화 이벤트를 감지하여 데이터 관리자(2520-1)를 통해 저장 모듈(2510)에 저장된 전자 장치의 상태 정보를 수정할 수 있다.
계정 관리자(2520-7)는 저장 모듈(2510)에 저장된 계정 정보를 참고하여 전자 장치의 제2 서버(2520)에 접속 여부를 관리하고 제2 서버(2520)에 등록된 장치에 대한 접근을 제어할 수 있다. 예를 들어, 계정 관리자(2520-7)는 임의의 사용자에 대해 제2 서버(2507) 전체 또는 적어도 일부 장치에 대한 대한 조회/수정 권한을 제어할 수 있다.
일 실시예에 따르면, 프로세서(2520)는 상기 데이터 관리자(2520-1), 외부 시스템 연결 관리자 (2520-2), 장치 연결 관리자(2520-3), 장치 관리자(2520-4), 실행 관리자(2520-5), 이벤트 관리자 (2520-6), 계정 관리자 (2520-7) 중 적어도 하나를 이용하여 사용자 입력과 연관된 데이터와 적어도 하나의 외부 장치 정보를 기반으로 외부 장치를 이용한 태스크를 수행하기 위한 정보를 전자 장치에 전송할 수 있다.
다양한 실시예에 따르면, 전자 장치(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401, 도 6a 및 도 6b의 601, 도 7a 및 도 7b의 701, 도 8a 내지 도 8b의 801, 도 9a 내지 도 9l의 901, 도 10의 1001, 도 11의 1101, 도 12a 및 도 12b의 1201, 도 13a 내지 도 13e의 1301, 도 14의 1401, 도 15a 내지 도 15c의 1501, 도 16a 및 도 16b의 1601, 도 17의 1701, 도 18a 내지 도 18c의 1801, 도 19의 1901, 도 20a 내지 도 20d의 2001, 도 21의 2101, 도 22의 2201, 또는 도 23의 2301)는 하우징, 상기 하우징의 내부에 위치하고, 상기 하우징의 제1 부분을 통해 노출되는 터치 스크린 디스플레이(예를 들면, 도 1의 디스플레이(160) 또는 도 2의 디스플레이(260)), 상기 하우징의 내부에 위치하고 상기 하우징의 제2 부분을 통해 노출되는 마이크(예를 들면, 도 2의 마이크(288)) 상기 하우징의 내부에 위치하고 상기 하우징의 제3 부분을 통해 노출되는 적어도 하나의 스피커(예를 들면, 도 2의 스피커(282)), 상기 하우징 내부에 위치한 무선 통신 회로(예를 들면, 도 1의 통신 인터페이스(170) 또는 도 2의 통신 모듈(220)), 상기 하우징 내부에 위치하고, 상기 디스플레이(160), 상기 마이크(288), 상기 스피커(282), 상기 무선 통신 회로(170)와 전기적으로 연결된 프로세서(예를 들면, 도 1의 120, 또는 도 2의 210) 및 상기 하우징 내부에 위치하고, 상기 프로세서(120)와 전기적으로 연결된 메모리(예를 들면, 도 1의 메모리(130) 또는 도 2의 메모리(230))를 포함하고, 상기 메모리(130)는, 실행 시, 상기 프로세서(120)가 상기 디스플레이(160) 또는 상기 마이크(288)를 통해 적어도 하나의 외부 장치를 이용한 태스크를 수행하기 위한 요청을 포함하는 사용자 입력을 수신하고, 상기 무선 통신 회로(170)를 통해 획득된 적어도 하나의 신호의 적어도 일부 기반하여 상기 적어도 하나의 외부 장치를 확인(identify)하고, 상기 무선 통신 회로(170)를 통해 외부 서버에 사용자 입력과 관련된 데이터를 전송하고, 상기 무선 통신 회로(170)를 통해 상기 외부 서버에 상기 데이터 전송 후 또는 상기 데이터 전송과 함께 상기 적어도 하나의 외부 장치에 대한 정보를 전송하고, 상기 무선 통신 회로(170)를 통해 상기 외부 서버로부터 상기 외부 장치를 이용하여 상기 태스크를 적어도 일부 수행하기 위한 상기 전자 장치의 상태들의 시퀀스에 대한 정보를 포함하는 응답을 수신하고, 및 상기 전자 장치가 상기 상태들의 시퀀스를 획득하여 상기 태스크를 수행하도록 하는 인스트럭션들(instructions)을 저장할 수 있다.
다양한 실시예에 따르면, 상기 인스트럭션들은, 상기 프로세서(120)가, 상기 사용자 입력과 관련된 데이터에 기반하여 상기 적어도 하나의 외부 장치 확인을 위한 제1 정보를 획득하고, 상기 적어도 하나의 신호에 기반하여 상기 적어도 하나의 외부 장치 확인을 위한 제2 정보를 획득하며, 상기 제1 정보 및 제2 정보를 기반으로 상기 적어도 하나의 외부 장치를 확인하도록 할 수 있다.
다양한 실시예에 따르면, 상기 전자 장치는 상기 프로세서(120)와 전기적으로 연결된 센서 모듈(예를 들면, 도 2의 센서 모듈(240))을 더 포함하고, 상기 인스트럭션들은, 상기 프로세서(120)가 상기 센서 모듈에 의해 획득된 데이터들에 더 기반하여 상기 적어도 하나의 외부 장치를 확인하도록 할 수 있다.
다양한 실시예에 따르면, 상기 인스트럭션들은, 상기 프로세서(120)가 상기 사용자에 의해 발화된 음성 신호에 대응된 음성 데이터에 기반하여 상기 적어도 하나의 외부 장치 확인을 위한 제1 정보를 획득하도록 할 수 있다.
다양한 실시예에 따르면, 상기 전자 장치는 상기 무선 통신 회로(170)와 전기적으로 연결된 복수의 안테나들을 더 포함하고, 상기 인스트럭션들은, 상기 프로세서(120)가 상기 복수의 안테나들을 통해 상기 적어도 하나의 신호를 획득하고, 상기 적어도 하나의 신호가 상기 복수의 안테나들에 도달하는 위상차를 검출하고, 상기 위상차를 기반으로 상기 제2 정보를 획득하도록 할 수 있다.
다양한 실시예에 따르면, 상기 전자 장치는 상기 프로세서(120)와 전기적으로 연결된 자이로 센서(예: 자이로 센서(240B))를 더 포함하고, 상기 인스트럭션들은, 상기 프로세서(120)가 상기 자이로 센서(240B)에서 획득된 데이터와 상기 적어도 하나의 신호 각각의 상기 위상차를 기반으로 상기 제2 정보를 획득하도록 할 수 있다.
다양한 실시예에 따르면, 상기 적어도 하나의 신호는 상기 적어도 하나의 외부 장치의 디바이스 ID를 포함하는 브로드캐스팅 신호를 포함할 수 있다.
다양한 실시예에 따르면, 상기 인스트럭션들은, 상기 프로세서(120)가 상기 적어도 하나의 외부 장치를 이용한 태스크 수행 모드를 활성화하는 트리거 입력을 수신하도록 할 수 있다.
다양한 실시예에 따르면, 상기 인스트럭션들은, 상기 프로세서(120)가, 상기 확인된 적어도 하나의 외부 장치에 대응된 서비스 정보를 표시, 상기 확인된 적어도 하나의 외부 장치에 제어 명령을 전송, 또는 상기 확인된 적어도 하나의 외부 장치가 다른 외부 장치와 연동하도록 하는 명령을 상기 확인된 적어도 하나의 외부 장치에 전송 중 적어도 하나의 태스크를 수행하도록 할 수 있다.
도 26a는 본 발명의 다양한 실시예에 따른 전자 장치의 사시도이다.
도 26a를 참조하면, 3축 직교 좌표계의 'X'는 전자 장치(2601)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401)의 폭 방향, 'Y'는 상기 전자 장치(2601)의 길이 방향, 'Z'는 상기 전자 장치(2601)의 두께 방향을 의미할 수 있다.
전자 장치(2601)는 하우징(2601-1)을 포함할 수 있다. 일 실시예에 따르면, 하우징(2602)은 도전성 부재 및/또는 비도전성 부재로 형성될 수 있다. 일 실시예에 따르면, 전자 장치(2601)는 하우징(2601-1)의 적어도 일부 영역에 노출되는 방식으로 배치되는 터치 스크린 디스플레이(2601-2)를 포함할 수 있다. 한 실시예에 따르면, 터치 스크린 디스플레이(2601-2)는 압력 센서를 포함하여 압력 반응형 터치 스크린 디스플레이로 동작할 수도 있다. 일 실시예에 따르면, 전자 장치(2601)는 하우징(2601-1)에 배치되며, 상대방의 음성을 출력하기 위한 리시버(2601-3)를 포함할 수 있다. 일 실시예에 따르면, 전자 장치(2601)는 하우징(2601-1) 내부에 배치되며, 상대방에게 사용자의 음성을 송신하기 위한 마이크로폰 장치(2601-4)를 포함할 수 있다. 다양한 실시예에 따르면, 전자 장치(2601)는 터치 스크린 디스플레이(2601-2)에 노출되거나, 윈도우를 통하여 기능은 수행하나 노출되지 않는 방식으로 배치되어 전자 장치(2601)의 다양한 기능을 수행하기 위한 부품(component)들을 포함할 수 있다. 한 실시예에 따르면, 부품들은 적어도 하나의 센서 모듈(2601-5)을 포함할 수 있다. 이러한 센서 모듈(2601-5)은, 예컨대, 조도 센서(예: 광센서), 근접 센서(예: 광센서), 적외선 센서, 초음파 센서, 지문 인식 센서 또는 홍채 인식 센서를 포함할 수 있다. 한 실시예에 따르면, 부품은 카메라 장치(2601-6)를 포함할 수 있다. 한 실시예에 따르면, 부품은 전자 장치의 상태 정보를 사용자에게 시각적으로 제공하기 위한 인디케이터(2601-7)(예: LED 장치)를 포함할 수도 있다. 한 실시예에 따르면, 이러한 부품들 중 적어도 하나는 하우징(2601-1)의 적어도 일부 영역을 통해 노출되도록 배치될 수도 있다.
다양한 실시예에 따르면, 전자 장치(2601)는 마이크로폰 장치(2601-4)의 일측으로 배치되는 스피커 장치(2601-8)를 포함할 수 있다. 일 실시예에 따르면, 전자 장치는 마이크로폰 장치(2601-4)의 타측으로 배치되어 외부 장치에 의한 데이터 송수신 기능 및 외부 전원을 인가받아 전자 장치(2601)를 충전시키기 위한 인터페이스 컨넥터 포트(2601-9)를 포함할 수 있다. 일 실시예에 따르면, 전자 장치(2601)는 인터페이스 컨넥터 포트(2601-9)의 일측으로 배치되는 이어잭 어셈블리(2601-10)를 포함할 수 있다.
도 26b는 다양한 실시예에 따른 전자 장치의 구성도이다.
도 26b를 참조하면, 전자 장치(2601)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401, 도 6a 및 도 6b의 601, 도 7a 및 도 7b의 701, 도 8a 내지 도 8b의 801, 도 9a 내지 도 9l의 901, 도 10의 1001, 도 11의 1101, 도 12a 및 도 12b의 1201, 도 13a 내지 도 13e의 1301, 도 14의 1401, 도 15a 내지 도 15c의 1501, 도 16a 및 도 16b의 1601, 도 17의 1701, 도 18a 내지 도 18c의 1801, 도 19의 1901, 도 20a 내지 도 20d의 2001, 도 21의 2101, 도 22의 2201, 또는 도 23의 2301)는 프로세서(2610), 통신 모듈(2620), 센서 모듈(2630), 위상차 검출 모듈(2640), 디스플레이(2650), 스피커(2660), 마이크(2670)를 포함할 수 있다.
통신 모듈(2620)은 예를 들어 도 1의 통신 인터페이스(170) 또는 도 2의 통신 모듈(220)의 일부 또는 전체를 포함할 수 있다. 다양한 실시예에 따르면 통신 모듈(2620)은 적어도 두개 이상의 안테나와 연결될 수 있으며, 적어도 두 개 이상의 안테나를 통해 RF(radio frequency)신호를 송수신할 수 있다. 다양한 실시예에 따르면, 통신 모듈(2620)은 블루투스(bluetooth) 프로토콜, 저전력 블루투스(BLE: bluetooth low energy) 프로토콜, WiFi 프로토콜, 비콘(beacon) 프로토콜, 지그비(zigbee) 프로토콜, 또는 NFC(near field communication) 프로토콜 또는 IoT(internet of things) 서비스를 위해 지정된 다른 통신 프로토콜 중 적어도 하나의 통신 프로토콜을 통해 무선(radio frequency) 신호를 송수신할 수 있다. 일 실시예에 따르면 통신 모듈(2620)은 적어도 하나의 외부 장치(예를 들면, 도 4의 제1 내지 제N 외부 장치(403-1~403-N))로부터 신호를 수신할 수 있다. 일 실시예에 따르면 통신 모듈(2620)은 적어도 하나의 외부 장치(예를 들면, 제1 내지 제N 외부 장치(403-1~403-N)) 각각으로부터 브로드캐스팅된 신호를 수신할 수 있다. 통신 모듈(2620)은 적어도 하나의 외부 장치로부터 주기적으로 브로드캐스팅되는 신호를 수신할 수도 있고, 적어도 하나의 외부 장치에 신호를 요청한 후, 적어도 하나의 외부 장치로부터 브로드캐스팅된 신호를 수신할 수도 있다.
위상차 검출 모듈(2640)은 복수의 안테나들과 연결될 수 있으며 통신 모듈(2620)에 의해 획득된 적어도 하나의 신호가 복수의 안테나들에 도달하는 위상차를 검출할 수 있다. 일 실시예에 따르면 통신 모듈(2620)이 두 개의 안테나들을 통해 적어도 하나의 신호를 수신하는 경우, 적어도 하나의 신호는 두 개의 안테나들에 각각 도달할 수 있으며 위상차 검출 모듈(2640)은 두 개의 안테나 중 제1 안테나에 도달한 신호(이하 '제1 신호'라고도 함)와 제2 안테나에 도달한 신호(이하 '제2 신호'라고도 함) 사이의 도달 위상차를 검출할 수 있다. 일 실시예에 따르면 위상차 검출 모듈(2640)은 제1 안테나에 도달한 제1 신호와 제2 안테나에 도달한 제2 신호 사이의 신호 세기 차이를 검출할 수도 있다. 일 실시예에 따르면 위상차 검출 모듈(2640)은 제1 안테나에 도달한 제1 신호의 위상과 제2 안테나에 도달한 제2 신호의 위상을 기반으로 제1 신호와 제2 신호의 위상차(phase difference)를 검출할 수도 있다.
프로세서(2610)(예를 들면, 도 1의 120, 또는 도 2의 210)는 전자 장치(2601)의 전반적인 동작을 제어할 수 있다. 프로세서(2610)는 중앙처리장치, 어플리케이션 프로세서, 또는 커뮤니케이션 프로세서(communication processor(CP)) 중 하나 또는 그 이상을 포함할 수 있다. 프로세서(2610)는, 예를 들면, 전자 장치(2601)의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다.
다양한 실시예에 따르면, 프로세서(2610)는 센서 모듈(2630), 디스플레이(2650) 또는 마이크(2670)를 통해 사용자 입력을 수신할 수 있고, 수신된 사용자 입력과 관련된 데이터를 획득할 수 있다. 일 실시예에 따르면, 전자 장치(2601)는 마이크(2670)를 통해 사용자에 의해 발화된 음성 신호를 수신할 수 있다. 예를 들면, 사용자는 "불 꺼" "저거 뭐야?", "저기서 노래 틀어봐", "저거 10분 있다 꺼줘", "저거 충전해야 돼?"등과 같이 명령어를 포함하거나, 명령어와 지시 대명사를 포함하는 음성을 발화할 수 있다. 프로세서(2610)는 마이크(2670)를 통해 수신된 음성 신호를 음성 데이터로 변환할 수 있다. 프로세서(2610)는 음성 데이터를 기반으로 적어도 하나의 외부 장치 확인을 위한 제1 정보를 획득할 수 있다. 프로세서(2610)는 외부 서버(예를 들면, 도 4의 405)에 음성 데이터를 제공하고, 외부 서버로부터 적어도 하나의 외부 장치 확인을 위한 제1 정보를 획득하거나, 자체적으로 적어도 하나의 외부 장치 확인을 위한 제1 정보를 획득할 수 있다.
프로세서(2610)는 자체적으로 제1 정보를 획득하는 경우 음성 데이터를 기반으로 음성 인식을 수행하고, 자연어 이해를 수행하여 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 획득할 수 있고, 획득된 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 기반으로 적어도 하나의 외부 장치 확인을 위한 제1 정보를 획득할 수 있다. 일 실시예에 따르면, 제1 정보는 외부 장치 리스트를 포함할 수 있다. 외부 장치 리스트는 적어도 하나의 외부 장치의 장치 인식 정보가 포함될 수 있다. 또한 제1 정보는 외부 장치 확인을 위한 제2 정보가 요구됨을 나타내는 정보를 더 포함할 수 있다.
프로세서(2610)는 위상차 검출 모듈(2640)에 의해 검출된 적어도 하나의 신호 각각에 대한 위상차를 기반으로 외부 장치를 확인하기 위한 제2 정보를 획득할 수 있다. 일 실시예에 따르면 프로세서(2610)는 적어도 하나의 신호 각각에 대한 위상차를 기반으로 위상차가 미리 정해진 임계값 이하인 적어도 하나의 신호를 판단하고, 위상차가 미리 정해진 임계값 이하인 적어도 하나의 신호에 대응된 외부 장치에 대한 제2 정보를 획득할 수 있다. 예를 들면 제2 정보는 위상차가 미리 정해진 임계값 이하인 신호에 대응된 외부 장치의 장치 인식 정보를 포함할 수 있다.
프로세서(2610)는 제1 정보와 제2 정보를 기반으로 적어도 하나의 외부 장치를 확인할 수 있다. 일 실시예에 따르면 프로세서(2610)는 음성 데이터에 기반하여 획득된 외부 장치 리스트에서 위상차가 미리 정해진 임계값 이하인 외부 장치를 확인할 수 있다. 예를 들면, 프로세서(2610)는 음성 데이터를 기반으로 획득된 제1 정보(예를 들면, 외부 장치 리스트)에 포함된 외부 장치들 중 제2 정보에 따라 복수의 안테나를 통해 수신된 신호의 위상차가 미리 정해진 임계값 이하를 가지는 적어도 하나의 외부 장치를 확인할 수 있다. 예를 들면, 프로세서(2610)는 사용자 발화에 의한 음성 기반의 제1 정보를 통해 확인된 외부 장치들 중에서 사용자의 전자 장치(2601)를 이용한 지향 방향의 외부 장치를 확인함으로써, 외부 장치를 확인할 수 있다.
프로세서(2610)는 사용자 입력과 연관된 데이터와 확인된 외부 장치 정보를 기반으로 외부 장치를 이용한 태스크를 수행하기 위한 정보를 획득할 수 있다. 다양한 실시예에 따르면, 사용자 입력과 관련된 데이터는 음성 데이터를 포함할 수 있고, 확인된 외부 장치 정보는 장치 인식 정보(예를 들면, 디바이스 ID)를 포함할 수 있다. 다양한 실시예에 따르면, 프로세서(2610)는 음성 데이터와 장치 인식 정보를 외부 서버로 전송하고 외부 서버로부터 음성 데이터와 장치 인식 정보를 기반으로 획득된 외부 장치를 이용한 태스크를 수행하기 위한 정보를 획득하거나, 자체적으로 음성 데이터와 장치 인식 정보를 이용하여 외부 장치를 이용한 태스크를 수행하기 위한 정보를 획득할 수 있다.
일 실시예에 따르면, 프로세서(2610)는 자체적으로 음성 데이터와 장치 인식 정보를 이용하여 외부 장치를 이용한 태스크를 수행하기 위한 정보를 획득하는 경우, 음성 데이터를 기반으로 음성 인식을 수행하고, 인식된 음성에 대한 자연어 이해를 수행하여 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 획득할 수 있고, 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보와 장치 인식 정보를 기반으로 장치 인식 정보에 대응된 외부 장치와 관련된 명령 또는 기능을 적어도 일부 포함하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 예를 들면, 프로세서(2610)는 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보로서 "저거"(지시 대명사)와"불 켜줘"(명령어)가 획득되고, 확인된 적어도 하나의 외부 장치에 대한 정보로서 스마트 전등의 장치 인식 정보가 획득된 경우 스마트 전등의 전원을 오프하도록 지시하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 일 실시예에 따르면 프로세서(2610)는 스마트 전등의 전원을 오프하도록 지시하는 태스크를 수행하기 위한 정보로서 스마트 전등의 전원을 오프하도록 지시하는데 필요한 전자 장치(2601)의 적어도 하나 이상의 동작 또는 적어도 하나 이상의 동작의 조합과 관련된 상태들의 시퀀스 정보를 획득할 수 있다. 예를 들면, 스마트 전등의 전원을 오프하도록 지시하는데 필요한 전자 장치(2601)의 적어도 하나 이상의 동작 또는 적어도 하나 이상의 동작의 조합과 관련된 상태들의 시퀀스 정보는 스마트 전등과 통신을 연결하는 동작, 스마트 전등에 전원 오프 명령을 전송하는 동작, 및 스마트 전등으로부터 전원 오프 결과를 수신받는 동작 각각 또는 그 조합을 포함할 수 있다.
다양한 실시예에 따르면 프로세서(2610)는 외부 장치를 이용한 태스크를 수행하기 위한 정보를 이용하여 태스크를 수행할 수 있다. 일 실시예에 따르면 프로세서(2610)는 스마트 전등의 전원을 오프하도록 지시하는데 필요한 전자 장치(2601)의 적어도 하나 이상의 동작 또는 적어도 하나 이상의 동작의 조합과 관련된 상태들의 시퀀스 정보를 이용하여 스마트 전등과 통신을 연결하는 동작, 스마트 전등에 전원 오프 명령을 전송하는 동작, 및 스마트 전등으로부터 전원 오프 결과를 수신받는 동작 각각 또는 그 조합에 따라 동작함으로써, 스마트 전등의 전원을 오프하도록 지시하는 태스크를 수행할 수 있다. 다양한 실시예에 따르면 프로세서(2610)는 확인된 적어도 하나의 외부 장치에 대응된 서비스 정보를 표시하는 태스크를 수행하거나, 확인된 적어도 하나의 외부 장치가 제어 명령을 수행하도록 상기 확인된 적어도 하나의 외부 장치에 제어 명령을 전송하는 태스크를 수행하거나, 확인된 적어도 하나의 외부 장치가 다른 외부 장치와 연동하도록 하는 명령을 상기 확인된 적어도 하나의 외부 장치에 전송하는 태스크를 수행할 수 있다.
일 실시예에 따르면, 프로세서(2610)는 지능형 에이전트 모듈, 장치 종류 판단 모듈, 장치 판단 모듈, 또는 외부 장치 제어 모듈 중 일부 또는 전체를 포함할 수 있다. 프로세서(2610)는 도 26c와 같이 지능형 에이전트 모듈(22612), 장치 종류 판단 모듈(2614), 장치 판단 모듈(2616), 또는 외부 장치 제어 모듈(2618) 중 일부 또는 전체를 이용하여 동작할 수 있다.
메모리(2680)(예: 메모리(130))는 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리(2680)는, 예를 들면, 전자 장치(1001)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 한 실시예에 따르면, 메모리(2680)는 소프트웨어 및/또는 프로그램을 저장할 수 있다. 한 실시예에 따르면 메모리(2680)는 프로세서(2680)에서 실행되는 동작들을 수행하기 위한 인스트럭션(instruction)들을 저장할 수 있다.
센서 모듈(2630)(예를 들면, 도 2의 240)은 적어도 하나 이상의 센서를 포함하고, 적어도 하나 이상의 센서에 의해 감지된 센싱값을 획득할 수 있다. 다양한 실시예에 따르면, 센서 모듈은 제스쳐 센서, 자이로 세서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, RGB 센서, 생체 센서, 온/습도 센서, 조도센서, 또는 UV 센서 중 적어도 하나의 센서를 포함할 수 있다. 일 실시예에 따르면 적어도 하나 이상의 센서에 의해 감지된 센싱값은 적어도 하나 이상의 신호의 위상차를 보정하는데 이용될 수 있다. 일 실시예에 따르면 센서 모듈(2630)은 사용자에 의한 범위를 지정하는 제스쳐 입력에 따라 적어도 하나의 센서(예를 들면, 자이로 센서 및 가속도 센서)에 의해 센싱된 센싱값을 획득할 수 있고, 제획득된 센싱값은 프로세서(2610)에 전달되어 전자 장치(2601)의 자세나 지향하는 방향에 대한 정보를 판단하거나, 전자 장치(2601)의 자세나 지향하는 방향에 대한 정보를 보정하는데 이용될 수 있다.
도 26c는 다양한 실시예에 따른 전자 장치의 프로세서의 구성도이다.
일 실시예에 따르면, 프로세서(2610)는 지능형 에이전트 모듈(2612), 장치 종류 판단 모듈(2614), 장치 판단 모듈(2616), 또는 외부 장치 제어 모듈(2618) 중 일부 또는 전체를 포함할 수 있다.
지능형 에이전트 모듈(2612)은 마이크(2670)를 통해 수신된 음성 신호와 관련된 음성 데이터를 기반으로 적어도 하나의 외부 장치 확인을 위한 제1 정보를 획득하는 동작을 수행할 수 있다. 지능형 에이전트 모듈(2612)은 외부 서버(예를 들면, 도 4의 405)에 음성 데이터를 제공하고, 외부 서버로부터 음성 데이터에 대한 음성 인식 및 자연어 이해 수행 결과에 따른 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 획득하거나, 자체적으로 음성 데이터를 기반으로 음성 인식을 수행하고, 자연어 이해를 수행하여 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 획득할 수 있다. 지능형 에이전트 모듈(2612)은 음성 데이터를 기반으로 획득된 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 장치 종류 판단 모듈(2614)에 제공할 수 있다. 예를 들면 지능형 에이전트 모듈(2612)은 "저거 불 켜줘"라는 사용자의 음성에 대응된 음성 데이터를 기반으로 "저거"에 대응된 지시 대명사와, "불을 켜라"라는 제어 명령을 획득할 수 있다.
장치 종류 판단 모듈(2614)은 지능형 에이전트 모듈(2612)로부터 제공된 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 기반으로 적어도 하나의 외부 장치 확인을 위한 제1 정보를 생성할 수 있다. 장치 종류 판단 모듈(2614)은 지능형 에이전트 모듈(2612)로부터 제공된 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보와 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 기반으로 생성된 외부 장치 리스트를 외부 장치 제어 모듈(2618)에 전달할 수 있다. 일 실시예에 따르면, 제1 정보는 외부 장치 리스트를 포함할 수 있다. 외부 장치 리스트는 적어도 하나의 외부 장치의 장치 인식 정보가 포함될 수 있다. 또한 제1 정보는 외부 장치 확인을 위한 제2 정보가 요구됨을 나타내는 정보를 더 포함할 수 있다.
예를 들면, 장치 종류 판단 모듈(2614)은 지능형 에이전트 모듈(2612)로부터 "저거"에 대응된 지시 대명사와, "불을 켜라"라는 제어 명령을 수신할 수 있으며, "저거"에 대응된 지시 대명사와, "불을 켜라"라는 제어 명령에 기반하여 제1 정보를 생성할 수 있다. 예를 들면 장치 종류 판단 모듈(2614)은 전자 장치(2601)의 등록 계정을 이용하여 현재 사용자가 제어할 수 있는 외부 장치들을 확인하고, 사용자가 제어할 수 있는 외부 장치들 중 "불을 켜라"라는 제어 명령을 수행할 수 있는 외부 장치를 포함하는 외부 장치 리스트를 생성하거나, 현재 전자 장치(2601)에 등록된 외부 장치들을 확인하고, 현재 전자 장치(2601)에 등록된 외부 장치들 중 "불을 켜라"라는 제어 명령을 수행할 수 있는 외부 장치를 포함하는 외부 장치 리스트를 생성할 수 있다. 다른 실시예에 따르면 장치 종류 판단 모듈(2614)은 현재 전자 장치(2601)의 정보 또는 전자 장치(2601)에 등록된 계정 정보의 일부를 기반으로 외부의 IoT 서버와 연계하여 외부 장치 리스트를 생성할 수도 있고, 현재 전자 장치(2601)에서 센싱된 센싱 정보(예를 들면, 위치 정보 등) 또는 전자 장치(2601)에 저장된 컨텍스트(context) 정보를 이용하여 외부 장치 리스트를 생성할 수도 있다. 예를 들면 전자 장치(2601)의 현재 위치가 회사일 경우, 전자 장치(2601)를 통해 회사에서 제어할 수 있는 외부 장치들 중 현재 "불을 켜라"라는 제어 명령을 수행할 수 있는 외부 장치 리스트(이하 제1 외부 장치 리스트'라고도 함)를 생성할 수 있다.
다양한 실시예에 따르면, 장치 판단 모듈(2616)은 위상차 검출 모듈(2640)에 의해 검출된 적어도 하나의 신호 각각에 대한 위상차를 기반으로 외부 장치를 확인하기 위한 제2 정보를 획득할 수 있다. 일 실시예에 따르면 장치 판단 모듈(2616)은 적어도 하나의 신호 각각에 대한 위상차를 기반으로 위상차가 미리 정해진 임계값 이하인 적어도 하나의 신호를 판단하고, 위상차가 미리 정해진 임계값 이하인 적어도 하나의 신호에 대응된 외부 장치에 대한 제2 정보를 획득할 수 있다. 예를 들면 제2 정보는 위상차가 미리 정해진 임계값 이하인 신호에 대응된 외부 장치 리스트(이하 '제2 외부 장치 리스트'라고도 함)를 포함할 수 있다. 예를 들면, 장치 판단 모듈(2616)은 적어도 하나의 신호 각각에 대한 위상차를 기반으로 전자 장치(2601)가 가리키고 있는 방향을 판단할 수 있으며 이를 이용해 전자 장치(2601)가 지향하는 있는 적어도 하나의 외부 장치를 특정할 수 있다. 일 실시예에 따르면, 장치 판단 모듈(2616)은 적어도 하나의 신호 각각에 대한 위상차 이외에도 적어도 하나의 신호 각각에 대한 신호 세기 또는 적어도 하나의 신호 각각에 대한 SNR과 같은 RF와 연관된 정보 또는 각종 센서로부터 수신한 정보를 더 이용하여 전자 장치(2601)가 지향하는 적어도 하나의 외부 장치를 특정할 수 있다. 일 실시예에 따르면, 장치 판단 모듈(2616)은 센서 모듈(2630)에 포함된 적어도 하나의 센서에 의한 센싱값 또는 전자장치 외부로부터 수집된 계절, 날씨, 시간 등의 정황 정보(context)를 더 수신할 수 있으며 수신된 센싱값 또는 정황 정보를 이용하여 적어도 하나의 신호 각각에 대한 위상차를 보정하고, 보정된 적어도 하나의 신호 각각에 대한 위상차를 기반으로 전자 장치(2601)가 가리키고 있는 방향을 판단할 수 있다. 일 실시예에 따르면, 장치 판단 모듈(2616)은 적어도 하나의 신호 각각에 대한 위상차와 적어도 하나의 신호 각각에 대한 신호 세기를 이용하여 적어도 하나의 외부 장치와 전자 장치(2601) 사이의 거리를 감지할 수도 있다.
외부 장치 제어 모듈(2618)은 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보와, 제1 정보, 및 제2 정보를 기반으로 적어도 하나의 외부 장치를 확인하고, 확인된 적어도 하나의 외부 장치를 이용한 태스크를 수행하기 위한 정보를 획득할 수 있다. 일 실시예에 따르면, 외부 장치 제어 모듈(2618)은 제1 정보에 포함된 제1 외부 장치 리스트와 제2 정보에 포함된 제2 외부 장치 리스트를 비교하여 태스크 수행 대상이 되는 적어도 하나의 외부 장치를 확인할 수 있다. 일 실시예에 따르면, 외부 장치 제어 모듈(2618)은 확인된 적어도 하나의 외부 장치와 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 이용하여 태스크를 수행하기 위한 정보를 획득할 수 있다. 예를 들면 외부 장치 제어 모듈(2618)은 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보와 확인된 적어도 하나의 외부 장치의 장치 인식 정보를 기반으로, 장치 인식 정보에 대응된 외부 장치와 관련된 명령 또는 기능을 적어도 일부 포함하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 예를 들면, 외부 장치 제어 모듈(2618)은 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보로서 "저거"(지시 대명사)와"불 켜줘"(명령어)가 획득되고, 확인된 적어도 하나의 외부 장치에 대한 정보로서 스마트 전등의 장치 인식 정보가 획득된 경우 스마트 전등의 전원을 오프하도록 지시하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 일 실시예에 따르면 외부 장치 제어 모듈(2618)은 스마트 전등의 전원을 오프하도록 지시하는 태스크를 수행하기 위한 정보로서 스마트 전등의 전원을 오프하도록 지시하는데 필요한 전자 장치(2601)의 적어도 하나 이상의 동작 또는 적어도 하나 이상의 동작의 조합과 관련된 상태들의 시퀀스 정보를 획득할 수 있다. 예를 들면, 스마트 전등의 전원을 오프하도록 지시하는데 필요한 전자 장치(2601)의 적어도 하나 이상의 동작 또는 적어도 하나 이상의 동작의 조합과 관련된 상태들의 시퀀스 정보는 스마트 전등과 통신을 연결하는 동작, 스마트 전등에 전원 오프 명령을 전송하는 동작, 및 스마트 전등으로부터 전원 오프 결과를 수신받는 동작 각각 또는 그 조합을 포함할 수 있다.
다양한 실시예에 따르면 외부 장치 제어 모듈(2618)은 외부 장치를 이용한 태스크를 수행하기 위한 정보를 이용하여 태스크를 수행할 수 있다. 일 실시예에 따르면 외부 장치 제어 모듈(2618)은 스마트 전등의 전원을 오프하도록 지시하는데 필요한 전자 장치(2601)의 적어도 하나 이상의 동작 또는 적어도 하나 이상의 동작의 조합과 관련된 상태들의 시퀀스 정보를 이용하여 스마트 전등과 통신을 연결하는 동작, 스마트 전등에 전원 오프 명령을 전송하는 동작, 및 스마트 전등으로부터 전원 오프 결과를 수신받는 동작 각각 또는 그 조합에 따라 동작함으로써, 스마트 전등의 전원을 오프하도록 지시하는 태스크를 수행할 수 있다. 다양한 실시예에 따르면 외부 장치 제어 모듈(2618)은 확인된 적어도 하나의 외부 장치에 대응된 서비스 정보를 표시하는 태스크를 수행하거나, 확인된 적어도 하나의 외부 장치가 제어 명령을 수행하도록 상기 확인된 적어도 하나의 외부 장치에 제어 명령을 전송하는 태스크를 수행하거나, 확인된 적어도 하나의 외부 장치가 다른 외부 장치와 연동하도록 하는 명령을 상기 확인된 적어도 하나의 외부 장치에 전송하는 태스크를 수행할 수 있다.
다양한 실시예에 따르면, 전자 장치(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401 도 6a 및 도 6b의 601, 도 7a 및 도 7b의 701, 도 8a 내지 도 8b의 801, 도 9a 내지 도 9l의 901, 도 10의 1001, 도 11의 1101, 도 12a 및 도 12b의 1201, 도 13a 내지 도 13e의 1301, 도 14의 1401, 도 15a 내지 도 15c의 1501, 도 16a 및 도 16b의 1601, 도 17의 1701, 도 18a 내지 도 18c의 1801, 도 19의 1901, 도 20a 내지 도 20d의 2001, 도 21의 2101, 도 22의 2201, 또는 도 23의 2301 또는 도 26a 및 26b의 2601)에서 외부 장치를 이용한 태스크 수행 방법은 적어도 하나의 외부 장치를 이용한 태스크를 수행하기 위한 요청을 포함하는 사용자 입력을 수신하는 동작, 무선 통신 회로를 통해 획득된 적어도 하나의 신호의 적어도 일부 기반하여 상기 적어도 하나의 외부 장치를 확인하는 동작, 및 상기 사용자 입력과 관련된 데이터와, 상기 확인된 적어도 하나의 외부 장치에 대한 정보의 적어도 일부를 기반으로 상기 태스크를 수행하는 동작을 수행할 수 있다.
다양한 실시예에 따르면, 상기 방법은 상기 무선 통신 회로(예: 통신 모듈(2620))를 통해 상기 외부 서버에 상기 데이터를 전송한 이후 또는 상기 데이터 전송과 함께 상기 적어도 하나의 외부 장치에 대한 정보를 전송하는 동작, 및 상기 무선 통신 회로(2620)를 통해 상기 외부 서버로부터 상기 외부 장치를 이용하여 상기 태스크 적어도 일부를 수행하기 위한 상기 전자 장치의 상태들의 시퀀스에 대한 정보를 포함하는 응답을 수신하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 적어도 하나의 외부 장치를 확인하는 동작은, 상기 사용자 입력과 관련된 데이터에 기반하여 상기 적어도 하나의 외부 장치 확인을 위한 제1 정보를 획득하는 동작, 상기 적어도 하나의 신호에 기반하여 상기 적어도 하나의 외부 장치 확인을 위한 제2 정보를 획득하는 동작, 및 상기 제1 정보 및 상기 제2 정보를 기반으로 상기 적어도 하나의 외부 장치를 확인하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 적어도 하나의 외부 장치를 확인하는 동작은, 센서 모듈(예: 센서 모듈(2630))에 의해 획득된 데이터들에 더 기반하여 상기 적어도 하나의 외부 장치를 확인하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 제1 정보를 획득하는 동작은, 상기 사용자에 의해 발화된 음성 신호에 대응된 음성 데이터에 기반하여 상기 적어도 하나의 외부 장치 확인을 위한 상기 제1 정보를 획득하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 제2 정보를 획득하는 동작은, 복수의 안테나들을 통해 상기 적어의 하나의 신호를 획득하는 동작, 상기 적어도 하나의 신호가 상기 복수의 안테나들에 도달하는 위상차를 검출하는 동작, 및 상기 위상차를 기반으로 상기 제2 정보를 획득하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 제2 정보를 획득하는 동작은, 자이로 센서(예: 자이로 센서(240B))에서 획득된 데이터와 상기 적어도 하나의 신호 각각의 상기 위상차를 기반으로 상기 제 제2 정보를 획득하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 적어도 하나의 신호는 상기 적어도 하나의 외부 장치의 장치 정보(예를 들면, 디바이스 ID)를 포함하는 브로드캐스팅 신호를 포함할 수 있다.
다양한 실시예에 따르면, 상기 적어도 하나의 외부 장치를 이용한 태스크 수행 모드를 활성화하는 트리거 입력을 수신하는 동작을 더 포함할 수 있다.
도 27a 및 27b는 다양한 실시예에 따른 전자 장치의 동작 흐름도이다.
도 27a를 참조하면, 전자 장치(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401, 또는 도 26a 및 26b의 2601)(이하 전자 장치(2601)를 예로 설명함)의 프로세서(예를 들면, 도 1의 120, 도 2의 210, 또는 도 26b의 2610)(이하 프로세서(2610)을 예로 설명함)는 2702 동작에서 외부 장치를 이용한 태스크 수행 요청을 포함하는 사용자 입력을 수신할 수 있다.
일 실시예에 따르면, 전자 장치(2601)는 디스플레이(예를 들면, 도 26b의 2650) 또는 마이크(예를 들면, 도 26b의 2670)를 통해 사용자 입력을 수신할 수 있고, 수신된 사용자 입력과 관련된 데이터를 획득할 수 있다. 일 실시예에 따르면, 전자 장치(2601)는 마이크(2670)를 통해 사용자에 의해 발화된 음성 신호를 수신할 수 있다. 다양한 실시예에 따르면, 전자 장치(2601)는 마이크(2670)를 통해 사용자로부터 발화된 음성 예를 들면 "불 꺼" "저거 뭐야?", "저기서 노래 틀어봐", "저거 10분 있다 꺼줘", "저거 충전해야되?"등과 같이 명령어를 포함하거나, 명령어와 지시 대명사를 포함하는 음성 신호를 수신할 수 있다. 프로세서(2610)는 마이크(2670)를 통해 수신된 음성 신호를 음성 데이터로 변환할 수 있다.
전자 장치(2601)는 2704 동작에서 외부의 서버(예를 들면, 도 1의 106, 또는 도 4의 405)에 사용자 입력과 관련된 데이터를 전송할 수 있다. 일 실시예에 따르면 사용자 입력과 관련된 데이터는 사용자에 의해 발화된 음성 신호와 관련된 음성 데이터일 수 있다. 다양한 실시예에 따르면, 외부 서버는 음성 데이터를 기반으로 음성 인식을 수행하고, 자연어 이해를 수행하여 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 획득할 수 있고, 획득된 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 기반으로 적어도 하나의 외부 장치 확인을 위한 제1 정보를 획득하여 전자 장치(2601)에 전송할 수 있다. 일 실시예에 따르면, 제1 정보는 외부 장치 리스트를 포함할 수 있다. 외부 장치 리스트는 적어도 하나의 외부 장치의 장치 인식 정보(예를 들면, 디바이스 ID)가 포함될 수 있다. 또한 제1 정보는 전자 장치에서(2601)에서 외부 장치 확인을 위한 제2 정보가 요구됨을 나타내는 정보를 더 포함할 수 있다. 다양한 실시예에 따르면 프로세서(2610)는 음성 데이터를 외부 서버에 전송하지 않고, 자체적으로 음성 데이터를 기반으로 적어도 하나의 외부 장치 확인을 위한 제1 정보를 획득할 수도 있다.
전자 장치(2601)는 2706 동작에서 통신 모듈(예를 들면, 도 26b의 2620)을 통해 획득된 적어도 하나의 신호에 기반하여 적어도 하나의 외부 장치를 확인할 수 있다. 다양한 실시예에 따르면, 프로세서(2610)는 사용자 입력과 관련된 데이터를 기반으로 획득된 제1 정보와 적어도 하나의 외부 장치 신호에 기반하여 획득된 제2 정보를 이용하여 적어도 하나의 외부 장치를 확인할 수 있다. 예를 들면, 프로세서(2610)는 음성 데이터를 기반으로 획득된 제1 정보(예를 들면, 외부 장치 리스트)에 포함된 외부 장치들 중 제2 정보에 따라 복수의 안테나에 도달한 신호의 위상차가 미리 정해진 임계값 이하를 가지는 적어도 하나의 외부 장치를 확인할 수 있다. 예를 들면, 프로세서(2610)는 사용자 발화에 의한 음성에 의해 확인된 외부 장치 리스트 중에서 사용자가 전자 장치(2601)를 이용하여 지향한 외부 장치를 확인함으로써, 태스크를 수행하고자 하는 외부 장치를 확인할 수 있다.
전자 장치(2601)는 2708 동작에서 상기 확인된 적어도 하나의 외부 장치 정보를 외부의 서버(예를 들면, 도 1의 106, 또는 도 4의 405)에 전송할 수 있다. 다양한 실시예에 따르면 프로세서(2610)는 상기 확인된 적어도 하나의 외부 장치에 대한 장치 인식 정보를 통신 모듈(2620)을 통해 외부의 서버에 전송할 수 있다. 다양한 실시예에 따르면 외부의 서버는 사용자 입력과 관련된 데이터(예를 들면, 음성 데이터)와 적어도 하나의 외부 장치의 장치 인식 정보(예를 들면, 디바이스 ID)를 수신할 수 있다. 외부의 서버는 음성 데이터를 기반으로 음성 인식을 수행하고, 인식된 음성에 대한 자연어 이해를 수행하여 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 획득할 수 있고, 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보와 장치 인식 정보를 기반으로 장치 인식 정보에 대응된 외부 장치와 관련된 명령 또는 기능을 적어도 일부 포함하는 태스크를 수행하기 위한 정보를 획득하여 전자 장치(2601)로 전송할 수 있다. 예를 들면, 외부의 서버는 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보로서 "저거"(지시 대명사)와"불 켜줘"(명령어)가 획득되고, 확인된 적어도 하나의 외부 장치에 대한 정보로서 스마트 전등의 디바이스 ID가 획득된 경우 스마트 전등의 전원을 오프하도록 지시하는 태스크를 수행하기 위한 정보를 생성하여 전자 장치(2601)에 전송할 수 있다.
전자 장치(2601)는 2710 동작에서 외부의 서버로부터 외부 장치를 이용한 태스크를 수행하기 위한 정보를 수신할 수 있다. 일 실시예에 따르면, 프로세서(2610)는 외부의 서버로부터 스마트 전등의 전원을 오프도록 지시하는 태스크를 수행하기 위한 정보로서 스마트 전등의 전원을 오프하도록 지시하는데 필요한 전자 장치의 적어도 하나 이상의의 동작 또는 적어도 하나 이상의 동작의 조합과 관련된 상태들의 시퀀스 정보를 수신할 수 있다.
전자 장치(2601)는 2712 동작에서 상기 수신된 정보를 기반으로 태스크를 수행할 수 있다. 일 실시예에 따르면 프로세서(2610)는 스마트 전등의 전원을 오프하도록 지시하는데 필요한 전자 장치(2601)의 적어도 하나의 동작 또는 적어도 하나의 동작의 조합과 관련된 상태들의 시퀀스 정보를 이용하여 스마트 전등과 통신을 연결하는 동작, 스마트 전등에 전원 오프 명령을 전송하는 동작, 및 스마트 전등으로부터 전원 오프 결과를 수신받는 동작 각각 또는 그 조합에 따라 동작함으로써, 스마트 전등의 전원을 오프하도록 지시하는 태스크를 수행할 수 있다.
도 27b를 참조하면, 전자 장치(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401, 또는 도 26a 및 26b의 2601)(이하 전자 장치(2601)를 예로 설명함)의 프로세서(예를 들면, 도 1의 120, 도 2의 210, 또는 도 26b의 2610)(이하 전자 장치(2601)을 예로 설명함)는 2752 동작에서 외부 장치를 이용한 태스크 수행 요청을 포함하는 사용자 입력을 수신할 수 있다. 일 실시예에 따르면, 전자 장치(2601)는 디스플레이(예를 들면, 도 26b의 2650) 또는 마이크(예를 들면, 도 26b의 2670)를 통해 사용자 입력을 수신할 수 있고, 수신된 사용자 입력과 관련된 데이터를 획득할 수 있다. 일 실시예에 따르면, 전자 장치(2601)는 마이크(2670)를 통해 사용자에 의해 발화된 음성 신호를 수신할 수 있다. 다양한 실시예에 따르면, 전자 장치(2601)는 마이크(2670)를 통해 사용자로부터 발화된 음성 예를 들면 "불 꺼" "저거 뭐야?", "저기서 노래 틀어봐", "저거 10분 있다 꺼줘", "저거 충전해야되?"등과 같이 명령어를 포함하거나, 명령어와 지시 대명사를 포함하는 음성 신호를 수신할 수 있다. 프로세서(2610)는 마이크(2670)를 통해 수신된 음성 신호를 음성 데이터로 변환할 수 있다.
전자 장치(2601)는 2754 동작에서 통신 모듈(예를 들면, 도 26b의 2620)을 통해 획득된 적어도 하나의 신호에 기반하여 적어도 하나의 외부 장치에 대한 정보를 획득할 수 있다.
전자 장치(2601)는 2756 동작에서 사용자 입력과 관련된 데이터와 적어도 하나의 외부 장치에 대한 정보를 기반으로 외부 장치를 이용하여 태스크를 수행하기 위한 정보를 생성할 수 있다. 다양한 실시예에 따르면 사용자 입력과 관련된 데이터는 사용자에 의해 발화된 음성 신호와 관련된 음성 데이터를 포함할 수 있고, 적어도 하나의 외부 장치에 대한 정보는 전자 장치(2601)에 의해 지향된 적어도 하나의 외부 장치에 대한 제2 정보를 포함할 수 있다. 예를 들면, 제2 정보는 전자 장치(2601)의 주변 장치들 중 복수의 안테나에 도달한 신호의 위상차가 미리 정해진 임계값 이하를 가지는 외부 장치(예를 들면, 전자 장치(2601)에 의해 지향된 전자 장치)에 대한 장치 인식 정보(예: 디바이스 ID)를 포함할 수 있다. 다양한 실시예에 따르면 전자 장치(2601)는 수신된 음성 데이터를 기반으로 음성 인식을 수행하고, 자연어 이해를 수행하여 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 획득할 수 있고, 획득된 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 기반으로 관련된 적어도 하나의 외부 장치에 대한 제1 정보를 획득할 수 있다. 일 실시예에 따르면, 제1 정보는 외부 장치 리스트를 포함할 수 있다. 외부 장치 리스트는 적어도 하나의 외부 장치의 장치 인식 정보(예를 들면, 디바이스 ID)를 포함될 수 있다. 전자 장치(2601)는 상기 제1 정보와 상기 수신된 제2 정보를 기반으로 사용자 입력에 기반한 태스크를 수행할 적어도 하나의 외부 장치를 확인할 수 있다. 다양한 실시예에 따르면 전자 장치(2601)는 음성 데이터를 기반으로 음성 인식을 수행하고, 인식된 음성에 대한 자연어 이해를 수행하여 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 획득할 수 있고, 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보와 상기 확인된 외부 장치의 장치 인식 정보를 기반으로 상기 확인된 외부 장치와 연관된 태스크를 수행하기 위한 정보를 획득할 수 있다.
예를 들면, 전자 장치(2601)는 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보로서 "저거"(지시 대명사)와"불 켜줘"(명령어)가 획득되고, 확인된 적어도 하나의 외부 장치에 대한 정보로서 스마트 전등의 장치 인식 정보가 획득된 경우 스마트 전등의 전원을 오프하도록 지시하는 태스크를 수행하기 위한 정보를 생성할 수 있다. 예를 들면, 전자 장치(2601)는 스마트 전등의 전원을 오프도록 지시하는 태스크를 수행하기 위한 정보로서 스마트 전등의 전원을 오프하도록 지시하는데 필요한 전자 장치의 적어도 하나 이상의의 동작 또는 적어도 하나 이상의 동작의 조합과 관련된 상태들의 시퀀스 정보를 생성할 수 있다.
전자 장치(2601)는 2758 동작에서 상기 생성된 정보를 기반으로 태스크를 수행할 수 있다. 일 실시예에 따르면 프로세서(2610)는 스마트 전등의 전원을 오프하도록 지시하는데 필요한 전자 장치(2601)의 적어도 하나의 동작 또는 적어도 하나의 동작의 조합과 관련된 상태들의 시퀀스 정보를 이용하여 스마트 전등과 통신을 연결하는 동작, 스마트 전등에 전원 오프 명령을 전송하는 동작, 및 스마트 전등으로부터 전원 오프 결과를 수신받는 동작 각각 또는 그 조합에 따라 동작함으로써, 스마트 전등의 전원을 오프하도록 지시하는 태스크를 수행할 수 있다.도 28 내지 도 30은 다양한 실시예에 따른 전자 장치에서 복수의 안테나를 이용한 위상차 검출 방법을 설명하기 위한 도면이다.
도 28을 참조하면, 전자 장치(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401, 또는 도 26a 및 도 26b의 2601)의 일정 이격 거리(antenna spacing, d)를 가지도록 배치된 두 개의 제1 안테나(2810) 및 제2 안테나(2820)를 통해 적어도 하나의 신호가 수신되는 경우, 적어도 하나의 신호가 제1 안테나(2810)와 제2 안테나(2820)에 각각 도달하는 도달 시간 및 도달 입사각(angle of arrival, θ)이 다를 수 있다. 적어도 하나의 신호가 제1 안테나(2810)와 제2 안테나(2820)에 도달하는 도달 입사각의 차이에 따라 제1 안테나(2810)를 통해 수신된 제1 신호와 제2 안테나(2820)에 의해 수신된 제2 신호 사이에 위상차(path difference, △1)가 발생할 수 있으며, 위상차(△1)는 적어도 하나의 신호가 제1 안테나(2810)와 제2 안테나(2820) 각각에 직선으로(정면으로) 수신될수록 작을 수 있다. 이에 따라 적어도 하나의 신호가 제1 안테나(2810)와 제2 안테나(2820)에 각각 도달함에 따른 위상차(△1)가 작을수록 제1 안테나(2810)와 제2 안테나(2820)가 적어도 하나의 신호를 직선으로 수신함을 알 수 있고, 제1 안테나(2810)와 제2 안테나(2820)가 적어도 하나의 신호를 송신하는 외부 장치를 향하고 있음을 알 수 있다.
도 29를 참조하면, 외부 장치(2903)가 비콘(beacon)(2903-1)을 통해 BLE 또는 WiFi 등의 무선 신호를 송신하고, 두 개의 제1 안테나(2901-1) 및 제2 안테나(2901-2)를 가진 전자 장치(2901)가 (1), (2), (3) 위치에서 각각 일정 방향을 지향하도록 했을 경우를 나타내고 있다. (1) 및 (2)의 위치와 같이 전자 장치(2901)가 외부 장치(2903)를 지향하고 있는 경우, 제1 안테나(2901-1)의 도달 입사각(θ) 및 제2 안테나(2901-2)이 도달 입사각(θ')의 차이는 0일 수 있지만, (3)의 위치와 같이 전자 장치(2901)가 외부 장치(2903)를 지향하고 있지 않은 경우 제1 안테나(2901-1)의 도달 입사각(θ) 및 제2 안테나(2901-2)이 도달 입사각(θ')은 도달 시간의 차이 발생에 따라 위상차가 발생할 수 있다.
도 30을 참조하면, 두 개의 제1 안테나(2901-1) 및 제2 안테나(2901-2)를 가진 전자 장치(2901)에서 실제 실험을 통해 측정한 위상 패턴을 나타내고 있다. 일 실시예에 따르면 두 개의 제1 안테나(2901-1) 및 제2 안테나(2901-2)를 가진 전자 장치(2901)가 외부 장치를 지향하도록 한 경우, 제1 구간(3010)과 같이 위상차가 작은 구간에 속하는 위상차값이 측정될 수 있고, 두 개의 제1 안테나(2901-1) 및 제2 안테나(2901-2)를 가진 전자 장치(2901)가 외부 장치를 지향하지 않도록 한 제2 구간(3020)과 같이 위상차가 큰 구간에 속하는 위상차값 검출될 수 있다.
도 31a 및 도 31b는 다양한 실시예에 따른 전자 장치에서 복수의 안테나 배치 일예도이다.
도 31a 및 도 31b를 참조하면, 전자 장치(2901)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401, 또는 도 26a 및 도 26b의 2601)의 단면(3100)과, 전자 장치의 단면(3100)을 기준으로 제1 내지 제3 안테나(3101, 3102, 3103)가 서로 일정 거리를 이격하도록 배치될 수 있다. 다양한 실시예에 따르면 전자 장치(2901)는 제1 내지 제3 안테나(3101, 3102, 3103) 중 적어도 두개의 안테나를 선택적으로 이용할 수 있다.
도 31a의 (a) 내지 (c)를 참조하면, 일 실시예에 따른 전자 장치(2901)는 지면의 방향을 판단하고, 지면의 방향을 기반으로 복수의 안테나들 예를 들면, 제1 내지 제3 안테나(3101, 3102, 3103) 중 적어도 두개의 안테나를 선택적으로 이용하거나, 외부 장치가 존재하는 방향을 기반으로 복수의 안테나들 예를 들면, 제1 내지 제3 안테나(3101, 3102, 3103) 중 적어도 두개의 안테나를 선택적으로 이용할 수 있다.
예를 들면, 전자 장치(2901)는 도 31a의 (b)와 같은 지면의 방향인 경우, 제1 내지 제3 안테나(3101, 3102, 3103) 중 전자 장치(2901)의 정면을 지향할 수 있는 제1 및 제2 안테나(3101, 3102)를 이용할 수 있다. 예를 들면, 전자 장치(2901)는 도 31a의 (c)와 같은 지면의 방향인 경우, 제1 내지 제3 안테나(3101, 3102, 3103) 중 전자 장치(2901)의 정면을 지향할 수 있는 제1 및 제3 안테나(3101, 3103)를 이용할 수 있다. 일 실시예에 따르면, 전자 장치(2901)는 지면의 방향은 중력 센서를 이용하여 판단할 수 있다. 다양한 실시예에 따르면, 전자 장치(2901)는 자이로 센서를 더 이용하여 지면의 방향을 판단할 수 있다. 다양한 실시예에 따르면, 전자 장치(2901)는 지면의 방향에 따라 제1 및 제2 안테나(3101, 3102)를 이용하다가 제1 및 제3 안테나(3101, 3103)를 이용하도록 변경할 수 있다.
도 31b의 (a) 및 (b)를 참조하면, 전자 장치(2901)는 도 31b의 (a)와 같은 외부 장치 존재 방향인 경우, 제1 내지 제3 안테나(3101, 3102, 3103) 중 제1 및 제3 안테나(3101, 3103)를 이용할 수 있다. 예를 들면, 전자 장치(2901)는 도 31b의 (b)와 같은 외부 장치 존재 방향인 경우, 제1 내지 제3 안테나(3101, 3102, 3103) 중 제1 및 제2 안테나(3101, 3102)를 이용할 수 있다. 일 실시예에 따르면, 외부 장치의 존재 방향은 외부 장치로부터의 수신 신호의 세기 등을 기반으로 판단할 수 있다. 다양한 실시예에 따르면, 전자 장치(2901)는 외부 장치 존재 방향에 따라 제1 및 제3 안테나(3101, 3103)를 이용하다가 제1 및 제2 안테나(3101, 3102)를 이용하도록 변경할 수 있다.
다양한 실시예에 따르면, 전자 장치(2901)는 복수의 안테나들 중 두 개 이상의 안테나를 이용하여 위상차를 검출할 수 있고, 제1 및 제2 안테나(3101, 3102)에 의해 검출된 제1 위상차와 제1 및 제3 안테나(3101, 3103)에 의해 검출된 제2 위상차를 이용하여 전자 장치(2901)가 지향하고 있는 외부 장치의 x축(도 26a의 x축) 정보뿐만 아니라 y축(도 26a의 y축) 정보를 획득할 수 있다. 전자 장치(2901)는 전자 장치(2901)가 지향하고 있는 외부 장치의 x축(좌우) 정보뿐만 아니라 y축(상하) 정보를 획득함으로써, 전자 장치(2901)가 지향하고 있는 외부 장치를 확인할 수 있다.
도 32는 다양한 실시예에 따른 전자 장치에서 복수의 안테나의 전방과 후방을 판단하는 방법을 설명하기 위한 도면이다.
도 32를 참조하면, 전자 장치(3201)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401, 또는 도 26a 및 도 26b의 2601)는 두 개의 안테나를 사용하여 위상이 낮은 지점을 정면으로 선택하는 경우, 이론적으로는 두 개의 안테나를 중심으로 원형의 형태로 수직 및 수평 방향에 위치하는 모든 장치들이 낮은 위상을 가지게 되거나, 빔 포밍(beamforming) 설계에 따라 수직 방향은 어느 정도 필터링되고 수평 방향에 위치하는 장치들이 낮은 위상을 가지게 된다.
그런데 전자 장치(3201)는 사용자가 그립하거나, 착용하거나, 지니고 있는 경우, 수평 방향 중 전자 장치(3201)가 지향하는 전방(3210)과 달리 전자 장치(3201)가 지향하는 전방(3210)의 반대 방향인 후방(3220)은 사용자가 존재할 수 있어서 정확한 신호가 수신되기 어려울 수 있다. 예를 들면, 전자 장치(3201)는 지향하고 있는 방향인 전방(3210)에서 수신되는 신호의 패턴과 지향하고 있는 방향의 반대 방향인 후방(3220)에서 수신되는 신호의 패턴은 다른 특성 예를 들면, 신호 편차 또는 전파 신호 그 자체의 특성(channel state information)을 가질 수 있다. 전자 장치(3201)는 각 방향에서 수신되는 신호의 패턴에 근거하여 전자 장치(3201)의 정면이 지향하는 방향을 향하도록 하는 가이드를 제공할 수 있다.
다양한 실시예에 따르면, 전자 장치(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401, 또는 도 26a 및 도 26b의 2601)는 미리 지정된 트리거 입력을 수신하고, 미리 지정된 트리거 입력이 수신됨에 따라 적어도 하나의 외부 장치를 이용한 태스크 수행 모드를 활성화할 수 있다.
일 실시예에 따르면, 미리 지정된 트리거 입력은 전자 장치(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401, 또는 도 26a 및 도 26b의 2601)를 사용자에 의해 전자 장치가 흔들리게 되거나, 두드려지는 것에 따른 입력일 수 있다. 일 실시예에 따르면, 미리 지정된 트리거 입력은 전자 장치(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401, 또는 도 26a 및 도 26b의 2601)에 포함된 각종 센서에 의해 센싱된 센서값에 따른 입력일 수 있다. 일 실시예에 따르면, 미리 지정된 트리거 입력은 전자 장치(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401, 또는 도 26a 및 도 26b의 2601)의 특정 버튼 입력일 수 있다. 일 실시예에 따르면, 미리 지정된 트리거 입력은 전자 장치(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401, 또는 도 26a 및 도 26b의 2601)에 특정 음성 신호 입력(speech trigger)일 수 있다.
도 33 내지 도 35는 다양한 실시예에 따른 전자 장치에서 외부 장치를 이용한 태스크 수행 모드 활성화 예를 나타낸 도면이다.
도 33을 참조하면, 일 실시예에 따른 전자 장치(3301) (예를 들면, 도 1의 101, 도 2의 201, 도 4의 401, 또는 도 26a 및 도 26b의 2601)는 신체 착용형 전자 장치(예를 들면, 스마트 워치)일 수 있다. 다양한 실시예에 따르면 전자 장치(3301)는 (a)에 도시된 바와 같이 사용자가 전자 장치(3301)를 착용한 상태에서 좌우로 흔드는 동작에 따라 적어도 하나의 센싱 모듈을 이용하여 사용자가 전자 장치(3301)를 좌우로 흔드는 동작을 수행함에 따른 센싱값을 검출할 수 있고, 검출된 센싱값이 미리 지정된 트리거에 대응된 센싱값인 경우 적어도 하나의 외부 장치를 이용한 태스크 수행 모드를 활성화할 수 있다. 다양한 실시예에 따르면 좌우로 흔드는 동작을 센싱하는데 이용되는 적어도 하나의 센싱 모듈은 가속도 센서, 자이로 센서, 나침반 센서, 또는 조도 센서 중 적어도 하나를 포함할 수 있으며, 이외에 다른 센서 모듈이 이용될 수도 있다.
다양한 실시예에 따르면, 전자 장치(3301)는 생체 센서(예를 들면, 심전도 센서, 지문 센서, 얼굴 인식 센서, 홍채 인식 센서, 또는 혈관 인식 센서)를 이용하여 추가 적으로 본인 인증을 더 수행할 수 있다.
다양한 실시예에 따르면, 전자 장치(3301)는 (b)에 도시된 바와 같이 사용자가 전자 장치(3301)의 화면을 두드리는 동작에 따라 적어도 하나의 센싱 모듈을 이용하여 사용자가 전자 장치(3301)를 화면을 두드리는 동작을 수행함에 따른 센싱값을 검출할 수 있고, 검출된 센싱값이 미리 지정된 트리거에 대응된 센싱값인 경우 적어도 하나의 외부 장치를 이용한 태스크 수행 모드를 활성화할 수 있다. 다양한 실시예에 따르면 화면을 두드리는 동작을 센싱하는데 이용되는 적어도 하나의 센서 모듈은 가속도 센서, 조도 센서, 마이크, 또는 압력 센서 중 적어도 하나를 포함할 수 있으며, 이외에 다른 센서 모듈이 이용될 수도 있다.
다양한 실시예에 따르면, 전자 장치(3301)는 (c)에 도시된 바와 같이 사용자가 전자 장치(3301)에 구비된 특정 버튼 또는 키를 누르는 동작에 따라 적어 적어도 하나의 외부 장치를 이용한 태스크 수행 모드를 활성화할 수 있다. 다양한 실시예에 따르면 특정 버튼 또는 키는 전자 장치(3301)의 홀드 버튼 또는 키(hold key), 홈 버튼 또는 키(homekey), 또는 용두 버튼 또는 키(스마트 워치의 용두에 대응된 버튼 또는 키)와 같은 특정 하드웨어 키이거나 전자 장치 화면에 디스플레이된 아이콘과 같은 형태의 소프트웨어 키일 수도 있다. 예를 들어, 전자 장치(3301)는 사용자가 전자 장치의 홈 버튼 혹은 측면 버튼을 길게 누른다든지 혹은 빠르게 수 회 연속으로 누르면 적어도 하나의 외부 장치를 이용한 태스크 수행 모드를 활성화할 수 있다.
다양한 실시예에 따르면, 전자 장치(3301)는 생체 센서(예를 들면, 심전도 센서, 지문 센서, 얼굴 인식 센서, 홍채 인식 센서, 또는 혈관 인식 센서)를 이용하여 추가 적으로 본인 인증을 수행한 후 적어도 하나의 외부 장치를 이용한 태스크 수행 모드를 활성화할 수도 있다.
도 34를 참조하면, 일 실시예에 따른 전자 장치(3401)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401, 또는 도 26a 및 도 26b의 2601)는 하우징의 적어도 일부에 접촉 센서 또는 온도 센서를 포함하고, 접촉 센서 또는 온도 센서에 의한 센싱값에 기반하여 적어도 하나의 외부 장치를 이용한 태스크 수행 모드를 활성화할 수 있다. 다양한 실시예에 따르면 전자 장치(3401)는 도 34의 (a)에 도시된 바와 같이 하우징의 적어도 일부에 온도 센서(3412) 또는 접촉 센서(3414)를 구비할 수 있다.
다양한 실시예에 따르면 전자 장치(3401)는 도 34의 (b)에 도시된 바와 같이 온도 센서(3412)에 사용자의 신체의 일부가 닿아 온도 센서(3412)의 센싱값이 미리 지정된 센싱값이 되거나 접촉 센서(3414)에 사용자의 신체의 일부가 닿아 접촉 센서(3414)의 센싱값이 미리 지정된 센싱값이 되면 하나의 외부 장치를 이용한 태스크 수행 모드를 활성화할 수 있다. 다양한 실시예에 따르면 사용자의 신체의 접촉을 센싱하는데 이용되는 적어도 하나의 센서 모듈은 터치 센서, 피에조 센서, 또는 압력 센서를 더 포함할 수 있으며 이외에 다른 센서 모듈이 이용될 수도 있다.
다양한 실시예에 따르면 전자 장치(3401)는 도 34의 (c)에 도시된 바와 같이 온도 센서(3412) 또는 접촉 센서(3414)의 센싱값이 미리 지정된 트리거 입력에 대응된 센싱값이 되면 외부 장치를 이용한 태스크 수행 모드를 활성화하고, 외부 장치를 이용한 태스크 수행 모드가 활성화 됨을 알리는 음성 정보를 스피커를 통해 출력하거나 외부 장치를 이용한 태스크 수행 모드가 활성화 됨을 알리는 디스플레이 정보를 디스플레이를 통해 출력할 수 있다.
도 35를 참조하면, 일 실시예에 따른 전자 장치(3501)(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401, 또는 도 26a 및 도 26b의 2601)는 특수 목적으로 지정된 버튼(3512)이 미리 지정된 트리거 입력 방식에 대응된 방식으로 눌려지면 적어도 하나의 외부 장치를 이용한 태스크 수행 모드를 활성화할 수 있다. 예를 들면, 전자 장치(3501)는 HW 또는 SW 버튼(예: 음향 조절을 목적으로 지정된 음향 조절 버튼)을 1초 이상 길게 누를 경우 적어도 하나의 외부 장치를 이용한 태스크 수행 모드를 활성화할 수 있다.
도 36은 다양한 실시예에 따른 전자 장치가 다른 전자 장치를 이용하여 외부 장치를 확인하는 경우의 동작을 나타낸 흐름도이다.
다양한 실시예에 따르면 다른 전자 장치는 사용자가 착용중이거나 사용중인 전자 장치의 주변 전자 장치 예를 들면, 전자 장치 외에 사용자가 착용 혹은 사용 중인 주변의 다른 전자 장치일 수 있으며, 주변의 다른 전자 장치는 스마트폰, AP, 무선 충전 패드, 스피커, 목걸이, 선글라스, 안경, 상의, 하의, 벨트, 신발, 팔찌, 또는 반지 중 적어도 하나일 수 있다.
도 36을 참조하면, 전자 장치(예를 들면, 도 1의 101, 도 2의 201, 도 4의 401, 도 26b의 2601)는 제1 전자 장치(3601-1)일 수 있고, 전자 장치가 이용하는 다른 전자 장치는 제2 전자 장치(3601-2)일 수 있다.
제1 전자 장치(3601-1)는 3612 동작에서 사용자 입력을 수신할 수 있다. 제1 전자 장치(3601-1)는 수신된 사용자 입력을 사용자 입력과 관련된 데이터로 변환할 수 있다. 다양한 실시예에 따르면, 사용자 입력과 연관된 데이터는 사용자에 의해 발화된 음성 신호와 연관된 음성 데이터, 사용자의 제스쳐에 의한 모션 센싱과 연관된 데이터, 터치 스크린을 통한 사용자의 터치 입력과 연관된 데이터, 또는 각종 키를 통한 키입력과 연관된 데이터 등과 같이 다양한 형태의 사용자 입력과 연관된 데이터 중 하나일 수 있다. 일 실시예에 따르면, 제1 전자 장치(3601-1)는 마이크를 통해 사용자에 의해 발화된 음성 신호를 수신할 수 있다. 예를 들면, 사용자는 "불 꺼" "저거 뭐야?", "저기서 노래 틀어봐", "저거 10분 있다 꺼줘", "저거 충전해야 돼?"등과 같이 명령어를 포함하거나, 명령어와 지시 대명사를 포함하는 음성을 발화할 수 있다. 제1 전자 장치(3601-1)는 마이크를 통해 상기 발화된 음성 신호를 수신할 수 있고, 수신된 음성 신호를 사용자 입력과 관련된 데이터인 음성 데이터로 변환할 수 있다.
제1 전자 장치(3601-1)는 3614 동작에서 사용자 입력과 연관된 데이터를 서버(3605)에 전송할 수 있다.
서버(3605)는 3616 동작에서 제1 전자 장치(3601-1)로부터 수신된 사용자 입력과 연관된 데이터를 기반으로 적어도 하나의 외부 장치 확인을 위한 제1 정보를 제1 전자 장치(3601-1)에 전송할 수 있다. 일 실시예에 따르면, 서버(3605)는 제1 전자 장치(3601-1)로부터 수신된 음성 데이터를 기반으로 음성 인식을 수행하고, 자연어 이해를 수행하여 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 획득할 수 있고, 획득된 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 기반으로 적어도 하나의 외부 장치 확인을 위한 제1 정보를 획득하여 제1 전자 장치(3601-1)에 전송할 수 있다.
다양한 실시예에 따르면 전자 장치(3601-1)는 자체적으로 제1 정보를 획득할 수 있다. 전자 장치(3601-1)가 자체적으로 제1 정보를 획득하는 경우 3614 동작 및 3616 동작이 생략될 수 있으며, 전자 장치(3601-1)는 음성 데이터를 서버(3605)에 전송하지 않고, 자체적으로 음성 데이터를 기반으로 음성 인식을 수행하고, 자연어 이해를 수행하여 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 획득할 수 있고, 획득된 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 기반으로 적어도 하나의 외부 장치 확인을 위한 제1 정보를 획득할 수 있다. 예를 들면, 제1 정보는 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 외부 장치 리스트를 포함할 수 있다. 외부 장치 리스트는 적어도 하나의 외부 장치의 장치 인식 정보가 포함될 수 있다. 또한 제1 정보는 제1 전자 장치에서(3601-1)에서 외부 장치 확인을 위한 제2 정보가 요구됨을 나타내는 정보를 더 포함할 수 있다.
제1 전자 장치(3601-1)는 3618 동작에서 제2 전자 장치(3601-2)에 외부 전자 장치 신호 기반의 외부 장치 확인을 위한 제2 정보를 요청할 수 있다.
다양한 실시 예에 따르면 제1 전자 장치(3601-1)는 제1 전자 장치(3601-1) 외에 사용자가 착용중인 전자 장치나, 제1 전자 장치(3601-1)외에 사용자가 사용중인 주변 전자 장치를 검색하고, 검색된 제2 전자 장치(3601-2)에 외부 전자 장치 신호 기반의 외부 장치 확인을 위한 제2 정보를 요청할 수 있다.
다양한 실시예에 따르면 제1 전자 장치(3601-1)는 검색된 제2 전자 장치가 복수개인 경우 검색된 복수개의 제2 전자 장치들 중 미리 정해진 기준 또는 우선순위에 따라 제2 전자 장치(3601-2)를 선택할 수 있다.
일 실시예에 따르면 제1 전자 장치(3601-1)는 검색된 복수개의 제2 전자 장치들 중 사용자의 신체 중 어느 위치에 착용하는 것인지, 또는 사용자의 위치를 기준으로 어느 위치에 어떻게 배치되어 있는지를 기반으로 제2 전자 장치(3601-2)를 선택할 수 있다. 검색된 복수개의 제2 전자 장치들 각각이 사용자의 신체 중 어느 위치에 착용하는 것인지, 또는 사용자의 위치를 기준으로 어느 위치에 어떻게 배치되어 있는지를 판단하기 위한 정보는 검색된 복수개의 제2 전자 장치들 각각으로부터 수신된 정보를 이용하여 획득될 수 있다. 예를 들면, 검색된 복수개의 제2 전자 장치들 각각으로부터 수신된 정보는 검색된 복수개의 제2 전자 장치들 각각의 이름, 디바이스 ID, 검색된 복수개의 제2 전자 장치들 각각의 가속도 센서값 또는 가속도 센서 변화값, 또는 검색된 복수개의 제2 전자 장치들 각각에 저장된 앱 사용 기록, 명령어 기록, 무선 통신 연결 기록 또는 관련 서비스 이름을 포함할 수 있다.
검색된 복수개의 제2 전자 장치들 중 사용자의 신체 중 어느 위치에 착용하는 것인지, 또는 사용자의 위치를 기준으로 어느 위치에 어떻게 배치되어 있는지는 상기 검색된 복수개의 제2 전자 장치들 각각으로부터 수신된 정보를 기반으로 외부의 인공 지능 서버에서 해석되어 판단될 수도 있고, 제1 전자 장치(3601-1) 자체에서 상기 검색된 복수개의 제2 전자 장치들 각각으로부터 수신된 정보 중 추출된 키워드를 기반으로 판단될 수도 있다. 또한 일 실시예에 따르면 제1 전자 장치(3601-1)는 복수개의 제2 전자 장치들 중 사용자의 신체 중 어느 위치에 착용하는 것인지, 또는 사용자의 위치를 기준으로 어느 위치에 어떻게 배치되어 있는지를 기반으로 선택된 제2 전자 장치가 복수개인 경우 복수개의 선택된 제2 전자 장치들 중 제1 전자 장치(3601-1)에 의한 검색 요청에 대한 응답 속도가 가장 빠른 제2 전자 장치(3601-2)를 선택할 수 있다.
다양한 실시예에 따르면, 제1 전자 장치(3601-1)는 음성 신호가 수신된 상태에서 제1 전자 장치(3601-1)가 외부 장치를 지향하는 상태로 움직이지 않은 상태이거나, 외부 장치 신호를 수신할 수 없는 상태인 경우 또는 제2 전자 장치(3601-2)가 외부 전자 장치 신호 기반의 외부 장치 확인을 위한 제2 정보를 획득하도록 지정된 경우, 제2 전자 장치(3601-2)에 외부 전자 장치 신호 기반의 외부 장치 확인을 위한 제2 정보를 요청할 수 있다. 예를 들면, 제1 전자 장치(3601-1)는 음성 신호 수신 전 슬립 모드 상태에서 음성 신호 수신 후 가속도 센서에 의한 센싱값의 변동 범위가 미리 정해진 범위 이하인 경우 제1 전자 장치(3601-1)가 외부 장치를 지향하는 상태로 움직이지 않은 상태로 판단할 수 있다. 또한 제1 전자 장치(3601-1)는 외부 장치로부터 수신되는 신호가 없거나, 외부 장치로부터 수신되는 신호를 수신할 수 있는 통신 회로가 정상 동작되지 않는 경우 외부 장치 신호를 수신할 수 없는 상태로 판단할 수 있다.
제2 전자 장치(3601-2)는 제1 전자 장치(3601-1)로부터 외부 전자 장치 신호 기반의 외부 장치 확인을 위한 제2 정보가 요청됨에 따라 3620-1 내지 3620-N 동작에서 통신 회로를 통해 제1 내지 제N 외부 장치(3603-1~3603-N) 각각으로부터 발신된 신호를 수신할 수 있다. 예를 들면, 제1 내지 제N 외부 장치(3603-1~3603-N) 각각으로부터 발신된 신호는 동기화 신호 또는 디스커버리 신호를 포함할 수 있다. 제2 전자 장치(3601-2)는 제1 내지 제N 외부 장치(3603-1~3603-N) 각각으로부터 주기적으로 브로드캐스팅되는 신호를 수신할 수도 있고, 제1 내지 제N 외부 장치(3603-1~3603-N)에 신호를 요청한 후, 제1 내지 제N 외부 장치(3603-1~3603-N)로부터 브로드캐스팅된 신호를 수신할 수도 있다. 다양한 실시예에 따르면, 제2 전자 장치(3601-2)는 복수의 안테나들을 포함할 수 있으며, 복수의 안테나들을 통해 적어도 하나의 무선 통신 신호를 수신할 수 있다. 예를 들면, 제2 전자 장치(3601-2)는 제1 내지 제N 외부 장치(3603-1~3603-N) 각각으로부터의 신호 각각을 복수의 안테나를 통해 수신할 수 있다.
제2 전자 장치(3601-2)는 3620-1 내지 3620-N 동작에서 상기 1 내지 제N 외부 장치(3603-1~3603-N) 각각으로부터 수신된 신호를 기반으로 외부 전자 장치 신호 기반의 외부 장치 확인을 위한 제2 정보를 획득할 수 있고, 3622 동작에서 외부 전자 장치 신호 기반의 외부 장치 확인을 위한 제2 정보를 제1 전자 장치(3601-1)로 전달할 수 있다. 다양한 실시예에 따르면 외부 장치 확인을 위한 제2 정보는 제2 전자 장치(3601-2)의 주변에 존재하는 외부 장치의 장치 인식 정보를 포함하거나, 제2 전자 장치(3601-2)가 가리키는 방향의 외부 장치의 장치 인식 정보를 포함하는 외부 장치 리스트를 포함할 수 있다. 일 실시예에 따르면 제2 전자 장치(3601-2)는 제1 내지 제N 외부 장치(3603-1~3603-N) 각각으로부터 발신된 신호는 동기화 신호 또는 디스커버리 신호를 기반으로 제2 전자 장치(3601-2)의 주변에 존재하는 외부 장치의 장치 인식 정보를 획득할 수 있다. 또한 제2 전자 장치(3601-2)는 복수의 안테나들에 의해 수신되는 신호들 사이에 발생하는 위상차를 검출하여 제1 내지 제N 외부 장치(3603-1~3603-N)로부터의 신호들 중 위상차가 미리 정해진 임계값 이하인 신호에 대응된 외부 장치의 장치 인식 정보를 획득할 수 있다. 제2 전자 장치(3601-2)는 제2 전자 장치(3601-2)의 주변에 존재하는 외부 장치의 장치 인식 정보를 포함하거나, 제2 전자 장치(3601-2)가 가리키는 방향의 외부 장치의 장치 인식 정보를 포함하는 외부 장치 리스트를 제1 전자 장치(3601-1)로 전달할 수 있다.
제1 전자 장치(3601-1)는 3624 동작에서 제1 정보와 제2 정보를 기반으로 적어도 하나의 외부 장치를 확인할 수 있다. 다양한 실시예에 따르면, 제1 전자 장치(3601-1)는 사용자 입력과 관련된 데이터를 기반으로 획득된 제1 정보와 제2 전자 장치(3601-2)로부터 수신된 제2 정보에 기반하여 적어도 하나의 외부 장치를 확인할 수 있다. 예를 들면, 제1 전자 장치(3601-1)는 사용자 입력과 관련된 데이터를 기반으로 획득된 외부 장치 리스트와 제2 전자 장치(3601-2)를 통해 획득된 외부 장치 리스트를 비교하여 사용자 입력에 대응된 명령 또는 입력을 수행할 외부 장치를 확인할 수 있다.
제1 전자 장치(3601-1)는 3626 동작에서 상기 확인된 적어도 하나의 외부 장치 정보를 서버(3605)에 전송할 수 있다. 다양한 실시예에 따르면 제1 전자 장치(3601-1)는 상기 확인된 적어도 하나의 외부 장치에 대한 장치 인식 정보(예를 들면, 디바이스 ID)를 서버(3605)에 전송할 수 있다.
서버(3605)는 3628 동작에서 상기 수신된 사용자 입력과 연관된 데이터와 상기 확인된 적어도 하나의 외부 장치 정보를 기반으로 외부 장치를 이용한 태스크를 수행하기 위한 정보를 획득할 수 있다. 다양한 실시예에 따르면, 서버(3605)는 사용자 입력과 관련된 데이터로서 음성 데이터가 수신되고, 적어도 하나의 외부 장치 정보로서 장치 인식 정보가 수신된 경우, 수신된 음성 데이터를 기반으로 음성 인식을 수행하고, 인식된 음성에 대한 자연어 이해를 수행하여 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보를 획득할 수 있고, 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보와 장치 인식 정보를 기반으로 장치 인식 정보에 대응된 외부 장치와 관련된 명령 또는 기능을 적어도 일부 포함하는 태스크를 수행하기 위한 정보를 획득할 수 있다. 예를 들면, 서버(3605)는 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보로서 "저거"(지시 대명사)와"불 켜줘"(명령어)가 획득되고, 확인된 적어도 하나의 외부 장치에 대한 정보로서 스마트 전등의 디바이스 ID가 획득된 경우 스마트 전등의 전원을 오프하도록 지시하는 태스크를 수행하기 위한 정보를 획득할 수 있다.
서버(3605)는 3630 동작에서 외부 장치를 이용한 태스크를 수행하기 위한 정보를 제1 전자 장치(3601-1)에 전송할 수 있다. 일 실시예에 따르면 서버(3605)는 스마트 전등의 전원을 오프하도록 지시하는 태스크를 수행하기 위한 정보로서 스마트 전등의 전원을 오프하도록 지시하는데 필요한 제1 전자 장치(3601-1)의 적어도 하나 이상의 동작 또는 적어도 하나 이상의 동작의 조합과 관련된 상태들의 시퀀스 정보를 제1 전자 장치(3601-1)에 전송할 수 있다. 예를 들면, 스마트 전등의 전원을 오프하도록 지시하는데 필요한 제1 전자 장치(3601-1)의 적어도 하나 이상의 동작 또는 적어도 하나 이상의 동작의 조합과 관련된 상태들의 시퀀스 정보는 스마트 전등과 통신을 연결하는 동작과 관련된 상태, 스마트 전등에 전원 오프 명령을 전송하는 동작과 관련된 상태, 및 스마트 전등으로부터 전원 오프 결과를 수신받는 동작과 관련된 상태 각각 또는 그 동작의 조합에 관련된 상태를 포함할 수 있다.
제1 전자 장치(3601-1)는 3632 동작에서 외부 장치를 이용한 태스크를 수행하기 위한 정보를 이용하여 태스크를 수행할 수 있다. 일 실시예에 따르면 제1 전자 장치(3601-1)는 스마트 전등의 전원을 오프하도록 지시하는데 필요한 제1 전자 장치(3601-1)의 적어도 하나 이상의 동작 또는 적어도 하나 이상의 동작의 조합과 관련된 상태들의 시퀀스 정보를 이용하여 스마트 전등과 통신을 연결하는 동작, 스마트 전등에 전원 오프 명령을 전송하는 동작, 및 스마트 전등으로부터 전원 오프 결과를 수신받는 동작 각각 또는 그 조합에 따라 동작함으로써, 스마트 전등의 전원을 오프하도록 지시하는 태스크를 수행할 수 있다. 일 실시 예에 따르면 서버(3605)는 외부 장치를 이용한 태스크를 수행하기 위한 정보를 외부 장치로 전송하여 수행하도록 할 수 있다. 예를 들어, 동작 3612를 퉁해 제1 전자 장치(3601-1)로부터 수신한 사용자 입력과 관련된 데이터 및 동작 3626을 통해 수신한 적어도 하나의 외부 장치 정보에 기반하여 생성된 적어도 하나 이상의 동작 또는 적어도 하나 이상의 동작의 조합과 관련된 상태들의 시퀀스 정보를 외부 장치(예: 제1 외부 장치 내지 제N 외부 장치 중 적어도 하나)로 전송할 수 있다.
도 37은 다양한 실시예에 따른 전자 장치가 다른 전자 장치를 이용하여 외부 장치를 확인하고 확인된 외부 장치를 이용하는 예를 나타낸 도면이다.
도 37을 참조하면, 제1 전자 장치(3701-1)(예를 들면, 도 36의 3601-1)는 사용자로부터 발화된 음성 예를 들면, "저기다가 슈렉 틀어봐"라는 음성을 수신할 수 있다. 제1 전자 장치(3701-1)는 수신된 음성 신호의 적어도 일부 예를 들면, "슈렉", "틀어봐" 를 기반으로 연관된 장치에 대한 제1 정보를 획득할 수 있다. 다양한 실시예에 따르면 제1 전자 장치(3701-1)는 수신된 음성 신호를 기반으로 획득된 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보에 대응하는 제1 정보(예를 들면, 외부 장치 리스트)를 획득할 수 있다. 일 실시예에 따르면 제1 전자 장치(3701-1)는 수신된 음성 신호를 기반으로 자체적으로 음성 인식 및 자연어 이해를 수행하여 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보에 대응하는 제1 정보를 획득하거나, 외부의 서버(예: 서버(405))에 음성 신호(또는 음성 신호에 대응된 데이터)를 전송하고, 서버로부터 음성 인식 및 자연어 이해 수행 결과에 따른 지시 대상, 지시 대명사, 명령 또는 기능과 관련된 정보에 대응된 제1 정보를 수신할 수 있다.
제1 전자 장치(3701-1)는 음성 신호가 수신된 상태에서 제1 전자 장치(3701-1)가 외부 장치를 지향하는 상태로 움직이지 않은 상태이거나, 외부 장치 신호를 수신할 수 없는 상태인 경우 또는 제2 전자 장치(3701-2)가 외부 전자 장치 신호 기반의 외부 장치 확인을 위한 제2 정보를 획득하도록 지정된 경우, 제2 전자 장치(3701-2)를 검색하고 검색된 제2 전자 장치(3701-2)에 외부 전자 장치 신호 기반의 외부 장치 확인을 위한 제2 정보를 요청할 수 있다.
다양한 실시 예에 따르면 제1 전자 장치(3701-1)는 제1 전자 장치(3701-1) 외에 사용자가 착용중인 전자 장치나, 제1 전자 장치(3701-1)외에 사용자가 사용중인 주변 전자 장치를 검색하고, 검색된 제2 전자 장치(3701-2)에 외부 전자 장치 신호 기반의 외부 장치 확인을 위한 제2 정보를 요청할 수 있다.
다양한 실시예에 따르면 제1 전자 장치(3701-1)는 검색된 제2 전자 장치가 복수개인 경우 검색된 복수개의 제2 전자 장치들 중 미리 정해진 기준 또는 우선순위에 따라 제2 전자 장치(3701-2)를 선택할 수 있다. 예를 들면, 제1 전자 장치(3701-1)는 검색된 복수개의 제2 전자 장치들 중 사용자의 신체 중 어느 위치에 착용하는 것인지, 또는 사용자의 위치를 기준으로 어느 위치에 어떻게 배치되어 있는지를 기반으로 제2 전자장치(3701-2)를 선택하거나, 복수개의 선택된 제2 전자 장치들 중 제1 전자 장치(3701-1)에 의한 검색 요청에 대한 응답 속도가 가장 빠른 제2 전자 장치(3701-2)를 선택할 수 있다. 제1 전자 장치(3701-1)는 검색된 복수의 전자 장치들 중 선택된 제2 전자 장치(3701-2)에 외부 전자 장치 신호 기반의 외부 장치 확인을 위한 제2 정보를 요청할 수 있다.
제2 전자 장치(3701-2)는 제1 전자 장치(3701-1)로부터 외부 전자 장치 신호 기반의 외부 장치 확인을 위한 제2 정보가 요청됨에 따라 통신 회로를 통해 주변에 존재하는 AI 스피커(artificial intelligence speaker)(3703-1) 및 프로젝터(prejctor)(3703-2) 각각으로부터 발신된 신호를 수신할 수 있다. 예를 들면, AI 스피커(3703-1) 및 프로젝터(3703-2) 각각으로부터 발신된 신호는 동기화 신호 또는 디스커버리 신호를 포함할 수 있다. 제2 전자 장치(3701-2)는 AI 스피커(3703-1) 및 프로젝터(3703-2) 각각으로부터 주기적으로 브로드캐스팅되는 신호를 수신할 수도 있고, AI 스피커(3703-1) 및 프로젝터(3703-2)에 신호를 요청한 후, AI 스피커(3703-1) 및 프로젝터(3703-2)로부터 브로드캐스팅된 신호를 수신할 수도 있다. 다양한 실시예에 따르면, 제2 전자 장치(3701-2)는 복수의 안테나들을 포함할 수 있으며, 복수의 안테나들을 통해 적어도 하나의 무선 통신 신호를 수신할 수 있다. 예를 들면, 제2 전자 장치(3701-2)는 AI 스피커(3703-1) 및 프로젝터(3703-2) 각각으로부터의 신호 각각을 복수의 안테나를 통해 수신할 수 있다.
제2 전자 장치(3701-2)는 AI 스피커(3703-1) 및 프로젝터(3703-2) 각각으로부터 수신된 신호를 기반으로 외부 전자 장치 신호 기반의 외부 장치 확인을 위한 제2 정보를 획득하여 제1 전자 장치(3701-1)로 전달할 수 있다. 다양한 실시예에 따르면 외부 장치 확인을 위한 제2 정보는 AI 스피커(3703-1) 및 프로젝터(3703-2) 각각의 장치 인식 정보를 포함하거나, AI 스피커(3703-1) 및 프로젝터(3703-2) 중 제2 전자 장치(3701-2)가 지향하는 장치의 장치 인식 정보를 포함하는 외부 장치 리스트를 포함할 수 있다.
제1 전자 장치(3701)는 제1 정보 및 제2 정보를 기반으로 사용자 입력에 기반한 명령을 수행할 외부 장치를 확인할 수 있다.
다양한 실시예에 따르면, 제1 전자 장치(3701-1)는 사용자 입력과 관련된 데이터를 기반으로 획득된 외부 장치 리스트와 외부 전자 장치 신호를 기반으로 획득된 외부 장치 리스트를 비교하여 사용자 입력에 대응된 명령 또는 입력을 수행할 외부 장치를 확인할 수 있다. 예를 들면, 제1 전자 장치(3701-1)는 "저기다가 슈렉 틀어봐"의 적어도 일부를 기반으로 획득된 슈렉을 실행할 수 있는 기능을 수행할 수 있는 외부 장치 리스트와 AI 스피커(3703-1) 및 프로젝터(3703-2) 각각의 신호를 기반으로 획득된 AI 스피커(3703-1) 및 프로젝터(3703-2)를 포함하는 외부 장치 리스트를 비교하여 저기다가 슈렉 틀어봐"를 실행할 외부 장치를 AI 스피커(3703-1) 또는 프로젝터(3703-2)로 확인할 수 있다.
제1 전자 장치(3701-1)는 확인된 외부 장치와 "저기다가 슈렉 틀어봐"에 대한 음성 인식 및 자연어 이해 결과에 따라 자체적으로 또는 서버(3605)를 통해 AI 스피커(3703-1) 또는 프로젝터(3703-2)가 슈렉을 재생하도록 하는 명령을 적어도 일부 포함하는 태스크를 수행하기 위한 정보를 획득할 수 있다.
제1 전자 장치(3701-1)는 획득된 정보에 따라 태스크를 수행할 수 있다. 예를 들면, 제1 전자 장치(3701-1)는 획득된 정보에 따라 AI 스피커(3703-1) 또는 프로젝터(3703-2)에 슈렉을 재생하도록 하는 명령을 직접 전송할 수도 있고, 서버(예를 들면, 도 12의 1209)를 통해 AI 스피커(3703-1) 또는 프로젝터(3703-2)에 슈렉을 재생하도록 하는 명령을 전송할 수도 있다.
다양한 실시예에 따르면 AI 스피커(3703-1) 또는 프로젝터(3703-2)는 명령이 수신됨에 따라 슈렉을 재생하는 명령을 수행할 수 있다.
AI 스피커(3703-1) 또는 프로젝터(3703-2)는 명령 수행 성공, 명령 수행 실패, 또는 명령 수행 완료를 포함하는 명령 수행 결과를 제1 전자 장치(3701-1)에 전송할 수 있다. 제1 전자 장치(3701-1)는 수신된 명령 수행 결과를 소리 정보, 디스플레이 정보, 또는 진동 정보와 같은 다양한 정보로 출력할 수 있다. 다양한 실시 예에 따르면 AI 스피커(3703-1) 또는 프로젝터(3703-2)도 명령 수행 결과를 소리 정보, 디스플레이 정보, 진동 정보, 또는 상기 방식의 적어도 일부 조합된 방식과 같은 다양한 정보로 출력할 수 있다.
본 문서에서 기술된 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 다양한 실시예에서, 전자 장치는 본 문서에서 기술된 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 다양한 실시예에 따른 전자 장치의 구성요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성요소들의 기능을 동일하게 수행할 수 있다.
본 문서에서 사용된 용어 "모듈"은, 예를 들면, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. "모듈"은, 예를 들면, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component), 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. "모듈"은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면,"모듈"은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서(예: 프로세서(120))에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 메모리(130)가 될 수 있다.
컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(magnetic media)(예: 자기테이프), 광기록 매체(optical media)(예: CD-ROM(compact disc read only memory), DVD(digital versatile disc), 자기-광 매체(magneto-optical media)(예: 플롭티컬 디스크(floptical disk)), 하드웨어 장치(예: ROM(read only memory), RAM(random access memory), 또는 플래시 메모리 등) 등을 포함할 수 있다.
다양한 실시예에 따르면, 기록 매체(또는 저장 매체)는 외부 장치를 이용하여 태스크를 수행하기 위한 프로그램을 저장할 수 있으며, 상기 프로그램은 전자 장치에서, 적어도 하나의 외부 장치를 이용한 태스크를 수행하기 위한 요청을 포함하는 사용자 입력을 수신하는 동작, 무선 통신 회로를 통해 획득된 적어도 하나의 신호의 적어도 일부 기반하여 상기 적어도 하나의 외부 장치를 확인하는 동작, 및 상기 사용자 입력과 관련된 데이터와, 상기 확인된 적어도 하나의 외부 장치에 대한 정보의 적어도 일부를 기반으로 상기 태스크를 수행하는 동작을 수행할 수 있다.
또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양한 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
다양한 실시예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 다양한 실시예에 따른 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서 설명한 본 발명의 다양한 실시예의 전자 장치는 전술한 실시 예 및 도면에 의해 한정되는 것은 아니고, 본 발명의 기술적 범위 내에서 여러 가지 치환, 변형 및 변경이 가능함은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.

Claims (20)

  1. 전자 장치에 있어서,
    하우징;
    상기 하우징의 내부에 위치하고, 상기 하우징의 제1 부분을 통해 노출되는 터치 스크린 디스플레이;
    상기 하우징의 내부에 위치하고 상기 하우징의 제2 부분을 통해 노출되는 마이크;
    상기 하우징의 내부에 위치하고 상기 하우징의 제3 부분을 통해 노출되는 적어도 하나의 스피커;
    상기 하우징 내부에 위치한 무선 통신 회로;
    상기 하우징 내부에 위치하고, 상기 디스플레이, 상기 마이크, 상기 스피커, 상기 무선 통신 회로와 전기적으로 연결된 프로세서; 및
    상기 하우징 내부에 위치하고, 상기 프로세서와 전기적으로 연결된 메모리를 포함하고,
    상기 메모리는, 실행 시, 상기 프로세서가
    상기 디스플레이 또는 상기 마이크를 통해 적어도 하나의 외부 장치를 이용한 태스크를 수행하기 위한 요청을 포함하는 사용자 입력을 수신하고,
    상기 전자 장치 주변의 복수의 외부 장치들로부터 상기 무선 통신 회로를 통해 신호들을 수신하고, 상기 수신된 신호들로부터 검출된 위상차들에 기반하여 상기 적어도 하나의 외부 장치에 대한 정보를 확인(identify)하고 - 상기 적어도 하나의 외부 장치에 대한 정보는 상기 적어도 하나의 외부 장치에 대한 디바이스 ID, 제조사, 시리얼 넘버(serial number), 또는 MAC(media access control) 주소 중 적어도 하나를 포함함 -,
    상기 무선 통신 회로를 통해 외부 서버에 상기 적어도 하나의 외부 장치에 대한 정보 및 상기 사용자 입력과 관련된 데이터를 전송하고,
    상기 적어도 하나의 외부 장치에 대한 정보 및 상기 사용자 입력과 관련된 데이터를 기반으로 상기 무선 통신 회로를 통해 상기 외부 서버로부터 상기 외부 장치를 이용하여 상기 태스크를 적어도 일부 수행하기 위한 상기 전자 장치의 상태들의 시퀀스에 대한 정보를 포함하는 응답을 수신하고, 및
    상기 상태들의 시퀀스를 획득하여 상기 태스크를 수행하도록 하는 인스트럭션들(instructions)을 저장하는 전자 장치.
  2. 제1항에 있어서,
    상기 인스트럭션들은, 상기 프로세서가,
    상기 사용자 입력과 관련된 데이터에 기반하여 상기 적어도 하나의 외부 장치 확인을 위한 제1 정보를 획득하고,
    상기 신호들에 기반하여 상기 적어도 하나의 외부 장치 확인을 위한 제2 정보를 획득하며,
    상기 제1 정보 및 상기 제2 정보를 기반으로 상기 적어도 하나의 외부 장치를 확인하도록 하는 전자 장치.
  3. 제2항에 있어서,
    상기 프로세서와 전기적으로 연결된 센서 모듈을 더 포함하고,
    상기 인스트럭션들은, 상기 프로세서가
    상기 센서 모듈에 의해 획득된 데이터들에 더 기반하여 상기 적어도 하나의 외부 장치를 확인하도록 하는 전자 장치.
  4. 제2항에 있어서,
    상기 인스트럭션들은, 상기 프로세서가
    상기 사용자에 의해 발화된 음성 신호에 대응된 음성 데이터에 기반하여 상기 적어도 하나의 외부 장치 확인을 위한 제1 정보를 획득하도록 하는 전자 장치.
  5. ◈청구항 5은(는) 설정등록료 납부시 포기되었습니다.◈
    제2항에 있어서,
    상기 무선 통신 회로와 전기적으로 연결된 복수의 안테나들을 더 포함하고,
    상기 인스트럭션들은, 상기 프로세서가
    상기 복수의 안테나들을 통해 상기 신호들을 획득하고,
    상기 신호들이 상기 복수의 안테나들에 도달할 때 획득된 상기 위상차를 검출하고,
    상기 위상차를 기반으로 상기 제2 정보를 획득하도록 하는 전자 장치.
  6. ◈청구항 6은(는) 설정등록료 납부시 포기되었습니다.◈
    제5항에 있어서,
    상기 프로세서와 전기적으로 연결된 자이로 센서를 더 포함하고,
    상기 인스트럭션들은, 상기 프로세서가
    상기 자이로 센서에서 획득된 데이터와 상기 신호들 각각의 상기 위상차를 기반으로 상기 제2 정보를 획득하도록 하는 전자 장치.
  7. 삭제
  8. ◈청구항 8은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서,
    상기 인스트럭션들은, 상기 프로세서가
    상기 적어도 하나의 외부 장치를 이용한 태스크 수행 모드를 활성화하는 트리거 입력을 수신하도록 하는 전자 장치.
  9. ◈청구항 9은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서,
    상기 인스트럭션들은, 상기 프로세서가,
    상기 적어도 하나의 외부 장치에 대응된 서비스 정보를 표시, 상기 적어도 하나의 외부 장치에 제어 명령을 전송, 또는 상기 적어도 하나의 외부 장치가 다른 외부 장치와 연동하도록 하는 명령을 상기 적어도 하나의 외부 장치에 전송 중 적어도 하나의 태스크를 수행하도록 하는 전자 장치.
  10. 전자 장치에서 외부 장치를 이용한 태스크 수행 방법에 있어서,
    적어도 하나의 외부 장치를 이용한 태스크를 수행하기 위한 요청을 포함하는 사용자 입력을 수신하는 동작,
    상기 전자 장치 주변의 복수의 외부 장치들로부터 무선 통신 회로를 통해 신호들을 수신하고, 상기 수신된 신호들로부터 검출된 위상차들에 기반하여 상기 적어도 하나의 외부 장치에 대한 정보를 확인하는 동작 - 상기 적어도 하나의 외부 장치에 대한 정보는 상기 적어도 하나의 외부 장치에 대한 디바이스 ID, 제조사, 시리얼 넘버(serial number), 또는 MAC(media access control) 주소 중 적어도 하나를 포함함 -,
    상기 무선 통신 회로를 통해 외부 서버에 상기 적어도 하나의 외부 장치에 대한 정보 및 상기 사용자 입력과 관련된 데이터를 전송하는 동작,
    상기 적어도 하나의 외부 장치에 대한 정보 및 상기 사용자 입력과 관련된 데이터를 기반으로 상기 무선 통신 회로를 통해 상기 외부 서버로부터 상기 외부 장치를 이용하여 상기 태스크의 적어도 일부를 수행하기 위한 상기 전자 장치의 상태들의 시퀀스에 대한 정보를 포함하는 응답을 수신하는 동작, 및
    상기 상태들의 시퀀스를 획득하여 상기 태스크를 수행하는 동작을 포함하는 방법.
  11. 제10항에 있어서,
    상기 적어도 하나의 외부 장치를 확인하는 동작을 더 포함하고,
    상기 적어도 하나의 외부 장치를 확인하는 동작은,
    상기 사용자 입력과 관련된 데이터에 기반하여 상기 적어도 하나의 외부 장치 확인을 위한 제1 정보를 획득하는 동작,
    상기 신호들에 기반하여 상기 적어도 하나의 외부 장치 확인을 위한 제2 정보를 획득하는 동작, 및
    상기 제1 정보 및 상기 제2 정보를 기반으로 상기 적어도 하나의 외부 장치를 확인하는 동작을 포함하는 방법.
  12. 제11항에 있어서,
    센서 모듈에 의해 획득된 데이터들에 더 기반하여 상기 적어도 하나의 외부 장치를 확인하는 동작을 포함하는 방법.
  13. 제11항에 있어서,
    상기 제1 정보를 획득하는 동작은,
    상기 사용자에 의해 발화된 음성 신호에 대응된 음성 데이터에 기반하여 상기 적어도 하나의 외부 장치 확인을 위한 상기 제1 정보를 획득하는 동작을 포함하는 방법.
  14. ◈청구항 14은(는) 설정등록료 납부시 포기되었습니다.◈
    제11항에 있어서,
    상기 제2 정보를 획득하는 동작은,
    복수의 안테나들을 통해 상기 신호들을 획득하는 동작,
    상기 신호들이 상기 복수의 안테나들에 도달할 때 획득된 위상차를 검출하는 동작, 및
    상기 위상차를 기반으로 상기 제2 정보를 획득하는 동작을 포함하는 방법.
  15. ◈청구항 15은(는) 설정등록료 납부시 포기되었습니다.◈
    제14항에 있어서,
    상기 제2 정보를 획득하는 동작은,
    자이로 센서에서 획득된 데이터와 상기 신호들의 상기 위상차를 기반으로 상기 제2 정보를 획득하는 동작을 포함하는 방법.
  16. 삭제
  17. ◈청구항 17은(는) 설정등록료 납부시 포기되었습니다.◈
    제10항에 있어서,
    상기 적어도 하나의 외부 장치를 이용한 태스크 수행 모드를 활성화하는 트리거 입력을 수신하는 동작을 더 포함하는 방법.
  18. 외부 장치를 이용하여 태스크를 수행하기 위한 프로그램을 저장하는 컴퓨터 판독 가능한 저장 매체에 있어서, 상기 프로그램은 전자 장치에서,
    적어도 하나의 외부 장치를 이용한 태스크를 수행하기 위한 요청을 포함하는 사용자 입력을 수신하는 동작,
    상기 전자 장치 주변의 복수의 외부 장치들로부터 무선 통신 회로를 통해 신호들을 수신하고, 상기 수신된 신호들로부터 검출된 위상차들에 기반하여 상기 적어도 하나의 외부 장치에 대한 정보를 확인하는 동작 - 상기 적어도 하나의 외부 장치에 대한 정보는 상기 적어도 하나의 외부 장치에 대한 디바이스 ID, 제조사, 시리얼 넘버(serial number), 또는 MAC(media access control) 주소 중 적어도 하나를 포함함 -,
    상기 무선 통신 회로를 통해 외부 서버에 상기 적어도 하나의 외부 장치에 대한 정보 및 상기 사용자 입력과 관련된 데이터를 전송하는 동작,
    상기 적어도 하나의 외부 장치에 대한 정보 및 상기 사용자 입력과 관련된 데이터를 기반으로 상기 무선 통신 회로를 통해 상기 외부 서버로부터 상기 외부 장치를 이용하여 상기 태스크의 적어도 일부를 수행하기 위한 상기 전자 장치의 상태들의 시퀀스에 대한 정보를 포함하는 응답을 수신하는 동작, 및
    상기 상태들의 시퀀스를 획득하여 상기 태스크를 수행하는 동작을 수행하는 저장 매체.
  19. 제18항에 있어서,
    상기 프로그램은 전자 장치에서,
    상기 사용자 입력과 관련된 데이터에 기반하여 상기 적어도 하나의 외부 장치 확인을 위한 제1 정보를 획득하는 동작,
    상기 신호들에 기반하여 상기 적어도 하나의 외부 장치 확인을 위한 제2 정보를 획득하는 동작, 및
    상기 제1 정보 및 상기 제2 정보를 기반으로 상기 적어도 하나의 외부 장치를 확인하는 동작을 더 수행하는 저장 매체.
  20. ◈청구항 20은(는) 설정등록료 납부시 포기되었습니다.◈
    제19항에 있어서,
    상기 프로그램은 전자 장치에서,
    센서 모듈에 의해 획득된 데이터들에 더 기반하여 상기 적어도 하나의 외부 장치를 확인하는 동작을 더 수행하는 저장 매체.




KR1020170141342A 2017-10-27 2017-10-27 전자 장치 및 전자 장치에서 외부 장치를 이용한 태스크 수행 방법 KR102411124B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170141342A KR102411124B1 (ko) 2017-10-27 2017-10-27 전자 장치 및 전자 장치에서 외부 장치를 이용한 태스크 수행 방법
US16/166,949 US10778830B2 (en) 2017-10-27 2018-10-22 Electronic device and method for performing task using external device by electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170141342A KR102411124B1 (ko) 2017-10-27 2017-10-27 전자 장치 및 전자 장치에서 외부 장치를 이용한 태스크 수행 방법

Publications (2)

Publication Number Publication Date
KR20190047445A KR20190047445A (ko) 2019-05-08
KR102411124B1 true KR102411124B1 (ko) 2022-06-21

Family

ID=66244581

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170141342A KR102411124B1 (ko) 2017-10-27 2017-10-27 전자 장치 및 전자 장치에서 외부 장치를 이용한 태스크 수행 방법

Country Status (2)

Country Link
US (1) US10778830B2 (ko)
KR (1) KR102411124B1 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11043206B2 (en) 2017-05-18 2021-06-22 Aiqudo, Inc. Systems and methods for crowdsourced actions and commands
US11340925B2 (en) * 2017-05-18 2022-05-24 Peloton Interactive Inc. Action recipes for a crowdsourced digital assistant system
EP3635578A4 (en) 2017-05-18 2021-08-25 Aiqudo, Inc. SYSTEMS AND PROCEDURES FOR CRWODSOURCING ACTIONS AND COMMANDS
US11056105B2 (en) 2017-05-18 2021-07-06 Aiqudo, Inc Talk back from actions in applications
WO2019079674A1 (en) 2017-10-19 2019-04-25 Standata Technology, Llc SYSTEMS AND METHODS FOR MANAGING FURNITURE WITH ELECTRICAL ADJUSTMENT
CN108012173B (zh) * 2017-11-16 2021-01-22 百度在线网络技术(北京)有限公司 一种内容识别方法、装置、设备和计算机存储介质
FR3078576A1 (fr) * 2018-03-02 2019-09-06 Orange Dispositif pour telecommander un appareil
US10984795B2 (en) * 2018-04-12 2021-04-20 Samsung Electronics Co., Ltd. Electronic apparatus and operation method thereof
CN111109888B (zh) * 2018-10-31 2022-10-14 仁宝电脑工业股份有限公司 智能酒柜及用于酒柜的管理方法
US11853102B2 (en) * 2018-12-25 2023-12-26 Passlogy Co., Ltd. Remote control system, remote control method, and non-transitory information recording medium
US11003419B2 (en) 2019-03-19 2021-05-11 Spotify Ab Refinement of voice query interpretation
US11190911B2 (en) * 2019-07-11 2021-11-30 International Business Machines Corporation Automatic query-based communication system
DE102019211676A1 (de) * 2019-08-02 2021-02-04 Robert Bosch Gmbh Verfahren zur Steuerung einer mobilen Arbeitsmaschine
KR20190101325A (ko) 2019-08-12 2019-08-30 엘지전자 주식회사 지능적 음성 인식 방법, 음성 인식 장치 및 지능형 컴퓨팅 디바이스
JP2021072573A (ja) * 2019-10-31 2021-05-06 キヤノン株式会社 情報処理装置、プログラム及び制御方法
KR20210060857A (ko) * 2019-11-19 2021-05-27 현대자동차주식회사 메시지 처리 차량 단말기, 시스템 및 방법
KR20210123859A (ko) 2020-04-06 2021-10-14 삼성전자주식회사 전자 장치 및 그의 제어 방법
WO2022009338A1 (ja) * 2020-07-08 2022-01-13 マクセル株式会社 情報処理端末、遠隔制御方法およびプログラム
WO2022124596A1 (en) * 2020-12-11 2022-06-16 Samsung Electronics Co., Ltd. Method and system for handling query in iot network
US11792755B2 (en) * 2021-04-02 2023-10-17 Cypress Semiconductor Corporation Time synchronization in wireless networks
US11791049B2 (en) * 2021-11-03 2023-10-17 A Little Cold Gel, Llc Methods and systems for detecting intravascular device failure
EP4345581A1 (en) * 2022-09-28 2024-04-03 Nokia Technologies Oy Apparatus, methods, and computer programs for controlling devices
CN116669229B (zh) * 2023-07-25 2023-11-24 深圳雷柏科技股份有限公司 一种无线外设管理系统、方法及电子设备和存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007121576A (ja) 2005-10-26 2007-05-17 Matsushita Electric Works Ltd 音声操作装置
US7769348B2 (en) 2006-11-24 2010-08-03 Sony Ericsson Mobile Communications Ab Ad-hoc connectivity system and method
US9226304B2 (en) 2014-03-10 2015-12-29 Origin Wireless, Inc. Time-reversal wireless paradigm for internet of things
US8457651B2 (en) 2009-10-02 2013-06-04 Qualcomm Incorporated Device movement user interface gestures for file sharing functionality
KR101318013B1 (ko) 2010-08-30 2013-10-14 주식회사 팬택 간편 전송 모드를 가지는 단말기 및 이를 이용한 네트워크 연결 방법
JP5967569B2 (ja) * 2012-07-09 2016-08-10 国立研究開発法人情報通信研究機構 音声処理システム
KR101728707B1 (ko) * 2014-08-25 2017-04-20 넥시스 주식회사 글라스형 웨어러블 디바이스를 이용한 실내 전자기기 제어방법 및 제어프로그램
KR102264050B1 (ko) * 2014-11-28 2021-06-11 삼성전자주식회사 전자 장치들 간에 기능을 공유하는 방법 및 장치
KR102307701B1 (ko) * 2015-05-27 2021-10-05 삼성전자 주식회사 주변 기기 제어 방법 및 장치
KR102356954B1 (ko) * 2016-01-05 2022-01-28 삼성전자주식회사 단말의 위치 추정 방법 및 장치

Also Published As

Publication number Publication date
US10778830B2 (en) 2020-09-15
KR20190047445A (ko) 2019-05-08
US20190132436A1 (en) 2019-05-02

Similar Documents

Publication Publication Date Title
KR102411124B1 (ko) 전자 장치 및 전자 장치에서 외부 장치를 이용한 태스크 수행 방법
KR102392113B1 (ko) 전자 장치 및 전자 장치의 음성 명령 처리 방법
CN110199350B (zh) 用于感测语音结束的方法和实现该方法的电子设备
US20210286589A1 (en) Electronic device for processing multi-modal input, method for processing multi-modal input and server for processing multi-modal input
US10446145B2 (en) Question and answer processing method and electronic device for supporting the same
US10726715B2 (en) Electronic device and method for performing operations according to proximity of external object
CN108023934B (zh) 电子装置及其控制方法
CN108376546B (zh) 语音输入方法以及用于支持该方法的电子设备和系统
KR102264050B1 (ko) 전자 장치들 간에 기능을 공유하는 방법 및 장치
KR102366617B1 (ko) 음성 인식 서비스 운용 방법 및 이를 지원하는 전자 장치
KR102493491B1 (ko) 생체 정보를 측정하는 전자 장치와 이의 동작 방법
KR20230088658A (ko) 복수의 디스플레이를 구비한 전자장치 및 그 제어 방법
CN110546630A (zh) 用于提供信息的方法和支持该方法的电子装置
KR102441737B1 (ko) 인증 방법 및 이를 지원하는 전자 장치
US11074910B2 (en) Electronic device for recognizing speech
EP3404511B1 (en) Electronic device and method of controlling operation of electronic device
KR102370678B1 (ko) 전자 장치의 터치 센싱 모듈 제어 방법 및 전자 장치, 전자 장치에 구비된 터치 센싱 모듈의 동작 방법 및 터치 센싱 모듈
US10345924B2 (en) Method for utilizing sensor and electronic device implementing same
KR20170110919A (ko) 지능형 전자 장치 및 그 동작 방법
KR102386309B1 (ko) 전자 장치 및 전자 장치에서의 입출력 제어 방법
KR102324964B1 (ko) 외부 입력 장치의 입력을 처리하는 전자 장치 및 방법
EP3547107B1 (en) Method for providing information mapped between a plurality of inputs and electronic device for supporting the same
CN108460261B (zh) 用于管理内容的方法及其电子设备
US11004075B2 (en) Device and method for performing payment using utterance
KR102573725B1 (ko) 콘텐트 프리로딩 방법 및 이를 지원하는 전자 장치

Legal Events

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