从第一设备到第二设备的输入切换的制作方法

文档序号:12143507阅读:193来源:国知局
从第一设备到第二设备的输入切换的制作方法与工艺

用户在同一应用(例如,文字处理应用)上工作时可以使用第一设备(例如,个人计算机)连同第二设备(例如,移动电话)。例如,用户可以在第一设备上起草文档的一部分,并且然后,可以变换(switch)成在第二设备上起草文档的剩余部分。当从第一设备变换至第二设备时,为了继续在同一应用上工作,用户可能需要在第二设备上进行若干手动调整。存在对从第一设备到第二设备的无缝变换的需要。



技术实现要素:

本发明的实施方式涉及用于从第一设备到第二设备的输入切换(input handover)的系统、方法和计算机程序产品。一种示例性方法包括如下步骤:在第一设备与第二设备之间建立连接;从所述第一设备捕获第一图像;从所述第二设备捕获第二图像;基于将所述第一图像和所述第二图像进行比较,确定所述第二设备相对于所述第一设备的位置;确定所述第一设备上的触发事件的发生;以及执行输入指令从所述第一设备到所述第二设备的切换(handover)。

在一些实施方式中,确定所述第二设备相对于所述第一设备的位置的步骤包括:确定所述第二设备是位于所述第一设备的第一边缘附近,还是位于所述第一设备的第二边缘附近。

在一些实施方式中,所述触发事件包括:与所述第一设备的第一边缘或第二边缘的交互。

在一些实施方式中,所述方法还包括如下步骤:将和所述第一图像关联的点与和所述第二图像关联的点进行映射或匹配。

在一些实施方式中,大体上同时捕获所述第一图像和所述第二图像。

在一些实施方式中,确定所述第二设备相对于所述第一设备的位置的步骤还包括:将和所述第一图像关联的点的移动与和所述第二图像关联的点的移动进行映射。

在一些实施方式中,执行输入指令从所述第一设备到所述第二设备的切换的步骤包括:向所述第二设备发送开始从所述第一设备接收输入指令的通知。

在一些实施方式中,所述切换使用网络协议。

在一些实施方式中,所述第一设备包括:经由鼠标或键盘接受输入的设备。

在一些实施方式中,所述第二设备包括:接受触摸输入的设备。

在一些实施方式中,在所述第一设备上录入(enter)所述输入指令,并且所述方法还包括如下步骤:将所述输入指令从所述第一设备转移至所述第二设备。

在一些实施方式中,可以经由所述第二设备上输入的输入来控制所述第二设备。

在一些实施方式中,所述方法还包括如下步骤:使用在所述第一设备和所述第二设备中的至少一个上提供的输入,将数据从所述第一设备转移至所述第二设备。

在一些实施方式中,提供一种用于从第一设备到第二设备的输入切换的系统。所述系统包括存储器;处理器;模块,该模块存储在存储器中,该模块可由所述处理器执行,并被配置为执行以下操作:在第一设备与第二设备之间建立连接;从所述第一设备接收第一图像;从所述第二设备接收第二图像;基于将所述第一图像和所述第二图像进行比较,确定所述第二设备相对于所述第一设备的位置;确定所述第一设备上的触发事件的发生;以及执行输入指令从所述第一设备到所述第二设备的切换。

在一些实施方式中,所述系统包括基于云的服务器。

在一些实施方式中,提供一种用于从第一设备到第二设备的输入切换的计算机程序产品。所述计算机程序产品包括非暂时性计算机可读介质,所述非暂时性计算机可读介质包括代码,该代码被配置为执行以下操作:在第一设备与第二设备之间建立连接;从所述第一设备接收第一图像;从所述第二设备接收第二图像;基于将所述第一图像和所述第二图像进行比较,确定所述第二设备相对于所述第一设备的位置;确定所述第一设备上的触发事件的发生;以及执行输入指令从所述第一设备到所述第二设备的切换。

附图说明

由此已经以通用的术语描述了本发明的实施方式,现在将参照以下附图,其中:

图1呈现根据本发明的实施方式的、用于从第一设备到第二设备的输入切换的示例性处理流;以及

图2呈现根据本发明的实施方式的、从第一设备到第二设备的输入切换的示例性网络环境。

具体实施方式

现在可以参照附图在下文中更充分地描述本发明的实施方式,在附图中示出了本发明的部分实施方式而非全部实施方式。实际上,本发明可以以许多不同的形式来实现,并且不应理解为限于本文阐述的实施方式;相反,提供这些实施方式使得本公开可以满足适用的法定要求。相同的附图标记始终指代相同的元件。

本发明涉及使用户在一个应用上工作时能够从第一设备无缝地变换至第二设备。在一些实施方式中,本发明使用网络协议(例如,互联网协议)将与第一设备关联的输入(例如,鼠标和/或键盘输入)转移至使用触摸输入的第二设备。例如,当用户与距离第一设备的显示器的特定边缘小于或等于预定距离的显示器的区域(“触发区域”)交互时,第二设备接收开始接受针对当前正在第一设备上执行的同一应用的输入事件的通知。如在本文中所使用的,交互指的是在触发区域中鼠标指针的移动或出现。用户不必在触发区域中单击或双击。可以从第一设备向第二设备发送通知,或者从与第一设备和第二设备二者进行网络通信的、基于云的服务器发送通知。因此,本发明使用户能够使用来自第一设备或第二设备的输入与第二设备上的用户界面进行交互。来自第一设备或第二设备的输入还可以用于同时控制或操纵第二设备的用户界面上的信息。服务器应用可以在第一设备上运行,其中,服务器应用提供或启用本文描述的各种功能。客户端应用可以在第二设备上运行,其中,客户端应用使得能够执行本文描述的各种功能。

在一些实施方式中,第一设备经由键盘和/或鼠标或任何其它输入设备接收用户输入。因此,在一些实施方式中,第一设备包括处理单元、显示器(其可以与处理单元分离或联接至处理单元)、键盘和鼠标中的至少一个。在一些实施方式中,第二设备经由与第二设备关联的显示器触摸屏接收触摸输入。因此,可以经由来自与第一设备关联的键盘和/或鼠标的输入来控制第二设备。另外,可以通过经由第二设备的显示器触摸屏接收的触摸输入来控制第二设备。

本发明还能够确定第二设备相对于第一设备(或第一设备的显示器,如果显示器与第一设备的处理单元分离)的大致的位置。如本文所使用的,第一设备或第二设备可以是指第一设备的显示器或第二设备的显示器。例如,本发明能够确定第二设备是更接近第一设备的第一边缘(或第一角部)还是更接近第一设备的第二边缘(或第二角部)。第一边缘和第二边缘可以是设备的相对边缘。在可选的实施方式中,第一边缘和第二边缘可以是设备的相邻边缘。在一些实施方式中,本发明还能够确定与第二设备关联的点(例如,沿着边缘或在表面上)和与第一设备关联的点(例如,沿着边缘或在表面上)之间的距离。

根据本发明的实施方式,当用户与第一设备的第一边缘(或第一设备的显示器)交互时,第二设备接收开始从第一设备接收输入指令的通知。然而,如果当与第一设备的第一边缘的交互发生时第二设备被放置在第一设备的第二边缘附近,则第二设备不接收开始从第一设备接收输入指令的通知。与设备的边缘关联的交互可以是指光标沿设备的边缘的移动。因此,第一设备的边缘可以被用作网关,以继续在第二设备上的同一应用上工作。

第一设备和第二设备二者可以包括一个或更多个图像捕获设备(例如,相机)。设备上的相机例如可以周期性地从设备捕获图像。可以在设备处处理图像,或者可以将图像发送到对图像进行处理的服务器。可以大体上同时地或同步地从第一设备和第二设备捕获图像。可以使用一种或多种图像捕获方法来处理图像,以确定来自第一设备的图像上的点如何与来自第二设备的图像上的点相关,或如何映射(map)到来自第二设备的图像上的点。这些图像的相关性或映射用于确定第二设备相对于第一设备的位置。

在一些实施方式中,用户可将文件从第一设备传送至第二设备,或从第二设备传送回第一设备。例如,用户可从第一设备的用户界面拖拽文件,并把它放在第二设备的用户界面上。另选地,用户可以针对第一设备上的文件选择复制功能。然后,用户可以使用本文描述的方法移动至第二设备的用户界面,并且然后,可以通过从第一设备或第二设备输入指令来选择第二设备上的粘贴功能。如果在第一设备上输入指令,则使用本文描述的各种方法将所述指令转移至第二设备。如本文所使用的,文件可以指的是任何类型的数据(例如,文本、图像、视听数据等)。

现在参照图1,图1示出了从第一设备到第二设备的输入切换的示例性处理流。可以由服务器(例如,基于云的服务器)或本文描述的任何其它设备或系统(诸如,第一设备和/或第二设备),单独地或结合地执行该处理流。在步骤110,该处理流包括:在第一设备与第二设备之间建立连接。在步骤120,该处理流包括从第一设备捕获第一图像。在步骤130,该处理流包括从第二设备捕获第二图像。大体上同时捕获第一图像和第二图像。

在步骤140,该处理流包括:基于将第一图像和第二图像进行比较确定第二设备相对于第一设备的位置。确定第二设备相对于第一设备的位置包括:确定第二设备是位于第一设备的第一边缘附近还是第一设备的第二边缘附近。附加地或另选地,确定第二设备相对于第一设备的位置还包括:将和第一图像关联的点的移动与和第二图像关联的点的移动进行映射。将第一图像和第二图像进行比较还包括将和第一图像关联的点与和第二图像关联的点进行映射或匹配。

在步骤150,该处理流包括:确定第一设备上触发事件的发生。触发事件包括:与第一设备的第一边缘或第二边缘的交互。在步骤160,该处理流包括:执行输入指令从第一设备到第二设备的切换。执行输入指令从第一设备到第二设备的切换包括:向第二设备发送开始从第一设备接收输入指令的通知。

输入切换包括:将在第一设备上录入的输入指令转移至第二设备。可以直接从第一设备到第二设备进行转移,或经由本文描述的服务器进行转移。在这样的实施方式中,第一设备向服务器发送输入指令,并且服务器将该输入指令发送至第二设备。

在一些实施方式中,第一设备包括台式计算机、膝上型计算机、或接受鼠标和/或键盘输入的任何其它计算设备,并且第二设备包括移动电话、平板计算机、或接受触摸输入的任何其它计算设备。然而,在可选实施方式中,本文描述的设备(包括第一设备和第二设备),可以包括移动计算设备、移动电视、膝上型计算机、智能屏幕、平板电脑或平板、便携式台式计算机、电子阅读器、扫描仪、便携式媒体设备、游戏设备、相机或其它图像捕获设备、帽盔、护目镜、手表、带状物(例如,腕带)或其它可穿戴设备、服务器、路由器、传感器、物联网(IIOT)、非计算设备或系统等。另外,本文描述的服务器还可以采取本文描述的任何设备的形式。

现在参照图2,图2呈现用于从第一设备到第二设备的输入切换的网络环境的示例性框图。如图所示,所述网络环境包括网络250、第一设备210、第二设备220和服务器230(例如,基于云的服务器)。在一些实施方式中,服务器230可以被集成在第一设备210中。如图2所示,第一设备210和第二设备220被可操作地并可选择地直接连接到网络250,或经由一个或更多个其它计算设备间接连接(例如,经由一个或更多个无线机构)到网络250,其中,网络可以包括一个或更多个分离的网络。网络250可以使第一设备210或第二设备220能够向服务器230发送信息和/或从服务器230接收信息。

第一设备210、第二设备220或服务器230是计算设备,所述计算设备包括通信接口、处理器、存储器以及模块,该模块存储在存储器中、可由处理器执行并被配置为执行本文描述的各种处理。另外,第一设备210和第二设备220包括显示器。本文描述的每个通信接口能够经由网络250与其它系统进行通信。

本文描述的每个处理器通常包括用于实现音频、视频和/或逻辑功能的电路。例如,处理器可包括数字信号处理设备、微处理设备和各种模数转换器、数模转换器和其它支持电路。处理器所在的系统的控制和信号处理功能可根据这些设备各自的能力分布于这些这些设备之间。处理器还可以包括如下功能,其至少部分基于例如可以被存储在存储器中的计算机可执行程序代码部分来运行一个或更多个软件程序。

每个存储器可以包括任何计算机可读介质。例如,存储器可包括易失性存储器,诸如具有用于临时存储信息的缓存区域的易失性随机存取存储器(RAM)。存储器还可以包括可以嵌入的和/或可移除的非易失性存储器。非易失性存储器附加地或另选地可以包括EEPROM、闪存等。存储器可以存储该存储器所驻留在的系统所使用的任何一个或更多个信息片段和数据,以实现该系统的功能。

根据本发明的实施方式,关于系统(或设备)的术语“模块”可以是指系统的硬件组件、系统的软件组件、或包括硬件和软件二者的系统的组件。如本文所使用的,模块可以包括一个或更多个模块,其中,每个模块可以驻留在分离的硬件或软件中。

尽管上面刚刚描述了本发明的一些实施方式,本发明可以以许多不同的形式来实现,并且不应理解为限于本文阐述的实施方式;相反,提供这些实施方式使得本公开将满足适用的法定要求。另外,应当理解,尽可能地,本文描述和/或考虑的本发明的任何实施方式的任何优点、特征、功能、设备和/或操作方面可以被包括在本文描述和/或考虑的本发明的任何其它实施方式中,反之亦然。另外,尽可能地,本文以单数形式表达的任何术语意味着也包括复数形式,和/或反之亦然,除非另外明确声明。如本文所使用的,“至少一个”应当意味着“一个或更多个”,并且这些短语意指是可互换的。因此,术语“一个”应当意味着“至少一个”或“一个或更多个”,即使本文还使用了短语“一个或更多个”或“至少一个”。相同的附图标记始终指的是相同的元件。

如本领域普通技术人员鉴于本公开应当理解的,本发明可以包括和/或被实现为装置(包括,例如,系统、机器、设备、计算机程序产品等)、方法(包括,例如,商业方法、计算机实现处理等)或前述的任意结合。因此,本发明的实施方式可以采取完全商业方法实施方式、完全软件实施方式(包括固件、常驻软件(resident software)、微代码、数据库中存储的程序等)、完全硬件实施方式、或者本文中通常可以被称为“系统”的、结合商业方法、软件和硬件方面的实施方式的形式。此外,本发明的实施方式可以采取计算机程序产品的形式,所述计算机程序产品包括具有存储其上的一个或更多个计算机可执行的程序代码部分的计算机可读存储介质。如本文所使用的,可以包括一个或更多个处理器的处理器可以被“配置”为以各种方式执行特定功能,包括,例如,通过使一个或更多个通用电路通过执行在计算机可读介质中实现的一个或更多个计算机可执行程序代码部分来执行该功能,和/或通过使一个或更多个专用电路执行该功能。

应当理解,可以利用任何合适的计算机可读介质。计算机可读介质可以包括但不限于非暂时性计算机可读介质(诸如,有形的电、磁、光、电磁、红外、和/或半导体系统、设备、和/或其它装置)。例如,在一些实施方式中,非暂时性计算机可读介质包括有形的介质(诸如,便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光盘只读存储器(CD-ROM)、和/或一些其它有形的光和/或磁存储设备)。然而,在本发明的其它实施方式中,计算机可读介质可以是暂时性的,诸如,例如,包括在此实现的计算机可执行的程序代码部分的传播信号。

用于执行本发明的操作的一个或更多个计算机可执行程序代码部分可以包括面向对象的、脚本化的、和/或非脚本化的编程语言(诸如,例如,Java、Perl、Smalltalk、C++、SAS、SQL、Python、Objective C、JavaScript等)。在一些实施方式中,用于执行本发明的实施方式的操作的一个或更多个计算机可执行程序代码部分可以以传统程序化的编程语言(诸如,“C”编程语言和/或类似的编程语言)来编写。计算机程序代码另选地或附加地可以以一种或更多种多范式编程语言(诸如,例如,F#)来编写。

本文参照装置和/或方法的流程图和/或框图描述了本发明的一些实施方式。应当理解,包括在流程图和/或框图中的每个块、和/或包括在流程图和/或框图中的块的组合可以由一个或更多个计算机可执行程序代码部分来实现。可以将这些一个或更多个计算机可执行程序代码部分提供给通用计算机、专用计算机和/或一些其它可编程数据处理装置的处理器,以便产生特定的机器,使得经由计算机和/或其它可编程数据处理装置的处理器执行的一个或更多个计算机可执行的程序代码部分创建用于实现由流程图和/或框图块所表示的步骤和/或功能的机制。

一个或更多个计算机可执行程序代码部分可以被存储在暂时性和/或非暂时性计算机可读介质(例如,存储器等)中,所述暂时性和/或非暂时性计算机可读介质能够指示、命令和/或使得计算机和/或其它可编程数据处理装置以特定的方式起作用,使得存储在计算机可读介质中的计算机可执行程序代码部分产生包括实现流程图和/或框图块中指定的步骤和/或功能的指令机制的制品。

一个或更多个计算机可执行程序代码部分还可以被加载到计算机和/或其它可编程数据处理装置上,以使得能够在计算机和/或其它可编程装置上执行一系列操作步骤。在一些实施方式中,这产生由计算机实现的处理,使得在计算机和/或其它可编程装置上执行的一个或更多个计算机可执行程序代码部分提供操作步骤,以实现流程图中指定的步骤和/或框图块中指定的功能。另选地,可以将计算机实现的步骤与运营商和/或人实现的步骤相结合,和/或利用运营商和/或人实现的步骤来代替计算机实现的步骤,以便执行本发明的实施方式。

虽然已经在附图中描述并示出了特定示例性实施方式,但是应当理解,这些实施方式仅是说明性的,而非对广义的发明的限制,并且本发明不限于所示出和描述的特定结构和布置,因为除了上面段落所阐述的那些之外,各种其它改变、组合、省略、修改和替换是可能的。本领域技术人员应当理解,在不脱离发明的范围和精神的情况下,可以配置刚刚描述的实施方式的各种调整、修改和组合。因此,应当理解,在所附权利要求的范围内,本发明可以与所具体描述的不同地实践。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1