專(zhuān)利名稱(chēng):標(biāo)準(zhǔn)姿勢(shì)的制作方法
標(biāo)準(zhǔn)姿勢(shì)
背景技術(shù):
諸如計(jì)算機(jī)游戲、多媒體應(yīng)用、辦公應(yīng)用等的許多計(jì)算應(yīng)用使用控制來(lái)允許用戶操縱游戲角色或應(yīng)用的其他方面。通常使用,例如,控制器、遙控器、鍵盤(pán)、鼠標(biāo)等等,來(lái)輸入這樣的控制。不幸的是,這些控制可能是難以學(xué)習(xí)的,由此造成了用戶和這些游戲及應(yīng)用之間的障礙。此外,這些控制可能與這些控制所用于的實(shí)際游戲動(dòng)作或其他應(yīng)用動(dòng)作不同。例如,使得游戲角色揮動(dòng)棒球拍的游戲控制可能不與揮動(dòng)棒球拍的實(shí)際動(dòng)作相對(duì)應(yīng)。發(fā)明概述這里公開(kāi)了用于接收反映用戶的骨架移動(dòng)的數(shù)據(jù)以及從該數(shù)據(jù)確定用戶是否已經(jīng)執(zhí)行了一個(gè)或多個(gè)姿勢(shì)的系統(tǒng)和方法。公開(kāi)了標(biāo)準(zhǔn)姿勢(shì)包,應(yīng)用開(kāi)發(fā)者可從標(biāo)準(zhǔn)姿勢(shì)包將姿勢(shì)識(shí)別并入到他們的應(yīng)用中。在一示例實(shí)施例中,姿勢(shì)庫(kù)包括多個(gè)姿勢(shì)。在這些姿勢(shì)彼此互補(bǔ)的情況下,它們可被分組成姿勢(shì)包。這些姿勢(shì)包然后被提供給應(yīng)用供姿勢(shì)識(shí)別器引擎使用。應(yīng)用可利用一個(gè)或多個(gè)姿勢(shì)包。應(yīng)用可向姿勢(shì)的第一參數(shù)賦一值,例如要被識(shí)別的美式足球投擲姿勢(shì)所必須達(dá)到的手臂速度最低閾值。識(shí)別器引擎用該值設(shè)置第一參數(shù),并設(shè)置該姿勢(shì)或姿勢(shì)包中依賴(lài)于該第一姿勢(shì)的值的任何其他姿勢(shì)的任何其他參數(shù)的值。例如,在姿勢(shì)包是包括美式足球投擲姿勢(shì)的運(yùn)動(dòng)姿勢(shì)包的情況下,該包還可包括與美式足球投擲姿勢(shì)相互關(guān)聯(lián)的曲線球棒球投擲姿勢(shì)以及快速球棒球投擲姿勢(shì)。在已經(jīng)確定曲線球棒球投擲姿勢(shì)應(yīng)具有美式足球投擲姿勢(shì)的手臂速度最低閾值的80%、以及快速球棒球投擲姿勢(shì)應(yīng)具有美式足球投擲姿勢(shì)的手臂速度最低閾值的90%的情況下,可分別將那些參數(shù)設(shè)置為該值的80%和90%。本領(lǐng)域技術(shù)人員將理解,本發(fā)明的一個(gè)或多個(gè)方面可包括但不限于用于實(shí)現(xiàn)本發(fā)明的本文所述方面的電路和/或編程;該電路和/或編程實(shí)質(zhì)上可以是配置成實(shí)現(xiàn)本文所述方面的硬件、軟件和/或固件的任何組合,這取決于系統(tǒng)設(shè)計(jì)者的設(shè)計(jì)選擇。以上是概述,并且因此必然包含細(xì)節(jié)的簡(jiǎn)化、一般化及省略。本領(lǐng)域技術(shù)人員將明白,本概述只是說(shuō)明性的并且決不旨在是限制性的。附圖簡(jiǎn)述參考附圖來(lái)進(jìn)一步描述根據(jù)本說(shuō)明書(shū)的用于互補(bǔ)姿勢(shì)的姿勢(shì)包的系統(tǒng)、方法和計(jì)算機(jī)可讀介質(zhì),在附圖中圖IA和IB示出了伴隨用戶玩游戲的目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)的示例實(shí)施例。圖2示出了可在目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)中使用的捕捉設(shè)備的示例實(shí)施例。圖3A示出了可用于在目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)中解釋一個(gè)或多個(gè)姿勢(shì)的計(jì)算環(huán)境的示例實(shí)施例。圖IBB示出了可用于在目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)中解釋一個(gè)或多個(gè)姿勢(shì)的計(jì)算環(huán)境的另一示例實(shí)施例。圖4A示出了從圖2的目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)生成的用戶的骨架映射。圖4B示出了圖2所示的姿勢(shì)識(shí)別器架構(gòu)的進(jìn)一步細(xì)節(jié)。
圖5A和5B示出了可如何堆疊姿勢(shì)過(guò)濾器來(lái)創(chuàng)建更復(fù)雜的姿勢(shì)過(guò)濾器。圖6A、6B、6C、6D和6E示出了用戶502在美式足球視頻游戲中可以作出的用以發(fā)出“安全接球”(fair catch)的信號(hào)的示例姿勢(shì)。圖7A、7B、7C、7D和7E示出了在解析了圖像數(shù)據(jù)的每一幀來(lái)產(chǎn)生用戶的骨架映射時(shí)圖6A-E的示例“安全接球”姿勢(shì)。圖8示出了來(lái)自姿勢(shì)庫(kù)的通用姿勢(shì)如何被分組成用于某一任務(wù)的互補(bǔ)姿勢(shì)的風(fēng)格包。圖9示出了用于在應(yīng)用為一個(gè)姿勢(shì)的一個(gè)參數(shù)提供值時(shí)調(diào)諧姿勢(shì)包中的互補(bǔ)姿勢(shì)的示例操作過(guò)程。說(shuō)明性實(shí)施例的詳細(xì)描述如本文中將描述的,用戶可通過(guò)執(zhí)行一個(gè)或多個(gè)姿勢(shì)來(lái)控制在諸如游戲控制臺(tái)、 計(jì)算機(jī)等計(jì)算環(huán)境上執(zhí)行的應(yīng)用。根據(jù)一個(gè)實(shí)施例,姿勢(shì)可由例如捕捉設(shè)備來(lái)接收。例如, 捕捉設(shè)備可捕捉場(chǎng)景的深度圖像。在一個(gè)實(shí)施例中,捕捉設(shè)備可以確定場(chǎng)景中的一個(gè)或多個(gè)目標(biāo)或?qū)ο笫欠駥?duì)應(yīng)于諸如用戶等人類(lèi)目標(biāo)。為了確定場(chǎng)景中的目標(biāo)或?qū)ο笫欠駥?duì)應(yīng)于人類(lèi)目標(biāo),可對(duì)每個(gè)目標(biāo)進(jìn)行泛色填充并將其與人體模型的圖案作比較。然后可掃描匹配人體模型的每一目標(biāo)或?qū)ο髞?lái)生成與其相關(guān)聯(lián)的骨架模型。該骨架模型然后可被提供給計(jì)算環(huán)境,使得計(jì)算環(huán)境可跟蹤該骨架模型,呈現(xiàn)與該骨架模型相關(guān)聯(lián)的化身,以及可基于例如用戶的已經(jīng)從該骨架模型中識(shí)別出的姿勢(shì)來(lái)確定要在計(jì)算環(huán)境上執(zhí)行的應(yīng)用中執(zhí)行那些控制。姿勢(shì)識(shí)別器引擎(其架構(gòu)在下文中更完整地描述)被用于確定用戶何時(shí)做出了某一姿勢(shì)。圖IA和IB示出伴隨用戶18玩拳擊游戲的目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)10的配置的示例實(shí)施例。在一示例實(shí)施例中,目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)10可用于識(shí)別、分析和/或跟蹤諸如用戶18等的人類(lèi)目標(biāo)。如圖IA所示,目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)10可包括計(jì)算環(huán)境12。計(jì)算環(huán)境12可以是計(jì)算機(jī)、游戲系統(tǒng)或控制臺(tái)等等。根據(jù)一示例實(shí)施例,計(jì)算環(huán)境12可包括硬件組件和 /或軟件組件,使得計(jì)算環(huán)境12可用于執(zhí)行諸如游戲應(yīng)用、非游戲應(yīng)用等的應(yīng)用。如圖IA所示,目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)10還可包括捕捉設(shè)備20。捕捉設(shè)備20 可以是例如相機(jī),該相機(jī)可用于在視覺(jué)上監(jiān)視諸如用戶18等一個(gè)或多個(gè)用戶,以使得可以捕捉、分析并跟蹤一個(gè)或多個(gè)用戶所執(zhí)行的姿勢(shì),以執(zhí)行應(yīng)用中的一個(gè)或多個(gè)控制或動(dòng)作, 如將在下面更詳細(xì)地描述的。根據(jù)一實(shí)施例,目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)10可連接到可向諸如用戶18等的用戶提供游戲或應(yīng)用視覺(jué)和/或音頻的視聽(tīng)設(shè)備16,如電視機(jī)、監(jiān)視器、高清電視機(jī)(HDTV)等。 例如,計(jì)算環(huán)境12可包括諸如圖形卡等視頻適配器和/或諸如聲卡等音頻適配器,這些適配器可提供與游戲應(yīng)用、非游戲應(yīng)用等相關(guān)聯(lián)的視聽(tīng)信號(hào)。視聽(tīng)設(shè)備16可從計(jì)算環(huán)境12接收視聽(tīng)信號(hào),然后可向用戶18輸出與該視聽(tīng)信號(hào)相關(guān)聯(lián)的游戲或應(yīng)用視覺(jué)和/或音頻。根據(jù)一個(gè)實(shí)施例,視聽(tīng)設(shè)備16可經(jīng)由例如,S-視頻電纜、同軸電纜、HDMI電纜、DVI電纜、VGA 電纜等連接到計(jì)算環(huán)境12。如圖IA和IB所示,目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)10可用于識(shí)別、分析和/或跟蹤諸如用戶18等的人類(lèi)目標(biāo)。例如,可使用捕捉設(shè)備20來(lái)跟蹤用戶18,以使得可將用戶18的移動(dòng)解釋為可用于影響由計(jì)算機(jī)環(huán)境12執(zhí)行的應(yīng)用的控制。因而,根據(jù)一個(gè)實(shí)施例,用戶 18可移動(dòng)他或她的身體來(lái)控制應(yīng)用。如圖IA和IB所示,在一示例實(shí)施例中,在計(jì)算環(huán)境12上執(zhí)行的應(yīng)用可以是用戶 18可能正在玩的拳擊游戲。例如,計(jì)算環(huán)境12可使用視聽(tīng)設(shè)備16來(lái)向用戶18提供拳擊對(duì)手22的視覺(jué)表示。計(jì)算環(huán)境12還可使用視聽(tīng)設(shè)備16來(lái)提供用戶18可通過(guò)他的或她的移動(dòng)來(lái)控制的玩家化身M的視覺(jué)表示。例如,如圖IB所示,用戶18可在物理空間中揮重拳來(lái)使得玩家化身M在游戲空間中揮重拳。因此,根據(jù)一示例實(shí)施例,目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)10的計(jì)算環(huán)境12和捕捉設(shè)備20可用于識(shí)別和分析用戶18在物理空間中的重拳,從而使得該重拳可被解釋為對(duì)游戲空間中的玩家化身M的游戲控制。用戶18的其他移動(dòng)也可被解釋為其他控制或動(dòng)作,諸如上下快速擺動(dòng)、閃避、滑步、格擋、用拳猛擊或揮動(dòng)各種不同力度的重拳等控制。此外,某些移動(dòng)可被解釋為可對(duì)應(yīng)于除控制玩家化身M之外的動(dòng)作的控制。例如,玩家可以使用運(yùn)動(dòng)來(lái)結(jié)束、暫?;虮4嬗螒?、選擇級(jí)別、查看高分、與朋友交流等。在各示例實(shí)施例中,諸如用戶18等的人類(lèi)目標(biāo)可具有一物體。在這些實(shí)施例中, 電子游戲的用戶可手持物體從而可以使用玩家和物體的運(yùn)動(dòng)來(lái)調(diào)整和/或控制游戲的參數(shù)。例如,可以跟蹤并利用玩家手持球拍的運(yùn)動(dòng)來(lái)控制電子運(yùn)動(dòng)游戲中的屏幕上球拍。在另一示例實(shí)施例中,可以跟蹤并利用玩家手持物體的運(yùn)動(dòng)來(lái)控制電子格斗游戲中的屏幕上武器。根據(jù)其他示例實(shí)施例,目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)10還可用于將目標(biāo)移動(dòng)解釋為游戲領(lǐng)域之外的操作系統(tǒng)和/或應(yīng)用控制。例如,事實(shí)上操作系統(tǒng)和/或應(yīng)用的任何可控方面可由諸如用戶18等目標(biāo)的移動(dòng)來(lái)控制。圖2示出可在目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)10中使用的捕捉設(shè)備20的示例實(shí)施例。 根據(jù)一示例實(shí)施例,捕捉設(shè)備20可被配置成經(jīng)由任何合適的技術(shù),包括例如飛行時(shí)間、結(jié)構(gòu)化光、立體圖像等來(lái)捕捉包括深度圖像的帶有深度信息的視頻,該深度信息可包括深度值。根據(jù)一實(shí)施例,捕捉設(shè)備20可將所計(jì)算的深度信息組織為“Z層”,或可與從深度相機(jī)沿其視線延伸的Z軸垂直的層。如圖2所示,捕捉設(shè)備20可包括圖像相機(jī)組件22。根據(jù)一個(gè)示例實(shí)施例,圖像相機(jī)組件22可以是可以捕捉場(chǎng)景的深度圖像的深度相機(jī)。深度圖像可包括被捕捉的場(chǎng)景的二維O-D)像素區(qū)域,其中2-D像素區(qū)域中的每一個(gè)像素都可以(例如以厘米、毫米等等為單位)表示來(lái)自相機(jī)的被捕捉的場(chǎng)景中的對(duì)象的長(zhǎng)度。如圖2所示,根據(jù)一示例實(shí)施例,圖像相機(jī)組件22可包括可用于捕捉場(chǎng)景的深度圖像的頂光組件對(duì)、三維(3-D)相機(jī)沈、和RGB相機(jī)觀。例如,在飛行時(shí)間分析中,捕捉設(shè)備20的頂光組件M可以將紅外光發(fā)射到場(chǎng)景上,然后,可以使用傳感器(未示出),用例如3-D相機(jī)沈和/或RGB相機(jī)觀,來(lái)檢測(cè)從場(chǎng)景中的一個(gè)或多個(gè)目標(biāo)和對(duì)象的表面反向散射的光。在某些實(shí)施例中,可以使用脈沖式紅外光從而可以測(cè)量出射光脈沖和相應(yīng)的入射光脈沖之間的時(shí)間差并將其用于確定從捕捉設(shè)備20到場(chǎng)景中的目標(biāo)或物體上的特定位置的物理距離。另外,在其他示例實(shí)施例中,可將入射光波的相位與出射光波的相位進(jìn)行比較來(lái)確定相移。然后可以使用相移來(lái)確定從捕捉設(shè)備到目標(biāo)或?qū)ο笊系奶囟ㄎ恢玫木嚯x。根據(jù)另一示例實(shí)施例,可使用飛行時(shí)間分析,通過(guò)經(jīng)由包括例如快門(mén)式光脈沖成
6像的各種技術(shù)來(lái)分析反射光束隨時(shí)間的強(qiáng)度變化以間接地確定從捕捉設(shè)備20到目標(biāo)或物體上的特定位置的物理距離。在另一示例實(shí)施例中,捕捉設(shè)備20可使用結(jié)構(gòu)化光來(lái)捕捉深度信息。在該分析中,圖案化光(即,被顯示為諸如網(wǎng)格圖案或條紋圖案等已知圖案的光)可經(jīng)由例如IR光組件24被投影到場(chǎng)景上。在撞擊到場(chǎng)景中的一個(gè)或多個(gè)目標(biāo)或物體的表面時(shí),作為響應(yīng), 圖案可變形。圖案的這種變形可由例如3-D相機(jī)26和/或RGB相機(jī)28來(lái)捕捉,然后可被分析來(lái)確定從捕捉設(shè)備到目標(biāo)或?qū)ο笊系奶囟ㄎ恢玫奈锢砭嚯x。根據(jù)另一實(shí)施例,捕捉設(shè)備20可包括兩個(gè)或更多個(gè)物理上分開(kāi)的相機(jī),這些相機(jī)可從不同角度查看場(chǎng)景來(lái)獲得可被解析以生成深度信息的視覺(jué)立體數(shù)據(jù)。捕捉設(shè)備20還可包括話筒30。話筒30可包括可接收聲音并將其轉(zhuǎn)換成電信號(hào)的換能器或傳感器。根據(jù)一個(gè)實(shí)施例,話筒30可以被用來(lái)減少目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)10 中的捕捉設(shè)備20和計(jì)算環(huán)境12之間的反饋。另外,話筒30可用于接收也可由 用戶提供的音頻信號(hào),以控制可由計(jì)算環(huán)境12執(zhí)行的諸如游戲應(yīng)用、非游戲應(yīng)用等應(yīng)用。在一示例實(shí)施例中,捕捉設(shè)備20還可以包括可與圖像相機(jī)組件22進(jìn)行可操作的通信的處理器32。處理器32可包括可執(zhí)行指令的標(biāo)準(zhǔn)處理器、專(zhuān)用處理器、微處理器等,這些指令可包括用于接收深度圖像的指令、用于確定合適的目標(biāo)是否可被包括在深度圖像中的指令、用于將合適的目標(biāo)轉(zhuǎn)換成該目標(biāo)的骨架表示或模型的指令、或任何其他合適的指令。捕捉設(shè)備20還可以包括存儲(chǔ)器組件34,該存儲(chǔ)器組件34可以存儲(chǔ)可以由處理器 32執(zhí)行的指令,由3-D相機(jī)或RGB相機(jī)捕捉到的圖像或圖像的幀,或任何其他合適的信息、 圖像等等。根據(jù)一個(gè)示例實(shí)施例,存儲(chǔ)器組件34可包括隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器 (ROM)、高速緩存、閃存、硬盤(pán)或任何其他合適的存儲(chǔ)組件。如圖2所示,在一個(gè)實(shí)施例中,存儲(chǔ)器組件34可以是與圖像捕捉組件22和處理器32進(jìn)行通信的單獨(dú)的組件。根據(jù)另一實(shí)施例,存儲(chǔ)器組件34可被集成到處理器32和/或圖像捕捉組件22中。如圖2所示,捕捉設(shè)備20可經(jīng)由通信鏈路36與計(jì)算環(huán)境12進(jìn)行通信。通信鏈路36可以是包括例如USB連接、火線連接、以太網(wǎng)電纜連接等的有線連接和/或諸如無(wú)線 802. lib,802. llg、802. Ila或802. Iln連接等無(wú)線連接。根據(jù)一個(gè)實(shí)施例,計(jì)算環(huán)境12可以向捕捉設(shè)備20提供時(shí)鐘,可以使用該時(shí)鐘來(lái)通過(guò)通信鏈路36確定何時(shí)捕捉,例如,場(chǎng)景。另外,捕捉設(shè)備20可以通過(guò)通信鏈路36向計(jì)算環(huán)境12提供深度信息和由例如 3-D相機(jī)26和/或RGB相機(jī)28捕捉到的圖像,以及可以由捕捉設(shè)備20生成的骨架模型。 計(jì)算環(huán)境12然后可使用該骨架模型、深度信息和捕捉的圖像來(lái)例如識(shí)別用戶姿勢(shì)以及作為響應(yīng)來(lái)控制諸如游戲或文字處理程序等應(yīng)用。例如,如圖2所示,計(jì)算環(huán)境12可包括姿勢(shì)識(shí)別器引擎190。姿勢(shì)識(shí)別器引擎190可包括姿勢(shì)過(guò)濾器集合,每一姿勢(shì)過(guò)濾器包括關(guān)于骨架模型(在用戶移動(dòng)時(shí))可執(zhí)行的姿勢(shì)的信息??蓪⒂上鄼C(jī)26、28和設(shè)備20捕捉的骨架模型形式的數(shù)據(jù)以及與其相關(guān)聯(lián)的移動(dòng)同姿勢(shì)識(shí)別器引擎190中的姿勢(shì)過(guò)濾器進(jìn)行比較來(lái)標(biāo)識(shí)用戶(如骨架模型所表示的)何時(shí)執(zhí)行了一個(gè)或多個(gè)姿勢(shì)。那些姿勢(shì)可與應(yīng)用的各種控制相關(guān)聯(lián)。因此,計(jì)算環(huán)境12可使用姿勢(shì)識(shí)別器引擎190來(lái)解釋骨架模型的移動(dòng)并基于該移動(dòng)來(lái)控制應(yīng)用。圖3A示出了可用于在目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)中解釋一個(gè)或多個(gè)姿勢(shì)的計(jì)算環(huán)境的示例實(shí)施例。上面參考
圖1A-2所描述的諸如計(jì)算環(huán)境12等的計(jì)算環(huán)境可以是諸如游戲控制臺(tái)等的多媒體控制臺(tái)100。如圖3A所示,多媒體控制臺(tái)100具有含有一級(jí)高速緩存102、二級(jí)高速緩存104和閃存R0M(只讀存儲(chǔ)器)106的中央處理單元(CPU) 101。一級(jí)高速緩存102和二級(jí)高速緩存104臨時(shí)存儲(chǔ)數(shù)據(jù)并因此減少存儲(chǔ)器訪問(wèn)周期數(shù),由此改進(jìn)處理速度和吞吐量。CPUlOl可以設(shè)置成具有一個(gè)以上的內(nèi)核,以及由此的附加的一級(jí)和二級(jí)高速緩存102和104。閃存ROM 106可存儲(chǔ)在當(dāng)多媒體控制臺(tái)100通電時(shí)的引導(dǎo)過(guò)程的初始階段期間加載的可執(zhí)行代碼。圖形處理單元(GPU) 108和視頻編碼器/視頻編解碼器(編碼器/解碼器)114形成用于高速、高分辨率圖形處理的視頻處理流水線。數(shù)據(jù)經(jīng)由總線從圖形處理單元108輸送到視頻編碼器/視頻編解碼器114。視頻處理流水線向A/V(音頻/視頻)端口 140輸出數(shù)據(jù),以便傳輸?shù)诫娨暀C(jī)或其他顯示器。存儲(chǔ)器控制器110連接到GPU 108以方便處理器訪問(wèn)各種類(lèi)型的存儲(chǔ)器112,諸如但不局限于RAM(隨機(jī)存取存儲(chǔ)器)。多媒體控制臺(tái)100包括較佳地在模塊118上實(shí)現(xiàn)的I/O控制器120、系統(tǒng)管理控制器122、音頻處理單元123、網(wǎng)絡(luò)接口控制器124、第一 USB主控制器126、第二 USB控制器 1 和前面板I/O子部件130。USB控制器126和1 用作外圍控制器142⑴-142 O)、無(wú)線適配器148、和外置存儲(chǔ)器設(shè)備146 (例如閃存、外置⑶/DVD ROM驅(qū)動(dòng)器、可移動(dòng)介質(zhì)等) 的主機(jī)。網(wǎng)絡(luò)接口 1 和/或無(wú)線適配器148提供對(duì)網(wǎng)絡(luò)(例如,因特網(wǎng)、家庭網(wǎng)絡(luò)等)的訪問(wèn)并且可以是包括以太網(wǎng)卡、調(diào)制解調(diào)器、藍(lán)牙模塊、電纜調(diào)制解調(diào)器等的各種不同的有線或無(wú)線適配器組件中任何一種。提供系統(tǒng)存儲(chǔ)器143來(lái)存儲(chǔ)在引導(dǎo)過(guò)程期間加載的應(yīng)用數(shù)據(jù)。提供了介質(zhì)驅(qū)動(dòng)器 144,其可以包括DVD/CD驅(qū)動(dòng)器、硬盤(pán)驅(qū)動(dòng)器,或其他可移動(dòng)介質(zhì)驅(qū)動(dòng)器等等。介質(zhì)驅(qū)動(dòng)器 144可以是多媒體控制臺(tái)100內(nèi)部或外部的。應(yīng)用數(shù)據(jù)可經(jīng)由介質(zhì)驅(qū)動(dòng)器144訪問(wèn),以由多媒體控制臺(tái)100執(zhí)行、回放等。介質(zhì)驅(qū)動(dòng)器144經(jīng)由諸如串行ATA總線或其他高速連接 (例如IEEE 1394)等總線連接到I/O控制器120。系統(tǒng)管理控制器122提供涉及確保多媒體控制臺(tái)100的可用性的各種服務(wù)功能。 音頻處理單元123和音頻編解碼器132形成具有高保真度和立體聲處理的對(duì)應(yīng)的音頻處理流水線。音頻數(shù)據(jù)經(jīng)由通信鏈路在音頻處理單元123與音頻編解碼器132之間傳輸。音頻處理流水線將數(shù)據(jù)輸出到A/V端口 140以供外置音頻播放器或具有音頻能力的設(shè)備再現(xiàn)。前面板I/O子部件130支持暴露在多媒體控制臺(tái)100的外表面上的電源按鈕150 和彈出按鈕152以及任何LED(發(fā)光二極管)或其他指示器的功能。系統(tǒng)供電模塊136向多媒體控制臺(tái)100的組件供電。風(fēng)扇138冷卻多媒體控制臺(tái)100內(nèi)的電路。CPU 101、GPU 108、存儲(chǔ)器控制器110、和多媒體控制臺(tái)100內(nèi)的各個(gè)其他組件經(jīng)由一條或多條總線互連,包括串行和并行總線、存儲(chǔ)器總線、外圍總線、和使用各種總線架構(gòu)中任一種的處理器或局部總線。作為示例,這些架構(gòu)可以包括外圍部件互連(PCI)總線、 PCI-Express 總線等。當(dāng)多媒體控制臺(tái)100通電時(shí),應(yīng)用數(shù)據(jù)可從系統(tǒng)存儲(chǔ)器143加載到存儲(chǔ)器112和/ 或高速緩存102、104中并在CPU 101上執(zhí)行。應(yīng)用可呈現(xiàn)在導(dǎo)航到多媒體控制臺(tái)100上可用的不同媒體類(lèi)型時(shí)提供一致的用戶體驗(yàn)的圖形用戶界面。在操作中,介質(zhì)驅(qū)動(dòng)器144中包含的應(yīng)用和/或其他媒體可從介質(zhì)驅(qū)動(dòng)器144啟動(dòng)或播放,以向多媒體控制臺(tái)100提供附加 功能。多媒體控制臺(tái)100可通過(guò)將該系統(tǒng)簡(jiǎn)單地連接到電視機(jī)或其他顯示器而作為獨(dú)立系統(tǒng)來(lái)操作。在該獨(dú)立模式中,多媒體控制臺(tái)100允許一個(gè)或多個(gè)用戶與該系統(tǒng)交互、看電影、或聽(tīng)音樂(lè)。然而,隨著通過(guò)網(wǎng)絡(luò)接口 124或無(wú)線適配器148可用的寬帶連接的集成, 多媒體控制臺(tái)100還可作為較大網(wǎng)絡(luò)社區(qū)中的參與者來(lái)操作。當(dāng)多媒體控制臺(tái)100通電時(shí),可以保留設(shè)定量的硬件資源以供多媒體控制臺(tái)操作系統(tǒng)作系統(tǒng)使用。這些資源可包括存儲(chǔ)器的保留量(諸如,16MB)、CPU和GPU周期的保留量(諸如,5% )、網(wǎng)絡(luò)帶寬的保留量(諸如,8kbs),等等。因?yàn)檫@些資源是在系統(tǒng)引導(dǎo)時(shí)間保留的,所保留的資源對(duì)于應(yīng)用視角而言是不存在的。具體地,存儲(chǔ)器保留較佳地足夠大,以包含啟動(dòng)內(nèi)核、并發(fā)系統(tǒng)應(yīng)用和驅(qū)動(dòng)程序。 CPU保留較佳地為恒定,使得若所保留的CPU用量不被系統(tǒng)應(yīng)用使用,則空閑線程將消耗任何未使用的周期。對(duì)于GPU保留,通過(guò)使用GPU中斷來(lái)顯示由系統(tǒng)應(yīng)用生成的輕量消息(例如,彈出窗口),以調(diào)度代碼來(lái)將彈出窗口呈現(xiàn)為覆蓋圖。覆蓋圖所需的存儲(chǔ)器量取決于覆蓋區(qū)域大小,并且覆蓋圖較佳地與屏幕分辨率成比例縮放。在并發(fā)系統(tǒng)應(yīng)用使用完整用戶界面的情況下,優(yōu)選使用獨(dú)立于應(yīng)用分辨率的分辨率。定標(biāo)器可用于設(shè)置該分辨率,從而無(wú)需改變頻率并引起TV重新同步。在多媒體控制臺(tái)100引導(dǎo)且系統(tǒng)資源被保留之后,就執(zhí)行并發(fā)系統(tǒng)應(yīng)用來(lái)提供系統(tǒng)功能。系統(tǒng)功能被封裝在上述所保留的系統(tǒng)資源中執(zhí)行的一組系統(tǒng)應(yīng)用中。操作系統(tǒng)內(nèi)核標(biāo)識(shí)是系統(tǒng)應(yīng)用線程而非游戲應(yīng)用線程的線程。系統(tǒng)應(yīng)用優(yōu)選地被調(diào)度為在預(yù)定時(shí)間并以預(yù)定時(shí)間間隔在CPU 101上運(yùn)行,以便為應(yīng)用提供一致的系統(tǒng)資源視圖。進(jìn)行調(diào)度是為了把由在控制臺(tái)上運(yùn)行的游戲應(yīng)用所引起的高速緩存分裂最小化。當(dāng)并發(fā)系統(tǒng)應(yīng)用需要音頻時(shí),則由于時(shí)間敏感性而異步調(diào)度音頻處理給游戲應(yīng)用。多媒體控制臺(tái)應(yīng)用管理器(如下所述)在系統(tǒng)應(yīng)用活動(dòng)時(shí)控制游戲應(yīng)用的音頻水平 (例如,靜音、衰減)。輸入設(shè)備(例如,控制器142(1)和142(2))由游戲應(yīng)用和系統(tǒng)應(yīng)用共享。輸入設(shè)備不是所保留的資源,但卻在系統(tǒng)應(yīng)用和游戲應(yīng)用之間切換以使其各自具有設(shè)備的焦點(diǎn)。 應(yīng)用管理器較佳地控制輸入流的切換,而無(wú)需知曉游戲應(yīng)用的知識(shí),并且驅(qū)動(dòng)程序維護(hù)有關(guān)焦點(diǎn)切換的狀態(tài)信息。相機(jī)26、28和捕捉設(shè)備20可以為控制臺(tái)100定義額外的輸入設(shè)備。圖3B示出了可用于在目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)中解釋一個(gè)或多個(gè)姿勢(shì)的計(jì)算環(huán)境的計(jì)算環(huán)境220的另一示例實(shí)施例,該計(jì)算環(huán)境可以是圖1A-2所示的計(jì)算環(huán)境12。計(jì)算系統(tǒng)環(huán)境220只是合適的計(jì)算環(huán)境的一個(gè)示例,并且不旨在對(duì)所公開(kāi)的主題的使用范圍或功能提出任何限制。也不應(yīng)該將計(jì)算環(huán)境220解釋為對(duì)示例性操作環(huán)境220中示出的任一組件或其組合有任何依賴(lài)性或要求。在某些實(shí)施例中,所描繪的各種計(jì)算元素可包括被配置成實(shí)例化本公開(kāi)的各具體方面的電路。例如,本公開(kāi)中使用的術(shù)語(yǔ)電路可包括被配置成通過(guò)固件或開(kāi)關(guān)來(lái)執(zhí)行功能的專(zhuān)用硬件組件。在其他示例實(shí)施方式中,術(shù)語(yǔ)電路可包括由實(shí)施可用于執(zhí)行功能的邏輯的軟件指令配置的通用處理單元、存儲(chǔ)器等。在其中電路包括硬件和軟件的組合的示例實(shí)施例中,實(shí)施者可以編寫(xiě)體現(xiàn)邏輯的源代碼,且源代碼可以被編譯為可以由通用處理單元處理的機(jī)器可讀代碼。因?yàn)楸绢I(lǐng)域技術(shù)人員可以明白現(xiàn)有技術(shù)已經(jīng)進(jìn)化到硬件、軟件或硬件/軟件組合之間幾乎沒(méi)有差別的地步,因而選擇硬件或是軟件來(lái)實(shí)現(xiàn)具體功能是留給實(shí)現(xiàn)者的設(shè)計(jì)選擇。更具體地,本領(lǐng)域技術(shù)人員可以明白軟件進(jìn)程可被變換成等價(jià)的硬件結(jié)構(gòu),而硬件結(jié)構(gòu)本身可被變換成等價(jià)的軟件進(jìn)程。因此,對(duì)于硬件實(shí)現(xiàn)還是軟件實(shí)現(xiàn)的選擇是設(shè)計(jì)選擇并留給實(shí)現(xiàn)者。在圖;3B中,計(jì)算環(huán)境220包括計(jì)算機(jī)Ml,其通常包括各種計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以是能由計(jì)算機(jī)241訪問(wèn)的任何可用介質(zhì),而且包含易失性和非易失性介質(zhì)、可移動(dòng)和不可移動(dòng)介質(zhì)。系統(tǒng)存儲(chǔ)器222包括易失性和/或非易失性存儲(chǔ)器形式的計(jì)算機(jī)存儲(chǔ)介質(zhì),如只讀存儲(chǔ)器(ROM) 223和隨機(jī)存取存儲(chǔ)器(RAM06O?;据斎?輸出系統(tǒng)224(BIOS)包括如在啟動(dòng)時(shí)幫助在計(jì)算機(jī)Ml內(nèi)的元件之間傳輸信息的基本例程,它通常儲(chǔ)存在ROM 223中。RAM 260通常包含處理單元259可以立即訪問(wèn)和/或目前正在操作的數(shù)據(jù)和/或程序模塊。作為示例而非局限,圖3B示出了操作系統(tǒng)225、應(yīng)用程序226、其它程序模塊227和程序數(shù)據(jù)228。計(jì)算機(jī)241還可以包括其他可移動(dòng)/不可移動(dòng)、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)。僅作為示例,圖3B示出了對(duì)不可移動(dòng)、非易失性磁介質(zhì)進(jìn)行讀寫(xiě)的硬盤(pán)驅(qū)動(dòng)器238,對(duì)可移動(dòng)、非易失性磁盤(pán)邪4進(jìn)行讀寫(xiě)的磁盤(pán)驅(qū)動(dòng)器239,以及對(duì)諸如CD ROM或其它光學(xué)介質(zhì)等可移動(dòng)、非易失性光盤(pán)253進(jìn)行讀寫(xiě)的光盤(pán)驅(qū)動(dòng)器M0。可以在示例性操作環(huán)境中使用的其他可移動(dòng)/不可移動(dòng)、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)包括但不限于,磁帶盒、閃存卡、數(shù)字多功能盤(pán)、數(shù)字錄像帶、固態(tài)RAM、固態(tài)ROM等等。硬盤(pán)驅(qū)動(dòng)器238通常由不可移動(dòng)存儲(chǔ)器接口,諸如接口 234連接至系統(tǒng)總線221,磁盤(pán)驅(qū)動(dòng)器239和光盤(pán)驅(qū)動(dòng)器240通常由可移動(dòng)存儲(chǔ)器接口,諸如接口 235連接至系統(tǒng)總線221。以上討論并在圖;3B中示出的驅(qū)動(dòng)器及其相關(guān)聯(lián)的計(jì)算機(jī)存儲(chǔ)介質(zhì)為計(jì)算機(jī)241 提供了對(duì)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其他數(shù)據(jù)的存儲(chǔ)。在圖3B中,例如,硬盤(pán)驅(qū)動(dòng)器238被示為存儲(chǔ)操作系統(tǒng)258、應(yīng)用程序257、其他程序模塊256和程序數(shù)據(jù)255。注意,這些組件可以與操作系統(tǒng)225、應(yīng)用程序226、其他程序模塊227和程序數(shù)據(jù)2 相同, 也可以與它們不同。在此給操作系統(tǒng)258、應(yīng)用程序257、其他程序模塊256、以及程序數(shù)據(jù) 255提供了不同的編號(hào),以說(shuō)明至少它們是不同的副本。用戶可以通過(guò)輸入設(shè)備,諸如鍵盤(pán) 251和定點(diǎn)設(shè)備252(通常被稱(chēng)為鼠標(biāo)、跟蹤球或觸摸墊),向計(jì)算機(jī)241輸入命令和信息。 其他輸入設(shè)備(未示出)可以包括話筒、操縱桿、游戲手柄、圓盤(pán)式衛(wèi)星天線、掃描儀等等。 這些和其他輸入設(shè)備通常由耦合至系統(tǒng)總線的用戶輸入接口 236連接至處理單元259,但也可以由其他接口和總線結(jié)構(gòu),諸如并行端口、游戲端口或通用串行總線(USB),來(lái)連接。相機(jī)沈、觀和捕捉設(shè)備20可以為控制臺(tái)100定義額外的輸入設(shè)備。監(jiān)視器242或其他類(lèi)型的顯示設(shè)備也通過(guò)接口,諸如視頻接口 232,連接至系統(tǒng)總線221。除監(jiān)視器以外,計(jì)算機(jī)也可以包括其他外圍輸出設(shè)備,諸如揚(yáng)聲器244和打印機(jī)對(duì)3,它們可以通過(guò)輸出外圍接口 233 連接。計(jì)算機(jī)241可使用至一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī),諸如遠(yuǎn)程計(jì)算機(jī)246的邏輯連接在網(wǎng)絡(luò)化環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)246可以是個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對(duì)等設(shè)備或其他常見(jiàn)的網(wǎng)絡(luò)節(jié)點(diǎn),且通常包括許多或所有以上相對(duì)于計(jì)算機(jī)241描述的元件,盡管在圖:3B中僅示出了存儲(chǔ)器存儲(chǔ)設(shè)備M7。圖:3B中所示的邏輯連接包括局域網(wǎng)(LAN) 245
10和廣域網(wǎng)(WAN) M9,但也可以包括其他網(wǎng)絡(luò)。這樣的聯(lián)網(wǎng)環(huán)境在辦公室、企業(yè)范圍計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中是常見(jiàn)的。當(dāng)在LAN聯(lián)網(wǎng)環(huán)境中使用時(shí),計(jì)算機(jī)241通過(guò)網(wǎng)絡(luò)接口或適配器237連接至LAN 2450當(dāng)在WAN聯(lián)網(wǎng)環(huán)境中使用時(shí),計(jì)算機(jī)241通常包括調(diào)制解調(diào)器250或用于通過(guò)諸如因特網(wǎng)等WAN 249建立通信的其他手段。調(diào)制解調(diào)器250可以是內(nèi)置或外置的,它可以經(jīng)由用戶輸入接口 236或其他適當(dāng)?shù)臋C(jī)制連接至系統(tǒng)總線221。在網(wǎng)絡(luò)化環(huán)境中,相對(duì)于計(jì)算機(jī) 241所描述的程序模塊或其部分可被存儲(chǔ)在遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中。作為示例而非限制,圖 3B示出了遠(yuǎn)程應(yīng)用程序248駐留在存儲(chǔ)器設(shè)備247上??梢岳斫猓镜木W(wǎng)絡(luò)連接是示例性的,且可以使用在計(jì)算機(jī)之間建立通信鏈路的其他手段。圖4A描繪了可從捕捉設(shè)備20生成的用戶的示例骨架映射。在該實(shí)施方式中,標(biāo)識(shí)出各個(gè)關(guān)節(jié)和骨骼每一手302、每一前臂304、每一肘306、每一二頭肌308、每一肩310、 每一髖312、每一大腿314、每一膝316、每一小腿318、每一足320、頭322、軀干324、脊椎的頂部3 和底部328,以及腰330。在跟蹤更多點(diǎn)的情況下,可標(biāo)識(shí)出附加的特征,比如手指或腳趾的骨骼和關(guān)節(jié),或臉部的各個(gè)特征,如鼻和眼。用戶可通過(guò)移動(dòng)他的身體創(chuàng)建姿勢(shì)。姿勢(shì)包括用戶的運(yùn)動(dòng)或姿態(tài),其可被捕捉為圖像數(shù)據(jù)并解析其意義。姿勢(shì)可以是動(dòng)態(tài)的,包括運(yùn)動(dòng),如模仿扔球。姿勢(shì)可以是靜態(tài)姿態(tài),如在一個(gè)人的軀干3M前面交叉握住他的前臂304。姿勢(shì)也可結(jié)合道具,如通過(guò)揮動(dòng)仿制的劍。姿勢(shì)可包括多于一個(gè)的身體部位,如拍雙手302,或是較微小的運(yùn)動(dòng),如撅起一個(gè)人的嘴唇。姿勢(shì)可用于一般計(jì)算上下文中的輸入。例如,手302或其他身體部位的各種運(yùn)動(dòng)可對(duì)應(yīng)于常見(jiàn)的系統(tǒng)級(jí)任務(wù),如在分層列表中向上或向下導(dǎo)航、打開(kāi)文件、關(guān)閉文件和保存文件。姿勢(shì)也可在視頻游戲?qū)S蒙舷挛闹腥Q于游戲來(lái)使用。例如,對(duì)于駕駛游戲,手302 和腳320的各種運(yùn)動(dòng)可對(duì)應(yīng)于在一方向上操控車(chē)輛、換擋、加速和剎車(chē)。用戶可通過(guò)自己在原地行走或奔跑來(lái)生成對(duì)應(yīng)于行走或奔跑的姿勢(shì)。用戶可另選地提起并放下每一腿312-320來(lái)在不移動(dòng)的情況下模擬行走。系統(tǒng)可通過(guò)分析每一髖312 和每一大腿314來(lái)解析該姿勢(shì)。當(dāng)一個(gè)髖部-大腿角(如相對(duì)于垂直線測(cè)量的,其中站立的腿具有0°的髖部-大腿角,而向前水平伸展的腿具有90°的髖部-大腿角)超過(guò)相對(duì)于另一大腿的特定閾值時(shí),可識(shí)別一步。行走或奔跑可在交替腿的某一數(shù)量的連續(xù)步之后被識(shí)別。兩個(gè)最近的步之間的時(shí)間可被認(rèn)為是一周期。在不滿足閾值角度達(dá)某一數(shù)量的周期之后,系統(tǒng)可確定行走或奔跑姿勢(shì)已停止。給定“行走或奔跑”姿勢(shì),應(yīng)用可為與該姿勢(shì)相關(guān)聯(lián)的應(yīng)用確定的參數(shù)設(shè)定值。這些參數(shù)可包括上述閾值角度、發(fā)起行走或奔跑姿勢(shì)所需的步數(shù)、結(jié)束姿勢(shì)的沒(méi)有發(fā)生步的周期數(shù)、以及確定姿勢(shì)是行走還是奔跑的閾值周期。快周期可對(duì)應(yīng)于奔跑,因?yàn)橛脩魧⒖焖俚匾苿?dòng)他的腿,而較慢的周期可對(duì)應(yīng)于行走。姿勢(shì)最初可以與一組默認(rèn)參數(shù)相關(guān)聯(lián),應(yīng)用可用其自己的參數(shù)來(lái)覆蓋該組默認(rèn)參數(shù)。在這一場(chǎng)景中,不迫使應(yīng)用提供參數(shù),但是應(yīng)用可改為使用一組允許在沒(méi)有應(yīng)用定義的參數(shù)的情況下識(shí)別姿勢(shì)的默認(rèn)參數(shù)。有各種可以與姿勢(shì)相關(guān)聯(lián)的輸出。可以有關(guān)于姿勢(shì)是否正在發(fā)生的基線“是或否”。還可以有置信度水平,其對(duì)應(yīng)于用戶跟蹤的移動(dòng)對(duì)應(yīng)于姿勢(shì)的可能性。這可以是范圍為0和1之間(包括端點(diǎn))的浮點(diǎn)數(shù)的線性標(biāo)度。在接收該姿勢(shì)信息的應(yīng)用不能接受假肯定作為輸入的應(yīng)用中,它可僅使用具有高置信度水平,如至少0.95的已識(shí)別的姿勢(shì)。在應(yīng)用必須識(shí)別姿勢(shì)的每一實(shí)例的情況下,即使以假肯定為代價(jià),它可使用至少具有低得多的置信度水平的姿勢(shì),如僅僅大于0. 2的那些姿勢(shì)。姿勢(shì)可具有關(guān)于兩個(gè)最近步之間的時(shí)間的輸出,并且在僅注冊(cè)了第一步的情況下,這可被設(shè)為保留值,如-1(因?yàn)槿魏蝺刹街g的時(shí)間必須為正)。姿勢(shì)也可具有關(guān)于在最近一步期間達(dá)到的最高大腿角的輸出。另一示例性姿勢(shì)是“腳跟提起跳”。在該姿勢(shì)中,用戶可通過(guò)將他的腳跟提離地面, 但保持他的腳趾著地來(lái)創(chuàng)建該姿勢(shì)。另選地,用戶可跳向空中,其中他的腳320完全離開(kāi)地面。該系統(tǒng)可通過(guò)分析肩310、髖312和膝316的角度關(guān)系來(lái)解析該姿勢(shì)的骨架,以查看它們是否在等于直立的對(duì)齊位置。然后,可監(jiān)視這些點(diǎn)和較高3 和較低3 脊椎點(diǎn)來(lái)發(fā)現(xiàn)任何向上加速。足夠的加速組合可觸發(fā)跳躍姿勢(shì)。給定該“腳跟提起跳”姿勢(shì),應(yīng)用可為與該姿勢(shì)相關(guān)聯(lián)的應(yīng)用確定的參數(shù)設(shè)定值。 參數(shù)可包括上述加速閾值,其確定用戶的肩310、髖312和膝316的某種組合必須向上移動(dòng)多快來(lái)觸發(fā)該姿勢(shì);以及肩310、髖312和膝316之間仍可觸發(fā)跳躍的最大對(duì)齊角。輸出可包括置信度水平,以及用戶在跳躍時(shí)的身體角度?;趯⒔邮兆藙?shì)的應(yīng)用的細(xì)節(jié)來(lái)為姿勢(shì)設(shè)定參數(shù)對(duì)于準(zhǔn)確地標(biāo)識(shí)姿勢(shì)而言是重要的。正確地標(biāo)識(shí)姿勢(shì)以及用戶的意圖極大地有助于創(chuàng)建積極的用戶體驗(yàn)。在姿勢(shì)識(shí)別器系統(tǒng)太敏感、甚至手302的微小向前運(yùn)動(dòng)也被解釋為投擲的情況下,用戶可能變得沮喪,因?yàn)樵谒麤](méi)有作出姿勢(shì)的意圖的情況下卻識(shí)別出姿勢(shì),因此他缺乏對(duì)系統(tǒng)的控制。在姿勢(shì)識(shí)別器系統(tǒng)不夠敏感的情況下,系統(tǒng)可能未識(shí)別出用戶作出投擲姿勢(shì)的刻意嘗試,從而類(lèi)似地使用戶感到沮喪。在敏感度范圍的任一端,用戶都會(huì)變得沮喪,因?yàn)樗荒苷_地向系統(tǒng)提供輸入。對(duì)于姿勢(shì)的另一參數(shù)可以是移動(dòng)的距離。在用戶的姿勢(shì)控制虛擬環(huán)境中的化身的動(dòng)作的情況下,該化身可以是手臂離球的長(zhǎng)度。如果用戶希望與該球交互并抓住它,則這可要求用戶伸展他的手臂302-310到全長(zhǎng)同時(shí)作出抓握姿勢(shì)。在這一情形中,用戶僅部分地伸展他的手臂302-310的類(lèi)似的抓握姿勢(shì)可能無(wú)法達(dá)到與球交互的結(jié)果。姿勢(shì)或其一部分可具有它必須在其中發(fā)生的空間體來(lái)作為參數(shù)。在姿勢(shì)包括身體移動(dòng)的情況下,該空間體通??上鄬?duì)于身體來(lái)表達(dá)。例如,對(duì)于慣用右手的用戶的美式足球投擲姿勢(shì)可僅在不低于右肩310a、且與投擲手臂3(^a-310a在頭322的相同側(cè)的空間體中識(shí)別??赡懿槐匾x空間體的所有邊界,如對(duì)于該投擲姿勢(shì),其中從身體向外的邊界留著不被定義,并且該空間體無(wú)限地向外延伸,或者延伸到正被監(jiān)視的場(chǎng)景的邊緣。圖4B提供了圖2的姿勢(shì)識(shí)別器引擎190的一個(gè)示例性實(shí)施例的進(jìn)一步細(xì)節(jié)。如圖所示,姿勢(shì)識(shí)別器引擎190可包括至少一個(gè)過(guò)濾器418來(lái)確定一個(gè)或多個(gè)姿勢(shì)。過(guò)濾器 418包括定義姿勢(shì)426(以下稱(chēng)為“姿勢(shì)”)的信息,并還可包括用于該姿勢(shì)的參數(shù)4 或元數(shù)據(jù)。例如,包括一只手從身體背后越過(guò)身體前方的運(yùn)動(dòng)的投擲可被實(shí)現(xiàn)為包括表示用戶的一只手從身體背后越過(guò)身體前方的運(yùn)動(dòng)的信息的姿勢(shì)426,該移動(dòng)將由深度相機(jī)來(lái)捕捉。 然后可為該姿勢(shì)似6設(shè)定參數(shù)428。在姿勢(shì)似6是投擲的情況下,參數(shù)4 可以是該手必須達(dá)到的閾值速度、該手必須行進(jìn)的距離(絕對(duì)的,或相對(duì)于用戶的整體大小)、以及識(shí)別器引擎對(duì)發(fā)生姿勢(shì)的置信度評(píng)級(jí)。用于姿勢(shì)426的這些參數(shù)4 可以在各應(yīng)用之間、在單個(gè)應(yīng)用的各上下文之間、或 在一個(gè)應(yīng)用的一個(gè)上下文內(nèi)隨著時(shí)間變化。過(guò)濾器可以是模塊化的或是可互換的。在一個(gè)實(shí)施例中,過(guò)濾器具有多個(gè)輸入,這些輸入中的每一個(gè)具有一類(lèi)型;以及多個(gè)輸出,這些輸出中的每一個(gè)具有一類(lèi)型。在這一情形中,第一過(guò)濾器可用具有與第一過(guò)濾器相同數(shù)量和類(lèi)型的輸入和輸出的第二過(guò)濾器來(lái)替換而不更改識(shí)別器引擎體系結(jié)構(gòu)的其他方面。例如,可以有用于駕駛的第一過(guò)濾器,該第一過(guò)濾器取骨架數(shù)據(jù)作為輸入并輸出與該過(guò)濾器相關(guān)聯(lián)的姿勢(shì)正在發(fā)生的置信度以及轉(zhuǎn)向角。在希望用第二駕駛過(guò)濾器來(lái)替換該第一駕駛過(guò)濾器的情況下——這可能是因?yàn)榈诙{駛過(guò)濾器更高效且需要更少的處理資源——?jiǎng)t可以通過(guò)簡(jiǎn)單地用第二過(guò)濾器替換第一過(guò)濾器來(lái)這樣做,只要第二過(guò)濾器具有相同的輸入和輸出——骨架數(shù)據(jù)類(lèi)型的一個(gè)輸入、以及置信度類(lèi)型和角度類(lèi)型的兩個(gè)輸出。過(guò)濾器不需要具有參數(shù)。例如,返回用戶的高度的“用戶高度”過(guò)濾器可能不允許任何可調(diào)節(jié)的參數(shù)。替換的“用戶高度”過(guò)濾器可具有可調(diào)節(jié)參數(shù),如在確定用戶的高度時(shí)是否考慮用戶的鞋、發(fā)型、頭飾以及體態(tài)。對(duì)過(guò)濾器的輸入可包括諸如關(guān)于用戶的關(guān)節(jié)位置的關(guān)節(jié)數(shù)據(jù),像在關(guān)節(jié)處相交的骨所形成的角度、來(lái)自場(chǎng)景的RGB色彩數(shù)據(jù)、以及用戶的某一方面的變化速率等內(nèi)容。來(lái)自過(guò)濾器的輸出可包括諸如正作出給定姿勢(shì)的置信度、作出姿勢(shì)運(yùn)動(dòng)的速度、以及作出姿勢(shì)運(yùn)動(dòng)的時(shí)間等內(nèi)容。上下文可以是文化上下文,并且可以是環(huán)境上下文。文化上下文指的是使用系統(tǒng)的用戶的文化。不同的文化可使用相似的姿勢(shì)來(lái)賦予顯著不同的含義。例如,希望叫另一個(gè)用戶“看”或“使用他的眼睛”的美國(guó)用戶可將他的食指放在他頭上靠近他的眼睛的遠(yuǎn)端處。然而,對(duì)意大利用戶而言,該姿勢(shì)可被解釋為對(duì)黑手黨的引用。類(lèi)似地,在單個(gè)應(yīng)用的不同環(huán)境之中可能有不同的上下文。取涉及操作摩托車(chē)的第一人稱(chēng)射擊游戲。當(dāng)用戶在走路時(shí),將手指朝向地面握拳并向前且從身體向外伸出拳頭可表示重拳姿勢(shì)。當(dāng)用戶在駕駛上下文中時(shí),相同的運(yùn)動(dòng)可表示“換擋”姿勢(shì)??赡苓€有一個(gè)或多個(gè)菜單環(huán)境,其中用戶可保存他的游戲、在他的人物裝備之間選擇或執(zhí)行類(lèi)似的不包括直接玩游戲的動(dòng)作。在該環(huán)境中,該游戲姿勢(shì)可具有第三個(gè)含義,如選擇某樣?xùn)|西或前進(jìn)到另一屏幕。姿勢(shì)識(shí)別器引擎190可具有向姿勢(shì)過(guò)濾器418提供功能的基礎(chǔ)識(shí)別器引擎416。 在一實(shí)施例中,識(shí)別器引擎416實(shí)現(xiàn)的功能包括跟蹤所識(shí)別的姿勢(shì)和其他輸入的隨時(shí)間輸入(input-over-time)存檔、隱馬爾可夫模型實(shí)現(xiàn)(其中模型化系統(tǒng)被假定為具有未知參數(shù)的馬爾可夫過(guò)程一其中當(dāng)前狀態(tài)封裝了確定將來(lái)狀態(tài)所需的任何過(guò)去狀態(tài)信息,因此不必為此目的而維護(hù)任何其它過(guò)去狀態(tài)信息的過(guò)程,并且隱藏參數(shù)從可觀察數(shù)據(jù)來(lái)確定)、以及求解姿勢(shì)識(shí)別的特定實(shí)例所需的其他功能。過(guò)濾器418在基礎(chǔ)識(shí)別器引擎416之上加載并實(shí)現(xiàn),并且可利用引擎416提供給所有過(guò)濾器418的服務(wù)。在一實(shí)施例中,基礎(chǔ)識(shí)別器引擎416處理所接收到的數(shù)據(jù)來(lái)確定它是否滿足任何過(guò)濾器418的要求。由于這些諸如解析輸入等所提供的服務(wù)是由基礎(chǔ)識(shí)別器引擎416 —次性提供而非由每一過(guò)濾器418提供的,因此這一服務(wù)在一段時(shí)間內(nèi)只需被處理一次而不是對(duì)該時(shí)間段對(duì)每一過(guò)濾器418處理一次,由此減少了確定姿勢(shì)所需的處理。應(yīng)用可使用姿勢(shì)識(shí)別器引擎190所提供的過(guò)濾器418,或者它可提供其自己的過(guò)濾器418,該過(guò)濾器被插入到基礎(chǔ)識(shí)別器引擎416中。在一實(shí)施例中,所有過(guò)濾器418具有啟用該插入特性的通用接口。此外,所有過(guò)濾器418可利用參數(shù)428,因此可使用如下所述的單個(gè)姿勢(shì)工具來(lái)診斷并調(diào)節(jié)整個(gè)過(guò)濾器系統(tǒng)418。這些參數(shù)4 可由姿勢(shì)工具420為應(yīng)用或應(yīng)用的上下文來(lái)調(diào)節(jié)。在一實(shí)施例中, 姿勢(shì)工具420包括多個(gè)滑塊422以及身體424的圖表示,每一滑塊422對(duì)應(yīng)于一參數(shù)428。 當(dāng)用相應(yīng)的滑塊422來(lái)調(diào)整參數(shù)428時(shí),身體4M可展示將用這些參數(shù)4 被識(shí)別為姿勢(shì)的動(dòng)作以及使用這些參數(shù)4 將不被識(shí)別為姿勢(shì)的動(dòng)作,如所標(biāo)識(shí)的。姿勢(shì)的參數(shù)428的這一可視化提供了調(diào)試并細(xì)化調(diào)節(jié)姿勢(shì)的有效手段。圖5描繪了從堆疊的姿勢(shì)或過(guò)濾器418創(chuàng)建的更復(fù)雜的姿勢(shì)或過(guò)濾器418。姿勢(shì)可以彼此堆疊,堆疊的過(guò)濾器于是可被認(rèn)為是包括多個(gè)其他過(guò)濾器的過(guò)濾器。即,用戶一次可表達(dá)多于一個(gè)的姿勢(shì)。例如,并非在作出投擲姿勢(shì)時(shí)不允許除了投擲之外的任何輸入,或要求用戶除了該姿勢(shì)的分量之外保持不動(dòng)(例如,在作出僅涉及一條手臂的投擲姿勢(shì)時(shí)站著不動(dòng))。在姿勢(shì)堆疊時(shí),用戶可同時(shí)作出跳躍姿勢(shì)和投擲姿勢(shì),并且這兩個(gè)姿勢(shì)都將被姿勢(shì)引擎識(shí)別出。圖5A描繪了根據(jù)堆疊范例的簡(jiǎn)單姿勢(shì)過(guò)濾器418。I過(guò)濾器(IFilter) 502是可在每一姿勢(shì)過(guò)濾器中使用的基本過(guò)濾器418。I過(guò)濾器(IFilter) 502取用戶位置數(shù)據(jù)504,并輸出姿勢(shì)已發(fā)生的置信度水平506。它還將該位置數(shù)據(jù)504饋入方向盤(pán)(SteeringWheel) 過(guò)濾器508,該過(guò)濾器508取該位置數(shù)據(jù)作為輸入,并輸出用戶正在轉(zhuǎn)向的角度(例如,向用戶當(dāng)前方向右側(cè)40度)510。圖5B描繪了將過(guò)濾器418堆疊到圖5A的姿勢(shì)過(guò)濾器上的更復(fù)雜的姿勢(shì)。除了 I 過(guò)濾器502和方向盤(pán)508之外,還存在I跟蹤(ITracking)過(guò)濾器512,該過(guò)濾器從I過(guò)濾器502接收位置數(shù)據(jù)504,并輸出用戶通過(guò)姿勢(shì)514所作出的進(jìn)展量。I跟蹤512還將位置數(shù)據(jù)504饋送到潤(rùn)滑油減輕(GreaseLightning) 514和E剎車(chē)516,這些是關(guān)于可在操作車(chē)輛時(shí)如使用緊急剎車(chē)作出的其他姿勢(shì)的過(guò)濾器418。存在用于堆疊姿勢(shì)的其他實(shí)施例。在一實(shí)施例中,位置數(shù)據(jù)504被直接,而不是通過(guò)I過(guò)濾器502,傳遞給堆疊的姿勢(shì)的全部過(guò)濾器,且識(shí)別器引擎的組件確定每個(gè)過(guò)濾器如何互操作。例如,利用跳躍過(guò)濾器和投擲過(guò)濾器,當(dāng)沒(méi)有其他用戶動(dòng)作正在發(fā)生時(shí),每個(gè)可被獨(dú)立地識(shí)別,但是該組件將基于來(lái)自每個(gè)過(guò)濾器的各自的輸出識(shí)別出跳躍和可能是投擲的某一用戶輸入正在同時(shí)發(fā)生。該組件然后可較不嚴(yán)厲地解釋投擲過(guò)濾器(例如,通過(guò)擴(kuò)展可接受的值的范圍來(lái)滿足某一參數(shù)),并基于此可將“可能為投擲的某一輸入”識(shí)別為投擲。圖6描繪了用戶602在美式足球視頻游戲中可以作出的用以發(fā)出“安全接球”(fair catch)信號(hào)的示例姿勢(shì)。這些圖描繪了各個(gè)時(shí)間點(diǎn)的用戶,其中圖6A是第一時(shí)間點(diǎn),而圖6E是最后一個(gè)時(shí)間點(diǎn)。這些圖中的每一個(gè)可對(duì)應(yīng)于由深度相機(jī)402捕捉的圖像數(shù)據(jù)的一個(gè)快照或幀,但不必是連續(xù)的圖像數(shù)據(jù)幀,因?yàn)樯疃认鄼C(jī)402能夠比用戶可覆蓋該距離更快地捕捉幀。例如,該姿勢(shì)可在3秒的時(shí)間段內(nèi)發(fā)生,并且在深度相機(jī)以每秒40 幀來(lái)捕捉數(shù)據(jù)的情況下,在用戶602作出該安全接球姿勢(shì)時(shí)它將捕捉60個(gè)圖像數(shù)據(jù)幀。在圖6A中,用戶602以他的手臂604向下放于兩側(cè)開(kāi)始。他然后將手臂舉起超過(guò)肩膀,如圖6B所描繪的,然后進(jìn)一步向上到大約他的頭部的水平,如圖6C所描繪的。從那里,他將他的手臂604降下到肩膀水平,如圖6D所描繪的,然后再一次將手臂舉起到大約他的頭部的水平,如圖6E所描繪的。在系統(tǒng)捕捉用戶602的這些位置而沒(méi)有可發(fā)出該姿勢(shì)被取消或正在作出另一姿勢(shì)的信號(hào)的任何居間位置的情況下,可將安全接球姿勢(shì)識(shí)別為已由用戶602作出。圖7描繪了在解析每一圖像數(shù)據(jù)幀來(lái)產(chǎn)生用戶的骨架映射時(shí)圖5的示例“安全接球”姿勢(shì)。該系統(tǒng)在從用戶的深度圖像產(chǎn)生了骨架映射之后,現(xiàn)在可確定用戶的身體如何隨時(shí)間而移動(dòng),并且可從中解析姿勢(shì)。在圖7A中,用戶的肩膀310在他的肘306上方,而肘306又在他的手302上方。 肩310、肘306和手302然后在圖7B中處于一致水平。系統(tǒng)然后在圖7C中檢測(cè)到手302在肘上方,而肘在肩310上方。在圖7D中,用戶返回到圖7B的位置,其中肩310、肘306和手 302處于一致水平。在該姿勢(shì)的最終位置,圖7E中示出,用戶返回到圖7C的位置,其中手 302在肘上方,而肘在肩310上方。盡管深度相機(jī)402捕捉了一系列靜止圖像,使得在任何一個(gè)圖像中用戶看似為靜止的,但用戶在執(zhí)行該姿勢(shì)的過(guò)程中在移動(dòng)(而非如上所述的靜止姿勢(shì))。該系統(tǒng)能夠取每一靜止圖像中的該一系列姿態(tài),并從中確定用戶正在作出的移動(dòng)姿勢(shì)。
在執(zhí)行姿勢(shì)時(shí),用戶可能無(wú)法創(chuàng)建如他的右肩310a、右肘306a和右手302a所形成的角度,例如在140°和145°之間。因此,使用用于安全接球姿勢(shì)428的過(guò)濾器418的應(yīng)用可調(diào)諧相關(guān)聯(lián)的參數(shù)426來(lái)最佳地服務(wù)于應(yīng)用的細(xì)節(jié)。例如,圖7C和7E中的位置可在用戶將其手302放在其肩310上方的任何時(shí)刻被識(shí)別出,而不關(guān)注肘306的位置。更嚴(yán)格的一組參數(shù)可能要求手302在頭310上方,并且肘306既在肩310上方又在頭322和手302 之間。另外,用于安全接球姿勢(shì)428的參數(shù)426可要求用戶在諸如1. 5秒等一段指定時(shí)間內(nèi)從圖7A的位置移動(dòng)到圖7E的位置,并且如果用戶花費(fèi)了多于1. 5秒來(lái)移動(dòng)通過(guò)這些位置,則它將不被識(shí)別為安全接球418。圖8描繪了來(lái)自姿勢(shì)過(guò)濾器庫(kù)802的通用姿勢(shì)過(guò)濾器806如何被分組成用于某一任務(wù)的互補(bǔ)姿勢(shì)過(guò)濾器的風(fēng)格包804。姿勢(shì)過(guò)濾器庫(kù)802聚集由系統(tǒng)提供的所有姿勢(shì)過(guò)濾器806。在一實(shí)施例中,應(yīng)用可提供附加的姿勢(shì)過(guò)濾器供該應(yīng)用使用。通用姿勢(shì)過(guò)濾器包括諸如“抓手過(guò)背摔”806a和“蹲下”806b之類(lèi)的事物。這些姿勢(shì)過(guò)濾器然后可在風(fēng)格包804 中被分組在一起。風(fēng)格包804可包括某一風(fēng)格中通常使用的那些姿勢(shì)。例如,第一人稱(chēng)射擊(FPS) 風(fēng)格包804a可具有用于用武器射擊812c、投擲炮彈812d、揮拳猛擊812e、開(kāi)門(mén)812f、蹲下 812g、跳躍812h、奔跑812i以及轉(zhuǎn)身812j的姿勢(shì)過(guò)濾器。該FPS風(fēng)格包804a可被認(rèn)為是提供通用FPS風(fēng)格包808a-姿勢(shì)過(guò)濾器參數(shù)被調(diào)諧或設(shè)置使得它們將與大量FPS應(yīng)用一起可接受地工作的風(fēng)格包。風(fēng)格包不限于為已知風(fēng)格或應(yīng)用工作的互補(bǔ)姿勢(shì)過(guò)濾器的組。風(fēng)格包可包括包含某一應(yīng)用或風(fēng)格使用的那些過(guò)濾器的子集的姿勢(shì)過(guò)濾器,或互補(bǔ)的過(guò)濾器,但是用于它們的合適的風(fēng)格還未被標(biāo)識(shí)。應(yīng)用然后可調(diào)諧那些通用風(fēng)格包來(lái)滿足應(yīng)用的細(xì)節(jié)。應(yīng)用可通過(guò)為風(fēng)格包中的過(guò)濾器的參數(shù)設(shè)置值來(lái)調(diào)諧通用風(fēng)格包。例如,游戲A 810的創(chuàng)建者可決定在要求演示移動(dòng)來(lái)注冊(cè)開(kāi)門(mén)姿勢(shì)過(guò)濾器812f時(shí)他們的游戲最佳地運(yùn)作,因?yàn)榉駝t它就太類(lèi)似于揮拳猛擊姿勢(shì)過(guò)濾器81 了。然而,游戲B的創(chuàng)建者可決定這不是問(wèn)題,且僅要求更適度的移動(dòng)來(lái)注冊(cè)開(kāi)門(mén)姿勢(shì)過(guò)濾器812fB。在風(fēng)格包包括機(jī)器可讀指令的實(shí)施例中,風(fēng)格包可被提供為采用源代碼形式的那些指令或采用反映那些指令的某些編譯量的形式。圖9示出了用于在應(yīng)用為一個(gè)過(guò)濾器的一個(gè)參數(shù)提供值時(shí)調(diào)諧過(guò)濾器包中的互補(bǔ)姿勢(shì)過(guò)濾器的示例操作過(guò)程。操作902描繪了提供包括多個(gè)過(guò)濾器的包,每個(gè)過(guò)濾器包括關(guān)于姿勢(shì)的信息和至少一個(gè)參數(shù),每個(gè)過(guò)濾器與包中的至少一個(gè)其他過(guò)濾器互補(bǔ)。包可表示用于某一風(fēng)格的姿勢(shì)過(guò)濾器。例如,用于視頻游戲的風(fēng)格包可包括諸如第一人稱(chēng)射擊、動(dòng)作、駕駛和體育等風(fēng)格。如這里所使用的且在至少一個(gè)實(shí)施例中,“提供包”可涉及允許對(duì)對(duì)應(yīng)于包中的過(guò)濾器的編程語(yǔ)言庫(kù)文件的訪問(wèn)或允許對(duì)應(yīng)用的應(yīng)用編程接口(API)的訪問(wèn)。應(yīng)用的開(kāi)發(fā)者可加載庫(kù)文件并然后在適當(dāng)時(shí)作出方法調(diào)用。例如,對(duì)于體育包,可存在相應(yīng)的體育包庫(kù)文件。當(dāng)包含在應(yīng)用中時(shí),應(yīng)用然后可根據(jù)給定的API作出使用體育包的調(diào)用。這些API 調(diào)用可包括返回過(guò)濾器的參數(shù)的值,設(shè)置過(guò)濾器的參數(shù)的值,以及將過(guò)濾器的標(biāo)識(shí)與觸發(fā)應(yīng)用的某一部分相關(guān),例如使得受用戶控制的網(wǎng)球玩家在用戶作出適當(dāng)?shù)木W(wǎng)球拍揮動(dòng)姿勢(shì)時(shí)揮動(dòng)網(wǎng)球拍。如上所述,姿勢(shì)可包括各種各樣的事物。例如,它可以是蹲下、跳躍、倚靠、抓手過(guò)背摔、投擲、揮臂、躲避、踢和阻擋中的任一個(gè)。同樣,姿勢(shì)可對(duì)應(yīng)于用戶界面的導(dǎo)航。例如, 用戶可手指向上指并且手指面向3D相機(jī)地保持他的手。他然后可以將手指朝向手掌收攏來(lái)形成拳頭,并且這可以是指示基于窗口的用戶界面計(jì)算環(huán)境中的焦點(diǎn)窗口應(yīng)被關(guān)閉的姿勢(shì)。由于姿勢(shì)可用于指示從應(yīng)用中的化身應(yīng)揮出重拳到應(yīng)用中的窗口應(yīng)被關(guān)閉的任何內(nèi)容,因此從視頻游戲到文本編輯器的各種各樣的應(yīng)用可利用姿勢(shì)?;パa(bǔ)姿勢(shì)過(guò)濾器一或者如同在通常被一起使用的那些姿勢(shì)過(guò)濾中那樣互補(bǔ),或者如一個(gè)姿勢(shì)過(guò)濾器中的參數(shù)中的變化會(huì)改變另一個(gè)姿勢(shì)過(guò)濾器的參數(shù)那樣互補(bǔ)一可被分組在一起成為風(fēng)格包,風(fēng)格包可能由該應(yīng)用以該風(fēng)格使用。這些包對(duì)于應(yīng)用來(lái)說(shuō)可能是可用的或可被標(biāo)識(shí)的,應(yīng)用可選擇至少一個(gè)。應(yīng)用可調(diào)諧或修改所選包中的過(guò)濾器的參數(shù)來(lái)最佳地適合于應(yīng)用的獨(dú)特方面。當(dāng)調(diào)諧該參數(shù)時(shí),也可調(diào)諧該過(guò)濾器或第二過(guò)濾器的第二互補(bǔ)參數(shù)(在相互依賴(lài)的意義上)使得這些參數(shù)保持互補(bǔ)。應(yīng)用確定的參數(shù)可基于應(yīng)用所在的上下文來(lái)變化。為此,應(yīng)用可將多個(gè)值賦予過(guò)濾器的應(yīng)用確定的參數(shù),每一值對(duì)應(yīng)于一不同的上下文。如上所討論的,該上下文可以是文化上下文或環(huán)境上下文。操作904描繪了接收將值賦予第一過(guò)濾器的參數(shù)的指示。應(yīng)用確定的參數(shù)可包括過(guò)濾器的各種各樣特性中的任一個(gè),如身體部位、空間體、速度、移動(dòng)方向、角度、以及移動(dòng)發(fā)生的地方。在一實(shí)施例中,應(yīng)用確定的參數(shù)的值由應(yīng)用的最終用戶通過(guò)作出姿勢(shì)來(lái)確定。例如,應(yīng)用可允許用戶訓(xùn)練它,使得用戶能夠指定他認(rèn)為姿勢(shì)應(yīng)包括什么運(yùn)動(dòng)。這對(duì)于允許沒(méi)
16有對(duì)其運(yùn)動(dòng)技能的良好控制的用戶能夠?qū)⑺茏鞒龅倪\(yùn)動(dòng)與對(duì)應(yīng)的姿勢(shì)相鏈接是有益的。 如果這不可用,則用戶可能變得沮喪,因?yàn)樗麩o(wú)法使其身體以應(yīng)用所需的方式移動(dòng)來(lái)產(chǎn)生姿勢(shì)。在存在互補(bǔ)過(guò)濾器一具有相互關(guān)聯(lián)的參數(shù)的多個(gè)過(guò)濾器一的實(shí)施例中,從應(yīng)用接收第一過(guò)濾器的應(yīng)用確定的參數(shù)的值可包括用該值設(shè)置該第一過(guò)濾器的應(yīng)用確定的參數(shù), 以及基于該第一過(guò)濾器的該參數(shù)的值設(shè)置第二互補(bǔ)過(guò)濾器的互補(bǔ)應(yīng)用確定的參數(shù)。例如, 可以決定以特定方式投擲美式足球的用戶可能也以特定方式投擲棒球。因此,在確定一個(gè)過(guò)濾器的某一應(yīng)用確定的參數(shù),如對(duì)于美式足球投擲姿勢(shì)的過(guò)濾器上的速度參數(shù),應(yīng)以某一方式被設(shè)置時(shí),諸如棒球投擲姿勢(shì)上的速度參數(shù)之類(lèi)的其他互補(bǔ)應(yīng)用確定的參數(shù)可基于第一應(yīng)用確定的參數(shù)如何被設(shè)置來(lái)設(shè)置。這不需要是給定的應(yīng)用確定的參數(shù)的相同值,或甚至跨各過(guò)濾器的相同類(lèi)型的應(yīng)用確定的參數(shù)。例如,情況可以是當(dāng)美式足球投擲必須以前向手臂速度X m/s(米/秒)來(lái)作出時(shí),美式足球接球必須以手距離軀干至少Y m(米)距離來(lái)作出。該值可以是閾值,例如手臂速度大于X。它可以是絕對(duì)值,如手臂速度等于X??梢杂腥蒎e(cuò),如手臂速度等于X的Y內(nèi)。它還可以包括范圍,如手臂速度大于或等于X但小于 Z。操作906描繪了將值賦予第一過(guò)濾器的參數(shù)。在參數(shù)和它們的值之間的關(guān)聯(lián)性被存儲(chǔ)在數(shù)據(jù)庫(kù)中的情況下,這可包括將該值與和參數(shù)的關(guān)聯(lián)性一起存儲(chǔ)在數(shù)據(jù)庫(kù)中。操作908描繪了將第二值賦予第二過(guò)濾器的第二參數(shù),該第二值是使用賦予第一過(guò)濾器的參數(shù)的值確定的。如上所討論的,第二值可以各種方式與第一值有關(guān)。在兩個(gè)參數(shù)涉及基本相似的某物時(shí),例如閾值跳躍高度,第二值可等于第一值。第二值和第一值可具有各種其他關(guān)系,例如比例關(guān)系、反比例關(guān)系、線性關(guān)系、指數(shù)關(guān)系、以及取這些值作為輸入的函數(shù)。在過(guò)濾器可彼此繼承特性的實(shí)施例中,例如在面向?qū)ο蟮膶?shí)現(xiàn)中,第二過(guò)濾器可構(gòu)成第一過(guò)濾器的子,而第一過(guò)濾器類(lèi)似地是第二過(guò)濾器的父。取“拍手”過(guò)濾器作為示例。 該過(guò)濾器可充當(dāng)諸如“舉起單手擊掌”(high five)、“舉起雙手擊掌”(high ten)、以及“低手單手擊掌”(low five)之類(lèi)的拍手上的變型的父。在“拍手”具有“手移動(dòng)距離閾值”參數(shù)的情況下,當(dāng)設(shè)置了該參數(shù)的值時(shí),對(duì)于所有子過(guò)濾器的該“手移動(dòng)距離閾值”參數(shù)可被設(shè)為該相同值。類(lèi)似地,兩個(gè)參數(shù)的互補(bǔ)特性可歸因于堆疊一個(gè)過(guò)濾器以合并到另一個(gè)過(guò)濾器中。一個(gè)過(guò)濾器可以是轉(zhuǎn)向過(guò)濾器,并與諸如換擋、加速、減速之類(lèi)的其他過(guò)濾器堆疊,以創(chuàng)建駕駛過(guò)濾器。隨著轉(zhuǎn)向過(guò)濾器的“最小轉(zhuǎn)向角閾值”參數(shù)被修改,駕駛過(guò)濾器的相應(yīng)的“最小轉(zhuǎn)向角閾值”參數(shù)也可被修改。操作910描繪了可任選的操作,接收包括個(gè)人的圖像的數(shù)據(jù),以及當(dāng)解析過(guò)濾器以確定圖像數(shù)據(jù)是否匹配某一過(guò)濾器(從而指示出某一姿勢(shì))時(shí),在對(duì)不存在包中的過(guò)濾器解析數(shù)據(jù)之前,對(duì)所選的包中的每個(gè)過(guò)濾器解析數(shù)據(jù)。在應(yīng)用選擇一過(guò)濾器包來(lái)使用的情況下,例如通過(guò)包括該過(guò)濾器包的庫(kù)文件,它可能這么做,因?yàn)槟切┻^(guò)濾器要被應(yīng)用的用戶經(jīng)常使用。進(jìn)一步,過(guò)濾器包中的過(guò)濾器可一個(gè)接一個(gè)地被使用,例如第一人稱(chēng)射擊包中的跑、跳、用槍掃射、蹲下并卸下武器過(guò)濾器。為此,在過(guò)濾器包已被標(biāo)識(shí)為由應(yīng)用使用時(shí),諸如上述基礎(chǔ)過(guò)濾器引擎之類(lèi)的系統(tǒng)處理過(guò)濾器很可能通過(guò)首先對(duì)構(gòu)成所選過(guò)濾器包的那些過(guò)濾器處理數(shù)據(jù)來(lái)減少處理對(duì)應(yīng)于用戶輸入的圖像數(shù)據(jù)所需的處理資源。操作912描繪了接收將第三值賦予第二參數(shù)的指示以及將第三值賦予第二參數(shù)的任選的操作。兩個(gè)參數(shù)之間的關(guān)系不需要是雙向的??赡艿那闆r是該值中的變化影響第二值,但第二值中的變化不影響第一值。操作914描繪了將第四值賦予該參數(shù)的任選的操作,該第四值是使用第三值確定的。兩個(gè)參數(shù)之間的關(guān)系也可能是雙向的。在該實(shí)施例中,第二參數(shù)的值中的變化導(dǎo)致改變第一參數(shù)的值,如使用第二參數(shù)的新的值確定的。操作916描繪了任選的操作,接收包括個(gè)人的圖像的數(shù)據(jù);確定數(shù)據(jù)是否匹配包的第一過(guò)濾器;以及在對(duì)不能被用戶與該過(guò)濾器同時(shí)指示的過(guò)濾器解析數(shù)據(jù)之前,對(duì)該包中可由用戶與該第一過(guò)濾器同時(shí)指示的每個(gè)其他過(guò)濾器解析數(shù)據(jù)。在一實(shí)施例中,過(guò)濾器包中的過(guò)濾器可同時(shí)被使用,例如第一人稱(chēng)射擊包中的同時(shí)跑過(guò)濾器和卸下武器過(guò)濾器。 為此,在過(guò)濾器包已被標(biāo)識(shí)為由應(yīng)用使用時(shí),諸如上面討論的基礎(chǔ)識(shí)別器引擎之類(lèi)的系統(tǒng)處理過(guò)濾器很可能通過(guò)首先對(duì)構(gòu)成該過(guò)濾器包的那些過(guò)濾器處理數(shù)據(jù)來(lái)減少處理對(duì)應(yīng)于用戶輸入的圖像數(shù)據(jù)所需的處理資源。
結(jié)論盡管已經(jīng)結(jié)合各附圖所示的較佳方面描述了本發(fā)明,但要理解,可使用其他相似方面或者可對(duì)所述方面進(jìn)行修改或添加來(lái)執(zhí)行本發(fā)明的相同功能而不脫離本發(fā)明。因此, 本發(fā)明不應(yīng)該僅限于任何單個(gè)方面,而是應(yīng)該在根據(jù)所附權(quán)利要求書(shū)的廣度和范圍內(nèi)解釋。例如,本文描述的各種過(guò)程可用硬件或軟件、或兩者的組合來(lái)實(shí)現(xiàn)。因此,所公開(kāi)的各實(shí)施例的方法和裝置或其某些方面或部分可采用包含在諸如軟盤(pán)、CD-ROM、硬盤(pán)驅(qū)動(dòng)器或任何其他機(jī)器可讀存儲(chǔ)介質(zhì)等有形介質(zhì)中的程序代碼(即,指令)的形式。當(dāng)程序代碼被加載到諸如計(jì)算機(jī)等機(jī)器并由其執(zhí)行時(shí),該機(jī)器變?yōu)楸慌渲贸蓪?shí)施所公開(kāi)的各實(shí)施例的裝置。除了此處明確闡述的具體實(shí)現(xiàn)之外,考慮此處所公開(kāi)的說(shuō)明書(shū),其他方面和實(shí)現(xiàn)將對(duì)本領(lǐng)域的技術(shù)人員是顯而易見(jiàn)的。說(shuō)明書(shū)和所示實(shí)現(xiàn)旨在僅被認(rèn)為是示例。
權(quán)利要求
1.一種用于向應(yīng)用提供互補(bǔ)姿勢(shì)過(guò)濾器的包的方法,包括提供包括多個(gè)過(guò)濾器的包,每個(gè)過(guò)濾器包括關(guān)于姿勢(shì)的信息,至少一個(gè)過(guò)濾器與包中的至少一個(gè)其他過(guò)濾器互補(bǔ)(902);接收將第一值賦予第一過(guò)濾器的一參數(shù)的指示(904);將所述值賦予所述參數(shù)(906);以及將第二值賦予第二過(guò)濾器的第二參數(shù),所述第二值是使用所述第一值確定的(908)。
2.如權(quán)利要求1所述的方法,其特征在于,所述第一過(guò)濾器的所述參數(shù)表示身體部位、 空間體、速度、移動(dòng)方向、角度、二維OD)平面、或移動(dòng)發(fā)生的場(chǎng)所。
3.如權(quán)利要求1所述的方法,其特征在于,所述姿勢(shì)包括蹲下、跳躍、倚靠、抓手過(guò)背摔、投擲、揮臂、躲避、踢或阻擋。
4.如權(quán)利要求1所述的方法,其特征在于,過(guò)濾器在以下情況下與包中的至少一個(gè)其他過(guò)濾器互補(bǔ),(i)該過(guò)濾器具有基于包中的所述至少一個(gè)其他過(guò)濾器的參數(shù)確定的至少一個(gè)參數(shù);(ii)該過(guò)濾器表示通常由用戶在包中的所述至少一個(gè)其他過(guò)濾器所表示的姿勢(shì)的短時(shí)間段內(nèi)作出的姿勢(shì);或(iii)該過(guò)濾器所表示的姿勢(shì)能夠與包中的所述至少一個(gè)其他過(guò)濾器所表示的姿勢(shì)同時(shí)作出。
5.如權(quán)利要求1所述的方法,其特征在于,將所述值賦予所述參數(shù)的指示是作為用戶作出所述姿勢(shì)的結(jié)果而接收的。
6.如權(quán)利要求1所述的方法,其特征在于,所述值是固定值、范圍或具有容錯(cuò)的值。
7.如權(quán)利要求1所述的方法,其特征在于,所述第二值是使用所述第一值基于比例關(guān)系、反比例關(guān)系、線性關(guān)系、指數(shù)關(guān)系、或取第一值作為輸入的函數(shù)來(lái)確定的。
8.如權(quán)利要求1所述的方法,其特征在于,所述包包含某一風(fēng)格的互補(bǔ)姿勢(shì)過(guò)濾器,其中該風(fēng)格是第一人稱(chēng)射擊、動(dòng)作、駕駛或體育風(fēng)格之一。
9.如權(quán)利要求1所述的方法,其特征在于,所述應(yīng)用是視頻游戲或操作系統(tǒng)。
10.如權(quán)利要求1所述的方法,其特征在于,還包括接收將第三值賦予所述第二參數(shù)的指示;以及將所述第三值賦予所述第二參數(shù)。
11.一種用于向應(yīng)用提供互補(bǔ)過(guò)濾器的包的系統(tǒng),包括包括過(guò)濾器的至少一個(gè)包的過(guò)濾器庫(kù),每個(gè)過(guò)濾器包括關(guān)于姿勢(shì)的信息,所述至少一個(gè)包中的至少一個(gè)過(guò)濾器與所述包中的至少一個(gè)其他過(guò)濾器互補(bǔ)(802);電路,所述電路將過(guò)濾器包提供給所述應(yīng)用,接收對(duì)應(yīng)于用戶的至少一部分的至少一個(gè)圖像的數(shù)據(jù),確定該數(shù)據(jù)是否對(duì)應(yīng)于至少兩個(gè)匹配的過(guò)濾器,確定匹配的過(guò)濾器中的第一過(guò)濾器如何與匹配的過(guò)濾器中的至少一個(gè)其他過(guò)濾器一起操作,以及將對(duì)應(yīng)于每個(gè)匹配的過(guò)濾器的輸出發(fā)送到所述應(yīng)用(12)。
12.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述輸出包括置信度水平,所述電路通過(guò)基于至少一個(gè)其他匹配的過(guò)濾器的置信度水平來(lái)改變所述第一過(guò)濾器的置信度水平來(lái)確定第一匹配的過(guò)濾器如何與所述至少一個(gè)其他匹配的過(guò)濾器一起操作。
13.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述電路還在對(duì)包中不存在的過(guò)濾器解析所述數(shù)據(jù)之前,對(duì)包中的每個(gè)過(guò)濾器解析所述數(shù)據(jù)以確定所述數(shù)據(jù)是否指示與所述包中的一個(gè)或多個(gè)過(guò)濾器的匹配。
14.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述電路還在對(duì)不能與對(duì)應(yīng)于所述數(shù)據(jù)的所述至少一個(gè)過(guò)濾器同時(shí)解析的過(guò)濾器解析所述數(shù)據(jù)之前,對(duì)所述包中可與對(duì)應(yīng)于所述數(shù)據(jù)的所述至少一個(gè)過(guò)濾器同時(shí)解析的每個(gè)其他過(guò)濾器解析所述數(shù)據(jù)。
15.一種包括計(jì)算機(jī)可讀指令的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),當(dāng)所述計(jì)算機(jī)可讀指令在處理器上執(zhí)行時(shí),使得所述處理器執(zhí)行以下操作提供包括多個(gè)過(guò)濾器的包,每個(gè)過(guò)濾器包括關(guān)于姿勢(shì)的信息,每個(gè)過(guò)濾器與包中的至少一個(gè)其他過(guò)濾器互補(bǔ),姿勢(shì)是由用戶在作出與由距離相機(jī)捕捉的該姿勢(shì)相關(guān)聯(lián)的運(yùn)動(dòng)或姿態(tài)時(shí)輸入的(902);接收將第一值賦予第一過(guò)濾器的一參數(shù)的指示(904); 將所述值賦予所述參數(shù)(906);以及將第二值賦予第二過(guò)濾器的第二參數(shù),所述第二值是使用所述第一值確定的(908)。
全文摘要
公開(kāi)了用于將標(biāo)準(zhǔn)姿勢(shì)的互補(bǔ)集分組成姿勢(shì)庫(kù)的系統(tǒng)、方法和計(jì)算機(jī)可讀介質(zhì)。姿勢(shì)可以是互補(bǔ)的,在于它們?cè)谀骋簧舷挛闹薪?jīng)常被一起使用或在于它們的參數(shù)是相互關(guān)聯(lián)的。在用第一值設(shè)置了某一姿勢(shì)的參數(shù)的情況下,該姿勢(shì)的以及姿勢(shì)包中依賴(lài)于該第一值的其他姿勢(shì)的所有其他參數(shù)可用使用第一值確定的它們自己的值來(lái)設(shè)置。
文檔編號(hào)G06F15/00GK102301311SQ201080006306
公開(kāi)日2011年12月28日 申請(qǐng)日期2010年1月22日 優(yōu)先權(quán)日2009年1月30日
發(fā)明者D·貝內(nèi)特, K·茲努達(dá), K·蓋斯那, R·馬爾科維奇, S·G·拉塔 申請(qǐng)人:微軟公司