音频技术1

来源:互联网 发布:java线程并发实战视频 编辑:程序博客网 时间:2024/06/16 04:11

音频技术1

原始的音频要通过网络传输到某个点播放,一般经过采集(声波信号到模拟信号),采样(AD过程)、编码、解码、播放(DA过程)的过程。本文章主要讲述的是讲述整个过程一般的描述,让读者对音频传输的过程有一定的了解。鉴于本人才疏学浅,文中有什么描述不妥当或者有误的地方还请大家指正,谢谢!

音频的采集:
一般常见的有麦克风、话筒等设备。采集设备一般都是能采集声波信号然后转化成模拟量。
音频的采样:
采样是把采集到的音频模拟量进行量化、转化成数字信号,连续的信号变成离散信号,此中的有很多算法、以及各种变换,记得大学书上曾学的信号与系统以及信号处理就专门讲些理论的,像什么FFT、DFT等等,但是这里有点我们需要明白的是采样率。我们一般常见的音频采样率有8KHz 、11.025KHz、12KHz、16KHz、22.05KHz、24KHz、32KHz、44,.1KHz、48KHz 。
模拟到数字的过程如下图:
模拟量在时间轴上的表示 f(t) = a0*x^0 +  a1*x + a2*x^2 + ... +an*x^n;
                      经量化后如下图所示:

假若t=1s采样的点数8000点那么他的采样率就是8KHz。从图上可以出采样率越高采样的点数就越多,就越接近真实的声音。
编码:
编码说白了就是为了存储和传输过程中减少数据量。比如存储32bit的数据需要4个byte的空间,如果如果将32bit用其他来表示比如可以用8bit来表示的话那就减少了3个byte的存储空间,省下了3byte空间。且传输过程只需要传输8bit就可以了,32bit被8bit表示压缩率就是4倍了。至于这种表示方法就是我们经常谈到编码方式常见的有AAC、FLAC、G711、G719、ADPCM等很多编码方式每一种的编码方式都有相应的算法,比如编码端使用G711-mulaw的编码算法编码,解码端也使用G711-mulaw的解码算法来解码,就可以还原出采集后的数字信号了。然后经过DA转换后既可以变成模拟的了。

注意:编码是分有损和无损压缩。具体怎么分就得看对应编码的方式是否是有损的还是无损的了。

解码;
就是把编码的数据,利用相对应的解码算法,解出来变成数字声音信号。
播放:
分数字音频播放接口和模拟音频播放接口。数字音频播放接口,直接编码出来的信号就可以播放了,s/pdif、HDMI也是数字音频,模拟音频则要把数字音频经过一个D/A过程才可以播放。