直播互动方法、装置以及系统与流程
未命名
08-09
阅读:80
评论:0

1.本技术涉及直播技术领域,尤其涉及一种直播互动方法、装置以及系统。
背景技术:
2.随着互联网技术的迅速发展,直播如今已深入人们的日常工作和生活,各种各样的直播可以为人们带来多样化的信息,提供新鲜的娱乐体验。
3.然而,在目前的直播中,主播与观众之间的互动方式较为单一,通常情况下,主播仅可以向观众介绍现实生活中的物品,观众只能通过发送弹幕、点赞、评论或者赠送虚拟礼物(如虚拟火箭或者虚拟鲜花等)的方式与主播进行互动,该互动方式对于主播和观众来说互动体验并不理想。
技术实现要素:
4.本技术提供一种直播互动方法、装置以及系统,可以优化直播互动效果,给主播和观众提供多种多样的互动方式,优化主播和观众之间的互动体验。
5.第一方面,提供一种直播互动方法,应用于云计算平台,该方法包括:首先,将主播的形象和虚拟物体融合,得到第一直播画面,然后,将第一直播画面发送给观众的终端设备以及主播的终端设备,之后,接收对第一直播画面中的主播的形象或者虚拟物体的第一操作指令,最后,根据第一操作指令以及第一直播画面得到第二直播画面,并将第二直播画面发送给观众的终端设备以及主播的终端设备。
6.其中,主播为虚拟人或者真实人,也就是说,主播的形象可以为虚拟的人物形象,也可以为主播的真人形象,具体地,在主播的形象为虚拟的人物形象时,主播的形象可以为虚拟的三维人物模型;虚拟物体可以为虚拟建筑、虚拟舞台、虚拟动物、虚拟植物、虚拟桌子、虚拟棋盘、虚拟高尔夫球等任意虚拟三维模型,虚拟物体可以用于实现观众和主播之间的互动游戏,如棋牌类游戏或者球类游戏等,此处不作具体限定。
7.第一操作指令,是对第一操作进行处理得到的指令,第一操作是观众对第一直播画面中的主播的形象或者虚拟物体的操作,或者,是主播对第一直播画面中的主播的形象或者虚拟物体的操作。应理解,当第一操作是观众进行的操作时,第一操作指令是观众的终端设备对第一操作进行处理得到的指令,观众的终端设备在得到第一操作指令后,将第一操作指令发送给云计算平台;当第一操作是主播进行的操作时,第一操作指令是主播的终端设备对第一操作进行处理得到的指令,主播的终端设备在得到第一操作指令后,将第一操作指令发送给云计算平台。
8.第一操作指令可以是用于改变第一直播画面中主播的形象的指令,或者,是用于改变第一直播画面中虚拟物体上的点的坐标值、移动速度、加速度、偏移角度、移动方向、颜色中的一种或者多种的指令,或者,是用于在第一直播画面中添加真实物体的形象的指令,此处不作具体限定。
9.在第一操作指令用于改变第一直播画面中主播的形象时,第一操作指令具体可以
用于给主播的形象添加装饰品(如发夹、眼镜)、改变主播的发型(如将直发变为卷发)或者改变主播的服装(如将连衣裙换成西装)等,具体实现中,上述装饰品、发型或者服装可以为第一直播画面中原本包括的虚拟物体。需要说明的是,在主播的形象为虚拟的三维人物模型时,第一操作指令也可以用于改变主播的形象上的点的坐标值、移动速度、加速度、偏移角度、移动方向、颜色中的一种或者多种,例如,在第一直播画面中主播的形象位于画面中间位置,第一操作指令是用于将主播的形象移动到第一直播画面的左下角的指令,又例如,在第一直播画面中主播的形象是站立姿势,第一操作指令是用于让第一直播画面中主播的形象坐下的指令。
10.在第一操作指令用于改变第一直播画面中虚拟物体上的点的坐标值、移动速度、加速度、偏移角度、移动方向、颜色中的一种或者多种时,第一操作指令具体可以用于改变虚拟物体在第一直播画面中的位置、改变虚拟物体在第一直播画面中移动的速度或者改变虚拟物体在第一直播画面中显示的颜色等,例如,假设虚拟物体为棋子,则第一操作指令可以是用于改变棋子的位置的指令,又例如,假设虚拟物体为高尔夫球,则第一操作指令可以是用于让高尔夫球以一定的角度和速度飞起的指令。
11.在第一操作指令用于在第一直播画面中添加真实物体的形象时,第一操作指令具体可以用于在第一直播画面中添加真实帽子的形象、真实植物的形象、真实动物的形象等,此处均不作具体限定。
12.通过上述方案可知,本技术提供的直播互动方法可以实现观众或者主播对直播画面中的主播的形象或者虚拟物体进行多种多样的互动操作,基于观众或者主播进行的互动操作更新直播画面,也就是说,通过该方法,观众和主播看到的直播画面会随着观众或者主播进行的多种多样的互动操作千变万化,因此,上述方案能够实现给主播和观众提供多种多样的互动方式,优化主播与观众之间的互动体验。
13.此外,上述方案中,是将主播的形象和虚拟物体融合在一起得到直播画面,相较于现有技术通过将两张二维图像进行简单叠加得到的直播画面,直播画面的立体显示效果较好,显示的内容也更加自然协调。
14.在一种可能的实现方式中,第一方面提供的直播互动方法还包括如下步骤:首先,接收对第二直播画面中的主播的形象或者虚拟物体的第二操作指令,然后,根据第二操作指令以及第二直播画面得到第三直播画面,最后,将第三直播画面发送给观众的终端设备以及主播的终端设备。
15.其中,第二操作指令是对第二操作进行处理得到的指令,当第一操作是观众进行的操作时,第二操作是主播对第二直播画面中的主播的形象或者虚拟物体的操作,第二操作指令由主播的终端设备对第二操作进行处理得到,主播的终端设备在得到第二操作指令后,将第二操作指令发送给云计算平台;当第一操作是主播进行的操作时,第二操作是观众对第二直播画面中的主播的形象或者虚拟物体的操作,第二操作指令由观众的终端设备对第二操作进行处理得到,观众的终端设备在得到第二操作指令后,将第二操作指令发送给云计算平台。
16.第二操作指令可以是用于改变第一直播画面中主播的形象的指令,或者,是用于改变第一直播画面中虚拟物体上的点的坐标值、移动速度、加速度、偏移角度、移动方向、颜色中的一种或者多种的指令,或者,是用于在第一直播画面中添加真实物体的形象的指令,
此处不作具体限定。
17.可以看出,上述实现方式可以实现主播和观众在看到基于对方的操作更新的直播画面后,可以对更新的直播画面中的主播的形象或者虚拟物体再次进行操作,使得再次更新直播画面,也就是说,上述实现方式可以实现主播和观众多次操作直播画面中的主播的形象或者虚拟物体进行互动。
18.在一种可能的实现方式中,具体可以通过如下方式实现将主播的形象和虚拟物体融合,得到第一直播画面:将主播的三维数据和虚拟物体的三维数据进行融合后,将融合后的三维数据处理得到二维的第一直播画面。
19.其中,主播的三维数据,指构成主播的三维模型的数据,虚拟物体的三维数据,指构成虚拟物体的三维模型的数据。
20.具体实现中,可以将虚拟物体划分为虚拟场景和虚拟道具,其中,虚拟场景可以作为主播直播时,主播的形象所处的场景,例如,虚拟的游戏场景、虚拟的生活场景或者虚拟的工作场景等,虚拟道具可以作为主播直播时,主播与观众进行互动的道具,例如,虚拟棋盘、虚拟棋子、虚拟高尔夫球、虚拟足球、虚拟装饰物等。
21.将主播的三维数据和虚拟物体的三维数据进行融合,可以理解为,将主播的形象对应的三维模型以及虚拟道具放置到虚拟场景中的合适位置。
22.具体实现中,可以对融合后的三维数据进行渲染处理,得到二维的第一直播画面,其中,渲染方法可以为光栅化渲染方法、光线追踪渲染方法或者光栅化渲染方法与光线追踪渲染方法混合的方法,此处不作具体限定。
23.实施上述实现方式得到的直播画面中,主播的形象和虚拟物体是融合在一起的,相较于现有技术通过将两张二维图像进行简单叠加得到的直播画面,主播的形象和虚拟物体的立体显示效果较好,直播画面也比较自然协调。
24.在一种可能的实现方式中,具体可以通过如下方式实现将主播的形象和虚拟物体融合,得到第一直播画面:首先,获取主播的二维图像,然后,将主播的二维图像和虚拟物体的二维图像进行融合,得到二维的第一直播画面。
25.其中,主播的二维图像可以为接收真人主播实时上传的包括多帧连续图像的直播视频,然后对每帧图像进行人物识别,在识别到真人主播后,从每帧图像中抠出的真人主播的二维图像;虚拟物体的二维图像,可以对虚拟物体的三维数据进行渲染处理得到,渲染方法可以为光栅化渲染方法、光线追踪渲染方法或者光栅化渲染方法与光线追踪渲染方法混合的方法,此处不作具体限定。
26.具体实现中,可以通过增强现实技术将主播的二维图像和虚拟物体的二维图像进行虚实融合,得到第一直播画面,该直播画面中,主播的形象和虚拟物体是融合在一起的,立体显示效果较好,画面也比较自然协调。
27.实施上述实现方式得到的直播画面中,主播的形象和虚拟物体是融合在一起的,相较于现有技术通过将两张二维图像进行简单叠加得到的直播画面,主播的形象和虚拟物体的立体显示效果较好,直播画面也比较自然协调。
28.第二方面,提供一种直播互动方法,应用于观众的终端设备或者主播的终端设备,该方法包括:首先,显示第一直播画面,该第一直播画面包括主播的形象以及虚拟物体,然后,显示第二直播画面,该第二直播画面是根据对第一直播画面中的主播的形象或者虚拟
物体的第一操作指令以及第一直播画面得到的。
29.在一种可能的实现方式中,第二方面提供的直播互动方法还包括如下步骤:显示第三直播画面,该第三直播画面是根据对第二直播画面中的主播的形象或者虚拟物体的第二操作指令以及第二直播画面得到的。
30.在一种可能的实现方式中,第一操作指令为对第一操作进行处理得到指令,第二操作指令为对第二操作进行处理得到指令;其中,第一操作为观众对第一直播画面中的主播的形象或者虚拟物体的操作,第二操作为主播对第二直播画面中的主播的形象或者虚拟物体的操作;或者,第一操作为主播对第一直播画面中的主播的形象或者虚拟物体的操作,第二操作为观众对第二直播画面中的主播的形象或者虚拟物体的操作。
31.在一种可能的实现方式中,主播为真实人或者虚拟人。
32.在一种可能的实现方式中,第一直播画面是将主播的三维数据和虚拟物体的三维数据进行融合后,将融合后的三维数据处理得到的二维画面。
33.在一种可能的实现方式中,第一直播画面是将主播的二维图像和虚拟物体的二维图像进行融合得到的。
34.在一种可能的实现方式中,第一操作指令用于改变主播的形象;或者,第一操作指令用于改变虚拟物体上的点的坐标值、移动速度、加速度、偏移角度、移动方向、颜色中的一种或者多种;或者,第一操作指令用于在第一直播画面中添加真实物体的形象。
35.在一种可能的实现方式中,第一操作指令用于给主播的形象添加装饰品、改变发型或者改变服装。
36.在一种可能的实现方式中,虚拟物体用于实现观众和主播之间的互动游戏,如棋牌类游戏或者球类游戏等。
37.第三方面,提供一种直播互动方法,应用于直播系统,该直播系统包括云计算平台、观众的终端设备和主播的终端设备,该方法包括:云计算平台将主播的形象和虚拟物体融合,得到第一直播画面,并将第一直播画面发送给观众的终端设备以及主播的终端设备进行显示,然后,观众的终端设备或者主播的终端设备向云计算平台发送对第一直播画面中的主播的形象或者虚拟物体的第一操作指令,云计算平台在接收到第一操作指令后,根据第一操作指令以及第一直播画面得到第二直播画面,最后,云计算平台将第二直播画面发送给观众的终端设备以及主播的终端设备进行显示。
38.第四方面,提供一种直播互动装置,应用于云计算平台,该装置包括用于执行第一方面或第一方面任一种可能实现方式提供的方法的各个模块。
39.第五方面,提供一种直播互动装置,应用于主播的终端设备或者观众的终端设备,该装置包括用于执行第二方面或第二方面任一种可能实现方式提供的方法的各个模块。
40.第六方面,提供一种直播系统,该直播系统包括上述第四方面所述的直播互动装置和上述第五方面所述的互动装置。
41.第七方面,提供一种云计算平台,该云计算平台包括一个或多个计算设备,每个计算设备包括处理器和存储器;所述一个或多个计算设备的处理器用于执行所述一个或多个计算设备的存储器存储的指令,使得所述一个或多个计算设备执行如下步骤:首先,将主播的形象和虚拟物体融合,得到第一直播画面,然后,将第一直播画面发送给观众的终端设备以及主播的终端设备,之后,接收对第一直播画面中的主播的形象或者虚拟物体的第一操
作指令,最后,根据第一操作指令以及第一直播画面得到第二直播画面,并将第二直播画面发送给观众的终端设备以及主播的终端设备。
42.第八方面,提供一种终端设备,该终端设备包括处理器和存储器;所述处理器用于执行所述存储器存储的指令,使得所述终端设备执行如下步骤:首先,显示第一直播画面,该第一直播画面包括主播的形象以及虚拟物体,然后,显示第二直播画面,该第二直播画面是根据对第一直播画面中的主播的形象或者虚拟物体的第一操作指令以及第一直播画面得到的。
43.第九方面,提供一种计算机可读存储介质,该计算机可读存储介质存储有指令,所述指令用于实现如上述第一方面至第三方面任一种可能实现方式提供的方法。
44.第十方面,提供一种计算机程序产品,包括计算机程序,当所述计算机程序被计算设备读取并执行时,使得所述计算设备执行如上述第一方面至第三方面任一种可能实现方式提供的方法。
附图说明
45.图1为本技术涉及的一种直播系统的结构示意图;
46.图2为本技术涉及的一种直播画面的示意图;
47.图3为本技术提供的一种直播互动方法的交互示意图;
48.图4是本技术提供的一种将主播的三维数据和虚拟物体的三维数据融合的示意图;
49.图5是本技术提供的一种光栅化渲染方法的流程示意图;
50.图6是本技术提供的顶点着色器的变换的过程的示意图;
51.图7是本技术提供的曲面细分技术的示意图;
52.图8a是本技术提供的一种直播画面的示意图;
53.图8b是本技术提供的一种直播画面的示意图;
54.图9是本技术提供的一种直播互动装置的结构示意图;
55.图10是本技术提供的另一种直播互动装置的结构示意图;
56.图11是本技术提供的一种终端设备的结构示意图;
57.图12是本技术提供的一种云计算平台的结构示意图;
58.图13是本技术提供的一种计算设备的结构示意图。
具体实施方式
59.下面将结合附图,对本技术提供的技术方案进行描述。
60.为了使本技术提供的技术方案更清晰,在具体描述本技术提供的技术方案之前,首先进行相关术语的解释。
61.虚拟物体:指真实世界中不存在的物体,虚拟物体是预先在虚拟世界中创建的可以用于反映真实世界中的物体在虚拟世界中的虚拟三维模型。
62.虚拟场景:可以是计算机利用三维虚拟现实场景技术模拟的虚拟现实场景,也可以是半仿真半虚构的三维环境场景,还可以是纯虚构的三维环境场景。三维虚拟现实场景技术是一种可以创建和体验虚拟世界的计算机仿真系统,它利用计算机生成一种现实场景
processing unit,gpu)架构,cpu+ai芯片,cpu+gpu+ai芯片架构等等,此处不作具体限定。存储资源可以包括内存等等。这里,计算资源可以被分成多个计算单位资源,存储资源可以被分成多个存储单位资源,网络资源可以被分成多个网络单位资源。因此,图像处理平台可以按照用户的资源需求以单位资源为基础进行自由组合,从而用户的需要提供资源。例如,计算资源可以被分成5u的计算单位资源,存储资源可以被分成10g的存储单位资源,则计算资源和存储资源的组合可以是,5u+10g,5u+20g,5u+30u,
…
,10u+10g,10u+20g,10u+30u,
…
。
72.虚拟化服务是通过虚拟化技术将多个物理主机的资源构建为统一的资源池,并按照用户的需要灵活地隔离出相互独立的资源以运行用户的应用程序的服务。
73.虚拟化服务可以包括虚拟机(virtual machine,vm)服务、裸金属(bare metal server,bms)服务以及容器(container)服务。其中,vm服务可以是通过虚拟化技术在多个物理主机上虚拟出虚拟机(virtual machine,vm)资源池以为用户按需提供vm进行使用的服务。bms服务是在多个物理主机上虚拟出bms资源池以为用户按需提供bms进行使用的服务。容器服务是在多个物理主机上虚拟出容器资源池以为用户按需提供容器进行使用的服务。vm是模拟出来的一台虚拟的计算机,也即逻辑上的一台计算机。bms是一种可弹性伸缩的高性能计算服务,计算性能与传统物理机无差别,具有安全物理隔离的特点。容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以达到隔离用户空间、进程和资源的目的。应理解,上述虚拟化服务中的vm服务、bms服务以及容器服务仅仅是作为具体的事例,在实际应用中,虚拟化服务还可以其他轻量级或者重量级的虚拟化服务,此处不作具体限定。
74.直播应用服务端可以用于调用硬件以实现直播服务,如为主播提供直播视频录制、注入、转码等服务,以及为观众提供直播视频分发服务。
75.具体地,直播应用服务端可以通过网络设备120接收主播的终端设备110a上的直播应用客户端发送的直播视频,然后,对直播视频进行转码、存储等服务,直播应用服务端还可以通过网络设备120接收观众的终端设备110b发送的观看直播请求时,然后,根据观看直播请求查找到对应的直播视频,最后,将查找到的直播视频通过网络设备120发送给观众的终端设备110b,由观众的终端设备110b上的直播应用客户端将直播视频显示给观众。可以看出,直播应用客户端相当于用户(指主播或者观众)和直播应用服务端之间的中介,直播应用客户端和直播应用服务端统称为渲染应用。
76.具体实现中,直播应用服务端和直播应用客户端可以是直播应用提供商提供的。举个例子说明,直播应用开发商将直播应用服务端安装在云服务提供商提供的云计算平台130上,直播应用开发商将直播应用客户端通过互联网提供给用户下载,并安装在用户的终端设备110上。可选地,直播应用服务端和直播应用客户端也可以是云服务商提供的。
77.具体实现中,云厂商可以将云计算平台130提供的直播服务作为一项云服务,当某直播平台购买了云厂商提供的该项云服务之后,在直播平台注册了账号的主播通过该直播平台可以使用该项云服务进行直播,在直播平台注册了账号的观众通过该直播平台可以使用该项云服务观看直播,且主播和观众可以使用该项云服务进行互动。
78.应理解,图1所示的直播系统100仅仅是作为具体的示例,在实际应用中,直播系统100可以包括任意数目的终端设备110、网络设备120和云计算平台130,此处不作具体限定。
79.然而,在目前的直播中,主播与观众之间的互动方式较为单一,通常情况下,主播
仅可以向观众介绍现实生活中的物品,观众只能通过发送弹幕、点赞、评论或者赠送虚拟礼物的方式与主播进行互动,其中,虚拟礼物为二维的图像素材。如图2所示,观众a发送了弹幕“你好!”与主播lisa互动,观众b发送了弹幕“你的直播很好看!”与主播lisa互动。
80.而且,当观众是通过赠送虚拟礼物与主播进行互动时,虚拟礼物仅仅是简单、生硬地的叠加在现有的直播画面上,显示效果很突兀。
81.随着人们审美水平和娱乐需求的逐渐提升,人们通常期待更好的直播互动效果,以及期待在直播过程中进行多样化的互动,上述互动方式对于主播和观众来说互动体验并不理想。
82.为了解决上述问题,本技术提供了直播互动方法、装置以及系统,能够优化直播互动效果,给主播和观众提供多种多样的互动方式,从而优化主播和观众之间的互动体验。
83.下面结合对应的附图分别详细地介绍本技术提供的直播互动方法、装置以及相关设备。
84.首先,请参见图3,图3为本技术提供的一种直播互动方法的交互示意图,该直播互动方法可以应用于图1所示的直播系统100,具体地,如图3所示,图1所示的直播系统100执行本技术提供的直播互动方法,可以包括如下步骤:
85.s301:云计算平台130将主播的形象和虚拟物体融合,得到第一直播画面。
86.其中,主播为虚拟人或者真实人,也就是说,主播的形象可以为虚拟的人物形象,也可以为主播的真人形象,具体地,在主播的形象为虚拟的人物形象时,主播的形象可以为虚拟的三维人物模型;虚拟物体可以为虚拟建筑、虚拟舞台、虚拟动物、虚拟植物、虚拟桌子、虚拟棋盘、虚拟高尔夫球等任意虚拟三维模型,虚拟物体可以用于实现观众和主播之间的互动游戏,如棋牌类游戏或者球类游戏等,此处不作具体限定。
87.在本技术具体的实施例中,可以将虚拟物体划分为虚拟场景和虚拟道具,其中,虚拟场景可以作为主播直播时,主播的形象所处的场景,例如,虚拟的游戏场景、虚拟的生活场景或者虚拟的工作场景等;虚拟道具可以作为主播直播时,主播与观众进行互动的道具,例如,虚拟棋盘、虚拟棋子、虚拟高尔夫球、虚拟足球、虚拟装饰物等。
88.在本技术具体的实施例中,云计算平台130可以通过如下方式中任意一种实现将主播的形象和虚拟物体融合,得到第一直播画面:
89.方式1、在主播的形象为虚拟的三维人物模型时,云计算平台130可以将主播的三维数据和虚拟物体的三维数据进行融合,得到融合后的三维数据,然后将融合后的三维数据处理得到二维的第一直播画面。
90.其中,主播的三维数据,指构成主播的三维模型的数据,虚拟物体的三维数据,指构成虚拟物体的三维模型的数据。
91.由上文可知,虚拟物体包括虚拟场景和虚拟道具,因此,将主播的三维数据和虚拟物体的三维数据进行融合,可以理解为,将主播的形象对应的三维模型以及虚拟道具对应的三维模型放置到虚拟场景中的合适位置。
92.举例来讲,假设虚拟场景为虚拟的可以进行下棋游戏的房间,虚拟道具包括虚拟棋盘和虚拟棋子,则可以将主播的形象、虚拟棋盘和虚拟棋子放置到虚拟房间的中间位置,其中,主播的形象在虚拟棋盘的后面,虚拟棋子在虚拟棋盘上,如图4所示。
93.具体实现中,云计算平台130可以对融合后的三维数据进行渲染处理,得到二维的
第一直播画面,渲染方法可以为光栅化渲染方法、光线追踪渲染方法或者光栅化渲染方法与光线追踪渲染方法混合的方法,此处不作具体限定。
94.下面以云计算平台130采用光栅化渲染方法进行渲染为例,对云计算平台130渲染得到第一直播画面的过程进行详细描述。
95.参见图5,图5是本技术提供的一种光栅化渲染方法的原理示意图,如图5所示,本技术提供的光栅化渲染方法通常包括应用阶段、几何阶段以及光栅化阶段。其中,
96.应用阶段:主要分三个任务:(1)准备场景数据,如虚拟场景以及虚拟场景中的三维模型信息、光照信息等;(2)为了提高渲染性能,通常需要做一个粗粒度剔除(culling)工作,把那些在场景中不可见的物体剔除出去,这样,这些物体就不需要再移交给几何阶段处理;(3)设置每个三维模型的渲染状态,如使用的材质、纹理等。应用阶段的输出是渲染所需的几何信息,即渲染图元,其中,每个渲染图元里包含了该图元所对应的所有顶点数据,渲染图元可以是点、线、三角形等,这些渲染图元将会传递到几何阶段。
97.几何阶段:通常包括顶点规格(vertex specification)、顶点着色器(vertex shader)、图元装配、曲面细分技术(tessellation)、几何着色器(geometry shader)、顶点后处理(vertex post-processing)、图元装配(primitive assembly)、光栅化(rasterization)、片段着色器(fragment shader)以及逐像素处理(per-sample operations)等等多个分阶段。
98.顶点规格通常用于获取顶点数据。其中,所述顶点数据是根据虚拟场景以及虚拟场景中的三维模型生成的,所述顶点数据包括顶点的三维坐标,顶点数据还可以包括顶点的法向量以及顶点的颜色等等。顶点可以是三维模型上的点,例如,三维模型中多边形两条边相交的地方、三维模型中两条边的公共端点等等。
99.顶点着色器通常用于将顶点的三维坐标从模型空间(object space)变换至屏幕空间(screen/image space)。如图6所示,变换的过程可以是:从模型空间变换为世界空间(world space),再从世界空间变换为视景空间(view space),再从视景空间变换为标称投影空间(normalized projection space),再从标称投影空间变换为屏幕空间。其中,视景空间中包括视椎体,视椎体内的空间是从用户的视角可以看到的空间,视椎体外的空间是从用户的视角无法看到的空间。
100.曲面细分技术用于将三维模型中的顶点的数量大幅增加。如图7所示,假设三维模型包括构成三角形的三个顶点,在进行曲面细分前,如图7左边所示,三维模型中有三个顶点。在进行曲面细分后,如图7右边所示,三维模型中的顶点数量从三个变成了六个。可以看出,在曲面细分前三维模型显得粗糙而且僵硬,在曲面细分后三维模型显得逼真而且生动。
101.几何着色器用于将三维模型中的一个或多个顶点转变为完全不同的基本图元(primitive),从而生成更多的顶点。
102.顶点后处理用于对图元进行裁剪(clipping),即,如果图元部分在视椎体之外,部分在视椎体之内,则需要将该图元在视椎体之外的部分进行裁剪,只保留视椎体之内的部分。
103.图元装配通常用于将把三维模型中的顶点装配成几何图元,这个阶段将产生一系列的三角形、线段和点。其中,装配好的线段可以包括独立的线段、首尾相连但是最终不闭合的线段、首尾相连最终封口闭合的线段等。装配好的三角形可以包括独立的三角形、线性
连续三角形串、扇形连续三角形等。在此阶段,还可以进行剔除,即,从场景中移除看不到的物体。这里,剔除可以包括视椎体剔除(frustum culling)、视口剔除以及遮挡剔除(occlusion culling)。
104.光栅化阶段包括光栅化、片段着色器(fragment shader)以及逐像素处理(per-sample operation)。
105.光栅化是把顶点数据转换为片元的过程,具有将图转化为一个个栅格组成的图像的作用,特点是每个元素对应帧缓冲区中的一个像素。因此,光栅化的第一部分工作:决定窗口坐标中的哪些整型栅格区域被图元占用;第二部分工作:分配一个颜色值和一个深度值到各个区域。光栅化过程产生的是片元(fragment),其中,二维图像上每个点都包含了颜色、深度和纹理数据,将该点和相关信息叫做一个片元。
106.片段着色器用于计算像素最后的颜色输出。
107.逐像素处理包括深度测试以及透明度处理。可以理解,如果我们先绘制一个距离较近的物体,再绘制距离较远的物体,则距离远的物体因为后绘制,会把距离近的物体覆盖掉,这样的效果并不是我们所希望的,而深度测试其实就是记录像素点在3d世界中距离摄像机的距离(绘制坐标),深度缓存中存储着每个象素点(绘制在屏幕上的)的深度值(z值)越大,则离摄像机越远,因此,有了深度缓存以后,绘制物体的顺序就不那么重要了,都能按照远近(z值)正常显示。
108.上述方案中,是以光栅化渲染方法的处理顺序为:顶点着色器、曲面细分技术、几何着色器、顶点后处理(包括裁剪)、图元装配(包括剔除)、光栅化、片段着色器以及逐像素处理为例进行介绍的,在实际应用中,光栅化渲染方法的处理顺序可以发生变化,此处不作具体限定。
109.经过上述渲染操作,便可以得到二维的第一直播画面,得到的第一直播画面中,主播的形象和虚拟物体的立体显示效果较好,画面也比较自然协调。
110.方式2、在主播的形象为真人形象时,云计算平台130可以将虚拟物体的二维图像和主播的二维图像进行融合,从而得到二维的第一直播画面。
111.其中,主播的二维图像可以为云计算平台130接收真人主播实时上传的包括多帧连续图像的直播视频,然后对每帧图像进行人物识别,在识别到真人主播后,从每帧图像中抠出的真人主播的二维图像。
112.具体实现中,云计算平台130可以在接收到真人主播上传的每一帧图像时,便从该图像中抠出真人主播的二维图像,然后将抠出的真人主播的二维图像与虚拟物体的二维图像进行虚实融合,得到二维的第一直播画面,得到的第一直播画面中,真人主播的形象和虚拟物体的立体显示效果较好,画面也比较自然协调。
113.具体实现中,云计算平台130可以对虚拟物体的三维数据进行渲染处理,得到虚拟物体的二维图像,渲染方法可以为光栅化渲染方法、光线追踪渲染方法或者光栅化渲染方法与光线追踪渲染方法混合的方法,此处不作具体限定;云计算平台130可以通过增强现实技术将真人主播的二维图像和虚拟物体的二维图像进行虚实融合,得到第一直播画面。
114.可以看出,通过上述方式1或者方式2得到的第一直播画面中,主播的形象和虚拟道具融合为虚拟场景的一部分,相较于现有技术通过将两张二维图像进行简单叠加得到的直播画面,画面的立体显示效果较好,画面也更加自然协调。
115.应理解,上述所列举的两种实现主播的形象与虚拟物体融合得到第一直播画面的方式,仅仅是作为示例,其他能够实现主播的形象与虚拟物体融合得到第一直播画面的方式,也属于本技术的保护范围,此处不应视为具体限定。
116.s302:云计算平台130将第一直播画面发送给观众的终端设备110b。
117.具体实现中,可以是由云计算平台130上的直播应用服务端将第一直播画面通过网络发送给观众的终端设备110b上的直播应用客户端,由直播应用客户端将第一直播画面显示给观众。
118.s303:云计算平台130将第一直播画面发送给主播的终端设备110a。
119.具体实现中,可以是由云计算平台130上的直播应用服务端将第一直播画面通过网络发送给主播的终端设备110a上的直播应用客户端,由直播应用客户端将第一直播画面显示给主播。
120.s304:观众的终端设备110b显示第一直播画面。
121.s305:主播的终端设备110a显示第一直播画面。
122.s306:观众的终端设备110b或者主播的终端设备110a接收其对应的用户对第一直播画面中的主播的形象或者虚拟物体的第一操作。
123.其中,第一操作,为观众或者主播在观看第一直播画面时,向其持有的终端设备输入的用于改变第一直播画面中主播的形象的操作,或者,用于改变第一直播画面中虚拟物体上的点的坐标值、移动速度、加速度、偏移角度、移动方向、颜色中的一种或者多种的操作,或者,用于在第一直播画面中添加真实物体的形象的操作,此处不作具体限定。在图3中,以第一操作为观众的操作,接收第一操作的终端设备为观众的终端设备110b为例,应理解,图3仅作为示例,不应视为具体限定。
124.在第一操作为用于改变第一直播画面中主播的形象的操作时,第一操作具体可以用于给主播的形象添加装饰品(如发夹、眼镜)、改变主播的发型(如将直发变为卷发)或者改变主播的服装(如将连衣裙换成西装)等,具体实现中,上述装饰品、发型或者服装可以为第一直播画面中原本包括的虚拟物体。需要说明的是,在主播的形象为虚拟的三维人物模型时,第一操作也可以用于改变主播的形象上的点的坐标值、移动速度、加速度、偏移角度、移动方向、颜色中的一种或者多种,例如,在第一直播画面中主播的形象位于画面中间位置,第一操作是用于将主播的形象移动到第一直播画面的左下角的操作,又例如,在第一直播画面中主播的形象是站立姿势,第一操作是用于让第一直播画面中主播的形象坐下的操作。
125.在第一操作为用于改变第一直播画面中虚拟物体上的点的坐标值、移动速度、加速度、偏移角度、移动方向、颜色中的一种或者多种的操作时,第一操作具体可以用于改变虚拟物体在第一直播画面中的位置、改变虚拟物体在第一直播画面中移动的速度或者改变虚拟物体在第一直播画面中显示的颜色等,例如,假设虚拟物体为棋子,则第一操作是用于改变棋子的位置的操作,又例如,假设虚拟物体为高尔夫球,则第一操作是用于让高尔夫球以一定的角度和速度飞起的操作。
126.在第一操作为用于在第一直播画面中添加真实物体的形象的操作时,第一操作具体可以用于在第一直播画面中添加真实帽子的形象、真实植物的形象、真实动物的形象等,此处均不作具体限定。
127.具体实现中,观众/主播可以通过输入组件向观众的终端设备110b/主播的终端设备110a输入第一操作,其中,输入组件包括但不限于:键盘、鼠标、触控屏、触控板和音频输入器等,以输入组件为触控屏为例,则第一操作可以为观众使用手指或者触控笔在观众的终端设备110b的触控屏上进行的滑动操作,该滑动操作可以用于改变第一直播画面中虚拟物体的位置。
128.s307:观众的终端设备110b或者主播的终端设备110a中接收到第一操作的终端设备,将第一操作处理为对第一直播画面中的主播的形象或者虚拟物体的第一操作指令。
129.在图3中,以观众的终端设备110b将第一操作处理为第一操作指令为例,应理解,图3仅作为示例,不应视为具体限定。
130.由于第一操作指令为对第一操作进行处理得到,因此,第一操作指令与第一操作对应,当第一操作是用于改变第一直播画面中主播的形象的操作时,第一操作指令是用于改变第一直播画面中主播的形象的指令,当第一操作是用于改变第一直播画面中虚拟物体上的点的坐标值、移动速度、加速度、偏移角度、移动方向、颜色中的一种或者多种的操作时,第一操作指令是用于改变第一直播画面中虚拟物体上的点的坐标值、移动速度、加速度、偏移角度、移动方向、颜色中的一种或者多种的指令,当第一操作是用于在第一直播画面中添加真实物体的形象的操作时,第一操作指令是用于在第一直播画面中添加真实物体的形象的指令。
131.具体实现中,观众或者主播可以预先对真实物体进行扫描得到真实物体的扫描数据,然后将真实物体的扫描数据输入到对应的终端设备中,当需要在第一直播画面中添加真实物体的形象时,观众或者主播进行的第一操作可以为点击终端设备中存储的真实物体的扫描数据,观众的终端设备110b或者主播的终端设备110a在接收到上述第一操作后,对上述第一操作进行处理,可以得到用于在第一直播画面中添加真实物体的形象的第一操作指令,该第一操作指令中可携带真实物体的扫描数据;或者,观众或者主播可以预先构建真实物体的三维模型,然后将真实物体的三维数据(指构成真实物体的三维模型的数据)输入到对应的终端设备中,当需要在第一直播画面中添加真实物体的形象时,观众或者主播进行的第一操作可以为点击终端设备中存储的真实物体的三维数据,观众的终端设备110b或者主播的终端设备110a在接收到上述第一操作后,对上述第一操作进行处理,可以得到用于在第一直播画面中添加真实物体的形象的第一操作指令,该第一操作指令中可携带真实物体的三维数据。
132.s308:观众的终端设备110b或者主播的终端设备110a中得到第一操作指令的终端设备,将第一操作指令发送给云计算平台130。
133.具体实现中,可以是观众的终端设备110b或者主播的终端设备110a上的直播应用客户端将第一操作指令通过网络发送给云计算平台130。在图3中,以观众的终端设备110b将第一操作指令发送给云计算平台130为例,应理解,图3仅作为示例,不应视为具体限定。
134.s309:云计算平台130根据第一操作指令以及第一直播画面得到第二直播画面。
135.具体地,在第一操作指令用于改变主播的形象或者改变虚拟物体上的点的坐标值、移动速度、加速度、偏移角度、移动方向、颜色中的一种或者多种时,云计算平台130可以获取第一直播画面中被第一操作指令影响后的主播的形象或者虚拟物体的物理信息,然后根据获取的物理信息对第一直播画面进行更新,从而得到第二直播画面;在第一操作指令
用于添加真实物体的形象时,若第一操作指令中携带有真实物体的扫描数据,则云计算平台130可以基于真实物体的扫描数据构建真实物体的三维数据,然后根据真实物体的三维数据对第一直播画面进行更新,从而得到第二直播画面,若第一操作指令中携带有真实物体的三维数据,则云计算平台130可以直接根据真实物体的三维数据对第一直播画面进行更新。
136.其中,被第一操作指令影响后的主播的形象或者虚拟物体的物理信息可以包括如下任意一种或多种:被第一操作指令影响后的主播的形象或者虚拟物体上的点的坐标值、点移动的速度、点移动的加速度、点移动的偏移角度、点移动的方向、点的颜色等等。应理解,上述所列举的物理信息仅仅是作为示例,不应视为具体限定。
137.以第一操作指令用于移动第一直播画面中虚拟棋子的位置为例,则被第一操作指令影响后的虚拟物体的物理信息为虚拟棋子上的每个点被移动后的坐标值,以第一操作指令用于让第一直播画面中的虚拟高尔夫球以一定的偏移角度和速度飞起为例,则被第一操作指令影响后的虚拟物体的物理信息为虚拟高尔夫球上的每个点飞起的偏移角度和速度,以第一操作指令用于改变第一直播画面中主播的形象的衣服的颜色为例,则被第一操作指令影响后的主播的形象的物理信息为主播的形象的衣服上的每个点的颜色信息。
138.参见本技术示例性示出的图8a和图8b,图8a为第一直播画面800a,图8b为第二直播画面800b,假设第一操作指令用于将第一直播画面800a中的棋子8001从棋盘上第一行第二格移动到棋盘上第三行第五格,可以看出,在第二直播画面800b中,棋子8001已经移动到满足用户需求的位置。
139.在本技术具体的实施例中,根据获取的物理信息对第一直播画面进行更新得到第二直播画面,可以为根据获取的物理信息更新第一直播画面对应的虚拟场景中主播的形象或者虚拟物体,然后,对虚拟场景的三维数据、虚拟场景中的虚拟物体的三维数据以及主播的形象进行渲染处理,从而得到二维的第二直播画面。在本技术具体的实施例中,根据真实物体的三维数据对第一直播画面进行更新得到第二直播画面,可以为将真实物体的三维数据添加到第一直播画面对应的虚拟场景中,然后,对虚拟场景的三维数据、虚拟场景中的虚拟物体的三维数据、虚拟场景中的主播的形象以及添加到虚拟场景中的真实物体的三维数据进行渲染处理,从而得到二维的第二直播画面。
140.s310:云计算平台130将第二直播画面发送给观众的终端设备110b。
141.s311:云计算平台130将第二直播画面发送给主播的终端设备110a。
142.s312:观众的终端设备110b显示第二直播画面。
143.s313:主播的终端设备110a显示第二直播画面。
144.上述s302至s303的执行可以并行或者以任意顺序先后执行,上述s304至s305的执行可以并行或者以任意顺序先后执行,上述s310至s311的执行可以并行或者以任意顺序先后执行,上述s312至s313的执行可以并行或者以任意顺序先后执行,此处不作具体限定。
145.在本技术具体的实施例中,若第一操作是观众进行的操作,则在观众的终端设备110b以及主播的终端设备110a显示第二直播画面时,主播的终端设备110a可以接收主播对第二直播画面中的主播的形象或者虚拟物体的第二操作,然后,主播的终端设备110a可以将第二操作处理为对第二直播画面中的主播的形象或者虚拟物体的第二操作指令,并将第二操作指令发送给云计算平台130,由云计算平台130根据第二操作指令以及第二直播画面
得到第三直播画面,云计算平台130在得到第三直播画面后,可以将第三直播画面发送给观众的终端设备110b以及主播的终端设备110a进行显示。
146.若第一操作是主播进行的操作,则在观众的终端设备110b以及主播的终端设备110a显示第二直播画面时,观众的终端设备110b可以接收观众对第二直播画面中的主播的形象或者虚拟物体的第二操作,然后,观众的终端设备110b可以将第二操作处理为对第二直播画面中的主播的形象或者虚拟物体的第二操作指令,并将第二操作指令发送给云计算平台130,由云计算平台130根据第二操作指令以及第二直播画面得到第三直播画面,云计算平台130在得到第三直播画面后,可以将第三直播画面发送给观众的终端设备110b以及主播的终端设备110a进行显示。
147.上述第二操作的定义与图3所示实施例中的第一操作的定义相类似,第二操作指令的定义与图3所示实施例中的第一操作指令的定义相类似,云计算平台130根据第二操作指令以及第二直播画面得到第三直播画面的过程与图3所示实施例中的步骤s309所述的云计算平台130根据第一操作指令以及第一直播画面得到第二直播画面的过程相类似,为了说明书的简洁,此处不再展开描述,具体请参见图3所示实施例中的相关内容。
148.可以看出,在本技术提供的直播互动方法中,主播和观众在看到基于对方的操作更新的直播画面后,可以对更新的直播画面中的主播的形象或者虚拟物体再次进行操作,使得再次更新直播画面,也就是说,本技术提供的直播互动方法,可以实现主播和观众多次操作直播画面中的主播的形象或者虚拟物体进行互动。
149.在一种可能的实施例中,若第一操作是主播进行的操作,则主播的终端设备110a在接收主播的第一操作时,主播的终端设备110a也可以获取主播进行第一操作时的肢体动作信息,可选地,也可以获取主播进行第一操作时的面部表情信息,然后,主播的终端设备110a在向云计算平台130发送第一操作指令时,也可以将主播进行第一操作时的肢体动作信息、面部表情信息发送给云计算平台130,由云计算平台130根据第一操作指令、主播进行第一操作时的肢体动作信息、面部表情信息以及第一直播画面得到第二直播画面。
150.同理,若第二操作是主播进行的操作,则主播的终端设备110a在接收主播的第二操作时,主播的终端设备110a也可以获取主播进行第二操作时的肢体动作信息,可选地,也可以获取主播进行第二操作时的面部表情信息,然后,主播的终端设备110a在向云计算平台130发送第二操作指令时,也可以将主播进行第二操作时的肢体动作信息、面部表情信息发送给云计算平台130,由云计算平台130根据第二操作指令、主播进行第二操作时的肢体动作信息、面部表情信息以及第二直播画面得到第三直播画面。
151.具体地,云计算平台130可以根据第一操作指令、主播进行第一操作时的肢体动作信息、面部表情信息对第一直播画面进行更新,从而得到第二直播画面;云计算平台130可以根据第二操作指令、主播进行第二操作时的肢体动作信息、面部表情信息对第二直播画面进行更新,从而得到第三直播画面;其中,云计算平台130根据第一操作指令/第二操作指令更新第一直播画面的过程可以参考步骤s309中的相关描述,云计算平台130根据主播的肢体动作信息、面部表情信息更新第一直播画面/第二直播画面,可以理解为,按照主播的肢体动作信息、面部表情信息,驱动第一直播画面/第二直播画面中的主播的形象运行,即得到的更新后的直播画面中主播的形象的肢体动作、面部表情,相较于更新前的直播画面中主播的形象的肢体动作、面部表情,会发生变化。
152.具体实现中,主播的终端设备110a可以通过摄像头拍摄主播图像,该图像中包括主播的肢体动作信息、面部表情信息,或者,在主播穿戴有能采集其肢体动作信息的穿戴设备时,也可以通过穿戴设备采集主播的肢体动作信息,此处不作具体限定。
153.在一种可能的实施例中,主播的终端设备110a也可以实时采集主播的肢体动作信息、面部表情信息,然后,将采集的主播的肢体动作信息、面部表情信息实时发送给云计算平台130,由云计算平台130根据主播的肢体动作信息、面部表情信息实时更新直播画面中主播的形象的肢体动作信息、面部表情信息,此处不作具体限定。
154.具体实现中,云计算平台130在向观众的终端设备110b和主播的终端设备110a发送直播画面时,可以采用实时流传输协议(real time streaming protocol,rtsp)、网页即时通信(web real-time communication,简称为webrtc)协议等实时传输协议进行传输。
155.综上所述,本技术提供的直播互动方法,可以实现观众或者主播对直播画面中的主播的形象或者虚拟物体进行多种多样的互动操作,基于观众或者主播进行的互动操作更新直播画面,也就是说,通过该方法,观众和主播看到的直播画面会随着观众或者主播进行的多种多样的互动操作千变万化,因此,上述方案能够实现给主播和观众提供了多种多样的互动方式,优化主播与观众之间的互动体验。
156.还可以看出,本技术提供的直播互动方法,是将主播的形象和虚拟物体融合在一起得到直播画面,而且云计算平台130在根据操作指令更新直播画面时,更新的直播画面中主播的形象和虚拟物体也是融合在一起的,相较于现有技术通过将两张二维图像进行简单叠加得到的直播画面,直播画面的立体显示效果较好,显示的内容也更加自然协调。
157.上文详细阐述了本技术提供的直播互动方法,基于相同的发明构思,接下来介绍本技术提供的直播互动装置。
158.本技术提供两种直播互动装置,其中一种可以应用于图1所示的终端设备110,如110a、110b,另一种可以应用于图1所示的云计算平台130,当本技术提供的直播互动装置应用于终端设备110,和/或,应用于云计算平台130时,均能够使得图1所示的直播系统100优化主播和观众之间的直播互动效果,给主播和观众提供多种多样的互动方式,优化主播和观众之间的互动体验。应理解,本技术提供的直播互动装置内部的单元模块可以有多种划分,各个模块可以是软件模块,也可以是硬件模块,也可以部分是软件模块部分是硬件模块,本技术不对其进行限制。
159.参见图9,图9是本技术示例性示出的一种应用于终端设备110的直播互动装置900的结构示意图,该装置900包括:显示模块910、接收模块920、处理模块930和发送模块940。
160.显示模块910,用于显示第一直播画面,其中,第一直播画面包括主播的形象以及虚拟物体。
161.接收模块920,用于接收对第一直播画面中的主播的形象或者虚拟物体的第一操作。
162.处理模块930,用于将第一操作处理为对第一直播画面中的主播的形象或者虚拟物体的第一操作指令。
163.发送模块940,用于将第一操作指令发送给云计算平台130,由云计算平台130根据第一操作指令以及第一直播画面得到第二直播画面。
164.接收模块920,用于接收云计算平台130发送的第二直播画面。
165.显示模块910,用于显示第二直播画面。
166.在一种可能的实现方式中,接收模块920,用于接收对第一直播画面中的主播的形象或者虚拟物体的第二操作,处理模块930,用于将第二操作处理为对第二直播画面中的主播的形象或者虚拟物体的第二操作指令,发送模块940,用于将第二操作指令发送给云计算平台130,由云计算平台130根据第二操作指令以及第二直播画面得到第三直播画面,接收模块920,用于接收云计算平台130发送的第三直播画面,显示模块910,用于显示第三直播画面。
167.在一种可能的实现方式中,第一操作为观众的操作,第二操作为主播的操作,或者,第一操作为主播的操作,第二操作为观众的操作。应理解,当第一操作是观众的操作时,装置900可以应用的终端设备110为观众的终端设备110b,当第一操作是主播的操作时,装置900可以应用的终端设备110为主播的终端设备110a。
168.在一种可能的实现方式中,主播为真实人或者虚拟人。
169.在一种可能的实现方式中,第一直播画面是将主播的三维数据和虚拟物体的三维数据进行融合后,将融合后的三维数据处理得到的二维的直播画面。
170.在一种可能的实现方式中,第一直播画面是将主播的二维图像和虚拟物体的二维图像进行融合得到的。
171.在一种可能的实现方式中,第一操作指令用于改变主播的形象;或者,第一操作指令用于改变虚拟物体上的点的坐标值、移动速度、加速度、偏移角度、移动方向、颜色中的一种或者多种;或者,第一操作指令用于在第一直播画面中添加真实物体的形象。
172.在一种可能的实现方式中,第一操作指令用于给所述主播的形象添加装饰品、改变发型或者改变服装。
173.在一种可能的实现方式中,虚拟物体用于实现观众和主播之间的互动游戏,如棋牌类游戏或者球类游戏等。
174.参见图10,图10是本技术示例性示出的一种应用于云计算平台130的直播互动装置1000的结构示意图,该装置1000包括:处理模块1010、发送模块1020和接收模块1030。
175.处理模块1010,用于将主播的形象和虚拟物体融合,得到第一直播画面。
176.发送模块1020,用于将第一直播画面发送给观众的终端设备110b以及主播的终端设备110a。
177.接收模块1030,用于接收对第一直播画面中的主播的形象或者虚拟物体的第一操作指令。
178.处理模块1010,用于根据第一操作指令以及第一直播画面得到第二直播画面。
179.发送模块1020,用于将第二直播画面发送给终端设备110b以及主播的终端设备110a。
180.在一种可能的实现方式中,接收模块1030,用于接收对第二直播画面中的主播的形象或者虚拟物体的第二操作指令;处理模块1010,用于根据第二操作指令以及第二直播画面得到第三直播画面;发送模块1020,用于将第三直播画面发送给终端设备110b以及主播的终端设备110a。
181.在一种可能的实现方式中,第一操作指令是对第一操作进行处理得到指令,第二操作指令是对第二操作进行处理得到指令;其中,第一操作是观众对第一直播画面中的主
播的形象或者虚拟物体的操作,第二操作是主播对第二直播画面中的主播的形象或者虚拟物体的操作;或者,第一操作是主播对第一直播画面中的主播的形象或者虚拟物体的操作,第二操作是观众对第二直播画面中的主播的形象或者虚拟物体的操作。
182.在一种可能的实现方式中,主播为真实人或者虚拟人。
183.在一种可能的实现方式中,处理模块1010,具体可以通过如下方式实现将主播的形象和虚拟物体融合,得到第一直播画面:将主播的三维数据和虚拟物体的三维数据进行融合后,将融合后的三维数据进行处理得到二维的第一直播画面。
184.在一种可能的实现方式中,处理模块1010,具体可以通过如下方式实现将主播的形象和虚拟物体融合,得到第一直播画面:首先,获取主播的二维图像,然后,将主播的二维图像和虚拟物体的二维图像进行融合,得到二维的第一直播画面。
185.在一种可能的实现方式中,第一操作指令用于改变主播的形象;或者,第一操作指令用于改变虚拟物体上的点的坐标值、移动速度、加速度、偏移角度、移动方向、颜色中的一种或者多种;或者,第一操作指令用于在第一直播画面中添加真实物体的形象。
186.在一种可能的实现方式中,第一操作指令用于给主播的形象添加装饰品、改变发型或者改变服装。
187.在一种可能的实现方式中,虚拟物体用于实现观众和主播之间的互动游戏,如棋牌类游戏或者球类游戏等。
188.具体地,上述直播互动装置900执行各种操作的具体实现,可参照上述直播互动方法实施例中由主播的终端设备110a或者观众的终端设备110b执行的步骤中的相关描述,上述直播互动装置1000执行各种操作的具体实现,可参照上述直播互动方法实施例中由云计算平台130执行的步骤中的相关描述,为了说明书的简洁,这里不再赘述。
189.综上可知,本技术提供的直播互动装置(如图9所示的装置900以及图10所示的装置1000)可以实现观众或者主播对直播画面中的主播的形象或者虚拟物体进行多种多样的互动操作,基于观众或者主播进行的互动操作更新直播画面,也就是说,通过该方法,观众和主播看到的直播画面会随着观众或者主播进行的多种多样的互动操作千变万化,因此,上述方案能够实现给主播和观众提供了多种多样的互动方式,优化主播与观众之间的互动体验。
190.此外,本技术提供的直播互动装置1000,是将主播的形象和虚拟物体融合在一起得到直播画面,而且直播互动装置1000在根据操作指令更新直播画面时,更新的直播画面中主播的形象和虚拟物体也是融合在一起的,相较于现有技术通过将两张二维图像进行简单叠加得到的直播画面,直播画面的立体显示效果较好,显示的内容也更加自然协调。
191.本技术还提供一种终端设备110,参见图11,图11是本技术提供的一种终端设备110的结构示意图,如图11所示,终端设备110包括:处理器1110、存储器1120和通信接口1130,其中,处理器1110、存储器1120、通信接口1130之间可以通过总线1140相互连接。
192.处理器1110可以读取存储器1120中存储的程序代码(包括指令),执行存储器1120中存储的程序代码,使得终端设备110执行图3所示的本技术提供的直播互动方法中由主播的终端设备110a或者观众的终端设备110b执行的步骤,或者使得终端设备110部署直播互动装置900。
193.处理器1110可以有多种具体实现形式,例如cpu,或者cpu和硬件芯片的组合。上述
硬件芯片可以是专用集成电路(application-specific integrated circuit,asic)、可编程逻辑器件(programmable logic device,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complex programmable logic device,cpld)、现场可编程逻辑门阵列(field-programmable gate array,fpga)、通用阵列逻辑(generic array logic,gal)或其任意组合。处理器1110执行各种类型的数字存储指令,例如存储在存储器1120中的软件或者固件程序,它能使终端设备110提供多种服务。
194.存储器1120用于存储程序代码,并由处理器1110来控制执行。程序代码可以包括一个或多个软件模块,这一个或多个软件模块可以为图9实施例中提供的软件模块,如显示模块910、接收模块920、处理模块930和发送模块940。
195.存储器1120可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,ram);存储器1120也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,rom)、快闪存储器(flash memory)、硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd);存储器1120还可以包括上述种类的组合。
196.通信接口1130可以为有线接口(例如以太网接口、光纤接口、其他类型接口(例如,infiniband接口))或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他计算设备或装置进行通信。通信接口1130可以采用传输控制协议/网际协议(transmission control protocol/internet protocol,tcp/ip)之上的协议族,例如,远程函数调用(remote function call,rfc)协议、简单对象访问协议(simple object access protocol,soap)协议、简单网络管理协议(simple network management protocol,snmp)协议、公共对象请求代理体系结构(common object request broker architecture,corba)协议以及分布式协议等等。
197.总线1140可以是快捷外围部件互连标准(peripheral component interconnect express,pcie)总线、扩展工业标准结构(extended industry standard architecture,eisa)总线、统一总线(unified bus,ubus或ub)、计算机快速链接(compute express link,cxl)、缓存一致互联协议(cache coherent interconnect for accelerators,ccix)等。总线1140可以分为地址总线、数据总线、控制总线等。总线1140除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线1140。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
198.上述终端设备110用于执行图3所示的本技术提供的直播互动方法中由终端设备110a或者终端设备110b执行的步骤,其具体实现过程详见上述方法实施例,这里不再赘述。
199.应当理解,终端设备110仅为本技术实施例提供的一个例子,并且,终端设备110可具有比图11示出的部件更多或更少的部件,可以组合两个或更多个部件,或者可具有部件的不同配置实现。
200.本技术还提供一种云计算平台130,该云计算平台130可由图12所示的包括一个或者多个计算设备1200的计算设备集群部署实现,以执行图3所示直播互动方法中由云计算平台130所执行的步骤。
201.具体地,在所述云计算平台130仅包括一个计算设备1200的情况下,可以在该一个
计算设备1200中部署图10所示直播互动装置1000中的全部模块:处理模块1010、发送模块1020和接收模块1030。
202.在所述云计算平台130包括多个计算设备1200的情况下,多个计算设备1200中的每个计算设备1200可以用于部署图10所示直播互动装置1000中的部分模块,或,多个计算设备1200中的两个或者两个以上的计算设备1200共同用于部署图10所示直播互动装置1000中的一个或者多个模块。
203.以云计算平台130包括计算设备1200a和计算设备1200b这两个计算设备、这两个计算设备用于部署图10所示直播互动装置1000为例,计算设备1200a可以用于部署处理模块1010,计算设备1200b可以用于部署发送模块1020和接收模块1030,或者计算设备1200a用于部署发送模块1020和接收模块1030,计算设备1200a用于与计算设备1200b一起共同部署处理模块1010。
204.具体地,所述云计算平台130中的每个计算设备1200可以包括处理器1210、存储器1220以及通信接口1230等,所述云计算平台130中的一个或者多个计算设备1200中的存储器1220可以存有相同的用于执行本技术提供的直播互动方法中由云计算平台130执行的方法对应的代码(也可以称为指令或者程序指令等),处理器1210可以从存储器1220中读取代码,并执行代码以实现本技术提供的直播互动方法中由云计算平台130执行的方法,通信接口1230可以用于实现每个计算设备1200与其他设备之间的通信。
205.在一些可能的实现方式中,云计算平台130中的每个计算设备1200也可以通过网络与其他设备连接进行通信。其中,所述网络可以是广域网或局域网等等。
206.下面以直播互动装置1000的全部模块部署于一个计算设备1200上为例,结合图13对本技术提供的计算设备1200进行详细描述。
207.参见图13,计算设备1200包括:处理器1210、存储器1220以及通信接口1230,其中,处理器1210、存储器1220以及通信接口1230之间可以通过总线1240相互连接。其中,
208.处理器1210可以读取存储器1220中存储的程序代码,执行存储器1220中存储的程序代码,使得云计算平台130执行图3所示的本技术提供的直播互动方法中由云计算平台130执行的步骤,或者使得计算设备1200部署直播互动装置1000。
209.处理器1210可以有多种具体实现形式,例如处理器1210可以为cpu或gpu,处理器1210还可以是单核处理器或多核处理器。处理器1210可以由cpu和硬件芯片的组合。上述硬件芯片可以是asic、pld或其组合。上述pld可以是cpld、fpga、gal或其任意组合。处理器1210也可以单独采用内置处理逻辑的逻辑器件来实现,例如fpga或dsp等。
210.存储器1220用于存储程序代码,并由处理器1210来控制执行。程序代码可以包括图10实施例中提供的软件模块:处理模块1010、发送模块1020和接收模块1030。
211.在实际应用中,存储器1220可以是非易失性存储器,例如,rom、prom、eprom、eeprom或闪存。存储器1220也可以是易失性存储器,易失性存储器可以是ram,其用作外部高速缓存。
212.通信接口1230可以为有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他计算节点或装置进行通信。当通信接口1230为有线接口时,通信接口1230可以采用tcp/ip之上的协议族,例如,rfc协议、soap协议、snmp协议、corba协议以及分布式协议等等。
213.总线1240可以是pcie总线、eisa总线、ub、cxl、ccix等。总线1240可以分为地址总线、数据总线、控制总线等。总线1240除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线1240。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
214.上述计算设备1200用于执行图3所示的本技术提供的直播互动方法中由云计算平台130执行的步骤,其具体实现过程详见上述方法实施例,这里不再赘述。
215.应理解,计算设备1200仅为本技术提供的一个例子,并且,计算设备1200可具有比图13示出的部件更多或更少的部件,可以组合两个或更多个部件,或者可具有部件的不同配置实现。
216.本技术还提供一种直播系统,该直播系统可以包括图9所示的直播互动装置900和图10所示的直播互动装置1000,或者,包括图11所示的终端设备110和图12所示的云计算平台130。
217.本技术还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,该指令被运行时可以实现上述实施例中记载的直播互动方法的部分或者全部步骤。
218.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
219.在上述实施例中,可以全部或部分地通过软件、硬件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质、或者半导体介质等。
220.以上所述,仅为本技术的具体实施方式。熟悉本技术领域的技术人员根据本技术提供的具体实施方式,可想到变化或替换,都应涵盖在本技术的保护范围之内。
技术特征:
1.一种直播互动方法,其特征在于,应用于云计算平台,所述方法包括:将主播的形象和虚拟物体融合,得到第一直播画面;将所述第一直播画面发送给观众的终端设备以及所述主播的终端设备;接收对所述第一直播画面中的主播的形象或者虚拟物体的第一操作指令;根据所述第一操作指令以及所述第一直播画面得到第二直播画面;将所述第二直播画面发送给所述观众的终端设备以及所述主播的终端设备。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收对所述第二直播画面中的主播的形象或者虚拟物体的第二操作指令;根据所述第二操作指令以及所述第二直播画面得到第三直播画面;将所述第三直播画面发送给所述观众的终端设备以及所述主播的终端设备。3.根据权利要求2所述的方法,其特征在于,所述第一操作指令是对第一操作进行处理得到的指令,所述第二操作指令是对第二操作进行处理得到的指令;其中,所述第一操作是所述观众对所述第一直播画面中的主播的形象或者虚拟物体的操作,所述第二操作是所述主播对所述第二直播画面中的主播的形象或者虚拟物体的操作;或者,所述第一操作是所述主播对所述第一直播画面中的主播的形象或者虚拟物体的操作,所述第二操作是所述观众对所述第二直播画面中的主播的形象或者虚拟物体的操作。4.根据权利要求1至3任一项所述的方法,其特征在于,所述主播为真实人或者虚拟人。5.根据权利要求1至4任一项所述的方法,其特征在于,所述将主播的形象和虚拟物体融合,得到第一直播画面,包括:将主播的三维数据和虚拟物体的三维数据进行融合后,将融合后的三维数据处理得到二维的第一直播画面。6.根据权利要求1至4任一项所述的方法,其特征在于,所述将主播的形象和虚拟物体融合,得到第一直播画面,包括:获取所述主播的二维图像;将所述主播的二维图像和虚拟物体的二维图像进行融合,得到二维的第一直播画面。7.根据权利要求1至6任一项所述的方法,其特征在于,所述第一操作指令用于改变所述主播的形象;或者,所述第一操作指令用于改变所述虚拟物体上的点的坐标值、移动速度、加速度、偏移角度、移动方向、颜色中的一种或者多种;或者,所述第一操作指令用于在所述第一直播画面中添加真实物体的形象。8.根据权利要求7所述的方法,其特征在于,所述第一操作指令用于给所述主播的形象添加装饰品、改变发型或者改变服装。9.根据权利要求1至8任一项所述的方法,其特征在于,所述虚拟物体用于实现所述观众和所述主播之间的互动游戏。10.一种直播互动方法,其特征在于,应用于主播的终端设备或者观众的终端设备,所述方法包括:显示第一直播画面,其中,所述第一直播画面包括所述主播的形象以及虚拟物体;显示第二直播画面,其中,所述第二直播画面是根据对所述第一直播画面中的主播的形象或者虚拟物体的第一操作指令以及所述第一直播画面得到的。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:显示第三直播画面,其中,所述第三直播画面是根据对所述第二直播画面中的主播的形象或者虚拟物体的第二操作指令以及所述第二直播画面得到的。12.根据权利要求11所述的方法,其特征在于,所述第一操作指令是对第一操作进行处理得到的指令,所述第二操作指令是对第二操作进行处理得到的指令;其中,所述第一操作是所述观众对所述第一直播画面中的主播的形象或者虚拟物体的操作,所述第二操作是所述主播对所述第二直播画面中的主播的形象或者虚拟物体的操作;或者,所述第一操作是所述主播对所述第一直播画面中的主播的形象或者虚拟物体的操作,所述第二操作是所述观众对所述第二直播画面中的主播的形象或者虚拟物体的操作。13.根据权利要求10至12任一项所述的方法,其特征在于,所述主播为真实人或者虚拟人。14.根据权利要求10至13任一项所述的方法,其特征在于,所述第一直播画面是将所述主播的三维数据和所述虚拟物体的三维数据进行融合后,将融合后的三维数据处理得到的二维画面。15.根据权利要求10至13任一项所述的方法,其特征在于,所述第一直播画面是将所述主播的二维图像和所述虚拟物体的二维图像进行融合得到的。16.根据权利要求10至15任一项所述的方法,其特征在于,所述第一操作指令用于改变所述主播的形象;或者,所述第一操作指令用于改变所述虚拟物体上的点的坐标值、移动速度、加速度、偏移角度、移动方向、颜色中的一种或者多种;或者,所述第一操作指令用于在所述第一直播画面中添加真实物体的形象。17.根据权利要求16所述的方法,其特征在于,所述第一操作指令用于给所述主播的形象添加装饰品、改变发型或者改变服装。18.根据权利要求10至17任一项所述的方法,其特征在于,所述虚拟物体用于实现所述观众和所述主播之间的互动游戏。19.一种直播互动方法,其特征在于,应用于直播系统,所述直播系统包括云计算平台、观众的终端设备和主播的终端设备,所述方法包括:所述云计算平台将所述主播的形象和虚拟物体融合,得到第一直播画面;所述云计算平台将所述第一直播画面发送给所述观众的终端设备以及所述主播的终端设备;所述观众的终端设备以及所述主播的终端设备显示所述第一直播画面;所述观众的终端设备或者所述主播的终端设备,向所述云计算平台发送对所述第一直播画面中的主播的形象或者虚拟物体的第一操作指令;所述云计算平台根据所述第一操作指令以及所述第一直播画面得到第二直播画面;所述云计算平台将所述第二直播画面发送给所述观众的终端设备以及所述主播的终端设备;所述观众的终端设备以及所述主播的终端设备显示所述第二直播画面。20.一种直播互动装置,其特征在于,应用于云计算平台,所述装置包括:处理模块,用于将主播的形象和虚拟物体融合,得到第一直播画面;
发送模块,用于将所述第一直播画面发送给观众的终端设备以及所述主播的终端设备;接收模块,用于接收对所述第一直播画面中的主播的形象或者虚拟物体的第一操作指令;所述处理模块,用于根据所述第一操作指令以及所述第一直播画面得到第二直播画面;所述发送模块,用于将所述第二直播画面发送给所述观众的终端设备以及所述主播的终端设备。21.一种直播互动装置,其特征在于,应用于主播的终端设备或者观众的终端设备,所述装置包括:显示模块,用于显示第一直播画面,其中,所述第一直播画面包括所述主播的形象以及虚拟物体;所述显示模块,用于显示第二直播画面,其中,所述第二直播画面是根据对所述第一直播画面中的主播的形象或者虚拟物体的第一操作指令以及所述第一直播画面得到的。22.一种云计算平台,其特征在于,所述云计算平台包括一个或多个计算设备,每个计算设备包括处理器和存储器;所述一个或多个计算设备的处理器用于执行所述一个或多个计算设备的存储器中存储的指令,使得所述一个或多个计算设备执行如下步骤:将主播的形象和虚拟物体融合,得到第一直播画面;将所述第一直播画面发送给观众的终端设备以及所述主播的终端设备;接收对所述第一直播画面中的主播的形象或者虚拟物体的第一操作指令;根据所述第一操作指令以及所述第一直播画面得到第二直播画面;将所述第二直播画面发送给所述观众的终端设备以及所述主播的终端设备。23.一种终端设备,其特征在于,所述设备包括存储器和处理器;所述存储器用于存储指令,所述处理器用于执行所述存储器中存储的指令,使得所述终端设备执行如下步骤:显示第一直播画面,其中,所述第一直播画面包括主播的形象以及虚拟物体;显示第二直播画面,其中,所述第二直播画面是根据对所述第一直播画面中的主播的形象或者虚拟物体的第一操作指令以及所述第一直播画面得到的。24.一种直播系统,其特征在于,所述直播系统包括:云计算平台、观众的终端设备和主播的终端设备;所述云计算平台,用于将所述主播的形象和虚拟物体融合,得到第一直播画面;所述云计算平台,用于将所述第一直播画面发送给所述观众的终端设备以及所述主播的终端设备;所述观众的终端设备以及所述主播的终端设备,用于显示所述第一直播画面;所述观众的终端设备或者所述主播的终端设备,用于向所述云计算平台发送对所述第一直播画面中的主播的形象或者虚拟物体的第一操作指令;所述云计算平台,用于根据所述第一操作指令以及所述第一直播画面得到第二直播画面;所述云计算平台,用于将所述第二直播画面发送给所述观众的终端设备以及所述主播的终端设备;
所述观众的终端设备以及所述主播的终端设备,用于显示所述第二直播画面。25.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括指令,所述指令用于实现权利要求1至19中任一项所述的方法。
技术总结
本申请提供直播互动方法、装置以及系统,其中,方法包括:云计算平台将主播的形象和虚拟物体融合,得到第一直播画面,并将第一直播画面发送给观众的终端设备以及主播的终端设备进行显示,然后,观众的终端设备或者主播的终端设备在接收到用户对第一直播画面中的主播的形象或者虚拟物体的第一操作时,将第一操作处理为第一操作指令,并向云计算平台发送第一操作指令,由云计算平台根据第一操作指令和第一直播画面得到第二直播画面,云计算平台在得到第二直播画面后,将第二直播画面发送给观众的终端设备以及主播的终端设备进行显示。该方法能够优化直播互动效果,给主播和观众提供多种多样的互动方式,优化主播和观众之间的互动体验。动体验。动体验。
技术研发人员:陈曦
受保护的技术使用者:华为云计算技术有限公司
技术研发日:2022.01.27
技术公布日:2023/8/8
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/