The reasoning for 2-pass is not really necessary with VBR the way Lame
utilizes it, as it will just allocate as big a frame it needs to mask the
quantization noise. It might be beneficial to ABR (though I recall a Lame
developer describing 2-pass isn't necessary for ABR because it simply
allocates bits until the reservoir runs out and then takes a bigger frame,
or something like that, not terribly accurate anyway) but what I am aiming
at more specifically is the bit reservoir in general.
Simply put, the encoder would first encode the data to a specific quality
(VBR), without making use of the bit reservoir. Then after those results are
in, it just looks at where it could have best spent more bits and allocates
them more efficiently. Example:
Frame 1: Using 0, 150 bits free
Frame 2: Need 100, using 100, 50 bits free
Frame 3: Need 150, using 50
With a 2-pass, this could be overcome to have frame 2 use 60 bits and frame
3 use 90 bits (simplified).
Of course, this method I'm describing here is far from perfect. Instead of
using more bits from the reservoir, the encoder could also encode one with a
bigger frame (frame 3 for example) and simply use the remaining bits which
were otherwise used for that particular frame for the other (frame 2 in this
case). So a very smart algorithm needs to be come up with to have this done
efficiently. Thoughts?
-Youri
--
MP3 ENCODER mailing list archive is at:
http://www.mail-archive.com/mp3encoder%40minnie.cs.adfa.edu.au/