布爾/浮點(diǎn)控制器和姿勢(shì)識(shí)別系統(tǒng)的制作方法
【專利說明】布爾/浮點(diǎn)控制器和姿勢(shì)識(shí)別系統(tǒng)
[000。 背景
[0002] 游戲系統(tǒng)已經(jīng)從提供孤立的游戲體驗(yàn)的系統(tǒng)進(jìn)化成可實(shí)時(shí)地在朋友和其他玩家 之間共享的、提供豐富的交互式體驗(yàn)的聯(lián)網(wǎng)系統(tǒng)。自然用戶界面(NUI)集成到游戲系統(tǒng)中的 最近進(jìn)展已經(jīng)打開了用戶對(duì)接并控制游戲和其它應(yīng)用的眾多新可能。
[0003] 當(dāng)前在使用更傳統(tǒng)的手持式控制器的游戲系統(tǒng)和使用NUI系統(tǒng)的游戲系統(tǒng)之間存 在割裂。開發(fā)提供運(yùn)兩種系統(tǒng)的優(yōu)點(diǎn)的系統(tǒng)將是有益的。
[0004] 而且,傳統(tǒng)NUI系統(tǒng)一般使用全部或部分骨架跟蹤和識(shí)別作為輸入W供軟件應(yīng)用 使用。運(yùn)樣的輸入可能比軟件開發(fā)者在設(shè)計(jì)軟件應(yīng)用時(shí)所需的更多。
[0005] 概述
[0006] 粗略描述的本技術(shù)一般設(shè)及用于與諸如游戲應(yīng)用等軟件應(yīng)用交互的系統(tǒng)。輸入可 從手持式控制器和接受姿勢(shì)輸入的NUI系統(tǒng)之一或兩者接收。本技術(shù)的實(shí)施例進(jìn)一步包括 姿勢(shì)和控制器應(yīng)用編程接口(API)。姿勢(shì)和控制器API可接收來自控制器的輸入作為布爾或 浮點(diǎn)數(shù)據(jù)。姿勢(shì)和控制器API還可接收來自NUI系統(tǒng)的骨架姿態(tài)數(shù)據(jù)并將該數(shù)據(jù)處理為布爾 或浮點(diǎn)數(shù)據(jù)。W此方式,來自控制器和NUI系統(tǒng)兩者的數(shù)據(jù)可按相同格式作為能夠容易消費(fèi) 的數(shù)據(jù)被披露給軟件應(yīng)用。
[0007] 在一個(gè)示例中,本技術(shù)設(shè)及內(nèi)容呈現(xiàn)和交互系統(tǒng),包括:控制器,所述控制器提供 觸覺控制輸入并通信地禪合到所述內(nèi)容呈現(xiàn)和交互系統(tǒng),所述控制器包括多個(gè)觸覺輸入機(jī) 制并向所述內(nèi)容呈現(xiàn)和交互系統(tǒng)提供第一控制輸入集合;目標(biāo)識(shí)別和跟蹤系統(tǒng),所述目標(biāo) 識(shí)別和跟蹤系統(tǒng)通信禪合到所述內(nèi)容呈現(xiàn)和交互系統(tǒng),所述目標(biāo)識(shí)別和跟蹤系統(tǒng)檢測(cè)姿態(tài) 信息,所述姿態(tài)信息包括具有身體關(guān)節(jié)的絕對(duì)和相對(duì)位置的骨架數(shù)據(jù);W及姿勢(shì)和控制器 應(yīng)用編程接口,所述姿勢(shì)和控制器應(yīng)用編程接口用于接收來自所述目標(biāo)識(shí)別和跟蹤系統(tǒng)的 姿態(tài)信息并處理所述姿態(tài)信息W標(biāo)識(shí)具有與所述觸覺控制輸入的格式兼容的格式的姿勢(shì) 輸入。
[000引在另一示例中,本技術(shù)設(shè)及一種向內(nèi)容呈現(xiàn)和交互系統(tǒng)提供輸入的方法,所述方 法包括:a.接收來自手持式控制器的觸覺控制器輸入,所述輸入包括布爾和浮點(diǎn)值;b.接收 來自姿勢(shì)識(shí)別和跟蹤系統(tǒng)的姿勢(shì)輸入,所述姿勢(shì)輸入包括具有身體關(guān)節(jié)的絕對(duì)和相對(duì)位置 的骨架數(shù)據(jù);C .接收基于從所述骨架數(shù)據(jù)對(duì)預(yù)定義姿勢(shì)的標(biāo)識(shí)的布爾或浮點(diǎn)值;W及d.將 來自所述步驟a和/或C的布爾和/或浮點(diǎn)值作為輸入提供給在所述內(nèi)容呈現(xiàn)和交互系統(tǒng)上 運(yùn)行的軟件應(yīng)用。
[0009]在一進(jìn)一步示例中,本技術(shù)設(shè)及一種用于對(duì)處理器編程W執(zhí)行一種向游戲控制臺(tái) 提供輸入的方法的計(jì)算機(jī)可讀介質(zhì),所述方法包括:a.接收來自手持式控制器的觸覺控制 器輸入,所述輸入包括布爾和浮點(diǎn)值;b.接收來自姿勢(shì)識(shí)別和跟蹤系統(tǒng)的姿勢(shì)輸入,所述姿 勢(shì)輸入包括具有身體關(guān)節(jié)的絕對(duì)和相對(duì)位置的骨架數(shù)據(jù);C.經(jīng)由所述目標(biāo)識(shí)別和跟蹤系統(tǒng) 的話筒接收語音輸入;d.經(jīng)由所述內(nèi)容呈現(xiàn)和交互系統(tǒng)的處理器分析所述語音輸入和骨架 數(shù)據(jù)來辨別由所述語音輸入或身體部位的位置和/或移動(dòng)定義的預(yù)定義姿勢(shì);e.向在所述 步驟d中辨別的預(yù)定義姿勢(shì)指派布爾或浮點(diǎn)值;W及f.將來自所述步驟a和/或e的布爾和/ 或浮點(diǎn)值作為輸入提供給在所述游戲控制臺(tái)上運(yùn)行的游戲應(yīng)用。
[0010] 提供本概述W便W簡化的形式介紹W下在詳細(xì)描述中進(jìn)一步描述的一些概念。本 概述并非旨在標(biāo)識(shí)出要求保護(hù)的主題的關(guān)鍵特征或必要特征,亦非旨在用作輔助確定要求 保護(hù)的主題的范圍。
[0011] 附圖簡述
[0012] 圖1描繪了根據(jù)本技術(shù)的一實(shí)施例的示例性游戲和媒體系統(tǒng)。
[0013] 圖2描繪了根據(jù)本技術(shù)的一實(shí)施例的游戲和媒體系統(tǒng)的示例性使用。
[0014] 圖3解說了根據(jù)本技術(shù)的一實(shí)施例的游戲和媒體系統(tǒng)的控制器的進(jìn)一步細(xì)節(jié)。
[0015] 圖4描繪了用于實(shí)現(xiàn)本技術(shù)的實(shí)施例的組件的概覽的框圖。
[0016] 圖5是包括用于實(shí)現(xiàn)本技術(shù)的實(shí)施例的應(yīng)用編程接口的示例性系統(tǒng)的框圖。
[0017]圖6是解說了本技術(shù)的一實(shí)施例的示例性操作的流程圖。
[001引圖7是示例性處理設(shè)備的框圖。
[0019]圖8是示例性控制臺(tái)設(shè)備的框圖。
[0020] 詳細(xì)描述
[0021] 現(xiàn)在參考附圖1-8描述本技術(shù),其一般設(shè)及包括來自控制器和NUI系統(tǒng)中的一者或 兩者的輸入W與諸如游戲應(yīng)用等軟件應(yīng)用交互的系統(tǒng)和方法。本技術(shù)的實(shí)施例進(jìn)一步包括 姿勢(shì)和控制器API。來自控制器的輸入可W是布爾型,即兩種狀態(tài)之一。示例包括按下按鈕、 拉動(dòng)觸發(fā)器或撥動(dòng)控制器上的開關(guān)。來自控制器的輸入可替換地是浮點(diǎn)型的,即,被歸一化 到例如-1和1之間的模擬值。示例包括測(cè)量沿游戲操縱桿的相應(yīng)X和y軸的度數(shù)和位置。姿勢(shì) 和控制器API可接受來自控制器的輸入并將其傳遞W作為由軟件應(yīng)用使用的控制輸入。
[0022] 來自NUI系統(tǒng)的姿勢(shì)輸入在姿勢(shì)和控制器API中被作為骨架數(shù)據(jù)接收,包括例如在 S維空間中各身體部位相對(duì)于彼此的位置。姿勢(shì)和控制器API接收運(yùn)些輸入并將其轉(zhuǎn)換為 布爾或浮點(diǎn)數(shù)據(jù),W使得它們按照與從控制器接收的控制輸入相同的格式作為能夠容易地 消費(fèi)的控制輸入被披露給軟件應(yīng)用。
[0023] 圖1-4示出了示例性內(nèi)容呈現(xiàn)和交互系統(tǒng),在本文中被稱為游戲和媒體系統(tǒng)10。如 圖1-4中所示,游戲和媒體系統(tǒng)10包括計(jì)算控制臺(tái)(后文稱為"控制臺(tái)")202??刂婆_(tái)202可包 括硬件組件和/或軟件組件,W使控制臺(tái)202可用于執(zhí)行諸如游戲和非游戲應(yīng)用之類的應(yīng) 用。在一個(gè)實(shí)施例中,控制臺(tái)202可包括諸如標(biāo)準(zhǔn)化處理器、專用處理器、微處理器之類的處 理器,該處理器可執(zhí)行存儲(chǔ)在處理器可讀的存儲(chǔ)設(shè)備上的用于執(zhí)行此處所描述的過程的指 令。
[0024] 控制臺(tái)202配備有內(nèi)部硬盤驅(qū)動(dòng)器(未示出)和支持如光學(xué)存儲(chǔ)盤208所表示的各 種形式的便攜式存儲(chǔ)介質(zhì)的便攜式介質(zhì)驅(qū)動(dòng)器206。合適的便攜式存儲(chǔ)介質(zhì)的示例包括 DVDXD-R0M、游戲盤等??刂婆_(tái)202還包括用于容納可移動(dòng)閃存型存儲(chǔ)器單元240的兩個(gè)存 儲(chǔ)器單元卡插座225(1)和225(2)??刂婆_(tái)202上的命令按鈕235可啟用和禁用無線外圍支 持。
[0025] 控制臺(tái)202還包括用于與一個(gè)或多個(gè)設(shè)備進(jìn)行無線通信的光學(xué)端口 230和支持附 加控制器或其他外圍設(shè)備的有線連接的兩個(gè)USB(通用串行總線)端口 210(1)和210(2)。在 某些實(shí)現(xiàn)中,可修改附加端口的數(shù)量和安排。電源按鈕212和彈出按鈕214也位于游戲控制 臺(tái)202的正面。電源按鈕212被選擇來對(duì)游戲控制臺(tái)供電,且還可W提供對(duì)其它特征和控件 的訪問,而彈出按鈕214交替地打開和關(guān)閉便攜介質(zhì)驅(qū)動(dòng)器206的托盤W允許存儲(chǔ)盤208的 插入和取出。
[00%]控制臺(tái)202可連接到具有顯示器14的音頻/視覺設(shè)備16。設(shè)備16可W例如是可向用 戶提供游戲或應(yīng)用視覺和/或音頻的電視機(jī)、監(jiān)視器、高清電視機(jī)化DTV)等。例如,控制臺(tái) 202可包括諸如圖形卡之類的視頻適配器和/或諸如聲卡之類的音頻適配器,運(yùn)些適配器可 提供與游戲或其他應(yīng)用程序相關(guān)聯(lián)的音頻/視覺信號(hào)。音頻/視覺設(shè)備16可W從控制臺(tái)202 接收音頻/視覺信號(hào),并且然后可W輸出與該音頻/視覺信號(hào)相關(guān)聯(lián)的游戲或應(yīng)用視覺和/ 或音頻。根據(jù)一個(gè)實(shí)施例,音頻/視覺設(shè)備16可經(jīng)由AV電纜220連接到控制臺(tái)202,該AV電纜 220可W例如是S-視頻電纜、同軸電纜、HDMI電纜、DVI電纜、VGA電纜、分量視頻電纜等。 [0027]電源電纜222向游戲控制臺(tái)供電??刂婆_(tái)202可進(jìn)一步被配置成具有如電纜或調(diào)制 解調(diào)器連接器224所表示的寬帶能力W便于訪問諸如因特網(wǎng)等網(wǎng)絡(luò)。還可通過諸如無線保 真(Wi-Fi)網(wǎng)絡(luò)等寬帶網(wǎng)絡(luò)來無線地提供寬帶能力。
[00%]控制臺(tái)202能夠接收來自至少兩個(gè)源的用戶輸入:控制器100和NUI系統(tǒng),NUI系統(tǒng) 也被稱為目標(biāo)識(shí)別和跟蹤系統(tǒng)200,如下面解釋的。每一控制器100經(jīng)由有線或無線的接口 禪合到控制臺(tái)202。在所示實(shí)現(xiàn)中,控制器100經(jīng)由無線連接禪合到控制臺(tái)202。在圖1和2解 說的示例中,控制器100裝備有各種手和手指/拇指致動(dòng)的控件,包括例如兩個(gè)拇指操縱桿 (或游戲操縱桿)112(a)和112(b)、方向墊114、按鈕106、W及兩個(gè)觸發(fā)器110,在下面會(huì)更詳 細(xì)地解釋。來自控制器100上的運(yùn)些或其他致動(dòng)器中的任一者的輸入在本文中被稱為觸覺 控制輸入。
[0029] 圖2解說了觸覺控制器100的示例性實(shí)施例的進(jìn)一步細(xì)節(jié)。如圖2所示,用戶可使用 控制臺(tái)202觀看顯示器14上的內(nèi)容??刂破?00例如可包括用于氣6〇義"設(shè)備的控制器。然而, 要理解,控制器100可被用于其它交互平臺(tái)。此外,控制器100的一個(gè)示例的描述在后面,但 是其不旨在對(duì)可與本技術(shù)聯(lián)用的控制器的類型進(jìn)行限制。
[0030] 控制器100包括形成控制器的大部分外部表面的外殼或主體102,具有與用戶的手 對(duì)接的形狀。一對(duì)手柄104從主體的下部延伸。一組輸入或動(dòng)作按鈕106位于主體的右上部。 運(yùn)些輸入按鈕可被稱為面按鈕,運(yùn)是因?yàn)樗鼈冊(cè)诳刂破鞯闹黧w102的頂面上的定向。運(yùn)些輸 入按鈕可W是簡單的開關(guān),所述開關(guān)生成具有用于指示用戶的選擇的二元輸出的信號(hào)。在 其他示例中,輸入按鈕可W是壓敏開關(guān),生成指示用戶的不同級(jí)別的選擇的信號(hào)。附加輸入 按鈕108設(shè)置在主體的上部中央位置,并可提供附加功能,如用于導(dǎo)航圖形用戶界面菜單。 輸入按鈕108還可W提供二元或多級(jí)響應(yīng)信號(hào)。一組輸入按鈕110設(shè)置在控制器主體102的 頂面,通常稱為用于通過手指對(duì)它們預(yù)期致動(dòng)的觸發(fā)器。在許多示例中,運(yùn)些類型的觸發(fā)器 是壓敏的,但并不必須如此。
[0031] 第一模擬拇指桿112a設(shè)置在主體102的面部的左上部,第二模擬拇指桿11化設(shè)置 在主體102的面部的右下部。每個(gè)模擬拇指桿通過確定拇指桿相對(duì)于固定基座部分的精確 角度而允許所謂的模擬輸入。而且,模擬拇指桿W精確角度測(cè)量桿的移動(dòng)量,W便響應(yīng)于任 何方向上的不同輸入量而生成信號(hào)。
[0032] 方向墊(D-pad) 114形成在主體102的面的中央左部處的凹部116中。在其他示例 中,D-pad可無需凹部而形成在控制器表面之上。D-pad包含致動(dòng)表面,致動(dòng)表面包括十字形 輸入墊120和四個(gè)填充片152。在此示例中,該輸入墊包括四個(gè)輸入臂128。在其他示例中,輸 入墊可包括多于四個(gè)或少于四個(gè)輸入臂。在一個(gè)示例中,D-pad允許用戶為與四個(gè)輸入臂 128相對(duì)應(yīng)的四個(gè)不同坐標(biāo)方向(如NSEW(北南東西))提供方向輸入控制。
[0033] D-pad 114的致動(dòng)表面布局可由用戶配置。在一個(gè)示例中,填充片152可相對(duì)于輸 入墊120移動(dòng)W改變輸入墊120的上表面和填充片的上表面之間的距離。W此方式,D-pad的 致動(dòng)表面布局可由用戶更改。利用填充片15