一种高质量的2 kb/s语言编码算法MWI(2)
3 编码器
3.1 预处理
在MWI中语音信号首先通过一个高通滤波器以去掉语音中的直流成分和50 Hz的工频干扰,滤波后的语音将用于后面的所有处理,滤波器采用一阶IIR滤波器,
在MWI中α=1, β=127/128。 3.2 基音提取
直接提取自相关函数的最大值对应的时间作为基音周期的估计,判决误差的可能性很大。采用动态规划的办法在帧间对基音周期进行平滑能够有效提高基音周期估计的准确性。本文取语音信号自相关函数的前5个峰值。
基音周期在过去1帧到将来2帧进行平滑.
任意路径的代价 C=(p-1,p0(i))+(p0(i),p1(j))+(p1(j),p2(k)),i,j,k=0~4 如果i0使得代价C达到最小,则p0(i0)作为基音周期估计的结果。本算法具有两帧的延迟。
3.3 典型波形的提取和表示
MWI改进了典型波形的提取和表示办法。传统的波形插值算法提取帧分析更新点附近一个周期的LPC残差波形作为典型波形。因为即使是浊音也包含随机的成分,这些随机的成分在插值过程中也会被转换为周期性成分,从而使得合成音质恶化。
典型波形采用Fourier系数的表示形式{An,θn}
为了更加有效的量化,典型波形只保留幅度信息。并只保留前10阶Fourier系数,不会使合成音质明显下降。对于随机成分很强的语音,典型波形可以采用比较粗糙的形式,但需要更快的采样速率。在MWI中如果浊音度小于某一阈值,一个语音帧将被分成4个子帧,对于每一个子帧用一个平坦的谱来描述,并且只保留能量信息。
3.4 浊音度
MWI声码器的激励采用谐波成分和随机成分的组合,混合的比例由浊音度来确定。在MWI中浊音度定义为
V0=α-R0+α2Pow+α3Crz+α4V-1+α5V1 式中:R0为自相关函数在基音周期的取值,Pow为短时能量,Crz为过零率,V-1为上帧的浊音度,V1为下帧的浊音度, 系数α1~α5由试验确定。
3.5 参数的量化
3.5.1 LPC参数的量化
MWI首先将10阶LPC系数转换为10阶线谱对参数,线谱参数采用预测矢量量化。预测矢量的差值采用分裂矢量量化。
3.5.2 典型波形的量化
典型波形的量化是一个新的课题,我们作了许多计算机模拟试验研究典型波形的量化对于整个声音编码器的影响,发现由于残差信号的谱的动态范围较小,频域量化非常有效。粗糙量化会引入背景噪声,但是这种噪声很容易通过后滤波的方法去掉,所以当比特数紧张的情况下,宁可分配更多的比特去量化LPC系数,而用较少的比特数量化典型波形。
由于典型波形的维数随着基音周期的大小变化(容易推出截止频率之内的谐波数H=[p0/2],由于锐截止低通滤波器的作用,截止频率之上的典型波形分量为零,本文p0=18~128,H=9~64)。变维数的矢量量化是比较困难的,而且它的维数有时会变得太大,这也增加了量化的难度,所以在MWI中,典型波形首先转化为定维数的矢量,并且要设法降低矢量的维数,然后作矢量量化。试验证明直接的截断处理对于典型波形的量化是可行的。
Prot={A1,A2,…,Ak} 对于未量化的MWI编码算法,上面的处理只使合成语音质量轻微下降。
在生成典型波形矢量码本之前,Prot矢量作规一化处理,并去掉直流分量 典型波形矢量码本训练采用LBG算法对于rot进行聚类,并采用分裂矢量量化。 4 解码器
4.1 统一的语音合成器
在MWI中不再区分清音和浊音,而采用统一的算法合成。插值模型被推广到随机成分的合成。适当地选择帧长,语音可以被视为平稳的随机过程,这种假设对浊音和清音同样适用,但是清音的分析帧相对浊音要短一些,在MWI中当浊音度小于一定的阈值时,将采用较短的分析及其合成帧。所有的参数都将在相邻两帧之间进行插值,合成语音激励信号后通过LPC综合滤波器生成合成语音。在MWI中采用了线性插值,当然其它类型的非线性插值也是可行的.
典型波形的矢量解码后得到激励幅度谱的前10维元素,其余的元素由第10维元素的推广得到。它的相位,在谐波带采用零相位,在噪声带采用随机相位。各次谐波的相位在帧更新点处连续,以保证帧间的平滑过渡。基音周期,浊音度在帧间线性插值。
(13) 如果pv小于浊音阈值,则L=N/4; 否则L=N(帧长)。
线性预测系数在LSP域中插值,线性插值在解码的LSP矢量fn和前一帧LSP解码矢量之间进行,对于每个子帧,插值LSP矢量被转换为LPC系数: (14) (15) 4.2 后滤波
后滤波的引入能够有效的改进合成语音的质量。后滤波器包含三个滤波器,长时滤波器,短时滤波器和高通滤波器。长时滤波器和短时滤波器的级联以实现更好的噪声抵消,一阶高通滤波器用来补偿短时滤波器的低通作用。后滤波器是上面三种滤波器的级联。
G为自适应增益因子,P(z)为线性预测滤波器,p为基音周期,γ,λ,α,β,μ为非负设计参数。
5 2 kb/s MWI声码比特分配
原始语音采样率为8 kHz。 基音周期为6 bit, 浊音度为2 bit, 典型波形语音为16 bit, 能量为5 bit, 线谱对矢量为20 bit, 同步位为1 bit。 总和为50 bit。
2 kb/s MWI非正式DRT测试结果为95%,并具有很高的自然度和可懂度。
|