Framing B2B Video
Posted Apr 12, 2004

Seems like it's been roughly forever since I started advising anyone who would listen to eschew Video for Windows and QuickTime codecs like Cinepak and Indeo in favor of MPEG-1 and MPEG-2. Recently, however, I was preparing a handout for a presentation and several random thoughts coalesced.

First was that both Microsoft and Real were loudly proclaiming that their codecs were vastly superior to MPEG-1 and 2 at any given data rate. Second was that no one cared about 320x240 video anymore, at least at the 200KB/sec data rate where MPEG-1 was most comfortable. Most folks encoding for the desktop are thinking 640x480 or higher.

I also started wondering where MPEG-4 stood in terms of comparative quality with the troika of streaming heavyweights, Real, Microsoft, and Sorenson. By this time it was clear that I needed to take a good hard look at the respective quality offered by these codecs, and when it makes sense to consider using them.

Obviously there are some rules that we absolutely have to live by. For example, any video produced for DVD or SuperVideoCD must be MPEG-2, while video for VideoCD must be MPEG-1. In addition, if you're creating video for posting to a Web site or intranet, your codec selection may also be limited. For example, if your corporation uses Microsoft's Streaming Media Servers, you're excluded from selecting codecs from Real or Sorenson.

However, this leaves a vast array of potential digital video uses. For example, if you're creating video for integration into a PowerPoint presentation, what compression technology should you use? How about if you're creating a training video you want to send via CD-ROM to your branch offices? Beyond these you'll find a range of more traditional streaming functions like multicasting over a corporate network, or streaming over broadband connections.

Ultimately, we identified five data rates and video configurations to use for comparison purposes; these are shown in Table 1 [see page 4]. We then produced the files using encoding tools from each vendor.

4Mbps
Video encoded at 4Mbps is primarily targeted towards sales and marketing presentations given on laptops, as well as video displayed at kiosks and trade shows. Though you can encode at much higher rates for hard-disk-based playback, why bother if 4Mbps delivers the necessary quality?

At this data rate, our presumption was that all video codecs would produce very high quality, and this was the case, though we had to tweak our MPEG-2 encoding parameters to produce top quality [see sidebar, Encoding Tips, page 5]. Note that if PowerPoint is your ultimate target, encoding in Windows Media, MPEG, or even AVI formats provides the greatest flexibility regarding your linking options [see sidebar, PowerPoint Integration, page 3].

[See Figure 1, showing 4Mbps results.]

1.5Mbps
Files encoded at 1.5Mbps are appropriate for a number of uses. For example, this rate would be ideal for high quality multi-cast transmissions on 100Mbps or 1Gbps local area networks (LANs). Those encoding video for personal media players produced using Microsoft's Media2Go spec will find the 718MB/hour rate very suitable for the smallish 30-40GB hard drives in these devices. In addition, those inclined to convert Hollywood movies to digital format could fit a 90-minute movie on just two CD-ROMs.

At this rate, we started to see some differentiation between the codecs. In higher-motion sequences, MPEG-2 started exhibiting obvious blocks, which also appeared more subtly in the MPEG-4 and Sorenson still frames. Though Windows Media 9 was free from blocks, we did notice some loss of detail and slight image degradation. Real was the clear winner.

[See Figure 2,  showing1.5Mbps results]

550Kbps
Files encoded at 550Kbps are well suited for video-on-demand on high bit-rate networks, and multicasting on lower bit-rate networks or possibly wide area networks (WANs). At about 4.5MB/minute, it's a good rate for downloadable short clips, and is about the rate used by ESPN for their push service, ESPN Motion.

Even on low-motion talking head scenes, Sorenson 3 and MPEG-4 started showing noticeable degradation, which became more obvious as motion increased. Clearly, at 550Kbps and below, it was going to be a two-horse race between Real and Microsoft.

[See Figure 3, showing 550Kbps results ]

At this rate, calling the race was pretty easy; Real was the clear winner. Talking head clips showed excellent color clarity and detail, and Real was very artifact-resistant in higher motion clips, as well. In real-time playback comparisons, the difference between the two technologies was more subtle, but Real's quality was still judged the highest.

200Kbps
200Kbps is typically used for broadband streaming. Here the distinction between Real and Microsoft became more difficult to call. In general, we observed that Real's colors were more vivid and the images sharper, but often this led to artifacts being more clearly visible.

[See Figure 4, showing 200Kbps results]

Unless you were performing side-by-side trials, you probably wouldn't notice the difference at this rate.

56Kbps
Results here were not great irrespective of technology, though Real continued to show slightly better detail and color, perhaps due to an interesting new encoding technique we discovered when performing our screen captures.

Here's how it sets up. We encoded at 240x180 resolution, and when we played the clip back, it played at that resolution. However, when we captured screens for comparison purposes, the talking head capture frame was 240x180 while other frames were 176x128. Once again, we didn't notice this during real time playback, since the file played at 240x180 irrespective of scene complexity.

[See Figure 5, showing 56Kbps results,  ]

We queried Real about this, and learned that at low data rates, their encoder produces more difficult scenes at lower resolutions and transparently zooms them back to the original resolution during playback. Though our tests were far from conclusive, this appears to provide a slight but noticeable advantage at low data rates.

Summary and Conclusions
Beyond the obvious conclusions about which codecs to use and when, this analysis raises two cogent points about the MPEG standard. First, the quality of both Real and Windows Media at 1.5Mbps was about the same as MPEG-2 at 4Mbps. Clearly, MPEG-2 is showing its age, and should not be considered for any application where other codecs are available.

At the other end of the spectrum, three years after MPEG-4 was loudly declared the next big thing, its quality still clearly lags significantly behind proprietary codecs from Real, Microsoft, and Sorenson. Specifically, at 550Kbps, both Real and Microsoft were noticeably superior to MPEG-4 at 1.5Mbps.

Perhaps when encoders using the Advanced Video Coding techniques appear, MPEG-4 will close the gap. In the meantime, it remains safe to ignore the MPEG-4 clamor and focus on technologies that offer vastly superior quality today.

Sidebar: PowerPoint Integration

Video in PowerPoint is the great grass-roots business use of video, not quite as sexy as DVD or as hip as streaming, but the bread and butter of road warriors around the globe. Fortunately, Microsoft makes it quite simple to integrate video into its flagship presentation program, offering as many as three alternatives, depending upon your encoding format.

All three mechanisms share at least one common characteristic; specifically, they do not embed the video file in the PowerPoint PPT file. This means the PPT files stay smaller and more compact, but also complicates transferring your presentation to different computers. Not only must you transfer the video file(s) to the target computer, but they also must reside in the same exact folder on the target.

This takes planning during presentation development and transfer. I create all presentations in a drive called c:\apresent on my video workstation in the lab, and copy all video files into that folder before linking them inside PowerPoint. Then, I transfer the files to a similarly named subdirectory on my laptop.

Why c:\apresent instead of just c:\present? Because odds are during the presentation I'll have to find the folder to locate a demo file or two, and if I use c:\apresent, the folder is generally at the top of the list in Windows Explorer, and therefore easy to find. My other pre-presentation essential is to create a shortcut on my desktop to the PowerPoint file itself. That way, if PowerPoint crashes, a likelihood since I've usually got two or three authoring, editing, and/or encoding programs open at the same time, as well as multiple players, it's one click to get it started again.

Your Linking Options
These housekeeping tasks aside, let's examine our linking options. You can insert all codecs reviewed here using the Insert Action Button. This creates a button on the PowerPoint page that presenters can click to launch a separate application like the QuickTime, RealOne, or Windows Media Player that loads your target video file. Once the program is launched, you control operation exactly as you normally would during playback.

This is your best option if you have multiple files to present from a single page, since both other options use embedded windows, limiting you real-estate wise to two or three videos at most. It's also your only option if you're attempting to play either RealVideo or QuickTime video files without a separate third-party plug-in.

Linking files in this manner is fairly simple. You start by clicking Slide Show > Action Button > Movie, which turns your pointer into a cross you use to draw the button on the slide. Once you finish, PowerPoint launches an Action Setting dialog. Click the Run Program radio button and then the Browse button, which launches the Select a Program to Run dialog.

Navigate over to the proper folder and click the target application, once again usually either the QuickTime, RealOne, or Windows Media Player. Then, after PowerPoint inserts the name and address of the application, press the space bar on your keyboard and type in the location of the target video file, usually something like c:\apresent\video1.rm, and click OK to close the Window.

I usually test my links each time by running the slide show and then clicking the button, since it's easy enough to mistype a file name or location. Also, if you're transferring presentations to other computers, beware of applications loaded in other locations. For example, Real used to install the Player at c:\real\ before getting with the program and using c:\program files\real. The only problem was, after I installed the new player (which uninstalled the old player) none of my links worked, something I found out in real time while onstage. So, test, test, test, and tell your roving presenters to do the same.

Insert Movie
The next alternative is to use the Insert > Movies and Sounds > Movie from File approach. This launches an Insert Movie dialog you can use to navigate to and select the file. PowerPoint will then allow you to choose whether to launch the file automatically when getting to the slide or by clicking on the embedded movie window. Either way, you can click on the file at any time to stop playback.

The window itself is freely resizeable, but only at the aspect ratio of the video itself, which avoids distortion. If you right-click on the movie window, you can Edit the Movie Object to loop the video, zoom it to full screen, or rewind it after completion. You can also create a Custom Animation for the start or end of playback.

This mechanism works for Windows Media, MPEG, and AVI files, but not QuickTime or Real. The only negative is the lack of onscreen-player options, which I think looks less professional than the next alternative, which is Inserting an Object.

Object Linking
This sounds complicated, but it's really not. When they developed Media Player, Microsoft created both a standalone application and an object that other applications could link to and access its functions. That way, any developer that wanted to add video to its application could just support object linking, rather than writing a video application from scratch.

You start by choosing Insert>Insert Object, and then scrolling down the list until you find the Windows Media Player. Select that and press OK, and PowerPoint displays a freely resizeable movie window, complete with controls, on the slide.

Right click on the Window and select Properties, and you'll see a dialog like that shown. Click Custom on top of the dialog to launch the Windows Media Player Properties dialog, which includes a browse button so you can locate your file, along with a bunch of other layout, playback, and volume settings. In my view, this is the most professional-looking option, but can't be used with either Real or QuickTime (without a third party object) and is tough to use when you have multiple files to link on a single slide.

Finally, if your presentation will be displayed on a projector, test performance on that projector in the lab if at all possible. If you can't, remember that most projectors are still limited to 1024x768 or even 800x600 resolution, and projects developed on 1280x1024 and especially 1920x1200 will look vastly different at these lower resolutions.

Companies Mentioned in this Article
Microsoft Corporation www.microsoft.com
Real Networks, Inc. www.real.com
Sony Pictures, Inc. www.mediasoftware.sonypictures.com
Sorenson Media www.sorensonmedia.com

Data RateConfigurationPer HourRealVideo 10WMV 9Sorenson 3Sorenson MPEG-4 ProMPEG-2
4Mbps640x480 @ 29.97fps, 128Kbps audio1.86GBExcellentExcellentExcellentExcellentExcellent
1.5Mbps640x480 @ 29.97fps, 96Kbps audio718MBExcellentVery GoodFairGoodMarginal
550Kbps640x480 @ 29.97fps, 48Kbps269MBVery GoodGoodFairMarginalUnusable
200Kbps320x240 @ 29.97fps, 32Kbps audio104MBGoodGoodUnusableUnusableUnusable
56Kbps240x180--set by codec, 5Kbps audio15MBFairPoorUnusableUnusableUnusable

Sidebar: How We Encoded
In general, we produced all streaming files from one source DV file, which contained a mix of low and high-motion footage. All scaling and de-interlacing was performed by the respective encoding tools. We did not filter, apply black correction, or otherwise pre-process the files prior to encoding.

RealVideo: We encoded all files using Real Producer Plus 10. We encoded using both two-pass variable bit-rate (VBR) encoding and constant bit-rate encoding (CBR) and found files produced by the former technique to be of higher quality.

Windows Media 9: We encoded all files using the Windows Media Encoder. We tested both VBR and CBR files, and ultimately compared CBR files.

Sorenson: We encoded both Sorenson 3 and Sorenson MPEG-4 Pro files using the Sorenson Squeeze encoding tool. We used two-pass VBR encoding and the default compression parameters for all files.

MPEG-2: We produced all MPEG-2 files with Sony Pictures' Vegas 4.0. As with the other technologies, we scaled the files to 640x480 resolution, selected progressive frame output, and applied interpolated de-interlacing, using the best compression setting to produce all files.

We compared the test files by capturing representative frames from each file and via live playback tests in front of an unbiased audience.

Sidebar: Encoding Tips
Tip #1
Scale video to 640x480, 320x240, or other 4:3 aspect ratio. Television screens display video slightly differently than computer screens, squeezing the video by approximately 10% during display. In contrast, computers display video pixel-by-pixel, which makes the video look slightly stretched.

To avoid this stretching effect, scale the video to a 4:3 aspect ratio during encoding, even if you're producing MPEG-2 files. Note, however, that if the files are destined for both computer and DVD playback, you should encode them twice, once at 640x480 for computer display, once at the full 720x480 resolution for DVD playback.

Tip #2
Go progressive and use de-interlacing filters. Most DV footage is captured in interlaced mode, which means that the camera shoots and displays 60 fields per second (fps). This works well on television screens, but often leads to interlacing artifacts which look like Venetian blind slices on computer displays (see Tip #1).

To avoid interlacing issues, always output in progressive mode, which combines the two fields into one frame. In addition, be sure to enable the encoder's de-interlacing filter, which is the mechanism that actually smooths out the interlacing artifacts.

Note that this is especially important for MPEG-2 files, which can look terribly degraded without de-interlacing. Note that you should not use these same files when producing files for DVD. Again, you should produce your DVD-bound files at 720x480 in interlaced mode without applying a de-interlacing filter.

[See Figure 6, showing Interlaced vs. De-interlaced results, http://www.emedialive.com/Articles/ReadArticle.aspx?ArticleID=8559]

Tip #3
Don't assume that variable bit-rate encoding produces better results than constant bit-rate encoding. Intuitively, VBR should produce better quality than CBR if there are scenes of different encoding complexity in your video, though this wasn't the case with Windows Media, where CBR produced noticeably better quality than VBR.

Perhaps it was the limited duration of our test clip (sixty seconds, five discrete scenes) as Microsoft suggested. Either way, perform tests on your own clips before choosing either technique.

Tip #4
Black-level correction is worth trying. Black-level correction adjusts the color of your video, making the black regions appear darker. This technique worked well with RealProducer, improving quality noticeably (we did not use black level-corrected clips for comparison purposes). The results were less impressive when we tried encoding MPEG-2 files with black level correction in Vegas, which produced little noticeable effect.