语音编码最基本的方法是对语音信号采样,直接进行模数转换。但是,如果不再进一步处理,会导致编码量很大。例如,用8kHz采样,12bit进行量化,一秒钟的语音就需要96kb。这个传输量太大,需要进行压缩。
为什么可以进行压缩?因为数据(每一次采样)存在相关性。假设所有数据都相同,用两个数就可以表示这段语音,一个是每个采样的值,一个是采样的次数;假设数据构成了一条直线,即数据和时间成正比,用3个数就可以表示,起始点,长度,斜率(或者差分)。等等,只要语音信号不是随机出现的,就可以进行压缩(严格说,随机出现的也可以压缩,只要知道了分布函数)。
语音信号在时频的冗余:
1,语音的幅度非均匀,大量的低信号电平,对人的听觉影响甚微
2,相邻语音信号的相关性很强。比如当前信号为1,则左右两个的信号集中在0.8和1.2之间。根据当前信号可以很好预测下一个信号而不需要存储下一个信号。
3,浊音有很强的周期性。本周期语音段的波形和下一个周期语音段的波形非常相近,只需要存储本周期语音段即可。
4,语音间隙。很多时候是一方在说,另一方在听,检测出不发音的一方,可以不传递信号。
语音信号在频域的冗余:
1,非均匀的功率谱密度,高频的功率很低,这对应于时域里相邻信号变化很小。
2,语音信号特有的短时功率谱密度,某些频率上出现峰值,某些功率上出现谷值。
人的听觉特征:
1,人耳的掩蔽效应。声音是由不同频率的声波组成,如果某一个频率的声波很强,人耳就很难听到相邻频度的声音。
2,人耳对不同频率的声音敏感度不同。对一些频段,即使强度很大,人耳仍然听不到,而对于另外一些频段,即便微小的声音,人耳也可以感应到。
3,人耳对语音相位变化不敏感。