"Apparatus for reading an information carrier"
FIELD OF THE INVENTION
The invention relates to an apparatus for reading an information carrier.
The invention has applications in the field of optical data storage.
BACKGROUND OF THE INVENTION
The use of optical storage solutions is nowadays widespread for content distribution, for example in storage systems based on the DVD (Digital Versatile Disc) standards. Optical storage has a big advantage over hard-disc and solid-state storage in that the information carrier are easy and cheap to replicate.
However, due to the large amount of moving elements in the drives, known applications using optical storage solutions are not robust to shocks when performing read/write operations, considering the required stability of said moving elements during such operations. As a consequence, optical storage solutions cannot easily and efficiently be used in applications which are subject to shocks, such as in portable devices.
New optical storage solutions have thus been developed. These solutions combine the advantages of optical storage in that a cheap and removable information carrier is used, and the advantages of solid-state storage in that the information carrier is still and that its reading requires a limited number of moving elements.
Fig.l depicts a three-dimensional view of system illustrating such a new optical storage solution.
This system comprises an information carrier 101. The information carrier 101 comprises a set of adjacent elementary data areas having size S and arranged as in a matrix. Data are coded on each elementary data area via the use of a material intended to take different transparency levels, for example two levels in using a material being transparent or non- transparent for coding a 2-states data, or more generally N transparency levels (for example N being an integer power of 2 for coding a log2(N)-states data).
This system also comprises an optical device 104 (such as a periodic array of apertures or an array of optical fibres) for generating an array of light spots 102 which are intended to be applied to said elementary data areas.
Each light spot is intended to be applied to an elementary data area. According to the transparency state of said elementary data areas, the light spot is transmitted (not at all, partially or fully) to a CMOS or CCD detector 103 comprising pixels intended to convert the received light signal, so as to recover the data stores on said elementary data area.
To read the information carrier, a scanning of the information carrier 101 by the array of light spots 102 is done in a plane (x, y) parallel to the information carrier. A scanning device (not shown) provides translational movement in the two directions x and y for scanning all the surface of the information carrier.
Advantageously, one pixel of the detector is intended to detect a set of elementary data, said set of elementary data being arranged in a so-called macro-cell data, each elementary data area among this macro-cell data being successively read by a single light spot of said array of light spots 102. This way of reading data on the information carrier 101 is called macro-cell scanning in the following and will be described after.
Fig.2 depicts a partial cross-section and detailed view of the information carrier 101, and of the detector 103. The detector 103 comprises pixels referred to as PX1-PX2-PX3, the number of pixels shown being limited for facilitating the understanding. In particular, pixel PXl is intended to detect data stored on the macro-cell data MCl of the information carrier, pixel PX2 is intended to detect data stored on the macro-cell data MC2, and pixel PX3 is intended to detect data stored on the macro-cell data MC3. Each macro-cell data comprises a set of elementary data. For example, macro-cell data MCl comprises elementary data referred to as MC Ia-MC Ib- MCl c-MC Id.
Fig.3 illustrates by an example the macro-cell scanning of the information carrier 101. For facilitating the understanding, only 2-states data are considered, similar explanations holding for an N-state coding. Data stored on the information carrier have two states indicated either by a black area (i.e. non-transparent) or white area (Le. transparent). For example, a black area corresponds to a "0" binary state while a white area corresponds to a "1" binary state.
When a pixel of the detector 103 is illuminated by an output light beam generated by the information carrier 101, the pixel is represented by a white area. In that case, the pixel delivers an electric output signal (not represented) having a first state. On the contrary, when a pixel of the detector 103 does not receive any output light beam from the information carrier, the pixel is represented by a cross-hatched area. In that case, the pixel delivers an electric output signal (not represented) having a second state.
In this example, each macro-cell data comprises four elementary data areas, and a single light spot is applied simultaneously to each set of data. The scanning of the information carrier 101 by the array of light spots 102 is performed for example from left to right, with an incremental lateral displacement which equals the pitch of the elementary data areas.
In position A, all the light spots are applied to non-transparent areas so that all pixels of the detector are in the second state.
In position B, after displacement of the light spots to the right, the light spot to the left side is applied to a transparent area so that the corresponding pixel is in the first state, while the two other light spots are applied to non-transparent areas so that the two corresponding pixels of the detector are in the second state.
In position C, after displacement of the light spots to the right, the light spot to the left side is applied to a non-transparent area so that the corresponding pixel is in the second state, while the two other light spots are applied to transparent areas so that the two corresponding pixels of the detector are in the first state.
In position D, after displacement of the light spots to the right, the central light spot is applied to a non-transparent area so that the corresponding pixel is in the second state, while the two other light spots are applied to transparent areas so that the two corresponding pixels of the detector are in the first state. Elementary data which compose a macro-cell opposite a pixel of the detector are read successively by a single light spot. The scanning of the information carrier 101 is complete when the light spots have each been applied to all elementary data area of a macro-cell data facing a pixel of the detector. This implies a two-dimensional scanning of the information carrier.
Fig.4 represents a top-view of an information carrier 101 as depicted in Fig.l. This information carrier comprises a plurality of square adjacent macro-cells (MCl, MC2, MC3...), each macro-cell comprising a set of elementary data areas (EDAl, ED A2, ...). In this example,
each macro-cell comprises 16 elementary data areas and is intended to be read by a single circular light spot (represented by black circles).
The data recovery is done in a massively parallel manner concurrently with the scanning of the array of light spots. For each position of the array of light spots, a set of data called "data page" is read at the same time. A data page is thus constituted by data on which is applied the light spots at a given instant, said data being located at the same position in all macro-cells.
Such way of reading the information carrier however suffers from limitations.
Firstly, to achieve parallel detection of a full data page, one must make sure that the light spots are accurately aligned with the macro-cells structure over the entire media. In other words, the pitch of the light spots must equal the pitch of the macro-cells. This constraint is however very difficult to respect, due for example to manufacturing tolerances and/or media expansion/shrinkage effects, e.g. due to temperature fluctuation. In practice, the required alignment between the light spots and the macro-cells can only be achieved over a small portion of the information carrier. This means that in a given data page, only a subset of data can be recovered, the other data of this data page being lost since they do not reflect a correct value. Secondly, the light signals, at the output of elementary data areas on which are applied the light spots, may suffer from crosstalk, i.e. inter-symbol interference, due to the interaction of the light spots with neighbouring data areas. Considering that, for obtaining a high storage capacity, elementary data areas are grouped close to each other, such a crosstalk problem will become more severe. In other words, crosstalk hinders reliable recovery of data fromthe information carrier.
Finally, data can also be lost because of imperfection in planar alignment between the arrays of light spots and the information carrier, or because the light spots do not focus accurately at the surface of the information carrier.
Known algorithms, such as the so-called Viterbi detection, are used to compensate the effects of crosstalk and data loss, which leads to a data recovery improvement. However, such algorithms exploit the data redundancy and/or correlation between adjacent data, which restrict their use to conventional optical storage solutions in which data are sequentially stored and read. In other words, such known algorithms are not adapted to compensate effects of crosstalk
and data loss if data are arranged according to data pages as previously described. Indeed, in this case, since data of a given page are spatially distant from each other, no redundancy nor correlation between can be found.
OBJECT AND SUMMARY OF THE INVENTION
It is an object of the invention to propose an improved method of recovering data stored on an information carrier, said data being stored according to data pages.
To this end, the method of recovering data from an information carrier having data stored according to data pages, each data page being formed by a set of data being spatially distant from each other, comprises the steps of : reading at least one data page so as to generated at least one read data page, storing said at least one read data page in a storage memory, - recovering data from said at least one read data page stored in said storage memory.
This solution allows in a first step to shift the problem caused by optical and mechanical constraints to the digital processing domain, then in a second step to recover data stored on the information carrier by performing dedicated data recovering algorithms. Since the data pages are stored in a memory, such data recovering algorithms can now easily exploit the redundancy and/or correlation between adjacent data.
No more optical and mechanical strict constraints are thus required, which leads to an easier implementation.
In a preferred solution, instead of storing the totality of data pages of the information carrier, only a subset of data pages on said information carrier.
This allows to define a system having a smaller memory capacity, contributing to define a cost-effective system.
Advantageously, this subset of data pages spatially surround a particular data page for which data must be recovered, which allows to recover data of said particular data page in exploiting the redundancy and/or correlation between the spatially adjacent data stored in this storage memory.
Advantageously, the method proposes a step of temporarily storing a read data page, followed by a step of processing said stored data page so as to reduce the bit volume.
In reducing the bit volume of the data page, a storage memory with even smaller capacity may be used.
This is also an object of the invention to propose a system, a reading apparatus, a portable device, a portable telephone, which implement said method for recovering data from an information carrier having data stored according to data pages.
Detailed explanations and other aspects of the invention will be given below.
BRIEF DESCRIPTION OF THE DRAWINGS
The particular aspects of the invention will now be explained with reference to the embodiments described hereinafter and considered in connection with the accompanying drawings, in which identical parts or sub-steps are designated in the same manner :
Fig.l depicts a system for reading an information carrier according to the invention, Fig.2 depicts a detailed view of said system,
Fig.3 illustrates by an example the principle of macro-cell scanning of an information carrier,
Fig.4 depicts an information carrier intended to be read by a plurality of light spots, Fig.5 represents of flow chart of the method according to the invention, Fig.6 depicts an embodiment of the method according to the invention, Fig.7 illustrates various devices implementing the method according to the invention.
DETAILED DESCRIPTION OF THE INVENTION
In the following, the invention will be described in supposing that data to be recovered are stored in data pages in an information carrier as that depicted in Fig.4. Since this information carrier contains data arranged as in a matrix, the macro-cells also contains elementary data arranged as in a matrix.
In a given macro-cell, a given elementary data will be identify as ED(I3J), where I corresponds to the integer line rank in that macro-cell, and J to the integer column rank in that macro-cell. At a given instant, a light spot is thus applied to each elementary data having
position (I,J) in the macro-cells. In other words, a data page is defined by all elementary data having position (I,J) in the macro-cells.
Fig.5 depicts a flow chart of the method according to the invention, of recovering data from an information carrier having data stored according to data pages, each data page being formed by a set of data being spatially distant from each other.
This method comprises a step 501 of reading said data pages so as to generate read data pages. If for example an information carrier as depicted in Fig.4 is used, the method preliminary comprises a step of generating an array of light spots intended to be applied to said information carrier, and a step of detecting the level of light signals outputted by said information carrier in response of said light spots.
Optionally, this method also comprises a step 502 of deciding if a bit volume reduction of a read data page is required. Such decision may be given automatically the reading apparatus in which the method is implemented, according to available memory capacity.
If no bit volume reduction is required (by default), the method directly goes on to a step 505 of storing the read data page in a storage memory. At this level, the read data page is formed by the levels of said light signals generated by the step of detecting. If a bit volume reduction is required, the method comprises a step 503 of temporarily storing a read data page, then a step 504 of processing said stored data page so as to reduce the bit volume of this data page. Such step 504 of processing may consist in performing algorithm which will be detailed in the following. Then the method comprises the step 505 of storing in said storage memory the read data page having now a reduced bit volume.
Optionally, this method also comprises a step 506 of deciding, if after having read a first data page, another data page must be read on the information carrier and stored on the storage memory.
If another data page must be read (by default), the method goes back to step 501 of reading a data page.
If no additional data page must be read, the method goes on to a step 507 of recovering data from said read data pages stored in said storage memory.
The step 506 of deciding allows to advantageously read and generate only a subset of data pages from said information carrier. Advantageously, said subset of data pages is spatially
located around a particular data page containing data to be recovered. For example, to recover data from a given data page, only the subset formed by the 8 neighbouring data pages, as well as this given data page, may be used to recover data.
Since data pages are now stored in the storage memory, it becomes possible by a memory addressing, to exploit the redundancy and the correlation existing between adjacent elementary data of a given macro-cell, or between adjacent elementary data belonging to adjacent macro-cells, in applying data recovering algorithms detailed in the following.
Fig.6 depicts an embodiment of the method according to the invention. This embodiment corresponds to a system for recovering data from an information carrier having data stored according to data pages as depicted in Fig.4, each data page being formed by a set of data being spatially distant from each other. This system comprises a data reading system for reading at least one data page so as to generated at least one read data page.
This data reading system may comprises an optical element 604 (such as a periodic array of apertures or an array of optical fibres) for generating an array of light spots 602 intended to be applied to an information carrier 601, and a detector 603 facing said information carrier for detecting the level of light signals outputted by said information carrier in response of said light spots.
The detector, for example of the CMOS type, is made of adjacent pixels intended to deliver a binary value coded with a plurality of bits, advantageously 8 bits (i.e. grey levels). The output of the detector 603 is connected to a data bus DB allowing the communication between the different processing means of the system. By default, one pixel of the detector faces a macro-cell. Advantageously, a plurality of pixels may face a macro-cell so that a given elementary data stored being read is over-sampled, facilitating the data recovery since this over-sampling introduces some information redundancy.
This system also comprises a storage memory SMEM connected to the data bus DB, for storing said at least one read data page.
If all data pages of the information carrier are read and stored in the storage memory SMEM, no further interaction between the information carrier and the reading apparatus (in which is implemented the system according to the invention) is needed. Thus, the information
carrier may be removed from the reading apparatus. However, this solution requires a storage memory SMEM having a considerable capacity.
This is the reason why, to limit the capacity of the storage memory SMEM, this system optionally comprises a data compression system DCS for reducing the volume of said at least one read data page intended to be stored in said storage memory SMEM. Said data compression system DCS comprises a second processor CPU2 connected to a second instruction memory MEM2, said second instruction memory MEM2 being intended to store code instructions for performing a data reduction algorithm.
If such data compression system DCS is activated, the data page which has just been read may be temporarily stored in a buffer BUF connected to the data bus DB. The data compression system DCS can thus apply the data reduction algorithm to the data stored in the buffer BUF. Alternatively, instead of temporarily store the read data page in the buffer BUF, the characteristic of pixels of the CMOS detector to retain temporarily signal levels may advantageously be used, so that the data compression system DCS is directly applied on the data levels available at the detector pixels working as a buffer. Once data reduction is performed, the data page with reduced bit volume is transferred to the storage memory SMEM.
The data reduction algorithm may consist in a bit-shifting process applied to data forming the read data page, for example in transforming 8-bit data in 3-bit data.
Alternatively, in the case a plurality of data pages are read and temporarily stored in the buffer BUF, the data reduction algorithm may consist in suppressing the redundancy between spatially adjacent data, for example in combining bit strings of 0 and bit strings of 1.
Alternatively, in the case a plurality of data pages are read and temporarily stored in the buffer BUF, the data reduction algorithm may consist in a downsampling operation performed on the partial (or total) image data of the information carrier.
This system also comprises a processing module PM connected to said storage memory SMEM, via the data bus DB, for recovering data from said at least one read data page.
Said processing module PM comprises a first processor CPUl connected to a first instruction memory MEMl, said first instruction memory MEMl being intended to store code instructions for performing a data recovery algorithm.
It is noted that if a lossless (i.e. reversible) data reduction algorithm has been performed before storing the data pages in the storage memory SMEM, it may be necessary to perform a reverse data reduction to recover original read data pages on which the data recovery algorithm will be applied. On the contrary, if a data reduction algorithm with data loss (i.e. not
reversible) has been performed before storing the data pages in the storage memory SMEM, read data pages stored on the storage memory SMEM are directly used by the data recovery algorithm.
The data recovery algorithm may correspond, for example, to the so-celled PRML detection (partial response maximum likelihood detection) by means of the Viterbi algorithm. Since this algorithm is known as such by a skilled person, it will not be described further.
This data recovery leads to relevant results if adjacent data in the read data pages stored in the storage memory respect the so-called Shannon theorem, said theorem asserting that a signal can be recovered only if the maximum frequency in its frequency spectrum is at the maximum half the sampling frequency. Since the read data pages result from a transform (i.e. filtering step) performed by the information carrier, said transform being equivalent to a low-pass filter, this constraint is verified if adjacent data stored on the information carrier also respect the so-called Shannon theorem.
In other words, the maximum frequency, in the frequency spectrum of adjacent data stored on the information carrier, must preferably be half the sampling frequency, at the maximum, where the sampling frequency corresponds in this case to the inverse distance between two elementary data areas. An implementation of this condition may be that the minimum size of the elementary data on the medium is equal to twice the sampling pitch (i.e. twice the distance between the light spots for adjacent data pages).
It is noted that the first instruction memory MEMl and the second instruction memory MEM2 may of course correspond to different storage areas of a same instruction memory.
Similarly, the storage memory SMEM and the buffer BUF may of course correspond to different storage areas of a same storage memory.
As illustrated in Fig.7, the system and method according to the invention may advantageously be implemented in a reading apparatus RA (e.g. home player apparatus ...), a portable device PD (e.g. portable digital assistant, portable computer, a game player unit...), a mobile telephone MT. Each of these devices comprises an opening (OP) intended to receive an information carrier 701 as depicted in Fig.4, in view of a data recovery.
The verb "comprise" does not exclude the presence of other elements than those listed in the claims.