APP下载

基于动态竞争的实时多媒体会议混音算法

2014-07-18王立炜廖延娜

西安邮电大学学报 2014年5期
关键词:发言者混音语音

王立炜, 廖延娜

(1.西安邮电大学 电子工程学院, 陕西 西安 710121; 2.西安邮电大学 理学院, 陕西 西安 710121)

基于动态竞争的实时多媒体会议混音算法

王立炜, 廖延娜

(1.西安邮电大学 电子工程学院, 陕西 西安 710121; 2.西安邮电大学 理学院, 陕西 西安 710121)

为了解决大规模会议中的混音噪声问题,提出语音短时累积能量的概念,并据此设计基于动态竞争模式的实时多媒体会议混音算法。该算法依据会议所有成员的语音短时累积能量,通过动态竞争、自我淘汰、强制淘汰三个过程,实时从会议所有成员中选择当前的发言者,并进行混音。仿真结果显示,该算法可解决大规模会议中混音质量与会议人数成反比的问题。

大规模多媒体会议;短时累积能量;动态竞争;混音

近年来,多媒体会议成为多媒体通信发展的热点之一;ITU-T在H.323中建议了集中控制的会议模式,使用多点控制单元(Multipoint Control Unit, MCU)对全体会议成员输入的音频、视频及数据信号进行集中处理[1]。在多媒体会议中,实时音频交流最为重要,MCU对多路音频信号进行混音处理,再将混音后的音频信号输出传送到每个成员,使其能够同时听到多个发言者的声音。

混音算法的基本原理是对多路输入音频信号的采样数据进行叠加,如平均权重混音算法、对齐法、非均匀波形收缩算法[2]、钳位算法[3]等。这些算法的共同点是:利用不同的算法得到不同的权系数后,将所有会议成员的多路音频输入信号进行加权,然后叠加得到混音输出。随着会议成员数目的增加,混音后的音频信号的噪声必然也随之增加。在大规模会议中,上述的混音算法的噪声均超出人耳的承受范围,影响多媒体会议质量和用户体验[4];因此,在大规模会议中,一般使用“申请—授权—发言”的会议方式,控制实际发言人数,以保证会议混音效果。这种方式控制复杂,且与会者发言不自由。为了解决上述问题,本文研究了基于动态竞争模式的实时快速混音方案,自动从所有与会者中选取当前的发言者。

1 动态竞争混音原理

动态竞争混音算法的原理如图1所示。当前时间单元ΔT内,根据会议电话各个成员的语音能量,进行竞争和淘汰,动态更新当前发言者的名单,然后将发言者的语音信号进行混音合成,作为当前时间单元内的语音输出。

实时动态竞争选择淘汰算法主要由两个部分组成:语音短时累积能量计算,实时动态竞争和淘汰。

图1 实时动态竞争模式的混音原理

2 语音短时累积能量

每个时间单元ΔT内的语音信号记为一帧,设帧长度为n,则当前语音帧信号x(i)的能量计算公式为

考虑到听觉效果的实时性和延续性,提出语音短时累积能量的概念:设定一个时间窗Tw,对应窗长度为Nw;Tw>ΔT,即Nw>n。时间窗Tw以ΔT为单位向前推进,计算时间窗Tw内语音信号x(i)的加权平方和,作为Tw内最后一帧语音的短时累积能量,即

其中窗函数w(i)可以是简单的矩形窗函数,或取正单调递增函数,如线性单调递增窗函数或四分之一正弦窗[5]。使用矩形窗函数即是将时间窗Tw的语音信号能量无差别累加;使用单调递增形式的窗函数则在Eaccu中更多地体现了临近当前时刻的语音信号能量。使用四分之一正弦窗,则有

如时间窗长度Nw为帧长度为n的整数K倍,从提高计算效率的角度出发,可以用Nw内的每帧能量Eframe的加权和代替当前帧的短时累积能量,即

多媒体会议系统中的音频信号一般采用压缩编码传送[6],常见的有G.729协议和G.723协议语音压缩算法,其中G.729采用的语音帧长度为10 ms, G.723采用的语音帧长度为30 ms。本算法中的语音帧时间单元ΔT的选取兼顾G.729和G.723协议,取ΔT等于10 ms;PSTN规定电话质量的语音信号采样率为8 000 Hz,即帧长度n=80。短时累积能量时间窗Tw的长度建议为ΔT的8~15倍,本文取短时累积能量时间长度Tw为100 ms,即Nw=800。

3 实时动态竞争淘汰算法

在实时动态竞争选择淘汰算法中,将会议成员M分为三个集合:主发言者集合,成员数为X;次发言者集合,允许最大成员数为Y;其他会议成员则属于静默者集合。X+Y为最终参与混音的成员数,从人耳听觉有效分辨的角度考虑,一般建议[7]

(X+Y)<8。

首先在会议电话开始的第一个时间单元ΔT,根据会议电话各个成员第一帧语音信号的能量Eframe,选择能量最大的X个成员作为主发言者,其余为静默者。在其后的每个时间单元,根据每个成员在当前帧的语音信号短时累积能量Eaccu,通过动态竞争、自我淘汰和强制淘汰,动态更新三个集合的成员。

3.1 动态竞争

竞争过程如图2所示,主要包括4个步骤。

步骤1 选择主发言者集合中Eaccu最小的成员,标记为A;选择次发言者集合和静默者中Eaccu最大的成员,标记为B。

步骤2 如果A、B满足竞争条件

Eaccu(B)>Eaccu(A),

则记录A和B为一对竞争对手,并开启竞争计时器T1。

步骤3 在下一个时间单元,若成员A和B依然满足竞争条件,竞争计时器T1递增;否则,竞争失败,清除A、B标记,同时计时器T1清零。

步骤4 设置竞争时间门限Th1;如果T1>Th1,则竞争成功,成员B转入主发言者集合,成员A转入次发言者集合。

竞争时间门限Th1的大小影响竞争成功的频率。Th1过小将导致竞争过于频繁,最终混音合成的语音连续性较差,Th1过大将导致竞争成功困难。建议Th1取值在500~1 500 ms之间[8]。

图2 动态竞争过程

3.2 自我淘汰

显然,在上述竞争过程中,竞争成功将导致次发言者集合中的成员数增加,最终会超过集合允许的最大成员数Y,故必须对次发言者集合中的成员进行控制,即自我淘汰。自我淘汰过程如图3所示,其主要步骤可描述如下。

针对次发言者集合中的每个成员,对比当前时间单元的短时累积能量的Eaccu_current与上一时间单元的短时累积能量的Eaccu_last,如果

Eaccu_current<αEaccu_last,

则该成员进入预淘汰状态,标记为C,启动预淘汰计时器T2,并定义对应的预淘汰能量门限

ETh=αEaccu_last。

参数α的取值范围为0~1,建议取α=0.5。

在下一个时间单元,如果成员C满足

Eaccu_current

计时器T2递增;否则,该成员退出预淘汰状态,对应的计时器T2清零。

设置预淘汰时间门限Th2;如果成员C的预淘汰计时器T2>Th2,则认为成员C的发言结束,将成员C更新为静默者,即该成员被自我淘汰。

预淘汰时间门限Th2的取值可参考竞争时间门限Th2的的取值建议。

图3 自我淘汰过程

3.3 强制淘汰

上述自我淘汰过程可以减小次发言者集合中的成员数,但是逻辑上,依然无法摒除次发言者集合的“超员”现象。当出现“超员”时,可将预淘汰成员C直接强制淘汰;如果没有预淘汰成员,则淘汰次发言者集合中当前累积能量最小的一位。

通过动态竞争、自我淘汰和强制淘汰,在每个时间单元,主发言者集合和次发言者集合内的成员可实时动态更新。适当设置主发言者集合成员数X和次发言者集合成员数Y,即可有效控制最终进行混音的语音信号路数,避免大规模会议中成员数目过多导致的混音噪声增加现象。

4 算法仿真

本文使用Matlab进行了竞争淘汰算法仿真。设置会议成员数为20,主发言者集合成员数X=2,次发言者集合成员数Y=4;设置竞争时间门限Th1为500 ms,预淘汰时间门限Th2为800 ms。

图4和图5对比了CoolEdit软件[9]呈现的时长为26 s的会议混音结果。图4为直接使用平均加权将20路语音进行混音合成,图5为使用竞争淘汰算法,将每个时间单元动态更新的发言者的语音信号进行平均加权混音合成输出。从波形上可以明显看出,竞争淘汰算法有效减小了混音合成的噪声。从主观听觉效果上,20路直接平均加权合成的输出噪声大,语音几乎无法分辨,竞争淘汰后合成的输出,能够分清楚不同与会者的语音信号,语音清晰连贯。随着会议成员数增加,仿真结果的对比更加明显。

图4 平均加权算法混音输出

图5 动态竞争算法混音输出

5 结论

使用语音短时累积能量作为依据,动态竞争淘汰算法可有效选取当前的发言成员,合成输出的语音清晰连贯,噪声不随会议成员总数的增加而增加。该算法计算量小,可有效使用于大规模多媒体会议的实时混音。动态竞争淘汰的结果还可以与其它混音算法结合,如在竞争淘汰的基础上,结合文献[3]中的非均匀波形收缩算法,对发言者的语音信号进行混音,以得到更佳的混音效果。

[1] 周敬利,马志龙,范晔斌,等. 一种新的多媒体会议实时混音方案[J].小型微型计算机系统,2009,30(1):169-172.

[2] 李宇,郭雷勇,陈建铭,等. 一种多媒体会议系统的实时同步混音转发算法[J]. 中山大学学报:自然科学版,2010,49(2):31-36.

[3] 张海峰,白骋宇. 多媒体会议系统音频多点处理器的软件设计[J]. 机电工程,2010,27(6):104-107.

[4] 吴冀衍,乔秀全,程渤,等. 延迟敏感的移动多媒体会议端到端服务质量保障[J]. 计算机学报, 2013,36(7):1399-1412.

[5] 李杭生,陈丹. 频谱分析中窗函数的研究[J].微计算机信息,2008,24(4-1):272-273.

[6] 胡建洲,田裕鹏. 基于FreeSwitch和DSP的多媒体会议系统的设计与实现[J]. 计算机应用与软件,2013,30(8):264-266.

[7] 靳鹏飞.基于DSP的自适应会议电话算法设计与实现[J].西安邮电学院学报,2010,15(3):30-33.

[8] 李卫华,廖延娜,戴明,等. 会议电话语音选择合成的方法:中国,200410073391.6[P].2005-05-25.

[9] 徐洊学,徐秀珍. 利用CoolEdit Pro及其效果器插件搭建简易录音棚的方法[J].内蒙古民族大学学报:自然科学版,2009,24(6):629-631.

[责任编辑:王辉]

Real-time audio mixing algorithm based on dynamic competition used in multimedia conference

WANG Liwei1, LIAO Yanna2

(1. School of Electronic Engineering, Xi’an University of Posts and Telecommunications, Xi’an 710121, China;2.School of Science, Xi’an University of Posts and Telecommunications, Xi’an 710121, China)

In order to solve the problem of mixing noise in large scale multimedia conference, a concept of short-term cumulative energy of speech signal is put forward, and a real-time audio mixing algorithm based on dynamic competition is given in this paper. In this algorithm, three processes: dynamic competition, self-obsolescing and forcible obsolescing are gone through according to short-term cumulative energy of speech signal which come from each member of the conference. Current spokesmen are selected, and their speech signals are mixed as output. Simulation results show that this algorithm can solve the problem that the audio mixing quality has an inverse relationship with membership of large scale multimedia conference.

Large-scale multimedia conference, short-term cumulative energy, dynamic competition, audio mixing

10.13682/j.issn.2095-6533.2014.05.010

2014-05-04

陕西省教育厅科学研究计划基金资助项目(12JK0559)

王立炜(1968-),男,讲师,从事电路与系统研究。E-mail:wlw@xupt.edu.cn 廖延娜(1974-),女,硕士,副教授,从事电路与系统、信号与信息处理研究。E-mail:liaoyn@xupt.edu.cn

TN912

A

2095-6533(2014)05-0051-05

猜你喜欢

发言者混音语音
魔力语音
基于MATLAB的语音信号处理
基于MQ3与MP3的价廉物美的酒驾语音提醒器
对方正在输入……
第十五届录音艺术大师班在京举办
末(外一首)
Allen&Heath dLive数字调音台新成员C Class
Keynote Speakers
发言人
激光唱片中的代号