APP下载

基于预测编码和矢量编码的语音信号编码算法

2018-12-14杨超刘云飞徐向旭朱弘刘传辉

现代电子技术 2018年24期
关键词:码率

杨超 刘云飞 徐向旭 朱弘 刘传辉

关键词: 编码算法; 预测编码; 矢量编码; 语音质量; 波形编码; 码率

中图分类号: TN911.3?34                    文獻标识码: A                         文章编号: 1004?373X(2018)24?0128?04

Speech signal encoding algorithm based on predictive coding and vector coding

YANG Chao1, LIU Yunfei2, XU Xiangxu3, ZHU Hong4, LIU Chuanhui1

(1. Naval Aviation University, Yantai 264001, China; 2. Naval Aviation University Qingdao Branch, Qingdao 266041, China;

3. Unit 92635 of Chinese People′ Liberation Army, Qingdao 266041, China; 4. Unit 91602 of Chinese People′ Liberation Army, Shanghai 200082, China)

Abstract: A speech signal encoding algorithm combining the linear predictive coding, SOM neural network vector coding and Huffman coding is proposed in this paper to reduce the coding compression rate on the premise of guaranteeing a good voice quality after decoding recovery, so as to reduce the storage space of speech signals. A speech signal codec experiment was carried out by means of Matlab software programming. The experimental results show that the algorithm not only retains the advantages of good decoding voice quality and simplicity that the waveform coding algorithm has, but also has a smaller compression rate than the common waveform coding algorithm. The code rate of the coding algorithm reaches 12.8 kbit/s, smaller than 32 kbit/s, which is the code rate of the waveform coding standard G.721 using the ADPCM coding algorithm, and also the minimum code rate of waveform coding.

Keywords: encoding algorithm; predictive coding; vector coding; voice quality; waveform coding; code rate

0  引  言

语音编码基于人类语音的产生模型,通过减少信号的冗余度和模仿人的听觉特性来达到低码率下的高质量编码[1]。由于人类对通信的需求,语音编码一直处于发展状态,相对于音频编码,其发展也较为成熟。

Homer Dudley是新泽西“贝尔实验室”的一名物理学家,他于1939年发明了声码器,用来进行语音信号的采集、分析与合成。第二次世界大战期间,声码器发挥了举足轻重的作用,在通信领域有着关键的应用。早在 1972 年,ITU?T就发布A/μ率 64 kbit/s,脉冲编码调制(Pulse?Code Modulation,PCM)语音编码标准G.711,并作为第一个数字电话系统,配置于世界上不同的公共电话交换网络[2]。20世纪 80 年代,随着人们对语音产生原理的深入了解,提出语音发声的源?系统模型,使得语音编码得到了突飞猛进的发展。最早的基于源?系统模型的编码标准是于 1982 年提出的,编码速率为 2.4 kbit/s的LPC?10声码器[3]。1992年ITU?T颁布了以低延迟码激励线性预测为核心的G.728,1996年颁布的基于共轭结构代数码激励线性预测编码的G.729语音编码器[2]。之后又陆续发展了G.723.1和利用变步长ADPCM的G.722.1等。G.718 超宽带编码算法也于 2010 年标准化。这类嵌入式混合编码的共同点是核心层采用了 CELP 技术,并通过在各增强层对低层编码残差进行分级处理来实现码流分层嵌套、编码质量逐级递增,有效解决了因互联网通信中的分组丢失导致合成语音感知上的不连续现象[4]。目前语音编码技术分为三类:波形编码、参数编码以及混合编码。恢复的语音质量由好到差的排列情况是:波形编码、混合编码、参数编码。参数编码恢复的语音失真度较大,混合编码效果较参数编码的好,但是算法复杂。为此,本文提出一种波形编码,旨在恢复的语音效果好于混合编码,码率低于之前的波形编码算法。

1  线性预测编码

语音线性预测编码(Linear Prediction Coding,LPC)的基本思路是,利用已知过去的若干个语音信号的线性组合对当前的语音采样值进行逼近(预测),使其线性预测值在最小方均误差意义上等于语音的当前采样值,再将预测值和当前采样值相减,得到预测误差,最后对预测误差编码。计算公式如下:

从过去的[p]个值:[x(n-1)],[x(n-2)],…,[x(n-p)]来推算当前的预测值:

[x(n)=i=1paix(n-i)] (1)

预测器的预测误差为:

[e(n)=x(n)-x(n)=x(n)-i=1paix(n-i)] (2)

由于语音信号前后具有较强的相关性,所以,在统计意义上说,预测误差值的变化范围小于当前采样值的变化范围,因而可以用更少的码元来表示。

2  基于自组织神经网络SOM的矢量量化

矢量量化就是把需要量化的数值每n个作为一组,任何一组的n个数值都可以看成n维空间的一个点,构成一个n维矢量X。由于n维空间的每一维都是模拟量(或连续量),所以n维空间也是一个连续空间,即使每一维的最大值是有限制的,但它包含的矢量数目是无穷多的。矢量量化要做的工作就是将此n维连续空间划分为有限个区间,在每一个区间找一个代表矢量,凡是落在本区间的所有的矢量都用该代表矢量来表示,这就是矢量量化的基本方法[4?6]。

矢量量化过程中,X′和X两个矢量的接近程度可以有多种衡量方法,最常用的误差测度是均方误差,相当于两者之间的欧几里德距离,即:

[d(X,X′)=1ni=1n(xi-x′i)] (3)

人类的神经系统是迄今为止最复杂也是科学史上最智能的系统,即使是最先进的计算机与人脑神经系统比起来也要逊色不少。人脑神经系统可实现自动学习、模式识别和分类归纳等功能。人工神经网络就是利用一些简单的自适应原件及其层次组织的大规模并行联结构组成的网络,目的在于模仿人脑神经网络的工作模式来处理客观数据[7]。神经元是神经网络的基本单元,它一般是一个多输入单输出的非线性结构体。

神经元的结构如图1所示。

图1中:[ui]是神经元的内部状态;[θi]为阈值;[xj]为输入信号;[wji]表示从[uj]到[ui]连接的權值;[si]为外部用来调节神经元的初始状态输入信号。

模型可以用以下公式表述:

[σi=jwjixj+si-θiui=f(σi)yi=g(ui)=h(σi),  h(σi)=(g?f)(σi)] (4)

人工神经元的信息处理过程为:先对输入信号和神经元接联的内积运算,然后将结果通过激活函数,再经过阈值函数判决,若输出值大于阈值门限,则神经元被激活,否则该神经元处于抑制状态[8?10]。网络的学习本质就是神经元根据既定规则和输出模式自动地调节权值和阈值,以达到最终稳定的神经元状态。

Kohonen自组织映射算法是由T.Kohonen提出的无监督的学习方式,自组织映射神经网络SOM就是利用这一算法的人工神经网络。这种神经网络的输出层为按一定规则排列的二维矩阵,网络神经元局部连接,输入层与输出层间通过权值构成全连接。进行学习时,输出层二维网络节点对输入层的特定模式的节点形成特殊反应,随着输入节点的变化,输出节点也从一个节点转到相应领域,这样不仅能实现分类识别,还能掌握输入的整体分布。

3  实验结果与分析

本文提出的编码方案是线性预测编码、基于SOM神经网络的矢量编码及Huffman编码的联合编码法。具体方法是,将1列语音采样信号按照奇偶顺序转换成2列,分别对每列信号进行预测,得到误差值,同时对2列信号的误差值进行基于自组织神经网络的矢量编码;恢复语音时,译码过程与编码过程相反,最后对译码数据用切比雪夫Ⅰ型滤波器滤波。

压缩率的计算公式为:

[压缩率=编码后二进制码总位数初始信号二进制码总位数×100%] (5)

信噪比的计算公式为:

[SNR=10lg(PsPn)] (6)

式中:原始信号的功率为[Ps];语音的噪声功率[Pn]。

实验中,选取一段2 s的女声朗读英文的语音信号为处理对象。该语音信号采样率为16 kHz,量化位数为8,单通道。采用10阶线性预测公式计算预测值,进而计算误差,SOM神经网络的码本数为15,码本训练次数为300次。滤波器的通带截止频率设置在6 000 Hz,阻带截止频率设为7 800 Hz,通带波纹设为0.5 dB,阻带衰减设为10 dB。人耳的主观感觉是,恢复的语音信号与原始语音信号相比基本没有差别。图2为女声朗读英文的语音信号时域恢复情况,其中图2a)为原始语音信号时域波形图,图2b)为对原始信号解码和滤波计算后得到的恢复的语音信号的时域波形图。

从图2a)和图2b)两幅波形图对比可知,与原始语音信号波形相比,恢复的语音信号基本没有变化,只是个别时间点上语音强度略低,这是由于语音信号的高频部分略有不同造成的。图3为女声朗读英文的语音信号频域恢复情况,图3a)为原始语音信号频谱图,图3b)为对原始信号经过解码和滤波计算后得到的恢复语音信号频谱图。由图3a)和图3b)两幅频谱图对比可得,恢复的语音信号频谱与原始语音信号频谱基本一致,4 000 Hz以后的高频段略有不同,但是人耳在这个频段范围不敏感[8]。这与人的主观感觉结果相一致。计算得到的信噪比为10.12 dB,压缩率为19.97%,码率为12.8 kbit/s。这个码率小于采用ADPCM编码算法的波形编码标准G.721的码率32 kbit/s,同时也小于采用LD?CELP编码算法的混合编码G.728的码率16 kbit/s。

4  结  论

本文提出一种预测编码、SOM自主神经网络矢量编码和Huffman编码的联合编码算法,并在译码时用切比雪夫Ⅰ型滤波器对译码信号进行滤波。实验结果表明,本文提出的编码算法,译码语音质量良好,码率小于采用ADPCM编码算法的波形编码标准G.721的码率32 kbit/s;在保留译码语音质量较好和算法较简单波形编码算法的优点[9]的同时,本算法甚至可以达到小于采用LD?CELP编码算法的混合编码G.728的码率16 kbit/s,从而可以减少语音信号的存储空间和传输带宽[10]。

注:本文通讯作者为刘云飞。

参考文献

[1] 吴家安.现代语音编码技术[M].北京:科学出版社,2008.

WU Jiaan. Modern speech coding technology [M]. Beijing: Science Press, 2008.

[2] 李晓明.语音与音频信号的通用编码方法研究[D].北京:北京工业大学,2014.

LI Xiaoming. Research on universal coding method for speech and audio signals [D]. Beijing: Beijing University of Technology, 2014.

[3] 梁冬蕾.音频语音联合编码算法研究[D].西安:西安电子科技大学,2010.

LIANG Donglei. Research on audio and speech joint coding algorithm [D]. Xian: Xidian University, 2010.

[4] YANG Chao, DONG Shikun. Image compression method based on vector quantization [J]. Journal of Naval Aeronautical and Astronautic University, 2011(1): 11?14.

[5] 杨超,贺一君,任建存,等.码本均衡矢量编码算法[J].现代电子技术,2016,39(13):38?40.

YANG Chao, HE Yijun, REN Jiancun, et al. Codebook equilibrium algorithm for vector coding [J]. Modern electronics technique, 2016, 39(13): 38?40.

[6] MAKHOUL J, ROUCOS S, GISH H. Vector quantization in speech coding [J]. Proceedings of the IEEE, 2005, 73(11): 1551?1588.

[7] 钱海军.基于BP神经网络的图像压缩的Matlab实现[J].电脑开发与应用,2011,24(12):77?79.

QIAN Haijun. Image compression based on BP neural network using Matlab [J]. Computer development & applications, 2011, 24(12): 77?79.

[8] 王龙,杜敦伟,吕晓军,等.基于SVM和SOM的雷达目标识别[C]//第十届中国智能交通年会优秀论文集.北京:电子工业出版社,2015:511?515.

WANG Long, DU Dunwei, L? Xiaojun, et al. Radar target recognition based on SVM and SOM [C]// Proceedings of 10th Annual Conference of China Intelligent Transportation Systems Association. Beijing: Publishing House of Electronics Industry, 2015: 511?515.

[9] 杨晨,闫薇.利用SOM网络模型进行聚类研究[J].网络安全技术与应用,2014(2):44?45.

YANG Chen, YAN Wei. Research on the clustering by using SOM network model [J]. Network security technology & application, 2014(2): 44?45.

[10] 邹瑜,帅仁俊.基于改进的SOM神经网络的医学图像分割算法[J].计算机工程与设计,2016,37(9):2533?2537.

ZOU Yu, SHUAI Renjun. Improved segmentation algorithm of medical images based on SOM neural network [J]. Computer engineering and design, 2016, 37(9): 2533?2537.

猜你喜欢

码率
基于缓存补偿的视频码率自适应算法
流媒体视频的两阶段码率调节提升QoE策略研究
移动视频源m3u8多码率节目源终端自动适配技术
一种基于HEVC 和AVC 改进的码率控制算法
基于FPGA的多码率卷积编码器设计与实现
基于状态机的视频码率自适应算法
基于复杂度分析的HEVC帧内码率控制算法
深空通信中码率兼容原模图LDPC码的设计
基于场景突变的码率控制算法
X264多线程下码率控制算法的优化