專利名稱:可視化深度的制作方法
可視化深度背景諸如計算機游戲、多媒體應用程序等的許多計算應用程序使用控制命令來允許用 戶操縱游戲角色或應用程序的其他方面。通常這些控制命令是使用例如,控制器、遙控器、 鍵盤、鼠標等來輸入的。不幸的是,這些控制命令可能是難以學習的,由此造成了用戶和這 些游戲及應用程序之間的障礙。此外,這些控制命令可能與這些控制命令所用于的實際游 戲動作或其他應用程序動作不同。例如,使得游戲角色旋轉棒球拍的游戲控制命令可能不 與旋轉棒球拍的實際動作相對應。概述本文中所公開的是用于通過傳達虛擬對象在虛擬世界中可能具有的深度感來幫 助用戶參與三維(3D)虛擬世界的系統(tǒng)和方法。例如,可以接收或可以觀測諸如場景的深度 圖像等圖像。隨后可分析該深度圖像以標識場景內的相異元素。相異元素可以是例如墻、 椅子、人類目標、控制器等。如果在場景內標識了相異元素,則可在3D虛擬世界中創(chuàng)建諸如 化身等虛擬對象,以表示相異元素在場景中的定向。隨后可使用可視化方案來傳達虛擬對 象在虛擬世界中的深度感。根據(jù)一示例實施例,傳達深度感可通過將所選虛擬對象與場景中的其他虛擬對象 隔離來發(fā)生。繼已在3D虛擬世界中創(chuàng)建了虛擬對象之后,可選擇虛擬對象,并且可使用深 度映射來確定所選虛擬對象的邊界。例如,可使用深度映射來確定所選虛擬對象表示場景 中可能站立在一堵墻前面的人。當已確定所選虛擬對象的邊界時,可執(zhí)行分量分析以確定 可能在所選虛擬對象的邊界內的連接的像素??蓪⒅桨?、紋理、照明效果等應用于連接 的像素,以便傳達虛擬對象在虛擬世界中的深度感。例如,隨后可根據(jù)著色方案對連接的像 素著色,該著色方案表示3D虛擬世界中由深度映射確定的虛擬對象的深度。在另一示例實施例中,傳達深度感可通過將定向光標放在所選虛擬對象上來發(fā) 生??煞治錾疃葓D像以標識場景內的相異元素。如果在場景內標識了相異元素,則可在3D 虛擬世界中創(chuàng)建虛擬對象,以表示相異元素在場景中的定向。為了傳達虛擬對象在3D虛擬 世界中的深度感,可將定向光標放在虛擬對象上。定向光標可以是可指示虛擬對象在虛擬 世界中的深度的符號、形狀、色彩、文本等。在一個實施例中,若干虛擬對象可具有定向光 標。當移動虛擬對象時,可改變定向光標的大小、色彩和/或形狀,以指示虛擬對象在3D虛 擬世界中的位置。在使用定向光標的大小、色彩和/或形狀時,用戶可發(fā)覺虛擬對象相對于 3D虛擬世界內另一虛擬對象的位置的位置。在另一示例實施例中,傳達深度感可通過擠壓網格模型來發(fā)生??煞治錾疃葓D像 以便標識場景中可能存在的相異元素。當標識了相異元素時,可從深度圖像計算以相異元 素為基礎的頂點。隨后可使用頂點創(chuàng)建網格模型。對于每個頂點,也可計算深度值,以使得 深度值可表示例如網格模型頂點在3D虛擬世界的深度場中的定向。隨后可使用頂點的深 度值來擠壓網格模型,以使得網格模型可被用作表示3D虛擬世界中的場景里所標識的元 素的虛擬對象。在一個示例實施例中,可將著色方案、紋理、照明效果等應用于網格模型,以 便傳達虛擬對象在虛擬世界中的深度感。
在另一示例實施例中,傳達深度感可通過將所選虛擬對象與場景中的其他虛擬對 象隔離,以及基于所選虛擬對象擠壓網格模型來發(fā)生。繼已在3D虛擬世界中創(chuàng)建了虛擬對 象之后,可選擇虛擬對象,并且可使用深度映射來確定所選虛擬對象的邊界。當已確定所選 虛擬對象的邊界時,可從深度圖像計算以所選的虛擬對象為基礎的頂點。隨后可使用頂點 創(chuàng)建網格模型。對于每個頂點,也可計算深度值,以使得深度值可表示例如網格模型頂點在 3D虛擬世界的深度場中的定向。隨后可使用頂點的深度值來擠壓網格模型,以使得網格模 型可被用作表示3D虛擬世界中的場景里所標識的元素的虛擬對象。在一個示例實施例中, 頂點的深度值可用于擠壓現(xiàn)有網格模型。在另一示例實施例中,可將著色方案、紋理、照明 效果等應用于網格模型,以便傳達虛擬對象在虛擬世界中的深度感。提供本概述是為了以簡化的形式介紹將在以下詳細描述中進一步描述的一些概 念。本概述并不旨在標識出所要求保護的主題的關鍵特征或必要特征,也不旨在用于限定 所要求保護的主題的范圍。此外,所要求保護的主題不限于解決在本發(fā)明的任一部分中提 及的任何或所有缺點的實現(xiàn)。附圖簡述圖IA和IB圖解了伴隨用戶玩游戲的目標識別、分析和跟蹤系統(tǒng)的示例實施例。圖2圖解了可在目標識別、分析和跟蹤系統(tǒng)中使用的捕捉設備的示例實施例。圖3圖解了可用于解釋目標識別、分析和跟蹤系統(tǒng)中的一個或多個姿勢的計算環(huán) 境的示例實施例。圖4圖解了可用于解釋目標識別、分析和跟蹤系統(tǒng)中的一個或多個姿勢的計算環(huán) 境的另一示例實施例。圖5描繪了通過將所選虛擬對象與場景中的其他虛擬對象隔離來傳達深度感的 示例方法的流程圖。圖6圖解了可用于通過將所選虛擬對象與場景中的其他虛擬對象隔離來傳達深 度感的深度圖像的示例實施例。圖7圖解了可基于深度圖像中的人類目標生成的模型的示例實施例。圖8描繪了通過將定向光標放在所選虛擬對象上來傳達深度感的示例方法的流 程圖。圖9圖解了可用于向用戶傳達深度感的定向光標的示例實施例。
圖10描繪了通過擠壓網格模型來傳達深度感的示例方法的流程圖。圖11圖解了可用于向用戶傳達深度感的網格模型的示例實施例。圖12描繪了通過將所選虛擬對象與場景中的其他虛擬對象隔離并基于所選虛擬 模型擠壓網格模型來傳達深度感的示例方法的流程圖。說明性實施例的詳細描述如本文中將描述的,用戶可通過執(zhí)行關于輸入對象的一個或多個姿勢來控制在諸 如游戲控制臺、計算機等計算環(huán)境上執(zhí)行的應用程序。根據(jù)一個實施例,姿勢可由例如捕捉 設備來接收。例如,捕捉設備可觀測、接收和/或捕捉場景的圖像。在一個實施例中,可分 析第一圖像以確定場景中的一個或多個對象是否對應于可由用戶控制的輸入對象。為了確 定場景中的對象是否對應于輸入對象,可掃描場景中的每個目標、對象、或任何部分以確定 屬于輸入對象的指示符是否可能出現(xiàn)在第一圖像內。在確定一個或多個指示符存在于第一
5圖像內之后,指示符可被一起編組成聚類,該聚類隨后可用于生成可指示輸入對象在所捕 捉的場景中的定向的第一向量。另外,在一個實施例中,在生成第一向量之后,可在隨后處理第二圖像以確定場景 中的一個以上的對象是否對應于諸如用戶等人類目標。為了確定場景中的目標或對象是否 對應于人類目標,可對場景中的每個目標、對象或任何部分進行泛色填充并將其與人體模 型的圖案作比較。隨后可掃描與圖案相匹配的每個目標或對象以生成與其相關聯(lián)的模型, 諸如骨架模型、網格人模型等。在一示例實施例中,模型可用于生成第二向量,該第二向量 可指示可與輸入對象相關聯(lián)的身體部位的定向。例如,身體部位可包括用戶的模型的手臂, 以使得該手臂可用于抓握輸入對象。另外,在生成模型之后,可分析模型以確定與可與輸入 對象相關聯(lián)的身體部位相對應的至少一個關節(jié)。可處理該關節(jié)以確定關節(jié)在場景中的相對 位置是否對應于輸入對象的相對位置。當關節(jié)的相對位置對應于輸入對象的相對位置時, 則可基于關節(jié)生成第二向量,該第二向量可指示身體部位的定向。隨后可跟蹤第一和/或第二向量,以例如使與化身相關聯(lián)的虛擬對象活動起來、 使化身活動起來、和/或控制各種計算應用程序。另外,可將第一和/或第二向量提供給計 算環(huán)境以使得計算環(huán)境可跟蹤第一向量、第二向量、和/或與向量相關聯(lián)的模型。在另一實 施例中,計算環(huán)境可基于例如所確定的角度來確定要在執(zhí)行于計算環(huán)境上的應用程序中執(zhí) 行哪些控制。圖IA和IB示出伴隨用戶18玩拳擊游戲的目標識別、分析和跟蹤系統(tǒng)10的配置 的示例實施例。在一示例實施例中,目標識別、分析和跟蹤系統(tǒng)10可用于識別、分析和/或 跟蹤諸如用戶18等的人類目標。如圖IA所示,目標識別、分析和跟蹤系統(tǒng)10可包括計算環(huán)境12。計算環(huán)境12可 以是計算機、游戲系統(tǒng)或控制臺等等。根據(jù)一示例實施例,計算環(huán)境12可包括硬件組件和/ 或軟件組件,從而使得計算環(huán)境12可用于執(zhí)行諸如游戲應用程序、非游戲應用程序等的應 用程序。在一個實施例中,計算環(huán)境12可包括可執(zhí)行各種指令的諸如標準化處理器、專用 處理器、微處理器等處理器,這些指令包括,例如,用于訪問捕捉設備的指令、用于從捕捉設 備接收一個或多個圖像的指令、用于確定一個或多個圖像中的一個或多個對象是否對應于 人類目標和/或輸入對象的指令、或任何其他合適的指令,這些將在下面更詳細地描述。如圖IA所示,目標識別、分析和跟蹤系統(tǒng)10還可包括捕捉設備20。捕捉設備20 可以是例如相機,該相機可用于在視覺上監(jiān)視諸如用戶18等一個或多個用戶,以使得可以 捕捉、分析并跟蹤一個或多個用戶所執(zhí)行的姿勢,以執(zhí)行應用中的一個或多個控制或動作, 如將在下面更詳細地描述的。在也將在以下更詳細描述的另一實施例中,捕捉設備20可進 一步被用于視覺地監(jiān)視一個或多個輸入對象,以使得由用戶18關于輸入對象執(zhí)行的姿勢 可被捕捉、分析、以及跟蹤,以在應用程序內執(zhí)行一個或多個控制或動作。根據(jù)一實施例,目標識別、分析和跟蹤系統(tǒng)10可連接到可向諸如用戶18等的用 戶提供游戲或應用程序視覺形象和/或音頻的視聽設備16,如電視機、監(jiān)視器、高清電視機 (HDTV)等。例如,計算環(huán)境12可包括諸如圖形卡等視頻適配器和/或諸如聲卡等音頻適 配器,這些適配器可提供與游戲應用程序、非游戲應用程序等相關聯(lián)的視聽信號。視聽設備 16可從計算環(huán)境12接收視聽信號,然后可向用戶18輸出與該視聽信號相關聯(lián)的游戲或應 用程序視覺形象和/或音頻。根據(jù)一實施例,視聽設備16可經由例如,S-視頻電纜、同軸電纜、HDMI電纜、DVI電纜、VGA電纜等連接到計算環(huán)境12。如圖IA和IB所示,目標識別、分析和跟蹤系統(tǒng)10可用于識別、分析和/或跟蹤諸 如用戶18等人類目標。例如,可使用捕捉設備20來跟蹤用戶18,以使得可將用戶18的移 動解釋為可用于影響由計算環(huán)境12執(zhí)行的應用程序的控制。因而,根據(jù)一個實施例,用戶 18可移動他或她的身體來控制應用程序。如圖IA和IB所示,在一示例實施例中,在計算環(huán)境12上執(zhí)行的應用程序可以是 用戶18可能正在玩的拳擊游戲。例如,計算環(huán)境12可使用視聽設備16來向用戶18提供 拳擊對手38的視覺表示。計算環(huán)境12還可使用視聽設備16來提供用戶18可通過他的或 她的移動來控制的玩家化身40的視覺表示。例如,如圖IB所示,用戶18可在物理空間中 揮拳猛擊來使得玩家化身40在游戲空間中揮拳猛擊。因此,根據(jù)一示例實施例,目標識別、 分析和跟蹤系統(tǒng)10的計算環(huán)境12和捕捉設備20可用于識別和分析用戶18在物理空間中 的重拳,從而使得該重拳可被解釋為對游戲空間中的玩家化身40的游戲控制。用戶18的其他移動也可被解釋為其他控制命令或動作,諸如上下快速擺動、閃 避、滑步、封堵、用拳猛擊或揮動各種不同的有力重拳等控制。此外,某些移動可被解釋為可 對應于除控制玩家化身40之外的動作的控制。例如,玩家可使用移動來結束、暫?;虮4?游戲、選擇級別、查看高分、與朋友交流等。另外,用戶18的全范圍運動可以用任何合適的 方式來獲得、使用并分析以與應用程序進行交互。在示例實施例中,諸如用戶18等人類目標可具有輸入對象。在這些實施例中,電 子游戲的用戶可持握輸入對象,以使得可使用玩家和輸入對象的運動來調整和/或控制游 戲的參數(shù)。例如,可以跟蹤并利用持握球拍狀輸入對象的玩家的運動來控制電子運動游戲 中的屏幕上球拍。在另一示例實施例中,可以跟蹤并利用持握輸入對象的玩家的運動來控 制電子格斗游戲中的屏幕上武器。根據(jù)其他示例實施例,目標識別、分析和跟蹤系統(tǒng)10還可用于將目標移動解釋為 游戲領域之外的操作系統(tǒng)和/或應用程序控制。例如,事實上操作系統(tǒng)和/或應用程序的 任何可控方面可由諸如用戶18等目標的移動來控制。圖2示出可在目標識別、分析和跟蹤系統(tǒng)10中使用的捕捉設備20的示例實施例。 根據(jù)一示例實施例,捕捉設備20可被配置成捕捉帶有包括深度圖像的深度信息的視頻,該 深度圖像可包括經由任何合適的技術——包括例如飛行時間、結構化光、立體圖像等—— 的深度值。根據(jù)一實施例,捕捉設備20可將深度信息組織為“Z層”,即可與從深度相機沿 其視線延伸的Z軸垂直的層。如圖2所示,捕捉設備20可包括圖像相機組件22。根據(jù)一示例實施例,圖像相機 組件22可以是可捕捉場景的深度圖像的深度相機。深度圖像可包括所捕捉的場景的二維 (2-D)像素區(qū)域,其中2-D像素區(qū)域中的每一像素可表示深度值,諸如例如以厘米、毫米等 計的、所捕捉的場景中的對象距相機的長度或距離。如圖2所示,根據(jù)一示例實施例,圖像相機組件22可包括可用于捕捉場景的深度 圖像的頂光組件對、三維(3-D)相機沈、和RGB相機觀。例如,在飛行時間分析中,捕捉 設備20的頂光組件M可將紅外光發(fā)射到場景中,然后可使用傳感器(未示出)——使用 例如3-D相機沈和/或RGB相機28——來檢測來自場景中的一個或多個目標和對象的表 面的反向散射光。在某些實施例中,可以使用脈沖式紅外光,從而可以測量出射光脈沖與相應的入射光脈沖之間的時間并將其用于確定從捕捉設備20到場景中的目標或對象上的特 定位置的物理距離。另外,在其他示例實施例中,可將傳入光波的相位與傳出光波的相位進 行比較來確定相移。然后可以使用相移來確定從捕捉設備到對象或目標上的特定位置的距
1 O根據(jù)另一示例實施例,可使用飛行時間分析,通過經由包括例如快門式光脈沖成 像等各種技術來分析反射光束隨時間的強度,來間接地確定從捕捉設備20到目標或對象 上的特定位置的物理距離。在另一示例實施例中,捕捉設備20可使用結構化光來捕捉深度信息。在該分析 中,圖案化光(即,被顯示為諸如網格圖案或條紋圖案等已知圖案的光)可經由例如頂光 組件M被投影到場景上。在撞擊到場景中的一個或多個目標或對象的表面時,作為響應, 圖案可變形。圖案的這種變形可由例如3-D相機沈和/或RGB相機觀來捕捉,然后可被 分析以確定從捕捉設備到目標或對象上的特定位置的物理距離。根據(jù)另一實施例,捕捉設備20可包括兩個或更多物理上分開的相機,這些相機可 從不同角度查看場景以獲得視覺立體數(shù)據(jù),該視覺立體數(shù)據(jù)可被解析以生成深度信息。捕捉設備20還可包括話筒30。話筒30可包括可接收聲音并將其轉換成電信號的 變換器或傳感器。根據(jù)一實施例,話筒30可用于減少目標識別、分析和跟蹤系統(tǒng)10中的捕 捉設備20與計算環(huán)境12之間的反饋。另外,話筒30可用于接收也可由用戶提供的音頻信 號,以控制可由計算環(huán)境12執(zhí)行的諸如游戲應用程序、非游戲應用程序等應用程序。在一示例實施例中,捕捉設備20還可包括可與圖像相機組件22進行有效通信的 處理器32。處理器32可包括可執(zhí)行各種指令的諸如標準化處理器、專用處理器、微處理器 等處理器,這些指令包括,例如,用于訪問捕捉設備的指令、用于從捕捉設備接收一個或多 個圖像的指令、用于確定一個或多個圖像中的一個或多個對象是否對應于人類目標和/或 輸入對象的指令、或任何其他合適的指令,這些將在下面更詳細地描述。捕捉設備20還可包括存儲器組件34,存儲器組件34可存儲可由處理器32執(zhí)行 的指令、由媒體供給接口 170創(chuàng)建的媒體幀、由3-D相機或RGB相機捕捉的圖像或圖像幀、 或任何其他合適的信息、圖像等等。根據(jù)一示例實施例,存儲器組件34可包括隨機存取存 儲器(RAM)、只讀存儲器(ROM)、高速緩存、閃存、硬盤、或任何其他合適的存儲組件。如圖2 所示,在一實施例中,存儲器組件34可以是與圖像相機組件22和處理器32進行通信的單 獨的組件。根據(jù)另一實施例,存儲器組件34可被集成到處理器32和/或圖像捕捉組件22 中。如圖2所示,捕捉設備20可經由通信鏈路36與計算環(huán)境12進行通信。通信鏈 路36可以是包括例如USB連接、火線連接、以太網電纜連接等的有線連接和/或諸如無線 802. lib,802. llg、802. Ila或802. Iln連接等無線連接。根據(jù)一實施例,計算環(huán)境12可經 由通信鏈路36向捕捉設備20提供可用于確定例如何時捕捉場景的時鐘。另外,捕捉設備20可經由通信鏈路36向計算環(huán)境12提供深度信息、由例如3-D 相機沈和/或RGB相機觀捕捉的圖像,和/或諸如可由捕捉設備20生成的骨架模型等模 型。計算環(huán)境12可在隨后使用深度信息、所捕捉的圖像和/或模型來例如使基于輸入對象 的虛擬對象活動起來、使基于輸入對象的化身活動起來、和/或控制諸如游戲或文字處理 程序等應用程序。例如,如圖2所示,計算環(huán)境12可包括姿勢庫190。姿勢庫190可包括姿勢過濾器集合,每一姿勢過濾器包括關于骨架模型可執(zhí)行(在用戶移動時)的姿勢的信 息??蓪⒂上鄼C26J8和捕捉設備20捕捉的骨架模型形式的數(shù)據(jù)以及與其相關聯(lián)的移動 與姿勢庫190中的姿勢過濾器進行比較來標識用戶(如骨架模型所表示的)何時執(zhí)行了一 個或多個姿勢。那些姿勢可與應用程序的各種控制相關聯(lián)。因此,計算環(huán)境12可使用姿勢 庫190來解釋骨架模型和/或輸入對象的移動以及基于這些移動來控制應用程序。圖3圖解了可用于解釋目標識別、分析和跟蹤系統(tǒng)中的一個或多個姿勢的計算環(huán) 境的示例實施例。上面參考圖1A-2所描述的諸如計算環(huán)境12等計算環(huán)境可以是諸如游戲 控制臺等多媒體控制臺100。如圖3所示,多媒體控制臺100具有含有1級高速緩存102、 2級高速緩存104和閃存R0M(只讀存儲器)106的中央處理單元(CPU) 101。1級高速緩存 102和2級高速緩存104臨時存儲數(shù)據(jù)并因此減少存儲器訪問周期數(shù),由此改進處理速度和 吞吐量。CPU 101可以設置成具有一個以上的核,以及由此的附加的1級和2級高速緩存 102和104。閃存ROM 106可存儲可在多媒體控制臺100通電時在引導進程的初始化階段 期間加載的可執(zhí)行代碼。圖形處理單元(GPU) 108和視頻編碼器/視頻編解碼器(編碼器/解碼器)114形 成用于高速、高分辨率圖形處理的視頻處理流水線。數(shù)據(jù)可經由總線從圖形處理單元108 輸送到視頻編碼器/視頻編解碼器114。視頻處理流水線將數(shù)據(jù)輸出到A/V(音頻/視頻) 端口 140以傳輸?shù)诫娨暀C或其它顯示器。存儲器控制器110可連接到GPU 108以方便處理 器訪問各種類型的存儲器112,諸如但不局限于RAM(隨機存取存儲器)。多媒體控制臺100包括較佳地在模塊118上實現(xiàn)的I/O控制器120、系統(tǒng)管理控 制器122、音頻處理單元123、網絡接口控制器124、第一 USB主控制器126、第二 USB控制器 1 和前面板I/O子部件130。USB控制器126和1 用作外圍控制器142 (1)-142 (2)、無 線適配器148、和外置存儲器設備146(例如閃存、外置⑶/DVD ROM驅動器、可移動介質等) 的主機。網絡接口控制器1 和/或無線適配器148提供對網絡(例如,因特網、家庭網絡 等)的訪問并且可以是包括以太網卡、調制解調器、藍牙模塊、電纜調制解調器等各種不同 的有線和無線適配器組件中任一種??商峁┫到y(tǒng)存儲器143以存儲可在引導進程期間加載的應用程序數(shù)據(jù)??商峁┟?體驅動器144且其可包括DVD/CD驅動器、硬盤驅動器、或其它可移動媒體驅動器等。媒體 驅動器144對于多媒體控制臺100可以內置或外置。應用程序數(shù)據(jù)可經由媒體驅動器144 訪問,以由多媒體控制臺100執(zhí)行、回放等。媒體驅動器144可經由諸如串行ATA總線或其 他高速連接(例如IEEE 1394)等總線連接到I/O控制器120。系統(tǒng)管理控制器122提供涉及確保多媒體控制臺100的可用性的各種服務功能。 音頻處理單元123和音頻編解碼器132形成具有高保真度和立體聲處理的對應的音頻處理 流水線。音頻數(shù)據(jù)可經由通信鏈路在音頻處理單元123與音頻編解碼器132之間傳輸。音 頻處理流水線將數(shù)據(jù)輸出到A/V端口 140以供外置音頻播放器或具有音頻能力的設備再 現(xiàn)。前面板I/O子部件130支持暴露在多媒體控制臺100的外表面上的電源按鈕150 和彈出按鈕152以及任何LED(發(fā)光二極管)或其它指示器的功能。系統(tǒng)供電模塊136向 多媒體控制臺100的組件供電。風扇138冷卻多媒體控制臺100內的電路。CPU 101、GPU 108、存儲器控制器110、和多媒體控制臺100內的各個其它組件經
9由一條或多條總線互連,包括串行和并行總線、存儲器總線、外圍總線、和使用各種總線架 構中任一種的處理器或局部總線。作為示例,這種架構可以包括外圍部件互連(PCI)總線、 PCI-快速總線等。當多媒體控制臺100通電時,應用程序數(shù)據(jù)可從系統(tǒng)存儲器143加載到存儲器112 和/或高速緩存102、104中并在CPU 101上執(zhí)行。應用程序可呈現(xiàn)在導航到多媒體控制臺 100上可用的不同媒體類型時提供一致的用戶體驗的圖形用戶界面。在操作中,媒體驅動 器144中包括的應用程序和/或其它媒體可從媒體驅動器144啟動或播放,以向多媒體控 制臺100提供附加功能。多媒體控制臺100可通過將該系統(tǒng)簡單地連接到電視機或其它顯示器而作為獨 立系統(tǒng)來操作。在該獨立模式中,多媒體控制臺100允許一個或多個用戶與該系統(tǒng)交互、看 電影、或聽音樂。然而,隨著通過網絡接口控制器1 或無線適配器148可用的寬帶連接的 集成,多媒體控制臺100還可作為較大網絡社區(qū)中的參與者來操作。當多媒體控制臺100通電時,可以保留設定量的硬件資源以供多媒體控制臺操作 系統(tǒng)作系統(tǒng)使用。這些資源可以包括存儲器保留(例如,16MB)、CPU和GPU周期(例如, 5%)、網絡帶寬(例如,SlAs)等。因為這些資源是在系統(tǒng)引導時保留的,所以所保留的資 源對應用程序而言是不存在的。具體地,存儲器保留較佳地可以大至足以包含啟動內核、并發(fā)系統(tǒng)應用程序和驅 動程序。CPU保留較佳地可為恒定,使得若所保留的CPU用量不被系統(tǒng)應用程序使用,則空 閑線程將消耗任何未使用的周期。對于GPU保留,通過使用GPU中斷來顯示由系統(tǒng)應用程序生成的輕量消息(例如, 彈出窗口),以調度代碼來將彈出窗口呈現(xiàn)為覆蓋圖。覆蓋圖所需的存儲器量取決于覆蓋區(qū) 域大小,并且覆蓋圖較佳地與屏幕分辨率成比例縮放。在并發(fā)系統(tǒng)應用程序可使用完整用 戶界面的情況下,優(yōu)選使用獨立于應用程序分辨率的分辨率。定標器可用于設置該分辨率, 從而可以無需改變頻率,也就不會引起TV重新同步。在多媒體控制臺100引導且系統(tǒng)資源被保留之后,就執(zhí)行并發(fā)系統(tǒng)應用程序來提 供系統(tǒng)功能。系統(tǒng)功能被封裝在一組在前述所保留的系統(tǒng)資源中執(zhí)行的系統(tǒng)應用程序中。 操作系統(tǒng)內核標識是系統(tǒng)應用程序線程而非游戲應用程序線程的線程。系統(tǒng)應用程序優(yōu)選 地被調度為在預定時間并以預定時間間隔在CPUlOl上運行,以便為應用程序提供一致的 系統(tǒng)資源視圖。進行調度可以是為了把由在控制臺上運行的游戲應用程序所引起的高速緩 存分裂最小化。當并發(fā)系統(tǒng)應用程序需要音頻時,音頻處理可能因時間敏感性而被異步調度給游 戲應用程序。多媒體控制臺應用程序管理器(如下所述)在系統(tǒng)應用程序活動時控制游戲 應用程序的音頻水平(例如,靜音、衰減)。輸入設備(例如,外圍控制器142(1)和142( )由游戲應用程序和系統(tǒng)應用程序 共享。輸入設備不是所保留的資源,但卻在系統(tǒng)應用程序和游戲應用程序之間切換以使其 各自具有設備的焦點。應用程序管理器較佳地控制輸入流的切換,而無需知曉游戲應用程 序的知識,并且驅動程序維持有關焦點切換的狀態(tài)信息。如圖5中所示的,三維(3-D)相機 26和RGB相機觀、捕捉設備20、以及輸入對象55可定義多媒體控制臺100的附加輸入設 備。
圖4圖解了計算環(huán)境12的另一示例實施例,該計算環(huán)境可以是圖1A-2中所示的 用于解釋目標識別、分析和跟蹤系統(tǒng)中的一個或多個姿勢的計算環(huán)境12。計算系統(tǒng)環(huán)境 220只是合適的操作環(huán)境的一個示例,并且不旨在對所公開的主題的使用范圍或功能提出 任何限制。也不應該將計算環(huán)境12解釋為對示例性操作環(huán)境220中示出的任一組件或其 組合有任何依賴性或要求。在某些實施例中,各個所描繪的計算元素可包括被配置成實例 化本公開的具體方面的電路。例如,本公開中使用的術語電路可包括被配置成執(zhí)行固件或 開關的功能的專用硬件組件。在其他示例實施例中,術語電路可包括由軟件指令配置的實 施可用于執(zhí)行功能的邏輯的通用處理單元、存儲器等。在電路包括硬件和軟件的組合的示 例實施例中,實現(xiàn)者可編寫實施邏輯的源代碼且該源代碼可被編譯成可由通用處理單元處 理的機器可讀代碼。因為本領域技術人員可以明白現(xiàn)有技術已經進化到硬件、軟件或硬件/ 軟件的組合之間可能幾乎沒有差別的地步,因而選擇硬件或是軟件來實現(xiàn)具體功能可以是 留給實現(xiàn)者的設計選擇。更具體地,本領域技術人員可以明白軟件進程可被變換成等價的 硬件結構,而硬件結構本身可被變換成等價的軟件進程。因此,對于硬件實現(xiàn)還是軟件實現(xiàn) 的選擇可以是設計選擇之一并留給實現(xiàn)者。在圖4中,計算環(huán)境220包括計算機Ml,計算機241通常包括各種計算機可讀介 質。計算機可讀介質可以是能由計算機241訪問的任何可用介質,而且包含易失性和非易 失性介質、可移動和不可移動介質。系統(tǒng)存儲器222包括易失性和/或非易失性存儲器形式 的計算機存儲介質,如只讀存儲器(ROM) 223和隨機存取存儲器(RAM06O?;据斎?輸出 系統(tǒng)224(BI0S)包括有助于諸如啟動時在計算機Ml中元件之間傳遞信息的基本例程,它 通??梢源鎯υ赗OM 223中。RAM 260通常包括處理單元259可以立即訪問和/或目前正 在操作的數(shù)據(jù)和/或程序模塊。作為示例而非限制,圖4示出操作系統(tǒng)225、應用程序226、 其他程序模塊227和程序數(shù)據(jù)228。計算機241也可以包括其他可移動/不可移動、易失性/非易失性計算機存儲介 質。僅作為示例,圖4示出了從不可移動、非易失性磁介質中讀取或向其寫入的硬盤驅動器 238,從可移動、非易失性磁盤2M中讀取或向其寫入的磁盤驅動器239,以及從諸如⑶ROM 或其他光學介質等可移動、非易失性光盤253中讀取或向其寫入的光盤驅動器M0。可以在 示例性操作環(huán)境中使用的其他可移動/不可移動、易失性/非易失性計算機存儲介質包括 但不限于,磁帶盒、閃存卡、數(shù)字多功能盤、數(shù)字錄像帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅動 器238通??捎芍T如接口 234等不可移動存儲器接口連接至系統(tǒng)總線221,磁盤驅動器239 和光盤驅動器240通常由諸如接口 235等可移動存儲器接口連接至系統(tǒng)總線221。以上討論并在圖4中示出的驅動器及其相關聯(lián)的計算機存儲介質為計算機241提 供了對計算機可讀指令、數(shù)據(jù)結構、程序模塊和其他數(shù)據(jù)的存儲。在圖4中,例如,硬盤驅動 器238被示為存儲操作系統(tǒng)258、應用程序226、其他程序模塊227和程序數(shù)據(jù)228。注意, 這些組件可以與操作系統(tǒng)225、應用程序226、其他程序模塊227和程序數(shù)據(jù)2 相同,也可 以與它們不同。操作系統(tǒng)225、應用程序226、其他程序模塊227和程序數(shù)據(jù)2 在這里被標 注了不同的標號是為了說明至少它們是不同的副本。用戶可以通過輸入設備,諸如鍵盤251 和定點設備252——通常被稱為鼠標、跟蹤球或觸摸墊一一向計算機241輸入命令和信息。 其他輸入設備(未示出)可以包括話筒、操縱桿、游戲手柄、圓盤式衛(wèi)星天線、掃描儀等。這 些和其他輸入設備通常由可耦合至系統(tǒng)總線的用戶輸入接口 236連接至處理單元259,但也可以由其他接口和總線結構,諸如并行端口、游戲端口或通用串行總線(USB)連接。如圖 5中所示的,3-D相機26、RGB相機觀、捕捉設備20、以及輸入對象55可定義多媒體控制臺 100的附加輸入設備。監(jiān)視器242或其它類型的顯示設備也經由接口,諸如視頻接口 232連 接至系統(tǒng)總線221。除監(jiān)視器以外,計算機還可以包括其他外圍輸出設備,諸如揚聲器244 和打印機對3,它們可以通過輸出外圍接口 233連接。計算機241可使用至一個或多個遠程計算機,如遠程計算機M6的邏輯連接在網 絡化環(huán)境中操作。遠程計算機246可以是個人計算機、服務器、路由器、網絡PC、對等設備或 其他常見網絡節(jié)點,并且通常包括許多或所有以上關于計算機241所描述的元件,盡管在 圖4中僅示出了存儲器存儲設備M7。圖4中所示的邏輯連接包括局域網(LAN) 245和廣域 網(WAN049,但也可以包括其他網絡。這樣的聯(lián)網環(huán)境在辦公室、企業(yè)范圍計算機網絡、內 聯(lián)網和因特網中是常見的。當在LAN網絡環(huán)境中使用時,計算機241通過網絡接口或適配器237連接至LAN 2450當在WAN聯(lián)網環(huán)境中使用時,計算機241通常包括調制解調器250或用于通過諸如因 特網等WAN 249建立通信的其他裝置。調制解調器250可以是內置或外置的,它可以經由 用戶輸入接口 236或其他適當?shù)臋C制連接至系統(tǒng)總線221。在網絡化環(huán)境中,關于計算機 241所描述的程序模塊或其部分可被儲存在遠程存儲器存儲設備中。作為示例而非限制, 圖4示出遠程應用程序248駐留在存儲器設備247上??梢岳斫?,所示的網絡連接是示例 性的,且可以使用在計算機之間建立通信鏈路的其他手段。圖5示出了通過將所選虛擬對象與場景中的其他虛擬對象隔離來傳達深度感的 示例方法的流程圖。示例方法可使用例如,參考圖1A-4所描述的目標識別、分析和跟蹤系 統(tǒng)10的捕捉設備20和/或計算環(huán)境12來實現(xiàn)。在一示例實施例中,該方法可采取可由例 如參考圖1A-4所描述的目標識別、分析和跟蹤系統(tǒng)10的捕捉設備20和/或計算環(huán)境12 執(zhí)行的程序代碼(即指令)的形式。根據(jù)示例實施例,在505,目標識別、分析、和跟蹤系統(tǒng)可接收深度圖像。例如,目標 識別、分析和跟蹤系統(tǒng)可包括諸如參考圖1A-2描述的捕捉設備20等捕捉設備。捕捉設備 可捕捉或可觀測可包括一個或多個目標的場景。在一示例實施例中,捕捉設備可以是深度 相機,該深度相機被配置成使用諸如飛行時間分析、結構化光分析、立體視覺分析等任何合 適的技術來獲得場景的深度圖像。根據(jù)一示例實施例,深度圖像可以是多個觀測到的像素,其中每個觀測到的像素 具有觀測到的深度值。例如,深度圖像可包括所捕捉的場景的二維O-D)像素區(qū)域,其中 2-D像素區(qū)域中的每一像素可表示深度值,諸如例如以厘米、毫米等計的、所捕捉的場景中 的對象或目標距捕捉設備的長度或距離。圖6圖解了可在505處被接收的深度圖像600的示例實施例。根據(jù)一示例實施例, 深度圖像600可以是由例如以上參考圖2所描述的捕捉設備20的3-D相機沈和/或RGB 相機觀所捕捉的場景的圖像或幀。如圖6中所示的,深度圖像600可包括所捕捉的場景中 的一個或多個目標604,諸如人類目標、椅子、桌子、墻壁等。如上所述,深度圖像600可包括 多個觀測到的像素,其中每一觀測到的像素具有與其相關聯(lián)的觀測到的深度值。例如,深度 圖像600可包括所捕捉的場景的二維Q-D)像素區(qū)域,其中2-D像素區(qū)域中的每一像素可 表示深度值,諸如例如以厘米、毫米等計的、所捕捉的場景中的對象或目標距捕捉設備的長度或距離。回顧圖5,在510,目標識別、分析和跟蹤系統(tǒng)可標識場景中的目標。在一示例實施 例中,場景中的目標可通過定義對象的邊界來標識。在定義對象的邊界時,可分析深度圖像 以確定具有基本上相同的相對深度的像素。隨后可以按使得形成可被進一步用于定義虛擬 對象的邊界的方式來編組這些像素。例如,在分析了深度圖像之后,處于基本相關深度的數(shù) 個像素可被編組在一起以指示可能站立在一堵墻前面的人的邊界。在515,目標識別、分析和跟蹤系統(tǒng)可為所標識的目標創(chuàng)建虛擬對象。虛擬對象可 以是化身、模型、圖像、網格模型等。在一個實施例中,可在3-D虛擬世界中創(chuàng)建虛擬對象以 表示場景中的目標。例如,模型可用于跟蹤和顯示人類用戶在場景中的移動。圖7圖解了可用于跟蹤和顯示人類用戶的移動的模型的示例實施例。根據(jù)一示 例實施例,模型可包括一個或多個數(shù)據(jù)結構,這些數(shù)據(jù)結構可表示例如在諸如深度圖像600 等深度圖像內找到的人類目標。每個身體部位可被表征為定義模型的關節(jié)和骨骼的數(shù)學向 量。例如,關節(jié)j7和jll可被表征為一向量,該向量可指示諸如用戶18等用戶可用來抓握 諸如輸入對象55等輸入對象的手臂的定向。如圖7中所示的,模型可包括一個或多個關節(jié)jl-kl8。根據(jù)一示例實施例,關節(jié) jl-jl8中的每一個可使得在這些關節(jié)之間定義的一個或多個身體部位能相對于一個或多 個其他身體部位移動。例如,表示人類目標的模型可包括多個剛性和/或可變形身體部位, 這些身體部位由一個或多個諸如“骨骼”等結構件來定義,而關節(jié)jl_jl8位于毗鄰骨骼的 交叉點處。關節(jié)jl_jl8可使得與骨骼和關節(jié)jl_jl8相關聯(lián)的各個身體部位能夠彼此獨立 地移動。例如,如圖7中所示的,關節(jié)j7與jll之間定義的骨骼對應于前臂,該前臂可獨立 于例如關節(jié)jl5與jl7之間的骨骼——其對應于小腿——移動。回顧圖5,在另一示例實施例中,從與深度圖像中的目標相關聯(lián)的像素獲取的深度 值可作為虛擬對象的部分來存儲。例如,目標識別、分析和跟蹤系統(tǒng)可分析深度圖像內的目 標邊界,確定那些邊界內的像素,確定與那些像素相關聯(lián)的深度值,以及在虛擬對象內存儲 那些深度值。這樣做是為了例如免去在以后確定虛擬對象的深度值的需要。在520,目標識別、分析、和跟蹤系統(tǒng)可選擇場景中的一個或多個虛擬對象。在一個 實施例中,用戶可選擇虛擬對象。在另一實施例中,可由諸如視頻游戲、操作系統(tǒng)、姿勢庫等 應用程序選擇一個或多個虛擬對象。例如,視頻游戲應用程序可選擇對應于用戶的虛擬對 象和/或對應于用戶所持握的網球拍的虛擬對象。在525,目標識別、分析、和跟蹤系統(tǒng)可確定所選虛擬對象的深度值。在一示例實施 例中,所選虛擬對象的深度值可通過從所選虛擬對象檢索所存儲的值來確定。在另一示例 實施例中,可從深度圖像確定深度值。在使用深度圖像時,可標識對應于所選虛擬對象的邊 界內的像素。一旦進行了標識,就可為每個像素確定深度值。在530,目標識別、分析和跟蹤系統(tǒng)可根據(jù)可視化方案隔離所選虛擬對象,以傳達 深度感。在一示例實施例中,可通過根據(jù)著色方案對所選虛擬對象的像素著色來隔離所選 虛擬對象。著色方案可以是深度數(shù)據(jù)的圖形表示,其中所選虛擬對象的深度值由色彩來表 示。通過使用著色方案,目標識別、分析和跟蹤系統(tǒng)可傳達所選虛擬對象在3-D虛擬世界和 /或場景內可能具有的深度感。著色方案中所用的色彩可包括單色、一定范圍的色彩、黑白 等的陰影。例如,可選擇一定范圍的色彩來表示所選虛擬對象與3-D虛擬世界中的用戶可
13能相距的距離。圖6圖解了著色方案的示例實施例。在一示例實施例中,深度圖像600可被著色, 以使得深度圖像的像素的不同色彩對應于和/或從視覺上描繪了目標604相距捕捉設備的 不同距離。例如,根據(jù)一個實施例,深度圖像中與最接近捕捉設備的目標相關聯(lián)的像素可用 紅色和/或橙色陰影來著色,而深度圖像中與較遠的目標相關聯(lián)的像素可用綠色和/或藍 色陰影來著色。在另一示例實施例中,目標識別、分析和跟蹤系統(tǒng)可通過根據(jù)RGB相機接收到的 圖像對屬于所選虛擬對象的像素進行著色來隔離所選虛擬對象。RGB圖像可以接收自RGB 相機,并且可應用于所選虛擬對象。在應用RGB圖像之后,可根據(jù)著色方案——諸如以上所 描述的著色方案中的一個——修改RGB圖像。例如,與場景中的網球拍相對應的所選虛擬 對象可用網球拍的RGB圖像來著色,并使用用于指示3-D虛擬世界中球拍與用戶之間的距 離著色方案來修改。使用著色方案對RGB圖像進行修改可通過混合若干圖像、使RGB圖像 更加透明、向RGB圖像應用淡色等來進行。在另一示例實施例中,目標識別、分析和跟蹤系統(tǒng)可通過勾勒出所選虛擬對象的 邊界以便區(qū)分該虛擬對象來隔離所選虛擬對象??蓮?-D虛擬世界、深度圖像、場景等確定 所選虛擬對象的邊界。在確定了所選虛擬對象的邊界之后,可確定這些邊界的像素的相關 深度值。隨后可使用深度值來根據(jù)著色方案——諸如以上所描述的著色方案——對所選虛 擬對象的邊界著色。例如,可用明黃色來勾勒網球拍的虛擬對象,以指示網球拍在3-D虛擬 世界和/或場景中可能在用戶的附近。在另一示例實施例中,目標識別、分析和跟蹤系統(tǒng)可通過操縱與所選虛擬對象相 關聯(lián)的網格來隔離所選虛擬對象。可檢索和/或創(chuàng)建可與所選虛擬對象相關聯(lián)的網格模 型。隨后,可根據(jù)著色方案——諸如以上所描述的著色方案中的一個——來對網格模型進 行著色。在另一示例實施例中,可將諸如陰影、高光等照明效果應用于虛擬對象和/或網格 模型。在另一示例實施例中,可從RGB相機接收RGB圖像并且可將其應用于網格模型。隨 后,可根據(jù)著色方案——諸如先前所描述的著色方案——來修改RGB圖像。例如,與場景中 的網球拍相對應的所選虛擬對象可用網球拍的RGB圖像來著色,并根據(jù)用于指示3-D虛擬 世界中球拍與用戶之間的距離的著色方案來修改。使用著色方案對RGB圖像進行修改可通 過混合若干圖像、使RGB圖像更加透明、向RGB圖像應用淡色等來進行。圖8圖解了通過將定向光標放在所選虛擬對象上來傳達深度感的示例方法的流 程圖。示例方法可使用例如,參考圖1A-4所描述的目標識別、分析和跟蹤系統(tǒng)10的捕捉 設備20和/或計算環(huán)境12來實現(xiàn)。在一示例實施例中,方法可采取可由例如參考圖1A-4 所描述的目標識別、分析和跟蹤系統(tǒng)10的捕捉設備20和/或計算環(huán)境12執(zhí)行的程序代碼 (即指令)的形式。在805,目標識別、分析和跟蹤系統(tǒng)可在3-D虛擬世界和/或場景中選擇第一虛擬 對象。在一個實施例中,用戶可選擇第一虛擬對象。在另一實施例中,可由諸如視頻游戲、 操作系統(tǒng)、姿勢庫等應用程序選擇第一虛擬對象。例如,在計算虛擬世界上運行的視頻游戲 應用可選擇與正被用戶持握的網球拍相對應的虛擬對象作為第一虛擬對象。在810,目標識別、分析和跟蹤系統(tǒng)可將第一光標放在第一虛擬對象上。被放在第一虛擬對象上的第一光標可以是一形狀、色彩、文本串等,并且可指示第一虛擬對象在3-D 虛擬世界中的方位。在指示第一虛擬對象在3-D虛擬世界中的方位時,第一光標可在大小、 位置、形狀、色彩、文本等上進行改變。例如,當用戶所持握的網球拍被揮動時,與網球拍相 關聯(lián)的光標可在大小上被減小以指示球拍可在3-D虛擬世界中進一步遠離用戶地移動。圖9圖解了可用于向用戶傳達深度感的定向光標的示例實施例。根據(jù)一示例實施 例,諸如虛擬光標900等虛擬光標可被放在一個或多個虛擬對象上。例如,虛擬光標900可 被放在示為網球拍的虛擬對象910上。虛擬光標可在大小、形狀、定向、色彩等上改變,以指 示虛擬對象在3-D虛擬世界或場景中的方位。在一個實施例中,虛擬光標可指示虛擬對象 910和/或虛擬對象905相對于用戶的方位。例如,當用戶揮動所持握的網球拍時,與網球 拍相關聯(lián)的光標可在大小上被減小以指示網球拍可在3-D虛擬世界中進一步遠離用戶地 移動。在另一實施例中,虛擬光標指示第一虛擬對象——諸如虛擬對象910——相對于 第二虛擬對象——諸如虛擬對象905——的方位。例如,虛擬光標900和901可指向彼此, 以指示3-D虛擬世界中這兩個虛擬對象可在其處交互的位置。通過使用虛擬光標作為指 導,用戶可朝其他虛擬對象移動一個虛擬對象。當兩個虛擬對象進行接觸時,虛擬光標可在 大小、形狀、定向、色彩等上改變,以指示已發(fā)生或將發(fā)生交互?;仡檲D8,在815,目標識別、分析和跟蹤系統(tǒng)可在3-D虛擬世界和/或場景中選擇 第二虛擬對象。在一個實施例中,用戶可選擇第二虛擬對象。在另一實施例中,可由諸如視 頻游戲、操作系統(tǒng)、姿勢庫等應用程序選擇第二虛擬對象。例如,在計算環(huán)境上運行的視頻 游戲應用程序可選擇可與3-D虛擬世界中的網球相對應的虛擬對象。在820,目標識別、分析和跟蹤系統(tǒng)可將第二光標放在第二虛擬對象上。被放在第 二虛擬對象上的第二光標可以是一形狀、色彩、文本串等,并且可指示第二虛擬對象在3-D 虛擬世界中的方位。在指示第二虛擬對象在3-D虛擬世界中的方位時,第二光標可在大小、 位置、形狀、色彩、文本等方面進行改變。例如,當在3-D虛擬世界中網球逼近用戶時,與網 球相關聯(lián)的光標可在大小上增大,以指示在3-D虛擬世界中網球可更靠近用戶地移動。在825,目標識別、分析和跟蹤系統(tǒng)可向用戶通知第一和/或第二虛擬對象處于用 于交互的恰當?shù)攸c。隨著第一和/或第二虛擬對象在3-D虛擬世界里到處移動,第一和/或 第二虛擬對象可變成位于在其處可能進行用戶交互——諸如控制虛擬對象——的區(qū)域。例 如,在視頻游戲應用程序中,用戶可與可能在附近的網球交互。為了向用戶通知第一和/或 第二虛擬對象處于用于交互的適當?shù)攸c,可修改第一和/或第二光標。在修改第一和/或 第二光標時,第一和/或第二光標可在大小、位置、形狀、色彩、文本等上改變。例如,當與網 球拍相關聯(lián)的光標與網球具有相同大小和顏色時,持握網球拍的用戶可能能夠擊中虛擬網 球。圖10圖解了通過擠壓網格模型來傳達深度感的示例方法的流程圖。該示例方法 可使用例如,參考圖1A-4所描述的目標識別、分析和跟蹤系統(tǒng)10的捕捉設備20和/或計 算環(huán)境12來實現(xiàn)。在一示例實施例中,該方法可采取可由例如參考圖1A-4所描述的目標 識別、分析和跟蹤系統(tǒng)10的捕捉設備20和/或計算環(huán)境12執(zhí)行的程序代碼(即指令)的 形式。根據(jù)一示例實施例,在1005,目標識別、分析和跟蹤系統(tǒng)可接收深度圖像。例如,目標識別、分析和跟蹤系統(tǒng)可包括諸如參考圖1A-2描述的捕捉設備20等捕捉設備。捕捉設 備可捕捉或可觀察可包括一個或多個目標的場景。在一示例實施例中,捕捉設備可以是深 度相機,該深度相機可被配置成使用諸如飛行時間分析、結構化光分析、立體視覺分析等任 何合適的技術來獲得場景的深度圖像。根據(jù)一示例實施例,深度圖像可以是由圖6所例示 的深度圖像。在1010,目標識別、分析和跟蹤系統(tǒng)可標識場景中的目標。在一示例實施例中,場 景中的目標可通過定義邊界來標識。在定義邊界時,可分析深度圖像以確定具有基本上相 同的相對深度的像素。隨后可以按使得形成可定義虛擬對象的邊界的方式來編組這些像 素。例如,在分析了深度圖像之后,處于基本相關深度的數(shù)個像素可被編組在一起以指示可 能站立在一堵墻前面的人的邊界。在1015,目標識別、分析和跟蹤系統(tǒng)可選擇目標。在一個實施例中,用戶可選擇目 標。在另一實施例中,可由諸如視頻游戲、操作系統(tǒng)、姿勢庫等應用程序選擇對象。例如,在 計算虛擬世界上運行的視頻游戲應用程序可選擇對應于用戶的目標和/或對應于用戶所 持握的網球拍的目標。在1020,目標識別、分析和跟蹤系統(tǒng)可基于與所選目標相對應的像素來生成頂點。 在一示例實施例中,可在可用于創(chuàng)建模型的目標內標識頂點。在標識頂點時,可分析深度圖 像以確定具有基本上相同的相對深度的像素??梢园葱纬身旤c的方式來編組這些像素。當 找到若干頂點時,可以按定義目標的邊界的方式來使用這些頂點。例如,在分析了深度圖像 之后,處于基本相關深度的數(shù)個像素可被編組在一起,以形成可表示人的特征的頂點,這些 頂點可在隨后被用于指示人的邊界。在1025,目標識別、分析和跟蹤系統(tǒng)可使用所生成的頂點來創(chuàng)建網格模型。在一示 例實施例中,在生成頂點之后,可以按創(chuàng)建網格模型的方式來連接這些頂點。網格模型可在 隨后用于在3-D虛擬世界中創(chuàng)建表示場景中的對象的虛擬對象。例如,網格模型可用于跟 蹤用戶移動。在另一示例實施例中,可以按深度值可被存儲作為網格模型的部分的方式來 創(chuàng)建網格模型。深度值可通過例如擠壓網格模型來存儲。擠壓網格模型可通過根據(jù)與頂點 相關聯(lián)的深度值在深度場中向前或向后移動頂點來發(fā)生??梢园蠢缡沟镁W格模型可創(chuàng)建 目標的3-D表示的方式來執(zhí)行擠壓。圖11圖解了可用于向用戶傳達深度感的網格模型的示例實施例。根據(jù)一示例實 施例,模型1100可包括一個或多個數(shù)據(jù)結構,這些數(shù)據(jù)結構可將例如以上參照圖10描述的 人類目標表示為3-D模型。例如,模型1100可包括線框網格,該線框網格可具有剛性多邊 形網格分層結構、一個或多個可變形網格、或其任何組合。根據(jù)一示例實施例,網格可包括 每個多邊形邊上的彎曲度限定。如圖11中所示的,模型1100可包括多個三角形(例如,三 角形1102),這些三角形被排列成定義包括一個或多個身體部位的身體模型形狀的網格。回顧圖10,在1030,目標識別、分析和跟蹤系統(tǒng)可使用來自深度圖像的深度數(shù)據(jù) 來修改網格模型??蓹z索和/或創(chuàng)建可與所選目標相關聯(lián)的網格模型。在已檢索和/或創(chuàng) 建網格模型之后,可向網格模型應用著色方案——諸如以上所描述的著色方案中的一個。 在另一示例實施例中,可將諸如陰影、高光等照明效果應用于虛擬對象和/或網格模型。在另一示例實施例中,可從RGB相機接收RGB圖像并且可將其應用于網格模型。在 向網格模型應用RGB圖像之后,可根據(jù)著色方案——諸如以上所描述的著色方案——修改
16RGB圖像。例如,可與場景中的網球拍相對應的所選虛擬對象可用網球拍的RGB圖像來著 色,并可使用用于指示球拍與用戶之間的距離的著色方案來修改。使用著色方案對RGB圖 像進行修改可通過混合若干圖像、使RGB圖像更加透明、向RGB圖像應用淡色等來進行。圖12圖解了通過將場景中的所選目標與其他目標對象隔離并基于所選目標擠壓 網格模型來傳達深度感的示例方法的流程圖。示例方法可使用例如,參考圖1A-4所描述的 目標識別、分析和跟蹤系統(tǒng)10的捕捉設備20和/或計算環(huán)境12來實現(xiàn)。在一示例實施例 中,該方法可采取可由例如參考圖1A-4所描述的目標識別、分析和跟蹤系統(tǒng)10的捕捉設備 20和/或計算環(huán)境12執(zhí)行的程序代碼(即指令)的形式。在1205,目標識別、分析和跟蹤系統(tǒng)可選擇場景中的目標。在一個實施例中,用戶 可選擇目標。在另一實施例中,可由諸如視頻游戲、操作系統(tǒng)、姿勢庫等應用程序選擇目標。 例如,在計算虛擬世界上運行的視頻游戲應用程序可選擇對應于用戶的目標。在1210,目標識別、分析和跟蹤系統(tǒng)可確定所選目標的邊界。在一示例實施例中, 目標識別、分析和跟蹤系統(tǒng)可通過定義所選目標的邊界來在深度圖像中標識所選目標。例 如,可分析深度圖像以確定具有基本上相同的相對深度的像素??梢园词沟眯纬煽杀贿M一 步用于定義深度圖像內的所選目標的邊界的方式來編組這些像素。例如,在分析了深度圖 像之后,處于基本相關深度的數(shù)個像素可被編組在一起以指示可能站立在一堵墻前面的人 的邊界。在1215,目標識別、分析和跟蹤系統(tǒng)可基于與所選目標相對應的邊界來生成頂點。 在一示例實施例中,可使用邊界內的點來創(chuàng)建模型。例如,可分析邊界內的深度圖像像素以 確定具有基本上相同的相對深度的像素??梢园瓷梢粋€頂點或多個頂點的方式來編組這 些像素。在1220,目標識別、分析和跟蹤系統(tǒng)可使用所生成的頂點來創(chuàng)建網格模型。在一 示例實施例中,在生成頂點之后,可以按創(chuàng)建網格模型一諸如圖11中所例示的網格模 型——的方式來連接這些頂點。網格模型可在隨后用于在3-D虛擬世界中創(chuàng)建表示場景中 的對象的虛擬對象。例如,網格模型可用于跟蹤用戶移動。在另一示例實施例中,可以按深 度值可被存儲作為網格模型的部分的方式來創(chuàng)建網格模型。深度值可通過例如擠壓網格模 型來存儲。擠壓網格模型可通過根據(jù)與頂點相關聯(lián)的深度值在深度場中向前或向后移動頂 點來發(fā)生??梢园词沟镁W格模型可創(chuàng)建目標的3-D表示的方式來執(zhí)行擠壓。在1225,目標識別、分析和跟蹤系統(tǒng)可使用來自深度圖像的深度數(shù)據(jù)來修改網格 模型。在一示例實施例中,深度值可被用來通過向前或向后移動頂點來擠壓網格模型。在另 一示例實施例中,可向網格模型應用著色方案——諸如以上所描述的著色方案中的一個。 在另一示例實施例中,可將諸如陰影、高光等照明效果應用于虛擬對象和/或網格模型。在另一示例實施例中,可從RGB相機接收RGB圖像并且可將其應用于網格模型。在 向網格模型應用RGB圖像之后,隨后可根據(jù)著色方案——諸如以上所描述的著色方案—— 修改RGB圖像。例如,網格模型可與場景中的網球拍相對應,并且可根據(jù)網球拍的RGB圖像 來著色,并根據(jù)指示3-D虛擬世界或場景中球拍與用戶之間的距離的著色方案來修改。使 用著色方案對RGB圖像進行修改可通過混合若干圖像、使RGB圖像更加透明、向RGB圖像應 用淡色等來進行。
權利要求
1.一種用于傳達視覺深度感的方法,所述方法包括 接收場景的深度圖像;確定所述場景中的一個或多個目標的深度值;以及根據(jù)可視化方案來渲染所述場景中的所述一個或多個目標的視覺描繪,所述可視化方 案使用為所述一個或多個目標確定的所述深度值。
2.如權利要求1所述的方法,其特征在于,還包括對具有相同的相對深度的深度圖像 像素進行編組,以定義邊界像素。
3.如權利要求2所述的方法,其特征在于,還包括分析所述邊界像素以標識場景中的 所述一個或多個目標。
4.如權利要求1所述的方法,其特征在于,所述可視化方案包括表示所述一個或多個 目標與用戶之間的距離的著色方案。
5.如權利要求1所述的方法,其特征在于,渲染所述一個或多個目標的所述視覺描繪 還包括為所述一個或多個目標中的至少一個生成虛擬模型;以及根據(jù)著色方案對所述虛擬模型進行著色,所述著色方案表示所述一個或多個目標與用 戶之間的距離。
6.如權利要求1所述的方法,其特征在于,還包括 接收所述場景中的所述一個或多個目標的RGB圖像;以及 將所述RGB圖像應用于所述場景中的所述一個或多個目標。
7.如權利要求6所述的方法,其特征在于,所述渲染場景中的一個或多個目標的視覺 描繪包括使用表示所述一個或多個目標與用戶之間的距離的著色方案來修改所述RGB圖像。
8.如權利要求1所述的方法,其特征在于,還包括從所述場景中的所述一個或多個目標中選擇第一目標和第二目標; 為所述第一目標生成第一光標; 為所述第二目標生成第二光標;以及 根據(jù)所述視覺化方案渲染所述第一光標和所述第二光標。
9.一種用于傳達深度感的系統(tǒng),所述系統(tǒng)包括處理器,所述處理器用于執(zhí)行計算機可執(zhí)行指令,所述計算機可執(zhí)行指令包括用于以 下操作的指令接收場景的深度圖像; 標識所述場景內的目標;基于所述深度圖像生成與所述目標相對應的頂點;以及 使用所述頂點生成用于表示所述目標的網格模型。
10.如權利要求9所述的系統(tǒng),其特征在于,所述用于生成頂點的計算機可執(zhí)行指令包括對所述深度圖像中具有相同的相對深度的像素進行編組以創(chuàng)建邊界像素; 根據(jù)所述邊界像素定義所述網格模型的所述頂點。
11.如權利要求9所述的系統(tǒng),其特征在于,所述用于使用頂點生成網格模型的計算機可執(zhí)行指令包括使用向量來連接所述頂點。
12.如權利要求9所述的系統(tǒng),其特征在于,所述計算機可執(zhí)行指令還包括使用來自所 述深度圖像的深度數(shù)據(jù)來修改所述網格模型。
13.如權利要求9所述的系統(tǒng),其特征在于,所述計算機可執(zhí)行指令還包括從所述深度圖像確定所述目標的深度數(shù)據(jù);以及通過基于所述深度數(shù)據(jù)移動所述頂點來擠壓所述網格模型。
14.如權利要求9所述的系統(tǒng),其特征在于,所述計算機可執(zhí)行指令還包括根據(jù)可視化 方案渲染所述網格模型,所述可視化方案使用為所述目標確定的深度值。
15.—種其上存儲有計算機可執(zhí)行指令的計算機可讀存儲介質,所述計算機可執(zhí)行指 令用于傳達三維虛擬世界中的深度感,所述計算機可執(zhí)行指令包括用于以下操作的指令標識場景的深度圖像內的目標;生成與在所述場景內標識的所述目標相對應的頂點;以及根據(jù)可視化方案渲染所述目標的視覺描繪,所述可視化方案使用所述頂點。
16.如權利要求15所述的計算機可讀存儲介質,其特征在于,用于渲染所述目標的視 覺描繪的所述計算機可執(zhí)行指令包括使用所述頂點生成網格模型。
17.如權利要求15所述的計算機可讀存儲介質,其特征在于,所述可視化方案包括表 示所述目標與用戶之間的距離的著色方案。
18.如權利要求15所述的計算機可讀存儲介質,其特征在于,所述計算機可執(zhí)行指令 還包括接收所述目標的RGB圖像;以及將所述RGB圖像應用于所述目標。
19.如權利要求15所述的計算機可讀存儲介質,其特征在于,生成所述頂點包括對所 述深度圖像中具有相同的相對深度的像素進行編組。
20.如權利要求15所述的計算機可讀存儲介質,其特征在于,所述計算機可執(zhí)行指令 還包括為所述目標生成定向光標,所述定向光標傳達所述目標的定向;以及根據(jù)所述視覺方案渲染所述定向光標。
全文摘要
可由設備接收、觀測或捕捉諸如場景的深度圖像等圖像。隨后可分析該圖像以標識場景內的一個或多個目標。當標識了目標時,可生成頂點。隨后可通過繪制可連接這些頂點的線條來創(chuàng)建網格模型。另外,也可為每個頂點計算深度值。這些頂點的深度值可在隨后用于擠壓網格模型,以使得網格模型可表示三維虛擬世界中的目標。還可將著色方案、紋理、照明效果等應用于網格模型以傳達虛擬對象在虛擬世界中可能具有的深度。
文檔編號G06T17/00GK102129709SQ20101055409
公開日2011年7月20日 申請日期2010年11月11日 優(yōu)先權日2009年11月12日
發(fā)明者G·N·斯努克, K·蓋斯那, R·馬爾科維奇, S·G·拉塔 申請人:微軟公司