背景技術(shù):
在許多情況下,需要生成聲場,該聲場包括與信號源(其可以是虛擬源)在聲場內(nèi)的位置有關(guān)的信息。這種信息導(dǎo)致聽者認(rèn)為信號是源于虛擬源的位置,即,認(rèn)為信號源于在三維空間中相對于聽者的位置的位置。例如,為了向觀眾提供更為身臨其境、現(xiàn)實的體驗,可以用環(huán)繞聲輸出伴隨電影的音頻。進(jìn)一步的示例發(fā)生在計算機(jī)游戲的場景(context)中,其中,輸出至用戶的音頻信號包括空間信息,從而使用戶認(rèn)為音頻并非來自揚(yáng)聲器,而是來自在三維空間中的(虛擬)位置。
例如可以通過使用耳機(jī)揚(yáng)聲器來將包含空間信息的聲場傳遞至用戶,通過該耳機(jī)揚(yáng)聲器來接收雙耳信號。雙耳信號包括足夠的信息來重新創(chuàng)建包圍一個或者多個虛擬信號源的虛擬聲場。在這種情況下,例如為了保持音頻和視頻的關(guān)系(例如,同步性、一致性等),需要考慮用戶的頭部移動以維持穩(wěn)定的聲場。響應(yīng)于用戶埋頭,無法維持穩(wěn)定的聲場或者音頻場可能例如導(dǎo)致用戶認(rèn)為虛擬源(諸如,汽車)飛入了空中。但是,更常見的情況是,無法考慮用戶的頭部移動會使源位置變成在用戶的頭部內(nèi)。
技術(shù)實現(xiàn)要素:
為了提供對本公開的一些方面的基本理解,本發(fā)明內(nèi)容以簡化形式介紹了對概念的選擇。本發(fā)明內(nèi)容不是本公開的廣泛概述,而且并不旨在識別本公開的關(guān)鍵元素或者至關(guān)重要的元素或者描繪本公開的范圍。本發(fā)明內(nèi)容僅僅呈現(xiàn)本公開的概念中的一些概念,作為下述具體實施方式的前言。
本公開大體上涉及用于信號處理的方法和系統(tǒng)。更具體地,本公開的方面涉及處理包含空間信息的音頻信號。
本公開的一個實施例涉及一種用于向用戶提供三維空間音頻的方法,該方法包括:將來自在虛擬揚(yáng)聲器環(huán)境中的音頻源的音頻信號輸入編碼為聲場格式,從而生成聲場數(shù)據(jù);基于采集的與用戶的移動相關(guān)聯(lián)的移動數(shù)據(jù)來使聲場圍繞用戶動態(tài)旋轉(zhuǎn);利用一個或者多個動態(tài)音頻濾波器來處理編碼的音頻信號;將聲場數(shù)據(jù)解碼成一對雙耳空間聲道;以及將該一對雙耳空間聲道提供至用戶的耳機(jī)裝置。
在另一實施例中,用于提供三維空間音頻的方法進(jìn)一步包括:基于用戶所在的虛擬環(huán)境的參數(shù),利用動態(tài)房間效果來處理聲源。
在另一實施例中,在用于提供三維空間音頻的方法中的利用一個或者多個動態(tài)音頻濾波器來處理編碼的音頻信號進(jìn)一步包括:考慮來自周圍虛擬揚(yáng)聲器環(huán)境的人體聽覺提示。
在又一實施例中,用于提供三維空間音頻的方法進(jìn)一步包括:將在空間上記錄的房間脈沖響應(yīng)參數(shù)化為方向分量和漫射分量。
在又一實施例中,用于提供三維空間音頻的方法進(jìn)一步包括:處理方向分量和漫射分量以生成數(shù)對解相關(guān)的漫射混響蹤跡濾波器(pairs of decorrelated,diffuse reverb tail filters)。
在另一實施例中,用于提供三維空間音頻的方法進(jìn)一步包括:通過利用聲學(xué)響應(yīng)的隨機(jī)性來對解相關(guān)的漫射混響蹤跡濾波器進(jìn)行建模,其中,聲學(xué)響應(yīng)包括房間脈沖響應(yīng)。
本公開的另一實施例涉及一種用于向用戶提供三維空間音頻的系統(tǒng),該系統(tǒng)包括至少一個處理器和非暫時性計算機(jī)可讀介質(zhì),該非暫時性計算機(jī)可讀介質(zhì)耦合至該至少一個處理器,在該非暫時性計算機(jī)可讀介質(zhì)上存儲有指令,該指令在由該至少一個處理器執(zhí)行時使該至少一個處理器:將來自在虛擬揚(yáng)聲器環(huán)境中的音頻源的音頻信號輸入編碼為聲場格式,從而生成聲場數(shù)據(jù);基于采集的與用戶的移動相關(guān)聯(lián)的移動數(shù)據(jù)來使聲場圍繞用戶動態(tài)旋轉(zhuǎn);利用一個或者多個動態(tài)音頻濾波器來處理編碼的音頻信號;將聲場數(shù)據(jù)解碼成一對雙耳空間聲道;以及將該一對雙耳空間聲道提供至用戶的耳機(jī)裝置。
在另一實施例中,進(jìn)一步使在用于提供三維空間音頻的系統(tǒng)中的至少一個處理器:基于用戶所在的虛擬環(huán)境的參數(shù),利用動態(tài)房間效果來處理聲源。
在另一實施例中,進(jìn)一步使在用于提供三維空間音頻的系統(tǒng)中的至少一個處理器:在維持來自周圍虛擬揚(yáng)聲器環(huán)境的聲學(xué)提示的同時使聲場圍繞用戶動態(tài)旋轉(zhuǎn)。
在又一實施例中,進(jìn)一步使在用于提供三維空間音頻的系統(tǒng)中的至少一個處理器:從用戶的耳機(jī)裝置采集與用戶的移動相關(guān)聯(lián)的移動數(shù)據(jù)。
在又一實施例中,進(jìn)一步使在用于提供三維空間音頻的系統(tǒng)中的至少一個處理器:在考慮來自周圍虛擬揚(yáng)聲器環(huán)境的人體聽覺提示的同時利用一個或者多個動態(tài)音頻濾波器來處理編碼的音頻信號。
在另一實施例中,進(jìn)一步使在用于提供三維空間音頻的系統(tǒng)中的至少一個處理器:將在空間上記錄的房間脈沖響應(yīng)參數(shù)化為方向分量和漫射分量。
在又一實施例中,進(jìn)一步使在用于提供三維空間音頻的系統(tǒng)中的至少一個處理器:處理方向分量和漫射分量以生成數(shù)對解相關(guān)的漫射混響蹤跡濾波器。
在又一實施例中,進(jìn)一步使在用于提供三維空間音頻的系統(tǒng)中的至少一個處理器:通過利用聲學(xué)響應(yīng)的隨機(jī)性來對解相關(guān)的漫射混響蹤跡濾波器進(jìn)行建模,其中,聲學(xué)響應(yīng)包括房間脈沖響應(yīng)。
在一個或者多個實施例中,本文所描述的方法和系統(tǒng)可以可選地包括以下附加特征中的一個或者多個:在維持來自周圍虛擬揚(yáng)聲器環(huán)境的聲學(xué)提示的同時使聲場圍繞用戶動態(tài)旋轉(zhuǎn);從用戶的耳機(jī)裝置采集與用戶的移動相關(guān)聯(lián)的移動數(shù)據(jù);將在虛擬揚(yáng)聲器環(huán)境中的每個音頻源作為單輸入聲道連同音頻源的球面坐標(biāo)位置矢量一起輸入;和/或球面坐標(biāo)位置矢量識別在虛擬揚(yáng)聲器環(huán)境中音頻源相對于用戶的位置。
本文所公開的處理器和存儲系統(tǒng)中的一些或者全部的實施例也可以配置為執(zhí)行上面所公開的方法實施例中的一些或者全部。上面所公開的方法中的一些或者全部的實施例也可以表示為體現(xiàn)在諸如光學(xué)存儲器或者磁存儲器等暫時性或者非暫時性處理器可讀存儲介質(zhì)上的指令,或者表示為經(jīng)由諸如互聯(lián)網(wǎng)或者電話連接等通信網(wǎng)絡(luò)提供至處理器或者數(shù)據(jù)處理裝置的傳播信號。
本公開的方法和系統(tǒng)的應(yīng)用性的進(jìn)一步的范圍通過下面給出的具體實施方式將變得顯而易見。然而,應(yīng)該理解,具體實施方式和具體示例在指示方法和系統(tǒng)的實施例時僅僅以舉例的方式被給出,因為對本領(lǐng)域的技術(shù)人員而言,在本文所公開的概念的精神和范圍內(nèi)的各種變化和修改通過本具體實施方式將變得顯而易見。
附圖說明
結(jié)合隨附權(quán)利要求書和附圖,通過對以下具體實施方式的研究,對于本領(lǐng)域的技術(shù)人員而言,本公開的這些和其它目標(biāo)、特征和特性將變得顯而易見。在附圖中:
圖1是示出了根據(jù)本文所描述的一個或者多個實施例的在用于向用戶提供三維沉浸式空間音頻的示例系統(tǒng)中的虛擬源的示意圖,該虛擬源包括單音頻輸入和描述了該源相對于用戶位置的位置矢量。
圖2是示出了根據(jù)本文所描述的一個或者多個實施例的用于向用戶提供三維沉浸式空間音頻的示例方法和系統(tǒng)的框圖。
圖3是示出了根據(jù)本文所描述的一個或者多個實施例的用于將系統(tǒng)操作為向用戶提供三維沉浸式空間音頻的示例類數(shù)據(jù)和組件的框圖。
圖4是示出了根據(jù)本文所描述的一個或者多個實施例的在雙耳響應(yīng)分解期間創(chuàng)建的示例濾波器的示意圖。
圖5是示出了根據(jù)本文所描述的一個或者多個實施例的示例響應(yīng)測量連同對漫射性的分析的圖示。
圖6是示出了根據(jù)本文所描述的一個或者多個實施例的用于向用戶提供三維沉浸式空間音頻的示例方法的流程圖。
圖7是示出了根據(jù)本文所描述的一個或者多個實施例的設(shè)置為向用戶提供三維沉浸式空間音頻的示例計算裝置的框圖。
本文所提供的標(biāo)題僅僅是為方便而設(shè),并且并不一定會影響本公開所要求的范圍或者含義。
在附圖中,為了易于理解并且為了方便起見,相同的參考數(shù)字和任何首字母縮略詞識別具有相同的或者相似的結(jié)構(gòu)或者功能的元件或者動作。在以下具體實施方式期間將詳細(xì)描述附圖。
具體實施方式
現(xiàn)在將描述本公開的方法和系統(tǒng)的各種示例和實施例。以下描述為透徹地理解這些示例并且實現(xiàn)這些示例提供了具體細(xì)節(jié)。然而,相關(guān)領(lǐng)域的技術(shù)人員要理解,在沒有這些細(xì)節(jié)中的許多細(xì)節(jié)的情況下,也可以實踐本文所描述的實施例中的一個或者多個實施例。同樣,相關(guān)領(lǐng)域的技術(shù)人員也要理解,本公開的一個或者多個實施例可以包括本文并未詳細(xì)描述的其它特征。另外,下面可能沒有詳細(xì)地示出或者描述一些已知的結(jié)構(gòu)或者功能,從而避免不必要地模糊相關(guān)描述。
除了避免可能的負(fù)面用戶體驗(諸如,上述用戶體驗)之外,維持穩(wěn)定的聲場引起音頻場的更有效的外部化,或者,換言之,更有效地產(chǎn)生音頻源在聽者的頭部外部并且聲場包括位于可控位置處的源的感覺。同樣,顯然需要對生成的聲場進(jìn)行修改以補(bǔ)償用戶移動,諸如,例如,用戶的頭部圍繞x軸、y軸和/或z軸的旋轉(zhuǎn)或者移動(當(dāng)使用笛卡爾(Cartesian)系統(tǒng)來表示空間時)。
這個問題可以通過以下來解決:使用頭部追蹤裝置來檢測頭部定向的變化,并且每當(dāng)檢測到變化時,計算(多個)虛擬源相對于用戶的新位置,并且為新的虛擬源位置重新計算三維聲場。然而,這種方法在計算上很昂貴。由于大多數(shù)應(yīng)用(諸如,計算機(jī)游戲場景)包括多個虛擬源,高計算成本使得這種方法不可行。此外,這種方法必須使用由每個虛擬源產(chǎn)生的原始信號以及每個虛擬源的當(dāng)前空間位置,這也可能會導(dǎo)致附加計算負(fù)擔(dān)。
對根據(jù)用戶移動使聲場旋轉(zhuǎn)或者搖攝的問題的現(xiàn)有解決方案包括使用振幅搖攝聲源。然而,由于這種現(xiàn)有方法忽視了重要的信號特性(諸如,直達(dá)混響聲能比、細(xì)微頭部移動、和具有不正確的波前曲率的聲學(xué)視差),所以這種現(xiàn)有方法導(dǎo)致聲場包含受損的距離提示。此外,由于這些現(xiàn)有解決方案必須處理次優(yōu)揚(yáng)聲器放置,所以這些現(xiàn)有解決方案也產(chǎn)生了受損的方向定位精確度。
維持穩(wěn)定的聲場加強(qiáng)了音頻源在聽者的頭部外部的感覺。該過程的有效性極具技術(shù)挑戰(zhàn)性。已經(jīng)識別到的一個重要因子在于,即使很小的、無意識的頭部移動也有助于解決前后混淆。在雙耳收聽的過程中,當(dāng)使用非個性化的HRTF(頭部相關(guān)傳輸功能)時,該問題最常發(fā)生。這時,通常難以區(qū)分虛擬聲源在頭部的前面還是后面。
因此,本公開的實施例涉及用于向用戶提供(例如,傳遞、產(chǎn)生等)三維沉浸式空間音頻的方法和系統(tǒng)。例如,根據(jù)至少一個實施例,可以經(jīng)由用戶所佩戴的耳機(jī)裝置將三維沉浸式空間音頻提供至用戶。如下面更詳細(xì)地描述的,本公開的方法和系統(tǒng)被設(shè)計為在用戶(聽者)的耳朵處重新創(chuàng)建自然發(fā)聲的聲場,包括針對高度和深度知覺的提示。在許多其它潛在用途和應(yīng)用當(dāng)中,本公開的方法和系統(tǒng)可以實施為虛擬現(xiàn)實(VR)應(yīng)用。
本公開的方法和系統(tǒng)被設(shè)計為在用戶的耳朵處重新創(chuàng)建聽覺環(huán)境。例如,根據(jù)至少一個實施例,該方法和系統(tǒng)(其可以基于各種數(shù)字信號處理技術(shù),該各種數(shù)字信號處理技術(shù)通過使用例如處理器來實施,該處理器配置或者編程為根據(jù)來自程序軟件的指令執(zhí)行特定功能)可以配置為執(zhí)行示例操作的以下非詳盡清單:
(i)將輸入音頻信號編碼為聲場格式。這允許更大數(shù)量的源的有效呈現(xiàn)。
(ii)在維持所有房間(例如,環(huán)境)聲學(xué)提示的同時使復(fù)雜的聲場圍繞用戶動態(tài)旋轉(zhuǎn)。根據(jù)至少一個實施例,可以通過從相關(guān)聯(lián)的用戶VR頭盔采集到的用戶移動數(shù)據(jù)來控制該動態(tài)旋轉(zhuǎn)。
(iii)在考慮強(qiáng)調(diào)外部化的人體聽覺提示的同時,利用數(shù)組高級動態(tài)音頻濾波器來處理編碼的音頻信號。
(iv)將聲場數(shù)據(jù)解碼成一對雙耳空間耳機(jī)聲道。然后可以將這些雙耳空間耳機(jī)聲道饋送至用戶的耳機(jī),就像傳統(tǒng)的左/右音頻聲道一樣。
(v)利用動態(tài)房間效果來處理聲源,該動態(tài)房間效果設(shè)計為模擬源-聽者對所在的虛擬環(huán)境的參數(shù)。
根據(jù)至少一個實施例,本文所描述的音頻系統(tǒng)使用非托管C++代碼(native C++code)來提供最佳性能并且授權(quán)最廣范圍的目標(biāo)平臺。應(yīng)該了解,代替或者除了C++之外,也可以使用其它編碼語言。在這種情況下,所提供的方法和系統(tǒng)可以集成到,例如,插件形式的各種三維(3D)視頻游戲開發(fā)環(huán)境中。
圖1示出了在用于向用戶提供三維沉浸式空間音頻的示例系統(tǒng)和周圍虛擬環(huán)境100中的虛擬源120。根據(jù)至少一個實施例,虛擬源120可以包括單音頻輸入信號和描述虛擬源120相對于用戶115的位置矢量
圖2是根據(jù)本文所描述的一個或者多個實施例的用于向用戶提供三維沉浸式空間音頻的示例方法和系統(tǒng)(200)。將在虛擬環(huán)境中的每個源作為單輸入(205)聲道連同描述在虛擬環(huán)境中該源相對于聽者的位置的球面坐標(biāo)源位置矢量(215)一起輸入。
上述圖1示出了如何將在示例系統(tǒng)200中的輸入(205和215),即,單輸入聲道205和球面坐標(biāo)源位置矢量215,與虛擬源(例如,在圖1所示的示例中的虛擬源120)相關(guān)。
在圖2中,M表示在任何一個時間被系統(tǒng)和方法渲染的活動源的數(shù)量。根據(jù)至少一個實施例,框210(距離效果)、220(HOA搖攝)、225(HRIR(頭部相關(guān)脈沖響應(yīng))卷積)、235(RIR(房間脈沖響應(yīng))卷積)、和245(下混音)中的每一個表示在系統(tǒng)200中的處理步驟,而框230(無回聲方向IR)和240(混響環(huán)境IR)表示動態(tài)脈沖響應(yīng),該動態(tài)脈沖響應(yīng)可以是預(yù)先記錄的并且用作至系統(tǒng)200的進(jìn)一步的輸入。系統(tǒng)200配置為生成雙聲道雙耳輸出(250)。
以下描述提供了關(guān)于在根據(jù)本文所描述的一個或者多個實施例的用于向用戶提供三維沉浸式空間音頻的示例系統(tǒng)中的一個或者多個組件的細(xì)節(jié)。然而,應(yīng)該理解,該一個或者多個其它組件也可以包括在這種系統(tǒng)中:除了所描述的示例組件中的一個或者多個之外或者而不是所描述的示例組件中的一個或者多個。
編碼器組件
根據(jù)至少一個實施例,將M個輸入單源(205)編碼為聲場格式,從而使該M個輸入單源可以繞聽者搖攝和空間化。在系統(tǒng)(例如,圖2中所示的系統(tǒng)200)內(nèi),為發(fā)出聲音的每個虛擬對象創(chuàng)建類環(huán)繞聲源(AmbisonicSource)(315)的實例,如在圖3中所示的示例類圖300中所示的。該對象然后注意距離效果、環(huán)繞聲聲道中的每一個的增益系數(shù)、記錄當(dāng)前源位置、和源音頻的“playing(播放)”。
搖攝組件
核心類(本文稱為環(huán)繞聲渲染器(AmbisonicRenderer)(320))可以包含用于渲染每個環(huán)繞聲源(315)的過程中的一個或者多個。同樣,環(huán)繞聲渲染器(320)類可以配置為執(zhí)行,例如,搖攝(例如,Pan())、卷積(例如,Convolve())、混響(例如,Reverb())、下混音(例如,Downmix())、以及各種其它操作和過程。在以下部分中提供關(guān)于搖攝、卷積和下混音過程的附加細(xì)節(jié)。
根據(jù)本公開的至少一個實施例,搖攝過程(例如,在環(huán)繞聲渲染器(320)類中的Pan())配置為將每個環(huán)繞聲源正確地放置在聽者周圍,從而使這些聽覺位置與在VR場景中的“視覺”位置完全匹配。在該確定中使用來自VR對象位置和聽者位置/定向的數(shù)據(jù)。在一個示例中,在正在使用這種裝置的情況下,可以通過VR頭盔部分地更新聽者位置/定向數(shù)據(jù)。
考慮到頭部旋轉(zhuǎn),搖攝操作(例如,函數(shù))Pan()對在空間音頻場景中的聲道中的每一個進(jìn)行加權(quán)。這些加權(quán)影響補(bǔ)償?shù)膿u攝需要,以將系統(tǒng)的虛擬揚(yáng)聲器維持在靜止位置,盡管聽者的頭部正在轉(zhuǎn)動。除了頭部旋轉(zhuǎn)角度之外,也應(yīng)該根據(jù)虛擬揚(yáng)聲器中的每一個的位置來抵消選擇的增益系數(shù)。
卷積組件
根據(jù)本文所描述的一個或者多個實施例,系統(tǒng)的卷積組件被封裝在分開的卷積器類(partitioned convolver class)325中(在圖3所示的示例類圖300中)。待實施的每個濾波器需要可以配置為在本質(zhì)上處理所有緩沖和域變換的該類的實例。該模塊化特征允許對卷積引擎進(jìn)行優(yōu)化和改變,而不需更改系統(tǒng)的剩余部分中的任何部分。
可以預(yù)先記錄在系統(tǒng)中使用的空間化濾波器中的一個或者多個,從而允許仔細(xì)選擇HRIR距離以及確保不存在記錄過程期間允許的頭部移動的能力,與具有一些公開可用的HRIR數(shù)據(jù)集的情況一樣。進(jìn)一步地,也已經(jīng)在被認(rèn)為十分適合提供包括房間脈沖響應(yīng)的早期的、方向的部分的基本外部化提示的情況下記錄了在本文所描述的示例系統(tǒng)中使用的HRIR。將環(huán)繞聲聲道中的每一個與對應(yīng)的虛擬揚(yáng)聲器的脈沖響應(yīng)對進(jìn)行卷積。對該對卷積的需要是由于雙耳輸出的創(chuàng)建以通過耳機(jī)收聽。因此,每個揚(yáng)聲器需要兩個脈沖響應(yīng),或者換言之,用戶的每只耳朵需要一個脈沖響應(yīng)。
混響組件
根據(jù)本文所描述的一個或者多個實施例,系統(tǒng)所應(yīng)用的混響效果被聲音設(shè)計師通過使用與本公開的方法和系統(tǒng)相關(guān)聯(lián)的API設(shè)計為進(jìn)行簡單的更改。另外,混響效果還設(shè)計為自動響應(yīng)在利用了系統(tǒng)的VR模擬中的環(huán)境條件的變化。早期反射和蹤跡效果在系統(tǒng)中被分開處理。例如,可以利用具有與環(huán)境混響時間匹配的解相關(guān)的指數(shù)衰減濾波器的一對卷積來實施房間響應(yīng)的混響蹤跡。
下混音組件
在Downmix()函數(shù)/過程中,將虛擬揚(yáng)聲器聲道下混音為一對雙耳聲道,一只耳朵有一個雙耳聲道。由于上述搖攝階段(例如,關(guān)于Pan()函數(shù)/過程)已經(jīng)考慮到對環(huán)繞聲效果的每個聲道的組合,所以下混音過程是非常直觀的。也正是在該函數(shù)中將雙耳混響聲道與空間化耳機(jī)饋送混合在一起。
虛擬聲卡
根據(jù)本文所描述的一個或者多個實施例,本公開的3D虛擬音頻系統(tǒng)的互補(bǔ)特征/組件可以是虛擬5.1聲卡,該虛擬5.1聲卡用于捕捉和呈現(xiàn)來自例如視頻游戲、電影和/或通過計算裝置傳遞的其它媒體的傳統(tǒng)5.1環(huán)繞聲輸出。一旦已經(jīng)獲取到音頻,就可以對其進(jìn)行渲染。
作為本文所描述的系統(tǒng)和方法的示例用途,輸出音頻的軟件通常檢測音頻端點(diǎn)裝置的能力,并且因此根據(jù)采樣率和聲道配置設(shè)置其音頻格式。為了使系統(tǒng)與現(xiàn)有播放軟件一起運(yùn)行,必須呈現(xiàn)端點(diǎn),該端點(diǎn)至少提供能夠輸出環(huán)繞聲音頻的錯覺。雖然對此的一個解決方案需要在用戶的機(jī)器中呈現(xiàn)支持物理環(huán)繞聲的硬件,但是這可能引起用戶的附加開支(取決于其系統(tǒng)),或者,在便攜式計算機(jī)中,可能是不切合實際的或者甚至是不可能實現(xiàn)的。
同樣,根據(jù)本文所描述的至少一個實施例,對此問題的解決方案是在不具有任何硬件要求的操作系統(tǒng)中實施虛擬聲卡。從用戶的角度看,這實現(xiàn)了與硬件和軟件配置的最大兼容性,因為軟件滿足了輸出環(huán)繞聲并且用戶的系統(tǒng)無須滿足任何深奧的硬件要求??梢园凑毡绢I(lǐng)域的技術(shù)人員所知的直觀方式來實施虛擬聲卡。
音頻采集
根據(jù)一個實施例,可以通過使用現(xiàn)有應(yīng)用編程接口來進(jìn)行在軟件和硬件之間的音頻數(shù)據(jù)的通信。當(dāng)這種API正在音頻緩沖器之間移動并且被發(fā)送至輸出端點(diǎn)時,其授予對音頻數(shù)據(jù)的訪問權(quán)限。為了獲得對數(shù)據(jù)的訪問權(quán)限,必須使用客戶端接口對象,該客戶端接口對象與感興趣的音頻裝置鏈接。利用這種客戶端接口對象,可以調(diào)用相關(guān)聯(lián)的服務(wù)。這允許程序設(shè)計員檢索在特定會話中傳送的音頻分組??梢栽谳敵鲞@些分組之前對這些分組進(jìn)行修改,或者將這些分組整體地傳遞至另一音頻裝置。在這種情況下,感興趣正是后一種應(yīng)用。向虛擬音頻裝置發(fā)送環(huán)繞聲音頻,該環(huán)繞聲音頻由音頻捕捉客戶端捕捉并且然后被帶入音頻處理引擎中。系統(tǒng)的虛擬音頻裝置可以配置為將例如六個輸出聲道提供至操作系統(tǒng),該操作系統(tǒng)將自身識別為5.1音頻裝置。在一個示例中,無論哪一個媒體或者游戲應(yīng)用正在產(chǎn)生聲音,都向這六個聲道發(fā)送16比特、44.1kHz的音頻。當(dāng)前述音頻捕捉客戶端接口截獲該音頻時,返回一定數(shù)量的音頻“幀”。
房間脈沖響應(yīng)的參數(shù)化
根據(jù)本公開的一個或者多個實施例,提供了一種通過將在空間上記錄的房間脈沖響應(yīng)(例如,SRIR)參數(shù)化為方向分量和漫射分量來進(jìn)行方向分析和漫射性估計的方法。漫射子系統(tǒng)用于形成在運(yùn)行時間應(yīng)用于源音頻信號的兩個解相關(guān)的濾波器內(nèi)核。該方法假設(shè)房間效果的方向分量已經(jīng)包含在雙耳房間脈沖響應(yīng)(BRIR)中或者被分開建模。
圖4示出了根據(jù)本文所描述的一個或者多個實施例的可以在雙耳響應(yīng)分解過程期間被創(chuàng)建的示例濾波器。殘差和公因子的卷積將恢復(fù)原始雙耳響應(yīng)總體來說,可以用三個短卷積(如在示例布置450中所示)代替兩個大卷積(如在示例布置400中所示)。
漫射性估計方法是基于瞬時聲強(qiáng)矢量的時間-頻率推導(dǎo),該瞬時聲強(qiáng)矢量描述了聲能在特定方向上的當(dāng)前流動:
I(t)=p(t)u(t), (1)
其中,I(t)表示聲強(qiáng),p(t)是聲壓,并且u(t)是粒子速度。重要的是要注意,I(t)和u(t)是分量作用在x方向、y方向和z方向上的矢量。環(huán)繞聲B格式(B-Format)信號可以由一個全向分量(W)和三個方向分量(X、Y和Z)組成,該一個全向分量(W)可以用于估計聲壓,該三個方向分量(X、Y和Z)可以用于估算在所需方向x、y和z上的聲速:
p(t)=w(t) (2)
以及
其中,i、j和k是笛卡爾單位矢量,x(t)、y(t)和z(t)是第一階環(huán)繞聲信號,并且Z0是對空氣的比聲阻抗。
因此,可以將利用B格式信號估算得到的在頻域中的瞬時聲強(qiáng)矢量表示為:
其中,W(ω)和U(ω)是w(t)和u(t)時域信號的短時傅里葉變換(STFT),并且*表示復(fù)共軛。矢量I(ω)的方向與聲能的流動方向?qū)?yīng)。這就是為什么可以假設(shè)平面波源可以在-I(ω)方向上。然后可以如下計算到達(dá)的水平方向:
以及垂直方向:
其中,Ix(ω)、Iy(ω)和Iz(ω)分別是在x、y和z方向上的矢量分量。
現(xiàn)在,為了能夠從B格式空間房間脈沖響應(yīng)(Spatial Room Impulse Response(SRIR))提取方向部分,可以估計漫射系數(shù),該漫射系數(shù)由稱為總能量密度的短時平均強(qiáng)度的大小給出:
隨后基于等效矩形帶(Equivalent Rectangular Bands(ERB))對分析輸出進(jìn)行頻譜平滑。SRIR的漫射和非漫射部分的提取是通過分別將B格式信號乘以ψ(ω)和來進(jìn)行的。
在以下示例中,為了完成真實的漫射響應(yīng),已經(jīng)對全SRIR進(jìn)行了處理。通過使用聲場麥克風(fēng)測量到在大教堂中使用的SRIR離聲源32米(m)。
為了提供最佳結(jié)果,在分析中,不同的SRIR可能需要不同的參數(shù)值。雖然還未提出對方向分析的有效性的估計方法,但是有人建議可以通過試聽來驗證產(chǎn)生的SRIR。到目前為止,在開發(fā)期間已經(jīng)通過非正式收聽定義了所有漫射性估計參數(shù)值(諸如,例如,用于時間平均的時間窗口的長度、時頻分析的參數(shù)等)。然而,應(yīng)該注意,根據(jù)本公開的一個或者多個實施例,可以使用更多高級方法來確定最佳參數(shù)值,諸如,例如,正式收聽測試和/或聽覺建模。
根據(jù)本文所公開的一個或者多個實施例,可以將對方向分析參數(shù)的概述、其對分析輸出的影響、以及可能聽到的假象列成表格(例如,追蹤、記錄等)。例如,下面呈現(xiàn)的表1包括與人類聽覺的積分最匹配的參數(shù)的示例選擇。具體地,表1的內(nèi)容包括用于計算在不同頻帶處的漫射估計的示例平均窗口長度。
表1
圖5示出了產(chǎn)生的SRIR的全W分量連同隨時間的頻率平均漫射性估計值。方向分量提取的成功過程的良好指示可以是:漫射性估計在RIR的早期部分中較低并且在后來增長。
漫射混響蹤跡預(yù)處理
因為上述漫射估計的W、X、Y和Z聲道通常不會攜載重要的方向信息,所以本公開的方法和系統(tǒng)利用漫射估計的聲道來形成左右解相關(guān)值。根據(jù)至少一個實施例,通過使用這種技術(shù),心形指向麥克風(fēng)(cardioid microphone)(例如,Mid或者M(jìn))正面向前(可選地,可以用全向麥克風(fēng)代替),并且將雙向麥克風(fēng)(例如,Side或者S)指向側(cè)面,從而使其截止帶(rejection zone)剛好在前面。在M-S中,例如通過使M信號和S信號矩陣化來創(chuàng)建立體聲像,這是因為,為了利用這種技術(shù)來導(dǎo)出立體輸出信號,需要簡單的解碼矩陣:
L=M+gS (8)
R=M-gS (9)
使用分區(qū)卷積的實時實施方式
如通過HRTF卷積執(zhí)行的方向濾波一樣,通過與適當(dāng)?shù)臑V波器卷積來產(chǎn)生混響效果。為了適應(yīng)對混響空間進(jìn)行建模所需的本身很長的濾波器,使用根據(jù)本公開的一個或者多個實施例的分區(qū)卷積系統(tǒng)和方法。例如,該系統(tǒng)將混響脈沖響應(yīng)分段為可以及時順序處理的多個塊。每個脈沖響應(yīng)分區(qū)在長度上是統(tǒng)一的并且與來自相同長度的輸入流的塊結(jié)合。一旦輸入塊已經(jīng)與脈沖響應(yīng)分區(qū)進(jìn)行了卷積并輸出,將其轉(zhuǎn)移至下一個分區(qū)并且再進(jìn)行一次卷積,直到到達(dá)脈沖響應(yīng)的末尾。這將輸出延遲從脈沖響應(yīng)的總長度減小到單個分區(qū)的長度。
利用聲學(xué)響應(yīng)的隨機(jī)性
在記錄的SRIR不可用的情況下,可以通過利用聲學(xué)響應(yīng)的隨機(jī)性來對漫射混響濾波器進(jìn)行建模。考慮房間脈沖響應(yīng)的以下模型。設(shè)p[n]為長度N(其中,“N”是任意數(shù))的隨機(jī)信號矢量,該矢量的條目與隨機(jī)多項式的系數(shù)對應(yīng)。將這種信號與同樣具有長度N的衰減指數(shù)窗w[n]=e-βn點(diǎn)法相乘(point wise multiply)。因此可以將房間脈沖響應(yīng)建模為:
其中,是矢量的Hadamard積。
混響時間RT60是RIR的60dB衰減時間。在模型信號的情況下,這可以容易地從包絡(luò)w[n]推導(dǎo)出并且可以通過對下式求解來獲得:
以得到
可以推斷出,p[n]的根繞單元圓均勻地聚集。即,其大小具有為1的預(yù)期值。同樣,通過z變換的性質(zhì),
因此,將P(z)的根的大小按照因子eβ縮放以成為H(z)的根,其中,zn,n∈[1,...,N]是H(z)的根。同樣:
因此,如果從根大小的平均值將常數(shù)β估計為:
其中,zn,n∈[1,...,N]是h[n]的根,則可以將混響時間寫為:
這僅僅取決于給定響應(yīng)的根的大小。
上述方法解決了跨頻率的恒定混響時間。然而,在現(xiàn)實世界中,聲學(xué)信號很少有這種情況。按照根唯一的方式考慮RIR允許非常容易地估計在任何恒定的或者變化的寬度的任何一組頻帶中的混響時間。所有必須做的是:僅通過利用在與至對應(yīng)的ω1和ω2弧度之間的幅角對根進(jìn)行計數(shù),來相應(yīng)地修改等式(16),其中,F(xiàn)sHz是采樣頻率。這可以用如下公式表達(dá):
因此,由此對在臨界頻帶內(nèi)的RT60的估計是可能的。
從傅里葉級數(shù)的觀點(diǎn)看RIR的蹤跡,人們可以預(yù)期其像隨機(jī)噪聲一樣出現(xiàn),在每個頻率處具有正弦曲線,根據(jù)正態(tài)分布縮放,并且分別依次具有隨機(jī)分布的相位。出于這種考慮,可以將聲學(xué)脈沖響應(yīng)的蹤跡近似地重新構(gòu)造為正弦曲線的隨機(jī)縮放和,其中,在每個臨界頻帶中的衰減等于真實RIR的衰減??傮w來說,這提供了一種可靠的RIR蹤跡模擬方法。
設(shè)sf為具有頻率f Hz和隨機(jī)相位的正弦波。設(shè)α~N(0,1)為具有高斯分布、零平均值和標(biāo)準(zhǔn)偏差為1的隨機(jī)變量。因此,可以定義出如下序列:
該序列是隨機(jī)縮放正弦曲線之和。考慮到許多這種求和的項,r本質(zhì)上是具有平帶有限頻譜和像隨機(jī)多項式的根一樣分布的根的隨機(jī)矢量。
然后可以創(chuàng)建第二序列(表示為rscale):
其中,表示Hadamard積,并且β的選擇是為了向衰減包絡(luò)e-βt賦予給定的RT60。然后可以針對每個臨界頻帶(或者任何其它頻帶)修改該值,以產(chǎn)生具有與頻率有關(guān)的RT60的模擬響應(yīng)蹤跡。然后可以使用上述基于根的RT60估計方法來驗證這種模擬蹤跡的根行為與真實RIR的根行為匹配。
圖6示出了根據(jù)本文所描述的一個或者多個實施例的用于向用戶提供三維沉浸式空間音頻的示例過程(600)。
在框605中,可以將輸入音頻信號編碼為聲場格式,從而生成聲場數(shù)據(jù)。例如,根據(jù)本公開的至少一個實施例,可以將在圍繞用戶創(chuàng)建的虛擬揚(yáng)聲器環(huán)境中的每個音頻源(例如,聲源)作為單輸入聲道連同聲源的球面坐標(biāo)位置矢量一起輸入。聲源的球面坐標(biāo)位置矢量識別在虛擬揚(yáng)聲器環(huán)境中聲源相對于用戶的位置。
在框610中,可以基于采集的與用戶的移動(例如,頭部移動)相關(guān)聯(lián)的移動數(shù)據(jù)來使聲場圍繞用戶動態(tài)旋轉(zhuǎn)。例如,根據(jù)至少一個實施例,在維持外部環(huán)境的聲學(xué)提示的同時使聲場圍繞用戶動態(tài)旋轉(zhuǎn)。另外,例如,可以從用戶的耳機(jī)裝置采集與用戶的移動相關(guān)聯(lián)的移動數(shù)據(jù)。
在框615中,可以通過使用一個或者多個動態(tài)音頻濾波器來處理編碼的音頻信號??梢栽诳紤]環(huán)繞用戶的外部環(huán)境的人體聽覺提示的同時,執(zhí)行對編碼的音頻信號的處理。
在框620中,可以將聲場數(shù)據(jù)(例如,在框605中生成的)解碼為一對雙耳空間聲道。
在框625中,將該一對雙耳空間聲道提供至用戶的耳機(jī)裝置。
根據(jù)本文所描述的一個或者多個實施例,用于向用戶提供三維沉浸式空間音頻的示例過程(600)還可以包括:基于用戶所在的虛擬揚(yáng)聲器環(huán)境的參數(shù),利用動態(tài)房間效果來處理聲源。
圖7是設(shè)置為根據(jù)本文所描述的一個或者多個實施例的向用戶提供三維沉浸式空間音頻的示例計算機(jī)(700)的高級框圖。例如,根據(jù)至少一個實施例,計算機(jī)(700)可以配置為在用戶的耳朵處重新創(chuàng)建自然發(fā)聲的聲場,包括針高度和深度知覺的提示。在非?;镜呐渲?701)中,計算裝置(700)通常包括一個或者多個處理器(710)和系統(tǒng)存儲器(720)。存儲器總線(730)可以用于在處理器(710)和系統(tǒng)存儲器(720)之間進(jìn)行通信。
根據(jù)所需配置,處理器(710)可以具有任何類型,包括但不限于微處理器(μP)、微控制器(μC)、數(shù)字信號處理器(DSP)、或者它們的任何組合。處理器(710)可以包括一級或者多級緩存(諸如,一級緩存(711)和二級緩存(712))、處理器核心(713)、和寄存器(714)。處理器核心(713)可以包括算術(shù)邏輯單元(ALU)、浮點(diǎn)單元(FPU)、數(shù)字信號處理核心(DSP核心)、或者它們的任何組合。存儲控制器(715)也可以與處理器(710)一起使用,或者在某些實施方式中,存儲控制器(715)可以是處理器(710)的內(nèi)部部件。
根據(jù)所需配置,系統(tǒng)存儲器(720)可以具有任何類型,包括但不限于易失性存儲器(諸如,RAM)、非易失性存儲器(諸如,ROM、閃存等)、或者它們的任何組合。系統(tǒng)存儲器(720)通常包括操作系統(tǒng)(721)、一個或者多個應(yīng)用(722)、和程序數(shù)據(jù)(724)。應(yīng)用(722)可以包括根據(jù)本文所描述的一個或者多個實施例的用于向用戶(723)提供三維沉浸式空間音頻的系統(tǒng),該系統(tǒng)可以配置為在用戶的耳朵處重新創(chuàng)建自然發(fā)聲的或者認(rèn)為等效的聲場,包括對高度和深度知覺的提示。
程序數(shù)據(jù)(724)可以包括存儲指令,該指令在由一個或者多個處理裝置執(zhí)行時實施用于向用戶提供三維沉浸式空間音頻的系統(tǒng)(723)和方法。另外,根據(jù)至少一個實施例,程序數(shù)據(jù)(724)可以包括空間位置數(shù)據(jù)(725),該空間位置數(shù)據(jù)(725)可以與關(guān)于揚(yáng)聲器在給定設(shè)置中的物理位置的數(shù)據(jù)相關(guān)。根據(jù)至少一些實施例,應(yīng)用(722)可以設(shè)置為與程序數(shù)據(jù)(724)一起在操作系統(tǒng)(721)上運(yùn)行。
計算裝置(700)可以具有附加特征或者功能、和利于在基礎(chǔ)配置(701)與任何所需裝置和接口之間的通信的附加接口。
系統(tǒng)存儲器(720)是計算機(jī)存儲介質(zhì)的示例。該計算機(jī)存儲介質(zhì)包括但不限于:RAM、ROM、EEPROM、閃存或者其它存儲技術(shù)、CD-ROM、數(shù)字多用盤或者其它光學(xué)存儲裝置、磁帶盒、磁帶、磁盤存儲裝置或者其它磁存儲裝置、或者可以用于存儲所需信息并且可以由計算裝置700訪問的其它介質(zhì)。任何這種計算機(jī)存儲介質(zhì)可以是裝置(700)的部分。
計算裝置(700)可以實施為小型便攜式(或者移動)電子裝置的一部分,諸如,蜂窩電話、智能電話、個人數(shù)字助理(PDA)、個人媒體播放器裝置、平板計算機(jī)(平板電腦)、無線網(wǎng)頁觀看裝置、個人頭戴式裝置、專用裝置、或者混合裝置,它們包括上述功能中的任何一種。計算裝置(700)也可以實施為個人計算機(jī),包括膝上型計算機(jī)和非膝上型計算機(jī)配置。
前述詳細(xì)描述已經(jīng)經(jīng)由框圖、流程圖和/或示例的使用陳述了裝置和/或過程的各種實施例。由于這種框圖、流程圖和/或示例包含一種或者多種功能和/或操作,本領(lǐng)域的技術(shù)人員要理解,可以通過大范圍的硬件、軟件、固件、或者它們的幾乎所有組合單獨(dú)地和/或共同地實施在這種框圖、流程圖和/或示例內(nèi)的每種功能和/或操作。根據(jù)至少一些實施例,本文所公開的主題的多個部分可以經(jīng)由專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、數(shù)字信號處理器(DSP)、或者其它集成格式來實施。然而,本領(lǐng)域的技術(shù)人員要認(rèn)識到,本文所公開的實施例的一些方面可以全部或者部分等效地實施在集成電路中,作為在一個或者多個計算機(jī)上運(yùn)行的一個或者多個計算機(jī)程序,作為在一個或者多個處理器上運(yùn)行的一個或者多個程序,作為固件,或者作為它們的幾乎所有組合,并且鑒于本公開,對電路系統(tǒng)進(jìn)行設(shè)計和/或編寫軟件和/或固件的代碼也在本領(lǐng)域的技術(shù)人員的技術(shù)內(nèi)。另外,本領(lǐng)域的技術(shù)人員要了解,本文所公開的主題的機(jī)制能夠作為各種形式的程序產(chǎn)品而分布,并且,無論用于實際上執(zhí)行該分布的非暫時性信號承載介質(zhì)的具體類型是什么,本文所描述的主題的說明性實施例都同樣適用。非暫時性信號承載介質(zhì)的示例包括但不限于以下:可記錄型介質(zhì),諸如,軟盤、硬盤驅(qū)動器、光盤(CD)、數(shù)字視頻光盤(DVD)、數(shù)字磁帶、計算機(jī)存儲器等;以及傳輸型介質(zhì),諸如,數(shù)字和/或模擬通信介質(zhì)(例如,光纜、波導(dǎo)、有線通信鏈路、無線通信鏈路等)。
對于在本文中使用的實質(zhì)上任何復(fù)數(shù)形式和/或單數(shù)形式的術(shù)語,在適合上下文和/或應(yīng)用時,本領(lǐng)域的技術(shù)人員可以從復(fù)數(shù)形式變換為單數(shù)形式并且/或者從單數(shù)形式變換為復(fù)數(shù)形式。為清楚起見,可以明確地陳述各種單數(shù)形式/復(fù)數(shù)形式置換。
由此,已經(jīng)描述了本主題的具體實施例。其它實施例在以下權(quán)利要求書的范圍內(nèi)。在某些情況下,在權(quán)利要求書中敘述的動作可以按照不同的順序來進(jìn)行并且仍然可以實現(xiàn)期望的結(jié)果。另外,在附圖中描繪的過程不一定需要所示的特定順序或者相繼順序,以實現(xiàn)期望的結(jié)果。在某些實施方式中,多任務(wù)處理和并行處理可以是有利的。