專利名稱:信息處理方法、信息處理設(shè)備及攝像設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種產(chǎn)生從包含至少一個部件的虛擬物體形成的虛擬空間的圖像的技術(shù)。
背景技術(shù):
在迄今為止的混合真實系統(tǒng)中,對于觀察者,一般使用一種已知的混合有實際空間和虛擬空間的混合真實空間,即以可從Polhemus(美國)得到的FASTRAK(商標(biāo))為代表的位置/方向測量裝置來獲得觀察混合真實空間時的視點位置和視線的方向(例如美國第6,522,312號專利)。
通常使用具有攝像機(jī)的HMD(Head Mounted Display,頭部安裝顯示器)作為攝像/顯示裝置。還通過在HMD中分離地設(shè)置左和右攝像系統(tǒng)和顯示系統(tǒng)來實現(xiàn)由雙眼視差所產(chǎn)生的立體視覺。
對于上述混合真實系統(tǒng),本發(fā)明已經(jīng)提出了一種技術(shù),這種技術(shù)將虛擬空間中的CAD數(shù)據(jù)作為虛擬物體布置在該虛擬空間中,產(chǎn)生通過從視點位置和視線的方向觀看該虛擬物體所得到的圖像,并且在HMD上設(shè)置的顯示裝置上顯示該圖像。當(dāng)在實際空間圖像中顯示對應(yīng)于虛擬CAD數(shù)據(jù)的虛擬物體時,可以容易并且隨意地移動視點。另外,由于將虛擬物體與實際空間圖像合成,因此可以得到對虛擬物體的比例感,可以進(jìn)行更真實的顯示。
另一方面,傳統(tǒng)的使用非混合真實系統(tǒng)的CAD系統(tǒng)具有一種顯示組件樹的重要功能。從組件樹選擇并操作設(shè)計目標(biāo)物體中的每一個部件。當(dāng)使用組件樹時,可以一次對多個一體化的組件進(jìn)行公共操作。
然而,在混合真實系統(tǒng)中,一般在HMD上設(shè)置的顯示裝置上顯示實際空間圖像。因此,顯示各種信息的顯示區(qū)域小。這也是由HMD的顯示裝置的小顯示區(qū)導(dǎo)致的。
當(dāng)通過使用立體HMD來實現(xiàn)立體視覺,而不小心顯示組件樹時,在立體視覺中產(chǎn)生不適的感覺。
發(fā)明內(nèi)容
本發(fā)明是考慮到上述問題而做出的,其目的在于提供一種技術(shù),用于當(dāng)將包含至少一個部件并被疊加在實際空間上的虛擬物體呈現(xiàn)給觀察者時,顯示與部件有關(guān)的信息而不破壞相對于另一圖像的深度感。
本發(fā)明的另一目的在于提供一種技術(shù),用于當(dāng)將包含至少一個部件并被疊加在實際空間圖像上的虛擬物體呈現(xiàn)給觀察者時,使與部件有關(guān)的信息的顯示遮擋圖像的問題最小化。
為了實現(xiàn)本發(fā)明的目的,例如,本發(fā)明的圖像處理方法包括以下配置。
即,一種圖像處理方法,其產(chǎn)生從包括至少一個部件的虛擬物體形成的虛擬空間的圖像,其特征在于,包括第一獲取步驟,其獲取觀察者的視點的位置和方向;第二獲取步驟,其獲取由所述觀察者佩戴在手上以進(jìn)行各種操作的指示裝置的位置和方向;布置步驟,其將用于顯示與所述部件有關(guān)的信息的列表的列表圖像布置在所述第二獲取步驟獲取的位置附近;虛擬空間圖像產(chǎn)生步驟,其產(chǎn)生根據(jù)所述視點的位置和方向看的在布置所述列表圖像之后的虛擬空間的圖像;以及輸出步驟,其將所述虛擬空間圖像產(chǎn)生步驟產(chǎn)生的圖像輸出到預(yù)定顯示裝置。
為了實現(xiàn)本發(fā)明的目的,例如,本發(fā)明的圖像處理方法包括以下配置。
即,一種圖像處理方法,其產(chǎn)生對應(yīng)于觀察者的位置和方向的虛擬圖像,并將該虛擬圖像與對應(yīng)于所述觀察者的位置和方向的實際圖像合成,所述圖像處理方法包括獲取所述觀察者的位置和方向;根據(jù)所述觀察者的位置和方向產(chǎn)生所述虛擬圖像;以及將對應(yīng)于所述觀察者的位置和方向的所述實際圖像與所述虛擬圖像合成,其特征在于,包括獲取由所述觀察者操作的指示裝置的位置;識別所述指示裝置指示的部件;產(chǎn)生用于顯示與識別出的部件有關(guān)的信息的部件信息虛擬圖像;以及根據(jù)所述指示裝置的位置來確定所述部件信息虛擬圖像的布置位置。
為了實現(xiàn)本發(fā)明的目的,例如,本發(fā)明的圖像處理設(shè)備包括以下配置。
即,一種圖像處理設(shè)備,其產(chǎn)生從包括至少一個部件的虛擬物體形成的虛擬空間的圖像,其特征在于,所述圖像處理設(shè)備包括第一獲取單元,用于獲取觀察者的視點的位置和方向;第二獲取單元,用于獲取由所述觀察者佩戴在手上以進(jìn)行各種操作的指示裝置的位置和方向;布置單元,其將用于顯示與所述部件有關(guān)的信息的列表的列表圖像布置在所述第二獲取單元獲取的位置附近;虛擬空間圖像產(chǎn)生單元,其產(chǎn)生根據(jù)所述視點的位置和方向看的在布置所述列表圖像之后的虛擬空間的圖像;以及輸出單元,其將所述虛擬空間圖像產(chǎn)生單元產(chǎn)生的圖像輸出到預(yù)定顯示裝置。
為了實現(xiàn)本發(fā)明的目的,例如,本發(fā)明的圖像處理設(shè)備包括以下配置。
即,一種圖像處理設(shè)備,其產(chǎn)生對應(yīng)于觀察者的位置和方向的虛擬圖像,并將該虛擬圖像與對應(yīng)于所述觀察者的位置和方向的實際圖像合成,所述圖像處理設(shè)備包括獲取單元,用于獲取所述觀察者的位置和方向;產(chǎn)生單元,用于根據(jù)所述觀察者的位置和方向來產(chǎn)生所述虛擬圖像;以及合成單元,用于將對應(yīng)于所述觀察者的位置和方向的所述實際圖像與所述虛擬圖像合成,其特征在于,包括獲取單元,用于獲取由所述操作者操作的指示裝置的位置;識別單元,用于識別由所述指示裝置指示的部件;產(chǎn)生單元,用于產(chǎn)生用于顯示與識別出的部件有關(guān)的信息的部件信息虛擬圖像;以及確定單元,用于根據(jù)所述指示裝置的位置來確定所述部件信息虛擬圖像的布置位置。
從以下結(jié)合附圖的說明,本發(fā)明的其他特征和優(yōu)點將明顯。在全部附圖中,相同的附圖標(biāo)記表示相同或者相似的部分。
包括在說明書中并且構(gòu)成說明書的一部分的附圖示出本發(fā)明的實施例,并與說明書一起用于說明本發(fā)明的原理。
圖1是示出根據(jù)本發(fā)明第一實施例的系統(tǒng)的外觀的視圖;圖2是示出根據(jù)本發(fā)明第一實施例的HMD 110的示意性配置的視圖;圖3是示出筆120的結(jié)構(gòu)的視圖;
圖4是根據(jù)本發(fā)明第一實施例使CPU 3101產(chǎn)生混合真實空間圖像并將其輸出到HMD 110的顯示屏的處理(主線程)的流程圖;圖5是示出混合真實空間圖像的例子的視圖;圖6是示出圖像(列表圖像)的例子的視圖,在該圖像中,當(dāng)由筆120指示復(fù)印機(jī)的虛擬物體170的控制臺部500時,以樹形式(組件樹)列出包含在控制臺部500中的部件的信息;圖7是示出當(dāng)布置并顯示列表圖像時的混合真實空間圖像的顯示例子的視圖;圖8是示出具有完全透明背景和不透明字符的列表圖像801的顯示例子的視圖;圖9是示出當(dāng)布置并顯示列表圖像時的混合真實空間圖像的顯示例子的視圖;圖10是用于說明不顯示虛擬物體的區(qū)域的視圖;圖11是示出當(dāng)觀察者100的視點的位置和方向移動時在HMD110的顯示屏上顯示的圖像的例子的視圖;圖12是示出所布置的列表圖像與虛擬物體170的顯示區(qū)域不重疊的顯示例子的視圖;圖13是示出包含在虛擬物體A中的部件的組件樹的視圖;圖14是示出對于手區(qū)域優(yōu)先繪制的列表圖像的視圖;圖15是示出通過調(diào)整列表圖像的顯示而得到的混合真實空間圖像的顯示例子的視圖;圖16是在實際空間圖像(真實圖像)中遮蓋手區(qū)域的處理的流程圖;圖17是通過參考標(biāo)記在列表圖像和手區(qū)域之間進(jìn)行切換以優(yōu)先顯示其中一個的處理的流程圖;圖18是在列表圖像和手區(qū)域之間進(jìn)行切換以優(yōu)先顯示其中一個的處理的流程圖;
圖19是根據(jù)本發(fā)明第二實施例在步驟S404中進(jìn)行的列表圖像顯示處理的流程圖;圖20是根據(jù)本發(fā)明第三實施例在步驟S404中進(jìn)行的列表圖像顯示處理的流程圖;圖21是當(dāng)對在列表圖像中顯示的組件樹進(jìn)行操作時,由CPU3101進(jìn)行的處理的流程圖;圖22是示出步驟S2122中的詳細(xì)處理的流程圖;圖23是根據(jù)筆120的位置和虛擬物體之間的距離來判斷將由列表圖像呈現(xiàn)包含在虛擬物體中的部件的父/子結(jié)構(gòu)中的哪個層級的處理的流程圖;圖24是示出當(dāng)將筆120移近復(fù)印機(jī)的虛擬物體170時所顯示的列表圖像的顯示例子的視圖;圖25是示出當(dāng)進(jìn)一步將筆120移近控制臺模塊500時的列表圖像的顯示例子的視圖;圖26是示出由手勢指出的部分列表圖像的顯示例子的視圖;圖27是示出顯示例子的視圖,在該顯示例子中,當(dāng)由筆120的位置在列表圖像2701中指出具有說明文字“上紙盒”的平面虛擬物體2711時,復(fù)印機(jī)的虛擬物體170中的對應(yīng)部件2712閃爍;圖28是顯示由手勢指出的部分的列表圖像的處理的流程圖;圖29是用于說明指定如點線所示的沿深度方向的位置以更具體地指定目標(biāo)節(jié)點的操作的視圖;圖30是關(guān)于手區(qū)域和列表圖像的顯示的處理的流程圖;以及圖31是示出計算機(jī)140的基本配置的框圖。
具體實施例方式
現(xiàn)在根據(jù)附圖詳細(xì)說明本發(fā)明的優(yōu)選實施例。
第一實施例在本實施例中,當(dāng)將從包含至少一個部件的虛擬物體形成的虛擬空間的圖像疊加在實際空間的圖像上并呈現(xiàn)給觀察者時,將各部分的信息也呈現(xiàn)給觀察者。下面說明進(jìn)行這種呈現(xiàn)的系統(tǒng)。
圖1是示出根據(jù)本實施例的系統(tǒng)的外觀的視圖。
參考圖1,附圖標(biāo)記100表示觀察者。他/她在頭上佩戴HMD(Head Mounted Display,頭部安裝顯示器)110(稍后說明)并在手中佩戴筆(指示裝置)120(稍后說明)(“佩戴”既指“在手中持有”,也指“連到手上”)。
位置/方向傳感器發(fā)送器130產(chǎn)生磁場。在筆120中設(shè)置的位置/方向傳感器接收器121和在HMD 110上設(shè)置的位置/方向傳感器接收器113測量對應(yīng)于其位置和方向的磁場強(qiáng)度。
位置/方向傳感器主體131控制位置/方向傳感器發(fā)送器130。位置/方向傳感器主體131還接收表示由位置/方向傳感器接收器121和113所測量的磁場強(qiáng)度的信號,并且根據(jù)由接收到的信號表示的磁場強(qiáng)度得到每一個傳感器接收器在傳感器坐標(biāo)系(在位置/方向傳感器發(fā)送器130的位置設(shè)定原點、并將在原點互相垂直相交的三個軸設(shè)定為x、y、z軸的坐標(biāo)系)中的位置和方向。將表示得到的位置和方向的數(shù)據(jù)輸出到后續(xù)級的計算機(jī)140??梢允褂美缈蓮腜olhemus(美國)得到的FASTRAK(注冊商標(biāo))作為傳感器系統(tǒng)。
虛擬物體170包括至少一個部件。圖1中的虛擬物體170是復(fù)印機(jī)。然而,本發(fā)明不限于復(fù)印機(jī),而可以應(yīng)用到任何其他包括至少一個部件的虛擬物體。為了便于說明,在圖1中示出虛擬物體170。實際上,只有觀看計算機(jī)140的顯示屏的觀察者100或者操作者可以看到虛擬物體。附圖標(biāo)記180表示實際物體180。計算機(jī)140通過網(wǎng)線150與外部裝置進(jìn)行數(shù)據(jù)通信。在圖1中網(wǎng)線150由線纜形成。然而,也可以使用無線網(wǎng)絡(luò)。
計算機(jī)140通過根據(jù)來自位置/方向傳感器主體131的數(shù)據(jù)進(jìn)行處理(稍后說明)來得到觀察者100的視點的位置和方向。計算機(jī)140產(chǎn)生可以根據(jù)觀察者100的視點的位置和方向看到的虛擬空間圖像(虛擬物體圖像)。該虛擬空間圖像包括列表圖像,用于顯示包含在虛擬物體中的部件的信息的列表。稍后說明該列表圖像。計算機(jī)140進(jìn)行將產(chǎn)生的虛擬空間圖像疊加在從HMD 110得到的實際空間圖像上以及將疊加后的圖像輸出到HMD 110的顯示屏上的處理。
圖2是示出根據(jù)本實施例的HMD 110的示意性配置的視圖。如圖2所示,HMD 110包括攝像機(jī)111、LCD 112、位置/方向傳感器接收器113、以及光學(xué)棱鏡114和115。
攝像機(jī)111拍攝由光學(xué)棱鏡115所導(dǎo)引的光。其結(jié)果是,拍攝到根據(jù)觀察者的視點的位置和方向所看到的實際空間。在本實施例中,在HMD 110中設(shè)置一個攝像機(jī)111。然而,本發(fā)明不限于一個攝像機(jī)。為了拍攝根據(jù)觀察者的左眼和右眼中的每一個的位置和方向所看到的實際空間圖像,可以設(shè)置兩個攝像機(jī)。將所得到的圖像信號輸出到計算機(jī)140。
如上所述,位置/方向傳感器接收器113測量其自身在傳感器坐標(biāo)系中的位置和方向。實際上,位置/方向傳感器接收器113測量對應(yīng)于其自身的位置和方向的磁場強(qiáng)度。位置/方向傳感器主體131根據(jù)測量到的強(qiáng)度來得到位置/方向傳感器接收器113在傳感器坐標(biāo)系中的位置和方向。將表示得到的位置和方向的數(shù)據(jù)輸出到后續(xù)級的計算機(jī)140。可以由計算機(jī)140通過處理(稍后說明)得到觀察者100的視點在傳感器坐標(biāo)系中的位置和方向。
LCD 112接收由計算機(jī)140產(chǎn)生并從計算機(jī)140輸出的圖像信號,并且基于接收到的圖像信號顯示圖像。在本實施例中,顯示通過將由計算機(jī)140產(chǎn)生的虛擬空間圖像疊加到由攝像機(jī)111拍攝到的實際空間圖像上而得到的圖像(混合真實空間圖像)。由光學(xué)棱鏡114將顯示的圖像導(dǎo)引到觀察者的瞳孔。
圖3是示出筆120的結(jié)構(gòu)的視圖。如圖3所示,筆120包括位置/方向傳感器接收器121和筆按鈕122。如上所述,位置/方向傳感器接收器121測量其自身在傳感器坐標(biāo)系中的位置和方向。實際上,位置/方向傳感器接收器121測量對應(yīng)于其自身的位置和方向的磁場強(qiáng)度。位置/方向傳感器主體131根據(jù)測量到的強(qiáng)度得到位置/方向傳感器接收器121在傳感器坐標(biāo)系中的位置和方向。將表示得到的位置和方向的數(shù)據(jù)輸出到后續(xù)級的計算機(jī)140。在本實施例中,與筆120的位置和方向一樣地處理位置/方向傳感器接收器121的位置和方向。然而,本發(fā)明不限于此。
筆按鈕122可以通過觀察者100的操作設(shè)置為接通/關(guān)斷狀態(tài)。將表示每一個狀態(tài)的信號輸出到后續(xù)級的計算機(jī)140。
圖31是示出計算機(jī)140的基本配置的框圖。
CPU 3101通過使用在RAM 3102或ROM 3103中存儲的程序或數(shù)據(jù)來控制整個計算機(jī)140。CPU 3101還進(jìn)行處理(稍后說明)。
RAM 3102具有暫時存儲從外部存儲裝置3106加載的程序或數(shù)據(jù)的區(qū)以及由CPU 3101使用以進(jìn)行各種處理的工作區(qū)。RAM3102還具有暫時存儲通過I/F 3107從外部裝置接收的數(shù)據(jù)(例如從位置/方向傳感器主體131接收的、表示位置/方向傳感器接收器在傳感器坐標(biāo)系中的位置和方向的數(shù)據(jù),或者從HMD 110的攝像機(jī)111接收的實際空間圖像數(shù)據(jù))的區(qū)。
ROM 3103存儲有關(guān)計算機(jī)140的設(shè)置的引導(dǎo)程序和數(shù)據(jù)。
操作單元3104包括鍵盤和鼠標(biāo),并由操作者使用以將各種指令輸入到CPU 3101。
顯示單元3105包括CTR或者液晶面板,顯示要在HMD 110的顯示屏(圖2中的LCD 112)上或者要在將由操作者使用以進(jìn)行各種操作的GUI上顯示的圖像。
外部存儲裝置3106是例如硬盤驅(qū)動器的大容量存儲裝置。外部存儲裝置3106存儲程序或者數(shù)據(jù)以使OS(Operating System,操作系統(tǒng))或者CPU 3101進(jìn)行稍后將說明的每一個處理。在CPU3101的控制下將某些或者全部程序和數(shù)據(jù)加載到RAM 3102,并由CPU 3101進(jìn)行處理。在外部存儲裝置3106中存儲的數(shù)據(jù)包括產(chǎn)生列表圖像(稍后說明)的數(shù)據(jù)組和產(chǎn)生形成虛擬空間的每一個虛擬物體(圖1中的復(fù)印機(jī)的虛擬物體)的圖像的數(shù)據(jù)。與產(chǎn)生每一個部件的圖像的數(shù)據(jù)相關(guān)聯(lián)地保持包含在虛擬物體中的該部件的信息。以下說明中的已知數(shù)據(jù)(信息)也存儲在外部存儲裝置3106中并在使用時被加載到RAM 3102。
I/F 3107將計算機(jī)140連接到外部裝置。可以將HMD 110、位置/方向傳感器主體131和網(wǎng)線150連接到I/F 3107。為了便于說明,在圖31中簡化了I/F 3107。實際上,優(yōu)選根據(jù)要連接的裝置設(shè)置多個I/F,并且連接對應(yīng)于每一個I/F的目標(biāo)。
總線3108連接上述單元。
接下來說明使具有上述配置的計算機(jī)140在HMD 110的顯示屏上顯示混合真實空間圖像的處理。
在HMD 110中設(shè)置的攝像機(jī)111始終拍攝根據(jù)HMD 110的位置和方向所看到的實際空間的圖像(運動圖像)。將每一個拍攝到的幀的圖像依次輸出到計算機(jī)140。
位置/方向傳感器發(fā)送器130在位置/方向傳感器主體131的控制下產(chǎn)生磁場。HMD 110的位置/方向傳感器接收器113和位置/方向傳感器接收器121測量對應(yīng)于其位置和方向的磁場強(qiáng)度。將表示測量到的強(qiáng)度的信號輸出到位置/方向傳感器主體131。位置/方向傳感器主體131根據(jù)接收到的信號得到每一個傳感器接收器在傳感器坐標(biāo)系中的位置和方向。即,根據(jù)由傳感器接收器測量的磁場強(qiáng)度來確定每一個傳感器接收器在傳感器坐標(biāo)系中的位置和方向。位置/方向傳感器主體131將表示得到的位置和方向的數(shù)據(jù)輸出到計算機(jī)140。
將來自HMD 110的實際空間圖像的數(shù)據(jù)和來自位置/方向傳感器主體131的表示傳感器接收器在傳感器坐標(biāo)系中的位置和方向的數(shù)據(jù)通過I/F 3107輸入到計算機(jī)140的RAM 3102。
通過使用預(yù)先從外部存儲裝置3106加載到RAM 3102的偏移數(shù)據(jù)(預(yù)先測量的、表示位置/方向傳感器接收器113和攝像機(jī)111之間的位置/方向關(guān)系的數(shù)據(jù)),CPU 3101將表示位置/方向傳感器接收器113在傳感器坐標(biāo)系中的位置和方向的數(shù)據(jù)變換為表示攝像機(jī)111在傳感器坐標(biāo)系中的位置和方向的數(shù)據(jù)。下文中,將攝像機(jī)111在傳感器坐標(biāo)系中的位置和方向處理為觀察者100的視點的位置和方向。
CPU 3101將虛擬物體170布置在虛擬空間中。由已知數(shù)據(jù)預(yù)先確定布置位置和方向。如上所述,虛擬物體170包括至少一個部件。當(dāng)將各部件布置在預(yù)定位置和方向時,可以將虛擬物體170布置在虛擬空間中。在虛擬空間中布置包括至少一個部件的虛擬物體的處理是已知的,省略其說明。
虛擬空間中的坐標(biāo)系與傳感器坐標(biāo)系共用“原點和三個軸”。即,傳感器坐標(biāo)系與虛擬空間的坐標(biāo)系匹配。因此,通過使用觀察者100的視點的位置和方向的數(shù)據(jù)和預(yù)先從外部存儲裝置3106加載到RAM 3102的虛擬空間的數(shù)據(jù),CPU 3101可以產(chǎn)生從觀察者100的視點的位置和方向看的虛擬空間的圖像。
虛擬空間的數(shù)據(jù)是形成虛擬空間的每一個虛擬物體的數(shù)據(jù)。虛擬物體的數(shù)據(jù)是包含在虛擬物體中的每一個部件的數(shù)據(jù),包括部件形狀數(shù)據(jù)、紋理數(shù)據(jù)、以及表示位置和方向的數(shù)據(jù)。列表圖像的數(shù)據(jù)也包含在虛擬空間的數(shù)據(jù)中。稍后說明該數(shù)據(jù)的使用。
產(chǎn)生從預(yù)定位置和方向看的虛擬空間的圖像的處理是已知的,省略其說明。
將產(chǎn)生的虛擬空間圖像疊加到預(yù)先存儲在RAM 3102中的實際空間圖像上。將疊加圖像通過I/F 3107輸出到HMD 110的顯示屏上作為混合真實空間圖像。
圖5是示出混合真實空間圖像的例子的視圖。圖5所示的圖像包括圖1中的復(fù)印機(jī)的虛擬物體170和作為實際物體的筆120。在本實施例中,與該圖像一起顯示關(guān)于包含在復(fù)印機(jī)中的每一個部件的信息。
例如,操作者將筆120移動到包含在虛擬物體170中的其中一個部件并按下筆按鈕122。將表示按鈕被按下的信號通過I/F 3107發(fā)送到CPU 3101。CPU 3101參考存儲在RAM 3102中的表示位置/方向傳感器接收器121在傳感器坐標(biāo)系中的位置和方向的數(shù)據(jù),指定最接近該位置的部件。虛擬物體的數(shù)據(jù)包含每一個部件的位置數(shù)據(jù)。通過參考該數(shù)據(jù),指定最接近筆120的位置的部件。如果在距離位置/方向傳感器接收器121的位置的預(yù)定距離范圍內(nèi)不存在部件,則將表示沒有部件可以指定的信號發(fā)送到后續(xù)級的處理。
圖6是示出圖像(列表圖像)的例子的視圖,在該圖像中,當(dāng)由筆120指示復(fù)印機(jī)的虛擬物體170的控制臺部500時,以樹形式(組件樹)列出包含在控制臺部500中的各部件的信息。
當(dāng)指定最接近筆120的部件,并且要顯示與指定的部件有關(guān)的該部件的信息時,可以僅顯示該部件的信息??蛇x擇地,由于根據(jù)各部件之間的位置/方向關(guān)系一般以父子結(jié)構(gòu)(層次結(jié)構(gòu))來管理包含在虛擬物體中的部件,因此可以顯示與指定的部件的子結(jié)構(gòu)相對應(yīng)的全部或者某些部件的信息。將列表圖像布置在虛擬空間中使得可以從觀察者100的視點的位置和方向看到信息描述面。當(dāng)無法指定最接近位置/方向傳感器接收器121的部件(如果在距位置/方向傳感器接收器121的位置的預(yù)定距離范圍內(nèi)不存在部件)時,不顯示列表清單。
所顯示的信息包括包含在圖6中的控制臺部500中的部件(與控制臺部500的子結(jié)構(gòu)相對應(yīng)的部件圖6中的液晶顯示面板、聯(lián)機(jī)按鈕、排出按鈕、上按鈕、下按鈕、左按鈕和右按鈕)的材料名稱和紋理名稱。然而,本發(fā)明不限于此,而可以顯示任何其他信息。如上所述,每一個部件的信息包含在與產(chǎn)生該部件的圖像所需的數(shù)據(jù)相關(guān)的虛擬空間的數(shù)據(jù)中。因為該原因,當(dāng)指定由筆120指示的部件時,可以參考在虛擬空間的數(shù)據(jù)中的該部件的信息。因此,可以得到要在列表圖像中描述的信息。
在HMD 110的顯示屏上顯示列表圖像。操作者可以通過參考列表圖像的信息來參考由筆120指示的部分的信息。當(dāng)所顯示的信息的條數(shù)增加時,列表圖像的面積也增加。這樣,難以看到虛擬物體170或者實際空間圖像。在立體視覺中,當(dāng)列表圖像三維地與其他虛擬和實際物體重疊時,在立體視覺中產(chǎn)生不適的感覺。
在本實施例中,在虛擬空間中筆120的附近且比筆120更接近觀察者100的視點位置的位置布置列表圖像。
圖7是示出當(dāng)以以上方式布置并顯示列表圖像時的混合真實空間圖像的顯示例子的視圖。參考圖7,以半透明形式顯示列表圖像,不干擾操作者看到其他圖像。各種技術(shù)可用于以半透明形式顯示圖像。例如可以使用一種控制圖像的每一個像素的α值的技術(shù)。這些技術(shù)是已知的,省略其說明。
在布置列表圖像時,例如將列表圖像布置在將連接觀察者100的視點的位置和筆120的位置的線段從內(nèi)部分割為t∶(1-t)的位置,使得從觀察者100的視點的位置和方向看到信息描述面。設(shè)定列表圖像的方向例如與觀察者的視點的方向相同。以這種方式,通過使用觀察者的位置和方向以及筆的位置來得到布置列表圖像的位置和方向。
對于值t,優(yōu)選設(shè)定盡可能接近于1的值,以使列表圖像位于筆120的位置附近。將列表圖像布置在虛擬空間中之后,CPU 3101產(chǎn)生圖像作為虛擬空間圖像,在該圖像中根據(jù)觀察者100的視點的位置和方向看到包括虛擬物體和列表圖像的虛擬空間。
當(dāng)以以上方式顯示列表圖像時,另一個圖像不會實際遮擋列表圖像(組件樹)。另外,在與筆120握在手中幾乎相同的深度顯示列表圖像。因此,即使在立體視覺中,也不會由立體視覺中的顯著差別引起的視差在立體視覺中產(chǎn)生不適的感覺。
圖4是根據(jù)本實施例使CPU 3101產(chǎn)生混合真實空間圖像并將其輸出到HMD 110的顯示屏的處理(主線程)的流程圖。將使CPU3101根據(jù)圖4中的流程圖進(jìn)行處理的程序存儲在外部存儲裝置3106中。在CPU 3101的控制下將程序加載到RAM 3102,并由CPU 3101執(zhí)行。將上述的已知數(shù)據(jù)預(yù)先從外部存儲裝置3106加載到RAM 3102。
CPU 3101起動位置/方向線程(步驟S401)和圖像捕獲線程(步驟S402)。線程表示在計算機(jī)140中并行處理的一系列程序。因此,由主線程和全部線程共用例如操作模式的信息。
在位置/方向線程中,獲得從位置/方向傳感器接收器113和121通過位置/方向傳感器主體131和I/F 3107接收的位置/方向傳感器接收器113和121在傳感器坐標(biāo)系中的位置和方向(步驟S410)。通過使用偏移數(shù)據(jù)和表示位置/方向傳感器接收器113在傳感器坐標(biāo)系中的位置和方向的數(shù)據(jù),CPU 3101得到觀察者100的視點在傳感器坐標(biāo)系中的位置和方向,并將所得到的位置和方向的數(shù)據(jù)存儲在RAM 3102中(步驟S403)。如果已經(jīng)將表示觀察者100的視點的位置和方向的數(shù)據(jù)存儲在RAM 3102中,則該數(shù)據(jù)被重寫并更新。
CPU 3101還將表示位置/方向傳感器接收器121在傳感器坐標(biāo)系中的位置和方向的數(shù)據(jù)存儲在RAM 3102中(步驟S403)。如果已經(jīng)將表示位置/方向傳感器接收器121在傳感器坐標(biāo)系中的位置和方向的數(shù)據(jù)存儲在RAM 3102中,則該數(shù)據(jù)被重寫并更新。
接下來更新虛擬空間(步驟S404)。更具體地,當(dāng)虛擬空間隨著時間的流逝而改變其位置、方向、以及顏色時,位置、方向和顏色的數(shù)據(jù)被更新。在本實施例中,在步驟S404中,指定與筆120的位置(即位置/方向傳感器接收器121在傳感器坐標(biāo)系中的位置)最接近的部件。僅當(dāng)指定該部件時,從虛擬空間的數(shù)據(jù)指定所指定的部件的信息。
在圖5所示的例子中,將筆120移動到復(fù)印機(jī)的虛擬物體170的控制臺部500的位置,并且在那里按下筆按鈕122。CPU 3101將此時位置/方向傳感器接收器121的位置與包含在復(fù)印機(jī)的虛擬物體170中的每一個部件的位置進(jìn)行比較,以指定該部件,即最接近于位置/方向傳感器接收器121的控制臺部500。CPU 3101從復(fù)印機(jī)的虛擬物體170的數(shù)據(jù)中指定與控制臺部500的子結(jié)構(gòu)相對應(yīng)的全部部件的信息。
當(dāng)?shù)玫礁鞑考男畔r,產(chǎn)生圖6所示的列表圖像,其中描述了該信息。下面說明該圖像的例子。
為每一個要顯示的信息準(zhǔn)備多邊形。將由字符串圖像(預(yù)先創(chuàng)建并存儲在外部存儲裝置3106中)表達(dá)一個部件的信息的紋理映射到該多邊形,從而產(chǎn)生具有該部件的信息描述的平面虛擬物體。為每一個部件創(chuàng)建平面虛擬物體,并且通過連接各部件的平面虛擬物體來創(chuàng)建列表圖像(列表圖像也是平面虛擬物體)。管理哪個多邊形具有哪個部件的信息。
將如此產(chǎn)生的列表圖像布置在將連接位置/方向傳感器接收器121的位置和觀察者100的視點的位置的線段從內(nèi)部分割為t(1-t)的位置,使得從觀察者100的視點的位置和方向看到信息描述面。
即,在步驟S404中,將虛擬物體170和列表圖像布置在虛擬空間中。
在圖像捕獲線程中,獲得從HMD 110的攝像機(jī)111得到的實際空間圖像(步驟S420)。將該圖像存儲在RAM 3102的預(yù)定區(qū)中(步驟S405)。
將在步驟S404中更新的虛擬空間,即,將從觀察者100的視點的位置和方向看在步驟S404中布置的虛擬物體170和列表圖像的虛擬空間圖像,疊加到在步驟S405中存儲在RAM 3102的預(yù)定區(qū)中的實際空間圖像上并繪制(步驟S406)。
在預(yù)定區(qū)中產(chǎn)生通過將虛擬空間圖像疊加在實際空間圖像上而得到的混合真實空間的圖像。CPU 3101將得到的混合真實空間圖像通過I/F 3107輸出到HMD 110的顯示屏(步驟S407)??梢詫⒒旌险鎸嵖臻g圖像輸出到顯示裝置3105并呈現(xiàn)給操作者。
判斷是否通過操作單元3104輸入了結(jié)束該處理的指令。如果在步驟S408中為“否”,則該處理返回步驟S403。如果在步驟S408中為“是”,則該處理結(jié)束。
圖9是示出當(dāng)通過以上處理布置并顯示列表圖像時的混合真實空間圖像的顯示例子的視圖。
如上所述,根據(jù)本實施例,可以顯示包含在虛擬物體中的每一個部件的信息,而不破壞相對于另一圖像的深度的感覺。
在本實施例中,HMD 110是視頻透明型(video see-throughtype)的。然而,可以使用光學(xué)透明型(optical see-through type)的HMD。在這種情況下,不需要攝像機(jī)111,也不需要輸入實際空間圖像的處理。因此,CPU 3101進(jìn)行沒有圖4所示的流程圖中的步驟S402、S405、S420和S407的處理。
在本實施例中,為了在HMD 110的顯示屏上顯示列表圖像,將列表圖像布置在虛擬空間中將連接位置/方向傳感器接收器121的位置和觀察者100的視點的位置的線段從內(nèi)部進(jìn)行分割的位置。即,在本實施例中,將列表圖像作為3D虛擬物體來處理。然而,本發(fā)明不限于此,列表圖像可以作為2D圖像來處理。在這種情況下,可以將位置/方向傳感器接收器121的位置投影到投影面上以在HMD 110的顯示屏上顯示圖像,并且可以在投影位置(或者附近)顯示列表圖像。在顯示列表圖像時,將除了列表圖像之外的虛擬空間圖像疊加到實際空間圖像上,根據(jù)圖4所示的流程圖在混合真實空間圖像上顯示列表圖像。
列表圖像可以作為3D虛擬物體在HMD 110的顯示屏中顯示,也可以作為2D圖像在計算機(jī)140的顯示裝置3105的顯示屏中顯示。
為了投影圖像,使用一種已知的投影變換矩陣將虛擬空間中的物體顯示到顯示屏上。這時,列表圖像可以是窗口,其中以文本列出部件的信息。
第二實施例在本實施例中,除了第一實施例之外,還改變列表圖像的顯示位置,并且打開/關(guān)閉顯示。除了步驟S404中的列表圖像顯示處理之外,第二實施例的主線程與第一實施例相同(根據(jù)圖4所示的流程圖)。
圖19是在步驟S404中進(jìn)行的根據(jù)本實施例的列表圖像顯示處理的流程圖。在虛擬物體圖像產(chǎn)生之后,進(jìn)行根據(jù)圖19所示的流程圖的處理。
判斷是否設(shè)定了顯示列表圖像(組件樹)的模式(步驟S1901)。通過操作單元3104可以設(shè)定該模式。將表示該設(shè)定模式的數(shù)據(jù)存儲在RAM 3102中。因此,在步驟S1901中,通過參考該數(shù)據(jù)來判斷設(shè)定了顯示模式還是非顯示模式。還有各種模式可以由操作單元3104來設(shè)定,將表示設(shè)定模式的數(shù)據(jù)存儲在RAM 3102中。因此,在判斷模式時,通過參考該數(shù)據(jù)來判斷是否設(shè)定了模式。
如果設(shè)定了非顯示模式,則在非顯示模式保持列表圖像的同時,該處理進(jìn)行到步驟S1902以結(jié)束處理。在非顯示模式中,實際上省略了列表圖像的布置??蛇x擇地,將列表圖像移動到虛擬空間中的HMD 110的顯示屏外。
如果設(shè)定了顯示模式,則該處理進(jìn)行到步驟S1911,以判斷是否設(shè)定了用于在HMD 110的顯示屏上的固定位置顯示列表圖像的固定模式(步驟S1911)。
如果在步驟S1911中為“是”,即,要在HMD 110的顯示屏上的固定位置顯示列表圖像,則該處理進(jìn)行到步驟S1912,以在HMD110的顯示屏上的預(yù)定位置顯示列表圖像(步驟S1912)。
更具體地,將列表圖像布置在沿視線矢量(從觀察者100的視點的位置到由視點的朝向所定義的方向的具有無限長度的矢量)的方向與觀察者100的視點的位置間隔預(yù)定距離的位置附近。
圖11是示出當(dāng)觀察者100的視點的位置和方向移動時,在HMD 110的顯示屏上顯示的圖像的例子的視圖。參考圖11,附圖標(biāo)記1001表示顯示屏。如圖11所示,即使當(dāng)觀察者100的視點的位置和方向移動而看到虛擬物體170之外的物體時,根據(jù)步驟S1912中的處理,列表圖像701的顯示位置不改變。
如果在步驟S1911中為“否”,則該處理進(jìn)行到步驟S1921,以判斷是否設(shè)定了用于在HMD 110的顯示屏上顯示虛擬物體的顯示區(qū)域外的列表圖像的模式(步驟S1921)。如果在步驟S1921中為“否”,則與第一實施例相同,該處理進(jìn)行到步驟S1922進(jìn)行將列表圖像布置在筆120的位置附近的處理(步驟S1922)。
如果在步驟S1921中為“是”,則該處理進(jìn)行到步驟S1923,以在HMD 110的顯示屏上指定虛擬物體的顯示區(qū)域(步驟S1923)。在HMD 110的顯示屏上指定除了在步驟S1923中指定的區(qū)域之外的區(qū)域(步驟S1924)。例如,在圖10所示的顯示屏中,右區(qū)域是沒有虛擬物體被顯示的區(qū)域。
將虛擬圖像布置在虛擬空間中,以使在步驟S1924中指定的區(qū)域中即在HMD 110的顯示屏上除了虛擬物體的顯示區(qū)域之外的區(qū)域中的適當(dāng)位置(例如使列表圖像和虛擬物體的顯示區(qū)域之間的重疊區(qū)域最小化的位置)顯示列表圖像(步驟S1925)。例如,通過對HMD 110的顯示屏上的虛擬空間中的適當(dāng)位置進(jìn)行反投影變換來得到在該適當(dāng)位置的投影位置,并且在所得到的位置(或附近)布置列表圖像。其結(jié)果是,如圖12所示,可以布置列表圖像而不與虛擬物體170的顯示區(qū)域重疊。
作為步驟S1923~S1925中的詳細(xì)處理的例子,通過使用矩陣(用于顯示的已知矩陣)來計算顯示屏上的虛擬物體的繪制范圍,以將虛擬物體投影到顯示屏上。計算與距所計算的范圍外的最近的視線正交的平面上的位置作為列表圖像的顯示位置。作為另一個例子,計算虛擬物體和列表圖像重疊時,從視線的位置(HMD 110的位置)到虛擬物體的中心點的方向和從該方向到中心的角度,并且計算該角度外的最近的位置作為顯示列表圖像的位置。
在以立體視覺顯示列表圖像時,根據(jù)顯示深度,可能難以實現(xiàn)立體感。當(dāng)在不與虛擬物體重疊的區(qū)域中顯示列表圖像時,通過以與顯示虛擬物體的范圍相同的范圍中的深度定位列表圖像,可以實現(xiàn)易于看到的顯示而沒有不適的感覺。
再次參考圖19,接下來判斷是否設(shè)定將列表圖像放置在HMD110的顯示屏中的模式(步驟S1931)。如果在步驟S1931中為“是”,則該處理進(jìn)行到步驟S1932,檢查在步驟S1925中確定的布置位置布置的列表圖像是否從HMD 110的顯示屏突出(步驟S1932)。該檢查通過檢查例如當(dāng)將虛擬空間中的列表圖像的四個角的坐標(biāo)值投影在HMD 110的顯示屏中時,該值是否位于顯示屏中來完成。
如果列表圖像從顯示屏突出,則該處理進(jìn)行到步驟S1933,移動列表圖像在虛擬空間中的布置位置,使得列表圖像的四個角的坐標(biāo)值位于HMD 110的顯示屏中(步驟S1933)。
使用上述功能,即使當(dāng)操作者操作筆或系統(tǒng)不熟練時,也可以正確地顯示組件樹。
第三實施例在本實施例中,增加了使在第一實施例中顯示的列表圖像半透明的功能。
圖8是示出具有完全透明背景和不透明字符的列表圖像801的顯示例子的視圖。根據(jù)背景,可能難以讀取該字符。然而,當(dāng)使用圖8所示的列表圖像時,比圖7所示的例子更易于看到列表圖像之外的圖像。
圖20是根據(jù)本實施例在步驟S404中進(jìn)行的列表圖像顯示處理的流程圖。在本實施例中,與第一實施例相同,列表圖像是3D虛擬物體。然而,與第二實施例相同,列表圖像可以是2D圖像。
當(dāng)沿觀察者100的視線方向存在虛擬物體時,判斷是否設(shè)定顯示半透明列表圖像的模式(步驟S2010)。通過操作單元3104可以設(shè)定該模式。將表示該設(shè)定模式的數(shù)據(jù)存儲在RAM 3102中。因此,在步驟S2010中,通過參考該數(shù)據(jù)來判斷設(shè)定了半透明顯示模式還是非半透明顯示模式。還有各種模式可以通過操作單元3104來設(shè)定,并將表示設(shè)定模式的數(shù)據(jù)存儲在RAM 3102中。因此,在判斷模式時,通過參考該數(shù)據(jù)來判斷是否設(shè)定了模式。
如果設(shè)定了非半透明顯示模式,則該處理進(jìn)行到步驟S2022,通過控制多邊形的α值來產(chǎn)生具有不透明顏色的多邊形。對每一個部件進(jìn)行將描述該部件的信息的紋理映射到多邊形的處理(步驟S2022)。即,與第一實施例相同地產(chǎn)生列表圖像。該處理也適用于2D列表圖像。與第一實施例相同地產(chǎn)生列表圖像。
如果要進(jìn)行半透明顯示,則該處理進(jìn)行到步驟S2012,得到由從觀察者100的視點的位置到虛擬物體的位置(例如包含在虛擬物體中的全部部件的質(zhì)心)的線段A和視線矢量B(從視點的位置到由朝向定義的方向的具有無限長度的矢量)構(gòu)成的角度(步驟S2012)。當(dāng)?shù)玫降慕嵌染哂蓄A(yù)定的值或者更小(優(yōu)選接近于0的值)時,可以判斷為沿觀察者100的視線方向存在虛擬物體。該處理進(jìn)行到步驟S2021,通過控制多邊形的α值來產(chǎn)生具有透明顏色的多邊形。對每一個部件進(jìn)行將描述該部件的信息的紋理映射到多邊形的處理,因此產(chǎn)生列表圖像(步驟S2021)。除了字符部分之外預(yù)先將該紋理創(chuàng)建為透明的(將包含在除了字符部分之外的部分中的像素的α值設(shè)定為透明的)。該多邊形的透明度高于步驟S2022中的多邊形。
該處理也適用于2D列表圖像。通過控制除了字符部分之外的像素的α值,將包含在除了字符部分之外的部分中的像素設(shè)定為透明的。
當(dāng)沿觀察者的視線的方向存在虛擬物體時,即當(dāng)假設(shè)觀察者注視虛擬物體時,顯示列表圖像可能干擾對虛擬物體的注視。為了防止這一點,在本實施例中,當(dāng)判斷為沿觀察者的視線的方向存在虛擬物體時,顯示具有較高透明度的列表圖像。在這種情況下,可以將要由列表圖像呈現(xiàn)的信息展示給觀察者而不干擾對虛擬物體的注視。
如果在步驟S2012中得到的角度具有預(yù)定的值或更大,則該處理進(jìn)行到步驟S2022。
步驟S2012或者S2020中的處理可以采用任何能達(dá)到檢查沿視線的方向是否存在虛擬物體的目的的方法。更具體地,在本實施例中,得到由視線矢量B和從觀察者100的視點的位置到虛擬物體的位置(例如包含在虛擬物體中的全部部件的質(zhì)心位置)的線段A構(gòu)成的角度。當(dāng)該角度具有預(yù)定的值或更小時,判斷為沿視線的方向存在虛擬物體。除此之外,當(dāng)從多邊形形成虛擬物體時,確定視線矢量和該多邊形之間的交點。當(dāng)交點存在時,可以判斷為沿視線的方向存在虛擬物體。如上所述,沒有特別限定方法。
在HMD 110的顯示屏或者顯示裝置3105上顯示通過以上處理而產(chǎn)生的列表圖像。
第四實施例在本實施例中,控制在以上實施例中對在列表圖像中顯示的組件樹的操作和顯示范圍。通過使用觀察者100握在手中的筆120來進(jìn)行對組件樹的操作。因此,必須在固定的位置顯示列表圖像而不跟隨筆120的位置。
圖21是當(dāng)對在列表圖像中顯示的組件樹進(jìn)行操作時,將由CPU 3101進(jìn)行的處理的流程圖。在步驟S404中的全部處理操作結(jié)束之后,進(jìn)行根據(jù)圖21所示的流程圖的處理。
計算機(jī)140的操作者看著在顯示裝置3105的顯示屏上顯示的列表圖像。如果觀察者100想要對顯示的各部分的信息進(jìn)行一些操作,則操作者通過使用包含在操作單元3104中的鼠標(biāo)或者鍵盤來進(jìn)行預(yù)定操作(例如按下或者點擊預(yù)定按鈕)以改變模式而允許操作。
當(dāng)這種操作輸入完成時,將該操作的指令發(fā)送到CPU 3101。CPU 3101總是接收指令(步驟S2101)。當(dāng)輸入操作指令時,即當(dāng)CPU 3101檢測到指令時(步驟S2111),該處理進(jìn)行到步驟S2112,設(shè)定允許操作的模式(步驟S2112)。實際上,將表示該模式的數(shù)據(jù)存儲在RAM 3102中。在檢測到指令時,CPU 3101對數(shù)據(jù)設(shè)置表示“允許操作的模式”的值,從而設(shè)定允許操作的模式。
CPU 3101通過參考表示該模式的數(shù)據(jù)來檢查是否設(shè)定了允許操作的模式(組件樹操作模式)(步驟S2121)。如果在步驟S2121中為“是”,則該處理進(jìn)行到步驟S2122,進(jìn)行稍后將說明的處理。如果設(shè)定了不允許操作的模式(正常模式),則該處理進(jìn)行到步驟S2123,進(jìn)行與第一實施例相同的處理。即在正常模式中,第四實施例與第一實施例相同。
使用該配置,當(dāng)在屏上沒有顯示組件樹時,可以防止任何對組件樹的錯誤的不希望的操作。
接下來詳細(xì)說明步驟S2122中的處理。
圖22是示出步驟S2122中的詳細(xì)處理的流程圖。
與一般的CAD系統(tǒng)相同,可以對由列表圖像表示的各部件的信息,即所謂的組件樹進(jìn)行各種操作。下面說明該各種操作中的一些操作。還可以對由列表圖像表示的某些信息進(jìn)行其他操作。
判斷當(dāng)列表圖像位于HMD 110的顯示屏外時,是否設(shè)定了禁止對組件樹的操作的模式(步驟S2241)。
通過操作單元3104可以設(shè)定該模式。將表示該設(shè)定模式的數(shù)據(jù)存儲在RAM 3102中。因此,在步驟S2241中,通過參考該數(shù)據(jù)來判斷是否設(shè)定了禁止模式。
如果在步驟S2241中為“是”,則該處理進(jìn)行到步驟S2242,判斷列表圖像是否位于HMD 110的顯示屏中(步驟S2242)。該判斷通過檢查例如當(dāng)將虛擬空間中的列表圖像的四個角的坐標(biāo)值投影在HMD 110的顯示屏中時,該值是否位于顯示屏中來完成。對于投影,使用已知的投影變換矩陣將虛擬空間中的物體顯示到顯示屏上。
如果判斷為該值在顯示屏外(列表圖像從HMD 110的顯示屏突出),則該處理進(jìn)行到步驟S2243,禁止對組件樹的操作(步驟S2243)。即,禁止對由列表圖像表示的每一個信息的任何操作。因此,在該步驟中,CPU 3101停止從筆120接收對組件樹的任何操作。
如果在步驟S2241中為“否”或者在步驟S2242中為“否”,則該處理進(jìn)行到步驟S2244,使CPU 3101接收對組件樹的操作(步驟S2244)。
將表示筆120在傳感器坐標(biāo)系中的位置和方向的數(shù)據(jù)存儲在RAM 3102中。將該數(shù)據(jù)變換并投影到投影面上以得到筆120在HMD 110的顯示屏上的位置(步驟S2211)。另外,以同樣的方式通過投影處理得到形成列表圖像的每一個多邊形的四個角在HMD110的顯示屏中的位置。指定筆120在屏幕中的位置位于哪個多邊形中,即筆120指示哪個部件的信息(步驟S2212)。
CPU 3101檢查是否通過I/F 3107輸入了表示筆按鈕122被按下的信號(步驟S2213)。如果在步驟S2213中為“是”,則該處理進(jìn)行到步驟S2214,使與筆120的位置指示的多邊形中所描述的信息相對應(yīng)的部件的虛擬物體(平面虛擬物體)閃爍(步驟S2214)。更具體地,如上所述,管理哪個平面虛擬物體具有關(guān)于哪個部件的信息。另外,每一個部件的信息與產(chǎn)生該部件的圖像所需的數(shù)據(jù)相關(guān)。當(dāng)可以指定由筆120的位置指示的平面虛擬物體時,通過參考該相關(guān)性來指定與在所指定的平面虛擬物體中描述的信息相對應(yīng)的部件的虛擬物體。因此,可以以閃爍的狀態(tài)顯示該部分的虛擬物體。本發(fā)明不限于閃爍顯示。當(dāng)可以從視覺上識別由筆120的位置指示的部分的虛擬物體時,可以進(jìn)行任何其他顯示。
圖27是示出顯示例子的視圖,在該顯示例子中,當(dāng)由筆120的位置在列表圖像2701中指示具有說明文字“上紙盒”的平面虛擬物體2711時,復(fù)印機(jī)的虛擬物體170中的對應(yīng)部件2712閃爍。
在列表圖像中列出包含在設(shè)備“打印機(jī)X”中的部件的名稱。筆120位于平面虛擬物體2711的顯示區(qū)域中。另外,按下筆按鈕122。因此,對應(yīng)部件2712的虛擬物體(“上紙盒”)閃爍。
接下來,說明根據(jù)筆120的位置和虛擬物體170之間的距離來判斷在包含在虛擬物體170中的部件的父/子結(jié)構(gòu)中由列表圖像呈現(xiàn)直到哪個層級為止的處理。
圖24是示出當(dāng)將筆120移至接近復(fù)印機(jī)的虛擬物體170時所顯示的列表圖像的顯示例子的視圖。在這種情況下,在包含在虛擬物體170(打印機(jī)X)中的部件的父/子結(jié)構(gòu)中,在列表圖像2401中僅顯示最上層的部件的名稱。參考圖24,顯示“控制臺模塊”、“右側(cè)面板”、“上紙盒”、“下紙盒”、以及“排紙盤”。
圖25是示出當(dāng)進(jìn)一步將筆120移至接近控制臺模塊500時的列表圖像的顯示例子的視圖。在列表圖像2501中僅顯示與控制臺模塊500的子結(jié)構(gòu)相對應(yīng)的部件(屬于緊接在控制臺模塊500所屬的層下面的層的部件)的名稱。參考圖25,顯示“液晶顯示面板”、“聯(lián)機(jī)按鈕”、“上按鈕”、“下按鈕”、“右按鈕”、以及“左按鈕”。圖25僅示出包含在控制臺模塊500中的部件的名稱??梢栽诒3诛@示圖24所示的層的同時,顯示包含在控制臺模塊500中的部件的名稱。
圖23是根據(jù)筆120的位置和虛擬物體之間的距離來判斷在包含在虛擬物體中的部件的父/子結(jié)構(gòu)中由列表圖像呈現(xiàn)直到哪一個層級為止的處理的流程圖。在產(chǎn)生列表圖像時進(jìn)行根據(jù)圖23所示的流程圖的處理。
當(dāng)列表圖像位于HMD 110的顯示屏外時,判斷是否設(shè)定禁止對組件樹的操作的模式(步驟S2241)。
通過操作單元3104可以設(shè)定該模式。將表示該設(shè)定模式的數(shù)據(jù)存儲在RAM 3102中。因此,在步驟S2241中,通過參考該數(shù)據(jù)來判斷是否設(shè)定了禁止模式。
如果在步驟S2241中為“是”,則該處理進(jìn)行到步驟S2242,判斷列表圖像是否位于HMD 110的顯示屏中(步驟S2242)。該判斷通過檢查例如當(dāng)將虛擬空間中的列表圖像的四個角的坐標(biāo)值投影在HMD 110的顯示屏中時,該值是否位于顯示屏中來完成。對于投影,使用已知的投影變換矩陣將虛擬空間中的物體顯示到顯示屏上。
如果判斷為該值在顯示屏外(列表圖像從HMD 110的顯示屏突出,則該處理進(jìn)行到步驟S2243,禁止對組件樹的操作(步驟S2243)。即,禁止對由列表圖像表示的每一個信息的任何操作。因此,在該步驟中,CPU 3101停止從筆120接收對組件樹的任何操作。
如果在步驟S2241中為“否”,或者在步驟S2242中為“否”,則該處理進(jìn)行到步驟S2244,使CPU 3101接收對組件樹的操作(步驟S2244)。
接下來,指定與筆120的位置(位置/方向傳感器接收器121在傳感器坐標(biāo)系中的位置)最接近的部件(步驟S2301)。例如對于包含在虛擬物體中的部件的父/子結(jié)構(gòu)的最上層中的部件,即對于最粗略地劃分的部件(在虛擬物體170中,圖24所示的列表圖像中顯示的部件),指定與筆120的位置最接近的部件?!白畲致缘貏澐值牟考?父部件)中的每一個具有至少一個對應(yīng)于子結(jié)構(gòu)的部件(子部件)。使用包含在父部件中的子部分的位置的質(zhì)心作為父部件的位置。對全部父部件進(jìn)行得到質(zhì)心和筆120的位置之間的距離的處理,從而指定與筆120的位置最接近的父部件。
參考所指定的部件和筆120之間的距離(步驟S2302)。根據(jù)所參考的距離來判斷將顯示到哪一層(步驟S2303)。
圖13是示出包含在虛擬物體A中的部件的組件樹的視圖。將這種組件樹存儲在外部存儲裝置3106中作為顯示虛擬物體A的數(shù)據(jù)。將虛擬物體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。
如上所述,一般基于部件之間的父/子關(guān)系用層次結(jié)構(gòu)來管理虛擬物體??梢杂刹考鶎俚膶觼肀硎驹摬考趯哟谓Y(jié)構(gòu)中的位置。
在步驟S2303中,根據(jù)筆120和在步驟S2301中指定的部件之間的距離來判斷是顯示屬于層0和1的部件的信息、顯示屬于層0~2的部件的信息、還是顯示屬于層0~3的部件的信息。例如,當(dāng)距離是50cm或者更大時,僅顯示屬于層0和1的部件的信息。當(dāng)距離是25~50cm時,顯示屬于層0~2的部件的信息。當(dāng)距離是25cm或者更小時,顯示屬于層0~3的部件的信息。以這種方式,隨著距離減小,顯示屬于更低層的部件的信息。
因此,在組件樹中,確定應(yīng)當(dāng)顯示其信息的部件的層相當(dāng)于選擇層之間的節(jié)點。
在步驟S2303中確定要顯示的層。接下來,如上所述,通過使用屬于要顯示的層的部件的信息來產(chǎn)生列表圖像(步驟S2304)。
圖26是示出由手勢指出的部件的列表圖像的顯示例子的視圖。當(dāng)移動筆120以圍繞與所要選擇的節(jié)點相對應(yīng)的虛擬部分時,選擇了顯示細(xì)節(jié)的節(jié)點。在本例子中,選擇上紙盒。其結(jié)果是,顯示組件樹2601。
參考圖28所示的流程圖來說明該處理的流程。圖28是顯示由手勢指出的部分的列表圖像的處理的流程圖。實際上,在步驟S404中進(jìn)行該處理。
判斷當(dāng)列表圖像位于HMD 110的顯示屏外時,是否設(shè)定禁止對組件樹的操作的模式(步驟S2241)。
通過操作單元3104可以設(shè)定該模式。將表示該設(shè)定模式的數(shù)據(jù)存儲在RAM 3102中。因此,在步驟S2241中,通過參考該數(shù)據(jù)來判斷是否設(shè)定了禁止模式。
如果在步驟S2241中為“是”,則該處理進(jìn)行到步驟S2242,判斷列表圖像是否位于HMD 110的顯示屏中(步驟S2242)。該判斷通過檢查例如當(dāng)將虛擬空間中的列表圖像的四個角的坐標(biāo)值投影在HMD 110的顯示屏中時,該值是否位于顯示屏中來完成。對于投影,使用已知的投影變換矩陣將虛擬空間中的物體顯示到顯示屏上。
如果判斷為該值在顯示屏外(列表圖像從HMD 110的顯示屏突出),則該處理進(jìn)行到步驟S2243以禁止對組件樹的操作(步驟S2243)。即,禁止對由列表圖像表示的每一個信息的任何操作。因此,在該步驟中,CPU 3101停止從筆120接收對組件樹的任何操作。
如果在步驟S2241中為“否”或者在步驟S2242中為“否”,則該處理進(jìn)行到步驟S2244,使CPU 3101接收對組件樹的操作(步驟S2244)。
接下來,判斷存在/不存在手勢輸入(步驟S2801)。如果沒有進(jìn)行手勢輸入,則結(jié)束選擇要顯示細(xì)節(jié)的節(jié)點。識別存在/不存在手勢輸入是一種已知的技術(shù)。在本實施例中,例如,一直監(jiān)視筆120的運動,并且進(jìn)行軌跡和圓、三角形或者矩形之間的圖案匹配。當(dāng)圖案匹配時,識別為存在手勢??蛇x擇地,當(dāng)筆左右或上下往復(fù)運動時,可以通過識別在預(yù)定時間內(nèi)預(yù)定次數(shù)或更多次數(shù)的沿相反方向的預(yù)定距離或更大距離的運動來檢測存在/不存在手勢輸入。
如果在步驟S2801中為“是”,則判斷手勢是否選擇了詳細(xì)顯示節(jié)點(步驟S2802)。在本實施例中,通過畫圓來選擇詳細(xì)顯示節(jié)點(步驟S2803)。
如果在步驟S2802中為“是”,則選擇最接近筆120的節(jié)點(步驟S2803)。如上所述,也可以根據(jù)部件和筆120的位置之間的距離來選擇節(jié)點的層。
更新組件樹的顯示內(nèi)容以詳細(xì)顯示所選擇的節(jié)點(步驟S2804)。
使用以上處理,通過手勢可以容易地選擇要詳細(xì)顯示的節(jié)點。
當(dāng)還沿由圖29中的點線所表示的深度方向指定位置時,除了參考圖26所示的手勢之外,還可以更詳細(xì)地指定目標(biāo)節(jié)點。
當(dāng)在由手勢指定節(jié)點時顯示半透明的CAD數(shù)據(jù)時,可以指定沒有在外觀上出現(xiàn)的部件的節(jié)點。
在半透明處理中,可以隨著時間從筆附近的部分向外擴(kuò)展半透明區(qū)域。使用該處理,可以盡可能地保持CAD數(shù)據(jù)的可容易識別的不透明狀態(tài)。為了用筆指定更寬的范圍,使筆位于一個點并持續(xù)長時間,從而可以用筆指定位置和方向。
當(dāng)將距筆預(yù)定距離的范圍設(shè)定為半透明時,可以便于用筆指定位置。當(dāng)根據(jù)目標(biāo)CAD數(shù)據(jù)的大小來調(diào)整要設(shè)定為透明的距離時,可以建立更便利的系統(tǒng)。
第五實施例在本實施例中,除了上述實施例之外,還調(diào)整列表圖像顯示。
在混合真實系統(tǒng)中,一般難以獲得例如人手的運動真實物體的準(zhǔn)確的深度信息。因此,僅通過在真實圖像(實際空間圖像)上重寫虛擬空間圖像來基本完成復(fù)合。
由于此原因,即使當(dāng)實際物體位于虛擬物體的前面時,實際物體也經(jīng)常被虛擬物體的圖像遮擋。然而,在實際使用時觀察者的手是很顯著的。因此,進(jìn)行例如識別肉色并禁止將虛擬空間圖像疊加在僅是手部分的真實圖像上的處理。
當(dāng)將該處理加到第一實施例的處理時,可以得到如圖15所示的混合真實空間圖像。
圖16是在實際空間圖像(真實圖像)中遮蓋手區(qū)域的處理的流程圖。在步驟S405中由RAM 3102獲得實際空間圖像之后,進(jìn)行根據(jù)圖16所示的流程圖的處理。
如上所述,圖像捕獲線程在步驟S420中獲得從HMD 110的攝像機(jī)111得到的實際空間圖像。將該圖像存儲在RAM 3102的預(yù)定區(qū)中(步驟S1601)。將在外部存儲裝置3106中預(yù)先注冊為“手的顏色”的顏色數(shù)據(jù)加載到RAM 3102(可以預(yù)先進(jìn)行加載)。通過使用該數(shù)據(jù)在步驟S1601中獲得的實際空間圖像中指定具有“手的顏色”的像素,并且指定由指定的像素形成的區(qū)域(下文中稱為“手區(qū)域”)(步驟S1602)。
當(dāng)表示“手的顏色”的數(shù)據(jù)表示“表示手的顏色的像素值”時,在步驟S1602中指定具有該像素值的像素。然而,“手的顏色”可能由于外環(huán)境的光線的狀況以及手和光線之間的角度而變化。因此,表示“手的顏色”的數(shù)據(jù)可以表示“表示手的顏色的像素值的范圍”。在這種情況下,在步驟S1602中指定具有在該范圍中的像素值的像素。
產(chǎn)生在實際空間圖像中表示手區(qū)域的圖像(遮蓋圖像)(步驟S1603)。將在步驟S1601中獲得的實際空間圖像繪制在RAM 3102的預(yù)定區(qū)中(步驟S1604)。將遮蓋圖像寫入RAM 3102的Z緩沖器(深度緩沖器)中(步驟S1605)。
正如已知的,在步驟S1605中的處理中,將手區(qū)域的每一個像素的Z值(當(dāng)從視點的位置沿視線方向設(shè)置Z軸時,沿視線方向Z值增大)寫入Z緩沖器。將Z值設(shè)置在例如視點的位置附近。為了稍后將虛擬圖像疊加到實際空間上,參考Z緩沖器。由于僅繪制具有比在Z緩沖器中注冊的Z值大的Z值的部分,因此如圖15所示,沒有將虛擬空間疊加在手區(qū)域上。
可以使用各種方法來禁止將虛擬空間圖像繪制在手區(qū)域上,本發(fā)明不限于上述方法。當(dāng)在計算機(jī)140中安裝已知的3D圖形加速器時,3D圖形加速器通過使用Z緩沖器來遮蓋特定的區(qū)域。
然而,在列表圖像中顯示組件樹通常比顯示手更重要。在這種情況下,必須以高于手的優(yōu)先級顯示組件樹。下面說明實現(xiàn)這一點的方法。
圖18是在列表圖像和手區(qū)域之間進(jìn)行切換以優(yōu)先顯示其中一個的處理的流程圖??梢栽诓襟ES401之前進(jìn)行根據(jù)圖18所示的流程圖的處理,即接收用于切換的操作??蛇x擇地,可以在處理期間一直接收該操作。
CPU 3101監(jiān)視輸入是否完成以指示以高于手區(qū)域的優(yōu)先級顯示列表圖像(在手區(qū)域的前面顯示列表圖像)(步驟S1801)。通過使用操作單元3104可以完成該輸入??蛇x擇地,可以通過按下在筆120上設(shè)置的筆按鈕122來輸入指令。
當(dāng)CPU 3101檢測到輸入(步驟S1802)時,該處理進(jìn)行到步驟S1803。當(dāng)表示應(yīng)當(dāng)以高于列表圖像的優(yōu)先級顯示手區(qū)域的標(biāo)記(狀態(tài))當(dāng)前為ON時,關(guān)閉(off)該標(biāo)記。當(dāng)該標(biāo)記當(dāng)前為OFF時,打開(on)該標(biāo)記(步驟S1803)。將該標(biāo)記的數(shù)據(jù)存儲在RAM 3102中。在該步驟中,通過參考該數(shù)據(jù)來得到當(dāng)前狀態(tài),并且控制該標(biāo)記的ON/OFF。
圖17是通過參考標(biāo)記在列表圖像和手區(qū)域之間進(jìn)行切換以優(yōu)先顯示其中一個的處理的流程圖。在步驟S406中進(jìn)行根據(jù)圖17所示的流程圖的處理。
與第一實施例相同,在步驟S405中將圖像繪制在預(yù)先存儲在RAM 3102的預(yù)定區(qū)中的實際空間圖像上。這時,繪制除了列表圖像之外的虛擬物體圖像(步驟S1701)。
通過參考在步驟S1803中切換的標(biāo)記來判斷是否以高于手區(qū)域的優(yōu)先級顯示(繪制)列表圖像(步驟S1702)。如果在步驟S1702中為“是”,則該處理進(jìn)行到步驟S1704,將列表圖像繪制在在步驟S1701中繪制的圖像上而不繪制Z緩沖器。其結(jié)果是,如圖14所示,以高于手區(qū)域的優(yōu)先級繪制列表圖像。
如果在步驟S1702中為“否”,則該處理進(jìn)行到步驟S1703,在參考Z緩沖器的同時將列表圖像繪制在在步驟S1701中繪制的圖像上。如上所述,將手區(qū)域的每一個像素的“最接近視點的位置”的Z值記錄在Z緩沖器中。參考該Z值,而不繪制具有表示深度比該Z值大的Z值的像素。其結(jié)果是,以高于列表圖像的優(yōu)先級繪制手區(qū)域。
如上所述,可以在手區(qū)域和列表圖像之間切換顯示的優(yōu)選級。然而,因為總是優(yōu)先繪制手區(qū)域和列表圖像中的一個,所以該機(jī)制不總是足夠的。
下面說明設(shè)置如下模式的處理根據(jù)需要以高于列表圖像的優(yōu)先級顯示手區(qū)域的模式;在從筆或手區(qū)域的位置移動的偏移位置顯示列表圖像的模式;以及在同時顯示列表圖像和手區(qū)域的同時,將列表圖像的透明度設(shè)置為高到可以通過該列表圖像看到手的模式,可以在確認(rèn)手或筆的同時進(jìn)行操作。
圖30是關(guān)于手區(qū)域和列表圖像的顯示的處理的流程圖。在步驟S405中的列表圖像顯示之前進(jìn)行根據(jù)圖30所示的流程圖的處理。
計算機(jī)140的操作者看著在顯示裝置3105的顯示屏上顯示的列表圖像。如果觀察者100想要對顯示的各部件的信息進(jìn)行一些操作,則操作者通過使用包含在操作單元3104中的鼠標(biāo)或者鍵盤進(jìn)行預(yù)定操作(例如按下或者點擊預(yù)定按鈕)來改變模式從而允許操作。
當(dāng)完成這種操作輸入時,將操作發(fā)出的指令發(fā)送到CPU3101。CPU 3101總是接收指令。當(dāng)輸入操作指令時,即當(dāng)CPU3101檢測到指令(步驟S3001)時,該處理進(jìn)行到步驟S3003,進(jìn)行設(shè)置以與第四實施例相同地進(jìn)行步驟S2122中的處理(根據(jù)圖22所示的流程圖的處理)。顯示不必總是與第四實施例相同??梢院唵蔚貙⒘斜韴D像顯示在任意位置。
如果在步驟S3001中為“否”,則該處理進(jìn)行到步驟S3002,判斷是否正在操作筆120(步驟S3002)。例如,當(dāng)在預(yù)定時間(例如3秒)內(nèi)筆120的位置和方向沒有變化預(yù)定的量或者更多,并且/或者在預(yù)定時間內(nèi)沒有按下筆按鈕122時,判斷為“沒有正在操作”筆120。
如果在步驟S3002中為“否”,則該處理進(jìn)行到步驟S3003,進(jìn)行上述處理。
如果在步驟S3002中為“是”,則該處理進(jìn)行到步驟S3011,通過參考標(biāo)記來判斷是否以高于手區(qū)域的優(yōu)先級來顯示(繪制)列表圖像(步驟S3011)。
如果在步驟S3011中為“是”,則該處理進(jìn)行到步驟S3012,進(jìn)行設(shè)置以在參考Z緩沖器的同時將列表圖像繪制在已繪制的圖像上(步驟S3012)。
如果在步驟S3011為“否”,則該處理進(jìn)行到步驟S3013,進(jìn)行設(shè)置以將列表圖像繪制在已繪制的圖像上而不參考Z緩沖器(步驟S3013)。
判斷是否設(shè)定將列表圖像布置在從圖像上的筆120的位置偏移的位置(偏移位置)的模式(步驟S3021)。與其他模式相同,可以改變該模式設(shè)置。將表示該設(shè)定模式的數(shù)據(jù)存儲在RAM 3102中。
如果在步驟S3021中為“是”,則該處理進(jìn)行到步驟S3022,進(jìn)行設(shè)置以將列表圖像布置在虛擬空間中從筆120的位置偏移預(yù)定距離的位置(步驟S3022)。
如果在步驟S3021中為“否”,則該處理進(jìn)行到步驟S3023進(jìn)行設(shè)置,與第一實施例相同地布置列表圖像(步驟S3023)。
判斷是否設(shè)定顯示半透明列表圖像的模式(步驟S3031)。通過操作單元3104可以設(shè)定該模式。將表示該設(shè)定模式的數(shù)據(jù)存儲在RAM 3102中。因此,在步驟S3031中,通過參考該數(shù)據(jù)來判斷是否設(shè)定半透明顯示模式。
如果在步驟S3031中為“否”,則該處理進(jìn)行到步驟S3033,通過控制多邊形的α值來產(chǎn)生具有不透明顏色的多邊形。對每一個部件進(jìn)行將描述該部件的信息的紋理映射到該多邊形的處理(步驟S3033)。即,與第一實施例相同地產(chǎn)生列表圖像。該處理也適用于2D列表圖像。與第一實施例相同地產(chǎn)生列表圖像。
如果在步驟S3031中為“是”,則該處理進(jìn)行到步驟S3032,通過控制多邊形的α值來產(chǎn)生具有透明顏色的多邊形。對每一個部件進(jìn)行將描述該部件的信息的紋理映射到該多邊形的處理,因此產(chǎn)生列表圖像(步驟S3032)。除了字符部分之外,將該紋理預(yù)先創(chuàng)建為透明的(將包含在除了字符部分之外的部分中的像素的α值設(shè)定為透明的)。
以上述配置,可以在筆操作期間顯示組件樹并確認(rèn)手的同時進(jìn)行操作。
可以適當(dāng)?shù)亟M合以上實施例。在這種情況下,以上述在實施例中的順序進(jìn)行實施例中的處理操作。因為對本領(lǐng)域技術(shù)人員是明顯的,所以當(dāng)組合實施例時,可以根據(jù)需要更改實施例,從而較早地進(jìn)行要較早進(jìn)行的處理。
其他實施例還可以通過以下方式實現(xiàn)本發(fā)明的目的向系統(tǒng)或設(shè)備提供記錄有用于實現(xiàn)上述實施例的功能的軟件程序代碼的記錄介質(zhì)(或者存儲介質(zhì)),使系統(tǒng)或設(shè)備的計算機(jī)(或者CPU或MPU)讀出并執(zhí)行在記錄介質(zhì)中存儲的程序代碼。在這種情況下,從記錄介質(zhì)讀出的程序代碼通過其自身來實現(xiàn)上述實施例的功能,存儲程序代碼的記錄介質(zhì)構(gòu)成本發(fā)明。
不僅當(dāng)由計算機(jī)執(zhí)行讀出的程序代碼時,而且當(dāng)在計算機(jī)上運行的操作系統(tǒng)(OS)根據(jù)程序代碼的指令進(jìn)行部分或全部實際處理時,實現(xiàn)上述實施例的功能。
當(dāng)將從存儲介質(zhì)讀出的程序代碼寫入插入計算機(jī)的功能擴(kuò)展板或者連接到計算機(jī)的功能擴(kuò)展單元的存儲器,并且功能擴(kuò)展板或者功能擴(kuò)展單元的CPU根據(jù)程序代碼的指令進(jìn)行部分或者全部實際處理時,也實現(xiàn)上述實施例的功能。
當(dāng)將本發(fā)明應(yīng)用于記錄介質(zhì)時,記錄介質(zhì)存儲對應(yīng)于上述流程圖(功能配置)的程序代碼。
由于在不脫離本發(fā)明的精神和范圍的情況下,顯然可以做出本發(fā)明的很多明顯不同的實施例,因此應(yīng)當(dāng)理解,除了在權(quán)利要求書中限定之外,本發(fā)明不限于其具體實施例。
優(yōu)先權(quán)要求本申請要求于2004年5月27日提交的日本專利申請2004-158025和2004年5月27日提交的日本專利申請2004-158026的優(yōu)先權(quán),其全部內(nèi)容在此引入作為參考。
權(quán)利要求
1.一種圖像處理方法,其產(chǎn)生由包括至少一個部件的虛擬物體形成的虛擬空間的圖像,其特征在于,所述圖像處理方法包括第一獲取步驟,其獲取觀察者的視點的位置和方向;第二獲取步驟,其獲取由所述觀察者佩戴在手上以進(jìn)行各種操作的指示裝置的位置和方向;布置步驟,其將用于顯示與所述部件有關(guān)的信息的列表的列表圖像布置在所述第二獲取步驟獲取的位置附近;虛擬空間圖像產(chǎn)生步驟,其產(chǎn)生根據(jù)所述視點的位置和方向看的在布置所述列表圖像之后的虛擬空間的圖像;以及輸出步驟,其將所述虛擬空間圖像產(chǎn)生步驟產(chǎn)生的圖像輸出到預(yù)定顯示裝置。
2.根據(jù)權(quán)利要求1所述的圖像處理方法,其特征在于,在所述布置步驟中,使在其上描述關(guān)于所述部件的信息的所述列表圖像的平面從所述視點的位置和方向可見地布置所述列表圖像。
3.根據(jù)權(quán)利要求1所述的圖像處理方法,其特征在于,在所述布置步驟中,將所述列表圖像布置在將連接所述第一獲取步驟獲取的位置和所述第二獲取步驟獲取的位置的線段內(nèi)分為t(1-t)的位置。
4.根據(jù)權(quán)利要求1所述的圖像處理方法,其特征在于,還包括布置控制步驟,該布置控制步驟根據(jù)是否顯示所述列表圖像的指令來控制所述布置步驟中的處理,以切換是否在所述虛擬空間圖像中包含所述列表圖像。
5.根據(jù)權(quán)利要求1所述的圖像處理方法,其特征在于,還包括轉(zhuǎn)換步驟,該轉(zhuǎn)換步驟根據(jù)將所述列表圖像改變?yōu)榘胪该鲌D像的指令將所述列表圖像轉(zhuǎn)換為半透明圖像。
6.根據(jù)權(quán)利要求1所述的圖像處理方法,其特征在于,還包括判斷步驟,其根據(jù)所述視點的位置和方向以及所述虛擬物體的位置來判斷沿所述視點的視線方向是否存在所述虛擬物體;以及透明度控制步驟,其當(dāng)所述判斷步驟判斷為存在所述虛擬物體時,使所述列表圖像的透明度高于當(dāng)所述判斷步驟判斷為不存在所述虛擬物體時的透明度。
7.根據(jù)權(quán)利要求1所述的圖像處理方法,其特征在于,還包括距離計算步驟,其計算所述指示裝置的位置和所述虛擬物體的位置之間的距離;以及列表圖像產(chǎn)生步驟,其產(chǎn)生用于顯示與如下部件有關(guān)的信息的列表的列表圖像,所述部件是在包含在所述虛擬物體中的部件的層次結(jié)構(gòu)中直到與所述距離計算步驟計算的距離相對應(yīng)的層級的部件。
8.根據(jù)權(quán)利要求1所述的圖像處理方法,其特征在于,所述列表圖像是用于顯示與如下部件有關(guān)的信息的列表的圖像,所述部件是在包含在所述虛擬物體中的部件中與所述第二獲取步驟獲取的所述指示裝置的位置最近的位置處的部件。
9.根據(jù)權(quán)利要求1所述的圖像處理方法,其特征在于,在所述虛擬空間圖像產(chǎn)生步驟中,當(dāng)所述列表圖像與實際空間圖像獲取步驟獲取的實際空間圖像中的手區(qū)域重疊時,根據(jù)用于指定所述手區(qū)域和所述列表圖像中的哪一個應(yīng)該繪制在前面的優(yōu)先級數(shù)據(jù)來產(chǎn)生所述虛擬空間的圖像。
10.根據(jù)權(quán)利要求9所述的圖像處理方法,其特征在于,還包括指定步驟,該指定步驟指定所述手區(qū)域和所述列表圖像中的哪一個應(yīng)該繪制在前面,其中,在該指定步驟中,將所指定的內(nèi)容設(shè)定為優(yōu)先級數(shù)據(jù)。
11.一種圖像處理方法,其產(chǎn)生對應(yīng)于觀察者的位置和方向的虛擬圖像,并將該虛擬圖像與對應(yīng)于所述觀察者的位置和方向的實際圖像合成,所述圖像處理方法包括獲取所述觀察者的位置和方向;根據(jù)所述觀察者的位置和方向產(chǎn)生所述虛擬圖像;以及將對應(yīng)于所述觀察者的位置和方向的所述實際圖像與所述虛擬圖像合成,其特征在于,包括獲取由所述觀察者操作的指示裝置的位置;識別所述指示裝置指示的部件;產(chǎn)生用于顯示與識別出的部件有關(guān)的信息的部件信息虛擬圖像;以及根據(jù)所述指示裝置的位置來確定所述部件信息虛擬圖像的布置位置。
12.根據(jù)權(quán)利要求11所述的圖像處理方法,其特征在于,根據(jù)所述指示裝置的位置和所述觀察者的位置和方向來確定所述布置位置。
13.根據(jù)權(quán)利要求11所述的圖像處理方法,其特征在于,與部件有關(guān)的信息包括與識別出的部件相關(guān)的多個部件的列表。
14.一種圖像處理設(shè)備,其產(chǎn)生由包括至少一個部件的虛擬物體形成的虛擬空間的圖像,其特征在于,所述圖像處理設(shè)備包括第一獲取單元,用于獲取觀察者的視點的位置和方向;第二獲取單元,用于獲取由所述觀察者佩戴在手上以進(jìn)行各種操作的指示裝置的位置和方向;布置單元,其將用于顯示與所述部件有關(guān)的信息的列表的列表圖像布置在所述第二獲取單元獲取的位置附近;虛擬空間圖像產(chǎn)生單元,其產(chǎn)生根據(jù)所述視點的位置和方向看的在布置所述列表圖像之后的虛擬空間的圖像;以及輸出單元,其將所述虛擬空間圖像產(chǎn)生單元產(chǎn)生的圖像輸出到預(yù)定顯示裝置。
15.一種圖像處理設(shè)備,其產(chǎn)生對應(yīng)于觀察者的位置和方向的虛擬圖像,并將該虛擬圖像與對應(yīng)于所述觀察者的位置和方向的實際圖像合成,所述圖像處理設(shè)備包括獲取單元,用于獲取所述觀察者的位置和方向;產(chǎn)生單元,用于根據(jù)所述觀察者的位置和方向來產(chǎn)生所述虛擬圖像;以及合成單元,用于將對應(yīng)于所述觀察者的位置和方向的所述實際圖像與所述虛擬圖像合成,其特征在于,包括獲取單元,用于獲取由所述操作者操作的指示裝置的位置;識別單元,用于識別由所述指示裝置指示的部件;產(chǎn)生單元,用于產(chǎn)生用于顯示與識別出的部件有關(guān)的信息的部件信息虛擬圖像;以及確定單元,用于根據(jù)所述指示裝置的位置來確定所述部件信息虛擬圖像的布置位置。
16.一種程序,其特征在于,使計算機(jī)執(zhí)行根據(jù)權(quán)利要求1所述的圖像處理方法。
17.一種程序,其特征在于,使計算機(jī)執(zhí)行根據(jù)權(quán)利要求11所述的圖像處理方法。
全文摘要
獲取觀察者(100)的視點的位置和方向。獲取筆(120)的位置和方向。在筆(120)的位置附近布置列表圖像。產(chǎn)生根據(jù)視點的位置和方向看的在布置列表圖像之后的虛擬空間的圖像。將產(chǎn)生的圖像輸出到HMD(110)的顯示屏。
文檔編號G06F3/00GK1914646SQ20058000384
公開日2007年2月14日 申請日期2005年5月23日 優(yōu)先權(quán)日2004年5月27日
發(fā)明者守田憲司, 奧野泰弘, 野呂英生, 片山昭宏 申請人:佳能株式會社