專利名稱::具有集成攝像頭的控制器以及和交互式應用相接口的方法具有集成攝像頭的控制器以及和交互式應用相接口的方法
背景技術:
視頻游戲業(yè)在這些年經歷了許多變化。隨著計算能力增強,視頻游戲開發(fā)商也開發(fā)了利用這些計算能力上的增強的游戲軟件。為此,視頻游戲開發(fā)商編寫的游戲結合了復雜操作和數(shù)學,以產生非常真實的游戲體驗。示例游戲平臺可以是索尼Playstation(游戲站)、索尼Playstation2(PS2)和索尼Playstation3(PS3),每種Playstation都以游戲控制臺的形式銷售。如所公知的,游戲控制臺設計為連接到監(jiān)視器(通常是電視),使得可通過手持式控制器進行用戶交互。游戲控制臺設計為具有專門的處理硬件,包括CPU、用于處理密集圖形操作的圖形合成器、用于進行幾何變換的矢量單元以及其他固著硬件(gluehardware)、固件和軟件。游戲控制臺還設計為具有光盤托,用于容納游戲光盤,以通過游戲控制臺本地播放。也可在線玩游戲,這種情況下,用戶可以通過因特網(wǎng)和其他用戶交互式對戰(zhàn)或者一起玩游戲。雖然游戲體驗的真實性已經穩(wěn)步增長,但用戶繼續(xù)通過專用的游戲控制器和游戲平臺進行交互。雖然在用戶交互方面有一些進步,但是,還有可以使用游戲控制臺改善整體體驗的其他用戶交互方法。本發(fā)明實施例是基于這一情況產生的。
發(fā)明內容泛泛而言,本發(fā)明使得用戶可使用具有相關的或集成的深度攝像頭的控制器和計算機系統(tǒng)交互。為了校準控制器,深度攝像頭可用于捕獲空間內的圖像和深度數(shù)據(jù)。隨后,可用圖像和深度數(shù)據(jù)確定深度攝像頭在空間內的相對位置,然后確定控制器在空間內的相對位置。一個實施例中,公開了一種用于確定控制器在三維空間中的位置的計算機實現(xiàn)的方法。該方法包括如下操作利用和控制器集成的深度攝像頭校準計算機程序,以從三維空間內的多個固定點中標識一組識別的固定點。另一個操作在與應用接口連接的過程中啟動控制器和深度攝像頭的使用。使用控制器時,用控制器的深度攝像頭捕獲三維空間內的圖像和深度數(shù)據(jù)。另一個操作中,分析圖像和深度數(shù)據(jù),以找到所述一組識別的固定點中的一個或多個識別的固定點。一個實施例中,重復前兩個操作,根據(jù)找到所述一組識別的固定點中的識別的固定點的位置變化確定控制器的位置變化。該方法還包括根據(jù)確定的控制器位置變化觸發(fā)輸入命令的操作,其中輸入命令引起應用的動作。另一個實施例中,公開了用于和計算機系統(tǒng)交互的計算機實現(xiàn)的方法。該方法包括如下操作,該操作開始計算機系統(tǒng)上執(zhí)行的交互會話,并且自動應用在存儲器中保存的控制器校準。另一個操作中,該方法接受到具有可移動深度攝像頭的控制器的輸入。一個操作中,用可移動深度攝像頭捕獲空間中的圖像和深度數(shù)據(jù)。另一個操作中,分析圖像和深度數(shù)據(jù)以獲得一個或多個識別的固定點。一個實施例中,重復前兩個操作,基于識別的固定點之間的差別確定可移動深度攝像頭在空間中的運動。該方法還包括如下操作,其中基于可移動深度攝像頭的運動觸發(fā)輸入命令,輸入命令引起交互會話中的動作。另一個實施例中,公開了用于計算機系統(tǒng)的手持式控制器。手持式控制器包括控制器外殼,其由包圍內部體積的外部限定。控制器還包括部分暴露在外殼外部的接口控制??刂破鬟€包括深度攝像頭組件。深度攝像頭組件包括深度模塊、圖像模塊和處理邏輯。深度模塊和圖像模塊配置用于通過攝像頭鏡頭接收圖像和深度數(shù)據(jù),通信模塊配置用于發(fā)送和接收從深度攝像頭組件的處理邏輯到計算機系統(tǒng)的數(shù)據(jù)。其中深度攝像頭組件接收的圖像和深度數(shù)據(jù)的變化觸發(fā)計算機系統(tǒng)的輸入命令。另一個實施例中,公開了配置用于在顯示器上顯示交互會話的交互式計算系統(tǒng)。該計算系統(tǒng)包括具有中央處理單元的計算控制臺、圖形處理單元和通信接口。通信接口配置用于提供到計算控制臺的通信和來自計算控制臺的通信。計算機系統(tǒng)還可包括具有深度攝像頭的控制器。深度攝像頭配置有深度模塊、圖像模塊和處理邏輯??刂破鬟€可包括通信模塊,其配置用于發(fā)送和接收從深度攝像頭的處理邏輯到計算控制臺的通信接口的數(shù)據(jù)。其中,將深度攝像頭捕獲的圖像和深度數(shù)據(jù)變化轉換成計算系統(tǒng)的輸入命令。通過下面結合附圖,舉例示出本發(fā)明原理的詳細描述,本發(fā)明的其他方面和益處是顯而易見的。可通過參考下面結合附圖的描述最好地理解本發(fā)明及其其他益處。圖1示出根據(jù)本發(fā)明一個實施例的用戶可使用控制臺的示例空間。圖2A-1和圖2A-2的簡化視圖示出根據(jù)本發(fā)明實施例的可移動深度攝像頭的選擇部件。圖2B是根據(jù)本發(fā)明的一個實施例的、具有集成的深度攝像頭的示例控制器的外部視圖。圖3A和3B示出根據(jù)本發(fā)明的各個實施例用戶相對于攝像頭和屏幕校準控制ο圖4A示出根據(jù)本發(fā)明的一個實施例的、來自可移動深度攝像頭的被分析的圖像和深度數(shù)據(jù)。圖4B示出根據(jù)本發(fā)明的一個實施例在空間內識別的固定點。圖5A和5B示出根據(jù)本發(fā)明一個實施例的從可移動深度攝像頭的角度看的在場景中識別的固定點。圖6A和6B示出根據(jù)本發(fā)明一個實施例的從可移動深度攝像頭的角度看的在場景中識別的固定點。圖6C示出根據(jù)本發(fā)明一個實施例的場景的頂視圖,其中,可移動深度攝像頭的深度數(shù)據(jù)用于確定控制器在空間內的位置。圖7的示例流程圖示出根據(jù)本發(fā)明的一個實施例用可移動深度攝像頭確定控制器在空間中的位置的操作。圖8的示例流程圖示出根據(jù)本發(fā)明的一個實施例校準可移動深度攝像頭以確定控制器在空間中的位置的操作。圖9示意性示出索&Playstation3娛樂裝置的整體系統(tǒng)結構,這是根據(jù)本發(fā)明一個實施例可使用動態(tài)三維物體映射形成用戶定義的控制器的計算機系統(tǒng)。具體實施方式公開的發(fā)明用于使用可移動深度攝像頭捕獲的圖像和深度數(shù)據(jù)來在控制臺上控制交互會話。泛泛而言,控制臺可以是接收用戶輸入的任何類型的系統(tǒng),可以是通用計算機(例如臺式機、筆記本電腦、手持設備、智能電話等)或者是專用計算機,例如游戲控制臺??梢苿由疃葦z像頭可安裝到控制臺的控制器之上或之中,用于捕獲幾何深度數(shù)據(jù)和圖像數(shù)據(jù)。深度攝像頭可向控制臺提供圖像和深度數(shù)據(jù)進行分析和處理。一個實施例中,深度攝像頭是單鏡頭攝像頭,另一個實施例中,可用多個攝像鏡頭來捕獲圖像和深度數(shù)據(jù)??蓪梢苿由疃葦z像頭捕獲的圖像和深度數(shù)據(jù)進行分析以確定控制器和深度攝像頭在空間內的運動??蓪刂破鞯倪\動進行處理和映射,以在控制臺上控制交互會話的各方面。下面的描述中,為了透徹地理解本發(fā)明,闡述了許多具體細節(jié)。然而,本領域技術人員可顯而易見的是,本發(fā)明可以在不采用一些或所有的這些具體細節(jié)的情況下實現(xiàn)。其他實例中,未對公知的方法步驟進行詳細描述,以免不必要地讓本發(fā)明變得含混不清。圖1示出根據(jù)本發(fā)明一個實施例的示例空間100,其中,用戶102正在使用控制臺106。空間100可包括桌子114以及架子單元112a/b和監(jiān)視器108。一些實施例中,監(jiān)視器108是可以顯示各種視頻輸入的陰極射線管(CRT)監(jiān)視器。其他實施例中,監(jiān)視器108是配置用于接收各種(模擬或數(shù)字)視頻輸入的平板監(jiān)視器,例如液晶顯示器(LCD),或等離子監(jiān)視器。監(jiān)視器108和控制臺106連接,控制臺106包括可以運行存儲在本地或遠程存儲的軟件程序的各種硬件和固件。一個實施例中,軟件程序可以是向監(jiān)視器108輸出圖形用戶界面(GUI)的視頻的操作系統(tǒng)。用戶102可以使用控制器104通過GUI和控制臺108交互,控制器104包括可移動深度攝像頭105。可移動深度攝像頭105捕獲視野105a內的圖像和深度數(shù)據(jù)??蓪τ每梢苿由疃葦z像頭105捕獲的圖像和深度數(shù)據(jù)進行分析,以確定控制器104在空間100中的相對位置??刂破?04可接收各種用戶輸入,例如但不限于數(shù)字和/或模擬按鈕、觸發(fā)器、游戲桿和觸摸屏的組合。此外,控制器104內的加速計可使得控制臺106對用戶102對控制器104做的動作做出響應。例如,使用集成的加速計,可以檢測對控制器所做的動作或動作組合,例如翻滾、俯仰和偏轉,并用于和控制臺106執(zhí)行的軟件交互。一些實施例中,導線物理耦合在控制臺106和控制器104之間,并有助于控制臺106和控制器104之間的通信。其他實施例中,控制器104可使用無線協(xié)議和控制臺106無線通信,無線協(xié)議例如但不限于藍牙和Wi-Fi。固定的深度攝像頭110也可耦合到控制臺106,固定的深度攝像頭110的放置位置使得固定的深度攝像頭110的視野IlOa包括桌子114、用戶102和控制器104。和可移動深度攝像頭105類似,固定的深度攝像頭可捕獲視野IlOa內的物體的圖像和深度數(shù)據(jù)。一個實施例中,來自固定的深度攝像頭110和可移動深度攝像頭105的圖像和深度數(shù)據(jù)都用于確定控制器104在空間100內的相對位置。圖2A-1和2A-2的簡化視圖示出根據(jù)本發(fā)明實施例的可移動深度攝像頭105的選擇部件。簡單起見,未示出控制器104中的其他部件。圖2A-1所示的實施例中,可移動深度攝像頭105集成在控制器104中。圖2A-2中,可移動深度攝像頭105示意成外部模塊,可用連接器220a(例如USB或者其他電連接器)將其接附到控制器104上的外部端口220b。這兩個實施例中,可移動深度攝像頭105可包括鏡頭200、深度模塊202以及圖像模塊204和邏輯處理206。深度模塊202可包括各種傳感器、發(fā)射器和邏輯電路。一個實施例中,可將多個紅外(IR)發(fā)射器在鏡頭200周圍排成陣列。IR發(fā)射器可用于發(fā)出紅外光脈沖,紅外光脈沖從控制器104前面的物體上反射。和IR發(fā)射器相關聯(lián)的傳感器可測量反射的IR脈沖返回的時間,以幫助確定物體和控制器104之間的距離或深度。一些實施例中,和深度模塊202相關的邏輯電路可用于將深度模塊聚焦在深度攝像頭105的視野中的特定區(qū)域內??墒褂酶鞣N技術實現(xiàn)聚焦深度模塊202。一個實施例中,可在IR發(fā)射器陣列內使用具有不同波長的IR發(fā)射器。此外,不同發(fā)射器可以在不同時間和/或以不同強度發(fā)出脈沖,以將深度檢測聚焦于深度攝像頭105的視野中的特定區(qū)域。圖像模塊204可配置成使用電荷耦合裝置(CCD)或其他類型的傳感器通過透鏡200來捕獲圖像數(shù)據(jù)。一個實施例中,邏輯模塊206可從圖像模塊204和深度模塊202輸入數(shù)據(jù)。邏輯模塊206還可以從控制臺106接收命令并解釋,以改變圖像模塊204或深度模塊202的焦點。在控制器104的無線實施例中,通信模塊208可允許控制器104和控制臺106之間的雙向通信。因而,信號從邏輯模塊206傳輸?shù)娇刂婆_106,或者反向傳輸。一個實施例中,通信模塊208可以用IEEE802.11無線協(xié)議的形式傳輸數(shù)據(jù)。另一個實施例中,用藍牙通信標準的形式把數(shù)據(jù)從控制器104傳輸?shù)娇刂婆_106。圖2B是根據(jù)本發(fā)明的一個實施例的具有集成的深度攝像頭105的示例控制器104的外部視圖。從控制器104的外部可見鏡頭200。從控制器104的外部還可見通用串行總線(USB)端口210、按鈕214a/b和216a/b以及游戲桿212a/b。按鈕214a/b和21^i/b以及游戲桿21&/b可以是模擬的或數(shù)字的,以允許用戶和控制臺連接。通過USB端口210連接到控制臺時,可對控制器104充電。圖3A和3B示出根據(jù)本發(fā)明的各個實施例用戶102相對于攝像頭110和屏幕108校準控制器104。為了校準控制器在空間中的位置,可通過屏顯指示、可聽指示或其組合提示用戶102將控制器104保持在第一位置。這使可移動深度攝像頭105捕獲視野105a中的物體的圖像和深度數(shù)據(jù)。本實施例中,監(jiān)視器108和固定的深度攝像頭110都在可移動深度攝像頭105的視野105a內。被提示移動到第二位置后,控制器104’和可移動深度攝像頭105’可以捕獲第二視野105a’內的其他圖像和深度數(shù)據(jù)。圖3B示出根據(jù)本發(fā)明一個實施例校準可移動深度攝像頭105的其他可能步驟。本實施例中,用戶102站在監(jiān)視器108、固定的深度攝像頭110和架子單元llh/b前面。為了從多個角度捕獲圖像和深度數(shù)據(jù),可提示用戶102站在用戶102’和/或用戶102”的位置。在各個位置,可移動深度攝像頭105可捕獲架子單元112a/b、監(jiān)視器108和固定的深度攝像頭110在其各自視野內的圖像和深度數(shù)據(jù)。其他實施例中,校準可能需要在各個用戶位置102、102,和102”升高、降低、傾斜或者偏轉控制器104。圖4A示出根據(jù)本發(fā)明的一個實施例來自可移動的深度攝像頭105的被分析的圖像和深度數(shù)據(jù)。可基于校準深度攝像頭105的過程中捕獲的圖像和深度數(shù)據(jù)確定固定點400。一些實施例中,控制臺可執(zhí)行分析圖像和深度數(shù)據(jù)的軟件,以產生控制器和集成的可移動深度攝像頭的視野中的靜止物體的框架模型。用可移動深度攝像頭確定控制器的運動時,可以比較來自可移動深度攝像頭的實時圖像和用框架模型產生的數(shù)據(jù)。這種實施例中,從圖像和深度數(shù)據(jù)捕獲的框架元素的差異比可用于確定控制器的位置。其他實施例中,控制臺可分析圖像和深度數(shù)據(jù),以鏈接固定點并產生較小的一組識別的固定點ο圖4B示出根據(jù)本發(fā)明的一個實施例位于空間100內的識別的固定點。校準控制器時,可分析圖像和深度數(shù)據(jù)以確定可移動深度攝像頭的視野內的識別的固定點。一個實施例中,識別的固定點從和圖4A標識的固定點類似的較大的一組固定點中選出??刂婆_可執(zhí)行軟件,分析從空間內的多個位置和角度捕獲的一大組固定點的圖像和深度數(shù)據(jù)。分析該一大組固定點可以基于預定的標準過濾該一大組固定點得到較小的一組識別的固定點。一個實施例中,可以基于固定點和周圍點之間的相對深度對比從一大組固定點中選擇識別的固定點。例如,在場景100中,由于架子11和112b的角是突出的,所以可選擇識別的固定點402、404、410和412?;趫鼍?00中架子角和其他物體相比所具有的突出性,可以更容易地分析和識別出該識別的固定點404-404和410-412的深度數(shù)據(jù)。類似的,可以基于監(jiān)視器108的相對位置分析出該識別的固定點406和408的深度數(shù)據(jù)。圖像數(shù)據(jù)還可和深度數(shù)據(jù)結合來確定識別的固定點。色對比度和相對像素位置可用于在確定哪些固定點可用作識別的固定點過程中對深度數(shù)據(jù)做出補充。一些實施例中,由于空間100內光線條件的變化,當確定識別的固定點時,可以更廣泛地使用深度數(shù)據(jù)。圖5A和5B示出根據(jù)本發(fā)明的一個實施例從可移動深度攝像頭的角度看的場景內的識別的固定點。圖5A的左半部示出場景100的側視圖,其中用戶102拿著具有可移動深度攝像頭105的控制器104。圖5A的右半部示出根據(jù)本發(fā)明的一個實施例用可移動深度感測攝像頭105捕獲的場景100的圖像。圖5A中,用戶102拿著控制器104,因而,可移動深度攝像頭的視野基本是直接向前方的。這為可移動深度攝像頭105提供的視野可產生圖5A的右半部所示的圖像。如所示,未表示深度數(shù)據(jù),但是標識了識別的固定點402、408、418和420。在圖5B的左側,用戶102將控制器向前傾斜,這樣,可移動深度攝像頭的視野稍微向下。這樣得到圖5B右側所示的圖像,其中,只有識別的固定點418和420還在可移動深度攝像頭的視野內。通過比較圖5A和5B的圖像和深度數(shù)據(jù),控制臺上執(zhí)行的軟件可確定用戶將控制器104向前傾斜。一個實施例中,圖5B中識別的固定點402和408的丟失能夠指示控制器104的位置改變。其他實施例中,可用圖像數(shù)據(jù)確定距離的相對改變。例如,基于圖5A的距離X到圖5B的距離X’的變化可以確定相對變化。類似的,圖5A的距離Y到圖5B的距離Y’的相對變化可用于確定控制器104的相對運動。圖6A和6B示出根據(jù)本發(fā)明的一個實施例從可移動深度攝像頭的角度看到的場景內的識別的固定點。圖6A和圖6B的左側示出用戶102位于空間100內拿著帶有可移動深度攝像頭105的控制器104的頂視圖。圖6A和6B的右側示出可移動深度攝像頭105捕獲的空間100的視圖。圖6A中,示出用戶102朝前面向監(jiān)視器108。捕獲的圖像看起來是相對直的且水平,指示可移動深度攝像頭正被拿在相對水平的位置,因此控制器也被拿在相對水平的位置,即相對而言沒有偏轉、俯仰和翻滾。如圖6B所示,用戶102向左轉,使得控制器相對于圖6A中的圖像向左偏轉。這樣使得可移動深度攝像頭105捕獲到圖6B右側所示的圖像。隨著可移動深度攝像頭105相對于圖6A的位置向左偏轉,視野內的物體發(fā)生變化。雖然架子112b的識別點在圖6A中可見,但是在圖6B中這些相同的識別點不再可見。基于可移動深度攝像頭視野內的識別點,可以基于控制器校準過程中捕獲的圖像和深度數(shù)據(jù)確定控制器的位置和朝向。圖6C示出根據(jù)本發(fā)明的一個實施例用來自可移動深度攝像頭的深度數(shù)據(jù)來確定控制器在空間內的位置的場景的頂視圖。一個實施例中,可移動深度攝像頭捕獲的深度數(shù)據(jù)可以和圖像數(shù)據(jù)結合用于確定控制器在空間中的位置。如圖6C所示,可移動深度攝像頭可確定用戶102在距監(jiān)視器108的距離Zl處拿著控制器104。如果用戶102移動到的用戶102’的位置,可移動深度攝像頭捕獲的深度數(shù)據(jù)可以測量從控制器104’到監(jiān)視器108的距離Z2。雖然顯示整個用戶102移動到距離Z2,但是,在可移動深度攝像頭內可以基于用戶102用胳膊把控制器向前或向后移動來確定距離變化。例如,在用戶102將控制器拿得靠近其身體時,可移動深度攝像頭可以確定到監(jiān)視器108的距離Z1。類似的,用戶朝向監(jiān)視器108伸開其胳膊時,可移動深度攝像頭可以確定到監(jiān)視器108的距離變化。一些實施例中,從Zl到Z2的距離變化可以用于和顯示在監(jiān)視器108上的會話交互。例如,可以對深度數(shù)據(jù)和圖像數(shù)據(jù)進行處理以確定三維虛擬世界內的相應運動。一個實施例中,在控制器向監(jiān)視器移動時捕獲的深度數(shù)據(jù)可使得在監(jiān)視器108上顯示向前的運動。類似的,在控制器遠離監(jiān)視器移動時捕獲的深度數(shù)據(jù)可使得在監(jiān)視器上顯示向后的運動。圖7的示例流程圖示出根據(jù)本發(fā)明一個實施例使用可移動深度攝像頭確定控制器在空間內的位置的操作。環(huán)境設置模塊700可執(zhí)行操作704和操作706,操作704校準控制器,操作706將控制器校準保存到存儲器??刂破鞅恍手?,操作708開始交互會話。一個實施例中,交互會話是由計算控制臺執(zhí)行的,交互會話可以是交互游戲和諸如操作系統(tǒng)、因特網(wǎng)頁瀏覽器和數(shù)字照片查看界面的軟件的圖形用戶界面,但是交互會話不限于上述例子。由于控制器校準可以保存到存儲器中,一些實施例不需要執(zhí)行環(huán)境設置模塊700中的操作。這樣的實施例中,可以在交互會話開始之前、之后或者同時從存儲器調用保存的控制器校準。其他實施例中,可以在開始交互會話之后使用環(huán)境設置模塊700。這些實施例使得可為特定交互會話的特定細微差別定制控制器。例如,在照片查看交互會話中,將控制器朝著監(jiān)視器移動讓用戶可以放大顯示器上顯示的圖像。類似的,許多交互式游戲會話使得用戶可基于游戲類型校準控制器。可移動深度攝像頭捕獲的深度數(shù)據(jù)可用于控制駕駛模擬的一方面,同時,深度數(shù)據(jù)的變化可用于第一人稱射擊游戲(FPS)中的其他方面,深度數(shù)據(jù)的相同變化可用于控制大規(guī)模多用戶在線角色扮演游戲(MMORPG)中完全不同的方面。交互會話具有定制的控制器校準時,環(huán)境設置模塊可提示用戶校準控制器并將控制器校準保存到存儲器。隨后,開始交互會話后,可自動載入保存的控制器校準。多個用戶可保存多個校準的實施例中,可以載入缺省校準,用戶可選擇從顯示多個用戶的菜單中載入他們保存的校準。交互會話運行時,圖像處理模塊702中的操作可以使用戶和交互會話交互。交互會話開始時,在操作716中可以設定可移動深度攝像頭的采樣率。采樣率可以基于交互會話要求的準確度和精度而變化。在諸如導航因特網(wǎng)網(wǎng)頁瀏覽器或者使用操作系統(tǒng)的圖形用戶界面的實施例中,采樣率可以低于FPS的采樣率。其他實施例中,可以在交互會話過程中不斷修改采樣率。例如,需要較高準確度和精度時,可以增加可移動深度攝像頭的采樣率,隨后,不再要求準確度和精度時,可以降低其采樣率。可以使用這種方式的許多例子之一是FPS中用戶使用狙擊步槍的情況。為了更真實地模擬使用狙擊步槍的難度,可以增加可移動深度感測攝像頭的采樣率,以捕獲用戶手的瞬間運動,以模擬虛擬狙擊步槍的運動。用戶不再使用狙擊步槍時,可以無縫減小采樣率,以降低可移動深度感測攝像頭的圖像處理需求。一些實施例中,控制器104內的處理器執(zhí)行圖像和深度數(shù)據(jù)處理。其他實施例中,以指定的采樣率采樣來自可移動深度攝像頭的圖像和深度數(shù)據(jù),并發(fā)送到計算控制臺106進行處理。這兩種實施例中,都可使用壓縮技術來降低把處理過的數(shù)據(jù)或未處理數(shù)據(jù)發(fā)送到控制臺106以進行其他處理所需的帶寬。操作710用可移動深度攝像頭捕獲第一幀圖像和深度數(shù)據(jù)。操作712中,分析捕獲的圖像和深度數(shù)據(jù)以確定圖像中識別的固定點。操作714基于識別的固定點確定在空間中的相對位置。操作716使用設定的采樣率確定何時使用操作710捕獲第二幀圖像和深度數(shù)據(jù)。操作718通過確定第一幀和第二幀圖像和深度數(shù)據(jù)之間的差別產生交互會話內的動作。一個實施例中,圖像處理模塊702確定的運動可補充到控制器104的其他用戶輸入。例如,除了圖像和深度數(shù)據(jù)之外,可用加速計數(shù)據(jù)確定控制器104的偏轉、俯仰和翻滾。此外,控制器104上的游戲桿、按鈕和觸發(fā)器可用于提供其他用戶輸入??墒褂玫娇刂破鞯母鞣N形式的用戶輸入的組合,因此,操作720在顯示器108上顯示基于到控制器104的輸入的用戶交互作用。圖8的示例流程圖示出根據(jù)本發(fā)明的一個實施例校準可移動深度攝像頭以確定控制器在空間中的位置的操作。操作800開始控制器校準。如前所述,可在開始交互會話之前或之后執(zhí)行控制器校準。操作802從第一位置捕獲圖像和深度數(shù)據(jù)。為了簡化校準,可用屏顯圖提示用戶站在空間中的大致位置。屏顯圖可指示用戶站在第二位置,在該位置,操作804從第二位置捕獲圖像和深度數(shù)據(jù)。其他實施例中,可提示用戶以各種朝向拿著控制器,例如,改變控制器的偏轉、俯仰和翻滾。另一個實施例中,可以提示用戶將控制器拿在空間的地板上的各個高度。操作806比較在第一和第二位置捕獲的圖像和深度數(shù)據(jù),以標識識別的固定點。在操作808中,識別的固定點可用于產生空間的框架模型,以確定識別的固定點之間的相對比例。然后,識別的固定點之間的相對比例可用于確定控制器在空間中的相對位置。操作706用于將控制器校準保存在存儲器。圖9簡要示出索尼Playstation3娛樂裝置的整體系統(tǒng)結構,這是根據(jù)本發(fā)明一個實施例可使用動態(tài)三維物體映射形成用戶定義的控制器的計算機系統(tǒng)。系統(tǒng)單元1000配有可連接到系統(tǒng)單元1000的各種外圍設備。系統(tǒng)單元1000包括單元(cell)處理器10;Rambus動態(tài)隨機存取存儲器(xdram)單元10;具有專用的視頻隨機存取存儲器(vram)單元1032的真實合成處理器圖形單元1030和i/o橋10;34。系統(tǒng)單元1000還包括可通過i/o橋1034訪問的用于讀光盤1040a的藍光abd-rom光盤讀裝置1040,以及可拆卸插槽式硬盤驅動器(hdd)1036。可選地,系統(tǒng)單元1000還包括存儲器讀卡器1038,用于讀密致閃速存儲器卡、存儲棒存儲卡等類似設備,這些設備也可類似地通過i/o橋1034訪問。I/O橋10;34還連接六個通用串行總線(USB)2.0端口10M、千兆以太網(wǎng)端口1022、IEEE802.1lb/g無線網(wǎng)絡(WHFi)端口1020和最多可以支持七個藍牙連接的藍牙無線鏈接端口1018。操作時,i/O橋1034處理所有無線、usb和以太網(wǎng)數(shù)據(jù),這包括來自一個或多個游戲控制器1002的數(shù)據(jù)。例如,用戶玩游戲時,i/o橋1034通過藍牙鏈接從游戲控制器1002接收數(shù)據(jù),并將數(shù)據(jù)發(fā)送到單元處理器10,單元處理器10相應地更新游戲的當前狀態(tài)。無線、usb和以太網(wǎng)端口還提供到除了游戲控制器1002以外的其他外圍設備的連接,例如,遙控器1004、鍵盤1006、鼠標1008、便攜式娛樂設備1010(如索尼PlaystationPortable娛樂設備)、視頻攝像頭1012(如EyeToy視頻攝像頭)以及頭戴式耳麥1014。因而,原則上這些外圍設備可以無線連接到系統(tǒng)單元1000,例如,便攜式娛樂設備1010可以通過Wi-Fi自組織網(wǎng)(ad-hoc)連接通信,同時,頭戴式耳麥1014可以通過藍牙鏈接通信。提供這些接口意味著Playstation裝置潛在地還可以和其他外圍設備兼容,如數(shù)字視頻錄像機(dvr)、機頂盒、數(shù)碼相機、便攜式媒體播放器、ip電話、移動電話、打印機和掃描儀。此外,現(xiàn)有的存儲器讀卡器1016可以通過usb端口10連接到系統(tǒng)單元,使得可讀取Playstation或Playstation2裝置所使用的那類存儲卡1048。本實施例中,游戲控制器1002用于通過藍牙鏈接和系統(tǒng)單元1000進行無線通信。然而,游戲控制器1002可以替代地連接到USB端口,USB端口也為游戲控制器1002供電,由此為游戲控制器1002的電池充電。除了一個或多個模擬游戲桿和傳統(tǒng)控制按鈕外,游戲控制器對六自由度運動是敏感的,六自由度運動對應于每個軸的平移和旋轉。因而,游戲控制器用戶的姿態(tài)和運動可以轉換成游戲的輸入,這可以是除了傳統(tǒng)按鈕或游戲桿命令之外的輸入,或者作為傳統(tǒng)按鈕或游戲桿命令的替代。可選地,其他支持無線模式的外圍設備,例如PlaystationPortable裝置,可用作控制器。在PlaystationPortable裝置的情況下,可以在裝置的屏幕上提供額外的游戲或控制信息(例如,控制指令或生命數(shù))。也可以使用其他替代或補充控制設備,例如跳舞毯(未示出)、光槍(未示出)、方向盤和踏板(未示出)或者定做的控制器,例如快速反應答問游戲的一個或多個大按鈕(也未示出)。遙控器1004還用于通過藍牙鏈接和系統(tǒng)單元1000進行無線通信。遙控器1004包括適用于藍光光盤BD-ROM讀裝置1040的操作的控制和用于導航光盤內容的控制。除了傳統(tǒng)的預先刻錄的以及可刻錄的CD以及所謂的超級音頻CD以外,藍光光盤BD-ROM讀裝置1040還用于讀和Playstation以及Playstation2裝置兼容的CD-ROM。除了傳統(tǒng)的預先刻錄的以及可刻錄的DVD外,讀裝置1040還用于讀和Playstation以及Playstation3裝置兼容的DVD-ROM。讀裝置1040還用于讀和Playstation3兼容的BD-ROM以及傳統(tǒng)的預先刻錄和可刻錄藍光光盤。系統(tǒng)單元1000用于通過音頻和視頻連接器將視頻和音頻提供給顯示和聲音輸出裝置1042,音頻和視頻是Playstation裝置通過真實合成圖形單元1030產生或解碼的,顯示和聲音輸出裝置1042如具有顯示屏1044以及一個或多個揚聲器1046的電視機或者監(jiān)視器。音頻連接器1050可以包括傳統(tǒng)模擬和數(shù)字輸出,視頻連接器1052可以不同地包括分量視頻、S-視頻、復合視頻和一個或多個高清多媒體接口(HDMI)輸出。因而,視頻輸出的格式可以如PAL或NTSC、或者為720p、1080i或1080p的高清晰度。單元處理器10執(zhí)行音頻處理(產生、解碼等)。Playstation裝置的操作系統(tǒng)支持杜比5.1環(huán)繞聲音、杜比⑧影院環(huán)繞立體聲(DTS)以及從藍光⑧光盤解碼7.1環(huán)繞聲音。本實施例中,視頻攝像頭1012包括一個電荷耦合裝置(CCD)、LED指示器、基于硬件的實時數(shù)據(jù)壓縮和解碼裝置,這樣,可以例如用基于幀內圖像的MPEG(運動圖像專家組)標準的適當?shù)母袷桨l(fā)送壓縮的視頻數(shù)據(jù),以由系統(tǒng)單元1000進行解碼。攝像頭LED指示器設置為響應于來自系統(tǒng)單元1000的適當控制數(shù)據(jù)而點亮,例如,以指示不利的照明條件。視頻攝像頭1012的不同實施例可以通過USB、藍牙或者Wi-Fi通信端口連接到系統(tǒng)單元1000。視頻攝像頭的實施例可包括一個或多個也可發(fā)送音頻數(shù)據(jù)的相關麥克風。視頻攝像頭的實施例中,CCD可具有適用于高清視頻捕獲的分辨率。使用時,例如,由視頻攝像頭捕獲的圖像可以包括在游戲內,或者解釋成游戲控制輸入??傮w而言,為了通過系統(tǒng)單元1000的一個通信端口和如視頻攝像頭或者遙控器的外圍設備進行成功的數(shù)據(jù)通信,應該提供適當?shù)能浖缭O備驅動。設備驅動技術是公知的,在此不做詳細描述,但是本領域技術人員將會明白所描述的本實施例可能需要設備驅動或類似的軟件接口。實施例可包括,捕獲深度數(shù)據(jù)以更好地標識現(xiàn)實世界的用戶,并指引玩偶或場景的活動。物體可以是人拿著的東西,或者是人的手。本說明書中,術語“深度攝像頭”和“三維攝像頭”指可以獲得距離或深度信息以及二維像素信息的任何攝像頭。例如,深度攝像頭可以使用受控的紅外照明來獲得距離信息。另一個示例深度攝像頭可以是立體攝像機對,其使用兩個標準攝像頭對距離信息做三角測量。類似地,術語“深度感測裝置”指可以獲得距離信息以及二維像素信息的任何類型的裝置。三維成像技術的最新進展打開了增加實時交互式計算機直觀顯示的可能性之門。具體而言,除了普通的二維視頻成像以外,新的“深度攝像頭”提供了捕獲和映射三維圖像的能力。利用新的深度數(shù)據(jù),本發(fā)明的實施例使得可將計算機產生的物體實時放置在視頻場景的各個位置,包括放在其他物體后面。此外,本發(fā)明的實施例為用戶提供實時交互式游戲體驗。例如,用戶可以和各種計算機產生的物體進行實時交互。此外,可以實時改變視頻場景,以增強用戶的游戲體驗。例如,可將計算機產生的服裝插在用戶的衣服上,可以用計算機產生的光源在視頻場景內投射虛擬影子。因而,使用本發(fā)明的實施例和深度攝像頭,用戶可以在自己的客廳內體驗交互式游戲環(huán)境。和普通攝像頭類似,深度攝像頭捕獲包括視頻圖像的多個像素的二維數(shù)據(jù)。這些值是像素的顏色值,通常是每個像素的紅色、綠色和藍色(RGB)值。這樣,攝像頭捕獲的物體在顯示器上顯示成二維物體。本發(fā)明的實施例還考慮到了分布式圖像處理結構。例如,本發(fā)明不限于在一個或甚至兩個位置進行捕獲的圖像和顯示圖像處理,例如,在CPU中或者在CPU和另一個元件中。例如,輸入圖像處理可以隨時在相關CPU、處理器或者可執(zhí)行處理的裝置中進行,實質上,所有的圖像處理可以分布在互聯(lián)的系統(tǒng)中。因而,本發(fā)明不限于任何具體的圖像處理硬件電路和/或軟件。這里描述的實施例也不限于通用硬件電路和/或軟件的任何具體組合,也不限于用于處理部件執(zhí)行的指令的任何特定源。理解了上述實施例,應該理解,本發(fā)明可采用涉及存儲在計算機系統(tǒng)中的數(shù)據(jù)的各種計算機實現(xiàn)的操作。這些操作包括需要對物理量進行物理處理的操作。通常,雖然這不是必須的,但這些量的形式是可以存儲、傳輸、組合、比較和進行其他操作的電信號或磁信號。此外,執(zhí)行的操作通常稱為產生、標識、確定或比較。上述發(fā)明可用其他計算機系統(tǒng)結構實現(xiàn),這包括手持式設備、微處理器系統(tǒng)、基于微處理器或可編程的消費電子產品、小型計算機、大型計算機等。本發(fā)明還可在分布式計算環(huán)境中實現(xiàn),其中,由通過通信網(wǎng)絡鏈接的遠程處理裝置執(zhí)行任務。本發(fā)明還可實現(xiàn)成計算機可讀介質上的計算機可讀代碼。計算機可讀介質是可以存儲數(shù)據(jù)的任何數(shù)據(jù)存儲裝置,包括電磁波,該數(shù)據(jù)之后由計算機系統(tǒng)讀取。計算機可讀介質的示例包括硬盤驅動器、網(wǎng)絡附加存儲(NAS)、只讀存儲器、隨機存取存儲器、CD-ROM、CD-R、CD-RW、磁帶以及其他光學和非光學數(shù)據(jù)存儲設備。計算機可讀介質也可以分布在耦合到網(wǎng)絡的計算機系統(tǒng)上,這樣,計算機可讀代碼以分布方式存儲和執(zhí)行。雖然描述了前述本發(fā)明的一些細節(jié)以供清楚理解之需,顯而易見的是,可以不脫離所附權利要求的范圍而進行一些變化和修改。因而,這些實施例只是示例性的而非限制性的,本發(fā)明不限于這里描述的細節(jié),而是可在所附權利要求及其等價內容的范圍內進行修改。1權利要求1.一種用于確定控制器在三維空間中的位置以和應用接口連接的計算機實現(xiàn)的方法,包括(a)使用和控制器集成的深度攝像頭,校準計算機程序以標識三維空間內多個固定點中的一組識別的固定點;(b)在和應用接口連接時啟動控制器和深度攝像頭的使用,使用時,ω使用控制器的深度攝像頭捕獲三維空間內的圖像和深度數(shù)據(jù);()分析圖像和深度數(shù)據(jù)以找到所述一組識別的固定點中的一個或多個識別的固定點.(iii)重復⑴和(ii);(iv)基于找到所述一組識別的固定點中的識別的固定點的位置變化確定控制器的位置變化;以及(ν)基于確定的控制器的位置變化觸發(fā)輸入命令,其中輸入命令引起應用的動作。2.根據(jù)權利要求1所述的計算機實現(xiàn)的方法,還包括周期性地重復步驟(i)到(ν),這樣,控制器的運動和應用的控制動作相關。3.根據(jù)權利要求2所述的方法,其中應用包括在監(jiān)視器上呈現(xiàn)虛擬世界的指令,而且應用的動作和虛擬世界內的運動相關。4.根據(jù)權利要求1所述的方法,其中校準計算機程序包括(a)從第一已知位置捕獲第一圖像的圖像和深度數(shù)據(jù);(b)從第二已知位置捕獲第二圖像的圖像和深度數(shù)據(jù);以及(c)基于第一圖像和第二圖像確定多個固定點。5.根據(jù)權利要求4所述的方法,其中對多個固定點進行分析以確定一組識別的固定點,確定的一組識別的固定點是基于它們降低對計算資源的需求的能力而選擇的。6.根據(jù)權利要求1所述的方法,其中一組識別的固定點用于建立三維空間的虛擬世界模型,虛擬世界模型用于確定在控制器位于空間內的各個位置時所述一組識別的固定點之間的距離比。7.一種用于和計算機系統(tǒng)交互的計算機實現(xiàn)的方法,包括(a)開始交互會話,交互會話在計算機系統(tǒng)上執(zhí)行并自動應用存儲器中保存的控制器校準;(b)用可移動深度攝像頭接收到控制器的輸入,輸入如下確定ω用可移動深度攝像頭捕獲空間內的圖像和深度數(shù)據(jù);()分析圖像和深度數(shù)據(jù)獲得一個或多個識別的固定點;(iii)重復ω和(ii);(iv)基于識別的固定點之間的差別確定可移動深度攝像頭在空間內的運動;(ν)基于可移動深度攝像頭的運動觸發(fā)輸入命令,其中輸入命令引起交互會話內的動作。7、根據(jù)權利要求6所述的計算機實現(xiàn)的方法,還包括周期性地重復步驟ω到(ν),這樣,到控制器的輸入和交互會話內的運動相關。8.根據(jù)權利要求6所述的計算機實現(xiàn)的方法,其中保存的控制器校準如下產生(a-i)在空間內第一已知位置處捕獲第一圖像的圖像和深度數(shù)據(jù);(a-ii)在空間內第二已知位置處捕獲第二圖像的圖像和深度數(shù)據(jù);(a-iii)基于第一和第二圖像確定空間內的多個固定點;(a-iv)過濾多個固定點以確定一組識別的固定點。9.根據(jù)權利要求8所述的方法,其中所述一組識別的固定點是基于其能夠區(qū)分空間內的識別的固定點而從多個固定點中選擇的。10.根據(jù)權利要求9所述的方法,其中區(qū)分識別的固定點部分基于可移動深度攝像頭捕獲的深度數(shù)據(jù)。11.根據(jù)權利要求8所述的方法,其中一組識別的固定點用于建立所述空間的虛擬世界模型,虛擬世界模型用于在可移動深度攝像頭位于空間內的各個位置時確定所述一組識別的固定點之間的距離比。12.根據(jù)權利要求7所述的計算機實現(xiàn)的方法,其中保存的控制器校準確定采樣率,采樣率限定捕獲第一幀和第二幀之間的時間間隔。13.根據(jù)權利要求12所述的計算機實現(xiàn)的方法,其中在交互會話中采樣率基于交互會話中發(fā)生的事件而改變。14.一種用于計算機系統(tǒng)的手持式控制器,包括控制器外殼,所述控制器外殼限定包圍內部體積的外部;接口控制,所述接口控制部分暴露在外殼的外部;深度攝像頭組件,所述深度攝像頭組件包括深度模塊、圖像模塊和處理邏輯,深度模塊和圖像模塊定義成用于通過攝像頭鏡頭接收圖像和深度數(shù)據(jù);以及通信模塊,所述通信模塊用于發(fā)送和接收從深度攝像頭組件的處理邏輯到計算機系統(tǒng)的數(shù)據(jù),其中深度攝像頭組件接收的圖像和深度數(shù)據(jù)的變化觸發(fā)到計算機系統(tǒng)的輸入命令。15.根據(jù)權利要求14所述的手持式控制器,其中深度攝像頭組件包括在控制器外殼中,攝像頭鏡頭暴露在控制器外殼外部。16.一種配置成在顯示器上顯示交互會話的交互式計算系統(tǒng),包括計算控制臺,所述計算控制臺包括中央處理單元;圖形處理單元;以及通信接口,所述通信接口配置用于提供到計算控制臺和來自計算控制臺的通信;以及用于計算系統(tǒng)的控制器,所述控制器包括深度攝像頭,所述深度攝像頭具有深度模塊、圖像模塊和處理邏輯;以及通信模塊,所述通信模塊配置用于接收和發(fā)送從深度攝像頭的處理邏輯到計算控制臺的通信接口的數(shù)據(jù),其中由深度攝像頭捕獲的圖像和深度數(shù)據(jù)中的變化被轉換成計算系統(tǒng)的輸入命令。17.根據(jù)權利要求12所述的計算系統(tǒng),其中所述深度模塊定義成用于捕獲深度攝像頭視野內的物體的深度數(shù)據(jù),所述圖像模塊定義成用于捕獲深度攝像頭視野內的物體的圖像數(shù)據(jù)。18.根據(jù)權利要求12所述的計算系統(tǒng),其中處理邏輯定義成用于處理捕獲的深度數(shù)據(jù)和圖像數(shù)據(jù)。19.根據(jù)權利要求12所述的計算系統(tǒng),其中通信模塊定義成用于發(fā)送和接收從深度攝像頭到計算控制臺的數(shù)據(jù)。全文摘要確定控制器在三維空間內的位置包括使用和控制器集成的深度攝像頭校準計算機程序以標識三維空間內多個固定點中的一組識別的固定點的操作。另一個操作在和應用接口連接時啟動控制器和深度攝像頭的使用。使用控制器時,使用控制器的深度攝像頭捕獲三維空間內的圖像和深度數(shù)據(jù)。另一個操作中,分析圖像和深度數(shù)據(jù)以找到所述一組識別的固定點中的一個或多個。可重復前兩個操作,并基于找到的所述一組識別的固定點中的識別的固定點的位置變化確定控制器的位置變化。文檔編號G06F3/01GK102027434SQ200980108615公開日2011年4月20日申請日期2009年3月12日優(yōu)先權日2008年3月17日發(fā)明者G·M·扎列維斯基申請人:索尼計算機娛樂美國有限責任公司