直播方法、装置、终端及存储介质转让专利

申请号 : CN202011388706.1

文献号 : CN112533017B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈文琼

申请人 : 广州繁星互娱信息科技有限公司

摘要 :

本申请公开了一种直播方法、装置、终端及存储介质,属于互联网技术领域。在直播时,对于采集到的真实画面,在该画面上添加虚拟形象,并且基于画面中真人的人物动态变化,对虚拟形象进行实时调整,实现了一种在真人直播的画面中添加虚拟形象,并且该虚拟形象能够与真人进行互动的直播方式。上述方法丰富了直播的展示效果,增强了直播过程中的互动性。

权利要求 :

1.一种直播方法,其特征在于,应用于第一终端,所述方法包括:获取第一直播图像,所述第一直播图像中包括有至少一个真人以及至少一个虚拟形象;

获取所述第一直播图像中所述至少一个真人的人物动态信息,所述人物动态信息包括表情信息和动作信息中至少一项;

基于所述至少一个真人的人物动态信息,对所述至少一个虚拟形象进行调整,以得到第二直播图像;

基于所述第二直播图像进行直播;

响应于对直播功能的开启指令,向第二终端发送直播开启指示,所述直播开启指示用于指示所述第二终端向所述第一终端发送所述第一直播图像;

所述响应于对直播功能的开启指令,向第二终端发送直播开启指示之前,所述方法还包括:响应于所述第二终端的投屏启动指令,与所述第二终端之间建立投屏关系;

接收所述第二终端发送的投屏图像,所述投屏图像中包括有所述至少一个真人以及所述至少一个虚拟形象。

2.根据权利要求1所述的方法,其特征在于,所述获取所述第一直播图像中所述至少一个真人的人物动态信息之前,所述方法还包括:基于预先存储的至少一个目标真人的人脸特征信息,从所述第一直播图像中确定所述至少一个真人。

3.根据权利要求1所述的方法,其特征在于,所述获取所述第一直播图像中所述至少一个真人的人物动态信息包括下述至少一项:基于所述第一直播图像中所述至少一个真人的人脸关键点,获取所述至少一个真人的表情信息;

基于所述第一直播图像中所述至少一个真人的肢体关键点,获取所述至少一个真人的动作信息。

4.根据权利要求1所述的方法,其特征在于,所述基于所述至少一个真人的人物动态信息,对所述至少一个虚拟形象进行调整包括:基于所述至少一个真人的表情信息,对所述至少一个虚拟形象的面部表情进行调整;

基于所述至少一个真人的动作信息,对所述至少一个虚拟形象的肢体动作进行调整。

5.根据权利要求1所述的方法,其特征在于,所述基于所述至少一个真人的人物动态信息,对所述至少一个虚拟形象进行调整包括下述任一项:基于所述至少一个真人的人物动态信息,对每个真人对应的虚拟形象进行调整;

若所述至少一个真人的数量大于1,则基于所述至少一个真人中第一真人的人物动态信息,对所述至少一个虚拟形象进行调整;

若所述至少一个真人的数量大于1,则基于所述至少一个真人中第二真人的人物动态信息,对所述第二真人对应的虚拟形象进行调整。

6.根据权利要求1所述的方法,其特征在于,所述基于所述第二直播图像进行直播之前,所述方法还包括:获取直播音频数据;

基于所述直播音频数据,对所述至少一个虚拟形象的动作幅度进行调整,以得到所述第二直播图像。

7.根据权利要求6所述的方法,其特征在于,所述基于所述直播音频数据,对所述至少一个虚拟形象的动作幅度进行调整包括:基于所述直播音频数据,获取所述直播音频数据在目标时长内的音量参数;

基于所述音量参数所对应的范围区间,确定所述至少一个虚拟形象的动作幅度等级;

控制所述至少一个虚拟形象按照所述动作幅度等级执行动作。

8.根据权利要求1所述的方法,其特征在于,所述基于所述第二直播图像进行直播之前,所述方法还包括:所述至少一个真人的数量大于1,且每个真人对应一个虚拟对象,响应于直播时长满足目标条件,切换每个真人的对应位置上所显示的虚拟形象。

9.根据权利要求8所述的方法,其特征在于,所述响应于直播时长满足目标条件,切换每个真人的对应位置上所显示的虚拟形象包括:所述至少一个真人包括第一真人和第二真人,所述至少一个虚拟形象包括第一虚拟形象和第二虚拟形象,所述第一真人的对应位置上显示所述第一虚拟形象,所述第二真人的对应位置上显示所述第二虚拟形象;

响应于所述直播时长满足所述目标条件,在所述第一真人的对应位置上,显示所述第二虚拟形象,在所述第二真人的对应位置上,显示所述第一虚拟形象。

10.根据权利要求9所述的方法,其特征在于,所述方法还包括:显示所述第一虚拟形象从所述第一真人的对应位置移动到所述第二真人的对应位置的移动轨迹;

显示所述第二虚拟形象从所述第二真人的对应位置移动到所述第一真人的对应位置的移动轨迹。

11.根据权利要求8所述的方法,其特征在于,所述直播时长满足目标条件是指所述直播时长满足预设直播时间,或,所述直播时长满足预设间隔时间。

12.根据权利要求1所述的方法,其特征在于,所述获取第一直播图像包括:接收所述第二终端发送的所述第一直播图像;或,接收所述第二终端发送的第三直播图像,所述第三直播图像包括所述虚拟形象;基于所述第三直播图像和所述第一终端所采集的直播图像,生成所述第一直播图像;

所述基于所述至少一个真人的人物动态信息,对所述至少一个虚拟形象进行调整包括:基于所述至少一个真人的人物动态信息,向所述第二终端发送调整指示,所述调整指示用于指示基于所述至少一个真人的人物动态信息,对所述至少一个虚拟形象进行调整,所述调整指示包括表情调整指示和动作调整指示中至少一项。

13.根据权利要求1所述的方法,其特征在于,所述接收所述第二终端发送的投屏图像之后,所述方法还包括:响应于对所述投屏图像中所述至少一个虚拟形象的位置调整指令,向所述第二终端发送位置调整指示,所述位置调整指示用于指示基于所述投屏图像调整所述至少一个虚拟形象在所述投屏图像中显示的位置;

接收所述第二终端发送的调整后的所述投屏图像。

14.一种直播方法,其特征在于,应用于第二终端,所述方法包括:响应于第一终端的直播开启指示,向所述第一终端发送第一直播图像,所述直播开启指示用于指示所述第二终端向所述第一终端发送所述第一直播图像,所述第一直播图像中包括有至少一个真人以及至少一个虚拟形象;

响应于所述第一终端的调整指示,对所述至少一个虚拟形象进行调整,得到第二直播图像,所述调整指示用于指示基于所述至少一个真人的人物动态信息,对所述至少一个虚拟形象进行调整,所述调整指示包括表情调整指示和动作调整指示中至少一项;

将所述第二直播图像发送给所述第一终端;

所述响应于第一终端的直播开启指示,向所述第一终端发送第一直播图像之前,所述方法还包括:响应于对投屏功能的开启指令,向第一终端发送投屏启动指令,所述投屏启动指令用于请求所述第一终端基于所述第二终端的标识,与所述第二终端建立投屏关系;

对现实场景进行画面采集,生成投屏图像,所述投屏图像中包括有所述至少一个真人以及所述至少一个虚拟形象;

向所述第一终端发送所述投屏图像。

15.根据权利要求14所述的方法,其特征在于,所述向所述第一终端发送所述投屏图像之后,所述方法还包括:响应于所述第一终端的位置调整指示,调整所述至少一个虚拟形象在所述投屏图像中的位置显示,所述位置调整指示用于指示基于所述投屏图像调整所述至少一个虚拟形象在所述投屏图像中显示的位置;

将调整后的所述投屏图像发送给所述第一终端。

16.一种直播装置,其特征在于,所述装置包括多个功能模块,所述多个功能模块用于实现如权利要求1至15中任一项所述的直播方法。

17.一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行以实现如权利要求1至权利要求15任一项所述的直播方法所执行的操作。

18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行以实现如权利要求1至权利要求

15任一项所述的直播方法所执行的操作。

说明书 :

直播方法、装置、终端及存储介质

技术领域

[0001] 本申请涉及互联网技术领域,特别涉及一种直播方法、装置、终端及存储介质。

背景技术

[0002] 随着互联网技术的不断发展,网络直播成为了一种新兴的网络社交方式,越来越多的用户在网络上观看直播,例如游戏直播、电视剧直播以及舞蹈直播等。
[0003] 以舞蹈直播为例,目前舞蹈直播的方法为:主播用户在网络直播平台上开启直播,通过摄像头拍摄自己的舞蹈过程,并将拍摄得到的视频画面作为直播视频画面发送至网络进行直播,便于一些对舞蹈感兴趣的用户来实时观看。
[0004] 然而,在上述舞蹈直播的过程中,通过摄像头拍摄到的是主播本人的真实画面,主播在进行舞蹈展示时的展示效果单一,且互动性差。

发明内容

[0005] 本申请实施例提供了一种直播方法、装置、终端及存储介质,能够丰富直播的展示效果,增强直播过程中的互动性。该技术方案如下:
[0006] 一方面,提供了一种直播方法,该方法应用于第一终端,该方法包括:
[0007] 获取第一直播图像,该第一直播图像中包括有至少一个真人以及至少一个虚拟形象;
[0008] 获取该第一直播图像中至少一个真人的人物动态信息,该人物动态信息包括表情信息和动作信息中至少一项;
[0009] 基于至少一个真人的人物动态信息,对至少一个虚拟形象进行调整,以得到第二直播图像;
[0010] 基于该第二直播图像进行直播。
[0011] 在一种可能的实现方式中,该方法还包括:
[0012] 基于预先存储的至少一个目标真人的人脸特征信息,从该第一直播图像中确定该至少一个真人。
[0013] 在一种可能的实现方式中,该方法还包括:
[0014] 基于该第一直播图像中该至少一个真人的人脸关键点,获取该至少一个真人的表情信息;
[0015] 基于第一直播图像中该至少一个真人的肢体关键点,获取该至少一个真人的动作信息。
[0016] 在一种可能的实现方式中,该方法还包括:
[0017] 基于该至少一个真人的表情信息,对该至少一个虚拟形象的面部表情进行调整;
[0018] 基于该至少一个真人的动作信息,对该至少一个虚拟形象的肢体动作进行调整。
[0019] 在一种可能的实现方式中,该方法还包括:
[0020] 基于该至少一个真人的人物动态信息,对每个真人对应的虚拟形象进行调整;
[0021] 若该至少一个真人的数量大于1,则基于该至少一个真人中第一真人的人物动态信息,对该至少一个虚拟形象进行调整;
[0022] 若该至少一个真人的数量大于1,则基于该至少一个真人中第二真人的人物动态信息,对该第二真人对应的虚拟形象进行调整。
[0023] 在一种可能的实现方式中,该方法还包括:
[0024] 获取直播音频数据;
[0025] 基于该直播音频数据,对该至少一个虚拟形象的动作幅度进行调整,以得到第二直播图像。
[0026] 在一种可能的实现方式中,该基于该直播音频数据,调整该虚拟形象的动作包括:
[0027] 基于该直播音频数据,获取该直播音频数据在目标时长内的音量参数;
[0028] 基于该音量参数所对应的范围区间,确定该至少一个虚拟形象的动作幅度等级;
[0029] 控制该至少一个虚拟形象按照该动作幅度等级执行动作。
[0030] 在一种可能的实现方式中,该方法还包括:
[0031] 该至少一个真人的数量大于1,且每个真人对应一个虚拟对象,响应于直播时长满足目标条件,切换每个真人的对应位置上所显示的虚拟形象。
[0032] 在一种可能的实现方式中,该方法还包括:
[0033] 该至少一个真人包括第一真人和第二真人,该至少一个虚拟形象包括第一虚拟形象和第二虚拟形象,该第一真人的对应位置上显示该第一虚拟形象,该第二真人的对应位置上显示该第二虚拟形象;
[0034] 响应于该直播时长满足该目标条件,在该第一真人的对应位置上,显示该第二虚拟形象,在该第二真人的对应位置上,显示该第一虚拟形象。
[0035] 在一种可能的实现方式中,该方法还包括:
[0036] 显示该第一虚拟形象从该第一真人的对应位置移动到该第二真人的对应位置的移动轨迹;
[0037] 显示该第二虚拟形象从该第二真人的对应位置移动到该第一真人的对应位置的移动轨迹。
[0038] 在一种可能的实现方式中,该方法还包括:
[0039] 该直播时长满足目标条件是指该直播时长满足预设直播时间,或,该直播时长满足预设间隔时间。
[0040] 在一种可能的实现方式中,该方法还包括:
[0041] 响应于对直播功能的开启指令,向第二终端发送直播开启指示,该直播开启指示用于指示该第二终端向该第一终端发送该第一直播图像;
[0042] 该获取第一直播图像包括:接收该第二终端发送的该第一直播图像;或,接收该第二终端发送的第三直播图像,该第三直播图像包括虚拟形象;基于该第三直播图像和该第一终端所采集的直播图像,生成该第一直播图像;
[0043] 该基于该至少一个真人的人物动态信息,对该至少一个虚拟形象进行调整包括:基于该至少一个真人的人物动态信息,向该第二终端发送调整指示,该调整指示用于指示基于该至少一个真人的人物动态信息,对该至少一个虚拟形象进行调整,该调整指示包括表情调整指示和动作调整指示中至少一项。
[0044] 在一种可能的实现方式中,该方法还包括:
[0045] 响应于该第二终端发送的投屏启动指令,与该第二终端之间建立投屏关系;
[0046] 接收该第二终端发送的投屏图像,该投屏图像中包括有该至少一个真人以及该至少一个虚拟形象。
[0047] 在一种可能的实现方式中,该方法还包括:
[0048] 响应于对该投屏图像中至少一个虚拟形象的位置调整指令,向该第二终端发送位置调整指示,该位置调整指示用于指示基于该投屏图像调整该至少一个虚拟形象在该投屏图像中显示的位置;
[0049] 接收该第二终端发送的调整后的该投屏图像。
[0050] 一方面,提供了一种直播方法,该方法应用于第二终端,该方法包括:
[0051] 响应于第一终端的直播开启指示,向该第一终端发送第一直播图像,该直播开启指示用于指示该第二终端向该第一终端发送该第一直播图像,该第一直播图像中包括有至少一个真人以及至少一个虚拟形象;
[0052] 响应于该第一终端的调整指示,对该至少一个虚拟形象进行调整,得到第二直播图像,该调整指示用于指示基于该至少一个真人的人物动态信息,对该至少一个虚拟形象进行调整,该调整指示包括表情调整指示和动作调整指示中至少一项;
[0053] 将该第二直播图像发送给该第一终端。
[0054] 在一种可能的实现方式中,该方法还包括:
[0055] 响应于对投屏功能的开启指令,向第一终端发送投屏启动指令,该投屏启动指令用于请求该第一终端基于该第二终端的标识,与该第二终端建立投屏关系;
[0056] 对现实场景进行画面采集,生成投屏图像,该投屏图像中包括有该至少一个真人以及该至少一个虚拟形象;
[0057] 向该第一终端发送该投屏图像。
[0058] 在一种可能的实现方式中,该方法还包括:
[0059] 响应于该第一终端的位置调整指示,调整该至少一个虚拟形象在该投屏图像中的位置显示,该位置调整指示用于指示基于该投屏图像调整该至少一个虚拟形象在该投屏图像中显示的位置;
[0060] 将调整后的该投屏图像发送给该第一终端。
[0061] 一方面,提供了一种直播装置,该装置提供为第一终端,该装置包括:
[0062] 第一获取模块,用于获取第一直播图像,该第一直播图像中包括有至少一个真人以及至少一个虚拟形象;
[0063] 第二获取模块,用于获取该第一直播图像中该至少一个真人的人物动态信息,该人物动态信息包括表情信息和动作信息中至少一项;
[0064] 调整模块,用于基于该至少一个真人的人物动态信息,对该至少一个虚拟形象进行调整,以得到第二直播图像;
[0065] 直播模块,用于基于该第二直播图像进行直播。
[0066] 在一种可能的实现方式中,该装置还包括:
[0067] 确定模块,用于基于预先存储的至少一个目标真人的人脸特征信息,从该第一直播图像中确定该至少一个真人。
[0068] 在一种可能的实现方式中,该第二获取模块用于:
[0069] 基于该第一直播图像中该至少一个真人的人脸关键点,获取该至少一个真人的表情信息;
[0070] 基于该第一直播图像中该至少一个真人的肢体关键点,获取该至少一个真人的动作信息。
[0071] 在一种可能的实现方式中,该调整模块用于:
[0072] 基于该至少一个真人的表情信息,对该至少一个虚拟形象的面部表情进行调整;
[0073] 基于该至少一个真人的动作信息,对该至少一个虚拟形象的肢体动作进行调整。
[0074] 在一种可能的实现方式中,该调整模块还用于:
[0075] 基于该至少一个真人的人物动态信息,对每个真人对应的虚拟形象进行调整;
[0076] 若该至少一个真人的数量大于1,则基于该至少一个真人中第一真人的人物动态信息,对该至少一个虚拟形象进行调整;
[0077] 若该至少一个真人的数量大于1,则基于该至少一个真人中第二真人的人物动态信息,对该第二真人对应的虚拟形象进行调整。
[0078] 在一种可能的实现方式中,该装置还包括:
[0079] 音频获取模块,用于获取直播音频数据;
[0080] 动作幅度调整模块,用于基于该直播音频数据,对该至少一个虚拟形象的动作幅度进行调整,以得到第二直播图像。
[0081] 在一种可能的实现方式中,该动作幅度整模块用于:
[0082] 基于该直播音频数据,获取该直播音频数据在目标时长内的音量参数;
[0083] 基于该音量参数所对应的范围区间,确定该至少一个虚拟形象的动作幅度等级;
[0084] 控制该至少一个虚拟形象按照该动作幅度等级执行动作。
[0085] 在一种可能的实现方式中,该装置还包括:
[0086] 切换模块,用于该至少一个真人的数量大于1,且每个真人对应一个虚拟对象,响应于直播时长满足目标条件,切换每个真人的对应位置上所显示的虚拟形象。
[0087] 在一种可能的实现方式中,该切换模块用于:
[0088] 该至少一个真人包括第一真人和第二真人,该至少一个虚拟形象包括第一虚拟形象和第二虚拟形象,该第一真人的对应位置上显示该第一虚拟形象,该第二真人的对应位置上显示该第二虚拟形象;
[0089] 响应于该直播时长满足该目标条件,在该第一真人的对应位置上,显示该第二虚拟形象,在该第二真人的对应位置上,显示该第一虚拟形象。
[0090] 在一种可能的实现方式中,该切换模块还用于:
[0091] 显示该第一虚拟形象从该第一真人的对应位置移动到该第二真人的对应位置的移动轨迹;
[0092] 显示该第二虚拟形象从该第二真人的对应位置移动到该第一真人的对应位置的移动轨迹。
[0093] 在一种可能的实现方式中,该直播时长满足目标条件是指该直播时长满足预设直播时间,或,该直播时长满足预设间隔时间。
[0094] 在一种可能的实现方式中,该装置还包括:
[0095] 直播开启指示第一发送模块,用于响应于对直播功能的开启指令,向第二终端发送直播开启指示,该直播开启指示用于指示该第二终端向该第一终端发送该第一直播图像;
[0096] 该第一获取模块用于接收该第二终端发送的该第一直播图像;或,接收该第二终端发送的第三直播图像,该第三直播图像包括虚拟形象;基于该第三直播图像和该第一终端所采集的直播图像,生成该第一直播图像;
[0097] 该调整模块用于基于该至少一个真人的人物动态信息,向该第二终端发送调整指示,该调整指示用于指示基于该至少一个真人的人物动态信息,对该至少一个虚拟形象进行调整,该调整指示包括表情调整指示和动作调整指示中至少一项。
[0098] 在一种可能的实现方式中,该装置还包括:
[0099] 投屏关系建立模块,用于响应于该第二终端的投屏启动指令,与该第二终端之间建立投屏关系;
[0100] 投屏图像接收模块,用于接收该第二终端发送的投屏图像,该投屏图像中包括有该至少一个真人以及该至少一个虚拟形象。
[0101] 在一种可能的实现方式中,该装置还包括:
[0102] 位置调整指示发送模块,用于响应于对该投屏图像中至少一个虚拟形象的位置调整指令,向该第二终端发送位置调整指示,该位置调整指示用于指示基于该投屏图像调整该至少一个虚拟形象在该投屏图像中显示的位置;
[0103] 调整后的投屏图像接收模块,用于接收该第二终端发送的调整后的该投屏图像。
[0104] 一方面,提供了一种直播装置,该装置提供为第二终端,该装置包括:
[0105] 第一发送模块,用于响应于第一终端的直播开启指示,向该第一终端发送第一直播图像,该直播开启指示用于指示该第二终端向该第一终端发送该第一直播图像,该第一直播图像中包括有至少一个真人以及至少一个虚拟形象;
[0106] 虚拟形象调整模块,用于响应于该第一终端的调整指示,对该至少一个虚拟形象进行调整,得到第二直播图像,该调整指示用于指示基于该至少一个真人的人物动态信息,对该至少一个虚拟形象进行调整,该调整指示包括表情调整指示和动作调整指示中至少一项;
[0107] 第二发送模块,用于将该第二直播图像发送给该第一终端。
[0108] 在一种可能的实现方式中,该装置还包括:
[0109] 投屏启动指令发送模块,用于响应于对投屏功能的开启指令,向第一终端发送投屏启动指令,该投屏启动指令用于请求该第一终端基于该第二终端的标识,与该第二终端建立投屏关系;
[0110] 投屏图像生成模块,用于对现实场景进行画面采集,生成投屏图像,该投屏图像中包括有该至少一个真人以及该至少一个虚拟形象;
[0111] 投屏图像发送模块,用于向该第一终端发送该投屏图像。
[0112] 在一种可能的实现方式中,该装置还包括:
[0113] 位置调整模块,用于响应于该第一终端的位置调整指示,调整该至少一个虚拟形象在该投屏图像中的位置显示,该位置调整指示用于指示基于该投屏图像调整该至少一个虚拟形象在该投屏图像中显示的位置;
[0114] 调整后的投屏图像发送模块,用于将调整后的该投屏图像发送给该第一终端。
[0115] 一方面,提供了一种终端,该终端包括处理器和存储器,该存储器中存储有至少一条程序代码,该至少一条程序代码由该处理器加载并执行以实现上述的直播方法。
[0116] 一方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行以实现上述的直播方法。
[0117] 一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该计算机设备执行上述直播方法。
[0118] 在本申请实施例中,提供了一种直播方法,在直播时,对于采集到的真实画面,在该画面上添加虚拟形象,并且基于画面中真人的人物动态变化,对虚拟形象进行实时调整,实现了一种在真人直播的画面中添加虚拟形象,并且该虚拟形象能够与真人进行互动的直播方式。上述方法丰富了直播的展示效果,增强了直播过程中的互动性。

附图说明

[0119] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0120] 图1是本申请实施例提供的一种直播方法的实施环境的示意图;
[0121] 图2是本申请实施例提供的一种直播方法的流程图;
[0122] 图3是本申请实施例提供的一种直播方法的流程图;
[0123] 图4是本申请实施例提供的一种直播方法的流程图;
[0124] 图5是本申请实施例提供的一种人脸关键点的示意图;
[0125] 图6是本申请实施例提供的一种对虚拟形象进行调整的示意图;
[0126] 图7是本本申请实施例提供的一种位置切换调整的示意图;
[0127] 图8是本申请实施例提供的一种直播装置的结构示意图;
[0128] 图9是本申请实施例提供的一种直播装置的结构示意图;
[0129] 图10是本申请实施例提供的一种服务器的结构示意图;
[0130] 图11是本申请实施例提供的一种终端的结构示意图。

具体实施方式

[0131] 为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
[0132] 下面简单介绍一下本申请实施例可能用到的技术以及名词。
[0133] 增强现实(Augmented Reality,AR)是一种实时地计算摄影机影像的位置及角度并加上相应图像的技术。是一种将真实世界信息和虚拟世界信息“无缝”集成的新技术,是把原本在现实世界的一定时间空间范围内很难体验到的实体信息,例如视觉信息,声音,味道,触觉等,通过电脑等科学技术,模拟仿真后再叠加,将虚拟的信息应用到真实世界,被人类感官所感知,从而达到超越现实的感官体验。真实的环境和虚拟的物体实时地叠加到了同一个画面或空间同时存在。例如ARCore或ARKit,是一种应用程序接口(Application Programming Interface,API),让终端能够感知其环境、理解现实世界并实现信息交互。软件开发者可以下载它去开发系统平台上的AR应用,或者为他们的应用程序增加AR功能。
[0134] 脉冲编码调制(Pulse Code Modulation,PCM)是数字通信的编码方式之一。是把一个时间连续,取值连续的模拟信号变换成时间离散,取值离散的数字信号后在信道中传输。脉冲编码调制就是对模拟信号先抽样,再对样值幅度量化,编码的过程。
[0135] 图1是本申请实施例提供的一种直播方法的实施环境的示意图。参见图1,该方法应用于直播系统,该直播系统包括:终端101和服务器102。
[0136] 终端101可以为智能手机、智能手表、台式电脑、手提电脑、虚拟现实终端、增强现实终端、无线终端和膝上型便携计算机等设备中的至少一种,终端101具有通信功能,可以接入互联网。终端101可以泛指多个终端中的一个,本实施例仅以终端101来举例说明。本领域技术人员可以知晓,上述终端的数量可以更多或更少。终端101能够安装和运行具备投屏功能、AR功能以及直播功能的应用程序。
[0137] 在本申请实施例中,终端101包括第一终端1011和第二终端1012。第一终端1011是直播用户使用的终端,用于提供直播功能,直播用户能够通过开启直播功能,将自己想要展示的视频内容发送至网络,便于其他用户通过网络进行实时观看。示意性的,第一终端1011中运行的应用程序内登录有直播用户的用户账号。第二终端1012也是直播用户使用的终端,用于提供AR功能,直播用户能够通过开启AR功能,调用摄像头,在终端1012所显示的摄像头画面中渲染出虚拟形象。示意性的,第二终端1012中运行的应用程序内登录有直播用户的用户账号。
[0138] 第一终端1011与第二终端1012都能够用于提供投屏功能,第一终端1011与第二终端1012能够通过有线或无线通信方式进行直接或间接地连接,进行实时的数据交互,并建立投屏关系。本申请在此不做限制。
[0139] 服务器102能够是独立的物理服务器,也能够是多个物理服务器构成的服务器集群或者分布式系统,还能够是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器102与终端101可以通过有线或无线通信方式进行直接或间接的连接,本申请实施例对此不作限定。可选地,上述服务器102的数量可以更多或更少,本申请实施例对此不加以限定。当然,服务器102还可以包括其他功能服务器,以便提供更全面且多样化的服务。本申请实施例中,服务器102用于提供数据存储服务以及数据传输服务等。
[0140] 图2是本申请实施例提供的一种直播方法的流程图。该实施例以第一终端为执行主体进行说明,参见图2,该实施例包括:
[0141] 201、第一终端获取第一直播图像,该第一直播图像中包括有至少一个真人以及至少一个虚拟形象。
[0142] 在本申请实施例中,第一终端用于提供直播功能,第一直播图像中显示由摄像头拍摄到的画面,画面中包括至少一个真人以及至少一个虚拟形象。
[0143] 202、第一终端获取该第一直播图像中至少一个真人的人物动态信息,该人物动态信息包括表情信息和动作信息中至少一项。
[0144] 在本申请实施例中,表情信息用于表示真人的脸部表情,例如微笑、张嘴大笑以及点头等,动作信息用于表示真人的肢体动作,例如跳跃、挥手以及弯腰等。
[0145] 203、第一终端基于该至少一个真人的人物动态信息,对至少一个虚拟形象进行调整,以得到第二直播图像。
[0146] 在本申请实施例中,对至少一个虚拟形象进行调整是指调整虚拟形象的面部表情和肢体动作中至少一项。第二直播图像中显示由摄像头拍摄到的画面,画面中包括至少一个真人以及经过调整后的至少一个虚拟形象。
[0147] 204、第一终端基于该第二直播图像进行直播。
[0148] 在本申请实施例中,第一终端将第二直播图像的数据发送至目标服务器,该目标服务器用于为第一终端上运行的应用程序提供后台服务,目标服务器将该第二直播图像的数据发送至网络,以供其他用户通过网络进行实时观看。
[0149] 在本申请实施例中,提供了一种直播方法,在直播时,对于采集到的真实画面,在该画面上添加虚拟形象,并且基于画面中真人的人物动态变化,对虚拟形象进行实时调整,实现了一种在真人直播的画面中添加虚拟形象,并且该虚拟形象能够与真人进行互动的直播方式。上述方法丰富了直播的展示效果,增强了直播过程中的互动性。
[0150] 图3是本申请实施例提供的一种直播方法的流程图。该实施例以第二终端为执行主体进行说明,参见图3,该实施例包括:
[0151] 301、第二终端响应于第一终端的直播开启指示,向第一终端发送第一直播图像。
[0152] 在本申请实施例中,直播开启指示用于指示第二终端向第一终端发送第一直播图像,该第一直播图像中包括有至少一个真人以及至少一个虚拟形象。
[0153] 302、第二终端响应于第一终端的调整指示,对至少一个虚拟形象进行调整,得到第二直播图像。
[0154] 在本申请实施例中,调整指示用于指示基于至少一个真人的人物动态信息,对至少一个虚拟形象进行调整,该调整指示包括表情调整指示和动作调整指示中至少一项。其中,对至少一个虚拟形象进行调整是指调整虚拟形象的面部表情和肢体动作中至少一项。
[0155] 303、第二终端将该第二直播图像发送给第一终端。
[0156] 在本申请实施例中,提供了一种直播方法,在直播时,对于采集到的真实画面,在该画面上添加虚拟形象,并且基于画面中真人的人物动态变化,对虚拟形象进行实时调整,实现了一种在真人直播的画面中添加虚拟形象,并且该虚拟形象能够与真人进行互动的直播方式。上述方法丰富了直播的展示效果,增强了直播过程中的互动性。
[0157] 需要说明的是,上述图2和图3所示的直播方法仅为本申请的基本流程,下面基于一种具体的实施方式,来对本申请提供的方案进行进一步阐述。图4是本申请实施例提供的另一种直播方法的流程图。该实施例以第一终端与第二终端之间通过交互,来实现直播为例进行说明。参见图4,该方法包括:
[0158] 401、第二终端响应于对投屏功能的开启指令,向第一终端发送投屏启动指令。
[0159] 在本申请实施例中,第一终端和第二终端之间通过有线或无线通信方式建立通信连接,在该通信连接下,第一终端与第二终端之间能够实现数据交互。
[0160] 第二终端提供投屏功能,用户通过触发对投屏功能的开启指令,使得第二终端响应于该开启指令,向第一终端发送投屏启动指令,该投屏启动指令中携带有第二终端的标识,该投屏启动指令用于请求第一终端基于第二终端的标识,与该第二终端建立投屏关系,以实现投屏功能。
[0161] 可选地,第二终端上显示投屏设备选择界面,该投屏设备选择界面上有至少一个被检测到的投屏设备,用户通过在该投屏设备选择界面上的选择操作,选择第一终端,第二终端响应于该选择操作,向第一终端发送投屏启动指令。
[0162] 402、第一终端响应于第二终端发送的投屏启动指令,与第二终端之间建立投屏关系。
[0163] 在本申请实施例中,第一终端接收到由第二终端发送的投屏启动指令,基于第二终端的标识,与第二终端建立投屏关系,在该投屏关系下,第一终端能够接收由第二终端发送的图像。
[0164] 可选地,第一终端接收到由第二终端发送的投屏启动指令后,在第一终端上显示投屏设备确认界面,该投屏设备确认界面上显示第二终端的标识,用户通过在该投屏设备确认界面上的确认操作,触发与第二终端建立投屏关系的指令,然后第一终端响应于该指令,与第二终端之间建立投屏关系。
[0165] 403、第二终端对现实场景进行画面采集,生成投屏图像,该投屏图像包括有至少一个真人以及至少一个虚拟形象。
[0166] 在本申请实施例中,第二终端对现实场景的画面采集通过摄像头对现实场景进行拍摄来实现,该现实场景中包括真人。投屏图像中显示由摄像头拍摄到的画面,画面中包括至少一个真人以及至少一个虚拟形象。
[0167] 第二终端提供AR功能,用户调用第二终端上的摄像头后,第二终端显示由摄像头拍摄现实场景所得到的画面,同时,用户能够通过触发AR功能,使得第二终端响应于该触发操作,在第二终端所显示的画面中,渲染出虚拟形象。例如,第二终端采用ARCore技术或者ARKit技术,在第二终端所显示的画面中,识别出水平面,通常为地面,然后在该水平面之上的区域中渲染出虚拟形象,这样,当摄像头拍摄到真人时,真人和虚拟形象会保持在同一个平面上,实现了在直播过程中真人与虚拟形象在同一舞台的效果。
[0168] 可选地,第二终端显示虚拟形象选择界面,该虚拟形象选择界面上有多个虚拟形象,用户通过在该虚拟形象选择界面上的选择操作,选择想要渲染出的虚拟形象,第二终端响应于该选择操作,在第二终端所显示的画面中渲染出对应的虚拟形象,满足了用户对于虚拟形象设置的个性化需求。本申请实施例对于虚拟形象的渲染形式不作限定。
[0169] 需要说明的是,本申请实施例中,上述步骤401至步骤403是按照从前往后的顺序执行的。在一种可选的实现方式中,由第二终端先执行步骤403,生成投屏图像,然后再执行步骤401,向第一终端发送投屏启动指令,与第一终端建立投屏关系,本申请实施例对此不作限定。
[0170] 404、第二终端向第一终端发送投屏图像。
[0171] 405、第一终端接收第二终端发送的投屏图像。
[0172] 406、第一终端响应于对投屏图像中至少一个虚拟形象的位置调整指令,向第二终端发送位置调整指示,该位置调整指示用于指示调整至少一个虚拟形象在该投屏图像中显示的位置。
[0173] 在本申请实施例中,位置调整指令是指对虚拟形象在投屏图像中显示的位置进行调整的指令。第一终端上显示有投屏图像,用户能够观察到虚拟形象在投屏图像中的位置,如有位置调整需求,则能够通过在第一终端上进行操作,来触发对虚拟形象的位置调整指令,第一终端响应于该位置调整指令,向第二终端发送位置调整指示。
[0174] 下面以投屏图像中所显示的虚拟形象为1个为例,对位置调整指令的两种实现方式进行说明:
[0175] 在第一种实现方式中,第一终端上显示有位置调整界面,该位置调整界面上显示位置调整选项,用户通过对位置调整选项的操作,触发相应的位置调整指令,然后第一终端响应于该位置调整指令,向第二终端发送位置调整指示。例如,在位置调整界面中,显示虚拟形象在投屏图像中的坐标参数,并显示对坐标参数的调整选项,用户能够通过对坐标参数进行调整,触发相应的位置调整指令。
[0176] 在第二种实现方式中,在第一终端显示的投屏图像上,虚拟形象是可操作的,用户能够根据对虚拟形象位置调整的需求,对该虚拟形象进行拖拽操作,第一终端检测到该拖拽操作,触发相应的位置调整指令。然后第一终端响应于该位置调整指令,向第二终端发送位置调整指示。
[0177] 需要说明的是,上述是以位置调整指令为例进行说明,可选地,第一终端响应于对投屏图像中虚拟形象的尺寸调整指令,向第二终端发送尺寸调整指示,该尺寸调整指示用于指示调整虚拟形象的尺寸显示。也即是,用户能够基于对虚拟形象的尺寸调整需求,在第一终端上进行操作,来触发对虚拟形象的尺寸调整指令,第一终端响应于该尺寸调整指令,向第二终端发送尺寸调整指示。具体实现方式与上述实现方式类似,故在此不做赘述。
[0178] 当投屏图像中所显示的虚拟形象的数量大于1时,对虚拟形象的位置调整指令同样可参考上述实现方式。
[0179] 可选地,在第一终端是台式电脑,第二终端是智能手机的情况下,台式电脑相比于智能手机具有更大尺寸的显示屏幕,用户能够通过投屏到台式电脑上的投屏图像来调整虚拟模型的位置,更加清晰和方便。
[0180] 407、第二终端响应于位置调整指示,调整至少一个虚拟形象在投屏图像中显示的位置。
[0181] 在本申请实施例中,第二终端在接收到位置调整指示后,对投屏图像中至少一个虚拟形象显示的位置进行调整。下面以投屏图像中所显示的虚拟形象为1个为例,基于上述步骤406中所给出的位置调整指令的两种实现方式,对本步骤进行示例性说明:
[0182] 当第一终端以第一种实现方式向第二终端发送位置调整指示时,该位置调整指示中携带有该虚拟形象的坐标参数,第二终端基于该坐标参数,调整该虚拟形象在投屏图像中显示的位置。
[0183] 当第一终端以第二种实现方式向第二终端发送位置调整指示时,该位置调整指示中携带基于对该虚拟形象的拖拽操作而生成的移动轨迹信息,第二终端基于该移动轨迹信息,调整该虚拟形象在投屏图像中显示的位置。
[0184] 需要说明的是,上述是以位置调整指示为例进行说明,可选地,第二终端响应于第一终端发送的尺寸调整指示,调整至少一个虚拟形象在投屏图像中的尺寸显示。具体实现方式与上述实现方式类似,故在此不做赘述。
[0185] 当投屏图像中所显示的虚拟形象的数量大于1时,对虚拟形象在投屏图像中显示的位置进行调整同样可参考上述实现方式。
[0186] 408、第二终端将调整后的投屏图像发送给第一终端。
[0187] 需要说明的是,上述步骤406和步骤408是本申请实施例提供的可选实施步骤,在另一种可选的实现方式中,第一终端在执行上述步骤405之后,直接执行下述步骤409,本申请实施例对此不作限定。
[0188] 409、第一终端从接收到的投屏图像中获取至少一个人脸的人脸关键点。
[0189] 在本申请实施例中,第一终端接收到投屏图像,响应于对目标真人设定模式的启动指令,对投屏图像开启目标真人设定模式。可选地,第一终端上显示目标真人设定模式的启动控件,例如,该启动控件为一个按钮或者是一个挂件,然后第一终端响应于对该启动控件的触发操作,对投屏图像启动目标真人设定模式。
[0190] 在投屏图像中显示有虚拟形象和由摄像头拍摄到的真人,第一终端对投屏图像中的人脸进行识别,得到至少一个人脸的人脸关键点。人脸关键点可参考图5,图5是本申请实施例提供的一种人脸关键点的示意图,图中的点1至48即为第一终端获取到的人脸关键点。需要说明的是,图5中的人脸关键点仅为示意性的,在实际应用中,一个人脸的人脸关键点的数量和人脸关键点的位置可以根据需求进行设置,本申请实施例对于人脸关键点的数量和位置不作具体限定。
[0191] 410、第一终端响应于任一投屏图像中的至少一个人脸相比于之前的投屏图像中的至少一个人脸发生变化,将该至少一个人脸确定为至少一个目标真人。
[0192] 在本申请实施例中,人脸发生变化是指人脸关键点的位置发生变化。在目标真人设定模式下,虚拟形象的脸部是静止不动的,也即是该虚拟形象的人脸关键点在任一投屏图像上的位置均不会发生变化。而真人的脸部会发生动作,例如摆头或者眨眼等动作,当第二终端的摄像头拍摄到的真人脸部发生动作时,会导致真人在投屏图像中的人脸关键点的位置发生变化,此时在第二终端生成的投屏图像中,该真人的人脸关键点的位置相比于之前的投屏图像中人脸关键点的位置发生了变化。基于此,第一终端将该人脸关键点位置发生了变化的人脸确定为目标真人。
[0193] 需要说明的是,在一种可选地实现方式中,投屏图像中发生变化的所有人脸均为目标真人,在另一种可选的实现方式中,在目标真人设定模式下,第一终端显示目标真人选择界面,用户能够从多个发生变化的人脸中选定目标真人,本申请实施例对于目标真人的确定方式不作具体限定。
[0194] 411、第一终端基于该至少一个目标真人的人脸关键点,确定该至少一个目标真人的人脸特征信息,并将该至少一个目标真人的人脸特征信息进行存储。
[0195] 在本申请实施例中,第一终端在确定目标真人后,从目标真人的人脸关键点中确定多个人脸特征点,人脸特征点是在人脸中位置相对固定的人脸关键点。在一种可选的实现方式中,第一终端从接收到的任一投屏图像中确定至少一个目标真人的人脸特征点;在另一种可选的实现方式中,第一终端从接收到的多个投屏图像中分别对至少一个目标真人的人脸关键点进行分析,得到能够用于标识该至少一个目标真人的人脸特征点。
[0196] 人脸特征点的确定方式具体可参考图5,从人脸关键点1至48中,选取9个人脸关键点作为人脸特征点,标记为A至I。需要说明的是,图5中确定人脸特征点的方式仅为示意性说明,在实际应用中,人脸特征点的选取方式还可以有其他多种方式,例如,从人脸的眼部、鼻部以及耳部这三个部分中,分别选取两个人脸关键点作为人脸特征点。本申请实施例对此不作具体限定。
[0197] 第一终端基于确定好的人脸特征点,确定目标真人的人脸特征信息。人脸特征信息用于确定第一终端所接收到的图像中的目标真人。可选地,继续参考图5,基于图5中A至I这9个人脸特征点,取r1=AB/BC;r2=GH/HI这两个值作为目标真人的人脸特征信息,当目标真人在正脸或侧脸状态时,或者当目标真人在做各种脸部表情时,例如张嘴、转头或者眨眼等,r1和r2的值都会相对固定,能够作为确定图像中目标真人人脸的依据。需要说明的是,人脸特征信息的确定可以有其他多种方式。可选地,将每两个人脸特征点之间的距离值作为人脸特征信息。本申请实施例对于确定人脸特征信息的方式不作限定。
[0198] 经过上述步骤409至步骤411,第一终端确定了至少一个目标真人,并且将至少一个目标真人的人脸特征信息进行存储。
[0199] 412、第一终端响应于对直播功能的开启指令,向第二终端发送直播开启指示,该直播开启指示用于指示第二终端向第一终端发送第一直播图像。
[0200] 在本申请实施例中,第一终端提供直播功能,用户能够通过在第一终端上的操作,触发对直播功能的开启指令,使得第一终端向第二终端发送直播开启指示。
[0201] 413、第二终端响应于第一终端的直播开启指示,向第一终端发送第一直播图像,该第一直播图像中包括有至少一个真人以及至少一个虚拟形象。
[0202] 在本申请实施例中,第一直播图像中显示由第二终端的摄像头拍摄到的画面,画面中包括有至少一个真人以及至少一个虚拟形象。
[0203] 414、第一终端接收第二终端发送的第一直播图像。
[0204] 415、第一终端基于预先存储的至少一个目标真人的人脸特征信息,从该第一直播图像中确定该至少一个真人。
[0205] 在本申请实施例中,第一终端基于从上述步骤411中得到的至少一个目标真人的人脸特征信息,对第一直播图像进行人脸识别,当识别到第一直播图像中存在人脸,且该人脸的人脸特征信息与目标真人的人脸特征信息匹配,则将该人脸确定为真人。其中,真人是指现实场景中真实存在的人。可选地,真人只有一个,例如,该真人为开启直播的主播。可选地,真人有多个,例如,真人包括开启直播的主播以及多个真人舞伴。本申请实施例对于真人的组成形式不作具体限定。
[0206] 可选地,基于图5中的人脸特征点,以人脸特征信息为r1和r2为例进行说明:第一终端对于第一直播图像进行人脸识别,当识别到一个人脸时,获取该人脸的人脸关键点,并选取对应的人脸特征点,基于此,计算得到该人脸的人脸特征信息r1′和r2′,然后计算r1′和r2′相对于r1和r2的标准差的数值,当该标准差的数值小于预设阈值a,则认为第一终端识别到的人脸与目标真人的人脸特征信息匹配,将该人脸确定为真人。
[0207] 需要说明的是,本申请实施例对基于人脸特征信息确定至少一个真人的方式不作具体限定。
[0208] 416、第一终端获取第一直播图像中该至少一个真人的人物动态信息,该人物动态信息包括表情信息和动作信息中至少一项。
[0209] 在本申请实施例中,表情信息用于表示真人的面部表情,例如微笑、张嘴大笑以及点头等,动作信息用于表示真人的肢体动作,例如跳跃、挥手以及弯腰等。下面对本步骤中表情信息以及动作信息的获取方式通过以下两个方面分别进行说明:
[0210] 第一方面,第一终端基于该第一直播图像中该至少一个真人的人脸关键点,获取该至少一个真人的表情信息。
[0211] 第一终端对第一直播图像进行人脸识别,在确定至少一个真人后,基于至少一个真人的人脸关键点,获取至少一个真人的表情信息。
[0212] 可选地,以一个真人为例,第一终端基于该真人的人脸关键点在第一直播图像中每一帧图像上的位置,确定该真人的眼睛开闭程度系数、嘴巴展开程度系数以及转头程度系数等信息,将这些信息确定为该真人的表情信息。本申请实施例对于表情信息的获取方式不作具体限定。
[0213] 第二方面,第一终端基于该第一直播图像中该至少一个真人的肢体关键点,获取该至少一个真人的动作信息。
[0214] 第一终端对第一直播图像进行人脸识别,在确定至少一个真人后,基于至少一个真人的肢体关键点,获取至少一个真人的动作信息。
[0215] 可选地,以一个真人为例,第一终端基于该真人的肢体关键点在第一直播图像中每一帧图像上的位置,确定该真人的手臂挥舞系数、腿部移动系数以及躯干调整系数等信息,将这些信息确定为该真人的动作信息。本申请实施例对于动作信息的获取方式不作具体限定。
[0216] 需要说明的是,在实际应用中,第一终端能够基于用户的设置,对上述任一方面所示的人物动态信息进行获取,也即是,仅获取真人的表情信息,或,仅获取真人的动作信息。可选地,第一终端还能够基于用户的设置,对上述两个方面所示的人物动态信息都进行获取,也即是,既获取真人的表情信息,也获取真人的动作信息。本申请实施例对于获取人物动态信息的方式不作具体限定。
[0217] 417、第一终端基于该至少一个真人的人物动态信息,向第二终端发送调整指示,该调整指示用于指示基于至少一个真人的人物动态信息,对至少一个虚拟形象进行调整,该调整指示包括表情调整指示和动作调整指示中至少一项。
[0218] 在本申请实施例中,向第二终端发送调整指示包括向第二终端发送表情调整指示和动作调整指示中至少一项。在经过步骤416获取到至少一个真人的表情信息的情况下,通过下述第一方面所示的方式来实现对第二终端发送表情调整指示;在经过步骤416获取到至少一个真人的动作信息的情况下,通过下述第二方面所示的方式来实现向第二终端发送动作调整指示。可选地,在经过步骤416同时获取到至少一个真人的表情信息和动作信息的情况下,通过结合下述第一方面与第二方面来实现向第二终端既发送表情调整指示又发送动作调整指示,本申请实施例对于发送调整指示的具体实现方式不作具体限定。下面对第一方面以及第二方面分别进行说明:
[0219] 第一方面,第一终端基于该至少一个真人的表情信息,向第二终端发送表情调整指示,该表情调整指示用于指示基于该至少一个真人的表情信息对至少一个虚拟形象的面部表情进行调整。
[0220] 表情调整指示中携带表情调整的目标调整对象以及目标表情信息,其中,目标调整对象是指需要进行表情调整的虚拟形象,目标表情信息是指与真人的表情信息所对应的表情调整信息。下面以一个真人对应一个虚拟形象为例,对具体的表情调整指示以下述两种情况进行说明:
[0221] 情况一:表情调整指示是指对虚拟形象的面部表情进行调整,使虚拟形象的面部表情与真人的面部表情一致。例如,当真人的表情信息显示真人在张嘴大笑,则表情调整指示用于指示第二终端调整虚拟形象的面部表情为张嘴大笑;当真人的表情信息显示真人在向左转头,则表情调整指示用于指示第二终端调整虚拟形象的面部表情为向左转头。
[0222] 情况二:表情调整指示是指对虚拟形象的面部表情进行调整,使虚拟形象的面部表情与真人的面部表情相反。例如,当真人的表情信息显示真人在张嘴大笑,则表情调整指示用于指示第二终端调整虚拟形象的面部表情为闭嘴不笑;当真人的表情信息显示真人在向左转头,则表情调整指示用于指示第二终端调整虚拟形象的面部表情为向右转头。
[0223] 通过表情调整指示,实现了虚拟形象能够与真人进行表情互动的效果,增加了直播的趣味性。
[0224] 需要说明的是,在实际应用中,表情调整指示并不仅仅限于上述两种情况,相应的,第一终端能够根据用户不同的需求向第二终端发送表情调整指示。可选地,第一终端能够对真人的表情信息进行分析,生成表情调整指示,该表情调整指示用于指示第二终端对虚拟形象的面部表情进行调整,使虚拟形象的面部表情与真人的面部表情不相关,例如,当真人的表情信息显示真人在张嘴大笑,则表情调整指示用于指示第二终端调整虚拟形象的面部表情为向左转头,等等。本申请实施例对此不作限定。
[0225] 第二方面,第一终端基于该至少一个真人的动作信息,向第二终端发送动作调整指示,该动作调整指示用于指示基于该至少一个真人的动作信息对至少一个虚拟形象的肢体动作进行调整。
[0226] 动作调整指示中携带动作调整的目标调整对象以及目标动作信息,其中,目标调整对象是指需要进行动作调整的虚拟形象,目标动作信息是指与真人的动作信息所对应的动作调整信息。下面以一个真人对应一个虚拟形象为例,对具体的肢体动作调整指示以下述两种情况进行说明:
[0227] 情况一:动作调整指示是指对虚拟形象的肢体动作进行调整,使虚拟形象的肢体动作与真人的肢体动作一致。例如,当真人的肢体动作显示真人在挥舞手臂,则动作调整指示用于指示第二终端调整虚拟形象的肢体动作为挥舞手臂;当真人的动作信息显示真人在向左弯腰,则动作调整指示用于指示第二终端调整虚拟形象的肢体动作为向左弯腰。
[0228] 情况二:动作调整指示是指对虚拟形象的肢体动作进行调整,使虚拟形象的肢体动作与真人的肢体动作相反。例如,当真人的动作信息显示真人在挥舞手臂,则动作调整指示用于指示第二终端调整虚拟形象的肢体动作为手臂静止不动;当真人的动作信息显示真人在向左弯腰,则动作调整指示用于指示第二终端调整虚拟形象的肢体动作为向右弯腰。
[0229] 通过动作调整指示,实现了虚拟形象能够与真人进行肢体动作互动的效果,增加了直播的趣味性。
[0230] 需要说明的是,在实际应用中,动作调整指示并不仅仅限于上述两种情况,相应的,第一终端能够根据用户不同的需求向第二终端发送动作调整指示。可选地,第一终端能够对真人的动作信息进行分析,生成动作调整指示,该动作调整指示用于指示第二终端对虚拟形象的肢体动作进行调整,使虚拟形象的肢体动作与真人的肢体动作不相关,例如,当真人的动作信息显示真人在挥舞手臂,则动作调整指示用于指示第二终端调整虚拟形象的肢体动作为向左弯腰,等等。本申请实施例对此不作限定。
[0231] 另外,在本申请实施例中,基于至少一个真人的人物动态信息,对至少一个虚拟形象进行调整包括以下三种情况:
[0232] 情况一:基于至少一个真人的人物动态信息,对每个真人对应的虚拟形象进行调整。这种情况下,在第一直播图像中,每个真人都对应一个虚拟形象,能够实现每个真人和所对应的虚拟形象之间一对一互动的效果。具体可参考图6所示的(a)图。
[0233] 情况二:若至少一个真人的数量大于1,则基于至少一个真人中第一真人的人物动态信息,对至少一个虚拟形象进行调整。这种情况下,在第一直播图像中存在多个真人,仅基于第一真人的人物动态信息,对第一直播图像中所有的虚拟形象进行调整,能够实现一个真人与所有的虚拟形象同时互动的效果。具体可参考图6所示的(b)图。
[0234] 情况三:若至少一个真人的数量大于1,则基于至少一个真人中第二真人的人物动态信息,对第二真人对应的虚拟形象进行调整。在这种情况下,在第一直播图像中存在多个真人,仅基于第二真人的人物动态信息,对第一直播图像中与该第二真人对应的虚拟形象进行调整,能够实现仅有一个真人与对应的虚拟形象之间互动的效果。具体可参考图6所示的(c)图。
[0235] 需要说明的是,上述三种情况仅为示意性的,在实际应用中,对至少一个虚拟形象进行调整并不仅仅限于上述三种情况,相应的,第一终端能够根据用户不同的需求向第二终端发送调整指示,以指示第二终端基于该调整指示调整至少一个虚拟形象,本申请实施例对此不作具体限定。
[0236] 418、第二终端响应于调整指示,对至少一个虚拟形象进行调整。
[0237] 在本申请实施例中,第二终端基于上述步骤417中第一终端发送的表情调整指示,对第一直播图像中至少一个虚拟形象的面部表情进行调整,或,第二终端基于上述步骤417中第一终端发送的动作调整指示,对第一直播图像中至少一个虚拟形象的肢体动作进行调整。可选地,第二终端基于上述步骤417中第一终端发送的表情调整指示以及动作调整指示,对第一直播图像中至少一个虚拟形象的面部表情以及肢体动作进行调整。本申请实施例对于调整第一直播图像中至少一个虚拟形象的具体实现方式不作具体限定。
[0238] 419、第一终端获取直播音频数据。
[0239] 在本申请实施例中,直播音频数据为PCM数据。第一终端提供在直播中添加背景音乐的功能。可选地,第一终端上显示有背景音乐选择界面,用户通过该背景音乐选择界面,进行背景音乐的选择,第一终端响应于用户对背景音乐的选择,对该背景音乐进行解码,得到与该背景音乐对应的直播音频数据,也即是PCM数据。
[0240] 420、第一终端基于该直播音频数据,向第二终端发送动作幅度调整指示,该动作幅度调整指示用于指示基于该直播音频数据调整至少一个虚拟形象的动作幅度。
[0241] 在本申请实施例中,第一终端基于获取到的直播音频数据,生成相应的动作幅度调整指示,并发送给第二终端,第二终端响应于该动作幅度调整指示,对虚拟形象的动作幅度进行调整。其中,动作是指虚拟形象的肢体动作,例如,挥舞手臂、左右抬腿等舞蹈动作。可选地,虚拟形象的动作为基于上述步骤417进行动作调整后的动作。可选地,虚拟形象的动作为预设动作,由第一终端向第二终端发送预设动作指示,第二终端响应于该预设动作指示,调整虚拟形象的预设动作。本申请实施例对于虚拟形象的动作形式不作具体限定。
[0242] 本步骤的具体实现方式包括以下步骤一至步骤三:
[0243] 步骤一:第一终端基于直播音频数据,获取直播音频数据在目标时长内的音量参数。
[0244] 直播音频数据,也即是PCM数据中按照时间顺序依次存放多个采样点,每个采样点对应不同的音量值。可选地,第一终端计算直播音频数据在目标时长内的音量平均值,将该平均值作为直播音频数据在目标时长内的音量参数。可选地,第一终端选取直播音频数据在目标时长内的音量峰值,将该音量峰值作为直播音频数据在目标时长内的音量参数。本申请实施例对此不作限定。
[0245] 可选地,目标时长为直播中1帧视频画面的时间,例如,当1秒钟有12帧视频画面时,目标时长则为1/12秒,则第一终端获取直播音频数据在目标时长内的音量参数的过程为:直播音频数据中前1/12秒内存在5个采样点,第一终端获取这5个采样点的音量值,计算出这5个采样点的音量平均值x,其中,x大于0,则x即是直播音频数据在目标时长内的音量参数。本申请实施例对于目标时长的设置不作具体限定。
[0246] 步骤二:第一终端基于音量参数所对应的范围区间,生成与该范围区间所对应的动作幅度调整指示,该范围区间用于确定至少一个虚拟形象的动作幅度等级。
[0247] 第一终端基于不同的音量参数设置有不同的范围区间,每一个范围区间都对应虚拟形象的一个动作幅度等级,第一终端在计算得到直播音频数据在目标时长内的音量参数之后,确定与该音量参数对应的范围区间,得到与该范围区间的对应的动作幅度等级,基于此,生成动作幅度调整指示,控制虚拟形象按照对应的动作幅度等级执行动作。
[0248] 例如,第一终端设置有5个范围区间,分别为范围区间A、B、C、D和E,每个范围区间对应的动作幅度等级分别为a、b、c、d和e。第一终端获取到直播音频数据在目标时长内的音量参数为x,该x值对应的范围区间为A,则第一终端生成的动作幅度调整指示用于指示第二终端调整虚拟形象的动作幅度等级为a。
[0249] 步骤三:第一终端向第二终端发送该动作幅度调整指示。
[0250] 421、第二终端响应于动作幅度调整指示,调整虚拟形象在第一直播图像中的动作幅度。
[0251] 经过上述步骤419至步骤421,第二终端基于动作幅度调整指示,对虚拟形象在第一直播图像中的动作幅度进行了相应的调整,实现了虚拟模型的动作幅度能够随着直播中背景音乐的音量动态变化而变化,丰富了直播过程中虚拟模型的展示效果,进一步增加了直播的趣味性。
[0252] 需要说明的是,上述步骤419至步骤421是本申请实施例提供的可选步骤,在一种可选的实现方式中,上述步骤415至步骤418和上述步骤419至步骤421同步执行;在另一种可选的实现方式中,第二终端在执行上述步骤418之后直接执行下述步骤422,本申请实施例对此不作具体限定。
[0253] 可选地,在本申请实施例中,第一终端响应于直播时长满足目标条件,向第二终端发送位置切换调整指示,该位置切换调整指示用于指示第二终端切换调整每个真人的对应位置上所显示的虚拟形象。下面对这种可选实现方式进行具体说明:
[0254] 在这种实现方式中,第一直播图像中的至少一个真人的数量大于1,且每个真人对应一个虚拟对象。直播时长满足目标条件是指直播时长满足预设直播时长,或,直播时长满足预设间隔时长。例如,预设直播时长为15分钟,当直播时长达到15分钟时,第一终端向第二终端发送位置切换调整指示;再例如,预设间隔时长为3分钟,当直播时长每间隔3分钟,第一终端向第二终端发送位置切换调整指示。
[0255] 其中,切换每个真人的对应位置上所显示的虚拟形象具体是指:第一直播图像中的至少一个真人包括第一真人和第二真人,第一图像中的至少一个虚拟形象包括第一虚拟形象和第二虚拟形象,第一真人的对应位置上显示第一虚拟形象,第二真人的对应位置上显示第二虚拟形象;第一终端响应于直播时长满足目标条件,在第一真人的对应位置上,显示第二虚拟形象,在第二真人的对应位置上,显示第一虚拟形象。具体可参考图7,图7是本申请实施例提供的一种位置切换调整的示意图。
[0256] 另外,上述位置切换调整指示还能够用于指示第二终端切换每个真人的对应位置上所显示的虚拟形象,并显示虚拟形象的移动轨迹。具体包括:显示第一虚拟形象从第一真人的对应位置移动到第二真人的对应位置的移动轨迹;显示第二虚拟形象从第二真人的对应位置移动到第一真人的对应位置的移动轨迹。
[0257] 进一步的,第二终端响应于位置切换调整指示,切换调整每个真人的对应位置上所显示的虚拟形象。
[0258] 通过这种可选实现方式,实现了在直播过程中,在每个真人对应一个虚拟形象时,真人与虚拟形象的对应关系可以随着直播时长进行变更,在舞蹈直播的场景下,能够在视觉上呈现出交换舞伴的效果。
[0259] 需要说明的是,在一种可选的实现方式中,上述步骤415至418、上述步骤419至421、以及上述可选实现方式能够同步执行;在另一种可选的实现方式中,第二终端在执行上述步骤418之后直接执行下述步骤422;在另一种可选的实现方式中,第二终端在执行上述步骤421之后直接执行下述步骤422。在实际应用中,上述步骤415至418、步骤419至421、以及上述可选实现方式之间能够通过不同的执行顺序或者不同的结合方式来实现,本申请实施例对此不作具体限定。
[0260] 422、第二终端将第二直播图像发送给第一终端,该第二直播图像为调整后的直播图像。
[0261] 在本申请实施例中,第二终端基于上述步骤418,对第一直播图像中至少一个虚拟形象的面部表情和肢体动作中的至少一项进行了调整,且,第二终端基于上述步骤421,对第一直播图像中至少一个虚拟形象的动作幅度进行了调整,得到了调整后的直播图像,在该调整后的直播图像中,至少一个虚拟形象的面部表情和肢体动作中的至少一项能够根据至少一个真人的人物动态变化而显示相对应的动态变化,且,至少一个虚拟形象的动作幅度能够根据直播中背景音乐的音量大小显示相对应的动作幅度。
[0262] 423、第一终端接收第二终端发送的第二直播图像。
[0263] 经过上述步骤414至步骤423,在第一终端接收到的第二直播图像中,显示由第二终端的摄像头拍摄到的画面,该画面中包括至少一个真人和调整后的至少一个虚拟形象。上述方法实现了在直播中,虚拟形象能够与真人进行互动的效果,同时,将背景音乐和虚拟形象的肢体动作进行结合,丰富了直播过程中虚拟形象的展示效果。
[0264] 424、第一终端基于该第二直播图像进行直播。
[0265] 在本申请实施例中,上述至少一个真人和至少一个虚拟形象之间的对应关系可以有以下多种情况:
[0266] 情况一:直播图像中显示一个真人和一个虚拟形象,实现在直播画面中,一个真人与一个虚拟形象进行互动。
[0267] 情况二:直播图像中显示一个真人和多个虚拟形象,实现在直播画面中,一个真人与多个虚拟形象同时互动。
[0268] 情况三:直播图像中显示多个真人和多个虚拟形象,实现在直播画面中,多个真人与多个虚拟形象之间都能进行互动。
[0269] 情况四:直播图像中显示多个真人和一个虚拟形象,实现在直播画面中,有多个真人,但是仅有一个真人与一个虚拟形象在互动。
[0270] 需要说明的是,本申请实施例已经对上述任一种情况进行了说明,在实际应用中,用户能够根据对所显示的虚拟形象的需求进行不同的设置,选择不同的实现方式,本申请实施例对此不作限定。
[0271] 需要说明的是,在上述步骤401至步骤424中,第一直播图像是由第二终端进行画面采集后,基于AR功能生成的,第一终端接收到第一直播图像后提供目标真人识别以及开启直播等功能。也即是,在本申请实施例中,第一终端获取第一直播图像的方法是以该第一直播图像全部由第二终端生成为例进行说明的。可选地,第一终端获取第一直播图像还可以有其他获取方法,下面对另一种第一直播图像的获取方法进行说明:
[0272] 在一些实施例中,第一终端接收第二终端发送的第三直播图像,该第三直播图像包括虚拟形象;基于该第三直播图像和第一终端所采集的直播图像,得到第一直播图像。该方法具体包括:第一终端与第二终端建立投屏关系,由第一终端的摄像头进行直播画面采集,由第二终端提供AR功能,生成虚拟形象的直播图像,也即是第三直播图像,然后第二终端将该第三直播图像投屏至第一终端,第一终端将接收到的包括有虚拟形象的第三直播图像以及第一终端所采集到的画面进行融合,得到虚拟形象和真人在同一个画面中的第一直播图像。
[0273] 本申请实施例对于第一直播图像的获取方法不作具体限定。
[0274] 在本申请实施例中,提供了一种直播方法,在直播时,对于采集到的真实画面,在该画面上添加虚拟形象,并且基于画面中真人的人物动态变化,对虚拟形象进行实时调整,实现了一种在真人直播的画面中添加虚拟形象,并且该虚拟形象能够与真人进行互动的直播方式。上述方法丰富了直播的展示效果,增强了直播过程中的互动性。
[0275] 图8是本申请实施例提供的一种直播装置的结构示意图,该装置提供为第一终端,参见图8,该装置包括:第一获取模块801、第二获取模块802、调整模块803以及直播模块804。
[0276] 第一获取模块801,用于获取第一直播图像,该第一直播图像中包括有至少一个真人以及至少一个虚拟形象;
[0277] 第二获取模块802,用于获取该第一直播图像中该至少一个真人的人物动态信息,该人物动态信息包括表情信息和动作信息中至少一项;
[0278] 调整模块803,用于基于该至少一个真人的人物动态信息,对该至少一个虚拟形象进行调整,以得到第二直播图像;
[0279] 直播模块804,用于基于该第二直播图像进行直播。
[0280] 在一种可能的实现方式中,该装置还包括:
[0281] 确定模块,用于基于预先存储的至少一个目标真人的人脸特征信息,从该第一直播图像中确定该至少一个真人。
[0282] 在一种可能的实现方式中,该第二获取模块802用于:
[0283] 基于该第一直播图像中该至少一个真人的人脸关键点,获取该至少一个真人的表情信息;
[0284] 基于该第一直播图像中该至少一个真人的肢体关键点,获取该至少一个真人的动作信息。
[0285] 在一种可能的实现方式中,该调整模块803用于:
[0286] 基于该至少一个真人的表情信息,对该至少一个虚拟形象的面部表情进行调整;
[0287] 基于该至少一个真人的动作信息,对该至少一个虚拟形象的肢体动作进行调整。
[0288] 在一种可能的实现方式中,该调整模块803还用于:
[0289] 基于该至少一个真人的人物动态信息,对每个真人对应的虚拟形象进行调整;
[0290] 若该至少一个真人的数量大于1,则基于该至少一个真人中第一真人的人物动态信息,对该至少一个虚拟形象进行调整;
[0291] 若该至少一个真人的数量大于1,则基于该至少一个真人中第二真人的人物动态信息,对该第二真人对应的虚拟形象进行调整。
[0292] 在一种可能的实现方式中,该装置还包括:
[0293] 音频获取模块,用于获取直播音频数据;
[0294] 动作幅度调整模块,用于基于该直播音频数据,对该至少一个虚拟形象的动作幅度进行调整,以得到第二直播图像。
[0295] 在一种可能的实现方式中,该动作幅度调整模块用于:
[0296] 基于该直播音频数据,获取该直播音频数据在目标时长内的音量参数;
[0297] 基于该音量参数所对应的范围区间,确定该至少一个虚拟形象的动作幅度等级;
[0298] 控制该至少一个虚拟形象按照该动作幅度等级执行动作。
[0299] 在一种可能的实现方式中,该装置还包括:
[0300] 切换模块,用于响应于直播时长满足目标条件,切换调整每个真人的对应位置上所显示的虚拟形象,该至少一个真人的数量大于1,且每个真人对应一个虚拟对象。
[0301] 在一种可能的实现方式中,该切换模块用于:
[0302] 该至少一个真人包括第一真人和第二真人,该至少一个虚拟形象包括第一虚拟形象和第二虚拟形象,该第一真人的对应位置上显示该第一虚拟形象,该第二真人的对应位置上显示该第二虚拟形象;
[0303] 响应于该直播时长满足该目标条件,在该第一真人的对应位置上,显示该第二虚拟形象,在该第二真人的对应位置上,显示该第一虚拟形象。
[0304] 在一种可能的实现方式中,该切换模块还用于:
[0305] 显示该第一虚拟形象从该第一真人的对应位置移动到该第二真人的对应位置的移动轨迹;
[0306] 显示该第二虚拟形象从该第二真人的对应位置移动到该第一真人的对应位置的移动轨迹。
[0307] 在一种可能的实现方式中,该直播时长满足目标条件是指该直播时长满足预设直播时间,或,该直播时长满足预设间隔时间。
[0308] 在一种可能的实现方式中,该装置还包括:
[0309] 直播开启指示发送模块,用于响应于对直播功能的开启指令,向第二终端发送直播开启指示,该直播开启指示用于指示该第二终端向该第一终端发送该第一直播图像;
[0310] 第一获取模块801用于接收该第二终端发送的该第一直播图像;或,接收该第二终端发送的第三直播图像,该第三直播图像包括虚拟形象;基于该第三直播图像和该第一终端所采集的直播图像,生成该第一直播图像;
[0311] 该调整模块803用于基于该至少一个真人的人物动态信息,向该第二终端发送调整指示,该调整指示用于指示基于该至少一个真人的人物动态信息,对该至少一个虚拟形象进行调整,该调整指示包括表情调整指示和动作调整指示中至少一项。
[0312] 在一种可能的实现方式中,该装置还包括:
[0313] 投屏关系建立模块,用于响应于该第二终端发送的投屏启动指令,与该第二终端之间建立投屏关系;
[0314] 投屏图像接收模块,用于接收该第二终端发送的投屏图像,该投屏图像中包括有该至少一个真人以及该至少一个虚拟形象。
[0315] 在一种可能的实现方式中,该装置还包括:
[0316] 位置调整指示发送模块,用于响应于对该投屏图像中至少一个虚拟形象的位置调整指令,向该第二终端发送位置调整指示,该位置调整指示用于指示基于该投屏图像调整该至少一个虚拟形象在该投屏图像中显示的位置;
[0317] 调整后的投屏图像接收模块,用于接收该第二终端发送的调整后的该投屏图像。
[0318] 在本申请实施例中,提供了一种直播装置,在直播时,对于采集到的真实画面,在该画面上添加虚拟形象,并且基于画面中真人的人物动态变化,对虚拟形象进行实时调整,实现了一种在真人直播的画面中添加虚拟形象,并且该虚拟形象能够与真人进行互动的直播方式。上述方法丰富了直播的展示效果,增强了直播过程中的互动性。
[0319] 需要说明的是:上述实施例提供的直播装置在直播时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的直播装置与直播方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0320] 图9是本申请实施例提供的一种直播装置的结构示意图,该装置提供为第二终端,参见图9,该装置包括:第一发送模块901、虚拟形象调整模块902以及第二发送模块903。
[0321] 第一发送模块901,用于响应于第一终端的直播开启指示,向该第一终端发送第一直播图像,该直播开启指示用于指示该第二终端向该第一终端发送该第一直播图像,该第一直播图像中包括有至少一个真人以及至少一个虚拟形象;
[0322] 虚拟形象调整模块902,用于响应于该第一终端的调整指示,对该至少一个虚拟形象进行调整,得到第二直播图像,该调整指示用于指示基于该至少一个真人的人物动态信息,对该至少一个虚拟形象进行调整,该调整指示包括表情调整指示和动作调整指示中至少一项;
[0323] 第二发送模块903,用于将该第二直播图像发送给该第一终端。
[0324] 在一种可能的实现方式中,该装置还包括:
[0325] 投屏启动指令发送模块,用于响应于对投屏功能的开启指令,向第一终端发送投屏启动指令,该投屏启动指令用于请求该第一终端基于该第二终端的标识,与该第二终端建立投屏关系;
[0326] 投屏图像生成模块,用于对现实场景进行画面采集,生成投屏图像,该投屏图像中包括有该至少一个真人以及该至少一个虚拟形象;
[0327] 投屏图像发送模块,用于向该第一终端发送该投屏图像。
[0328] 在一种可能的实现方式中,该装置还包括:
[0329] 位置调整模块,用于响应于该第一终端的位置调整指示,调整该至少一个虚拟形象在该投屏图像中的位置显示,该位置调整指示用于指示基于该投屏图像调整该至少一个虚拟形象在该投屏图像中显示的位置;
[0330] 调整后的投屏图像发送模块,用于将调整后的该投屏图像发送给该第一终端。
[0331] 在本申请实施例中,提供了一种直播装置,在直播时,对于采集到的真实画面,在该画面上添加虚拟形象,并且基于画面中真人的人物动态变化,对虚拟形象进行实时调整,实现了一种在真人直播的画面中添加虚拟形象,并且该虚拟形象能够与真人进行互动的直播方式。上述方法丰富了直播的展示效果,增强了直播过程中的互动性。
[0332] 需要说明的是:上述实施例提供的直播装置在直播时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的直播装置与直播方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0333] 图10是本申请实施例提供的一种服务器的结构示意图,该服务器1000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)1001和一个或一个以上的存储器1002,其中,该存储器1002中存储有至少一条程序代码,该至少一条程序代码由该处理器1001加载并执行以实现上述各个方法实施例提供的直播方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
[0334] 图11示出了本申请一个示例性实施例提供的终端1100的结构框图。该终端1100可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1100还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
[0335] 通常,终端1100包括有:处理器1101和存储器1102。
[0336] 处理器1101可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1101可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1101也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1101可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1101还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
[0337] 存储器1102可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1102还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1102中的非暂态的计算机可读存储介质用于存储至少一个程序代码,该至少一个程序代码用于被处理器1101所执行以实现本申请中方法实施例提供的直播方法。
[0338] 在一些实施例中,终端1100还可选包括有:外围设备接口1103和至少一个外围设备。处理器1101、存储器1102和外围设备接口1103之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1103相连。具体地,外围设备包括:射频电路1104、显示屏1105、摄像头组件1106、音频电路1107、定位组件1108和电源1109中的至少一种。
[0339] 外围设备接口1103可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1101和存储器1102。在一些实施例中,处理器1101、存储器1102和外围设备接口1103被集成在同一芯片或电路板上;在一些其他实施例中,处理器1101、存储器1102和外围设备接口1103中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
[0340] 射频电路1104用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1104通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1104将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路
1104包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1104可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及
5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1104还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
[0341] 显示屏1105用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1105是触摸显示屏时,显示屏1105还具有采集在显示屏1105的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1101进行处理。此时,显示屏1105还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1105可以为一个,设置在终端1100的前面板;在另一些实施例中,显示屏1105可以为至少两个,分别设置在终端1100的不同表面或呈折叠设计;在另一些实施例中,显示屏1105可以是柔性显示屏,设置在终端1100的弯曲表面上或折叠面上。甚至,显示屏1105还可以设置成非矩形的不规则图形,也即异形屏。显示屏1105可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light‑Emitting Diode,有机发光二极管)等材质制备。
[0342] 摄像头组件1106用于采集图像或视频。可选地,摄像头组件1106包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1106还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
[0343] 音频电路1107可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1101进行处理,或者输入至射频电路1104以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1100的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1101或射频电路1104的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1107还可以包括耳机插孔。
[0344] 定位组件1108用于定位终端1100的当前地理位置,以实现导航或LBS(Location Based Service,基于位置的服务)。定位组件1108可以是基于美国的GPS(Global Positioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
[0345] 电源1109用于为终端1100中的各个组件进行供电。电源1109可以是交流电、直流电、一次性电池或可充电电池。当电源1109包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
[0346] 在一些实施例中,终端1100还包括有一个或多个传感器1110。该一个或多个传感器1110包括但不限于:加速度传感器1111、陀螺仪传感器1112、压力传感器1113、指纹传感器1114、光学传感器1115以及接近传感器1116。
[0347] 加速度传感器1111可以检测以终端1100建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1111可以用于检测重力加速度在三个坐标轴上的分量。处理器1101可以根据加速度传感器1111采集的重力加速度信号,控制显示屏1105以横向视图或纵向视图进行用户界面的显示。加速度传感器1111还可以用于游戏或者用户的运动数据的采集。
[0348] 陀螺仪传感器1112可以检测终端1100的机体方向及转动角度,陀螺仪传感器1112可以与加速度传感器1111协同采集用户对终端1100的3D动作。处理器1101根据陀螺仪传感器1112采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
[0349] 压力传感器1113可以设置在终端1100的侧边框和/或显示屏1105的下层。当压力传感器1113设置在终端1100的侧边框时,可以检测用户对终端1100的握持信号,由处理器1101根据压力传感器1113采集的握持信号进行左右手识别或快捷操作。当压力传感器1113设置在显示屏1105的下层时,由处理器1101根据用户对显示屏1105的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
[0350] 指纹传感器1114用于采集用户的指纹,由处理器1101根据指纹传感器1114采集到的指纹识别用户的身份,或者,由指纹传感器1114根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1101授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1114可以被设置在终端1100的正面、背面或侧面。当终端1100上设置有物理按键或厂商Logo时,指纹传感器1114可以与物理按键或厂商Logo集成在一起。
[0351] 光学传感器1115用于采集环境光强度。在一个实施例中,处理器1101可以根据光学传感器1115采集的环境光强度,控制显示屏1105的显示亮度。具体地,当环境光强度较高时,调高显示屏1105的显示亮度;当环境光强度较低时,调低显示屏1105的显示亮度。在另一个实施例中,处理器1101还可以根据光学传感器1115采集的环境光强度,动态调整摄像头组件1106的拍摄参数。
[0352] 接近传感器1116,也称距离传感器,通常设置在终端1100的前面板。接近传感器1116用于采集用户与终端1100的正面之间的距离。在一个实施例中,当接近传感器1116检测到用户与终端1100的正面之间的距离逐渐变小时,由处理器1101控制显示屏1105从亮屏状态切换为息屏状态;当接近传感器1116检测到用户与终端1100的正面之间的距离逐渐变大时,由处理器1101控制显示屏1105从息屏状态切换为亮屏状态。
[0353] 本领域技术人员可以理解,图11中示出的结构并不构成对终端1100的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0354] 在示例性实施例中,还提供了一种计算机可读存储介质,例如包括程序代码的存储器,上述程序代码可由终端或服务器中的处理器执行以完成上述实施例中的直播方法。例如,所述计算机可读存储介质可以是只读内存(read‑only memory,ROM)、随机存取存储器(random access memory,RAM)、只读光盘(compact‑disc read‑only memory)、磁带、软盘和光数据存储设备等。
[0355] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来程序代码相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0356] 以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。