Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: WavPack Hybrid is bigger than lossless! (Read 4135 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

WavPack Hybrid is bigger than lossless!

I thought that it would be interesting to see how WavPack hybrid mode performs on low bitrate material, when using hybrid mode at a bitrate that approaches the bitrate that the material would normally compress to. 

I guess that it must cap each frame at a certain bitrate, rather than the entirety of the whole file, so that it works not as, say, 420 kb/s for each file, but for each frame within the file.

I have some material that is spoken word with soft music playing in the background.  It compresses to 420 kb/s with WavPack High Extra, but when I set it to compress in hybrid mode to High Extra -hb420x, the resulting file had a bitrate of 427 kb/s!

There was also an additional correction file that was about 10% of the size of the resulting file.  I figured that using hybrid mode on material that compressed easily like this would basically have the same results as just using lossless mode, but I guess I was wrong.

Could anyone provide details on why this is so?  Will this tendancy be improved or changed in the future by any chance?  Or am I just really taking the encoder out of its intended domain?


 

WavPack Hybrid is bigger than lossless!

Reply #2
Quote
Could anyone provide details on why this is so?  Will this tendancy be improved or changed in the future by any chance?  Or am I just really taking the encoder out of its intended domain?
[a href="index.php?act=findpost&pid=291743"][{POST_SNAPBACK}][/a]

Short answer: Yes. No. Yes. 

There are (at least) a couple factors that can make hybrid perform worse than pure lossless. The first is that hybrid mode uses a slightly different decorrelator than pure lossless, and this often causes some degradation in compression (although not in the quality of the lossy file, which I don't really understand). Anyway, you can try to use the "-cc" option to use the same decorrelator for the maximum compression in hybrid lossless. This can make a big difference in some files (maybe yours).

Another factor that could affect the "extra" mode is the fact that some decorrelation configurations that would work very well with a certain sample can't be used in hybrid mode because the added noise causes the decorrelator to become unstable. This was actually a bug that got fixed in version 4.1 and could affect compression in some samples.

Excluding these two factors, I find that the hybrid lossless mode costs generally 1%-3%, and at higher bitrates and with the "-cc" option it can often get well under 1%. (This is percentage of the original file, not the compressed files.)

BTW, the hybrid mode works on a sample by sample basis; there is no bit reservoir at all. For this reason, if you try to force the lossy mode to go lossless with a high bitrate, you have to specify quite a bit higher than the lossless bitrate (although the actual bitrate generated will not go up much past the lossless rate).

Hope this makes some sense... 

WavPack Hybrid is bigger than lossless!

Reply #3
kjoonlee:
I know that there's a bit of overhead using the lossy + correction mode, but I didn't think it was as much as it is.  I guess I was kind of surprised by this. 

bryant:
Okay, thanks for the info.  I have a better idea of how this works now.  The basic problem here is that under normal circumstances, people won't be compressing voice with a hybrid lossless codec, hence the notion that I'm taking the codec out of its domain.  Wouldn't a bit resevoir like this be useful for hybrid compression of classical or something though?  I could imagine that in one part of the song, it would be near-silent, and in another second, several instruments could suddently sound, resulting in a very complex sample.  You could then kind of average out the bitrates between the two parts.

Excuse my if I'm not making much sense... I don't understand the highly technical details of audio encoding and such.

WavPack Hybrid is bigger than lossless!

Reply #4
Quote
Okay, thanks for the info.  I have a better idea of how this works now.  The basic problem here is that under normal circumstances, people won't be compressing voice with a hybrid lossless codec, hence the notion that I'm taking the codec out of its domain.
[a href="index.php?act=findpost&pid=291983"][{POST_SNAPBACK}][/a]

No, I didn't mean that WavPack hybrid was not suitable for voice recording; I've used it for that myself. With 8000 Hz sampling it works well at 20 kbps.

What I meant was using hybrid mode at a bitrate so close to what you can get with lossless. What's the point of that, other than to just see how it works? If you're so close that you are going in and out of lossless mode on every other sample, why not just bite the bullet and do lossless? In fact, as Guruboolez has pointed out, for classical music and other material that compresses losslessly really well, the hybrid mode doesn't buy you much. It makes more sense on stuff that only compresses to 1000 kbps lossless, or stuff where you want the lossy version to be very small (like 256 kbps).

BTW, did "-cc" get your file(s) closer to the lossless size?