Module for reading a data carrier
The invention relates to a module for reading data carriers, which is designed for incorporation in a data processing device.
Modules are known which are designed for reading data carriers, in particular CDs or DNDs used in the automotive field for incorporation in a car radio. Such modules offer the advantage that the module can always be of the same construction independently of the requirements or wishes of the end users or the car radio manufacturers, for example relating to different front panels or controls. The car radio itself comprises inter alia the front panel comprising controls and usually a display, the amplifier electronics, and a tuner unit for radio reception. Modules to be integrated in car radios must comply with stringent requirements such as a small constructional volume in spite of complicated mechanical elements, operation under major shocks and impacts and at high temperatures, and a defined heat balance. It is in particular the small constructional volume and the heat balance that usually do not allow complicated electronic components to be used in a module. The information made available by a module to a car radio must be designed such that both a car radio with a very limited display comprising few digits is capable of showing the essential information, and also an extensive TFT display such as may be present in combined navigation system/car radios can be used for providing an overview display. In addition to these requirements, the cost factor is essential in such a module.
It is known from the field of PCs that the user can define selection lists taken from the total number of audio data sequences (for example MP3 data files). Once such a selection list or playlist has been selected, only those data sequences will be reproduced which are included in this list.
It is an object of the present invention to improve a module as described above.
This object is achieved by means of a module for reading a data carrier, with a processor arrangement and a memory arrangement,
• wherein the module is designed for incorporation in a data processing device,
• wherein the data carrier comprises data sequences in a data carrier sequence order, • wherein the memory arrangement is designed for storing at least one selection list, o wherein the selection list defines a subset of data sequences and assigns a selection list sequence order to the data sequences of the subset, and
• wherein the processor arrangement is designed for o receiving a selection list command which activates or deactivates the selection list, and o receiving at least a function command, the function of which is implemented on the subset of the data sequences when the selection list is activated, or is implemented on all data sequences when the selection list is deactivated. The advantage of the invention is that the same commands can be used in both modes "activated selection list" and "deactivated selection list", but these commands operate on the different subsets with the respective sequence orders of data sequences. This offers the user a high degree of comfort in operation. The expression "subset" should also include the total set here. The data carrier sequence order of the data sequences is determined by the data carrier and by the structure of the data sequences stored thereon. The selection list sequence order of the data sequences, however, is determined only by the selection list and is independent of the structure of the data sequences stored on the data carrier.
The expression "processor arrangement" denotes the electronic components which are used for decoding, decompressing, and generally processing the data sequences that are read from a data carrier, and also for processing the received commands and for sending messages. A processor arrangement may comprise a plurality of components, for example a specific decoding processor and/or a programmable digital signal processor (DSP), as well as other associated electronic components. The term "memory arrangement" is understood to be at least a memory component or a plurality of memory components which are each designed for the complete or partial, volatile or non- volatile storage of program data for a DSP and/or for storing intermediate data (for example information on the data sequences of the data carrier instantaneously present in the module), and/or other data.
A further advantage of an arrangement of a module according to the invention is that data sequences in the selection list sequence order may be listed several times. If the user favors a special data sequence, he/she may cause this data sequence to be reproduced several times in succession or, for example, after every second data sequence. The invention also relates to a data carrier playback device, e.g. a car radio, in which a module as described is incorporated.
The various aspects of the invention will be explained in detail below with reference to embodiments and the drawing, in which:
Fig. 1 shows a module for reading data carriers with a CD/DVD in the insertion/ejection compartment,
Fig. 2 shows a car radio which is designed for incorporation in the interior of an automobile and in which a module for reading data carriers is mounted, Fig. 3 is a block diagram of the internal construction of the module, (block C)
Fig. 4 shows an example of the directory structure of a mixed-mode CD with uncompressed audio data sequences (DA) and with a ROM data sequence structure which comprises compressed audio data sequences (CA),
Fig. 5 shows by way of example how the information on the audio data sequences and the selection lists is laid down in directories in the memory arrangement, and Fig. 6 shows by way of example how a selection list defines a subset of the data sequences in a selection list sequence order by means of indexing.
Fig. 1 shows a module 1 for reading data carriers 2, which module has a data carrier 2 in its insertion/ejection compartment. Lines 8, 9, 10 (here shown as a flat cable with a plug connector) are provided for the power supply and data exchange and are coupled to the data processing device. The disc-shaped data carrier 2 (a CD/DVD in this case) is transported to a drive unit by mechanical elements (not shown) and is rotated thereon, such that a radially movable data pick-up is capable of reading data sequences present in spiraling pit structures on the CD/DVD.
Fig. 2 shows a car radio 15 which is designed for incorporation in the instrument panel of an automobile. The car radio 15 has a front 13 with controls 11, a display 12, and a slot 14 corresponding to the insertion/ejection compartment of the module. The
module 1 is integrated in the car radio 15, which may be realized by means of screwing or locking or other known mounting methods. A user may carry out simple or complicated operational actions by means of the controls 11, which then leads to an exchange of commands from the car radio 15 to the module 1. The module 1 supplies messages on its state, on errors, and on the processing of commands in return, which messages can be shown on the display 12.
Fig. 3 is a block diagram of the internal construction of a module 1 for reading CDs or DVDs. The drive unit 3 proper is formed by the drive for rotating the CD/DND, the optical data pick-up unit with a laser diode, lenses, and lens actuators for adjusting the focusing and tracking, a photodiode array for the multiple-field measurement for determining the focusing and tracking quality, and a radial drive for the data pick-up unit. The decoder IC 4 decodes the read data (for example EFM demodulation and error correction) and carries out an error interpolation, if necessary, and also controls the lens actuators for safeguarding an optimum focusing and tracking on the basis of the values of the multiple-field measurement. In the embodiment shown, the processor arrangement comprises the decoder IC 4 (for example a Philips PhonIC), a DSP 5 (for example a DA 150 from TI) for digital data processing, and a digital/analog converter unit 7. The DSP 5 carries out, for example, the MP3 decoding. The necessary program for MP3 decoding is stored in a non-volatile manner in the memory arrangement 6 and is loaded into the DSP 5 upon switching-on of the module. Other programs may equally be stored and loaded, such as the operating system for receiving and processing commands. Furthermore, new or updated programs may be read from a CD- ROM and may be stored in the memory arrangement 6.
The power supply and the communication with and control by the car radio are served by several lines 8, 9, 10, for example a I2S bus (Inter-IC-Sound), a I2C bus (Inter-IC- Communication), an S/P-DIF (Sony/Philips Digital Interface) output, analog outputs (for the respective left and right audio channels) for the transmission of digital/analog-converted audio data, and a power supply line. The I S and I C buses are serial buses with one or several clock lines for ensuring synchronization. As is shown in Fig. 1, the totality of all lines may be realized as a flat cable with a plug connector. On an audio CD, audio data are laid down consecutively on a spiraling track from the inside to the outside (this relates either to the process of manufacturing an audio CD, for example with molded pits, or a corresponding writing process on a CD-R or CD-RW for the manufacture of an audio CD). A table of contents (TOC), in which information is laid down on the CD and on the individual audio data sequences, is present before the start of the
actual audio data on the CD. In this TOC, for example, the absolute moment of the start of each audio data sequence can be found. This start time information is given in minutes (min), seconds (s), and frames (fra), one frame being one seventy-fifth of a second. A frame on a standard audio CD is composed of 98 fundamental 588-bit frames. Consecutive audio data are first interleaved and subsequently error-coded by the CIRC method. A further eight control bits are added to each block of 192 payload data bits and 64 error correction bits. Such a data block is subjected to an Eight-to-Fourteen Modulation (EFM) in which each eight-bit word is converted into a fourteen-bit word. Three coupling bits are joined to each fourteen-bit word, and finally each fundamental frame is provided with 24 synchronization bits, which results in a total of 588 bits. The information (min, s, fra) is also denoted a pointer, because the start of a data sequence can be unequivocally defined thereby (the time information in min, s, fra is incorporated in 98 control bits in each frame). Furthermore, the running time information for each audio data sequence can be calculated from the information in the TOC. Compressed audio data and playlists are laid down on a CD in the CD-ROM standard (Yellow Book Standard). Since it should be possible to reconstruct ROM data fully also in the case of minor scratches on the CD, there is an additional coding in addition to the channel coding described above. Instead of 192 payload data bits, blocks (sectors) of 2048 payload data bits are defined, which lead to a total of 2352 bytes per sector in combination with error correction data and other additional information. This corresponds to the payload data bits of 98 fundamental frames. The 2352 bytes of a sector are subdivided into 98 fundamental frames, as are the audio data, and are subjected to the same error coding and EFM, so that CD-ROM data can work with a double error correction. ROM data are laid down in a ROM data sequence structure. A ROM data sequence structure has its own table of contents (the so-called Volume Descriptor) and at least one data sequence. A ROM data sequence is characterized as such in the TOC of the CD. There is only one ROM data sequence structure on a standard CD-ROM. A ROM data sequence structure here usually comprises several data sequences arranged in a hierarchical structure, but these are not indicated in the TOC of the CD. Information about the data sequences of a ROM data sequence structure can only be found in its Volume Descriptor.
Standards have been defined for so-termed multi-session CDs and mixed- mode CDs so as to circumvent the limitation of only one ROM data sequence structure per CD-ROM. A multi-session CD comprises a plurality of ROM data sequence structures one after the other, each starting with a TOC. Each TOC then in addition comprises the
information that a further session may follow. In the case of a mixed-mode CD, a ROM data sequence structure and audio data sequences may be present together on one CD. The ROM data sequence structure is always deposited first here.
Each ROM data sequence structure has a table of contents (Volume Descriptor) in accordance with the ISO 9660 standard and possibly supplemented with the JOLIET specification for long data sequence names. The Volume Descriptor contains information on the physical locations where the data sequences contained in the ROM data sequence structure have their respective starting points. The start time of such a data sequence is also given in minutes, seconds, and frames, i.e. also by means of a pointer. Furthermore, the Volume Descriptor gives the name and the path of each of the data sequences, possibly hierarchically organized, within the ROM data sequence structure. Each data sequence of the ROM data sequence structure is characterized by an extension which describes the nature of the data sequence. Audio data sequences of audio data compressed in accordance with the MP3 process are then characterized by the extension "mp3". The structure of an example of a mixed-mode CD is diagrammatically shown in Fig. 4. The CD has a ROM data sequence structure. This is surrounded by a broken line, which is to indicate that the structure of the ROM data sequence is not indicated in the TOC. The analysis of the Volume Descriptor of the ROM data sequence structure provides the structure of the data sequences contained in the ROM data sequence structure. The ROM data sequence structure shown by way of example here comprises two directories (DIRl and DIR2) in a first hierarchical level. A directory is itself not a data sequence but is a file in which data sequences and/or further files or directories may be present. A further directory (SDIR1) is present in DIRl, as well as a data sequence with a compressed audio content (CA3). In the directory SDIR1, which defines a second hierarchical level, there are two data sequences with compressed audio contents (CAl and CA2). A data sequence PLl is laid down in the directory DIR2, which is at the same level as DIRl . This data sequence is a selection list or playlist, i.e. not an audio data sequence. The distinction is achieved by means of a suitable extension. The example of the CD furthermore comprises two uncompressed audio data sequences (DAI and DA2). The embodiment of a module according to the invention as described here is capable of processing various commands. Each command is identified by a code (for example a hexadecimal code) and can accordingly be unequivocally recognized and processed. Among the commands there are commands such as "EJECT", "PLAY", "STOP", and "PAUSE", which are known to those skilled in the art. The processing of a command can
lead to the module generating and sending a message. These messages may be acknowledgements of the processed command (for example the message "module is in the PLAY mode" after a PLAY command has been successfully processed). Alternatively, they may be error messages such as a "NO DISC" message if there is no CD in the compartment while a "PLAY" command was received. The messages may have various other contents which are obvious to those skilled in the art, or they may be combinations of messages. Messages may also be sent independently of processed commands, for example, if a CD was inserted into the module by the user, a message "DISC INSERTED" message may be sent.
After reading the TOC and the Volume Descriptor of the CD shown by way of example in Fig. 4, the DSP5 writes the created SONG information into the memory 6.
Reading of the TOC and Volume Descriptor may take place automatically after insertion of a CD, automatically before the first "PLAY" command, or may be started by means of a special command. The structure in which the SONG information is entered in the memory 6 is shown by way of example in Fig. 6 for the CD structure of Fig. 4. The SONG information comprises the items of information found in the TOC and in the Volume Descriptor (for example start time, running time, name, etc.). The SONG information may be a selection from the information from the TOC and Volume Descriptor each time, or it may comprise all information read. The dots in Fig. 6 serve to indicate that more information may be stored in the memory 6 than is shown (for example program data for the MP3 decompression). There is only one hierarchical level for the storage of the SONG information in the memory 6. This is formed by the four directories MDIR1, MDIR2, MDIR3, and MDIRP. The items of SONG information SI and S2, corresponding to the uncompressed audio data sequences DAI and DA2 and read from the TOC, are deposited in MDIR1. In the next directory MDIR2, the items of SONG information S3 and S4 are laid down, corresponding to the data sequences CAl and CA2 with compressed audio contents found first in the ROM data sequence structure and read from the Volume Descriptor of the ROM data sequence structure. Although CAl and CA2 were deposited in the second hierarchical level on the CD, the information corresponding to CAl and CA2 is entered in the memory 6 in a directory at the first hierarchical level. The reduction in interleaving depth offers a simple and at the same time structured subdivision which can be shown both on alphanumerical displays with few digits and on larger TFT displays in a graphical manner. The identifiers of the SONG information are numbered through continuously (i.e. S3 and S4), such that the highest identifier number indicates the total number of audio data sequences that is available. The directory MDIR3 then comprises the SONG information S5 corresponding
to the data sequence C A3. Since CA3 is deposited as the only data sequence in the directory DIRl in the ROM data sequence structure on the CD, the corresponding SONG information S5 is entered in its own directory. This is based on the assumption that the data sequences present in one directory on the CD will have, for example, a thematic interrelationship and that accordingly the relevant SONG information is to be advantageously written into one directory. The directories are also consecutively numbered through, as are the items of SONG information.
In a non-numbered directory MDIRP, the selection or playlist information PI corresponding to the playlist data sequence PLl is deposited. Playlist information in the embodiment described is not read until after the functional command "explore PLAYLISTS" (EP). The EP command may be automatically carried out upon the first PLAY command of an inserted CD, depending on the user's wishes. In addition to the possibility that a selection list may also be stored on the CD, a selection list may alternatively be defined by the user. The selection list thus defined is stored in the directory MDIRP, as is a selection list read from the CD. The selection lists are also continuously numbered. The first selection list is activated by means of a command such as "ADDRESS PLAYLIST 1" or "ACTIVATE PLAYLIST 1". When a selection list is activated, it can be deactivated with the selection list command "ADDRESS DIRECTORY 1", and the directory MDIR1 is activated in the example of the CD of Fig. 4. The selection list command "DEACTIVATE PLAYLIST" deactivates the activated selection list, and the previous state, which was stored, for example, in the memory 6, is restored.
Apart from the function command "PLAY", which starts the reading of the first data sequence (DAI in this case), there are further function commands:
„PLAY #" starts reading the data sequence having the number # („PLAY 3 " starts with reading C A 1 ) .
„PLAY NEXT" starts reading the next data sequence (if DAI is being read, then the reading of DA2 is started). „PLAY PREVIOUS" starts reading the previous data sequence (if CAl is being read, then the reading of DA2 is started). „PLAY SHUFFLE" random reading of the data sequences is started, each data sequence being read only once). „PLAY RANDOM" random reading of the data sequences is started, such that data sequences may be played more than once.
A selection list (or playlist) represents a table which determines a subset of audio data sequences in a selection list sequence order from among the set of all audio data sequences present in the data carrier sequence order (on the CD given by way of example in Fig. 4, the data carrier sequence order follows from the numbered SONG information about the data sequences SI, S2, ..., S6, as shown in Fig. 5). This is shown by way of example in Fig. 6. If the selection list is not activated, the data sequences are numbered in accordance with the SONG information about the data sequences stored in the memory. A command „PLAY 3" will then start reading the data sequence CAl, because CAl is the third data sequence in the data carrier sequence order. The SONG information about CAl is indexed S3. If a command „PLA Y NEXT" follows, the data sequence CA2 corresponding to the next stored SONG information, i.e. S4, is read, whereas the command „PLAY PREVIOUS" will cause a reading of the data sequence DA2 corresponding to the previous SONG information, i.e. S2.
If the selection list PLl is activated (for example by means of a selection list command such as „ADDRESS PLAYLIST 1 " or , ACTIVATE PLAYLIST 1 "), function commands relating to the data sequences are modified by the selection list table. The example of a selection list PLl determines from the data sequences of the data earner shown by way of example in Fig. 4 a subset comprising the four data sequences DAI, DA2, CA2, and CA3, as is shown in Fig. 6. The selection list sequence order of these data sequences is given by the references 1 ' → S2 = DA2, 2' → S4 = CA2, 3 ' → S 1 = DAI , and 4' → S5 = CA3 (the references are indicated in Fig. 6 by the broken-line arrows). The data sequence CAl accordingly does not belong to the subset defined by the selection list. Function commands relating to data sequences are now indexed in accordance with the selection list table. A command „PLAY 3" starts the reading of the data sequence DAI corresponding to the SONG information 3 ' — » S 1 numbered three in the selection list sequence order.
Similarly, a subsequent command „PLAY NEXT" will start the reading of the data sequence CA3 corresponding to the SONG information 4' -» S5 with the sequence number four. A command „PLAY PREVIOUS" will start the reading of the data sequence CA2 corresponding to the SONG information 2' - S4 with number two. A selection list may enter all data sequences in the same order as the data carrier sequence order, or the selection list may only renumber the data sequence order without leaving out any data sequences. A selection list may alternatively repeat certain numbers, so that, for example, DAI is read five times in a row.
An activated selection list offers the advantage that the commands triggered by the user act only on the audio data sequences favored by the user.
Other function commands such as „ADDRESS SONG #", with which the SONG information on the data sequence with number # is requested without starting the reading of the corresponding data sequence, also act on the active subset and the active order of sequences. For this purpose, the number attached to the command is pointed to the corresponding number of the total of data sequences in the data carrier sequence order by the index table of the selection list, if a selection list is activated.
If no selection list is activated, a command „ WRITE TO PLAYLIST" following a command „ADDRESS SONG #" can write the data sequence defined by # into a selection list defined by the user. The procedure for defining a user-defined selection list is as follows in an embodiment of the module according to the invention:
1. A command „OPEN PLAYLIST" deactivates any activated selection lists and starts an entry into the directory MDIRP of the memory arrangement. If an entry denoted PI is already present, the index is incremented and an entry P2 is started.
2. The data sequence CAl is selected with the „ ADDRESS SONG 3" command, and the information SI is made available as a message to the data processing device.
3. The command „WRITE TO PLAYLIST" generates an index „1 ' → S3" in the selection list such that the first data sequence is indexed for CAl when the selection list is activated.
4. Further indices are stored in the selection list entry P2 in that the steps 2 and 3 are repeated. It is possible here that further index numbers refer to S3.
5. The command „CLOSE PLAYLIST" terminates the selection list entry P2. P2 then represents a selection list that can be activated by means of the command „ ADDRESS PLAYLIST 2".