All Mpeg movies are built out of 16 x 16 squares. To save
space the squares that are "almost identical" to the same squares in
the next frame of the movie are discarded. This makes a very high compression
ratio, because in a scene where two people are talking and not moving
very much the only squares that need to be copied across one frame to
the next are those around the mouth. But because only squares are carried
across from one frame to the next you do not have a complete picture,
just squares! For example, to view frame five you must load frame 1,
2, 3 & 4 and stick all the squares together to make frame 5! Many ASFs
and some of the early DivX movies were made almost completely like this.
The only problem with this method is that you couldnt select where
you wanted to watch the movie from. You couldnt, for example, watch
half a movie and then come back later and fast forward through to the
part where you left off. You had to watch it from the beginning! This
was because to fast forward Media Player (or any player) had to examine
EVERY frame before it could reconstruct the movie at the point you left
off!
(picture above) The top
row represents frames 1-5 in an uncompressed AVI file. Notice how
each frame is a complete frame. Now look at the frames below from
an Mpeg file. Frames 1 and 5 are Keyframes showing a complete picture,
but frames 2, 3 & 4 contain only the bits of information (delta
frames) that are different from the previous.
Here is where Keyframes come in! A keyframe is added
every so many seconds to keep track of the position of the movie.
It also provides a perfect picture on which the half frames (delta
frames) can be based. Mpeg encoding methods call keyframes I-Frames
or Intra-frames. The half-frames for mpeg come in two kinds: B-frames
or the backward frames and P-frames the predicted frames. This
sounds complicated but both do very similar things and are designed
to only store the difference between the frames in front and behind
the keyframe as small blocks.
Most compression software use 1 keyframe every 5
to 10 seconds. Because keyframes, as full pictures, hold so much
more information than partial frames they will increase the file
size quite a bit. So obviously the fewer you have the better the
compression. If you chop an mpeg file "in-between" keyframes the
player will not be able to reconstruct the movie frames until
it reaches the next keyframe frame in the list! Some smart mpeg
software are able to reconstruct the final keyframes from the
parts given and get around this problem, but you have to watch
out for those who don't.
VirtualDub can usually fix a film without keyframes
if its opened in repair mode, but it cannot yet cut in-between
keyframes. This means we must cut on the keyframe.
With this in mind is useful to know that, provided
you use the VirtualDub keyframe buttons to move forward and backward
around the parts of the film you intend to cut and join you cannot
possibly cut in-between a keyframe because you are moving only
by keyframe jumps =^)
Duplication of links or content is strictly
prohibited. (C) NICKY PAGE 2000