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 email@example.com or Gordon Ng at firstname.lastname@example.org, fax: 1-408-9544451.