專利名稱:用于擴(kuò)展現(xiàn)實(shí)的高精度3維音頻的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于擴(kuò)展現(xiàn)實(shí)的高精度3維音頻的系統(tǒng)和方法。
背景技術(shù):
公知的是,人類具有使用他們的耳朵在即使沒有任何視覺線索的情況下識別聲音源的能力。人類通過采用從一只耳朵導(dǎo)出的線索并且通過比較在兩只耳朵處所接收的線索(差異線索或雙耳線索)來估計源的位置。在這些差異線索之中有到達(dá)的時間差和強(qiáng)度差。單耳線索來自聲音源與人類解剖結(jié)構(gòu)之間的交互,在人類解剖結(jié)構(gòu)中,原始源聲音在其進(jìn)入耳道以前被修改,以供由聽覺系統(tǒng)進(jìn)行處理。在現(xiàn)實(shí)世界情況下,聲音實(shí)際上是從特定位置處發(fā)出的。所期望的可能是,使聽者能夠感受到由音頻揚(yáng)聲器產(chǎn)生的聲音似乎來自3維空間中的特定位置。一種可能的技術(shù)包括讓用戶佩戴亦稱“頭戴式耳機(jī)”的“頭戴耳機(jī)”。也就是說,一個音頻揚(yáng)聲器被放置在每個耳朵之上或附近。該技術(shù)可以采用使用“與頭部相關(guān)的傳輸函數(shù)”(HRTF)來創(chuàng)建音頻信號以制造聲音源自3D空間中的某位置這一錯覺。在此,制造聲音來自3D空間中的某位置這一錯覺的音頻信號被稱為3D音頻信號。HRTF可以基于自由空間中的聲音與到達(dá)耳膜時的聲音之間的差異來定義。HRTF 描述給定的聲波輸入(其被參數(shù)化為頻率和聲音位置)在該聲音達(dá)到耳膜和內(nèi)耳以前如何被頭部和耳廓的衍射和反射性質(zhì)過濾。HRTF可以與人的頭部形狀和他們耳朵的物理特性密切相關(guān)。因此,HRTF可能因人而顯著不同。因此,盡管HRTF可以用于幫助創(chuàng)建3D音頻信號,但是在使HRTF適應(yīng)于每個用戶方面仍然存在挑戰(zhàn)。3D音頻的一種可能的應(yīng)用是在擴(kuò)展的現(xiàn)實(shí)場景中。擴(kuò)展的現(xiàn)實(shí)可以被定義為使用某種計算機(jī)生成的技術(shù)來擴(kuò)展現(xiàn)實(shí)世界情況。擴(kuò)展的現(xiàn)實(shí)、以及其他3D應(yīng)用需要精確的 3-D音頻。例如,用戶應(yīng)當(dāng)能夠?qū)⒙曇艟_定位為來自虛擬聲音源。盡管存在3D音頻技術(shù),但是期望改進(jìn)。如已經(jīng)提到的那樣,一種改進(jìn)是為用戶提供精確的HRTF。但是,還期望其它改進(jìn)。3D音頻信號應(yīng)當(dāng)是精確的、消費(fèi)者友好的、節(jié)省成本的,并且與現(xiàn)有音頻系統(tǒng)兼容。
發(fā)明內(nèi)容
提供了用于提供3D音頻的技術(shù)。3D音頻可以用在擴(kuò)展的現(xiàn)實(shí)中,但是這不是必需的。在此所公開的技術(shù)是精確的、節(jié)省成本的、用戶友好的,并且與現(xiàn)有音頻系統(tǒng)兼容。技術(shù)可以使用一個或多個傳感器來收集描述聽者所處的環(huán)境(例如房間)以及聽者在房間中的位置的現(xiàn)實(shí)世界數(shù)據(jù)。逼真的3D音頻信號可以基于從傳感器收集的數(shù)據(jù)生成。一種選擇是使用傳感器來收集描述聽者的物理特性(例如頭部和耳廓形狀和大小)的數(shù)據(jù)以便為該聽者確定合適的HRTF。一個實(shí)施例包括一種方法,該方法包括基于傳感器數(shù)據(jù)確定房間的物理特性; 確定聽者在該房間中的位置;以及基于該房間的物理特性和聽者在該房間中的位置確定3D音頻信號。一個實(shí)施例包括一種裝置,該裝置包括一個或多個傳感器、處理器以及計算機(jī)可讀存儲介質(zhì)。該計算機(jī)可讀存儲介質(zhì)其上存儲有指令,所述指令在處理器上執(zhí)行時致使該處理器使用傳感器來收集關(guān)于環(huán)境和聽者的數(shù)據(jù)。處理器基于傳感器數(shù)據(jù)確定環(huán)境的物理特性以及聽者在該環(huán)境中的位置。處理器基于環(huán)境的物理特性和聽者在該環(huán)境中的位置來確定3D音頻信號的不同分量。處理器將針對聽者的與頭部相關(guān)的傳輸函數(shù)(HRTF)應(yīng)用于 3D音頻信號的每個分量,并且提供3D音頻信號。一個實(shí)施例包括一種用于提供3D音頻信號的方法。該方法可以包括收集傳感器數(shù)據(jù),該傳感器數(shù)據(jù)可以包括深度信息。基于深度信息確定聽者的物理參數(shù)??梢曰?HRTF庫確定與頭部相關(guān)的傳輸函數(shù)(HRTF)——該確定可以基于聽者的物理參數(shù)??梢允占P(guān)于房間的深度信息的傳感器數(shù)據(jù)??梢曰谠撋疃刃畔⒋_定房間的物理參數(shù)??梢栽诜块g中確定聽者的位置。可以基于房間的物理參數(shù)以及聽者在該房間中的位置來確定虛擬聲音源與該聽者之間的聲音路徑?;诜块g的物理參數(shù),可以為每個聲音路徑確定3D 音頻信號的分量。針對聽者的HRTF可以應(yīng)用于3D音頻信號的每個分量,并且可以提供該 3D音頻信號。提供本發(fā)明內(nèi)容以便以簡化形式介紹將在以下的具體實(shí)施方式
中進(jìn)一步描述的一些概念。本發(fā)明內(nèi)容并不旨在標(biāo)識出所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于限定所要求保護(hù)的主題的范圍。
圖1描繪了運(yùn)動捕捉系統(tǒng)的示例性實(shí)施例。圖2描繪了圖1的運(yùn)動捕捉系統(tǒng)的示例性框圖。圖3是用于提供3D音頻信號的過程的一個實(shí)施例的流程圖。圖4A描繪了用于確定房間的模型的過程的流程圖。圖4B描繪了用于基于虛擬特性和真實(shí)特性來構(gòu)建房間模型的過程的一個實(shí)施例的流程圖。圖5A是用于確定3D音頻信號的音頻分量的過程的一個實(shí)施例的流程圖。圖5B描繪了房間的頂視圖以以2維示出可能的聲音路徑。圖6示出了用于確定聽者在房間中的位置和旋轉(zhuǎn)的過程的流程圖。圖7描述了用于為特定聽者確定HRTF的過程的一個實(shí)施例。圖8描繪了用于基于之前收集的詳細(xì)特性來為聽者選擇HRTF的過程的一個實(shí)施例的流程圖。圖9是描繪用于基于這樣的數(shù)據(jù)修改房間模型的過程的一個實(shí)施例的流程圖。圖10描繪了用于生成3D音頻信號的一個實(shí)施例的框圖。圖11描繪了可以在圖1的運(yùn)動捕捉系統(tǒng)中使用的計算環(huán)境的示例框圖。圖12描繪了可以在圖1的運(yùn)動捕捉系統(tǒng)中使用的計算環(huán)境的另一示例框圖。
具體實(shí)施例方式提供了用于提供3D音頻的技術(shù)。3D音頻可以用于擴(kuò)展現(xiàn)實(shí),但是其他應(yīng)用也是可能的。在此所公開的技術(shù)是精確的、節(jié)省成本的、用戶友好的,并且與現(xiàn)有音頻系統(tǒng)兼容。 3D音頻信號可以基于從聽者所在的實(shí)際房間中所收集的傳感器數(shù)據(jù)以及聽者在該房間中的實(shí)際位置來生成。該音頻信號可以表示“虛擬聲音”,該虛擬聲音表示來自3D空間中的某個特定位置的聲音。該位置可以表示在視頻屏幕上所顯示的某個物體、或者甚至聽者房間中的真實(shí)實(shí)物物體。在一些實(shí)施例中,3D音頻信號通過一組頭戴耳機(jī)被提供給聽者。該3D 音頻信號可以包括多個分量,這些分量基于所收集的傳感器數(shù)據(jù)和聽者的位置來確定。例如,墻壁和家具的位置可以從傳感器數(shù)據(jù)中確定。還可以確定虛擬聲音源與聽者之間的多個(虛擬)聲音路徑。該傳感器數(shù)據(jù)可以用于估計房間中的材料,使得可以確定這些材料在聲音在沿著這些路徑傳播時可能對聲音造成的影響。在一些實(shí)施例中,可以分析傳感器數(shù)據(jù)以確定聽者的物理特性,使得可以從HRTF庫中確定合適的HRTF。針對聽者的HRTF可以應(yīng)用于3D音頻信號的不同分量。下面討論其他細(xì)節(jié)。在一些實(shí)施例中,生成3D音頻信號被用于運(yùn)動捕捉系統(tǒng)中。因此,將描述示例性的運(yùn)動捕捉系統(tǒng)。然而,可以理解,本文所描述的技術(shù)不限于運(yùn)動捕捉系統(tǒng)。圖1描繪了運(yùn)動捕捉和3D音頻系統(tǒng)10的示例,其中房間(或其他環(huán)境)中的人與應(yīng)用交互。運(yùn)動捕捉和3D音頻系統(tǒng)10包括顯示器196、深度相機(jī)系統(tǒng)20、以及計算環(huán)境或裝置12。深度相機(jī)系統(tǒng)20可以包括圖像相機(jī)組件22,該圖像相機(jī)組件22具有光發(fā)射器M、光傳感器25、以及紅綠藍(lán)(RG^相機(jī)觀。在一個實(shí)施例中,光發(fā)射器M發(fā)射準(zhǔn)直光束。準(zhǔn)直光束的示例可包括但不限于,紅外(IR)和激光。在一個實(shí)施例中,光發(fā)射器M是LED。從視野6內(nèi)的聽者8、物體33、墻壁35等等反射離開的光由光傳感器25來檢測。在一些實(shí)施例中,系統(tǒng)10 使用該信息來確定如何生成3D音頻信號。描述該房間的諸如RGB信息(其在下面予以討論)之類其他信息可以用于確定如何生成3D音頻信號。亦稱為聽者的用戶站在深度相機(jī)系統(tǒng)20的視野6中。聽者8佩戴了用來提供3D 音頻聲音的頭戴耳機(jī)27。在該示例中,頭戴耳機(jī)27包括兩個音頻揚(yáng)聲器37,所述音頻揚(yáng)聲器37之一佩戴在每只耳朵之上或附近。系統(tǒng)10可以提供驅(qū)動音頻揚(yáng)聲器37的3D音頻信號。該3D音頻信號可以使用無線或有線連接來提供。在某個實(shí)施例中,系統(tǒng)10將3D音頻信號提供給另一組件,比如高保真度立體聲系統(tǒng)、HDTV等等。對于聽者8而言,3D音頻信號中的聲音可能似乎源自某個虛擬聲音源四。作為一個示例,虛擬聲音源29a可以是顯示器196上所顯示的物體。然而,虛擬聲音源29a可以對應(yīng)于房間中的某個真實(shí)物體^b。例如,可以指示用戶將玩偶侏儒(gnome)放置在他們面前的桌上,其中系統(tǒng)10可以使得對用戶而言就好像該玩偶侏儒正在與他們交談(由于通過頭戴27所播放的3D音頻的緣故)。虛擬聲音源四甚至可能好像源自房間之外。在一些實(shí)施例中,用戶“佩戴”一個或多個話筒31,所述話筒可以被系統(tǒng)10用于確定房間的聲學(xué)性質(zhì)以提供更逼真的3D音頻信號。在該示例中,話筒31位于頭戴耳機(jī)27 上,但是用戶可以將話筒31 “佩戴”在另一位置處。在一些實(shí)施例中,用戶“佩戴”一個或多個慣性傳感器38,所述慣性傳感器可以被系統(tǒng)10用于確定聽者8的位置和旋轉(zhuǎn)。在該示例中,慣性傳感器38位于用戶的頭上,但是用戶可以將慣性傳感器38 “佩戴”在另一位置處。 例如,慣性傳感器38可以集成到頭戴耳機(jī)27中。在一些實(shí)施例中,用戶8可以攜帶相機(jī), 該相機(jī)可以用于向系統(tǒng)10提供與深度相機(jī)系統(tǒng)20所生成的深度和/或RGB信息類似的深度和/或RGB信息。
線2和4表示視野6的邊界。可以定義笛卡兒世界坐標(biāo)系,其包括沿著深度相機(jī)系統(tǒng)20的焦距例如水平地延伸的ζ軸;垂直地延伸的y軸;以及側(cè)向地且水平地延伸的χ 軸。注意,附圖的透視被修改成簡化表示,顯示器196在y軸方向上垂直延伸,ζ軸垂直于y 軸和χ軸且與用戶所站立的地面平行地從深度相機(jī)系統(tǒng)20延伸出來。一般而言,運(yùn)動捕捉系統(tǒng)10用于識別、分析和/或跟蹤對象。計算環(huán)境12可包括計算機(jī)、游戲系統(tǒng)或控制臺等等,以及執(zhí)行應(yīng)用程序的硬件組件和/或軟件組件。深度相機(jī)系統(tǒng)20可以包括相機(jī),該相機(jī)用于可視地監(jiān)視諸如用戶之類的一個或多個物體8,使得可以捕捉、分析并跟蹤用戶所作出的姿勢和/或運(yùn)動,以執(zhí)行應(yīng)用中的一個或多個控制或動作,比如選中用戶界面(UI)中的菜單項(xiàng)。運(yùn)動捕捉系統(tǒng)10可以連接到諸如顯示器196等可向用戶提供視覺和音頻輸出的視聽設(shè)備,如電視機(jī)、監(jiān)視器、高清電視機(jī)(HDTV)等,或甚至是墻或其他表面上的投影。還可以經(jīng)由單獨(dú)的設(shè)備來提供音頻輸出。注意,3D音頻信號通常通過頭戴耳機(jī)27來提供。為驅(qū)動顯示器,計算環(huán)境12可包括提供與應(yīng)用相關(guān)聯(lián)的視聽信號的諸如圖形卡之類的視頻適配器和/或諸如聲卡之類的音頻適配器。顯示器196可以通過例如S-視頻電纜、同軸電纜、HDMI電纜、DVI電纜、VGA電纜等等連接到計算環(huán)境12。圖2描繪了圖1的運(yùn)動捕捉和3D音頻系統(tǒng)10的示例性框圖。系統(tǒng)10包括深度相機(jī)系統(tǒng)20和計算環(huán)境12。在該實(shí)施例中,計算環(huán)境12具有3D音頻生成195。計算環(huán)境 12輸入來自深度相機(jī)系統(tǒng)20的深度信息和RGB信息,并且將3D音頻信號輸出給音頻放大器197。音頻放大器197可以是諸如HDTV、立體聲系統(tǒng)等等之類的單獨(dú)設(shè)備的一部分。3D 音頻生成195可以通過在處理器192上執(zhí)行指令來實(shí)現(xiàn)。注意,硬件執(zhí)行的實(shí)施方式、以及混合型軟件/硬件實(shí)施方式也是可能的。深度相機(jī)系統(tǒng)20可被配置成生成深度圖像,該深度圖像可以包括深度值。深度相機(jī)系統(tǒng)20可以將深度圖像組織成“Z層”,或者可以與從深度相機(jī)系統(tǒng)20沿其視線延伸的Z 軸垂直的層。深度圖像可包括所捕捉的場景的二維O-D)像素區(qū)域,其中該2-D像素區(qū)域中的每個像素具有代表距離圖像相機(jī)組件22的線性距離(徑向距離)的或由像素觀察的 3D位置的Z分量(垂直距離)的相關(guān)聯(lián)的深度值。圖像相機(jī)組件22可以包括光發(fā)射器M和一個或多個光傳感器25來捕捉從視野內(nèi)的物體反射離開的光的強(qiáng)度。例如,深度相機(jī)系統(tǒng)20可使用光發(fā)射器M將光發(fā)射到物理空間上并使用光傳感器25來檢測從物理空間內(nèi)一個或多個對象的表面所反射的光。在一些實(shí)施例中,深度值基于光強(qiáng)來確定。例如,隨著時間的過去,越來越多的光子達(dá)到給定的像素。在收集時間段以后,每個像素處的光強(qiáng)被采樣。深度圖像中的深度值可以基于每個像素處的光強(qiáng)來確定。在一些實(shí)施例中,光發(fā)射器M發(fā)射脈沖紅外光。在一些實(shí)施例中, 光被調(diào)制到所期望的頻率。紅綠藍(lán)(RGB)相機(jī)洲可用于捕捉可見光圖像。深度相機(jī)系統(tǒng)20還可以包括話筒 30,其包括例如接收聲波并將其轉(zhuǎn)換成電信號的換能器或傳感器。另外,話筒30可用于接收也可由人提供的諸如聲音之類的音頻信號,以控制可由計算環(huán)境12運(yùn)行的應(yīng)用程序。音頻信號可包括人的口聲,如說的話、口哨聲、喊聲及其他發(fā)聲,以及非口聲,如掌聲或跺腳。 在一些實(shí)施例中,話筒30是話筒陣列,它可具有一起運(yùn)行的任何數(shù)量的話筒。如圖1中所述,還可以由用戶8佩戴一個或多個話筒31。這些話筒31的輸出可以被提供給計算環(huán)境12以供由3D音頻生成195來使用。如果期望的話,則話筒30的輸出也可以由3D音頻生成 195來使用。深度相機(jī)系統(tǒng)20可包括與圖像相機(jī)組件22進(jìn)行通信的處理器32。處理器32可以包括可執(zhí)行例如包括用于生成3D音頻信號的指令在內(nèi)的指令的標(biāo)準(zhǔn)化處理器、專用處理器、微處理器等等。深度相機(jī)系統(tǒng)20還可包括存儲器組件34,存儲器組件34可存儲可由處理器32執(zhí)行的指令、以及存儲RGB相機(jī)所捕捉的圖像或圖像幀、或任何其他合適的信息、圖像等等。 根據(jù)一個示例實(shí)施方式,存儲器組件34可包括隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、 高速緩存、閃存、硬盤或任何其他合適的有形計算機(jī)可讀存儲組件。存儲器組件34可以是經(jīng)由總線21與圖像捕捉組件22和處理器32通信的單獨(dú)的組件。根據(jù)另一實(shí)施例,存儲器組件34可被集成到處理器32和/或圖像捕捉組件22中。深度相機(jī)系統(tǒng)20可以通過通信鏈路36與計算環(huán)境12進(jìn)行通信。通信鏈路36可以是有線和/或無線連接。根據(jù)一個實(shí)施方式,計算環(huán)境12可以經(jīng)由通信鏈路36向深度相機(jī)系統(tǒng)20提供時鐘信號,該時鐘信號指出何時從位于深度相機(jī)系統(tǒng)20的視野中的物理空間捕捉圖像數(shù)據(jù)。此外,深度相機(jī)系統(tǒng)20可通過通信鏈路36向計算環(huán)境12提供深度信息和由RGB 相機(jī)觀捕捉的圖像。計算環(huán)境12然后可使用深度信息和所捕捉的圖像來控制應(yīng)用。例如,如圖2所示,計算環(huán)境12可包括諸如姿勢過濾器集合等姿勢庫190,每一姿勢過濾器具有關(guān)于可(在用戶移動時)執(zhí)行的姿勢的信息。例如,可以為各種手勢(如手的猛擊或投擲)提供姿勢過濾器。通過將檢測到的運(yùn)動與每一個過濾器進(jìn)行比較,可以標(biāo)識由人執(zhí)行的指定的姿勢或運(yùn)動。還可以確定執(zhí)行運(yùn)動的程度。計算環(huán)境還可包括處理器192,其用于執(zhí)行存儲在存儲器194中的指令以向顯示設(shè)備196提供音頻-視頻輸出信號并實(shí)現(xiàn)其他功能。圖3是用于提供3D音頻信號的過程300的一個實(shí)施例的流程圖。過程300可以在系統(tǒng)10內(nèi)實(shí)現(xiàn),但是可以使用不同的系統(tǒng)。在步驟301,收集傳感器數(shù)據(jù)。該傳感器數(shù)據(jù)可以包括、但不限于深度信息、GRB數(shù)據(jù)以及音頻數(shù)據(jù)。例如,可以使用深度相機(jī)系統(tǒng)20來用光傳感器25收集其(使用光發(fā)射器24)所發(fā)射的光。還可以使用RGB相機(jī)觀。在一個實(shí)施例中,使用由用戶8佩戴的一個或多個話筒31來收集傳感器數(shù)據(jù)。也可以使用深度相機(jī)系統(tǒng)20中的話筒30。在一個實(shí)施例中,用戶8握住相機(jī)并且將其在四周移動以收集房間周圍的傳感器數(shù)據(jù)。該數(shù)據(jù)可以包括深度信息和RGB數(shù)據(jù)。在步驟302,基于傳感器數(shù)據(jù)來確定聽者所在的房間或其他環(huán)境的物理特性。該傳感器數(shù)據(jù)可以用于確定諸如墻壁和各個物體位于何處之類的信息。而且,該傳感器數(shù)據(jù)可以用于估計房間中的材料。例如,傳感器數(shù)據(jù)可以用于確定地面是硬木還是地毯。在步驟304,確定聽者在房間中的位置。在一個實(shí)施例中,使用傳感器數(shù)據(jù)來確定聽者的位置。例如,可以使用在步驟302所收集的傳感器數(shù)據(jù)來確定聽者的位置。在步驟306,基于聽者在房間中的位置以及該房間的一個或多個物理特性來確定 3D音頻信號。作為一個示例,可以確定虛擬聲音源與聽者之間的多個聲音路徑。此外,可以將房間的物理特性作為因素計入。作為一個示例,從硬木地面反射離開的聲音將不同于從地毯反射的聲音。因此,對于具有這樣的路徑的聲音路徑而言,這可以作為因素計入。在一些實(shí)施例中,應(yīng)用針對聽者的HRTF以形成3D音頻信號。在一些實(shí)施例中,基于傳感器確定的特性來確定針對聽者的HRTF。例如,圖像相機(jī)組件20中的傳感器可以捕捉深度和/或 RGB數(shù)據(jù)。可以存在HRTF庫,其中基于匹配過程從該庫中選擇(或以其他方式確定)合適的 HRTF。在步驟308中,提供3D音頻信號。例如,3D音頻信號被提供給用于驅(qū)動頭戴耳機(jī) 27的音頻放大器197。注意,過程300可以通過如下方式重復(fù)收集更多傳感器數(shù)據(jù)(301); 重新確定房間的物理特性(步驟30 ;重新確定聽者的位置(步驟304)等等。然而,不需要連續(xù)地重復(fù)所有步驟。例如,過程300可以以任何所期望的間隔來重新確定房間特性。可以預(yù)期某些信息保持不變(例如墻壁的位置)。然而,諸如物體位置之類的其他房間信息可能隨時間改變。由于聽者的位置可能非常頻繁地改變,因此可以仔細(xì)地跟蹤聽者的位置。圖4A描繪了用于確定房間模型的過程400的一個實(shí)施例的流程圖。過程400可以用在過程300的步驟301、302和306中。例如,該模型可以從在步驟301所收集的傳感器數(shù)據(jù)中構(gòu)建,并且在步驟306被用于確定音頻分量。在步驟402,生成房間中的一個或多個物體的深度圖像。在一個實(shí)施例中,通過由深度相機(jī)系統(tǒng)20將頂射束發(fā)射到視野內(nèi)并且在一個或多個圖像傳感器處收集所反射的數(shù)據(jù)來形成深度圖像。然后,處理該傳感器數(shù)據(jù)以確定深度值(例如與各個物體相距的距離)。注意,由于視野可能是有限的,因此深度相機(jī)系統(tǒng)20可以調(diào)節(jié)視野并且重復(fù)收集附加的深度信息。在一些實(shí)施例中,圖像相機(jī)組件 22由電機(jī)來控制,該電機(jī)允許移動視野以捕捉房間的更完整的照片。如上所述,用戶8可以握住相機(jī)并且將其用于掃描房間以收集深度數(shù)據(jù)。在步驟404,生成房間中的一個或多個物體的RGB圖像。在一個實(shí)施例中,由深度相機(jī)系統(tǒng)20使用紅綠藍(lán)(RGB)相機(jī)28來形成RGB圖像。如上所述,用戶8可以握住相機(jī)并且將其用于掃描房間以收集RGB數(shù)據(jù)。RGB圖像可以與深度圖像一起從一個以上的數(shù)據(jù)收集步驟中形成。步驟402和404是步驟301的一個實(shí)施例。在步驟406,確定房間和該房間中的物體的物理尺寸。還可以確定物體的物理位置。該信息可以基于在步驟402和404所收集的數(shù)據(jù)。在一些實(shí)施例中,基于所收集的數(shù)據(jù)來外插出該物理尺寸。如所述那樣,深度相機(jī)系統(tǒng)20可能不能不收集整個房間的數(shù)據(jù)。 例如,參考圖1,視野可能不能捕捉整個墻壁35。在這樣的情況下,一種選擇是對所收集的數(shù)據(jù)進(jìn)行外插以針對沒有數(shù)據(jù)的區(qū)域估計墻壁35的位置。步驟406是步驟302的一個實(shí)施例。在步驟408,對房間中的物體的材料進(jìn)行估計。作為一個示例,對各件家具、墻壁、 天花板、地面等等的材料進(jìn)行估計。在一些實(shí)施例中,使用深度信息來輔助該確定。例如, 該深度信息可以用于確定地板是光滑的(以及可能確定是硬木的或是鋪了地板磚的)還是粗糙的(可能確定是鋪了地毯的)。還可以使用RGB信息。注意,不需要估計實(shí)際材料, 但是這是一種選擇。估計材料的原因是能夠確定該材料將如何影響聲音。因此,可以確定和排序可用于確定材料將如何影響聲音從物體離開的反射的任何參數(shù)。在步驟410,基于在步驟406和408確定的物理尺寸和材料來構(gòu)造房間的模型。之后,可以基于該房間模型生成3D音頻信號。例如,該模型可以用在過程300的步驟306。因此,可以用3D音頻信號來擴(kuò)展用戶房間的實(shí)際現(xiàn)實(shí)。步驟406、408和410是步驟302的一個實(shí)施例。
圖4B描繪了用于基于虛擬特性和真實(shí)特性來構(gòu)建房間模型的過程450的一個實(shí)施例。作為一個示例,可以使用處理器450來使得對于聽者而言好像他們的房間被以某種方式變換。例如,如果用戶玩視頻游戲,其中用戶想象他們處于監(jiān)獄牢房中,則處理器450 可以用于構(gòu)建具有監(jiān)獄牢房的特性的房間模型。該模型可以使用用戶房間的一些實(shí)際特性,比如物體的大小和位置。然而,替代于使用真實(shí)物體的實(shí)際材料,可以使用虛擬特性。例如,替代于實(shí)際的厚地毯,可以對水泥地面進(jìn)行建模。因此,聽者的房間的現(xiàn)實(shí)可以基于該模型由3D音頻信號來擴(kuò)展。在步驟452,訪問物體在實(shí)際房間中的物理尺寸和位置。這些特性可以已經(jīng)使用過程400被確定。然而,實(shí)際房間特性在期望時可以重新確定。在步驟454,確定虛擬環(huán)境的特性。例如,實(shí)現(xiàn)虛擬游戲的軟件應(yīng)用可以提供定義虛擬環(huán)境的參數(shù)。在本示例中,該應(yīng)用可以提供描述墻壁、地面、天花板等等的虛擬材料的參數(shù)。注意,這些參數(shù)可以以另一方式來確定。在步驟456,將虛擬特性應(yīng)用于實(shí)際房間特性。因此,替代于確定用戶的實(shí)際地面是鋪了地毯的以及確定聲音將如何受到地毯影響,將用戶的地面建模為水泥。然后,作出關(guān)于水泥將如何影響聲音反射的確定。如果期望的話,則可以讓虛擬特性應(yīng)用于房間中的各個物體。例如,如果期望讓沙發(fā)模擬大石(bolder),則可以讓石頭的特性應(yīng)用于沙發(fā)。在步驟458,基于來自步驟456的信息來構(gòu)建用戶房間的模型。該模型可以在生成 3D音頻信號時使用。例如,該模型可以用在圖3的過程300的步驟306。注意,用戶房間中的實(shí)際物體(家具、墻壁、天花板等等)可以用于確定該模型。因此,可以通過3D音頻信號來擴(kuò)展用戶的實(shí)際房間的現(xiàn)實(shí)。圖5A是用于確定3D音頻信號的分量的過程500的一個實(shí)施例的流程圖。過程500 是過程300的步驟306的一個實(shí)施例。在步驟502,確定虛擬聲音源四的位置。例如,如果用戶與顯示器196上所示的虛擬世界交互,則虛擬聲音源四可以是該虛擬世界中所顯示的某個物體。然而,虛擬聲音源四可以是用戶房間中的實(shí)際物體或虛擬物體。例如,用戶可以將物體放置在該房間中的所期望的位置處。然后,系統(tǒng)可以標(biāo)識出該物體的位置。作為特定的示例,系統(tǒng)可以指示用戶將物體放置在用戶想要放置的地方。作為響應(yīng),用戶可以在桌上放置玩偶侏儒。然后,系統(tǒng)例如通過使用深度相機(jī)系統(tǒng)來確定物體的位置。如前面所討論的那樣,系統(tǒng)可以跟蹤用戶的物理位置。因此,系統(tǒng)能夠通過跟蹤用戶的運(yùn)動來確定用戶已經(jīng)將玩偶侏儒放置在了桌上。可以將其他技術(shù)用于該系統(tǒng)以確定虛擬聲音源四的實(shí)際位置。虛擬聲音源四甚至可以處于房間之外。例如,系統(tǒng)可以使得某人好像在敲門或者從門的另一側(cè)談話。在步驟504,確定虛擬聲音源四與聽者8之間的聲音路徑。這可以包括確定直接路徑和一個或多個間接路徑。步驟504可以基于已經(jīng)在過程300的步驟302確定的房間信息。圖5B描繪了房間的頂視圖以以2維示出可能的聲音路徑。注意,系統(tǒng)10可以以3維確定聲音路徑;然而使用2維來簡化說明。在步驟504以前,系統(tǒng)可以確定聽者8和房間中的其他物體33的位置。作為一個示例,其他物體33可以是沙發(fā)。在該示例中,聲音路徑包括直接聲音路徑和兩個間接聲音路徑。一個間接聲音路徑是包括從一個物體的聲音反射的一階路徑。還描繪了包括從兩個物體的反射的二階路徑。在該示例中,物體33阻擋潛在的一階路徑(其由指向物體33的虛線箭頭來指示)。還可以確定三階和更高階的路徑。注意,可以考慮從墻壁以外的物體離開的反射。圖5B的具體視圖未描繪離開地面和天花板的聲音反射,但是也可以考慮這些聲音路徑。在步驟506,為每個聲音路徑確定3D音頻信號的分量。這些不同分量可以聯(lián)合以形成3D音頻信號。關(guān)于房間中的材料的信息可以用在步驟506。例如,如果已經(jīng)確定沿著一階路徑存在關(guān)閉的窗,則可以將聲音從玻璃反射離開的影響作為因素計入。另一方面, 可能確定該窗當(dāng)前為打開的,在這種情況下,一階路徑可以不加以考慮。作為另一示例,窗簾可能被關(guān)閉,在這種情況下,考慮窗簾對一階路徑上傳播的聲音的影響。如之前所述,關(guān)于房間的信息可以以任何所期望的間隔更新。因此,當(dāng)用戶進(jìn)行交互時,所生成的3D音頻信號可能由于諸如用戶打開窗、關(guān)閉窗簾等等之類的情況而改變。在步驟508,將針對聽者的HRTF應(yīng)用于每個音頻分量。下面討論為聽者確定合適 HRTF的進(jìn)一步細(xì)節(jié)。在將HRTF應(yīng)用于每個音頻分量以后,這些分量可以合并以生成3D音頻信號。注意,在輸出3D音頻信號以前可以執(zhí)行其他處理。圖6示出了用于確定聽者在房間中的位置和旋轉(zhuǎn)的過程600的流程圖。例如,過程 600可以用于確定用戶的頭旋轉(zhuǎn)到哪個方位。過程600是過程300的步驟304的一個實(shí)施例。注意,過程600不一定包括收集用于為聽者8確定合適HRTF的信息。該信息可以如下面所述那樣以更加受限的基礎(chǔ)來收集。該示例性方法例如可以使用深度相機(jī)系統(tǒng)20來實(shí)現(xiàn)??梢話呙栌脩?來生成模型,比如骨架模型、網(wǎng)格人類模型、或人的任何其他合適的表示。然后,該模型可以與房間信息一起用于確定用戶在該房間中的位置。用戶的旋轉(zhuǎn)(例如用戶的頭所取向的方位)也可以從該模型中確定。根據(jù)一個實(shí)施方式,在步驟602中,例如,從深度相機(jī)系統(tǒng)接收深度信息??梢詫⑸疃葓D像下采樣到較低的處理分辨率,使得其可以更容易地用較少的計算開銷來使用和處理。另外,可從深度圖像中移除和/或平滑掉一個或多個高變度和/或含噪聲的深度值;可填入和/或重構(gòu)缺少的和/或移除的深度信息的部分;和/或可對所接收的深度信息執(zhí)行任何其他合適的處理,使得該深度信息可用于生成諸如骨架模型等模型。在判定步驟604,判定深度圖像是否包括人類目標(biāo)。這可以包括對深度圖像中的每一個目標(biāo)或物體進(jìn)行泛色填充,將該目標(biāo)或物體與圖案進(jìn)行比較以判斷深度圖像是否包括人類目標(biāo)。例如,可以如上文所描述的那樣將深度圖像的選定區(qū)域或點(diǎn)中的像素的各種深度值進(jìn)行比較,以確定可以定義目標(biāo)或?qū)ο蟮倪吘???苫谒_定的邊緣來對Z層的可能Z 值進(jìn)行泛色填充。例如,與確定的邊緣相關(guān)聯(lián)的像素和該邊緣內(nèi)的區(qū)域的像素可以彼此相關(guān)聯(lián),以定義可以與圖案相比較的捕捉區(qū)域中的目標(biāo)或?qū)ο螅@在下面將更詳細(xì)地描述。如果判定步驟604為真,則執(zhí)行步驟606。如果判斷步驟604為假,則在步驟602 中接收附加的深度信息。每一個目標(biāo)或?qū)ο笈c其比較的圖案可包括一個或多個數(shù)據(jù)結(jié)構(gòu),這些數(shù)據(jù)結(jié)構(gòu)具有共同地定義人的典型身體的變量集合。可以將與例如視野內(nèi)的人類目標(biāo)和非人類目標(biāo)的像素相關(guān)聯(lián)的信息與變量進(jìn)行比較,以標(biāo)識人類目標(biāo)。在一個實(shí)施例中,可以基于身體部位,對該集合中的每一個變量賦予權(quán)重。例如,圖案中的諸如頭和/或肩之類的各種身體部位可以具有與其相關(guān)聯(lián)的權(quán)重值,這些權(quán)重值可以大于諸如腿之類的其他身體部位的權(quán)重值。根據(jù)一個實(shí)施方式,當(dāng)將目標(biāo)與變量進(jìn)行比較以判斷目標(biāo)是否可能是人類以及哪些目標(biāo)可能是人類時,可以使用權(quán)重值。例如,變量和目標(biāo)之間具有較大的權(quán)重值的匹配與具有較小權(quán)重值的匹配相比可產(chǎn)生目標(biāo)是人類的更大似然性。步驟606包括掃描人類目標(biāo)以尋找身體部位。可以掃描人類目標(biāo),以提供與人的一個或多個身體部位相關(guān)聯(lián)的諸如長度、寬度等等之類的測量值,以提供該人的準(zhǔn)確模型。 在一示例實(shí)施例中,人類目標(biāo)可以被隔離,并且可以創(chuàng)建人類目標(biāo)的位掩模來掃描一個或多個身體部位??梢酝ㄟ^例如對人目標(biāo)進(jìn)行泛色填充來創(chuàng)建位掩模,以便人類目標(biāo)可以與捕捉區(qū)域元素中的其他目標(biāo)或?qū)ο蠓蛛x。然后,可以對于一個或多個身體部位分析位掩碼, 以生成人類目標(biāo)的模型,如骨架模型、網(wǎng)格人類模型等等。步驟608包括生成人類目標(biāo)的模型。在一個實(shí)施方式中,可以使用由掃描的位掩模確定的測量值來定義骨架模型中的一個或多個關(guān)節(jié)。一個或多個關(guān)節(jié)被用來定義對應(yīng)于人類的身體部位的一個或多個骨頭。一般而言,每個身體部位可被表征為定義骨架模型的關(guān)節(jié)和骨骼的數(shù)學(xué)向量。身體部位在關(guān)節(jié)處可以相對于彼此移動。模型可以包括描述用戶的頭的旋轉(zhuǎn)的信息,使得得知用戶的耳朵的取向。在步驟610,在用戶上的慣性傳感器收集數(shù)據(jù)。在一個實(shí)施例中,至少一個慣性傳感器位于用戶的頭上以允許跟蹤用戶的頭。在步驟611中,通過每秒鐘多次更新人的位置來跟蹤模型。隨著用戶在物理空間中移動,使用來自深度相機(jī)系統(tǒng)的信息來調(diào)整骨架模型,以使該骨架模型表示人。來自慣性傳感器的數(shù)據(jù)也可以用于跟蹤用戶。具體而言,可以向骨架模型的一個或多個受力面施加一個或多個力,以將骨架模型調(diào)整為更加緊密地對應(yīng)于物理空間中的人類目標(biāo)的姿態(tài)的姿態(tài)。一般而言,可使用用于跟蹤一個或多個人的運(yùn)動的任何已知技術(shù)。在步驟612,基于對模型的跟蹤來確定用戶在房間中的位置。在步驟614,基于對模型的跟蹤來確定用戶的頭的旋轉(zhuǎn)。過程600可以繼續(xù)跟蹤用戶,使得位置和旋轉(zhuǎn)可以更新。在一些實(shí)施例中,基于聽者8的物理特性從HRTF庫中確定針對用戶8的HRTF。這些物理特性可以基于諸如深度信息和RGB信息之類的來自傳感器的輸入來確定。圖7描述了用于為特定聽者8確定HRTF的過程700的一個實(shí)施例。該HRTF可以用在過程300的步驟306或者過程500的步驟508。注意,HRTF可以在任何時間確定。作為一個示例,為用戶確定一次HRTF,并且將其存儲以供反復(fù)使用。當(dāng)然,可能修訂HRTF (例如選擇新的HRTF)。在步驟702,系統(tǒng)10指示用戶8采取某個位置或姿態(tài)。例如,系統(tǒng)指示用戶向左看。在步驟704,系統(tǒng)10收集用戶處于該位置的情況下的數(shù)據(jù)。例如,使用深度相機(jī)系統(tǒng) 20來收集深度信息(利用傳感器25)以及RGB信息(利用傳感器觀)。在步驟706,系統(tǒng)數(shù)據(jù)是否有效。例如,如果系統(tǒng)曾預(yù)期針對右耳的數(shù)據(jù),則系統(tǒng)確定該數(shù)據(jù)是否與針對右耳所預(yù)期的數(shù)據(jù)相匹配。如果否,步驟702可以重復(fù),使得再次指示用戶采取正確的姿態(tài)。如果數(shù)據(jù)有效(步驟706為“是”),則系統(tǒng)確定是否存在該用戶要采取的更多位置/姿態(tài)。在接下來的迭代中,可以要求用戶向正前方看,向右看等等??梢允占槍Χ喾N多樣的位置的數(shù)據(jù)。當(dāng)收集到合適的數(shù)據(jù)時,過程700繼續(xù)到步驟710以在步驟710為聽者8確定 HRTF。在一些實(shí)施例中,存在可從中進(jìn)行選擇的HRTF庫。這些HRTF可以與用戶的各種物理特性相關(guān)聯(lián)。示例包括、但不限于頭大小和寬度、耳廓特性、身體尺寸。例如,特定的HRTF 可以與同頭大小和耳廓相關(guān)的特定測量結(jié)果相關(guān)聯(lián)。這些測量結(jié)果可以是某個范圍或單個
12值。例如,一個測量結(jié)果可以是頭寬度,這可以表達(dá)根據(jù)單個值或某個范圍來表達(dá)。然后, 系統(tǒng)可以通過將用戶的物理特性與同庫中HRTF相關(guān)聯(lián)的物理特性進(jìn)行匹配來為用戶選擇 HRTF0可以使用任何技術(shù)來確定最佳匹配。在一個實(shí)施例中,系統(tǒng)進(jìn)行內(nèi)插以為用戶確定 HRTF0例如,用戶的測量結(jié)果可以處于兩個HRTF的測量結(jié)果之間,在這種情況下,可以通過對兩個HRTF的參數(shù)進(jìn)行內(nèi)插來確定針對該用戶的HRTF。接著,系統(tǒng)可以執(zhí)行附加的步驟以驗(yàn)證該HRTF確定是良好的,并且可能為該聽者選擇更好的HRTF。在步驟712,系統(tǒng)為該用戶播放3D音頻信號。這可以通過用戶佩戴的頭戴耳機(jī)來播放。在步驟714,可以要求用戶指向3D音頻信號的明顯的源。在一個實(shí)施例中, 該過程被制成游戲,其中要求用戶對著該聲音射擊。例如,系統(tǒng)在沒有任何視覺表示的情況下播放鴨子聲音。在步驟716,系統(tǒng)確定用戶所指向的位置。步驟716可以包括使用深度相機(jī)系統(tǒng)來收集深度信息。系統(tǒng)還可以向用戶要求話音輸入,該語音輸入可以由該系統(tǒng)使用語音識別來識別??梢葬槍ζ渌曇糁貜?fù)步驟712-716,直到在步驟717確定收集到足夠的數(shù)據(jù)。在步驟718,系統(tǒng)確定HRTF的有效程度。例如,系統(tǒng)確定用戶能夠多精確地對虛擬聲音進(jìn)行定位。在一個實(shí)施例中,如果用戶命中聲音源(例如用戶射中鴨子),則系統(tǒng)在顯示器196上顯示該鴨子。然后,系統(tǒng)確定是否應(yīng)當(dāng)為該用戶確定不同的HRTF。如果是,則通過返回到步驟710來確定新的HRTF。過程700可以重復(fù)步驟712-718,直到找到令人滿意的 HRTF。在步驟722,為用戶存儲HRTF。注意,這不一定是在過程700中被測試的最后一個 HRTF。也就是說,系統(tǒng)可以確定之前在過程700曾被測試的HRTF之一可能是最好的。還應(yīng)注意,可以為給定用戶存儲一個以上的HRTF。例如,可以針對佩戴眼鏡和未佩戴眼鏡的用戶重復(fù)過程700,為每種情況存儲一個HRTF。如所述那樣,用于確定聽者8的詳細(xì)特性使得可以為該用戶存儲HRTF的這個過程可以不頻繁地進(jìn)行——可能僅僅進(jìn)行一次。圖8描繪了用于基于之前收集的詳細(xì)特性來為聽者8選擇HRTF的過程800的一個實(shí)施例的流程圖。例如,過程700可以在過程800以前執(zhí)行一次。然后,過程800可以執(zhí)行許多次。在步驟802,使用生物測定信息來標(biāo)識出聽者 8。注意,該信息不同于在過程700收集的信息。然而,可能的是,可能存在信息的一些重疊。 收集生物測定信息可以包括收集深度信息和RGB信息。在一個實(shí)施例中,系統(tǒng)能夠例如基于面部識別來識別聽者。在步驟804,為在步驟802所標(biāo)識出的用戶選擇合適的HRTF。在一個實(shí)施例中,選擇在過程700為該用戶存儲的HRTF。在另一實(shí)施例中,詳細(xì)的用戶特性已經(jīng)在過程700被存儲。然后,在過程800,可以基于所存儲的詳細(xì)用戶特性來選擇HRTF。如果期望的話,這些所存儲的詳細(xì)用戶特性可以被當(dāng)前所收集的信息擴(kuò)充例如,用戶可能在此時戴著帽子。因此,系統(tǒng)可以在過程700期間選擇與用戶未戴帽子的情況不同的HRTF。如上所述,用戶可能佩戴可收集關(guān)于房間的聲學(xué)數(shù)據(jù)的一個或多個話筒。圖9是描繪用于基于這樣的數(shù)據(jù)修改房間模型的過程900的一個實(shí)施例的流程圖。作為一個示例,過程400可能已經(jīng)執(zhí)行了至少一次以基于深度圖像和/或RGB圖像來確定房間模型。然后,過程900可以用于修改該房間模型。在步驟902,通過位于聽者所在的房間中的揚(yáng)聲器來播放聲音。該步驟可以在任何時間執(zhí)行以幫助細(xì)化房間的模型。在任選步驟904,指示用戶在播放聲音時在房間四周走動。不一定具體地告知用戶應(yīng)走到那里。另一方面,可以指示用戶走到房間四周的不同位置;然而,這不是必需的。注意,步驟904是任選的。在一個實(shí)施例中,不是指示用戶他們應(yīng)當(dāng)在房間四周自動,而是簡單地假定用戶作為正常玩游戲或其他交互的一部分而將在四周移動。在步驟906,在播放聲音時收集來自用戶所佩戴的一個或多個話筒31的數(shù)據(jù)。用戶可以將這些話筒31佩戴在其耳朵附近,但是這不是必需的。在步驟908,確定用戶的位置并且將該位置與從話筒31收集的數(shù)據(jù)相關(guān)。一種選擇是使用深度信息和RGB信息來對用戶進(jìn)行定位。在步驟910,基于在步驟906被收集、在步驟908與用戶位置相關(guān)的數(shù)據(jù)來確定房間聲學(xué)特性。在步驟912,基于在步驟910所確定的聲學(xué)性質(zhì)來更新房間模型。如所述那樣,過程400可以以所期望的頻繁程度執(zhí)行。因此,一種選擇是使用過程 400構(gòu)建房間模型。然后,可以使用過程900來更新房間模型。接著,可以再次使用過程400 一次或多次來更新(或重新創(chuàng)建)房間模型。另一選擇是將過程900與過程400相組合。 例如,所生成的初始房間模型可以基于過程400和900 二者的使用。圖10描繪了用于生成3D音頻信號的一個實(shí)施例的框圖。該框圖提供了過程300 的一個實(shí)施例的附加細(xì)節(jié)。聲音源1002表示3D音頻信號所基于的虛擬聲音。例如,該聲音源可以是狗叫的(錄制的或計算機(jī)生成的)數(shù)字?jǐn)?shù)據(jù)??偟膩碚f,聲音源1002是沿著若干路徑——直接路徑和若干反射路徑——被處理的。圖5B中提供了這些路徑的一個示例。 對于直接路徑而言,通過施加增益和濾波器1006來處理聲音源1002 ;然后為聽者應(yīng)用HRTF 1008。對于間接路徑而言,首先為每個反射路徑計算1004方位角和仰角。然后,該處理類似于針對直接路徑所描述的處理。該結(jié)果可以在施加所估計的混響尾音(reverb tail) 1010 以產(chǎn)生最終的3D音頻信號以前相加,該3D音頻信號可以通過頭戴耳機(jī)來播放1012。圖10的圖描繪了可以出于不同原因使用的傳感器輸入。傳感器輸入可以用于計算用戶的位置和旋轉(zhuǎn),這如框1020中所示。傳感器輸入可以用于構(gòu)建房間模型,以及用于估計房間材料,這如框1030所示。最后,傳感器輸入可以用于確定用戶特性,比如耳廓和頭部特性,這如框1040所示。這些用戶特性可以用于為該用戶確定HRTF。注意,針對用戶的 HRTF不要求是來自庫的HRTF。例如,可以使用內(nèi)插來從庫中的兩個或更多個HRTF中形成 HRTF???020的傳感器輸入(其用于計算用戶位置)可以包括、但不限于深度信息、RGB 信息、以及慣性數(shù)據(jù)(其來自在用戶上的慣性傳感器)。框1030的傳感器輸入(其用于計算房間模型)可以包括、但不限于深度信息、RGB信息、以及聲學(xué)數(shù)據(jù)(其例如來自用戶佩戴的話筒)。框1040的傳感器輸入(其用于確定HRTF)可以包括、但不限于深度信息和RGB
fn息ο為了計算反射的方位角和仰角,可以使用來自框1020和1030的數(shù)據(jù)。類似地,增益和濾波器可以使用來自框1020和1030的數(shù)據(jù)。注意,該傳感器數(shù)據(jù)可以在任何時間更新。例如,用戶可能移動,使得捕捉用戶位置的傳感器數(shù)據(jù)非常頻繁地變化。這些改變例如可以被饋送給方位角和仰角計算1004,使得不斷地因改變的用戶位置而更新3D音頻信號。 類似地,用戶位置的改變可以實(shí)時地饋送給增益和濾波器1006。在一些實(shí)施例中,針對用戶的HRTF不是實(shí)時地更新。然而,實(shí)時地更新針對用戶的HRTF是一種選擇。在接近生成3D音頻信號結(jié)束時添加的混響尾音可以基于房間模型和對材料的估計。因此,框1030可以是用于估計混響尾音1010的輸入。在一個實(shí)施例中,系統(tǒng)存儲與諸如房間大小和材料之類的因素相關(guān)的混響尾音的庫。系統(tǒng)能夠基于房間模型選擇混響尾音之一。系統(tǒng)還可以在兩個所存儲的混響尾音之間內(nèi)插。因此,通過選擇所存儲的混響尾音, 節(jié)省了計算時間。圖11描繪了可用于生成3D音頻信號的計算環(huán)境的示例性框圖。該計算環(huán)境可以用在圖1的運(yùn)動捕捉系統(tǒng)中。上文所描述的諸如計算環(huán)境12等的計算環(huán)境可包括諸如游戲控制臺等的多媒體控制臺100??刂婆_100可以從圖2的深度相機(jī)系統(tǒng)20接收輸入??刂婆_還可以從話筒31和慣性傳感器38接收輸入,所述話筒31和慣性傳感器38 二者都可以由用戶佩戴。控制臺 100可以將3D音頻信號輸出給音頻放大器197。多媒體控制臺100包括具有1級高速緩存102、2級高速緩存104和閃存R0M(只讀存儲器)106的中央處理單元(CPU) 101。一級高速緩存102和二級高速緩存104臨時存儲數(shù)據(jù)并因此減少存儲器訪問周期數(shù),由此改進(jìn)處理速度和吞吐量。CPU 101可以設(shè)置成具有一個以上的內(nèi)核,以及由此的附加的一級和二級高速緩存102和104。諸如閃存ROM之類的存儲器106可存儲當(dāng)多媒體控制臺100通電時在引導(dǎo)過程的初始階段期間加載的可執(zhí)行代碼。圖形處理單元(GPU) 108和視頻編碼器/視頻編解碼器(編碼器/解碼器)114形成用于高速和高分辨率圖形處理的視頻處理流水線。經(jīng)由總線從圖形處理單元108向視頻編碼器/視頻編解碼器114運(yùn)送數(shù)據(jù)。視頻處理流水線向A/V(音頻/視頻)端口 140輸出數(shù)據(jù),用于傳輸至電視或其他顯示器。存儲器控制器110連接到GPU 108,以便于處理器對各種類型的存儲器112,比如RAM(隨機(jī)存取存儲器)的處理器訪問。A/V端口 140可以連接到顯示器196。多媒體控制臺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和128用作外圍控制器142 (1)-142 (2)、無線適配器148、 和外置存儲器設(shè)備146(例如閃存、外置CD/DVD ROM驅(qū)動器、可移動介質(zhì)等)的主機(jī)。網(wǎng)絡(luò)接口(NW IF) IM和/或無線適配器148提供對網(wǎng)絡(luò)(例如,因特網(wǎng)、家庭網(wǎng)絡(luò)等)的訪問并且可以是包括以太網(wǎng)卡、調(diào)制解調(diào)器、藍(lán)牙模塊、電纜調(diào)制解調(diào)器等的各種不同的有線或無線適配器組件中任何一種。提供系統(tǒng)存儲器143來存儲在引導(dǎo)過程期間加載的應(yīng)用數(shù)據(jù)。提供了媒體驅(qū)動器 144,其可以包括DVD/CD驅(qū)動器、硬盤驅(qū)動器、或其他可移動媒體驅(qū)動器。介質(zhì)驅(qū)動器144 可以在多媒體控制臺100的內(nèi)部或外部。應(yīng)用數(shù)據(jù)可經(jīng)由介質(zhì)驅(qū)動器144訪問,以由多媒體控制臺100執(zhí)行、回放等。媒體驅(qū)動器144經(jīng)由諸如串行ATA總線或其他高速連接等總線連接到I/O控制器120。系統(tǒng)管理控制器122提供涉及確保多媒體控制臺100的可用性的各種服務(wù)功能。 音頻處理單元123和音頻編解碼器132形成具有高保真度和立體聲處理的對應(yīng)的音頻處理流水線。音頻數(shù)據(jù)經(jīng)由通信鏈路在音頻處理單元123與音頻編解碼器132之間傳輸。音頻處理流水線將數(shù)據(jù)輸出到A/V端口 140以供外置音頻播放器或具有音頻能力的設(shè)備再現(xiàn)。 在一些實(shí)施例中,3D音頻信號通過A/V端口 140來提供,但是3D音頻信號可以通過不同的連接來提供。前面板I/O子部件130支持暴露在多媒體控制臺100的外表面上的電源按鈕150 和彈出按鈕152以及任何LED(發(fā)光二極管)或其他指示器的功能。系統(tǒng)供電模塊136向多媒體控制臺100的組件供電。風(fēng)扇138冷卻多媒體控制臺100內(nèi)的電路。CPU 101、GPU 108、存儲器控制器110、和多媒體控制臺100內(nèi)的各個其他組件經(jīng)由一條或多條總線互連,包括串行和并行總線、存儲器總線、外圍總線、和使用各種總線架構(gòu)中任一種的處理器或局部總線。當(dāng)多媒體控制臺100通電時,應(yīng)用數(shù)據(jù)可從系統(tǒng)存儲器143加載到存儲器112和/ 或高速緩存102、104中并在CPU 101上執(zhí)行。應(yīng)用可呈現(xiàn)在導(dǎo)航到多媒體控制臺100上可用的不同媒體類型時提供一致的用戶體驗(yàn)的圖形用戶界面。在操作中,介質(zhì)驅(qū)動器144中包含的應(yīng)用和/或其他媒體可從介質(zhì)驅(qū)動器144啟動或播放,以向多媒體控制臺100提供附加功能。多媒體控制臺100可通過將該系統(tǒng)連接到電視機(jī)或其他顯示器而作為獨(dú)立系統(tǒng)來操作。在該獨(dú)立模式中,多媒體控制臺100允許一個或多個用戶與該系統(tǒng)交互、看電影、 或聽音樂。然而,隨著通過網(wǎng)絡(luò)接口 1 或無線適配器148可用的寬帶連接的集成,多媒體控制臺100還可作為較大網(wǎng)絡(luò)社區(qū)中的參與者來操作。當(dāng)多媒體控制臺100通電時,可以保留指定量的硬件資源以供多媒體控制臺操作系統(tǒng)作系統(tǒng)使用。這些資源可以包括存儲器保留(例如,16MB)、CPU和GPU周期(例如, 5%)、網(wǎng)絡(luò)帶寬(例如,SlAs)等。因?yàn)檫@些資源是在系統(tǒng)引導(dǎo)時保留的,所以所保留的資源對應(yīng)用程序而言是不存在的。具體地,存儲器保留可以是足夠大以包含啟動內(nèi)核、并發(fā)系統(tǒng)應(yīng)用和驅(qū)動程序。 CPU保留可以是恒定的,使得若所保留的CPU使用不被系統(tǒng)應(yīng)用使用,則空閑線程將消耗任何未使用的周期。對于GPU保留,通過使用GPU中斷來顯示由系統(tǒng)應(yīng)用生成的輕量消息(例如,彈出窗口),以調(diào)度代碼來將彈出窗口呈現(xiàn)為覆蓋圖。覆蓋圖所需的存儲器量取決于覆蓋區(qū)域大小,并且覆蓋圖可與屏幕分辨率成比例縮放。在并發(fā)系統(tǒng)應(yīng)用使用完整用戶界面的情況下, 優(yōu)選使用獨(dú)立于應(yīng)用分辨率的分辨率。定標(biāo)器可用于設(shè)置該分辨率,從而無需改變頻率并引起TV重新同步。在多媒體控制臺100引導(dǎo)且系統(tǒng)資源被保留之后,就執(zhí)行并發(fā)系統(tǒng)應(yīng)用來提供系統(tǒng)功能。系統(tǒng)功能被封裝在上述所保留的系統(tǒng)資源中執(zhí)行的一組系統(tǒng)應(yīng)用中。操作系統(tǒng)內(nèi)核標(biāo)識了是系統(tǒng)應(yīng)用線程而非游戲應(yīng)用線程的線程。系統(tǒng)應(yīng)用可被調(diào)度為在預(yù)定時間并以預(yù)定時間間隔在CPU 101上運(yùn)行,來為應(yīng)用提供一致的系統(tǒng)資源視圖。進(jìn)行調(diào)度是為了把對于控制臺上運(yùn)行的游戲應(yīng)用的高速緩存分裂最小化。當(dāng)并發(fā)系統(tǒng)應(yīng)用需要音頻時,則由于時間敏感性而異步調(diào)度音頻處理給游戲應(yīng)用。多媒體控制臺應(yīng)用管理器(如下所述)在系統(tǒng)應(yīng)用活動時控制游戲應(yīng)用的音頻水平 (例如,靜音、衰減)。輸入設(shè)備(例如,控制器142(1)和142( )由游戲應(yīng)用和系統(tǒng)應(yīng)用共享。輸入設(shè)備不是所保留的資源,但卻在系統(tǒng)應(yīng)用和游戲應(yīng)用之間切換以使其各自具有設(shè)備的焦點(diǎn)。 應(yīng)用管理器可控制輸入流的切換,而無需知曉游戲應(yīng)用的知識,并且驅(qū)動程序維持有關(guān)焦點(diǎn)切換的狀態(tài)信息。圖12描繪了可用于提供3D音頻信號的計算環(huán)境的另一示例性框圖。計算環(huán)境可以從圖2的深度相機(jī)系統(tǒng)20接收輸入。計算環(huán)境還可以從話筒31和慣性傳感器38接收輸入,所述話筒31和慣性傳感器38 二者都可以由用戶佩戴。計算環(huán)境可以將3D音頻信號輸出給頭戴耳機(jī)27。計算環(huán)境220包括通常包括各種有形計算機(jī)可讀存儲介質(zhì)的計算機(jī)Ml。這可以是能由計算機(jī)241訪問的任何可用介質(zhì),而且包含易失性和非易失性介質(zhì)、可移動和不可移動介質(zhì)。系統(tǒng)存儲器222包括易失性和/或非易失性存儲器形式的計算機(jī)存儲介質(zhì),如只讀存儲器(ROM) 223和隨機(jī)存取存儲器(RAM06O?;据斎?輸出系統(tǒng)224 ¢10 包括如在啟動時幫助在計算機(jī)Ml內(nèi)的元件之間傳輸信息的基本例程,它通常儲存在ROM 223 中。RAM 260通常包含處理單元259可以立即訪問和/或目前正在操作的數(shù)據(jù)和/或程序模塊。圖形接口 231與GPU 2 進(jìn)行通信。作為示例而非局限,圖12描繪了操作系統(tǒng)225、 應(yīng)用程序226、其他程序模塊227和程序數(shù)據(jù)228。計算機(jī)241也可以包括其他可移動/不可移動、易失性/非易失性計算機(jī)存儲介質(zhì),例如,讀寫不可移動、非易失性磁性介質(zhì)的硬盤驅(qū)動器238,讀寫可移動、非易失性磁盤 254的磁盤驅(qū)動器239,以及讀寫諸如CD ROM或其他光學(xué)介質(zhì)之類的可移動、非易失性光盤 253的光盤驅(qū)動器M0??梢栽谠撌纠圆僮鳝h(huán)境中使用的其他可移動/不可移動、易失性 /非易失性有形計算機(jī)可讀存儲介質(zhì)包括但不限于,磁帶盒、閃存卡、數(shù)字多功能盤、數(shù)字錄像帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅(qū)動器238通常由例如接口 234等不可移動存儲器接口連接至系統(tǒng)總線221,而磁盤驅(qū)動器239和光盤驅(qū)動器240通常由例如接口 235等可移動存儲器接口連接至系統(tǒng)總線221。以上討論并在圖12中描繪的驅(qū)動器及其相關(guān)聯(lián)的計算機(jī)存儲介質(zhì)為計算機(jī)241 提供了對計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其他數(shù)據(jù)的存儲。例如,硬盤驅(qū)動器238 被描繪為存儲了操作系統(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 提供了不同的編號,以說明至少它們是不同的副本。用戶可以通過諸如鍵盤251和定點(diǎn)設(shè)備252(通常被稱為鼠標(biāo)、跟蹤球或觸摸墊)之類的輸入設(shè)備向計算機(jī)241輸入命令和信息。其他輸入設(shè)備(未示出)可包括話筒、游戲桿、游戲手柄、圓盤式衛(wèi)星天線、掃描儀等。 這些和其他輸入設(shè)備通常由耦合至系統(tǒng)總線的用戶輸入接口 236連接至處理單元259,但也可以由諸如并行端口、游戲端口或通用串行總線(USB)等其他接口和總線結(jié)構(gòu)來進(jìn)行連接。圖2的包括相機(jī)觀的深度相機(jī)系統(tǒng)20可以定義附加的輸入設(shè)備。顯示器196也經(jīng)由諸如視頻接口 232之類的接口連接至系統(tǒng)總線221。除監(jiān)視器之外,計算機(jī)還可以包括可以通過輸出外圍接口 233連接的諸如頭戴耳機(jī)27和打印機(jī)243之類的其他外圍輸出設(shè)備。計算機(jī)241可使用至諸如遠(yuǎn)程計算機(jī)246之類的一個或多個遠(yuǎn)程計算機(jī)的邏輯連接在聯(lián)網(wǎng)環(huán)境中操作。遠(yuǎn)程計算機(jī)246可以是個人計算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其他常見的網(wǎng)絡(luò)節(jié)點(diǎn),且通常包括許多或所有以上相對于計算機(jī)241描述的元件, 但是在圖12中僅示出了存儲器存儲設(shè)備M7。邏輯連接包括局域網(wǎng)(LAN)245和廣域網(wǎng) (WAN) M9,但也可以包括其他網(wǎng)絡(luò)。這樣的聯(lián)網(wǎng)環(huán)境在辦公室、企業(yè)范圍計算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中是常見的。當(dāng)在LAN聯(lián)網(wǎng)環(huán)境中使用時,計算機(jī)241通過網(wǎng)絡(luò)接口或適配器245連接至LAN 237。當(dāng)在WAN聯(lián)網(wǎng)環(huán)境中使用時,計算機(jī)241通常包括調(diào)制解調(diào)器250或用于通過諸如因特網(wǎng)等WAN 249建立通信的其他手段。調(diào)制解調(diào)器250可以是內(nèi)置或外置的,它可以經(jīng)由用戶輸入接口 236或其他適當(dāng)?shù)臋C(jī)制連接至系統(tǒng)總線221。在聯(lián)網(wǎng)環(huán)境中,相對于計算機(jī) 241所描述的程序模塊或其部分可被存儲在遠(yuǎn)程存儲器存儲設(shè)備中。作為示例而非限制,圖 12描繪了遠(yuǎn)程應(yīng)用程序248駐留在存儲器設(shè)備247上。應(yīng)當(dāng)理解,所示的網(wǎng)絡(luò)連接是示例性的,并且可使用在計算機(jī)之間建立通信鏈路的其他手段。前面的對本技術(shù)的詳細(xì)描述只是為了說明和描述。它不是為了詳盡的解釋或?qū)⒈炯夹g(shù)限制在所公開的準(zhǔn)確的形式。鑒于上述教導(dǎo),許多修改和變型都是可能的。所描述的實(shí)施例只是為了最好地說明本技術(shù)的原理以及其實(shí)際應(yīng)用,從而使精通本技術(shù)的其他人在各種實(shí)施例中最佳地利用本技術(shù),適合于特定用途的各種修改也是可以的。本技術(shù)的范圍由所附的權(quán)利要求進(jìn)行定義。
權(quán)利要求
1.一種方法,包括基于傳感器數(shù)據(jù)確定房間的物理特性(302);確定聽者在該房間中的位置(304);以及基于該房間的物理特性和該聽者在該房間中的位置來確定3D音頻信號(306)。
2.如權(quán)利要求1所述的方法,其特征在于,確定3D音頻信號包括基于該房間的物理參數(shù)以及該聽者在該房間中的位置來確定虛擬聲音源與該聽者之間的多個聲音路徑。
3.如權(quán)利要求2所述的方法,其特征在于,確定3D音頻信號包括確定3D音頻信號的多個分量,其中為所述多個聲音路徑中的每個確定分量;以及將針對該聽者的與頭部相關(guān)的傳輸函數(shù)(HRTF)應(yīng)用于所述多個分量中的每個(308)。
4.如權(quán)利要求1至3中的任一項(xiàng)所述的方法,其特征在于,還包括基于該傳感器數(shù)據(jù)估計該房間中的物體的材料,確定3D音頻信號是基于該材料將對聲音造成的影響的。
5.如權(quán)利要求1至4中的任一項(xiàng)所述的方法,其特征在于,確定該聽者在該房間中的位置包括收集圖像傳感器數(shù)據(jù);以及基于該圖像傳感器數(shù)據(jù)確定該聽者在該房間中的位置和旋轉(zhuǎn)。
6.如權(quán)利要求1至5中的任一項(xiàng)所述的方法,其特征在于,確定該聽者在該房間中的位置包括跟蹤該聽者在該房間中的位置。
7.如權(quán)利要求1至6中任一項(xiàng)所述的方法,其特征在于,還包括收集該聽者的圖像傳感器數(shù)據(jù);從該聽者的圖像傳感器數(shù)據(jù)中確定該聽者的物理特性;以及基于該聽者的物理特性從HRTF庫中為該聽者確定HRTF,確定3D音頻信號是基于針對該聽者的HRTF的。
8.如權(quán)利要求7所述的方法,其特征在于,還包括在第一時間存儲該聽者的物理特性;在晚于第一時間的第二時間基于生物測定信息標(biāo)識出該聽者,該生物測定信息不同于該聽者的物理特性;以及基于針對所標(biāo)識出的聽者所存儲的物理特性從該庫中選擇HRTF。
9.如權(quán)利要求1至8中任一項(xiàng)所述的方法,其特征在于,該傳感器數(shù)據(jù)包括來自該聽者上的一個或多個話筒的傳感器數(shù)據(jù)。
10.一種裝置,包括一個或多個傳感器(25,28,31,38);處理器(32,192,101,259),該處理器(32,192,101,259)耦合到所述一個或多個傳感器;以及耦合到該處理器的計算機(jī)可讀存儲介質(zhì)(34,194,102,106,112,143,22 ,該計算機(jī)可讀存儲介質(zhì)其上存儲有指令,所述指令在該處理器上執(zhí)行時致使計算機(jī)使用該傳感器收集關(guān)于環(huán)境和聽者的數(shù)據(jù);該處理器基于所收集的傳感器數(shù)據(jù)確定該環(huán)境的物理特性;該處理器基于所收集的傳感器數(shù)據(jù)確定該聽者在該環(huán)境中的位置;該處理器基于該環(huán)境的物理特性以及該聽者在該環(huán)境中的位置確定3D音頻信號的多個分量;該處理器將針對該聽者的與頭部相關(guān)的傳輸函數(shù)(HRTF)應(yīng)用于所述多個分量中的每個;以及該處理器提供3D音頻信號。
全文摘要
本發(fā)明涉及用于擴(kuò)展現(xiàn)實(shí)的高精度3維音頻的系統(tǒng)和方法。提供了用于提供3D音頻的技術(shù),該3D音頻可以用于擴(kuò)展的現(xiàn)實(shí)。3D音頻信號可以基于從聽者所在的實(shí)際房間中所采集的傳感器數(shù)據(jù)以及聽者在該房間中的實(shí)際位置來生成。該3D音頻信號可以包括基于所采集的傳感器數(shù)據(jù)和聽者的位置所確定的多個分量。例如,可以確定虛擬聲音源與聽者之間的多個(虛擬)聲音路徑。該傳感器數(shù)據(jù)可以用于估計房間中的材料,使得可以確定這些材料在聲音在沿著這些路徑傳播時可能對聲音造成的影響。在一些實(shí)施例中,傳感器數(shù)據(jù)可以用于收集聽者的物理特性,使得可以從HRTF庫中確定合適的HRTF。
文檔編號H04S3/00GK102413414SQ20111032127
公開日2012年4月11日 申請日期2011年10月12日 優(yōu)先權(quán)日2010年10月13日
發(fā)明者A·巴-澤埃夫, J·塔迪夫, J·弗萊克斯 申請人:微軟公司