当前课程知识点:多媒体技术基础 > 第五章 音频数据的压缩编码 > 5.3 音频信号编码方法 > 5.3 音频信号编码方法
同学们好
下面我们来学习
音频信号的编码方法
那么在前面
我们介绍了
我们人耳的特性
基于我们人耳的特性
以及对数据进行压缩编码的基本理论
我们就形成了一系列的
有关音频信号的压缩编码的技术
那么我们现在分别来做一个介绍
那么音频信号压缩编码的
最基本的方法就是
Ad pcm编码方法
音频自适应的差分脉冲编码调制方法
那么AD pcm编码算法
是在D pcm的基础上
加上了自适应
量化步长的调整
通过根据信号的幅度
来改变差分信号
所使用的比特数
来实现对于音频信号的
更有效的压缩
那么下面这个图
给出了AD pcm编码的
基本的流程
那么具体在进行
编码实现的时候
预测部分
是以帧为单位进行的
一般我们是20毫秒
作为一个编码的预测帧
根据本真语音波形的时间相关性
来确定预测器的预测系数
那么最终使得预测误差
最小的那一组系数
作为最终的预测器的预测系数
具体实现的时候
又分为前项预测和后项预测
那么前项预测是在预测的时候
用当前帧的取样值
来进行预测器的预测系数的计算
那么这种预测的方法
它预测的精度会高一些
因为预测就是使用
本帧的数据
来进行预测器系数的计算
计算的结果会更准确一些
所以说预测的精度就会更高
但是它会引入一帧的延迟
那么如果采用的是
后项预测的预测方法的话
那么预测器的系数
是基于上一帧的样本来计算
那么它的预测的精度
就会小
预测的精度就会低
但是它的好处是没有算法的延时
也就是说
对当前这一帧预测的时候
是使用前一帧样本
来完成对预测器系数的计算
那么没有任何的算法的延迟
我们现在来看一下
音频的子代编码
音频的子带编码
最典型的应用例子就是
IPO-T的
标准7.722
编码标准里头
它就采用了音频的子代编码算法
那么我们这个下面流图给出了子带编码
它的基本的编解码的流程
那么我们从图中看到
输入信号
首先通过一个正交镜像滤波器组
把它分解为上下两个子带
然后两个子带信号
分别送到
到相应的ADpcm编码器中
进行ADpcm编码
然后输出两个子带的码流
再进行一个复合
最终形成送入信道的数字码流
那么G.72标准中
他提供了三种编码速率
对应着三种不同的工作模式
根据应用的需求
可以进行选择
那么输入的信号
是采用就是16K的采样16比特量化
它面对的音频的质量
是7K以内的音频信号
那么在进行D子带ADPcm编码的时候
那么可以选择
是48K的输出码率
或者是更低的输出码率
比方说32K那么对于低子带
分配的资源会更多一些
比方说
是可以采用每个样值
6个比特
来进行描述
那么如果是8K采样的话
那么最终输出的码率
就是48KB每秒
对于高子带
一般分配的资源会更少一些
比方说
是每个样值
分给两个比特的编码
所以说对于8K的采样
那么这一路的的数据率
就是16K高低子带两路数据
信号符合形成
一路64K的
码率输入到信道
那么如果对于低子带
采用比方说是5个比特的资源分配
或者是4个比特的资源分配的话
那么就可以形成对应40KB每秒
以及32kb每秒的码率输出
那么这样子
整个进入信道的码率
就会更低一些
那么就是56K或者是48K
那么通过这样子的一种
设计方式
那么能够面对
不同的应用需求
下面我们来看一下
语音信号产生的数字模型
那么对于语音信号
我们可以用数学的方式
对它进行建模
那么如果能够很好的
对发声系统进行建模的话
那么我们就可以用模型参数
来描述我们的发声系统
那么我们对语音信号的压缩
就可以基于这些特征参数来实现
那么这样子
就会获得更高的压缩效率
对于语音信号来说
我们分析它的特征
它的重要特征可以归结为5种
音调 周期 响度 浊音和轻音
那么浊音对应的是我们
发声的时候
声带震动所发的音
轻音对应的是
我们声带不振动的时候发的音
那么对于语音信号
我们可以通过
图中给出来
这样子一个激励模型
来进行抽象
那么在这个模型中
我们看一下
有声道模拟滤波器
来模拟我们的声道系统
那么通过给声道模拟滤波器
加入相应的激励信号
那么会最终输出语音信号
这些激励信号
就是由我们刚才所说的
几个重要的语音信号的特征值
来控制最终形成
我们声道滤波器的输入
那么声道滤波器
可以用一个
线性预测滤波器来进行描述
那么在这儿我们看到
它其实是一个全基点的滤波器
在滤波器的表达式中
我们看到最重要的就是
这个滤波器的系数
所以说对于一个声道模型来说
如果我们知道了
描述这个滤波器的这一组系数
我们就可以通过
加入相应的激励信号
使它模拟产生我们的语音信号
那么我们后续所介绍的
混合编码技术
以及参数编码技术
其实就是基于我们这样一个语音
信号的数字模型来进行的
那么我们对语音信号来进行参数
这种编码的模式
进行编码的话
其实首先就是要提取
我们的语音信号的特征
同时要提取声道模拟滤波器的系数
这样我们就可以基于这些参数
基于激励模型
来还原出我们的语音信号
那么有了语音信号的发声模型
我们来介绍分析
综合编码的语音编码技术
分析综合编码
它的基本的思想就是
首先对语音信号进行特征提取
然后分析
产生语音信号的
模拟滤波器的滤波器系数
对这些特征参数
以及滤波器系数进行编码传输
那么实现对音频信号的压缩
在接收端
根据这些参数
和语音信号的特征值
那么我们合成语音信号
所以对于分析综合性的编码器来说
它首先要进行语音信号的分析
那么一般是把语音信号进行分片
或者叫分帧
一般是20毫秒左右一帧
对每一帧进行分析
提取语音信号的
重要的参数
以及我们声道滤波器的参数
就是我们刚才所介绍的
语音模型的这样子的模型参数
那么把这些参数进行编码传输
那么在解码端
根据我们合成语音的语音模型
以及收到的这一系列的参数
来进行语音信号的合成
那么基于这样子的一个分析
综合的思想实现的编码算法
有很多像最典型的
就是线性预测升码器
就是典型的分析综合
编码器
再有像马基利线性预测
编码器混合基地
线性预测编码器
都是属于分析综合类的
编码算法实现的编码器
那么我们下面来看一下
线性预测编码算法
就是LPC的编码算法
那么这个编码算法
它的编码端所要做的就是
音频信号特征的提取
所提取的特征
就是我们刚才前面所说的
音调 周期 响度
浊音 清音
同时要提取升到滤波器的参数
然后对这些参数进行编码传输
在解码端
是基于所接收到的这些音频特征
以及声道滤波器的系数
逐帧的合成最终的语音
我们来通过这个流程图
来做一个了解
在编码端
我们会看到
输入的语音信号
先进行一个模数转换
然后进行一个波形参数的提取
也就是提取我们语音信号的
5个重要的特征参数
一路送去声道分析单元
进行声道滤波器参数的提取
那么对提取的这些参数
进行编码传输
在接收端基于收到的这些参数
进行还原
那么还原是要基于我们的某一个
声道合成的模型进行的
那么这一类压缩编码
它的最大的特点
就是压缩比很高
那么能够实现高压缩比
缺点就是保真度比较低
那么最典型的特征
如果是我们已经
很熟悉的一个人的语音
经过这样子的一个算法的
压缩编码之后
解码可能我们听到的
是一个陌生人的语音
你不能够区分是谁说的
这段话
但是能够听懂
他所表达的语意
所以说这一类压缩编码技术
主要适用于窄带信道的
语音通信
以及军事方面的
语音通信的应用
感觉加权滤波器
我们前面介绍了
我们人的耳朵的听觉掩蔽特性
那么在语音谱中
能量比较高的频率范围
相对于能量比较低的频率范围
那么它的噪声
是不容易
被我们人的耳朵所感受到的
这个是我们人耳听觉掩蔽效应所决定的
感觉加权滤波器就是这样子的一个
充分利用了
人耳眼鼻效应的
这样一个滤波器
那么通过把噪声功率
在不同的频率上
进行重新的分配
最终达到减小噪声感觉的
这样子的一个目的
也就是说
通过把噪声
在不同频率上的
二次分配
来减小我们主观噪声的感觉
我们在度量原始语音
和合成语音之间的误差的时候
考虑这样子的一个人的
耳朵的掩蔽效应的话
那么我们让语音能量高的频段
误差大一些
语音能量低的频段误差小一些
那么这样做的好处是
总的语音信号的质量是没有改变的
但是我们把有效的比特用于
表达更有效的内容
那么使得我们的
数据率能够降低
那么我们引入感觉加权滤波器
来计算
合成语音和原始语音之间的误差
我们看这个表达式
我们在进行原始语音
和合成语音之间的
误差计算的时候
我们如果引入了
这样子的一个感觉加权滤波器
通过这个感觉加权滤波器来调整
误差的分布
使得能量大的频段范围
它的误差大一些
能量小的频段范围
它的误差小一点
那么这样子
来实现我们最终
总的质量的提升
在这个表达式中
SF对应的是
原始语音信号的付利叶变化
XF对应的是
合成语音信号的付利叶变化
那么FS对应的是采样频率
也就是说我们在计算频率
我们在计算误差的时候
考虑了这个信号能量的特征
引入了wf的
这样子的一个函数
那么感觉加权滤波器它的传输函数
我们看到是这样一个线性的传输函数
我们给出了感觉加全滤波器的
传递函数
那么在这个传递函数中
我们看到AI和伽马这两个参数
决定了具体滤波器的特性
那么这个伽马这个参数
我们把它叫做感知加权因子
那么这个感觉加权因子
它会决定我们这个WC的这个函数
它的具体的特征
实际我们经过测试在8K采样频率下
伽马的取值在0.8左右
会得到更好的感觉加权的这样一个效果
我们看一下右边这张图
引入WC的这样子一个感觉
加权滤波器之后
我们的误差评定波形
它的变化情况
在右边这张图
最上面的实线
给出来的是
我们语音谱的分布特征
那么误差信号
它的分布
由于引入了加权滤波器的影响
所以说它的分布
我们看到是
非平坦的
是跟语音信号的波动趋势是一致的
那么我们再来看
我们的加权滤波器的频响
加权滤波器的频响
正好跟我们语音图的波动
是相反的
那也就是说
语音谱能量比较大的区域
我们加权滤波器的
频响值会更低一些
也就是说处于谷
语音信号
能量谱比较低的范围
我们的加权滤波器函数值
是相对比较高
是处于峰
那么通过这样一个
加权滤波器的作用
使得我们在评价原始语音
和合成语音之间的误差的时候
那么它的误差的变化
是随着我们能量谱的变化
而变化的
合成分析法
那么这个方法
是把合成滤波器引入到编码器
使它跟我们的感知加权利波器相结合
在编码器中产生与解码器
完全一致的合成语音
然后与原始语音进行一个比较
通过调整参数
使感觉加权均方误差最小
通过这种方式
来提升语音编码的质量
那么基于这样子的一个合成分析
的这样一个思想
所实现的编码器
最典型的由码激励线性预测编码器
规则脉冲激励线性预测编码器
我们很多的现代的音频压缩编码技术
都是采用了这样子的一个合成
分析的这样一个编码思想
实现了对音频的
高质量的压缩编码
那么我们来看一下
它基本的编解码的流程
左边是编码器
给出了合成分析法的
编码的基本的实现思想
那么我们会看到
在编码器中
包含了感觉加权滤波器
以及一个解码器
也就是说本地综合器
虚框框的这一部分
其实对应的就是一个解码器
那么通过在编码这一端
引入这个解码器
来模拟在解码端
所实现的解码器输出
通过原始语音和本地综合器得到的
还原语音之间的误差
来调整我们最终的
Lp的分析结果
也就是说
通过选择能够使
预测误差最小的那一组
相应的编码器的参数
和语音信号的参数
作为我们最终编码的输出
那么输入的语音信号
一路送到预测器中
进行一个预测误差的求解
一路送到分析单元
进行滤波器系数
以及语音信号参数的分析提取
预测误差是要经过一个
感觉加权滤波器的作用
然后送到均方误差评估单元
也就是说最后的预测误差的输出
对应的是感觉加权均方误差
那也就是说
考虑了我们刚才所介绍的
感觉加权滤波器对于误差的调整
那么把这样子的
最终的误差的结果
送去控制本地综合器
最终产生我们的lp
和激励信号的一个最优的输出
那么在解码器这一端
是根据收到的这些参数
滤波器的系数
以及语音信号的参数
来控制我们的激励信号发生器
那么使得我们的综合滤波器产生
最终的语音合成
那么这是我们合成分析法
基本的实现思想
那么合成分析法典型的代表
就是码激励线性预测编码器
我们来看一下
这个预测编码器
它的实现的技术内容
那么Clp的码激励线性预测编码器
它实现
包括的技术
有感觉加权滤波器
线性预测单元
以及矢量量化部分
也就是说它是由这样三个技术
综合构成的
这样子的一个编码器
具体实现编码的时候
是从两个码本中
搜索最佳的矢量
然后乘上最佳的增益作为
预测滤波器的输入
也就是说
我们的激励信号源来自于
对于码本的码矢量的选择
那么码本是分为两个
一个是自适应的码本
一个是随机的码本
那么通过自适应码本
来推进我们语音的长时周期
通过随机的固定的码本来逼近我们语音
经过短时
和长时预测后的语量信号
那么整个编码器
是要通过对码本中最优码的选择
来实现我们的编码
最终形成的激励信号是
通过M阶的
线性预测的综合滤波器
最后还原出语音信号
那么我们还原的语音信号
是要跟原始的语音信号
要进行一个
感觉加权均方误差的计算
那么以能够使这个感觉加权预测
均方误差最小的那一组码矢量
作为我们最终的编码输出
那也就是说
我们在进行这个码本的码矢量选择的时候
选择的码本
选择的码矢量
是以能够使
感觉加权预测误差最小的那一组码矢量
作为我们最终的码矢量
我们具体在进行编码的时候
采用的是分帧技术进行编码
每一个帧是20~30毫秒
并且分成2到5个子帧
我们在每一个子帧里面
进行最佳码矢量的选择
选择出最佳的码矢量之后
把码矢量的索引号
作为最终编码的输出
那么在解码这一端
是根据收到的最佳码矢量的索引号
那么再进行相应的还原
码激励线性预测的解码器
包含了合成滤波器
后置滤波器
两个重要的组成部分
那么在接收端
接收到相应的码字序号之后
我们用接收端存储的
同样的一个码本
来选择出这个码矢量
作为合成滤波器的激励源
那么来形成我们的合成语音输出
合成语音
通过后置滤波器
来把其中包含的一些可闻噪声
进行进一步的滤除
那么所以后置滤波器在这儿
是为了提高语音质量
作为这样一个重要的环节
参与到编码器里面
那么所以说对于CRP编解码来说
它大部分的时间
花在编码器端的
码矢量的选择
搜索方面
感知编码
那么感知编码
它基本的原理
就是利用了我们人耳的听觉特性
和清理声学模型
通过剔除我们人耳朵
听不到的
那部分频率成分
来实现对音频的压缩编码
那么它是属于典型的
基于人耳掩蔽特性所实现的这样子一类编码算法
首先是对信号的频率和幅度
进行一个分析
并且把分析结果
跟我们人的耳朵的
听觉感觉模型进行一个比对
通过去除音频信号中
不相干的那些部分
来实现对音频的压缩
量化的时候
采用的是自适应的量化
根据我们所分析的
我们的人耳的可听度来分配
所使用的码字的字长
重要的声音
会分配多一些的比特数
不重要的声音分配
少一些的比特数
以此来提升我们的音频的质量
降低我们的编码的比特率
我们来看一下
具体实现的流程
那么输入的信号是
进入两个通道
一路是进行一个音频信号
能量的分析
也就是说把音频信号
转入到频域来进行一个
频谱特征的一个分析
一路信号送到
心理声学的分析单元
进行一个相应的
基于声学模型的分析
那么通过这样子的一个单元
来得到
基于我们人耳掩蔽特性
不能够感受到的那部分语音信号
然后计算出掩蔽的特征值
根据计算的掩蔽特征值来进行
量化编码的比特数的分配
量化编码输出的结果
在经过无损的熵编码
最后把符合数据输入到信道
所以说对于感知编码器来说
它充分利用了
我们人耳的掩闭特性
基于我们人耳的掩蔽特性
先要分析输入的语音信号
能量的分布频率的特征
那么来确定
在进行后续量化编码的时候
哪一部分频率成分
要分配更多的比特数
哪一部分频率成分
是可以去除的
或者是可以分配更少的比特数
通过这种方式来实现
对音频信号的
更有效的压缩
-1.1 概述
--1.1 概述
-第一章 作业
--第一章 作业
-2.1 光和彩色
--2.1 光和彩色
-2.2 视觉特性
--2.2 视觉特性
-2.3 扫描
--2.3 扫描
-2.4 模拟彩色电视信号
-2.5 数字电视信号
-第二章 作业
--第二章 作业
-3.1 信息熵理论
-3.2 率失真理论
-3.3 预测编码
--3.3 预测编码
-3.4 序列图像中运动矢量的估计
-3.5 具有运动补偿的帧间预测
-3.6 正交变换编码
-3.7 子带编码
--3.7 子带编码
-3.8 量化编码
--3.8 量化编码
-3.9 熵编码
--3.9 熵编码
-第三章 作业
--第三章 作业
-4.1 基于帧的视频编码
-4.2 视频压缩编码国际标准
-4.3 H.264/AVC
-4.4 H.265/HEVC
-4.5 基于率失真优化的编码模式选择
-4.6 恒定速率编码器的速率控制
-4.7 压缩编码算法性能的评价
-第四章 作业
--第四章 作业
-5.1 概述
--5.1 概述
-5.2 人的听觉特性
-5.3 音频信号编码方法
-第五章 作业
--第五章 作业
-6.1 多媒体传输对网络的要求
-6.2 网络对多媒体信息传输的支持
-第六章 作业
--第六章 作业
-7.1 多媒体数据及其时域特征的表示
-7.2 分布式多媒体系统中的同步
-7.3 连续媒体同步的基本方法
-7.4 广播应用的传输层协议
-7.5 宽带应用的传输层协议
-第七章 作业
--第七章 作业