iOS音视频---音频基础总结

一、数字音频

自然界中的声音非常复杂,波形极其复杂,通常我们采用的是脉冲代码调制编码,即PCM编码。PCM通过采样、量化和编码三个步骤将连续变化的模拟信号转换为数字编码,即模拟信号数字化

1、采样

采样就是在时间轴上对信号进行数字化,即对模拟信号进行周期性扫描,把时间上连续的信号变成时间上离散的信号。
根据采样定理,按比声音最高频率高两倍以上的频率对声音进行采样,对于高质量的音频信号,其频率范围(人耳能听到的频率范围)是20Hz-20kHz,所以采样频率一般为44.1kHz,代表1秒会采样44100次

2、量化

量化是指在幅度轴上对信号进行数字化,用一组规定的电平,把瞬时抽样值用最接近的电平值来表示,通常是用二进制表示。
比如用16比特的二进制信号来表示声音的一个采样,则共有65536个可能取值,因此最终模拟的音频信号在幅度上也分为了65536层

3、编码

编码就是按照一定格式记录采样和量化后的数字数据。
这涉及到了很多种格式,通常所说的音频的裸数据格式就是脉冲编码调制(PCM)数据。描述一段PCM数据一般需要以下几个概念:量化格式、采样率、声道数。比如量化格式为16比特(2字节),采样率为44100,声道数为2,这些数据就描述了音质
而对于声音格式,可以用数据比特率来描述其大小,即1s时间内的比特数,它用于衡量音视频数据单位时间内的容量大小

44100 x 16 x 2 = 1378.125kbps

则一分钟该音质的数据占用的存储空间则为:

1378.25 x 60 / 8 / 1024 = 10.09MB

所以一首无损音质的歌往往有几十M

麦克风是如何采集声音的?

麦克风里面有一层碳膜,非常薄并且十分敏感。声音实际是一种纵波,会压缩空气也会压缩这层碳膜,碳膜在收到挤压时也会发出振动,在碳膜的下方就是一个电极,碳膜在振动时会接触电极,接触时间的长短和频率与电波的振动幅度频率有关,这就完成了声音信号电信号的转换,之后在经过放大电路处理,就可以实施后面的采样量化编码了。

二、音频编码

上边说到一分钟的音频数据就有10M,这个数据量要想在网络中在线传播的话,就必须对其进行压缩编码
压缩编码的基本指标之一就是压缩比,压缩比通常小于1。压缩算法包括有损压缩和无损压缩。

  • 无损压缩是指解压后的数据可以完全复原。
  • 有损压缩是指解压后的数据不能完全复原,会丢失一部分信息,压缩比越小,丢失的信息就越多,信号还原后的失真就越大。

在实际应用中,有损压缩用的更多.
可以选用不同的压缩编码算法,比如PCM、WAV、AAC、MP3、Ogg
压缩编码的原理实际上就是压缩冗余的信号.冗余信号就是指不能被人耳感知的信号.包括人耳听觉范围之外的音频信号以及被掩盖掉的音频信号

1、WAV编码

WAV编码的一种实现方式就是在源PCM数据格式的前面加上44个字节.分别用来描述PCM的采样率,声道数,数据格式等信息

  • 特点:音质非常好,大量软件都支持
  • 适合场合:多媒体开发的中间文件,保存音乐和音效素材
2、MP3编码

MP3编码具有不错的压缩比,使用LAME编码(MP3编码格式的一种实现)的中高码率的MP3文件,听感非常接近于源WAV文件,当然在不同的环境下,应该调整合适的参数来达到更好的效果.

  • 特点:音质在128Kbit/s以上表现不错,压缩比比较高.大量软件和硬件都支持.兼容性好
  • 适合场合:高比特率下对兼容性有要求的音乐欣赏
3、AAC编码

AAC是新一代的有损压缩编码技术,它通过一些附加的编码技术(比如PS、SBR等),衍生出了LC-AAC、HE-AA、HE-AAC v2三种主要编码格式.

  • LC-AAC 是比较传统的AAC,主要应用于中高码率的场景编码(>= 80Kbit/s)
  • HE-AAC(相当于AAC+SBR) 主要应用于中低码率场景的编码(<= 80Kbit/s)
  • HE-AAC v2(相当于AAC+SBR+PS) 主要应用于低码率场景的编码(<= 48Kbit/s)

事实上,大部分编码器都设置为<=48Kbit/s自动启用PS技术,而大于48Kbit/s则不加PS,相当于普通HE-AAC

  • 特点:在小于128Kbit/s的码率下表现优异,并且多用于视频中的音频编码
  • 适合场景:128Kbit/s以下的音频编码,多用于视频中的音频轨的编码
4、Ogg编码

Ogg编码是一种非常有潜力的编码,在各种码率下都有比较优秀的表现.尤其在中低码率场景下.Ogg除了音质好之外,还是完全免费的。此外Ogg有着非常出色的算法,可以用更小的码率达到更好的音质。128Kbit/s的Ogg比192Kbit/s甚至更高码率的MP3还要出色。但目前因为还没有媒体服务软件的支持,因此基于Ogg的数字广播还无法实现。Ogg目前受支持的情况还不够好,无论是软件上的还是硬件上的支持,都远无法与MP3相提并论

-特点:可以用比MP3更小的码率实现比MP3更好的音质,高中低码率下均有良好的表现,兼容不够好,流媒体特性不支持。
-适合场景:语言聊天的音频消息场景

你可能感兴趣的:(iOS音视频---音频基础总结)