Horizon Technology's TrueMotion-S Codec

The codec wars are starting to heat up. New versions of Cinepak from Radius/SuperMac and Indeo from Intel promise new features and improved performance from these old favorites, but perhaps most interesting is news of a new codec from Horizon Technology, Inc. (HTI).

TrueMotion-S is a new software-only codec which builds on the original TrueMotion hardware-assisted codec from The Duck Corporation, originally developed for dedicated applications like the Sega game box. Because of the specialized compression hardware that was required, all video had to be compressed at a specific service bureau, limiting the market for the codec.

HTI has changed all that by providing software-only tools for compression and decompression under QuickTime on the Macintosh, and under both QuickTime for Windows and Video for Windows on the PC. HTI claims superior compression speed and playback image quality, so I was anxious to put it to the test and see if it is a worthy addition to my bag of tricks.

TrueMotion-S differs from both Cinepak and Indeo in that it uses only intraframe compression. All frames are treated as key frames and are self-contained. This makes it completely editable, and should make it more tolerant of video with rapidly changing content. However, it also gives up one of the key ways to achieve compression.

But the only way to really see what a codec can do is to use it. I started by taking a short, 240 x 180 pixel, 10 frame per second scene that I had done for a recent project. This was material not originally intended for multimedia use, so it had all the makings of a good torture test: lots of camera movement, quick cuts and zooms. Just the sort of material that drives Cinepak and Indeo nuts. I worked with an uncompressed original, which had already been cropped, filtered, and contrast-adjusted.

My "control" for this was the Cinepak version I had originally done. I had gotten very good results from a version that had a data rate of just 129 KBytes/second. This was achieved by telling Cinepak to do its best--the quality slider was set at 100--and not limiting its data rate. Even though this created a movie with a variable data rate, it was still well within the limits of a 2x CD-ROM.

My first experiment was to set TrueMotion-S to its "best" setting, as I had done with Cinepak. This yielded a very nice looking result--very similar to the Cinepak version--but a quick check of the data rate in the resulting movie showed an average rate of 192 KB/sec and a peak rate of 230 KB/sec. So while the quality was good, the data rate was significantly higher than Cinepak required, and beyond what I would use for a 2x CD
ROM.

The challenge then became to create a version with the same data rate as the Cinepak version so that I could compare the image quality. Unlike Cinepak and Indeo, however, TrueMotion-S does not have built-in data rate limiting. Instead, it gives many more controls over the compression parameters. This is both a blessing and curse. Blessing because it gives one more control than Cinepak or Indeo; curse because you have to experiment with these settings to find the right combination.

In addition to several controls that affect the compression algorithm directly, TrueMotion-S also offers the ability to adjust image contrast, brightness, and saturation during the compression process. While all of these adjustments could be done while creating the original material, having the adjustments in the compressor is handy because it allows you to experiment without regenerating the video, which can be a time
consuming process.

As HTI claims, TrueMotion-S is much faster at compression than other codecs. On a PowerPC-based Macintosh, TrueMotion-S was about 3.8 times faster than Cinepak. On a 68K-based Mac, TrueMotion-S was almost seven times faster than Cinepak, and slightly faster than Indeo. This is important, as playing with all of the settings requires that you recompress the video several times until the desired result is achieved.

I did find the right combination of settings to match the Cinepak data rate. However, the result was not very impressive. Matching the data rate required a lowering of contrast in the image, as well as lowering color resolution, leading to a somewhat fuzzy looking result, with distinct blockiness along color boundaries. TrueMotion-S seems to benefit more than Cinepak from a mild blur filter applied to the image before compression. Used in moderation, this can greatly reduce the data rate, but care is needed to avoid degrading the image.

I next tried an experiment working in the opposite direction: achieve equal visual results, and see what data rates are required. To do this I used one of the sample files of raw digitized video supplied with the TrueMotion-S software. I chose the "NFL-RAW" file, which is 240 x 180 pixels, 15 fps. I found that TrueMotion-S needed 250 KB/sec to equal the visual quality of 175 KB/sec Cinepak.

Horizon Technology says that TrueMotion-S was designed with higher data rates in mind. This makes sense, as Cinepak was developed in the days of 1x (150 KB/s) CD-ROM transfer rates. With the world firmly at 2x (300 KB/s) and moving to 4x (600 KB/s) transfer rates, there is more bandwidth available for most CD-ROM applications than in earlier days. By devoting this extra bandwidth to TrueMotion-S, you get not only the faster compression times, but also improved color fidelity. Whereas Cinepak's palette does not handle greens well, and Indeo has a problem with reds, TrueMotion-S does a good job with the full color spectrum. The only color shift I could see was that unsaturated blues tend to go a bit cyan, although this could be easily corrected prior to compression.

My final compression experiment was to torture test the lack of interframe compression. I chose a short 30 fps "talking head" clip and compressed it to the recommended 312 x 232 pixel size. (TrueMotion-S likes it dimensions to be multiples of 12, rather than the multiples of 4 favored by other codecs.) Not surprisingly, the lack of interframe compression required a much higher data rate than Cinepak, which could take advantage of the relatively small changes between adjacent frames. TrueMotion-S needed over 525 KB/sec to equal the Cinepak version's 200 KB/sec. Whereas the Cinepak version will play back from a 2x CD-ROM, the TrueMotion-S version will not. Reducing the data rate on the TrueMotion-S version required degrading the image past the acceptable level.

The talking head clip showed that TrueMotion-S is not as susceptible to the background "sparkle" that appears in static sections of the frame as Cinepak is. TrueMotion-S appeared to be almost the equal of Indeo, generally considered to be the "talking head champ."

Finally, I tested playback on the various supported platforms, using my own files and the sample files provided with the TrueMotion-S software. At low data rates (less than 300 KB/sec) I had no problems on any of the machines I tried. At higher rates I had the interesting problem of having the 68K-based Mac outperform the PowerPC-based Mac, which frequently dropped frames. This persisted with the sample files provided by HTI, so I can only assume that some portion of the decompressor is not PowerPC
native, unlike the compressor which seems fully native. Even when playing back from hard disk, all machines, Mac and Windows, exhibited more dropped frames than with the Cinepak versions.

HTI sells TrueMotion-S as a shrink-wrapped software package in both Macintosh and Windows versions. In addition to the compressor for the chosen platform, each package also includes a complete set of decompressors for all platforms. The software lists for $[to be supplied], which is not unreasonable for a tool that gets as much use as a codec. However, HTI charges additional license fees for the decompressor. While the compressor software includes a runtime license for 500 copies of the decompressor, that doesn't go very far if a CD-ROM title is successful. In an era when Cinepak, Indeo, QuickTime and Video for Windows are all licensed without a fee, it remains to be seen how successful a company can be charging for codec runtime software.

TrueMotion-S increases the number of codec options available when creating digital video for multimedia. Its fast compression time makes it very pleasant to use for those of us accustomed to having our computers tied up doing compression, but its greater demands for data limits its applications somewhat. For high frame rates and large image sizes, the data rate requirements limit it to specialized applications where data can stream from hard disk, such as kiosks.