本申请实施例涉及计算机技术领域,尤其涉及一种投屏方法、系统、计算机设备及计算机可读存储介质。
背景技术:
随着物联网和智能设备的兴起,智能设备之间可以通过物联网进行通信连接,且通信连接中的其中一个智能设备可以对另一个智能设备进行控制操作、投屏操作或其他操作。所谓投屏操作,是指将智能设备a的多媒体内容投送至智能设备b中,从而使得所述智能设备b也能够同步播放所述智能设备a的多媒体内容。
技术实现要素:
本申请实施例的目的是提供一种投屏方法、系统、计算机设备及计算机可读存储介质,用于解决传统投屏操作中特效渲染不佳导致的播放效果不佳和用户观影体验差的技术问题。
本申请实施例的一个方面提供了一种投屏方法,用于计算机设备中,所述方法包括:获取所述计算机设备的第一能力信息;获取目标终端的第二能力信息,其中,所述目标终端被配置为所述计算机设备的投屏对象;根据所述第一能力信息和所述第二能力信息,确定所述计算机设备中的多媒体内容的渲染操作执行方;如果所述计算机设备为所述渲染操作执行方,则对所述多媒体内容进行渲染操作;及发送渲染后的多媒体内容至所述目标终端。
本申请实施例的一个方面又提供了一种投屏系统,所述投屏系统包括:第一获取模块,用于获取所述计算机设备的第一能力信息;第二获取模块,用于获取目标终端的第二能力信息,其中,所述目标终端被配置为所述计算机设备的投屏对象;确定模块,用于根据所述第一能力信息和所述第二能力信息,确定所述计算机设备中的多媒体内容的渲染操作执行方;特效渲染模块,用于如果所述计算机设备为所述渲染操作执行方,则对所述多媒体内容进行渲染操作;及发送模块,用于发送渲染后的多媒体内容至所述目标终端。
本申请实施例的一个方面又提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述投屏方法的步骤。
本申请实施例的一个方面又提供了一种计算机可读存储介质,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述投屏方法的步骤。
本申请实施例提供的投屏方法、系统、计算机设备及计算机可读存储介质,本实施例所述的投屏方法可以根据计算机设备(投屏方)和目标终端(投屏对象)的能力,动态确定多媒体内容的渲染操作执行方,避免了传统投屏操作中常常因固定的渲染操作执行方的特效渲染能力不足导致特效渲染效果不佳的问题,有效提高了特效渲染效果,从而有效地提高了多媒体内容的播放效果和观影体验。
附图说明
图1示意性示出了根据本申请实施例的投屏方法的投屏系统网络架构图;
图2示意性示出了根据本申请实施例的投屏系统的功能图;
图3示意性示出了根据本申请实施例一的投屏方法的流程图;
图4示意性示出了图2中步骤s302的子步骤;
图5示意性示出了图2中步骤s304的子步骤;
图6示意性示出了图2中步骤s304的另一子步骤;
图7示意性示出了图2中步骤s304的另一子步骤;
图8示意性示出了根据本申请实施例一的投屏方法的另一流程图;
图9示意性示出了根据本申请实施例一的投屏方法的另一流程图;
图10示意性示出了根据本申请实施例一的投屏方法在一个具体场景下的数据流向图;
图11示意性示出了根据本申请实施例一的投屏方法在一个具体场景下的操作流程图;
图12示意性示出了根据本申请实施例二的投屏方法的流程图;
图13示意性示出了根据本申请实施例二的投屏方法的另一流程图;
图14示意性示出了根据本申请实施例二的投屏方法的另一流程图;
图15示意性示出了根据本申请实施例二的投屏方法的另一流程图;
图16示意性示出了根据本申请实施例三的投屏系统的框图;及
图17示意性示出了根据本申请实施例四的计算机设备的硬件架构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
图1示意性示出了根据本申请实施例的投屏方法的投屏系统网络架构图。所述投屏系统网络架构图中包括计算机设备2、目标终端4、其他终端6、路由器8、服务器10。其中:
计算机设备2,可以作为投屏系统网络架构中的发送端,用于将多媒体内容投屏到其他设备中以及发送各类指令到其他设备中。在示例性的实施例中,所述计算机设备2包括,但不限于,智能手机、平板电脑、游戏机、膝上型计算机等。
目标终端4和其他终端6,可以作为投屏系统网络架构中的展示端,用于接收计算机设备2的多媒体内容和各类指令,并将接收到的多媒体内容同步播放到自身设备的显示面板或关联设备的显示面板中。所述目标终端4可以是诸如虚拟现实设备、机顶盒、智能电视、车辆终端、大型露天显示面板等屏幕较大的相关设备,当然,也可以是智能手机、平板电脑、膝上型计算机等屏幕较小的相关设备。
路由器8,可以作为投屏系统网络架构中的网关,用于组建局域网以及提供互联网服务。所述路由器8能够为计算机设备2和目标终端4、其他终端6之间提供本地连接。
服务器10,可以作为投屏系统网络架构中的云端设备,用于提供云端服务,例如云端账户管理服务等。所述服务器10可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。
计算机设备2可以通过第一网络或第二网络发现目标终端4,并且基于所述第一网络或所述第二网络与目标终端4建立网络连接。通过该建立的网络连接,计算机设备2可以将需要投屏的多媒体内容投放到目标终端4中,通过目标终端4播放出来。所述第一网络可以是局域网,所述局域网可以是有线局域网或无线局域网。如图1所示,所述无线局域网可以是由路由器8组建的wi-fi网络。所述第二网络可以是广域网,如互联网。所述广域网可以包括物理链路,例如同轴电缆链路,双绞线电缆链路,光纤链路,其组合等。所述广域网还可以包括无线链路,诸如蜂窝链路,卫星链路等。
在示例性的实施例中,如图2所示,计算机设备2可以具备有多个功能,如:处于用户交互层的设备发现功能、拍摄特效控制功能、媒体播放控制功能、互动控制功能,处于核心服务层的能力探测功能、多媒体处理功能、控制命令处理功能、互动扩展功能等,以及处于网络层的标准交互协议、自定义数据传输协议、反馈调节协议等。相应的,目标终端4也可以具备有多个功能,如:处于用户交互层的设备发现功能、拍摄特效展示功能、媒体播放响应功能、互动展示功能,处于核心服务层的能力探测功能、多媒体处理功能、控制命令处理功能、互动扩展功能等,以及处于网络层的标准交互协议、自定义数据传输协议、反馈调节协议等。
在计算机设备2中,设备发现功能在于主动或被动发现投屏对象(如目标终端4);拍摄特效控制功能在于提供音频或视频特效渲染服务,音频特效可以包括音频混响、变速、变调、限制、回声、压缩、增益控制、均衡控制等,视频特效可以包括美颜、美妆、人脸识别、二维贴纸、三维贴纸等;媒体播放控制功能在于控制多媒体内容的播放;互动控制功能在于发送互动信息,如虚拟汽车、文字、图片等;能力探测功能在于采集计算机设备2自身的第一能力信息和获取投屏对象(如目标终端4)的第二能力信息;多媒体处理功能在于多媒体的采集和编码等;控制命令处理功能在于发送和接收交互数据和命令;互动扩展功能在于互动内容发送到投屏对象(如目标终端4)上使得投屏对象上能够显示所述互动内容;标准交互协议、自定义数据传输协议、反馈调节协议等是用于网络层的数据传输。
在目标终端4中,设备发现功能在于使得目标终端4能够被计算机设备2所发现;拍摄特效展示功能可以提供音频或视频特效渲染服务和播放特效渲染后的多媒体内容,音频特效可以包括音频混响、变速、变调、限制、回声、压缩、增益控制、均衡控制等,视频特效可以包括美颜、美妆、人脸识别、二维贴纸、三维贴纸等;媒体播放控制响应功能在于响应计算机设备2发送的多媒体播放的控制指令;互动展示功能在于展示互动信息,如虚拟汽车、文字、图片等;能力探测功能在于采集目标终端4自身的第二能力信息,并将第二能力信息提供给计算机设备2;多媒体处理功能在于多媒体内容的解码等;控制命令处理功能在于发送和接收交互数据和命令;互动扩展功能在于接收计算机设备2发送的互动内容,并将所述互动内容显示在显示屏上;标准交互协议、自定义数据传输协议、反馈调节协议等是用于网络层的数据传输。
以上对计算机设备2和目标终端4的各个功能做了简单介绍。
计算机设备2可以向目标终端4实施投屏操作。
但是,投屏操作有些会涉及到特效渲染以增加用户黏度。现有的投屏操作是将计算机设备2或者目标终端4固定为特效渲染操作执行方。虽然计算机设备2和目标终端4可能具有较为完整的功能,但是受限于硬件、软件等方面的约束,计算机设备2或目标终端4的处理能力(如特效渲染能力)可能很差。如果作为特效渲染操作执行方的计算机设备2或者目标终端4处理能力不足,往往会因为这种能力不足而导致对多媒体内容进行特效渲染后,所呈现出特效渲染效果比较差,进而导致:计算机设备2提供的多媒体内容,在目标终端4上的播放效果不佳,从而影响用户观影体验。以计算机设备2为例,在计算机设备2的特效渲染能力很差的情况下,如果固定地由计算机设备2作为渲染操作执行方对待投屏的多媒体内容进行特效渲染操作,则该多媒体内容的特效渲染效果可能达不到预期渲染效果。如果计算机设备2将该未达到预期渲染效果的多媒体内容投送给目标终端4进行播放,则该未达到预期渲染效果的多媒体内容在目标终端4中的播放效果同样难以达到预期播放效果,降低了用户观影体验。
本申请旨在借助能力探测功能来决策多媒体内容的渲染操作执行方。也就是说,本申请旨在动态调整对多媒体内容进行特效渲染的运行目标主机。这样可以避免某个固定的渲染操作执行方因为特效渲染的处理能力不足而使得多媒体内容的特效渲染效果受到影响,进而影响所述多媒体内容的最终播放效果和降低用户观影体验。
实施例一
图3示意性示出了根据本申请实施例一的投屏方法的流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备2为执行主体进行示例性描述。
如图3所示,该投屏方法可以包括步骤s300~s308,其中:
步骤s300,获取所述计算机设备的第一能力信息。
在示例性的实施例中,所述第一能力信息可以包括n个第一子能力信息,所述n个第一子能力信息包括:第一设备型号信息、第一cpu能力信息、第一gpu能力信息、第一存储能力信息、第一声卡能力信息、第一显卡能力信息、第一操作系统信息、第一图形渲染接口信息和/或第一编解码能力信息。n为≥1的正整数。其中:
第一设备型号信息,包括:计算机设备2的厂商、型号等;
第一cpu(中央处理器,centralprocessingunit)能力信息,包括:计算机设备2中的cpu的厂商、型号、性能等;
第一gpu(图形处理器,graphicsprocessingunit)能力信息,包括:计算机设备2中的gpu的厂商、型号、性能等;
第一存储能力信息,包括:计算机设备2中的易失性存储器大小和/或非易失性存储器大小,其中,所述易失性存储器或所述非易失性存储器可以用于存放特效数据;
第一声卡能力信息,包括:计算机设备2中的声卡的厂商、型号、性能等;
第一显卡能力信息,包括:计算机设备2中的显卡的厂商、型号、性能等;
第一操作系统信息,包括:计算机设备2中的系统类型以及系统版本,如andirodq;
第一图形渲染接口信息,包括:计算机设备2中的图形渲染接口的图形渲染接口类型,如opengl或directx,以及图形渲染接口版本号,如opengl2.0或opengl3.0;
第一编解码能力信息,包括:计算机设备2中的编解码系统(如h264/h265),及是否支持硬件编解码。
步骤s302,获取目标终端的第二能力信息,其中,所述目标终端被配置为所述计算机设备的投屏对象。
在示例性的实施例中,所述第二能力信息包括n个第二子能力信息,所述n个第二子能力信息包括:第二设备型号信息、第二cpu能力信息、第二gpu能力信息、第二存储能力信息、第二声卡能力信息、第二显卡能力信息、第二操作系统信息、第二图形渲染接口信息和/或第二编解码能力信息。n为≥1的正整数。其中:
第二设备型号信息,包括:目标终端4的厂商、型号等;
第二cpu能力信息,包括:目标终端4中的cpu的厂商、型号、性能等;
第二gpu能力信息,包括:目标终端4中的gpu的厂商、型号、性能等;
第二存储能力信息,包括:目标终端4中的易失性存储器大小和/或非易失性存储器大小,其中,所述易失性存储器或所述非易失性存储器可以用于存放特效数据;
第二声卡能力信息,包括:目标终端4中的声卡的厂商、型号、性能等;
第二显卡能力信息,包括:目标终端4中的显卡的厂商、型号、性能等;
第二操作系统信息,包括:目标终端4中的系统类型以及系统版本,如andirod6.0;
第二图形渲染接口信息,包括:目标终端4中的图形渲染接口的图形渲染接口类型以及图形渲染接口版本号;
第二编解码能力信息,包括:目标终端4中的编解码系统(如h264/h265),及是否支持硬件编解码。
在示例性的实施例中,如图4所示,所述步骤s304可以包括步骤s400~s404,其中:步骤s400,将能力请求信息发送至所述目标终端,以请求所述目标终端返回所述第二能力信息;步骤s402,接收所述目标终端返回的所述第二能力信息。当然,在预先约定的规则下,如果计算机设备2和目标终端4成功建立连接,目标终端4也可以主动收集第二能力信息,并主动将该第二能力信息提供给计算机设备2。
步骤s304,根据所述第一能力信息和所述第二能力信息,确定计算机设备2中的多媒体内容的渲染操作执行方。
计算机设备2基于其能力探测功能,可能得到以下几种情况:
第一种情况:所述第一能力信息和所述第二能力信息均获取成功;
第二种情况:所述第一能力信息和所述第二能力信息均获取失败;
第三种情况:所述第一能力信息获取成功和所述第二能力信息获取失败,第二能力信息可以表示为null;
第四种情况:所述第一能力信息获取失败和所述第二能力信息获取成功,第一能力信息可以表示为null。
针对所述第一种情况,计算机设备2可以根据所述第一能力信息和所述第二能力信息,来比较计算机设备2的处理能力和目标终端4的处理能力,根据比较结果来确定所述渲染操作执行方。例如,如果计算机设备2的处理能力大于目标终端4的处理能力,则确定计算机设备2为所述渲染操作执行方;如果计算机设备2的处理能力小于目标终端4的处理能力,则确定目标终端4为所述渲染操作执行方。
针对所述第二种情况,计算机设备2可以通过预先规定的默认规则确定所述渲染操作执行方。例如,如果计算机设备2在所述默认规则下为所述渲染操作执行方,则将计算机设备2确定为所述渲染操作执行方;如果目标终端4在所述默认规则下为所述渲染操作执行方,则将目标终端4确定为所述渲染操作执行方。
针对所述第三种情况,计算机设备2可以通过所述默认规则确定所述渲染操作执行方。计算机设备2也可以根据所述第一能力信息,判断计算机设备2是否有能力对所述多媒体内容进行渲染操作。如果计算机设备2有能力对所述多媒体内容进行渲染操作,则确定计算机设备2为所述渲染操作执行方。如果计算机设备2没有能力对所述多媒体内容进行渲染操作,则通过所述默认规则确定所述渲染操作执行方。
针对所述第四种情况,计算机设备2可以通过所述默认规则确定所述渲染操作执行方。计算机设备2也可以根据所述第二能力信息,判断目标终端4是否有能力对所述多媒体内容进行渲染操作。如果目标终端4有能力对所述多媒体内容进行渲染操作,则确定目标终端4为所述渲染操作执行方。如果目标终端4没有能力对所述多媒体内容进行渲染操作,则通过所述默认规则确定所述渲染操作执行方。
在示例性的实施例中,如图5所示,所述步骤s304可以包括步骤s500~s504,其中:步骤s500,判断所述第一能力信息和所述第二能力信息是否均获取成功;步骤s502,如果所述第一能力信息和所述第二能力信息均获取成功,则判断所述第一能力信息是否达到渲染多媒体内容所需的能力基准线,以及所述第二能力信息是否达到所述能力基准线;步骤s504,如果所述第一能力信息达到所述能力基准线且所述第二能力信息达到所述能力基准线,则根据所述第一能力信息和所述第二能力信息,确定所述渲染操作执行方。
在示例性的实施例中,如图5所示,所述步骤s304可以包括步骤s506~s510,其中:步骤s506,如果所述第一能力信息达到所述能力基准线且所述第二能力信息未达到所述能力基准线,则确定所述计算机设备为所述渲染操作执行方;步骤s508,如果所述第一能力信息未达到所述能力基准线且所述第二能力信息达到所述能力基准线,则确定所述目标终端为所述渲染操作执行方;步骤s510,如果所述第一能力信息未达到所述能力基准线且所述第二能力信息未达到所述能力基准线,则根据所述第一能力信息和所述第二能力信息,确定所述渲染操作执行方。
通过步骤s500~s510,也可以有效地选择出用于渲染所述多媒体内容的渲染操作执行方。
在示例性的实施例中,所述能力基准线是根据所述多媒体内容对应的渲染特效确定的,其中,所述渲染特效包括音频特效和/或视频特效。音频特效可以包括音频混响、变速、变调、限制、回声、压缩、增益控制、均衡控制等,视频特效可以包括美颜、美妆、人脸识别、二维贴纸、三维贴纸等。不同的渲染特效对软件、硬件的要求是不同的。因此,所述能力基准线根据不同的渲染特效动态变化的。例如,多媒体内容对应的渲染特效是人脸贴纸特效,则对应于人脸贴纸特效的能力基准线包括:存储空间200m、内存500m、andirod版本9.0和opengl2.0。上述能力基准线是对所述多媒体内容进行人脸贴纸特效渲染的最低要求。例如,计算机设备2的操作系统为android操作系统,且andirod操作系统的版本为8.0,则说明计算机设备2不具备对所述多媒体内容进行人脸贴纸特效渲染的能力。
在示例性的实施例中,比较所述第一能力信息和所述第二能力信息并根据比较结果确定所述渲染操作执行方,可以通过多个实施方式。下面将示例性地提供两种实施方式。
第一种实施方式:根据所述第一能力信息和所述第二能力信息,比较计算机设备2和目标终端4的综合能力;
第二种实施方式:根据所述第一能力信息和所述第二能力信息,比较计算机设备2的音频特效处理能力和目标终端4的音频特效处理能力,该种实施方式特别适用于仅包括音频的多媒体内容;
第三种实施方式:根据所述第一能力信息和所述第二能力信息,比较计算机设备2的视频特效处理能力和目标终端4的视频特效处理能力,该种实施方式特别适用于仅包括视频的多媒体内容;
第四种实施方式:根据各个所述n个第一子能力信息和所述n个第二子能力信息中的子能力重要程度,依次进行比较直至确定计算机设备2和目标终端4谁更加适合作为渲染操作执行方。
针对所述第一种实施方式:为了能够反映计算机设备2和目标终端4之间的能力差异,从而选择出能力更优的设备作为所述渲染操作执行方,如图6所示,比较所述第一能力信息和所述第二能力信息并根据比较结果确定所述渲染操作执行方,可以通过步骤s600~s608实现。其中,步骤s600,将m个第一子能力信息和m个第二子能力信息进行一一对比,以得到m个第一子能力信息对应的m个能力分值pi和m个第二子能力信息对应的m个能力分值qi;其中,pi表示第i个第一子能力信息和第i个第二子能力信息进行比较得到的对应于第i个第一子能力信息的能力分值,qi表示第i个第一子能力信息和第i个第二子能力信息进行比较得到的对应于第i个第二子能力信息的能力分值,1≤i≤m,1≤m≤n;步骤s602,根据所述m个第一子能力信息对应的m个能力分值,得到所述第一能力信息的第一综合能力分值
在示例性的实施例中,wi为动态值,其大小与所述第i个第一子能力信息对应的能力分值pi和所述第i个第二子能力信息对应的能力分值qi之间的分值差成正向比例关系。
在示例性的实施例中,为了能够更好地反映计算机设备2和目标终端4之间的能力差异,wi为动态值,其大小与所述第i个第一子能力信息对应的能力分值pi和所述第i个第二子能力信息对应的能力分值qi之间的分值差成正向比例关系。例如,所述第i个第一子能力信息为第一cpu信息,所述第i个第二子能力信息为第二cpu信息,如果所述第一cpu能力信息的能力分值和第二cpu信息的能力分值的分值差(如,0)很小,则所述第一cpu能力信息和第二cpu信息对应的权重值wi就会比较低;反之,如果所述第一cpu能力信息的能力分值和第二cpu能力信息的能力分值的分值差很大,则所述第一cpu能力信息和第二cpu能力信息对应的权重值wi就会比较高。所述正向比例关系对应的具体函数关系是可以由用户设定的。例如,所述第i个第一子能力信息为第一存储能力信息,所述第i个第二子能力信息为第二存储能力信息,如果所述第一存储能力信息的能力分值和第二存储能力信息的能力分值的分值大,且根据所述第一存储能力信息获知计算机设备2的os系统运行不流畅,则所述第一存储能力信息和所述第二存储能力信息对应的权重值就会比较高,其他能力的权重值比较低。
在示例性的实施例中,wi也可以是预设值。例如,如果决策目的是决定视频特效的渲染操作执行方,gpu、图形渲染接口类型和图形渲染接口版本号可以设置比较高的权重值。
针对第二种实施方式:从n个第一能力信息从选择出与音频特效关联的多个第一能力信息,从n个第二能力信息从选择出与音频特效关联的多个第二能力信息。参照第一种实施方式的具体实施步骤,根据所述与音频特效关联的多个第一能力信息和所述与音频特效关联的多个第二能力信息,确定所述渲染操作执行方。
针对第三种实施方式:从n个第一能力信息从选择出与视频特效关联的多个第一能力信息,从n个第二能力信息从选择出与视频特效关联的多个第二能力信息。参照第一种实施方式的具体实施步骤,根据所述与视频特效关联的多个第一能力信息和所述与视频特效关联的多个第二能力信息,确定所述渲染操作执行方。
针对第四种实施方式:为了能够快速地反映计算机设备2和目标终端4之间的能力差异,以便以更少的运算量快速地选择出能力更优的设备作为所述渲染操作执行方,如图7所示,为了更有效地选择能力更优且更加适合特效渲染的设备,比较所述第一能力信息和所述第二能力信息并根据比较结果确定所述渲染操作执行方,可以包括如下步骤:
步骤s700,根据所述第一cpu能力信息和所述第二cpu能力信息,比较所述计算机设备的第一cpu能力和所述目标终端的第二cpu能力。
步骤s702,如果所述第一cpu能力和所述第二cpu能力不同,则根据所述第一cpu能力和所述第二cpu能力之间的比较结果,确定所述渲染操作执行方。
计算机设备2可以根据计算机设备2中的cpu的厂商、型号、性能等和目标终端4中的cpu的厂商、型号、性能等,来比较计算机设备2的cpu能力是否优于目标终端4的cpu能力。
作为示例,如果计算机设备2中的cpu为高通公司的晓龙855型号,目标终端4中的cpu为高通公司的晓龙660型号,则说明计算机设备2的cpu能力优于目标终端4的cpu能力,因此,可以确定计算机设备2为所述渲染操作执行方。
作为示例,如果计算机设备2中的cpu为高通公司的晓龙855型号,目标终端4中的cpu也为高通公司的晓龙855型号,则说明计算机设备2中的cpu和目标终端4中的cpu是相同的,因此,无法通过cpu能力来分辨出计算机设备2和目标终端2的优劣。此时,计算机设备2需要进一步的依赖其他的能力信息比较,例如设备型号信息、gpu能力信息等。
示例性的,在计算机设备2的cpu能力和目标终端4的cpu能力是相同的情况下,可以依赖设备型号信息来评估计算机设备2的cpu能力是否优于目标终端4的cpu能力。如果计算机设备2是小米公司产品,目标终端2时华为公司产品,计算机设备2可以根据预设规则或者运行测试程序共同评估计算机设备2的cpu能力和目标终端4的cpu能力,并且根据评估结果来确定计算机设备2的cpu能力是否优于目标终端4的cpu能力。
示例性的,在计算机设备2中的cpu能力和目标终端4中的cpu能力是相同的情况下,计算机设备2也可以进一步依赖gpu能力比较,来确定所述渲染操作执行方。具体如下:
在示例性的实施例中,比较所述第一能力信息和所述第二能力信息并根据比较结果确定所述渲染操作执行方,还包括:
步骤s704,如果所述第一cpu能力和所述第二cpu能力相同,则根据所述第一gpu能力信息和所述第二gpu能力信息,比较所述计算机设备的第一gpu能力和所述目标终端的第二gpu能力。
步骤s706,如果所述第一gpu能力和所述第二gpu能力不同,则根据所述第一gpu能力和所述第二gpu能力之间的比较结果,确定所述渲染操作执行方。
计算机设备2可以根据计算机设备2中的gpu的厂商、型号、性能等和目标终端4中的gpu的厂商、型号、性能等,来比较计算机设备2的gpu能力是否优于目标终端4的gpu能力。
作为示例,如果计算机设备2的gpu能力优于目标终端4的gpu能力,则可以确定计算机设备2为所述渲染操作执行方。计算机设备2可以根据预设规则或者运行测试程序共同评估计算机设备2的gpu能力和目标终端4的gpu能力,并且根据评估结果来确定计算机设备2的gpu能力是否优于目标终端4的gpu能力。
作为示例,如果计算机设备2的gpu能力和目标终端4的gpu能力是相同的,因此,无法通过gpu能力来分辨出计算机设备2和目标终端2的优劣。此时,计算机设备2需要进一步的依赖其他的能力信息比较,例如操作系统版本信息、设备型号信息等。
示例性的,在计算机设备2的gpu能力和目标终端4的gpu能力相同的情况下,计算机设备2也可以进一步依赖设备型号比较,来确定所述渲染操作执行方。具体如下:
在示例性的实施例中,为了更有效地选择能力更优且更加适合特效渲染的设备,比较所述第一能力信息和所述第二能力信息并根据比较结果确定所述渲染操作执行方,还包括:
步骤s708,如果所述第一gpu能力和所述第二gpu能力相同,则根据所述第一存储能力信息和所述第二存储能力信息,比较所述计算机设备的第一存储能力和所述目标终端的第二存储能力。
步骤s710,如果所述第一存储能力和所述第二存储能力不同,则根据所述第一存储能力和所述第二存储能力之间的比较结果,确定所述渲染操作执行方。
根据计算机设备2中的rom、ram的厂商、大小、可用空间大小等和目标终端4中的rom、ram的厂商、大小、可用空间大小等,计算机设备2可以比较并判断计算机设备2的rom、ram能力是否优于目标终端4的rom、ram能力。
作为示例,如果计算机设备2的rom、ram能力优于目标终端4的rom、ram能力,则可以确定计算机设备2为所述渲染操作执行方。计算机设备2可以根据预设规则或者运行测试程序共同评估计算机设备2的rom、ram能力和目标终端4的rom、ram能力,并且根据评估结果来确定计算机设备2的rom、ram能力是否优于目标终端4的rom、ram能力。
作为示例,如果计算机设备2的rom、ram能力和目标终端4的rom、ram能力评估得分是相同的,则无法分辨出计算机设备2的rom、ram和目标终端2的rom、ram之间的优劣。此时,计算机设备2需要进一步的依赖其他的能力信息比较,例如,声卡能力信息、显卡能力信息、设备型号信息、操作系统版本信息等。
例如:如果计算机设备2的rom、ram能力和目标终端4的rom、ram能力评估得分是相同的,计算机设备2进一步的依赖其他的能力信息比较,例如声卡能力信息。具体如下:
在示例性的实施例中,为了更有效地选择能力更优且更加适合特效渲染的设备,比较所述第一能力信息和所述第二能力信息并根据比较结果确定所述渲染操作执行方,还包括:
步骤s712,如果所述第一存储能力和所述第二存储能力相同,则根据所述第一编解码能力信息和所述第二编解码能力信息,比较所述计算机设备的第一编解码能力和所述目标终端的第二编解码能力。
步骤s714,如果所述第一编解码能力和所述第二编解码能力不同,则根据所述第一编解码能力和所述第二编解码能力之间的比较结果,确定所述渲染操作执行方。
是否支持硬件编解码、支持的编解码类型(如h264、h265)、系统接口的api版本等,可用用于评估计算机设备2的编解码能力的能力分值和目标终端4的编解码能力的能力分值。基于计算机设备2的编解码能力的能力分值和目标终端4的编解码能力的能力分值,计算机设备2可以判断计算机设备2的编解码能力是否优于目标终端4的编解码能力。作为示例,如果计算机设备2的编解码能力优于目标终端4的编解码能力,则可以确定计算机设备2为所述渲染操作执行方。
作为示例,如果计算机设备2的编解码能力的能力分值和目标终端4的编解码能力的能力分值是相同的,则无法通过编解码能力来分辨出计算机设备2和目标终端2的优劣。此时,计算机设备2需要进一步的依赖其他的能力信息比较,例如存储能力信息等。具体如下:
在示例性的实施例中,为了更有效地选择能力更优且更加适合特效渲染的设备,比较所述第一能力信息和所述第二能力信息并根据比较结果确定所述渲染操作执行方,还包括:
步骤s716,如果所述第一编解码能力和所述第二编解码能力相同,则根据所述第一设备型号信息和所述第二设备型号信息,获取所述计算机设备的第一设备型号评分和所述目标终端的第二设备型号评分,并比较所述第一设备型号评分和所述第二设备型号评分。
步骤s718,如果所述第一设备型号评分和所述第二设备型号评分不同,则根据所述第一设备型号评分和所述第二设备型号评分之间的比较结果,确定所述渲染操作执行方。
根据计算机设备2的厂商、型号等和目标终端4的厂商、型号等,计算机设备2可以比较计算机设备2是否优于目标终端4。计算机设备2可以根据预设规则或者运行测试程序共同评估计算机设备2和目标终端4,并且根据评估结果来确定计算机设备2是否优于目标终端4。
作为示例,如果计算机设备2优于目标终端4,则可以确定计算机设备2为所述渲染操作执行方。
作为示例,如果计算机设备2的厂商、型号等和目标终端4的厂商、型号等是相同的,因此,无法通过厂商、型号等来分辨出计算机设备2和目标终端2的优劣。此时,计算机设备2需要进一步的依赖其他的能力信息比较,例如操作系统信息等。具体如下。
在示例性的实施例中,为了更有效地选择能力更优且更加适合特效渲染的设备,比较所述第一能力信息和所述第二能力信息并根据比较结果确定所述渲染操作执行方,还包括:
步骤s720,如果所述第一设备型号评分和所述第二设备型号评分相同,则根据所述第一操作系统信息和所述第二操作系统信息,获取所述计算机设备的第一操作系统评分和所述目标终端的第二操作系统评分,并比较所述第一操作系统评分和所述第二操作系统评分。
步骤s722,如果所述第一操作系统评分和所述第二操作系统评分不同,则根据所述第一操作系统评分和所述第二操作系统评分之间的比较结果,确定所述渲染操作执行方。
计算机设备2可以比较计算机设备2中的操作系统类型、操作系统版本等和目标终端4的操作系统类别、操作系统版本等,确定所述渲染操作执行方。需要说明的是,所述第一操作系统信息和所述第二操作系统信息的比较,是在cpu能力比较结果和存储能力比较结果的基础之上进行的,因为结合硬件比较结果和测试程序的得分来可以得出软件系统运行实时性、流畅性等其他参数指标。
在示例性的实施例中,如果计算机设备2中的操作系统和目标终端4中的操作系统评估得分是相同的,则无法分辨出计算机设备2的操作系统和目标终端4的操作系统之间的优劣。此时,计算机设备2需要进一步的依赖其他的能力信息比较,计算机设备2可以例如,声卡能力信息、显卡能力信息、图形渲染接口信息等。具体如下。
在示例性的实施例中,为了更有效地选择能力更优且更加适合特效渲染的设备,比较所述第一能力信息和所述第二能力信息并根据比较结果确定所述渲染操作执行方,还包括:
步骤s724,如果所述第一操作系统评分和所述第二操作系统评分相同,则根据所述第一声卡能力信息和所述第二声卡能力信息,比较所述计算机设备的第一声卡能力和所述目标终端的第二声卡能力。
步骤s726,如果所述第一声卡能力和所述第二声卡能力不同,则根据所述第一声卡能力和所述第二声卡能力之间的比较结果,确定所述渲染操作执行方。
根据计算机设备2中的声卡的厂商、型号、性能等和目标终端4中的声卡的厂商、型号、性能等,计算机设备2可以比较并判断计算机设备2中的声卡能力是否优于目标终端4中的声卡能力。
作为示例,如果计算机设备2中的声卡能力优于目标终端4中的声卡能力,则可以确定计算机设备2为所述渲染操作执行方。示例性的,计算机设备2可以根据预设规则或者运行测试程序共同评估计算机设备2中的声卡能力和目标终端4中的声卡能力,并且根据评估结果来确定计算机设备2中的声卡能力是否优于目标终端4中的声卡能力。
作为示例,如果计算机设备2中的声卡能力和目标终端4中的声卡能力评估得分是相同的,则无法分辨出计算机设备2的声卡能力和目标终端2的声卡能力之间的优劣。此时,计算机设备2需要进一步的依赖其他的能力信息比较,计算机设备2可以例如,显卡能力信息、图形渲染接口信息等。具体如下。
在示例性的实施例中,为了更有效地选择能力更优且更加适合特效渲染的设备,比较所述第一能力信息和所述第二能力信息并根据比较结果确定所述渲染操作执行方,还包括:
步骤s728,如果所述第一声卡能力和所述第二声卡能力相同,则根据所述第一显卡能力信息和所述第二显卡能力信息,比较所述计算机设备的第一显卡能力和所述目标终端的第二显卡能力。
步骤s730,如果所述第一显卡能力和所述第二显卡能力不同,则根据所述第一显卡能力和所述第二显卡能力之间的比较结果,确定所述渲染操作执行方。
根据计算机设备2中的显卡的厂商、型号、性能等和目标终端4中的显卡的厂商、型号、性能等,计算机设备2可以比较并判断计算机设备2中的显卡能力是否优于目标终端4中的显卡能力。
作为示例,如果计算机设备2中的显卡能力优于目标终端4中的显卡能力,则可以确定计算机设备2为所述渲染操作执行方。示例性的,计算机设备2可以根据预设规则或者运行测试程序共同评估计算机设备2中的显卡能力和目标终端4中的显卡能力,并且根据评估结果来确定计算机设备2中的显卡能力是否优于目标终端4中的显卡能力。
作为示例,如果计算机设备2中的显卡能力和目标终端4中的显卡能力评估得分是相同的,则无法分辨出计算机设备2的显卡能力和目标终端2的显卡能力之间的优劣。此时,计算机设备2需要进一步的依赖其他的能力信息比较,例如,图形渲染接口信息等。
作为示例,根据计算机设备2中的图形渲染接口的图形渲染接口类型以及图形渲染接口版本号,计算机设备2可以得到计算机设备2的图形渲染能力的评估得分;并且,根据目标终端4中的图形渲染接口的图形渲染接口类型以及图形渲染接口版本号,计算机设备2可以得到目标终端4的图形渲染能力的评估得分。
如果依赖其他能力比较,仍然没有分辨出计算机设备2和目标终端4谁更适合作为所述多媒体内容的渲染操作执行方,则根据默认规则确定所述渲染操作执行方。
步骤s306,如果所述计算机设备2为所述渲染操作执行方,则对所述多媒体内容进行渲染操作。
所述渲染操作可以是音频特效渲染和视频特效渲染。
如果所述计算机设备2为所述渲染操作执行方,计算机设备2可以由以下几种操作策略:
第一种操作策略:对所述多媒体内容进行渲染操作;
第二种操作策略:对所述多媒体内容进行渲染操作,直至计算机设备2的负载过量。在计算机设备2负载过量的情形下,计算机设备2可能进一步确定是否执行部分特效渲染操作或不进行特效渲染操作。
步骤s308,发送渲染后的多媒体内容至所述目标终端。
在示例性的实施例中,如果所述多媒体内容是音频内容,计算机设备2则根据音频特效数据对所述音频内容进行音频特效渲染,并将音频特效渲染后的音频内容发送目标终端4。
在示例性的实施例中,如果所述多媒体内容是视频内容,计算机设备2则根据视频特效数据对所述视频内容进行视频特效渲染,并将视频特效渲染后的视频内容发送目标终端4。
在示例性的实施例中,如果所述多媒体内容包括音频内容和视频内容,计算机设备2则根据音频特效数据对所述多媒体内容中的音频内容进行音频特效渲染,根据视频特效数据对所述多媒体内容中的视频内容进行视频特效渲染,并将特效渲染后的多媒体内容发送目标终端4。
如果所述计算机设备2不是所述渲染操作执行方,计算机设备2可以执行以下几种示例性的后续操作流程。
在示例性的实施例中,如图8所示,所述投屏方法还可以包括步骤s310a,如果计算机设备2不是所述渲染操作执行方,则将所述多媒体内容发送至目标终端。也就是说,当目标终端4被确定为所述渲染操作执行方,计算机设备2不对所述多媒体内容进行渲染操作,将该未经渲染的多媒体内容发送给目标终端4,由目标终端4对所述多媒体内容进行特效渲染。
在示例性的实施例中,如图9所示,所述投屏方法还可以包括步骤s310b1~s310b3,如果所述计算机设备不是所述渲染操作执行方,则执行以下操作:步骤s310b1,根据所述第一能力信息,判断所述第一能力信息是否达到渲染所述多媒体内容所需的能力基准线;步骤s310b2,如果所述第一能力信息达到所述能力基准线,则获取所述计算机设备的当前负载情况;步骤s310b3,如果所述当前负载处于预设范围内,则对所述多媒体内容进行渲染操作或部分渲染操作。如果所述当前负载没有处于预设范围内,则计算机设备2不对所述多媒体内容执行渲染操作,并将所述多媒体内容直接发送给目标终端4,由目标终端4进行特效渲染操作。
通过上述步骤s310b1~s310b3可知,在已经确定目标终端4为渲染操作执行方的前提下,计算机设备2仍然可以动态地决定所述多媒体内容中的某一帧视频数据在哪做一端做特效渲染。具体如下:在其能力满足能力基准线的情况下,计算机设备2可以根据负载情况来动态决策对所述多媒体内容中的某一帧视频数据进行特效渲染。目标终端4会检测其接收到的某一帧视频数据是否完成了特效渲染。如果检测到接收到的某一帧视频数据完成了特效渲染,则直接播放所述接收到的某一帧视频数据;如果检测到接收到的某一帧视频数据没有经过特效渲染,则会继续判断这一帧视频数据有没有特效的需求。这一帧视频数据有特效渲染需求,目标终端4则对这一帧视频数据进行特效渲染,并显示特效渲染后的帧视频数据。
为了便于理解,下面智能手机和智能电视为例提供一个具体场景。
如图10所示,在该具体场景中智能手机2和智能电视4之间可以进行多种数据交互,如多媒体内容、控制数据、互动数据等。其中,多媒体内容需要经由编解码、特效渲染等。
如图11所示,为智能手机2和智能电视4之间的投屏操作的流程图。
步骤s1100,智能手机通过局域网或互联网发现智能电视,并将智能电视作为投屏对象。
步骤s1102,智能手机探测自身的第一能力信息以及向智能电视请求获取智能电视的第二能力信息,然后根据第一能力信息和第二能力信息确定渲染操作执行方。
步骤s1104,智能手机获取摄像头内容。
步骤s1106,智能手机判断是否对摄像头内容执行特效渲染。如果是,进入步骤s1108;否则进入步骤s1110。
如果在步骤s1102中确定智能电视为渲染操作执行方:
智能手机需要判断其能力是否达到对摄像头内容进行特效渲染的能力基准线。如果没有达到能力基准线,则进入步骤s1110。如果达到能力基准线,智能手机需要进一步判断其当前负载状态;如果智能手机处于空闲状态,则进入步骤s1108;否则,可以进入步骤s1110。在达到能力基准线的情况下,智能手机可以根据其当前负载状态来动态决策是由自己完成特效渲染还是由智能电视来完成特效渲染。
如果在步骤s1102中确定智能手机为渲染操作执行方:
智能手机对所述摄像头内容进行特效渲染。在此期间,智能手机还需要进一步判断其当前负载状态;如果智能手机没有处于高负载状态,则进入步骤s1108;否则,可以进入步骤s1110。也就是说,在智能手机协商作为渲染操作执行方的情况下,智能手机也可以根据其当前负载状态来动态决策是由自己完成特效渲染还是由智能电视来完成特效渲染。
在已经确定渲染操作执行方的情形下,特效渲染操作的具体执行方还是可以在一些特殊情况下做出动态调整的。具体哪些属于特殊情况,是可以预先确定的,再此不赘述。
步骤s1108,智能手机对摄像头内容执行特效渲染,得到特效渲染后的视频帧。进入步骤s1110。
步骤s1110,智能手机对经由步骤s1108得到的特效渲染后的视频帧进行视频编码操作,或者对经由步骤s1104得到的摄像头内容(即,摄像头裸数据)进行视频编码操作。
步骤s1112,智能手机将经由步骤s1110得到的音视频数据发送到目标电视。
步骤s1114,智能电视接收智能手机发送的音视频数据。
步骤s1116,智能电视判断是否需要对所述接收到的音视频数据进行特效渲染。智能电视需要判断所述接收到的音视频数据是否已经完成特效渲染。如果已经完成特效渲染,则智能电视不需要对所述接收到的音视频数据进行特效渲染。如果没有完成特效渲染,智能电视需进一步判断所述接收到的音视频数据是否需要进行特效渲染。如果所述接收到的音视频数据需要进行特效渲染,则进入步骤s1118;否则进入步骤s1120。
步骤s1118,智能电视对所述接收到的音视频数据进行特效渲染。
步骤s1120,智能电视播放经由步骤s1116得到的音视频数据或经由步骤s1118得到的音视频数据。
通过上述内容可知:所述投屏操作可以服务智能手机特效功能的演示及大型会场新型特效功能的展示、现场互动及普通用户在家中拍摄互动型特效场景,例如,基于用户骨骼识别的运动健身型特效。
需要说明的是,本申请还可以满足各种应用需求中,例如:a)特效类功能发布会的现场大屏展示需求。b)特效功能结合大屏的多观众互动需求;c)全身型特效功能的内容摄取和效果展示的需求。
本申请对于特效演示者而言,可以由如下好处:a)不再需要通过小屏设备演示;b)可以将效果实时投屏同步到大屏设备上;c)可以将效果展示给更大范围的用户。
本申请对于普通用户而言,可以由如下好处:一些曾经可能在自己智能手机中无法完美体验的特效,也许可以借助大屏设备的渲染能力,将特效投递到大屏设备上渲染,使体验最佳。
实施例二
图12示意性示出了根据本申请实施例二的投屏方法的流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备2为执行主体进行示例性描述。
如图12所示,该投屏方法可以包括步骤s1200~s1208,其中:
步骤s1200,获取所述计算机设备的第一能力信息。
步骤s1202,获取目标终端的第二能力信息,其中,所述目标终端被配置为所述计算机设备的投屏对象。
步骤s1204,根据所述第一能力信息和所述第二能力信息,确定第一渲染操作执行方和第二渲染操作执行方,所述第一渲染操作执行方用于对多媒体内容中的第一部分进行渲染操作,所述第二渲染操作执行方用于对所述多媒体内容中的第二部分进行渲染操作。
步骤s1206,如果所述计算机设备为所述第一渲染操作执行方,则对所述多媒体内容中的第一部分进行渲染操作。
步骤s1208,如果所述计算机设备为所述第二渲染操作执行方,则对所述多媒体内容中的第二部分进行渲染操作。
在示例性的实施例中,所述渲染操作包括音频特效渲染操作和视频特效渲染操作。
在示例性的实施例中,如图13所示,所述步骤s1206可以包括步骤s1206':根据音频特效数据对所述多媒体内容中的音频内容进行特效渲染,生成渲染后的多媒体内容。所述音频特效数据可以是计算机设备中的数据、可以是目标终端4提供的数据,也可以是通过互联网获取的数据。
在示例性的实施例中,如图13所示,所述步骤s1208可以包括步骤s1208':根据视频特效数据对所述多媒体内容中的视频内容进行特效渲染,生成渲染后的多媒体内容。同样的,所述视频特效数据可以是计算机设备中的数据、可以是目标终端4提供的数据,也可以是通过互联网获取的数据。
在示例性的实施例中,如图14所示,投屏方法还可以包括步骤s1210:将所述渲染后的多媒体内容发送到所述目标终端,以便所述目标终端作为所述第二渲染操作执行方或所述第一渲染操作执行方对所述渲染后的多媒体内容进行渲染操作。
在示例性的实施例中,如图15所示,所述根据所述第一能力信息和所述第二能力信息,确定第一渲染操作执行方和第二渲染操作执行方,包括:根据所述第一能力信息中的第一音频能力信息和所述第二能力信息中的第二音频能力信息,确定所述第一渲染操作执行方。
所述第一音频能力信息包括以下一个或多个信息:第一cpu能力信息、第一存储能力信息、第一设备型号信息、第一操作系统信息和第一编解码能力信息;及所述第二音频能力信息包括以下一个或多个信息:第二cpu能力信息、第二存储能力信息、第二设备型号信息、第二操作系统信息和第二编解码能力信息。
在示例性的实施例中,如图15所示,所述根据所述第一能力信息和所述第二能力信息,确定第一渲染操作执行方和第二渲染操作执行方,包括:根据所述第一能力信息中的第一视频能力信息和所述第二能力信息中的第二视频能力信息,确定所述第一渲染操作执行方。
所述第一视频能力信息包括以下一个或多个信息:第一cpu能力信息、第一gpu能力信息、第一存储能力信息、第一图形渲染接口信息、第一设备型号信息、第一操作系统信息和第一编解码能力信息;及所述第二视频能力信息包括以下一个或多个信息:第二cpu能力信息、第二gpu能力信息、第二存储能力信息、第二图形渲染接口信息、第二设备型号信息、第二操作系统信息和第二编解码能力信息。
本申请实施例二的投屏方法,可以根据计算机设备(投屏方)和目标终端(投屏对象)的能力,确定哪一部分内容在投屏方执行特效渲染操作,哪一个部分内容在投屏对象中执行特效渲染操作,从而可以充分利用投屏方的优势和投屏对象的优势,可以最大限度利用投屏方和投屏对象的性能,提升运行效率,并且得到最优的特效渲染效果,进一步的提高了用户观影体验。
实施例三
图16示意性示出了根据本申请实施例三的投屏系统的框图,该投屏系统可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例中各程序模块的功能。
如图16所示,该投屏系统1600可以包括第一获取模块1610、第二获取模块1620、确定模块1630、特效渲染模块1640和发送模块1650,其中:
第一获取模块1610,用于获取所述计算机设备的第一能力信息。
第二获取模块1620,用于获取目标终端的第二能力信息,其中,所述目标终端被配置为所述计算机设备的投屏对象。
确定模块1630,用于根据所述第一能力信息和所述第二能力信息,确定所述计算机设备中的多媒体内容的渲染操作执行方。
特效渲染模块1640,用于如果所述计算机设备为所述渲染操作执行方,则对所述多媒体内容进行渲染操作。
发送模块1650,用于发送渲染后的多媒体内容至所述目标终端。
在示例性的实施例中,所述发送模块1650,还用于:如果所述计算机设备不是所述渲染操作执行方,则将所述多媒体内容发送至所述目标终端。
在示例性的实施例中,所述特效渲染模块1640,还用于:如果所述计算机设备不是所述渲染操作执行方,则执行以下操作:根据所述第一能力信息,判断所述第一能力信息是否达到渲染所述多媒体内容所需的能力基准线;如果所述第一能力信息达到所述能力基准线,则获取所述计算机设备的当前负载情况;及如果所述当前负载处于预设范围内,则对所述多媒体内容进行渲染操作或部分渲染操作。
在示例性的实施例中,所述第二获取模块1620,还用于:将能力请求信息发送至所述目标终端,以请求所述目标终端返回所述第二能力信息;及接收所述目标终端返回的所述第二能力信息。
在示例性的实施例中,所述确定模块1630,还用于:判断所述第一能力信息和所述第二能力信息是否均获取成功;如果所述第一能力信息和所述第二能力信息均获取成功,则判断所述第一能力信息是否达到渲染多媒体内容所需的能力基准线,以及所述第二能力信息是否达到所述能力基准线;及如果所述第一能力信息达到所述能力基准线且所述第二能力信息达到所述能力基准线,则根据所述第一能力信息和所述第二能力信息,确定所述渲染操作执行方。
在示例性的实施例中,所述能力基准线是根据所述多媒体内容对应的渲染特效确定的,其中,所述渲染特效包括音频特效和/或视频特效。
在示例性的实施例中,所述第一能力信息包括n个第一子能力信息,所述n个第一子能力信息包括:第一设备型号信息、第一cpu能力信息、第一gpu能力信息、第一存储能力信息、第一声卡能力信息、第一显卡能力信息、第一操作系统信息、第一图形渲染接口信息和/或第一编解码能力信息;及所述第二能力信息包括n个第二子能力信息,所述n个第二子能力信息包括:第二设备型号信息、第二cpu能力信息、第二gpu能力信息、第二存储能力信息、第二声卡能力信息、第二显卡能力信息、第二操作系统信息、第二图形渲染接口信息和/或第二编解码能力信息。
在示例性的实施例中,所述确定模块1630,还用于:将m个第一子能力信息和m个第二子能力信息进行一一对比,以得到m个第一子能力信息对应的m个能力分值pi和m个第二子能力信息对应的m个能力分值qi;其中,pi表示第i个第一子能力信息和第i个第二子能力信息进行比较得到的对应于第i个第一子能力信息的能力分值,qi表示第i个第一子能力信息和第i个第二子能力信息进行比较得到的对应于第i个第二子能力信息的能力分值,1≤i≤m,1≤m≤n;根据所述m个第一子能力信息对应的m个能力分值,得到所述第一能力信息的第一综合能力分值
在示例性的实施例中,wi为动态值,其大小与所述第i个第一子能力信息对应的能力分值pi和所述第i个第二子能力信息对应的能力分值qi之间的分值差成正向比例关系。
在示例性的实施例中,所述确定模块1630,还用于:依顺序进行以下比较操作直至分辨出所述计算机设备和所述目标终端之间的能力差异:根据所述第一cpu能力信息和所述第二cpu能力信息,比较所述计算机设备的第一cpu能力和所述目标终端的第二cpu能力;根据所述第一gpu能力信息和所述第二gpu能力信息,比较所述计算机设备的第一gpu能力和所述目标终端的第二gpu能力;根据所述第一存储能力信息和所述第二存储能力信息,比较所述计算机设备的第一存储能力和所述目标终端的第二存储能力;根据所述第一编解码能力信息和所述第二编解码能力信息,比较所述计算机设备的第一编解码能力和所述目标终端的第二编解码能力;根据所述第一设备型号信息和所述第二设备型号信息,获取所述计算机设备的第一设备型号评分和所述目标终端的第二设备型号评分,并比较所述第一设备型号评分和所述第二设备型号评分;根据所述第一操作系统信息和所述第二操作系统信息,获取所述计算机设备的第一操作系统评分和所述目标终端的第二操作系统评分,并比较所述第一操作系统评分和所述第二操作系统评分;根据所述第一声卡能力信息和所述第二声卡能力信息,比较所述计算机设备的第一声卡能力和所述目标终端的第二声卡能力;及根据所述第一显卡能力信息和所述第二显卡能力信息,比较所述计算机设备的第一显卡能力和所述目标终端的第二显卡能力。
在示例性的实施例中,所述确定模块1630,还用于:如果所述第一能力信息达到所述能力基准线且所述第二能力信息未达到所述能力基准线,则确定所述计算机设备为所述渲染操作执行方;如果所述第一能力信息未达到所述能力基准线且所述第二能力信息达到所述能力基准线,则确定所述目标终端为所述渲染操作执行方;及如果所述第一能力信息未达到所述能力基准线且所述第二能力信息未达到所述能力基准线,则根据所述第一能力信息和所述第二能力信息,确定所述渲染操作执行方。
在示例性的实施例中,所述渲染操作执行方包括第一渲染操作执行方和第二渲染操作执行方,所述确定模块1630,还用于:根据所述第一能力信息和所述第二能力信息,确定第一渲染操作执行方和第二渲染操作执行方,所述第一渲染操作执行方用于对多媒体内容中的第一部分进行渲染操作,所述第二渲染操作执行方用于对所述多媒体内容中的第二部分进行渲染操作。
在示例性的实施例中,所述特效渲染模块1640,还用于:如果所述计算机设备为所述第一渲染操作执行方,则对所述多媒体内容中的第一部分进行渲染操作;如果所述计算机设备为所述第二渲染操作执行方,则对所述多媒体内容中的第二部分进行渲染操作。
在示例性的实施例中,所述特效渲染模块1640,还用于:根据音频特效数据对所述多媒体内容中的音频内容进行特效渲染,生成渲染后的多媒体内容。
在示例性的实施例中,所述特效渲染模块1640,还用于:根据视频特效数据对所述多媒体内容中的视频内容进行特效渲染,生成渲染后的多媒体内容。
在示例性的实施例中,所述发送模块1650,还用于:将所述渲染后的多媒体内容发送到所述目标终端,以便所述目标终端作为所述第二渲染操作执行方或所述第一渲染操作执行方对所述渲染后的多媒体内容进行渲染操作。
在示例性的实施例中,所述确定模块1630,还用于:根据所述第一能力信息中的第一音频能力信息和所述第二能力信息中的第二音频能力信息,确定所述第一渲染操作执行方。
在示例性的实施例中,所述第一音频能力信息包括以下一个或多个信息:第一cpu能力信息、第一存储能力信息、第一设备型号信息、第一操作系统信息和第一编解码能力信息;及所述第二音频能力信息包括以下一个或多个信息:第二cpu能力信息、第二存储能力信息、第二设备型号信息、第二操作系统信息和第二编解码能力信息。
在示例性的实施例中,所述确定模块1630,还用于:根据所述第一能力信息中的第一视频能力信息和所述第二能力信息中的第二视频能力信息,确定所述第一渲染操作执行方。
在示例性的实施例中,所述第一视频能力信息包括以下一个或多个信息:第一cpu能力信息、第一gpu能力信息、第一存储能力信息、第一图形渲染接口信息、第一设备型号信息、第一操作系统信息和第一编解码能力信息;及所述第二视频能力信息包括以下一个或多个信息:第二cpu能力信息、第二gpu能力信息、第二存储能力信息、第二图形渲染接口信息、第二设备型号信息、第二操作系统信息和第二编解码能力信息。
实施例四
图17示意性示出了根据本申请实施例四的计算机设备2的硬件架构示意图。本实施例中,计算机设备2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是智能手机、平板电脑、笔记本电脑、台式计算机等。如图17所示,计算机设备2至少包括但不限于:可通过系统总线相互通信链接存储器1710、处理器1720、网络接口1730。其中:
存储器1710至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器1710可以是计算机设备2的内部存储模块,例如该计算机设备2的硬盘或内存。在另一些实施例中,存储器1710也可以是计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(smartmediacard,简称为smc),安全数字(securedigital,简称为sd)卡,闪存卡(flashcard)等。当然,存储器1710还可以既包括计算机设备2的内部存储模块也包括其外部存储设备。本实施例中,存储器1710通常用于存储安装于计算机设备2的操作系统和各类应用软件,例如投屏方法的程序代码等。此外,存储器1710还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器1720在一些实施例中可以是中央处理器(centralprocessingunit,简称为cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器1720通常用于控制计算机设备2的总体操作,例如执行与计算机设备2进行数据交互或者通信相关的控制和处理等。本实施例中,处理器1720用于运行存储器1710中存储的程序代码或者处理数据。
网络接口1730可包括无线网络接口或有线网络接口,该网络接口1730通常用于在计算机设备2与其他计算机设备之间建立通信链接。例如,网络接口1730用于通过网络将计算机设备2与外部终端相连,在计算机设备2与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(intranet)、互联网(internet)、全球移动通讯系统(globalsystemofmobilecommunication,简称为gsm)、宽带码分多址(widebandcodedivisionmultipleaccess,简称为wcdma)、4g网络、5g网络、蓝牙(bluetooth)、wi-fi等无线或有线网络。
需要指出的是,图17仅示出了具有部件1710-1730的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器1710中的投屏方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器1720)所执行,以完成本申请实施例。
实施例五
本申请还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的投屏方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smartmediacard,简称为smc),安全数字(securedigital,简称为sd)卡,闪存卡(flashcard)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中投屏方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。另外,本申请所述的“渲染”可以是一般渲染或特效渲染。由于特效渲染对计算资源要求高,本申请尤其适用于特效渲染,采用了本申请技术方案的投屏系统,其特效渲染效果相对于现有技术会有极其明显的优势。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
1.一种投屏方法,用于计算机设备中,其特征在于,所述方法包括:
获取所述计算机设备的第一能力信息;
获取目标终端的第二能力信息,其中,所述目标终端被配置为所述计算机设备的投屏对象;
根据所述第一能力信息和所述第二能力信息,确定所述计算机设备中的多媒体内容的渲染操作执行方;
如果所述计算机设备为所述渲染操作执行方,则对所述多媒体内容进行渲染操作;及
发送渲染后的多媒体内容至所述目标终端。
2.根据权利要求1所述的投屏方法,其特征在于,还包括:
如果所述计算机设备不是所述渲染操作执行方,则将所述多媒体内容发送至所述目标终端。
3.根据权利要求1所述的投屏方法,其特征在于,还包括:
如果所述计算机设备不是所述渲染操作执行方,则执行以下操作:
根据所述第一能力信息,判断所述第一能力信息是否达到渲染所述多媒体内容所需的能力基准线;
如果所述第一能力信息达到所述能力基准线,则获取所述计算机设备的当前负载情况;及
如果所述当前负载处于预设范围内,则对所述多媒体内容进行渲染操作或部分渲染操作。
4.根据权利要求1所述的投屏方法,其特征在于,所述获取目标终端的第二能力信息,包括:
将能力请求信息发送至所述目标终端,以请求所述目标终端返回所述第二能力信息;及
接收所述目标终端返回的所述第二能力信息。
5.根据权利要求1所述的投屏方法,其特征在于,所述根据所述第一能力信息和所述第二能力信息,确定所述计算机设备中的多媒体内容的渲染操作执行方,包括:
判断所述第一能力信息和所述第二能力信息是否均获取成功;
如果所述第一能力信息和所述第二能力信息均获取成功,则判断所述第一能力信息是否达到渲染多媒体内容所需的能力基准线,以及所述第二能力信息是否达到所述能力基准线;及
如果所述第一能力信息达到所述能力基准线且所述第二能力信息达到所述能力基准线,则根据所述第一能力信息和所述第二能力信息,确定所述渲染操作执行方。
6.根据权利要求5所述的投屏方法,其特征在于,所述能力基准线是根据所述多媒体内容对应的渲染特效确定的,其中,所述渲染特效包括音频特效和/或视频特效。
7.根据权利要求5所述的投屏方法,其特征在于,
所述第一能力信息包括n个第一子能力信息,所述n个第一子能力信息包括:第一设备型号信息、第一cpu能力信息、第一gpu能力信息、第一存储能力信息、第一声卡能力信息、第一显卡能力信息、第一操作系统信息、第一图形渲染接口信息和/或第一编解码能力信息;及
所述第二能力信息包括n个第二子能力信息,所述n个第二子能力信息包括:第二设备型号信息、第二cpu能力信息、第二gpu能力信息、第二存储能力信息、第二声卡能力信息、第二显卡能力信息、第二操作系统信息、第二图形渲染接口信息和/或第二编解码能力信息。
8.根据权利要求7所述的投屏方法,其特征在于,所述根据所述第一能力信息和所述第二能力信息,确定所述渲染操作执行方,包括:
将m个第一子能力信息和m个第二子能力信息进行一一对比,以得到m个第一子能力信息对应的m个能力分值pi和m个第二子能力信息对应的m个能力分值qi;其中,pi表示第i个第一子能力信息和第i个第二子能力信息进行比较得到的对应于第i个第一子能力信息的能力分值,qi表示第i个第一子能力信息和第i个第二子能力信息进行比较得到的对应于第i个第二子能力信息的能力分值,1≤i≤m,1≤m≤n;
根据所述m个第一子能力信息对应的m个能力分值,得到所述第一能力信息的第一综合能力分值
根据所述m个第一子能力信息对应的m个能力分值,得到所述第二能力信息的第二综合能力分值
比较所述第一综合能力分值
其中,wi表示所述第i个第一子能力信息和所述第i个第二子能力信息的权重值。
9.根据权利要求8所述的投屏方法,其特征在于,wi为动态值,其大小与所述第i个第一子能力信息对应的能力分值pi和所述第i个第二子能力信息对应的能力分值qi之间的分值差成正向比例关系。
10.根据权利要求7所述的投屏方法,其特征在于,所述根据所述第一能力信息和所述第二能力信息,确定所述渲染操作执行方,包括:
依顺序进行以下比较操作直至分辨出所述计算机设备和所述目标终端之间的能力差异:
根据所述第一cpu能力信息和所述第二cpu能力信息,比较所述计算机设备的第一cpu能力和所述目标终端的第二cpu能力;
根据所述第一gpu能力信息和所述第二gpu能力信息,比较所述计算机设备的第一gpu能力和所述目标终端的第二gpu能力;
根据所述第一存储能力信息和所述第二存储能力信息,比较所述计算机设备的第一存储能力和所述目标终端的第二存储能力;
根据所述第一编解码能力信息和所述第二编解码能力信息,比较所述计算机设备的第一编解码能力和所述目标终端的第二编解码能力;
根据所述第一设备型号信息和所述第二设备型号信息,获取所述计算机设备的第一设备型号评分和所述目标终端的第二设备型号评分,并比较所述第一设备型号评分和所述第二设备型号评分;
根据所述第一操作系统信息和所述第二操作系统信息,获取所述计算机设备的第一操作系统评分和所述目标终端的第二操作系统评分,并比较所述第一操作系统评分和所述第二操作系统评分;
根据所述第一声卡能力信息和所述第二声卡能力信息,比较所述计算机设备的第一声卡能力和所述目标终端的第二声卡能力;及
根据所述第一显卡能力信息和所述第二显卡能力信息,比较所述计算机设备的第一显卡能力和所述目标终端的第二显卡能力。
11.根据权利要求5所述的投屏方法,其特征在于,根据所述第一能力信息和所述第二能力信息,确定所述计算机设备中的多媒体内容的渲染操作执行方,还包括:
如果所述第一能力信息达到所述能力基准线且所述第二能力信息未达到所述能力基准线,则确定所述计算机设备为所述渲染操作执行方;
如果所述第一能力信息未达到所述能力基准线且所述第二能力信息达到所述能力基准线,则确定所述目标终端为所述渲染操作执行方;及
如果所述第一能力信息未达到所述能力基准线且所述第二能力信息未达到所述能力基准线,则根据所述第一能力信息和所述第二能力信息,确定所述渲染操作执行方。
12.根据权利要求1所述的投屏方法,其特征在于,所述渲染操作执行方包括第一渲染操作执行方和第二渲染操作执行方;
根据所述第一能力信息和所述第二能力信息,确定所述计算机设备中的多媒体内容的渲染操作执行方,包括:
根据所述第一能力信息和所述第二能力信息,确定第一渲染操作执行方和第二渲染操作执行方,所述第一渲染操作执行方用于对多媒体内容中的第一部分进行渲染操作,所述第二渲染操作执行方用于对所述多媒体内容中的第二部分进行渲染操作。
13.根据权利要求12所述的投屏方法,其特征在于,如果所述计算机设备为所述渲染操作执行方,则对所述多媒体内容进行渲染操作,包括:
如果所述计算机设备为所述第一渲染操作执行方,则对所述多媒体内容中的第一部分进行渲染操作;及
如果所述计算机设备为所述第二渲染操作执行方,则对所述多媒体内容中的第二部分进行渲染操作。
14.根据权利要求13所述的投屏方法,其特征在于,如果所述计算机设备为所述第一渲染操作执行方,则对所述多媒体内容中的第一部分进行渲染操作,包括:
根据音频特效数据对所述多媒体内容中的音频内容进行特效渲染,生成渲染后的多媒体内容。
15.根据权利要求13所述的投屏方法,其特征在于,如果所述计算机设备为所述第二渲染操作执行方,则对所述多媒体内容中的第二部分进行渲染操作,包括:
根据视频特效数据对所述多媒体内容中的视频内容进行特效渲染,生成渲染后的多媒体内容。
16.根据权利要求13所述的投屏方法,其特征在于,还包括:
将所述渲染后的多媒体内容发送到所述目标终端,以便所述目标终端作为所述第二渲染操作执行方或所述第一渲染操作执行方对所述渲染后的多媒体内容进行渲染操作。
17.根据权利要求13~16所述的投屏方法,其特征在于,所述根据所述第一能力信息和所述第二能力信息,确定第一渲染操作执行方和第二渲染操作执行方,包括:
根据所述第一能力信息中的第一音频能力信息和所述第二能力信息中的第二音频能力信息,确定所述第一渲染操作执行方。
18.根据权利要求17所述的投屏方法,其特征在于,
所述第一音频能力信息包括以下一个或多个信息:第一cpu能力信息、第一存储能力信息、第一设备型号信息、第一操作系统信息和第一编解码能力信息;及
所述第二音频能力信息包括以下一个或多个信息:第二cpu能力信息、第二存储能力信息、第二设备型号信息、第二操作系统信息和第二编解码能力信息。
19.根据权利要求13~16所述的投屏方法,其特征在于,所述根据所述第一能力信息和所述第二能力信息,确定第一渲染操作执行方和第二渲染操作执行方,包括:
根据所述第一能力信息中的第一视频能力信息和所述第二能力信息中的第二视频能力信息,确定所述第一渲染操作执行方。
20.根据权利要求19所述的投屏方法,其特征在于,
所述第一视频能力信息包括以下一个或多个信息:第一cpu能力信息、第一gpu能力信息、第一存储能力信息、第一图形渲染接口信息、第一设备型号信息、第一操作系统信息和第一编解码能力信息;及
所述第二视频能力信息包括以下一个或多个信息:第二cpu能力信息、第二gpu能力信息、第二存储能力信息、第二图形渲染接口信息、第二设备型号信息、第二操作系统信息和第二编解码能力信息。
21.一种投屏系统,其特征在于,包括:
第一获取模块,用于获取所述计算机设备的第一能力信息;
第二获取模块,用于获取目标终端的第二能力信息,其中,所述目标终端被配置为所述计算机设备的投屏对象;
确定模块,用于根据所述第一能力信息和所述第二能力信息,确定所述计算机设备中的多媒体内容的渲染操作执行方;
特效渲染模块,用于如果所述计算机设备为所述渲染操作执行方,则对所述多媒体内容进行渲染操作;及
发送模块,用于发送渲染后的多媒体内容至所述目标终端。
22.一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时用于实现权利要求1~20中任一项所述的投屏方法的步骤。
23.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行权利要求1~20中任一项所述的投屏方法的步骤。
技术总结