A method of converting a stream of databits of a binary information signal into a stream of databits of a constrained binary channel signal, a device for encoding, a signal, a record carrier, a method for decoding, and a device for decoding. The signal is constructed by repetitively or alternately using channel codes c1 and c2. Since two channel words with opposite parities are available in the channel code c2 for each information word, and the same state is established, predetermined properties of the constrained binary channel signal can be influenced. Since the method further comprises the step of substituting, in dependence upon a value of a predetermined property of the binary channel signal, a channel word for a substitute channel word, wherein the substituted channel word and the substitute channel word establish the same state, predetermined properties of the constrained binary channel signal can be further influenced.
|
16. A method of converting a stream of databits of a binary information signal into a stream of databits of a constrained binary channel signal, the method comprising:
converting each n-bit information word of a binary information signal into a channel word such that the binary channel signal includes a sequence of channel words; and substituting, in dependence upon a value of a predetermined property of the binary channel signal, a substituted channel word for a substitute channel word so as to influence the value of the predetermined property of the binary channel signal, wherein the substituted channel word and the substitute channel word establish a same state: wherein each said channel word is selected from the group consisting of an m1-bit channel word in accordance with a channel code c1 and an m2-bit channel word in accordance with a channel code c2, wherein n, m1, and m2 are positive integers such that m2>m1>n. 20. A device for encoding a stream of databits of a binary information signal [ into a stream of databits of a constrained binary channel signal, said binary information signal comprising n-bit information words, said binary channel signal comprising a sequence of channel words, said sequence of channel words comprising m1-bit channel words and m2-bit channel words, the device comprising:
an n-to-m1-bit converter for converting the n-bit information words into corresponding m1-bit channel words, an n-to-m2-bit converter for converting the n-bit information words into corresponding m2-bit channel words, state-establishing means for establishing a coding state of the m1-bit channel words and of the m2-bit channel words, wherein n, m1, and m2 are positive integers such that m2>m1>n, and wherein at least one of the n-to-m1-bit converter and the n-to-m2-bit converter comprises substitution means for substituting a limited number of substituted channel words for substitute channel words so as to influence predetermined properties of the binary channel signal, the substituted channel word and the substitute channel word establishing the same state.
11. A constrained binary channel signal comprising a sequence of channel words:
wherein each said channel word is selected from the group consisting of an m1-bit channel word in accordance with a channel code c1 and an m2-bit channel word in accordance with a channel code c2, wherein m1 and m2 are positive integers such that m2>m1, wherein at least two of said m2-bit channel words have opposite parities, wherein said channel words are concatenated such that said sequence of channel words comprises said concatenated channel words, wherein said concatenated channel words comprise concatenated m1-bit channel words and m2-bit channel words, wherein said concatenated m1-bit channel words and m2-bit channel words comply with a runlength constraint of the binary channel signal, wherein each m1-bit channel word is associated with a coding state of said channel code c1, said coding state of said channel code c1 being established in dependence upon an end part of the preceding channel word in said sequence of channel words, wherein each m2-bit channel word is associated with a coding state of said channel code c2, said coding state of said channel code c2 being established in dependence upon an end part of the preceding channel word in said sequence of channel words, wherein end parts of the m1-bit channel words in a coding state of channel code c1 and beginning parts of the m2-bit channel words in a coding state of channel code c2 are arranged to comply with said runlength constraint, and wherein, in dependence upon a value of a predetermined property of the binary channel signal, a channel word substitutes for a substitute channel word so as to influence the value of the predetermined property of the binary channel signal, wherein the substituted channel word and the substitute channel word establish a same state.
13. A method of decoding a stream of databits of a constrained binary channel signal into a stream of databits of a binary information signal that includes n-bit information words, the method comprising converting the constrained binary channel signal into the binary information signal:
wherein the binary information signal includes a sequence of channel words, wherein one of said n-bit information words is generated from each of said channel words, wherein each said channel word is selected from the group consisting of an m1-bit channel word in accordance with a channel code c1 and an m2-bit channel word in accordance with a channel code c2, wherein m1 and m2 are positive integers such that m2>m1, wherein at least two of said m2-bit channel words have opposite parities, wherein said channel words are concatenated such that said sequence of channel words comprises said concatenated channel words, wherein said concatenated channel words comprise concatenated m1-bit channel words and m2-bit channel words, wherein said concatenated m1-bit channel words and m2-bit channel words comply with a runlength constraint of the binary channel signal, wherein each m1-bit channel word is associated with a coding state of said channel code c1, said coding state of said channel code c1 being established in dependence upon an end part of the preceding channel word in said sequence of channel words, wherein each m2-bit channel word is associated with a coding state of said channel code c2, said coding state of said channel code c2 being established in dependence upon an end part of the preceding channel word in said sequence of channel words, wherein end parts of the m1-bit channel words in a coding state of channel code c1 and beginning parts of the m2-bit channel words in a coding state of channel code c2 are arranged to comply with said runlength constraint, wherein, in dependence upon a value of a predetermined property of the binary channel signal, a channel word substitutes for a substitute channel word so as to influence the value of the predetermined property of the binary channel signal, wherein the substituted channel word and the substitute channel word establish a same state, and wherein, during said converting, one n-bit information word is assigned to one channel word or to one substitute channel word.
14. A device for decoding a stream of databits of a constrained binary channel signal into a stream of databits of a binary information signal that includes n-bit information words, the device comprising converting means for converting the constrained binary channel signal into the binary information signal:
wherein the binary information signal includes a sequence of channel words, wherein one of said n-bit information words is generated from each of said channel words, wherein each said channel word is selected from the group consisting of an m1-bit channel word in accordance with a channel code c1 and an m2-bit channel word in accordance with a channel code c2, wherein m1 and m2 are positive integers such that m2>m1, wherein at least two of said m2-bit channel words have opposite parities, wherein said channel words are concatenated such that said sequence of channel words comprises said concatenated channel words, wherein said concatenated channel words comprise concatenated m1-bit channel words and m2-bit channel words, wherein said concatenated m1-bit channel words and m2-bit channel words comply with a runlength constraint of the binary channel signal, wherein each m1-bit channel word is associated with a coding state of said channel code c1, said coding state of said channel code c1 being established in dependence upon an end part of the preceding channel word in said sequence of channel words, wherein each m2-bit channel word is associated with a coding state of said channel code c2, said coding state of said channel code c2 being established in dependence upon an end part of the preceding channel word in said sequence of channel words, wherein end parts of the m1-bit channel words in a coding state of channel code c1 and beginning parts of the m2-bit channel words in a coding state of channel code c2 are arranged to comply with said runlength constraint, wherein, in dependence upon a value of a predetermined property of the binary channel signal, a channel word substitutes for a substitute channel word so as to influence the value of the predetermined property of the binary channel signal, wherein the substituted channel word and the substitute channel word establish a same state, and wherein said converting means converts one n-bit information word to one channel word or to one substitute channel word.
12. A record carrier, comprising tracks having an information pattern recorded therein:
wherein the information pattern represents a portion of a constrained binary channel signal, wherein the information pattern comprises first parts and second parts alternating in the direction of a track of said tracks, wherein the first parts represent first bit cells of the binary channel signal such that the first bit cells have a low signal level, wherein the second parts represent first bit cells of the binary channel signal such that the first bit cells have a high signal level, wherein the portion of the constrained binary channel signal comprises a sequence of channel words, wherein each said channel word is selected from the group consisting of an m1-bit channel word in accordance with a channel code c1 and an m2-bit channel word in accordance with a channel code c2, wherein m1 and m2 are positive integers such that m2>m1, wherein at least two of said m2-bit channel words have opposite parities, wherein said channel words are concatenated such that said sequence of channel words comprises said concatenated channel words, wherein said concatenated channel words comprise concatenated m1-bit channel words and m2-bit channel words, wherein said concatenated m1-bit channel words and m2-bit channel words comply with a runlength constraint of the binary channel signal, wherein each m1-bit channel word is associated with a coding state of said channel code c1, said coding state of said channel code c1 being established in dependence upon an end part of the preceding channel word in said sequence of channel words, wherein each m2-bit channel word is associated with a coding state of said channel code c2, said coding state of said channel code c2 being established in dependence upon an end part of the preceding channel word in said sequence of channel words, wherein end parts of the m1-bit channel words in a coding state of channel code c1 and beginning parts of the m2-bit channel words in a coding state of channel code c2 are arranged to comply with said runlength constraint, and. wherein, in dependence upon a value of a predetermined property of the binary channel signal, a channel word substitutes for a substitute channel word so as to influence the value of the predetermined property of the binary channel signal, wherein the substituted channel word and the substitute channel word establish a same state.
1. A method of converting a stream of databits of a binary information signal into a stream of databits of a constrained binary channel signal, the method comprising:
converting each n-bit information word of a binary information signal into a channel word such that the binary channel signal includes a sequence of channel words; and substituting, in dependence upon a value of a predetermined property of the binary channel signal, a channel word for a substitute channel word so as to influence the value of the predetermined property of the binary channel signal, wherein the substituted channel word and the substitute channel word establish a same state: wherein each said channel word is selected from the group consisting of an m1-bit channel word in accordance with a channel code c1 and an m2-bit channel word in accordance with a channel code c2, wherein n, m1, and m2 are positive integers such that m2>m1>n, wherein at least two of said m2-bit channel words have opposite parities, wherein said channel words are concatenated such that said sequence of channel words comprises said concatenated channel words, wherein said concatenated channel words comprise concatenated m1-bit channel words and m2-bit channel words, wherein said concatenated m1-bit channel words and m2-bit channel words comply with a runlength constraint of the binary channel signal, wherein converting said n-bit information word into said m1-bit channel word comprises selecting a set of m1-bit channel words from a plurality of sets of m1-bit channel words followed by selecting said m1-bit channel word from said set of m1-bit channel words, each set of m1-bit channel words being associated with a coding state of said channel code c1, said coding state of said channel code c1 being established in dependence upon an end part of the preceding channel word in said sequence of channel words, wherein converting said information word into said m2-bit channel word comprises selecting a set of m2-bit channel words from a plurality of sets of m2-bit channel words followed by selecting said m1-bit channel word from said set of m2-bit channel words, each set of m2-bit channel words being associated with a coding state of said channel code c2, said coding state of said channel code c2 being established in dependence upon an end part of the preceding channel word in said sequence of channel words, and wherein end parts of the m1-bit channel words in a coding state of channel code c1 and beginning parts of the m2-bit channel words in a coding state of channel code c2 are arranged to comply with said runlength constraint. 9. A device for encoding a stream of databits of a binary information signal into a stream of databits of a constrained binary channel signal, said binary information signal comprising n-bit information words, said binary channel signal comprising a sequence of channel words, said sequence of channel words comprising m1-bit channel words and m2-bit channel words, the device comprising:
an n-to-m1-bit converter for converting the n-bit information words into corresponding m1-bit channel words, an n-to-m2-bit converter for converting the n-bit information words into corresponding m2-bit channel words, state-establishing means for establishing a coding state of the m1-bit channel words and of the m2-bit channel words, wherein the n-to-m1 bit converter is additionally arranged to select the m1-bit channel word depending on an end part of the preceding channel word in said sequence of channel words, wherein the n-to-m2 bit converter is additionally arranged to select the m2-bit channel word depending on an end part of the preceding channel word in said sequence of channel words, wherein n, m1, and m2 are positive integers such that m2>m1>n, wherein at least two of said m2-bit channel words have opposite parities, wherein said channel words are concatenated such that said sequence of channel words comprises said concatenated channel words, wherein said concatenated channel words comprise concatenated m1-bit channel words and m2-bit channel words, wherein said concatenated m1-bit channel words and m2-bit channel words comply with a runlength constraint of the binary channel signal, wherein each m1-bit channel word is associated with a coding state of a channel code c1, said coding state of said channel code c1 being established in dependence upon an end part of the preceding channel word in said sequence of channel words, wherein each m2-bit channel word is associated with a coding state of a channel code c2, said coding state of said channel code c2 being established in dependence upon an end part of the preceding channel word in said sequence of channel words, and wherein end parts of the m1-bit channel words in a coding state of channel code c1 and beginning parts of the m2-bit channel words in a coding state of channel code c2 are arranged to comply with said runlength constraint, and wherein at least one of the n-to-m1-bit converter and the n-to-m2-bit converter comprises substitution means for substituting a limited number of channel words for substitute channel words so as to influence predetermined properties of the binary channel signal, the substituted channel word and the substitute channel word establishing the same state.
2. The method of
3. The method of
4. The method as claimed in
5. The method of
6. The method of
8. The method of
10. The device of
15. The device of
17. The method of
18. The method of
wherein said channel words are concatenated such that said sequence of channel words comprises said concatenated channel words, wherein said concatenated channel words comprise concatenated m1-bit channel words and m2-bit channel words, wherein said concatenated m1-bit channel words and m2-bit channel words comply with a runlength constraint of the binary channel signal, and wherein end parts of the m1-bit channel words in a coding state of channel code c1 and beginning parts of the m2-bit channel words in a coding state of channel code c2 are arranged to comply with said runlength constraint.
19. The method of
wherein converting said n-bit information word into said m1-bit channel word comprises selecting a set of m1-bit channel words from a plurality of sets of m1-bit channel words followed by selecting said m1-bit channel word from said set of m1-bit channel words, each set of m1-bit channel words being associated with a coding state of said channel code c1, said coding state of said channel code c1 being established in dependence upon an end part of the preceding channel word in said sequence of channel words, and wherein converting said information word into said m2-bit channel word comprises selecting a set of m2-bit channel words from a plurality of sets of m2-bit channel words followed by selecting said m1-bit channel word from said set of m2-bit channel words, each set of m2-bit channel words being associated with a coding state of said channel code c2, said coding state of said channel code c2 being established in dependence upon an end part of the preceding channel word in said sequence of channel words.
21. The method of
wherein the n-to-m1 bit converter is additionally arranged to select the m1-bit channel word depending on an end part of the preceding channel word in said sequence of channel words, and wherein the n-to-m2 bit converter is additionally arranged to select the m2-bit channel word depending on an end part of the preceding channel word in said sequence of channel words.
|
The invention relates to a method of converting a stream of databits of a binary information signal into a stream of databits of a constrained binary channel signal, wherein the stream of databits of the binary information signal is divided into n-bit information words, said information words being converted into m1-bit channel words in accordance with a channel code C1, or m2-bit channel words in accordance with a channel code C2, where m1, m2 and n are integers for which it holds that m2>m1≧n, wherein the m2-bit channel word is chosen from at least two m2-bit channel words at least two of which have opposite parities, the concatenated m1-bit channel words and the m2-bit channel words complying with a runlength constraint of the binary channel signal, the method comprising the repetitive and/or alternate steps of:
selecting the m1-bit channel word from a set out of a plurality of sets of m1-bit channel words, each set comprising only m1-bit channel words having a beginning part out of a subset of beginning parts of the m1-bit channel words, each set being associated with a coding state of channel code C1, the coding state being established in dependence upon an end part of the preceding channel word, or:
selecting the m2-bit channel word from a set out of a plurality of sets of m2-bit channel words, each set comprising only m2-bit channel words having a beginning part out of a subset of beginning parts of the m2-bit channel words belonging to said set, each set being associated with a coding state of channel code C2, the coding state being established in dependence upon an end part of the preceding channel word, the end parts of the m1-bit channel words in a coding state of channel code C1 and the beginning parts of the m2-bit channel words in a set of channel code C2 being arranged to comply with said runlength constraint.
The invention also relates to a device for encoding, a signal comprising a stream of databits of a constrained binary channel signal, a record carrier, a method for decoding and a device for decoding.
The non-prepublished, co-pending European Patent Application no. 00200712.8 (PH-NL000074) describes a constrained binary channel signal which is constructed by repetitively or alternate using a channel code C1 and a channel code C2. Due to the fact that two channel words with opposite parities are available in the channel code C2 for each information word, predetermined properties of the constrained binary channel signal can be influenced, e.g. for performing guaranteed DC-control. No additional DC-control on top of this guaranteed DC-control is performed. It may be advantageous to be able to create this additional DC-control.
The invention has for an object to further influence predetermined properties of the above-mentioned constrained binary channel signal, e.g. for performing additional DC-control.
The method according to the invention comprises the step of substituting, in dependence upon a value of a predetermined property of the binary channel signal, a channel word for a substitute channel word so as to influence the value of the predetermined property of the binary channel signal, wherein the substituted channel word and the substitute channel word establish the same state.
This process of substituting channel words can only be performed for a limited number of entries in the code table. By substituting a limited number of channel words for substitute channel words, stochastic DC-control can be accomplished, for instance, if the substitutions cause a parity inversion. Stochastic control is understood to be the kind of control in which the actual use of this control via substitution depends on the actual data content (information words) that enters the encoder. The choice whether to perform a substitution can be carried out on the basis of the value of a predetermined property of the binary channel signal, e.g. based on an RDS-related criterion or a DSV-related criterion. RDS stands for "Running Digital Sum". By controlling this RDS, the suppression of lowfrequency components or DC-control can be accomplished. DSV stands for "Digital Sum Variation", indicating the total number of sum values a binary channel signal assumes. The choice whether to perform a substitution can be made in dependence upon the value of any predetermined property of the binary channel signal one wants to influence (e.g. the generation of pilot tracking tones, refer to U.S. Pat. No. 5,136,436 (PHN 12533)).
The invention is based on the recognition that, in the design of the channel code based on the combination of two codes C1 and C2 (refer to the non-prepublished, co-pending European Patent Application no. 00200712.8 (PH-NL000074)), there is some extra room for the introduction of stochastic control on top of the guaranteed control. This extra room is exploited in that a limited number of channel words is substituted for other substitute words in order to be able to influence predetermined properties of the binary channel signal. Substitution of channel words also relates to the substitution of a part of a channel word. In order to guarantee, for instance, a DC-control of a predetermined performance level in the channel code based on the combination of the two codes C1 and C2, the substitutions, i.e. the combination of substituted channel word and substitute channel word, must have the property that both the substituted channel word and the substitute channel word establish the same state.
In another method according to the invention, the step of substituting a channel word for a substitute channel word comprises different types of substitutions.
The available room in the design of the above-mentioned channel code can be used to introduce different types of substitutions. In this way, substitutions are created, for more information words thereby increasing the stochastical control on the binary channel signal.
In another method according to the invention, maximally one type of substitution occurs for each information word.
It is advantageous to introduce maximally one type of substitution for each information word. In this way, the available substitutions are better "spread" over the information words, thereby increasing the stochastic control on the binary channel signal.
In another method according to the invention, the substitute channel word does not belong to the sets of channel words of channel codes C1 or C2.
This first substitution type is based on the fact that, in this channel code, some specific channel words do not occur in the channel bitstream under normal application of the channel code; these channel words can be used as substitute channel words. By substituting a limited number of channel words for substitute channel words not belonging to the channel words present in the binary channel signal before the substitutions, additional, stochastic DC-control can be accomplished.
In another method according to the invention, the substitute channel word is omitted from the sets of channel words of channel codes C1 or C2 in view of a constraint on the number of successive xT runlengths in the binary channel signal. In an embodiment, x=3. In another embodiment, the number of successive xT runlengths is 6.
This second substitution type is based on the fact that some channel words, which are initially omitted in view of an RMTR constraint, can be used as substitutions on the condition that concatenation with the previous channel word does not lead to a violation of this RMTR constraint. RMTR stands for "Repeated Minimum Transition Runlength". An RMTR=6 constraint e.g. implies that the number of successive 3T runlengths in the sequence of channel words is limited to 6. More information about this constraint can be found in published patent application WO99/63671-A1 (PHQ 98.023).
In another method according to the invention, the substitute channel word is chosen from one set of a plurality of sets of channel words, the set being associated with a coding state different from the coding state the substituted channel word was in.
This third substitution type is due to the fact that, due to the structure of the channel code, it is possible to "swap" between coding states conditionally, which means that the "swap" can only be done for some channel words. "Swap" is understood to mean that the substitute channel word used in the binary channel signal is chosen from a coding state different from the coding state the substituted channel word is in. If the parity of the substituted channel word is different from the parity of the substitute channel word, room for extra influence of predetermined properties of the binary channel signal is created.
These and other aspects of the invention will be further described in the Figure description, in which,
We consider two channel codes, C1 and C2. Both codes are applied on n-bit symbols. Channel code C1 is a high-rate code with n-to-m1 mapping; channel code C2 is a low-rate code with n-to-m2 mapping. In this example, for d=2, k=10, C1 has a 8-to-15 mapping, and C2 has a 8-to-17 mapping (n=8, m1=15, m2=17). Guaranteed DC-control, i.e. DC-control for every possible sequence of information words, is achieved if the following conditions are satisfied: for each n-bit symbol, channel code C2 has two channel words, one with even and one with odd parity in order to influence the RDS-value of the binary channel signal; for each n-bit symbol, the two possible channel representations of code C2 have the same next-state. The Finite-State-Machines (FSMs) of codes C1 and C2, indicating the states and state characterisations of the channel codes C1 and C2, have the same number of states, and the FSMs are based on the same approximate eigenvector (according to Franazek's definition, see §5.3.1. of the book "Codes for mass data storage systems", K. A. Schouhamer Immink, November 1999, Shannon Foundation Publishers (ISBN-90-74249-23-X), which implies that channel words ending with a given number of zeroes have a certain multiplicity, irrespective of the fact whether they are part of a channel word from the main code C1 or from the dual code C2. The approximate eigenvector in this case of d=2, k=10 which satisfies an approximate eigenvector inequality is the following: V(d=2,k=10)={2,3,4,4,4,3,3,3,2,1}.
However, the characterisation of the states of FSM1 for C1 and FSM2 for C2 may be different. These state characterisations are chosen in order to realise the constraints imposed on the binary channel signal. These constraints can be, for example, runlength-limiting constraints (d, k) or an RMTR constraint. In this way, the constraints imposed on the binary channel signal, formed by concatenating the m1-bit channel words and the m2-bit channel words, are satisfied. We can call channel code C1 the main code, whereas channel code C2 is referred to as the dual code. The upper part of
The two available m2-bit channel words are indicated in
The lower part of
In these Figures, a notation of "-102|", as can be found in the column words IN in state 1 of the main code, indicates all channel words with an ending "100". In the same way "|010101-", as can be found in the column words OUT of state 2 of the main code, indicates all channel words with a beginning "0100000000001".
The Finite-State-Machines (FSMs) of codes C1 and C2 have the same number of states, and the FSMs are based on the same approximate eigenvector, which implies that channel words ending with a given number of zeroes have a certain multiplicity, irrespective of the fact whether they are part of a channel word from the main code C1 or from the dual code C2. In the FSM of the dual code C2, each branch leaving a state corresponds to two possible channel words (word-pair) with i) opposite parity and ii) the same next-state. The
A lot of channel words or word-pairs are used more than once across different states. By appropriate mating, i.e. grouping of the same combination of channel words or word-pairs together with next-states to one single table entry for more than one state, error propagation can be reduced because a precise distinction of the states leading to the given channel word, has become irrelevant for these channel words or word pairs. In fact, the codes C1 and C2 allow full state-independent decoding.
The skilled person is familiar with channel codes comprising different states, the states forming a Finite-State-Machine. Detailed information on state-coding can be found in literature, for example in European Patent Specification EP 0 745 254 B1 (PHN 14.746) or in the book "Codes for mass data storage systems", K. A. Schouhamer Immink, November 1999, Shannon Foundation Publishers (ISBN-90-74249-23-X).
In §5.3 of this book it is explained that, in order to be able to construct a sequence of channel words complying with the constraints imposed on a channel code, at least M words that terminate at the same or other principal states must emanate from each coding state. The existence of a set of coding states is therefore a necessary condition for the existence of a code for the specified number of information words (256 in case of an 8-bit information word). It can be shown that if an approximate eigenvector satisfies an approximate eigenvector inequality, then a fixed-length code with the predetermined constraints and other parameters of the code can be ascertained. More details can be found in §5.3.1 of this book and in the literature references therein.
The coding method in the above example has the following parameters: d=2, k=10, n=8, m1=15, m2=17; a skilled person can, without using inventive measures, apply the teaching of this method to generate binary channel signal with, for example, d=2, n=7 or d=2 or n=13. He can, for example, also generate a binary channel signal with a d=1 constraint.
In the example coding table of
The code construction of the channel code (indicated with EFMCC, for EFM-Combi Code) allows for additional influencing predetermined properties of the binary channel signal, e.g. for DC-control of stochastic nature, on top of the guaranteed DC-control. As an example, only stochastic DC-control (SDCC) for the main code C1 of EFMCC is considered, but the invention is not limited to this example. We distinguish three types of SDCC:
The first type is related to the surplus words of the main code C1, the number of which is for states 1 up to 6: {15,3,5,6,0,5}, i.e., a total of 34 surplus words. These words can be used unconditionally. These surplus words can be found in the second row of the code table in FIG. 4. For example for state 6, the 5 surplus words can be found at the information words 224, 248, 249, 250 and 251.
The second type of SDCC is related to channel words that have been omitted in view of the RMTR=6 constraint. Some of these channel words can be used conditionally as substitutions, i.e., on condition that concatenation with the previous word does not lead to a violation of the RMTR constraint. In this example, the channel words that would require a check on the RMTR constraint upon concatenation with the next channel word are omitted. The number of surplus words of the second type are for the different states: {9,0,0,0,4,6}, i.e., a total of 19 surplus words. These surplus words can be found in the third row of the code table in FIG. 4. For example for state 1, the 9 surplus words can be found at the information words 205, 206, 216, 217, 218, 219, 220, 221 and 222.
The third type of SDCC is related to two "state-swaps" that are based on the structure of the FSM of EFMCC. A first state-swap is possible from state 4 towards state 5 for those situations where the previous channel word has n trailing zeroes, 2≦n≦4, and where the present channel word has a characteristic bit-pattern at the beginning of the word: -10n|0310m1- may be converted into -10n|0m+41- for 2≦m≦6-n. Note that the border of a channel word is denoted by |. For state-independent decoding, the corresponding channel words for states 4 and 5 have to refer to the same byte-value and the code table has been arranged accordingly. The conditional state-swap from state 4 to state 5 is possible for 85 entries in the coding table of the main code C1. A second state-swap is possible from state 1 towards state 4 for those situations where the previous channel word has n trailing zeroes, 6≦n≦7, and where the present channel word has a characteristic bit-pattern at the beginning of the word: -10n|10m1- may be converted into -10n|0m+11- for 2≦m≦9-n. The corresponding channel words for states 1 and 4 have to refer to the same byte-value. The conditional state-swap from state 1 to state 4 is possible for 192 entries in the coding table of the main code C1. Examples of the first state-swap (from state 4 towards state 5) can be found in the coding table at the information words 0, 1, 2, 3 and 4. Examples of the second state-swap (from state 1 towards state 4) can be found in the coding table at the information words 4, 5 and 6.
It must be noted that for all substitute channel words in this example, the following conditions are fulfilled:--a substitute channel word has a parity opposite to that of the substituted channel word;--both the substituted word and the substitute word have the same next-state in the FSM. Due to the fact that these conditions are fulfilled, the bytes that are to be encoded with the main code C1, and that allow for a substitution of stochastic type (SDCC), can play exactly the same role as the bytes that are to be encoded with the substitution code C2.
It must also be noted that not only the "character" of the channel word is deciding for which substitution may be suited, also the coding state the channel word is in is of influence. This can for example be seen at the information words 54 and 252. At these information words, in state 3 and state 6 the same channel word is present, namely 010010010010000 respectively 010010010010001. Due to the structure of the FSM for state 3, these channel words make possible a substitution of the first type, i.e. they can be used unconditionally, while these same channel words in state 6, make possible a substitution of the second type, i.e. they can not be used unconditionally in view of the RMTR-constraint and the fact that words entering state 6 have 1 trailing zero.
In
In
In
When decoding the channel words into the information words, a so-called hashing-technique can be used, as will be explained below. Using this technique results in a reduced hardware complexity, i.e. a smaller number of gates, necessary to implement the decoder algorithm. We will describe one particular implementation in more detail. Decoding the channel words of the main code, using the hashing technique is performed as follows. Via enumerative decoding for d=2 the 15-bit channel word is converted into a 9-bit word by 15-to-9 mapping. Enumerative decoding is decoding in which the channel words to be decoded are computed by an algorithmic procedure based on the d=2 constraint instead of storing all the channel words in a table (for more information about enumerative coding refer to chapter 6 of the book "Codes for mass data storage systems", K. A. Schouhamer Immink, November 1999, Shannon Foundation Publishers, ISBN-90-74249-23-X). The number of the next-state is decoded via 2-bit coding in 2 bits because the maximum multiplicity of channel words equals 4. The 9-bit word and the 2-bit state word results in an 11-bit index. This 11-bit index is converted into the 8-bit information word with a hashing table for the main code, this hashing table comprising a table with at maximum 2048 entries (=211) (state-independent decoding).
In
Considering the look-ahead decision tree, we can distinguish guaranteed nodes (use of C2) and stochastic nodes (use of C1 with stochastic DC-control according to one of the substitution types as explained with reference to FIG. 4). In this embodiment the look-ahead tree is based only on the guaranteed nodes. For the stochastic nodes, an immediate decision (for which word to choose, the substitute one or the substituted one) is made on the basis of the best path in the RDS-tree. In this way, the length of the look-ahead encoding paths in the RDS-tree is always fixed, which is advantageous for a real-time encoder. Three successive stages of the look-ahead decision tree are shown in FIG. 6. The first stage has a all tree without any stochastic node. In the subsequent stage, the tree encounters a new DC-control segment with one byte that yields a stochastic node. That byte is marked with an "X". Note that it can be allowed that different choices are made for byte "X" dependent on the branches "0" and "1" related to the choice at the dual code C2. The use of the additional stochastic DC-control does not influence the property of state-independent decoding of the channel code with channel code C1 and C2, and error propagation remains at most one byte.
Whilst the invention has been described with reference to preferred embodiments therefor, it is to be understood that these are not limitative examples. Thus, various modifications may become apparent to those skilled in the art, without departing from the scope of the invention, as defined by the claims.
For example the scope of the invention is not limited to a binary code. Without deviating from the gist of the invention, the substitutions according to the invention can be applied to multi-level codes, ternary codes or other M-ary codes. The number of different m2-bit channel words for each n-bit information word must at least be two and in an advantageous situation, this number is equal to the number of values of the multivalued "parity"-parameter, while the "parities" of the channel words must at least cover all the different values at least once. In the case of a ternary code (with values -1, 0 and 1) at least three different m2-bit channel words with "parities" -1, 0 and 1 must be present in the certain channel code C2 (with the same next-state).
Furthermore, the invention resides in each and every novel characteristic feature or each and every combination of characteristic features.
Coene, Willem Marie Julia Marcel
Patent | Priority | Assignee | Title |
6903780, | Jun 08 2001 | Texas Instruments Incorporated | Method of expanding high-speed serial video data providing compatibility with a class of DVI receivers |
7119721, | Jan 07 2000 | Koninklijke Philips Electronics N.V. | Converting information words into different length code words depending on a property of a code signal |
7403138, | Sep 15 2004 | Koninklijke Philips Electronics N V | Coder and a method of coding for codes having a Repeated Maximum Transition Run constraint of 2 |
9305590, | Oct 16 2007 | Seagate Technology LLC | Prevent data storage device circuitry swap |
9679602, | Jun 14 2006 | Seagate Technology LLC | Disc drive circuitry swap |
Patent | Priority | Assignee | Title |
4488142, | |||
5136436, | Apr 26 1988 | U S PHILIPS CORPORATION, A DE CORP | Apparatus for recording a digital information signal and utilizing the digital sum value thereof to record an auxiliary digital signal, and apparatus for reproducing such recorded signals |
5696505, | Feb 15 1994 | U S PHILIPS CORPORATION | Method of converting a series of m-bit information words to a modulated signal, method of producing a record carrier, coding device, decoding device, recording device, reading device, signal, as well as record carrier |
5781131, | Dec 12 1994 | Sony Corporation | Data encoding method and data decoding method |
5790056, | Sep 01 1995 | U S PHILIPS CORPORATION | Method of converting a series of m-bit information words to a modulated signal, method of producing a record carrier, coding device, device, recording device, signal, as well as a record carrier |
5969651, | Mar 08 1996 | Sony Corporation | Signal modulating method, signal modulating apparatus, signal demodulating method and signal demodulating apparatus |
6002718, | Oct 27 1995 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Method and apparatus for generating runlength-limited coding with DC control |
6281815, | Apr 21 1999 | SAMSUNG ELECTRONICS CO , LTD | Method of allocating RLL code having enhanced DC suppression capability, modulation method, demodulation method, and demodulation apparatus therefor |
6297753, | Jan 29 1999 | JVC Kenwood Corporation | Eight-to-fifteen modulation using no merging bit and optical disc recording or reading systems based thereon |
6362754, | Mar 23 1999 | U S PHILIPS CORPORATION | Method of decoding a stream of channel bits of a signal relating to a binary channel signal into a steam of source bits of a signal relating to a binary source signal |
6404355, | Oct 01 1998 | Koninklijke Philips Electronics N V | Generation of a runlength limited digital information signal |
EP2007128, | |||
WO9963671, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
May 10 2001 | Koninklijke Phillips Electronics N.V. | (assignment on the face of the patent) | / | |||
Sep 10 2001 | COENE, WILLEM MARIE JULIA MARCEL | Koninklijke Philips Electronics N V | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 012200 | /0821 |
Date | Maintenance Fee Events |
Jun 14 2006 | REM: Maintenance Fee Reminder Mailed. |
Nov 27 2006 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Nov 26 2005 | 4 years fee payment window open |
May 26 2006 | 6 months grace period start (w surcharge) |
Nov 26 2006 | patent expiry (for year 4) |
Nov 26 2008 | 2 years to revive unintentionally abandoned end. (for year 4) |
Nov 26 2009 | 8 years fee payment window open |
May 26 2010 | 6 months grace period start (w surcharge) |
Nov 26 2010 | patent expiry (for year 8) |
Nov 26 2012 | 2 years to revive unintentionally abandoned end. (for year 8) |
Nov 26 2013 | 12 years fee payment window open |
May 26 2014 | 6 months grace period start (w surcharge) |
Nov 26 2014 | patent expiry (for year 12) |
Nov 26 2016 | 2 years to revive unintentionally abandoned end. (for year 12) |