Help - Search - Members - Calendar
Full Version: IMA ADPCM
Hydrogenaudio Forums > Lossy Audio Compression > Other Lossy Codecs
memomai
someone ever tried out the Microsoft's built in IMA ADPCM codec? The highest quality gives about 354 kbps in stereo at 44.1 khz.

I couldn't say if it's bad or not, I just encoded some music with it... not that bad.....
Could it be competitive with wavpack lossy? why? or why not?

Someone knows where to download the newest one of it? I think my codec is of 1996 biggrin.gif
kjoonlee
ADPCM is a bit like 256 colour bitmaps; the storage is uncompressed, but you lose quality during the conversion.

It would be much better to actually use compression, IMHO. (Judging from the bitrate, I'd say it's 44.1 kHz 4 bit stereo at 352.8 kbps.)
JDogg
I think the codec works by breaking the sound up into frames, identifying the 16 most statistically significant amplitude levels (which is where the 4-bit comes from) within each frame, and dithering the audio down to those 16 levels. There is some overhead for defining the "palettes" which makes the overall compression ratio slightly less than 4:1.

There are no real psychoacoustics involved, just a reduction in signal to noise ratio. IMO the sound quality lies somewhere between 8 bit PCM and 8 bit companded (a-law/mu-law). If you want to hear its flaws, concentrate on background hiss - it's probably the only artifact the codec has (but it's a significant one).

Its only real advantage is it's a simple and fast codec. Even some el-cheapo MP3 players can record in it.

QUOTE(memomai @ Jun 22 2007, 23:44) *
Someone knows where to download the newest one of it? I think my codec is of 1996 biggrin.gif

I doubt you'll find a newer version of it. The version you've got it most likely only there for legacy purposes. Since there's no psychoacoustics or data compression involved, there's no room to tweak the sound quality or reduce the bit rate. The version you've got is, effectively, perfect!

Dunno how it compares to Wavpack lossy (never tried it). I'd imagine Wavpack would outperform ADPCM.
SebastianG
QUOTE(JDogg @ Jun 23 2007, 05:33) *

I think the codec works by breaking the sound up into frames, identifying the 16 most statistically significant amplitude levels (which is where the 4-bit comes from) within each frame, and dithering the audio down to those 16 levels. There is some overhead for defining the "palettes" which makes the overall compression ratio slightly less than 4:1.

Except you forgot the D in ADPCM for differential.

QUOTE(JDogg @ Jun 23 2007, 05:33) *

Dunno how it compares to Wavpack lossy (never tried it). I'd imagine Wavpack would outperform ADPCM.


The obvious difference is that this IMA ADPCM thingy is intrinsically CBR whereas WavPack can do VBR which is a good thing. Also, WavPack includes better prediction methods compared to differential coding used in ADPCM and some clever entropy coding. So, from a format standpoint, WavPack is superior in terms of the quality-per-bit-ratio. Note that I'm not comparing encoders but just the formats themselves. If you run the available WavPack encoder in CBR mode you should get results at least as good as the IMA ADPCM versions (at the same bitrate) unless your IMA ADPCM encoder does a far better job on noise shaping than WavPack (very unlikely).

En-/decoding of IMA ADPCM however is a really easy to do. It works on very short blocks and has sort of a "low encoder/decoder delay" advantage. But this isn't really a plus under "normal" circumstances.

Cheers!
SG
bryant
Well, I'll just add a couple things to what's been said. I tested the IMI ADPCM encoder that comes with CoolEdit2000 and it results in about 10-12 dB more noise than WavPack lossy at the same bitrate. Or, put a different way, at about 2.5 bits/sample WavPack lossy achieves the same S/N as IMI at 4 bits/sample. The version I tested produced flat quantization noise.

The major reason that WavPack can do better is that it is not restricted to exactly 4 bits for every sample. Using a fixed number of bits per sample is convenient to implement, but is very inefficient for audio coding because for any given sample some numerical values are much more likely than others. WavPack lossy (and all lossless compressors) take advantage of this with variable length bit coding (in the WavPack case a sample can be represented by as few as 1.5 bits or way over 16, depending on the value).

Less significant sources of WavPack advantage are the more accurate prediction (as Sebastian mentioned) and joint stereo. And although it does not now, in the future WavPack could also take advantage of true VBR modes (as Sebastian also points out).
Woodinville
Perhaps a trip to Jayant and Noll's "Waveform Coding" would clear up a lot here?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.