具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
请参考图1,其示出了本申请一个实施例提供的应用程序运行环境的示意图。该应用程序运行环境可以包括:可穿戴设备10、摄像设备20、终端30和服务器40。
可穿戴设备10是指直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。可选地,可穿戴设备10可以是运动捕捉设备、智能手环、智能手表以及头戴式显示设备等便携式电子设备。用户可以佩戴可穿戴设备10以使可穿戴设备10获取数据。可选地,可穿戴设备10与终端30之间通过近距离通信技术传输数据。
摄像设备20是指把光学图像信号转变为电信号,以便于存储或者传输的电子设备。摄像设备20可以是诸如单目相机、双目相机、结构光相机等类型的摄像机设备。在一个示例中,摄像设备20是设置在终端30中的拍摄装置。在另一个示例中,摄像设备20是独立于终端30设置的一台设备,例如摄像设备20与终端30之间可以采取有线连接的方式传输数据,也可以通过无线连接的方式传输数据。
终端30可以是诸如智能电视、三维视觉显示设备、大型投影系统、头戴式立体显示器、多媒体播放设备、手机、平板电脑、游戏主机、PC(Personal Computer,个人计算机)等电子设备。终端30中可以安装目标应用程序的客户端。
在本申请实施例中,上述目标应用程序可以是任何能够提供视频播放功能的应用程序。例如,视频播放类应用程序、互动娱乐类应用程序、游戏类应用程序、虚拟现实类应用程序、增强现实类应用程序、社交类应用程序、三维地图程序等应用程序。
在一种可能的实施方式中,上述目标应用程序是基于虚拟现实的体感游戏应用程序,其中向用户显示的场景是是基于真实场景建模得到的三维仿真场景,其所提供的三维人物模型是基于用户真实样貌形态建模得到的三维仿真人物模型,用户通过肢体动作即可操作三维仿真人物模型在三维仿真场景中进行对战。可选地,上述基于虚拟现实的体感游戏是基于虚拟现实的体感运动对战游戏。
服务器40用于为终端30中的目标应用程序的客户端提供后台服务。例如,服务器40可以是上述目标应用程序的后台服务器。服务器40可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。可选地,服务器40同时为多个终端30中的应用程序提供后台服务。
可选地,终端30和服务器40之间可通过网络50进行互相通信。
请参考图2,其示出了本申请一个实施例提供的视频显示方法的流程图。该方法可应用于终端中,如各步骤的执行主体可以是图1所示的应用程序运行环境中的终端30,也可以是安装于终端30中目标应用程序的客户端。该方法可以包括以下几个步骤(201~204):
步骤201,获取用户的图像数据和运动数据。
上述图像数据是对用户进行拍摄得到的视频数据。可选地,上述图像数据是对用户进行实时拍摄得到的视频数据,所谓实时拍摄是指在用户动作发生过程中的实际时刻所进行的拍摄,可使得拍摄得到的视频与用户当前的行为动作保持同步。上述图像数据用于生成包含用户的图像。可选地,基于上述图像数据生成的图像中包括用户所在场所以及用户本身的有关信息,是对用户以及用户所在场所的客观反映。可选地,上述用户的图像数据生成的图像内容中包括用户的体型、外貌、五官、衣着样式等内容。可选地,基于上述图像数据生成的图像中可以包含用户的整个身体,也可以包含用户的部分身体。例如,通过摄像设备对用户进行全身拍摄得到包含有用户完整身体的图像数据。
运动数据是对用户的运动情况进行采集得到的数据。可选地,通过可穿戴设备采集上述运动数据,可穿戴设备中包括运动传感器,用于感知用户的重心位置与移动位置等与运动情况相关的参数。上述可穿戴设备是指直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。可选地,可穿戴设备包括运动捕捉设备、智能手环、智能手表以及头戴式显示设备等便携式设备。可选地,可穿戴设备中包括惯性传感器、重力传感器、加速度计、磁感应计、微陀螺仪等感知用户动作的传感器装置。可选地,上述运动数据是用户身体上关键部位的运动数据,用于反映上述关键部位在空间的运动轨迹。可选地,上述关键部位包括人体上的主要关节,例如,腕关节、肘关节、肩关节、踝关节、膝关节、髋关节等。可选地,上述关键部位包括头部位置、胸部位置、背部位置、腹部位置等。可选地,运动数据包括上述关键部位的位置数据、位移数据、旋转数据、加速度数据等与运动情况相关的参数。上述位置数据用于反映上述关键部位在空间中的位置。上述位移数据可以用于表示关键部位随着时间进行移动的距离。上述旋转数据可以用于表示关键部位随着时间进行旋转的角度。上述加速度数据可以用于表示关键部位运动速度变化的快慢情况。
步骤202,向服务器发送用户的图像数据和运动数据。
可选地,按照摄像头采集的视频的帧速率(也称帧率)向服务器发送用户的图像数据和运动数据。上述帧率是指每秒钟刷新的图片的帧数,也可以理解为图形处理器每秒钟能够刷新几次。对于视频而言,帧速率指每秒所显示的静止帧格数。要生成平滑连贯的动画效果,帧速率一般不小于8fps;而电影的帧速率为24fps。捕捉动态视频内容时,此数字愈高愈好。可选地,向服务器实时发送用户的图像数据和运动数据。可选地,向服务器一同发送用户的图像数据和运动数据,其中,某一时刻的用户的图像数据和运动数据存在对应关系。可选地,上述对应关系是用户的图像数据和运动数据所对应的时刻相同。
步骤203,接收来自于服务器的合成视频流。
合成视频流是基于目标场景和用户的三维人物模型经过合成处理后生成的视频流。上述合成视频流是连续的合成画面形成的图像帧序列。上述合成画面是基于目标场景和用户的三维人物模型经过合成处理后生成的图像帧。图像帧是组成视频的最小单位。可选地,上述合成画面包括上述目标场景以及其他三维人物仿真模型。可选地,其他三维仿真人物模型是其他用户对应的三维仿真人物模型。可选地,上述合成画面是在用户对应的三维仿真人物模型的视角下对上述目标场景以及其他三维人物模型进行观察所形成的观察画面。
目标场景是基于真实场景生成的三维仿真场景。可选地,对真实场景进行三维建模处理,生成真实场景对应的三维仿真场景模型。例如,通过三维全景技术(3D panoramictechnique)对某一场所进行实地拍摄,得到该场所的三维仿真场景。上述三维全景技术是虚拟现实技术的一个分支,三维全景技术通过利用实景照片建立虚拟环境,按照照片拍摄→数字化→图像拼接→生成场景的模式来完成虚拟现实场景的创建。上述目标场景有照片级的真实感,是真实场景的三维展现。在实际应用过程中,可根据实际情况选用不同类型的三维建模技术构造上述目标场景,以使得上述目标场景带给人强烈的真实感,达到用户仿佛身临其境的效果,本申请实施例对选用的三维建模技术类型不作限定。
在一个示例中,请参考图3,其示例性示出了一种目标场景的示意图。图中目标场景30是基于真实球场构建的三维仿真场景,目标场景30反映的是真实的羽毛球场,其中包括球场32,在球场中间位置放置有球网31。
上述用户的三维人物模型是基于用户的图像数据和运动数据生成的三维仿真人物模型。可选地,通过人体三维建模技术建立用户的三维仿真人物模型。可选地,基于用户的图像数据得到上述三维仿真人物模型的外观。可选地,基于用户的运动数据确定上述三维仿真人物模型的姿态。上述三维仿真人物模型客观反映用户的真实外观。在实际应用过程中,可根据实际情况选用不同类型的人体三维建模技术构造上述用户的三维仿真人物模型,以使得三维仿真人物模型更加逼真、生动,本申请实施例对选用的人体三维建模技术类型不作限定。
步骤204,显示合成视频流。
基于接收到的连续的合成画面形成的图像帧序列,按照时间顺序在显示界面显示各个图像帧,使得用户能够查看到连续的图像帧所展示的动态画面内容。
可选地,通过可穿戴设备(如头戴式立体显示器)显示合成视频流,也可通过电视机等视频播放设备显示上述合成视频流。
可选地,通过3D显示技术显示上述合成视频流。可选地,3D显示技术包括眼镜式3D显示技术和裸眼式3D显示技术。其中,若采用裸眼式3D显示技术,用户无需配戴3D眼镜即可观看三维画面,适用于在可穿戴设备中显示三维画面;若眼镜式3D显示技术,用户可以佩戴3D眼镜观看三维画面,适用于在电视机上显示三维画面。可选地,电视机上也可采用裸眼式3D显示技术。
综上所述,本申请实施例提供的技术方案,通过采用虚拟现实技术,基于用户的图像数据与运动数据生成三维仿真人物模型,基于真实场景构造三维仿真场景,并向用户显示对三维仿真场景与三维仿真人物模型合成后的画面,提升了视频显示的真实性,增强用户体验。
在示例性实施例中,在上述步骤203之前,还包括如下步骤(205~207):
步骤205,显示场景选择界面。
上述场景选择界面是用于向用户展示候选场景以供用户选择的界面。可选地,场景选择界面中包括至少一个候选场景。上述候选场景是指上述等待用户选择的场景。可选地,场景选择界面中显示候选场景的缩略图展示控件。可选地,上述候选场景的缩略图展示控件以候选场景的缩略图作为图标,以便用户知晓候选场景的信息。
步骤206,接收针对至少一个候选场景中的目标场景的选择指令。
上述目标场景是用户从候选场景中选择的某一个场景。上述针对至少一个候选场景中的目标场景的选择指令是指用户选择目标场景后生成的计算机指令。可选地,针对至少一个候选场景中的目标场景的选择指令是用户操作上述候选场景的缩略图展示控件后生成的指令。可选地,用户操作包括点击操作。可选地,用户操作包括虚拟现实场景下的手势操作或者手指操作。可选地,用户操作包括控制鼠标操作。本申请实施例对用户操作方法不做限定。
步骤207,向服务器发送场景选择信息。
上述场景选择信息用于指示选择目标场景。可选地,场景选择信息包括目标场景的标识数据。
在示例性实施例中,在上述步骤203之前,还包括如下步骤:
步骤208,显示模式选择界面。
上述模式选择界面是用于向用户显示模式选项以供用户选择的界面。可选地,模式选择界面中包括至少一个候选运动模式。上述候选运动模式是指等待用户选择的运动模式。可选地,模式选择界面中显示候选运动模式选项控件。
可选地,上述至少一个候选运动模式包括以下至少一项:多人对战模式、双人对战模式、单人对战模式。上述多人对战模式是指多个用户在线或者在局域网中进行对战竞技,例如,多个用户被分为两队在游戏中对战竞技,或者多个用户组成一队在游戏中完成指定游戏任务。上述双人对战模式是指两个用户在线进行对战竞技。上述单人对战模式是指单个用户进行人机对战游戏,例如,在单人训练模式下,用户可以自己进行游戏操作训练,提升游戏技能。
步骤209,接收针对至少一个候选运动模式中的目标运动模式的选择指令。
上述针对至少一个候选运动模式中的目标运动模式的选择指令是指用户选择目标运动模式后生成的计算机指令。可选地,针对至少一个候选运动模式中的目标运动模式的选择指令是用户点击上述候选运动模式选项控件后生成的指令。
步骤210,向服务器发送模式选择信息。
上述模式选择信息用于指示选择目标运动模式。可选地,模式选择信息包括目标运动模式的标识数据。
上述目标运动模式用于定义目标场景中包含的人物模型数量和位置。例如,双人对战模式预先设定目标场景中包含两个用户对应的人物模型,并为两个用户对应的人物模型分别设置了活动区域。
在示例性实施例中,上述视频显示方法还包括:
步骤211,显示分享选择界面。
上述分享选择界面是用于向用户展示分享模式选项的界面。可选地,分享选择界面中包括至少一个候选分享模式。上述候选分享模式是指等待用户选择的分享模式。上述分享模式是指向观众用户分享游戏视频的模式。
可选地,上述至少一个候选分享模式包括以下至少一项:私密分享模式、直播分享模式。若目标分享模式是私密分享模式,则观众用户是用户指定的分享对象;若目标分享模式是直播分享模式,观众用户是任意用户。上述私密分享模式是指向特定观众用户分享游戏视频的模式,例如,用户指定的分享对象是上述用户的游戏好友、社交好友。可选地,分享内容可以是用户当前正在进行的游戏视频,也是用户历史游戏视频。上述直播分享模式是指向不特定用户分享游戏视频的模式,例如,观众可以是任意用户。
步骤212,接收针对至少一个候选分享模式中的目标分享模式的设置指令。
上述针对至少一个候选分享模式中的目标分享模式的设置指令是指根据用户对目标分享模式进行设置后生成的计算机指令。可选地,针对至少一个候选分享模式中的目标分享模式的设置指令是用户选择指定的分享对象后生成的指令。可选地,针对至少一个候选分享模式中的目标分享模式的设置指令是用户选择直播分享模式对应选项后生成的指令。
步骤213,向服务器发送分享请求。
上述分享请求用于请求将观众用户对应的合成视频流分享给观众用户,观众用户是根据目标分享模式确定的用户。可选地,上述请求中携带有观众用户的标识数据。
综上所述,本申请实施例提供的技术方案,通过采用虚拟现实技术,基于多个用户的图像数据与运动数据生成多个三维仿真人物模型,基于真实场景构造三维仿真场景,并可同时向多个用户显示对三维仿真场景与以及三维仿真人物模型合成后的画面,在提升虚拟环境的真实性、增强用户体验的同时,加强用户间的联络,增加互动性和趣味性。
另外,还可以向观众用户发送对战画面,进一步加强用户间的联络与交互,增强产品功能。
请参考图4,其示出了本申请一个实施例提供的视频生成方法的流程图。该方法可应用于服务器中,如各步骤的执行主体可以是图1所示的应用程序运行环境中的服务器40。该方法可以包括以下几个步骤(401~405):
步骤401,获取至少一个用户的图像数据和运动数据。
上述图像数据是对用户进行拍摄得到的视频数据。可选地,上述图像数据是对用户进行实时拍摄得到的视频数据。上述运动数据是对用户的运动情况进行采集得到的数据。有关图像数据和运动数据的介绍说明可参见上文实施例,此处不再赘述。
可选地,在单人对战模式下,获取一个用户的图像数据和运动数据。
可选地,在双人对战模式或者多人对战模式下,获取两个或者两个以上的用户的图像数据和运动数据,其中,根据参与对战的用户的数量确定获取多少个用户的图像数据,以及确定需要获取用户的图像数据和运动数据对应的用户帐号。
步骤402,基于用户的图像数据和运动数据,生成用户的三维人物模型。
用户的三维人物模型是三维仿真人物模型。所谓三维仿真人物模型,是与用户的真实外貌高度相似的三维仿真人物模型。
步骤403,对目标场景和至少一个用户的三维人物模型进行合成处理,生成合成场景。
上述合成处理是指将所述目标场景以及至少一个用户的三维人物模型合成为统一整体,得到合成场景。其中,目标场景是基于真实场景生成的三维仿真场景。例如,将至少一个用户的三维人物模型放置于所述目标场景中去生成合成场景。上述合成场景是以基于真实场景生成的三维仿真场景作为空间环境,容纳上述至少一个用户的三维人物模型的场景。
在一个示例中,请参考图5,其示例性示出了一种合成场景的示意图。图中的合成场景50是第一用户的三维人物模型51和第二用户的三维人物模型52在羽毛球仿真场地中进行对战的场景。其中,羽毛球仿真场景包括球场32以及在球场32中间位置放置的球网31。
步骤404,基于合成场景生成合成视频流。
上述合成视频流是对合成场景的客观展现,包括合成场景中的目标场景信息、在目标场景中的人物模型的信息以及目标场景中物体信息。
步骤405,向客户端发送合成视频流。
通过网络向上述各个用户的客户端分别发送合成视频流。
综上所述,本申请实施例提供的技术方案是基于用户的图像数据与运动数据生成三维仿真人物模型,基于真实场景构造三维仿真场景,再将三维仿真人物模型放置在三维仿真场景中以得到合成场景,提升生成视频的真实性,增强用户体验。
另外,上述合成场景还可以适用多个用户的三维仿真人物模型在同一三维仿真场景中互动的情况,在提升生成视频的真实性、增强用户体验的同时,加强了用户之间的联络与交互,带来良好的用户体验,进一步提升生成视频的真实性。
在示例性实施例中,上述步骤402可由如下步骤替换实现:
步骤402a,获取标准化三维人物模型。
标准化三维人物模型是反映人体基本结构的模型,包括躯干、四肢等人体结构。可选地,标准化三维人物模型没有外观表现,是对人体的一般描述。
步骤402b,从用户的图像数据中提取用户在各个时间戳的人物图像。
上述时间戳用于记录图像数据的对应的时刻信息。例如,记录图像帧对应的在视频中的时刻信息,或者在图像帧中序列中的位置。
上述人物图像是指上述图像数据生成的图像中包含的人物部分的图像。
可选地,通过抠像技术提取从用户的图像数据中提取用户在各个时间戳的人物图像。上述抠像技术是指从包含人物的图像中的提出只包含人物部分图像的图像处理技术。
步骤402c,基于用户的运动数据,确定标准化三维人物模型在各个时间戳的姿态。
基于用户的运动数据中人体关键部位的位置数据、位移数据、旋转数据、加速度数据等参数,确定标准化三维人物模型中关键部位在各个时间戳的位置以及标准化三维人物模型的动作形态。
另外,通过用户的运动数据中人体关键部位的位置数据、位移数据、旋转数据、加速度数据等参数,还可确定用户在合成场景中控制的物体的运动。例如,确定物体的形状变化、方向变化、运动距离变化等信息。物体的运动轨迹可根据物体运动方向、运动距离以及用户的运动数据等参数确定。
步骤402d,基于用户在各个时间戳的人物图像,对相应时间戳的标准化三维人物模型进行蒙皮处理,生成用户在各个时间戳的三维人物模型。
上述蒙皮处理是指按照特定的方式将上述人物图像映射到标准化三维模型的表面上,生成三维人物模型,能够使三维人物模型外观与用户外观保持一致,使得三维人物模型看上去更真实。可选地,通过纹理映射网格赋予图像数据的技术,对人物图像加工后,基于加工后的人物图像对各个网格上作纹理映射处理,得到三维人物模型外表的图像,最终形成三维模型。可选地,将上述任务图像映射到标准化三维人体模型在可视角度对应的可视面上,得到三维人物模型外表的图像,最终形成三维模型。上述可视面是摄像设备按照一定角度对用户进行拍摄的得到用户身体可视部分的图像,例如,摄像设备从正面拍摄用户,用户的可视面是用户身体的正面,相应的,将获得的人物图像映射到标准化三维人体模型的正面。上述可视角度是可视面的对应概念,拍摄得到的可视面的角度是与可视面对应的可视角度。
在示例性实施例中,上述步骤402b之后,还包括如下步骤:
步骤402e,对用户在各个时间戳的人物图像进行遮罩处理,得到用户在各个时间戳的处理后的人物图像。
处理后的人物图像用于对相应时间戳的标准化三维人物模型进行蒙皮处理,遮罩处理是指通过遮罩处理层显示人物图像。上述遮罩处理是指对上述人物图像添加遮罩处理层,调整上述人物图像中像素的透明度,将遮罩处理后的人物图像映射到标准化三维人物模型表面上,可提升生成的三维人物模型在合成场景中的显示效果,有效减轻合成痕迹,为用户带来良好的用户体验。
在示例性实施例中,上述步骤403可由如下步骤替换实现:
步骤403a,确定目标运动模式。
目标运动模式用于定义目标场景中包含的人物模型数量和位置,目标运动模式是多人对战模式、双人对战模式、单人对战模式中的任意一种。
步骤403b,根据目标运动模式,确定各个用户的三维人物模型在目标场景中分别对应的活动区域。
上述活动区域是用户帐号的三维人物模型在三维仿真场景中的最大活动区域范围。
基于目标运动模式,获取各个用户帐号在三维仿真场景中分别对应的活动区域的区间信息,上述区间信息包括三维人物模型位置数据的取值范围。
步骤403c,基于各个用户的运动数据,确定用户的三维人物模型在对应活动区域中的位置信息。
可选地,上述位置信息是三维人物模型在目标场景中的位置坐标。
基于各个用户的运动数据中的位置数据、位移数据,确定用户的三维人物模型在对应活动区域中的位置。可选地,上述位置数据还包括用户的重心位置数据。可选地,根据用户的重心位置坐标确定用户的三维人物模型在对应活动区域中的位置坐标。
其中,若是首次确定用户的三维人物模型在对应的活动区域中的位置信息,则获取用户的三维人物模型在对应的活动区域中的初始位置信息。可选地,上述初始位置信息是预先设定完成的。
步骤403d,根据各个用户的位置信息,将用户的三维人物模型放置于目标场景中,生成合成场景。
根据各个用户的三维人物模型在目标场景中的位置坐标,将将用户的三维人物模型放置于目标场景中,生成合成场景。
在示例性实施例中,上述步骤404可由如下步骤替换实现:
步骤404a,对于至少一个用户中的目标用户,确定目标用户对应的视角参数。
基于目标用户的三维人物模型在合成场景中位置和姿态,确定目标用户的三维人物模型的视角参数。可选地,视角参数中包括位置参数以及方向参数。可选地,视角参数是目标用户的三维人物模型的第一人称视角参数。
步骤404b,根据目标用户对应的视角参数,确定目标用户在各个时间戳对应的合成画面。
合成画面是以目标用户对应的视角参数所指示的观察视角下观察合成场景得到的观察画面。
根据目标用户对应的视角参数中的位置参数和方向参数在合成场景中设置虚拟摄像机,通过与目标用户对应的虚拟摄像机对合成场景进行拍摄,得到合成画面。可选地,虚拟摄像机的位置参数和方向参数与视角参数中的位置参数和方向参数相同。可选地,合成画面是合成场景投影到虚拟摄像机的成像平面的图像画面。
步骤404c,基于目标用户在各个时间戳对应的合成画面,生成用于提供给目标用户对应客户端的合成视频流。
根据合成画面的时间戳的时间顺序,对目标用户在各个时间戳对应的合成画面对应的图像帧进行排列,生成用于提供给目标用户对应客户端的图像帧序列。
在示例性实施例中,上述视频生成方法还包括如下步骤:
步骤406,接收分享请求。
上述分享请求用于请求将观众用户对应的合成视频流分享给观众用户。可选地,上述分享请求携带观众用户的标识数据。
步骤407,确定观众用户对应的视角参数。
可选地,上述观众用户对应的视角参数是第三人称视角参数。上述第三人称视角是指观察者视角(或者旁观者视角),观众用户在观察者视角下可以全面观察上述合成场景。例如,观众在观众坐席上观看体育赛事,即观众的观察者视角观看体育赛事。可选地,观众用户可以控制第三人称视角,即调整观察者视角的位置的方向,在不同角度观察上述合成场景。
可选地,上述观众用户对应的视角参数是第一人称视角参数。
可选地,上述观众用户对应的视角参数是参与对局的任一用户的第一人称视角参数。
步骤408,根据观众用户对应的视角参数,确定观众用户在各个时间戳对应的合成画面。
合成画面是以观众用户对应的视角参数所指示的观察视角下观察合成场景得到的观察画面。
可选地,若观众用户对应的视角参数是第三人称视角参数,合成画面则是以第三人称视角观察合成场景所得的全局画面。
可选地,若观众用户对应的视角参数是参与对局的任一用户的第一人称视角参数,合成画面则是以任一用户的第一人称视角观察合成场景所得第一人称画面。
步骤409,基于观众用户在各个时间戳对应的合成画面,生成用于提供给观众用户对应客户端的合成视频流。
基于观众用户对应的视角参数下在各个时间戳对应的合成画面,生成用于提供给观众用户对应客户端的合成视频流。
综上所述,本申请实施例提供的技术方案通过抠像技术提取图像中的人物图像,再根据用户运动数据确定标准化三维人物模型的姿态,并利用遮罩处理后的人物图像对标准化三维人物模型进行蒙皮处理,得到高度逼真的三维人物模型,最后将三维仿真人物模型放置在三维仿真场景中的对应位置以得到合成场景,向用户发送在用户的第一人称视角下的合成场景画面,有力保证了生成视频的真实性。
另外,通过向观众用户发送观众视角下的合成场景画面,进一步加强用户之间的联络与交互。
请参考图6,其示出了本申请一个实施例提供的上述视频生成方法以及上述视频显示方法的流程图。该方法可应用图1所示的应用程序运行环境中。该方法可以包括以下几个步骤(601~618):
步骤601,摄像设备采集用户的图像数据。
可选地,通过多个摄像设备同时对用户进行拍摄,采集用户的图像数据。
可选地,在游戏开始前要求用户转身,在用户转身过程中,采用单个摄像设备对用户进行不同角度的拍摄,采集用户在多个角度下的图像数据。上述用户在多个角度下的图像数据用于提前建立用户的三维人物模型,减少计算量,提升运行速度。
可选地,通过单个摄像设备实时对用户进行拍摄,采集用户的图像数据,使得操作简单,提升游戏使用友好度。
可选地,摄像设备的类型包括单目相机、双目相机、结构光相机等类型,摄像设备的类型可根据实际情况选用合适的类型以达到良好的效果,本申请实施例对此不做限定。
步骤602,摄像设备向第一客户端发送用户的图像数据。
可选地,上述第一客户端是指参与对战的用户对应的客户端。
可选地,摄像设备与加载第一客户端的终端之间采取有线连接的方式传输数据。
可选地,摄像设备与加载第一客户端的终端之间通过无线连接的方式传输数据。
步骤603,可穿戴设备采集用户的运动数据。
步骤604,可穿戴设备向第一客户端发送用户的运动数据。
可选地,可穿戴设备与加载第一客户端的终端之间通过近距离通信技术传输数据,本申请实施例对此不作限定。
相应的,第一客户端接收来自于摄像设备的用户的图像数据以及来自于可穿戴设备的用户的运动数据。
步骤605,第一客户端向服务器发送用户的图像数据和运动数据。
相应的,服务器接收来自于第一客户端的至少一个用户的图像数据和运动数据。
步骤606,服务器基于用户的图像数据和运动数据,生成用户的三维人物模型。
步骤607,服务器对目标场景和至少一个用户的三维人物模型进行合成处理,生成合成场景。
步骤608,服务器基于合成场景生成合成视频流。
步骤609,服务器向第一客户端发送合成视频流。
相应的,第一客户端接收来自于服务器的合成视频流。
步骤610,第一客户端显示合成视频流。
步骤611,第一客户端显示分享选择界面。
步骤612,第一客户端接收针对至少一个候选分享模式中的目标分享模式的设置指令。
步骤613,第一客户端向服务器发送分享请求。
相应的,服务器接收来自于第一客户端的分享请求。
步骤614,服务器确定观众用户对应的视角参数。
步骤615,服务器根据观众用户对应的视角参数,确定观众用户在各个时间戳对应的合成画面。
步骤616,服务器基于观众用户在各个时间戳对应的合成画面,生成用于提供给观众用户对应客户端的合成视频流。
步骤617,服务器向第二客户端发送合成视频流。
相应的,第二客户端接收来自于服务器的合成视频流。
步骤618,第二客户端显示合成视频流。
综上所述,本申请实施例提供的技术方案是基于用户的图像数据与运动数据生成三维仿真人物模型,基于真实场景构造三维仿真场景,再将三维仿真人物模型放置在三维仿真场景中以得到合成场景,提升生成视频的真实性,增强用户体验。
另外,上述合成场景还可以适用多个用户的三维仿真人物模型在同一三维仿真场景中互动的情况,在提升生成视频的真实性、增强用户体验的同时,加强了用户之间的联络与交互,带来良好的用户体验,进一步提升生成视频的真实性。
下述为本申请装置实施例,可用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图7,其示出了本申请一个实施例提供的视频显示装置的框图。该装置具有实现上述视频显示方法的功能。该装置700可以包括:数据获取模块710、数据发送模块720、数据接收模块730以及视频显示模块740。
数据获取模块710,用于获取用户的图像数据和运动数据,所述图像数据是对所述用户进行拍摄得到的视频数据,所述运动数据是对所述用户的运动情况进行采集得到的数据。
数据发送模块720,用于向服务器发送所述用户的图像数据和运动数据。
数据接收模块730,用于接收来自于所述服务器的合成视频流,所述合成视频流是基于目标场景和所述用户的三维人物模型经过合成处理后生成的视频流,所述目标场景是基于真实场景生成的三维仿真场景,所述用户的三维人物模型是基于所述用户的图像数据和运动数据生成的三维仿真人物模型。
视频显示模块740,用于显示所述合成视频流。
在示例性实施例中,请参考图8,所述装置还包括:界面显示模块750、指令接收模块760以及信息发送模块770。
界面显示模块750,用于显示场景选择界面,所述场景选择界面中包括至少一个候选场景。
指令接收模块760,用于接收针对所述至少一个候选场景中的目标场景的选择指令。
信息发送模块770,用于向所述服务器发送场景选择信息,所述场景选择信息用于指示选择所述目标场景。
在示例性实施例中,请参考图8,所述界面显示模块750,还用于显示模式选择界面,所述模式选择界面中包括至少一个候选运动模式,所述至少一个候选运动模式包括以下至少一项:多人对战模式、双人对战模式、单人对战模式。
所述指令接收模块760,还用于接收针对所述至少一个候选运动模式中的目标运动模式的选择指令。
所述信息发送模块770,还用于向所述服务器发送模式选择信息,所述模式选择信息用于指示选择所述目标运动模式,所述目标运动模式用于定义所述目标场景中包含的人物模型数量和位置。
在示例性实施例中,请参考图8,所述界面显示模块750,还用于显示分享选择界面,所述分享选择界面中包括至少一个候选分享模式,所述至少一个候选分享模式包括以下至少一项:私密分享模式、直播分享模式。
所述指令接收模块760,还用于接收针对所述至少一个候选分享模式中的目标分享模式的设置指令。
所述信息发送模块770,还用于向所述服务器发送分享请求,所述分享请求用于请求将观众用户对应的合成视频流分享给所述观众用户,所述观众用户是根据所述目标分享模式确定的用户。
其中,若所述目标分享模式是所述私密分享模式,则所述观众用户是所述用户指定的分享对象;若所述目标分享模式是所述直播分享模式,所述观众用户是任意用户。
综上所述,本申请实施例提供的技术方案,通过采用虚拟现实技术,基于用户的图像数据与运动数据生成三维仿真人物模型,基于真实场景构造三维仿真场景,并向用户显示对三维仿真场景与三维仿真人物模型合成后的画面,提升了视频显示的真实性,增强用户体验。
请参考图9,其示出了本申请一个实施例提供的视频生成装置的框图。该装置具有实现上述视频生成方法的功能。该装置900可以包括:数据获取模块910、模型生成模块920、场景合成模块930、视频生成模块940以及视频发送模块950。
数据获取模块910,用于获取至少一个用户的图像数据和运动数据,所述图像数据是对所述用户进行拍摄得到的视频数据,所述运动数据是对所述用户的运动情况进行采集得到的数据。
模型生成模块920,用于基于所述用户的图像数据和运动数据,生成所述用户的三维人物模型,所述用户的三维人物模型是三维仿真人物模型。
场景合成模块930,用于对目标场景和所述至少一个用户的三维人物模型进行合成处理,生成合成场景;其中,所述目标场景是基于真实场景生成的三维仿真场景。
视频生成模块940,用于基于所述合成场景生成合成视频流。
视频发送模块950,用于向客户端发送所述合成视频流。
在示例性实施例中,所述模型生成模块920用于:
获取标准化三维人物模型;
从所述用户的图像数据中提取所述用户在各个时间戳的人物图像;
基于所述用户的运动数据,确定所述标准化三维人物模型在各个时间戳的姿态;
基于所述用户在各个时间戳的人物图像,对相应时间戳的所述标准化三维人物模型进行蒙皮处理,生成所述用户在各个时间戳的三维人物模型。
在示例性实施例中,所述模型生成模块920还用于:
对所述用户在各个时间戳的人物图像进行遮罩处理,得到所述用户在各个时间戳的处理后的人物图像,所述处理后的人物图像用于对相应时间戳的所述标准化三维人物模型进行蒙皮处理,所述遮罩处理是指通过遮罩处理层显示所述人物图像。
在示例性实施例中,所述场景合成模块930用于:
确定目标运动模式,所述目标运动模式用于定义所述目标场景中包含的人物模型数量和位置,所述目标运动模式是多人对战模式、双人对战模式、单人对战模式中的任意一种;
根据所述目标运动模式,确定各个所述用户的三维人物模型在所述目标场景中分别对应的活动区域;
基于各个所述用户的运动数据,确定所述用户的三维人物模型在对应活动区域中的位置信息;
根据各个所述用户的位置信息,将所述用户的三维人物模型放置于所述目标场景中,生成所述合成场景。
在示例性实施例中,所述视频生成模块940用于:
对于所述至少一个用户中的目标用户,确定所述目标用户对应的视角参数;
根据所述目标用户对应的视角参数,确定所述目标用户在各个时间戳对应的合成画面,所述合成画面是以所述目标用户对应的视角参数所指示的观察视角下观察所述合成场景得到的观察画面;
基于所述目标用户在各个时间戳对应的合成画面,生成用于提供给所述目标用户对应客户端的合成视频流。
在示例性实施例中,请参考图10,所述装置还包括:信息接收模块960、视角确定模块970以及画面确定模块980。
信息接收模块960,用于接收分享请求,所述分享请求用于请求将观众用户对应的合成视频流分享给所述观众用户。
视角确定模块970,用于确定所述观众用户对应的视角参数。
画面确定模块980,用于根据所述观众用户对应的视角参数,确定所述观众用户在各个时间戳对应的合成画面,所述合成画面是以所述观众用户对应的视角参数所指示的观察视角下观察所述合成场景得到的观察画面。
所述视频生成模块940,还用于基于所述观众用户在各个时间戳对应的合成画面,生成用于提供给所述观众用户对应客户端的合成视频流。
综上所述,本申请实施例提供的技术方案是基于用户的图像数据与运动数据生成三维仿真人物模型,基于真实场景构造三维仿真场景,再将三维仿真人物模型放置在三维仿真场景中以得到合成场景,提升生成视频的真实性,增强用户体验。
另外,上述合成场景还可以适用多个用户的三维仿真人物模型在同一三维仿真场景中互动的情况,在提升生成视频的真实性、增强用户体验的同时,加强了用户之间的联络与交互,带来良好的用户体验,进一步提升生成视频的真实性。
请参考图11,其示出了本申请一个实施例提供的终端1100的结构框图。该终端1100可以是诸如智能电视、三维视觉显示设备、大型投影系统、头戴式立体显示器、多媒体播放设备、手机、平板电脑、游戏主机、PC(Personal Computer,个人计算机)等电子设备。该终端用于实施上述实施例中提供的视频显示方法。该终端可以是图1所示应用程序运行环境中的终端30。具体来讲:
通常,终端1100包括有:处理器1101和存储器1102。
处理器1101可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1101可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(FieldProgrammable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1101也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1101可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1101还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1102可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1102还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1102中的非暂态的计算机可读存储介质用于存储至少一个指令,至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集,且经配置以由一个或者一个以上处理器执行,以实现上述视频显示方法。
在一些实施例中,终端1100还可选包括有:外围设备接口1103和至少一个外围设备。处理器1101、存储器1102和外围设备接口1103之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1103相连。具体地,外围设备包括:射频电路1104、显示屏1105、摄像头1106、音频电路1107、定位组件1108和电源1109中的至少一种。
本领域技术人员可以理解,图11中示出的结构并不构成对终端1100的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
请参考图12,其示出了本申请一个实施例提供的服务器的结构框图。该服务器可以是图1所示应用程序运行环境中的服务器40,可用于执行上述实施例中提供的视频生成方法。具体来讲:
服务器1200包括中央处理单元(Central Processing Unit,CPU)1201、包括随机存取存储器(Random Access Memory,RAM)1202和只读存储器(Read Only Memory,ROM)1203的系统存储器1204,以及连接系统存储器1204和中央处理单元1201的系统总线1205。可选地,服务器1200还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O(Input/Output)系统)1206。可选地,服务器1200还包括用于存储操作系统1213、应用程序1214和其他程序模块1215的大容量存储设备1207。
基本输入/输出系统1206包括有用于显示信息的显示器1208和用于用户输入信息的诸如鼠标、键盘之类的输入设备1209。其中显示器1208和输入设备1209都通过连接到系统总线1205的输入输出控制器1210连接到中央处理单元1201。基本输入/输出系统1206还可以包括输入输出控制器1210以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1210还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备1207通过连接到系统总线1205的大容量存储控制器(未示出)连接到中央处理单元1201。大容量存储设备1207及其相关联的计算机可读介质为服务器1200提供非易失性存储。也就是说,大容量存储设备1207可以包括诸如硬盘或者CD-ROM(Compact Disc Read-Only Memory,只读光盘)驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM(Erasable Programmable Read Only Memory,可擦除可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read Only Memory,电可擦可编程只读存储器)、闪存或其他固态存储其技术,CD-ROM、DVD(Digital Video Disc,高密度数字视频光盘)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器1204和大容量存储设备1207可以统称为存储器。
根据本申请的各种实施例,服务器1200还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1200可以通过连接在系统总线1205上的网络接口单元1211连接到网络1212,或者说,也可以使用网络接口单元1211来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括计算机程序,该计算机程序存储于存储器中,且经配置以由一个或者一个以上处理器执行,以实现上述视频生成方法。
在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集在被处理器执行时以实现上述视频显示方法。
在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集在被处理器执行时以实现上述视频生成方法。
可选地,该计算机可读存储介质可以包括:ROM(Read Only Memory,只读存储器)、RAM(Random Access Memory,随机存取记忆体)、SSD(Solid State Drives,固态硬盘)或光盘等。其中,随机存取记忆体可以包括ReRAM(Resistance Random Access Memory,电阻式随机存取记忆体)和DRAM(Dynamic Random Access Memory,动态随机存取存储器)。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述视频显示方法。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述视频生成方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本申请实施例对此不作限定。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。