CN103442427B - 数据同步方法、装置及系统,回声消除方法及系统 - Google Patents

数据同步方法、装置及系统,回声消除方法及系统 Download PDF

Info

Publication number
CN103442427B
CN103442427B CN201310412254.XA CN201310412254A CN103442427B CN 103442427 B CN103442427 B CN 103442427B CN 201310412254 A CN201310412254 A CN 201310412254A CN 103442427 B CN103442427 B CN 103442427B
Authority
CN
China
Prior art keywords
data
audio
thread
byte data
byte
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310412254.XA
Other languages
English (en)
Other versions
CN103442427A (zh
Inventor
唐新春
刘华旺
卿远鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HUNAN CHUANGZHI DIGITAL SCI TE
HUNAN ELECTRONIC INFORMATION INDUSTRY GROUP Co.,Ltd.
Original Assignee
HUNAN ELECTRONIC INFORMATION INDUSTRY GROUP Co Ltd
POWERISE DIGITAL TECHNOLOGIES Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by HUNAN ELECTRONIC INFORMATION INDUSTRY GROUP Co Ltd, POWERISE DIGITAL TECHNOLOGIES Co Ltd filed Critical HUNAN ELECTRONIC INFORMATION INDUSTRY GROUP Co Ltd
Priority to CN201310412254.XA priority Critical patent/CN103442427B/zh
Publication of CN103442427A publication Critical patent/CN103442427A/zh
Application granted granted Critical
Publication of CN103442427B publication Critical patent/CN103442427B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供了一种数据同步方法、装置及系统,回声消除方法及系统,数据同步方法中将接收帧缓冲区取第一N字节数据拷贝至播放队列和参考帧缓冲区,即播放队列中第一N字节数据和参考帧缓冲区的第一N字节数据是同步且一致的,由于音频播放线程和音频录制线程为同时启动,因此播放队列中第一N字节数据和音频录制线程的第二N字节数据也是同步的,因此参考帧缓冲区的第一N字节数据和音频录制线程的第二N字节数据为同步的,并且两者是同时放入回声消除线程中,因此两者在回声消除线程中也是同步的。采用本发明提供的数据同步方法能够很好的解决第一终端和第二终端的数据不同步的问题,进而能够更好的解决第一终端听到回声问题,提升用户体验。

Description

数据同步方法、装置及系统,回声消除方法及系统
技术领域
本发明涉及移动通信领域,尤其涉及一种数据同步方法、装置及系统,回声消除方法及系统。
背景技术
在即时语音通讯应用中,两个终端通常都是采用外置喇叭放音,这样必然会产生回音。假设有两个用户分别使用第一终端和第二终端在通话。如图1所示,首先,第一终端的声音传输至第二终端,第二终端用喇叭将声音放出来,而这时第二终端的麦克则会采集喇叭放出来的声音,然后回传至第一终端,使用第一终端的用户A就会听到和自己刚才说话一样的声音,这就是回声。
为了消除这种回声提升用户体验,现有技术中在第二终端增加了一种软件“声学回声消除器”,其原理是将第一终端的声音A先发送至声学回声消除器,然后再由喇叭放出来,然后第二终端的麦克采集声音B,将声音B也发送至声学回声消除器,声学回声消除器将声音B中包含声音A的声音去掉,将剩余声音回传至第一终端,这样使用第一终端的用户便不会听到自己说话的声音。
现有技术中第二终端先将声音A放入声学回声消除器中,后将声音B放入声学回声消除器中,由声学回声消除器对两者声音数据进行同步,在声音A和声音B进入声学回声消除器之前并没有对两者声音数据的进行同步处理,完全依靠声学回声消除器根据两者的声音数据进行同步并进行回声消除,但是声学回声消除器并不能够完全保证两个声音的同步,如果两个声音数据稍稍有些不同步,不但不能消除回声,还会破坏声音B中的用户B的声音。
因此现在需要一种将第一终端和第二终端的声音A和声音B同步的方法,以便能够更好的利用声学回声消除器解决现有技术中第一终端听到自己讲话回声的问题,提升用户体验。
发明内容
本发明提供了一种数据同步方法、装置及系统,回声消除方法及系统,本发明提供的数据同步方法,能够很好的解决将第一终端和第二终端的数据不同步的问题,进而能够更好的利用声学回声消除器解决第一终端听到自己讲话回声的问题,提升用户体验。
为了实现上述目的,本发明提供了以下技术手段:
一种数据同步方法,包括:
接收音频编码数据,将所述音频编码数据解码后得到音频数据;
将所述音频数据发送至接收帧缓冲区;
拷贝所述第一N字节数据至播放队列和参考帧缓冲区;
同时启动音频播放线程和音频录制线程,所述音频录制线程和所述音频播放线程的音频参数为一致的;
所述音频播放线程播放所述播放队列中的第一N字节数据,同时所述音频录制线程通过麦克录制音频数据,并发送至录制帧缓冲区;
待所述录制帧缓冲区取得第二N字节数据时,将所述第二N字节数据和所述参考帧缓冲区的第一N字节数据同时发送至回声消除线程,由声学回声消除器对两个N字节数据进行回声处理。
优选的,接收音频编码数据,将所述音频编码数据解码后得到音频数据包括:
音频数据接收线程通过网络模块从远端接收所述音频编码数据;
通过音频解码对所述音频编码数据进行解码得到音频数据。
优选的,拷贝所述第一N字节数据至播放队列和参考帧缓冲区包括:
判断所述接收帧缓冲区是否达到N字节音频数据;
若所述接收帧缓冲区达到N字节音频数据,则将所述N字节音频数据作为所述第一N字节数据拷贝至所述播放队列和所述参考帧缓冲区;
若所述接收帧缓冲区未达到N字节音频数据,则将N字节静音数据作为所述第一N字节数据拷贝至所述播放队列和所述参考帧缓冲区。
优选的,还包括:
当所述录制帧缓冲区未取得所述第二N字节数据时,则循环等待直到所述录制帧缓冲区取得第二N字节数据。
一种回声消除方法,包括:
接收音频编码数据,将所述音频编码数据解码后得到音频数据;
将所述音频数据发送至接收帧缓冲区;
拷贝所述第一N字节数据至播放队列和参考帧缓冲区;
同时启动音频播放线程和音频录制线程,所述音频录制线程和所述音频播放线程的音频参数为一致的;
所述音频播放线程播放所述播放队列中的第一N字节数据,同时所述音频录制线程通过麦克录制音频数据,并发送至录制帧缓冲区;
待所述录制帧缓冲区取得第二N字节数据时,将所述第二N字节数据和所述参考帧缓冲区的第一N字节数据同时发送至回声消除线程;
声学回声消除器对所述两个N字节数据进行回声消除处理得到第三N字节数据,并将其发送至发送帧缓冲区;
音频数据发送线程从所述发送帧缓冲区中取得所述第三N字节数据,将所述第三N字节数据进行音频编码,然后通过网络发送模块发送至远端。
优选的,声学回声消除器对所述两个N字节数据进行回声消除处理得到第三N字节数据包括:
所述声学回声消除器将所述第二N字节数据中的频域与第一N字节数据频域一致内容进行消除,得到第三N字节数据。
优选的,所述声学回声消除器中预设延时参数为100。
一种数据同步装置,包括:
接收单元,用于接收音频编码数据,将所述音频编码数据解码后得到音频数据;
发送单元,用于将所述音频数据发送至接收帧缓冲区;
拷贝单元,用于拷贝所述第一N字节数据至播放队列和参考帧缓冲区;
启动单元,用于同时启动音频播放线程和音频录制线程,所述音频录制线程和所述音频播放线程的音频参数为一致的;
播放录制单元,用于所述音频播放线程播放所述播放队列中的第一N字节数据,同时所述音频录制线程通过麦克录制音频数据,并发送至录制帧缓冲区;
同步单元,用于待所述录制帧缓冲区取得第二N字节数据时,将所述第二N字节数据和所述参考帧缓冲区的第一N字节数据同时发送至回声消除线程,由声学回声消除器对两个N字节数据进行回声处理。
一种数据同步系统,包括:第一终端和第二终端;
所述第一终端,用于发送音频编码数据;
所述第二终端,用于接收音频编码数据,将所述音频编码数据解码后得到音频数据,将所述音频数据发送至接收帧缓冲区,拷贝所述第一N字节数据至播放队列和参考帧缓冲区,同时启动音频播放线程和音频录制线程,所述音频录制线程和所述音频播放线程的音频参数为一致的,所述音频播放线程播放所述播放队列中的第一N字节数据,同时所述音频录制线程通过麦克录制音频数据,并发送至录制帧缓冲区,待所述录制帧缓冲区取得第二N字节数据时,将所述第二N字节数据和所述参考帧缓冲区的第一N字节数据同时发送至回声消除线程,由声学回声消除器对两个N字节数据进行回声处理。
一种回声消除系统,包括:第一终端和第二终端;
所述第一终端,用于发送音频编码数据;
所述第二终端,用于接收音频编码数据,将所述音频编码数据解码后得到音频数据,将所述音频数据发送至接收帧缓冲区,拷贝所述第一N字节数据至播放队列和参考帧缓冲区,同时启动音频播放线程和音频录制线程,所述音频录制线程和所述音频播放线程的音频参数为一致的,所述音频播放线程播放所述播放队列中的第一N字节数据,同时所述音频录制线程通过麦克录制音频数据,并发送至录制帧缓冲区,待所述录制帧缓冲区取得第二N字节数据时,将所述第二N字节数据和所述参考帧缓冲区的第一N字节数据同时发送至回声消除线程,声学回声消除器对所述两个N字节数据进行回声消除处理得到第三N字节数据,并将其发送至发送帧缓冲区,音频数据发送线程从所述发送帧缓冲区中取得所述第三N字节数据,将所述第三N字节数据进行音频编码,然后通过网络发送模块发送至远端。
本发明提供了一种数据同步方法,该方法中有音频播放线程、音频录制线程和回声消除线程三个线程,且音频播放线程和音频录制线程的音频参数都是一致的,还有接收帧缓冲区、播放帧缓冲区和参考帧缓冲区三个缓冲区。
该方法中由于音频播放线程和音频录制线程的音频参数是一致,即两者的采样速率、播放速率、采样精度等音频参数是一致的,保证音频播放线程和音频录制线程中除了声音数据之外,其他的参数都是一致的。本方法中在接收帧缓冲区取第一N字节数据,并将其拷贝至播放队列和参考帧缓冲区,即为播放队列中第一N字节数据和参考帧缓冲区中的第一N字节数据是同步且一致的。
该方法中还需保证音频播放线程和音频录制线程同时启动,即在音频播放线程播放播放队列中的第一N字节数据时,能够保证音频录制线程也是在录制第一N字节数据的回声,并得到第二N字节数据,因此播放队列中的第一N字节数据和录制帧缓冲区的第二N字节数据也是同步的。
由于播放队列中第一N字节数据和参考帧缓冲区中的第一N字节数据是同步且一致的,且播放队列中第一N字节数据和录制帧缓冲区的第二N字节数据也是同步的,因此参考帧缓冲区中的第一N字节数据和录制帧缓冲区的第二N字节数据即为同步的,并且两者是同时放入回声消除线程中,因此两者在回声消除线程中也是同步的,并由回声消除器对参考帧缓冲区中的第一N字节数据和录制帧缓冲区的第二N字节数据进行回声处理。本发明在第一终端和第二终端通话的过程中,循环执行本发明提供的同步方法。
因此,采用本发明提供的数据同步方法能够很好的解决将第一终端和第二终端的数据不同步的问题,进而能够更好的利用声学回声消除器解决第一终端听到自己讲话回声的问题,提升用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中第一终端和第二终端的通信图;
图2为本发明实施例公开的数据同步方法的流程图;
图3为本发明实施例公开的数据同步方法中接收音频解码并得到音频数据的流程图;
图4为本发明实施例公开的数据同步方法中拷贝所述第一N字节数据至播放队列和参考帧缓冲区流程图;
图5为本发明实施例公开回声消除方法的流程图;
图6为本发明实施例公开回声消除方法中声学回声消除器对所述两个N字节数据进行回声消除处理得到第三N字节数据的流程图;
图7为本发明实施例公开的数据同步装置的结构示意图;
图8为本发明实施例公开的数据同步系统的结构示意图;
图9为本发明实施例公开的回声消除装置的结构示意图;
图10为本发明实施例公开的回声消除系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图2所示,本发明提供了一种数据同步方法的第一实施例,包括:
步骤S101:接收音频编码数据,将所述音频编码数据解码后得到音频数据;
如图3所示,步骤S101具体包括以下两个步骤:
步骤S201:第二终端的音频数据接收线程通过网络模块从远端接收所述音频编码数据;
步骤S202:第二终端通过音频解码对所述音频编码数据进行解码得到音频数据。
本发明中第一终端首先将用户A声音数据中的N字节数据进行音频编码,将编码后得到的音频编码数据通过网络发送模块发送至远端。第二终端的音频数据接收线程从远端接收音频编码数据,并通过音频解码对音频编码数据进行解码,接到解码后的音频数据。
步骤S102:将所述音频数据发送至接收帧缓冲区;
第二终端将上述步骤中得到的音频数据发送至预先开发的接收帧缓冲区,为后续过程做准备。
步骤S103:拷贝所述第一N字节数据至播放队列和参考帧缓冲区;
如图4所示,该步骤具体包括:
步骤S301:第二终端判断所述接收帧缓冲区是否达到N字节音频数据,若达到则进入步骤S302,若未达到则进入步骤S303;
在音频播放线程启动后,会在播放队列中寻求播放所需的数据,音频播放线程在一个周期中需要播放N字节数据,其中N为自然数,N的大小与音频播放线程中的音频参数的设置有关,在此不做限定。因此为了保证播放队列中有足够的数据供音频播放线程播放,因此第二终端会判断接收帧缓冲区中的音频数据是否达到N字节,即达到音频播放线程一个周期内的播放需要。
步骤S302:若所述接收帧缓冲区达到N字节音频数据,则将所述N字节音频数据作为所述第一N字节数据拷贝至所述播放队列和所述参考帧缓冲区;
若接收帧缓冲区达到N字节音频数据,则将N字节音频数据作为第一N字节数据拷贝至播放队列和参考帧缓冲区,播放队列为音频播放线程取播放数据的队列,参考帧缓冲区为在下文中涉及的回声消除中使用的参考数据所在的缓冲区,本方法中将第一N字节数据拷贝至播放队列和参考帧缓冲区,从而使得播放队列和参考帧缓冲区中数据是同步且一致的。
步骤S303:若所述接收帧缓冲区未达到N字节音频数据,则将N字节静音数据作为所述第一N字节数据拷贝至所述播放队列和所述参考帧缓冲区。
若所述接收帧缓冲区未达到N字节音频数据,则将N字节静音数据作为第一N字节数据拷贝至播放队列和参考帧缓冲区,其中静音数据是指用一组二进制为0的码表示脉冲幅值为0的数据,这组二进制码展现在用户侧时,为没有声音的一段空白因此称为静音数据。本方法中将第一N字节数据拷贝至播放队列和参考帧缓冲区,从而使得播放队列和参考帧缓冲区中第一N字节数据是同步且一致的。
步骤S104:同时启动音频播放线程和音频录制线程,所述音频录制线程和所述音频播放线程的音频参数为一致的;
第二终端同时启动音频播放线程和音频录制线程,其中,音频播放线程为第二终端播放第一终端声音A的线程,音频录制线程为第二终端录制声音B的线程,声音B包括第二终端侧用户B的声音和声音A的回声。并且由于音频播放线程和音频录制线程的音频参数是一致,即两者的采样速率、播放速率、采样精度等音频参数是一致的,保证音频播放线程和音频录制线程中除了声音数据之外,其他的参数都是一致的。
步骤S105:所述音频播放线程播放所述播放队列中的第一N字节数据,同时所述音频录制线程通过麦克录制音频数据,并发送至录制帧缓冲区;
在上述步骤中音频播放线程和音频接收线程已同时启动,音频播放线程会从播放队列中提取第一N字节数据进行播放,与此同时,音频录制线程也开始通过麦克录制音频数据即声音B,并将录制得到的音频数据发送至录制帧缓冲区。
由于该方法中音频播放线程和音频录制线程是同时启动,即在音频播放线程播放播放队列中的第一N字节数据时,能够保证音频录制线程也是在录制第一N字节数据的回声,并得到第二N字节数据,因此播放队列中的第一N字节数据和录制帧缓冲区的第二N字节数据也是同步的。
步骤S106:待所述录制帧缓冲区取得第二N字节数据时,将所述第二N字节数据和所述参考帧缓冲区的第一N字节数据同时发送至回声消除线程,由声学回声消除器对两个N字节数据进行回声处理。
当所述录制帧缓冲区未取得所述第二N字节数据时,则循环等待直到所述录制帧缓冲区取得第二N字节数据。因为在下述步骤中需要将录制帧缓冲区的数据与参考帧缓冲区的数据进行对比,并进行回声消除,因此需要保证录制帧缓冲区得到音频数据长度与第一N字节长度一致,以便能够更好的进行回声消除。
待录制帧缓冲区取得第二N字节数据时,此时获取的第二N字节数据中包括第二终端侧用户B的声音和播放队列中的第一N字节数据的回声。第二终端同时将第二N字节数据和参考帧缓冲区中的第一N字节数据发送至回声消除线程,由回声消除线程对两个数据进行对比,并进行回声处理。
由上文可知,播放队列中第一N字节数据和参考帧缓冲区中的第一N字节数据是同步且一致的,且播放队列中第一N字节数据和录制帧缓冲区的第二N字节数据也是同步的,因此参考帧缓冲区中的第一N字节数据和录制帧缓冲区的第二N字节数据即为同步的,并且两者是同时放入回声消除线程中,因此两者在回声消除线程中也是同步的。
在第一终端和第二终端通话的过程中,循环执行本发明提供的同步方法,直到第一终端和第二终端的通话结束,因此采用本发明提供的数据同步方法能够很好的解决将第一终端和第二终端的数据不同步的问题,进而能够更好的利用声学回声消除器解决第一终端听到自己讲话回声的问题,提升用户体验。
本发明在上述内容中提出了数据同步方法,本发明在下述内容在数据同步的基础之上提出了一种回声消除方法,基于良好同步基础之上,对回声进行消除,具体请参见下述实施例。
如图5所示,本发明还提供了一种回声消除方法,包括:
步骤S401:接收音频编码数据,将所述音频编码数据解码后得到音频数据;
步骤S402:将所述音频数据发送至接收帧缓冲区;
步骤S403:拷贝所述第一N字节数据至播放队列和参考帧缓冲区;
步骤S404:同时启动音频播放线程和音频录制线程,所述音频录制线程和所述音频播放线程的音频参数为一致的;
步骤S405:所述音频播放线程播放所述播放队列中的第一N字节数据,同时所述音频录制线程通过麦克录制音频数据,并发送至录制帧缓冲区;
步骤S406:待所述录制帧缓冲区取得第二N字节数据时,将所述第二N字节数据和所述参考帧缓冲区的第一N字节数据同时发送至回声消除线程;
步骤S401-S406在上述实施例中已经详细介绍,在此不再赘述,下面详细介绍后续步骤。
步骤S407:声学回声消除器对所述两个N字节数据进行回声消除处理得到第三N字节数据,并将其发送至发送帧缓冲区;
具体的,声学回声消除器将所述第二N字节数据中的频域与第一N字节数据频域一致内容进行消除,得到第三N字节数据,如图6所示,上述步骤具体包括:
步骤S501:声学回声消除器将第一N字节数据和第二N字节数据经过傅里叶变换得到第一频域数据和第二频域数据;
步骤S502:声学回声消除器将第二频域数据与第一频域数据一致的内容进行消除得到第三频域数据;
步骤S503:将第三频域数据经过反傅里叶变换得到第三N字节数据。
因为第一字节数据和第二字节数据均为时域数据,在时域不方便对两个字节数据进行处理,因此将两个N字节数据进行转换得到频域数据,并在频域中对两个N字节数据一致的数据进行消除得到第三频域数据,为了得到能够使用的数据因此需要将第三频域数据转换为时域数据,因此进行反傅里叶变换得到第三N字节数据。
声学回声消除器中有一个预设延时参数,假设音频播放线程将播放队列中的第一N字节数据进行播放的时间为t1,第一N字节数据经过喇叭播放出的时间为t2,那么t2-t1即为声学回声消除器中预设延时参数,经过本发明工程师大量实验,本发明中设定声学回声消除器中预设延时参数为100ms。在该参数下,声学回声消除器具有以下优点:
1)单方讲话时,无回音;
2)双方同时讲话时,双方交流流畅无回音;
3)麦克和用户的嘴唇距离相对位置改变时,收敛比较快,没有出现回音
4)免提播放达到最大音量时,基本无回音。
步骤S408:音频数据发送线程从所述发送帧缓冲区中取得所述第三N字节数据,将所述第三N字节数据进行音频编码,然后通过网络发送模块发送至远端。
在第一终端和第二终端通话的过程中,循环执行本发明提供的回声消除方法,直到第一终端和第二终端的通话结束,因为本发明中数据能够很好的进行同步,因此采用本发明提供的数据回声消除方法能够很好的利用声学回声消除器解决第一终端听到自己讲话回声的问题,提升用户体验。
如图7所示,本发明还提供了一种数据同步装置,包括:
接收单元701,用于接收音频编码数据,将所述音频编码数据解码后得到音频数据;
发送单元702,用于将所述音频数据发送至接收帧缓冲区;
拷贝单元703,用于拷贝所述第一N字节数据至播放队列和参考帧缓冲区;
启动单元704,用于同时启动音频播放线程和音频录制线程,所述音频录制线程和所述音频播放线程的音频参数为一致的;
播放录制单元705,用于所述音频播放线程播放所述播放队列中的第一N字节数据,同时所述音频录制线程通过麦克录制音频数据,并发送至录制帧缓冲区;
同步单元706,用于待所述录制帧缓冲区取得第二N字节数据时,将所述第二N字节数据和所述参考帧缓冲区的第一N字节数据同时发送至回声消除线程,由声学回声消除器对两个N字节数据进行回声处理。
如图8所示,本发明还提供了一种数据同步系统,包括:第一终端100和第二终端200;
所述第一终端100,用于发送音频编码数据;
所述第二终端200,用于接收音频编码数据,将所述音频编码数据解码后得到音频数据,将所述音频数据发送至接收帧缓冲区,拷贝所述第一N字节数据至播放队列和参考帧缓冲区,同时启动音频播放线程和音频录制线程,所述音频录制线程和所述音频播放线程的音频参数为一致的,所述音频播放线程播放所述播放队列中的第一N字节数据,同时所述音频录制线程通过麦克录制音频数据,并发送至录制帧缓冲区,待所述录制帧缓冲区取得第二N字节数据时,将所述第二N字节数据和所述参考帧缓冲区的第一N字节数据同时发送至回声消除线程,由声学回声消除器对两个N字节数据进行回声处理。
如图9所示,本发明还提供了一种回声消除装置,包括:
第二接收单元901,用于接收音频编码数据,将所述音频编码数据解码后得到音频数据;
第二发送单元902,用于将所述音频数据发送至接收帧缓冲区;
第二拷贝单元903,用于拷贝所述第一N字节数据至播放队列和参考帧缓冲区;
第二启动单元904,用于同时启动音频播放线程和音频录制线程,所述音频录制线程和所述音频播放线程的音频参数为一致的;
第二播放录制单元905,用于所述音频播放线程播放所述播放队列中的第一N字节数据,同时所述音频录制线程通过麦克录制音频数据,并发送至录制帧缓冲区;
第二同步单元906,用于待所述录制帧缓冲区取得第二N字节数据时,将所述第二N字节数据和所述参考帧缓冲区的第一N字节数据同时发送至回声消除线程。
回声处理单元907,用于声学回声消除器对所述两个N字节数据进行回声消除处理得到第三N字节数据,并将其发送至发送帧缓冲区;
第三发送单元908,用于音频数据发送线程从所述发送帧缓冲区中取得所述第三N字节数据,将所述第三N字节数据进行音频编码,然后通过网络发送模块发送至远端。
如图10所示,本发明还提供了一种回声消除系统,包括:第一终端300和第二终端400;
所述第一终端300,用于发送音频编码数据;
所述第二终端400,用于接收音频编码数据,将所述音频编码数据解码后得到音频数据,将所述音频数据发送至接收帧缓冲区,拷贝所述第一N字节数据至播放队列和参考帧缓冲区,同时启动音频播放线程和音频录制线程,所述音频录制线程和所述音频播放线程的音频参数为一致的,所述音频播放线程播放所述播放队列中的第一N字节数据,同时所述音频录制线程通过麦克录制音频数据,并发送至录制帧缓冲区,待所述录制帧缓冲区取得第二N字节数据时,将所述第二N字节数据和所述参考帧缓冲区的第一N字节数据同时发送至回声消除线程,声学回声消除器对所述两个N字节数据进行回声消除处理得到第三N字节数据,并将其发送至发送帧缓冲区,音频数据发送线程从所述发送帧缓冲区中取得所述第三N字节数据,将所述第三N字节数据进行音频编码,然后通过网络发送模块发送至远端。
本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本发明实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种数据同步方法,其特征在于,包括:
接收音频编码数据,将所述音频编码数据解码后得到音频数据;
将所述音频数据发送至接收帧缓冲区;
拷贝第一N字节数据至播放队列和参考帧缓冲区;
同时启动音频播放线程和音频录制线程,所述音频录制线程和所述音频播放线程的音频参数为一致的;
所述音频播放线程播放所述播放队列中的第一N字节数据,同时所述音频录制线程通过麦克录制音频数据,并发送至录制帧缓冲区;
待所述录制帧缓冲区取得第二N字节数据时,将所述第二N字节数据和所述参考帧缓冲区的第一N字节数据同时发送至回声消除线程,由声学回声消除器对两个N字节数据进行回声处理;
其中,所述第一N字节数据和所述第二N字节数据分别为N个字节的音频数据。
2.如权利要求1所述的方法,其特征在于,接收音频编码数据,将所述音频编码数据解码后得到音频数据包括:
音频数据接收线程通过网络模块从远端接收所述音频编码数据;
通过音频解码对所述音频编码数据进行解码得到音频数据。
3.如权利要求1所述的方法,其特征在于,拷贝所述第一N字节数据至播放队列和参考帧缓冲区包括:
判断所述接收帧缓冲区是否达到N字节音频数据;
若所述接收帧缓冲区达到N字节音频数据,则将所述N字节音频数据作为所述第一N字节数据拷贝至所述播放队列和所述参考帧缓冲区;
若所述接收帧缓冲区未达到N字节音频数据,则将N字节静音数据作为所述第一N字节数据拷贝至所述播放队列和所述参考帧缓冲区。
4.如权利要求1所述的方法,其特征在于,还包括:
当所述录制帧缓冲区未取得所述第二N字节数据时,则循环等待直到所述录制帧缓冲区取得第二N字节数据。
5.一种回声消除方法,其特征在于,包括:
接收音频编码数据,将所述音频编码数据解码后得到音频数据;
将所述音频数据发送至接收帧缓冲区;
拷贝第一N字节数据至播放队列和参考帧缓冲区;
同时启动音频播放线程和音频录制线程,所述音频录制线程和所述音频播放线程的音频参数为一致的;
所述音频播放线程播放所述播放队列中的第一N字节数据,同时所述音频录制线程通过麦克录制音频数据,并发送至录制帧缓冲区;
待所述录制帧缓冲区取得第二N字节数据时,将所述第二N字节数据和所述参考帧缓冲区的第一N字节数据同时发送至回声消除线程;
声学回声消除器对所述两个N字节数据进行回声消除处理得到第三N字节数据,并将其发送至发送帧缓冲区;
音频数据发送线程从所述发送帧缓冲区中取得所述第三N字节数据,将所述第三N字节数据进行音频编码,然后通过网络发送模块发送至远端;
其中,所述第一N字节数据、所述第二N字节数据和第三N字节数据,分别为N个字节的音频数据。
6.如权利要求5所述的方法,其特征在于,声学回声消除器对所述两个N字节数据进行回声消除处理得到第三N字节数据包括:
所述声学回声消除器将所述第二N字节数据中的频域与第一N字节数据频域一致内容进行消除,得到第三N字节数据;其中所述第三N字节数据为N个字节的音频数据。
7.如权利要求5或6所述的方法,其特征在于,所述声学回声消除器中预设延时参数为100ms。
8.一种数据同步装置,其特征在于,包括:
接收单元,用于接收音频编码数据,将所述音频编码数据解码后得到音频数据;
发送单元,用于将所述音频数据发送至接收帧缓冲区;
拷贝单元,用于拷贝第一N字节数据至播放队列和参考帧缓冲区;
启动单元,用于同时启动音频播放线程和音频录制线程,所述音频录制线程和所述音频播放线程的音频参数为一致的;
播放录制单元,用于所述音频播放线程播放所述播放队列中的第一N字节数据,同时所述音频录制线程通过麦克录制音频数据,并发送至录制帧缓冲区;
同步单元,用于待所述录制帧缓冲区取得第二N字节数据时,将所述第二N字节数据和所述参考帧缓冲区的第一N字节数据同时发送至回声消除线程,由声学回声消除器对两个N字节数据进行回声处理;
其中,所述第一N字节数据和所述第二N字节数据分别为N个字节的音频数据。
9.一种数据同步系统,其特征在于,包括:第一终端和第二终端;
所述第一终端,用于发送音频编码数据;
所述第二终端,用于接收音频编码数据,将所述音频编码数据解码后得到音频数据,将所述音频数据发送至接收帧缓冲区,拷贝第一N字节数据至播放队列和参考帧缓冲区,同时启动音频播放线程和音频录制线程,所述音频录制线程和所述音频播放线程的音频参数为一致的,所述音频播放线程播放所述播放队列中的第一N字节数据,同时所述音频录制线程通过麦克录制音频数据,并发送至录制帧缓冲区,待所述录制帧缓冲区取得第二N字节数据时,将所述第二N字节数据和所述参考帧缓冲区的第一N字节数据同时发送至回声消除线程,由声学回声消除器对两个N字节数据进行回声处理;
其中,所述第一N字节数据和所述第二N字节数据分别为N个字节的音频数据。
10.一种回声消除系统,其特征在于,包括:第一终端和第二终端;
所述第一终端,用于发送音频编码数据;
所述第二终端,用于接收音频编码数据,将所述音频编码数据解码后得到音频数据,将所述音频数据发送至接收帧缓冲区,拷贝第一N字节数据至播放队列和参考帧缓冲区,同时启动音频播放线程和音频录制线程,所述音频录制线程和所述音频播放线程的音频参数为一致的,所述音频播放线程播放所述播放队列中的第一N字节数据,同时所述音频录制线程通过麦克录制音频数据,并发送至录制帧缓冲区,待所述录制帧缓冲区取得第二N字节数据时,将所述第二N字节数据和所述参考帧缓冲区的第一N字节数据同时发送至回声消除线程,声学回声消除器对所述两个N字节数据进行回声消除处理得到第三N字节数据,并将其发送至发送帧缓冲区,音频数据发送线程从所述发送帧缓冲区中取得所述第三N字节数据,将所述第三N字节数据进行音频编码,然后通过网络发送模块发送至远端;
其中,所述第一N字节数据、所述第二N字节数据和所述第三N字节数据,分别为N个字节的音频数据。
CN201310412254.XA 2013-09-11 2013-09-11 数据同步方法、装置及系统,回声消除方法及系统 Active CN103442427B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310412254.XA CN103442427B (zh) 2013-09-11 2013-09-11 数据同步方法、装置及系统,回声消除方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310412254.XA CN103442427B (zh) 2013-09-11 2013-09-11 数据同步方法、装置及系统,回声消除方法及系统

Publications (2)

Publication Number Publication Date
CN103442427A CN103442427A (zh) 2013-12-11
CN103442427B true CN103442427B (zh) 2016-02-24

Family

ID=49696075

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310412254.XA Active CN103442427B (zh) 2013-09-11 2013-09-11 数据同步方法、装置及系统,回声消除方法及系统

Country Status (1)

Country Link
CN (1) CN103442427B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104394286A (zh) * 2014-08-27 2015-03-04 贵阳朗玛信息技术股份有限公司 一种回声消除方法及装置
CN107966910B (zh) * 2017-11-30 2021-08-03 深圳Tcl新技术有限公司 语音处理方法、智能音箱及可读存储介质
CN112331204B (zh) * 2020-11-24 2024-02-20 珠海市杰理科技股份有限公司 智能语音识别方法及设备、装置和存储介质
CN112820308B (zh) * 2020-12-30 2023-10-20 北京佳讯飞鸿电气股份有限公司 回声消除方法、装置、设备和介质
CN112951272B (zh) * 2021-01-21 2021-11-23 北京锐马视讯科技有限公司 音频比对方法和装置、设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007139621A1 (en) * 2006-05-30 2007-12-06 Microsoft Corporation Adaptive acoustic echo cancellation
CN101217039A (zh) * 2008-01-08 2008-07-09 北京中星微电子有限公司 一种实现回声消除的方法、系统及装置
CN101958984A (zh) * 2009-07-13 2011-01-26 联芯科技有限公司 一种上下行语音驱动处理方法、装置及系统
CN102625006A (zh) * 2011-01-31 2012-08-01 深圳三石科技有限公司 一种回声消除数据同步对齐方法、系统及音频通信设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007139621A1 (en) * 2006-05-30 2007-12-06 Microsoft Corporation Adaptive acoustic echo cancellation
CN101217039A (zh) * 2008-01-08 2008-07-09 北京中星微电子有限公司 一种实现回声消除的方法、系统及装置
CN101958984A (zh) * 2009-07-13 2011-01-26 联芯科技有限公司 一种上下行语音驱动处理方法、装置及系统
CN102625006A (zh) * 2011-01-31 2012-08-01 深圳三石科技有限公司 一种回声消除数据同步对齐方法、系统及音频通信设备

Also Published As

Publication number Publication date
CN103442427A (zh) 2013-12-11

Similar Documents

Publication Publication Date Title
CN103442427B (zh) 数据同步方法、装置及系统,回声消除方法及系统
CN107205192B (zh) 一种双耳无线耳机及双耳无线耳机的音频播放方法
US20160080433A1 (en) Remote Conference Implementation Method and Apparatus
CN107592430B (zh) 一种回声消除的方法及终端设备
CN109040501A (zh) 一种改善voip通话质量的回声消除方法
EP2891150A2 (en) Adaptive audio signal shaping for improved playback in a noisy environment
CN105099949A (zh) 基于对延迟抖动和对话动态的监视的抖动缓冲器控制
CN103458137A (zh) 用于音频会议中的语音增强的系统和方法
CN103905928A (zh) 一种网络语音对讲方法、装置及系统
CN103402171A (zh) 在通话中分享背景音乐的方法和终端
CN103795950A (zh) 电视音频信号处理装置
CN206212090U (zh) 一种便携式声音采集装置和移动终端保护壳
CN102568494A (zh) 消除回声的优化方法、装置及系统
WO2012174790A1 (zh) 一种降低噪声的方法及移动终端
EP3920516A1 (en) Voice call method and apparatus, electronic device, and computer-readable storage medium
CN104394286A (zh) 一种回声消除方法及装置
CN108076239B (zh) 一种改善ip电话回声的方法
CN111372121A (zh) 一种回声消除方法、装置、存储介质及处理器
CN110299144B (zh) 音频混音方法、服务器及客户端
CN103402038B (zh) 手机免提状态下消除对方听筒回音的方法及装置
CN103414983A (zh) 一种基于蓝牙通信在音响中实现多位传输的方法及系统
CN112565876A (zh) 投屏方法、装置、设备、系统及存储介质
CN107967919A (zh) 消除tdd噪声的方法、装置及移动终端
WO2019163538A1 (ja) イヤホン、イヤホンシステム、及びイヤホンシステムにおける方法
CN109587600B (zh) 一种多路音频复用的装置及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 410000 No. 40, Lufeng Road, Yuelu District, Changsha City, Hunan Province (office building 1)

Patentee after: HUNAN CHUANGZHI DIGITAL SCI TE

Patentee after: HUNAN ELECTRONIC INFORMATION INDUSTRY GROUP Co.,Ltd.

Address before: 410000 headquarters building of Changsha Zhongdian Software Park Co., Ltd., No. 39 Lugu Jianshan Road, high tech Zone, Yuelu District, Changsha City, Hunan Province

Patentee before: POWERISE DIGITAL TECHNOLOGIES Co.,Ltd.

Patentee before: HUNAN ELECTRONIC INFORMATION INDUSTRY GROUP Co.,Ltd.

CP03 Change of name, title or address