用于拍摄提供虚拟现实的图像的三维相机的制作方法

文档序号:15743099发布日期:2018-10-23 22:37阅读:223来源:国知局
用于拍摄提供虚拟现实的图像的三维相机的制作方法

本公开涉及用于拍摄提供虚拟现实(VR)的图像的三维(3D)相机。



背景技术:

近来,通过使用虚拟现实(VR)设备向用户提供三维(3D)图像的设备已经被研发。VR设备可感测用户的移动并且可根据用户的移动提供改变的图像。

需要拍摄3D图像的3D相机来向用户提供3D图像。3D相机根据空间内的用户的移动拍摄图像并且存储所拍摄的图像。因为3D相机应在每当用户移动时拍摄和存储图像,所以3D相机应包括存储空间。



技术实现要素:

技术问题

提供了用于拍摄提供虚拟现实(VR)的图像的三维(3D)相机。

技术方案

根据本公开的方面,用于拍摄提供虚拟现实(VR)的图像的三维(3D)相机包括多个相机和配置为追踪3D相机的位置的位置传感器,其中,多个相机布置在多面体的每个顶点处,且多面体的每个顶点处布置有至少三个相机。

有益效果

根据实施方式的三维(3D)相机具有多面体形状并且可通过使用定位在多面体形状的每个顶点处的二维(2D)相机来拍摄图像。

根据实施方式的3D相机可根据3D相机的位置将索引分布映图和拍摄的图像存储在存储器中。

根据实施方式的3D相机可仅当3D相机定位在特定(Unique)位置处时才将索引和图像存储在存储器中。

附图说明

图1是用于解释虚拟现实(VR)的示例的图。

图2是用于解释三维(3D)相机和VR设备之间的关系的图。

图3是用于解释根据实施方式的用于提供VR的设备和方法的框图。

图4是示出3D相机的位置移动的图。

图5是用于解释通过3D相机执行的生成索引的方法的图。

图6是将索引覆盖的区域示出为圆的图。

图7是用于描述3D相机的形状的图。

图8是用于解释计算定位在顶点处的相机的视场的方法的图。

图9是用于解释根据实施方式的3D相机的图。

图10是用于解释根据实施方式的3D相机的图。

图11是根据实施方式的图像拍摄方法的流程图。

具体实施方式

现在将参照附图在下文中更充分地描述实施方式。

图1是用于解释虚拟现实(VR)的示例的图。参考图1,用户穿戴VR设备200。VR设备200向用户提供与用户所处的空间不同的空间的图像。例如,用户可在室内穿戴VR设备200,而VR设备200可向用户显示外国的城市的图像。

VR设备200可根据用户的移动显示图像。用户可使他的/她的整个身体或仅他的/她的头部移动。当用户的整个身体移动时,VR设备200可根据用户移动的方向调整图像的尺寸。当用户的头部移动时,VR设备200可根据用户的头部移动的方向显示另一图像。

VR设备200可称为头戴式显示器或头戴式耳机。

图2是用于解释3D相机和VR设备之间的关系的图。参考图2,3D相机100拍摄图像并且将所拍摄的图像传输至VR设备200。3D相机100将当拍摄图像时3D相机100的位置、3D相机100的顶点的位置和索引传输至VR设备200。索引表示通过顶点形成的虚拟多面体。索引可以是用于标识虚拟多面体的符号、字符或数量的组合。3D相机100可生成包括索引和顶点的位置的索引分布映图,并且可将索引分布映图传输至VR设备200。

3D相机100可生成索引分布映图并且将所生成的索引分布映图存储在存储器中。索引分布映图包括特定索引和3D相机100的顶点的位置。当3D相机100的位置改变时,3D相机100将索引和3D相机100的改变后的顶点位置存储在存储器中。

3D相机100仅将特定索引存储在存储器中,而不存储任何非特定索引。特定索引是不属于存储器中所存储的另一索引的索引。换言之,索引表示虚拟多面体且多面体可彼此重叠。表征非重叠的多面体的索引是特定索引,且仅特定索引可被存储在存储器中。例如,当第一多面体不与存储器中所存储的第二多面体重叠时,表征第一多面体的索引是特定索引。3D相机100仅将在特定索引指示的位置处拍摄的图像存储在存储器中。当3D相机100的位置改变时,3D相机100更新索引分布映图。3D相机100确定索引的位置是否是特定的,并且仅当索引是特定索引时才更新索引分布映图。索引分布映图表示多个特定索引之间的位置关系。

3D相机100将索引分布映图和图像传输至VR设备200。

VR设备200从3D相机100接收图像和索引分布映图。VR设备200通过使用图像生成复合视图并且向用户显示复合视图。

VR设备200根据用户的位置确定复合视图。VR设备200搜索最靠近用户的当前位置的索引或者包括用户的当前位置的索引。VR设备200可通过使用在所找到的索引处拍摄的图像生成复合视图,并且可显示所生成的复合视图。

图3是用于解释根据实施方式的用于提供VR的设备和方法的框图。参考图3,提供VR的方法包括以下操作:拍摄图像并且提供所拍摄的图像。

3D相机100包括相机组110、位置传感器120、存储器130和处理器140。相机组110包括多个相机。相机组110定位在3D相机100的多个顶点中的每一个处。相机组110可包括至少三个相机。单个顶点处定位有三个相机,并且三个相机的相应视场(Field of View,FOV)彼此重叠。定位在同一顶点处的相机的视场彼此重叠,并且定位在不同顶点处的相机的视场也彼此重叠。其重叠部分用于生成全景视图。

位置传感器120感测3D相机100的位置。位置传感器120根据3D相机100的移动向处理器140传输表征3D相机100的位置的信息。例如,位置传感器120可以是全球定位系统(GPS)或惯性测量单元(IMU)。

存储器130存储通过相机组110拍摄的图像和通过位置传感器120感测的位置的信息。

处理器140从相机组110接收图像并且从位置传感器120接收位置信息。处理器140可确定待存储在存储器130中的图像、位置信息或索引。例如,处理器140可将特定图像和特定索引存储在存储器130中。特定图像是在特定索引的位置处拍摄的图像。换言之,特定图像是位于下述位置处的相机组110拍摄的图像:3D相机100的顶点形成的多面体彼此不重叠。

处理器140生成索引分布映图。索引分布映图可代表3D相机100已经移动到的位置。索引分布映图包括3D相机100的顶点的位置和索引。

3D相机100将3D相机100的位置信息和图像传输至VR设备200。3D相机100可将索引分布映图和特定图像传输至VR设备200。

VR设备200包括位置传感器210、旋转传感器220、处理器230、显示器240和存储器250。位置传感器210感测VR设备200的位置。位置传感器210根据VR设备200的移动向处理器140传输表征VR设备200的位置的信息。例如,位置传感器210可以是GPS或IMU。

旋转传感器220感测VR设备200的旋转。用户可穿戴VR设备200并且可使他或她的头部绕x、y和z轴旋转。随着用户的头部旋转,VR设备200也旋转。旋转传感器220感测VR设备200的旋转并且测量用户的头部绕x、y和z轴旋转的角度。旋转传感器220将所测量的角度传输至处理器230。

当用户移动时,处理器230生成待向用户显示的图像。处理器230基于从位置传感器210和旋转传感器220接收的数据生成图像。处理器230可基于用户的移动方向、移动距离、旋转方向和旋转角度生成图像。

处理器230通过合成从3D相机100接收的图像来生成复合视图。处理器230随着用户移动选择从3D相机100接收的图像中的一些,并且通过所选择的图像生成复合视图。

显示器240显示由处理器230生成的复合视图。

存储器250存储从3D相机100接收的图像和索引分布映图。存储器250可存储复合视图并且还可存储与用户的移动有关的信息。

图4至图6是用于解释根据实施方式的生成索引分布映图的方法的图。参考图4至图6,3D相机100可生成仅包括特定索引的索引分布映图。

图4是示出3D相机的位置移动的图。3D相机100可沿着将点A连接至点B的线移动。图4中所示的圆彼此不重叠。在3D相机100的位置改变的位置处生成新的圆,且新的圆不与现有的圆重叠。圆是指由3D相机100生成的图像的边界。

图5是用于解释通过3D相机执行的用于生成索引的方法的图。3D相机100存储在顶点p0至p6处拍摄的图像。顶点p0至p6可代表2D相机的位置。当3D相机100从点A移动至点B时,2D相机可拍摄图像。然而,3D相机100可仅存储在顶点p0至p6处拍摄的图像。顶点p0至p6之间的距离可接近用户的双眼之间的距离。例如,用户的双眼之间的平均距离可等于顶点p0至p6之间的距离。

3D相机100生成索引idx1至idx4。由索引idx1至idx4表示的四面体彼此不重叠。第一索引idx1是用于标识最左边的四面体的索引,第二索引idx2是用于标识中间的四面体的索引,第三索引idx3是用于标识右底侧的四面体的索引;以及第四索引idx4是用于标识左上侧的四面体的索引。

图6是将索引覆盖的区域示出为圆的图。图6示出与图5的多面体对应的圆。圆表示在分别由索引idx1至idx4指示的位置处拍摄的图像的区域。

多个圆彼此不重叠。多个圆之间的距离可接近用户的双眼之间的距离。3D相机100可仅存储非重叠区域的图像,并且特定索引被分配给非重叠区域。

图7是用于描述3D相机的形状的图。参考图7,3D相机100可以是四面体、六面体、八面体、十二面体、二十面体等。虽然图7中示出3D相机的形状的五个示例,但是3D相机100可以是多面体的多种形状中的任意形状。在多面体的多个顶点中的每一个处可定位至少三个相机。

图8是用于解释计算定位在顶点处的相机的视场的方法的图。

视场(FOV)>=90+二面角-1/2×顶点角

二面角(Dihedral angle)是当多面体中的两个平面彼此相交时获得的角度,而顶点角(Vertex angle)是当一个平面中的两个边缘彼此相交时获得的角度。例如,当3D相机100是四面体时,定位在四面体的每个顶点处的相机的视场可计算如下:

视场>=90+70.53-1/2×60=130.53

因此,定位在四面体的每个顶点处的相机的视场可为130.53°或更大。

群组角=180+二面角-顶点角

群组角(Group’s angle)表示单个顶点覆盖的视场。例如,定位在四面体的每个顶点处的一组相机(至少三个相机)的群组角可计算如下:

群组角=180+70.53–60=190.53

因此,定位在四面体的每个顶点处的一组相机的群组角可以是190.53°。

其他多面体的视场和群组角可利用与上面描述的方法相同的方法来计算。

图9是用于解释根据实施方式的3D相机900的图。3D相机900是四面体,并且包括四个顶点920。三个相机910定位在每个顶点920处。三个相机910拍摄图像并且所拍摄图像彼此重叠。三个相机910覆盖的视场可为180°或更大。通过合成由三个相机910拍摄的图像来生成球形图像930。在不同顶点920处拍摄的球形图像930可彼此重叠。

3D相机900包括将四个顶点920彼此连接的杆940。每个杆940的长度与人的双眼之间的距离对应。换言之,每个杆940的长度可以是接近人的双眼之间的距离的长度。

如上面参考图7所计算的,因为3D相机900是四面体,所以每个相机910的视场是130.53°,且通过定位在每个顶点920处的三个相机910形成的角度是190.53°。

图10是用于解释根据实施方式的3D相机1000的图。3D相机1000具有八面体形状并且包括八个顶点1020。三个相机1010定位在每个顶点1020处。三个相机1010拍摄图像并且所拍摄的图像彼此重叠。通过合成由三个相机1010拍摄的图像来生成球形图像1030。

3D相机1000包括将八个顶点1020彼此连接的杆1040。每个杆1040的长度与人的双眼之间的距离对应。换言之,每个杆1040的长度可以是接近人的双眼之间的距离的长度。

如上文参考图7所计算的那样,因为3D相机1000具有八面体形状,所以每个相机1010的视场是135°,且定位在每个顶点1020处的三个相机1010形成的角度是210°。

视场>=90+90-1/2×90=135

群组角=180+90–60=210

图11是根据实施方式的图像拍摄方法的流程图。

在操作1110中,3D相机追踪其自身位置。3D相机可移动,且当3D相机移动时,GPS、IMU等追踪3D相机的位置。3D相机可生成和存储包括表征特定位置的特定索引的索引分布映图。例如,3D相机基于3D相机的位置和由3D相机占据的区域生成索引分布映图。例如,3D相机将当多面体移动时由多面体占据的区域彼此不重叠的位置确定作为特定位置,并且向多面体分配表征特定位置的索引。

在操作1120中,当3D相机具有多面体形状时,将相机布置在多面体形状的顶点处。至少三个2D相机可布置在单个顶点处。

在操作1130中,3D相机中所包括的多个相机拍摄图像。3D相机可仅存储所拍摄的图像之中在特定索引指示的位置处拍摄的特定图像。定位在同一顶点处的相机拍摄彼此重叠的图像。定位成相邻顶点的相机组拍摄彼此重叠的图像。相邻顶点之间的距离与用户的双眼之间的距离对应。在同一顶点处的相机组的视场可为180°或更大。

根据该实施方式的装置可包括处理器、永久性存储单元、通信端口和用户接口设备,其中,存储器用于存储并执行程序数据;永久性存储单元诸如磁盘驱动器;通信端口用于处理与外部设备的通信;用户接口设备包括触摸面板、按键、按钮等。例如,当包括软件模块或算法时,这些软件模块可被存储为可在处理器上运行的、计算机可读记录介质中的程序指令或计算机可读代码。计算机可读记录介质的示例包括磁性存储介质(例如,只读存储器(ROM)、随机存取存储器(RAM)、软盘、硬盘等)和光学记录介质(例如,CD-ROM或数字多功能光盘(DVD))。计算机可读记录介质还可分布在联网的计算机系统上,使得计算机可读代码以分布方式被存储和执行。该介质可被计算机读取,存储在存储器中并且被处理器执行。

该实施方式可通过功能块组件和各种处理步骤的方式被描述。这样的功能块可通过配置为执行指定功能的任何数量的硬件和/或软件组件来实现。例如,实施方式可使用可在一个或多个微处理器或其他控制设备的控制下执行各种各样的功能的各种集成电路(IC)组件,例如,存储器元件、处理元件、逻辑元件、查找表等。类似地,在元件利用软件编程或软件元件来实现的情况下,该实施方式可利用任何编程或脚本语言来实现,诸如,C、C++、Java、汇编器语言等,其中,各种算法利用数据结构、对象、进程、例程或其他编程元件的任何组合来实现。功能框可在在一个或多个处理器上执行的算法中实现。此外,本文描述的本实施方式可使用用于电气配置、信号处理和/或控制、数据处理等的任何数量的常规方法。词语“机构”、“元件”、“装置”和“配置”广义地被使用,而不限于机械的或物理的实施方式,而是可包括结合处理器的软件进程等。

本文所示和所描述的特定实施例是说明性的,而并非旨在以任何方式另行限制本公开的范围。出于简洁的目的,常规的电子元件、控制系统、软件开发和系统的其他功能方面可能不会详细描述。此外,所提出的各图中所示的连接线或连接器旨在代表各元件之间的示例性功能关系和/或物理或逻辑联接。应注意,在实际设备中可存在诸多替代或附加的功能关系、物理连接器或逻辑连接器。

在描述本公开的上下文中(尤其是在所附权利要求的上下文中),术语“一”、“一个”和“所述”及类似指代物的使用要解释为覆盖单数和复数两者。此外,除非本文另行指出,否则本文对值的范围的记载仅旨在充当落入范围中的每个单独值,并且每个单独的值包括在说明书中,如同其在本文中单独地记载一般。除非本文另行指出或者通过上下文清楚地另行否定,否则本文描述的全部方法的步骤能以任何合适的顺序来执行。本公开不限于所描述的步骤顺序。除非另行声明,否则本文提供的任何和全部示例或示例性措辞(例如,“诸如”)的使用仅旨在更好地例示本公开,而不对本公开的范围做出限制。对于本领域普通技术人员将显而易见的是,在没有脱离所附权利要求或其等同方案的情况下,可根据设计条件或因素进行诸多修改和适应调整。

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