一种远端回音消除系统及方法与流程



1.本发明属于音频处理技术领域,具体涉及一种远端回音消除系统及方法。


背景技术:



2.随着互联网技术的发展,通过电子设备进行远程语音越来越受到人们的欢迎,其解决了距离带来的沟通不变的问题,是一种很好的交互方式,应用广泛。特别是语音会议或视频会议等,都是远程语音应用较为频繁的场景。但回音的存在会影响远程语音的质量和用户体验。


技术实现要素:



3.本发明提供了一种远端回音消除系统及方法,采用如下的技术方案:
4.一种远端回音消除系统,包含:远端音频设备、声音解码接收模块、收端平滑模块、收端频域转换模块、声音编码发送模块、发端频域转换模块、发端混合模块、发端延时同步模块、发端同步生成模块、发端时延处理模块、收端回音消除模块、收端频域还原模块和会议桥模块;
5.远端音频设备用于接收声音编码发送模块的声音数据进行解码并使用本地扬声器播放,远端音频设备的麦克风接收到本地扬声器播放声音与用户实际语音,把混合声音编码发送给声音解码接收模块;
6.声音解码接收模块用于通过网络接收远端音频设备的包含用户实际语音和扬声器播放声音的混合音频编码数据,并将混合音频编码数据解码为pcm音频数据发送至收端平滑模块;
7.收端平滑模块用于计算时延门限估计值,将时延门限估计值与当前时延门限进行差值取绝对值,如果绝对值大于时延门限的调整阀值,把当前时延门限修改为时延门限估计值,收端平滑模块按照当前时延门限值对pcm音频数据进行缓存,当收端平滑模块的音频数据累计超过当前时延门限,则按照固定时间对pcm音频数据进行音频数据分片得到pcm音频分片数据,把pcm音频分片数据与分片时戳发送给收端频域转换模块;
8.收端频域转换模块用于接收pcm音频分片数据与分片时戳,把pcm音频分片数据通过fft快速傅里叶变化进行时域到频域的转化,得到音频频域分片数据,收端频域转换模块把音频频域分片数据与分片时戳发送至发端延时同步模块与收端回音消除模块;
9.发端同步生成模块用于生成同步标识id和对应的同步音频数据,并将同步音频数据发送至发端混合模块,且接收发端混合模块的时戳作为同步时戳,最后将同步标识id和同步时戳发送至发端延时同步模块;
10.发端延时同步模块用于根据接收到的信息计算同步时戳差、启动时戳和输出时戳,将启动时戳和输出时戳发送至发端时延处理模块,将同步时戳差发送给收端回音消除模块;
11.发端混合模块用于接收会议桥模块的pcm音频数据和时戳,发端混合模块接收发
端同步生成模块的同步音频数据并按时域进行数据混合,发端混合模块通过检测会议桥模块的音频数据能量值判断pcm音频数据是否为静音数据,若为静音数据,则把发端同步生成模块的音频数据替换会议桥模块的pcm音频数据,得到混合后的音频数据,发端混合模块把混合后的音频数据与时戳发送至声音编码发送模块,再把时戳返回给发端同步生成模块;
12.声音编码发送模块用于接收发端混合模块的pcm音频数据与时戳,对pcm音频数据编码,并通过网格把音频数据发送给远端音频设备,声音编码发送模块同时对pcm音频数据按照固定时间进行音频数据重新分片与生成新时戳,把pcm音频分片数据与的分片时戳发送给发端频域转换模块;
13.发端频域转换模块用于接收pcm音频分片数据与分片时戳,把pcm音频分片数据通过fft快速傅里叶变化进行时域到频域的转化,得到音频频域分片数据,发端频域转换模块把音频频域分片数据与分片时戳发送至发端时延处理模块;
14.发端时延处理模块用于接收到发端频域转换模块的音频频域分片数据与分片时戳,把音频频域分片数据与分片时戳放入到先进先出队列,发端时延处理模块接收发端延时同步模块的启动时戳,丢弃分片时戳小于启动时戳的音频频域分片数据,发端时延处理模块接收发端延时同步模块的输出时戳,把分片时戳小于等于输出时戳的音频频域分片数据和发送时戳发送给收端回音消除模块;
15.收端回音消除模块用于接收对音频频域分片数据进行消音并将消音后的音频频域分片数据与分片时戳发送到收端频域还原模块;
16.收端频域还原模块用于接收收端回音消除模块的音频频域分片数据和分片时戳,收端频域还原模块对音频频域分片数据进行ifft快速傅里叶逆变化,把频域的声音逆变为时域的pcm声音数据,再把pcm声音数据发送给会议桥模块;
17.会议桥模块用于接收端频域还原模块的pcm声音数据,对pcm声音数据进行声音混合,把混音pcm声音数据和时戳发送至其他与会成员的发端混合模块。
18.进一步地,收端平滑模块采用平顺延时控制保证其输出音频数据在时间维度上平顺,收端平滑模块使用预设时延做时延门限定的初始值,统计相邻音频数包到达时间间隔,统计固定周期音频数据包的时间间隔,时延抖动值取值大于周期内大于阀值音频数据包的时间间隔的最小值,时延抖动值乘以调整系数得到时延门限统计值,使用卡尔曼滤波对时延门限统计值进行滤波得到时延门限估计值,过滤突变,对时延门限估计值进行平顺处理。
19.进一步地,发端同步生成模块分别使用随机算法在高频、中频、低频选择一个频率,生成取值范围为0-26的同步标识id,
20.同步标识id=高频频率的标号*9+中频频率的标号*3+低频频率的标号,发端同步生成模块根据同步标识id的三个频率生成定长的同步音频数据。
21.进一步地,发端延时同步模块接收收端频域转换模块的音频频域分片数据和分片时戳以及接收发端同步生成模块的同步标识id和发送时戳,发端延时同步模块按照高频,中频,低频把音频频域分片数据分成三个区块,分别对三个区块的音频频域数据进行处理,发端延时同步模块按照音频频域数据的各个频率的能量值进行平方值计算,放大各个频率的能量值的差异,统计在区块的各个频率的能量值的平均值,如果同步标识id在区块对应频域大于阀值k,则认定同步区块id在该区域匹配,当三个区块都匹配时,则认为在音频频域分片数据到该同步标识id,发端延时同步模块把发送时戳减去分片时戳再减
去调节系数的值作为同步时戳差,发端延时同步模块把分片时戳加上同步时戳差得到启动时戳,分片时戳加上同步时戳差得到输出时戳,将启动时戳和输出时戳发送至发端时延处理模块,将同步时戳差发送给发端时延处理模块。
22.进一步地,收端回音消除模块接收发端时延处理模块的音频频域分片数据与发送时戳,将音频频域分片数据按照发送时戳保存到发端缓存区,发端缓存区采用最新固定时长音频频域分片数据,将发送时戳作为发端缓存区的最新时戳,收端回音消除模块接收发端延时同步模块的同步时戳差,接收收端频域转换模块的音频频域分片数据与分片时戳,计算时延预估,
23.时延预估=分片时戳+同步时戳差-发端缓存区的最新时戳,
24.收端回音消除模块把时延预估做为线性回音消除nlms算法的线性部分回声的估计延时的初始值,提早nlms算法进入收敛,并根据nlms算法的估计延时进行远近端非因果预估非线回音消除,最后把经过回音消除的音频频域分片数据与分片时戳发送至收端频域还原模块。
25.一种远端回音消除方法,包含以下步骤:
26.远端音频设备接收声音编码发送模块的声音数据进行解码并使用本地扬声器播放,远端音频设备的麦克风接收到本地扬声器播放声音与用户实际语音,把混合声音编码发送给声音解码接收模块;
27.声音解码接收模块通过网络接收远端音频设备的包含用户实际语音和扬声器播放声音的混合音频编码数据,并将混合音频编码数据解码为pcm音频数据发送至收端平滑模块;
28.收端平滑模块计算时延门限估计值,将时延门限估计值与当前时延门限进行差值取绝对值,如果绝对值大于时延门限的调整阀值,把当前时延门限修改为时延门限估计值,收端平滑模块按照当前时延门限值对pcm音频数据进行缓存,当收端平滑模块的音频数据累计超过当前时延门限,则按照固定时间对pcm音频数据进行音频数据分片得到pcm音频分片数据,把pcm音频分片数据与分片时戳发送给收端频域转换模块;
29.收端频域转换模块接收pcm音频分片数据与分片时戳,把pcm音频分片数据通过fft快速傅里叶变化进行时域到频域的转化,得到音频频域分片数据,收端频域转换模块把音频频域分片数据与分片时戳发送至发端延时同步模块与收端回音消除模块;
30.发端同步生成模块生成同步标识id和对应的同步音频数据,并将同步音频数据发送至发端混合模块,且接收发端混合模块的时戳作为同步时戳,最后将同步标识id和同步时戳发送至发端延时同步模块;
31.发端延时同步模块根据接收到的信息计算同步时戳差、启动时戳和输出时戳,将启动时戳和输出时戳发送至发端时延处理模块,将同步时戳差发送给收端回音消除模块;
32.发端混合模块接收会议桥模块的pcm音频数据和时戳,发端混合模块接收发端同步生成模块的同步音频数据并按时域进行数据混合,发端混合模块通过检测会议桥模块的音频数据能量值判断pcm音频数据是否为静音数据,若为静音数据,则把发端同步生成模块的音频数据替换会议桥模块的pcm音频数据,得到混合后的音频数据,发端混合模块把混合后的音频数据与时戳发送至声音编码发送模块,再把时戳返回给发端同步生成模块;
33.声音编码发送模块接收发端混合模块的pcm音频数据与时戳,对pcm音频数据编
码,并通过网格把音频数据发送给远端音频设备,声音编码发送模块同时对pcm音频数据按照固定时间进行音频数据重新分片与生成新时戳,把pcm音频分片数据与的分片时戳发送给发端频域转换模块;
34.发端频域转换模块接收pcm音频分片数据与分片时戳,把pcm音频分片数据通过fft快速傅里叶变化进行时域到频域的转化,得到音频频域分片数据,发端频域转换模块把音频频域分片数据与分片时戳发送至发端时延处理模块;
35.发端时延处理模块接收到发端频域转换模块的音频频域分片数据与分片时戳,把音频频域分片数据与分片时戳放入到先进先出队列,发端时延处理模块接收发端延时同步模块的启动时戳,丢弃分片时戳小于启动时戳的音频频域分片数据,发端时延处理模块接收发端延时同步模块的输出时戳,把分片时戳小于等于输出时戳的音频频域分片数据和发送时戳发送给收端回音消除模块;
36.收端回音消除模块接收对音频频域分片数据进行消音并将消音后的音频频域分片数据与分片时戳发送到收端频域还原模块;
37.收端频域还原模块接收收端回音消除模块的音频频域分片数据和分片时戳,收端频域还原模块对音频频域分片数据进行ifft快速傅里叶逆变化,把频域的声音逆变为时域的pcm声音数据,再把pcm声音数据发送给会议桥模块;
38.会议桥模块接收端频域还原模块的pcm声音数据,对pcm声音数据进行声音混合,把混音pcm声音数据和时戳发送至其他与会成员的发端混合模块。
39.进一步地,收端平滑模块计算时延门限估计值的具体方法为:
40.收端平滑模块采用平顺延时控制保证其输出音频数据在时间维度上平顺,收端平滑模块使用预设时延做时延门限定的初始值,统计相邻音频数包到达时间间隔,统计固定周期音频数据包的时间间隔,时延抖动值取值大于周期内大于阀值音频数据包的时间间隔的最小值,时延抖动值乘以调整系数得到时延门限统计值,使用卡尔曼滤波对时延门限统计值进行滤波得到时延门限估计值,过滤突变,对时延门限估计值进行平顺处理。
41.进一步地,发端同步生成模块生成同步标识id和对应的同步音频数据的具体方法为:
42.发端同步生成模块分别使用随机算法在高频、中频、低频选择一个频率,生成取值范围为0-26的同步标识id,
43.同步标识id=高频频率的标号*9+中频频率的标号*3+低频频率的标号,发端同步生成模块根据同步标识id的三个频率生成定长的同步音频数据。
44.进一步地,发端延时同步模块根据接收到的信息计算同步时戳差、启动时戳和输出时戳的具体方法为:
45.发端延时同步模块接收收端频域转换模块的音频频域分片数据和分片时戳以及接收发端同步生成模块的同步标识id和发送时戳,发端延时同步模块按照高频,中频,低频把音频频域分片数据分成三个区块,分别对三个区块的音频频域数据进行处理,发端延时同步模块按照音频频域数据的各个频率的能量值进行平方值计算,放大各个频率的能量值的差异,统计在区块的各个频率的能量值的平均值,如果同步标识id在区块对应频域大于阀值k,则认定同步区块id在该区域匹配,当三个区块都匹配时,则认为在音频频域分片数据到该同步标识id,发端延时同步模块把发送时戳减去分片时戳再减去调节系数
的值作为同步时戳差,发端延时同步模块把分片时戳加上同步时戳差得到启动时戳,分片时戳加上同步时戳差得到输出时戳,将启动时戳和输出时戳发送至发端时延处理模块,将同步时戳差发送给发端时延处理模块。
46.进一步地,收端回音消除模块接收对音频频域分片数据进行消音的具体方法为:
47.收端回音消除模块接收发端时延处理模块的音频频域分片数据与发送时戳,将音频频域分片数据按照发送时戳保存到发端缓存区,发端缓存区采用最新固定时长音频频域分片数据,将发送时戳作为发端缓存区的最新时戳,收端回音消除模块接收发端延时同步模块的同步时戳差,接收收端频域转换模块的音频频域分片数据与分片时戳,计算时延预估,
48.时延预估=分片时戳+同步时戳差-发端缓存区的最新时戳,
49.收端回音消除模块把时延预估做为线性回音消除nlms算法的线性部分回声的估计延时的初始值,提早nlms算法进入收敛,并根据nlms算法的估计延时进行远近端非因果预估非线回音消除,最后把经过回音消除的音频频域分片数据与分片时戳发送至收端频域还原模块。
50.本发明的有益之处在于所提供的远端回音消除系统及方法,使用平顺延时控制去网络抖动保证输出音频数据在时间维度上平顺,提升回音消除准确性。
51.本发明的有益之处还在于所提供的远端回音消除系统及方法,使用高中低三频同步音频,进行初步确定远端的音频时延,让回音消除算法从高延时回归到低延时情况,提升回音消除准确性。
附图说明
52.图1是本发明的一种远端回音消除系统的示意图。
具体实施方式
53.以下结合附图和具体实施例对本发明作具体的介绍。
54.如图1所示为本技术的一种远端回音消除系统,包含:远端音频设备、声音解码接收模块(1)、收端平滑模块(2)、收端频域转换模块(3)、声音编码发送模块(4)、发端频域转换模块(5)、发端混合模块(6)、发端延时同步模块(7)、发端同步生成模块(8)、发端时延处理模块(9)、收端回音消除模块(10)、收端频域还原模块(11)和会议桥模块(12)。
55.其中,远端音频设备是指不支持本地回音消除的音频设备,其用于接收声音编码发送模块(4)的声音数据进行解码并使用本地扬声器播放,远端音频设备的麦克风接收到本地扬声器播放声音与用户实际语音,把混合声音编码发送给声音解码接收模块(1)。
56.声音解码接收模块(1),用于通过网络接收远端音频设备的包含用户实际语音和扬声器播放声音的混合音频编码数据,并将混合音频编码数据解码为pcm音频数据发送至收端平滑模块(2)。
57.收端平滑模块(2)用于对网络上音频数据进行去抖动处理,其计算时延门限估计值,将时延门限估计值与当前时延门限进行差值取绝对值,如果绝对值大于时延门限的调整阀值(本技术设定为10%),把当前时延门限修改为时延门限估计值,收端平滑模块(2)按照当前时延门限值对pcm音频数据进行缓存,当收端平滑模块(2)的音频数据累计超过当前
时延门限,则按照固定时间(本技术设定为4毫秒)对pcm音频数据进行音频数据分片得到pcm音频分片数据,把pcm音频分片数据与分片时戳发送给收端频域转换模块(3)。
58.其中,因为远端回音方法是延时敏感型方法,收端平滑模块(2)采用平顺延时控制保证其输出音频数据在时间维度上平顺,收端平滑模块(2)使用预设的较长时延(本技术设定为200毫秒)做时延门限定的初始值,统计相邻音频数包到达时间间隔,统计固定周期(本技术设定为10秒)音频数据包的时间间隔,时延抖动值取值大于周期内大于阀值(本技术设定为90%)音频数据包的时间间隔的最小值,时延抖动值乘以调整系数(本技术设定为3)得到时延门限统计值,使用卡尔曼滤波对时延门限统计值进行滤波得到时延门限估计值,过滤突变,对时延门限估计值进行平顺处理。
59.收端频域转换模块(3),用于接收pcm音频分片数据与分片时戳,把pcm音频分片数据通过fft快速傅里叶变化进行时域到频域的转化,得到音频频域分片数据,收端频域转换模块(3)把音频频域分片数据与分片时戳发送至发端延时同步模块(7)与收端回音消除模块(10)。
60.发端同步生成模块(8),用于生成同步标识id和对应的同步音频数据,并将同步音频数据发送至发端混合模块(6),且接收发端混合模块(6)的时戳作为同步时戳,最后将同步标识id和同步时戳发送至发端延时同步模块(7)。
61.其中,同步标识id由高频、中频、低频各取一个频率组成。高频,中频,低频各选三个频率按频率低到高分标号0/1/2,如高频1615hz/1767hz/1832hz,中频1313hz/1187hz/1082hz,低频891hz/781hz/695hz。
62.发端同步生成模块(8)分别使用随机算法在高频、中频、低频选择一个频率,生成取值范围为0-26的同步标识id,
63.同步标识id=高频频率的标号*9+中频频率的标号*3+低频频率的标号,发端同步生成模块(8)根据同步标识id的三个频率生成定长的同步音频数据(本技术设定为50毫秒)。
64.发端延时同步模块(7),用于根据接收到的信息计算同步时戳差、启动时戳和输出时戳,将启动时戳和输出时戳发送至发端时延处理模块(9),将同步时戳差发送给收端回音消除模块(10)。
65.具体而言,发端延时同步模块(7)接收收端频域转换模块(3)的音频频域分片数据和分片时戳以及接收发端同步生成模块(8)的同步标识id和发送时戳,发端延时同步模块(7)按照高频,中频,低频把音频频域分片数据分成三个区块,分别对三个区块的音频频域数据进行处理,发端延时同步模块(7)按照音频频域数据的各个频率的能量值进行平方值计算,放大各个频率的能量值的差异,统计在区块的各个频率的能量值的平均值,如果同步标识id在区块对应频域大于阀值k,则认定同步区块id在该区域匹配,当三个区块都匹配时,则认为在音频频域分片数据到该同步标识id,发端延时同步模块(7)把发送时戳减去分片时戳再减去调节系数的值作为同步时戳差。其中,调节系数为同步标识id信号音在pcm音频分片数据被分段与预留,在本技术中取值为pcm音频分片数据分片的时长的三倍。发端延时同步模块(7)把分片时戳加上同步时戳差得到启动时戳,分片时戳加上同步时戳差得到输出时戳,将启动时戳和输出时戳发送至发端时延处理模块(9),将同步时戳差发送给发端时延处理模块(9)。
66.发端混合模块(6),用于接收会议桥模块(12)的pcm音频数据和时戳,发端混合模块(6)接收发端同步生成模块(8)的同步音频数据并按时域进行数据混合,发端混合模块(6)通过检测会议桥模块(12)的音频数据能量值判断pcm音频数据是否为静音数据。
67.音频数据能量值计算方式:pcm音频数据取绝值后进累加值,累加值除以采样数,得到pcm音频数据采样的平均值,如果平均值小于阀值则认为静音数据,
68.若为静音数据,则把发端同步生成模块(8)的音频数据替换会议桥模块(12)的pcm音频数据,得到混合后的音频数据,发端混合模块(6)把混合后的音频数据与时戳发送至声音编码发送模块(4),再把时戳返回给发端同步生成模块(8)。
69.声音编码发送模块(4),用于接收发端混合模块(6)的pcm音频数据与时戳,对pcm音频数据编码,并通过网格把音频数据发送给远端音频设备,声音编码发送模块(4)同时对pcm音频数据按照固定时间(本技术设定为4毫秒)进行音频数据重新分片与生成新时戳,把pcm音频分片数据与的分片时戳发送给发端频域转换模块(5)。
70.发端频域转换模块(5),用于接收pcm音频分片数据与分片时戳,把pcm音频分片数据通过fft快速傅里叶变化进行时域到频域的转化,得到音频频域分片数据,发端频域转换模块(5)把音频频域分片数据与分片时戳发送至发端时延处理模块(9)。
71.发端时延处理模块(9),用于接收到发端频域转换模块(5)的音频频域分片数据与分片时戳,把音频频域分片数据与分片时戳放入到先进先出队列,发端时延处理模块(9)接收发端延时同步模块(7)的启动时戳,丢弃分片时戳小于启动时戳的音频频域分片数据,发端时延处理模块(9)接收发端延时同步模块(7)的输出时戳,把分片时戳小于等于输出时戳的音频频域分片数据和发送时戳发送给收端回音消除模块(10)。
72.收端回音消除模块(10),用于接收对音频频域分片数据进行消音并将消音后的音频频域分片数据与分片时戳发送到收端频域还原模块(11)。
73.具体地,收端回音消除模块(10)接收发端时延处理模块(9)的音频频域分片数据与发送时戳,将音频频域分片数据按照发送时戳保存到发端缓存区,发端缓存区采用最新固定时长(本技术设定为128毫秒)音频频域分片数据,将发送时戳作为发端缓存区的最新时戳,收端回音消除模块(10)接收发端延时同步模块(7)的同步时戳差,接收收端频域转换模块(3)的音频频域分片数据与分片时戳,计算时延预估,
74.时延预估=分片时戳+同步时戳差-发端缓存区的最新时戳,
75.收端回音消除模块(10)把时延预估做为线性回音消除nlms算法的线性部分回声的估计延时的初始值,提早nlms算法进入收敛,并根据nlms算法的估计延时进行远近端非因果预估非线回音消除,最后把经过回音消除的音频频域分片数据与分片时戳发送至收端频域还原模块(11)。
76.收端频域还原模块(11),用于接收收端回音消除模块(10)的音频频域分片数据和分片时戳,收端频域还原模块(11)对音频频域分片数据进行ifft快速傅里叶逆变化,把频域的声音逆变为时域的pcm声音数据,再把pcm声音数据发送给会议桥模块(12)。
77.会议桥模块(12)用于接收端频域还原模块(11)的pcm声音数据,对pcm声音数据进行声音混合,把混音pcm声音数据和时戳发送至其他与会成员的发端混合模块(6)。
78.本技术还揭示一种远端回音消除方法,用于前述的远端回音消除系统,包含以下步骤:
79.远端音频设备接收声音编码发送模块(4)的声音数据进行解码并使用本地扬声器播放,远端音频设备的麦克风接收到本地扬声器播放声音与用户实际语音,把混合声音编码发送给声音解码接收模块(1)。
80.声音解码接收模块(1)通过网络接收远端音频设备的包含用户实际语音和扬声器播放声音的混合音频编码数据,并将混合音频编码数据解码为pcm音频数据发送至收端平滑模块(2)。
81.收端平滑模块(2)计算时延门限估计值,将时延门限估计值与当前时延门限进行差值取绝对值,如果绝对值大于时延门限的调整阀值(本技术设定为10%),把当前时延门限修改为时延门限估计值,收端平滑模块(2)按照当前时延门限值对pcm音频数据进行缓存,当收端平滑模块(2)的音频数据累计超过当前时延门限,则按照固定时间(本技术设定为4毫秒)对pcm音频数据进行音频数据分片得到pcm音频分片数据,把pcm音频分片数据与分片时戳发送给收端频域转换模块(3)。
82.收端频域转换模块(3)接收pcm音频分片数据与分片时戳,把pcm音频分片数据通过fft快速傅里叶变化进行时域到频域的转化,得到音频频域分片数据,收端频域转换模块(3)把音频频域分片数据与分片时戳发送至发端延时同步模块(7)与收端回音消除模块(10)。
83.发端同步生成模块(8)生成同步标识id和对应的同步音频数据,并将同步音频数据发送至发端混合模块(6),且接收发端混合模块(6)的时戳作为同步时戳,最后将同步标识id和同步时戳发送至发端延时同步模块(7)。
84.发端延时同步模块(7)根据接收到的信息计算同步时戳差、启动时戳和输出时戳,将启动时戳和输出时戳发送至发端时延处理模块(9),将同步时戳差发送给收端回音消除模块(10)。
85.发端混合模块(6)接收会议桥模块(12)的pcm音频数据和时戳,发端混合模块(6)接收发端同步生成模块(8)的同步音频数据并按时域进行数据混合,发端混合模块(6)通过检测会议桥模块(12)的音频数据能量值判断pcm音频数据是否为静音数据,若为静音数据,则把发端同步生成模块(8)的音频数据替换会议桥模块(12)的pcm音频数据,得到混合后的音频数据,发端混合模块(6)把混合后的音频数据与时戳发送至声音编码发送模块(4),再把时戳返回给发端同步生成模块(8)。
86.声音编码发送模块(4)接收发端混合模块(6)的pcm音频数据与时戳,对pcm音频数据编码,并通过网格把音频数据发送给远端音频设备,声音编码发送模块(4)同时对pcm音频数据按照固定时间(本技术设定为4毫秒)进行音频数据重新分片与生成新时戳,把pcm音频分片数据与的分片时戳发送给发端频域转换模块(5)。
87.发端频域转换模块(5)接收pcm音频分片数据与分片时戳,把pcm音频分片数据通过fft快速傅里叶变化进行时域到频域的转化,得到音频频域分片数据,发端频域转换模块(5)把音频频域分片数据与分片时戳发送至发端时延处理模块(9)。
88.发端时延处理模块(9)接收到发端频域转换模块(5)的音频频域分片数据与分片时戳,把音频频域分片数据与分片时戳放入到先进先出队列,发端时延处理模块(9)接收发端延时同步模块(7)的启动时戳,丢弃分片时戳小于启动时戳的音频频域分片数据,发端时延处理模块(9)接收发端延时同步模块(7)的输出时戳,把分片时戳小于等于输出时戳的音
频频域分片数据和发送时戳发送给收端回音消除模块(10)。
89.收端回音消除模块(10)接收对音频频域分片数据进行消音并将消音后的音频频域分片数据与分片时戳发送到收端频域还原模块(11)。
90.收端频域还原模块(11)接收收端回音消除模块(10)的音频频域分片数据和分片时戳,收端频域还原模块(11)对音频频域分片数据进行ifft快速傅里叶逆变化,把频域的声音逆变为时域的pcm声音数据,再把pcm声音数据发送给会议桥模块(12)。
91.会议桥模块(12)接收端频域还原模块(11)的pcm声音数据,对pcm声音数据进行声音混合,把混音pcm声音数据和时戳发送至其他与会成员的发端混合模块(6)。
92.作为一种优选的实施方式,收端平滑模块(2)计算时延门限估计值的具体方法为:
93.收端平滑模块(2)采用平顺延时控制保证其输出音频数据在时间维度上平顺,收端平滑模块(2)使用预设的较长时延(本技术设定为200毫秒)做时延门限定的初始值,统计相邻音频数包到达时间间隔,统计固定周期(本技术设定为10秒)音频数据包的时间间隔,时延抖动值取值大于周期内大于阀值(本技术设定为90%)音频数据包的时间间隔的最小值,时延抖动值乘以调整系数(本技术设定为3)得到时延门限统计值,使用卡尔曼滤波对时延门限统计值进行滤波得到时延门限估计值,过滤突变,对时延门限估计值进行平顺处理。
94.同步标识id由高频、中频、低频各取一个频率组成。高频,中频,低频各选三个频率按频率低到高分标号0/1/2,如高频1615hz/1767hz/1832hz,中频1313hz/1187hz/1082hz,低频891hz/781hz/695hz。作为一种优选的实施方式,发端同步生成模块(8)生成同步标识id和对应的同步音频数据的具体方法为:
95.发端同步生成模块(8)分别使用随机算法在高频、中频、低频选择一个频率,生成取值范围为0-26的同步标识id,
96.同步标识id=高频频率的标号*9+中频频率的标号*3+低频频率的标号,发端同步生成模块(8)根据同步标识id的三个频率生成定长的同步音频数据(本技术设定为50毫秒)。
97.作为一种优选的实施方式,发端延时同步模块(7)根据接收到的信息计算同步时戳差、启动时戳和输出时戳的具体方法为:
98.发端延时同步模块(7)接收收端频域转换模块(3)的音频频域分片数据和分片时戳以及接收发端同步生成模块(8)的同步标识id和发送时戳,发端延时同步模块(7)按照高频,中频,低频把音频频域分片数据分成三个区块,分别对三个区块的音频频域数据进行处理,发端延时同步模块(7)按照音频频域数据的各个频率的能量值进行平方值计算,放大各个频率的能量值的差异,统计在区块的各个频率的能量值的平均值,如果同步标识id在区块对应频域大于阀值k,则认定同步区块id在该区域匹配,当三个区块都匹配时,则认为在音频频域分片数据到该同步标识id,发端延时同步模块(7)把发送时戳减去分片时戳再减去调节系数的值作为同步时戳差,发端延时同步模块(7)把分片时戳加上同步时戳差得到启动时戳,分片时戳加上同步时戳差得到输出时戳,将启动时戳和输出时戳发送至发端时延处理模块(9),将同步时戳差发送给发端时延处理模块(9)。其中,调节系数为同步标识id信号音在pcm音频分片数据被分段与预留,在本技术中取值为pcm音频分片数据分片的时长的三倍。
99.作为一种优选的实施方式,收端回音消除模块(10)接收对音频频域分片数据进行
消音的具体方法为:
100.收端回音消除模块(10)接收发端时延处理模块(9)的音频频域分片数据与发送时戳,将音频频域分片数据按照发送时戳保存到发端缓存区,发端缓存区采用最新固定时长(本技术设定为128毫秒)音频频域分片数据,将发送时戳作为发端缓存区的最新时戳,收端回音消除模块(10)接收发端延时同步模块(7)的同步时戳差,接收收端频域转换模块(3)的音频频域分片数据与分片时戳,计算时延预估,
101.时延预估=分片时戳+同步时戳差-发端缓存区的最新时戳,
102.收端回音消除模块(10)把时延预估做为线性回音消除nlms算法的线性部分回声的估计延时的初始值,提早nlms算法进入收敛,并根据nlms算法的估计延时进行远近端非因果预估非线回音消除,最后把经过回音消除的音频频域分片数据与分片时戳发送至收端频域还原模块(11)。
103.定位输出模块(4)将接收到的空间坐标根据wgs84椭球转为大地坐标系作为最终输出。
104.以上显示和描述了本发明的基本原理、主要特征和优点。本行业的技术人员应该了解,上述实施例不以任何形式限制本发明,凡采用等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。

技术特征:


1.一种远端回音消除系统,其特征在于,包含:远端音频设备、声音解码接收模块、收端平滑模块、收端频域转换模块、声音编码发送模块、发端频域转换模块、发端混合模块、发端延时同步模块、发端同步生成模块、发端时延处理模块、收端回音消除模块、收端频域还原模块和会议桥模块;远端音频设备用于接收声音编码发送模块的声音数据进行解码并使用本地扬声器播放,远端音频设备的麦克风接收到本地扬声器播放声音与用户实际语音,把混合声音编码发送给声音解码接收模块;声音解码接收模块用于通过网络接收远端音频设备的包含用户实际语音和扬声器播放声音的混合音频编码数据,并将混合音频编码数据解码为pcm音频数据发送至收端平滑模块;收端平滑模块用于计算时延门限估计值,将时延门限估计值与当前时延门限进行差值取绝对值,如果绝对值大于时延门限的调整阀值,把当前时延门限修改为时延门限估计值,收端平滑模块按照当前时延门限值对pcm音频数据进行缓存,当收端平滑模块的音频数据累计超过当前时延门限,则按照固定时间对pcm音频数据进行音频数据分片得到pcm音频分片数据,把pcm音频分片数据与分片时戳发送给收端频域转换模块;收端频域转换模块用于接收pcm音频分片数据与分片时戳,把pcm音频分片数据通过fft快速傅里叶变化进行时域到频域的转化,得到音频频域分片数据,收端频域转换模块把音频频域分片数据与分片时戳发送至发端延时同步模块与收端回音消除模块;发端同步生成模块用于生成同步标识id和对应的同步音频数据,并将同步音频数据发送至发端混合模块,且接收发端混合模块的时戳作为同步时戳,最后将同步标识id和同步时戳发送至发端延时同步模块;发端延时同步模块用于根据接收到的信息计算同步时戳差、启动时戳和输出时戳,将启动时戳和输出时戳发送至发端时延处理模块,将同步时戳差发送给收端回音消除模块;发端混合模块用于接收会议桥模块的pcm音频数据和时戳,发端混合模块接收发端同步生成模块的同步音频数据并按时域进行数据混合,发端混合模块通过检测会议桥模块的音频数据能量值判断pcm音频数据是否为静音数据,若为静音数据,则把发端同步生成模块的音频数据替换会议桥模块的pcm音频数据,得到混合后的音频数据,发端混合模块把混合后的音频数据与时戳发送至声音编码发送模块,再把时戳返回给发端同步生成模块;声音编码发送模块用于接收发端混合模块的pcm音频数据与时戳,对pcm音频数据编码,并通过网格把音频数据发送给远端音频设备,声音编码发送模块同时对pcm音频数据按照固定时间进行音频数据重新分片与生成新时戳,把pcm音频分片数据与的分片时戳发送给发端频域转换模块;发端频域转换模块用于接收pcm音频分片数据与分片时戳,把pcm音频分片数据通过fft快速傅里叶变化进行时域到频域的转化,得到音频频域分片数据,发端频域转换模块把音频频域分片数据与分片时戳发送至发端时延处理模块;发端时延处理模块用于接收到发端频域转换模块的音频频域分片数据与分片时戳,把音频频域分片数据与分片时戳放入到先进先出队列,发端时延处理模块接收发端延时同步模块的启动时戳,丢弃分片时戳小于启动时戳的音频频域分片数据,发端时延处理模块接收发端延时同步模块的输出时戳,把分片时戳小于等于输出时戳的音频频域分片数据和发
送时戳发送给收端回音消除模块;收端回音消除模块用于接收对音频频域分片数据进行消音并将消音后的音频频域分片数据与分片时戳发送到收端频域还原模块;收端频域还原模块用于接收收端回音消除模块的音频频域分片数据和分片时戳,收端频域还原模块对音频频域分片数据进行ifft快速傅里叶逆变化,把频域的声音逆变为时域的pcm声音数据,再把pcm声音数据发送给会议桥模块;会议桥模块用于接收端频域还原模块的pcm声音数据,对pcm声音数据进行声音混合,把混音pcm声音数据和时戳发送至其他与会成员的发端混合模块。2.根据权利要求1所述的远端回音消除系统,其特征在于,收端平滑模块采用平顺延时控制保证其输出音频数据在时间维度上平顺,收端平滑模块使用预设时延做时延门限定的初始值,统计相邻音频数包到达时间间隔,统计固定周期音频数据包的时间间隔,时延抖动值取值大于周期内大于阀值音频数据包的时间间隔的最小值,时延抖动值乘以调整系数得到时延门限统计值,使用卡尔曼滤波对时延门限统计值进行滤波得到时延门限估计值,过滤突变,对时延门限估计值进行平顺处理。3.根据权利要求1所述的远端回音消除系统,其特征在于,发端同步生成模块分别使用随机算法在高频、中频、低频选择一个频率,生成取值范围为0-26的同步标识id,同步标识id=高频频率的标号*9+中频频率的标号*3+低频频率的标号,发端同步生成模块根据同步标识id的三个频率生成定长的同步音频数据。4.根据权利要求3所述的远端回音消除系统,其特征在于,发端延时同步模块接收收端频域转换模块的音频频域分片数据和分片时戳以及接收发端同步生成模块的同步标识id和发送时戳,发端延时同步模块按照高频,中频,低频把音频频域分片数据分成三个区块,分别对三个区块的音频频域数据进行处理,发端延时同步模块按照音频频域数据的各个频率的能量值进行平方值计算,放大各个频率的能量值的差异,统计在区块的各个频率的能量值的平均值,如果同步标识id在区块对应频域大于阀值k,则认定同步区块id在该区域匹配,当三个区块都匹配时,则认为在音频频域分片数据到该同步标识id,发端延时同步模块把发送时戳减去分片时戳再减去调节系数的值作为同步时戳差,发端延时同步模块把分片时戳加上同步时戳差得到启动时戳,分片时戳加上同步时戳差得到输出时戳,将启动时戳和输出时戳发送至发端时延处理模块,将同步时戳差发送给发端时延处理模块。5.根据权利要求4所述的远端回音消除系统,其特征在于,收端回音消除模块接收发端时延处理模块的音频频域分片数据与发送时戳,将音频频域分片数据按照发送时戳保存到发端缓存区,发端缓存区采用最新固定时长音频频域分片数据,将发送时戳作为发端缓存区的最新时戳,收端回音消除模块接收发端延时同步模块的同步时戳差,接收收端频域转换模块的音频频域分片数据与分片时戳,计算时延预估,时延预估=分片时戳+同步时戳差-发端缓存区的最新时戳,收端回音消除模块把时延预估做为线性回音消除nlms算法的线性部分回声的估计延时的初始值,提早nlms算法进入收敛,并根据nlms算法的估计延时进行远近端非因果预估非线回音消除,最后把经过回音消除的音频频域分片数据与分片时戳发送至收端频域还原
模块。6.一种远端回音消除方法,其特征在于,包含以下步骤:远端音频设备接收声音编码发送模块的声音数据进行解码并使用本地扬声器播放,远端音频设备的麦克风接收到本地扬声器播放声音与用户实际语音,把混合声音编码发送给声音解码接收模块;声音解码接收模块通过网络接收远端音频设备的包含用户实际语音和扬声器播放声音的混合音频编码数据,并将混合音频编码数据解码为pcm音频数据发送至收端平滑模块;收端平滑模块计算时延门限估计值,将时延门限估计值与当前时延门限进行差值取绝对值,如果绝对值大于时延门限的调整阀值,把当前时延门限修改为时延门限估计值,收端平滑模块按照当前时延门限值对pcm音频数据进行缓存,当收端平滑模块的音频数据累计超过当前时延门限,则按照固定时间对pcm音频数据进行音频数据分片得到pcm音频分片数据,把pcm音频分片数据与分片时戳发送给收端频域转换模块;收端频域转换模块接收pcm音频分片数据与分片时戳,把pcm音频分片数据通过fft快速傅里叶变化进行时域到频域的转化,得到音频频域分片数据,收端频域转换模块把音频频域分片数据与分片时戳发送至发端延时同步模块与收端回音消除模块;发端同步生成模块生成同步标识id和对应的同步音频数据,并将同步音频数据发送至发端混合模块,且接收发端混合模块的时戳作为同步时戳,最后将同步标识id和同步时戳发送至发端延时同步模块;发端延时同步模块根据接收到的信息计算同步时戳差、启动时戳和输出时戳,将启动时戳和输出时戳发送至发端时延处理模块,将同步时戳差发送给收端回音消除模块;发端混合模块接收会议桥模块的pcm音频数据和时戳,发端混合模块接收发端同步生成模块的同步音频数据并按时域进行数据混合,发端混合模块通过检测会议桥模块的音频数据能量值判断pcm音频数据是否为静音数据,若为静音数据,则把发端同步生成模块的音频数据替换会议桥模块的pcm音频数据,得到混合后的音频数据,发端混合模块把混合后的音频数据与时戳发送至声音编码发送模块,再把时戳返回给发端同步生成模块;声音编码发送模块接收发端混合模块的pcm音频数据与时戳,对pcm音频数据编码,并通过网格把音频数据发送给远端音频设备,声音编码发送模块同时对pcm音频数据按照固定时间进行音频数据重新分片与生成新时戳,把pcm音频分片数据与的分片时戳发送给发端频域转换模块;发端频域转换模块接收pcm音频分片数据与分片时戳,把pcm音频分片数据通过fft快速傅里叶变化进行时域到频域的转化,得到音频频域分片数据,发端频域转换模块把音频频域分片数据与分片时戳发送至发端时延处理模块;发端时延处理模块接收到发端频域转换模块的音频频域分片数据与分片时戳,把音频频域分片数据与分片时戳放入到先进先出队列,发端时延处理模块接收发端延时同步模块的启动时戳,丢弃分片时戳小于启动时戳的音频频域分片数据,发端时延处理模块接收发端延时同步模块的输出时戳,把分片时戳小于等于输出时戳的音频频域分片数据和发送时戳发送给收端回音消除模块;收端回音消除模块接收对音频频域分片数据进行消音并将消音后的音频频域分片数据与分片时戳发送到收端频域还原模块;
收端频域还原模块接收收端回音消除模块的音频频域分片数据和分片时戳,收端频域还原模块对音频频域分片数据进行ifft快速傅里叶逆变化,把频域的声音逆变为时域的pcm声音数据,再把pcm声音数据发送给会议桥模块;会议桥模块接收端频域还原模块的pcm声音数据,对pcm声音数据进行声音混合,把混音pcm声音数据和时戳发送至其他与会成员的发端混合模块。7.根据权利要求6所述的远端回音消除系统,其特征在于,收端平滑模块计算时延门限估计值的具体方法为:收端平滑模块采用平顺延时控制保证其输出音频数据在时间维度上平顺,收端平滑模块使用预设时延做时延门限定的初始值,统计相邻音频数包到达时间间隔,统计固定周期音频数据包的时间间隔,时延抖动值取值大于周期内大于阀值音频数据包的时间间隔的最小值,时延抖动值乘以调整系数得到时延门限统计值,使用卡尔曼滤波对时延门限统计值进行滤波得到时延门限估计值,过滤突变,对时延门限估计值进行平顺处理。8.根据权利要求6所述的远端回音消除系统,其特征在于,发端同步生成模块生成同步标识id和对应的同步音频数据的具体方法为:发端同步生成模块分别使用随机算法在高频、中频、低频选择一个频率,生成取值范围为0-26的同步标识id,同步标识id=高频频率的标号*9+中频频率的标号*3+低频频率的标号,发端同步生成模块根据同步标识id的三个频率生成定长的同步音频数据。9.根据权利要求8所述的远端回音消除系统,其特征在于,发端延时同步模块根据接收到的信息计算同步时戳差、启动时戳和输出时戳的具体方法为:发端延时同步模块接收收端频域转换模块的音频频域分片数据和分片时戳以及接收发端同步生成模块的同步标识id和发送时戳,发端延时同步模块按照高频,中频,低频把音频频域分片数据分成三个区块,分别对三个区块的音频频域数据进行处理,发端延时同步模块按照音频频域数据的各个频率的能量值进行平方值计算,放大各个频率的能量值的差异,统计在区块的各个频率的能量值的平均值,如果同步标识id在区块对应频域大于阀值k,则认定同步区块id在该区域匹配,当三个区块都匹配时,则认为在音频频域分片数据到该同步标识id,发端延时同步模块把发送时戳减去分片时戳再减去调节系数的值作为同步时戳差,发端延时同步模块把分片时戳加上同步时戳差得到启动时戳,分片时戳加上同步时戳差得到输出时戳,将启动时戳和输出时戳发送至发端时延处理模块,将同步时戳差发送给发端时延处理模块。10.根据权利要求9所述的远端回音消除系统,其特征在于,收端回音消除模块接收对音频频域分片数据进行消音的具体方法为:收端回音消除模块接收发端时延处理模块的音频频域分片数据与发送时戳,将音频频域分片数据按照发送时戳保存到发端缓存区,发端缓存区采用最新固定时长音频频域分片数据,将发送时戳作为发端缓存区的最新时戳,收端回音消除模块接收发端延时同步模块的同步时戳差,接收收端频域转换模块的音频频域分片数据与分片时戳,计算时延预估,时延预估=分片时戳+同步时戳差-发端缓存区的最新时戳,收端回音消除模块把时延预估做为线性回音消除nlms算法的线性部分回声的估计延
时的初始值,提早nlms算法进入收敛,并根据nlms算法的估计延时进行远近端非因果预估非线回音消除,最后把经过回音消除的音频频域分片数据与分片时戳发送至收端频域还原模块。

技术总结


本发明公开了一种远端回音消除系统及方法,该系统包含:包含:远端音频设备、声音解码接收模块、收端平滑模块、收端频域转换模块、声音编码发送模块、发端频域转换模块、发端混合模块、发端延时同步模块、发端同步生成模块、发端时延处理模块、收端回音消除模块、收端频域还原模块和会议桥模块;收端回音消除模块用于接收对音频频域分片数据进行消音并将消音后的音频频域分片数据与分片时戳发送到收端频域还原模块。本发明的远端回音消除系统及方法,使用平顺延时控制去网络抖动保证输出音频数据在时间维度上平顺,提升回音消除准确性。提升回音消除准确性。提升回音消除准确性。


技术研发人员:

金国庆 陈尚武 尹书娟

受保护的技术使用者:

深蓝感知(杭州)物联科技有限公司

技术研发日:

2022.05.17

技术公布日:

2022/8/30

本文发布于:2024-09-24 01:15:22,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/54848.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:模块   发端   数据   音频
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议