CN1914646A - 信息处理方法、信息处理设备及摄像设备 - Google Patents
信息处理方法、信息处理设备及摄像设备 Download PDFInfo
- Publication number
- CN1914646A CN1914646A CN 200580003841 CN200580003841A CN1914646A CN 1914646 A CN1914646 A CN 1914646A CN 200580003841 CN200580003841 CN 200580003841 CN 200580003841 A CN200580003841 A CN 200580003841A CN 1914646 A CN1914646 A CN 1914646A
- Authority
- CN
- China
- Prior art keywords
- image
- parts
- observer
- list image
- list
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
获取观察者(100)的视点的位置和方向。获取笔(120)的位置和方向。在笔(120)的位置附近布置列表图像。产生根据视点的位置和方向看的在布置列表图像之后的虚拟空间的图像。将产生的图像输出到HMD(110)的显示屏。
Description
技术领域
本发明涉及一种产生从包含至少一个部件的虚拟物体形成的虚拟空间的图像的技术。
背景技术
在迄今为止的混合真实系统中,对于观察者,一般使用一种已知的混合有实际空间和虚拟空间的混合真实空间,即以可从Polhemus(美国)得到的FASTRAK(商标)为代表的位置/方向测量装置来获得观察混合真实空间时的视点位置和视线的方向(例如美国第6,522,312号专利)。
通常使用具有摄像机的HMD(Head Mounted Display,头部安装显示器)作为摄像/显示装置。还通过在HMD中分离地设置左和右摄像系统和显示系统来实现由双眼视差所产生的立体视觉。
对于上述混合真实系统,本发明已经提出了一种技术,这种技术将虚拟空间中的CAD数据作为虚拟物体布置在该虚拟空间中,产生通过从视点位置和视线的方向观看该虚拟物体所得到的图像,并且在HMD上设置的显示装置上显示该图像。当在实际空间图像中显示对应于虚拟CAD数据的虚拟物体时,可以容易并且随意地移动视点。另外,由于将虚拟物体与实际空间图像合成,因此可以得到对虚拟物体的比例感,可以进行更真实的显示。
另一方面,传统的使用非混合真实系统的CAD系统具有一种显示组件树的重要功能。从组件树选择并操作设计目标物体中的每一个部件。当使用组件树时,可以一次对多个一体化的组件进行公共操作。
然而,在混合真实系统中,一般在HMD上设置的显示装置上显示实际空间图像。因此,显示各种信息的显示区域小。这也是由HMD的显示装置的小显示区导致的。
当通过使用立体HMD来实现立体视觉,而不小心显示组件树时,在立体视觉中产生不适的感觉。
发明内容
本发明是考虑到上述问题而做出的,其目的在于提供一种技术,用于当将包含至少一个部件并被叠加在实际空间上的虚拟物体呈现给观察者时,显示与部件有关的信息而不破坏相对于另一图像的深度感。
本发明的另一目的在于提供一种技术,用于当将包含至少一个部件并被叠加在实际空间图像上的虚拟物体呈现给观察者时,使与部件有关的信息的显示遮挡图像的问题最小化。
为了实现本发明的目的,例如,本发明的图像处理方法包括以下配置。
即,一种图像处理方法,其产生从包括至少一个部件的虚拟物体形成的虚拟空间的图像,其特征在于,包括:
第一获取步骤,其获取观察者的视点的位置和方向;
第二获取步骤,其获取由所述观察者佩戴在手上以进行各种操作的指示装置的位置和方向;
布置步骤,其将用于显示与所述部件有关的信息的列表的列表图像布置在所述第二获取步骤获取的位置附近;
虚拟空间图像产生步骤,其产生根据所述视点的位置和方向看的在布置所述列表图像之后的虚拟空间的图像;以及
输出步骤,其将所述虚拟空间图像产生步骤产生的图像输出到预定显示装置。
为了实现本发明的目的,例如,本发明的图像处理方法包括以下配置。
即,一种图像处理方法,其产生对应于观察者的位置和方向的虚拟图像,并将该虚拟图像与对应于所述观察者的位置和方向的实际图像合成,所述图像处理方法包括:
获取所述观察者的位置和方向;
根据所述观察者的位置和方向产生所述虚拟图像;以及
将对应于所述观察者的位置和方向的所述实际图像与所述虚拟图像合成,其特征在于,包括:
获取由所述观察者操作的指示装置的位置;
识别所述指示装置指示的部件;
产生用于显示与识别出的部件有关的信息的部件信息虚拟图像;以及
根据所述指示装置的位置来确定所述部件信息虚拟图像的布置位置。
为了实现本发明的目的,例如,本发明的图像处理设备包括以下配置。
即,一种图像处理设备,其产生从包括至少一个部件的虚拟物体形成的虚拟空间的图像,其特征在于,所述图像处理设备包括:
第一获取单元,用于获取观察者的视点的位置和方向;
第二获取单元,用于获取由所述观察者佩戴在手上以进行各种操作的指示装置的位置和方向;
布置单元,其将用于显示与所述部件有关的信息的列表的列表图像布置在所述第二获取单元获取的位置附近;
虚拟空间图像产生单元,其产生根据所述视点的位置和方向看的在布置所述列表图像之后的虚拟空间的图像;以及
输出单元,其将所述虚拟空间图像产生单元产生的图像输出到预定显示装置。
为了实现本发明的目的,例如,本发明的图像处理设备包括以下配置。
即,一种图像处理设备,其产生对应于观察者的位置和方向的虚拟图像,并将该虚拟图像与对应于所述观察者的位置和方向的实际图像合成,所述图像处理设备包括:
获取单元,用于获取所述观察者的位置和方向;
产生单元,用于根据所述观察者的位置和方向来产生所述虚拟图像;以及
合成单元,用于将对应于所述观察者的位置和方向的所述实际图像与所述虚拟图像合成,其特征在于,包括:
获取单元,用于获取由所述操作者操作的指示装置的位置;
识别单元,用于识别由所述指示装置指示的部件;
产生单元,用于产生用于显示与识别出的部件有关的信息的部件信息虚拟图像;以及
确定单元,用于根据所述指示装置的位置来确定所述部件信息虚拟图像的布置位置。
从以下结合附图的说明,本发明的其他特征和优点将明显。在全部附图中,相同的附图标记表示相同或者相似的部分。
附图说明
包括在说明书中并且构成说明书的一部分的附图示出本发明的实施例,并与说明书一起用于说明本发明的原理。
图1是示出根据本发明第一实施例的系统的外观的视图;
图2是示出根据本发明第一实施例的HMD 110的示意性配置的视图;
图3是示出笔120的结构的视图;
图4是根据本发明第一实施例使CPU 3101产生混合真实空间图像并将其输出到HMD 110的显示屏的处理(主线程)的流程图;
图5是示出混合真实空间图像的例子的视图;
图6是示出图像(列表图像)的例子的视图,在该图像中,当由笔120指示复印机的虚拟物体170的控制台部500时,以树形式(组件树)列出包含在控制台部500中的部件的信息;
图7是示出当布置并显示列表图像时的混合真实空间图像的显示例子的视图;
图8是示出具有完全透明背景和不透明字符的列表图像801的显示例子的视图;
图9是示出当布置并显示列表图像时的混合真实空间图像的显示例子的视图;
图10是用于说明不显示虚拟物体的区域的视图;
图11是示出当观察者100的视点的位置和方向移动时在HMD110的显示屏上显示的图像的例子的视图;
图12是示出所布置的列表图像与虚拟物体170的显示区域不重叠的显示例子的视图;
图13是示出包含在虚拟物体A中的部件的组件树的视图;
图14是示出对于手区域优先绘制的列表图像的视图;
图15是示出通过调整列表图像的显示而得到的混合真实空间图像的显示例子的视图;
图16是在实际空间图像(真实图像)中遮盖手区域的处理的流程图;
图17是通过参考标记在列表图像和手区域之间进行切换以优先显示其中一个的处理的流程图;
图18是在列表图像和手区域之间进行切换以优先显示其中一个的处理的流程图;
图19是根据本发明第二实施例在步骤S404中进行的列表图像显示处理的流程图;
图20是根据本发明第三实施例在步骤S404中进行的列表图像显示处理的流程图;
图21是当对在列表图像中显示的组件树进行操作时,由CPU3101进行的处理的流程图;
图22是示出步骤S2122中的详细处理的流程图;
图23是根据笔120的位置和虚拟物体之间的距离来判断将由列表图像呈现包含在虚拟物体中的部件的父/子结构中的哪个层级的处理的流程图;
图24是示出当将笔120移近复印机的虚拟物体170时所显示的列表图像的显示例子的视图;
图25是示出当进一步将笔120移近控制台模块500时的列表图像的显示例子的视图;
图26是示出由手势指出的部分列表图像的显示例子的视图;
图27是示出显示例子的视图,在该显示例子中,当由笔120的位置在列表图像2701中指出具有说明文字“上纸盒”的平面虚拟物体2711时,复印机的虚拟物体170中的对应部件2712闪烁;
图28是显示由手势指出的部分的列表图像的处理的流程图;
图29是用于说明指定如点线所示的沿深度方向的位置以更具体地指定目标节点的操作的视图;
图30是关于手区域和列表图像的显示的处理的流程图;以及
图31是示出计算机140的基本配置的框图。
具体实施方式
现在根据附图详细说明本发明的优选实施例。
第一实施例
在本实施例中,当将从包含至少一个部件的虚拟物体形成的虚拟空间的图像叠加在实际空间的图像上并呈现给观察者时,将各部分的信息也呈现给观察者。下面说明进行这种呈现的系统。
图1是示出根据本实施例的系统的外观的视图。
参考图1,附图标记100表示观察者。他/她在头上佩戴HMD(Head Mounted Display,头部安装显示器)110(稍后说明)并在手中佩戴笔(指示装置)120(稍后说明)(“佩戴”既指“在手中持有”,也指“连到手上”)。
位置/方向传感器发送器130产生磁场。在笔120中设置的位置/方向传感器接收器121和在HMD 110上设置的位置/方向传感器接收器113测量对应于其位置和方向的磁场强度。
位置/方向传感器主体131控制位置/方向传感器发送器130。位置/方向传感器主体131还接收表示由位置/方向传感器接收器121和113所测量的磁场强度的信号,并且根据由接收到的信号表示的磁场强度得到每一个传感器接收器在传感器坐标系(在位置/方向传感器发送器130的位置设定原点、并将在原点互相垂直相交的三个轴设定为x、y、z轴的坐标系)中的位置和方向。将表示得到的位置和方向的数据输出到后续级的计算机140。可以使用例如可从Polhemus(美国)得到的FASTRAK(注册商标)作为传感器系统。
虚拟物体170包括至少一个部件。图1中的虚拟物体170是复印机。然而,本发明不限于复印机,而可以应用到任何其他包括至少一个部件的虚拟物体。为了便于说明,在图1中示出虚拟物体170。实际上,只有观看计算机140的显示屏的观察者100或者操作者可以看到虚拟物体。附图标记180表示实际物体180。计算机140通过网线150与外部装置进行数据通信。在图1中网线150由线缆形成。然而,也可以使用无线网络。
计算机140通过根据来自位置/方向传感器主体131的数据进行处理(稍后说明)来得到观察者100的视点的位置和方向。计算机140产生可以根据观察者100的视点的位置和方向看到的虚拟空间图像(虚拟物体图像)。该虚拟空间图像包括列表图像,用于显示包含在虚拟物体中的部件的信息的列表。稍后说明该列表图像。计算机140进行将产生的虚拟空间图像叠加在从HMD 110得到的实际空间图像上以及将叠加后的图像输出到HMD 110的显示屏上的处理。
图2是示出根据本实施例的HMD 110的示意性配置的视图。如图2所示,HMD 110包括摄像机111、LCD 112、位置/方向传感器接收器113、以及光学棱镜114和115。
摄像机111拍摄由光学棱镜115所导引的光。其结果是,拍摄到根据观察者的视点的位置和方向所看到的实际空间。在本实施例中,在HMD 110中设置一个摄像机111。然而,本发明不限于一个摄像机。为了拍摄根据观察者的左眼和右眼中的每一个的位置和方向所看到的实际空间图像,可以设置两个摄像机。将所得到的图像信号输出到计算机140。
如上所述,位置/方向传感器接收器113测量其自身在传感器坐标系中的位置和方向。实际上,位置/方向传感器接收器113测量对应于其自身的位置和方向的磁场强度。位置/方向传感器主体131根据测量到的强度来得到位置/方向传感器接收器113在传感器坐标系中的位置和方向。将表示得到的位置和方向的数据输出到后续级的计算机140。可以由计算机140通过处理(稍后说明)得到观察者100的视点在传感器坐标系中的位置和方向。
LCD 112接收由计算机140产生并从计算机140输出的图像信号,并且基于接收到的图像信号显示图像。在本实施例中,显示通过将由计算机140产生的虚拟空间图像叠加到由摄像机111拍摄到的实际空间图像上而得到的图像(混合真实空间图像)。由光学棱镜114将显示的图像导引到观察者的瞳孔。
图3是示出笔120的结构的视图。如图3所示,笔120包括位置/方向传感器接收器121和笔按钮122。如上所述,位置/方向传感器接收器121测量其自身在传感器坐标系中的位置和方向。实际上,位置/方向传感器接收器121测量对应于其自身的位置和方向的磁场强度。位置/方向传感器主体131根据测量到的强度得到位置/方向传感器接收器121在传感器坐标系中的位置和方向。将表示得到的位置和方向的数据输出到后续级的计算机140。在本实施例中,与笔120的位置和方向一样地处理位置/方向传感器接收器121的位置和方向。然而,本发明不限于此。
笔按钮122可以通过观察者100的操作设置为接通/关断状态。将表示每一个状态的信号输出到后续级的计算机140。
图31是示出计算机140的基本配置的框图。
CPU 3101通过使用在RAM 3102或ROM 3103中存储的程序或数据来控制整个计算机140。CPU 3101还进行处理(稍后说明)。
RAM 3102具有暂时存储从外部存储装置3106加载的程序或数据的区以及由CPU 3101使用以进行各种处理的工作区。RAM3102还具有暂时存储通过I/F 3107从外部装置接收的数据(例如从位置/方向传感器主体131接收的、表示位置/方向传感器接收器在传感器坐标系中的位置和方向的数据,或者从HMD 110的摄像机111接收的实际空间图像数据)的区。
ROM 3103存储有关计算机140的设置的引导程序和数据。
操作单元3104包括键盘和鼠标,并由操作者使用以将各种指令输入到CPU 3101。
显示单元3105包括CTR或者液晶面板,显示要在HMD 110的显示屏(图2中的LCD 112)上或者要在将由操作者使用以进行各种操作的GUI上显示的图像。
外部存储装置3106是例如硬盘驱动器的大容量存储装置。外部存储装置3106存储程序或者数据以使OS(Operating System,操作系统)或者CPU 3101进行稍后将说明的每一个处理。在CPU3101的控制下将某些或者全部程序和数据加载到RAM 3102,并由CPU 3101进行处理。在外部存储装置3106中存储的数据包括产生列表图像(稍后说明)的数据组和产生形成虚拟空间的每一个虚拟物体(图1中的复印机的虚拟物体)的图像的数据。与产生每一个部件的图像的数据相关联地保持包含在虚拟物体中的该部件的信息。以下说明中的已知数据(信息)也存储在外部存储装置3106中并在使用时被加载到RAM 3102。
I/F 3107将计算机140连接到外部装置。可以将HMD 110、位置/方向传感器主体131和网线150连接到I/F 3107。为了便于说明,在图31中简化了I/F 3107。实际上,优选根据要连接的装置设置多个I/F,并且连接对应于每一个I/F的目标。
总线3108连接上述单元。
接下来说明使具有上述配置的计算机140在HMD 110的显示屏上显示混合真实空间图像的处理。
在HMD 110中设置的摄像机111始终拍摄根据HMD 110的位置和方向所看到的实际空间的图像(运动图像)。将每一个拍摄到的帧的图像依次输出到计算机140。
位置/方向传感器发送器130在位置/方向传感器主体131的控制下产生磁场。HMD 110的位置/方向传感器接收器113和位置/方向传感器接收器121测量对应于其位置和方向的磁场强度。将表示测量到的强度的信号输出到位置/方向传感器主体131。位置/方向传感器主体131根据接收到的信号得到每一个传感器接收器在传感器坐标系中的位置和方向。即,根据由传感器接收器测量的磁场强度来确定每一个传感器接收器在传感器坐标系中的位置和方向。位置/方向传感器主体131将表示得到的位置和方向的数据输出到计算机140。
将来自HMD 110的实际空间图像的数据和来自位置/方向传感器主体131的表示传感器接收器在传感器坐标系中的位置和方向的数据通过I/F 3107输入到计算机140的RAM 3102。
通过使用预先从外部存储装置3106加载到RAM 3102的偏移数据(预先测量的、表示位置/方向传感器接收器113和摄像机111之间的位置/方向关系的数据),CPU 3101将表示位置/方向传感器接收器113在传感器坐标系中的位置和方向的数据变换为表示摄像机111在传感器坐标系中的位置和方向的数据。下文中,将摄像机111在传感器坐标系中的位置和方向处理为观察者100的视点的位置和方向。
CPU 3101将虚拟物体170布置在虚拟空间中。由已知数据预先确定布置位置和方向。如上所述,虚拟物体170包括至少一个部件。当将各部件布置在预定位置和方向时,可以将虚拟物体170布置在虚拟空间中。在虚拟空间中布置包括至少一个部件的虚拟物体的处理是已知的,省略其说明。
虚拟空间中的坐标系与传感器坐标系共用“原点和三个轴”。即,传感器坐标系与虚拟空间的坐标系匹配。因此,通过使用观察者100的视点的位置和方向的数据和预先从外部存储装置3106加载到RAM 3102的虚拟空间的数据,CPU 3101可以产生从观察者100的视点的位置和方向看的虚拟空间的图像。
虚拟空间的数据是形成虚拟空间的每一个虚拟物体的数据。虚拟物体的数据是包含在虚拟物体中的每一个部件的数据,包括:部件形状数据、纹理数据、以及表示位置和方向的数据。列表图像的数据也包含在虚拟空间的数据中。稍后说明该数据的使用。
产生从预定位置和方向看的虚拟空间的图像的处理是已知的,省略其说明。
将产生的虚拟空间图像叠加到预先存储在RAM 3102中的实际空间图像上。将叠加图像通过I/F 3107输出到HMD 110的显示屏上作为混合真实空间图像。
图5是示出混合真实空间图像的例子的视图。图5所示的图像包括图1中的复印机的虚拟物体170和作为实际物体的笔120。在本实施例中,与该图像一起显示关于包含在复印机中的每一个部件的信息。
例如,操作者将笔120移动到包含在虚拟物体170中的其中一个部件并按下笔按钮122。将表示按钮被按下的信号通过I/F 3107发送到CPU 3101。CPU 3101参考存储在RAM 3102中的表示位置/方向传感器接收器121在传感器坐标系中的位置和方向的数据,指定最接近该位置的部件。虚拟物体的数据包含每一个部件的位置数据。通过参考该数据,指定最接近笔120的位置的部件。如果在距离位置/方向传感器接收器121的位置的预定距离范围内不存在部件,则将表示没有部件可以指定的信号发送到后续级的处理。
图6是示出图像(列表图像)的例子的视图,在该图像中,当由笔120指示复印机的虚拟物体170的控制台部500时,以树形式(组件树)列出包含在控制台部500中的各部件的信息。
当指定最接近笔120的部件,并且要显示与指定的部件有关的该部件的信息时,可以仅显示该部件的信息。可选择地,由于根据各部件之间的位置/方向关系一般以父子结构(层次结构)来管理包含在虚拟物体中的部件,因此可以显示与指定的部件的子结构相对应的全部或者某些部件的信息。将列表图像布置在虚拟空间中使得可以从观察者100的视点的位置和方向看到信息描述面。当无法指定最接近位置/方向传感器接收器121的部件(如果在距位置/方向传感器接收器121的位置的预定距离范围内不存在部件)时,不显示列表清单。
所显示的信息包括包含在图6中的控制台部500中的部件(与控制台部500的子结构相对应的部件:图6中的液晶显示面板、联机按钮、排出按钮、上按钮、下按钮、左按钮和右按钮)的材料名称和纹理名称。然而,本发明不限于此,而可以显示任何其他信息。如上所述,每一个部件的信息包含在与产生该部件的图像所需的数据相关的虚拟空间的数据中。因为该原因,当指定由笔120指示的部件时,可以参考在虚拟空间的数据中的该部件的信息。因此,可以得到要在列表图像中描述的信息。
在HMD 110的显示屏上显示列表图像。操作者可以通过参考列表图像的信息来参考由笔120指示的部分的信息。当所显示的信息的条数增加时,列表图像的面积也增加。这样,难以看到虚拟物体170或者实际空间图像。在立体视觉中,当列表图像三维地与其他虚拟和实际物体重叠时,在立体视觉中产生不适的感觉。
在本实施例中,在虚拟空间中笔120的附近且比笔120更接近观察者100的视点位置的位置布置列表图像。
图7是示出当以以上方式布置并显示列表图像时的混合真实空间图像的显示例子的视图。参考图7,以半透明形式显示列表图像,不干扰操作者看到其他图像。各种技术可用于以半透明形式显示图像。例如可以使用一种控制图像的每一个像素的α值的技术。这些技术是已知的,省略其说明。
在布置列表图像时,例如将列表图像布置在将连接观察者100的视点的位置和笔120的位置的线段从内部分割为t∶(1-t)的位置,使得从观察者100的视点的位置和方向看到信息描述面。设定列表图像的方向例如与观察者的视点的方向相同。以这种方式,通过使用观察者的位置和方向以及笔的位置来得到布置列表图像的位置和方向。
对于值t,优选设定尽可能接近于1的值,以使列表图像位于笔120的位置附近。将列表图像布置在虚拟空间中之后,CPU 3101产生图像作为虚拟空间图像,在该图像中根据观察者100的视点的位置和方向看到包括虚拟物体和列表图像的虚拟空间。
当以以上方式显示列表图像时,另一个图像不会实际遮挡列表图像(组件树)。另外,在与笔120握在手中几乎相同的深度显示列表图像。因此,即使在立体视觉中,也不会由立体视觉中的显著差别引起的视差在立体视觉中产生不适的感觉。
图4是根据本实施例使CPU 3101产生混合真实空间图像并将其输出到HMD 110的显示屏的处理(主线程)的流程图。将使CPU3101根据图4中的流程图进行处理的程序存储在外部存储装置3106中。在CPU 3101的控制下将程序加载到RAM 3102,并由CPU 3101执行。将上述的已知数据预先从外部存储装置3106加载到RAM 3102。
CPU 3101起动位置/方向线程(步骤S401)和图像捕获线程(步骤S402)。线程表示在计算机140中并行处理的一系列程序。因此,由主线程和全部线程共用例如操作模式的信息。
在位置/方向线程中,获得从位置/方向传感器接收器113和121通过位置/方向传感器主体131和I/F 3107接收的位置/方向传感器接收器113和121在传感器坐标系中的位置和方向(步骤S410)。通过使用偏移数据和表示位置/方向传感器接收器113在传感器坐标系中的位置和方向的数据,CPU 3101得到观察者100的视点在传感器坐标系中的位置和方向,并将所得到的位置和方向的数据存储在RAM 3102中(步骤S403)。如果已经将表示观察者100的视点的位置和方向的数据存储在RAM 3102中,则该数据被重写并更新。
CPU 3101还将表示位置/方向传感器接收器121在传感器坐标系中的位置和方向的数据存储在RAM 3102中(步骤S403)。如果已经将表示位置/方向传感器接收器121在传感器坐标系中的位置和方向的数据存储在RAM 3102中,则该数据被重写并更新。
接下来更新虚拟空间(步骤S404)。更具体地,当虚拟空间随着时间的流逝而改变其位置、方向、以及颜色时,位置、方向和颜色的数据被更新。在本实施例中,在步骤S404中,指定与笔120的位置(即位置/方向传感器接收器121在传感器坐标系中的位置)最接近的部件。仅当指定该部件时,从虚拟空间的数据指定所指定的部件的信息。
在图5所示的例子中,将笔120移动到复印机的虚拟物体170的控制台部500的位置,并且在那里按下笔按钮122。CPU 3101将此时位置/方向传感器接收器121的位置与包含在复印机的虚拟物体170中的每一个部件的位置进行比较,以指定该部件,即最接近于位置/方向传感器接收器121的控制台部500。CPU 3101从复印机的虚拟物体170的数据中指定与控制台部500的子结构相对应的全部部件的信息。
当得到各部件的信息时,产生图6所示的列表图像,其中描述了该信息。下面说明该图像的例子。
为每一个要显示的信息准备多边形。将由字符串图像(预先创建并存储在外部存储装置3106中)表达一个部件的信息的纹理映射到该多边形,从而产生具有该部件的信息描述的平面虚拟物体。为每一个部件创建平面虚拟物体,并且通过连接各部件的平面虚拟物体来创建列表图像(列表图像也是平面虚拟物体)。管理哪个多边形具有哪个部件的信息。
将如此产生的列表图像布置在将连接位置/方向传感器接收器121的位置和观察者100的视点的位置的线段从内部分割为t:(1-t)的位置,使得从观察者100的视点的位置和方向看到信息描述面。
即,在步骤S404中,将虚拟物体170和列表图像布置在虚拟空间中。
在图像捕获线程中,获得从HMD 110的摄像机111得到的实际空间图像(步骤S420)。将该图像存储在RAM 3102的预定区中(步骤S405)。
将在步骤S404中更新的虚拟空间,即,将从观察者100的视点的位置和方向看在步骤S404中布置的虚拟物体170和列表图像的虚拟空间图像,叠加到在步骤S405中存储在RAM 3102的预定区中的实际空间图像上并绘制(步骤S406)。
在预定区中产生通过将虚拟空间图像叠加在实际空间图像上而得到的混合真实空间的图像。CPU 3101将得到的混合真实空间图像通过I/F 3107输出到HMD 110的显示屏(步骤S407)。可以将混合真实空间图像输出到显示装置3105并呈现给操作者。
判断是否通过操作单元3104输入了结束该处理的指令。如果在步骤S408中为“否”,则该处理返回步骤S403。如果在步骤S408中为“是”,则该处理结束。
图9是示出当通过以上处理布置并显示列表图像时的混合真实空间图像的显示例子的视图。
如上所述,根据本实施例,可以显示包含在虚拟物体中的每一个部件的信息,而不破坏相对于另一图像的深度的感觉。
在本实施例中,HMD 110是视频透明型(video see-throughtype)的。然而,可以使用光学透明型(optical see-through type)的HMD。在这种情况下,不需要摄像机111,也不需要输入实际空间图像的处理。因此,CPU 3101进行没有图4所示的流程图中的步骤S402、S405、S420和S407的处理。
在本实施例中,为了在HMD 110的显示屏上显示列表图像,将列表图像布置在虚拟空间中将连接位置/方向传感器接收器121的位置和观察者100的视点的位置的线段从内部进行分割的位置。即,在本实施例中,将列表图像作为3D虚拟物体来处理。然而,本发明不限于此,列表图像可以作为2D图像来处理。在这种情况下,可以将位置/方向传感器接收器121的位置投影到投影面上以在HMD 110的显示屏上显示图像,并且可以在投影位置(或者附近)显示列表图像。在显示列表图像时,将除了列表图像之外的虚拟空间图像叠加到实际空间图像上,根据图4所示的流程图在混合真实空间图像上显示列表图像。
列表图像可以作为3D虚拟物体在HMD 110的显示屏中显示,也可以作为2D图像在计算机140的显示装置3105的显示屏中显示。
为了投影图像,使用一种已知的投影变换矩阵将虚拟空间中的物体显示到显示屏上。这时,列表图像可以是窗口,其中以文本列出部件的信息。
第二实施例
在本实施例中,除了第一实施例之外,还改变列表图像的显示位置,并且打开/关闭显示。除了步骤S404中的列表图像显示处理之外,第二实施例的主线程与第一实施例相同(根据图4所示的流程图)。
图19是在步骤S404中进行的根据本实施例的列表图像显示处理的流程图。在虚拟物体图像产生之后,进行根据图19所示的流程图的处理。
判断是否设定了显示列表图像(组件树)的模式(步骤S1901)。通过操作单元3104可以设定该模式。将表示该设定模式的数据存储在RAM 3102中。因此,在步骤S1901中,通过参考该数据来判断设定了显示模式还是非显示模式。还有各种模式可以由操作单元3104来设定,将表示设定模式的数据存储在RAM 3102中。因此,在判断模式时,通过参考该数据来判断是否设定了模式。
如果设定了非显示模式,则在非显示模式保持列表图像的同时,该处理进行到步骤S1902以结束处理。在非显示模式中,实际上省略了列表图像的布置。可选择地,将列表图像移动到虚拟空间中的HMD 110的显示屏外。
如果设定了显示模式,则该处理进行到步骤S1911,以判断是否设定了用于在HMD 110的显示屏上的固定位置显示列表图像的固定模式(步骤S1911)。
如果在步骤S1911中为“是”,即,要在HMD 110的显示屏上的固定位置显示列表图像,则该处理进行到步骤S1912,以在HMD110的显示屏上的预定位置显示列表图像(步骤S1912)。
更具体地,将列表图像布置在沿视线矢量(从观察者100的视点的位置到由视点的朝向所定义的方向的具有无限长度的矢量)的方向与观察者100的视点的位置间隔预定距离的位置附近。
图11是示出当观察者100的视点的位置和方向移动时,在HMD 110的显示屏上显示的图像的例子的视图。参考图11,附图标记1001表示显示屏。如图11所示,即使当观察者100的视点的位置和方向移动而看到虚拟物体170之外的物体时,根据步骤S1912中的处理,列表图像701的显示位置不改变。
如果在步骤S1911中为“否”,则该处理进行到步骤S1921,以判断是否设定了用于在HMD 110的显示屏上显示虚拟物体的显示区域外的列表图像的模式(步骤S1921)。如果在步骤S1921中为“否”,则与第一实施例相同,该处理进行到步骤S1922进行将列表图像布置在笔120的位置附近的处理(步骤S1922)。
如果在步骤S1921中为“是”,则该处理进行到步骤S1923,以在HMD 110的显示屏上指定虚拟物体的显示区域(步骤S1923)。在HMD 110的显示屏上指定除了在步骤S1923中指定的区域之外的区域(步骤S1924)。例如,在图10所示的显示屏中,右区域是没有虚拟物体被显示的区域。
将虚拟图像布置在虚拟空间中,以使在步骤S1924中指定的区域中即在HMD 110的显示屏上除了虚拟物体的显示区域之外的区域中的适当位置(例如使列表图像和虚拟物体的显示区域之间的重叠区域最小化的位置)显示列表图像(步骤S1925)。例如,通过对HMD 110的显示屏上的虚拟空间中的适当位置进行反投影变换来得到在该适当位置的投影位置,并且在所得到的位置(或附近)布置列表图像。其结果是,如图12所示,可以布置列表图像而不与虚拟物体170的显示区域重叠。
作为步骤S1923~S1925中的详细处理的例子,通过使用矩阵(用于显示的已知矩阵)来计算显示屏上的虚拟物体的绘制范围,以将虚拟物体投影到显示屏上。计算与距所计算的范围外的最近的视线正交的平面上的位置作为列表图像的显示位置。作为另一个例子,计算虚拟物体和列表图像重叠时,从视线的位置(HMD 110的位置)到虚拟物体的中心点的方向和从该方向到中心的角度,并且计算该角度外的最近的位置作为显示列表图像的位置。
在以立体视觉显示列表图像时,根据显示深度,可能难以实现立体感。当在不与虚拟物体重叠的区域中显示列表图像时,通过以与显示虚拟物体的范围相同的范围中的深度定位列表图像,可以实现易于看到的显示而没有不适的感觉。
再次参考图19,接下来判断是否设定将列表图像放置在HMD110的显示屏中的模式(步骤S1931)。如果在步骤S1931中为“是”,则该处理进行到步骤S1932,检查在步骤S1925中确定的布置位置布置的列表图像是否从HMD 110的显示屏突出(步骤S1932)。该检查通过检查例如当将虚拟空间中的列表图像的四个角的坐标值投影在HMD 110的显示屏中时,该值是否位于显示屏中来完成。
如果列表图像从显示屏突出,则该处理进行到步骤S1933,移动列表图像在虚拟空间中的布置位置,使得列表图像的四个角的坐标值位于HMD 110的显示屏中(步骤S1933)。
使用上述功能,即使当操作者操作笔或系统不熟练时,也可以正确地显示组件树。
第三实施例
在本实施例中,增加了使在第一实施例中显示的列表图像半透明的功能。
图8是示出具有完全透明背景和不透明字符的列表图像801的显示例子的视图。根据背景,可能难以读取该字符。然而,当使用图8所示的列表图像时,比图7所示的例子更易于看到列表图像之外的图像。
图20是根据本实施例在步骤S404中进行的列表图像显示处理的流程图。在本实施例中,与第一实施例相同,列表图像是3D虚拟物体。然而,与第二实施例相同,列表图像可以是2D图像。
当沿观察者100的视线方向存在虚拟物体时,判断是否设定显示半透明列表图像的模式(步骤S2010)。通过操作单元3104可以设定该模式。将表示该设定模式的数据存储在RAM 3102中。因此,在步骤S2010中,通过参考该数据来判断设定了半透明显示模式还是非半透明显示模式。还有各种模式可以通过操作单元3104来设定,并将表示设定模式的数据存储在RAM 3102中。因此,在判断模式时,通过参考该数据来判断是否设定了模式。
如果设定了非半透明显示模式,则该处理进行到步骤S2022,通过控制多边形的α值来产生具有不透明颜色的多边形。对每一个部件进行将描述该部件的信息的纹理映射到多边形的处理(步骤S2022)。即,与第一实施例相同地产生列表图像。该处理也适用于2D列表图像。与第一实施例相同地产生列表图像。
如果要进行半透明显示,则该处理进行到步骤S2012,得到由从观察者100的视点的位置到虚拟物体的位置(例如包含在虚拟物体中的全部部件的质心)的线段A和视线矢量B(从视点的位置到由朝向定义的方向的具有无限长度的矢量)构成的角度(步骤S2012)。当得到的角度具有预定的值或者更小(优选接近于0的值)时,可以判断为沿观察者100的视线方向存在虚拟物体。该处理进行到步骤S2021,通过控制多边形的α值来产生具有透明颜色的多边形。对每一个部件进行将描述该部件的信息的纹理映射到多边形的处理,因此产生列表图像(步骤S2021)。除了字符部分之外预先将该纹理创建为透明的(将包含在除了字符部分之外的部分中的像素的α值设定为透明的)。该多边形的透明度高于步骤S2022中的多边形。
该处理也适用于2D列表图像。通过控制除了字符部分之外的像素的α值,将包含在除了字符部分之外的部分中的像素设定为透明的。
当沿观察者的视线的方向存在虚拟物体时,即当假设观察者注视虚拟物体时,显示列表图像可能干扰对虚拟物体的注视。为了防止这一点,在本实施例中,当判断为沿观察者的视线的方向存在虚拟物体时,显示具有较高透明度的列表图像。在这种情况下,可以将要由列表图像呈现的信息展示给观察者而不干扰对虚拟物体的注视。
如果在步骤S2012中得到的角度具有预定的值或更大,则该处理进行到步骤S2022。
步骤S2012或者S2020中的处理可以采用任何能达到检查沿视线的方向是否存在虚拟物体的目的的方法。更具体地,在本实施例中,得到由视线矢量B和从观察者100的视点的位置到虚拟物体的位置(例如包含在虚拟物体中的全部部件的质心位置)的线段A构成的角度。当该角度具有预定的值或更小时,判断为沿视线的方向存在虚拟物体。除此之外,当从多边形形成虚拟物体时,确定视线矢量和该多边形之间的交点。当交点存在时,可以判断为沿视线的方向存在虚拟物体。如上所述,没有特别限定方法。
在HMD 110的显示屏或者显示装置3105上显示通过以上处理而产生的列表图像。
第四实施例
在本实施例中,控制在以上实施例中对在列表图像中显示的组件树的操作和显示范围。通过使用观察者100握在手中的笔120来进行对组件树的操作。因此,必须在固定的位置显示列表图像而不跟随笔120的位置。
图21是当对在列表图像中显示的组件树进行操作时,将由CPU 3101进行的处理的流程图。在步骤S404中的全部处理操作结束之后,进行根据图21所示的流程图的处理。
计算机140的操作者看着在显示装置3105的显示屏上显示的列表图像。如果观察者100想要对显示的各部分的信息进行一些操作,则操作者通过使用包含在操作单元3104中的鼠标或者键盘来进行预定操作(例如按下或者点击预定按钮)以改变模式而允许操作。
当这种操作输入完成时,将该操作的指令发送到CPU 3101。CPU 3101总是接收指令(步骤S2101)。当输入操作指令时,即当CPU 3101检测到指令时(步骤S2111),该处理进行到步骤S2112,设定允许操作的模式(步骤S2112)。实际上,将表示该模式的数据存储在RAM 3102中。在检测到指令时,CPU 3101对数据设置表示“允许操作的模式”的值,从而设定允许操作的模式。
CPU 3101通过参考表示该模式的数据来检查是否设定了允许操作的模式(组件树操作模式)(步骤S2121)。如果在步骤S2121中为“是”,则该处理进行到步骤S2122,进行稍后将说明的处理。如果设定了不允许操作的模式(正常模式),则该处理进行到步骤S2123,进行与第一实施例相同的处理。即在正常模式中,第四实施例与第一实施例相同。
使用该配置,当在屏上没有显示组件树时,可以防止任何对组件树的错误的不希望的操作。
接下来详细说明步骤S2122中的处理。
图22是示出步骤S2122中的详细处理的流程图。
与一般的CAD系统相同,可以对由列表图像表示的各部件的信息,即所谓的组件树进行各种操作。下面说明该各种操作中的一些操作。还可以对由列表图像表示的某些信息进行其他操作。
判断当列表图像位于HMD 110的显示屏外时,是否设定了禁止对组件树的操作的模式(步骤S2241)。
通过操作单元3104可以设定该模式。将表示该设定模式的数据存储在RAM 3102中。因此,在步骤S2241中,通过参考该数据来判断是否设定了禁止模式。
如果在步骤S2241中为“是”,则该处理进行到步骤S2242,判断列表图像是否位于HMD 110的显示屏中(步骤S2242)。该判断通过检查例如当将虚拟空间中的列表图像的四个角的坐标值投影在HMD 110的显示屏中时,该值是否位于显示屏中来完成。对于投影,使用已知的投影变换矩阵将虚拟空间中的物体显示到显示屏上。
如果判断为该值在显示屏外(列表图像从HMD 110的显示屏突出),则该处理进行到步骤S2243,禁止对组件树的操作(步骤S2243)。即,禁止对由列表图像表示的每一个信息的任何操作。因此,在该步骤中,CPU 3101停止从笔120接收对组件树的任何操作。
如果在步骤S2241中为“否”或者在步骤S2242中为“否”,则该处理进行到步骤S2244,使CPU 3101接收对组件树的操作(步骤S2244)。
将表示笔120在传感器坐标系中的位置和方向的数据存储在RAM 3102中。将该数据变换并投影到投影面上以得到笔120在HMD 110的显示屏上的位置(步骤S2211)。另外,以同样的方式通过投影处理得到形成列表图像的每一个多边形的四个角在HMD110的显示屏中的位置。指定笔120在屏幕中的位置位于哪个多边形中,即笔120指示哪个部件的信息(步骤S2212)。
CPU 3101检查是否通过I/F 3107输入了表示笔按钮122被按下的信号(步骤S2213)。如果在步骤S2213中为“是”,则该处理进行到步骤S2214,使与笔120的位置指示的多边形中所描述的信息相对应的部件的虚拟物体(平面虚拟物体)闪烁(步骤S2214)。更具体地,如上所述,管理哪个平面虚拟物体具有关于哪个部件的信息。另外,每一个部件的信息与产生该部件的图像所需的数据相关。当可以指定由笔120的位置指示的平面虚拟物体时,通过参考该相关性来指定与在所指定的平面虚拟物体中描述的信息相对应的部件的虚拟物体。因此,可以以闪烁的状态显示该部分的虚拟物体。本发明不限于闪烁显示。当可以从视觉上识别由笔120的位置指示的部分的虚拟物体时,可以进行任何其他显示。
图27是示出显示例子的视图,在该显示例子中,当由笔120的位置在列表图像2701中指示具有说明文字“上纸盒”的平面虚拟物体2711时,复印机的虚拟物体170中的对应部件2712闪烁。
在列表图像中列出包含在设备“打印机X”中的部件的名称。笔120位于平面虚拟物体2711的显示区域中。另外,按下笔按钮122。因此,对应部件2712的虚拟物体(“上纸盒”)闪烁。
接下来,说明根据笔120的位置和虚拟物体170之间的距离来判断在包含在虚拟物体170中的部件的父/子结构中由列表图像呈现直到哪个层级为止的处理。
图24是示出当将笔120移至接近复印机的虚拟物体170时所显示的列表图像的显示例子的视图。在这种情况下,在包含在虚拟物体170(打印机X)中的部件的父/子结构中,在列表图像2401中仅显示最上层的部件的名称。参考图24,显示“控制台模块”、“右侧面板”、“上纸盒”、“下纸盒”、以及“排纸盘”。
图25是示出当进一步将笔120移至接近控制台模块500时的列表图像的显示例子的视图。在列表图像2501中仅显示与控制台模块500的子结构相对应的部件(属于紧接在控制台模块500所属的层下面的层的部件)的名称。参考图25,显示“液晶显示面板”、“联机按钮”、“上按钮”、“下按钮”、“右按钮”、以及“左按钮”。图25仅示出包含在控制台模块500中的部件的名称。可以在保持显示图24所示的层的同时,显示包含在控制台模块500中的部件的名称。
图23是根据笔120的位置和虚拟物体之间的距离来判断在包含在虚拟物体中的部件的父/子结构中由列表图像呈现直到哪一个层级为止的处理的流程图。在产生列表图像时进行根据图23所示的流程图的处理。
当列表图像位于HMD 110的显示屏外时,判断是否设定禁止对组件树的操作的模式(步骤S2241)。
通过操作单元3104可以设定该模式。将表示该设定模式的数据存储在RAM 3102中。因此,在步骤S2241中,通过参考该数据来判断是否设定了禁止模式。
如果在步骤S2241中为“是”,则该处理进行到步骤S2242,判断列表图像是否位于HMD 110的显示屏中(步骤S2242)。该判断通过检查例如当将虚拟空间中的列表图像的四个角的坐标值投影在HMD 110的显示屏中时,该值是否位于显示屏中来完成。对于投影,使用已知的投影变换矩阵将虚拟空间中的物体显示到显示屏上。
如果判断为该值在显示屏外(列表图像从HMD 110的显示屏突出,则该处理进行到步骤S2243,禁止对组件树的操作(步骤S2243)。即,禁止对由列表图像表示的每一个信息的任何操作。因此,在该步骤中,CPU 3101停止从笔120接收对组件树的任何操作。
如果在步骤S2241中为“否”,或者在步骤S2242中为“否”,则该处理进行到步骤S2244,使CPU 3101接收对组件树的操作(步骤S2244)。
接下来,指定与笔120的位置(位置/方向传感器接收器121在传感器坐标系中的位置)最接近的部件(步骤S2301)。例如对于包含在虚拟物体中的部件的父/子结构的最上层中的部件,即对于最粗略地划分的部件(在虚拟物体170中,图24所示的列表图像中显示的部件),指定与笔120的位置最接近的部件。“最粗略地划分的部件”(父部件)中的每一个具有至少一个对应于子结构的部件(子部件)。使用包含在父部件中的子部分的位置的质心作为父部件的位置。对全部父部件进行得到质心和笔120的位置之间的距离的处理,从而指定与笔120的位置最接近的父部件。
参考所指定的部件和笔120之间的距离(步骤S2302)。根据所参考的距离来判断将显示到哪一层(步骤S2303)。
图13是示出包含在虚拟物体A中的部件的组件树的视图。将这种组件树存储在外部存储装置3106中作为显示虚拟物体A的数据。将虚拟物体A粗略地划分为部件A1、部件A2和部件A3。部件A1、部件A2和部件A3所属的层称为层1。
部件A2包括部件A21和部件A22。部件A3包括部件A31、部件A32和部件A33。部件A21、部件A22、部件A31、部件A32和部件A33所属的层称为层2。
部件A22包括部件A221和部件A222。部件A221和部件A222所属的层称为层3。
如上所述,一般基于部件之间的父/子关系用层次结构来管理虚拟物体。可以由部件所属的层来表示该部件在层次结构中的位置。
在步骤S2303中,根据笔120和在步骤S2301中指定的部件之间的距离来判断是显示属于层0和1的部件的信息、显示属于层0~2的部件的信息、还是显示属于层0~3的部件的信息。例如,当距离是50cm或者更大时,仅显示属于层0和1的部件的信息。当距离是25~50cm时,显示属于层0~2的部件的信息。当距离是25cm或者更小时,显示属于层0~3的部件的信息。以这种方式,随着距离减小,显示属于更低层的部件的信息。
因此,在组件树中,确定应当显示其信息的部件的层相当于选择层之间的节点。
在步骤S2303中确定要显示的层。接下来,如上所述,通过使用属于要显示的层的部件的信息来产生列表图像(步骤S2304)。
图26是示出由手势指出的部件的列表图像的显示例子的视图。当移动笔120以围绕与所要选择的节点相对应的虚拟部分时,选择了显示细节的节点。在本例子中,选择上纸盒。其结果是,显示组件树2601。
参考图28所示的流程图来说明该处理的流程。图28是显示由手势指出的部分的列表图像的处理的流程图。实际上,在步骤S404中进行该处理。
判断当列表图像位于HMD 110的显示屏外时,是否设定禁止对组件树的操作的模式(步骤S2241)。
通过操作单元3104可以设定该模式。将表示该设定模式的数据存储在RAM 3102中。因此,在步骤S2241中,通过参考该数据来判断是否设定了禁止模式。
如果在步骤S2241中为“是”,则该处理进行到步骤S2242,判断列表图像是否位于HMD 110的显示屏中(步骤S2242)。该判断通过检查例如当将虚拟空间中的列表图像的四个角的坐标值投影在HMD 110的显示屏中时,该值是否位于显示屏中来完成。对于投影,使用已知的投影变换矩阵将虚拟空间中的物体显示到显示屏上。
如果判断为该值在显示屏外(列表图像从HMD 110的显示屏突出),则该处理进行到步骤S2243以禁止对组件树的操作(步骤S2243)。即,禁止对由列表图像表示的每一个信息的任何操作。因此,在该步骤中,CPU 3101停止从笔120接收对组件树的任何操作。
如果在步骤S2241中为“否”或者在步骤S2242中为“否”,则该处理进行到步骤S2244,使CPU 3101接收对组件树的操作(步骤S2244)。
接下来,判断存在/不存在手势输入(步骤S2801)。如果没有进行手势输入,则结束选择要显示细节的节点。识别存在/不存在手势输入是一种已知的技术。在本实施例中,例如,一直监视笔120的运动,并且进行轨迹和圆、三角形或者矩形之间的图案匹配。当图案匹配时,识别为存在手势。可选择地,当笔左右或上下往复运动时,可以通过识别在预定时间内预定次数或更多次数的沿相反方向的预定距离或更大距离的运动来检测存在/不存在手势输入。
如果在步骤S2801中为“是”,则判断手势是否选择了详细显示节点(步骤S2802)。在本实施例中,通过画圆来选择详细显示节点(步骤S2803)。
如果在步骤S2802中为“是”,则选择最接近笔120的节点(步骤S2803)。如上所述,也可以根据部件和笔120的位置之间的距离来选择节点的层。
更新组件树的显示内容以详细显示所选择的节点(步骤S2804)。
使用以上处理,通过手势可以容易地选择要详细显示的节点。
当还沿由图29中的点线所表示的深度方向指定位置时,除了参考图26所示的手势之外,还可以更详细地指定目标节点。
当在由手势指定节点时显示半透明的CAD数据时,可以指定没有在外观上出现的部件的节点。
在半透明处理中,可以随着时间从笔附近的部分向外扩展半透明区域。使用该处理,可以尽可能地保持CAD数据的可容易识别的不透明状态。为了用笔指定更宽的范围,使笔位于一个点并持续长时间,从而可以用笔指定位置和方向。
当将距笔预定距离的范围设定为半透明时,可以便于用笔指定位置。当根据目标CAD数据的大小来调整要设定为透明的距离时,可以建立更便利的系统。
第五实施例
在本实施例中,除了上述实施例之外,还调整列表图像显示。
在混合真实系统中,一般难以获得例如人手的运动真实物体的准确的深度信息。因此,仅通过在真实图像(实际空间图像)上重写虚拟空间图像来基本完成复合。
由于此原因,即使当实际物体位于虚拟物体的前面时,实际物体也经常被虚拟物体的图像遮挡。然而,在实际使用时观察者的手是很显著的。因此,进行例如识别肉色并禁止将虚拟空间图像叠加在仅是手部分的真实图像上的处理。
当将该处理加到第一实施例的处理时,可以得到如图15所示的混合真实空间图像。
图16是在实际空间图像(真实图像)中遮盖手区域的处理的流程图。在步骤S405中由RAM 3102获得实际空间图像之后,进行根据图16所示的流程图的处理。
如上所述,图像捕获线程在步骤S420中获得从HMD 110的摄像机111得到的实际空间图像。将该图像存储在RAM 3102的预定区中(步骤S1601)。将在外部存储装置3106中预先注册为“手的颜色”的颜色数据加载到RAM 3102(可以预先进行加载)。通过使用该数据在步骤S1601中获得的实际空间图像中指定具有“手的颜色”的像素,并且指定由指定的像素形成的区域(下文中称为“手区域”)(步骤S1602)。
当表示“手的颜色”的数据表示“表示手的颜色的像素值”时,在步骤S1602中指定具有该像素值的像素。然而,“手的颜色”可能由于外环境的光线的状况以及手和光线之间的角度而变化。因此,表示“手的颜色”的数据可以表示“表示手的颜色的像素值的范围”。在这种情况下,在步骤S1602中指定具有在该范围中的像素值的像素。
产生在实际空间图像中表示手区域的图像(遮盖图像)(步骤S1603)。将在步骤S1601中获得的实际空间图像绘制在RAM 3102的预定区中(步骤S1604)。将遮盖图像写入RAM 3102的Z缓冲器(深度缓冲器)中(步骤S1605)。
正如已知的,在步骤S1605中的处理中,将手区域的每一个像素的Z值(当从视点的位置沿视线方向设置Z轴时,沿视线方向Z值增大)写入Z缓冲器。将Z值设置在例如视点的位置附近。为了稍后将虚拟图像叠加到实际空间上,参考Z缓冲器。由于仅绘制具有比在Z缓冲器中注册的Z值大的Z值的部分,因此如图15所示,没有将虚拟空间叠加在手区域上。
可以使用各种方法来禁止将虚拟空间图像绘制在手区域上,本发明不限于上述方法。当在计算机140中安装已知的3D图形加速器时,3D图形加速器通过使用Z缓冲器来遮盖特定的区域。
然而,在列表图像中显示组件树通常比显示手更重要。在这种情况下,必须以高于手的优先级显示组件树。下面说明实现这一点的方法。
图18是在列表图像和手区域之间进行切换以优先显示其中一个的处理的流程图。可以在步骤S401之前进行根据图18所示的流程图的处理,即接收用于切换的操作。可选择地,可以在处理期间一直接收该操作。
CPU 3101监视输入是否完成以指示以高于手区域的优先级显示列表图像(在手区域的前面显示列表图像)(步骤S1801)。通过使用操作单元3104可以完成该输入。可选择地,可以通过按下在笔120上设置的笔按钮122来输入指令。
当CPU 3101检测到输入(步骤S1802)时,该处理进行到步骤S1803。当表示应当以高于列表图像的优先级显示手区域的标记(状态)当前为ON时,关闭(off)该标记。当该标记当前为OFF时,打开(on)该标记(步骤S1803)。将该标记的数据存储在RAM 3102中。在该步骤中,通过参考该数据来得到当前状态,并且控制该标记的ON/OFF。
图17是通过参考标记在列表图像和手区域之间进行切换以优先显示其中一个的处理的流程图。在步骤S406中进行根据图17所示的流程图的处理。
与第一实施例相同,在步骤S405中将图像绘制在预先存储在RAM 3102的预定区中的实际空间图像上。这时,绘制除了列表图像之外的虚拟物体图像(步骤S1701)。
通过参考在步骤S1803中切换的标记来判断是否以高于手区域的优先级显示(绘制)列表图像(步骤S1702)。如果在步骤S1702中为“是”,则该处理进行到步骤S1704,将列表图像绘制在在步骤S1701中绘制的图像上而不绘制Z缓冲器。其结果是,如图14所示,以高于手区域的优先级绘制列表图像。
如果在步骤S1702中为“否”,则该处理进行到步骤S1703,在参考Z缓冲器的同时将列表图像绘制在在步骤S1701中绘制的图像上。如上所述,将手区域的每一个像素的“最接近视点的位置”的Z值记录在Z缓冲器中。参考该Z值,而不绘制具有表示深度比该Z值大的Z值的像素。其结果是,以高于列表图像的优先级绘制手区域。
如上所述,可以在手区域和列表图像之间切换显示的优选级。然而,因为总是优先绘制手区域和列表图像中的一个,所以该机制不总是足够的。
下面说明设置如下模式的处理:根据需要以高于列表图像的优先级显示手区域的模式;在从笔或手区域的位置移动的偏移位置显示列表图像的模式;以及在同时显示列表图像和手区域的同时,将列表图像的透明度设置为高到可以通过该列表图像看到手的模式,可以在确认手或笔的同时进行操作。
图30是关于手区域和列表图像的显示的处理的流程图。在步骤S405中的列表图像显示之前进行根据图30所示的流程图的处理。
计算机140的操作者看着在显示装置3105的显示屏上显示的列表图像。如果观察者100想要对显示的各部件的信息进行一些操作,则操作者通过使用包含在操作单元3104中的鼠标或者键盘进行预定操作(例如按下或者点击预定按钮)来改变模式从而允许操作。
当完成这种操作输入时,将操作发出的指令发送到CPU3101。CPU 3101总是接收指令。当输入操作指令时,即当CPU3101检测到指令(步骤S3001)时,该处理进行到步骤S3003,进行设置以与第四实施例相同地进行步骤S2122中的处理(根据图22所示的流程图的处理)。显示不必总是与第四实施例相同。可以简单地将列表图像显示在任意位置。
如果在步骤S3001中为“否”,则该处理进行到步骤S3002,判断是否正在操作笔120(步骤S3002)。例如,当在预定时间(例如3秒)内笔120的位置和方向没有变化预定的量或者更多,并且/或者在预定时间内没有按下笔按钮122时,判断为“没有正在操作”笔120。
如果在步骤S3002中为“否”,则该处理进行到步骤S3003,进行上述处理。
如果在步骤S3002中为“是”,则该处理进行到步骤S3011,通过参考标记来判断是否以高于手区域的优先级来显示(绘制)列表图像(步骤S3011)。
如果在步骤S3011中为“是”,则该处理进行到步骤S3012,进行设置以在参考Z缓冲器的同时将列表图像绘制在已绘制的图像上(步骤S3012)。
如果在步骤S3011为“否”,则该处理进行到步骤S3013,进行设置以将列表图像绘制在已绘制的图像上而不参考Z缓冲器(步骤S3013)。
判断是否设定将列表图像布置在从图像上的笔120的位置偏移的位置(偏移位置)的模式(步骤S3021)。与其他模式相同,可以改变该模式设置。将表示该设定模式的数据存储在RAM 3102中。
如果在步骤S3021中为“是”,则该处理进行到步骤S3022,进行设置以将列表图像布置在虚拟空间中从笔120的位置偏移预定距离的位置(步骤S3022)。
如果在步骤S3021中为“否”,则该处理进行到步骤S3023进行设置,与第一实施例相同地布置列表图像(步骤S3023)。
判断是否设定显示半透明列表图像的模式(步骤S3031)。通过操作单元3104可以设定该模式。将表示该设定模式的数据存储在RAM 3102中。因此,在步骤S3031中,通过参考该数据来判断是否设定半透明显示模式。
如果在步骤S3031中为“否”,则该处理进行到步骤S3033,通过控制多边形的α值来产生具有不透明颜色的多边形。对每一个部件进行将描述该部件的信息的纹理映射到该多边形的处理(步骤S3033)。即,与第一实施例相同地产生列表图像。该处理也适用于2D列表图像。与第一实施例相同地产生列表图像。
如果在步骤S3031中为“是”,则该处理进行到步骤S3032,通过控制多边形的α值来产生具有透明颜色的多边形。对每一个部件进行将描述该部件的信息的纹理映射到该多边形的处理,因此产生列表图像(步骤S3032)。除了字符部分之外,将该纹理预先创建为透明的(将包含在除了字符部分之外的部分中的像素的α值设定为透明的)。
以上述配置,可以在笔操作期间显示组件树并确认手的同时进行操作。
可以适当地组合以上实施例。在这种情况下,以上述在实施例中的顺序进行实施例中的处理操作。因为对本领域技术人员是明显的,所以当组合实施例时,可以根据需要更改实施例,从而较早地进行要较早进行的处理。
其他实施例
还可以通过以下方式实现本发明的目的:向系统或设备提供记录有用于实现上述实施例的功能的软件程序代码的记录介质(或者存储介质),使系统或设备的计算机(或者CPU或MPU)读出并执行在记录介质中存储的程序代码。在这种情况下,从记录介质读出的程序代码通过其自身来实现上述实施例的功能,存储程序代码的记录介质构成本发明。
不仅当由计算机执行读出的程序代码时,而且当在计算机上运行的操作系统(OS)根据程序代码的指令进行部分或全部实际处理时,实现上述实施例的功能。
当将从存储介质读出的程序代码写入插入计算机的功能扩展板或者连接到计算机的功能扩展单元的存储器,并且功能扩展板或者功能扩展单元的CPU根据程序代码的指令进行部分或者全部实际处理时,也实现上述实施例的功能。
当将本发明应用于记录介质时,记录介质存储对应于上述流程图(功能配置)的程序代码。
由于在不脱离本发明的精神和范围的情况下,显然可以做出本发明的很多明显不同的实施例,因此应当理解,除了在权利要求书中限定之外,本发明不限于其具体实施例。
优先权要求
本申请要求于2004年5月27日提交的日本专利申请2004-158025和2004年5月27日提交的日本专利申请2004-158026的优先权,其全部内容在此引入作为参考。
Claims (17)
1.一种图像处理方法,其产生由包括至少一个部件的虚拟物体形成的虚拟空间的图像,其特征在于,所述图像处理方法包括:
第一获取步骤,其获取观察者的视点的位置和方向;
第二获取步骤,其获取由所述观察者佩戴在手上以进行各种操作的指示装置的位置和方向;
布置步骤,其将用于显示与所述部件有关的信息的列表的列表图像布置在所述第二获取步骤获取的位置附近;
虚拟空间图像产生步骤,其产生根据所述视点的位置和方向看的在布置所述列表图像之后的虚拟空间的图像;以及
输出步骤,其将所述虚拟空间图像产生步骤产生的图像输出到预定显示装置。
2.根据权利要求1所述的图像处理方法,其特征在于,在所述布置步骤中,使在其上描述关于所述部件的信息的所述列表图像的平面从所述视点的位置和方向可见地布置所述列表图像。
3.根据权利要求1所述的图像处理方法,其特征在于,在所述布置步骤中,将所述列表图像布置在将连接所述第一获取步骤获取的位置和所述第二获取步骤获取的位置的线段内分为t:(1-t)的位置。
4.根据权利要求1所述的图像处理方法,其特征在于,还包括布置控制步骤,该布置控制步骤根据是否显示所述列表图像的指令来控制所述布置步骤中的处理,以切换是否在所述虚拟空间图像中包含所述列表图像。
5.根据权利要求1所述的图像处理方法,其特征在于,还包括转换步骤,该转换步骤根据将所述列表图像改变为半透明图像的指令将所述列表图像转换为半透明图像。
6.根据权利要求1所述的图像处理方法,其特征在于,还包括:
判断步骤,其根据所述视点的位置和方向以及所述虚拟物体的位置来判断沿所述视点的视线方向是否存在所述虚拟物体;以及
透明度控制步骤,其当所述判断步骤判断为存在所述虚拟物体时,使所述列表图像的透明度高于当所述判断步骤判断为不存在所述虚拟物体时的透明度。
7.根据权利要求1所述的图像处理方法,其特征在于,还包括:
距离计算步骤,其计算所述指示装置的位置和所述虚拟物体的位置之间的距离;以及
列表图像产生步骤,其产生用于显示与如下部件有关的信息的列表的列表图像,所述部件是在包含在所述虚拟物体中的部件的层次结构中直到与所述距离计算步骤计算的距离相对应的层级的部件。
8.根据权利要求1所述的图像处理方法,其特征在于,所述列表图像是用于显示与如下部件有关的信息的列表的图像,所述部件是在包含在所述虚拟物体中的部件中与所述第二获取步骤获取的所述指示装置的位置最近的位置处的部件。
9.根据权利要求1所述的图像处理方法,其特征在于,在所述虚拟空间图像产生步骤中,当所述列表图像与实际空间图像获取步骤获取的实际空间图像中的手区域重叠时,根据用于指定所述手区域和所述列表图像中的哪一个应该绘制在前面的优先级数据来产生所述虚拟空间的图像。
10.根据权利要求9所述的图像处理方法,其特征在于,还包括指定步骤,该指定步骤指定所述手区域和所述列表图像中的哪一个应该绘制在前面,
其中,在该指定步骤中,将所指定的内容设定为优先级数据。
11.一种图像处理方法,其产生对应于观察者的位置和方向的虚拟图像,并将该虚拟图像与对应于所述观察者的位置和方向的实际图像合成,所述图像处理方法包括:
获取所述观察者的位置和方向;
根据所述观察者的位置和方向产生所述虚拟图像;以及
将对应于所述观察者的位置和方向的所述实际图像与所述虚拟图像合成,其特征在于,包括:
获取由所述观察者操作的指示装置的位置;
识别所述指示装置指示的部件;
产生用于显示与识别出的部件有关的信息的部件信息虚拟图像;以及
根据所述指示装置的位置来确定所述部件信息虚拟图像的布置位置。
12.根据权利要求11所述的图像处理方法,其特征在于,根据所述指示装置的位置和所述观察者的位置和方向来确定所述布置位置。
13.根据权利要求11所述的图像处理方法,其特征在于,与部件有关的信息包括与识别出的部件相关的多个部件的列表。
14.一种图像处理设备,其产生由包括至少一个部件的虚拟物体形成的虚拟空间的图像,其特征在于,所述图像处理设备包括:
第一获取单元,用于获取观察者的视点的位置和方向;
第二获取单元,用于获取由所述观察者佩戴在手上以进行各种操作的指示装置的位置和方向;
布置单元,其将用于显示与所述部件有关的信息的列表的列表图像布置在所述第二获取单元获取的位置附近;
虚拟空间图像产生单元,其产生根据所述视点的位置和方向看的在布置所述列表图像之后的虚拟空间的图像;以及
输出单元,其将所述虚拟空间图像产生单元产生的图像输出到预定显示装置。
15.一种图像处理设备,其产生对应于观察者的位置和方向的虚拟图像,并将该虚拟图像与对应于所述观察者的位置和方向的实际图像合成,所述图像处理设备包括:
获取单元,用于获取所述观察者的位置和方向;
产生单元,用于根据所述观察者的位置和方向来产生所述虚拟图像;以及
合成单元,用于将对应于所述观察者的位置和方向的所述实际图像与所述虚拟图像合成,其特征在于,包括:
获取单元,用于获取由所述操作者操作的指示装置的位置;
识别单元,用于识别由所述指示装置指示的部件;
产生单元,用于产生用于显示与识别出的部件有关的信息的部件信息虚拟图像;以及
确定单元,用于根据所述指示装置的位置来确定所述部件信息虚拟图像的布置位置。
16.一种程序,其特征在于,使计算机执行根据权利要求1所述的图像处理方法。
17.一种程序,其特征在于,使计算机执行根据权利要求11所述的图像处理方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP158026/2004 | 2004-05-27 | ||
JP2004158025A JP2005339266A (ja) | 2004-05-27 | 2004-05-27 | 情報処理方法、情報処理装置、撮像装置 |
JP158025/2004 | 2004-05-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1914646A true CN1914646A (zh) | 2007-02-14 |
Family
ID=35492759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200580003841 Pending CN1914646A (zh) | 2004-05-27 | 2005-05-23 | 信息处理方法、信息处理设备及摄像设备 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2005339266A (zh) |
CN (1) | CN1914646A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102207819A (zh) * | 2010-03-29 | 2011-10-05 | 索尼公司 | 信息处理器、信息处理方法和程序 |
CN102221878A (zh) * | 2010-04-19 | 2011-10-19 | 索尼公司 | 图像处理系统、图像处理装置、图像处理方法及程序 |
CN102999160A (zh) * | 2011-10-14 | 2013-03-27 | 微软公司 | 混合现实显示器中用户控制的现实对象的消失 |
CN104750243A (zh) * | 2013-12-27 | 2015-07-01 | 日立麦克赛尔株式会社 | 图像投影装置 |
CN109313500A (zh) * | 2016-06-09 | 2019-02-05 | 微软技术许可有限责任公司 | 纤细形状因子的无源光学和惯性跟踪 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4233598B1 (ja) * | 2008-04-04 | 2009-03-04 | 株式会社コナミデジタルエンタテインメント | 画像処理プログラム、画像処理装置、および画像処理方法 |
JP5574853B2 (ja) * | 2010-06-30 | 2014-08-20 | キヤノン株式会社 | 画像処理システム、情報処理装置、画像処理方法、情報処理方法及びプログラム |
JP5574854B2 (ja) * | 2010-06-30 | 2014-08-20 | キヤノン株式会社 | 情報処理システム、情報処理装置、情報処理方法及びプログラム |
JP6075110B2 (ja) * | 2013-02-21 | 2017-02-08 | 富士通株式会社 | 画像処理装置、画像処理方法および画像処理プログラム |
JP6390260B2 (ja) | 2014-08-15 | 2018-09-19 | 富士通株式会社 | 画像処理装置、画像処理方法および画像処理プログラム |
JP6346585B2 (ja) * | 2015-04-06 | 2018-06-20 | 日本電信電話株式会社 | 操作支援装置、及びプログラム |
JP6507827B2 (ja) * | 2015-04-28 | 2019-05-08 | 京セラドキュメントソリューションズ株式会社 | 表示システム |
WO2017051564A1 (ja) * | 2015-09-25 | 2017-03-30 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置 |
US20190212962A1 (en) * | 2017-07-14 | 2019-07-11 | Kyocera Document Solutions Inc. | Display device and display system |
-
2004
- 2004-05-27 JP JP2004158025A patent/JP2005339266A/ja not_active Withdrawn
-
2005
- 2005-05-23 CN CN 200580003841 patent/CN1914646A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102207819A (zh) * | 2010-03-29 | 2011-10-05 | 索尼公司 | 信息处理器、信息处理方法和程序 |
CN102221878A (zh) * | 2010-04-19 | 2011-10-19 | 索尼公司 | 图像处理系统、图像处理装置、图像处理方法及程序 |
CN102999160A (zh) * | 2011-10-14 | 2013-03-27 | 微软公司 | 混合现实显示器中用户控制的现实对象的消失 |
CN102999160B (zh) * | 2011-10-14 | 2016-01-27 | 微软技术许可有限责任公司 | 混合现实显示器中用户控制的现实对象的消失 |
US9255813B2 (en) | 2011-10-14 | 2016-02-09 | Microsoft Technology Licensing, Llc | User controlled real object disappearance in a mixed reality display |
US10132633B2 (en) | 2011-10-14 | 2018-11-20 | Microsoft Technology Licensing, Llc | User controlled real object disappearance in a mixed reality display |
CN104750243A (zh) * | 2013-12-27 | 2015-07-01 | 日立麦克赛尔株式会社 | 图像投影装置 |
CN104750243B (zh) * | 2013-12-27 | 2018-02-23 | 日立麦克赛尔株式会社 | 图像投影装置 |
CN109313500A (zh) * | 2016-06-09 | 2019-02-05 | 微软技术许可有限责任公司 | 纤细形状因子的无源光学和惯性跟踪 |
Also Published As
Publication number | Publication date |
---|---|
JP2005339266A (ja) | 2005-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1914646A (zh) | 信息处理方法、信息处理设备及摄像设备 | |
CN1707308A (zh) | 头戴式显示装置 | |
CN1210543C (zh) | 传感器校准装置及方法、程序、信息处理方法及装置 | |
US11301034B2 (en) | Display device, control method for display device, and computer program | |
CN1815409A (zh) | 系统、图像处理装置及信息处理方法 | |
CN1288174A (zh) | 面部影象摄影装置和面部影象摄影方法 | |
CN1667566A (zh) | 坐标输入装置及其控制方法 | |
CN1295658C (zh) | 图象显示系统 | |
CN101067762A (zh) | 信息处理设备及其控制方法和图像处理设备 | |
CN1910500A (zh) | 三维显示方法、装置及程序 | |
CN101065766A (zh) | 视觉中心自助式服务机 | |
CN1208190A (zh) | 光扫描型触摸屏 | |
CN1725828A (zh) | 信息显示系统 | |
CN1475897A (zh) | 坐标输入装置及其控制方法、程序 | |
CN1855150A (zh) | 图像处理设备、图像处理方法、以及程序和记录介质 | |
CN1918532A (zh) | 自容交互式视频显示系统 | |
JP6277673B2 (ja) | 頭部装着型表示装置および頭部装着型表示装置の制御方法 | |
CN1923326A (zh) | 信息处理系统和程序 | |
CN1655700A (zh) | 利用计算机网络进行浏览、储存和传输服装模型的方法和设备 | |
CN1939208A (zh) | 眼底观察装置、眼底图像显示装置及存储眼底观察程序的存储媒体 | |
CN1551033A (zh) | 用于分析管状结构例如血管的处理器 | |
CN1749808A (zh) | 立体图像显示装置 | |
CN1786905A (zh) | Gui程序、数据处理装置与对象的操作方法 | |
CN1810207A (zh) | 作业指示系统、作业指示方法、疲劳度判定装置及方法 | |
CN1153362A (zh) | 产生三维图象计算深度信息和用其进行图象处理的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20070214 |