Google发布Omnitone ,让我们来聊聊VR音频

以太 2016-08-02 22:42 创业服务 来源:思达派 查看原文

1.jpg ▲ VR科技正逐渐影响我们的生活

 

-  引言  -

好,CJ差不多结束了,据说这届CJ足球队踢得并不好,与会群众们纷纷表示都球赛不好看,还不如看看VR,所以,应群众的要求,我们再来聊一聊VR。

VR其实可以理解成一个人类追求更自然的人机交互的过程。从一开始你只能通过编程语言和计算机say hi的286时代(想象下那个时代的机器人女友),到win95第一代可视化的操作窗口,再到如今我们戴着头盔进入一个360度的虚拟空间。人与机器的交互变得越来越自然,virtual world也越来越像我们的reality,这就是虚拟现实(virtual reality)。

图像方面,我们带着头盔,上下左右扭头,就能看到不同的图像,这就是自然的人机交互;声音方面也一样,如果我们转身,背后的脚步声就会突然增大或减小,侧耳倾听,隔壁的吱呀声就能听得更清楚,那么,以假乱真的虚拟世界或许就离我们不远了。

所以今天,「让我们来聊聊VR里的声音」

简单给大家介绍一下,首先3D声场有若干解决方案。你可能觉得,其实很简单嘛,做一个虚拟空间,该空间里任何一个音源,用三维坐标标定,然后将VR头盔里的坐标数据导入,再输出相应的声音,你就得到了一个完美的“自然”声场。这想法没错,前提是,你的音源数足够少,运算速度足够快。已知的杜比影院方案state of the art可以支持高达128个声源,wow,如果按一个女性朋友等于五百只鸭子来算,你已经拥有了,呃,大约五分之一个女性朋友。

不过手机,PC上的环境可没法跟电影院比。(而且用这种方案去逼近现实世界的声场是不可能的,你可以理解原因是当逼近现实世界时,其声场数目会急剧上升,就像因为晶体里面的原子个数是10^23级别,要表征晶体结构,最好用波函数一样)现在最通用的两种方式分别为quad binaural和ambisonic。

 

-  干货FG  -

简单介绍一下,quad binaural就是将一个声场用0、90、180、270度四个方向去表征。举例来说,如果是录制一个点的声场,我分别将该点在这四个方向(其实就是前后左右啦)的声音录进去,每个方向两个声道,最终八个声道。然后当我朝向任意一个非正好前后左右的方向时,比如45度,就用四个方向的声音做一个加权,得出新的方向的声音。

这个方法的问题在于,除了平面转头以外,你上下抬头或者低头时,声音是没有变化的。不过好处很简单,解码非常容易,比如我们很自然就会想到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分别是来自直角坐标系三个方向的声音。

目前国外最顶级的做到五阶ambisonic函数,36个components(因为高阶球谐函数很难再用物理方向去想,所以用components代替方向),用32个话筒采集,再通过组合和矩阵变换来逼近这36个components。Ambisonic的好处在于,有了z(垂直)这个方向,抬头或者低头在VR世界里声音是会有区别的,而且随着你提供的运算能力的提升,用更高阶的ambisonic函数可以获得更好的效果。缺点则在于解码会更复杂一些。

 

2.jpg

越高阶的ambisonic函数解码越复杂

举个简单的例子,如果你的上下前后左右六个方向分别对应歌手ABCDEF六个人,quad binaural的四个双声道里分别会灌入CDEF的声音,每一个又同时包含部分的A,B的声音,声场录制完毕后,如果你把头从正好向前,稍稍扭转三十度,那么你会从最初C占主导,到听到更多的D的声音,但是不论你如果抬头或者低头,A,B的声音都不会改变。

而一阶的ambisonic则是在X混入C,E的声音,Y混入D,F的声音,Z混入A,B的声音,W则为背景音,随着你头的转动,会改变XYZ的权重。不过聪明的你一定也发现,一阶ambisonic(FOA)因为将相反方向传来的声音(C,D)同时混入了X,所以当你转头的时候,在某些角度下的听者对方向的灵敏度是不如quad binaural的。

考虑到:(1)歌手在你胯下唱歌的情况比较少见,所以只有A的情况下,垂直方向FOA还是远优于quad binaural, (2)如果你关心国外已经制作出来的演唱会视频,会发现制作方为了提高声音的方位感,往往把音源放在正前或者正左右方向,这是FOA和QB都难以解决的问题。不过随着计算能力的提升,高阶ambisonic(HOA)则可以克服这一问题,这也是google为什么选择FOA的原因吧。

再说回Google,其在官方博客上公布了其网页VR音频系统Omnitone项目的技术细节。Omnitone项目是一个跨浏览器支持的开源空间音频渲染器,主要支持目前业界较为常用的FOA(First Order Ambisonic)格式,这也是YouTube App推荐的主要全景声格式,以及国内创业团队时代拓灵的“拓灵VR” App所支持的VR音频格式之一。

 

3.jpg

▲ Omnitone音频处理过程图解

从上图可以看出,Google的Omnitone 系统的Ambisonic解码器采用了业界主流的算法流程,根据传感器给出的方位信息, 采用一个旋转算子来实现声场旋转,进而用双声道输出。

鉴于Google Chrome浏览器在市场中的统治地位,我们可以很乐观的预测基于FOA的全景声会在网页端迎来比较高速的普及率,这对于VR内容创作者乃至于整个VR行业都是一个极大的利好。

当然,兴奋之余我们依然可以看到很多问题。

其中一个问题就是FOA声音文件从哪来。VR内容制作者用的比较多的如知名VR公司Jaunt使用的 Tetra Mic(CoreSound 生产)价格不菲,仅仅麦克风本身就要1000美元,另外还有额外购买线和专用的录音设备。而其他品牌的声场话筒(如SoundField系列)则更加昂贵。这些录音设备携带起来非常不方便,并需要专业培训才能使用,制约了FOA音频的大规模普及。

4.jpg

▲ Tetra Mic

目前也有公司在尝试解决这一现状。VR创业公司时代拓灵(twirlingvr.com)推出了一款民用级便携式的声场录制机,原生支持FOA(4路WXYZ)音频格式。输出的音频可以直接被支持FOA的软件或设备播放。相信随着制作门槛的降低,基于FOA的内容会迎来一个爆发式的增长。

5.jpg

▲ 时代拓灵便携式声场录制机

除此之外,因为不论quad binaural还是ambisonic,都只是一种思路,如何连接现实音源的文件与最终播放出的3D音效,如何用这种思路制作3D声场,我们仍需要一个VR音频的制作引擎和播放系统。(就好比google发布了Hadoop的论文,大数据公司再用这种理论去指导他们开发自己的算法一样。)这一点拓灵也做到了。其发布的拓灵声场引擎,不仅跨平台地支持多重video、游戏引擎,更从底层上支持quad binaural和ambisonic间的转换,可以说是连接VR内容制作者与3D声场的捷径。


为您推荐: