一种直播方法、装置、系统及电子设备与流程

文档序号:13476645阅读:352来源:国知局
一种直播方法、装置、系统及电子设备与流程

本申请涉及视频游戏领域,尤其涉及一种直播方法、装置、系统及电子设备。



背景技术:

目前的直播内容,主要有:主播表演才艺、展示户外游玩的场景、展示打游戏的视频画面等。随着直播概念的普及,越来越多的人成为主播,但一场精彩的直播需要主播策划很多内容,还要不时的调动下观众的气氛等,然而由于直播的特殊性,主播与观众隔着屏幕交流,能够采用的互动方式有限,直播中现有的互动方式越来越难满足广大用户对直播互动的需求。



技术实现要素:

有鉴于此,本申请提供一种直播方法、装置、系统及电子设备,旨在增加直播的互动方式。

具体地,本申请是通过如下技术方案实现的:

一种直播方法,包括以下步骤:

对第一客户端通过摄像头捕获的图像帧中的目标对象进行肢体特征识别,识别出肢体动作;

在图像帧中渲染ar场景下的受控对象形成第一视频画面,将第一视频画面发给第二客户端;其中,第一客户端与第二客户端通过连麦建立连接;

基于第二客户端发送的控制信号、肢体动作计算并更新第一视频画面中所述受控对象的位置;

将更新受控对象位置后的第一视频画面发给第二客户端及观众客户端。

一个实施例中,所述第一客户端与第二客户端通过连麦建立连接的步骤包括以下之一:

通过第一客户端向第二客户端发送游戏互动请求,在接收到第二客户端发送的应答响应时,建立第一客户端与第二客户端之间的连麦,并在第一客户端与第二客户端同时开启互动游戏;

在第一客户端与第二客户端直播连麦过程中,通过第一客户端向第二客户端发送游戏互动请求,在接收到第二客户端发送的应答响应时,在第一客户端与第二客户端同时开启互动游戏。

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

在游戏结束时统计第一客户端用户与第二客户端用户的成绩,在视频画面中添加与该成绩对应的特效;

根据用户的成绩更新成绩排行榜;

根据成绩排行榜推荐游戏互动对象。

一个实施例中,所述基于第二客户端发送的控制信号、肢体动作计算ar场景下受控对象的位置的步骤包括:

基于第二客户端发送的控制信号计算受控对象的位置,根据嘴的位置及张开程度计算所述受控对象是否落入嘴中;

所述基于第二客户端发送的控制信号计算受控对象的位置,根据嘴的位置及张开程度计算所述受控对象是否落入嘴中的步骤之后,还包括以下任一:

根据所述受控对象是否落入嘴中调整游戏进度条的状态;

当所述受控对象未落入嘴中时,根据目标对象的位置控制所述受控对象退出;

当所述受控对象落入嘴中和/或击中目标对象时,根据所记录的该受控对象的属性,在视频画面中添加与所述属性对应的特效。

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

当图像帧中的人脸数多于一个时,根据预设规则确定目标对象;

其中,所述预设规则包括以下至少之一:

以位置居中的人脸为目标对象;

以面积最大的人脸为目标对象;

以最早检测到的人脸为目标对象;

根据外部输入的指令确定目标对象;

以与用户身份信息匹配的人脸为目标对象。

本申请还公开了一种直播方法,包括以下步骤:

对第一客户端通过摄像头捕获的图像帧中的目标对象进行肢体特征识别,识别出肢体动作;

在图像帧中渲染ar场景下的关联对象形成第一视频画面,将第一视频画面发给第二客户端,基于第二客户端发送的控制信号调整关联对象的位置;其中,第一客户端与第二客户端通过连麦建立连接;

基于嘴的位置渲染ar场景下的受控对象,结合肢体动作、及关联对象的位置计算并更新第一视频画面中受控对象的位置;

将更新受控对象位置后的第一视频画面发给第二客户端及观众客户端。

一个实施例中,所述第一客户端与第二客户端通过连麦建立连接的步骤包括以下之一:

通过第一客户端向第二客户端发送游戏互动请求,在接收到第二客户端发送的应答响应时,建立第一客户端与第二客户端之间的连麦,并在第一客户端与第二客户端同时开启互动游戏;

在第一客户端与第二客户端直播连麦过程中,通过第一客户端向第二客户端发送游戏互动请求,在接收到第二客户端发送的应答响应时,在第一客户端与第二客户端同时开启互动游戏。

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

在游戏结束时统计第一客户端用与第二客户端用户的成绩,在视频画面中添加与该成绩对应的特效;

根据用户的成绩更新成绩排行榜;

根据成绩排行榜推荐游戏互动对象。

一个实施例中,所述基于嘴的位置渲染ar场景下的受控对象的步骤包括:

识别嘴的张开程度,当嘴张开程度大于启动阈值时,基于嘴的位置渲染ar场景下的受控对象;

结合肢体动作、及关联对象的位置计算并更新ar场景下受控对象的位置的步骤包括:

识别人脸朝向及嘴的闭合速度;

基于人脸朝向设置所述受控对象运动的方向、及基于嘴的闭合速度设置所述受控对象运动的速度,基于运动的方向及速度计算受控对象的位置;

所述基于人脸朝向设置所述受控对象运动的方向、及基于嘴的闭合速度设置所述受控对象运动的速度,基于运动的方向及速度计算受控对象的位置的步骤包括:

基于人脸朝向及嘴的闭合速度设置所述受控对象运动的初始速度,结合受控对象运动的起点、及重力加速度计算所述受控对象的位置;

所述基于嘴的位置渲染ar场景下的受控对象,结合肢体动作、及关联对象的位置计算并更新ar场景下受控对象的位置的步骤之后,还包括以下至少之一:

根据受控对象与关联对象的位置关系判断受控对象是否落入关联对象中;

根据受控对象是否落入关联对象中调整游戏进度条的状态;

当受控对象未落入关联对象中时,获取受控对象与关联对象的位置关系,根据该位置关系控制受控对象退出和/或添加特效;

当受控对象落入关联对象中时,根据受控对象与关联对象的位置关系获取命中属性,根据所述命中属性控制受控对象退出和/或命中关联对象。

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

当图像帧中的人脸数多于一个时,根据预设规则确定目标对象;

其中,所述预设规则包括以下至少之一:

以位置居中的人脸为目标对象;

以面积最大的人脸为目标对象;

以最早检测到的人脸为目标对象;

根据外部输入的指令确定目标对象;

以与用户身份信息匹配的人脸为目标对象。

本申请还公开了一种直播方法,用于直播系统,所述直播系统包括第一客户端、服务器和第二客户端;所述方法包括以下步骤:

第一客户端通过摄像头捕获图像帧,对所述图像帧中的目标对象进行肢体特征识别,识别出肢体动作,在所述图像帧中渲染ar场景下的受控对象形成第一视频画面;

第一客户端将第一视频画面通过服务器发给第二客户端、观众客户端,第二客户端将受控对象的控制信号通过服务器发给第一客户端;其中,第一客户端与第二客户端通过连麦建立连接;

第一客户端基于控制信号、肢体动作计算并更新第一视频画面中所述受控对象的位置,并将更新后的第一视频画面发给服务器;

服务器将更新后的第一视频画面发给第二客户端及观众客户端。

本申请还公开了一种直播方法,用于直播系统,所述直播系统包括第一客户端、服务器和第二客户端;所述方法包括以下步骤:

第一客户端通过摄像头捕获图像帧,对所述图像帧中的目标对象进行肢体特征识别,识别出肢体动作,在该图像帧中渲染ar场景下的关联对象形成第一视频画面;

第一客户端将第一视频画面通过服务器发给第二客户端、观众客户端,第二客户端将关联对象的控制信号通过服务器发给第一客户端;其中,第一客户端与第二客户端通过连麦建立连接;

第一客户端基于肢体动作计算ar场景下受控对象的位置、基于控制信号计算关联对象的位置,更新第一视频画面中ar场景下受控对象及关联对象的位置,并将更新后的第一视频画面发给服务器;

服务器将更新后的第一视频画面发给第二客户端及观众客户端。

本申请还公开了一种直播装置,包括:

识别模块,用于对第一客户端通过摄像头捕获的图像帧中的目标对象进行肢体特征识别,识别出肢体动作;

渲染模块,用于在图像帧中渲染ar场景下的受控对象形成第一视频画面,将第一视频画面发给第二客户端;其中,第一客户端与第二客户端通过连麦建立连接;以及

基于第二客户端发送的控制信号、肢体动作计算并更新第一视频画面中所述受控对象的位置;

发送模块,用于将更新受控对象位置后的第一视频画面发给第二客户端及观众客户端。

本申请还公开了一种直播装置,包括:

识别模块,用于对第一客户端通过摄像头捕获的图像帧中的目标对象进行肢体特征识别,识别出肢体动作;

渲染模块,用于在图像帧中渲染ar场景下的关联对象形成第一视频画面,将第一视频画面发给第二客户端,基于第二客户端发送的控制信号调整关联对象的位置;其中,第一客户端与第二客户端通过连麦建立连接;以及

基于嘴的位置渲染ar场景下的受控对象,结合肢体动作、及关联对象的位置计算并更新ar场景下受控对象的位置;

发送模块,用于将更新受控对象位置后的第一视频画面发给第二客户端及观众客户端。

本申请还公开了一种电子设备,包括:

存储处理器可执行指令的存储器;其中,所述处理器耦合于所述存储器,用于读取所述存储器存储的程序指令,并作为响应,执行如下操作:

将第一客户端与第二客户端建立游戏互动连麦,对第一客户端通过摄像头捕获的图像帧中的目标对象进行肢体特征识别,识别出肢体动作;

在图像帧中渲染ar场景下的受控对象形成第一视频画面,将第一视频画面发给第二客户端;

基于第二客户端发送的控制信号、肢体动作计算并更新所述受控对象的位置;

将更新受控对象位置后的第一视频画面发给第二客户端及观众客户端。

本申请还公开了一种电子设备,包括:

存储处理器可执行指令的存储器;其中,所述处理器耦合于所述存储器,用于读取所述存储器存储的程序指令,并作为响应,执行如下操作:

将第一客户端与第二客户端建立游戏互动连麦,对第一客户端通过摄像头捕获的图像帧中的目标对象进行肢体特征识别,识别出肢体动作;

在图像帧中渲染ar场景下的关联对象形成第一视频画面,将第一视频画面发给第二客户端,基于第二客户端发送的控制信号调整关联对象的位置;

基于嘴的位置渲染ar场景下的受控对象,结合肢体动作、及关联对象的位置计算并更新ar场景下受控对象的位置;

将更新受控对象位置后的第一视频画面发给第二客户端及观众客户端。

本申请还公开了一种直播系统,包括:

第一客户端、第二客户端、服务器;

所述服务器,用于将所述第一客户端与所述第二客户端建立连麦连接;

所述第一客户端,用于通过摄像头捕获图像帧,对所述图像帧中的目标对象进行肢体特征识别,识别出肢体动作,在所述图像帧中渲染ar场景下的受控对象形成第一视频画面,将第一视频画面发给服务器;

所述服务器,还用于将第一视频画面发给第二客户端、观众客户端;

所述第二客户端,用于采集对受控对象的控制信号,并发给服务器;

所述服务器,还用于将控制信号发给第一客户端;

所述第一客户端,还用于基于控制信号、肢体动作计算并更新第一视频画面中所述受控对象的位置,并将更新后的第一视频画面发给服务器;

所述服务器,还用于将更新后的第一视频画面发给第二客户端、观众客户端。

本申请还公开了一种直播系统,包括:

第一客户端、第二客户端、服务器;

所述服务器,用于将所述第一客户端与所述第二客户端建立连麦连接;

所述第一客户端,用于通过摄像头捕获图像帧,对所述图像帧中的目标对象进行肢体特征识别,识别出肢体动作,在该图像帧中渲染ar场景下的关联对象形成第一视频画面,将第一视频画面发给服务器;

服务器,还用于将第一视频画面发给第二客户端、观众客户端;

所述第二客户端,用于采集对关联对象的控制信号,并发给服务器;

所述服务器,还用于将控制信号发给第一客户端;

所述第一客户端,还用于基于肢体动作计算ar场景下受控对象的位置、基于控制信号计算关联对象的位置,更新第一视频画面中ar场景下受控对象及关联对象的位置,并将更新后的第一视频画面发给服务器;

所述服务器,还用于将更新后的第一视频画面发给第二客户端及观众客户端。

本申请对第一客户端通过摄像头捕获的图像帧中的目标对象进行肢体特征识别,识别出肢体动作;在图像帧中渲染ar场景下的受控对象形成第一视频画面,将第一视频画面发给第二客户端;其中,第一客户端与第二客户端通过连麦建立连接;基于第二客户端发送的控制信号、肢体动作计算并更新第一视频画面中所述受控对象的位置;将更新受控对象位置后的第一视频画面发给第二客户端及观众客户端。本申请是在主播客户端通过摄像头捕获的图像帧的基础上作添加ar场景形成视频画面,且主播可以影响该ar场景下的受控对象的位置,例如改变受控对象的运动轨迹等,用户与虚拟世界的互动较多、代入感强。连麦对抗的视频画面可以发送给观众客户端,观众可以直观的看到主播玩ar游戏的样子,增加了直播的互动方式。

附图说明

图1是本申请一示例性实施例示出的一种直播方法的流程图;

图2是本申请一示例性实施例示出的一种直播系统的示意图;

图3a、3b、3c是本申请一示例性实施例示出的连麦互动的示意图;

图4是本申请一示例性实施例示出的一种直播方法的流程图;

图5a是本申请一示例性实施例示出的吃食物游戏的示意图;

图5b是本申请一示例性实施例示出的吃到食物的示意图;

图5c、5d是本申请一示例性实施例示出的未吃到食物的示意图;

图6是本申请一示例性实施例示出的一种直播方法的流程图;

图7a、7b、7c是本申请一示例性实施例示出的投篮球游戏的示意图;

图8是本申请一示例性实施例示出的观众客户端显示的投飞镖游戏的示意图;

图9是本申请一示例性实施例示出的一种直播方法的流程图;

图10是本申请一示例性实施例示出的一种直播方法的流程图;

图11是本申请一示例性实施例示出的一种直播装置的逻辑框图;

图12是本申请一示例性实施例示出的一种电子设备的逻辑框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

目前的直播内容,主要有:主播表演才艺、展示户外游玩的场景、展示打游戏的视频画面等。随着直播概念的普及,越来越多的人成为主播,但一场精彩的直播需要主播策划很多内容,还要不时的调动下观众的气氛等,从而没有突出特点、不善于与观众互动的主播粉丝较少,进而又会导致主播、观众流失,为了提升直播平台的生态系统,各直播平台通常会通过增加新内容(例如,特效、游戏等),以增加开播内容形式、提高直播效果,以吸引用户。

随着科技的发展,虚拟现实概念不断火爆,通过佩戴vr(virtualreality,虚拟现实)眼镜、游戏手柄,人们已经可以与虚拟世界进行互动了。虚拟现实技术是一种可以创建和体验虚拟世界的计算机仿真系统,它利用计算机生成一种模拟环境,是一种多源信息融合的、交互式的三维动态视景和实体行为的系统仿真,使用户沉浸到该环境中。

由于,vr游戏需要借助vr眼镜、游戏手柄等装备,游戏普及难度较大。而将真实世界与虚拟世界融合的ar(augmentedreality,增强现实)技术,例如之前在全球掀起热潮的精灵宝可梦(pokemongo)游戏,用户拍摄的真实场景画面中会出现虚拟世界的小精灵,在屏幕上按住精灵球并抛出就可以捕捉小精灵,因其不需要额外的装备而快速普及。

但是目前的ar游戏基本都是用户用手指操作,从游戏体验的角度而言,跟传统游戏(例如切水果或愤怒的小鸟等)差距不大,只是游戏的背景换成了用户当前环境的画面,用户与虚拟世界的互动较少、代入感不强。基于此,本申请提出了将ar游戏与直播结合的方案,如图1所示:

步骤s110:对第一客户端通过摄像头捕获的图像帧中的目标对象进行肢体特征识别,识别出肢体动作;

步骤s120:在图像帧中渲染ar场景下的受控对象形成第一视频画面,将第一视频画面发给第二客户端;其中,第一客户端与第二客户端通过连麦建立连接;

步骤s130:基于第二客户端发送的控制信号、肢体动作计算并更新第一视频画面中所述受控对象的位置;

步骤s140:将更新受控对象位置后的第一视频画面发给第二客户端及观众客户端。

所述肢体动作是指通过头、眼、颈、手、肘、臂、身、胯、足等人体部位的协调活动。

本实施例应用于直播中的连麦场景下,如图2所示,第一客户端100与第二客户端200基于网络、通过服务器400连麦建立连接;第一客户端100与第二客户端200至少一个属于主播客户端。

本实施例可以认为是在直播软件中增加了ar游戏功能,由于ar游戏需要ar场景,即该软件需要增加建立、驱动、渲染ar模型等功能,可以插件的形式在原有直播软件中增加该功能,也可以在新版本的软件中增加该功能,本申请对此不作限定。

主播开播后,可能希望与其它用户连麦互动玩ar游戏进行对抗,例如,可以如图3b所示,通过点击下方的好友头像向其它用户发送游戏互动请求,在第二客户端200接受邀请时,服务器400为第一客户端100与第二客户端200建立连麦,并向第一客户端100、第二客户端200下发指令以进入同一场互动游戏。当然,有时候第一客户端100与第二客户端200已经处于连麦状态,此时,如图3a所示,只需要连麦的其中一方发出游戏互动请求,连麦的另一方接受邀请后,服务器400向第一客户端100、第二客户端200下发指令以进入同一场互动游戏。

所述连麦是主播与观众、主播与主播之间的一种互动方式,在连麦过程中,主播与观众的身份也由此转变成发起者与参与者,当发起者向参与者发起连麦请求,参与者接受连麦后,便在发起者与参与者自身所在的客户端之间建立起连接,而直播画面也由上述两个客户端共同提供。一般情况下,直播画面可以是发起者的直播画面为大窗口,参与者的主播画面为小窗口的画中画形式进行显示。当然上述显示方式可以由发起者或参与者随意调整。在某些例子中,连麦还可以是多人连麦。

以吃食物游戏为例,本申请所涉及的对抗是指连麦的一方抛食物,另一方接食物吃。

由于需要增加相应的功能模块才能玩ar游戏,因此,若未安装插件或版本不支持玩该ar游戏,可以发送相应的提示信息。例如,如图4所示,服务器400向第二客户端200发送游戏互动请求后,在第二客户端200会执行以下步骤:

步骤s410:检测第二客户端200是否支持该互动游戏;

步骤s420:若支持,则在第二客户端200生成游戏互动请求;

步骤s430:若不支持,则获取第二客户端200不支持的原因,生成解决指引信息;还可以通过服务器400向第一客户端100发送提示信息;

所述解决指引信息包括:下载插件、升级应用程序、更换硬件设备等。提示信息可以是“对方硬件设备不支持,换个好友挑战吧”,甚至还可以给该用户推荐一些支持该互动游戏的热门主播进行对抗等。

当然,第一客户端100也需要在支持玩该ar游戏的情况下,才能向第二客户端发送游戏互动请求;若第一客户端100还不支持玩该ar游戏,在用户点击发送游戏互动请求时,也可以先发送解决指引信息。

以图5a所示的吃食物游戏为例,第一客户端100的物理模型设置食物(受控对象231、232、233)的形象,一方可以抛出食物,例如,第二客户端200的用户用手999点击选中食物、手999向上滑动作出将食物抛出的动作,当然,还可以根据手指滑动的方向、力度等控制食物抛出的方向和速度等,第二客户端200将该动作解析成控制信号并发送给第一客户端100,第一客户端100的驱动模型根据参数计算受控对象的位置,再将受控对象渲染在该位置;若游戏规则为人要尽可能多的吃到食物(张嘴吃食物),那么,肢体动作会影响受控对象的位置,例如,被吃到的食物,驱动模型得到的参数会不同,从而改变食物的运动路线,即更新第一视频画面中所述受控对象的位置。

第一客户端100将更新后的第一视频画面通过服务器400发给第二客户端200及观众客户端300,当然,由于是第一客户端100处理后返回食物抛出的视频画面,因此,第二客户端200的用户会感觉到抛食物存在一定的延时。

本申请是在主播客户端通过摄像头捕获的图像帧的基础上作添加ar场景形成视频画面,且连麦的双方可以影响该ar场景下的受控对象的位置,例如改变受控对象的运动轨迹等,用户与虚拟世界的互动较多、代入感强。连麦pk的视频画面可以发送给观众客户端,观众可以直观的看到主播玩ar游戏的样子,增加了主播直播的内容,游戏的形式还能调动观众与主播的互动话题,达到提高直播效果,吸引用户的目的。

进行pk游戏,在游戏结束时,还可以展示pk的战绩。因此,在游戏结束时,例如,第一客户端100将玩家的得分、第二客户端200将抛食物的部分等发送给服务器400,由服务器400统计第一客户端用户的成绩、及第二客户端用户的成绩,然后在视频画面中添加与该成绩对应的特效。例如,第一客户端100玩家的成绩特效可以为“您吃了对方抛出的100个食物中的80个,打败了全国99.99%的吃货玩家”,第二客户端200玩家的成绩特效可以为“您抛出的100个食物中的80个被对方吃了,打败了全国99.99%的饲养玩家”等。

由于整个直播平台上会有很多游戏玩家,因此,可以有涉及所有玩家的成绩排行榜,每完成一场游戏均可以同步更新玩家在排行榜中的成绩。排行榜中可以有多个类别,例如,胜率、单场得分、收获礼物数、观众人数等。从而可以根据排行榜为玩家推荐pk对象,例如推荐成绩接近的,为好友较少的主播推荐热门主播进行pk,或者为观众人数多的主播推荐观众人数少的主播进行pk,让中小主播也能与更多的人互动,也可以增加主播特别是中小主播的曝光率、提升人气。

根据统计的成绩还可以生成pk记录,如图3c所示,玩家可以看到自己的pk记录,当然,也可以查看别人的pk记录,例如,当接收到其它主播发送的游戏互动请求时,可以结合对方的pk记录决定是否接受游戏互动请求,例如,有些玩家不想跟技术太差的玩家pk,当发现对方败局太多时,会拒绝游戏互动请求等;通过公开游戏成绩,方便主播选择优质的对手pk提升直播精彩程度。

接下来以吃食物游戏为例介绍用户接ar场景下的受控对象的游戏。如图5a所示,系统可以抛出不同的食物(辣椒231、蛋糕232、鸡蛋233)让玩家吃,可以根据受控对象位置、嘴的位置及张开程度计算食物是否落入嘴中;例如,如图5b所示,辣椒231落入玩家口中,即可认为玩家吃到了辣椒231;如图5c所示,蛋糕232未落入玩家口中,即可认为玩家没吃到蛋糕232;如图5d所示,鸡蛋233未落入玩家口中,即可认为玩家没吃到鸡蛋233。

游戏通常会有记录时间、得分、资源(例如道具等)等的进度条,如图5a所示,进度条109记录了本场游戏的剩余时间(例如剩余10s)、最高分、本场得分等信息,随着游戏的进行不断调整进度条109的状态,例如吃到辣椒231时增加相应的分值等。

为了提高ar场景的真实性,游戏中会模拟人在真实世界中抛出食物的效果,例如抛出的角度和/或力度不同,食物运动的轨迹也不同,还可以设置玩家与抛出食物的位置存在一定距离,从而食物会以抛物线形式朝玩家飞去。被玩家吃到的食物可以消失的形式退场;而未被吃到的食物,可能是如图5c所示与玩家完全没有接触的形式,则可以系统默认的运动路线朝玩家的后方落下并消失;当然,未被吃到的食物还可能如图5d所示砸中了玩家,则其退出路线会改变,例如反弹、或者向下落等。

在真实世界中,不同的食物味道不同,例如辣椒是辣,人吃了后会有烧脸、辣的冒火的感觉。则可以为不同的食物设置相应的属性,在玩家吃到或者被食物砸到后,可以相应添加不同的特效。

食物的属性有很多种,例如:味觉属性、物态属性、热量属性等;味觉属性又包括:酸、甜、苦、辣、咸等;物态属性可以包括:固态、液态、气态;从而可以在玩家脸上渲染表示味觉属性的表情、与受控对象接触的印迹、调整目标对象的胖瘦等。例如,如图5b所示,玩家吃到了辣椒231,则可以添加表示辣的冒火的特效;如图5d所示,玩家被鸡蛋233砸中了,则可以添加鸡蛋233磕破了流出蛋液的特效;或者玩家被苹果等固态食物砸中,脸会肿等;当然,还可以根据玩家吃到的食物的卡路里,调整目标对象110的胖瘦。

在玩家吃到食物时,还可以显示得分、连击数等特效,或者增加虚拟啦啦队等特效,游戏中可以根据需要添加各种特效,特效可以是flash特效、贴图特效,也可以是其它形式的特效,特效持续的时间也可以根据游戏场景具体设定,本申请对此不作限定。

通过上述方式,可以增强游戏的可玩性及真实感,提高主播和观众在游戏互动中的乐趣。

在玩游戏的过程中,是根据目标对象110的嘴的位置、张开程度等调整受控对象位置的,通常来说,一场游戏由一个人玩,但是,直播过程中可能有多个人当主播,即主播客户端通过摄像头捕获的图像帧中可能存在多张人脸,例如,如图3b所示,图像帧中存在人脸110和人脸120,确定哪一个是目标对象的规则可以包括以下之一:

以位置居中的人脸为目标对象;

以面积最大的人脸为目标对象;通常玩家的人脸会处于画面的居中位置,且离摄像头更近,因此脸的面积也会大一些;

以最早检测到的人脸为目标对象;通常摄像头最先拍到的人是玩家,或者玩家在玩的过程中有其他人入镜,因此以最早检测到的人脸为目标对象;

以与用户身份信息匹配的人脸为目标对象;例如,玩家会注册账号,特别是主播,需要认证身份证和人脸信息,以进行实名认证,因此,可以根据用户注册时用的照片,从多张人脸中匹配出注册用户的脸为目标对象;

上述方式是系统自动匹配目标对象的,可以单独使用也可以组合使用,当然,用户也可以直接指定目标对象,例如,在检测到存在多张人脸时,在每张人脸上弹出一选择框,哪个选择框被点中,则认为以该人脸为目标对象,即根据外部输入的指令确定目标对象。

视频画面归根结底是一帧一帧的图像,在渲染ar场景时,可以计算出ar场景的对象(包括受控对象、关联对象)在每一帧中应该出现的位置,由于受控对象的位置还受肢体动作的影响,因此,通常是在一帧的位置计算结束时,根据当前肢体动作等参数计算受控对象在下一帧中的位置,即基于视频画面前一帧的肢体动作计算受控对象在下一帧的位置。

吃食物游戏连麦的双方都是调整被控对象的位置的,但是,还有一类游戏,例如,如图7a所示的投篮球游戏,可以是一个人控制篮球、一个人控制篮框;如图8所示的投飞镖游戏等,可以是一个人控制飞镖、一个人控制飞镖盘。接下来以投篮球游戏为例介绍本申请的一种直播方法。

如图6所示,所述直播方法包括:

步骤s610:对第一客户端通过摄像头捕获的图像帧中的目标对象进行肢体特征识别,识别出肢体动作;

步骤s620:在图像帧中渲染ar场景下的关联对象形成第一视频画面,将第一视频画面发给第二客户端,基于第二客户端发送的控制信号调整关联对象的位置;其中,第一客户端与第二客户端通过连麦建立连接;

步骤s630:基于嘴的位置渲染ar场景下的受控对象,结合肢体动作、及关联对象的位置计算并更新第一视频画面中受控对象的位置;

步骤s640:将更新受控对象位置后的第一视频画面发给第二客户端及观众客户端。

本实施例应用于直播中的连麦场景下,连麦方式、检测第二客户端200是否支持该互动游戏、统计成绩、确定目标对象等,与前一实施例相似,此处不予赘述。

游戏过程中,需要先生成供玩家控制的篮球,再根据根据玩家嘴型的变化控制篮球运动,因此,需要有触发条件控制生成篮球,可以在玩家嘴闭合的状态生成篮球、张嘴的时候把篮球发射出去;也可以如图3c、7a所示,检测到玩家的嘴101张开达到启动阈值时,基于嘴的位置渲染篮球211(受控对象),当然也不一定是将篮球211渲染在嘴的位置,可以根据游戏具体设置,本申请对此不作限定。

如图7a所示,一方可以控制篮框311移动,例如,第二客户端200的用户用手999点击选中篮框311、手999向左(或右)滑动作出拖拽篮框311的动作,第二客户端200将该动作解析成控制信号并发送给第一客户端100,第一客户端100的驱动模型根据参数计算关联对象的位置,再将关联对象渲染在该位置。

游戏规则通常是尽可能多的投篮球211进篮框311。真实世界中,人在投篮时会调整投篮的角度、力度等,为了增加ar场景的真实性,本申请一实施例在进行肢体特征识别时,能够识别出手势动作,识别出眼睛的位置和张开程度,还能够识别人脸朝向及嘴的闭合速度等,例如,从目标对象110的人脸中识别出68个2d特征点,通过将这些2d特征点与标准人脸的3d特征点对应,可以求解出目标对象110的3d姿态(包括人脸位置和朝向);根据嘴唇区域特征点移动的距离及耗费的时间可以计算出嘴张合的速度,基于人脸朝向设置篮球211运动的方向、及基于嘴的闭合速度设置篮球211运动的速度,基于运动的方向及速度计算篮球211的位置。若为投篮的情况,由于需要调整方向和力度等多种因素才能投中篮球,得命中率可能较低,为了提高投篮命中率以增加玩家的动力,可以将游戏设置不同的关卡。由于是第一客户端100处理后返回篮框311被拖动后的视频画面,因此,第二客户端200的用户会感觉到拖拽篮框311存在一定的延时,但对投篮者而言,如果篮框311持续移动的话,命中率将非常低。因此,可以限制在两次投篮之间篮框311只能移动一次等;还可以设置玩家闭嘴的力度不论多大,只要人脸朝向是对准了篮框就能命中。

如图7a所示,玩家闭嘴后,球从初始位置开始向外飞出,由于真实世界中是存在重力作用的,所以物体抛出后是作抛物运动,因此,在计算篮球211的位置时还可以结合重力加速度,例如,基于人脸朝向及嘴的闭合速度设置篮球211运动的初始速度(矢量),结合运动的起点、及重力加速度即可计算篮球211的位置。当然,还可以设置目标对象110与屏幕的距离,从而,在篮球211飞行的过程中,判断篮球211是否撞击到屏幕,如撞击到屏幕时可以增加如图7a所示的屏幕被击碎的特效等,以增加ar场景的真实效果。

如图7b所示,篮球211为受控对象,篮框311为受控对象的关联对象,篮球211和篮框311可以渲染在同一图层中,也可以渲染在不同图层中,本申请对此不作限定。获取篮球211和篮框311的位置,以判断篮球211是否投入篮框311中。例如,如图7c所示,篮球211落入篮框311中;如图7a所示,篮球211未落入篮框311中。

游戏通常会有记录时间、得分、资源(例如道具等)等的进度条,如图7c所示,进度条109记录了本场游戏的剩余时间(例如剩余10s)、最高分、本场得分等信息,随着游戏的进行不断调整进度条109的状态,例如篮球211落入篮框311时增加相应的分值等。

为了提高ar场景的真实性及趣味性,如图7c所示,可以为篮球211入框增加一定的特效,例如,投入篮框311时的速度大于阈值时增加篮球211带火的特效,或者空心入篮框311时增加篮球211带火的特效等。本申请一实施例中,将篮框311的包络框缩小一半放置在篮框311中心,如果篮球211的中心点落在缩小后的包络框中时,即认为命中。当然,游戏过程中还可能出现篮框311大小变化的情况,用于判断篮球211是否命中的篮框311的包络框会相应进行修改。还可以设置命中的得分规则,例如,空心入篮框311时2分,其它命中情况1分等。

在ar场景中还可以渲染篮板等对象,玩家投出篮球211后,可能命中也可以没命中,没命中时,例如,可能是力度太小,篮球211在目标对象110与篮框311之间落下并消失;当然,也可能撞击到篮板或篮框311后反弹消失;在位置偏离较大时还可以撞击到屏幕,则可以增加屏幕被击碎的特效等,以增加ar场景的真实效果。

在玩家投篮命中时,还可以显示得分、连击数、命中显示“good”、空心显示“prefect”等特效,或者增加虚拟啦啦队等特效,游戏中可以根据需要添加各种特效,特效可以是flash特效、贴图特效,也可以是其它形式的特效,特效持续的时间也可以根据游戏场景具体设定,本申请对此不作限定。

通过上述方式,可以增强游戏的可玩性及真实感,提高主播和观众在游戏互动中的乐趣。

如图8所示的投飞镖的游戏与投篮的游戏类似,可以是在玩家的嘴101张开达到启动阈值时,基于嘴的位置渲染飞镖221(受控对象),玩家闭嘴后控制飞镖飞向镖盘321,细化过程可以参考上述投篮球游戏的情况,此处不予赘述。

视频画面归根结底是一帧一帧的图像,在渲染ar场景时,可以计算出ar场景的对象(包括受控对象、关联对象)在每一帧中应该出现的位置,由于受控对象的位置还受肢体动作的影响,因此,通常是在一帧的位置计算结束时,根据当前肢体动作等参数计算受控对象在下一帧中的位置,即基于视频画面前一帧的肢体动作计算受控对象在下一帧的位置。当然,还可以对摄像头捕获的图像帧进行美颜等处理,美颜方式等可以与现有技术相同,本申请对此不予赘述。

本申请还公开了一种直播方法,用于直播系统,所述直播系统包括第一客户端、服务器和第二客户端;如图9所示,所述方法包括以下步骤:

步骤s901:第一客户端通过摄像头捕获图像帧,对所述图像帧中的目标对象进行肢体特征识别,识别出肢体动作,在所述图像帧中渲染ar场景下的受控对象形成第一视频画面;

步骤s902:第一客户端将第一视频画面通过服务器发给第二客户端、观众客户端,第二客户端将受控对象的控制信号通过服务器发给第一客户端;其中,第一客户端与第二客户端通过连麦建立连接;

步骤s903:第一客户端基于控制信号、肢体动作计算并更新第一视频画面中所述受控对象的位置,并将更新后的第一视频画面发给服务器;

步骤s904:服务器将更新后的第一视频画面发给第二客户端及观众客户端。

本申请还公开了一种直播方法,用于直播系统,所述直播系统包括第一客户端、服务器和第二客户端;如图10所示,所述方法包括以下步骤:

步骤s101:第一客户端通过摄像头捕获图像帧,对所述图像帧中的目标对象进行肢体特征识别,识别出肢体动作,在该图像帧中渲染ar场景下的关联对象形成第一视频画面;

步骤s102:第一客户端将第一视频画面通过服务器发给第二客户端、观众客户端,第二客户端将关联对象的控制信号通过服务器发给第一客户端;其中,第一客户端与第二客户端通过连麦建立连接;

步骤s103:第一客户端基于肢体动作计算ar场景下受控对象的位置、基于控制信号计算关联对象的位置,更新第一视频画面中ar场景下受控对象及关联对象的位置,并将更新后的第一视频画面发给服务器;

步骤s104:服务器将更新后的第一视频画面发给第二客户端及观众客户端。

与前述直播方法的实施例相对应,本申请还提供了直播装置的实施例。

本申请直播装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图12所示,为本申请直播装置所在电子设备的一种硬件结构图,除了图12所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该直播装置的实际功能,还可以包括其他硬件,例如摄像头,对此不再赘述。

请参考图11,本申请还公开了一种直播装置,包括:

识别模块,用于对第一客户端通过摄像头捕获的图像帧中的目标对象进行肢体特征识别,识别出肢体动作;

渲染模块,用于在图像帧中渲染ar场景下的受控对象形成第一视频画面,将第一视频画面发给第二客户端;其中,第一客户端与第二客户端通过连麦建立连接;以及

基于第二客户端发送的控制信号、肢体动作计算并更新第一视频画面中所述受控对象的位置;

发送模块,用于将更新受控对象位置后的第一视频画面发给第二客户端及观众客户端。

本申请还公开了一种直播装置,包括:

识别模块,用于对第一客户端通过摄像头捕获的图像帧中的目标对象进行肢体特征识别,识别出肢体动作;

渲染模块,用于在图像帧中渲染ar场景下的关联对象形成第一视频画面,将第一视频画面发给第二客户端,基于第二客户端发送的控制信号调整关联对象的位置;其中,第一客户端与第二客户端通过连麦建立连接;以及

基于嘴的位置渲染ar场景下的受控对象,结合肢体动作、及关联对象的位置计算并更新ar场景下受控对象的位置;

发送模块,用于将更新受控对象位置后的第一视频画面发给第二客户端及观众客户端。

如图12所示,本申请还公开了一种电子设备,包括:

存储处理器可执行指令的存储器;其中,所述处理器耦合于所述存储器,用于读取所述存储器存储的程序指令,并作为响应,执行如下操作:

将第一客户端与第二客户端建立游戏互动连麦,对第一客户端通过摄像头捕获的图像帧中的目标对象进行肢体特征识别,识别出肢体动作;

在图像帧中渲染ar场景下的受控对象形成第一视频画面,将第一视频画面发给第二客户端;

基于第二客户端发送的控制信号、肢体动作计算并更新所述受控对象的位置;

将更新受控对象位置后的第一视频画面发给第二客户端及观众客户端。

本申请还公开了一种电子设备,包括:

存储处理器可执行指令的存储器;其中,所述处理器耦合于所述存储器,用于读取所述存储器存储的程序指令,并作为响应,执行如下操作:

将第一客户端与第二客户端建立游戏互动连麦,对第一客户端通过摄像头捕获的图像帧中的目标对象进行肢体特征识别,识别出肢体动作;

在图像帧中渲染ar场景下的关联对象形成第一视频画面,将第一视频画面发给第二客户端,基于第二客户端发送的控制信号调整关联对象的位置;

基于嘴的位置渲染ar场景下的受控对象,结合肢体动作、及关联对象的位置计算并更新ar场景下受控对象的位置;

将更新受控对象位置后的第一视频画面发给第二客户端及观众客户端。

本申请还公开了一种直播系统,包括:

第一客户端、第二客户端、服务器;

所述服务器,用于将所述第一客户端与所述第二客户端建立连麦连接;

所述第一客户端,用于通过摄像头捕获图像帧,对所述图像帧中的目标对象进行肢体特征识别,识别出肢体动作,在所述图像帧中渲染ar场景下的受控对象形成第一视频画面,将第一视频画面发给服务器;

所述服务器,还用于将第一视频画面发给第二客户端、观众客户端;

所述第二客户端,用于采集对受控对象的控制信号,并发给服务器;

所述服务器,还用于将控制信号发给第一客户端;

所述第一客户端,还用于基于控制信号、肢体动作计算并更新第一视频画面中所述受控对象的位置,并将更新后的第一视频画面发给服务器;

所述服务器,还用于将更新后的第一视频画面发给第二客户端、观众客户端。

本申请还公开了一种直播系统,包括:

第一客户端、第二客户端、服务器;

所述服务器,用于将所述第一客户端与所述第二客户端建立连麦连接;

所述第一客户端,用于通过摄像头捕获图像帧,对所述图像帧中的目标对象进行肢体特征识别,识别出肢体动作,在该图像帧中渲染ar场景下的关联对象形成第一视频画面,将第一视频画面发给服务器;

服务器,还用于将第一视频画面发给第二客户端、观众客户端;

所述第二客户端,用于采集对关联对象的控制信号,并发给服务器;

所述服务器,还用于将控制信号发给第一客户端;

所述第一客户端,还用于基于肢体动作计算ar场景下受控对象的位置、基于控制信号计算关联对象的位置,更新第一视频画面中ar场景下受控对象及关联对象的位置,并将更新后的第一视频画面发给服务器;

所述服务器,还用于将更新后的第一视频画面发给第二客户端及观众客户端。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1