流媒体开发2音频基础
Posted 叮咚咕噜
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了流媒体开发2音频基础相关的知识,希望对你有一定的参考价值。
1、声音的物理本质
- 声音是由物体的振动产生的,这种振动引起了周围空气压强的振荡,我们称这种振荡的函数表现形式为波形。(但实际上是有很多个波形组成的)
- 振幅: 表示声音的大小,音量调节就是调节振幅的峰值
- 频率: 周期的倒数,它表示的是声音在1秒钟内的周期数,单位是赫兹(Hz)。千赫(kHz),即1000Hz,表示每秒振动1000次。声音按频率可作如下划分:
- 次声 0~20Hz
- 人耳能听见的声音 20Hz~20KHz
- 超声 20KHz~1GHz
- 特超声 1GHz~10THz
2、数字音频、
- PCM: PCM脉冲编码调制,人耳听到的是模拟信号,PCM是把声音从模拟信号转化为数字信号的技术。
- 人耳听到的是模拟信号,PCM是把声音从模拟信号转化为数字信号的技术。
- 原理是用一个固定的频率对模拟信号进行采样,采样后的信号在波形上看就像一串连续的幅值不一的脉冲(脉搏似的短暂起伏的电冲击),把这些脉冲的幅值按一定精度进行量化,这些量化后的数值被连续的输出、传输、处理或记录到存储介质中
- 数字音频的产生过程(抽样、量化、编码三个过程)。
3、音频常见名词
-
采样频率: 每秒钟采样的点的个数
- 根据Nyguist采样定律,要从采样中完全恢复原始信号波形,采样频率必须至少是信号中最高频率的两倍。前面提到人耳能听到的频率范围是[20H~20kHz],所以采样频率一般为44.1Khz,这样就能保证声音到达20Khz也能被数字化,从而使得经过数字化处理之后,人耳听到的声音质量不会被降低。
-
量化: 采样值的精度取决于一个采样点用多少位来表示。
- 例如8位量化可以表示256个不同值,而CD质量的16位量化可以表示65 536个值,范围为[-32768, 32767]。
-
采样深度: 每个样本点的大小,(一般都是16位宽)
-
通道数: 单声道,双声道,四声道,5.1声道
-
比特率: 每秒传输的bit数,单位为:bps(Bit Per Second)间接衡量声音质量的一个标准。
- 没有压缩的音频数据的比特率 = 采样频率 * 采样精度 * 通道数
-
码率: 压缩后的音频数据的比特率。常见的码率:
- 96kbps: FM质量
- 128-160kbps:一般质量音频。
- 192kbps: CD质量。
- 256-320Kbps:高质量音频
- 码率越大,压缩效率越低,音质越好,压缩后数据越大。
- 码率 = 音频文件大小/时长。
- 码率从低转到高码率是没有任何意义的
-
帧: 每次编码的采样单元数,比如MP3通常是1152个采样点作为一个编码单元,AAC通常是1024个采样点作为一个编码单元。
- 音频跟视频很不一样,视频每一帧就是一张图像,音频数据是流式的,不同的编码格式各自不同的编码标准,拿PCM和MP3做一个对比。PCM因为没有压缩,根据采样率位宽等数据可以得到每秒的音频数据,并不需要帧的概念,音频实际上是没有帧的概念的;MP3则是因为压缩后信息比较多,则有了类似H264的帧概念,每一个帧都有一个帧头
-
帧长: 可以指每帧播放持续的时间:每帧持续时间(秒) = 每帧采样点数 / 采样频率(HZ)
- 比如:MP3 48k, 1152个采样点,每帧则为 24毫秒
- 1152/48000= 0.024 秒 = 24毫秒;
- 也可以指压缩后每帧的数据长度。
- 比如:MP3 48k, 1152个采样点,每帧则为 24毫秒
-
交错模式: 数字音频信号存储的方式。数据以连续帧的方式存放,即首先记录帧1的左声道样本和右声道样本,再开始帧2的记录…
-
非交错模式: 首先记录的是一个周期内所有帧的左声道样本,再记录所有右声道样本
4、音频编码原理简介
- 数字音频信号如果不加压缩地直接进行传送,将会占用极大的带宽。例如,一套双声道数字音频若取样频率为44.1KHz,每样值按16bit量化,则其码率为:
2*44.1kHz*16bit=1.411Mbit/s
- 数字音频压缩编码在保证信号在听觉方面不产生失真的前提下,对音频数据信号进行尽可能大的压缩,降低数据量。数字音频压缩编码采取去除声音信号中冗余成分的方法来实现。所谓冗余成分指的是音频中不能被人耳感知到的信号,它们对确定声音的音色,音调等信息没有任何的帮助。
- 冗余信号: 包含人耳听觉范围外的音频信号以及被掩蔽掉的音频信号等。例如,人耳所能察觉的声音信号的频率范围为20Hz~20KHz,除此之外的其它频率人耳无法察觉,都可视为冗余信号。
4.1 频谱掩蔽效应
- 冗余信号包含人耳听觉范围外的音频信号以及被掩蔽掉的音频信号等。例如,人耳所能察觉的声音信号的频率范围为20Hz~20KHz,除此之外的其它频率人耳无法察觉,都可视为冗余信号。
- 下图表示正常情况下,对应频率下,声音强度达到某个阈值,人耳才能听得到,曲线以下表示听不到的声音;当假设有一个频率为0.2KHz、强度为60dB的声音出现时,其附近0.1KHz~1KHz的阈值提高了很多,如果0.1KHz~1KHz范围内的声音信号的强度在被提升的阈值曲线之下,由于它被0.2KHz强音信号所掩蔽,那么此时我们人耳只能听到0.2KHz的强音信号而根本听不见其它弱信号,这些与0.2KHz强音信号同时存在的弱音信号就可视为冗余信号而不必传送。
## 4.2 时域掩蔽效应
-
当强音信号和弱音信号同时出现时,还存在时域掩蔽效应。即两者发生时间很接近的时候,也会发生掩蔽效应。时域掩蔽过程曲线如图所示,分为前掩蔽、同时掩蔽和后掩蔽三部分。
-
时域掩蔽效应可以分成三种:
- 前掩蔽: 指人耳在听到强信号之前的短暂时间内,已经存在的弱信号会被掩蔽而听不到
- 同时掩蔽: 指当强信号与弱信号同时存在时,弱信号会被强信号所掩蔽而听不到
- 后掩蔽: 指当强信号消失后,需经过较长的一段时间才能重新听见弱信号,称为后掩蔽。这些被掩蔽的弱信号即可视为冗余信号。
4.3压缩编码方法
当前数字音频编码领域存在着不同的编码方案和实现方式, 但基本的编码思路大同小异, 如图所示。
5、音频编解码器选型
OPUS:语音播报
MP3:音乐
AAC:直播
AC3和EAC3 杜比公司的方案
以上是关于流媒体开发2音频基础的主要内容,如果未能解决你的问题,请参考以下文章