当前课程知识点:多媒体技术基础 > 第三章 数据压缩的基本技术 > 3.7 子带编码 > 3.7 子带编码
这一节我们学习子带编码
首先我们看一下子带编码的原理
子带编码是一种在
频率中进行数据压缩的方法
主要用于对音频信号进行压缩
那么根据划分子带带宽的情况不同
分为等带宽和
子带宽两种子带编码方式
我们来看一下子带编码的原理图
输入的信号
首先经过一组带通滤波器组
把输入信号划分成
不同频率段范围内的子带信号
然后子带信号进入到频率搬移环节
通过频率搬移
把子带信号搬移到基带上
然后进行采样
通过频率搬移之后
子带信号都已经到了基带
所以说我们采样的时候
采样频率只要是
子带带宽的两倍就可以了
采样之后的信号
再送入量化编码器进行量化编码
每一个量化编码器输出的码流
经过复核之后
形成一路码流送入到信道
那么在接收端
正好是一个相反的过程
首先对码流进行一个分接
然后进行解码
解码之后送入到后续的频率搬移
以及带通滤波器形成一个个子带
然后进行子带的相加
最后还原出所要的信号
那么在这样子的
一个子带编码的原理图中
我们会看到
带通滤波器的滤波器组
是一个重要的环节
对信号进行子带编码有哪些好处
首先根据人眼耳的特性
通过子带编码
我们可以对不同敏感特性的频段
采用不同的量化精度
比方说是对我们人的眼睛或者是耳朵
不是很敏感的这些频段
我们可以进行粗量化
而对于我们人的眼睛
比较敏感的这些信号频段
我们采用精量化
那么我们可以把各个
子带的量化噪声约束在本子带内
这样就避免了
小能量的频率被量化噪声所淹没
在子带编码的原理图中我们看到
带通滤波器组是影响子带编码
复杂度和性能的重要部件
那么为了简化
带通滤波器组的设计复杂度
我们通常采用整数子带滤波器组
所谓的整数子带滤波器组是指
划分的各个子带的下截止频率
是各子带带宽的整数倍
也就是说
1k的子带的下截止频率是
1k个子带带宽的整数倍
这样子的子带划分方式
对应的滤波器组叫整数子带滤波器组
那么按照这样子的滤波器组
对信号进行子带划分
我们在对信号进行取样的时候
那么我们的取样频率
只要是子带带宽的两倍就可以了
不需要根据奈奎斯特抽样定理
来设计采样频率
那么这样子能对采样要求就降低了
所以采用整数子带滤波器组
进行子带划分
它的好处有不产生混叠
也就是说
我们限定了每一个子带的下截止频率
是它本子带带宽的整数倍之后
我们的采样频率按两倍的带宽来设定
就可以保证不产生频谱混叠
而且可以省去频率搬移的环节
也就说不需要把子带
进行一个基带频率的搬移
同时在整个子带编码系统中
带通滤波器和取样的次序可以互换
也就是说可以先取样之后
再进行带通滤波的处理
那么我们以M=4的次子带取样过程
做个例子来分析一下
图中显示的a图给出来的是一个
变子带的次子带谱图
我们把信号分解成4个子带
这4个子带的带宽可以是不一样的
那么b图给出了
第3个子带的频谱特性
那么第3子带的下截止频率
是这个子带带宽的两倍
也就是说
fl3等于两倍的ΔW3
所以这是一个
整数子带划分的这种划分方式
那么对于第三子带的采样
我们就可以采用两倍的
第三子带带宽的频率来进行
那么采样之后的这个第三子带的谱
我们看到就是c图
并没有产生频谱混叠的现象
我们来看一下M=2的
整数子带编解码的原理
a图给出了两个子带的
划分的整数子带编解码的原理图
输入信号那么这个地方的输入信号
可以是采样之后的数字型号
经过上下两个子带的子带划分
对应形成两个子带信号
划分之后的子带谱图
我们可以从b来看
那么对于上子带
也就说b图中的带阴影的这个子带
我们通过一个二抽一的采样
看到它的谱就是我们c所给出来的谱
那么它的谱图
跟原来的谱图之间
通过对应我们看到
通过二抽一的抽取
它的谱图从原来的上子带
频谱搬移到基带上
划分成两个子带之后
后续进行量化编码解并传输
那么在接收端进行相反的过程解码
然后通过内插之后
那么这个上子带的
谱图又会被还原成
它开始的那个频率位置上
那么上下子带合在一起就
形成了还原输出
整个子带编码总的传输速率
你可以用这个表达式计算
表达式中fsk对应的是
相应子带的采样率
而k能对应的是第k个子带
每个样式的量化比特数
这样我们就可以得到综合传输的比特率
在子带编码中
子带滤波器组是关键的部件
那么我们来看一下子带滤波器组的幅度响应
可以是什么样子
那么在理想的情况下
其实我们希望子带的划分
每一个子带之间是无缝的相接
这样子既没有混叠
又没有信息的丢失
但是这种理想的子代滤波器
是无法实现的
那么我们可以实现的
只可能是a和b所给出来的这种情况
那么在a图中
每个子带之间
谱有交叠的部分
那么如果按照这种方式来
进行子带划分
就会产生混叠失真
那么如果避免混叠失真的话
我们就只能采用b图
所给出来的这种自带划分方式
子带和子带之间有频率的空隙
那么这样子在子带之间就会
有频率成分的丢失
那么这种情况同样会造成信号失真
表示产生音频信号的混淆
所以对于子带滤波器的设计
是子带编码的一个重要的环节
那么为了克服
刚才我们所看到的这些问题
我们有相应的滤波器设计方法
那么我们现在来看正交镜像滤波器组
正交镜像滤波器
能够在频域中抵消混叠失真
一个梁子带的正交镜像滤波器
它的谱频特性
我们这个地方给出来了
那么我们看到上下两个子带的
我们看到上下两个子带在二分之X
也就是说抽样频率的一半的位置
是一个
镜像对称的关系
也就是说上下两个子带
它的幅频响应
以这个抽样频率的一半为镜像对称
那么如果按照这样子的一个
方式来进行子带的划分的话
信号一定有重叠失真有混叠
那我们通过合理的设计滤波器
能够消除混叠失真
对于具有偶数抽头的
对称或者反对称FIR滤波器
也就是我们现在说的
这个滤波器其实是一个
具有线性相位特征的线性滤波器
如果它的抽头数是偶数的话
这种对称或者反对称的FIB滤波器
上下子带的
单位取样响应具有
偶对称或者基对称的关系
那么如果我们
很好的设计这样子的滤波器
让它满足相应的条件
那么就可以消除刚才我们所看到的混叠
那么混叠相处的条件是什么
就是上下子带滤波器的单位取样响应
之间有相应的这样一组关系
那么在这表达式中
Hl和Hu对应的是
编码器端的上下子带的
滤波器单位取样响应
Hl'和Hu'对应的是
解码端的上下子带的
滤波器单位取样响应
如果满足这三个条件
同时上下子带的频率响应的幅度
平方函数和等于1的话
那么就可以实现
对刚才所看到的混叠的一个消除
那么在选择滤波器接触的时候
并不是所有的偶数阶的
都能够满足消除的条件
相应的参考资料中给出了
n的取值情况
只要选择合适的n就能够实现
对于混叠的消除
跟正交镜像滤波器组消除
使消除频率混叠相对应
时域混叠消除的这个TDAC的这个
编码算法也能够通过相应的
混叠消除来实现子带编码
时域混叠消除的这个算法
我们来看一下它基本的原理
基于时域混叠消除的这个算法
实现的子带编码器
编码端对信号的处理
我们把它叫做是对信号的分析
在解码端对信号的还原
我把它叫做是对信号的综合
在分析的过程中
其实就是把
信号转换为变换系数的过程
那么具体的实现
我们通过右边这个图来了解
输入的序列
我们按照宽度为
K的这个窗进行一个截断
窗的滑动步长是K/2
这样我们就可以
通过K/2的步长滑动
把输入的序列截出
一个一个长度为K的序列
每一个长度为K的系列进行变换编码
得到一组变换系数
我们用X来表示
那么长度为K的序列
经过变换编码以后得到K个
得到K个系数构成的序列
这样每一个长度为n的输入序列段
都会形成一个长度为K的变换系数
那么按照我们图的这种方式
来进行这个变换系数的排序
那么我们就相当于对于
输入信号经过变换之后形成了
K个变换系数所构成的序列
解码端对信号综合的过程
是对信号还原的过程
也就是说把变换系数
还原为时间序列的过程
具体的还原操作我们来借助图
做一个了解
在综合这端
也就是解码器这端
对每个具有相同时刻的变换系数
也就是我们现在所看到的
这个红圈圈出来的
每一个圈圈出来的
对应的就是相同时刻的
K个变换系数的相同时刻的
这个系数构成的这样子的一个序列
那么对于这个系列
我们用一个加权函数进行加权
那么
加权之后的这个系数序列
进行一个错位相加
也就是说序列和序列之间
移位K/2个样点之后进行相加
相当于第一个序列和第二个序列
之间有二分之一的重叠
第三个序列和第四个序列
有二分之一的重叠
那么经过这样子相加之后
还原出时间序列
这么一直下去
就可以还原出一个很长的时间序列
那么这个就是综合的过程
通过这样子的特殊处理
可以在时域中把混叠消除
那么具体系统在分析过程中
按照移动次序的奇偶数不同
交替地使用MDCT和MDST
MDCT指的是修正的DCT变换
MDST指的是修正的离散正弦变化
那么按照窗口移动的奇偶次序
交替地使用MDCT和MDST
这地方我们给出MDCT和
MDST的变换对
在表达式里头
n0对应的就是固定时间偏移
它等于(K/2+1)/2
也就是我们在分析的过程中
是交替的
对于截出来的长度为K的时间序列进
进行MDCT变换或者MDST变换
假设我们在窗函数移动
次数为偶数的时候
采用MDCT变换
那么当窗口移动次数m为奇数的时候
就采用MDST变化
那么这样子
这两个变换我们看一下
变换系数之间是具有这样子的
奇偶对称关系的
因为MDCT系数和MDST系数
这样子的一个系数关系
所以说K个点的MDCT或者MDST
其实只能产生K/2+1个独立的系数
在系统综合的时候
要进行MDCT和MDST的反变换
我们对于MDCT的反变换做一个分析
得到的还原结果
我们对于变换系数
做一个IMDCT变换
就能够得到还原序列
是由这个表达式给出来的
IMDST变换的结果跟
IMDCT变换的结果
我们对照一下可以看到
把两者加起来能够还原出x(n)
这就是为什么我们在分析这端
MDCT和MDST交替使用的目的
通过MDST和MDCT的交替使用
在还原这端我们看到的结果
误差的部分是被抵消了
系统分析和系统综合的过程
我们可以通过这个图来做了解
如果左边是MDCT的
如果左边是MDCT的处理过程
那么右边就是MDST的处理过程
那么在最后是叠加
那么在最后通过重叠相加
你们把这个误差的部分就抵消掉了
这样子能够还原出原来的时间序列
-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 宽带应用的传输层协议
-第七章 作业
--第七章 作业