2. 音频入门

慕课网课程地址:https://www.imooc.com/learn/959

2-1 音频基础知识

 

 

2-2 音频的量化与编码

 我们来分析一下,第一张图实际上是一个音频的波形片段,下面对音频进行采样,也就是均匀的将音频进行了10次切割,每一个切割点都有一个高度, 接下来对y轴也进行量化,平均切割成8份,也就是说最高值是8,声音最高的振幅为8。接下来对每个值进行编码。 比如1这个采样对应的高度值是2,2这个采样对应的高度值是3,我们将10个采样一一记录下来,然后将10进制的值转换成计算机能认识的二进制的值。编码完成后,我们要将它变成数字信号,0低位1高位,这样就将模拟信号转成了计算机可以识别的数字信号。这就是整个量化的过程。

2-3 音频压缩技术讲解

 

消除冗余数据,又称为有损压缩技术,我们在音频的采集过程中,可以采集到各种各样的声音,只有一部分声音才是人能够识别出来的, 其他的声音我们可以直接删除掉,这样就大大减小了我们存储数据的大小,删除掉的数据恢复回来的时候,就完全没有了,所以称为有损压缩技术。而哈夫曼无损编码,也就是将我们无法识别的声音删除掉之后,留下来的声音,我们那还要对其进行压缩编码,这些压缩后的声音在复原的时候,还能复原会与原来一模一样的数据,我们称之为无损压缩。

在这张图里x轴是频域,也就是音频的高低,越往右 ,音频越高,纵轴是声响,越往上声音越大

 

 

横轴是时间轴, 纵轴是声音的大小,如果在持续的时间内有一个比较高的声音,在持续的时间内有一个比较高的声音,那比较低的声音就被屏蔽掉了。

首先是音频信号的输入,输入进来之后,将时域的音频转为频域,以便我们去分析量化,  经过心理声学模型,20赫兹以下,20000赫兹以上的声音就不要了。经过这两个数据,回归到一个量化编码, 编码完成之后,作为一个输入,这时候还需要其他一些辅助的数据,将这两个数据最终形成一个比特流,通过网络发送或者存储。

2-4 音频编解码器选型

OPUS:目前特别流行的音频编解码器,由IETF开发创建, 在其内部包含两个核,一个核是基于口的模型,另一个模型是基于耳的模型,这样它的适用范围特别广,对于实时互动,实时性要求特别高,会采用口的模型,而对于声音,音乐 ,要求高保真,就会选用耳的模型,至于如何选用,这是由OPUS自己决定的。

AAC:也是特别常见的音视频编解码器,主要用在直播系统尤其是泛娱乐化直播系统里。泛娱乐化直播对实时性要求不是特别高,但是对声音的音质要求特别高,这种场景特使适合AAC。

Speekx:出现时间早于OPUS和AAC,其最大特点是除了音视频编解码器之外,还包括一些外围的工作模块,像回音消除,降噪等。这些模块对于做音视频开发的人来说,非常有吸引力。

G.711:有的音视频业务还会与固话融合在一起,固话用的基石G.711 或者G.722。 

 

性能对比来说,OPUS>AAC>Vorbis,其它的已经逐渐被淘汰掉了。

从上图来看 Opus是性能最好的。再看下面的注释,绿色表示协议自由而且也是开源的库,蓝色的是协议是可以随便使用的,不开源的,红色的就是不开源的,而且收费的。至于如何选型,还是要看具体业务。

2-5 ACC讲解

为什么单独讲解 AAC原因有三个:

 1)AAC应用范围特别广,像目前市面上的直播系统,90%以上都是使用AAC编解码器

 2)音视频直播使用CDN,传输协议使用RTMP,RTMP 支持AAC,Speekx,但是不支持

OPUS,而在众多的编解码器中,AAC和OPUS是质量最好的两个,而RTMP不支持OPUS,

所以只能使用AAC

 3)AAC本身编解码的质量非常高,可以保持高保真

AAC产生的目的就是为了取代MP3,AAC之前大部分音频使用的格式都是MP3格式,使用的编解码方式MPEG-2对于原始数据的损耗比较大,而使用AAC相对来说,对原始数据的损耗要小很多,而压缩率却很高,方式就是使用最新的编解码方式 MPEG-4,AAC加入SBR技术和PS技术,使我们的压缩率大大增加,也就是我们压缩的数据变小了,但是我们的音质还能保持跟原始的音质非常接近的一种状态,这样就使AAC逐渐代替了MP3。

 

上图中,白色的部分就是AAC LC,它加上SBR技术,就变成了AAV HE V1,再加上PS技术,就变成了AAC HE v2

AAC LC :LC就是低复杂度,码率为128k

AAC HE:增加了 SBR(分频复用)将音频的频带分为两部分,分为低频和高频,分别对他们进行编码,对高频增加采样,从而保证高频音质, 降低音频码率,提高音频质量,码率减半为64k左右。

AAC HE V2:增加了PS技术,简单的说就是立体声,把双声道分别保存,一个声道完整保存,对于另一个声道只存差异的参数的东西,这样存的东西就很少,等于将原来音频的码率又降低了一半,为32k左右。

ADIF:原理是一个很小的文件,我们只需要在这个文件的开头存一个很小的头,包括它的采样率,采样大小,声高,数量等基本信息,那么我们就可以对整个文件进行解读,每拿出一帧的时候就套用它头部的参数去解析它,这样就能将整个AC文件播放出来。

ADTS:在每一个音频帧的前面加一个同步字,7-9个字节,每拿到一个音频帧都可以解出来。

缺点是一个完整的文件比ADIF要增加一些数据量

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值