Re: QDMC progress, updated

Mike Melanson <[email protected]>
Newsgroups gmane.comp.video.xine.codec.devel
Message-ID <[email protected]>
On Tue, 16 Dec 2003, Benjamin Larsson wrote:

> Guess I updated to soon, I finally have some information about what 
> technique is used inside QDMC. This image is a psd taken from a 
> wav->mu-law->wav file:
> 
> http://tranquillity.campus.luth.se/~banan/qdmc/PICS/ulawpsd.jpg
> 
> And if you compare the psd with the one in the pdf the similarity is 
> striking.
> I'm not sure of the reduction this gives, I think its 2:1 (16->8 bits). 

	Per my limited understanding of logarithmic PCM, this is true.

> My current
> guess for a decoder is this:
> 
> calculate checksum -> ????? -> ifft -> mu-law -> wav

	Hmm...so you propose that the decoder converts linear PCM -> log
PCM and then does the compression? I wish I knew enough about DSP to judge
whether that made any sense.

	However, a small problem with your hypothetical flow: I know that
at the end of the QDM* decoder, there is a standard "clamper" function,
the one that converts an array of single-precision floats to signed 16-bit
numbers. I don't have my notes right now, but it's an easy function to
spot.

> If one take a minute and remember the computing power that was availible 
> in 96-97, theise
> kind of techniques makes good sense. And the knowledge of compression 
> wasn't as great as it is now.
> That and the fact that LBpack (QDMC?) was most likely created by one 
> person indicates that the whole
> format is not so complicated. (I hope)

	I once dug into Quicktime.qts and mapped out (what I think was)
the call tree for the QDM* decoder (apparently, QDMC and QDM2 are handled
by the same section of code). It was big; no, huge. Conceptually, it might
be simple (if once understands the right theoretical background), but
there are probably a lot of little details. There were also gargantuan
functions that looked a lot like compiler-unrolled loops (lots of
floating point ops, so possibly an iFFT).

	BTW, good detective work.
--
	-Mike Melanson



-------------------------------------------------------
This SF.net email is sponsored by: IBM Linux Tutorials.
Become an expert in LINUX or just sharpen your skills.  Sign up for IBM's
Free Linux Tutorials.  Learn everything from the bash shell to sys admin.
Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.