KR20200115652A - 스마트 디바이스들의 식별 및 제어 - Google Patents

스마트 디바이스들의 식별 및 제어 Download PDF

Info

Publication number
KR20200115652A
KR20200115652A KR1020207026995A KR20207026995A KR20200115652A KR 20200115652 A KR20200115652 A KR 20200115652A KR 1020207026995 A KR1020207026995 A KR 1020207026995A KR 20207026995 A KR20207026995 A KR 20207026995A KR 20200115652 A KR20200115652 A KR 20200115652A
Authority
KR
South Korea
Prior art keywords
smart device
smart
virtual assistant
user
control
Prior art date
Application number
KR1020207026995A
Other languages
English (en)
Other versions
KR102211014B1 (ko
Inventor
이브라힘 바드르
코칸 에이치. 바키르
롤랑 피터 켈
닐스 그림스모
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20200115652A publication Critical patent/KR20200115652A/ko
Application granted granted Critical
Publication of KR102211014B1 publication Critical patent/KR102211014B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1686Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being an integrated camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1698Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a sending/receiving arrangement to establish a cordless communication link, e.g. radio or infrared link, integrated cellular phone
    • 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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • 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/0304Detection arrangements using opto-electronic means
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • G06K9/00671
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • 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
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C2201/00Transmission systems of control signals via wireless link
    • G08C2201/30User interface
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/52Details of telephonic subscriber devices including functional features of a camera

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Graphics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

스마트 디바이스들을 제어하는 방법, 시스템 및 장치가 설명된다. 일 양태에서, 방법은 사용자의 모바일 디바이스의 카메라로 캡처된 이미지에 대한 이미지 데이터를 수신하는 단계 및 이미지가 스마트 디바이스 또는 스마트 디바이스에 대한 물리적 컨트롤 중 적어도 하나를 묘사하는지 결정하는 단계를 포함한다. 방법은 이미지가 스마트 디바이스 또는 스마트 디바이스에 대한 물리적 컨트롤 중 적어도 하나를 묘사한다는 결정에 응답하여, 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 식별하는 단계 및 모바일 디바이스의 디스플레이에서, 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 생성하고 제시하는 단계를 더 포함한다. 방법은 모바일 디바이스의 디스플레이에서, 하나 이상의 사용자 인터페이스 컨트롤 중 적어도 하나와의 사용자 상호 작용을 검출하는 단계 및 검출된 사용자 상호 작용에 기초하여 스마트 디바이스를 제어하는 단계를 더 포함한다.

Description

스마트 디바이스들의 식별 및 제어
스마트 폰과 같은 많은 모바일 디바이스에는 사진 및 디지털 이미지를 캡처하는 카메라가 장착되어 있다. 모바일 디바이스는 또한 다양한 정보에 대한 액세스를 제공한다. 이 정보는 웹 브라우저 또는 모바일 디바이스에서 실행되는 네이티브 애플리케이션에서 볼 수 있다. 사용자들은 이미지를 사용하여 이미지에 묘사된 객체 또는 위치와 관련된 추가 정보를 얻을 수 있다.
가상 어시스턴트는 사용자를 위한 작업 또는 서비스를 수행하는 애플리케이션이다. 가상 어시스턴트는 음성 어시스턴트 디바이스(예를 들어, 스마트 스피커 또는 기타 음성 제어 디바이스)에 통합될 수 있다. 일부 가상 어시스턴트는 홈 자동화 디바이스와 같은 다른 스마트 디바이스를 제어하는 스마트 디바이스 역할도 한다. 예를 들어, 사용자는 조명을 제어하도록 구성된 음성 어시스턴트 디바이스에 음성 명령을 제공하여 조명의 작동을 제어할 수 있다.
본 명세서는 스마트 디바이스를 식별하고 그 식별된 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 제공하는 것과 관련된 기술들을 설명한다.
일반적으로, 본 명세서에 기술된 주제의 하나의 혁신적인 양태는 사용자의 모바일 디바이스의 카메라로 캡처된 이미지에 대한 이미지 데이터를 수신하는 단계와, 이미지 데이터에 기초하여, 이미지가 스마트 디바이스 또는 그 스마트 디바이스에 대한 물리적 컨트롤 중 적어도 하나를 묘사하는지 결정하는 단계와, 이미지가 스마트 디바이스 또는 스마트 디바이스에 대한 물리적 컨트롤 중 적어도 하나를 묘사한다는 결정에 응답하여, 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 식별하는 단계와, 모바일 디바이스의 디스플레이에서, 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 생성 및 제시하는 단계와, 모바일 디바이스의 디스플레이에서, 하나 이상의 사용자 인터페이스 컨트롤 중 적어도 하나와의 사용자 상호 작용을 검출하는 단계와, 그리고 검출된 사용자 상호 작용에 기초하여 스마트 디바이스를 제어하는 단계를 포함하는 방법으로 구현될 수 있다. 이 양태의 다른 구현은 컴퓨터 저장 디바이스에 인코딩된 방법의 동작들을 수행하도록 구성된 대응하는 장치, 방법, 시스템 및 컴퓨터 프로그램을 포함한다.
이들 및 다른 구현들은 각각 다음의 특징들 중 하나 이상을 선택적으로 포함 할 수 있다. 일부 양태에서, 스마트 디바이스를 제어하는 단계는 스마트 디바이스에 동작 가능하게 연결된 가상 어시스턴트 제어 디바이스로 데이터를 전송하는 단계를 포함하고, 데이터는 가상 어시스턴트 제어 디바이스로하여금 검출된 사용자 상호 작용에 대응하는 동작을 스마트 디바이스로 전송하여 동작을 수행하게 한다.
일부 양태에서, 이미지 데이터에 기초하여, 이미지가 스마트 디바이스 또는 스마트 디바이스에 대한 물리적 컨트롤 중 적어도 하나를 묘사하는지 결정하는 단계는 이미지가 다른 스마트 디바이스를 제어하도록 구성된 가상 어시스턴트 제어 디바이스를 묘사하는지 결정하는 단계를 포함한다. 일부 양태에서, 방법은 이미지가 모바일 디바이스에 제시되는 시점에서 모바일 디바이스가 가상 어시스턴트 제어 디바이스를 제어할 수 있는지 결정하는 단계를 더 포함할 수 있다. 일부 양태에서, 이미지가 모바일 디바이스에 제시되는 시점에서 모바일 디바이스가 가상 어시스턴트 제어 디바이스를 제어할 수 있는지 결정하는 단계는 이미지가 사용자 디바이스에 제시될 때 모바일 디바이스가 사용자의 계정에 등록된 특정 가상 어시스턴트 제어 디바이스의 임계 거리내에 있다고 결정함으로써 가상 어시스턴트 제어 디바이스가 사용자의 계정에 등록된 특정 가상 어시스턴트 제어 디바이스인지 결정하는 단계를 포함한다. 일부 양태에서, 방법은 이미지가 상기 모바일 디바이스에 제시되는 시점에서 모바일 디바이스가 가상 어시스턴트 제어 디바이스를 제어할 수 있다는 결정에 응답하여 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 제시하기로 결정하는 단계를 더 포함할 수 있다.
일부 양태에서, 이미지 데이터에 기초하여, 이미지가 스마트 디바이스 또는 스마트 디바이스에 대한 물리적 컨트롤 중 적어도 하나를 묘사하는지 결정하는 단계는 이미지가 사용자의 가상 어시스턴트 제어 디바이스의 이미지를 묘사하는지 결정하는 단계를 포함한다. 일부 양태에서, 가상 어시스턴트 제어 디바이스는 가상 어시스턴트 스마트 스피커 디바이스를 포함하여, 사용자로부터 음성 명령을 수신하고 사용자에게 가상 어시스턴트 스마트 스피커 디바이스의 스피커를 사용하여 정보를 제공한다. 일부 양태에서, 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 식별하는 단계는 가상 어시스턴트 스마트 스피커 디바이스가 현재 수행중인 작업 또는 서비스를 결정하는 단계와, 그리고 작업 또는 서비스를 제어하기 위해 하나 이상의 사용자 인터페이스 컨트롤을 선택하는 단계를 포함한다.
일부 양태에서, 모바일 디바이스에서, 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 생성 및 제시하는 단계는 모바일 디바이스의 카메라의 뷰 파인더의 시야 위에 증강 현실로 하나 이상의 사용자 인터페이스 컨트롤을 중첩하는 단계를 포함한다.
일부 양태에서, 이미지가 스마트 디바이스 또는 스마트 디바이스에 대한 물리적 컨트롤 중 적어도 하나를 묘사한다는 결정에 응답하여, 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 식별하는 단계는 스마트 디바이스에 대한 등록 파일을 획득하는 단계를 포함하고, 그 등록 파일은 스마트 디바이스의 유형을 지정하는 데이터 및 스마트 디바이스를 제어하기 위한 가용 사용자 인터페이스 컨트롤들을 포함한다.
본 명세서에 설명된 주제는 다음의 장점들 중 하나 이상을 실현하기 위해 특정 실시예에서 구현될 수 있다. 이미지에서 스마트 디바이스들을 식별하고 식별된 스마트 디바이스들에 대한 가상 사용자 인터페이스 컨트롤을 제공하는 플랫폼을 용이하게 함으로써, 플랫폼은 객체, 객체의 기능 및/또는 개체가 현재 작동중인 컨텍스트에 맞춤화되거나 조정된 가상 사용자 인터페이스 컨트롤을 프리젠테이션할 수 있다.
기존의 사용자 인터페이스에서, 사용자는 올바른 데이터/기능을 찾거나 음성 어시스턴트 디바이스에 다수의 음성 명령을 제공하기 위해 여러번 스크롤하고 뷰를 전환해야 할 수 있다. 본 시스템의 가상 어시스턴트 애플리케이션은 사용자가 각 스마트 디바이스에 대한 별도의 애플리케이션을 찾을 필요없이 (예를 들어, 증강 현실 기술을 사용하여) 사용자가 모바일 디바이스상의 스마트 디바이스를 보는 동안 스마트 디바이스에 대한 가상 사용자 인터페이스 컨트롤을 제시할 수 있다. 예를 들어, 사용자는 가상 어시스턴트 제어 장치가 음악을 재생하는 동안 사용자의 집, 사무실 또는 기타 위치에 있는 가상 어시스턴트 제어 디바이스(예를 들어, 스마트 스피커와 같은 음성 어시스턴트 디바이스)에 모바일 디바이스의 카메라를 포인팅할 수 있다. 가상 어시스턴트 애플리케이션은 (예를 들어, 단독으로 또는 원격 시스템의 도움을 받아) 카메라로부터 수신된 이미지 데이터에 기초하여 가상 어시스턴트 제어 디바이스를 검출하여 사용자가 현재 재생중인 오디오를 제어할 수있는 사용자 인터페이스 컨트롤을 제시할 수 있다. 이미지 데이터에서 검출된 된 스마트 디바이스들과 그 스마트 디바이스들의 현재 모드 또는 동작에 기초하여 사용자 인터페이스 컨트롤을 선택함으로써 가상 어시스턴트 애플리케이션은 스마트 디바이스들의 보다 효율적이고 효과적으로 제어를 제공하는 맞춤형 사용자 인터페이스들을 제공할 수 있다. 예를 들어, 음성 컨트롤을 사용하여 볼륨을 조정하거나 음악을 재생하려면 볼륨 또는 재생을 적절하게 변경하기 위해 스마트 스피커에 의한 다수의 음성 명령 및 조정이 필요할 수 있다. 모바일 디바이스에 의해 제시된 사용자 인터페이스 컨트롤을 통해 사용자는 동일한 변경을 보다 빠르고 보다 직관적으로 수행할 수 있다.
본 명세서에 설명된 시스템 및 기술은 모바일 디바이스의 카메라로부터의 이미지 데이터(예를 들어, 단일 프레임 이미지, 연속 비디오, 이미지 스트림 등)로부터 스마트 디바이스를 인식할 수 있다. 일단 스마트 디바이스가 식별되면 모바일 디바이스는 결과를 인덱싱할 수 있다. 이것은 사용자가 다수의 요청을 해야하는 것을 방지하여, 컴퓨팅 시스템(들)이 스마트 디바이스를 식별하고 특정 스마트 디바이스 애플리케이션에 대해 어떤 사용자 인터페이스 컨트롤(예를 들어, 음악 재생용 오디오 컨트롤, 조명용 조명 스위치 컨트롤 등)이 제시되어야 하는지를 결정하기 위해 요청을 처리하는 횟수를 감소시킬 수 있다. 많은 사용자에 대해 집계되면 이것은 컴퓨터에 부과되는 처리 요구를 감소시킴으로써 사용자 인터페이스 컨트롤을 선택하는 가상 어이스턴트 관리 시스템의 컴퓨터 기능을 크게 향상시킬 수 있다. 가상 어시스턴트 관리 시스템은 네트워크를 통해 액세스될 수 있으므로, 요청 수를 줄이면 소비되는 대역폭의 양도 줄어 들어 다른 네트워크 트래픽을 위한 대역폭을 허용하고 및/또는 네트워크의 속도를 증가시킬 수 있다.
스마트 디바이스에 기반하여 적절한 사용자 인터페이스 컨트롤을 선택하면, 사용자는 동일한 스마트 디바이스에 모바일 디바이스의 카메라를 포인팅할 때마다 컨트롤을 선택해야 하는 부담이 없다. 이를 통해 사용자의 요청이 더 빨라지고 사용자에게 더 많은 유연성이 제공된다. 예를 들어, 가상 어시스턴트 애플리케이션을 사용함으로써 사용자는 카메라가 스마트 디바이스를 포인팅하도록 모바일 장치를 잡고 모바일 디바이스 또는 스마트 디바이스와 추가로 상호 작용할 필요없이 스마트 디바이스의 특정 기능들을 제어하기 위한 사용자 인터페이스 컨트롤을 제공받을 수 있다. 따라서 본 명세서에 기술된 시스템 및 기술은 스마트 디바이스를 제어하기 위한 안내식 인간-기계 상호 작용 프로세스를 제공한다.
전술한 주제의 다양한 특징 및 이점들이 도면과 관련하여 이하에서 설명된다. 추가 특징 및 이점들은 본 명세서 설명된 주제 및 청구 범위로부터 명백하다.
도 1a는 가상 어시스턴트 애플리케이션이 스마트 디바이스들을 식별하고 스마트 디바이스들을 제어하기 위한 사용자 인터페이스 컨트롤을 제시하는 예시적인 환경의 블록도이다.
도 1b는 가상 어시스턴트 애플리케이션이 식별된 스마트 디바이스들을 위한 사용자 인터페이스 컨트롤을 제공하는 예시적인 프로세스의 예시적인 시스템 흐름도이다.
도 2는 수신된 이미지 데이터에 기초하여 식별된 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 제시하는 모바일 디바이스의 예시적인 스크린 샷의 시퀀스이다.
도 3은 수신된 이미지 데이터에 기초하여 식별된 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 제시하는 모바일 디바이스의 예시적인 스크린 샷의 다른 시퀀스이다.
도 4는 가상 어시스턴트 애플리케이션을 사용하여 스마트 디바이스를 식별하고 식별된 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 제시하기 위한 예시적인 프로세스의 흐름도이다.
도 5는 본 발명에 기술된 방법, 시스템 및 프로세스를 구현하는데 사용될 수 있는 예시적인 컴퓨터 시스템의 블록도이다.
다양한 도면에서 유사한 참조 번호 및 지정은 유사한 요소를 나타낸다.
가상 어시스턴트 애플리케이션을 사용하여 이미지 데이터(예를 들어, 단일 프레임 이미지, 연속 비디오, 이미지 스트림 등)에 기초하여 스마트 디바이스(또는 스마트 디바이스에 대한 물리적 컨트롤)를 식별하고 각각의 식별된 스마트 디바이스에 대해 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 제시하기 위한 시스템, 방법 및 컴퓨터 프로그램 제품이 설명된다. 예를 들어, 스마트 디바이스 또는 스마트 디바이스에 대한 물리적 컨트롤은 모바일 디바이스 카메라의 뷰 파인더를 나타내는 이미지 데이터에서 식별(예를 들어, 객체 인식 기술을 사용하여 인식)될 수 있다. 이에 응답하여, 스마트 디바이스를 제어하기 위한 사용자 인터페이스 컨트롤이 사용자가 스마트 디바이스를 제어할 수 있도록 예를 들어, 증강 현실 기술을 사용하여 뷰 파인더 내에 제시될 수 있다. 스마트 디바이스는 하나 이상의 네트워크를 통해 다른 디바이스에 연결된 전자 디바이스이다. 스마트 디바이스는 자율적으로 및 대화식으로/또는 다른 스마트 디바이스와 함께 작동할 수 있다. 예시적인 스마트 디바이스는 가상 어시스턴트 제어 디바이스(예를 들어, 스마트 스피커와 같은 음성 제어 디바이스), 홈 자동화 디바이스(예를 들어, 스마트 조명, 스마트 기기, 온도 조절기 등), 스마트 TV 및 스마트 라디오를 포함한다. 가상 어시스턴트 제어 디바이스는 사용자를 위해 작업 및/또는 서비스를 수행하고 다른 스마트 디바이스를 제어하는 통합 가상 어시스턴트를 포함하는 전자 디바이스이다. 예시적인 가상 어시스턴트 제어 디바이스는 음성 명령에 응답하여 작업을 수행하고 다른 스마트 디바이스를 제어하는 스마트 스피커이다.
예를 들어, 사용자는 모바일 디바이스의 카메라로 스마트 스피커를 포인팅하고 스마트 스피커 또는 스마트 스피커가 제어하도록 구성된 다른 스마트 디바이스(예를 들어, 사용자의 계정으로 등록된 다른 스마트 디바이스)를 제어하기 위한 사용자 인터페이스 컨트롤을 볼 수 있다. 다른 예에서, 사용자는 모바일 디바이스의 카메라로 스마트 조명 또는 조명 스위치를 포인팅하여 스마트 조명을 조정하기 위한 사용자 인터페이스 컨트롤을 볼 수 있다.
일부 양태에서, 모바일 디바이스는 가상 어시스턴트 제어 디바이스(예를 들어, 스마트 스피커)를 통해 스마트 디바이스에 연결되며, 여기서 각각은 동일한 네트워크에 연결된다. 일부 양태에서, 모바일 디바이스는 가상 어시스턴트 제어 디바이스에 연결하지 않고 또는 이를 통해 스마트 디바이스에 연결할 수 있으며, 예를 들어 특정 스마트 디바이스는 모바일 디바이스와 동일한 네트워크(예를 들어, 무선 네트워크)를 통해 데이터를 통신하도록 구성된다.
일부 양태에 따르면, 사용자는 사용자의 계정으로 가상 어시스턴트 제어 디바이스를 등록할 수 있다. 사용자는 또한 다른 예에서 가상 어시스턴트 제어 디바이스가 등록된 각 스마트 디바이스를 제어할 수 있도록 그 계정에 다른 스마트 디바이스를 등록할 수 있으며, 사용자는 예를 들어 가상 어시스턴트 제어 디바이스에서 하나 이상의 스마트 디바이스를 제어하도록 가상 어시스턴트 제어 디바이스를 구성할 수 있다. 사용자는 가상 어시스턴트 제어 디바이스에게 자체 스피커로 음악을 재생하도록 요청하거나, 조명이 사용자 계정에 등록되어 있거나 가상 어시스턴트 제어 장치에 의해 제어되는 스마트 디바이스(또는 스마트 디바이스에 연결된 경우)인 경우 가상 어시스턴트 제어 디바이스에게 특정 방의 조명들을 끄도록 요청할 수 있다. 가상 어시스턴트 제어 디바이스는 무선 네트워크를 통해 제어 데이터를 스마트 디바이스로 전송하거나 그 제어 데이터를 스마트 디바이스로 중계하는 가상 어시스턴트 관리 시스템에 제어 데이터를 전송함으로써 스마트 디바이스를 제어할 수 있다.
본 명세서에 설명된 가상 어시스턴트 애플리케이션은 이미지가 모바일 디바이스에 제시되는 시간(또는 이미지가 캡처된 시간)에 모바일 디바이스의 위치가 사용자의 계정에 등록된 가상 어시스턴트 제어 디바이스의 임계 거리 내에 있는지 결정함으로써 이미지 데이터에서 검출된 스마트 디바이스(예를 들어, 가상 어시스턴트 제어 디바이스 또는 스마트 조명 스위치)가 모바일 디바이스의 사용자와 연관되어 있는지 여부를 결정할 수 있다. 예를 들어, 시스템은 모바일 디바이스의 지리적 위치와 사용자의 계정에 등록된 가상 어시스턴트 제어 디바이스의 위치를 사용하여, 이미지 데이터가 나타내는 특정 스마트 디바이스가 사용자의 스마트 디바이스인지 여부를 결정할 수 있다. 그런 다음 가상 어시스턴트 애플리케이션은 생성된 인터페이스 컨트롤을 통해, 가상 어시스턴트 제어 디바이스와 특정 스마트 디바이스 간의 연결을 사용하여 스마트 디바이스를 제어할 수 있다. 스마트 디바이스용 애플리케이션을 사용하여 특정 스마트 디바이스를 구성하고 이를 WiFi 네트워크와 같은 네트워크에 연결할 수 있다. 가상 어시스턴트 제어 디바이스용 애플리케이션은 동일한 WiFi 네트워크에서 스마트 디바이스를 연결 및 제어하는데 사용될 수 있고, 특정 스마트 디바이스를 추가로 구성(예를 들어, 닉네임 추가, 그들을 방에 할당 등)할 수 있다.
일부 양태에 따르면, 가상 어시스턴트 애플리케이션은 가상 어시스턴트 제어 디바이스 없이 스마트 디바이스에 연결할 수 있다. 예를 들어, 가상 어시스턴트 애플리케이션은 모바일 디바이스의 사용자가 스마트 디바이스가 등록된 홈 네트워크에 액세스할 수 있는지 여부(예를 들어, WiFi 암호 등을 통해 홈 네트워크에 액세스할 수 있는 권한)를 결정할 수 있다. 본 명세서에 설명된 가상 어시스턴트 애플리케이션 시스템은 이미지가 모바일 디바이스에 제시될 때(또는 이미지가 캡처될 때) 모바일 디바이스의 위치가 스마트 디바이스의 위치(예를 들어, 동일한 네트워크)내에 있고 사용자의 계정에 등록되어 있는지 결정함으로써 이미지 데이터에서 인식된 스마트 디바이스(예를 들어, 스마트 조명 스위치 또는 스마트 온도 조절기)가 사용자에게 등록되어 있는지 여부를 결정할 수 있다. 예를 들어, 시스템은 모바일 디바이스의 지리적 위치를 사용하고 가상 어시스턴트 관리 시스템을 통해 등록 파일들에 액세스하여, 모바일 디바이스가 특정 스마트 디바이스에 액세스할 수 있는지 여부를 결정할 수 있다. 등록 파일에는 이에 한정되지는 않지만 ID 및 제어 정보를 포함하여 특정 스마트 디바이스에 관한 데이터가 포함된다. 가상 어시스턴트 애플리케이션은 등록 파일 내의 데이터를 사용하여 특정 스마트 디바이스와 통신하고 이를 제어할 수 있다.
본 명세서에 기술된 사용자 인터페이스 컨트롤은 모바일 디바이스의 사용자 인터페이스, 예를 들어 모바일 디바이스에서 실행되는 가상 어시스턴트 애플리케이션에 의해 생성 및 제시될 수 있다. 본 시스템은 증강 현실(AR) 모듈 등을 사용하여 모바일 디바이스의 사용자 인터페이스에 의해 제시된 라이브 이미지(예를 들어, 디지털 뷰 파인더) 위에 또는 이전에 캡처된 이미지 위에 사용자 인터페이스 컨트롤을 오버레이(중첩)할 수 있다. 예를 들어, 사용자는 모바일 디바이스의 카메라 뷰 파인더에서 스마트 조명 스위치의 라이브 뷰를 볼 수 있으며 라이브 이미지에 중첩된 사용자 인터페이스 컨트롤을 가상으로 볼 수 있다.
동작 중에, 가상 어시스턴트 애플리케이션은 이미지 데이터 및 가상 어시스턴트 애플리케이션이 실행중인 모바일 디바이스의 위치를 지정하는 위치 데이터를 수신한다. 가상 어시스턴트 애플리케이션(또는 원격 서버)의 객체 인식기 컴포넌트는 이미지 데이터를 분석하여 식별된 객체 데이터를 생성할 수 있다. 식별된 객체 데이터는 객체가 차지하는 이미지의 영역을 지정한다. 일부 양태에서, 객체 인식기 컴포넌트는 객체가 스마트 디바이스인지를 결정하고 그 정보를 식별된 객체 데이터에 임베딩(삽입)할 수 있다. 가상 어시스턴트 애플리케이션(또는 원격 서버)의 스마트 디바이스 컨트롤 선택기는 객체 인식기 컴포넌트로부터 식별된 객체 데이터를 수신하여 이미지 데이터가 스마트 디바이스와 같이 지정된 객체를 묘사하는지 여부를 결정한다. 만약 식별된 객체 데이터로부터 스마트 디바이스가 식별되면, 스마트 디바이스 컨트롤 선택기는 모바일 디바이스로부터 위치 데이터를 수신한다. 그런 다음 스마트 디바이스 컨트롤 선택기는 이미지가 제시된(또는 이미지에 대한 이미지 데이터가 캡처된) 시점의 모바일 디바이스의 위치가 사용자의 계정에 등록된 가상 어시스턴트 제어 디바이스의 위치의 임계 거리(예를 들어, 50m, 100m 또는 다른 적절한 거리) 내에 있는지 결정할 수 있다. 일부 양태에서, 시스템은 스마트 디바이스가 사용자의 계정과 연관되는지, 그리고 가상 어시스턴트 제어 디바이스가 스마트 디바이스를 제어할 수 있는지를 결정할 수 있다.
일부 양태에서, 식별된 객체 데이터에서 스마트 디바이스가 식별되면, 스마트 디바이스 컨트롤 선택기는 모바일 디바이스로부터 위치 데이터를 수신하고, 그런 다음 등록 파일을 처리하여 예를 들어 네트워크상에서 음성 어시스턴트 제어 디바이스를 찾을 수 없는 경우 스마트 디바이스가 사용자의 계정에 등록되었는지 결정한다. 등록 파일은 사용자 디바이스(알고 있는 경우)에 저장하거나 스마트 디바이스 등록 엔진과 같은 가상 어시스턴트 관리 시스템의 백엔드 서버를 통해 액세스될 수 있다.
스마트 디바이스 컨트롤 선택기가 모바일 디바이스의 위치가 사용자의 계정에 등록된 가상 어시스턴트 제어 디바이스의 위치의 임계 거리 내에 있다고 결정한 후, 스마트 디바이스 컨트롤 선택기는 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 식별(예를 들어, 선택)하고 인터페이스 컨트롤 식별 데이터를 생성한다. 인터페이스 컨트롤 식별 데이터에는 식별된 스마트 디바이스를 제어할 수 있는 하나 이상의 컨트롤을 지정하는 데이터가 포함된다. 예를 들어, 스마트 디바이스가 조명 스위치이면, 컨트롤에는 온(on) 아이콘, 오프 아이콘 및/또는 조광기(dimmer)가 포함될 수 있다. 인터페이스 컨트롤 식별 데이터는 인터페이스 생성기에 의해 수신된다. 인터페이스 컨트롤 식별 데이터에 의해 지정된 각 사용자 인터페이스 컨트롤(들)이 관심 스마트 디바이스에 속하도록, 인터페이스 생성기는 사용자 인터페이스에서 사용자 인터페이스 컨트롤을 제시하는 프리젠테이션 데이터를 생성한다.
수신된 이미지 데이터는 실시간으로 처리되는 라이브 연속 비디오에서 나올 수 있으며, 이는 카메라가 움직이더라도 카메라 렌즈의 시야 내에서 관심 객체(들)를 계속 식별한다. 일부 양태에서, 수신된 이미지 데이터는 단일 프레임 샷 또는 기록된 비디오일 수 있다.
이러한 특징들 및 추가 특징들은 아래에서 더 자세히 설명된다.
도 1a는 가상 어시스턴트 애플리케이션(116)이 스마트 디바이스들을 식별하고 그 스마트 디바이스들을 제어하기 위한 사용자 인터페이스 컨트롤을 제시하는 예시적인 환경(100A)의 블록도이다. 도 1b는 가상 어시스턴트 애플리케이션(118)이 식별된 스마트 디바이스들에 대한 사용자 인터페이스 컨트롤을 제시하는 예시적인 프로세스의 예시적인 시스템 흐름도이다.
가상 어시스턴트 애플리케이션(116)은 모바일 디바이스(110)상에 설치되고 및/또는 모바일 디바이스(110)에 의해 실행될 수 있다. 모바일 디바이스(110)는 데이터 통신 네트워크(150)를 통해 데이터를 송수신할 수 있는 전자 디바이스이다. 예시적인 모바일 디바이스들(110)은 스마트 폰, 태블릿 컴퓨팅 디바이스, 웨어러블 컴퓨팅 디바이스(예를 들어, 스마트 시계), 및 네트워크(150)를 통해 데이터를 송수신할 수 있는 다른 디바이스를 포함한다. 네트워크(150)는 근거리 통신망(LAN), 광역 통신망(WAN), 인터넷, 모바일 네트워크 또는 이들의 조합을 포함할 수 있다.
가상 어시스턴트 애플리케이션(116)은 특정 플랫폼 또는 특정 디바이스를 위해 개발된 네이티브 애플리케이션으로 구현될 수 있다. 가상 어시스턴트 애플리케이션(116)은 모바일 디바이스(110)의 사용자를 위한 작업 또는 서비스를 수행할 수 있다. 예를 들어, 가상 어시스턴트 애플리케이션(116)은 사용자의 음성 명령에 응답(예를 들어, 요청된 정보 제공)하고, 사용자의 스마트 디바이스를 제어하고, 컨텐츠(예를 들어, 음악 또는 비디오) 등을 재생할 수 있다. 사용자가 스마트 디바이스들을 보다 쉽고 효율적으로 제어할 수 있도록 하기 위해, 가상 어시스턴트 애플리케이션(116)은 모바일 디바이스(110)의 디스플레이상에 그래픽 사용자 인터페이스 컨트롤을 제시할 수 있다.
가상 어시스턴트 애플리케이션(116)은 모바일 디바이스(110)의 카메라(111)의 시야에 있는 장면을 나타내는 이미지 데이터에서 인식된 스마트 디바이스들에 대한 사용자 인터페이스 컨트롤을 제시할 수 있다. 예를 들어, 가상 어시스턴트 애플리케이션(116)은 스마트 디바이스들을 식별하여 식별된 스마트 디바이스들에 대한 사용자 인터페이스 컨트롤을 제시할지 여부를 결정할 수 있다. 가상 어시스턴트 애플리케이션(116)은 식별된 스마트 디바이스가 사용자의 계정에 등록되어 있는지 여부 및/또는 모바일 디바이스(11Q)가 사용자의 계정에 등록된 가상 어시스턴트 제어 디바이스의 임계 거리 내에 있는지 여부에 기초하여 식별된 스마트 디바이스에 대한 사용자 인터페이스 컨트롤을 제시할지 여부를 결정할 수 있다. 가상 어시스턴트 애플리케이션(116)은 또한 식별된 스마트 디바이스에 사용할 사용자 인터페이스 컨트롤(예를 들어, 음악용 오디오 컨트롤, 스마트 디바이스 조명 스위치용 토글 컨트롤 등)을 선택하고, 예를 들어, 이미지 데이터(예를 들어, 카메라(111)의 이미지 또는 뷰 파인더에 묘사된 객체) 위에 그래픽 오버레이로서 상기 선택된 컨트롤과의 인터페이스를 제공할 수 있다.
가상 어시스턴트 애플리케이션(116)은 모바일 디바이스(110)의 카메라(111)로부터 수신된 이미지 데이터에서, 예를 들어, 스마트 디바이스들을 식별하기 위한 사용자 요청을 수신하지 않고 지속적으로 스마트 디바이스들을 검출하려고 시도할 수 있다. 예를 들어, 가상 어시스턴트 애플리케이션(116)은 (이미지 데이터에 기초하여) 모바일 디바이스(110)의 카메라(111)의 뷰 파인더에서 객체들을 검출 및/또는 인식하고, 사용자가 스마트 디바이스에서 카메라(111)를 포인팅하고 있다는 사실을 식별된 스마트 디바이스를 제어하기 위한 요청으로 해석한다.
일부 구현에서, 가상 어시스턴트 애플리케이션(116)은 하나 이상의 입력을 통해 스마트 디바이스 컨트롤을 찾고 선택하기 위한 명령을 수신할 수 있다. 예를 들어, 가상 어시스턴트 애플리케이션(116)은 모바일 디바이스(110)의 마이크로폰(113)으로부터 음성 요청을 수신할 수 있다. 가상 어시스턴트 애플리케이션(116)은 마이크로폰(113)으로부터 오디오 입력을 수신하고, 오디오를 텍스트로 번역하고(오디오가 음성 단어를 포함하는 경우), 텍스트를 가상 어시스턴트 애플리케이션(116)에 제공할 수 있는 음성 인식기(120)를 포함할 수 있다.
일부 구현에서, 가상 어시스턴트 애플리케이션(116)은 본 명세서에 설명된 프로세스를 개시하기 위해 모바일 디바이스(110)에 디스플레이된 가상 어시스턴트 애플리케이션(116)의 인터페이스상의 버튼과 상호 작용(예를 들어, 터치)하는 사용자에 의해 스마트 디바이스를 식별하기 위한 명령을 수신할 수 있다. 일부 구현에서, 가상 어시스턴트 애플리케이션(116)은 또한 예를 들어 모바일 디바이스(110)의 물리적 또는 터치 키패드를 사용하여 타이핑된 텍스트 요청을 수신할 수 있다.
가상 어시스턴트 애플리케이션(116)은 스마트 디바이스가 이미지(예를 들어, 이미지를 나타내는 픽셀 데이터)에 존재하는지 여부를 결정하고, 식별된 스마트 디바이스, 그의 기능, 및/또는 스마트 디바이스가 현재 일부 양태에서 작동하고있는 컨텍스트에 기초하여 사용자 인터페이스 컨트롤을 선택하고, 가상 어시스턴트 애플리케이션(116)은 가상 어시스턴트 애플리케이션(116)이 활성인 동안 객체 인식기(125)(본 명세서에서 더 설명됨)로부터 식별된 객체 데이터(126)를 수신할 수 있다. 예를 들어, 가상 어시스턴트 애플리케이션(116)은 가상 어시스턴트 애플리케이션(116)이 시작될 때 카메라(111)로부터 뷰 파인더에 대한 픽셀 데이터를 획득하기 시작할 수 있다. 스마트 디바이스 컨트롤 선택기(130)는 스마트 디바이스 컨트롤 선택기(130)가 사용자 인터페이스 컨트롤을 선택하기에 충분한 정보를 가질 때까지 데이터를 모니터링할 수 있다. 예를 들어, 스마트 디바이스 컨트롤 선택기(130)는 스마트 디바이스 컨트롤 선택기(130)가 선택할 컨트롤을 사용자 인터페이스 컨트롤에 제시할지 여부에 대한 결정을 내리기에 충분한 데이터를 획득할 때까지 이미지 스트림에 대해 식별된 객체 데이터(126), 및/또는 위치 데이터(124)와 같은 다른 데이터를 모니터링할 수 있다.
일부 구현에서, 스마트 디바이스 컨트롤 선택기(130)는 카메라(111)의 뷰 파인더에 대한 이미지 데이터(123)에 기초하여 객체 인식기(125)에 의해 생성된 식별된 객체 데이터(126)에 기초하여 사용자 인터페이스 컨트롤을 선택할 수 있다. 이미지 데이터(123)는 카메라(111)의 뷰 파인더의 현재 장면을 나타내는 픽셀 데이터를 포함할 수 있다. 가상 어시스턴트 애플리케이션(116)은 가상 어시스턴트 애플리케이션(116)이 실행된 후 카메라(111)로부터 이미지 데이터(123)를 획득할 수 있다. 예를 들어, 가상 어시스턴트 애플리케이션(116)은 픽셀 데이터 세트의 스트림을 획득할 수 있다. 각 픽셀 데이터 세트는 특정 시점에 대한 뷰 파인더의 픽셀들을 나타낼 수 있다. 각 픽셀 데이터 세트의 픽셀 데이터는 뷰 파인더의 각 픽셀의 시각적 특성(예를 들어, 색상, 강도, 밝기 등)을 지정하는 데이터를 포함할 수 있다.
스마트 디바이스 컨트롤 선택기(130)는 뷰 파인더에서(예를 들어, 하나 이상의 픽셀 데이터 세트에서) 스마트 디바이스(또는 스마트 디바이스의 물리적 컨트롤)가 검출되는지 여부 및 검출된 경우 스마트 디바이스의 신원 또는 스마트 디바이스의 클래스에 기초하여 사용자 인터페이스 컨트롤을 선택할 수 있다. 예를 들어, 가상 어시스턴트 애플리케이션(116)은 픽셀 데이터(또는 이미지)에서 스마트 디바이스들(또는 그들의 물리적 컨트롤들)를 검출 및 인식(예를 들어, 식별)하려고 하는 객체 인식기(125)를 포함할 수 있다. 객체 인식기(125)는 스마트 스피커, 가전 기기, 텔레비전, 물리적 컨트롤(예를 들어, 조명 스위치, 문 손잡이, 온도 조절기, 오븐/스토브 컨트롤 등)과 같은 다양한 객체 및/또는 에지 검출 및/또는 기타 객체 인식 기술을 사용하여 다른 유형의 객체를 검출할 수 있다. 일부 스마트 디바이스의 경우, 스마트 디바이스와 스마트 디바이스의 물리적 컨트롤은 동일할 수 있다(예를 들어, 스마트 온도 조절기, 스마트 커피 메이커 등). 후술하는 바와 같이, 객체 인식기(125)는 이미지 데이터(123)에서 식별된 스마트 디바이스들(있는 경우)을 식별하는 식별된 객체 데이터(126)를 스마트 디바이스 컨트롤 선택기(130)로 제공할 수 있다.
일부 구현에서, 객체 인식기(125)는 픽셀 데이터 세트가 객체들의 하나 이상의 특정 클래스(예를 들어, 카테고리)에 객체를 포함하는지 여부를 결정하는 비정밀(coarse) 분류기를 포함한다. 예를 들어, 비정밀 분류기는 픽셀 데이터 세트가 실제 객체를 인식하거나 인식하지 않고 특정 클래스(예를 들어, 조명 컨트롤과 같은 스마트 디바이스의 클래스)의 객체를 포함하는 것을 검출할 수 있다. 일부 양태에서, 객체 인식기(125)는 스마트 디바이스가 이미지 데이터내에 있는지 여부를 이미지 데이터(123)로부터 결정하고 식별된 스마트 디바이스에 특정된 데이터를 생성할 수 있다.
비정밀 분류기는 이미지가 객체 클래스를 나타내는 하나 이상의 특징을 포함하는지 여부에 기초하여 객체 클래스의 존재를 검출할 수 있다. 비정밀 분류기는 객체 클래스(들) 내에서 객체들의 존재를 검출지하기 위해 낮은 계산 분석을 수행하는 경량 모델(light-weight model)을 포함할 수 있다. 예를 들어, 비정밀 분류기는 각 객체 클래스에 대해, 이미지에 묘사된 제한된 시각적 특징 세트를 검출하여, 이미지가 객체 클래스에 속하는 객체를 묘사하는지 여부를 결정할 수 있다. 특정 예에서, 비정밀 분류기는 스마트 스피커, 가전 기기, 텔레비전, 물리적 컨트롤(예를 들어, 조명 스위치, 문 손잡이, 온도 조절기, 오븐/스토브 컨트롤)과 같은 클래스중 하나 이상의 클래스로 분류된 객체를 이미지가 묘사하는지 여부를 검출할 수 있다.
일부 구현에서, 비정밀 분류기는 훈련된 기계 학습 모델(예를 들어, 컨볼 루션 신경망)을 사용하여 이미지들의 시각적 특징에 기초하여 이미지를 분류한다. 예를 들어, 기계 학습 모델은 그들의 개별 클래스로 레이블이 지정된 레이블 지정 이미지를 사용하여 훈련될 수 있다. 기계 학습 모델은 이미지를 0개 이상의 특정 객체 클래스 세트로 분류하도록 훈련될 수 있다. 기계 학습 모델은 이미지의 시각적 특징과 관련된 데이터를 입력으로 수신하여 특정 객체 클래스 세트에 있는 0개 이상의 객체 클래스로 분류를 출력할 수 있다.
비정밀 분류기는 이미지에서 객체 클래스가 검출되었는지 여부를 지정하는 데이터를 출력할 수 있다. 비정밀 분류기는 또한 이미지에서 객체 클래스의 존재가 검출되었다는 신뢰도를 나타내는 신뢰도 값 및/또는 특정 유형의 스마트 스피커와 같은 실제 객체가 이미지에 묘사되어 있다는 신뢰도를 나타내는 신뢰도 값을 출력할 수 있다.
예를 들어, 도 1b에 도시된 바와 같이, 사용자는 모바일 디바이스(110)의 카메라(111)를 객체(115)에 포인팅하고 있다. 객체(115)는 아마 사용자가 가상 어시스턴트 애플리케이션(116)이 컨트롤을 생성하고 제시하기를 원하는 스마트 디바이스일 것이다. 가상 어시스턴트 애플리케이션(116)을 사용하여 사용자는 객체 (115)가 카메라(110)의 시야 내에 있고 객체(115)가 가상 어시스턴트 애플리케이션(116)의 사용자 인터페이스(136)에서 사용자에게 제시되도록 모바일 디바이스 (110)를 잡고 있다. 예를 들어, 가상 어시스턴트 애플리케이션(116)의 사용자 인터페이스(136)는 카메라(111)용 뷰 파인더를 포함할 수 있다. 특정 예에서, 가상 어시스턴트 애플리케이션(116)은 가상 어시스턴트 애플리케이션(116)이 이미지 모드에 있을 때 뷰 파인더를 제공할 수 있으며, 가상 어시스턴트 애플리케이션(116)은 이미지에서 검출된 스마트 디바이스들에 대한 사용자 인터페이스 컨트롤을 제시하고 및/또는 이미지에서 검출된 객체와 관련된 컨텐츠를 제공할 수 있다.
카메라(111)의 시야 내에 있는 (사용자 인터페이스(136)의 뷰 파인더내에 제시된) 장면을 나타내는 이미지 데이터(123)가 객체 인식기(125)에 의해 수신된다. 위치 데이터는 또한 예를 들어 모바일 디바이스(110)의 GPS 수신기로부터 스마트 디바이스 컨트롤 선택기(130)에 의해 수신될 수 있다. 객체 인식기(125)는 객체가 이미지 데이터(123)에서 검출되었는지 여부를 지정하는 식별된 객체 데이터(126) 및 (특정 스마트 디바이스와 같은) 객체가 인식된 경우 그 인식된 객체를 식별하는 데이터를 스마트 디바이스 컨트롤 선택기(130)에 제공할 수 있다. 비정밀 분류기가 사용되는 경우, 객체 인식기(125)는 객체 클래스 중 적어도 하나 내의 객체의 존재가 결함이 있는지 여부를 지정하는 데이터 및 그런 경우 검출된 클래스를 를 스마트 디바이스 컨트롤 선택기(130)에 제공할 수 있다. 전술한 바와 같이, 가상 어시스턴트 애플리케이션(116)은 픽셀 데이터 세트의 스트림을 수신할 수 있다. 이 예에서, 객체 인식기(125)는 각 픽셀 데이터 세트를 평가하고 스트림의 픽셀 데이터 세트 각각(또는 적어도 그의 일부)에 대해 이 데이터(객체의 결함 여부 및 임의의 인식된 객체의 신원을 지정하는 데이터)를 스마트 디바이스 컨트롤 선택기(130)에 제공할 수 있다.
일부 구현에서, 객체 인식기(125)는 훈련된 기계 학습 모델(예를 들어, 컨볼루션 신경망)을 사용하여 모바일 디바이스(110)로부터 수신된 이미지 데이터에서 객체들을 인식한다. 예를 들어, 기계 학습 모델은 개별 스마트 디바이스 및/또는 스마트 디바이스들에 대한 물리적 컨트롤로 레이블이 지정된 레이블 지정 이미지를 사용하여 훈련될 수 있다. 기계 학습 모델은 이미지 데이터로 표현된 이미지에 묘사된 스마트 디바이스들 및/또는 그 스마트 디바이스들에 대한 물리적 컨트롤을 식별하는 데이터를 인식하고 출력하도록 훈련될 수 있다. 기계 학습 모델은 이미지의 시각적 특징과 관련된 데이터를 입력으로 수신하고 그 이미지에 묘사된 스마트 디바이스 또는 이미지에 물리적 컨트롤이 묘사된 스마트 디바이스들을 식별하는 데이터를 출력할 수 있다.
스마트 디바이스가 인식되면, 스마트 디바이스 컨트롤 선택기(130)는 인식된 실제 스마트 디바이스, 픽셀 데이터 세트에서 검출된 스마트 디바이스(들)의 클래스(들), 스마트 디바이스의 기능, 및/또는 스마트 디바이스가 작동하는 컨텍스트에 기초하여 그 인식된 스마트 디바이스에 대한 사용자 인터페이스 컨트롤을 선택할 수 있다. 예를 들어, 뷰 파인더에서 스마트 디바이스가 검출되면(뷰 파인더에 대해 설정된 픽셀 데이터에 기초하여), 검출 가능한 스마트 디바이스들이 뷰 파인더에 없는 경우보다 사용자가 뷰 파인더에 있는 내용에 기초하여 사용자 인터페이스 컨트롤을 요청할 가능성이 더 높다. 따라서, 스마트 디바이스 컨트롤 선택기(130)는 픽셀 데이터에서 스마트 디바이스 또는 스마트 디바이스의 클래스가 검출되면 사용자 인터페이스 컨트롤을 선택할 수 있다.
각각의 스마트 디바이스 또는 스마트 디바이스의 클래스는 하나 이상의 대응하는 사용자 인터페이스 컨트롤을 포함할 수 있다. 각 스마트 디바이스 또는 스마트 디바이스 클래스에 대한 사용자 인터페이스 컨트롤은 사용자 인터페이스 컨트롤 인덱스(140)에 저장될 수 있다. 예를 들어, 스마트 조명에는 사용자가 조명을 켜고 끌 수 있는 대응하는 사용자 인터페이스 컨트롤이 있을 수 있다. 조광 가능한 조명은 조광 가능하지 않은 조명과 다른 사용자 인터페이스 컨트롤을 가질 수 있다. 예를 들어, 조광 가능한 조명에 대한 사용자 인터페이스는 사용자가 카메라(111)를 토글 조명 스위치로 포인팅하고 객체 인식기(125)가 카메라(111)가 토글 조명 스위치로 포인팅되고 있음을 검출하는 경우, 사용자가 조명의 강도를 조정하도록 조정할 수 있는 회전 조광기 또는 슬라이더 바를 포함할 수 있으며, 스마트 디바이스 컨트롤 선택기(130)는 그 조명이 턴온 및 턴오프될 수 있지만 어둡게(dimmed) 할 수 없는 조명이라고 결정할 수 있다. 따라서, 스마트 디바이스 컨트롤 선택기(130)는 사용자가 조명을 턴온 및 턴오프할 수 있는 사용자 인터페이스 컨트롤을 선택할 수 있지만, 빛의 강도는 조절할 수 없다. 마찬가지로, 객체 인식기(125)가 조광기를 인식하면, 스마트 디바이스 컨트롤 선택기(130)는 사용자가 빛의 세기를 조절할 수 있는 사용자 인터페이스 컨트롤을 선택할 수 있다.
가상 어시스턴트 제어 디바이스와 같은 일부 스마트 디바이스는 다수의 다른 작업을 수행하거나 다수의 애플리케이션을 실행할 수 있다. 스마트 디바이스 컨트롤 선택기(130)는 스마트 디바이스가 현재 작동하고 있는 컨텍스트(상황)에 기초하여 이들 디바이스에 대한 사용자 인터페이스 컨트롤을 선택할 수 있다. 예를 들어, 객체 인식기(125)가 카메라(111)의 뷰 파인더에서 스마트 스피커를 인식할 때 스마트 스피커가 음악을 재생하는 경우, 스마트 디바이스 컨트롤 선택기(130)는 음악을 제어하기 위한 사용자 인터페이스 컨트롤, 예를 들어 볼륨 조절, 다른 노래 재생, 빨리 감기 등을 위한 컨트롤을 선택할 수 있다. 스마트 스피커가 현재 기기(예를 들어, 오븐)를 제어하고있는 경우, 스마트 디바이스 컨트롤 선택기(130)는 사용자가 애플리케이션을 제어하기 위해(예를 들어, 오븐의 온도를 변경하기 위해) 사용자 인터페이스 컨트롤을 선택할 수 있다.
일부 구현에서, 스마트 스피커는 스마트 스피커를 동작시키기 위한 대응하는 사용자 인터페이스를 가질 수 있다. 이 사용자 인터페이스는 그래픽 디스플레이가 장착된 스마트 스피커들에 의해 제시되는 사용자 인터페이스에 해당할 수 있다. 예를 들어, 일부 스마트 스피커에는 옵션 디스플레이가 포함될 수 있다. 이 예에서, 사용자가 디스플레이가 없는 스마트 스피커를 갖는 경우, 디스플레이에 의해 제시될 사용자 인터페이스에 대응하는 사용자 인터페이스는 사용자가 스마트 스피커에 카메라(111)를 포인팅할 때 가상 어시스턴트 애플리케이션(116)에 의해 제시될 수 있다.
가상 어시스턴트 제어 디바이스(예를 들어, 스마트 스피커)를 위한 사용자 인터페이스는 사용자의 계정에 등록된 각 스마트 디바이스에 대한 사용자 인터페이스 컨트롤을 포함할 수 있다. 예를 들어, 가상 어시스턴트 애플리케이션은 카메라(111)의 뷰 파인더를 나타내는 이미지 데이터(123)에서 가상 어시스턴트 제어 디바이스를 인식하는 것 및 모바일 디바이스가 가상 어시스턴트 제어 디바이스의 임계 거리 내에 있다고 결정하는 것(아래에 설명됨)에 응답하여 가상 어시스턴트 제어 디바이스를 제어하기 위한 사용자 인터페이스 컨트롤을 선택하고 제시할 수 있다. 이러한 사용자 인터페이스 컨트롤을 통해 사용자는 사용자 계정에 등록된 스마트 디바이스 중에서 선택할 수 있다. 예를 들어, 사용자가 스마트 오븐과 스마트 조명을 제어하기 위해 가상 어시스턴트 제어 디바이스를 구성한 경우, 사용자 인터페이스 컨트롤은 사용자가 선택에 응답하여 이들 디바이스 중 하나를 선택할 수 있게 할 수 있고, 가상 어시스턴트 애플리케이션(116)은 선택된 디바이스를 제어하기 위한 사용자 인터페이스 컨트롤을 제시할 수 있다. 다른 예에서, 가상 어시스턴트 애플리케이션(116)은 사용자가 마스터 패널로부터 각 스마트 디바이스를 제어할 수 있게 하는 모든(또는 적어도 다수의 스마트 디바이스)에 대한 마스터 패널을 제시할 수 있다.
일부 구현에서, 가상 어시스턴트 애플리케이션(116)은 사용자가 등록된 스마트 디바이스들로부터 선택하고 가상 어시스턴트 제어 디바이스가 이미지 데이터(123)에서 인식될 때 제시될 스마트 디바이스들에 대한 사용자 인터페이스 컨트롤을 구성하는 것을 가능하게 할 수 있다. 예를 들어, 가상 어시스턴트 애플리케이션(116)은 등록된 스마트 디바이스의 목록을 제시하여 사용자가 목록에서 선택할 수 있도록 할 수 있다. 이에 응답하여, 가상 어시스턴트 애플리케이션(116)은 가상 어시스턴트 제어 디바이스가 이미지 데이터(123)에서 인식될 때마다 선택된 스마트 디바이스에 대한 사용자 인터페이스 컨트롤을 제시할 수 있다.
가상 어시스턴트 애플리케이션(116)은 또한 사용자가 이미지 데이터(123)에서 다른 객체를 인식하는 것에 응답하여 컨텐츠 또는 사용자 인터페이스 컨트롤을 제시하게 할 수 있다. 예를 들어, 가상 어시스턴트 애플리케이션(116)은 이미지 데이터(123)에서 특정 벽 또는 다른 객체가 검출될 때마다 사용자가 가상 어시스턴트 애플리케이션(116)의 사용자 인터페이스 내에서 AR로 컨텐츠(예를 들어, 하나 이상의 웹 페이지 또는 기타 리소스에서 획득된 날씨 정보, 스포츠 정보, 금융 정보 등)를 제시하는 대시 보드를 구성할 수 있다. 다른 예에서, 사용자는 특정 벽 또는 다른 객체가 이미지 데이터(123)에서 검출될 때마다 가상 어시스턴트 애플리케이션(116)의 사용자 인터페이스 내에 AR로 라이브 웹 페이지 또는 애플리케이션을 제시하도록 가상 어시스턴트 애플리케이션(116)을 구성할 수 있다. 사용자는 카메라(111)를 벽 또는 특정 개체에 포인팅하고, 특정 개체에 컨텐츠를 할당하기 위한 아이콘 또는 다른 사용자 인터페이스 컨트롤을 선택하고, 그런 다음 컨텐츠를 선택함으로써(예를 들어, 하나 이상의 URL을 제공하고, 북마크를 선택함으로써) 이러한 구성을 만들 수 있다.
일부 구현에서, 사용자는 스마트 디바이스의 이미지와 함께 음성 명령을 사용하여 가상 어시스턴트 애플리케이션(116)에 의해 제어될 스마트 디바이스를 등록할 수 있다. 예를 들어, 사용자는 카메라(111)를 스마트 디바이스로 포인팅하고 이에 대한 음성 명령(예를 들어, 이것은 나의 스테레오)을 말할 수 있으며, 가상 어시스턴트 애플리케이션(116)은 스마트 디바이스의 이미지를 스마트 디바이스의 이름(예를 들어, 스테레오)과 연관시킬 수 있다. 만약 사용자가 카메라(111)를 스마트 디바이스로 포인팅하면, 가상 어시스턴트 애플리케이션(116)은 스마트 디바이스에 대한 사용자 인터페이스 컨트롤을 식별하고 사용자가 그 컨트롤을 사용하여 스마트 디바이스를 제어할 수 있도록 할 수 있다.
일부 구현에서, 가상 어시스턴트 애플리케이션(116)은 음성 명령에 응답하여 특정 위치에 대한 스마트 디바이스의 인스턴스를 생성한다. 예를 들어, 가상 어시스턴트 애플리케이션(116)은 또한 음성 명령 결함(defecting)에 응답하여 스마트 디바이스의 위치를 식별하고, 그 스마트 디바이스가 다른 위치에 있을 때(예를 들어, 스마트 디바이스의 위치로부터 임계 거리보다 클 때) 사용자가 카메라(111)를 스마트 디바이스(또는 그의 복제본)에 포인팅하는 경우 위치를 스마트 디바이스의 이미지 및 스마트 디바이스의 이름과 연관시킬 수 있으며, 가상 어시스턴트 애플리케이션(116)은 그 스마트 디바이스에 대한 사용자 인터페이스 컨트롤을 제시하지 않기로 결정할 수 있다. 모바일 디바이스(110)가 스마트 디바이스 근처에 있을 때(예를 들어, 스마트 디바이스의 임계 거리 내에 있을 때) 사용자가 카메라(111)를 스마트 디바이스에 포인팅하면, 가상 어시스턴트 애플리케이션(116)은 스마트 디바이스에 대한 사용자 인터페이스 컨트롤을 제시할 수 있다.
스마트 디바이스 컨트롤 선택기(130)는 또한, 예를 들어 스트림에서 일련의 픽셀 데이터 세트에 기초하여 사용자 인터페이스 컨트롤을 선택할 수 있다. 예를 들어, 픽셀 데이터 세트에서 인식된 객체가 짧은 시간(예를 들어, 2~5 초)에 걸쳐 변경되면, 이는 사용자가 모바일 디바이스(110)를 주위로 움직이고 특정 스마트 디바이스에 대한 컨트롤을 획득하려고 하지 않을 가능성이 있다. 그러나, 동일한 스마트 디바이스가 일련의 픽셀 데이터 세트에서 인식되면, 이는 사용자가 특정 스마트 디바이스에 대한 컨트롤을 요청할 가능성이 더 크다.
스마트 디바이스 컨트롤 선택기(130)는 또한 예를 들어, 가상 어시스턴트 제어 디바이스에 대한 모바일 디바이스(11G)의 위치에 기초하여 사용자 인터페이스 컨트롤을 제시할지 및/또는 사용자 인터페이스 컨트롤을 선택할지 여부를 결정할 수 있다. 예를 들어, 이미지가 모바일 디바이스(110)에 의해 제시되는 시점에서 모바일 디바이스(110)가 사용자의 가상 어시스턴트 제어 디바이스 근처에 있는 경우(예를 들어, 임계 거리 내), 이는 사용자가 뷰 파인더내의 스마트 디바이스(들)에 대한 컨트롤을 요청하고 특정 사용자 인터페이스 컨트롤이 선택될 가능성이 있다. 모바일 디바이스가 사용자의 가상 어시스턴트 제어 디바이스에서 멀리 떨어져 있는 경우(예를 들어, 임계 거리 이상), 이는 뷰 파인더가 사용자와 관련된 스마트 디바이스를 보여 주고 있을 가능성이 적다. 이것은 또한 가상 어시스턴트 애플리케이션(116)이 다른 사용자의 가상 어시스턴트 제어 디바이스를 제어할 수 없을 수 있기 때문에 다른 사용자의 가상 어시스턴트 제어 디바이스가 우연히 이미지에 캡처되는 상황에서 가상 어시스턴트 애플리케이션(116)이 사용자 인터페이스 컨트롤을 제시하는 것을 방지한다. 이 상황에서, 사용자 인터페이스 컨트롤을 제시하면 사용자가 실망할 수 있다.
다른 예에서, 사용자는 예를 들어, 이 예에서 가상 어시스턴트 제어 디바이스로부터 원격인 위치에서 사용자가 스마트 디바이스를 제어할 수 있도록 이전에 캡처된 이미지에 액세스할 수 있으며, 스마트 디바이스 컨트롤 선택기(13G)는 그 이미지가 캡처되었던 시점에서의 모바일 디바이스(110)의 위치에 액세스할 수 있다. 이 위치는 메타 데이터와 같이 이미지와 함께 저장될 수 있다. 만약 이미지가 캡처되었던 시점에서의 모바일 디바이스(110)의 위치가 가상 어시스턴트 제어 디바이스의 위치의 임계 거리 내에 있는 경우, 스마트 디바이스 컨트롤 선택기(130)는 모바일 디바이스(110)가 이미지에서 인식된 스마트 디바이스를 제어할 수 있는지 결정하고 그 스마트 디바이스를 제어하기 위한 사용자 인터페이스 컨트롤을 제시할 수 있다.
모바일 디바이스(110)가 가상 어시스턴트 제어 디바이스의 임계 거리 내에 있는지 여부를 결정하기 위해, 가상 어시스턴트 애플리케이션(118)은 모바일 디바이스의 GPS 수신기로부터 모바일 디바이스(110)의 위치 데이터를 획득하고, 가상 어시스턴트 제어 디바이스로부터, 가상 어시스턴트 관리 시스템(180)으로부터, 또는 일 예의 가상 어시스턴트 제어 디바이스의 초기 구성으로부터 가상 어시스턴트 제어 디바이스에 대한 위치 데이터를 획득할 수 있으며, 가상 어시스턴트 제어 디바이스는 자신의 현재 위치를 지정하는 데이터를 주기적으로 가상 어시스턴트 관리 시스템(160)에 전송할 수 있다. 가상 어시스턴트 애플리케이션(116)은 모바일 디바이스(110)가 가상 어시스턴트 제어 디바이스의 임계 거리 내에 있는지 여부를 결정하기 위해 모바일 디바이스(110)의 위치를 가상 어시스턴트 제어 디바이스의 위치와 비교할 수 있다.
스마트 디바이스 컨트롤 선택기(130)는 인식된 스마트 디바이스와 매칭하는 스마트 디바이스가 사용자의 계정(예를 들어, 사용자의 가상 어시스턴트 계정)에 등록되었는지 여부에 기초하여 스마트 디바이스에 대한 사용자 인터페이스 컨트롤을 제시할지 여부를 결정할 수도 있다. 이러한 방식으로, 가상 어시스턴트 애플리케이션(118)은 가상 어시스턴트 애플리케이션(116)이 제어하도록 설정되지 않은 스마트 디바이스에 대한 사용자 인터페이스 컨트롤을 제시하지 않는다. 예를 들어, 사용자는 가상 어시스턴트 애플리케이션(116)을 사용하여 사용자의 집에 있는 스마트 스피커와 같은 가상 어시스턴트 제어 디바이스에 의한 제어를 위한 스마트 디바이스를 등록할 수 있다. 가상 어시스턴트 애플리케이션(116)은 예를 들어 제어 인덱스(140) 또는 다른 인덱스에 로컬로 등록된 각 스마트 디바이스에 관한 데이터를 저장할 수 있다. 데이터는 디바이스의 이름, 디바이스의 클래스, 디바이스의 기능, 디바이스가 제어되는 방법(예를 들어, 가상 어시스턴트 제어 디바이스와 디바이스 간의 무선 연결을 통해) 및/또는 기타 적절한 데이터를 포함할 수 있다. 일부 구현에서, 디바이스들에 대한 데이터는 또한 디바이스의 이미지 및/또는 디바이스를 제어하기 위한 물리적 컨트롤의 이미지를 포함할 수 있다. 가상 어시스턴트 애플리케이션(118)은 또한 사용자의 가상 어시스턴트 계정을 관리하는 가상 어시스턴트 관리 시스템(160)에 데이터를 제공할 수 있다.
스마트 디바이스 컨트롤 선택기(130)는 또한 모바일 디바이스(110)의 위치, 예를 들어 모바일 디바이스(110)의 지리적 위치에 기초하여 사용자 인터페이스 컨트롤을 선택할 수 있다. 예를 들어, 모바일 디바이스(110)는 모바일 디바이스(110)의 지리적 위치를 결정하고, 모바일 디바이스(110)의 위치를 지정하는 가상 어시스턴트 애플리케이션(116) 위치 데이터(124)를 제공하는 GPS 수신기를 포함할 수 있다. 스마트 디바이스 컨트롤 선택기(130)는 지리적 위치를 사용하여 모바일 디바이스가 사용자의 가상 어시스턴트 제어 디바이스가 위치하는 그들의 집과 같은 알려진 위치에 있는지 또는 사용자가 등록된 가상 어시스턴트 제어 디바이스를 가지고 있는 다른 영역에 있는지 여부를 결정할 수 있다. 모바일 디바이스(110)가 가상 어시스턴트 제어 디바이스와 연관된 홈 네트워크와 같은 이들 위치 중 하나에 있을 때(또는 그로부터 임계 거리 내에 있을 때), 스마트 디바이스 컨트롤 선택기(130)는 식별된 스마트 디바이스가 각각 동일 네트워크에 연결되어 있는 경우 가상 어시스턴트 제어 디바이스에 그들을 등록할 수 있다.
스마트 디바이스 컨트롤 선택기(130)는 식별된 스마트 디바이스 또는 유사 스마트 디바이스에 대한 사용자 인터페이스 컨트롤을 사용한 사용자의 이력에 기초하여 식별된 스마트 디바이스를 제어하기 위한 사용자 인터페이스 컨트롤을 선택할 수 있다. 스마트 디바이스 컨트롤 선택기(130)는 또한 사용자에 의해 지정된 사용자 인터페이스 컨트롤에 대한 선호도에 기초하여 식별된 스마트 디바이스에 대한 사용자 인터페이스 컨트롤을 선택할 수 있다. 예를 들어, 사용자는 특정 상황에서 사용자가 선호하는 사용자 인터페이스 컨트롤을 선택할 수 있다. 특정 예에서, 가상 어시스턴트 애플리케이션(116)은 동일한 객체 또는 동일한 객체 클래스에 대한 다양한 사용자 인터페이스 컨트롤을 생성할 수 있다. 사용자는 다양한 사용자 인터페이스 컨트롤 사이에서 선택할 수 있고 가상 어시스턴트 애플리케이션(116)은 사용자의 선택을 저장할 수 있다.
일부 양태에 따르면, 가상 어시스턴트 애플리케이션(116)은 본 명세서에서 논의된 하나 이상의 프로세스를 수행하기 위해 네트워크(150)를 통해 가상 어시스턴트 관리 시스템(160)으로 이미지 데이터(123) 및/또는 위치 데이터(124)를 전송할 수 있다. 예를 들어, 이미지 데이터(123)와 위치 데이터(124)를 사용하여, 가상 어시스턴트 관리 시스템(160)은 수신된 이미지 데이터가 스마트 디바이스를 묘사하는지 여부를 결정하고, 이미지 데이터(123)가 캡처된 시점의 모바일 디바이스(110)의 위치가 사용자의 계정에 등록된 가상 어시스턴트 제어 디바이스(예를 들어, 스마트 스피커)의 위치의 임계 거리 내에 있는지 결정하고, 모바일 디바이스(110)가 가상 어시스턴트 제어 디바이스의 임계 거리 내에 있는 경우 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 선택할 수 있다. 가상 어시스턴트 애플리케이션(116)은 하나 이상의 픽셀 데이터 세트를 가상 어시스턴트 관리 시스템(16Q)으로 전송할 수 있다. 픽셀 데이터 세트(들)는 스마트 디바이스 컨트롤을 선택하는데 사용되는 뷰 파인더에 대한 픽셀 데이터 및/또는 이미지 스마트 디바이스 컨트롤이 선택된 후에 캡처된 픽셀 데이터 세트를 포함할 수 있다. 예를 들어, 가상 어시스턴트 애플리케이션(116)은 먼저 스마트 디바이스 컨트롤을 선택하는데 사용되는 픽셀 데이터 세트(들)를 전송할 수 있다. 뷰 파인더가 나중에 다른 스마트 디바이스를 포인팅하는 경우, 가상 어시스턴트 애플리케이션(116)은 다른 스마트 디바이스에 대한 픽셀 데이터를 가상 어시스턴트 관리 시스템(160)으로 전송할 수 있다.
가상 어시스턴트 관리 시스템(160)은 하나 이상의 프런트 엔드 서버(161) 및 하나 이상의 백 엔드 서버(162)를 포함한다. 프런트 엔드 서버들(161)은 모바일 디바이스들(110)로부터 데이터를 수신하여 데이터를 백 엔드 서버들(162)에 제공할 수 있다. 프런트 엔드 서버들(161)은 또한 데이터 수신에 응답하여 모바일 디바이스들(110)에 컨텐츠를 전송할 수 있다.
백엔드 서버들(162)은 모바일 디바이스들(110)로부터 수신된 데이터에 기초하여 모바일 디바이스들(110)에 사용자 인터페이스 컨트롤을 선택하여 제공하는 스마트 디바이스 컨트롤 선택 엔진(165)을 포함한다. 본 명세서에서 사용되는 바와같이, 용어 엔진은 일련의 작업을 수행하는 데이터 처리 장치를 의미한다. 스마트 디바이스 컨트롤 선택 엔진(165)은 복수의 스마트 디바이스 및/또는 그 스마트 디바이스들의 클래스에 대한 사용자 인터페이스 컨트롤을 저장하는 스마트 디바이스 컨트롤 저장 유닛(166)(예를 들어, 하나 이상의 하드 드라이브, 플래시 메모리 등)으로부터 사용자 인터페이스 컨트롤을 선택할 수 있다. 스마트 디바이스 컨트롤 선택 엔진(165)은 가상 어시스턴트 애플리케이션(116)의 객체 인식기(125) 및 스마트 디바이스 컨트롤 선택기(130)와 동일하거나 유사한 동작들을 수행할 수 있다. 예를 들어, 스마트 디바이스 컨트롤 선택 엔진(165)은 이미지 데이터(123)가 스마트 디바이스(또는 스마트 디바이스용 물리적 컨트롤)를 포함하는지 여부를 결정하고, 그런 경우 인식된 스마트 디바이스에 대한 사용자 인터페이스 컨트롤을 선택할 수 있는 객체 인식 모듈을 포함할 수 있다.
예를 들어, 만약 모바일 디바이스(110)로부터 수신된 이미지 데이터(123)가 가상 어시스턴트 제어 디바이스(예를 들어, 스마트 스피커)의 이미지를 나타내고, 모바일 디바이스(110)로부터 수신된 오디오가 음악을 나타내는 경우, 스마트 디바이스 컨트롤 선택 엔진(165)은 모바일 디바이스(110)로부터 수신된 이미지 데이터(123)가 조명의 이미지 또는 조명 컨트롤러(예를 들어, 물리적 조명 스위치)를 나타내면 음성 어시스턴트 디바이스가 나타내는 스마트 디바이스 컨트롤을 식별하고, 특정 음성 어시스턴트 디바이스와 관련된 오디오를 위한 스마트 디바이스 컨트롤(예를 들어, 도 2에 도시된 바와같이, 조정 가능한 볼륨 토글, 앞으로, 뒤로, 제목, 좋아요/싫어요 버튼 등)을 선택할 수 있으며, 스마트 디바이스 컨트롤 선택 엔진(165)은 조명을 제어하기 위한 사용자 인터페이스 컨트롤(예를 들어, 도 3에 도시된 바와 같이 조정 가능한 가상 조광기 토글, ON/OFF 버튼 등)를 선택할 수 있다.
일부 실시예에서, 스마트 디바이스 컨트롤 선택 엔진(165)이 사용자 인터페이스 컨트롤을 생성하는 특정 스마트 디바이스는 가상 어시스턴트 제어 디바이스의 등록된 사용자인 모바일 디바이스(110)의 사용자 계정에 등록된 것으로 결정되고, 사용자 인터페이스 컨트롤은 가상 어시스턴트 제어 디바이스가 제어할 수 있는 음성 활성 컨트롤(voice activated controls)과 연관된다.
백엔드 서버(162)는 또한 사용자들의 계정을 관리하는 계정 관리 엔진(167)을 포함한다. 계정 관리 엔진(167)은 계정을 가진 각 사용자에 대해, 사용자의 가상 어시스턴트 제어 디바이스들 및 그 가상 어시스턴트 제어 디바이스들에 의해 제어되도록 등록된 스마트 디바이스들을 지정하는 등록 데이터(168)를 저장할 수 있다. 계정 관리 엔진(167)은 각 사용자의 가상 어시스턴트 애플리케이션(116)으로부터 그 데이터를 수신할 수 있다. 각 스마트 디바이스의 등록 데이터는 디바이스의 이름, 디바이스의 클래스, 디바이스의 기능, 디바이스가 제어되는 방법(예를 들어, 가상 어시스턴트 제어 디바이스와 그 디바이스 간의 무선 연결을 통해), 디바이스의 이미지, 및/또는 디바이스를 제어하기 위한 물리적 컨트롤의 이미지를 포함할 수 있다.
백엔드 서버들(162)은 스마트 디바이스 컨트롤 선택 엔진(165)에 의해 선택된 사용자 인터페이스 컨트롤을 프론트 엔드 서버들(161)로 제공할 수 있다. 프런트 엔드 서버들(161)은 스마트 디바이스 컨트롤을 선택하기 위해 사용된 데이터가 수신된 모바일 디바이스(110)로 스마트 디바이스 컨트롤을 차례로 제공할 수 있다.
일부 실시예에서, 백엔드 서버(162)는 모바일 디바이스들(110)로부터 수신된 데이터에 응답하여 등록 파일을 선택하여 모바일 디바이스들(110)에 제공하는 스마트 디바이스 등록 엔진을 포함할 수 있다. 스마트 디바이스 등록 엔진은 복수의 스마트 디바이스에 대한 등록 파일을 선택할 수 있다. 예를 들어, 스마트 디바이스 컨트롤 선택 엔진(165)이 픽셀 데이터에 표현된 스마트 디바이스를 식별할 수 있는 경우, 스마트 디바이스 등록 엔진은 등록 파일이 모바일 디바이스(110)의 사용자의 계정을 갖는 해당 스마트 디바이스와 연관되어 있는지 여부를 결정할 수 있다. 예를 들어, 스마트 디바이스용 OEM(Original Equipment Manufacturer)은 일부 실시예에서 사용자가 홈 네트워크를 통해 디바이스를 등록하도록 요구할 수 있고, OEM은 사용자의 가상 어시스턴트 제어 디바이스를 통해 스마트 디바이스를 연결하고 등록할 수 있거나 OEM이 관리하는 네이티브 애플리케이션 또는 웹 브라우저를 통해 스마트 디바이스에 액세스할 수 있다. 일부 양태에서, 가상 어시스턴트 관리 시스템(16Q)은 OEM이 사용자의 홈 네트워크를 통해 액세스하도록 허용하는 등록 파일을 저장할 수 있다.
일부 실시예에서, 가상 어시스턴트 관리 시스템(160)은 특정 스마트 디바이스가 모바일 디바이스(110)의 사용자의 계정에 등록되어 있는지 여부를 결정함으로써 관련 가상 어시스턴트 제어 디바이스없이 가상 어시스턴트 애플리케이션(116)을 통해 특정 모바일 디바이스들(110)이 스마트 디바이스를 제어하도록 할 수 있다. 일부 구현에서, 사용자는 그 특정 스마트 디바이스에 액세스하기 위해 등록 파일에서 권한을 부여 받아야할 수 있다. 예를 들어, 사용자는 가상 어시스턴트 제어 디바이스를 통해 연결하지 않고 OEM 설정 프로세스를 통해 스마트 디바이스 조명 컨트롤러를 설정할 수 있다. 가상 어시스턴트 애플리케이션(116)은 스마트 디바이스 등록 엔진에 액세스하여 식별된 스마트 디바이스와 관련된 등록 파일을 검색할 수 있으며, 모바일 디바이스(110)의 위치 데이터(124) 및 등록 파일내의 사용자와 관련된 계정 정보에 기초하여 스마트 디바이스 조명 컨트롤러를 제어할 수 있다. 일부 실시예에서, 가상 어시스턴트 애플리케이션은 모바일 디바이스에 등록 파일을 저장할 수 있다.
가상 어시스턴트 애플리케이션(116)은 그래픽 사용자 인터페이스를 생성하고 제시하는 사용자 인터페이스 생성기(135)를 포함한다. 사용자 인터페이스는 카메라(111) 용 뷰 파인더에 표현된 이미지 데이터(123)에서 인식된 스마트 디바이스들을 제어하기 위한 사용자 인터페이스 컨트롤을 포함할 수 있다. 위에서 논의된 바와 같이, 가상 어시스턴트 애플리케이션(116)의 사용자 인터페이스들은 카메라(111) 용 뷰 파인더를 제시할 수 있다. 도 1b에 도시된 바와 같이, 스마트 디바이스 컨트롤 선택기(130)는 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 선택한 후, 인터페이스 컨트롤 식별 데이터(131)를 생성하여 사용자 인터페이스 생성기(135)로 전송한다. 인터페이스 컨트롤 식별 데이터(131)는 인터페이스 생성기(135)가 그 선택된 사용자 인터페이스 컨트롤을 제시하기 위해 사용할 수 있는 선택된 사용자 인터페이스 컨트롤(예를 들어, 다른 유형의 컨트롤, 컨트롤로서 사용되는 다른 아이콘, 다른 레이아웃 등)의 데이터를 포함한다. 사용자 인터페이스 생성기(135)는 인터페이스 컨트롤 식별 데이터(131)에 적어도 부분적으로 기초하여 모바일 디바이스(110)의 사용자 인터페이스(136)를 생성, 업데이트 및 디스플레이에 제시한다. 예를 들어, 사용자 인터페이스 생성기(135)는(예를 들어, 카메라(111)의 뷰 파인더에) 라이브 이미지에 대해 선택된 사용자 인터페이스 컨트롤을 제시할 수 있다.
사용자 인터페이스 생성기(135)는 사용자 인터페이스를 정의하고 프레젠테이션 데이터(138)를 모바일 디바이스(110)의 디스플레이(145)로 출력하는 프레젠테이션 데이터(138)를 생성할 수 있다. 프리젠테이션 데이터(138)는 디스플레이가 사용자 인터페이스(135)의 특정 위치에 사용자 인터페이스 컨트롤을 제시하게 하는 데이터를 포함할 수 있다. 예를 들어, 프리젠테이션 데이터(138)는 사용자 인터페이스 컨트롤이 사용자 인터페이스(136)에 제시될 위치를 (예를 들어, 픽셀 좌표를 사용하여) 지정할 수 있다. 사용자 인터페이스 컨트롤들의 위치는 인식된 스마트 디바이스 근처, 예를 들어 뷰 파인더에서 인식된 스마트 디바이스의 아래 또는 근처에 제시될 수 있다. 다른 예에서, 사용자 인터페이스 컨트롤들은 뷰 파인더에 인접하여 아래에 제시될 수 있다.
그런 다음 사용자는 일부 구현에서 스마트 디바이스를 제어하기 위해 사용자 인터페이스 컨트롤과 상호 작용할 수 있으며, 가상 어시스턴트 애플리케이션(116)은 사용자 상호 작용을 검출하고 그 사용자 상호 작용을 지정하는 데이터를 사용자의 가상 어시스턴트 제어 디바이스로 제공한다. 예를 들어, 모바일 디바이스(110)는 무선 네트워크를 통해 가상 어시스턴트 제어 디바이스로 데이터를 전송할 수 있다. 이어서 가상 어시스턴트 제어 디바이스는 무선 네트워크를 통해 디바이스를 제어할 수 있다. 또 다른 예에서, 가상 어시스턴트 제어 디바이스는 제어 데이터를 가상 어시스턴트 관리 시스템(160)에 전송할 수 있으며, 이는 제어 데이터에 기초하여 예를 들어 네트워크(150)를 통해 제어 데이터를 스마트 디바이스로 전송함으로써 스마트 디바이스를 제어한다.
일부 구현에서, 가상 어시스턴트 애플리케이션(116)은 예를 들어 데이터를 가상 어시스턴트 제어 디바이스로 전송하지 않고 네트워크(150)를 통해 가상 어시스턴트 관리 시스템(160)으로 제어 데이터를 전송한다. 그런 다음 가상 어시스턴트 관리 시스템(160)은 전술한 바와 같이 제어 데이터를 스마트 디바이스로 전송할 수 있다.
일부 구현에서, 가상 어시스턴트 애플리케이션(116)은 다수의 사용자가 서로 통신하고 통신 목적을 위해 식별된 객체에 메시지 또는 다른 컨텐츠 미디어를 남길 수 있도록 할 수 있다. 예를 들어, 동일한 홈 네트워크(또는 동일한 가상 어시스턴트 계정)의 사용자들은 냉장고와 같은 식별된 객체를 등록하고, 다른 사용자 또는 다수의 사용자가 가상 어시스턴트 애플리케이션(116)을 사용하여 뷰 파인더를 액세스하여 그 안에서 볼 수 있도록 (예를 들어, 증강 현실 기술 사용한) 가상 노트를 배치할 수 있다. 일부 실시예에서, 사용자는 가상 노트에 액세스할 특정 사용자를 지정할 수 있거나, 사용자는 홈 네트워크의 모든 사람이 가상 노트를 보도록 허용할 수 있다.
도 2는 수신된 이미지 데이터에 기초하여 식별된 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 제시하는 모바일 디바이스의 예시적인 스크린 샷(210 및 220)의 시퀀스를 도시한다. 제 1 스크린 샷(210)은 이 예에서 모바일 디바이스의 예시적인 사용자 인터페이스(212)를 묘사하며, 사용자는 사용자 인터페이스(212)에 제시된 카메라의 뷰 파인더를 통해 음성 어시스턴트 디바이스(215)(예를 들어, 스마트 스피커)를 보고 있으며, 음성 어시스턴트 디바이스(215)는 음악을 재생하고 있다. 사용자 인터페이스(212)는 가상 어시스턴트 애플리케이션, 예를 들어 도 1의 가상 어시스턴트 애플리케이션(116)에 의해 생성되고 제시될 수 있다.
제 2 스크린 샷(22G)은 가상 어시스턴트 애플리케이션(116)에 대한 사용자 인터페이스(222)를 제시한다. 이 예에서, 사용자 인터페이스(222)는 사용자 인터페이스(222)의 현재 뷰에 오버레이된 사용자 인터페이스 컨트롤들(224)을 제시한다. 특히, 사용자 인터페이스 컨트롤들(224)은 이 예에서 음성 어시스턴트 디바이스(215)인 식별된 객체 주위에 윈도우를 제시한다. 가상 어시스턴트 애플리케이션(116)은 뷰 파인더를 나타내는 이미지 데이터로부터 음성 어시스턴트 디바이스(215)를 식별할 수 있다. 전술한 바와 같이, 가상 어시스턴트 애플리케이션(116)은 또한 모바일 디바이스의 위치가 사용자의 음성 어시스턴트 디바이스의 위치의 임계 거리 내에 있는지 여부에 기초하여 음성 어시스턴트 디바이스에 대한 사용자 인터페이스 컨트롤을 제시할지 여부를 결정할 수 있다.
사용자 인터페이스 컨트롤(224) 내에는 음악의 오디오를 제어하기 위한 다수의 예시적인 스마트 디바이스 컨트롤이 있다. 특히, 음성 어시스턴트 디바이스(215)의 볼륨 레벨을 제어하기 위해 볼륨 토글 바(226)가 도시된다. 또한, 음악 제어 버튼들(228)은 이에 한정되지 않지만 일시 중지/재생 버튼, 좋아요 및 싫어요 버튼, 이전 노래 버튼, 다음 노래 버튼, 및 현재 재생중인 오디오의 특정 지점으로 이동하기 위한 플레이스홀더 토글 바를 포함하여 사용자에게 제시될 수 있는 여러 다른 옵션과 함께 도시된다. 현재 재생중인 오디오의 특정 지점으로 이동한다. 음악 제어 버튼들(228)의 옵션은 음성 어시스턴트 디바이스(215)에 의해 사용되는 특정 음악 애플리케이션에 따라 달라질 수 있다. 일부 양태에서, 이용 가능한 버튼들은 모든 음악 재생 애플리케이션에 일반적(generic)일 수 있다. 일부 양태에서, 버튼들은 특정 음악 재생 애플리케이션에 맞춤화될 수 있고 가상 어시스턴트 관리 시스템(160)에 의해 업데이트될 수 있다.
가상 어시스턴트 애플리케이션(116)은 음성 어시스턴트 디바이스(215)의 컨텍스트에 기초하여 음악 컨트롤을 선택할 수 있다. 예를 들어, 가상 어시스턴트 애플리케이션(116)은 음성 어시스턴트 디바이스(215)와 통신할 수 있고 현재 동작 모드, 음성 어시스턴트 디바이스(215)에 의해 수행되는 현재 작업, 또는 음성 어시스턴트 디바이스(215)에 의해 현재 사용중인 애플리케이션(예를 들어, 음악 애플리케이션)을 요청할 수 있다. 음성 어시스턴트 디바이스(215)는 현재 동작 모드 또는 수행중인 현재 작업을 지정하는 데이터를 가상 어시스턴트 애플리케이션(116)으로 제공할 수 있으며, 가상 어시스턴트 애플리케이션(116)은 사용자가 현재 동작 모드 또는 현재 작업을 제어할 수 있도록 하는 사용자 인터페이스 컨트롤들을 선택할 수 있다. 이 예에서, 음성 어시스턴트 디바이스(215)는 음악을 재생하고 있고, 가상 어시스턴트 애플리케이션(116)은 음성 어시스턴트 디바이스(215)가 음악을 재생하고 있음을 지정하는 데이터의 수신에 응답하여 음악 컨트롤을 선택한다. 일부 구현에서, 가상 어시스턴트 애플리케이션(116)은 음성 어시스턴트 디바이스(215)가 검출된 오디오에 기초하여 음악을 재생하고 있다고 결정할 수 있다.
만약 사용자가 음악 제어 버튼들(228)과 상호 작용(예를 들어, 선택)하면, 가상 어시스턴트 애플리케이션(116)은 음악 재생 애플리케이션을 제어하기 위해 음성 어시스턴트 디바이스(215)와 통신할 수 있다. 일부 양태에 따르면, 사용자가 뷰 파인더를 음성 어시스턴트 디바이스(215)로부터 멀리 이동시키면, 가상 어시스턴트 애플리케이션(116)은 더 이상 이미지 데이터에서 스마트 디바이스, 특히 음성 어시스턴트 디바이스(215)를 검출하지 않기 때문에 사용자 인터페이스(222)로부터 사용자 인터페이스 컨트롤(224)을 제거할 것이다. 일부 양태에서, 가상 어시스턴트 애플리케이션(116)은 사용자 인터페이스(222)에서 음성 어시스턴트 디바이스(215)의 이미지를 정지(freeze)시킬 수 있다. 예를 들어, 가상 어시스턴트 애플리케이션(116)은 상호 작용할 때, 가상 어시스턴트 애플리케이션(116)이 이미지를 정지하게 하는 잠금 화면 또는 잠금 이미지 버튼을 사용자에게 제시할 수 있다. 이 예에서, 사용자는 카메라를 스마트 디바이스로 직접 포인팅하지 않고도 모바일 디바이스(110)를 이동할 수 있지만, 사용자 인터페이스 컨트롤(224)을 사용하여 스마트 디바이스를 계속 제어할 수 있다. 일부 구현에서, 가상 어시스턴트 애플리케이션(116)은 사용자가 음성 어시스턴트 디바이스(215)를 제어하기 위해 컨트롤들을 사용하기를 원한다는 것을 보여주기 때문에 컨트롤 중 하나와의 사용자 상호 작용에 응답하여 이미지를 정지시킬 수 있다.
일부 양태에서, 사용자 인터페이스 컨트롤(224)은 가상 어시스턴트 애플리케이션(116)이 컨텐츠를 식별하려고 시도하고 있음을 나타내는 컨텐츠 또는 애니메이션을 제시할 수 있다. 예를 들어, 사용자 인터페이스(222)는 가상 어시스턴트 애플리케이션이 사용자에게 프리젠테이션하기 위해 스마트 디바이스 컨트롤을 식별하고 있음을 신호하는 루프 또는 다른 애니메이션으로 애니메이션되는 트로버(throbber) 애니메이션을 제공할 수 있다.
도 3은 식별된 스마트 디바이스를 수신된 이미지 데이터에 기초하여 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 제시하는 모바일 디바이스의 예시적인 스크린 샷(310, 320 및 330)의 다른 시퀀스를 도시한다. 제1 스크린 샷(310)은 모바일 디바이스의 예시적인 인터페이스(312)를 묘사한다. 이 예에서, 사용자는 뷰 파인더를 통해 스마트 디바이스에 대한 물리적 컨트롤(315)을 보고 있다. 이 예에서, 스마트 디바이스는 스마트 조명이고 물리적 컨트롤(315)은 조명 스위치이다.
제2 스크린 샷(320) 및 제3 스크린 샷(330)은 각각 가상 어시스턴트 애플리케이션(116)에 대한 사용자 인터페이스(322 및 332)를 제시한다. 이들 예에서, 사용자 인터페이스(322 및 332)는 사용자 인터페이스(322)의 현재 뷰에 오버레이된 사용자 인터페이스 컨트롤들(324)을 제시한다. 특히, 사용자 인터페이스 컨트롤들(324)은 스마트 조명에 대한 물리적 컨트롤(315) 아래에 위도우를 제시한다. 가상 어시스턴트 애플리케이션(116)은 모바일 디바이스의 카메라 용 뷰 파인더를 나타내는 이미지 데이터로부터 물리적 컨트롤(315)를 식별했다. 도시된 바와 같이, 사용자 인터페이스 컨트롤(324) 내에, 스마트 디바이스(315)의 조명을 제어하기 위한 3개의 예시적인 스마트 디바이스 컨트롤이 있다. 도시된 바와 같이, 스크린 샷(32Q)은 이전에 사용자에 의해 초기에 ON"으로 선택된(또는 스마트 조명의 현재 상태를 표현하는) 것과 같은 조명 컨트롤을 갖는 스마트 디바이스(315)를 도시한다. 일부 예에서, 사용자는 ON”토글 버튼(325)을 선택하여 조명 컨트롤을 턴온할 수 있다. 만약, 모바일 디바이스의 사용자가 스크린 샷(330)에 도시된 바와 같이 조명을 턴오프하기 위해 가상 어시스턴트 애플리케이션(116)을 사용하기로 선택하면 사용자는 OFF”토글 버튼(325)을 선택한다. 또한, 스마트 조명의 디밍 레벨을 제어하기 위해 디밍 토글 바(326)가 도시된다.
이들 예에서, 스마트 디바이스(315)는 사용자의 계정으로 등록되었으며, 도 2의 음성 어시스턴트 디바이스(215)와 같은 가상 어시스턴트 제어 디바이스와 통신하고 그에 의해 제어될 수 있다. 가상 어시스턴트 애플리케이션(116)은 사용자의 모바일 디바이스의 카메라로부터 이미지 데이터를 수신하고 수신된 이미지 데이터가 스마트 디바이스를 묘사하는지 결정할 것이다. 다음으로, 가상 어시스턴트 애플리케이션(116)은 이미지 데이터가 캡처된 시점에서 모바일 디바이스의 위치가 도 2의 음성 어시스턴트 디바이스(215)와 같은 가상 어시스턴트 제어 디바이스의 위치의 임계 거리 내에 있는지 결정할 수 있다. 또한, 가상 어시스턴트 애플리케이션(116)은 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 식별하여, 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤(즉, 인터페이스 제어(324))를 제시할 수 있다.
일부 양태에 따르면, 이용 가능한 버튼들은 모든 조명 제어 스마트 디바이스에 일반적일 수 있다. 일부 양태에서, 버튼들은 특정 조명 제어 스마트 디바이스들에 맞춤화될 수 있고 가상 어시스턴트 관리 시스템(160)에 의해 업데이트될 수 있다.
일부 양태에 따르면, 다른 스마트 디바이스 컨트롤이 이용 가능하다면(예를 들어, 제2 조명 컨트롤러와 같은 제2 스마트 디바이스가 이미지 데이터에 있음), 사용자 인터페이스(322)는 사용자가 다른 스마트 디바이스 컨트롤을 선택할 수 있도록하는 사용자 인터페이스 컨트롤을 포함할 수 있다.
일부 양태에 따르면, 이미지 데이터에 있는 스마트 디바이스는 스토브 또는 전자 레인지와 같은 기기의 타이머 또는 시계이다. 이 예에서, 가상 어시스턴트 애플리케이션(116)은 타이머를 설정하기 위한 사용자 인터페이스 컨트롤을 제시하거나, 시계의 시간을 신속하게 변경하거나 스마트 디바이스의 알람을 설정하기 위한 간편 컨트롤(easy controls)을 제공할 수 있다.
일부 양태에 따르면, 이미지 데이터에 있는 스마트 디바이스는 디스플레이 디바이스상에 제시되거나 배경상에 투사되는 디지털 대시 보드 애플리케이션이다. 예를 들어, 스마트 디바이스는 가상 대시 보드(예를 들어, 날씨, 뉴스, 스포츠, 금융 등)를 제시하는 거실 벽의 프로젝터를 사용할 수 있다. 모바일 디바이스는 대시 보드의 이미지 데이터를 획득하고, 대시 보드를 업데이트하거나 변경하기 위한 인터페이스 컨트롤을 제시할 수 있는 가상 어시스턴트 애플리케이션(116)에 그 데이터를 제공할 것이다.
도 4는 가상 어시스턴트 애플리케이션을 사용하여 스마트 디바이스를 식별하고 그 식별된 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 제시하기 위한 예시적인 프로세스(4QQ)의 흐름도이다. 프로세스(400)의 동작들은 예를 들어, 도 1a 및 도 1b의 모바일 디바이스(110)와 같은 하나 이상의 데이터 처리 장치에 의해 수행될 수 있다. 프로세스(400)의 동작들은 또한 비-일시적 컴퓨터 판독 가능 매체에 저장된 명령들로서 구현될 수 있다. 그 명령들의 실행은 하나 이상의 데이터 처리 장치로 하여금 프로세스(400)의 동작들을 수행하게 한다.
사용자의 모바일 디바이스의 카메라로부터 이미지 데이터가 수신된다(402). 본 명세서에 설명된 바와 같이, 가상 어시스턴트 애플리케이션(116)의 객체 인식기(125)는 모바일 디바이스의 카메라의 뷰 파인더에 대한 픽셀 데이터(예를 들어,도 1b에 도시된 이미지 데이터(123))를 수신할 수 있다. 이미지 데이터는 단일 이미지 또는 스트리밍 라이브 비디오와 같은 연속 이미지일 수 있다.
이미지 데이터가 모바일 디바이스의 카메라로부터 수신된 후, 그 수신된 이미지 데이터가 스마트 디바이스를 나타내는지 아니면 스마트 디바이스에 대한 물리적 컨트롤을 나타내는지에 대한 결정이 수행된다(404). 스마트 디바이스는 가상 어시스턴트 제어 디바이스(예를 들어, 음성 어시스턴트 디바이스) 또는 다른 유형의 스마트 디바이스일 수 있다. 예를 들어, 스마트 디바이스는 예를 들어, 사용자의 가상 어시스턴트 계정에 스마트 디바이스를 등록하거나 스마트 디바이스를 제어하도록 가상 어시스턴트 제어 디바이스를 구성함으로써 가상 어시스턴트 제어 디바이스에 의해 제어될 수 있는 스마트 디바이스일 수 있다. 전술한 바와 같이, 모바일 디바이스상의 가상 어시스턴트 애플리케이션은 스마트 디바이스 또는 스마트 디바이스에 대한 물리적 컨트롤이 이미지 데이터에 묘사되는지 여부를 결정할 수 있다. 일부 양태에서, 이미지 데이터는 원격 시스템, 예를 들어 가상 어시스턴트 관리 시스템에 의해 분석될 수 있으며, 그 결과는 모바일 디바이스로 다시 전송된다.
일부 양태에 따르면, 스마트 디바이스가 이미지 데이터에 묘사된 것으로 결정되면, 이미지가 모바일 디바이스에 제시되는 시점에 모바일 디바이스가 사용자의 계정에 등록된 가상 어시스턴트 제어 디바이스를 제어할 수 있는지 여부에 대한 결정이 수행된다. 예를 들어, 결정은 이미지가 제시된 시점의 모바일 디바이스가 가상 어시스턴트 제어 디바이스의 임계 거리 내에 있는지 여부에 기초할 수 있다. 전술한 바와같이, 모바일 디바이스는 가상 어시스턴트 제어 디바이스(예를 들어, 음성 어시스턴트 디바이스)가 모바일 디바이스의 위치의 사전 결정된 거리에 거의 근접하거나 사전 결정된 거리내 에 있는지 여부를 결정할 수 있는 가상 어시스턴트 애플리케이션으로 위치 데이터를 전송할 수 있다. 예를 들어, 가상 어시스턴트 애플리케이션은 모바일 디바이스의 위치를 가상 어시스턴트 제어 디바이스의 위치와 비교할 수 있다. 가상 어시스턴트 제어 디바이스의 위치는 다른 예에서 (예를 들어, 가상 어시스턴트 제어 디바이스가 처음 등록될 때 결정된) 지정 위치일 수 있으며, 가상 어시스턴트 제어 디바이스는 (예를 들어, 가상 어시스턴트 제어 디바이스에 설치된 GPS 수신기를 사용하여) 그의 현재 위치를 식별하는 데이터를 모바일 디바이스 또는 (가상 어시스턴트 애플리케이션이 그 위치 데이터를 획득할 수 있는) 가상 어시스턴트 관리 시스템으로 전송할 수 있다. 상기 위치 데이터 및 스마트 디바이스가 사용자의 가상 어시스턴트 제어 디바이스의 소정 거리 내에 있는지 여부에 대한 결정은 원격 시스템, 예를 들어 가상 어시스턴트 관리 시스템에 의해 이루어질 수 있으며, 그 결정은 모바일 디바이스로 다시 전송된다.
일부 양태에 따르면, 수신된 이미지가 사용자의 계정에 등록된 스마트 디바이스를 묘사하는지 결정하는 것은 이미지 데이터가 사용자의 가상 어시스턴트 제어 디바이스의 이미지를 묘사하는지 결정하는 것을 포함한다. 일부 양태에 따르면, 가상 어시스턴트 제어 디바이스는 사용자로부터 음성 명령을 수신하고 가상 어시스턴트 스마트 스피커 디바이스의 스피커를 사용하여 사용자에게 정보를 제공하는 가상 어시스턴트 스마트 스피커 디바이스를 포함한다.
일부 양태에 따르면, 수신된 이미지가 사용자의 계정에 등록된 스마트 디바이스를 묘사하는지 결정하는 것은 이미지가 사용자의 가상 어시스턴트 제어 디바이스에 의해 제어되는 스마트 디바이스를 묘사하는지 결정하는 것을 포함한다. 예를 들어, 가상 어시스턴트 애플리케이션은 음성 어시스턴트 디바이스와 통신하여 음성 어시스턴트 디바이스가 페어링된 스마트 디바이스와 같이 제어할 수 있는 스마트 디바이스를 결정할 수 있다.
일부 양태에 따르면, 수신된 이미지가 사용자의 계정에 등록된 스마트 디바이스를 묘사하는지 결정하는 것은 사용자의 가상 어시스턴트 계정에 등록된 스마트 디바이스들, 예를 들어, 사용자가 제어할 가상 어시스턴트 제어 디바이스를 구성한 스마트 디바이스들을 지정하는 데이터를 획득하는 것을 포함한다. 이미지에서 식별된 스마트 디바이스(또는 물리적 컨트롤)가 등록된 스마트 디바이스(또는 등록된 스마트 디바이스의 물리적 컨트롤)와 매칭하는 경우, 가상 어시스턴트 애플리케이션은 사용자가 등록된 스마트 디바이스에서 모바일 디바이스의 카메라를 포인팅하고 있다고 결정할 수 있다.
스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤은 이미지가 스마트 디바이스 또는 스마트 디바이스에 대한 물리적 컨트롤 중 적어도 하나를 묘사한다는 결정에 응답하여 식별된다(408). 상술한 바와 같이, 스마트 디바이스 컨트롤 선택기가 이미지 데이터가 캡처된 시점의 모바일 디바이스의 위치가 사용자의 계정에 등록된 가상 어시스턴트 제어 디바이스의 위치의 거리 내에 있다고 결정한 후, 스마트 디바이스 컨트롤 선택기는 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 식별하고 인터페이스 컨트롤 식별 데이터를 생성한다. 인터페이스 컨트롤 식별 데이터에는 식별된 스마트 디바이스를 제어할 수 있는 소정 컨트롤들을 지정하는 데이터가 포함된다. 사용자 인터페이스 컨트롤들은 원격 시스템(예를 들어, 가상 어시스턴트 관리 시스템)에 의해 선택되어 모바일 디바이스로 전송될 수 있다.
일부 양태에 따르면, 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 식별하는 것은 가상 어시스턴트 제어 디바이스가 현재 수행하고 있는 태스크 또는 서비스를 결정하는 것 및 특정 태스크 또는 서비스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 선택하는 것을 포함한다. 예를 들어, 가상 어시스턴트 제어 디바이스가 스마트 스피커이고 스마트 스피커가 디바이스를 가전기기를 제어하는 경우, 그 가전기기를 제어를 위한 컨트롤이 선택될 수 있다.
스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤이 생성되어 모바일 디바이스의 사용자에게 제시된다(408). 전술한 바와같이, 인터페이스 컨트롤 식별 데이터는 인터페이스 컨트롤 식별 데이터에 의해 지정된 각 사용자 인터페이스 컨트롤(들)이 관심 스마트 장치에 속하도록 인터페이스 생성기에 의해 수신되고, 인터페이스 생성기는 모바일 디바이스의 사용자 인터페이스상에 중첩 된 사용자 인터페이스 컨트롤을 제시하는 프레젠테이션 데이터를 생성한다. 일부 양태에서, 연속 비디오(예를 들어, 라이브 피드)에 대해, 사용자 인터페이스 컨트롤들은 이미지 데이터에서 스마트 디바이스가 식별되는 동안에만 사용자 인터페이스상에 중첩된다. 사용자 인터페이스 컨트롤들은 원격 시스템, 예를 들어 가상 어시스턴트 관리 시스템에 의해 선택될 수 있으며 디스플레이를 위해 모바일 디바이스에 프레젠테이션 데이터로서 전송될 수 있다.
하나 이상의 사용자 인터페이스 컨트롤 중 적어도 하나와의 사용자 상호 작용이 모바일 디바이스의 디스플레이에서 검출된다(410). 예를 들어, 가상 어시스턴트 애플리케이션은 상호 작용을 검출하고 그 상호 작용에 기초하여 수행될 대응하는 동작을 결정할 수 있다.
하나 이상의 사용자 인터페이스 컨트롤 중 적어도 하나와의 검출된 사용자 상호 작용에 기초하여, 스마트 디바이스가 제어된다(412). 전술한 바와 같이 사용자가 인터페이스 컨트롤과 상호 작용하면, 사용자는 사용자 상호 작용에 기초하여 특정 스마트 디바이스를 제어할 수 있다. 예를 들어 음악 애플리케이션이 스마트 스피커에서 실행중인 경우, 사용자는 모바일 디바이스의 디스플레이상에 사용자에게 제시되는 인터페이스 컨트롤과 상호 작용함으로써 애플리케이션(예를 들어, 볼륨 레벨, 다음 트랙으로 스킵 등)을 제어할 수 있다.
모바일 디바이스는 예를 들어 무선 네트워크를 통해 스마트 디바이스에 제어 데이터를 전송함으로써 스마트 디바이스를 직접 제어할 수 있다. 스마트 디바이스가 가상 어시스턴트 제어 디바이스에 의해 제어되는 경우, 모바일 디바이스는 제어 데이터를 가상 어시스턴트 제어 디바이스로 차례로 전송할 수 있고, 가상 어시스턴트 제어 디바이스는 스마트 디바이스를 제어할 수 있다.
일부 양태에서, 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 제시하는 것은 모바일 디바이스의 카메라의 뷰 파인더의 시야 위에 증강 현실로 하나 이상의 사용자 인터페이스 컨트롤을 중첩하는 것을 포함한다. 예를 들어,도 2에 도시된 바와 같이, 음악 제어 버튼(228)은 볼륨 토글 바(226)이고, 사용자가 음성 어시스턴트 디바이스(215)의 음악 재생 애플리케이션을 제어하도록 선택할 수 있는 모바일 디바이스의 카메라의 뷰 파인더를 통해 증강 현실로 도시된 사용자 인터페이스 컨트롤이다.
일부 양태에서, 연속 비디오(예를 들어, 라이브 피드)에 대해, 사용자 인터페이스 컨트롤은 스마트 디바이스가 이미지 데이터에서 식별되는 동안에만 사용자 인터페이스 상에 중첩된다. 일부 양태에서, 스마트 디바이스의 정지(still) 프레임 샷이 캡처되어 스마트 디바이스를 제어하기 위해 사용될 수 있으므로, 모바일 디바이스는 그것을 제어하기 위해 스마트 디바이스의 이미지 데이터를 연속적으로 수집할 필요가 없을 것이다. 예를 들어, 사용자는 음성 어시스턴트 디바이스의 스냅 샷을 캡처된한 다음 음성 어시스턴트 디바이스에서 멀어져서, 가상 어시스턴트 애플리케이션을 실행하여 음성 어시스턴트 디바이스를 제어하기 위한 사용자 인터페이스 컨트롤을 생성하기를 원할 수 있다.
도 5는 전술한 동작들을 수행하는데 사용될 수 있는 예시적인 컴퓨터 시스템(500)의 블록도이다. 시스템(500)은 프로세서(510), 메모리(520), 저장 디바이스(530) 및 입/출력 디바이스(540)를 포함한다. 컴포넌트(510, 520, 530 및 540) 각각은 예를 들어 시스템 버스(550)를 사용하여 상호 연결될 수 있다. 프로세서(510)는 시스템(500) 내에서 실행하기 위한 명령들을 처리할 수 있다. 일 구현에서, 프로세서(510)는 단일 스레드 프로세서이다. 다른 구현에서, 프로세서(510)는 멀티 스레드 프로세서이다. 프로세서(510)는 메모리(520) 또는 저장 디바이스(530)에 저장된 명령들을 처리할 수 있다.
메모리(520)는 시스템(500)내에 정보를 저장한다. 일 구현에서, 메모리(520)는 컴퓨터 판독 가능 매체이다. 일 구현에서, 메모리(520)는 휘발성 메모리 유닛이다. 다른 구현에서, 메모리(520)는 비-휘발성 메모리 유닛이다.
저장 디바이스(530)는 시스템(500)에 대용량 저장 디바이스를 제공할 수 있다. 일 구현에서, 저장 디바이스(530)는 컴퓨터 판독 가능 매체이다. 다양한 다른 구현에서, 저장 디바이스(530)는 예를 들어 하드 디스크 디바이스, 광 디스크 디바이스, 다수의 컴퓨팅 디바이스(예를 들어, 클라우드 저장 디바이스)에 의해 네트워크를 통해 공유되는 저장 디바이스, 또는 일부 다른 대용량 저장 디바이스를 포함할 수 있다.
입/출력 디바이스(540)는 시스템(500)에 대한 입/출력 동작을 제공한다. 일 구현에서, 입/출력 디바이스(540)는 하나 이상의 네트워크 인터페이스 디바이스, 예를 들어 이더넷 카드, 직렬 통신 디바이스(예를 들어, RS-232 포트) 및/또는 무선 인터페이스 디바이스(예를 들어, 802.11 카드)를 포함할 수 있다. 다른 구현에서, 입/출력 디바이스는 입력 데이터를 수신하여 출력 데이터를 다른 입/출력 디바이스, 예를 들어 키보드, 프린터 및 디스플레이 디바이스(580)로 전송하도록 구성된 드라이버 디바이스를 포함할 수 있다. 그러나, 모바일 컴퓨팅 디바이스, 모바일 통신 디바이스, 셋톱 박스 텔레비전 클라이언트 디바이스 등과 같은 다른 구현도 사용될 수 있다.
예시적인 처리 시스템이 도 5에서 기술되었지만, 본 명세서에서 기술된 주제 및 기능적 동작들의 구현은 본 명세서에 개시된 구조 및 그 구조적 등가물을 포함하거나 이들 중 하나 이상의 조합을 포함하여 다른 유형의 디지털 전자 회로, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어로 구현될 수 있다.
본 명세서에 기술된 주제 및 기능적 동작들의 실시예는 본 명세서에 개시된 구조 및 그 구조적 등가물을 포함하거나 이들 중 하나 이상의 조합을 포함하여 디지털 전자 회로, 유형으로 구현된 컴퓨터 소프트웨어 또는 펌웨어, 컴퓨터 하드웨어로 구현될 수 있다. 본 명세서에 기술된 주제의 실시예는 하나 이상의 컴퓨터 프로그램, 즉 데이터 처리 장치에 의한 실행을 위해 또는 데이터 처리 장치의 동작을 제어하기 위해 유형의 비 일시적 프로그램 캐리어에 인코딩된 컴퓨터 프로그램 명령들의 하나 이상의 모듈로서 구현될 수 있다. 대안적으로 또는 추가적으로, 프로그램 명령들은 데이터 처리 장치에 의해 실행하기 위해 적절한 수신기 장치로 전송하기 위한 정보를 인코딩하도록 생성된 인공적으로 생성된 전파 신호, 예를 들어 기계 생성 전기, 광학 또는 전자기 신호에 인코딩될 수 있다. 컴퓨터 저장 매체는 기계 판독 가능 저장 디바이스, 기계 판독 가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 디바이스 또는 이들 중 하나 이상의 조합일 수 있다.
"데이터 처리 장치"라는 용어는 예를 들어 프로그램 가능 프로세서, 컴퓨터 또는 다중 프로세서 또는 컴퓨터를 포함하여 데이터를 처리하기 위한 임의의 종류의 장치, 디바이스 및 기계를 포함한다. 장치는 FPGA(필드 프로그래밍 가능 게이트 어레이) 또는 ASIC(애플리케이션 특정 집적 회로)와 같은 특수 목적 논리 회로를 포함할 수 있다. 장치는 또한 하드웨어외에도 해당 컴퓨터 프로그램의 실행 환경을 생성하는 코드, 예를 들어, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 모듈, 소프트웨어 모듈, 스크립트 또는 코드라고도 지칭됨)은 컴파일되거나 해석된 언어 또는 선언적 또는 절차적 언어를 포함하여 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 이는 독립형 프로그램이나 모듈, 컴포넌트, 서브 루틴, 또는 컴퓨팅 환경에서 사용하기에 적합한 다른 유닛을 포함하여 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 해당할 수 있지만 반드시 그럴 필요는 없다. 프로그램은 다른 프로그램 또는 데이터를 보유하는 파일의 일부(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트), 해당 프로그램 전용 단일 파일 또는 다수의 조정된 파일(예를 들어, 하나 이상의 모듈, 서브 프로그램 또는 코드 일부를 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 하나의 사이트에 위치하거나 다수의 사이트에 분산되고 통신 네트워크로 상호 연결된 다수의 컴퓨터에서 실행되도록 배포될 수 있다.
본 명세서에 설명된 프로세스 및 논리 흐름은 입력 데이터에 대해 동작하여 출력을 생성함으로써 기능들을 수행하도록 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능한 컴퓨터에 의해 수행될 수 있다. 프로세스와 논리 흐름은 또한 FPGA(field programmable gate array), ASIC(application specific integrated circuit) 또는 GPGPU(범용 그래픽 처리 유닛)와 같은 특수 목적 논리 회로에 의해 수행될 수 있으며 장치도 이들로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 컴퓨터는 예를 들어 범용 또는 특수 목적의 마이크로 프로세서 또는 둘 다에 기초할 수 있거나 임의의 다른 종류의 중앙 처리 장치를 포함할 수 있다. 일반적으로 중앙 처리 장치는 판독 전용 메모리나 랜덤 액세스 메모리 또는 둘 다로부터 명령들과 데이터를 수신한다. 컴퓨터의 필수 요소는 명령들을 수행하거나 실행하기 위한 중앙 처리 장치와 그 명령들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들어 자기, 광 자기 디스크 또는 광 디스크로부터 데이터를 수신하거나 데이터를 송신하기 위해 또는 둘 모두를 포함하거나 작동 가능하게 결합된다. 그러나, 컴퓨터에는 이러한 디바이스가 필요하지 않다. 또한, 컴퓨터는 휴대 전화, PDA, 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, GPS 수신기 또는 휴대용 저장 디바이스(예를 들어 범용 직렬 버스(USB) 플래시 드라이브 등)와 같은 다른 디바이스에 내장될 수 있다.
컴퓨터 프로그램 명령 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는 반도체 메모리 디바이스(예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스), 자기 디스크(예를 들어, 내부 하드 디스크 또는 이동식 디스크), 광 자기 디스크 및 CD ROM 및 DVD-ROM 디스크를 포함하는 모든 형태의 비-휘발성 메모리, 매체 및 메모리 디바이스를 포함한다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보완되거나 통합될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에 설명된 주제의 실시예는 사용자에게 정보를 기스플레이하기 위한 디스플레이 디바이스(예를 들어 CRT(음극선 관) 또는 LCD(액정 디스플레이) 모니터 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼)가 있는 컴퓨터에서 구현될 수 있다. 사용자와의 상호 작용을 제공하기 위해 다른 종류의 디바이스가 사용될 수도 있는데, 예를 들어, 사용자에게 제공되는 피드백은 예를 들어 시각적 피드백, 청각적 피드백 또는 촉각적 피드백과 같은 임의의 형태의 감각 피드백 일 수 있으며, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하여임의의 형태로 수신될 수 있다. 또한, 컴퓨터는 예를 들어, 웹 브라우저로부터 수신된 요청에 대한 응답하여 사용자 클라이언트 디바이스의 웹 브라우저로 웹 페이지를 전송하여 사용자가 사용하는 디바이스와 문서를 주고 받음으로써 사용자와 상호 작용할 수 있다.
본 명세서에 기술된 주제의 실시예는 백엔드 컴포넌트(예를 들어, 데이터 서버)를 포함하거나 미들웨어 컴포넌트(예를 들어, 애플리케이션 서버)를 포함하거나 프런트 엔드 컴포넌트(예를 들어, 사용자가 본 명세서에 기술된 주제의 구현과 상호 작용할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저가 있는 클라이언트 컴퓨터), 또는 이러한 백엔드, 미들웨어 또는 프런트 엔드 컴포넌트 중 하나 이상의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들어 통신 네트워크에 의해 상호 연결될 수 있다. 통신 네트워크의 예로는 근거리 통신망("LAN")과 광역 통신망 ("WAN")(예를 들어, 인터넷)이 있다.
컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 떨어져 있으며 일반적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계는 각 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램으로 인해 발생한다.
본 명세서는 많은 특정 구현 세부 사항을 포함하지만, 이들은 임의의 발명의 범위 또는 청구될 수 있는 것에 대한 제한으로 해석되어서는 안되며, 오히려 특정 발명의 특정 실시예에 특정될 수 있는 특징의 설명으로 해석되어야 한다. 개별 실시예의 맥락으로 본 명세서에 설명된 특정 특징은 또한 단일 실시예에서 조합으로 구현될 수 있다. 반대로, 단일 실시예의 맥락으로 설명된 다양한 특징은 또한 다중 실시예에서 개별적으로 또는 임의의 적절한 하위 조합으로 구현될 수 있다. 더욱이, 특징들이 특정 조합으로 작용하는 것으로 위에서 설명되고 심지어 처음에 그렇게 주장될 수도 있지만, 청구된 조합으로부터의 하나 이상의 특징은 일부 경우에 조합으로부터 제외될 수 있고, 그 청구된 조합은 하위 조합 또는 하위 조합의 변형에 대한 것일 수 있다.
유사하게, 동작들이 특정 순서로 도면에 도시되어 있지만, 이는 바람직한 결과를 달성하기 위해 그러한 동작이 도시된 특정 순서 또는 순차적 순서로 수행되거나 모든 예시된 동작이 수행될 것을 요구하는 것으로 이해되어서는 안된다. 특정 상황에서는 멀티 태스킹 및 병렬 처리가 유리할 수 있다. 더욱이, 위에서 설명된 실시예에서 다양한 시스템 모듈 및 컴포넌트의 분리는 모든 실시예에서 그러한 분리를 필요로 하는 것으로 이해되어서는 안되며, 설명된 프로그램 컴포넌트 및 시스템은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키징될 수 있음을 이해해야 한다.
주제의 특정 실시예들이 설명되었다. 다른 실시예는 다음 청구항의 범위 내에 있다. 예를 들어, 청구항들에 인용된 동작들은 바람직한 결과를 얻기 위해 도시된 특정 순서 또는 순차적인 순서를 반드시 필요로 하지 않는다. 특정 구현에서, 멀티 태스킹 및 병렬 처리가 유리할 수 있다.

Claims (20)

  1. 하나 이상의 데이터 처리 장치에 의해 수행되는 방법으로서, 상기 방법은,
    사용자의 모바일 디바이스의 카메라로 캡처된 이미지에 대한 이미지 데이터를 수신하는 단계;
    이미지 데이터에 기초하여, 이미지가 스마트 디바이스 또는 그 스마트 디바이스에 대한 물리적 컨트롤 중 적어도 하나를 묘사하는지 결정하는 단계;
    이미지가 스마트 디바이스 또는 스마트 디바이스에 대한 물리적 컨트롤 중 적어도 하나를 묘사한다는 결정에 응답하여, 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 식별하는 단계;
    모바일 디바이스의 디스플레이에서, 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 생성 및 제시하는 단계;
    모바일 디바이스의 디스플레이에서, 하나 이상의 사용자 인터페이스 컨트롤 중 적어도 하나와의 사용자 상호 작용을 검출하는 단계; 및
    검출된 사용자 상호 작용에 기초하여 스마트 디바이스를 제어하는 단계를 포함하는 것을 특징으로 하는 데이터 처리 장치에 의해 수행되는 방법.
  2. 제1항에 있어서,
    상기 스마트 디바이스를 제어하는 단계는,
    스마트 디바이스에 동작 가능하게 연결된 가상 어시스턴트 제어 디바이스로 데이터를 전송하는 단계를 포함하고, 상기 데이터는 가상 어시스턴트 제어 디바이스로 하여금 검출된 사용자 상호 작용에 대응하는 동작을 스마트 디바이스로 전송하여 동작을 수행하게 하는 것을 특징으로 하는 데이터 처리 장치에 의해 수행되는 방법.
  3. 제1항에 있어서,
    상기 이미지 데이터에 기초하여, 이미지가 스마트 디바이스 또는 스마트 디바이스에 대한 물리적 컨트롤 중 적어도 하나를 묘사하는지 결정하는 단계는,
    이미지가 다른 스마트 디바이스를 제어하도록 구성된 가상 어시스턴트 제어 디바이스를 묘사하는지 결정하는 단계를 포함하는 것을 특징으로 하는 데이터 처리 장치에 의해 수행되는 방법.
  4. 제3항에 있어서,
    이미지가 모바일 디바이스에 제시되는 시점에서 모바일 디바이스가 가상 어시스턴트 제어 디바이스를 제어할 수 있는지 결정하는 단계를 더 포함하는 것을 특징으로 하는 데이터 처리 장치에 의해 수행되는 방법.
  5. 제4항에 있어서,
    상기 이미지가 모바일 디바이스에 제시되는 시점에서 모바일 디바이스가 가상 어시스턴트 제어 디바이스를 제어할 수 있는지 결정하는 단계는,
    이미지가 사용자 디바이스에 제시되는 시점에서, 모바일 디바이스가 사용자의 계정에 등록된 특정 가상 어시스턴트 제어 디바이스의 임계 거리 내에 있다고 결정함으로써 가상 어시스턴트 제어 디바이스가 사용자의 계정에 등록된 특정 가상 어시스턴트 제어 디바이스인지 결정하는 단계를 포함하는 것을 특징으로 하는 데이터 처리 장치에 의해 수행되는 방법.
  6. 제4항에 있어서,
    이미지가 모바일 디바이스에 제시되는 시점에서 모바일 디바이스가 가상 어시스턴트 제어 디바이스를 제어할 수 있다는 결정에 응답하여 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 제시하기로 결정하는 단계를 더 포함하는 것을 특징으로 하는 데이터 처리 장치에 의해 수행되는 방법.
  7. 제1항에 있어서,
    상기 이미지 데이터에 기초하여, 이미지가 스마트 디바이스 또는 스마트 디바이스에 대한 물리적 컨트롤 중 적어도 하나를 묘사하는지 결정하는 단계는,
    이미지가 사용자의 가상 어시스턴트 제어 디바이스의 이미지를 묘사하는지 결정하는 단계를 포함하는 것을 특징으로 하는 데이터 처리 장치에 의해 수행되는 방법.
  8. 제7항에 있어서,
    상기 가상 어시스턴트 제어 디바이스는,
    사용자로부터 음성 명령을 수신하고 가상 어시스턴트 스마트 스피커 디바이스의 스피커를 사용하여 사용자에게 정보를 제공하는 가상 어시스턴트 스마트 스피커 디바이스를 포함하는 것을 특징으로 하는 데이터 처리 장치에 의해 수행되는 방법.
  9. 제8항에 있어서,
    상기 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 식별하는 단계는,
    가상 어시스턴트 스마트 스피커 디바이스가 현재 수행중인 작업 또는 서비스를 결정하는 단계; 및
    작업 또는 서비스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 선택하는 단계를 포함하는 것을 특징으로 하는 데이터 처리 장치에 의해 수행되는 방법.
  10. 제1항에 있어서,
    상기 모바일 디바이스에서, 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 생성 및 제시하는 단계는,
    모바일 디바이스의 카메라의 뷰 파인더의 시야 위에 증강 현실로 하나 이상의 사용자 인터페이스 컨트롤을 중첩하는 단계를 포함하는 것을 특징으로 하는 데이터 처리 장치에 의해 수행되는 방법.
  11. 제1항에 있어서,
    상기 이미지가 스마트 디바이스 또는 그 스마트 디바이스에 대한 물리적 컨트롤 중 적어도 하나를 묘사한다는 결정에 응답하여, 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 식별하는 단계는,
    스마트 디바이스에 대한 등록 파일을 획득하는 단계를 포함하고, 상기 등록 파일은 스마트 디바이스의 유형을 지정하는 데이터 및 스마트 디바이스를 제어하기 위한 사용 가능한 사용자 인터페이스 컨트롤들을 포함하는 것을 특징으로 하는 데이터 처리 장치에 의해 수행되는 방법.
  12. 제1항에 있어서,
    상기 이미지 데이터에 기초하여, 수신된 이미지 데이터가 스마트 디바이스 또는 스마트 디바이스에 대한 물리적 컨트롤 중 적어도 하나를 묘사하는지 결정하는 단계는,
    스마트 디바이스가 사용자의 디바이스임을 확인하도록 사용자에게 프롬프트하는 단계; 및
    사용자로부터 확인을 수신하는 단계를 포함하는 것을 특징으로 하는 데이터 처리 장치에 의해 수행되는 방법.
  13. 시스템으로서,
    하나 이상의 데이터 처리 장치; 및
    하나 이상의 데이터 처리 장치와 데이터 통신하는 메모리 저장 디바이스를 포함하고, 상기 메모리 저장 장치는 하나 이상의 데이터 처리 장치에 의해 실행 가능하고 실행시 하나 이상의 데이터 처리 장치로 하여금 동작들을 수행하게 하는 명령들을 저장하고, 상기 동작들은,
    사용자의 모바일 디바이스의 카메라로 캡처된 이미지에 대한 이미지 데이터를 수신하는 단계;
    이미지 데이터에 기초하여, 이미지가 스마트 디바이스 또는 그 스마트 디바이스에 대한 물리적 컨트롤 중 적어도 하나를 묘사하는지 결정하는 단계;
    이미지가 스마트 디바이스 또는 그 스마트 디바이스에 대한 물리적 컨트롤 중 적어도 하나를 묘사한다는 결정에 응답하여, 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 식별하는 단계;
    모바일 디바이스의 디스플레이에서, 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 생성 및 제시하는 단계;
    모바일 디바이스의 디스플레이에서, 하나 이상의 사용자 인터페이스 컨트롤 중 적어도 하나와의 사용자 상호 작용을 검출하는 단계; 및
    검출된 사용자 상호 작용에 기초하여 스마트 디바이스를 제어하는 단계를 포함하는 것을 특징으로 하는 시스템.
  14. 제13항에 있어서,
    상기 이미지 데이터에 기초하여, 이미지가 스마트 디바이스 또는 스마트 디바이스에 대한 물리적 컨트롤 중 적어도 하나를 묘사하는지 결정하는 단계는,
    이미지가 다른 스마트 디바이스를 제어하도록 구성된 가상 어시스턴트 제어 디바이스를 묘사하는지 결정하는 단계를 포함하는 것을 특징으로 하는 시스템.
  15. 제14항에 있어서,
    상기 동작들은,
    이미지가 모바일 디바이스에 제시되는 시점에서 모바일 디바이스가 가상 어시스턴트 제어 디바이스를 제어할 수 있는지 결정하는 단계를 더 포함하는 것을 특징으로 하는 시스템.
  16. 제15항에 있어서,
    상기 이미지가 모바일 디바이스에 제시되는 시점에서 모바일 디바이스가 가상 어시스턴트 제어 디바이스를 제어할 수 있는지 결정하는 단계는,
    이미지가 사용자 디바이스에 제시되는 시점에서 모바일 디바이스가 사용자의 계정에 등록된 특정 가상 어시스턴트 제어 디바이스의 임계 거리내에 있다고 결정함으로써 가상 어시스턴트 제어 디바이스가 사용자의 계정에 등록된 특정 가상 어시스턴트 제어 디바이스인지 결정하는 단계를 포함하는 것을 특징으로 하는 시스템.
  17. 제15항에 있어서,
    상기 동작들은,
    이미지가 모바일 디바이스에 제시되는 시점에서 모바일 디바이스가 가상 어시스턴트 제어 디바이스를 제어할 수 있다는 결정에 응답하여 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 제시하기로 결정하는 단계를 더 포함하는 것을 특징으로 하는 시스템.
  18. 제13항에 있어서,
    상기 이미지 데이터에 기초하여, 이미지가 스마트 디바이스 또는 그 스마트 디바이스에 대한 물리적 컨트롤 중 적어도 하나를 묘사하는지 결정하는 단계는,
    이미지가 사용자의 가상 어시스턴트 제어 디바이스의 이미지를 묘사하는지 결정하는 단계를 포함하는 것을 특징으로 하는 시스템.
  19. 제13항에 있어서,
    상기 모바일 디바이스에서, 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 생성 및 제시하는 단계는,
    모바일 디바이스의 카메라의 뷰 파인더의 시야 위에 증강 현실로 하나 이상의 사용자 인터페이스 컨트롤을 중첩하는 단계를 포함하는 것을 특징으로 하는 시스템.
  20. 컴퓨터 프로그램으로 인코딩된 비-일시적 컴퓨터 저장 매체로서, 상기 프로그램은 데이터 처리 장치에 의해 실행될 때 데이터 처리 장치로 하여금 동작들을 수행하게 하는 명령들을 포함하고, 상기 동작들은,
    사용자의 모바일 디바이스의 카메라로 캡처된 이미지에 대한 이미지 데이터를 수신하는 단계;
    이미지 데이터에 기초하여, 이미지가 스마트 디바이스 또는 그 스마트 디바이스에 대한 물리적 컨트롤 중 적어도 하나를 묘사하는지 결정하는 단계;
    이미지가 스마트 디바이스 또는 그 스마트 디바이스에 대한 물리적 컨트롤 중 적어도 하나를 묘사한다는 결정에 응답하여, 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 식별하는 단계;
    모바일 디바이스의 디스플레이에서, 스마트 디바이스를 제어하기 위한 하나 이상의 사용자 인터페이스 컨트롤을 생성 및 제시하는 단계;
    모바일 디바이스의 디스플레이에서, 하나 이상의 사용자 인터페이스 컨트롤 중 적어도 하나와의 사용자 상호 작용을 검출하는 단계; 및
    검출된 사용자 상호 작용에 기초하여 스마트 디바이스를 제어하는 단계를 포함하는 것을 특징으로 하는 비-일시적 컴퓨터 저장 매체.


KR1020207026995A 2018-06-25 2019-06-14 스마트 디바이스들의 식별 및 제어 KR102211014B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/017,394 US10725629B2 (en) 2018-06-25 2018-06-25 Identifying and controlling smart devices
US16/017,394 2018-06-25
PCT/US2019/037171 WO2020005575A1 (en) 2018-06-25 2019-06-14 Identifying and controlling smart devices

Publications (2)

Publication Number Publication Date
KR20200115652A true KR20200115652A (ko) 2020-10-07
KR102211014B1 KR102211014B1 (ko) 2021-02-04

Family

ID=67108213

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207026995A KR102211014B1 (ko) 2018-06-25 2019-06-14 스마트 디바이스들의 식별 및 제어

Country Status (7)

Country Link
US (4) US10725629B2 (ko)
EP (2) EP4231652A1 (ko)
JP (3) JP6915169B2 (ko)
KR (1) KR102211014B1 (ko)
CN (2) CN114666650B (ko)
ES (1) ES2963118T3 (ko)
WO (1) WO2020005575A1 (ko)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3616008A4 (en) 2017-04-26 2020-12-09 View, Inc. COMPUTER PLATFORM FOR TONABLE WINDOW SYSTEM
US11892738B2 (en) 2017-04-26 2024-02-06 View, Inc. Tandem vision window and media display
US10725629B2 (en) * 2018-06-25 2020-07-28 Google Llc Identifying and controlling smart devices
US11132681B2 (en) 2018-07-06 2021-09-28 At&T Intellectual Property I, L.P. Services for entity trust conveyances
WO2020022780A1 (en) * 2018-07-25 2020-01-30 Samsung Electronics Co., Ltd. Method and apparatus for establishing device connection
US10923141B2 (en) 2018-08-06 2021-02-16 Spotify Ab Singing voice separation with deep u-net convolutional networks
US10991385B2 (en) 2018-08-06 2021-04-27 Spotify Ab Singing voice separation with deep U-Net convolutional networks
US10977555B2 (en) 2018-08-06 2021-04-13 Spotify Ab Automatic isolation of multiple instruments from musical mixtures
US10802872B2 (en) 2018-09-12 2020-10-13 At&T Intellectual Property I, L.P. Task delegation and cooperation for automated assistants
CN115686333A (zh) * 2018-09-24 2023-02-03 谷歌有限责任公司 用于控制物联网设备的方法、系统和计算机可读介质
KR102620363B1 (ko) * 2018-10-12 2024-01-04 삼성전자주식회사 모바일 장치 및 모바일 장치의 제어 방법
US11481186B2 (en) 2018-10-25 2022-10-25 At&T Intellectual Property I, L.P. Automated assistant context and protocol
WO2020114756A1 (en) * 2018-12-03 2020-06-11 Signify Holding B.V. Determining a control mechanism based on a surrounding of a remote controllable device
US10482678B1 (en) * 2018-12-14 2019-11-19 Capital One Services, Llc Systems and methods for displaying video from a remote beacon device
US20200193264A1 (en) * 2018-12-14 2020-06-18 At&T Intellectual Property I, L.P. Synchronizing virtual agent behavior bias to user context and personality attributes
WO2020167524A1 (en) * 2019-02-11 2020-08-20 Spellbound Development Group, Inc. System and method for object and location-related delivery of real-time messages
CN111752443A (zh) * 2019-03-28 2020-10-09 华为技术有限公司 显示设备控制页面的方法、相关装置及系统
US11521384B1 (en) * 2019-07-01 2022-12-06 Alarm.Com Incorporated Monitoring system integration with augmented reality devices
US11445107B2 (en) * 2019-08-08 2022-09-13 Qorvo Us, Inc. Supervised setup for control device with imager
US20210121784A1 (en) * 2019-10-23 2021-04-29 Sony Interactive Entertainment Inc. Like button
US11089109B1 (en) 2019-11-20 2021-08-10 Sprint Communications Company L.P. Smart device management via a mobile communication device based on privacy preferences
JPWO2021181604A1 (ko) * 2020-03-12 2021-09-16
US11010129B1 (en) * 2020-05-08 2021-05-18 International Business Machines Corporation Augmented reality user interface
US20210358294A1 (en) * 2020-05-15 2021-11-18 Microsoft Technology Licensing, Llc Holographic device control
WO2022050433A1 (ko) * 2020-09-01 2022-03-10 엘지전자 주식회사 음성 인식 기동어의 인식 민감도를 조절하는 디스플레이 장치 및 그의 동작 방법
JP2022042036A (ja) * 2020-09-02 2022-03-14 株式会社リコー 機器管理システム、機器管理方法およびプログラム
TW202225941A (zh) * 2020-11-03 2022-07-01 美商視野公司 虛擬檢視設施中之裝置
CN112783467A (zh) * 2020-12-31 2021-05-11 读书郎教育科技有限公司 一种穿戴式设备截屏控制系统及方法
US11947783B2 (en) * 2021-01-25 2024-04-02 Google Llc Undoing application operation(s) via user interaction(s) with an automated assistant
US20220239523A1 (en) * 2021-01-27 2022-07-28 AVAST Software s.r.o. Universal virtual remote control for smart devices
US11832028B2 (en) * 2021-03-11 2023-11-28 Objectvideo Labs, Llc Doorbell avoidance techniques
JP2022178205A (ja) * 2021-05-19 2022-12-02 キヤノン株式会社 制御装置およびその制御方法
AT17724U1 (de) * 2021-06-10 2022-12-15 Ars Electronica Linz Gmbh & Co Kg System zur räumlich begrenzten Aktivierung einer Steuereinheit
EP4113987B1 (en) * 2021-06-29 2023-11-08 Axis AB System, camera device, method, and computer program for displaying collected sensor data together with images
US11579752B1 (en) * 2021-07-20 2023-02-14 Sony Interactive Entertainment Inc. Augmented reality placement for user feedback
IT202100022940A1 (it) * 2021-09-06 2023-03-06 Candy Spa Metodo per assistere un utente nell’uso e/o nell’esplorazione delle funzionalità di un elettrodomestico, mediante impiego di realtà aumentata
US11960652B2 (en) * 2021-10-12 2024-04-16 Qualcomm Incorporated User interactions with remote devices
JP2023060654A (ja) 2021-10-18 2023-04-28 パナソニックIpマネジメント株式会社 散水装置及び散水方法
CN113849118A (zh) * 2021-10-20 2021-12-28 锐捷网络股份有限公司 一种应用于电子白板的图像识别方法及相关装置
US11930270B2 (en) 2021-10-29 2024-03-12 Snap Inc. Identifying a video camera for an object
US11579755B1 (en) * 2022-03-08 2023-02-14 Amazon Technologies, Inc. Dynamic address-based dashboard customization
JP2023151540A (ja) * 2022-03-31 2023-10-16 パナソニックホールディングス株式会社 表示システム、表示方法及びプログラム
TWI804294B (zh) * 2022-04-28 2023-06-01 中華電信股份有限公司 用於擴增實境協作之遠端設備控制系統、方法及電腦可讀媒介
US20240077935A1 (en) * 2022-09-01 2024-03-07 Youjean Cho Virtual interfaces for controlling iot devices
JP2024067727A (ja) * 2022-11-07 2024-05-17 キヤノン株式会社 情報処理装置、情報処理方法、及びコンピュータプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140027645A1 (en) * 2011-10-21 2014-01-30 Nest Labs, Inc. Integrating sensing systems into thermostat housing in manners facilitating compact and visually pleasing physical characteristics thereof
US20140313867A1 (en) * 2013-04-22 2014-10-23 Lg Electronics Inc. Smart watch and control method for the same
KR20160016964A (ko) * 2013-06-03 2016-02-15 데크리, 엘엘씨 실질 세계 객체 조작에 기초한 데이터 조작
WO2017165705A1 (en) * 2016-03-23 2017-09-28 Bent Image Lab, Llc Augmented reality for the internet of things

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8818274B2 (en) 2009-07-17 2014-08-26 Qualcomm Incorporated Automatic interfacing between a master device and object device
US20150309316A1 (en) * 2011-04-06 2015-10-29 Microsoft Technology Licensing, Llc Ar glasses with predictive control of external device based on event input
US20140063054A1 (en) * 2010-02-28 2014-03-06 Osterhout Group, Inc. Ar glasses specific control interface based on a connected external device type
US9111138B2 (en) * 2010-11-30 2015-08-18 Cisco Technology, Inc. System and method for gesture interface control
US8977971B2 (en) * 2010-12-24 2015-03-10 General Electric Company Metadata generation systems and methods
US20120226981A1 (en) * 2011-03-02 2012-09-06 Microsoft Corporation Controlling electronic devices in a multimedia system through a natural user interface
US9462423B1 (en) * 2011-07-12 2016-10-04 Google Inc. Qualitative and quantitative sensor fusion for indoor navigation
US9329678B2 (en) * 2012-08-14 2016-05-03 Microsoft Technology Licensing, Llc Augmented reality overlay for control devices
US9165406B1 (en) 2012-09-21 2015-10-20 A9.Com, Inc. Providing overlays based on text in a live camera view
US20140181683A1 (en) * 2012-12-21 2014-06-26 Samsung Electronics Co., Ltd. Method and system for controlling external device
CA3148692C (en) * 2013-10-07 2023-09-26 Google Llc Smart-home hazard detector providing context specific features and/or pre-alarm configurations
JP6213181B2 (ja) 2013-11-20 2017-10-18 ヤマハ株式会社 同期再生システム及び同期再生方法
US9282283B2 (en) * 2014-01-29 2016-03-08 Microsoft Technology Licensing, Llc Detecting patterns traced on a screen of a user device
AU2015214298B2 (en) * 2014-02-10 2018-05-10 Google Llc Smart camera user interface
JP2015156610A (ja) 2014-02-21 2015-08-27 ソニー株式会社 電子機器、および電源制御方法
CN104977904B (zh) * 2014-04-04 2018-06-19 浙江大学 一种可见即可控的智能家居控制系统及控制方法
JP6500477B2 (ja) 2015-02-12 2019-04-17 セイコーエプソン株式会社 頭部装着型表示装置、制御システム、頭部装着型表示装置の制御方法、および、コンピュータープログラム
US9338493B2 (en) * 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
SG10201405182WA (en) * 2014-08-25 2016-03-30 Univ Singapore Technology & Design Method and system
US9378467B1 (en) * 2015-01-14 2016-06-28 Microsoft Technology Licensing, Llc User interaction pattern extraction for device personalization
JP2016167385A (ja) 2015-03-09 2016-09-15 パナソニックIpマネジメント株式会社 携帯端末及び機器制御システム
US10921896B2 (en) * 2015-03-16 2021-02-16 Facebook Technologies, Llc Device interaction in augmented reality
CN104714414B (zh) 2015-03-25 2018-11-02 小米科技有限责任公司 智能家居设备的控制方法及装置、电子设备
US10007413B2 (en) * 2015-04-27 2018-06-26 Microsoft Technology Licensing, Llc Mixed environment display of attached control elements
US10292009B2 (en) * 2015-05-12 2019-05-14 Samsung Electronics Co., Ltd Apparatus and method for estimating location in a wireless communication system
US10347118B2 (en) * 2015-06-04 2019-07-09 Griffin Innovation Device and method for controlling a plurality of targeted devices
US10200737B2 (en) 2015-08-30 2019-02-05 EVA Automation, Inc. User interface based on device-state information
CN105204742B (zh) 2015-09-28 2019-07-09 小米科技有限责任公司 电子设备的控制方法、装置及终端
US10515483B2 (en) * 2015-12-01 2019-12-24 Drexel University Beam visualization and using augmented reality for control and interaction
US9927614B2 (en) 2015-12-29 2018-03-27 Microsoft Technology Licensing, Llc Augmented reality display system with variable focus
US10474297B2 (en) * 2016-07-20 2019-11-12 Ams Sensors Singapore Pte. Ltd. Projecting a structured light pattern onto a surface and detecting and responding to interactions with the same
US10664722B1 (en) * 2016-10-05 2020-05-26 Digimarc Corporation Image processing arrangements
CN110168477B (zh) * 2016-11-15 2022-07-08 奇跃公司 用于长方体检测的深度学习系统
JP7112399B2 (ja) 2016-12-05 2022-08-03 マジック リープ, インコーポレイテッド 複合現実環境における仮想ユーザ入力制御
CN107038408A (zh) * 2017-01-11 2017-08-11 阿里巴巴集团控股有限公司 基于增强现实的图像识别方法及装置
CN107132769B (zh) * 2017-04-21 2020-09-01 北京小米移动软件有限公司 智能设备控制方法及装置
US10108867B1 (en) * 2017-04-25 2018-10-23 Uber Technologies, Inc. Image-based pedestrian detection
KR102361570B1 (ko) * 2017-05-19 2022-02-11 구글 엘엘씨 환경 센서 데이터를 사용하는 효율적 이미지 분석 방법, 시스템 및 미디어
US10602046B2 (en) * 2017-07-11 2020-03-24 Htc Corporation Mobile device and control method
EP3659017B1 (en) * 2017-07-26 2023-04-05 Magic Leap, Inc. Training a neural network with representations of user interface devices
US11314399B2 (en) * 2017-10-21 2022-04-26 Eyecam, Inc. Adaptive graphic user interfacing system
US11131973B2 (en) * 2017-12-06 2021-09-28 Arris Enterprises Llc System and method of IOT device control using augmented reality
US10937240B2 (en) * 2018-01-04 2021-03-02 Intel Corporation Augmented reality bindings of physical objects and virtual objects
TWM569984U (zh) * 2018-01-05 2018-11-11 英屬開曼群島商麥迪創科技股份有限公司 載具劇場設備
US10620721B2 (en) * 2018-01-29 2020-04-14 Google Llc Position-based location indication and device control
US10650597B2 (en) * 2018-02-06 2020-05-12 Servicenow, Inc. Augmented reality assistant
US10504290B2 (en) * 2018-05-04 2019-12-10 Facebook Technologies, Llc User interface security in a virtual reality environment
US11509475B2 (en) * 2018-06-15 2022-11-22 Proxy, Inc. Method and apparatus for obtaining multiple user credentials
US10725629B2 (en) * 2018-06-25 2020-07-28 Google Llc Identifying and controlling smart devices
WO2020022780A1 (en) * 2018-07-25 2020-01-30 Samsung Electronics Co., Ltd. Method and apparatus for establishing device connection
US11042992B2 (en) * 2018-08-03 2021-06-22 Logitech Europe S.A. Method and system for detecting peripheral device displacement
US10867210B2 (en) * 2018-12-21 2020-12-15 Waymo Llc Neural networks for coarse- and fine-object classifications
US10701661B1 (en) * 2019-04-02 2020-06-30 Google Llc Location determination for device control and configuration
US11082249B2 (en) * 2019-04-02 2021-08-03 Google Llc Location determination for device control and configuration

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140027645A1 (en) * 2011-10-21 2014-01-30 Nest Labs, Inc. Integrating sensing systems into thermostat housing in manners facilitating compact and visually pleasing physical characteristics thereof
US20140313867A1 (en) * 2013-04-22 2014-10-23 Lg Electronics Inc. Smart watch and control method for the same
KR20160016964A (ko) * 2013-06-03 2016-02-15 데크리, 엘엘씨 실질 세계 객체 조작에 기초한 데이터 조작
WO2017165705A1 (en) * 2016-03-23 2017-09-28 Bent Image Lab, Llc Augmented reality for the internet of things
US20190114061A1 (en) * 2016-03-23 2019-04-18 Bent Image Lab, Llc Augmented reality for the internet of things

Also Published As

Publication number Publication date
EP3797521B1 (en) 2023-08-02
JP2021170370A (ja) 2021-10-28
JP7077463B2 (ja) 2022-05-30
US11086493B2 (en) 2021-08-10
CN114666650A (zh) 2022-06-24
KR102211014B1 (ko) 2021-02-04
WO2020005575A1 (en) 2020-01-02
JP6915169B2 (ja) 2021-08-04
JP2022107645A (ja) 2022-07-22
ES2963118T3 (es) 2024-03-25
CN112219405A (zh) 2021-01-12
EP3797521A1 (en) 2021-03-31
US20200319765A1 (en) 2020-10-08
US20190391716A1 (en) 2019-12-26
US10725629B2 (en) 2020-07-28
JP2021514091A (ja) 2021-06-03
US20240168613A1 (en) 2024-05-23
EP4231652A1 (en) 2023-08-23
CN114666650B (zh) 2023-12-26
US11921988B2 (en) 2024-03-05
US20210342047A1 (en) 2021-11-04
CN112219405B (zh) 2022-03-15

Similar Documents

Publication Publication Date Title
KR102211014B1 (ko) 스마트 디바이스들의 식별 및 제어
CN107770238B (zh) 用于基于图像处理进行数据通信的系统和方法
US11509957B2 (en) Display apparatus with intelligent user interface
US11233671B2 (en) Smart internet of things menus with cameras
US11507619B2 (en) Display apparatus with intelligent user interface
US20190354608A1 (en) Display apparatus with intelligent user interface
US20190354603A1 (en) Display apparatus with intelligent user interface
CN105182783A (zh) 用于控制智能设备的方法、装置及终端
US20190356952A1 (en) Display apparatus with intelligent user interface
US20190356951A1 (en) Display apparatus with intelligent user interface
EP3892069B1 (en) Determining a control mechanism based on a surrounding of a remote controllable device
WO2019223536A1 (en) Display apparatus with intelligent user interface
CN116962777A (zh) 一种视频播放方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant