- 54
- 0
- 约2.12万字
- 约 21页
- 2020-09-05 发布于广东
- 举报
Microsoft ADPCM 编码解码算法
因为种种原因,最近需要把原始的wav文件压缩成ADPCM格式。但是
网上几乎搜不到相关的中文资料。花了相当长的时间,七拼八凑的从一
些文章中得到了些信息,终于搞定了它。为了方便遇到跟我一样麻烦的
人,我决定把它详细的写下来。
1. 关于DPCM
DPCM是differential pulse code modulation 的缩写,也就是差分脉冲编码
调制的意思。他的主要思想是通过已知的数据预测下一个数据,然后传
递预测值与实际值之间的差值。具体的细节可以在很多信号处理相关的
书上找到。
一般的DPCM编码器都是采用的线性预测。假设传递的数据是
X 1,X2,...Xn,而下一个数据,Xn+ 1还是未知。可以通过前面的
X 1,X2,...Xn 的加权和来预测Xn+ 1,也就是
Xn+ 1 ∑(Ai*Xi),其中i属于1...n
为了简化计算,大部分编码的实现只取前两项,也就是,
Xn+ 1 a*Xn + b*Xn-1, 现在,最主要的事情就是如何对a,b进行取值,
才能使得Xn+ 1的误差最小。
如果假设 x~i 是预测值,xi是实际值,那么,∑(x~i-xi)^2
原创力文档

文档评论(0)