|
录音工程师和音乐制作商所接受,同样多声道数字音频系统则也要顺应这种趋势。但如果仍然采用线性PC
|
M,这无疑是增加了更大的数据量,提高了现有的数据率。
|
我们知道线性PCM并没有充分利用音频信号的特性进行编码,在PCM数据流中存在着大量的冗余信息。同时
|
要强调的是不管音频信号如何编解码、传输,最终还是要靠我们的人耳来实现的,如图2所示,因此我们
|
可以充分地考虑人耳的听觉特性,并加以利用,如人耳的掩蔽效应、哈斯效应等等。这样就可以将音频信
|
号中与人耳有关的那部分冗余信息去除掉,在编码时则仅仅对有用的那部分音频信号进行编码,从而降低
|
了参与编码的数据量。同时再将编码的信号进行比特精度的分配,对于幅度比较大的信号或变化比较快的信号分配更多的比特数,而对于幅度小、变化慢的信号则减少比特数的分配,从而达到减少数据率的可能性,实现编码的高效率。当然这种结果是以编码过程复杂化为代价的。下面具体分析几种声学模型。
|
|
图2 编码、传输、人耳听音的实现
|
2.1 根据听觉域度对可闻信号进行编码
人耳对声振动的感受,在频率及声压级方面都有一定的范围,频率范围正常人约为20Hz~20kHz,而声压级范围则是如图听阈曲线来描述的。意即在这条曲线之下的对应频率的信号是听不到的。
|
图16 MPEG-2音频混合后环绕声兼容性
|
如图3所示,对于信号A来说,由于其声压级超过听阈曲线的声压级域值,所以可以对人耳造成声振动的感
|
受,意即听到A信号。而对B信号来说,其声压级位于听阈曲线之下,虽然它是客观存在的,但人耳是不可闻
|
的。因此,可以将类似的信号去除掉,以减少音频数据率。
|
2.2 根据掩蔽效应,只对幅度强的掩蔽信号进行编码
|
人耳能在寂静的环境中分辨出轻微的声音,但在嘈杂的环境中,同样的这些声音则被嘈杂声淹没而听不
|
到了。这种由于一个声音的存在而使另一个声音要提高声压级才能被听到的现象称为听觉掩蔽效应。
|
|
如图4所示,虽然B、C两信号的声压级已超过听阈曲线的范围,人耳已可以听到B、C两信号的存在,但是由
|
于A信号的存在,通过前向掩蔽将C信号淹没掉,通过后向掩蔽将B信号淹没掉,从而最终到达人耳引起感觉
|
的只有A信号。因此,可以将类似的B、C信号去除掉以减少音频数据率。
|
2.3 量化噪声使得不必全部编码原始信号
|
类似于人耳的听阈曲线,由于数字信号存在着量化噪声,如图5所示,对于信号A和B来说,并不一定要将A、
|
B信号进行全部幅度的编码,而只需将A、B信号与量化噪声的差值进行编码就可以达到相同的听觉效果,因
|
此,在编码过程中实际量化幅度就可以大大的减少,而减少数据率。
|
|
2.4 通过子带分割来进行优化、编码
|
在传统的编码过程中,都是将整个频带作为操作对象,采用相同的比特分配对每个信号进行量化。而实际
|
上,由于听觉曲线的存在及其它因素,对于幅度较小的信号可以分配较少的比特数就可以达到要求,因此
|
将整个频带分成多个子频带,然后对每个子频带的信号独立编码,从而使得在每个子频带中比特分配可以
|
根据信号自身来适应。
|
|
如图ABCD四个信号,如果对整个频带编码,对于D信号来说分配16比特来量化则显得多余浪费,所以如果
|
将ABCD分别置于不同的子带内,则可在分别所处的子带内使用最适合的比特数分配给信号来编码,从而减
|
少数据率,同时如果用于分割的子带分辨率越高,意即子带的频带相对越窄,那么在子带中分配的比特数
|
就越精确,而减少了比特率。
|
2.5 不同的实现方式
|
当前在数字音频编码领域存在着各种不同的编码方案和实现方式,为了能够让大家对此有一个较完整的认
|
识,在本文中仅对当前流行的几种典型的编码方法做一个介绍。不管是通过那一种方式实现,其基本的编
|
码思路方框图都大同小异,如图7所示。对于每一个音频声道中的PCM音频信号来说,首先都要将它们映射
|
到频域中,这种时域到频域的映射可以通过子带滤波器(如MPEG Layers I,II,DTS)或通过变换滤波器
|
组(如AC-3,MPEG AAC)实现。这两种方式的最大不同之处在于滤波器组中的频率分辨率的不同。
|