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

直播互动方法、装置以及系统

文献发布时间:2024-01-17 01:20:32


直播互动方法、装置以及系统

技术领域

本申请涉及直播技术领域,尤其涉及一种直播互动方法、装置以及系统。

背景技术

随着互联网技术的迅速发展,直播如今已深入人们的日常工作和生活,各种各样的直播可以为人们带来多样化的信息,提供新鲜的娱乐体验。

然而,在目前的直播中,主播与观众之间的互动方式较为单一,通常情况下,主播仅可以向观众介绍现实生活中的物品,观众只能通过发送弹幕、点赞、评论或者赠送虚拟礼物(如虚拟火箭或者虚拟鲜花等)的方式与主播进行互动,该互动方式对于主播和观众来说互动体验并不理想。

发明内容

本申请提供一种直播互动方法、装置以及系统,可以优化直播互动效果,给主播和观众提供多种多样的互动方式,优化主播和观众之间的互动体验。

第一方面,提供一种直播互动方法,应用于云计算平台,该方法包括:首先,将主播的形象和虚拟物体融合,得到第一直播画面,然后,将第一直播画面发送给观众的终端设备以及主播的终端设备,之后,接收对第一直播画面中的主播的形象或者虚拟物体的第一操作指令,最后,根据第一操作指令以及第一直播画面得到第二直播画面,并将第二直播画面发送给观众的终端设备以及主播的终端设备。

其中,主播为虚拟人或者真实人,也就是说,主播的形象可以为虚拟的人物形象,也可以为主播的真人形象,具体地,在主播的形象为虚拟的人物形象时,主播的形象可以为虚拟的三维人物模型;虚拟物体可以为虚拟建筑、虚拟舞台、虚拟动物、虚拟植物、虚拟桌子、虚拟棋盘、虚拟高尔夫球等任意虚拟三维模型,虚拟物体可以用于实现观众和主播之间的互动游戏,如棋牌类游戏或者球类游戏等,此处不作具体限定。

第一操作指令,是对第一操作进行处理得到的指令,第一操作是观众对第一直播画面中的主播的形象或者虚拟物体的操作,或者,是主播对第一直播画面中的主播的形象或者虚拟物体的操作。应理解,当第一操作是观众进行的操作时,第一操作指令是观众的终端设备对第一操作进行处理得到的指令,观众的终端设备在得到第一操作指令后,将第一操作指令发送给云计算平台;当第一操作是主播进行的操作时,第一操作指令是主播的终端设备对第一操作进行处理得到的指令,主播的终端设备在得到第一操作指令后,将第一操作指令发送给云计算平台。

第一操作指令可以是用于改变第一直播画面中主播的形象的指令,或者,是用于改变第一直播画面中虚拟物体上的点的坐标值、移动速度、加速度、偏移角度、移动方向、颜色中的一种或者多种的指令,或者,是用于在第一直播画面中添加真实物体的形象的指令,此处不作具体限定。

在第一操作指令用于改变第一直播画面中主播的形象时,第一操作指令具体可以用于给主播的形象添加装饰品(如发夹、眼镜)、改变主播的发型(如将直发变为卷发)或者改变主播的服装(如将连衣裙换成西装)等,具体实现中,上述装饰品、发型或者服装可以为第一直播画面中原本包括的虚拟物体。需要说明的是,在主播的形象为虚拟的三维人物模型时,第一操作指令也可以用于改变主播的形象上的点的坐标值、移动速度、加速度、偏移角度、移动方向、颜色中的一种或者多种,例如,在第一直播画面中主播的形象位于画面中间位置,第一操作指令是用于将主播的形象移动到第一直播画面的左下角的指令,又例如,在第一直播画面中主播的形象是站立姿势,第一操作指令是用于让第一直播画面中主播的形象坐下的指令。

在第一操作指令用于改变第一直播画面中虚拟物体上的点的坐标值、移动速度、加速度、偏移角度、移动方向、颜色中的一种或者多种时,第一操作指令具体可以用于改变虚拟物体在第一直播画面中的位置、改变虚拟物体在第一直播画面中移动的速度或者改变虚拟物体在第一直播画面中显示的颜色等,例如,假设虚拟物体为棋子,则第一操作指令可以是用于改变棋子的位置的指令,又例如,假设虚拟物体为高尔夫球,则第一操作指令可以是用于让高尔夫球以一定的角度和速度飞起的指令。

在第一操作指令用于在第一直播画面中添加真实物体的形象时,第一操作指令具体可以用于在第一直播画面中添加真实帽子的形象、真实植物的形象、真实动物的形象等,此处均不作具体限定。

通过上述方案可知,本申请提供的直播互动方法可以实现观众或者主播对直播画面中的主播的形象或者虚拟物体进行多种多样的互动操作,基于观众或者主播进行的互动操作更新直播画面,也就是说,通过该方法,观众和主播看到的直播画面会随着观众或者主播进行的多种多样的互动操作千变万化,因此,上述方案能够实现给主播和观众提供多种多样的互动方式,优化主播与观众之间的互动体验。

此外,上述方案中,是将主播的形象和虚拟物体融合在一起得到直播画面,相较于现有技术通过将两张二维图像进行简单叠加得到的直播画面,直播画面的立体显示效果较好,显示的内容也更加自然协调。

在一种可能的实现方式中,第一方面提供的直播互动方法还包括如下步骤:首先,接收对第二直播画面中的主播的形象或者虚拟物体的第二操作指令,然后,根据第二操作指令以及第二直播画面得到第三直播画面,最后,将第三直播画面发送给观众的终端设备以及主播的终端设备。

其中,第二操作指令是对第二操作进行处理得到的指令,当第一操作是观众进行的操作时,第二操作是主播对第二直播画面中的主播的形象或者虚拟物体的操作,第二操作指令由主播的终端设备对第二操作进行处理得到,主播的终端设备在得到第二操作指令后,将第二操作指令发送给云计算平台;当第一操作是主播进行的操作时,第二操作是观众对第二直播画面中的主播的形象或者虚拟物体的操作,第二操作指令由观众的终端设备对第二操作进行处理得到,观众的终端设备在得到第二操作指令后,将第二操作指令发送给云计算平台。

第二操作指令可以是用于改变第一直播画面中主播的形象的指令,或者,是用于改变第一直播画面中虚拟物体上的点的坐标值、移动速度、加速度、偏移角度、移动方向、颜色中的一种或者多种的指令,或者,是用于在第一直播画面中添加真实物体的形象的指令,此处不作具体限定。

可以看出,上述实现方式可以实现主播和观众在看到基于对方的操作更新的直播画面后,可以对更新的直播画面中的主播的形象或者虚拟物体再次进行操作,使得再次更新直播画面,也就是说,上述实现方式可以实现主播和观众多次操作直播画面中的主播的形象或者虚拟物体进行互动。

在一种可能的实现方式中,具体可以通过如下方式实现将主播的形象和虚拟物体融合,得到第一直播画面:将主播的三维数据和虚拟物体的三维数据进行融合后,将融合后的三维数据处理得到二维的第一直播画面。

其中,主播的三维数据,指构成主播的三维模型的数据,虚拟物体的三维数据,指构成虚拟物体的三维模型的数据。

具体实现中,可以将虚拟物体划分为虚拟场景和虚拟道具,其中,虚拟场景可以作为主播直播时,主播的形象所处的场景,例如,虚拟的游戏场景、虚拟的生活场景或者虚拟的工作场景等,虚拟道具可以作为主播直播时,主播与观众进行互动的道具,例如,虚拟棋盘、虚拟棋子、虚拟高尔夫球、虚拟足球、虚拟装饰物等。

将主播的三维数据和虚拟物体的三维数据进行融合,可以理解为,将主播的形象对应的三维模型以及虚拟道具放置到虚拟场景中的合适位置。

具体实现中,可以对融合后的三维数据进行渲染处理,得到二维的第一直播画面,其中,渲染方法可以为光栅化渲染方法、光线追踪渲染方法或者光栅化渲染方法与光线追踪渲染方法混合的方法,此处不作具体限定。

实施上述实现方式得到的直播画面中,主播的形象和虚拟物体是融合在一起的,相较于现有技术通过将两张二维图像进行简单叠加得到的直播画面,主播的形象和虚拟物体的立体显示效果较好,直播画面也比较自然协调。

在一种可能的实现方式中,具体可以通过如下方式实现将主播的形象和虚拟物体融合,得到第一直播画面:首先,获取主播的二维图像,然后,将主播的二维图像和虚拟物体的二维图像进行融合,得到二维的第一直播画面。

其中,主播的二维图像可以为接收真人主播实时上传的包括多帧连续图像的直播视频,然后对每帧图像进行人物识别,在识别到真人主播后,从每帧图像中抠出的真人主播的二维图像;虚拟物体的二维图像,可以对虚拟物体的三维数据进行渲染处理得到,渲染方法可以为光栅化渲染方法、光线追踪渲染方法或者光栅化渲染方法与光线追踪渲染方法混合的方法,此处不作具体限定。

具体实现中,可以通过增强现实技术将主播的二维图像和虚拟物体的二维图像进行虚实融合,得到第一直播画面,该直播画面中,主播的形象和虚拟物体是融合在一起的,立体显示效果较好,画面也比较自然协调。

实施上述实现方式得到的直播画面中,主播的形象和虚拟物体是融合在一起的,相较于现有技术通过将两张二维图像进行简单叠加得到的直播画面,主播的形象和虚拟物体的立体显示效果较好,直播画面也比较自然协调。

第二方面,提供一种直播互动方法,应用于观众的终端设备或者主播的终端设备,该方法包括:首先,显示第一直播画面,该第一直播画面包括主播的形象以及虚拟物体,然后,显示第二直播画面,该第二直播画面是根据对第一直播画面中的主播的形象或者虚拟物体的第一操作指令以及第一直播画面得到的。

在一种可能的实现方式中,第二方面提供的直播互动方法还包括如下步骤:显示第三直播画面,该第三直播画面是根据对第二直播画面中的主播的形象或者虚拟物体的第二操作指令以及第二直播画面得到的。

在一种可能的实现方式中,第一操作指令为对第一操作进行处理得到指令,第二操作指令为对第二操作进行处理得到指令;其中,第一操作为观众对第一直播画面中的主播的形象或者虚拟物体的操作,第二操作为主播对第二直播画面中的主播的形象或者虚拟物体的操作;或者,第一操作为主播对第一直播画面中的主播的形象或者虚拟物体的操作,第二操作为观众对第二直播画面中的主播的形象或者虚拟物体的操作。

在一种可能的实现方式中,主播为真实人或者虚拟人。

在一种可能的实现方式中,第一直播画面是将主播的三维数据和虚拟物体的三维数据进行融合后,将融合后的三维数据处理得到的二维画面。

在一种可能的实现方式中,第一直播画面是将主播的二维图像和虚拟物体的二维图像进行融合得到的。

在一种可能的实现方式中,第一操作指令用于改变主播的形象;或者,第一操作指令用于改变虚拟物体上的点的坐标值、移动速度、加速度、偏移角度、移动方向、颜色中的一种或者多种;或者,第一操作指令用于在第一直播画面中添加真实物体的形象。

在一种可能的实现方式中,第一操作指令用于给主播的形象添加装饰品、改变发型或者改变服装。

在一种可能的实现方式中,虚拟物体用于实现观众和主播之间的互动游戏,如棋牌类游戏或者球类游戏等。

第三方面,提供一种直播互动方法,应用于直播系统,该直播系统包括云计算平台、观众的终端设备和主播的终端设备,该方法包括:云计算平台将主播的形象和虚拟物体融合,得到第一直播画面,并将第一直播画面发送给观众的终端设备以及主播的终端设备进行显示,然后,观众的终端设备或者主播的终端设备向云计算平台发送对第一直播画面中的主播的形象或者虚拟物体的第一操作指令,云计算平台在接收到第一操作指令后,根据第一操作指令以及第一直播画面得到第二直播画面,最后,云计算平台将第二直播画面发送给观众的终端设备以及主播的终端设备进行显示。

第四方面,提供一种直播互动装置,应用于云计算平台,该装置包括用于执行第一方面或第一方面任一种可能实现方式提供的方法的各个模块。

第五方面,提供一种直播互动装置,应用于主播的终端设备或者观众的终端设备,该装置包括用于执行第二方面或第二方面任一种可能实现方式提供的方法的各个模块。

第六方面,提供一种直播系统,该直播系统包括上述第四方面所述的直播互动装置和上述第五方面所述的互动装置。

第七方面,提供一种云计算平台,该云计算平台包括一个或多个计算设备,每个计算设备包括处理器和存储器;所述一个或多个计算设备的处理器用于执行所述一个或多个计算设备的存储器存储的指令,使得所述一个或多个计算设备执行如下步骤:首先,将主播的形象和虚拟物体融合,得到第一直播画面,然后,将第一直播画面发送给观众的终端设备以及主播的终端设备,之后,接收对第一直播画面中的主播的形象或者虚拟物体的第一操作指令,最后,根据第一操作指令以及第一直播画面得到第二直播画面,并将第二直播画面发送给观众的终端设备以及主播的终端设备。

第八方面,提供一种终端设备,该终端设备包括处理器和存储器;所述处理器用于执行所述存储器存储的指令,使得所述终端设备执行如下步骤:首先,显示第一直播画面,该第一直播画面包括主播的形象以及虚拟物体,然后,显示第二直播画面,该第二直播画面是根据对第一直播画面中的主播的形象或者虚拟物体的第一操作指令以及第一直播画面得到的。

第九方面,提供一种计算机可读存储介质,该计算机可读存储介质存储有指令,所述指令用于实现如上述第一方面至第三方面任一种可能实现方式提供的方法。

第十方面,提供一种计算机程序产品,包括计算机程序,当所述计算机程序被计算设备读取并执行时,使得所述计算设备执行如上述第一方面至第三方面任一种可能实现方式提供的方法。

附图说明

图1为本申请涉及的一种直播系统的结构示意图;

图2为本申请涉及的一种直播画面的示意图;

图3为本申请提供的一种直播互动方法的交互示意图;

图4是本申请提供的一种将主播的三维数据和虚拟物体的三维数据融合的示意图;

图5是本申请提供的一种光栅化渲染方法的流程示意图;

图6是本申请提供的顶点着色器的变换的过程的示意图;

图7是本申请提供的曲面细分技术的示意图;

图8A是本申请提供的一种直播画面的示意图;

图8B是本申请提供的一种直播画面的示意图;

图9是本申请提供的一种直播互动装置的结构示意图;

图10是本申请提供的另一种直播互动装置的结构示意图;

图11是本申请提供的一种终端设备的结构示意图;

图12是本申请提供的一种云计算平台的结构示意图;

图13是本申请提供的一种计算设备的结构示意图。

具体实施方式

下面将结合附图,对本申请提供的技术方案进行描述。

为了使本申请提供的技术方案更清晰,在具体描述本申请提供的技术方案之前,首先进行相关术语的解释。

虚拟物体:指真实世界中不存在的物体,虚拟物体是预先在虚拟世界中创建的可以用于反映真实世界中的物体在虚拟世界中的虚拟三维模型。

虚拟场景:可以是计算机利用三维虚拟现实场景技术模拟的虚拟现实场景,也可以是半仿真半虚构的三维环境场景,还可以是纯虚构的三维环境场景。三维虚拟现实场景技术是一种可以创建和体验虚拟世界的计算机仿真系统,它利用计算机生成一种现实场景的三维模拟场景,是一种多源信息融合的交互式的三维动态视景和实体行为的系统仿真。虚拟场景包括任何现实生活中存在的实际场景,包含视觉、听觉等任何能通过体感感受到的场景,通过计算机技术来模拟实现。

增强现实(augmented reality,AR):该技术是一种将虚拟信息与真实世界巧妙融合的技术,广泛运用了多媒体、三维建模、实时跟踪及注册、智能交互、传感等多种技术手段,将计算机生成的文字、图像、三维模型、音乐、视频等虚拟信息模拟仿真后,应用到真实世界中,两种信息互为补充,从而实现对真实世界的“增强”,即可以获得比真实世界更丰富的信息。通过增强现实技术可以将真实场景的图像与虚拟物体的图像进行虚实融合,融合后得到的二维图像中既包含有真实场景的内容,又包含有虚拟物体。

渲染:是指用软件从模型生成图像的过程,其中,模型是用严格定义的语言或者数据结构对于三维物体的描述,它包括几何、视点、纹理以及照明信息。图像是数字图像或者位图图像。渲染这个术语类似于“艺术家对于场景的渲染”,另外,渲染也用于描述“计算视频编辑文件中的效果,以生成最终视频输出的过程”。

下面对本申请实施例涉及的应用场景进行简要说明。

本申请主要涉及直播场景,参见图1,图1为本申请涉及的一种直播系统的结构示意图,主播通过直播系统100可以实现直播,观众通过直播系统100可以观看主播直播的内容,而且,主播和观众可以通过直播系统100进行互动。如图1所示,直播系统100包括终端设备110、网络设备120以及云计算平台130。

终端设备110也可以称为移动终端或者用户终端等,可以是安装有直播应用的电子设备,如安装有直播应用的个人电脑、智能手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备(例如智能手表、智能手环、计步器等)等电子设备,此处不作具体限定。通过该直播应用,终端设备110可以支持主播进行直播以及支持观众观看直播。可选地,终端设备110上还可以安装有购物应用、搜索应用、音频播放应用等各种客户端应用,此处不作具体限定。

为了便于描述与区分,在图1中,以终端设备110A表示主播的终端设备,以终端设备110B表示观众的终端设备。应理解,主播的终端设备110A除了可以支持主播进行直播之外,主播也可以作为观众,通过终端设备110A观看其他主播的直播,观众的终端设备110B除了可以支持观众观看直播之外,观众也可以作为主播,通过终端设备110B进行直播。

网络设备120用于在终端设备110通过任何通信机制/通信标准的通信网络与云计算平台130之间传输数据。其中,通信网络可以是广域网、局域网、点对点连接等方式,或它们的任意组合。

云计算平台130可以是独立的服务器,也可以是多个服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络、以及大数据和人工智能平台等基础云计算服务的云服务器。图1以云计算平台130是基于云的服务器为例,云计算平台130可以包括多个云计算节点,每个云计算节点自下而上包括硬件、虚拟化服务以及直播应用服务端。其中,

硬件包括计算资源、存储资源以及网络资源。计算资源可以采用异构计算架构,例如,可以采用中央处理单元(central processing unit,CPU)+图形处理器(graphicsprocessing unit,GPU)架构,CPU+AI芯片,CPU+GPU+AI芯片架构等等,此处不作具体限定。存储资源可以包括内存等等。这里,计算资源可以被分成多个计算单位资源,存储资源可以被分成多个存储单位资源,网络资源可以被分成多个网络单位资源。因此,图像处理平台可以按照用户的资源需求以单位资源为基础进行自由组合,从而用户的需要提供资源。例如,计算资源可以被分成5u的计算单位资源,存储资源可以被分成10G的存储单位资源,则计算资源和存储资源的组合可以是,5u+10G,5u+20G,5u+30u,…,10u+10G,10u+20G,10u+30u,…。

虚拟化服务是通过虚拟化技术将多个物理主机的资源构建为统一的资源池,并按照用户的需要灵活地隔离出相互独立的资源以运行用户的应用程序的服务。

虚拟化服务可以包括虚拟机(virtual machine,VM)服务、裸金属(bare metalserver,BMS)服务以及容器(container)服务。其中,VM服务可以是通过虚拟化技术在多个物理主机上虚拟出虚拟机(virtual machine,VM)资源池以为用户按需提供VM进行使用的服务。BMS服务是在多个物理主机上虚拟出BMS资源池以为用户按需提供BMS进行使用的服务。容器服务是在多个物理主机上虚拟出容器资源池以为用户按需提供容器进行使用的服务。VM是模拟出来的一台虚拟的计算机,也即逻辑上的一台计算机。BMS是一种可弹性伸缩的高性能计算服务,计算性能与传统物理机无差别,具有安全物理隔离的特点。容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以达到隔离用户空间、进程和资源的目的。应理解,上述虚拟化服务中的VM服务、BMS服务以及容器服务仅仅是作为具体的事例,在实际应用中,虚拟化服务还可以其他轻量级或者重量级的虚拟化服务,此处不作具体限定。

直播应用服务端可以用于调用硬件以实现直播服务,如为主播提供直播视频录制、注入、转码等服务,以及为观众提供直播视频分发服务。

具体地,直播应用服务端可以通过网络设备120接收主播的终端设备110A上的直播应用客户端发送的直播视频,然后,对直播视频进行转码、存储等服务,直播应用服务端还可以通过网络设备120接收观众的终端设备110B发送的观看直播请求时,然后,根据观看直播请求查找到对应的直播视频,最后,将查找到的直播视频通过网络设备120发送给观众的终端设备110B,由观众的终端设备110B上的直播应用客户端将直播视频显示给观众。可以看出,直播应用客户端相当于用户(指主播或者观众)和直播应用服务端之间的中介,直播应用客户端和直播应用服务端统称为渲染应用。

具体实现中,直播应用服务端和直播应用客户端可以是直播应用提供商提供的。举个例子说明,直播应用开发商将直播应用服务端安装在云服务提供商提供的云计算平台130上,直播应用开发商将直播应用客户端通过互联网提供给用户下载,并安装在用户的终端设备110上。可选地,直播应用服务端和直播应用客户端也可以是云服务商提供的。

具体实现中,云厂商可以将云计算平台130提供的直播服务作为一项云服务,当某直播平台购买了云厂商提供的该项云服务之后,在直播平台注册了账号的主播通过该直播平台可以使用该项云服务进行直播,在直播平台注册了账号的观众通过该直播平台可以使用该项云服务观看直播,且主播和观众可以使用该项云服务进行互动。

应理解,图1所示的直播系统100仅仅是作为具体的示例,在实际应用中,直播系统100可以包括任意数目的终端设备110、网络设备120和云计算平台130,此处不作具体限定。

然而,在目前的直播中,主播与观众之间的互动方式较为单一,通常情况下,主播仅可以向观众介绍现实生活中的物品,观众只能通过发送弹幕、点赞、评论或者赠送虚拟礼物的方式与主播进行互动,其中,虚拟礼物为二维的图像素材。如图2所示,观众A发送了弹幕“你好!”与主播Lisa互动,观众B发送了弹幕“你的直播很好看!”与主播Lisa互动。

而且,当观众是通过赠送虚拟礼物与主播进行互动时,虚拟礼物仅仅是简单、生硬地的叠加在现有的直播画面上,显示效果很突兀。

随着人们审美水平和娱乐需求的逐渐提升,人们通常期待更好的直播互动效果,以及期待在直播过程中进行多样化的互动,上述互动方式对于主播和观众来说互动体验并不理想。

为了解决上述问题,本申请提供了直播互动方法、装置以及系统,能够优化直播互动效果,给主播和观众提供多种多样的互动方式,从而优化主播和观众之间的互动体验。

下面结合对应的附图分别详细地介绍本申请提供的直播互动方法、装置以及相关设备。

首先,请参见图3,图3为本申请提供的一种直播互动方法的交互示意图,该直播互动方法可以应用于图1所示的直播系统100,具体地,如图3所示,图1所示的直播系统100执行本申请提供的直播互动方法,可以包括如下步骤:

S301:云计算平台130将主播的形象和虚拟物体融合,得到第一直播画面。

其中,主播为虚拟人或者真实人,也就是说,主播的形象可以为虚拟的人物形象,也可以为主播的真人形象,具体地,在主播的形象为虚拟的人物形象时,主播的形象可以为虚拟的三维人物模型;虚拟物体可以为虚拟建筑、虚拟舞台、虚拟动物、虚拟植物、虚拟桌子、虚拟棋盘、虚拟高尔夫球等任意虚拟三维模型,虚拟物体可以用于实现观众和主播之间的互动游戏,如棋牌类游戏或者球类游戏等,此处不作具体限定。

在本申请具体的实施例中,可以将虚拟物体划分为虚拟场景和虚拟道具,其中,虚拟场景可以作为主播直播时,主播的形象所处的场景,例如,虚拟的游戏场景、虚拟的生活场景或者虚拟的工作场景等;虚拟道具可以作为主播直播时,主播与观众进行互动的道具,例如,虚拟棋盘、虚拟棋子、虚拟高尔夫球、虚拟足球、虚拟装饰物等。

在本申请具体的实施例中,云计算平台130可以通过如下方式中任意一种实现将主播的形象和虚拟物体融合,得到第一直播画面:

方式1、在主播的形象为虚拟的三维人物模型时,云计算平台130可以将主播的三维数据和虚拟物体的三维数据进行融合,得到融合后的三维数据,然后将融合后的三维数据处理得到二维的第一直播画面。

其中,主播的三维数据,指构成主播的三维模型的数据,虚拟物体的三维数据,指构成虚拟物体的三维模型的数据。

由上文可知,虚拟物体包括虚拟场景和虚拟道具,因此,将主播的三维数据和虚拟物体的三维数据进行融合,可以理解为,将主播的形象对应的三维模型以及虚拟道具对应的三维模型放置到虚拟场景中的合适位置。

举例来讲,假设虚拟场景为虚拟的可以进行下棋游戏的房间,虚拟道具包括虚拟棋盘和虚拟棋子,则可以将主播的形象、虚拟棋盘和虚拟棋子放置到虚拟房间的中间位置,其中,主播的形象在虚拟棋盘的后面,虚拟棋子在虚拟棋盘上,如图4所示。

具体实现中,云计算平台130可以对融合后的三维数据进行渲染处理,得到二维的第一直播画面,渲染方法可以为光栅化渲染方法、光线追踪渲染方法或者光栅化渲染方法与光线追踪渲染方法混合的方法,此处不作具体限定。

下面以云计算平台130采用光栅化渲染方法进行渲染为例,对云计算平台130渲染得到第一直播画面的过程进行详细描述。

参见图5,图5是本申请提供的一种光栅化渲染方法的原理示意图,如图5所示,本申请提供的光栅化渲染方法通常包括应用阶段、几何阶段以及光栅化阶段。其中,

应用阶段:主要分三个任务:(1)准备场景数据,如虚拟场景以及虚拟场景中的三维模型信息、光照信息等;(2)为了提高渲染性能,通常需要做一个粗粒度剔除(culling)工作,把那些在场景中不可见的物体剔除出去,这样,这些物体就不需要再移交给几何阶段处理;(3)设置每个三维模型的渲染状态,如使用的材质、纹理等。应用阶段的输出是渲染所需的几何信息,即渲染图元,其中,每个渲染图元里包含了该图元所对应的所有顶点数据,渲染图元可以是点、线、三角形等,这些渲染图元将会传递到几何阶段。

几何阶段:通常包括顶点规格(vertex specification)、顶点着色器(vertexshader)、图元装配、曲面细分技术(tessellation)、几何着色器(geometry shader)、顶点后处理(vertex post-processing)、图元装配(primitive assembly)、光栅化(rasterization)、片段着色器(fragment shader)以及逐像素处理(per-sampleoperations)等等多个分阶段。

顶点规格通常用于获取顶点数据。其中,所述顶点数据是根据虚拟场景以及虚拟场景中的三维模型生成的,所述顶点数据包括顶点的三维坐标,顶点数据还可以包括顶点的法向量以及顶点的颜色等等。顶点可以是三维模型上的点,例如,三维模型中多边形两条边相交的地方、三维模型中两条边的公共端点等等。

顶点着色器通常用于将顶点的三维坐标从模型空间(object space)变换至屏幕空间(screen/image space)。如图6所示,变换的过程可以是:从模型空间变换为世界空间(world space),再从世界空间变换为视景空间(view space),再从视景空间变换为标称投影空间(normalized projection space),再从标称投影空间变换为屏幕空间。其中,视景空间中包括视椎体,视椎体内的空间是从用户的视角可以看到的空间,视椎体外的空间是从用户的视角无法看到的空间。

曲面细分技术用于将三维模型中的顶点的数量大幅增加。如图7所示,假设三维模型包括构成三角形的三个顶点,在进行曲面细分前,如图7左边所示,三维模型中有三个顶点。在进行曲面细分后,如图7右边所示,三维模型中的顶点数量从三个变成了六个。可以看出,在曲面细分前三维模型显得粗糙而且僵硬,在曲面细分后三维模型显得逼真而且生动。

几何着色器用于将三维模型中的一个或多个顶点转变为完全不同的基本图元(primitive),从而生成更多的顶点。

顶点后处理用于对图元进行裁剪(clipping),即,如果图元部分在视椎体之外,部分在视椎体之内,则需要将该图元在视椎体之外的部分进行裁剪,只保留视椎体之内的部分。

图元装配通常用于将把三维模型中的顶点装配成几何图元,这个阶段将产生一系列的三角形、线段和点。其中,装配好的线段可以包括独立的线段、首尾相连但是最终不闭合的线段、首尾相连最终封口闭合的线段等。装配好的三角形可以包括独立的三角形、线性连续三角形串、扇形连续三角形等。在此阶段,还可以进行剔除,即,从场景中移除看不到的物体。这里,剔除可以包括视椎体剔除(frustum culling)、视口剔除以及遮挡剔除(occlusion culling)。

光栅化阶段包括光栅化、片段着色器(fragment shader)以及逐像素处理(per-sample operation)。

光栅化是把顶点数据转换为片元的过程,具有将图转化为一个个栅格组成的图像的作用,特点是每个元素对应帧缓冲区中的一个像素。因此,光栅化的第一部分工作:决定窗口坐标中的哪些整型栅格区域被图元占用;第二部分工作:分配一个颜色值和一个深度值到各个区域。光栅化过程产生的是片元(fragment),其中,二维图像上每个点都包含了颜色、深度和纹理数据,将该点和相关信息叫做一个片元。

片段着色器用于计算像素最后的颜色输出。

逐像素处理包括深度测试以及透明度处理。可以理解,如果我们先绘制一个距离较近的物体,再绘制距离较远的物体,则距离远的物体因为后绘制,会把距离近的物体覆盖掉,这样的效果并不是我们所希望的,而深度测试其实就是记录像素点在3D世界中距离摄像机的距离(绘制坐标),深度缓存中存储着每个象素点(绘制在屏幕上的)的深度值(Z值)越大,则离摄像机越远,因此,有了深度缓存以后,绘制物体的顺序就不那么重要了,都能按照远近(Z值)正常显示。

上述方案中,是以光栅化渲染方法的处理顺序为:顶点着色器、曲面细分技术、几何着色器、顶点后处理(包括裁剪)、图元装配(包括剔除)、光栅化、片段着色器以及逐像素处理为例进行介绍的,在实际应用中,光栅化渲染方法的处理顺序可以发生变化,此处不作具体限定。

经过上述渲染操作,便可以得到二维的第一直播画面,得到的第一直播画面中,主播的形象和虚拟物体的立体显示效果较好,画面也比较自然协调。

方式2、在主播的形象为真人形象时,云计算平台130可以将虚拟物体的二维图像和主播的二维图像进行融合,从而得到二维的第一直播画面。

其中,主播的二维图像可以为云计算平台130接收真人主播实时上传的包括多帧连续图像的直播视频,然后对每帧图像进行人物识别,在识别到真人主播后,从每帧图像中抠出的真人主播的二维图像。

具体实现中,云计算平台130可以在接收到真人主播上传的每一帧图像时,便从该图像中抠出真人主播的二维图像,然后将抠出的真人主播的二维图像与虚拟物体的二维图像进行虚实融合,得到二维的第一直播画面,得到的第一直播画面中,真人主播的形象和虚拟物体的立体显示效果较好,画面也比较自然协调。

具体实现中,云计算平台130可以对虚拟物体的三维数据进行渲染处理,得到虚拟物体的二维图像,渲染方法可以为光栅化渲染方法、光线追踪渲染方法或者光栅化渲染方法与光线追踪渲染方法混合的方法,此处不作具体限定;云计算平台130可以通过增强现实技术将真人主播的二维图像和虚拟物体的二维图像进行虚实融合,得到第一直播画面。

可以看出,通过上述方式1或者方式2得到的第一直播画面中,主播的形象和虚拟道具融合为虚拟场景的一部分,相较于现有技术通过将两张二维图像进行简单叠加得到的直播画面,画面的立体显示效果较好,画面也更加自然协调。

应理解,上述所列举的两种实现主播的形象与虚拟物体融合得到第一直播画面的方式,仅仅是作为示例,其他能够实现主播的形象与虚拟物体融合得到第一直播画面的方式,也属于本申请的保护范围,此处不应视为具体限定。

S302:云计算平台130将第一直播画面发送给观众的终端设备110B。

具体实现中,可以是由云计算平台130上的直播应用服务端将第一直播画面通过网络发送给观众的终端设备110B上的直播应用客户端,由直播应用客户端将第一直播画面显示给观众。

S303:云计算平台130将第一直播画面发送给主播的终端设备110A。

具体实现中,可以是由云计算平台130上的直播应用服务端将第一直播画面通过网络发送给主播的终端设备110A上的直播应用客户端,由直播应用客户端将第一直播画面显示给主播。

S304:观众的终端设备110B显示第一直播画面。

S305:主播的终端设备110A显示第一直播画面。

S306:观众的终端设备110B或者主播的终端设备110A接收其对应的用户对第一直播画面中的主播的形象或者虚拟物体的第一操作。

其中,第一操作,为观众或者主播在观看第一直播画面时,向其持有的终端设备输入的用于改变第一直播画面中主播的形象的操作,或者,用于改变第一直播画面中虚拟物体上的点的坐标值、移动速度、加速度、偏移角度、移动方向、颜色中的一种或者多种的操作,或者,用于在第一直播画面中添加真实物体的形象的操作,此处不作具体限定。在图3中,以第一操作为观众的操作,接收第一操作的终端设备为观众的终端设备110B为例,应理解,图3仅作为示例,不应视为具体限定。

在第一操作为用于改变第一直播画面中主播的形象的操作时,第一操作具体可以用于给主播的形象添加装饰品(如发夹、眼镜)、改变主播的发型(如将直发变为卷发)或者改变主播的服装(如将连衣裙换成西装)等,具体实现中,上述装饰品、发型或者服装可以为第一直播画面中原本包括的虚拟物体。需要说明的是,在主播的形象为虚拟的三维人物模型时,第一操作也可以用于改变主播的形象上的点的坐标值、移动速度、加速度、偏移角度、移动方向、颜色中的一种或者多种,例如,在第一直播画面中主播的形象位于画面中间位置,第一操作是用于将主播的形象移动到第一直播画面的左下角的操作,又例如,在第一直播画面中主播的形象是站立姿势,第一操作是用于让第一直播画面中主播的形象坐下的操作。

在第一操作为用于改变第一直播画面中虚拟物体上的点的坐标值、移动速度、加速度、偏移角度、移动方向、颜色中的一种或者多种的操作时,第一操作具体可以用于改变虚拟物体在第一直播画面中的位置、改变虚拟物体在第一直播画面中移动的速度或者改变虚拟物体在第一直播画面中显示的颜色等,例如,假设虚拟物体为棋子,则第一操作是用于改变棋子的位置的操作,又例如,假设虚拟物体为高尔夫球,则第一操作是用于让高尔夫球以一定的角度和速度飞起的操作。

在第一操作为用于在第一直播画面中添加真实物体的形象的操作时,第一操作具体可以用于在第一直播画面中添加真实帽子的形象、真实植物的形象、真实动物的形象等,此处均不作具体限定。

具体实现中,观众/主播可以通过输入组件向观众的终端设备110B/主播的终端设备110A输入第一操作,其中,输入组件包括但不限于:键盘、鼠标、触控屏、触控板和音频输入器等,以输入组件为触控屏为例,则第一操作可以为观众使用手指或者触控笔在观众的终端设备110B的触控屏上进行的滑动操作,该滑动操作可以用于改变第一直播画面中虚拟物体的位置。

S307:观众的终端设备110B或者主播的终端设备110A中接收到第一操作的终端设备,将第一操作处理为对第一直播画面中的主播的形象或者虚拟物体的第一操作指令。

在图3中,以观众的终端设备110B将第一操作处理为第一操作指令为例,应理解,图3仅作为示例,不应视为具体限定。

由于第一操作指令为对第一操作进行处理得到,因此,第一操作指令与第一操作对应,当第一操作是用于改变第一直播画面中主播的形象的操作时,第一操作指令是用于改变第一直播画面中主播的形象的指令,当第一操作是用于改变第一直播画面中虚拟物体上的点的坐标值、移动速度、加速度、偏移角度、移动方向、颜色中的一种或者多种的操作时,第一操作指令是用于改变第一直播画面中虚拟物体上的点的坐标值、移动速度、加速度、偏移角度、移动方向、颜色中的一种或者多种的指令,当第一操作是用于在第一直播画面中添加真实物体的形象的操作时,第一操作指令是用于在第一直播画面中添加真实物体的形象的指令。

具体实现中,观众或者主播可以预先对真实物体进行扫描得到真实物体的扫描数据,然后将真实物体的扫描数据输入到对应的终端设备中,当需要在第一直播画面中添加真实物体的形象时,观众或者主播进行的第一操作可以为点击终端设备中存储的真实物体的扫描数据,观众的终端设备110B或者主播的终端设备110A在接收到上述第一操作后,对上述第一操作进行处理,可以得到用于在第一直播画面中添加真实物体的形象的第一操作指令,该第一操作指令中可携带真实物体的扫描数据;或者,观众或者主播可以预先构建真实物体的三维模型,然后将真实物体的三维数据(指构成真实物体的三维模型的数据)输入到对应的终端设备中,当需要在第一直播画面中添加真实物体的形象时,观众或者主播进行的第一操作可以为点击终端设备中存储的真实物体的三维数据,观众的终端设备110B或者主播的终端设备110A在接收到上述第一操作后,对上述第一操作进行处理,可以得到用于在第一直播画面中添加真实物体的形象的第一操作指令,该第一操作指令中可携带真实物体的三维数据。

S308:观众的终端设备110B或者主播的终端设备110A中得到第一操作指令的终端设备,将第一操作指令发送给云计算平台130。

具体实现中,可以是观众的终端设备110B或者主播的终端设备110A上的直播应用客户端将第一操作指令通过网络发送给云计算平台130。在图3中,以观众的终端设备110B将第一操作指令发送给云计算平台130为例,应理解,图3仅作为示例,不应视为具体限定。

S309:云计算平台130根据第一操作指令以及第一直播画面得到第二直播画面。

具体地,在第一操作指令用于改变主播的形象或者改变虚拟物体上的点的坐标值、移动速度、加速度、偏移角度、移动方向、颜色中的一种或者多种时,云计算平台130可以获取第一直播画面中被第一操作指令影响后的主播的形象或者虚拟物体的物理信息,然后根据获取的物理信息对第一直播画面进行更新,从而得到第二直播画面;在第一操作指令用于添加真实物体的形象时,若第一操作指令中携带有真实物体的扫描数据,则云计算平台130可以基于真实物体的扫描数据构建真实物体的三维数据,然后根据真实物体的三维数据对第一直播画面进行更新,从而得到第二直播画面,若第一操作指令中携带有真实物体的三维数据,则云计算平台130可以直接根据真实物体的三维数据对第一直播画面进行更新。

其中,被第一操作指令影响后的主播的形象或者虚拟物体的物理信息可以包括如下任意一种或多种:被第一操作指令影响后的主播的形象或者虚拟物体上的点的坐标值、点移动的速度、点移动的加速度、点移动的偏移角度、点移动的方向、点的颜色等等。应理解,上述所列举的物理信息仅仅是作为示例,不应视为具体限定。

以第一操作指令用于移动第一直播画面中虚拟棋子的位置为例,则被第一操作指令影响后的虚拟物体的物理信息为虚拟棋子上的每个点被移动后的坐标值,以第一操作指令用于让第一直播画面中的虚拟高尔夫球以一定的偏移角度和速度飞起为例,则被第一操作指令影响后的虚拟物体的物理信息为虚拟高尔夫球上的每个点飞起的偏移角度和速度,以第一操作指令用于改变第一直播画面中主播的形象的衣服的颜色为例,则被第一操作指令影响后的主播的形象的物理信息为主播的形象的衣服上的每个点的颜色信息。

参见本申请示例性示出的图8A和图8B,图8A为第一直播画面800A,图8B为第二直播画面800B,假设第一操作指令用于将第一直播画面800A中的棋子8001从棋盘上第一行第二格移动到棋盘上第三行第五格,可以看出,在第二直播画面800B中,棋子8001已经移动到满足用户需求的位置。

在本申请具体的实施例中,根据获取的物理信息对第一直播画面进行更新得到第二直播画面,可以为根据获取的物理信息更新第一直播画面对应的虚拟场景中主播的形象或者虚拟物体,然后,对虚拟场景的三维数据、虚拟场景中的虚拟物体的三维数据以及主播的形象进行渲染处理,从而得到二维的第二直播画面。在本申请具体的实施例中,根据真实物体的三维数据对第一直播画面进行更新得到第二直播画面,可以为将真实物体的三维数据添加到第一直播画面对应的虚拟场景中,然后,对虚拟场景的三维数据、虚拟场景中的虚拟物体的三维数据、虚拟场景中的主播的形象以及添加到虚拟场景中的真实物体的三维数据进行渲染处理,从而得到二维的第二直播画面。

S310:云计算平台130将第二直播画面发送给观众的终端设备110B。

S311:云计算平台130将第二直播画面发送给主播的终端设备110A。

S312:观众的终端设备110B显示第二直播画面。

S313:主播的终端设备110A显示第二直播画面。

上述S302至S303的执行可以并行或者以任意顺序先后执行,上述S304至S305的执行可以并行或者以任意顺序先后执行,上述S310至S311的执行可以并行或者以任意顺序先后执行,上述S312至S313的执行可以并行或者以任意顺序先后执行,此处不作具体限定。

在本申请具体的实施例中,若第一操作是观众进行的操作,则在观众的终端设备110B以及主播的终端设备110A显示第二直播画面时,主播的终端设备110A可以接收主播对第二直播画面中的主播的形象或者虚拟物体的第二操作,然后,主播的终端设备110A可以将第二操作处理为对第二直播画面中的主播的形象或者虚拟物体的第二操作指令,并将第二操作指令发送给云计算平台130,由云计算平台130根据第二操作指令以及第二直播画面得到第三直播画面,云计算平台130在得到第三直播画面后,可以将第三直播画面发送给观众的终端设备110B以及主播的终端设备110A进行显示。

若第一操作是主播进行的操作,则在观众的终端设备110B以及主播的终端设备110A显示第二直播画面时,观众的终端设备110B可以接收观众对第二直播画面中的主播的形象或者虚拟物体的第二操作,然后,观众的终端设备110B可以将第二操作处理为对第二直播画面中的主播的形象或者虚拟物体的第二操作指令,并将第二操作指令发送给云计算平台130,由云计算平台130根据第二操作指令以及第二直播画面得到第三直播画面,云计算平台130在得到第三直播画面后,可以将第三直播画面发送给观众的终端设备110B以及主播的终端设备110A进行显示。

上述第二操作的定义与图3所示实施例中的第一操作的定义相类似,第二操作指令的定义与图3所示实施例中的第一操作指令的定义相类似,云计算平台130根据第二操作指令以及第二直播画面得到第三直播画面的过程与图3所示实施例中的步骤S309所述的云计算平台130根据第一操作指令以及第一直播画面得到第二直播画面的过程相类似,为了说明书的简洁,此处不再展开描述,具体请参见图3所示实施例中的相关内容。

可以看出,在本申请提供的直播互动方法中,主播和观众在看到基于对方的操作更新的直播画面后,可以对更新的直播画面中的主播的形象或者虚拟物体再次进行操作,使得再次更新直播画面,也就是说,本申请提供的直播互动方法,可以实现主播和观众多次操作直播画面中的主播的形象或者虚拟物体进行互动。

在一种可能的实施例中,若第一操作是主播进行的操作,则主播的终端设备110A在接收主播的第一操作时,主播的终端设备110A也可以获取主播进行第一操作时的肢体动作信息,可选地,也可以获取主播进行第一操作时的面部表情信息,然后,主播的终端设备110A在向云计算平台130发送第一操作指令时,也可以将主播进行第一操作时的肢体动作信息、面部表情信息发送给云计算平台130,由云计算平台130根据第一操作指令、主播进行第一操作时的肢体动作信息、面部表情信息以及第一直播画面得到第二直播画面。

同理,若第二操作是主播进行的操作,则主播的终端设备110A在接收主播的第二操作时,主播的终端设备110A也可以获取主播进行第二操作时的肢体动作信息,可选地,也可以获取主播进行第二操作时的面部表情信息,然后,主播的终端设备110A在向云计算平台130发送第二操作指令时,也可以将主播进行第二操作时的肢体动作信息、面部表情信息发送给云计算平台130,由云计算平台130根据第二操作指令、主播进行第二操作时的肢体动作信息、面部表情信息以及第二直播画面得到第三直播画面。

具体地,云计算平台130可以根据第一操作指令、主播进行第一操作时的肢体动作信息、面部表情信息对第一直播画面进行更新,从而得到第二直播画面;云计算平台130可以根据第二操作指令、主播进行第二操作时的肢体动作信息、面部表情信息对第二直播画面进行更新,从而得到第三直播画面;其中,云计算平台130根据第一操作指令/第二操作指令更新第一直播画面的过程可以参考步骤S309中的相关描述,云计算平台130根据主播的肢体动作信息、面部表情信息更新第一直播画面/第二直播画面,可以理解为,按照主播的肢体动作信息、面部表情信息,驱动第一直播画面/第二直播画面中的主播的形象运行,即得到的更新后的直播画面中主播的形象的肢体动作、面部表情,相较于更新前的直播画面中主播的形象的肢体动作、面部表情,会发生变化。

具体实现中,主播的终端设备110A可以通过摄像头拍摄主播图像,该图像中包括主播的肢体动作信息、面部表情信息,或者,在主播穿戴有能采集其肢体动作信息的穿戴设备时,也可以通过穿戴设备采集主播的肢体动作信息,此处不作具体限定。

在一种可能的实施例中,主播的终端设备110A也可以实时采集主播的肢体动作信息、面部表情信息,然后,将采集的主播的肢体动作信息、面部表情信息实时发送给云计算平台130,由云计算平台130根据主播的肢体动作信息、面部表情信息实时更新直播画面中主播的形象的肢体动作信息、面部表情信息,此处不作具体限定。

具体实现中,云计算平台130在向观众的终端设备110B和主播的终端设备110A发送直播画面时,可以采用实时流传输协议(real time streaming protocol,RTSP)、网页即时通信(web real-time communication,简称为WebRTC)协议等实时传输协议进行传输。

综上所述,本申请提供的直播互动方法,可以实现观众或者主播对直播画面中的主播的形象或者虚拟物体进行多种多样的互动操作,基于观众或者主播进行的互动操作更新直播画面,也就是说,通过该方法,观众和主播看到的直播画面会随着观众或者主播进行的多种多样的互动操作千变万化,因此,上述方案能够实现给主播和观众提供了多种多样的互动方式,优化主播与观众之间的互动体验。

还可以看出,本申请提供的直播互动方法,是将主播的形象和虚拟物体融合在一起得到直播画面,而且云计算平台130在根据操作指令更新直播画面时,更新的直播画面中主播的形象和虚拟物体也是融合在一起的,相较于现有技术通过将两张二维图像进行简单叠加得到的直播画面,直播画面的立体显示效果较好,显示的内容也更加自然协调。

上文详细阐述了本申请提供的直播互动方法,基于相同的发明构思,接下来介绍本申请提供的直播互动装置。

本申请提供两种直播互动装置,其中一种可以应用于图1所示的终端设备110,如110A、110B,另一种可以应用于图1所示的云计算平台130,当本申请提供的直播互动装置应用于终端设备110,和/或,应用于云计算平台130时,均能够使得图1所示的直播系统100优化主播和观众之间的直播互动效果,给主播和观众提供多种多样的互动方式,优化主播和观众之间的互动体验。应理解,本申请提供的直播互动装置内部的单元模块可以有多种划分,各个模块可以是软件模块,也可以是硬件模块,也可以部分是软件模块部分是硬件模块,本申请不对其进行限制。

参见图9,图9是本申请示例性示出的一种应用于终端设备110的直播互动装置900的结构示意图,该装置900包括:显示模块910、接收模块920、处理模块930和发送模块940。

显示模块910,用于显示第一直播画面,其中,第一直播画面包括主播的形象以及虚拟物体。

接收模块920,用于接收对第一直播画面中的主播的形象或者虚拟物体的第一操作。

处理模块930,用于将第一操作处理为对第一直播画面中的主播的形象或者虚拟物体的第一操作指令。

发送模块940,用于将第一操作指令发送给云计算平台130,由云计算平台130根据第一操作指令以及第一直播画面得到第二直播画面。

接收模块920,用于接收云计算平台130发送的第二直播画面。

显示模块910,用于显示第二直播画面。

在一种可能的实现方式中,接收模块920,用于接收对第一直播画面中的主播的形象或者虚拟物体的第二操作,处理模块930,用于将第二操作处理为对第二直播画面中的主播的形象或者虚拟物体的第二操作指令,发送模块940,用于将第二操作指令发送给云计算平台130,由云计算平台130根据第二操作指令以及第二直播画面得到第三直播画面,接收模块920,用于接收云计算平台130发送的第三直播画面,显示模块910,用于显示第三直播画面。

在一种可能的实现方式中,第一操作为观众的操作,第二操作为主播的操作,或者,第一操作为主播的操作,第二操作为观众的操作。应理解,当第一操作是观众的操作时,装置900可以应用的终端设备110为观众的终端设备110B,当第一操作是主播的操作时,装置900可以应用的终端设备110为主播的终端设备110A。

在一种可能的实现方式中,主播为真实人或者虚拟人。

在一种可能的实现方式中,第一直播画面是将主播的三维数据和虚拟物体的三维数据进行融合后,将融合后的三维数据处理得到的二维的直播画面。

在一种可能的实现方式中,第一直播画面是将主播的二维图像和虚拟物体的二维图像进行融合得到的。

在一种可能的实现方式中,第一操作指令用于改变主播的形象;或者,第一操作指令用于改变虚拟物体上的点的坐标值、移动速度、加速度、偏移角度、移动方向、颜色中的一种或者多种;或者,第一操作指令用于在第一直播画面中添加真实物体的形象。

在一种可能的实现方式中,第一操作指令用于给所述主播的形象添加装饰品、改变发型或者改变服装。

在一种可能的实现方式中,虚拟物体用于实现观众和主播之间的互动游戏,如棋牌类游戏或者球类游戏等。

参见图10,图10是本申请示例性示出的一种应用于云计算平台130的直播互动装置1000的结构示意图,该装置1000包括:处理模块1010、发送模块1020和接收模块1030。

处理模块1010,用于将主播的形象和虚拟物体融合,得到第一直播画面。

发送模块1020,用于将第一直播画面发送给观众的终端设备110B以及主播的终端设备110A。

接收模块1030,用于接收对第一直播画面中的主播的形象或者虚拟物体的第一操作指令。

处理模块1010,用于根据第一操作指令以及第一直播画面得到第二直播画面。

发送模块1020,用于将第二直播画面发送给终端设备110B以及主播的终端设备110A。

在一种可能的实现方式中,接收模块1030,用于接收对第二直播画面中的主播的形象或者虚拟物体的第二操作指令;处理模块1010,用于根据第二操作指令以及第二直播画面得到第三直播画面;发送模块1020,用于将第三直播画面发送给终端设备110B以及主播的终端设备110A。

在一种可能的实现方式中,第一操作指令是对第一操作进行处理得到指令,第二操作指令是对第二操作进行处理得到指令;其中,第一操作是观众对第一直播画面中的主播的形象或者虚拟物体的操作,第二操作是主播对第二直播画面中的主播的形象或者虚拟物体的操作;或者,第一操作是主播对第一直播画面中的主播的形象或者虚拟物体的操作,第二操作是观众对第二直播画面中的主播的形象或者虚拟物体的操作。

在一种可能的实现方式中,主播为真实人或者虚拟人。

在一种可能的实现方式中,处理模块1010,具体可以通过如下方式实现将主播的形象和虚拟物体融合,得到第一直播画面:将主播的三维数据和虚拟物体的三维数据进行融合后,将融合后的三维数据进行处理得到二维的第一直播画面。

在一种可能的实现方式中,处理模块1010,具体可以通过如下方式实现将主播的形象和虚拟物体融合,得到第一直播画面:首先,获取主播的二维图像,然后,将主播的二维图像和虚拟物体的二维图像进行融合,得到二维的第一直播画面。

在一种可能的实现方式中,第一操作指令用于改变主播的形象;或者,第一操作指令用于改变虚拟物体上的点的坐标值、移动速度、加速度、偏移角度、移动方向、颜色中的一种或者多种;或者,第一操作指令用于在第一直播画面中添加真实物体的形象。

在一种可能的实现方式中,第一操作指令用于给主播的形象添加装饰品、改变发型或者改变服装。

在一种可能的实现方式中,虚拟物体用于实现观众和主播之间的互动游戏,如棋牌类游戏或者球类游戏等。

具体地,上述直播互动装置900执行各种操作的具体实现,可参照上述直播互动方法实施例中由主播的终端设备110A或者观众的终端设备110B执行的步骤中的相关描述,上述直播互动装置1000执行各种操作的具体实现,可参照上述直播互动方法实施例中由云计算平台130执行的步骤中的相关描述,为了说明书的简洁,这里不再赘述。

综上可知,本申请提供的直播互动装置(如图9所示的装置900以及图10所示的装置1000)可以实现观众或者主播对直播画面中的主播的形象或者虚拟物体进行多种多样的互动操作,基于观众或者主播进行的互动操作更新直播画面,也就是说,通过该方法,观众和主播看到的直播画面会随着观众或者主播进行的多种多样的互动操作千变万化,因此,上述方案能够实现给主播和观众提供了多种多样的互动方式,优化主播与观众之间的互动体验。

此外,本申请提供的直播互动装置1000,是将主播的形象和虚拟物体融合在一起得到直播画面,而且直播互动装置1000在根据操作指令更新直播画面时,更新的直播画面中主播的形象和虚拟物体也是融合在一起的,相较于现有技术通过将两张二维图像进行简单叠加得到的直播画面,直播画面的立体显示效果较好,显示的内容也更加自然协调。

本申请还提供一种终端设备110,参见图11,图11是本申请提供的一种终端设备110的结构示意图,如图11所示,终端设备110包括:处理器1110、存储器1120和通信接口1130,其中,处理器1110、存储器1120、通信接口1130之间可以通过总线1140相互连接。

处理器1110可以读取存储器1120中存储的程序代码(包括指令),执行存储器1120中存储的程序代码,使得终端设备110执行图3所示的本申请提供的直播互动方法中由主播的终端设备110A或者观众的终端设备110B执行的步骤,或者使得终端设备110部署直播互动装置900。

处理器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提供多种服务。

存储器1120用于存储程序代码,并由处理器1110来控制执行。程序代码可以包括一个或多个软件模块,这一个或多个软件模块可以为图9实施例中提供的软件模块,如显示模块910、接收模块920、处理模块930和发送模块940。

存储器1120可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM);存储器1120也可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM)、快闪存储器(flash memory)、硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器1120还可以包括上述种类的组合。

通信接口1130可以为有线接口(例如以太网接口、光纤接口、其他类型接口(例如,infiniBand接口))或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他计算设备或装置进行通信。通信接口1130可以采用传输控制协议/网际协议(transmissioncontrol protocol/internet protocol,TCP/IP)之上的协议族,例如,远程函数调用(remote function call,RFC)协议、简单对象访问协议(simple object accessprotocol,SOAP)协议、简单网络管理协议(simple network management protocol,SNMP)协议、公共对象请求代理体系结构(common object request broker architecture,CORBA)协议以及分布式协议等等。

总线1140可以是快捷外围部件互连标准(peripheral component interconnectexpress,PCIe)总线、扩展工业标准结构(extended industry standard architecture,EISA)总线、统一总线(unified bus,Ubus或UB)、计算机快速链接(compute express link,CXL)、缓存一致互联协议(cache coherent interconnect for accelerators,CCIX)等。总线1140可以分为地址总线、数据总线、控制总线等。总线1140除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线1140。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

上述终端设备110用于执行图3所示的本申请提供的直播互动方法中由终端设备110A或者终端设备110B执行的步骤,其具体实现过程详见上述方法实施例,这里不再赘述。

应当理解,终端设备110仅为本申请实施例提供的一个例子,并且,终端设备110可具有比图11示出的部件更多或更少的部件,可以组合两个或更多个部件,或者可具有部件的不同配置实现。

本申请还提供一种云计算平台130,该云计算平台130可由图12所示的包括一个或者多个计算设备1200的计算设备集群部署实现,以执行图3所示直播互动方法中由云计算平台130所执行的步骤。

具体地,在所述云计算平台130仅包括一个计算设备1200的情况下,可以在该一个计算设备1200中部署图10所示直播互动装置1000中的全部模块:处理模块1010、发送模块1020和接收模块1030。

在所述云计算平台130包括多个计算设备1200的情况下,多个计算设备1200中的每个计算设备1200可以用于部署图10所示直播互动装置1000中的部分模块,或,多个计算设备1200中的两个或者两个以上的计算设备1200共同用于部署图10所示直播互动装置1000中的一个或者多个模块。

以云计算平台130包括计算设备1200A和计算设备1200B这两个计算设备、这两个计算设备用于部署图10所示直播互动装置1000为例,计算设备1200A可以用于部署处理模块1010,计算设备1200B可以用于部署发送模块1020和接收模块1030,或者计算设备1200A用于部署发送模块1020和接收模块1030,计算设备1200A用于与计算设备1200B一起共同部署处理模块1010。

具体地,所述云计算平台130中的每个计算设备1200可以包括处理器1210、存储器1220以及通信接口1230等,所述云计算平台130中的一个或者多个计算设备1200中的存储器1220可以存有相同的用于执行本申请提供的直播互动方法中由云计算平台130执行的方法对应的代码(也可以称为指令或者程序指令等),处理器1210可以从存储器1220中读取代码,并执行代码以实现本申请提供的直播互动方法中由云计算平台130执行的方法,通信接口1230可以用于实现每个计算设备1200与其他设备之间的通信。

在一些可能的实现方式中,云计算平台130中的每个计算设备1200也可以通过网络与其他设备连接进行通信。其中,所述网络可以是广域网或局域网等等。

下面以直播互动装置1000的全部模块部署于一个计算设备1200上为例,结合图13对本申请提供的计算设备1200进行详细描述。

参见图13,计算设备1200包括:处理器1210、存储器1220以及通信接口1230,其中,处理器1210、存储器1220以及通信接口1230之间可以通过总线1240相互连接。其中,

处理器1210可以读取存储器1220中存储的程序代码,执行存储器1220中存储的程序代码,使得云计算平台130执行图3所示的本申请提供的直播互动方法中由云计算平台130执行的步骤,或者使得计算设备1200部署直播互动装置1000。

处理器1210可以有多种具体实现形式,例如处理器1210可以为CPU或GPU,处理器1210还可以是单核处理器或多核处理器。处理器1210可以由CPU和硬件芯片的组合。上述硬件芯片可以是ASIC、PLD或其组合。上述PLD可以是CPLD、FPGA、GAL或其任意组合。处理器1210也可以单独采用内置处理逻辑的逻辑器件来实现,例如FPGA或DSP等。

存储器1220用于存储程序代码,并由处理器1210来控制执行。程序代码可以包括图10实施例中提供的软件模块:处理模块1010、发送模块1020和接收模块1030。

在实际应用中,存储器1220可以是非易失性存储器,例如,ROM、PROM、EPROM、EEPROM或闪存。存储器1220也可以是易失性存储器,易失性存储器可以是RAM,其用作外部高速缓存。

通信接口1230可以为有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他计算节点或装置进行通信。当通信接口1230为有线接口时,通信接口1230可以采用TCP/IP之上的协议族,例如,RFC协议、SOAP协议、SNMP协议、CORBA协议以及分布式协议等等。

总线1240可以是PCIe总线、EISA总线、UB、CXL、CCIX等。总线1240可以分为地址总线、数据总线、控制总线等。总线1240除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线1240。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

上述计算设备1200用于执行图3所示的本申请提供的直播互动方法中由云计算平台130执行的步骤,其具体实现过程详见上述方法实施例,这里不再赘述。

应理解,计算设备1200仅为本申请提供的一个例子,并且,计算设备1200可具有比图13示出的部件更多或更少的部件,可以组合两个或更多个部件,或者可具有部件的不同配置实现。

本申请还提供一种直播系统,该直播系统可以包括图9所示的直播互动装置900和图10所示的直播互动装置1000,或者,包括图11所示的终端设备110和图12所示的云计算平台130。

本申请还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,该指令被运行时可以实现上述实施例中记载的直播互动方法的部分或者全部步骤。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

在上述实施例中,可以全部或部分地通过软件、硬件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质、或者半导体介质等。

以上所述,仅为本申请的具体实施方式。熟悉本技术领域的技术人员根据本申请提供的具体实施方式,可想到变化或替换,都应涵盖在本申请的保护范围之内。

相关技术
  • 一种网络直播互动方法及装置
  • 一种直播互动方法、装置及存储介质
  • 用于直播教学的手势互动方法和系统
  • 一种网络直播教学互动系统及方法
  • 用于远程教学的视频采集装置、视频采集系统和直播方法
  • 直播互动方法、直播互动系统及直播设备
  • 直播互动方法、直播互动装置及直播设备
技术分类

06120116147720