发明内容
为了解决多声道音箱在播放双声道立体声音频时,无法产生环绕立体声的效果,导致收听效果较差的问题,本发明实施例提供了一种立体声音频处理方法和装置。所述技术方案如下:
第一方面,提供了一种立体声音频处理方法,所述方法包括:
分别对立体声音频数据的左声道音频数据和右声道音频数据进行处理,得到左声道幅度表、左声道相位表、右声道幅度表和右声道相位表;
根据所述左声道幅度表、所述左声道相位表、所述右声道幅度表和所述右声道相位表建立空间模型,所述空间模型包括所述立体声音频数据中2a段音频数据分别对应的双耳时间差ITD和双耳声级差ILD,所述2a段音频数据包括a段左声道音频数据和a段右声道音频数据,a≥1且a为整数;
对于所述2a段音频数据中的每一段音频数据,根据所述音频数据对应的初相角、ITD和ILD确定所述音频数据对应的空间位置,并将所述音频数据划分至与所述空间位置对应的目标声道,所述目标声道为多轨音频对应的M个不同目标声道中的一个,M≥3且M为整数;
根据所述M个不同目标声道中各自划分得到的音频数据生成多轨音频数据;
其中,所述根据所述左声道幅度表、所述左声道相位表、所述右声道幅度表和所述右声道相位表建立空间模型,包括:
根据所述左声道幅度表和所述右声道幅度表的数据相关性,分别从所述左声道音频数据中提取a段左声道音频数据和从所述右声道音频数据中提取a段右声道音频数据,所述a段左声道音频数据在所述左声道音频数据中的位置与所述a段右声道音频数据在所述右声道音频数据中的位置相对应;
对于所述a段左声道音频数据和所述a段右声道音频数据中的每一组相对应的左声道音频数据和右声道音频数据,查询所述左声道音频数据对应的初相角在所述左声道相位表中的第一位置,以及所述右声道音频数据对应的初相角在所述右声道相位表中的第二位置;
根据所述第一位置和所述第二位置,计算所述左声道音频数据对应的ITD和ILD、所述右声道音频数据对应的ITD和ILD。
可选的,所述对于所述2a段音频数据中的每一段音频数据,根据所述音频数据对应的初相角、ITD和ILD确定所述音频数据对应的空间位置,包括:
对于所述2a段音频数据中的每一段音频数据,根据所述音频数据对应的初相角确定所述音频数据对应的前后位置;
根据所述音频数据对应的ITD确定所述音频数据对应的偏移角度;
根据所述音频数据对应的ILD确定所述音频数据对应的左右位置;
根据所述前后位置、所述偏移角度和所述左右位置确定所述音频数据对应的空间位置。
可选的,所述根据所述第一位置和所述第二位置,计算所述左声道音频数据对应的ITD和ILD、所述右声道音频数据对应的ITD和ILD,包括:
根据所述第一位置、所述第二位置和所述立体声音频数据的音频采样率,计算所述左声道音频数据对应的ITD和所述右声道音频数据对应的ITD;
从所述左声道幅度表中获取所述第一位置处的左声道幅度值,并从所述右声道幅度表中获取所述第二位置处的右声道幅度值;
根据获取的所述左声道幅度值和所述右声道幅度值,计算所述左声道音频数据对应的ILD和所述右声道音频数据对应的ILD。
可选的,所述方法还包括:
当所述M个不同目标声道包括中央声道和低音声道时,通过低通滤波器对划分至所述中央声道的音频数据进行低通滤波得到所述低音声道的音频数据。
第二方面,提供了一种立体声音频处理装置,所述装置包括:
音频处理模块,用于分别对立体声音频数据的左声道音频数据和右声道音频数据进行处理,得到左声道幅度表、左声道相位表、右声道幅度表和右声道相位表;
模型建立模块,用于根据所述左声道幅度表、所述左声道相位表、所述右声道幅度表和所述右声道相位表建立空间模型,所述空间模型包括所述立体声音频数据中2a段音频数据分别对应的双耳时间差ITD和双耳声级差ILD,所述2a段音频数据包括a段左声道音频数据和a段右声道音频数据,a≥1且a为整数;
音频划分模块,用于对于所述2a段音频数据中的每一段音频数据,根据所述音频数据对应的初相角、ITD和ILD确定所述音频数据对应的空间位置,并将所述音频数据划分至与所述空间位置对应的目标声道,所述目标声道为多轨音频对应的M个不同目标声道中的一个,M≥3且M为整数;
音频生成模块,用于根据所述M个不同目标声道中各自划分得到的音频数据生成多轨音频数据;
其中,所述模型建立模块,包括:音频提取单元、位置查询单元和模型建立单元;
所述音频提取单元,用于根据所述左声道幅度表和所述右声道幅度表的数据相关性,分别从所述左声道音频数据中提取a段左声道音频数据和从所述右声道音频数据中提取a段右声道音频数据,所述a段左声道音频数据在所述左声道音频数据中的位置与所述a段右声道音频数据在所述右声道音频数据中的位置相对应;
所述位置查询单元,用于对于所述a段左声道音频数据和所述a段右声道音频数据中的每一组相对应的左声道音频数据和右声道音频数据,查询所述左声道音频数据对应的初相角在所述左声道相位表中的第一位置,以及所述右声道音频数据对应的初相角在所述右声道相位表中的第二位置;
所述模型建立单元,用于根据所述第一位置和所述第二位置,计算所述左声道音频数据对应的ITD和ILD、所述右声道音频数据对应的ITD和ILD。
可选的,所述音频划分模块,包括:前后确定单元、角度确定单元、左右确定单元和位置确定单元;
所述前后确定单元,用于对于所述2a段音频数据中的每一段音频数据,根据所述音频数据对应的初相角确定所述音频数据对应的前后位置;
所述角度确定单元,用于根据所述音频数据对应的ITD确定所述音频数据对应的偏移角度;
所述左右确定单元,用于根据所述音频数据对应的ILD确定所述音频数据对应的左右位置;
所述位置确定单元,用于根据所述前后位置、所述偏移角度和所述左右位置确定所述音频数据对应的空间位置。
可选的,所述模型建立单元,包括:时间计算子单元、幅度获取子单元和声级计算子单元;
所述时间计算子单元,用于根据所述第一位置、所述第二位置和所述立体声音频数据的音频采样率,计算所述左声道音频数据对应的ITD和所述右声道音频数据对应的ITD;
所述幅度获取子单元,用于从所述左声道幅度表中获取所述第一位置处的左声道幅度值,并从所述右声道幅度表中获取所述第二位置处的右声道幅度值;
所述声级计算子单元,用于根据获取的所述左声道幅度值和所述右声道幅度值,计算所述左声道音频数据对应的ILD和所述右声道音频数据对应的ILD。
可选的,所述装置还包括:
低通滤波模块,用于当所述M个不同目标声道包括中央声道和低音声道时,通过低通滤波器对划分至所述中央声道的音频数据进行低通滤波得到所述低音声道的音频数据。
本发明实施例提供的技术方案带来的有益效果包括:
通过对立体声音频数据进行处理得到相位表和幅度表,并据此建立空间模型,该空间模型包含ITD和ILD两个属性,最终实现将立体声音频数据转化为多轨音频数据;解决了相关技术存在的多声道音箱在播放双声道立体声音频时,无法产生环绕立体声的效果,导致收听效果较差的问题;通过将立体声音频数据转化为多轨音频数据,使得多声道音箱的多个声道均可以正常工作,以此产生环绕立体声的效果,充分提高了收听效果。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明各个实施例提供的立体声音频处理方法,可以应用于音频播放器中。该音频播放器可以是具有音频播放能力的应用程序或者具有音频播放能力的电子设备。该电子设备可以是智能手机、智能电视、平板电脑、MP3(MovingPictureExpertsGroupAudioLayerIII,动态影像专家压缩标准音频层面3)播放器、MP4(MovingPictureExpertsGroupAudioLayerIV,动态影像专家压缩标准音频层面4)播放器和膝上型便携计算机等等。
为了简化描述,下文中仅以立体声音频处理方法由音频播放器执行进行举例说明,但对此不构成限定。
请参考图1,其示出了本发明一个实施例提供的立体声音频处理方法的流程图,该立体声音频处理方法可以包括如下几个步骤:
步骤102,分别对立体声音频数据的左声道音频数据和右声道音频数据进行处理,得到左声道幅度表、左声道相位表、右声道幅度表和右声道相位表。
在本实施例中,立体声音频数据是指双声道立体声音频数据,其包含左声道音频数据和右声道音频数据。通过对左声道音频数据进行处理得到左声道幅度表和左声道相位表;通过对右声道音频数据进行处理得到右声道幅度表和右声道相位表。
步骤104,根据左声道幅度表、左声道相位表、右声道幅度表和右声道相位表建立空间模型,该空间模型包括立体声音频数据中2a段音频数据分别对应的双耳时间差ITD和双耳声级差ILD,上述2a段音频数据包括a段左声道音频数据和a段右声道音频数据,a≥1且a为整数。
在对立体声音频数据进行处理得到幅度表和相位表后,对幅度、相位进行分析,模拟实际听音环境,建立空间模型。空间模型中包含双耳时间差(英文:InterauralTimeDifference;简称:ITD)和双耳声级差(英文:InterauralLevelDifference;简称:ILD)两个属性。ITD和ILD是反映耳接收声音信号特征的两个参数。其中,ITD表示声波到达两耳的时间差别,比如声源在听者的左方,则声波到达左耳的时间比声波到达右耳的时间短。ILD表示声波到达两耳的压力差别,比如声源在听者的左方,则声波到达左耳的声音信号强度比到达右耳的声音信号强度高。ITD和ILD提供了关于声源方向的信息,可依据ITD和ILD对声源方向进行定位。
步骤106,对于上述2a段音频数据中的每一段音频数据,根据该音频数据对应的初相角、ITD和ILD确定该音频数据对应的空间位置,并将该音频数据划分至与空间位置对应的目标声道,该目标声道为多轨音频对应的M个不同目标声道中的一个,M≥3且M为整数。
在确定每段音频数据对应的ITD和ILD之后,结合音频数据对应的初相角,确定该音频数据对应的空间位置。该空间位置表示了声源与听者的相对位置。进一步地,便可根据音频数据对应的空间位置将其划分至某个目标声道。
步骤108,根据M个不同目标声道中各自划分得到的音频数据生成多轨音频数据。
在将各段音频数据分别划分至对应的目标声道后,根据各个不同目标声道中各自划分得到的音频数据生成多轨音频数据。多轨音频数据可被多声道音箱播放,产生环绕立体声的效果。
综上所述,本实施例提供的立体声音频处理方法,通过对立体声音频数据进行处理得到相位表和幅度表,并据此建立空间模型,该空间模型包含ITD和ILD两个属性,最终实现将立体声音频数据转化为多轨音频数据;解决了相关技术存在的多声道音箱在播放双声道立体声音频时,无法产生环绕立体声的效果,导致收听效果较差的问题;通过将立体声音频数据转化为多轨音频数据,使得多声道音箱的多个声道均可以正常工作,以此产生环绕立体声的效果,充分提高了收听效果。
请参考图2,其示出了本发明另一实施例提供的立体声音频处理方法的流程图,该立体声音频处理方法可以包括如下几个步骤:
步骤201,分别对立体声音频数据的左声道音频数据和右声道音频数据进行处理,得到左声道幅度表、左声道相位表、右声道幅度表和右声道相位表。
在本实施例中,立体声音频数据是指双声道立体声音频数据,其包含左声道音频数据和右声道音频数据。通过对左声道音频数据进行处理得到左声道幅度表和左声道相位表;通过对右声道音频数据进行处理得到右声道幅度表和右声道相位表。
具体来讲,本步骤可以包括如下几个子步骤:
第一,使用预定窗函数分别对立体声音频数据的左声道音频数据和右声道音频数据加窗,得到加窗后的左声道音频数据和加窗后的右声道音频数据。
窗函数的选择包括但不限于海明窗和凯撒窗。窗函数的长度为2的幂次,比如1024、2048、4096等。假设左声道音频数据为L[0,…,N-1],右声道音频数据为R[0,…,N-1],窗函数为w(n),则加窗后的左声道音频数据为L1[0,…,N-1],加窗后的右声道音频数据为R1[0,…,N-1]。其中,N表示窗函数的长度,n表示输入序列,n∈[0,N-1]。第n个加窗后的左声道音频数据L1(n)=L(n)×w(n),第n个加窗后的右声道音频数据R1(n)=R(n)×w(n)。
在本实施例中,以窗函数为海明窗,且窗函数的长度为4096进行举例说明。海明窗的计算公式如下:
其中,N表示窗函数的长度,n表示输入序列,n∈[0,N-1]。在本实施例中,当窗函数的长度为4096,也即N=4096时,窗函数其中,n∈[0,4095]。
第二,分比对加窗后的左声道音频数据和加窗后的右声道音频数据进行快速傅里叶变换(英文:FastFourierTransform;简称:FFT),得到左声道幅度表、左声道相位表、右声道幅度表和右声道相位表。
对加窗后的左声道音频数据L1[0,…,N-1]做FFT得到左声道频域数据Lfft[0,…,N-1],其中,Lfft(n)对应RE(n)和IM(n)两个数值,RE表示实部,IM表示虚部。类似的,对加窗后的右声道音频数据R1[0,…,N-1]做FFT得到右声道频域数据Rfft[0,…,N-1],其中,Rfft(n)对应RE(n)和IM(n)两个数值,RE表示实部,IM表示虚部。
之后,计算左声道频域数据Lfft[0,…,N-1]的幅度和相位,得到左声道幅度表L_amp[0,…,N-1]和左声道相位表L_ph[0,…,N-1]。幅度的计算方法为: 相位的计算方法为: 与计算左声道频域数据Lfft[0,…,N-1]的幅度和相位相类似,可采用同样的计算方法计算右声道频域数据Rfft[0,…,N-1]的幅度和相位,得到右声道幅度表R_amp[0,…,N-1]和右声道相位表R_ph[0,…,N-1]。
步骤202,根据左声道幅度表、左声道相位表、右声道幅度表和右声道相位表建立空间模型,该空间模型包括立体声音频数据中2a段音频数据分别对应的双耳时间差ITD和双耳声级差ILD,上述2a段音频数据包括a段左声道音频数据和a段右声道音频数据,a≥1且a为整数。
在对立体声音频数据进行处理得到幅度表和相位表后,对幅度、相位进行分析,模拟实际听音环境,建立空间模型。空间模型中包含ITD和ILD两个属性。ITD和ILD是反映耳接收声音信号特征的两个参数。其中,ITD表示声波到达两耳的时间差别,比如声源在听者的左方,则声波到达左耳的时间比声波到达右耳的时间短。ILD表示声波到达两耳的压力差别,比如声源在听者的左方,则声波到达左耳的声音信号强度比到达右耳的声音信号强度高。ITD和ILD提供了关于声源方向的信息,可依据ITD和ILD对声源方向进行定位。
具体来讲,本步骤可以包括如下几个子步骤:
第一,根据左声道幅度表和右声道幅度表的数据相关性,分别从左声道音频数据中提取a段左声道音频数据和从右声道音频数据中提取a段右声道音频数据。
其中,上述a段左声道音频数据在左声道音频数据中的位置与上述a段右声道音频数据在右声道音频数据中的位置相对应。
1、计算左声道幅度表和右声道幅度表中每个对应位置的左声道幅度值和右声道幅度值之间的绝对差值。
计算数据A和数据B之间的数据相关性Y的计算方法为:Y=|A-B|。在本实施例中,第n个对应位置的左声道幅度值L_amp(n)与右声道幅度值R_amp(n)之间的数据相关性Y(n)为:Y(n)=|L_amp(n)-R_amp(n)|。
2、记录绝对差值大于预定阈值的a个位置区间。
预定阈值为预先设定的经验值,比如0.5。对于上述a个位置区间中的每一个位置区间,该位置区间包含至少一个位置。假设在位置区间[n1,n2]内,每个对应位置的左声道幅度值和右声道幅度值之间的绝对差值均大于预定阈值,则记录该位置区间[n1,n2],n1≤n2。
3、从左声道音频数据中提取上述a个位置区间处的a段左声道音频数据,并从右声道音频数中提取上述a个位置区间处的a段右声道音频数据。
以记录的一个位置区间[n1,n2]为例,从左声道音频数据L[0,…,N-1]中提取该位置区间[n1,n2]处的一段左声道音频数据L[n1,…,n2],记为L_t。类似的,从右声道音频数据R[0,…,N-1]中提取该位置区间[n1,n2]处的一段右声道音频数据R[n1,…,n2],记为R_t。
第二,对于提取的a段左声道音频数据和a段右声道音频数据中的每一组相对应的左声道音频数据和右声道音频数据,查询左声道音频数据对应的初相角在左声道相位表中的第一位置,以及右声道音频数据对应的初相角在右声道相位表中的第二位置。
其中,一段相位数据的初相角是指该段相位数据中的第一个非0值。
从左声道相位表L_ph[0,…,N-1]中可以查询得到,位置区间[n1,n2]处的相位数据为L_ph[n1,…,n2],记为L_phase。获取L_phase中的第一个非0值,也即初相角,并记录该初相角在左声道相位表L_ph[0,…,N-1]中的第一位置pos1。
类似的,从右声道相位表R_ph[0,…,N-1]中可以查询得到,位置区间[n1,n2]处的相位数据为R_ph[n1,…,n2],记为R_phase。获取R_phase中的第一个非0值,也即初相角,并记录该初相角在右声道相位表R_ph[0,…,N-1]中的第二位置pos2。
第三,根据第一位置和第二位置,计算左声道音频数据对应的ITD和ILD、右声道音频数据对应的ITD和ILD。
其中,ITD的计算方法如下步骤1所示:
1、根据第一位置、第二位置和立体声音频数据的音频采样率,计算左声道音频数据对应的ITD和右声道音频数据对应的ITD。
采用如下公式计算ITD:
其中,f表示立体声音频数据的音频采样率,单位为Hz;K表示第一位置pos1与第二位置pos2之间的绝对差值。
ILD的计算方法如下步骤2和3所示:
2、从左声道幅度表中获取第一位置处的左声道幅度值,并从右声道幅度表中获取第二位置处的右声道幅度值;
3、根据获取的左声道幅度值和右声道幅度值,计算左声道音频数据对应的ILD和右声道音频数据对应的ILD。
ILD等于第一位置处的左声道幅度值与第二位置处的右声道幅度值之间的比值。在一种可能的实施方式中,采用如下公式计算ILD:
其中,L_amp(pos1)表示第一位置pos1处的左声道幅度值;R_amp(pos2)表示第二位置pos2处的右声道幅度值。
步骤203,对于上述2a段音频数据中的每一段音频数据,根据该音频数据对应的初相角、ITD和ILD确定该音频数据对应的空间位置,并将该音频数据划分至与空间位置对应的目标声道,该目标声道为多轨音频对应的M个不同目标声道中的一个,M≥3且M为整数。
在确定每段音频数据对应的ITD和ILD之后,结合音频数据对应的初相角,确定该音频数据对应的空间位置。该空间位置表示了声源与听者的相对位置。进一步地,便可根据音频数据对应的空间位置将其划分至某个目标声道。
其中,音频数据对应的空间位置的确定过程可包括如下几个子步骤:
第一,对于上述2a段音频数据中的每一段音频数据,根据该音频数据对应的初相角确定该音频数据对应的前后位置。
其中,音频数据对应的前后位置用于确定该音频数据来自于听者的前方或是后方。音频数据对应的前后位置可依据该音频数据对应的初相角确定。具体的:
1、若音频数据对应的初相角在(0,90°]之间,则确定该音频数据来自于听者的前方;
2、若音频数据对应的初相角在[-90°,0)之间,则确定该音频数据来自于听者的后方;
特别的,若音频数据不存在对应的初相角,也即该段音频数据对应的若干个相位数据均为0,则音频数据对应的前后位置与提取的前一段音频数据对应的前后位置一致。
第二,根据该音频数据对应的ITD确定该音频数据对应的偏移角度。
其中,音频数据对应的偏移角度是指声源相对于两耳间中轴线的偏移角度。音频数据对应的偏移角度可依据该音频数据对应的ITD确定。在一种可能的实施方式中,首先根据ITD和声波在空气中的传播速度S计算声波到达两耳的距离差D,然后使用三角函数计算出音频数据对应的偏移角度ANG。
以三角函数为反正弦函数arcsin(x)为例,首先采用如下公式计算声波到达两耳的距离差D:
D=ITD×S;
然后,采用如下公式计算偏移角度ANG:
计算结果偏移角度ANG的取值范围在[0,90°]之间。
第三,根据该音频数据对应的ILD确定该音频数据对应的左右位置。
其中,音频数据对应的左右位置用于确定该音频数据来自于听者的左方或是右方。音频数据对应的左右位置可依据该音频数据对应的ILD确定。对应于上述ILD的计算方式:
1、若ILD大于1,则确定该音频数据来自于听者的左方;
2、若ILD小于1,则确定该音频数据来自于听者的右方。
需要说明的一点是:上述关于音频数据对应的左右位置的判断规则,是以音频数据对应的ILD等于第一位置处的左声道幅度值除以第二位置处的右声道幅度值为例。当音频数据对应的ILD等于第二位置处的右声道幅度值除以第一位置处的左声道幅度值时,若ILD大于1,则确定该音频数据来自于听者的右方;若ILD小于1,则确定该音频数据来自于听者的左方。
第四,根据前后位置、偏移角度和左右位置确定该音频数据对应的空间位置。
在确定音频数据对应的前后位置、偏移角度和左右位置后,进一步确定出该音频数据相对于听者的空间位置。
由于对左声道音频数据的处理和对右声道音频数据的处理相同或类似,这里以对提取的一段左声道音频数据的处理为例进行说明。以提取的左声道音频数据L_t为例,假设L_t对应的前后位置为前方、偏移角度为60°且左右位置为左方,则L_t对应的空间位置为在听者前方偏左60°方向。再比如,假设L_t对应的前后位置为后方、偏移角度为45°且左右位置为右方,则L_t对应的空间位置为在听者后方偏右45°方向。
另外,在确定音频数据对应的空间位置之后,便可根据确定出的空间位置将该音频数据划分至与空间位置对应的目标声道。其中,该目标声道为多轨音频对应的M个不同目标声道中的一个。多轨音频包括但不限于3.1、5.0、5.1、6.1、7.1、8.1、9.1、12.1声道的多轨音频。
在本实施例中,以5.1声道的多轨音频为例。5.1声道的多轨音频包含如下6个声道:中央声道、前置左声道、前置右声道、后置左声道、后置右声道以及由.1表示的低音声道。在音频数据划分时,可以包括如下1和2两个步骤:
1、根据音频数据对应的空间位置、M个不同目标声道各自对应的空间位置区间,确定空间位置属于的空间位置区间;
2、将音频数据划分至空间位置属于的空间位置区间对应的目标声道。
除低音声道之外的每个目标声道,均分配有对应的空间位置区间。比如,前置左声道对应的空间位置区间为正前方偏左30°方向至正前方偏左60°方向之间,则将空间位置在该角度范围内的音频数据划分至前置左声道。
需要说明的一点是:对于在上述步骤202中未提取的音频数据,也即数据相关性小于预定阈值的音频数据,将这些音频数据划分至中央声道。
还需要说明的一点是:不论是从左声道音频数据中提取的一段左声道音频数据,还是从右声道音频数据中提取的一段右声道音频数据,其对应的空间位置是经过频谱相角分析和空间建模而确定的。提取的左声道音频数据可能被划分至M个不同目标声道中位于听者左侧的声道中,也可能被划分至M个不同目标声道中位于听者右侧的声道中。类似的,提取的右声道音频数据可能被划分至M个不同目标声道中位于听者右侧的声道中,也可能被划分至M个不同目标声道中位于听者左侧的声道中。
步骤204,根据M个不同目标声道中各自划分得到的音频数据生成多轨音频数据。
在将各段音频数据分别划分至对应的目标声道后,根据各个不同目标声道中各自划分得到的音频数据生成多轨音频数据。多轨音频数据可被多声道音箱播放,产生环绕立体声的效果。在生成多轨音频数据的过程中,对于上述M个不同目标声道中的每一个目标声道,空缺部分的音频数据以0作为填充。
可选的,本实施例提供的立体声音频处理方法还可以包括如下步骤205:
步骤205,当M个不同目标声道包括中央声道和低音声道时,通过低通滤波器对划分至中央声道的音频数据进行低通滤波得到低音声道的音频数据。
低通滤波器可以选用无限冲激响应(英文:InfiniteImpulseResponse;简称IIR)滤波器或者有限冲激响应(英文:FiniteImpulseResponse;简称FIR)滤波器。低通滤波器的滤波频率可设定为经验值,比如200Hz。
可选的,本实施例提供的立体声音频处理方法还可以包括如下步骤206:
步骤206,当M个不同目标声道包括中央声道时,提取或消除划分至中央声道的音频数据。
划分至中央声道的音频数据通常为人声,在音乐、影视的后期处理中,可能需要对人声进行提取或消除。比如,一种典型用途为消除歌曲里面的人声,制作歌曲伴奏。当M个不同目标声道包括中央声道时,通过提取划分至中央声道的音频数据,可实现对人声的提取;或者,通过消除划分至中央声道的音频数据,可实现对人声的消除。
另外,在其它可能的实施方式中,为了避免在对音频数据做FFT处理时,可能产生的信息丢失或能量削弱的问题。在对幅度、相位进行分析,建立空间模型的过程中,可对数据做重叠处理。重叠的长度根据实际情况预先设定,且小于窗函数的长度。在一种可能的实施方式中,在计算左声道幅度表和右声道幅度表的数据相关性之前,分别对左声道幅度表和右声道幅度表做重叠处理;在另一种可能的实施方式中,在计算左声道幅度表和右声道幅度表的数据相关性之后,并在提取2a段音频数据之前,分别对左声道幅度表和右声道幅度表做重叠处理。
综上所述,本实施例提供的立体声音频处理方法,通过对立体声音频数据进行处理得到相位表和幅度表,并据此建立空间模型,该空间模型包含ITD和ILD两个属性,最终实现将立体声音频数据转化为多轨音频数据;解决了相关技术存在的多声道音箱在播放双声道立体声音频时,无法产生环绕立体声的效果,导致收听效果较差的问题;通过将立体声音频数据转化为多轨音频数据,使得多声道音箱的多个声道均可以正常工作,以此产生环绕立体声的效果,充分提高了收听效果。
另外,本实施例提供的立体声音频处理方法,当M个不同目标声道包括中央声道和低音声道时,还通过低通滤波器对划分至中央声道的音频数据进行低通滤波得到低音声道的音频数据,丰富了音频的表现形式。可选的,当M个不同目标声道包括中央声道时,还通过提取或消除划分至中央声道的音频数据,实现了对人声的提取或消除,使得本实施例提供的立体声音频处理方法可以更为广泛地应用于音乐、影视的后期处理。
还需要说明的一点是:在具体的实施过程中,可采用上述方法对双声道的立体声音频数据进行处理,生成3.1、5.0、5.1、6.1、7.1、8.1、9.1、12.1声道的多轨音频数据,图2所示实施例仅以将双声道的立体声音频数据转换为5.1声道的多轨音频数据进行举例说明,并不对本发明构成限定。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
请参考图3,其示出了本发明一个实施例提供的立体声音频处理装置的结构方框图,该立体声音频处理装置可以通过软件、硬件或者两者的结合实现成为音频播放器的部分或者全部。该立体声音频处理装置,包括:音频处理模块310、模型建立模块320、音频划分模块330和音频生成模块340。
音频处理模块310,用于分别对立体声音频数据的左声道音频数据和右声道音频数据进行处理,得到左声道幅度表、左声道相位表、右声道幅度表和右声道相位表。
模型建立模块320,用于根据所述左声道幅度表、所述左声道相位表、所述右声道幅度表和所述右声道相位表建立空间模型,所述空间模型包括所述立体声音频数据中2a段音频数据分别对应的双耳时间差ITD和双耳声级差ILD,所述2a段音频数据包括a段左声道音频数据和a段右声道音频数据,a≥1且a为整数。
音频划分模块330,用于对于所述2a段音频数据中的每一段音频数据,根据所述音频数据对应的初相角、ITD和ILD确定所述音频数据对应的空间位置,并将所述音频数据划分至与所述空间位置对应的目标声道,所述目标声道为多轨音频对应的M个不同目标声道中的一个,M≥3且M为整数。
音频生成模块340,用于根据所述M个不同目标声道中各自划分得到的音频数据生成多轨音频数据。
综上所述,本实施例提供的立体声音频处理装置,通过对立体声音频数据进行处理得到相位表和幅度表,并据此建立空间模型,该空间模型包含ITD和ILD两个属性,最终实现将立体声音频数据转化为多轨音频数据;解决了相关技术存在的多声道音箱在播放双声道立体声音频时,无法产生环绕立体声的效果,导致收听效果较差的问题;通过将立体声音频数据转化为多轨音频数据,使得多声道音箱的多个声道均可以正常工作,以此产生环绕立体声的效果,充分提高了收听效果。
请参考图4,其示出了本发明另一实施例提供的立体声音频处理装置的结构方框图,该立体声音频处理装置可以通过软件、硬件或者两者的结合实现成为音频播放器的部分或者全部。该立体声音频处理装置,包括:音频处理模块310、模型建立模块320、音频划分模块330和音频生成模块340。
音频处理模块310,用于分别对立体声音频数据的左声道音频数据和右声道音频数据进行处理,得到左声道幅度表、左声道相位表、右声道幅度表和右声道相位表。
模型建立模块320,用于根据所述左声道幅度表、所述左声道相位表、所述右声道幅度表和所述右声道相位表建立空间模型,所述空间模型包括所述立体声音频数据中2a段音频数据分别对应的双耳时间差ITD和双耳声级差ILD,所述2a段音频数据包括a段左声道音频数据和a段右声道音频数据,a≥1且a为整数。
其中,所述模型建立模块320,包括:音频提取单元320a、位置查询单元320b和模型建立单元320c。
所述音频提取单元320a,用于根据所述左声道幅度表和所述右声道幅度表的数据相关性,分别从所述左声道音频数据中提取a段左声道音频数据和从所述右声道音频数据中提取a段右声道音频数据,所述a段左声道音频数据在所述左声道音频数据中的位置与所述a段右声道音频数据在所述右声道音频数据中的位置相对应。
所述位置查询单元320b,用于对于所述a段左声道音频数据和所述a段右声道音频数据中的每一组相对应的左声道音频数据和右声道音频数据,查询所述左声道音频数据对应的初相角在所述左声道相位表中的第一位置,以及所述右声道音频数据对应的初相角在所述右声道相位表中的第二位置。
所述模型建立单元320c,用于根据所述第一位置和所述第二位置,计算所述左声道音频数据对应的ITD和ILD、所述右声道音频数据对应的ITD和ILD。
可选的,所述模型建立单元320c,包括:时间计算子单元320c1、幅度获取子单元320c2和声级计算子单元320c3。
所述时间计算子单元320c1,用于根据所述第一位置、所述第二位置和所述立体声音频数据的音频采样率,计算所述左声道音频数据对应的ITD和所述右声道音频数据对应的ITD。
所述幅度获取子单元320c2,用于从所述左声道幅度表中获取所述第一位置处的左声道幅度值,并从所述右声道幅度表中获取所述第二位置处的右声道幅度值。
所述声级计算子单元320c3,用于根据获取的所述左声道幅度值和所述右声道幅度值,计算所述左声道音频数据对应的ILD和所述右声道音频数据对应的ILD。
音频划分模块330,用于对于所述2a段音频数据中的每一段音频数据,根据所述音频数据对应的初相角、ITD和ILD确定所述音频数据对应的空间位置,并将所述音频数据划分至与所述空间位置对应的目标声道,所述目标声道为多轨音频对应的M个不同目标声道中的一个,M≥3且M为整数。
其中,所述音频划分模块330,包括:前后确定单元330a、角度确定单元330b、左右确定单元330c和位置确定单元330d。
所述前后确定单元330a,用于对于所述2a段音频数据中的每一段音频数据,根据所述音频数据对应的初相角确定所述音频数据对应的前后位置。
所述角度确定单元330b,用于根据所述音频数据对应的ITD确定所述音频数据对应的偏移角度。
所述左右确定单元330c,用于根据所述音频数据对应的ILD确定所述音频数据对应的左右位置。
所述位置确定单元330d,用于根据所述前后位置、所述偏移角度和所述左右位置确定所述音频数据对应的空间位置。
另外,所述音频划分模块330,还包括:音频划分单元330e。
所述音频划分单元330e,用于将所述音频数据划分至与所述空间位置对应的目标声道。
音频生成模块340,用于根据所述M个不同目标声道中各自划分得到的音频数据生成多轨音频数据。
可选的,所述装置还包括:低通滤波模块350。
低通滤波模块350,用于当所述M个不同目标声道包括中央声道和低音声道时,通过低通滤波器对划分至所述中央声道的音频数据进行低通滤波得到所述低音声道的音频数据。
综上所述,本实施例提供的立体声音频处理装置,通过对立体声音频数据进行处理得到相位表和幅度表,并据此建立空间模型,该空间模型包含ITD和ILD两个属性,最终实现将立体声音频数据转化为多轨音频数据;解决了相关技术存在的多声道音箱在播放双声道立体声音频时,无法产生环绕立体声的效果,导致收听效果较差的问题;通过将立体声音频数据转化为多轨音频数据,使得多声道音箱的多个声道均可以正常工作,以此产生环绕立体声的效果,充分提高了收听效果。
另外,本实施例提供的立体声音频处理装置,当M个不同目标声道包括中央声道和低音声道时,还通过低通滤波器对划分至中央声道的音频数据进行低通滤波得到低音声道的音频数据,丰富了音频的表现形式。可选的,当M个不同目标声道包括中央声道时,还通过提取或消除划分至中央声道的音频数据,实现了对人声的提取或消除,使得本实施例提供的立体声音频处理方案可以更为广泛地应用于音乐、影视的后期处理。
需要说明的是:上述实施例提供的立体声音频处理装置在将立体声音频数据转化为多轨音频数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的立体声音频处理装置与立体声音频处理方法的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图5,其示出了本发明一个实施例提供的电子设备的结构示意图。该电子设备用于实施上述实施例中提供的立体声音频处理方法。具体来讲:
电子设备500可以包括:包含有一个或一个以上计算机可读存储介质的存储器520、输入单元530、显示单元540、传感器550、音频电路560、WiFi(wirelessfidelity,无线保真)模块570、包括有一个或者一个以上处理核心的处理器580、以及电源590等部件。本领域技术人员可以理解,图5中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
存储器520可用于存储软件程序以及模块,处理器580通过运行存储在存储器520的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备500的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器520还可以包括存储器控制器,以提供处理器580和输入单元530对存储器520的访问。
输入单元530可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元530可包括图像输入设备531以及其他输入设备532。图像输入设备531可以是摄像头,也可以是光电扫描设备。除了图像输入设备531,输入单元530还可以包括其他输入设备532。具体地,其他输入设备532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元540可用于显示由用户输入的信息或提供给用户的信息以及电子设备500的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元540可包括显示面板541,可选的,可以采用LCD(LiquidCrystalDisplay,液晶显示器)、OLED(OrganicLight-EmittingDiode,有机发光二极管)等形式来配置显示面板541。
电子设备500还可包括至少一种传感器550,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板541的亮度,接近传感器可在电子设备500移动到耳边时,关闭显示面板541和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于电子设备500还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路560、扬声器561,传声器562可提供用户与电子设备500之间的音频接口。音频电路560可将接收到的音频数据转换后的电信号,传输到扬声器561,由扬声器561转换为声音信号输出;另一方面,传声器562将收集的声音信号转换为电信号,由音频电路560接收后转换为音频数据,再将音频数据输出处理器580处理后,经RF电路510以发送给比如另一电子设备,或者将音频数据输出至存储器520以便进一步处理。音频电路560还可能包括耳塞插孔,以提供外设耳机与电子设备500的通信。
WiFi属于短距离无线传输技术,电子设备500通过WiFi模块570可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图5示出了WiFi模块570,但是可以理解的是,其并不属于电子设备500的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器580是电子设备500的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器520内的软件程序和/或模块,以及调用存储在存储器520内的数据,执行电子设备500的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器580可包括一个或多个处理核心;优选的,处理器580可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器580中。
电子设备500还包括给各个部件供电的电源590(比如电池),优选的,电源可以通过电源管理系统与处理器580逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源590还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,电子设备500还可以包括蓝牙模块等,在此不再赘述。
具体在本实施例中,电子设备500还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于进行上述图1或图2所示实施例提供的立体声音频处理方法的指令。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”(“a”、“an”、“the”)旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。