一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

光标穿越的方法和装置与流程

2023-09-08 13:39:24 来源:中国专利 TAG:


1.本技术涉及终端领域,具体涉及一种光标穿越的方法和装置。


背景技术:

2.光标(cursor)是用户界面(user interface,ui)上的一种图标,用于指示用户当前关注的焦点。在多设备协同场景中,用户需要将光标从一个终端设备的屏幕移动至另一个终端设备的屏幕,这种情况称为光标穿越。例如,终端设备a(接收光标位移数据的终端设备)与终端设备b之间存在通信连接,用户控制光标在终端设备a的屏幕上右移,当光标移动至终端设备a的屏幕的右边界时,终端设备a将光标的位置信息发送至终端设备b,终端设备b随后显示光标,终端设备a不再显示光标,从而实现光标穿越。
3.由于现有技术未设计三设备以及更多设备的光标穿越机制,即使终端设备b附近存在终端设备c,光标也无法穿越至终端设备c,如何使光标在三设备以及更多设备之间穿越是当前需要解决的问题。


技术实现要素:

4.本技术实施例提供了一种光标穿越的方法和装置,能够使光标在三设备以及更多设备之间穿越。
5.第一方面,提供了一种光标穿越的方法,应用于包括主设备和至少两个从设备的系统,所述主设备为从输入设备接收光标的位移数据的设备,所述方法包括:所述主设备确定所述系统中各个设备之间的相对位置;所述主设备确定所述光标的当前位置;当所述当前位置位于第一从设备的屏幕边缘区域时,所述主设备根据所述系统中各个设备的相对位置确定所述第一从设备的光标移动方向是否存在第二从设备,所述第一从设备为所述至少两个从设备中的任意一个从设备,所述第二从设备为所述至少两个从设备中与所述第一从设备相邻的从设备;当所述光标移动方向存在所述第二从设备时,所述主设备向所述第二从设备发送第一穿越消息,所述第一穿越消息包括所述光标从所述第一从设备穿越至所述第二从设备后的初始位置的位置信息。
6.当光标的当前位置位于第一从设备的屏幕边缘区域时,说明用户可能需要光标穿越至其他设备,主设备需要确定光标的移动方向是否存在第二从设备,以便于切换光标的显示设备。若存在第二从设备,说明系统具备光标穿越的条件,主设备可以向第二从设备发送第一穿越消息,切换光标的显示设备,由此可见,本技术实施例可以使光标在三设备以及更多设备之间穿越。此外,光标的移动具有连续性,当用户将光标移动至第一从设备的屏幕的右侧边缘区域时,用户通常希望光标穿越至第一从设备右侧相邻的从设备,本技术实施例基于光标移动方向确定第二从设备,能够在第一从设备周围存在多个从设备的情况下满足用户的光标显示需求。
7.可选地,所述主设备确定所述系统中各个设备之间的相对位置,包括:所述主设备从所述第一从设备接收第一无线信号,所述第一无线信号包括所述第一从设备的标识;所
述主设备确定所述第一无线信号的第一到达角和传输时延;所述主设备通过测距模型处理所述第一无线信号的传输时延,确定所述主设备与所述第一从设备之间的第一距离;所述主设备从所述第二从设备接收第二无线信号,所述第二无线信号包括所述第二从设备的标识;所述主设备确定所述第二无线信号的第二到达角和传输时延;所述主设备通过所述测距模型处理所述第二无线信号的传输时延,确定所述主设备与所述第二从设备之间的第二距离;所述主设备根据所述第一从设备的标识、所述第二从设备的标识、所述第一到达角、所述第二到达角、所述第一距离和所述第二距离确定所述主设备、所述第一从设备和所述第二从设备之间的相对位置。
8.通过第一从设备的标识和第二从设备的标识,主设备能够确定第一无线信号和第二无线信号对应的设备(即,第一从设备和第二从设备)。通过第一到达角和第二到达角,主设备能够确定第一从设备和第二从设备相对于主设备的方向。通过第一距离和第二距离,主设备能够确定第一从设备和第二从设备相对于主设备的距离。确定第一从设备和第二从设备相对于主设备的方向和距离之后,主设备即可确定主设备、第一从设备和第二从设备之间的相对位置。
9.可选地,所述主设备向所述第二从设备发送第一穿越消息之前,所述方法还包括:所述主设备获取所述第一从设备的屏幕尺寸和所述第二从设备的屏幕尺寸,所述第一从设备的屏幕尺寸包括第一边长,所述第二从设备的屏幕尺寸包括第二边长,所述第一边长和所述第二边长分别为所述第一从设备和所述第二从设备的相邻边的边长;所述主设备根据所述第一边长和所述第二边长确定所述初始位置,所述初始位置为所述光标在所述第一从设备的穿越位置的坐标与第一比值的乘积,所述第一比值为所述第一边长和所述第二边长的比值。
10.第一比值反映了第一从设备和第二从设备的屏幕尺寸的差异。第一从设备和第二从设备的屏幕尺寸的差异越大,第一比值越大,光标在第二从设备上的初始位置与光标在第一从设备上的穿越位置的差异越大;第一从设备和第二从设备的屏幕尺寸的差异越小,第一比值越小,光标在第二从设备上的初始位置与光标在第一从设备上的穿越位置的差异越小。因此,本实施例能够使光标穿越前后的位置变化与第一从设备和第二从设备的屏幕尺寸的比例匹配,进而使得光标的穿越更加连贯顺畅。
11.可选地,所述主设备获取所述第一从设备的屏幕尺寸和所述第二从设备的屏幕尺寸,包括:所述主设备从第一连接请求的响应消息中获取所述第一从设备的屏幕尺寸,所述第一连接请求为所述主设备向所述第一从设备发送的连接请求;所述主设备从第二连接请求的响应消息中获取所述第二从设备的屏幕尺寸,所述第二连接请求为所述主设备向所述第二从设备发送的连接请求。
12.主设备利用建立连接过程中的消息获取从设备的屏幕分辨率,无需专门请求获取从设备的屏幕分辨率,能够减小信令开销。
13.可选地,所述主设备向所述第二从设备发送第一穿越消息之前,所述方法还包括:所述主设备获取所述第二从设备的屏幕分辨率;所述主设备根据所述主设备的屏幕分辨率和所述第二从设备的屏幕分辨率确定所述第二从设备的光标灵敏度转换率,所述光标灵敏度转换率与第二比值正相关,所述第二比值为所述第二从设备的屏幕分辨率和所述主设备的屏幕分辨率的比值;所述主设备向所述第二从设备发送第一穿越消息之后,所述方法还
包括:所述主设备从所述输入设备接收所述光标的第一位移数据;所述主设备根据所述第一位移数据和所述光标灵敏度转换率确定第二位移数据,所述第二位移数据等于所述第一位移数据与所述光标灵敏度转换率的乘积;所述主设备向所述第二从设备发送所述第二位移数据。
14.光标灵敏度转换率反映了第二从设备的屏幕分辨率和主设备的屏幕分辨率的差异。第二从设备的屏幕分辨率和主设备的屏幕分辨率的比值越大,光标灵敏度转换率越大,鼠标(或者其他输入设备)移动相同距离时,第二位移数据和第一位移数据的差异越大;第二从设备的屏幕分辨率和主设备的屏幕分辨率的比值越小,光标灵敏度转换率越小,鼠标(或者其他输入设备)移动相同距离时,第二位移数据和第一位移数据的差异越小。因此,本实施例能够使光标穿越前后的位置与第一从设备和第二从设备的屏幕尺寸的比例匹配,进而使得光标的穿越更加连贯顺畅。
15.可选地,所述主设备确定光标的当前位置,包括:所述主设备向所述第一从设备发送所述光标的第三位移数据,所述第三位移数据用于所述第一从设备确定所述当前位置;所述主设备从所述第一从设备接收当前位置信息,所述当前位置信息指示所述当前位置;所述主设备根据所述当前位置信息确定所述当前位置。
16.当光标位于第一从设备时,第一从设备可以根据第三位移数据确定光标的当前位置,随后,第一从设备将当前位置信息发送至主设备,使得主设备能够基于当前位置信息确定光标的当前位置,进而根据当前位置确定是否执行光标穿越流程。
17.可选地,所述方法还包括:在所述光标穿越至所述第二从设备后,所述主设备确定不向所述第一从设备发送所述光标的位移数据。
18.光标穿越至所述第二从设备后,向第一从设备发送位移数据失去了意义,停止向第一从设备发送位移数据能够减小传输资源的开销。
19.可选地,所述方法还包括:所述主设备向所述第二从设备发送所述光标的第四位移数据,所述第四位移数据用于所述第一从设备确定所述光标在所述第二从设备上的位置;当所述光标在所述第二从设备上的位置位于所述第二从设备的屏幕边缘区域时,所述主设备根据所述系统中各个设备的相对位置确定所述第二从设备的光标移动方向是否存在相邻的从设备;当所述第二从设备的光标移动方向存在所述第一从设备时,并且,当所述光标到达所述第二从设备的边界时,所述主设备向所述第一从设备发送第二穿越消息,所述第二穿越消息包括所述光标从所述第二从设备穿越至所述第一从设备后的初始位置的位置信息。
20.第一从设备能够基于第二穿越消息确定光标穿越后的初始位置,实现光标的回穿。
21.第二方面,提供了一种光标穿越的装置,包括用于执行第一方面中任一种方法的单元。该装置可以是终端设备,也可以是终端设备内的芯片。该装置可以包括输入单元和处理单元。
22.当该装置是终端设备时,该处理单元可以是处理器,该输入单元可以是通信接口;该终端设备还可以包括存储器,该存储器用于存储计算机程序代码,当该处理器执行该存储器所存储的计算机程序代码时,使得该终端设备执行第一方面中的任一种方法。
23.当该装置是终端设备内的芯片时,该处理单元可以是芯片内部的逻辑处理单元,
该输入单元可以是输出接口、管脚或电路等;该芯片还可以包括存储器,该存储器可以是该芯片内的存储器(例如,寄存器、缓存等),也可以是位于该芯片外部的存储器(例如,只读存储器、随机存取存储器等);该存储器用于存储计算机程序代码,当该处理器执行该存储器所存储的计算机程序代码时,使得该芯片执行第一方面的任一种方法。
24.第三方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序代码,当所述计算机程序代码被光标穿越的装置运行时,使得该装置执行第一方面中的任一种方法。
25.第四方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码被光标穿越的装置运行时,使得该装置执行第一方面中的任一种方法。
附图说明
26.图1是一种适用于本技术的应用场景的示意图;
27.图2是本技术提供的一种主设备或从设备的硬件系统的示意图;
28.图3是本技术提供的一种主设备的软件系统的示意图;
29.图4是本技术提供的一种从设备的软件系统的示意图;
30.图5是本技术提供的一种光标穿越的方法的示意图;
31.图6是本技术提供的一种屏幕边缘区域的示意图;
32.图7是本技术提供的一种光标穿越的实施例的示意图;
33.图8是本技术提供的另一种光标穿越的实施例的示意图;
34.图9是本技术提供的一种确定初始位置的方法的示意图;
35.图10是本技术提供的另一种确定初始位置的方法的示意图;
36.图11是本技术提供的一种鼠标灵敏度转换方法的示意图;
37.图12是本技术提供的一种光标回穿方法的示意图;
38.图13是本技术提供的一种通过蓝牙信号进行测距的方法的示意图;
39.图14是本技术提供的一种通过wifi信号进行测距的方法的示意图;
40.图15是本技术提供的一种通过uwb信号进行测距的方法的示意图;
41.图16是本技术提供的一种光标穿越准备流程的示意图;
42.图17是本技术提供的一种光标穿越流程的示意图;
43.图18是本技术提供的一种光标回穿流程的示意图。
具体实施方式
44.下面将结合附图,对本技术实施例中的技术方案进行描述。
45.图1是一种适用于本技术的应用场景的示意图。
46.主设备、第一从设备和第二从设备可以是笔记本电脑、平板电脑、可折叠电子设备、桌面型计算机、膝上型计算机、手持计算机、个人计算机(personal computer,pc)、上网本等。
47.设备与第一从设备之间存在通信连接,主设备与第二从设备之间也存在通信连接。上述通信连接可以是蓝牙连接,也可以是无线保真(wireless fidelity,wifi)连接,还
可以是超宽带(ultra wide band,uwb)连接,本技术对上述通信连接的具体形式不做限定。
48.用户通过输入设备控制光标与主设备进行交互,例如,用户可以通过输入设备控制光标在主设备的界面上执行移动、单击、双击或拖动等操作。该输入设备可以是鼠标,也可以是触摸板或者触摸屏,还可以是其他能够控制光标的设备,如虚拟现实(virtual reality,vr)设备。
49.在一些情况下,用户需要通过光标操作第一从设备,用户可以通过输入设备向右移动光标,当光标移动至主设备的边缘区域时,主设备通过与第一从设备之间的通信连接将光标的位移数据传递至第一从设备。随后,第一从设备显示光标,主设备不再显示光标,从用户的角度看,光标从主设备穿越至第一从设备。
50.光标穿越至第一从设备之后,若用户需要对第二从设备进行操作,则用户希望光标能够穿越至第二从设备,然而,第二从设备与第一从设备之间不存在通信连接,第一从设备无法将光标的穿越位置等信息告知第二从设备,导致光标无法实现连续穿越。
51.应理解,图1是示例而非限定,适用于本技术的场景还可以包含更多个从设备。
52.下面介绍本技术提供的光标穿越的方法和装置的实施例。首先介绍适用于本技术的装置的硬件系统和软件系统。
53.图2示出了一种适用于本技术的装置的硬件系统。装置100是主设备或者从设备的一种可能的形态。
54.装置100可以包括处理器110、外部存储器接口120、内部存储器121、通用串行总线(universal serial bus,usb)接口130、充电管理模块140、电源管理模块141、电池142、天线1、天线2、移动通信模块150、无线通信模块160、音频模块170、扬声器170a、受话器170b、麦克风170c、耳机接口170d、传感器模块180、按键190、马达191、指示器192、摄像模组193、显示屏194以及用户标识模块(subscriber identification module,sim)卡接口195。其中传感器模块180可以包括指纹传感器180h和触摸传感器180k等。
55.需要说明的是,图2所示的结构并不构成对装置100的具体限定。在本技术另一些实施例中,装置100可以包括比图2所示的部件更多或更少的部件,或者,装置100可以包括图2所示的部件中某些部件的组合,或者,装置100可以包括图2所示的部件中某些部件的子部件。图2示的部件可以以硬件、软件、或软件和硬件的组合实现。
56.处理器110可以包括一个或多个处理单元。例如,处理器110可以包括以下处理单元中的至少一个:应用处理器(application processor,ap)、调制解调处理器、图形处理器(graphics processing unit,gpu)、图像信号处理器(image signal processor,isp)、控制器、视频编解码器、数字信号处理器(digital signal processor,dsp)、基带处理器、神经网络处理器(neural-network processing unit,npu)。其中,不同的处理单元可以是独立的器件,也可以是集成的器件。
57.控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
58.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
59.在一些实施例中,处理器110可以包括一个或多个接口。例如,处理器110可以包括以下接口中的至少一个:内部集成电路(inter-integrated circuit,i2c)接口、内部集成电路音频(inter-integrated circuit sound,i2s)接口、脉冲编码调制(pulse code modulation,pcm)接口、通用异步接收传输器(universal asynchronous receiver/transmitter,uart)接口、移动产业处理器接口(mobile industry processor interface,mipi)、通用输入输出(general-purpose input/output,gpio)接口、sim接口、usb接口。
60.i2c接口是一种双向同步串行总线,包括一根串行数据线(serial data line,sda)和一根串行时钟线(derail clock line,scl)。在一些实施例中,处理器110可以包含多组i2c总线。处理器110可以通过不同的i2c总线接口分别耦合触摸传感器180k、充电器、闪光灯、摄像模组193等。例如:处理器110可以通过i2c接口耦合触摸传感器180k,使处理器110与触摸传感器180k通过i2c总线接口通信,实现装置100的触摸功能。
61.i2s接口可以用于音频通信。在一些实施例中,处理器110可以包含多组i2s总线。处理器110可以通过i2s总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过i2s接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
62.pcm接口也可以用于音频通信,将模拟信号抽样、量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过pcm接口耦合。在一些实施例中,音频模块170也可以通过pcm接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述i2s接口和所述pcm接口都可以用于音频通信。
63.uart接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,uart接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过uart接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过uart接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
64.mipi接口可以被用于连接处理器110与显示屏194和摄像模组193等外围器件。mipi接口包括摄像头串行接口(camera serial interface,csi)、显示屏串行接口(display serial interface,dsi)等。在一些实施例中,处理器110和摄像模组193通过csi接口通信,实现装置100的拍摄功能。处理器110和显示屏194通过dsi接口通信,实现装置100的显示功能。
65.gpio接口可以通过软件配置。gpio接口可以被配置为控制信号接口,也可被配置为数据信号接口。在一些实施例中,gpio接口可以用于连接处理器110与摄像模组193,显示屏194、无线通信模块160、音频模块170和传感器模块180。gpio接口还可以被配置为i2c接口、i2s接口、uart接口或mipi接口。
66.图2所示的各模块间的连接关系只是示意性说明,并不构成对装置100的各模块间的连接关系的限定。可选地,装置100的各模块可以采用与上述实施例中的连接方式不同的接口连接方式,或者,装置100的各模块可以采用上述实施例中多种连接方式的组合。
67.usb接口130是符合usb标准规范的接口,例如可以是迷你(mini)usb接口、微型(micro)usb接口或c型usb(usb type c)接口。usb接口130可以用于连接充电器为装置100充电,也可以用于装置100与外围设备之间传输数据,还可以用于连接耳机以通过耳机播放
音频。usb接口130还可以用于连接其他装置,例如ar设备。
68.充电管理模块140用于从充电器接收电力。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过usb接口130接收有线充电器的电流。在一些无线充电的实施例中,充电管理模块140可以通过装置100的无线充电线圈接收电磁波(电流路径如虚线所示)。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为装置100供电。
69.电源管理模块141用于连接电池142、充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110、内部存储器121、显示屏194、摄像模组193和无线通信模块160供电。电源管理模块141还可以用于监测电池容量、电池循环次数和电池健康状态(例如,漏电、阻抗)等参数。可选地,电源管理模块141可以设置于处理器110中,或者,电源管理模块141和充电管理模块140可以设置于同一个器件中。
70.装置100的无线通信功能可以通过天线1、天线2、移动通信模块150、无线通信模块160、调制解调处理器以及基带处理器等器件实现。
71.天线1和天线2用于发射和接收电磁波信号。装置100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
72.移动通信模块150可以提供应用在装置100上的无线通信的解决方案,例如下列方案中的至少一个:第二代(2
th generation,2g)移动通信解决方案、第三代(3
th generation,3g)移动通信解决方案、第四代(4
th generation,5g)移动通信解决方案、第五代(5
th generation,5g)移动通信解决方案。移动通信模块150可以包括至少一个滤波器、开关、功率放大器和低噪声放大器(low noise amplifier,lna)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波和放大等处理,随后传送至调制解调处理器进行解调。移动通信模块150还可以放大经调制解调处理器调制后的信号,放大后的该信号经天线1转变为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
73.调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(例如,扬声器170a和受话器170b)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
74.与移动通信模块150类似,无线通信模块160也可以提供应用在装置100上的无线通信解决方案,例如下列方案中的至少一个:无线局域网(wireless local area networks,wlan)、蓝牙(bluetooth,bt)、全球导航卫星系统(global navigation satellite system,gnss)、调频(frequency modulation,fm)、近场通信(near field communication,nfc)、红外(infrared,ir)。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以
及滤波处理,并将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频和放大,该信号经天线2转变为电磁波辐射出去。
75.在一些实施例中,装置100的天线1和移动通信模块150耦合,装置100的天线2和无线通信模块160耦合。
76.装置100可以通过gpu、显示屏194以及应用处理器实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
77.显示屏194可以用于显示图像或视频。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,lcd)、有机发光二极管(organic light-emitting diode,oled)、有源矩阵有机发光二极体(active-matrix organic light-emitting diode,amoled)、柔性发光二极管(flex light-emitting diode,fled)、迷你发光二极管(mini light-emitting diode,mini led)、微型发光二极管(micro light-emitting diode,micro led)、微型oled(micro oled)或量子点发光二极管(quantum dot light emitting diodes,qled)。在一些实施例中,装置100可以包括1个或n个显示屏194,n为大于1的正整数。
78.装置100可以通过摄像模组193、isp、dsp、视频编解码器、gpu、显示屏194以及应用处理器等实现拍摄功能。
79.摄像模组193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp加工处理。dsp将数字图像信号转换成标准的红绿蓝(red green blue,rgb),yuv等格式的图像信号。在一些实施例中,装置100可以包括1个或n个摄像模组193,n为大于1的正整数。
80.isp用于处理摄像模组193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给isp处理,转化为肉眼可见的图像。isp可以对图像的噪点、亮度和色彩进行算法优化,isp还可以优化拍摄场景的曝光和色温等参数。在一些实施例中,isp可以设置在摄像模组193中。
81.dsp用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当装置100在频点选择时,dsp用于对频点能量进行傅里叶变换等。
82.视频编解码器用于对数字视频压缩或解压缩。装置100可以支持一种或多种视频编解码器。这样,装置100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,mpeg)1、mpeg2、mpeg3和mpeg4。
83.npu是一种借鉴生物神经网络结构的处理器,例如借鉴人脑神经元之间传递模式对输入信息快速处理,还可以不断地自学习。通过npu可以实现装置100的智能认知等功能,例如:图像识别、人脸识别、语音识别和文本理解。
84.在一些实施例中,摄像模组193可以由彩色摄像模组和3d感测模组组成。
85.在一些实施例中,彩色摄像模组的摄像头的感光元件可以是ccd或cmos光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将
数字图像信号输出到dsp加工处理。dsp将数字图像信号转换成标准的rgb,yuv等格式的图像信号。
86.在一些实施例中,3d感测模组可以是飞行时间(time of flight,tof)3d感测模块或结构光(structured light)3d感测模块。其中,结构光3d感测是一种主动式深度感测技术,结构光3d感测模组的基本零组件可包括ir发射器、ir相机模等。结构光3d感测模组的工作原理是先对被拍摄物体发射特定图案的光斑(pattern),再接收该物体表面上的光斑图案编码(light coding),进而比对与原始投射光斑的异同,并利用三角原理计算出物体的三维坐标。该三维坐标中就包括装置100距离被拍摄物体的距离。其中,tof 3d感测可以是主动式深度感测技术,tof 3d感测模组的基本组件可包括ir发射器、ir相机模等。tof 3d感测模组的工作原理是通过红外线折返的时间去计算tof 3d感测模组跟被拍摄物体之间的距离(即深度),以得到3d景深图。
87.结构光3d感测模组还可应用于人脸识别、体感游戏机、工业用机器视觉检测等领域。tof 3d感测模组还可应用于游戏机、ar/vr等领域。
88.在另一些实施例中,摄像模组193还可以由两个或更多个摄像头构成。这两个或更多个摄像头可包括彩色摄像头,彩色摄像头可用于采集被拍摄物体的彩色图像数据。这两个或更多个摄像头可采用立体视觉(stereo vision)技术来采集被拍摄物体的深度数据。立体视觉技术是基于人眼视差的原理,在自然光源下,透过两个或两个以上的摄像头从不同的角度对同一物体拍摄影像,再进行三角测量法等运算来得到装置100与被拍摄物之间的距离信息,即深度信息。
89.在一些实施例中,装置100可以包括1个或多个摄像模组193。例如,装置100可以包括1个前置摄像模组193以及1个后置摄像模组193。其中,前置摄像模组193通常可用于采集面对显示屏194的拍摄者自己的彩色图像数据以及深度数据,后置摄像模组可用于采集拍摄者所面对的拍摄对象(如人物、风景等)的彩色图像数据以及深度数据。
90.在一些实施例中,处理器110中的cpu、gpu或npu可以对摄像模组193所采集的彩色图像数据和深度数据进行处理。在一些实施例中,npu可以通过骨骼点识别技术所基于的神经网络算法,例如卷积神经网络算法来识别摄像模组193所采集的彩色图像数据,以确定被拍摄人物的骨骼点。cpu或gpu也可来运行神经网络算法以实现根据彩色图像数据确定被拍摄人物的骨骼点。在一些实施例中,cpu、gpu或npu还可用于根据摄像模组193(可以是3d感测模组)所采集的深度数据和已识别出的骨骼点来确认被拍摄人物的身材(如身体比例、骨骼点之间的身体部位的胖瘦情况),并可以进一步确定针对该被拍摄人物的身体美化参数,最终根据该身体美化参数对被拍摄人物的拍摄图像进行处理,以使得该拍摄图像中该被拍摄人物的体型被美化。
91.外部存储器接口120可以用于连接外部存储卡,例如安全数码(secure digital,sd)卡,实现扩展装置100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐和视频等文件保存在外部存储卡中。
92.内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能(例如,声音播放功能和图像播放功能)所需的应用程序。存储数据区可存储装置100使用过程中所创建的数据(例如,音频数据和电话本)。此外,内部存储器121可以
包括高速随机存取存储器,还可以包括非易失性存储器,例如:至少一个磁盘存储器件、闪存器件和通用闪存存储器(universal flash storage,ufs)等。处理器110通过运行存储在内部存储器121的指令和/或存储在设置于处理器中的存储器的指令,执行装置100的各种处理方法。
93.装置100可以通过音频模块170、扬声器170a、受话器170b、麦克风170c、耳机接口170d以及应用处理器等实现音频功能,例如,音乐播放和录音。
94.音频模块170用于将数字音频信息转换成模拟音频信号输出,也可以用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170或者音频模块170的部分功能模块可以设置于处理器110中。
95.扬声器170a,也称为喇叭,用于将音频电信号转换为声音信号。装置100可以通过扬声器170a收听音乐或免提通话。
96.受话器170b,也称为听筒,用于将音频电信号转换成声音信号。当用户使用装置100接听电话或语音信息时,可以通过将受话器170b靠近耳朵接听语音。
97.麦克风170c,也称为话筒或传声器,用于将声音信号转换为电信号。当用户拨打电话或发送语音信息时,可以通过靠近麦克风170c发声将声音信号输入麦克风170c。装置100可以设置至少一个麦克风170c。在另一些实施例中,装置100可以设置两个麦克风170c,以实现降噪功能。在另一些实施例中,装置100还可以设置三个、四个或更多麦克风170c,以实现声音信号采集、降噪、识别声音来源和定向录音等功能。
98.耳机接口170d用于连接有线耳机。耳机接口170d可以是usb接口130,也可以是3.5mm的开放移动装置100平台(open mobile terminal platform,omtp)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the usa,ctia)标准接口。
99.指纹传感器180h用于采集指纹。装置100可以利用采集的指纹特性实现解锁、访问应用锁等功能。
100.触摸传感器180k,也称为触控器件。触摸传感器180k可以设置于显示屏194,由触摸传感器180k与显示屏194组成触摸屏,触摸屏也称为触控屏。触摸传感器180k用于检测作用于其上或其附近的触摸操作。触摸传感器180k可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180k也可以设置于装置100的表面,并且与显示屏194设置于不同的位置。
101.按键190包括开机键和音量键。按键190可以是机械按键,也可以是触摸式按键。装置100可以接收按键输入信号,实现与按键输入信号相关的功能。
102.马达191可以产生振动。马达191可以用于来电提示,也可以用于触摸反馈。马达191可以对作用于不同应用程序的触摸操作产生不同的振动反馈效果。对于作用于显示屏194的不同区域的触摸操作,马达191也可产生不同的振动反馈效果。不同的应用场景(例如,时间提醒、接收信息、闹钟和游戏)可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
103.指示器192可以是指示灯,可以用于指示充电状态和电量变化,也可以用于指示消息、未接来电和通知。
104.sim卡接口195用于连接sim卡。sim卡可以插入sim卡接口195实现与装置100的接触,也可以从sim卡接口195拔出实现与装置100的分离。装置100可以支持1个或n个sim卡接口,n为大于1的正整数。同一个sim卡接口195可以同时插入多张卡,所述多张卡的类型可以相同,也可以不同。sim卡接口195也可以兼容外部存储卡。装置100通过sim卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,装置100采用嵌入式sim(embedded-sim,esim)卡,esim卡可以嵌在装置100中,不能和装置100分离。
105.上文详细描述了装置100的硬件系统,下面介绍装置100的软件系统。软件系统可以采用分层架构、事件驱动架构、微核架构、微服务架构或云架构,本技术实施例以分层架构为例,示例性地描述装置100的软件系统。
106.图3是主设备的软件系统的示意图,采用分层架构的软件系统分成若干个层,每一层都有清晰的角色和分工,层与层之间通过软件接口通信。在一些实施例中,软件系统可以分为三层,从上至下分别为业务层、能力层和驱动层。
107.应用程序层可以包括一系列应用程序包。应用程序包可以包括ui实现、设置管理、状态管理、主服务、测距管理、发现连接管理、规则管理、键鼠管理和拖拽管理。各个应用程序包的主要功能如下。
108.ui实现:主要实现相关ui的逻辑。
109.设置管理:进行设置能力的显示及逻辑管理。
110.状态管理:管理设备信息表、连接配置表以及光标穿越过程中的状态变化。
111.主服务:业务自启动的主服务。
112.发现连接管理:通信连接的业务调度以及发现通信连接能力调用。
113.规则管理:根据设备信息表以及连接配置表对通信连接以及方向变化进行可行性判断并返回结果。
114.键鼠管理:键鼠虚拟化能力调度、触发和关闭等。
115.拖拽管理:提供拖入拖出能力。
116.测距管理:协同设备(主设备与从设备)之间的距离测算,还可以进行方向相关业务逻辑实现并调用方向识别能力,包括方向变化监听、围栏设定等。
117.能力层为应用程序层的应用程序提供应用程序编程接口(application programming interface,api)等功能。能力层可以包含以下模块。
118.方向识别能力:提供围栏能力、动态变化回调等功能。
119.键鼠虚拟化能力:提供键鼠虚拟化能力,包括键鼠消息获取、键鼠消息传输等。
120.设备管理中间件:提供协同设备间数据共享能力,包括协同设备间的服务能力开关。
121.magic link:提供协同设备间连接通道以及数据传输等能力。
122.pc管家框架:提供pc关键基础能力,包括进程间通信、多屏显示能力和拖拽能力(光标穿越时拖拽文件的能力)等。
123.账号系统:提供账号管理的功能。
124.信任环:提供安全功能。
125.基础能力:提供套接字(socket)、输入管理(input manager)和传输控制协议(transmission control protocol,tcp)/因特网协议(internet protocol,ip)等功能。
126.驱动层是硬件和软件之间的层。驱动层例如包含蓝牙驱动、wifi驱动、用户交互设备(human interface device,hid)驱动和显示驱动。其中,hid驱动可以是鼠标驱动或触摸板驱动,用于建立鼠标或触摸板与软件系统间的通信桥梁。
127.图4是从设备的软件系统的示意图,采用分层架构的软件系统分成若干个层,每一层都有清晰的角色和分工,层与层之间通过软件接口通信。在一些实施例中,软件系统可以分为三层,从上至下分别为业务层、能力层和驱动层。
128.应用程序层可以包括一系列应用程序包。应用程序包可以包括ui实现、设置管理、状态管理、主服务、测距管理、连接管理、键鼠管理和拖拽管理。各个应用程序包的主要功能如下。
129.ui实现:主要实现相关ui的逻辑。
130.设置管理:进行设置能力的显示及逻辑管理。
131.状态管理:管理光标穿越过程中的状态变化。
132.主服务:键鼠业务开启时的主服务。
133.连接管理:键鼠业务中通信连接能力调度以及数据通信。
134.键鼠管理:键鼠业务中键鼠虚拟化能力调度。
135.拖拽管理:拖入拖出能力实现。
136.测距管理:协同设备(主设备与从设备)之间的距离测算。
137.能力层为应用程序层的应用程序提供api等功能。能力层可以包含以下模块。
138.方向识别能力:提供方向识别功能。
139.键鼠虚拟化能力:提供键鼠虚拟化能力。
140.设备管理中间件:提供协同设备间数据共享能力。
141.magic link:提供协同设备间连接通道以及数据传输等能力。
142.服务框架:管理服务能力的开关和注册。
143.账号系统:提供账号管理的功能。
144.信任环:提供安全功能。
145.基础能力:提供套接字(socket)、多屏框架、拖拽框架、tcp/ip、输入管理(input manager)等功能。其中,拖拽框架用于提供光标穿越时的拖拽能力,输入管理用于提供从设备的键鼠事件上报功能。
146.驱动层是硬件和软件之间的层。驱动层例如包含蓝牙驱动、wifi驱动、用户输入驱动(uinputdriver)和显示驱动。其中,uinputdriver为输入事件驱动,需要进行注入。
147.可以理解的是,图2至图4所示的硬件结构和软件架构仅仅是对装置100的示例性介绍,不构成对装置100在硬件和软件上的限制,装置100还可以具有其他类型的硬件结构和软件架构。
148.下面介绍本技术提供的光标穿越的方法实施例。如图5所示,该方法应用于包括主设备和至少两个从设备的系统(如图1所示的系统),该方法包括以下内容。
149.s510,主设备确定系统中各个设备之间的相对位置。
150.主设备是从输入设备接收光标的位移数据的设备,从设备是从主设备接收光标的位移数据的设备。输入设备可以是鼠标,也可以是触摸板,还可以是vr设备。其中,当输入设备为鼠标或vr设备时,鼠标或vr设备可以通过无线连接(如蓝牙连接或wifi连接)向主设备
发送位移数据,也可以通过有线连接(如usb连接)向主设备发送位移数据。当输入设备为触摸板时,触摸板可以集成在主设备上,通过主设备的设备总线向主设备的处理器发送位移数据;触摸板也可以是一个独立设备,通过无线连接或有线连接向主设备发送位移数据。本技术对光标对应的输入设备的具体形式不做限定。
151.主设备可以通过蓝牙连接、wifi连接或uwb连接确定系统中各个设备之间的相对位置,确定相对位置的目的为光标穿越做准备,下文会详细介绍主设备确定系统中各个设备之间的相对位置的方法。
152.s520,所述主设备确定光标的当前位置。
153.当光标位于主设备时,主设备可以根据光标的先前位置和位移数据确定光标的当前位置,例如,鼠标在时刻a和时刻b先后向主设备发送两个位移数据,主设备在时刻a根据时刻a的位移数据更新了光标的位置,在时刻b,主设备可以根据光标在时刻a的位置和时刻b接收到的位移数据确定光标在时刻b的位置(即,当前位置)。
154.当光标位于从设备时,从设备可以从主设备获取位移数据,确定光标的当前位置后将光标的当前位置发送给主设备,使得主设备确定当前时刻光标在从设备上的位置。
155.s530,当所述当前位置位于第一从设备的屏幕边缘区域时,所述主设备根据所述系统中各个设备的相对位置确定所述第一从设备的光标移动方向是否存在第二从设备,所述第一从设备为所述至少两个从设备中的任意一个从设备,所述第二从设备为所述至少两个从设备中与所述第一从设备相邻的从设备。
156.光标位于第一从设备的屏幕边缘区域时,光标穿越的可能性较大,主设备可以确定光标的移动方向是否存在第二从设备,以便于切换光标的显示设备。若不存在第二从设备,说明光标穿越的条件不存在,主设备无需执行光标穿越的准备步骤,后续若接收到光标的位移数据,继续将光标的位移数据传递至第一从设备即可。若存在第二从设备,说明光标穿越的条件存在,主设备可以执行光标穿越的准备步骤(如s540),若光标继续沿着先前的移动方向移动,主设备将目标设备从第一从设备切换至第二从设备,向第二从设备发送光标的位移数据,不再向第一从设备发送光标的位移数据。
157.屏幕的边缘区域可以是预设的一块区域,例如,距离屏幕的边界的距离小于或等于预设长度的区域。
158.图6是屏幕边缘区域的一个示意图。光标从第一从设备的中心位置开始向右移动,主设备接收鼠标发送的位移数据,并将位移数据发送至第一从设备;第一从设备根据位移数据确定光标的当前位置。当光标进入屏幕右侧边缘区域(虚线框外侧的区域)时,第一从设备将光标进入屏幕右侧边缘区域的事件通知主设备,同时第一从设备还将光标的移动方向通知给主设备。主设备获取这两个信息后,确定第一从设备的右侧是否存在相邻的从设备(即,第二从设备),随后可以执行下列步骤。
159.s540,当所述光标移动方向存在所述第二从设备时,并且,当所述光标到达所述第一从设备的边界时,所述主设备向所述第二从设备发送第一穿越消息,所述第一穿越消息包括所述光标从所述第一从设备穿越至所述第二从设备后的初始位置的位置信息。
160.光标穿越的一个示例如图7所示。主设备确定光标进入第一从设备的屏幕右侧边缘区域后,主设备根据光标的移动轨迹预测光标将到达第一从设备的屏幕右侧边界的中间处,则主设备可以确定光标穿越至第二从设备后的初始位置为第二从设备的屏幕左侧边界
的中间处,主设备可以根据提前获取的第二从设备的屏幕尺寸设置初始位置,待光标移动至第一从设备的屏幕右侧边界后将该初始位置的位置信息(如坐标值)发送给第二从设备,第二从设备收到位置信息后,根据位置信息在屏幕左侧边界的中间处显示光标,从而完成了光标穿越。
161.光标穿越的另一个示例如图8所示。主设备确定光标进入第一从设备的屏幕上侧边缘区域后,主设备确定光标的移动方向(第一从设备上侧)是否存在相邻的从设备,当光标的移动方向存在第三从设备时,主设备根据光标的移动轨迹预测光标的穿越位置(如,第一从设备的屏幕上侧边界的中间处),随后,主设备可以确定光标穿越至第三从设备后的初始位置为第三从设备的屏幕下侧边界的中间处,主设备可以根据提前获取的第三设备的屏幕尺寸设置初始位置,待光标移动至第一从设备的屏幕上侧边界后将该初始位置的位置信息(如坐标值)发送给第三从设备,第三从设备收到位置信息后,根据位置信息在屏幕下侧边界的中间处显示光标,从而完成了光标穿越。
162.由此可见,本技术实施例可以使光标在三设备以及更多设备之间穿越。此外,光标的移动具有连续性,当用户将光标移动至第一从设备的屏幕的右侧边缘区域时,用户通常希望光标穿越至第一从设备右侧相邻的从设备,本技术实施例基于光标移动方向确定第二从设备,能够在第一从设备周围存在多个从设备的情况下满足用户的光标显示需求。
163.可选地,主设备向第二从设备发送第一穿越消息之前,图5所示的方法还包括:
164.主设备获取第一从设备的屏幕尺寸和第二从设备的屏幕尺寸,第一从设备的屏幕尺寸包括第一边长,第二从设备的屏幕尺寸包括第二边长,第一边长和第二边长分别为第一从设备和第二从设备的相邻边的边长;主设备根据第一边长和第二边长确定所述初始位置,初始位置为光标在第一从设备的穿越位置的坐标与第一比值的乘积,第一比值为第一边长和第二边长的比值。
165.获取第一从设备的屏幕尺寸和第二从设备的屏幕尺寸后,主设备可以根据第一从设备和第二从设备的位置关系确定第一边长和第二边长。例如,主设备经过测距和方向识别确定第一从设备和第二从设备的位置关系如图7所示,则主设备可以确定第一边长为第一从设备的宽,第二边长为第二从设备的宽。
166.确定第一边长和第二边长后,主设备即可根据光标的穿越位置确定光标穿越后的初始位置,可选地,主设备可以根据下列公式确定光标穿越后的初始位置:
167.初始位置=穿越位置*(第二边长/第一边长)。
168.如图9所示,第一从设备的第一边长为30cm,第二从设备的第二边长为20cm,则第一比值=第二边长/第一边长=2/3。若光标在第一从设备上的穿越位置的坐标为(4,3),则光标穿越至第二从设备上的初始位置的横坐标为0,纵坐标为3*(2/3)=2。
169.如图10所示,第一从设备的第一边长为30cm,第二从设备的第二边长也是30cm,则第一比值=第二边长/第一边长=1。若光标在第一从设备上的穿越位置的坐标为(4,3),则光标穿越至第二从设备上的初始位置的横坐标为0,纵坐标为3*1=3。
170.由图9和图10可知,第一比值反映了第一从设备和第二从设备的屏幕尺寸的差异。第一从设备和第二从设备的屏幕尺寸的差异越大,第一比值越大,光标在第二从设备上的初始位置与光标在第一从设备上的穿越位置的差异越大;第一从设备和第二从设备的屏幕尺寸的差异越小,第一比值越小,光标在第二从设备上的初始位置与光标在第一从设备上
的穿越位置的差异越小。因此,本实施例能够使光标穿越前后的位置变化与第一从设备和第二从设备的屏幕尺寸的比例匹配,进而使得光标的穿越更加连贯顺畅。
171.可选地,主设备可以从第一连接请求的响应消息中获取第一从设备的屏幕尺寸,第一连接请求为主设备向第一从设备发送的连接请求。主设备可以从第二连接请求的响应消息中获取第二从设备的屏幕尺寸,第二连接请求为主设备向第二从设备发送的连接请求。
172.主设备利用建立连接过程中的消息获取从设备的屏幕分辨率,无需专门请求获取从设备的屏幕分辨率,能够减小信令开销。
173.在一些情况中,主设备和从设备的屏幕分辨率不同,导致光标在主设备和从设备上的移动速率不同,从而造成用户体验下降。为此,从设备可以将自己的屏幕分辨率发送给主设备,主设备基于从设备的屏幕分辨率对位移数据做处理后再将处理后的位移数据发送给从设备,这样可以使各个从设备的光标移动速率与主设备的光标移动速率相同,即,使得各个从设备的鼠标灵敏度与主设备的鼠标灵敏度相同。
174.图11是鼠标灵敏度转换方法的一个实施例。该方法包括以下内容。
175.s1101,主设备请求获取从设备的屏幕分辨率。
176.s1102,从设备将从设备的屏幕分辨率发送至主设备。
177.可选地,从设备也可以主动将屏幕分辨率发送至主设备,例如,在主设备和从设备建立连接的过程中,从设备收到主设备发送的连接请求后,通过连接请求的响应消息将自身的屏幕分辨率发送给主设备,这样主设备无需专门请求获取从设备的屏幕分辨率,能够减小信令开销。
178.s1103,主设备根据从设备的屏幕分辨率计算从设备的灵敏度转换率。
179.主设备可以根据主设备的屏幕分辨率和第二从设备的屏幕分辨率确定第二从设备的光标灵敏度转换率,光标灵敏度转换率与第二比值正相关,第二比值为第二从设备的屏幕分辨率和主设备的屏幕分辨率的比值。
180.例如,主设备的屏幕分辨率为3000*2000,第二从设备的屏幕分辨率为2000*1000,则x轴的第二比值为2000/3000=2/3,y轴的第二比值为1000/2000=1/2,则x轴的灵敏度转换率可以是2/3,也可以是2/3的倍数,y轴的灵敏度转换率可以是1/2,也可以是1/2的倍数。
181.s1104,将第一光标位移数据乘以灵敏度转换率后生成第二光标位移数据。
182.主设备从输入设备接收光标的第一位移数据,随后,主设备根据第一位移数据和光标灵敏度转换率确定第二位移数据,第二位移数据等于第一位移数据与光标灵敏度转换率的乘积。
183.例如,第一位移数据为(3,2),该位移数据表示光标在主设备的屏幕的x轴方向移动3个单位,以及光标在主设备的屏幕的y轴方向移动2个单位,若x轴的灵敏度转换率是2/3,y轴的灵敏度转换率是1/2,则第二位移数据为(3*2/3,2*1/2),即,(2,1),表示光标在第二从设备的屏幕的x轴方向移动2个单位,以及光标在主设备的屏幕的y轴方向移动1个单位。
184.确定第二光标位移数据后,主设备可以执行下列步骤。
185.s1105,主设备向从设备发送第二光标位移数据。
186.光标灵敏度转换率反映了第二从设备的屏幕分辨率和主设备的屏幕分辨率的差
异。第二从设备的屏幕分辨率和主设备的屏幕分辨率的比值越大,光标灵敏度转换率越大,鼠标(或者其他输入设备)移动相同距离时,第二位移数据和第一位移数据的差异越大;第二从设备的屏幕分辨率和主设备的屏幕分辨率的比值越小,光标灵敏度转换率越小,鼠标(或者其他输入设备)移动相同距离时,第二位移数据和第一位移数据的差异越小。因此,本实施例能够使各个从设备的光标移动速率与主设备的光标移动速率相同,提高用户体验。
187.可选地,图5所示的方法还包括:
188.在光标穿越至第二从设备后,主设备确定不向第一从设备发送光标的位移数据。
189.光标穿越至第二从设备后,向第一从设备发送位移数据失去了意义,停止向第一从设备发送位移数据能够减小传输资源的开销。
190.可选地,图5所示的方法还包括:主设备向第二从设备发送光标的第四位移数据,第四位移数据用于第一从设备确定光标在第二从设备上的位置;当光标在第二从设备上的位置位于第二从设备的屏幕边缘区域时,所述主设备根据系统中各个设备的相对位置确定第二从设备的光标移动方向是否存在相邻的从设备;当第二从设备的光标移动方向存在第一从设备时,并且,当光标到达第二从设备的边界时,主设备向第一从设备发送第二穿越消息,第二穿越消息包括光标从所述第二从设备穿越至所述第一从设备后的初始位置的位置信息。
191.第一从设备能够基于第二穿越消息确定光标穿越后的初始位置,实现光标的回穿。
192.图12是本技术提供的一种光标回穿方法的示意图。
193.主设备确定光标进入第二从设备的屏幕左侧边缘区域后,主设备确定光标的移动方向(第二从设备左侧)是否存在相邻的从设备,当光标的移动方向存在相邻的从设备(即,第一从设备)时,主设备根据光标的移动轨迹预测光标的穿越位置(如,第二从设备的屏幕左侧边界的中间处),随后,主设备可以确定光标穿越至第一从设备后的初始位置为第一从设备的屏幕右侧边界的中间处,主设备可以根据提前获取的第一从设备的屏幕尺寸设置初始位置,待光标移动至第二从设备的屏幕左侧边界后将该初始位置的位置信息(如坐标值)发送给第一从设备,第一从设备收到位置信息后,根据位置信息在屏幕右侧边界的中间处显示光标,从而完成了光标回穿。
194.下面介绍主设备确定系统中各个设备之间的相对位置的方法。该方法包括以下内容。
195.主设备从第一从设备接收第一无线信号,第一无线信号包括第一从设备的标识;主设备确定第一无线信号的第一到达角和传输时延;主设备通过测距模型处理第一无线信号的传输时延,确定主设备与第一从设备之间的第一距离;主设备从第二从设备接收第二无线信号,第二无线信号包括第二从设备的标识;主设备确定第二无线信号的第二到达角和传输时延;主设备通过测距模型处理第二无线信号的传输时延,确定主设备与第二从设备之间的第二距离;所述主设备根据所述第一从设备的标识、所述第二从设备的标识、所述第一到达角、所述第二到达角、所述第一距离和所述第二距离确定所述主设备、所述第一从设备和所述第二从设备之间的相对位置。
196.通过第一从设备的标识和第二从设备的标识,主设备能够确定第一无线信号和第二无线信号对应的设备(即,第一从设备和第二从设备)。通过第一到达角和第二到达角,主
设备能够确定第一从设备和第二从设备相对于主设备的方向。通过第一距离和第二距离,主设备能够确定第一从设备和第二从设备相对于主设备的距离。确定第一从设备和第二从设备相对于主设备的方向和距离之后,主设备即可确定主设备、第一从设备和第二从设备之间的相对位置。
197.可选地,第一无线信号和第二无线信号为:蓝牙信号、wifi信号或uwb信号。
198.下面,分别结合图13~图15介绍这三种情况。
199.蓝牙作为使用最为广泛的短程无线通信技术之一,使用场景遍布智能终端设备,其稳定性、功耗、传输距离近年来有了巨大的提升,其作为智能终端搭载的设备,进行距离测算也有着天然的优势。图13是基于蓝牙信号确定系统中各个设备之间的相对位置的方法示例。该方法包括以下内容。
200.s1310,主设备与从设备建立蓝牙连接。
201.从设备可以是系统中多个从设备中的任意一个,如第一从设备、第二从设备或第三从设备。蓝牙连接建立后,主设备可以执行下列步骤。
202.s1320,主设备记录从设备的蓝牙地址信息、初始蓝牙信号强度和初始传输时延。
203.s1330,主设备读取从设备的当前蓝牙信号强度和当前传输时延。
204.s1340,主设备计算初始蓝牙信号强度与当前蓝牙信号强度的差值、初始传输时延与当前传输时延的差值。
205.s1350,主设备将蓝牙信号强度差值和传输时延差值输入拟合模型,确定主设备与从设备的距离。
206.信号强度可以用接收信号强度指示(received signal strength indicator,rssi)表征。主设备与从设备之间的距离越大,rssi越小;主设备与从设备之间的距离越小,rssi越大,因此,可以基于rssi确定主设备与从设备之间的距离。还可以基于蓝牙信号的其他特征确定主设备与从设备之间的距离,本技术对此不做限定。
207.wifi作为使用最为广泛的无线技术,已遍布日常生活工作,且作为智能终端天然搭载的设备,其在多设备协同中也起到至关重要的作用,因此以其作为测距模块无需增添新的设备模块,实现较为简单。图14是基于wifi信号确定系统中各个设备之间的相对位置的方法示例。该方法包括以下内容。
208.s1410,主设备与从设备建立wifi连接。
209.s1420,主设备确定从设备的wifi信号的时差基线。
210.s1430,主设备从从设备接收当前wifi信号,当前wifi信号包含发送时间。
211.s1440,主设备根据当前wifi信号的发送时间和接收时间确定时间差。
212.s1450,主设备将时差基线和时间差输入拟合模型,确定主设备与从设备的距离。
213.wifi信号的传输需要时间,主设备可以根据wifi信号携带的时间信息(指示wifi信号的发射时间)和接收wifi信号的时间确定wifi信号的传输时间(即,时间差),进而确定主设备与从设备之间的距离。主设备与从设备建立wifi连接后第一次确定的wifi信号的传输时间可以作为时差基线,随后,主设备与从设备之间的距离增大,则时间差增大;主设备与从设备之间的距离减小,则时间差减小,因此,可以基于时差基线和当前的时间差确定当前主设备与从设备之间的距离。还可以基于wifi信号的其他特征确定主设备与从设备之间的距离,本技术对此不做限定。
214.uwb技术又称脉冲无线电(impulse radio)技术,传输功耗仅为几十μw,频域带宽较宽,无线功率密度低,不会干扰其它无线设备,同时也加强了自身的抗干扰性。因此使用uwb技术测距,其准确性较高。图15是基于uwb信号确定系统中各个设备之间的相对位置的方法示例。该方法包括以下内容。
215.s1510,主设备与从设备建立uwb连接。
216.s1520,主设备确定从设备的uwb信号的时差基线。
217.s1530,主设备从从设备接收当前uwb信号,当前uwb信号包含发送时间。
218.s1540,主设备根据当前uwb信号的发送时间和接收时间确定时间差。
219.s1550,主设备将时差基线和时间差输入拟合模型,确定主设备与从设备的距离。
220.uwb信号的传输需要时间,主设备可以根据uwb信号携带的时间信息(指示uwb信号的发射时间)和接收uwb信号的时间确定uwb信号的传输时间(即,时间差),进而确定主设备与从设备之间的距离。主设备与从设备建立uwb连接后第一次确定的uwb信号的传输时间可以作为时差基线,随后,主设备与从设备之间的距离增大,则时间差增大;主设备与从设备之间的距离减小,则时间差减小,因此,可以基于时差基线和当前的时间差确定当前主设备与从设备之间的距离。还可以基于uwb信号的其他特征确定主设备与从设备之间的距离,本技术对此不做限定。
221.下面,再从模块交互的角度介绍本技术提供的光标穿越的方法实施例。
222.图16是光标穿越前的准备流程的示例。准备流程包括以下内容。
223.s1601,主设备的主服务向第一从设备发送第一连接请求。
224.以蓝牙连接为例,主服务可以通过蓝牙驱动向第一从设备发送第一连接请求,第一从设备的蓝牙驱动收到第一连接请求后,将第一连接请求转发至第一从设备的主服务。
225.s1602,主设备的主服务向测距管理发送测距指示。
226.主服务可以在向多个从设备发送连接请求后向测距管理发送测距指示,以便于测距管理做好测距准备。
227.s1603,第一从设备的主服务获取屏幕分辨率。
228.第一从设备收到第一连接请求后,确定主设备与第一从设备即将进行协同工作,协同工作包括光标穿越,第一从设备可以读取自身的屏幕分辨率发送给主设备,以便于光标穿越前后的灵敏度保持不变。
229.s1604,第一从设备的主服务指示输入管理开启注入服务。
230.s1605,第一从设备的输入管理开启注入服务,等待数据注入。
231.s1606,第一从设备的主服务向主设备的主服务发送第一连接响应。
232.第一连接响应是第一连接请求的响应消息,包含第一从设备的屏幕分辨率和设备标识符,其中,设备标识符用于唯一标识第一从设备,以便于主设备在收到多个响应消息时能够确定第一连接响应对应的从设备。
233.s1607,主设备的测距管理向第一从设备发送第一测距信号。
234.主设备的主服务收到第一连接响应后,确定第一从设备可以进行协同工作,则可以通知测距管理测量主设备与第一从设备的位置关系。
235.s1608,第一从设备的测距管理向主设备发送第一测距响应。
236.s1609,主设备的测距管理根据第一测距响应确定第一从设备的距离和相对位置。
237.第一测距响应是第一测距信号的响应信号。主设备和第一从设备可以通过图13~图15中的任意一种方法进行测距。
238.s1610,主设备的测距管理将第一从设备的距离和相对位置发送至主设备的主服务。
239.s1611,主设备的主服务向第二从设备发送第二连接请求。
240.第二连接请求与第一连接请求可以同时发送,也可以不同时发送,本技术对第一连接请求和第二连接请求的发送时序不做限定。
241.以蓝牙连接为例,主服务可以通过蓝牙驱动向第二从设备发送第二连接请求,第二从设备的蓝牙驱动收到第二连接请求后,将第二连接请求转发至第二从设备的主服务。
242.s1612,第二从设备的主服务获取屏幕分辨率。
243.第二从设备收到第二连接请求后,确定主设备与第二从设备即将进行协同工作,协同工作包括光标穿越,第二从设备可以读取自身的屏幕分辨率发送给主设备,以便于光标穿越前后的灵敏度保持不变。
244.s1613,第二从设备的主服务指示输入管理开启注入服务。
245.s1614,第二从设备的输入管理开启注入服务,等待数据注入。
246.s1615,第二从设备的主服务向主设备的主服务发送第一连接响应。
247.第二连接响应是第二连接请求的响应消息,包含第二从设备的屏幕分辨率和设备标识符,其中,设备标识符用于唯一标识第二从设备,以便于主设备在收到多个响应消息时能够确定第二连接响应对应的从设备。
248.s1616,主设备的测距管理向第二从设备发送第二测距信号。
249.主设备的主服务收到第二连接响应后,确定第二从设备可以进行协同工作,则可以通知测距管理测量主设备与第二从设备的位置关系。
250.s1617,第二从设备的测距管理向主设备发送第二测距响应。
251.s1618,主设备的测距管理根据第二测距响应确定第二从设备的距离和相对位置。
252.第二测距响应是第二测距信号的响应信号。主设备和第二从设备可以通过图13~图15中的任意一种方法进行测距。
253.s1619,主设备的测距管理将第二从设备的距离和相对位置发送至主设备的主服务。
254.若系统中还存在更多从设备,主设备可以等待全部从设备的测距完成之后再实施图17所示的光标穿越流程。
255.图17所示的光标穿越流程包括以下内容。
256.s1701,主设备的主服务确定目标设备。
257.主服务可以在光标位于主设备的屏幕边缘区域内时执行上述步骤。以图1为例,当光标位于主设备的右侧屏幕边缘区域时,目标设备为第一从设备。确定目标设备后,主服务可以指示输入管理计算光标穿越至目标设备的初始位置。
258.s1702,主设备的主服务指示主设备的输入管理计算初始位置。
259.主服务可以将目标设备的屏幕尺寸等信息发送给输入管理。主设备也可以将目标设备的设备标识符发送给输入管理,输入管理基于该设备标识符获取目标设备的屏幕尺寸等信息。获取目标设备的屏幕尺寸后,输入管理可以根据图9或图10所示的示例计算初始位
置。
260.s1703,主设备的输入管理向主设备的主服务发送初始位置信息。
261.初始位置信息可以是坐标值。当光标移动至主设备的右侧屏幕边界时,主设备的主服务可以执行下列步骤。
262.s1704,主设备的主服务向第一从设备发送穿越消息。
263.若主设备与第一从设备之间建立了蓝牙连接,主设备的主服务可以通过蓝牙驱动发送该穿越消息,该穿越消息包含初始位置信息,该初始位置信息指示光标穿越至第一从设备后的初始位置。
264.s1705,第一从设备的主服务向第一从设备的输入管理发送初始位置信息。
265.s1706,第一从设备的输入管理设置光标的初始位置。
266.例如,初始位置信息为坐标值,则第一从设备的输入管理根据该坐标值设置光标的初始位置。
267.s1707,主设备的输入管理向主设备的主服务发送位移数据。
268.该位移数据是光标穿越至第一从设备之后,主设备从鼠标接收到的数据。
269.s1708,主设备的主服务向第一从设备的主服务发送位移数据。
270.s1709,第一从设备的主服务向第一从设备的输入管理发送位移数据。
271.s1710,第一从设备的输入管理根据当前位移数据设置光标的当前位置。
272.用户控制鼠标持续移动,主设备持续向第一从设备发送位移数据。当光标移动至第一从设备的屏幕边缘区域时,第一从设备执行下列步骤。
273.s1711,第一从设备的输入管理向第一从设备的主服务发送通知消息。
274.s1712,第一从设备的主服务向主设备的主服务发送通知消息。
275.该通知消息用于通知主设备光标已经移动至第一从设备的屏幕边缘区域。
276.s1713,主设备根据该通知消息切换目标设备。
277.以图7为例,当光标位于第一从设备的右侧屏幕边缘区域时,目标设备为第二从设备。确定目标设备后,主服务可以指示输入管理计算光标穿越至目标设备的初始位置。输入管理可以根据图9或图10所示的示例计算初始位置。
278.s1714,主设备的主服务指示主设备的输入管理计算初始位置。
279.主服务可以将目标设备的屏幕尺寸等信息发送给输入管理。主设备也可以将目标设备的设备标识符发送给输入管理,输入管理基于该设备标识符获取目标设备的屏幕尺寸等信息。获取目标设备的屏幕尺寸后,输入管理可以根据图9或图10所示的示例计算初始位置。
280.s1715,主设备的输入管理向主设备的主服务发送初始位置信息。
281.初始位置信息可以是坐标值。当光标移动至第一从设备的右侧屏幕边界时,主设备的主服务可以执行下列步骤。
282.s1716,主设备的主服务向第二从设备发送穿越消息。
283.若主设备与第二从设备之间建立了蓝牙连接,主设备的主服务可以通过蓝牙驱动发送该穿越消息,该穿越消息包含初始位置信息,该初始位置信息指示光标穿越至第二从设备后的初始位置。
284.s1717,第二从设备的主服务向第二从设备的输入管理发送初始位置信息。
285.s1718,第二从设备的输入管理设置光标的初始位置。
286.例如,初始位置信息为坐标值,则第二从设备的输入管理根据该坐标值设置光标的初始位置。
287.s1710,主设备的输入管理向主设备的主服务发送位移数据。
288.该位移数据是光标穿越至第二从设备之后,主设备从鼠标接收到的数据。
289.s1720,主设备的主服务向第二从设备的主服务发送位移数据。
290.s1721,第二从设备的主服务向第二从设备的输入管理发送位移数据。
291.s1722,第二从设备的输入管理根据当前位移数据设置光标的当前位置。
292.用户控制鼠标持续移动,主设备持续向第二从设备发送位移数据。
293.下面介绍光标的回穿流程。如图18所示,回穿流程包括以下内容。
294.s1801,主设备的输入管理向主设备的主服务发送位移数据。
295.该位移数据是光标穿越至第二从设备之后,主设备从鼠标接收到的数据。
296.s1802,主设备的主服务向第二从设备的主服务发送位移数据。
297.s1803,第二从设备的主服务向第二从设备的输入管理发送位移数据。
298.s1804,第二从设备的输入管理根据当前位移数据设置光标的当前位置。
299.用户控制鼠标持续移动,主设备持续向第二从设备发送位移数据。当光标移动至第二从设备的屏幕边缘区域时,第二从设备执行下列步骤。
300.s1805,第二从设备的输入管理向第二从设备的主服务发送通知消息。
301.s1806,第二从设备的主服务向主设备的主服务发送通知消息。
302.该通知消息用于通知主设备光标已经移动至第二从设备的屏幕边缘区域。
303.s1807,主设备根据该通知消息切换目标设备。
304.以图12为例,当光标位于第二从设备的左侧屏幕边缘区域时,目标设备为第一从设备。确定目标设备后,主服务可以指示输入管理计算光标穿越至目标设备的初始位置。输入管理可以根据图9或图10所示的示例计算初始位置。
305.s1808,主设备的主服务指示主设备的输入管理计算初始位置。
306.主服务可以将目标设备的屏幕尺寸等信息发送给输入管理。主设备也可以将目标设备的设备标识符发送给输入管理,输入管理基于该设备标识符获取目标设备的屏幕尺寸等信息。获取目标设备的屏幕尺寸后,输入管理可以根据图9或图10所示的示例计算初始位置。
307.s1809,主设备的输入管理向主设备的主服务发送初始位置信息。
308.初始位置信息可以是坐标值。当光标移动至第二从设备的左侧屏幕边界时,主设备的主服务可以执行下列步骤。
309.s1810,主设备的主服务向第一从设备发送穿越消息。
310.若主设备与第一从设备之间建立了蓝牙连接,主设备的主服务可以通过蓝牙驱动发送该穿越消息,该穿越消息包含初始位置信息,该初始位置信息指示光标穿越至第一从设备后的初始位置。
311.s1811,第一从设备的主服务向第一从设备的输入管理发送初始位置信息。
312.s1812,第一从设备的输入管理设置光标的初始位置。
313.例如,初始位置信息为坐标值,则第一从设备的输入管理根据该坐标值设置光标
的初始位置。
314.s1813,主设备的输入管理向主设备的主服务发送位移数据。
315.该位移数据是光标从第二从设备穿越至第一从设备之后,主设备从鼠标接收到的数据。
316.s1814,主设备的主服务向第一从设备的主服务发送位移数据。
317.s1815,第一从设备的主服务向第一从设备的输入管理发送位移数据。
318.s1816,第一从设备的输入管理根据当前位移数据设置光标的当前位置。
319.用户控制鼠标持续移动,主设备持续向第一从设备发送位移数据。
320.本技术还提供了一种计算机程序产品,该计算机程序产品被处理器执行时实现本技术中任一方法实施例所述的方法。
321.该计算机程序产品可以存储在存储器中,经过预处理、编译、汇编和链接等处理过程最终被转换为能够被处理器执行的可执行目标文件。
322.该计算机程序产品也可以固化在芯片中的代码。本技术对计算机程序产品的具体形式不做限定。
323.本技术还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机执行时实现本技术中任一方法实施例所述的方法。该计算机程序可以是高级语言程序,也可以是可执行目标程序。
324.该计算机可读存储介质可以是易失性存储器或非易失性存储器,或者,可以同时包括易失性存储器和非易失性存储器。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。
325.本领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和设备的具体工作过程以及产生的技术效果,可以参考前述方法实施例中对应的过程和技术效果,在此不再赘述。
326.在本技术所提供的几个实施例中,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的方法实施例的一些特征可以忽略,或不执行。以上所描述的装置实施例仅仅是示意性的,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,多个单元或组件可以结合或者可以集成到另一个系统。另外,各单元之间的耦合或各个组件之间的耦合可以是直接耦合,也可以是间接耦合,上述耦合包括电的、机械的或其它形式的连接。
327.应理解,在本技术的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术的实施例的实施过
程构成任何限定。
328.另外,本文中术语“系统”和“网络”在本文中常被可互换使用。本文中的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
329.总之,以上所述仅为本技术技术方案的较佳实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表