声音
如何将现实生活中的声音转换成数字信号?
脉冲编码调制(PCM)
脉冲编码调制示意图
- 图3-2(a),是一个以Ts为时间间隔的窄脉冲序列p(t)。因为要用它进行抽样,所以称为#抽样脉冲。
- 图3-2(b),v(t)是待抽样的模拟电压信号,抽样后的离散信号k(t)的取值分别为k(0)=0.2,k(Ts)=0.4,k(2Ts)=1.8,k(3Ts)=2.8,k(4Ts)=3.6,k(5Ts)=5.1,k(6Ts)=6.0,k(7Ts)=5.7,k(8Ts)=3.9,k(9Ts)=2.0,k(10Ts)=1.2,可见取值在0-6之间是随机的,也就是说可以有无穷个可能的取值。
- 图3-2(c),为了把无穷个可能取值变成有限个,我们必须对k(t)的取值进行量化(即四舍五入),得到m(t)则m(t)的取值变为:m(0)=0.0,m(Ts)=0.0,m(2Ts)=2.0,m(3Ts)=3.0,m(4Ts)=4.0,m(5Ts)=5.0,m(6Ts)=6.0,m(7Ts)=6.0,m(8Ts)=4.0,m(9Ts)=2.0,m(10Ts)=1.0,总共只有0-6等7个可能的取值。
-
图3-2(d),m(t)已经变成数字信号,但还不是实际应用中的二进制数字信号,因此对m(t)用3位二进制编码元进行自然编码就得到图3-2(d)的数字信号d(t),从而完成了A/D转换,实现了脉冲编码调制,即PCM全过程。
模拟电压信号V(t)通过乘法器与一个抽样窄脉冲序列p(t)相乘,就会得到一个幅度值随V(t)的变化而变化的窄脉冲序列k(t)
了解量化过程
量化就是将一个连续函数的无限个数值的集合映射为一个离散函数的有限个数值的集合。
- 量化值—— 确定的量化后的取值
- 量化级—— 量化值的个数
- 量化间隔—— 相邻的2个量化值之差
v(t)的样值信号k(t)和量化后的量化信号m(t)是不一样的。
例如:k(0) = 0.2 而 m(0) = 0
接收端只能是量化后的信号m(t),而不能恢复出k(t),这样就使得收发信号之间的误差,这称为量化误差或量化噪声。
采用的是"四舍五入"进行量化,因此量化噪声的最大值是0.5,一般来说,量化噪声,最大绝对误差值是0.5个量化间隔。这个量化间隔都一样的量化叫做均匀量化。
音频压缩编码原理&标准
数字音频的质量取决于:采样频率和量化位数这2个参数为了保证在时间变化方向上取样点尽量密,取样频率要高,在幅度取值上尽量细,量化比特率要高,直接的结果就是存储容量及传输信道容量要求的压力。
-
音频信号的传输率 = 取样频率 * 样本量化比特数 * 通道数
取样频率 = 44.1kHz 样本值的量化比特率 = 16 普通立体声的信号通道数= 2 数字信号传输码流大约 1.4Mbit(8/Byte) 达176.4Byte(字节),等于88200个汉字的数据量
数字音频信号包含的对人们感受信息影响可以忽略的成分成为冗余
— 时域冗余
— 频域冗余
— 听觉冗余
MPEG-1 音频压缩编码标准 高保真压缩
杜比AC-3 音频压缩编码
MPEG-2 AAC 压缩到20:1都不损音质,支持多声道48个,更高的解析度96hz,提升编码效率,解码占用内存少 高效的处理方式
MPEG-4 音频压缩编码
AAC解码算法原理详解
本文详细介绍了符合ISO/IEC 13818-7(MPEG2 AAC audio codec) , ISO/IEC 14496-3(MPEG4 Audio Codec AAC Low Complexity)进行压缩的的AAC音频的解码算法。
AAC音频格式有ADIF(适用于磁盘) & ADTS
将PCM转换为AAC音频流
1.设置编码器(codec),并开始录制
2.收集PCM数据,传给编码器
3.编码完成后回调callback,写入文件
1、程序系统结构
下面是AAC解码流程图:
在主控模块开始运行后,主控模块将AAC比特流的一部分放入输入缓冲区,通 过查找同步字得到一帧的起始,找到后,根据ISO/IEC 13818- 7所述的语法开始进行Noisless Decoding(无噪解码),无噪解码实际上就是哈夫曼解码,通过反量化(Dequanti ze)、联合立体声(Joint Stereo),知觉噪声替换(PNS),瞬时噪声整形(TNS),反离散余弦变换(IM DCT),频段复制(SBR)这几个模块之后,得出左右声道的PCM码流,再由主控 模块将其放入输出缓冲区输出到声音播放设备。
2. 主控模块
主控模块的主要任务是操作输入输出缓冲区,调用其它各模块协同工作。其中 ,输入输出缓冲区均由DSP控制模块提供接口。输出缓冲区中将存放的数据为解 码出来的PCM数据,代表了声音的振幅。它由一块固定长度的缓冲区构成,通过 调用DSP控制模块的接口函数,得到头指针,在完成输出缓冲区的填充后,调用 中断处理输出至I2S接口所连接的音频ADC芯片(立体声音频DAC和DirectDrive 耳机放大器)输出模拟声音。
3. 同步及元素解码
同步及元素解码模块主要用于找出格式信息,并进行头信息解码,以及对元素
信息进行解码。这些解码的结果用于后续的无噪解码和尺度因子解码模块。
AAC的音频文件格式有以下两种:
ADIF:Audio Data Interchange Format 音频数据交换格式。这种格式的特征是可以确定的找到这个音频数据的开始, 不需进行在音频数据流中间开始的解码,即它的解码必须在明确定义的开始处 进行。故这种格式常用在磁盘文件中。
ADTS:Audio Data Transport Stream 音频数据传输流。这种格式的特征是它是一个有同步字的比特流,解码可以在 这个流中任何位置开始。它的特征类似于mp3数据流格式。
AAC的ADIF格式见下图: