回声消除方法、装置以及通话设备与流程

文档序号:12496375阅读:228来源:国知局
回声消除方法、装置以及通话设备与流程

本发明涉及通信领域,具体而言,涉及一种回声消除方法、装置以及通话设备。



背景技术:

网络电话(Voice over Internet Protocol,VoIP)就是将模拟信号数字化,以数据封包(Data Packet)的形式在IP网络(IP Network)上做实时传递。简单的说就是通过互联网直接拨打对方的固定电话和手机,包括国内长途和国际长途,而且资费是传统电话费用的10%到20%,正因为如此,网络电话越来越受到人们的青睐。

但VoIP通话还存在很多问题,比如通话中有回声,特别是在多路通话中回声现象比较严重。严重影响通话质量,降低了用户的体验。

目前针对上述问题主要通过直接利用一些经典去回声算法直接对上行录音数据进行回声消除。这种方法能消除回声的效果因通话设备的不同而不同,这是因为原有的经典算法并未将通话设备的固有时延考虑到。特别是在现如今通话设备音频模块结构越来越复杂,使通话设备的固有时延越来越长,通话设备的固有时延对后续回声消除的效果影响越来越大。这使经典去回声算法越来越不可靠。



技术实现要素:

本发明的目的在于提供一种回声消除方法,用以改善上述问题。

本发明的另一目的在于提供一种回声消除装置,用以改善上述问题。

本发明的另一目的在于提供一种通话设备,用以改善上述问题。

为了实现上述目的,本发明实施例采用的技术方案如下:

本发明实施例提供一种回声消除方法,用于消除通话设备的VoIP多路通话中上行的录音数据中混入的下行的放音数据,缓存所述录音数据以及所述放音数据;分别用时间戳标记所述录音数据以及所述放音数据;获取所述通话设备的固定时延;根据所述固定时延,校正所述录音数据的时间戳以及所述放音数据的时间戳,获得校正录音数据以及校正放音数据;依据所述校正放音数据对所述校正录音数据作回声消除处理。

本发明实施例提供还一种回声消除装置,用于消除通话设备的VoIP多路通话中上行的录音数据中混入的下行的放音数据,所述装置包括:缓存模块,用于缓存所述录音数据以及所述放音数据;标记模块,用于分别用时间戳标记所述录音数据以及所述放音数据;获取模块,用于获取所述通话设备的固定时延;校正模块,用于根据所述固定时延,校正所述录音数据的时间戳以及所述放音数据的时间戳,获得校正录音数据以及校正放音数据;消除模块,用于依据所述校正放音数据对所述校正录音数据作回声消除处理。

本发明实施例提供还一种通话设备,所述通话设备包括:存储器;处理器;以及回声消除装置,用于消除通话设备的VoIP多路通话中上行的录音数据中混入的下行的放音数据,所述回声消除装置存储于所述存储器中并包括一个或多个由所述处理器执行的软件功能模组,所述回声消除装置包括:缓存模块,用于缓存所述录音数据以及所述放音数据;标记模块,用于分别用时间戳标记所述录音数据以及所述放音数据;获取模块,用于获取所述通话设备的固定时延;校正模块,用于根据所述固定时延,校正所述录音数据的时间戳以及所述放音数据的时间戳,获得校正录音数据以及校正放音数据;消除模块,用于依据所述校正放音数据对所述校正录音数据作回声消除处理。

与现有技术相比,本发明提供的一种回声消除方法、装置以及通话设备。通过分别用时间戳标记所述录音数据以及所述放音数据;获取所述通话设备的固定时延;根据所述固定时延,校正所述录音数据的时间戳以及所述放音数据的时间戳,获得校正录音数据以及校正放音数据。这样便将通话设备自身结构产生的固定时延对后续回声消除产生的影响消除,提高了回声消除的准确性,提高VoIP多路通话的通话质量和效果,使人们在使用VoIP这样的低成本的通话方式的同时也能得到高品质的效果。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明较佳实施例提供的通话设备的方框示意图。

图2示出了本发明实施例提供的回声消除装置的方框示意图。

图3为图2示出的回声消除装置中获取模块的方框示意图。

图4示出了本发明实施例提供的回声消除方法流程图。

图5为图4示出的回声消除方法流程图中获取所述通话设备的固定时延子步骤流程图。

图6为图4示出的回声消除方法流程图中对校正录音数据作回声消除处理的子步骤流程图。

图标:100-通话设备;101-存储器;102-存储控制器;103-处理器;104-外设接口;105-音频模块;106-网络通信模块;200-回声消除装置;201-音频获得模块;202-缓存模块;203-标记模块;204-查询模块;205-提取单元;206-获取模块;207-运算单元;208-校正模块;209-消除模块。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

图1示出本发明较佳实施例提供的通话设备100的方框示意图。通话设备100优选为移动终端设备,例如可以包括智能手机、平板电脑、膝上型便携计算机、车载电脑、个人数字助理(personal digital assistant,PDA)、穿戴式移动终端等等。所述通话设备100包括回声消除装置200、存储器101、存储控制器102、处理器103、外设接口104、音频模块105、网络通信模块106。

所述存储器101、存储控制器102、处理器103、外设接口104、音频模块105、网络通信模块106各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述回声消除装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器101中或固化在所述通话设备100的操作系统(operating system,OS)中的软件功能模块。所述处理器103用于执行存储器101中存储的可执行模块,例如所述回声消除装置200包括的软件功能模块或计算机程序。

其中,存储器101可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器101用于存储程序,所述处理器103在接收到执行指令后,执行所述程序,本发明任一实施例揭示的流程定义的服务器所执行的方法可以应用于处理器103中,或者由处理器103实现。

处理器103可以是一种集成电路芯片,具有信号处理能力。上述的处理器103可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)、语音处理器以及视频处理器等;还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器103也可以是任何常规的处理器等。

所述外设接口104用于将各种输入/输出装置耦合至处理器103以及存储器101。在一些实施例中,外设接口104、处理器103以及存储控制器102可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。

音频模块105用于向用户提供音频接口。在本实施例中,所述音频模块105可以包括一个或多个麦克风、一个或多个扬声器以及音频电路。

网络通信模块106用于接收下行放音数据以及发送上行录音数据。在本实施例中,网络通信模块106可以但不限于是网络通信芯片。

在其他实施例中通话设备100还包括视频处理模块,用于解码处理视频数据。

第一实施例

请参考图2,图2为本发明较佳实施例提供的一种回声消除装置200的功能模块示意图。回声消除装置200用于消除通话设备100在VoIP多路通话中上行的录音数据中混入的下行的放音数据。回声消除装置200既可以消除语音通话中的回声,也可以消除视频通话中的语音交互部分出现的回声。需要说明的是,参与VoIP多路通话的多个通话设备100中作为发送端的通话设备100收录声音,将收录的声音作为录音数据,并转换为数字信号传送至作为接收端的通话设备100,再由作为接收端的通话设备100解码转换为播放的声音,也就是放音数据。放音数据是由作为发送端的通话设备100传送过来的,所以相对于作为接收端的通话设备100来说放音数据为下行的数据,也被称作下行的放音数据;录音数据是由发送端收录的声音,并需要传送至作为接收端的通话设备100,所以相对作为发送端的通话设备100来说,录音数据为上行的数据,也被称作上行的录音数据。同一个通话设备100既可以作为接收端也可以作为发送端。所以通话设备100在收录上行的录音数据时,会将正在播放的下行的放音数据录入其中,就造成上行的录音数据中混入的下行的放音数据,从而产生有回声的现象。

本发明实施例提供的回声消除装置200包括:音频获得模块201、缓存模块202、标记模块203、查询模块204、获取模块206、校正模块208以及消除模块209。

音频获得模块201,可用于接收通过音频模块105录入的录音数据。例如,接收音频模块105中的麦克风在利用VoIP多路通话过程中收录到的声音。音频获得模块201,还可用于接收音频模块105接收并解码后的放音数据。例如,接收音频模块105中的音频电路在VoIP多路通话过程中接收并解码后的需由扬声器播放的声音。

缓存模块202,用于缓存所述录音数据以及所述放音数据。以方便后续对所述录音数据以及所述放音数据的处理。例如,缓存模块202可以是一个临时存储器,具备数据交换速度很快特点,且方便新数据快速替换已处理完的数据。在实时通话过程中,可以快速对放音数据以及录音数据进行处理,保证通话的实时性。

标记模块203,用于分别用时间戳标记录音数据以及放音数据。例如,分别对录音数据以及放音数据进行采样点时间戳标记,使每一帧录音数据以及每一帧放音数据均有对应的时间标签。为获得通话设备100的固定时延以及消除录音数据和放音数据的数据抖动做准备。需要说明的是,数据抖动会造成放音数据以及录音数据的内容出现卡顿,影响通信质量,也妨碍之后对回声消除的效果。

查询模块204,用于查询所述通话设备100的存储器101是否已存储固定时延。本实施例中,通话设备100的固定时延可以预先被存储至存储器101内。

请参照图3,获取模块206,包括提取单元205以及运算单元207。

当查询模块204查询到存储器101内已存在所述固定时延时,获取模块206,用于直接从通话设备100的存储器101中获取所述固定时延。

提取单元205,用于当查询模块204未查询到存储器101内存在所述固定时延时,分别提取放音数据以及录音数据的梅尔频率倒谱系数特征。需要说明的是,梅尔频率倒谱系数(Mel-FrequencyCepstralCoefficients,MFCCs)特征就是组成梅尔频率倒谱的系数特征。倒谱就是语音的频谱图。一段语音通常被分为很多帧,每帧语音都对应于一个频谱,频谱表示频率与能量的关系。也就是说每一帧语音有他独有的梅尔频率倒谱系数特征。

运算单元207,用于根据所述放音数据的梅尔频率倒谱系数特征和时间戳以及所述录音数据的梅尔频率倒谱系数特征和时间戳,利用动态时间规整,获取所述通话设备100的固定时延。并将固定时延存储于存储器101。需要说明的是固定时延即为由于通话设备100自身机构而产生的放音数据从被接收到播放以及录音数据音频从产生到被收录的时间差。不同的通话设备100具有不同复杂程度的结构,因此对于不同的通话设备100有不同的固定时延。动态时间规整(Dynamic Time Warping,DTW)为一种对语音信号进行伸长或缩短直到与标准模式的长度一致的算法。运算单元207包括处理子单元、比对子单元、时间戳获取子单元以及分析子单元。

处理子单元,用于利用所述动态时间规整处理所述录音数据以及所述放音数据。例如,分别对录音数据以及放音数据进行压缩或伸长,使录音数据与放音数据的长度一致,以方便后续比对子单元对录音数据以及放音数据进行比对。

比对子单元,用于比对动态时间规整处理后的放音数据的梅尔频率倒谱系数特征以及录音数据的梅尔频率倒谱系数特征,获取所述缓存的放音数据与所述缓存的录音数据中相同的梅尔频率倒谱系数特征。需要说明的事,因为每一帧语音有他独有的梅尔频率倒谱系数特征,所以可以认定录音数据中所包含的具有相同梅尔频率倒谱系数特征的语音片段为放音数据被录入录音数据中的部分。

时间戳获取子单元,用于获得所述相同的梅尔频率倒谱系数特征在放音数据中对应的第一时间戳以及在录音数据中对应的第二时间戳。需要说明的是,录音数据中具有相同的梅尔频率倒谱系数特征的语音片段在录音数据标记时间戳时被标记了一个相应的时间戳标记记号,也就是第一时间戳;及放音数据中具有相同的梅尔频率倒谱系数特征的语音片段在放音数据标记时间戳时被标记了一个相应的时间戳标记记号,也就是第二时间戳。

分析子单元,用于根据所述第一时间戳以及所述第二时间戳,运算后获取通话设备100的固定时延。

校正模块208,用于根据所述固定时延,校正录音数据的时间戳以及放音数据的时间戳,获得校正录音数据以及校正放音数据。例如,把放音数据中原有的每一个时间戳的时间值均加上固定时延形成放音数据校正后的时间戳,比如放音数据中的一帧数据时间戳为1分0秒,且固定时延为5秒,则校正放音数据中的这一帧数据的时间戳则为1分5秒。这样能在后续消除回声过程中,放音数据与录音数据中具有相同梅尔频率倒谱系数特征的数据部分在时间上对齐,以使录音数据中混入的放音数据更完整的被剔除。使回声消除效果更好。同时标记时间戳以及校正还能消除录音数据以及放音数据的数据抖动,使通话效果更加好。

消除模块209用于依据所述校正放音数据对所述校正录音数据作回声消除处理。消除模块209包括回声时延估计单元、回声消除单元、滤波单元以及舒适噪音生成单元。

回声时延估计单元,用于估计所述校正录音数据以及所述校正放音数据的回声时延。需要说明的是,回声时延为放音数据被播出后到被收录入录音数据的时间差,它与声音的传播速度有关,而与通话设备100结构无关。

回声消除单元,用于根据所述回声时延、所述校正放音数据以及所述校正录音数据,消除所述校正录音数据中混入的所述放音数据,获得无回声录音数据。例如,可以根据所述回声时延、所述校正放音数据以及所述校正录音数据,采用归一化最小均方自适应算法对校正录音数据进行回声消除。

滤波单元,用于对所述无回声录音数据进行非线性滤波,获得滤波录音数据。进一步消除杂音,提高通话质量。

舒适噪音生成单元,用于根据所述滤波录音数据,利用舒适度噪音生成处理滤波录音数据。需要说明的是,舒适噪音生成(comfort noise generator,CNG)是一个在通话过程中出现短暂静音时用来为电话通信产生背景噪声的程序。这样处理后能提高人们的通话质量以及体验感。

第二实施例

请参考图4,图4为本发明较佳实施例提供的一种回声消除方法的流程图。回声消除方法包括以下步骤:

步骤S101,获取录音数据以及放音数据。

在本发明实施例中,步骤S101可以由音频获得模块201执行。

步骤S102,缓存录音数据以及放音数据。以方便后续对录音数据以及放音数据的处理。

在本发明实施例中,步骤S102可以由缓存模块202执行。

步骤S103,分别用时间戳标记录音数据以及放音数据。

在本发明实施例中,步骤S103可以由标记模块203执行。

步骤S104,查询通话设备100的存储器101是否已存储固定时延。

在本发明实施例中,步骤S104可以由查询模块204执行。当查询到存储器101未存储固定时延,则流程进入步骤S105,通过步骤S105以及S106获取所述通话设备100的固定时延;当查询模块204查询到存储器101已存储固定时延,则可以由获取模块206直接从存储器101中获取通话设备100的固定时延,并流程进入步骤S107。这样可以在已获取固定时延的情况减少步骤,提高工作效率。

步骤S105,分别提取放音数据以及录音数据的梅尔频率倒谱系数特征。

在本发明实施例中,步骤S105可以由提取单元205执行。

步骤S106,根据放音数据的梅尔频率倒谱系数特征和时间戳以及录音数据的梅尔频率倒谱系数特征和时间戳,利用动态时间规整,获取通话设备100的固定时延。

在本发明实施例中,步骤S106可以由运算单元207执行。请参考图5,步骤S106还包括以下子步骤:

步骤S1061,利用动态时间规整处理录音数据以及放音数据。

在本发明实施例中,步骤S1061可以由处理子单元执行。

步骤S1062,比对动态时间规整处理后的放音数据的梅尔频率倒谱系数特征以及录音数据的梅尔频率倒谱系数特征,获取放音数据与录音数据中相同的梅尔频率倒谱系数特征。

在本发明实施例中,步骤S1062可以由比对子单元执行。

步骤S1063,获得相同的梅尔频率倒谱系数特征在放音数据中对应的第一时间戳以及在录音数据中对应的第二时间戳。

在本发明实施例中,步骤S1063可以由时间戳获取子单元执行。

步骤S1064,根据第一时间戳以及第二时间戳,运算后获取通话设备100的固定时延。

在本发明实施例中,步骤S1064可以由分析子单元执行。

步骤S107,根据固定时延,校正录音数据的时间戳以及放音数据的时间戳,获得校正录音数据以及校正放音数据。

在本发明实施例中,步骤S107可以由校正模块208执行。

步骤S108,依据校正放音数据对校正录音数据作回声消除处理。

在本发明实施例中,步骤S108可以由消除模块209执行。请参考图6,步骤S108还包括以下子步骤:

步骤S1081,估计校正录音数据以及校正放音数据的回声时延。

在本发明实施例中,步骤S1081可以由回声时延估计单元执行。

步骤S1082,根据回声时延、校正放音数据以及校正录音数据,消除校正录音数据中混入的放音数据,获得无回声录音数据。

在本发明实施例中,步骤S1082可以由回声消除单元执行。

步骤S1083,对无回声录音数据进行非线性滤波,获得滤波录音数据。

在本发明实施例中,步骤S1083可以由滤波单元执行。

步骤S1084,根据滤波录音数据,利用舒适度噪音生成处理滤波录音数据。获得最终上行的录音数据。

在本发明实施例中,步骤S1084可以由舒适噪音生成单元执行。

综上所述,本发明提供的一种回声消除方法及装置通过缓存所述录音数据以及所述放音数据;并分别用时间戳标记录音数据以及放音数据;获取所述通话设备的固定时延;然后利用固定时延校正所述录音数据的时间戳以及所述放音数据的时间戳,获得校正录音数据以及校正放音数据。这样便将通话设备自身结构产生的时延消除对后续回声消除的影响除去,提高了回声消除的准确性。同时消除录音数据以及放音数据的数据波动,避免录音数据以及放音数据出现卡顿现象,提高通话质量,提高VoIP多路通话的通话质量和效果,使人们在使用VoIP这样的低成本的通话方式的同时也能得到高品质的效果。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

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

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1