一种基于移动终端的虚拟环绕立体声生成的方法及系统的制作方法

文档序号:10516539阅读:362来源:国知局
一种基于移动终端的虚拟环绕立体声生成的方法及系统的制作方法
【专利摘要】本发明所提供的一种基于移动终端的虚拟环绕立体声生成的方法及系统,所述方法具体包括:通过移动终端内置的方向传感器获取用户头部的移动方向;依据所述头部的移动方向,通过虚拟环绕声算法,将所述移动终端的双声道立体声转换为虚拟环绕立体声并进行输出;所述虚拟环绕声算法通过不同空间方向上的头相关变换函数模拟发射声和混响声。本发明将传统耳机与移动终端本身的传感器相结合,使移动终端增加新功能:输出具有环绕立体效果的音频数据,提高用户的听觉效果,为用户提供方便。
【专利说明】
一种基于移动终端的虚拟环绕立体声生成的方法及系统
技术领域
[0001]本发明涉及移动终端技术领域,尤其涉及一种基于移动终端的虚拟环绕立体声生成的方法及系统。
【背景技术】
[0002]当今社会发展越来越快,互联网技术以及与电子技术的结合程度越来越高。智能化、人性化的要求也越来越高。手机以及便携式设备的使用普及度越来越高,移动消费电子产品所附带的功能涵盖生活生产中,多媒体功能也是消费电子设备用户使用最多的一种应用,怎么提高用户体验以及用户感受成为了每个厂家都需要考虑的问题。
[0003]现有技术采用的是将多媒体音效设置的功能放置在多媒体终端设备上,具体是通过手机安装能够播放360度虚拟现实内容的应用,同时结合手机自带的传感器,在佩戴虚拟现实的头戴式设备下进行观看360度全视角的视频。然而,由于手机耳机只能够输出立体声,手机双喇叭输出也只能是立体输出,所以使用现有技术用户只能听到立体声,但是听到的声音只会从左边或右边传来,大大降低了听觉效果,给用户造成了极大的不便。
[0004]由此可知,现有技术还有待于改进和发展。

【发明内容】

[0005]本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种基于移动终端的虚拟环绕立体声生成的方法及系统,旨在通过本发明克服现有技术中存在的以上缺陷,将传统耳机与移动终端本身的传感器相结合,使移动终端增加新功能:输出具有环绕立体效果的音频数据,提高用户的听觉效果,为用户提供方便。
[0006]本发明解决技术问题所采用的技术方案如下:
一种基于移动终端的虚拟环绕立体声生成的方法,其中,包括步骤:
A、通过移动终端内置的方向传感器获取用户头部的移动方向;
B、依据所述头部的移动方向,通过虚拟环绕声算法,将所述移动终端的双声道立体声转换为虚拟环绕立体声并进行输出;
所述虚拟环绕声算法通过不同空间方向上的头相关变换函数模拟发射声和混响声。
[0007]所述的基于移动终端的虚拟环绕立体声生成的方法,其中,所述步骤A具体包括:
Al、通过方向传感器获取用户头部在三个维度上的移动角度值;
A2、依据所述移动角度值,计算用户头部的具体移动方向。
[0008]所述的基于移动终端的虚拟环绕立体声生成的方法,其中,所述步骤B具体包括:
B1、依据所述头部的移动方向,通过虚拟环绕声算法,对所述双声道混音数据进行修饰和解析;
B2、将修饰和解析后的双声道混音数据进行数模转换;
B3、将转换后的模拟信号发送至移动终端的扬声器,并输出相应的虚拟环绕立体声。
[0009]所述的基于移动终端的虚拟环绕立体声生成的方法,其中,所述方法还包括:C、依据用户指令,调整虚拟环绕立体声的音量及混音模式。
[0010]所述的基于移动终端的虚拟环绕立体声生成的方法,其中,所述移动终端为安卓操作系统终端。
[0011]—种基于移动终端的虚拟环绕立体声生成的系统,其中,包括:
用户移动方向获取模块,用于通过移动终端内置的方向传感器获取用户头部的移动方向;
虚拟环绕立体声输出模块,用于依据所述头部的移动方向,通过虚拟环绕声算法,将所述移动终端的双声道立体声转换为虚拟环绕立体声并进行输出;
所述虚拟环绕声算法通过不同空间方向上的头相关变换函数模拟发射声和混响声。
[0012]所述的基于移动终端的虚拟环绕立体声生成的系统,其中,用户移动方向获取模块具体包括:
移动角度值获取单元,用于通过方向传感器获取用户头部在三个维度上的移动角度值;
移动方向计算单元,用于依据所述移动角度值,计算用户头部的具体移动方向。
[0013]所述的基于移动终端的虚拟环绕立体声生成的系统,其中,所述虚拟环绕立体声输出模块具体包括:
语音解析单元,用于依据所述头部的移动方向,通过虚拟环绕声算法,对所述双声道混音数据进行修饰和解析;
语音数模转换单元,用于将修饰和解析后的双声道混音数据进行数模转换;
虚拟环绕立体声发送单元,用于将转换后的模拟信号发送至移动终端的扬声器,并输出相应的虚拟环绕立体声。
[0014]所述的基于移动终端的虚拟环绕立体声生成的系统,其中,还包括:
语音调整模块,用于依据用户指令,调整虚拟环绕立体声的音量及混音模式。
[0015]所述的基于移动终端的虚拟环绕立体声生成的系统,其中,所述移动终端为安卓操作系统终端。
[0016]本发明所提供的一种基于移动终端的虚拟环绕立体声生成的方法及系统,所述方法具体包括:通过移动终端内置的方向传感器获取用户头部的移动方向;依据所述头部的移动方向,通过虚拟环绕声算法,将所述移动终端的双声道立体声转换为虚拟环绕立体声并进行输出;所述虚拟环绕声算法通过不同空间方向上的头相关变换函数模拟发射声和混响声。本发明将传统耳机与移动终端内置的传感器进行结合,通过该传感器来判断用户头部摆动的方位(如左右的方位信息),再结合虚拟环绕声算法对音源信号进行处理,将声音中各个发音源方位分离结合头部转动的角度来改变声音的声场以及声音大小随角度而逐渐变化,从而让用户在转动自己头部角度的时候能够很清楚听到音源中发声体的方位和感受到声音的声场偏差。这样一来,用户感觉不是永远都在头部的正前方,而是随着角度不同会有距离上、声音大小、以及方位的偏差,从而获取到与虚拟现实头戴式设备相匹配的视听体验,给用户带来了极大的便利。
【附图说明】
[0017]图1是本发明基于移动终端的虚拟环绕立体声生成的方法的较佳实施例的流程图。
[0018]图2是本发明基于移动终端的虚拟环绕立体声生成的方法的应用实施例示意图。
[0019]图3是本发明基于移动终端的虚拟环绕立体声生成的系统的较佳实施例的功能模块图。
【具体实施方式】
[0020]本发明公开了一种基于移动终端的虚拟环绕立体声生成的方法及系统,为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0021]请参见图1,图1是本发明基于移动终端的虚拟环绕立体声生成的方法的较佳实施例的流程图。图1所示的基于移动终端的虚拟环绕立体声生成的方法,包括:
步骤S101、通过移动终端内置的方向传感器获取用户头部的移动方向。
[0022]本发明实施例中,所述步骤SlOl具体包括:
Al、通过方向传感器获取用户头部在三个维度上的移动角度值;
A2、依据所述移动角度值,计算用户头部的具体移动方向。
[0023]本发明实施例是基于安卓操作系统的移动终端,对现有的安卓音频软件流程进行优化,将虚拟环绕立体声算法的动作接口集成于android Framework层Aud1flinger组件中。现有的移动终端均内置有多种传感器,如方向传感器。方向感应器的实现靠的是加速计,所采用的加速计是三轴加速计,分为X轴、Y轴和Z轴。在实际应用时通常是以这三个轴(或任意两个轴)所构成的角度来计算移动终端倾斜的角度,从而计算出重力加速度的值。通过感知特定方向的惯性力总量,加速计可以测量出加速度和重力。三轴加速计意味着它能够检测到三维空间中的运动或重力引力。因此,加速计可以检测设备处于正竖、倒竖、左横、右横,仰、俯状态,感应水平面上的方位角、旋转角和倾斜角。
[0024]步骤S102、依据所述头部的移动方向,通过虚拟环绕声算法,将所述移动终端的双声道立体声转换为虚拟环绕立体声并进行输出,所述虚拟环绕声算法通过不同空间方向上的头相关变换函数(Head-related transfer funct1n,HRTF)模拟发射声和混响声。
[0025]本发明实施例中,所述步骤S102具体包括步骤:
B1、依据所述头部的移动方向,通过虚拟环绕声算法,对所述双声道混音数据进行修饰和解析;
B2、将修饰和解析后的双声道混音数据进行数模转换;
B3、将转换后的模拟信号发送至移动终端的扬声器,并输出相应的虚拟环绕立体声。
[0026]实际应用中,本发明实施例需要包括以下几个模块:(I)手机模块,移动终端,必须有操作系统支持,基于操作系统上安装音乐播放器;(2)耳机模块,通过3.5MM的普通音频连接器与手机模块进行连接;(3)微控制模块,作为本发明实施例的主模块,其作用是进行音乐信号和通话语音信号的音量大小调整、麦克通路切换从充电模式转成输入通路控制、控制数字信号处理单元DSP以及其他几个核心单元的硬件初始化、接收DSP核心单元中断、主动进行升压由I.8V升到2.5V(其中,1.8V为麦克风的额定工作电压);(4)方向传感模块,通过I2C总线与微控制模块进行连接,整个耳机端通电之后传感器模块进行初始化,开始捕捉用户头部移动数据并保存在存储单元中;(5)信号转换模块,将移动终端的模拟音频数据转换成数字音频数据并暂时存储在存储模块,通过微控制模块中启动的数据将转换后的数据进行混音操作,结合方向传感器模块传输过来的数据一并传递给DSP进行音效处理;(6)存储模块,即环形缓冲池,用于存储音频数据以及用户头部移动数据;(7)电源管理模块,用于管理整个耳机模块的供电以及各个子模块供电。
[0027]S卩,用户将耳机插入移动终端或者消费电子的3.5mm接口中用来进行音频信号通讯,当耳机开始工作时,微控制模块MCU上同时发送硬件中断信号给数字信号处理单元DSP进行初始化,转换工作模式到下载模式,将修改好的音效通过I2C总线更新到DSP核心单元内存中。然后重新启动并且重新初始化DSP单元,将下载模式转成工作模式,此时个体的音效算法正式更新完成。通过信号转换模块将模拟信号转换成数字信号并暂时保存在存储模块中,微控制模块向存储模块发送指令,通知将存储的方向传感器数据和声音混音后的数据送至DSP内部进行运算,由于DSP和存储模块内存池的读写操作是需要相互配合的,所以需要通过回调机制告知内存池,已经处理完毕,内存池可以发送数据给DSP了。之后,通过实时的进行对比运算结合加载在DSP的算法,结合头转的角度和左右通道已经混音的数据进行解析以及数据修饰,并有送至信号转换单元进行数据转模拟操作,送至耳机扬声器,通过DSP核心单元的处理的数据最终变成虚拟环绕声最终传递给人耳中。
[0028]步骤S103、依据用户指令,调整虚拟环绕立体声的音量及混音模式。
[0029]S卩,本发明实施例可以通过接受用户的即时指令对生成的虚拟环绕立体声进行音量的调整以及调整混音模式,进一步增强了听觉效果。
[0030]以下将通过具体的应用实施例对本发明做进一步说明。图2是本发明基于移动终端的虚拟环绕立体声生成的方法的应用实施例示意图。如图2所示(以手机为例),包括:
S201、虚拟现实播放器启动。
[0031]S 2 O 2、创建播放器服务组件,申请共享内存并通过I / O设备标识符机制,与Aut1f linger服务建立联系,通过binder机制实现播放数据的流通。
[0032]S203、通过Aut1f linger服务启动的mixerThread线程获取经过混音后的数据。
[0033]S204、通过手机传感器获取用户头部移动角度数据,并传送至Aut1flinge输出端接口中。
[0034]实际应用中,获取传感器X,Y,Z轴上的数据,在微控制模块启动的传感器进程中进行算法解析获取到角度数据,算法解析如下:
getRotat1nMatrix(float[] R, float[] I,
float[] gravity, float[] geomagnetic) {
Il TODO: move this to native code for efficiency
float Ax = gravity[0];
float Ay = gravity[l];
float Az = gravity[2];
final float Ex = geomagnetic[0];
final float Ey = geomagnetic[I];
final float Ez = geomagnetic[2];
float Hx = Ey氺Az _ Ez氺Ay;
float Hy = Ez氺Ax _ Ex*Az; float Hz = Ex^Ay _ Ey氺Αχ;
final float normH = (float)Math.sqrtCHx^Hx + Hy^Hy + Hz^Hz); if (normH < 0.1f) {
Il device is close to free fall (or in space?), or close toIl magnetic north pole.Typical values are > 100.return false;
}
final float invH = 1.0f / normH;
Hx *= invH;
Hy 氺=invH;
Hz *= invH;
final float invA = 1.0f / (float)Math.sqrt(Ax^Ax + Ay^Ay + Az^Az);
Ax *= invA;
Ay 氺=invA;
Az *= invA;
final float Mx = Ay*Hz - Az^Hy; final float My = Az*Hx - Ax^Hz; final float Mz = Ax^Hy - Ay^Hx; if (R != null) {
if (R.length == 9) {
R[0] = Hx; R[l] = Hy; R[2] = Hz;
R[3] = Mx; R[4] = My; R[5] = Mz;
R[6] = Ax; R[7] = Ay; R[8] = Az;
} else if (R.length == 16) {
R[0] = Hx; R[l] = Hy; R[2] = Hz; R[3] = 0;
R[4] = Mx; R[5] = My; R[6] = Mz; R[7] = 0;
R[8] = Ax; R[9] = Ay; R[10] = Az; R[ll] = 0;
R[12] = 0; R[13] = 0; R[14] = 0; R[15] = I;
}
}
if (I != null) {
Il compute the inclinat1n matrix by projecting the geomagneticIl vector onto the Z (gravity) and X (horizontal componentIl of geomagnetic vector) axes.final float invE = 1.0f / (float)Math.sqrt(Ex^Ex + Ey氺Ey + Ez氺
Ez);
final float c = (Ex^Mx + Ey^My + Ez*Mz) * invE;final float s = (Ex氺Ax + Ey氺Ay + Ez氺Az)氺 invE;if (1.length == 9) { I[0] = I; I[l] = 0; I[2] = 0;
I[3] = 0; I[4] = c; I[5] = s;
I[6] = 0; I[7] =-s; I[8] = c;
} else if (1.length == 16) {
I[0] = I; I[l] = 0; I[2] = 0;
I [4] = 0; I [5] = c; I [6] = s;
I[8] = 0; I[9] =-s; I[10]= c;
I[3] = I[7] = I[ll] = I[12] = I[13] = I[14] = 0;
I[15] = I;
}
}
return true;
}o
[0035]S205、将获取的混音数据和实时角度数据进行存储,同时送至第三方音效处理算法中进彳丁处理。
[0036]计算出角度数据并将角度数据保存在存储模块中,微控制模块发送命令将方向角度以及实时的数字音频数据一并传送至DSP进行虚拟环绕声的算法解析操作,算法如下:
calculateOrientat1n() {
float[] values = new float[3];float[] R = new float[9];
SensorManager.getRotat1nMatrix(R, null, accelerometerValues, magneticFieldValues);
SensorManager.getOrientat1n(R, values);//获取到此时手机安装在虚拟现实头戴式设备上,头部转动的角度数。可将此角度与MixerThread之后Framebuffer数据同时送至虚拟现实音效算法中进行处理//
values[0] = (float) Math.toDegrees(values[0]);
}o
[0037]S206、将最终算法解析的虚拟现实音效的数据经过处理后输入到人耳中。
[0038]由上可见,本发明将传统耳机与移动终端本身的传感器相结合,使移动终端增加新功能:输出具有环绕立体效果的音频数据,提高用户的听觉效果,为用户提供方便。
[0039]基于上述实施例,本发明还提供一种基于移动终端的虚拟环绕立体声生成的系统,如图3所示,包括:
用户移动方向获取模块100,用于通过移动终端内置的方向传感器获取用户头部的移动方向;具体如上所述。
[0040]虚拟环绕立体声输出模块200,用于依据所述头部的移动方向,通过虚拟环绕声算法,将所述移动终端的双声道立体声转换为虚拟环绕立体声并进行输出;所述虚拟环绕声算法通过不同空间方向上的头相关变换函数模拟发射声和混响声;具体如上所述。
[0041]语音调整模块300,用于依据用户指令,调整虚拟环绕立体声的音量及混音模式;具体如上所述。
[0042]进一步地,用户移动方向获取模块100具体包括:
移动角度值获取单元,用于通过方向传感器获取用户头部在三个维度上的移动角度值;具体如上所述。
[0043]移动方向计算单元,用于依据所述移动角度值,计算用户头部的具体移动方向;具体如上所述。
[0044]进一步地,所述虚拟环绕立体声输出模块200具体包括:
语音解析单元,用于依据所述头部的移动方向,通过虚拟环绕声算法,对所述双声道混音数据进行修饰和解析;具体如上所述。
[0045]语音数模转换单元,用于将修饰和解析后的双声道混音数据进行数模转换;具体如上所述。
[0046]虚拟环绕立体声发送单元,用于将转换后的模拟信号发送至移动终端的扬声器,并输出相应的虚拟环绕立体声;具体如上所述。
[0047]进一步地,所述移动终端为安卓操作系统终端。
[0048]基于上述实施例,本发明还提供一种移动终端的实施例,本实施例所述的移动终端包括上述所述的基于移动终端的虚拟环绕立体声生成的系统。
[0049]综上所述,本发明所提供的一种基于移动终端的虚拟环绕立体声生成的方法及系统,所述方法具体包括:所述方法具体包括:通过移动终端内置的方向传感器获取用户头部的移动方向;依据所述头部的移动方向,通过虚拟环绕声算法,将所述移动终端的双声道立体声转换为虚拟环绕立体声并进行输出;所述虚拟环绕声算法通过不同空间方向上的头相关变换函数模拟发射声和混响声。本发明将传统耳机与移动终端内置的传感器进行结合,通过该传感器来判断用户头部摆动的方位(如左右的方位信息),再结合虚拟环绕声算法对音源信号进行处理,将声音中各个发音源方位分离结合头部转动的角度来改变声音的声场以及声音大小随角度而逐渐变化,从而让用户在转动自己头部角度的时候能够很清楚听到音源中发声体的方位和感受到声音的声场偏差。这样一来,用户感觉不是永远都在头部的正前方,而是随着角度不同会有距离上、声音大小、以及方位的偏差,从而获取到与虚拟现实头戴式设备相匹配的视听体验,给用户带来了极大的便利。
[0050]应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
【主权项】
1.一种基于移动终端的虚拟环绕立体声生成的方法,其特征在于,包括步骤: A、通过移动终端内置的方向传感器获取用户头部的移动方向; B、依据所述头部的移动方向,通过虚拟环绕声算法,将所述移动终端的双声道立体声转换为虚拟环绕立体声并进行输出; 所述虚拟环绕声算法通过不同空间方向上的头相关变换函数模拟发射声和混响声。2.根据权利要求1所述的基于移动终端的虚拟环绕立体声生成的方法,其特征在于,所述步骤A具体包括: Al、通过方向传感器获取用户头部在三个维度上的移动角度值; A2、依据所述移动角度值,计算用户头部的具体移动方向。3.根据权利要求2所述的基于移动终端的虚拟环绕立体声生成的方法,其特征在于,所述步骤B具体包括: B1、依据所述头部的移动方向,通过虚拟环绕声算法,对所述双声道混音数据进行修饰和解析; B2、将修饰和解析后的双声道混音数据进行数模转换; B3、将转换后的模拟信号发送至移动终端的扬声器,并输出相应的虚拟环绕立体声。4.根据权利要求3所述的基于移动终端的虚拟环绕立体声生成的方法,其特征在于,所述方法还包括:C、依据用户指令,调整虚拟环绕立体声的音量及混音模式。5.根据权利要求1所述的基于移动终端的虚拟环绕立体声生成的方法,其特征在于,所述移动终端为安卓操作系统终端。6.一种基于移动终端的虚拟环绕立体声生成的系统,其特征在于,包括: 用户移动方向获取模块,用于通过移动终端内置的方向传感器获取用户头部的移动方向; 虚拟环绕立体声输出模块,用于依据所述头部的移动方向,通过虚拟环绕声算法,将所述移动终端的双声道立体声转换为虚拟环绕立体声并进行输出; 所述虚拟环绕声算法通过不同空间方向上的头相关变换函数模拟发射声和混响声。7.根据权利要求6所述基于移动终端的虚拟环绕立体声生成的系统,其特征在于,用户移动方向获取模块具体包括: 移动角度值获取单元,用于通过方向传感器获取用户头部在三个维度上的移动角度值; 移动方向计算单元,用于依据所述移动角度值,计算用户头部的具体移动方向。8.根据权利要求7所述基于移动终端的虚拟环绕立体声生成的系统,其特征在于,所述虚拟环绕立体声输出模块具体包括: 语音解析单元,用于依据所述头部的移动方向,通过虚拟环绕声算法,对所述双声道混音数据进行修饰和解析; 语音数模转换单元,用于将修饰和解析后的双声道混音数据进行数模转换; 虚拟环绕立体声发送单元,用于将转换后的模拟信号发送至移动终端的扬声器,并输出相应的虚拟环绕立体声。9.根据权利要求8所述基于移动终端的虚拟环绕立体声生成的系统,其特征在于,还包括: 语音调整模块,用于依据用户指令,调整虚拟环绕立体声的音量及混音模式。10.根据权利要求6所述基于移动终端的虚拟环绕立体声生成的系统,其特征在于,所述移动终端为安卓操作系统终端。
【文档编号】H04R27/00GK105872928SQ201610263528
【公开日】2016年8月17日
【申请日】2016年4月26日
【发明人】陈琼
【申请人】惠州Tcl移动通信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1