Image Processing Reference
We take for granted that Moore's Law automatically deals with increasing computa-
tional loads imposed by desire for more sophisticated software algorithms. Moore's
Law promised that processors would become faster at a steady rate over time, and the
predictions have been true for 25 years. We appear to have reached some kind of per-
formance boundary with the introduction of 90nm-chip manufacturing processes, and
further progress in CPU speeds may come from parallelization and distributed pro-
cessing techniques. Drawing circuits on silicon chips at nanometer resolutions has
always been a challenge, and while some marginal improvements will continue to be
made, new horizons are opening up with more efficient computer architectures and
greater parallelization. Computer manufacturers will continue to develop new solu-
tions to this, including totally new technologies based on biochips, quantum mechan-
ics, and optical computers. Those are many years in the future, though, and in the short
term, distributed processing across multiple processors looks to be the most promising
The meanings of the “B” and “P” are slightly altered, as are some of the restrictions placed
on them by earlier codecs. Previously, P-frames had to be derived from an I-frame. Now a
P-slice might be derived from a slice in a B-frame that had been transmitted earlier on.
B-slices are referred to as bi-predictive, not bi-directional, in the H.264 codec. B-frames
were bi-directional in the earlier MPEG-2 designs and could refer to just one frame earlier
or one frame later in the temporal sequence. The frames had to have been transmitted ear-
lier so they could be referred to, however. A macroblock in a B-slice may refer to one or two
reference pictures that must have already been decoded and therefore also must have been
transmitted already. They need not be from the adjacent frames in temporal order.
Figure 13-4 shows a frame whose macroblocks are composed of blocks that are ref-
erenced out of other frames. The intra macroblocks are local, the inter macroblocks are in
another frame, and some macroblocks are static and not changing.
Because the references to macroblocks in other frames are much more complex, it is
harder to accomplish closed GOP structures if you want to benefit from the highest levels
Figure 13-3 MPEG-2 macroblock references between frames.