This article is from the MPEG FAQ, by Frank Gadegast phade@cs.tu-berlin.de with numerous contributions by others.
Since bi-directional macroblock predictions are an average of two
macroblock areas, noise is reduced at low bit rates (like a 3-D filter,
if you will). At nominal MPEG-1 video (352 x 240 x 30, 1.15 Mbit/sec)
rates, it is said that B-frames improves SNR by as much as 2 dB. (0.5
dB gain is usually considered worth-while in MPEG). However, at higher
bit rates, B- frames become less useful since they inherently do not
contribute to the progressive refinement of an image sequence (i.e.
not used as prediction by subsequent coded frames). Regardless,
B-frames are still politically controversial.
B pictures are interpolative in two ways: 1. predictions in the
bi-directional macroblocks are an average from block areas of two
pictures 2. B pictures "fill in" like a digital spackle the immediate
3-D video signal without contributing to the overall signal quality
beyond that immediate point in time. In other words, a B picture,
regardless of its internal make-up of macroblock types, has a life
limited only to itself. As mentioned before, B picture energy does not
propagate into other frames. In a sense, bits spent on B pictures are
wasted.
 
Continue to: