Abstract:
An apparatus for processing a sequence of control commands for a unit (40) to be controlled is proposed. In this case, the apparatus has first decoding means (22) which are designed to decode a predetermined set of control commands. In this case, this predetermined set of control commands also contains an end command (CMD --  END), which indicates the end of a control command sequence. In order also to be able to process control command sequences having control commands which are not contained in the predetermined set, the apparatus has further decoding means (23) which are designed in such a way that when an unknown control command (SET --  BAREA) arrives, they react in the same way as when the end command (CMD --  END) from the predetermined set of control commands arrives. Undefined states are thereby prevented. The proposal also encompasses a method for generating a sequence of control commands for a unit to be controlled, and a storage medium for storing control commands for a unit to be controlled.

Description:
The invention relates to an apparatus for processing a sequence of control commands for a unit to be controlled as well as a method for generating a sequence of control commands for a unit to be controlled, and a storage medium for storing control commands of a unit to be controlled. 
     BACKGROUND OF THE INVENTION 
     The invention is based on an apparatus for processing a sequence of control commands for a unit to be controlled of the generic type of the independent claim 1. Such an apparatus has recently become known by virtue of the fact that the DVD (Digital Versatile Disc) playback devices that are the latest additions to the market have a so-called sub-picture decoding unit (sub-picture decoder). These sub-picture decoding units are designed according to the specification described in the DVD Standard (Version 1.0). A specific command set for control commands for driving the display unit is described and agreed in the DVD Standard (Version 1.0). However, only very few control commands for the display control are provided therein. It may therefore be expected that in future DVD standardization proposals with version numbers greater than 1.0, additional control commands which are not yet contained in the current DVD standard (version 1.0) will be defined in order to make the display control even more convenient. If a sequence of control commands in which newly defined control commands also occur is therefore stored on storage media, for example the DVD disk, then the problem that currently exists is that such control command sequences cannot be processed in a compatible manner by a DVD playback device which has been developed according to today&#39;s standardization proposal. 
     SUMMARY OF THE INVENTION 
     The aim of the invention is to take account of the above-described problem today, at an early stage, by designing the playback devices produced according to the DVD Standard (Version 1.0) today, at this early stage, in such a way that when they encounter an unknown control command, they process this command in a tolerant manner without entering into an undefined state. The invention provides an apparatus for processing a sequence of control commands for a unit to be controlled, which is equipped with decoding means for the control commands that have already been defined today, and which is additionally distinguished by the fact that it has further decoding means which are designed in such a way that when an unknown control command arrives, they react in the same way as when a so-called end command arrives, which end command is already provided in the command set defined today and terminates the command sequence. These measures have the advantage that all the known control commands that occur beforehand in a sequence are still processed correctly and when the first unknown control command appears, the end, as it were, of the command sequence is identified and the next command sequence can be started. The control commands appearing after the unknown command in the command sequence that was begun are ignored in this case. An undefined behaviour of the DVD playback devices designed according to the DVD Standard (Version 1.0) is avoided. 
     It is very advantageous if each sequence of control commands has a point command which points to the beginning of the next sequence of control commands, and, when the end command or an unknown command appears in the sequence, the next command is read out at that location of a memory unit which is indicated by the point command. This ensures that sequences may perfectly well be longer than until the appearance of the unknown command. The subsequent commands in the sequence are simply ignored. 
     In this context, it is likewise advantageous if, in the case where a next sequence of control commands is not provided, the point command of the last sequence of control commands points to the beginning of the last sequence of control commands and then, when the point command is decoded following the decoding of an end command (whether due to the appearance of an end command or due to the appearance of an unknown command), the control of the unit to be controlled is set or the last sequence of control commands is repeated. If no abort criterion is provided for the resultant loop, then an endless loop is created which can only be interrupted by external intervention. 
     Display control commands come into consideration as control command and are then provided for the control of a display unit. On the other hand, the control commands may also relate to printer control commands or control commands for other units. 
     It is advantageous for a method for generating a sequence of control commands for a unit to be controlled if the sequence of control commands has first control commands which, as it were, correspond to the control commands already defined today, and additionally has second control commands which correspond to the extended control commands, the second control commands being arranged in combination only after the known, first control commands in the sequence. This has the advantage that all the known control commands of the sequence are still processed correctly and only the unknown control commands are ignored. 
     In order that the new control commands of playback devices which are already designed according to a new standard, and in this respect have an extended command set, can still be processed, it is advantageous if the end command for the control command sequence is arranged only after the new, second control commands in the sequence. 
     The generated sequence of control commands is advantageously stored on a storage medium. A storage disk or a magnetic tape come into particular consideration for this purpose. 
     The control commands are then advantageously stored sequentially one after the other on such a storage medium. Firstly the known control commands should follow one after the other and then they should be followed by the new or further control commands. An end command for the sequence should likewise again follow only after the extended control commands. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     Exemplary embodiments of the invention are illustrated in the drawings and are explained in more detail in the description below. 
     In the figures: 
     FIG. 1 shows the rough structure of a so-called sub-picture unit (SPU); 
     FIG. 2 shows a refined illustration of the sub-picture unit; 
     FIG. 3 shows a concrete example of a sub-picture unit serving to output an error message onto a screen device; 
     FIG. 4 shows a display of the error message on the screen device; 
     FIG. 5 shows a rough block diagram for a sub-picture decoding unit, and 
     FIG. 6 shows the illustration of a storage disk with a stored sub-picture unit. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The invention is explained in more detail using the example of a sub-picture decoding unit of a DVD playback device. In the exemplary embodiment, a rectangular detail area on a display unit is regarded as the sub-picture. The exemplary embodiment described here assumes that a television receiver serves as the display unit. The control commands in this case relate to commands which effect the display of a sub-picture on the television receiver. The sub-picture is displayed on the screen of the television receiver. This may, for example, involve a rectangular detail in the picture which is provided for example for the display of subtitles in the case of foreign language films. Of course, other applications also come into consideration for such sub-pictures. For example, it is also possible in this way to display error messages on the screen, or specific operating directions after they have been called up by the user of the device. For this case, operating instructions can be stored in the device to be operated. If the device to be operated is a DVD playback device, for example, then the sub-picture may also serve for example to display a text for a karaoke function. In this case, the text of a music title which is to be sung is displayed in a subtitle line and the respective passage to be sung is highlighted. 
     All sub-pictures of this type are stored in a so-called sub-picture unit (SPU). In the case of error messages, the sub-picture units are stored in a read-only memory, for example. For the case of subtitles, these sub-picture units are usually stored on a storage medium such as, for example, a video cassette or a storage disk (DVD, Photo CD, Cdi, etc.). Operating instructions may likewise be held in a read-only memory of the device. 
     FIG. 1 shows a general illustration of the data format of a sub-picture unit. Each sub-picture unit comprises a header section (SPUH), the data for the individual pixels (PXD) and one or more sequences of display control commands (SP --  DCSQT). In FIG. 1, therefore, the reference number 10 designates a data field for a header section, the reference number 11 designates a data field for the pixel data of the sub-picture and the reference number 12 designates a data field for a table of display control command sequences. The data field 12 comprises one or more data fields 13 for the display control command sequences. In FIG. 1, the individual display control command sequences are numbered consecutively and provided with the reference symbols SP --  DCSQO, SP --  DCSQ1, SP --  DCSQ2, etc. The above-described structure of sub-picture units corresponds to the stipulations in the DVD Standard (Version 1.0); further details in this respect can therefore also be found in this standard. 
     The header section (SPUH) of the sub-picture unit comprises the two information items for the size of the sub-picture unit as well as the start address of the table for the display control command sequences. The pixel data are stored in compressed form in the data field for the pixels of the sub-picture to be displayed. According to the DVD Standard 1.0, the pixel data of each line are compressed according to a specific run length coding method. For each pixel, two bits are stored for the type of pixel. It is thus signalled whether the pixel concerned is a background pixel, a foreground pixel or a pixel highlighted in a first or second way. A further special feature is that for the common television standards such as NTSC and PAL, the pixels for the first field are stored separately from the pixels for the second field. This is illustrated more specifically in FIG. 2. The reference symbol PXDT indicates that the pixel data of the first field are concerned, and the reference symbol PXDB indicates that the pixel data of the second field are concerned. 
     The table for the display control command sequences SP --  DCSQT contains the sequences of display control commands which, for example, change the properties of the sub-picture displayed and control the display instants of the picture. A series of display control commands are defined for this purpose in the DVD standard 1.0. Nine display control commands are defined. The first display control command FSTA --  DSP effects unmoving display of the sub-picture on the screen irrespective of whether the user has switched off the display of sub-pictures when configuring the device. The second display control command STA --  DSP controls the start instant for the display of the sub-picture. The third display control command STP --  DSP controls the stop instant for the display of the sub-picture. The fourth display control command SET --  COLOR selects the colours for the display of the sub-picture. The fifth display control command SET --  CONTR selects the contrast for the pixels of the sub-picture in comparison with the main picture. The sixth display control command SET --  DAREA determines the location where the sub-picture is displayed. The seventh display control command SET --  DSPXA determines the start address of the pixel data. The eighth display control command CHG --  COLCON effects a change in the colours and contrast details for the pixel data. The ninth display control command CMD --  END indicates the end of a display control command sequence. 
     Even today, it is foreseeable that it would be desirable to provide even further display control commands in addition to the display control commands described, in order to make the display control more convenient. For example, it is desirable to provide a command which effects a flashing display for a defined detail from the sub-picture. This would be significant for the display of a marking on the screen (cursor). Another example for a new display control command relates, for example, to a command by means of which the colour values of the pixels are changed over for a specific sub-area of the sub-picture. This would improve the colour display of sub-pictures. Further examples of additional display control commands are conceivable. 
     FIG. 3 now relates to a sub-picture unit having a new command, to be precise the new command for the flashing display of a sub-area from the sub-picture is used therein. This command is provided with the reference symbol SET --  BAREA. The sub-picture unit illustrated in FIG. 3 effects the output of an error message on the screen receiver. The corresponding display of the error message is shown in FIG. 4. The error message is displayed in the lower area of the picture and is displayed as it were in the foreground in front of the actual picture. The sub-picture unit is programmed in this case in accordance with FIG. 3 in such a way that a flashing display of the error message is effected. This is now explained specifically in more detail with reference to FIG. 3. The reference number 10 again indicates the header section of the sub-picture unit. The size of the sub-picture unit is stored therein in the hexadecimal address $0000 to $0001. The size SPDSZ amounts to 2544 bytes. This information item means that the next free memory address is located at the address $09F0. The start address of the table for the display control command sequences is stored under the addresses $0002 to $0003. This start address SP --  DCSQTA is located at the address $09C7. The compressed pixel data for the first field of the error message are stored in the memory locations having the addresses $0004 to $04E5. The compressed pixel data for the second field of the error message are stored in the memory locations of the addresses $04E6 to $09C6. The first display control command sequence begins at the address $09C7. The start instant of the display control command sequence relative to the start instant of the entire sub-picture unit is stored in the first two addresses. In this case, the 0 is entered there because the start instant of the first display control command sequence is intended to coincide with the start instant of the sub-picture unit. The start address of the next display control command sequence is stored in the memory locations having the addresses $09C9 and $09CA. This address SP --  NXT --  DCSQ --  SA corresponds to the hexadecimal value $09E9. The first actual display control command SET --  COLOR follows next. By means of this command, the colours for each pixel of the sub-picture are selected. The command occupies the three memory locations having the addresses $09CB to $09CD. Next comes the command SET --  CONTR, by means of which the contrast values for the pixels of the sub-picture in comparison with the main picture are set. This command also occupies three bytes of memory space. Starting at the address $09D2, the command SET --  DAREA for the determination of the size and the location where the sub-picture is to be displayed on the screen device then follows. A rectangular sub-picture is selected, whose top left corner is located at the picture coordinates (235, 250) and whose bottom right corner is located at the picture coordinates (485, 300). In this case, the values 235 and 485 specify the X-coordinate and the values 250 and 300 the Y-coordinate of the respective corner points. This command occupies 7 bytes of memory space. Starting at the address $09D9, the command SET --  DSPXA follows, which specifies the address starting at which the pixel data for the first field and for the second field are to be read out. The information items in each case correspond to the start address of the fields for the pixel data PXDT and PXDB. This command has a length of 5 bytes. The command STA --  DSP is then situated under the address $09DE. This starts the display of the sub-picture unit. Up to this point, all the commands used have already been determined in the DVD Standard (Version 1.0). A new command SET --  BAREA, which is not defined in the DVD Standard, is now stored under addresses $09DF-$09E7. The flashing display for the entire sub-picture is selected with this command. The X- and Y-coordinates correspond to those of the command SET --  DAREA. The command SET --  BAREA can therefore be correctly processed only by those sub-picture decoding units which are designed to produce a flashing display of sub-pictures according to this command. The end command CMD --  END is stored under the memory address $09E8. This ends the first display control sequence. This command causes the sub-picture decoding unit to proceed to that memory address which is stored according to the information item under addresses $09C9 and $09CA. 
     The address $09E9 is stored there, so that the information item under the address specified there is evaluated next. This is the information item SP --  DCSQ --  STM, which represents a figure for the start instant of the associated display control command sequence. The decimal value 879 is stored therein, which corresponds to a time indication of 10 seconds relative to the start instant of the sub-picture unit. After this instant has been reached, which is monitored by a counter in the sub-picture decoding unit, the following commands of the second display control command sequence are processed. Firstly, there again follows the information item for the address where the succeeding sequence of display control commands is stored. The information item $09E9 is contained in this case, which is synonymous with the start address of the second display control command sequence. This indicates to the sub-picture decoding unit that the second display control command sequence simultaneously represents the last sequence of display control commands. The stop command STP --  DSP follows next under the address $09ED. This command stops the display of the sub-picture unit and thus ends the output of the error message. The end command CMD --  END for this display control command sequence is then also stored under the address $09EE. The same command is therefore specified in the following address in order to satisfy the rule provided in the DVD Standard whereby a sub-picture unit is only permitted to have an even number of bytes (stuffing rule). 
     As a result of the sub-picture unit described, then, a flashing display of the error message on the screen of the television receiver is effected by an extended sub-picture decoding unit for a duration of approximately 10 seconds. After this, the display of the error message is ended. If the same sub-picture unit is processed by a sub-picture decoding unit which is not designed for a flashing display of sub-pictures, but interprets the extended command SET --  BAREA as an end command, a flashing display of the sub-picture does not take place. Instead, the error message is output as a stationary error message due to the fact that the flashing command is interpreted as end command CMD --  END and a jump is automatically made to the second display control command sequence. The actual end command under the address $09E8 would not even be processed in this case. 
     The structure of a sub-picture decoding unit will now be described in more detail with reference to FIG. 5. The sub-picture decoding unit serves to generate the correct sub-picture and also to mix the sub-picture with the actual main picture. The sub-picture decoding unit thus constitutes a sub-component in a DVD playback device. The reference number 20 designates an interface circuit. This interface circuit 20 is connected to a main processor which is provided for the control of the individual sub-components in the entire system. This main processor has not been illustrated for the sake of simplicity. The settings of the sub-picture decoding unit can be reconfigured as required via the interface circuit 20. The reference number 21 designates a memory for a sub-picture unit. This memory is likewise controlled by the main processor or another processor. This main processor ensures that the respectively following sub-picture unit is completely available in the memory 21 in good time. The reference number 22 designates a first decoding unit. The sub-picture unit residing in the memory 21 is decoded in this unit. In particular, the display control commands are therefore also processed therein. A second decoding unit 23 is shown separately. This second decoding unit 23 is provided in extended sub-picture decoding units. Those commands which are added to give an extended DVD Standard are processed in the second decoding unit 23. 
     In order merely to ensure compatible toleration of the extended commands, it can also be designed in such a way that it merely interprets each extended command as an end command. 
     The decoding units 22 and 23 are connected via bus links to the downstream units 24 to 27 and 29 to 31. The flashing control unit 24 is illustrated by dashed lines. It is present only in a sub-picture decoding unit which is designed according to an extended standard which, as command set for the display control commands, also contains the command for flashing display of sub-pictures SET --  BAREA. In the case of those sub-picture decoding units which are not designed according to the extended standard, this flashing control unit 24 is omitted. The flashing control unit 24 generates control signals for a downstream multiplexer control unit 28. This in turn generates control signals for the multiplexer unit 32, which will be discussed in more detail below. A highlighting control unit 25 is furthermore provided. This unit also generates control signals for the multiplexer control unit 28. Furthermore, a sub-picture control unit 26 is also provided, which likewise generates control signals for the multiplexer control unit 28. The reference number 27 designates a run length decoding unit. The compressed code of the pixel data is reversed therein. The flashing unit 29 is likewise illustrated by dashed lines, because it is present only in extended sub-picture decoding units. This flashing unit then effects switching on and switching off of the corresponding pixels for the flashing display. The reference number 30 designates a highlighting unit. The latter carries out the highlighting of pixels for the area provided in the corresponding command. A sub-picture unit 31 is furthermore provided, which generates the actual sub-picture with the properties provided in the sub-picture unit. If no flashing display nor any highlighting is programmed, only the data from the sub-picture unit 31 are used for the composition of the picture. The multiplexer unit 32 serves for the selection of the pixel data required in each case. This multiplexer unit is controlled by the multiplexer control unit 28. To that end, the multiplexer control unit 28 processes the signals forwarded to it by the control units 24 to 26. The signals each specify the positions at which the individual picture properties are to be reproduced. The multiplexer unit 28 thereupon calculates the requisite control signals for the multiplexer control unit 32. The sub-picture produced in this way is stored in the sub-picture memory 33. In this case, only the colour values are stored in the sub-picture memory 33. The contrast values are present at a separate output of the multiplexer unit 32 and serve to control the second multiplexer unit 34, which is provided for mixing the main picture with the sub-picture. To that end, the data stream from a video decoding unit (for example MPEG video decoder) is fed to it via a further input. In order to insert the data of the sub-picture into the video data stream at the correct position, it is also necessary, of course, to feed to the multiplexer unit 34 suitable control signals, which may also be generated by the multiplexer control unit 28. The complete video data stream is present at the output of the multiplexer unit 34. 
     The sub-picture unit illustrated in FIG. 3 can be stored in a read-only memory (EPROM, etc.). In the case of other sub-picture units, such as subtitles, for example, storage on a storage medium, in particular optical image carriers (DVD, Photo CD, CDi, Minidisk, etc.) can also be effected. Of course, storage on other storage media such as magnetic tapes and magnetic disks, etc., also comes into consideration. 
     FIG. 6 shows a DVD disk which has stored a sub-picture unit. 
     The invention has been explained using the example of a DVD playback device. It is not restricted to this, however. Command sequences for the control of units are also known in other technical fields. Printer control is cited as an example, in which a number of control commands which the printers have to process are also standardized. The problem therefore arises in this case, too, that the printing devices are not designed from the outset for all supplementations of the printer control commands. The invention can also be employed to enable compatible processing of new, added printer control commands. The display control in computer monitors with the aid of graphics cards is also cited as a further application of the invention. The same may also apply to control of a fax machine when a standardized control language is provided therefor. Further examples are possible.