混音处理方法、装置和系统的制作方法

文档序号:9305374阅读:350来源:国知局
混音处理方法、装置和系统的制作方法
【技术领域】
[0001]本发明涉及语音处理技术领域,特别是涉及一种混音处理方法、装置和系统。
【背景技术】
[0002]随着通信技术的发展以及广大用户的需求,目前各即时通信软件已经具备了多路混音的功能。即时通信软件需要将多路解码后的音频流进行混音处理,合成单个语音信号后再输出。
[0003]传统的混音处理方法是预先为各路语音信号设置相同的权重,再将各路语音信号进行加权求和。然而,随着语音信号路数的增多,语音信号的输出能量会大幅度减少,进而导致严重的失真问题。

【发明内容】

[0004]基于此,有必要提供一种能降低信号失真的混音处理方法。
[0005]一种混音处理方法,所述方法包括:
[0006]接收多路输入语音信号,分别对所述多路输入语音信号进行采样,得到每路输入语音信号的信号米样点值;
[0007]将所述信号采样点值从16位扩展为32位,并对所述每路输入语音信号的32位的信号采样点值进行对应求和,得到第一和值;
[0008]对所述第一和值进行压限,得到第二和值,所述第二和值为32位;
[0009]将所述第二和值从32位缩回16位,得到输出语音信号。
[0010]此外,还有必要提供一种能降低信号失真的混音处理装置。
[0011]一种混音处理装置,所述装置包括:
[0012]采样模块,用于接收多路输入语音信号,分别对所述多路输入语音信号进行采样,得到每路输入语音信号的信号采样点值;
[0013]扩展模块,用于将所述信号采样点值从16位扩展为32位,并对所述每路输入语音信号的32位的信号采样点值进行对应求和,得到第一和值;
[0014]压限模块,用于对所述第一和值进行压限,得到第二和值,所述第二和值为32位;
[0015]缩回模块,用于将所述第二和值从32位缩回16位,得到输出语音信号。
[0016]此外,还有必要提供一种能降低信号失真的混音处理系统。
[0017]一种混音处理系统,所述系统包括:扩展器、求和器、压限器和缩回器,其中:
[0018]扩展器用于接收多路输入语音信号,分别对所述多路输入语音信号进行采样,得到每路输入语音信号的信号采样点值,将所述信号采样点值从16位扩展为32位;
[0019]求和器用于对所述每路输入语音信号的32位的信号采样点值进行对应求和,得到第一和值;
[0020]压限器用于对所述第一和值进行压限,得到第二和值,所述第二和值为32位;
[0021]缩回器用于将所述第二和值从32位缩回16位,得到输出语音信号。
[0022]由于直接将16位的采样点值进行相加,有可能导致求和后得到的和值超出16位二进制所能表示的最大范围。上述混音处理方法、装置和系统,通过将信号采样点值从16位扩展至32位,有效地解决了因信号采样点值进行求和后所得到的第一和值可能超出16位二进制所能表示的最大范围的问题。此外,当信号采样点的第一和值的超过16位二进制所能表示的最大范围时,不是直接取饱和值作为第二和值,而是对第一和值进行压限得到第二和值,有效地降低了信号失真的概率。
【附图说明】
[0023]图1为一个实施例中混音处理方法的流程示意图;
[0024]图2为一个实施例中对第一和值进行压限的流程示意图;
[0025]图3为一个实施例中电平曲线示意图;
[0026]图4为一个实施例中混音处理装置的结构框图;
[0027]图5为一个实施例中压限模块的结构框图;
[0028]图6为另一个实施例中压限模块的结构框图;
[0029]图7为另一个实施例中混音处理装置的结构框图;
[0030]图8为一个实施例中混音处理系统的结构示意图。
【具体实施方式】
[0031]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0032]在一个实施例中,如图1所示,提供了一种混音处理方法,该方法包括如下步骤:
[0033]步骤102,接收多路输入语音信号,分别对多路输入语音信号进行采样,得到每路输入语音信号的信号米样点值。
[0034]米样也称抽样,是模拟信号在时间上的离散化,即按照一定时间间隔在模拟信号上逐点采取其瞬时值。它是通过采样脉冲和模拟信号相乘来实现的。通常采样频率越高,采样点数就越密,所得到的离散信号就越逼近于原信号。
[0035]信号采样点是在脉冲作用下,将时间、幅度都连续的模拟信号转换成时间上离散(时间上有固定间隔)、但幅度上仍连续的离散模拟信号(数字信号)。信号采样点值则是指对模拟信号进行采样的瞬间、模拟信号在该时刻的幅度值。
[0036]本实施例中,输入信号为语音信号,也就是模拟信号,步骤102中对输入的语音信号进行采样,得到信号采样点值。
[0037]步骤104,将信号采样点值从16位扩展为32位,并对每路输入语音信号的32位的信号采样点值进行对应求和,得到第一和值。
[0038]计算机采用二进制来表示数据,位(bit,又称比特)是数据的最小单位,是二进制的一个位数,用O或I表示。通常以8位二进制作为一个存储单元,也就是一个字节。在32位的计算机中,short型数据一般是16位,占用2个字节,可以表示的最大范围为-32768?32767,而int型数据是32位,占用4个字节,可以表示的最大范围为_232?232_1。在本实施例中,可将各信号采样点的数据类型从16位的short型转换为32位的int型。
[0039]同一信号有多个信号采样点,每个信号采样点的幅度值即为该信号采样点的信号采样点值。同理,当接收到多路输入的语音信号时,各输入信号均有多个信号采样点值。在本实施例中,第一和值是指将每路输入信号的信号采样点值直接进行对应相加所得到的和值,也可称为第一采样点值。所有的第一和值组成一个和值数组,其中,该和值数组中的每个元素为各路信号所对应的同一采样点相加得到的和值(即第一和值)。
[0040]例如,假设有两路输入信号,第一输入信号的信号采样点构成第一数组xl_16[i],该数组原本是16位的short型数组(该数组中的元素为short型),将其扩展为32位的int型数组xl_32[i](该数组中的元素为int型),第二输入信号的信号采样点构成第二数组x2_16[i],同理将其扩展为32位的int数组x2_32 [i],其中,第一输入信号的信号采样点值xl_32[0]对应第二输入信号的信号采样点值x2_32[0],第一输入信号的信号采样点值xl_32[l]对应第二输入信号的信号采样点值x2_32[l],以此类推。进一步的,将int型数组xl_32[i]和x2_32[i]中对应同一信号采样点的元素进行求和,进而得到第一和值y_32 [i],该第一和值y_32 [i]可组成一个和值数组,其中,该和值数组中的元素个数即为信号采样点的个数。
[0041]步骤106,对第一和值进行压限,得到第二和值,该第二和值为32位。
[0042]压限表示压缩和限制,用于保证各种信号强度的均衡。压缩是指当输入信号达到一定程度时,输出信号随着输入信号的增加以不同比例进行增加。限制是指当输入信号达到阈值时,输出信号不再随着输入信号的增加而增加。
[0043]在本实施例中,将第一和值压限后得到第二和值,第二和值也可称为第二采样点值。
[0044]步骤108,将第二和值从32位缩回16位,得到输出语音信号。
[0045]具体的,将第一和值所组成的和值数组中的每个元素都从32位缩回到16位,得到缩回后的和值所组成的数组,该数组中的每个元素为16位的,该数组形成的信号即为输出的语音信号。
[0046]应当说明的是,将第二和值从32位缩回到16位的过程中要注意取饱和,即:如果有的第一和值的取值大于32767,则取32767,否则会溢出。
[0047]本实施例中,由于将信号采样点值从16位扩展至32位,有效地解决了因信号采样点值进行求和后所得到的第一和值可能超出16位二进制所能表示的最大范围的问题。此夕卜,当信号采样点的第一和值的超过预设的阈值时,不是直接取饱和值作为第二和值,而是对第一和值进行压限得到第二和值,有效地降低了信号失真的概率。
[0048]在一个实施例中,步骤106包括:
[0049]步骤202,获取第一和值对应的第一电平值。
[0050]电平值是指信号经过包络检波,检出的包络的幅度用对数表示,这个对数值称为对应信号采样点的电平值。比如,第一和值组成的信号序列[64,55,44],送入包络检波器,得到一个结果,假设为[57,60,54],对这个结果取db,得到对应的电平值。
[0051 ] 在本实施例中,可通过公式:
[0052]P=20*lg (S1Z
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1