博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
视频会议混音算法
阅读量:2341 次
发布时间:2019-05-10

本文共 1033 字,大约阅读时间需要 3 分钟。

总结一下我对混音算法的学习,大概有以下几种方式:

1. 直接加和: 缺点:极易产生溢出;
2. 加和后再除以混音通道数,防止溢出

优点:不会产生溢出,噪音较小;

缺点:衰减过大,影响通话质量;

3. 加和并箝位,如有溢出就设最大值(当发生上溢时,箝位以后的值为所能表示的最大值,当发生下溢时,箝位后的值为所能表示的最小值)

缺点:在溢出的地方引入了严重的噪音

4. 饱和处理,接近最大值时进行扭曲(“软件混音的实现”一文算法就是这类)
5. 归一化处理,全部乘个系数,使幅值归一化。(只适用于文件)
6. 衰减因子法,用衰减因子限制幅值[1]。自适应加权混音算法
思路:使用更多的位数(32 bit)来表示音频数据的一个样本,混完音后在想办法降低其振幅,使其仍旧分布在16 bit所能表示的范围之内,这种方法叫做归一法;
方法:为避免发生溢出,使用一个可变的衰减因子对语音进行衰减。这个衰减因子也就代表语音的权重,衰减因子随着音频数据的变化而变化,所以称为自适应加权混音。当溢出时,衰减因子较小,使得溢出的数据在衰减后能够处于临界值以内,而在没有溢出时,又让衰减因子慢慢增大,使数据较为平缓的变化。

直接加和,或除以通道数的混音方法有严重缺陷,效果可能很差。箝位法最大混音数大约是4个,饱和处理最大混音数可能再高几个。对于大量的混音,应该采用衰减因子法。

文献[2]提出了一个自对齐权重法(align-to-self weighted,简称ASW),以一个时间帧为单位进行衰减,可能在帧之间有断续,效果应该不如平滑的衰减。
如果[1]中的衰减因子计算时能考虑整个时间片的数据,而不仅仅是当前点,那样效果会更好吧。

视频会议中混音后溢出问题的研究及解决方法: 

: 
: 

视频会议的混音算法: 

改进的视频会议系统混音算法及实现: 

混音算法的研究: 

多媒体会议中新型快速实时混音算法: 

一种新的多媒体会议实时混音方案: 

多媒体会议自适应音频混音算法研究:  

基于VOIP的多媒体会议混音模型: 

一种多媒体会议系统的实时同步混音转发算法: 

: http://blog.csdn.net/wxtsmart/article/details/2656676
 

: http://blog.csdn.net/yuanrxdu/article/details/20691455

:  http://blog.csdn.net/meteor0627/article/details/992662

你可能感兴趣的文章
数组名和指针的区别
查看>>
栈和堆的具体区别
查看>>
如何判断一个点在矩形内
查看>>
析构函数何时被调用
查看>>
C++虚函数底层机制
查看>>
面试题:随机数生成、蓄水池抽样、海量数据、设计秒杀系统
查看>>
malloc (0)详解
查看>>
linux清除cache的方法
查看>>
memmove 和 memcpy的区别以及处理内存重叠问题
查看>>
费雪耶兹(Fisher–Yates) 也被称作高纳德( Knuth)随机置乱算法
查看>>
C/C++中变量的存储位置
查看>>
C++中四种强制类型转换区别详解
查看>>
RTTI
查看>>
linux gdb的详细用法 运行与断点
查看>>
删除vector中重复元素
查看>>
和为s的连续正数序列
查看>>
什么是Redis?什么是nosql?NoSQL数据库的四大分类
查看>>
为什么说Redis是单线程的以及Redis为什么这么快!
查看>>
redis的过期健删除策略以及内存淘汰机制
查看>>
redis 双写一致性问题
查看>>