HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

一种回声消除方法和装置与流程

2021-01-28 15:01:44|250|起点商标网
一种回声消除方法和装置与流程

本发明涉及车辆技术领域,特别是涉及一种回声消除方法和一种回声消除装置。



背景技术:

在多媒体领域,回声消除系统(acousticechocancellation,aec)得到了广泛的应用,其主要用于具有上下行音频数据流的使用场景,例如终端通话、语音识别、多麦克阵列智能音响等。在上述场景中,拾音系统往往会由于音乐以及背景噪声的干扰,导致用户的语音很难被系统获取,这是因为麦克风接收到的不仅仅可以包含用户的语音信号,还可以包含音乐和背景噪声,这里的音乐称之为回声,音乐以及背景噪声传送到麦克的路径称之为声学路径(acousticpath)。

此时可以采用aec系统对麦克风通过声学路径接收到的回声进行消除,主要是通过对上行信号以及下行参考信号做算法处理,并将上行信号中的回声部分进行消除,从而得到干净的上行信号;算法的实现可以通过软件实现,也可以通过硬件dsp(digitalsignalprocessor,数字信号处理器)实现。

其中,在软件实现消除算法的方案中,需要将上行信号以及参考信号直接通过i2s总线(inter—icsound,集成电路内置音频总线)传输到soc(systemonchip,系统级芯片,相当于一个微小型系统)进行aec算法的处理,但在一些系统资源比较有限的soc中其i2s资源也比较紧张,且由于两路i2s数据(即上行信号以及参考信号)分别通过两路i2s总线传输至soc系统进行算法处理,难以保证两路i2s数据的同步。



技术实现要素:

鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种回声消除方法和相应的一种回声消除装置。

为了解决上述问题,本发明实施例公开了一种回声消除方法,应用于回声消除系统,所述回声消除系统包括上行信号输入接口、参考信号输入接口、数据合并模块以及用于执行回声消除算法的处理系统,所述数据合并模块与所述处理系统通过音频总线连接,所述方法包括:

获取上行信号以及参考信号,并通过所述上行信号输入接口向所述数据合并模块传输所述上行信号,以及通过所述参考信号输入接口向所述数据合并模块传输所述参考信号;所述上行信号包括上行数据左声道以及上行数据右声道;所述参考信号包括参考数据左声道以及参考数据右声道;

通过所述数据合并模块将所述上行数据左声道与所述参考数据左声道进行合并得到目标左声道数据,以及将所述上行数据右声道与所述参考数据右声道进行合并得到目标右声道数据;

通过单路音频总线向所述处理系统传输所述目标左声道数据以及所述目标右声道数据,以使所述处理系统进行回声消除处理。

可选地,所述数据合并模块具有用于执行合并数据的预设程序;所述通过所述数据合并模块将所述上行数据左声道与所述参考数据左声道进行合并得到目标左声道数据,以及将所述上行数据右声道与所述参考数据右声道进行合并得到目标右声道数据,包括:

通过所述数据合并模块执行所述预设程序,对所述上行数据左声道与所述参考数据左声道进行合并,得到目标左声道数据;

以及通过所述数据合并模块执行所述预设程序,对所述上行数据右声道与所述参考右声道进行合并,得到目标右声道数据。

可选地,所述通过所述数据合并模块执行所述预设程序,对所述上行数据左声道与所述参考数据左声道进行合并,得到目标左声道数据,包括:

将所述上行数据左声道作为所述目标左声道数据的高位数据,以及将所述参考数据左声道作为所述目标左声道数据的低位数据。

可选地,所述通过所述数据合并模块执行所述预设程序,对所述上行数据右声道与所述参考数据右声道进行合并,得到目标右声道数据,包括:

将所述上行数据右声道作为所述目标右声道数据的高位数据,以及将所述参考数据右声道作为所述目标右声道数据的低位数据。

可选地,所述处理系统具有预置的单个数据获取线程;在所述通过单路音频总线向所述处理系统传输所述目标左声道数据以及所述目标右声道数据之后,还包括:

采用所述单个数据获取线程接收所述目标左声道数据以及所述目标右声道数据,并将所述目标左声道数据以及所述目标右声道数据进行缓存;

通过所述处理系统对缓存的所述目标左声道数据以及所述目标右声道数据进行回声消除处理。

可选地,所述通过所述处理系统对缓存的所述目标左声道数据以及所述目标右声道数据进行回声消除处理,包括:

对缓存的所述目标左声道数据以及所述目标右声道数据分别进行移位操作得到与所述上行信号对应的上行数据,以及与所述参考信号对应的参考数据;

通过所述处理系统对所述上行数据以及所述参考数据进行回声消除处理。

本发明实施例还公开了一种回声消除装置,应用于回声消除系统,所述回声消除系统包括上行信号输入接口、参考信号输入接口、数据合并模块以及用于执行回声消除算法的处理系统,所述数据合并模块与所述处理系统通过音频总线连接,所述装置包括:

信号传输模块,用于获取上行信号以及参考信号,并通过所述上行信号输入接口向所述数据合并模块传输所述上行信号,通过所述参考信号输入接口向所述数据合并模块传输所述参考信号;所述上行信号包括上行数据左声道以及上行数据右声道;所述参考信号包括参考数据左声道以及参考数据右声道;

目标声道数据生成模块,用于通过所述数据合并模块将所述上行数据左声道与所述参考数据左声道进行合并得到目标左声道数据,以及将所述上行数据右声道与所述参考数据右声道进行合并得到目标右声道数据;

数据传输模块,用于通过单路音频总线向所述处理系统传输所述目标左声道数据以及所述目标右声道数据,以使所述处理系统进行回声消除处理。

可选地,所述数据合并模块具有用于执行合并数据的预设程序,所述目标声道数据生成模块包括:

目标左声道数据生成子模块,用于通过所述数据合并模块执行所述预设程序,对所述上行数据左声道与所述参考数据左声道进行合并,得到目标左声道数据;

目标右声道数据生成子模块,用于通过所述数据合并模块执行所述预设程序,对所述上行数据右声道与所述参考数据右声道进行合并,得到目标右声道数据。

可选地,所述目标左声道数据生成子模块包括:

目标左声道数据生成单元,用于将所述上行数据左声道作为所述目标左声道数据的高位数据,以及将所述参考数据左声道作为所述目标左声道数据的低位数据。

可选地,所述目标右声道数据生成子模块包括:

目标右声道数据生成单元,用于将所述上行数据右声道作为所述目标右声道数据的高位数据,以及将所述参考数据右声道作为所述目标右声道数据的低位数据。

可选地,所述处理系统具有预置的单个数据获取线程;在所述通过单路音频总线向所述处理系统传输所述目标左声道数据以及所述目标右声道数据之后,还包括:

数据缓存模块,用于采用所述单个数据获取线程接收所述目标左声道数据以及所述目标右声道数据,并将所述目标左声道数据以及所述目标右声道数据进行缓存;

回声消除处理模块,用于通过所述处理系统对缓存的所述目标左声道数据以及所述目标右声道数据进行回声消除处理。

可选地,所述回声消除处理模块包括:

数据获取子模块,用于对缓存的所述目标左声道数据以及所述目标右声道数据分别进行移位操作得到与所述上行信号对应的上行数据,以及与所述参考信号对应的参考数据;

回声消除处理子模块,用于通过所述处理系统对所述上行数据以及所述参考数据进行回声消除处理。

本发明实施例还公开了一种车辆,包括:所述回声消除装置、处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现任一项所述回声消除方法的步骤。

本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现任一项所述回声消除方法的步骤。

本发明实施例包括以下优点:

在本发明实施例中,通过上行信号输入接口向数据合并模块传输上行信号,以及通过参考信号输入接口向数据合并模块传输参考信号,以便通过数据合并模块将上行信号中的上行数据左声道与参考信号中的参考数据左声道合并得到目标左声道数据,以及将上行信号中的上行数据右声道与参考信号中的参考数据右声道合并得到目标右声道数据,最后通过单路音频总线向处理系统发送合并后的目标左声道数据以及目标右声道数据,以使处理系统进行回声消除处理。通过单路音频总线对合并后的目标左声道数据以及目标右声道数据进行传输,即通过单路音频总线实现对上行信号和参考信号一共四声道数据的传输,保证在i2s资源有限的情况下实现对声道数据的传输。

附图说明

图1是现有技术中的一种软件回声消除系统的结构框图;

图2是现有技术中的一种硬件回声消除系统的结构框图;

图3是本发明的一种回声消除方法实施例一的步骤流程图;

图4是本发明实施例中的一种回声消除系统的结构框图;

图5是本发明的一种回声消除方法实施例二的步骤流程图;

图6是本发明实施例中的一种目标声道数据的示意图;

图7是本发明实施例中的一种针对目标声道数据进行重采样的示意图;

图8是现有技术中一种上行信号以及参考信号的处理流程图;

图9是本发明实施例中的一种数据不同步的示意图;

图10是本发明实施例中的一种数据同步的示意图;

图11是本实施例中的一种上行信号以及参考信号的处理流程图;

图12是本发明的一种回声消除装置实施例的结构框图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

在具有上下行音频数据流的使用场景中,由于拾音系统往往会由于音乐以及背景噪声的干扰,导致麦克风接收到的不仅仅包含用户的语音信号还包含音乐和背景噪声,这里的音乐可以称之为回声。

在实际的应用中,由于回声消除不干净,采用语音识别引擎进行语音识别后得到的数据可能包括回声信号。例如在如下场景中,车载系统发出语音“电话来了,要接听,还是拒绝?”,此时,由于回声消除不干净,“接听”和/或“拒绝”可能存在通过声学路径被拾音,并通过micin通路进行传输至语音识别引擎,且将数据中的“接听”或者“拒绝”错误判断为用户指令,从而接听或者挂掉电话。然而,语音识别引擎所识别得到的“接听”或者“拒绝”属于回声信号,并不是用户自己所说的话,也并非是用户的真实想法,而是语音引擎的误判。

此时可以采用aec系统(即回声消除系统)对麦克风通过声学路径接收到的回声采用算法进行消除,算法的实现可以通过软件实现,也可以通过硬件dsp实现。

其中,通过软件实现消除算法以消除回声,参照图1,示出了现有技术中的一种软件回声消除系统的结构框图,该软件回声消除系统可以由soc系统、micin(麦克风输入接口,也为上行信号输入接口)、refin(参考信号输入接口)、回声消除算法(aecip)组成。

由图1可知,下行数据在经过soc系统的dataout(数据输出接口)输出之后,会经mix(混音)、vol以及eq(均衡器)等非线性处理,以及经由dac(信号转换器,用于将数字信号转换成模拟信号)解码后变成模拟信号,以推动喇叭输出,上述过程可以称之为整个回声消除系统的downlinkpath(下行路径);麦克风信号可以进行adc采样、ssrc(重采样处理,由于接收方和发送方的采样率不同,可能需要进行重采样)处理之后传输到soc系统,上述过程可以称之为系统的uplinkpath(上行路径);其中,经由喇叭出来的声音有一部分会直接进入到麦克风,被麦克风接收,这是系统的声学路径(acousticpath),以及经由eq处理之后的数据可以经过ssrc到soc,可以作为系统的参考信号路径。一般而言,从麦克风进去的声音可以包含所需的正常信号,比如人的说话声音(通话的声音,语音识别用户说的关键字等),也可以包含声学路径过来的声音,比如说此时正在播放的音乐和背景噪声,此时可以分别通过i2s1音频总线以及i2s2音频总线将上行信号以及参考信号传输至soc系统,并通过soc系统中的aecip软件算法消除掉回声信号,从而得到干净的上行信号,具体的,可以通过运行在soc上用于进行aec回声消除处理的程序实现。

通过硬件dsp实现算法以消除回声,此时可以通过专用的dsp芯片(例如,aecdsp)来处理,参照图2,示出了现有技术中的一种硬件回声消除系统的结构框图,与软件回声消除系统不同的是,aecdsp可以直接接收经由micin传输的上行信号以及经由refin传输的参考信号,然后通过dsp内部进行算法处理实现消除回声,最后再将算法处理之后得到的上行信号数据通过i2s1音频总线传输给soc系统进行后级处理,比如说通过网络发给云端进行语音识别等。

然而,在软件回声消除系统中,上行信号以及参考信号这两路都需要直接通过i2s音频总线传输到soc系统以进行aec算法的处理,但在一些系统资源比较有限的soc系统,例如i2s资源比较紧张的系统往往并不能满足这一要求;且由于分别通过两路i2s音频总线对数据进来传输,在进行aec算法处理时,分别进行传输的数据可能存在数据不同步的现象,即若i2s1以及i2s2音频总线传输的数据并不是同一个时间点的数据,那么此时aec算法所实现的回声消除效果较差。

对于硬件回声消除系统而言,其对于soc系统来说只需要一路i2s音频总线,但需要采用专用的dsp芯片以用于进行回声消除处理,成本较高,且当开发后期需要对dsp固件进行升级时,该硬件回声消除系统不便使用ota方式进行升级。

基于上述问题,本发明实施例的核心思想之一是通过单路音频总线对合并后的目标左声道数据以及目标右声道数据进行传输,即通过单路音频总线实现对上行信号和参考信号一共四声道数据的传输,保证在i2s资源有限的情况下实现对声道数据的传输以及声道数据的同步,以在通过aec算法处理后实现较好的回声消除效果。

参照图3,示出了本发明的一种回声消除方法实施例一的步骤流程图,应用于回声消除系统,具体可以包括如下步骤:

步骤301,获取上行信号以及参考信号,并通过上行信号输入接口向数据合并模块传输上行信号,以及通过参考信号输入接口向数据合并模块传输参考信号;所述上行信号包括上行数据左声道以及上行数据右声道;所述参考信号包括参考数据左声道以及参考数据右声道;

在本发明的一种实施例中,可以获取上行信号以及参考信号,上行信号可以包括由麦克风接收的所需的正常信号(例如人的说话声音),以及接收经由声学路径传输的回声,参考信号指的是下行数据经由mix、vol以及eq(均衡器)等非线性处理之后的信号。此时可以通过上行信号输入接口向数据合并模块传输上行信号,以及通过参考信号输入接口向数据合并模块传输参考信号,以便数据合并模块对上行信号以及参考信号进行数据合并处理。

具体的,参照图4,示出了本发明实施例中的一种回声消除系统的结构框图,回声消除系统可以包括上行信号输入接口(micin)、参考信号输入接口(refin)、数据合并模块(module)以及用于执行回声消除算法的处理系统(soc系统);其中,数据合并模块可以实现将通过micin传输的上行信号以及通过refin传输的参考信号,该两路i2s数据进行数据合并以得到一路i2s数据,且可以通过音频总线对数据合并模块与处理系统之间建立连接。

步骤302,通过所述数据合并模块将所述上行数据左声道与所述参考数据左声道进行合并得到目标左声道数据,以及将所述上行数据右声道与所述参考数据右声道进行合并得到目标右声道数据;

在实际应用中,数据合并模块在接收到上行信号以及参考信号之后,可以从上行信号提取得到上行数据左声道以及上行数据右声道,以及从参考信号提取参考数据左声道以及参考数据右声道,并将上行数据左声道与参考数据左声道进行合并得到目标左声道数据,以及将上行数据右声道与参考数据右声道进行合并得到目标右声道数据,以便对上行信号以及参考信号中的四声道数据合并为两声道数据。

步骤303,通过所述单路音频总线向所述处理系统传输所述目标左声道数据以及所述目标右声道数据,以使所述处理系统进行回声消除处理。

在本发明的一种实施例中,一路i2s音频总线只允许传输两声道数据,通过分别对上行数据左声道与参考数据左声道,以及上行数据右声道与参考数据右声道这四声道数据进行合并为两声道数据,以实现通过单路音频总线向处理系统传输合并后为两声道的目标左声道数据以及目标右声道数据,以使处理系统在接收到传输的声道数据后进行回声消除处理。

在本发明实施例中,通过上行信号输入接口向数据合并模块传输上行信号,以及通过参考信号输入接口向数据合并模块传输参考信号,以便通过数据合并模块将上行信号中的上行数据左声道与参考信号中的参考数据左声道合并得到目标左声道数据,以及将上行信号中的上行数据右声道与参考信号中的参考数据右声道合并得到目标右声道数据,最后通过单路音频总线向处理系统发送合并后的目标左声道数据以及目标右声道数据,以使处理系统进行回声消除处理。通过单路音频总线对合并后的目标左声道数据以及目标右声道数据进行传输,即通过单路音频总线实现对上行信号和参考信号一共四声道数据的传输,保证在i2s资源有限的情况下实现对声道数据的传输。

参照图5,示出了本发明的一种回声消除方法实施例二的步骤流程图,应用于回声消除系统,所述回声消除系统包括上行信号输入接口、参考信号输入接口、数据合并模块以及用于执行回声消除算法的处理系统,所述数据合并模块与所述处理系统通过音频总线连接,具体可以包括如下步骤:

步骤501,通过上行信号输入接口向所述数据合并模块传输上行数据左声道以及上行数据右声道,以及通过参考信号输入接口向所述数据合并模块传输参考数据左声道以及参考数据右声道;

在本发明的一种实施例中,可以获取上行信号以及参考信号,上行信号可以包括由麦克风接收的所需的正常信号(例如人说话的声音),以及接收经由声学路径传输的回声,参考信号指的是下行数据经由mix、vol以及eq(均衡器)等非线性处理之后的信号。此时可以通过上行信号输入接口向数据合并模块传输上行信号,以及通过参考信号输入接口向数据合并模块传输参考信号,以便数据合并模块对上行信号以及参考信号进行数据合并处理。

步骤502,通过数据合并模块得到目标左声道数据以及目标右声道数据;

在实际应用中,数据合并模块在接收到上行信号以及参考信号之后,可以从上行信号提取得到上行数据左声道以及上行数据右声道,以及从参考信号提取参考数据左声道以及参考数据右声道,并将上行数据左声道与参考数据左声道进行合并得到目标左声道数据,以及将上行数据右声道与参考右声道进行合并得到目标右声道数据,以便对上行信号以及参考信号中的四声道数据合并为两声道数据。

在本发明的一种实施例中,所述数据合并模块具有用于执行合并数据的预设程序;步骤502可以包括如下子步骤:

子步骤s11,通过所述数据合并模块执行所述预设程序,对所述上行数据左声道与所述参考数据左声道进行合并,得到目标左声道数据;

在本发明的一种实施例中,子步骤s11可以包括如下子步骤:

子步骤s111,将所述上行数据左声道作为所述目标左声道数据的高位数据,以及将所述参考数据左声道作为所述目标左声道数据的低位数据。

子步骤s12,以及通过所述数据合并模块执行所述预设程序,对所述上行数据右声道与所述参考数据右声道进行合并,得到目标右声道数据。

在本发明的一种实施例中,子步骤s12可以包括如下子步骤:

子步骤s121,将所述上行数据右声道作为所述目标右声道数据的高位数据,以及将所述参考数据右声道作为所述目标右声道数据的低位数据。

其中,数据合并模块可以具有用于执行合并数据的预设程序,由于一路i2s音频总线只允许传输两声道数据,此时可以将通过micini2s传输的上行信号中的左声道数据(即micl)以及通过refini2s传输的参考信号中的左声道数据(即refl)组合成一个32bits的左声道数据,并作为单路音频总线i2s1的左声道数据;同理,还可以将通过micini2s传输的上行信号中的右声道数据(即micr)以及通过refini2s传输的参考信号中的右声道数据(即refr)组合成一个32bits的右声道数据,并作为单路音频总线i2s1的右声道数据。

为了实现上述分别组合生成32bits左声道数据以及右声道数据,可以对传输得到的上行信号以及参考信号进行重采样处理。

具体的,aec系统处理的是语音信号,由于语音正常频率范围为300hz~3.4khz,此时可以根据香农采样定理,针对语音信号的采样频率进行设置,采样频率表示的是每秒从连续信号中提取并组成离散信号的采样个数,可以设置为大于被采样信号带宽的两倍(例如:16000hz);此时还可以分别对mic信号(即上行信号)以及ref信号(即参考信号)的采样点进行标记,参照图6,示出了本发明实施例中的一种目标声道数据的示意图,对于mic信号,可以将mic信号的两声道数据分别标记为采样点micl以及采样点micr;对于ref信号,可以将ref信号的两声道数据分别标记为采样点refl以及采样点refr,其中,每个采样点可以占用16bits(即2个字节)。那么为了组合生成32bits的声道数据,可以对i2s音频总线的数据传输的标准配置为32bits(即4个字节)以及16000hz的采样率。

参照图7,示出了本发明实施例中的一种针对目标声道数据进行重采样的示意图,该示意图示出了针对i2s1单路音频总线的时序图,由图7可知,假设其采样频率ws为16000hz,那么其bck的频率可以为16000*2*32(即bck的频率=2*采样频率*采样位数)。

在上述情况下,可以将micl与refl作为一个32bits的l采样点数据,以及micr以及refr作为一个32bits的r采样点数据,具体的,当ws为“1”,即处于高电平时,表示正在传输的是右声道的数据,即此时可以传输具有两声道的r采样点数据micr以及refr;当ws为“0”,即处于低电平时,表示正在传输的是左声道的数据,即此时可以传输具有两声道的l采样点数据micl与refl,这样,就可以通过i2s单路音频总线传送相当于4声道的数据,以节省soc系统资源,并在i2s资源比较紧张的情况下可以实现aec功能。

需要说明的是,上述的传输模式可以为左对齐模式,即可以在bck的第二个上升获得数据的传输,也可以为i2s模式或右对齐模式,对此,本发明实施例不加以限制。

步骤503,通过单路音频总线向处理系统传输目标左声道数据以及目标右声道数据;

在本发明的一种实施例中,一路i2s音频总线只允许传输两声道数据,通过分别对上行数据左声道与参考数据左声道,以及上行数据右声道与参考数据右声道这四声道数据进行合并为两声道数据,以实现通过单路音频总线向处理系统传输合并后为两声道的目标左声道数据以及目标右声道数据,以使处理系统在接收到传输的声道数据后进行回声消除处理。

步骤504,采用所述单个数据获取线程接收所述目标左声道数据以及所述目标右声道数据,并将所述目标左声道数据以及所述目标右声道数据进行缓存,以使所述处理系统进行回声消除处理。

在本发明的一种实施例中,在数据合并模块将上行信号以及参考信号中的左右声道数据合并得到目标左声道数据以及目标右声道数据,并采用单路音频总线向处理系统发送合并后的声道数据之后,处理系统可以采用单个数据获取线程接收数据合并模块传输的合并后的声道数据,并将合并后的声道数据进行缓存,以便处理系统对缓存中的声道数据进行回声消除处理。

参照图8,示出了现有技术中一种上行信号以及参考信号的处理流程图,传统aec技术方案由于需要使用两路i2s音频总线进行上行信号以及参考信号的传输,为了获取由该两路i2s音频总线传输的数据,软件上需要两个设备节点,即在linuxalsa构架中,需要使用比如pcmc0d0c、pcmc0d1c的设备节点;其中c0代表声卡soundcard0,dx代表设备device编号,c代表录音设备capture。上述使用两个设备节点进行数据的获取,可能造成数据不同步的问题。

具体的,可以假设与两个设备节点对应的两个用于数据获取的线程,其中线程thread1可以代表对mic数据(即上行信号)进行获取的线程,thread2可以代表对ref数据(即参考信号)进行获取的线程,如果每次thread1和thread2获取的mic数据以及ref数据不是同一时刻的数据,则不能实现对mic数据以及ref数据的同步,在进行aec算法处理时,则无法达到很好的回声消除效果,导致回声消除不干净。

以及,在传统技术方案中,若上层应用需要对mic数据以及ref数据进行获取,那么在针对每个i2s输入上层应用进行数据读取时,都需要一个单独的pcm设备节点,且由于数据本身并没有标记,可能出现无法在同一时间点对齐的现象,导致不能实现数据同步。

参照图9,示出了本发明实施例中的一种数据不同步的示意图,以及参照图10,示出了本发明实施例中的一种数据同步的示意图,其中数据同步指的是获取的mic数据以及ref数据在同一时间点对齐,例如micl1与refl1的时间点相同,在数据同步的情况下,以便进行回声消除处理;例如micl1与refl2时间点不同,此时进行回声消除,可能出现回声消除不干净的现象。

在实际应用中,通过单路音频总线实现对上行信号和参考信号一共四声道数据的传输,由于仅通过i2s单路音频总线进行传输,可以有效地保证数据的同步;处理系统通过单个数据获取线程接收的合并后的两声道数据,即将上行信号以及参考信号中的四声道数据合并后得到的数据也是同步的,无需进行datasync(即数据同步)。

在本发明的一种实施例中,步骤504可以包括如下子步骤:

子步骤s21,对缓存的所述目标左声道数据以及所述目标右声道数据分别进行移位操作得到与所述上行信号对应的上行数据,以及与所述参考信号对应的参考数据;

在实际应用中,处理系统通过单个数据获取线程接收的数据为合并后的两声道数据,在将合并后的两声道数据进行缓存之后,可以对缓存中的合并后的数据进行回声消除处理;由于接收的数据为合并后的数据,此时可以对合并后的数据进行数据分解处理,以得到与上行信号对应的上行数据,以及与参考信号对应的参考数据。

具体的,参照图11,示出了本实施例中的一种上行信号以及参考信号的处理流程图,在本发明实施例中,由于只需要使用一路i2s音频总线进行上行信号以及参考信号的传输,那么同时上层应用在获取数据时也只需要一个设备节点pcmc0d0c。

在实际应用中,在通过数据获取线程获取合并后的声道数据之后,可以将合并后的声道数据缓存至mic&refinbuffer,当需要对缓存中合并后的声道数据进行回声消除处理时,可以对合并后的声道数据进行数据分解处理(对应于图11中的datasplit);其中,分解处理的方式可以如下:由于l声道的数据高16bits为micl的数据,低16bits是refl的数据,以及r声道的数据高16bits是micr的数据,低16bits是refr的数据,此时可以对目标左声道(即l声道)数据以及目标右声道(即r声道)数据分别进行移位操作,得到与上行信号对应的上行数据,以及与参考信号对应的参考数据,并且由于mic数据和ref数据是通过一路i2s实时传送过来的,使得mic数据和ref数据从源头就保证了严格同步,有利于进行回声消除处理。

子步骤s22,通过所述处理系统对所述上行数据以及所述参考数据进行回声消除处理。

在本发明的一种实施例中,可以通过处理系统对上行数据以及参考数据进行回声消除处理。

在一种优选的实施例中,还可以采用dsp硬件aec方案(不需要变更硬件设计),并结合本发明实施例的技术方案实现aec功能,即可以在硬件aec系统的基础上,设置dsp的bypass模式,当将bypass模式开启时,则表示不采用aecdsp的功能,此时可以通过在soc系统实现软件aecip来进行回声消除处理;以及,当将dsp的bypass模式关闭后,就是dsp硬件aec方案。即实现软件aec算法和硬件aec算法这两种方案之间自由选择,使得方案更加灵活。

在本发明实施例中,通过上行信号输入接口向数据合并模块传输上行信号,以及通过参考信号输入接口向数据合并模块传输参考信号,以便通过数据合并模块将上行信号中的上行数据左声道与参考信号中的参考数据左声道合并得到目标左声道数据,以及将上行信号中的上行数据右声道与参考信号中的参考数据右声道合并得到目标右声道数据,最后通过单路音频总线向处理系统发送合并后的目标左声道数据以及目标右声道数据,以使处理系统进行回声消除处理。通过单路音频总线对合并后的目标左声道数据以及目标右声道数据进行传输,即通过单路音频总线实现对上行信号和参考信号一共四声道数据的传输,保证在i2s资源有限的情况下实现对声道数据的传输以及声道数据的同步,而且通过软件方式实现aec,不需要aecdsp,节省了项目bom成本,以及方便对aecip进行ota升级。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

参照图12,示出了本发明的一种回声消除装置实施例的结构框图,应用于回声消除系统,所述回声消除系统包括上行信号输入接口、参考信号输入接口、数据合并模块以及用于执行回声消除算法的处理系统,所述数据合并模块与所述处理系统通过音频总线连接,具体可以包括如下模块:

信号传输模块1201,用于获取上行信号以及参考信号,并通过所述上行信号输入接口向所述数据合并模块传输所述上行信号,通过所述参考信号输入接口向所述数据合并模块传输所述参考信号;所述上行信号包括上行数据左声道以及上行数据右声道;所述参考信号包括参考数据左声道以及参考数据右声道;

目标声道数据生成模块1202,用于通过所述数据合并模块将所述上行数据左声道与所述参考数据左声道进行合并得到目标左声道数据,以及将所述上行数据右声道与所述参考数据右声道进行合并得到目标右声道数据;

数据传输模块1203,用于通过单路音频总线向所述处理系统传输所述目标左声道数据以及所述目标右声道数据,以使所述处理系统进行回声消除处理;

数据缓存模块1204,用于采用所述单个数据获取线程接收所述目标左声道数据以及所述目标右声道数据,并将所述目标左声道数据以及所述目标右声道数据进行缓存;

回声消除处理模块1205,用于通过所述处理系统对缓存的所述目标左声道数据以及所述目标右声道数据进行回声消除处理。

在本发明的一种实施例中,所述数据合并模块具有用于执行合并数据的预设程序,目标声道数据生成模块1202可以包括如下子模块:

目标左声道数据生成子模块,用于通过所述数据合并模块执行所述预设程序,对所述上行数据左声道与所述参考数据左声道进行合并,得到目标左声道数据;

目标右声道数据生成子模块,用于通过所述数据合并模块执行所述预设程序,对所述上行数据右声道与所述参考数据右声道进行合并,得到目标右声道数据。

在本发明的一种实施例中,目标左声道数据生成子模块可以包括如下单元:

目标左声道数据生成单元,用于将所述上行数据左声道作为所述目标左声道数据的高位数据,以及将所述参考数据左声道作为所述目标左声道数据的低位数据。

在本发明的一种实施例中,目标右声道数据生成子模块可以包括如下单元:

目标右声道数据生成单元,用于将所述上行数据右声道作为所述目标右声道数据的高位数据,以及将所述参考数据右声道作为所述目标右声道数据的低位数据。

本发明的一种实施例中,回声消除处理模块1205可以包括如下子模块:

数据获取子模块,用于对缓存的所述目标左声道数据以及所述目标右声道数据分别进行移位操作得到与所述上行信号对应的上行数据,以及与所述参考信号对应的参考数据;

回声消除处理子模块,用于通过所述处理系统对所述上行数据以及所述参考数据进行回声消除处理。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本发明实施例还提供了一种车辆,包括:

包括上述回声消除装置、处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述回声消除方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现上述针对回声消除方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本发明所提供的一种回声消除方法和一种回声消除装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

相关标签: i2s
tips