專利名稱:虛擬桌面坐標(biāo)變換的制作方法
虛擬桌面坐標(biāo)變換
背景技術(shù):
桌面隱喻被廣泛用于嘗試使計(jì)算系統(tǒng)對用戶更為友好。盡管已證明桌面隱喻比命令行界面更易于使用,但一些用戶還是會因?yàn)槭髽?biāo)、跟蹤球、跟蹤墊和其他輸入設(shè)備而沮喪。
發(fā)明內(nèi)容
提供本發(fā)明內(nèi)容以便以簡化的形式介紹將在以下具體實(shí)施方式
中進(jìn)一步描述的一些概念。本發(fā)明內(nèi)容并不旨在標(biāo)識所要求保護(hù)主題的關(guān)鍵特征或必要特征,也不旨在用于限制所要求保護(hù)主題的范圍。此外,所要求保護(hù)的主題不限于解決在本發(fā)明的任一部分中提及的任何或所有缺點(diǎn)的實(shí)現(xiàn)。根據(jù)本公開的一些方面,計(jì)算系統(tǒng)被配置成提供可使用自然的手勢來操縱的虛擬桌面。計(jì)算系統(tǒng)包括深度圖像分析模塊,該深度圖像分析模塊跟蹤人類在固定的、世界空間坐標(biāo)系中的世界空間姿態(tài)。計(jì)算系統(tǒng)還包括交互模塊,該交互模塊用可移動的、界面空間坐標(biāo)系來建立虛擬交互區(qū),該可移動的、界面空間坐標(biāo)系跟蹤人類并相對于固定的、世界空間坐標(biāo)系移動。計(jì)算系統(tǒng)還包括變換模塊,該變換模塊將在固定的、世界空間坐標(biāo)系中定義的位置變換成在可移動的、界面空間坐標(biāo)系中定義的位置。
圖1示意性地示出一人類,該人類在虛擬交互區(qū)內(nèi)作出各姿勢來控制由電視監(jiān)視器顯示的虛擬桌面中的光標(biāo)位置。圖2示出了用于表示人類目標(biāo)的示例性身體模型。圖3示出了用于表示人類目標(biāo)的示例性骨架模型的基本上正面的視圖。圖4示出了用于表示人類目標(biāo)的示例性骨架模型的斜視圖。圖5示出了用于表示人類目標(biāo)的示例性網(wǎng)格模型。圖6示意性地示出用于相對于人類目標(biāo)的模型來定位虛擬交互區(qū)的定位矢量。圖7示意性地示出響應(yīng)于人類改變在世界空間中的定向而相對于模型空間/世界空間坐標(biāo)系來移動的界面空間坐標(biāo)系。圖8示意性地示出了手的位置從模型空間/世界空間坐標(biāo)至界面空間/桌面空間坐標(biāo)的變換。圖9示意性地示出一人類,該人類在另一虛擬交互區(qū)內(nèi)作出姿勢來控制由電視監(jiān)視器顯示的虛擬桌面中的光標(biāo)位置。圖10示意性示出根據(jù)本發(fā)明的一實(shí)施例的計(jì)算系統(tǒng)。圖11示出提供虛擬桌面的方法。
具體實(shí)施例方式本公開涉及用戶可在不必持有任何運(yùn)動檢測控件(例如,加速計(jì)、陀螺儀等)或佩帶任何特定的標(biāo)記器(例如,向后反射器)的情況下使用自然的姿勢(例如,手部移動)來控制的虛擬桌面。具體而言,使用深度相機(jī)或用于獲取深度信息的其他源來高效并精確地建模和跟蹤用戶。將用戶在世界空間中的位置和定向用作建立交互區(qū)的基準(zhǔn),該交互區(qū)具有跟蹤了用戶的位置和定向的位置和定向。用戶可在該交互區(qū)內(nèi)移動他的手或其他身體部位來控制虛擬桌面中的虛擬對象(例如,光標(biāo))的位置。圖1示出目標(biāo)跟蹤系統(tǒng)10的非限制性示例。具體而言,圖1示出了游戲系統(tǒng)12, 該游戲系統(tǒng)12可以用于玩各種不同的游戲、播放一個(gè)或多個(gè)不同的媒體類型、和/或控制或操縱非游戲應(yīng)用。圖1還示出高清電視(即或HDTV 16)形式的顯示器14,該顯示器14 可被用于向用戶(諸如,用戶18)呈現(xiàn)視覺信息。此外,圖1示出了深度相機(jī)20形式的捕捉設(shè)備,該捕捉設(shè)備可被用于視覺地監(jiān)視一個(gè)或多個(gè)用戶(例如,用戶18)。目標(biāo)跟蹤系統(tǒng)可以用于識別、分析和/或跟蹤諸如用戶18之類的一個(gè)或多個(gè)目標(biāo)??蓪⒛繕?biāo)移動解釋為操作系統(tǒng)和/或應(yīng)用控制。事實(shí)上,操作系統(tǒng)和/或應(yīng)用的任何可控方面可以通過用戶18之類的目標(biāo)的移動來控制。圖1示出了一場景,在該場景中使用深度相機(jī)20來跟蹤用戶18,使得用戶18的移動可以被計(jì)算系統(tǒng)12解釋成可用來對正被計(jì)算系統(tǒng)12執(zhí)行的虛擬桌面進(jìn)行操縱的控制。 換言之,用戶18可以使用他的移動來控制虛擬桌面。計(jì)算系統(tǒng)使用HDTV 16來向用戶18 視覺地呈現(xiàn)三維桌面環(huán)境22。此外,計(jì)算系統(tǒng)使用HDTV 16來視覺地呈現(xiàn)用戶18用其移動來控制的虛擬光標(biāo)2 和虛擬光標(biāo)Mb。例如,用戶的右手18a控制虛擬光標(biāo)Ma,且用戶的左手(被遮擋)控制虛擬光標(biāo)Mb。計(jì)算系統(tǒng)12和深度相機(jī)20可用于識別和分析用戶18在固定的、世界空間坐標(biāo)系 26中的移動。如以下詳細(xì)解釋的,在與世界空間坐標(biāo)系相對應(yīng)的模型空間坐標(biāo)系中可通過機(jī)器可讀模型來表示用戶18??稍谑澜缈臻g中概念化交互區(qū)觀,并可在模型空間中實(shí)例化交互區(qū)28。交互區(qū)可被配置成當(dāng)用戶在世界空間中移動時(shí)與該用戶一起移動。由此,固定的、世界空間坐標(biāo)系26 和可移動的、界面空間坐標(biāo)系30間的關(guān)系可隨著用戶在世界空間中的移動而改變。結(jié)果, 在模型空間中實(shí)例化的交互區(qū)的可移動的、界面空間坐標(biāo)系可相對于固定的、模型空間坐標(biāo)系而改變。用戶的手或其他身體部位在可移動的、界面空間坐標(biāo)系中的位置可用作確定在虛擬桌面的桌面空間坐標(biāo)系中的相應(yīng)位置(例如,光標(biāo)位置)的基礎(chǔ)。換言之,手在世界空間中的絕對位置并不直接用于尋找虛擬桌面中的對應(yīng)位置。相反,使用手在跟蹤用戶在世界空間中的移動的交互區(qū)內(nèi)的位置來尋找虛擬桌面中的對應(yīng)位置。通過這種方式,用戶可舒服地使用相同的移動和姿勢來控制虛擬桌面,甚至在用戶向前移動、向后移動、向左移動、 或向右移動、和/或向左轉(zhuǎn)動、向右轉(zhuǎn)動、向上轉(zhuǎn)動或向下轉(zhuǎn)動時(shí)也是如此。任何給定的世界空間位置可取決于用戶在世界空間中的位置和定向而與各種不同的虛擬桌面位置相對應(yīng)。同樣,相同的虛擬桌面位置也可取決于用戶在世界空間中的位置和定向而與各種不同的世界空間位置相對應(yīng)。如下面參考圖10所述,可以使用各種不同類型的目標(biāo)跟蹤系統(tǒng),而不偏離本公開的精神。參考圖1描述的場景是作為示例來提供的,但并不意味著以任何方式來進(jìn)行限制。 相反,所示出的場景旨在展示可以在不背離本公開的范圍的情況下應(yīng)用于各種各樣不同的應(yīng)用的一般概念。如上所介紹地,可以用計(jì)算機(jī)可讀模塊來表示人類。圖2示出了身體模型70形式的示例計(jì)算機(jī)可讀模型的非限制性視覺表示。身體模型70是被建模的目標(biāo)(例如,圖1中用戶18)的機(jī)器表示。該身體模型可包括一個(gè)或多個(gè)數(shù)據(jù)結(jié)構(gòu),這一個(gè)或多個(gè)數(shù)據(jù)結(jié)構(gòu)包括以游戲或其他應(yīng)用/操作系統(tǒng)的語言來共同定義被建模的目標(biāo)的一組變量。目標(biāo)的模型可在不脫離本發(fā)明的范圍的情況下不同地配置。在某些示例中,模型可包括將目標(biāo)表示為包括剛性和/或可變形形狀,即身體部位的三維模型的一個(gè)或多個(gè)數(shù)據(jù)結(jié)構(gòu)。每一身體部位可被表征為數(shù)學(xué)圖元,其示例包括但不限于球體、各向異性地縮放的球體、圓柱體、各向異性圓柱體、平滑圓柱體、方形、斜面方形、棱柱等。例如,圖2中的身體模型70包括身體部位bpl到bpl4,這些身體部位中的每一個(gè)都表示被建模的目標(biāo)的一不同部分。每一身體部位都是三維形狀。例如,bp3是表示被建模的目標(biāo)的左手的矩形棱柱,而bp5是表示被建模的目標(biāo)的左上臂的八面棱柱。身體模型 70是示例性的,因?yàn)樯眢w模型可包含任何數(shù)量的身體部位,這些身體部位中的每一個(gè)都可以是被建模的目標(biāo)的對應(yīng)部分的任何機(jī)器可理解的表示。包括兩個(gè)或更多個(gè)身體部位的模型還可包括一個(gè)或多個(gè)關(guān)節(jié)。每一關(guān)節(jié)可允許一個(gè)或多個(gè)身體部位相對于一個(gè)或多個(gè)其他身體部位移動。例如,表示人類目標(biāo)的模型可包括多個(gè)剛性和/或可變形身體部位,其中某些身體部位可表示人類目標(biāo)的對應(yīng)的解剖學(xué)身體部位。此外,該模型的每一身體部位可包括一個(gè)或多個(gè)結(jié)構(gòu)件(即,“骨骼”),且關(guān)節(jié)位于相鄰骨骼的交叉點(diǎn)處。可以理解,某些骨骼可對應(yīng)于人類目標(biāo)中的解剖學(xué)骨骼,和/或某些骨骼在人類目標(biāo)中可能不具有對應(yīng)的解剖學(xué)骨骼。骨骼和關(guān)節(jié)可共同構(gòu)成骨架模型,它們可以是該模型的構(gòu)成元素。骨架模型可包括每一身體部位的一個(gè)或多個(gè)骨架構(gòu)件以及相鄰骨架構(gòu)件之間的關(guān)節(jié)。示例性骨架模型80 和示例性骨架模型82分別如圖3和4所示。圖3示出了從前面查看的具有關(guān)節(jié)jl到j(luò)33 的骨架模型80。圖4示出了從斜視圖看的也具有關(guān)節(jié)jl到j(luò)33的骨架模型82。骨架模型 82還包括滾動關(guān)節(jié)j34到j(luò)47,其中每一滾動關(guān)節(jié)可用于跟蹤軸向滾動角。例如,軸向滾動角可用于定義肢相對于其父肢和/或軀干的旋轉(zhuǎn)定向。例如,如果骨架模型示出手臂的軸向旋轉(zhuǎn),則可使用滾動關(guān)節(jié)j40來指示相關(guān)聯(lián)的腕所指向的方向(例如,手掌向上)。由此,盡管關(guān)節(jié)可受力并可調(diào)整骨架模型,但如下所述,可改為構(gòu)造并利用滾動關(guān)節(jié)來跟蹤軸向滾動角。更一般地,通過檢查肢相對于其父肢和/或軀干的定向,可確定軸向滾動角。例如,如果正在檢查小腿,則可檢查小腿相對于相關(guān)聯(lián)的大腿和髖部的定向以便確定軸向滾動角。如上所述,某些模型可包括用作被建模的目標(biāo)的機(jī)器表示的骨架和/或身體部位。在某些實(shí)施例中,模型可另選地或另外地包括線框網(wǎng)格,該線框網(wǎng)格可包括剛性多邊形網(wǎng)格、一個(gè)或多個(gè)可變形網(wǎng)格或兩者的任意組合的分層結(jié)構(gòu)。作為一個(gè)非限制性示例,圖5 示出了模型90,該模型90包括排列成限定身體模型的形狀的網(wǎng)格的多個(gè)三角形(例如,三角形92)。這一網(wǎng)格可包括每一多邊形邊處的彎曲限制。當(dāng)使用網(wǎng)格時(shí),可選擇共同構(gòu)成該網(wǎng)格的三角形和/或其他多邊形的數(shù)量來達(dá)到質(zhì)量和計(jì)算開銷之間的所需平衡。更多三角形可提供更高的質(zhì)量和/或更準(zhǔn)確的模型,而更少三角形可需要更少的計(jì)算。包括多邊形網(wǎng)格的身體模型不需要包括骨架,但在某些實(shí)施例中可包括骨架。
上述身體部位模型、骨架模型和多邊形網(wǎng)格是可用作被建模的目標(biāo)的機(jī)器表示的機(jī)器可讀模型的非限制示例類型。其他模型也在本發(fā)明的范圍之內(nèi)。例如,某些模型可包括片、非均勻理性B樣條、細(xì)分表面、或其他高階表面。模型還可包括表面紋理和/或其他信息來更準(zhǔn)確地表示被建模的目標(biāo)的衣著、頭發(fā)和/或其他方面。模型可任選地包括與當(dāng)前姿態(tài)、一個(gè)或多個(gè)過去的姿態(tài)和/或模型物理學(xué)有關(guān)的信息。應(yīng)該理解,可擺姿態(tài)的任何模型與本文描述的目標(biāo)識別、分析和跟蹤是兼容的。如上所述,模型用作諸如圖1中的用戶18等目標(biāo)的表示。當(dāng)目標(biāo)在物理空間中移動時(shí),可使用來自諸如圖1中的深度相機(jī)20等捕捉設(shè)備的信息來調(diào)整模型的姿態(tài)和/或基本大小/形狀,以使其能更準(zhǔn)確地表示該目標(biāo)。一個(gè)示例性方法包括通過從源接收目標(biāo)的觀察到的深度圖像以及獲得目標(biāo)的姿態(tài)模型來跟蹤目標(biāo)。姿態(tài)模型被光柵化成合成的深度圖像。然后至少部分地基于觀察到的深度圖像和合成的深度圖像之間的差異來調(diào)整模型的姿態(tài)。這個(gè)方法可被稱為模型擬合。另一示例性方法包括從源接收目標(biāo)的觀察到的深度圖像,以及分析該觀察到的深度圖像以確定目標(biāo)的各可能的關(guān)節(jié)位置以及這些關(guān)節(jié)位置是準(zhǔn)確的相對置信度。這個(gè)方法可被稱為樣本(即,該方法通過示例來尋找姿態(tài))。這個(gè)樣本方法關(guān)注于使目標(biāo)(例如, 人類)的各姿態(tài)與已知姿態(tài)的之前訓(xùn)練集合相匹配。應(yīng)該理解,在此公開的控制虛擬桌面的方法包括對交互區(qū)的概念化以及從交互區(qū)到虛擬桌面的坐標(biāo)變換,該方法與模型擬合、樣本或?qū)嶋H上用于以機(jī)器可讀模型的對應(yīng)姿態(tài)來表示人類目標(biāo)的姿態(tài)的任何其他技術(shù)相兼容。圖6示意性地示出簡化形式的模型100。如上所介紹地,可使用基于模型100的位置和定向的位置和定向來建立交互區(qū)102。交互區(qū)102相對于模型100的位置可通過一個(gè)或多個(gè)矢量來描述。例如,固定長度的矢量104可以以遠(yuǎn)離模型的固定方向延伸至靠近交互區(qū)的角落106的左上方。取決于用來表示人類的模型的類型,這一矢量可使用各種不同的瞄準(zhǔn)導(dǎo)向從模型上的各個(gè)不同的位置延伸出去。作為一個(gè)非限制性示例,模型可具有胸部片段108(例如,多邊形、表面等),在這種情況下,該矢量可以以朝向左上方的固定角度從該胸部片段108的中心處延伸出去。在其他實(shí)施例中,可參考一個(gè)或多個(gè)模型關(guān)節(jié)來建立交互區(qū)。在一些實(shí)施例中,可將模型構(gòu)建成具有用來確定交互區(qū)的位置的可見片段(例如,骨骼)。應(yīng)理解,可使用用于確定交互區(qū)相對于模型的位置的任何合適的技術(shù),而不偏離本公開的精神。此外,應(yīng)該理解,通過確定交互區(qū)在模型空間中相對于模型的位置,將交互區(qū)概念化為在世界空間中的人類的前面,因?yàn)樵谌祟愒谑澜缈臻g中移動和/或改變姿態(tài)時(shí)模型提供了人類的縮放表示。圖7示出具有跟蹤模型114并相對于固定的、模型空間坐標(biāo)系116而移動的可移動的、界面空間坐標(biāo)系112的交互區(qū)110。因?yàn)榻缑婵臻g跟蹤用戶,因此界面空間始終在用戶的正前方,或始終處于在所建立的任何其他空間關(guān)系中。用戶可在世界空間中到處移動和/或改變定向,并且交互區(qū)將自動地跟蹤用戶。應(yīng)該理解,在一些實(shí)施例中,用戶可選擇性地調(diào)整交互區(qū)的相對位置(例如,提高、降低、傾斜等)。圖8示意性地描繪了用于獲取用戶在交互區(qū)中的那一部分的界面空間位置的方法(即,獲取用戶的該部分的界面空間坐標(biāo))。在交互區(qū)中向外伸出手的用戶在模型空間122中可由模型120來建模,其中模型空間122具有其自己的坐標(biāo)系,即由各正交矢量Xm,4所定義的模型空間坐標(biāo)系。模型空間坐標(biāo)系是基于人類和深度相機(jī)所存在的世界空間坐標(biāo)系的——即,模型 120盡可能準(zhǔn)確地表示人類,而模型空間122則盡可能準(zhǔn)確地表示世界空間。由此,對模型空間中的模型所作出的計(jì)算在操作上等效于對世界空間中的人類所作出的對應(yīng)計(jì)算。如所描繪地,模型120具有在交互區(qū)中向外伸出的手,其中交互區(qū)可以被建模在界面空間124中,該界面空間IM具有其自己的坐標(biāo)系,即由所示實(shí)施例中的各正交矢量 之所定義的界面空間坐標(biāo)系。盡管模型空間坐標(biāo)系和界面空間坐標(biāo)系均被描述為笛卡爾坐標(biāo)系,但應(yīng)理解,可使用任何其他合適的坐標(biāo)系而不偏離本公開的精神。當(dāng)交互區(qū)不具有長方體形狀時(shí),不同的坐標(biāo)系可以是有用的。例如,如果交互區(qū)具有球形殼體的一個(gè)或多個(gè)片段的形狀時(shí),極坐標(biāo)系可以是有用的。如上所述,可基于由深度相機(jī)所獲取的用戶的深度圖像來確定模型120的位置和定向。因此,深度相機(jī)可建立模型空間坐標(biāo)系的原點(diǎn),如在原Am 1 處所示出的。在由模型空間坐標(biāo)系所建立的模型空間參照系中,模型矢量1 表示從原點(diǎn)m 126 延伸至模型120上的參考點(diǎn)130的矢量,其中正如以上參考圖6所描述地,參考點(diǎn)130提供了用于建立交互區(qū)相對于模型的位置的基礎(chǔ)。如圖8中所描繪的,參考點(diǎn)130可以是在模型120的胸部上的點(diǎn),然而如上所述,應(yīng)理解,這是非限制性實(shí)施例,模型120上的另一合適的位置可以被使用。如進(jìn)一步示出的,交互區(qū)矢量132表示交互區(qū)相對于模型120的位置。換言之,交互區(qū)矢量132表示從參考點(diǎn)130到交互區(qū)中的交互區(qū)位置134的矢量。如所描繪的,交互區(qū)位置134是交互區(qū)的左上角,但是可使用交互區(qū)中的任何其他位置。如圖8中進(jìn)一步示出的,模型120的手延伸至交互區(qū)內(nèi)的感興趣點(diǎn),即手位置136。因此,手矢量138表示從原 Am 1 到手位置136的矢量。術(shù)語“選擇器點(diǎn)(selector point) ”可用來指要在交互區(qū)內(nèi)進(jìn)行跟蹤的該手或者任何其他身體部位的位置。手位置136是“感興趣點(diǎn)”,因?yàn)檫@個(gè)位置代表正在虛擬用戶界面內(nèi)進(jìn)行交互的用戶,并且因此手的位置可用來引導(dǎo)屏幕上顯示的界面元素(例如,光標(biāo))。在一些實(shí)施例中, 可在交互區(qū)內(nèi)跟蹤預(yù)先確定的身體部位(例如,雙手),并使用該身體部位來控制界面元素。而且,盡管深度相機(jī)可確定世界空間坐標(biāo)系或模型空間坐標(biāo)系中的手位置136,該手位置136還可被變換成交互區(qū)的界面空間參照系,使得手在交互區(qū)內(nèi)的位置能用來控制界面元素,或者用于任何其他合適的原因。因此,基于前面提到的矢量的位置和定向信息,可應(yīng)用一逆矩陣來確定界面空間手矢量140,該界面空間手矢量140指示模型120的手相對于界面空間參照系的位置。這個(gè)方法將以下更詳細(xì)地描述。界面空間坐標(biāo)系在界面空間124中可具有任何合適的原點(diǎn)。作為一示例,圖8描繪了在交互區(qū)的左上角處的原點(diǎn)i 142,該原點(diǎn)與交互區(qū)位置134在同一位置。因此,界面空間手矢量140可以是從原點(diǎn)i 142延伸至手的位置的矢量。然后,在界面空間坐標(biāo)系中, 界面空間手矢量140可經(jīng)由如由圖案化箭頭所指示的、各界面空間坐標(biāo)方向中的每一個(gè)方向上的分量來表示。注意,定義界面空間手矢量140,使得每一個(gè)分量可具有0和1之間的長度。因此,然后經(jīng)由限定交互區(qū)的大小(即,高度、寬度和深度)的乘法因子,可在逆變換矩陣內(nèi)考慮各物理維度。
使用由各自在模型空間坐標(biāo)系中表示的手矢量138和模型矢量1 提供的信息, 在界面空間坐標(biāo)系中界面空間手矢量140可被計(jì)算如下界面空間手矢量=(手矢量-模型矢量)Γ1。其中,Γ1表示從模型空間坐標(biāo)系到界面空間坐標(biāo)系的變換矩陣,并且Γ1包括用于確定交互區(qū)相對于模型的位置的信息,即交互區(qū)矢量132。因此,矩陣T表示逆變換,即從界面空間坐標(biāo)系到模型空間坐標(biāo)系的變換(界面空間手矢量)T+模型矢量=手矢量。出于說明的目的,矩陣T的形成將在以下詳細(xì)描述,其中在形成矩陣T之后,可計(jì)算矩陣T的逆以得到Γ1。采用由單位矢量天,λ,之定義的界面空間坐標(biāo)系,并采用由單位矢量九,久,1定義的模型空間坐標(biāo)系,在模型空間坐標(biāo)系中界面空間單位矢量可被描述如下毛=XxXm+ xyym + XzZmλ = yxxm + yyym + yJmZj = ZxXm + zyym + ZzZm其中,模型空間單位矢量的系數(shù)(即系數(shù)xx,yx等)是標(biāo)量值。這些值是已知的, 因?yàn)榻换^(qū)在模型空間坐標(biāo)系中的位置和定向是已知的。在模型空間坐標(biāo)系中交互區(qū)矢量132可以被表示為Vm = VxXm + vyym +vzzm.同樣,系數(shù)Vx、Vy和Vz是標(biāo)量值并且是已知的,因?yàn)榻换^(qū)在模型空間坐標(biāo)系中的位置和定向是已知的。如圖8所示,采用交互區(qū)的在j),方向上是高度H、在毛方向上是寬度W、且在f,方向上是深度D的各維度,變換矩陣T被寫為如下同樣,值H、W、D是已知的,因?yàn)榻换^(qū)的大小是已知的。因此,可計(jì)算矩陣T內(nèi)的所有條目。因此,也可計(jì)算T的逆來確定Γ1。在這樣做了以后,可經(jīng)由以下公式來計(jì)算界面空間手矢量140 界面空間手矢量=(手矢量-模型矢量)Γ1,其中,手矢量138和模型矢量1 被表示在模型空間坐標(biāo)系中,且計(jì)算得到的界面空間手矢量140將被表示在界面空間坐標(biāo)系中。最后,如圖8中進(jìn)一步示出的,在得到了界面空間坐標(biāo)系中的界面空間手矢量140 后,可通過顯示器146將界面元素144顯示在由界面空間手矢量140所定義的位置處??山⒔缑婵臻g坐標(biāo)系,以用縮放比例或者不用縮放比例來模仿所顯示的虛擬桌面的桌面空間坐標(biāo)系。盡管以上描述使用了從笛卡爾模型空間坐標(biāo)系到笛卡爾界面空間坐標(biāo)系的變換,但應(yīng)理解,相同的原理可用來從實(shí)際上任何坐標(biāo)系變換到實(shí)際上任何其他坐標(biāo)系。例如, 圖9在某種程度上示意性地示出至少部分地由兩個(gè)相交的球形殼體片段來限定的交互區(qū) 150,每一片段在空間上以人類的一肩部為中心。像這個(gè)交互區(qū)150之類的具有彎曲空間的交互區(qū)可向用戶提供更精確的控制。彎曲的交互區(qū)可以以用戶的肩部、肘部或空間上位于用戶周圍的實(shí)際上任何點(diǎn)為中心。所示出的示例并不是限制性的,但更確切地說示出了實(shí)際上任何改變都在本公開的精神之內(nèi)。當(dāng)用戶的每一手臂都具有其自己的交互區(qū)時(shí),可使用分開的變換矩陣來將那條手臂的手位置從世界空間/模型空間坐標(biāo)變換成界面空間坐標(biāo)。在此所述的方法和過程可以綁定到各種不同類型的計(jì)算系統(tǒng)。圖1和9示出了計(jì)算系統(tǒng)12、HDTV 16和深度相機(jī)20形式的非限制性示例。作為另一更一般的示例,圖10示意性地示出可以執(zhí)行這里所述的一個(gè)或多個(gè)目標(biāo)識別、跟蹤和分析方法和過程的計(jì)算系統(tǒng) 160。計(jì)算系統(tǒng)160可以采取各種不同的形式,尤其包括但不限于游戲控制臺、個(gè)人計(jì)算系統(tǒng)、軍用跟蹤和/或定標(biāo)系統(tǒng)、以及提供綠屏或者運(yùn)動捕捉功能的特征采集系統(tǒng)。計(jì)算系統(tǒng)160可包括邏輯子系統(tǒng)162、數(shù)據(jù)保持子系統(tǒng)164、顯示子系統(tǒng)166和/ 或捕捉設(shè)備168。計(jì)算系統(tǒng)可任選地包括圖10中未示出的組件,和/或圖10中所示的某些組件可以是未集成在計(jì)算系統(tǒng)中的外圍組件。邏輯子系統(tǒng)162可包括被配置為執(zhí)行一個(gè)或多個(gè)指令的一個(gè)或多個(gè)物理設(shè)備。例如,邏輯子系統(tǒng)可被配置成執(zhí)行一個(gè)或多個(gè)指令,該一個(gè)或多個(gè)指令是一個(gè)或多個(gè)程序、例程、對象、組件、數(shù)據(jù)結(jié)構(gòu)、或其它邏輯構(gòu)造的一部分。可實(shí)現(xiàn)此類指令以執(zhí)行任務(wù)、實(shí)現(xiàn)數(shù)據(jù)類型、變換一個(gè)或多個(gè)設(shè)備的狀態(tài)、或以其它方式得到所需結(jié)果。邏輯子系統(tǒng)可包括被配置成執(zhí)行軟件指令的一個(gè)或多個(gè)處理器。另外或另選地,邏輯子系統(tǒng)可包括被配置成執(zhí)行硬件或固件指令的一個(gè)或多個(gè)硬件或固件邏輯機(jī)器。邏輯子系統(tǒng)可任選地包括分布在兩個(gè)或更多個(gè)設(shè)備上的獨(dú)立組件,在某些實(shí)施例中這些獨(dú)立組件可位于遠(yuǎn)程。數(shù)據(jù)保持子系統(tǒng)164可包括一個(gè)或多個(gè)物理設(shè)備,該一個(gè)或多個(gè)物理設(shè)備被配置為保持可由邏輯子系統(tǒng)執(zhí)行以實(shí)現(xiàn)此處所述的方法和過程的數(shù)據(jù)和/或指令。在實(shí)現(xiàn)這樣的方法和過程時(shí),可以變換數(shù)據(jù)保持子系統(tǒng)164的狀態(tài)(例如,以保持不同的數(shù)據(jù))。數(shù)據(jù)保持子系統(tǒng)164可以包括可移動介質(zhì)和/或內(nèi)置設(shè)備。數(shù)據(jù)保持子系統(tǒng)164可以包括光學(xué)存儲器設(shè)備、半導(dǎo)體存儲器設(shè)備(如RAM、EEPR0M、閃存等)、和/或磁存儲器設(shè)備等。數(shù)據(jù)保持子系統(tǒng)164可以包括具有以下特性中的一個(gè)或更多個(gè)特性的設(shè)備易失性、非易失性、 動態(tài)、靜態(tài)、讀/寫、只讀、隨機(jī)存取、順序存取、位置可尋址、文件可尋址、以及內(nèi)容可尋址。 在某些實(shí)施例中,可以將邏輯子系統(tǒng)162和數(shù)據(jù)保持子系統(tǒng)164集成到一個(gè)或更多個(gè)常見設(shè)備中,如專用集成電路或片上系統(tǒng)。圖10還示出使用計(jì)算機(jī)可讀可移動介質(zhì)170形式的數(shù)據(jù)保存子系統(tǒng)的一方面,該方面可用于存儲和/或傳送可執(zhí)行來實(shí)現(xiàn)此處所述的方法和過程的數(shù)據(jù)和/或指令。術(shù)語“模塊”可用于描述被實(shí)現(xiàn)來執(zhí)行一個(gè)或多個(gè)特定功能的計(jì)算系統(tǒng)160的一個(gè)方面。在某些情況下,可通過邏輯子系統(tǒng)162執(zhí)行由數(shù)據(jù)保持子系統(tǒng)164所保持的指令來實(shí)例化這一模塊。應(yīng)該理解,可從相同的應(yīng)用、代碼塊、對象、例程、和/或功能實(shí)例化不同模塊和/或引擎。同樣,在某些情況下,可通過不同的應(yīng)用、代碼塊、對象、例程、和/或功能來實(shí)例化相同的模塊和/或引擎。如此處所述,計(jì)算系統(tǒng)160包括深度圖像分析模塊172,該深度圖像分析模塊172 被配置成跟蹤人類在固定的、世界空間坐標(biāo)系中的世界空間姿態(tài)。術(shù)語“姿態(tài)”指人類的位置、定向、身體安排等。如此處所述,計(jì)算系統(tǒng)160包括交互模塊174,該交互模塊174被配置成用可移動的、界面空間坐標(biāo)系來建立虛擬交互區(qū),該可移動的、界面空間坐標(biāo)系跟蹤人類并相對于固定的、世界空間坐標(biāo)系移動。如此處所述,計(jì)算系統(tǒng)160包括變換模塊176,該變換模塊176被配置成將在固定的、世界空間坐標(biāo)系中定義的位置變換成在可移動的、界面空間坐標(biāo)系中定義的位置。計(jì)算系統(tǒng)160還包括顯示模塊178,該顯示模塊178被配置成輸出顯示信號,該顯示信號用于在與可移動的、界面空間坐標(biāo)系中定義的位置相對應(yīng)的桌面空間坐標(biāo)處顯示界面元素。顯示子系統(tǒng)166可用于呈現(xiàn)由數(shù)據(jù)保持子系統(tǒng)164所保持的數(shù)據(jù)的可視表示。由于此處所描述的方法和過程改變由數(shù)據(jù)保持子系統(tǒng)保持的數(shù)據(jù),并由此變換數(shù)據(jù)保持子系統(tǒng)的狀態(tài),因此同樣可以變換顯示子系統(tǒng)166的狀態(tài)以在視覺上表示底層數(shù)據(jù)的改變。作為一個(gè)非限制性示例,可通過顯示子系統(tǒng)166以響應(yīng)于用戶在物理空間中的移動而在虛擬桌面中改變位置的界面元素(例如,光標(biāo))的形式來反映這里所述的目標(biāo)識別、跟蹤和分析。顯示子系統(tǒng)166可以包括使用實(shí)際上任何類型的技術(shù)的一個(gè)或多個(gè)顯示設(shè)備??蓪⑦@些顯示設(shè)備與邏輯子系統(tǒng)162和/或數(shù)據(jù)保持子系統(tǒng)164 —起組合在共享封裝中,或如圖 1和9所示這些顯示設(shè)備可以是外圍顯示設(shè)備。計(jì)算系統(tǒng)160還包括被配置成獲得一個(gè)或多個(gè)目標(biāo)的深度圖像的捕捉設(shè)備168。 捕捉設(shè)備168可以被配置成通過任何合適的技術(shù)(例如,飛行時(shí)間、結(jié)構(gòu)化光、立體圖像等等)捕捉具有深度信息的視頻。如此,捕捉設(shè)備168可包括深度相機(jī)、攝像機(jī)、立體相機(jī)、和 /或其他合適的捕捉設(shè)備。例如,在飛行時(shí)間分析中,捕捉設(shè)備168可以向目標(biāo)發(fā)射紅外光,然后使用傳感器來檢測從目標(biāo)的表面反向散射的光。在一些情況下,可以使用脈沖式紅外光,其中可以測量出射光脈沖和相應(yīng)的入射光脈沖之間的時(shí)間并將該時(shí)間用于確定從該捕捉設(shè)備到目標(biāo)上的特定位置的物理距離。在一些情況下,出射光波的相位可以與入射光波的相位相比較以確定相移,并且該相移可以用于確定從該捕捉設(shè)備到目標(biāo)上的特定位置的物理距離。在另一示例中,飛行時(shí)間分析可用于通過經(jīng)由諸如快門式光脈沖成像之類的技術(shù)分析反射光束隨時(shí)間的強(qiáng)度,來間接地確定從該捕捉設(shè)備到目標(biāo)上的特定位置的物理距
1 O在另一示例中,結(jié)構(gòu)化光分析可以被捕捉設(shè)備168利用來捕捉深度信息。在這樣的分析中,圖案化光(即被顯示為諸如網(wǎng)格圖案或條紋圖案之類的已知圖案的光)可以被投影到目標(biāo)上。在目標(biāo)的表面上,該圖案可能變成變形的,并且可以研究該圖案的這種變形以確定從該捕捉設(shè)備到目標(biāo)上的特定位置的物理距離。在另一示例中,捕捉設(shè)備可以包括兩個(gè)或更多個(gè)物理上分開的相機(jī),這些相機(jī)從不同角度查看目標(biāo)以獲得視覺立體數(shù)據(jù)。在這種情況下,該視覺立體數(shù)據(jù)可以被解析以生成深度圖像。在其他實(shí)施例中,捕捉設(shè)備168可以使用其他技術(shù)來測量和/或計(jì)算深度值。此外,捕捉設(shè)備168可以將計(jì)算到的深度信息組織為“Z層”,即與從深度相機(jī)沿其視線延伸到
11觀察者的Z軸垂直的層。在一些實(shí)施例中,兩個(gè)或更多個(gè)不同的相機(jī)可以被合并到一集成的捕捉設(shè)備中。 例如,深度相機(jī)和視頻相機(jī)(例如RGB視頻相機(jī))可以被合并到共同的捕捉設(shè)備中。在一些實(shí)施例中,可以協(xié)作式地使用兩個(gè)或更多個(gè)分開的捕捉設(shè)備。例如,可以使用深度相機(jī)和分開的視頻相機(jī)。當(dāng)使用視頻相機(jī)時(shí),該視頻相機(jī)可用于提供目標(biāo)跟蹤數(shù)據(jù)、對目標(biāo)跟蹤進(jìn)行糾錯(cuò)的確認(rèn)數(shù)據(jù)、圖像捕捉、面部識別、對手指(或其他小特征)的高精度跟蹤、光感測和/或其他功能。要理解,至少一些目標(biāo)分析和跟蹤操作可以由一個(gè)或多個(gè)捕捉設(shè)備的邏輯機(jī)來執(zhí)行。捕捉設(shè)備可以包括被配置成執(zhí)行一個(gè)或多個(gè)目標(biāo)分析和/或跟蹤功能的一個(gè)或多個(gè)板載處理單元。捕捉設(shè)備可以包括便于更新這樣的板載處理邏輯的固件。計(jì)算系統(tǒng)160可任選地包括諸如控制器180和控制器182之類的一個(gè)或多個(gè)輸入設(shè)備。輸入設(shè)備可被用于控制計(jì)算系統(tǒng)的操作。在游戲的上下文中,諸如控制器180和/或控制器182之類的輸入設(shè)備可被用于控制游戲的那些不是通過這里所述的目標(biāo)識別、跟蹤和分析方法和過程來控制的方面。在某些實(shí)施例中,諸如控制器180和/或控制器182之類的輸入設(shè)備可包括可用于測量控制器在物理空間中的移動的加速計(jì)、陀螺儀、紅外目標(biāo)/ 傳感器系統(tǒng)等中的一個(gè)或多個(gè)。在某些實(shí)施例中,計(jì)算系統(tǒng)可任選地包括和/或利用輸入手套、鍵盤、鼠標(biāo)、跟蹤墊、軌跡球、觸屏、按鈕、開關(guān)、撥盤、和/或其他輸入設(shè)備。如將理解的,目標(biāo)識別、跟蹤和分析可被用于控制或擴(kuò)充游戲或其他應(yīng)用的常規(guī)上由諸如游戲控制器之類的輸入設(shè)備控制的方面。在某些實(shí)施例中,這里所述的目標(biāo)跟蹤可被用作對其他形式的用戶輸入的完全替代,而在其他實(shí)施例中,這種目標(biāo)跟蹤可被用于補(bǔ)充一個(gè)或多個(gè)其他形式的用戶輸入。圖11示出根據(jù)本公開的提供虛擬桌面的示例性方法200。在202處,方法200包括從源接收人類的觀察到的深度圖像。在204處,方法200包括從觀察到的深度圖像導(dǎo)出人類的機(jī)器可讀模型,其中在人類在世界空間中移動時(shí)該機(jī)器可讀模型表示人類。在206 處,方法200包括定位機(jī)器可讀模型的參考點(diǎn)。在208處,模型200包括將交互區(qū)鏈接至機(jī)器可讀模型上的參考點(diǎn),使得當(dāng)人類在世界空間中移動時(shí)交互區(qū)能隨著機(jī)器可讀模型上的參考點(diǎn)而移動。在210處,模型200包括在交互區(qū)內(nèi)定位機(jī)器可讀模型的選擇器點(diǎn)。在212 處,方法200包括將選擇器點(diǎn)在交互區(qū)內(nèi)的位置轉(zhuǎn)換成虛擬桌面內(nèi)的等效位置。如此處所使用的,術(shù)語“等效”允許造成此處描述的數(shù)學(xué)變換的線性和/或非線性縮放、形狀變換、或其他改變。以這種方式,可標(biāo)識機(jī)器可讀模型在交互區(qū)內(nèi)的的那一部分的位置。在214處, 方法200包括輸出顯示信號,該顯示信號用于在虛擬桌面中的等效位置處顯示界面元素。應(yīng)該理解,此處所述的配置和/或方法在本質(zhì)上是示例性的,且這些具體實(shí)施例或示例不是限制意義,因?yàn)槎鄠€(gè)變體是可能的。此處所述的具體例程或方法可表示任何數(shù)量的處理策略中的一個(gè)或更多個(gè)。由此,所示出的各個(gè)動作可以按所示順序執(zhí)行、按其他順序執(zhí)行、并行地執(zhí)行、或者在某些情況下省略。同樣,可以改變上述過程的次序。本發(fā)明的主題包括各種過程、系統(tǒng)和配置的所有新穎和非顯而易見的組合和子組合,并包括此處所公開的其他特征、功能、動作、和/或特性、以及其任何和全部等效物。
權(quán)利要求
1.一種計(jì)算系統(tǒng),包括深度圖像分析模塊(172),它跟蹤人類(18)在固定的、世界空間坐標(biāo)系06)中的世界空間姿態(tài);交互模塊(174),它用可移動的、界面空間坐標(biāo)系(30)來建立虛擬交互區(qū)(觀),所述可移動的、界面空間坐標(biāo)系(30)跟蹤所述人類并相對于所述固定的、世界空間坐標(biāo)系移動; 以及變換模塊(176),它將在所述固定的、世界空間坐標(biāo)系中定義的位置變換成在所述可移動的、界面空間坐標(biāo)系中定義的位置。
2.如權(quán)利要求1所述的計(jì)算系統(tǒng),其特征在于,還包括顯示模塊,它輸出顯示信號,該顯示信號用于在與在所述可移動的、界面空間坐標(biāo)系中定義的位置相對應(yīng)的桌面空間坐標(biāo)處顯示界面元素。
3.如權(quán)利要求1所述的計(jì)算系統(tǒng),其特征在于,所述變換模塊通過向在所述固定的、世界空間坐標(biāo)系中定義的位置應(yīng)用變換矩陣來將在所述固定的、世界空間坐標(biāo)系中定義的位置變換成在所述可移動的、界面空間坐標(biāo)系中定義的位置。
4.如權(quán)利要求1所述的計(jì)算系統(tǒng),其特征在于,所述變換模塊通過以下方式將在所述固定的、世界空間坐標(biāo)系中定義的位置變換成在所述可移動的、界面空間坐標(biāo)系中定義的位置在與所述固定的、世界空間坐標(biāo)系相對應(yīng)的模型空間坐標(biāo)系中建模所述位置,并將變換矩陣應(yīng)用于在所述模型空間坐標(biāo)系中定義的位置。
5.如權(quán)利要求1所述的計(jì)算系統(tǒng),其特征在于,所述界面空間坐標(biāo)系是基于虛擬桌面的桌面空間坐標(biāo)系的。
6.如權(quán)利要求1所述的計(jì)算系統(tǒng),其特征在于,所述虛擬交互區(qū)在空間上由長方體來限定的。
7.如權(quán)利要求6所述的計(jì)算系統(tǒng),其特征在于,所述可移動的、界面空間坐標(biāo)系是笛卡兒坐標(biāo)系。
8.如權(quán)利要求1所述的計(jì)算系統(tǒng),其特征在于,所述虛擬交互區(qū)至少部分地由球形殼體的片段來限定。
9.如權(quán)利要求8所述的計(jì)算系統(tǒng),其特征在于,所述可移動的、界面空間坐標(biāo)系是極坐標(biāo)系。
10.一種提供虛擬桌面的方法,所述方法包括 從源接收(20 人類的觀察到的深度圖像;從所述觀察到的深度圖像導(dǎo)出(204)所述人類的機(jī)器可讀模型,在所述人類在世界空間中移動時(shí)所述機(jī)器可讀模型表示所述人類; 定位(206)所述機(jī)器可讀模型的參考點(diǎn);將交互區(qū)鏈接(208)至所述機(jī)器可讀模型上的所述參考點(diǎn),使得當(dāng)所述人類在世界空間中移動時(shí)所述交互區(qū)能隨著所述機(jī)器可讀模型上的所述參考點(diǎn)而移動; 在所述交互區(qū)內(nèi)定位(210)所述機(jī)器可讀模型的選擇器點(diǎn);將所述選擇器點(diǎn)在所述交互區(qū)內(nèi)的位置轉(zhuǎn)換(21 成所述虛擬桌面內(nèi)的等效位置;以及輸出(214)顯示信號,所述顯示信號用于在所述虛擬桌面內(nèi)的所述等效位置處顯示界面元素。
11.如權(quán)利要求10所述的方法,其特征在于所述交互區(qū)至少部分地由球形殼體的片段來限定。
全文摘要
計(jì)算系統(tǒng)包括深度圖像分析模塊,該深度圖像分析模塊跟蹤人類在固定的、世界空間坐標(biāo)系中的世界空間姿態(tài)。計(jì)算系統(tǒng)還包括交互模塊,該交互模塊用可移動的、界面空間坐標(biāo)系來建立虛擬交互區(qū),該可移動的、界面空間坐標(biāo)系跟蹤人類并相對于固定的、世界空間坐標(biāo)系移動。計(jì)算系統(tǒng)還包括變換模塊,該變換模塊將在固定的、世界空間坐標(biāo)系中定義的位置變換成在可移動的、界面空間坐標(biāo)系中定義的位置。
文檔編號G06F3/01GK102449577SQ201080024894
公開日2012年5月9日 申請日期2010年6月1日 優(yōu)先權(quán)日2009年6月1日
發(fā)明者A·J·蘭格里奇, D·阿迪斯 申請人:微軟公司