Though fixing poorly shot consumer video is helpful, it’s not a vision that makes venture capitalists salivate, or one that pays the freight for multiple PhD’s in mathematics and computer science. By far the most potentially lucrative application of PelKinetics, and the most technically interesting, relates to MPEG-4 compression. Understanding this potential requires a short course in compression, most specifically, inter-frame compression.

Briefly, all advanced video compression technologies use two types of compression, inter-frame and intra-frame. Though intra-frame compression tends to get all the press, courtesy of cool names like wavelets and fractals, inter-frame compression carries most of the load, performing the vast bulk of the overall compression task.

The effectiveness of inter-frame compression is why talking head videos typically compress at much better quality than higher motion videos. If you’re encoding a newscaster, the encoder can basically say “use all the information in the previous frame except change the lips from here to there.” This is much more efficient than a high motion video with constant inter-frame changes where each new frame must be described almost from scratch.

Accordingly, job one for inter-frame compression is to eliminate redundancy between frames. The basic unit of inter-frame compression is a 16×16 block of pixels known as a macro-block to compare frames or sequences of frames. If there is no change, the encoder inserts a code that essentially says “display the same pixel block from the previous frame” which is much more efficient than re-describing the pixel block using intra-frame technologies. This process is shown in Figure 16, a video taken on a merry go round.

Figure 16.  Searching for identical macro-blocks between frames.

When searching for redundancies, the encoder isn’t limited to looking at the same block address between frames. When we talk about an encoder searching, we’re describing the range of pixel blocks in the video it can examine to find a match. A smart encoder looking at Figure 16 wouldn’t have to work that hard to find a match of the little girl’s face, since it’s only one pixel block over in frame 2.

Interestingly, the ability to search extensively is one reason that inexpensive MPEG-2 software encoders that don’t need to operate in real time often produced higher quality video than expensive real time hardware solutions. Software encoders can search every possible block location for a match, while hardware encoders, forced to work in real time, usually restrict their search. Software encoders find more redundancies, which translates directly into higher quality.