本發(fā)明實施例涉及音頻處理技術(shù)領(lǐng)域,特別是涉及一種聲音處理方法、裝置、電子設(shè)備及計算機(jī)程序產(chǎn)品。
背景技術(shù):
目前3d游戲以及虛擬現(xiàn)實/增強(qiáng)現(xiàn)實(vr/ar)能夠?qū)崿F(xiàn)360度的視覺呈現(xiàn),真實與虛擬的混合,從視覺上將用戶體驗帶到了一個新的高度。
然而,雖然視覺上做到了近乎真實的全景感受,聽覺上離真實卻還有明顯差距,在頭部轉(zhuǎn)動的時候,聲音沒有明顯變化,或者雖然有變化卻感覺并不真實,更像模擬出來的3d音效的體驗,定位感較差。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供一種聲音處理方法、裝置、電子設(shè)備及計算機(jī)程序產(chǎn)品,主要解決的技術(shù)問題是提高輸出的聲音的真實性。
為解決上述技術(shù)問題,本發(fā)明實施例采用的一個技術(shù)方案是:提供一種聲音處理方法,包括:確定實時場景中人體模型的左耳位置和右耳位置;模擬實時場景中需要播放的音頻在左耳位置處的音效作為左耳音頻輸出,模擬實時場景中需要播放的音頻在右耳位置處的音效作為右耳音頻輸出。
其中,所述確定實時場景中人體模型的左耳位置和右耳位置,包括:確定人體模型的位置以及朝向;根據(jù)人體模型的位置以及朝向確定人體模型的左耳位置和右耳位置。
其中,所述根據(jù)所述位置和朝向確定人體模型的左耳位置和右耳位置,包括:根據(jù)人體模型的位置以及朝向確定人頭位置和人頭朝向;在相應(yīng)的人頭位置上植入一個具有所述人頭朝向的人頭模型;獲取人頭模型上的左耳位置作為人體模型的左耳位置,獲取人頭模型上的右耳位置作為人體模型的右耳位置。
其中,所述模擬實時場景中需要播放的音頻在左耳位置處的音效,包括:根據(jù)實時場景中的各個物體的材質(zhì)以及發(fā)聲點相對于左耳的方位,對相應(yīng)發(fā)聲點位置對應(yīng)的音頻進(jìn)行處理得到在左耳位置處的音效;所述模擬實時場景中需要播放的音頻在右耳位置處的音效,包括:根據(jù)實時場景中的各個物體的材質(zhì)以及發(fā)聲點相對于右耳的方位,對相應(yīng)發(fā)聲點位置對應(yīng)的音頻進(jìn)行處理得到在右耳位置處的音效。
其中,所述場景為游戲場景。
為解決上述技術(shù)問題,本發(fā)明實施例采用的另一個技術(shù)方案是:提供一種聲音處理裝置,包括:定位模塊,用于確定實時場景中人體模型的左耳和右耳位置;模擬模塊,用于模擬實時場景中需要播放的音頻在左耳位置處的音效作為左耳音頻輸出,模擬實時場景中需要播放的音頻在右耳位置處的音效作為右耳音頻輸出。
其中,所述定位模塊用于確定人體模型的位置以及朝向,并根據(jù)人體模型的位置以及朝向確定人體模型的左耳位置和右耳位置。
其中,所述定位模塊用于根據(jù)人體模型的位置以及朝向確定人頭位置和人頭朝向,在相應(yīng)的人頭位置上植入一個具有所述人頭朝向的人頭模型,以及獲取人頭模型上的左耳位置作為人體模型的左耳位置,獲取人頭模型上的右耳位置作為人體模型的右耳位置。
其中,所述模擬模塊用于根據(jù)實時場景中的各個物體的材質(zhì)以及發(fā)聲點相對于左耳的方位,對相應(yīng)發(fā)聲點位置對應(yīng)的音頻進(jìn)行處理得到在左耳位置處的音效;還用于根據(jù)實時場景中的各個物體的材質(zhì)以及發(fā)聲點相對于右耳的方位,對相應(yīng)發(fā)聲點位置對應(yīng)的音頻進(jìn)行處理得到在右耳位置處的音效。
為解決上述技術(shù)問題,本發(fā)明實施例采用的另一個技術(shù)方案是:提供一種電子設(shè)備,包括:至少一個處理器;存儲器,所述存儲器與處理器連接,所述存儲器存儲有可被所述至少一個處理器執(zhí)行的計算機(jī)可執(zhí)行指令,所述計算機(jī)可執(zhí)行指令被所述至少一個處理器執(zhí)行,以使所述至少一個處理器用于執(zhí)行上述的聲音處理方法。
其中,所述電子設(shè)備為增強(qiáng)現(xiàn)實設(shè)備或者虛擬現(xiàn)實設(shè)備。
為解決上述技術(shù)問題,本發(fā)明實施例采用的另一個技術(shù)方案是:提供一種計算機(jī)程序產(chǎn)品,所述計算機(jī)程序產(chǎn)品包括存儲在非易失性計算機(jī)可讀存儲介質(zhì)上的計算程序,所述計算機(jī)程序包括程序指令,當(dāng)所述程序指令被計算機(jī)執(zhí)行時,使所述計算執(zhí)機(jī)行上述的聲音處理方法。
本發(fā)明實施例的有益效果是:區(qū)別于現(xiàn)有技術(shù)的情況,本發(fā)明實施例中的聲音處理方法、裝置、電子設(shè)備及計算機(jī)程序產(chǎn)品,通過每一個原始發(fā)聲點的位置和聲音等信息,實時仿真空間中hats模型錄音點位置的聲音信息,并傳輸給耳機(jī),以得到最真實的全景聲。
附圖說明
圖1是本發(fā)明實施例中一種聲音處理方法的流程示意圖;
圖2是本發(fā)明實施例中的一種聲音處理方法應(yīng)用于增強(qiáng)現(xiàn)實游戲場景的狀態(tài)示意圖;
圖3是在圖2的場景下確定人體模型的左耳、右耳位置的示意圖;
圖4是本發(fā)明實施例中的一種聲音處理方法中根據(jù)人體模型的位置以及朝向確定人體模型的左耳位置和右耳位置的方法流程示意圖;
圖5是本發(fā)明實施例中的一種聲音處理裝置的結(jié)構(gòu)示意圖;
圖6是本發(fā)明實施例中的一種實現(xiàn)種聲音處理方法的電子設(shè)備的結(jié)構(gòu)示意圖。
具體實施例
為了便于理解本發(fā)明,下面結(jié)合附圖和具體實施例,對本發(fā)明進(jìn)行更詳細(xì)的說明。
除非另有定義,本說明書所使用的所有的技術(shù)和科學(xué)術(shù)語與屬于本發(fā)明的技術(shù)領(lǐng)域的技術(shù)人員通常理解的含義相同。本說明書中在本發(fā)明的說明書中所使用的術(shù)語只是為了描述具體的實施例的目的,不是用于限制本發(fā)明。本說明書所使用的術(shù)語“和/或”包括一個或多個相關(guān)的所列項目的任意的和所有的組合。
請參閱圖1,是本發(fā)明實施例中一種聲音處理方法的流程示意圖。該實施例示出的方法包括:
步驟s10,確定實時場景中人體模型的左耳位置和右耳位置。
其中,該場景為游戲場景。
確定實時場景中人體模型的左耳位置和右耳位置,具體為:確定人體模型的位置以及朝向,并根據(jù)人體模型的位置以及朝向確定人體模型的左耳位置和右耳位置。
請同時參閱圖2,具體地,將人體軀干模型的雙耳在場景三維模型中的位置設(shè)置為仿真點,實時獲取該場景中各聲音對象在該場景三維模型的三維坐標(biāo)系中的三維坐標(biāo)值和音頻信息,以及當(dāng)前時刻仿真點在場景三維模型的三維坐標(biāo)系中的三維坐標(biāo)值和角度。
在該場景地圖中將用戶的位置換成一個虛擬的頭部可轉(zhuǎn)動的hats模型(headandtorsosimulator,人頭與軀干模型)(與用戶上身重合),任何時候?qū)ats頭部兩耳中心在三維立體地圖中的實時位置標(biāo)記為(0,0,0)。人物始終在畫面中心,走動過程中實時變換地圖中所有其他位置的坐標(biāo)。根據(jù)使用場景的不同,頭部可轉(zhuǎn)動的能力也會不同,如傳統(tǒng)3d游戲中,人的頭部只能上下轉(zhuǎn)動,不能夠擺動或者左右轉(zhuǎn)動(左右轉(zhuǎn)動是和身體一起轉(zhuǎn)動)。而最新的vr/ar場景中,頭部可以以三軸進(jìn)行轉(zhuǎn)動。
進(jìn)一步地,請參閱圖4,根據(jù)人體模型的位置以及朝向確定人體模型的左耳位置和右耳位置,包括:
步驟s31,根據(jù)人體模型的位置以及朝向確定人頭位置和人頭朝向。
步驟s32,在相應(yīng)的人頭位置上植入一個具有所述人頭朝向的人頭模型。
步驟s33,獲取人頭模型上的左耳位置作為人體模型的左耳位置,獲取人頭模型上的右耳位置作為人體模型的右耳位置。
請再次參閱圖2,具體地,用戶位置用hats模型替換,頭部兩耳連線中心點坐標(biāo)設(shè)置為(0,0,0),軀干方向為以z為軸轉(zhuǎn)動a度(假設(shè)軀干正方向為正前方與x軸正方向重合,記為0度。假設(shè)以頭頂方向與z軸重合,并且面部正前方與x軸重合為頭部的正方向。兩耳間距為d,則可知在頭部正方向的情況下,左右耳坐標(biāo)分別為(0,d/2,0)和(0,-d/2,0),臉部面向x軸正方向,記為0度。
步驟s11,模擬實時場景中需要播放的音頻在左耳位置處的音效作為左耳音頻輸出,模擬實時場景中需要播放的音頻在右耳位置處的音效作為右耳音頻輸出。
其中,模擬實時場景中需要播放的音頻在左耳位置處的音效,具體為:根據(jù)實時場景中的各個物體的材質(zhì)以及發(fā)聲點相對于左耳的方位,對相應(yīng)發(fā)聲點位置對應(yīng)的音頻進(jìn)行處理得到在左耳位置處的音效。
其中,模擬實時場景中需要播放的音頻在右耳位置處的音效,具體為:根據(jù)實時場景中的各個物體的材質(zhì)以及發(fā)聲點相對于右耳的方位,對相應(yīng)發(fā)聲點位置對應(yīng)的音頻進(jìn)行處理得到在右耳位置處的音效。
具體地,根據(jù)場景中的三維立體模型信息,在人物所處位置和方向?qū)崟r模擬一個頭部可轉(zhuǎn)動的hats模型,按照人體軀干模型錄音的方式,取hats模型左右耳放置耳機(jī)的位置為實時仿真點。以實時的三維立體場景模型信息,將各個發(fā)聲點聲音、位置、方向等信息、hats模型的位置、方向、頭部轉(zhuǎn)動角度等信息作為輸入,通過仿真計算得到hats模型錄音記錄點的音頻信息,并將此音頻直接輸出給用戶佩戴的耳機(jī),即可得到最真實的全景聲音體驗。
以上內(nèi)容,通過記錄每一個原始發(fā)聲點的聲音、位置、方向,實時仿真計算空間中頭部可轉(zhuǎn)動的hats模型人頭錄雙耳位置的聲音信息,并傳輸給耳機(jī),以得到最真實的全景聲。
請再次參閱圖2,下面以該場景為例對本發(fā)明實施例的聲音處理方法進(jìn)行解釋說明。在本實施例中,該場景為基于虛擬現(xiàn)實(vr)射擊游戲場景。
在某一特定時刻,用戶在該場景中,周圍不同位置可能有腳步聲、說話聲、槍聲、爆炸聲等種種聲音,因為這些信息都是由游戲本身控制的,所以具體坐標(biāo)位置、方向、源頭的具體聲音都是已知的。
將人體軀干模型的雙耳在場景三維模型中的位置設(shè)置為仿真點,實時獲取該場景中各聲音對象在該場景三維模型的三維坐標(biāo)系中的三維坐標(biāo)值和音頻信息,以及當(dāng)前時刻仿真點在場景三維模型的三維坐標(biāo)系中的三維坐標(biāo)值和角度。
具體地,在該場景地圖中將用戶的位置換成一個虛擬的頭部可轉(zhuǎn)動的hats人體軀干模型(與用戶上身重合),任何時候?qū)ats頭部兩耳中心在三維立體地圖中的實時位置標(biāo)記為(0,0,0)。人物始終在畫面中心,走動過程中實時變換地圖中所有其他位置的坐標(biāo)。例如,人物站立時,頭部兩耳中心在三維立體地圖中的實時位置為(0,0,0),旁邊地上一個手雷位置為(3,5,-1.7),而當(dāng)人物蹲下時,其頭部兩耳中心在三維立體地圖中的實時位置依然為(0,0,0),而手雷位置可能變更為(3,5,-0.6)。(人物蹲下使得z軸位置發(fā)生變化,人物頭部與地上手雷的位置在z軸上接近了)。
請再次參閱圖2,仍以如上場景為例,x,y軸為水平面,z為垂直于水平面的高度軸:
用戶位置用hats模型替換,頭部兩耳連線中心點坐標(biāo)設(shè)置為(0,0,0),軀干方向為以z軸轉(zhuǎn)動a度(假設(shè)軀干正方向為正前方與x軸正方向重合,記為0度)。
假設(shè)以頭頂方向與z軸重合,并且面部正前方與x軸重合為頭部的正方向。兩耳間距為d,則可知在頭部正方向的情況下,左右耳坐標(biāo)分別為(0,d/2,0)和(0,-d/2,0),臉部面向x軸正方向,記為0度。
請同時參閱圖2、圖3,假設(shè)某時刻兩耳連線與x,y,z三軸的角度分別為α,β,γ。根據(jù)數(shù)學(xué)原理可知,兩耳坐標(biāo)分別為(cosα*d/2,cosβ*d/2,cosγ*d/2)和(cos(π–α)*d/2,cos(π–β)*d/2,cos(π–γ)*d/2),左右耳始終為軸對稱。
如上,與三軸的夾角α,β,γ,以及面部朝向,軀干朝向通過當(dāng)前游戲或體驗設(shè)備的動作傳感器即可直接獲得(如手機(jī)的g-sensor,陀螺儀,地磁傳感器)。
在該場景地圖中的三維坐標(biāo),各個發(fā)聲點的聲音、坐標(biāo)、方向也都是已知,實時計算得到左右耳位置(cosα*d/2,cosβ*d/2,cosγ*d/2)和(cos(π–α)*d/2,cos(π–β)*d/2,cos(π–γ)*d/2)的仿真點的仿真聲音信息。將此仿真結(jié)果實時傳送到用戶佩戴的耳機(jī)上即可得到最真實的效果。
進(jìn)一步地,根據(jù)場景三維模型的表面材質(zhì),對聲音對象的音頻信息進(jìn)行處理,以及根據(jù)處理后的聲音對象的音頻信息、聲音對象在場景三維模型中的方位和仿真點的信息,對每個聲音對象的信息進(jìn)行編碼以生成相應(yīng)的三維音頻。從而,根據(jù)場景三維模型場景中各表面的材質(zhì),以更真實的模擬出回響,阻尼等變化和頭部可轉(zhuǎn)動的hats體軀干模型,所有影響聲音傳播和變化的信息都已經(jīng)是確定的了,則可實時計算得到左右耳位置(cosα*d/2,cosβ*d/2,cosγ*d/2)和(cos(π–α)*d/2,cos(π–β)*d/2,cos(π–γ)*d/2)的仿真點的仿真聲音信息。
請參閱圖5,為本發(fā)明實施例中的一種聲音處理裝置的結(jié)構(gòu)示意圖。該裝置50包括定位模塊51和模擬模塊52。
定位模塊51用于確定實時場景中人體模型的左耳和右耳位置。
模擬模塊52用于模擬實時場景中需要播放的音頻在左耳位置處的音效作為左耳音頻輸出,模擬實時場景中需要播放的音頻在右耳位置處的音效作為右耳音頻輸出。
進(jìn)一步地,定位模塊51用于確定人體模型的位置以及朝向,并根據(jù)人體模型的位置以及朝向確定人體模型的左耳位置和右耳位置。
進(jìn)一步地,定位模塊51用于根據(jù)人體模型的位置以及朝向確定人頭位置和人頭朝向,在相應(yīng)的人頭位置上植入一個具有人頭朝向的人頭模型,以及獲取人頭模型上的左耳位置作為人體模型的左耳位置,獲取人頭模型上的右耳位置作為人體模型的右耳位置。
模擬模塊52用于根據(jù)實時場景中的各個物體的材質(zhì)以及發(fā)聲點相對于左耳的方位,對相應(yīng)發(fā)聲點位置對應(yīng)的音頻進(jìn)行處理得到在左耳位置處的音效;還用于根據(jù)實時場景中的各個物體的材質(zhì)以及發(fā)聲點相對于右耳的方位,對相應(yīng)發(fā)聲點位置對應(yīng)的音頻進(jìn)行處理得到在右耳位置處的音效。
請參閱圖6,為本發(fā)明實施例中的電子設(shè)備的結(jié)構(gòu)示意圖,該實施例中的電子設(shè)備60可以是計算機(jī)。該電子設(shè)備60包括接收器61、處理器62、發(fā)送器63、只讀存儲器64、隨機(jī)存取存儲器65以及總線66。
該接收器61用于接收數(shù)據(jù)。
該處理器62還可以成為cpu(centralprocessingunit,中央處理單元)。該處理器62可能是一種集成電路芯片,具有信號的處理能力。處理器62還可以是通用處理器、數(shù)字信號處理器(dsp)、專用集成電路(asic)、現(xiàn)成可編程門陣列(fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。
該發(fā)送器63用于發(fā)送數(shù)據(jù)。
存儲器可以包括只讀存儲器64和隨機(jī)存取存儲器65,并向處理器62提供指令和數(shù)據(jù)。存儲器的一部分還可以包括非易失性隨機(jī)存取存儲器(nvram)。
電子設(shè)備60的各個組件通過總線66耦合在一起,其中,總線66除包括數(shù)據(jù)總線之外,還可以包括電源總線、控制總線和狀態(tài)信號總線等。但是為了清楚說明起見,在圖中將各種總線都標(biāo)為總線66。
存儲器存儲了如下的元素,可執(zhí)行模塊或者數(shù)據(jù)結(jié)構(gòu),或者它們的子集,或者它們的擴(kuò)展集:
操作指令:包括各種操作指令,用于實現(xiàn)各種操作。
操作系統(tǒng):包括各種系統(tǒng)程序,用于實現(xiàn)各種基礎(chǔ)業(yè)務(wù)以及處理基于硬件的任務(wù)。
在本發(fā)明實施例中,處理器62通過調(diào)用存儲器存儲的操作指令(該操作指令可存儲在操作系統(tǒng)中),執(zhí)行如下操作:
確定實時場景中人體模型的左耳位置和右耳位置;
模擬實時場景中需要播放的音頻在左耳位置處的音效作為左耳音頻輸出,模擬實時場景中需要播放的音頻在右耳位置處的音效作為右耳音頻輸出。
所述電子設(shè)備為增強(qiáng)現(xiàn)實設(shè)備或者虛擬現(xiàn)實設(shè)備。
一種計算機(jī)程序產(chǎn)品,計算機(jī)程序產(chǎn)品包括存儲在非易失性計算機(jī)可讀存儲介質(zhì)上的計算程序,計算機(jī)程序包括程序指令,當(dāng)程序指令被計算機(jī)執(zhí)行時,使計算執(zhí)機(jī)行如下操作:
確定實時場景中人體模型的左耳位置和右耳位置;
模擬實時場景中需要播放的音頻在左耳位置處的音效作為左耳音頻輸出,模擬實時場景中需要播放的音頻在右耳位置處的音效作為右耳音頻輸出。
本發(fā)明實施例的聲音處理方法、裝置、電子設(shè)備及計算機(jī)程序產(chǎn)品,通過每一個原始發(fā)聲點的位置和聲音等信息,實時仿真空間中hats模型錄音點位置的聲音信息,并傳輸給耳機(jī),以得到最真實的全景聲。得到真實全景聲音。
需要說明的是,本發(fā)明的說明書及其附圖中給出了本發(fā)明的較佳的實施例,但是,本發(fā)明可以通過許多不同的形式來實現(xiàn),并不限于本說明書所描述的實施例,這些實施例不作為對本發(fā)明內(nèi)容的額外限制,提供這些實施例的目的是使對本發(fā)明的公開內(nèi)容的理解更加透徹全面。并且,上述各技術(shù)特征繼續(xù)相互組合,形成未在上面列舉的各種實施例,均視為本發(fā)明說明書記載的范圍;進(jìn)一步地,對本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)上述說明加以改進(jìn)或變換,而所有這些改進(jìn)和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù)范圍。