Hello again. I discovered a disappointing, to me, bug in j2kaudio/libjasper today while I
was
working on 32-bit audio support.
My previous holy-grail-looking lossless audio compression test results were incorrect. I
was
passing rate=1 to the JasPer JPEG 2000 encoder, which was not performing lossless
compression, but
slightly lossy compression. I actually do not know what it was doing because the behavior
I was
getting is somewhat undocumented. I could not differentiate the quality by ear; everything
sounded
perfect to me. I only discovered this when I had to do sample by sample checks for
accuracy and I
found that they were very close, but not exactly the same. The results matched exactly
when I left
rate= out of the encoder options entirely, but the resulting file size increased. I will
post a
question to the jasper email list to find out what rate=1 should be doing and why it does
not
match omitting the rate.
The new lossless results from my test song are:
la - 65.5%
ofr - 66.3%
ma - 66.9%
lpac - 69%
flac - 70.2%
shorten - 75.2%
j2kaudio - 76.6% (dead last)
bzip2 - 96.7%
gzip - 97.1%
Thank you again for all of your feedback and input. I apologize for getting anyone's
hopes up and
for not performing a sample-by-sample check at the integer level sooner.
For now, I think I have proved and improved the concept, but I conclude that even though
it
outperforms file compressors, other lossless and lossy audio compressors are superior for
audio
data.
Updated tables and information:
http://geocities.com/hildstrom/projects/j2kaudio
Thanks. -Greg
Gregory Alan Hildstrom
Secure Systems Engineer - Trusted Computer Solutions
trustedcs.com
ghildstrom(a)trustedcs.com
Software Engineer - Hildstrom Engineering
geocities.com/hildstrom
hildstrom(a)yahoo.com
Mobile:(210)413-6082
Fax:(210)599-0469
Office:(210)340-3151x117