CN113728293A - 用于基于位所的设备控制的系统和界面 - Google Patents

用于基于位所的设备控制的系统和界面 Download PDF

Info

Publication number
CN113728293A
CN113728293A CN201980095616.2A CN201980095616A CN113728293A CN 113728293 A CN113728293 A CN 113728293A CN 201980095616 A CN201980095616 A CN 201980095616A CN 113728293 A CN113728293 A CN 113728293A
Authority
CN
China
Prior art keywords
computing device
controllable
controllable device
user interface
determining
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN201980095616.2A
Other languages
English (en)
Inventor
迪亚内·王
保罗·科埃略
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN113728293A publication Critical patent/CN113728293A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/1626Constructional details or arrangements for portable computers with a single-body enclosure integrating a flat display, e.g. Personal Digital Assistants [PDAs]
    • 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/163Wearable computers, e.g. on a belt
    • 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/1694Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer
    • 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
    • G06F3/012Head tracking input arrangements
    • 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
    • G06F3/013Eye tracking input arrangements
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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/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/04817Interaction 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 using icons
    • 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
    • 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/282Controlling appliance services of a home automation network by calling their functionalities based on user interaction within the home
    • 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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • H04N21/41265The peripheral being portable, e.g. PDAs or mobile phones having a remote control device for bidirectional communication between the remote control device and client device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4131Peripherals receiving signals from specially adapted client devices home appliance, e.g. lighting, air conditioning system, metering devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • H04N21/42206User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor characterized by hardware details
    • H04N21/4222Remote control device emulator integrated into a non-television apparatus, e.g. a PDA, media center or smart toy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4223Cameras
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44227Monitoring of local network, e.g. connection or bandwidth variations; Detecting new devices in the local network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4524Management of client data or end-user data involving the geographical location of the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C2201/00Transmission systems of control signals via wireless link
    • G08C2201/90Additional features
    • G08C2201/91Remote control based on location and proximity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Selective Calling Equipment (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

提供了用于基于位所的设备控制的系统和方法。示例系统和方法包括确定计算设备的位所估计和基于位所估计标识可控设备。一些示例还包括确定可控设备相对于计算设备的相对位所并且基于该相对位所触发用于与可控设备交互的用户界面在计算设备上的显示。另一示例系统和方法包括基于其中计算设备瞄准的瞄准方向标识物理空间内的可控设备,确定可控设备相对于计算设备的瞄准方向的角度偏移,以及触发在计算设备上指示所确定的角度偏移的用户界面的显示。

Description

用于基于位所的设备控制的系统和界面
本申请是2019年4月30日提交的标题为“SYSTEMS AND INTERFACES FORLOCATION-BASED DEVICE CONTROL(用于基于位所的设备控制的系统和界面)”的美国申请No.62/840,877的继续并要求其优先权,其全部内容通过引用并入本文。
本申请与2019年4月2日提交的标题为“LOCATION DETERMINATION FOR DEVICECONTROL AND CONFIGURATION(用于设备控制和配置的位所确定)”的美国申请No.16/372,559和2019年4月2日提交的标题为“LOCATION DETERMINATION FOR DEVICE CONTROL ANDCONFIGURATION(用于设备控制和配置的位所确定)的美国申请No.16/372,674”相关,其全部内容通过引用并入本文。
背景技术
诸如房屋和办公室的建筑物通常包括许多可以远程访问和/或控制的设备。例如,灯可以允许用户经由诸如智能手机的计算设备来切换它或调整其参数(例如,亮度、颜色)。在一些示例中,可以经由各种类型的无线通信来控制设备。例如,经由通过WiFi或蓝牙传送的指令控制一些设备。一些设备也可以经由红外信号进行控制。
发明内容
本公开描述了用于设备控制和配置的基于位置的位所确定的系统和方法。例如,本文描述的系统和技术可以被用于基于计算设备的位所生成用于与可控设备交互的用户界面。
一个方面是一种方法,包括:确定计算设备的位所估计;基于位所估计标识可控设备;确定可控设备相对于计算设备的相对位所;以及基于相对位所触发在计算设备上显示用于与可控设备交互的用户界面。
另一方面是一种方法,包括:确定针对计算设备的位所估计;基于位所估计标识多个可控设备;确定可控设备相对于计算设备的相对位所;以及基于可控设备的相对位所,触发在计算设备上用户界面的显示,该用户界面包括多个可控设备的空间表示。
又一方面是一种方法,包括:基于计算设备瞄准的瞄准方向标识物理空间内的可控设备;确定可控设备相对于计算设备的瞄准方向的角度偏移;以及触发在计算设备上指示所确定的角度偏移的用户界面的显示。
在附图和以下描述中阐述了一种或多种实施方式的细节。从描述和附图以及从权利要求中,其他特征将是显而易见的。
附图说明
图1是图示根据示例实施方式的系统的框图。
图2是包含图1的计算设备和通信集线器和多个可控设备和无线通信设备的示例物理空间的俯视图。
图3A和3B是示例物理空间的第三人称视图,其中用户基于图1的计算设备瞄准可控设备与可控设备交互。
图4是根据在此描述的实施方式的将内部空间中的第一信号类型的输入信号与第二信号类型的输入信号相关联的示例方法的图。
图5是根据本文描述的实施方式的确定物理空间内的计算设备的位所的示例方法的图。
图6是根据本文描述的实施方式的确定物理空间内的计算设备的位所的示例方法的图。
图7是根据在此描述的实施方式的确定物理空间内的计算设备的位所的示例方法的图。
图8是根据本文描述的实施方式的为可控设备生成描述性信息的示例方法的图。
图9是根据本文描述的实施方式的为可控设备生成描述性信息的示例方法的图。
图10是根据在此描述的实施方式的将可控设备与物理空间中的位所和房间名称相关联的示例方法的图。
图11是根据在此描述的实施方式的对位于物理空间中的可控设备进行分组的示例方法的图。
图12是根据本文描述的实施方式的显示指示计算设备所瞄准的可控设备的用户界面的示例方法的图。
图13包括根据本文描述的实施方式的具有可控设备的指示器的示例用户界面屏幕。
图14是根据本文描述的实施方式的显示指示可控设备的相对位所的用户界面的示例方法的图。
图15A-15C包括根据本文描述的实施方式的指示对可控设备的偏移的用户界面的示例。
图16是根据本文描述的实施方式的基于可控设备的相对位所显示用于与可控设备交互的用户界面的示例方法的图。
图17包括根据本文描述的实施方式的示例用户界面屏幕,该示例用户界面屏幕包括具有用于与可控设备交互的控件的可控设备的指示器。
图18包括根据本文描述的实施方式的示例用户界面屏幕,其包括具有用于与可控设备交互的控件的可控设备的指示器。
图19A-19C包括根据本文描述的实施方式的用于与可控设备交互的示例用户界面屏幕。
图20A-20C包括根据本文描述的实施方式的用于与可控设备交互的示例用户界面屏幕。
图21是根据在此描述的实施方式的向可控设备传送命令的示例方法的图。
图22是根据本文描述的实施方式的用户使用图1的计算设备与光可控设备交互并控制光可控设备的图示。
图23A和23B图示根据本文描述的实施方式的用户使用图1的计算设备的示例以与电视可控设备交互。
图24A和24B图示根据本文描述的实施方式的用户使用图1的计算设备的示例以标识物理空间中的可控设备并与该可控设备交互。
图25是根据本文描述的实施方式的标识多个可控设备并显示用户界面以表示多个可控设备的位所的示例方法的图。
图26A-26C包括根据本文描述的实施方式的用于显示多个可控设备的相对位所的示例用户界面屏幕。
图27示出可以被用于实现这里描述的技术的计算机设备和移动计算机设备的示例。
具体实施方式
现在将详细参考本公开的非限制性示例,其示例在附图中图示。下面通过参考附图描述示例,其中相同的附图标记指代相同的元件。当示出相同的附图标记时,不重复相应的描述,并且感兴趣的读者可以参考先前讨论的附图来描述相同的元件。
建筑物内可以远程控制的设备数量正在迅速增加。可控设备的一些示例包括灯、开关、插座(outlets)、恒温器、徽章阅读器、火灾或其他环境警报器、百叶窗、娱乐设备——诸如电视、音响、媒体播放器——和计算设备——诸如无线网络接入点、打印机、扫描仪、和复印机。在某些情况下,建筑物可能具有多个相同类型的可控设备。例如,一座办公楼可能有成百上千个相同或几乎相同的可控灯泡。个人空间,诸如家,也可能有许多各种类型的可控设备。
用户可能希望使用例如智能手机来访问、控制或以其他方式与目标可控设备通信。但是,在这些情况下,用户可能难以在众多可用设备中标识目标设备。此外,用户最初配置可控设备并将它们与内部空间中的位所相关联可能具有挑战性。当使用确定计算设备的位所的传统方法时,这些困难可能复杂,这些方法在内部空间内通常表现不佳。
用户通常需要一个简单的过程来在物理空间内设立或配置这些可控设备。然而,设置配置新添加的可控设备往往需要确定物理空间内的位所并了解物理空间的布局。例如,在全球定位系统(GPS)信号可能不可用、不准确或不可靠的情况下,确定内部物理空间内的位所存在许多技术问题。当GPS不可用时,可以使用视觉定位系统,其试图基于将相机捕获的图像与已知的特征或空间图像的集合进行比较来确定位所。但是视觉定位系统可能需要访问内部空间的详细映射,并且可能使用大量数据、处理周期、时间和功率。此外,即使可以确定位所,在不了解可控设备所处的上下文的情况下,也可能难以为新添加的可控设备标识和提供有意义的名称。用于将新添加的可控设备配置到内部空间的常规过程通常无法确定设备已添加到什么类型的空间或设备已添加到空间内的何处。此外,用于配置新添加的可控设备的常规过程无法确定何时应将可控设备分组以用于控制目的(例如,使得单个命令可以激活、影响或停用插入单个固定装置的数个灯泡)。因此,为了为可控设备提供有意义的描述性信息,在理解室内空间的上下文方面存在许多技术问题。
本公开描述在确定内部空间内的位所方面的技术改进。这些改进可以允许诸如智能手机的移动计算设备使用比使用现有技术所需的更少的数据、处理周期或功率来确定内部空间内的位所。此外,本公开描述对现有新添加的可控设备配置到物理空间的过程的技术改进,包括标识新添加的可控设备、确定关于物理空间的布局信息以及生成关于新添加的可控设备的描述性信息。
在一些实施方式中,用户通过将计算设备瞄准可控设备来瞄准可控设备。例如,将计算设备瞄准可控设备可以包括以特定方式相对于可控设备(或目标位置)定向计算设备。在一些实施方式中,用户通过将移动计算设备(例如,智能电话或平板电脑)的至少一部分物理地对准(例如,瞄准、指着(pointing)、定向)可控设备来瞄准可控设备。例如,用户可以通过将计算设备的顶部物理地指向可控设备来瞄准可控设备(例如,像计算设备是遥控器一样)。在一些实施方式中,用户通过将移动计算设备的相机镜头物理地瞄准可控设备来瞄准可控设备,移动计算设备可以位于计算设备的背板上。将计算设备瞄准可控设备可以包括将计算设备瞄准可控设备而不发射指向(directed to)可控设备的信号(即,计算设备不发射IR信号或激光信号)。
当用户瞄准可控设备时,移动计算设备确定对应于位所和方向的坐标。例如,可以使用移动计算设备的视觉定位模块来确定位所,并且可以基于如使用视觉定位模块确定的或如使用例如惯性运动单元测量的移动计算设备的定向来确定方向。一些实施方式包括头戴式显示设备并且用户可以通过查看可控设备来瞄准设备。一些实施方式还可以包括手部跟踪模块,并且用户可以通过在可控设备处做手势(例如,指着)来瞄准可控设备。然后计算设备可以存储(例如,在本地或在远程服务器上)包括所确定的坐标的与可控设备相关联的信息。在一些实施方式中,计算设备还可以建立与可控设备相关联的相交体。相交体的尺寸和形状可以基于可控设备的属性,可控设备的属性是基于可控设备的类型确定的。在一些实施方式中,可以基于可控设备占据多少相机的视场来确定相交体的尺寸和形状。当确定目标坐标时,计算设备可以确定(或建议)关于可控设备的一些附加信息,诸如名称、房间指配和设置用于控制设备的访问/许可。
虽然这里描述的许多示例使用视觉定位系统来确定计算设备的位所和定向,但是其他实施方式可以使用其他类型的位所和定向技术。使用提供计算设备的6自由度姿态的其他类型的6自由度(6-dof)定位系统实施方式是可能的。
之后,用户可能瞄准可控设备,该可控设备先前已被添加到物理空间的三维表示中,以调用界面来控制该设备。例如,计算设备可以基于在用户瞄准可控设备时确定的位所和方向来生成射线。然后计算设备可以针对与物理空间的三维表示中的可控设备相关联的坐标和/或相交体来评估射线。如果射线与交叉体之一相交或通过坐标附近,则可以显示控制相关联的可控设备的界面。如果射线指向多个可控设备,则可以显示选择界面以允许用户选择期望的目标设备。可控设备可以按照基于与用户的距离确定的顺序在选择界面上列出。
虽然这里描述的许多示例涉及将智能手机朝向可控设备定向并使用由智能手机显示的用户界面来控制设备,但是替代方案是可能的。例如,一些实施方式包括增强现实(AR)系统,其中用户佩戴头戴式显示器,其可以在用户的视野上覆盖内容。在这些实施方式中,用户可以使用手势、头部定向或甚至凝视来瞄准可控设备。用于控制已标识设备的用户界面然后可以覆盖在用户的视野上。
图1是图示根据示例实施方式的用于设备控制和配置的位所确定的系统100的框图。在一些实施方式中,系统100包括计算设备102、通信集线器104和位所数据源106。还示出网络108,计算设备102可以通过该网络108与通信集线器104和位所数据源106进行通信。计算设备102可以经由通信集线器104与至少一些可控设备通信。计算设备102还可以直接与至少一些可控设备通信。
通信集线器104是被配置成与可控设备无线通信的网络连接设备。在一些实施方式中,通信集线器104还可以被配置成与计算设备102通信。通信集线器104可以使用第一通信协议来与计算设备102通信,诸如WiFi或蓝牙。通信集线器104可以使用第二通信协议来与可控设备通信。在一些实施方式中,通信集线器104可以响应于从计算设备102接收到的指令以可控设备所需的特定形式发出命令。
计算设备102可以包括存储器110、处理器组件112、通信模块114、显示设备116和传感器系统150。存储器110可以包括位所确定引擎120、设备配置引擎130、场景识别引擎132、设备标识引擎134、设备控制引擎136、设备配置数据138、位所数据140和用户界面引擎142。在一些实施方式中,计算设备102是移动计算设备(例如,智能手机)。
传感器系统150可以包括各种传感器,诸如相机组件152。传感器系统150的实施方式还可以包括其他传感器,包括例如惯性运动单元(IMU)154、光传感器、音频传感器、图像传感器、距离和/或接近传感器、诸如电容式传感器的接触传感器、定时器和/或其他传感器和/或传感器的不同组合。在一些实施方式中,位所确定引擎120可以使用通信模块114和传感器系统150来确定计算设备102在物理空间内的位所和定向和/或识别物理空间内的特征或对象。
相机组件152捕捉图像数据,诸如计算设备102周围物理空间的图像和/或视频。相机组件152可以包括一个或多个相机,一个或多个相机相机可以被布置在计算设备102上的任何位置处。相机组件152还可包括红外相机。使用相机组件152捕获的图像或图像数据可以被用于基于从存储器110或者诸如位所数据源106的外部计算设备接收的物理空间的表示来确定计算设备102在物理空间内的位所和定向。在一些实施方式中,物理空间的表示可以包括物理空间的视觉特征(例如,从物理空间的先前捕获的图像中提取的特征)。该表示还可以包括与视觉定位系统可以使用的那些特征相关联的位所确定数据,来基于物理空间的一个或多个图像来确定物理空间内的位所和/或位置。该表示还可以包括物理空间内的至少一些结构的三维模型。在一些实施方式中,该表示不包括物理空间的三维模型。
位所确定引擎120可以被配置成执行一种或多种内部位所估计技术。内部位所估计技术可以包括用于确定移动计算设备在诸如家庭或建筑物内部的内部空间内的位所的技术。至少一些内部位所估计技术也能够估计外部空间中的位所。内部位所估计技术可以均与不同的误差界限相关联。此外,这些技术可能需要访问计算设备102的不同资源或可能使用不同数量的处理周期、内存或时间来估计计算设备102的位所。
误差界限可以包括对应于内部位所估计技术的准确度或精确度的数值。估计中的误差可以基于移动计算设备的实际位所和移动计算设备的估计位所之间的差异来确定。误差越小,估计越接近移动计算设备的实际位所。误差界限可以表征来自位所估计技术的预期误差。例如,数值可以表示估计技术的最大误差。数值还可以表示估计技术的概率误差范围。例如,数值可以表示误差距离,使得估计的预定义部分(诸如90%或95%)具有小于误差距离的误差值(即,估计的预定义部分比误差距离更准确)。误差界限还可以包括对应于表征位所估计技术的误差的统计或概率值的数值,诸如标准偏差或方差。
在一些实施方式中,位所确定引擎120可以包括位所近似引擎122和位所细化引擎124。位所近似引擎122可以使用第一位所估计技术来估计计算设备102的位所,并且位所细化引擎124可以使用第二位所估计技术来估计计算设备102的位所。例如,第一位所估计技术可能具有比第二位所估计技术更大的误差界限(即,第一位所估计技术可能不如第二位所估计技术准确或精确)。
在一些实施方式中,位所近似引擎122基于位所估计技术实施无线信号。位所近似引擎122可以基于由移动计算设备接收的无线信号——诸如由一个或多个无线通信设备生成的无线信号——来估计移动计算设备的位所。无线通信设备的示例包括无线网络接入点、路由器、交换机和其他可控设备。在一些实现方式中,无线通信设备是不自行移动并且不打算定期移动的固定设备。无线通信设备可以是例如具有到外部电源的物理连接的设备(例如,插入壁式插座中,或插入壁式插座中的另一设备或固定装置)。
例如,位所近似引擎122可以估计计算设备102和一个或多个无线通信设备之间的距离。距离估计可以基于与无线通信设备通信的往返时间。例如,距离估计可以基于Wi-Fi往返时间(也称为往返延迟时间),这可以由实现IEEE 802.11mc标准的设备支持。在一些实施方式中,在从计算设备102向无线通信设备发送信号时和在计算设备102处接回来自该无线通信设备的确认信号时测量持续时间。然后持续时间可以转换为基于信号通过空气的传播速率信号行进的近似距离。在一些实施方式中,可以基于响应信号的实际或预期延迟(例如,处理接收信号或生成确认信号的计算延迟)来调整持续时间。然后可以将计算设备102和无线通信设备之间的距离确定为行进的信号的距离的一半。
位所近似引擎122可以使用来自多个无线通信设备的距离估计来估计移动计算设备的位所。例如,一些实施方式使用来自三个或更多无线通信设备的距离估计。在一些实施方式中,无线通信设备的先前建立的位所(例如,相对于物理空间的表示的位所)可以被用于使用三角测量来确定移动计算设备的位所。先前建立的位所可以对应于相对于表示物理空间的坐标系的绝对位所。
先前建立的位所也可以是相对于包括可控设备的其他无线通信设备的相对位所。先前建立的位所还可与计算设备102的先前位所或计算设备102先前检测到的环境特征或先前由计算设备102识别的对象有关(例如,基于用计算设备102捕获的图像数据)。
基于相对位所数据,位所近似引擎122可以确定计算设备102相对于计算设备102的先前位所、无线通信设备的位所、一个或多个可控设备的位所、计算设备102先前已识别的对象的位所、或计算设备102先前捕获的特征的位所中的一个或多个的位所。
由位所近似引擎122生成的位所估计可以准确到一米或两米之内。在一些实施方式中,来自位所近似引擎122的位所估计的误差界限可以是一米、两米或另一距离。在一些实施方式中,位所近似引擎122可以确定计算设备102位于物理空间内的哪个房间。在一些实施方式中,位所近似引擎122生成的位所估计仅包括位所但不包括定向信息(即,位所近似引擎122不生成计算设备102的6自由度姿态的估计)。
在一些实施方式中,位所细化引擎124可以包括视觉定位系统,其通过将由相机组件152捕获的图像或图像数据(或从这些图像中提取的特征或在这些图像中识别的对象)与物理空间的表示内的特征的已知布置进行比较以确定物理空间内的计算设备102的6自由度(6DOF)姿态(例如,位所和定向)来实施位所估计技术。
在一些实施方式中,位所细化引擎124可以开始于或以其他方式使用由位所近似引擎122确定的位所估计来估计移动计算设备的位所。例如,位所细化引擎124可以从位所近似引擎122检索与位所估计相对应的物理空间的表示的一部分。物理空间的表示的一部分可以对应于房间(诸如客厅、公室、厨房、卧室等),来自位所近似引擎122的位所估计指示计算设备102位于其中。
然后位所细化引擎124可以将从由相机组件152捕获的图像数据中提取的特征与物理空间的表示的部分中的特征进行比较,以确定移动计算设备在物理空间的表示的部分内的位所。例如,可以通过识别与提取的特征最相似的物理空间特征的表示部分存在于何处来确定位所。然后位所细化引擎124可以标识可以将提取的特征映射到表示内标识的特征的变换。基于该变换,位所细化引擎124可以确定相对于物理空间表示的部分内标识的特征的相机组件152(并且因此计算设备102)的镜头的位所和定向。有利地,因为位所细化引擎124正在将提取的特征与仅物理空间的表示的一部分而不是整个物理表示中的特征进行比较,所以可以使用更少的数据和时间以及更少的处理周期更快地执行比较。
在一些实施方式中,位所细化引擎124使用机器学习模型来生成对计算设备102的位所估计。例如,机器学习模型可以包括神经网络。尽管这里的许多示例指的是神经网络,但是应当理解,也可以应用其他类型的机器学习模型来生成位所估计。神经网络的输入层可以接收各种类型的输入数据。在一些实施方式中,神经网络的输入数据包括来自位所近似引擎122的位所估计和由位所近似引擎122确定的与无线通信设备的估计距离中的一个或多个。在一些实施方式中,输入数据还可以包括一个由相机组件152捕获的一个或多个图像数据、从图像数据中提取的特征、或在图像数据内识别的对象。输入数据还可以包括其他信号,诸如由IMU 154生成的定向或加速度数据。输入数据还可以包括虚拟锚点(有时称为云锚点)或物理空间内的其他识别实体的相对位所。虚拟锚点可以是物理空间内的先前标识的位所,其可以基于从图像数据中提取的特征来识别。虚拟锚点可以例如对应于物理空间的表示中的位所并且可以允许将表示映射到物理空间。
机器学习模型可以对这些输入应用各种权重,并组合加权输入以生成位所估计。在一些实施方式中,机器学习模型包括具有多个网络层的神经网络模型。每个层可以包括值的阵列,这些值被计算为前一层上的一些或所有值的加权组合。可以使用使用训练数据语料库的训练过程来确定权重。训练数据可以包括用预期输出数据(即,位所数据)标记的训练输入数据。在训练过程中,权重基于来自于网络的实际输出数据与预期输出数据之间的差异进行迭代调整。随着通过连续轮次训练调整权重,来自于神经网络的输出数据可能变得更接近训练数据的预期输出数据。此后,神经网络可以使用在训练期间学习的权重以从不属于训练输入数据的一部分的输入数据中预测位所数据。
在一些实施方式中,位所细化引擎124提供的位所估计可以比位所近似引擎122提供的位所估计更准确。例如,位所细化引擎124提供的位所估计的误差界限可以小于位所细化引擎124提供的位所估计的误差界限。在一些实施方式中,来自位所细化引擎124的位所估计的误差界限可以是一毫米、两毫米、五毫米、一厘米、两厘米、五厘米、十厘米、二十厘米、五十厘米、一米、两米,或其他距离。在一些实施方式中,由位所细化引擎124生成的位所估计包括计算设备102的6DOF姿态(即,位所估计包括计算设备102的位所和定向两者)。
设备配置引擎130配置可控设备。例如,设备配置引擎130可以确定关于未配置的可控设备的位所和描述性信息,诸如最近添加到物理空间的可控设备。配置可控设备可以包括在数据存储中存储关于可控设备的位所和信息。
位所可以是相对于物理空间的表示的位所。描述性信息可以包括可控设备的描述名称和可控设备所位于的房间。在一些实施方式中,设备配置引擎130还可以将可控设备分组在一起,使得它们可以被共同控制(例如,用单个命令控制)。可以基于彼此接近度、类型以及与公共固定装置的关联中的一个或多个来对可控设备进行分组。例如,安装在单个固定装置中的多个可控灯泡可以组合在一起,使得可控灯泡可以被一致地激活、停用、变暗或以其他方式变更(例如,颜色调整)。
在一些实施方式中,设备配置引擎130基于利用位所确定引擎120确定计算设备102的位所并且基于图像数据确定可控设备相对于计算设备102的相对位所来确定可控设备的位所。例如,当计算设备102被定向为使得可控设备在相机组件152的视野内时,可以确定可控设备的位所。
在一些实施方式中,当用户激活计算设备102上的配置模式并致动通信集线器104上的物理控制(例如,通过按下按钮)时,配置可控设备的过程被启动。在一些实施方式中,例如,可以使用由例如计算设备102的用户界面引擎142生成的用户界面来激活配置模式。在一些实施方式中,配置可控设备的过程通过捕获条形码的图像、贴纸或可控设备上的QR码、可控设备的包装或伴随可控设备的材料来启动。在一些实施方式中,然后计算设备102或通信集线器104可以使未配置的可控设备间歇地开启或断开闪光(例如,通过向可控设备传送命令)。计算设备102或通信集线器104可以指示未配置的可控设备显示特定图像,诸如条形码或QR码。设备配置引擎130可以基于闪光或基于标识正在显示的图像来标识相机组件152的视场内的可控设备。
在一些实施方式中,可以在相机组件152的视野内识别多个未配置的可控设备。当通信集线器104检测到多个未配置的可控设备时,通信集线器104可以使可控设备在不同的时间闪光。然后,设备配置引擎130可以基于设备闪光的时间来将可控设备彼此区分。以这样的方式,所确定的位所和其他描述性信息可以与正确的可控设备相关联(例如,因此用户可以使用位所或描述性信息来选择要控制的可控设备)。
在一些实施方式中,设备配置引擎130可以基于可控设备的类型、可控设备所位于的房间、房间内的其他可控设备的存在和类型、房间内的对象、可控设备附近的对象以及可控设备相对于这些对象的相对位所中的一个或多个来确定可控设备的名称。例如,设备配置引擎130可以为安装在绿灯中的可控灯泡生成名称“绿灯”。名称可以基于基于由相机组件152捕获的图像数据识别物理空间中的对象——诸如绿灯——来生成。在一些情况下,名称是基于识别可控设备被插入或物理连接到的物理空间中的对象而生成。如果多个可控灯泡被标识为插入绿灯,则可以生成控制组以允许对所有这些可控灯泡进行共同控制。可以为控制组生成名称,诸如“绿灯中的灯”,该控制组反映该组包括多个可控设备。
在一些实施方式中,可以基于靠近可控设备的一个或多个识别的对象来生成名称。例如,如果沙发被识别为靠近可控灯泡,则可以基于沙发的存在生成名称(例如,“沙发附近的灯泡”)。此外,房间类型可以被包括在生成的名称中。例如,如果确定可控设备布置在可能是客厅的房间中,则可以生成名称“客厅中的灯泡”。房间的类型可以从房间中标识的对象和从房间的图像数据中提取的特征来推断。在一些实施方式中,可以从包括房间描述符的空间的表示中检索房间的类型。
各种实施方式可以使用不同的阈值来确定对象何时靠近可控设备。在一些实施方式中,可以基于在物理空间中识别的最近的对象来生成名称。在一些实施方式中,名称是基于物理空间中识别的特定类型的最近对象生成的。例如,可以将识别的对象与可用于生成名称的对象类型列表进行比较。对象类型列表可以包括不太可能频繁地移动或改变的家具和其他类似物品(例如,接近沙发、桌子或室内植物可能对生成的名称有用,而接近香蕉或铅笔不太可能有用)。在一些实施方式中,可以基于多个附近的识别对象来生成名称。
在一些实施方式中,可以基于相对于一个或多个识别对象的相对位所来生成名称。例如,名称“沙发左侧的灯”或名称“沙发和室内植物之间的灯”可以基于物理空间中识别的对象生成。在一些实施方式中,仅当存在多个相似的可控设备时并且当基于与物体的接近度的名称不足以区分可控设备时(例如,当两个灯布置在沙发的相对侧时)才生成基于相对位所的名称。
场景识别引擎132识别物理空间内的对象。例如,场景识别引擎132可以基于用相机组件152捕获的图像数据来识别对象。场景识别引擎132可以包括机器学习模型,该机器学习模型已经被训练以基于图像数据识别各种对象。可由场景识别引擎132使用的机器学习模型的示例包括但不限于神经网络和卷积神经网络。在一些实施方式中,场景识别引擎132可以被配置成识别对象类型的有限列表。可以基于在命名可控设备或确定房间类型中有用的对象类型来选择对象类型列表。
场景识别引擎132还可以基于例如从图像数据中提取的特征来识别物理空间的其他方面,诸如墙壁、地板、天花板和其他表面的存在。场景识别引擎132可以确定物理空间的属性,诸如房间的大致尺寸。
设备标识引擎134标识物理空间内的可控设备。在一些实施方式中,设备标识引擎134基于计算设备102在物理空间内的位所(例如,由位所确定引擎120确定)来标识可控设备。在一些实施方式中,设备标识引擎134基于物理空间内的计算设备102的6自由度姿态(即,位所和定向)来标识可控设备。设备标识引擎134可以基于计算设备102接近可控设备来标识可控设备。例如,设备标识引擎134可以基于可控设备是如位所确定引擎120所确定的距离计算设备102的位所的预定义阈值距离内的唯一或最近的可控设备来标识可控设备。在一些实施方式中,基于是位所确定引擎120已经确定计算设备102所位于的房间内的唯一可控设备来标识可控设备。在至少一些实施方式中,设备标识引擎134可以基于由位所近似引擎122确定的位所的接近度来标识设备,而不使用位所细化引擎124和/或不使用由相机组件152捕获的图像数据(从计算和电池使用的角度来看,这可能很昂贵)。
在一些实施方式中,设备标识引擎134可以基于计算设备102瞄准可控设备或接近可控设备来标识可控设备。在一些实施方式中,将计算设备102的顶部边缘朝向目标可控设备(例如,像传统遥控器瞄准电视一样)定向瞄准计算设备102。在一些实施方式中,将计算设备102的后表面定向在可控设备上(例如,当使用传统放置的移动电话相机镜头拍摄可控设备的照片时会这样做)来瞄准计算设备102。在一些实施方式中,设备标识引擎134至少部分地基于诸如来自相机组件152的图像数据或来自IMU 154的定向数据的来自传感器系统150的数据来标识设备。设备标识引擎134可以基于计算设备102的6自由度姿势(例如,由位所细化引擎124确定)标识可控设备。
设备控制引擎136允许用户使用计算设备102来控制物理空间——诸如建筑物——中的设备(其可以被称为可控设备)。在一些实施方式中,设备控制引擎136允许用户基于瞄准可控设备的计算设备102来控制特定可控设备。例如,当用户将计算设备102瞄准可控设备时,设备控制引擎136可以使用设备标识引擎134来标识用户瞄准计算设备102的设备。例如,设备标识引擎134可以基于用户瞄准的方向和使用位所确定引擎120确定的计算设备102的位所来标识可控设备。设备标识引擎134可以在物理空间的表示中的方向上从确定的位所投射射线,并且然后确定射线是否与表示中的任何可控设备相交或在预定距离内通过。在一些实施方式中,可控设备与表示中的相交体相关联,并且当射线与可控设备的相关联的相交体相交时标识可控设备。
设备配置数据138可以包括位所信息,诸如坐标,和/或与可控设备相关联的相交体。设备配置数据138还可以包括关于可控设备的名称、描述性信息和房间信息。在一些实施方式中,设备配置数据138还可以包括用户界面、用于控制可控设备并与可控设备交互的命令协议,以及关于可控设备的其他信息(例如,类型信息、注释、用户许可或访问控制属性等)。在一些实施方式中,坐标和/或相交体是使用位所确定引擎120生成的。例如,可控设备的位所可以由从物理空间内将计算设备102瞄准可控设备的用户指示。在一些实施方式中,从位所数据源106检索坐标和/或相交体,该位所数据源106可以存储关于由多个用户提供的可控设备的信息。
位所数据140可以存储关于一个或多个位所的信息。在一些实施方式中,位所数据140可以存储(或缓存)从位所数据源106检索的数据。位所数据140可以包括物理空间的二维或三维表示。位所数据140还可以存储特征,诸如物理空间的视觉特征,其可以用于基于由相机组件152捕获的图像数据来估计计算设备102的位所。位所数据140还可以包括一个或多个更多房间标签、尺寸和描述,以及物理空间的项目标签和描述。
用户界面引擎142生成用户界面。用户界面引擎142还可以使客户端计算设备102显示生成的用户界面。生成的用户界面可以例如显示关于可控设备的信息,包括它们相对于计算设备102正瞄准的方向的相对位所。例如,用户界面引擎142可以生成包括弧形用户界面元素、或圆形用户界面元素、或放射状用户界面元素的用户界面,其中图标表示可控设备,这些图标被放置在基于与计算设备瞄准方向的角度偏移元素确定的位所处的元素的周边上。在一些实施方式中,用户界面引擎142生成包括一个或多个用户可致动控件的用户界面,每个用户可致动控件与用于可控设备的命令相关联。例如,用户可以致动用户可致动的控件之一(例如,通过触摸触摸屏上的控件、使用鼠标或另一输入设备点击控件、或以其他方式致动控件)。在一些实施方式中,用户界面可以被配置成将计算设备102的手势或移动识别为用户输入。例如,用户界面引擎142可以生成用户输入,其当计算设备102旋转使得计算设备102的边缘被向上或向下倾斜的同时触摸并保持用户界面上的用户可致动控件时触发针对可控设备的命令。该用户输入可以使计算设备102向可控设备传送增加/减少音量或亮度的命令。
在一些实施方式中,位所确定引擎120、位所近似引擎122、位所细化引擎124、设备配置引擎130、场景识别引擎132、设备标识引擎134、设备控制引擎136和用户界面引擎142可以包括存储在存储器110中的指令,当由处理器组件112执行时,这些指令使处理器组件112执行这里描述的操作以确定位所,基于位所配置可控设备,并基于位所与可控设备交互。设备配置数据138可以包括存储在存储器中的数据,并且在至少一些实施方式中包括指令,当由处理器组件112执行时,所述指令使处理器组件112显示用户界面并发出命令以与各种控制设备交互。
设备配置引擎130和设备控制引擎136可以使显示设备118基于从相机组件152、IMU 154和/或传感器系统150的其他组件接收到的输入显示由用户界面引擎142生成的用户界面。例如,IMU 154可以检测计算设备102和/或相关联的头戴式显示设备(HMD)的运动、移动和/或加速度。IMU 154可以包括各种不同类型的传感器,诸如例如加速度计、陀螺仪、磁力计和其他此类传感器。可以基于位所确定引擎120和/或IMU 154中包括的传感器提供的数据来检测和跟踪计算设备102(和/或相关联的HMD)的定向。检测到的计算设备102(和/或相关联的HMD)的定向可以允许系统确定用户瞄准的方向。基于检测到的定向,设备控制引擎136可以使用设备标识引擎134来确定用户正瞄准的可控设备并且使用户界面引擎142以生成相关联的用户界面以与可控设备交互。在一些实施方式中,设备配置引擎130可以使用所确定的方向来标识用户将计算设备102瞄准的围绕用户的物理空间的表示中的位所。在一些实施方式中,在三维空间中标识位所可能需要确定用户从物理空间内的不同位所多次瞄准的方向。
虽然在图1中没有具体示出,但是一些实施方式可以包括HMD。在一些实施方式中,HMD可以是与计算设备102分离的设备。在一些实施方式中,计算设备102可以体现在HMD中。在计算设备102与HMD分离的一些实施方式中,计算设备102可以无线地或经由电缆与HMD通信。例如,计算设备102可以向HMD传送视频信号和/或音频信号以供用户显示,并且HMD可以向计算设备102传送运动、位所和/或定向信息。
计算设备102还可以包括各种用户输入组件(未示出),诸如使用无线通信协议与计算设备102通信的控制器。在一些实施方式中,计算设备102可以经由有线连接(例如,通用串行总线(USB)电缆)或经由无线通信协议(例如,任何WiFi协议、任何蓝牙协议、紫蜂等)与头戴式显示(HMD)设备(未示出)通信。在一些实施方式中,计算设备102是HMD的组件并且可以包含在HMD的外壳内。
存储器110可以包括一个或多个非暂时性计算机可读存储介质。存储器110可以存储指令和数据,计算设备102可使用所述指令和数据以基于计算设备102的位所确定目标位所的坐标和/或基于瞄准目标可控设备的用户标识目标可控设备。
处理器组件112包括一个或多个能够执行指令——诸如由存储器110存储的指令——以执行与基于位置的位所指示和设备控制相关联的各种任务的设备。例如,处理器组件112可以包括中央处理单元(CPU)和/或图形处理器单元(GPU)。例如,如果GPU存在,则诸如为可控设备生成和显示用户界面的一些图像/视频渲染任务可以从CPU卸载到GPU。
通信模块114包括一个或多个用于与其他计算设备——诸如位所数据源106——通信的设备。通信模块114可以经由无线或有线网络——诸如网络108——进行通信。
IMU 154检测计算设备102的运动、移动和/或加速度。IMU 154可以包括各种不同类型的传感器,诸如例如加速度计、陀螺仪、磁力计和其他此类传感器。可以基于由包括在IMU 154中的传感器提供的数据来检测和跟踪计算设备102的位所和定向。在一些实施方式中,IMU 154被配置成检测HMD的位所和定向,这可以允许系统来检测和跟踪用户的凝视方向和头部移动。
网络108可以是因特网、局域网(LAN)、无线局域网(WLAN)和/或任何其他网络。例如,计算设备102可以经由网络108与通信集线器104和位所数据源106通信。
图2是包含计算设备102、通信集线器104、可控设备240、242、244、246、250a、250b、250c、250d和252以及无线通信设备260、260和264的示例物理空间200的俯视图。在这个示例中,可控设备250a、250b、250c和250d被分组为可控设备组248。在这个示例中,可控设备240是恒温器,可控设备242是电视,并且可控设备244、246、250a、250b、250c、250d和252是灯泡。
在一些实施方式中,计算设备102可以基于用于与无线通信设备260、262和264通信的往返时间来确定第一位所估计。第一位所估计可以包括在物理空间200的表示内的位所。物理空间200的表示可以是二维或三维的。在一些实施方式中,第一位所估计可以包括基于测量的往返时间对计算设备可能位于其中的物理空间内的一个或多个房间的标识。在一些实施方式中,第一位所估计可以以与无线通信设备260、262或264中的一个或多个的距离来命名。在一些实施方式中,第一位所估计由标识物理空间200的二维表示内的位所的两个坐标值表示。在一些实施方式中,第一位所估计由标识物理空间200的三维表示内的位所的三个坐标值表示。
用户可以操作计算设备102来配置可控设备240、242、244、246、250a、250b、250c、250d和252。例如,用户可以通过致动由计算设备102显示的用户界面屏幕上显示的控制元素(例如,通过触摸虚拟按钮)或通过使用包括条形码、QR码或定义的图像(例如,印制在可控设备的包装材料上的图像、条形码或二维码、伴随可控设备的指令、或者甚至是在可控设备的表面上)的相机组件152使用计算设备102启动配置过程。然后计算设备102可以向通信集线器104发送指令以指示应该启动配置过程。在一些实施方式中,用户可以通过按下通信集线器104上的按钮来启动配置过程。
响应于启动配置过程,通信集线器104可以向一个或多个可控设备传送指令以触发可控设备执行标识动作。在一些实施方式中,计算设备102可以直接与一些或所有可控设备通信以触发标识动作。在一些实施方式中,所有可控设备被指示执行标识动作。在一些实施方式中,指示所有先前未配置的可控设备(例如,未配置的可控设备)执行标识动作。在一些实施方式中,指示用户已具体标识的一个或多个可控设备以执行标识动作。
标识动作可以允许计算设备102识别可控设备的存在和/或位所。在一些实施方式中,标识动作是可由计算设备102检测到的由可控设备生成的视觉提示。例如,可控设备可以根据特定模式或在特定时间闪烁或闪光,以便计算设备102可以基于经由相机组件152捕获视频或检测到闪烁或闪光来识别特定可控设备的存在和位所。在一些实施方式中,标识动作可以包括可控设备显示一个或多个特定图像,计算设备102可以识别何时可控设备在相机组件152的视野内。可标识动作还可以包括生成声音或声音模式,包括通常人类听不到的声音(例如,超声波或次声波)。
例如,在物理空间200中,可控设备240(恒温器)可以通过使LED每秒一次闪烁80毫秒来执行启动动作。当用户将计算设备102的相机组件152的镜头瞄准可控设备240时,设备配置引擎130可以处理由相机组件152捕获的图像数据以标识闪烁的LED。基于标识图像帧中闪烁的LED的位所,然后可以确定可控设备240的相对位所。并且可控设备240的相对位所可以与计算设备102的位所的位所估计组合以确定可控设备240的位所。可控设备240的确定的位所可以相对于物理空间200的(例如,在位所数据140或位所数据源106中)的表示被存储。
类似地,可控设备244、246、250a、250b、250c、250d和252(灯泡)可以在特定模式期间和/或根据特定模式在特定时间间隔的配置过程期间通过闪烁来执行标识动作。如果同时配置了一个以上的可控设备,则可以指示每个可控设备以在不同的特定时间、不同的时间间隔和/或根据不同的模式闪烁。当用户将计算设备102的相机组件152的镜头瞄准这些可控设备时,设备配置引擎130可以处理由相机组件152捕获的图像数据以标识闪烁的灯并确定时间、时间间隔和闪烁的模式。基于确定的时间、时间间隔和模式,可以单独标识视野内的每个可控设备。所标识的可控设备的位所可以相对于先前已经描述的物理空间200的表示来确定。然后这些位所可以关联地存储在允许向可控设备发送指令的可控设备的标识符内。
在一些实施方式中,当多个可控设备的位所被确定为在彼此的阈值距离内时,可控设备可以被分组在一起。在此示例中,可控设备250a、250b、250c和250d被组合在一起作为可控设备组248。可控设备组248可以允许成员可控设备从用户角度被视为单个可控设备(例如,使得用户只需向组发送单个命令以控制所有成员设备)。在一些实施方式中,当所有可控设备彼此在阈值距离内时,对可控设备进行分组。在一些实施方式中,当可控设备在组中的至少一个其他可控设备的阈值距离内时,该可控设备被包括在该组中。
当用户瞄准在可控设备242处的计算设备102的相机组件152的镜头时,可控设备242(电视)可以通过显示特定图像来执行标识动作,该特定图像可以用于标识可控设备242及其位所。可以以特定尺寸显示特定图像。基于图像数据中特定图像的尺寸,可以推断到可控设备242的距离。类似地,基于图像的定向和任何剪切,可以确定计算设备102的视角。
因为可控设备被标识和配置,可以生成关于可控设备的各种类型的描述性信息。例如,可控设备可以与物理空间中的房间相关联。物理空间的表示可以包括房间名称。在一些实施方式中,房间名称由用户键入。在一些实施方式中,至少部分地基于房间内识别的对象来生成房间名称。例如,计算设备102的场景识别引擎132可以识别房间中的沙发和室内植物并且生成(或建议)该房间是客厅。类似地,计算设备102的场景识别引擎132可以识别各个房间中的餐桌、书桌或床并且生成(或建议)将房间分别标记为厨房、办公室和卧室。
在一些实施方式中,还为可控设备生成名称。生成的名称可以基于以下一项或多项:可控设备的类型、其中可控设备所位于的房间、可控设备附近的对象、可控设备与对象的相对位所以及房间内的位所。例如,设备配置引擎130可以基于可控设备类型和它所位于的房间为可控设备240生成名称“客厅恒温器”。设备配置引擎130可以基于确定客厅中还没有其他标识的恒温器可控设备来确定该名称足以唯一地标识可控设备240。类似地,出于类似的原因,设备配置引擎130可以为可控设备242生成名称“客厅电视”。
关于可控设备244和246,设备配置引擎130可以确定有必要包括比房间名称更多的描述性信息,因为客厅中存在多个可控灯泡。例如,设备配置引擎130可以通过组合可控设备类型、房间名称和房间内的位所来为可控设备244生成名称“客厅北灯泡”。类似地,在该示例中,设备配置引擎130可以生成名称“客厅南灯泡”。
作为另一示例,设备配置引擎130可以通过组合可控设备类型、房间名称、附近对象和相对于对象的位所来为可控设备244生成名称“沙发以北的客厅灯泡”。注意,如果沙发附近只有单个可控灯泡,则设备配置引擎130可以生成名称“沙发附近的客厅灯泡”,因为该名称将包括标识可控设备的足够细节。继续该示例,设备配置引擎130可以通过组合可控设备类型、房间名称、附近对象和相对于对象的位所来生成用于可控设备246的名称“沙发以南的客厅灯泡”。在一些实施方式中,设备配置引擎130可以通过组合可控设备类型、房间名称、附近对象和相对于附近对象的位所来为可控设备246生成名称“沙发和室内植物之间的客厅灯泡”。设备配置引擎130可以通过组合可控设备类型、房间名称和附近对象来为可控设备246可替代地生成名称“房子植物附近的客厅灯泡”,因为这些属性将足以将可控设备246与其他可控设备区分开。在一些实施方式中,设备配置引擎130可以为可控设备生成多个名称建议,然后可以将其呈现给用户(例如,在计算设备102上显示的用户界面屏幕上),使得用户可以选择名称为可控设备进行存储。
关于可控设备组248,设备配置引擎130可以通过组合可控设备类型、房间名称和可控设备已经被分组的事实来生成用于可控设备组248的名称“入口灯组”。作为另一示例,设备配置引擎130可以通过组合可控设备类型和房间名称来为可控设备252生成名称“卧室灯”。其他名称也是可能的,诸如“床头柜灯”,设备配置引擎130可以基于识别可控设备252下方的床头柜对象来生成。
图3A和3B是示例物理空间300的第三人称视图,其中用户基于将计算设备102瞄准、或指着或定向在可控设备340处的计算设备102而与可控设备340交互。在图3A中所示的示例性实施方式中,用户正在将以手持设备——诸如诸如智能电话、手持控制器等——的形式的计算设备102的顶部边缘瞄准可控设备340。在图3B中所示的示例性实施方式中,用户正瞄准或指着以HMD 102的形式体现的计算设备102,或者在可控设备340的方向上指向头部或眼睛凝视。在其他实施方式中,用户可以在可控设备340处不同得瞄准计算设备102(诸如,通过将计算设备102的相机瞄准可控设备340)。在一些实施方式中,用户可以用手势、头部运动或眼睛运动瞄准可控设备340。在一些实施方式中,计算设备102可以基于计算设备102指着、或瞄准或定向的方向304来捕获图像302。基于计算设备102的位所(例如,如使用位所确定引擎120确定的),设备标识引擎134可以标识图像302中的可控设备340。
在一些实施方式中,计算设备102生成虚拟射线,该虚拟射线起源于计算设备102并且在用户正瞄准或指着计算设备102的方向304上从计算延伸。计算设备102将沿着方向304的虚拟射线与存储在物理空间300的表示中的可控设备的先前定义的位所进行比较,以标识用户正瞄准可控设备340。
在图3A和图3B中所示的示例中,可控设备340是恒温器并且计算设备102显示用于与恒温器交互的用户界面310。特别地,在图3A中所示的示例中,用户界面310显示在例如计算设备102的显示屏上。在图3B中示出的示例中,用户界面由计算设备102(以HMD 102的形式)显示为例如在物理空间300内对用户可见的增强现实(AR)内容。图3A和3B中所示的用户界面310只是可以以这种方式生成的用户界面的一个示例,并且用户界面的不同实施方式将包括不同元素。在一些实施方式中,用户界面310是基于用户通过将计算设备102瞄准或指着特定方向中的计算设备102而选择或标识的可控设备的类型来生成的。
在图3A和图3B中所示的示例中,用户界面310包括信息字段312、增加控制元素314、温度字段316和减少控制元素318。信息字段312可以例如显示关于可控设备340的信息,诸如设备类型、名称、位所和/或用户先前键入的注释。温度字段316可以显示可控设备340感测到的当前温度和/或可控设备340的当前温度设置。可以致动增加控制元素314和减小控制元素318以调整可控设备340的温度设置。
除了可控设备340之外,物理空间300还包括可控设备342、344、346和348。在此示例中,可控设备342是电子显示设备,诸如电视、监视器、或其他此类显示设备。此外,在此示例中,可控设备344是开关,可控设备346是灯,并且可控设备348是插座。用户可以通过瞄准可控设备342/344/346/348中的选定一个来访问或控制选定的可控设备来标识这些可控设备中的任意一个。响应于用户瞄准示例性可控设备342/344/346/348之一,计算设备102可以生成用户界面,该用户界面提供专用于控制所标识的可控设备的元素。
如上所述,在一些实施方式中,用户界面310可以在计算设备102的显示设备上向用户显示,如图3A中所示。在一些实施方式中,用户界面310可以由用户佩戴的HMD 102显示为用户视野中的AR内容,如图3B中所示。在一些实施方式中,用户界面310可以覆盖在物理空间300的图像(或由计算设备102的相机组件152捕获的视频馈送)上。
仅出于讨论和说明的目的,将在各种示例性实施方式中描述和图示手持设备形式的计算设备102,诸如例如,智能电话或控制器等。然而,这里描述的原理可以应用于其他类型的计算设备,诸如例如,可穿戴计算设备——诸如例如HMD、腕戴设备等、平板计算设备、可转换计算设备、笔记本/膝上型计算设备以及配备有传感能力、显示能力等的其他此类移动计算设备。
图4是将内部空间中的第一信号类型的输入信号与第二信号类型的输入信号相关联的示例方法400的图。在此示例中,方法400被用于将往返时间信号与图像数据信号相关联。在一些实施方式中,方法400用于生成内部空间的表示,其可以被用于估计内部空间内的位所。在一些实施方式中,方法400由计算设备102多次执行,同时计算设备102在内部空间周围移动。以此方式,方法400可以被用于在内部空间内的多个位所构建第一输入信号类型(往返时间)和第二输入信号类型(例如,图像数据)之间的映射。
在操作402处,当计算设备102在内部物理空间中时,确定多个往返时间。多次往返时间中的每个往返时间可以对应于不同的无线通信设备。在一些实施方式中,无线通信设备全部被布置在正被映射的物理空间内。在一些实施方式中,确定往返时间的无线通信设备也被布置在内部物理空间之外。例如,如果公寓楼内的单个公寓正在被映射,则可以关于公寓内和公寓楼内的其他公寓内的无线通信设备来确定往返时间。
在操作404处,计算设备102捕获内部物理空间的图像数据。在操作406处,处理图像数据以标识物理空间的特征。例如,特征可以包括墙壁、地板、角落和边缘位所。在一些实施方式中,确定内部物理空间(或物理空间内的房间)的尺寸。在一些实施方式中,计算设备102与所确定的物理空间之间的距离。在一些实施方式中,内部物理空间内的对象也可以被识别。基于识别的特征和/或对象,一些实施方式可以推断房间名称或类型。
在操作408处,内部物理空间的特征具有被确定的多个往返时间。例如,往返时间可以与基于识别的特征和/或对象生成的内部物理空间的表示相关联。在一些实施方式中,确定的往返时间可以被存储在内部物理空间内的位所处,该位所基于计算设备102与识别的特征和/或对象之间的估计距离而被确定。
图5是确定计算设备在物理空间内的位所的示例方法500的图。例如,方法500可由计算设备102的位所确定引擎120执行以确定诸如内部物理空间的物理空间内的位所。
在操作502处,使用第一内部位所估计技术来确定计算设备的第一位所估计。例如,第一位所估计技术可以由位所近似引擎122执行。在一些实施方式中,位所近似引擎122使用往返时间(例如,到无线通信设备)来生成第一位所估计。例如,可以将计算设备捕获到的往返时间与存储在物理空间的表示中或以其他方式与物理空间的特征相关联的往返时间(例如,如使用方法400确定的)进行比较。在至少一些实施方式中,第一位所估计是在不捕获图像数据的情况下生成的。
在操作504处,通过使用第二内部位所估计技术细化(refining)第一位所估计来确定计算设备的第二位所估计。例如,第二位所估计技术可由位所细化引擎124执行。在一些实施方式中,位所细化引擎124捕获图像数据并从图像数据中提取内部物理空间的特征以确定第二位所估计。例如,可以将从图像数据中提取的特征与内部物理空间的表示中的已知特征进行比较(例如,基于尺寸、定向和/或图像数据中特征的定向来确定,从物理空间内的何处捕获图像数据)。在一些实施方式中,仅访问或检索表示的一部分以生成第二估计。
图6是确定计算设备在物理空间内的位所的示例方法600的图。例如,方法600可由计算设备102的位所确定引擎120执行以确定诸如内部物理空间的物理空间内的位所。
在操作602处,捕获第一信号类型的第一输入信号。例如,可以捕获无线通信信号以确定到一个或多个无线通信设备的往返时间。在操作604处,至少使用第一输入信号来确定对于计算设备的第一位所估计。
在操作606处,在确定第一位所估计之后,捕获第二信号类型的第二输入信号。第二信号类型可以不同于第一信号类型。例如,第二信号类型可以是由相机组件152作为图像数据捕获的光信号。在操作608处,至少基于第二输入信号和第一位所估计或第一输入信号来确定计算设备的第二位所估计。在至少一些实施方式中,直到已经确定第一位所估计之后才启用第二输入信号的捕获。
图7是确定计算设备在物理空间内的位所的示例方法700的图。例如,方法700可以由计算设备102的位所确定引擎120执行以确定诸如内部物理空间的物理空间内的位所。
在操作702处,确定多个往返时间。例如,每个往返时间可以对应于与不同无线通信设备通信的往返时间。在操作704处,基于往返时间确定对计算设备102的第一位所估计。
在操作706处,在确定第一位所估计之后,计算设备102的图像传感器(例如,相机组件152)被激活并且利用图像传感器对图像数据的捕获被触发。在至少一些实施方式中,图像传感器可以保持不活动直到操作706。在一些实施方式中,在图像传感器不活动并且没有捕捉到图像数据的同时确定第一位所估计。当图像传感器不活动时,可以使用较少的功率。在操作708处,基于图像数据和第一位所估计或往返时间中的至少一个来确定对计算设备102的第二位所估计。例如,第一位所估计可以被用于检索物理空间的表示(或表示的一部分)。作为另一示例,往返时间和图像数据(或从图像数据提取的物理空间的特征)可以用作对机器学习模型的输入,该机器学习模型为计算设备102生成位所估计。
图8是为可控设备生成描述性信息的示例方法800的图。例如,方法800可以由计算设备102的设备配置引擎130执行以在物理空间中配置可控设备。在一些实施方式中,响应于用户发起可控设备的配置过程而执行方法800。
在操作802处,确定对计算设备102的位所估计。可以根据这里描述的任何技术或通过任何其他位所确定技术来生成位所估计。
在操作804处,捕获可控设备的图像数据。例如,可以使用计算设备102的相机组件152来捕获图像数据。在一些实施方式中,图像数据包括可控设备所位于的物理空间的一部分。在一些实施方式中,计算设备102可以在图像数据被捕获时或在其被捕获之后在显示设备116上显示图像数据。在一些实施方式中,设备标识引擎134可以标识图像数据中的可控设备并且可以在显示设备116上生成视觉指示器。视觉指示器为计算设备102的用户标识可控设备(例如,使得用户可以确认或校正可控设备的标识)。如这里已经描述的,设备标识引擎134可以基于检测图像数据内的可控设备正在执行的标识动作来标识图像中的可控设备。
在操作806处,生成用于可控设备的描述性信息。描述性信息可以至少部分地基于为计算设备确定的位所估计。例如,基于图像数据确定可控设备相对于计算设备102的相对位所。基于对计算设备的相对位所和位所估计,可以确定对可控设备的位所。描述性信息可以包括设备的位所、名称和/或房间名称。房间名称可以基于将位所与物理空间的表示进行比较来确定。在一些实施方式中,房间名称可以基于图像数据来确定。例如,可以基于从图像数据中提取的物理空间的特征或基于图像数据在物理空间内识别的对象来推断房间名称。房间名称也可以基于将图像数据与物理空间的表示进行比较来确定。在一些实施方式中,基于所确定的房间、可控对象类型或在可控设备附近的物理空间中识别的对象类型来生成名称。
图9是为可控设备生成描述性信息的示例方法900的图。例如,方法900可以由计算设备102的设备配置引擎130执行以在物理空间中配置可控设备。在一些实施方式中,响应于用户发起可控设备的配置过程而执行方法900。
作为操作902,执行标识动作的可控设备的图像数据被捕获。例如,可以使用计算设备102的相机组件152来捕捉图像数据。图像数据可以包括图像或视频。
在操作904处,至少部分地基于标识动作在图像数据内标识可控设备。例如,可以分析由相机组件152捕获的视频数据以标识以与由可控设备执行的标识动作一致的方式闪烁的灯(例如,在特定时间、特定间隔和/或以特定频率)。
在操作906处,基于从图像数据确定的场境信息为可控设备生成描述性信息。在一些实施方式中,图像数据包括可控设备所位于的物理空间的一部分。场境信息可以从可控设备所位于的物理空间的图像数据中确定。例如,可以在图像数据内识别对象,并且这些对象的存在可以被用于生成可控设备的描述性信息,诸如可控设备的名称。检测到的对象还可用于推断可控设备所位于的房间类型。房间类型可用于生成可控设备的名称。可控设备也可以与房间相关联。
图10是将可控设备与物理空间中的位所和房间名称相关联的示例方法1000的图。例如,方法1000可以由计算设备102的设备配置引擎130执行以在物理空间中配置可控设备。在一些实施方式中,响应于用户发起可控设备的配置过程执行方法1000。
在操作1002处,为计算设备确定物理空间内的位所估计。在操作1004处,可以访问物理空间的表示。该表示可以被存储在位所数据140中或从位所数据源106中检索。在一些实施方式中,至少部分地基于位所估计来检索该表示。该表示可以是二维或三维的。
在操作1006处,基于位所估计和物理空间的表示来确定房间名称。在一些实施方式中,物理空间的表示的部分可以被标记或以其他方式与房间名称相关联。房间名称可能已由用户先前提供。在一些实施方式中,房间名称是基于在与房间相关联的物理空间的部分内收集的图像数据的对象识别而生成的。
在操作1008处,执行标识动作的可控设备的图像数据被捕获。在操作1010处,至少部分地基于标识动作在图像数据内标识可控设备。
在操作1012处,基于图像数据确定可控设备相对于计算设备的相对位所。在一些实施方式中,图像数据内的可控设备的尺寸或可控设备的一部分被用于推断到可控设备的距离。另外,可控设备的视角可以从可控设备在图像数据内的位所、定向和/或偏斜推断。在一些实施方式中,基于可控设备相对于从图像数据提取的特征的位所,相对于物理空间的表示来确定可控设备的位所。
在操作1014处,可控设备与物理空间和房间名称的表示中的位所相关联。在一些实施方式中,将可控设备与物理表示中的位所相关联包括存储包括可控设备的标识符和位所信息的数据记录。在一些实施方式中,然后可以基于房间名称或位所信息来接收可控设备的身份。
图11是对位于物理空间中的可控设备进行分组的示例方法1100的图。例如,方法1100可以由计算设备102的设备配置引擎130执行以配置多个可控设备。在一些实施方式中,响应于用户发起可控设备的配置过程执行方法1100。
在操作1102处,捕获包括执行第一标识动作的第一可控设备和执行第二标识动作的第二可控设备的物理空间的图像数据。图像数据可以包括捕获第一可控设备和第二可控设备两者的单个图像。图像数据可以包括视频数据,其具有平移穿过物理空间以捕获第一可控设备和第二可控设备的多个帧。第一和第二可控设备不需要在同一帧中被捕获。
在操作1104处,至少部分地基于第一标识动作在图像数据中标识第一可控设备。在操作1106处,至少部分地基于第二标识动作在图像数据中标识第二可控设备。
在操作1108处,确定第一可控设备和第二可控设备之间的距离。在一些实施方式中,基于确定第一可控设备和第二可控设备两者相对于计算设备或物理空间的表示的位所来确定距离。一旦相对于共同地标或参考系确定位所,就可以相对于彼此确定第一可控设备和第二可控设备的位所。在一些实施方式中,直接确定第一可控设备和第二可控设备之间的距离。
在操作1110处,确定距离是否小于预定阈值距离。如果是,则方法1100可以进入到操作1112,其中生成包括第一可控设备和第二可控设备的可控设备组。生成可控设备组可以允许从用户角度向两个可控设备发出单个命令。在一些实施方式中,仅特定类型的可控设备被组合在一起。
如上所述,在一些实施方式中,响应于确定可控设备之间的距离小于阈值距离,可控设备被分组在一起。尽管在该示例中将两个可控设备组合在一起,但是可以将多于两个的可控设备组合在一起。另外,在一些实施方式中,在现有可控设备组中的至少一个可控设备的阈值距离内的新可控设备可以被添加到该可控设备组。
图12是显示用户界面的示例方法1200的图,该用户界面指示计算设备瞄准、或指着或定向的可控设备。在计算设备是HMD的情况下,凝视方向(例如,头部凝视方向)可以标识计算设备瞄准或指着的可控设备。例如,方法1200可以由计算设备102的用户界面引擎142执行。在一些实施方式中,方法1200可以响应于检测到计算设备102的移动而执行。例如,在用户移动计算设备102之后,可以执行方法1200以确定用户是否将计算设备102瞄准(或靠近)可控设备并且确定是否显示可控设备的指示。在一些实施方式中,在计算设备102正在显示锁定屏幕的同时(例如,当计算设备处于锁定状态时)或当计算设备102正在执行导致显示设备116要显示的内容或用户界面元素的一个或多个应用可以执行方法1200。
在操作1202处,基于计算设备的瞄准方向标识物理空间内的可控设备。例如,可以基于由相机组件152捕获的图像数据来标识可控设备。图像数据可以由相机组件152的镜头捕获,该镜头指向计算设备102瞄准的方向。例如,如果计算设备102是像遥控器一样被握住的手持设备使得计算设备102的边缘(例如,当计算设备在肖像模式中使用时被布置在显示设备116的顶部上方时的顶部边缘)指着可控设备以瞄准可控设备,相机组件152可以使用布置在顶部边缘的镜头来捕获图像数据。类似地,如果计算设备例如是戴在用户头上的HMD,并且瞄准或指着可控设备的方向(即,头部凝视指向要标识的可控设备和/或选择用于交互),则计算设备102的相机组件152(以HMD的形式)可以使用其布置在HMD中的镜头来捕捉图像数据。图像数据可以被处理以标识包含在相机组件152的视野内的可控设备。图像数据还可以用于通过将从图像数据中提取的特征与物理空间的已知特征(例如,如可以从位所数据140或位所数据源106检索到的)进行比较确定(或细化)位所估计和/或确定计算设备102的定向。使用位所估计和确定的定向,可以基于可控设备在物理空间内的已知位所来确定可控设备。在一些实施方式中,基于计算设备102直接瞄准可控设备(例如,当从计算设备102沿瞄准方向延伸的假想射线与可控设备相交时)标识可控设备。在一些实施方式中,基于计算设备102大致瞄准可控设备来标识可控设备。例如,当在可控设备的阈值距离或角度偏移内计算设备102瞄准时,可以标识可控设备。
在操作1204处,可以由计算设备显示用户界面,例如,在计算设备的显示设备上或由计算设备的显示设备显示,其指示所标识的可控设备被触发。在一些实施方式中,仅当满足一个或多个特定瞄准准则时才触发指示的显示。例如,瞄准准则可以基于计算设备102的瞄准方向和可控设备的位置之间的角度偏移。瞄准准则还可以基于计算设备102的定向。例如,当计算设备102处于水平或近似水平的定向时,可以示出该指示。
图13包括示例用户界面屏幕1300,其包括可控设备的背景内容1302和指示器1304。背景内容1302可以是锁定屏幕、主屏幕或由一个或多个其他应用生成的内容或用户界面。在此示例中,指示器1304包括图标1306和描述1308。图标1306可以例如指示所标识的可控设备的可控设备类型,并且描述可以包括可控设备的名称。在一些实施方式中,指示器1304可以是用户可致动的控件,当被致动(例如,轻敲、长触摸等)时,可以使命令被传送到可控设备或者可以使附加的用户界面元素被显示。例如,附加用户界面元素可以显示可控设备的属性,诸如音量级别、亮度级别、温度设置或频道选择。在一些实施方式中,当显示指示器1304时,计算设备102可以被配置成接收某些用户输入以控制可控设备或与可控设备交互。例如,计算设备102可以将屏幕的触摸和计算设备102的倾斜解释为用户输入以传送命令以增加或减少可控设备上的设定值。
图14是显示指示可控设备的相对位所的用户界面的示例方法1400的图。例如,方法1400可以由计算设备102的用户界面引擎142执行。在一些实施方式中,方法1400可以响应于检测到计算设备102的移动而被执行。例如,在用户移动计算设备102之后,可以执行方法1400以指示一个或多个可控设备相对于计算设备或计算设备的定向的相对位所。在一些实施方式中,在计算设备102正在显示锁定屏幕的同时(例如,在计算设备处于锁定状态的同时)或者当计算设备102正在执行使显示设备116要显示的内容或用户界面元素的一个或者多个应用时可以执行方法1400。
在操作1402处,在物理空间内标识可控设备。可基于计算设备102的瞄准方向、基于与计算设备102的接近度或基于与计算设备102处于物理空间(例如,房间)的相同部分中来标识可控设备。如本文别处更详细地描述的,计算设备102的位所可以使用各种技术来估计。然后可以使用估计的位所来标识已知位于物理空间中的可控设备。还可基于用计算设备102的相机组件捕获的图像数据来标识可控设备。
在操作1404处,确定可控设备相对于计算设备的瞄准方向的偏移。该偏移可以对应于计算设备102的瞄准方向与计算设备102需要定向以瞄准可控设备的方向之间的角度差。在一些实施方式中,基于由计算设备102的相机组件152捕获的图像数据来确定偏移。然后可以通过标识可控制设备在图像字段内的位置并且计算被要求在图像字段的中心内的可控设备的位置的计算设备102的定向变化来确定偏移。还可以基于使用IMU 154确定计算设备102的定向和计算设备102的位所来计算偏移。然后可以通过将确定的定向与被要求从计算设备102的位所瞄准可控设备的定向进行比较来计算偏移。在一些实施方式中,为多个可控设备确定偏移。
在操作1406处,指示所确定的偏移的用户界面的显示被触发。例如,用户界面可以引导用户在物理空间内可控设备位于并瞄准可控设备。当标识多个可控设备时,用户界面可以帮助用户瞄准特定的用户设备之一,以例如控制该用户设备或与该用户设备交互。指示偏移的用户界面的非限制性示例在图15A-15C中图示。
图15A包括示例用户界面屏幕1500a,其包括背景内容1502和对可控设备的偏移的指示器1504a。背景内容1502可以类似于先前描述的背景内容1302。另外,除了指示器1504a还包括方向指示器1510之外,指示器1504a可以类似于指示器1304。在一些实施方式中,指示器1510指示可控设备相对于计算设备的位所。例如,指示器1510可以指示将计算设备102定向为瞄准可控设备的方向。在此示例中,指示器1504还包括图标1506和描述1508,其可以类似于先前描述的图标1306和描述1308。
这里,指示器1504a具有带圆角的矩形形状。其他形状也是可能的,诸如椭圆形、矩形、圆形、正方形或其他形状。然后可以将方向指示器1510放置在基于方向偏移确定的位置处的指示器1504a的边缘上。例如,方向指示器1510在指示器1504a上的位置可以通过将对可控设备的方向偏移的角度映射到指示器1510的周边上的位置来确定。例如,指示器的顶部边缘的中心可以对应于0的角度偏移(例如,计算设备102直接瞄准可控设备)并且沿着周边的每个点可以对应于不同的角度偏移(例如,好像方向指示器1510被定位在射线的交点处,该射线以确定的角度从指示器1504a的中点投出)。在一些实施方式中,仅使用方向偏移的水平分量来确定指示器1510的位置。在一些实施方式中,当用户移动电话时,方向指示器1510的位所沿着指示器1510的周边移动。
图15B包括类似于用户界面屏幕1500a的示例用户界面屏幕1500b。用户界面屏幕1500b包括指示器1504b。在一些实施方式中,指示器1504b可以是具有半圆形形状的基本上半圆形的指示器、具有基本上弧形形状的弧形指示器等。在该实施方式中,基于方向偏移的角度,方向指示器1510被定位在指示器1504b的周边上。如果可控设备在计算设备102后面(例如,方向偏移的角度在任一方向上大于90度),则方向指示器1510可以不被示出。在一些实施方式中,当可控设备在计算设备102后面时仍示出方向指示器1510,但是可以修改以指示可控设备在用户后面(例如,颜色可以改变,尺寸可以改变,形状可以改变,例如,箭头)。
图15C包括类似于用户界面屏幕1500b的示例用户界面屏幕1500c。在该示例中,用户界面屏幕1500c包括具有半圆形或弓形形状并且大于图15B中所示的指示器1504b的指示器1504c。
图16是基于可控设备的相对位所显示用于与可控设备交互的用户界面的示例方法1600的图。例如,方法1600可以由计算设备102的用户界面引擎142执行。在一些实施方式中,方法1600可以响应于检测到计算设备102的移动而执行。例如,在用户移动对于计算设备102,可以执行方法1600以提供用于控制计算设备瞄准或靠近的可控设备的用户界面。在一些实施方式中,在计算设备102正在显示锁定屏幕的同时(例如,在计算设备处于锁定状态的同时)或者当计算设备102正在执行一个或多个使显示设备116要显示的内容或用户界面元素时可以执行方法1600。
在操作1602处,确定计算设备102的位所估计。在操作1604处,基于位所估计标识可控设备。可以基于确定可控设备在计算设备102的阈值距离内或与计算设备102在同一房间(或物理空间的其他部分)内来标识可控设备。在一些实施方式中,可控设备基于瞄准和/或靠近可控设备的计算设备102来标识可控设备。当计算设备102瞄准可控设备时,可以基于从指向可控设备的相机组件152的(例如,面向顶部的)相机捕获的图像数据来标识可控设备。还可以基于存储在物理空间表示中的关于其位置的数据来标识可控设备。
在操作1606处,显示用于与可控设备交互的用户界面。例如,用户界面引擎142可以通过显示设备116触发用户界面的显示。用户界面可以提供关于可控设备的信息,诸如来自可控设备的用户可调设置或测量。用户可调整设置的非限制性示例包括亮度级别、音量级别、频道和期望温度。测量的非限制性示例包括温度和湿度测量。
在一些实施方式中,基于确定可控设备相对于计算设备的相对方向来显示用户界面。例如,可以确定可控设备和计算设备102的位所。也可以确定计算设备102的瞄准方向。例如,基于所确定的位所和瞄准方向,可以确定与可控设备的相对方向。相对方向可以是直接瞄准可控设备所需的定向变化。在一些实施方式中,基于满足特定准则的相对方向显示用户界面,诸如具有小于预定量值的水平偏移角(例如,计算设备瞄准在5、10、15、30度或其他度数的可控设备)。可选的,当触发用户界面的显示时,选择表示可控设备的图标,并且可以基于可控设备相对于计算设备的相对位所,确定用于在用户界面上显示所选择的图标的位置。此外,可以使图标显示在用户界面上的确定位置处。
图17包括示例用户界面屏幕1700,其包括背景内容1702和具有用于与可控设备交互的控件的可控设备的指示器1704。背景内容1702可以类似于前面描述的背景内容1302。指示器1704可以类似于指示器1304,除了指示器1704还包括可控设备设置显示元素1712、可控设备设置调整元素1714和可控设备选择菜单元素1716。在该示例中,指示器1704还包括描述1708,其可以类似于先前描述的描述1308。
可控设备设置显示元素1712是用户界面元素,其显示可控设备的用户可调整设置。在此示例中,可控设备设置显示元素1712正在显示灯的亮度设置。可控设备设置调整元素1714为用户可致动的元素,用户可以致动可控设备设置。在此示例中,可控设备设置调整元素1714是用户可以触摸并向左或向右拖动以调整亮度级别的滑块。
可控设备选择菜单元素1716是用户界面元素,用户可以使用它来选择不同的可控元素以进行交互。例如,可控设备选择菜单元素1716可以包括菜单选项,诸如与接近计算设备102或计算设备102瞄准或靠近的其他可控设备相关联的这里示出的菜单选项1718和1720。在一些实施方式中,当用户触摸或以其他方式致动菜单选项之一时,可以更新指示器704以与可控设备交互,该可控设备与致动的菜单选项相关联的。
图18包括示例用户界面屏幕1800,其包括背景内容1802和具有用于与可控设备交互的控件的可控设备的指示器1804。背景内容1802可以类似于先前描述的背景内容1302。指示器1804可以类似于指示器1704,除了指示器1804包括方向指示器1810并且不包括可控设备选择菜单元素(尽管一些实施方式包括)。这里,指示器1804包括图标1806和描述1808,其可以类似于之前描述的图标1306和描述1308。指示器1804还包括可控设备设置显示元素1812和可控设备设置调整元素1814,其可以类似于前面描述的可控设备设置显示元素1712和可控设备设置调整元素1714。方向指示器1810可以类似于前面描述的方向指示器1510。
图19A-19C包括用于与可控设备交互的示例用户界面屏幕。在图19A-19C的示例中,可控设备是电视。图19A包括示例用户界面屏幕1900a,其包括背景内容1902和指示器1904。背景内容1902可以类似于先前描述的背景内容1302。指示器1904包括图标1906、描述1908和教学文本1922。图标1906和描述1908可以类似于先前描述的图标1306和描述1308。教学文本1922向用户提供关于如何使用用户界面屏幕1900a与可控设备交互的指令。教学文本1922可以由可控设备的当前状态或设置生成。例如,在图19A中,教学文本1922基于确定可控设备当前被暂停或停止而说出“轻敲以播放”。在此示例中,如果用户轻敲指示器1904,则计算设备102将向可控设备传送播放命令。
图19B包括类似于图19A中所示的用户界面屏幕1900a的用户界面屏幕1900b。然而,在图19B中,基于计算设备102确定可控设备当前处于播放状态,教学文本1922现在说出“轻敲以暂停”。图19C包括也类似于图19A中所示的用户界面屏幕1900a的用户界面屏幕1900c。然而,在图19C中,指示器1904被配置成调整可控设备的音量。用户界面屏幕1900c可以例如基于用户长按(例如,触摸并保持计算设备102的屏幕)来显示。用户界面屏幕1900c包括可控设备设置调整元素1914。可控设备设置调整元素1914可以类似于先前描述的可控设备设置调整元素1714,不同之处在于响应于用户在屏幕上向上或向下轻扫而传送增大或减小音量的命令。在此示例中,可控设备设置调整元素1914还包括阴影区域以指示当前音量设置。
图20A-20C包括用于与可控设备交互的示例用户界面屏幕。这些图20A-C与图19A-19C非常相似,除了在图20A-20C的示例中,可控装置是灯。图20A包括示例用户界面屏幕2000a,其包括背景内容2002和指示器2004。背景内容2002可以类似于先前描述的背景内容1302。指示器2004包括图标2006、描述2008和教学文本2022。图标2006和描述2008可以类似于先前描述的图标1306和描述1308。教学文本2022向用户提供关于如何使用用户界面屏幕2000a与可控设备交互的指令。教学文本2022可以由可控设备的当前状态或设置生成。例如,在图20A中,教学文本2022基于确定可控设备处于关闭状态而说出“轻敲以打开”。在此示例中,如果用户轻敲指示器2004,则计算设备102将向可控设备传送打开命令。
图20B包括类似于图20A中所示的用户界面屏幕2000a的用户界面屏幕2000b。然而,在图20B中,基于计算设备102确定可控设备当前处于开启状态,教学文本2022现在说出“轻敲以关闭”。图20C包括也类似于图20A中所示的用户界面屏幕2000a的用户界面屏幕2000c。然而,在图20C中,指示器2004被配置成调整可控设备的亮度。用户界面屏幕2000c可以例如基于用户长按(例如,触摸并保持计算设备102的屏幕)来显示。用户界面屏幕2000c包括可控设备设置显示元素2012和可控设备设置调整元素2014。可控设备设置显示元素2012可以类似于前面描述的可控设备设置显示元素1712。可控设备设置调整元素2014可以类似于先前描述的可控设备设置调整元素1714,不同之处在于响应于用户在屏幕上向上或向下轻扫而传送增大或减小亮度的命令。在此示例中,可控设备设置调整元素2014还包括阴影区域以指示可控设备的当前亮度设置。
图21是向可控设备传送命令的示例方法2100的图。例如,方法2100可以由计算设备102的设备控制引擎136执行。在一些实施方式中,方法2100可以被执行以将命令传送到用户将计算设备102瞄准的可控设备。在一些实施方式中,方法2100可以在计算设备102正在显示锁定屏幕的同时(例如,在计算设备处于锁定状态的同时)或当计算设备102正在执行一个或多个使内容或者用户界面元素通过显示设备116来显示的应用程序时执行。
在操作2102处,在物理空间内标识可控设备。如前所述,可以基于与计算设备102的接近度或基于计算设备102瞄准可控设备来标识可控设备。在一些实施方式中,用户界面引擎142生成用户界面以指示所标识的可控设备。
在操作2104处,接收用户输入。可以接收许多不同类型的用户输入。用户输入的一些非限制性示例包括计算设备102的触敏屏幕上的触摸命令(包括轻敲、双击、触摸并保持、拖动或轻扫)、在计算设备的屏幕上或附近做出的手势、移动计算设备102的移动(包括计算设备102的摇晃、倾斜或旋转)、计算设备102的物理组件的致动(诸如按下按钮或挤压计算设备102)以及口头命令。
在操作2106处,确定可控设备的可控设备类型。可控设备类型可以基于由计算设备102的相机组件捕获的图像数据来确定。可控设备类型也可以从物理空间的表示或标识可控设备的其他数据中检索。
在操作2108处,基于用户输入和可控设备类型确定用于可控设备的命令。在一些实施方式中,还基于计算设备的当前状态来确定命令。例如,触摸和拖动用户输入可以被确定为用于电视可控设备的增大音量命令,并且触摸和拖动用户输入可以被确定为用于光可控设备的增大亮度命令。在操作2110处,命令被传送到可控设备。
图22是用户使用计算设备102与灯的形式的可控设备交互并控制可控设备的图示2200。在此示例中,计算设备102已经基于用户将计算设备102瞄准或指着可控设备来标识可控设备。计算设备102正在显示用户界面,该用户界面包括光可控设备的当前亮度值。在此示例中,用户正在触摸计算设备102的屏幕上的用户可致动元素并且向上和向下倾斜计算设备102以传送命令来调整光可控设备的亮度。
图23A和23B图示用户使用计算设备102与电视可控设备交互。图23A包括图示2300a,其包括示出电视可控设备的当前状态的计算设备102。在此示例中,可控设备处于如在计算设备102的屏幕上所指示的关闭状态。在此示例中,用户可以提供用户输入以向可控设备发送切换开启命令。图23B包括图示2300b,其中电视可控设备现在处于开启状态。计算设备102上的用户界面包括用于示出可控设备相对于计算设备102的瞄准方向的相对位所的图标。这里,用户在计算设备102的屏幕上向上轻扫以使计算设备102向电视可控设备传送音量增大命令。
图24A和24B图示用户使用计算设备102来标识物理空间中的可控设备并与其交互。图24A包括图示2400a,其包括计算设备102向光可控设备提供方向偏移的指示。图24A还示出指示显示在计算设备102上的用户界面被配置成接收用户输入以将切换命令传送到可控设备的教学文本“轻敲以切换”。图24B包括图示2400b,其中计算设备102已被旋转以与图24A中的计算设备102相比瞄准不同的方向。计算设备102上的用户界面包括图标以示出电视可控设备相对于计算设备102的瞄准方向的相对位所。
图25是标识多个可控设备并显示用户界面以表示多个可控设备的位所的示例方法2500的图。例如,方法2100可以由计算设备102的用户界面引擎142执行。在一些实施方式中,方法2500可以响应于检测到计算设备102的移动而执行。例如,在用户移动计算设备102之后,可以执行方法2500以提供示出多个可控设备的更新位所的用户界面,并且在至少一些实施方式中,允许控制计算设备瞄准或靠近的可控设备中的至少一个。在一些实施方式中,方法2500可以在计算设备102正在显示锁定屏幕的同时(例如,在计算设备处于锁定状态的同时)或者当计算设备102正在执行一个或多个使显示设备116要显示的内容或用户界面元素时被执行。
在操作2502处,基于与计算设备102的接近度来标识多个可控设备。在一些实施方式中,接近度是基于阈值距离来确定的。在一些实施方式中,基于与计算设备102位于同一房间中来确定接近度。还可基于计算设备102的瞄准方向来标识可控设备。
在操作2504处,确定可控设备相对于计算设备102的相对位所。例如,相对位所可以包括与计算设备102的瞄准方向的角度偏移。
在操作2506处,生成并显示用户界面,该用户界面包括基于相对位所的可控设备的空间表示。例如,每个可控设备可以由放置在用户界面中包括的形状的周边上(或在用户界面上的另一位置处)的图标来表示。图标(通常,至少一个图标)可以被放置在基于与可控设备的相对位所相关联的角度偏移而确定的位所处。图标的位置可以对应于计算设备将需要转向以便于直接瞄准相关联的计算设备的方向。
图26A-26C包括用于显示多个可控设备的相对位所的示例用户界面屏幕。图26A-26C与图15A-15C相似,除了在图26A-26C的示例中,指示多个可控设备的相对位所。图26A包括示例用户界面屏幕2600a,其包括背景内容2602和指示器2604a。背景内容2602可以类似于先前描述的背景内容1302。指示器2604a包括描述2608、方向指示器2610和附加的方向指示器2640。描述2608涉及当前被标识用于控制和交互的可控设备。方向指示器2610指示当前被标识用于控制的可控设备相对于计算设备102的瞄准方向的相对位所。附加的方向指示器2640指示另一可控设备的相对方向。尽管指示器2604a具有布置在用户界面屏幕2600a底部的半圆形或弓形形状,但是替代方案是可能的。例如,图26B示出类似于用户界面屏幕2600a的用户界面屏幕2600b,除了用户界面屏幕2600b包括具有圆形形状或弓形形状、布置在用户界面屏幕2600b的中间附近的指示器2604b。图26C示出包括指示器2604c的用户界面屏幕2600c。指示器2604c包括描述2608、附加的标识符2640和第二附加标识符2642。在此示例中,附加的标识符2640和第二附加标识符2642不一定基于精确的角度偏移而被定位,而是放置在表示计算设备102通常必须移动以瞄准相关联的可控设备的方向的位所处。
图27示出可以与本文描述的技术一起使用的计算机设备2700和移动计算机设备2750的示例。计算设备2700包括处理器2702、存储器2704、存储设备2706、连接到存储器2704和高速扩展端口2710的高速接口2708,以及连接到低速总线2714和存储设备2706的低速接口2712。部件2702、2704、2706、2708、2710和2712中的每一个都使用各种总线互连,并且可以被安装在通用主板上或视情况以其他方式安装。处理器2702可以处理用于在计算设备2700内执行的指令,包括存储在存储器2704或存储设备2706中的指令以在外部输入/输出设备——诸如耦合到高速接口2708的显示器2716——上显示用于GUI的图形信息。在其他实施方式中,可以适当地使用多个处理器和/或多个总线,以及多个存储器和存储器类型。而且,可以连接多个计算设备2700,每个设备提供部分必要的操作(例如,作为服务器库、一组刀片式服务器或多处理器系统)。
存储器2704在计算设备2700内存储信息。在一种实施方式中,存储器2704是一个或多个易失性存储单元。在另一实施方式中,存储器2704是一个或多个非易失性存储单元。存储器2704也可以是另一形式的计算机可读介质,诸如磁盘或光盘。
存储设备2706能够为计算设备2700提供大容量存储。在一种实施方式中,存储设备2706可以是或包含计算机可读介质,诸如软盘设备、硬盘设备、光盘设备、或磁带设备、闪存或其他类似的固态存储设备、或一系列设备,包括存储区域网络或其他配置中的设备。计算机程序产品可以有形地体现在信息载体中。计算机程序产品还可以包含在被执行时执行一种或多种如上所述的方法的指令。信息载体是计算机或机器可读介质,诸如存储器2704、存储设备2706或处理器2702上的存储器。
高速控制器2708管理计算设备2700的带宽密集型操作,而低速控制器2712管理较低带宽密集型操作。这种功能分配仅是示例性的。在一种实施方式中,高速控制器2708被耦合到存储器2704、显示器2716(例如,通过图形处理器或加速器),并且被耦合到可以接受各种扩展卡(未示出)的高速扩展端口2710。在实施方式中,低速控制器2712被耦合到存储设备2706和低速扩展端口2714。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口可以通过网络适配器被耦合到一个或多个输入/输出设备,诸如键盘、指向设备、扫描仪或诸如交换机或路由器的网络设备。
如图所示,可以以多种不同的形式实现计算设备2700。例如,它可以被实现为标准服务器2720,或者被多次实现为一组这种服务器中。它也可以被实现为机架服务器系统2724的一部分。此外,它还可以在诸如膝上型计算机2722的个人计算机中实现。替代地,来自计算设备2700的部件可以与移动设备(未示出)中的其他部件进行组合,诸如设备2750。每个这种设备可以包含一个或多个计算设备2700、2750,并且整个系统可以由彼此通信的多个计算设备2700、2750组成。
除其他部件之外,计算设备2750包括处理器2752、存储器2764、诸如显示器2754的输入/输出设备、通信接口2766和收发器2768。还可以向设备2750提供存储设备,诸如微驱动器或其他设备,以提供附加的存储。部件2750、2752、2764、2754、2766和2768中的每个部件均使用各种总线互连,并且多个部件可以被安装在通用主板上或视情况以其他方式安装。
处理器2752可以执行计算设备2750内的指令,包括存储在存储器2764中的指令。处理器可以被实现为包括单独的以及多个模拟和数字处理器的芯片的芯片组。例如,处理器可以提供设备2750的其他部件的协调,诸如用户界面的控制、设备2750运行的应用以及设备2750的无线通信。
处理器2752可以通过控制接口2758和耦合到显示器2754的显示器接口2756与用户进行通信。例如,显示器2754可以是TFT LCD(薄膜晶体管液晶显示器)或者OLED(有机发光二极管)显示器,或其他适当的显示技术。显示器接口2756可以包括用于驱动显示器2754向用户呈现图形和其他信息的适当电路。控制接口2758可以从用户接收命令并且将其转换以提交给处理器2752。此外,可以提供与处理器2752通信的外部接口2762,以实现设备2750与其他设备的近区通信。例如,外部接口2762可以在一些实施方式中提供有线通信,或者在其他实施方式中提供无线通信,并且还可以使用多个接口。
存储器2764将信息存储在计算设备2750内。存储器2764可以被实现为一个或多个计算机可读介质、一个或多个易失性存储单元或者一个或多个非易失性存储单元。还可以提供扩展存储器2774并且通过扩展接口2772将其连接到设备2750,例如,扩展接口2772可以包括SIMM(单列直插存储器模块)卡接口。这种扩展存储器2774可以为设备2750提供额外的存储空间,或者也可以为设备2750存储应用程序或其他信息。具体地,扩展存储器2774可以包括用于执行或补充上述过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器2774可以被提供为用于设备2750的安全模块,并且可以用允许安全使用设备2750的指令进行编程。此外,可以经由SIMM卡以及附加信息,诸如以不可入侵的方式将识别信息放置在SIMM卡上来提供安全应用。
例如,存储器可以包括闪存和/或NVRAM存储器,如下所述。在一种实施方式中,计算机程序产品有形地体现在信息载体中。计算机程序产品包含在被执行时执行一种或多种如上所述的方法的指令。信息载体是诸如存储器2764、扩展存储器2774或处理器2752上的存储器的计算机或机器可读介质,例如,其可以通过收发器2768或外部接口2762被接收。
设备2750可以通过在必要时可以包括数字信号处理电路的通信接口2766进行无线通信。通信接口2766可以提供诸如GSM语音呼叫、SMS、EMS或MMS消息传递、CDMA、TDMA、PDC、WCDMA、CDMA200或GPRS等等的各种模式或协议下的通信。例如,这种通信可以通过射频收发器2768进行。此外,可以进行短程通信,诸如使用蓝牙、Wi-Fi或其他这种收发器(未示出)。此外,GPS(全球定位系统)接收器模块2770可以向设备2750提供附加的导航和与位置有关的无线数据,其可以被设备2750上运行的应用程序适当地使用。
设备2750还可以使用可以从用户接收语音信息并将其转换为可用的数字信息的音频编解码器2760在听觉上进行通信。音频编解码器2760同样可以为用户生成可听声音,诸如通过扬声器,例如在设备2750的听筒中。这种声音可以包括来自语音电话呼叫的声音,可以包括录制的声音(例如,语音消息、音乐文件等),并且还可以包括由在设备2750上运行的应用程序生成的声音。
如图所示,计算设备2750可以以多种不同的形式实现。例如,它可以实现为蜂窝电话2780。它也可以被实现为智能电话2782、个人数字助理或其他类似的移动设备的一部分。
可以在数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现本文描述的系统和技术的各种实施方式。这些各种实施方式可以包括在一个或多个计算机程序中的实施方式,该程序可以在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用的或通用的,其耦合到存储系统、至少一个输入设备和至少一个输出设备以接收数据和指令,并且耦合到存储系统,至少一个输入设备和至少一个输出设备以传送数据和指令。
这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以以高级过程和/或面向对象的编程语言和/或以汇编/机器语言来实现。如本文所用,术语“机器可读介质”“计算机可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑设备(PLD)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
为了提供与用户的互动,本文描述的系统和技术可以在具有显示器设备(例如,LED(发光二极管)或OLED(有机LED)或LCD(液晶显示器)监视器/屏幕)以向用户显示信息以及具有用户可以通过其向计算机提供输入的键盘和指向设备(例如,鼠标或轨迹球)的计算机上实现。其他种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。
本文描述的系统和技术可以在包括后端部件(例如,作为数据服务器),或包括中间件部件(例如,应用程序服务器)或包括前端部件(例如,具有图形用户界面或用户可以通过其与本文描述的系统和技术的实施方式进行交互的Web浏览器的客户端计算机),或这种后端、中间件或前端部件的任意组合的计算系统中实现。系统的部件可以通过数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)和互联网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离并且典型地通过通信网络进行交互。客户端和服务器之间的关系是通过在各自计算机上运行并且彼此具有客户端-服务器关系的计算机程序产生的。
在一些实施方式中,图27中描绘的计算设备可以包括与AR头戴式/HMD设备2790对接以生成用于观看物理空间内的插入内容的增强环境的传感器。例如,包括在图27中描绘的计算设备2750或其他计算设备上的一个或多个传感器,可以向AR头戴式耳机2790提供输入,或者通常,可以向AR空间提供输入。传感器可以包括但不限于触摸屏、加速度计、陀螺仪、压力传感器、生物特征传感器、温度传感器、湿度传感器和环境光传感器。计算设备2750可以使用传感器确定AR空间中计算设备的绝对方位和/或检测到的旋转,然后可以将其用作AR空间的输入。例如,计算设备2750可以作为诸如控制器、激光指示器、键盘、武器等的虚拟对象被并入AR空间。当用户将计算设备/虚拟对象并入AR空间时其位置可以允许用户定位计算设备以便以某种方式在AR空间中观看虚拟对象。例如,如果虚拟对象表示激光指示器,用户可以像实际的激光指示器一样操纵计算设备。用户可以左右、上下、圆圈等方式移动计算设备并且以与使用激光指示器类似的方式使用设备。在一些实施方式中,用户可以使用虚拟激光指示器瞄准目标位所。
在一些实施方式中,包括在或连接到计算设备2750上的一个或多个输入设备可以被用作AR空间的输入。输入设备可以包括但不限于触摸屏、键盘、一个或多个按钮、触控板、触摸板,指向设备、鼠标、轨迹球,操纵杆、相机、麦克风、耳机或具有输入功能的耳塞,游戏控制器或其他可连接的输入设备。当计算设备被合并到AR空间中时,与计算设备2750上包括的输入设备进行交互的用户会使特定动作在AR空间中发生。
在一些实施方式中,计算设备2750的触摸屏可以被渲染为AR空间中的触摸板。用户可以与计算设备2750的触摸屏进行交互。例如,在AR头戴式耳机2790中,将交互渲染为在AR空间中所渲染的触摸板上的移动。所渲染的移动可以控制AR空间中的虚拟对象。
在一些实施方式中,计算设备2750上包括的一个或多个输出设备可以向AR空间中的AR头戴式耳机2790的用户提供输出和/或反馈。输出和反馈可以是视觉的、触觉的或声音的。输出和/或反馈可以包括但不限于振动、一个或多个灯或频闪灯的打开、关闭或闪烁和/或闪光、发出警报、播放铃声、播放歌曲以及播放音频文件。输出设备可以包括但不限于振动马达、振动线圈、压电设备、静电设备、发光二极管(LED)、频闪灯和扬声器。
在一些实施方式中,计算设备2750可以表现为在计算机生成的3D环境中的另一对象。用户与计算设备2750的交互(例如,旋转、摇动、触摸触摸屏、在触摸屏上滑动手指)可以被解释为与AR空间中的对象的交互。在AR空间中的激光指示器的示例中,计算设备2750表现为在计算机生成的3D环境中的虚拟激光指示器。当用户操纵计算设备2750时,AR空间中的用户看到激光指示器的移动。用户在计算设备2750或AR头戴式耳机2790上的AR环境中从与计算设备2750的交互中接收反馈。用户与计算设备的交互可以转变为与在AR环境中为可控设备生成的用户界面的交互。
在一些实施方式中,计算设备2750可以包括触摸屏。例如,用户可以与触摸屏交互以与可控设备的用户界面交互。例如,触摸屏可以包括诸如可以控制可控设备的属性的滑块的用户界面元素。
计算设备2700旨在表示各种形式的数字计算机和设备,包括但不限于膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他适当的计算机。计算设备2750旨在表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话和其他类似的计算设备。本文所示的部件,它们的连接和关系以及它们的功能仅是示例性的,并不意味着限制本文中描述和/或要求保护的发明的实施方式。
已经描述了多个实施例。然而,将理解的是在不脱离本说明书的精神和范围的情况下可以进行各种修改。
此外,附图中描绘的逻辑流程不需要所示的特定顺序、或连续顺序来实现期望的结果。此外,可以从所述的流程中提供其他步骤或者去除步骤,并且可以向所描述的系统中添加其他部件或从中移除其他部件。因此,其他实施例在所附权利要求的范围内。
尽管已经如本文中所述的那样描述了所述的实施方式的某些特征,但是本领域技术人员现在将想到许多修改、替换、改变和等同物。因此,应理解的是所附权利要求书旨在覆盖落入实施方式范围内的所有这种修改和改变。应当理解的是它们仅以示例而非限制的方式给出,并且可以进行形式和细节上的各种改变。除相互排斥的组合之外,本文所述的装置和/或方法的任何部分可以以任何组合进行组合。本文描述的实施方式可以包括所描述的不同实施方式的功能、部件和/或特征的各种组合和/或子组合。
下面提供了一些示例:
示例1:一种方法,包括:使用第一内部位所估计技术来确定计算设备的第一位所估计;以及通过使用第二内部位所估计技术细化所述第一位所估计来确定所述计算设备的第二位所估计,所述第一内部位所估计技术不同于所述第二内部位所估计技术。
示例2:根据示例1所述的方法,其中所述第一位所估计与第一误差界限相关联并且所述第二位所估计与第二误差界限相关联,所述第二误差界限小于所述第一误差界限。
示例3:根据示例1所述的方法,其中使用所述第一内部位所估计技术来确定所述计算设备的第一位所估计包括:确定多个往返时间,其中所述多个往返时间的每个往返时间对应不同的无线通信设备;以及基于所述多个往返时间来估计所述第一位所估计。
示例4:根据示例3所述的方法,其中确定所述计算设备的所述第二位所估计包括:激活所述计算设备的图像传感器;通过图像数据的所述图像传感器触发捕获;以及基于所述图像数据和所述第一位所估计或所述多个往返时间中的至少一个来估计所述第二位所估计。
示例5:根据示例4所述的方法,其中估计所述第二位所估计包括:从所述图像数据中提取特征;以及基于所提取的特征和所述第一位所估计或所述多个往返时间中的至少一个来估计所述第二位所估计。
示例6:根据示例5所述的方法,其中所述图像数据包括所述计算设备所位于的所述环境的图像,并且估计所述第二位所估计包括:标识所述环境的所述图像中的至少一个对象;以及基于所标识的对象和所述第一位所估计或所述多个往返时间中的至少一个来估计所述第二位所估计。
示例7:根据示例6所述的方法,其中基于所标识的对象和所述第一位所估计或所述多个往返时间中的至少一个来估计所述第二位所估计:基于所述环境的所述图像确定所述至少一个对象的相对位所;以及基于所标识的对象的相对位所和所述第一位所估计或所述多个往返时间中的至少一个来估计所述第二位所估计。
示例8:根据示例4所述的方法,进一步包括:用所述计算设备的惯性运动单元捕获定向数据;并且其中估计所述第二位所估计包括:基于所述图像数据、所述定向数据以及所述第一位所估计或所述多个往返时间中的至少一个来估计所述第二位所估计。
示例9:根据示例4所述的方法,其中估计所述第二位所估计包括使用机器学习模型以基于所述图像数据和所述第一位所估计或所述多个往返时间中的至少一个来估计所述第二位所估计。
示例10:根据示例4所述的方法,其中估计所述第二位所估计包括:接收三维空间的表示;基于所述第一位所估计标识所述三维空间的表示的一部分;以及将所述图像数据与所述三维空间的表示的部分进行比较以确定所述第二位所估计。
示例11:根据示例4所述的方法,其中确定所述计算设备的所述第一位所估计包括在所述图像传感器被去激活时确定所述第一位所估计。
示例12:根据示例4所述的方法,进一步包括:在确定所述第一位所估计之后接收用户输入;以及响应于所述用户输入,确定所述第二位所估计。
示例13:一种包括存储在其上的指令的非暂时性计算机可读存储介质,当由至少一个处理器执行时,所述指令被配置成使计算系统:确定多个往返时间,其中所述多个往返时间中的每一个往返时间对应于不同的无线通信设备;基于所述多个往返时间确定第一位所估计;触发捕获图像数据;以及基于所述图像数据和所述第一位所估计确定第二位所估计。
示例14:根据示例13所述的非暂时性计算机可读存储介质,其中所述第一位所估计与第一误差界限相关联并且所述第二位所估计与第二误差界限相关联,所述第二误差界限小于所述第一错误界限。
示例15:根据示例13所述的非暂时性计算机可读存储介质,其中所述指令进一步被配置成使所述计算系统:从所述图像数据中提取特征;并且基于所述提取的特征和所述第一位所估计或所述多个往返时间中的至少一个确定所述第二位所估计。
示例16:根据示例15所述的非暂时性计算机可读存储介质,其中被配置成使所述计算系统确定所述第二位所估计的所述指令包括被配置成使所述计算系统执行下述的指令:基于第一位所估计检索物理空间的表示的一部分;并且使用所述物理空间的表示的一部分和从所述图像数据中提取的所述特征以确定所述第二位所估计。
示例17:根据示例13所述的非暂时性计算机可读存储介质,其中所述指令进一步被配置成使所述计算系统:基于所述第二位所估计选择可控设备;并且向所述可控设备传送命令。
示例18:一种计算设备,包括:至少一个处理器;和存储器,所述存储器存储指令,当由所述至少一个处理器执行时,所述指令使所述计算设备:使用第一内部位所估计技术来确定计算设备的第一位所估计;并且通过使用第二内部位所估计技术细化所述第一位所估计来确定所述计算设备的第二位所估计,所述第二内部位所估计技术使用与所述第一内部位所估计技术使用的输入信号不同的至少一种类型的输入信号。
示例19:根据示例18所述的计算设备,其中确定所述第一位所估计的所述指令包括使所述计算设备执行下述的指令:确定多个往返时间,其中所述多个往返时间的每个往返时间对应不同的无线通信设备;并且基于所述多个往返时间确定所述第一位所估计。
示例20:根据示例18所述的计算设备,其中所述指令进一步使所述计算设备:基于所述第二位所估计选择可控设备;并且向所述可控设备传送命令。
示例21:一种方法,包括:确定计算设备的位所估计;由所述计算设备捕获物理空间的图像数据,所述物理空间包括执行标识动作的可控设备;至少部分地基于所述标识动作标识所述图像数据中的可控设备;以及确定所述可控设备的配置信息,所述配置信息至少部分地基于所述计算设备的位所估计。
示例22:根据示例21所述的方法,其中标识所述图像数据中的可控设备包括处理所述图像数据以标识闪烁的灯。
示例23:根据示例22所述的方法,进一步包括:确定所述闪烁的灯的属性;以及将所述闪烁的灯的属性与所述可控设备执行的标识动作相匹配。
示例24:根据示例23所述的方法,其中确定所述闪烁的灯的属性包括确定闪烁时间或闪烁间隔中的至少一个。
示例25:根据示例21所述的方法,其中所述标识图像数据中的可控设备包括处理所述图像数据以标识特定颜色的灯。
示例26:根据示例21所述的方法,其中标识图像数据中的可控设备包括处理所述图像数据以标识由所述可控设备显示的标识图像。
示例27:根据示例26所述的方法,进一步包括至少部分地基于所述图像数据中的标识图像的尺寸来确定所述可控设备相对于所述计算设备的相对位所。
示例28:根据示例21所述的方法,其中确定所述可控设备的配置信息包括至少部分地基于所述计算设备的位所估计将所述可控设备与房间相关联。
示例29:根据示例21所述的方法,其中确定可控设备的配置信息包括:访问所述物理空间的表示;基于所述位所估计和所述物理空间的表示确定房间名称;以及至少部分地基于所述房间名称为所述可控设备生成名称。
示例30:根据示例21所述的方法,其中确定所述可控设备的配置信息包括:基于所述图像数据识别所述物理空间中的对象;至少部分地基于所述识别的对象为所述可控设备生成名称。
示例31:根据示例21所述的方法,进一步包括:存储所述可控设备的配置信息;访问所述存储的配置信息;以及使用所述存储的配置信息触发所述可控设备以执行动作。
示例32:一种包括存储在其上的指令的非暂时性计算机可读存储介质,当由至少一个处理器执行时,所述指令被配置成使计算系统至少:捕获物理空间的图像数据,所述物理空间包括执行标识动作的第一可控设备;至少部分地基于所述标识动作标识所述图像数据中的所述第一可控设备;基于所述图像数据识别所述物理空间中的对象;并且至少部分地基于所述识别的对象为所述第一可控设备生成名称。
示例33:根据示例32所述的非暂时性计算机可读存储介质,其中所述指令进一步被配置成使所述计算系统:确定所述第一可控设备相对于所述识别对象的相对位所;并且其中被配置成使所述计算系统为所述第一可控设备生成所述名称的所述指令包括被配置成使所述计算系统至少部分地基于所识别的对象和所述第一可控设备相对于所识别的对象的所述相对位所两者来生成所述第一可控设备的名称的指令。
示例34:根据示例32所述的非暂时性计算机可读存储介质,其中所述指令进一步被配置成使所述计算系统:确定计算设备的位所估计;访问所述物理空间的表示;基于所述位所估计和所述物理空间的表示确定房间名称;以及将所述第一可控设备与所述房间名称相关联。
示例35:根据示例32所述的非暂时性计算机可读存储介质,其中所述指令进一步被配置成使所述计算系统:至少部分地基于所述识别的对象存储所述第一可控设备的名称;接收包括所述名称和可控设备命令的用户输入;并且基于包括所述名称的所述用户输入,将所述第一可控设备命令指向第一可控设备。
示例36:根据示例32所述的非暂时性计算机可读存储介质,其中所述指令进一步被配置成使所述计算系统:至少部分地基于所述第二可控设备执行第二标识动作标识所述图像数据中的第二可控设备;确定所述第一可控设备和所述第二可控设备之间的距离;以及响应于确定所述第一可控设备和第二可控设备之间的距离小于预定阈值距离:生成标识所述第一可控设备和所述第二可控设备的可控设备组数据;并且存储所述可控设备组数据。
示例37:根据示例36所述的非暂时性计算机可读存储介质,其中所述指令进一步被配置成使所述计算系统:检索所述可控设备组数据;接收指向所述可控设备组的用户输入;并且基于所述用户输入触发所述第一可控设备和所述第二可控设备以执行动作。
示例38:根据示例36所述的非暂时性计算机可读存储介质,其中所述指令进一步被配置成使所述计算系统:基于所述物理空间中的所识别的对象确定房间名称;并且将所述第一可控设备与所述房间名称相关联。
示例39:一种计算设备,包括:至少一个处理器;和存储器,所述存储器存储指令,当由所述至少一个处理器执行时,所述指令使所述计算设备:确定计算设备的位所估计;由所述计算设备捕获物理空间的图像数据,所述物理空间包括执行标识动作的可控设备;至少部分地基于所述标识动作标识所述图像数据中的所述可控设备;并且确定所述可控设备的配置信息,所述配置信息至少部分地基于所述计算设备的所述位所估计。
示例40:根据示例39所述的计算设备,进一步包括显示设备,并且其中当由所述至少一个处理器执行时,所述指令进一步使所述计算设备:确定与所述图像数据中的所述可控设备相关联的图像坐标;并且触发所述图像数据在所述显示设备上的显示;并且基于所述确定的图像坐标触发在所述图像数据上显示叠加图像。
示例41:根据示例39所述的计算设备,其中所述指令在由所述至少一个处理器执行时,进一步使所述计算设备:访问所述物理空间的表示;基于所述位所估计和所述物理空间的表示确定房间名称;并且将所述可控设备与所述房间名称相关联。

Claims (22)

1.一种方法,包括:
由计算设备的处理器确定所述计算设备的位所估计;
由所述处理器基于所确定的位所估计来标识可控设备;
由所述处理器确定所述可控设备相对于所述计算设备的相对位所;以及
由所述计算设备基于所确定的相对位所触发用于与所述可控设备交互的用户界面的显示。
2.根据权利要求1所述的方法,其中,标识所述可控设备包括:
基于所述位所估计标识物理空间的一部分;
检测所述可控设备与所述物理空间的标识部分的关联;以及
基于所检测到的所述可控设备与所述物理空间的标识部分的关联来标识所述可控设备。
3.根据权利要求1或2所述的方法,其中,触发所述用户界面的显示包括:
选择表示所述可控设备的图标;
基于所述可控设备相对于所述计算设备的相对位所来确定用于在所述用户界面上显示所选择的图标的位置;以及
使所述图标被显示在所述用户界面上的所确定的位置处。
4.根据权利要求3所述的方法,其中,确定用于在所述用户界面上显示所选择的图标的所述位置包括:
确定所述计算设备的瞄准方向;
基于所述可控设备相对于所述计算设备的相对位所和所确定的所述计算设备的瞄准方向来确定所述可控设备的角度偏移;以及
基于所确定的角度偏移来确定用于在所述用户界面上显示所述图标的所述位置。
5.根据权利要求4所述的方法,其中,所述用户界面包括弧形指示器,并且基于标识所述弧形指示器上与所述角度偏移相对应的位置来确定用于在所述用户界面上显示所述图标的所述位置。
6.根据权利要求3至5中的任一项所述的方法,进一步包括:
基于所述计算设备的所述位所估计来标识附加的可控设备;以及
确定所述附加的可控设备相对于所述计算设备的相对位所;并且
其中,触发所述用户界面的显示进一步包括:
选择表示所述附加的可控设备的附加图标;
基于所述附加的可控设备的相对位所来确定所述用户界面上用于显示表示所述附加的可控设备的所述附加图标的附加位置;以及
使表示所述附加的可控设备的所述图标显示在所述用户界面上所确定的附加位置处。
7.根据权利要求3至6中的任一项所述的方法,其中,选择表示所述可控设备的所述图标包括:
确定所述可控设备的可控设备类型;以及
基于所确定的可控设备类型来选择所述图标。
8.根据权利要求1至7中的任一项所述的方法,进一步包括:
由所述计算设备接收用户输入;
确定所述可控设备的可控设备类型;
基于所接收到的用户输入和所确定的可控设备类型,确定用于所述可控设备的命令;以及
将所确定的命令传送到所述可控设备。
9.根据权利要求8所述的方法,其中,接收所述用户输入包括接收包括所述计算设备的手势输入或物理移动中的至少一个的用户输入。
10.根据权利要求1至9中的任一项所述的方法,其中,触发所述用户界面的显示包括在所述计算设备正在显示锁定屏幕的同时触发所述用户界面的显示。
11.根据权利要求1至10中的任一项所述的方法,其中,所述计算设备是手持计算设备,并且触发所述用户界面的显示包括触发所述用户界面在所述手持计算设备的显示设备表面上的显示。
12.根据权利要求1至10中的任一项所述的方法,其中,所述计算设备是头戴式计算设备,并且触发所述用户界面的显示包括触发将所述用户界面显示为增强现实内容以供头戴式计算设备的用户观看。
13.一种方法,包括:
由计算设备的处理器确定所述计算设备的位所估计;
由所述处理器基于所确定的位所估计来标识能够由所述计算设备控制的多个可控设备;
由所述处理器确定所述多个可控设备相对于所述计算设备的相对位所;以及
基于所确定的所述多个可控设备的相对位所,由所述计算设备触发用户界面的显示,所述用户界面包括所述多个可控设备的空间表示。
14.根据权利要求13所述的方法,进一步包括:
确定所述计算设备的定向;以及
基于所确定的所述计算设备的定向,从所述多个可控设备中标识目标可控设备;并且
其中,触发所述用户界面的显示进一步包括触发所述目标可控设备的指示器的显示。
15.根据权利要求14所述的方法,进一步包括确定所述目标可控设备的可控设备类型,并且其中触发所述用户界面的显示包括触发基于所确定的所述目标可控设备的可控设备类型选择的控制元素的显示。
16.根据权利要求14或15所述的方法,进一步包括确定所述目标可控设备的设置值,并且其中触发所述用户界面的显示包括触发所述设置值的指示器和被配置成响应于用户输入而触发用于修改所述设置值的命令的传输的控制元素的显示。
17.根据权利要求14至16中的任一项所述的方法,进一步包括:
检测所述计算设备的物理移动;
响应于检测到所述物理移动而确定所述计算设备的更新定向;
基于所述计算设备的更新定向,从所述多个可控设备中标识更新的目标可控设备;以及
由所述计算设备触发更新的用户界面的显示,所述更新的用户界面包括所述更新的目标可控设备的指示器。
18.一种方法,包括:
由在物理空间内操作的计算设备的处理器确定所述计算设备的瞄准方向;
由所述处理器基于所确定的所述计算设备的瞄准方向来标识所述物理空间内的可控设备;
由所述处理器确定所标识的可控设备相对于所述计算设备的瞄准方向的角度偏移;以及
由所述计算设备触发指示所确定的角度偏移的用户界面的显示。
19.根据权利要求18所述的方法,进一步包括响应于检测到的所述计算设备的瞄准方向的变化来更新所述用户界面。
20.根据权利要求18或19所述的方法,其中,基于所述瞄准方向标识所述物理空间内的所述可控设备包括:
由所述计算设备沿着所述瞄准方向捕获所述物理空间的图像;
处理所述图像;以及
基于对所述图像的处理来标识所述可控设备。
21.根据权利要求20所述的方法,其中,确定所述可控设备相对于所述计算设备的所述瞄准方向的所述角度偏移包括:
确定所述可控设备在沿着所述计算设备的所述瞄准方向捕获的所述图像内的位置;以及
基于所述图像内所述可控设备的所述位置来确定所述角度偏移。
22.一种计算设备,包括:
处理器;以及
存储器,所述存储器存储指令,所述指令在由所述处理器执行时使所述处理器执行根据前述权利要求中的任一项所述的方法。
CN201980095616.2A 2019-04-30 2019-11-20 用于基于位所的设备控制的系统和界面 Pending CN113728293A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962840877P 2019-04-30 2019-04-30
US62/840,877 2019-04-30
PCT/US2019/062440 WO2020222871A1 (en) 2019-04-30 2019-11-20 Systems and interfaces for location-based device control

Publications (1)

Publication Number Publication Date
CN113728293A true CN113728293A (zh) 2021-11-30

Family

ID=68835388

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980095616.2A Pending CN113728293A (zh) 2019-04-30 2019-11-20 用于基于位所的设备控制的系统和界面

Country Status (4)

Country Link
US (1) US20220057922A1 (zh)
EP (1) EP3963425A1 (zh)
CN (1) CN113728293A (zh)
WO (1) WO2020222871A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11946761B2 (en) 2018-06-04 2024-04-02 The Research Foundation For The State University Of New York System and method associated with expedient determination of location of one or more object(s) within a bounded perimeter of 3D space based on mapping and navigation to a precise POI destination using a smart laser pointer device
USD1006044S1 (en) * 2019-12-12 2023-11-28 Honeywell International Inc. Display screen with graphical user interface for a building controller
US20210358294A1 (en) * 2020-05-15 2021-11-18 Microsoft Technology Licensing, Llc Holographic device control
CN112933600B (zh) * 2021-03-09 2023-04-28 超参数科技(深圳)有限公司 虚拟对象控制方法、装置、计算机设备和存储介质
US11579752B1 (en) 2021-07-20 2023-02-14 Sony Interactive Entertainment Inc. Augmented reality placement for user feedback
US20230024254A1 (en) * 2021-07-26 2023-01-26 Google Llc Gesture Controls Using Ultra Wide Band
WO2023034001A1 (en) * 2021-09-03 2023-03-09 Apple Inc. Multi-device gesture control
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

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140123043A1 (en) * 2012-10-31 2014-05-01 Intel Mobile Communications GmbH Selecting Devices for Data Transactions
EP2996359A1 (en) * 2014-09-11 2016-03-16 Nokia Technologies OY Sending of a directive to a device

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100426208C (zh) * 2004-06-07 2008-10-15 皇家飞利浦电子股份有限公司 空间交互系统
US8230075B1 (en) * 2008-11-15 2012-07-24 Adobe Systems Incorporated Method and device for identifying devices which can be targeted for the purpose of establishing a communication session
US20120127012A1 (en) * 2010-11-24 2012-05-24 Samsung Electronics Co., Ltd. Determining user intent from position and orientation information
US20120169482A1 (en) * 2011-01-05 2012-07-05 Ian Chen System and Method for Selecting a Device for Remote Control Based on Determined Navigational State of a Remote Control Device
KR101799408B1 (ko) * 2011-11-03 2017-11-20 삼성전자주식회사 휴대용 단말기에서 제어 기기를 제어하기 위한 장치 및 방법
US8965057B2 (en) * 2012-03-02 2015-02-24 Qualcomm Incorporated Scene structure-based self-pose estimation
US9679414B2 (en) * 2013-03-01 2017-06-13 Apple Inc. Federated mobile device positioning
US9111214B1 (en) * 2014-01-30 2015-08-18 Vishal Sharma Virtual assistant system to remotely control external services and selectively share control
EP2955860B1 (en) * 2014-04-22 2018-06-27 Huawei Device (Dongguan) Co., Ltd. Device selection method and apparatus
US9313863B2 (en) * 2014-06-02 2016-04-12 Qualcomm Incorporated Methods, devices, and systems for controlling smart lighting objects to establish a lighting condition
US20160117076A1 (en) * 2014-10-22 2016-04-28 Lg Electronics Inc. Mobile terminal and control method thereof
US10582105B2 (en) * 2014-12-30 2020-03-03 Qualcomm Incorporated Changing camera parameters based on wireless signal information
US9536421B2 (en) * 2015-06-02 2017-01-03 Qualcomm Technologies International, Ltd. Intuitive way to point, access and control appliances and other objects in building interiors
US10025407B2 (en) * 2016-03-03 2018-07-17 Wipro Limited System and method for remotely controlling a device
US10295972B2 (en) * 2016-04-29 2019-05-21 Brain Corporation Systems and methods to operate controllable devices with gestures and/or noises
AU2018443902B2 (en) * 2018-09-24 2021-05-13 Google Llc Controlling a device based on processing of image data that captures the device and/or an installation environment of the device
US11475664B2 (en) * 2018-12-03 2022-10-18 Signify Holding B.V. Determining a control mechanism based on a surrounding of a remove controllable device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140123043A1 (en) * 2012-10-31 2014-05-01 Intel Mobile Communications GmbH Selecting Devices for Data Transactions
EP2996359A1 (en) * 2014-09-11 2016-03-16 Nokia Technologies OY Sending of a directive to a device

Also Published As

Publication number Publication date
WO2020222871A1 (en) 2020-11-05
US20220057922A1 (en) 2022-02-24
EP3963425A1 (en) 2022-03-09

Similar Documents

Publication Publication Date Title
US11054918B2 (en) Position-based location indication and device control
CN113728293A (zh) 用于基于位所的设备控制的系统和界面
US11699271B2 (en) Beacons for localization and content delivery to wearable devices
KR102038638B1 (ko) 가상 현실에서 핸드 헬드 디바이스를 트랙킹하는 시스템
US10528154B2 (en) System for projecting content to a display surface having user-controlled size, shape and location/direction and apparatus and methods useful in conjunction therewith
US11082249B2 (en) Location determination for device control and configuration
EP3250983B1 (en) Method and system for receiving gesture input via virtual control objects
JP6469706B2 (ja) 深度センサを用いた構造のモデル化
US10701661B1 (en) Location determination for device control and configuration
CN109584373B (zh) 协同增强现实地图界面
US11989355B2 (en) Interacting with a smart device using a pointing controller
US11355094B2 (en) Wireless virtual display controller
CN117859077A (zh) 用于生成室内空间的三维地图的系统和方法
US11886643B2 (en) Information processing apparatus and information processing method
US10719147B2 (en) Display apparatus and control method thereof
CN113243000A (zh) 用于增强现实对象的捕捉范围
WO2019054037A1 (ja) 情報処理装置、情報処理方法、およびプログラム
US20240069644A1 (en) System and method for enhancing functionality of electronic devices

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination