360度音源实时回放系统的制作方法

文档序号:19496187发布日期:2019-12-24 15:00阅读:230来源:国知局
360度音源实时回放系统的制作方法

本发明涉及音源回放领域,具体涉及一种360度音源实时回放系统。



背景技术:

随着科技的进步和发展,越来越多的人对音视频品质的要求也在逐步提高。因而vr(virtualreality)和ar(augmentedreality)逐渐地走进了人们的视野。在某种程度上ar可以算作是vr的升级和发展,因为ar在vr的基础上增加了真实的要素。而hrtf(headrelatedtransferfunction,头相关传输函数)正是可以应用于ar上的一种技术,利用hrtf对声源信号进行滤波可以产生相对应的方向感知。

传统技术存在以下技术问题:

实际应用中,一方面由于hrtf与头部空间位置相关,关于头部的不同角度的hrtf都是各不相同的,如果要测量每个角度的hrtf则需要高昂的成本和一个大容量的内存。另一方面,期望通过接收来自外部的真实声音来对声源进行定位,并通过hrtf及位置传感器信息重建音频信号回放至耳麦内。



技术实现要素:

本发明要解决的技术问题是提供一种360度音源实时回放系统。

为了解决上述技术问题,本发明提供了一种360度音源实时回放系统,包括:主体由一音频数据头盔(简称头盔)构成,音频数据头盔由头盔框架、麦克风阵列、耳机和处理系统构成,其中耳机根据人耳位置安置,360度音源实时回放处理硬件模块主要实现头部位置感知、音源定位以及基于hrtf的音频重建等处理功能,采用柔性制造工艺在头盔框架内部沿其内轮廓装配;麦克风阵列用于音源定位功能的音频数据采集功能,安置于头盔上;

所述360度音源实时回放处理硬件模块包括hrtf计算模块和信号处理模块;其中hrtf计算模块利用位置传感器对头部姿态的定位,并根据麦克风陈列对声源信号定位,进而确定当前声音相对于头部的方位,然后利用位置信息检索hrtf数据库并利用hrtf插值算法计算出该方位的hrtf数据;其中,hrtf数据库出厂时预设存储于360度音源实时回放处理硬件模块的存储器中;信号处理模块主要负责利用计算好的hrtf对数据进行滤波以生成带有方位感的音效;要求头部角度信息的读取间隔和提取的一帧数据的长度保持一致,每一帧数据对应一组读取到的头部角度信息。

在另外的一个实施例中,根据麦克风阵列对声源信号定位具体如下:

假设p点为声源。mic2、mic3、mic4和mic5分别设置在如图2所示的位置,四个麦克风组成了一个十字阵型;

其中o表示原点,r2、r3、r4、r5分别表示声源p到四个麦克风的距离。x轴正方向表示头部的正前方,y轴正方向表示头部的正左方,z轴表示垂直于地面的方向。θ表示声源的方向角,其计算方式为声源与原点组成的线段在xoy平面上的投影与x轴正半轴的夹角,以x轴正半轴算起从0°沿顺时针依次增大,其范围从0°~360°。表示声源的仰角,其计算方式为声源与原点组成的线段在xoy平面上的投影与xoy平面的夹角,当声源在xoy平面上方时仰角数值为正,当声源在xoy平面下方时仰角为负。四个麦克风的时延关系如(1)所示。

其中c代表声速。τ32、τ42、τ52分别表示mic3、mic4、mic5与mic2之间的时延,他们的值可以通过麦克风接受到的数据求出。

假设p点的位置为(x,y,z),要求出p点的位置,需列出如下方程式,如(2)所示,其中l表示四个麦克风与原点o的距离。

结合(1)和(2),可得:

所以按公式(3)可以求得(x,y,z)的值,根据几何关系又可以求出方向角θ和仰角

但如果只有四个麦克风进行测量,由于他们的安装位置是关于原点对称的,此时如果声源p位于z轴上,那么理论上p点到mic2~mic5的距离是相等的,即τ32=τ42=τ52=0,那么根据(3),r2的求解公式上分母是0,所以无法求出声源的正确位置,此时mic1便会开始工作,其中mic1与原点的距离也是l。根据mic1与mic2接收到的信号,我们可以求出τ21的值,其中τ21表示mic2与mic1之间的时延。因此我们可以列出如下公式:

根据(4)求解:

此时其方向角和仰角亦可相应求出。

另外当满足判决条件(6)时我们可以认定声源p的位置处于坐标轴z上。

由于本文设计的是一套头盔系统,所以不考虑p到o的距离小于l的情况;由此,即可完成全向声源定位。

在其中一个实施例中,360度音源实时回放处理硬件模块的hrtf计算模块首先根据公式(1)和公式(6)判断声源位置(p点)是否在z轴上,如果在z轴上,利用公式(4)和(5)可进一步求出其方向角和仰角如果不在z轴上,可利用公式(2)和(3)求得(x,y,z),进而求出其方向角和仰角

在其中一个实施例中,位置传感器对头部姿态的定位具体包括:

在头盔上安装一个倾角传感器或陀螺仪,用以提供人头部转动后的方向角和仰角。结合声源定位计算得出的方向角和仰角即可计算出当前时刻声源相对于人头在坐标系中的方向角和仰角。例如,根据声源定位测得声源的初始方向为而我们传感器测得的当前时刻人头部的位置为根据相对移动原理,当(θo-θs)>0时,可以测得声源关于当前头部位置的方向为当(θo-θs)<0,可以测得声源关于当前头部位置的方向为

在其中一个实施例中,360度音源实时回放处理硬件模块的hrtf计算模块读取配套的倾角传感器或陀螺仪信息,从而得到人头部转动后的方向角和仰角然后根据相对移动原理,以(θo-θs)的值为判据进行判断:如果(θo-θs)>0,可以测得声源关于当前头部位置的方向为如果(θo-θs)<0,可以测得声源关于当前头部位置的方向为

在其中一个实施例中,hrtf数据库的主要参数包括方向角、仰角、距离和hrtf参数;当计算出当前时刻声源相对于头部的角度后,利用已经测得的hrtf数据库的相关数据及插值算法对它进行插值处理来计算得出该角度的hrtf。

在其中一个实施例中,插值算法具体如下:假设p点的hrtf待求,其中a、b、c、d表示数据库中已经存在的和p点位置最接近的4个点,c点为四个点中方向角和仰角均较大的点。δθ表示c点与p点之间方向角的差值,而表示c点与p点之间仰角的差值,θgrid、表示数据库中方向角和仰角的分辨率。其插值计算公式如(8)所示:

hrtfp=αhrtfc+βhrtfa+γhrtfd(8)

其中hrtfa、hrtfc、hrtfd分别为数据库已经存在的数据,α、β、γ为插值权重,其计算方法如(9)所示。

其中δθ表示声源p点与数据库中存在的最接近的方向角的差值(δθ>0),表示声源p点与数据库中存在的最接近的仰角的差值θgrid、表示数据库中方向角和仰角的分辨率。

在其中一个实施例中,得出声源的关于头部中心位置的距离信息,可以根据它求出声源相对与双耳的距离rl、rr,由此可以针对距离对hrtf进行插值;以左耳为例。

其中p点为声源,q1为数据库中存在的较远的数据点,q2为数据库中存在的较近的数据点,δr表示数据库中的距离分辨率。距离插值的计算公式如(10)所示:

hrtfp=a1*hrtfq1+a2*hrtfq2(10)

式中a1、a2分别表示插值权重,其计算方法如(11)所示。

在其中一个实施例中,360度音源实时回放处理硬件模块的hrtf计算模块可以根据计算得到的声源定位信息和头部位置感知信息检索hrtf数据库,利用公式(9)和公式(8)采用图5所示插值算法可以计算得到声源(p点)对应的hrtfp。

在其中一个实施例中,要求头部角度信息的读取间隔和提取的一帧数据的长度保持一致,每一帧数据对应一组读取到的头部角度信息。首先利用本设计的算法对声源进行定位可以计算出声源的方向角、仰角和它到头部的距离,根据该距离在数据库中找到与其最相邻的两个距离点。然后根据定位得出的声源方向和每一帧获取的头部角度信息可以计算出每一帧数据相对于头部的方向角和仰角,设为分别利用插值算法计算这两个距离点上关于的hrtf。再利用距离插值算法就可以求出这一帧的hrtf。

本发明的有益效果:

360度音源实时回放系统以置于头盔上的麦克风阵列的tdoa算法对声源进行定位,再结合置于头盔上的倾角传感器感知到的头部运动角度,计算出当前时刻声源相对于头部的位置。根据根据计算得到的声源定位信息和头部位置感知信息利用三角插值算法和已经测量好的具有一定分辨率的hrtf数据库计算出该角度的hrtf值,从而实现360度音源实时回放。这样既实现了对外部信号的实时回放,又成功的减少了系统的数据计算量和测量成本。

附图说明

图1是本发明360度音源实时回放系统中的麦克风阵列安装示意图。

图2是本发明360度音源实时回放系统中的头部坐标系示意图。

图3是本发明360度音源实时回放系统中的总体设计原理框图。

图4是本发明360度音源实时回放系统中的声源定位的几何关系示意图

图5是本发明360度音源实时回放系统中的角度插值示意图。

图6是本发明360度音源实时回放系统中的距离插值示意图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。

360度音源实时回放系统主体由一音频数据头盔(简称头盔)构成,音频数据头盔由头盔框架、麦克风阵列、耳机和处理系统构成,其中耳机根据人耳位置安置,360度音源实时回放处理硬件模块主要实现头部位置感知、音源定位以及基于hrtf的音频重建等处理功能,采用柔性制造工艺在头盔框架内部沿其内轮廓装配。麦克风阵列用于音源定位功能的音频数据采集功能,安置于头盔上,其中安置方法如图1所示。

图1所示的半球为头盔,编号1、2、3、4、5为分别表示为五个麦克风,这五个麦克风共同组成了用于声源定位的麦克风阵列。其中这5个麦克风均是全向麦克风。

为描述麦克风阵列的位置,以及头盔的姿态,从而更清晰地表述hrtf,建立关于头部的坐标系,如图2所示。

图2(a)为头部的俯视图,s1和s2为假定的声源,其中θ表示方向角,它以人头部的正前方为0度,顺时针依次增大,范围从0到360度,例如θ_1、θ_2。图2(b)为头部的右视图,s3、s4为假定的声源其中φ表示仰角,以水平面为基准,仰角即为声源方向和水平面的夹角,声源在水平面上方,仰角为正,例如φ_3若在下方则仰角为负,例如φ_4。

360度音源实时回放处理硬件模块实现360度音源实时回放功能,系统的总体设计原理框图如图3所示,其主要包括hrtf计算模块和信号处理模块。其中hrtf计算模块主要利用位置传感器对头部姿态的定位,并根据麦克风陈列对声源信号定位,进而确定当前声音相对于头部的方位,然后利用位置信息检索hrtf数据库并利用hrtf插值算法计算出该方位的hrtf数据。其中,hrtf数据库出厂时预设存储于360度音源实时回放处理硬件模块的存储器中。信号处理模块主要负责利用计算好的hrtf对数据进行滤波以生成带有方位感的音效。要求头部角度信息的读取间隔和提取的一帧数据的长度保持一致,每一帧数据对应一组读取到的头部角度信息。

360度音源实时回放具体处理过程可以分为以下几个步骤:

1.声源定位

(1)声源定位原理

如图4所示,假设p点为声源。mic2、mic3、mic4和mic5分别设置在如图2所示的位置,四个麦克风组成了一个十字阵型。

其中o表示原点,r2、r3、r4、r5分别表示声源p到四个麦克风的距离。x轴正方向表示头部的正前方,y轴正方向表示头部的正左方,z轴表示垂直于地面的方向。θ表示声源的方向角,其计算方式为声源与原点组成的线段在xoy平面上的投影与x轴正半轴的夹角,以x轴正半轴算起从0°沿顺时针依次增大,其范围从0°~360°。表示声源的仰角,其计算方式为声源与原点组成的线段在xoy平面上的投影与xoy平面的夹角,当声源在xoy平面上方时仰角数值为正,当声源在xoy平面下方时仰角为负。四个麦克风的时延关系如(1)所示。

其中c代表声速。τ32、τ42、τ52分别表示mic3、mic4、mic5与mic2之间的时延,他们的值可以通过麦克风接受到的数据求出。

假设p点的位置为(x,y,z),要求出p点的位置,需列出如下方程式,如(2)所示,其中l表示四个麦克风与原点o的距离。

结合(1)和(2),可得:

所以按公式(3)可以求得(x,y,z)的值,根据几何关系又可以求出方向角θ和仰角

但如果只有四个麦克风进行测量,由于他们的安装位置是关于原点对称的,此时如果声源p位于z轴上,那么理论上p点到mic2~mic5的距离是相等的,即τ32=τ42=τ52=0,那么根据(3),r2的求解公式上分母是0,所以无法求出声源的正确位置,此时mic1便会开始工作,其中mic1与原点的距离也是l。根据mic1与mic2接收到的信号,我们可以求出τ21的值,其中τ21表示mic2与mic1之间的时延。因此我们可以列出如下公式:

根据(4)求解:

此时其方向角和仰角亦可相应求出。

另外当满足判决条件(6)时我们可以认定声源p的位置处于坐标轴z上。

由于本文设计的是一套头盔系统,所以不考虑p到o的距离小于l的情况。由此,即可完成全向声源定位。

(2)声源定位方法

360度音源实时回放处理硬件模块的hrtf计算模块首先根据公式(1)和公式(6)判断声源位置(p点)是否在z轴上,如果在z轴上,利用公式(4)和(5)可进一步求出其方向角和仰角如果不在z轴上,可利用公式(2)和(3)求得(x,y,z),进而求出其方向角和仰角

2.头部位置感知

(1)头部位置感知原理

在头盔上安装一个倾角传感器或陀螺仪,用以提供人头部转动后的方向角和仰角。结合声源定位计算得出的方向角和仰角即可计算出当前时刻声源相对于人头在坐标系中的方向角和仰角。例如,根据声源定位测得声源的初始方向为而我们传感器测得的当前时刻人头部的位置为根据相对移动原理,当(θo-θs)>0时,可以测得声源关于当前头部位置的方向为当(θo-θs)<0,可以测得声源关于当前头部位置的方向为

(2)头部感知算法

360度音源实时回放处理硬件模块的hrtf计算模块读取配套的倾角传感器或陀螺仪信息,从而得到人头部转动后的方向角和仰角然后根据相对移动原理,以(θo-θs)的值为判据进行判断:如果(θo-θs)>0,可以测得声源关于当前头部位置的方向为如果(θo-θs)<0,可以测得声源关于当前头部位置的方向为

3.hrtf数据获取

(1)hrtf数据获取原理

由于要测得任一个角度的hrtf需要非常庞大的成本和计算量,因此可以事先测量出一组具有一定分辨率的hrtf数据库,并存储于系统的存储器中。hrtf数据库的主要参数包括方向角、仰角、距离和hrtf参数。当计算出当前时刻声源相对于头部的角度后,我们可以利用已经测得的hrtf数据库的相关数据及插值算法对它进行插值处理来计算得出该角度的hrtf。

插值算法的示意图如图5所示。

假设p点的hrtf待求,其中a、b、c、d表示数据库中已经存在的和p点位置最接近的4个点,c点为四个点中方向角和仰角均较大的点。δθ表示c点与p点之间方向角的差值,而表示c点与p点之间仰角的差值,θgrid、表示数据库中方向角和仰角的分辨率。其插值计算公式如(8)所示:

hrtfp=αhrtfc+βhrtfa+γhrtfd(8)

其中hrtfa、hrtfc、hrtfd分别为数据库已经存在的数据,α、β、γ为插值权重,其计算方法如(9)所示。

其中δθ表示声源p点与数据库中存在的最接近的方向角的差值(δθ>0),表示声源p点与数据库中存在的最接近的仰角的差值θgrid、表示数据库中方向角和仰角的分辨率。

由于本设计的5个麦克风声源定位还可以得出声源的关于头部中心位置的距离信息,可以根据它求出声源相对与双耳的距离rl、rr,由此可以针对距离对hrtf进行插值。如图6,以左耳为例。

其中p点为声源,q1为数据库中存在的较远的数据点,q2为数据库中存在的较近的数据点,δr表示数据库中的距离分辨率。距离插值的计算公式如(10)所示:

hrtfp=a1*hrtfq1+a2*hrtfq2(10)式中a1、a2分别表示插值权重,其计算方法如(11)所示。

(2)hrtf计算方法

360度音源实时回放处理硬件模块的hrtf计算模块可以根据计算得到的声源定位信息和头部位置感知信息检索hrtf数据库,利用公式(9)和公式(8)采用图5所示插值算法可以计算得到声源(p点)对应的hrtfp。

系统在头盔双耳位置确定的情况下,可也可以采用公式(11)和公式(10)采用图6所示插值算法计算得到声源(p点)对应的hrtfp。

具体的,如图2所示,要求头部角度信息的读取间隔和提取的一帧数据的长度保持一致,每一帧数据对应一组读取到的头部角度信息。首先利用本设计的算法对声源进行定位可以计算出声源的方向角、仰角和它到头部的距离,根据该距离在数据库中找到与其最相邻的两个距离点。然后根据定位得出的声源方向和每一帧获取的头部角度信息可以计算出每一帧数据相对于头部的方向角和仰角,设为分别利用插值算法计算这两个距离点上关于的hrtf。再利用距离插值算法就可以求出这一帧的hrtf。

4.360度音源实时回放

如图2所示,依次提取一帧信号(20~30ms)进行处理,接收由360度音源实时回放处理硬件模块的hrtf计算模块输出的对应这一帧的hrtf函数。利用hrtf函数对这一帧信号进行滤波,滤波完毕后输出该帧音频,实现360音源实时回放。

以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1