本發(fā)明涉及信號處理
技術(shù)領(lǐng)域:
,具體涉及一種全景聲音頻處理方法。
背景技術(shù):
:在用虛擬現(xiàn)實頭戴設(shè)備(Head-MountedDisplay,HMD)向用戶呈現(xiàn)內(nèi)容時,音頻內(nèi)容通過立體聲耳機向用戶播放。這時需要面臨如何提高虛擬環(huán)繞聲效果的問題。在虛擬現(xiàn)實應(yīng)用中,當通過立體聲耳機播放音頻內(nèi)容時,虛擬3D音頻的目的是想要達到一種效果,讓用戶就像用揚聲器陣列(如5.1或7.1)聽一樣,甚至像聽現(xiàn)實中的聲音一樣真實。在制作虛擬現(xiàn)實音頻內(nèi)容時,通常有需要幾種聲音元素。一種提高臨場感的方法是跟蹤用戶頭部動作(headtracking),對聲音進行相應(yīng)的處理。比如,如果原始聲音被用戶感知為來自正前方,當用戶向左轉(zhuǎn)頭90度后,聲音應(yīng)被處理使得用戶感知聲音來自正右方90度。在這里虛擬現(xiàn)實設(shè)備可以有很多種類,比如帶頭部跟蹤的顯示設(shè)備,或者只是一部帶頭部跟蹤傳感器的立體聲耳機。實現(xiàn)頭部跟蹤也有多種方法。比較常見的是使用多種傳感器。運動傳感器套件通常包括加速度計、陀螺儀和磁力傳感器。在運動跟蹤和絕對方向方面每種傳感器都有自己固有的強項和弱點。因此常用做法是采用傳感器“融合”(sensorfusion),將來自各傳感器的信號組合在一起,產(chǎn)生一個更加精確的運動檢測結(jié)果。在得到頭部旋轉(zhuǎn)角度后,需要對聲音進行相應(yīng)的變化。生成虛擬現(xiàn)實聲場有以下幾種方法:一種做法是是對音頻對象使用HRTF(HeadRelatedTransferFunction,頭相關(guān)變換函數(shù))濾波器進行濾波,得到虛擬環(huán)繞聲。HRTF在時間域所對應(yīng)的名稱是HRIR(HeadRelatedImpulseResponse)?;蛘邔⒁粼磁c雙耳房間脈沖響應(yīng)(BinauralRoomImpulseResponse,BRIR)做卷積。雙耳房間脈沖響應(yīng)由三個部分組成:直達聲、早期反射聲和混響。直接將音頻對象和BRIR卷積這種做法的缺點是如果場景復(fù)雜,含有大量的音頻對象,則復(fù)雜度會變得非常高,特別是在虛擬現(xiàn)實設(shè)備上還需要根據(jù)頭部的動作對音頻對象的位置進行實時調(diào)整,對于很多音頻播放終端,這將導(dǎo)致功耗過大,甚至無法播放。另外大量的音頻對象數(shù)據(jù)從服務(wù)器到客戶端對帶寬的要求極高,不切合實際。第二種方式是將聲音轉(zhuǎn)到ambisonic域,然后再通過使用旋轉(zhuǎn)矩陣對信號做變換。具體做法是將音頻轉(zhuǎn)為B格式信號,將該B格式信號轉(zhuǎn)換為虛擬揚聲器陣列信號,將虛擬揚聲器陣列信號通過HRTF濾波器進行濾波,得到虛擬環(huán)繞聲。第三種方法是采用人頭錄音,直接得到雙耳的信號。通過多個方向的人頭錄音,進行插值,從而得到頭部在任何旋轉(zhuǎn)角度時的雙耳信號??梢钥吹剑摂M現(xiàn)實全景聲存在多種格式,在效率以及效果上各有優(yōu)缺點?,F(xiàn)有的虛擬現(xiàn)實全景聲客戶端一般無法完全支持和兼容各種全景聲格式。同時,由于復(fù)雜度和帶寬的限制,客戶端支持有的全景聲格式會力不從心。有鑒于此,在本領(lǐng)域需要一種有效且高質(zhì)量生成虛擬現(xiàn)實全景聲的系統(tǒng)解決方案。技術(shù)實現(xiàn)要素:本發(fā)明的目的在于提供一種全景聲音頻處理方法,采用服務(wù)器加客戶端的音頻處理方式,能有效地在服務(wù)器端兼容輸入的各種全景聲格式,將其根據(jù)應(yīng)用和內(nèi)容,動態(tài)地選擇兼容性好的中間格式進行轉(zhuǎn)碼輸出,從而大大改善了客戶端對全景聲的兼容性,降低了客戶端處理全景聲的復(fù)雜度,減小了服務(wù)器到客戶端傳送全景聲信號的帶寬??蛻舳酥恍枰獜姆?wù)器端獲取全景聲的中間格式,以及虛擬現(xiàn)實頭戴設(shè)備獲取的頭部方向,即可解碼獲得全景聲雙耳信號,通過立體聲耳機播放,即能獲得全景聲體驗。為實現(xiàn)上述目的,本發(fā)明所述的全景聲音頻處理方法包括以下步驟:服務(wù)器端獲取不同格式的音頻信號,對不同格式的音頻信號進行轉(zhuǎn)碼獲得中間格式音頻信號;對所述中間格式音頻信號疊加,得到輸出給客戶端的中間格式音頻信號;客戶端從服務(wù)器端獲取輸出給客戶端的中間格式音頻信號;獲取頭部旋轉(zhuǎn)方向;解碼獲得全景聲雙耳信號。優(yōu)選地,所述不同格式的音頻信號包括多方向雙耳錄音信號、聲場錄音信號和音頻對象信號。優(yōu)選地,所述中間格式音頻信號包括多路binaural信號和Ambisonic信號。優(yōu)選地,服務(wù)器端對所述不同格式的音頻信號轉(zhuǎn)碼為統(tǒng)一的中間格式音頻信號,具體包括:a、對于中間格式音頻信號為多路binaural信號的情況:將輸入的多方向雙耳錄音信號、聲場錄音信號和音頻對象信號都統(tǒng)一轉(zhuǎn)碼成多路binaural信號;b、對于中間格式音頻信號為Ambisonic信號的情況:將輸入的多方向雙耳錄音信號、聲場錄音信號和音頻對象信號都統(tǒng)一轉(zhuǎn)碼成Ambisonic信號。優(yōu)選地,服務(wù)器端對所述不同格式的音頻信號混合地或動態(tài)地同時轉(zhuǎn)碼為多種中間格式音頻信號。優(yōu)選地,對所述中間格式音頻信號疊加指的是將不同格式的音頻信號轉(zhuǎn)碼得到的中間格式音頻信號混合疊加在一起,得到最終輸出給客戶端的中間格式音頻信號。優(yōu)選地,所述頭部旋轉(zhuǎn)方向包括頭部注視方向的水平角和仰角。優(yōu)選地,所述的頭部旋轉(zhuǎn)方向的獲取是通過虛擬現(xiàn)實頭戴設(shè)備的傳感器得到的。優(yōu)選地,所述的解碼指的是將中間格式音頻信號解碼轉(zhuǎn)換為全景聲雙耳信號,具體包括:a、對于中間格式音頻信號為多路binaural信號的情況:將多路binaural信號,根據(jù)頭部旋轉(zhuǎn)角度,插值得到全景聲雙耳信號;b、對于中間格式音頻信號為Ambisonic信號的情況:將Ambisonic信號,通過根據(jù)頭部旋轉(zhuǎn)角度得到的旋轉(zhuǎn)矩陣處理得到聲場旋轉(zhuǎn)后的Ambisonic信號;再通過解碼矩陣轉(zhuǎn)換為虛擬揚聲器陣列信號,將虛擬揚聲器陣列信號通過對應(yīng)的HRTF濾波器進行濾波,得到全景聲雙耳信號。本發(fā)明具有如下優(yōu)點:本發(fā)明所述全景聲音頻處理方法能夠有效且高質(zhì)量地生成全景聲,主要用于配合虛擬現(xiàn)實頭戴設(shè)備進行音頻的立體聲耳機播放,并且所述全景聲在服務(wù)器端經(jīng)過處理,統(tǒng)一為中間格式,很好地改善了全景聲內(nèi)容格式的兼容性,減小了網(wǎng)絡(luò)帶寬占用量并且減輕了客戶端的處理復(fù)雜度,很好地適應(yīng)了現(xiàn)有的基于云架構(gòu)的網(wǎng)絡(luò)類型,由云端服務(wù)器執(zhí)行主要的音頻處理、存儲和分發(fā),從而解決了現(xiàn)有客戶端無法有效、高效地播放各種格式的全景聲內(nèi)容的問題。頭部旋轉(zhuǎn)的全景聲渲染在客戶端完成,也滿足了頭部追蹤低延時的需求,尤其適用于虛擬現(xiàn)實的應(yīng)用。附圖說明圖1是本發(fā)明所述全景聲音頻處理方法的流程示意圖。具體實施方式以下實施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。如圖1所示,本發(fā)明所述的全景聲音頻處理方法包括以下步驟:服務(wù)器端獲取不同格式的音頻信號,將其根據(jù)應(yīng)用和內(nèi)容,動態(tài)選擇兼容性好的中間格式進行轉(zhuǎn)碼,獲得中間格式音頻信號;對所述中間格式音頻信號疊加,得到輸出給客戶端的中間格式音頻信號;客戶端從服務(wù)器端獲取(例如通過互聯(lián)網(wǎng))輸出給客戶端的中間格式音頻信號;獲取頭部旋轉(zhuǎn)方向;解碼獲得全景聲雙耳信號。優(yōu)選地,所述不同格式的音頻信號包括多方向雙耳錄音信號(比如quadbinaural)、聲場錄音信號(比如Ambisonic)和音頻對象信號。優(yōu)選地,所述中間格式音頻信號包括多路binaural信號和Ambisonic信號。優(yōu)選地,服務(wù)器端對所述不同格式的音頻信號轉(zhuǎn)碼為統(tǒng)一的中間格式音頻信號,具體包括:a、對于中間格式音頻信號為多路binaural信號的情況:將輸入的多方向雙耳錄音信號、聲場錄音信號和音頻對象信號都統(tǒng)一轉(zhuǎn)碼成多路binaural信號;b、對于中間格式音頻信號為Ambisonic信號的情況:將輸入的多方向雙耳錄音信號、聲場錄音信號和音頻對象信號都統(tǒng)一轉(zhuǎn)碼成Ambisonic信號。優(yōu)選地,服務(wù)器端對所述不同格式的音頻信號混合地或動態(tài)地同時轉(zhuǎn)碼為多種中間格式音頻信號。優(yōu)選地,對所述中間格式音頻信號疊加指的是將不同格式的音頻信號轉(zhuǎn)碼得到的中間格式音頻信號混合疊加在一起,得到最終輸出給客戶端的中間格式音頻信號。優(yōu)選地,所述頭部旋轉(zhuǎn)方向包括頭部注視方向的水平角和仰角。優(yōu)選地,所述的頭部旋轉(zhuǎn)方向的獲取是通過虛擬現(xiàn)實頭戴設(shè)備的傳感器得到的。比如陀螺儀,加速計和指南針。優(yōu)選地,所述的解碼指的是將中間格式音頻信號解碼轉(zhuǎn)換為全景聲雙耳信號,具體包括:a、對于中間格式音頻信號為多路binaural信號的情況:將多路binaural信號,根據(jù)頭部旋轉(zhuǎn)角度,插值得到全景聲雙耳信號;b、對于中間格式音頻信號為Ambisonic信號的情況:將Ambisonic信號,通過根據(jù)頭部旋轉(zhuǎn)角度得到的旋轉(zhuǎn)矩陣處理得到聲場旋轉(zhuǎn)后的Ambisonic信號;再通過解碼矩陣轉(zhuǎn)換為虛擬揚聲器陣列信號,將虛擬揚聲器陣列信號通過對應(yīng)的HRTF濾波器進行濾波,得到全景聲雙耳信號。下面通過三個實施例詳細說明本發(fā)明所述的全景聲音頻處理方法的具體步驟。實施例一:對于中間格式音頻信號為多路binaural信號的情況的處理包括如下處理步驟(以4路,即Quadbinaural為例):1、將服務(wù)器端的各種全景聲格式統(tǒng)一轉(zhuǎn)碼為多路binaural格式。a.將音頻對象信號轉(zhuǎn)碼為多路binaural格式。將音頻對象通過HRTF濾波得到雙耳信號Bi。因為要處理N=4個方向的雙耳信號,所以音頻對象要與4個方向?qū)?yīng)的HRTF濾波器都進行一次濾波。Bi=Hi·SObj其中:i=1~N;Hi表示第i路的HRTF濾波矩陣。SObj表示輸入的音頻對象。b.將聲場錄音信號轉(zhuǎn)碼為多路binaural格式。將聲場錄音信號通過旋轉(zhuǎn)矩陣旋轉(zhuǎn)得到N=4個方向的聲場信號,分別將旋轉(zhuǎn)后的聲場信號轉(zhuǎn)換為虛擬揚聲器陣列信號,將虛擬揚聲器陣列信號通過HRTF濾波器進行濾波,得到N=4個方向的雙耳信號Bi。Bi=Hi·Di·Ri·SAmb其中:i=1~N;Hi表示第i路的HRTF濾波矩陣。Di表示第i路的解碼矩陣。Ri表示第i路的旋轉(zhuǎn)矩陣。SAmb表示輸入的音頻聲場。c.將人頭錄音信號轉(zhuǎn)碼為多路binaural格式??梢酝ㄟ^集成多組人耳的人工頭同時錄N=4個方向的錄音Bi,其中:i=1~N。如果人頭錄音的多路雙耳信號與服務(wù)器中間格式的多路binaural信號路數(shù)不相同,或者方向不一致,則可以通過插值擬合來進行轉(zhuǎn)換。2、將不同格式的音頻信號轉(zhuǎn)碼成的多路binaural格式音頻信號疊加,輸出給客戶端。將上面三種格式(音頻對象信號、聲場錄音信號和人頭錄音信號)產(chǎn)生的雙耳信號混合(mix)成一組信號Bi,其中:i=1~N;3、客戶端從服務(wù)器端接收到多路binaural格式音頻信號,根據(jù)人頭方向插值還原播放全景聲場。在客戶端,根據(jù)人頭方向,通過對N=4個方向的雙耳音頻信號進行插值,還原出全景聲場B。B=Σi=1NGi·Bi]]>其中:i=1~N;Gi表示第i路的插值系數(shù);例如N=4時,為了保持信號能量,可以采用余弦信號作為插值系數(shù)。如果Gi<0,則令Gi=0其中:i=1~N;θ表示人頭旋轉(zhuǎn)的水平角度。實施例二:對于中間格式為Ambisonic的情況的處理包括如下處理步驟:1.將服務(wù)器端的各種全景聲格式統(tǒng)一轉(zhuǎn)碼為Ambisonic格式。a.將音頻對象轉(zhuǎn)碼為Ambisonic格式。下面描述了如何將音頻對象編碼到ambisonic格式。將音頻對象編碼到一階ambisonic信號:W=1kΣi=1ksi[12];]]>X=1kΣi=1ksi[cosθicosφi];]]>Y=1kΣi=1ksi[sinθicosφi];]]>Z=1kΣi=1ksi[sinφi];]]>其中si是第i個音頻對象,i=1……k,k是音頻對象的個數(shù)。θi是平面上的角度(方位角),φi是垂直方向上的角度(仰角)。W聲道信號表示全方向聲波,X聲道信號、Y聲道信號和Z聲道信號分別表示沿空間三個互相垂直取向X、Y、Z的聲波。一階AmbisonicB格式信號表示為同理,將音頻對象編碼到2階或3階Ambisonic格式信號優(yōu)選依照下表定義進行:b.將聲場錄音信號轉(zhuǎn)碼為Ambisonic格式。如果聲場錄音信號是AmbisonicA格式信號,而中間格式為AmbisonicB格式信號,則可以通過轉(zhuǎn)換公式將A格式轉(zhuǎn)換為B格式。如果聲場錄音信號是低階的Ambisonic信號,而中間格式為高階Ambisonic信號,則可以通過upmix方式將低階格式轉(zhuǎn)換為高階格式。如果聲場錄音信號是高階的Ambisonic信號,而中間格式為低階Ambisonic信號,則可以通過downmix方式將低階格式轉(zhuǎn)換為高階格式。c.將人頭錄音信號轉(zhuǎn)碼為Ambisonic格式。有兩種方式可以將人頭錄音轉(zhuǎn)碼為Ambisonic格式。一種方式是將每個耳朵的錄音作為一個音頻對象,耳朵相對頭部中心的方位即是音頻對象的方位。然后根據(jù)上面a節(jié)所述的音頻對象轉(zhuǎn)碼為Ambisonic的方式進行轉(zhuǎn)碼即可。另一種方式是從人頭錄音信號中抽取音頻對象(objectextraction),然后估計出音頻對象的方位(通過DOA方法)。然后根據(jù)上面a節(jié)所述的音頻對象轉(zhuǎn)碼為Ambisonic的方式進行轉(zhuǎn)碼即可。抽取音頻對象后的殘差信號,可以認為是無方向的環(huán)境聲,可以放在Ambisonic的全方向W聲道中。2.將不同格式轉(zhuǎn)碼成的Ambisonic格式信號疊加,輸出給客戶端。比如,Ambisonic采用B格式信號,則將上面三種格式(音頻對象、聲場錄音信號和人頭錄音信號)產(chǎn)生的Ambisonic信號mix成一組信號3.客戶端從服務(wù)器端接收到Ambisonic格式信號,解碼并根據(jù)人頭旋轉(zhuǎn)方向還原播放全景聲場。a.根據(jù)所述人頭旋轉(zhuǎn)角度,將所述AmbisonicB格式信號旋轉(zhuǎn)得到旋轉(zhuǎn)后的AmbisonicB格式信號;具體來說,是根據(jù)所述旋轉(zhuǎn)角度生成旋轉(zhuǎn)矩陣,再根據(jù)所述旋轉(zhuǎn)矩陣,對所述AmbisonicB格式信號進行旋轉(zhuǎn)。所謂旋轉(zhuǎn),即將旋轉(zhuǎn)矩陣與待調(diào)整信號矩陣相乘,旋轉(zhuǎn)不改變音頻信號矩陣分量的大小,只改變分量的方向。AmbisonicB格式的信號矩陣為[WXYZ]T時,旋轉(zhuǎn)矩陣為則旋轉(zhuǎn)后的AmbisonicB格式信號為:W1X1Y1Z1=10000cos(θ)-sin(θ)00sin(θ)cos(θ)00001WXYZ]]>b.將所述旋轉(zhuǎn)后的AmbisonicB格式信號轉(zhuǎn)換成虛擬揚聲器陣列信號;以一個一階B格式信號[W1X1Y1Z1]T為例,轉(zhuǎn)換成虛擬揚聲器陣列信號[L1L2…LN]T的過程就是進行下列運算:L1L2..LN=Gw1Gx1Gy1Gz1Gw2Gx2Gy2Gz2........GwNGxNGyNGzNW1X1Y1Z1=GW1X1Y1Z1.]]>其中,N為虛擬揚聲器拓撲結(jié)構(gòu)中包括的虛擬揚聲器的數(shù)目。上式中所用的G矩陣為ambisonic解碼矩陣,可以通過求偽逆矩陣來得出。c.對音頻對象的所述虛擬揚聲器陣列信號基于雙耳房間脈沖響應(yīng)(BRIR)進行雙耳轉(zhuǎn)碼(通常是3維,即包含高度信息),得到音頻對象的雙耳輸出虛擬環(huán)繞聲信號。具體是:從虛擬揚聲器信號轉(zhuǎn)到耳機信號對應(yīng)的二路立體聲BRIR矩陣,將該二路立體聲矩陣和虛擬揚聲器陣列信號進行矩陣乘法,得到虛擬環(huán)繞聲。BRIR矩陣為則虛擬環(huán)繞聲為所述雙耳房間脈沖響應(yīng)優(yōu)選為離線生成,可以采用真實測量或由專門的軟件生成,因此不必像現(xiàn)有技術(shù)中采用在線生成方式時需要存儲大量的BRIR,減少了內(nèi)存消耗。實施例三:可以根據(jù)實際應(yīng)用和錄音內(nèi)容同時混合或動態(tài)使用幾種中間格式。本發(fā)明中所述的兩種中間格式各有其優(yōu)缺點。對于多路binaural格式,在雙耳錄音方向的效果最好。在兩路雙耳錄音方向的中間插值區(qū)域,效果最差。一般采用性價比比較高的4路binaural格式,也就是Quadbinaural格式。需要傳送8軌音頻,數(shù)據(jù)量不低不高。對于Ambisonic格式,在各個方向的效果比較均勻,沒有多路binaural格式最好的方向好,也沒有多路binaural格式最差的方向差。另外對于1階ambisonic格式,只需要傳送4軌音頻,比Quadbinaural格式的數(shù)據(jù)量小了一半。當然如果要求精度和質(zhì)量更高,可以采用3階或5階的ambisonic格式。3階的ambisonic格式需要16軌音頻。5階的ambisonic需要36軌音頻,基本達到對象音頻的品質(zhì)。所以根據(jù)兩種中間格式的優(yōu)缺點,可以根據(jù)應(yīng)用、帶寬和內(nèi)容動態(tài)使用其中某種中間格式,并用標志位表明當前采用了哪種中間格式,以便客戶端正確解碼。比如,當前網(wǎng)絡(luò)帶寬較富裕,系統(tǒng)可以動態(tài)調(diào)整中間格式采用高階Ambisonic格式。如果當前網(wǎng)絡(luò)狀況不佳,系統(tǒng)可以動態(tài)調(diào)整中間格式采用1階Ambisonic格式。如果當前網(wǎng)絡(luò)狀況正常,并且場景中的聲源主要集中在幾個離散方向,場景中的感興趣區(qū)域集中在一個方向,頭部不會做經(jīng)常旋轉(zhuǎn),則系統(tǒng)采用多路binaural格式為最佳。雖然,上文中已經(jīng)用一般性說明及具體實施例對本發(fā)明作了詳盡的描述,但在本發(fā)明基礎(chǔ)上,可以對之作一些修改或改進,這對本領(lǐng)域技術(shù)人員而言是顯而易見的。因此,在不偏離本發(fā)明精神的基礎(chǔ)上所做的這些修改或改進,均屬于本發(fā)明要求保護的范圍。當前第1頁1 2 3