The present invention relates to a bit detection method for detecting the bit values of bits of a channel data stream stored on a record carrier. Further, the present invention relates to a corresponding bit detector, a method of reproduction of a user data stream, a corresponding reproduction device and a computer program for implementing said methods. In particular, the present invention relates to a bit detection method for information written in a two-dimensional way on a record carrier, such as an optical disc or a memory card.
European patent application 01203878.2 discloses a method and system for multi-dimensionally coding and/or decoding an information to/from a lattice structure representing channel bit positions of said coded information in at least two dimensions. Encoding and/or decoding is performed by using a quasi close-packed lattice structure. For the case of three-dimensional encoding and/or decoding, preferably a (quasi) hexagonally close packed (hcp) lattice structure is to be used. Another possibility in three dimensions is the use of a (quasi) face-centered cubic (fcc) lattice structure. For the case of two-dimensional encoding and/or decoding, preferably a quasi-hexagonal lattice structure is to be used. Another possibility in two dimensions could be the use of a quasi square lattice structure. For the sake of a more simple and clear description of the object of the present invention, special attention is given to the two-dimensional case. The higher-dimensional cases and the one-dimensional case can be derived as more or less straightforward extensions of the two-dimensional case.
In one-dimensional recording on optical discs the channel bits of the channel data stream are recorded along a spiral track, the spiral being one bit wide. For two-dimensional recording the channel bits of a channel data stream can also be recorded along a spiral, albeit a broad spiral, that consists of a number of bit rows which are aligned with respect to each other in the radial direction, that is, in the direction orthogonal to the spiral direction.
It is an object of the present invention to provide a bit detection method that provides a high recording density, in particular such that the traditional “eye” of the eye pattern may even be closed. The “eye height” in the traditional eye-pattern corresponds with the systematic minimum difference in signal levels for the case that a bit has a value “0” and the case that a bit has a value “1”. An “open eye” means that (on average, or without any noise) the signal levels for bit “0” and bit “1” can be clearly discriminated: in such case a threshold detection procedure with an appropriately set slicer level could be used. The case of a “closed eye” corresponds to the situation where some of the signal levels cannot unambiguously be allocated to bit “0” or bit “1”, even in the absence of noise. There is in the latter case a range of signal levels, called the erasure zone, where the signal levels for bit “0” and bit “1” overlap.
It is a further object of the present invention to achieve a low bit error rate, which is particularly less than 10−2 to 10−1 as would be achieved for the case of a “closed eye” by application of a straight forward threshold detection prior to ECC decoding. Preferably, the symbol or byte error rate (BER) for random errors in the case of a byte-oriented ECC, like the picket-ECC as used in BD (Blu-ray Disc format, formerly known as DVR), shall not be larger than 2×10−3; for an uncoded channel bit stream this corresponds to an upper bound on the allowable channel-bit error rate (bER) of 2,5×10−4.
These objects are achieved according to the present invention by a bit detection method as claimed in claim 1 according to which the channel data stream resides on an N-dimensional lattice of bits and comprises a plurality of contiguous bit units, each bit unit comprising at least one bit, wherein bit detection for the channel data stream is performed by an iterative procedure, each iteration being carried out on the basis of said bit units, wherein the bit values of the bits of said bit units are detected by said iterative procedure based on the received HF signal values of the bits of said bit units, said method comprising:
an initialisation step to obtain preliminary bit decisions for the bits of said bit units based on the HF signal values of said bits,
an updating step to update the bit values of the bits of said bit unit to be updated by searching for the bit values of each of the bits in said bit unit to be updated that best fulfil a predetermined criterion for said bit unit to be updated, said criterion being determined by the differences of the HF signal value and a reference HF signal value for each single bit of said bit unit to be updated, wherein said reference HF signal value is determined by the bit value of said single bit in said bit unit to be updated and by the bit values of the neighbouring bits of said single bit, and
an iteration to iterate said updating step until a predetermined condition is fulfilled.
These objects are further achieved by a bit detector as claimed in claim 17 comprising an appropriate initialisation means, an updating means and an iteration means.
The invention relates further to a method of reproduction of a user data stream, which is error correction code encoded and modulation code encoded into a channel data stream and stored on a record carrier, comprising a bit detection method as described above for detecting the bit values of bits of the channel data stream and a modulation code decoding method and an error correction code decoding method. Still further, the present invention relates to a reproduction device as claimed in claim 21 and a computer program as claimed in claim 22. Preferred embodiments of the invention are defined in the dependent claims.
The present invention is based on the idea to implement the bit detection method in an iterative but non-recursive way which allows for a high level of parallel processing in the implementation. As a reference, the PRML-type (partial-response-maximum-likelihood) of bit detectors sometimes used in 1D storage applications typically operate in a recursive way. Thus, for the non-recursive bit detectors of the present invention, a high capacity, in particular in two-dimensional optical storage, can be achieved which substantially improves the performance of a threshold detector. Hence, the bit detection method according to the invention does not prohibit implementations aimed for high data-rates. Preferably, the bit detection method performs joint bit detection, accounting preferably for the isotropic two-dimensional inter-symbol-interference (ISI), thus both in tangential and radial directions. Further, a low channel-bit error rate level for high densities can be reached as is required for achieving the required reliability of the storage channel, taking also the error correction coding into account.
According to the present invention bit units are formed comprising at least one bit. The bit values of the at least one bit are determined in said iterative procedure. In a first initialisation step preliminary bit decisions are obtained for said bits, for instance by a threshold detection, while in subsequent updating steps said preliminary bit decisions are updated, i.e. based on the detected HF signal values for said at least one bit and one or more reference HF signal values out of a set of reference HF signal values that is kept in memory. One reference HF-signal level is defined for each possible configuration of bits on the two-dimensional lattice of bits, which are denoted as (typical) clusters of bits. A cluster may consist, for instance, of a central bit and a number of neighbouring bits. For a 7-bit cluster, there a 6 nearest neighbouring bits apart from the central bit.
For each single bit of the bit unit the most likely bit values shall be determined using a predetermined evaluation criterion. Said determination is obtained by use of the bit values of the bits of the bit unit itself as well as by use of the bit values of the neighbouring bits of the bit unit. This is advantageous since the neighbouring bits or at least some of the neighbouring bits that are part of neighbouring bit units, have been updated in a previous iteration and are therefore more reliable than the bits of the bit unit itself, and they may further include an information which, in connection with the detected HF signal value, allows a more precise determination of the bit value of the bits of the bit unit. Said iteration is performed until a predetermined condition is met, for instance until a predetermined number of iterations has been performed or until an improvement of the predetermined evaluation criterion that should result in an improvement of the determined bit value has not been achieved during the last iteration(s).
Application of threshold detection will not yield the required low bit-error rates for the high capacity systems that are aimed at with two-dimensional optical storage. Thus, the bit detectors of the present invention will yield a high reliability (with low bit-error rate) for the high capacity systems, and because of their non-recursive character, they also allow to reach a high data rate since the processing can be implemented in a parallel way up to a large extent.
In case, the bit unit whose bit values are to be determined in an updating step comprises more than one bit, all possible bit patterns of said bit unit have to be evaluated. For each of these possible bit patterns, the bit values of said bits are set in accordance to the bit pattern at hand. Thus, each single bit of the bit unit to be updated has its own neighbouring bits whereby some of them can be neighbouring bits for all bits of the bit unit to be updated. Moreover, one or more neighbouring bits of a particular bit can even be another bit of the same bit unit to be updated at the same time. Preferably, the bit values of neighbouring bits which are not part of the bit unit to be updated, are determined in a previous updating step of the iterative procedure, preferably in the proceeding updating step, while the bit values of the neighbouring bits, which are part of the bit unit to be updated, are said to be equal to the corresponding bit values that apply for the current bit-pattern of the bit unit to be updated that is being evaluated.
According to another preferred embodiment the preliminary bit decisions of the initialisation step are obtained by threshold detection using a slicer level. Said threshold detection is based on the detected HF signal value for a particular bit.
Different criteria can be chosen to be fulfilled in said updating step. A preferred embodiment uses a criterion which is determined by the sum over all the bits in the bit unit, said sum comprising the squared differences of the HF signal value and a reference HF signal value of each single bit of the bit unit. Thus, in general 2i sums, i being the number of bits in the bit unit, are determined, one for each possible bit unit. The bit unit yielding the lowest value for the sum will be selected as the outcome of the current iteration of the bit detection method. Alternatively, said sum comprises the absolute values of the differences of the HF signal value and a reference HF signal value for each single bit of said bit unit.
Generally, the present invention is applicable to a multi-dimensional code, where the channel words of the channel data stream may evolve in a one-dimensional direction of infinite extent for a track-based system, i.e. for an optical record carrier along a spiral track. On the other hand, the channel words of the channel data stream may evolve in more than one direction as is the case for a card-based system. A first preferred application is in 3-dimensional coding where the bits are located on a 3-dimensional lattice of bit positions. However, it is preferred to apply the invention to a channel data stream which comprises a one-dimensionally evolving bit sequence or which comprises a channel strip of at least two bit rows one-dimensionally evolving along a first direction and aligned with each other along a second direction orthogonal to said first direction, said two directions constituting a two-dimensional lattice of bit positions. Preferred embodiments of the latter case are defined in claims 8 to 15.
As already mentioned the bit unit may comprise one ore more bits. In a simple case each bit unit comprises exactly one bit. It is then preferred that the bit value of said single bit is updated by a threshold operation using an adapted slicer level set at half of the sum of a first reference HF-signal level for the case said single bit would have bit value 0 and a second reference HF-signal level for the case said single bit would have bit value 1. Said reference HF-signal levels depend on the bit values of the neighbouring bits. The latter bit values of the neighbouring bits have been determined in a previous iteration. Using in addition the information from the neighbouring bits as opposite to the use of a standard slicer where the slicer level is independent of the neighbouring bits, will then allow to decide with higher reliability if the bit value of the bit of the bit unit to be updated is 0 or 1.
According to further preferred embodiments the bits of the channel data stream are arranged on a two-dimensional hexagonal or a square lattice and each bit unit comprises two or three bits.
The bit detection according to the present invention can be implemented sequential or in parallel. Preferred embodiments using a sequential implementation are defined in claims 13 and 14. Therein threshold detection and updating of bits is preferably performed bit column by bit column within a detection window while in each bit column the bit values are determined according to a “zig-zag” sequence starting from the outermost bits of the bit column and ending at the innermost bit of the bit column. This procedure is continued until it reaches the last bit column of the detection window whereafter the detection window is shifted in the direction in which the code evolves along the spiral track comprising at least two bit rows.
Alternatively the bit values of the bits of an bit unit to be updated can also be updated in parallel for a number of bit columns. Such parallel implementation may be beneficial with respect to obtainable data rate.
According to a preferred embodiment also soft-decision information or reliability information can be obtained from bit detector units of the proposed bit detector, and this soft-decision information may be used in subsequent iterative decoding procedures, for instance like turbo-decoding or LDPC (low-density parity-check) decoding.
A bit detector according to the present invention and preferred embodiments thereof are defined in claims 17 to 19. In the embodiment of claim 19 the bit detector needs N bit-clock instants (clock1) to achieve a next bit-update, which is clocked at an N-times lower clock (clock2) into a subsequent register of a second array for storing bit-vectors.
The invention shall now be explained with reference to the drawings in which
In the above mentioned European patent application EP 01203878.2 the 2D constrained coding on hexagonal lattices in terms of nearest-neighbour clusters of channel bits is described. Therein, it has been focussed mainly on the constraints with their advantages in terms of more robust transmission over the channel, but not on the actual construction of such 2D codes. The latter topic is addressed in the European patent application 02076665.5 (PHNL 020368), i.e. the implementation and construction of such a 2D code is described therein. By way of example, a certain 2D hexagonal code shall be illustrated in the following. However, it should be noted that the general idea of the invention and all measures can be applied generally to any 2D code, in particular any 2D hexagonal or square lattice code. Finally, the general idea can also be applied to multi-dimensional codes, possibly with isotropic constraints, characterized by a one-dimensional evolution of the code.
As mentioned, in the following a 2D hexagonal code shall be considered. The bits on the 2D hexagonal lattice can be identified in terms of bit clusters. A hexagonal cluster consists of a bit at a central lattice site, surrounded by six nearest neighbours at the neighbouring lattice sites. The code evolves along a one-dimensional direction. A 2D strip consists of a number of 1D rows, stacked upon each other in a second direction orthogonal to the first direction. The principle of strip-based 2D coding is shown in
The signal-levels for 2D recording on hexagonal lattices are identified by a plot of amplitude values for the complete set of all hexagonal clusters possible. Use is further made of the isotropic assumption, that is, the channel impulse response is assumed to be circularly symmetric. This implies that, in order to characterize a 7-bit cluster, it only matters to identify the central bit, and the number of “1”-bits (or “0”-bits) among the nearest-neighbour bits (0, 1, . . . , 6 out of the 6 neighbours can be a “1”-bit). A “0”-bit is a land-bit in our notation. A typical “Signal-Pattern” is shown in
At exactly the same density as traditional 1D optical recording (with the current BD standard taken as a yardstick), the signal-pattern of
For a more simple analysis of the bit detectors, the channel is often approximated by a fully linear one with a 7-bit impulse response, and with a central tap denoted by c0, and a nearest-neighbour tap (the same coefficient for all 6 nearest neighbour bits in the cluster) denoted by c1. The schematic Signal-Pattern for this simplified model, together with that one for the “exact” scalar-diffraction model, is shown in
The situation of
In
It shall be noted that, for the case of
In
Firstly, reference will be made to a situation with an error-zone containing only two overlapping signal levels. This situation is shown schematically in
In other words, for a bit to have a signal level within the error-zone, it must have at least three neighbours with signal levels outside and at the same side of the error-zone. Thus, for a cluster with a signal amplitude within the error-zone, it is sufficient to determine the bit-value for the nearest neighbour bits to set the bit-value of a central bit. The step-by-step procedure for this case might be as follows:
first, threshold detection (with a single slicer level) is applied for the HF-signal at all bits;
then, all bits which have signal levels in the error-zone are identified as unreliable bits, the bit-value of which is not yet determined;
for each unreliable bit, the bit decisions of its nearest neighbour bits are checked; in the ideal case, there must be at minimum 3 nearest neighbours with signal levels outside the error-zone, and at the same side of the threshold level, that is, these nearest neighbour bits must be identical. In an erroneous situation, one or more of these nearest neighbour bits may also be within the error-zone. In such case, one should only check the reliable nearest neighbour bits.
the bit-value of the unreliable (central) bit is set to the opposite bit-value of its reliable nearest neighbour bits.
It is obvious that for the case, where the error-zone has three overlapping levels, the error-zone comprises also the clusters where a bit has exactly two nearest neighbours of the same type. Hence, there are situations in which all neighbours of a bit within the error-zone, are also within the error-zone: in such case, there are no reliable bits at all within the cluster of 7 bits, and the above procedure cannot be applied for all cases.
From the above discussion, it is clear that taking account of the bit decisions in nearest-neighbouring bits may be very beneficial in order to improve the reliability of the bit decisions. This is a joint bit detection approach. This basic principle will be used in the iterative bit detector of the present invention.
First, the bit detector where we aim to detect a single bit in a cluster of 7-bits—actually, the central bit of the hexagonal cluster—shall be described. The detector shall be denoted by HD-1.
The detector HD-1 can be generalized to a detector in which a number of contiguous bits (defined as a bit unit) are detected at once, just by performing a maximum-likelihood evaluation of all possible candidate bit-patterns for the set of contiguous bits. By a set of contiguous bits we mean a set of bits that fill a contiguous two-dimensional area in the broad spiral. In
It may be clear that further generalizations to bit units of n bits can easily be made (yielding a HD-n bit detector).
In the following the HD-3 bit detector, where the bit unit or core consists of a bit-triplet, shall be considered more in detail, There are thus 23=8 possible settings or possible bit-patterns of the bit unit. Evaluation of the best setting of the bit unit can be achieved by searching for the setting with the minimum value of a predetermined criterion. One possible criterion could be the sum of three terms (one term for each bit of the three bits of the bit unit), with each term being the squared difference between the detected (or received) HF-signal and the reference HF-signal that corresponds with the 7-bit hexagonal cluster that is constituted partly by the bits in the surrounding (denoted as “configuration” in
The unravelling operation to identify the three separate hexagonal clusters is shown schematically in
where HFi denotes the signal waveform for the i-th bit of the bit unit, that is, xi, and RL(cli) denotes the reference amplitude level for a 7-bit hexagonal cluster of type cli. So a total of 8 sums (each consisting of 3 terms), one for each of the possible settings or patterns of the considered bit unit, must be performed. The bit setting or bit pattern of the bit unit (of 3 core bits) yielding the lowest value for the sum will be selected as the outcome of the current iteration of the bit detector.
There are generally different implementations of the bit detector possible, such as a parallel and a sequential implementation. First, the sequential implementation shall be considered.
a shows the “sliding window” sequential implementation, which will be explained in more detail for the HD-1 bit detector. In particular, two subsequent stages of the sliding window are shown. The zig-zag pattern at the right-hand side is the most recent one, and its bit values are derived from a simple preliminary bit detector like a threshold detector. The zig-zag pattern at the left hand side is the oldest pattern, and its bit decisions have gone through 6 successive iterations of the HD-1 bit detector. Those bit decisions are the most reliable ones. Conceptually, the array of spots that is used for the parallel read-out of the information on the medium (disc) is scanning the right most zig-zag pattern in the window.
The sliding window consists of a part of the broad spiral consisting of n+1 zig-zag bit-arrays over the full width of the broad spiral. The bits are updated successively, in the order as indicated by the numbers in the bits as shown in
At the first zig-zag pattern, the detector starts with threshold detection (iteration j=0). At the second zig-zag, the detector performs iteration j=1, with at the neighbouring zigzag at its right side using bit decisions from j=0, and at the neighbouring zigzag at its left side using bit decisions from j=2. This procedure is continued until it reaches the last zig-zag in the sliding window.
Once all the bits are updated within the sliding window, the window shifts along the direction of the spiral over the distance of one zig-zag bit-array: this is shown in the bottom part of
For the second case, where the bit to be updated is located at the edges of a zig-zag pointing towards the right side in
The HD-2 bit detector (simple implementation) with same structure as for HD-1 bit detector is shown in
In the case the HD-2 bit detector unit requires more than one clock cycle (which is highly likely, because of the relative complexity of the operations for finding the “best” candidate bit-pair for the bit-unit), then a parallel hardware implementation should be aimed at.
A parallel implementation of the HD-2 bit detector, assuming that three clock cycles are needed for the HD-2 bit detector, is shown in
Each of the HD-2 blocks receives at its input the bit-arrays of neighbouring HF-vector arrays and the required HF-samples of the bits to be updated (not shown here for simplicity); the output of each of the HD-2 blocks is an updated bit-array.
It should be noted that neighbouring HF-vector arrays are meandering from top to bottom all the time. That is the reason why the respective bit-array inputs for the HD-2 blocks may cross from one branch to the other. Further, it should be noted that the appropriate neighbour-array for a block in the first branch is to be taken from the third branch, but at the previous update for that branch: hence the large arrow points upwards from right to left.
A HD-2 bit-uit with bits b0 and b1 is shown in
Reference-levels to be used in core of HD-2 bit detector are shown in
The basics of the HD-2 bit detector block are shown in
For each hexagonal cluster (with one central bit, and 6 neighbouring bits), a reference signal level is available from a memory (“HF Reference-Level Memory”). The reference level to be taken from the memory is determined by the two bits of the bit unit, and by 5 out of the 8 neighbouring bits of the two-bit bit-unit. The received HF-signal for each bit of the two bits of the bit-unit are subtracted from the corresponding reference level; the absolute values (shown here; it may also be any other “norm” like the quadratic norm using the squared values instead) of these respective signal differences are added together for each of the four possible two-bit configurations for the two bits of the bit-unit. The bits that result from the HD-2 bit detector are those that lead to the smallest value of the above set of 4 parameters (or samples of the selection criterion, one sample for each possible two-bit bit-unit). This is denoted in
For the density of about 1.4× BD, it can be observed from
For the density of about 1.7× BD, it can be observed from
In the above description the iterative hard-decision bit detectors for the case of 2D hexagonal modulation have been devised, where each bit has 6 nearest neighbours. It can equally well be applied for the case of 2D square-lattice modulation, where each bit has 4 nearest neighbours. Further, the present invention has been described for reference levels based on hexagonal clusters consisting of 7 bits: it is evident for a person skilled in the art that the present invention may be extended to the situation where the reference levels depend on clusters of a larger size, taking neighbouring bits into account beyond the nearest neighbouring bits on the 2D lattice of bits. Still further, this principle can also be applied in 1D modulation for optical storage. Then, the clusters of nearest neighbours are to be replaced by 1D bit-configurations with a length determined by the extent of the 1D impulse response of the channel.
Still further, after completing the last iteration, the HD-n bit detectors can yield soft-decision output, which can be used at a further stage in a LDPC decoder (or Turbo-decoder). Since the configuration of the nearest neighbours is fixed at each bit decision, the soft-decision information can be computed from the measured HF-signal for the bit under consideration, using the two cluster reference levels T0 and T1 (which are the reference levels with the central bit being a “0” or a “1”, respectively). The soft-decision information is then the probability that the bit has a value “1”, and can be obtained from a Fermi-Dirac like S-curve, based on the two reference levels.
Number | Date | Country | Kind |
---|---|---|---|
02079097.8 | Oct 2002 | EP | regional |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/IB03/04148 | 9/17/2003 | WO | 3/29/2005 |