專利名稱:交互式內(nèi)容創(chuàng)建的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及內(nèi)容創(chuàng)建,尤其是交互式內(nèi)容創(chuàng)建。
背景技術(shù):
對于大多數(shù)人來說,音樂主要是消費藝術(shù)形式。除了具有與音樂創(chuàng)建相關(guān)聯(lián)的天才、創(chuàng)造力、教育和手段的選擇的極少數(shù)人,音樂的創(chuàng)建真正是禁止入內(nèi)(off limits)的。這使音樂成為最不容易接近的藝術(shù)形式之一。為了使音樂創(chuàng)建更為廣泛和/或更容易實現(xiàn),已經(jīng)開發(fā)了允許用戶在不演奏樂器的情況下制作音樂的軟件。作為替代,用戶將操作計算機的用戶界面以生成各種樂器的聲 音。然而,某些以前的藝術(shù)音樂創(chuàng)建軟件是難于使用的。在某些情形中,即時一個人知道如何使用軟件,創(chuàng)建聽起來愉悅的音樂也是困難的。
發(fā)明內(nèi)容
音頻/視覺系統(tǒng)(例如,諸如娛樂控制臺)使用戶能夠使用移動來創(chuàng)建音樂,而不需要如何作曲的任何知識。系統(tǒng)播放低音音軌,諸如預先錄制的歌曲或來自一個或多個樂器的音符的一部分。系統(tǒng)使用深度相機或其他傳感器來自動地檢測一個用戶或多個用戶的移動,并且通過更改基于所檢測的移動而播放的音樂來創(chuàng)建新音樂。例如,對用戶位置的檢測可導致特定的低音音軌開始播放,并且對移入碰撞體或位于碰撞體內(nèi)的用戶(或用戶身體的一部分)的檢測可以觸發(fā)附加音頻樣本以及各種音頻效果的加或減。此處描述的技術(shù)還可被應用于其他形式的內(nèi)容。一個實施例包括播放音頻內(nèi)容,自動地跟蹤用戶的移動包括自動地檢測用戶的預定義動作,以及自動地改變作為響應而播放的音頻內(nèi)容。在一個示例實現(xiàn)中,響應于進入第一碰撞體的用戶的部分,自動地調(diào)整正被播放的音頻內(nèi)容。在其他示例中,用戶的預定義動作包括一個或多個姿勢、對象的質(zhì)心(或其他部分)的動作、肢體的移動等?!獋€實施例包括創(chuàng)建音頻內(nèi)容的裝置,該裝置包括深度相機,顯示接口,音頻接口以及與深度相機、顯示接口和音頻接口通信的處理器。處理器播放第一低音音軌。處理器被編程為基于來自深度相機的數(shù)據(jù),自動地檢測來自多個預定義移動的用戶的第一預定義移動。每個預定義移動與不同的音頻支干相關(guān)聯(lián)。處理器響應于檢測到用戶執(zhí)行了第一預定義移動,將第一音頻支干添加到低音音軌(并同步到低音音軌)。第一音頻支干與第一預定義移動相對應。一個實施例包括其上存儲有處理器可讀代碼的一個或多個處理器可讀存儲設(shè)備。處理器可讀代碼是用于對一個或多個處理器編程以執(zhí)行一種方法,該方法包括定義用于多個移動區(qū)的一個或多個低音音軌,為每個區(qū)標識一碰撞體的音頻支干集,以及基于用于多個移動區(qū)和所標識的音頻支干的已定義的一個或多個低音音軌來創(chuàng)建代碼。所創(chuàng)建的代碼能夠依賴于用戶被定位在哪個區(qū)內(nèi)來配置計算設(shè)備播放一個或多個低音音軌。所創(chuàng)建的代碼還能夠配置計算設(shè)備基于用戶與對應的碰撞體的相交或交互來對音頻支干進行加或減。
提供本發(fā)明內(nèi)容以便以簡化形式介紹在以下具體實施方式
中進一步描述的一些概念。本發(fā)明內(nèi)容并非旨在標識所要求保護的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護的主題的范圍。此外,所要求保護的主題不限于解決在本發(fā)明的任一部分中提及的任何或所有缺點的實現(xiàn)。
圖I示出娛樂系統(tǒng)的示例實施例。圖2是描繪娛樂系統(tǒng)的各部分的框圖。圖3描繪了被跟蹤的骨架的示例。圖4示出計算系統(tǒng)的示例實施例。圖5示出計算系統(tǒng)的另一示例實施例。 圖6是用于實現(xiàn)此處所描述的技術(shù)的各個組件的框圖。圖7是創(chuàng)作系統(tǒng)上的軟件組件的框圖。圖8是娛樂系統(tǒng)上的軟件組件的框圖。圖9圖示地描繪了示例碰撞體。圖10描繪了創(chuàng)作系統(tǒng)的用戶界面。圖11是描述用于創(chuàng)作交互式內(nèi)容生成體驗的過程的一個實施例的流程圖。圖12是描述用于執(zhí)行交互式內(nèi)容生成體驗的過程的一個實施例的流程圖。
具體實施例方式此處描述了使用戶能夠使用移動來創(chuàng)建音樂(或其他內(nèi)容)的音頻/視覺系統(tǒng)。例如,音頻/視覺系統(tǒng)可以播放音頻(或其它類型的)內(nèi)容,并且在播放音頻(或其它類型的)內(nèi)容時自動地跟蹤音頻/視覺系統(tǒng)附近的一個用戶(或多個用戶)的移動。系統(tǒng)使用一個或多個傳感器(例如,深度相機和/或視覺相機)來自動地檢測用戶的一部分進入碰撞體、在碰撞體內(nèi)正在執(zhí)行預定義的移動、或者正在執(zhí)行另一個預定義的移動。響應于檢測到用戶進入碰撞區(qū)、在碰撞體內(nèi)正在執(zhí)行預定義的移動、和/或正在執(zhí)行(一組多個預定義移動中的)另一個預定義的移動,隨后自動地改變正被播放的音頻(或其它類型的)內(nèi)容。對正被播放的內(nèi)容的改變創(chuàng)建新的內(nèi)容。在一個示例實現(xiàn)中,音頻/視覺系統(tǒng)的附近被劃分為區(qū)。每個區(qū)可以與一低音音軌相關(guān)聯(lián)。系統(tǒng)將自動地檢測用戶被定位在哪個區(qū)中,并且作為其響應來播放相關(guān)聯(lián)的音軌。基于檢測到用戶進入碰撞體或在碰撞體內(nèi)執(zhí)行預定義的移動,可對各種音頻支干和音頻效果進行加和/或減。在某些實施例中,基于檢測到用戶進入碰撞體和/或在碰撞體內(nèi)執(zhí)行預定義的移動,更改與區(qū)相關(guān)聯(lián)的基底視頻(或其他視覺內(nèi)容)。在其他實施例中,系統(tǒng)可使用預定義姿勢(即,保持一只或兩只手臂在頭上以啟動音軌)、或使用像跟蹤質(zhì)心或基于其作出音樂的決定的更抽象的東西,而不是檢測用戶進入碰撞體。姿勢還可包括使聲音失真以及創(chuàng)建具體的音符。其他姿勢可包括觸發(fā)循環(huán)(例如,一個姿勢導致最后兩個塊重復)。另一個實現(xiàn)允許用戶將移動更多地作為樂器。例如,系統(tǒng)可將手臂移動與鋼琴發(fā)聲的C音階相關(guān)聯(lián),因此,當用戶將手臂從左向右劃過時,他們生在生成鋼琴發(fā)聲中的C音階。用戶可在不同的移動中移動手臂以生成更復雜的旋律。在另一個示例中,姿勢或移動可用于創(chuàng)建打擊樂器的發(fā)聲,諸如跺腳來創(chuàng)建低音鼓的節(jié)奏、用于腳踏的在空中的輕擊等。這種類型的樂器控制可在其自身或位于此處描述的音頻支干解決方案之上來使用。系統(tǒng)還可包括音樂可視化器,其中用戶的移動和/或?qū)σ魳纷陨淼姆治龆咄瑫r生成視覺。提供交互式、基于移動的音樂(或其他內(nèi)容)生成體驗的音頻/視覺系統(tǒng)可以是臺式計算機、便攜式計算機、娛樂系統(tǒng)、機頂盒、或其他計算設(shè)備。出于示例目的,圖I描繪了娛樂系統(tǒng)10的一個實施例,該娛樂系統(tǒng)10可用于基于此處描述的技術(shù)來生成音樂或其他內(nèi)容。娛樂系統(tǒng)10包括可以是計算機、游戲系統(tǒng)或控制臺等的計算系統(tǒng)12。根據(jù)一個示例實施例,計算系統(tǒng)12可包括硬件組件和/或軟件組件,以使計算系統(tǒng)12可用于執(zhí)行例如游戲應用、非游戲應用等的應用。在一個實施例中,計算系統(tǒng)12可包括可執(zhí)行存儲在處理器可讀存儲設(shè)備上的用于執(zhí)行此處描述的過程的指令的處理器,如標準化處理器、專用處理器、微處理器等。娛樂系統(tǒng)10還可包括捕捉設(shè)備20,該捕捉設(shè)備320可以是,例如可 在視覺上監(jiān)視一個或多個用戶從而可以捕捉、分析并跟蹤一個或多個用戶所執(zhí)行的姿勢和/或移動,來執(zhí)行應用內(nèi)的一個或多個控制或動作和/或動畫化化身或屏上其他角色的相機。另外,如以下所描述的,捕捉設(shè)備20可與計算系統(tǒng)12 —同使用以自動地確定用戶是否位于區(qū)Z0、Zl、Z2、Z3或Z4之一,從而定制與用戶的交互。根據(jù)一個實施例,計算系統(tǒng)12可連接到可向用戶提供電視、電影、視頻、游戲或應用視覺和/或音頻的音頻/視覺設(shè)備16,諸如電視機、監(jiān)視器、高清電視機(HDTV)等。例如,計算系統(tǒng)12可包括例如圖形卡的視頻適配器和/或例如聲卡的音頻適配器,這些適配器可提供與游戲應用、非游戲應用等相關(guān)聯(lián)的音頻/視覺信號。音頻/視覺輸出設(shè)備16可從計算系統(tǒng)12接收音頻/視覺信號,然后可向用戶輸出電視、電影、視頻、游戲或應用的視覺和/或音頻。根據(jù)一個實施例,音頻/視覺輸出設(shè)備16可通過例如,S-視頻電纜、同軸電纜、HDMI電纜、DVI電纜、VGA電纜、分量視頻電纜等連接到計算系統(tǒng)12。出于本文的目的,術(shù)語“音頻/視覺”指僅音頻、僅視覺、或音頻和視覺的組合。圖2示出捕捉設(shè)備20的一示例實施例和計算系統(tǒng)12。根據(jù)一示例實施例,捕捉設(shè)備20可被配置成經(jīng)由任何合適的技術(shù),包括例如飛行時間、結(jié)構(gòu)化光、立體圖像等來捕捉包括深度圖像的帶有深度信息的視頻,該深度信息可包括深度值。根據(jù)一實施例,捕捉設(shè)備20可將深度信息組織為“Z層”或者可與從深度相機沿其視線延伸的Z軸垂直的層。如圖2所示,捕捉設(shè)備20可包括相機組件23。根據(jù)一示例實施例,相機組件23可以是可捕捉場景的深度圖像的深度相機。深度圖像可包括所捕捉的場景的二維(2-D)像素區(qū)域,其中2-D像素區(qū)域中的每個像素都可以表示深度值,比如所捕捉的場景中的物體與相機相距的例如以厘米、毫米等為單位的距離。如圖2所示,根據(jù)一示例實施例,圖像相機組件23可包括可用于捕捉場景的深度圖像的紅外(IR)光組件25、三維(3-D)相機26、和RGB (視覺圖像)相機28。例如,在飛行時間分析中,捕捉設(shè)備20的IR光組件25可將紅外光發(fā)射到場景上,并且隨后可使用傳感器(未不出)、用例如3-D相機26和/或RGB相機28來檢測從場景中的一個或多個目標和物體的表面反向散射的光。在一些實施例中,可使用脈沖紅外光,從而可測量出射光脈沖和相應入射光脈沖之間的時間差,并且將其用于確定從捕捉設(shè)備20到場景中的目標或物體上的特定位置的物理距離。另外,在其他示例實施例中,可將出射光波的相位與入射光波的相位作比較來確定相移。然后可以使用該相移來確定從捕捉設(shè)備到目標或物體上的特定位置的物理距離。根據(jù)另一示例實施例,飛行時間分析可用于通過經(jīng)由包括例如快門式光脈沖成像在內(nèi)的各種技術(shù)來隨時間分析反射光束的強度來間接地確定從捕捉設(shè)備20到目標或物體上的特定位置的物理距離。在另一示例實施例中,捕捉設(shè)備20可使用結(jié)構(gòu)化光來捕捉深度信息。在這樣的分析中,圖案化光(即,被顯示為諸如網(wǎng)格圖案、條紋圖案、或不同圖案之類的已知圖案的光)可經(jīng)由例如IR光組件24被投影到場景上。在落到場景中的一個或多個目標或物體的表面時,作為響應,圖案可變形。圖案的這種變形可由例如3-D相機26和/或RGB相機28 (和/或其他傳感器)來捕捉,然后可被分析以確定從捕捉設(shè)備到目標或物體上的特定位置的物理距離。在一些實施方式中,IR光組件25與相機25和26分開,使得可以使用三角測量來確定與相機25和26相距的距離。在一些實現(xiàn)中,捕捉設(shè)備20將包括感測IR光的專用IR 傳感器或具有IR濾波器的傳感器。根據(jù)另一實施例,捕捉設(shè)備20可包括兩個或更多物理上分開的相機,這些相機可從不同角度查看場景以獲得視覺立體數(shù)據(jù),該視覺立體數(shù)據(jù)可被解析以生成深度信息。也可使用其他類型的深度圖像傳感器來創(chuàng)建深度圖像。捕捉設(shè)備20還可包括話筒30。話筒30可包括可接收聲音并將其轉(zhuǎn)換成電信號的變換器或傳感器。根據(jù)一個實施例,話筒30可用于減少目標識別、分析和跟蹤系統(tǒng)10中的捕捉設(shè)備20與計算系統(tǒng)12之間的反饋。另外,話筒30可用于接收也可被提供給計算系統(tǒng)12的音頻信號。在一示例實施例中,捕捉設(shè)備20還可包括可與圖像相機組件22進行通信的處理器32。處理器32可包括可執(zhí)行指令的標準處理器、專用處理器、微處理器等,這些指令包括用于接收深度圖像、生成適當?shù)臄?shù)據(jù)格式(例如,幀)并將該數(shù)據(jù)傳送到計算系統(tǒng)12的指令。捕捉設(shè)備20還可包括存儲器組件34,存儲器組件34可存儲由處理器32執(zhí)行的指令、3-D相機和/或RGB相機所捕捉的圖像或圖像的幀、或任何其他合適的信息、圖像等等。根據(jù)一示例實施例,存儲器組件34可包括隨機存取存儲器(RAM)、只讀存儲器(ROM)、高速緩存、閃存、硬盤、或任何其他合適的存儲組件。如圖2所示,在一個實施例中,存儲器組件34可以是與圖像捕捉組件22和處理器32進行通信的單獨的組件。根據(jù)另一實施例,存儲器組件34可被集成到處理器32和/或圖像捕捉組件22中。如圖2所示,捕捉設(shè)備20可經(jīng)由通信鏈路36與計算系統(tǒng)12進行通信。通信鏈路36可以是包括例如USB連接、火線連接、以太網(wǎng)電纜連接等的有線連接和/或諸如無線802. Ilb,802. llg、802. Ila或802. Iln連接等的無線連接。根據(jù)一個實施例,計算系統(tǒng)12可經(jīng)由通信鏈路36向捕捉設(shè)備20提供可用于確定何時捕捉例如場景的時鐘。另外,捕捉設(shè)備20將由例如3-D相機26和/或RGB相機28捕捉的深度信息和視覺(例如,RGB)圖像經(jīng)由通信鏈路36提供給計算系統(tǒng)12。在一個實施例中,深度圖像和視覺圖像以30幀每秒的速率傳送。計算系統(tǒng)12然后可使用該模型、深度信息和捕捉的圖像來例如控制諸如內(nèi)容生成系統(tǒng)等應用。
計算系統(tǒng)12包括深度圖像處理和骨架跟蹤模塊50,該模塊使用深度圖像來跟蹤可由深度相機檢測的一個或多個人。深度圖像處理和骨架跟蹤模塊50是向應用52提供跟蹤信息的軟件,該應用可以是視頻游戲、生產(chǎn)力應用、通信應用或其他軟件應用等。還可將音頻數(shù)據(jù)和視覺圖像數(shù)據(jù)提供給應用52以及深度圖像處理和骨架跟蹤模塊50。應用52將跟蹤信息、音頻數(shù)據(jù)和視覺圖像數(shù)據(jù)提供給識別器引擎54。在另一實施例中,識別器引擎54從深度圖像處理和骨架跟蹤模塊50直接接收跟蹤信息,并從捕捉設(shè)備20直接接收音頻數(shù)據(jù)和視覺圖像數(shù)據(jù)。識別器引擎54與過濾器60、62、64.....66的集合相關(guān)聯(lián),每個過濾器包括關(guān)于可
由捕捉設(shè)備20檢測的任何人或?qū)ο髨?zhí)行的姿勢、動作或狀況的信息。例如,過濾器60、62、
64.....66可處理來自捕捉設(shè)備20的數(shù)據(jù),以標識一個用戶或一組用戶何時執(zhí)行了一個或
多個姿勢或其他動作。這些姿勢可與應用52的各種控制、對象或狀況相關(guān)聯(lián)。由此,計算 環(huán)境12可借助過濾器使用識別器引擎54來解釋移動。圖2的捕捉設(shè)備20向計算系統(tǒng)12提供RGB圖像(或其他格式或色彩空間的視覺圖像)和深度圖像。深度圖像可以是多個觀測到的像素,其中每個觀測到的像素具有觀測到的深度值。例如,深度圖像可包括所捕捉的場景的二維(2-D)像素區(qū)域,其中該2-D像素區(qū)域中的每個像素都可具有深度值,諸如所捕捉的場景中的物體與捕捉設(shè)備相距的距離。系統(tǒng)將使用RGB圖像和深度圖像來跟蹤用戶的移動。例如,系統(tǒng)將使用深度圖像來跟蹤人的骨架??梢允褂迷S多方法以通過使用深度圖像來跟蹤人的骨架。使用深度圖像來跟蹤骨架的一個合適的示例在Craig等人2009年10月21日提交的美國專利申請12/603, 437 “Pose Tracking Pipeline (姿態(tài)跟蹤流水線)”(以下稱為’ 437申請)中提供,該申請的全部內(nèi)容通過引用結(jié)合于此?!?37申請的過程包括獲得深度圖像;對數(shù)據(jù)進行降采樣;移除和/或平滑化高方差噪聲數(shù)據(jù);標識并移除背景;以及將前景像素中的每個分配給身體的不同部位。基于這些步驟,系統(tǒng)將使一模型擬合到該數(shù)據(jù)并創(chuàng)建骨架。該骨架將包括一組關(guān)節(jié)和這些關(guān)節(jié)之間的連接。圖3示出了具有15個關(guān)節(jié)(j0、jl、j2、j3、j4、j5、j6、j7、j8、j9、jlO、jll、jl2、jl3和jl4)的示例骨架。這些關(guān)節(jié)中的每一個表示骨架中該骨架可以在X、I、z方向上樞轉(zhuǎn)的位置或身體上關(guān)注的位置。也可使用用于跟蹤的其他方法。在下列四個美國專利申請中還公開了合適的跟蹤技術(shù),所述專利的全部內(nèi)容都通過引用并入本文于2009年5月29日提交的美國專利申請12/475,308 “Devicefor Identifying and Tracking Multiple Humans Over Time (用于隨時間標識和跟蹤多個人類的設(shè)備)”;于2010年I月29日提交的美國專利申請12/696,282 “Visual BasedIdentity Tracking(基于視覺的身份跟蹤)”;于2009年12月18日提交的美國專利申請12/641,788 “Motion Detection Using Depth Images (使用深度圖像的運動檢測)”;以及于2009年10月7日提交的美國專利申請12/575,388 “Human Tracking System(人類跟蹤系統(tǒng))”。(圖2所示的計算系統(tǒng)12的)識別器引擎54包括多個過濾器60、62、64、……、66來確定姿勢或動作。過濾器包括定義姿勢、動作或狀況以及該姿勢、動作或狀況的參數(shù)或元數(shù)據(jù)的信息。例如,將手臂上下移動可被實現(xiàn)為包括表示垂直方向上用戶手臂之一的移動的信息的姿勢,因為該移動將被深度相機捕捉。隨后可為該姿勢設(shè)定參數(shù)。當姿勢是手臂的上下移動時,參數(shù)可以是該手必須達到的閾值速度、該手臂必須行進的距離(絕對的或相對于用戶的整體大小)、以及識別器引擎對發(fā)生了該姿勢的置信評級。用于姿勢的這些參數(shù)可隨時間在各應用之間、在單個應用的各個上下文之間、或在一個應用的一個上下文內(nèi)變化。過濾器可以是模塊化的或是可互換的。在一個實施例中,過濾器具有多個輸入(這些輸入中的每一個具有一類型)以及多個輸出(這些輸出中的每一個具有一類型)。第一過濾器可用具有與第一過濾器相同數(shù)量和類型的輸入和輸出的第二過濾器來替換而不更改識別器引擎架構(gòu)的任何其他方面。例如,可能具有用于驅(qū)動的第一過濾器,該第一過濾器將骨架數(shù)據(jù)作為輸入并輸出與該過濾器相關(guān)聯(lián)的姿勢正在發(fā)生的置信度和轉(zhuǎn)向角。在希望用第二驅(qū)動過濾器來替換該第一驅(qū)動過濾器的情況下(這可能是因為第二驅(qū)動過濾器更高效且需要更少的處理資源),可以通過簡單地用第二過濾器替換第一過濾器來這樣做,只要第二過濾器具有同樣的輸入和輸出——骨架數(shù)據(jù)類型的一個輸入、以及置信度類型和角度類型的兩個輸出。過濾器不需要具有參數(shù)。例如,返回用戶的高度的“用戶高度”過濾器可能不允許可被調(diào)節(jié)的任何參數(shù)。備選的“用戶高度”過濾器可具有可調(diào)節(jié)參數(shù),比如在確定用戶的高 度時是否考慮用戶的鞋、發(fā)型、頭飾以及體態(tài)。對過濾器的輸入可包括諸如關(guān)于用戶的關(guān)節(jié)位置的關(guān)節(jié)數(shù)據(jù)、在關(guān)節(jié)處相交的骨骼所形成的角度、來自場景的RGB色彩數(shù)據(jù)、以及用戶的某一方面的變化速率等內(nèi)容。來自過濾器的輸出可包括諸如正作出給定姿勢的置信度、作出姿勢運動的速度、以及作出姿勢運動的時間等內(nèi)容。識別器引擎54可以具有向過濾器提供功能的基本識別器引擎。在一實施例中,識別器引擎54實現(xiàn)的功能包括跟蹤所識別的姿勢和其他輸入的隨時間輸入(input-over-time)存檔、隱馬爾可夫模型實現(xiàn)(其中模型化系統(tǒng)被假定為馬爾可夫過程-其中當前狀態(tài)封裝了確定將來狀態(tài)所需的任何過去狀態(tài)信息,因此不必為此目的而維護任何其他過去狀態(tài)信息的過程-該過程具有未知參數(shù),并且隱藏參數(shù)是從可觀察數(shù)據(jù)來確定的)、以及求解姿勢識別的特定實例所需的其他功能。過濾器60、62、64、……、66在識別器引擎54之上加載并實現(xiàn),并且可利用識別器引擎54提供給所有過濾器60、62、64、……、66的服務。在一個實施例中,識別器引擎54接收數(shù)據(jù)來確定該數(shù)據(jù)是否滿足任何過濾器60、62、64、……、66的要求。由于這些所提供的諸如解析輸入等服務是由識別器引擎54 —次性提供而非由每一過濾器60、62、64、……、66提供的,因此這一服務在一段時間內(nèi)只需被處理一次而不是在該時間段對每一過濾器處理一次,因此減少了確定姿勢所需的處理。應用52可使用識別器引擎54所提供的過濾器60、62、64、……、66,或者它可提供其自己的、插入到識別器引擎54中的過濾器。在一個實施例中,所有過濾器具有啟用該插入特性的通用接口。此外,所有過濾器可利用參數(shù),因此可使用以下單個姿勢工具來診斷并調(diào)節(jié)整個過濾器系統(tǒng)。關(guān)于識別器引擎54的更多信息可在2009年4月13日提交的美國專利申請12/422,661 “Gesture Recognizer System Architecture (姿勢識別器系統(tǒng)體系結(jié)構(gòu))”中找到,該申請的全部內(nèi)容通過引用結(jié)合于此。關(guān)于識別姿勢的更多信息可在2009年2月23日提交的美國專利申請12/391,150 “Standard Gestures (標準姿勢)”;以及2009年5月29日提交的美國專利申請12/474,655“Gesture Tool (姿勢工具)”中找到,這些申請的全部內(nèi)容都通過引用結(jié)合于此。圖4示出了計算系統(tǒng)的一示例實施例,該計算系統(tǒng)可用于實現(xiàn)圖I和2所示的用于跟蹤動作和/或動畫化(或以其他方式更新)應用所顯示的化身或其他屏幕上對象的計算系統(tǒng)12。諸如上面參考圖1-2所描述的諸如計算系統(tǒng)12等計算系統(tǒng)可以是諸如游戲控制臺等的多媒體控制臺100。如圖4所示,多媒體控制臺100具有含有一級高速緩存101、二級高速緩存102和閃速ROM(只讀存儲器)104的中央處理單元(CPU) 106。一級高速緩存102和二級高速緩存104臨時存儲數(shù)據(jù),并因此減少存儲器訪問周期數(shù),由此改進處理速度和吞吐量。CPU 101可以設(shè)置成具有一個以上的內(nèi)核,以及由此的附加的一級和二級高速緩存102和104。閃速ROM 106可存儲在多媒體控制臺100通電時在引導過程初始化階段加載的可執(zhí)行代碼。圖形處理單元(GPU) 108和視頻編碼器/視頻編解碼器(編碼器/解碼器)114形成用于高速和高分辨率圖形處理的視頻處理流水線。經(jīng)由總線從圖形處理單元108向視頻 編碼器/視頻編解碼器114運送數(shù)據(jù)。視頻處理流水線向A/V(音頻/視頻)端口 140輸出數(shù)據(jù),用于傳輸至電視或其他顯示器。存儲器控制器110連接到GPU 108以方便處理器訪問各種類型的存儲器112,諸如但不局限于RAM(隨機存取存儲器)。多媒體控制臺100包括較佳地在模塊118上實現(xiàn)的I/O控制器120、系統(tǒng)管理控制器122、音頻處理單元123、網(wǎng)絡(luò)接口控制器124、第一 USB主控制器126、第二 USB控制器128和前面板I/O子部件130。USB控制器126和128用作外圍控制器142⑴-142 (2)、無線適配器148、和外置存儲器設(shè)備146 (例如閃存、外置⑶/DVD ROM驅(qū)動器、可移動介質(zhì)等)的主機。網(wǎng)絡(luò)接口和/或無線適配器148提供對網(wǎng)絡(luò)(例如,因特網(wǎng)、家庭網(wǎng)絡(luò)等)的訪問并且可以是包括以太網(wǎng)卡、調(diào)制解調(diào)器、藍牙模塊、電纜調(diào)制解調(diào)器等的各種不同的有線和無線適配器組件中的任何一種。提供系統(tǒng)存儲器143來存儲在引導過程期間加載的應用數(shù)據(jù)。提供介質(zhì)驅(qū)動器144,且其可包括DVD/⑶驅(qū)動器、藍光驅(qū)動器、硬盤驅(qū)動器、或其他可移動介質(zhì)驅(qū)動器等。介質(zhì)驅(qū)動器144可位于多媒體控制臺100的內(nèi)部或外部。應用數(shù)據(jù)可經(jīng)由媒體驅(qū)動器144訪問,以由多媒體控制臺100執(zhí)行、回放等。媒體驅(qū)動器144經(jīng)由諸如串行ATA總線或其他高速連接(例如IEEE 1394)等總線連接到I/O控制器120。系統(tǒng)管理控制器122提供涉及確保多媒體控制臺100的可用性的各種服務功能。音頻處理單元123和音頻編解碼器132形成具有高保真度和立體聲處理的對應的音頻處理流水線。音頻數(shù)據(jù)經(jīng)由通信鏈路在音頻處理單元123與音頻編解碼器132之間傳輸。音頻處理流水線將數(shù)據(jù)輸出到A/V端口 140以供外部音頻用戶或具有音頻能力的設(shè)備再現(xiàn)。前面板I/O子部件130支持暴露在多媒體控制臺100的外表面上的電源按鈕150和彈出按鈕152以及任何LED(發(fā)光二極管)或其他指示器的功能。系統(tǒng)供電模塊136向多媒體控制臺100的組件供電。風扇138冷卻多媒體控制臺100內(nèi)的電路。CPU IOU GPU 108、存儲器控制器110、和多媒體控制臺100內(nèi)的各個其他組件經(jīng)由一條或多條總線互連,包括串行和并行總線、存儲器總線、外圍總線、和使用各種總線架構(gòu)中任一種的處理器或局部總線。作為示例,這些架構(gòu)可以包括外圍部件互連(PCI)總線、PCI-Express 總線等。
當多媒體控制臺100通電時,應用數(shù)據(jù)可從系統(tǒng)存儲器143加載到存儲器112和/或高速緩存102、104中并在CPU 101上執(zhí)行。應用可呈現(xiàn)在導航到多媒體控制臺100上可用的不同媒體類型時提供一致的用戶體驗的圖形用戶界面。在操作中,媒體驅(qū)動器144中包含的應用和/或其他媒體可從媒體驅(qū)動器144啟動或播放,以向多媒體控制臺100提供附加功能。多媒體控制臺100可通過將該系統(tǒng)簡單地連接到電視機或其他顯示器而作為獨立系統(tǒng)來操作。在該獨立模式中,多媒體控制臺100允許一個或多個用戶與該系統(tǒng)交互、看電影、或聽音樂。然而,隨著通過網(wǎng)絡(luò)接口 124或無線適配器148可用的寬帶連接的集成,多媒體控制臺100還可作為較大網(wǎng)絡(luò)社區(qū)中的參與者來操作。當多媒體控制臺100通電時,可以保留設(shè)定量的硬件資源以供多媒體控制臺操作系統(tǒng)作系統(tǒng)使用。這些資源可包括存儲器的保留量(諸如,16MB)、CPU和GPU周期的保留量(諸如,5% )、網(wǎng)絡(luò)帶寬的保留量(諸如,8kbs),等等。因為這些資源是在系統(tǒng)引導時間保留的,所保留的資源對于應用視角而言是不存在的。 具體而言,存儲器保留優(yōu)選地足夠大,以包含啟動內(nèi)核、并發(fā)系統(tǒng)應用程序和驅(qū)動程序。CPU保留優(yōu)選地為恒定,使得若所保留的CPU用量不被系統(tǒng)應用使用,則空閑線程將消耗任何未使用的周期。對于GPU保留,顯示由系統(tǒng)應用程序生成的輕量消息(例如,彈出窗口),所述顯示是通過使用GPU中斷來調(diào)度代碼以將彈出窗口呈現(xiàn)為覆蓋圖。覆蓋圖所需的存儲器量取決于覆蓋區(qū)域大小,并且覆蓋圖優(yōu)選地與屏幕分辨率成比例縮放。在并發(fā)系統(tǒng)應用使用完整用戶界面的情況下,優(yōu)選使用獨立于應用分辨率的分辨率。定標器可用于設(shè)置該分辨率,從而無需改變頻率并引起TV重新同步。在多媒體控制臺100引導且系統(tǒng)資源被保留之后,就執(zhí)行并發(fā)系統(tǒng)應用來提供系統(tǒng)功能。系統(tǒng)功能被封裝在上述所保留的系統(tǒng)資源中執(zhí)行的一組系統(tǒng)應用中。操作系統(tǒng)內(nèi)核標識是系統(tǒng)應用線程而非游戲應用線程的線程。系統(tǒng)應用優(yōu)選地被調(diào)度為在預定時間并以預定時間間隔在CPU 101上運行,以便為應用提供一致的系統(tǒng)資源視圖。進行調(diào)度是為了把由在控制臺上運行的游戲應用所引起的高速緩存中斷最小化。當并發(fā)系統(tǒng)應用需要音頻時,則由于時間敏感性而將音頻處理異步地調(diào)度給游戲應用。多媒體控制臺應用程序管理器(如下所述)在系統(tǒng)應用程序活動時控制游戲應用程序的音頻水平(例如,靜音、衰減)。輸入設(shè)備(例如,控制器142(1)和142(2))由游戲應用程序和系統(tǒng)應用程序共享。輸入設(shè)備不是保留資源,而是在系統(tǒng)應用和游戲應用之間切換以使其各自具有設(shè)備的焦點。應用管理器優(yōu)選地控制輸入流的切換,而無需知曉游戲應用的知識,并且驅(qū)動程序維護有關(guān)焦點切換的狀態(tài)信息。相機26、28和捕捉設(shè)備20可經(jīng)由USB控制器126或其他接口來定義控制臺100的附加輸入設(shè)備。圖5示出了計算系統(tǒng)220的另一示例實施例,該計算系統(tǒng)可用于實現(xiàn)圖1-2所示的用于跟蹤運動和/或動畫化(或以其他方式更新)應用所顯示的化身或其他屏幕上對象的計算系統(tǒng)12。計算系統(tǒng)環(huán)境220只是合適的計算系統(tǒng)的一個示例,并且不旨在對所公開的主題的使用范圍或功能提出任何限制。也不應該將計算系統(tǒng)220解釋為對示例性操作系統(tǒng)220中示出的任一組件或其組合有任何依賴性或要求。在某些實施例中,所描繪的各種計算元素可包括被配置成實例化本發(fā)明的各具體方面的電路。例如,本公開中使用的術(shù)語電路可包括被配置成通過固件或開關(guān)來執(zhí)行功能的專用硬件組件。其他示例中,術(shù)語電路可包括由實施可用于執(zhí)行功能的邏輯的軟件指令配置的通用處理單元、存儲器等。在電路包括硬件和軟件的組合的示例實施例中,實施者可以編寫體現(xiàn)邏輯的源代碼,且源代碼可以被編譯為可以由通用處理單元處理的機器可讀代碼。因為本領(lǐng)域技術(shù)人員可以明白現(xiàn)有技術(shù)已經(jīng)進化到硬件、軟件或硬件/軟件組合之間幾乎沒有差別的地步,因而選擇硬件或是軟件來實現(xiàn)具體功能是留給實現(xiàn)者的設(shè)計選擇。更具體地,本領(lǐng)域技術(shù)人員可以明白軟件進程可被變換成等價的硬件結(jié)構(gòu),而硬件結(jié)構(gòu)本身可被變換成等價的軟件進程。因此,對于硬件實現(xiàn)還是軟件實現(xiàn)的選擇是設(shè)計選擇并留給實現(xiàn)者。計算系統(tǒng)220包括計算機241,計算機241通常包括各種計算機可讀介質(zhì)。計算機可讀介質(zhì)可以是能由計算機241訪問的任何可用介質(zhì),而且包含易失性和非易失性介質(zhì)、可移動和不可移動介質(zhì)。系統(tǒng)存儲器222包括易失性和/或非易失性存儲器形式的計算機存儲介質(zhì),如只讀存儲器(ROM) 223和隨機存取存儲器(RAM) 260。基本輸入/輸出系統(tǒng)224(BIOS)包含諸如在啟動期間幫助在計算機241內(nèi)的元件之間傳輸信息的基本例程,基本輸入/輸出系統(tǒng)223 (BIOS)通常儲存儲在ROM 531中。RAM 260通常包含處理單元259 可立即訪問和/或目前正在操作的數(shù)據(jù)和/或程序模塊。作為示例而非限制,圖4示出了操作系統(tǒng)225、應用程序226、其他程序模塊227,以及程序數(shù)據(jù)228。計算機241也可以包括其他可移動/不可移動、易失性/非易失性計算機存儲介質(zhì)。僅作為示例,圖5示出了對不可移動、非易失性磁介質(zhì)進行讀寫的硬盤驅(qū)動器238,對可移動、非易失性磁盤239進行讀寫的磁盤驅(qū)動器254,以及對諸如CD ROM或其它光學介質(zhì)等可移動、非易失性光盤240進行讀寫的光盤驅(qū)動器253。可在示例性操作環(huán)境中使用的其他可移動/不可移動、易失性/非易失性計算機存儲介質(zhì)包括但不限于,磁帶盒、閃存卡、數(shù)字多功能盤、數(shù)字錄像帶、固態(tài)RAM、固態(tài)ROM等。硬盤驅(qū)動器238通常由例如接口 234等不可移動存儲器接口連接至系統(tǒng)總線221,而磁盤驅(qū)動器239和光盤驅(qū)動器240通常由例如接口 235等可移動存儲器接口連接至系統(tǒng)總線221。GPU 299通過圖形接口 231連接至系統(tǒng)總線221。視頻存儲器230 (它連接至GPU 229)通過視頻接口 232連接至系統(tǒng)總線221。上文所討論的并且在圖5中示出的驅(qū)動器及其它們相關(guān)聯(lián)的計算機存儲介質(zhì)為計算機241提供了對計算機可讀的指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊及其他數(shù)據(jù)的存儲。例如,圖5中,硬盤驅(qū)動器238被示為存儲操作系統(tǒng)258、應用程序257、其它程序模塊256和程序數(shù)據(jù)255。注意,這些組件可以與操作系統(tǒng)225、應用程序226、其他程序模塊227和程序數(shù)據(jù)228相同,也可以與它們不同。在此操作系統(tǒng)258、應用程序257、其他程序模塊256以及程序數(shù)據(jù)255被給予了不同的編號,以說明至少它們是不同的副本。用戶可以通過輸入設(shè)備,例如鍵盤251和定點設(shè)備252—通常是指鼠標、跟蹤球或觸摸墊一一向計算機241輸入命令和信息。其他輸入設(shè)備(未示出)可包括話筒、操縱桿、游戲手柄、圓盤式衛(wèi)星天線、掃描儀等。這些和其他輸入設(shè)備通常通過耦合至系統(tǒng)總線的用戶輸入接口 236連接至處理單元259,但也可以由其他接口和總線結(jié)構(gòu),例如并行端口、游戲端口或通用串行總線(USB)來連接。相機26、28和捕捉設(shè)備20可經(jīng)由用戶輸入接口 236來定義控制臺100的附加輸入設(shè)備。監(jiān)視器242或其他類型的顯示設(shè)備也通過諸如視頻接口 232之類的接口連接至系統(tǒng)總線221。除監(jiān)視器之外,計算機還可以包括可以通過輸出外圍接口 233連接的諸如揚聲器244和打印機243之類的其他外圍輸出設(shè)備。捕捉設(shè)備20可經(jīng)由輸出外圍接口 233、網(wǎng)絡(luò)接口 237或其他接口連接到計算系統(tǒng)220。計算機241可以使用到一個或多個遠程計算機(如遠程計算機246)的邏輯連接,以在聯(lián)網(wǎng)環(huán)境中操作。遠程計算機246可以是個人計算機、服務器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其他公共網(wǎng)絡(luò)節(jié)點,并且通常包括上文參考計算機241所描述的許多或全部元件,雖然圖5中只示出了存儲器設(shè)備247。圖中所示邏輯連接包括局域網(wǎng)(LAN) 245和廣域網(wǎng)(WAN) 249,但也可以包括其它網(wǎng)絡(luò)。這些聯(lián)網(wǎng)環(huán)境在辦公室、企業(yè)范圍計算機網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中是常見的。當用于LAN網(wǎng)絡(luò)環(huán)境中時,計算機241通過網(wǎng)絡(luò)接口或適配器245連接到LAN237。當在WAN聯(lián)網(wǎng)環(huán)境中使用時,計算機241通常包括調(diào)制解調(diào)器250或用于通過諸如因特網(wǎng)等WAN 249建立通信的其他手段。調(diào)制解調(diào)器250可以是內(nèi)置的或外置的,可以經(jīng)由用戶輸入接口 236或其他適當?shù)臋C制連接到系統(tǒng)總線221。在聯(lián)網(wǎng)環(huán)境中,相對于計算機241所描述的程序模塊或其部分可被存儲在遠程存儲器存儲設(shè)備中。作為示例而非局限,圖5示出應用程序248駐留在存儲器設(shè)備247上。應當理解,所示的網(wǎng)絡(luò)連接是示例性的,并 且可使用在計算機之間建立通信鏈路的其他手段。圖4或5的系統(tǒng)中的任一個或不同計算系統(tǒng)可用于實現(xiàn)圖2的娛樂系統(tǒng)12。圖6是描繪用于實現(xiàn)此處所描述的技術(shù)的各個組件的框圖。也可使用其他計算系統(tǒng)。圖6示出兩個娛樂系統(tǒng)10;然而,可以使用多于或少于2個娛樂系統(tǒng)。娛樂系統(tǒng)10可以經(jīng)由因特網(wǎng)或其他網(wǎng)絡(luò)與一個或多個創(chuàng)作系統(tǒng)290通信。如下面將解釋的,娛樂系統(tǒng)10為一個或多個用戶提供交互式內(nèi)容生成體驗。創(chuàng)作系統(tǒng)290允許一個或多個藝術(shù)家、生產(chǎn)商或其他實體來創(chuàng)建交互式內(nèi)容生成體驗。圖7是描繪安裝在創(chuàng)作系統(tǒng)290上可用于創(chuàng)建交互式內(nèi)容生成體驗的軟件的一個實施例的框圖。圖7示出包括⑶I工具302和腳本構(gòu)建器304的創(chuàng)作系統(tǒng)290。⑶I工具302用于創(chuàng)建圖形用戶界面("GUI")并且允許藝術(shù)家或內(nèi)容提供方創(chuàng)建/配置交互式內(nèi)容生成體驗。⑶I工具302將提供用于標識用于創(chuàng)建交互式內(nèi)容生成體驗的各個內(nèi)容單元、移動和位置的一組選項。一旦作者定義了體驗,則腳本構(gòu)建器304將用于創(chuàng)建將使用⑶I工具302對娛樂系統(tǒng)10進行配置或編程以提供所創(chuàng)作的交互式內(nèi)容生成體驗的代碼。圖8是描繪駐留在娛樂系統(tǒng)10中作為應用52的一部分(參加圖2)的軟件模塊的框圖。圖8中所描繪的軟件被分為四層(加上一個或多個腳本352)。底層包括主視覺效果引擎320和音頻效果引擎322。主視覺效果引擎320用于創(chuàng)建由娛樂系統(tǒng)10可視地描繪的視覺效果。音頻效果引擎322將創(chuàng)建音頻效果,如下面討論的。上面的主視覺效果引擎320是3D呈現(xiàn)引擎332、視覺效果引擎334、和視頻混搭引擎336。3D呈現(xiàn)引擎332用于呈現(xiàn)三維圖像。視覺效果引擎334創(chuàng)建娛樂系統(tǒng)10所顯示的視覺效果。如果與娛樂系統(tǒng)10交互的人正在生成視頻內(nèi)容,則視頻混搭引擎336可用于混合視頻。音頻引擎334用于播放、編輯和/或以其他方式更改各種音頻內(nèi)容。姿勢輸入模塊340接收對用戶的姿勢或移動的指示,并且將該信息提供給其他軟件組件。音頻分析342可用于標識正被播放的音頻的特征,從而表演效果、對音頻進行同步等。應用52還包括應用邏輯350,該應用邏輯350是用于控制交互式內(nèi)容生成體驗的操作的主邏輯。腳本352包括從一個或多個創(chuàng)作系統(tǒng)290的腳本構(gòu)建器304接收的一個或多個腳本。腳本包括對特定的內(nèi)容生成體驗進行配置和/或編程的代碼(例如,軟件指令)。腳本可經(jīng)由網(wǎng)絡(luò)被下載到應用52,經(jīng)由介質(zhì)(例如,⑶-ROM、DVD、閃存驅(qū)動器等)被加載,或由用戶來編程(如果用戶與應用52分開地或組合地可訪問創(chuàng)作系統(tǒng)290)。在交互式內(nèi)容生成體驗的作者創(chuàng)建腳本并且該腳本被加載到娛樂系統(tǒng)10中以后,該腳本將用于(使用圖8所描繪的軟件)配置娛樂系統(tǒng)10播放內(nèi)容(例如,音頻內(nèi)容),自動地跟蹤用戶的移動(包括自動地檢測用戶(或用戶的一部分)已經(jīng)進入或正在碰撞體中交互或與碰撞體交互),并且響應于檢測到用戶(或用戶的一部分)已經(jīng)進入或正在碰撞體中交互或與碰撞體交互,自動地改變正被播放的內(nèi)容。碰撞體是實際上由娛樂系統(tǒng)10創(chuàng)建的位于正被跟蹤的每個用戶旁邊或附近的三維結(jié)構(gòu)(例如,立方體、矩形體、或其他三維結(jié)構(gòu))。該碰撞體在用戶所站的房間中無法被看到。然而,在某些實施例中,娛樂系統(tǒng)10可在顯示設(shè)備(例如,圖I的音頻/視覺輸出設(shè)備16)上顯示該碰撞體的視覺表示。例如,圖9示出表示娛樂系統(tǒng)10的用戶400的線條畫。圍繞用戶400的是碰撞體402、404、406、408,410和412。碰撞體402在用戶400的右臂旁邊。碰撞體400位于用戶400的左臂旁邊。在其他實施例中,附加的碰撞體可以位于手臂的前面或后面?;蛘?,一個或多個碰撞體 可以圍繞一只或多只手臂。碰撞體406位于用戶400雙腿的前面。在其他實施例中,附加碰撞體可以位于雙腿的后面,或者一個或多個碰撞體可以圍繞一條或多條腿。碰撞體408位于用戶408的頭部之上。在其他實施例中,附加的碰撞體可以位于用戶頭部的前面、后面或側(cè)面。碰撞體410位于用戶400的左肩上方。碰撞體412位于用戶400的右肩上方。附加的碰撞體可被置于用戶400的軀干的前面或后面。碰撞體還可被放置在其他的位置。當用戶被檢測到已經(jīng)進入碰撞體(用戶身體的適合部分進入相關(guān)的碰撞體)時,各個片的內(nèi)容可被切換打開、切換關(guān)閉、開始、中斷等。在某些實施例中,系統(tǒng)可以跟蹤用戶在碰撞體中的移動,使得系統(tǒng)可以標識用戶在碰撞體內(nèi)的預定義移動。該預定義移動可用于觸發(fā)、切換或控制一個或多個效果,如下面討論的。圖10提供創(chuàng)作系統(tǒng)290的⑶I工具302所實現(xiàn)的圖形用戶界面的一個示例,使得人可以創(chuàng)建交互式內(nèi)容生成體驗。出于示例的目的,圖10的討論將假設(shè)被生成的內(nèi)容是音樂內(nèi)容。然而,也可以生成其他內(nèi)容。圖10的圖形用戶界面包括用于輸入數(shù)據(jù)的多個界面項。所描繪的頂部輸入項是用于指示一個單元。在交互式體驗中,體驗可被劃分為時間單元或交互段。例如,一首歌曲可被分解為十個(或其他數(shù)量的)單元。體驗中單元的數(shù)量是作者完全可以配置的。由此,作者可以輸入該作者在特定時間配置其單元的用戶界面420。用戶界面項422用于指示該單元應被體驗多久。在用戶界面項424中,作者將指示哪個區(qū)目前正被作者配置。回頭看圖1,娛樂系統(tǒng)10所位于的房間將被分解為一組區(qū)。圖I示出五個區(qū)(Z0、Z1、Z2、Z3和Z4)。在其他實施例中,系統(tǒng)可包括多于或少于五個區(qū)。在圖I中,區(qū)是橢圓形的;然而,還可使用其他形狀。在實際房間中,可以不對這些區(qū)進行標記。然而,在一個實施例中,娛樂系統(tǒng)10可在音頻/視覺輸出設(shè)備16 (參加圖I)上顯示這些區(qū)的圖形表示。系統(tǒng)可跟蹤用戶是否在這些區(qū)之一中。在一個實施例中,如果用戶不在區(qū)中,則用戶沒有參與內(nèi)容生成過程。如果用戶在這些區(qū)之一中,則用戶可參與內(nèi)容生成過程。在一個示例實現(xiàn)中,內(nèi)容生成過程依賴于用戶在哪個區(qū)中將有所不同。因此,作者將通過指示哪個區(qū)目前正被圖10的用戶界面項424配置來為每個區(qū)配置獨立的編程。用戶界面項426用于配置背景圖像和/或背景視覺程序以便與當前單元(或整個體驗)一同使用。用用戶界面項428來指示特定區(qū)的低音音軌。低音音軌是在系統(tǒng)自動地確定用戶位于對應區(qū)中時所播放的內(nèi)容。如果系統(tǒng)具有五個區(qū),則存在五個獨立的低音音軌,每個區(qū)一個。在其他實施例中,一個以上的區(qū)可以共享低音音軌。在音頻的情形中,低音音軌可以是歌曲的一部分(包括演奏該歌曲的樂器的子集)、歌曲的聲音音軌、預定義聲音或來自一個樂器(或多個樂器)的一音符集、或來自合成器的一個或多個聲音。如果低音音軌比單元的時間(見422)短,則低音音軌將被重復。注意,用戶界面項420-428可以是下拉菜單、文本框等。在對單元、時間、區(qū)、背景和低音音軌進行配置之后,作者將標識與每個碰撞體相關(guān)聯(lián)的動作。圖10的GUI不出N個碰撞體。此處描述的技術(shù)可與任何合適數(shù)量的碰撞體一同使用。對于每個碰撞體,作者可以定義(或以其他方式添加)對支干的指示,開始情況,對用戶與碰撞體的交互是否應該切換打開/關(guān)閉正被循環(huán)播放的支干、或者觸發(fā)播放一次的支干的指示,在碰撞體內(nèi)要采取的向上/下運動的動作,以及在碰撞體內(nèi)要采取的向左/ 右運動的動作。對于碰撞體的每個數(shù)據(jù)項輸入,Gn可以提供下拉菜單、文本框、或其他用戶界面項。音樂內(nèi)容支干的一個示例可包括歌曲的一部分(包括演奏該歌曲的樂器的子集)、歌曲的聲音音軌、預定義聲音或來自一個樂器(或一組樂器)的一個或多個音符的集合、和/或來自合成器的一個或多個聲音。開始情況可包括使支干在低音音軌開始播放時開始播放。在該開始情況中,當檢測到用戶已經(jīng)進入對應的碰撞體時,支干可被關(guān)閉。另一個開始情況可包括支干在用戶被跟蹤進入?yún)^(qū)并且播放低音音軌時處于休眠(未被播放)。在該情況中,當確定用戶已經(jīng)進入對應的碰撞體時,支干可在該點開始播放。向上/下運動和向左/右運動是碰撞體內(nèi)的預定義運動的兩個示例。例如,如果用戶被跟蹤到將其手臂置于碰撞體內(nèi)并在碰撞體內(nèi)向上或向下移動,則該向上或向下移動可用于導致要表演的效果和/或控制該效果。類似地,如果用戶被跟蹤到將其手臂在碰撞體內(nèi)向左或向右移動,則該運動可用于導致要表演的效果和/或控制該效果。在任一碰撞體中,如使用圖10的GUI所配置的,這些預定義的運動可與用戶的任何肢體或用戶的任何身體部分一同使用??稍谟脩粲谂鲎搀w內(nèi)執(zhí)行預定義運動時采取的動作的一個示例(例如,上/下、左/右……)包括改變支干的音量。例如,如果用戶在碰撞體中舉起他的手,則音量可被提高,并且如果用戶將手放下,則音量可被降低。類似地,如果用戶將手向左移動,則音量可被提高;并且如果用戶將手向右移動,則音量可被降低??杀硌莸钠渌Чù蜷_或關(guān)閉回聲、改變聽到的回聲的數(shù)量(例如,將手向上移動導致更多的回聲,將手向下移動降低回聲的數(shù)量)、控制音樂內(nèi)容的頻率過濾器的通帶、改變節(jié)拍、改變節(jié)奏、添加/改變混響效果、改變音調(diào)等。圖11是描述使用圖10的GUI來創(chuàng)作交互式內(nèi)容生成體驗的過程的一個實施例的流程圖。在步驟450,作者可以提供內(nèi)容,包括用于低音音軌支干和音頻效果的各個文件。在步驟452,作者可以定義或提供將在娛樂系統(tǒng)10上呈現(xiàn)的一個或多個化身。在一個實施例中,化身將執(zhí)行與用戶相同的移動。由于系統(tǒng)正在跟蹤用戶,該系統(tǒng)可配置該化身以復制用戶的移動。在步驟454,作者將通過配置用戶界面項420來添加用于交互的新單元。在步驟456,作者將使用戶界面項422來定義持續(xù)時間。在步驟458,作者可以通過使用用戶界面項426來添加背景圖像或視覺系統(tǒng)以體驗該單元。在一個實施例中,背景圖像可以是靜止圖像。在另一個實施例中,背景圖像可以是視頻。在另一個實施例中,背景可以是可視系統(tǒng)。例如,可以使用頻率分析器來將視覺系統(tǒng)綁定到正被播放的音樂。亮度可被綁定到音樂,可將無線電模糊效果與被綁定到節(jié)拍的聚焦一同提供,可對改變音樂的用戶或用戶的化身執(zhí)行多色調(diào)分色印刷等。各種各樣的頻率分析器可用于確定多個頻帶的每個中有多少能量。每個頻帶可被綁定到特定的視覺效果。在一個實施例中,可以實現(xiàn)顆粒系統(tǒng)。顆粒系統(tǒng)可被配置為遵守物理定律(或不同的規(guī)則集),并被配置為被用戶身體的一部分或房間中其他位置或?qū)ο笪蛲崎_。如果顆粒系統(tǒng)被配置為被用戶的手部吸引或推開,則例如當用戶的手部移動時,顆粒將不同地移動,從而改變娛樂系統(tǒng)10的音頻/視覺輸出設(shè)備16上的視覺表示。回頭看步驟460,作者將定義正被配置的區(qū)。如參考圖I所討論的,房間可包括多 個區(qū)。作者將指示哪個區(qū)目前正被配置。在步驟462,作者將使用用戶界面項428來指示哪個低音音軌將用于該區(qū)。在步驟464,作者將為每個正被配置的區(qū)添加用于每個碰撞體的內(nèi)容指令。例如,作者將為區(qū)的每個碰撞體標識支干、開始情況、支干是否應被切換或觸發(fā)、響應于向上/下運動而執(zhí)行的功能、以及響應于向左/右運動而執(zhí)行的功能。如果存在要配置的另一個區(qū)(步驟466),則過程將循環(huán)回到步驟460以定義下一個區(qū)。在步驟466,當確定已為當前考慮的單元配置了全部區(qū)的時候,隨后確定是否還有需要被配置的任何更多的單元(步驟468)。如果存在要配置的更多單元,則過程將循環(huán)回到步驟454以配置下一個單元。如果全部單元已被配置,則在步驟470中,腳本構(gòu)建器304將自動地創(chuàng)建用于交互式內(nèi)容生成體驗的腳本(例如,軟件代碼)。在步驟470中生成的腳本的形式或格式可以是適于特定實現(xiàn)的本領(lǐng)域中已知的任何形式。不存在此處需要利用的腳本的特定形式或結(jié)構(gòu)。步驟460-466和步驟454-468的循環(huán)允許多個單元被配置以及每個單元的多個區(qū)被配置,使得內(nèi)容生成體驗將具有多個單元。這樣,作者將定義用于多個區(qū)(也稱為移動區(qū))的一個或多個低音音軌,標識用于每個區(qū)的一組碰撞體的音頻支干,并且基于多個區(qū)的已定義的一個或多個低音音軌以及每個區(qū)的該組碰撞體的已標識的音頻支干來創(chuàng)建代碼。取決于用戶所位于的區(qū),該代碼能夠配置計算設(shè)備(例如,娛樂系統(tǒng)10)以播放一個或多個低音音軌。該代碼還能夠配置計算設(shè)備(例如,娛樂系統(tǒng)10)基于用戶與對應的碰撞體的交互來對音頻支干進行加或減。圖12是描述使用從圖11的過程生成的腳本來執(zhí)行內(nèi)容生成的過程的一個實施例的流程圖。在步驟500,用戶將調(diào)用腳本。例如,腳本可以是包括用于交互式體驗的整個軟件的⑶-ROM或DVD的一部分。將磁盤置于娛樂系統(tǒng)10中將導致軟件(包括腳本)運行。在其他實施例中,腳本可以經(jīng)由網(wǎng)絡(luò)、便攜式存儲介質(zhì)等被傳輸?shù)綂蕵废到y(tǒng)10。用戶可以具有從中進行選擇的多個腳本,并將選擇適合的腳本,使得該腳本將開始在步驟500中運行。在步驟502,實現(xiàn)下一個單元。如上面討論的,交互式體驗可以具有多個單元(多個段)。當腳本被啟動時,加載第一單元。如上面討論的,該單元將包括用于每個區(qū)和每個碰撞體的指令。在步驟504,系統(tǒng)自動地確定用戶所位于的區(qū)并且開始為該區(qū)播放適合的低音音軌。如上面討論的,系統(tǒng)將使用捕捉設(shè)備20來自動地跟蹤用戶的移動和位置并且確定用戶在哪個區(qū)中。在步驟506,系統(tǒng)將開始播放那些包括開始情況的支干,該開始情況指示支干初始情況為將要開始播放。在步驟508,將實現(xiàn)(在步驟458中配置的)視覺背景。步驟508可包括實現(xiàn)將通過執(zhí)行圖12的過程來操作的背景過程(例如,顆粒系統(tǒng)),使得響應于檢測到用戶的一部分進入第一碰撞體而將改變所顯示的視覺內(nèi)容。在步驟510,系統(tǒng)將繼續(xù)跟蹤用戶的位置和移動。在一個實施例中,系統(tǒng)將通過圖12的過程來跟蹤用戶的位置和移動。在步驟512,將顯示用戶的化身。在一個實施例中,該化身將基于跟蹤用戶移動的系統(tǒng)來模仿用戶的移動。在步驟514,確定單元的時間段是否結(jié)束。如果分配給該單元的時間已經(jīng)結(jié)束,則在步驟516,確定是否存在要執(zhí)行的另一個單元。如果不存在要執(zhí)行的更多單元,則交互式體驗已經(jīng)完成(步驟518)。如果存在要執(zhí)行的另一個單元,則過程循環(huán)回到步驟502并開始下一個單元。在步驟514,如果確定該單元沒有結(jié)束,則在步驟520,系統(tǒng)確定用戶是否已經(jīng)進入碰撞體之一。如果否,則系統(tǒng)將繼續(xù)跟蹤用戶的位置和移動(步驟510)。如果確定用戶(或諸如用戶的手臂、腿等的用戶的一部分)已經(jīng)進入一個或多個 碰撞體,則響應于用戶進入碰撞體,確定支干是否已被配置為被切換打開/關(guān)閉或觸發(fā)用于一次播放。如果支干已被配置為切換打開/關(guān)閉,則在步驟524,如果目前支干未在播放,則將切換打開該支干。如果目前支干正被播放,則將切換關(guān)閉該支干。在一個實施例中,在音符邊界(例如,1/4音符邊界、1/8音符邊界等)對支干進行切換打開或關(guān)閉,以便使支干與低音音軌的節(jié)拍相協(xié)調(diào)。如果支干已被配置為被觸發(fā),則在步驟526,在音符邊界(例如,1/4音符邊界、1/8音符邊界等)啟動該支干,以便使該支干與低音音軌的節(jié)拍相協(xié)調(diào)。步驟524和526二者均是基于與碰撞體相關(guān)聯(lián)的支干而自動地改變正被播放的內(nèi)容(例如,低音音軌和目前正被播放的任何支干)的示例,該碰撞體在用戶所站的當前區(qū)中進行交互。對正被播放的內(nèi)容的自動改變帶來正被生成的新內(nèi)容。在步驟524或526之后,過程在步驟528繼續(xù),在該過程期間系統(tǒng)將檢測用戶是否在碰撞體內(nèi)執(zhí)行了任何預定義運動。如果用戶未在執(zhí)行任何預定義運動,則過程循環(huán)回到步驟510并繼續(xù)跟蹤用戶。如果用戶正在執(zhí)行預定義運動之一,則在步驟530,將執(zhí)行與預定義運動相關(guān)聯(lián)的動作。例如,如果用戶正在執(zhí)行向上或向下運動,則如使用圖10的⑶I所配置的,將執(zhí)行適合的功能。類似地,如果用戶正在執(zhí)行向左或向右運動,則將執(zhí)行適合的功能。也可利用其他預定義動作。在一個替換方案中,可在圖12的過程期間的任何時間執(zhí)行步驟530中所實現(xiàn)的測試528和功能。在執(zhí)行步驟530的動作之后,過程循環(huán)回到步驟 510。在上面的示例中,討論構(gòu)想了一個用戶使用移動來改變正被播放的音頻,從而創(chuàng)建新的音頻。在其他實施例中,多個用戶可并發(fā)地使用移動從而生成新的音頻(或其他內(nèi)容)。在一個示例中,一個用戶將被指定為主用戶。用于主用戶所站的區(qū)的低音音軌將是所播放的低音音軌?;谶M入碰撞體的那些其他用戶,站在其他區(qū)中的每個其他用戶將具有被添加或減去的支干。基于在其碰撞體中執(zhí)行預定義運動的每個用戶,可以執(zhí)行各種效果。在一個示例中,全部用戶將基于與類似的碰撞體的交互而打開或關(guān)閉相同的支干。在其他實施例中,每個區(qū)將與不同的支干集相關(guān)聯(lián),使得每個用戶響應于與碰撞體的交互而打開或關(guān)閉不同的支干。在一個實施例中,響應于預定義運動、姿勢或命令,對主用戶的指定將改變。在另一個實施例中,可以同時播放每個用戶每個區(qū)的每個低音音軌。在另一個實施例中,只有主用戶需要在區(qū)中,而其他用戶可在用戶不在該區(qū)中的情況下通過與每個用戶的碰撞體進行交互來影響正被生成的音頻。在某些實現(xiàn)中,系統(tǒng)可以跟蹤房間中的多個用戶的位置移動,并且顯示正被跟蹤的每個用戶的化身。每個化身將與正被跟蹤的對應用戶協(xié)同地移動。由此,系統(tǒng)將自動地跟蹤多個用戶的移動和位置,對正被播放的音頻內(nèi)容的自動改變包括響應于和基于多個用戶的被跟蹤的移動,自動地改變正被播放的音頻內(nèi)容,使得不同用戶的不同移動改變以不同方式播放的音頻內(nèi)容。例如,圖12的步驟510將包括跟蹤多個用戶的位置移動。步驟512將包括為多個用戶顯示多個化身。可以為多個用戶并發(fā)地執(zhí)行步驟520、522、524,526、528和 530。當交互式內(nèi)容生成過程結(jié)束時(步驟518),系統(tǒng)可以錄制所創(chuàng)建的內(nèi)容。例如,將 以本領(lǐng)域已知的任何形式錄制音頻并將其保存作為音頻文件。另外,可以通過適于存儲視頻的任何形式來保存相關(guān)聯(lián)的視頻(例如,在步驟508中實現(xiàn)的視覺背景)。該經(jīng)保存的內(nèi)容隨后可以是分布式的。例如,其可被提供到社交網(wǎng)站上,或被發(fā)布到用于類似的內(nèi)容生成的站點(或頻道)上。例如,可以創(chuàng)建對使用圖12的過程從多個源生成的內(nèi)容進行聚集并且允許用戶查看其他人已經(jīng)生成的內(nèi)容的服務。在另一個替換方案中,可以使用因特網(wǎng)(或其他網(wǎng)絡(luò)),使得多個娛樂控制臺10可以共同工作以生成單個內(nèi)容集。即,可以為多個用戶執(zhí)行圖12的過程;然而,使用經(jīng)由網(wǎng)絡(luò)(例如,因特網(wǎng)和/或局域網(wǎng))彼此通信的不同的娛樂系統(tǒng)10的多個用戶可以位于不同的位置。每個娛樂系統(tǒng)將包括用于確定對應的用戶位于哪個區(qū)中以及用戶是否正與碰撞體進行交互的其自身的捕捉設(shè)備20。娛樂系統(tǒng)10之一可被標識為主機,并且將接收全部數(shù)據(jù),從而創(chuàng)建新內(nèi)容、向本地用戶顯示新內(nèi)容、并將該新內(nèi)容傳輸?shù)竭h程的娛樂系統(tǒng)用于向遠程用戶呈現(xiàn)。注意,圖12中所描繪的步驟的順序不是必須的??梢园凑掌渌樞騺韴?zhí)行各個步驟??梢圆l(fā)地執(zhí)行圖12的許多步驟。另外,在圖12的過程的操作中,很多步驟可以連續(xù)地執(zhí)行。在另一個實施例中,系統(tǒng)允許一個或多個用戶在捕捉設(shè)備20前面跟隨給定的音樂來跳舞(或執(zhí)行其他移動)。在一個或多個用戶在跳舞時,系統(tǒng)捕捉并分析移動(與上面所描述的骨架跟蹤相類似)。響應于跟蹤并理解用戶的移動,系統(tǒng)將構(gòu)建最佳適于再次驅(qū)動給定音樂的控制方案。系統(tǒng)可使用相同的方法來分析視頻剪輯等。例如,系統(tǒng)可基于音樂視頻來訓練數(shù)據(jù),因此需要用戶像音樂視頻中的舞蹈那樣移動以創(chuàng)建適合的輸出。盡管用結(jié)構(gòu)特征和/或方法動作專用的語言描述了本主題,但可以理解,所附權(quán)利要求書中定義的主題不必限于上述具體特征或動作。更確切而言,上述具體特征和動作是作為實現(xiàn)權(quán)利要求的示例形式公開的。本發(fā)明的范圍由所附的權(quán)利要求進行定義。
權(quán)利要求
1.ー種用于音頻內(nèi)容創(chuàng)建的方法,包括 播放音頻內(nèi)容(506); 自動地跟蹤用戶的移動(510),包括自動地檢測所述用戶的預定義運動;以及響應于檢測所述用戶的所述預定義運動,自動地改變正被播放的所述音頻內(nèi)容(524、526)。
2.如權(quán)利要求I所述的方法,其特征在干 所述用戶的所述預定義運動包括所述用戶的一部分進入第一碰撞體; 所述自動地改變所述音頻內(nèi)容包括,響應于檢測到所述用戶的一部分進入所述第ー碰撞體自動地改變正被播放的所述音頻內(nèi)容; 所述播放音頻內(nèi)容包括播放低音音軌;以及 所述自動地改變正被播放的所述音頻內(nèi)容包括,響應于檢測到所述用戶的一部分進入所述第一碰撞體將第一音頻支干添加到所述低音音軌并與所述低音音軌同步,所述第一音頻支干與所述第一碰撞體相關(guān)聯(lián)。
3.如權(quán)利要求2所述的方法,其特征在于,還包括 自動地檢測所述用戶的一部分進入不同于所述第一碰撞體的第二碰撞體,所述第一碰撞體和所述第二碰撞體是多個碰撞體的一部分,所述多個中的姆個碰撞體與不同的音頻支干相關(guān)聯(lián),第二音頻支干與所述第二碰撞體相關(guān)聯(lián);以及 響應于檢測到所述用戶的一部分進入所述第二碰撞體,通過將所述第二音頻支干添加到所述低音音軌來自動地改變正被播放的所述音頻內(nèi)容。
4.如權(quán)利要求3所述的方法,其特征在于,還包括 在通過將所述第二音頻支干添加到所述低音音軌來自動地改變正被播放的所述音頻內(nèi)容之后,自動地檢測所述用戶的一部分進入所述第二碰撞體;以及 在通過將所述第二音頻支干添加到所述低音音軌來自動地改變正被播放的所述音頻內(nèi)容之后,響應于檢測所述用戶的一部分進入所述第二碰撞體,通過將所述第二音頻支干從所述低音音軌移除來自動地改變正被播放的所述音頻內(nèi)容。
5.如權(quán)利要求2-4所述的方法,其特征在于,還包括 檢測所述第一碰撞體內(nèi)的預定義移動;以及 響應于檢測到所述預定義移動,在正被播放的所述音頻內(nèi)容上表演效果。
6.如權(quán)利要求2-5所述的方法,其特征在于,還包括 自動地檢測所述用戶的位置,基于所檢測的所述用戶的位置,從多個音軌中選擇所述低音音軌。
7.如權(quán)利要求2-7所述的方法,其特征在于 所述低音音軌是歌曲的一部分;以及 所述第一音頻支干是來自演奏所述歌曲的樂器的子集的聲音。
8.如權(quán)利要求2-7所述的方法,其特征在于 所述低音音軌是來自第一樂器的預先錄制的聲音;以及 所述第一音頻是來自第二樂器的預先錄制的聲音。
9.如權(quán)利要求2-8所述的方法,其特征在于,還包括 自動地檢測所述用戶位于多個區(qū)中的哪個區(qū),每個區(qū)與不同的低音音軌相對應,響應于自動地檢測所述用戶位于哪個區(qū)而執(zhí)行播放所述低音音軌。
10.如權(quán)利要求1-9所述的方法,其特征在于,還包括 顯示視覺內(nèi)容并響應于檢測到所述用戶的所述預定義移動而改變所述視覺內(nèi)容,所述視覺內(nèi)容是由所述用戶的移動和所述音樂自身的分析二者同時生成的。
11.如權(quán)利要求1-11所述的方法,其特征在干 使用深度相機來執(zhí)行對所述用戶的移動的自動跟蹤; 自動地跟蹤所述用戶的移動包括自動地跟蹤多個用戶的移動;以及 自動地改變正被播放的所述音頻內(nèi)容包括,響應于并且基于多個用戶的被跟蹤的移動自動地改變正被播放的所述音頻內(nèi)容,使得不同的移動以不同的方式來改變正被播放的所述音頻內(nèi)容。
12.ー種創(chuàng)建音頻內(nèi)容的裝置,包括 深度相機(20); 顯示接ロ (140,232); 音頻接ロ (140,233);以及 與所述深度相機、顯示接口和音頻接ロ通信的處理器(101、259),所述處理器播放第一低音音軌,所述處理器被編程為,基于來自所述深度相機的數(shù)據(jù)從多個預定義移動中自動地檢測用戶的第一預定義移動,每個預定義移動與不同的音頻支干相關(guān)聯(lián),所述處理器響應于檢測到所述用戶執(zhí)行了所述第一預定義移動將第一音頻支干添加到所述低音音軌,所述第一音頻支干與所述第一預定義移動相對應。
13.如權(quán)利要求13所述的裝置,其特征在干 所述處理器被編程為,基于來自所述深度相機的數(shù)據(jù)自動地檢測用戶的一部分執(zhí)行了第二預定義移動,所述處理器響應于檢測到所述用戶執(zhí)行了所述第二預定義移動將第二音頻支干添加到所述低音音軌,所述第二低音音軌與所述第二碰撞體相對應。
14.如權(quán)利要求12或13所述的裝置,其特征在于 所述第一預定義移動包括所述用戶的一部分進入多個碰撞區(qū)中的第一碰撞體;以及 所述處理器使用來自所述深度相機的數(shù)據(jù)來檢測碰撞體中的預定義運動,并且響應于對所述碰撞體中所述預定義運動的檢測,在正被播放的音頻上表演音頻效果。
15.如權(quán)利要求12、13或14所述的裝置,其特征在于 所述預定義移動包括肢體的姿勢、運動或質(zhì)心、移動中的任ー個。
全文摘要
本發(fā)明涉及交互式內(nèi)容創(chuàng)建。音頻/視覺系統(tǒng)(例如,諸如娛樂控制臺或其他計算設(shè)備)播放低音音軌,諸如預先錄制的歌曲的一部分或來自一個或多個樂器的音符。系統(tǒng)使用深度相機或其他傳感器來自動地檢測用戶(或用戶的一部分)進入多個碰撞體中的第一碰撞體。多個碰撞體中的每個碰撞體與不同的音頻支干相關(guān)聯(lián)。在一個示例中,音頻支干是來自演奏歌曲的樂器的子集的聲音、歌曲的聲音音軌的一部分、或來自一個或多個樂器的音符。響應于自動地檢測用戶(或用戶的一部分)進入第一碰撞體,與第一碰撞體相關(guān)聯(lián)的適合的音頻支干被添加到低音音軌或從低音音軌移除。
文檔編號G06F3/01GK102681657SQ20111044298
公開日2012年9月19日 申請日期2011年12月26日 優(yōu)先權(quán)日2010年12月27日
發(fā)明者A·A-A·基普曼, A·J·福勒, C·邁爾斯, J·N·馬爾戈利斯, J·弗萊克斯, R·J·波特 申請人:微軟公司