Google發布Omnitone開源系統,是VR制作新潮流來襲的節奏嗎?
當下主流的全景3D音頻內容格式馬上就要過時了。
上個月,谷歌在其官方博客上公布了其網頁VR音頻系統Omnitone項目的技術細節。這個項目是一個跨瀏覽器支持的開源空間音頻渲染器,主要是為VR設備營造“全景音頻”環境提供解決方案,讓用戶獲得更好的VR沉浸感。
提到“全景音頻”的解決方案,有些人或許覺得理論十分簡單,做一個虛擬空間,該空間里任何一個音源,用三維坐標標定,然后將VR頭盔里的坐標數據導入,再輸出相應的聲音,即可得到一個完美的“自然”聲場。但是這個方案的前提是音源數足夠少、運算速度足夠快,所以用于逼真模擬現實世界數量眾多的音源是幾乎不可能的。
目前,主流的全景3D音頻內容格式包括Quad Binaural和Ambisonic。
其中,Quad Binaural是將一個聲場用0、90、180、270度四個方向去表征。如果需要錄制一個點的聲場,則錄制這個點前后左右的聲音,每個方向兩個聲道,最終八個聲道。想得到新的方向的聲音,用四個方向的聲音進行加權合成即可。這種方案的好處是解碼非常容易,比如我們很自然就會想到45度時候的聲音就是一半的0度+一半的90(雖然實際情況會更復雜一些)。相比現在常用的一階的Ambisonic(FOA,First Order Ambisonic),其對水平方向的敏感度更高。不過,它的問題在于垂直方向的聲音是木有變化的。
Ambisonic則是從球諧函數出發,(n+1)^2個聲道來表征聲場。舉例來說,Google發布的Omnitone是一階的Ambisonic,于是有(1+1)^2=4個聲道,如上圖所示,w,x,y,z。w可以理解成背景聲,x,y,z分別是來自直角坐標系三個方向的聲音。這個方案的好處在于有了z(垂直)這個方向,抬頭或者低頭在VR世界里聲音是會有區別的,而且隨著你提供的運算能力的提升,用更高階的Ambisonic函數可以獲得更好的效果。不過, 越高階的ambisonic函數解碼越復雜。此外,一階Ambisonic(FOA)因為將相反方向傳來的聲音(C,D)同時混入了X,所以當你轉頭的時候,在某些角度下的聽者對方向的靈敏度是不如Quad Binaural的。
而Google的網頁VR音頻系統Omnitone項目用到的解決辦法很聰明,而且單刀直入。它主要支持目前業界較為常用的FOA(一階Ambisonic)格式,這也是YouTube App推薦的主要全景聲格式。
下面是Omnitone音頻處理過程圖解:
從上圖可以看出,Google的Omnitone系統的Ambisonic解碼器采用了業界主流的算法流程,根據傳感器給出的方位信息, 采用一個旋轉算子來實現聲場旋轉,進而用雙聲道輸出。
可以大膽預言的是是,FOA的全景聲將會在未來幾年快速普及,這對VR行業來說也是一個福音。不過,現在的問題是FOA聲音文件缺乏,而錄制FOA聲音硬件昂貴,且不便于攜帶使用。有興趣創業者可以嘗試解決這個問題。
最后,記得關注微信公眾號:鎂客網(im2maker),更多干貨在等你!
硬科技產業媒體
關注技術驅動創新
