專利名稱:界面控件的按壓啟動的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及界面控件的啟動技木。
背景技術(shù):
計(jì)算機(jī)技術(shù)允許人類以各種方式與計(jì)算機(jī)進(jìn)行交互。一種這樣的交互可在人類使用諸如鼠標(biāo)、跟蹤墊和游戲控制器之類的各種輸入設(shè)備來啟動計(jì)算設(shè)備的用戶界面上的按鈕時發(fā)生。
發(fā)明內(nèi)容
可以將用戶的手在世界空間內(nèi)的三維位置轉(zhuǎn)換成用戶界面的屏幕空間光標(biāo)位置。 當(dāng)用戶在世界空間中移動手時,光標(biāo)在用戶界面上到處移動。當(dāng)手移動光標(biāo)使得在該光標(biāo)覆蓋按鈕時該光標(biāo)的深度改變至少ー閾值量時可以啟動用戶界面的按鈕,而不管光標(biāo)在用戶界面上的初始深度。提供本發(fā)明內(nèi)容以便以簡化形式介紹將在以下具體實(shí)施方式
中進(jìn)ー步描述的ー些概念。本發(fā)明內(nèi)容并不g在標(biāo)識所要求保護(hù)主題的關(guān)鍵特征或必要特征,也不g在用于限制所要求保護(hù)主題的范圍。此外,所請求保護(hù)的主題不限于解決在本公開的任一部分中提及的任何或所有缺點(diǎn)的實(shí)現(xiàn)。
圖I根據(jù)本發(fā)明的ー實(shí)施例示出查看所觀察的場景的深度圖像分析系統(tǒng)。圖2在某種程度上示意性地示出在所觀察的場景中的用示例骨架數(shù)據(jù)來建模的人類目標(biāo)。圖3示出在世界空間中的導(dǎo)致相應(yīng)的屏幕空間光標(biāo)移動的手移動的示例。圖4示出啟動用戶界面的按鈕的示例光標(biāo)移動。圖5示出示例光標(biāo)移動的光標(biāo)速度向量。圖6示出光標(biāo)速度響應(yīng)于光標(biāo)移動的改變的示例序列。圖7示意性地示出根據(jù)本發(fā)明的一實(shí)施例的計(jì)算系統(tǒng)。
具體實(shí)施例方式諸如3D視覺計(jì)算系統(tǒng)等深度圖像分析系統(tǒng)可包括能夠觀察ー個或多個游戲玩家或其他計(jì)算機(jī)用戶的深度相機(jī)。在深度相機(jī)捕捉所觀察的場景內(nèi)的游戲玩家或其他計(jì)算機(jī)用戶的圖像吋,那些圖像可被解釋并用一個或多個虛擬骨架來建摸。經(jīng)建模的骨架的各個方面可用作到用戶界面的輸入命令。例如,計(jì)算系統(tǒng)可能能夠基于玩家的經(jīng)建模的手的移動來確定是否玩家正嘗試按壓用戶界面的按鈕。圖I示出了深度圖像分析系統(tǒng)10的非限制性示例。具體而言,圖I示出了游戲系統(tǒng)12,該游戲系統(tǒng)12可以用于玩各種不同的游戲、播放ー個或多個不同的媒體類型、和/或控制或操縱非游戲應(yīng)用和/或操作系統(tǒng)。圖I還示出了諸如電視機(jī)或計(jì)算機(jī)監(jiān)視器之類的可用于向游戲玩家呈現(xiàn)游戲視覺的顯示設(shè)備14。作為ー個示例,顯示設(shè)備14可用于在視覺上呈現(xiàn)人類目標(biāo)18用其移動來控制的虛擬化身16。深度圖像分析系統(tǒng)10可包括捕捉設(shè)備,諸如在視覺上監(jiān)視或跟蹤所觀察的場景24內(nèi)的人類目標(biāo)18的深度相機(jī)22。參考圖7更詳細(xì)地討論深度相機(jī)22。人類目標(biāo)18在此被示為所觀察的場景24內(nèi)的游戲玩家。人類目標(biāo)18由深度相機(jī)22來跟蹤,使得人類目標(biāo)18的移動可被游戲系統(tǒng)12解釋成可用于影響游戲系統(tǒng)12正在執(zhí)行的游戲的控制。換言之,人類目標(biāo)18可使用他或她的移動來控制游戲。人類目標(biāo)18的移動可以被解釋成基本上任何類型的游戲控制。人類目標(biāo)18的某些移動可被解釋成用于除控制虛擬化身16以外目的的控制。作為非限制性示例,人類目標(biāo)18的移動可被解釋成用戶界面控制,諸如用于按壓顯示設(shè)備14所顯示的虛擬用戶界面的虛擬按鈕的控制。深度相機(jī)22還可用于將目標(biāo)移動解釋成游戲領(lǐng)域之外的操作系統(tǒng)和/或應(yīng)用控制。操作系統(tǒng)和/或應(yīng)用的基本上任何可控方面都可以由人類目標(biāo)18的移動來控制。圖 I中所示出的場景是作為示例來提供的,但并不意味著以任何方式進(jìn)行限制。相反,所示出的場景g在展示可以在不背離本公開的范圍的情況下應(yīng)用于各種各樣不同的應(yīng)用的一般概念。此處描述的方法和過程可以結(jié)合到各種不同類型的計(jì)算系統(tǒng)。圖I示出了游戲系統(tǒng)12、顯示設(shè)備14和深度相機(jī)22形式的非限制性示例。一般而言,深度圖像分析系統(tǒng)可包括圖7中以簡化形式示出的計(jì)算系統(tǒng)160,該計(jì)算系統(tǒng)160將在下文更詳細(xì)地討論。圖2示出了簡化的處理流水線,其中所觀察的場景24中的人類目標(biāo)18被建模成虛擬骨架38,該虛擬骨架38可被用于在顯示設(shè)備14上繪制虛擬化身16和/或用作控制游戲、應(yīng)用、和/或操作系統(tǒng)的其他方面的控制輸入??梢岳斫猓c圖2中所描繪的那些步驟相比,處理流水線可包括附加的步驟和/或替換步驟,而不背離本發(fā)明的范圍。如圖2所示,人類目標(biāo)18和所觀察的場景24中的其余部分可通過諸如深度相機(jī)22之類的捕捉設(shè)備來成像。深度相機(jī)可為每ー像素確定在所觀察的場景中的表面相對于深度相機(jī)的深度。在不偏離本公開的范圍的情況下,可以使用基本上任何深度尋找(depthfinding)技木。參考圖7更詳細(xì)地討論了示例深度尋找技木。為每個像素確定的深度信息可用于生成深度圖36。這樣的深度圖可采用基本上任何合適的數(shù)據(jù)結(jié)構(gòu)的形式,包括但不限于包括所觀察場景的每個像素的深度值的矩陣。在圖2中,深度圖36被示意性地示為人類目標(biāo)18的輪廓的像素化網(wǎng)格。這一例示是出于理解簡明的目的、而不是出于技術(shù)準(zhǔn)確性的目的??梢岳斫?,深度圖一般包括所有像素(不僅是對人類目標(biāo)18進(jìn)行成像的像素)的深度信息,并且深度相機(jī)22的視角不會得到圖2中所描繪的輪廓。虛擬骨架38可從深度圖36導(dǎo)出,以提供人類目標(biāo)18的機(jī)器可讀表示。換言之,從深度圖36導(dǎo)出虛擬骨架38以對人類目標(biāo)18建模。虛擬骨架38可以按任何合適的方式從深度圖中導(dǎo)出。在某些實(shí)施例中,可將ー個或多個骨架擬合算法應(yīng)用于深度圖。本發(fā)明與基本上任何骨架建模技術(shù)兼容。虛擬骨架38可包括多個關(guān)節(jié),每ー關(guān)節(jié)對應(yīng)于人類目標(biāo)的一部分。在圖2中,虛擬骨架38被示為十五個關(guān)節(jié)的線條畫。這ー例示是出于理解簡明的目的、而不是出于技術(shù)準(zhǔn)確性的目的。根據(jù)本發(fā)明的虛擬骨架可包括基本上任何數(shù)量的關(guān)節(jié),每個關(guān)節(jié)都可與基本上任何數(shù)量的參數(shù)(例如三維關(guān)節(jié)位置、關(guān)節(jié)旋轉(zhuǎn)、對應(yīng)身體部位的身體姿勢(例如手張開、手合上等)等)相關(guān)聯(lián)。應(yīng)當(dāng)理解,虛擬骨架可采取如下數(shù)據(jù)結(jié)構(gòu)的形式該數(shù)據(jù)結(jié)構(gòu)包括多個骨架關(guān)節(jié)中的每個關(guān)節(jié)的ー個或多個參數(shù)(例如包含每個關(guān)節(jié)的X位置、y位置、z位置和旋轉(zhuǎn)的關(guān)節(jié)矩陣)。在一些實(shí)施例中,可使用其他類型的虛擬骨架(例如線框、一組形狀圖元等等)。 如圖2所示,可將虛擬化身16作為虛擬骨架38的視覺表示呈現(xiàn)在顯示設(shè)備14上。由于虛擬骨架38對人類目標(biāo)18進(jìn)行建摸,并且對虛擬化身16的呈遞基于虛擬骨架38,因此虛擬化身16用作人類目標(biāo)18的可查看的數(shù)字表示。由此,虛擬化身16在顯示設(shè)備14上的移動反映人類目標(biāo)18的移動。在一些實(shí)施例中,僅僅虛擬化身的部分將被呈現(xiàn)在顯示設(shè)備14上。作為ー個非限制性示例,顯示設(shè)備14可呈現(xiàn)人類目標(biāo)18的第一人稱視角,并因此可呈現(xiàn)能通過虛擬化身的虛擬眼睛來查看的虛擬化身的各部分(例如握有方向盤的伸出的手、握有步槍的伸出的手臂、抓住三維虛擬世界中的虛擬物體的伸出的手等)。盡管將虛擬化身16用作可經(jīng)由深度圖的骨架建模由人類目標(biāo)的移動來控制的游戲的ー示例方面,但這并不g在為限制性的。人類目標(biāo)可以用虛擬骨架來建摸,而虛擬骨架可用于控制除虛擬化身以外的游戲或其他應(yīng)用的各方面。例如,即使虛擬化身沒有被呈遞到顯示設(shè)備,人類目標(biāo)的移動也可控制游戲或其他應(yīng)用。代替顯示人類目標(biāo)的化身,可顯示光標(biāo)。圖3示出其中手42在世界空間40中的位置被用于控制光標(biāo)52在屏幕空間50中的位置的示例??苫诎ㄈ祟惸繕?biāo)的世界空間場景的ー個或多個深度圖像來跟蹤該人類目標(biāo)的手的移動。在因人類目標(biāo)在世界空間40中到處移動而移動的交互區(qū)44中隨時間跟蹤手42在世界空間40中的移動。交互區(qū)44的位置和方向可基于人類目標(biāo)的位置和方向。作為ー非限制性示例,交互區(qū)44的位置和方向可基于人類目標(biāo)的頭的相對位置。例如,可在人類目標(biāo)的頭的位置改變時調(diào)整交互區(qū)44的位置和方向。然而,在替換實(shí)施例中,交互區(qū)44的位置和方向可隨著人類目標(biāo)的一個或多個可選身體部位(諸如,胸部或肩部)的相對位置而改變。因此,當(dāng)人類目標(biāo)在世界空間內(nèi)到處移動(例如,向前邁步、向后邁步、左轉(zhuǎn)、右轉(zhuǎn))時,交互區(qū)44被相應(yīng)地相對于人類目標(biāo)而重新對齊。可將在交互區(qū)44中所跟蹤的手42在世界空間40中的移動轉(zhuǎn)換成光標(biāo)52在屏幕空間50中的相應(yīng)移動。即,可將手42的世界空間位置46轉(zhuǎn)換成由計(jì)算系統(tǒng)所顯示的用戶界面60的屏幕空間光標(biāo)位置56。在所描繪的示例中,手42從、處的初始手位置(以虛線描繪的手)到h處的最終手位置(以實(shí)線描繪的手)的移動導(dǎo)致光標(biāo)52從初始光標(biāo)位置(以虛線描繪的光標(biāo))到最終光標(biāo)位置(以實(shí)線描繪的光標(biāo))的相應(yīng)移動。用戶界面60可包括可通過預(yù)先定義的手移動來啟動或選擇的ー個或多個控件特征。這些特征可包括例如,旋鈕、刻度盤、按鈕、菜單等。在所描繪的示例中,用戶界面60包括按鈕62,該按鈕62可由在光標(biāo)52正覆蓋屏幕空間50中的按鈕62時發(fā)生的手移動來啟動。在70處描繪了光標(biāo)移動的正視圖。該視圖示出在屏幕空間的x_y平面中的移動,而沒有示出在屏幕空間的z平面中的移動。在所描繪的示例中,該手移動使光標(biāo)移動至其中光標(biāo)52覆蓋按鈕62的最終光標(biāo)位置。在任何給定時間,光標(biāo)的位置可通過x-y-z坐標(biāo)來定義,其中X坐標(biāo)指示光標(biāo)的水平位置,y坐標(biāo)指示光標(biāo)的垂直位置,而z坐標(biāo)指示光標(biāo)的深度。按鈕62可具有在屏幕空間的x-y平面中的啟動周界64。啟動周界64可以或可以不對應(yīng)于該按鈕的顯示周界。如果光標(biāo)52的x-y坐標(biāo)在按鈕62的啟動周界64之內(nèi),則可認(rèn)為光標(biāo)52正覆蓋按鈕62,而不管光標(biāo)相對于該按鈕的z軸坐標(biāo)。在一個示例中,其中光標(biāo)52是由不規(guī)則形狀來定義的,光標(biāo)52的至少ー個x-y坐標(biāo)可能是覆蓋按鈕62的啟動周界64所必需的。光標(biāo)52可以在屏幕空間50中與按鈕相比的不同深度處(例如,在按鈕之前或在按鈕的遠(yuǎn)處),然而只要光標(biāo)52的x-y坐標(biāo)覆蓋按鈕62的啟動周界64,光標(biāo)52就可啟動按鈕62。圖4示出導(dǎo)致光標(biāo)啟動的示例光標(biāo)移動。尤其地,描繪了這一光標(biāo)移動的側(cè)視圖80。由此,該視圖80示出在屏幕空間的y-ζ平面中的移動,而沒有示出在屏幕空間的X平 面中的移動。在も處,光標(biāo)52在初始光標(biāo)位置處(以虛線描繪的光標(biāo)),其中光標(biāo)52覆蓋按鈕62。在セ2處,手在世界空間中的移動將光標(biāo)52移動至隨后的光標(biāo)位置(以實(shí)線描繪的光標(biāo))。按鈕62響應(yīng)于手在世界空間中的、將光標(biāo)位置沿著z軸改變至少ー深度閾值(ΔΖ)的移動而得到啟動,而不管光標(biāo)52的初始z軸位置。換言之,手在世界空間中的移動將光標(biāo)“按壓” 了至少深度閾值(ΛΖ),由此啟動了按鈕62。在一個示例中,在光標(biāo)首次覆蓋按鈕時可對光標(biāo)的深度(即,z坐標(biāo))進(jìn)行采樣。這個深度可用作用于確定按壓運(yùn)動是否已發(fā)生的參考(即,零按壓值)。即,從這個參考值測量出光標(biāo)52的z坐標(biāo)的改變。深度改變可被計(jì)算成例如沿著z軸行進(jìn)的距離。按鈕62可響應(yīng)于光標(biāo)52的z坐標(biāo)的相對改變而得到啟動,而不管光標(biāo)52在初始位置和最終位置處的絕對z坐標(biāo)。因此,即使光標(biāo)52沒有達(dá)到按鈕62的深度也可以啟動按鈕62。換言之,按鈕62被啟動,而不管光標(biāo)52是被從在按鈕前面的初始位置移動或“按壓”至在按鈕前面的最終位置、被從在按鈕遠(yuǎn)處的初始位置移動或“按壓”至在按鈕遠(yuǎn)處的最終位置、還是被從在按鈕前面的初始位置移動或“按壓”至在按鈕遠(yuǎn)處的最終位置。如圖5所示,光標(biāo)可具有能由沿著x-y-z軸的各經(jīng)正規(guī)化的(normalized)向量分量(分別為Vx、Vy和Vz)表征的光標(biāo)速度120??苫诮^對光標(biāo)速度、沿著特定軸的絕對光標(biāo)速度、和/或沿著特定軸的經(jīng)正規(guī)化的光標(biāo)速度(即,一個軸上相對于ー個或多個其他軸的速度)設(shè)置用于按鈕啟動的深度閾值。換言之,按壓移動的速度可確定為了使按鈕啟動不得不按壓光標(biāo)多遠(yuǎn)。作為ー個示例,在光標(biāo)速度的z軸分量增大時,深度閾值可被減小。同樣地,在光標(biāo)速度的z軸分量減小時,深度閾值可被増大。換言之,為了啟動按鈕,當(dāng)手正快速移動時光標(biāo)可被按壓較小的距離,而當(dāng)手正慢速移動時光標(biāo)可被按壓較大的距離。這既允許較短、較急的“輕拍”以及較長、較慢的按壓來啟動按鈕。作為另ー個示例,在光標(biāo)速度的經(jīng)正規(guī)化的z軸分量增大時,深度閾值可被減小。同樣地,在光標(biāo)速度的經(jīng)正規(guī)化的z軸分量減小時,深度閾值可被増大。換言之,與光標(biāo)移動較不直接地在Z方向上時相比,當(dāng)光標(biāo)移動較為直接地在Z方向上時可需要更少的總推壓來啟動按鈕。在一些實(shí)施例中,當(dāng)光標(biāo)覆蓋用戶界面中的按鈕時,按鈕可響應(yīng)于手在世界空間中的移動(該移動使光標(biāo)位置以具有等于或大于Z軸速度閾值的經(jīng)正規(guī)化的Z軸分量的速度移動)而得到啟動。該啟動可基于經(jīng)正規(guī)化的Z軸分量而非絕對Z軸速度。這允許導(dǎo)致光標(biāo)移入平面空間的故意移動的任何手移動被看作啟動“按壓”移動,而不管光標(biāo)移入平面空間的速度??稍诠鈽?biāo)的移動期間跟蹤在任何給定時間處的光標(biāo)速度。圖6示出了隨時間
至t2)跟蹤的光標(biāo)速度的示例。在此,在光標(biāo)移動期間,光標(biāo)速度的順序改變由光標(biāo)速度向量及其經(jīng)正規(guī)化的x、y和z軸分量的改變來表示。在b處,光標(biāo)具有光標(biāo)速度130,該光標(biāo)速度130具有較大的經(jīng)正規(guī)化的X軸分量和經(jīng)正規(guī)化的I軸分量但具有較小的經(jīng)正規(guī)化的z軸分量。即,光標(biāo)在屏幕空間的x-y平面中可能比在屏幕空間的z方向上移動地更快和/或以更顯著的方式移動。換言之,光標(biāo)在屏幕表面上移動得比移入(或移出)屏幕表面更快。
在b和、之間,光標(biāo)在x-y平面上的移動減小,而沿著z軸卻增加較小的量。SP,光標(biāo)在屏幕平面上的移動變慢了。這導(dǎo)致了 h處的光標(biāo)速度向量140,該向量具有更小的經(jīng)正規(guī)化的X軸分量和經(jīng)正規(guī)化的I軸分量以及相對更大的經(jīng)正規(guī)化的z軸分量(與b處的經(jīng)正規(guī)化的分量相比)。在、和t2之間,光標(biāo)移動可經(jīng)歷突然的路徑改變。在所描繪的示例中,光標(biāo)在屏幕上的移動迅速變慢,而光標(biāo)進(jìn)入屏幕的移動迅速増加。這導(dǎo)致了 t2處的光標(biāo)速度向量150,該向量具有甚至更小的經(jīng)正規(guī)化的X軸分量和經(jīng)正規(guī)化的y軸分量以及實(shí)際上更大的經(jīng)正規(guī)化的z軸分量(與b和h處的經(jīng)正規(guī)化的分量相比)。這些光標(biāo)速度可以與ー個或多個其他參數(shù)一起考慮,以推斷用戶是否趨于按壓按鈕。例如,可分析光標(biāo)覆蓋按鈕之前或之后的光標(biāo)速度以推斷用戶是否趨于按壓按鈕。在一些實(shí)施例中,按鈕可具有啟動鎖,該啟動鎖被配置成減少在用戶沒有想要按壓按鈕時可發(fā)生的假肯定。由此,僅在光標(biāo)路徑(即,光標(biāo)速度的序列)滿足解鎖準(zhǔn)則的情況下可解鎖啟動鎖。由此,可能不得不在按壓動作可被識別并且按鈕可被啟動之前解鎖按鈕。作為ー個示例,解鎖準(zhǔn)則可包括光標(biāo)的x-y速度在光標(biāo)接近按鈕時減少一減速閾值。換言之,按鈕的啟動鎖可以響應(yīng)于跨屏幕的光標(biāo)速度的顯著減小而得到解鎖。光標(biāo)速度在x-y平面上的減少可在光標(biāo)在按鈕的閾值距離之內(nèi)時被讀取。以這種方式,光標(biāo)跨屏幕的移動的減速在光標(biāo)處于按鈕的鄰近時被有效地讀取為用戶選擇及可能按壓按鈕的意向。在圖6中在、處描繪了可解鎖按鈕的啟動鎖的光標(biāo)移動的示例。光標(biāo)在、處可比在b更接近于按鈕。光標(biāo)在它接近按鈕時被移動得更慢。光標(biāo)速度在も處的經(jīng)正規(guī)化的X軸分量和經(jīng)正規(guī)化的I軸分量的減小被讀成用戶選擇按鈕的意向,并且因此啟動鎖被解鎖。當(dāng)在h處解鎖啟動鎖之后,可隨后在時間t2處啟動按鈕。作為另ー個示例,解鎖準(zhǔn)則可包括在光標(biāo)處于按鈕的閾值x-y距離之內(nèi)時經(jīng)正規(guī)化的z軸分量的減小。換言之,按鈕的啟動鎖可以響應(yīng)于進(jìn)入屏幕的光標(biāo)速度的顯著增加而得到解鎖。以這種方式,光標(biāo)進(jìn)入屏幕的移動的加速在光標(biāo)處于按鈕的鄰近時被有效地讀成用戶按壓按鈕的意向。如果啟動鎖被解鎖,則按鈕可響應(yīng)于手在世界空間中的移動(該移動使光標(biāo)位置以具有等于或大于z軸速度閾值的經(jīng)正規(guī)化的z軸分量的速度移動)而得到啟動。在一些實(shí)施例中,可將以上所描述的方法和過程捆綁到包括一個或多個計(jì)算機(jī)的計(jì)算系統(tǒng)。具體而言,此處所述的方法和過程可被實(shí)現(xiàn)為計(jì)算機(jī)應(yīng)用、計(jì)算機(jī)服務(wù)、計(jì)算機(jī)API、計(jì)算機(jī)庫、和/或其他計(jì)算機(jī)程序產(chǎn)品。圖7示意性示出了可以執(zhí)行上述方法和過程之中的一個或多個的非限制性計(jì)算系統(tǒng)160。以簡化形式示出了計(jì)算系統(tǒng)160。應(yīng)當(dāng)理解,可使用基本上任何計(jì)算機(jī)架構(gòu)而不背離本公開的范圍。在不同的實(shí)施例中,計(jì)算系統(tǒng)160可以采取大型計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、臺式計(jì)算機(jī)、膝上型計(jì)算機(jī)、平板計(jì)算機(jī)、家庭娛樂計(jì)算機(jī)、網(wǎng)絡(luò)計(jì)算設(shè)備、移動計(jì)算設(shè)備、移動通信設(shè)備、游戲設(shè)備等等的形式。計(jì)算系統(tǒng)160可包括邏輯子系統(tǒng)162、數(shù)據(jù)保持子系統(tǒng)164、顯示子系統(tǒng)166和/或捕捉設(shè)備168。計(jì)算系統(tǒng)可任選地包括未示出在圖7中的組件,并且/或者示出在圖7中的某些組件可以是未被整合到計(jì)算系統(tǒng)中的周邊組件。 邏輯子系統(tǒng)162可包括被配置為執(zhí)行ー個或多個指令的ー個或多個物理設(shè)備。例如,邏輯子系統(tǒng)可被配置為執(zhí)行ー個或多個指令,該ー個或多個指令是ー個或多個應(yīng)用、月艮務(wù)、程序、例程、庫、對象、組件、數(shù)據(jù)結(jié)構(gòu)、或其它邏輯構(gòu)造的部分??蓪?shí)現(xiàn)此類指令以執(zhí)行任務(wù)、實(shí)現(xiàn)數(shù)據(jù)類型、變換ー個或多個設(shè)備的狀態(tài)、或以其他方式得到所需結(jié)果。邏輯子系統(tǒng)可包括被配置成執(zhí)行軟件指令的一個或多個處理器。另外地或替換地,邏輯子系統(tǒng)可包括被配置成執(zhí)行硬件或固件指令的一個或多個硬件或固件邏輯機(jī)器。邏輯子系統(tǒng)的處理器可以是單核或多核,且在其上執(zhí)行的程序可被配置為并行或分布式處理。邏輯子系統(tǒng)可以任選地包括遍布兩個或更多設(shè)備的獨(dú)立組件,所述設(shè)備可遠(yuǎn)程放置和/或被配置為進(jìn)行協(xié)同處理。該邏輯子系統(tǒng)的ー個或多個方面可被虛擬化并由以云計(jì)算配置進(jìn)行配置的可遠(yuǎn)程訪問的聯(lián)網(wǎng)計(jì)算設(shè)備執(zhí)行。數(shù)據(jù)保持子系統(tǒng)164可包括ー個或多個物理的、非瞬時的設(shè)備,這些設(shè)備被配置成保持?jǐn)?shù)據(jù)和/或可由該邏輯子系統(tǒng)執(zhí)行的指令,以實(shí)現(xiàn)此處描述的方法和過程。在實(shí)現(xiàn)這樣的方法和過程時,可以變換數(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è)備(例如,⑶、DVD、HD-DVD、藍(lán)光盤等)、半導(dǎo)體存儲器設(shè)備(例如,RAM、EPROM、EEPROM等)和/或磁存儲器設(shè)備(例如,硬盤驅(qū)動器、軟盤驅(qū)動器、磁帶驅(qū)動器、MRAM等)。數(shù)據(jù)保持子系統(tǒng)164可包括具有以下特性中的ー個或多個特性的設(shè)備易失性、非易失性、動態(tài)、靜態(tài)、讀/寫、只讀、隨機(jī)存取、順序存取、位置可尋■址、文件可尋■址、以及內(nèi)容可尋址。在某些實(shí)施例中,可以將邏輯子系統(tǒng)162和數(shù)據(jù)保持子系統(tǒng)164集成到ー個或更多個常見設(shè)備中,如專用集成電路或片上系統(tǒng)。圖7還示出以可移動計(jì)算機(jī)可讀存儲介質(zhì)170形式的數(shù)據(jù)保持子系統(tǒng)的一方面,可移動計(jì)算機(jī)可讀存儲介質(zhì)102可用于存儲和/或傳輸可執(zhí)行以實(shí)現(xiàn)本文描述的方法和過程的數(shù)據(jù)和/或指令??梢苿佑?jì)算機(jī)可讀存儲介質(zhì)170尤其是可以采?、?、DVD、HD-DVD、藍(lán)光盤、EEPROM和/或軟盤形式??梢悦靼?,數(shù)據(jù)保持子系統(tǒng)164包括ー個或多個方面物理的、非瞬時的設(shè)備。相反,在一些實(shí)施例中,本文描述的指令的各方面可以按暫態(tài)方式通過不由物理設(shè)備在至少有限持續(xù)時間期間保持的純信號(例如電磁信號、光信號等)傳播。此外,與本發(fā)明有關(guān)的數(shù)據(jù)和/或其他形式的信息可以通過純信號傳播。術(shù)語“模塊”可用于描述被實(shí)現(xiàn)來執(zhí)行ー個或多個特定功能的計(jì)算系統(tǒng)160的一個方面。在某些情況下,可通過邏輯子系統(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)處顯示界面元素。計(jì)算系統(tǒng)160包括用戶界面模塊177,該模塊177被配置成將光標(biāo)在用戶界面中的移動轉(zhuǎn)換成涉及界面元素的動作。作為非限制性示例,用戶界面模塊177可分析光標(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ù)的改變。作為ー個非限制性示例,可通過顯示子系統(tǒng)166以響應(yīng)于用戶在物理空間中的移動而在虛擬桌面中改變位置的界面元素(例如,光標(biāo))的形式來反映這里所述的目標(biāo)識別、跟蹤和分祈。顯示子系統(tǒng)166可以包括使用實(shí)際上任何類型的技術(shù)的ー個或多個顯示設(shè)備??蓪⑦@些顯示設(shè)備與邏輯子系統(tǒng)162和/或數(shù)據(jù)保持子系統(tǒng)164 —起組合在共享封裝中,或這些顯示設(shè)備可以是外圍顯示設(shè)備,如圖I所示。計(jì)算系統(tǒng)160還包括被配置成獲得ー個或多個目標(biāo)的深度圖像的捕捉設(shè)備168。捕捉設(shè)備168可被配置成通過任何合適的技術(shù)(例如飛行時間、結(jié)構(gòu)化光、立體圖像等)捕捉具有深度信息的視頻。這樣,捕捉設(shè)備168可包括深度攝像機(jī)(諸如圖I的深度相機(jī)22)、攝像機(jī)、立體攝像機(jī)、和/或其他合適的捕捉設(shè)備。例如,在飛行時間分析中,捕捉設(shè)備168可以向目標(biāo)發(fā)射紅外光,然后使用傳感器來檢測從目標(biāo)的表面反向散射的光。在一些情況下,可以使用脈沖式紅外光,其中可以測量出射光脈沖和相應(yīng)的入射光脈沖之間的時間并將該時間用于確定從該捕捉設(shè)備到目標(biāo)上的特定位置的物理距離。在一些情況下,出射光波的相位可以與入射光波的相位相比較以確定相移,并且該相移可以用于確定從該捕捉設(shè)備到目標(biāo)上的特定位置的物理距離。在另ー示例中,飛行時間分析可用于通過經(jīng)由諸如快門式光脈沖成像之類的技術(shù)分析反射光束隨時間的強(qiáng)度,來間接地確定從該捕捉設(shè)備到目標(biāo)上的特定位置的物理距離。在另ー示例中,捕捉設(shè)備168可利用結(jié)構(gòu)化光分析來捕捉深度信息。在這樣的分析中,圖案化光(即被顯示為諸如網(wǎng)格圖案或條紋圖案之類的已知圖案的光)可以被投影到目標(biāo)上。在目標(biāo)的表面上,該圖案可能變成變形的,并且可以研究該圖案的這種變形以確定從該捕捉設(shè)備到目標(biāo)上的特定位置的物理距離。在另ー示例中,捕捉設(shè)備可以包括兩個或更多個物理上分開的相機(jī),這些相機(jī)從不同角度查看目標(biāo)以獲得視覺立體數(shù)據(jù)。在這些情形中,可分解可視立體數(shù)據(jù)以生成深度圖像。在其他實(shí)施例中,捕捉設(shè)備168可利用其他技術(shù)測量和/或計(jì)算深度值。此外,捕捉設(shè)備168可以將計(jì)算出的深度信息組織為“Z層”,即與從深度相機(jī)沿其視線延伸到觀察者的Z軸垂直的層。在某些實(shí)施例中,可將兩個或更多個像機(jī)整合到ー個集成捕捉設(shè)備中。例如,可將深度像機(jī)和攝像機(jī)(例如RGB攝像機(jī))整合到共同的捕捉設(shè)備中。在某些實(shí)施例中,可協(xié)同使用兩個或更多個分開的捕捉設(shè)備。例如,可使用深度像機(jī)和分開的攝像機(jī)。當(dāng)使用攝像機(jī)吋,該攝像機(jī)可用于提供目標(biāo)跟蹤數(shù)據(jù)、對目標(biāo)跟蹤進(jìn)行糾錯的確認(rèn)數(shù)據(jù)、圖像捕捉、面部識別、對手指(或其他小特征)的高精度跟蹤、光感測和/或其他功能。 要理解,至少ー些目標(biāo)分析和跟蹤操作可以由ー個或多個捕捉設(shè)備的邏輯機(jī)來執(zhí)行。捕捉設(shè)備可以包括被配置成執(zhí)行ー個或多個目標(biāo)分析和/或跟蹤功能的ー個或多個板載處理単元。捕捉設(shè)備可包括固件以幫助更新這樣的板上處理邏輯。計(jì)算系統(tǒng)160可任選地包括諸如控制器180和控制器182之類的ー個或多個輸入設(shè)備。輸入設(shè)備可被用于控制計(jì)算系統(tǒng)的操作。在游戲的上下文中,諸如控制器180和/或控制器182之類的輸入設(shè)備可被用于控制游戲的那些不是通過這里所述的目標(biāo)識別、跟蹤和分析方法和過程來控制的方面。在某些實(shí)施例中,諸如控制器180和/或控制器182之類的輸入設(shè)備可包括可用于測量控制器在物理空間中的移動的加速計(jì)、陀螺儀、紅外目標(biāo)/傳感器系統(tǒng)等中的ー個或多個。在某些實(shí)施例中,計(jì)算系統(tǒng)可任選地包括和/或利用輸入手套、鍵盤、鼠標(biāo)、跟蹤墊、軌跡球、觸摸屏、按鈕、開關(guān)、撥盤、和/或其他輸入設(shè)備。如將理解的,目標(biāo)識別、跟蹤和分析可被用于控制或擴(kuò)充游戲或其他應(yīng)用的常規(guī)上由諸如游戲控制器之類的輸入設(shè)備控制的方面。在某些實(shí)施例中,這里所述的目標(biāo)跟蹤可被用作對其他形式的用戶輸入的完全替代,而在其他實(shí)施例中,這種目標(biāo)跟蹤可被用于補(bǔ)充ー個或多個其他形式的用戶輸入。
權(quán)利要求
1.ー種計(jì)算系統(tǒng)(12,160),包括 外圍輸入,它被配置成接收來自深度相機(jī)(22)的深度圖像; 顯示輸出,它被配置成向顯示設(shè)備(14)輸出用戶界面(60),所述用戶界面¢0)包括按鈕(62); 邏輯子系統(tǒng)(162),它經(jīng)由所述外圍輸入可操作性地連接至所述深度相機(jī)(22)并經(jīng)由所述顯示輸出可操作性地連接至所述顯示設(shè)備(14);以及 保持指令的數(shù)據(jù)保持子系統(tǒng)(164),所述指令可被所述邏輯子系統(tǒng)(162)執(zhí)行以便 從所述深度相機(jī)(22)接收包括人類目標(biāo)(18)的世界空間場景(24)的ー個或多個深度圖像; 將所述人類目標(biāo)(18)的手(42)的世界空間位置(46)轉(zhuǎn)換成所述用戶界面(60)的屏幕空間光標(biāo)位置(56),使得所述手(42)在世界空間(40)中的移動導(dǎo)致光標(biāo)(52)在屏幕空間(50)中的相應(yīng)移動;以及 當(dāng)所述光標(biāo)(52)覆蓋所述用戶界面(60)中的所述按鈕(62)時,響應(yīng)于所述手(42)在世界空間(40)中的、將所述光標(biāo)位置(56)沿著z軸改變深度閾值的移動來啟動所述按鈕(62),而不管所述光標(biāo)(52)的初始z軸位置。
2.如權(quán)利要求I所述的計(jì)算系統(tǒng),其特征在于,所述按鈕具有在χ-y平面中的啟動周界,并且其中如果所述光標(biāo)的x-y坐標(biāo)處于所述按鈕的所述啟動周界之內(nèi),則所述光標(biāo)覆蓋所述按鈕。
3.如權(quán)利要求I所述的計(jì)算系統(tǒng),其特征在于,所述光標(biāo)具有光標(biāo)速度,并且其中所述數(shù)據(jù)保持子系統(tǒng)保持所述邏輯子系統(tǒng)可執(zhí)行的指令,以基于所述光標(biāo)速度來調(diào)整所述深度閾值。
4.如權(quán)利要求3所述的計(jì)算系統(tǒng),其特征在于,在所述光標(biāo)速度的經(jīng)正規(guī)化的z軸分量增大時,所述深度閾值被減小。
5.如權(quán)利要求3所述的計(jì)算系統(tǒng),其特征在于,在所述光標(biāo)速度的經(jīng)正規(guī)化的z軸分量減小時,所述深度閾值被增大。
6.如權(quán)利要求I所述的計(jì)算系統(tǒng),其特征在于,所述手在世界空間中的所述移動在交互區(qū)內(nèi)被跟蹤,所述交互區(qū)因所述人類目標(biāo)在世界空間中到處移動而移動。
7.如權(quán)利要求6所述的計(jì)算系統(tǒng),其特征在于,所述交互區(qū)的位置和方向基于所述人類目標(biāo)的位置和方向。
8.如權(quán)利要求7所述的計(jì)算系統(tǒng),其特征在于,所述交互區(qū)的位置和方向基于所述人類目標(biāo)的頭的相對位置。
全文摘要
本發(fā)明涉及界面控件的按壓啟動。計(jì)算系統(tǒng)將人類目標(biāo)的手的世界空間位置轉(zhuǎn)換為用戶界面的屏幕空間光標(biāo)位置。當(dāng)光標(biāo)覆蓋用戶界面中的按鈕時,計(jì)算系統(tǒng)響應(yīng)于手在世界空間中的、將光標(biāo)位置沿著z軸改變深度閾值的移動來啟動按鈕,而不管光標(biāo)的初始z軸位置。當(dāng)按鈕包括啟動鎖時,如果光標(biāo)路徑滿足解鎖準(zhǔn)則,則計(jì)算系統(tǒng)在按鈕啟動之前解鎖啟動鎖。
文檔編號G06F3/01GK102693004SQ20121003417
公開日2012年9月26日 申請日期2012年2月15日 優(yōu)先權(quán)日2011年2月16日
發(fā)明者A·J·蘭格里奇 申請人:微軟公司