掌桥专利:专业的专利平台
掌桥专利
首页

数据处理方法、装置、电子设备

文献发布时间:2024-04-18 19:58:26


数据处理方法、装置、电子设备

技术领域

本申请涉及但不限于计算机技术领域,尤其涉及一种数据处理方法、装置、设备、存储介质及程序产品。

背景技术

将应用程序的运行界面从一个电子设备投屏到另一个电子设备时,需要在投屏设备上创建一个虚拟屏幕,以在虚拟屏幕上绘制应用程序的运行界面,并将绘制后的运行界面发送给被投屏设备进行显示。

但是,在应用投屏的过程中,需要基于被投屏设备的显示屏幕信息,例如,分辨率、每英寸的像素数目(Dots Per Inch,DPI)等,确定对虚拟屏幕的绘制方案,导致应用投屏过程中需要监听并处理多种信息,一旦出现监听错误,就会导致投屏画面过大或过小等状况。

因此,如何提高投屏过程中应用兼容性,同时降低投屏资源开销成为应用投屏过程中亟需解决的问题。

发明内容

有鉴于此,本申请实施例至少提供一种数据处理方法、装置、电子设备、存储介质及程序产品。

本申请实施例的技术方案是这样实现的:

一方面,本申请实施例提供一种数据处理方法,所述方法包括:

与目标设备建立连接通道;

基于所述连接通道以及目标投屏模式,创建具有第一尺寸的虚拟屏幕;其中,所述第一尺寸为电子设备的物理屏幕对应的尺寸;

基于所述虚拟屏幕,绘制具有第二尺寸的显示画面;其中,所述第二尺寸是基于所述目标设备的显示屏幕对应的尺寸确定的,且所述第二尺寸小于所述第一尺寸;

将所述显示画面发送至所述目标设备。

在一些实施例中,所述基于所述虚拟屏幕,绘制具有第二尺寸的显示画面,包括:

获得目标应用的运行数据;其中,所述运行数据为在所述虚拟屏幕上进行绘制的数据;

将所述运行数据和所述第二尺寸发送至所述电子设备的渲染引擎,以使所述渲染引擎基于所述运行数据绘制所述具有第二尺寸的显示画面。

在一些实施例中,所述基于所述虚拟屏幕,绘制具有第二尺寸的显示画面,包括:

获得目标应用的运行数据;其中,所述运行数据为在所述虚拟屏幕上进行绘制的数据;

将所述运行数据发送至所述电子设备的渲染引擎;

获得所述渲染引擎针对第一接口的调用,并将所述调用指向至第二接口,以使得所述渲染引擎从所述第二接口获得所述第二尺寸,并基于所述运行数据绘制所述具有第二尺寸的显示画面;其中,所述第一接口与所述第一尺寸对应;所述第二接口与所述第二尺寸对应。

在一些实施例中,所方法还包括:

基于目标流媒体协议编码所述显示画面,得到所述显示画面对应的编码数据;

所述将所述显示画面发送至所述目标设备,包括:

将所述编码数据通过所述连接通道发送给目标设备,以使得所述目标设备解码所述编码数据获得所述显示画面;其中,所述显示画面占据所述目标设备的显示屏幕的至少部分显示区域。

在一些实施例中,所述方法还包括:

通过以下至少之一确定所述目标应用:

基于所述目标投屏模式确定所述目标应用;

响应于目标操作,确定所述目标应用;所述目标操作用于指示将所述目标应用作为投屏应用;所述目标应用通过所述物理屏幕显示;

基于通过所述连接通道获得的来自于所述目标设备的输入操作信息,确定目标应用;其中,所述输入操作信息是针对所述显示画面的操作。

在一些实施例中,所述目标应用包括第一目标应用和第二目标应用;

所述基于所述虚拟屏幕,绘制具有第二尺寸的显示画面,包括:

基于所述虚拟屏幕,分别绘制所述第一目标应用对应的具有第三尺寸的显示画面,以及所述第二目标应用对应的具有第四尺寸的显示画面;其中,所述具有第三尺寸的显示画面与所述具有第四尺寸的显示画面在所述虚拟屏幕上不重叠。

在一些实施例中,所述目标应用包括第三目标应用和第四目标应用;

所述基于所述连接通道以及目标投屏模式,创建具有第一尺寸的虚拟屏幕,包括:

基于第三目标应用对应的连接通道以及目标投屏模式,创建具有所述第一尺寸的第一虚拟屏幕,以在所述第一虚拟屏幕上绘制所述第三目标应用对应的具有第五尺寸的显示画面;

基于第四目标应用对应的连接通道以及目标投屏模式,创建具有所述第一尺寸的第二虚拟屏幕,以在所述第二虚拟屏幕上绘制所述第四目标应用对应的具有第六尺寸的显示画面。

另一方面,本申请实施例提供一种处理装置,所述装置包括:

通信模块,用于与目标设备建立连接通道;

创建模块,用于基于所述连接通道以及目标投屏模式,创建具有第一尺寸的虚拟屏幕;其中,所述第一尺寸为电子设备的物理屏幕对应的尺寸;

渲染模块,用于基于所述虚拟屏幕,绘制具有第二尺寸的显示画面;其中,所述第二尺寸是基于所述目标设备的显示屏幕对应的尺寸确定的,且所述第二尺寸小于所述第一尺寸;

通信模块,还用于将所述显示画面发送至所述目标设备。

在一些实施例中,所述渲染模块,用于:

获得目标应用的运行数据;其中,所述运行数据为在所述虚拟屏幕上进行绘制的数据;将所述运行数据和所述第二尺寸发送至所述渲染引擎,以使所述渲染引擎基于所述运行数据绘制所述具有第二尺寸的显示画面;或者,

获得目标应用的运行数据;其中,所述运行数据为在所述虚拟屏幕上进行绘制的数据;将所述运行数据发送至所述电子设备的渲染引擎;获得所述渲染引擎针对第一接口的调用,并将所述调用指向第二接口,以使得所述渲染引擎从所述第二接口获得所述第二尺寸,并基于所述运行数据绘制所述具有第二尺寸的显示画面;其中,所述第一接口与所述第一尺寸相对应;所述第二接口与所述第二尺寸相对应。

再一方面,本申请实施例提供一种电子设备,包括:屏幕;处理器,所述处理器用于与目标设备建立连接通道;基于所述连接通道以及目标投屏模式,创建具有第一尺寸的虚拟屏幕;其中,所述第一尺寸为所述屏幕对应的尺寸;基于所述虚拟屏幕,绘制具有第二尺寸的显示画面;其中,所述第二尺寸是基于所述目标设备的显示屏幕对应的尺寸确定的,且所述第二尺寸小于所述第一尺寸;将所述显示画面发送至所述目标设备。

再一方面,本申请实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法中的部分或全部步骤。

又一方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法中的部分或全部步骤。

又一方面,本申请实施例提供一种计算机程序,包括计算机可读代码,当所述计算机可读代码在计算机设备中运行时,所述计算机设备中的处理器执行用于实现上述方法中的部分或全部步骤。

又一方面,本申请实施例提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序被计算机读取并执行时,实现上述方法中的部分或全部步骤。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开的技术方案。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。

图1为相关技术中进行手机投屏的实现示意图;

图2为相关技术中进行手机投屏时被电子设备对投屏画面完整显示的示意图;

图3为相关技术中进行手机投屏时被电子设备对投屏画面没有完整显示的示意图;

图4为本申请实施例提供的一种数据处理方法的流程示意图;

图5为基于本申请实施例提供的数据处理方法实现手机投屏的示意图;

图6为本申请实施例提供的一种处理装置的组成结构示意图;

图7为本申请实施例提供的一种电子设备的硬件实体示意图。

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面结合附图和实施例对本申请的技术方案进一步详细阐述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。

所涉及的术语“第一/第二/第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一/第二/第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请的目的,不是旨在限制本申请。

相关技术中,以手机为投屏设备、个人计算机(Personal Computer,PC)为被投屏设备为例,将手机上运行的应用程序投屏到PC上时,首先,根据PC上显示投屏图像的投屏区域的大小(例如,以像素为单位计算的宽度和高度)在手机上创建相对应大小的虚拟屏幕,然后,在虚拟屏幕上绘制应用程序的运行界面,最后,将绘制的界面进行压缩编码并发送到PC端进行显示。

如下图1所示,手机110分别向PC 120和PC 130投屏时,首先,确定PC 120和PC 130中投屏区域的尺寸,如图中所示,PC 120中投屏区域121的尺寸为W1×H1(即,高为H1个像素,宽为W1个像素),PC 130中投屏区域131的尺寸为W2×H2(即,高为H2个像素,宽为W2个像素);然后,手机110分别创建两个虚拟屏幕112和113,其中虚拟屏幕112的尺寸与投屏区域121的尺寸相同,虚拟屏幕113的尺寸与投屏区域131的尺寸相同;之后,手机110的渲染引擎根据PC 120和PC 130的屏幕信息(即,分辨率、DPI等信息)分别在虚拟屏幕112和虚拟屏幕113上进行应用程序运行界面的绘制;最后,手机将在虚拟屏幕112和虚拟屏幕113上的绘制画面分别进行编码,并发送至PC 120和PC 130进行显示。这样,即完成了应用从手机到PC的投屏过程。

由上可知,当手机110的应用程序从手机110的物理屏幕切换到虚拟屏幕112和虚拟屏幕113时,应用程序需要监听或感知屏幕信息的变化,即,从手机110的物理屏幕的尺寸和屏幕信息切换到PC 120和PC 130的屏幕信息及投屏区域121和投屏区域131的尺寸信息,从而进行对应的资源重载、绘制。因此,应用程序需要支持在运行过程中的屏幕上下文信息发生变化的场景。

若应用程序能够正确感知并响应屏幕上下文信息的变化,则可以在虚拟屏幕上正确地绘制应用程序的运行界面,如图2所示,物理屏幕210中的元素211,在虚拟屏幕220中被完整地绘制为元素221。若应用程序不能正确感知或响应运行时的屏幕上下文信息的变化,则会出现应用运行界面在虚拟屏幕上的元素显示过大或过小等问题,如图3所示,物理屏幕310中的元素311,在虚拟屏幕320中没有被完整绘制,导致显示过大,仅显示了部分区域321。

由上可知,基于被投屏设备PC的屏幕信息对在投屏设备手机进行虚拟屏幕的创建,容易出现应用程序不能兼容虚拟屏幕的上下文信息变化的问题。

为了解决上述问题,相关技术中进一步提出了在投屏设备手机中创建与手机的物理屏幕的分辨率及DPI相同的虚拟屏幕的方案,即:首先,以手机的物理屏幕的分辨率、DPI及尺寸等信息创建虚拟屏幕;然后,在虚拟屏幕上绘制应用程序的运行界面;最后,对终绘制的应用程序运行界面进行编码并发送到PC端进行显示。

由上可知,通过在手机端相对于手机物理屏幕等比例创建虚拟屏幕,使虚拟屏幕的屏幕信息与手机物理屏幕的信息相同,即,应用程序运行环境中的分辨率、DPI及尺寸等屏幕上下文信息均没有发生变化,从而可以避免应用程序从手机的物理屏幕转换到虚拟屏幕绘制时出现的不兼容的问题。

但是,由于手机物理屏幕的尺寸通常大于PC上的投屏区域的尺寸,因此,将绘制的应用程序运行界面发送到PC端后,PC端需要对收到的界面信息进行解码、缩小渲染,或者对解码后的图像进行重采样,以得到与投屏区域相适应的大小。同时,由于手机端向PC端传送的图像大于PC端所需要的大小,造成手机端的渲染系统、编码系统的无效开销,同时,对网络带宽消耗也较大。

因此,相关技术中在手机的虚拟屏幕上对应用程序的运行界面进行绘制之后,进一步基于PC上的投屏区域的尺寸,对在虚拟屏幕上已绘制的应用程序运行界面进行重新绘制,即,对已绘制的运行界面做等比绘制或缩放,将其转换成PC上的投屏区域对应的尺寸,然后对较小尺寸的绘制图像进行编码、压缩并发送到PC端,PC端也不需要做缩小绘制,从而节省了网络传输的带宽消耗,以及PC段的编码系统和渲染系统的开销。

但是,上述方案依然存在以下问题:手机端需要在虚拟屏幕上执行两次绘制,即,先按照虚拟屏幕的屏幕信息进行绘制,然后按照PC端的投屏区域的尺寸进行绘制,导致渲染系统的开销较大。

基于此,本申请实施例提供一种数据处理方法,该方法基于电子设备的物理屏幕的尺寸创建虚拟屏幕,然后基于目标设备的投屏区域的尺寸在虚拟屏幕上绘制应用程序的运行界面,从而达到节省渲染系统开销的目的。

本申请实施例提供的数据处理方法可以由电子设备的处理器执行。其中,电子设备指的可以是服务器、笔记本电脑、平板电脑、台式计算机、智能电视、机顶盒、移动设备(例如移动电话、便携式视频播放器、个人数字助理、专用消息设备、便携式游戏设备)等具备数据处理能力的设备。

图4为本申请实施例提供的一种数据处理方法的实现流程示意图,如图4所示,该方法包括如下步骤S401至步骤S404:

步骤S401,与目标设备建立连接通道。

这里,目标设备是指被投屏设备。在一些实施例中,目标设备可以包括笔记本电脑、平板电脑、台式计算机、智能电视、智能显示屏、移动设备(例如移动电话、便携式视频播放器、个人数字助理)等等。

在一些实施例中,目标设备可以包括至少一个,即,电子设备可以实现同时向至少一个目标设备进行投屏。

连接通道是指电子设备与目标设备之间建立的可以进行数据传输的通信通道。在一些实施例中,连接通道包括有线连接通道和无线连接通道中的至少一种;其中,有线连接通道可以包括通过数据线进行连接,例如,利用USB Type-c转高清多媒体接口(HighDefinition Multimedia Interface,HDMI)线投屏;无线连接通道包括基于局域网、移动热点(Wi-Fi)、蓝牙(BlueTooth)等进行方式实现的通信连接。这里,对电子设备和目标设备的具体连接方式不同限定。

步骤S402,基于所述连接通道以及目标投屏模式,创建具有第一尺寸的虚拟屏幕;其中,所述第一尺寸为电子设备的物理屏幕对应的尺寸。

这里,电子设备为发起投屏的投屏设备,即,电子设备将其上运行的应用程序的运行界面投屏到目标设备,以在目标设备上显示。

虚拟屏幕是基于电子设备的物理屏幕创建的,因此,虚拟屏幕的尺寸与电子设备的物理屏幕的尺寸相同。

在一些实施例中,第一尺寸包括物理屏幕的分辨率信息、DPI信息及大小信息。

在一些实施例中,基于连接通道创建虚拟屏幕,是指基于与电子设备建立通信连接的目标设备的数量,创建虚拟屏幕,即,目标设备的数量与虚拟屏幕的数量相等。

在一些实施例中,基于连接通道创建虚拟屏幕,是指基于与电子设备建立通信连接的目标设备的数量,创建一个虚拟屏幕,基于该虚拟屏幕,可以同时绘制用于对至少一个目标设备进行投屏的显示画面。

这里,目标投屏模式是指从电子设备到目标设备的投屏方式,并且,基于该投屏方式,需要在电子设备端建立虚拟屏幕。在一些实施例中,目标投屏模式为手机投屏模式,即,将手机中的应用或桌面投影到目标设备。此时,在手机端创建一个与手机的物理屏幕尺寸相同的虚拟屏幕。

步骤S403,基于所述虚拟屏幕,绘制具有第二尺寸的显示画面;其中,所述第二尺寸是基于所述目标设备的显示屏幕确定的,且所述第二尺寸小于所述第一尺寸。

这里,第二尺寸是基于目标设备的显示屏幕对应的尺寸确定的,是指第二尺寸不大于目标设备的显示屏幕的尺寸,即,具有第二尺寸的显示画面可以在目标设备的显示屏幕内完整显示。

在一些实施例中,电子设备通过所述连接通道从目标设备接收目标设备的显示屏幕对应的尺寸信息,并基于目标设备的显示屏幕对应的尺寸信息确定所述第二尺寸。

在一些实施例中,第二尺寸是对第一尺寸进行等比例缩小得到的尺寸,例如,第二尺寸与第一尺寸的比例为m:n,其中,m

这里,基于虚拟屏幕绘制具有第二尺寸的显示画面,是指在虚拟屏幕上绘制较小尺寸的显示画面,例如,基于待投屏的目标应用程序的运行数据,渲染系统在虚拟屏幕的指定位置处绘制具有第二尺寸的应用程序运行界面。

步骤S404,将所述显示画面发送至所述目标设备。

这里,电子设备的编码系统对渲染系统绘制的显示画面进行编码,得到显示画面的编码数据;然后,基于与目标设备建立的连接通道,将编码数据发送至目标设备,以使目标设备对编码数据进行解码并显示。

本申请实施例提供的数据处理方法中,一方面,基于电子设备的物理屏幕对应的尺寸建立虚拟屏幕,使得待投屏的应用程序从电子设备的物理屏幕转换到虚拟屏幕时,所处的屏幕上下文信息相同,因此,不需要监听屏幕信息的变化;另一方面,通过在虚拟屏幕上绘制具有第二尺寸的显示画面,并将第二尺寸的显示画面作为发送至目标设备的投屏画面,而非在虚拟屏幕上绘制具有第一尺寸的显示画面,其中,第二尺寸是基于目标设备的显示屏幕的尺寸确定的,且第二尺寸小于第一尺寸,从而可以在满足目标设备的显示需求的情况下,减小电子设备的渲染系统的渲染开销,同时降低编码系统开销,及显示画面传送过程中的网络带宽开销,使得在相同的渲染系统资源和编码系统资源的情况下,电子设备可以支持更多目标应用的并发投屏。

在一些实施例中,上述步骤S403可以通过以下步骤S4031至步骤S4032实现:

步骤S4031,获得目标应用的运行数据;其中,所述运行数据为在所述虚拟屏幕上进行绘制的数据。

这里,目标应用为待投屏到目标设备上的应用。在一些实施例中,目标应用可以包括安装在电子设备上的应用程序(Application,APP)。

通过在虚拟屏幕上绘制目标应用的运行数据,生成显示画面,从而将绘制的显示画面发送至目标设备进行显示。

步骤S4032,将所述运行数据和所述第二尺寸发送至所述电子设备的渲染引擎,以使所述渲染引擎基于所述运行数据在所述虚拟屏幕上绘制所述具有第二尺寸的显示画面。

这里,渲染引擎,用于将应用程序的运行数据中的视图和图像元素转换为可视图像,即,将运行数据绘制出来以供显示模块进行显示输出。

将待投屏的运行数据和所要绘制的显示画面的尺寸发送至电子设备的渲染引擎,使得渲染引擎基于运行数据绘制指定尺寸的显示画面。

这里,将第二尺寸数据发送至渲染引擎,使得渲染引擎接收到的尺寸信息与最终发送给目标设备的显示画面的尺寸信息相同,从而使电子设备的渲染引擎仅做小尺寸显示画面的绘制即可,不需要先绘制具有第一尺寸的显示画面,然后将具有第一尺寸的显示画面重新绘制为第二尺寸的显示画面,从而节省了渲染引擎的开销。

在一些实施例中,上述步骤S403还可以通过以下步骤S4033至步骤S4035实现:

步骤S4033,获得目标应用的运行数据;其中,所述运行数据为在所述虚拟屏幕上进行绘制的数据。

这里,步骤S4033的实现方式与步骤S4031的实现方式相同,因此不再赘述。

步骤S4034,将所述运行数据发送至所述电子设备的渲染引擎。

这里,将运行数据发送至渲染引擎,以使渲染引擎基于该运行数据绘制显示画面。

步骤S4035,获得所述渲染引擎针对第一接口的调用,并将所述调用指向第二接口,以使得所述渲染引擎从所述第二接口获得所述第二尺寸,并基于所述运行数据绘制所述具有第二尺寸的显示画面;其中,所述第一接口与所述第一尺寸相对应;所述第二接口与所述第二尺寸相对应。

这里,第一接口是目标应用指定的虚拟屏幕的接口。

渲染引擎针对第一接口的调用,表征渲染引擎基于目标应用指定的虚拟屏幕的第一接口获得虚拟屏幕的第一尺寸。

将渲染引擎针对第一接口的调用修改为指向第二接口,是指虚拟引擎在从第一接口获取所要绘制的显示画面的尺寸信息时,将虚拟引擎的调用程序指向第二接口,从而使虚拟引擎从第二接口获取所要绘制的显示画面的尺寸信息。

在一些实施例中,将所述调用指向第二接口可以通过程序代码实现。

在一些实施例中,渲染引擎基于运行数据绘制具有第二尺寸的显示画面,是指渲染引擎在虚拟屏幕的分辨率和DPI等屏幕上下文信息不变的情况下,以第二尺寸为显示画面的显示尺寸进行绘制。

本实施例中,通过将渲染引擎对第一接口的调用修改为对第二接口的调用,从而修改了渲染引擎所要渲染的显示画面的尺寸,即,利用渲染引擎直接渲染最终发送给目标设备的显示画面,使得渲染引擎仅执行一次渲染,降低了电子设备的渲染开销,同时降低了传送显示画面的过程中的网络带宽的开销。

在一些实施例中,本实施例提出的数据处理方法还包括以下步骤S405:

步骤S405,基于目标流媒体协议编码所述显示画面,得到所述显示画面对应的编码数据。

这里,流媒体(streaming media)是指将数据压缩后,经过网上分段发送数据,在网上即时传输数据以供用户查看的技术与过程。

在一些实施例中,流媒体协议可以是基于超文本传输协议的自适应码率流媒体传输协议(Hypertext Transfer Protocol Live Streaming,HLS),实时流传输协议(RealTime Streaming Protocol,RTSP),实时传输协议(Real-time Transport Protocol,RTP),RTP控制协议(RTP Control Protocol,RTCP)或其他可以应用于电子设备的流媒体协议。

在一些实施例中,编码数据包括对显示画面的渲染数据。

这样,上述步骤S404可以通过以下步骤实现:

将所述编码数据通过所述连接通道发送给目标设备,以使得所述目标设备解码所述编码数据获得所述显示画面;其中,所述显示画面占据所述目标设备的显示屏幕的至少部分显示区域。

这里,将编码数据发送给目标设备,可以是通过有线的连接通道,也可以通过无线的连接通道实现。

目标设备解码编码数据,是指目标设备基于编码数据的编码方式,对编码数据进行解码,以得到显示画面。

这里,由于第二尺寸是基于目标设备的显示屏幕确定的,因此,将显示画面显示在目标设备的显示屏幕上时,显示画面占据目标设备的显示屏幕的至少部分显示区域,即,显示画面可以在目标设备的显示屏幕上完整显示。

上述实施例中,由于显示画面是按照第二尺寸绘制的,第二尺寸小于虚拟屏幕的第一尺寸,因此显示画面的大小较小,在对显示画面的编码数据进行网络传输时,所花费的网络带宽资源也较少;同时,由于显示画面仅占据目标设备的显示屏幕的至少部分现实区域,因此,目标设备不需要对解码后的编码数据进行重采样,从而节省了目标设备的渲染资源。

在一些实施例中,本申请提出的数据处理方法还包括:

通过以下步骤S4061至步骤S4063中的至少一个确定所述目标应用:

步骤S4061,基于所述目标投屏模式确定所述目标应用。

在一些实施例中,基于目标投屏模式,将电子设备中在前台运行的应用程序作为目标应用。

在一些实施例中,基于目标投屏模式,将电子设备中用户预先指定的应用程序作为目标应用。

在一些实施例中,目标应用可以包括电子设备的桌面上的应用程序和手机桌面中的任一个。

步骤S4062,响应于目标操作,确定目标应用;所述目标操作用于指示将所述目标应用作为投屏应用;所述目标应用通过所述物理屏幕显示;。

这里,目标操作可以包括电子设备的用户对电子设备中的应用程序的指定操作。

在一些实施例中,电子设备的用户可以通过点击、滑动、语音控制等方式从电子设备上安装的应用程序中确定目标应用。

这里,目标应用是通过电子设备的物理屏幕显示的应用,即,目标应用是运行在电子设备的前台的应用。

步骤S4063,基于通过所述连接通道获得的来自于所述目标设备的输入操作信息,确定目标应用;其中,所述输入操作信息是针对所述显示画面的操作。

这里,电子设备通过连接通道与目标设备建立连接,并将显示画面发送至目标设备进行投屏。

在投屏过程中,目标设备接收用户对显示画面的输入操作,例如,点击、滑动或语音控制等,并通过连接通道将用户的输入操作信息发送至电子设备;电子设备接收到目标设备的用户的输入操作信息后,确定该输入操作信息对应的操作指令是启动新的应用程序,例如,确定该输入操作对应的操作指令是启动社交应用程序,并基于确定的操作指令启动该新的应用程序,将该新的应用程序作为新的目标应用;之后,电子设备基于该新的目标应用程序创建新的虚拟屏幕,将该新的目标应用的运行数据绘制在该新的虚拟屏幕上,以对目标设备进行投屏。

在一些实施例中,所述目标应用包括第一目标应用和第二目标应用;

这样,上述步骤S403可以通过以下步骤S4036实现:

步骤S4036,基于所述虚拟屏幕,分别绘制所述第一目标应用对应的具有第三尺寸的显示画面,以及所述第二目标应用对应的具有第四尺寸的显示画面;其中,所述具有第三尺寸的显示画面与所述具有第四尺寸的显示画面在所述虚拟屏幕上不重叠。

这里,在电子设备与两个目标设备连接,以将第一目标应用和第二目标应用分别投屏到两个目标设备上时,或者,在电子设备与一个目标设备连接,以将第一目标应用和第二目标应用均投屏到该目标设备上时,电子设备均需要为第一目标应用和第二目标应用绘制对应的显示画面。

本实施例中,将第一目标应用对应的具有第三尺寸的显示画面,和第二目标应用对应的具有第四尺寸的显示画面,绘制在同一个虚拟屏幕上,即,为两个目标应用建立一个虚拟屏幕,从而可以减小电子设备在绘制虚拟屏幕时产生的资源开销。

在一些实施例中,将两个目标应用的显示画面绘制在同一个虚拟屏幕上时,可以预先在虚拟屏幕上指定两个目标应用的显示画面绘制区域,以使两个目标应用对应的显示画面在虚拟屏幕上不会产生重叠。

在一些实施例中,所述目标应用包括第三目标应用和第四目标应用;

上述步骤S402可以通过以下步骤S4021至步骤S4022实现:

步骤S4021,基于第三目标应用对应的连接通道以及目标投屏模式,创建具有所述第一尺寸的第一虚拟屏幕,以在所述第一虚拟屏幕上绘制所述第三目标应用对应的具有第五尺寸的显示画面;

步骤S4022,基于第四目标应用对应的连接通道以及目标投屏模式,创建具有所述第一尺寸的第二虚拟屏幕,以在所述第二虚拟屏幕上绘制所述第四目标应用对应的具有第六尺寸的显示画面。

这里,当在电子设备与两个目标设备连接,以将第三目标应用和第四目标应用分别投屏到两个目标设备投屏上时,或者,在电子设备与一个目标设备连接,以将第三目标应用和第四目标应用均投屏到该目标设备上时,电子设备均需要为第三目标应用和第四目标应用绘制对应的显示画面。

本实施例中,分别基于第三目标应用和第四目标应用对应的连接通道和目标投屏模式,创建第三目标应用对应的第一虚拟屏幕、第四目标应用对应的第二虚拟屏幕,从而分别在两个虚拟屏幕上绘制目标应用对应的显示画面。

图5为本身实施例提供的数据处理方法的一个应用实施例,其中,电子设备为手机510,目标设备为PC 520和PC 530,手机510分别向PC 520和PC 530投屏。下面结合图5进行详细说明。

如图5所示,手机510的物理屏幕511的分辨率为1080×2400,虚拟屏幕512和虚拟屏幕513的分辨率均为1080×2400,并且虚拟屏幕512和虚拟屏幕513的尺寸与物理屏幕511的尺寸相同。

PC 520的分辨率为1920×1080,PC 530的分辨率为2560×1440,可见PC 520的分辨率小于PC 530的分辨率,则在确定投屏区域时,PC 520中可设置的最大投屏区域小于PC530中设置的最大投屏区域。

基于PC 520和PC 530的尺寸,以及虚拟屏幕512和虚拟屏幕513的宽高比,在确定PC能够完整显示投屏画面的情况下,分别在虚拟屏幕512和虚拟屏幕513中确定渲染区域514和渲染区域515,其中,渲染区域514的尺寸为W1×H1,渲染区域515的尺寸为W2×H2,W1、W2、H1、H2均为正整数。

之后,分别将待投屏到PC 520的第五目标应用的运行数据、待投屏到PC 530的第六目标应用的运行数据发送到渲染引擎,以使渲染引擎在虚拟屏幕514中基于第五目标应用的运行数据绘制尺寸为W1×H1的显示画面、基于第六目标应用的运行数据在虚拟屏幕515绘制尺寸为W2×H2的显示画面;

之后,手机510将虚拟屏幕514和虚拟屏幕515中绘制的显示画面分别编码并发送至PC 520和PC 530进行显示输出。

基于前述的实施例,本申请实施例提供一种处理装置,该装置包括所包括的各单元、以及各单元所包括的各模块,可以通过计算机设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(Central ProcessingUnit,CPU)、微处理器(Microprocessor Unit,MPU)、数字信号处理器(Digital SignalProcessor,DSP)或现场可编程门阵列(Field Programmable Gate Array,FPGA)等。

图6为本申请实施例提供的一种处理装置的组成结构示意图,如图6所示,处理装置600包括:通信模块610、创建模块620和渲染模块630,其中:

通信模块610,用于与目标设备建立连接通道;

创建模块620,用于基于所述连接通道以及目标投屏模式,创建具有第一尺寸的虚拟屏幕;其中,所述第一尺寸为电子设备的物理屏幕对应的尺寸;

渲染模块630,用于基于所述虚拟屏幕,绘制具有第二尺寸的显示画面;其中,所述第二尺寸是基于所述目标设备的显示屏幕对应的尺寸确定的,且所述第二尺寸小于所述第一尺寸;

所述通信模块610,还用于将所述显示画面发送至所述目标设备。

在一些实施例中,所述渲染模块630,用于:

获得目标应用的运行数据;其中,所述运行数据为在所述虚拟屏幕上进行绘制的数据;

将所述运行数据和所述第二尺寸发送至所述渲染引擎,以使所述渲染引擎基于所述运行数据绘制所述具有第二尺寸的显示画面。

在一些实施例中,所述渲染模块630,用于:

获得目标应用的运行数据;其中,所述运行数据为在所述虚拟屏幕上进行绘制的数据;

将所述运行数据发送至所述电子设备的渲染引擎;

获得所述渲染引擎针对第一接口的调用,并将所述调用指向第二接口,以使得所述渲染引擎从所述第二接口获得所述第二尺寸,并基于所述运行数据绘制所述具有第二尺寸的显示画面;其中,所述第一接口与所述第一尺寸相对应;所述第二接口与所述第二尺寸相对应。

在一些实施例中,所述装置还包括:

编码模块640,用于基于目标流媒体协议编码所述显示画面,得到所述显示画面对应的编码数据;

所述通信模块610,用于将所述编码数据通过所述连接通道发送给目标设备,以使得所述目标设备解码所述编码数据获得所述显示画面;其中,所述显示画面占据所述目标设备的显示屏幕的至少部分显示区域。

在一些实施例中,所述装置还包括确定模块650;所述确定模块650用于通过以下步骤之一确定所述目标应用:

基于所述目标投屏模式确定所述目标应用;

响应于目标操作,确定目标应用;所述目标操作用于指示将所述目标应用作为投屏应用;所述目标应用通过所述物理屏幕显示;

基于通过所述连接通道获得的来自于所述目标设备的输入操作信息,确定目标应用;其中,所述输入操作信息是针对所述显示画面的操作。

在一些实施例中,所述目标应用包括第一目标应用和第二目标应用;

所述渲染模块630,用于基于所述虚拟屏幕,分别绘制所述第一目标应用对应的具有第三尺寸的显示画面,以及所述第二目标应用对应的具有第四尺寸的显示画面;其中,所述具有第三尺寸的显示画面与所述具有第四尺寸的显示画面在所述虚拟屏幕上不重叠。

在一些实施例中,所述目标应用包括第三目标应用和第四目标应用;

所述创建模块620,用于:

基于第三目标应用对应的连接通道以及目标投屏模式,创建具有所述第一尺寸的第一虚拟屏幕,以在所述第一虚拟屏幕上绘制所述第三目标应用对应的具有第五尺寸的显示画面;

基于第四目标应用对应的连接通道以及目标投屏模式,创建具有所述第一尺寸的第二虚拟屏幕,以在所述第二虚拟屏幕上绘制所述第四目标应用对应的具有第六尺寸的显示画面。

以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上述方法实施例描述的方法,对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的信息交互方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件、软件或固件,或者硬件、软件、固件三者之间的任意结合。

本申请实施例还提供一种电子设备,该电子设备包括屏幕和处理器,所述处理器用于与目标设备建立连接通道;基于所述连接通道以及目标投屏模式,创建具有第一尺寸的虚拟屏幕;其中,所述第一尺寸为所述屏幕对应的尺寸;基于所述虚拟屏幕,绘制具有第二尺寸的显示画面;其中,所述第二尺寸是基于所述目标设备的显示屏幕对应的尺寸确定的,且所述第二尺寸小于所述第一尺寸;将所述显示画面发送至所述目标设备。

本申请实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法中的部分或全部步骤。

本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法中的部分或全部步骤。所述计算机可读存储介质可以是瞬时性的,也可以是非瞬时性的。

本申请实施例提供一种计算机程序,包括计算机可读代码,在所述计算机可读代码在计算机设备中运行的情况下,所述计算机设备中的处理器执行用于实现上述方法中的部分或全部步骤。

本申请实施例提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序被计算机读取并执行时,实现上述方法中的部分或全部步骤。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一些实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一些实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。

这里需要指出的是:上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考。以上设备、存储介质、计算机程序及计算机程序产品实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请设备、存储介质、计算机程序及计算机程序产品实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

需要说明的是,图7为本申请实施例中电子设备的一种硬件实体示意图,如图7所示,该电子设备700的硬件实体包括:处理器701、通信接口702和存储器703,其中:

处理器701通常控制电子设备700的总体操作。

通信接口702可以使计算机设备通过网络与其他终端或服务器通信。

存储器703配置为存储由处理器701可执行的指令和应用,还可以缓存待处理器701以及电子设备700中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random AccessMemory,RAM)实现。处理器701、通信接口702和存储器703之间可以通过总线704进行数据传输。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各步骤/过程的序号的大小并不意味着执行顺序的先后,各步骤/过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。

相关技术
  • 一种样本数据处理方法、样本数据处理装置及电子设备
  • 数据处理方法、数据处理装置以及电子设备
  • 数据处理方法、数据处理装置及电子设备
  • 基于集群计算的数据批处理方法、装置、电子设备及介质
  • 数据处理方法、装置、计算机可读存储介质和电子设备
  • 数据处理方法、医学文本数据处理方法、装置及电子设备
  • 数据加密处理方法、数据解密处理方法、装置、电子设备及可读存储介质
技术分类

06120116488828