视频采集方法及装置、视频生成方法及装置与流程

文档序号:11880847阅读:345来源:国知局
视频采集方法及装置、视频生成方法及装置与流程

本发明涉及视频技术领域,尤其涉及一种视频采集方法及装置、视频生成方法及装置。



背景技术:

视频信息的采集与传输是信息技术发展的一个重要方向,传统视频由于单一摄像头视野有限、只能摄取现场的某一布局,不能让不同的用户同时观看不同角度的自己感兴趣的场景,无法满足用户的个性化需求。然而,近几年流行起来的全景视频克服了传统视频的上述缺陷。

全景视频技术涉及计算机图形学、人机交互技术、传感技术、人工智能等领域,它用计算方法生成逼真的三维视、听感觉,提供用户关于视觉、听觉等感官的模拟,让用户通过使用各种装置将自己“投射”到这个虚拟的环境中,使用户如同身临其境地观察三维空间内的场景。全景视频可以看做是多视角视频的一种特例,即包含有水平360°和垂直360°所有视角的视频。

目前,视频采集方通常仅将采集到的二维视频数据提供给视频生成方,视频生成方根据该二维视频数据按特定的模型(例如球形、正六面体或锥体等)建立三维的全景视频以供给用户进行观看,但是,视频采集方提供的二维视频数据通常只适用于生成全景视频,视频生成方无法基于所提供的二维视频数据方便灵活地按照需要生成各种非连续视角的多视角视频。而且由于不同视频生成方使用的模型各异,而视频采集方所采集的二维视频数据不一定与视频生成方所使用的模型相适应,导致视频显示的效果不尽如人意(例如扭曲、变形等)。并且,现有技术通常只能基于球体、正六面体等已有的三维模型来生成全景视频,如果自定义其他类型的模型,则更有可能因二维视频数据无法与三维模型适配而降低显示效果。



技术实现要素:

技术问题

有鉴于此,本发明提出一种视频采集方法及装置、视频生成方法及装置,能够自由灵活地生成连续视角或非连续视角的多视角视频,而且提高视频显示的效果,从而提高用户体验。

解决方案

一方面,提出了一种视频采集方法,包括:获取构建多视角视频所需的各拍摄方向的视频帧;将各视频帧映射至二维空间,得到各视频帧在二维空间中的二维模型数据;将映射至所述二维空间的各视频帧按照预定的三维模型映射至三维空间,得到各视频帧在三维空间中的三维模型数据,以及将所述视频帧的视频帧数据以及模型数据发送至服务器以便构建多视角视频,其中所述模型数据包括所述三维模型的类型、所述二维模型数据和所述三维模型数据。

另一方面,提出了一种视频生成方法,包括:获取构建多视角视频所需的各拍摄方向的视频帧的视频帧数据以及模型数据,所述模型数据包括各视频帧映射至二维空间得到的二维模型数据,映射至二维空间的各视频帧映射至三维空间得到的三维模型数据以及所述三维空间所对应的三维模型的类型;根据所述三维模型数据及三维模型的类型进行三维建模,得到重建的三维模型;根据所述二维模型数据、所述视频帧数据以及所述重建的三维模型生成所述多视角视频。

又一方面,提出了一种视频采集装置,包括:获取单元,用于获取构建多视角视频所需的各拍摄方向的视频帧;第一映射单元,用于将各视频帧映射至二维空间,得到各视频帧在二维空间中的二维模型数据;第二映射单元,用于将映射至所述二维空间的各视频帧按预定的三维模型映射至三维空间,得到各视频帧在三维空间中的三维模型数据,以及发送单元,用于将所述视频帧的视频帧数据以及模型数据发送至服务器以便构建多视角视频,其中所述模型数据包括所述三维模型的类型、所述二维模型数据和所述三维模型数据。

再一方面,提出了一种视频生成装置,包括:获取单元,用于获取构建多视角视频所需的各拍摄方向的视频帧的视频帧数据以及模型数据,所述模型数据包括视频帧映射至二维空间得到的二维模型数据,映射至二维空间的各视频帧映射至三维空间得到的三维模型数据以及所述三维空间所对应的三维模型的类型;建模单元,用于根据所述三维模型数据及三维模型的类型进行三维建模,得到重建的三维模型;生成单元,用于根据所述二维模型数据、所述视频帧数据以及所述重建的三维模型生成所述多视角视频。

有益效果

根据本发明的各个方面,通过获取各拍摄方向的视频帧,将包括各视频数据、各视频帧映射至二维空间得到的二维模型数据、映射至二维空间的各视频帧按预定的三维模型映射至三维空间得到的三维模型数据、以及三维模型的类型共同发送至服务器,以供视频生成方构建多视角视频。由于所提供的视频帧数据与其二维模型数据、三维模型数据及三维模型的类型等模型数据相关联,使得生成多视角视频的方式更为灵活,且不仅限于全景视频,可以包括任意连续或非连续视角的多视角视频。并且,采集的视频帧数据可以适当地应用于任意类型(包括自定义类型)的三维模型,且在多视角视频生成的过程中能够以视频帧数据对应的模型数据为依据,从而最大程度上减少了扭曲和变形等,进而提升用户体验。

根据下面参考附图对示例性实施例的详细说明,本发明的其它特征及方面将变得清楚。

附图说明

包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本发明的示例性实施例、特征和方面,并且用于解释本发明的原理。

图1示出根据本发明一实施例的视频采集方法的流程图。

图2示出根据本发明一实施例的视频采集方法的另一流程图。

图3示出根据本发明一实施例的视频采集方法的又一流程图。

图4示出示出可供选择的预定的三维模型示意图。

图5示出根据本发明一实施例的视频生成方法的流程图。

图6示出根据本发明一实施例的视频采集装置的结构图。

图7示出根据本发明一实施例的视频生成装置的结构图。

图8示出根据本发明一实施例的视频生成设备的结构图。

具体实施方式

以下将参考附图详细说明本发明的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。

在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。

另外,为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本发明同样可以实施。在一些实例中,对于本领域技术人员熟知的装置、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。

实施例1

图1示出根据本发明一实施例的视频采集方法的流程图。如图1所示,该方法主要包括:

步骤101,获取构建多视角视频所需的各拍摄方向的视频帧;

步骤102,将各视频帧映射至二维空间,得到各视频帧在二维空间中的二维模型数据;

步骤103,将映射至所述二维空间的各视频帧按照预定的三维模型映射至三维空间,得到各视频帧在三维空间中的三维模型数据,以及

步骤104,将所述视频帧的视频帧数据以及模型数据发送至服务器以便构建多视角视频,其中所述模型数据包括所述三维模型的类型、所述二维模型数据和所述三维模型数据。

根据该实施例的方法,通过获取各拍摄方向的视频帧,将包括各视频数据、各视频帧映射至二维空间得到的二维模型数据、映射至二维空间的各视频帧按预定的三维模型映射至三维空间得到的三维模型数据、以及三维模型的类型共同发送至服务器,以供视频生成方等构建多视角视频。由于所提供的视频帧数据与其二维模型数据、三维模型数据及三维模型的类型等模型数据相关联,使得生成多视角视频的方式更为灵活,且不仅限于全景视频,可以包括任意连续或非连续视角的多视角视频。并且,采集的视频帧数据可以适当地应用于任意类型(包括自定义类型)的三维模型,且在多视角视频生成的过程中能够以视频帧数据对应的模型数据为依据,从而最大程度上减少了扭曲和变形等,进而提升用户体验。

通过本实施例构建的多视角视频也被称为“空间视频”,其使得实际空间中的任意切面能够按照自由规则模型进行任意组合、甚至可以跨越时间维度进行组合,以产生所需要的视频图像。

以下结合一些具体示例,来对本实施例的各种可能的具体实现方式进行说明。这些示例仅是示例性和说明性的,并非意在限制本发明。

在一个示例中,构建多视角视频所需的各拍摄方向的视频帧可以从视频采集设备获取,例如采集设备可以是摄像头、传感器等任意能够采集构建多视角视频所需的各拍摄方向(各视角)的视频帧的装置或其组合,采集设备可以是一个或多个,可以分布式布设在所需的位置。在另一个示例中,构建多视角视频所需的各拍摄方向的视频帧还可以从第三方接收获取。本领域技术人员可通过已知的现有技术手段获取构建多视角视频所需的各拍摄方向的视频帧,本发明对此不做限制。

在一个示例中,各拍摄方向在实际空间中可以连续也可以不连续。

在一个示例中,可利用适当的压缩方式对所采集到的视频帧的视频帧数据进行压缩,以降低数据量。

在一个示例中,将各视频帧映射至二维空间可以以各视频帧的拍摄方向为依据,例如,针对同一时间点拍摄方向不连续的两个视频帧,在二维空间中可映射至相应的不连续的位置,以便于生成视角不连续的多视角视频。当然,本领域技术人员也可以根据需要设置视频帧的拍摄方向与其在二维空间中的映射位置之间的关系,例如,包括将拍摄方向不连续的视频帧在二维空间中进行拼接,使它们在二维空间中的映射位置连续,以得到所需要的合成视频图像。

在一个示例中,二维模型数据可包括视频帧中的特征点在二维空间中的坐标,三维模型数据可包括视频帧中的特征点在三维空间中的坐标,三维模型的类型可以是常规的球体、正六面体等类型。如果是自定义三维模型,三维模型的类型可用自定义三维模型的模型参数来表示。

在一个示例中,如图2所示,步骤102可以包括:

步骤201,在所述二维空间中,将各视频帧分割为多边形的多个单元。

具体地,针对获取的每一个视频帧,可以在二维空间中将各视频帧分割为多边形的多个单元。换言之,经分割后的各视频帧是由多个多边形单元拼接而成。其中,各视频帧分割成的多个单元可以是同一类型的多边形,例如所有单元都是三角形或其他多边形,或者可以是不同类型的多边形,例如可以包含三角形和其他多边形等,本发明对此不作限制。在一个示例中,可以对分割后的各视频进行压缩处理。

将各视频帧分割为多边形的多个单元,以便于获取二维模型数据和三维模型数据,进而利于根据二维模型数据、三维模型数据以及三维模型的类型构建多视角视频。并且,通过将视频帧切分为更小的单元,使得能够以更小的单位将二维图像映射至三维,更能够适应于不同的三维模型(包括自定义三维模型),进一步降低了图像的失真扭曲,提高了成像效果。

步骤202,获得各视频帧中单元的个数以及各单元在二维空间中的顶点个数及顶点位置,作为所述二维模型数据。

例如,可以建立x∈[0,1],y∈[0,1]的二维空间,将各视频帧分割为多边形的多个单元后,映射至已建立的二维空间(或将视频帧映射至二维空间后再进行单元的分割),并确定各单元的顶点在该二维空间中的位置,该位置可以利用该顶点在二维空间中的坐标来表示。可将各视频帧分割的单元的个数、各单元在该二维空间中的顶点的个数和顶点的位置(例如坐标)作为二维模型数据。

将视频帧或其分割得到的单元映射至二维空间,可以根据本领域技术人员已知的任意映射方式来实现,本发明对此不做限制。

在一个示例中,如图3所示,步骤103可以包括:

步骤301,针对各视频帧,将各所述单元按照预定的三维模型映射至三维空间;

步骤302,获得各所述单元在三维空间中的顶点个数及顶点位置,作为所述三维模型数据。

例如,可以建立x∈[-1,1],y∈[-1,1],z∈[-1,1]的三维空间,针对步骤102中的各视频帧,可以将各视频帧的各单元按照预定的三维模型映射至已建立的三维空间中。确定各单元的顶点在该三维空间中的位置,该位置可以利用该顶点在三维空间中的坐标来表示。可将各单元在该三维空间中的顶点的个数和顶点的位置(例如坐标)作为三维模型数据。其中,预定的三维模型可以为球形、正六面体或锥体等,也可以为自定义的其他类型的三维模型。在一个示例中,对于自定义三维模型,模型数据还可包括该自定义三维模型的模型参数,以利于视频生成方重构多视角视频。

将映射至二维空间的视频帧或分割得到的单元映射至三维空间,可以根据本领域技术人员已知的任意映射方式来实现,本发明对此不做限制。

图4示出可供选择的预定的三维模型示意图,所述预定的三维模型的类型包括但不限于图4中示出的模型示例。

在一个示例中,针对步骤104,可以将所述视频帧的视频帧数据以及模型数据发送至服务器(例如转码服务器等),以便于后续构建多视角视频。其中,所述视频帧数据可以是采用常规编码压缩后的视频帧数据,模型数据可以包括例如步骤202中的二维模型数据、例如步骤301中的三维模型的类型以及例如步骤302中的三维模型数据。其中,发送方式可以采用有线或者无线的方式进行发送,本发明对此不作限制。

服务器可对接收到的视频帧数据和模型数据进行封包以发送至视频生成方,封包信息可包括上述二维模型数据及三维模型数据。这些封包信息作为协议数据可以传输在应用层,也可以存储在视频压缩层,比如数据传输层,编码层等。

在一个示例中,所述视频帧数据可以包括步骤201中分割后得到的各个单元的视频帧数据。

在一个示例中,为了实现视频的特殊效果,可以对各视频帧进行例如剪裁或拉伸等适当的处理。以对视频进行拉伸为例,针对各视频帧,可以采用本领域技术人员已知的任何可以实现对视频帧进行拉伸处理的方法来实现该目的,例如双线性插值法等。这些处理可在将视频帧或其单元映射至二维空间的过程中进行。

在一个示例中,在已确定二维模型数据和三维模型数据的情况下,也就是说,在各视频帧中单元的个数,各单元在二维空间中的顶点个数、顶点位置,各单元在三维空间中的顶点个数、顶点位置均确定的情况下,可在发送前,将已确定的二维模型数据和三维模型数据与相应的视频帧数据相关联地进行压缩处理来降低发送的数据量,以确保视频帧数据以及模型数据中的相关数据相匹配,便于提高后续构建多视角视频的质量。

根据以上示例,视频采集方可以根据所采集到的视频帧的特性,选择适当的方式对视频进行压缩、拉伸剪裁等特殊处理,基于适当的模型和映射方式对视频帧进行二维及三维映射,并将这些处理及映射相关的信息(例如模型数据)传递给视频生成方,使得视频生成方能够以此为依据生成多视角视频,使得多视角视频的生成更加灵活、适配性更高、成像效果更好,同时,便于视频采集方和视频生成方之间建立统一的数据传送格式,并且也降低了视频生成方的处理压力。

实施例2

图5示出根据本发明一实施例的视频生成方法的流程图。如图5所示,该方法主要包括:

步骤501,获取构建多视角视频所需的各拍摄方向的视频帧的视频帧数据以及模型数据,所述模型数据包括各视频帧映射至二维空间得到的二维模型数据,映射至二维空间的各视频帧映射至三维空间得到的三维模型数据以及所述三维空间所对应的三维模型的类型;

步骤502,根据所述三维模型数据及三维模型的类型进行三维建模,得到重建的三维模型;

步骤503,根据所述二维模型数据、所述视频帧数据以及所述重建的三维模型生成所述多视角视频。

根据该实施例的方法,通过获取构建多视角视频所需的各拍摄方向的视频帧的视频帧数据以及模型数据,根据该模型数据重建三维模型,并根据模型数据、所述视频帧数据和所述重建的三维模型生成多视角视频。由于模型数据中包含有各视频帧映射至二维空间得到的二维模型数据,映射至二维空间的各视频帧映射至三维空间得到的三维模型数据以及所述三维空间所对应的三维模型的类型,可以使生成多视角视频时能够以这些模型数据为依据,提高了生成过程与所提供的视频数据的适配性,以最大程度对视频帧数据进行还原,从而得到显示效果更优的多视角视频,提升用户体验。此外,利用模型数据可以方便地生成连续或非连续的多视角视频,生成方式更加灵活。

在一个示例中,根据所述二维模型数据、所述视频帧数据以及所述重建的三维模型生成所述多视角视频可以通过贴图(例如纹理贴图)方式实现,例如可根据所述二维模型数据和所述视频帧数据对所述重建的三维模型进行贴图,以生成多视角视频。

其中,对二维模型数据、三维模型数据和三维模型的类型的描述可参见实施例1中,此处不再赘述。

在一个示例中,所述视频帧包括多边形的多个单元,所述二维模型数据包括各视频帧中单元的个数以及各单元在二维空间中的顶点位置;所述三维模型数据包括各所述单元在三维空间中的顶点个数及顶点位置。其中,对所述视频帧及其单元的切分方式、二维模型数据和三维模型数据与实施例1中的类似,此处不再赘述。

在一个示例中,二维模型数据可以与视频帧的拍摄方向相对应,以便方便地构建与拍摄方向相对应的连续或非连续视角的视频。关于对应方式可参见实施例1。

在一个示例中,步骤502可以包括:根据所述三维模型的类型以及各所述单元在三维空间中的顶点个数及顶点位置,对各单元进行三维建模,得到各单元的重建的三维模型。

具体地,可以首先建立x∈[-1,1],y∈[-1,1],z∈[-1,1]的三维空间,根据接收到的三维模型的类型(如果是自定义三维模型,可包括模型参数)以及各单元在三维空间中的顶点个数及顶点位置(例如坐标)在该建立的三维空间中重新建立与三维模型的类型一致的三维模型,作为重建的三维模型。

在一个示例中,步骤503可以包括:针对各单元,根据该单元在二维空间中的顶点个数和顶点位置以及该单元的视频帧数据对该单元的重建的三维模型进行贴图处理,以得到所述多视角视频。

通过重建与模型数据中的三维模型的类型一致的三维模型,基于视频帧的二维模型数据和三维模型数据,利用视频帧数据对该三维模型进行贴图处理得到多视角视频,可以最大程度的减少扭曲和变形的现象,并且,视频采集方在映射和处理过程中对视频数据所做的拉伸、剪裁等各种优化处理也能够反映到重建的多视角视频中,因此可以增强多视角视频的显示效果,提升用户体验。

在一个示例中,在贴图处理前,可以根据需要对各数据帧的各单元中的部分或者全部的视频数据进行处理(例如剪裁或拉伸)。以拉伸为例,可以采用本领域技术人员已知的任何可以实现对视频帧进行拉伸处理的方法来实现对各单元的拉伸处理,例如双线性插值法等。

在一个示例中,视频生成方可根据需要,自由灵活地选取所接收到的视频帧中的任意视频帧甚至任意单元,来生成连续或非连续视角的多视角视频。

在一个示例中,在完成贴图处理后,可以按照视角投影原理,将已生成的多视角视频展示给用户。其中视角投影原理,就是物体在不同深度给予人的视觉效果不同,例如,同一个物体在人眼前方不同深度位置,呈献给人的大小和/或角度等均不同。

在一个示例中,所生成的多视角视频可以与其他视频或图像进行叠加,以生成最终呈现给用户的视频画面。举例来说,如果需要展示的画面为固定背景画面以及若干位置上的不同视角的视频画面,例如静止背景画面中,有两个不连续的位置分别需要呈现相应视角的视频画面,此时,可以基于所接收到的视频数据和模型数据在这两个不连续的位置上分别生成不同视角的视频画面,并叠加到静止的背景画面上。因为静止的画面的数据量远远小于视频帧的数据量,采用上述叠加的方式,在保证不影响生成的多视角视频的显示效果的情况下,可以有效降低码率,提升用户体验。

实施例3

图6示出根据本发明一实施例的视频采集装置的结构图。如图6所示,该装置可用于实现实施例1中方法各步骤的操作,该视频采集装置主要包括:

获取单元601,用于获取构建多视角视频所需的各拍摄方向的视频帧;

第一映射单元602,用于将各视频帧映射至二维空间,得到各视频帧在二维空间中的二维模型数据;

第二映射单元603,用于将映射至所述二维空间的各视频帧按预定的三维模型映射至三维空间,得到各视频帧在三维空间中的三维模型数据,以及

发送单元604,用于将所述视频帧的视频帧数据以及模型数据发送至服务器以便构建多视角视频,其中所述模型数据包括所述三维模型的类型、所述二维模型数据和所述三维模型数据。

根据该实施例的视频采集装置,通过获取各拍摄方向的视频帧,将包括各视频数据、各视频帧映射至二维空间得到的二维模型数据、映射至二维空间的各视频帧按预定的三维模型映射至三维空间得到的三维模型数据、以及三维模型的类型共同发送至服务器,以供视频生成方等构建多视角视频。由于所提供的视频帧数据与其二维模型数据、三维模型数据及三维模型的类型等模型数据相关联,使得生成多视角视频的方式更为灵活,且不仅限于全景视频,可以包括任意连续或非连续视角的多视角视频。并且,采集的视频帧数据可以适当地应用于任意类型(包括自定义类型)的三维模型,且在多视角视频生成的过程中能够以视频帧数据对应的模型数据为依据,从而最大程度上减少了扭曲和变形等,进而提升用户体验。

在一个示例中,获取单元601可以是本领域技术人员可以采用的能够获取构建多视角视频所需的各拍摄方向的视频帧的获取部件,例如采集设备(诸如摄像头、传感器等),任意能够采集构建多视角视频所需的各拍摄方向的视频帧的装置或其组合,采集设备可以是一个或多个,可以是分布式分设在所需的位置。在另一个实施例中,获取单元601还可以是可以接收来自第三方的各拍摄方向的视频帧的部件,本发明对此不作限制。

在一个示例中,各拍摄方向在实际空间中可以连续也可以不连续。

在一个示例中,所述视频采集单元还可以包括压缩单元,压缩单元可利用适当的压缩方式对所采集到的视频帧的视频帧数据进行压缩,以降低数据量。

在一个示例中,第一映射单元602将各视频帧映射至二维空间可以以各视频帧的拍摄方向为依据,例如,针对同一时间点拍摄方向不连续的两个视频帧,在二维空间中可映射至相应的不连续的位置,以便于生成视角不连续的多视角视频。当然,本领域技术人员也可以根据需要设置视频帧的拍摄方向与其在二维空间中的映射位置之间的关系,例如,包括将拍摄方向不连续的视频帧在二维空间中进行拼接,使它们在二维空间中的映射位置连续,以得到所需要的合成视频图像。

在一个示例中,二维模型数据可包括视频帧中的特征点在二维空间中的坐标,三维模型数据可包括视频帧中的特征点在三维空间中的坐标,三维模型的类型可以是常规的球体、正六面体等类型。如果是自定义三维模型,三维模型的类型可用自定义三维模型的模型参数来表示。

在一个示例中,第一映射单元602可以采用如下方式来将各视频帧映射至二维空间,得到各视频帧在二维空间中的二维模型数据。

举例而言,首先,在所述二维空间中,将各视频帧分割为多边形的多个单元。具体地,针对获取的每一个视频帧,可以在二维空间中将各视频帧分割为多边形的多个单元。换言之,经分割后的各视频帧是由多个多边形单元拼接而成。其中,各视频帧分割成的多个单元可以是同一类型的多边形,例如所有单元都是三角形或其他多边形,或者可以是不同类型的多边形,例如可以包含三角形和其他多边形等,本发明对此不作限制。在一个示例中,可以对分割后的各视频进行压缩处理。

将各视频帧分割为多边形的多个单元,以便于获取二维模型数据和三维模型数据,进而利于根据二维模型数据、三维模型数据以及三维模型的类型构建多视角视频。并且,通过将视频帧切分为更小的单元,使得能够以更小的单位将二维图像映射至三维,更能够适应于不同的三维模型(包括自定义三维模型),进一步降低了图像的失真扭曲,提高了成像效果。

其次,获得各视频帧中单元的个数以及各单元在二维空间中的顶点个数及顶点位置,作为所述二维模型数据。

例如,可以建立x∈[0,1],y∈[0,1]的二维空间,将各视频帧分割为多边形的多个单元后,映射至已建立的二维空间(或将视频帧映射至二维空间后再进行单元的分割),并确定各单元的顶点在该二维空间中的位置,该位置可以利用该顶点在二维空间中的坐标来表示。可将各视频帧分割的单元的个数、各单元在该二维空间中的顶点的个数和顶点的位置(例如坐标)作为二维模型数据。

第一映射单元602可以是本领域技术人员已知的可以将各视频帧映射至二维空间的部件,例如可通过通用处理器结合逻辑指令来实现,本发明对此不做限制。

在一个示例中,第二映射单元603可以采用如下方式来将映射至所述二维空间的各视频帧按照预定的三维模型映射至三维空间,得到各视频帧在三维空间中的三维模型数据。

举例而言,针对各视频帧,将各所述单元按照预定的三维模型映射至三维空间;获得各所述单元在三维空间中的顶点个数及顶点位置,作为所述三维模型数据。具体地,例如,可以建立x∈[-1,1],y∈[-1,1],z∈[-1,1]的三维空间,针对映射至二维空间的各视频帧,可以将各视频帧的各单元按照预定的三维模型映射至已建立的三维空间中。确定各单元的顶点在该三维空间中的位置,该位置可以利用该顶点在三维空间中的坐标来表示。可将各单元在该三维空间中的顶点的个数和顶点的位置(例如坐标)作为三维模型数据。其中,预定的三维模型可以为球形、正六面体或锥体等,也可以为自定义的其他类型的三维模型。在一个示例中,对于自定义三维模型,模型数据还可包括该自定义三维模型的模型参数,以利于视频生成方重构多视角视频。

第二映射单元603可以是本领域技术人员已知的可以将映射至二维空间的各视频帧按照预定的三维模型映射至三维空间的部件,例如可通过通用处理器结合逻辑指令来实现,本发明对此不做限制。

在一个示例中,发送单元604可以将所述视频帧的视频帧数据以及模型数据发送至服务器(例如转码服务器等),以便于后续构建多视角视频。其中,所述视频帧数据可以是采用常规编码压缩后的视频帧数据,模型数据可以包括例如第一映射单元602得到的二维模型数据、例如第二映射但愿603采用的三维模型的类型以及例如第二映射单元603得到的的三维模型数据。其中,发送方式可以采用有线或者无线的方式进行发送,本发明对此不作限制。

发送单元604可以是本领域技术人员已知的可以将所述视频帧的视频帧数据以及模型数据发送至服务器的部件,例如可通过通用发送硬件模块结合相关逻辑模块来实现,本发明对此不做限制。

服务器可对接收到的视频帧数据和模型数据进行封包以发送至视频生成方,封包信息可包括上述二维模型数据及三维模型数据。这些封包信息作为协议数据可以传输在应用层,也可以存储在视频压缩层,比如数据传输层,编码层等。

在一个示例中,所述视频帧数据可以包括分割后得到的各个单元的视频帧数据。

在一个示例中,所述视频采集单元还可以包括处理单元,为了实现视频的特殊效果,处理单元可以对各视频帧进行例如剪裁或拉伸等适当的处理。以对视频进行拉伸为例,针对各视频帧,本领域技术人员可以利用处理单元并采用例如双线性差值法来对各视频帧进行拉伸处理。这些处理可在将视频帧或其单元映射至二维空间的过程中进行。处理单元可以是本领域技术人员已知的可以对各视频帧进行例如剪裁或拉伸等处理的部件,例如可通过通用处理器结合逻辑指令来实现,本发明对此不做限制。

在一个示例中,所述视频采集装置还可包括压缩单元,在已确定二维模型数据和三维模型数据的情况下,也就是说,在各视频帧中单元的个数,各单元在二维空间中的顶点个数、顶点位置,各单元在三维空间中的顶点个数、顶点位置均确定的情况下,可在发送前,将根据已确定的二维模型数据和三维模型数据与相应的对视频帧数据相关联地进行压缩处理来降低发送的数据量,以确保视频帧数据以及模型数据中的相关数据相匹配,便于提高后续构建多视角视频的质量。压缩单元可以是本领域技术人员已知的可以对视频帧数据进行压缩的部件,例如可通过通用处理器结合逻辑指令来实现,本发明对此不做限制。

根据以上示例,视频采集方可以根据所采集到的视频帧的特性,选择适当的方式对视频进行压缩、拉伸剪裁等特殊处理,基于适当的模型和映射方式对视频帧进行二维及三维映射,并将这些处理及映射相关的信息(例如模型数据)传递给视频生成方,使得视频生成方能够以此为依据生成多视角视频,使得多视角视频的生成更加灵活、适配性更高、成像效果更好,同时,便于视频采集方和视频生成方之间建立统一的数据传送格式,并且也降低了视频生成方的处理压力。

实施例4

图7示出根据本发明一实施例的视频生成装置的结构图。如图7所示,该装置可用于实现实施例2中方法各步骤的操作,该视频生成装置主要包括:

获取单元701,用于获取构建多视角视频所需的各拍摄方向的视频帧的视频帧数据以及模型数据,所述模型数据包括视频帧映射至二维空间得到的二维模型数据,映射至二维空间的各视频帧映射至三维空间得到的三维模型数据以及所述三维空间所对应的三维模型的类型;

建模单元702,用于根据所述三维模型数据及三维模型的类型进行三维建模,得到重建的三维模型;

生成单元703,用于根据所述二维模型数据、所述视频帧数据以及所述重建的三维模型生成所述多视角视频。

根据该实施例的视频生成装置,通过获取构建多视角视频所需的各拍摄方向的视频帧的视频帧数据以及模型数据,根据该模型数据重建三维模型,并根据模型数据、所述视频帧数据和所述重建的三维模型生成多视角视频。由于模型数据中包含有各视频帧映射至二维空间得到的二维模型数据,映射至二维空间的各视频帧映射至三维空间得到的三维模型数据以及所述三维空间所对应的三维模型的类型,可以使生成多视角视频时能够以这些模型数据为依据,提高了生成过程与所提供的视频数据的适配性,以最大程度对视频帧数据进行还原,从而得到显示效果更优的多视角视频,提升用户体验。此外,利用模型数据可以方便地生成连续或非连续的多视角视频,生成方式更加灵活。

获取单元701可以是本领域技术人员已知的可以获取到用于构建多视角视频所需的各拍摄方向的视频帧的视频帧数据以及模型数据的部件,例如可以通过通用处理器结合逻辑指令来实现,也可以通过专用硬件电路来实现。其中,所述模型数据包括各视频帧映射至二维空间得到的二维模型数据,映射至二维空间的各视频帧映射至三维空间得到的三维模型数据以及所述三维空间所对应的三维模型的类型。

在一个示例中,生成单元703可以通过贴图(例如纹理贴图)方式,来实现根据所述二维模型数据、所述视频帧数据以及所述重建的三维模型生成所述多视角视频,例如可根据所述二维模型数据和所述视频帧数据对所述重建的三维模型进行贴图,以生成多视角视频。

其中,对二维模型数据、三维模型数据和三维模型的类型的描述可参见实施例1或3,此处不再赘述。

在一个示例中,所述视频帧包括多边形的多个单元,所述二维模型数据包括各视频帧中单元的个数以及各单元在二维空间中的顶点位置;所述三维模型数据包括各所述单元在三维空间中的顶点个数及顶点位置。其中,对所述视频帧及其单元的切分方式、二维模型数据和三维模型数据与实施例1或3中的类似,此处不再赘述。

在一个示例中,二维模型数据可以与视频帧的拍摄方向相对应,以便生成单元703方便地生成与拍摄方向相对应的连续或非连续视角的视频。关于对应方式可参见实施例1或3。

在一个示例中,建模单元702可以采用如下方式来根据所述三维模型的类型以及各所述单元在三维空间中的顶点个数及顶点位置,对各单元进行三维建模,以得到各单元的重建的三维模型。

具体地,可以首先建立x∈[-1,1],y∈[-1,1],z∈[-1,1]的三维空间,根据接收到的三维模型的类型(如果是自定义三维模型,可包括模型参数)以及各单元在三维空间中的顶点个数及顶点位置(例如坐标)在该建立的三维空间中重新建立与三维模型的类型一致的三维模型,作为重建的三维模型。

建模单元702可以是本领域技术人员已知的可以根据所述三维模型的类型以及各所述单元在三维空间中的顶点个数及顶点位置,对各单元进行三维模型建立的部件,例如可通过通用处理器结合逻辑指令来实现,本发明对此不做限制。

在一个示例中,生成单元703可以针对各单元,根据该单元在二维空间中的顶点个数和顶点位置以及该单元的视频帧数据对该单元的重建的三维模型进行贴图处理,以得到所述多视角视频。

生成单元703可以是本领域技术人员已知的可以根据获取的视频帧数据和模型数据生成多视角视频的部件,例如可通过通用处理器结合逻辑指令来实现,本发明对此不做限制。

通过重建与模型数据中的三维模型的类型一致的三维模型,基于视频帧的二维模型数据和三维模型数据,利用视频帧数据对该三维模型进行贴图处理得到多视角视频,可以最大程度的减少扭曲和变形的现象,并且,视频采集方在映射和处理过程中对视频数据所做的拉伸、剪裁等各种优化处理也能够反映到重建的多视角视频中,因此可以增强多视角视频的显示效果,提升用户体验。

在一个示例中,视频生成装置还可以包括处理单元,在贴图处理前,处理单元可以根据需要对各数据帧的各单元中的部分或者全部的视频数据进行处理(例如剪裁或拉伸)。以拉伸为例,采用本领域技术人员利用处理单元基于已知的任何可以实现对视频帧进行拉伸处理的方法来实现对各单元的拉伸处理,例如双线性插值法等。处理单元可以是本领域技术人员已知的可以对各视频帧进行例如剪裁或拉伸等处理的部件,例如可通过通用处理器结合逻辑指令来实现,本发明对此不做限制。

在一个示例中,视频生成方可利用视频生成装置根据需要,自由灵活地选取所接收到的视频帧中的任意视频帧甚至任意单元,来生成连续或非连续视角的多视角视频。

在一个示例中,在完成贴图处理后,可以按照视角投影原理,将已生成的多视角视频展示给用户。其中视角投影原理,就是物体在不同深度给予人的视觉效果不同,例如,同一个物体在人眼前方不同深度位置,呈献给人的大小和/或角度等均不同。

在一个示例中,视频生成装置还可包括叠加单元,叠加单元将所生成的多视角视频与其他视频或图像进行叠加,以生成最终呈现给用户的视频画面。举例来说,如果需要展示的画面为固定背景画面以及若干位置上的不同视角的视频画面,例如静止背景画面中,有两个不连续的位置分别需要呈现相应视角的视频画面,此时,可以基于所接收到的视频数据和模型数据在这两个不连续的位置上分别生成不同视角的视频画面,并叠加到静止的背景画面上。因为静止的画面的数据量远远小于视频帧的数据量,采用上述叠加的方式,在保证不影响生成的多视角视频的显示效果的情况下,可以有效降低码率,提升用户体验。叠加单元可以是本领域技术人员已知的可以将所生成的多视角视频与其他视频或图像进行叠加的部件,例如可通过通用处理器结合逻辑指令来实现,本发明对此不做限制。

实施例5

图8示出了本发明的另一个实施例的一种视频处理设备的结构框图。所述设备1100可以是具备计算能力的主机服务器、个人计算机PC、或者可携带的便携式计算机或终端等。本发明具体实施例并不对计算节点的具体实现做限定。

所述设备1100包括处理器(processor)1110、通信接口(Communications Interface)1120、存储器(memory)1130和总线1140。其中,处理器1110、通信接口1120、以及存储器1130通过总线1140完成相互间的通信。

通信接口1120用于与网络设备通信,其中网络设备包括例如虚拟机管理中心、共享存储等。

处理器1110用于执行程序。处理器1110可能是一个中央处理器CPU,或者是专用集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。

存储器1130用于存放文件。存储器1130可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1130也可以是存储器阵列。存储器1130还可能被分块,并且所述块可按一定的规则组合成虚拟卷。

在一种可能的实施方式中,上述程序可为包括计算机操作指令的程序代码。该程序具体可用于实现实施例1或2所述的方法。

本领域普通技术人员可以意识到,本文所描述的实施例中的各示例性部件及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件形式来实现,取决于技术方案的特定应用和设计约束条件。专业技术人员可以针对特定的应用选择不同的装置来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

如果以计算机软件的形式来实现所述功能并作为独立的产品销售或使用时,则在一定程度上可认为本发明的技术方案的全部或部分(例如对现有技术做出贡献的部分)是以计算机软件产品的形式体现的。该计算机软件产品通常存储在计算机可读取的非易失性存储介质中,包括若干指令用以使得计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各实施例装置的全部或部分步骤。而前述的存储介质包括U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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