《wav格式中常见的压缩编码》由会员分享,可在线阅读,更多相关《wav格式中常见的压缩编码(4页珍藏版)》请在金锄头文库上搜索。
1、WAV 格式中常见的压缩编码 (compression code)WAV 为微软公司(Microsoft)开发的一种声音文件格式,它符合 RIFF(Resource Interchange File Format)文件规范,用于保存 Windows 平台的音频信息资源,被 Windows 平台及其应用程序所广泛支持,该格式也支持 MSADPCM,CCITT A LAW 等多种压缩运算法,支持多种音频数字,取样频率和声道。标准格式化的 WAV 文件采样频率为 44100Hz,采样比特为 16bit,因此标准的(这里说标准,只是一种广泛采用的波形音频方案) WAV 文件和 CD 音频格式一样,也是
2、 44.1KHz 的取样频率,16 位量化数字,在声音文件质量和CD 音频相差无几。下面由 useiee 详细介绍一下 WAV 格式文件常见的 10 种压缩码形式(Compression Code)。11. PCM/uncompressedPulse Code Modulation,脉码调制信号。是模拟音频信号经模数转换(A/D 变换)直接形成的二进制序列,该文件没有附加的文件头和文件结束标志。Windows 的 Convert工具可以把 PCM 音频格式的文件转换成 Microsoft 的 WAV 格式的文件。PCM 脉码调制数字音频格式是 70 年代末发展起来的,80 年代初由飞利浦和索尼
3、公司共同推出。PCM 的音频格式也被 DVD-A 所采用,它支持立体声和 5.1 环绕声,1999 年由DVD 讨论会发布和推出的。PCM 的采样精度从 14bit 发展到 16bit、18bit、20bit 直到 24bit;采样频率从 44.1kHz发展到 192kHz。到目前为止 PCM 这种单纯依赖提高采样规格的技术,其可改进的地方已经越来越来小。只是简单的增加 PCM 比特率和采样率,不能从底层改善它的根本问题。2. Microsoft ADPCMAdaptive Differential Pulse Code Modulation,自适应差分脉码调制信号。是一种数据压缩算法,该算法
4、利用了语音信号样点间的相关性,并针对语音信号的非平稳特点,使用了自适应预测和自适应量化。即对不同水平的差分序列,用一个相应参数 delta 作为平稳化参数去除差分序列的幅值,使得差分编码自动的适应数据间大幅度的跳跃。Microsoft ADPCM 是微软标准的 WAV 格式文件采用 ADPCM 编码的文件,区分于 IMA ADPCM 文件。MS-ADPCM 编码是分块的,每块有块头信息和编码数据。对单声道信号,每块由 7 个字节组成,byte0 是块预测器 predictor,byte1-2 是初始 delta,byte3-4和 byte5-6 分别是两个采样。23. ITU G.711 a-
5、law 3G.711 标准也是 PCM 码的一种。是国际电报联盟(International Telegraph Union, ITU)订定出来的一套语音压缩标准,主要用于电话。它主要用脉冲编码调制对音频采样,采样率为 8kHz。它利用一个 64kbit/s 未压缩通道传输语音讯号。起压缩率为 1:2,即把 16位数据压缩成 8 位。G.711 是主流的波形声音编解码器。G.711 标准下主要有两种压缩算法。一种是?-law algorithm (又称 -law),主要运用于北美和日本;另一种就是 a-law algorithm,主要运用于欧洲和世界其他地区。其中,a-law 是特别设计用来方
6、便计算机处理的。4. ITU G.711 -lawG.711 标准下的另一种压缩算法,主要运用于北美和日本,美国电话格式(CCITT G.711)就采用这种算法。5. IMA ADPCMIMA 是 ADPCM 中使用较多的一种算法。该算法中对量化步长的调整使用了简单的查表方法,对于一个输入的 PCM 值 X(n),将其与前一时刻的 X(n-1)预测值做差值得到 d(n),然后根据当前的量化步长对 d(n)进行编码,再用此 sample 点的编码值调整量化步长,同时还要得到当前 sample 点的预测值供下一 sample 点编码使用。通过此算法可将样点编码成 4bit 的码流,一个符号位和三个
7、幅度位。该算法较简单,通过查表简化了运算。编码后采用 WAV 文件格式,对编码后的数据流进行了包装,由文件头和数据码流组成,文件头和标准 WAV 格式文件一样,指出了音频数据所采用格式、采样率、比特率、块长度、比特数及声道数等信息。数据码流以块为单位,块头指出了该块起始的预测值和 index 值,码流中每 byte 的高四位和低四位分别对应一个 PCM。当前该算法以其简单实用的特点广泛应用到数字音乐盒和数字录音笔中。6. ITU G.723 ADPCM (Yamaha)G.723 是 ITU 在 1996 年制订成型的一种多媒体语音编解码标准。其典型应用包括 VoIP 服务、 H.324 视频
8、电话、无线电话、数字卫星系统、数电倍增设备(DCME)、公共交换电话网(PSTN)、ISDN 及各种多媒体语音信息产品。 G.723 标准传输码率有 5.3kbit/s 和 6.3kbit/s 两种,在编程过程中可随时切换。该标准主要包含了编码算法和解码算法。原理是:从采集的语音信号中解析出声道模型参数,构造一个合成滤波器,采用合适的激励源激励,编码传输的参数主要是激励源与合成滤波器的参数。 5.3kbit/s 的编码器采用代数码线预测激励(ACELP);6.3kb/s 的编码器则采用多脉冲最大似然量化(MP-MLQ) 激励。根据传输编码参数,可重构激励源与合成滤波器进行解码 ,还原出来的数字
9、语音信号经 D/A 转换器转换成模拟语音信号。G.723 算法对语音信号有很好的编解码效果,同时也可处理音乐和其它声音信号,典型输入是 64kb/s(8k8)或 128kbit/s(8k16)的 A-law 或 -law 的 PCM 采样语音信号。每次处理一帧语音信号,每帧 240 个采样点(30ms) 。在 5.3kbit/s 的码率下,每帧语音被压缩成20 个字节传输;在 6.3kbit/s 的码率下,每帧语音被压缩成 24 个字节传输。7. GSM 6.10 4是我们熟知的全球移动通讯系统(Global System for Mobile communications)定义的一种音频编解
10、码标准。广泛应用于无线通信设备如手机、无线通讯终端中。音频信号被压缩至介于 5.6kbit/s 和 13kbit/s 之间,这两种码率被分别叫做半率(Half Rate)和全率(Full Rate),最初大部分只有这两种码率的编码。编码基于线性预测编码算法(Linear Predictive Coding, LPC)。GSM 6.10 除了在比特率上有很出色的表现外,这种编码的音频信号在空气信道中传输有着高保真度,因此广泛使用在无线通信设备的语音信号中。在 1997 年,GSM 进一步开发出了一种增强型全率编解码器(Enhanced Full Rate, EFR),这种编码码流比特率为 12.
11、2kbit/s。8. ITU G.721 ADPCM 5G.721 是 ITU-T 定义的一组标准协议组 G.7xx 其中之一,指的是 32kbit/s 的自适应差分脉冲编码调制(ADPCM)。除去上面介绍的三种,此协议组的其他码流标准如下:G.722 64 kb/s 下的 7 kHz 音频编码G.722.1 带有低帧损耗的具有免提操作的系统在 24kbit/s 和 32kbit/s 上的编码 G.722.2 利用自适应多频率宽带(AMR-WB) 以 16kbit/s 多频率语音编码G.726 40, 32, 24, 16kbit/s 自适应差分脉冲编码调制(ADPCM)G.727 5, 4,
12、 3 和 2bit/s 嵌入式自适应差分脉冲编码调制 (ADPCM)G.728 利用低延迟代码线性预测以 16 bit/s 进行语音编码G.729 利用共扼结构代数激励编码线性预测(CS-ACELP)以 8bit/s 进行语音编码9. MPEGMoving Pictures Experts Group,动态图像专家组。MPEG 是世界上最为著名的一种音视频压缩标准之一。MPEG 标准主要有以下五个,MPEG-1、MPEG-2、MPEG-4、MPEG-7 及 MPEG-21 等。该专家组建于 1988 年,专门负责为 CD 建立视频和音频标准,而成员都是为视频、音频及系统领域的技术专家。及后,他
13、们成功将声音和影像的记录脱离了传统的模拟方式,建立了 ISO/IEC1172 压缩编码标准,并制定出 MPEG-格式,令视听传播方面进入了数码化时代。因此,大家现时泛指的 MPEG-X 版本,就是由 ISO(International Organization for Standardization)所制定而发布的视频、音频、数据的压缩标准。MPEG 标准的视频压缩编码技术主要利用了具有运动补偿的帧间压缩编码技术以减小时间冗余度,利用 DCT 技术以减小图像的空间冗余度,利用熵编码则在信息表示方面减小了统计冗余度。这几种技术的综合运用,大大增强了压缩性能。我们熟知的 MP3 格式的音频文件,就
14、是 MPEG-1 layer3 的缩写。10. Experimental称为实验性音频。专门用来作音频信号处理的研究开发工作,主要包括优化压缩算法提高压缩效率的工作。这种类型的压缩码流基本不被主流解码器支持,只在一些音频专家和发烧友的实验室里能够流畅的播放出来。Compression code 信息在 WAV 文件字段的第 21、22 个 byte,通过十六进制查看器我们可以看到一个 WAV 文件的压缩码类型。对应关系如下表:Code Description 0 (0x0000) Unknown 1 (0x0001) PCM/uncompressed 2 (0x0002) Microsoft
15、ADPCM 6 (0x0006) ITU G.711 a-law 7 (0x0007) ITU G.711 -law 17 (0x0011) IMA ADPCM 20 (0x0016) ITU G.723 ADPCM (Yamaha) 49 (0x0031) GSM 6.10 64 (0x0040) ITU G.721 ADPCM 80 (0x0050) MPEG 65,536 (0xFFFF) Experimental参考资料:1. Microsoft WAV datasheet2. Microsoft ADPCM wikihttp:/wiki.multimedia.cx/index.php?title=Microsoft_ADPCM3. ITU reference literature4. http:/www.wikipedia.org/5. http:/ Microsoft ADPCM 编码解码算法实现http:/