View Shopping Cart
Consumer / Play DVD Movies / CinePlayer / Technology / Variability

Why DVD Subpicture Information Can Look Different on Different Systems

Table of Contents
Table of Contents 2
Table of Figures 2
Synopsis 3
What Are Subpictures? 3
Subpicture Display 4
Hardware Mixing 4
Hardware Alpha-Blending 5
Alpha Blending with Mask 5
Resolution Dependency 6
All Software Solutions 6
Software Subpicture Mixing 6
Software Alpha Blending 6
Limitations to Software Alpha Blending 6
Conclusion 6
Table of Figures
Figure 1. - Simple combination using Software or Hardware Mixing. 4
Figure 2. - Subpicture edges smoothed using Alpha blending. 5
Figure 3. - Subpicture with Mask but no blending. 5
Figure 4. - Subpicture with Mask and blending. 5

Synopsis

Subpicture display visual quality may appear to change depending on the VGA adapter used or even in different resolution settings on the same adapter. This is a relatively 'normal' condition that depends upon VGA hardware and software implementation, as well as available runtime resources. CinePlayer contains software-only technology that allows it to manage subpicture display if VGA adapter support is deficient in any way.

What Are Subpictures?

Customers and end-users sometimes notice that the display of subpicture information (subtitle, hot spot tinting, overlay graphics, etc.) varies from platform to platform and even on the same platform when set to different display resolutions. This White Paper addresses this issue and explains why it happens. Before attempting to explain subpicture variability, however, we should spend a few minutes discussing what subpicture information is, including how it is stored on the DVD disc and how it is used onscreen to enhance the viewing experience.

Where Does Subpicture Data Come From?

Sub-picture text is stored separately from the main video on a DVD-Video disc - usually in the form of low bit-depth (4 color) images. By separately, we mean that the subpicture data must exist apart from the main video information, specifically so that it can be displayed or not at the viewer's discretion.

At the same time, subpicture data can't occupy a significant amount of the DVD disc space, or take up very much of the display system's processor and memory resources. To do so would result in an unacceptable compromise in video quality - the whole reason people use DVD technology in the first place.

What Constitutes a Subpicture?

While the DVD specification supports up to 32 separate subpicture data streams, any one stream is limited to just 3.36 Mbps bandwidth. To meet the bandwidth requirement (and to simplify the process of combining them with the main video), subpictures are composed as run-length encoded bitmaps. Each pixel in the subpicture image is assigned as a value from a fixed palette of 16 colors.

Subpicture Palette

A palette is an implementation of a color look-up table in the video display system. Using a color palette (instead of a true-color system) allows for greater efficiency in data coding and permits certain special effects that aren't possible in true-color systems. In this case, the subpicture palette requires just 4 bits per pixel, permitting 16 different colors (selectable from more than 11 million possible colors). There is also a table of transparency levels consisting of 16 values. Pixels can be set to any transparency level between fully transparent and fully opaque.

Each subpicture pixel can be specified as one of four pixel types: Background, Foreground, Emphasis-1 and Emphasis-2. Each pixel type can have a different color and transparency value. Additionally, each subpicture pixel's color and transparency can be changed from field to field or from frame to frame. The palette, itself, can be changed on every program chain (PGC) transition.

What this means is that subpicture data is defined in a very efficient, flexible way that enables extensive multi-language or other forms of program augmentation, while keeping the data stream down to a very manageable bitrate.

Subpicture Display

When subpictures are read from the disc and decoded, they need to be combined with the DVD video for final display on the computer monitor or television. How this combination is performed can vary widely from VGA environment to VGA environment. Each implementation will make the sub-picture text look different, ranging from blocky and jagged to smooth and crisp.

Examples of some of these implementations are described below:

Hardware Mixing

This involves simply taking the subpicture text and placing it on top of the video data. Wherever a subpicture pixel overlaps a video pixel, it replaces it, completely overwriting the video pixel underneath. This method is quick and simple - and inexpensive to implement - but results in fairly blocky looking subpicture elements.

Further, because the text is most commonly white (or yellow) and the video data underneath can be any number of colors, the edges of the letters look jagged and poorly drawn.

Figure 1. - Simple combination using hardware mixing.

Hardware Alpha-Blending

This involves blending the subpicture image data with the underlying video data using varying levels of transparency, as dictated by an alpha-channel. This alpha channel contains a mask that determines how much of the sub-picture data is blended with the background video data, and at what percentage.

This method results in a more readable display of sub-picture data, but also requires considerably more support from the VGA device.

Figure 2. - Subpicture edges smoothed using Alpha blending. 

Alpha Blending with Mask

Sometimes, the subpicture data contains contrasting color masking or drop-shadow information. This increases the subpicture bandwidth requirement (because the mask is actually a part of the subpicture bitstream), but usually results in a much more readable image, whether blending is applied or not.


Figure 3. - Subpicture with Mask but no blending.


Figure 4. - Subpicture with Mask and blending.

Resolution Dependency

The combination of subpicture data with main DVD video data requires a considerable amount of work from the VGA subsystem. This consumes resources in terms of graphics processor power and video RAM. These resource requirements increase proportionally as a function of display resolution.

A full-screen video display set to 800 x 600 must update, at most, 480,000 pixels 60 times a second. At 1280 x 1024, the same full-screen video may need to redraw over a million pixels at the same rate. Many VGA adapters can do this, but frequently only at the expense of blending.

If you find the quality of subpicture display unsatisfactory on your particular combination of VGA and computer hardware, try setting its display resolution to a lower value and see if the condition improves.

All Software Solutions

As we have seen, different VGA subsystems may produce very different observable results, depending on the amount of hardware support provided for subpicture display. At best, these differences may be simply annoying. At worst, they can render the supplemental program information unreadable or incomprehensible to one or more key audiences.

Fortunately, we do not have to rely entirely upon the VGA subsystem for subpicture display support. A computer system equipped with Sonic's DVD player technology can, in fact, manage the display of subpicture information independently of the VGA subsystem; essentially compositing the video and subpicture layers in software, before they are handed over to the VGA subsystem for display.

Software Subpicture Mixing

If the VGA hardware doesn't provide adequate subpicture mixing, and host processor resources are not adequate to support more sophisticated blending techniques, we can perform an all software version of subpicture mixing. In this case, the subpicture is displayed with the same blocky or jagged edges we observed with hardware mixing.

Software Alpha Blending

In situations where the VGA subsystem does not provide alpha blending of subpicture data, but there are ample processor and memory resources available, we can perform the blending entirely through software.

In this case, the DVD application can use excess capacity in the host processor to convert RGB subpicture data into the same YUV color space used by the decoded DVD video. Once in a common format, the two images can be combined in memory using the same kind of blending cues employed by the VGA hardware. The new memory resident frame is then passed on to the VGA subsystem for display. This provides a high quality, anti-aliased subpicture image.

Limitations to Software Alpha Blending

Why not always perform software alpha blending, then? In cases where the CPU or memory resources of a system can't handle the additional load, software alpha blending is simply not possible. But even when system resources are plentiful, there may be reasons why alpha blending produces unsatisfactory video display.

Some VGA subsystems provide hardware acceleration technology designed specifically to assist digital video playback. One example of this is hardware Motion Compensation. When the VGA subsystem provides motion compensation, it can accept (and the DVD player application happily provides) its video data in a partially decoded state.

This data is passed off to the VGA subsystem before it reaches a form that the subpicture data can be blended into. If we still want to perform software blending under these conditions, we must first allow the VGA device to finish decoding the video frame. Only after this is complete can we retrieve the final image from the VGA subsystem's display buffers, then blend in the subpicture data, and then return the frame to the VGA buffers for display. Even the fastest CPUs and video subsystems cannot manage this task without dropping frames.

Conclusion

VGA display technology has made significant advances in the decoding and presentation of digital video information. In many cases, the quality of a primary video data stream displayed on a PC VGA subsystem can rival, even surpass, television equipment. Unfortunately, many VGA manufacturers have not been so diligent with respect to displaying subpicture and other supplemental information commonly found in DVD media.

Sonic's Software CinePlayer DVD player can compensate for deficiencies in the VGA subsystem's subpicture handling capabilities. Through the judicious use of software averaging techniques, we can take over the task of displaying high-quality subpicture data, while maintaining optimal main video image quality. This results in an improved viewing experience for end users.

 
Purchase Options  
 
CinePlayer DVD Decoder Pack
List Price: $14.99
Buy  
CinePlayer Family of Products:
For Legacy Systems
Technology
Accessories