音频
声波三要素
-
频率
声波的频率,即声音的音调,频率越高,波长越短,而低频声音的波长较长,更容易绕过阻碍物,人类听觉的频率范围为 20Hz–20KHz。
-
振幅
响度,即声音的高低,一般用分贝来描述响度的大小。
-
波形
波形决定了声音的音色,即使频率和振幅完全一致,波形不一样的话听到的声音也是完全不同的。
数字音频三要素
-
采样
在时间轴上对信号进行数字化,根据采样定理(奈奎斯特定理),按比声音最高频率高两倍以上的频率对声音进行采样(AD转换),根据人耳可听频率,高质量的采样频率为 44.1kHz,即一秒采样44100次。
-
量化
在幅度轴上对信号进行数字化,例如使用 short (16 bit) 存储空间表示一个声音采样,共有 2^16 个可能取值,于是模拟的音频信号在幅度上分为了 65536 层。
-
编码
按照一定的格式记录采样和量化后的数字数据,比如顺序存储,压缩存储等。
基本概念
-
PCM
音频原始格式为PCM(Pulse Code Modulation,脉冲编码调制),需要用WAV header来描述,如:采样率、采样格式、声道数等。PCM + WAV header (44 bit) = WAV。
-
采样率
声音采样的频率。采样率越大,声音在时域上描述越精细。为满足听觉需要,按比声音最高频率高两倍以上的频率对声音进行采样,所以频率至少为40kHz,通常为44.1kHz,更高的一般为48kHz。
-
采样格式
比如用16 bit,即 4 字节来描述一个采样,存储空间越大,声音在频域上描述越精细。
-
声道数
声音录制时的音源数量或回放时相应的扬声器数量。
-
比特率
描述一秒时间内的比特数目,可以作为衡量音频质量的依据。 比特率 = 采样率 × 采样格式 × 声道数。
-
音频帧
音频数据是流式的,本身没有明确的一帧帧的概念,在实际的应用中,为了音频算法处理/传输的方便,一般约定俗成取2.5ms~60ms为单位的数据量为一帧音频。这个时间被称之为“采样时间”,其长度没有特别的标准,它是根据编解码器和具体应用的需求来决定的。
编码
-
WAV
完整的存储了音频的采样数据,存储空间也比较大,一般用于无损的CD音质。
-
AAC
新一代有损压缩技术,在小于 128 Kbit/s的码率下表现优异,多用于视频中音频轨的编码。
-
MP3
具有不错的压缩比,MP3其中一种实现编码格式 LAME 是中高码率的,听感接近源 WAV 文件。MP3适用于在高比特率下有兼容要求的音乐欣赏。
-
Ogg
开源免费,在各种码率下都有比较优秀的表现,表现优于 MP3,缺点是兼容性不够好,不支持流媒体特性,适用于语音聊天的音频消息场景。
视频
图像数值表示方式
-
RGB
使用三原色来描述一个像素点,还有 RGBA 格式,A 代表透明度。
-
YUV
Y 代表明亮度/灰阶值 (Luma);U 和 V 代表色度(chroma),用以指定像素的颜色。其中色度包含两方面:色调和饱和度。移动端IOS和安卓采集到的视频裸数据均为YUV格式。
视频编码
- MPEG
只处理图像帧与帧之间的差异元素,抛弃相同图像元素,从而达到较大的压缩比。 - H.264
在MPEG4基础上建立起来的一种高性能的视频编解码技术,具有很高的数据压缩比率。
编码细节
-
GOP(Group of Pictures)
一组连续的画面,由一张 I 帧和数张 B / P 帧组成,是视频图像编码器和解码器存取的基本单位,它的排列顺序将会一直重复到影像结束。 -
I帧(Intra-coded picture,帧内编码图像帧)
内部编码帧,也称为关键帧,是一个完整的画面。I帧是一个GOP的第一帧。
-
P帧(Predictive-coded Picture,前向预测编码图像帧)
前向参考帧,只存储当前帧和前一阵的差异,解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面。
-
B帧(Bidirectionally predicted picture,双向预测编码图像帧)
双向参考帧,只存储当前帧和前后帧的差异,解码时不仅要取得之前的缓存画面,还要解码之后的画面,通过前后画面的与本帧数据的叠加取得最终的画面,压缩率更高。