双目视图和单目视图之间的转换转让专利

申请号 : CN201780035341.4

文献号 : CN109313346B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 布里安·基思·卡布拉尔福里斯特·塞缪尔·布里格斯

申请人 : 脸谱公司

摘要 :

图像处理系统被设计成生成具有双目视图和单目视图之间的平滑转换的画布视图。最初,图像处理系统接收场景的顶部/底部图像和侧面图像并且计算偏移量以生成用户的左视图和右视图的合成的侧面图像。为了实现双目视图和单目视图之间的平滑转换,图像处理系统首先将顶部/底部图像扭曲到相应的合成的侧面图像上以生成扭曲的顶部/底部图像,从而在形状上实现平滑转换。然后图像处理系统将扭曲的顶部/底部图像变形到相应的合成的侧面图像上以生成混合图像,用于具有混合图像的左眼视图和右眼视图。图像处理系统基于混合图像创建在图像形状和颜色上具有双目视图和单目视图之间的平滑转换的画布视图。

权利要求 :

1.一种处理图像的方法,包括:

接收由顶部纵轴相机捕获的场景的顶部图像;

接收所述场景的第一合成图像和第二合成图像,所述第一合成图像和第二合成图像单独对应于用户的左眼视图和右眼视图;并且对于所述第一合成图像和第二合成图像中的每一者:

识别所述场景的所述顶部图像与相应的所述合成图像的重叠部分;

在所述重叠部分内,确定从所述场景的所述顶部图像至相应的所述合成图像的光流;

通过施加所述光流将所述顶部图像混合到相应的所述合成图像上,生成扭曲的顶部图像,其中,所述光流作为相对于所述顶部纵轴相机的纵轴的竖直角的函数来施加;并且通过组合所述场景的所述顶部图像、相应的所述合成图像以及所述扭曲的顶部图像来生成用于所述用户的相应的眼视图的画布视图。

2.根据权利要求1所述的方法,其中,施加光流的所述函数在所述重叠部分开始邻近于所述顶部图像的竖直角处不施加光流,并且在所述重叠部分中的枢轴行处施加满光流。

3.根据权利要求2所述的方法,进一步包括,

对于所述第一合成图像和第二合成图像中的每一者:在相应的所述合成图像中的所述重叠部分邻近于仅侧面部分的所述仅侧面部分和枢轴行之间使所述顶部图像的颜色随相应的所述合成图像变形。

4.根据权利要求3所述的方法,其中,在所述枢轴行和邻近于仅侧面部分的所述重叠部分之间,所述颜色变形的范围为从零至所述仅侧面图像颜色的完全颜色变形。

5.根据权利要求1所述的方法,其中,所述左眼视图和右眼视图分开一距离,所述距离是所述用户的所述左眼视图和右眼视图之间的瞳孔间距离IPD的函数。

6.根据权利要求5所述的方法,其中,所述IPD是所述场景的所述竖直角的函数。

7.根据权利要求6所述的方法,其中,竖直角为π/2,则所述IPD是最大IPD,并且竖直角为π,则所述IPD是零。

8.一种存储计算机程序指令的非易失性计算机可读存储介质,所述计算机程序指令在由计算机处理器执行时使处理器执行以下步骤:接收由顶部纵轴相机捕获的场景的顶部图像;

接收所述场景的第一合成图像和第二合成图像,所述第一合成图像和第二合成图像单独对应于用户的左眼视图和右眼视图;并且对于所述第一合成图像和第二合成图像中的每一者:

识别所述场景的所述顶部图像与相应的所述合成图像的重叠部分;

在所述重叠部分内,确定从所述场景的所述顶部图像至相应的所述合成图像的光流;

通过施加所述光流将所述顶部图像混合到相应的所述合成图像上,生成扭曲的顶部图像,其中,所述光流作为相对于所述顶部纵轴相机的纵轴的竖直角的函数来施加;并且通过组合所述场景的所述顶部图像、相应的所述合成图像以及所述扭曲的顶部图像来生成用于所述用户的相应的眼视图的画布视图。

9.根据权利要求8所述的非易失性计算机可读存储介质,其中,施加光流的所述函数在所述重叠部分开始邻近于所述顶部图像的竖直角处不施加光流,并且在所述重叠部分中的枢轴行处施加满光流。

10.根据权利要求9所述的非易失性计算机可读存储介质,进一步包括:对于所述第一合成图像和第二合成图像中的每一者:在相应的所述合成图像中的所述重叠部分邻近于仅侧面部分的所述仅侧面部分和枢轴行之间使所述顶部图像的颜色随相应的所述合成图像变形。

11.根据权利要求10所述的非易失性计算机可读存储介质,其中,在所述枢轴行和邻近于仅侧面部分的所述重叠部分之间,所述颜色变形的范围为从零至所述仅侧面图像颜色的完全颜色变形。

12.根据权利要求8所述的非易失性计算机可读存储介质,其中,所述左眼视图和右眼视图分开一距离,所述距离是所述用户的所述左眼视图和右眼视图之间的瞳孔间距离IPD的函数。

13.根据权利要求12所述的非易失性计算机可读存储介质,其中,所述IPD是所述场景的所述竖直角的函数。

14.根据权利要求13所述的非易失性计算机可读存储介质,其中,竖直角为π/2,则所述IPD是最大IPD,并且竖直角为π,则所述IPD是零。

说明书 :

双目视图和单目视图之间的转换

技术领域

[0001] 本公开内容总体涉及视觉系统,并且更具体地,涉及实现双目视图和单目视图之间的平滑转换。

背景技术

[0002] 虚拟现实(VR)变得越来越流行,并且多相机系统经常在VR系统中使用以捕获图像和/或视频,为体验VR系统的用户创建虚拟场景。由不同相机捕获的图像可以组合成用于提供虚拟场景的画布视图,从而使用户体验VR效果。然而,在组合由不同相机捕获的图像以创建合成图像时会出现问题。作为一个实例,粗略混合由不同相机拍摄的同一对象的图像会引起组合图像中的复视。此外,在创建画布视图以模拟用户上下看的视图时,双目视图和单目视图之间的转换可能是突然变化的或使双目视图的顶部相机和侧面相机之间出现接缝,从而引起创建视图中的失真并且降低对VR系统的用户体验。
[0003] 因此,需要双目视图和单目视图之间的平滑转换。

发明内容

[0004] 图像处理系统经由图像混合创建具有双目视图和单目视图之间的平滑转换的画布视图。
[0005] 图像处理系统接收包括对象的场景的图像,场景的图像通过相机机台架系统捕获。捕获的图像包括由顶轴相机/底轴相机拍摄的顶部/底部图像以及由包括在相机机台架系统中的周缘相机拍摄的侧面图像。图像处理系统也从侧面图像创建合成图像以模拟从一个或多个周缘相机之间的合成相机的位置的视图。合成图像反映合成视图,其模拟在用户的眼睛的视线指向对象时的用户的左视图/右视图。可生成多个合成视图,例如以模拟用于用户的左眼和右眼的视图,从而提供双目视觉。
[0006] 在创建合成图像之后,图像处理系统执行用于双目视图(其中每个眼睛不同)和单目视图(其中每个眼睛相同)之间的平滑转换的图像混合。对于以一角度高于周缘相机的视场的画布视图的部分,使用顶部相机或底部相机,可以为双眼提供相同的图像,从而实现单目视觉。为了使单目视觉和双目视觉之间的转换平滑,顶部/底部图像首先扭曲到相应的合成图像上,以生成在形状上平滑转换的扭曲的顶部/底部图像,并且光流被用于形状扭曲。然后图像处理系统使扭曲的顶部/底部图像变形到合成图像上,以生成在颜色上平滑转换的混合图像,并且α混合用于颜色变形。图像处理系统将以上描述的混合处理应用至左眼视图和右眼视图两者,从而生成用于左眼和右眼两者的画布视图。
[0007] 在一些实施方式中,图像处理系统根据竖直角调整合成视图的位置,使得用于双眼的两个合成相机位于在到地面的竖直角水平的最大瞳孔间距离处,并且随着竖直角接近高于周缘相机的视场的角度,两个合成相机之间的距离减少。两个合成相机之间的距离可通过模拟根据竖直角减少的瞳孔间距离来减少。在一些实施方式中,在竖直角高于阈值时,瞳孔间距离为零,该阈值可对应于高于周缘相机的视场的竖直角。在这个情况中,合成相机可具有相同的位置和视图。
[0008] 在一些实例中,相机视图可能被对象挡住,诸如相机机台架的支撑结构。对象的遮挡通过将次要摄影机视图合并到主要相机视图中来移除。主要相机视图可包括与其他摄像头的视点一致的视图,但是包括遮挡其部分环境的视图的对象。次要摄影机位于对象的另一侧,使得次要摄影机包括主要视图中由对象遮挡的环境的部分。在主要视图和次要视图中,过滤器被应用至包括遮挡对象的视图的部分。过滤器可以排除或清零过滤器应用至的像素的α通道或像素值。光流是从次要视图到主要视图计算的,并且使用光流将次要视图与主要视图组合。通过使次要相机具有与主要相机相似的环境的视图并且组合得到的图像,可生成组合视图,从而产生单独相机捕获环境而没有遮挡的错觉。
[0009] 根据本发明的实施方式具体在涉及方法、存储介质、系统和计算机程序产品的所附权利要求中公开,其中在一个权利要求类别(例如,方法)中提到的任何特征可以在另一个权利要求类别(例如,系统)中要求保护。所附权利要求中的从属关系或引用关系仅出于形式原因而被选择。然而,还可以要求保护任何先前权利要求(特别是多个从属关系)的有意引用而产生的任何主题,使得公开并且可以要求保护权利要求及其特征的任何组合,而不管在所附权利要求中选择的从属关系如何。可被要求保护的主题不仅包括所附权利要求中给出的特征的组合,而且包括权利要求中的特征的任意其他组合,其中,权利要求中提及的每个特征可与权利要求中的任意其他特征或者其他特征的组合进行组合。此外,本文中描述或描绘的任何实施方式和特征可以在单独的权利要求中被要求保护和/或与本文中描述或描绘的任何实施方式或特征或者与所附权利要求的任何特征的任何组合中要求保护。
[0010] 在根据本发明的实施方式中,一种方法可以包括:
[0011] 接收场景的顶部图像;
[0012] 接收场景的第一合成图像和第二合成图像,第一合成图像和第二合成图像单独对应于用户的左眼视图和右眼视图;并且
[0013] 对于第一合成图像和第二合成图像中的每一个:
[0014] 识别场景的顶部图像与合成图像的重叠部分;
[0015] 在重叠部分内,确定从场景的顶部视图到合成图像的光流;
[0016] 通过施加光流将顶部图像混合到合成图像上来生成扭曲顶部图像,其中,光流作为竖直角的函数来施加;并且
[0017] 通过组合场景的顶部图像、合成图像与扭曲顶部图像来生成用户的相应的眼视图的画布视图。
[0018] 用于施加光流的函数可在重叠部分开始邻近于顶部部分的竖直角处不施加光流。
[0019] 用于施加光流的函数可在重叠部分中的枢轴行处施加全部光流。
[0020] 在根据本发明的实施方式中,一种方法可以包括:
[0021] 对于第一合成图像和第二合成图像中的每一个:在重叠部分邻近于侧面部分的图像的枢轴行和仅侧面部分之间使顶部图像的颜色随合成图像变形。
[0022] 颜色变形的范围可以从枢轴行和邻近于侧面部分的重叠部分之间的侧面图像颜色的零颜色变形至完全颜色变形。
[0023] 第一视图和第二视图可分开作为用户的左眼视图和右眼视图之间的瞳孔间距离(IPD)的函数的距离。
[0024] IPD可以是场景的竖直角的函数。
[0025] 竖直角为π/2,IPD可以是最大IPD。
[0026] 竖直角为π,IPD可以是零。
[0027] 在根据本发明的实施方式中,非易失性计算机可读存储介质可存储计算机程序指令,计算机程序指令在由计算机处理器执行时可以使得处理器执行以下步骤:
[0028] 接收场景的顶部图像;
[0029] 接收场景的第一合成图像和第二合成图像,第一合成图像和第二合成图像单独对应于用户的左眼视图和右眼视图;并且
[0030] 对于第一合成图像和第二合成图像中的每一个:
[0031] 识别场景的顶部图像与合成图像的重叠部分;
[0032] 在重叠部分内,确定从场景的顶部视图到合成图像的光流;
[0033] 通过施加光流将顶部图像混合到合成图像上来生成扭曲顶部图像,其中,光流作为竖直角的函数而施加;并且
[0034] 通过组合场景的顶部图像、合成图像与扭曲顶部图像来生成用于用户的相应的眼视图的画布视图。
[0035] 用于施加光流的函数可在重叠部分开始邻近于顶部的竖直角处不施加光流。
[0036] 用于施加光流的函数可在重叠部分中的枢轴行处施加全部光流。
[0037] 在根据本发明的实施方式中,非易失性计算机可读存储介质可以包括,[0038] 对于第一合成图像和第二合成图像中的每一个:在重叠部分邻近于侧面部分的图像的枢轴行和仅侧面部分之间使顶部图像的颜色随合成图像变形。
[0039] 颜色变形的范围可以从枢轴行和邻近于侧面部分的重叠部分之间的侧面图像颜色的零颜色变形至完全颜色变形。
[0040] 第一视图和第二视图可分开作为用户的左眼视图和右眼视图之间的瞳孔间距离(IPD)的函数的距离。
[0041] IPD可作为场景的竖直角的函数。
[0042] 竖直角为π/2,IPD可以是最大IPD。
[0043] 竖直角为π,IPD可以是零。
[0044] 在根据本发明的另一个实施方式中,一个或多个计算机可读非易失性存储介质可体现为软件,该软件在被执行时可操作为执行根据本发明或上述实施方式中的任意一个的方法。
[0045] 在根据本发明的实施方式中,系统可以包括:一个或多个处理器;和至少一个存储器,该存储器耦接至处理器并且包括通过处理器可执行的指令,处理器当执行指令时可操作为执行根据本发明的或上述实施方式中的任意一个的方法。
[0046] 在根据本发明的实施方式中,优选地,一种包括计算机可读非易失性存储介质的计算机程序产品,当在数据处理系统上被执行时可操作为执行根据本发明或上述实施方式中的任意一个的方法。

附图说明

[0047] 图1是根据一个实施方式的图像处理系统在其中运行的系统环境的框图。
[0048] 图2A示出根据一个实施方式的相机机台架系统的立体图。
[0049] 图2B示出根据一个实施方式的相机机台架系统的侧视图。
[0050] 图3示出根据一个实施方式的图像处理系统的架构的框图。
[0051] 图4A示出根据一个实施方式的使用相机机台架系统模拟用户的眼睛看着对象的视图的环境的线图。
[0052] 图4B示出根据一个实施方式的识别对于模拟用户的左眼和右眼的视图的合成图像的偏移量的处理的线图。
[0053] 图4C示出根据一个实施方式的说明响应于竖直角的改变而改变的瞳孔间距离的线图。
[0054] 图5示出根据一个实施方式的将顶部/底部图像混合到合成图像上以生成画布视图的线图。
[0055] 图6示出根据一个实施方式的经由图像处理系统生成合成图像并且执行将顶部图像图像混合到相应的合成图像上的过程的示例性流程图。
[0056] 图7示出根据一个实施方式的具有遮挡的底部相机的示例性相机机台架系统。
[0057] 图8示出根据一个实施方式的分别通过主要底部相机和次要底部相机拍摄的主要底部图像和次要底部图像的相机视图。
[0058] 附图仅出于说明性的目的描述了本发明的各种实施方式。本领域技术人员从下列论述中容易认识到,在不背离本文所描述的本发明的原理的情况下,可以采用本文示出的结构和方法的替代实施方式。

具体实施方式

[0059] 系统架构
[0060] 图1示出根据一个实施方式的图像处理系统300在其中运行的系统环境100的框图。图1中示出的系统环境100包括相机机台架系统200、图像处理系统300、和客户端VR装置180。为了说明的目的,在图1中仅示出一个相机机台架系统200、一个图像处理系统300、和一个客户端VR装置180。在未示出的可替换实施方式中,系统环境100可以包括多个相机机台架系统200、图像处理系统300、客户端VR装置180、以及不同的和/或额外的部件。同样地,由系统环境100中的各个实体执行的功能在不同的实施方式中可以不同。
[0061] 相机机台架系统200是被设计成捕获局部区域或对象的图像和/或视频的多相机系统。局部区域是相机机台架系统200周围的环境。例如,局部区域可以是相机机台架系统200位于其内部的房间。由相机机台架系统200捕获的图像可以是场景或对象的多个视图,该多个视图用于为VR系统创建场景的画布视图并且所创建的画布视图被提供至客户端VR装置180。画布视图指的是将来自相机机台架系统200中各个相机的视图组合的视图,并且可以是场景的任何全景、球形全景、或合适的广角视图。更具体地,一个画布视图是为用户的左眼创建的,并且另一个画布视图是为用户的右眼创建的。在用户佩戴客户端VR装置180时,画布视图用于生成用户的虚拟现实场景。在一些实施方式中,相机机台架系统200还捕获图像以模拟佩戴立在相机机台架系统的原点处的客户端VR装置180的用户的体验。如下在图2A和在图2B中更充分地描述的,相机机台架系统200包括多个周缘相机230、顶轴相机
240A和底轴相机240B。在一些实施方式中,由包括在相机机台架系统200中的相机捕获的图像以及相关的图像数据被输出至用于处理图像的图像处理系统300。如以下充分描述的,周缘相机230捕获场景的侧面图像,顶轴相机240A捕获场景的顶部图像,并且底轴相机240B捕获场景的底部图像,并且所捕获的图像被提供至图像处理系统300以生成画布视图。由顶轴相机/底轴相机捕获的顶部/底部图像还表示顶部相机视图/底部相机视图。因为顶部相机和底部相机可捕获场景的顶部和底部的单个图像,所以顶部和底部的视图可以是单目的–即,具有用于左眼和右眼的相同的图像。图像处理系统还生成模拟从相应的合成相机应当位于的位置的用户的左视图和右视图的合成图像,如下更充分地描述的。在用户注视由周缘相机观察的方向时,周缘相机230可以用于生成用于左眼和右眼的不同的视图从而提供双目视觉,该双目视觉为用户提供场景中的对象的深度感知。为了模拟在用户向上看或向下看时用户的单目视图和双目视图之间的转换,图像处理系统300将顶端图像和底部图像混合至两个合成图像中的每一个,以模拟用户的左眼视图和右眼视图。
[0062] 图像处理系统300从相机机台架系统200接收所捕获的图像并且为佩戴客户端VR装置180的用户生成左视图和右视图。所生成的左视图和右视图提供在用户向上看或向下看时的双目视图和单目视图之间的平滑转换。为了生成左左视图和右视图,在接收到由周缘相机230拍摄的侧面图像之后,图像处理系统300生成用于左眼视图和右眼视图的合成图像。例如,对于左眼视图,针对表示左眼的视图的相应的合成相机创建该合成的侧面图像。然后,将由顶轴相机/底轴相机240拍摄的顶部/底部图像混合至合成图像,以实现顶部/底部图像和合成图像的形状和颜色的平滑混合。
[0063] 和诸如周缘相机230和轴相机240的真实相机相比,合成相机是位于相机机台架周边215和用户的左眼和右眼在看场景中的对象时的用户的视线之间的交叉处的虚拟相机,如以下在图4A至图4B中充分地描述的。更详细地,模拟至少两个合成相机430,一个“生成”用于左眼的合成图像,并且另一个“生成”用于右眼的合成侧面图像。在一个实施方式中,合成图像是基于由相应的周缘相机230拍摄的侧面图像和由图像处理系统300计算的用于合成相机的周缘相机之间的位置创建的。在另一个实施方式中,对于左眼视图或右眼视图,真实的周缘相机230可从针对合成相机的位置捕获图像。在这种情况下,由真实的周缘相机拍摄的图像被当作用于眼的合成图像。
[0064] 将顶部/底部图像混合至生成的合成图像以相对于合成的侧面图像使形状变化和颜色变化平滑。如以下更充分地描述的,对于对应于左眼视图和右眼视图的合成图像中的每一个,图像处理系统300首先将顶部/底部图像扭曲到合成图像上以实现形状混合,然后将扭曲的顶部/底部图像变形至合成图像以实现颜色变形。这些处理中的每一个可以作为图像的竖直角的函数。即,(对于顶部相机)角度越高,得到的图像的形状和颜色越接近顶部相机视图。
[0065] 经由光流的形状扭曲和经由α混合的颜色变形之后的混合图像可以用于创建画布视图。例如,用于左眼视图的混合图像用于创建用于用户的左眼的画布视图,并且用于右眼视图的混合图像用于创建用于用户的右眼的画布视图。如以下图5中更充分地描述的,画布视图包括仅顶部部分、仅底部部分、仅侧面部分、顶部视图并且侧面视图之间的重叠部分、以及底部视图和侧面视图之间的重叠部分。仅顶部部分指画布视图中仅由顶部图像提供的部分,仅底部部分指画布视图中仅由底部图像提供的部分,并且重叠部分指画布视图中由顶部/底部图像和侧面图像两个共享并提供的部分。混合图像使顶部视图/底部视图和侧面视图之间的重叠部分准确且平滑,没有诸如复视的图像问题。
[0066] 客户端VR装置180是向用户呈现媒体的头戴式显示器。更具体地,客户端VR装置180接收由图像处理系统300提供的图像或视频,并且向佩戴客户端VR装置的用户提供虚拟场景。例如,客户端VR装置180为用户提供由图像处理系统300创建的画布视图生成的立体
3D虚拟场景。客户端VR装置180还可以是交互的并且响应于用户的动作示出不同图像和/或视频。例如,在用户的眼睛从一个方向转到另一个方向(例如,从上到下)以观看虚拟场景的不同的部分时,客户端VR装置180响应于用户的眼睛的转动提供准确的图像,从而允许用户体验虚拟场景的不同部分的平滑转换。
[0067] 图2A和图2B示出根据一个实施方式的相机机台架系统200的不同视图。具体地,图2A是根据一个实施方式的相机机台架系统200的立体图。如在图2A中所示,相机机台架系统
200包括对齐轴205、顶板210、底板220、多个周缘相机230以及多个轴相机240。多个周缘相机230设置为使得它们形成围绕与对齐轴205相交的中心点的环。相机机台架系统200还包括示出多个周缘相机230的环的相机机台架周边215。更具体地,相机机台架周边215示出每个周缘相机230的镜头位于其上的环的周边。顶板210耦接至周缘相机230的环的顶表面,并且底板220耦接至周缘相机230的环的底表面。轴相机240沿着对齐轴205对齐并且能够捕获局部区域或场景的顶部视图和底部视图。该构造创建了刚性结构,该刚性结构防止周缘相机230振动并且允许周缘相机捕获用于为VR系统生成360度图像/视频的优质图像和/或视频,进一步允许周缘相机和轴相机一起生成VR系统的画布视图。更详细地,场景的画布视图通过将由顶轴相机240A捕获的顶部视图、由底轴相机240B(图2B中示出)捕获的底部视图、以及由多个周缘相机230捕获的侧面视图组合而生成。
[0068] 在图2A中,为了说明的目的示出十四个周缘相机230以及包括顶轴相机240和底轴相机(这里未示出)的两个轴相机。在未示出的可替换的实施方式中,相机机台架系统200中可以包括不同数量的周缘相机230和/或轴相机240。同样地,相机机台架系统200中可以包括另外的和/或不同的部件。此外,在不同的实施方式中,由图2A中示出的各个实体执行的功能可以不同。
[0069] 更详细地,周缘相机230被设计成捕获局部区域或场景的360度视图的图像和/或视频。如上所述,多个周缘相机230被定位为使得它们形成围绕与对齐轴205相交的中心点的环。多个周缘相机230还被定位为围绕中心点,使得每个周缘相机的光轴在平面内,并且每个周缘相机的视野面向远离中心点。如在图2A中所示,每个周缘相机230还被定位为以某一距离和某一角度挨着相邻的周缘相机。该构造允许所捕获的图像和/或视频更好地模拟人的视觉感知,进一步为佩戴客户端VR装置180的用户提供VR系统中的增强的用户体验。
[0070] 轴相机240被设计成捕获局部区域或场景的顶部视图和底部视图的图像和/或视频。每个轴相机240沿着对齐轴205对齐并且定向为使得每个轴相机的光轴与对齐轴是共线的。每个轴相机240的视野指向远离相机机台架系统200的中心点。如在图2A中所示,顶轴相机240A捕获局部区域或局部场景的顶部视图。底轴相机240B(图2B中示出)被定位为沿着对齐轴205与顶轴相机240对称,以捕获局部区域的底部视图。作为一个实例,顶轴相机240和底轴相机可包括鱼眼镜头,该鱼眼镜头捕获广视野,例如180度半球视野。
[0071] 图2B示出根据一个实施方式的相机机台架系统200的侧视图。如以上在图2A中所述,安装在顶轴相机240A和底轴相机240B中的镜头是具有广角视野的鱼眼镜头,在图2B中示出的θ3。在未示出的可替换的实施方式中,该视野角度θ3可以变化。安装在顶轴相机240A和底轴相机240B中的镜头的广视野实现在环境的顶部和底部区域的广覆盖并且提供与周缘相机230的充分重叠,使得可创建高质量3D-360度图像。
[0072] 图3示出根据一个实施方式的图像处理系统300的架构的示例性框图。图像处理系统300接收来自相机机台架系统200的输入,诸如由相机机台架系统中的多个相机捕获的图像和/或视频。例如,图像处理系统300接收由相机机台架系统200捕获的局部场景的顶部图像、底部图像、以及侧面图像。图像处理系统300基于所接收的由周缘相机230捕获的图像生成合成的侧面图像。对于左眼视图和右眼视图中的每一个,图像处理系统300将顶部/底部图像混合到合成的侧面图像上以创建画布视图,从而在佩戴客户端VR装置180的用户想要在由客户端VR装置提供的虚拟场景中向上看或向下看时允许双目视图和单目视图之间的平滑转换。如以下更充分地描述的,混合处理包括形状扭曲和颜色变形,并且形状扭曲使用光流,并且颜色变形使用α混合。
[0073] 在图3中,图像处理系统300包括接口模块322、合成图像生成模块324、偏移量计算模块326、混合模块328、画布视图生成模块330、原始图像数据储存器342、参数数据储存器344、合成图像数据储存器346、混合数据储存器348、以及画布视图数据储存器350。在未示出的可替换的实施方式中,图像处理系统300中可以包括另外的和/或不同的部件。同样地,在不同的实施方式中,由图像处理系统300的各个实体执行的功能可以不同。
[0074] 接口模块322接收来自相机机台架系统200和/或来自客户端VR装置180的输入数据。更具体地,接口模块322接收由相机机台架系统200捕获的局部场景的顶部图像、底部图像、以及侧面图像。顶部图像由顶轴相机240A捕获,底部图像由底轴相机240B捕获,并且侧面图像由周缘相机230捕获。接口模块322还可以接收与由相机机台架系统200捕获的图像相关的图像数据和/或视频数据。在一个实施方式中,接口模块322还可以接收关于相机机台架系统200以及关于佩戴客户端VR装置180的用户的参数数据,如以下更充分地描述的。示例性参数数据包括用户的瞳孔间距离(IPD)、以及与对象的零视差距离。参数的更多实例在以下的关于参数数据储存器344的内容中描述。所接收的图像和/或相关的图像数据存储在图像数据储存器342中。所接收的参数数据存储在参数数据储存器344中。
[0075] 接口模块322还可以接收来自客户端VR装置180的输入数据。作为一个实例,接口模块322接收关于提供给佩戴客户端VR装置180的用户的视图、图像和/或数据的反馈信息并且响应于反馈提供输出数据,例如,修改或更新的图像以渲染提供给用户的虚拟场景。更具体地,接口模块322为客户端VR装置180提供通过画布视图生成模块330生成的画布视图。
[0076] 接口模块322还将数据输出至如上所述的相机机台架系统200和/或客户端VR装置180。至客户端VR装置180的输出数据可包括图像和/或视频,如上所述。至相机机台架系统
200的输出数据可以是对于针对一不同场景的更多图像的请求。
[0077] 合成图像生成模块324生成包括合成侧面图像的合成图像。合成图像指如同由位于相机机台架周边215的点上的合成相机拍摄的图像,如图4A中进一步示出的。在一个实施方式中,合成图像可使用由例如周缘相机230的真实相机拍摄的两个或更多个相机图像之间的光流创建。来自相邻的周缘相机230的相机图像中的每一个可以由朝向另一个周缘相机的光流修改,并且得到的图像被组合以生成合成图像。在另一个实施方式中,如本申请中论述的合成图像是通过将真实的周缘相机放置在相应的合成相机应当位于的点来创建的。
[0078] 为了创建合成图像,合成图像生成模块324提取存储在原始图像数据储存器342中的侧面图像或相关图像数据以及存储在参数数据储存器344中的参数数据。提取的侧面图像或相关数据可以是由靠近合成相机被放置的点的一个或多个周缘相机230拍摄的。提取的参数数据可包括有关相应的眼的视线434的信息,如在图4A中所示,以及关于相机机台架系统200的配置信息,例如,相机机台架系统200的尺寸和形状以定位合成相机应当位于的点431。在一些实施方式中,标识号或索引可添加至合成图像和/或相关图像数据以将合成图像彼此区分开。
[0079] 偏移量计算模块326计算用于画布视图的合成图像内的偏移量。更详细地,如以下图4A至图4B中更充分地描述的,偏移量指合成图像的移位以生成模拟在眼睛看着场景中的特定对象时合成相机位于的点处的眼睛视图。更详细地,如以下图4B中进一步描述的,合成相机的视野的中线可能没有对准用户的相应的眼睛视图的视线,在这种情况下作为由合成相机拍摄的合成图像以偏移量调整以反映从合成相机应当位于的位置431的用户的左眼视图。
[0080] 偏移量计算模块326提取存储在参数数据储存器344中的参数数据,例如,用户的瞳孔间距离410、视线434的零视差距离、以及角度432A。偏移量的值是瞳孔间距离410、视线434的零视差距离、以及角度432A的函数。具体地,在用户的眼睛转动时,例如,用户逐渐向上看,双目视图逐渐转换为单目视图,对于相同的用户和相同的相机机台架系统200,偏移量响应于瞳孔间距离410的改变而变化,如以下在图4A至图4B中更充分地描述的。
[0081] 计算的偏移量存储在参数数据储存器344中。在一些实施方式中,针对场景的不同图像的左眼和右眼的不同偏移量利用标识号索引或加标签以彼此区分开。
[0082] 对于用户的左眼和右眼中的每一个,混合模块328将顶部/底部图像混合到合成图像上以进行双目视图和单目视图之间的转换。更详细地,以用于左眼的顶部图像为例,混合模块328从原始图像数据储存器342提取顶部图像并从合成图像储存器346提取合成图像,然后执行形状扭曲以将顶部图像混合到合成图像上,生成扭曲的顶部图像。在一些实施方式中,形状扭曲的过程经由光流执行。混合模块328进一步将扭曲的顶部图像混合到同一合成图像上以进行颜色变形,生成准备用于创建左眼的画布视图的混合图像。在一些实施方式中,颜色变形的处理经由不同的技术实现,并且一个示例性技术是α混合,如以下更充分地描述的。图像中的扭曲和混合的程度可以是合成图像和顶部图像的重叠部分内的竖直角的函数,如在图5中更充分地论述的。对于经由形状扭曲和颜色变形将底部图像混合到左眼的合成图像上,执行相似的处理。此外,还执行与以上所述相似的处理以将顶部/底部图像混合到右眼的合成图像上。
[0083] 对于左边/右边的顶部/底部图像的扭曲顶部/底部图像和/或相关的图像数据存储在混合数据储存器348中。在一些实施方式中,扭曲的顶部/底部图像和/或相关的图像数据利用标识号索引或加标签以彼此区分开。对于左边/右边的顶部/底部图像的混合图像和/或相关的图像数据也存储在混合数据储存器348中。在一些实施方式中,混合图像和/或相关的图像数据利用标识号索引或加标签以彼此区分开,或者与扭曲底部图像/顶部图像和/或相关的图像数据区分开。
[0084] 画布视图生成模块330生成用于左眼和右眼中的每一个的画布视图。画布视图指将对于同一场景的顶部视图、底部视图和360度视图组合的视图,该视图可以是场景的全景视图、球形全景视图、或合适的广角视图中的任意一个。在一些实施方式中,画布视图包括关于场景的全部信息,这些信息从由顶部相机/底部相机240和周缘相机230从不同的观看视角拍摄的不同的图像获得。如上所述,对于其图像由相机机台架系统200中的各个相机捕获的单个场景,一个画布视图为左眼创建,并且一个画布视图为右眼创建。画布视图生成模块330通过组合从顶部图像和底部图像生成的混合图像为一个特定眼睛(例如,左眼/右眼)创建画布视图,如以下在图5中更充分地描述的,而不是仅仅将顶部/底部图像与由周缘相机拍摄的侧面图像相组合,这样会引起诸如复视的图像问题。为相应的眼睛创建画布视图允许不同的视图之间的平滑转换。作为一个实例,画布视图允许在用户向左看和/或向右看,或者向前看和/或向后看时,用户的眼睛的视线434在相同的水平面中转动时,侧面视图之间的平滑转换。侧面视图可以由仅周缘相机230拍摄的图像模拟。作为另一个实例,画布视图允许在用户向上看和/或向下看时,用户的眼睛的视线434向上和/或向下转动时,双目视图和单目视图之间的平滑转换。生成的画布视图存储在画布视图数据储存器350中。
[0085] 原始图像数据储存器342存储由相机机台架系统200中的各个相机捕获的图像,以及与捕获的图像相关的图像数据。作为一个实例,原始图像数据储存器342存储顶部/底部图像以及相关的图像数据,并且顶部/底部图像由相应的顶轴相机/底轴相机240捕获。原始图像数据储存器342还存储侧面图像以及相关的图像数据,并且侧面图像由周缘相机230捕获。图像数据可包括有关2D图像的每一个像素的信息,诸如每一个像素的强度、梯度和颜色。存储在图像数据储存器322中的图像和图像数据用于合成图像生成模块324以生成合成图像,如上所述。存储在图像数据储存器322中的图像和图像数据还用于混合模块328以生成扭曲的顶部/底部图像和混合图像,如上所述。参数数据储存器344存储用于生成合成图像的参数数据。参数数据包括相机机台架系统200的配置数据,例如,相机机台架周边215的尺寸,包括在相机机台架系统中的每个周缘相机230的位置,相机机台架系统的中心点405的位置等。相机机台架系统200的配置数据还包括每个周缘相机230和每个轴相机240的配置信息,诸如安装在摄像头中的镜头的特性,例如,镜头的视野。参数数据还包括用于模拟在用户的眼睛看着特定对象445时的用户的视图的信息,如以下在图4A中更充分地描述的。信息包括用户的瞳孔间距离410,对于左眼和右眼两者的视线434的零视差距离,中心点405和对象445之间的中心线440的距离,光轴433和中心线之间的角度432A等。信息可以用来(例如)生成合成图像。存储在参数数据储存器344中的参数数据还包括由偏移量计算模块
326计算的偏移量。
[0086] 合成图像数据储存器346存储合成图像和相关的图像数据。图像数据可包括有关2D图像的每一个像素的信息,诸如每一个像素的强度、梯度和颜色。
[0087] 混合数据储存器348存储扭曲的顶部/底部图像和/或相关的数据,以及混合图像和/或相关的数据。如上所述,扭曲的顶部/底部图像指的是在图像的形状上随合成图像扭曲的顶部/底部图像。在一个实施方式中或在一个定义下,以顶部图像作为实例,扭曲的顶部图像是顶部图像经由光流随相应的合成图像扭曲的畸变图像,在这种情况下,扭曲的顶部图像包括仅由顶部图像覆盖的仅顶部部分(即,包括来自顶部相机的原始图像数据),仅由合成图像覆盖的仅侧面部分,以及由顶部图像和合成图像两者覆盖的重叠部分。与以上所述的相似的实施方式还适用于从底部图像生成的扭曲的底部图像。此外,对于左眼和右眼的每个眼睛,一个扭曲的顶部图像是为顶部图像生成的,并且一个扭曲的底部图像是为底部图像生成的。
[0088] 混合数据储存器348还存储用于左眼和右眼的混合图像。如上所述,混合图像指的是在图像的颜色上随扭曲的顶部/底部图像变形的合成图像。在一个实施方式中或在一个定义下,以顶部图像作为实例,混合图像是扭曲的顶部图像经由α混合变形到相应的合成图像上的组合图像,在这种情况下,混合图像包括仅由顶部图像覆盖的仅顶部部分,仅由扭曲的顶部图像覆盖的仅侧面部分,以及由合成的侧面图像和扭曲的顶部图像覆盖的重叠部分。在这个实施方式中,相应的画布视图可以不再使用顶部图像而从混合图像直接创建,因为仅顶部部分已包括在混合图像中。与以上所述的相似的实施方式还适用于从底部图像生成的扭曲的底部图像。此外,对于左眼和右眼的每个眼睛,一个扭曲的顶部图像是为顶部图像生成的,并且一个扭曲的底部图像是为底部图像生成的。
[0089] 存储在混合数据储存器348中的混合图像和/或相关的数据用于画布视图生成模块344以生成画布视图,如上所述。
[0090] 画布视图数据储存器350存储由画布视图生成模型330生成的画布视图和/或相关的数据。如上所述,特定场景的画布视图通过组合包括顶部/底部图像和合成图像的场景的所有的相关图像生成。更详细地,画布视图包括仅由场景的顶部图像覆盖的仅顶部部分,仅由场景的底部图像覆盖的仅底部部分,仅由场景的合成图像覆盖的仅侧面部分,以及顶部/底部图像和合成图像混合在一起而在其间共用的重叠部分,如上所述。
[0091] 图4A示出根据一个实施方式的使用相机机台架系统200模拟接近对象445的用户的眼睛的视图的环境400的线图。在图4A中示出的环境400包括相机机台架系统200的部分,对应于用户的头部415的左眼和右眼的左瞳孔425A和右瞳孔425B,左合成相机430A和右合成相机430B,以及眼睛看着的对象445。对象445是放置在相机机台架系统的相机能够捕获对象的图像,并且该图像适合于通过图像处理系统300进一步处理的范围中的相机机台架系统200的外部的任何合适的对象。对象可以是真实对象,或者仅表示每个眼睛的视线指向的点。
[0092] 在图4A中示出的相机机台架系统200的部分进一步包括中心点405、相机机台架周边215、左周缘相机230A和右周缘相机230A。如上所述,佩戴客户端VR装置180的用户观看并体验由相机机台架系统200捕获的虚拟场景,在这种情况下,在虚拟场景中,用户被模拟为站在相机机台架系统的中心点405,左瞳孔425A和右瞳孔425B之间的中心与相机机台架系统的中心点405重叠。此外,环境400模拟站在中心点405的用户的左眼和右眼的视图,该用户的头部415面向对象445并且眼睛接近对象。环境400进一步包括左瞳孔425A和对象445之间的视线434A,右瞳孔425B和对象之间的视线434B,以及中心点405和对象之间的中心线440。
[0093] 为了确定合成相机430的位置,模拟每个瞳孔425至对象445的视线。视线与相机机台架周边215相交的点是用于确定在用户看着对象的方向时的视图的合成相机430放置的位置。换句话说,向着对象的视图还表示瞳孔在聚焦在那个对象445上时将体验的光场。如在图4A中所示,左视线434A在点431与相机机台架周边215相交。类似地,右视线434B在点431B与相机机台架周边215相交。如上所述,用于模拟点431A处的左眼视图的合成相机430A放置在点431A处,并且用于模拟右眼视图的合成相机430B位于点431B处。如在图4A中所示,尽管左合成相机430A的光轴433A和中心线440从相同的点(中心点405)发起,但在射出远离中心点时光轴和中心线在不同方向上发散,生成光轴和中心线之间的角度432A。
[0094] 如上所述,为合成相机430中的每一个生成合成图像。然而,合成图像的视图可具有不以对象445为中心的视野。相反地,合成图像的视野可以由光轴433给定,例如,如这里示出的,对于左合成相机430A,由光轴433A给定。因此,在合成视图中的像素的中间列可对应于由左合成相机的光轴433A指向的区域。然而,左瞳孔425A在与左合成相机430A的光轴433A不同的方向上指向着对象445,在这种情况下,在创建画布视图时将利用偏移量调整合成图像,如上所述。图4A中的环境400仅示出左合成相机430A的光轴433A以简化描述。应当理解,在未示出的可替换的实施方式中,右合成相机430B的光轴也可以包括在环境400中,并且与左合成相机430A的合成图像相似,右合成相机的合成图像也利用偏移量调整以模拟右眼的点431B处的视图。
[0095] 如以上在图3中所述,角度432A和偏移量示诸如瞳孔间距离410和中心线440的距离的参数的函数。如以下更充分地描述的,瞳孔间距离410也可以是竖直角φ的函数。
[0096] 图4B示出根据一个实施方式的说明合成图像的偏移量的线图450。线图450包括在图4A中示出的环境400的部分,左合成图像454A,右合成图像454B,以及偏移量452A和452B。在图4A中示出的环境400的部分在图4A中示出,在这种情况下,在这里不提供环境的部分的组合的具体实施方式。
[0097] 左合成图像454A由图像处理系统300生成,该左合成图像仿佛是由位于点431A的左合成相机430A拍摄的,并且右合成图像454B由图像处理系统300生成,该右合成图像仿佛是由位于点431B的右合成相机430B拍摄的。更具体地,左合成图像454A和右合成图像454B是同一场景的图像,包括云和树,树出现在云的右边,表示由合成相机430A“捕获”的对象445的场景。如在图4B中所示,树在左合成图像454A位于中间列455A的相对右边处,而树在右合成图像454B中位于中间列455B的相对左边处。在相应的左/右合成图像454中树的位置相对于中间线455的差异是由于两个合成相机430的光轴433(图4A中示出)的辐射方向的差异而导致的。左/右合成图像454仅是一个实例,并且在未示出的可替换的实施方式中,除了图4B中示出的图像中的位置,特定对象(例如,云和树)可以位于图像中的不同位置。
[0098] 如指出的,偏移量452A用于调整用于表示在中心线440的方向上观看的左瞳孔425A的像素。类似地,偏移量452B用于调整用于表示生成相应的右侧视图的右瞳孔425B的像素。生成左合成图像454A以模拟在点431A处的对象445的左眼视图,在这种情况下左瞳孔
425A看着对象445并且视线434A(图4A中示出)指向对象445。因此,偏移量452A由图像处理系统300基于环境400的参数计算,如以上图3中所述。更具体地,偏移量452B的值是IPD 410的函数,IPD是模拟球体480的竖直角482φ的函数,如以下更充分地描述的。
[0099] 图4C示出根据一个实施方式的说明响应于竖直角482φ的改变的瞳孔间距离410的改变的线图470。在图4C中,线图470示出说明竖直角φ482的改变的模拟球体480,以及说明IPD 410和竖直角φ482之间的数学关系的函数485。线图470还示出随着竖直角φ482改变的IPD 410的改变的三个阶段491、492和493,如以下更充分地描述。
[0100] 球体480中示出的竖直角φ482具有0至π的范围,测量中心向下轴481和中心线440之间的角度。更具体地,线图470模拟当站在环境400(图4A中示出)的中心点405的用户向上看或向下看时用户的IPD 410的改变。例如,在用户逐渐从他/她的视野中的最底部部分向着最顶部部分看时,竖直角φ482相应地从0变化至π,并且IPD 410首先从0逐渐增加至最大值然后从最大值逐渐减小至0,进一步表明用户的左眼视图和右眼视图首先从单目的变化至双目的,然后从双目的变化至单目的。具体地,在用户的眼睛碰到他/她的视野中的最底部部分时,竖直角φ482的值是0,在用户的眼睛碰到他/她的视野中的水平线时,竖直角φ482的值是π/2,并且在用户的眼睛碰到他/她的视野中的最顶部部分时,竖直角φ482的值是π。相应地,如由函数485示出的,在竖直角φ482的值是近似0或π时,IPD 410的值是近似
0,并且在竖直角φ的值是π/2时,IPD具有其最大值。如由函数485示出的,在角度实际达到0或π之前在竖直角φ482接近0或π时IPD 410接收0的值。函数485仅是一个实例,为了说明。
实际上,IPD 410和竖直角φ482之间的精确的数学曲线可以与图4C中示出的函数485稍有不同。
[0101] 图4C中示出的三个阶段491、492和493说明在用户的眼睛从水平线向着他/她的视野中的最顶部部分时的三个特定阶段,表示竖直角φ的值逐渐从π/2改变至π。更具体地,阶段491示出在用户的眼睛看着他/她的视野中的水平线处时,IPD 410具有其最大值(例如,在π/2处时)。在阶段491中,左眼和右眼两者的两个视线434在两个合成相机430位于的两个点处与相机机台架周边215相交。阶段492示出在用户的眼睛接近水平线(π/2)和他/她的视野中的最顶部部分(π)之间的某处时,IPD 410具有与阶段491中的最大值相比较减少的值。在阶段492中,左眼和右眼两者的两个视线434在两个合成相机430位于的两个点处与相机机台架周边215相交,并且与阶段491中的位置相比,两个点彼此更接近。阶段493示出在用户的眼睛接近他/她的视野中的最顶部部分时,值IPD 410减少至0。在阶段493中,左眼和右眼两者的两个视线434彼此重叠并且重叠的视线在两个合成相机430位于的相同的点处与相机机台架周边215相交,并且双眼的两个合成相机在那个点处彼此重叠。以此方式,通过作为竖直角的函数来调整IPD,视图平滑地转换至单个合成相机位置,并且至单个顶部或底部相机的转换对用户来说更无缝。因为相机位置是合成的,系统可以使用函数485容易地计算针对不同的IPD距离的合成相机。
[0102] 阶段491至493仅示出一个实例。在未示出的可替换的实施方式中,可以包括表示IPD 410的其他变化的其他阶段。
[0103] 图5示出根据一个实施方式的将顶部/底部图像混合到合成的侧面图像上以生成画布视图的线图。在图5中,线图500包括顶部图像510、合成的侧面图像520、以及扭曲的顶部图像530,并且这里的所有图像包括关于同一场景的图像数据,例如,包括云和树的场景,如在图4B中所示。线图还包括重叠图像550、形状扭曲函数、以及颜色变形函数,说明图像混合的过程,如以下更充分地描述的。为了简化描述,顶部图像510、合成的侧面图像520、以及扭曲的顶部图像530全部是针对用户的一个单个眼睛(例如,左眼/右眼)的并且仅针对混合顶部图像与合成的侧面图像。可以执行针对同一的眼睛的图像混合物相似过程以将底部图像混合到合成图像520上,以生成相应的扭曲的底部图像,并且进一步生成相应的混合图像。同样地,为用户的另一个眼睛的顶部图像和底部图像两者执行图像混合的相似过程。此外,图5中示出的图像510至530仅是为了说明的一个实例,场景中的对象(例如,云和树)的准确详细位置、形状和颜色取决于捕获用于创建图5中示出的图像510至530的相关图像的相机。
[0104] 顶部图像510首先向着合成图像520扭曲以在将顶部图像和侧面图像混合在一起时,在两个图像之间的形状上使顶部图像和侧面图像之间的转换平滑。扭曲使顶部图像中的对象的形状改变,以使其至少部分地与侧面图像中的对象的形状相匹配。确定顶部图像和侧面图像的重叠部分之间的光流。为了扭曲图像,将光流施加至顶部图像。如以下指出的,取决于竖直角,经由形状扭曲函数570施加至顶部图像的光流的部分可以通过侧面图像和顶部图像的重叠部分从零增加至百分之100。在将顶部图像510扭曲到合成图像520上之后,生成在顶部图像和合成图像之间的形状上已经平滑转换的扭曲的顶部图像530。
[0105] 扭曲的顶部图像被颜色变形以在场景的立面视图到达仅包括侧面图像的部分时与侧面图像的任何颜色偏差相匹配。更详细地,扭曲的顶部图像530变形到合成的侧面图像520上,以实现在将两个图像混合在一起时在两个图像之间的颜色上的平滑转换。例如α混合的技术可以用于实现颜色变形。在将扭曲的顶部图像530变形到合成图像520上之后,生成作为竖直角函数在顶部图像和合成图像520之间的形状和颜色两者上已经平滑转换的混合图像(这里未示出)。混合图像的定义和更详细的描述在以上图3中描述。
[0106] 图5中的线图还示出了重叠图像500、形状扭曲函数570、和颜色变形函数580,其一起说明了以上描述的图像混合。重叠图像550示出顶部图像510与合成图像520重叠。重叠图像550进一步示出仅顶部部分553、仅侧面部分554和重叠部分555。仅顶部部分553示出仅由顶部相机提供的视图的、顶部图像510的最顶部区域。仅侧面部分554示出合成图像520的最底部区域并且该区域仅由合成的侧面图像提供。重叠部分555示出由顶部图像510和合成图像520共用的区域,并且重叠部分555对应于顶部图像的相对底部部分并且对应于合成的侧面图像的相对顶部部分。重叠图像550还示出对应于重叠图像的不同部分的竖直角φ的改变。例如,具有π的值的竖直角φ对应于顶部图像510的顶端,并且具有π/2的值的竖直角φ对应于合成图像520的底端。图5中还示出了开始行567和结束行569以示出对于顶部相机视图的重叠部分555的开始部分和结束部分。图5中示出的枢轴行568指其中顶部图像从扭曲变化至颜色变形的改变的重叠图像555的行。尽管这里示出为单个行,但在顶部相机充分扭曲但还没有开始与侧面图像颜色变形期间可能有多于一个行。
[0107] 图5还示出形状扭曲函数570和颜色变形函数580,说明作为竖直角φ的函数执行形状扭曲和颜色变形的百分比。对于函数570和580中的每一个,纵轴示出竖直角φ并且横轴示出施加混合的百分比。例如,对于形状扭曲函数470,横轴示出施加多少百分比的扭曲,即,多少百分比的顶部图像510在形状扭曲上施加到合成图像520上。类似地,对于颜色变形函数480,横轴示出施加多少百分比的颜色变形,即,多少百分比的顶部图像510在用于颜色变形的α混合上施加到合成图像520上。
[0108] 如在图5中所示,对于形状扭曲,对于开始行567以上的仅顶部部分553,扭曲保持0,表示对于那个部分没有施加形状扭曲。扭曲从开始行567至枢轴行568开始从0增加至
100%。枢轴行569表示形状扭曲是100%的位置,表示顶部图像510的相应的重叠部分555的
100%被扭曲到合成图像520的相应的重叠部分555上。对于枢轴行568以下且结束行569以上的仅侧面部分554,扭曲保持100%。对于仅侧面部分554,没有从顶部图像510到合成的侧面图像520上的形状扭曲,因为那个部分不是由顶部图像共用的。对于颜色变形,即,α混合,对于枢轴行568以上的仅顶部部分553,α混合保持100%,表示维持顶部图像的颜色分量。α混合从枢轴行568至结束行569开始从100%减小至0。枢轴行569表示α混合开始从100%减小,表示使用小于100%的顶部图像颜色分量,并且使用侧面图像的剩余部分。对于仅侧面部分554,α混合保持0,表示不存在从顶部图像510到合成图像520上的用于颜色变形的α混合,因为那个部分不是由顶部图像共用的。以此方式,在用户开始从顶部图像往下看时,顶部相机的形状分量可以逐渐采用侧面图像的形状,然后采用侧面图像的颜色。因为IPD也增加了,用户的双眼视觉视角将增加并且平滑的形状和颜色混合降低了至侧面相机的转换期间的视图之间的任何撕裂、滑动或跳转。
[0109] 图6示出根据一个实施方式的说明经由图像处理系统300生成合成图像并且将顶部图像混合到相应的合成图像上的过程的示例性流程图600。为了简化描述,在图6中示出的流程图600仅说明一个眼睛视图(例如,左眼视图)的合成图像的生成,并且仅说明顶部图像与合成图像的混合。应当理解,对另一个眼睛视图(例如,右眼视图)执行相似过程以生成相应的合成图像并将顶部图像混合到合成图像上。同样地,对于相同的眼睛视图,执行与流程图600中的步骤640和650相似的过程以将底部图像混合到相应的合成图像上,如以下更充分地描述的。
[0110] 最初,图像处理系统300接收610对于用户的一个眼睛视图的由相机机台架系统200捕获的对于同一场景的顶部/底部图像和侧面图像。图像处理系统300基于所接收的侧面图像和“捕获”合成图像的相应的合成相机的位置生成620眼睛视图的合成图像。在准备好合成图像之后,图像处理系统300执行图像混合以将顶部图像混合到合成图像上。更详细地,图像处理系统300通过使用光流将顶部图像扭曲到合成图像上生成630扭曲的顶部图像,并且通过使用α混合将扭曲的顶部图像混合到合成图像上进行颜色变形生成640混合图像。图像处理系统300使用650生成的混合图像进行进一步的画布视图生成,在这期间施加偏移量以反映用户眼睛的实际视图。
[0111] 如上所述,对于相同的眼睛视图,也执行步骤640和650来将底部图像混合到合成的侧面图像上。
[0112] 图7示出根据一个实施方式的具有遮挡的底部相机的示例性相机机台架系统700。如在图7中示出的,作为图1至2B中示出的相机机台架系统200的一个实例,在这个实施例中,相机机台架系统700通过支撑柱730支撑,该支撑柱在相机机台架系统下方延伸并且可以将相机机台架系统保持例如在空中以捕获场景的各个部分。对于反射主要底部相机视图(或者底部上的任何单个相机)的主要底部图像,主要底部相机710的视图的一部分被支撑柱730遮挡,这样会防碍围绕相机机台架系统700的环境的其余部分的无缝视图。次要底部相机710的使用和次要和主要相机之间的光流可以消除组合的底部相机视图的遮挡并且允许出现机架完全没有被支撑的错觉。例如,对于画布视图,可以使用组合的底部视图与先前描述的侧面视图混合。
[0113] 图8示出根据一个实施方式的分别通过主要底部相机710和次要底部相机720拍摄的主要底部图像800和次要底部图像810的相机视图。如所示,主要底部相机视图会被支撑柱730遮挡。类似地,次要底部相机的一不同部分也会被支撑柱730遮挡。
[0114] 为了生成移除支撑柱的组合视图,主要底部相机的区域和次要底部相机的区域被识别为包括支撑柱。该识别可以由操作者手动进行,或者支撑柱可以自动地从视图识别出,例如使用关于支撑柱的外观的已知数据、边缘检测算法、和类似的技术。识别指出经过滤的底部相机视图830的过滤区域835,以及经过滤的次要底部相机视图840的过滤区域845。在过滤区域中,视图的图像值(即,像素数据)被例如从图像的α通道移除或掩蔽。
[0115] 使用掩蔽区域,计算从次要底部相机视图至主要相机视图的光流。在过滤区域内,光流算法丢弃次要相机视图的光流结果,并且根据其与主要相机的相配不给光流任何权重。就是说,识别为流到过滤区域835中的次要相机的部分在估计光流的成功时不提供权重。然而,这些部分可以根据它们与来自次要相机视图的光流的其他部分的一致性来提供权重。因此,次要相机视图可以流动以填充主要底部相机视图的过滤区域835。
[0116] 为了填充主要底部相机视图的过滤区域835,次要相机图像根据至主要相机的光流被扭曲。接下来,扭曲的次要相机图像基于在主要相机中的位置与主要底部相机视图颜色合并。对于大部分主要相机视图,主要相机具有环境的实际视图。对于主要相机视图的该部分,主要相机维持其颜色分量的100%并且其接收来自扭曲的次要视图的颜色的0%。对于过滤的主要相机视图的部分,颜色分量可以仅从次要相机接收,并且在该部分中使用扭曲的次要相机颜色分量100%。在过滤区域835周围的混合区域850中,次要相机的颜色分量从100%转换至0%,使得次要相机分量的部分与主要相机的部分混合。在一个实施方式中,颜色分量是从100%到0%混合分量的距离的线性函数。在另一实例中,颜色分量被类似地组合,但也基于次要相机视图的色差大小和光流的量来选择。当颜色分量的大小显著不同时,颜色分量的选择朝着次要相机的光流的量被更重地加权。因为主要相机没有光流,所以在存在显著的颜色大小偏差时,通常主要相机的颜色值被更重地加权。
[0117] 通过组合次要相机视图与主要底部相机视图,支撑梁可以从组合视图有效移除。此外,因为主要相机视图以例如,如在图2A中所示的对齐轴205为中心,在用于生成如上所述的画布的其他技术中,可以容易地使用组合底部相机。
[0118] 另外的配置信息
[0119] 本发明实施方式的上述描述仅出于说明的目的而呈现,并且不旨在穷尽或者将本发明局限于所公开的确切形式。本领域的技术人员可理解,鉴于上述公开内容,许多修改和变化是可能的。
[0120] 本说明书的一些部分从信息运算的算法和符号表示法的角度描述了本发明的一些实施方式。这些算法描述和表示通常由数据处理领域的技术人员使用,以便将他们的工作实质有效传达给本领域的其他技术人员。这些运算,当被描述为功能性的、计算性的或逻辑性的时,被理解为由计算机程序或其他等同电路、微码等实现。而且,在不丢失一般性的情况下,还证明有时便于将这些操作布置称为模块。运算及其关联模块可具体化为软件、固件、硬件或以上设备的任意组合。
[0121] 本文的任何步骤、操作或流程可被一个或多个硬件或软件模块单独或与其他设备组合执行或实施。在一个实施方式中,软件模块可被计算机程序产品实施,该计算机程序产品包括包含计算机程序代码的计算机可读介质,该程序代码可被用于执行任何或所有步骤、操作或流程的计算机处理器执行。
[0122] 本发明的实施方式还可涉及一种用于执行本文中的操作的装置。这种装置可以是为所需的目的特别建造的,并且/或者该装置可包括被储存在计算机中的计算机程序选择性启动或重新配置的通用计算设备。这样的计算机程序可被储存在永久性非易失性存的,有形的计算机可读存储介质或任何可存储电子指令的介质类型,这些介质可藕耦接于计算机系统总线。此外,本说明所指的任何计算系统可包括单个处理器或者可以是使用多个处理器设计以增强计算能力的体系结构。
[0123] 本发明的实施方式还可以涉及由本文中所描述的计算过程制造的产品。这样的产品可包括来自计算流程的信息,在该流程中其中,信息储存在永久性非易失性的,、有形的计算机可读存储介质中,并且可包括本文所述的计算机程序产品或其他数据组合的任何一个实施方式。
[0124] 最后,原则上出于可读性和说明性之目的来选择本说明书中使用的语言,并且所使用的语言并不被选择来划定或者限制本发明的主题。因此,意图是本发明的范围不受该详细描述的限制,而是受限于基于此的申请的任何权利要求。因此,本发明的实施方式的公开旨在说明而非限制本发明的范围,本发明的范围在下面的权利要求中阐述。