Digital Digest
  • About the Author
  • Email
  • Disclaimer
  • Essential Links
  • Essential Tools
  • Ethics, Piracy & Philosophy
    Convert DVDs with Flask Mpeg
  • Extracting the DVD
  • Using FlasK Mpeg
  • Resizing in Flask
  • Convert DVDs with Mpeg2avi
  • Extracting the DVD
  • Using Mpeg2avi
  • Resizing in Mpeg2avi
  • Advanced DVD Conversion
    Convert DVDs with DVD2AVI
    Nandub SBC Encoding
  • Using Nandub
  • Using DivX 4.0
  • Audio / Video Editing
    Advanced VirtualDub
    Digital Video Capture
  • Video Capture: Part 1
  • Special FX Tutorials
  • Morphing Buffy Style
  • Star Wars LightSaber Effects
  • The Exorcist Effect
  • Other Video Formats
    VCD & SVCD Guides
  • DVD to VCD
  • AVI to VCD
  • Multimedia Guides
  • DivX with Subtitles
  • Mutilanguage DivX
  • Multimedia DivX Pt 1
  • Multimedia DivX Pt 2
  • Appendix / Tips
  • Aspect Ratio's
  • Resizing DVD's
  • DivX Quality Guide
  • Bicubic vs Bilinear Resizing
  • Deinterlace Method Test
  • Video Comparisons
  • WM8 Quality
  • Basic DVD Structure
  • NTSC / PAL & Interlace
  • AVI 4GB Limit
  • Key Frames & Delta
  • Monitor Setup Guide
  • FAQ's
  • Questions Answered
  • Downloadable PDF Guides
  • Glossary
  • Word Definitions
  • My Guides Translated
  • Go Here
  • Keyframes & Delta Frames Explained

    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 ASF’s and some of the early DivX movies were made almost completely like this. The only problem with this method is that you couldn’t select where you wanted to watch the movie from. You couldn’t, 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 it’s 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