失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 音频信号的处理方法 装置 计算设备及存储介质与流程

音频信号的处理方法 装置 计算设备及存储介质与流程

时间:2018-06-26 04:47:12

相关推荐

音频信号的处理方法 装置 计算设备及存储介质与流程

本发明涉及信号处理领域,特别涉及一种音频信号的处理方法、装置、计算设备及存储介质。

背景技术:

在信号处理领域,经常需要从音频中分离出左右声道在时域上的差异信号和相同信号。例如,对于一首歌曲来讲,左声道与右声道的差异信号通常是这首歌曲的伴奏信号,左声道与右声道的相同信号通常是这首歌曲的人声信号,那么通过获取到这首歌曲的差异信号与相同信号,可以从歌曲中滤除人声或者伴奏。因此,如何处理音频信号,以得到差异信号和相同信号十分重要。

目前,在处理音频信号时,会获取左声道与右声道在频域上的相同信号;再计算左声道在频域上的信号与频域上的相同信号之间的差,得到左声道在频域上包括且右声道在频域上不包括的信号1;计算右声道在频域上的信号与频域上的相同信号之间的差,得到右声道在频域上包括且左声道在频域上不包括的信号2;对频域上的相同信号进行逆快速傅里叶变换(英文全称:fast fourier transform,英文简称:FFT),得到左声道与右声道在时域上相同的信号3;对信号1进行逆FFT,得到左声道在时域上包括且右声道在时域上不包括的信号4,对信号2进行逆FFT,得到右声道在时域上包括且左声道在时域上不包括的信号5,该信号3即为需要得到的左右声道之间的相同信号,该信号4以及信号5即为需要得到的左右声道之间的差异信号。

采用上述方法时,需要对信号1以及信号2进行逆FFT,才能得到左声道与右声道之间的差异信号,这两次逆FFT的过程会导致运算量大。

技术实现要素:

本发明实施例提供了一种音频信号的处理方法、装置、计算设备及存储介质,能够解决相关技术中分离左声道和右声道之间的差异信号时需要进行两次逆FFT而导致运算量大的问题。所述技术方案如下:

一方面,提供了一种音频信号的处理方法,所述方法包括:

根据目标音频的第一音频信号与第二音频信号,获取第一目标信号,所述第一音频信号为所述目标音频的左声道在时域上的信号,所述第二音频信号为所述目标音频的右声道在时域上的信号,所述第一目标信号为左声道与右声道在时域上的相同信号;

获取所述第一音频信号与所述第一目标信号之间的差,得到第二目标信号,所述第二目标信号为左声道在时域上包括且右声道在时域上不包括的信号;

获取所述第二音频信号与所述第一目标信号之间的差,得到第三目标信号,所述第三目标信号为右声道在时域上包括且左声道在时域上不包括的信号。

在一种可能的实现中,所述根据目标音频的第一音频信号与第二音频信号,获取第一目标信号之后,所述方法还包括:消除所述第一目标信号中的跳变信号;

所述获取所述第一音频信号与所述第一目标信号之间的差,得到第二目标信号,包括:获取所述第一音频信号与消除了跳变信号的第一目标信号之间的差,得到所述第二目标信号;

所述获取所述第二音频信号与所述第一目标信号之间的差,得到第三目标信号,包括:获取所述第二音频信号与消除了跳变信号的第一目标信号之间的差,得到所述第三目标信号。

在一种可能的实现中,所述消除所述第一目标信号中的跳变信号,包括:

对所述第一目标信号进行重叠相加,得到消除了跳变信号的第一目标信号。

在一种可能的实现中,所述获取所述第二音频信号与所述第一目标信号之间的差,得到第三目标信号之后,所述方法还包括:

消除所述第一目标信号中的跳变信号;

消除所述第二目标信号中的跳变信号;

消除所述第三目标信号中的跳变信号。

在一种可能的实现中,所述消除所述第一目标信号中的跳变信号,包括:

对所述第一目标信号进行重叠相加,得到消除了跳变信号的第一目标信号;

所述消除所述第二目标信号中的跳变信号,包括:

对所述第二目标信号进行重叠相加,得到消除了跳变信号的第二目标信号;

所述消除所述第三目标信号中的跳变信号,包括:

对所述第三目标信号进行重叠相加,得到消除了跳变信号的第三目标信号。

在一种可能的实现中,所述根据目标音频的第一音频信号与第二音频信号,获取第一目标信号,包括:

将所述第一音频信号变换至频域,得到第三音频信号;

将所述第二音频信号变换至频域,得到第四音频信号;

根据所述第三音频信号以及所述第四音频信号,获取第四目标信号,所述第四目标信号为左声道与右声道在频域上的相同信号;

将所述第四目标信号变换至时域,得到所述第一目标信号。

在一种可能的实现中,所述将所述第一音频信号变换至频域,包括:

对所述第一音频信号进行实数快速傅里叶变换;

在一种可能的实现中,所述将所述第二音频信号变换至频域,包括:

对所述第二音频信号进行实数快速傅里叶变换。

在一种可能的实现中,所述将所述第四目标信号变换至时域,包括:

对所述第四目标信号进行逆实数快速傅里叶变换。

在一种可能的实现中,所述方法中的每个步骤通过调用单指令多数据流SIMD指令集中的指令执行。

另一方面,提供了一种音频信号的处理装置,所述装置包括:

第一获取模块,用于根据目标音频的第一音频信号与第二音频信号,获取第一目标信号,所述第一音频信号为所述目标音频的左声道在时域上的信号,所述第二音频信号为所述目标音频的右声道在时域上的信号,所述第一目标信号为左声道与右声道在时域上的相同信号;

第二获取模块,用于获取所述第一音频信号与所述第一目标信号之间的差,得到第二目标信号,所述第二目标信号为左声道在时域上包括且右声道在时域上不包括的信号;

第三获取模块,用于获取所述第二音频信号与所述第一目标信号之间的差,得到第三目标信号,所述第三目标信号为右声道在时域上包括且左声道在时域上不包括的信号。

在一种可能的实现中,所述装置还包括:消除模块,用于消除所述第一目标信号中的跳变信号;

所述第一获取模块,用于获取所述第一音频信号与消除了跳变信号的第一目标信号之间的差,得到所述第二目标信号;

所述第二获取模块,用于获取所述第二音频信号与消除了跳变信号的第一目标信号之间的差,得到所述第三目标信号。

在一种可能的实现中,所述消除模块,具体用于对所述第一目标信号进行重叠相加,得到消除了跳变信号的第一目标信号。

在一种可能的实现中,所述装置还包括:

消除模块,用于消除所述第一目标信号中的跳变信号;消除所述第二目标信号中的跳变信号;消除所述第三目标信号中的跳变信号。

在一种可能的实现中,所述消除模块,具体用于对所述第一目标信号进行重叠相加,得到消除了跳变信号的第一目标信号;对所述第二目标信号进行重叠相加,得到消除了跳变信号的第二目标信号;对所述第三目标信号进行重叠相加,得到消除了跳变信号的第三目标信号。

在一种可能的实现中,所述第一获取模块,包括:

变换子模块,用于将所述第一音频信号变换至频域,得到第三音频信号;

所述变换子模块,还用于将所述第二音频信号变换至频域,得到第四音频信号;

获取子模块,用于根据所述第三音频信号以及所述第四音频信号,获取第四目标信号,所述第四目标信号为左声道与右声道在频域上的相同信号;

所述变换子模块,还用于将所述第四目标信号变换至时域,得到所述第一目标信号。

在一种可能的实现中,所述变换子模块,具体用于对所述第一音频信号进行实数快速傅里叶变换;对所述第二音频信号进行实数快速傅里叶变换;对所述第四目标信号进行逆实数快速傅里叶变换。

在一种可能的实现中,所述装置中的每个模块通过调用单指令多数据流SIMD指令集中的指令执行。

另一方面,提供了一种计算设备,所述计算设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现上述音频信号的处理方法。

另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现上述音频信号的处理方法。

本发明实施例提供的技术方案带来的有益效果至少可以包括:

本实施例提供的方法,通过将左右声道的音频信号与相同信号在时域上分别做差,来得到左右声道之间的差异信号,由于省去了对左声道在频域上的差异信号进行逆FFT的过程,并省去了对右声道在频域上的差异信号进行逆FFT过程,因此可以极大地降低计算量,提升运算速度。尤其是,能够应用在手机、平板电脑等低性能的移动终端上,从而让移动终端也可以执行本实施例,来实时地分离出左右声道的相同信号与差异信号,从而极大地扩展了移动终端的性能。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种音频信号的处理方法的实施环境图;

图2是本发明实施例提供的一种音频信号的处理方法的流程图;

图3是本发明实施例提供的一种音频信号的处理方法的流程图;

图4是本发明实施例提供的一种音频信号的处理方法的流程图;

图5是本发明实施例提供的一种音频信号的处理装置的结构示意图;

图6是本发明实施例提供的一种终端的结构示意图;

图7是本发明实施例提供的一种服务器的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

本发明中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。

以下,介绍本发明使用的概念。

单指令多数据流(英文全称:single instruction multiple data,英文简称:SIMD)指令集:是一种复制多个操作数,并把它们打包在大型寄存器的一组指令集。以加法指令为例,单指令单数据集(英文全称:single instruction single data stream,英文简称:SISD)的中央处理器(英文全称:Central Processing Unit,英文简称:CPU)对加法指令译码后,执行部件先访问内存,取得第一个操作数;之后再一次访问内存,取得第二个操作数;随后才能进行求和运算。而在SIMD型的CPU中,指令译码后几个执行部件会同时访问内存,一次性获得所有操作数进行运算。

以下,示例性介绍本发明的实施环境。

图1是本发明实施例提供的一种音频信号的处理方法的实施环境图。参见图1,该实施环境可以包括:终端101和服务器102。

终端101通过无线网络或有线网络与服务器102相连。终端101可以是移动终端,例如可以是智能手机、平板电脑、笔记本电脑、游戏主机、台式计算机、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器或MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器中的至少一种。终端101可以采集音频信号、存储音频信号、下载音频信号或提取音频信号,终端可以通过采集、存储、下载或提取的音频信号,执行下述图2至图4中任一实施例所示的音频信号的处理方法,或者将采集、存储、下载或提取的音频信号发送给服务器102,以便服务器102执行下述图2至图4中任一实施例所示的音频信号的处理方法。

服务器102用于为终端101提供音频服务,例如服务器102可以向终端101提供待处理的音频,以便终端101处理服务器102提供的音频中的音频信号。另外,服务器102也可以从终端101接收音频,通过执行下述图2至图4中任一实施例所示的音频信号的处理方法,来处理终端101提供的音频中的音频信号。服务器102可以包括一台服务器、多台服务器、云计算平台或者虚拟化中心中的至少一种。服务器102可以通过无线网络或有线网络与数据库相连,数据库可以存储有大量的音频。

终端101可以安装和运行有支持音频信号处理的应用程序,服务器102用于为该应用程序提供后台服务。示意性地,终端101可以是用户使用的终端,终端101中运行的应用程序内登录有用户在服务器102上注册的账号。其中,该应用程序可以是音频播放程序、视频播放程序、直播程序、K歌程序中的任意一种,该应用程序中内置有信号处理的功能。

本领域技术人员可以知晓,上述终端101的数量可以更多或更少。比如上述终端101可以仅为一个,或者上述终端101为几十个或几百个,或者更多数量,此时上述音频信号的处理方法还包括其他终端101。本发明实施例对终端101的数量和设备类型不加以限定。

以下,示例性介绍本发明的方法流程。

图2是本发明实施例提供的一种音频信号的处理方法的流程图,该方法包括:

201、根据目标音频的第一音频信号与第二音频信号,获取第一目标信号,第一音频信号为目标音频的左声道在时域上的信号,第二音频信号为目标音频的右声道在时域上的信号,第一目标信号为左声道与右声道在时域上的相同信号。

202、获取第一音频信号与第一目标信号之间的差,得到第二目标信号,第二目标信号为左声道在时域上包括且右声道在时域上不包括的信号。

203、获取第二音频信号与第一目标信号之间的差,得到第三目标信号,第三目标信号为右声道在时域上包括且左声道在时域上不包括的信号。

本实施例提供的方法,通过将左右声道的音频信号与相同信号在时域上分别做差,来得到左右声道之间的差异信号,由于省去了对左声道在频域上的差异信号进行逆FFT的过程,并省去了对右声道在频域上的差异信号进行逆FFT过程,因此可以极大地降低计算量,提升运算速度。尤其是,本实施例提供的方法能够应用在手机、平板电脑等低性能的移动终端上,从而让移动终端也可以执行本实施例,来实时地分离出左右声道的相同信号与差异信号,从而极大地扩展了移动终端的性能。

在一种可能的实现中,所述根据目标音频的第一音频信号与第二音频信号,获取第一目标信号之后,所述方法还包括:消除所述第一目标信号中的跳变信号;

所述获取所述第一音频信号与所述第一目标信号之间的差,得到第二目标信号,包括:获取所述第一音频信号与消除了跳变信号的第一目标信号之间的差,得到所述第二目标信号;

所述获取所述第二音频信号与所述第一目标信号之间的差,得到第三目标信号,包括:获取所述第二音频信号与消除了跳变信号的第一目标信号之间的差,得到所述第三目标信号。

在一种可能的实现中,所述消除所述第一目标信号中的跳变信号,包括:

对所述第一目标信号进行重叠相加,得到消除了跳变信号的第一目标信号。

在一种可能的实现中,所述获取所述第二音频信号与所述第一目标信号之间的差,得到第三目标信号之后,所述方法还包括:

消除所述第一目标信号中的跳变信号;

消除所述第二目标信号中的跳变信号;

消除所述第三目标信号中的跳变信号。

在一种可能的实现中,所述消除所述第一目标信号中的跳变信号,包括:

对所述第一目标信号进行重叠相加,得到消除了跳变信号的第一目标信号;

所述消除所述第二目标信号中的跳变信号,包括:

对所述第二目标信号进行重叠相加,得到消除了跳变信号的第二目标信号;

所述消除所述第三目标信号中的跳变信号,包括:

对所述第三目标信号进行重叠相加,得到消除了跳变信号的第三目标信号。

在一种可能的实现中,所述根据目标音频的第一音频信号与第二音频信号,获取第一目标信号,包括:

将所述第一音频信号变换至频域,得到第三音频信号;

将所述第二音频信号变换至频域,得到第四音频信号;

根据所述第三音频信号以及所述第四音频信号,获取第四目标信号,所述第四目标信号为左声道与右声道在频域上的相同信号;

将所述第四目标信号变换至时域,得到所述第一目标信号。

在一种可能的实现中,所述将所述第一音频信号变换至频域,包括:

对所述第一音频信号进行实数快速傅里叶变换。

在一种可能的实现中,所述将所述第二音频信号变换至频域,包括:

对所述第二音频信号进行实数快速傅里叶变换。

在一种可能的实现中,所述将所述第四目标信号变换至时域,包括:

对所述第四目标信号进行逆实数快速傅里叶变换。

在一种可能的实现中,所述方法中的每个步骤通过调用单指令多数据流SIMD指令集中的指令执行。

图3是本发明实施例提供的一种音频信号的处理方法的流程图,该实施例以执行主体为计算设备为例进行说明,该计算设备在实施环境中可以实施为终端101或服务器102,该方法包括:

301、计算设备根据目标音频的第一音频信号与第二音频信号,获取第一目标信号。

目标音频为待分离出左右声道的相同信号与差异信号的音频。第一音频信号为该目标音频的左声道在时域上的信号,例如,第一音频信号可以是该目标音频的左声道在一个采样周期内的采样信号,例如可以是2048个脉冲编码调制(英文全称:Pulse Code Modulation,英文缩写:PCM)信号。该第二音频信号为该目标音频的右声道在时域上的信号,例如,第二音频信号可以是该目标音频的右声道在一个采样周期内的采样信号,例如可以是2048个PCM信号。第一目标信号为左声道与右声道在时域上的相同信号,具体地,左声道在时域上包括该第一目标信号,右声道在时域上也包括该第一目标信号。

该目标音频可以是立体声音频。立体声音频中包括左声道的音频以及右声道的音频,通过左右两个声道,立体声音频在播放时会具有立体感。可选地,该目标音频可以而不限于是歌曲,相应地,左声道信号以及右声道信号中会包括人声信号以及伴奏信号。当然,该目标音频也可以是歌曲之外的其他类型的音频,例如是纯人声、纯伴奏、环境音频等等。该目标音频可以是服务器下发的音频,也可以是计算设备上存储的音频,或是计算设备上所存储的视频所包含的音频。

步骤301具体可以包括下述步骤一至步骤四:

步骤一、计算设备将第一音频信号变换至频域,得到第三音频信号。

步骤二、计算设备将第二音频信号变换至频域,得到第四音频信号。

该第三音频信号为该目标音频的左声道在频域上的信号,该第四音频信号为该目标音频的右声道在频域上的信号。在一些可能的实施例中,计算设备可以对第一音频信号进行实数快速傅里叶变换(英文全称:real fast fourier transform,英文简称:RFFT),得到第三音频信号,对第二音频信号进行实数快速傅里叶变换,得到第四音频信号。示意性地,如果第一音频信号记为L,第二音频信号记为R,可以对L和R分别进行RFFT,得到FFT_L和FFT_R,FFT_L为第三音频信号,FFT_R为第四音频信号。

在一些可能的实施例中,如果计算设备的处理器为英国ARM(英文全称:Advanced RISC Machines)公司的Cortex-A8处理器(一种超标量处理器),可以选择NEON指令集(一种128位SIMD扩展结构)中FFTW3(一款支持NEON指令加速的快速傅里叶变换程序)的FFTW_R2HC模式来进行实数快速傅里叶变换。

通过采用实数快速傅里叶变换的方式,将左声道和右声道的音频信号从时域变换至频域,由于同样的信号长度下,实数快速傅立叶变换的运算复杂度比传统的快速傅立叶变换的运算复杂度低一半,可以极大地降低运算复杂度,提高计算速度。

需要说明的一点是,实数快速傅里叶变换的方式仅是步骤一以及步骤二的可选实施方式,在一些可能的实施例中,也可以采用实数快速傅里叶变换之外的其他时频域转换方式,来实施步骤一以及步骤二。例如,可以对第一音频信号进行快速傅里叶变换,得到第三音频信号;对第二音频信号进行快速傅里叶变换,得到第三音频信号,本实施例对步骤一以及步骤二所采用的时频域转换方式不做限定。

步骤三、计算设备根据第三音频信号以及第四音频信号,获取第四目标信号。

第四目标信号为左声道与右声道在频域上的相同信号,左声道在频域上包括该第四目标信号,右声道在频域上也包括该第四目标信号。

在一些可能的实施例中,计算设备可以获取第三音频信号以及第四音频信号之间的投影向量,将该投影向量作为第四目标信号。

示意性地,投影向量可以通过以下公式获取:

SUM_REAL=FFT_L_REAL+FFT_R_REAL;

SUM_IMAG=FFT_L_IMAG+FFT_R_IMAG;

DIFF_REAL=FFT_L_REAL-FFT_R_REAL;

DIFF_IMAG=FFT_L_IMAG-FFT_R_IMAG;

SUM_SQ=SUM_REAL*SUM_REAL+SUM_IMAG*SUM_IMAG;

DIFF_SQ=DIFF_REAL*DIFF_REAL+DIFF_IMAG*DIFF_IMAG;

ALPHA=0.5–SQRT(DIFF_SQ/SUM_SQ)*0.5;

FFT_M_REAL=SUM_REAL*ALPHA;

FFT_M_IMAG=SUM_IMAG*ALPHA;

其中,FFT_L_REAL为FFT_L信号的实数部分,FFT_L_IMAG为FFT_L信号的虚数部分,FFT_L为第三音频信号,FFT_R为第四音频信号,SUM_REAL为FFT_L_REAL与FFT_R_REAL的和,SUM_IMAG为FFT_L_REAL与FFT_R_REAL的差,FFT_R_REAL为FFT_R信号的实数部分,FFT_R_IMAG为FFT_R信号的虚数部分,FFT_M_REAL为FFT_M信号的实数部分,FFT_M_IMAG为FFT_M信号的虚数部分,FFT_M为第四目标信号,SQRT为计算平方根,“+”表示标量加法,“-”表示标量减法,“*”表示标量乘法,“/”表示标量除法。

在一些可能的实施例中,上述投影向量的计算方法为对每一个音频采样信号的计算方法,且上一次音频采样的结果与下一次音频采样的结果没有依赖关系,因此上述获取投影向量的过程可使用NEON指令集进行加速,即,通过调用NEON指令集中的指令,来获取投影向量。每次至少可并行处理4个Float(一种32位单精度的数据类型)的音频采样信号。

步骤四、计算设备将第四目标信号变换至时域,得到第一目标信号。

在一些可能的实施例中,计算设备可以对第四目标信号进行逆实数快速傅里叶变换,得到第一目标信号。例如,可以使用FFTW3程序的FFTW_HC2R模式(该模式为逆实数快速FFT的模式),得到第一目标信号。

302、计算设备消除第一目标信号中的跳变信号。

在计算第一目标信号的过程中,由于将无限长的信号截断为有限长的短信号来进行分块FFT,截断的过程会导致第一目标信号的频谱出现能量泄漏(Leakage),使得第一目标信号的边界出现跳变信号(也称音频锯齿或音频信号跳变)。有鉴于此,可以消除第一目标信号中的跳变信号,得到消除了跳变信号的第一目标信号,以避免跳变信号对结果的影响。

在一些可能的实施例中,消除跳变信号的效果可以通过重叠相加的方式实现。也即是,可以对第一目标信号进行重叠相加,得到消除了跳变信号的第一目标信号。对第一目标信号进行重叠相加的过程可以使用Overlap-add(重叠相加)方法中的重叠相加部分实现。具体地,第一目标信号的数量可以为一个或多个,对于任一个第一目标信号,可以对该第一目标信号的前半部分与上一个第一目标信号中的后半部分相加,得到消除了跳变信号的第一目标信号。其中,由于使用了上一个第一目标信号与下一个第一目标信号进行相加,故称为重叠相加。

需要说明的一点是,虽然步骤302会使本实施例增加重叠相加的过程,但由于重叠相加的过程由加法运算组成,而不包括乘法运算,对于计算设备的处理器来说,加法运算所消耗的时间远远小于乘法运算所消耗的时间,因此即使增加重叠相加的过程,重叠相加所带来的运算开销也远远小于2次逆FFT的运算开销,也即是,即使执行步骤302,也可以解决相关技术中由于2次逆FFT而导致运算开销过大的问题,达到降低运算开销的效果。

在一些可能的实施例中,重叠相加的过程可使用NEON指令集进行加速,也即是,通过调用NEON指令集中的指令,对第一目标信号进行重叠相加。其中,每次至少可并行处理4个Float的第一目标信号。

303、计算设备获取第一音频信号与消除了跳变信号的第一目标信号之间的差,得到第二目标信号。

第二目标信号是左声道与右声道的差异信号,具体地,第二目标信号为左声道在时域上包括且右声道在时域上不包括的信号,即,左声道在时域上包括该第二目标信号,右声道在时域上不包括该第二目标信号。本步骤中,由于第一音频信号中没有跳变信号,而第一目标信号中的跳变信号已经通过重叠相加的过程被去除,因此第一音频信号与第一目标信号做差后,可以避免得到的第二目标信号中包括跳变信号。

304、计算设备获取第二音频信号与消除了跳变信号的第一目标信号之间的差,得到第三目标信号。

第三目标信号也是左声道与右声道的差异信号,具体地,该第三目标信号为右声道在时域上包括且左声道在时域上不包括的信号,即,右声道在时域上包括该第三目标信号,左声道在时域上不包括该第三目标信号。本步骤中,由于第二音频信号中没有跳变信号,而第一目标信号中的跳变信号已经通过重叠相加的过程被去除,因此第二音频信号与第一目标信号做差后,可以避免得到的第三目标信号中包括跳变信号。

示意性地,第二目标信号以及第三目标信号可以通过下式获取:

L_S=L-M_OUT;

R_S=R-M_OUT;

其中,“-”表示标量减法,L_S表示第二目标信号,R_S表示第三目标信号,L表示第一音频信号,R表示第二音频信号,M_OUT表示消除了跳变信号的第一目标信号。

在一些可能的实施例中,第一音频信号以及第二音频信号均可以包括多个音频采样信号,音频采样信号可以是PCM信号。第二目标信号以及第三目标信号的计算方法为对每一个音频采样信号的计算方法,且上一次音频采样的结果与下一次音频采样的结果没有依赖关系,因此上述获取第二目标信号以及第三目标信号的过程均可使用NEON指令集进行加速,每次至少可并行处理4个Float的音频采样信号。

通过执行步骤303,将左右声道的消除了跳变信号的相同信号与左声道的音频信号在时域上做减法,即可得到左声道的差异信号,因此节省了对左声道的差异信号进行逆FFT的过程;通过执行步骤304,将左右声道的消除了跳变信号的相同信号与右声道的音频信号在时域上做减法,即可得到右声道的差异信号,因此节省了对右声道的差异信号进行逆FFT的过程,由此可见,通过上述差异信号的获取过程,节省了2次逆FFT的过程,因此能够让运算量骤减,从而极大地降低了运算复杂度,提升了运算速度。

另外,相关技术中,在基于时域来获取差异信号时,会直接获取左声道在时域上的音频信号与右声道在时域上的音频信号之间的差,作为左右声道的差异信号,这样就会导致差异信号只有1个声道(S),丢失了声音的立体感。而通过上述方法,左声道的差异信号(即第二目标信号)以及右声道的差异信号(即第三目标信号)都可以得到,也即是,差异信号的两个声道都可以得到,因此可以保留差异信号的立体感,从而让声像隔离的效果更好。

需要说明的一点是,先执行步骤303再执行步骤304仅是示例,也可以先执行步骤304再执行步骤303,或者并行执行步骤303以及步骤304,本实施例对步骤303以及步骤304的时序不做限定。

305、计算设备输出消除了跳变信号的第一目标信号、消除了跳变信号的第二目标信号以及消除了跳变信号的第三目标信号。

示意性地,本实施例的具体流程可以包括以下步骤。

步骤1、使用缓存器来接收左声道的音频信号L和右声道的音频信号R。

步骤2、当缓存器内缓存的信号L和信号R的采样数量分别超过2048个时,从缓冲器里复制出2048个信号L和信号R,同时丢掉缓存器里前1024个信号L和信号R,剩余的1024个信号L和信号R继续放在缓存器里,并且缓存器继续缓存新的信号L和信号R。

需要说明的一点是,2048仅是一次计算所使用的音频信号中采样点数量的示意,采样点的数量也可以根据需求设置为其他数值,另外,本步骤中的采样数量表示一段时间内连续的PCM采样信号,分别超过2048表示累计缓存的信号L和累计缓存的信号R的数量均超过2048个。

需要说明的另一点是,对于本次使用的2048个信号中的剩余的后1024个信号来说,通过不丢弃这1024个信号,而是将这1024个信号继续缓存在缓存器,下一次计算时继续使用这1024个信号,使得下一次处理的信号的前半部分会和上一次处理的信号的后半部分相同,因此实现了重叠相加中的重叠。

应理解,下一次处理的信号的前半部分和上一次处理的信号的后半部分相同仅是举例说明,可选地,也可以下一次处理的信号的前三分之一和上一次处理的信号的后三分之一相同,或者下一次处理的信号的前预设比例和上一次处理的信号的后预设比例相同,本实施例在此不做限定。

步骤3、对2048个信号L以及2048个信号R进行RFFT,得到信号FFT_L和信号FFT_R。

其中,由于RFFT中,输出信号的长度为(输入信号的实数长度/2)+1),因此信号FFT_L和信号FFT_R的长度均为1025,也即是,信号FFT_L为1025个复数信号或1025个向量,信号FFT_R为1025个复数信号或1025个向量。

步骤4、计算信号FFT_L和信号FFT_R的向量投影,得到频域上的相同信号FFT_M。

其中,相同信号FFT_M的长度也是1025。

步骤5、对频域上的相同信号FFT_M做逆RFFT,得到时域上的相同信号M,M的长度为2048。

步骤6、从另一个缓存器(记为BUFFER_M)中取出1024个缓存的信号,命名为OVERLAP_M。

其中,BUFFER_M在初始状态下会缓存1024个0,0表示静音的PCM采样信号。

步骤7、计算M_OUT=M[0~1023]+OVERLAP_M[0~1023]。

其中,M_OUT表示消除了跳变信号的第一目标信号,[0~1023]表示从索引0到索引1023,共1024个数据。M_OUT[0]=M[0]+OVERLAP_M[0],M_OUT[1]=M[1]+OVERLAP_M[1],依次类推,M_OUT[1023]=M[1023]+OVERLAP_M[1023]。

通过步骤7,实现了重叠相加中的相加。

步骤8、将M[1024~2047]存入BUFFER_M。

通过步骤8,BUFFER_M缓存了信号M从索引1024到索引2047的数据,共1024个数据。

步骤9、使用步骤3中的长度为2048的信号L和信号R,

来计算第二目标信号L_S=L[0~1023]-M_OUT[0~1023]以及第三目标信号R_S=R[0~1023]-M_OUT[0~1023]。

步骤10、输出第一目标信号M_OUT、第二目标信号L_S以及第三目标信号R_S,这3个信号的长度都是1024。

对于1首歌曲来说,可以对这1首歌曲的每个左右声道的音频信号均采用上述方法处理,循环上述流程,直至整首歌曲被处理完毕。

从整体来看,上述流程免去了原本需要的对FFT_L_S(FFT_L与FFT_M的差,即左声道在频域上的信号与左右声道在频域上的相同信号之差)以及FFT_R_S(FFT_R与FFT_M的差,即右声道在频域上的信号与左右声道在频域上的相同信号之差)的逆FFT运算,取而代之的是引入了长度为FFT一半(上述示例中FFT长度为2048)的纯加法运算。对于计算机而言,加法的速度远远快于逆FFT中的乘法计算。因此本发明实施例对计算机的计算性能的要求降低非常可观。

在一些可能的实施例中,计算设备可以将第一目标信号作为人声音频输出,将第二目标信号以及第三目标信号作为伴奏音频输出,从而实现将音频中的人声信号与伴奏信号相分离的功能,根据人声信号以及伴奏信号,可以从音频中过滤掉人声,以便将剩余的伴奏提供给用户,或者可以从音频中过滤掉伴奏,以便将剩余的人声提供给用户。

需要说明的是,上述音频信号的处理方法中的每个步骤可以通过调用SIMD指令集中的指令执行。具体地,可以在计算设备的存储器中存储有SIMD指令集,该指令由该处理器可以从存储器加载SIMD指令集中的指令,执行SIMD指令集中的指令,以实现上述各个步骤。其中,SIMD指令集具体可以为SSE(

Streaming SIMD Extensions,流式单指令多数据流扩张)指令集、AVX(Advanced Vector Extensions,高级矢量扩展)指令集或者NEON指令集中的至少一项,可以根据计算设备的处理器架构,来选择与处理器架构匹配的SIMD指令集。

需要说明的是,本步骤仅是可选步骤,而非必选步骤,另外,可以仅是输出消除了跳变信号的第一目标信号、第二目标信号以及第三目标信号中的任意一项,或者消除了跳变信号的第一目标信号、第二目标信号以及第三目标信号中的任意两项,本实施例对计算设备的输出结果不做限定。

通过采用SIMD,可以对上述步骤涉及的密集数学运算进行加速,因此在通过节省2次逆FFT的运算量的基础上,额外的数量级的减少了运算开销,进一步提升了运算速度。

相关技术中,由于分离出相同信号与差异信号的运算复杂度高,计算速度慢,如果计算精度要求较高,则需要较长的FFT窗口长度,则导致运算量进一步加大。因此,如果由手机、平板等低性能的移动终端,来分离左右声道的相同信号与差异信号,会出现运算开销超荷、处理速度极慢的情况,导致移动终端几乎不可能进行实时的处理,因此相关技术的方法无法应用在移动终端上,应用范围狭窄。

而本实施例中,通过节省2次逆FFT的过程,使用SIMD指令集中的指令,以及采用RFFT来进行时频域变换,可以让运算复杂度骤减,大幅度提升计算速度,因此本实施例提供的方法,可以应用在手机、平板等低性能的移动终端上,移动终端通过执行本实施例提供的方法,也可以实时地分离出左右声道的相同信号与差异信号,从而扩展了移动终端的功能。

本实施例提供的方法,在实现图2实施例所达到的效果的基础上,通过进行一次重叠相加,即可避免第一目标信号、第二目标信号以及第三目标信号中出现跳变信号,防止跳变信号对输出结果的干扰。并且,由于重叠相加是纯加法运算,计算量远远小于包括乘法的逆FFT运算,因此通过减少两次逆FFT所减少的计算量会远大于一次重叠相加所增加的计算量,因此从整体来说,仍然可以达到极大地降低计算量的目的,提升运算速度。

图3实施例是以先消除第一目标信号中的跳变信号,再对左右两个声道的音频信号与第一目标信号分别做差为例进行描述,在另一些可能的实施例中,也可以先对左右两个声道的音频信号与第一目标信号分别做差,再消除跳变信号,详见下述图4实施例。

需要说明的是,图4实施例着重描述与图3实施例的区别之处,而与图3实施例同理的步骤还请参见图3实施例,在图4实施例中不做赘述。

图4是本发明实施例提供的一种音频信号的处理方法的流程图,该实施例以执行主体为计算设备为例进行说明,该计算设备在实施环境中可以实施为终端101或服务器102,该方法包括:

401、计算设备根据目标音频的第一音频信号与第二音频信号,获取第一目标信号。

402、计算设备获取第一音频信号与该第一目标信号之间的差,得到第二目标信号。

403、计算设备获取第二音频信号与该第一目标信号之间的差,得到第三目标信号。

示意性地,第二目标信号以及第三目标信号可以通过下式获取:

L_S=L-M;

R_S=R-M;

其中,“-”表示标量减法,L_S表示第二目标信号,R_S表示第三目标信号,L表示第一音频信号,R表示第二音频信号,M表示第一目标信号。

通过执行步骤402,将左右声道的相同信号与左声道的音频信号在时域上做减法,即可得到左声道的差异信号,因此节省了对左声道的差异信号进行逆FFT的过程;通过执行步骤403,将左右声道的相同信号与右声道的音频信号在时域上做减法,即可得到右声道的差异信号,因此节省了对右声道的差异信号进行逆FFT的过程,由此可见,通过上述差异信号的获取过程,节省了2次逆FFT的过程,因此能够让运算量骤减,从而极大地降低了运算复杂度,提升了运算速度。

404、计算设备消除第一目标信号中的跳变信号。

405、计算设备消除第二目标信号中的跳变信号。

406、计算设备消除第三目标信号中的跳变信号。

第一目标信号可能会由于信号截断而产生跳变信号,导致第一音频信号与第一目标信号在时域上做差后,得到的第二目标信号也出现跳变信号,第二音频信号与第一目标信号在时域上做差后,得到的第三目标信号也出现跳变信号。有鉴于此,可以消除第二目标信号中的跳变信号,来避免跳变信号对第二目标信号的干扰,可以消除第三目标信号中的跳变信号,来避免跳变信号对第三目标信号的影响,消除该第一目标信号中的跳变信号,来避免跳变信号对第一目标信号的影响。

在一些可能的实施例中,消除跳变信号的效果可以通过重叠相加(Overlap-add)的方式实现。也即是,可以对第一目标信号进行重叠相加,得到消除了跳变信号的第一目标信号;可以对第二目标信号进行重叠相加,得到消除了跳变信号的第二目标信号;可以对第三目标信号进行重叠相加,得到消除了跳变信号的第三目标信号。其中,重叠相加的具体过程详见上述图3实施例,在此不做赘述。

需要说明的一点是,虽然步骤404至步骤406会使本实施例增加3次重叠相加的过程,但由于重叠相加的过程只包括加法运算,而没有乘法运算,对于现代CPU来说,加法运算所消耗的时间远远小于乘法运算所消耗的时间,因此即使增加3次重叠相加的过程,3次重叠相加所带来的运算开销也远远小于2次逆FFT的运算开销,也即是,即使执行步骤404至步骤406,也可以解决相关技术中由于2次逆FFT而导致运算开销过大的问题,达到降低运算开销的效果。

需要说明的另一点是,先执行步骤404,再执行步骤405,再执行步骤406仅是示意,在另一些可能的实施例中,也可以先执行步骤405,再执行步骤404,再执行步骤406,或者,先执行步骤406,再执行步骤405,再执行步骤404,或者,并行执行步骤404、步骤405以及步骤406,本实施例不对步骤404、步骤405以及步骤406的执行顺序进行限定。

407、计算设备输出消除了跳变信号的第一目标信号、消除了跳变信号的第二目标信号以及消除了跳变信号的第三目标信号。

需要说明的是,上述音频信号的处理方法中的每个步骤可以通过调用SIMD指令集中的指令执行。具体地,可以在计算设备的存储器中存储有SIMD指令集,该指令由该处理器可以从存储器加载SIMD指令集中的指令,执行SIMD指令集中的指令,以实现上述各个步骤。其中,SIMD指令集具体可以为SSE指令集、AVX指令集或者NEON指令集中的至少一项,可以根据计算设备的处理器架构,来选择与处理器架构匹配的SIMD指令集。

本实施例提供的方法,在实现图2实施例所达到的效果的基础上,通过进行三次重叠相加,即可避免第一目标信号、第二目标信号以及第三目标信号中出现跳变信号,防止跳变信号对输出结果的干扰。并且,由于重叠相加是纯加法运算,计算量远远小于包括乘法的逆FFT运算,因此通过减少两次逆FFT所减少的计算量会远大于三次重叠相加所增加的计算量,因此从整体来说,仍然可以达到极大地降低计算量的目的,提升运算速度。

图5是本发明实施例提供的一种音频信号的处理装置的结构示意图,参见图5,该装置包括:

第一获取模块501,用于根据目标音频的第一音频信号与第二音频信号,获取第一目标信号,该第一音频信号为该目标音频的左声道在时域上的信号,该第二音频信号为该目标音频的右声道在时域上的信号,该第一目标信号为左声道与右声道在时域上的相同信号;

第二获取模块502,用于获取该第一音频信号与该第一目标信号之间的差,得到第二目标信号,该第二目标信号为左声道在时域上包括且右声道在时域上不包括的信号;

第三获取模块503,用于获取该第二音频信号与该第一目标信号之间的差,得到第三目标信号,该第三目标信号为右声道在时域上包括且左声道在时域上不包括的信号。

本实施例提供的装置,通过将左右声道的音频信号与相同信号在时域上分别做差,来得到左右声道之间的差异信号,由于省去了对左声道在频域上的差异信号进行逆FFT的过程,并省去了对右声道在频域上的差异信号进行逆FFT过程,因此可以极大地降低计算量,提升运算速度。尤其是,能够应用在手机、平板电脑等低性能的移动终端上,从而让移动终端也可以执行本实施例,来实时地分离出左右声道的相同信号与差异信号,从而极大地扩展了移动终端的性能。

在一种可能的实现中,该装置还包括:消除模块,用于消除该第一目标信号中的跳变信号;

该第一获取模块501,用于获取该第一音频信号与消除了跳变信号的第一目标信号之间的差,得到该第二目标信号;

该第二获取模块502,用于获取该第二音频信号与消除了跳变信号的第一目标信号之间的差,得到该第三目标信号。

在一种可能的实现中,该消除模块,具体用于对该第一目标信号进行重叠相加,得到消除了跳变信号的第一目标信号。

在一种可能的实现中,该装置还包括:

消除模块,用于消除该第一目标信号中的跳变信号;消除该第二目标信号中的跳变信号;消除该第三目标信号中的跳变信号。

在一种可能的实现中,该消除模块,具体用于对该第一目标信号进行重叠相加,得到消除了跳变信号的第一目标信号;对该第二目标信号进行重叠相加,得到消除了跳变信号的第二目标信号;对该第三目标信号进行重叠相加,得到消除了跳变信号的第三目标信号。

在一种可能的实现中,该第一获取模块501,包括:

变换子模块,用于将该第一音频信号变换至频域,得到第三音频信号;

该变换子模块,还用于将该第二音频信号变换至频域,得到第四音频信号;

获取子模块,用于根据该第三音频信号以及该第四音频信号,获取第四目标信号,该第四目标信号为左声道与右声道在频域上的相同信号;

该变换子模块,还用于将该第四目标信号变换至时域,得到该第一目标信号。

在一种可能的实现中,该变换子模块,具体用于对该第一音频信号进行实数快速傅里叶变换;对该第二音频信号进行实数快速傅里叶变换;对该第四目标信号进行逆实数快速傅里叶变换。

在一种可能的实现中,该装置中的每个模块通过调用单指令多数据流SIMD指令集中的指令执行。

需要说明的是:上述实施例提供的音频信号的处理装置在处理音频信号时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将计算设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的音频信号的处理装置与音频信号的处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本发明实施例所提供的方法可以实施于计算设备,该计算设备可以实施为终端,例如,图6示出了本发明一个示例性实施例提供的终端600的结构框图。该终端600可以是:智能手机、平板电脑、MP3播放器、MP4播放器、笔记本电脑或台式电脑。终端600还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。

通常,终端600包括:处理器601和存储器602。

处理器601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器601可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器601可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器601还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。

存储器602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器602中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器601所执行以实现本发明中方法实施例提供的音频信号的处理方法。

在一些实施例中,终端600还可选包括有:外围设备接口603和至少一个外围设备。处理器601、存储器602和外围设备接口603之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口603相连。具体地,外围设备包括:射频电路604、显示屏605、摄像头组件606、音频电路607、定位组件608和电源609中的至少一种。

外围设备接口603可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器601和存储器602。在一些实施例中,处理器601、存储器602和外围设备接口603被集成在同一芯片或电路板上;在一些其他实施例中,处理器601、存储器602和外围设备接口603中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。

射频电路604用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路604通过电磁信号与通信网络以及其他通信设备进行通信。射频电路604将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路604包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路604可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路604还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本发明对此不加以限定。

显示屏605用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏605是触摸显示屏时,显示屏605还具有采集在显示屏605的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器601进行处理。此时,显示屏605还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏605可以为一个,设置终端600的前面板;在另一些实施例中,显示屏605可以为至少两个,分别设置在终端600的不同表面或呈折叠设计;在再一些实施例中,显示屏605可以是柔性显示屏,设置在终端600的弯曲表面上或折叠面上。甚至,显示屏605还可以设置成非矩形的不规则图形,也即异形屏。显示屏605可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。

摄像头组件606用于采集图像或视频。可选地,摄像头组件606包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件606还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。

音频电路607可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器601进行处理,或者输入至射频电路604以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端600的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器601或射频电路604的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路607还可以包括耳机插孔。

定位组件608用于定位终端600的当前地理位置,以实现导航或LBS(Location Based Service,基于位置的服务)。定位组件608可以是基于美国的GPS(Global Positioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。

电源609用于为终端600中的各个组件进行供电。电源609可以是交流电、直流电、一次性电池或可充电电池。当电源609包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。

在一些实施例中,终端600还包括有一个或多个传感器610。该一个或多个传感器610包括但不限于:加速度传感器611、陀螺仪传感器612、压力传感器613、指纹传感器614、光学传感器615以及接近传感器616。

加速度传感器611可以检测以终端600建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器611可以用于检测重力加速度在三个坐标轴上的分量。处理器601可以根据加速度传感器611采集的重力加速度信号,控制触摸显示屏605以横向视图或纵向视图进行用户界面的显示。加速度传感器611还可以用于游戏或者用户的运动数据的采集。

陀螺仪传感器612可以检测终端600的机体方向及转动角度,陀螺仪传感器612可以与加速度传感器611协同采集用户对终端600的3D动作。处理器601根据陀螺仪传感器612采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。

压力传感器613可以设置在终端600的侧边框和/或显示屏605的下层。当压力传感器613设置在终端600的侧边框时,可以检测用户对终端600的握持信号,由处理器601根据压力传感器613采集的握持信号进行左右手识别或快捷操作。当压力传感器613设置在显示屏605的下层时,由处理器601根据用户对显示屏605的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。

指纹传感器614用于采集用户的指纹,由处理器601根据指纹传感器614采集到的指纹识别用户的身份,或者,由指纹传感器614根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器601授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器614可以被设置终端600的正面、背面或侧面。当终端600上设置有物理按键或厂商Logo时,指纹传感器614可以与物理按键或厂商Logo集成在一起。

光学传感器615用于采集环境光强度。在一个实施例中,处理器601可以根据光学传感器615采集的环境光强度,控制显示屏605的显示亮度。具体地,当环境光强度较高时,调高显示屏605的显示亮度;当环境光强度较低时,调低显示屏605的显示亮度。在另一个实施例中,处理器601还可以根据光学传感器615采集的环境光强度,动态调整摄像头组件606的拍摄参数。

接近传感器616,也称距离传感器,通常设置在终端600的前面板。接近传感器616用于采集用户与终端600的正面之间的距离。在一个实施例中,当接近传感器616检测到用户与终端600的正面之间的距离逐渐变小时,由处理器601控制显示屏605从亮屏状态切换为息屏状态;当接近传感器616检测到用户与终端600的正面之间的距离逐渐变大时,由处理器601控制触摸显示屏605从息屏状态切换为亮屏状态。

本领域技术人员可以理解,图6中示出的结构并不构成对终端600的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

本发明实施例所提供的方法可以实施于计算设备,该计算设备可以实施为服务器,例如,图7是本发明实施例提供的一种服务器的结构示意图,该服务器700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)701和一个或一个以上的存储器702,其中,该存储器702中存储有至少一条指令,该至少一条指令由该处理器701加载并执行以实现上述各个方法实施例提供的音频信号的处理方法。当然,该服务器还可以具有有线或无线网络接口以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。

在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由计算设备中的处理器执行以完成上述各个实施例中的音频信号的处理方法。该计算机可读存储介质可以是非暂态的。例如,该计算机可读存储介质可以是只读存储器(Read-Only Memory,简称:ROM)、随机存取存储器(Random Access Memory,简称:RAM)、只读光盘(Compact Disc Read-Only Memory,简称:CD-ROM)、磁带、软盘和光数据存储设备等。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:

1.一种音频信号的处理方法,其特征在于,所述方法包括:

根据目标音频的第一音频信号与第二音频信号,获取第一目标信号,所述第一音频信号为所述目标音频的左声道在时域上的信号,所述第二音频信号为所述目标音频的右声道在时域上的信号,所述第一目标信号为左声道与右声道在时域上的相同信号;

获取所述第一音频信号与所述第一目标信号之间的差,得到第二目标信号,所述第二目标信号为左声道在时域上包括且右声道在时域上不包括的信号;

获取所述第二音频信号与所述第一目标信号之间的差,得到第三目标信号,所述第三目标信号为右声道在时域上包括且左声道在时域上不包括的信号。

2.根据权利要求1所述的方法,其特征在于,

所述根据目标音频的第一音频信号与第二音频信号,获取第一目标信号之后,所述方法还包括:消除所述第一目标信号中的跳变信号;

所述获取所述第一音频信号与所述第一目标信号之间的差,得到第二目标信号,包括:获取所述第一音频信号与消除了跳变信号的第一目标信号之间的差,得到所述第二目标信号;

所述获取所述第二音频信号与所述第一目标信号之间的差,得到第三目标信号,包括:获取所述第二音频信号与消除了跳变信号的第一目标信号之间的差,得到所述第三目标信号。

3.根据权利要求2所述的方法,其特征在于,所述消除所述第一目标信号中的跳变信号,包括:

对所述第一目标信号进行重叠相加,得到消除了跳变信号的第一目标信号。

4.根据权利要求1所述的方法,其特征在于,所述获取所述第二音频信号与所述第一目标信号之间的差,得到第三目标信号之后,所述方法还包括:

消除所述第一目标信号中的跳变信号;

消除所述第二目标信号中的跳变信号;

消除所述第三目标信号中的跳变信号。

5.根据权利要求4所述的方法,其特征在于,

所述消除所述第一目标信号中的跳变信号,包括:

对所述第一目标信号进行重叠相加,得到消除了跳变信号的第一目标信号;

所述消除所述第二目标信号中的跳变信号,包括:

对所述第二目标信号进行重叠相加,得到消除了跳变信号的第二目标信号;

所述消除所述第三目标信号中的跳变信号,包括:

对所述第三目标信号进行重叠相加,得到消除了跳变信号的第三目标信号。

6.根据权利要求1所述的方法,其特征在于,所述根据目标音频的第一音频信号与第二音频信号,获取第一目标信号,包括:

将所述第一音频信号变换至频域,得到第三音频信号;

将所述第二音频信号变换至频域,得到第四音频信号;

根据所述第三音频信号以及所述第四音频信号,获取第四目标信号,所述第四目标信号为左声道与右声道在频域上的相同信号;

将所述第四目标信号变换至时域,得到所述第一目标信号。

7.根据权利要求6所述的方法,其特征在于,

所述将所述第一音频信号变换至频域,包括:

对所述第一音频信号进行实数快速傅里叶变换;

所述将所述第二音频信号变换至频域,包括:

对所述第二音频信号进行实数快速傅里叶变换;

所述将所述第四目标信号变换至时域,包括:

对所述第四目标信号进行逆实数快速傅里叶变换。

8.根据权利要求1至7中任一项所述的方法,其特征在于,所述方法中的每个步骤通过调用单指令多数据流SIMD指令集中的指令执行。

9.一种音频信号的处理装置,其特征在于,所述装置包括:

第一获取模块,用于根据目标音频的第一音频信号与第二音频信号,获取第一目标信号,所述第一音频信号为所述目标音频的左声道在时域上的信号,所述第二音频信号为所述目标音频的右声道在时域上的信号,所述第一目标信号为左声道与右声道在时域上的相同信号;

第二获取模块,用于获取所述第一音频信号与所述第一目标信号之间的差,得到第二目标信号,所述第二目标信号为左声道在时域上包括且右声道在时域上不包括的信号;

第三获取模块,用于获取所述第二音频信号与所述第一目标信号之间的差,得到第三目标信号,所述第三目标信号为右声道在时域上包括且左声道在时域上不包括的信号。

10.一种计算设备,其特征在于,所述计算设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如权利要求1至权利要求8任一项所述的音频信号的处理方法。

11.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1至权利要求8任一项所述的音频信号的处理方法。

技术总结

本发明公开了一种音频信号的处理方法、装置、计算设备及存储介质,属于信号处理领域。本发明通过将左右声道的音频信号与相同信号在时域上分别做差,来得到左右声道之间的差异信号,可以省去对左声道在频域上的差异信号进行逆FFT的过程,并省去对右声道在频域上的差异信号进行逆FFT过程,因此可以极大地降低计算量,提升运算速度。尤其是,通过减少两次逆FFT的运算量,能够应用在手机、平板电脑等低性能的移动终端上,从而让移动终端也可以执行本实施例,来实时地分离出左右声道的相同信号与差异信号,从而极大地扩展了移动终端的性能。

技术研发人员:刘佳泽;王宇飞

受保护的技术使用者:广州酷狗计算机科技有限公司

技术研发日:.06.18

技术公布日:.09.13

如果觉得《音频信号的处理方法 装置 计算设备及存储介质与流程》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。