音频信号联合编码的通用码书研究
2018-03-01黄隽逸徐向旭赵瑞青
杨 超,黄隽逸,孙 云,徐向旭,赵瑞青
(1.海军航空大学,山东烟台264001;2.91604部队,山东龙口265706;3.92635部队,山东青岛266041)
音频压缩已经广泛应用于消费类及专业级的音频产品中,如激光唱盘(CD)、迷你型光谱(MD)、数字多用光盘(DVD)、数字音频广播(DAB)以及分布在Internet上的运动图像专家组(Motion Picture Experts Group、MPEG)第3层音频编码标准(MP3)等。随着通信网络的普及,音频编码又大量应用在互联网应用、远程医疗和录放系统中。在现代通信系统中,随着带宽和存储容量需求的不断增长[1-3],音频编码研究也越来越受到重视,而集成电路和信号处理技术的发展,使得实现高效的信源编码技术成为可能。目前声音编码技术分为3类:波形编码、参数编码以及混合编码[4-5]。传统的音频编码标准通过各种降低延时和码率的技术,提高其对声音的编码效率[6-8]。当前最新的低延时音频编码格式Opus对互联网上的交互式声音和音乐传输来说是最佳的选择,同时也用于存储和流媒体应用。它的采样率从8~48 kHz,它的码率范围为6~510 kb/s,算法时延在2.5~30 ms之间。一些新的音频编码算法也在不断涌现,例如一种将预测编码[9]、基于SOM自组织神经网络[10-14]的矢量编码[15-17]及Huffman[18]编码相结合的音频编码算法[19](以下简称联合编码算法)。在保证声音质量的前提下,该编码方法的码率小于MEPG-1 Layer3[20]的最低的64 kb/s标准码率,高维联合编码的码率更小,最小码率在音频编码格式Opus码率的范围内,且接近Opus码率的下限。但是,联合编码算法中,需要从每一段待编码的声音信号中用SOM的自组织神经网络提取相应的专用码书,为了进一步减小联合编码算法的复杂度,本文提出在联合编码中,用通用码书取代专用码书的尝试。
1 码书长度为64的8维矢量联合编码算法
随着联合编码算法中的码书长度的增加,码率会增加;随着量化矢量维数的增加,码率会下降。图1是码书长度为64的8维联合编码程序流程图[21]。
图1 码书长度为64的8维联合编码程序流程图Fig.1 Flow chart of 8 dimensional joint coding program with codebook length of 64
图1是码书长度为64的8维联合编码程序流程图。首先,将1列声音采样信号按照顺序转换成8列,即将原序号为(8n+1)的数据组成为新的第i列,其中n取值为自然数,i取值为1~8的整数。每列信号分别按照线性预测编码原理各自进行预测,计算当前的预测值和误差值,共得到8个误差值,将该8个误差值组成一组8维矢量,进行基于SOM自组织神经网络的码书长度为64的8维矢量编码;然后,进行Human编码;译码过程与编码过程相反;最后,对译码数据用切比雪夫Ⅰ型滤波器滤波。
2 通用码书的联合编码算法的实验结果与分析
通用码书较专用码书实时性强。图1的联合编码算法中,码书是以录入的声音信号为基础,通过神经网络进行训练后得到的一个能将该录入的声音进行预测编码时的平均失真降为最小的包含64个码矢量的码书,在其他条件不变的条件下,它使录入的声音的译码恢复声音质量达到最好,其缺点是,随着图1中录入的声音的不同,相应的神经网络训练后得到的码书不同,每一个声音编码,都需要进行一次神经网络训练,也因此称为专用码书。所谓专用码书,就是只适合参与训练的那一段特定音频样本的码书。与此对应,所谓通用码书,就是适合普遍的不同音频信号的码书,使用通用码书编码,对不同的声音可以使用同一个码书,省去了神经网络训练码书的时间,从而可减少了编码时间,提高编码的实时性。
研究通用码书的联合编码算法时,需要从更广泛的具有代表性的音频信号中提取神经网络训练样本,并计算译码结果,根据译码声音质量,得到通用码本的可行性。
本文从日常生活中常出现的声音信号,作为提取通用码书的样本信号;试验证明,专用码书条件下,码书长度为64的8维联合编码具有接近算法最小极限的码率。因此,本文选择了码书长度为64的8维联合编码作为通用码书的研究模式。具体方法是,将音频标准库里的“雷声”、“警报”、“音乐”“心跳”、“鸟鸣”和“古筝”6个样本,6段声音信号接续组合成一段较长的声音信号,作为图1中的“录入声音数据”,按图1的流程得到一组8维误差数据,并以此为样本进行基于自组织神经网络的训练,得到的结果即为通用码书。为了研究通用码本的性能,从标准音频库选取“水滴”和“提示音”2个声音段作为研究样本,分别对他们进行专用码书和通用码书条件下的联合编码。
表1是通用码书和专用码书研究结果。其中,码书建立源的”从3段声音信号提取码书”和”从6段声音信号提取码书”分别指从将音频标准库里的“雷声”、“警报”、“音乐”声音信号中提取码书和从音频标准库里的“雷声”、“警报”、“音乐”“心跳”、“鸟鸣”和“古筝”6个样本提取码书。
表1 通用码书和专用码书条件下的联合编码研究结果Tab.1 Research results of joint coding under universal codebook and special codebook
专业码书是分别从对应的“水滴”和“提示音”信号提取码书。
信噪比定义如下:
式(1)中:原始信号的功率为Ps;声音的噪声功率Pnx、y分别代表音频编码算法的输入信号和输出信号;N代表音频的样点数。
压缩率的计算公式为:
式(2)中:α为压缩率;r0为编码后表示声音信号的二进制码总位数;ri为原始声音信号的二进制码总位数。
码率β的计算公式为:
式(3)中:μ为采样率;η为平均码长。
信噪比的计算如式(1)所示。
译码端数字低通滤波器的通带截止频率设为4 kHz,阻带截止频率设为6 kHz,通带波纹设为0.3dB,阻带衰减设为10dB。采样率为22 050 Hz。
从表1可见,声音信号“水滴”在专用码书条件下的联合编码的译码MOS值为2.5、译码端信噪比为6.2361,略高于声音信号“水滴”在通用码书条件下的联合编码的译码MOS值2.1和2.3,和译码端信噪比6.1168和6.2132。声音信号“提示音”在专用码书条件下的联合编码的译码MOS值为2.6、译码端信噪比为8.8207,略高于声音信号“提示音”的通用码书条件下的联合编码的译码MOS值2.3和2.4,和译码端信噪比8.5931和8.7134。他们的码率均为13.230 kb/s。由此可见,当联合编码的码书长度为64,矢量码本维数为8时,通用码本较专用码本条件下得到的译码声音质量略差,但二者都达到“差”等级,即可以听懂内容,但音色较原始信号略差。从表1可见,声音信号“提示音”也可以得到相同的结论。
图2是声音信号“水滴”的专用码书和通用码书条件下的联合编码计算结果。由图2可见,译码声音信号图2 e)和图2 f)的时域中的包络和图2 a)中原始声音信号的包络基本一致,所以译码声音信号内容没有变化。由图2 c)和图2 d)可见,专用码书和通用码书条件下的联合编码译码信号的频谱较图2 b)原始信号的频谱在大于6 kHz的高频部分的分量小(图中的纵坐标|F(f)|表示频谱幅值),在小于8 kHz的低频部分的分量基本相等,由于人耳对大于6 kHz的高频分量不敏感,所以听到的译码声音较原始声音内容不变,但音色略差。
图3是声音信号“提示音”在专用码书和通用码书条件下的联合编码计算结果。用和图2相同的方法分析图3,得到和图2相同的结论。
图2 声音信号“水滴”在专用码书和通用码书条件下的联合编码计算结果Fig.2 Results of joint coding of sound signal“droplet”under special codebook and general codebook conditions
图3 声音信号“提示音”在专用码书和通用码书条件下的联合编码计算结果Fig.3 Results of joint coding of sound signal“warning sound”under special codebook and general codebook conditions
3 结论
当前,最新的低延时音频编码格式Opus对于互联网上的交互式声音和音乐传输来说是最佳的选择,同时也用于存储和流媒体应用。它的采样率从8~48 kHz,它的码率范围为 6~510 kb/s,算法时延在2.5~30 ms之间。码书长度为64、量化矢量为8维的通用码书条件下的联合编码,其采样率为22.05Hz,码率达到13.230 kb/s,采样率和码率都在Opus编码可取的参数范围内,但是,算法较Opus简单,所以实时性较好,更适合于音频实时通信。因此,通用码本的联合编码算法将会有广泛的应用前景。