一种虚拟视点的视频生成方法、装置及设备与流程

文档序号:16927624发布日期:2019-02-22 19:59阅读:158来源:国知局
一种虚拟视点的视频生成方法、装置及设备与流程

本发明涉及视频和图像处理领域。更具体地,本发明涉及一种虚拟视点的视频生成方法、装置及设备。



背景技术:

google公司的“streetview”和微软的“streetslide”是全景图与地图学成功结合的典范,它们让全景图变得家喻户晓。用户可以实现从一幅全景跳转到另一幅全景的跳跃式浏览,但这种模式会给用户带来明显的视觉不连续性,不能使用户完全体验高度沉浸式的自由导航。因此依靠合理的技术手段实现完全自由的虚拟导航被提上日程,而虚拟视点合成是关键技术之一。

虚拟视点合成是由给定的一系列相机或者单个可移动相机拍摄出的一组三维场景的图片,合成此场景在新视点下的图像的技术,是虚拟现实、虚拟视觉仿真、远程感知等研究领域关注的热点之一。基于全景图的虚拟视角合成技术融合了全景图带来的沉浸感和虚拟视角合成技术中引入的交互感,将对虚拟导航性能的提高有重要意义。尽管全景图提供了更加丰富的场景信息,但并不能感知场景深度,因此基于图像的绘制技术(ibr,image-basedrendering)为从根本上解决这一问题提供了理论依据。

ibr技术在一定程度上避免了三维模型重建的繁重计算量,又保证了合成图像的真实感,成为传统的基于几何图形学建模的良好替代技术。针对全景图的ibr技术大致分为两种。一种针对圆柱全景,另一种针对立方体全景图。上述方法虽然能够一定程度上解决全景虚拟视点合成的问题,但方法比较复杂,大多数只面向立方体全景图,不仅会产生六个面衔接处不连续的问题,并且对全景图的其他表示方法没有通用性。



技术实现要素:

本发明的示例性实施例在于提供一种虚拟视点的视频生成方法、装置及设备,以通过生成两视点中间任意位置的虚拟360度全景视频,实现在两视点间随意走动,观看任意位置的360度场景视频,从而降低全景虚拟视点视频生成方法的复杂性,提高全景虚拟视点视频生成方法的通用性和适用范围。

根据本发明的示例性实施例,提供一种虚拟视点的视频生成方法,包括:接收左视点视频和右视点视频;针对左视点视频和右视点视频的每一帧执行以下处理:获取左视点图像和右视点图像,根据左视点图像和右视点图像,生成左视点光流金字塔和右视点光流金字塔,根据左视点光流金字塔和右视点光流金字塔,生成从左视点到右视点的第一光流图和从右视点到左视点的第二光流图,根据第一光流图和第二光流图,将左视点图像和右视点图像重映射到预定的虚拟视点,得到第一重映射图像和第二重映射图像,对第一重映射图像和第二重映射图像进行图像融合,得到虚拟视点图像;根据针对左视点视频和右视点视频的所有帧得到的虚拟视点图像,生成虚拟视点的视频。

可选地,所述左视点视频可包括左视点全景视频,所述右视点视频可包括右视点全景视频。

可选地,生成左视点光流金字塔和右视点光流金字塔的步骤可包括:对左视点图像和右视点图像进行图像预处理;根据经过所述图像预处理的左视点图像和右视点图像,生成左视点光流金字塔和右视点光流金字塔。

可选地,图像预处理可包括对左视点全景图像和右视点全景图像进行全景展开。

可选地,生成从左视点到右视点的第一光流图和从右视点到左视点的第二光流图的步骤可包括:分别计算左视点光流金字塔的最高层光流和右视点光流金字塔的最高层光流;分别根据左视点光流金字塔的最高层光流和右视点光流金字塔的最高层光流,计算左视点光流金字塔和右视点光流金字塔的其他各层光流;分别对左视点光流金字塔和右视点光流金字塔的各层光流进行迭代优化;根据经过迭代优化的左视点光流金字塔和右视点光流金字塔的各层光流,生成第一光流图和第二光流图。

可选地,分别计算左视点光流金字塔的最高层光流和右视点光流金字塔的最高层光流的步骤可包括:针对左视点光流金字塔的最高层图像的每个参考块,根据块匹配算法在右视点光流金字塔的最高层图像的与参考块相应的搜索空间中搜索与参考块最匹配的图像块,并根据每个参考块与搜索到的最匹配的图像块之间的位移确定左视点光流金字塔的最高层光流;针对右视点光流金字塔的最高层图像的每个参考块,根据块匹配算法在左视点光流金字塔的最高层图像的与参考块相应的搜索空间中搜索与参考块最匹配的图像块,并根据每个参考块与搜索到的最匹配的图像块之间的位移确定右视点光流金字塔的最高层光流。

可选地,计算左视点光流金字塔和右视点光流金字塔的其他各层光流的步骤可包括:在左视点光流金字塔和右视点光流金字塔中,分别从左视点光流金字塔的最高层和右视点光流金字塔的最高层开始,依次根据当前层光流计算下一层的光流,直至计算出左视点光流金字塔的最底层光流和右视点光流金字塔的最底层光流。

可选地,分别对左视点光流金字塔和右视点光流金字塔的各层光流进行迭代优化的步骤可包括:针对左视点光流金字塔和右视点光流金字塔的每一层,在奇数次迭代优化过程中,对每个图像块,根据当前图像块在第一预设方向上的位置邻近图像块的光流对当前图像块的光流进行校正;在偶数次迭代优化过程中,对每个图像块,根据当前图像块在第二预设方向上的邻近图像块的光流对当前图像块的光流进行校正。

可选地,所述虚拟视点的视频生成方法还可包括:对左视点图像和右视点图像进行运动检测,得到运动检测的结果。

可选地,分别对左视点光流金字塔和右视点光流金字塔的各层光流进行迭代优化的步骤可包括:在对左视点光流金字塔的光流进行迭代优化过程中,根据运动检测的结果,对当前帧的左视点光流金字塔的最底层光流和前一帧的左视点光流金字塔的最底层光流进行加权计算,得到经过加权计算的当前帧的左视点光流金字塔的最底层光流;在对右视点光流金字塔的光流进行迭代优化过程中,根据运动检测的结果,对当前帧的右视点光流金字塔的最底层光流和前一帧的右视点光流金字塔的最底层光流进行加权计算,得到经过加权计算的当前帧的右视点光流金字塔的最底层光流。

根据本发明的示例性实施例,提供一种虚拟视点的视频生成装置,包括:视频接收模块,被配置为接收左视点视频和右视点视频;虚拟图像生成模块,被配置为针对左视点视频和右视点视频的每一帧执行处理,以得到虚拟视点图像;合成处理模块,被配置为根据针对左视点视频和右视点视频的所有帧得到的虚拟视点图像,生成虚拟视点的视频;虚拟图像生成模块包括:图像获取模块,被配置为获取左视点图像和右视点图像,金字塔生成模块,被配置为根据左视点图像和右视点图像,生成左视点光流金字塔和右视点光流金字塔,光流图生成模块,被配置为根据左视点光流金字塔和右视点光流金字塔,生成从左视点到右视点的第一光流图和从右视点到左视点的第二光流图,图像重映射模块,被配置为根据第一光流图和第二光流图,将左视点图像和右视点图像重映射到预定的虚拟视点,得到第一重映射图像和第二重映射图像,图像融合模块,被配置为对第一重映射图像和第二重映射图像进行图像融合,得到虚拟视点图像。

可选地,所述左视点视频可包括左视点全景视频,所述右视点视频可包括右视点全景视频。

可选地,金字塔生成模块可被配置为:对左视点图像和右视点图像进行图像预处理;根据经过所述图像预处理的左视点图像和右视点图像,生成左视点光流金字塔和右视点光流金字塔。

可选地,图像预处理可包括对左视点全景图像和右视点全景图像进行全景展开。

可选地,光流图生成模块可被配置为:分别计算左视点光流金字塔的最高层光流和右视点光流金字塔的最高层光流;分别根据左视点光流金字塔的最高层光流和右视点光流金字塔的最高层光流,计算左视点光流金字塔和右视点光流金字塔的其他各层光流;分别对左视点光流金字塔和右视点光流金字塔的各层光流进行迭代优化;根据经过迭代优化的左视点光流金字塔和右视点光流金字塔的各层光流,生成第一光流图和第二光流图。

可选地,光流图生成模块可被配置为:针对左视点光流金字塔的最高层图像的每个参考块,根据块匹配算法在右视点光流金字塔的最高层图像的与参考块相应的搜索空间中搜索与参考块最匹配的图像块,并根据每个参考块与搜索到的最匹配的图像块之间的位移确定左视点光流金字塔的最高层光流;针对右视点光流金字塔的最高层图像的每个参考块,根据块匹配算法在左视点光流金字塔的最高层图像的与参考块相应的搜索空间中搜索与参考块最匹配的图像块,并根据每个参考块与搜索到的最匹配的图像块之间的位移确定右视点光流金字塔的最高层光流。

可选地,光流图生成模块可被配置为:在左视点光流金字塔和右视点光流金字塔中,分别从左视点光流金字塔的最高层和右视点光流金字塔的最高层开始,依次根据当前层光流计算下一层的光流,直至计算出左视点光流金字塔的最底层光流和右视点光流金字塔的最底层光流。

可选地,光流图生成模块可被配置为:针对左视点光流金字塔和右视点光流金字塔的每一层,在奇数次迭代优化过程中,对每个图像块,根据当前图像块在第一预设方向上的位置邻近图像块的光流对当前图像块的光流进行校正;在偶数次迭代优化过程中,对每个图像块,根据当前图像块在第二预设方向上的邻近图像块的光流对当前图像块的光流进行校正。

可选地,所述虚拟视点的视频生成装置还可包括:运动检测模块,被配置为对左视点图像和右视点图像进行运动检测,得到运动检测的结果。

可选地,光流图生成模块可被配置为:在对左视点光流金字塔的光流进行迭代优化过程中,根据运动检测的结果,对当前帧的左视点光流金字塔的最底层光流和前一帧的左视点光流金字塔的最底层光流进行加权计算,得到经过加权计算的当前帧的左视点光流金字塔的最底层光流;在对右视点光流金字塔的光流进行迭代优化过程中,根据运动检测的结果,对当前帧的右视点光流金字塔的最底层光流和前一帧的右视点光流金字塔的最底层光流进行加权计算,得到经过加权计算的当前帧的右视点光流金字塔的最底层光流。

根据本发明的示例性实施例,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被执行时实现根据本发明的虚拟视点的视频生成方法的步骤。

根据本发明的示例性实施例,提供一种视频生成设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据本发明的虚拟视点的视频生成检测方法的步骤。

根据本发明示例性实施例虚拟视点的视频生成方法、装置及设备,通过使用光流金字塔和光流图来计算光流,可根据所提供的两个不同视角的左视点全景视频和右视点全景视频,生成左右两视点中间任意位置的虚拟360度全景视频,降低了生成全景虚拟视点视频的复杂性,提高了虚拟全景视频的生成速率和效果,从而实现在左右两视点间随意走动,观看任意位置的360度场景。另外,根据本发明示例性实施例的虚拟视点的视频生成方法适合于使用任意左右视点全景视频来生成虚拟视点的全景视频,从而提高了全景虚拟视点视频生成方法的通用性和适用范围。

将在接下来的描述中部分阐述本发明另外的方面和/或优点,还有一部分通过描述将是清楚的,或者可以经过本发明的实施而得知。

附图说明

通过下面结合示例性地示出实施例的附图进行的描述,本发明示例性实施例的上述和其他目的和特点将会变得更加清楚,其中:

图1示出根据本发明示例性实施例的虚拟视点的视频生成方法的流程图;

图2示出根据本发明示例性实施例的虚拟视点图像生成方法的流程图;

图3示出根据本发明示例性实施例的虚拟视点的视频生成装置的框图;

图4示出根据本发明示例性实施例的虚拟视点图像生成装置的框图;

图5示出根据本发明示例性实施例的视频生成设备的示意图;和

图6示出根据本发明示例性实施例的包含视频生成设备的全景播放网络的示意图。

具体实施方式

现将详细参照本发明的示例性实施例,所述实施例的示例在附图中示出,其中,相同的标号始终指的是相同的部件。以下将通过参照附图来说明所述实施例,以便解释本发明。

本发明示例性实施例适用于视频和图像处理领域,尤其适用于根据左视点全景视频和右视点全景视频生成虚拟视点的全景视频。

图1示出根据本发明示例性实施例的虚拟视点的视频生成方法的流程图。

参照图1,在步骤s101,接收左视点视频和右视点视频。

在本发明示例性实施例中,可通过单个或更多个相机获取左视点视频和右视点视频。

作为示例,所述左视点视频包括左视点全景视频,所述右视点视频包括右视点全景视频。

优选地,所述左视点视频和右视点视频分别是左视点全景视频和右视点全景视频,从而通过后续的步骤生成虚拟视点的全景视频。其中,可通过单个或更多个全景相机获取左视点全景视频和右视点全景视频。

可选地,全景相机可包括鱼眼镜头。

优选地,为了保证视频中的静态物体没有抖动现象,还可分别对左视点视频和右视点视频进行运动检测,以将运动物体和静态背景进行分离处理。

具体地,在对左视点视频或者右视点视频进行运动检测时,可首先获取左视点视频或者右视点视频的前后两帧的彩色图的颜色,即,当前帧的彩色图的颜色(用rgba1来表示)和上一帧彩色图的颜色(用prergba1来表示),并通过以下公式计算三个颜色通道的差的平均值m(x,y),然后根据得到的平均值m(x,y)来分离运动物体和静态背景。

m(x,y)=(|rgba1(x,y)[0]-prergba1(x,y)[0]|+

|rgba1(x,y)[1]-prergba1(x,y)[1]|+

|rgba1(x,y)[2]-prergba1(x,y)[2]|)/(255.0*3.0)

其中,(x,y)表示像素点的坐标,[0]、[1]和[2]表示3个颜色通道,3.0表示有3个颜色通道,255.0是在以使用二进制八字节为限制条件的情况下的数值,本领域技术人员应理解,该数值不限于255.0,可以是其他数值。

在步骤s102,针对左视点视频和右视点视频的每一帧获取虚拟视点图像。

在本发明示例性实施例中,为了得到左视点和右视点之间的预设的虚拟视点的视频,对视频的每一帧依次进行逐帧处理,即针对左视点视频和右视点视频的每一帧的左视点图像和右视点图像进行分别处理,以得到每一帧的虚拟视点图像。虚拟视点可以是左视点和右视点之间的任意视点,从而可生成左右两视点中间任意视点位置的虚拟图像,进而实现在两视点间随意走动,观看任意位置的图像。

在步骤s103,根据针对左视点视频和右视点视频的所有帧得到的虚拟视点图像,生成虚拟视点的视频。

在本发明示例性实施例中,得到左视点视频和右视点视频的所有帧的虚拟视点图像之后,通过对所有帧的虚拟视点图像进行视频合成处理,生成虚拟视点的视频。

图2示出根据本发明示例性实施例的虚拟视点图像生成方法的流程图。

在本发明示例性实施例中,针对左视点视频和右视点视频的任意一帧来说明生成虚拟视点图像的方法。左视点视频和右视点视频的任意一帧可以是左视点视频的第n帧和右视点视频的第n帧。

参照图2,在步骤s201,获取左视点图像和右视点图像。

在本发明示例性实施例中,获取与左视点视频和右视点视频的当前帧相应的左视点图像和右视点图像。例如,如果将左视点视频的第5帧和右视点视频的第5帧作为任意一帧的示例,则获取左视点视频的第5帧的图像作为左视点图像并获取右视点视频的第5帧的图像作为右视点图像。

优选地,当左视点视频和右视点视频分别是左视点全景视频和右视点全景视频时,获取的左视点图像和右视点图像分别是左视点全景图像和右视点全景图像。

在步骤s202,根据左视点图像和右视点图像,生成左视点光流金字塔和右视点光流金字塔。

在本发明示例性实施例中,为了根据左视点图像和右视点图像来生成虚拟视点图像,将左视点图像和右视点图像看成一台固定相机拍摄到的运动场景的前后两帧,将左右视点的位置变化看做三维空间中物体的移动。因为当两个相邻的全景相机间隔较大时或者当单个可移动相机移动间隔较大时,左视点图像和右视点图像的灰度难以完全一致,所以基于光流金字塔来进行光流计算,以防止灰度不一致影响计算的准确性。光流金字塔是由原始图像逐层下采样得到的分辨率逐渐降低的多个图像组成的,其中,原始图像位于光流金字塔的最底层,分辨率最低的图像位于光流金字塔的最顶层。

光流金字塔中较高的层是其下一层平滑后的下采样形式,原始图像(即,左视点图像或右视点图像)在光流金字塔的最底层。当图像下采样分解到一定的层后,左视点图像或右视点图像间运动量将变得足够小,此时满足光流计算的约束条件。

作为示例,因为当通过鱼眼镜头之类的镜头获取左视点全景视频和右视点全景视频时,获取的左视点全景图像和右视点全景图像可能会存在严重的非线性形变和失真,所以在获取到左视点全景图像和右视点全景图像之后需要对获取的左视点全景图像和右视点全景图像进行处理,以使全景图像适合人眼观察,最大程度地与普通平面图像近似,符合光流计算的条件。

因此,在根据左视点图像和右视点图像,生成左视点光流金字塔和右视点光流金字塔时,可首先对左视点图像和右视点图像进行图像预处理,然后根据经过所述图像预处理的左视点图像和右视点图像,生成左视点光流金字塔和右视点光流金字塔,从而提高左视点光流金字塔和右视点光流金字塔的准确性。其中,图像预处理至少包括对左视点全景图像和右视点全景图像进行全景展开。

在步骤s203,根据左视点光流金字塔和右视点光流金字塔,生成从左视点到右视点的第一光流图和从右视点到左视点的第二光流图。

在本发明示例性实施例中,从左视点到右视点的第一光流图可表示左视点光流金字塔每层图像中的每个像素点与其在右视点光流金字塔相应图像中的位置之间的位移,从右视点到左视点的第二光流图可表示右视点光流金字塔每层图像中的每个像素点与其在左视点光流金字塔相应图像中的位置之间的位移。

作为示例,在生成从左视点到右视点的第一光流图和从右视点到左视点的第二光流图时,可首先分别计算左视点光流金字塔的最高层光流和右视点光流金字塔的最高层光流,然后分别根据左视点光流金字塔的最高层光流和右视点光流金字塔的最高层光流,计算左视点光流金字塔和右视点光流金字塔的其他各层光流,并分别对左视点光流金字塔和右视点光流金字塔的各层光流进行迭代优化,最后根据经过迭代优化的左视点光流金字塔和右视点光流金字塔的各层光流,生成第一光流图和第二光流图。

其中,作为示例,在分别计算左视点光流金字塔的最高层光流和右视点光流金字塔的最高层光流时,可针对左视点光流金字塔的最高层图像的每个参考块,根据块匹配算法在右视点光流金字塔的最高层图像的与参考块相应的搜索空间中搜索与参考块最匹配的图像块,并根据每个参考块与搜索到的最匹配的图像块之间的位移确定左视点光流金字塔的最高层光流,并可针对右视点光流金字塔的最高层图像的每个参考块,根据块匹配算法在左视点光流金字塔的最高层图像的与参考块相应的搜索空间中搜索与参考块最匹配的图像块,并根据每个参考块与搜索到的最匹配的图像块之间的位移确定右视点光流金字塔的最高层光流。在本发明实施例中,对左视点光流金字塔的最高层光流和右视点光流金字塔的最高层光流的计算顺序不进行限制。

具体地,搜索空间可以是以参考块的中心为中心选定的搜索窗口,搜索空间的大小可以是5*5(以参考块的边长为单位)。在搜索与参考块最匹配的图像块时,可在窗口中的9个检测点进行匹配计算,即寻找灰度值的差异最小点。其中,可通过计算参考块与检测点之间的灰度值的平均绝对误差来寻找灰度值的差异最小点,差异最小点所在的图像块为与参考块最匹配的图像块。

作为示例,可通过公式计算平均绝对误差。

其中,-w≤m,n≤w,mad表示平均绝对误差,(i,j)表示像素坐标,p(i,j)和q(i+m,j+n)分别表示参考块与待匹配块在(m,n)和(m+i,n+j)位置上的灰度值,m*n为块的尺寸,w为搜索窗的大小。因为一个参考块可能对应多个位置的mad值,所以设定索引值k来区分不同位置的mad值。mad为最小值的点即为差异最小点。

其中,作为示例,在计算左视点光流金字塔和右视点光流金字塔的其他各层光流时,可在左视点光流金字塔和右视点光流金字塔中,分别从左视点光流金字塔的最高层和右视点光流金字塔的最高层开始,依次根据当前层光流计算下一层的光流,直至计算出左视点光流金字塔的最底层光流和右视点光流金字塔的最底层光流。

其中,作为示例,在分别对左视点光流金字塔和右视点光流金字塔的各层光流进行迭代优化时,可针对左视点光流金字塔和右视点光流金字塔的每一层,在奇数次迭代优化过程中,对每个图像块,根据当前图像块在第一预设方向上的位置邻近图像块的光流对当前图像块的光流进行校正,在偶数次迭代优化过程中,对每个图像块,根据当前图像块在第二预设方向上的邻近图像块的光流对当前图像块的光流进行校正。

具体地,第一预设方向可以是右下方,第二预设方向可以是左上方,第一预设方向与第二预设方向不同。以奇数次迭代优化过程为例,对每个图像块,可获取当前图像块的光流、当前图像块右方图像块的光流以及当前图像块下方图像块的光流,选择这三个图像块中产生的平均绝对误差最小的图像块的光流对当前图像块的光流进行更新。其中,公式f(x,y)=argmin{d(f(x,y)),d(f(x-1,y)),d(f(x,y-1))}可用于光流的更新,f(x,y)表示以(x,y)为中心的图像块的光流,d(v)表示采用v的光流产生的平均绝对误差,f(x,y)表示使误差最小的光流。

其中,作为示例,在分别对左视点光流金字塔和右视点光流金字塔的各层光流进行迭代优化时,可在对左视点光流金字塔的光流进行迭代优化过程中,根据运动检测的结果,对当前帧的左视点光流金字塔的最底层光流和前一帧的左视点光流金字塔的最底层光流进行加权计算,得到经过加权计算的当前帧的左视点光流金字塔的最底层光流,在对右视点光流金字塔的光流进行迭代优化过程中,根据运动检测的结果,对当前帧的右视点光流金字塔的最底层光流和前一帧的右视点光流金字塔的最底层光流进行加权计算,得到经过加权计算的当前帧的右视点光流金字塔的最底层光流。

具体地,可使用公式flow(x,y)=w*preflow(x,y)+(1-w)*flow(x,y)进行加权计算。

其中,w表示权重,flow(x,y)表示当前帧中以(x,y)为中心的图像块的光流,preflow(x,y)表示前一帧中以(x,y)为中心的图像块的光流。

在步骤s204,根据第一光流图和第二光流图,将左视点图像和右视点图像重映射到预定的虚拟视点,得到第一重映射图像和第二重映射图像。

由于从左视点到右视点的第一光流图表示左视点光流金字塔每层图像中的每个像素点与其在右视点光流金字塔相应图像中的位置之间的位移,从右视点到左视点的第二光流图表示右视点光流金字塔每层图像中的每个像素点与其在左视点光流金字塔相应图像中的位置之间的位移,因此,在得到第一光流图和第二光流图之后,可获得左视点图像中的每个像素点的位置从左视点到右视点的移动规则以及右视点图像中的每个像素点的位置从右视点到左视点的移动规则。

在本发明示例性实施例中,由于预定的虚拟视点位于右视点和左视点之间,因此,根据左视点图像中的每个像素点的位置从左视点到右视点的移动规则,可将左视点图像重映射到预定的虚拟视点,得到第一重映射图像;根据右视点图像中的每个像素点的位置从右视点到左视点的移动规则,可将右视点图像重映射到预定的虚拟视点,得到第二重映射图像。

在步骤s205,对第一重映射图像和第二重映射图像进行图像融合,得到虚拟视点图像。

在本发明示例性实施例中,为了提高虚拟视点图像的准确性和真实性,通过对第一重映射图像和第二重映射图像进行图像融合来生成虚拟视点图像。

优选地,为提高实时性,可以预先计算第一光流图和第二光流图,在生成虚拟视点图像时,耗时可只发生在重映射过程和重映射图像的融合过程,在生成虚拟视点视频时,耗时可只发生在重映射过程、重映射图像的融合过程和视频合成过程。

根据本发明示例性实施例的虚拟视点的视频生成方法,通过使用光流金字塔和光流图来计算光流,可根据所提供的两个不同视角的左视点全景视频和右视点全景视频,生成左右两视点中间任意位置的虚拟360度全景视频,降低了生成全景虚拟视点视频的复杂性,提高了虚拟全景视频的生成速率和效果,从而实现在左右两视点间随意走动,观看任意位置的360度场景。另外,根据本发明示例性实施例的虚拟视点的视频生成方法适合于使用任意左右视点全景视频来生成虚拟视点的全景视频,从而提高了全景虚拟视点视频生成方法的通用性和适用范围。

以上已经结合图1至图2对根据本发明示例性实施例的虚拟视点的视频生成方法进行了描述。在下文中,将参照图3和图4对根据本发明示例性实施例的虚拟视点的视频生成装置及其模块进行描述。

图3示出根据本发明示例性实施例的虚拟视点的视频生成装置的框图。

参照图3,虚拟视点的视频生成装置包括视频接收模块31、虚拟图像生成模块32和合成处理模块33。

视频接收模块31,被配置为接收左视点视频和右视点视频。

在本发明示例性实施例中,视频接收模块31可接收通过单个或更多个相机获取左视点视频和右视点视频,本发明对此不进行限制。

作为示例,所述左视点视频包括左视点全景视频,所述右视点视频包括右视点全景视频。

优选地,所述左视点视频和右视点视频分别是左视点全景视频和右视点全景视频,从而通过后续的步骤生成虚拟视点的全景视频。其中,视频接收模块31可接收通过单个或更多个全景相机获取左视点全景视频和右视点全景视频。

可选地,全景相机可包括鱼眼镜头。

优选地,为了保证视频中的静态物体没有抖动现象,虚拟视点的视频生成装置还可分别对左视点视频和右视点视频进行运动检测,以将运动物体和静态背景进行分离处理。因此,虚拟视点的视频生成装置还可包括:运动检测模块,被配置为对左视点图像和右视点图像进行运动检测,得到运动检测的结果。

虚拟图像生成模块32,被配置为针对左视点视频和右视点视频的每一帧执行处理,以得到虚拟视点图像。

在本发明示例性实施例中,为了得到左视点和右视点之间的预设的虚拟视点的视频,通过虚拟图像生成模块32对视频的每一帧依次进行逐帧处理,即针对左视点视频和右视点视频的每一帧的左视点图像和右视点图像进行分别处理,以得到每一帧的虚拟视点图像。虚拟视点可以是左视点和右视点之间的任意视点,从而可生成左右两视点中间任意视点位置的虚拟图像,进而实现在两视点间随意走动,观看任意位置的图像。

合成处理模块33,被配置为根据针对左视点视频和右视点视频的所有帧得到的虚拟视点图像,生成虚拟视点的视频。

在本发明示例性实施例中,得到左视点视频和右视点视频的所有帧的虚拟视点图像之后,通过合成处理模块33对所有帧的虚拟视点图像进行视频合成处理来生成虚拟视点的视频。

图4示出根据本发明示例性实施例的虚拟视点图像生成装置的框图。

在本发明示例性实施例中,针对左视点视频和右视点视频的任意一帧来对虚拟视点图像生成装置进行说明。左视点视频和右视点视频的任意一帧可以是左视点视频的第n帧和右视点视频的第n帧。

参照图4,虚拟视点图像生成装置包括图像获取模块41、金字塔生成模块42、光流图生成模块43、图像重映射模块44和图像融合模块45。

图像获取模块41,被配置为获取左视点图像和右视点图像。

在本发明示例性实施例中,通过图像获取模块41获取与左视点视频和右视点视频的当前帧相应的左视点图像和右视点图像。例如,如果将左视点视频的第5帧和右视点视频的第5帧作为任意一帧的示例,则通过图像获取模块41获取左视点视频的第5帧的图像作为左视点图像并获取右视点视频的第5帧的图像作为右视点图像。

优选地,当左视点视频和右视点视频分别是左视点全景视频和右视点全景视频时,通过图像获取模块41获取的左视点图像和右视点图像分别是左视点全景图像和右视点全景图像。

金字塔生成模块42,被配置为根据左视点图像和右视点图像,生成左视点光流金字塔和右视点光流金字塔。

在本发明示例性实施例中,为了根据左视点图像和右视点图像来生成虚拟视点图像,将左视点图像和右视点图像看成一台固定相机拍摄到的运动场景的前后两帧,将左右视点的位置变化看做三维空间中物体的移动。因为当两个相邻的全景相机间隔较大时或者当单个可移动相机移动间隔较大时,左视点图像和右视点图像的灰度难以完全一致,所以基于光流金字塔来进行光流计算,以防止灰度不一致影响计算的准确性。

光流金字塔中较高的层是其下一层平滑后的下采样形式,原始图像(即,左视点图像或右视点图像)在光流金字塔的最底层。当图像下采样分解到一定的层后,左视点图像或右视点图像间运动量将变得足够小,此时满足光流计算的约束条件。

作为示例,因为当通过鱼眼镜头之类的镜头获取左视点全景视频和右视点全景视频时,获取的左视点全景图像和右视点全景图像可能会存在严重的非线性形变和失真,所以在获取到左视点全景图像和右视点全景图像之后需要对获取的左视点全景图像和右视点全景图像进行处理,以使全景图像适合人眼观察,最大程度地与普通平面图像近似,符合光流计算的条件。

因此,金字塔生成模块42,还可被配置为:在根据左视点图像和右视点图像,生成左视点光流金字塔和右视点光流金字塔时,首先对左视点图像和右视点图像进行图像预处理,然后根据经过所述图像预处理的左视点图像和右视点图像,生成左视点光流金字塔和右视点光流金字塔,从而提高左视点光流金字塔和右视点光流金字塔的准确性。其中,图像预处理至少包括对左视点全景图像和右视点全景图像进行全景展开。

光流图生成模块43,被配置为根据左视点光流金字塔和右视点光流金字塔,生成从左视点到右视点的第一光流图和从右视点到左视点的第二光流图。

在本发明示例性实施例中,从左视点到右视点的第一光流图可表示左视点光流金字塔每层图像中的每个像素点与其在右视点光流金字塔相应图像中的位置之间的位移,从右视点到左视点的第二光流图可表示右视点光流金字塔每层图像中的每个像素点与其在左视点光流金字塔相应图像中的位置之间的位移。

作为示例,光流图生成模块43还可被配置为:在生成从左视点到右视点的第一光流图和从右视点到左视点的第二光流图时,首先分别计算左视点光流金字塔的最高层光流和右视点光流金字塔的最高层光流,然后分别根据左视点光流金字塔的最高层光流和右视点光流金字塔的最高层光流,计算左视点光流金字塔和右视点光流金字塔的其他各层光流,并分别对左视点光流金字塔和右视点光流金字塔的各层光流进行迭代优化,最后根据经过迭代优化的左视点光流金字塔和右视点光流金字塔的各层光流,生成第一光流图和第二光流图。

其中,作为示例,光流图生成模块43还可被配置为:在分别计算左视点光流金字塔的最高层光流和右视点光流金字塔的最高层光流时,针对左视点光流金字塔的最高层图像的每个参考块,根据块匹配算法在右视点光流金字塔的最高层图像的与参考块相应的搜索空间中搜索与参考块最匹配的图像块,并根据每个参考块与搜索到的最匹配的图像块之间的位移确定左视点光流金字塔的最高层光流,并可针对右视点光流金字塔的最高层图像的每个参考块,根据块匹配算法在左视点光流金字塔的最高层图像的与参考块相应的搜索空间中搜索与参考块最匹配的图像块,并根据每个参考块与搜索到的最匹配的图像块之间的位移确定右视点光流金字塔的最高层光流。在本发明实施例中,对左视点光流金字塔的最高层光流和右视点光流金字塔的最高层光流的计算顺序不进行限制。

具体地,搜索空间可以是以参考块的中心为中心选定的搜索窗口,搜索空间的大小可以是5*5(以参考块的边长为单位)。在搜索与参考块最匹配的图像块时,可在窗口中的9个检测点进行匹配计算,即寻找灰度值的差异最小点。其中,可通过计算参考块与检测点之间的灰度值的平均绝对误差来寻找灰度值的差异最小点,差异最小点所在的图像块为与参考块最匹配的图像块。

其中,作为示例,光流图生成模块43还可被配置为:在计算左视点光流金字塔和右视点光流金字塔的其他各层光流时,在左视点光流金字塔和右视点光流金字塔中,分别从左视点光流金字塔的最高层和右视点光流金字塔的最高层开始,依次根据当前层光流计算下一层的光流,直至计算出左视点光流金字塔的最底层光流和右视点光流金字塔的最底层光流。

其中,作为示例,光流图生成模块43还可被配置为:在分别对左视点光流金字塔和右视点光流金字塔的各层光流进行迭代优化时,针对左视点光流金字塔和右视点光流金字塔的每一层,在奇数次迭代优化过程中,对每个图像块,根据当前图像块在第一预设方向上的位置邻近图像块的光流对当前图像块的光流进行校正,在偶数次迭代优化过程中,对每个图像块,根据当前图像块在第二预设方向上的邻近图像块的光流对当前图像块的光流进行校正。

具体地,第一预设方向可以是右下方,第二预设方向可以是左上方,第一预设方向与第二预设方向不同。以奇数次迭代优化过程为例,对每个图像块,可获取当前图像块的光流、当前图像块右方图像块的光流以及当前图像块下方图像块的光流,选择这三个图像块中产生的平均绝对误差最小的图像块的光流对当前图像块的光流进行更新。

其中,作为示例,光流图生成模块43还可被配置为:在分别对左视点光流金字塔和右视点光流金字塔的各层光流进行迭代优化时,在对左视点光流金字塔的光流进行迭代优化过程中,根据运动检测的结果,对当前帧的左视点光流金字塔的最底层光流和前一帧的左视点光流金字塔的最底层光流进行加权计算,得到经过加权计算的当前帧的左视点光流金字塔的最底层光流,在对右视点光流金字塔的光流进行迭代优化过程中,根据运动检测的结果,对当前帧的右视点光流金字塔的最底层光流和前一帧的右视点光流金字塔的最底层光流进行加权计算,得到经过加权计算的当前帧的右视点光流金字塔的最底层光流。

图像重映射模块44,被配置为根据第一光流图和第二光流图,将左视点图像和右视点图像重映射到预定的虚拟视点,得到第一重映射图像和第二重映射图像。

由于从左视点到右视点的第一光流图表示左视点光流金字塔每层图像中的每个像素点与其在右视点光流金字塔相应图像中的位置之间的位移,从右视点到左视点的第二光流图表示右视点光流金字塔每层图像中的每个像素点与其在左视点光流金字塔相应图像中的位置之间的位移,因此,在得到第一光流图和第二光流图之后,可获得左视点图像中的每个像素点的位置从左视点到右视点的移动规则以及右视点图像中的每个像素点的位置从右视点到左视点的移动规则。

在本发明示例性实施例中,由于预定的虚拟视点位于右视点和左视点之间,因此,可通过图像重映射模块44根据左视点图像中的每个像素点的位置从左视点到右视点的移动规则,将左视点图像重映射到预定的虚拟视点,得到第一重映射图像;根据右视点图像中的每个像素点的位置从右视点到左视点的移动规则,可将右视点图像重映射到预定的虚拟视点,得到第二重映射图像。

图像融合模块45,被配置为对第一重映射图像和第二重映射图像进行图像融合,得到虚拟视点图像。

在本发明示例性实施例中,为了提高虚拟视点图像的准确性和真实性,通过图像融合模块45对第一重映射图像和第二重映射图像进行图像融合来生成虚拟视点图像。

优选地,为提高实时性,可以预先计算第一光流图和第二光流图,在生成虚拟视点图像时,耗时可只发生在重映射过程和重映射图像的融合过程,在生成虚拟视点视频时,耗时可只发生在重映射过程、重映射图像的融合过程和视频合成过程。

根据本发明示例性实施例的虚拟视点的视频生成装置,通过使用光流金字塔和光流图来计算光流,可根据所提供的两个不同视角的左视点全景视频和右视点全景视频,生成左右两视点中间任意位置的虚拟360度全景视频,降低了生成全景虚拟视点视频的复杂性,提高了虚拟全景视频的生成速率和效果,从而实现在左右两视点间随意走动,观看任意位置的360度场景。另外,根据本发明示例性实施例的虚拟视点的视频生成装置中使用的方法适合于使用任意左右视点全景视频来生成虚拟视点的全景视频,通用性较强,适用范围较大。

此外,根据本发明的示例性实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,程序被执行时实现根据本发明的虚拟视点的视频生成方法的步骤。

作为示例,程序被执行时可实现以下步骤:接收左视点视频和右视点视频,针对左视点视频和右视点视频的每一帧执行以下处理,以获取虚拟视点图像,并根据针对左视点视频和右视点视频的所有帧得到的虚拟视点图像,生成虚拟视点的视频:获取左视点图像和右视点图像,根据左视点图像和右视点图像,生成左视点光流金字塔和右视点光流金字塔,根据左视点光流金字塔和右视点光流金字塔,生成从左视点到右视点的第一光流图和从右视点到左视点的第二光流图,根据第一光流图和第二光流图,将左视点图像和右视点图像重映射到预定的虚拟视点,得到第一重映射图像和第二重映射图像,对第一重映射图像和第二重映射图像二者进行图像融合,得到虚拟视点图像。

以上已经结合图3和图4对根据本发明示例性实施例的虚拟视点的视频生成装置及其模块进行了描述。接下来,结合图5对根据本发明的示例性实施例的视频生成设备进行描述。

接下来,结合图5对根据本发明的示例性实施例的视频生成设备进行描述。

图5示出根据本发明示例性实施例的视频生成设备的示意图。

参照图5,根据本发明示例性实施例的视频生成设备5,包括存储器51、处理器52及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据本发明的虚拟视点的视频生成方法的步骤。

作为示例,处理器可被配置为执行包括以下虚拟视点的视频生成方法的步骤的程序:接收左视点视频和右视点视频,针对左视点视频和右视点视频的每一帧执行以下处理,以获取虚拟视点图像,并根据针对左视点视频和右视点视频的所有帧得到的虚拟视点图像,生成虚拟视点的视频:获取左视点图像和右视点图像,根据左视点图像和右视点图像,生成左视点光流金字塔和右视点光流金字塔,根据左视点光流金字塔和右视点光流金字塔,生成从左视点到右视点的第一光流图和从右视点到左视点的第二光流图,根据第一光流图和第二光流图,将左视点图像和右视点图像重映射到预定的虚拟视点,得到第一重映射图像和第二重映射图像,对第一重映射图像和第二重映射图像二者进行图像融合,得到虚拟视点图像。

以上已参照图1至图5描述了根据本发明示例性实施例的虚拟视点的视频生成方法、装置及设备。然而,应该理解的是:图3和图4中所示的虚拟视点的视频生成装置及其模块可分别被配置为执行特定功能的软件、硬件、固件或上述项的任意组合,图5中所示的视频生成设备并不限于包括以上示出的组件,而是可根据需要增加或删除一些组件,并且以上组件也可被组合。

接下来,为便于更好地理解本申请,对根据本发明示例性实施例的包含视频生成设备的网络环境进行示例性地简要描述。

图6示出根据本发明示例性实施例的包含视频生成设备的全景播放网络的示意图。

参照图6,全景播放网络600可包括第一相机610、第二相机620、视频生成设备630和视频播放设备640。第一相机610和第二相机620可以是同一相机也可以是不同相机。在本发明示例性实施例中,为方便描述,在图6中假设第一相机610和第二相机620为不同的两个相机。第一相机610、第二相机620、视频生成设备630和视频播放设备640可分开设置,也可集成为一体。第一相机610、第二相机620、视频生成设备630和视频播放设备640可集成为任意具有视频(例如,全景视频)拍摄(或者获取)的功能、生成虚拟视点全景视频的功能以及播放生成的全景视频的功能的电子装置。在本发明示例性实施例中,为方便描述,在图6中假设第一相机610、第二相机620、视频生成设备630和视频播放设备640分开设置。当第一相机610、第二相机620、视频生成设备630和视频播放设备640分开设置时,视频生成设备630可设置在云端,也可以是本地实体设备。

当用户需要播放左视点和右视点之间的虚拟视点的全景视频时,通过视频生成设备630首先从第一相机610和第二相机620获取(或接收)左视点视频和右视点视频,然后针对左视点视频和右视点视频的每一帧执行以下处理:获取左视点图像和右视点图像,根据左视点图像和右视点图像,生成左视点光流金字塔和右视点光流金字塔,根据左视点光流金字塔和右视点光流金字塔,生成从左视点到右视点的第一光流图和从右视点到左视点的第二光流图,根据第一光流图和第二光流图,将左视点图像和右视点图像重映射到预定的虚拟视点,得到第一重映射图像和第二重映射图像,对第一重映射图像和第二重映射图像进行图像融合,得到虚拟视点图像,最后根据针对左视点视频和右视点视频的所有帧得到的虚拟视点图像,生成虚拟视点的视频,并通过视频播放设备640播放视频生成设备630生成的虚拟视点的视频。

优选地,在接收到用户的播放左视点和右视点之间的虚拟视点的全景视频的请求之前,可通过视频生成设备630从第一相机610和第二相机620获取(或接收)左视点视频和右视点视频,并针对左视点视频和右视点视频的每一帧执行以下处理:获取左视点图像和右视点图像,根据左视点图像和右视点图像,生成左视点光流金字塔和右视点光流金字塔,根据左视点光流金字塔和右视点光流金字塔,生成从左视点到右视点的第一光流图和从右视点到左视点的第二光流图。当接收到用户的播放左视点和右视点之间的虚拟视点的全景视频的请求时,通过视频生成设备630首先根据用户指定的虚拟视点将左视点图像和右视点图像重映射到虚拟视点,得到第一重映射图像和第二重映射图像,对第一重映射图像和第二重映射图像进行图像融合,得到虚拟视点图像,然后根据针对左视点视频和右视点视频的所有帧得到的虚拟视点图像,生成虚拟视点的视频,并通过视频播放设备640播放视频生成设备630生成的虚拟视点的视频。这样,当接收到用户的播放虚拟视点全景视频时,耗时可只发生在重映射过程、重映射图像的融合过程和视频合成过程,从而提高了对请求的处理的实时性。

需要说明的是,以上参照图6描述的全景播放网络并不限于包括以上描述的组件,而是可根据需要增加或删除一些组件,并且以上组件也可被组合。

根据本发明示例性实施例的虚拟视点的视频生成方法、装置及设备,通过使用光流金字塔和光流图来计算光流,可根据所提供的两个不同视角的左视点全景视频和右视点全景视频,生成左右两视点中间任意位置的虚拟360度全景视频,降低了生成全景虚拟视点视频的复杂性,提高了虚拟全景视频的生成速率和效果,从而实现在左右两视点间随意走动,观看任意位置的360度场景。另外,根据本发明示例性实施例的虚拟视点的视频生成方法适合于使用任意左右视点全景视频来生成虚拟视点的全景视频,从而提高了全景虚拟视点视频生成方法的通用性和适用范围。

尽管已经参照其示例性实施例具体显示和描述了本发明,但是本领域的技术人员应该理解,在不脱离权利要求所限定的本发明的精神和范围的情况下,可以对其进行形式和细节上的各种改变。

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