iOS音视频一-音频理论

一、简介:

关于声音的物理定义:

  • 声音:是由物体振动产生的声波。是通过介质传播并能被人或动物听觉器官所感知的波动现象。

  • 最初发出振动的物体叫声源。声音以波的形式振动传播。声音是声波通过任何物质传播形成的运动。

  • 声音作为一种波,频率在20 Hz~20 kHz之间的声音是可以被人耳识别的。

二、音频简介:

任何我们可以听见的声音经过音频线或话筒的传输都是一系列的模拟信号。模拟信号是我们可以听见的。而数字信号就是用一堆数字记号(二进制的1和0)来记录声音,而不是用物理手段来保存信号(用普通磁带录音就是一种物理方式)。
我们实际上听不到数字信号。而声音的存储通常存储的是音频的数字信号.模拟信号通过采样--量化--编码可以转化为数字信号.

相关概念:
采样:
在音频处理时要先把音频的模拟信号变成数字信号,这叫A/D转换。要把音频的模拟信号变成数字信号,就需要采样。

采样率:
一秒钟内采样的次数称为采样频率,采样率越高,失真越小.

8000hz 为电话采样。
22050hz 的采样频率是常用的。
44100hz已是CD音质。
超过48000的采样对人耳已经没有意义...

采样位数/位宽:
每个采样数据记录的是振幅, 采样精度取决于采样位数的大小:

数字信号是用0和1来表示的。采样位数就是采样值用多少位0和1来表示,也叫采样精度,用的位数越多就越接近真实声音。如用8位表示,采样值取值范围就是-128 ~ 127,如用16位表示,采样值取值范围就是-32768 ~ 32767。采样位数越高,精度越高,声音变化的梯度越小,声音更加细腻,失真越低。当然音频文件的体积也会成倍的放大.

1 字节(也就是8bit) 只能记录 256 个数, 也就是只能将振幅划分成 256 个等级
2 字节(也就是16bit) 可以细到 65536 个数, 这已是 CD 标准了;
4 字节(也就是32bit) 能把振幅细分到 4294967296 个等级, 实在是没必要了。

声道:
通常语音只用一个声道。而对于音乐来说,既可以是单声道(mono),也可以是双声道(即左声道右声道),还可以是多声道,叫环绕立体声。

编解码 :
编码过程:模拟信号->采样->量化->编码->数字信号.

  • 通常把音频采样过程也叫做脉冲编码调制编码,即PCM(Pulse Code Modulation)编码,采样值也叫PCM值。脉冲编码调制是数字通信的编码方式之一。主要过程是将话音、图像等模拟信号每隔一定时间进行取样,使其离散化,同时将抽样值按分层单位四舍五入取整量化,同时将抽样值按一组二进制码来表示抽样脉冲的幅值。

  • 如果把采样值直接保存或者发送,会占用很大的存储空间。以16kHz采样率16位采样位数单声道为例,一秒钟就有16*16000/8 = 32000字节。为了节省保存空间或者发送流量,会对PCM值压缩。

  • 目前主要有三大技术标准组织制定压缩标准:

1. ITU,主要制定有线语音的压缩标准(g系列),有g711/g722/g726/g729等。
2. 3GPP,主要制定无线语音的压缩标准(amr系列等),有amr-nb/amr-wb。后来ITU吸纳了amr-wb,形成了g722.2。
3. MPEG,主要制定音乐的压缩标准,有11172-3,13818-3/7,14496-3等。

压缩:
对于自然界中的音频信号,如果转换成数字信号,进行音频编码,那么只能无限接近,不可能百分百还原。所以说实际上任何信号转换成数字信号都会“有损”。但是在计算机应用中,能够达到最高保真水平的就是PCM编码。因此,PCM约定俗成了无损编码
。我们而习惯性的把MP3列入有损音频编码范畴,是相对PCM编码的。强调编码的相对性的有损和无损

码率:
码率 = 采样频率 * 采样位数 * 声道个数; 例:采样频率44.1KHz,量化位数16bit,立体声(双声道),未压缩时的码率 = 44.1KHz * 16 * 2 = 1411.2Kbps = 176.4KBps,即每秒要录制的资源大小,理论上码率和质量成正比

1.bps(bits per second)即比特率、比特/秒、位/秒、每秒传送位数

2.比特(bit)是信息技术中的最小单位。
文件大小(例如文本或图像文件)通常以字节(Byte)为单位。一字节对应八比特。

3.在数据传输中,数据通常是串行传输的,即一个比特接一个比特地传输。
数据速率的单位是比特每秒(bps),含义是每秒串行通过的位数。

4. Bps (Bytes per second), 即字节每秒,因为一字节对应八比特,所以1 Bps = 8bps。

常用音频格式

WAV 格式:音质高 无损格式 体积较大

AAC(Advanced Audio Coding) 格式:相对于 mp3,AAC 格式的音质更佳,文件更小,有损压缩,一般苹果或者Android SDK4.1.2(API 16)及以上版本支持播放,性价比高

AMR 格式:压缩比比较大,但相对其他的压缩格式质量比较差,多用于人声,通话录音

AMR分类:
AMR(AMR-NB): 语音带宽范围:300-3400Hz,8KHz抽样

mp3 格式:特点 使用广泛, 有损压缩,牺牲了12KHz到16KHz高音频的音质

三、音频编码原理:

有一定电子基础的都知道传感器采集音频信号是模拟量,而我们实际传输过程中使用的是数字量。而这就涉及到模拟转数字的过程。而模拟信号数字化必须经过三个过程,即抽样、量化和编码,以实现话音数字化的脉冲编码调制(PCM,Pulse Coding Modulation)技术。

iOS音视频一-音频理论_第1张图片
PCM.png
  • 抽样(Sampling)

抽样是把模拟信号以其信号带宽2倍以上的频率提取样值,变为在时间轴上离散的抽样信号的过程。

  • 量化(quantizing)

抽样信号虽然是时间轴上离散的信号,但仍然是模拟信号,其样值在一定的取值范围内,可有无限多个值。显然,对无限个样值一一给出数字码组来对应是不可能的。为了实现以数字码表示样值,必须将连续信号进行离散,既将声音信号振幅的值域,以采样位宽所表示的范围进行量化。这一过程称为量化。

量化后的抽样信号与量化前的抽样信号相比较,当然有所失真,且不再是模拟信号。这种量化失真在接收端还原模拟信号时表现为噪声,并称为量化噪声。量化噪声的大小取决于把样值分级“取整”的方式,分的级数越多,即量化级差或间隔越小,量化噪声也越小。

  • 编码(Coding)
    量化后的抽样信号就转化为按抽样时序排列的一串十进制数字码流,即十进制数字信号。简单高效的数据系统是二进制码系统,因此,应将十进制数字代码变换成二进制编码,根据十进制数字代码的总个数,可以确定所需二进制编码的位数,即字长(采样位数)这种把量化的抽样信号变换成给定字长的二进制码流的 过程称为编码。

四、音频开发的具体内容:

  • 音频采集/播放
  • 音频算法处理(去噪、静音检测、回声消除、音效处理、功放/增强、混音/分离,等等)
  • 音频的编解码和格式转换
  • 音频传输协议的开发(SIP,A2DP、AVRCP,等等)

你可能感兴趣的:(iOS音视频一-音频理论)