APP下载

一种减小语音矢量编码码率的算法

2019-06-19杨超刘云飞徐向旭朱弘芮天予

现代电子技术 2019年11期
关键词:神经网络

杨超 刘云飞 徐向旭 朱弘 芮天予

摘  要: 2维PV编码算法是一种将线性预测编码、SOM神经网络2维矢量编码以及Huffman编码相结合的语音信号编码算法。为了在保证译码恢复的语音质量良好的前提下,进一步减小编码的压缩率,以减小语音信号的存储空间,提出一种增加2维PV编码中矢量量化维数的高维PV编码算法。并利用Matlab软件编程进行2维、4维和8维PV算法的语音信号编解码实验。实验结果表明,在保证译码恢复声音质量良好的条件下,增加2维PV编码算法的量化矢量维数,可以减小码率,其中8维PV编码算法的码率最小为5.94 Kb/s,小于采用ADPCM编码算法的波形编码标准G.721的码率32 Kb/s(波形编码的最小码率),甚至小于采用LD?CELP编码算法的混合编码G.728的码率16 Kb/s。文中提出的编码算法在语言压缩编码方面将具有较高的研究价值和很好的应用前景。

关键词: 语音编码; 编码算法; 矢量编码; 预测误差编码; 压缩编码; 神经网络

中图分类号: TN912.3?34; TN911.3                  文献标识码: A                  文章编号: 1004?373X(2019)11?0032?04

Abstract: The 2D PV coding algorithm is a speech signal encoding algorithm, in which the linear prediction coding, SOM neural network 2D vector coding and Huffman coding are combined. In order to further reduce the compression rate of coding and save the storage space of speech signal, a high?dimensional PV coding algorithm to increase the dimension of vector quantization in 2 dimensional PV coding is proposed while guaranteeing the speech quality of decoding recovery. The speech signal codec experiments of 2D, 4D and 8D PV algorithms are carried out with Matlab software programming. The experimental results show that the code rate can be reduced by increasing the quantization vector dimension of the 2D PV coding algorithm while maintaining the perfect sound quality of the decoding recovery; the code rate (5.94 Kb/s) of the 8D PV coding algorithm is lowest, which is less than 32 Kb/s of the waveform coding standard G.721 got by ADPCM encoding algorithm, and even less than 16 Kb/s of the mixed coding G.728 got by LD?CELP encoding algorithm. The proposed coding algorithm has high research value and wide application prospect in language compression coding.

Keywords: speech coding; coding algorithm; vector coding; prediction error coding; compression coding; neural network

0  引  言

语音编码基于人类语音的产生模型,通过减少信号的冗余度和模仿人的听觉特性达到低码率下的高质量编码[1]。早在1972年,ITU?T就发布A/μ率64 Kb/s,脉冲编码调制(Pulse?Code Modulation,PCM)语音编码标准G.711,并作为第一个数字电话系统,配置于世界上不同的公共电话交换网络[2]。1982年提出基于源?系统模型的编码标准,编码速率为2.4 Kb/s的LPC?10声码器[3]。1992年ITU?T颁布了以低延迟码激励线性预测为核心的G.728,1996年颁布基于共轭结构代数码激励线性预测编码的G.729语音编码器[2]。之后又陆续发展了G.723.1和利用变步长ADPCM的G.722.1等。G.718超宽带编码算法也于2010年标准化。这类嵌入式混合编码的共同点是核心层采用CELP技术[3]。目前语音编码技术分为三类:波形编码、参数编码以及混合编码。恢复的语音质量由好到差的排列情况是波形编码、混合编码、参数编码。参数编码恢复的语音失真度较大,混合编码效果较参数编码的好,但是算法复杂。基于预测编码、SOM自主神经网络矢量编码和Huffman编码进行联合编码,并在译码时用切比雪夫Ⅰ型滤波器对译码信号进行滤波的编译码算法(下文简称2维PV算法),编码算法译码语音质量良好,码率小于采用ADPCM编码算法的波形编码标准G.721的码率32 Kb/s(波形编码的最小码率),从而可以减少语音信号的存储空间和传输带宽。本文将改变2维PV算法中量化矢量的维数,研究量化维数对压缩率和码率的影响,旨在寻找进一步提高语音信号压缩率,减小码率的算法。

1  线性预测编码

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

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

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

矢量量化就是把需要量化的数值每[n]个作为一组,根据它与每个码本的接近程度进行量化和编码[4?6]。矢量量化过程中,[X]和[X]两个矢量的接近程度可以有多种衡量方法,最常用的误差测度是均方误差,相当于两者之间的欧几里德距离,即:

人工神经网络就是利用一些简单的自适应单元及其层次组织的大规模并行联结构造组成的网络,目的在于模仿人脑神经网络的工作模式来处理客观数据[7]。神经元是神经网络的基本单元,它一般是一个多输入单输出的非线性结构体。

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

图1  神经元结构模型

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

网络的学习本质就是神经元根据既定规则和输出模式自动调节权值和阈值,以达到最终的稳定的神经元状态[8?10]。

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

3  2维PV算法

图2是2维PV算法编码部分程序流程图。首先,将1列语音采样信号按照奇偶顺序转换成2列,即将原序号为[2n-1]的信号组成新的第1列,原序号为[2n]的信号组成新的第2列,其中[n]为正整数。每列信号分别按照线性预测编码原理进行预测,计算当前的预测值和误差值,共得到2个误差值,将该2个误差值组成一组2维矢量,进行基于自组织神经网络的矢量编码;恢复语音时,译码过程与编码过程相反得到误差值,同时对两列信号的误差值进行基于自组织神经网络的矢量编码;最后对译码数据用切比雪夫Ⅰ型滤波器滤波。

4  高维PV算法实验结果与分析

本课题将改变2维PV算法中量化矢量的维数,研究量化维数对压缩率和码率的影响,旨在寻找进一步提高语音信号压缩率,减小码率的算法。考虑到码本编码效率,一般维数选为[2n],[n]为正整数。实验中,选取量化维数分别为2维、4维和8维的编码算法进行实验。

图2  2维PV算法编码程序流程图

4维PV算法是将1列语音采样信号按照语音信号的采样序号,由1列依次转化为4列,即将原序号为[4(n-1)+1]的信号组成第1列,将原序号为[4(n-1)+2]的信号组成第2列,原序号为[4(n-1)+3]的信号组成第3列,原序号为[4n]的信号组成第4列,其中[n]为正整数。每列信号各自分别按照线性预测编码原理,计算当前的预测值和误差值,4列信号各自算得一个误差值,共得到4个误差值,将该4个误差值组成一组4维矢量,进行基于自组织神经网络的矢量编码;恢复语音时,译码过程与编码过程相反,最后按照编码的逆过程,将4列译码信号转化为1列译码后的数据,并用切比雪夫Ⅰ型滤波器滤波。由2维PV编码算法和4维PV编码算法类推,可知8维PV编码算法原理。

实验中,选取一段5 s语音信号为处理对象,分别用2维PV、4维PV和8维PV算法对这个样本进行编码和译码。其中,语音信号采样率为8 kHz,量化位数为8。采用10阶线性预测公式计算预测值。滤波器的通带截止频率为2 500 Hz,阻带截止频率为3 500 Hz,通带波纹为0.3 dB,阻带衰减设为1.6 dB。表1~表3分别是用2维PV、4维PV和8维PV算法对所选样本进行编码和译码的计算结果。其中,恢复声音质量“良”,表示译码恢复的声音噪声较小,音色变化很小,能清楚分辨内容;恢复声音质量“差”,表示译码恢复的声音噪声很大,音色有变化,勉强能分辨内容。

表1  2维PV算法计算结果

表2  4维PV算法计算结果

表3  8维PV算法计算结果

比較表1~表3可以看出,在恢复声音噪声较小、音色变化很小、能清楚分辨内容的情况下,8维PV编码算法可以得到最小的码率。

图3是8维64码矢的译码语音恢复情况。从图中可以看出,译码恢复信号在时域和频域都保持了原始语音信号的基本特征和形状。从表3和图3可以看出,用高于2维PV算法的8维64码矢,可以在保证语音信号质量良好的情况下,达到低于2维的5.94 Kb/s的码率。这个码率小于采用ADPCM编码算法的波形编码标准G.721的码率32 Kb/s,同时也小于采用LD?CELP编码算法的混合编码G.728的码率16 Kb/s。

5  结  论

2维PV编码算法是一种预测编码、SOM自主神经网络2维矢量编码和Huffman编码的联合编码,并在译码时用切比雪夫Ⅰ型滤波器对译码信号进行滤波的算法。本文将2维PV算法中量化矢量的维数增加,研究了量化维数对压缩率和码率的影响,对同一语音样本分别用2维PV编码算法、4维PV编码算法和8维PV编码算法进行编码运算。计算结果表明,在保证译码恢复声音质量良好的条件下,增加2维PV编码算法的量化矢量维数,可以减小码率,其中8维PV编码算法的码率最小,为5.94 Kb/s。在保留了译码语音质量较好和算法较简单这些波形编码算法优点的同时,8维64码矢的PV算法甚至可以达到小于采用LD?CELP编码算法的混合编码G.728的码率16 Kb/s,从而可以减少语音信号的存储空间和传输带宽。

图3  8维64码矢的译码声音恢复情况

参考文献

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

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

[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 joint audio and audio coding algorithm [D]. Xian: Xidian University, 2010.

[4] 杨超,贺一君,任建存,等.码本均衡矢量编码算法[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.

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

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

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

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

[8] 王龙,杜敦伟,白艳萍.基于SVM和SOM的雷达目标识别[J].科技视界,2015(16):505?509.

WANG Long, DU Dunwei, BAI Yanping. Radar target recognition based on SVM and SOM [J]. Science & technology vision, 2015(16): 505?509.

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

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

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

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

猜你喜欢

神经网络
基于递归模糊神经网络的风电平滑控制策略
BP神经网络在路标识别上的应用研究
神经网络抑制无线通信干扰探究
基于Alexnet神经网络的物体识别研究
基于BP神经网络的旋转血泵生理控制
基于神经网络MRAS的速度辨识仿真研究
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定
基于神经网络分数阶控制的逆变电源