图像处理装置及图像处理方法

申请号 CN201410280298.6 申请日 2014-06-20 公开(公告)号 CN104238665B 公开(公告)日 2017-12-22
申请人 佳能株式会社; 发明人 田中靖己;
摘要 本 发明 提供一种 图像处理 装置及图像处理方法。在第一模式被设置为所述图像处理装置的操作模式时,生成包含从具有用户设置的 位置 及姿势的第一视点看到的虚拟对象的虚拟空间的图像并输出。在第二模式被设置为所述图像处理装置的操作模式时,生成从基于所述第一视点的信息以及头戴式显示设备的位置而确定的第二视点看到的虚拟空间的图像并输出。
权利要求

1.一种图像处理装置,所述图像处理装置包括:
获取单元,其被构造为获取头戴式显示设备的位置及姿势;
第一生成单元,其被构造为在第一模式被设置为所述图像处理装置的操作模式时,生成包含从具有用户设置的位置及姿势的第一视点看到的虚拟对象的虚拟空间的图像并将生成的图像输出到除所述头戴式显示设备之外的显示设备;
登记单元,其被构造为登记紧接在所述图像处理装置的操作模式从所述第一模式切换到第二模式之后获取的所述头戴式显示设备的位置;
确定单元,其被构造为基于如下条件确定第二视点:(i)紧接在切换之后获取并登记的所述头戴式显示设备的位置,(ii)紧接在切换之前的所述第一视点的位置,和(iii)获取的所述头戴式显示设备的当前位置;以及
第二生成单元,其被构造为在所述第二模式被设置为所述图像处理装置的操作模式时,生成从确定的所述第二视点看到的虚拟空间的图像并将生成的所述虚拟空间的图像输出到所述头戴式显示设备。
2.根据权利要求1所述的图像处理装置,其中,在所述第二模式被设置为所述图像处理装置的操作模式时,所述确定单元还基于由所述获取单元获取的姿势来确定所述第二视点,并且所述第二生成单元生成从所述第二视点看到的虚拟空间的图像并输出。
3.根据权利要求1所述的图像处理装置,其中,当所述第二模式被设置为所述图像处理装置的操作模式时,所述确定单元基于通过利用由所述用户在所述第一模式中设置的姿势以及紧接在切换之后的所述头戴式显示设备的姿势、对由所述获取单元获取的姿势进行校正而获得的校正后的姿势,来确定所述第二视点,并且所述第二生成单元生成从所述第二视点看到的虚拟空间的图像并输出。
4.根据权利要求1所述的图像处理装置,所述图像处理装置还包括:
被构造为获取实际空间的图像的单元,
其中,所述第二生成单元将由所述第二生成单元生成的虚拟空间的图像与所述实际空间的图像合成,并输出合成图像。
5.一种由图像处理装置进行的图像处理方法,其中所述图像处理方法包括以下步骤:
获取头戴式显示设备的位置及姿势;
在第一模式被设置为所述图像处理装置的操作模式时,生成包含从具有用户设置的位置及姿势的第一视点看到的虚拟对象的虚拟空间的图像并将生成的图像输出到除所述头戴式显示设备之外的显示设备;
登记紧接在所述图像处理装置的操作模式从所述第一模式切换到第二模式之后获取的所述头戴式显示设备的位置;
基于如下条件确定第二视点:(i)紧接在切换之后获取并登记的所述头戴式显示设备的位置,(ii)紧接在切换之前的所述第一视点的位置,和(iii)获取的所述头戴式显示设备的当前位置;以及
在所述第二模式被设置为所述图像处理装置的操作模式时,生成从确定的所述第二视点看到的虚拟空间的图像并将生成的所述虚拟空间的图像输出到所述头戴式显示设备。

说明书全文

图像处理装置及图像处理方法

技术领域

[0001] 本发明涉及图像处理装置及图像处理方法。

背景技术

[0002] 近来,对以实际空间与虚拟空间的无缝结合为目的的MR(混合现实,Mixed Reality)的研究已在积极进行。呈现混合现实的图像显示设备例如为具有以下结构的设备。更具体地,该设备显示通过在由诸如摄像机的图像感测设备感测的实际空间中的图像上、叠加并绘制根据该图像感测设备的位置和姿势(orientation)生成的虚拟空间中的图像(例如,通过计算机绘图绘制的虚拟对象或字符信息)而获得的图像。作为这种设备,例如,可使用HMD(头戴式显示器,Head Mounted Display)。
[0003] 该图像显示设备还可以通过在操作者头戴的光学透视式显示器上显示根据操作者的视点的位置和姿势生成的虚拟空间图像的光学透视方法来实现。
[0004] 另一方面,虚拟对象一般通过利用商用CAD(计算机辅助设计)或3DCG软件(三维计算机绘图软件)来形成(WORKS CORPORATION ed.,"CG&Image Mechanism Encyclopedia",issued December31,2003,pp.98-101)。此外,还公开了通过利用3DCG软件来提供虚拟现实空间或混合现实空间的体验的方法(日本专利特开平2007-299062号公报)。通过组合这些技术,操作者可以通过利用CAD和3DCG软件来体验虚拟现实空间和混合现实空间的组合。
[0005] 遗憾的是,传统技术具有以下问题。即,当操作者在混合现实空间中确认该操作者已通过CG软件确认过的虚拟对象时,因为操作者通过CG软件最后确认对象的视点与混合现实空间的视点完全不同,所以操作者难以确定虚拟对象位于何处。

发明内容

[0006] 考虑到上述问题而作出本发明,其提供了一种当切换用于生成虚拟空间图像的视点时使所述切换前后的视场变化最小的技术。
[0007] 根据本发明的第一方面,提供一种图像处理装置,其包括:获取单元,其被构造为获取头戴式显示设备的位置及姿势;第一生成单元,其被构造为在第一模式被设置为所述图像处理装置的操作模式时,生成包含从具有用户设置的位置及姿势的第一视点看到的虚拟对象的虚拟空间的图像并输出;以及第二生成单元,其被构造为在第二模式被设置为所述图像处理装置的操作模式时,生成从基于所述第一视点的信息以及由所述获取单元获取的位置而确定的第二视点看到的虚拟空间的图像并输出。
[0008] 根据本发明的第二方面,提供一种由图像处理装置进行的图像处理方法,其中该图像处理方法包括以下步骤:获取头戴式显示设备的位置及姿势;在第一模式被设置为所述图像处理装置的操作模式时,生成包含从具有用户设置的位置及姿势的第一视点看到的虚拟对象的虚拟空间的图像并输出;以及在第二模式被设置为所述图像处理装置的操作模式时,生成从基于所述第一视点的信息以及所获取的位置而确定的第二视点看到的虚拟空间的图像并输出。
[0009] 根据以下参照附图对示例性实施例的描述,本发明的其他特征将变得清楚。

附图说明

[0010] 图1是示出系统的功能结构示例的框图
[0011] 图2是示出计算机的硬件结构示例的框图;
[0012] 图3是要通过图像处理装置1000进行的处理的流程图
[0013] 图4A到图4D是示出虚拟空间的图;
[0014] 图5A到图5C是示出虚拟空间图像的图;
[0015] 图6是要通过图像处理装置1000进行的处理的流程图;
[0016] 图7A到图7D是示出虚拟空间的图;
[0017] 图8是示出系统的功能结构示例的框图;以及
[0018] 图9是要通过图像处理装置8000进行的处理的流程图。

具体实施方式

[0019] 以下将参照附图说明本发明的示例性实施例。注意,以下要说明的各实施例表示当实际执行本发明时的示例,并且是在权利要求的范围内描述的结构的一个实际实施例。
[0020] [第一实施例]
[0021] 首先,将参照图1所示的框图来说明根据该实施例的系统的功能结构示例。如图1所示,根据该实施例的系统包括磁场生成设备1200、头戴式显示器(下文称为HMD)1100、图像处理装置1000、输入单元1300、以及显示单元1400。
[0022] 首先将说明HMD1100。HMD1100包括当HMD1100被戴到用户头上时在用户眼前提供图像的显示设备1110,以及用于测量自身位置和姿势的磁接收器1120。
[0023] 在显示设备1110上附装显示屏。所述显示屏以使得当用户将显示设备1110戴到头上时所述显示屏位于用户的左右眼前的方式被附装到显示设备1110。显示屏显示来自图像处理装置1000的输出图像。因此,由图像处理装置1000生成的图像被提供到用户眼前。
[0024] 磁场生成设备1200是用于在其周围生成磁场的设备。磁接收器1120在由磁场生成设备1200生成的磁场中检测与磁接收器1120的位置和姿势对应的磁性变化,并将表示检测结果的信号输出到图像处理装置1000。HMD1100与图像处理装置1000之间的通信可以为有线通信或无线通信。
[0025] 接着,将说明图像处理装置1000。当接收到来自磁接收器1120的信号时,位置及姿势测量单元1010基于接收的信号来获得磁接收器1120在世界坐标系中的位置和姿势。世界坐标系是以实际空间中的预定位置为原点、在该原点的位置相互垂直的三个轴为x轴、y轴和z轴的坐标系。
[0026] 然后,位置及姿势测量单元1010将“磁接收器1120与显示设备1110的左眼显示屏之间的位置及姿势关系”添加到世界坐标系中的磁接收器1120的位置和姿势,由此获得世界坐标系中的左眼视点的位置和姿势。接着,位置及姿势测量单元1010将获得的世界坐标系中的左眼视点的位置和姿势存储在数据存储单元1040中。
[0027] 另外,位置及姿势测量单元1010将“磁接收器1120与显示设备1110的右眼显示屏之间的位置及姿势关系”添加到世界坐标系中的磁接收器1120的位置和姿势,由此获得世界坐标系中的右眼视点的位置和姿势。然后,位置及姿势测量单元1010将获得的世界坐标系中的右眼视点的位置和姿势存储在数据存储单元1040中。
[0028] “磁接收器1120与显示设备1110的左眼显示屏之间的位置及姿势关系”以及“磁接收器1120与显示设备1110的右眼显示屏之间的位置及姿势关系”为预先测量的已知值。这些已知值被预先存储在数据存储单元1040中。
[0029] 在如上所述的本实施例中,通过利用磁传感器来测量视点(右眼显示屏或左眼显示屏)的位置和姿势。然而,作为测量位置和姿势的方法,可获得不同方法,并且可以采用任意的方法。例如,能够通过利用红外传感器、超声传感器或光学传感器来测量位置和姿势。还能够由通过附装到显示设备1110的图像感测设备感测的图像来获得该图像感测设备的位置和姿势(即,显示设备1110的位置和姿势)。另外,还可以进行机械测量。
[0030] 注意,除了视点(右眼显示屏和左眼显示屏)的位置和姿势外,生成要在右眼显示屏上显示的图像的处理与生成要在左眼显示屏上显示的图像的处理基本相同。因此,在以下描述中,将说明向右眼显示屏和左眼显示屏的一者、即向一个视点(一个显示屏)提供图像的处理,但是,因为针对一个视点的处理与针对另一视点的处理相同,将省略针对另一视点的处理的说明。
[0031] 位置及姿势输入单元1020将用户通过操作输入单元1300输入的视点的位置和姿势存储在数据存储单元1040中。如稍后将详细描述的,由用户操作输入单元1300输入且被位置及姿势输入单元1020存储在数据存储单元1040中的视点的位置和姿势被用来生成应用模式下的虚拟空间图像,并且是针对该应用模式的视点的位置和姿势。
[0032] 模式设置单元1060将图像处理装置1000的操作模式设置为用户通过操作输入单元1300输入的模式(VR模式和应用模式的一者),并将表示所设置模式的信息存储在数据存储单元1040中。换言之,用户输入的模式是选择视点的位置和姿势作为要用来生成虚拟空间图像的视点的位置和姿势的操作。
[0033] 当应用模式被设置时,通过位置及姿势输入单元1020存储在数据存储单元1040中的视点的位置及姿势(即由用户指定的视点的位置及姿势)用作要用于生成虚拟空间图像的视点的位置及姿势。
[0034] 当VR模式被设置时,由通过位置及姿势输入单元1020存储在数据存储单元1040中的视点的位置及姿势、以及通过位置及姿势测量单元1010存储在数据存储单元1040中的视点的位置及姿势,来获得新的位置及姿势。这样获得的新位置及新姿势被用作要用于生成虚拟空间图像的视点的位置及姿势。
[0035] 位置及姿势计算单元1030在VR模式被设置时操作,并进行计算要用于在VR模式下生成虚拟空间图像的视点的位置及姿势(即,针对VR模式的视点的位置及姿势)的处理。稍后将详细说明位置及姿势计算单元1030的操作的详情。然后,位置及姿势计算单元1030将计算出的视点的位置及姿势存储在数据存储单元1040中。
[0036] 虚拟空间生成单元1070通过利用数据存储单元1040中存储的虚拟空间数据来构造虚拟空间。虚拟空间数据包含属于构造虚拟空间的对象的数据,以及属于用于照亮虚拟空间的光源的数据。
[0037] 图像生成单元1050在VR模式被设置时从数据存储单元1040中选择针对VR模式的视点的位置及姿势,并且在应用模式被设置时从数据存储单元1040中选择针对应用模式的视点的位置及姿势。通过利用从数据存储单元1040中选择的视点的位置及姿势,图像生成单元1050生成从通过虚拟空间生成单元1070构造的虚拟空间的视点观看的图像。注意,生成从具有预定位置及姿势的视点观看的虚拟空间图像的处理为已知技术,从而其详细描述将被省略。然后,图像生成单元1050将生成的虚拟空间图像发送到显示设备1110(显示屏)。注意,除了显示设备1110外,图像生成单元1050还可以将生成的虚拟空间图像发送到显示单元1400。还可能根据VR模式和应用模式的何者被选择将生成的虚拟空间图像发送到显示设备1110或显示单元1400。另外,虚拟空间图像的输出目的地不限于上述对象,还可以是例如诸如平板电脑或智能电话的显示终端。
[0038] 如上所述,数据存储单元1040是要用于存储计算出的数据以及获取的数据以使得所述数据可读取、并将预定义的数据存储为已知信息的存储器。数据存储单元1040由RAM或硬盘驱动器形成。
[0039] 输入单元1300包括例如鼠标键盘触摸屏画面。用户可以通过操作输入单元1300来输入如之前描述的各种指令、数据等。注意,输入单元1300可以为任意设备,只要各种指令和数据能够如上所述被输入即可。例如,输入单元1300可以为识别用户手势的设备。
在这种情况下,对应于所识别手势的指令或数据被输入。当然还能够通过组合两个或更多个设备来形成输入单元1300。
[0040] 接着,将参照示出处理的流程图的图3来说明为了生成和输出虚拟空间图像而要由图像处理装置1000进行的处理。首先,在步骤S3000中,模式设置单元1060将要在以下处理中使用的标记的值初始化为0。假设在数据存储单元1040中管理该标记值。
[0041] 然后,在步骤S3010中,模式设置单元1060确定是否从输入单元1300接收到了用于设置模式的指令。如果确定接收到了用于设置模式的指令,则处理进行到步骤S3100。如果没有接收到用于设置模式的指令,则处理进行到步骤S3020。
[0042] 在步骤S3020中,模式设置单元1060确定图像处理装置1000的当前操作模式是VR模式还是应用模式。如果确定操作模式是VR模式,则处理进行到步骤S3220。如果确定操作模式是应用模式,则处理进行到步骤S3030。
[0043] 在步骤S3030中,图像生成单元1050从数据存储单元1040中读出由位置及姿势输入单元1020存储在数据存储单元1040中的针对应用模式的视点的位置及姿势。
[0044] 在步骤S3040中,虚拟空间生成单元1070读出数据存储单元1040中存储的虚拟空间数据,并且通过利用所读出的数据来构造虚拟空间。
[0045] 在步骤S3050中,图像生成单元1050生成当从如下视点观看在步骤S3040中构造的虚拟空间时获得的图像,所述视点具有在步骤S3030中从数据存储单元1040读出的位置及姿势。然后,图像生成单元1050将生成的虚拟空间图像发送到显示设备1110或显示单元1400。
[0046] 另一方面,在步骤S3100中,模式设置单元1060将表示从输入单元1300指定的模式的信息存储在数据存储单元1040中,并且确定该模式是VR模式还是应用模式。如果确定该模式是VR模式,则处理进行到步骤S3200。如果确定该模式是应用模式,则处理进行到步骤S3110。在步骤S3110中,模式设置单元1060将图像处理装置1000的操作模式设置为应用模式。然后,进行从步骤S3030起的处理。
[0047] 另一方面,在步骤S3200中,模式设置单元1060将图像处理装置1000的操作模式设置为VR模式。在步骤S3210中,模式设置单元1060将标记值设置为1。
[0048] 在步骤S3220中,位置及姿势测量单元1010基于在该阶段从磁接收器1120接收的信号来进行上述处理,由此获得视点的位置及姿势。在步骤S3230中,模式设置单元1060确定标记值是1还是0。如果确定标记值为1,则处理进行到步骤S3300。如果确定标记值为0,则处理进行到步骤S3240。
[0049] 在步骤S3300中,位置及姿势测量单元1010将在步骤S3220中获得的视点的位置及姿势作为基准位置及姿势存储在数据存储单元1040中,从而在以下处理中用它们作为基准位置及姿势。然后,在步骤S3310中,模式设置单元1060将标记值设置为0。
[0050] 在步骤S3240中,位置及姿势计算单元1030通过执行以下要说明的处理来获得针对VR模式的视点的位置及姿势。将通过采用实际示例来说明在步骤S3240中获得针对VR模式的视点的位置及姿势的处理。
[0051] 图4A及图4C是各自示出通过从与X-Y平面垂直的方向(与该图面垂直的方向为Z轴方向)沿Z轴俯瞰平面来观察世界坐标系中的X-Y平面而获得的虚拟空间的图。另外,图4B及图4D是各自示出通过从与X-Z平面垂直的方向(与该图面垂直的方向为Y轴方向)沿Y轴俯瞰平面来观察世界坐标系中的X-Z平面而获得的虚拟空间的图。
[0052] 在如图4A及图4B所示的应用模式中,设置通过输入单元1300指定虚拟空间中的位置及姿势的视点4110,与视点4110对应的视见体(viewing frustum)4120的内部空间(包括虚拟对象4500)的图像被生成为虚拟空间图像。视点4110是所谓的“应用模式视点”。
[0053] 假设在应用模式下的视点的位置及姿势如图4A和图4B中所示的状态下、图像处理装置1000的操作模式被切换至VR模式。还假设当操作模式被切换至VR模式时,用于生成虚拟空间图像4120的视点被切换至具有通过位置及姿势测量单元1010获得的位置及姿势的视点4210。图4C及图4D中的视点4210是位置及姿势通过位置及姿势测量单元1010测量的视点。在这种状态下,应用模式视点4110的视场(4120)包含虚拟对象4500,但是视点4210的视场(4220)不包含虚拟对象4500。
[0054] 前一段中描述的情形不尽如人意。因此,在实施例中,位置及姿势计算单元1030由应用模式视点4110、对应于由位置及姿势测量单元1010测量的位置的当前视点4210、以及作为刚好在操作模式被切换到VR模式后确定的视点的基准视点,来确定在模式从应用模式改变至VR模式后的某一时间的VR模式视点4310(具有包含虚拟对象4500的视场(4320)的视点)。
[0055] 假设数据存储单元1040中存储的最新应用模式视点4110(就在操作模式被切换到VR模式之前)的位置为(x0,y0,z0)。这是用户在切换模式时所观看到的。还假设在步骤S3300中存储在数据存储单元1040中的基准视点位置(基准位置及姿势的位置分量)为(xb,yb,zb),其为与VR视点4220对应的虚拟空间中的位置,其中如果显示是基于测量的HMD1110的位置,则在模式被改变后将立即示出该VR视点4220。另外,假设如果显示是基于测量的HMD1110的位置则在当前时间示出的、步骤S3220中获得的当前视点4210的位置为(x1,y1,z1)。
[0056] 在该状态下,VR模式视点4310的位置(xv,yv,zv)通过(xv,yv,zv)=(x0+(x1-xb),y0+(y1-yb),z0+(z1-zb))来获得。换言之,当前视图=应用模式中的视图+由于检测到的HMD的位置变化引起的视图变化。
[0057] 在步骤S3240中,位置及姿势计算单元1030通过进行像这样的计算来获得VR模式视点的位置。作为VR模式视点的姿势,可以采用在步骤S3220中获得的视点的姿势(偏航、滚动及俯仰度),或者采用基于该姿势获得的新姿势。位置及姿势计算单元1030将如上所述获得的VR模式视点的位置及姿势存储在数据存储单元1040中。
[0058] 在步骤S3250中,图像生成单元1050从数据存储单元1040中读出在步骤S3240中存储在数据存储单元1040中的VR模式视点的位置和姿势。
[0059] 然后,在步骤S3260中,虚拟空间生成单元1070读出数据存储单元1040中存储的虚拟空间数据,并且通过利用读出的数据构造虚拟空间。
[0060] 之后,在步骤S3270中,图像生成单元1050生成当从具有在步骤S3250中从数据存储单元1040读出的位置和姿势的视点,观看在步骤S3260中构造的虚拟空间时获得的图像。然后图像生成单元1050将生成的虚拟空间图像发送到显示设备1110或显示单元1400。
[0061] 图5A示出在图4A和图4B中所示的状态下基于视点4110生成的虚拟空间图像的示例。由于视点4110的视场包含虚拟对象4500,所以基于视点4110的虚拟空间图像包含虚拟对象4500,如图5A中所示。
[0062] 如果在操作模式切换到VR模式后生成基于具有通过位置及姿势测量单元1010获得的位置及姿势的视点4210的虚拟空间图像(图5B),则视点4210的视场不包含虚拟对象4500,从而生成的图像不包含虚拟对象4500。然而,在本实施例中,与应用模式视点之间的位置关系等于基准位置与通过位置及姿势测量单元1010获得的位置之间的位置关系的视点被用作VR模式视点,从而图像包含虚拟对象4500,如图5C所示。
[0063] 返回图3,如果图像处理装置1000(控制器(未示出))检测到满足处理的终止条件,例如,检测到用户通过利用输入单元1300输入了用于终止处理的指令,则在步骤S3060后终止处理。另一方面,如果不满足处理终止条件,则处理从步骤S3060返回到步骤S3010,并从步骤S3010重复处理。
[0064] 如上所述,根据本实施例的图像处理装置具有获取在应用中由用户设置的视点的位置及姿势(第一获取),并且获取头戴式显示器的位置及姿势(第二获取)的布置。
[0065] 当第一模式被设置为图像处理装置的操作模式时,生成从具有在第一获取中获取的位置及姿势的视点观看的虚拟空间的图像并进行输出(第一生成)。
[0066] 如果检测到图像处理装置的操作模式被切换到与第一模式不同的第二模式,则在所述检测时通过第二获取获取的位置作为基准位置被记录在存储器中。当第二模式被设置时,生成从如下视点观看的虚拟空间的图像并进行输出(第二生成),该视点以与通过第一获取而获取的位置的位置关系、等于基准位置与在稍后时间通过第二获取而获取的位置在实际空间中的位置关系的位置、作为虚拟空间中的视点位置。
[0067] [第二实施例]
[0068] 在本实施例中,根据应用模式视点的位置及姿势、紧接在操作模式被切换到VR模式后通过位置及姿势测量单元1010获得的视点的位置及姿势、以及在操作模式被切换到VR模式后通过位置及姿势测量单元1010获得的视点的位置及姿势,来获得VR模式视点的位置及姿势。在以下描述中,仅将说明与第一实施例的不同,并且不特别指出的项目与第一实施例中相同。
[0069] 要通过根据本实施例的图像处理装置1000进行的为了生成和输出虚拟空间图像的处理将参照示出该处理的流程图的图6来说明。在图6中,与图3中相同的步骤编号表示进行相同处理的处理步骤,并且对这些步骤中的处理的说明将被省略。
[0070] 在步骤S6020中,位置及姿势计算单元1030通过执行以下要说明的处理来获得VR模式视点的位置及姿势。将参照图7A到图7D来说明步骤S6020中的处理。在图7A到图7D中,与图4A到图4D中相同的附图标记表示相同的部分,并且其说明将被省略。
[0071] 图7A和图7C是各自示出通过从与X-Y平面垂直的方向(与图面垂直的方向是Z轴方向)沿Z轴俯瞰平面来观察世界坐标系中的X-Y平面而获得的虚拟空间的图。另外,图7B和图7D是各自示出通过从与X-Z平面垂直的方向(与图面垂直的方向是Y轴方向)沿Y轴俯瞰平面来观察世界坐标系中的X-Z平面而获得的虚拟空间的图。
[0072] 视点7110是通过位置及姿势测量单元1010获得位置及姿势的视点。附图标记7120代表表示视点7110的视场的视见体。在本实施例中,根据应用模式视点4110、通过位置及姿势测量单元1010测量的视点7110、以及紧接在操作模式被切换到VR模式后的视点来确定VR模式视点7140。
[0073] 假设数据存储单元1040中存储的最新应用模式视点4110(紧接在操作模式被切换到VR模式前)的位置为(x0,y0,z0),并且姿势(偏航、滚动及俯仰角度)为(Y0,R0,P0)。这是切换模式时用户所见。还假设步骤S3300中存储在数据存储单元1040中的基准视点位置(基准位置及姿势的位置分量)为(xb,yb,zb),并且视点姿势(基准位置及姿势的姿势分量)为(Yb,Rb,Pb)。这是与VR视点7120对应的虚拟空间中的位置及姿势。另外,假设在步骤S3220中获得的当前视点7110的位置为(x1,y1,z1),姿势为(Y1,R1,P1),这是如果显示是基于测量的HMD1110的位置则将示出的位置及姿势。
[0074] 在所述条件下,VR模式视点7140的位置(xv,yv,zv)通过(xv,yv,zv)=(x0+(x1-xb),y0+(y1-yb),z0+(z1-zb))来获得。另外,VR模式视点7140的姿势(Yv,Rv,Pv)通过(Yv,Rv,Pv)=(Y1,R0+(R1-Rb),P1)来获得。
[0075] 位置及姿势计算单元1030将如上所述获得的VR模式视点的位置及姿势存储在数据存储单元1040中。然后,进行从步骤S3250起的处理。
[0076] 注意,通过利用在步骤S3300中存储在数据存储单元1040中的姿势以及应用模式视点的姿势来校正在步骤S3220中获得的姿势来计算校正后的姿势(VR模式视点的姿势)的方法并不限于上述方法。
[0077] [第三实施例]
[0078] 通过假设显示设备1110是具有用于显示虚拟空间图像的显示屏的虚拟现实显示设备(virtual reality display device)1110来说明了上述实施例。然而,显示设备1110可以是混合现实显示设备1110。显示设备1110可以是光学透视式显示设备。在这种情况下,头上戴有该显示设备1110的用户可以观察虚拟空间图像被叠加在通过该显示屏看到的实际空间上的状态。
[0079] 另外,显示设备1110可以是包括图像感测设备的所谓的视频透视式显示设备,并且显示通过将由图像感测设备感测的实际空间图像与虚拟空间图像合成而获得的合成图像(混合现实空间的图像)。
[0080] 在本实施例中,将说明利用视频透视式显示设备替代图1中所示的显示设备1110的布置。将参照图8中所示的框图来说明根据本实施例的系统的功能结构示例。在图8中,与图1中的相同的附图标记代表相同的功能单元,并将省略其说明。在以下描述中,通过利用来自磁接收器1120的测量结果来生成虚拟空间图像的模式将被称为MR模式。
[0081] 头戴式显示器8100包括磁接收器1120以及视频透视式显示设备8010。
[0082] 显示设备8010包括:用于从头戴显示设备8010的用户的右眼位置感测实际空间运动图像的图像感测设备8011a,以及用于从左眼位置感测实际空间运动图像的图像感测设备8011b。这些图像感测设备顺序地向图像处理装置8000发送感测的各的实际空间图像。与显示设备1110一样,显示设备8010还包括用于在用户右眼前呈现图像的显示屏,以及用于在用户左眼前呈现图像的显示屏。
[0083] 图像处理装置8000的图像获取单元8020获取从图像感测设备发送的实际空间图像(右眼实际空间图像以及左眼实际空间图像),并将获取的实际空间图像存储在数据存储单元1040中。
[0084] 在本实施例中,应当注意,通过位置及姿势测量单元1010获得的视点的位置及姿势为图像感测设备8011a和8011b的各个的位置及姿势。各种方法可应用为基于来自磁接收器1120的信号或者通过利用另一方法来获得图像感测设备8011a和8011b的位置及姿势的方法。
[0085] 还注意,生成要在右眼显示屏上显示的图像的处理以及生成要在左眼显示屏上显示的图像的处理除了视点(图像感测设备8011a和8011b)的位置及姿势之外基本相同。因此,在以下描述中,将说明向右眼显示屏及左眼显示屏的一者、即向一个视点(一个显示屏)提供图像的处理,而将省略针对另一视点的处理的说明,因为针对一个视点的处理与针对另一视点的处理相同。
[0086] 图像生成单元8030以与图像生成单元1050中相同的方式生成虚拟空间图像。当MR模式被设置为图像处理装置8000的操作模式时,图像生成单元8030通过将右眼实际空间图像与右眼虚拟空间图像合成来生成合成图像,以及通过将左眼实际空间图像与左眼虚拟空间图像合成来生成合成图像。可以通过利用对应于右眼及左眼的图像感测设备(图像感测设备8011a和8011b)的位置及姿势,来生成对应于右眼及左眼的虚拟空间图像。可以通过在诸如数据存储单元1040的存储器上描绘实际空间图像并在该实际空间图像上叠加虚拟空间图像来在该存储器上生成合成图像。
[0087] 然后,图像生成单元8030将右眼合成图像(右眼实际空间图像与右眼虚拟空间图像的合成图像)发送到右眼显示屏。另外,图像生成单元8030将左眼合成图像(左眼实际空间图像与左眼虚拟空间图像的合成图像)发送到左眼显示屏。
[0088] 另一方面,在应用模式中,图像生成单元8030不生成任何合成图像,并将生成的虚拟空间图像发送到显示单元1400。在该步骤中,虚拟空间生成单元1070还由诸如景深的信息来生成实际空间数据。
[0089] 对于要由根据本实施例的图像处理装置8000进行的处理,将参照示出该处理的流程图的图9来说明。在图9中,与图3及图6中相同的步骤编号表示进行相同处理的处理步骤,并且将省略对这些步骤中的处理的说明。
[0090] 在步骤S3200中,模式设置单元1060设置MR模式。在步骤S9010中,图像获取单元8020获取实际空间图像,并将获取的实际空间图像存储在数据存储单元1040中。
[0091] 在步骤S9020中,模式设置单元1060通过参照数据存储单元1040中存储的表示图像处理装置8000的操作模式的信息,来确定图像处理装置8000的操作模式是MR模式还是应用模式。如果确定操作模式是MR模式,则处理进行到步骤S9030。如果确定操作模式是应用模式,则处理进行到步骤S3040。
[0092] 在步骤S9030中,虚拟空间生成单元1070以与第一实施例中相同的方式构造虚拟空间。在该步骤中,还能够生成包含从例如虚拟空间中的图像处理以及传感器获取的实际空间模型数据的虚拟空间。
[0093] 在步骤S9040中,图像生成单元8030基于在步骤S3250中设置的MR模式视点的位置及姿势,以与第一实施例中相同的方式来生成(在步骤S9030中构造的)虚拟空间的图像。然后,图像生成单元8030生成所生成的虚拟空间图像与在步骤S9010中获取的实际空间图像的合成图像(对应于一只眼),并将生成的合成图像发送到显示设备8010的相应显示屏。
[0094] [第四实施例]
[0095] 通过以应用模式以及VR(MR)模式作为图像处理装置1000的操作模式的示例说明了上述实施例。然而,还可以并行进行这些操作模式中的处理。
[0096] [第五实施例]
[0097] 在上述实施例中说明的计算针对VR(MR)模式的视点的位置及姿势的方法仅为示例,还能够设置并计算使得维持视点与虚拟对象之间的相对位置或姿势的位置及姿势。
[0098] [第六实施例]
[0099] 通过假设显示设备1110包括右眼显示屏和左眼显示屏而说明了上述实施例。然而,本发明并不限于此,两眼还能够共用一个显示屏。
[0100] 此外,包括显示设备以及能够测量其自身位置和姿势的测量设备的装置也可以用来替代头戴式显示器。另外,显示设备和测量设备可以被集成或分开。
[0101] 还能够使用包括显示设备和图像感测设备的装置来替代头戴式显示器。显示设备和图像感测设备可以被集成或分开。
[0102] [第七实施例]
[0103] 在上述实施例中,当图像处理装置1000的操作模式改变时,视点也相应地从VR(MR)模式视点切换到应用模式视点,反之亦然。然而,还能够预先设置是否根据操作模式的改变来切换视点。
[0104] 此外,当设置视点时,还能够切换是使用要利用的位置及姿势分量中的位置分量、姿势分量、位置及姿势分量二者、还是各个分量的一部分。
[0105] [第八实施例]
[0106] 还能够切换要被输出到诸如显示设备1110或显示单元1400的一个显示设备的图像。另外,还能够将例如显示应用模式图像的设备、显示VR(MR)模式图像的设备、以及选择性地显示应用模式图像和VR(MR)模式图像的设备连接到图像处理装置1000。在这种情况下,根据输出图像而将该输出图像发送到这些设备的一者。此外,可以使用总是呈现应用模式图像以及VR(MR)模式图像的显示设备,但是根据呈现模式来更新视点的位置及姿势。
[0107] [第九实施例]
[0108] 形成图1以及图8所示的图像处理装置1000、8000的各功能单元可以通过硬件构造,并且除了数据存储单元1040以外的这些功能单元的一个或多个还可以通过软件(计算机程序)构造。在这种情况下,包括作为存储器的数据存储单元1040以及包括通过硬件实现的功能单元的装置的CPU执行软件,从而装置用作图像处理装置1000(8000)。图2示出包括除了数据存储单元1040外的作为软件的功能单元以及包括作为存储器的数据存储单元1040的计算机的硬件结构示例。
[0109] CPU2001通过利用RAM2002和ROM2003中存储的计算机程序和数据来控制整个计算机的操作,并且执行上述的各处理作为要通过图像处理装置1000(8000)进行的处理。
[0110] RAM2002具有用于临时存储从外部存储设备2007和存储介质驱动器2008载入的计算机程序和数据的区域。此外,RAM2002具有用于临时存储经由I/F(接口)2009从外部装置接收的数据(例如,从磁接收器1120接收的信号(数据)以及来自图像感测设备8011a和8011b的图像)的区域。另外,RAM2002具有要被CPU2001在执行各种处理时使用的工作区域。
即,RAM2002可以根据需要提供各种区域。例如,RAM2002还可以用作数据存储单元1040。
[0111] 计算机的设置数据、引导程序等被存储在ROM2003中。键盘2004和鼠标2005用作上述输入单元1300。计算机的操作者可以通过操作键盘2004和鼠标2005来向CPU2001输入各种信息(例如,模式设置指令以及应用模式视点的位置及姿势)。
[0112] 显示单元2006由CRT或液晶屏形成,并且可以将来自CPU2001的处理结果显示为图像和文字。显示单元2006用作例如上述显示单元1400,并且可以显示虚拟空间图像、混合现实空间图像、要被显示以测量显示设备1110(8010)的位置及姿势的消息等。
[0113] 外部存储设备2007是诸如硬盘驱动器的大容量存储设备。OS(操作系统)以及要被使用来使CPU2001执行作为要通过图像处理装置1000(8000)进行的处理的上述处理的计算机程序和数据被保存在外部存储设备2007中。所述程序包括用于使CPU2001执行形成图像处理装置1000(8000)的除了数据存储单元1040之外的功能单元的功能的计算机程序。另外,所述数据包含被说明为预先存储在数据存储单元1040中的数据(例如,虚拟空间数据以及在上述说明中被说明为已知信息的数据)。被保存在外部存储设备2007中的计算机程序以及数据在CPU2001的控制下根据需要被加载到RAM2002中。CPU2001通过利用加载的程序以及数据来执行处理。作为结果,该计算机执行上述处理作为要由图像处理装置1000(8000)进行的处理。注意,外部存储设备2007还用作数据存储单元1040。
[0114] 存储介质驱动器2008读出诸如CD-ROM或DVD-ROM的存储介质上记录的计算机程序以及数据,并将计算机程序以及数据写入存储介质。注意,以上说明的被保存到外部存储设备2007中的计算机程序以及数据的部分或整体还可以被记录在该存储介质上。由存储介质驱动器2008从存储介质读出的计算机程序以及数据被输出到外部存储设备2007或RAM2002。
[0115] I/F2009是用于将诸如显示设备1110(8010)和磁接收器1120的外部设备连接到该计算机的接口。I/F2009包括例如用于将图像感测设备8011a(8011b)连接到该计算机的模拟端口以及诸如IEEE1394的数字输入/输出端口,以及用于向显示设备1110(8010)输出图像的以太网端口。经由I/F2009接收的数据被输入到RAM2002或外部存储设备2007。上述单元全部被连接到总线2010。
[0116] 其他实施例
[0117] 本发明的实施例还可以通过读出并执行记录在存储介质(例如,非暂时性计算机可读存储介质)上的用于执行本发明的上述实施例的一个或多个的功能的计算机可执行指令的系统或装置的计算机来实现,以及通过由系统或装置的计算机通过例如从存储介质中读出并执行用于执行上述实施例的一个或多个的功能的计算机可执行指令来执行的方法来实现。计算机可以包括中央处理单元(CPU)、微处理单元(MPU)、或其他电路的一个或多个,并且可以包括单独的计算机或单独的计算机处理器的网络。例如可以从网络或者存储介质向计算机提供计算机可执行指令。存储介质可以包括例如硬盘、随机存取存储器(RAM)、只读存储器(ROM)、分布式计算系统的存储器、光盘(诸如光盘(CD)、数字通用光盘(DVD)、或蓝光盘(BD)TM)、闪存存储设备、存储卡等的一个或多个。
[0118] 虽然参照示例性实施例对本发明进行了描述,但是应当理解,本发明并不限于所公开的示例性实施例。应当对所附权利要求的范围给予最宽的解释,以使其涵盖所有这些变型例以及等同的结构和功能。
QQ群二维码
意见反馈