CN110262708B - 用于执行功能的设备和方法 - Google Patents

用于执行功能的设备和方法 Download PDF

Info

Publication number
CN110262708B
CN110262708B CN201910370909.9A CN201910370909A CN110262708B CN 110262708 B CN110262708 B CN 110262708B CN 201910370909 A CN201910370909 A CN 201910370909A CN 110262708 B CN110262708 B CN 110262708B
Authority
CN
China
Prior art keywords
page
information
application
input
function
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.)
Active
Application number
CN201910370909.9A
Other languages
English (en)
Other versions
CN110262708A (zh
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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
Priority claimed from KR1020140159183A external-priority patent/KR20160016491A/ko
Priority claimed from KR1020150025234A external-priority patent/KR102367132B1/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN110262708A publication Critical patent/CN110262708A/zh
Application granted granted Critical
Publication of CN110262708B publication Critical patent/CN110262708B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/04842Selection of displayed objects or displayed text elements
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0381Multimodal input, i.e. interface arrangements enabling the user to issue commands by simultaneous use of input devices of different nature, e.g. voice plus gesture on digitizer
    • 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
    • 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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • 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
    • 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/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/74Details of telephonic subscriber devices with voice recognition means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Facsimiles In General (AREA)

Abstract

提供一种执行功能的设备和由设备执行功能的方法。该方法包含:从至少一个物联网IoT设备接收服务信息;将从至少一个IoT设备接收的服务信息存储到存储器中;从用户接收请求执行预定功能的用户输入;分析存储在存储器中的至少一个IoT设备的服务信息,以选择用于执行与用户输入相对应的预定功能的至少一个IoT设备;以及将预定功能的执行命令发送到所选择的至少一个IoT设备。

Description

用于执行功能的设备和方法
本申请为申请日为2015年7月31日、申请号为201510463464.0的发明名称为“用于执行功能的设备和方法”的申请案的分案申请。
相关申请的交叉引用
本申请要求来自在韩国知识产权局于2014年7月31日提交的韩国专利申请号10-2014-0098627、于2014年11月14日提交的韩国专利申请号10-2014-0159183、于2015年2月23日提交的韩国专利申请号10-2015-0025234的权益,通过引用将其所公开的全部内容并入本文。
技术领域
与示例性实施例一致的装置和方法涉及用于通过使用安装的应用来执行用户请求的功能的设备和方法。
背景技术
移动终端可以被配置为执行各种功能。各种功能的示例可以包括数据和声音通信功能、用相机取得静止图片或移动图片的功能、声音记录功能、通过扬声器系统播放音乐文件的功能以及显示图像或视频的功能。
一些移动终端可以包括玩游戏的附加功能,一些可以实施为多媒体设备。另外,由于智能电话和平板的日益普及,已经开发和使用了各种应用。因此,需要使用户能够容易且方便地操作应用的系统。
发明内容
一个或多个示例性实施例涉及通过使用安装的应用的屏幕组件信息来执行用户请求的功能的设备和方法。
另外的方面将在随后的描述中部分地阐述,并且部分地,将根据描述而显现,或者可以通过示例性实施例的实践来学习。
根据示例性实施例的方面,提供一种设备,包含:通信器,被配置为从至少一个物联网IoT设备接收服务信息;存储器,被配置为存储从至少一个IoT设备接收的服务信息;和输入器,被配置为从用户接收请求执行预定功能的用户输入;和控制器,被配置为分析存储在存储器中的至少一个IoT设备的服务信息,以选择用于执行与用户输入相对应的预定功能的至少一个IoT设备,并且将预定功能的执行命令发送到所选择的至少一个IoT设备。
根据示例性实施例的另一方面,提供一种由设备执行功能的方法。该方法包含:从至少一个物联网IoT设备接收服务信息;将从至少一个IoT设备接收的服务信息存储到存储器中;从用户接收请求执行预定功能的用户输入;分析存储在存储器中的至少一个IoT设备的服务信息,以选择用于执行与用户输入相对应的预定功能的至少一个IoT设备;以及将预定功能的执行命令发送到所选择的至少一个IoT设备。
根据示例性实施例的另一方面,提供一种设备,包括:显示器,被配置为显示应用的至少一个屏幕页;音频输入器,被配置为接收包括与第一应用有关的第一声音命令和与第二应用有关的第二声音命令的用户的音频;以及控制器,被配置为:通过使用从与第一声音命令相对应的第一应用的屏幕页中包括的用户界面(UI)元件有关的信息获得的用于在第一应用的屏幕页之间转换的第一屏幕页转换信息来执行与第一声音命令相对应的第一操作,向第二应用提供第一操作的执行结果数据作为与第二声音命令相对应的第二应用的输入数据,以及通过使用从与第二声音命令相对应的第二应用的屏幕页中包括的UI元件有关的信息获得的用于在第二应用的屏幕页之间转换的第二屏幕页转换信息来执行与第二声音命令相对应的第二操作,其中每个UI元件被配置为响应于被用户选择来执行预定功能。
存储器可以被配置为存储第一操作的执行结果数据。
控制器还可以被配置为从存储器接收第一操作的执行结果数据作为第二应用的输入数据。
控制器还可以被配置为通过使用第一屏幕页转换信息来确定与第一声音命令相对应的第一应用的屏幕页之间的第一转换路径,以及通过使用第二屏幕页转换信息来确定与第二声音命令相对应的第二应用的屏幕页之间的第二转换路径。
控制器还可以被配置为基于第一转换路径和第二转换路径顺序地在显示器上显示第一应用的屏幕页和第二应用的屏幕页。
控制器还可以被配置为生成用于控制连接第一应用的屏幕页和第二应用的屏幕页的至少一个UI元件的输入事件,以顺序地显示第一应用的屏幕页和第二应用的屏幕页。
UI元件有关的信息可以包括UI元件的标识信息、用于控制UI元件的输入事件的类型信息、与UI元件连接的应用屏幕信息以及与UI元件连接的功能信息中的至少一个。
控制器还可以被配置为通过使用渲染第一应用的屏幕页获取的信息来生成第一应用的屏幕页中包括的UI元件有关的信息。
控制器还可以被配置为基于第一应用的屏幕页中包括的UI元件有关的信息和第二应用的屏幕页中包括的UI元件有关的信息中的至少一个来标识显示在显示器上的当前页。
第一屏幕页转换信息可以包括连接第一应用的屏幕页的UI元件的标识信息和用于控制连接第一应用的屏幕页的UI元件的输入事件信息中的至少一个,并且第二屏幕页转换信息可以包括连接第二应用的屏幕页的UI元件的标识信息和用于控制连接第二应用的屏幕页的UI元件的输入事件信息中的至少一个。
音频输入器可以向服务器提供音频并且从服务器接收音频的分析结果。
根据另外的示例性实施例的方面,提供一种用于由设备执行功能的方法,包括:接收包括与第一应用有关的第一声音命令和与第二应用有关的第二声音命令的用户的音频;通过使用从与第一声音命令相对应的第一应用的屏幕页中包括的用户界面(UI)元件有关的信息获得的用于在第一应用的屏幕页之间转换的第一屏幕页转换信息,来执行与第一声音命令相对应的第一操作;向第二应用提供第一操作的执行结果数据作为与第二声音命令相对应的第二应用的输入数据;以及通过使用从与第二声音命令相对应的第二应用的屏幕页中包括的UI元件有关的信息获得的用于在第二应用的屏幕页之间转换的第二屏幕页转换信息,来执行与第二声音命令相对应的第二操作,其中每个UI元件响应于被用户选择来执行预定功能。
执行与第一声音命令相对应的第一操作可以包括将第一操作的执行结果数据存储在存储器中。
执行与第二声音命令相对应的第二操作可以包括从存储器接收第一操作的执行结果数据作为第二应用的输入数据。
执行与第一声音命令相对应的第一操作可以包括通过使用第一屏幕页转换信息来确定与第一声音命令相对应的第一应用的屏幕页之间的第一转换路径,并且执行与第二声音命令相对应的第二操作可以包括通过使用第二屏幕页转换信息来确定与第二声音命令相对应的第二应用的屏幕页之间的第二转换路径。
该方法可以包括基于第一转换路径和第二转换路径顺序地显示第一应用的屏幕页和第二应用的屏幕页。
基于第一转换路径和第二转换路径顺序地显示第一应用的屏幕页和第二应用的屏幕页可以包括生成用于控制连接第一应用的屏幕页和第二应用的屏幕页的至少一个UI元件的输入事件。
该方法可以包括通过使用渲染第一应用的屏幕页获得的信息来生成第一应用的屏幕页中包括的UI元件有关的信息。
接收音频可以包括向服务器提供音频以及从服务器接收音频的分析结果。
该方法使用非临时性计算机可读记录介质来执行,在非临时性计算机可读记录介质上记录有可由计算机执行的程序。
根据另外的示例性实施例的方面,提供一种由设备执行功能的方法,该方法包括:接收请求执行至少一个功能的用户输入;比较当前页中包括的用户界面(UI)元件有关的信息与至少一个应用的屏幕组件信息的UI元件有关的信息;以及基于比较来确定从当前页转换到目标页的路径,目标页是用于提供至少一个功能的页;根据所确定的路径转换到目标页;以及通过目标页来执行至少一个功能。
至少一个功能可以包括消息传送功能、警报功能、电话呼叫功能、内容上载功能、图像捕捉功能、声音记录功能以及信息搜索功能中的至少一个。
用户输入可以包括话音输入、手势输入、运动输入、弯曲输入、键输入、眼睛输入以及组合输入中的至少一个。
转换到目标页可以包括生成用于显示目标页的输入事件。
该方法还可以包括至少一个中间页,并且所确定的路径可以包括当前页、至少一个中间页和目标页。
附图说明
从下面结合附图对示例性实施例进行的描述,这些和/或其他方面将变得显而易见并且更容易被意识到,附图中:
图1A至1F是例示根据示例性实施例的通过使用应用来执行预定功能的系统的图;
图2是例示根据示例性实施例的设备通过使用应用的屏幕组件信息来执行预定功能的方法的流程图;
图3是例示根据示例性实施例的设备获取应用的屏幕组件信息的方法的流程图;
图4是例示设备从服务器接收应用的屏幕组件信息的示例的图;
图5是例示根据示例性实施例的设备生成应用的屏幕组件信息的方法的流程图;
图6是例示根据示例性实施例的设备获取屏幕页中包括的用户界面(UI)元件的信息和功能信息的方法的流程图;
图7A至7C是例示根据示例性实施例的设备分析应用的每个屏幕页中包括的UI元件的示例的图;
图8A和8B是例示根据示例性实施例的应用的屏幕页中包括的UI元件的信息的示例的图;
图9A和9B是例示根据示例性实施例的表示应用的屏幕页中包括的UI元件与应用所提供的功能之间的匹配的功能信息的示例的图;
图10A和10B是例示根据示例性实施例的网络浏览器应用中包括的UI元件的功能信息的图;
图11是例示根据另外的示例性实施例的设备生成应用的屏幕组件信息的方法的流程图;
图12是例示根据示例性实施例的屏幕组件信息中所定义的动作信息的示例的图;
图13是例示根据示例性实施例的设备生成应用的屏幕页之间的转换信息的方法的流程图;
图14A和14B是例示屏幕页之间的转换信息的示例的图;
图15是例示根据示例性实施例的可扩展标记语言(XML)类型屏幕组件信息的示例的图;
图16A至16C是例示根据示例性实施例的应用的屏幕组件信息的示例的图;
图17是例示根据示例性实施例的屏幕组件信息中包括的源过滤器的图;
图18是例示根据示例性实施例的设备更新应用的屏幕组件信息的方法的流程图;
图19A和19B是例示根据示例性实施例的设备中所存储的应用的屏幕组件信息的图;
图20是例示根据示例性实施例的设备中执行功能的方法的流程图;
图21是例示根据示例性实施例的设备确定从当前页转换到目标页的路径的示例的图;
图22A至22E是例示根据示例性实施例的设备通过使用应用的屏幕组件信息(UI描述)来执行对应于用户的声音输入的功能的示例的图;
图23是例示根据示例性实施例的设备检验中间页的方法的流程图;
图24A和24B分别是例示根据示例性实施例的一般的自动化语音识别(ASR)方法和流传输ASR方法的图;
图25是例示根据示例性实施例的设备在接收用户的声音输入的处理中提供指导信息的示例的图;
图26A至26D是例示根据示例性实施例的设备通过应用执行对应于用户的声音输入的功能的示例的图;
图27A至27C是例示根据示例性实施例的设备在虚拟显示器上显示中间页的示例的图;
图28是例示根据示例性实施例的设备通过使用应用的屏幕组件信息来执行用户请求的功能时获得的结果值的图;
图29是例示根据示例性实施例的设备基于应用执行信息来执行预定功能的方法的流程图;
图30A和30B是例示根据示例性实施例的设备通过使用正在被执行的应用的屏幕组件信息(UI描述)来执行对应于用户的声音输入的功能的示例的图;
图31是例示根据示例性实施例的设备通过使用应用的屏幕组件信息来执行对应于手势输入的功能的方法的流程图;
图32是例示根据示例性实施例的设备通过使用应用的屏幕组件信息来执行对应于手势输入的功能的示例的图;
图33是例示根据示例性实施例的设备基于预定条件来执行预定功能的方法的流程图;
图34是例示根据示例性实施例的设置条件的界面的图;
图35A和35B是例示根据示例性实施例的设备基于预定条件来控制电视(TV)的示例的图;
图36A和36B是例示根据示例性实施例的设备基于预定条件来取消警报设置的示例的图;
图37是例示根据示例性实施例的设备基于预定条件来显示通知消息的示例的图;
图38A至38C是例示根据示例性实施例的设备根据用户声音输入来控制打印机的示例的图;
图39A和39B是例示根据示例性实施例的在物联网(IoT)环境中执行预定功能的系统的图;
图40和41是例示根据示例性实施例在IoT环境中用户执行命令输入的方法的流程图;
图42是例示根据示例性实施例的将来自第一IoT设备的结果数据输出用作第二IoT设备中的输入参数的示例的图;
图43是例示根据示例性实施例的动作事件有关的信息的图;
图44是例示根据示例性实施例的医疗设备在用户请求时向外部设备传送数据的示例的图;
图45是例示根据示例性实施例的设备提供指导信息的方法的流程图;
图46是例示设备提供指导信息的示例的图;
图47和48是例示根据示例性实施例的设备基于用户的取消输入来停止功能执行的示例的图;以及
图49和50是根据一个或多个示例性实施例的设备的框图。
具体实施方式
现在将参考示例性实施例,示例在附图中例示,其中相同的标号在各处将被理解为相同的元件。在这一点上,示例性实施例可以具有不同的形式,并且不应当被解释为被限制于在本文中所阐述的描述。因此,下面通过参考附图来描述一个或多个示例性实施例,仅用于解释本描述的各方面。如在本文中所使用的那样,术语“和/或”包括相关联的列出项目中的一个或多个的任何以及所有组合。诸如“至少一个”这样的表述在一列元素之前时修改元件的完整列表,并且不修改列表中的单个元素。
在本文中所使用的术语可以是在考虑关于示例性实施例的功能时在现有技术中当前使用的一般术语,但是术语可以根据本领域技术人员的想法、本领域中的先例或新技术而变化。另外,术语可以由申请人选择。因此,在本文中所使用的术语应当基于术语的含义以及一个或多个示例性实施例的总体描述来理解。
当某种事物“包括”组件时,还可以包括另外的组件,除非以其他方式指定。另外,在本文中所使用的术语“单元”和“模块”是指执行至少一个功能或操作的单元,并且单元可以实现为硬件或软件或硬件和软件的组合。
在说明书的各处,“应用”可以指被设计以执行预定操作的一组计算机程序。在本文中描述的应用可以根据一个或多个示例性实施例来不同。例如,应用可以包括但不限于网络浏览器应用、相机应用、字典应用、翻译应用、数据传送应用、音频播放器应用、视频播放器应用、消息应用、社交通信器应用、社交媒体应用、地图应用、图片目录应用、广播应用、游戏应用、运动支持应用、支付应用、备忘录应用、日历应用和电话薄应用。
以下,将参照附图更详细地描述示例性实施例。然而,示例性实施例可以具有不同的形式,并且不应当被解释为被限制于在本文中所阐述的描述。另外,与示例实施例的描述相关的部分在其将得到示例示实施例的更清楚的描述的情况下可以在附图中省略,并且相同的标号将在说明书的各处指示相同的元件。
图1A是例示根据示例性实施例的通过使用应用来执行预定功能的系统的图。
如图1A所示,根据示例性实施例的通过使用应用来执行预定功能的系统可以包括设备100。然而,系统可以包括比所例示的组件更多的组件。例如,除了设备100,系统还可以包括服务器。另外,除了设备100,系统还可以包括物联网(IoT)设备。在说明书中,IoT设备可以指通过内嵌的传感器收集数据并且通过网络接口与其他IoT设备共享所收集的数据的设备。包括IoT设备的系统的示例将在下面参照图39至44来详细地描述。
根据示例性实施例的设备100可以是可以执行应用并且通过应用来执行预定功能的任何设备。根据示例性实施例的设备100可以实现为各种形式。例如,在本文中所描述的设备100可以包括但不限于桌面计算机、便携式电话、智能电话、膝上型计算机、平板个人计算机(PC)、电子书终端、数字广播终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、导航设备、MP3播放器、数字相机、因特网协议电视(IPTV)、数字电视(DTV)和消费者电子(CE)设备(例如,具有显示设备的空气调节器和冰箱)。
在本文中描述的设备100可以是用户可以佩戴的任何可佩戴的设备。例如,根据示例性实施例的设备100可以包括手表、眼镜、指环、腕饰和项链。
根据示例性实施例,设备100可以包括用于接收请求执行预定功能的用户的声音的麦克风。在该情况下,设备100可以执行与通过麦克风接收的声音相对应的预定功能。例如,设备100可以执行应用,并且通过使用应用的屏幕组件信息来执行功能。
应用的屏幕组件信息可以指通过设备100由应用所提供的至少一个屏幕组件有关的信息。根据示例性实施例,应用的屏幕组件信息可以存储为可扩展标记语言(XML)或表格的形式;然而,本发明的构思不限于此。根据示例性实施例,应用的屏幕组件信息可以由设备100使用以通过应用自动地执行用户请求的功能。以下,为了便于描述,应用的屏幕组件信息还可以指用户界面(UI)描述。
根据示例性实施例,应用的屏幕组件信息可以包括应用所提供的屏幕页中包括的UI元件有关的信息、UI元件的功能信息、屏幕页之间的转换信息以及定义与屏幕页的组合或UI元件的组合相对应的动作(例如,消息传送、移动因特网电话连接以及图像捕捉)的动作信息。例如,UI元件可以是被示出给用户的对象(例如,文本、图像、按钮、图标和菜单)并且可以包括可以由用户操作的对象以及向用户提供信息的对象。另外,UI元件可以包括但不限于图形用户界面(GUI)对象和字符用户界面(CUI)对象。以下,为了便于描述,UI元件还可以被称为控制或UI对象。
屏幕页可以是用户可以通过屏幕观看的UI元件的集合。根据示例性实施例,屏幕页可以执行从用户接收输入或向用户传送信息的功能。根据示例性实施例,一个屏幕页可以包括但不限于一个或多个布局、视图和/或事件。
应用可以包括一个或多个屏幕页,并且屏幕页可以根据应用中的输入事件(例如,执行、转换和呼叫)的生成而出现。应用的屏幕组件信息将在下面更详细地描述,并且将在下面描述使用设备100中的屏幕组件信息的示例。
根据示例性实施例,如图1A所示,用户可以用消息询问朋友“亨利”他在哪。例如,用户可以执行信使应用,从信使应用的朋友列表中搜索“亨利”,打开聊天窗口以便与亨利聊天,向其中输入文本,并且按下发送按钮。
然而,代替手动地操作设备100,用户可以向设备100输入请求消息传送的声音。例如,用户可以执行声音识别小配件10并且通过声音识别小配件10输入声音命令(例如,“通过交谈向亨利发送消息‘你在哪?’……”)20。声音识别小配件10可以在预定事件生成时执行。例如,设备100可以在将设备100上的预定硬件键或触摸键按下至少预定时间量时提供声音识别小配置件10。
在本文中,小配件可以指可以支持用户和应用程序操作系统(OS)之间的交互的GUI类型(其表示基于图形的操作环境)的迷你应用(例如,应用程序或软件)。
根据示例性实施例,当接收到声音命令20时,设备100可以生成如下事件:通过使用信使应用的预存储的屏幕组件信息自动地执行信使应用,从信使应用的朋友列表中搜索“亨利”,打开聊天窗口以便与亨利聊天,输入文本并且发送消息,就好像用户操作信使应用一样。
根据示例性实施例,因为设备100通过使用使用应用的预存储的屏幕组件信息来自动生成从当前页到目标页的每个页中的真实的用户输入事件,所以设备100可以向用户提供类似于直接用手操作设备100的真实的体验。
下面将参照图20详细地描述设备100通过使用应用的屏幕组件信息来执行预定功能的方法。
另外,根据示例性实施例,设备100可以通过可以支持预定功能的声音命令的打开应用程序接口(API)来执行预定功能。在该情况下,设备100可以只执行由打开API所支持的一些功能。例如,设备100不可以执行未由打开API提供的应用功能。
然而,根据示例性实施例,设备100还可以通过使用应用的屏幕组件信息来执行除了由打开API支持的功能之外的其他功能。包括在设备100中通过使用应用的屏幕组件信息来执行用户请求的功能的服务模块12将在下面参照图1B至1F详细地描述。
参照图1B,根据示例性实施例,设备100的服务模块12可以通过从平台13获取在渲染应用11的屏幕页的处理中获取的信息(例如,屏幕页中包括的UI元件的标识信息、UI元件的属性信息以及关于是否可以控制UI元件的信息;以下称为“渲染信息”)以及屏幕页中包括的UI元件的输入事件信息(例如,输入事件的类型信息以及输入事件所呼叫的页的标识信息)来生成屏幕组件信息。
另外,根据示例性实施例,设备100的服务模块12可以获取来自应用11(例如,第三方应用)的应用11中的每个的屏幕组件信息。
当从用户接收到声音命令时,设备100的服务模块12可以使用所生成或所获取的屏幕组件信息自动地生成UI元件的输入事件,由此执行所接收的声音命令。例如,服务模块12可以通过使用从平台13接收到的渲染信息来标识当前页。另外,服务模块12可以通过使用所生成或所获取的屏幕组件信息来确定对应于预定功能的输入事件。
从而,根据示例性实施例,设备100的服务模块12可以在不使用API的情况下响应用户的声音命令来执行对应于UI元件的所有功能。根据示例性实施例,设备100的服务模块12可以实现为软件和硬件中的至少一种。
例如,根据示例性实施例,服务模块12可以实现为应用11和平台13之间的中间件。在该情况下,服务模块12可以从平台13接收UI元件的渲染信息或输入事件信息,并且向应用11传送用于生成对应于预定功能的输入事件(例如,UI控制事件执行命令)。
参照图1C,根据示例性实施例,服务模块12可以实现为在平台13中操作的模块。在该情况下,服务模块12可以收集来自平台13中的UI渲染器的渲染信息。另外,服务模块12可以收集来自平台13中的用户控制输入单元的输入事件信息(例如,输入事件的类型信息和输入事件呼叫的页的标识信息)。
服务模块12可以通过使用屏幕组件信息来确定对应于预定功能的输入事件(例如,诸如点击、长点击或挥扫这样的UI控制事件)。然后,服务模块12可以向应用11传送用于生成预定输入事件的命令(例如,UI控制事件执行命令)。在该情况下,应用11可以识别从平台13接收到用于生成输入事件的命令。
参照图1D,根据示例性实施例,服务模块12可以实现在使用平台13的API的应用11中。例如,服务模块12可以位于第三方应用11-1中。在该情况下,服务模块12可以收集来自平台13的渲染信息。服务模块12可以通过使用渲染信息来标识在设备100上显示的当前页。
另外,根据示例性实施例,服务模块12可以通过使用从平台13收集的渲染信息来生成第三方应用11-1的屏幕组件信息或者可以获取从第三方应用11-1提供的屏幕组件信息。在该情况下,服务模块12可以通过使用第三方应用11-1的屏幕组件信息来确定对应于预定功能的输入事件(例如,诸如点击、长点击或挥扫这样的UI控制事件)。
然后,服务模块12可以通过内部接口向第三方应用11-1的控制模块传送用于生成所确定的输入事件的命令(例如,UI控制事件执行命令)。根据示例性实施例,服务模块12可以执行第三方应用11-1中的UI控制事件执行命令。
参照图1E,服务模块12可以实现为单独应用类型(例如,服务模块应用12’)。在该情况下,服务模块应用12’可以使用平台13的API,并且可以收集来自平台13的UI元件的渲染信息和输入事件信息(例如,输入事件的类型信息和输入事件呼叫的页的标识信息)。
服务模块应用12’可以通过使用UI元件的渲染信息和输入事件信息来生成其他应用11(例如第三方应用)的屏幕组件信息,或者可以获取来自其他应用11的屏幕组件信息。
服务模块应用12’可以通过使用屏幕组件信息来确定对应于预定功能的输入事件(例如,诸如点击、长点击或挥扫这样的UI控制事件)。然后,服务模块应用12’可以向平台13传送所确定的输入事件有关的信息(例如用于生成UI控制事件的请求)。在该情况下,平台13可以基于从服务模块应用12’接收到的输入事件有关的信息来处理UI控制事件。例如,平台13可以生成点击预定应用的预定UI元件的事件。
根据示例性实施例,服务模块应用12’可以在不使用平台13的情况下直接向应用11传送生成输入事件(例如,诸如点击、长点击或挥扫这样的UI控制事件)的命令。
在图1B至1E中的平台13中包括的UI渲染器和用户输入控制器可以存储在设备100的存储器中。另外,在图1B至1E中的平台13中包括的声音识别引擎和自然语言处理引擎可以存储在设备100的存储器中或者服务器中。
虽然图1B至1E例示在设备100中设置服务模块12的示例性情况,但是服务模块12还可以设置在服务器中。在服务器中设置服务模块12的情况将参照图1F来描述。
参照图1F,根据示例性实施例,设备100的服务模块代理14可以接收来自用户的声音命令(例如,“通过OO交谈向凯文发送消息‘你在哪?’”)。在该情况下,设备100的服务模块代理14可以向服务器200的服务模块12传送所接收到的声音命令数据。
另外,设备100的服务模块代理14可以通过使用页分析器来分析当前页信息。例如,服务模块代理14可以从页分析器收集由页分析器通过使用渲染信息所标识的当前页有关的信息。在该情况下,服务模块代理14可以向服务器200的服务模块12传送当前页有关的信息。
服务器200的服务模块12可以包括UI分析器、应用信息管理器、UI路径分析器以及屏幕组件信息管理器。服务模块12可以通过分析声音命令数据来确定目标页。另外,服务模块12的UI路径分析器可以通过使用屏幕组件信息和当前页有关的信息来确定从当前页到目标页的UI路径。然后,服务模块12可以确定可以用于沿着UI路径移动的控制事件,并且将控制事件有关的信息传送给服务模块代理14。
因此,通过经由事件执行器生成控制事件,服务模块代理14可以执行由用户输入的声音命令(例如,“通过OO交谈向凯文发送消息‘你在哪?’”)。
根据示例性实施例,将参照图2来描述设备100通过使用屏幕组件信息来执行预定功能的情况。
图2是例示根据示例性实施例的设备通过使用应用的屏幕组件信息来执行预定功能的方法的流程图。
参照图2,在操作S210中,设备100可以获取并存储每个应用的屏幕组件信息。例如,设备100可以获取在应用的安装期间的来自服务器的应用的屏幕组件信息或者可以通过分析用户的应用使用模式来直接生成应用的屏幕组件信息。
根据示例性实施例,设备100可以将应用的屏幕组件信息映射到应用的标识信息,并且将映射结果存储在存储设备(例如存储器)中。例如,设备100可以将应用的屏幕组件信息存储在非易失性存储器(例如,闪速盘)中。根据示例性实施例,因为可以更新应用的屏幕组件信息,所以设备100可以将应用的屏幕组件信息有关的版本信息与应用的屏幕组件信息一起存储在存储设备中。
在操作S220中,设备100可以接收请求执行预定功能的用户输入。例如,设备100可以接收请求执行预定功能的声音输入。在本文中,预定功能可以是由安装的应用提供的功能中的至少一个。预定功能可以包括但不限于消息传送功能、信息搜索功能、呼叫连接功能、外部设备控制功能、操作模式切换功能、翻译功能、图片传送功能、数据备份功能、图像捕捉功能、声音记录功能、内容播放或能和文本输入功能。
在操作S230中,设备100可以通过使用操作的屏幕组件信息来执行预定功能。例如,设备100可以基于请求执行预定功能的用户输入来选择提供预定功能的应用。然后,设备100可以从存储设备中读取所选择的应用的屏幕组件信息。设备100可以通过使用所读取的所选择的应用的屏幕组件信息来确定提供预定功能的至少一个屏幕页。例如,设备100可以通过使用在屏幕组件信息中定义的UI元件的功能信息来选择包括与预定功能对应的UI元件的屏幕页。然后,设备100可以通过使用在屏幕组件信息中定义的屏幕页之间的转换信息顺序地呼叫所选择的屏幕页来执行预定功能。
根据另外的示例性实施例,设备100可以选择匹配预定功能的动作。在该情况下,动作可以是命令(或指令)的组合。例如,动作可以被定义为用于搜索朋友、呼叫聊天页、输入文本消息以及传送文本消息的一组命令。设备100可以通过使用在屏幕组件信息中定义的动作信息来选择匹配所选择的动作的屏幕页。设备100可以通过顺序地呼叫所选择的屏幕页来执行预定功能。
根据示例性实施例,当设备100使用应用的屏幕组件信息时,设备100可以根据声音命令来执行应用所提供的所有功能。从而,设备100可以执行不被API支持的各种功能。
另外,具有使用设备100困难的盲人或者正在驾驶的用户可以经由使用应用的屏幕组件信息(UI描述)的设备100执行简单的输入(例如,声音输入)而不是必须手动地执行需要多阶段操作的功能。设备100获取应用的屏幕组件信息的示例性操作将参照图3来描述,并且设备100通过使用应用的屏幕组件信息来执行预定功能的方法将在下面详细地描述。
虽然图1A至2例示请求执行预定功能的用户输入是声音输入的示例性情况,但是示例性实施例并不限于此。除了声音输入之外,请求执行预定功能的用户输入还可以包括各种其他用户输入。例如,用户输入可以包括键输入、手势输入(例如,触摸输入和空中手势输入)、运动输入、弯曲输入和/或多组合输入等。
在说明书各处,术语“触摸输入”可以指用户在触摸屏幕上执行来控制设备100的手势。例如,触摸输入可以包括轻叩、触摸并保持、双轻叩、拖拽、摇移、轻弹以及拖放等。
根据示例性实施例,“轻叩”可以指用户用手指或触摸工具(例如,电子笔或触针)触摸屏幕、然后立即将其从屏幕提起而不使手指或触摸工具在屏幕上定向地移动的操作。
根据示例性实施例,“触摸并保持”可以指用户用手指或触摸工具(例如,电子笔)触摸屏幕、然后将触摸输入保持临界时间(例如,两秒)的操作。例如,“触摸并保持”可以对应于触摸入(Touch-In)时间和触摸出(Touch-Out)时间之间的时间差等于或大于临界时间(例如两秒)的情况。当触摸输入被保持临界时间或更多时,可以提供视觉、听觉或触觉反馈信号,使得用户可以识别触摸输入是“轻叩”还是“触摸并保持”。临界时间可以根据一个或多个示例性实施例而不同。根据示例性实施例,临界时间可以预定或者其可以由用户设置。
根据示例性实施例,“双轻叩”可以指用户用手指或触摸工具(例如,电子笔)在临界时间段内相继两次触摸屏幕的操作。根据示例性实施例,临界时间段可以是预定的或者其可以由用户设置。
根据示例性实施例,“拖拽”可以指用户用手指或触摸工具触摸屏幕、然后在维持触摸的同时将手指或触摸工具向屏幕上的另外的位置移动或滑动的操作。通过拖拽操作,可以移动对像,或者执行如下所述的摇移操作。
根据示例性实施例,“摇移”可以指用户在不选择对象的情况下执行拖拽操作的情况。因为“摇移”不选择对象,所以页在屏幕内移动或者对象组在页内移动,而不是对像在页内移动。
根据示例性实施例,“轻弹”可以指用户以临界速度(例如,100像素/s)或更高用手指或触摸工具进行拖拽的操作。可以基于手指或触摸工具的移动速度是否高于临界速度(例如,100像素/s)来区别“拖拽(或摇移)”与“轻弹”。
根据示例性实施例,“拖放”可以指用户用手指或触摸工具将对象拖拽并放到屏幕上的预定位置的操作。
根据示例性实施例,“捏”可以指用户在用两个手指触摸屏幕的同时在不同的方向上移动或滑动两个手指的操作。“捏”可以是用于放大(捏开)或缩小(捏合)对象或页的手势,并且放大值或缩小值可以根据两个手指之间的距离来确定。
根据示例性实施例,“挥扫”可以指用户在用手指或触摸工具触摸屏幕上的对象的同时在水平或垂直方向上按照预定距离移动手指或触摸工具的操作。对角线移动可以不被识别为挥扫事件。
在说明书的各处,术语“空中手势输入”可以指按照设备100之上的预定距离在空中在设备100上执行以控制设备100的手势。根据示例性实施例,设备100可以通过使用相机和/或一个或多个类型的传感器来检测非触摸手势。
在说明书的各处,术语“运动输入”可以指用户对设备100施加以控制设备100的运动。例如,运动输入可以包括旋转设备100、倾斜设备100或者垂直或水平地移动设备100的用户输入。设备100可以使用加速度传感器、倾斜传感器、陀螺仪传感器和/或3轴磁传感器来检测用户预设的运动输入。
在说明书的各处,术语“弯曲输入”可以指弯曲设备100的所有或一些区域以控制设备100(例如,在设备100是可变形显示设备的情况下)的用户输入。根据示例性实施例,设备100可以使用弯曲传感器来检测弯曲位置(坐标值)、弯曲方向、弯曲角度、弯曲速度、弯曲频率、弯曲操作生成时间和/或弯曲操作保持时间。
在说明书的各处,术语“键输入”可以指通过使用附接或连接到设备100的物理键来控制设置100的用户输入。
在说明书的各处,术语“眼睛输入”可以指调节眨眼、凝视点和/或眼移动速度来控制设备100的用户输入。
在说明书的各处,术语“多输入”可以指两个或多个输入模式的组合。例如,设备100可以接收用户的触摸输入和运动输入,或者可以接收用户的触摸输入和声音输入。而且,设备100可以接受用户的触摸输入和眼睛输入。根据一个或多个示例性实施例,可以使用很多组合。
以下,为了便于描述,将主要描述请求执行预定功能的用户输入是声音输入的情况,但是这仅仅是示例。
图3是例示根据示例性实施例的设备获取应用的屏幕组件信息的方法的流程图。
参照图3,在操作S310中,设备100可以安装应用。例如,设备100可以接收来自服务器200的用于安装应用的信息,并且基于所接收的信息来安装应用。
在操作S320中,设备100可以确定在应用的安装期间是否获取到应用的屏幕组件信息。例如,当接收由应用开发者(或提供者)与应用一起生成的应用的屏幕组件信息时,设备100可以确定获取到应用的屏幕组件信息。
根据示例性实施例,由应用开发者(或提供者)与应用一起生成的应用的屏幕组件信息可以包括在应用文件中或应用安装文件中。
另外,当应用开发者(或提供者)还将应用的屏幕组件信息与应用文件一起登记在服务器200中时,设备100还可以将应用的屏幕组件信息与应用文件一起从服务器200下载。
在操作S330中,当在应用的安装期间未获取应用的屏幕组件信息时,设备100可以从服务器200请求安装的应用的屏幕组件信息(UI描述)。响应该请求,服务器200可以标识应用的屏幕组件信息(UI描述)。
根据示例性实施例,当在服务器200中存在应用的屏幕组件信息(UI描述)时,服务器200可以向设备100传送应用的屏幕组件信息(UI描述)。
服务器200可以标识在设备100中安装的应用的版本信息,并且传送对应于应用的版本的屏幕组件信息。当存在多条对应于应用的版本的屏幕组件信息时,服务器200可以向设备100传送对应于应用的版本的多条屏幕组件信息之中的最近版本的屏幕组件信息。
根据另外的示例性实施例,当在服务器200中不存在应用的屏幕组件信息(UI描述)时,服务器200可以使用模拟器来生成应用的屏幕且件信息(UI描述)。例如,服务器200可以从应用的屏幕页中包括的UI组件之中提取可由用户控制(例如,可点击)的UI元件。假设针对每个所提取的UI元件生成用户输入,则服务器200可以通过根据用户输入分析应用的屏幕页转换来生成屏幕组件信息。
根据示例性实施例,当在服务器200中不存在应用的屏幕组件信息(UI描述)时,服务器200可以向设备100传送指示不存在屏幕组件信息(UI描述)的信息。
在操作S340中,设备100可以确定是否从服务器200接收到应用的屏幕组件信息(UI描述)。当在预定时间内未从服务器200接收到应用的屏幕组件信息(UI描述)时,设备100可以确定在服务器200中不存在应用的屏幕组件信息(UI描述)。另外,设备100可以从服务器200接收指示不存在屏幕组件信息(UI描述)的信息。
在操作S350中,当未从服务器200接收到应用的屏幕组件信息(UI描述)时,设备100可以通过分析对应用的屏幕页的用户输入来直接生成应用的屏幕组件信息(UI描述)。例如,设备100可基于用户在应用的第一屏幕页中选择的至少一个UI元件的标识信息以及通过选择而转换所得到的至少一个第二屏幕页有关的信息来生成应用的屏幕组件信息。
根据示例性实施例,设备100可以生成包括在屏幕页中包括的UI元件的信息的屏幕组件信息、UI元件的功能信息以及屏幕页之间的转换信息。
设备100通过分析用户所选择的第一UI元件有关的文本(例如,1:1聊天)来确定第一UI元件的功能(例如,聊天)。另外,设备100可以使用第一UI元件有关的字符识别结果和第二屏幕页有关的信息(例如,在第二屏幕页中包括的第二UI元件的标识信息、第二UI元件的类型以及第二UI元件的属性)来确定第一UI元件的功能或第二屏幕页的功能。
设备100可以生成用于从第一屏幕页转换到第二屏幕页的信息。例如,设备100可以通过使用第一UI元件的标识信息和用于控制第一UI元件的输入的类型(例如,点击)来生成第一屏幕页和第二屏幕页之间的转换信息(例如,指示在点击第一UI元件的情况下从第一屏幕页转换到第二屏幕页的信息)。
根据另外的示例性实施例,设备100可以生成包括至少一条动作信息的屏幕组件信息。例如,设备100可以定义根据用户输入通过转换而顺序地显示的一个或多个屏幕页的标识信息作为预定动作。
例如,当用户点击第一页中的第一按钮、点击通过第一按钮的点击而显示的第二页中的第二按钮、在通过第二按钮的点击而显示的第三页中输入消息并且点击包括在第三页中的第三按钮以便向朋友发送文本消息时,设备100可以定义用于点击第一页中的第一按钮、点击第二页中的第二按钮以及点击第三页中包括的第三按钮的一组输入作为一个动作。
根据示例性实施例,通过分析第一按钮的功能(例如,朋友名称)、第二按钮的功能(例如,1:1聊天)、以及第三按钮的功能(例如,发送),设备100可以确定用户期望执行动作“向朋友发送文本消息”。然后,设备100可以将第一页的标识信息、第一按钮的标识信息、第二页的标识信息、第二按钮的标识信息、第三页的标识信息以及第三按钮的标识信息与动作“向朋友发送文本消息”相匹配,并且将匹配信息添加到屏幕组件信息。
下面将参照图5来描述设备100直接生成应用的屏幕组件信息(UI描述)的操作。
在操作S360中,设备100可以在存储器(例如,非易失性存储器)中存储从服务器200接收的屏幕组件信息(UI描述)或者由设备100生成的屏幕组件信息(UI描述)。应用的屏幕组件信息(UI描述)被可以被存储为文件。另外,应用的屏幕组件信息(UI描述)可以在被映射到应用的标识信息之后来存储。在该情况下,设备100可以基于应用的标识信息来管理对应于每个应用的屏幕组件信息。
图4是例示根据示例性实施例的设备从服务器接收应用的屏幕组件信息的示例的图。
参照图4,设备100可以从服务器200接收安装信息,并且安装聊天应用400(S401)。在安装聊天应用400期间或之后,设备100可以确定聊天应用400的屏幕组件信息(UI描述)是否存储在设备100中。
作为确定的结果,当聊天应用400的屏幕组件信息(UI描述)未存储在设备100中时,设备100可以从服务器200请求聊天应用400的屏幕组件信息(UI描述)(S402)。例如,设备100可以在将聊天应用400的标识信息传送给服务器200的同时从服务器200请求聊天应用400的屏幕组件信息(UI描述)。
服器200可以基于聊天应用400的标识信息从数据库中读取聊天应用400的屏幕组件信息(UI描述)。
另外,设备100可以基于对聊天应用400的虚拟输入事件的应用所获得的模拟结果来生成聊天应用400的屏幕组件信息。
服务器200可以向设备100传送聊天应用400的屏幕组件信息(UI描述)(S403)。设备100可以将从服务器200接收的聊天应用400的屏幕组件信息(UI描述)映射到聊天应用400的标识信息,并且将映射结果存储在设备100的存储器。
图5是例示根据示例性实施例的设备生成应用的屏幕组件信息的方法的流程图。将参照图5更详细地描述图3的操作S350(设备100生成屏幕组件信息的操作)。
参照图5,在操作S510中,设备100可以获取应用的屏幕页中包括的UI元件的信息。如上所述,UI元件可以是可以被示出给用户或者被用户控制的对象(例如,文本、图像、按钮、图标和菜单)。另外,UI元件的信息可以包括UI元件的标识信息和UI元件的属性信息。例如,UI元件的信息可以包括UI元件的类型、UI元件的特征(例示,文本特征或图像特征)、UI元件的标识值(例如,资源ID)、UI元件的位置(例如,坐标值)、UI元件的大小、关于UI元件是否可被用户控制的信息、用于控制UI元件的输入事件的类型以及表示UI元件的文本等。
根据示例性实施例,设备100可以通过使用在显示器上显示屏幕页(例如,执行屏幕)的渲染处理中获取的信息来获取屏幕页中包括的UI元件的信息(以下称为“渲染信息”)。在本文中,渲染可以指生成二维(2D)图形的完整图像的最终图像处理过程,并且可以指以三维(3D)图形在显示器上对存储在计算机中的模型数据进行成像的处理。
在渲染处理中获取的信息(例如,渲染信息)可以包括UI元件的类型、UI元件的特征(例示,文本特征或图像特征)、UI元件的标识值(例如,资源ID)、UI元件的位置(例如,坐标值)、UI元件的大小、关于UI元件是否可被用户控制的信息、用于控制UI元件的输入事件的类型以及表示UI元件的文本等。
根据示例性实施例,设备100可以将渲染第一屏幕页中包括的第一UI元件获取的信息定义为第一UI元件有关的信息。
根据示例性实施例,当显示包括第一按钮的第一屏幕页时,设备100可以收集有关第一按钮的位置、第一按钮的资源ID、选择第一按钮的输入事件(例如,点击)以及通过使用在渲染第一屏幕页的处理中获取的渲染信息来表示第一按钮的文本(例如,呼叫)的信息。然后,设备100可以定义应用的屏幕组件信息(UI描述)中的第一按钮的所收集的信息。
在操作S520中,设备100可以生成表示屏幕页中包括的功能和UI元件之间的匹配的功能信息。根据示例性实施例,功能可以被定义为应用的屏幕组件信息中的特征。
根据示例性实施例,设备100可以通过分析表示UI元件的文本信息、UI元件有关的字符识别结果信息以及根据选择UI元件的输入新显示的屏幕页有关的信息中的至少一个来生成UI元件的功能信息。
根据示例性实施例,设备100可以通过使用在操作S510获取的UI元件的信息来生成功能信息。
例如,设备100可以从UI元件的信息中提取表示第一UI元件的文本信息。设备100可以通过分析所提取的文本信息来定义第一UI元件的功能。
根据示例性实施例,当未从UI元件的信息中提取到表示第一UI元件的文本信息时,设备100可以通过执行对第一UI元件的字符识别或者通过使用服务器200的机器学习算法来定义第一UI元件的功能。设备100生成功能信息的操作将在下面参照图6详细地描述。
根据示例性实施例,设备100可以在生成功能信息时将UI元件的功能映射到预定命令。从而,应用的功能信息可以包括但不限于屏幕页的标识信息、UI元件的标识信息、功能名称和命令。
在操作S530中,设备100可以获取应用的屏幕页之间的转换信息。例如,在根据用户输入从第一屏幕页转换到第二屏幕页的情况下,设备100可以分析用户输入(例如,点击和按钮选择)来获取包括从第一屏幕页转换到第二屏幕页的输入事件信息的屏幕页之间的转换信息(例如,点击第一屏幕页中包括的第一按钮)。操作S530将在下面参照图13更详细地描述。
根据示例性实施例,设备100可以通过使用屏幕页中包括的UI元件的信息、表示屏幕页中包括的UI元件与应用提供的功能之间的匹配的功能信息以及屏幕页之间的转换信息来生成应用的屏幕组件信息。
另外,根据示例性实施例,设备100还可以包括应用信息(例如,应用名称、应用版本和应用标识码)和应用的屏幕组件信息中的屏幕组件信息版本。
图6是例示根据示例性实施例的获取功能信息和设备中的屏幕页中包括的UI元件的信息的方法的流程图。
参照图6,在操作S610中,设备100可以显示应用的第n页。例如,设备100可以接收应用执行请求并且执行应用。在该情况下,构成应用的屏幕页之中的第n页可以显示在屏幕上。
在操作S620中,设备100可以对第n页分配标识(ID)。例如,设备100可以对显示在当前屏幕上的第n页分配预定ID。根据示例性实施例,分配给第n页的ID可以是文本、数字、符号,或者可以是文本、数字和符号的任何组合;然而,示例性实施例并不限于此。
根据示例性实施例,设备100可以对应用提供的每个屏幕页分配ID。在该情况下,设备100可以自动地对每个屏幕页分配ID,或者可以基于用户输入对屏幕页分配ID。例如,设备100可以根据预定规则自动地对每个屏幕页分配ID。另外,设备100可以向屏幕页分配用户指定的ID。
在操作S630中,设备100可以确定用户在第n页中选择的UI元件是否具有文本特征。例如,当用户选择的UI元件是新闻文本或用户简档时,UI元件可以具有文本特征。
根据示例性实施例,设备100可以基于应用和驱动应用的平台(或OS)之间交换的信息来确定UI元件是否具有文本特征。例如,应用可以请求当前页(第n页)的显示,同时将第n页中包括的UI元件有关的信息传送给渲染单元(例如,UI渲染器)。在该情况下,设备100可以将渲染单元(例如,UI渲染器)中包括的UI元件有关的信息与第n页的ID进行匹配,并且定义与第n页的信息相同的信息。然后,设备100可以从UI元件有关的信息之中提取表示用户所选择的UI元件的文本信息。
在操作S640中,设备100可以分析表示用户所选择的UI元件的文本。例如,当从UI元件有关的信息中提取到表示用户所选择的UI元件的文本信息时,设备100可以分析所提取的文本信息。在该情况下,设备100可以将表示UI元件的文本定义为UI元件的功能。例如,当表示第一按钮的文本是“发送”时,设备100可以将第一按钮的功能定义为“发送”。具有文本特征的UI元件的类型可以被定义为应用的屏幕组件信息(UI描述)中的“TextView”。
在操作S650中,当用户所选择的UI元件具有图像特征时,设备100可以对UI元件执行字符识别(例如,光学字符识别(OCR))。例如,当未从UI元件有关的信息中提取到表示用户所选择的UI元件的文本信息时,设备100可以对UI元件执行OCR。
OCR可以指将图像文件中包括的韩文字符、英文字符和数字字体变换成可以在设备100中编辑的字符代码的技术。
当对UI元件的OCR成功时,设备100可以通过使用OCR结果来定义UI元件的功能。例如,当关于第二按钮的OCR结果是“声音交谈”时,设备100可以将第二按钮的功能定义为“声音交谈”。
当第一UI元件具有图像特征时,第一UI元件的类型可以被定义为应用的屏幕组件信息(UI描述)中的“ImageView”。
在操作S660中,当对用户所选择的UI元件的OCR未成功时,设备100可以请求服务器200分析用户所选择的UI元件。例如,设备100可以通过捕捉用户选择的UI元件来生成捕捉图像,并且将所生成的捕捉图像发送给服务器200。
在该情况下,服务器200可以使用机器学习算法来分析具有图像特征的UI元件,例如,服务器200可以比较预存储的图像模板与捕捉图像中包括的UI元件。在该情况下,服务器200可以将在图像模板中包括的图像之中与用户所选择的UI元件最相似的图像标识为用户所选择的UI元件。
例如,当捕捉图像中包括的第一UI元件是人形图标并且人形图标在图像模板列表中被定义为联系人标签时,服务器200可以将第一UI元件识别为“联系人标签”。另外,当捕捉图像中包括的第一UI元件是省略号(…)并且省略号在图像模板列表中被定义为更多标签时,服务器200可以将第一UI元件识别为“更多标签”。
根据示例性实施例,服务器200可以将具有图像特征的UI元件有关的分析信息传送给设备100。在该情况下,设备100可以基于从服务器200接收的信息来定义UI元件的功能。例如,设备100可以将人形的第三按钮的功能定义为“联系人搜索”。
在操作S670中,在通过UI元件的选择而从第n页转换到第(n+1)页的情况下,设备100可以分析第(n+1)页。例如,设备100可以通过使用渲染第(n+1)页获取的信息来分析在第(n+1)页中包括的UI元件的数量、类型、属性和位置。
设备100可以通过使用关于第(n+1)页的信息以及用户在第n页中选择的UI元件有关的信息来定义UI元件的功能。例如,当基于选择1:1聊天按钮的输入来显示包括消息输入窗口的聊天室页时,设备100可以通过使用关于1:1聊天按钮的信息和关于聊天室页的信息将1:1聊天按钮的功能定义为“文本聊天”。
在操作S680中,设备100可以通过使用表示UI元件的文本信息、关于UI元件的OCR结果信息、关于UI元件的服务器200的分析结果信息以及通过UI元件的选择而新显示的页有关的信息中的至少一个来生成UI元件的功能信息。
通过重复操作S610至S680,设备100可以在应用的屏幕组件信息中定义应用所提供的每个屏幕页中包括的UI元件有关的所有信息。
图7A至7C是例示根据一个或多个示例性实施例的设备分析在应用的每个屏幕页中包括的UI元件的示例的图。
参照图7A,设备100可以创建第一页710的唯一ID,并且存储关于第一页710的信息。例如,设备100可以将第一页710的唯一ID定义为“FriendListTab”。
根据示例性实施例,设备100可以分析在第一页710中包括的UI元件(UI对象)。例如,设备100可以分析在第一区域701中包括的UI元件以及在第二区域702中包括的UI元件。
因为包括在第一区域701中的UI元件具有图像特征,所以设备100可以对在第一区域701中包括的UI元件执行OCR。在该情况下,因为在第一区域701中包括的UI元件不包括文本,所以对在第一区域701中包括的UI元件执行的OCR可能失败。
当OCR未成功时,设备100可以对在第一图像701中包括的UI元件进行图像捕捉。然后,在将所捕捉的UI元件传送给服务器200的同时,设备100可以请求服务器200分析所捕捉的UI元件。
服务器200可以基于机器学习算法来分析在第一区域701中包括的UI元件。例如,服务器200可以检测在第一区域701中包括的UI元件分别表示“人”、“聊天”、“搜索”和“更多”。服务器200可以将在第一区域701中包括的UI元件有关的分析信息(“人”、“聊天”、“搜索”和“更多”)传送给设备100。
在该情况下,设备100可以获取在第一区域701中包括的UI元件有关的分析信息(“人”、“聊天”、“搜索”和“更多”),设备100可以检测在第一区域701中包括的UI元件由点击事件通过使用渲染信息来控制。
设备100可以识别在第二区域702中包括的UI元件的列表。因为在第二区域702中包括的UI元件具有文本特征,所以设备100可以分析对应于在第二区域702中包括的每个UI元件的文本。另外,基于用户的使用模式,设备100可以检测存在点击和/或长点击作为对应于在第二区域702中包括的每个UI元件的输入事件。
根据示例性实施例,在第一页710中包括的UI元件有关的信息可以被定义为将在下面描述的图16A的第一页(FriendListTab)的控制有关的信息。
参照图7B,设备100可以创建第二页720的唯一ID,并且存储关于第二页720的信息。例如,设备100可以将第二页720的唯一ID定义为“FriendSummary”。
根据示例性实施例,设备100可以分析在第二页720中包括的UI元件。例如,设备100可以识别在第二页720中包括的UI元件之中的按钮(例如,触摸区)。
设备100可以识别由名称表示的第一按钮703和由电话号码表示的第二按钮704。因为第一按钮703和第二按钮704具有文本特征,所以设备100可以分析在第一按钮703和第二按钮704上显示的文本的含义。在该情况下,设备100可以将第一按钮703与“FriendName(Kim Myungjun)”进行匹配并且存储匹配结果。另外,设备100可以将第二按钮704的功能定义为“呼叫(电话号码)”。当在用户选择第二按钮704时在第二页720中连接电话应用的情况下,设备100可以将“电话呼叫”添加到关于第二页720的功能信息。
另外,设备100可以识别1:1聊天按钮705和声音交谈按钮706。因为1:1聊天按钮705和声音交谈按钮706包括文本,所以设备100可以对1:1聊天按钮705和音频交谈按钮706上显示的文本进行OCR。例如,设备100可以将1:1聊天按钮705的功能定久为“聊天”,并且将声音交谈按钮706的功能定义为“声音交谈”。另外,设备100可以将“1:1聊天”和“声音交谈”添加到第二页720有关的功能信息。
根据示例性实施例,在第二页720中包括的UI元件有关的信息可以被定义为图16C的第五页(FriendSummary)的控制有关的信息。
参照图7C,设备100可以创建第三页730的唯一ID并且存储与第三页730有关的信息。例如,设备100可以将第三页730的唯一ID定义为“ChatRoom”。
根据示例性实施例,设备100可以分析在第三页730中包括的UI元件。例如,设备100可以将文本对象707识别为朋友的名称。因为文本对象707具有文本特征,所以设备100可以分析在文本对象707上显示的文本的含义。设备100可以将文本对象707匹配到“FriendName(Kim Myungjun)”,并且存储匹配结果。
根据示例性实施例,设备100可以识别图标对象708。因为图标对象708具有图像特征,所以设备100可以尝试对图标对象708执行OCR。在该情况下,因为图标对象708不包括字符,所以对图标对象708执行的OCR可能失败。
当OCR未成功时,设备100可以对图标对象708进行图像捕捉。然后,在将所捕捉的图标对象708传送给服务器200的同时,设备100可以请求服务器200分析图标对象708。
服务器200可以基于机器学习算法来分析图标对象708。例如,服务器200可以检测图标对象708表示“更多”。服务器200可以将关于图标对象的分析信息(“更多”)传送给设备100。
在该情况下,设备100可以获取关于图标对象708的分析信息(“更多”)。另外,设备100可以将图标对象708的功能定义为“更多”,并且将“更多”添加到第三页730有关的功能信息。
另外,设备100可以识别编辑窗口709。例如,设备100可以检测用户对编辑窗口709输入文本,并且将编辑窗口709识别为文本输入窗口。在该情况下,设备100可以将编辑窗口709的功能识别为“文本输入”,并且将“消息输入功能”添加到第三页730有关的功能信息。
另外,设备100可以识别发送按钮700。因为发送按钮700包括文本,所以设备100可以分析包括在发送按钮700中的文本的含义。在该情况下,设备100可以将发送按钮700的功能定义为“发送”。另外,设备100可以将“发送功能”添加到第三页730有关的功能信息。
根据示例性实施例,第三页730中包括的UI元件有关的信息可以被定义为图16C的第六页(ChatRoom)的控制有关的信息。
图8A和8B是例示根据示例性实施例的在应用的屏幕页中包括的UI元件的信息的示例的图。
参照图8A,当显示聊天应用的第一页801时,设备100可以标识在第一页801中包括的第一至第十UI元件810至800中的每一个,并且在屏幕组件信息中定义第一至第十UI元件810至800中的每一个有关的信息。
例如,因为第一UI元件810是框架布局,所以第一UI元件810的信息可以被定义为“类型=FrameLayout,ResourceID=盖子,isClickable=真”。因为第二UI元件820是缩略图图像,所以第二UI元件820的信息可以被定义为“类型=ImageView,ResourceID=缩略图,isClickable=真”。因为第三UI元件830是用于提供呈现的按钮,所以第三UI元件830的信息可以被定义为“类型=ImageView,ResourceID=呈现,isClickable=真”。
因为第四UI元件840是用于提供附加菜单的图像对象,所以第四UI元件840的信息可以被定义为“类型=ImageView,ResourceID=更多,isClickable=真”。因为第五UI元件850是朋友的简档图像,所以第五UI元件850的信息可以被定义为“类型=View,ResourceID=简档,isClickable=真”。
因为第六UI元件860是表示朋友的名称的文本,所以第六UI元件860的信息可以被定义为“类型=TextView,ResourceID=nickname,isClickable=假,isLongClickable=假,isScrollable=假,isFocusable=假”。因为第七UI元件870是用于关闭第一页801的按钮,所以第七UI元件870的信息可以被定义为“类型=按钮,ResourceID=关闭,isClickable=真”。
因为第八UI元件880是用于对朋友拨号的按钮,所以第八UI元件880的信息可以被定义为“类型=按钮,ResourceID=拨号,isClickable=真”。因为第九UI元件890是用于与朋友聊天的按钮,所以第九UI元件890的信息可以被定义为“类型=按钮,ResourceID=聊天,isClickable=真”。因为第十UI元件800是用于提供移动互联网语音协议(mVoIP)连接功能以及聊天功能的按钮,所以第十UI元件800的信息可以被定义为“类型=按钮,ResourceID=额外,isClickable=真”。
参照图8B,设备100可以将在第一页801(例如,页pageID=“friendSummary”)中包括的UI元件810、820、830、840、850、860、870、880、890和800的信息生成为XML类型802。
图9A和9B是例示根据示例性实施例的表示应用的屏幕页中包括的UI元件与应用所提供的功能之间的匹配的功能信息的示例的图。
参照图9A,当聊天应用的第一页900被显示时,设备100可以提取第一页900中包括的第一至第四UI元件910至940中的每一个,并且将第一至第四UI元件910至940中的每一个匹配到应用所提供的预定功能。
例如,因为第一UI元件910是用于提供关闭第一页900的功能的按钮,所以设备100可以将第一UI元件910有关的功能信息901定义为“[特征]关闭”。例如,设备100可以基于从用于渲染第一UI元件910的渲染信息中提取的文本信息将第一UI元件910的功能信息901定义为“关闭”。
因为第二UI元件920是用于对朋友拨号的按钮,所以设备100可以将第二UI元件920有关的功能信息902定义为“[特征]拨号或者010-XXXX-XXXX”。例如,设备100可以通过使用第二UI元件920有关的字符识别结果将功能信息902定义为“010-XXXX-XXXX”。另外,设备100可以基于根据第二UI元件920的选择而新显示的呼叫连接页的信息将第二UI元件920的功能信息902定义为“拨号”。
因为第三UI元件930是用于与朋友聊天的按钮,所以设备100可以将第三UI元件930有关的功能信息903定义为“[特征]聊天或1:1聊天”。例如,设备100可以基于第三UI元件930有关的字符识别结果将第三UI元件930的功能信息903定义为“1:1聊天”。另外,设备100可以基于根据第三UI元件930的选择而新显示的聊天室页的信息将第三UI元件930的功能信息903定义为“聊天”。
因为第四UI元件940是用于提供mVoIP连接功能以及聊天功能的按钮,所以设备100可以将第四UI元件940有关的功能信息904定义为“[特征]额外或声音交谈”。例如,设备100可以基于从用于渲染第二UI元件940的渲染信息中提取的文本信息将第四UI元件940的功能信息904定义为“额外”。另外,设备100可以基于第四UI元件940有关的字符识别结果将第四UI元件940的功能信息904定义为“声音交谈”。
参照图9B,设备100可以基于用户输入来改变预定功能信息。例如,虽然第三UI元件930有关的功能信息903被预定义为“[特征]聊天或1:1聊天”,但是当用户将功能名称从“聊天或1:1聊天”改变为“聊天窗口打开”时,设备100可以将第三UI元件930有关的功能信息903重新定义为“[特征]聊天窗口打开”905。
图10A和10B是例示根据示例性实施例的网络浏览器应用中包括的UI元件的功能信息的图。
参照图10A,网络浏览器应用可以包括固定包括在屏幕页中的UI元件1001、1002、1003、1004、1005和1006以及在屏幕页中周期性地或不定期地改变的UI元件1007和1008。设备100可以在网络浏览器的屏幕组件信息中定义固定包括在屏幕页中的UI元件1001、1002、1003、1004、1005和1006的功能信息。例如,设备100可以将第一UI元件1001的功能信息定义为“转移到先前的页”,将第二UI元件1002的功能信息定义为“转移到接下来的页”,将第三UI元件1003的功能信息定义为“输入URL”,将第四UI元件1004的功能信息定义为“停止”,将第五UI元件1005的功能信息定义为“显示网页”,并且将第六UI元件1006的功能信息定义为“书签”。
参照图10B,设备100可以在屏幕组件信息中定义用于控制在网页中包括的内容的命令(或指令)。例如,设备100可以将“点击”定义为用于点击内容标题以观看所有内容的命令,将“选择”定义为用于将焦点置于所选择的内容标题上的命令,将“先前的”定义为用于将焦点转移到先前的内容标题的命令,并且将“接下来”定义为用于将焦点转移到接下来的内容标题的命令。
从而,当用户对第一项目标题1010发出声音命令“点击”(例如,点击第一项目或点击“输入/输出方‘公共安全’特殊委员会”)时,设备100可以点击第一项目标题1010并且显示第一项目标题1010的所有内容。
当用户对第三项目标题1030发出声音命令“选择”(例如,选择“板桥倒塌事故”)时,设备100可以将焦点置于第三项目标题1030上。在该情况下,当用户发出声音命令“先前的”时,焦点可以从第三项目标题1030转移到第二项目标题1020;并且当用户发出声音命令“接下来”时,焦点可以从第三项目标题1030转移到第四项目标题1040。
图11是例示根据另外的示例性实施例的设备生成应用的屏幕组件信息的方法的流程图。将参照图11更详细地描述图3的操作S350(设备100生成屏幕组件信息的操作)。
参照图11,在操作S1110中,设备100可以获取应用的屏幕页中包括的UI元件的信息。如上所述,UI元件可以是可以被示出给用户或者可以由用户控制的对象(例如,文本、图像、按钮、图标和菜单)。
根据示例性实施例,设备100可以通过在显示器上显示屏幕页(执行屏幕)的渲染处理中获取的信息(以下称为“渲染信息”)来获取在屏幕页中包括的UI元件的信息。例如,当显示包括第一按钮的第一屏幕页时,设备100可以收集关于第一按钮的位置、第一按钮的资源ID、用于选择第一按钮的输入事件(例如点击)以及通过使用在渲染第一屏幕页的处理中获取的渲染信息来呈现第一按钮的文本(例如,呼叫)的信息。然后,设备100可以在应用的屏幕组件信息(UI描述)中定义第一按钮的所收集的信息。
在操作S1120中,设备100可以获取应用的屏幕页之间的转换信息。例如,在根据用户输入从第一屏幕页转换到第二屏幕页的情况下,设备100可以分析用户输入(例如,点击和按钮选择)以生成从第一屏幕页到第二屏幕页的转换信息。在该情况下,从第一屏幕页到第二屏幕页的转换信息可以包括输入事件信息(例如,点击在第一屏幕页中包括的第一按钮)。操作S1120将在下面参照图13更详细地描述。
在操作S1130中,设备100可以生成与根据用户输入进行转换而顺序地显示的屏幕页的组合相对应的动作。例如,在根据用于选择在第一屏幕页中包括的第一UI元件的用户输入从第一屏幕页转换到第二屏幕页以及根据用于选择在第二屏幕页中包括的第二UI元件的用户输入从第二屏幕页转换到第三屏幕页的情况下,设备100可以通过使用第一UI元件的功能信息和第二UI元件的功能信息来确定用户所请求的动作。
另外,设备100可以基于第二屏幕页的信息和第三屏幕页的信息以及第一UI元件的功能信息和第二UI元件的功能信息来确定用户所请求的动作。设备100可以将第一屏幕页的标识信息、第二屏幕页的标识信息和第三屏幕页的标识信息匹配到所确定的动作。
例如,当用户点击第一页中的第一按钮、点击通过点击第一按钮而显示的第二页中的第二按钮、在通过点击第二按钮而显示的第三页中输入消息并且点击包括在第三页中的第三按钮以便向朋友发送文本消息时,设备100可以通过使用第一按钮的功能、第二按钮的功能以及第三按钮的功能来确定用户所请求的动作是“向朋友发送消息”。在该情况下,设备100可以将第一页的标识信息、第一按钮的标识信息、第二页的标识信息、第二按钮的标识信息、第三页的标识信息以及第三按钮的标识信息匹配到动作“向朋友发送消息”,并且在其中存储匹配信息。动作信息将参照图12更详细地描述。
图12是例示在屏幕组件信息中定义的动作信息的示例的图。
参照图12,根据示例性实施例,设备100可以将根据用户输入进行转换而顺序地显示的一个或多个屏幕页的标识信息定义为预定动作。
例如,当用户顺序地点击第一页的第一按钮、第二页的第二按钮以及第三页的第三按钮时,设备100可以顺序地显示第一页、第二页、第三页和第四页。然后,设备100可以通过匹配第一页的标识信息、第一按钮的标识信息、第二页的标识信息、第二按钮的标识信息、第三页的标识信息、第三按钮的标识信息和第四页的标识信息与第一动作1210来生成第一动作信息。
另外,当用户顺序地点击第一页的第一按钮、第二页的第四按钮、第五页的第五按钮和第六页的第六按钮时,设备100可以顺序地显示第一页、第二页、第五页、第六页和第七页。然后,设备100可以通过匹配第一页的标识信息、第一按钮的标识信息、第二页的标识信息、第四按钮的标识信息、第五页的标识信息、第五按钮的标识信息、第六页的标识信息和第六按钮的标识信息与第二动作1220来生成第二动作信息。
另外,当用户顺序地点击第一页的第七按钮、第八页的第八按钮、第九页的第九按钮和第十页的第十按钮时,设备100可以顺序地显示第一页、第六页、第九页、第十页和第十一页。然后,设备100可以通过匹配第一页的标识信息、第七按钮的标识信息、第八页的标识信息、第八按钮的标识信息、第九页的标识信息、第九按钮的标识信息、第十页的标识信息、第十按钮的标识信息和第十一页的标识信息与第三动作1230来生成第三动作信息。
根据示例性实施例,可以根据页转换路径在应用的屏幕组件信息中定义各种动作。
当接收到表示第一动作1210的声音命令时,设备100可以提取第一动作信息。然后,设备100可以标识与第一动作1210相匹配的第一页的标识信息、第一按钮的标识信息、第二页的标识信息、第二按钮的标识信息、第三页的标识信息、第三按钮的标识信息、和第四页的标识信息。基于第一动作信息,设备100可以显示第一页,通过生成用于点击第一页中的第一按钮的事件来显示第二页,通过生成用于点击第二页中的第二按钮的事件来显示第三页,通过生成用于点击第三页中的第三按钮的事件来显示第四页,并且通过第四页来执行在声音命令中包括的预定功能。
图13是例示根据示例性实施例的设备生成应用的屏幕页之间的转换信息的方法的流程图。
参照图13,在操作S1310中,设备100可以显示应用的第n页。在该情况下,第n页可以是构成应用的屏幕页之一。
在操作S1320中,设备100可以检测从第n页转换到第a页的第一输入事件的生成。在该情况下,第a页可以是构成应用的屏幕页之一,并且可以不同于第n页。
在操作S1330中,设备100可以基于第一输入事件来呼叫第a页。然后,设备100可以通过显示器显示第a页。
在操作S1340中,设备100可以将第一输入事件有关的信息存储为从第n页到第a页的转换信息。例如,当基于触摸在第n页中包括的第一按钮的事件来呼叫第a页时,设备100可以存储对第一按钮的触摸作为从第n页到第a页的转换信息。
根据示例性实施例,设备100可以通过重复操作S1310至S1340来获取构成应用的所有屏幕页之间的转换信息。设备100获取屏幕页之间的转换信息的示例情况实施例将参照图14A和14B来详细地描述。
图14A和14B是例示根据示例性实施例的屏幕页之间的转换信息的示例的图。
参照图14A,为了与朋友聊天,用户可以执行设备100中的聊天应用,并且呼叫和显示包括关于朋友的概要信息的第一页(例如,FriendSummary)1410。然后,用户可以点击在第一页1410中包括的1:1聊天按钮1400。设备100可以响应于点击1:1聊天按钮1400的用户输入来显示第二页(例如,ChatRoom)1420。
在该情况下,设备100可以将用于点击第一页1410的1:1聊天按钮1400的输入事件信息存储为从第一页(例如,FriendSummary)1410到第二页(例如,ChatRoom)1420的转换信息。例如,设备100可以将从第一页(例如,FriendSummary)1410到第二页(例如,ChatRoom)1420的转换信息生成为“[Transition]sourceUIPageID=friendSummary,targetUIPage=chatroom,action=Click/[Resource]Type=Button,ResourceID=chat,isClickable=true”(1430)。
参照图14B,设备100可以将从第一页(例如,FriendSummary)1410到第二页(例如,ChatRoom)1420的转换信息生成为XML类型1440;然而,示例性实施例并不了限于此。
图15是例示根据示例性实施例的XML类型屏幕组件信息的示例。
参照图15,设备100可以基于在图7A至7C中分析的每个页的UI元件(UI对象)有关的信息来生成应用的屏幕组件信息(UI描述)1500。在该情况下,设备100可以将应用的屏幕组件信息(UI描述)1500生成为XML类型。
XML类型屏幕组件信息(UI描述)1500可以包括屏幕组件信息的版本(例如,xmlversion=“1.0”)、应用的名称(例如,OOO交谈)、应用的唯一ID(例如,PackageName=com.XXXXX.talk),并且还可以包括应用所提供的每个页的唯一ID(例如,<UIPage ID=“uniqueID1”>、<UIPage ID=“uniqueID2”>)。
另外,XML类型屏幕组件信息(UI描述)1500可以包括在每个页中包括的UI元件(UI对象)有关的信息(例如,资源ID和触发器信息)。例如,XML类型屏幕组件信息1500可以包括在第一页(uniqueID1)中包括的UI元件的信息(例如,<Control resourceID=“friendName”type=“Textview”isClickable=假…/>、<Control resourceID=“chat”type=“Button”isClickable=true…/>)以及在第二页(uniqueID2)中包括的UI元件的信息(例如,<Control resourceID=“voicetalk”type=“button”isClickable=true…/>、<Control resourceID=“call”type=“Button”isClickable=true…/>)。
根据示例性实施例,XML类型屏幕组件信息1500还可以包括页之间的转换信息(例如,状态机)。例如,XML类型屏幕组件信息1500可以包括指示必须生成对聊天按钮的点击事件以在第一页(uniqueID1)中呼叫第二页(uniqueID2)的信息(例如,transition action=“Click”source=“uniqueID1”target=“uniqueID2”resourceID=“chat”)。
根据示例性实施例,XML类型屏幕组件信息1500还可以包括功能信息(例如,特征管理器)。例如,XML类型屏幕组件信息1500可以包括指示第二页(uniqueID2)提供声音交谈功能(例如,<app Feature name=“VoiceTalk”UIPage=“uniqueID2”resourceID=“voicetalk”action=“Click”/>)的信息和指示第三页(uniqueID3)提供消息传送功能(例如,<app Feature name=“SendMessage”UIPage=“uniqueID3”resourceID=“send”action=“Click”/>)的信息。
根据示例性实施例,屏幕组件信息1500可以包括至少一个描述。在本文中,描述可以表示对应于应用的屏幕组件信息1500中的全部或一些,并且可以包括例如对应于屏幕组件信息的XML文本的全部或一些。以下,为了便于描述,将屏幕组件信息1500中的一些表示为第一描述、第二描述和第三描述。
虽然图15例示将应用的屏幕组件信息生成为XML类型的示例性情况,但是应用的屏幕组件信息还可以被生成为XML类型之外的其他类型。例如,应用的屏幕组件信息可以被生成为JavaScript对象标记(JSON)类型或者生成为数据库类型。另外,如图16A至16C所示,应用的屏幕组件信息可以被生成为表格类型。
图16A至16C是例示根据示例性实施例的应用的屏幕组件信息的示例的图。
如图16A至16C所示,根据示例性实施例,应用的屏幕组件信息1600可以包括由应用提供的每个页中包括的UI元件(UI对象)的信息。例如,应用的屏幕组件信息1600可以包括页标识信息1610、UI元件(UI对象)信息1620(例如,控制),页转换信息(例如,页之间的转换信息)1630以及功能信息1640(例如,特征)。在该情况下,UI元件(UI对象)信息1620可以包括UI元件(UI对象)类型信息和资源ID信息。UI元件(UI对象)类型可以包括但不限于TextView、ImageView、TabHost、TabWidget、ViewPager、FrameLayout和EditText。
例如,聊天应用可以提供第一页(FriendListTab)、第二页(ChatListTab)、第三页(SearchFriendTab)、第四页(MoreTab)、第五页(FriendSummary)和第六页(ChatRoom)。基于屏幕组件信息1600中的功能信息1640,设备100可以检测第一页(FriendListTab)可以提供朋友信息标识功能、第五页(FriendSummary)可以提供聊天窗口打开功能、电话呼叫功能和声音交谈功能,并且第六页(ChatRoom)可以提供消息传送功能和图片传送功能。
关于UI元件(UI对象)信息1620,第一页(FriendListTab)可以包括第一UI对象(type=“TextView”resourceID=“global_header_title_text”)、第二UI对象(type=“TabHost”resourceID=“tabhost”)、第三UI对象(type=“TabWidget”resourceID=“tabs”)、第四UI对象(type=“TextView”resourceID=“badge”)以及第五UI对象(type=“ViewPager”resourceID=“viewpager”)等。
根据示例性实施例,设备100可以基于在应用的屏幕组件信息(UI描述)中包括的UI元件(UI对象)的资源ID信息和类型信息来标识当前页。另外,设备100可以基于在应用的屏幕组件信息(UI描述)中包括的UI元件(UI对象)的资源ID信息和类型信息来检验中间页和更新中页。在该情况下,中间页可以被定义为中间目标页,以便转移到最终目标页。设备100检验中间页的操作将在下面参照图23更详细地描述。
基于页转换信息1630,设备100可以检查“点击”事件可以被用于从第一页(FriendListTab)转移到第二页(ChatListTab)、从第一页(FriendListTab)转移到第三页(SearchFriendTab)、从第一页(FriendListTab)转移到第四页(MoreTab)或者从第一页(FriendListTab)转移到第五页(FriendSummary)。另外,设备100可以检测用于选择“BackKey”的键事件可以被用于从第一页(FriendListTab)转移到主页屏幕。
根据示例性实施例,在页转换信息1630中包括的资源过滤器可以被用于搜索资源(例如,UI元件)。资源过滤器将参照图17详细地描述。
图17是例示在屏幕组件信息中包括的资源过滤器的图。图17例示应用是聊天应用的示例性情况。
参照图17,根据示例性实施例,聊天应用的屏幕组件信息(UI描述)可以包括用于在包括朋友列表的第一页(FriendListTab)1720中搜索朋友名称的资源过滤器1710。因为聊天应用的屏幕组件信息不包括在朋友列表中包括的每个朋友名称的唯一资源ID,所以资源过滤器1710可以被用于搜索朋友名称。
根据示例性实施例,资源过滤器1710可以是XML类型,并且资源过滤器1710可以包括过滤器类型(例如,filterClassType=“TextView”)、过滤器资源ID以及指示根据用户输入的参量来执行过滤的信息(例如,FilterByUserArgument)。
通过使用资源过滤器1710,设备100可以通过滚动在第一页(FriendListTab)1720中包括的朋友列表来搜索用户期望的朋友名称(例如,“Kim Myungjun”)。
图18是例示根据示例性实施例的更新设备中的应用的屏幕组件信息的方法的流程图。
参照图18,在操作S1810中,设备100可以更新安装的应用。例如,设备100可以接收来自服务器200的应用的更新信息,并且基于更新信息来更新应用。在该情况下,应用的屏幕组件信息也可以被更新。
在操作S1820和S1830中,当设备100的屏幕上所显示的页的信息不同于应用的屏幕组件信息时,设备100可以从服务器200请求屏幕组件信息的最近版本。
例如,在向服务器200传送更新的应用的版本信息以及预存储的屏幕组件信息(UI描述)的版本信息的同时,设备100可以请求服务器200将预存储的屏幕组件信息(UI描述)更新到最近版本的屏幕组件信息(UI描述)。
根据示例性实施例,服务器200可以标识关于应用的预存储的屏幕组件信息(UI描述)的版本信息,并且在存在最近版本的屏幕组件信息(UI描述)时,向设备100传送最近版本的屏幕组件信息(UI描述)。
根据另外的示例性实施例,为了提高处理速度并且降低功耗,代替传送最近版本的屏幕组件信息(UI描述),服务器200可以向设备100传送预存储的屏幕组件信息(UI描述)和最近版本的屏幕组件信息(UI描述)之间的差信息(例如,关于最近版本的屏幕组件信息(UI描述)与预存储的屏幕组件信息相比的更新的部分的信息)。
在操作S1840和S1850中,当在服务器200中存在最近版本的屏幕组件信息(UI描述)时,设备100可以将预存储的屏幕组件信息(UI描述)更新到从服务器200接收的最近版本的屏幕组件信息(UI描述)。
在操作S1840和S1860中,当在服务器200中不存在最近版本的屏幕组件信息(UI描述)时,设备100可以通过分析给应用的用户输入来更新屏幕组件信息(UI描述)。
例如,当与先前的第一页相比较所显示的第一页还包括第五UI对象时,设备100可以对第五UI对象进行分析(例如,输入事件的分析、功能的分析以及连接到第五UI对象的页的分析)。然后,设备100可以通过将与第五UI对象有关的分析信息添加到应用的屏幕组件信息(UI描述)来更新应用的屏幕组件信息(UI描述)。
图19A和19B是例示在设备中存储的应用的屏幕组件信息的图。
参照图19A,设备100可以管理与安装在设备100中的每个应用相对应的屏幕组件信息的列表1900。
屏幕组件信息列表1900可以包括应用唯一ID(例如,PackageName)1910、应用名称1920、应用版本1930、屏幕组件信息版本1940以及使用信息1950。在该示例中,使用信息可以包括但不限于应用使用信息、屏幕页使用信息和功能使用信息中的至少一个。
参照图19B,设备100可以将与每个应用相对应的屏幕组件信息的列表1900管理为XML类型。
图20是例示根据示例性实施例的设备执行功能的方法的流程图。
参照图20,在操作S2010中,设备100可以接收请求执行至少一个功能的用户输入。根据示例性实施例,至少一个功能可以由预定应用提供。例如,至少一个功能可以包括但不限于消息传送/接收功能、警报功能、电话呼叫功能、内容上载功能、图像捕捉功能、声音记录功能和信息搜索功能中的至少一个。
根据示例性实施例,各种用户输入可以用于请求执行至少一个功能。例如,请求执行至少一个功能的用户输入可以包括但不限于声音输入、手势输入(例如,触摸输入和空中手势输入)、运动输入、弯曲输入、键输入、眼睛输入和/或多/组合输入中的至少一个。
根据示例性实施例,设备100可以接收请求执行功能的用户输入或者可以接收请求执行功能的用户输入。
在操作S2020中,通过使用应用的屏幕组件信息(UI描述),设备100可以确定从当前页转移到用于提供用户输入所请求的功能的页(以下,为了便于描述,称为“目标页”)的路径。
根据示例性实施例,当前页可以指在接收到请求执行至少一个功能的用户输入时在屏幕上显示的页。例如,当前页可以包括主页屏幕或应用提供的预定页,并且主页屏幕可以包括在Android OS中的启动器应用的屏幕(以下称为“启动器屏幕”)。
目标页可以指提供用户输入所请求的至少一个功能的应用的页。
根据示例性实施例,设备100可以将提供用户输入所请求的至少一个功能的页确定为目标页。例如,设备100可以选择提供至少一个功能的应用。然后,设备100可以将在所选择的应用所提供的页之中执行至少一个功能的第一页确定为目标页。根据示例性实施例,当请求执行至少一个功能的用户输入是声音输入时,设备100可以通过分析通过麦克风接收到的声音数据来确定提供至少一个功能的目标页。例如,设备100可以将所接收的声音数据变换成文本数据,并且从文本数据中提取应用的功能信息和标识信息。在该情况下,设备100可以通过使用应用的功能信息和标识信息来检测目标页。
根据示例性实施例,当请求执行至少一个功能的用户输入是基于键盘的文本输入时,设备100可以通过使用所接收的文本数据来提取应用的功能信息和标识信息。在该情况下,设备100可以通过使用应用的功能信息和标识信息来检测目标页。
根据示例性实施例,当用户输入包括手势输入(例如,触摸输入和空中手势输入)、眼睛输入和运动输入中的至少一个时,设备100可以将被映射到用户输入的页确定为目标页。例如,设备100可以将预定样式的触摸输入匹配到提供预定功能的页,并且将匹配信息存储在存储器中。之后,当接收到预定样式的触摸输入时,设备100可以从匹配信息中提取匹配预定样式的触摸输入的页信息,并且将匹配预定样式的触摸输入的页确定为目标页。
根据示例性实施例,设备100可以通过使用对应于至少一个应用的UI描述来检测目标页。例如,设备100可以比较在UI描述中包括的功能信息和用户输入所请求的功能信息。在该情况下,设备100可以将应用的屏幕组件信息(UI描述)中定义的页之中的包括用户输入所请求的功能信息的页确定为目标页。
根据示例性实施例,设备100可以通过使用至少一个应用的屏幕组件信息(UI描述)来标识在屏幕中显示的当前页。例如,设备100可以比较在当前页中包括的UI元件(UI对象)有关的信息与至少一个应用的屏幕组件信息(UI描述)中定义的UI元件(UI对象)有关的信息。在该情况下,设备100可以从屏幕组件信息(UI描述)中定义的页之中提取包括与在当前页中包括的UI元件(UI对象)最相似的UI元件(UI对象)的页。
例如,在当前页包括第一对象、第二对象、第三对象和第四对象并且信使应用所提供的页之中的第一页还包括第一对象、第二对象、第三对象和第四对象时,设备100可以标识当前页是信使应用所提供的第一页。
根据示例性实施例,在当前页中包括的UI元件(UI对象)有关的信息可以从应用与驱动该应用的平台之间交换的信息中获取。
根据示例性实施例,在当前页是主页屏幕(或者启动器屏幕)时,即使在不使用应用的屏幕组件信息(UI描述)的情况下,设备100也可以检测当前页是主页屏幕。
根据示例性实施例,设备100可确定从当前页转移到目标页的一个或多个路径。然后,设备100可以在所确定的路径中选择最短的路径。例如,设备100可以基于在应用的屏幕组件信息(UI描述)中定义的页转换信息(亦即,页之间的转换信息)来确定从当前页转移到目标页的路径。
在说明书中,页转换信息可以表示用于在应用所提供的页之间转换(或转移)的界面有关的信息。例如,页转换信息可以包括其他页(可以从该页进行转换)的标识信息以及可以被用于从该页转换到另外的页的触发器信息。这里,触发器信息可以表示用于生成页之间的转换的输入事件(例如,点击、轻叩或键选择)有关的信息。例如,“页A”的转换信息可以包括定义“页A->页B:通过页A的OO按钮点击事件转移到页B”的信息。
另外,根据示例性实施例,设备100可以确定从当前页经过第一、第二和第三页转移到作为目标页的第四页的路径。在该示例中,第一、第二和第三页可以是中间目标页,并且第四页可以是最终目标页。以下,为了便于描述,中间目标页将被称为“中间页”,并且最终目标页将被称为“目标页”。
在操作S2030中,设备100可以根据所确定的路径来呼叫目标页。呼叫该页可以表示通过使用与该页有关的链路信息来取得该页。根据示例性实施例,设备100可以通过生成用于显示目标页的输入事件来呼叫目标页。在该情况下,设备100可以显示目标页。
根据示例性实施例,设备100可以根据所确定的路径来顺序地呼叫至少一个中间页和目标页。中间页可以表示在从当前页转移到目标页的路径上的至少一个中间页。
例如,当所确定的路径是从当前页经过第一和第二中间页转移到目标页的路径,则设备100可以通过生成用于在当前页中呼叫第一中间页的第一输入事件、生成用于在第一中间页中呼叫第二中间页的第二输入事件和生成用于在第二中间页中呼叫目标页的第三输入事件来顺序地呼叫第一中间页、第二中间页和目标页。
根据示例性实施例,设备100可以在屏幕上顺序地显示第一中间页、第二中间页和目标页的全部。另外,根据另外的示例性实施例中,设备100可以在虚拟显示器上显示第一中间页和第二中间页,并且只在实际屏幕上显示目标页。设备100在虚拟显示器上显示中间页的操作将在下面参照图27A至27C详细地描述。
在操作S2040中,设备100可以通过目标页执行至少一个功能。
根据示例性实施例,通过使用应用的屏幕组件信息(UI描述),设备100可以生成用于执行用户请求的功能的输入事件。例如,当用户请求的功能是消息传送功能时,设备100可以通过生成用于触摸在目标页中包括的“发送”按钮的输入事件来执行消息传送功能。
图21是例示在设备中确定从当前页转移到目标页的路径的示例的图。图21例示应用是聊天应用的示例性情况。
参照图21,基于在应用的屏幕组件信息(UI描述)中包括的页转换信息1630,可以有连接页的各种路径2110。
根据示例性实施例,在当前页是第五页(FriendSummary)并且目标页是第四页(MoreTab)时,设备100可以通过使用在屏幕组件信息(UI描述)中定义的页转换信息1630来确定从当前页转移到目标页的路径。例如,设备100可以确定从第五页(FriendSummary)经过第一页(FriendListTab)转移到第四页(MoreTab)的第一路径①以及从第五页(FriendSummary)经过第六页(ChatRoom)和第二页(ChatListTab)转移到第四页(MoreTab)的第二路径②,并且还可以确定各种其他路径。
设备100可以基于第一路径①和第二路径②之间的比较结果来确定最短路径。例如,因为第一路径①呼叫两个页(例如,第一页和第四页)而第二路径②呼叫三个页(例如,第六页、第二页和第四页),所以设备100可以确定第一路径①为最短路径。
根据第一路径①,设备100可以生成用于选择回退键的事件(例如,action=“KeyEvent”,Key=“Back Key”)作为用于在显示在屏幕(参见图16C)上的第五页(FriendSummary)呼叫第一页(FriendListTab)的输入事件。然后,设备100可以生成用于点击MoreTab图标的事件(例如,action=“Click”resource ID=“name”)作为用于在根据第一路径①(参见图16A)呼叫的第一页(FriendListTab)中呼叫第四页(MoreTab)的输入事件。
图22A至22E是例示设备通过使用应用的屏幕组件信息(UI描述)来执行与用户的声音输入相对应的功能的示例的图。图22A至22E例示应用是聊天应用的示例性情况。
参照图22A,设备100可以接收用于请求执行至少一个应用的声音输入。例如,设备100可以接收声音数据2200“向Kim Myungjun发送消息‘你在哪?’”。
根据示例性实施例,当接收到声音数据2200时,设备100可以通过基于自然语言处理来分析声音数据2200而生成结果数据2200’。例如,设备100可以将所接收的声音数据2200变换成文本数据,并且基于自然言处理来分析文本数据。例如,设备100可以分析所接收的声音数据2200(例如,向Kim Myungjun发送消息‘你在哪?’”)以生成包括命令数据“执行聊天应用->从朋友列表中搜索Kim Myungjun->执行1:1聊天->输入并发送消息‘你在哪?’”的结果数据2200’。设备100可以区分命令数据中的功能(例如,执行聊天应用、搜索朋友、输入消息和发送)和变量(也被称为“参量”)(例如,谁:“Kim Myungjun”以及消息内容:“你在哪?”)。然后,设备100可以提取对应于每个功能的屏幕页或UI元件。当在对所提取的UI元件生成输入事件的处理中需要变量时,设备100可以插入变量。
根据示例性实施例,在向服务器200传送声音数据2200的同时,设备100可以请求服务器200分析声音数据2200。例如,当接收到声音数据2200“向Kim Myungjun发送消息‘你在哪?’”时,设备100可以将所接收的声音数据2200传送给服务器200,并且从服务器200接收通过分析声音数据2200获得的结果数据2200’(例如,执行聊天应用、从朋友列表中搜索Kim Myungjun、执行1:1聊天以及输入并发送消息“你在哪?”)。请求服务器200分析声音数据2200的设备100的操作将在下面参照图24A和24B详细地描述。
根据示例性实施例,声音数据2200可以基于自然语言处理来分析。自然语言处理可以指通过使用计算机系统来理解、生成或分析人类语言的人工智能技术。例如,自然语言理解可以指通过形态学分析、语义分析和诊断分析来变换现实语言以被计算机系统处理的操作,并且为了人类方便,自然语言生成可以指将由计算机系统处理的结果生成为文本、声音和图形的操作。
当声音数据2200的分析完成时,设备100可以将聊天应用的聊天室页确定为目标页,以便执行消息传送功能。另外,设备100可以将当前页标识为主页屏幕。
设备100可以通过使用聊天应用的屏幕组件信息(UI描述)来确定从主页屏幕转移到聊天室页的路径。例如,设备100可以在主页屏幕中执行聊天应用,并且确定经过聊天应用的第一页(例如,朋友列表页(FriendListTab))和第二页(例如,朋友信息概要页(FriendSummary))转移到聊天室页的路径作为最短路径。
设备100可以通过使用聊天应用的屏幕组件信息根据所确定的路径来顺序地显示第一页、第二页和目标页。
例如,参照图22B,根据示例性实施例,设备100可以通过生成事件来执行聊天应用,所述事件用于使用定义可以应用于所有应用的全局命令(例如,执行)的第一描述2201来点击主页屏幕(启动器屏幕)2210上的聊天应用的图标2202。在该情况下,设备100可以在载入页2220之后在其上显示第一页2230(例如,朋友列表页(FriendListTab))。另外,设备100可以通过使用定义在第一描述2201中的资源过滤器(<filter>)在第一页2230(例如朋友列表页(FriendListTab))中搜索朋友名称“Kim Myungjun”2203。
参照图22C,根据示例性实施例,设备100可以通过使用包括从第一页2230到第二页2240的转换信息的第二描述2204来呼叫第二页2240(例如,朋友信息概要页(FriendSummary))。例如,第二描述2204的转换信息(<stateMachine>)可以包括定义用于点击朋友名称的事件可以被用于从第一页2230(FriendListTab)到第二页2240(FriendSummary)的转换的信息(例如,<transition sourceUIPageID=“friendListTab”targetUIPageID=“friendSummary”action=“Click”>)。在该情况下,设备100可以通过生成用于点击朋友名称“Kim Myungjun”2203的事件来呼叫第二页2240。
第二描述2204可以包括在第二页2240中包括的1:1聊天按钮2205的功能信息(例如,<appFeature name=“Chat Window Open”>)。
参照图22D,设备100可以通过使用包括从第二页2240到作为目标页的第三页2250的转换信息的第三描述2206来呼叫第三页2250(例如,ChatRoom)。例如,第三描述2206的转换信息(<stateMachine>)可以包括定义用于点击1:1聊天按钮2205的事件可以被用于从第二页2240到第三页2250的转换的信息(例如,<transition sourceUIPageID=“friendSummary”targetUIPageID=“chatroom”action=“Click”)。在该情况下,设备100可以通过生成用于点击第二页2240(FriendSummary)中的1:1聊天按钮2205的事件来呼叫作为目标页的第三页2250(例如,ChatRoom)。
参照图22E,设备100可以通过使用包括构成第三页2250的UI元件的功能信息的第四描述2207来执行消息传送功能。例如,因为第四描述2207包括定义消息可以通过用于向编辑窗口2208输入文本(例如,<featureEntry pageID=“chatroom”resourceID=“message_edit_text”action=“InputText”isNeedUserArgument=“true”/>)并且点击发送按钮2209(例如,<featureEntry pageID=“chatroom”resourceID=“send”action=“Click”/>)的事件来传送的信息,所以设备100可以生成用于向在聊天室页(例如,ChatRoom)中包括的编辑窗口2208输入消息(例如,你在哪?)(2260)并且点击发送按钮2209(2270)的事件。
根据示例性实施例,因为设备100通过使用应用的屏幕组件信息(UI描述)来自动生成从当前页到目标页的每个页中的真实的用户输入事件,所以设备100可以向用户提供直接用手操作设备100的真实体验。
图23是例示根据示例性实施例的设备检验中间页的方法的流程图。
参照图23,在操作S2310中,设备100可以基于声音输入来确定执行功能的目标页。例如,当接收到请求执行预定功能的声音数据时,设备100可以分析声音数据。另外,在向服务器200传送所接收的声音数据的同时,设备100可以请求服务器200分析声音数据。请求服务器200分析声音数据的设备100的操作将在下面参照图24A和24B详细地描述。
根据示例性实施例,当完成声音数据的分析时,设备100可以基于分析结果将提供预定功能的应用的预定页确定为目标页。
在操作S2320中,设备100可以通过使用应用的屏幕组件信息(UI描述)来标识在屏幕上显示的当前页。
根据示例性实施例,设备100可以比较在当前页中包括的UI元件(UI对象)有关的信息与在至少一个应用的屏幕组件信息(UI描述)中定义的UI元件(UI对象)有关的信息。然后,设备100可以从在应用的屏幕组件信息(UI描述)中定义的页中提取包括与在当前页中包括的UI元件(UI对象)最相近的UI元件(UI对象)的页。在该情况下,当前页可以从应用的屏幕组件信息(UI描述)中提取。
例如,在当前页包括第一对象、第二对象、第三对象和第四对象并且由信使应用提供的页之中的第一页也包括第一对象、第二对象、第三对象和第四对象时,设备100可以标识当前页是信使应用提供的第一页。
根据示例性实施例,在当前页中包括的UI元件(UI对象)有关的信息可以从应用与驱动该应用的平台之间交换的信息中获取。
根据示例性实施例,在当前页是主页屏幕(或启动器屏幕)时,即使在不使用应用的屏幕组件信息(UI描述)的情况下,设备100可以检测当前页是主页屏幕。
在操作S2330中,设备100可以通过使用应用的屏幕组件信息(UI描述)来确定从当前页到目标页的UI路径。UI路径可以指通过在设备100中自动生成用户操作的输入事件来确定的路径。
根据示例性实施例,设备100可以确定用于从当前页转移到目标页的至少一个中间页,并且标识用于呼叫中间页的触发器信息。触发器信息可以包括用于呼叫中间页的输入事件信息。例如,用于呼叫中间页的输入事件可以包括轻叩事件、点击事件和回退键点击事件。
因为操作S2330类似于图20的操作S2020,所以为了简洁将省略详细描述。
在操作S2340中,设备100可以根据所确定的UI路径来呼叫中间页。例如,设备100可以标识用于呼叫中间页的触发器信息。设备100可以通过基于触发器信息生成当前页中的输入事件来呼叫中间页。
在操作S2350中,设备100可以检验中间页。
例如,设备100可以标识所呼叫的中间页是否是UI路径上的中间页(例如,在屏幕组件信息(UI描述)中定义的中间页)。根据示例性实施例,当呼叫中间页时,设备100可以通过比较在所呼叫的中间页中包括的UI元件(UI对象)有关的第一信息(例如,UI对象的类型、数量和标识信息)与在屏幕组件信息(UI描述)中包括的中间页的UI元件(UI对象)有关的第二信息(例如,UI对象的类型、数量和标识信息)。
当第一信息与第二信息相同时,设备100可以确定所呼叫的中间页是在UI路径上的中间页。在该示例中,对所呼叫的中间页的检验可以成功。
根据另外的示例性实施例,当第一信息不同于第二信息时,设备100可以确定所呼叫的中间页不是在UI路径上的中间页,并且对所呼叫的中间页的检验可以失败。
因此,设备100可以重复将被呼叫并且被当前显示在屏幕上的中间页设置为当前页并且标识当前页的处理。当标识当前显示的中间页时,设备100可以重新确定从当前显示的中间页转移到目标页的UI路径。设备100可以根据重新确定的UI路径来顺序地呼叫中间页和目标页。
当所呼叫的中间页是UI路径上的中间页,但是所呼叫的中间页的一些组件被更新时,设备100可以更新在预存储的屏幕组件信息(UI描述)中的中间页有关的UI元件(UI对象)的信息。
根据示例性实施例,设备100可以向服务器200传送对应用的屏幕组件信息(UI描述)的更新请求。请求服务器200更新应用的屏幕组件信息(UI描述)的设备100的示例性操作已经参照图18进行了描述。
在操作S2360和S2370中,当成功检验所呼叫的中间页时,设备100可以呼叫目标页。例如,设备100可以通过在所呼叫的中间页中生成预定的输入事件来呼叫目标页。设备100可以基于声音输入在目标页中执行所请求的功能。
根据示例性实施例,请求服务器200分析声音数据的设备100的操作将参照图24A和24B详细地描述。
图24A是例示一般的自动语音识别(ASR)方法的图,图24B是例示流传输ASR方法的图。
如图24A所示,设备100可以检测用户的讲话的开始和结束,并且可以获取用户的讲话的从开始时间至结束时间的声音数据(S2411)。例如,设备100可以记录用户的声音,直至用户的讲话结束为止。
当用户的讲话结束时,设备100可以请求服务器200分析声音数据,同时将声音数据传送给服务器200(S2412)。
服务器200可以包括用于将声音数据变换成文本数据的ASR模块210。通过使用ASR模块210,服务器200可以将从设备100接收的声音数据变换成文本数据。
根据示例性实施例,服务器200可以包括自然语言理解(NLU)模块220。通过使用NLU模块220,服务器200可以确定或分析在文本数据中包括的句子或单词的含义,并且将文本数据转换成在设备100中使用的命令数据。
服务器200可以向设备100传送从声音数据变换的命令数据或文本数据(S2413)。在该示例中,设备100可以从服务器200接收从声音数据变换的命令数据或文本数据。设备100可以通过分析文本数据或命令数据来确定目标页。例如,设备100可以从文本数据(或命令数据)中提取应用的功能信息和标识信息。设备100可以通过使用应用的功能信息和标识信息来检验提供声音所请求的预定功能的目标页。
如图24B所示,设备100可以检测用户的讲话的开始,并且获取其声音数据(S2421)。设备100可以请求服务器200分析部分声音数据,同时用户的讲话期间周期性地将部分声音数据传送给服务器200(S2422).
通过使用ASR模块210,服务器200可以将从设备100接收的部分声音数据变换成文本数据。另外,通过使用NLU模块220,服务器200可以确定或分析在文本数据中包括的句子或单词的含义,并且将文本数据变换成在设备100中使用的命令数据。根据示例性实施例,服务器200可以跳过通过使用NLU模块220来确定或分析在文本数据中包括的句子或单词的含义的操作。
服务器200可以向设备100传送从声音数据变换的命令数据或文本数据(S2423)。在该情况下,设备100可以从服务器200接收对应于部分声音数据的命令数据或文本数据。设备100可以通过使用文本数据或命令数据来确定中间页或目标页。设备100可以通过重复操作S2422和S2423直至用户的讲话的结束来持续地更新服务器200中的讲话内容(S2424)。
根据示例性实施例,设备100可以通过在用户的讲话期间经过服务器200持续地分析声音数据,甚至在用户的讲话的结束之前先执行在声音数据中包括的一些命令。
作为示例,下面将描述设备100接收声音数据“1)执行聊天应用,2)从朋友列表中搜索Kim Myungjun,3)执行1:1聊天,4)输入消息‘你在哪?’以及5)发送消息”的情况。
根据示例性实施例,当接收到第一声音数据“1)执行聊天应用”时,设备100可以首先将第一声音数据传送给服务器200以对其进行分析。然后,在接收第二声音数据“2)从朋友列表中搜索Kim Myungjun”的同时,设备100可以基于第一声音数据的分析结果来执行聊天应用。另外,在分析第一声音数据之后,设备100可以将第二声音数据“2)从朋友列表中搜索Kim Myungjun”传送给服务器200以对其进行分析。设备100可以根据第二声音数据来呼叫并显示朋友列表页。朋友列表页可以在接收第三声音数据“3)执行1:1聊天”的处理中被呼叫。
根据示例性实施例,通过在用户的讲话期间首先分析部分声音数据,设备100可以更快速地提供可以通过用户的声音来输入的命令有关的信息。这将参照图25来描述。
图25是例示在接收用户的声音输入的处理中设备提供指导信息的示例的图。
参照图25的2501,当从用户输入包括预定单词的声音时,设备100可以提供在预定单词之后使用的并且具有高使用频率或高优先级的命令,作为指导信息。
例如,可能存在命令“执行”将在“应用名称”之后输入的高概率。在该情况下,当从用户输入包括应用名称(例如,***交谈)的声音2510时,设备100可以提供包括命令“执行”的指导信息2511。在该情况下,用户可以标识指导信息2511,并且向设备100输入声音命令“执行”。
参照图25的2502,当从用户输入包括朋友名称(例如,莫尼卡)的声音2520时,设备100可以基于命令使用频率信息和优先级信息中的至少一个来提供指导信息2521。指导信息2521可以包括诸如“消息传送”、“朋友信息”和“图片传送”这样的在朋友名称之后频繁使用的命令。用户可以标识指导信息2521,并且向设备100输入声音命令“消息传送”。
根据示例性实施例,通过提供指导信息2511和2521,设备100可以在用户忘记命令或记忆命令有困难的情况下帮助用户。
根据示例性实施例,与预定功能匹配的命令可以由用户定义或改变。另外,如参照图19A的1950所描述的那样,通过管理关于应用或命令的使用的信息,设备100可以确定应用或命令的优先级。
图26A至26D是例示通过应用设备执行与用户的声音输入相对应的功能的示例的图。图26A至26D例示应用是相机应用和聊天应用的示例性情况。
如图26A所示,设备100可以接收用于请求执行至少一个功能的声音输入。例如,设备100可以接收声音数据2600“拍摄并且通过交谈将图片发送给Kim Myungjun”。
当接收到声音数据2600时,设备100可以分析声音数据2600。例如,设备100可以将所接收的声音数据2600变换成文本数据,并且基于自然语言处理技术来分析文本数据。例如,通过分析所接收的声音数据2600(例如,“拍摄并且通过交谈将图片发送给KimMyungjun”),设备100可以生成命令数据2600’,诸如“执行相机应用->拍摄->执行聊天应用->将图片发送给Kim Myungjun”。设备100可以区分命令数据2600’中的功能(例如,执行相机应用、拍摄、执行聊天应用和发送图片)和变量(也被称为“参量”)(例如,谁:“KimMyungjun”以及消息内容:图片)。然后,设备100可以提取对应于每个功能的屏幕页或UI元件。当在对所提取的UI元件生成输入事件的处理中需要变量时,设备100可以插入变量。
根据示例性实施例,在向服务器200传送声音数据2600的同时,设备100可以请求服务器200分析声音数据2600。在该情况下,服务器200可以基于自然语言处理技术来分析声音数据2600。服务器200可以向设备100传送对声音数据2600的分析结果2600’。
当对声音数据的分析完成时,设备100可以从存储器中读取相机应用的屏幕组件信息(UI描述)和聊天应用的屏幕组件信息(UI描述)以便顺序地执行在命令数据2600’中包括的命令。通过使用相机应用的屏幕组件信息(UI描述),设备100可以将包括拍摄功能的拍摄页(MainScreen)确定为第一目标页。另外,通过使用聊天应用的屏幕组件信息(UI描述),设备100可以将提供媒体传送功能的聊天应用的媒体传送页(MediaSendPage)确定为最终目标页。另外,设备100可以将当前页标识为主页屏幕(启动器屏幕)。
通过使用相机应用的屏幕组件信息(UI描述)和聊天应用的屏幕组件信息(UI描述),根据示例性实施例,设备100可以确定在拍摄之后的从主页屏幕转移到媒体传送页(MediaSendPage)的路径。例如,设备100可以在主页屏幕(启动器屏幕)中执行相机应用,在相机应用的拍摄页中拍摄,执行聊天应用并且确定经过聊天应用的第一页(例如,朋友列表页(FriendListTab))、第二页(例如,朋友信息概要信(FriendSummary))、第三页(例如,聊天室页(ChatRoom))、第四页(例如,媒体传送页(MediaSendPage))、第五页(例如,照片相册页(PhotoAlbum))、第六页(例如,拍摄网格观看页(PhotoGridView))和第七页(例如,拍摄审查页(PhotoReviewPage))转移到第四页(例如,媒体传送页(MediaSendPage))的路径确定为最短路径。
设备100可以根据所确定的路径来顺序地呼叫相机应用的拍摄页、第一页、第二页、第三页、第四页、第五页、第六页、第七页和目标页(第四页)。
参照图26B的2600-1,设备100可以通过使用定义全局命令(例如,执行)的第一描述生成点击在主页屏幕(启动器屏幕)中的相机应用的图标2601的事件来执行相机应用。参照图26B的2600-2,当执行相机应用时,设备100可以在其上显示拍摄页(MainScreen),在该情况下,设备100可通过使用包括拍摄功能信息的相机应用的第二描述来进行拍摄。例如,当第二描述的功能信息(例如,<appFeature name=“Photographing”>)定义点击拍摄按钮2602的事件可以用于执行拍摄时,设备100可以通过生成用于点击在拍摄页(MainScreen)中包括的拍摄按钮2602的事件来获取图片内容2603。在该情况下,设备100可以存储图片内容2603作为相机应用的执行结果值。然后,设备100可以通过生成用于触摸取消键(例如,回退键)2604的键事件来返回到主页屏幕。
参照图26C的2600-3,根据示例性实施例,设备100可以通过使用定义全局命令(例如,执行)的第三描述生成用于点击主页屏幕(启动器屏幕)中的聊天应用的图标2605的事件来执行聊天应用。参照图26C的2600-4和2600-5,设备100可以在加载页之后在其上显示第一页(例如,朋友列表页(FriendListTab))。在该情况下,设备100可以通过使用包括从第一页(FriendListTab)到第二页(例如,朋友信息概要页(FriendSummary))的转换信息的第四描述来呼叫第二页(FriendSummary)。
例如,当第四描述的转换信息(<stateMachine>)包括定义用于点击朋友名称的事件可以用于从第一页(FriendListTab)转换到第二页(FriendSummary)的信息(例如,<transition sourceUIPageID=“friendListTab”targetUIPageID=“friendSummary”action=“Click”>)时,设备100可以通过生成用于搜索朋友名称“Kim Myungjun”并且在第一页(FriendListTab)点击朋友名称“Kim Myungjun”的事件来呼叫第二页(FriendSummary)。
第四描述可以包括在第二页(FriendSummary)中包括的1:1聊天按钮2607的功能信息(例如,<appFeature name=“Chat Window Open”>)。
参照图26C的2600-6,设备100可以通过使用包括从第二页(FriendSummary)到第三页(ChatRoom)的转换信息的第五描述来呼叫第三页(ChatRoom)。
例如,当第五描述的转换信息(<stateMachine>)包括定义用于点击1:1聊天按钮2607的事件可以用于从第二页(FriendSummary)转换到第三页(ChatRoom)的信息(例如,<transition sourceUIPageID=“friendSummary”targetUIPageID=“chatroom”action=“Click”>)时,设备100可以通过生成在第二页(例如,朋友信息概要页(FriendSummary))中点击1:1聊天按钮2607的事件来呼叫第三页(ChatRoom)。
参照图26C的2600-7,设备100可能通过使用包括从第三页(ChatRoom)转换到第四页(MediaSendPage)的转换信息的第六描述来呼叫第四页(MediaSendPage)。
例如,当第六描述的转换信息(<stateMachine>)包括定义用于点击媒体传送按钮(例如,+按钮)2608的事件可以用于从第三页(ChatRoom)转换到第四页(MediaSendPage)的信息时,设备100可以通过生成用于在第三页(ChatRoom)中点击媒体传送按钮(例如,+按钮)2608的事件来呼叫第四页(MediaSendPage)。
参照图26C的2600-8,设备100可以通过使用包括从第四页(MediaSendPage)到第五页(PhotoAlbum)的转换信息的第七描述来呼叫第五页(PhotoAlbum)。
例如,当第七描述的转换信息(<stateMachine>)包括定义用于点击图片按钮2609的事件可以用于从第四页(MediaSendPage)转换到第五页(PhotoAlbum)的信息时,设备100可以通过生成用于在第四页(MediaSendPage)中点击图片按钮2609的事件来呼叫第五页(PhotoAlbum)。
参照图26D的2600-9和2600-10,设备100可以通过使用包括从第五页(PhotoAlbum)到第六页(PhotoGridView)的转换信息的第八描述来呼叫第六页(PhotoGridView)。
例如,当第八描述的转换信息(<stateMachine>)包括定义用于点击图像目录名称的事件可以用于从第五页(PhotoAlbum)转换到第六页(PhotoGridView)的信息时,设备100可以通过生成用于在第五页(PhotoAlbum)中点击观看所有目录2611的事件来呼叫第六页(PhotoGridView)。观看所有目录2611中包括的图像的缩略图可以被显示在第六页(PhotoGridView)中。
参照图26D的2600-11,设备100可以通过使用定义图片传送功能的第九描述来执行图片传送功能。例如,当第九描述包括用于点击最近捕捉的图片的缩略图的第一命令时,设备100可以通过生成用于根据第一命令点击第六页(PhotoGridView)中的图片内容2603的缩略图2612的事件来选择图片内容2603。
参照图26D的2600-12,当第九描述包括用于点击第六页(PhotoGridView)中的可以按钮2613的第二命令时,设备100可以生成用于根据第二命令点击第六页(PhotoGridView)中的可以按钮2613的事件。在这个情况下,根据点击可以按钮2613的事件,设备100可以显示第七页(PhotoReviewPage)以便审查图片内容2603。
参照图26D的2600-13,当第九描述包括用于点击第七页(PhotoReviewPage)中的发送按钮2614的第三命令时,设备100可以生成根据第三命令点击第七页(PhotoReviewPage)中的发送按钮2614的事件。在该情况下,根据点击发送按钮2614的事件,设备100可以向朋友设备传送图片内容2603。
根据示例性实施例,在图26A至26D中,第一描述可以是启动器应用的屏幕组件信息的一部分,并且第二至第九描述可以是聊天应用的屏幕组件信息的一部分。
图27A至27C是例示设备在虚拟显示器上显示中间页的示例的图。
根据示例性实施例,当确定从当前页转移到目标页的路径时,设备100可以在虚拟显示器上显示当前页和目标页之间的中间页。然后,设备100可以在实际的屏幕上只显示执行用户请求的至少一个功能的目标页。根据示例性实施例,虚拟显示器是并非物理地示出给用户的空间,并且可以是设备100需要的用于执行功能的虚拟空间。
如图27A所示,设备100可以接收请求执行至少一个功能的声音输入。例如,设备100可以接收声音数据2700“搜索从Gangnam站到Jamsil站花多长时间”。
当接收到声音数据2700时,设备100可以基于自然语言处理技术来分析声音数据2700。例如,设备100可以将所接收的声音数据2700变换成文本数据,并且分析文本数据。
例如,通过分析所接收的声音数据2700(例如,“搜索从Gangnam站到Jamsil站花多长时间”),设备100可以生成命令数据2700’,诸如“执行地铁应用->设置Gangnam站为出发站->设置Jamsil站为到达站->搜索服务信息”。设备100可以区分命令数据中的功能(例如,执行地铁应用、设置出发站、设置到达站和搜索服务信息)和变量(也被称为“参量”)(例如,Gangnam、Jamsil等)。然后,设备100可以提取对应于每个功能的屏幕页或UI元件。当在对所提取的UI元件生成输入事件的处理中需要变量时,设备100可以插入变量。
根据示例性实施例,在向服务器200传送声音数据2700的同时,设备100可以请求服务器200分析声音数据2700。在该情况下,服务器200可以基于自然语言处理技术来分析声音数据2700。服务器200可以向设备100传送声音数据2700的分析结果。
当完成声音数据2700的分析时,设备100可以从存储器中读取地铁应用的屏幕组件信息(UI描述)。通过使用地铁应用的屏幕组件信息,设备100可以将地铁应用提供的搜索结果提供页确定为目标页。另外,设备100可以将当前页标识为主页屏幕(启动器屏幕)。
根据示例性实施例,设备100可以通过使用地铁应用的屏幕组件信息(UI描述)来确定从主页屏幕(启动器屏幕)转移到地铁应用的搜索结果提供页的路径。例如,设备100在主页屏幕(启动器屏幕)中执行地铁应用,并且确定经过地铁应用的第一页(例如,主地图页(MainMap))、第二页(例如,站搜索页(SearchStation))、第三页(例如,菜单选择页(SelectOption))、第一页(例如,主地图页(MainMap))、第二页(例如,站搜索页(SearchStation))、第三页(例如,菜单选择页(SelectOption))和第四页(例如,时间选择页(TimeSelect))转移到搜索结果提供页的路径作为最短路径。设备100可以根据所确定的路径来顺序地呼叫第一页、第二页、第三页、第一页、第二页、第三页、第四页和目标页。
参照图27B的2700-1,设备100可以通过使用定义全局命令(例如,执行)的第一描述生成点击主页屏幕(启动器屏幕)中的地铁应用的图标2701的事件来执行地铁应用。
参照图27B的2700-2,设备100可以在地铁应用的加载页之后显示第一页(MainMap)。在该情况下,设备100可以通过使用包括从第一页(MainMap)到第二页(SearchStation)的转换信息的第二描述来呼叫第二页(SearchStation)。
例如,当第二描述的转换信息(<stateMachine>)包括定义用于点击站搜索按钮的事件可以用于从第一页(MainMap)转换到第二页(SearchStation)的信息(例如,<transition sourceUIPageID=“mainMap”targetUIPageID=“searchStation”resourceID=“main_tab_btn0”action=“Click”/>)时,设备100可以通过生成用于点击第一页(MainMap)中的站搜索按钮2702的事件来呼叫第二页(SearchStation)。
参照图27B的2700-3,设备100可以通过使用定义出发站设置功能的第三描述(例如,<appFeature name=“Set Departure Station”>)在第二页(SearchStation)中执行出发站设置功能。例如,当第三描述包括用于向文本编辑窗口输入文本的第一命令时,设备100可以根据第一命令向第二页(SearchStation)的文本编辑窗口2703输入“Gangnam”(亦即,出发站)。在该情况下,可以在第二页(SearchStation)上显示与“Gangnam”有关的站名称的列表。
参照图27B的2700-4,当第三描述包括用于点击TextView的第二命令时,设备100可以生成根据第二命令点击与“Gangnam”有关的站名称的列表之中的“Gangnam”2704的事件。在该情况下,设备100可以根据点击“Gangnam”2704的事件来显示第四页(SelectOption)。
参照图27B的2700-5,当第三描述包括用于点击第四页(SelectOption)的圆形菜单中的出发站按钮2705的第三命令时,设备100可以生成根据第三命令点击第四页(SelectOption)中的出发站按钮2705的事件。在该情况下,“Gangnam”可以被设置为出发站,并且设备100可以重新呼叫第一页(MainMap)以便设置到达站。
在图27C的2700-6中,设备100可以通过使用包括从第一页(MainMap)至第二页(SearchStation)的转换信息的第四描述来呼叫第二页(SearchStation)。
例如,当第四描述的转换信息(<stateMachine>)包括定义用于点击站搜索按钮的事件可以用于从第一页(MainMap)转换到第二页(SearchStation)的信息(例如,<transition sourceUIPageID=“mainMap”targetUIPageID=“searchStation”resourceID=“main_tab_btn0”action=“Click”/>)时,设备100可以通过生成用于点击第一页(MainMap)中的站搜索按钮2702的事件来呼叫第二页(SearchStation)。
参照图27C的2700-7,设备100可以通过使用定义到达站设置功能的第五描述(例如,<appFeature name=“Set Arrival Station”>)来在第二页(SearchStation)中执行到达站设置功能。
例如,当第五描述包括向文本编辑窗口2703输入文本的第四命令时,设备100可以根据第四命令向第二页(SearchStation)的文本编辑窗口2703输入“Jamsil”(亦即,到达站)。在该情况下,可以第二页(SearchStation)上显示与“Jamsil”有关的站名的列表。
参照图27C的2700-8,当第五描述包括用于点击TextView的第五命令时,设备100可以生成根据第五命令点击与“Jamsil”有关的站名的列表之中的“Jamsil”2706的事件。在该情况下,设备100可以根据点击“Jamsil”2706的事件来显示第四页(SelectOption)。
参照图27C的2700-9,当第五描述包括点击第四页(SelectOption)的圆形菜单中的到达站按钮的第六命令时,设备100可以生成根据第六命令点击第四页(SelectOption)中的到达站按钮2707的事件。在该情况下,“Jamsil”可以被设置为到达站,并且设备100可以呼叫第四页(例如,时间选择页(TimeSelect))。
参照图27的2700-10和2700-11,设备100可以通过使用定义服务信息提供功能的第六描述(例如,<appFeature name=“Service Information”>)来提供搜索结果提供页中的服务信息。
例如,当第六描述包括定义用于点击第四页(例如,时间选择页(TimeSelect))的可以按钮(按钮1)的事件可以用于提供服务信息的信息时,设备100可以生成用于点击第四页(例如,时间选择页(TimeSelect))的可以按钮2709的事件。根据点击可以按钮2709的事件,设备100可以呼叫搜索结果提供页,并且通过搜索结果提供页来提供Gangnam站和Jamsil站之间的地铁服务信息。
根据示例性实施例,设备100可以在虚拟显示器上显示从当前页转移到目标页的一些中间页(例如,在2700-2至2700-10上显示的页)并且向用户实际地显示搜索结果提供页(亦即,目标页)。
根据示例性实施例,在图27A至27C中,第一描述可以是启动器应用的屏幕组件信息的一部分,并且第二到第六描述可以是地铁应用的屏幕组件信息的一部分。
图28是例示根据示例性实施例的在设备通过使用应用的屏幕组件信息来执行用户请求的功能时获得的结果值的图。
参照图28,设备100可以根据图27A的声音命令来在地铁应用中提供Gangnam站和Jamsil站之间的地铁服务信息。在该示例中,设备100可以存储在地铁应用中生成的Gangnam站和Jamsil站之间的地铁服务信息作为结果值,并且使用所存储的结果值作为在执行与其他声音命令相对应的动作的处理中的变量。
例如,当接收到声音命令“搜索从Gangnam站到Jamsil站花多长时间并且将搜索结果发送给彼得”时,设备100可以在地铁应用中搜索Gangnam站和Jamsil站之间的地铁服务信息(例如,Gangnam-Jamsil、在22:22出发并且在22:34到达)并且将所找到的地铁服务信息存储为地铁应用的执行结果值。然后,设备100可以执行聊天应用,并且生成呼叫彼得的聊天室页的输入事件。设备100可以读取被存储为地铁应用的执行结果值的Gangnam站和Jamsil站之间的地铁服务信息,并且将Gangnam站和Jamsil站之间的读取的地铁服务信息添加到彼得的聊天室页的消息输入窗口。设备100可以通过生成用于点击发送按钮的输入事件来向彼得传送Gangnam站和Jamsil站之间的地铁服务信息(例如,Gangnam-Jamsil、在22:22出发并且在22:34到达)。
根据另外的示例性实施例,当用户发出声音“向莫尼卡发送大约在昨天7:00传送给彼得的消息”,设备100可以分析声音以获取分析数据“执行聊天应用,搜索在5/17/2014的6:30和7:30之间传送给彼得的消息,并且将所找到的消息发送给莫尼卡”。
设备100可以通过生成用于在朋友列表页中选择彼得的输入事件来执行聊天应用并且呼叫彼得的聊天室页。设备100可以在聊天室页中提取大约在昨天(例如,7:03 5/17/2014)7:00传送给彼得的“会议地点和时间文本”,并且生成在显示“会议地点和时间文本”的区域中长点击(例如2秒以上)的输入事件。在该示例中,可以显示“会议地点和时间文本”的菜单窗口。例如,拷贝、删除、传送、共享和通知被显示在菜单窗口。设备100可以通过生成用于点击“传送”的输入事件来呼叫朋友列表页。设备100可以通过生成用于选择“莫尼卡”的输入事件和用于在朋友列表页中选择可以按钮的输入事件来向莫尼卡传送“会议地点和时间文本”。
图29是例示根据示例性实施例的设备基于应用执行信息来执行预定功能的方法的流程图。
参照图29,在操作S2910中,设备100可以执行第一应用。第一应用可以不同。例如,第一应用可以包括但不限于网络浏览器应用、相机应用、词典应用、翻译应用、数据传送应用、音乐播放器应用、视频播放器应用、消息应用、社交媒体应用、地图应用、地铁应用、公交车应用、广播应用、游戏应用、锻炼支持应用以及支付应用中的至少一个。
在操作S2920中,设备100可以接收在执行第一应用的处理中的用户输入。例如,设备100可以接收请求执行预定功能的用户输入。根据示例性实施例,用户输入可以包括声音输入、手势输入(例如,触摸输入或空中手势输入)、运动输入、弯曲输入、键输入和多/组合输入中的至少一个。
在操作S2930中,设备100可确定所请求的功能是否可以通过正在被执行的第一应用来执行。例如,通过使用第一应用有关的信息,设备100可以确定第一应用是否提供用户请求功能。
在操作S2940中,设备100可以确定在第一应用中的目标页。例如,当用户声音所请求的功能由第一应用提供时,设备100可以通过使用第一应用的屏幕组件信息(UI描述)来确定目标页。
在操作S2950中,当第一应用未提供用户请求的功能时,设备100可以通过使用其他应用的屏幕组件信息(UI描述)来确定在另外的应用中的目标页。
在操作S2960中,设备100可以确定从当前页到目标页的路径。
例如,因为第一应用正在第一设备100中执行,所以设备100可能通过使用第一应用的屏幕组件信息(UI描述)来标识正在屏幕上显示的当前页。
根据示例性实施例,设备100可以比较在当前页中包括的UI元件(UI对象)有关的信息与在对应于至少一个应用的UI描述中定义的UI元件(UI对象)有关的信息。然后,设备100可以从在屏幕组件信息(UI描述)中定义的页之中提取包括与在当前页中包括的UI元件(UI对象)最相似的UI元件(UI对象)的页。在该情况下,当前页可以从屏幕组件信息(UI描述)中提取。
例如,在当前页包括第一对象、第二对象、第三对象和第四对象并且第一应用所提供的页之中的第一页也包括第一对象、第二对象、第三对象和第四对象时,设备100可以标识当前页是第一应用所提供的第一页。
当完成当前页的标识时,设备100可以确定从当前页转移到目标页的路径。当存在从当前页转移到目标页的多个路径时,设备100可以确定多个路径之中的最短路径。
图30A和30B是例示通过使用正在被执行的应用的屏幕组件信息(UI描述)设备执行与用户的声音输入相对应的功能的示例的图。图30A和30B例示应用是提供公交车信息的公交车应用的示例性情况。
如图30A所示,设备100可以执行公交车应用。在该示例中,设备100可以显示公交车应用的偏好页(3000-1)。
设备100可以在显示公交车应用的偏好页的处理中接收用户的声音输入。例如,设备100可以接收声音数据3000“向我示出第3002号公交车何时到达”。
当接收到声音数据3000时,设备100可以通过基于自然语言处理技术分析声音数据3000来生成声音数据3000的分析结果数据3000’。例如,设备100可以将所接收的声音数据3000变换成文本数据,并且基于自然语言处理来分析文本数据。例如,通过分析所接收的声音数据3000(例如,“向我示出第3002号公交车何时到达”),设备100可以生成包括诸如“执行公交车应用->检查第3002号路线或者提供第3002号到达时间信息”这样的命令数据的分析结果数据3000’。设备100可以区分命令数据中的功能(例如,检查公交车路线并提供到达时间信息)和变量(也被称为“参量”)。然后,设备100可以提取与每个功能相对应的屏幕页或UI元件。当在对所提取的UI元件生成输入事件的处理中需要变量时,设备100可以插入变量。
根据示例性实施例,在向服务器200传送声音数据3000的同时,设备100可以请求服务器200分析声音数据3000。在该情况下,服务器200可以基于自然语言处理技术来分析声音数据3000。服务器200可以向设备100传送声音数据3000的分析结果数据3000’。
当完成声音数据3000的分析时,设备100可以确定正在被执行的公交车应用是否提供公交车到达时间搜索功能。例如,设备100可以在公交车应用的屏幕组件信息之中提取定义公交车应用的功能信息的第一描述。然后,基于第一描述,设备100可以检测公交车应用所提供的公交车到达时间搜索功能。在该情况下,设备100可以将提供公交车到达时间搜索结果的路线信息页确定为目标页。
另外,根据示例性实施例,通过使用公交车应用的屏幕组件信息(UI描述),设备100可以标识当前页是公交车应用的偏好页(Favorites)。
通过使用公交车应用的屏幕组件信息(UI描述),设备100可以确定从偏好页(当前页)转移到路线信息页(目标页)的路径。例如,设备100可以将从偏好页(Favorites)经过路线号码搜索页(Route)转移到路线信息页(RouteInfo)的第一路径确定为最短的路径。
参照图30B的3000-2,设备100可以通过使用包括从偏好页(Favorites)到路线号码搜索页(Route)的转换信息的第二描述来呼叫路线号码搜索页(Route)。例如,因为第二描述的转换信息(<stateMachine>)包括定义用于点击TextView的事件可以用于从偏好页(Favorites)转换到路线号码搜索页(Route)的信息(例如,<transition sourceUIPageID=“favorite”targetUIPageID=“route”action=“Click”>),所以设备100可以通过生成用于点击路线号码标签3001的事件来呼叫路线号码搜索页(Route)。
参照图30B的3000-3,设备100可以通过使用定义公交车路线检查功能的第三描述(例如,<appFeature name=“Route Check”)来搜索公交车路线。例如,当第三描述包括对文本编辑窗口输入公交车号码的第一命令时,设备100可以根据第一命令将公交车号码“3002”输入到路线号码搜索页(Route)的文本输入窗口3002。在该情况下,与“3002”有关的公交车名称的列表可以显示在路线号码搜索页(Route)上。
根据图30B的3000-4和3000-5,当第三描述包括用于点击TextView的第二命令时,设备100可以生成用于根据第二命令点击与“3002”有关的公交车名称的列表中的“3002(直达)”3003的事件。在该情况下,设备100可以通过路线信息页(RouteInfo)来显示“3002(直达)”3003的到达时间信息和路线信息。
用户可以通过路线信息页(RouteInfo)来标识第3002号公交车的位置或到达时间。
根据示例性实施例,在图30A和30B中,第一描述可以是启动器应用的屏幕组件信息的一部分,并且第二和第三描述可以是公交车应用的屏幕组件信息的一部分。
图31是例示根据示例性实施例的设备通过使用应用的屏幕组件信息来执行对应于手势输入的功能的方法的流程图。
参照图31,在操作S3110中,设备100可以接收请求执行预定功能的手势输入。手势输入可以包括触摸输入或空中手势输入。
例如,用户可以将预定样式的手势(例如,绘制星星的手势)设置为请求执行预定功能(例如,向云服务器上载图片的功能)的手势。
在操作S3120中,设备100可以确定对应于手势输入的目标页。例如,绘制星星的手势可以被设置为请求执行向云服务器上载图片的功能的手势。在该情况下,当检测到绘制星星的手势时,设备100可以将文本传输应用的图片上载页确定为目标页。
在操作S3130中,设备100可以通过使用应用的UI描述确定从当前页转移到目标页的路径。
例如,设备100可以标识当前页,并且通过使用应用的屏幕组件信息(UI描述)来确定从当前页转移到目标页的最短路径。
在操作S3140中,设备100可以根据所确定的路径来呼叫中间页和目标页。例如,当所确定的路径是从当前页经过第一和第二中间页转移到目标页的路径时,设备100可以顺序地呼叫第一中间页、第二中间页和目标页。
根据示例性实施例,设备100可以顺序地在实际屏幕上显示第一中间页、第二中间页和目标页的全部。根据另外的示例性实施例,设备100可以在虚拟显示器上显示第一中间页和第二中间页,并且在实际屏幕上只显示目标页。
在操作S3150中,设备100可以通过目标页执行手势输入所请求的预定功能。
根据示例性实施例,通过使用应用的屏幕组件信息(UI描述),设备100可以生成执行用户请求的功能的输入事件。例如,当用户请求的功能是图片上载功能时,设备100可以通过生成触摸在目标页中包括的上载按钮的输入事件来执行图片上载功能。
图32是例示设备通过使用应用的屏幕组件信息执行对应于手势输入的功能的示例的图。图32例示将从左上部拖拽到右下部的拖拽输入映射到聊天应用执行、朋友(例如,Go Songgu)和声音交谈执行的示例性情况。
参照图32的3210,设备100可以接收用于从主页屏幕的左上部到右下部的拖拽的拖拽输入3200。设备100可以将拖拽输入3200标识为请求执行聊天应用中的声音交谈的手势。
设备100可以将提供与朋友(例如,Go Songgu)的呼叫连接功能的声音交谈页确定为目标页。另外,设备100可以将当前页标识为主页屏幕。
设备100可以通过使用聊天应用的屏幕组件信息(UI描述)来确定从主页屏幕转移到声音交谈页的路径。例如,设备100可以在主页屏幕中执行聊天应用,并且确定经过聊天应用的第一页(例如,朋友列表页(FriendListTab))和第二页(例如,朋友信息概要页(FriendSummary))转移到声音交谈页(例如,VoiceTalk)的路径作为最短路径。
设备100可以根据所确定的路径顺序地显示第一页、第二页和目标页。
参照图32的3220,设备100可以通过生成用于点击聊天应用的图标的事件来执行聊天应用。然后,设备100可以显示聊天应用的加载页。
参照图32的3230,设备100可以显示第一页(例如,朋友列表页(FriendListTab))。设备100可以在第一页(例如,朋友列表页(FriendListTab))中搜索Go Songgu 3201。
参照图32的3240,设备100可以通过生成用于点击在第一页(例如,朋友列表页(FriendListTab))中包括的对象(即,Go Songgu 3201)的事件来呼叫第二页(例如,朋友信息概要页(FriendSummary))。
参照图32的3250,设备100可以通过生成用于点击第二页(例如,朋友信息概要页(FriendSummary))中的声音交谈按钮3202的事件来呼叫声音交谈页(即,目标页)。设备100可以生成用于点击在声音交谈页中包括的呼叫按钮3203的事件。
根据示例性实施例,因为设备100通过使用应用的屏幕组件信息(UI描述)自动地生成从当前页到目标页的每个页中的真实的用户输入事件,所以设备100可以向用户提供比直接用手操作设备100容易得多的体验。
图33是例示根据示例性实施例的设备基于预定条件执行预定功能的方法的流程图。
参照图33,在操作S3310中,设备100可以接收包括功能执行条件的用户输入。例如,用户输入可以包括关于条件的条件信息以及在满足条件时必须执行的功能有关的功能信息。
根据示例性实施例,执行功能的条件可以包括但不限于基于计划的条件、基于传感器输入的条件、基于应用状态的条件和基于用户定义的条件中的至少一个。
根据示例性实施例,包括基于计划的条件的用户输入可以指请求以预定间隔或用户设置的预定时间来执行预定功能的用户输入。
根据示例性实施例,包括基于传感器输入的条件的用户输入可以指请求在传感器所感测的值达到临界值时执行预定功能的用户输入。例如,设备100可以确定在心率增加10%或更多或者突然下降时接收包括呼叫急救中心或输入警告消息的命令的用户输入。
根据示例性实施例,包括基于应用状态的条件的用户输入可以指请求根据预定应用的改变状态来执行预定功能的用户输入。例如,设备100可以确定在通过消息应用接收到消息同时用户的状态在设备100中被设置为“会议中”的情况下接收自动请求传送对对方设备的响应消息的用户输入。
在操作S3320中,设备100可以获取感测信息。
根据示例性实施例,感测信息可以由传感器测量或者通过应用感测。例如,感测信息可以包括但不限于加速度信息、位置信息、温度信息、湿度信息、心率信息、网络状态信息(例如,从LTE改变成Wi-Fi)以及用户状态信息(例如,睡眠状态或锻炼状态)中的至少一个。
根据示例性实施例,设备100可以直接生成感测信息,或者可以接收由外部设备(例如,可佩戴的设备、便携式设备等)生成的感测信息。
根据示例性实施例,可佩戴的设备可以包括但不限于手表、带、眼镜、项链、指环、发夹、帽子、手套、顶针、鞋类和内衣。
在操作S3330中,基于感测信息,设备100可以确定是否满足条件。例如,设备100可以比较感测信息和条件。当包括在感测信息中的值与包括在条件中的值相同时,设备100可以确定满足条件。然而,示例性实施例不限于此。例如,条件可以在感测信息在临界值之上或之下时满足。
在操作S3340中,设备100可以在满足条件时通过目标页执行用户请求的功能。根据示例性实施例,设备100可以标识当前页,并且确定从当前页转移到目标页的路径。
例如,在条件“通信网络从LTE改变成Wi-Fi”被映射到命令“向云服务器上载今天取得的图片”的情况下,当设备100使用的通信网络从LTE改变成Wi-Fi时,设备100可以自动地向云服务器上载今天取得的图片。
另外,当设备100使用的通信网络从LTE改变成Wi-Fi时,设备100可以将用于连接到云服务器的云应用的上载页确定为目标页。然后,设备100可以标识当前页,并且通过使用云应用的屏幕组件信息(UI描述)来确定从当前页转移到云应用的上载页的UI路径。
根据所确定的UI路径,设备100可以执行云应用,并且显示云应用的主页。设备100可以通过生成触摸云应用的主页中的上载按钮的事件来呼叫图片选择页。设备100可以生成用于选择图片选择页中的所有“今天取得的图片”的事件。然后,设备100可以呼叫/显示上载页并且通过生成用于按下上载页中的上载按钮来自动地向云服务器上载图片。
根据示例性实施例,当条件不满足时,设备100可能继续获取感测信息(S3330-否)直至条件满足(S3330-是)为止。
图34是例示根据示例性实施例的用于设置条件的界面的图。
参照图34,设备100可以提供设置用于激活应用的预定功能的条件的界面(例如,GUI)。用户可以通过界面来定义条件3410和功能(命令)3420。
图35A和35B是例示设备基于预定条件控制TV的示例的图。
如图35A所示,用户可以通过界面定义条件3510(例如,现在是否为周末的3:56P.M.)和功能3520(例如,在TV开启的情况下将频道改变到第11号频道)。
设备100可以将用户输入的功能3520变换成命令3530。例如,设备100可以将“将TV频道改变到第11号频道”变换成“执行控制应用并且在键盘上输入‘1’”。
根据示例性实施例,当然后满足用户定义的条件时,设备100可以通过使用控制应用的屏幕组件信息来自动地执行命令。基于时间信息,设备100可以确定条件是否满足。例如,当现在是周六的3:56P.M时,设备100可确定满足用户预定义的条件(如果现在是周末的3:56P.M.)。
参照图35B的3510,当满足预定义的条件(如果现在是周末的3:56P.M.)时,设备100可以通过使用定义全局命令(例如,执行)的第一描述来生成用于点击主页屏幕(启动器屏幕)上的控制应用的图标3501的事件。
参照图35B的3520,根据点击图标3501的事件,设备100可以执行控制应用并且显示控制页(sourceUIPageID=“control”)。在该情况下,设备100可以通过使用包括从控制页到键盘页(UIPageID=“keypad”)的转换信息的第二描述来呼叫键盘页(UIPageID=“keypad”)。在该情况下,第二描述可以定义在控制应用的屏幕组件信息中。
例如,因为第二描述的转换信息(<stateMachine>)可以包括定义用于点击预定按钮(例如,具有resourceID“remote_control_more”的按钮)的事件可以用于从控制页转换到键盘页的信息(例如,<transition sourceUIPageID=“control”targetUIPageID=“keypad”action=“Click”resourceID=“remote_control_more”/>),所以设备100可以通过生成用于点击包括控制页中的向上箭头键的按钮3502的事件来显示包括远程控制面板的键盘页。
参照图35B的3530,设备100可以通过使用包括输入“1”的功能信息的第三描述(例如,<appFeature name=“1Input”)来输入“11”。例如,因为第三描述包括用于点击远程控制面板上的“1”的事件(例如,<featureEntry pageID=“keypad”action=“Click”resourceID=“remote_control_panel_1”/>),所以设备100可以通过生成在远程控制面板上点击“1”两次的事件来输入“11”。在该情况下,设备100可以将控制命令“将TV频道改变到第11号”传送给TV。
图36A和36B是例示根据示例性实施例的设备基于预定条件取消警报设置的示例的图。
图36A和36B例示设备100被设置为在用户醒来(条件)时自动取消(命令)从用户的醒来时间开始的一个小时内的警报设置。
参照图36A,智能表3600可以收集用户的状态信息。例如,智能表3600可以通过检测用户的位置(通过使用位置传感器)、用户的移动(通过使用加速度传感器)、用户的温度、从用户生成的声音(通过使用麦克风)和/或应用的用户状态(通过使用触摸传感器)来确定用户是处于睡眠状态还是处于醒来状态。
智能表3600可以向设备100传送关于用户的感测信息。例如,当用户在5:53A.M醒来时,智能表3600可以向设备100传送指示用户在5:53A.M醒来的信息。
设备100可以从智能表3600接收指示用户在5:53A.M醒来的信息。在该情况下,设备100可以将警报设置页确定为目标页以便取消从5:53A.M开始的一个小时内的警报设置。
根据示例性实施例,设备100可以确定用户的状态。例如,设备100可以从智能表3600接收用户的位置信息、用户的移动信息、用户的温度信息、从用户生成的声音信息以及安装在智能表3600中的应用的使用状态有关的信息,并且通过使用所接收的信息来确定用户是否已经醒来。
设备100可以通过使用警报应用的屏幕组件信息(UI描述)来确定从当前页转移到警报设置页(目标页)的路径。根据所确定的路径,设备100可以通过生成轻叩警报应用的图标3601的输入事件来执行警报应用。
参照图36B,设备100可以呼叫并且显示警报应用的警报设置页。在该情况下,在设备100中,警报输出功能可以在5:55A.M.、6:00A.M.、6:15A.M.和6:25A.M.(3602)(3610)时激活。
为了取消从5:53A.M.(即,用户的醒来时间)开始的一个小时内的警报设置,设备100可以生成用于触摸与5:55A.M.、6:00A.M.、6:15A.M.和6:25A.M.中的每个相对应的表图标的输入。在该情况下,从用户的醒来时间开始的一个小时内的警报输出功能可以被解除(3603)(3620)。
图37是例示设备基于预定条件来显示通知消息的示例。
参照图37,用户可以通过界面来定义条件3710(例如,完成洗衣机的洗衣操作)和功能3720(例如,在智能电话通知中登记“洗衣完成”消息)。
设备100可以将用户输入的功能3720变换成命令3730。例如,设备100可以将“在智能电话通知中登记“洗衣完成”消息”变换成“执行通知应用,输入‘洗衣完成’消息并且显示消息”。
根据示例性实施例,当然后满足用户定义的条件时(例如,当从洗衣机接收到“洗衣完成”消息时),设备100可以通过使用通知应用的屏幕组件信息在屏幕上显示“洗衣完成”消息。
图38A至38C是例示根据示例性实施例的设备使用用户声音输入来控制打印机的示例的图。
参照图38A,设备100可以通过麦克风从用户接收声音数据3800“打印在3:00PM写入的文件”。在该情况下,设备100可以基于自然语言处理技术将声音数据3800变换成命令数据3800’。例如,设备100可以将声音数据3800“打印在3:00PM写入的文件”变换成诸如“执行文本->选择在3:00PM写入的文件->打印选择的文件”这样的命令集合。根据示例性实施例,设备100可以直接将声音数据3800变换成命令数据3800’,或者可以请求服务器200将声音数据3800变换成命令数据3800’,同时将声音数据3800传送给服务器200。
根据示例性实施例,设备100可以通过使用屏幕组件信息来确定UI路径,并且根据所确定的UI路径来执行包括在命令集合(例如,执行文本->选择在3:00PM写入的文件->打印选择的文件)中的命令。
例如,参照图38A的3810,设备100可以通过使用定义全局命令(例如,执行)的第一描述来生成用于点击主页屏幕(启动器屏幕)中的文件管理应用的图标3801的事件。第一描述可以定义在启动器应用的屏幕组件信息中。
参照图38A的3820,根据用于点击图标3801的事件,设备100可以执行文件管理应用并且显示文件列表页。在该情况下,设备100可以在文件列表页中搜索在3:00PM写入的文件3802。
设备100可以通过使用包括从文件列表页到预览页的转换信息的第二描述来呼叫显示文件的预览图像的预览页。在该情况下,第二描述可以定义在文件管理应用的屏幕组件信息中。
例如,第二描述的转换信息可以包括定义用于点击预定文件的事件可以用于从文件列表页转换到预览页的信息。在该情况下,设备100可以通过生成用于点击文件3802的事件来呼叫显示文件3802的预览图像的预览页。
参照图38B的3830,设备100可以通过使用包括从预览页到菜单页的转换信息的第三描述来呼叫菜单页。在该情况下,第三描述可以包括在文件管理应用的屏幕组件信息中。
例如,当第三描述包括定义用于点击预览页的菜单标签3804的事件可以用于从预览页转换到菜单页时,设备100可以根据第三描述来生成用于点击菜单标签3804的事件。菜单页可以对应于用于点击菜单标签3804的事件来呼叫。
参照图38B的3840和3850,当第四描述包括定义用于点击TextView的事件可以用于从菜单页转换到打印页的信息时,设备100可以顺序地生成在菜单页中点击共享和导出按钮3805的事件和点击打印按钮3806的事件。在该情况下,第四描述可以包括在文件管理应用的屏幕组件信息中。设备100可以呼叫与点击打印按钮3806的事件相对应的打印页。
参照图38C的3860,设备100可以通过使用定义打印功能的第五描述来打印文件3802。在该情况下,设备100可以通过生成用于点击打印页中的打印设置按钮3807的事件来选择预定的打印机3880。
参照图38C的3870,通过使用第五描述,设备100可以生成用于点击打印页中的打印按钮3808的事件。在该情况下,设备100可以通过预定的打印机3880输出在3:00P.M.时写入的文件3802。预定的打印机3880可以是但不限于连接到本地网络的打印机或者通过云账户连接的云打印机。
图39A和39B是例示根据示例性实施例的执行IoT环境中的预定功能的系统的图。
参照图39A,设备100可以连接到多个IoT设备(例如,3910、3920和3930)。在该示例中,设备100也可以是IoT设备。IoT设备可以指通过传感器收集数据并且与其他IoT设备共享所收集的数据(以下称为“传感器数据”)的设备。例如,IoT设备可以包括但不限于智能电话、可佩戴的设备(例如,可佩戴的眼镜、指环、项链、腕带3910、手表、鞋类、耳环、发带、衣服、手套和顶针)、门加锁设备3920、传感器控制设备3930、智能灯、冰箱、洗涤器、空气调节器、音频设备、TV、机器人扫除机、加湿器、智能叉、厨房电器、自行车、锻炼设备和洗涤工具等。
IoT设备可以存储与IoT设备所提供的服务有关的服务信息。例如,IoT设备可以包括用于存储用户的使用历史数据和从传感器收集的传感器数据的空间(例如,存储器或盘)。参照图39B,服务信息可以包括但不限于设备ID(DeviceID:2798E016-E646-47B5-B988-C22D933C19D4),设备名称(例如,DeviceName:Hanmin的带)、设备产品名称(例如,DeviceProductName:SmartBand)、设备版本(例如,DeviceVersion:1.0.1.2)、设备类型(例如,DeviceType:可佩戴的表|可佩戴的带)、设备数据(例如,心电图(ECG)和当前时间)和操作信息(例如,时间设置)。
另外,IoT设备可以管理由IoT设备提供的服务的列表。例如,IoT设备可以通过在服务的列表中登记新服务或者从服务的列表中删除一些服务来更新服务的列表。
根据示例性实施例,IoT设备可以处理或分析从传感器收集的传感器数据。例如,IoT设备可以基于从加速度传感器收集的加速度数据来识别用户手势。
根据示例性实施例,IoT设备可以执行与IoT设备提供的第一个服务有关的预定功能。例如,IoT设备可以播放音乐、控制室内温度/湿度、输出警报信号或改变照明;然而,示例性实施例不限于此。
根据示例性实施例,IoT设备可以相互之间交换关于它们各自的功能的信息。在该情况下,IoT设备可以通过无线通信连接。例如,IoT设备可以通过ZigBee、Wi-Fi-Direct(WFD)、ISA100.11a或无线HART来相互连接。
根据示例性实施例,设备100可以操作为IoT设备的控制器。例如,通过执行服务探索处理,设备100可以从IoT设备接收数据(例如,IoT设备的服务信息、IoT设备的操作信息、从传感器收集的传感器数据、使用历史数据和传感器数据的分析数据)。
根据示例性实施例,当连接到IoT设备时,设备100可以周期性地从IoT设备接收更新的服务信息。例如,设备100可以从腕带3910接收ECG信息、时间信息、加速度信息、警报信息和腕带3910的操作信息(例如,时间设置信息和警报设置信息)。另外,设备100可以从门加锁设备3920接收门打开时间信息,入/出人数量信息和门加锁设备3920的操作信息(例如,门加锁信息和门解锁信息)。
设备100可以从传感器控制设备3930接收诸如湿度、照明和加速度这样的信息。这里,传感器控制设备3930连接到多个传感器标签并且可以从多个传感器标签接收多条传感器数据。例如,当温度传感器标签附接到婴儿瓶时,传感器控制设备3930可以从温度传感器标签收集婴儿瓶的温度数据。另外,当照明传感器标签附接到床时,传感器控制设备3930可以从照明传感器标签接收卧室的照明数据。
根据示例性实施例,当设备100操作为控制器时,设备100可以向IoT设备传送命令执行预定功能的数据。以下,将参照图40和41来详细地描述作为控制器的设备100的操作的示例。
图40是例示在IoT环境中执行用户输入的命令的方法的流程图。
参照图40,在操作4001中,控制器设备4010可以通过通信链路连接到至少一个IoT设备4000。例如,控制器设备4010和至少一个IoT设备4000可以形成蓝牙通信链路或ZigBee通信链路;然而,示例性实施例不限于此。
在操作4002中,控制器设备4010可以执行服务探索处理。例如,控制器设备4010可以请求来自与其通信连接的至少一个IoT设备4000的服务信息。
在操作4003中,控制器设备4010可以从至少一个IoT设备4000接收服务信息。服务信息可以包括至少一个IoT设备4000所提供的服务标识信息、设备标识信息、传感器数据和操作信息。在该情况下,控制器设备4010可以存储从至少一个IoT设备4000接收的服务信息。另外,控制器设备4010可以周期性地接收来自至少一个IoT设备4000的更新的服务信息以更新所存储的服务信息。
在操作4004中,控制器设备4010可以接收来自用户的请求执行预定功能的用户输入。在该情况下,用户输入可以包括但不限于声音输入、文本输入和图像输入中的至少一个,例如,控制器设备4010可以接收表示预定功能的声音、表示预定功能的文本和/或表示预定功能的图像的输入。
在操作4005中,控制器设备4010可以向服务器4020传送从用户输入的数据。例如,控制器设备4010可以向服务器4020传送表示预定功能的声音数据或表示预定功能的图像数据。
在操作4006中,服务器4020可以通过分析来自用户的数据输入来生成文本数据,并且将所生成的文本数据传送给控制器设备4010。例如,服务器4020可以通过使用NLU模块分析声音数据(或声音数据的元数据)将声音数据变换成文本数据(例如命令)。另外,服务器4020可以通过使用OCR模块识别包括在图像中的字符将图像数据变换成文本数据。服务器4020可以通过使用图像识别器比较模板图像与所接收的图像来提取与所接收的图像匹配的文本数据。例如,通过使用所接收的图像的元数据,服务器4020可以选择与所接收的图像匹配的模板图像,并且提取连接到所选择的模板图像的文本数据。
在操作4007中,控制器设备4010可以分析至少一个IoT设备4000的服务信息。例如,当从服务器4020接收到文本数据时,控制器设备4010可以分析至少一个IoT设备4000的服务信息以选择用于执行从用户输入的预定功能的至少一个IoT设备4000。例如,当预定功能是在门被打开时输出警报信号的功能时,控制器设备4010可以选择门加锁设备作为用于在门被打开时输出警报信号的IoT设备。另外,当预定功能是改变室内照明或色彩的功能时,控制器设备4010可以选择照明设备(例如,智能灯)作为改变室内照明或色彩的IoT设备。
在操作4008中,控制器设备4010可以向所选择的至少一个IoT设备4000传送预定动作的执行命令。例如,控制器设备4010可以请求所选择的至少一个IoT设备4000传送预定数据(例如,心率、温度或加速度)或者执行预定操作(例如,警报信息输出或照明控制)。
在操作4009中,至少一个IoT设备4000可能向控制器设备4010传送预定动作的执行结果。例如,至少一个IoT设备4000可以向控制器设备4010传送控制器设备4010请求的数据或者向控制器设备4010传送预定操作的执行完成消息。
根据示例性实施例,可以改变操作4001至4009的次序。例如,操作4001可以在操作4002或操作4003之后执行。另外,操作4004可以在操作4001和操作4002之间执行。
以下,将参照图41来描述服务器4020代替控制器设备4010分析至少一个IoT设备4000的服务信息的示例。
图41是例示根据示例性实施例的在IoT环境中执行用户输入的命令的方法的流程图。
参照图41,在操作4101中,控制器设备4110可以通过通信链路连接到至少一个IoT设备4100。在本文中,通信链路可以包括短距离无线通信链路,诸如蓝牙通信链路、ZigBee通信链路和/或Wi-Fi通信链路。
在操作4102中,控制器设备4110执行服务探索处理。在该情况下,在操作4103中,控制器设备4110可以接收来自至少一个IoT设备4100的服务信息。根据示例性实施例,控制器设备4110可以将从至少一个IoT设备4100接收的服务信息存储在存储介质(例如,存储器)中。
在操作4104中,控制器设备4110可以接收来自用户的请求执行预定功能的用户输入。例如,控制器设备4110可以接收表示预定功能的声音、表示预定功能的文本和/或表示预定功能的图像的输入。
操作4101至4104分别对应于图40的操作4001至4004。
在操作4105中,控制器设备4110可以向服务器4120传送从用户输入的数据。例如,控制器设备4110可以向服务器4120传送表示预定功能的声音数据或表示预定功能的图像数据。
另外,控制器设备4110可以向服务器4120传送从至少一个IoT设备4100接收的服务信息。控制器设备4110可以将用户输入的数据与至少一个IoT设备4100的服务信息一起或与至少一个IoT设备4100的服务信息分开地传送给服务器4120。
根据示例性实施例,控制器设备4110可以每当从至少一个IoT设备4100接收到服务信息时周期性地向服务器4120上载服务信息。
在操作4106中,服务器4120可以基于从用户输入的数据的分析结果来确定至少一个IoT设备4100的动作事件,并且将所确定的动作事件有关的信息传送给控制器设备4110。例如,服务器4120可以通过使用NLU模块分析声音数据将声音数据变换成文本数据(例如,命令)。另外,服务器4120可以通过使用OCR模块识别包括在图像中的字符将图像数据变换成文本数据(例如,命令)。服务器4120可以通过使用图像识别器比较模板图像与所接收的图像来提取与所接收的图像匹配的文本数据(例如,命令)。
服务器4120可以基于文本数据(例如,命令)来分析至少一个IoT设备4100的服务信息。例如,通过分析至少一个IoT设备4100的服务信息,服务器4120可以选择动作事件和至少一个IoT设备4100以便执行从用户输入的预定功能。例如,当预定功能是在门被打开时输出警报信号的功能时,通过使用至少一个IoT设备4100的服务信息,服务器4120可以选择门加锁设备作为用于在门被打开时输出警报信号的IoT设备,并且确定“在门被打开时输出警报信号”作为动作事件。在该情况下,服务器4120可以向控制器设备4110传送与门加锁设备有关的动作事件信息(“IoT设备:门加锁设备,动作:在门被打开时输出警报信号”)。
根据示例性实施例,当预定功能是改变室内照明或色彩的功能时,通过使用至少一个IoT设备4100的服务信息,服务器4120可以选择照明设备(例如,智能灯)作为改变室内照明或色彩的IoT设备,并且确定“改变照明或色彩”作为动作事件。在该情况下,服务器4120可以向控制器设备4110传送与照明设备有关的动作事件信息(“IoT设备:照明设备,动作:改变照明或色彩”)。
当预定功能是收集心率数据的功能时,通过使用至少一个IoT设备4100的服务信息,服务器4120可以选择腕带作为收集心率数据的IoT设备,并且确定“收集心率数据”作为动作事件。在该情况下,服务器4120可以向控制器设备4110传送与腕带有关的动作事件信息(例如,“IoT设备:腕带,动作:收集心率数据”)。
在操作4107中,基于从服务器4120接收到的动作事件信息,控制器设备4110可以向至少一个IoT设备4100传送预定动作的执行命令。例如,控制器设备4110可以请求至少一个IoT设备4100传送预定数据(例如,心率、温度或加速度)或者执行预定操作(例如,警报信号输出、照明控制或色彩控制)。
在操作4108中,至少一个IoT设备4100可以向控制器设备4110传送预定动作的执行结果。例如,至少一个IoT设备4100可以向控制器设备4110传送控制器设备4110请求的数据或者向控制器设备4110传送预定操作的执行完成消息。
在操作4109中,控制器设备4110可以向服务器4120传送从至少一个IoT设备4100接收的预定动作的执行结果。
根据示例性实施例,可以改变操作4101至4109的次序。例如,操作4101可以在操作4102或操作4103之后执行。另外,操作4104可以在操作4101和操作4102之间执行。
虽然图41例示用户输入与一个动作事件有关的示例性情况,但是用户输入也可以与两个或多个动作事件有关。以下将参图42来描述根据用户输入由两个或多个IoT设备连续地执行不同的动作的情况。
图42是例示从第一IoT设备输出的结果数据被用作第二IoT设备中的输入参数的示例的图。图42例示设备100接收用户的声音输入“用相机拍摄并且用打印机打印图片”的示例性情况。
参照图42,在操作S4211中,设备100可以基于对用户的声音输入的分析结果向相机4210传送第一动作事件信息(例如,命令拍摄并且传送图片)。
根据示例性实施例,设备100可以使用NLU模块分析声音数据。然后,基于声音数据的分析结果数据,设备100可以生成与IoT设备有关的动作事件信息。设备100可以直接地或者通过服务器200分析用户的声音数据。
例如,设备100可以从声音数据中提取拍摄功能和图片打印功能这两个功能。设备100可以选择相机4210和打印机4220作为IoT设备以便执行所提取的两个功能。另外,设备100可以确定拍摄、图片传送和图片打印作为需要执行两个功能的动作。设备100还可以确定动作的次序。例如,设备100可以确定动作的次序以便动作可以以拍摄、图片传送和图片打印的次序来执行。在该情况下,设备100可以向相机4210传送包括与拍摄和图片传送相对应的第一动作ID的第一动作事件信息。
在操作S4212中,响应于第一动作事件信息,相机4210可以取得图片,并且向设备100传送所取得的图片。
在操作S4213中,当从相机4210接收到图片时,设备100可以将包括对应于图片打印的第二动作ID的第二动作事件信息(例如,图片打印命令)与所接收的图片一起传送给打印机4220。
打印机4220可以响应于第二动作事件信息来打印所接收的图片。在该情况下,相机4210响应于第一动作事件信息取得的图片可以是被用于执行第二动作事件(图片打印)的输入数据。
根据示例性实施例,打印机4220可以向设备100传送图片打印完成消息。
根据另外的示例性实施例,在操作S4221中,设备100可以向相机4210传送对应于“拍摄并向打印机传送图片”的第三动作事件信息。在操作S4222中,相机4210可以响应于第三动作事件信息来取得图片并且将请求打印所取得的图片的第四动作事件信息与所取得的图片一起传送给打印机4220。
打印机4220可以根据第四动作事件信息来打印从相机4210接收到的图片。
根据示例性实施例,当由两个或多个IoT设备连续地执行不同的动作时,第一动作的结果数据可以用作接下来的动作的输入参数。例如,参照图43,第一IoT设备执行的第一动作的结果数据可以用作将由第二IoT设备执行的第二动作的输入参数。
图43是例示动作事件有关的信息的示例的图。图43例示用户向设备100输入“测量/分析ECG并且当基于ECG分析结果确定用户处于紧急状态时向医院进行紧急呼叫”的示例性情况。
因为用户输入包括动作的命令,所以由设备100或服务器200通过分析用户的输入生成的动作事件信息4300可以包括第一动作事件信息4310、第二动作事件信息4320和第三动作事件信息4330。在该情况下,第一动作4311可以是ECG测量,第二动作4321可以是ECG数据分析,并且第三动作4331可以是紧急呼叫。
第一动作事件信息4310可以包括第一动作4311(例如,ActionID:B697719A-F3A3-4BC2-8037-C8F25674C95F,ECG测量)、第一设备4312(例如,TargetDeviceID:2798E016-E646-47B5-B988-C22D933C19D4,腕带)、请求类型4313(例如,RequestType:Data)和数据名称4314(例如,DataName:Electrocardiogram)。
第二动作事件信息4320可以包括第二动作4321(例如,ActionID:2D747B24-5607-4997-BAFC-3C7C2EC39F63,ECG数据分析)、第二设备4322(例如,TargetDeviceID:AA256F9D-A436-4232-849C-6CEB2251F950,平板)、请求类型4323(例如,RequestType:DataAnalyze)、分析器名称(例如,AnalyzerName:ECG Analyzer)和输入数据4324(例如,InputData:B697719A-F3A3-4BC2-8037-C8F25674C95F)。
第三动作事件信息4330可以包括第三动作4331(例如,ActionID:F6E24545-4BF3-4B17-8696-4B388EEC1F44,紧急呼叫)、第三设备4332(例如,TargetDeviceID:D5E3B90C-3945-4103-81A1-4309BA0D63D7,智能电话)、请求类型4333(例如,RequestType:Operation)、操作名称4334(例如,OperationName:Emergency Call)和参数4335(例如,ParameterName:electrocardiogram,InputData:2D747B24-5607-4997-BAFC-3C7C2EC39F63)。
根据第一动作事件信息4310与第二动作事件信息4320之间的比较,可以看出第一动作4311的数据被用作第二动作4321的输入数据4324。另外,根据第二动作事件信息4320与第三动作事件信息4330之间的比较,可以看出第二动作4321的数据被用作第三动作4331的输入数据。
例如,当第一动作4311(ECG测量)由第一设备4312(例如,腕带)执行,并且第二动作4321(ECG数据分析)由第二设备4322(例如,平板)执行时,从第一设备4312中的第一动作4311得到的ECG数据可以被用作第二动作4321(ECG数据分析)的输入数据4325。另外,从第二设备4322(例如,平板)中的第二动作4321(ECG数据分析)得到的分析数据可以被用作第三动作4331(紧急呼叫)的输入数据。例如,当基于第二设备4322中的ECG数据的分析结果(例如,心率增加、不规则节律和异常ECG波形)确定用户处于紧急状态时,第三设备4332可以尝试紧急呼叫。
图44是例示应用户的请求而共享医疗图像数据的系统的图。
参照图44,用于共享医疗图像数据的系统可以包括医疗设备4410、医疗机构服务器4420、打印机4430、社交网络服务(SNS)服务器4441和移动电话4440。然而,并非所有所例示的组件都是必要组件。用于共享医疗图像数据的系统可以包括比所例示的组件更多或多少的组件。
医疗设备4410可以获取医疗图像并且在屏幕上显示医疗图像。例如,医疗设备100可以包括但不限于超声设备、磁共振成像(MRI)设备、计算机断层扫描(CT)设备、X光拍摄设备和/或血管造影设备。下面,作为示例,将描述医疗设备4410是超声设备的情况。
医疗设备4410可以接收请求执行预定功能的用户输入。例如,医疗设备4410可以接收包括获取病人的超声图像的命令以及向外部设备传送超声图像的命令的用户输入。当用户输入是声音输入时,医疗设备4410可以通过使用声音识别模块和/或NLU模块将声音输入变换成文本数据。
医疗机构服务器4420可以包括医院服务器和/或医疗信息管理服务器(例如,电子医疗记录(EMR)服务器、电子健康记录(EHR)服务器和/或个人健康记录(PHR)服务器)。
根据示例性实施例,医疗设备4410可以通过长距离通信与医疗机构服务器4420通信。例如,当用户向紧急救助区域(例如,地震区域、建筑倒塌区域或救护车)中的医疗设备4410输入声音“捕捉医疗图像,然后将医疗图像传送给医院/医生”时,医疗设备4410可以获取病人的医疗图像(例如,超声图像或X光图像)并且将所获取的医疗图像(例如,超声图像或X光图像)传送给医疗机构服务器4420或病人的医生终端。
根据示例性实施例,医疗设备4410可以与通过图片归档和通信系统(PACS)连接的医院中的医院服务器或其他医疗设备交换数据。另外,医疗设备4410可以根据医学数字成像和通信(DICOM)标准来进行数据通信。
根据示例性实施例,医疗设备4410可以从通过PACS连接的医疗机构服务器4420获取预存储的病人的医疗图像数据和医疗处治记录。
根据示例性实施例,医疗设备4410可以通过长距离无线通信或短距离无线通信向打印机4430传送医疗图像数据。例如,当用户向医疗设备4410输入声音“获取并输出胎儿的超声图像4411”时,医疗设备4410可以标识连接到医疗设备4410的打印机4430的服务信息,并且将胎儿的超声图像4411和动作事件信息(例如,输出胎儿的超声图像4411)传送给打印机4430。打印机4430可以基于从医疗设备4410接收的动作事件信息来输出胎儿的超声图像4411。
根据示例性实施例,当SNS应用安装在医疗设备4410中时,医疗设备4410可以通过SNS服务器4441向移动电话4440传送病人的医疗图像。例如,医疗设备4410可以通过SNS服务器4441向病人的家人、朋友、指定的医院服务器或医生的终端(或医生的SNS账户)传送病人的超声图像4441;然而,示例性实施例不限于此。
例如,当医疗设备4410是孕妇的便携式平板PC时,医疗设备4410可以接收来自孕妇的声音输入“向丈夫发送胎儿的超声图像4411”。在该情况下,医疗设备4410可以通过使用超声应用的屏幕组件信息来获取胎儿的超声图像4411。例如,通过使用超声应用的屏幕组件信息生成点击扫描按钮4412的事件,医疗设备4410可以基于从探测器接收的超声回声信号来生成胎儿的超声图像4411。根据示例性实施例,扫描按钮4412可以是通过使用预设在医疗设备4410中的参数值来快速校正超声图像的按钮。另外,医疗设备4410可以通过使用超声应用的屏幕组件信息生成用于点击存储按钮4413的事件来存储胎儿的超声图像4411。
然后,医疗设备4410可以通过使用正在被执行的SNS应用4414的屏幕组件信息向丈夫的终端(或丈夫的SNS账号)传送胎儿的超声图像4411。例如,医疗设备4410可以通过使用SNS应用4414的屏幕组件信息在朋友列表页中搜索丈夫,在图像插入页中选择胎儿的超声图像,并且通过生成点击发送页中的发送按钮的事件来向丈夫的终端或丈夫的账号传送胎儿的超声图像4411。
根据示例性实施例,为了防止医疗图像暴露给其他未授权的人,医疗设备4410可以对医疗图像进行编码,并且通过SNS服务器4441向熟人的终端传送编码的医疗图像。
图45是例示根据示例性实施例的设备提供指导信息的方法的流程图。
参照图45,在操作S4510中,设备100可以接收手势输入。在该情况下,手势输入可以是请求指导信息的输入。
请求指导信息的输入不限于手势输入。例如,除了手势输入之外,请求指导信息的输入还可以包括声音输入、运动输入、弯曲输入、键输入和/或多/组合输入。
在操作S4520中,设备100可以标识当前页。
根据示例性实施例,设备100可以比较在当前页中包括的UI元件(UI对象)有关的信息与在应用的屏幕组件信息(UI描述)中定义的UI元件(UI对象)有关的信息。然后,设备100可以从在屏幕组件信息(UI描述)中定义的页之中提取包括与在当前页中包括的UI元件(UI对象)最相似的UI元件(UI对象)的页。在该情况下,当前页可以从屏幕组件信息(UI描述)中提取。
例如,在当前页包括第一对象、第二对象、第三对象和第四对象并且信使应用提供的页之中的第一页也包括第一对象、第二对象、第三对象和第四对象时,设备100可以标识当前页是信使应用提供的第一页。
在操作S4530中,设备100可以检测可以由当前页提供的功能。
根据示例性实施例,从应用和驱动该应用的平台之间交换的信息,设备100可以提取可以由当前页提供的功能有关的信息。
另外,根据示例性实施例,通过使用应用的屏幕组件信息(UI描述),设备100可以检测可以由当前页提供的功能。例如,应用的屏幕组件信息(UI描述)可以包括定义对应于当前页的功能信息包括“消息传送”和“图片传送”的信息。
在操作S4540中,设备100可以提供包括所检测到的功能的指导信息。
根据示例性实施例,设备100可以以使用频率或优先级递减的次序来显示所检测到的功能。根据示例性实施例,指导信息可以提供为弹出窗口。
图46是例示设备提供指导信息的示例的图。图46例示应用是聊天应用的示例性情况。
参照图46,设备100可以分析用户的声音输入样式。例如,设备100可以接收来自用户的用户声音输入4610“执行OOO交谈以向汤姆发送消息‘你好吗?’”、“执行OOO交谈以向彼得发送消息‘很高兴见到你’”以及“执行OOO交谈以向安德鲁发送消息‘你在哪?’”。在该情况下,通过分析用户声音输入4610,设备100可以生成诸如“执行OOO交谈以‘{参量1}’发送消息‘{参量2}’”这样的用户输入样式信息4620。在该情况下,用户输入样式信息4620还可以包括用户的命令使用信息。
基于用户输入样式信息4620,设备100可以提供允许用户容易地输入声音命令的指导信息。例如,设备可以通过使用流传输ASR方法(参见图24B)分析正好在用户的讲话结束之前的按照输入的次序的声音数据来提供指导信息。
参照图46的4600-1,当接收到声音命令“执行OOO交谈”时,设备100可以通过生成点击启动器屏幕中的OOO交谈图标的事件来执行聊天应用(例如,OOO交谈)。
参照图46的4600-2,设备100可以提供在用户执行聊天应用(例如,OOO交谈)之后频繁使用的功能的列表4601作为指导信息。例如,当用户以消息传送、视频呼叫和朋友信息搜索的次序频繁地使用聊天应用中的功能时,设备100可以在功能列表4601的顶部显示“消息传送”,然后顺序地显示“视频呼叫”和“朋友信息”。
参照图46的4600-3,当用户从功能列表4601中选择“消息传送”时,设备100可以显示可以输入朋友名称作为消息传送目标的输入窗口4602作为指导信息。
根据示例性实施例,指导信息可以被提供为弹出窗口。在该情况下,用户可以通过使用提供指导信息的弹出窗口来输入基于文本的命令。
图47和48是例示根据示例性实施例的设备基于用户的取消请求停止功能执行的示例的图。
参照图47的4710,设备100可以提供声音识别小配件4701。用户可以通过声音识别小配件4701输入声音命令4702(例如,“向亨利发送消息‘你在哪?’……”)。
声音识别小配件4701可以在生成预定事件时出现。例如,设备100可以在附接到设备100的预定硬件键被按下预定时间或更长时提供声音识别小配件4701;然而,示例性实施例并不限于此。
根据示例性实施例,当接收到声音命令4702时,设备100可以确定提供消息传送功能的目标页。然后,设备100可以通过使用AAA应用的屏幕组件信息(UI描述)来确定从主页转移到目标页的路径。
根据所确定的路径,设备100可以自动地执行AAA应用(4703)并且呼叫朋友列表页。设备100可以在朋友列表页中搜索“亨利”,并且呼叫聊天窗口以便与亨利聊天。设备100可以生成向聊天窗口输入文本并且按下发送按钮的事件。
参照图47的4720,设备100可以在执行用户请求的功能的处理中从用户接收执行取消请求。例如,设备100可以接收用于触摸显示“停止”的声音识别小配件4704的输入。在该情况下,设备100可以停止执行用户请求的功能。
参照图48的4810,设备100可以提供声音识别小配件4801。用户可以通过声音识别小配件4801输入声音命令4802(例如,“向亨利发送消息‘你在哪?’……”)。根据示例性实施例,当接收到声音命令4802时,设备100可以确定提供消息传送功能的目标页。然后,设备100可以通过使用AAA应用的屏幕组件信息(UI描述)来确定从主页转移到目标页的路径。
根据所确定的路径,设备100可以自动地执行AAA应用,并且呼叫朋友列表页。设备100可以在朋友列表页中搜索“亨利”,并且呼叫聊天窗口以便与亨利聊天。设备100可以生成向聊天窗口输入文本并且按下发送按钮的事件。
参照图48的4820,设备100可以在执行用户请求的功能的处理中从用户接收执行取消请求。例如,设备100可以接收在水平方向上挥扫的触摸输入4803。当在水平方向上挥扫的触摸输入4803被映射到执行取消请求时,设备100可以停止执行用户请求的功能。设备100可以提供指示停止功能执行的通知消息4804(例如,在取消消息传送的处理中……)。
图49和50是根据一个或多个示例性实施例的设备的框图。
如图49所示,根据示例性实施例的设备100可以包括用户输入单元110和控制器120。然而,并非所有所例示的组件都是必要组件。设备100可以包括比所例示的组件更多或更小的组件。
例如,如图50所示,除了用户输入单元110和控制器120之外,根据示例性实施例的设备100还可以包括输出单元130、通信单元140、感测单元150、音频/视频(A/V)输入单元160和存储设备(例如存储器)170。
下面将描述以上组件。
用户输入单元110可以指用户借以输入数据以便控制设备100的单元。例如,用户输入单元110可以包括但不限于键盘、拱形开关、触摸板(例如,电容重叠型、电抗重叠型、红外波束型、表面声波型、积分应变计型和压电型)、轻推轮和轻推开关。
用户输入单元110可以接收请求执行至少一个功能的用户输入。
根据示例性实施例,各种用户输入可以用于请求执行至少一个功能。例如,用户输入可以包括键输入、手势输入(例如,触摸输入和空中手势输入)、运动输入、弯曲输入、声音输入和/或多输入。
根据示例性实施例,用户输入单元110可以接收包括用于执行至少一个功能的条件的用户输入。例如,用户输入可以包括关于条件的条件信息以及当条件满足时必须执行的功能有关的功能信息。
根据示例性实施例,执行功能的条件可以包括但不限于基于计划的条件、基于传感器输入的条件、基于应用状态的条件和基于用户定义的条件中的至少一个。
用户输入单元110(例如,用户接口)可以接收在执行用户请求的功能的处理中的来自用户的执行取消请求。例如,用户输入单元110可以检测预定样式的手势或选择预定按钮的输入。在该情况下,预定按钮可以是物理按钮或GUI。
控制器120可以控制设备100的总体操作。例如,控制器120可以通过执行存储在存储设备(例如,存储器)170中的程序来控制用户输入单元110、输出单元130(例如,输出器)、通信单元140、感测单元150和A/V输入单元160的总体操作。
控制器120可以安装应用并且基于所安装的应用有关的用户的使用模式来生成应用的屏幕组件信息。
应用的屏幕组件信息可以包括应用的标识信息、包括在应用的屏幕页中的UI元件的信息、屏幕页之间的转换信息和表示UI元件和应用所提供的功能之间的匹配的功能信息中的至少一个。
控制器120可以获取包括在应用的屏幕页中的UI元件的信息以便生成应用的屏幕组件信息。例如,控制器120可以对应用的屏幕页分配标识符,并且通过分析包括在屏幕页中的具有文本特征的第一UI元件和具有图像特征的第二UI元件来获取包括在屏幕页中的UI元件的信息。
另外,控制器120可以生成表示在屏幕页中包括的UI元件与应用所提供的功能之间的匹配的功能信息,并且分析用于呼叫屏幕页的输入事件以获取屏幕页之间的转换信息。
当在应用的屏幕页中包括的UI元件的信息改变时,控制器120可以更新所存储的应用的屏幕组件信息。
控制器120可以通过使用定义应用所提供的UI元件(UI对象)有关的信息的屏幕组件信息(UI描述)来确定从在屏幕上显示的当前页转移到提供至少一个功能的目标页的路径。
例如,控制器120可以确定用于提供至少一个功能的目标页并且标识在屏幕上显示的当前页。控制器120可以确定从当前转移到目标页的路径,并且在所确定的路径之中选择最短的路径。
当满足用户预定的条件时,控制器120可以确定从当前转移到目标页的路径。
根据示例性实施例,控制器120可以根据所确定的路径来呼叫目标页,并且通过目标页来执行至少一个功能。例如,控制器120可以根据所确定的路径来顺序地呼叫至少一个中间页和目标页。控制器120可以根据所确定的路径来呼叫第一中间页,并且生成在第一中间页中呼叫目标页的输入事件。控制器120可以通过使用应用的屏幕组件信息(UI描述)来检验所呼叫的第一中间页。
根据示例性实施例,控制器120可以通过存储在存储设备170中的预定应用来生成新安装的应用的屏幕组件信息,或者可以通过屏幕组件信息来执行预定功能。在该情况下,预定应用可以实现在平台或操作系统(OS)上。
输出单元130可以输出音频信号、视频信号或振动信号,并且可以包括显示器131、音频输出单元132和振动电机133。
显示器131可以显示设备100处理的信息。例如,显示器131可以显示应用提供的至少一个页。显示器131可以显示指导用户输入的指导信息。
当显示器131包括具有触摸板的层结构的触摸屏时,除了输出设备之外,显示器131还可以被用作输入设备。显示器131可以包括液晶显示器(LCD)、薄膜晶体管液晶显示器(TFT-LCD)、有机发光二极管(OLED)显示器、柔性显示器、三维(3D)显示器和电泳显示器中的至少一个。另外,根据实施例,设备100可以包括两个或多个显示器131。
音频输出单元132可以输出从通信单元140接收的或存储在存储设备(例如存储器)170中的音频数据。另外,音频输出单元132可以输出在设备100中执行的功能(例如,呼叫信号接收、消息接收和通知)有关的音频信号。音频输出单元132可以包括扬声器和蜂鸣器。
振动电机133可以输出振动信号。例如,振动电机133可以输出对应于音频数据或视频数据(例如,呼叫信号接收声音和消息接收声音)的输出的振动信号。另外,振动电机133可以在对触摸屏幕输入触摸时输出振动信号。
通信单元140(例如通信器)可以包括允许在设备100和服务器200之间或设备100和可佩戴的设备之间的通信的一个或多个组件。例如,通信单元140可以包括短距离无线通信单元141、移动通信单元142和广播接收单元143。
短距离无线通信单元141可以包括但不限于蓝牙通信单元、蓝牙低能量(BLE)通信单元、近场通信单元、WLAN(Wi-Fi)通信单元、ZigBee通信单元、红外数据关联(IrDA)通信单元、WFD通信单元、超宽带(UWB)通信单元和/或Ant+通信单元。
移动通信单元142(例如,移动通信器)可以与基站、外部终端和移动通信网络上的服务器中的至少一个交换无线信号。在本文中,无线信号可以包括声音呼叫信号、视频呼叫信号或者用于文本/多媒体消息的传送和接收的各种类型的数据。
广播接收单元143(例如,广播接收器)可以通过广播信道从外部设备接收广播信号和/或与广播有关的信息。广播信道可以包括卫星信道和地上信道。在一些示例性实施例中,设备100可以不包括广播接收单元143。
当请求执行至少一个功能的用户输入被接收为声音信号时,通信单元140可以向服务器200传送对应于声音信号的声音数据。通信单元140可以在用户的讲话完成之后向服务器200传送声音数据,或者可以在用户的讲话期间向服务器200传送部分声音数据。通信单元140可以从服务器200接收对声音数据的分析结果(例如文本数据)。
通信单元140可以从服务器200接收对应于应用的UI描述。另外,通信单元140可以请求服务器更新应用的UI描述。
感测单元150可能检测设备100的状态、设备100的外围状态或者佩戴设备100的用户的状态,并且将所检测到的状态信息传送给控制器120。
感测单元150可以包括但不限于磁传感器151、加速度传感器152、倾斜传感器153、红外传感器154、陀螺仪传感器155、位置传感器(例如GPS传感器)156、压力传感器157、接近度传感器158以及光传感器159的至少一个。感测单元150可以包括温度传感器、照明传感器、压力传感器、虹膜识别传感器。因为本领域技术人员可以从传感器的各个名称直观地推断出传感器的相应的功能,所以将省略其详细描述。
A/V输入单元160(例如,A/V输入器)可以用于输入视频信号或音频信号,并且可以包括相机161和麦克风162。相机161可以在视频呼叫模式或拍摄模式下获取诸如静止图像或移动图像这样的视频帧。通过相机161捕捉的图像可以由控制器120或单独的图像处理单元处理。
相机161所处理的图像帧可以存储在存储设备(例如,存储器)170中,或者可以通过通信单元140传送给外部设备。根据设备100的配置,可以提供两个或多个相机161。
麦克风162可以接收外部音频信号的输入,并且将其处理为电子音频数据。例如,麦克风162可以从外部设备或扬声器接收音频信号。麦克风162可以使用各种噪声消除算法来消除可能在接收外部音频信号的输入的处理中生成的噪声。
存储设备(存储器)170可以存储用于处理和控制控制器120的程序,并且可以存储输入/输出数据(例如,应用、应用的屏幕组件信息和内容)。
存储设备(例如,存储器)170可以包括闪速存储器型、硬盘型、多媒体卡微型、卡型存储器(例如,SD或XD存储器)、随机存取存储器(RAM)、静态随机存取存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读取存储器(PROM)、磁存储器、磁盘和光盘之中的至少一种类型的存储介质。另外,设备100可以操作执行在因特网上的存储设备(例如存储器)170的存储功能的网络存储设备。
存储在存储设备(存储器)170中的程序可以根据它们的功能而被分类成多个模块,并且可以被分类成例如UI模块171、通知模块172和字符识别模块173。
UI模块171可以为各个应用提供与设备100互锁的专用UI和GUI。通知模块172可以生成在设备100中通知事件的生成的信号。通知模块172可以通过显示器131输出视频信号类型的通知信号,通过音频输出单元132输出音频信号类型的通知信号,并且通过振动电机133输出振动信号类型的通知信号。
字符识别模块173可以对在UI对象中包括的打印的图像进行字符识别(亦即,OCR)。OCR可以指将图像对象中包括的韩文字符、英文字符和数字字体变换成可以在设备100中编辑的字符代码的技术。
存储设备(存储器)170可以将应用的屏幕组件信息存储在非易失性存储器(例如,闪速存储器)中。当执行应用时,应用的屏幕组件信息(UI描述)被读取并且存储在RAM中。
根据示例性实施例的方法可以实施为可以记录在计算机可读取的记录介质上的、通过各种计算机装置执行的程序命令的形式。计算机可读取的介质可以单独地或组合地包括程序命令、数据文件和数据结构。记录在计算机可读取的记录介质上的程序命令可以是针对本发明的构思特殊设计和配置的程序命令,或者可以是对于本领域的计算机程序员已知并且可得到的程序命令。计算机可读取的记录介质的示例可以包括磁记录介质(诸如硬盘、软盘和磁带)、光记录介质(诸如CD-ROM和DVD)、光磁记录介质(诸如光磁软盘)以及被专门配置为存储和执行程序命令的硬件设备(诸如ROM、RAM和闪速存储器)。程序命令的示例可以包括可以由编译器生成的机器语言代码以及可以由计算机使用解释器执行的高级语言代码。
根据以上示例性实施例,因为设备100通过使用屏幕组件信息(UI描述)自动地生成从当前页到目标页中的每个页中的真实的用户输入事件,所以设备100可以向用户提供直接用手操作设备100的真实检验。
应当理解的是,在本文中所描述的示例性实施例应当仅以描述的意义来考虑,而不是用于进行限制。在每个示例性实施例内的特征或方面的描述应当通常被视为可用于其他示例性实施例中的其他类似特征或方面。
虽然参照附图描述了一个或多个示例性实施例,但是本领域技术人员将理解到,可以在不脱离权利要求书所定义的精神和范围的情况下对其在形式和细节上做出各种改变。

Claims (13)

1.一种设备,包含:
通信器,被配置为从至少两个物联网IoT设备接收服务信息;
存储器,被配置为存储从至少两个IoT设备接收的服务信息;和
输入器,被配置为接收包括请求执行至少两个预定功能的命令词组的用户输入;和
控制器,被配置为:
分析用户输入和存储在存储器中的至少两个IoT设备的服务信息,
基于用户输入和至少两个IoT设备的服务信息的分析确定至少两个预定功能,
基于确定的至少两个预定功能,选择用于执行至少两个预定功能的每个的至少两个IoT设备,
将第一执行命令发送到所选择的至少两个IoT设备中的第一IoT设备,以及
将第二执行命令发送到所选择的至少两个IoT设备中的第二IoT设备,
其中,第一执行命令包括与由第一IoT设备执行的第一预定功能的执行相关的信息以及与将第一预定功能的执行的结果数据作为由第二IoT设备执行的第二预定功能的输入参数发送到第二IoT设备相关的信息,
其中,第二执行命令包括与由第二IoT设备执行的第二预定功能的执行相关的信息以及与接收作为第二预定功能的输入参数的第一预定功能的执行结果数据相关的信息,以及
其中,从至少两个IoT设备接收的服务信息包括由至少两个IoT设备提供的预定功能的列表。
2.根据权利要求1所述的设备,其中,该服务信息包括如下的至少一个:由至少两个IoT设备提供的预定功能,设备标识信息,由传感器收集的传感器数据和至少两个IoT设备的操作信息。
3.根据权利要求1所述的设备,其中,通信器还被配置为向服务器提供用户输入并从该服务器接收通过分析该用户输入而生成的文本数据。
4.根据权利要求1所述的设备,其中,用户输入是语音输入或文本输入中的至少一个。
5.根据权利要求1所述的设备,其中,通信器还被配置为从至少两个IoT设备接收周期性更新的预定功能的列表。
6.根据权利要求1所述的设备,其中,通信器还被配置为通过通信链路连接到至少两个IoT设备。
7.一种由设备执行功能的方法,该方法包含:
从至少两个物联网IoT设备接收服务信息;
将从至少两个IoT设备接收的服务信息存储到存储器中;
接收包括请求执行至少两个预定功能的命令词组的用户输入;
分析用户输入和存储在存储器中的至少两个IoT设备的服务信息;
基于用户输入和至少两个IoT设备的服务信息的分析确定至少两个预定功能;
基于确定的至少两个预定功能,选择用于执行至少两个预定功能的每个的至少两个IoT设备;
将第一执行命令发送到所选择的至少两个IoT设备中的第一IoT设备;以及
将第二执行命令发送到所选择的至少两个IoT设备中的第二IoT设备,
其中,第一执行命令包括与由第一IoT设备执行的第一预定功能的执行相关的信息以及与将第一预定功能的执行的结果数据作为由第二IoT设备执行的第二预定功能的输入参数发送到第二IoT设备相关的信息,
其中,第二执行命令包括与由第二IoT设备执行的第二预定功能的执行相关的信息以及与接收作为第二预定功能的输入参数的第一预定功能的执行结果数据相关的信息,以及
其中,从至少两个IoT设备接收的服务信息包括由至少两个IoT设备提供的预定功能的列表。
8.根据权利要求7所述的方法,其中,该服务信息包括如下的至少一个:由至少两个IoT设备提供的预定功能,设备标识信息,由传感器收集的传感器数据和至少两个IoT设备的操作信息。
9.根据权利要求7所述的方法,还包括向服务器提供用户输入并从该服务器接收通过分析该用户输入而生成的文本数据。
10.根据权利要求7所述的方法,其中,用户输入是语音输入或文本输入中的至少一个。
11.根据权利要求7所述的方法,其中,从至少两个IoT设备接收服务信息包括从至少两个IoT设备接收周期性更新的预定功能的列表。
12.根据权利要求7所述的方法,还包括通过通信链路连接到至少两个IoT设备。
13.一种非临时性计算机可读记录介质,其上记录有用于执行权利要求8所述的方法的程序。
CN201910370909.9A 2014-07-31 2015-07-31 用于执行功能的设备和方法 Active CN110262708B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
KR20140098627 2014-07-31
KR10-2014-0098627 2014-07-31
KR10-2014-0159183 2014-11-14
KR1020140159183A KR20160016491A (ko) 2014-07-31 2014-11-14 디바이스 및 디바이스의 기능 수행 방법
KR1020150025234A KR102367132B1 (ko) 2014-07-31 2015-02-23 디바이스 및 디바이스의 기능 수행 방법
KR10-2015-0025234 2015-02-23
CN201510463464.0A CN105320404B (zh) 2014-07-31 2015-07-31 用于执行功能的设备和方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201510463464.0A Division CN105320404B (zh) 2014-07-31 2015-07-31 用于执行功能的设备和方法

Publications (2)

Publication Number Publication Date
CN110262708A CN110262708A (zh) 2019-09-20
CN110262708B true CN110262708B (zh) 2022-08-16

Family

ID=53794055

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910370909.9A Active CN110262708B (zh) 2014-07-31 2015-07-31 用于执行功能的设备和方法
CN201510463464.0A Active CN105320404B (zh) 2014-07-31 2015-07-31 用于执行功能的设备和方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201510463464.0A Active CN105320404B (zh) 2014-07-31 2015-07-31 用于执行功能的设备和方法

Country Status (4)

Country Link
US (3) US10127011B2 (zh)
EP (2) EP2980694B1 (zh)
CN (2) CN110262708B (zh)
WO (1) WO2016017978A1 (zh)

Families Citing this family (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9836192B2 (en) 2014-02-25 2017-12-05 Evan Glenn Katsuranis Identifying and displaying overlay markers for voice command user interface
US9537811B2 (en) 2014-10-02 2017-01-03 Snap Inc. Ephemeral gallery of ephemeral messages
US9396354B1 (en) 2014-05-28 2016-07-19 Snapchat, Inc. Apparatus and method for automated privacy protection in distributed images
US9113301B1 (en) 2014-06-13 2015-08-18 Snapchat, Inc. Geo-location based event gallery
JP6418820B2 (ja) * 2014-07-07 2018-11-07 キヤノン株式会社 情報処理装置、表示制御方法、及びコンピュータプログラム
KR102497720B1 (ko) 2014-09-02 2023-02-10 애플 인크. 가변 햅틱 출력을 위한 시맨틱 프레임워크
US10824654B2 (en) 2014-09-18 2020-11-03 Snap Inc. Geolocation-based pictographs
US10284508B1 (en) 2014-10-02 2019-05-07 Snap Inc. Ephemeral gallery of ephemeral messages with opt-in permanence
US9741342B2 (en) * 2014-11-26 2017-08-22 Panasonic Intellectual Property Corporation Of America Method and apparatus for recognizing speech by lip reading
US9385983B1 (en) * 2014-12-19 2016-07-05 Snapchat, Inc. Gallery of messages from individuals with a shared interest
US10311916B2 (en) 2014-12-19 2019-06-04 Snap Inc. Gallery of videos set to an audio time line
US10133705B1 (en) 2015-01-19 2018-11-20 Snap Inc. Multichannel system
KR102371138B1 (ko) 2015-03-18 2022-03-10 스냅 인코포레이티드 지오-펜스 인가 프로비저닝
US20160328205A1 (en) * 2015-05-05 2016-11-10 Motorola Mobility Llc Method and Apparatus for Voice Operation of Mobile Applications Having Unnamed View Elements
US10135949B1 (en) 2015-05-05 2018-11-20 Snap Inc. Systems and methods for story and sub-story navigation
US20170163781A1 (en) * 2015-12-08 2017-06-08 Ram Ramesh Seshan User interface for contacts management and communication
US10354425B2 (en) 2015-12-18 2019-07-16 Snap Inc. Method and system for providing context relevant media augmentation
KR20170100309A (ko) * 2016-02-25 2017-09-04 삼성전자주식회사 음성 인식 제어를 제공하는 전자 장치 및 그 동작 방법
US10417021B2 (en) 2016-03-04 2019-09-17 Ricoh Company, Ltd. Interactive command assistant for an interactive whiteboard appliance
US10409550B2 (en) * 2016-03-04 2019-09-10 Ricoh Company, Ltd. Voice control of interactive whiteboard appliances
CN109074857A (zh) * 2016-04-20 2018-12-21 皇家飞利浦有限公司 自动填充患者报告
DK179823B1 (en) 2016-06-12 2019-07-12 Apple Inc. DEVICES, METHODS, AND GRAPHICAL USER INTERFACES FOR PROVIDING HAPTIC FEEDBACK
DK201670737A1 (en) 2016-06-12 2018-01-22 Apple Inc Devices, Methods, and Graphical User Interfaces for Providing Haptic Feedback
US11020860B2 (en) * 2016-06-15 2021-06-01 Irobot Corporation Systems and methods to control an autonomous mobile robot
US10271093B1 (en) * 2016-06-27 2019-04-23 Amazon Technologies, Inc. Systems and methods for routing content to an associated output device
US20180039478A1 (en) * 2016-08-02 2018-02-08 Google Inc. Voice interaction services
US10261752B2 (en) * 2016-08-02 2019-04-16 Google Llc Component libraries for voice interaction services
DK179278B1 (en) 2016-09-06 2018-03-26 Apple Inc Devices, methods and graphical user interfaces for haptic mixing
DK201670720A1 (en) 2016-09-06 2018-03-26 Apple Inc Devices, Methods, and Graphical User Interfaces for Generating Tactile Outputs
GB201616990D0 (en) * 2016-10-06 2016-11-23 Microsoft Technology Licensing Llc User interface
JP6659514B2 (ja) 2016-10-12 2020-03-04 東芝映像ソリューション株式会社 電子機器及びその制御方法
CN107038361B (zh) * 2016-10-13 2020-05-12 创新先进技术有限公司 基于虚拟现实场景的业务实现方法及装置
KR20180060328A (ko) 2016-11-28 2018-06-07 삼성전자주식회사 멀티 모달 입력을 처리하는 전자 장치, 멀티 모달 입력을 처리하는 방법 및 멀티 모달 입력을 처리하는 서버
KR20180101926A (ko) * 2017-03-06 2018-09-14 삼성전자주식회사 전자 장치 및 전자 장치의 어플리케이션 제어 방법
KR102369309B1 (ko) * 2017-03-24 2022-03-03 삼성전자주식회사 파셜 랜딩 후 사용자 입력에 따른 동작을 수행하는 전자 장치
US10582277B2 (en) 2017-03-27 2020-03-03 Snap Inc. Generating a stitched data stream
US10581782B2 (en) 2017-03-27 2020-03-03 Snap Inc. Generating a stitched data stream
KR102389996B1 (ko) 2017-03-28 2022-04-25 삼성전자 주식회사 전자 장치 및 이를 이용한 사용자 입력을 처리하기 위한 화면 제어 방법
KR102348758B1 (ko) 2017-04-27 2022-01-07 삼성전자주식회사 음성 인식 서비스 운용 방법 및 이를 지원하는 전자 장치
KR102309031B1 (ko) 2017-04-27 2021-10-06 삼성전자 주식회사 지능형 에이전트 관리 방법 및 장치
KR102464120B1 (ko) 2017-04-30 2022-11-08 삼성전자주식회사 사용자 발화를 처리하는 전자 장치
KR102388539B1 (ko) 2017-04-30 2022-04-20 삼성전자주식회사 사용자 발화를 처리하는 전자 장치
DK201770372A1 (en) 2017-05-16 2019-01-08 Apple Inc. TACTILE FEEDBACK FOR LOCKED DEVICE USER INTERFACES
WO2018218565A1 (zh) * 2017-05-31 2018-12-06 深圳市永恒丰科技有限公司 智能终端
US11217344B2 (en) * 2017-06-23 2022-01-04 Abiomed, Inc. Systems and methods for capturing data from a medical device
US10554382B2 (en) * 2017-06-27 2020-02-04 Amazon Technologies, Inc. Secure models for IoT devices
US11350360B2 (en) 2017-06-27 2022-05-31 Amazon Technologies, Inc. Generating adaptive models for IoT networks
US11055481B2 (en) * 2017-06-29 2021-07-06 Spalo Co., Ltd. Information input method, information input apparatus, and information input system
CN107342083B (zh) * 2017-07-05 2021-07-20 百度在线网络技术(北京)有限公司 用于提供语音服务的方法和装置
KR102349681B1 (ko) 2017-07-28 2022-01-12 삼성전자주식회사 결여된 파라미터를 획득하고 기록하는 전자 장치
US20190042186A1 (en) * 2017-08-07 2019-02-07 Dolbey & Company, Inc. Systems and methods for using optical character recognition with voice recognition commands
KR102440651B1 (ko) * 2017-09-19 2022-09-06 삼성전자주식회사 자연어 표현 제공 방법 및 이를 지원하는 전자 장치
JP7146379B2 (ja) * 2017-10-03 2022-10-04 キヤノン株式会社 印刷方法、音声制御システムおよびプログラム
US11379686B2 (en) 2017-10-09 2022-07-05 Box, Inc. Deploying data processing service plug-ins into a cloud-based collaboration platform
JP7071098B2 (ja) * 2017-11-20 2022-05-18 キヤノン株式会社 音声制御システム、制御方法およびプログラム
CN108055394B (zh) * 2017-11-30 2021-06-15 努比亚技术有限公司 电话联系人调用方法、终端及计算机可读存储介质
KR102458338B1 (ko) * 2017-11-30 2022-10-25 삼성전자주식회사 컴퓨팅 장치의 정보 입력 방법 및 그 컴퓨팅 장치
KR102482589B1 (ko) 2018-02-12 2022-12-30 삼성전자주식회사 음성 인식 서비스 운용 방법 및 이를 지원하는 전자 장치
KR102508863B1 (ko) * 2018-03-19 2023-03-10 삼성전자 주식회사 전자 장치 및 상기 전자 장치로부터 수신된 데이터를 처리하는 서버
KR102509465B1 (ko) * 2018-05-07 2023-03-14 구글 엘엘씨 연결 디바이스를 제어하기 위한 복합 그래픽 어시스턴트 인터페이스를 제공하는 방법, 시스템, 및 장치
KR20190136832A (ko) * 2018-05-31 2019-12-10 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 음성 명령을 프린팅 서비스를 지원하는 텍스트 코드 블록들로 변환
WO2019239582A1 (ja) * 2018-06-15 2019-12-19 三菱電機株式会社 機器制御装置、機器制御システム、機器制御方法、および、機器制御プログラム
CN108958844B (zh) * 2018-07-13 2021-09-03 京东方科技集团股份有限公司 一种应用程序的控制方法及终端
EP3776593A4 (en) * 2018-07-26 2021-05-26 Samsung Electronics Co., Ltd. PROCEDURE AND ELECTRONIC DEVICE FOR ARTIFICIAL INTELLIGENCE (AI) BASED ASSISTIVE HEALTH SURVEY IN AN INTERNET OF THINGS NETWORK
CN109062474A (zh) * 2018-08-21 2018-12-21 苏州蜗牛数字科技股份有限公司 一种基于图像识别进行智能操作的方法
US10770035B2 (en) 2018-08-22 2020-09-08 Google Llc Smartphone-based radar system for facilitating awareness of user presence and orientation
US10890653B2 (en) 2018-08-22 2021-01-12 Google Llc Radar-based gesture enhancement for voice interfaces
US10698603B2 (en) 2018-08-24 2020-06-30 Google Llc Smartphone-based radar system facilitating ease and accuracy of user interactions with displayed objects in an augmented-reality interface
US10788880B2 (en) 2018-10-22 2020-09-29 Google Llc Smartphone-based radar system for determining user intention in a lower-power mode
KR102537781B1 (ko) * 2018-11-13 2023-05-30 삼성전자주식회사 전자 장치 및 이의 제어 방법
CN109522077A (zh) * 2018-11-15 2019-03-26 中国电子科技集团公司第四十研究所 一种适用于仪器软面板的通用参数设置方法
CN109618059A (zh) * 2019-01-03 2019-04-12 北京百度网讯科技有限公司 移动终端中语音识别功能的唤醒方法和装置
US11244287B2 (en) * 2019-04-25 2022-02-08 Microsoft Technology Licensing, Llc Proactively displaying relevant information related to an event on a search page
JP7415350B2 (ja) * 2019-07-08 2024-01-17 コニカミノルタ株式会社 音声操作システム、制御装置、および制御プログラム
US10979582B2 (en) * 2019-07-12 2021-04-13 Kyocera Document Solutions, Inc. Extension of remote frame buffer (RFB) protocol
JP7418076B2 (ja) * 2019-07-16 2024-01-19 キヤノン株式会社 情報処理システム、情報処理装置、情報処理方法
US11640820B2 (en) * 2019-07-23 2023-05-02 Dolbey & Company, Inc. Systems and methods for insertion of formatted text with speech recognition
KR20210016739A (ko) * 2019-08-05 2021-02-17 삼성전자주식회사 전자 장치 및 전자 장치의 입력 방법
CN112579217B (zh) * 2019-09-27 2023-10-03 百度在线网络技术(北京)有限公司 技能展示方法及装置、服务器、电子设备和存储介质
EP3805878B1 (de) * 2019-10-11 2022-06-15 Siemens Aktiengesellschaft Verfahren zur visualisierung von bildschirminhalten auf einem datenvisualisierungssystem sowie datenvisualisierungssystem zur visualisierung von bildschirminhalten
CN111104029B (zh) * 2019-12-05 2021-09-24 维沃移动通信有限公司 快捷标识生成方法、电子设备及介质
CN111367488B (zh) * 2020-01-07 2023-08-22 百度在线网络技术(北京)有限公司 语音设备及语音设备的交互方法、设备、存储介质
CN112269556A (zh) * 2020-09-21 2021-01-26 北京达佳互联信息技术有限公司 信息展示方法、装置、系统、设备、服务器及存储介质
US20220093098A1 (en) * 2020-09-23 2022-03-24 Samsung Electronics Co., Ltd. Electronic apparatus and control method thereof
US11736366B2 (en) * 2020-10-14 2023-08-22 Silicon Laboratories Inc. Remote GUI for simple network devices
CN112199149A (zh) * 2020-10-16 2021-01-08 维沃移动通信有限公司 界面渲染方法、装置及电子设备
CN112511882B (zh) * 2020-11-13 2022-08-30 海信视像科技股份有限公司 一种显示设备及语音唤起方法
CN114968164A (zh) * 2021-02-25 2022-08-30 阿里巴巴集团控股有限公司 语音处理方法、系统、装置和终端设备
US20220374109A1 (en) * 2021-05-14 2022-11-24 Apple Inc. User input interpretation using display representations
CN113296668A (zh) * 2021-06-15 2021-08-24 Vidaa美国公司 电子说明书的显示方法及显示设备
US11785070B2 (en) * 2021-10-22 2023-10-10 Slcket, Inc. Connected cloud applications
US20230153060A1 (en) * 2021-11-18 2023-05-18 International Business Machines Corporation Dynamic display accommodations for multiple voice commands
US11726641B1 (en) * 2022-02-14 2023-08-15 Google Llc Encoding/decoding user interface interactions
CN115396709A (zh) * 2022-08-22 2022-11-25 海信视像科技股份有限公司 显示设备、服务器及免唤醒语音控制方法
CN115964115B (zh) * 2023-03-17 2023-06-02 中科航迈数控软件(深圳)有限公司 基于预训练强化学习的数控机床交互方法及相关设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101982842A (zh) * 2010-09-29 2011-03-02 北京时代民芯科技有限公司 一种智能家电的遥控器及组网控制方法
CN103051693A (zh) * 2012-12-12 2013-04-17 北京奇虎科技有限公司 设备控制方法与移动通信终端
CN103049190A (zh) * 2012-12-12 2013-04-17 北京奇虎科技有限公司 一种移动通信终端及控制设备操作的方法
CN103578472A (zh) * 2012-08-10 2014-02-12 海尔集团公司 电器设备的控制方法和控制装置
WO2014029204A1 (zh) * 2012-08-22 2014-02-27 深圳市国显科技股份有限公司 一种基于物联网的智能空调触控系统
CN103744361A (zh) * 2013-12-06 2014-04-23 南通芯迎设计服务有限公司 一种基于无线传感器网络技术的智能家居系统
EP2753021A1 (en) * 2013-01-02 2014-07-09 LG Electronics Inc. Central controller and method for controlling the same

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2280820A (en) * 1993-07-29 1995-02-08 Ibm Distributed system for call processing
US7447637B1 (en) 1998-12-23 2008-11-04 Eastern Investments, Llc System and method of processing speech within a graphic user interface
JP2001166981A (ja) * 1999-12-06 2001-06-22 Fuji Xerox Co Ltd ハイパーテキスト解析装置および方法
KR100414064B1 (ko) 2001-04-12 2004-01-07 엘지전자 주식회사 음성인식에 의한 이동통신 단말기 제어시스템 및 방법
KR100490406B1 (ko) 2002-07-11 2005-05-17 삼성전자주식회사 음성 명령어 처리 장치 및 방법
US7594170B2 (en) * 2003-10-24 2009-09-22 Microsoft Corporation Mechanism for providing data driven command line output
US7409344B2 (en) * 2005-03-08 2008-08-05 Sap Aktiengesellschaft XML based architecture for controlling user interfaces with contextual voice commands
KR100632400B1 (ko) * 2005-11-11 2006-10-11 한국전자통신연구원 음성 인식을 이용한 입출력 장치 및 그 방법
WO2007100228A1 (en) * 2006-03-02 2007-09-07 Mtome Co., Ltd A system and method for contents upload using a mobile terminal
US7899673B2 (en) * 2006-08-09 2011-03-01 Microsoft Corporation Automatic pruning of grammars in a multi-application speech recognition interface
KR20090107365A (ko) * 2008-04-08 2009-10-13 엘지전자 주식회사 이동 단말기 및 그 메뉴 제어방법
JPWO2010013369A1 (ja) * 2008-07-30 2012-01-05 三菱電機株式会社 音声認識装置
US8676904B2 (en) * 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10540976B2 (en) 2009-06-05 2020-01-21 Apple Inc. Contextual voice commands
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
KR101295711B1 (ko) * 2011-02-15 2013-08-16 주식회사 팬택 음성 인식으로 애플리케이션의 실행 가능한 이동통신 단말 장치 및 방법
WO2013022221A2 (en) * 2011-08-05 2013-02-14 Samsung Electronics Co., Ltd. Method for controlling electronic apparatus based on voice recognition and motion recognition, and electronic apparatus applying the same
US8452602B1 (en) * 2011-09-30 2013-05-28 Google Inc. Structuring verbal commands to allow concatenation in a voice interface in a mobile device
US8468022B2 (en) * 2011-09-30 2013-06-18 Google Inc. Voice control for asynchronous notifications
CN102541452B (zh) * 2011-12-26 2015-04-29 优视科技有限公司 基于移动终端的多媒体输入方法、装置及系统
KR102022318B1 (ko) * 2012-01-11 2019-09-18 삼성전자 주식회사 음성 인식을 사용하여 사용자 기능을 수행하는 방법 및 장치
CN102638716A (zh) * 2012-03-21 2012-08-15 华为技术有限公司 实现移动终端遥控电视的方法、装置和系统
CN103428355B (zh) 2012-05-24 2016-08-10 上海博泰悦臻电子设备制造有限公司 基于移动终端的语音控制装置及其语音控制方法
TW201403457A (zh) 2012-07-04 2014-01-16 Tpv Display Technology Xiamen 具有語音操控功能的智慧型電視與其語音操控方法
CN103064828B (zh) 2013-01-25 2016-01-27 华为终端有限公司 一种操作文本的方法及装置
CN111581462A (zh) 2013-10-28 2020-08-25 华为终端有限公司 语音输入信息的方法及终端设备
US10444715B2 (en) * 2014-05-01 2019-10-15 Belkin International, Inc. Controlling settings and attributes related to operation of devices in a network

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101982842A (zh) * 2010-09-29 2011-03-02 北京时代民芯科技有限公司 一种智能家电的遥控器及组网控制方法
CN103578472A (zh) * 2012-08-10 2014-02-12 海尔集团公司 电器设备的控制方法和控制装置
WO2014029204A1 (zh) * 2012-08-22 2014-02-27 深圳市国显科技股份有限公司 一种基于物联网的智能空调触控系统
CN103051693A (zh) * 2012-12-12 2013-04-17 北京奇虎科技有限公司 设备控制方法与移动通信终端
CN103049190A (zh) * 2012-12-12 2013-04-17 北京奇虎科技有限公司 一种移动通信终端及控制设备操作的方法
EP2753021A1 (en) * 2013-01-02 2014-07-09 LG Electronics Inc. Central controller and method for controlling the same
CN103744361A (zh) * 2013-12-06 2014-04-23 南通芯迎设计服务有限公司 一种基于无线传感器网络技术的智能家居系统

Also Published As

Publication number Publication date
US20160034253A1 (en) 2016-02-04
CN105320404B (zh) 2019-05-31
CN110262708A (zh) 2019-09-20
EP3557406C0 (en) 2024-04-03
EP3557406B1 (en) 2024-04-03
EP2980694A2 (en) 2016-02-03
EP2980694A3 (en) 2016-04-20
US20200364028A1 (en) 2020-11-19
EP3557406A2 (en) 2019-10-23
US20190012142A1 (en) 2019-01-10
US10768892B2 (en) 2020-09-08
CN105320404A (zh) 2016-02-10
US11099812B2 (en) 2021-08-24
WO2016017978A1 (en) 2016-02-04
EP2980694B1 (en) 2019-06-26
EP3557406A3 (en) 2019-10-30
US10127011B2 (en) 2018-11-13

Similar Documents

Publication Publication Date Title
CN110262708B (zh) 用于执行功能的设备和方法
US20230082492A1 (en) User interface for managing controllable external devices
US20210225482A1 (en) Health application user interfaces
US11423209B2 (en) Device, method, and graphical user interface for classifying and populating fields of electronic forms
CN110276007B (zh) 用于提供信息的装置和方法
US11937021B2 (en) Camera and visitor user interfaces
CN106415431B (zh) 用于发送指令的方法、计算机可读介质和电子设备
US11868592B2 (en) User interfaces for customizing graphical objects
CN107077292A (zh) 剪贴信息提供方法和装置
KR102367132B1 (ko) 디바이스 및 디바이스의 기능 수행 방법
US20220083183A1 (en) Device management user interface
US11657614B2 (en) Camera and visitor user interfaces
US11609640B2 (en) Emoji user interfaces
CN106233237A (zh) 一种处理与应用关联的新消息的方法和装置
US20230081032A1 (en) Low-bandwidth and emergency communication user interfaces
TWI695312B (zh) 用於執行功能的方法及裝置
US20220391603A1 (en) Content translation user interfaces
US11570129B2 (en) User interfaces for messaging conversations
US11800001B2 (en) User interfaces for presenting indications of incoming calls
US20230393714A1 (en) User interfaces for managing accessories
US20220377248A1 (en) User interface for managing audible descriptions for visual media
US20220392589A1 (en) User interfaces related to clinical data

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
GR01 Patent grant
GR01 Patent grant