Bob Currier, Synthetic Aperture
Another new codec has stepped up to challenge the dominance of Cinepak and Indeo. Motion Pixels, from the company of the same name, offers a different approach, giving up some cross-platform generality to focus on a specific market: the Intel-based game.
Motion Pixels (MP) provides two ways of delivering compressed video: a DOS-based player which eschews all the performance-sapping complexity of Windows, and a Video for Windows compatible codec for use with Motion Pixel compressed AVI files. Many game developers still resist developing under Windows because of the performance limitations, providing a market for the DOS-based product.
The MP product consists of a compression program, a player, and a Video for Windows codec. The compression program can be used to create either movies for DOS playback (MVI files) or standard Video for Windows movies (AVI files). In addition to compression, this program can do chroma keying and adjust the "gamma" of the image. The MP codec is also compatible with programs like Premiere or VidCap.
The player program runs as a DOS program under Windows and is used to play Motion Pixels proprietary MVI movies. It offers a wide selection of playback options, providing many resizing options, including 4- and 9 times enlargement, 256 to 64K color playback, and support for screen resolutions from 320 x 200 to 1024 x 768. The player gets its performance by its direct access to the video hardware. It supports a variety of common video boards, as well as VESA drivers. There is a complete API allowing access to all functions from within your own program.
The codec itself is asymmetric--it spends more time in the compression process to speed up the decompression side--and relies on subsampling the color space and interframe compression to achieve its data reduction. The underlying algorithm is not discussed in any of the literature that accompanies MP, making it difficult to predict the behavior of the product, or to know where to probe for "weak spots."
Unlike Cinepak, which aspires to be a "push the button" codec, MP gives you control over many compression parameters. Five sliders, five radio buttons, and two check boxes in the codec's compression settings seem a bit overwhelming at first. And the lack of any real description of the controls and how they interact means that you have to learn through experimentation. Interestingly, though, the range on the controls seems constrained such that you can't produce really bad looking results. Some results are better than others, and the data rate may not be what you want, but the visual results are never unwatchable. This is quite different from other codecs which offer numerous controls, such as TrueMotion-S, where the precise setting of controls is essential to get good results, and improper settings yield useless mush.
MP allows you to determine what kind of color subsampling to use, ranging from full RGB with no subsampling, to YCrCb 4:2:2 sampling--where the two chrominance channels are sampled half as often as the luminance--all the way to 16:1:1 subsampling. By reducing the color resolution to such a great degree, a high level of compression can be achieved.
Controls allow you to set a number of interframe parameters, such as edge resolution and color distance settings. The changes these yield in the final output can be subtle, but if you invest the time to tweak them, the difference from the default settings can be well worth the effort, mainly in eliminating color banding and noise along edges.
I started my evaluation of the codec by getting out my standard "torture test" source material: a series of clips with lots of motion, fine image detail, and many saturated colors. This is the sort of material which stresses most codecs, either leading to objectionable image degradation or high data rates. My interest was in creating content for 2x or 4x CD ROM playback from recorded live-action video sources.
The first sample was created at a frame size of 240 x 180 pixels at 10 frames per second. Both Cinepak and Indeo can easily compress this to 2x CD-ROM rates with good image quality. Using the default MP settings, I was able to generate equivalent results, with an average data rate of 151 KB/second, well within the capabilities of a 2x CD-ROM drive. After spending some time tweaking the compression settings, I was able to reduce the data rate to 114 KB/s, which would be usable on a 1x CD-ROM drive.
But what did the image look like, you ask? Quite good, actually. Colors were true, edge detail was crisp, and there was a noticeable lack of the "sparkle" so common to Cinepak compressed video, even among the moving tree leaves in the background. Large areas of flat colors, such as sky, tended to have some quantization banding, although this could be reduced by adjusting the compressor controls, at the expense of a higher data rate. Using the default setting, which uses 16:1:1 color subsampling, there was some smearing of colors at edges but, again, this was controllable and not objectionable at its worst.
Next I used a larger, 320 x 240 15 fps, clip. Using the default settings yielded a data rate of 521 KB/second, well above the capability of a 2x CD-ROM and pushing up against the limits of a 4x CD-ROM. Tweaking of the controls reduced the rate to 464 KB, which is still the domain of 4x drives. The documentation makes several references to 320 x 240 as being a "large" frame size, leading me to believe that this is larger than they intend the codec to be used with. Since the MP player provides several image enlargement options, so-called "full screen" images are possible at 2x CD-ROM rates, albeit by scaling rather than by using full resolution.
The codec does provide one way of dealing with large frame sizes with lower data rates. Using a feature it calls "single field," MP provides a way of cutting the vertical resolution in half by simply skipping every other scan line. On playback every other line is displayed as a black line, a technique also used seen in the TrueMotion-S codec. If the brightness of the source material is adjusted to compensate for these black lines, the results can be surprisingly acceptable. However, this technique seems to evoke strong responses from viewers; some see no problem with it while others see it as "cheating" or find it hard to watch. Using this technique on the 320 x 240 clip yielded a data rate of 266 KB/second.
I did my compression on a 120 MHz Pentium system. Compression time for the 240 x 180 frames was approximately 1.6 seconds per frame. Changing the compression settings affected this only slightly. Compression time for the 320 x 240 frames was around 3.1 seconds per frame. For the 15 fps, 30 second clip I was compressing, total time was 24 minutes, not quite twice as fast as Cinepak.
The lack of "sparkles" yielded good results with talking head footage. This can really help in applications where the video is being matted into computer-generated backgrounds--a common technique in many games- where any sparkles can spoil the illusion. MP also did not exhibit the "shifting" at key frames that can be seen in static backgrounds compressed with Indeo 3.2.
The MP codec is well suited to the game market. The choice of DOS or Windows hosting, the many playback options and performance of the DOS version, and the high-quality output make it well worth investigating. And since the codec can be included with the game, the problem of using a "non-standard" codec is not an issue.
However, Motion Pixels is not the only company to see the value of the gaming market. Intel is aiming their Indeo Video Interactive squarely at this market, and Microsoft is putting a big push on to convert game makers to Windows developers. And the lack of a QuickTime-compatible codec limits the cross-platform possibilities. But for high image quality for PC based CD-ROM playback, Motion Pixels looks like a contender. A demonstration copy of Motion Pixels may be downloaded from http://www.motionpixels.com/.
Bob Currier is President of Synthetic Aperture, a multimedia production company specializing in digital video and QuickTime VR. He also serves as Sysop of the Macintosh Multimedia Forum on CompuServe.
He can be reached at firstname.lastname@example.org. Be sure to visit the Synthetic Aperture web site at <http://www.synthetic-ap.com/> for more tutorial information, sample content, and information on new media services.
This article orignally appeared in a slightly different form in the July 26, 1996 issue of TV Technology magazine.
Tips & Articles | About Us | What's New | Press Room