Welcome Guest ( Log In | Register )

Can someone explain Bit reservoir for me?
post Jan 29 2013, 17:04
Post #1

Group: Members
Posts: 43
Joined: 22-December 09
Member No.: 76233

I try to struggle to understand what this does. I am relatively new on this area


What does it do really? Does FLAC have Bit reservoir too?

Thanks in advance!
Go to the top of the page
+Quote Post
Start new topic
post Jan 30 2013, 05:25
Post #2

Group: Members
Posts: 959
Joined: 12-May 06
From: Colorado, USA
Member No.: 30694

FLAC doesn't have it because it's not part of the spec for FLAC. It's an MPEG audio thing (MP3, AAC).

It's not just for CBR, but that's where it's used the most, because you get the most benefit there.

Since you've already seen the wiki article, I'm not sure how we can explain it any more simply, but I'll try.

An MP3 is segmented into frames, each one corresponding to the same amount (time-wise) of audio.
Each frame has a fixed size (data-wise), depending on its bitrate. You can think of it like different-sized hopper cars in a train. They only come in certain sizes (e.g. 320, 256, 224, 192 ...).
The audio data spit out by the encoder varies in size for each frame, because some sections of the music will just be simpler to encode and will compress better than others.
So, each hopper usually goes not-completely-filled, but occasionally some need to be overfilled.
If the file is going to be VBR, the bitrate can vary from frame to frame (different-sized hoppers can be used). That's usually sufficient to avoid wasting space in frames.
If the file is going to be CBR, though, the bitrate has to stay the same from frame to frame (the hoppers must be the same size), which pretty much ensures some space will be wasted.
Someone thought, "when a frame isn't filled up, why not use the leftover space to hold some of the data for the next frame?"
So every frame has a pointer that says how far back that frame's audio data really begins. This distance is the "reservoir".
It's like there's a reserve of space in the preceding frame(s) which can be used to overfill the current frame, if it ever needs it.
In effect, it's like a limited form of VBR. It lets some frames have more than their alotted amount of data.
The downside is that the reservoir can't grow very big, and once it's used up (by overfilling frames), it has to grow again.

This post has been edited by mjb2006: Jan 30 2013, 05:29
Go to the top of the page
+Quote Post

Posts in this topic

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:


RSS Lo-Fi Version Time is now: 27th May 2015 - 15:33