
语音信号处理课件第七章.ppt
66页数字语音处理及MATLAB仿真 张雪英编著1第第7章章 矢量量化7.1 概述概述1 7.2 矢量量化基本原理矢量量化基本原理 7.3 最佳矢量量化器最佳矢量量化器 37.4 矢量量化器的设计算法及矢量量化器的设计算法及MATLAB实现实现4 7.5 降低复杂度的矢量量化系统降低复杂度的矢量量化系统52数字语音处理及MATLAB仿真 张雪英编著27.1 概述概述 量化分为两大类:标量量化和矢量量化量化分为两大类:标量量化和矢量量化 标量量化:把抽样后的信号值逐个进行量化标量量化:把抽样后的信号值逐个进行量化 矢矢量量量量化化::将将k(k≥2)个个抽抽样样值值形形成成K维维空空间间Rk中中的一个矢量,然后将此矢量进行量化,的一个矢量,然后将此矢量进行量化, 矢矢量量量量化化优优于于标标量量量量化化,,为为不不可可逆逆压压缩缩方方法法,,具备比特率低、解码简单、失真较小的优点具备比特率低、解码简单、失真较小的优点 矢矢量量量量化化广广泛泛应应用用于于图图像像、、语语音音压压缩缩编编码码、、移移动动通信、语音识别、文献检索及数据库检索等领域。
通信、语音识别、文献检索及数据库检索等领域 数字语音处理及MATLAB仿真 张雪英编著3 矢量量化的理论基础是仙农的率矢量量化的理论基础是仙农的率-失真理论失真理论 率率-失失真真理理论论指指出出,,利利用用矢矢量量量量化化,,编编码码性性能能有有可可能能任任意意接接近近率率-失失真真函函数数,,其其方方法法是是增增加加维维数数k;该理论指出了矢量量化的优越性该理论指出了矢量量化的优越性 率率-失真理论在实际应用中的重要指导意义:失真理论在实际应用中的重要指导意义: 常常作作为为一一个个理理论论下下界界与与实实际际编编码码速速率率相相比比较较,,分析系统还有多大的改进余地分析系统还有多大的改进余地 但但是是,,率率-失失真真理理论论是是一一个个存存在在性性定定理理而而非非构构造性定理,因为它没有指出如何构造矢量量化器造性定理,因为它没有指出如何构造矢量量化器 数字语音处理及MATLAB仿真 张雪英编著4矢量量化技术的发展历程矢量量化技术的发展历程最佳矢量量化问题最佳矢量量化问题 Steinhaus1956年年如何划分量化区间如何划分量化区间及求量化值问题及求量化值问题 Loyd和和Max1957年年提出实际矢量量化器提出实际矢量量化器 Buzo1978年年LBG算法算法 Linde,Buzo和和Gray1980年年数字语音处理及MATLAB仿真 张雪英编著57.2 矢量量化基本原理矢量量化基本原理 7.2.1 矢量量化的定义矢量量化的定义 ((1)定义:)定义: 矢矢量量量量化化是是先先把把信信号号序序列列的的每每K个个样样点点分分成成一一组组,,形形成成K维维欧欧氏氏空空间间中中的的一一个个矢矢量量,,然然后后对对此矢量进行量化。
此矢量进行量化 数字语音处理及MATLAB仿真 张雪英编著6 { {xn} } X1 X2 X3 X4 Xn/4 图示输入信号序列图示输入信号序列{xn},每,每4 个样点构成一个矢量个样点构成一个矢量(取(取K=4),共得到),共得到n/4个个4维矢量:维矢量:X1,,X2,,X3,,…,,Xn/4 数字语音处理及MATLAB仿真 张雪英编著7 矢量量化就是先集体量化矢量量化就是先集体量化X1 ,然后量化然后量化X2,,依次向下量化下面以依次向下量化下面以K=2为例说明其量化过程为例说明其量化过程数字语音处理及MATLAB仿真 张雪英编著8 ((2)几个概念)几个概念 量量化化矢矢量量( (或或称称重重构构矢矢量量) )::利利用用最最小小失失真真原原则则,,分分别别计计算算用用量量化化矢矢量量Yi((i=1,,2,,……7))替替代代X所所带带来来的的失失真真,,其其中中最最小小失失真真所所对对应应的的那那个个矢矢量量Yj,,就是模拟矢量就是模拟矢量X 的的量化矢量量化矢量。
码码书书::量量化化矢矢量量构构成成的的集集合合称称为为码码书书(Codebook)码码字字::码码书书中中的的每每个个矢矢量量Yj ((i=1,,2,,……N))称称为为码字码字(Codeword)数字语音处理及MATLAB仿真 张雪英编著9 7.2.2 失真测度失真测度 失失真真测测度度的的选选择择直直接接影影响响矢矢量量量量化化系系统统的的性能 失失真真测测度度是是以以什什么么方方法法来来反反映映用用码码字字Yi代代替替信信源源矢矢量量X时时所所付付出出的的代代价价这这种种代代价价的的统统计计平平均均值值(平平均均失失真真)描描述述了了矢矢量量量量化化器器的的工工作作特性,即特性,即 式中式中E[·]表示求期望表示求期望数字语音处理及MATLAB仿真 张雪英编著10 常用的失真测度有如下几种:常用的失真测度有如下几种: ⑴⑴平方失真测度平方失真测度 这这是是最最常常用用的的失失真真测测度度,,易易于于处处理理和和计计算算,,且且在在主主观观评评价价上上有有意意义义,,即即小小的的失失真真值值对对应应好好的的主观评价质量。
主观评价质量数字语音处理及MATLAB仿真 张雪英编著11 ⑵⑵ 绝对误差失真测度绝对误差失真测度 主要优点:计算简单,硬件容易实现主要优点:计算简单,硬件容易实现 ⑶⑶ 加权平方失真测度加权平方失真测度 式中式中 T —— 矩阵转置符号;矩阵转置符号; W —— 正定加权矩阵正定加权矩阵数字语音处理及MATLAB仿真 张雪英编著12 要要使使所所选选用用的的失失真真测测度度有有实实际际意意义义,,必必须须要要求它具有以下几个特点:求它具有以下几个特点: 1. 必必须须在在主主观观评评价价上上有有意意义义,,即即小小的的失失真真对对应应好的主观质量评价;好的主观质量评价; 2. 必必须须在在数数学学上上易易于于处处理理,,能能导导致致实实际际的的系系统统设计;设计; 3. 必必须须可可计计算算并并保保证证平平均均失失真真D=E[D(X,Q(X))]存在;存在; 4. 采用的失真测度,应使系统容易用硬件实现。
采用的失真测度,应使系统容易用硬件实现数字语音处理及MATLAB仿真 张雪英编著137.2.3 矢量量化器矢量量化器 通通 常常 用用 最最 小小 失失 真真 的的 方方 法法 -最最 近近 邻邻 准准 则则NNR((Nearest Neighbor Rule)))来来设设计计矢矢量量量量化器,也就是要满足下式:化器,也就是要满足下式: 式中式中 IN={1,2,……,i,……N};; N —码书的大小;码书的大小; 符号符号 表示充分必要条件表示充分必要条件 数字语音处理及MATLAB仿真 张雪英编著14数字语音处理及MATLAB仿真 张雪英编著15 矢量量化器的工作过程是:矢量量化器的工作过程是: 在在编编码码端端,,输输入入矢矢量量X与与码码本本中中的的每每一一个个或或部部分分码码字字进进行行比比较较,,分分别别计计算算出出它它们们的的失失真真搜搜索索到到失失真真最最小小的的码码字字Yj 的的序序号号(或或此此码码字字在在码码本本中中的的地地址址),,并并将将j的的编编码码信信号号通通过过信信道道传传送送到到译译码码端端;;在在译译码码端端,,先先把把信信道道传传送送来来的的编编码码信信号号译译成成序序号号j,,再再根根据据序序号号((或或码码字字Yj 所所在在地地址址)),,从从码码本本中中查查出出相相应应的的码码字字Yj 。
Yj 是是输输入入矢矢量量X的的重重构构矢量数字语音处理及MATLAB仿真 张雪英编著16矢量量化系统通常可以分为两个映射的乘积矢量量化系统通常可以分为两个映射的乘积 式式中中:α是是编编码码器器,,它它是是将将输输入入矢矢量量 映映射射为为信道符号集信道符号集IN={i1, i2, …, iN}中的一个元素中的一个元素ij ;; β是是译译码码器器,,它它是是将将信信道道符符号号集集ij映映射射为为码码书书中中的的一一个码字个码字Yi 即 α( X )= ij X∈∈χ,, ij ∈∈ INβ(ij )= Yi ij ∈∈ IN Yi∈∈ YN数字语音处理及MATLAB仿真 张雪英编著17 矢量量化定义矢量量化定义: 把把一一个个K维维模模拟拟矢矢量量的的有有序序集集((称称为为信信源源矢矢量量集集合合)) 中中的的某某个个矢矢量量X∈∈χ映映射射为为N个个量量化化矢矢量量构构成成的的有有限限集集((码码书书或或码码本本))中中的的某某个个矢矢量量((码码字字或或码矢)码矢)Y∈ ∈ ,这种映射称为矢量量化。
这种映射称为矢量量化数字语音处理及MATLAB仿真 张雪英编著18 一个矢量量化器可以表示成以下三个部分:一个矢量量化器可以表示成以下三个部分: 码书:码书: 空间划分:空间划分:S= 映射:映射:q:: 其中,其中,Si是是Rk的一个子集且满足的一个子集且满足 矢量量化器矢量量化器Q( )的性能,以其输入矢量的性能,以其输入矢量X和输和输 出矢量出矢量Y=q(X)的失真平均值而定,失真平均值为:的失真平均值而定,失真平均值为: D(Q,F)=E[d(X,Y)]=E[d(X,q(X))]数字语音处理及MATLAB仿真 张雪英编著19补充:补充: 矢量量化与标量量化的比较矢量量化与标量量化的比较 矢矢量量量量化化是是把把一一个个K维维模模拟拟矢矢量量映映射射为为一一个个K维维量量化化矢矢量量标标量量量量化化实实际际是是维维数数K=1的的矢矢量量量量化化一一般般情情况况下下,,矢矢量量量量化化均均指指K≥2的的多多维维量量化化与与标标量量量量化化的的两两个个主主要要步步骤骤相相对对应应,,矢矢量量量量化化首首先先要要将将抽抽样样值值构构成成的的矢矢量量即即K维维空空间间的的无无穷穷多多点点划划分分成成有有限限个个胞胞腔腔,,然然后后从从每每一一个个胞胞腔腔取取一一个个代代表表值值,,凡是落入该胞腔的矢量均用该代表值进行量化。
凡是落入该胞腔的矢量均用该代表值进行量化数字语音处理及MATLAB仿真 张雪英编著20与标量量化比较,矢量量化还具有如下特点:与标量量化比较,矢量量化还具有如下特点: ((1))矢矢量量量量化化是是把把量量化化矢矢量量((码码字字))分分别别存存储储在在编编码码器器和和译译码码器器两两端端的的码码书书中中,,在在信信道道中中传传输输的的并并不不是是输输入入矢矢量量X的的量量化化矢矢量量Y本本身身,,而而是是码码字字Y的的下下标标j的编码信号;的编码信号; ((2))在在相相同同的的速速率率下下,,矢矢量量量量化化的的失失真真比比标标量量量量化的失真明显的小;化的失真明显的小; ((3))在在相相同同的的失失真真条条件件下下,,矢矢量量量量化化所所需需要要的的速速率比标量量化所需的速率低的多;率比标量量化所需的速率低的多;数字语音处理及MATLAB仿真 张雪英编著21 ((4))矢矢量量量量化化是是一一种种多多维维模模式式匹匹配配、、多多维维优优化化过过程程,,而而标标量量量量化化是是一一维维模模式式匹匹配配、、一一维维优优化化过过程程一一般般来来说说,,用用一一维维优优化化是是得得不不到到多多维维优优化化的的结果的。
结果的 ((5))矢矢量量量量化化的的复复杂杂度度随随维维数数成成指指数数增增加加,,所所以矢量量化的复杂度比标量量化的复杂度高以矢量量化的复杂度比标量量化的复杂度高 归归结结起起来来,,正正如如率率-失失真真理理论论所所指指出出的的,,组组编编码码总总是是优优于于单单个个输输出出的的逐逐个个编编码码的的,,当当编编码码长长度度K趋于无穷大时,可以达到率失真界趋于无穷大时,可以达到率失真界 数字语音处理及MATLAB仿真 张雪英编著227.3 最佳矢量量化最佳矢量量化 1. 1. 最佳矢量量化器的概念最佳矢量量化器的概念 矢量量化器的速率定义为:矢量量化器的速率定义为: r=B/K=(logN)/K((bit/样值或每维)样值或每维) 式中式中 B=log N表示每个码字的编码比特数;表示每个码字的编码比特数; N—码书的大小;码书的大小; K—维数数字语音处理及MATLAB仿真 张雪英编著23 最佳矢量量化器的概念最佳矢量量化器的概念: 给给定定条条件件下下,,失失真真最最小小的的矢矢量量量量化化器器,,称称为为这这个个条条件件下下的的最最佳佳矢矢量量量量化化器器。
给给定定矢矢量量量量化器的码书大小化器的码书大小N,求最小失真,求最小失真 式式中中QN为为所所有有码码书书大大小小为为N的的K维维矢矢量量量量化化器器的集合数字语音处理及MATLAB仿真 张雪英编著24 2.设计最佳矢量量化器的必要条件设计最佳矢量量化器的必要条件 一一是是在在给给定定码码书书的的条条件件下下,,寻寻找找信信源源空空间间的的最最佳佳划划分,使平均失真最小;分,使平均失真最小; 二二是是在在给给定定划划分分的的条条件件下下,,寻寻找找最最佳佳码码书书,,使使平平均均失真最小失真最小 ((1)最佳划分)最佳划分 给给定定码码书书 ,,可可以以用用最最近近邻邻准准则则NNR得得到最佳划分图到最佳划分图7.4为最佳划分示意图为最佳划分示意图数字语音处理及MATLAB仿真 张雪英编著25图图7.4 最佳划分示意图最佳划分示意图数字语音处理及MATLAB仿真 张雪英编著26 最佳划分定义最佳划分定义:: 信源空间信源空间χ中任一点中任一点X,若若X∈∈Sj,当且仅当矢量,当且仅当矢量X与码与码字字Yj的失真小于的失真小于X和其它码字和其它码字 失真,即:失真,即: 则则Sj为最佳划分。
为最佳划分 Voronoi划分划分:把信源空间划分成与码书大小相同的:把信源空间划分成与码书大小相同的 N个区间个区间Sj (j=1,2,…,N)这种划分称为这种划分称为Voronoi划分 Voronoi胞腔胞腔:: Voronoi划分对应子集划分对应子集Sj (j=1,2,…,N)称为称为Voronoi胞腔胞腔(Cell),简称胞腔简称胞腔数字语音处理及MATLAB仿真 张雪英编著27 ((2)最佳码书)最佳码书 给给定定了了划划分分Si((并并不不是是最最佳佳划划分分))后后,,为为了了使使码码书书的的平平均均失失真真最最小小,,码码字字Yi 必必须须为为相相应应划划分分Si (i=1,,2,,…N)的形心,即:的形心,即: 式中式中min-1表示选取的表示选取的Yi使平均失真使平均失真 E[d(X,Y)|X∈∈Si]为最小的为最小的Y数字语音处理及MATLAB仿真 张雪英编著28 对对于于由由训训练练序序列列定定义义的的样样点点分分布布和和常常用用的的均均方失真测度,形心由下式给出:方失真测度,形心由下式给出: 式式中中|Si|表表示示集集合合Si中中元元素素的的个个数数((即即Si集集中中有有| Si |个个X)。
数字语音处理及MATLAB仿真 张雪英编著297.4 矢量量化器的设计算法及矢量量化器的设计算法及MATLAB实现实现 7.4.1 LBG算法算法 设设计计矢矢量量量量化化器器的的主主要要任任务务是是设设计计码码书书码码字字数数目目N给给定定时时,,由由Linde,,Buzo,,和和Gray三三人人1980年年首首次次提提出出矢矢量量量量化化器器的的一一个个设设计计算算法法,,通通常常称称为为LBG算法 数字语音处理及MATLAB仿真 张雪英编著30 已知训练序列设计算法的具体步骤如下:已知训练序列设计算法的具体步骤如下: ①① 给给定定初初始始码码书书 ,,即即给给定定码码书书大大小小N和和码码字字{ },并置,并置n=0,设起始平均失真,设起始平均失真 D(-1)→∞,给定计算停止门限,给定计算停止门限ε((0<ε<1)已知训练序列的已知训练序列的LBG设计算法:设计算法: ②② 用码书用码书 为已知形心,根据最佳划分原则把为已知形心,根据最佳划分原则把 训练序列训练序列TS={ }划分为划分为N个胞腔,即:个胞腔,即: 数字语音处理及MATLAB仿真 张雪英编著31数字语音处理及MATLAB仿真 张雪英编著32③③ 计算平均失真与相对失真。
计算平均失真与相对失真 平均失真为平均失真为 式中式中 ,, 相对失真为相对失真为 若若 ,,则则停停止止计计算算,,当当前前的的码码书书 就就是是设设计好的码书计好的码书 ,否则进行第,否则进行第④④步数字语音处理及MATLAB仿真 张雪英编著33 ④④ 利利用用 计计算算这这时时划划分分的的各各胞胞腔腔的的形形心心,,由由这这N个个新新形形心心{ }构构成成新新的的码码书书 ,, 并并 置置 n=n+1,, 返返 回回 第第 ②②步步 再再 进进 行行 计计 算算 ,, 直直 到到 ,得到所要求的码书得到所要求的码书 为止 数字语音处理及MATLAB仿真 张雪英编著34 2 初始码书的选定与胞腔的处理初始码书的选定与胞腔的处理 初初始始码码书书如如何何选选取取,,对对最最佳佳码码书书设设计计很很有有影影响响。
下下面介绍初始码书选取方法面介绍初始码书选取方法 ((1)随机选取法)随机选取法 这这种种方方法法最最先先用用于于K-均均值值聚聚类类算算法法中中,,它它是是从从训训练练序序列列中中随随机机选选取取N 个个矢矢量量作作为为初初始始码码字字,构构成成初初始始码码书书 数字语音处理及MATLAB仿真 张雪英编著35 优点:优点: (1)不用初始化计算,可以大大减少计算时间;不用初始化计算,可以大大减少计算时间; (2)初始码字选自训练序列中,无空胞腔问题初始码字选自训练序列中,无空胞腔问题 缺点:缺点: (1)可能会选到一些非典型的矢量作为码字;可能会选到一些非典型的矢量作为码字; (2)会造成在某些空间把胞腔分得过细,而有些会造成在某些空间把胞腔分得过细,而有些空间分的太大空间分的太大 以上缺点会导致码书中有限个码字得不到充分利以上缺点会导致码书中有限个码字得不到充分利用,设计的矢量量化器性能可能较差用,设计的矢量量化器性能可能较差。
数字语音处理及MATLAB仿真 张雪英编著36((2)分裂法)分裂法 1980年由年由Linde,Buzo和和Gray提出,具体步骤如下:提出,具体步骤如下: ①① 计计算算所所有有训训练练序序列列TS的的形形心心,,将将此此形形心心作作为为第第 一个码字一个码字 ;; ②② 选选一一个个合合适适参参数数A乘乘以以码码字字 ,,形形成成第第二二个个码码字字 ; ③③ 以码字以码字 、、 为初始码书,即:为初始码书,即: 用用 所所 述述 LBG算算 法法 ,, 去去 设设 计计 仅仅 含含 2个个 码码 字字 的的 码码 书书 数字语音处理及MATLAB仿真 张雪英编著37 ④④ 将将码码书书 中中2个个码码字字 分分别别乘乘以以合合适适的的参参数数B,得到,得到4个码字个码字 ;; ⑤⑤ 以以这这4个个码码矢矢为为基基础础,,按按步步骤骤3去去构构成成含含4个个码码字字的的码码书书,,再再乘乘以以合合适适的的参参数数以以扩扩大大码码字字数数目目。
如如此此反反复复,,经经log2N次次设设计计,,就就得得到到所所要要求求的的有有N个个码码字字的初始码书的初始码书 数字语音处理及MATLAB仿真 张雪英编著38((3)空胞腔和随机选择法中非典型矢量的处理)空胞腔和随机选择法中非典型矢量的处理 ①① 去空胞腔分裂法去空胞腔分裂法 首首先先把把某某空空胞胞腔腔中中的的形形心心去去掉掉,,然然后后将将最最大大的的胞胞腔腔 分裂为分裂为2个小胞腔分裂方法如下:个小胞腔分裂方法如下: ((a))用用一一个个合合适适的的参参数数A去去乘乘以以原原形形心心 ,,得得到到2个个码字:码字: 数字语音处理及MATLAB仿真 张雪英编著39((b))以以 2个个码码字字来来划划分分这这个个大大胞胞腔腔,,构构成成2个个小胞腔小胞腔 :数字语音处理及MATLAB仿真 张雪英编著40 ②② 非典型码字的处理非典型码字的处理 随随机机选选择择法法存存在在一一些些非非典典型型矢矢量量,,此此时时可可采采用用下下面办法来处理:面办法来处理: ((a))重重新新选选择择随随机机初初始始码码字字,,直直到到没没有有非非典典型型码码字字为止;为止; ((b))把把这这种种胞胞腔腔中中少少数数矢矢量量分分别别归归并并到到邻邻近近的的各各个个胞胞腔腔中中,,再再用用分分裂裂法法把把其其中中一一个个最最大大的的胞胞腔腔分分裂裂为为2个小胞腔。
个小胞腔 数字语音处理及MATLAB仿真 张雪英编著41 矢量量化器的复杂度矢量量化器的复杂度 矢矢量量量量化化与与标标量量量量化化相相比比,,其其主主要要缺缺点点是是复复杂杂度度随随维维数数的的增增大大而而成成指指数数式式增增加加,,这这是是实实现高维数矢量量化的主要障碍现高维数矢量量化的主要障碍 7.5 降低复杂度的矢量量化系统降低复杂度的矢量量化系统数字语音处理及MATLAB仿真 张雪英编著42 在信号处理中,复杂度有两种:在信号处理中,复杂度有两种: ①① 时时间间复复杂杂度度—单单位位时时间间内内所所需需要要的的计计算算量量,,它它包括加(减)法、乘法和比较运算的次数;包括加(减)法、乘法和比较运算的次数; ②② 空间复杂度空间复杂度—存储容量存储容量 矢矢量量量量化化器器复复杂杂度度的的度度量量,,应应该该以以时时间间复复杂杂度和空间复杂度进行度量度和空间复杂度进行度量 对降低复杂度的研究,可朝两个方向进行:对降低复杂度的研究,可朝两个方向进行: 一:寻找好的快速算法;一:寻找好的快速算法; 二:使码书结构化,以减小搜索量和存储量。
二:使码书结构化,以减小搜索量和存储量数字语音处理及MATLAB仿真 张雪英编著43 7.5.1 树搜索矢量量化器树搜索矢量量化器 1 树搜索原理树搜索原理 下面以二叉树为例说明树搜索原理下面以二叉树为例说明树搜索原理 二二叉叉树树结结构构图图中中,,以以树树根根第第一一层层为为起起点点,,第第二二层层有有2个个节节点点((Y0,,Y1));;第第三三层层有有4个个节节点点((Y00,,Y01,,Y10,,Y11));;第第四四层层((此此树树的的最最后后一一层)有层)有8个节点,这层上的节点又称为树叶个节点,这层上的节点又称为树叶数字语音处理及MATLAB仿真 张雪英编著44数字语音处理及MATLAB仿真 张雪英编著45 树树型型编编码码过过程程中中,,只只计计算算部部分分矢矢量量失失真真,,就就可可以以解解决决下下一一步步搜搜索索的的子子树树编编码码时时的的走走步步控控制原则为制原则为 0 当上子树的节点失真最小时当上子树的节点失真最小时 控制逻辑值控制逻辑值= 1 当下子树的节点失真最小时当下子树的节点失真最小时数字语音处理及MATLAB仿真 张雪英编著46 具体量化步骤如下:具体量化步骤如下: 第一步第一步 分别计算输入矢量分别计算输入矢量X与与Y0、、Y1的失真的失真 d (X,Y0)和和d(X,Y1)并且比较它们的大小。
并且比较它们的大小 若若 d (X,Y0) > d(X,Y1) ,则走下支路(下子树),,则走下支路(下子树),到了节点到了节点Y1处送出处送出1码至信道;码至信道; 若若d (X,Y0) < d(X,Y1) , 则走上支路(上子树则走上支路(上子树 ),),到了节点到了节点Y0处,就送出处,就送出0码至信道码至信道 数字语音处理及MATLAB仿真 张雪英编著47 第第二二步步 若若上上一一步步走走的的是是下下支支路路,,那那么么在在节节点点Y1处,再计算输入矢量处,再计算输入矢量X与节点与节点Y10、、Y11的失真的失真 d((X,,Y10))和和d((X,,Y11)),,并并且且比比较较它它们们的的大大小小若若d((X,,Y10))< d((X,,Y10)),,则则走走上上支支路路,,到到Y10处处送送出出0码码至至信信道道;;反反之之,,就就走走下下支支路路,,到到了了Y11处,送出处,送出1码至信道码至信道 数字语音处理及MATLAB仿真 张雪英编著48 第三步第三步 若刚才走的是上支路,那么在节点若刚才走的是上支路,那么在节点Y10处处分别计算失真分别计算失真d((X,,Y100)和)和d((X,,Y101),并且),并且比较它们的大小,若比较它们的大小,若d((X,,Y100))> d((X,,Y101)),则走下支路,到了树叶则走下支路,到了树叶Y101处送出处送出1码到信道。
码到信道Y101便是输入矢量便是输入矢量X的量化矢量,在信道中传输的符号的量化矢量,在信道中传输的符号是是101反之则走上支路,到了树叶反之则走上支路,到了树叶Y100处,送出处,送出0码到信道码到信道Y100便是便是X 的量化矢量,在信道中传输的量化矢量,在信道中传输的是符号的是符号100 数字语音处理及MATLAB仿真 张雪英编著49 2 树结构的设计树结构的设计 树树搜搜索索矢矢量量量量化化器器的的编编码码器器是是由由树树型型码码书书和和相相应应的的搜搜索索算算法法构构成成的的这这种种矢矢量量量量化化器器译译码码器器的的码码书书和和编编码码器器的的码码书书不不同同译译码码器器是是采采用用数数组组型码书,图型码书,图7.8是它的原理图是它的原理图 设设计计树树结结构构((找找出出各各层层的的码码字字))的的方方法法有有两两种种::一一种种是是从从树树叶叶开开始始设设计计;;另另一一种种是是从从树树根根开开始设计 数字语音处理及MATLAB仿真 张雪英编著50图图7. 8 树搜索矢量量化器原理框图树搜索矢量量化器原理框图数字语音处理及MATLAB仿真 张雪英编著51((1 1)) 从从树叶开始叶开始设计的的办法法四四层二叉二叉树矢量量化器矢量量化器维数数为K,第四,第四层有有N=8个个码字(字(树叶数)。
叶数)第一步第一步 假定第四层的假定第四层的8个码字,已由前面设计码个码字,已由前面设计码书的方法得到了将这些码字,按码字距离最近配书的方法得到了将这些码字,按码字距离最近配对的原则(因为是二叉树型),得到:对的原则(因为是二叉树型),得到:{Y000,Y001},{{Y010,Y011}},{{Y100,Y101}},{{Y110,Y111}},并把它们并把它们放在相应的树叶位置上放在相应的树叶位置上数字语音处理及MATLAB仿真 张雪英编著52 第第二二步步 求求出出这这些些码码字字对对的的中中心心,,如如{Y000,,Y001}的的中中心心为为Y00总总共共得得到到四四个个中中心心::Y00,,Y01,,Y10,,Y11,并把它们放在第三层上并把它们放在第三层上 第第三三步步 将将第第三三层层上上的的码码字字仍仍按按最最近近距距离离原原则则配配对对,,得得到到{Y00,,Y01},,{Y10,,Y11}再再求求出出码码字字对对中心中心Y0与与Y1并将它们放在第二层上并将它们放在第二层上. 这这种种树树形形码码书书总总的的尺尺寸寸为为N0=8+4+2=14,,即即共共有有14个个码码字字,,而而译译码码端端的的码码字字大大小小就就是是树树叶叶数数N=8。
数字语音处理及MATLAB仿真 张雪英编著53(2) 从树根开始设计的方法从树根开始设计的方法 以四层二叉树为例,具体设计步骤如下:以四层二叉树为例,具体设计步骤如下: 第第一一步步 求求出出整整个个训训练练序序列列的的形形心心,,作作为为初初始始码码书书用用一一个个合合适适的的参参数数A去去乘乘,,得得到到另另一一个个码码字字而而后后以以与与为为初初始始码码字字,,将将训训练练序序列列按按一一定定失失真真测测度度划划分分为为两两个个胞胞腔腔,,再再计计算算出出两两个个胞胞腔腔的的形形心心Y0与与Y1用用这这种种分分裂裂法法得得到到的的Y0,,Y1便便是是第第二二层层地地个码字数字语音处理及MATLAB仿真 张雪英编著54 第第二二步步 再再用用上上述述分分裂裂法法,,得得到到第第三三层层的的4 4个个码码字字Y Y0000,,Y Y0101,,Y Y1010,,Y Y1111这这样样继继续续下下去去,,一一直直计计算算到树叶为止到树叶为止 从从上上面面的的叙叙述述不不难看看出出,,树搜搜索索的的过程程是是逐逐步步求求近近似似值的的过程程,,中中间的的码字字只只起起指指引引路路线的的作用。
作用 数字语音处理及MATLAB仿真 张雪英编著553 树搜索矢量量化器的复杂度树搜索矢量量化器的复杂度 树树搜搜索索矢矢量量量量化化器器的的特特点点是是以以适适当当提提高高空空间间复复杂杂度度来来降降低低时时间间复复杂杂度度在在搜搜索索时时间间上上,,二二叉叉树树的的搜搜索索速速度度最最快快,,全全搜搜索索最最慢慢在在存存储储量量上上,,二二叉叉树树多多于于全全搜搜索索由由于于树树搜搜索索并并不不是是从从整整个个码码书书中中寻寻找找最最小小失失真真的的码码字字,,因因此此它它的的量量化化器器并并不不是是最最佳佳的的,,也也就就是是说说树树搜搜索索矢矢量量量量化化器器的的性性能能比比全全搜搜索索矢矢量量量量化化器器的的性性能能差差通通常常可可以以适适当当选选择择各各层层的的树树叉叉型型数数,,在在搜搜索索速速度度、、存存储储量量及及质质量量三三者者之间得到一种折衷之间得到一种折衷 数字语音处理及MATLAB仿真 张雪英编著567.5.2 多级矢量量化器系统多级矢量量化器系统 多多级级矢矢量量量量化化器器系系统统由由若若干干个个普普通通的的矢矢量量量量化化器器系系统统级级联联而而成成,,如如图图7.9所所示示,,它它的的第第一一级级是是一一个个包包括括M1个个码码字字的的矢矢量量量量化化器器系系统统。
对对每每一一个个输输入入矢矢量量X,,矢矢量量量量化化编编码码器器1按按最最近近邻邻准准则则找找到到一一个个码码字字Yi(1)并并计计算算出出X与与此此码码字字的的误误差差矢矢量量这这个误差矢量即是第二级矢量量化器系统的输入个误差矢量即是第二级矢量量化器系统的输入 数字语音处理及MATLAB仿真 张雪英编著57数字语音处理及MATLAB仿真 张雪英编著58 这这样样一一级级级级地地推推导导就就可可以以构构成成一一个个级级联联系系统统整整个个矢矢量量量量化化编编码码器器的的输输出出即即是是各各级级联联矢矢量量量量化化编编码码器器的的输输出出码码字字的的编编号号,,而而矢矢量量量量化化译译码码器器则则可以根据这些编号恢复原始的输入矢量可以根据这些编号恢复原始的输入矢量 多多级级矢矢量量量量化化系系统统无无论论在在减减少少搜搜索索计计算算量量方方面面还还是是减减少少码码字字存存储储量量方方面面都都有有可可观观的的改改进进,,它它的的缺缺点点是是在在同同样样的的码码书书容容量量下下,,其其平平均均量量化化失失真真大于全搜索矢量量化系统大于全搜索矢量量化系统。
数字语音处理及MATLAB仿真 张雪英编著597.5.3 波形波形/增益矢量量化器增益矢量量化器 编码器编码器 解码器解码器图图7.10 波形波形/增益矢量量化器原理框图增益矢量量化器原理框图数字语音处理及MATLAB仿真 张雪英编著60 对对时时域域波波形形进进行行矢矢量量量量化化时时,,将将待待量量化化矢矢量量的的波形和增益分开,分别进行矢量量化和标量量化波形和增益分开,分别进行矢量量化和标量量化 设设输输入入矢矢量量为为X ,,其其增增益益为为 ,,具具有有非非零增益矢量的波形为零增益矢量的波形为S=X/g 采采用用平平方方误误差差失失真真测测度度,,则则输输入入矢矢量量和和量量化化矢矢量间的失真为量间的失真为 和和 —分别是增益和波形矢量分别是增益和波形矢量S的量化结果的量化结果 数字语音处理及MATLAB仿真 张雪英编著61 VQ编编码码可可分分两两步步使使上上式式达达到到最最小小首首先先在在VQ码码书书中中找找到到一一个个码码字字 ,,使使其其与与输输人人矢矢量量的的点点积积 达达到到最最大大值值;;然然后后在在增增益益标标量量量量化化码码书书中中寻寻找一个与找一个与 最为接近的增益值最为接近的增益值 (即使即使 达达到到最最小小)。
将将 和和 对对应应的的编编号号传传到到解解码码器器中中后者通过查表将后者通过查表将 作为解码输出作为解码输出 数字语音处理及MATLAB仿真 张雪英编著627.5.4 分离均值矢量量化器分离均值矢量量化器 分分离离均均值值矢矢量量量量化化器器先先将将输输入入矢矢量量的的平平均均值值分分离离出出来来,,以以较较低低的的速速率率对对均均值值进进行行标标量量量量化化,,然然后后对对去去掉掉均均值值的的输输入入矢矢量量进进行行矢矢量量量量化化其其码码书书的的设设计过程描述如下:计过程描述如下: 第第一一步步 根根据据原原始始训训练练序序列列计计算算矢矢量量均均值值,,对对均值矢量选择合适的标量量化方法进行量化均值矢量选择合适的标量量化方法进行量化 第第二二步步 从从原原始始训训练练序序列列矢矢量量中中减减去去对对应应矢矢量量的的量量化化均均值值,,形形成成残残差差训训练练序序列列,,使使用用LBGLBG算算法法对对该该序列进行训练求得残差码书序列进行训练求得残差码书。
数字语音处理及MATLAB仿真 张雪英编著637.5.5 有记忆的矢量量化有记忆的矢量量化 前前面面两两节节介介绍绍的的都都属属于于无无记记忆忆的的矢矢量量量量化化情情况况因因为为在在量量化化每每一一矢矢量量时时,,都都不不依依赖赖于于此此矢矢量量之之前前或或之之后后的的任任何何矢矢量量与与之之相相反反,,如如果果能能利利用用过过去去的的输输入入矢矢量量的的信信息息,,来来决决定定当当前前的的输输入入矢矢量量应应该该用用哪哪一一个个码码书书进进行行比比较较,,那那么么,,通通过过机机器器的的“记记忆忆”,,人人们们就就可可以以利利用用矢矢量量之之间间的的相相关关性性,,来来提提高高矢矢量量量量化化的的性性能能有有记记忆忆的的矢矢量量量量化化又又称称反反馈馈型型的的矢矢量量量量化化,,它是多码书的矢量量化系统它是多码书的矢量量化系统 数字语音处理及MATLAB仿真 张雪英编著64自适应预测矢量量化自适应预测矢量量化(AVPQ) 数字语音处理及MATLAB仿真 张雪英编著65AVPQ的工作过程的工作过程 将将输输入入语语音音信信号号序序列列分分帧帧,,构构成成矢矢量量序序列列,,对对某某一一输输入入矢矢量量,,用用线线性性预预测测原原理理得得到到一一个个预预测测矢矢量量,相相减减之之后后得得到到误误差差矢矢量量,,对对此此误误差差矢矢量量,,用用en 码码书书对对它它进进行行矢矢量量量量化化,,送送给给信信道道的的是是该该量量化化误误差差矢矢量量的的角角标标。
另另一一方方面面,,还还采采用用自自适适应应技技术术,,根根据据语语音音流流各各段段的的不不同同的的统统计计特特性性,,将将输输入入矢矢量量划划分分为为不不同同类类型型,,用用不不同同的的码码书书来来量量化化,,同同时时这这个个信信息息也也由由信信道传送到接收端道传送到接收端数字语音处理及MATLAB仿真 张雪英编著66 实实践践表表明明,,由由于于AVPQ去去掉掉了了矢矢量量与与矢矢量量之之间间的的编编码码冗冗余余度度,,并并且且利利用用了了语语音音信信号号的的局局部部特特性性,,因因此此,,尽尽管管复复杂杂度度比比普普通通的的矢矢量量量量化化器器增增大大了了,,但但可以提高约可以提高约7dB的信噪比的信噪比。
