多路语音信号的混音处理方法、装置、设备及存储介质转让专利
申请号 : CN202110795299.4
文献号 : CN113257257B
文献日 : 2021-11-09
发明人 : 张旭东
申请人 : 统信软件技术有限公司
摘要 :
权利要求 :
1.一种多路语音信号的混音处理方法,所述方法适于采用自适应箝位法对多路视音频数据进行混音处理,所述方法包括步骤:获取多路语音信号混音后的和值,所述多路语音信号混音后的和值为多路语音信号的PCM值之和的最大值;
当所述多路语音信号混音后的和值编码位数超过设定位数阈值时,计算第一比例因子;
使用所述第一比例因子对所述多路语音信号的混音信号进行箝位处理,获取第一箝位信号;
当所述第一箝位信号的编码位数小于设定位数阈值时,使用所述第一箝位信号进行信号传输;
当所述多路语音信号中增加了一路或多路信号,使所述第一箝位信号的编码位数超过设定位数阈值时,计算第二比例因子,使用所述第二比例因子对所述第一箝位信号进行箝位处理,直至多路语音信号的混音信号的编码位数低于设定位数阈值;
当所述多路语音信号中减少了一路信号,使用比例因子aN对多路语音信号进行衰减,使输出的音频信号H*a1*a2*……*aN太小时,使用比例因子aN‑1对多路语音信号进行衰减,使输出的音频信号H*a1*a2*……*aN‑1正常,其中,H为多路语音信号的PCM编码,a1为多路语音信号有1路时对多路语音信号进行衰减的比例因子,a2为多路语音信号有2路时对多路语音信号进行衰减的比例因子,aN‑1为多路语音信号有N‑1路时对多路语音信号进行衰减的比例因子,aN为多路语音信号有N路时对多路语音信号进行衰减的比例因子;
其中,所述设定位数阈值为16位编码值,所述计算第一比例因子为:将16位PCM编码的最大正值除以所述多路语音信号混音后的和值。
2.如权利要求1所述的方法,其中,所述获取多路语音信号混音后的和值的步骤包括:获取多路语音信号中每一路语音信号的PCM编码;
依据多路语音信号中每一路语音信号的PCM编码,获取多路语音信号中每一路语音信号的PCM编码值;
依据多路语音信号中每一路语音信号的PCM编码值,对多路语音信号中混音后的每一路语音信号的PCM编码值求和,获取多路语音信号混音后的和值。
3.如权利要求1所述的方法,其中,所述当所述多路语音信号混音后的和值编码位数超过设定位数阈值时,计算第一比例因子的步骤包括:获取16位PCM编码的最大正值;
判断多路语音信号混音后的和值的编码是否超过16位编码值;
如果否,则对多路语音信号混音后的和值进行16位PCM编码;
如果是,则计算第一比例因子。
4.如权利要求3所述的方法,其中,所述16位PCM编码的最大正值为:0x7fff。
5.如权利要求1所述的方法,其中,所述使用所述第一比例因子对所述多路语音信号的混音信号进行箝位处理,获取第一箝位信号的步骤包括:将所述多路语音信号的混音信号乘以所述第一比例因子;
获取所述多路语音信号的混音信号与所述第一比例因子的乘积作为第一箝位信号。
6.一种多路语音信号的混音处理装置,所述装置适于采用自适应箝位法对多路视音频数据进行混音处理,所述装置包括:获取模块,用于获取多路语音信号混音后的和值,所述多路语音信号混音后的和值为多路语音信号的PCM值之和的最大值;
处理模块,用于当所述多路语音信号混音后的和值编码位数超过设定位数阈值时,计算第一比例因子;使用所述第一比例因子对所述多路语音信号的混音信号进行箝位处理,获取第一箝位信号;当所述第一箝位信号的编码位数小于设定位数阈值时,使用所述第一箝位信号进行信号传输;当所述多路语音信号中增加了一路或多路信号,使所述第一箝位信号的编码位数超过设定位数阈值时,计算第二比例因子,使用所述第二比例因子对所述第一箝位信号进行箝位处理,直至多路语音信号的混音信号的编码位数低于设定位数阈值;当所述多路语音信号中减少了一路信号,使用比例因子aN对多路语音信号进行衰减,使输出的音频信号H*a1*a2*……*aN太小时,使用比例因子aN‑1对多路语音信号进行衰减,使输出的音频信号H*a1*a2*……*aN‑1正常,其中,H为多路语音信号的PCM编码,a1为多路语音信号有1路时对多路语音信号进行衰减的比例因子,a2为多路语音信号有2路时对多路语音信号进行衰减的比例因子,aN‑1为多路语音信号有N‑1路时对多路语音信号进行衰减的比例因子,aN为多路语音信号有N路时对多路语音信号进行衰减的比例因子;
其中,所述设定位数阈值为16位编码值,所述计算第一比例因子为:将16位PCM编码的最大正值除以所述多路语音信号混音后的和值。
7.一种计算设备,包括:
一个或多个处理器;和
存储器;
一个或多个程序,其中所述一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1‑5所述的方法中的任一方法的指令。
8.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当计算设备执行时,使得所述计算设备执行根据权利要求1‑5所述的方法中的任一方法。
说明书 :
多路语音信号的混音处理方法、装置、设备及存储介质
技术领域
背景技术
衰减过大,影响通话质量;二是采用归一化混音法,这种方法是将相同采样率的音频PCM信
号直接相加,这会导致叠加后的PCM溢出问题,使高频部分发生峰值切割失真。
发明内容
混音后的和值,所述多路语音信号混音后的和值为多路语音信号的PCM值之和的最大值;当
所述多路语音信号混音后的和值编码位数超过设定位数阈值时,计算第一比例因子;使用
所述第一比例因子对所述多路语音信号的混音信号进行箝位处理,获取第一箝位信号;当
第一箝位信号的编码位数超过设定位数阈值时,计算第二比例因子,使用所述第二比例因
子对所述第一箝位信号进行箝位处理,直至多路语音信号的混音信号的编码位数低于设定
位数阈值。
音信号中每一路语音信号的PCM编码,获取多路语音信号中每一路语音信号的PCM编码值;
依据多路语音信号中每一路语音信号的PCM编码值,对多路语音信号中混音后的每一路语
音信号的PCM编码值求和,获取多路语音信号混音后的和值。
编码的最大正值;判断多路语音信号混音后的和值的编码是否超过16位编码值;如果否,则
对多路语音信号混音后的和值进行16位PCM编码;如果是,则计算第一比例因子。
多路语音信号的混音信号乘以所述第一比例因子;获取所述多路语音信号的混音信号与所
述第一比例因子的乘积作为第一箝位信号。
信号进行箝位处理,直至多路语音信号的混音信号的编码位数低于设定位数阈值的步骤包
括:获取16位PCM编码的最大正值和第一箝位信号的最大值;判断第一箝位信号的最大值编
码是否超过16位编码值;如果否,则对第一箝位信号进行16位PCM编码;如果是,则将所述16
位PCM编码的最大正值除以所述第一箝位信号作为第二比例因子;将所述第一箝位信号与
所述第二比例因子相乘输出结果的编码位数继续与设定位数阈值比较,直至多路语音信号
的混音信号的编码位数低于设定位数阈值。
处理,获取第一箝位信号;当第一箝位信号的编码位数超过设定位数阈值时,计算第二比例
因子,使用所述第二比例因子对所述第一箝位信号进行箝位处理,直至多路语音信号的混
音信号的编码位数低于设定位数阈值。
处理器执行,所述一个或多个程序包括用于执行如上所述多路语音信号的混音处理方法中
的任一方法的指令。
述多路语音信号的混音处理方法中的任一方法。
第一箝位信号,在第一箝位信号超过设定位数阈值时,通过计算第二比例因子,将第一箝位
信号进行箝位处理,直至多路语音信号的混音信号的编码位数低于设定位数阈值,能过实
现多路语音混音后的通话质量,而且算法实现简单,复杂度低,具备更优的实时性要求。
附图说明
旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述
以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的
部件或元素。
具体实施方式
所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围
完整的传达给本领域的技术人员。
器106之间的通信。
一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心
114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、
数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器
104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
器106可以包括操作系统120、一个或者多个应用122以及程序数据124。在一些实施方式中,
应用122可以布置为在操作系统上利用程序数据124进行操作。在一些实施例中,计算设备
100被配置为执行多路语音信号的混音处理方法200,该方法200能够根据目标语音数据的
节奏对待处理语音数据进行变速处理,得到富有说唱音乐节奏感的语音数据,程序数据124
中包含了用于执行该方法200的指令。
的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由
一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外
设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于
经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸
输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设
备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一
个或者多个其他计算设备162通过网络通信链路的通信。在本实施例中,可以通过诸如语音
输入设备实时获取待处理的语音数据。
以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多
个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以
包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外
(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存
储介质和通信介质二者。在一些实施例中,计算机可读介质中存储一个或多个程序,这一个
或多个程序中包括执行某些方法的指令,如根据本发明的实施例,计算设备100通过所述指
令来执行多路语音信号的混音处理方法200。
人头戴设备、应用专用设备、或者可以包括上面任何功能的混合设备。计算设备100还可以
实现为包括桌面计算机和笔记本计算机配置的个人计算机。
200始于步骤S210,获取多路语音信号混音后的和值,所述多路语音信号混音后的和值为多
路语音信号的PCM值之和的最大值。
音后,就是将每一路语音信号的PCM值进行加法、箝位灯运算,叠加成一路PCM信号,然后将
一路PCM输出后,将数字信号转换成模拟信号以后,得到输出的声音信号,多路语音信号混
音后的和值就是将多路语音信号进行模数转换以后的PCM值之和的最大值,由此可知,如果
同时接收的语音信号路数越多,语音信号混音后的和值越大,如果不对多路语音信号的混
音后信号进行处理,那么直接输出的混音信号将非常大,会影响人们正常的听觉效果。
号的PCM和值;再获取每一路语音信号的PCM编码以后,可以通过每一路语音信号的PCM编码
而获取多路语音信号中每一路语音信号的PCM编码值;对于多路语音信号而言,其一个采样
时间点上的PCM和值,就是对多路语音信号中混音后的每一路语音信号的PCM编码值求和,
以获取多路语音信号混音后的和值。
音信号按照原有的PCM编码规则进行编码,那么,这个编码长度可能会大于16位,此时将导
致语音编码出现混乱,或者导致语音信号无法解码,此时,需要对多路语音信号的PCM值进
行处理,以使输出的PCM信号编码不大于16位。
数阈值,说明按照原有的PCM编码规则对多路语音信号混音后进行编码,其PCM编码位数要
超过16位,此时,如果继续按照原有的编码规则进行编码,那么终端对混音信号进行解码时
会出现缺帧、失真或无法解码的问题,这时候就需要对多路语音信号的混音信号进行处理,
此时,第一比例因子就是对多路语音信号混音后信号进行处理的参数。在本申请的实施例
中,设定位数阈值为16位编码值。
超过该最大正值,则语音解码时不会出现错误或失真,通过获取16位PCM编码的最大正值,
就可以判断多路语音信号混音后的和值进行PCM编码时,是否能够不失真的进行解码。
语音信号混音后的和值的编码超过16位编码值,则需要将多路语音信号混音后的和值进行
处理,确保混音后的语音信号能够正常进行编解码,而对多路语音信号的混音信号进行处
理的参数就是第一比例因子。
的值是小于等于1的,在初始化时,如果多路语音信号混音后的和值的编码不超过16位编码
值,可以将第一比例因子设定为1,只有在判断到多路语音信号混音后的和值的编码超过16
位编码值时,才进行第一比例因子的计算。
语音信号混音后的和值超过所述16位PCM编码的最大正值时,将多路语音信号混音后的和
值处理成低于所述16位PCM编码的最大正值,处理后的多路语音信号混音后的和值就是第
一箝位信号。
路语音信号混音后的和值超过16位PCM编码的最大正值,此时需要计算第一比例因子,由第
一比例因子的计算公式得:第一比例因子为32767/32768,此时第一箝位信号就是多路语音
信号的混音信号乘以第一比例因子而得。
音信号的编码位数低于设定位数阈值。
最大正值,第一箝位信号能够正常传输,但是,如果原始多路语音信号中又增加了一路或多
路语音信号,那么多路语音信号混音后的和值将变大,此时再经过第一比例因子处理多路
语音信号的混音信号而得到的第一箝位信号的PCM编码值也将大于16位PCM编码的最大正
值,此时,还需要继续对第一箝位信号进行箝位处理,以使处理后的diyi箝位信号的PCM编
码值不大于16位PCM编码的最大正值。
信号的编码位数低于设定位数阈值的步骤包括:
减也越来越大,当多路音频信号衰减到一定程度之后,如果减少音频信号的路数,此时由于
多路音频信号混音后的和值变小,但是如果衰减的参数不变,那么最终输出的音频信号变
得非常小,甚至听不见声音,因此,本申请的上述方法对于增加混音路数的多路音频信号是
适用的。如果对于减少混音路数的多路音频信号,则使用上述方法的逆向处理。具体的,比
如,原始多路音频信号的路数为1路,信号PCM编码为H,第一比例因子为a1,后来多路音频信
号的路数变为2路,此时的比例因子为a2,依次将多路音频信号的路数变为N路,对应的比例
因子为An;此时,最终输出的音频信号相对于原始的多路音频信号为:H*a1*a2*……*aN;如
果多路音频信号的路数减少一路,此时多路音频信号的路数变为N‑1路,那么此时最终输出
的音频信号相对于原始的多路音频信号为:H*a1*a2*……*aN‑1;但是,在具体的实施过程
中,由于不能使输出音频信号的声音变化太大,一般会采取一个合适的步长来调整比例因
子增大的速度。根据本发明的一个实施例,增大的步长可实现为每0.1秒增大0.1。随着多路
音频路数的减少,最终的比例因子将变成1,此时将不能在增加比例因子的大小。
来自于webrtc中的一个音频采样回调。
执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分
步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行
完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,
而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
处理,获取第一箝位信号;当第一箝位信号的编码位数超过设定位数阈值时,计算第二比例
因子,使用所述第二比例因子对所述第一箝位信号进行箝位处理,直至多路语音信号的混
音信号的编码位数低于设定位数阈值。
信号中每一路语音信号的PCM编码值;依据多路语音信号中每一路语音信号的PCM编码值,
对多路语音信号中混音后的每一路语音信号的PCM编码值求和,获取多路语音信号混音后
的和值
信号混音后的和值进行16位PCM编码;如果是,则计算第一比例因子。
的乘积作为第一箝位信号。
果否,则对第一箝位信号进行16位PCM编码;如果是,则将所述16位PCM编码的最大正值除以
所述第一箝位信号作为第二比例因子;将所述第一箝位信号与所述第二比例因子相乘输出
结果的编码位数继续与设定位数阈值比较,直至多路语音信号的混音信号的编码位数低于
设定位数阈值。
者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发
明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求
书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实
施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发
明的单独实施例。
不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个
子模块。
路语音信号的混音信号的编码位数低于设定位数阈值的步骤包括:
元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或
子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何
组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任
何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权
利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代
替。
范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任
意之一都可以以任意的组合方式来使用。
元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在
此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行
的功能。
须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限
定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本
技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本
发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。