法律状态公告日
法律状态信息
法律状态
2023-02-07
公开
发明专利申请公布
技术领域
本申请涉及投屏技术领域,尤其涉及一种投屏场景下的跨设备手写输入系统、方法、电子设备和计算机可读存储介质。
背景技术
随着科学技术和社会的不断发展,不同形态的电子设备之间的互联和协同也逐渐成为一种趋势。目前,通过投屏可以有效地利用不同形态的电子设备的能力。
在投屏场景下,源设备通过投屏连接将投屏数据传输至目标设备之后,目标设备可以基于投屏数据,在本端屏幕的投屏窗口上显示源设备的界面。投屏之后,用户可以在目标设备的投屏窗口内进行手写输入,以在目标设备上操作源设备。例如,手机和平板多屏协同的场景下,手机投屏至平板之后,用户在平板的投屏窗口内手写输入对应的文字,以在平板上回复手机的消息。
但是,现有投屏场景下,用户在投屏窗口内的手写输入操作的书写跟手性低,用户体验不好。
发明内容
本申请实施例提供一种投屏场景下的跨设备手写输入系统、方法、电子设备和计算机可读存储介质,可以提高投屏场景下跨设备手写输入的书写跟手性。
第一方面,本申请实施例提供一种投屏场景下的跨设备手写输入系统,包括源设备和目标设备。
其中,源设备用于向目标设备发送第一投屏数据。
目标设备用于接收来自源设备的第一投屏数据;在投屏窗口内显示第一投屏数据对应的界面;检测到针对投屏窗口的手写操作;响应于手写操作,绘制与手写操作对应的书写轨迹;显示书写轨迹。
由上可见,源设备投屏至目标设备之后,目标设备检测到针对投屏窗口的书写区域的手写操作时,不用将手写操作对应的触摸事件回传至源设备,再由源设备绘制手写操作对应的书写轨迹,而是在目标设备一侧绘制手写操作对应的书写轨迹,并显示该书写轨迹,使得目标设备的屏幕可以及时响应于手写操作,在本端屏幕上显示手写操作对应的轨迹,提高了跨设备手写输入的书写跟手性。
示例性地,针对投屏窗口的手写操作可以是指针对投屏窗口内的可输入区域(例如输入框)的手写操作;可以是指在投屏窗口内输入的手写操作;也可以是指在投屏窗口的书写区域输入的手写操作。其中投屏窗口的书写区域可以例如为书写画布,用户可以在书写画布上进行手写操作,以向投屏窗口输入相应的信息。
在第一方面的一些可能的实现方式中,目标设备还用于:对书写轨迹进行识别,得到书写轨迹识别结果;向源设备发送书写轨迹识别结果;
源设备还用于:接收来自目标设备的书写轨迹识别结果;响应于书写轨迹识别结果,生成第二投屏数据;向目标设备发送第二投屏数据;
目标设备还用于:接收来自源设备的第二投屏数据,第二投屏数据为源设备响应于书写轨迹识别结果所生成的界面的投屏数据;在投屏窗口内显示第二投屏数据对应的界面。
在该实现方式中,在目标设备一侧对书写轨迹进行识别,源设备只需要响应目标设备的书写轨迹识别结果,不用进行书写轨迹识别。这样,源设备一侧不用包括用于对书写轨迹识别的识别引擎,也能完成书写轨迹识别,实现手写输入业务,降低了产品成本。
在第一方面的一些可能的实现方式中,目标设备还用于:向源设备发送书写轨迹;
源设备还用于:对书写轨迹进行识别,得到书写轨迹识别结果;响应于书写轨迹识别结果,生成第三投屏数据;向目标设备发送第三投屏数据;
目标设备还用于:接收来自源设备的第三投屏数据,在投屏窗口内显示第三投屏数据对应的界面。
可以理解的是,第一投屏数据可以是投屏数据流。第二投屏数据和第三投屏数据可以是指书写轨迹识别结果对应的响应结果页面的投屏数据。
在第一方面的一些可能的实现方式中,目标设备包括书写区域;手写操作为在书写区域输入的操作。示例性地,该书写区域可以显示在目标设备的屏幕上。即用户可以在书写区域内进行手写操作,以输入针对投屏窗口的手写操作。
在第一方面的一些可能的实现方式中,目标设备包括触摸屏,目标设备还用于:检测到在触摸屏上的触摸操作;当触摸操作为预设触摸操作时,显示书写区域。该预设触摸操作用于触发目标设备显示书写区域,该预设触摸操作可以是长按、双击等操作,也可以是滑动轨迹为预设轨迹的触摸操作等。
在第一方面的一些可能的实现方式中,目标设备还用于:接收来自源设备的可输入区域信息,可输入区域信息用于描述第一投屏数据对应的界面内的可输入区域数量、可输入区域位置以及可输入区域大小。通过向目标设备同步界面的可输入区域信息,便于目标设备可以根据该颗输入区域信息,自动识别用户是否有书写意图,并在有书写意图的时候,自动显示书写区域,供用户输入书写操作。
此时,目标设备检测到在触摸屏上的触摸操作;响应于触摸操作,获得触摸操作对应的触摸事件;当触摸事件包括第一类型的触摸事件,且第一类型的触摸事件的触摸点坐标在预设目标区域内,则确定触摸事件是否包括第二类型的触摸事件;当触摸事件包括第二类型的触摸事件,确定触摸操作对应的触摸轨迹长度是否大于或等于预设长度阈值,预设目标区域包括第一投屏数据对应的界面内的可输入区域,且预设目标区域大于或等于可输入区域;当触摸轨迹长度大于或等于预设长度阈值,则确定触摸操作为预设触摸操作,显示书写区域。
在该实现方式中,通过源设备向目标设备同步的可输入区域信息,目标设备自动识别当前触摸操作是否有书写意图。在识别出有书写意图之后,自动显示书写区域。这样,用户可以不用通过繁琐的操作触发目标设备显示书写区域,跨设备的手写输入操作更加便捷,用户体验更佳。
示例性地,第一类型为action down事件,第二类型为action move事件。
示例性地,当书写区域为书写画布时,目标设备在拉起书写画布之后,用户可以在书写画布进行手写操作,以向投屏窗口内的可输入区域(例如输入框)输入信息。
该书写区域是投屏窗口对应的手写输入区域。投屏窗口内显示的投屏界面包括一个或多个可输入区域,在该书写区域内进行手写输入,即可向一个或多个可输入区域输入信息。
在第一方面的一些可能的实现方式中,书写区域包括投屏窗口,且大于或等于投屏窗口。或者,书写区域的部分区域位于所述投屏窗口内。或者,书写区域位于投屏窗口外。或者,书写区域为目标设备的整个屏幕区域。
在该实现方式中,书写区域大于投屏窗口,使得用户不仅可以在投屏窗口内书写,也可以在投屏窗口之外的屏幕区域书写,不局限于投屏窗口,从而扩大了书写区域,提高了跨设备手写输入的用户体验。
当书写区域为整体屏幕区域时,用户在触发目标设备显示书写区域之后,则可以在全屏进行书写,以输入针对投屏窗口的手写操作,用户的跨设备手写输入体验更佳。
第二方面,本申请实施例提供一种投屏场景下的跨设备手写输入方法,应用于目标设备,该方法包括:接收来自源设备的第一投屏数据;在投屏窗口内显示第一投屏数据对应的界面;检测到针对投屏窗口手写操作;响应于手写操作,绘制与手写操作对应的书写轨迹;显示书写轨迹。
可见,在目标设备一侧绘制手写操作对应的书写轨迹,并显示该书写轨迹,使得目标设备的屏幕可以及时响应于手写操作,在本端屏幕上显示手写操作对应的轨迹,提高了跨设备手写输入的书写跟手性。
在第二方面的一些可能的实现方式中,在绘制与手写操作对应的书写轨迹之后,该方法还包括:对书写轨迹进行识别,得到书写轨迹识别结果;向源设备发送书写轨迹识别结果;接收来自源设备的第二投屏数据,第二投屏数据为源设备响应于书写轨迹识别结果所生成的界面的投屏数据;在投屏窗口内显示第二投屏数据对应的界面。
在该实现方式中,源设备一侧不用包括用于对书写轨迹识别的识别引擎,也能完成书写轨迹识别,实现手写输入业务,降低了产品成本。
在第二方面的一些可能的实现方式中,在绘制与手写操作对应的书写轨迹之后,该方法还包括:向源设备发送书写轨迹;接收来自源设备的第三投屏数据,第三投屏数据为源设备对书写轨迹进行识别,得到书写轨迹识别结果之后,再响应于书写轨迹响应结果生成的界面的投屏数据;在投屏窗口内显示第三投屏数据对应的界面。
在第二方面的一些可能的实现方式中,目标设备包括书写区域;手写操作为在书写区域内输入的操作。
在第二方面的一些可能的实现方式中,目标设备包括触摸屏。在检测到在书写区域的手写操作之前,该方法还包括:检测到在触摸屏上的触摸操作;当触摸操作为预设触摸操作时,显示书写区域。
在第二方面的一些可能的实现方式中,该方法还包括:接收来自源设备的可输入区域信息,可输入区域信息用于描述第一投屏数据对应的界面内的可输入区域数量、可输入区域位置以及可输入区域大小。
当触摸操作为预设触摸操作时,显示书写区域,包括:
响应于触摸操作,获得触摸操作对应的触摸事件;当触摸事件包括第一类型的触摸事件,且第一类型的触摸事件的触摸点坐标在预设目标区域内,则确定触摸事件是否包括第二类型的触摸事件;当触摸事件包括第二类型的触摸事件,确定触摸操作对应的触摸轨迹长度是否大于或等于预设长度阈值,预设目标区域包括第一投屏数据对应的界面内的可输入区域,且预设目标区域大于或等于可输入区域;当触摸轨迹长度大于或等于预设长度阈值,确定该触摸操作为预设触摸操作,显示书写区域。
在该实现方式中,通过可输入区域信息,自动识别用户是否有书写意图,以确定是否自动显示书写区域,用户可以不用通过繁琐的操作触发目标设备显示书写区域,跨设备的手写输入操作更加便捷,用户体验更佳。
在第二方面的一些可能的实现方式中,预设触摸操作还可以为双击投屏窗口内的可输入区域,或者长按投屏窗口内的可输入区域,或者,在投屏窗口内的可输入区域附近输入预设轨迹的触摸操作。这样,用户可以通过简单的触摸操作即可触发目标设备显示书写区域,十分便捷,用户跨设备的手写输入体验更高。
在第二方面的一些可能的实现方式中,书写区域包括投屏窗口,且大于或等于投屏窗口。这样,扩大了书写区域,提高了跨设备手写输入的用户体验。
或者,书写区域的部分区域位于所述投屏窗口内;或者,书写区域位于投屏窗口外;或者,书写区域为目标设备的整个屏幕区域。当书写区域为整个屏幕区域时,用户可以全屏书写,用户体验更高。
在第二方面的一些可能的实现方式中,该方法还包括:检测针对书写区域的拖拽操作;响应于拖拽操作,改变书写区域的大小和/或位置。这样,用户可以根据需要,拖拽改变书写区域的大小和/或位置,提高了跨设备手写输入的用户体验。
第三方面,本申请实施例提供一种投屏场景下的跨设备手写输入方法,应用于源设备,该方法包括:向目标设备发送第一投屏数据;接收来自目标设备的书写轨迹识别结果或书写轨迹;根据书写轨迹识别结果或书写轨迹,生成目标投屏数据;向目标设备发送目标投屏数据。
在第三方面的一些可能的实现方式中,上述根据书写轨迹识别结果,生成目标投屏数据的过程可以包括:响应于书写轨迹识别结果,生成第二投屏数据,第二投屏数据为书写轨迹识别结果对应的界面的投屏数据,此时目标投屏数据为第二投屏数据。
在第三方面的一些可能的实现方式中,上述根据书写轨迹,生成目标投屏数据的过程可以包括:对书写轨迹进行识别,得到书写轨迹识别结果;响应于书写轨迹识别结果,生成第三投屏数据,第三投屏数据为书写轨迹识别结果对应的界面的投屏数据。此时目标投屏数据为第三投屏数据。
在第三方面的一些可能的实现方式中,该方法还包括:获取第一投屏数据对应的界面的可输入区域信息,可输入区域信息用于描述第一投屏数据对应的界面内的可输入区域数量、可输入区域位置以及可输入区域大小;向目标设备发送可输入区域信息。
在该实现方式中,源设备在界面变化时,将当前界面的可输入区域信息同步至目标设备,便于目标设备可以根据可输入区域信息,自动识别用户是否有书写意图,以确定是否自动显示书写区域,进一步地提高了跨设备手写输入的用户体验。
第四方面,本申请实施例提供一种电子设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述第二方面或第三方面任一项的方法。
第五方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上述第二方面或第三方面任一项的方法。
第六方面,本申请实施例提供一种芯片系统,该芯片系统包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现如上述第二方面或第三方面任一项所述的方法。该芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
第七方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第二方面或第三方面任一项所述的方法。
可以理解的是,上述第二方面至第七方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
图1为本申请实施例提供的电子设备100的硬件结构示意框图;
图2为本申请实施例提供的电子设备100的软件结构示意框图;
图3为本申请实施例提供的手机和平板的多屏协同示意图;
图4为本申请实施例提供的手机和平板协同的手写输入示意框图;
图5为本申请实施例提供的跨设备的手写输入方法的一种流程示意框图;
图6A~图6D为本申请实施例提供的手机和平板建立投屏连接的示意图;
图6E为本申请实施例提供的非镜像投屏的一种示意图;
图7A~图7E为本申请实施例提供的手写输入的一种示意图;
图8A~图8D为本申请实施例提供的手写输入的另一种示意图;
图8E为本申请实施例提供的手写输入的一种示意图;
图9A为本申请实施例提供的同步可输入区域信息的示意框图;
图9B为本申请实施例提供的可书写区域对比示意框图;
图9C为本申请实施例提供的书写意图识别示意图;
图9D为本申请实施例提供的另一种书写意图识别示意图;
图9E为本申请实施例提供的手写输入场景的一种示意图;
图9F为本申请实施例提供的手写输入场景的一种示意图;
图10为本申请实施例提供的跨设备手写输入方法的另一种流程示意框图;
图11A为本申请实施例提供的跨设备手写输入的一种场景示意图;
图11B为本申请实施例提供的手写输入示意框图;
图12A~图12C为本申请实施例提供的手写输入示意图;
图12D为本申请实施例提供的另一种手写输入示意图;
图13为本申请实施例提供的跨设备手写输入方法的另一种流程示意框图;
图14为本申请实施例提供一种手写输入方案的示意框图;
图15为本申请实施例提供的另一种手写输入方案的示意框图;
图16为本申请实施例提供的跨设备手写输入系统的示意框图;
图17为本申请实施例提供的跨设备手写输入方法的另一种流程示意图;
图18A~图18B为本申请实施例提供的笔记本电脑投屏至平板的场景示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。
下面对本申请实施例可能涉及的相关内容进行示例性介绍。
(1)电子设备。示例性地,参见图1示出的电子设备100的硬件结构示意图,电子设备100可以包括处理器101、存储器102、传感器模块103、通信模块104、天线以及显示屏105。其中,传感器模块103可以包括但不限于压力传感器106和触摸传感器107。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
例如,电子设备100还可以包括音频模块、扬声器以及充电管理模块等。或者,电子设备100可以不包括触摸传感器107或压力传感器106。
处理器101可以包括一个或多个处理单元,例如:处理器101可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器101中还可以设置存储器,用于存储指令和数据。
在一些实施例中,处理器101可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,通用异步收发传输器(universal asynchronousreceiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processorinterface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serialbus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器101可以包含多组I2C总线。处理器101可以通过不同的I2C总线接口分别耦合触摸传感器107等。例如:处理器101可以通过I2C接口耦合触摸传感器107,使处理器101与触摸传感器107通过I2C总线接口通信,实现电子设备100的触摸功能。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器101与通信模块104。例如,处理器101通过UART接口与通信模块104中的蓝牙模块通信,实现蓝牙功能;或者,处理器101通过UART接口与通信模块104中的Wi-Fi模块通信,实现Wi-Fi功能。
MIPI接口可以被用于连接处理器101与显示屏105等外围器件。MIPI接口包括显示屏串行接口(display serial interface,DSI)等。在一些实施例中,处理器101和显示屏105通过DSI接口通信,实现电子设备100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器101与显示屏105,通信模块104,以及触摸传感器107等。GPIO接口还可以被配置为I2C接口,UART接口,MIPI接口等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
电子设备100的无线通信功能可以通过天线,通信模块104,调制解调处理器以及基带处理器等实现。天线用于发射和接收电磁波信号。
通信模块104可以包括无线通信模块,无线通信模块可以提供应用在电子设备100上的包括无线局域网(wireless local area networks,WLAN)(如无线保真(wirelessfidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),近距离无线通信技术(near fieldcommunication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块经由天线接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器101。无线通信模块还可以从处理器101接收待发送的信号,对其进行调频,放大,经天线转为电磁波辐射出去。
电子设备100通过GPU,显示屏105,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏105和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器101可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏105用于显示图像,视频等。显示屏105包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏105,N为大于1的正整数。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现终端设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
存储器102可以包括内部存储器。内部存储器可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器101通过运行存储在内部存储器的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flashstorage,UFS)等。
压力传感器106用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器106可以设置于显示屏105。压力传感器106的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器106,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏105,电子设备100根据压力传感器106检测触摸操作强度。电子设备100也可以根据压力传感器106的检测信号计算触摸的位置。
触摸传感器107,也称“触控面板”。触摸传感器107可以设置于显示屏105,由触摸传感器107与显示屏105组成触摸屏,也称“触控屏”。触摸传感器107用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏105提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器107也可以设置于电子设备100的表面,与显示屏105所处的位置不同。
在介绍完电子设备100的硬件架构之后,下面示例性地对电子设备100的软件架构进行介绍。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
图2为本申请实施例的电子设备100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图2所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。这些数据可以包括视频,图像,音频等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime(安卓进行时)包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如,MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。2D图形引擎是2D绘图的绘图引擎。内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
下面结合投屏场景,示例性说明电子设备100软件以及硬件的工作流程。
投屏场景下,用户的手指或手写笔与电子设备100的显示屏105接触,设置于显示屏105的触摸传感器107接收触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成上层能够读取的触摸事件(例如,action down事件、action move事件和action up事件等)。其中,action down事件表示手指或手写笔与触摸屏初次接触,例如,用户使用手写笔在触摸屏上的某个区域落笔;action move事件表示手指或手写笔在触摸屏上滑动,例如,在落笔后,手写笔在触摸屏上滑动;action up事件表示手指或手写笔与触摸屏分离,例如,在手写笔落笔并滑动一段距离后,用户抬起手写笔,使得手写笔与触摸屏分离。
触摸事件被存储在内核层。应用程序框架层从内核层获取触摸事件,识别该高级触摸事件所对应的控件以及该触摸事件对应的触摸操作,例如,触摸操作包括单击、双击和滑动等。以该触摸操作是触摸单击操作,该单击操作所对应的控件为视频应用的投屏控件为例,视频应用调用应用框架层的接口,进而通过调用对应的回调函数,实现与该次触摸操作对应的应用功能。
(2)投屏场景。在示例性介绍完本申请实施例提供的电子设备100的硬件架构和软件架构之后,下面对本申请实施例涉及的投屏场景进行示例性介绍。
投屏场景涉及源设备和目标设备。其中,源设备是指将自身屏幕数据传递给其它设备的设备。目标设备是指接收其它设备的屏幕数据并在本端屏幕上显示的设备。
其中,源设备和目标设备均为电子设备,具体类型和具体结构在此不作限定。例如,源设备可以包括但不限于手机、平板、智能手表和智能手环等,目标设备可以包括但不限于智慧屏、笔记本电脑、平板电脑和手机等。
以投屏场景中的多屏协同为例,手机将自身屏幕数据传递给平板电脑,平板电脑基于来自手机的屏幕数据,在本端屏幕镜像显示手机的界面。此时,源设备为手机,目标设备为平板电脑。
其中,多屏协同是一种跨设备屏幕协同和资源共享的技术,常见的场景例如手机和PC协同、手机和平板协同等。通过将手机屏幕投射到PC或平板等设备的屏幕上,用户可以在PC或平板屏幕上同时操作两个协同设备。
示例性地,参见图3示出的手机和平板的多屏协同示意图,手机31将屏幕投屏至平板32,平板32上的投屏窗口321显示来自手机31的投屏数据。
在一些情况下,源设备投屏至目标设备之后,用户在目标设备的投屏窗口进行手写操作,以在目标设备上操作源设备。例如,用户在目标设备上的投屏窗口手写输入对应的文字,以回复源设备的即时通讯消息。
发明人在研究过程中发现,由于目标设备将手写操作对应的触摸事件传输至源设备,由源设备响应于手写操作对应的触摸事件,得到响应结果后,再将响应结果投屏至目标设备,使得目标设备无法及时地响应手写操作,在本端屏幕上显示出对应的书写轨迹,进而导致跨设备的书写跟手性低,用户体验不好。
其中,手写跟手性(或称书写跟手性)是指手写笔或手指等在手写输入装置(例如,触摸屏)上滑动的过程中,电子设备的屏幕绘制书写轨迹的响应及时程度。绘制书写轨迹的响应及时程度越高,跟手性越高,反之,绘制书写轨迹的响应及时程度越低,跟手性越低。
示例性地,参见图4示出的手机和平板协同的手写输入示意框图,手机41的界面包括输入框411;平板42的界面包括投屏窗口421和输入框422。投屏窗口421内可以镜像显示手机41的界面。
手机41投屏至平板42之后,用户通过手写笔43在投屏窗口421内的输入框422进行手写操作。平板42检测到手写操作之后,向手机41发送手写操作对应的触摸事件。手机41响应于手写操作对应的触摸事件,得到屏幕响应结果,并向平板42返回屏幕响应结果。平板42基于屏幕响应结果,在输入框422的对应区域显示手写操作对应的书写轨迹。
具体地,平板42响应于用户的手写操作,生成触摸事件,并向手机41发送该触摸事件。手机41接收到来自平板42的触摸事件之后,识别出触摸事件类型(例如,action down事件和action move事件等),并通过解析触摸事件,获得触摸事件对应的触摸点坐标和时间戳等信息;然后,根据一系列触摸事件的触摸点坐标、时间戳和触摸事件类型等,绘制出手写操作对应的书写轨迹,并在本端屏幕上显示书写轨迹。手机41在屏幕上显示书写轨迹后,将屏幕投屏至平板42,即手机41针对显示书写轨迹的界面,生成投屏数据,再向平板42发送投屏数据。平板42在接收到投屏数据之后,在投屏窗口421内显示投屏数据对应的界面,以在本端屏幕上显示手写操作对应的书写轨迹。
由上可见,目标设备检测到手写操作至本端屏幕显示书写轨迹之间至少需要经历以下步骤:目标设备的触摸事件上报,触摸事件的传递,源设备的触摸事件解析,源设备的触摸事件响应,以及源设备将响应结果投屏至目标设备。这样,目标设备检测到手写操作和在本端屏幕上显示书写轨迹之间的时间间隔较大,使得目标设备的屏幕无法及时响应于手写操作以绘制出书写轨迹,书写跟手性差。
也就是说,由于在源设备一侧绘制手写操作对应的书写轨迹,导致目标设备的屏幕无法及时响应于手写操作,以绘制书写轨迹,书写跟手性差。
进一步地,手机41在绘制出手写操作对应的书写轨迹之后,将书写轨迹输入本端的识别引擎,获得识别引擎输出的书写轨迹识别结果;再基于书写轨迹识别结果,在输入框411的对应区域显示书写轨迹识别结果对应的文字。手机41在本端屏幕上显示文字后,再将屏幕投屏至平板42,这样,平板42的屏幕也显示手写操作对应的文字。如图4所示,手机41响应于一系列的触摸事件,在输入框411内显示文字“人”,平板42也在输入框422的对应位置显示文字“人”。
为了提高投屏场景下的跨设备手写输入的跟手性,本申请实施例提供一种跨设备的手写输入方案,该方案在目标设备一侧绘制书写轨迹,相较于在源设备一侧绘制书写轨迹,前者至少节省了触摸事件的传递时间以及屏幕响应结果的传递时间,使得目标设备检测到手写操作和本端屏幕显示书写轨迹之间的时间间隔更小,书写跟手性更好。
也就是说,源设备投屏至目标设备之后,目标设备在检测到针对投屏窗口的手写操作,获得该手写操作对应的触摸事件后,响应于触摸事件,在本端绘制出手写操作对应的书写轨迹,并在本端屏幕上显示书写轨迹。这样,相较于在源设备一侧绘制手写操作对应的书写轨迹,本申请实施例的目标设备不用将触摸事件发送给源设备,源设备也不用将书写轨迹的屏幕响应结果发送给目标设备,至少节省了触摸事件的传递时间以及屏幕响应结果的传递时间。
下面结合附图,对本申请实施例提供跨设备手写输入方案进行介绍。
参见图5示出的跨设备的手写输入方法的一种流程示意框图,该方法可以包括以下步骤:
步骤S501、源设备和目标设备建立投屏连接。
上述投屏连接的类型可以是任意的,在此不作限定。例如,该投屏连接为Wi-Fi点对点连接,即源设备和目标设备之间通过Wi-Fi点对点连接传输投屏数据。又例如,该投屏连接为蓝牙连接。
投屏连接的建立方式有很多。具体应用中,可以是源设备向目标设备发起建立请求,以请求建立上述投屏连接;也可以是目标设备向源设备发起建立请求,以请求建立上述投屏连接。
例如,参见图6A~图6D示出的手机和平板建立投屏连接示意图,如图6A所示,手机61上的WLAN和蓝牙已打开;平板62上的蓝牙和WLAN也被打开,并且平板62上的多屏协同开关已打开。其中,平板62上的多屏协同开关开启后,平板62会弹出多屏协同窗口621。然后,用户可以让手机61逐渐靠近平板62,在靠近的过程,手机61可以通过蓝牙快速发现平板62,并弹出窗口611。窗口611上显示有发现的平板设备,提示信息“连接后,您可以在平板上操作本机”,以及选项“取消”和“连接”。
用户想要让手机61和平板62建立投屏连接,实现多屏协同功能,可以点击窗口611上的“连接”选项。手机61检测到针对“连接”选项的点击操作之后,响应于该点击操作,自动向平板62发送连接请求。
如图6B所示,手机61响应于针对窗口611上的“连接”选项的点击操作,显示窗口612。窗口612上显示有“正在连接…”的提示信息,以提示用户手机61正在连接平板62。
平板62接收到来自手机61的连接请求之后,弹出窗口622。窗口622上显示有提示信息“是否允许手机连接我?”,以及选项“拒绝”和“允许”。
如图6C所示,用户点击窗口622上的“允许”选项之后,平板62响应于该点击操作,在多屏协同窗口621上显示“正在连接…”的提示信息,以提示用户手机61和平板62正在建立连接。同时,手机61可以去除窗口612。
具体应用中,手机61和平板62之间可以基于蓝牙快速建立Wi-Fi点对点连接。例如,手机61和平板62通过蓝牙相互发现,并通过蓝牙交换Wi-Fi点对点连接的相关信息,然后手机61和平板62再基于交换的信息,建立Wi-Fi点对点连接。
如图6D所示,手机61和平板62建立Wi-Fi点对点连接之后,手机61通过Wi-Fi点对点连接向平板62发送投屏数据流。平板62接收到投屏数据流之后,在多屏协同窗口621上显示投屏数据流,以在多屏协同窗口内显示手机61的界面。在图6D中,手机61成功投屏至平板62之后,用户可以控制手机61进行黑屏状态。当然,手机61也可以不进入黑屏状态,此时可以和图3一样,即平板62上的多屏协同窗口621上镜像显示手机61的界面。
又例如,还以图6A~图6D的场景为例,平板62在开启多屏协同开关后,弹出多屏协同窗口621。多屏协同窗口621内显示一个二维码。用户可以使用手机61扫描多屏协同窗口621内的二维码,以建立手机61和平板62之间的投屏连接。
又例如,手机和笔记本电脑可以通过“一碰连”功能,建立投屏连接。
本申请实施例对投屏连接的建立方式和建立过程不再一一列举,对此也不作限定。
步骤S502、源设备通过投屏连接,向目标设备发送投屏数据流。
步骤S503、目标设备接收到来自源设备的投屏数据流之后,在投屏窗口内显示投屏数据流对应的界面。
在一些实施例中,投屏窗口内显示的内容和源设备界面显示的内容相同,即目标设备的投屏窗口镜像显示源设备的界面。例如,如图7A所示,平板72的多屏协同窗口721显示的内容和手机71的界面内容相同。
而在另一些实施例中,投屏窗口内显示的内容也可以和源设备界面显示的内容不相同,即投屏窗口界面和源设备的界面不是镜像的。
例如,参见图6E示出的非镜像投屏的一种示意图,如图6E所示,手机63与平板64建立投屏连接之后,手机63将即时通讯应用的界面投屏至平板上64的多屏协同窗口641上。然后,用户再使用手机63观看视频,即手机63的界面上正在显示视频界面631。此时投屏窗口内显示的内容和源设备界面显示的内容不一致。
步骤S504、目标设备检测到用户针对投屏窗口的手写操作。
需要说明的是,投屏窗口显示的界面内可能包括可输入区域,也可能不包括可输入区域。当投屏窗口显示的界面包括可输入区域时,针对投屏窗口的手写操作可以是指针对投屏窗口内的可输入区域的手写操作。例如,投屏窗口显示的界面包括一个输入框,手写操作是针对该输入框的手写输入操作,则认为是针对投屏窗口的手写操作。
在一些实施例中,用户可以先触发目标设备进入手写输入模式,然后再在手写模式下进行手写操作。进入手写模式后,目标设备会显示一个书写区域,用户可以在该书写区域内进行手写输入。例如,该手写区域具体为书写画布。
示例性地,参见图7A~7E示出的手写输入的一种示意图。如图7A所示,手机71投屏至平板72之后,平板72上的多屏协同窗口721镜像显示手机71的界面。用户通过手写笔73在平板72上操作手机71。
如图7A所示,多屏协同窗口721内显示的界面和手机71的界面为某个即时通讯应用程序的聊天界面,该聊天界面内包括输入框722。
用户想要在平板72上回复聊天消息,则使用手写笔73点击输入框722。平板72响应于针对输入框722的点击操作,生成对应的触摸事件,并将触摸事件传输至手机71。
如图7B所示,手机71接收来自平板72的触摸事件之后,响应于该触摸事件,显示界面711,并将界面711投屏至平板72,使得平板72的多屏协同窗口镜像显示手机71的界面。界面711包括虚拟键盘。
如图7B所示,用户使用手写笔73点击控件723。平板72响应于针对控件723的点击操作,生成触摸事件,并将触摸事件发送至手机71。手机71接收到来自平板72的触摸事件之后,则响应于该触摸事件,显示如图7C所示的界面712,并将界面712投屏至平板72。界面712上显示有输入方式和更多设置等控件。
如图7C所示,用户使用手写笔73点击控件724。平板72响应于针对控件724的点击操作,生成触摸事件,并将触摸事件发送至手机71。手机71接收到来自平板72的触摸事件之后,则响应于该触摸事件,显示如图7D所示的界面713,并将界面713投屏至平板72。界面713显示有拼音26键、手写和五笔等输入方式。
如图7D所示,用户想要使用手写输入方式,则使用手写笔73点击控件725。平板72响应于针对控件725的点击操作,生成触摸事件,并将触摸事件发送至手机71。手机71接收到来自平板72的触摸事件之后,则响应于该触摸事件,显示如图7E所示的界面714,并将界面714投屏至平板72。
手机71显示界面714后,则进入了手写模式。用户可以在多屏协同窗口721内的区域726进行手写操作。当然,用户也可以在区域727进行手写操作。如图7E所示,用户使用手写笔73在区域726进行手写操作,此时,用户想要手写输入的文字为“你”。平板72响应于手写操作,绘制手写操作对应的书写轨迹,并将书写轨迹显示在屏幕上。此时,书写区域为区域726。用户在区域726内输入的手写操作,可以看作是针对多屏协同窗口721的手写操作。该区域726为多屏协同窗口721对应的手写输入区域,即用户可以在区域726内进行手写输入,以向多屏协同窗口内721内的可输入区域输入信息。
在图7E中,平板72响应于用户在区域726上的手写操作,通过书写画布绘制手写操作对应的书写轨迹,并在区域726的相应位置显示书写轨迹。此时,由于是在平板72一侧渲染书写轨迹,当平板72的屏幕显示书写轨迹时,手机71的屏幕上不会同步显示相应的书写轨迹。
当然,在其它实施例中,平板72在绘制渲染得到手写操作对应的书写轨迹之后,也可以将书写轨迹发送至手机71,手机71在屏幕上显示接收到的书写轨迹。在另一些实施例中,目标设备先检测用户是否有书写意图,如果有书写意图,则获取用户的手写操作,并拉起书写画布,绘制手写操作对应的书写轨迹。
此时,源设备除了向目标设备发送投屏数据,还需要向目标设备同步可输入区域信息。可输入区域信息可以包括但不限于以下一种或任意组合:可输入区域数量、可输入区域位置以及可输入区域大小等。
源设备可以根据界面的布局文件,获得该界面的可输入区域信息。其中,界面的布局文件包括界面上各个控件的类型信息和坐标信息等。源设备可以根据控件的类型信息,识别该界面包含的可输入区域,并统计出可输入区域数量。其中,如果某个控件的类型为输入框,该控件则为可输入区域。源设备识别出可输入区域之后,可以根据控件坐标信息,确定出控件所处于的位置和所占区域,进而得到可输入区域位置和可输入区域大小。
目标设备接收到来自源设备的可输入区域信息之后,可以根据可输入区域信息,确定投屏窗口内的可输入区域的数量、每个可输入区域所处位置和每个可输入区域的大小。
例如,参见图8A~图8D示出的手写输入的另一种示意图,如图8A所示,手机81投屏至平板82,平板82上的多屏协同窗口821镜像显示手机81的界面811。此时,手机81的界面811上包括一个输入框812,即界面811包括一个可输入区域。手机81向平板82发送界面811的投屏数据之外,还发送界面811的可输入区域信息。
平板82接收来自手机81的可输入区域信息之后,则根据可输入区域信息,识别出多屏协同窗口内的输入框822为可输入区域,获得输入框822所处位置和所占区域大小。
需要说明的是,源设备在检测到界面变化时,则获取变化后的界面的可输入区域信息,并将变化后的界面的可输入区域信息,同步至目标设备。例如,以图8A为例,手机81在将界面811的可输入区域信息同步至平板82之后,在某个时刻检测到当前显示界面从界面811变化成另一个界面,则获取另一个界面的可输入区域信息,并将另一个界面的可输入区域信息同步至平板82。而当前显示界面即界面811的可输入区域信息之前已经同步至平板82。
示例性地,参见图9A示出的同步可输入区域信息的示意框图,如图9A所示,源设备911的界面包括输入框913和输入框914,目标设备912包括投屏窗口915和识别引擎916,投屏窗口915的界面包括输入框917和输入框918,输入框917和输入框913对应,输入框918和输入框914对应。源设备911除了将投屏数据发送给目标设备912之外,还将输入框913和输入框914的信息同步至目标设备912。输入框913和输入框914的信息包括但不限于所处位置和所占区域大小等。
目标设备基于源设备同步的可输入区域信息,可以识别用户是否有书写意图。首先,当用户的手指或手写笔等与触摸屏接触时,目标设备获取该触摸操作对应的触摸事件,并获得该触摸事件对应的触摸点坐标和触摸事件类型;如果该触摸事件的类型为actiondown事件,则进一步判断action down事件对应的触摸点是否位于预设目标区域内。
其中,该预设目标区域是基于可输入区域信息确定的。通常情况下,预设目标区域包含可输入区域,且所占区域面积比可输入区域大。例如,参见图8A,预设目标区域为虚线框823内的区域,其可包括输入框822。虚线框823可以大于多屏协同窗口821,即用户可以在多屏协同窗口821之外的屏幕区域书写。
当action down事件对应的触摸点位于预设目标区域,则进一步判断是否存在action move事件。即判断用户的手指或手写笔与触摸屏接触后,是否在触摸屏上滑动。反之,如果用户的触摸操作不包括action move事件,则判定手指或手写笔等没有在触摸屏上滑动,用户没有书写意图。
当触摸操作对应的触摸事件包括action move事件,进一步判断触摸操作对应的触摸轨迹长度是否大于或等于预设长度阈值。如果触摸轨迹长度大于或等于预设长度阈值,则确定用户有书写意图;如果触摸轨迹长度小于预设长度阈值,则确定用户没有书写意图。
也就是说,当手指或手写笔等在触摸屏上滑动时,进一步判断滑动轨迹的长度是否大于或等于预设长度阈值,如果是,则确定有书写意图,如果否,则确定没有书写意图。
其中,预设长度阈值可以根据需要设定。通常情况下,预设长度阈值的数值很小,即手指或手写笔等在触摸屏上滑动一段很小的距离,则认为用户有书写意图。
换句话说,目标设备在获取到用户的触摸操作之后,可以通过以下三个因素识别用户的触摸操作是否有书写意图:
触摸操作对应触摸事件是否包括action down事件和action move事件;
action down事件对应的触摸点坐标是否落入预设目标区域;
action move事件对应的轨迹长度是否大于或等于预设长度阈值;
其中,如果同时满足以下条件:存在action down事件,且action down事件的触摸点坐标落入预设目标区域;存在action move事件,且action move事件对应的轨迹长度大于或等于预设长度阈值。则认为用户的触摸操作有书写意图。
如果满足以下至少一个条件:action down事件的触摸点坐标没有落入预设目标区域,不存在action move事件,存在action move事件但action move事件对应的轨迹长度小于预设长度阈值,则认为用户的触摸操作没有书写意图。
例如,如图8B所示,用户使用手写笔83在多屏协同窗口821内进行触摸操作。假设手写笔83的落笔点为A点,并且手写笔83从A点开始滑动,依次经过B点和C点。
平板82检测到手写笔83在A点落笔时,响应于该触摸操作,获取到对应的触摸事件,并识别出该触摸事件为action down事件,确定A点在输入框822附近,即A点落入预设目标区域。
手写笔83以A点作为起点在触摸屏滑动的过程中,平板82识别出action move事件,并持续地判断滑动轨迹的长度是否大于或等于预设长度阈值。
假设手写笔83滑动到B点时,平板83根据A点和B点的坐标,计算出A点至B点的轨迹长度,并判断出此时的触摸轨迹长度大于或等于预设长度阈值,平板82则判定用户有书写意图。
平板82在识别用户有书写意图之后,可以拉起书写画布,通过书写画布绘制手写操作对应的书写轨迹。此时,书写区域具体为书写画布,用户可以在书写画布的范围进行手写输入操作。
相较而言,源设备通过将可输入区域信息同步给目标设备,让目标设备可以基于可输入区域信息自动识别用户是否有书写意图,并在识别用户有书写意图后,自动拉起书写画布,这样用户手写操作更便捷,用户体验更好。
需要说明的是,书写画布大小可以根据需要设定。在一些实施例中,为了充分利用大屏设备的优势,可以让书写画布尽可能地大,以扩大用户的可书写区域,提高用户体验。
例如,如图8C所示,平板82在手写笔83滑动到B点时,则识别出用户有书写意图,进而拉起书写画布824。书写画布824的范围大于多屏协同窗口821,这样用户不仅可以在多屏协同窗口821内书写,也可以在多屏协同窗口821之外的屏幕区域书写。
其中,书写画布可以是可见的,也可以是不可见的。一些情况下,为了让用户可以明确书写画布的范围,便于确定可书写区域,可以将书写画布设置为可见的。
如图9B示出的可书写区域对比示意框图,屏幕界面921和屏幕界面922分别采用不同手写输入方案的同一个目标设备的屏幕界面。其中,屏幕界面921是采用的区别于本申请实施例提供的手写输入方案的界面,屏幕界面922是采用本申请实施例提供的手写输入方案的界面。
屏幕界面921内包括投屏窗口923和可书写区域924,投屏窗口923内包括输入框925输入框926。
屏幕界面922内包括投屏窗口927和可书写区域928,投屏窗口927包括输入框929和输入框9210。
通过对比可知,可书写区域924位于投屏窗口内,即该手写输入方案的可书写区域限制于投屏窗口内。而可书写区域928的范围大于可书写区域924的范围,且可书写区域928的范围包括了投屏窗口之外的屏幕区域,使得可书写区域不限于投屏窗口内,扩大了可书写区域。
需要说明的是,用户除了可以在触摸屏上进行手写操作,也在其它手写输入装置上进行手写操作。例如,在笔记本电脑的触控板,或者平板外接键盘的触控板上,用户使用手指或手写笔进行手写操作。
值得指出的是,除了可以通过上文提及的三个因素识别用户是否有书写意图之外,还可以通过其它方式识别用户是否有书写意图。
在又一些实施例中,目标设备检测用户在可输入区域内的触摸操作,并判断该触摸操作是否为预设触摸操作;如果该触摸操作是预设触摸操作,则判定用户有书写意图,反之,如果该触摸操作不是预设触摸操作,则判定用户没有书写意图。
预设触摸操作是预先设置,其可以根据实际应用需要设定,在此不作限定。示例性地,预设触摸操作为长按或双击等。
例如,预设触摸操作为长按。参见图9C示出的书写意图识别示意图,手机93投屏至平板94之后,平板94上的多屏协同窗口941镜像显示手机93的界面。
用户使用手写笔95在多屏协同窗口941内的输入框942进行长按操作,平板94检测手写笔95和触摸屏的接触时长,并判断该接触时长是否大于或等于预设时间阈值。如果接触时长大于或等于预设时间阈值,则判定为长按操作;如果接触时长小于预设时间阈值,则判定不是长按操作。
此时,平板94在判定出当前的触摸操作为长按操作之后,则识别出用户有书写意图,并拉起书写画布943。用户可以在书写画布943内进行手写操作。
此时,书写画布943是可见的,并且,用户可以通过拖拽等操作,改变书写画布413的位置和大小。
当然,在其他实施例中,书写画布943可以是不可见的,且位置和大小是固定的。
在其他实施例中,上述预设触摸操作也可以是预设形状轨迹对应的触摸操作,即用户在可输入区域内或者可输入区域附近输入预设形状的轨迹,目标设备则判定当前触摸操作为预设触摸操作,识别出用户有书写意图。
例如,参见图9D示出的另一种书写意图识别示意图,用户使用手写笔65在输入框642附近落笔,并通过滑动操作书写一个预设形状的轨迹。此时,该预设形状的轨迹为“√”。
平板64实时响应用户触摸操作,绘制出触摸操作对应的轨迹,并判断绘制出的轨迹是否为预设形状的轨迹,如果是预设形状的轨迹,则判定用户触摸操作为预设触摸操作,用户有书写意图。反之,则判定当前用户触摸操作不是预设触摸操作,用户没有书写意图。
具体应用中,平板64可以根据绘制出的轨迹和预先存储的轨迹之间的相似度高低,判断用户触摸操作对应的轨迹是否为预设形状的轨迹。当相似度大于或等于一定阈值时,则判定用户触摸操作对应的轨迹是预设形状的轨迹,反之,则判定用户触摸操作对应的轨迹不是预设形状的轨迹。
此时,平板64判定出用户触摸操作对应的轨迹形状为“√”,则判定用户有书写意图,显示书写画布643。这样,用户即可在书写画布643对应的区域进行手写操作。
其中,图9D和图6E的相似之处可以参见上文相应内容,在此不再赘述。
由上可见,目标设备在识别出用户有书写意图或者进行手写模式之后,目标设备会拉起书写画布。书写画布可以是可见的,也可以是不可见的。并且,书写画布的显示位置和大小可以是任意的。
可以理解的是,识别出用户有书写意图后拉起画布可以看作是已进入手写模式。因此,触发目标设备进入手写模式的方式可以包括如图7A~图7D示出的方式、以及识别用户是否有书写意图的方式。
另外,目标设备在拉起书写画布之后,如果在预设时间段内没有检测到用户在书写画布内的触摸操作,可以自动关闭书写画布。或者,目标设备不自动关闭书写画布,而是由用户手动关闭。
当书写画布关闭之后,用户想要书写,需要再次触发目标设备进行手写模式,以拉起书写画布。
可以理解的是,目标设备在拉起书写画布之后,如果书写画布没有消失,后续的书写操作就不用在可输入区域附近落笔了,而是可以在书写画布内书写。
步骤S505、目标设备响应于手写操作,绘制与手写操作对应的书写轨迹。
步骤S506、目标设备显示书写轨迹。
目标设备获取手写操作对应的一系列触摸事件之后,根据触摸事件对应的触摸点坐标、每个触摸点的时间戳以及触摸事件类型等,绘制与手写操作对应的书写轨迹,并在屏幕上显示书写轨迹。
例如,参见图8D示出的轨迹绘制示意图,假设A点为落笔点,该点的触摸事件为action down事件,B点对应的触摸事件为action move事件。当手写笔83滑动到B点时,平板82确定A点和B点之间的轨迹长度大于或等于预设长度阈值,则识别出用户有书写意图,拉起书写画布824。并且,平板82通过书写画布824绘制并显示A点至B点之间的轨迹。具体地,基于每个触摸点的时间戳信息,按照时间的先后顺序,依次连接各个触摸点,以得到对应的书写轨迹。
手写笔83从B点继续向C点滑动的过程中,平板82实时地通过书写画布824绘制书写轨迹,并将绘制的书写轨迹显示在屏幕的对应位置。
假如C点对应的触摸事件是action move事件,则C点不是当次滑动操作的滑动轨迹的终点。假如C点对应的触摸事件是action up事件,则C点为当次滑动操作的终点,即C点为当次滑动操作的滑动轨迹的终点。此时,当平板82再次检测到action down事件时,则将该action down事件对应的触摸点作为另一段轨迹的起点。
需要说明的是,在一些实施例中,由于在目标设备一侧绘制手写操作对应的手写轨迹,故在目标设备显示书写轨迹的时候,源设备不会同步显示书写轨迹。如图8D所示,平板82显示A点和C点之间的轨迹时,手机81不会同步显示A点和C点之间的轨迹。
针对书写画布的一些说明:书写画布可以是可见的,也可以是不可见的。书写画布的位置和大小可以是任意的。
示例性地,参见图8E所示的手写输入的一种示意图,如图8E所示,基于图8D,平板82拉起书写画布824之后,用户即可通过手写笔83在书写画布824的范围内书写。此时,书写画布824的范围基本覆盖平板82的屏幕范围,并且书写画布824是不可见的。在触发平板82拉起书写画布824之后,用户可以使用手写笔83在平板82屏幕的任意一个位置进行书写操作。图8E中,用户使用手写笔83在区域825进行书写,以向多屏协同窗口821输入内容。
可以理解的是,在其他实施例中,书写画布824也可以是可见的。
由上可见,源设备投屏至目标设备之后,目标设备检测到针对投屏窗口的手写操作时,在目标设备一侧绘制手写操作对应的书写轨迹,并显示该书写轨迹,使得目标设备的屏幕可以及时响应于手写操作,在本端屏幕上显示手写操作对应的轨迹,提高了跨设备手写输入的书写跟手性。
如上文所述,投屏窗口显示的界面内可能包括可输入区域,也可能不包括可输入区域。下面对投屏窗口显示的界面不包括可输入区域的情况进行示例性说明。
例如,参见图9E示出的手写输入场景的一种示意图。在某个时刻,手机63将备忘录的界面投屏至平板64。此时,投屏窗口641中不包括可输入区域。
用户可以使用手写笔65在投屏窗口641显示的界面空白处进行书写操作,该手写操作可以认为是针对投屏窗口的手写操作。平板64响应于该手写操作,在本端绘制手写操作对应的书写轨迹,并显示该书写轨迹。
在其它实施例中,用户也可以先触发平板64拉起书写画布,然后再使用手写笔65在书写画布内进行书写操作。在书写画布上的手写操作可以看作是针对投屏窗口的手写操作。
触发平板64拉起书写画布的方式可以如上文提及的触发方式。
示例性地,参见图9F示出的手写输入场景的一种示意图,用户可以使用手写笔65在空白区域642执行触发操作,以触发平板64拉起书写画布643。触发操作可以是使用手写笔65在空白区域642进行长按或双击等预设触摸操作;可以是使用手写笔65在空白区域642上手写预设形状的轨迹。
当然,也可以是通过以下三个因素:触摸操作对应触摸事件是否包括action down事件和action move事件;action down事件对应的触摸点坐标是否落入预设目标区域;action move事件对应的轨迹长度是否大于或等于预设长度阈值,触发平板64拉起书写画布643。此时,手机63可以将空白区域642的位置、所占区域大小等信息同步至平板64。预设目标区域为空白区域642。
在其它实施例中,触发平板64拉起书写画布643的区域不限于空白区域642,也可以是投屏窗口642内的任意一个区域。
值得指出的是,源设备投屏至目标设备的页面不限于上文示出的即时通讯界面和备忘录界面等,还可以是画图软件的界面、新闻界面等,本申请实施例对此不作限定。当源设备将画图软件的界面投屏至目标设备时,用户可以使用手写笔在投屏窗口显示的界面上进行画图操作,此时,该画图操作可以看作是针对投屏窗口的手写操作。目标设备响应于用户在的画图操作,绘制渲染出画图操作对应的线条轨迹,并显示该线条轨迹。这样,也可以提升书写跟手性。
其中,目标设备在绘制出画图操作对应的线条轨迹之后,由于不需要对线条轨迹进行识别,故目标设备可以不用将该线条轨迹同步至源设备。当然,也可以将该线条轨迹同步至源设备。
在本申请实施例中,目标设备在绘制出手写操作对应的书写轨迹之后,可以在本端(即目标设备端)对书写轨迹进行识别,也可以将书写轨迹发送至源设备,由源设备对书写轨迹进行识别。下面将分别对这两种情况进行介绍。
情况一:在目标设备一侧进行书写轨迹识别。
参见图10示出的跨设备的手写输入方法的另一种流程示意框图,该方法可以包括以下步骤:
步骤S1001、源设备和目标设备建立投屏连接。
步骤S1002、源设备通过投屏连接,向目标设备发送投屏数据流。
步骤S1003、目标设备接收到来自源设备的投屏数据流之后,在投屏窗口内显示投屏数据流对应的界面。
步骤S1004、目标设备检测到用户针对投屏窗口的手写操作。
步骤S1005、目标设备响应于手写操作,绘制与手写操作对应的书写轨迹。
步骤S1006、目标设备显示书写轨迹。
其中,步骤S1001~步骤S1006与步骤S501~步骤S506类似,具体介绍请参见上文图5的相应内容,在此不再赘述。
步骤S1007、目标设备对书写轨迹进行识别,得到识别结果。
示例性地,目标设备通过书写画布绘制出手写操作对应的书写轨迹之后,书写画布可以将书写轨迹对应的触摸点信息传递至识别引擎。识别引擎书写轨迹对应的根据触摸点信息,对书写轨迹进行识别,得到识别结果。
识别结果可以包括书写文字和/或书写动作。其中,书写文字是指书写轨迹对应的备选文字,以及每个备选文字的可能性或者推荐值。书写动作包括动作类型(例如,删除、选择等),动作区域范围(例如,删除或选择文字范围的矩形区域等),以及动作相关的触摸点信息等。
例如,参见图11A示出的跨设备手写输入的一种场景示意图,手机113投屏至平板114之后,退出投屏界面,并显示视频播放界面1131。此时,手机113和平板114的投屏窗口1141是非镜像。
假设此时手机114是将文档编辑页面投屏至平板114,即投屏窗口1141内显示的文档编辑页面,用户可以在投屏窗口内进行文档编辑。用户使用手写笔115在投屏窗口1141进行手写操作,以输入对应的文字,平板114响应于手写操作,绘制渲染得到手写操作对应的书写轨迹,然后再使用本端的识别引擎对书写轨迹进行识别,得到书写轨迹识别结果;最后,将书写轨迹识别结果回传至手机113。手机113响应于书写轨迹识别结果,得到对应的投屏数据,并投屏数据发送至平板114。
用户使用手写笔115输入文字“我的理想”之后,想要删除“理想”两个字,故使用手写笔115在这个两个字的相应区域画两道横杠,平板114响应于该手写操作,绘制出两道横杠,并将两道横杠显示在屏幕的对应位置。平板114绘制出两道横杠的轨迹之后,使用本端的识别引擎对该轨迹进行识别,得到识别结果,此时,识别结果包括书写动作(即删除)和删除的文字范围等;再将该识别结果发送至手机113。手机113响应于该识别结果,将对应的投屏数据投屏至平板114。步骤S1008、目标设备向源设备发送识别结果。
步骤S1009、源设备响应于识别结果,显示响应结果页面。步骤S1010、源设备向目标设备发送响应结果页面的投屏数据。
步骤S1011、目标设备在投屏窗口内显示响应结果页面的投屏数据。
例如,参见图11B示出的手写输入示意框图,如图11B所示,源设备111包括输入框1111和输入框1112,目标设备112包括投屏窗口1121、书写画布1122和识别引擎1123,投屏窗口1121包括输入框1124和1125。
源设备11投屏至目标设备112之后,用户使用手写笔113在输入框1124附近落笔,并开始书写。目标设备112检测到用户书写操作,识别出用户有书写意图,则自动拉起书写画布1122;并且,根据书写操作对应的一系列触摸事件,绘制书写操作对应的书写轨迹,再在屏幕上显示书写轨迹。
目标设备112的识别引擎1123接收书写画布1122传递的书写轨迹之后,根据书写轨迹的触摸点信息,得到书写轨迹的识别结果;然后,将识别结果传递给源设备111,源设备111响应于识别结果,得到响应结果,并将响应结果的界面投屏至目标设备112。
进一步地,以手机和平板多屏协同场景为例。参见图12A~图12C示出的手写输入示意图,如图12A所示,手机121投屏至平板122,用户使用手写笔123在多屏协同窗口1221内的书写“你”。此时,多屏协同窗口1221镜像显示手机121的界面1211,界面1211上包括输入框1212,多屏协同窗口1221内镜像显示的页面包括相应的输入框1222。
如图12A所示,平板122在手写笔123在触摸屏滑动的过程中,识别出用户有书写意图,自动拉起书写画布,并通过书写画布绘制出手写操作对应的书写轨迹,将书写轨迹实时显示在屏幕上。
平板122通过识别引擎对书写轨迹进行识别,得到识别结果;再将识别结果发送至手机121。如图12B所示,手机121响应于该识别结果,显示界面1213。界面1213的输入框1212内显示有文字“你”,并在区域1214显示备选文字列表,备选文字列表包括“你”、“惊”、“仔”、“你好”以及“你的”。此时,响应结果页面为界面1213。
当然,在另一些实施例中,手机121也可以不显示备选文字列表,而是默认将概率值最高的字直接填入到输入框1212中。
手机121生成界面1213的投屏数据,并将界面1213的投屏数据发送至平板122。如图12C,平板122接收到界面1213的投屏数据之后,基于该投屏数据,在多屏协同窗口1221内镜像显示手机121的界面。
需要说明的是,如果目标设备和源设备不是镜像显示,源设备可以不显示显示响应结果页面,即不在显示屏上显示实际响应界面。此时,源设备可以在后台显示一个虚拟的响应结果页面,然后再将虚拟的响应结果页面投屏至目标设备。该虚拟的响应结果页面对于用户是不可见的。
也就是说,上述步骤S1009是可选的。
例如,参见图12D示出的手写输入示意图,基于图9D,用户触发平板64拉起书写画布643之后,用户在书写画布643上进行书写。此时,用户书写的字为“你”。
平板64响应于用户在书写画布643内的手写操作,通过画布绘制出手写操作对应的轨迹,并将绘制出的轨迹显示在书写画布643的对应位置。在绘制出书写轨迹之后,平板64将该书写轨迹传递至本端的识别引擎,获得识别引擎输出的书写轨迹识别结果。然后,平板64将书写轨迹识别结果发送至手机63。
手机63在接收到书写轨迹识别结果之后,在后台响应于该书写轨迹识别结果,显示一个虚拟的响应结果页面。此时,手机63的屏幕界面上仍然显示的是视频画面631,即手机63不会实际显示对应的响应结果页面,而是在后台显示一个虚拟的响应结果页面。
手机63在显示一个虚拟的响应结果页面之后,可以生成该虚拟的响应结果页面的投屏数据,并向平板64发送该投屏数据。平板64接收到该投屏数据之后,则在投屏窗口641上显示对应的界面。此时,平板64在输入框642显示用户手写输入的“你”。
同理,如果源设备投屏至目标设备之后,源设备进入黑屏状态,源设备也可以显示一个虚拟的响应结果页面,将该虚拟的响应结果页面投屏至目标设备。
情况二:目标设备向源设备发送书写轨迹,在源设备一侧对书写轨迹进行识别。
参见图13示出的跨设备的手写输入方法的另一种流程示意框图,该方法可以包括以下步骤
步骤S1301、源设备和目标设备建立投屏连接。
步骤S1302、源设备通过投屏连接,向目标设备发送投屏数据流。
步骤S1303、目标设备接收到来自源设备的投屏数据流之后,在投屏窗口内显示投屏数据流对应的界面。
步骤S1304、目标设备检测到用户针对投屏窗口的手写操作。
步骤S1305、目标设备响应于手写操作,绘制与手写操作对应的书写轨迹。
步骤S1306、目标设备显示书写轨迹。
其中,步骤S1301~步骤S1306与步骤S501~步骤S506类似,具体介绍请参见上文图5的相应内容,在此不再赘述。
步骤S1307、目标设备向源设备发送书写轨迹。
需要说明的是,目标设备可以在用户写完一笔之后,就将这一笔的轨迹发送给源设备,也可以在用户写完一个字后,再将这个字的轨迹发送给源设备。
其中,将一个action down事件和对应的一个actino up事件之间的轨迹作为一笔的轨迹。
步骤S1308、源设备对书写轨迹进行识别,得到识别结果。
具体地,源设备使用本端的识别引擎,根据书写轨迹对应的触摸点信息,对书写轨迹进行识别,得到识别结果。
步骤S1309、源设备响应于识别结果,显示响应结果页面。
步骤S1310、源设备向目标设备发送响应结果页面的投屏数据。
步骤S1311、目标设备在投屏窗口内显示响应结果页面的投屏数据。
通过对比可知,情况一中的源设备可以不包括识别引擎,也能完成书写轨迹识别,实现手写输入业务。而情况二的源设备需要包括识别引擎,才能实现手写输入业务。相较而言,情况一可以降低产品成本。
由上可见,本申请实施例通过在目标设备一侧绘制手写操作对应的书写轨迹,提高了跨设备手写输入的跟手性。
进一步地,针对小屏设备投屏至大屏设备的场景,在目标设备一侧绘制手写操作对应的书写轨迹时,可以利用目标设备的大屏优势,尽可能地扩大书写画布的范围,从而扩大书写区域,提高了用户体验。
进一步地,目标设备在绘制出手写操作对应的书写轨迹之后,还利用本端的识别引擎对书写轨迹进行识别,这样源设备可以不包括识别引擎,也能实现手写输入业务,降低了成本。
另外,源设备向目标设备同步可输入区域信息,使得目标设备可以根据可输入区域信息,自动识别用户是否有书写意图,并在识别出用户有书写意图的时候,自动拉起书写画布,提高了手写操作的便捷性,进而提高了用户体验。
为了更好地说明本申请实施例提供的跨设备手写输入方案的效果,下面结合图14和图15进行说明。其中,图14为区别于本申请实施例的一种手写输入方案的示意框图,该方案在源设备一侧绘制手写操作对应的书写轨迹。图15为本申请实施例提供的手写输入方案的示意框,该方案在目标设备一侧绘制手写操作对应的书写轨迹。
如图14所示,源设备141包括输入框1411、识别引擎1412和可书写区域1413;目标设备142包括投屏窗口1421、可书写区域1422、识别引擎1423和输入框1424。
在其它实施例中,图14中的目标设备142可以不包括识别引擎1423。
如图15所示,源设备151包括输入框1511和可书写区域1512;目标设备152包括投屏窗口1521、可书写区域1522、识别引擎1523和输入框1524。
通过对比图14和图15可知,在图14中,目标设备从检测到手写操作至本端屏幕显示书写轨迹之间至少需要经过以下步骤:目标设备一侧的触摸事件上报;手写操作对应的触摸事件的传递;源设备一侧的触摸事件解析;源设备一侧响应触摸事件,绘制书写轨迹;以及源设备将响应结果界面投屏至目标设备。
而在图15中,目标设备从检测到手写操作至本端屏幕显示书写轨迹之间至少需要经过以下步骤:目标设备一侧的触摸事件上报;以及目标设备响应于触摸事件,绘制并显示书写轨迹。
也就是说,图15相较于图14,至少节省了以下三个步骤:手写操作对应的触摸事件的传递、源设备一侧的触摸事件解析,以及源设备将响应结果界面投屏至目标设备。
换句话说,在目标设备一侧绘制手写操作对应的书写轨迹,相较于在源设备一侧绘制手写操作对应的书写轨迹,前者至少节省了触摸事件的跨设备传输时间、触摸事件的屏幕响应结果的跨设备传输时间、以及触摸事件解析时间等,进而提高了跨设备手写输入的跟手性。
进一步地,图15中的可书写区域1522大于图14中的可书写区域1422,即本申请实施例针对扩大了可书写区域,提高了用户体验。
进一步地,图14中的源设备142和目标设备141均需要包括识别引擎,而图15中只需要目标设备152包括识别引擎,源设备151可以不包括识别引擎。这样,即使源设备不包括识别引擎,也能完成跨设备的手写输入业务,降低了产品成本。
需要说明的是,在图14中,由于是在源设备一侧绘制手写操作对应的书写轨迹后,再由源设备将对应界面投屏至目标设备,因此目标设备和源设备的输入框附近均会显示书写轨迹。
而在图15中,在目标设备一侧绘制手写操作对应的书写轨迹,目标设备在绘制书写轨迹后,直接在本端屏幕上显示,因此源设备不会同步显示书写轨迹。
另外,图15中示出了手写153可以在输入框1524附近书写,也可以在投屏窗口1521之外书写,即本申请实施例的跨设备手写输入方案,不局限于在投屏窗口内书写,还可以在投屏窗口之外的区域进行书写。这样,在小屏设备投大屏设备的场景下,充分利用了目标设备的大屏幕优势,提高用户体验。
本申请实施例中,源设备和目标设备均可以划分成一个或多个模块。
示例性地,参见图16示出的跨设备手写输入系统的示意框图,该系统包括源设备161和目标设备162。
其中,源设备161包括第一认证模块1611、第一投屏模块1612和第一输入处理模块1613。
目标设备162包括第二认证模块1621、第二投屏模块1622、第二输入处理模块1623、手写输入区域管理模块1624、书写画布1625和识别引擎1626。
第一认证模块1611和第二认证模块1621用于建立设备间的可信连接。建立可信连接后,源设备和目标设备之间可以通过可信连接进行数据交换和通信。例如,手机和平板通过各自的认证模块,建立可信的Wi-Fi点对点连接。
第一投屏模块1612用于将源设备的屏幕数据(即投屏数据)发送给目标设备;第二投屏模块1622用于接收来自源设备的屏幕数据,并基于屏幕数据,在本端屏幕上显示源设备的界面。
第一输入处理模块1613用于获取当前屏幕界面的可输入区域信息,并将可输入区域信息同步至第二输入处理模块1623。并且,在界面变化时,刷新可输入区域信息,即再次获取当前屏幕界面的可输入区域信息,将获取到的可输入区域信息同步至第二输入处理模块1623。
例如,在T1时刻,源设备屏幕显示的界面为界面A,第一输入处理模块1613根据界面A的布局文件等信息,识别出界面A上控件类型为输入框的控件,并根据控件坐标等信息,获取输入框的所处位置和所占区域大小等。在T2时刻,源设备屏幕显示的界面从界面A变化为界面B,第一输入处理模块1613则获取界面B的可输入区域信息,以刷新可输入区域信息,并将刷新后的可输入区域信息同步至第二输入处理模块1623。
第二输入处理模块1623接收到第一处理模块1613同步的可输入区域信息之后,将该可输入区域信息同步至手写输入区域管理模块1624。
手写输入区域管理模块1624用于基于可输入区域信息,识别用户是否有书写意图。如果识别出用户有书写意图,则自动拉起书写画布1625,以通过书写画布1625绘制书写轨迹。
示例性地,用户使用手指或手写笔等在目标设备的触摸屏输入触摸操作时,手写输入区域管理模块1624判断手写笔的落笔点,或者手指的初次接触点是否落在可输入区域附近,即判断用户是否在可输入区域附近书写。其中,当action down事件对应的触摸点落入预设目标区域,则可以认为用户在可输入区域附近落笔,预设目标区域通常包括可输入区域。
当action down事件对应的触摸点落入预设目标区域,且action move事件对应的滑动轨迹的长度大于或等于预设长度阈值,则判定用户有书写意图。
手写输入区域管理模块1624识别出用户有书写意图之后,拉起书写画布1625。书写画布1625用于根据触摸点坐标、触摸点的时间戳、以及触摸事件类型,绘制手写操作对应书写轨迹,并展示书写内容(例如,书写轨迹)。并且,还将书写轨迹的触摸点信息传递给识别引擎1626。
识别引擎1626用于根据书写画布1625传递的书写轨迹信息,对书写轨迹进行识别,得到识别结果。该识别结果可以包括文字和书写动作等。在得到识别结果之后,将识别结果传递至第二输入处理模块1623。第二输入处理模块1623还用于将识别结果传递至第一输入处理模块1613。
第一输入处理模块1613还用于接收来自目标设备的识别结果,并响应于该识别结果,得到响应结果界面。得到响应结果界面之后,第一投屏模块1612再将响应结果界面的屏幕数据传递给第二投屏模块1622。第二投屏模块1622接收到响应结果界面的屏幕数据之后,基于该屏幕数据,在投屏窗口内显示响应结果界面。
需要说明的是,上述模块的划分仅仅是一种示例,且这些模块可以是硬件模块,也可以是软件模块,也可以是软件和硬件共同作用实现的模块。
下面结合图17,对基于图16的跨设备手写输入流程进行示例性介绍。
参见图17,为本申请实施例提供的跨设备手写输入方法的另一种流程示意图,该方法包括以下三个阶段:认证、传递或刷新可输入区域信息、以及用户在目标设备上书写。
如图17所示,在认证阶段,源设备的第一认证模块向目标设备的第二认证模块发起认证。在认证成功后,第二认证模块给第一认证模块返回认证成功的结果。
通过认证阶段,源设备和目标设备建立可信连接。然后,源设备通过可信连接投屏至目标设备。具体地,源设备的第一投屏投屏模块将源设备的屏幕数据发送至目标设备的第二投屏模块。
如图17所示,在源设备和目标设备建立连接之后,或者在源设备的屏幕界面变化时,第一输入处理模块可以获取本端屏幕当前界面的可输入区域信息,并将可输入区域信息同步至第二输入处理模块。第二输入处理模块再将可输入区域信息同步至手写输入区域管理模块。
如图17所示,用户使用手写笔在目标设备上的可输入区域附近落笔,进行手写操作时,手写输入区域管理模块基于可输入区域信息,识别用户有书写意图,则自动拉起书写画布,绘制书写轨迹,并展示书写内容。
书写画布还将书写轨迹的触摸点信息传递给识别引擎,识别引擎根据书写轨迹的触摸点信息,对书写轨迹进行识别,得到文字和书写动作,从而得到识别结果。识别引擎在得到识别结果之后,通过书写画布给第二输入处理模块上报识别结果。
第二输入处理模块在通过建立的可信连接,将识别结果发送至第一输入处理模块。第一输入处理模块响应于识别结果,获得响应结果页面,然后将响应结果页面的屏幕数据传递给第一投屏模块。第一投屏模块再将响应结果页面的屏幕数据传递至第二投屏模块。第二投屏模块基于响应结果页面的屏幕数据,在投屏窗口内显示对应的页面。
需要说明的是,本申请实施例的投屏场景不限于上文提及的手机和平板投屏,还可以为手机投屏至笔记本电脑,或者笔记本电脑投屏至手机,本申请实施例对此不作限定。
例如,参见图18A~图18B示出的笔记本电脑投屏至平板的场景示意图。如图18A所示,笔记本电脑181和平板182建立投屏连接后,笔记本电脑181将即时通讯应用的界面投屏至平板上182的多屏协同窗口1821上。然后,用户再使用笔记本电脑181观看视频,即笔记本电脑181的界面上正在显示视频界面1811。
此时,平板182可以看作是笔记本电脑181的扩展屏,即平板182相当于笔记本电脑181的一个扩展显示器。平板182的投屏窗口1821上显示的内容和笔记本电脑181当前界面上显示的内容不一致。
如图18B所示,用户一定的触发方式,触发平板182拉起书写画布1823之后,用户在书写画布1823上进行书写。此时,用户书写的字为“你”。
平板182响应于用户在书写画布1823内的手写操作,通过画布绘制出手写操作对应的轨迹,并将绘制出的轨迹显示在书写画布1823的对应位置。在绘制出书写轨迹之后,平板182将该书写轨迹传递至本端的识别引擎,获得识别引擎输出的书写轨迹识别结果。然后,平板182将书写轨迹识别结果发送至笔记本电脑181。
笔记本电脑181在接收到书写轨迹识别结果之后,在后台响应于该书写轨迹识别结果,显示一个虚拟的响应结果页面。此时,笔记本电脑181的屏幕界面上仍然显示的是视频画面1811,即笔记本电脑181不会实际显示对应的响应结果页面,而是在后台显示一个虚拟的响应结果页面。
笔记本电脑181在显示一个虚拟的响应结果页面之后,可以生成该虚拟的响应结果页面的投屏数据,并向平板182发送该投屏数据。平板182接收到该投屏数据之后,则在投屏窗口1823上显示对应的界面。此时,平板182在输入框1822显示用户手写输入的“你”。
平板182在绘制出手写操作的书写轨迹之后,使用本端的识别引擎进行书写轨迹识别,得到识别结果,再将识别结果发送至笔记本电脑182。这样,笔记本电脑181投屏至平板电脑182之后,可以直接使用平板电脑182识别引擎来做手写识别。笔记本电脑181上可以不具备识别引擎。
本申请实施例提供的电子设备,可以包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述方法实施例中任一项的方法。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例还提供一种芯片系统,所述芯片系统包括处理器,所述处理器与存储器耦合,所述处理器执行存储器中存储的计算机程序,以实现如上述各个方法实施例所述的方法。所述芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。此外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。
最后应说明的是:以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
机译: 电子设备,手写输入识别系统及其识别手写输入的方法
机译: 电子设备,手写输入识别系统及其手写输入识别方法
机译: 输入法、电子设备及投屏系统