页面加载中,请稍候
来源:电子技术应用发布时间:2010-05-20100浏览
询问 AI
矢量量化(Vector Quantization)是一种极其重要的信号压缩方法,广泛应用于语音、图像信号压缩等领域。信息论的一个分支——“率-畸变理论”指出,无论对于何种信息源,即使是无记忆的信息源(即各个采样信号之间互相统计独立),矢量量化总是优于标量量化,且矢量维数越大优度越高。因此,目前国内外对于矢量量化技术的研究非常广泛而深入。平衡考虑量化效果和运算复杂度,多级矢量量化(MSVQ)提供了一个很好的折衷办法。
线性预测编码(LPC)参数能很好地表征语音信号的短时谱包络信息,在各种LPC参数中,线谱频率(LSF)[1]较其它参数能更有效地表达LPC信息。K.K.Paliwal和B.S.Atal仔细研究了用24~26个比特量化一个10阶LSF参数的方法,提出了分裂矢量量化(Split Vector Quantization)和多级矢量量化MSVQ(Multistage Vector Quantization)两种方案,并且试验得到了用25比特的2级MSVQ能取得较好的量化效果(平均失真1dB,2~4dB概率小于2%,大于4dB为0)。
MSVQ算法有效减小了码本容量,但如果在量化比特有限的情况下,想取得透明的量化效果,必须解决两个问题:(1)怎样搜索码本得到最佳匹配索引;(2)怎样设计码本。在算法设计中这两个问题必须统一考虑。对前一个问题,为了方便一般采用序列搜索算法,依次搜索得到各级的最佳匹配矢量。在码本设计中,更多的也是分级依次进行码本训练,割裂了各级码本之间的相关性。本文将着重研究多级矢量量化的联合优化码本设计问题。
1 问题分析
传统的MSVQ算法在LSF参数码本设计时采用一种连续(stage-by-stage)的设计方法,第k级码本只与前面的第1至第(k-1)级码本有关,而不考虑后续各级码本,即将后续各级码本内容视为0。在量化时,同样只在本级寻找1个最佳匹配矢量,然后得到余量矢量送入下一级量化。量化过程可以用式(1)表示,假设有2级码本,需要找出各级码本索引:
3 实验结果和分析
实际应用中,码本训练采用107 MB的语音文件,得到342302帧LSF参数(10维)和加权系数,训练矢量集足够大。在实际的2kbps语音编码算法中,对LSF参数进行3级矢量量化,比特分配为9/8/6,共23bits。利用联合优化码本生成算法进行300步迭代,与SR算法的第三级300步迭代结果进行比较,得到训练码本总畸变数据,如图2所示。
可以看到,同样步数的JCO-MSVQ算法较SR算法能取得更小的量化畸变。SR算法经过一定步数的迭代,基本没有下探的空间。而JCO-MSVQ算法则能继续优化码本,获得更好的量化效果。并且,与SR算法不同,JCO-MSVQ算法中量化畸变是单调递减的,因在训练过程中每一步都是最优的(简化算法中是多进制搜索,因而是次优的)。
统计量化谱失真,联合码本优化MSVQ比其他的MSVQ有明显的改善。在同一个LSF量化器中分别采用23bits SR码本(码本1)、24bits SR码本(码本2)和23bits联合优化码本(码本3),测试语音为一个3.5MB的语音文件,既有男声也有女声,共11348帧LSF参数。统计量化谱失真得到表1所示数据。
从表1数据可以看到,同是23bits的量化,联合码本设计MSVQ与应用SR算法生成码本的MSVQ相比较,有大约1个比特的改善,接近于应用SR算法24bits量化的效果。甚至优于文献[2]中MSVQ算法的26bits量化(平均谱失真0.93dB)。平均谱失真为0.87dB,大于4dB的谱失真统计为0,达到了透明量化的要求。
本文研究结果已经成功应用于1/2kbps可变速率声码器项目中。
新闻来源:电子技术应用,文中所述为作者独立观点,不代表icspec立场。更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj。
暂无评论哦,快来评论一下吧!

2026-07-07

2026-07-24

2026-07-13