回声数据消除方法及装置、终端设备、存储介质与流程

    专利2022-07-08  112


    本发明涉及声音处理技术领域,具体涉及一种回声数据消除方法及装置、终端设备、存储介质。



    背景技术:

    传统的会议终端用于将参会者的语音转为数字电信号并打包为rtp(real-timetransportprotocol,实时传输协议)包,rtp包通过互联网传输到服务器,服务器对接入的各会议终端的rtp解包并混音后,再重新打包并发送到各个会议终端。

    各会议终端上都设有声音处理模块,所述声音处理模块用于将接收及发送到服务器的声音数据进行处理,并播放远端声音及采集本地声音。其中,所述声音处理模块对声音数据的处理分为硬件与软件方式,传统的会议终端一般使用软件方式。

    由于基于软件方式实现的声音数据处理是基于操作系统的,这些非实时操作系统的调度方式很难保证数据传输实时性,即每次送到声音处理模块的数据长度和从声音处理模块获取的数据长度不一致;此外,如果会议终端外接不同厂商的播放设备,比如usb设备、蓝牙设备及电视等,很难获知声音在这些播放设备中的延迟,因此,回声消除的效果较差。

    故,有必要提出一种新的技术方案,以解决上述技术问题。



    技术实现要素:

    本发明的目的在于提供一种回声数据消除方法及装置、终端设备、存储介质,其能获得更好的回声消除效果。

    为解决上述问题,本发明的技术方案如下:

    第一方面,提供一种回声数据消除方法,所述回声数据消除方法包括以下步骤:播放包括所述第一音频数据和预设超声波音频数据的所述第二音频数据,其中,所述预设超声波音频数据至少具有第一频率值和第二频率值,至少所述第一频率值和所述第二频率值的组合所对应的数值为所述第一音频数据的标识号的数值;采集与所播放的所述第二音频数据对应的声音,并生成第三音频数据;识别出所述第三音频数据中的至少所述第一频率值和所述第二频率值;根据包括至少所述第一频率值和所述第二频率值的组合所对应的数值查找与所述数值对应的所述第二音频数据的播放时间;根据所述播放时间和具有至少所述第一频率值和所述第二频率值的所述第三音频数据的采集时间计算回声延迟时间;根据所述回声延迟时间将所述第三音频数据中的第四音频数据和记录于预定存储空间中的所述第一音频数据在时间上进行对齐,所述第四音频数据为所述第三音频数据中除所述预设超声波音频数据以外的音频数据;从所述第四音频数据中消除所述第一音频数据,以得到第五音频数据。

    第二方面,提供一种回声数据消除装置,所述回声数据消除装置包括:播放模块,用于播放包括所述第一音频数据和预设超声波音频数据的所述第二音频数据,其中,所述预设超声波音频数据至少具有第一频率值和第二频率值,至少所述第一频率值和所述第二频率值的组合所对应的数值为所述第一音频数据的标识号的数值;采集模块,用于采集与所播放的所述第二音频数据对应的声音,并生成第三音频数据;识别模块,用于识别出所述第三音频数据中的至少所述第一频率值和所述第二频率值;查找模块,用于根据包括至少所述第一频率值和所述第二频率值的组合所对应的数值查找与所述数值对应的所述第二音频数据的播放时间;第一计算模块,用于根据所述播放时间和具有至少所述第一频率值和所述第二频率值的所述第三音频数据的采集时间计算回声延迟时间;对齐模块,用于根据所述回声延迟时间将所述第三音频数据中的第四音频数据和记录于预定存储空间中的所述第一音频数据在时间上进行对齐,所述第四音频数据为所述第三音频数据中除所述预设超声波音频数据以外的音频数据;消除模块,用于从所述第四音频数据中消除所述第一音频数据,以得到第五音频数据。

    第三方面,提供一种终端设备,所述终端设备包括处理器和存储器,所述存储器用于存储程序代码,所述终端设备运行时,所述处理器用于执行所述程序代码,以执行上述回声数据消除方法。

    第四方面,提供一种存储有程序代码的计算机可读存储介质,所述程序代码用于使得计算机执行上述回声数据消除方法。

    在本发明中,由于在待播放的第一音频数据中添加所述预设超声波音频数据,以作为标识所述第一音频数据的序号,并播放所述预设超声波音频数据和所述第一音频数据,在采集声音时通过检测超声波(所述预设超声波音频数据)的频率来获取所述序号,根据相同序号的所述第一音频数据的播放时间和所述第四音频数据的采集时间的差值来计算实际回声延迟时间,并根据该回声延迟时间将所述第一音频数据和所述第四音频数据在时间上进行对齐,然后将与所述第一音频数据在时间上对齐的所述第四音频数据减去所述第一音频数据,以消除回音,因此可以通过更准确的回声延迟时间来获得更好的回声消除效果。

    附图说明

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

    图1是本发明提供的回声数据消除方法及装置的应用场景的示意图。

    图2是本发明提供的回声数据消除方法及装置在图1所示的应用场景下的工作模式的示意图。

    图3是本发明提供的回声数据消除方法及装置在图2所示的工作模式中消除回声的方式的示意图。

    图4是本发明提供的回声数据消除方法的示意图。

    图5是本发明提供的回声数据消除方法的流程图。

    图6是本发明提供的回声数据消除装置的框图。

    图7是本发明提供的回声数据消除方法及装置的运行环境的示意图。

    具体实施方式

    下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

    在本发明中,术语“模块”一般指:硬件、硬件和软件的组合、软件等。例如,模块可以是运行在处理器上的进程、处理器、对象、可执行应用、执行的线程、程序等。运行在处理器上的应用和该处理器二者都可以是模块。一个或多个模块可以位于一个计算机中和/或分布在两个或更多计算机之间。

    在本发明中,“第一”、“第二”等仅用于区分不同的对象,而不应对本发明构成任何限定。

    本发明提供的回声数据消除方法及装置适用于(集成于)终端设备102,所述终端设备102可以为个人计算机、移动设备(例如:移动电话、个人数字助理(pda,personaldigitalassistant)、平板电脑)、会议终端等等,如图1所示,所述终端设备102通过网络与服务器101通信。

    本发明提供的回声数据消除方法及装置通过在待播放的声音段中添加超声波,以作为标注待播放的声音段的序号,在采集声音时检测添加的声音段的序号,根据相同序号的两音频数据的时间信息(第一音频数据的播放时间和第四音频数据的采集时间)的差值来判断实际回声延迟。

    本发明提供的回声数据消除方法及装置在待播放的声音段发送到驱动器前,定时使用2个不同频率的正弦超声波合成一个双音多频信号,该双音多频信号表示了待播放的声音段的序号,该双音多频信号添加到待播放的声音段中;在采集到音频数据后,使用高通滤波分离回声中的双音多频信号并解出该序号,根据该序号所对应的所播放的音频数据的播放时间和所采集的音频数据的采集时间计算回声延迟时间,并根据该回声延迟时间将预定存储空间中的第一音频数据和第四音频数据在时间上进行对齐,并将与所述第一音频数据在时间上对齐的所述第四音频数据减去所述第一音频数据,以消除回音。

    参考图1至图5,本发明提供的回声数据消除方法包括以下步骤:

    步骤501、将音频数据包分割成至少两所述第一音频数据,至少两所述第一音频数据分别对应不同的所述声音段。所述音频数据包是终端设备102通过网络从服务器101接收的rtp包在经过解包和解码处理,然后做降噪(ns,noisesuppression)及自动增益控制(agc,automaticgaincontrol)等音频处理后得到的数据包,如图2所示。在对所述音频数据包进行上述音频处理后或同时,将所述音频数据包分割成多个声音段(分割成多个声音帧)的第一音频数据,每一个声音段(声音帧)的周期可例如为10毫秒。在将音频数据包分割成至少两所述第一音频数据后,将所述第一音频数据送入播放声音缓冲区队列。

    步骤502、根据至少所述第一频率值和所述第二频率值生成所述预设超声波音频数据(双音多频超声波数据)。具体地,定时地根据至少所述第一频率值和所述第二频率值生成所述预设超声波音频数据,即,每隔预定数量所述声音段的周期,根据至少所述第一频率值和所述第二频率值生成所述预设超声波音频数据,所述预定数量大于或等于0,例如,对于每1声音帧所述第一音频数据(相隔0个所述周期),均生成所述预设超声波音频数据,或者,对于每2声音帧所述第一音频数据(相隔1个所述周期),均生成所述预设超声波音频数据,如此类推。所述第一频率值和所述第二频率值可以是根据为所述第一音频数据分配的序号,从预设表格中查找出来的,所述序号为所述第一音频数据的标识号或播放顺序的号码,所述预设表格为所述序号与所述第一频率值、所述第二频率值的对应关系表。所述第一频率值和所述第二频率值均处于18000hz-28000hz的范围内,优选地,所述第一频率值和所述第二频率值均处于20000hz-24000hz的范围内。在所述预设超声波音频数据中,具有所述第一频率值的部分和具有所述第二频率值的部分按时间先后顺序搭配或排列,按时间先后顺序搭配或排列至少所述第一频率值和所述第二频率值的组合所对应的数值为所述第一音频数据的标识号的数值。

    所述预设表格可例如为:

    其中,所述第一频率值为fl1、fl2、fl3、fl4中的一者,所述第二频率值为fh1、fh2、fh3、fh4中的一者。按时间先后顺序搭配或排列的所述第一频率值和所述第二频率值的组合可例如为fl1fh1(0)、fl1fh4(3),诸如此类。

    步骤503、接收第一音频数据,并根据所述第一音频数据(人耳能听到)和预设超声波音频数据(人耳不能听到)生成第二音频数据,所述第一音频数据为一声音段的音频数据。具体地,将所述第一音频数据和所述预设超声波音频数据进行叠加。

    步骤504、播放包括所述第一音频数据和预设超声波音频数据的所述第二音频数据,其中,所述预设超声波音频数据至少具有第一频率值和第二频率值。具体地,将所述第二音频数据发送到所述终端设备102的驱动器,以通过所述驱动器驱动扬声器、耳机等设备播放所述第二音频数据。由于所述第一音频数据的频率值与所述第一频率值和所述第二频率值均不相同,因此,所述第一音频数据和所述预设声波音频数据可以同时播放,但是,所述预设超声波音频数据中具有所述第一频率值的部分和具有所述第二频率值的部分按时间先后顺序播放。

    步骤505、采集与所播放的所述第二音频数据对应的声音,并生成第三音频数据。具体地,通过所述终端设备102的麦克等声音采集器采集所述扬声器所播放的声音,并生成所述第三音频数据。

    步骤506、从所述第三音频数据中分离出所述预设超声波音频数据和除所述预设超声波音频数据以外的第四音频数据。具体地,通过高通滤波处理,将所述第三音频数据分离为所述预设超声波音频数据和除所述预设超声波音频数据以外的第四音频数据,其中,所述第四音频数据包括所述第一音频数据和其它声音数据。

    步骤507、识别出所述第三音频数据中的至少所述第一频率值和所述第二频率值。具体地,对所述预设超声波音频数据进行解码,以识别出按时间先后顺序搭配或排列的至少所述第一频率值和所述第二频率值。

    步骤508、计算包括至少所述第一频率值和所述第二频率值的组合所对应的数值。具体地,根据按时间先后顺序搭配或排列的至少所述第一频率值和所述第二频率值计算所述数值。

    步骤509、根据包括至少所述第一频率值和所述第二频率值的组合所对应的数值查找与所述数值对应的所述第二音频数据的播放时间。具体地,根据所述数值和所述第一音频数据的标识号从预定存储空间中查找包括所述第一音频数据的所述第二音频数据的播放时间。

    步骤510、根据所述播放时间和具有至少所述第一频率值和所述第二频率值的所述第三音频数据的采集时间计算回声延迟时间。具体地,在所述播放时间为15:00:00pm,所述采集时间为15:00:01pm时,所述回声延迟时间为15:00:01pm-15:00:00pm=1秒。

    步骤511、根据所述回声延迟时间将所述第三音频数据中的第四音频数据和记录于预定存储空间中的所述第一音频数据在时间上进行对齐,所述第四音频数据为所述第三音频数据中除所述预设超声波音频数据以外的音频数据。具体地,在所述回声延迟时间为1秒的情况下,将所述第四音频数据的时间信息往前移1秒的时间(将所述第四音频数据的起始时间和/或结束时间减少1秒的时间),以使所述第四音频数据和所述第一音频数据在时间上对齐。

    步骤512、从所述第四音频数据中消除所述第一音频数据,以得到第五音频数据。具体地,使用所述第一音频数据抵消所述第四音频数据中与所述第一音频数据相同或相似的部分,得到所述第四音频数据除所述第一音频数据以外的部分,即,消除所述第四音频数据中关于所述第一音频数据的回声。

    步骤513、对所述第五音频数据进行非线性处理,以除去所述第五音频数据中的残余回声数据,得到第六音频数据。

    所述回声数据消除方法还包括以下步骤:

    对所述第六音频数据进行降噪(ns)和自动增益控制(agc)等音频处理。

    对经过上述音频处理后的数据进行编码,并将编码后的数据封装为rtp包。

    将所述rtp包发送到服务器101。

    为了更好地实施以上方法,相应的,如图1、图2、图3、图4和图6所示,本发明提供的回声数据消除方法装置包括收发模块、编解码模块、音频处理模块、分割模块601、生成模块602、播放模块603、采集模块604、分离模块605、识别模块606、第二计算模块607、查找模块608、第一计算模块609、对齐模块610、消除模块611和非线性处理模块612。

    所述收发模块用于通过网络从服务器101接收rtp(real-timetransportprotocol,实时传输协议)包。

    所述编解码模块用于对所述rtp包作解包和解码处理。

    所述音频处理模块用于对所述编解码模块对所述rtp包解码后的数据进行降噪(ns,noisesuppression)及自动增益控制(agc,automaticgaincontrol)等音频处理,以得到音频数据包。

    所述分割模块601用于将音频数据包分割成至少两所述第一音频数据,至少两所述第一音频数据分别对应不同的所述声音段。所述分割模块601用于在对所述音频数据包进行上述音频处理后或同时,将所述音频数据包分割成多个声音段(分割成多个声音帧)的第一音频数据,每一个声音段(声音帧)的周期可例如为10毫秒。所述分割模块601还用于在将音频数据包分割成至少两所述第一音频数据后,将所述第一音频数据发送至所述生成模块602和预定存储空间的播放声音缓冲区队列。

    所述生成模块602用于根据至少所述第一频率值和所述第二频率值生成所述预设超声波音频数据(双音多频超声波数据)。具体地,定时地根据至少所述第一频率值和所述第二频率值生成所述预设超声波音频数据,即,每隔预定数量所述声音段的周期,根据至少所述第一频率值和所述第二频率值生成所述预设超声波音频数据,所述预定数量大于或等于0,例如,对于每1声音帧所述第一音频数据(相隔0个所述周期),均生成所述预设超声波音频数据,或者,对于每2声音帧所述第一音频数据(相隔1个所述周期),均生成所述预设超声波音频数据,如此类推。所述第一频率值和所述第二频率值可以是根据为所述第一音频数据分配的序号,从预设表格中查找出来的,所述序号为所述第一音频数据的标识号或播放顺序的号码,所述预设表格为所述序号与所述第一频率值、所述第二频率值的对应关系表。所述第一频率值和所述第二频率值均处于18000hz-28000hz的范围内,优选地,所述第一频率值和所述第二频率值均处于20000hz-24000hz的范围内。在所述预设超声波音频数据中,具有所述第一频率值的部分和具有所述第二频率值的部分按时间先后顺序搭配或排列,按时间先后顺序搭配或排列至少所述第一频率值和所述第二频率值的组合所对应的数值为所述第一音频数据的标识号的数值。

    所述预设表格可例如为:

    其中,所述第一频率值为fl1、fl2、fl3、fl4中的一者,所述第二频率值为fh1、fh2、fh3、fh4中的一者。按时间先后顺序搭配或排列的所述第一频率值和所述第二频率值的组合可例如为fl1fh1(0)、fl1fh4(3),诸如此类。

    所述生成模块602用于接收第一音频数据,所述第一音频数据为一声音段的音频数据,并用于根据所述第一音频数据(人耳能听到)和预设超声波音频数据(人耳不能听到)生成第二音频数据。具体地,所述生成模块602用于将所述第一音频数据和所述预设超声波音频数据进行叠加。

    所述播放模块603用于播放包括所述第一音频数据和预设超声波音频数据的所述第二音频数据,其中,所述预设超声波音频数据至少具有第一频率值和第二频率值。具体地,所述播放模块603用于将所述第二音频数据发送到所述终端设备102的驱动器,以通过所述驱动器驱动扬声器、耳机等设备播放所述第二音频数据。由于所述第一音频数据的频率值与所述第一频率值和所述第二频率值均不相同,因此,所述第一音频数据和所述预设声波音频数据可以同时播放,但是,所述预设超声波音频数据中具有所述第一频率值的部分和具有所述第二频率值的部分按时间先后顺序播放。

    所述采集模块604用于采集与所播放的所述第二音频数据对应的声音,并生成第三音频数据。具体地,所述采集模块604用于通过所述终端设备102的麦克等声音采集器采集所述扬声器所播放的声音,并生成所述第三音频数据。

    所述分离模块605用于从所述第三音频数据中分离出所述预设超声波音频数据和除所述预设超声波音频数据以外的第四音频数据。具体地,所述分离模块605用于通过高通滤波处理,将所述第三音频数据分离为所述预设超声波音频数据和除所述预设超声波音频数据以外的第四音频数据,其中,所述第四音频数据包括所述第一音频数据和其它声音数据。

    所述识别模块606用于识别出所述第三音频数据中的至少所述第一频率值和所述第二频率值。具体地,所述识别模块606用于对所述预设超声波音频数据进行解码,以识别出按时间先后顺序搭配或排列的至少所述第一频率值和所述第二频率值。

    所述第二计算模块607用于计算包括至少所述第一频率值和所述第二频率值的组合所对应的数值。具体地,根据按时间先后顺序搭配或排列的至少所述第一频率值和所述第二频率值计算所述数值。

    所述查找模块608用于根据包括至少所述第一频率值和所述第二频率值的组合所对应的数值查找与所述数值对应的所述第二音频数据的播放时间。具体地,根据所述数值和所述第一音频数据的标识号从预定存储空间中查找包括所述第一音频数据的所述第二音频数据的播放时间。

    所述第一计算模块609用于根据所述播放时间和具有至少所述第一频率值和所述第二频率值的所述第三音频数据的采集时间计算回声延迟时间。具体地,在所述播放时间为15:00:00pm,所述采集时间为15:00:01pm时,所述回声延迟时间为15:00:01pm-15:00:00pm=1秒。

    所述对齐模块610用于根据所述回声延迟时间将所述第三音频数据中的第四音频数据和记录于预定存储空间中的所述第一音频数据在时间上进行对齐,所述第四音频数据为所述第三音频数据中除所述预设超声波音频数据以外的音频数据。具体地,在所述回声延迟时间为1秒的情况下,将所述第四音频数据的时间信息往前移1秒的时间(将所述第四音频数据的起始时间和/或结束时间减少1秒的时间),以使所述第四音频数据和所述第一音频数据在时间上对齐。

    所述消除模块611用于从所述第四音频数据中消除所述第一音频数据,以得到第五音频数据。具体地,使用所述第一音频数据抵消所述第四音频数据中与所述第一音频数据相同或相似的部分,得到所述第四音频数据除所述第一音频数据以外的部分,即,消除所述第四音频数据中关于所述第一音频数据的回声。

    所述非线性处理模块612用于对所述第五音频数据进行非线性处理,以除去所述第五音频数据中的残余回声数据,得到第六音频数据。

    所述音频处理模块还用于对所述第六音频数据进行降噪(ns)和自动增益控制(agc)等音频处理。

    所述编解码模块用于对经过上述音频处理后的数据进行编码,并将编码后的数据封装为rtp包。

    所述收发模块用于将所述rtp包发送到服务器101。

    在上述技术方案中,由于在待播放的第一音频数据中添加所述预设超声波音频数据,以作为标识所述第一音频数据的序号,并播放所述预设超声波音频数据和所述第一音频数据,在采集声音时通过检测超声波(所述预设超声波音频数据)的频率来获取所述序号,根据相同序号的所述第一音频数据的播放时间和所述第四音频数据的采集时间的差值来计算实际回声延迟时间,并根据该回声延迟时间将所述第一音频数据和所述第四音频数据在时间上进行对齐,然后将与所述第一音频数据在时间上对齐的所述第四音频数据减去所述第一音频数据,以消除回音。因此可以通过更准确的回声延迟时间来获得更好的回声消除效果。

    以所述终端设备102为话机为例,本发明的技术方案如下:

    话机解封从服务器101接收的rtp包并解码,然后做降噪(ns)及自动增益控制(agc)等音频处理,将经过上述音频处理的声音信号分帧(比如每10毫秒一帧),并送入播放声音缓冲区队列,对每帧声音信号(第一音频数据)添加序号,序号可自选,序号范围例如为0-15。同时根据该序号,根据定时模式n定时产生双音多频超声波信号,这里定时模式n可自选,比如n=0表示每1帧声音信号都产生一次双音多频超声波信号,n=15是每16帧声音信号产生一次双音多频超声波信号,只要n在序号范围内即可。

    双音多频超声波信号实际就是2个不同频率正弦超声波叠加后的信号,序号0-15可以使用8个不同频率来表示,8个不同的频率可以分为两组,第一组频率中的一者与第二组频率中的一者组成一个频率组合,该频率组合表示一个数值,以序号为6为例,其对应fh3=21000hz与fl2=22600hz这2个频率的组合。

    所产生的对应序号的双音多频超声波信号与分帧后的声音信号相加(叠加),并送至驱动器,通过驱动器驱动话机的播放设备(如扬声器、耳机等设备)播出。

    话机的麦克接收所播放的声音,经硬件电路及驱动器转为数字信号,然后进行声学回声消除(aec)、降噪(ns)、自动增益控制(agc)等音频处理,处理后的数据被编码及封装为rtp包,并发送到服务器101。

    如图3所示,声学回声消除(aec)处理由自适应滤波和非线性处理操作两部分组成。

    在驱动器收到所采集的分帧后的音频数据(所述第三音频数据),将该音频数据中的双音多频信号解码,得到对应的序号(第四音频数据的序号),再将该序号与收到的声音帧(所述第四音频数据)送入采集声音缓冲队列,声学回声处理会根据播放声音缓冲区队列和采集声音缓冲区队列中声音帧的序号匹配播放声音帧与采集声音帧,然后通过将声音的采集时间减去声音的播放时间,以得到回声延迟时间。

    送入到播放声音缓冲区队列的所述第一音频数据经自适应滤波后,作为估计回声,根据所述回声延迟时间将所述估计回声和所述第四音频数据在时间上进行对齐。具体地,缓冲区暂存所采集数据(所述第三音频数据经高通滤波处理后得到的所述第四音频数据)与所播放数据(所述第一音频数据经自适应滤波处理后的数据),根据所述回声延迟时间调整所暂存的上述两路数据的长度以保证两路数据对齐。这样可以使得两路数据对齐得更加准确,从而使得回声消除的效果更好。

    在上述定时模式n中,如果n=0,即每帧声音信号都产生双音多频信号,则会每帧声音信号都将相同序号的播放声音帧与采集声音帧同时处理,如果n=15,即每16帧声音信号产生双音多频信号,则会在声音帧序号为15时将上述两路数据在时间上进行对齐,即同时处理序号为15的播放声音帧与采集声音帧,其他声音帧则不调整。

    将麦克采集到的音频数据减去该估计回声后,经非线性处理以进一步除去残余回声,从而实现回声消除。

    回声消除处理后的信号经后续音频处理并编码后发送到服务器101。

    通过此方法,回声延迟估计能不受操作系统调度影响,不需预知驱动缓冲区数据长度及硬件延迟影响,从而能够更准确地估计出实际回声延迟,得到更好的声学回声消除效果。

    本发明提供的回声数据消除方法及装置可以通过硬件实现,如图7所示,该硬件可以包括处理器702、存储器701、通信电路703、扬声器704、麦克705等的任意组合,其中,存储器701、通信电路703、扬声器704、麦克705均与处理器702电性连接。上述处理器702、存储器701、通信电路703、扬声器704、麦克705等的任意组合用于实现本发明提供的回声数据消除方法及装置的功能、步骤。

    其中,该处理器702可例如为:cpu(centralprocessingunit,中央处理器)、gpu、npu(neuralprocessingunit,神经网络处理单元)、其他通用处理器、数字信号处理器(dsp,digitalsignalprocessor)、专用集成电路(asic,applicationspecificintegratedcircuit)、现场可编程门阵列(fpga,field-programmablegatearray)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,通用处理器可以是微处理器或者是任何常规的处理器等。

    该存储器701可以包括只读存储器和随机存取存储器,用于向处理器提供程序代码和数据。存储器还可以包括非易失性随机存取存储器。该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,rom)、可编程只读存储器(programmablerom,prom)、可擦除可编程只读存储器(erasableprom,eprom)、电可擦除可编程只读存储器(electricallyeprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(randomaccessmemory,ram),其用作外部高速缓存。

    本发明提供的回声数据消除方法及装置也可以通过软件实现,此时,本发明提供的回声数据消除方法及装置及其各个模块也可以为软件模块。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品(其载体可例如为本发明的计算机可读存储介质)的形式实现。

    本发明提供的回声数据消除方法及装置还可以通过软件、硬件的组合来实现。

    本发明提供的回声数据消除方法及装置可对应于执行本发明中描述的方法,并且所述回声数据消除方法及装置中的各个模块的上述和其它操作和/或功能用于实现本发明提供的回声数据消除方法的相应流程。

    本发明提供的终端设备102包括处理器和存储器,其中,处理器、存储器通过总线进行通信。所述存储器用于存储程序代码,所述终端设备102运行时,所述处理器执行所述程序代码,以执行本发明提供的回声数据消除方法。例如,该程序代码可以执行如下步骤:

    播放包括所述第一音频数据和预设超声波音频数据的所述第二音频数据,其中,所述预设超声波音频数据至少具有第一频率值和第二频率值,至少所述第一频率值和所述第二频率值的组合所对应的数值为所述第一音频数据的标识号的数值;采集与所播放的所述第二音频数据对应的声音,并生成第三音频数据;识别出所述第三音频数据中的至少所述第一频率值和所述第二频率值;根据包括至少所述第一频率值和所述第二频率值的组合所对应的数值查找与所述数值对应的所述第二音频数据的播放时间;根据所述播放时间和具有至少所述第一频率值和所述第二频率值的所述第三音频数据的采集时间计算回声延迟时间;根据所述回声延迟时间将所述第三音频数据中的第四音频数据和记录于预定存储空间中的所述第一音频数据在时间上进行对齐,所述第四音频数据为所述第三音频数据中除所述预设超声波音频数据以外的音频数据;从所述第四音频数据中消除所述第一音频数据,以得到第五音频数据。

    本发明的计算机可读存储介质存储有程序代码,所述程序代码用于使得计算机执行本发明提供的回声数据消除方法。例如,该程序代码可以执行如下步骤:

    播放包括所述第一音频数据和预设超声波音频数据的所述第二音频数据,其中,所述预设超声波音频数据至少具有第一频率值和第二频率值,至少所述第一频率值和所述第二频率值的组合所对应的数值为所述第一音频数据的标识号的数值;采集与所播放的所述第二音频数据对应的声音,并生成第三音频数据;识别出所述第三音频数据中的至少所述第一频率值和所述第二频率值;根据包括至少所述第一频率值和所述第二频率值的组合所对应的数值查找与所述数值对应的所述第二音频数据的播放时间;根据所述播放时间和具有至少所述第一频率值和所述第二频率值的所述第三音频数据的采集时间计算回声延迟时间;根据所述回声延迟时间将所述第三音频数据中的第四音频数据和记录于预定存储空间中的所述第一音频数据在时间上进行对齐,所述第四音频数据为所述第三音频数据中除所述预设超声波音频数据以外的音频数据;从所述第四音频数据中消除所述第一音频数据,以得到第五音频数据。

    所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质。半导体介质可以是固态硬盘(solidstatedrive,ssd)。

    所述程序代码的指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述程序代码的指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl,digitalsubscriberline))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。

    本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能。

    综上所述,虽然本发明已以优选实施例揭露如上,但上述优选实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。


    技术特征:

    1.一种回声数据消除方法,其特征在于,所述回声数据消除方法包括以下步骤:

    播放包括所述第一音频数据和预设超声波音频数据的所述第二音频数据,其中,所述预设超声波音频数据至少具有第一频率值和第二频率值,至少所述第一频率值和所述第二频率值的组合所对应的数值为所述第一音频数据的标识号的数值;

    采集与所播放的所述第二音频数据对应的声音,并生成第三音频数据;

    识别出所述第三音频数据中的至少所述第一频率值和所述第二频率值;

    根据包括至少所述第一频率值和所述第二频率值的组合所对应的数值查找与所述数值对应的所述第二音频数据的播放时间;

    根据所述播放时间和具有至少所述第一频率值和所述第二频率值的所述第三音频数据的采集时间计算回声延迟时间;

    根据所述回声延迟时间将所述第三音频数据中的第四音频数据和记录于预定存储空间中的所述第一音频数据在时间上进行对齐,所述第四音频数据为所述第三音频数据中除所述预设超声波音频数据以外的音频数据;

    从所述第四音频数据中消除所述第一音频数据,以得到第五音频数据。

    2.根据权利要求1所述的回声数据消除方法,其特征在于,在所述识别出所述第三音频数据中的至少所述第一频率值和所述第二频率值之前,所述回声数据消除方法还包括以下步骤:

    从所述第三音频数据中分离出所述预设超声波音频数据和除所述预设超声波音频数据以外的第四音频数据;

    所述识别出所述第三音频数据中的至少所述第一频率值和所述第二频率值,包括:

    对所述预设超声波音频数据进行解码,以识别出至少所述第一频率值和所述第二频率值。

    3.根据权利要求2所述的回声数据消除方法,其特征在于,在所述识别出所述第三音频数据中的至少所述第一频率值和所述第二频率值之后,以及在所述根据包括至少所述第一频率值和所述第二频率值的组合所对应的数值查找与所述数值对应的所述第二音频数据的播放时间之前,所述回声数据消除方法还包括以下步骤:

    计算包括至少所述第一频率值和所述第二频率值的组合所对应的数值。

    4.根据权利要求1所述的回声数据消除方法,其特征在于,所述回声数据消除方法还包括以下步骤:

    对所述第五音频数据进行非线性处理,以除去所述第五音频数据中的残余回声数据。

    5.一种回声数据消除装置,其特征在于,所述回声数据消除装置包括:

    播放模块,用于播放包括所述第一音频数据和预设超声波音频数据的所述第二音频数据,其中,所述预设超声波音频数据至少具有第一频率值和第二频率值,至少所述第一频率值和所述第二频率值的组合所对应的数值为所述第一音频数据的标识号的数值;

    采集模块,用于采集与所播放的所述第二音频数据对应的声音,并生成第三音频数据;

    识别模块,用于识别出所述第三音频数据中的至少所述第一频率值和所述第二频率值;

    查找模块,用于根据包括至少所述第一频率值和所述第二频率值的组合所对应的数值查找与所述数值对应的所述第二音频数据的播放时间;

    第一计算模块,用于根据所述播放时间和具有至少所述第一频率值和所述第二频率值的所述第三音频数据的采集时间计算回声延迟时间;

    对齐模块,用于根据所述回声延迟时间将所述第三音频数据中的第四音频数据和记录于预定存储空间中的所述第一音频数据在时间上进行对齐,所述第四音频数据为所述第三音频数据中除所述预设超声波音频数据以外的音频数据;

    消除模块,用于从所述第四音频数据中消除所述第一音频数据,以得到第五音频数据。

    6.根据权利要求5所述的回声数据消除装置,其特征在于,所述回声数据消除装置还包括:

    分离模块,用于从所述第三音频数据中分离出所述预设超声波音频数据和除所述预设超声波音频数据以外的第四音频数据;

    所述识别模块还用于对所述预设超声波音频数据进行解码,以识别出至少所述第一频率值和所述第二频率值。

    7.根据权利要求6所述的回声数据消除装置,其特征在于,所述回声数据消除装置还包括:

    第二计算模块,用于计算包括至少所述第一频率值和所述第二频率值的组合所对应的数值。

    8.根据权利要求5所述的回声数据消除装置,其特征在于,所述回声数据消除装置还包括:

    非线性处理模块,用于对所述第五音频数据进行非线性处理,以除去所述第五音频数据中的残余回声数据。

    9.一种终端设备,其特征在于,所述终端设备包括处理器和存储器,所述存储器用于存储程序代码,所述终端设备运行时,所述处理器用于执行所述程序代码,以执行权利要求1至4中任意一项所述的回声数据消除方法。

    10.一种存储有程序代码的计算机可读存储介质,其特征在于,所述程序代码用于使得计算机执行权利要求1至4中任意一项所述的回声数据消除方法。

    技术总结
    本发明公开了一种回声数据消除方法及装置、终端设备、存储介质。所述方法包括:播放包括第一音频数据和预设超声波音频数据的第二音频数据,预设超声波音频数据的至少第一频率值和第二频率值的组合所对应的数值为第一音频数据的标识号的数值;采集与所播放的声音,并生成第三音频数据;识别出至少第一频率值和第二频率值;根据包括至少第一频率值和第二频率值的组合所对应的数值查找第二音频数据的播放时间;根据播放时间和第三音频数据的采集时间计算回声延迟时间;根据回声延迟时间将第三音频数据中的第四音频数据和第一音频数据在时间上进行对齐;从第四音频数据中消除第一音频数据,以得到第五音频数据。本发明能获得更好的回声消除效果。

    技术研发人员:姜毅
    受保护的技术使用者:深圳市潮流网络技术有限公司
    技术研发日:2020.12.18
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-14514.html

    最新回复(0)