用于生成视频的方法、装置和系统与流程

文档序号:23664988发布日期:2021-01-15 14:03阅读:51来源:国知局
用于生成视频的方法、装置和系统与流程

本发明涉及视频图像处理技术,尤其是一种用于生成视频的方法、装置、电子设备和存储介质。



背景技术:

三维模型是一种可以表示三维物体的数学模型。通过三维模型可以实现对三维物体的分析、浏览。目前,可以基于三维物体的图像数据生成该三维物体的三维模型。

在生成三维物体的视频时,现有技术可以直接对三维物体进行拍摄获得三维物体的视频,或者,通过ai(人工智能,artificialintelligence)技术基于三维物体的图像生成视频。

然而,直接对三维物体进行拍摄时,需要现场拍摄三维物体的视频。此外,如果仅现场拍摄三维物体的图像,则可以基于ai技术生成视频。而由于基于ai技术生成视频的运算量大,对计算机的性能往往也具有较高要求。因此,现有的直接拍摄的方式生成视频缺乏灵活性,必须现场拍摄视频;采用ai技术生成视频速度慢、对计算资源的占用大。



技术实现要素:

本发明实施例提供一种用于生成视频的方法、装置、电子设备和存储介质,以提高生成目标空间场景的视频的灵活性,降低目标空间场景的视频的生成过程中对计算资源的占用。

根据本发明实施例的一个方面,提供的一种用于生成视频的方法,包括:

获取目标空间场景的三维模型数据,其中,所述三维模型数据与所述目标空间场景中预先确定的多个视点相关联;

从所述多个视点中选取第一视点,基于所述三维模型数据,生成选取的所述第一视点下所述目标空间场景的图像数据;

基于所生成的各帧图像数据,生成所述目标空间场景的视频。

可选地,在本发明任一实施例的方法中,所述三维模型数据还与多个视线旋转角度相关联,所述多个视点中的视点与所述多个视线旋转角度中的视线旋转角度相对应;以及

所述从所述多个视点中选取第一视点,基于所述三维模型数据,生成选取的所述第一视点下所述目标空间场景的图像数据,包括:

从所述多个视点中选取第一视点,基于所述三维模型数据,生成按照与选取的所述第一视点相对应的视线旋转角度进行旋转的过程中选取的所述第一视点下所述目标空间场景的图像数据。

可选地,在本发明任一实施例的方法中,所述多个视点中包括预先确定的第一视点,将所述多个视点中除所述第一视点之外的视点的集合作为第二视点集合;以及

所述从所述多个视点中选取第一视点,基于所述三维模型数据,生成按照与选取的所述第一视点相对应的视线旋转角度进行旋转的过程中选取的所述第一视点下所述目标空间场景的图像数据,包括:

基于所述三维模型数据,生成按照与所述第一视点相对应的视线旋转角度进行旋转的过程中所述第一视点下所述目标空间场景的图像数据;

针对所述第二视点集合中的每个第二视点,基于所述三维模型数据,生成按照与该第二视点相对应的视线旋转角度进行旋转的过程中该第二视点下所述目标空间场景的图像数据。

可选地,所述针对所述第二视点集合中的每个第二视点,基于所述三维模型数据,生成按照与该第二视点相对应的视线旋转角度进行旋转的过程中该第二视点下所述目标空间场景的图像数据,包括:

从所述第二视点集合中,选取与所述目标空间场景中的目标位置的距离最近的第二视点,将所选取的第二视点确定为目标第二视点,以及采用如下确定方式基于当前的目标第二视点确定图像数据:基于所述三维模型数据,确定按照与当前的目标第二视点相对应的视线旋转角度进行旋转的过程中当前的目标第二视点下所述目标空间场景的图像数据;

从所述第二视点集合中未被选取的第二视点中,确定与目标位置的距离最近的第二视点,将所确定的第二视点作为新的目标第二视点,以及采用所述确定方式基于当前的目标第二视点确定图像数据。

可选地,在本发明任一实施例的方法中,所述目标位置为当前的目标第二视点所在的位置,或者,所述目标空间场景中的子空间场景的中心位置。

可选地,在本发明任一实施例的方法中,所述旋转为向所述中心位置所在的一侧进行的旋转。

可选地,在本发明任一实施例的方法中,所述目标空间场景包括至少两个子空间场景;以及

所述方法还包括:

从所述至少两个子空间场景中的每个子空间场景确定至少一个视点。

可选地,在本发明任一实施例的方法中,所述基于所生成的各帧图像数据,生成所述目标空间场景的视频,包括:

响应于生成顺序相邻的两帧图像数据分别指示的子空间场景非同一子空间场景,在该两帧图像数据之间插入目标图像数据,其中,目标图像数据指示视点位于所述目标空间场景之外的、所述目标空间场景的图像;

将向所生成的各帧图像数据中插入目标图像数据后的多帧图像数据,作为所述目标空间场景的视频。

可选地,在本发明任一实施例的方法中,所述方法还包括:

将当前视角的角平分线与目标射线之间的夹角的角度确定为与当前选取的视点相对应的视线旋转角度,其中,目标射线为以当前选取的视点为端点、向所述多个视点中距离当前选取的视点最近的视点的方向进行延长的射线。

根据本发明实施例的第二个方面,提供的一种用于生成视频的装置,包括:

获取单元,被配置成获取目标空间场景的三维模型数据,其中,所述三维模型数据与所述目标空间场景中预先确定的多个视点相关联;

第一生成单元,被配置成从所述多个视点中选取第一视点,基于所述三维模型数据,生成选取的所述第一视点下所述目标空间场景的图像数据;

第二生成单元,被配置成基于所生成的各帧图像数据,生成所述目标空间场景的视频。

可选地,在本发明任一实施例的装置中,所述三维模型数据还与多个视线旋转角度相关联,所述多个视点中的视点与所述多个视线旋转角度中的视线旋转角度相对应;以及

所述第一生成单元包括:

生成子单元,被配置成从所述多个视点中选取第一视点,基于所述三维模型数据,生成按照与选取的所述第一视点相对应的视线旋转角度进行旋转的过程中选取的所述第一视点下所述目标空间场景的图像数据。

可选地,在本发明任一实施例的装置中,将所述多个视点中除所述第一视点之外的视点的集合作为第二视点集合;以及

所述生成子单元包括:

第一生成模块,被配置成基于所述三维模型数据,生成按照与所述第一视点相对应的视线旋转角度进行旋转的过程中所述第一视点下所述目标空间场景的图像数据;

第二生成模块,被配置成针对所述第二视点集合中的每个第二视点,基于所述三维模型数据,生成按照与该第二视点相对应的视线旋转角度进行旋转的过程中该第二视点下所述目标空间场景的图像数据。

可选地,在本发明任一实施例的装置中,所述第二生成模块包括:

选取子模块,被配置成从所述第二视点集合中,选取与所述目标空间场景中的目标位置的距离最近的第二视点,将所选取的第二视点确定为目标第二视点,以及采用如下确定方式基于当前的目标第二视点确定图像数据:基于所述三维模型数据,确定按照与当前的目标第二视点相对应的视线旋转角度进行旋转的过程中当前的目标第二视点下所述目标空间场景的图像数据;

确定子模块,被配置成从所述第二视点集合中未被选取的第二视点中,确定与目标位置的距离最近的第二视点,将所确定的第二视点作为新的目标第二视点,以及采用所述确定方式基于当前的目标第二视点确定图像数据。

可选地,在本发明任一实施例的装置中,所述目标位置为当前的目标第二视点所在的位置,或者,所述目标空间场景中的子空间场景的中心位置。

可选地,在本发明任一实施例的装置中,所述旋转为向所述中心位置所在的一侧进行的旋转。

可选地,在本发明任一实施例的装置中,所述目标空间场景包括至少两个子空间场景;以及

所述装置还包括:

第一确定单元,被配置成从所述至少两个子空间场景中的每个子空间场景确定至少一个视点。

可选地,在本发明任一实施例的装置中,所述第二生成单元进一步被配置成:

响应于生成顺序相邻的两帧图像数据分别指示的子空间场景非同一子空间场景,在该两帧图像数据之间插入目标图像数据,其中,目标图像数据指示视点位于所述目标空间场景之外的、所述目标空间场景的图像;

将向所生成的各帧图像数据中插入目标图像数据后的多帧图像数据,作为所述目标空间场景的视频。

可选地,在本发明任一实施例的装置中,所述装置还包括:

第二确定单元,被配置成将当前视角的角平分线与目标射线之间的夹角的角度确定为与当前选取的视点相对应的视线旋转角度,其中,目标射线为以当前选取的视点为端点、向所述多个视点中距离当前选取的视点最近的视点的方向进行延长的射线。

根据本发明实施例的第三个方面,提供的一种电子设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现本公开上述任一实施例所述的方法。

根据本发明实施例的第四个方面,提供的一种计算机可读介质,该计算机程序被处理器执行时,实现如上述第一方面的用于生成视频的方法中任一实施例的方法。

基于本发明上述实施例提供的用于生成视频的方法、装置、电子设备和存储介质,可以获取目标空间场景的三维模型数据,其中,三维模型数据与目标空间场景中预先确定的多个视点相关联,然后,从多个视点中选取第一视点,基于三维模型数据,生成选取的第一视点下目标空间场景的图像数据,最后,基于所生成的各帧图像数据,生成目标空间场景的视频。本公开实施例中,可以通过前端策略基于目标空间场景的三维模型数据,生成该目标空间场景的视频,相对于采用ai技术来生成视频,有助于提高目标空间场景的视频的生成速度,降低目标空间场景的视频的生成过程中对计算资源的占用。此外,本公开实施例还可以在没有对目标空间场景进行现场拍摄视频的场景下,基于所生成的各帧图像数据,生成目标空间场景的视频,从而丰富了目标空间场景的视频生成方式,提高了目标空间场景的视频生成的灵活性。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释本发明的原理。

参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:

图1为本发明用于生成视频的方法一个实施例的流程图。

图2a是本发明用于生成视频的方法中的一个实施例的目标空间场景的示意图。

图2b是针对图2a的目标空间场景生成的各帧图像数据的示意图。

图3为本发明用于生成视频的方法的另一个实施例的流程图。

图4为本发明用于生成视频的方法的又一个实施例的流程图。

图5为本发明用于生成视频的装置一个实施例的结构示意图。

图6为本公开一示例性实施例提供的电子设备的结构图。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。

还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。

还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。

另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。

还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

本发明实施例可以应用于终端设备、计算机系统和服务器中的至少一种电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统和服务器中的至少一种电子设备一起使用的众所周知的计算环境和/或配置的例子包括但不限于:个人计算机服务器计算机瘦客户机、厚客户机、手持或膝上设备、基于微处理器的机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。

终端设备、计算机系统和服务器中的至少一种电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

请参考图1,示出了根据本公开的用于生成视频的方法的一个实施例的流程100。该用于生成视频的方法,包括:

步骤101,获取目标空间场景的三维模型数据。

在本实施例中,用于生成视频的方法的执行主体(例如服务器、终端设备等)可以通过有线连接方式或者无线连接方式从其他电子设备或者本地,获取目标空间场景的三维模型数据。

其中,三维模型数据与目标空间场景中预先确定的多个视点相关联。目标空间场景中,可以包括一个或多个子空间场景。上述三维模型数据可以是目标空间场景的包含色彩信息的全景图像的数据。视点下的目标空间场景的图像数据,可以为在该视点所在的位置对目标空间场景进行拍摄而获得的图像数据。

三维模型数据与目标空间场景中预先确定的多个视点可以采用多种方式进行关联。例如,三维模型数据中可以包括目标空间场景中预先确定的各个视点的位置信息。可选的,可以通过对三维模型数据中,与目标空间场景中预先确定的各个视点相对应的数据进行识别,从而通过存储上述与目标空间场景中预先确定的各个视点相对应的数据,实现三维模型数据与目标空间场景中预先确定的各个视点之间的关联。

上述视点的数量可以大于或等于2。可选的,视点可以位于目标空间场景内,也可以位于目标空间场景外;可以位于目标空间场景的地平面上,也可以与目标空间场景的地平面相距预设距离。

上述多个视点可以是在目标空间场景中预先随机确定的,也可以是按照目标空间场景的各个子空间场景的复杂程度确定的,例如,子空间场景越复杂,其中包含的视点可以越多。此外,上述多个视点还可以是目标空间场景中均匀分布的位点。

在这里,上述目标空间场景可以是任意待生成其视频的空间场景。例如,该目标空间场景可以是房屋的室内场景,也可以是房屋的室外场景,还可以是细胞的内部场景、人体内部场景等等。

实践中,当目标空间场景是房屋的室内场景时,上述子空间场景可以是该房屋内的房间,例如,客厅、主卧、次卧、厨房、卫生间中的至少一项。

步骤102,从多个视点中选取第一视点,基于三维模型数据,生成选取的第一视点下目标空间场景的图像数据。

在本实施例中,用于生成视频的方法的执行主体可以从多个视点中选取第一视点,基于三维模型数据,生成选取的第一视点下目标空间场景的图像数据。

作为第一个示例,上述执行主体可以针对上述多个视点中的每个视点,依次将该视点作为第一视点,然后,基于三维模型数据,生成选取的第一视点下目标空间场景的图像数据。由此,上述执行主体可以针对上述多个视点中的每个视点,生成一帧图像数据。在此场景下,图像数据的帧数与多个视点中的视点的数量相等。

作为第二个示例,上述执行主体可以从多个视点中选取目标数量个视点,然后,针对所选取的各个视点中的每个视点,基于三维模型数据,生成选取的第一视点下目标空间场景的图像数据。由此,上述执行主体可以针对上述多个视点中选取的每个视点,生成一帧图像数据。在此场景下,图像数据的帧数为上述目标数量。其中,目标数量可以是预先确定的,也可以是随机确定的,还可以是根据预先确定的视频的播放时长而确定的。

作为第三个示例,上述执行主体可以从上述多个视点中未被选取过的视点中随机选取视点,基于三维模型数据,生成选取的第一视点下目标空间场景的图像数据。

作为第四个示例,上述执行主体可以从上述多个视点中未被选取过的视点中选取距离目标位置最近的视点,基于三维模型数据,生成选取的第一视点下目标空间场景的图像数据。其中,目标位置可以为当前选取的视点所在的位置,也可以是预先确定的位置。

可以理解,由于三维模型数据中包含目标空间场景的色彩数据、深度数据,因而,在确定视点之后,上述执行主体可以生成选取的第一视点下目标空间场景的图像数据。这里,每帧图像数据的视角方向可以是随机的,也可以是预先确定的。

步骤103,基于所生成的各帧图像数据,生成目标空间场景的视频。

在本实施例中,上述执行主体可以基于所生成的各帧图像数据,生成目标空间场景的视频。

可以理解,视频可以由多帧图像组成。由此,上述执行主体可以将所生成的全部或部分图像数据组成目标空间场景的视频。此外,视频中各帧图像数据的顺序可以是随机确定的,也可以是按照预设规则确定的。示例性的,上述执行主体可以按照各帧图像数据的生成顺序,对各帧图像数据进行排列,从而生成目标空间场景的视频。

在本实施例的一些可选的实现方式中,视频中各帧图像数据可以渐变切换。

可以理解,采用渐变效果来切换视频中的各帧图像数据可以使得所生成的视频过渡自然,提高了视频播放时各帧之间的衔接性。

请参考图2a和图2b,图2a是本发明用于生成视频的方法中的一个实施例的目标空间场景的示意图,图2b是针对图2a的目标空间场景生成的各帧图像数据的示意图。作为示例,如图2a所示,上述执行主体(例如终端设备或服务器)可以首先获取目标空间场景201的三维模型数据。其中,三维模型数据与目标空间场景201中预先确定的多个视点相关联。图2a中,三维模型数据与目标空间场景201中的视点2011、视点2012、视点2013相关联。然后,上述执行主体从视点2011、视点2012、视点2013中选取第一视点(例如图示中视点2011、视点2012、视点2013),基于三维模型数据,分别生成视点2011、视点2012、视点2013下目标空间场景201的图像数据。如图2b所示,上述执行主体生成了视点2011下目标空间场景201的图像数据202、视点2012下目标空间场景201的图像数据203,以及视点2013下目标空间场景201的图像数据204。最后,上述执行主体可以基于所生成的图像数据202、图像数据203和图像数据204,生成目标空间场景201的视频。

本发明的上述实施例提供的用于生成视频的方法,可以获取目标空间场景的三维模型数据,其中,三维模型数据与目标空间场景中预先确定的多个视点相关联,然后,从多个视点中选取第一视点,基于三维模型数据,生成选取的第一视点下目标空间场景的图像数据,最后,基于所生成的各帧图像数据,生成目标空间场景的视频。本公开实施例中,可以通过前端策略基于目标空间场景的三维模型数据,生成该目标空间场景的视频,相对于采用ai技术来生成视频,有助于提高目标空间场景的视频的生成速度,降低目标空间场景的视频的生成过程中对计算资源的占用。此外,本公开实施例还可以在没有对目标空间场景进行现场拍摄视频的场景下,基于所生成的各帧图像数据,生成目标空间场景的视频,从而丰富了目标空间场景的视频生成方式,提高了目标空间场景的视频生成的灵活性。

在本实施例的一些可选的实现方式中,视频的播放时长是预先确定的。由此,上述执行主体还可以根据播放时长,确定多个视点中的视点的数量。

其中,视频的播放时长可以与目标空间场景中预先确定的视点的数量呈正相关。视频的播放时长可以是用户或者技术人员预先确定的,也可以是根据用以存储视频的存储空间的大小预先确定的,还可以是根据用户待发布的信息平台对视频的播放长度的限定的上限值预先确定的。

通常情况下,目标空间场景中预先确定的视点的数量越多,则生成的图像数据的帧数越多,那么,视频的播放时长越长。

可以理解,上述可选的实现方式可以通过控制目标空间场景中预先确定的视点的数量,实现对视频的播放时长的控制,从而进一步提高了目标空间场景的视频生成的灵活度,可以帮助用户在不同的渠道进行投放和推广。

在本实施例的一些可选的实现方式中,上述执行主体还可以执行以下至少一项:

第一项,下载视频。

第二项,对视频进行视频处理。

第三项,将视频发布至信息平台。

可以理解,通过下载视频,用户可以将上述步骤103生成的视频存储在本地,从而便于后续浏览、发布、视频处理等操作。上述可选的实现方式丰富了对目标空间场景的视频的应用场景。

进一步参考图3,图3是本发明的用于生成视频的又一个实施例的流程图。该用于生成视频的流程300,包括:

步骤301,获取目标空间场景的三维模型数据。

在本实施例中,用于生成视频的方法的执行主体(例如服务器、终端设备等)可以通过有线连接方式或者无线连接方式从其他电子设备或者本地,获取目标空间场景的三维模型数据。

其中,三维模型数据与目标空间场景中预先确定的多个视点,以及多个视线旋转角度相关联。多个视点中的视点与多个视线旋转角度中的视线旋转角度相对应。目标空间场景中可以包括一个或多个子空间场景。上述三维模型数据可以是目标空间场景的包含色彩信息的全景图像的数据。

三维模型数据与目标空间场景中预先确定的多个视点可以采用多种方式进行关联。例如,三维模型数据中可以包括目标空间场景中预先确定的各个视点的位置信息。可选的,可以通过对三维模型数据中,与目标空间场景中预先确定的各个视点相对应的数据进行识别,从而通过存储上述与目标空间场景中预先确定的各个视点相对应的数据,实现三维模型数据与目标空间场景中预先确定的各个视点之间的关联。

此外,三维模型数据与多个视线旋转角度可以采用多种方式进行关联。例如,三维模型数据中可以包括多个视线旋转角度。可选的,可以将多个视线旋转角度中的一个或多个视线旋转角度与预先确定的多个视点中的一个视点的位置信息进行关联存储,从而实现三维模型数据与多个视线旋转角度之间的关联。这里,可以通过关联存储视点的位置信息与视线旋转角度,实现多个视点中的视点与多个视线旋转角度中的视线旋转角度之间的对应。

上述视点的数量可以大于或等于2。可选的,视点可以位于目标空间场景内,也可以位于目标空间场景外;可以位于目标空间场景的地平面上,也可以与目标空间场景的地平面相距预设距离。

上述多个视点可以是在目标空间场景中预先随机确定的,也可以是按照目标空间场景的各个子空间场景的复杂程度确定的,例如,子空间场景越复杂,其中包含的视点可以越多。此外,上述多个视点还可以是目标空间场景中均匀分布的位点。

在这里,上述目标空间场景可以是任意待生成其视频的空间场景。例如,该目标空间场景可以是房屋的室内场景,也可以是房屋的室外场景,还可以是细胞的内部场景、人体内部场景等等。

实践中,当目标空间场景是房屋的室内场景时,上述子空间场景可以是该房屋内的房间,例如,客厅、主卧、次卧、厨房、卫生间中的至少一项。

可选的,可以采用多种方式,来确定上述多个视线旋转角度中的视线旋转角度的角度值。

作为示例,上述多个视线旋转角度中的视线旋转角度的角度值可以为预先确定的。例如,上述多个视线旋转角度中的视线旋转角度的角度值可以均为0度、100度、180度、270度等等。此外,上述多个视线旋转角度中的全部或部分视线旋转角度的角度值也可以是彼此不等的预先确定的角度值。

可以理解,上述示例中,可以通过预先确定视线旋转角度,实现视点切换后目标场景的扫描浏览。通常,视线旋转角度的角度值越大,视频中呈现的、目标空间场景的图像信息越丰富。

作为又一示例,还可以将当前视角的角平分线与目标射线之间的夹角的角度确定为与当前选取的视点相对应的视线旋转角度。其中,目标射线为以当前选取的视点为端点、向目标空间场景中预先确定的多个视点中距离当前选取的视点最近的视点的方向进行延长的射线。

可以理解,上述示例中,将当前视角的角平分线与目标射线之间的夹角的角度确定为与当前选取的视点相对应的视线旋转角度,既可以使得生成的视频较为全面的呈现目标空间场景,又可以一定程度上减少目标空间场景中同一区域在视频中被多次呈现。

在本实施例中,步骤301可以与图1对应实施例中的步骤101基本一致,这里不再赘述。

步骤302:从多个视点中选取第一视点,基于三维模型数据,生成按照与选取的第一视点相对应的视线旋转角度进行旋转的过程中选取的第一视点下目标空间场景的图像数据。

在本实施例中,用于生成视频的方法的执行主体可以从多个视点中选取第一视点,基于三维模型数据,生成按照与选取的第一视点相对应的视线旋转角度进行旋转的过程中选取的第一视点下目标空间场景的图像数据。

在本实施例的一些可选的实现方式中,将多个视点中除第一视点之外的视点的集合作为第二视点集合。基于此,上述执行主体可以通过执行如下步骤(包括步骤一和步骤二),来实现上述302:

步骤一,基于三维模型数据,生成按照与第一视点相对应的视线旋转角度进行旋转的过程中第一视点下目标空间场景的图像数据。其中,第一视点可以是预先确定的视点。

步骤二,针对第二视点集合中的每个第二视点,基于三维模型数据,生成按照与该第二视点相对应的视线旋转角度进行旋转的过程中该第二视点下目标空间场景的图像数据。

可以理解,上述可选的实现方式可以将所生成的、按照与第一视点相对应的视线旋转角度进行旋转的过程中第一视点下目标空间场景的图像数据,作为视频的首帧图像数据,由此,上述可选的实现方式可以控制后续生成的视频的首帧图像。此外,通过设定各个视点的位置和选取顺序,还可以控制视频中呈现的目标空间场景中的各部分的呈现顺序。例如,在目标空间场景为室内场景时,可以通过设定各个视点的位置和选取顺序,使得生成的视频按照用户看房的路径呈现房屋的结构和布局。

在上述可选的实现方式的一些应用场景下,上述执行主体可以通过如下步骤(包括子步骤一和子步骤二),执行上述步骤二:

子步骤一,从第二视点集合中,选取与目标空间场景中的目标位置的距离最近的第二视点,将所选取的第二视点确定为目标第二视点,以及采用如下确定方式基于当前的目标第二视点确定图像数据:基于三维模型数据,确定按照与当前的目标第二视点相对应的视线旋转角度进行旋转的过程中当前的目标第二视点下目标空间场景的图像数据。

子步骤二,从第二视点集合中未被选取的第二视点中,确定与目标位置的距离最近的第二视点,将所确定的第二视点作为新的目标第二视点,以及采用确定方式基于当前的目标第二视点确定图像数据。

可选的,上述目标位置为当前的目标第二视点所在的位置,或者,目标空间场景中的子空间场景的中心位置。

可以理解,上述可选的实现方式可以按照与目标位置的距离由近及远的顺序遍历各个视点,从而使得后续生成的视频中的图像较为有序的进行切换。

可选的,上述旋转为向中心位置所在的一侧进行的旋转。其中,该旋转过程可以缓慢进行。例如,每毫秒旋转的角度可以是视线旋转角度与0.001的乘积,由此,可以在1秒钟完成每次旋转。

可以理解,在向中心位置所在的一侧进行的旋转的过程中,可以在该旋转过程中,基于三维模型数据生成多帧目标空间场景的图像数据。由于中心位置所在的一侧的空间往往大于另一侧(即中心位置不在的一侧),因此,向中心位置所在的一侧进行的旋转,可以使得所生成的视频中呈现更为丰富的目标空间场景的图像。

步骤303,基于所生成的各帧图像数据,生成目标空间场景的视频。

在本实施例中,上述执行主体可以基于所生成的各帧图像数据,生成目标空间场景的视频。

在本实施例中,步骤303与图1对应实施例中的步骤103基本一致,这里不再赘述。

需要说明的是,除上面所记载的内容外,本申请实施例还可以包括与图1对应的实施例相同或类似的特征、效果,在此不再赘述。

从图3中可以看出,本实施例中的用于生成视频的方法的流程300结合视线旋转角度和视点的设置,来控制目标空间场景的视频的生成,从而能够使得所生成的视频过渡自然,提高了视频播放时各帧之间的衔接性。

请继续参考图4,图4是本发明的用于生成视频的又一个实施例的流程图。该用于生成视频的流程400,包括:

步骤401,获取目标空间场景的三维模型数据。

在本实施例中,用于生成视频的方法的执行主体(例如服务器、终端设备等)可以通过有线连接方式或者无线连接方式从其他电子设备或者本地,获取目标空间场景的三维模型数据。其中,三维模型数据与目标空间场景中预先确定的多个视点相关联。目标空间场景包括至少两个子空间场景。

实践中,当目标空间场景是房屋的室内场景时,上述子空间场景可以是该房屋内的房间,例如,客厅、主卧、次卧、厨房、卫生间中的至少一项。

在本实施例中,步骤401与图1对应实施例中的步骤101基本一致,这里不再赘述。

步骤402,从至少两个子空间场景中的每个子空间场景确定至少一个视点。

在本实施例中,上述执行主体可以从至少两个子空间场景中的每个子空间场景确定至少一个视点。

在这里,视点可以位于子空间场景的地平面上,也可以与子空间场景的地平面相距预设距离。

上述多个视点可以按照目标空间场景的各个子空间场景的复杂程度确定的,例如,子空间场景越复杂,其中包含的视点可以越多。此外,上述多个视点还可以是目标空间场景的各个子空间场景中均匀分布的位点。

步骤403,从多个视点中选取第一视点,基于三维模型数据,生成选取的第一视点下目标空间场景的图像数据。

在本实施例中,步骤403与图1对应实施例中的步骤102基本一致,这里不再赘述。

步骤404,基于所生成的各帧图像数据,生成目标空间场景的视频。

在本实施例中,步骤404与图1对应实施例中的步骤103基本一致,这里不再赘述。

在本实施例的一些可选的实现方式中,上述执行主体可以通过如下步骤(包括步骤一和步骤二)实现上述步骤404:

步骤一,在生成顺序相邻的两帧图像数据分别指示的子空间场景非同一子空间场景的情况下,在该两帧图像数据之间插入目标图像数据。其中,目标图像数据指示视点位于目标空间场景之外的、目标空间场景的图像。

在这里,图像数据的生成顺序可以为目标空间场景中预先确定的视点的选取顺序。

步骤二,将向所生成的各帧图像数据中插入目标图像数据后的多帧图像数据,作为目标空间场景的视频。

可以理解,上述可选的实现方式可以在视频中呈现的不同的子空间场景的图像之间插入目标图像数据,由此,可以呈现出各个子空间场景在目标空间场景中的位置,以及各个子空间场景之间的相对位置。

作为示例,下面以目标空间场景为室内场景,目标空间场景包括客厅、主卧、次卧、厨房、卫生间为例,对上述实施例进行说明。但需要说明的是,以下所描述的内容仅仅是示例性的,不应对本申请实施例起到任何限定作用。

作为第一种情况,上述执行主体可以采用如下步骤,生成目标空间场景的视频:

第一步:从客厅、主卧、次卧、厨房、卫生间中,分别确定多个视点。从所确定的多个视点中,分别确定客厅、主卧、次卧、厨房、卫生间的第一视点。

第二步:基于三维模型数据,选取客厅的第一视点,生成客厅的第一视点下目标空间场景的图像数据。然后,从客厅的未被选取过的视点中,按照距离客厅的中心点直线距离由近及远的顺序选取视点,将虚拟拍摄位置移动到该选取的视点。按照与客厅的第一视点相对应的视线旋转角度进行旋转,例如,视线向客厅的中心点所在的一侧旋转180度。

第三步,生成视点位于目标空间场景之外的、目标空间场景的图像数据(即目标图像数据)。

第四步,将上述第二步、第三步中的客厅依次替换为主卧、次卧、厨房、卫生间,继续执行替换后的第二步、第三步。

执行完成第四步之后,可以得到多个视点下的客厅、主卧、次卧、厨房、卫生间的图像数据。由此,可以按照各帧图像数据的生成顺序,将所生成的各个图像数据组成目标空间场景的视频。其中,各帧图像数据之间可以渐变切换,不同子空间场景的图像数据之间可以插入上述目标图像数据。此外,可以通过控制各个子空间场景的视点的数量,控制所生成的视频的播放时长,进而生成播放时长为预先确定的时长的视频。

作为第二种情况,上述执行主体还可以采用如下步骤,生成目标空间场景的视频:

第一步:从客厅、主卧、次卧、厨房、卫生间中,分别确定多个视点。从所确定的多个视点中,分别确定客厅、主卧、次卧、厨房、卫生间的第一视点。

第二步:基于三维模型数据,选取客厅的第一视点,生成客厅的第一视点下目标空间场景的图像数据。然后,从客厅的未被选取过的视点中,按照距离客厅的中心点直线距离由近及远的顺序选取视点,将虚拟拍摄位置的视线(例如视角的角平分线)旋转至客厅的多个视点中距离当前视点最近的视点,之后将虚拟拍摄位置移动到该选取的视点。按照与客厅的第一视点相对应的视线旋转角度进行旋转,例如,视线向客厅的中心点所在的一侧旋转180度。

第三步,生成视点位于目标空间场景之外的、目标空间场景的图像数据(即目标图像数据)。

第四步,将上述第二步、第三步中的客厅依次替换为主卧、次卧、厨房、卫生间,继续执行替换后的第二步、第三步。

执行完成第四步之后,可以得到多个视点下的客厅、主卧、次卧、厨房、卫生间的图像数据。由此,可以按照各帧图像数据的生成顺序,将所生成的各个图像数据组成目标空间场景的视频。其中,各帧图像数据之间可以渐变切换,不同子空间场景的图像数据之间可以插入上述目标图像数据。此外,可以通过控制各个子空间场景的视点的数量,控制所生成的视频的播放时长,进而生成播放时长为预先确定的时长的视频。

需要说明的是,除上面所记载的内容外,本申请实施例还可以包括与图1和/或图3对应的实施例相同或类似的特征、效果,在此不再赘述。

从图4中可以看出,本实施例中的用于生成视频的方法的流程400中,每个子空间场景均设置有视点,由此,可以使得所生成的视频呈现各个子空间场景的图像,提高了视频中目标空间场景呈现图像的全面性。

进一步参考图5,作为对上述各图所示方法的实现,本公开提供了一种用于生成视频的装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,除下面所记载的特征外,该装置实施例还可以包括与图1所示的方法实施例相同或相应的特征,以及产生与图1所示的方法实施例相同或相应的效果。该装置具体可以应用于各种电子设备中。

如图5所示,本实施例的用于生成视频的装置500包括:获取单元501,被配置成获取目标空间场景的三维模型数据,其中,三维模型数据与目标空间场景中预先确定的多个视点相关联;第一生成单元502,被配置成从多个视点中选取第一视点,基于三维模型数据,生成选取的第一视点下目标空间场景的图像数据;第二生成单元503,被配置成基于所生成的各帧图像数据,生成目标空间场景的视频。

在本实施例中,用于生成视频的装置500的获取单元501可以获取目标空间场景的三维模型数据,其中,三维模型数据与目标空间场景中预先确定的多个视点相关联。

在本实施例中,第一声长单元502可以从多个视点中选取第一视点,基于获取单元501获取到的三维模型数据,生成选取的第一视点下目标空间场景的图像数据。

在本实施例中,第二生成单元503可以基于第一声长单元502所生成的各帧图像数据,生成目标空间场景的视频。

在本实施例的一些可选的实现方式中,三维模型数据还与多个视线旋转角度相关联,多个视点中的视点与多个视线旋转角度中的视线旋转角度相对应;以及

第一生成单元502可以包括:

生成子单元(图中未示出),被配置成从多个视点中选取第一视点,基于三维模型数据,生成按照与选取的第一视点相对应的视线旋转角度进行旋转的过程中选取的第一视点下目标空间场景的图像数据。

在本实施例的一些可选的实现方式中,将多个视点中除第一视点之外的视点的集合作为第二视点集合;以及

生成子单元包括:

第一生成模块(图中未示出),被配置成基于三维模型数据,生成按照与第一视点相对应的视线旋转角度进行旋转的过程中第一视点下目标空间场景的图像数据;

第二生成模块(图中未示出),被配置成针对第二视点集合中的每个第二视点,基于三维模型数据,生成按照与该第二视点相对应的视线旋转角度进行旋转的过程中该第二视点下目标空间场景的图像数据。

在本实施例的一些可选的实现方式中,第二生成模块包括:

选取子模块(图中未示出),被配置成从第二视点集合中,选取与目标空间场景中的目标位置的距离最近的第二视点,将所选取的第二视点确定为目标第二视点,以及采用如下确定方式基于当前的目标第二视点确定图像数据:基于三维模型数据,确定按照与当前的目标第二视点相对应的视线旋转角度进行旋转的过程中当前的目标第二视点下目标空间场景的图像数据;

确定子模块(图中未示出),被配置成从第二视点集合中未被选取的第二视点中,确定与目标位置的距离最近的第二视点,将所确定的第二视点作为新的目标第二视点,以及采用确定方式基于当前的目标第二视点确定图像数据。

在本实施例的一些可选的实现方式中,目标位置为当前的目标第二视点所在的位置,或者,目标空间场景中的子空间场景的中心位置。

在本实施例的一些可选的实现方式中,旋转为向中心位置所在的一侧进行的旋转。

在本实施例的一些可选的实现方式中,目标空间场景包括至少两个子空间场景;以及

该装置500还包括:

第一确定单元(图中未示出),被配置成从至少两个子空间场景中的每个子空间场景确定至少一个视点。

在本实施例的一些可选的实现方式中,第二生成单元503进一步被配置成:

响应于生成顺序相邻的两帧图像数据分别指示的子空间场景非同一子空间场景,在该两帧图像数据之间插入目标图像数据,其中,目标图像数据指示视点位于目标空间场景之外的、目标空间场景的图像;

将向所生成的各帧图像数据中插入目标图像数据后的多帧图像数据,作为目标空间场景的视频。

在本实施例的一些可选的实现方式中,多个视线旋转角度中的视线旋转角度的角度值为预先确定的。

在本实施例的一些可选的实现方式中,该装置500还包括:

第二确定单元(图中未示出),被配置成将当前视角的角平分线与目标射线之间的夹角的角度确定为与当前选取的视点相对应的视线旋转角度,其中,目标射线为以当前选取的视点为端点、向多个视点中距离当前选取的视点最近的视点的方向进行延长的射线。

在本实施例的一些可选的实现方式中,视频的播放时长是预先确定的;以及

该装置500还包括:

第三确定单元(图中未示出),被配置成根据播放时长,确定多个视点中的视点的数量。

在本实施例的一些可选的实现方式中,视频中各帧图像数据渐变切换。

在本实施例的一些可选的实现方式中,装置还包括以下至少一项:

下载单元(图中未示出),被配置成下载视频;

处理单元(图中未示出),被配置成对视频进行视频处理;

发布单元(图中未示出),被配置成将视频发布至信息平台。

本公开的上述实施例提供的用于生成视频的装置中,获取单元501,被配置成获取目标空间场景的三维模型数据,其中,三维模型数据与目标空间场景中预先确定的多个视点相关联;第一生成单元502,被配置成从多个视点中选取第一视点,基于三维模型数据,生成选取的第一视点下目标空间场景的图像数据;第二生成单元503,被配置成基于所生成的各帧图像数据,生成目标空间场景的视频。本公开实施例中,可以通过前端策略基于目标空间场景的三维模型数据,生成该目标空间场景的视频,相对于采用ai技术来生成视频,有助于提高目标空间场景的视频的生成速度,降低目标空间场景的视频的生成过程中对计算资源的占用。此外,本公开实施例还可以在没有对目标空间场景进行现场拍摄视频的场景下,基于所生成的各帧图像数据,生成目标空间场景的视频,从而丰富了目标空间场景的视频生成方式,提高了目标空间场景的视频生成的灵活性。

下面,参考图6来描述根据本公开实施例的电子设备。该电子设备可以是第一设备和第二设备中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。

图6图示了根据本公开实施例的电子设备的框图。

如图6所示,电子设备6包括一个或多个处理器601和存储器602。

处理器601可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。

存储器602可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器601可以运行所述程序指令,以实现上文所述的本公开的各个实施例的用于生成视频的方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。

在一个示例中,电子设备还可以包括:输入装置603和输出装置604,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。

例如,在该电子设备是第一设备或第二设备时,该输入装置603可以是上述的麦克风或麦克风阵列,用于捕捉声源的输入信号。在该电子设备是单机设备时,该输入装置603可以是通信网络连接器,用于从第一设备和第二设备接收所采集的输入信号。

此外,该输入装置603还可以包括例如键盘、鼠标等等。该输出装置604可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置604可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。

当然,为了简化,图6中仅示出了该电子设备中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备还可以包括任何其他适当的组件。

除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的用于生成视频的方法中的步骤。

所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。

此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的用于生成视频的方法中的步骤。

所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。

本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

可能以许多方式来实现本发明的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。

本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

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