通话状态检测方法及装置与流程

文档序号:12133190阅读:534来源:国知局
通话状态检测方法及装置与流程

本发明涉及语音处理技术领域,特别涉及一种通话状态检测方法及装置。



背景技术:

在语音通话过程中,通话的对端发出声音的同时,本地也发出声音的通话状态称为双讲状态。为了提高通话质量,终端需要检测当前的通话状态,并在检测出当前的通话状态是双讲状态时,对通话过程中的声音信号进行特定处理。

在语音通话中,回声是指通话对端发送到终端的远端信号由终端的扬声器单元播放后,经过反射到达终端的麦克风单元,并被麦克风单元采集再传回通话对端的现象。其中,远端信号经过反射到达麦克风单元的信号称为回声信号,麦克风单元采集到的近端信号中除了包含回声信号之外,还包含本地产生的声音信号,当通话状态为双讲状态,比如终端的用户正在讲话时,本地产生的声音信号的强度通常比较强,反之,若通话状态为非双讲状态,则本地产生的声音信号的强度通常比较弱。

现有技术在检测通话状态时,终端首先估计远端信号反射到达麦克风单元的过程中的幅度衰减情况,进而估计被麦克风单元采集的回声信号,将麦克风单元采集到的近端信号减去估计出的回声信号得到残留信号,当上述幅度衰减情况估计较准确的情况下,残留信号中的回声信号的成分应该较少,绝大部分是本地产生的声音信号,终端可以检测残留信号的强度是否大于预设阈值,若是,则说明本地产生的声音信号较强,可以认为当前通话状态为双讲状态。

在实际应用中,很难保证对上述幅度衰减情况估计的准确性,比如,当回声时延(即远端信号反射到达麦克风单元的时长)估计不准确,或者,用于回声跟踪的滤波器未能准确收敛时,都会导致幅度衰减情况估计不准确,进而导致双讲状态检测的准确性较低。



技术实现要素:

为了解决现有技术中因幅度衰减情况估计不准确而导致双讲状态检测的准确性较低的问题,本发明实施例提供了一种通话状态检测方法及装置,技术方案如下:

第一方面,提供了一种通话状态检测方法,所述方法包括:

获取远端信号,所述远端信号是根据语音通话的对端发送的声音信号所获得的信号;

对所述远端信号叠加超声波信号,获得叠加所述超声波信号后的混合信号,并通过扬声器单元播放所述混合信号;

获取近端信号,所述近端信号是通过麦克风单元采集到的声音信号;

根据所述超声波信号确定所述混合信号中的第一信号段和所述近端信号中的第二信号段;

计算所述第一信号段与所述第二信号段之间的相关值;

当所述相关值小于预设的相关值阈值时,确定所述麦克风单元采集到所述近端信号时的通话状态为双讲状态。

第二方面,提供了一种通话状态检测装置,所述装置包括:

远端信号获取模块,获取远端信号,所述远端信号是根据语音通话的对端发送的声音信号所获得的信号;

信号叠加模块,用于对所述远端信号叠加超声波信号,获得叠加所述超声波信号后的混合信号;

播放模块,用于通过扬声器单元播放所述混合信号;

近端信号获取模块,用于获取近端信号,所述近端信号是通过麦克风单元采集到的声音信号;

信号确定模块,用于根据所述超声波信号确定所述混合信号中的第一信号段和所述近端信号中的第二信号段;

相关值计算模块,计算计算所述第一信号段与所述第二信号段之间的相关值;

状态确定模块,用于当所述相关值小于预设的相关值阈值时,确定所述麦克风单元采集到所述近端信号时的通话状态为双讲状态。

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

通过在远端信号中叠加的超声波信号以及麦克风单元采集到的近端信号中包含的超声波信号对混合信号和近端信号进行对齐,并通过对齐后的近端信号和混合信号之间的相关值判断通话状态是否为双讲状态,相比于对远端信号反射到达麦克风单元的过程中的幅度衰减情况进行估计的方案,本发明所示的方案能够提高对双讲状态检测的准确性。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1是本发明涉及的一种语音通话系统的结构示意图;

图2是根据一示例性实施例示出的一种通话状态检测方法的流程图;

图3是图2所示实施例涉及的一种混合信号频谱图;

图4是图2所示实施例涉及的一种远端信号衰减流程示意图;

图5是图2所示实施例涉及的一种相关值计算的流程示意图;

图6是图2所示实施例涉及的一种通话状态检测流程的示意图;

图7是根据一示例性实施例示出的一种通话状态检测装置的结构方框图;

图8是根据一示例性实施例示出的一种终端的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

请参考图1,其示出了本发明涉及的一种语音通话系统的结构示意图。该系统包括:若干个终端120。该若干个终端120之间通过通信网络相连。

可选的,通信网络是有线网络或无线网络。

其中,若干个120均支持语音通话功能,比如,该语音通话功能可以是基于PSTN(Public Switched Telephone Network,公共交换电话网络)的传统语音通话功能,或者,该语音通话功能也可以是基于互联网络实现的网络通话功能。

具体的,当该语音通话功能是基于PSTN的传统语音通话功能时,该终端120可以是手机或者固定电话等;当该语音通话功能是基于互联网络实现的网络通话功能时,该终端120可以是具有互联网接入能力的智能手机、平板电脑、电子书阅读器、包含麦克风单元和扬声器单元的个人电脑、笔记本电脑、智能手表或智能眼镜等。

在本发明所示的方案中,终端在获取到根据通话的对端发送的声音信号所获得的远端信号之后,对该远端信号叠加超声波信号,获得叠加该超声波信号后的混合信号,通过扬声器单元播放该混合信号,并通过麦克风单元采集获取近端信号,根据超声波信号确定混合信号中的第一信号段和近端信号中的第二信号段,并计算该第一信号段与该第二信号段之间的相关值,当该相关值小于预设的相关值阈值时,可以确定该第二信号段对应的通话状态为双讲状态。

即在本发明中,终端通过在远端信号中叠加超声波信号,并播放叠加该超声波信号之后的混合信号,当麦克风单元采集到近端信号时,通过超声波信号将近端信号与混合信号进行对齐,近端信号中包含对齐后的混合信号从扬声器单元反射到达麦克风单元的回声信号,终端计算近端信号与对齐后的混合信号之间的相关值,如果该相关值较低,则说明近端信号中只有少部分信号是对齐后的混合信号从扬声器单元发射到达麦克风单元的回声信号,其它部分信号是本地发出的声音信号,可以确认麦克风单元采集到该近端信号的时刻的通话状态是双讲状态,反之,如果该相关值较高,则说明近端信号中有很大一部分是对齐后的混合信号从扬声器单元发射到达麦克风单元的回声信号,本地发出的声音信号在近端信号中的占比较低,此时可以确认麦克风单元采集到该近端信号的时刻的通话状态不是双讲状态。

在上述方案中,终端通过在远端信号中叠加的超声波信号以及麦克风单元采集到的近端信号中包含的超声波信号对混合信号和近端信号进行对齐,并通过对齐后的近端信号(即第二信号段)和对齐后的混合信号(即第一信号段)之间的相关值判断通话状态是否为双讲状态,相比于对远端信号反射到达麦克风单元的过程中的幅度衰减情况进行估计的方案,本发明所示的方案能够提高对双讲状态检测的准确性。

另外,上述方案通过人耳无法听到的超声波信号来实现混合信号和近端信号之间的对齐,不会干扰用户正常的通话体验。

可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(Extensible Markup Language,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Trassport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(Internet Protocol Security,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。

图2是根据一示例性实施例示出的一种通话状态检测方法的流程图,以应用于如图1所示的网络环境的终端120中为例,该通话状态检测方法可以包括如下几个步骤:

步骤201,接收语音通话的对端发送的声音信号。

终端在进行语音通话的过程中,可以接收通话的对端发送的声音信号,该声音信号可以是通过PSTN发送的声音信号,也可以是通过数据网络发送的声音信号。

步骤202,对接收到的该声音信号进行低通滤波,获得远端信号。

其中,该远端信号是承载语音通话的对端发出的声音的信号,该低通滤波的截止频率低于超声波的最低频率。

在语音通话过程中,语音信号的正常频率比较低,通常在几百到几千赫兹之间,而在接收到的声音信号中,可能会携带一些高频的干扰信号,这些高频的干扰信号中可能存在超声波信号。而在本发明后续的步骤中,需要通过叠加超声波信号来实现信号检测和对齐,如果语音通话的对端发送的声音信号中携带超声波信号,则可能会对后续叠加的超声波信号造成干扰,影响信号对齐的准确性,进一步影响双讲状态检测的准确性,因此,在本发明实施例中,终端在接收到语音通话的对端发送的声音信号后,首先对该声音信号进行低通滤波,滤除接收到的声音信号中的高频干扰信号。其中,该低通滤波的截止频率需要低于超声波的最低频率,避免在后续步骤中对叠加在远端信号上的超声波信号造成干扰。

具体的,超声波信号的最低频率为20KHz,上述低通滤波的截止频率可以介于语音信号的正常频率与超声波信号的最低频率之间,比如,该截止频率可以是12KHz,即终端将接收到的声音信号中,低于12KHz的信号获取为远端信号。

步骤203,检测该远端信号的功率值是否大于预设功率阈值,若是,进入步骤204,否则,进入步骤211。

一方面,由于本发明实施例需要借助远端信号反射到麦克风单元的回声信号来进行信号对齐和相关性计算,首先需要远端信号能够产生被麦克风单元采集到的回声。因此,在本发明实施例中,在获取到远端信号之后,终端首先判断该远端信号的功率值是否大于预设功率阈值,如果是,则说明远端信号的功率较高,通过扬声器单元播放后,麦克风单元会采集到回声信号,反之,如果该远端信号的功率值不大于预设功率阈值,则说明远端信号的功率较高,通过扬声器单元播放后,麦克风单元可能不会采集到回声信号。

另一方面,远端信号的功率值同时也用于判断语音通话的对端是否正在发出声音。若远端信号的大于预设功率阈值,则说明语音通话的对端正在发出声音,比如对端用户正在讲话,此时进入步骤204,进行后续的进一步检测;若远端信号的不大于预设功率阈值,则说明语音通话的对端没有发出声音,或者语音通话的对端发出的声音很小,比如对端用户当前没有讲话,此时进入步骤205。

在本发明实施例中,在计算远端信号的功率值时,终端可以将远端信号以固定时长(例如20ms)进行分帧,并对每一个远端信号帧分别进行功率值计算,具体的,以计算第n帧的功率值为例,该第n帧的功率值的计算公式可以如下:

其中,PX(n)为第n帧的功率值,M为帧长度,数值上等于远端信号的采样频率乘以20ms,x为远端信号的采样值。

步骤204,对该远端信号叠加超声波信号,获得叠加该超声波信号后的混合信号。

常规麦克风单元采用48KHz的采样频率,根据香农采样定理,麦克风单元采集到的信号的最大频率为24KHz。为了使得麦克风单元能够采集到叠加有超声波信号的回声信号,在本发明实施例中,对远端信号叠加的超声波信号的频率需要低于麦克风单元采集到的信号的最大频率。具体比如,当麦克风单元的采样率为48KHz时,在远端信号上叠加的超声波信号的频率范围可设为20~22KHz。

可选的,为了便于后续检测和采集近端信号以及将混合信号与麦克风单元采集到的近端信号进行对齐,终端需要对叠加在远端信号上的超声波信号进行编码,以使得叠加在该远端语音信号上的该超声波信号所承载的数据信息在预定周期内不重复;该预定周期大于或者等于回声时延的最大值。

其中,该回声时延是该扬声器单元播放该混合信号到该麦克风单元采集到该混合信号对应的回声之间的时延。

可选的,该超声波信号所承载的数据信息用于指示该超声波信号对应的频点。比如,该超声波信号所承载的数据信息可以包括若干个超声编码,每个超声编码由至少两个编码单元组成,且每个编码单元用于指示至少两个超声频点中的每个超声频点上是否存在信号。

具体的,以每个超声编码由三个编码单元组成,每个编码单元用于指示三个超声频点中的每个超声频点上是否存在信号为例,超声波信号的编码设计可以如下:

在本发明实施例中,每个编码单元由f0(频率为20400hz)、f1(频率为21100hz)、f2(频率为21800hz)三个超声频点中的一个频点赋值构建而成(实际应用中,也可以设计大于3个频点的编码单元,编码单元的个数可以由最大回声时延和帧长度来确定,本发明实施例仅以三个编码单元进行举例说明)为例,每个编码单元对应的超声波信号的公式如下:

s=A*(b0sin(2πf0*t)+b1sin(2πf1*t)+b2sin(2πf2*t));

其中,A为超声波信号的幅值,t的取值范围为[0,M-1];b0、b1以及b2为对应的三个频点的赋值开关(即b0、b1以及b2的取值为0或1),因此,一个编码单元可以代表一个0~7的值,在一个超声编码中,第一个和第二个编码单元取值范围设定为1~7,而第三个编码单元设定为0,这样可以最多构造49个不同值的超声编码,利用这49个不同值的超声编码可以设计成一个大小为49的码表,当远端信号需要叠加超声信号时,按顺序读取该码表得到对应的超声编码,按照上述超声波信号公式构成超声波信号后,与远端信号进行叠加(将信号样点值,也就是信号的幅值相加即可);当按顺序读完最后一个码表数据后,下一次读取码表数据时,从码表第一个数据开始,这样循环读取码表数据构建超声波信号。其中,设定为0的编码单元用于指示叠加在远端信号上的相邻两个超声编码之间的边界,可选的,在实际应用中,在一个超声编码中,设定为0的编码单元也可以是第一个编码单元或者第二个编码单元。

在本发明实施例中,在远端信号中叠加超声信号时,在每20ms时长的一个远端信号帧上叠加一个编码单元对应的超声波信号,即每相邻三个远端信号帧上叠加一个超声编码对应的超声波信号。具体的,以每个编码单元以二进制指示对应的编码值为例,请参考图3,其示出了本发明实施例涉及的一种混合信号频谱图,在图3中,终端从0.36s的时刻点开始,在每0.02s的时长上叠加同一个编码单元对应的超声波信号,并且,每0.06s中,最后0.02s的时长上不叠加超声波信号,或者说,该最后0.02s的时长上叠加的超声波信号对应的编码单元的编码值为0,上述每0.06s的时长上叠加的超声波信号用于指示一个超声编码,在预定周期内,每个超声编码的编码值都不相同。具体的,在图3中,一个编码单元的编码值以b2、b1和b0的取值来表示,一个超声编码的编码值以三个编码单元的编码值来表示,在0.36s~0.38s内,f2频点上无信号,f1和f0频点上有信号,则编码单元的编码值为011(即表示3),0.38s~0.40s内,f2和f1频点上有信号,f0频点上无信号,则编码单元的编码值为110(即表示6),在0.40s~0.42s内,f2、f1和f0频点上都无信号,则编码单元的编码值为000(即表示0),即在0.36s~0.42s内,远端信号上叠加的超声波信号对应的超声编码的编码值为“360”,依此类推,在0.42s~0.48s内,远端信号上叠加的超声波信号对应的超声编码的编码值为“540”。

可选的,终端在对该远端信号叠加超声波信号之前,还可以检测将该远端信号和该超声波信号叠加之后获得的声音信号的幅值是否超出预设的幅值范围;若该声音信号的幅值超出该预设的幅值范围,则按照预定的衰减策略对该远端信号的幅值进行衰减处理。

在语音信号处理中,信号样点值使用16位数据进行表示,即最多表示216个不同的信号采样值,而语音信号中每个幅值对应一个信号采样值,即幅值处于[32767,-32768]之间的语音信号能够被准确表示,而超出该幅值范围的语音信号则无法被准确表示,从而导致语音播放时产生破音现象。在本发明实施例中,为了避免叠加超声波信号之后的混合信号播放时产生破音,可以对幅值过大的远端信号进行幅值衰减。具体的,请参考图4,其示出了本发明实施例涉及的一种远端信号衰减流程示意图。如图4所示,在对远端信号叠加超声波信号之前,首先判断将远端信号与超声波信号进行叠加之后,获得的声音信号的幅值是否超出[32767,-32768],若是,则说明该声音信号通过扬声器单元播放时会产生破音现象,此时,可以按照预定的衰减策略对远端信号进行衰减,并检测衰减后的远端信号与超声波信号进行叠加获得的声音信号的幅值是否超出[32767,-32768],若获得的声音信号的幅值没有超出[32767,-32768],则将远端信号与超声波信号进行叠加,获得混合信号。

其中,上述按照预定的衰减策略对远端信号进行衰减,具体可以是按照预定的衰减比例对远端信号进行衰减,比如,每次对远端信号进行衰减时,可以将远端信号的幅值乘以衰减比例,以获得衰减后的远端信号,该衰减比例可以是小于1的正数,比如,该衰减比例可以0.9或者0.8等等。

可选的,在本发明实施例中,超声波信号的幅值(即上述公式中的A)应该取一个适当值,以在终端能够准确检测出麦克风单元采集到的近端信号中的超声波信号的同时,避免超声波信号的幅值过高而导致超声叠加后的混合信号出现破音,从而影响通话效果,比如,超声波信号的幅值可以设置为3000。

步骤205,通过扬声器单元播放该混合信号。

在本发明实施例中,终端通过扬声器单元播放该混合信号的同时,还将混合信号缓存在本地,以便后续进行信号对齐。

步骤206,获取近端信号,该近端信号是麦克风单元采集到的声音信号。

其中,在本发明所示的方案中,近端信号是指终端通过麦克风单元采集到的声音信号,其中包含扬声器单元播放的声音信号经过反射达到麦克风单元后,被麦克风单元采集到的回声信号,以及终端本地产生的声音信号;即麦克风单元采集到的近端信号中,包含扬声器单元播放的远端信号、叠加在远端信号上的超声波信号以及终端本地产生的声音信号(比如终端的用户说话的声音)。

步骤207,根据超声波信号确定混合信号中的第一信号段和近端信号中的第二信号段。

其中,第一信号段是混合信号中某一段时域上的信号,第二信号段是近端信号中某一段时域上的信号。

在一种可能的实现方式中,终端可以先确定近端信号中的第二信号段,然后再根据第二信号段中包含的超声波信号来确定混合信号中的第一信号段。比如,在确定第一信号段和第二信号段时,终端可以解析该近端信号中包含的超声波信号所承载的数据信息,将该近端信号中,承载目标数据信息的超声波信号所对应的时域上的信号确定为第二信号段,确定最近播放的,且叠加有承载目标数据信息的超声波信号的混合信号的播放时间,并将该混合信号中,在该确定的播放时间上播放的信号确定为第二信号段。

具体的,终端可以对麦克风采集信号的超声波频段进行分析,按照上述编码规则获取超声波信号的编码信息,比如,终端采用FFT(Fast Fourier Transformation,快速傅立叶变换)分析法对采集到的近端信号进行分析,确定采集到的近端信号中f0、f1以及f2这三个超声频点上的功率值,并检测这三个超声频点上的功率值是否大于某个阈值,若是,则说明对应的频点上有信号,否则认为对应的频点上无信号,进而解析出当前采集到的,承载一个完整的超声编码的相邻三帧近端信号Cap(i),该完整的超声编码即为上述目标数据信息,该相邻三帧近端信号Cap(i)即为上述第二信号段,同时搜索已播放的混合信号中,承载相同超声编码,且最近播放的相邻三帧混合信号Play(i),并将该混合信号Play(i)和当前采集的近端信号Cap(i)对齐,即当前采集的近端信号Cap(i)包含了Play(i)对应的回声信号,该混合信号Play(i)即为近端信号Cap(i)对应的第一信号段。其中,上述每一帧近端信号的时长与每一帧混合信号的时长与上述步骤中每一帧远端信号的时长相同,比如,都是20ms。终端在搜索上述混合信号Play(i)时,可以首先确定最近播放,且叠加有上述完整的超声编码的超声波信号的混合信号的播放时间,并将该播放时间上播放的信号确定为上述混合信号Play(i)。

具体比如,假设终端检测到从0.37s的时间点开始,近端信号中的f2、f1和f0频点上有信号,且在0.37s~0.43s内,近端信号中上述的f2、f1和f0频点上的超声波信号对应的超声编码的编码值为“360”,终端查询确定图3对应的混合信号中,从0.36s~0.42s内的混合信号中携带的超声波信号对应的超声编码的编码值也为“360”,则确定在0.37s~0.43s内采集到的近端信号与图3中0.36s~0.42s内的混合信号包含相同超声波信号,即图3中0.36s~0.42s内播放的混合信号为第一信号段,在0.37s~0.43s内采集到的近端信号为第二信号段。

或者,在另一种可能的实现方式中,终端也可以先确定混合信号中的第一信号段,然后再根据第一信号段中包含的超声波信号来确定近端信号中的第二信号段。比如,在确定第一信号段和第二信号段时,终端可以将混合信号中,承载目标数据信息的超声波信号所对应的时域上的信号确定为第一信号段,并在第一信号段被播放后采集到的近端信号中,查询承载该目标数据信息的超声波信号所对应的时域上的信号,将查询获得的信号确定为该第二信号段。

具体的,终端可以将混合信号中,承载某一个超声编码的相邻三帧混合信号Play(ii)确定为第一信号段,并对麦克风单元在该第一信号段被播放后采集到的近端信号进行分析,在第一信号段被播放后采集到的近端信号中,查询与上述混合信号Play(ii)包含相同的超生编码的相邻三帧近端信号Cap(ii),该近端信号Cap(ii)即为混合信号Play(ii)对应的第二信号段。

步骤208,计算第一信号段与第二信号段之间的相关值。

可选的,在计算该第一信号段与该第二信号段之间的相关值时,终端可以通过快速傅里叶变换分别计算该第一信号段与该第二信号段各自对应的功率谱,对第一信号段与第二信号段各自对应的功率谱进行二值化处理,获得第一信号段与第二信号段各自对应的二值化数组,并计算该第一信号段与该第二信号段各自对应的二值化数组之间的相关值。

可选的,为了降低相关值计算的复杂度,提高计算速度,降低终端的电量消耗,在本发明实施例中,终端计算第一信号段与该第二信号段各自对应的功率谱时,可以计算该第一信号段和该第二信号段各自对应在指定频段上的功率谱,该指定频段可以是语音通话过程中,大部分声音所在的频段,比如,该指定频段可以是500Hz~1200Hz。

其中,对一个信号(比如上述第一信号段或第二信号段)的功率谱进行二值化处理时,可以对该信号的功率谱进行平滑滤波,获得该信号的功率谱中每个频点上的功率平滑值,并根据该信号的功率谱,以及该信号的功率谱中每个频点上的功率平滑值,对该信号的功率谱进行二值化处理,获得该信号对应的二值化数组。

具体的,请参考图5,其示出了本发明实施例涉及的一种相关值计算的流程示意图,其中,终端对第一信号段进行做快速傅立叶变换,获得该第一信号段在500Hz~1200Hz上的功率谱Pp(j),其中,该功率谱Pp(j)表示第一信号段在500Hz~1200Hz中的各个频点上的功率,j的取值范围为[m1,m2],其中,

其中,M是上述快速傅立叶变换点数的一半,fs是第一信号段的采样频率。

终端对Pp(j)进行平滑滤波,获得Ppsm(j),该Ppsm(j)表示Pp(j)中每个频点上的功率平滑值。终端根据Ppsm(j)对Pp(j)进行二值化,具体的,对于Pp(j)上的每个频点,比较该频点的功率值与该频点对应在Ppsm(j)中的功率平滑值的大小,若该频点的功率值大于该频点对应在Ppsm(j)中的功率平滑值,则将该频点的取值设置为1,否则,将该频点的取值设置为0,最后获得Pp(j)的二值化数组Ppb(j)。

相应的,终端同样对第二信号段做快速傅立叶变换,获得第二信号段在500Hz~1200Hz上的功率谱Pc(j),对Pc(j)做平滑滤波,获得Pcsm(j),该Pcsm(j)表示Pc(j)中每个频点上的功率平滑值,终端根据Pcsm(j)对Pc(j)进行二值化,获得Pc(j)的二值化数组Pcb(j)。

最后,终端计算Ppb(j)和Pcb(j)之间的相关值,计算出的相关值即可以作为第一信号段和第二信号段在指定频段上的相关值。具体的相关值计算公式可以如下:

PCxor=∑k∈[m1,m2](Ppb(k)Xor Pcb(k))/(m2-m1+1);

其中,Xor为异或运算符。

步骤209,判断该相关值是否小于预设的相关值阈值,若是,进入步骤210,否则,进入步骤211。

其中,上述相关值阈值可以是开发人员预先设置的阈值。

步骤210,确定通话状态为双讲状态。

当上述步骤209判断出相关值小于预设的相关值阈值时,可以确定麦克风单元采集到上述近端信号时的通话状态为双讲状态。

步骤211,确定通话状态为非双讲状态。

当上述步骤203检测出远端信号的功率值不大于预设功率阈值时,可以确定获取到远端信号时的通话状态为非双讲状态;或者,当上述步骤209判断出相关值不小于预设的相关值阈值时,可以确定麦克风单元采集到上述近端信号时的通话状态为非双讲状态。

在本发明实施例中,终端中的扬声器单元播放混合信号时,终端的麦克风单元采集到的近端信号中包含本地产生的声音信号(比如终端的用户的说话声音)以及混合信号经过发射到达麦克风单元的回声信号。上述步骤208中计算出的相关值越大,说明回声信号在近端信号中的占比越大,本地产生的声音信号在近端信号中的占比越小;反之,若计算出的相关值越小,则说明回声信号在近端信号中的占比越小,本地产生的声音信号在近端信号中的占比越大。当上述计算出的相关值小于预设的相关值阈值时,则可以认为本地产生的声音信号的信号强度较高,很可能是终端的用户在说话,再结合上述步骤203中判断出远端信号的功率值大于预设的功率阈值,可以确定近端信号对应的通话状态为双讲状态;反之,当上述计算出的相关值不小于预设的相关值阈值时,则可以认为本地产生的声音信号的信号强度较低,终端的用户可能没有说话,可以确定近端信号对应的通话状态为非双讲状态。

具体的,请参考图6,其示出了本发明实施例涉及的一种通话状态检测流程的示意图,如图6所示,终端接收到通话的对端发送的声音信号时,对接收到的声音信号进行低通滤波,获得远端信号,并判断远端信号的功率是否大于预设的功率阈值,若远端信号的功率不大于功率阈值,则确定当前通话状态为非双讲状态,若远端信号的功率大于功率阈值,则对远端信号叠加承载超声波信号,获得混合信号并存储;终端通过扬声器单元播放该混合信号,同时将麦克风单元采集到的声音信号获取为近端信号,通过解析近端信号中的超声波信号所携带的编码来与混合信号进行对齐,确定出包含相同超声波信号的,混合信号中的第一信号段以及近端信号中的第二信号段,并计算第一信号段和第二信号段之间的相关值,若计算出的相关值小于相关值阈值,则确定当前通话状态为双讲状态,否则,确定当前通话状态为非双讲状态。

综上所述,本发明实施例提供的通话状态检测方法,终端通过在远端信号中叠加的超声波信号以及麦克风单元采集到的近端信号中包含的超声波信号对混合信号和近端信号进行对齐,并通过对齐后的近端信号和混合信号之间的相关值判断通话状态是否为双讲状态,相比于对远端信号反射到达麦克风单元的过程中的幅度衰减情况进行估计的方案,本发明所示的方案能够提高对双讲状态检测的准确性。

此外,本发明实施例提供的方法,终端通过人的听觉无法感觉到的超声波信号来对混合信号和近端信号进行对齐,避免对用户的正常通话造成干扰。

图7是根据一示例性实施例示出的一种通话状态检测装置的结构方框图。该通话状态检测装置可以用于如图1所示的网络环境的终端120中,以执行图2所示实施例中的全部或者部分步骤。该通话状态检测装置可以包括:

远端信号获取模块701,获取远端信号,所述远端信号是根据语音通话的对端发送的声音信号所获得的信号;

信号叠加模块702,用于对所述远端信号叠加超声波信号,获得叠加所述超声波信号后的混合信号;

播放模块703,用于通过扬声器单元播放所述混合信号;

近端信号获取模块704,用于获取近端信号,所述近端信号是通过麦克风单元采集到的声音信号;

信号确定模块705,用于根据所述超声波信号确定所述混合信号中的第一信号段和所述近端信号中的第二信号段;

相关值计算模块706,计算所述第一信号段与所述第二信号段之间的相关值;

状态确定模块707,用于当所述相关值小于预设的相关值阈值时,确定所述麦克风单元采集到所述近端信号时的通话状态为双讲状态。

可选的,所述装置还包括:

功率检测模块,用于在所述信号叠加模块对所述远端信号叠加超声波信号之前,检测所述远端信号的功率值是否大于预设功率阈值;

所述信号叠加模块,用于当所述功率检测模块的检测结果为所述远端信号的功率值大于所述预设功率阈值时,执行所述对所述远端信号叠加超声波信号的步骤。

可选的,所述信号获取模块,包括:

信号接收单元,用于接收所述对端发送的声音信号;

滤波单元,用于对接收到的所述声音信号进行低通滤波,获得所述远端信号;

其中,所述低通滤波的截止频率低于所述超声波信号的最低频率。

可选的,叠加在所述远端语音信号上的所述超声波信号所承载的数据信息在预定周期内不重复;

所述预定周期大于或者等于回声时延的最大值,所述回声时延是所述扬声器单元播放所述混合信号到所述麦克风单元采集到所述混合信号对应的回声之间的时延。

可选的,所述信号确定模块,包括:

第一信号确定单元,用于将所述近端信号中,承载目标数据信息的超声波信号所对应的时域上的信号确定为所述第二信号段;

播放时间确定单元,用于确定最近播放的,且叠加有承载所述目标数据信息的超声波信号的混合信号的播放时间;

第二信号确定单元,用于将所述混合信号中,在所述播放时间上播放的信号确定为所述第一信号段。

可选的,所述信号确定模块,包括:

第三信号确定单元,用于将所述混合信号中,承载目标数据信息的超声波信号所对应的时域上的信号确定为所述第一信号段;

查询单元,用于在所述第一信号段被播放后采集到的所述近端信号中,查询承载所述目标数据信息的超声波信号所对应的时域上的信号;

第四信号确定单元,用于将所述查询单元查询获得的信号确定为所述第二信号段。

可选的,所述超声波信号所承载的数据信息用于指示所述超声波信号对应的频点。

可选的,所述超声波信号所承载的数据信息包括若干个超声编码,每个所述超声编码由至少两个编码单元组成,且每个所述编码单元用于指示至少两个超声频点中的每个超声频点上是否存在信号。

可选的,所述相关值计算模块,包括:

功率谱获取单元,用于分别获取所述第一信号段与所述第二信号段各自对应的功率谱;

二值化处理单元,用于对所述第一信号段与所述第二信号段各自对应的功率谱进行二值化处理,获得所述第一信号段与所述第二信号段各自对应的二值化数组;

相关值计算单元,用于计算所述第一信号段与所述第二信号段各自对应的二值化数组之间的相关值。

可选的,所述装置还包括:

幅值检测模块,用于在所述信号叠加模块对所述远端信号叠加超声波信号之前,检测将所述远端信号和所述超声波信号叠加之后获得的声音信号的幅值是否超出预设的幅值范围;

衰减模块,用于当所述幅值检测模块的检测结果为所述声音信号的幅值超出所述预设的幅值范围时,按照预定的衰减策略对所述远端信号的幅值进行衰减处理。

综上所述,本发明实施例提供的通话状态检测装置,通过在远端信号中叠加的超声波信号以及麦克风单元采集到的近端信号中包含的超声波信号对混合信号和近端信号进行对齐,并通过对齐后的近端信号和混合信号之间的相关值判断通话状态是否为双讲状态,相比于对远端信号反射到达麦克风单元的过程中的幅度衰减情况进行估计的方案,本发明所示的方案能够提高对双讲状态检测的准确性。

此外,本发明实施例提供的装置,终端通过人的听觉无法感觉到的超声波信号来对混合信号和近端信号进行对齐,避免对用户的正常通话造成干扰。

图8是根据一示例性实施例示出的一种终端800的结构示意图。本发明实施例中的终端800可以包括一个或多个如下组成部分:用于执行计算机程序指令以完成各种流程和方法的处理器,用于信息和存储程序指令随机接入存储器(RAM)和只读存储器(ROM),用于存储数据和信息的存储器,I/O设备,界面,天线等。具体来讲:

终端800可以包括RF(Radio Frequency,射频)电路810、存储器820、输入单元830、显示单元840、传感器850、音频电路860、WiFi(wireless fidelity,无线保真)模块870、处理器880、电源882、摄像头890等部件。本领域技术人员可以理解,图8中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

下面结合图8对终端800的各个构成部件进行具体的介绍:

RF电路810可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器880处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路810还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband Code Division Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。

存储器820可用于存储软件程序以及模块,处理器880通过运行存储在存储器820的软件程序以及模块,从而执行终端800的各种功能应用以及数据处理。存储器820可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端800的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

输入单元830可用于接收输入的数字或字符信息,以及产生与终端800的用户设置以及功能控制有关的键信号输入。具体地,输入单元830可包括触控面板831以及其他输入设备832。触控面板831,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板831上或在触控面板831附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板831可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器880,并能接收处理器880发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板831。除了触控面板831,输入单元830还可以包括其他输入设备832。具体地,其他输入设备832可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元840可用于显示由用户输入的信息或提供给用户的信息以及终端800的各种菜单。显示单元840可包括显示面板841,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板841。进一步的,触控面板831可覆盖显示面板841,当触控面板831检测到在其上或附近的触摸操作后,传送给处理器880以确定触摸事件的类型,随后处理器880根据触摸事件的类型在显示面板841上提供相应的视觉输出。虽然在图8中,触控面板831与显示面板841是作为两个独立的部件来实现终端800的输入和输入功能,但是在某些实施例中,可以将触控面板831与显示面板841集成而实现终端800的输入和输出功能。

终端800还可包括至少一种传感器850,比如陀螺仪传感器、磁感应传感器、光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板841的亮度,接近传感器可在终端800移动到耳边时,关闭显示面板841和/或背光。作为运动传感器的一种,加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端800还可配置的气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路860、扬声器881,传声器862可提供用户与终端800之间的音频接口。音频电路860可将接收到的音频数据转换后的电信号,传输到扬声器861,由扬声器861转换为声音信号输出;另一方面,传声器862将收集的声音信号转换为电信号,由音频电路860接收后转换为音频数据,再将音频数据输出处理器880处理后,经RF电路810以发送给比如另一终端,或者将音频数据输出至存储器820以便进一步处理。

WiFi属于短距离无线传输技术,终端800通过WiFi模块870可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图8示出了WiFi模块870,但是可以理解的是,其并不属于终端800的必须构成,完全可以根据需要在不改变公开的本质的范围内而省略。

处理器880是终端800的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器820内的软件程序和/或模块,以及调用存储在存储器820内的数据,执行终端800的各种功能和处理数据,从而对终端进行整体监控。可选的,处理器880可包括一个或多个处理单元;优选的,处理器880可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器880中。

终端800还包括给各个部件供电的电源882(比如电池),优选的,电源可以通过电源管理系统与处理器880逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

摄像头890一般由镜头、图像传感器、接口、数字信号处理器、CPU、显示屏幕等组成。其中,镜头固定在图像传感器的上方,可以通过手动调节镜头来改变聚焦;图像传感器相当于传统相机的“胶卷”,是摄像头采集图像的心脏;接口用于把摄像头利用排线、板对板连接器、弹簧式连接方式与终端主板连接,将采集的图像发送给所述存储器820;数字信号处理器通过数学运算对采集的图像进行处理,将采集的模拟图像转换为数字图像并通过接口发送给存储器820。

尽管未示出,终端800还可以包括蓝牙模块等,在此不再赘述。

终端800除了包括一个或者多个处理器880,还包括有存储器,以及一个或者多个模块,其中一个或者多个模块存储于存储器中,并被配置成由一个或者多个处理器执行,以实现上述图2所示的通话状态检测方法的全部或者部分步骤。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由服务器的处理器执行以完成本发明各个实施例所示的通话状态检测方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

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