Analysis Method

For these reviews, I relied heavily on a single video clip: the first 1:40 of chapter 4 of Beyond the Mind's Eye (DVD version). This video clip has all the elements necessary to challenge an MPEG encoder: many black/white edges, sections of very high motion, sections where the entire scene is changing nonlinearly, areas of fine detail, and sections with VHS-like noise from low-quality masters.

In each review, I include two to four full-size frame grabs that the reviewed product encoded at 3 Mbit/s (VBR where possible). Why 3 Mbit/s? Because any MPEG encoder can produce good full D1 MPEG video if given 8 Mbit/s to play with. 3 Mbit/s is aggressive enough to expose most any encoder's weaknesses, but not so aggressive that all result files look like crap.

For the hardware encoders, I encoded the entire 1:40 clip straight from the DVD. Some of the software encoders had time limits, so I created a 30-second subset AVI, beginning at around 0:12 from the beginning of the DVD track. (The AVI was created from a rip of the DVD's MPEG data.)

I include frame grabs of two reference frames in most reviews, or four for encoders that have variable quality level between nearby frames. I picked the two main reference frames because they were easy to find in the video stream, because they occur during high action, and because they usually reflect my overall feeling about each encoder after watching the output video. The other two reference frames are simply the frames following the two main reference frames. Keep in mind that most video is not as punishing as this short clip; these frame grabs are indicative of the worst possible output from these encoders.

For reference, here are the four reference frames grabbed from a rip of the original DVD:

Frame 0, Frame 1, Frame 2, Frame 3.

I also include an Excel 97/2000 spreadsheet showing the actual bitrate and quantization rate achieved over the entire clip. (The raw data was extracted from each clip with Teco Software's Bitrate Viewer.) The bitrate curve is fairly straightforward. The quantization information is more interesting: it indicates how much precision the encoder threw away for its DCT samples. Higher quantization means higher compression rates, but lower quality when the video is decoded. If two encoders are presented with the same input video and produce similar output bitrates, their relative encoding quality is indicated by the difference in the quantization curves. The lower curve indicates better decoded video.

Duplicating My Results

This is not expensive: at minimum, you'll just need the DVD version of Beyond the Mind's Eye, which as I write this has fallen to a mere US$10. (You'll also need a DVD player or a PC with a DVD-ROM drive, of course.) Beyond that, you'll need the freeware version of Bitrate Viewer to make non-printable bitrate/Q level graphs, or the registered version (about US$25) and a copy of Excel to make printable graphs.

AVI Method

If you've got an encoder that takes AVIs, you first need to rip the video off of the DVD. I used Smart Ripper to do this for several reasons: first, it can rip a single chapter instead of having to rip the entire disc like older rippers, and it lets you configure various ripping parameters. For Beyond the Minds Eye, you can turn off the CSS decryption, since this older disc isn't encrypted.

Now that you've got the Chapter 4 VOB file, you need to create a duplicate of my test AVI. If you use a different MPEG decompressor to make the AVI or a different codec, it will be harder for you to compare your results to mine. I used DVD2AVI to turn the DVD rip into an AVI. I used to use HuffYUV as my AVI codec since it's lossless, but I'm now using PICVideo MJPEG at its lowest loss setting. PICVideo MJPEG AVIs decompress much faster, so AVI decompression is now a smaller component of the total encode times. This makes the actual speeds of each encoder more apparent.

(By the way, before settling on MJPEG I also tried uncompressed RGB and YUV files. It turns out that the overhead of reading in and decompressing a 197 megabyte MJPEG file is a bit lower than reading in a 593 megabyte uncompressed YUY2 (4:2:2 YUV) file. I did this test with the files on my 1.2 GHz Athlon which has an IDE 2-disk RAID-0 array. I'm not sure if there is a machine where this test would result in the smaller MJPEG compressed file decoding slower than simply reading in an uncompressed YUY2 file. I also tested an uncompressed 24-bit RGB AVI file, but it was even slower than the HuffYUV AVI, partly because it's even bigger than the YUY2 file (887 MB!), and partly because MPEG compression requires 4:2:0 YUV input, so converting from 4:2:2 YUV (used in the YUY2 and MJPEG files) is less CPU-intensive than converting from 24-bit RGB.)

Encode the AVI to 3 Mbit/s, not including the audio track. There are two ways that encoders handle bit rate calculations: they either let you set the video and audio bit rates separately, or they let you set the total bit rate and let you pick the portion of that to give over to the audio stream. In other words, if you set the encoder to 3.0 Mbit/s with a 192 Kbit/s audio stream, you might end up with a 3.2 Mbit/s combined stream, or a 3.0 Mbit/s combined stream. Since Bitrate Viewer only reports the bit rate of the video stream, you can use that to ensure that you've hit 3.0 Mbit/s.

Prefer VBR modes to CBR, and if the encoder has multiple VBR modes, pick a CQ or "optimized Q" mode, if there is one.

Use DVD2AVI coupled with the VFAPI codec to make an AVI you can browse with VirtualDub. (I used to use Avisynth to make the browsable AVI, but that added some unnecessary variability to the process: whatever MPEG codec I had registered at the moment would be doing the decoding. Since I have several MPEG codecs on my system, there was a lot of variation in the decoded frames. Sticking to DVD2AVI is a more reliable method.) It's only necessary to use the VFAPI codec if DVD2AVI crashes when saving an AVI, as it does on my system. If you can go directly to an AVI instead of making a virtual AVI with the VFAPI codec, go ahead: you'll get identical results, and it's simpler.

To make the frame grabs within VirtualDub, browse to the desired frame and hit Ctrl-1 to send the current frame to the clipboard. Using a good paint program like Paint Shop Pro or Adobe Photoshop, paste that into a new picture and save it to a high-quality JPEG.

Video Method

This method is less accurate, because no two DVD players will send out identical signals. Chances are excellent that you don't have the DVD player I used. (For what it's worth, I used a Panasonic DVD-T2000.) If you have two encoders, one of which I reviewed and one which I didn't, I suggest encoding with both, so you can gauge how different your DVD player is from mine so you can factor that out in judging your results.

After setting up the cabling (always using the S-video connection), I just hit Play on the DVD player and started the encoder to capturing. I stopped after I got about 1:40 of video; this gets you about 12 seconds more material in front of that used in my from-AVI tests, and much more video after the AVI clip ends. The significance of the 1:40 point is simply that there's some other interesting material in this section of the DVD that ends at 1:40 into chapter 4. I didn't formally test the encoding results in these areas, so you may choose not to encode that far into the DVD.


Updated Mon Sep 22 2008 12:15 MDT Go back to MPEG Encoder Reviews Go to my home page