Hi,
I hope this isn't a dumb question... When discussing VBR SVCDs I see varying recommendations about the value of the "Minimum Bitrate." Some posts say leave it at 0, others say set it at 500, another says to set it at 1200. I understand the basic idea of how VBR intelligently allocates bits to scenes that need them (e.g. action scenes) but I have this question:
How does the encoder determine the bitrate to use for a given scene? In other words, if I set the minimum bitrate to be 500kbps, will the encoder actually use this bitrate for scenes with low motion? Seems like a scene encoded at 500 kbps would look reeeaaallly bad (low quality).
On the one hand people say a lower minimum bitrate produces best results because it allows for a bigger pool of bits to be allocated to high motion scenes that need them via the VBR algorithm. On the other hand, it seems to me that a higher minimum bitrate would produce better results because it would ensure that no scenes would ever be encoded below that rate.
What's the truth on this? What produces the best results? A low min bitrate or a high min bitrate?
Thanks, vcddude
+ Reply to Thread
Results 1 to 12 of 12
-
-
The answer depends on the type of VBR you use. If you use CQ mode, then the encoder has only a MIN, and MAX value. It will give any frame, as much, or as little bitrate as needed, to encode the frame. The only rule, is not to exceed either the MIN, or MAX values.
Your question is directed more towards MultiPass-VBR.
How does the encoder determine the bitrate to use for a given scene? In other words, if I set the minimum bitrate to be 500kbps, will the encoder actually use this bitrate for scenes with low motion? Seems like a scene encoded at 500 kbps would look reeeaaallly bad (low quality).
The process works like a checking account. As the encoder does the first pass using a MIN value of 500, it may find a frame that needs 700kb/s to encode (note that this is above the MIN value). Say the AVG setting is set to 1200, and the MAX is set to 2520. Since the frame only needs 700kb/s, the encoder can take those extra 500 kbits (1200-700=500kb), leaving the 700kb that the frame requires alone. It does this by finding the remaining bitrate after the frame has used what it requires. Subtracting the frames required bitrate (700), from the AVG value (1200-700=500kb) gives the 'available' kbits on that frame. This 500kb is put into the 'bank' as "available". When the encoder encounters a frame that has a bitrate need that is higher than the AVG setting (say a GOP needs the max kbits of 2520 due to alot of motion in this example), then it takes those all of those 'available' 500 kbits from the bank account, and applies them to that frame. In this example, it then has 0 kbits left to apply (the bank is empty), and our 2520kb frame still needs more (it got 500 kb from the bank, and added this to the AVG value of 1200, giving that frame 1700kb/s). It will NOT go back to the first frame we discussed to find more bits. It will continue to scan, until it finds other frames with 'available' bits that are not needed.
This is of course a very linear process. The encoder examines each frame to see if it has any available bits. When it completes it's first pass, it knows exactly how much extra bits it has 'available' to apply to frames that are 'needy'. It also knows exatly how many frames are needy. This part is important too, because the encoder has to 'balance the account' for the entire MPEG. It will use all of it's 'available' bitrate if possible. The reason for this is due to the AVG setting. In order to produce a file that is XXX in size, it must give back what it takes, to meet that AVG kb/s. That is how you can use the AVG to specify exactly how big your output will be. If the encoder didn't 'balance' the account, then the file would be too large, or too small. What it borrows, it gives back.
The AVG setting and the MAX setting affect how much bitrate is available to the entire MPEG, and where it can allocate 'available' bits. If your AVG or MAX setting is to low, then the entire MPEG would suffer as a result (In this case, think of a low AVG or low MAX setting as a sort of cap on quailty). The encoder would balance everything so the AVG bitrate met your AVG setting, even if this degrades your output. If the MAX is too low, it would not be able to apply 'available' bits beyond the MAX value. In this type of scenario, very few scenes would have excess ('available') bitrate, because the low AVG setting dictates the total overall available bitrate for the entire MPEG, and a low MAX setting limits where the encoder can give bitrate that it has marked as 'available'.
One final thing. I've been mostly talking about this on the FRAME level. In actuality, many encoders work on the GOP (group of pictures) level (at least on the first pass of a multipass run). CCE works at the frame level on any additional passes after the first. I don't know how the other encoders handle additional passes. A group of pictures (GOP) is made up of multiple frames. If a particular GOP has a bitrate need of 1700 kb/second, and the AVG setting is 2000 kb/second, then there would be 300 kb/second that could be applied to another GOP that needs more bitrate.Impossible to see the future is. The Dark Side clouds everything... -
In this case, the encoder would only drop to 500, ONLY if the scene required only 500 kb/s. If it required even less than 500, the encoder would stop at 500, going no lower.
thanks,
vcddude -
[quote="vcddude"]
In How does the encoder determine that a scene "requires only 500 kbps"?
It is the amount of change in the video from scene to scene (or GOP to GOP) that determines the bitrate required. High action/movement requires higher bitrate and static, low action shots require little. For a static scene the encoder will "draw" the video once and then not assign any more bits until the scene changes, thus the bitrate could in theory hit zero. Similarily, it can draw a scene and then if only part of a scene changes, it will assign more bits for only the part that changed, like in the credits for instance. In high action, everything is changing so a high bitrate is required.
As far as the minimum setting is concerned, some players (mine) do not like the bitrate to be too low, I set it at 300 with padding enabled just in case it wants to go lower. You should set it as low as possible."Art is making something out of nothing and selling it." - Frank Zappa -
The bitrate should never hit 0. The audio track is also present in the stream adding to the bitrate. You also have bitrate for every I-frame, and any motion from frame to frame. Even stray noise, which is present in everything but pure digital sources (think Monsters Inc, which has no noise.), will use up bitrate. The VBV circuit present in all DVD players also controls the outflow of bitrate to prevent buffer under-runs.
This is exactly what I am getting at. How does the encoder determine that a scene "requires only 500 kbps"? How is this required bitrate defined? Is it based on some computed quality-based criteria?Impossible to see the future is. The Dark Side clouds everything... -
The reason everyone suggests different lower values, is because of limited knowledge of the subject!
The story starts from VCD. It is 1150kb/s CBR.
Then CVD came. The commercial releases was 2400Kb/s multipass CBR
SVCD followed: The commercial releases was 2512kb/s multipassed CBR. (35min/ 74min CD).
Anyway, in short terms: For the SVCD indestry, any CD based video format can't go lower the VCD bitrate (1150kb/s).
In the real world, things are different: You can go for sure lower.
But is it worth it? And how lower?
Well, bad news. First of all, DVD standalones support what the commercial indestry points. And the Home material needs are minority. Don't forget most people turned DVD/2Hours now. They never bother with SVCD for example. And why to do it? DVD is far better! So, it is 1200 kb/s for them (~1150 for video).
Also, a still picture needs some kind of bitrate to remain OK in the screen. In practice, those values, are: For VCD about 600kb/s, for CVD about 1000kb/s, for SVCD about 1200kb/s and for DVD about 1800kb/s.
Also, that's the reason you never gonna see a DVB transmission less than 1500kb/s (352 X 576).
Not that it is impossible, or it is out of specifics, to go lower, but lower gonna harm picture quality. Expecially with TMPGenc encoder. With CCE for example, set whatever you want, it is almost a cosmetic thing. CCE gonna count what you set for average. The other values, counts only in close determinations (ps: 2300min- 2500ave - 3000max)
How the encoder calculate the bitrate?
The encoder gonna calclulate how plus or minus the average bitrate can turn, by using calculation technics which it is impossible to explain in a forum post. Let say that the calculation is bases on temporal changes and normalization. Next question what is temporal and what normalise. Trust me, it never ends! you need to read a lot for the subject. Accept the "Hot to" and don't dig lower. It will only confuse you.
Practical speaking, I can give a reason never go lower 1150.
Use a lower than 1150kb/s value and your drive gonna die sooner. Why? Because DVD drivers can spin lower than realtime VCD, but that's no good for them! And that explains why DVD standalones DIE when someone use them mainly for x(S)VCDs based on lower values than ~1000.
There are even reports for DVD standalones that they are able to play CDs but not DVDs any more. (Apex anyone?)
Personally, even if you use CQ never go lower 1000. I follow this rule and I have the same standalone 3 years now, with no problems on both CD/DVD media. I know people , with the same standalone but using "Lower" bitrates and had to excange twice the same period.
As you see, there are always things beyond "specifics".
And a practical advice: If you want to choose lower values, then choose those of the various CD speeds. 1X, 2X, 4X, etc. It helps that way a bit. -
SatStorm, this may sound like an attack and I apologize in advance if it does. Please consider it a difference of opinion, as I consider you to be an intelligent and thoughtful contributor here.
Anyway, in short terms: For the SVCD indestry, any CD based video format can't go lower the VCD bitrate (1150kb/s).
SVCD supports both, and also has no minimum value.
The encoder gonna calclulate how plus or minus the average bitrate can turn, by using calculation technics which it is impossible to explain in a forum post.
The only exception is when AVG = MIN, or AVG = MAX. With this configuration, it cannot borrow from one, to give to the other, becuase there is no swing from AVG on one side of the equation (effectively producing a CBR encode).
Practical speaking, I can give a reason never go lower 1150.
Use a lower than 1150kb/s value and your drive gonna die sooner. Why? Because DVD drivers can spin lower than realtime VCD, but that's no good for them! And that explains why DVD standalones DIE when someone use them mainly for x(S)VCDs based on lower values than ~1000.Impossible to see the future is. The Dark Side clouds everything... -
Originally Posted by DJRumpy"Art is making something out of nothing and selling it." - Frank Zappa
-
Wow, thanks for the detailed answers and the excellent ensuing discussion. You dudes rule and so does this site!
vcddude -
DJ, once again I didn't express myself fluently. It is not of course attack, and yes, now I read my post, it looks like it, so sorry. It wasn't my intention. It is the way I write: I translate from my native language to english. So expresions and some meaning ain't correct many times.
Example: I say "Full" when I mean "Loaded".
So sorry.
You know, I'm Greek. And you americans have a phrase: That's Greek for me. Well, I can say that trying to ... simplify greek to english (because greeks is a very complicated language) ain't easy. Expecially if you learned english from MTV europe, as I did. So sorry.
Now let me try clearify...
"Anyway, in short terms: For the SVCD indestry, any CD based video format can't go lower the VCD bitrate (1150kb/s).
"
You answer:
This is incorrect. The VCD format has a Maximum bitrate of 1150 (due to the original 1X drives). The VCD specification does not have a have a minimum bitrate that I'm aware of. VCD required only CBR values (MPEG-1 didn't support VBR encoding). It is common practive to have VCD's with less than the maximum (necessary to fit larger video onto a smaller number of discs).
SVCD supports both, and also has no minimum value.
Yes, okey, but you do a mistake: You think correct! Yes, thinking correct is a mistake! You know why? Because indenstry don't think correct. Indestry thinks specific. Thinks with average standards. So, for the stupid manufactor, mpeg 1 is only VCD and VCD is 1150kb/s. Who really cares if it can go lower in another form.
By the way, can you tell me another form of commercial video distribution beyond VCD, CVD, SVCD and DVD? I don't know any...
So, even if the specifications are flexible, those who control the indestry ain't. That's why many standalones don't support nothing beyond standard VCDs and SVCDs.
About how to cover the VBR subject: You can describe it, you can't analyse it in a simply post. Also, encoders have a different approach for the subject. CCE and TMPGenc do multipass VBR really different for example. I'm not talking for how to set the values and what to expect, that is easy to say. There are plenty posts for this subject. But to analyse how the encoding really happens, well if it was that easy people wouldn't have to study years for it...
Also, about DVD drivers, you answer
"I would also dispute this. If possible, I would like to see vendor, or consumer documentation of this problem, as this sounds more like a personal opinion...."
First of all I have to say that only an american would ask me something like that. The answer: There is no documention or anything. It is an objervation from various users. Do a forum search in 2000, while VCD and low xVCD was the hype (remember the xVCDs like KVCD, CVCD, SeVCD, etc) and you gonna see many reports for this subject. Or do a google/teoma search.
Also, even if we say "These drive motors are designed for variable speeds ranging from off, to full tilt on, and have been in use for years, long before DVD, or even CD though of using them", you talk from which ones? From those from quality manufactures, or those from low quality ones?
Because a DVD rom from China, to be cheap has a so low quality. Don't expect stuff like that from those. And about the 60% worldwide of the flexible and VCD/SVCD compatible DVD standalones comes from them.
Anyway, it is 1.51AM, I have to go to sleep... -
Make a test disc. If your player does not have any problems with VBR using a MIN below 1150 kbit/s then by all means use VBR MIN below 1150 kbit/s.
Some players drives have problems to playback at a CD speed below 1x and above 2x. That's why it's safer to use a VBR MIN that won't give a CD speed below 1x. If your audio data rate is below 224 kbit/s then your min vide data rate should be higher than 1150 kbit/s to allow a minimum rotation speed of 1x.
The SVCD standard does not say anything about a minimum bitrate but when some manufacturers have been using bad quality drives this has resulted in a practise of using 1 x speed as minimum when making most compatible SVCD discs.
The same think could be said about the maximum data rate. If your drive speed in your player is higher than 2x then you can XSVCD with bitrates above the standard. But the disc is less compatible because fewer players can play them without problems.Ronny -
LOL SatStorm, I was implying that I didn't want you to think that I was attacking YOU.
No worries. It's all just chatter anyway...
Impossible to see the future is. The Dark Side clouds everything...
Similar Threads
-
How to determine if a mkv / avi / whatever file is constant or avg bitrate?
By smackyourfupa in forum Newbie / General discussionsReplies: 3Last Post: 8th Oct 2011, 05:26 -
ways to determine the bitrate of your dvd to xvid or h264 encodes
By codemaster in forum DVD RippingReplies: 2Last Post: 21st Sep 2011, 21:25 -
windows media encoder vbr mode
By river3 in forum Video ConversionReplies: 1Last Post: 23rd Mar 2010, 11:07 -
Determine best bitrate for a given resolution
By cd090580 in forum Newbie / General discussionsReplies: 7Last Post: 29th Oct 2008, 16:32 -
tool to determine video bitrate of a recorded DVD
By perfection in forum Newbie / General discussionsReplies: 2Last Post: 31st May 2008, 10:46