立体视频的生成的制作方法

文档序号:11162245阅读:876来源:国知局
立体视频的生成的制造方法与工艺

本公开内容涉及立体视频的生成。



背景技术:

近年来,用于生成三维视频(例如,电视,电影等)的三维(立体)成像已经变得越来越流行。其中一个原因是用于创建三维视频的相机和后期制作技术有了重大的改进。三维视频变得流行的另一个原因是观看娱乐的公众似乎愿意为这种特殊效果支付额外的费用。

然而,与使用二维(单视场)技术相比,三维拍摄技术使得使用三维技术来拍摄视频明显更昂贵。此外,存在数百万部已经制作好的但不是使用三维技术拍摄的二维视频。

因此,许多人一直试图将二维视频转换为三维视频。然而,用于将二维视频转换为三维观看的这些方法可能是没有效果的、是资源密集的和/或未能产生可接受的结果(例如,产生纸板局部剪裁效果)。

本发明要求保护的主题不限于解决任何缺点或仅在诸如上述环境中操作的实施方案。相反,此背景仅提供用于阐释可以实践本文所描述的一些实施方案的一个示例性的技术领域。



技术实现要素:

根据实施方案的一个方面,一种生成立体视频的方法可以包括确定单视场视频的第一帧和单视场视频的第二帧之间的移动。该方法还可以包括基于该移动来分析相机效果。另外,该方法可以包括基于相机效果的分析生成立体视频的左眼观看帧且基于相机效果的分析生成立体视频的右眼观看帧。

实施方案的目的和优点将至少通过权利要求中特别指出的要素、特征和组合来实现和完成。

应当理解,前面所述的一般性描述和以下的详细描述都是示例性和说明性的,并且不限制所要求保护的本发明。

附图说明

将通过使用附图以额外的特性和细节来描述和解释示例性的实施方案,附图中:

图1示出了用于基于单视场(2-D)视频生成立体(3-D)视频的示例性系统;

图2示出了描绘基于要素在单视场视频的不同帧之间的移动来生成与单视场视频相关联的修改帧的示例性框图;

图3示出了描绘生成与单视场视频相关联的修改帧的示例性框图,其中可以基于单视场视频的一个或多个推断帧来生成一个或多个修改帧;

图4示出了描绘基于与单视场视频相关联的右平移效果生成立体视频的左眼观看帧和右眼观看帧的示例性框图;

图5示出了描绘基于与单视场视频相关联的左平移效果生成立体视频的左眼观看帧和右眼观看帧的示例性框图;

图6示出了描绘基于与单视场视频相关联的缩小相机效果生成立体视频的左眼观看帧和右眼观看帧的示例性框图;

图7示出了描绘基于与单视场视频相关联的放大相机效果生成立体视频的左眼观看帧和右眼观看帧的示例性框图;

图8示出了单视场视频的示例性帧,其中该帧包括最快移动要素、慢速移动要素和主导要素;

图9是基于与场景相关联的最快移动要素、慢速移动要素和主导要素中的至少一个来确定场景的前景和/或背景的示例性方法的流程图;

图10示出了用于基于与单视场视频相关联的前景和/或背景的移动从单视场视频生成立体视频的左眼观看帧和右眼观看帧的示例性框图;

图11是基于相机效果将单视场视频转换为立体视频的示例性方法的流程图;

图12A示出了可以被左眼和右眼感知的示例性情景;

图12B描绘了示例性网格,其示出了可能存在于与图12A的情景相关联的立体视频的左眼观看帧和右眼观看帧内的要素之间的示例性偏移;

图12C描绘了示例性网格,其示出了在将统一的乘法因子应用于图12B的偏移之后,图12B的要素相对于其各自的左眼观看帧和右眼观看帧的偏移;

图12D描绘了示例性网格,其示出了在将统一的求和因子应用于图12B的偏移之后,图12B的要素相对于其各自的左眼观看帧和右眼观看帧的偏移;

图13是调整立体视频的深度的示例性方法的流程图;以及

图14是调整立体视频的焦点的示例性方法的流程图,所有这些都根据本文描述的至少一些实施方案来安排。

具体实施方式

人类有一个双目视觉系统,该双目视觉系统使用间隔大约两英寸半(大约6.5厘米)的两只眼睛。每只眼睛从一个稍微不同的视角观看世界。大脑使用这些视角的差异来计算或测量距离。这种双目视觉系统部分地具有以相对良好的精度确定物体距离的能力。也可以在双眼视觉的帮助下确定视场中的多个对象的相对距离。也可以在双目视觉的帮助下确定视场中的多个对象的相对距离。

三维(立体)成像利用通过向观看者呈现两副图像而由双目视觉感知的深度,其中一副图像呈现给一只眼睛(例如,左眼),而另一副图像呈现给另一只眼睛(例如,右眼)。呈现给两只眼睛的图像可以包括基本上相同的要素,但是两副图像中的要素可以彼此偏移,以模仿可由观看者的眼睛在日常生活中感知的偏移视角。因此,观看者可以感知由图像描绘的要素的深度。

传统上,使用并排安装的间隔大约三到八英寸的两个视频源(例如,相机)来制作三维视频,以捕获可能由两只不同的眼睛感知到的情景。该距离通常被称为“轴间”或“两眼间”距离。因此,两个视频源创建两个视频;一个用于左眼,一个用于右眼。两个视频可以被放在一起作为立体(或“3-D”)视频,其中右眼视频呈现给观看者的右眼,而左眼视频呈现给观看者的左眼,使得观看者在三维中感知视频。相反,根据本公开内容的一些实施方案,立体视频可以从通过使用单个(单视场)视频源获得的视频得到立体视频。从单视场视频源得到的这些视频可以被称为“2-D”或“单视场视频”。

术语“视频”可以指任何移动类型的影像,并且可以包括例如,但不限于电影、电视节目、记录的事件(例如,体育赛事、音乐会等)、家庭电影、互联网视频等。视频由一系列“帧”(称为“帧”或“视频帧”)组成,每一帧均显示可以包括要素或对象(统称为“要素”)的情景的图像。要素可以是移动的或可以是静止的。例如,帧可以是可以包括诸如山、丘陵、树木、动物、建筑物、飞机、火车、汽车等要素的风景的图像。

根据一些实施方案,要素在单视场视频的第一帧相对于单视场视频的第二帧(例如,第一帧的后续帧或先前帧)之间的移动可以用于生成一个或多个修改的第一帧,其对应于第一帧并且可以用于生成立体视频。在一些实施方案中,第一帧和第二帧可以是连续的帧,并且在其他实施方案中,可以在第一帧和第二帧之间包括一个或多个中间帧。第一帧和修改的第一帧可以包括基本上相同的要素,且基于要素在第一帧和第二帧之间的移动,第一帧和修改的第一帧中的一个或多个要素彼此偏移。另外,要素的移动可以用于分析相对于第一帧和第二帧的相机效果(例如,缩放效果、平移效果、旋转效果和/或静止效果(stationary effect))。在一些实施方案中,可以基于分析的相机效果来生成修改的第一帧。

在一些实施方案中,可以基于所确定的相机效果和第一帧和修改的第一帧中的至少一个生成可以被配置为由观看者的左眼观看的左眼观看帧。类似地,还可以基于所确定的相机效果和第一帧和修改的第一帧中的至少一个生成可被配置为由观看者的右眼观看的右眼观看帧。可以对单视场视频的多个帧重复该过程,以生成立体视频的对应的左眼观看帧和右眼观看帧。因此,在这样的实施方案中,可以基于所分析的相机效果以及第一帧和与其相关联的第二帧之间的移动从单视场视频生成立体视频。

另外,在一些实施方案中,左眼观看帧和右眼观看帧的生成可以基于与第一帧和所述第二帧相关联的单视场视频的场景的前景和背景中的至少一个的移动的确定。在这些或其他实施方案中,可以基于包括在与第一帧和第二帧相关联的场景中的最快移动要素、慢速移动要素和/或主导要素来确定前景和/或背景。

另外,可以通过调整包括在左眼观看帧和右眼观看帧中的要素之间的偏移来修改立体视频中的深度值。此外,也可以通过调整要素之间的偏移来对哪些要素可能处在与立体视频相关联的情景的前景或背景内的感知做出修正。

这里描述的右眼观看帧和左眼观看帧也可以分别称为“右眼图像”和“左眼图像”。另外,右眼观看帧和左眼观看帧可以用于使用任何合适的3D格式诸如上部/下部、左/右、 Hi-Fi 3D、3D或任何其他适用的3D格式来生成立体视频。

图1阐释了根据本公开内容的一些实施方案的用于基于单视场(2-D)视频101生成立体(3-D)视频103的示例性系统100。系统100可以包括三维(立体)视频生成模块104(下文称为“立体视频模块104”)。立体视频模块104可以包括被配置为接收单视场视频101并将单视场视频101转换为立体视频103的任何合适的系统、装置或设备。例如,在一些实施方案中,立体视频模块104可以是包括被配置为使处理器执行用于将单视场视频101转换为立体视频103的操作的计算机可执行指令的软件。

立体视频模块104可以被配置为基于一个或多个要素在单视场视频101的帧之间的移动来生成立体视频103。在一些实施方案中,立体视频模块104可以基于移动生成修改帧。可以由立体视频模块104执行的修改帧的生成将在下面关于图2和图3被进一步详细讨论。在一些实施方案中,立体视频模块104还可以被配置为基于要素在帧之间的移动来分析并确定与单视场视频101相关联的相机效果。在这些实施方案中,立体视频模块104可以被配置为基于所确定的相机效果和与其相关联的移动来生成用于立体视频103的修改帧以及左眼观看帧和右眼观看帧。此外,在一些实施方案中,立体视频模块104可以被配置为基于对与单视场视频101的场景内的前景和背景相关联的移动的确定来生成修改帧以及左眼观看帧和右眼观看帧。相机效果的分析以及可以基于所分析的相机效果而由立体视频模块104执行的修改帧以及左眼观看帧和右眼观看帧的生成将参考图4-7和10被进一步详细讨论。

在一些实施方案中,立体视频模块104还可以被配置为确定单视场视频101的场景的前景和/或背景。在这些实施方案的一些中,立体视频模块104可以被配置为基于包括在单视场视频101的场景中的最快移动要素、慢速移动要素、和/或主导要素来确定前景和/或背景。将关于图8进一步详细描述对最快移动要素、慢速移动要素和/或主导要素的确定。可由立体视频模块104执行的对前景和/或背景的确定将在下面关于图9作进一步详细描述。

此外,在一些实施方案中,立体视频模块104可以被配置为通过调整包括在左眼观看帧和右眼观看帧中的要素之间的偏移来调整由观看立体视频103的观看者感知到的深度值。可以由立体视频模块104执行的对深度感知的修改将在下面关于图12A-12C和13作进一步详细讨论。另外,在一些实施方案中,立体视频模块104还可以被配置为调整立体视频103的焦点,使得立体视频模块104可以对由观看者感知到的哪些要素可能处在情景的前景或背景内的感知做出修正。下面关于图12A、12B、12D以及14进一步详细讨论可以由立体视频模块104执行的对焦点的修改。

如上所述,立体视频模块104可以被配置为基于一个或多个要素在帧之间的移动来生成可用于生成立体视频103的左眼观看帧和/或右眼观看帧的修改帧。图2示出了根据本发明的一些实施方案的基于要素在单视场视频201的不同帧202之间的移动来描绘修改帧202'的生成的示例性框图200。在一些实施方案中,关于图2给出的实施例,修改帧202'可以由立体视频模块(诸如上面关于图1描述的立体视频模块104)生成。如图2所示,单视场视频201可以基本类似于关于图1描述的单视场视频101,并且可以包括一系列帧202,该帧202可以包括与单视场视频201相关联的一个或多个情景的图像。根据本公开内容的一些实施方案,立体视频模块可以基于帧202之间的一个或多个要素(未明确示出)在帧202之间的水平移动来生成修改帧202'。

例如,帧202a和202b中的要素(其中帧202b可以是相对于帧202a的后续帧)可以在帧202a和202b之间具有位置变化,使得要素可以在帧202a和202b之间从左向右水平移动。因此,立体视频模块可以基于要素在帧202a和202b之间的水平移动来生成修改帧202a',使得要素在修改帧202a'中相对于帧202a向右偏移。立体视频模块可以类似地基于帧202b和202c(其中帧202c可以是相对于帧202b的后续帧)来生成修改帧202b'以及基于帧202c和202d(其中帧202d可以是相对于帧202c的后续帧)来生成修改帧202c'。因此,基于要素在帧之间的水平移动,修改帧202'的要素可以相对于对应帧202的对应要素水平偏移,以模仿由观看者的右眼和左眼感知的图像的水平偏移。

在一些实施方案中,要素在帧202之间的移动也可以在垂直方向(称为“垂直移动”)。然而,因为观看者的眼睛通常在垂直方向上基本不偏移,所以当生成修改帧202'时,立体视频模块可基本上忽略要素在帧202之间的垂直移动。因此,可以生成修改帧202',使得它们的要素基于水平移动相对于其相关联帧202中的对应要素在修改帧202'中水平偏移。然而,即使在帧之间发生垂直移动,修改帧202'的要素也可能不会相对于其相关联的帧202的对应要素垂直偏移相当大的程度。

另外,在一些实施方案中,要素从一个帧到另一个帧的移动可导致帧中的一个或多个要素不存在于可用于生成修改的帧的后续帧中。在这种情况下,立体视频模块104可以从原始帧复制丢失的要素并将它们放置在相关联的修改帧中。

例如,帧202a的要素可以是人的手,并且人在帧202a和帧202b之间的移动可以使得人的手在帧202b中不可见。另外,可以基于人从帧202a到帧202b的水平移动来生成修改帧202a'。因此,在基于人的水平移动生成修改帧202a'时,可以基于在帧202a和202b之间的人的水平偏移在修改帧202a'中水平偏移。然而,人的手可以从帧202a复制并插入到修改帧202a'中。因此,即使手可能从帧202b丢失,可以从其导出修改帧202a'要素的水平偏移,以使得手可以存在于修改帧202a'中。

在不脱离本发明范围的情况下,可以对图2进行修改、添加或省略。例如,单视场视频201可以包括比明确示出的帧更多或更少的帧。此外,在一些实施方案中,可以在所示的帧之间包括一个或多个中间帧。例如,单视场视频201可以包括可在帧202a和202b、帧202b和202c、和/或帧202c和202d之间的一个或多个中间帧。另外,在一些实施方案中,单视场视频201内的场景可以改变,使得一个帧202可以与一个场景相关联,并且后续帧可以与不同的场景相关联。在本发明中,“场景”可以指相对于特定情景的特定相机视角或角度,使得“场景变化”或场景中的变化可以指同一情景的相机角度或视角的变化和/或在视频中描绘的情景的变化。在这样的实施方案中,可以基于推断帧生成修改帧,其中推断帧可以基于在先前帧中识别的一个或多个要素的移动。

图3示出了根据本公开内容的一些实施方案的示例性框图300,其描绘了修改帧302'的生成,其中可以基于单视场视频301的一个或多个推断帧305生成一个或多个修改帧302'。在一些实施方案中,且关于图3给出的实施例,修改帧302'可由诸如上面关于图1所描述的立体视频模块诸如立体视频模块104来生成。如图3所示,单视场视频301可以包括一系列帧302(被描述为帧302a-302d),其可以包括与单视场视频301相关联的一个或多个场景的图像。在所示实施方案中,帧302a-302c可以与单视场视频301的场景306a相关联,并且帧302d可以与单视场视频301的不同场景(场景306b)相关联。

根据本公开内容的一些实施方案,立体视频模块可以被配置为基于一个或多个要素(未明确示出)分别在帧302a和302b以及302b和302c之间的移动来生成修改帧302a'和302b',类似于上述修改帧202a'和202b'的生成。例如,可以基于一个或多个要素在帧302a和帧302b(其可以是帧302a的后续帧)之间的移动来生成修改帧302a'。另外,可以基于一个或多个要素在帧302b和帧302c(其可以是帧302b的后续帧)之间的移动来生成修改帧302b'。

然而,在所示实施方案中,帧302c可以是与单视场视频301的场景306a相关联的最后帧。因此,与帧302c相关联的要素的移动可以不存在于帧302c与帧302c的后续帧之间,因为诸如帧302d的后续帧可以与不同的场景相关联,或者可以在转换到另一帧之前不具有与它们相关联的实质程度的移动。在诸如此的实例中,立体视频模块可以被配置为生成推断帧,推断帧可以表示场景继续经过其最后帧的场景的后续帧。例如,在所示实施方案中,立体视频模块可以被配置为生成推断帧305,推断帧305可以表示场景306a继续经过帧302c的场景306a的帧302c的后续帧,在所示实施方案中可以是场景306a的最后帧。

在一些实施方案中,立体视频模块可以被配置为确定场景变化,并且可以基于检测到的场景变化来确定场景的最后帧。立体视频模块还可以被配置为基于检测到场景变化来生成推断帧。例如,立体视频模块可以被配置为检测从场景306a到场景306b的场景变化,可以确定帧302c是场景306a的最后帧,并且可以基于检测到从场景306a到场景306b的场景变化来生成推断帧305。

在这些实施方案中的一些中,立体视频模块可以被配置为基于对帧之间的像素的空间和/或颜色分布的分析来确定场景变化。如果像素的分布从一个帧到另一个帧基本相似,则立体视频模块可以确定帧302与相同的场景306相关联。然而,如果帧之间的像素分布基本不同,则立体视频模块可以确定已经发生了场景改变。例如,立体视频模块可以确定帧302a、302b和302c之间的像素分布基本相似,以确定帧302a、302b和302c可能是场景306a的一部分。立体视频模块还可以确定帧302c和302d之间的像素的分布基本不同,以确定在帧302c和302d之间发生从场景306a到场景306b的场景改变。

响应于检测到从第一场景到第二场景的场景改变,立体视频模块可以被配置为检测一个或多个要素在第一场景的帧之间的移动。基于要素在第一场景中的帧之间的移动,立体视频模块可以被配置为生成第一场景的推断帧。在生成推断帧时,立体视频模块可以被配置为基于要素在第一场景的最后帧与推断帧之间的移动来生成第一场景的最后帧的修改帧。

例如,在检测到从场景306a到场景306b的变化之后,立体视频模块可以被配置为响应于场景变化的检测来检测一个或多个要素在帧302b和302c之间的移动。基于检测到的帧302b和302c之间的移动,立体视频模块可以被配置为推断在场景306a继续经过帧302c之后,帧302c和场景306a中的后续帧之间可能发生的移动。在一些实施方案中,可以基于如下假设进行要素之间的移动的推断:如果场景306a没有在帧302c之后结束,则要素在帧302b和302c之间的移动将继续经过帧302c。因此,立体视频模块可以被配置为基于要素在场景306a的帧302b和302c之间的移动来生成场景306a的推断帧305,使得推断帧305可以反映在场景306a继续经过帧302c时可能在场景306a中继续的移动。

一旦生成了推断帧305,立体视频模块可以基于一个或多个要素在帧302c和推断帧305之间的移动来生成修改帧302c',类似的分别基于帧302a和302b以及302b和302c之间的移动来生成修改帧302a'和302b'。因此,可以基于可能已经从帧302c发生到具有基本上相同要素的后续帧的移动来生成修改帧302c',即使这样的后续帧可能不存在。

在不脱离本发明范围的情况下,可以对图3进行修改、添加或省略。例如,单视场视频301可以包括比明确示出的帧更多或更少的帧302和/或场景306。另外,每个场景306可以包括任何数量的帧302。此外,在一些实施方案中,可以在所示的帧302之间包括一个或多个中间帧。

回到图1,如前所述,立体视频模块104可以被配置为基于相机效果生成立体视频103的左眼观看帧和右眼观看帧,以及单视场视频101的修改帧可以基于要素在帧之间的移动来生成,如上面参照图2和图3所描述的。因此,根据本发明呈现的一个或多个实施方案,立体视频模块104还可以被配置为分析单视场视频101的相机效果。在这样的实施方案中,立体视频模块104可以确定相机效果是平移效果还是缩放效果,并且可以基于相机效果是平移效果还是缩放效果来生成左眼观看帧和右眼观看帧。下面参考图4和图5进一步详细讨论基于相机效果是平移效果的确定生成的左眼观看帧和右眼观看帧。下面参照图6和图7进一步详细讨论基于相机效果是缩放效果的确定生成左眼观看帧和右眼观看帧的。

另外,如果立体视频模块104确定相机效果不是平移效果或缩放效果,则立体视频模块104可以根据该确定生成左眼观看帧和右眼观看帧。在这些实施方案的一些中,立体视频模块104可以基于与单视场视频101的帧相关联的前景和背景的移动来生成左眼观看帧和右眼观看帧。相对于图8和9更详细地描述前景和背景检测。下面参考图10更详细地讨论基于相机效果不是平移效果或缩放效果的确定生成左眼观看帧和右眼观看帧。

图4示出了根据本公开内容的一些实施方案的、描绘了基于与单视场视频401的帧402a和帧402b相关联的右平移效果来生成立体视频403的左眼观看帧410和右眼观看帧412的示例性框图400。在所说明的示例中,立体视频403可由立体视频模块,诸如上文参考图1所描述的立体视频模块104来生成。

帧402a和402b可以包括一个或多个要素408,这些要素408可以分别被包括在帧402a和帧402b两者中。例如,在所示实施方案中,帧402a和402b可各自包括要素408a和408b。帧402a和402b还可以包括图4中未明确描绘的其他要素。

当相机平移时,由相机拍摄的整个情景随着相机移动而移动,使得帧内的与平移效果相关联的要素可以以基本上统一的大小和方向移动。例如,帧402a和402b可以与右平移效果相关联,其中生成帧402a和402b的相机可能已经从左到右平移,使得帧402a和402b内的要素408a和408b可以在帧402a和402b之间以基本上相同的量从右到左移动。

右平移效果可以基于从左到右的实际相机平移来产生,或者可以基于从左到右的模拟相机平移来产生。在一些实施方案中,平移效果可以与绕轴枢转的相机或其任何合适的模拟相关联,以产生平移效果。在其它实施方案中,平移效果可与整个相机在水平方向上相对于正被拍摄的情景(例如,从左到右)的移动或其任何合适的模拟相关联来产生平移效果。

立体视频模块可以被配置为基于分析要素(诸如要素408a和408b)在帧402a和402b之间的移动来确定在帧402a和402b之间是否存在右平移效果。例如,在一些实施方案中,立体视频模块可以分析位于帧402a和402b的不同区域(例如,右上、左上、右下和左下区域)中的不同要素的移动。在一些实施方案中,立体视频模块可通过分析与帧402a和402b的可对应于要素的像素相关联的移动来分析要素的移动。在这些或其他实施方案中,立体视频模块可以分析与帧402a和402b的每个像素相关联的移动,以确定要素在帧402a和帧402b之间的移动。如果与位于帧402a和402b的不同区域中的要素(或在一些实施方案中是像素)相关联的移动全部从右到左以基本上相同的程度移动,则立体视频模块可以确定相机效果为右平移效果。

立体视频模块可基于所确定的右平移效果和与其相关联的移动来生成与帧402a相关联的修改帧402a'。例如,如上所述,右平移效果可以导致要素408a和408b从帧402a到帧402b以基本上相同的程度从右到左移动。因此,在一些实施方案中,由于右平移效果引起帧402a和402b之间的要素408a和408b的水平位置的差异,因而立体视频模块可以使用帧402b来生成修改帧402a'。在一些实施方案中,在帧402a和402b之间的要素408a和408b很少或没有垂直偏移的情况下,帧402b可以用作修改帧402a'。其中在帧402a和402b之间的要素408a和408b中可能存在垂直偏移的其他实施方案中,可以在生成修改帧402a'的期间去除帧402a和402b之间的要素408a和408b的垂直位置差异,使得要素402a和402b在帧402a和修改帧402a'之间的任何垂直偏移可以是非实质性的。

可以与单视场视频401的观看帧402a相关联的立体视频403的左眼观看帧410和右眼观看帧412可以基于右平移效果、观看帧402a和修改观看帧402a'来生成。例如,由于右平移效果,帧402a可以被指定为左眼观看帧410,并且修改帧402a'可以被指定为右眼观看帧412。因此,可以至少部分地基于右平移效果和修改帧402a'(可以与要素408a和408b在帧402a和402b之间的移动相关联)来生成立体视频403的左眼观看帧410和右眼观看帧412。

除了明确描述的之外,可以对立体视频403的生成进行修改、添加或省略。例如,与单视场视频401的其他帧402相关联的左眼观看帧和右眼观看帧(例如,与帧402b相关联的左眼观看帧和右眼观看帧)可以以类似的方式生成。另外,在一些实施方案中,可以生成帧402(可以是其相应场景的最后帧或接近最后帧)的左眼观看帧和右眼观看帧,使得与帧402相关联的修改帧可基于以上关于图3所描述的方式确定的推断帧来生成。

图5示出了根据本公开内容的一些实施方案的示例性框图500,其描绘了基于与单视场视频501的帧502a和帧502b相关联的左平移效果来生成立体视频503的左眼观看帧510和右眼观看帧512。在所示示例中,立体视频503可以由立体视频模块(诸如上面参照图1描述的立体视频模块104)生成。

帧502a和502b可以包括可以分别被包括在帧502a和帧502b两者中的一个或多个要素508。例如,在所示实施方案中,帧502a和502b可以各自包括要素508a和508b。

如上所述,帧502a和502b可以与左平移效果相关联,其中生成帧502a和502b的相机可能已经从右到左平移,使得帧502a和502b内的要素508可以在帧502a和502b之间以基本上相同的量从左到右统一地移动。例如,在所示实施方案中,要素508a和508b可以基于与帧502a和502b相关联的左平移效果在帧502a和502b之间以基本上相同的量从左向右移动。

类似于右平移效果,左平移效果可以基于从右到左的实际相机平移来产生,或者可以基于从右到左的模拟相机平移来产生。此外,在一些实施方案中,平移效果可以与绕轴枢转的相机或任何适当的模拟相关联,以产生平移效果。在其它实施方案中,平移效果可与整个相机在水平方向上相对于正被拍摄的情景(例如,从右到左)的移动或任何合适的模拟相关联来产生平移效果。

如上文相对于图4所论述的,类似于确定是否存在右平移效应,立体视频模块可被配置为基于分析与要素(诸如要素508a和508b,或者在一些实施方案中为像素)在帧502a和502b之间相关联的移动来确定在帧502a和502b之间是否存在左平移效果。如果与位于帧502a和502b的不同区域中的要素(或在一些实施方案中的像素)相关联的移动全部从左到右以基本上相同的程度移动,则立体视频模块可以确定相机效果是左平移效果。

立体视频模块可基于所确定的左平移效果和与其相关联的移动来生成与帧502a相关联的修改帧502a'。例如,如上所述,左平移效果可以导致要素508a和508b从帧502a到帧502b以基本上相同的程度从左向右移动。因此,在一些实施方案中,立体视频模块可以基于帧502b生成修改帧502a',原因是左平移效果引起帧502a和502b之间的要素508a和508b的水平位置差异。在一些实施方案中,在帧502a和502b之间的要素508a和508b几乎没有或没有垂直偏移的情况下,帧502b可以被用作修改帧502a'。其中在帧502a和502b之间的要素508a和508b中可能存在垂直偏移的其他实施方案中,可以在生成修改帧的期间去除帧502a和502b之间的要素508a和508b的垂直位置差异,使得帧502a和修改帧502a'之间的要素508a和508b的任何垂直偏移可以是非实质性的。

与单视场视频501的观看帧502a相关联的立体视频503的左眼观看帧510和右眼观看帧512可以基于左平移效果、观看帧502a和修改观观看帧502a'来生成。例如,由于左平移效果,修改帧502a'可以被指定为左眼观看帧510,并且帧502a可以被指定为右眼观看帧512。因此,可以至少部分地基于左平移效果和修改帧502a'(可以与要素508a和508b在帧502a和502b之间的移动相关联)来生成立体视频503的左眼观看帧510和右眼观看帧512。

除了明确描述的之外,可以对立体视频503的生成进行修改、添加或省略。例如,与单视场视频501的其他帧502相关联的左眼和右眼观看帧(例如,与帧502b相关联的左眼和右眼观看帧)可以以类似的方式生成。另外,在一些实施方案中,可以生成帧502(可以是其相应场景的最后帧或接近最后帧)的左眼观看帧和右眼观看帧,使得可以基于以上关于图3所描述的方式生成的推断帧来生成与帧502相关联的修改帧。

图6示出了根据本公开内容的一些实施方案的示例性框图600,其描绘了基于与单视场视频601的帧602a和帧602b相关联的缩小相机效果生成立体视频603的左眼观看帧610和右眼观看帧612。在所说明的示例性中,立体视频603可由立体视频模块,诸如上文参考图1所描述的立体视频模块104来生成。

帧602a和602b可以包括可以分别被包括在帧602a和帧602b两者中的一个或多个要素608。例如,在所示实施方案中,帧602a和602b可以各自包括要素608a、608b、608c和608d。

当相机缩小时,由相机生成的帧内的要素可以从一个帧到另一帧朝向由帧捕获的情景的中心移动。例如,帧602a和602b可以与缩小的相机效果相关联,使得帧602a和602b内的要素608a、608b、608c和608d可以从帧602a到帧602b朝向由帧602a和帧602b捕获的情景的中心移动,如图6所示。缩小的相机效果可以基于实际的相机缩小产生,或者可以基于模拟的缩小产生。

类似于确定是否存在右平移或左平移效果,如上文关于图4和图5所论述,立体视频模块可被配置为确定在帧602a和602b之间是否存在缩小的相机效果,其基于分析位于帧602a和602b的不同区域(例如、左上、右上、左下和右下区域)中的要素(诸如可分别位于帧602a和602b的左上、右上、左下和右下区域中的要素608a、608b、608c和608d)在帧602a和602b之间的移动。在一些实施方案中,立体视频模块可通过分析与可对应于要素的帧602a和602b的像素相关联的移动来分析要素移动。在这些或其他实施方案中,立体视频模块可分析与帧602a和602b的每个像素相关联的移动,以确定要素在帧602a和帧602b之间的移动。在这些或其他实施方案中,立体视频模块可分析与帧602a和602b的每个像素相关联的移动,以确定要素在帧602a和帧602b之间的移动。如果与位于帧602a和602b的不同区域中的要素(或在一些实施方案中为像素)相关联的移动基本上朝向由帧602a和602b捕获的情景的中心移动,则立体视频模块可以确定相机效果是缩小相机效果。

立体视频模块可基于所确定的缩小相机效果和与其相关联的移动来生成与帧602a相关联的修改帧602a'和修改帧602a”。例如,缩小相机效果可以导致分别被包括在帧602a和602b的左侧614a和614b中的要素(例如,要素608a和608c)从帧602a到帧602b以基本上相同的程度从左向右移动。另外,缩小相机效果可以导致分别被包括在帧602a和602b的右侧616a和616b中的要素(例如,要素608b和608d)从帧602a到帧602b以基本上相同的程度从右向左移动。

在一些实施方案中,立体视频模块可以分别基于要素在帧602a和602b的左侧614a和614b之间的水平偏移来生成修改帧602a'的左侧614c。另外,在生成左侧614c的期间,立体视频模块可以忽略要素在左侧614a和614b之间的任何垂直偏移。例如,要素608a和608c可以在修改帧602a'的左侧614c中具有与在帧602b的左侧614b中基本上相同的水平位置。然而,要素608a和608c在修改帧602a'的左侧614c中可具有与在帧602a的左侧614a中基本上相同的垂直位置。

另外,立体视频模块可以基于被包括在帧602a的右侧616a中的要素的水平和垂直位置来生成修改帧602a'的右侧616c,使得右侧616c可以基本类似于右侧616a。例如,要素608b和608d可以在修改帧602a'的右侧616c中具有与在帧602a的右侧616a中基本上相同的水平和垂直位置。

立体视频模块还可以基于要素分别在帧602a和602b的右侧616a和616b之间的水平偏移来生成修改帧602a”的右侧616d。另外,立体视频模块可以在生成右侧616d的期间忽略要素在右侧616a和616b之间的任何垂直偏移。例如,要素608b和608d可以在修改帧602a”的右侧616d中具有与在帧602b的右侧616b中基本上相同的水平位置。然而,要素608b和608d可以在修改帧602a”的右侧616d中具有与在帧602a的右侧616a中基本上相同的垂直位置。

相比之下,立体视频模块可以基于被包括在帧602a的左侧614a中的要素的水平和垂直位置来生成修改帧602a”的左侧614d,使得左侧614d可以基本类似于左侧614a。例如,要素608a和608c可以在修改帧602a”的左侧614d中具有与在帧602a的左侧614a中基本上相同的水平和垂直位置。

如图6所示,用于上述缩小效果的修改帧602a'和602a”的配置可以导致要素608a、608b、608c和608d在修改帧602a'中相对于修改帧602a”向右水平偏移。另外,要素608a、608b、608c和608d可以在修改帧602a'中相对于修改帧602a”具有很少甚至没有垂直偏移。

可以与单视场视频601的观看帧602a相关联的立体视频603的左眼观看帧610和右眼观看帧612可以基于缩小相机效果和修改观看帧602a'和602a”来生成。例如,由于缩小相机效果,修改帧602a'可以被指定为左眼观看帧610,并且修改帧602a”可以被指定为右眼观看帧612。因此,可以至少部分地基于缩小相机效果和修改帧602a'和602a”(可以与要素608a、608b、608c和608d在帧602a和602b之间的移动相关联)来生成立体视频603的左眼观看帧610和右眼观看帧612。

除了明确描述的之外,可以对立体视频603的生成进行修改、添加或省略。例如,与单像视频601的其他帧602相关联的左眼和右眼观看帧(例如,与帧602b相关联的左眼观看帧和右眼观看帧)可以类似的方式生成。另外,在一些实施方案中,可以生成帧602(可以是其相应场景的最后帧或接近最后帧)的左眼观看帧和右眼观看帧,使得与帧602相关联的修改帧可基于以上关于图3所描述的方式生成的推断帧来生成。

图7示出了示例性框图700,其描绘了根据本公开内容的一些实施方案的与单视场视频701的帧702a和帧702b相关联的放大相机效果的左眼观看帧710和右眼观看帧712的生成。帧702a和702b可以包括分别被包括在帧702a和帧702b中的一个或多个要素708。例如,在所示实施方案中,帧702a和702b可以各自包括要素708a、708b、708c和708d。

当相机放大时,由相机生成的帧内的要素可以从由一帧到另一帧移动远离捕获的情景的中心。例如,如图7所示,帧702a和702b可以与放大相机效果相关联,使得帧702a和702b内的要素708a、708b、708c和708d可以从帧702a到帧702b移动远离帧702a和702b捕获的情景的中心。放大相机效果可以基于实际的相机放大产生,或者可以基于模拟放大产生。

类似于确定是否存在右平移、左平移或缩小相机效果,如上文关于图4-6所述,立体视频模块可以被配置为基于分析位于帧702a和702b的不同区域(例如右上、左上、右下和左下区域)中的要素(例如要素708a、708b、708c和708d)在帧702a和702b之间的移动来确定在帧702a和702b之间是否存在放大相机效果。在一些实施方案中,立体视频模块可以通过分析与帧702a和702b的可以对应于要素的像素相关联的移动来分析要素的移动。在这些或其他实施方案中,立体视频模块可以分析与帧702a和702b的每个像素相关联的移动,以确定要素在帧702a和帧702b之间的移动。如果与位于帧702a和702b的不同区域中的要素(或在一些实施方案中为像素)相关联的移动都基本上移动远离由帧702a和702b捕获的情景的中心,则立体视频模块可以确定相机效果是放大相机效果。

立体视频模块可基于所确定的放大照相机效果和与其相关联的移动来生成与帧702a相关联的修改帧702a'和修改帧702a”。例如,放大相机效果可以导致分别包括在帧702a和702b的左侧714a和714b中的要素(例如,要素708a和708c)从帧702a到帧702b从右向左移动基本上相同的程度。另外,放大相机效果可以导致分别包括在帧702a和702b的右侧716a和716b中的要素(例如,要素708b和708d)从帧702a到帧702b从左向右移动基本上相同的程度。

在一些实施方案中,立体视频模块可以分别基于要素在帧702a和702b的左侧714a和714b之间的水平偏移来生成修改帧702a'的左侧714c。另外,立体视频模块可在生成左侧714c的期间忽略要素在左侧714a和714b之间的任何垂直偏移。例如,要素708a和708c可以在修改帧702a'的左侧714c中具有与在帧702b的左侧714b中基本上相同的水平位置。然而,要素708a和708c可以在修改帧702a'的左侧714c中具有与在帧702a的左侧714a中基本上相同的垂直位置。

另外,立体视频模块可以基于被包括在帧702a的右侧716a中的要素的水平位置和垂直位置来生成修改帧702a'的右侧716c,使得右侧716c可以基本类似于右边716a。例如,要素708b和708d可以在修改帧702a'的右侧716c中具有与在帧702a的右侧716a中基本上相同的水平位置和垂直位置。

立体视频模块还可以基于要素分别在帧702a和702b的右侧716a和716b之间的水平偏移来生成修改帧702a”的右侧716d。另外,立体视频模块可以在右侧716d的生成期间忽略要素在右侧716a和716b之间的任何垂直偏移。例如,要素708b和708d可以在修改帧702a”的右侧716d中具有与在帧702b的右侧716b中基本上相同的水平位置。然而,要素708b和708d可以在修改帧702a”的右侧716d中具有与在帧702a的右侧716a中基本上相同的垂直位置。

此外,立体视频模块可以基于包括在帧702a的左侧714a中的要素的水平和垂直位置来生成修改帧702a”的左侧714d,使得左侧714d可以基本类似于左侧714a。例如,要素708a和708c可以在修改帧702a”的左侧714d中具有与在帧702a的左侧714a中基本上相同的水平和垂直位置。

如图7所示,用于上述放大效果的修改帧702a'和702a”的配置可以导致要素708a、708b、708c和708d在修改帧702a'中相对于修改帧702a”是水平向左偏移的。另外,要素708a、708b、708c和708d可以在修改帧702a'中相对于修改帧702a”具有很少甚至没有垂直偏移。

可以与单视场视频701的观看帧702a相关联的立体视频703的左眼观看帧710和右眼观看帧712可以基于放大相机效果和修改观看帧702a'和702a”来生成。例如,由于放大相机效果,修改帧702a”可以被指定为左眼观看帧710,并且修改帧702a'可以被指定为右眼观看帧712。因此,可以至少部分地基于放大相机效果和修改帧702a'和702a”(可以与要素708a、708b、708c和708d在帧702a和702b之间的移动相关联)来生成立体视频703的左眼观看帧710和右眼观看帧712。

除了明确描述的之外,可以对立体视频703的生成进行修改、添加或省略。例如,与单视场视频701的其他帧702相关联的左眼和右眼观看帧(例如,与帧702b相关联的左眼和右眼观看帧)也可以以类似的方式生成。另外,在一些实施方案中,可以生成帧702(可以是其相应场景的最后帧或接近最后帧)的左眼观看帧和右眼观看帧,使得可基于帧702和以上文关于图3所述方式生成的对应的推断帧来生成与帧702相关联的修改帧。

返回图1,立体视频模块104可以相应地被配置为基于如上相对于图4-7所述的平移或缩放效果来生成立体视频103的左眼和右眼观看帧。但是,在某些情况下,相机效果可能与平移或缩放效果有些不同。例如,相机效果可以是旋转相机效果或静止相机效果。在这种情况下,立体视频模块104可以确定相机效果不是平移或缩放效果,并且可以根据该确定生成左眼和右眼观看帧。在这些实施方案的一些中,立体视频模块104可以基于相机效果不是平移或缩放效果的确定且基于与单视场视频101的帧相关联的前景和/或背景的移动来生成左眼观看帧和右眼观看帧。

因此,在一些实施方案中,立体视频模块104可以被配置为确定与单视场视频101相关联的前景和背景中的至少一个,使得立体视频模块可以分析与前景和/或背景相关联的移动。在这些实施方案的一些中,立体视频模块104可以被配置为基于单视场视频101的帧来确定与单视场视频101的帧相关联的最快移动要素、慢速移动要素和/或主导要素来确定前景和/或背景。

图8示出了根据本公开内容的一些实施方案的单视场视频801的示例性帧802a和802b,其中帧802a和802b包括最快移动要素820、慢速移动要素822和主导要素824。单视场视频801可以基本类似于图1的单视场视频101。在所示实施方案中,帧802a和802b可以与单视场视频801的相同场景相关联,并且帧802b可以是帧802a的后续帧。立体视频模块,诸如图1的立体视频模块104可以被配置为识别最快移动要素820、慢速移动要素822和/或主导要素824。

立体视频模块可以分析帧802a和802b以确定最快移动要素820、慢速移动要素822和/或主导要素824。例如,立体视频模块可以分析帧802b中的要素相对于帧802a的位移,以识别最快移动要素820和慢速移动要素822。最快移动要素从帧802a到帧802b可以比慢速移动要素移动更远的距离。因此,立体视频模块可分析要素从帧802a到帧802b的位移,并且具有最大位移量的要素可被确定为最快移动要素。

在所示实施方案中,最快移动要素820可以具有从帧802a到帧802b的最大位移,使得立体视频模块可以将最快移动要素820识别为从帧802a到帧802b的最快移动要素。另外,如图8所示,慢速移动要素822也可以在帧802a与帧802b之间移动,但是以比最快移动要素820更小的程度移动。因此,立体视频模块可以将慢速移动要素822识别为比最快移动要素820移动慢的要素。

另外,立体视频模块可以被配置为确定主导要素824是帧802a和802b内的主导要素。在一些实施方案中,立体视频模块可以基于对与帧802a和802b相关联的像素的分析来识别帧802a和802b内的要素,使得可以确定与特定要素相关联的像素的数量。因此,在一些实施方案中,立体视频模块可以被配置为基于主导要素824与比包括在帧802a和802b中的其他要素实质上更高数量的像素相关联来识别主导要素824。因此,通过分析帧802a和802b,立体视频模块可以能够识别最快移动要素820、慢速移动要素822和/或主导要素824。如下详细所述,这些要素的识别可以帮助确定与帧802a和802b相关联的前景和/或背景。

图8的图示仅仅是为了介绍最快移动要素、慢速移动要素和主导要素背后的概念。因此,在不脱离本公开内容范围的情况下,可以对图8进行修改、添加或省略。在一些实施方案中,最快移动要素820和慢速移动要素822在帧802a和802b之间的位移量可以基于最快移动要素820和慢速移动要素822的速度差异而变化。例如,在一些情况下,最快移动要素820和慢速移动要素822可以以基本上相同的速度移动,使得最快移动要素820和慢速移动要素822在帧802a和802b之间的位移可以基本上相同。另外,在一些实施方案中,主导要素824可在帧802a和802b之间移动,而在其它实施方案中,主导要素824可不移动。此外,在一些情况下,帧802a和802b可以不包括主导要素。此外,最快移动要素820、慢速移动要素822和/或主导要素824的移动方向可以变化。

如上所述,可以基于与场景相关联的最快移动要素、慢速移动要素和/或主导要素来确定场景的前景和/或背景。图9是根据本公开内容的一些实施方案的基于与场景相关联的最快移动要素、慢速移动要素和主导要素中的至少一个来确定场景的前景和/或背景的示例性方法900的流程图。在一些实施方案中,方法900可以由诸如图1的立体视频模块104的立体视频模块来实施。例如,立体视频模块104可以被配置为执行计算机指令以执行用于确定由方法900的一个或多个块表示的前景和/或背景的操作。尽管被示为离散块,但是各种块可以根据期望的实施方式,被划分为附加块,组合成更少的块或者被消除。

方法900可以在框902开始,其中可以确定要素和/或像素在第一帧和第二帧之间的移动。在框904处,可以确定所有要素和/或像素是否在基本上相同的方向上移动。如果所有要素和/或像素在基本上相同的方向上移动,则方法900可以前进到框906。如果所有要素和/或像素不在基本上相同的方向上移动,则方法900可以前进到框914。

在框906,可以确定与第一帧和第二帧相关联的最快移动要素和慢速移动要素。在一些实施方案中,可以基于第二帧中的要素相对于第一帧的位移来确定最快移动要素和慢速移动要素,例如上面关于在图8的帧802a和802b之间的最快移动要素820和慢速移动要素822描述的那样。

在框908,可以确定在最快移动要素和慢速移动要素之间是否存在显著的速度差。如果存在显著的速度差,则方法900可以前进到框910。如果没有显著的速度差,则方法900可以前进到框912。在一些实施方案中,速度差可以通过测量最快移动要素和慢速移动要素从第一帧到第二帧的偏移量的差来确定。另外,在一些实施方案中,速度差(例如,偏移的差)可以与阈值进行比较,并且如果速度差大于阈值,则方法900可以前进到框910,而如果速度差小于阈值,则方法900可以前进到框912。在一些情况下,阈值可以根据电影的类型而变化。例如,动作电影的阈值可以高于戏剧的阈值。

在框910处,在最快移动要素和慢速移动要素之间的速度差基本足够大(例如,大于阈值)的情况下,前景可以与最快移动要素相关,使得最快移动要素可以被认为是在前景中。在框912处,在最快移动要素和慢速移动要素之间的速度差不是基本上足够大(例如,小于阈值)的情况下,背景可以同与第一帧和第二帧相关联的整个场景相关。因此,在框912处,与第一帧和第二帧相关联的整个场景可以被认为是在背景中。

返回到框904处,如上所述,如果所有要素和/或像素的移动不相同,则方法900可以前进到框914。在框914处,可以确定在与第一和第二帧相关联的场景中是否存在主导要素。在一些实施方案中,可以基于与每个要素相关联的像素的数量来确定是否存在主导要素的确定,诸如上面关于图8所描述的主导要素824。如果存在主导要素,则方法900可以前进到框916。如果不存在主导要素,则方法900可以前进到框922。

在框916处,可以确定在框914中确定的主导要素是否基本上处于与第一和第二帧相关联的场景的中心。如果主导要素基本在中心,则方法900可以前进到框918。如果主导要素基本不在中心,则方法900可以前进到框920。

在框918处,在主导要素基本在场景的中心的情况下,前景可与主导要素相关,使得主导要素可被认为是前景。在框920处,由于主导要素基本不在场景的中心,背景可以与主导要素相关,使得主导要素可以被认为是背景。

返回到框914处,如上所述,如果确定不存在主导要素,则方法900可以前进到框922。在框922处,可以确定与第一和第二帧相关联的最快移动要素和慢速移动要素,类似于在框906中进行的。在框924处,可以确定在最快移动要素和慢速移动要素之间是否存在显著的速度差,类似于在框908中进行的。如果存在显著的速度差,则方法900可以前进到框926。如果不存在显著的速度差,则方法900可以前进到框928。

在框926处,对于最快移动要素和慢速移动要素之间的速度差基本上足够大的情形,前景可以与最快移动要素相关,使得最快移动要素可以被认为处于前景中。在框928处,对于最快移动要素和慢速移动要素之间的速度差基本上不足够大的情形,背景或前景可以同与第一帧和第二帧相关联的整个场景相关。因此,在框928处,与第一帧和第二帧相关联的整个场景可以被认为在背景或前景中。

因此,方法900可以用于确定场景的背景和/或前景。本领域技术人员应当理解,对于本文公开的这个和其他过程和方法,可以以不同的顺序来实施在过程和方法中执行的功能。此外,所概述的步骤和操作仅作为示例性提供,并且一些步骤和操作可以是可选的、组合成更少的步骤和操作,或者扩展到附加的步骤和操作中,而不背离所公开的实施方案的本质。

返回到图1,如上所述,在一些实施方案中,如果立体视频模块104可以确定相机效果不是平移或缩放效果,则立体视频模块104可以基于与单视场视频101的帧相关联的前景和/或背景的移动来生成左眼观看帧和右眼观看帧。

图10示出了根据本文描述的一些实施方案的示例性框图1000,其基于与单视场视频1001相关联的前景和/或背景的移动来从单视场视频1001生成立体视频1003的左眼观看帧1010和右眼观看帧1012。左眼观看帧1010和右眼观看帧1012可以由立体视频模块,诸如图1所示的立体视频模块104来生成。立体视频1003的左眼观看帧1010和右眼观看帧1012可对应于单视场视频1001的帧1002a,并且可基于帧1002a及其相关联的修改帧1002a'而生成。在所示实施方案中,可以诸如上面参照图2所述的方式基于帧1002a和1002b之间的移动来生成修改帧1002a';然而,在其它实施方案中,可以以上文关于图3所描述的方式使用推断帧来生成修改帧1002a'。

在所示实施方案中,立体视频模块还可以基于确定与帧1002a和1002b相关联的相机效果不是平移或缩放效果且基于与帧1002a和1002b(且因此也基于修改帧1002a')相关联的背景和前景的相对移动来生成左眼观看帧1010和右眼观看帧1012。在一些实施方案中,立体视频模块可以使用上面参照图9描述的方法900来确定背景和前景。在其他实施方案中,可以以任何其他合适的方式确定背景和前景。

例如,在一些情况下,前景可以在帧1002a和1002b之间比背景移动得快,并且立体视频模块可以这样确定。在这种情况下,如果前景向右移动,并且忽略背景可在哪个方向移动,立体视频模块可以将帧1002a指定为左眼观看帧1010,并且可以将修改帧1002a'指定为右眼观看帧1012。另外,在这种情况下,如果前景正在向左移动,并且忽略背景可能在哪个方向上移动,则立体视频模块可以将修改帧1002a'指定为左眼观看帧1010,并且可以将帧1002a指定为右眼观看帧1012。

在其他情况下,背景可以在帧1002a和1002b之间比前景移动得快,并且立体视频模块可以这样确定。在这种情况下,如果背景向左移动,并且忽略前景可以在哪个方向移动,则立体视频模块可以将帧1002a指定为左眼观看帧1010,并且可以将修改帧1002a'指定为右眼观看帧1012。另外,在这种情况下,如果背景向右移动,并且忽略前景可以在哪个方向上移动,则立体视频模块可以将修改帧1002a'指定为左眼观看帧并且可以将帧1002a指定为右眼观看帧1012。

因此,立体视频模块可以被配置为根据与帧1002a和1002b相关联的相机效果不是平移或缩放效果的确定,基于与帧1002a和1002b(因此也是基于修改帧1002a')相关联的背景和前景的相对移动来生成左眼观看帧1010和右眼观看帧1012。

在不脱离本公开内容范围的情况下,可以对图10进行修改、添加或省略。例如,如上所述,在所示实施方案中,帧1002b可以在帧1002a之后,并且可以基于帧1002a和1002b之间的移动来生成修改帧1002a'。然而,在一些情况下,诸如如果针对特定场景的最后帧或接近最后帧生成修改帧,那么可以基于如上面参照图3所述的推断帧来生成这种情况的修改帧。另外,在一些实施方案中,可以根据图9所示的方法900来检测前景和背景,并且在其他实施方案中,可以某种其他可接受的方式检测前景和背景。

图1-10的上述描述示出了根据本文描述的一些实施方案,立体视频模块(例如,图1所示的立体视频模块104)可以被配置为基于单视场视频的帧之间的移动以及所确定的与单视场视频相关联的相机效果来生成立体视频的左眼和右眼观看帧。图11是根据本公开内容的一些实施方案的基于相机效果将单视场视频转换为立体视频的示例性方法1100的流程图。在一些实施方案中,方法1100可以由诸如图1的立体视频模块104的立体视频模块来实施。例如,立体视频模块104可以被配置为执行计算机指令以执行由方法1100的一个或多个框表示的用于将单视场视频转换为立体视频的操作。尽管被示为离散的框,但是根据期望的实施,各框可以被划分为附加的框、组合成更少的框、或者被消除。

方法1100可以开始,并且在框1102处,可以确定单视场视频的第一帧和单视场视频的第二帧之间的移动。在框1104处,可以基于该移动生成修改的第一帧。在一些实施方案中,可以基于参考图2给出的描述来生成修改的第一帧。在其他实施方案中,可以基于参考图3所描述的推断帧来生成修改的第一帧。

在框1106处,可以基于该移动来分析和确定相机效果。例如,可以将相机效果确定为平移效果、缩放效果或都不是。在框1108处,可以基于相机效果分析以及第一帧和修改的第一帧中的至少一个来生成立体视频的左眼观看帧。在框1110处,可以基于相机效果分析以及第一帧和修改的第一帧中的至少一个来生成立体视频的右眼观看帧。在缩放效果的情况下,在一些实施方案中,还可以基于第一帧和第二帧生成第二修改的第一帧,并且可以基于第一修改的第一帧和第二修改的第一帧中的至少一个生成左眼观看帧和右眼观看帧。在一些实施方案中,可以根据图4-10中给出的描述生成左眼观看帧和右眼观看帧。

因此,方法1100可以用于将单视场视频转换为立体视频。本领域技术人员应当理解,对于本文公开的这个和其他过程和方法,可以不同的顺序来实施在过程和方法中执行的功能。此外,所概述的步骤和操作仅作为示例性提供,并且一些步骤和操作可以是可选的、组合成更少的步骤和操作,或者扩展到附加的步骤和操作中,而不背离所公开的实施方案的本质。

例如,在一些实施方案中,方法1100可以包括与确定背景和/或前景相关联的步骤,所述背景和/或前景可以继而被用于生成立体视频,诸如上面参照图9和图10所描述的。在其他实施方案中,前景和背景可以另一种方式确定,或者可以由输入指定。

返回到图1,如上所述,立体视频模块104还可以被配置为通过调整被包括在左眼观看帧和右眼观看帧中的要素之间的偏移来调整与立体视频103相关联的深度的量。还如上所述,在一些实施方案中,立体视频模块104还可以被配置为调整立体视频103的焦点,使得立体视频模块104可以对由观看者感知到的哪些要素可能处在情景的前景或背景内的感知做出修正。下面参照图12A至图14描述深度的调整和焦点的调整。

图12A示出根据一些实施方案的可由左眼1202和右眼1204感知的示例性情景1200。情景1200可以包括近侧要素1206、中间要素1208和远侧要素1210。在所示示例性中,左眼1202和右眼1204可以聚焦在中间要素1208上,使得中间要素1208可以在左眼1202和右眼1204的焦点处。因此,近侧要素1206可以在如由左眼1202和右眼1204感知到的前景内。另外,由于左眼1202和右眼1204聚焦在中间要素1208上,则远侧要素1210可以在如由左眼1202和右眼1204感知到的背景内。

图12B描绘了根据本文公开的一些实施方案的示例性网格1201,其示出了可能存在于与情景1200相关联的立体视频的左眼观看帧和右眼观看帧内的要素1206、1208和1210之间的示例性偏移。如上所述,要素1206、1208和1210的偏移可以模拟左眼1202和右眼1204相对于情景1200的不同视角。

在所示实施方案中,左边近侧要素1206a可以从图12A的左眼1202的视角表示图12A的近侧要素1206,并且右边近侧要素1206b可以从图12A的右眼1204的视角表示图12A的近侧要素1206。因此,网格1201中左边近侧要素1206a相对于右边近侧要素1206b的位置差异可以表示相关联的立体视频的左眼观看帧中的近侧要素1206相对于右眼观看帧的偏移。

在所示实施方案中,左边近侧要素1206a可以在右边,因为如图12A所示,近侧要素1206可以在与左眼1202相关联的视线1212的右边。另外,右边近侧要素1206b可以在左边,因为近侧要素1206可以在与右眼1204相关联的视线1214的左边。这种现象通常被称为“负视差”,并且在目标在两只眼睛的焦点的前面的情形下发生,在所示实施方案中,该目标可以被设定为中间要素1208。

从图12A的左眼1202和右眼1204的视角来看,网格1201的中间要素1208a/b可以表示图12A的中间要素1208。在图12A所示的实施方案中,中间要素1208可以在左眼1202和右眼1204的焦点处,使得在左眼1202和右眼1204的视角之间可以存在很少甚至没有偏移。因此,中间要素1208可以在与相关联的立体视频的右眼观看帧和左眼观看帧中基本上相同的位置。因此,图12B的中间要素1208a/b示出了由左眼1202感知到的左边中间要素1208a和由右眼1204感知到的右边中间要素1208b的重叠。

另外,左边远侧要素1210a和右边远侧要素1210b可分别从图12A的左眼1202和右眼1204的视角表示图12A的远侧要素1210。因此,网格1201中的左边远侧要素1210a相对于右边远侧要素1210b的位置差异可以表示相关联的立体视频的左眼观看帧中的远侧要素1210相对于右眼观看帧的偏移。

在所示实施方案中,左边远侧要素1210a可以在左边,因为如图12A所示,远侧要素1210可以在与左眼1202相关联的视线1212的左边。此外,右边远侧要素1210b可以在右边,因为远侧要素1210可以在与右眼1204相关联的视线1214的右边。该现象通常被称为“正视差”并且在目标在两只眼睛的焦点的后面的情形下发生,在所示实施方案中,该目标可以在中间要素1208处。

可以通过调整左眼观看帧和其相关联的右眼观看帧的对应要素之间的偏移来调整立体视频的深度的量。例如,同与图12B相关联的立体视频相关联的深度的量可以通过调整左边近侧要素1206a和右边近侧要素1206b之间的偏移、通过调整左边中间要素1208a和右边中间要素1208b之间的偏移、和/或通过调整左边远侧要素1210a和右边远侧要素1210b之间的偏移来调整。在本公开内容的一些实施方案中,可以通过对要素之间的偏移应用统一的乘法因子来调整深度。

图12C描绘了根据本文公开的一些实施方案的示例性网格1203,其示出了在将统一的乘法因子应用于图12B的偏移之后,图12B的要素相对于它们各自的左眼和右眼观看帧的偏移。统一的乘法因子可以应用于与左眼观看帧和右眼观看帧中的基本上所有的要素相关联的偏移,使得要素之间的偏移通过基本上相同的尺度来调整。在所示实施方案中,统一的乘法因子可以具有是2的值,并且可以应用于图12B的要素1206、1208和1210之间的偏移,使得图12C中的要素1206、1208和1210之间的偏移可以各自相对于图12B中的对应的偏移加倍。

例如,在图12B中,左边近侧要素1206a的中心和右边近侧要素1206b的中心之间的近侧要素偏移可以是大约“2”个网格单元。因此,对近侧要素偏移应用乘法因子“2”可导致图12C中左边近侧要素1206a的中心和右边近侧要素1206b的中心之间的近侧要素偏移近似为“4”个网格单元,如图12C所示。

另外,左边中间要素1208a和右边中间要素1208b之间的中间要素偏移可以是大约“0”个网格单元。因此,将乘法因子“2”应用于中间要素偏移可以导致图12C中的左边中间要素1208a和右边中间要素1208b之间的中间要素偏移仍然是大约“0”个网格单元,因为1个数字乘以“0”仍为“0”。

此外,在图12B中,在左边远侧要素1210a的中心和右边远侧要素1210b的中心之间的远侧要素偏移可以是大约“3”个网格单元。因此,对远侧要素偏移应用乘法因子“2”可导致图12C中的左边远侧要素1210a的中心与右边远侧要素1210b的中心之间的远侧要素偏移近似为“6”个网格单元,如图12C所示。

在所示实施方案中,与右眼观看帧相关联的右边近侧要素1206b可以向左移位大约“2”个网格单元,并且与左眼观看帧相关联的左边近侧要素1206a可以在图12C中相对于图12B不移位。另外,在所示实施方案中,与右眼观看帧相关联的右边远侧要素1210b可以向右移位“3”个网格单元,并且与左眼观看帧相关联的左边远侧要素1210a可以在图12C中相对于图12B不移位。因此,通过调整右眼观看帧而不必调整左眼观看帧,近侧要素偏移可以在图12C中相对于图12B从“2”个网格单元增加到“4”个网格单元,并且远侧要素偏移可以从“3”个网格单元增加到“6”个网格单元。

在替代的实施方案中,可以通过移位左眼观看帧内的左边近侧要素1206a和左边远侧要素1210a而不是移位右眼观看帧中的右边近侧要素1206b和右边远侧要素1210b来调整在图12C中相对于图12B的近侧要素偏移和远侧要素偏移。在其它实施方案中,可以通过移位左边近侧要素1206a和右边近侧要素1206b两者来调整在图12C中相对于图12B的近侧要素偏移。此外,在这些或其它实施方案的一些实施方案中,可以通过移位左边远侧要素1210a和右边远侧要素1210b两者来调整在图12C中相对于图12B的远侧要素偏移。

尽管在上述实施例中使用特定的统一的乘法因子“2”,但是可以使用任何合适的乘法因子。例如,可以使用大于“1”的任何适当的乘法因子来增加由观看者感知的深度。另外,小于“1”的任何合适的乘法因子可以用于减小由观看者感知的深度。此外,尽管上文将统一的乘法因子描述为应用于与对应要素相关联的偏移,但在一些实施方案中,所述要素可各自包括一个或多个像素,且统一的乘法因子可应用于与对应像素相关联的偏移。在一些实施方案中,统一的乘法因子可以应用于与每个要素和/或像素相关联的每个偏移。

因此,根据本公开内容的一些实施方案,立体视频模块(例如,立体视频模块104)可以被配置为通过将统一的乘法因子应用于与立体视频的左眼观看帧和相应的右眼观看帧相关联的对应的要素和/或像素之间的偏移来调整与立体视频相关联的深度。相比之下,传统的深度调整程序可能不应用统一比例的偏移来调整深度。

还可以通过调整左眼观看帧和其相关联的右眼观看帧的对应要素之间的偏移来调整立体视频的焦点。例如,可以通过调整左边近侧要素1206a和右边近侧要素1206b之间的偏移、通过调整左边远侧要素1210a和右边远侧要素1210b之间的偏移以及通过调整左边中间要素1208a和右边中间要素1208b之间的偏移来调整与图12B相关联的立体视频的焦点。在一些实施方案中,可以通过对要素之间的偏移应用统一的求和因子来调整焦点。统一的求和因子可以应用于与左眼观看帧和右眼观看帧内的基本上所有的要素相关联的偏移。另外,在一些实施方案中,统一的求和因子可以应用于与左眼和右眼观看帧的对应像素相关联的偏移。

图12D描绘了根据本文公开的一些实施方案的示例性网格1205,其示出了在将统一的求和因子应用于图12B的偏移之后,图12B的要素相对于它们各自的左眼和右眼观看帧的偏移。在所示实施方案中,可以应用统一的求和因子,使得与右眼观看帧相关联的要素相对于与左眼观看帧相关联的要素向左移位。这种右眼观看帧要素相对于左眼观看帧要素向左移位可以导致焦点向后移动,使得更多的要素被感知在前景内。

在其他实施方案中,可以应用统一的求和因子,使得与右眼观看帧相关联的要素相对于与左眼观看帧相关联的要素向右移位。这种右眼观看帧要素相对于左眼观看帧要素向右移位可以导致焦点向前移动,使得更多的要素被感知在背景内。

在所示的实施方案中,统一的求和因子可以具有值“-3”,并且可以应用于图12B的要素1206、1208和1210之间的偏移,使得右眼观看帧要素每个都可以相对于它们相应的左眼观看帧要素向左移位三个网格单元。在所示的实施方案中,负求和因子可以导致右眼观看帧要素相对于左眼观看帧要素向左移位,而正求和因子可以导致右眼观看帧要素相对于左眼观看帧要素向右移位。然而,在其他实施方案中,正求和因子可以导致右眼观看帧要素相对于左眼观看帧要素向左移位,而负求和因子可以导致右眼观看帧要素相对于左眼观看帧要素向右移位。

例如,在图12B中,左边近侧要素1206a的中心和右边近侧要素1206b的中心之间的近侧要素偏移可以是“2”个网格单元。因此,将“-3”的求和因子应用于图12B中所示的近侧要素偏移可导致将右边近侧要素1206b相对于左边近侧要素1206a向左移位“3”个网格单元,使得在左边近侧要素1206a的中心和右边近侧要素1206b的中心之间的近侧偏移在应用求和因子之后可以是“5”个网格单元,如图12D所示。

另外,左边中间要素1208a和右边中间要素1208b之间的中间要素偏移可以是大约“0”个网格单元。因此,将“-3”的求和因子应用于图12B中所示的中间要素偏移可导致将右边中间要素1208b相对于左边中间要素1208a向左移位“3”个网格单元,使得在应用图12D中所示的求和因子之后,左边中间要素1208a的中心和右边中间要素1208b的中心之间的中间偏移可以是“3”个网格单元。

此外,在图12B中,在左边远侧要素1210a的中心和右边远侧要素1210b的中心之间的远侧要素偏移可以是“3”个网格单元。因此,将“-3”的求和因子应用于图12B中所示的远侧要素偏移可导致将右边远侧要素1210b相对于左边远侧要素1210a向左移位“3”个网格单元,使得在施加求和因子之后,左边远侧要素1210a的中心和右边远侧要素1210b的中心之间的远侧偏移可以是“0”个网格单元,如图12D所示。

在所示实施方案中,与右眼观看帧相关联的右边近侧要素1206b、右边中间要素1208b和右边远侧要素1210b可以分别向左移动“3”个网格单元,并且与左眼观看帧相关联的左边近侧要素1206a、左边中间要素1208a和左边远侧要素1210a可以不在图12D中相对于图12B移位以获得期望的偏移调整量。在替代的实施方案中,在图12D中相对于图12B,近侧偏移、中间偏移和远侧偏移可以通过移位左边近侧要素1206a、右边近侧要素1206b、左边中间要素1208a、右边中间要素1208b、左边远侧要素1210a和/或右边远侧要素1210b中的一个来调整。

另外,所示实施方案描绘了将与右眼观看帧相关联的要素相对于左眼观看帧中的相对应要素向左移位,以将焦点移回,这可以在由观看者感知到的前景中带来更多的要素。然而,如上所述,在其他实施方案中,与右眼观看帧相关联的要素可以相对于其在左眼观看帧中相应的要素向右移位,以向前移动焦点,这可以在由观看者感知的背景中带来更多的要素。

因此,根据本发明的一些实施方案,立体视频模块(例如,立体视频模块104)可被配置为通过向与立体视频的左眼观看帧和对应的右眼观看帧相关联的对应要素和/或像素之间的偏移应用统一的求和因子来调整与立体视频相关联的焦点。

本领域技术人员应当理解,对于本发明公开的这个和其他过程和方法,可以以不同的顺序来实施在过程和方法中执行的功能。此外,所概述的步骤和操作仅作为示例性提供,并且一些步骤和操作可以是可选的、组合成更少的步骤和操作、或者扩展到附加的步骤和操作中,而不背离所公开实施方案的本质。

图13是根据本公开内容的一些实施方案的调整立体视频的深度的示例性方法1300的流程图。在一些实施方案中,方法1300可以由立体视频模块诸如图1的立体视频模块104来实施。例如,立体视频模块104可以被配置为执行计算机指令以执行如由方法1300的一个或多个框所表示的用于调整立体视频的深度的操作。尽管被示为离散框,但是根据期望的实施,各种框可以被划分为附加的框、组合成更少的框、或者被消除。

方法1300可开始,且在框1302处,可生成立体视频的左眼观看帧。左眼观看帧可以包括多个左眼观看观看帧要素。在一些实施方案中,左眼观看帧要素可以是被包括在左眼观看帧中的基本上所有的要素,使得左眼观看帧要素可以基本上布满(encompass)整个左眼观看帧。另外,左眼观看帧要素可以各自包括一个或多个像素。

在框1304处,可以生成立体视频的右眼观看帧。右眼观看帧可以对应于左眼观看帧,并且可以包括多个右眼观看帧要素。每个右眼观看帧要素可以对应于左眼观看帧要素中的一个。在一些实施方案中,右眼观看帧要素可以是被包括在右眼观看帧中的基本上所有的要素,使得右眼观看帧要素可以基本上布满整个右眼观看帧。另外,右眼观看帧要素可以各自包括一个或多个像素。

在框1306处,可以确定每个左眼观看帧要素与其对应的右眼观看帧要素之间的偏移。在一些实施方案中,可以在逐像素的基础上确定偏移。在框1308处,可以对每个偏移应用统一的乘法因子,使得可以以基本上统一的尺度调整与立体视频相关联的深度。

因此,方法1300可以用于调整立体视频的深度。本领域技术人员应当理解,对于本发明公开的这个和其他过程和方法,可以以不同的顺序来实施在过程和方法中执行的功能。此外,所概述的步骤和操作仅作为示例性提供,并且一些步骤和操作可以是可选的、组合成更少的步骤和操作、或者扩展到附加的步骤和操作中,而不背离所公开实施方案的本质。

例如,在一些实施方案中,方法1300可以包括与生成左眼观看帧和右眼观看帧相关联的步骤。在这些实施方案的一些中,可以根据上面参照图1-11描述的一种或多种方式生成左眼观看帧和右眼观看帧。

图14是根据本公开内容的一些实施方案的调整立体视频的焦点的示例性方法1400的流程图。在一些实施方案中,方法1400可以由诸如图1的立体视频模块104的立体视频模块来实现。例如,立体视频模块104可以被配置为执行计算机指令以执行由方法1400的一个或多个框表示的用于调整立体视频的焦点的操作。尽管被示为离散框,但是根据期望的实施,各种框可以被划分为附加的框、组合成更少的框、或者被消除。

方法1400可以开始,且在框1402处,可以生成立体视频的左眼观看帧。左眼观看帧可以包括多个左眼观看帧要素。在一些实施方案中,左眼观看帧要素可以是被包括在左眼观看帧中的基本上所有的要素,使得左眼观看帧要素可以基本上布满整个左眼观看帧。另外,左眼观看帧要素可以各自包括一个或多个像素。

在框1404处,可以生成立体视频的右眼观看帧。右眼观看帧可以对应于左眼观看帧,并且可以包括多个右眼观看帧要素。每个右眼观看帧要素可以对应于左眼观看帧要素中的一个。在一些实施方案中,右眼观看帧要素可以是被包括在右眼观看帧中的基本上所有的要素,使得右眼观看帧要素可以基本上布满整个右眼观看帧。另外,右眼观看帧要素可以各自包括一个或多个像素。

在框1406处,可以确定每个左眼观看帧要素与其对应的右眼观看帧要素之间的偏移。在一些实施方案中,可以在逐像素的基础上确定偏移。在框1408处,可将统一的求和因子应用于每个偏移。可以应用统一的求和因子,使得每个右眼观看帧要素可以相对于其对应的左眼观看帧要素统一地移位基本上相同的量。因此,移位可以调整与立体视频相关联的焦点。

因此,方法1400可以用于调整立体视频的焦点。本领域技术人员应当理解,对于本发明公开的这个和其他过程和方法,可以以不同的顺序来实施在过程和方法中执行的功能。此外,所概述的步骤和操作仅作为示例性提供,并且一些步骤和操作可以是可选的、组合成更少的步骤和操作、或者扩展到附加的步骤和操作中,而不背离所公开实施方案的本质。

例如,在一些实施方案中,方法1400可以包括与生成左眼观看帧和右眼观看帧相关联的步骤。在这些实施方案的一些中,可以根据上面参照图1-11描述的一种或多种方式生成左眼观看帧和右眼观看帧。

这里描述的实施方案可以包括使用专用或通用计算机,包括各种计算机硬件或软件模块,如下面更详细讨论的。

本文描述的实施方案可以使用用于携带或具有存储在其上的计算机可执行指令或数据结构的计算机可读介质来实施。这样的计算机可读介质可以是可由通用或专用计算机访问的任何可用介质。作为示例性而非限制,这样的计算机可读介质可以包括有形的计算机可读存储介质,包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁性存储设备、或任何其他存储介质,其可以用于携带或存储计算机可执行指令或数据结构形式的期望程序代码,并且可以由通用或专用计算机访问。上述的组合也可以包括在计算机可读介质的范围内。

计算机可执行指令可以由处理设备执行,并且可以包括例如使得通用计算机、专用计算机或专用处理设备执行某一功能或一组功能的指令和数据。尽管已经用对结构特征和/或方法动作专用的语言描述了主题,但是应当理解,所附权利要求中定义的主题不一定限于上述具体特征或动作。相反,上述具体特征和动作被公开为实施权利要求的示例性形式

如本文所使用的,术语“模块”或“组件”可以指在计算系统上执行的软件对象或程序。本文描述的不同组件、模块、引擎和服务可以被实施为在计算系统上执行的对象或进程(例如,作为单独的线程)。虽然本文所描述的系统和方法可以用软件实施,但是硬件中的实施或软件和硬件的组合也是可能的和预期的。在本说明书中,“计算实体”可以是如本文之前定义的任何计算系统,模块或在计算系统上运行的调制组合。

本文所述的所有示例性和条件性语言旨在用于教学对象,以帮助读者理解本发明和由发明人为促进本领域而贡献的构想,并且应被解释为不限于这些具体叙述的示例和条件。虽然已经详细描述了本发明的实施方案,但是应当理解,在不脱离本发明的精神和范围的情况下,可以对其进行各种改变、替换和更改。

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