Design Corner II
Designing DVD
player trick plays
Y
ou will find new design challenges associated with nextgeneration DVD players.
These advanced designs demand tight
and efficient interaction among the
DVD local interface drive, decoding
circuitry, and the system control software. This high level of efficient interaction is vital for you to achieve
the high-quality trick plays consumers expect from any digital audio/
video equipment. Trick plays include
functions such as fast/slow-forward,
fast/slow-reverse, pause, viewingangle changes, and zoom.
DVD players use advanced control software to fully utilize the powerful features present in the video
disks available today. This software
includes both a presentation engine
and a navigation engine. The presentation engine uses information in
the presentation data stream from
the disk to control content. The
navigation engine uses the information in the navigation data stream
from the disk to provide a user interface, create menus, control
Trick plays provide the hallmark of an advanced DVD player. In
your next DVD player design, it is important to consider the efficient
interaction of your local interface drive, decoder circuitry, and
navigation software.
By Alain Bismuth
By Gordon Ng
Director, Consumer DVD Products
LSI Logic
DVD Engineering Manager
LSI Logic
branching, and also to direct the
trick plays.
Dedicated vs. ATAPI drives
When starting your DVD player design, it is helpful to understand the
differences between various drives
when you begin to evaluate alternatives. In some designs, using a conventional ATA packet interface
(ATAPI) disk drive can limit the performance of a DVD player’s navigation software and decoding circuitry. Since it has only a limited
embedded intelligence, an ATAPI
drive puts a major burden on the system microprocessor to control it.
You should be aware that the
ATAPI protocol lacks critical, intel-
VOBU #n
VOBU #n+1
NV_PCK #n
NV_PCK #n+1
. . . . . . . .
PCI_PKT #n
PCI_PKT #n
DSI n
. . .
PCI_PKT #n+1
PCI_PKT #n+1
DSI n+1
Figure 1: DSI is described in its packet (DSI_PKT), which is in the navigation
pack (NV_PCK). Its contents are renewed for every VOBU.
18 Electronics Engineer January 1999
ligent features like track buffering
and NAVI packs. This means it is
essentially leveraging extremely
high CPU bandwidth available in a
PC environment to perform large
amounts of data fetching. In an embedded consumer electronics system
like a DVD player, this overburdens
the small-system CPU with unnecessary processing, which degrades
the quality of your crucial trick-play
design. This is not the case with the
more intelligent local-interface DVD
drives, which are better suited for
DVD player applications.
Seamless transitions
You will encounter a new set of terminology as you get into the portion
of your design that deals with navigation software routines. Let us consider some of the more important
ones. The program stream contains
five packetized elementary streams
(PES): video, audio, sub-picture, presentation control information (PCI),
and data search information (DSI).
DSI is the navigation data used
for searching and executing the
seamless playback of a video object
unit (VOBU). DSI consists of five
segments:
• DSI general information,
• Seamless playback information,
Design Corner II
interprets the DSI in parallel before
the data stream passes through the
track buffer. Therefore, the execution of trick plays is anticipated, resulting in extremely smooth, seamless transitions.
Channel Data
26Mbps
DVD-ROM
8/16 Demodulation
13Mbps
System
Buffer
Error Correction
11.08Mbps
DVD-Video
DSI
Buffer
DSI
Decoder
Track Buffer
≤10.08Mbps
Demultiplexer
≤9.8Mbps
≤9.8Mbps
Video
Buffer
232KB
Video
Decoder
≤9.8Mbps
Audio
Subpic
Buffer
Buffer
4KB (DD)
52KB
8KB (MPEG)
Audio
Decoder
Subpic
Decoder
PCI
Buffer
3x980B
PCI
Decoder
Figure 2: DSI, which occupies 1,017 bytes, is copied from the data stream
before it reaches the track buffer.
• Angle information for seamless,
• VOBU search information, and
• Synchronous information.
Including the reserved space, you
need a total of 1,017 bytes (table 1).
DSI is described in its packet
(DSI_PKT), which is in the navigation pack (NV_PCK). Its contents are
renewed for every VOBU (figure 1).
DSI is copied from the data
stream before it reaches the track
buffer (figure 2). The track buffer
is a FIFO used for stopping underflows during seamless trick plays. It
provides a variable stream of data up
to 10.8Mbps to the system decoders
of data coming from the disk at
11.08Mbps.
In a segment where seamless
playback of multiple paths is carried
out, the layout of the presentation
data has an interleaving structure
(figure 3). In an interleaved block,
the presentation engine follows the
specified playback path to play the
presentation data, while reading data
sequentially and skipping data that
it does not need.
While jumping, the presentation
engine controls the track buffer to
18 Electronics Engineer January 1999
prevent an intermittent supply of
presentation data to the decoder.
During the jump, you can guarantee
a continuous data supply to the decoder by controlling the data quantity in the track buffer. How? By using the difference between data
transfer rate from the disk to the
track buffer (Vr), the consumption
rate at the decoder (Vo), and the layout of data on the disk.
You will find that a key component of high-quality DVD trick plays
is an efficient DSI scheme. Here, the
DVD A/V decoder processes and
Data overlays
Presentation data structure is overlaid on the physical data structure
with top level for titles. Each title
contains up to 999 program chains
(PGCs). A PGC contains 0 to 99 programs, which are ordered collections
of pointers to cells. Physical data and
the logical presentation data structure converge at the cell level. The
PGC connects cells together, defines
the order programs, and which cells
are played.
Programs within a PGC are used
for sequential, random, or shuffle
play, and cells can be used by more
than one program chain. Groupings include parental management
blocks, angle blocks for multiple
camera angles, interleaved blocks
for seamless branching, etc.
Navigation data structure is overlaid on the physical data structure.
It is in four categories: control,
search, user interface, and navigation
commands. Of particular interest is
search data, which creates a navigational structure.
Control information describes the
navigation data for NTSC or PAL
formats, aspect ratio, language, audio and sub-picture selection, plus
Content
Section
DSI_GI
SML_PBI
SML_AGLI
VOBU_SRI
SYNCI
Reserved
DSI general information
Seamless playback information
Angle information for seamless
VOB unit search information
Synchronous information
Reserved
Total
Number of bytes
32
148
54
168
144
471
1,017
Table 1: Data search information (DSI) is the navigation data used for searching
and executing the seamless playback of a video object unit (VOBU).
Design Corner II
Video manager
Video title set1
VMG
.
.
Video title set 99
VTS
Control data
Disc menu
VMGI
VMGI backup
VOBS
Control data
VTSI
.
no video breakup or jerks. You
will find this to be very difficult because it means the drive’s
head must move to another disk
location to play that information. This task must be done
quickly to eliminate underflow
of the data buffers in the A/V
decoder, thus avoiding errors.
Title menu
Title content
VTSI backup
VOBS
VOBS
Seamless angle change
The bit stream for an angle is
VOB
stored in a structure referred
to as an angle block. The angle
.
.
.
block is constructed from a
Cell
Cell
multiplex of VOBUs called interleaved VOBUs (ILVU).
Each ILVU for a different
.
.
.
Video object unit
Video object unit
angle number is simultaneous
VOBU
in time. Therefore, if your design allowed every ILVU in an
.
.
.
Navigation pack
Other pack
Other pack
angle to play, the viewer will
NV_PCK
A_PCK, V_PCK,
see a jump backward in time
SP_PCK
as one angle finishes and another starts. To stop this prob.
.
.
Packet
Packet
lem, the drive needs to seek
PKT
the next ILVU while in the
Figure 3: In an interleaved block, the presentation engine follows the specified current angle.
Assuming a worst-case
playback path to play the presentation data, while reading data sequentially and
search of 250ms (about eight
skipping unnecessary data.
video frames), this delay is
moral codes for parental control.
Information for each angle much larger than the video buffer
Navigation commands, on the other change is part of the DSI. Ideally, verifier (VBV) buffer defined by
hand, provide branching and other each angle change should be per- MPEG. During this time, the chaninteractive features.
formed with a smooth transition and nel buffers in the MPEG decoder
Navigation commands are like
CPU instruction words and are inSML_AGLI
Content
Number of bytes
structions to the DVD player’s miSML_AGL_C1_DSTA Address and size of destination ILVU in AGL_C1
6
croprocessor. Each command is up
to 8 bytes long, and can be one, two,
SML_AGL_C2_DSTA Address and size of destination ILVU in AGL_C2
6
or three instructions. Instructions
SML_AGL_C3_DSTA Address and size of destination ILVU in AGL_C3
6
include math operations, logical operations, comparison, register operaSML_AGL_C4_DSTA Address and size of destination ILVU in AGL_C4
6
tions, and flow control.
Video object
.
.
.
Design issues
For you to properly engineer efficient angle changes, it is important
to include an optimized DVD decoder with a specialized DVD drive.
Angle changes are performed at the
cell level. Data from nine separate
angles, which are simultaneous in
time, are stored in the angle block
on the DVD disk.
18 Electronics Engineer January 1999
Video object
SML_AGL_C5_DSTA Address and size of destination ILVU in AGL_C5
6
SML_AGL_C6_DSTA Address and size of destination ILVU in AGL_C6
6
SML_AGL_C7_DSTA
Address and size of destination ILVU in AGL_C7
6
SML_AGL_C8_DSTA Address and size of destination ILVU in AGL_C8
6
SML_AGL_C9_DSTA Address and size of destination ILVU in AGL_C9
6
Total
54
Table 2: If a change of angle is requested, the angle information for the seamless
table determines where to read the next ILVU.
Design Corner II
drive moves to that angle.
When an angle change is
Playback time
performed, the DSI information is required before
it returns to the track
AGL_C #1
ILVU #1
ILVU #2
ILVU #3
ILVU #4
ILVU #5
ILVU #6
buffer, not after.
The importance of having early access to the
DSI occurs when a smallAGL_C #i
ILVU #1
ILVU #2
ILVU #3
ILVU #4
ILVU #5
ILVU #6
size VOBU is processed
right after a large VOBU.
If the DSI is not available
early, the small VOBU
causes the track buffer to
AGL_C #9
ILVU #1
ILVU #2
ILVU #3
ILVU #4
ILVU #5
ILVU #6
underflow. In your designs, you must ensure
that sufficient data stream
User action for angle change
is fed into the track buffer,
achieving seamless transiFigure 4: During normal playback of an angle block, the DSI information is parsed to find the tion for trick plays.
A specialized DVD
next ILVU start address. This controls the head to read the next ILVU in the current angle.
drive (from Sanyo, for exwill underflow. This creates un- coming from the disk—minimizes ample) has built-in intelligence that
sightly artifacts or a playback pause. this problem. To implement angle allows it to perform efficient angle
To fix this problem, you must use changes efficiently, processing of the changes. This type of drive supports
a track buffer FIFO that is large DSI information is tightly coupled built-in track buffering and provides
enough to compensate for the disk to the precise moment the data DSI earlier to the A/V decoder for
seek time. In the DVD specification, comes off the disk. This minimizes look-ahead processing. Other intelliyou will find an example calculation the delay from the point the decision gence includes the ability to underfor a track buffer size, which shows is made to do an angle change to the stand a set of high-level macro comit to be about 3.3Mb. In a real sys- end of the operation. You must be mands specific to a DVD application.
tem, the size of the track buffer may careful that it takes no more than The intent is to minimize the burden
vary, depending on the drive seek 250ms because, otherwise, there is on the A/V decoder or the system
a chance of underflowing the track CPU, allowing more advanced tricktime and transfer rate.
play processing.
During normal playback of an buffer.
Therefore, you need a DVD drive
angle block, the DSI information is
parsed to find the next ILVU start with its own track buffer integrated Faster fast-forward/reverse
address. This controls the head to read into that subsystem to minimize de- In some current DVD players, the
the next ILVU in the current angle. If lays. Drives like this read DSI as video picture is distorted when
a change of angle is requested, the well as data from the disk. When an placed in these modes. Figure 5
angle information for the seamless angle-change command is used, the shows the composition of a VOBU,
table determines where to read the
next ILVU (figure 4 and table 2). A
skip on the disk is required for each
VOBU
angle change, and a seek time of no
more than 250ms is issued when no
...
DSI/PCI
I
B
B
P
B
B
P
data is coming from the drive and
going to the decoder. In this case,
there is a chance that the decoder
might not receive data to decode.
Considering that each picture is 30ms
and there is 250ms of seek time, this
becomes a serious design issue.
The track buffer—a 3Mb or 4Mb Figure 5: DSI and PCI are at the start of each VOBU, which is the lowest level of
FIFO that stores compressed data navigation software hierarchy.
18 Electronics Engineer January 1999
Design Corner II
which is the lowest level of navigation software hierarchy. DSI and PCI
are at the start of each VOBU.
In MPEG terminology, reference
frames are frames other than B
frames. To decode a B frame, the I
and P frames on either side of the B
frames are needed before the frames
in the middle are decoded. Decoding B frames consumes processing
power. To design an efficient fastforward mode, B frames are omitted and only certain I and P reference frames are played.
The term “fast forward/reverse”
is a misnomer because the assumption is that the drive system is able
18 Electronics Engineer January 1999
to operate faster than normal. Most
drives can do 2x faster playback, not
sufficient for smooth DVD trick
plays. At times, trick plays demand
8x to 15x faster playback capabilities. This means playing fewer
VOBUs so more information is processed faster. The DSI information
is used to control the drive so that
only the first three reference frames
of a VOBU are played. The optimized decoder removes the interleaved B frames so only the “I’s” and
“P’s” are deployed, resulting in a
powerful fast-forward mode.
Specialized DVD drives like
Sanyo’s are important contributors
to high-quality trick plays. Some
DVD player designs use the conventional ATAPI drive, but ATAPI
is designed for very short, very fast
accesses necessary in PC and not
optimized for constantly playing
movies. The combination of a
good drive with a high-performance DVD decoder, as also optimized control software, is the key
to the building your next-generaee
tion DVD players.
You may send your comments on this
article to Alain Bismuth through e-mail
at bismuth@lsil.com or Gordon Ng at
ng@lsil.com, fax: 1-408-9544451.