一种在视频中实时合成动画的方法和装置的制造方法_3

文档序号:9924110阅读:来源:国知局
目标体不同,如利用动物卡通形象来展现人体的动作。
[0076]例如,骨骼模型模拟第二目标体的方式,可以是根据第二目标体的可活动节点,在骨骼模型中设置相应数量的骨骼节点,每个骨骼节点用来唯一表示第二目标体的一个可活动节点。这样,在可活动节点运动时,骨骼模型的骨骼节点可相应地进行运动。由于骨骼模型是由骨骼节点构成的,确定骨骼节点的动作后,便可以获得骨骼模型的骨骼动画。需要说明的是,该一帧骨骼动画是骨骼模型的一帧动画图像。
[0077]所述动作坐标和所述3D坐标系统中的坐标具有对应关系,通过一个动作坐标可以确定出该动作坐标在所述3D坐标系统中所对应的坐标值。
[0078]S104:所述服务器获取所述主摄像机实时采集的所述视频的视频数据;所述服务器通过虚拟摄像机保持与所述主摄像机同步,获取所述骨骼模型在所述虚拟区域中根据所述动作数据形成的骨骼动画。
[0079 ] 步骤S103和S104可以是同时执彳丁,也可以是S103先于S104执行。
[0080]若同时执行,可以理解为动作捕捉和所述视频的拍摄同时进行,即在所述固定区域进行现场直播的过程中,动作捕捉也在另一个区域中同时进行,利用实时获取的动作数据和动作坐标建立骨骼模型,并根据现场直播过程中的主摄像机的位置信息和视频采集参数同步所述虚拟摄像机采集到所述骨骼动画。
[0081]若S103先于S104执行,可以理解为先完成动作捕捉,并通过捕捉的参数建立骨骼模型。等到开始在所述固定区域现场直播时,再根据同步的虚拟摄像机采集所述骨骼动画。但是在采集的过程中需要主要时间轴的一致性,时间轴的相关特征属于成熟技术,这里就不再赘述。
[0082]例如,需要开始制作视频图像时,相关人员会在服务器上触发视频开始制作的操作,从而生成视频开始制作的指令。服务器接收到该指令后,开始接收主摄像机发送的视频数据,以及动作捕捉设备发送的动作数据。其中,主摄像机发送的视频数据,是其自身采集到的第一目标体的视频图像;动作捕捉设备发送的动作数据,是其自身捕捉到的第二目标体的动作数据。其中,第一目标体与第二目标体的动作可以是互动的。
[0083]S105:所述服务器将所述骨骼动画的动画数据从所述渲染引擎中提取出来,根据所述3D坐标系统在所述视频数据中实时合成所述骨骼动画的动画数据得到合成视频数据并同时实时的输出,以使得在播放所述合成视频数据时,展示的合成视频中对应所述目标区域的位置合成了所述骨骼动画。
[0084]需要注意的是,由于骨骼模型的建立和骨骼动画的采集基本上都通过所述渲染引擎完成,有效的降低了所述服务器处理器的处理压力。在进行动画合成前,所述服务器将所述渲染引擎处理得到的骨骼动画的动画数据从所述渲染引擎中提取出来,在所述服务器自身的处理器的处理下,将根据所述3D坐标系统在所述视频数据中实时合成所述骨骼动画的动画数据得到合成视频数据。具体的,在合成数据的过程中,需要考虑到所述骨骼动画和所述视频的尺寸比例等。
[0085]例如,第一目标体的视频数据是一帧视频图像,骨骼模型的一帧骨骼动画是一帧动画图像,将动画图像嵌入到视频图像中,从而生成包含骨骼动画的目标视频,具体为一帧目标视频图像。需要说明的是,本发明实施例可以是不间断多次执行的,因此,可以生成多帧目标视频图像,多帧目标视频图像则组合为目标视频。
[0086]将合成得到的合成视频数据实时输出,可以达到现场采集视频的过程中,进行直播的过程中,通过动画的实时合成,能够实时的输出合成视频数据。那么在通过电视或网络收看现场直播的所述视频时,除了可以看到在所述固定区域采集的所述视频,还可以看到在所述视频中合成的动画。提升了视觉传达能力,尤其提升了在直播中这种实时视觉传达的能力。
[0087]根据上述实施例可以看出,在确定好固定区域的3D坐标系统、所用摄像机尤其是主摄像机的位置信息和视频采集参数后,通过渲染引擎建立与所述固定区域对应的虚拟区域,所述虚拟区域中的虚拟摄像机保持与所述固定区域中的主摄像机同步,使得通过虚拟摄像机在所述虚拟区域中所采集到的区域与所述主摄像机在所述固定区域中采集到的区域能够时刻保持一致,以便能够实现实时的动画合成。在根据所述3D坐标系统确定出用于合成动画的目标区域的位置信息后,所述服务器的渲染引擎将通过动作捕捉设备采集的动作数据和动作坐标在虚拟区域中对应所述目标区域的位置建立骨骼模型,通过所述虚拟摄像机保持与所述主摄像机同步的方式获取所述骨骼模型根据所述动作数据形成的骨骼动画,所述服务器从所述渲染引擎中提取出所述骨骼动画的动画数据,根据所述3D坐标系统在所述视频数据中实时合成所述骨骼动画的动画数据得到合成视频数据,以使得在播放所述合成视频数据时,展示的合成视频中对应所述目标区域的位置合成了所述骨骼动画。通过渲染引擎自身处理器和所述服务器处理器的配合,以及虚拟摄像机与主摄像机的同步,从而实现实时的在视频中合成骨骼动画的功能,有效满足了现有的视频视觉传达需求。
[0088]实施例二
[0089]在实际应用中,动作捕捉设备可以是按照预设的采集频率来采集第二目标体的动作数据的。例如,预设的采集频率为每秒50次,即动作捕捉设备在一秒内采集50次动作数据。当然该数值仅仅是示例说明,本发明并不局限于此。另外,服务器,可以预先设置有刷新率,为了便于描述,将该刷新率称为预设刷新率。服务器按照预设刷新率生成目标视频的每帧视频图像。例如,服务器的刷新率可以是每秒40次,则服务器一秒内生成40帧的视频图像。当然该数值仅仅是示例说明,本发明并不局限于此。
[0090]存在一种情况是,服务器的刷新率与动作捕捉设备的采集频率不同,则如何根据接收到的动作数据来控制骨骼模型的骨骼节点,是需要解决的技术问题。对此,本发明提供了上述图1所对应实施例中S103及S104的具体实现方式。
[0091 ]例如,动作捕捉设备是按照预设采集频率采集第二目标体的动作数据的,因此,接收动作捕捉设备按照预设发送频率发送的多组动作数据。多组动作数据的具体数量可以是由动作捕捉设备的性能参数决定的。
[0092]相应地,确定预先绘制的骨骼模型的骨骼动作的具体实现方式包括步骤Al?步骤A2o
[0093]步骤Al:在所述服务器的预设刷新率低于所述预设发送频率的情况下,在接收到的所述多组动作数据中,提取一组目标动作数据。
[0094]其中,动作捕捉设备采集动作数据后便向服务器发送,因此,动作捕捉设备的采集频率可以认为是预设发送频率。服务器接收到该多组动作数据后,需要在多组动作数据中提取一组动作数据,为了便于描述,将提取到的该组动作数据称为目标动作数据。需要说明的是,动作数据可以用三维坐标表示的,则一组动作数据中包含多个子动作数据,子动作数据标识的是不同维度上的坐标。
[0095]需要说明的是,在多组动作数据中,提取目标动作数据的方式,可以是随意提取,也可以是按照预设规则进行提取。动作捕捉设备发送的多组动作数据具有采集时间上的先后顺序,则多组动作数据可以是按照采集时间的先后顺序依次排序的,相应地,预设规则可以是在该多组动作数据中,提取某个固定顺序的一组动作数据。例如,多组动作数据为5个且依次排序,固定提取第3位的动作顺序。
[0096]在实际应用中,该种按照预设规则提取目标动作数据方式的具体过程可以是,月艮务器按照自身的预设刷新率,从动作捕捉设备按照发送频率发送的动作数据中,提取目标动作数据。例如,动作捕捉设备的发送频率是每隔2微秒发送一组动作数据,服务器是每隔5微秒刷新一次,即每隔5微秒生成一帧目标视频图像,因此,服务器每隔5微秒提取一组目标动作数据。
[0097]步骤A2:依据所述目标动作数据,确定预先绘制的骨骼模型的骨骼动作。
[0098]其中,目标动作数据是多组动作数据中的一组,表示的是第二目标体的动作姿势,骨骼模型是按照第二目标体绘制的。因此,利用该目标动作数据,可以确定出骨骼模型的动作。
[0099]由以上的技术方案可知,为了解决动作捕捉设备的采集频率与服务器的刷新率不同的问题,可以在多组动作数据中提取一组目标动作数据,利用一组目标动作数据来控制骨骼模型的骨骼动作。
[0100]在本发明实施例中,第二目标体可以包含若干个活动节点,例如,第二目标体为人,人的活动节点可以是手腕、肘关节及肩关节等等。相应地,动作捕捉设备设置有若干个动作捕捉点,在动作捕捉点为多个的情况下,不同的动作捕捉点用于获得第二目标体不同活动节点的动作数据。将一个活动节点的动作数据称为一个子动作数据,活动节点为若干个,则动作捕捉设备获取到的动作数据可以包含若干个子动作数据。为了区分不同的活动节点,则子动作数据具有各自的节点标识。
[0101]也就是说,可选的,所述动作数据中包含若干个子动作数据,所述子动作数据具有各自的节点标识,所述节点标识用于表示被所述动作采集设备采集动作数据的动作采集目标的活动节点。
[0102]所述服务器根据所述区域位置信息、动作数据和动作坐标,在所述虚拟区域的所述目标区域中生成骨骼模型,包括:
[0103]所述服务器确定所述节点标识所对应的所述骨骼模型上的骨骼节点。
[0104]举例说明,骨骼模型具有骨骼节点,其骨骼节点是按照第二目标体的活动节点设置的。接收到的子动作数据具有节点标识,因此,可以确定出子动作数据对应骨骼节点。
[0105]例如,接收到的子动作数据为:子动作数据1、子动作数据2、子动作数据3及子动作数据4,各个子动作数据的节点标识分别为左上肢肘关节、右上肢肘关节、左下肢膝关节及右下肢膝关节,骨骼模型中具有这些关节对应的骨骼节点,进而分别为子动作数据1、子动作数据2、子动作数据3及子动作数据4确定各自对应的骨骼节点。
[0106]所述服务器依据所述子动作数据和相应的动作坐标,确定所述骨骼节点在所述骨骼模型中的位置。
[0107]所述服务器根据确定出的所述骨骼节点在所述骨骼模型中的位置,在所述虚拟区域的所述目标区域中生成所述骨骼模型。
[0108]其中,子动作数据的一种具体实现形式是,所述3D坐标系统下的三维实体坐标。因此,子动作数据中包含三维坐标,为了与下述骨骼模型的坐标区分,可以将该三维坐标称为三维实体坐标。
[0109]例如,上一示例中的子动作数据I,即左上肢肘关节对应的三维实体坐标为(188.9,113.7,88.8);子动作数据2,即右上肢肘关节对应的三维实体坐标为(127.5,54.3,68.9);子动作数据3,即左下肢膝关节对应的三维实体坐标为(I 11.1,158.3,56.9);子动作数据4,即右下肢膝关节对应的三维实体坐标为(99.8,155.5,77.7)。
[0110]相应地,确定目标骨骼节点在骨骼模型中的位置的具体实现方式可以包括步骤BI?步骤B2。
[0111]步骤BI:依据所述动作坐标与虚拟空间坐标之间的比例关系,确定所述动作坐标在所述虚拟空间下的三维动画坐标。
[0112]其中,该比例关系也可表示骨骼模型大小与第二目标体大小的关系。
[
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1