ADPCM WAVE 文件的压缩与解压缩
一、概述:
本文叙述了如何通过 IMA-ADPCM 压缩和解压缩算法来完成从 IMA-ADPCM 文件转换
为 PCM 文件的过程。主要包括的内容有:PCM 和 IMA-ADPCM WAVE 文件内部结构的
介绍,IMA-ADPCM 压缩与解压缩算法,以及如何生成特有的音频压缩格式文件等三方面
的内容。
二、WAVE 文件的认识
WAVE 文件是计算机领域最常用的数字化声音文件格式之一,它是微软专门为
Windows 系统定义的波形文件格式(Waveform Audio),由于其扩展名为"*.wav"。
wave 文件有很多不同的压缩格式,而且现在一些程序生成的 wave 文件都或多或少地含
有一些错误。这些错误的产生不是因为单个数据压缩和解压缩算法的问题,而是因为在压
缩和解压缩后没有正确地组织好文件的内部结构。所以,正确而详细地了解各种 WAVE 文
件的内部结构是成功完成压缩和解压缩的基础,也是生成特有音频压缩格式文件的前提。
最基本的 WAVE 文件是 PCM(脉冲编码调制)格式的,这种文件直接存储采样的声音数
据没有经过任何的压缩,是声卡直接支持的数据格式,要让声卡正确播放其它被压缩的声
音数据,就应该先把压缩的数据解压缩成 PCM 格式,然后再让声卡来播放。
1.Wave 文件的内部结构
WAVE 文件是以 RIFF(Resource Interchange File Format,"资源交互文件格式")
格式来组织内部结构的。RIFF 文件结构可以看作是树状结构,其基本构成是称
为"块"(Chunk)的单元,最顶端是一个“RIFF”块,下面的每个块有“类型块标识(可选)”、
“标志符”、“数据大小”及“数据”等项所组成,块的结构如表 1 所示: