|
Why DVD Subpicture Information Can Look Different
on Different Systems
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.
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.
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.
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.
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.
|