Method and device for VLC (d,k;m,n;r) coding

Abstract: A DSV bit is inserted in an input data string by a DSV bit determining insertion unit. A modulation unit has a conversion table, and the element of the conversion table comprises the element for determining uniquely, and has a conversion rule that residues obtained by dividing the number of "1" in the element of a data string and the number of "1" in the element of a code word string to be converted by 2 are identically 1 or 0 for both residues. A channel bit string is modulated according to the conversion table, and further NRZI modulated by an NRZI modulation unit. Thus, DSV control can be performed with reduced redundancy.

Description: This invention relates to a modulation device and method, and a distribution medium. Embodiments of the invention relate to a modulation device and method, and a distribution medium which are capable of data modulation and DSV (digital sum value) control simultaneously so as to be suitable for data transmission and recording in recording media. When data is transmitted to a desired transmission line, or for example, data is recorded in a recording medium such as a magnetic disc, optical disc, or magneto-optical disc, the data is modulated so as to be suitable for transmission and recording. The block code has been known as one of such modulation methods. In the block coding, a data string is divided into units composed of m×i bits (referred to as a data word hereinafter), and the data word is converted into the code word composed of n×i bits according to a suitable code rule. The code is a fixed length code if i=1, and the code is a variable length code if a plurality of i can be selected, that is, if a data string is converted using prescribed i in a range from 1 to i-max (maximum i). The block coded code is represented as a variable length code (d, k; m, n; r). Herein i is referred as a limited length, i-max is r (maximum limited length). d is the minimum consecutive number of "0" inserted between consecutive "1", for example, the minimum run of 0, k is the maximum consecutive number of "0", inserted between consecutive "1", for example, the maximum run of 0. When the variable length code obtained as described herein above is recorded, for example, in an optical disc or magneto-optical disc, in the case of a compact disc or minidisc, NRZI (Non Return to Zero Inverted) modulation in which "1" of a variable length code is inverted and "0" is not inverted is performed, and recording is performed based on NRZI modulated variable length code (referred to as a recording waveform string hereinafter). Alternatively, like the magneto-optical disc of ISO standard, there is also provided a system in which recording modulated bit strings are recorded as it is without NRZI modulation. Assuming that the minimum inversion interval of a recording waveform string is Tmin and the maximum inversion interval of a recording waveform string is Tmax, in order to perform high density recording in the linear speed direction, the longer minimum inversion interval Tmin is preferable, in other words, the smaller maximum run k is preferable, and various modulation method has been proposed. In detail, there are provided variable length RLL (1-7) , fixed length RLL (1-7), and variable length RLL (2-7) as the modulation system proposed, for example, for the optical disc, magnetic disc, or magneto-optical disc. An example of the variable length RLL (1-7) conversion table is shown herein under: The character x in the conversion table is 1 if the subsequent channel bit is 0; otherwise the character x is 0 if the subsequent channel bit is 1. The limited length r is 2. The parameter of the RLL (1-7) is (1, 7; 2, 3; 2), the bit interval of a recording waveform string is assumed as T, then the minimum inversion interval Tmin is 2 (=1+1) T. Further, the bit interval of a data string is assumed as Tdata, then the minimum inversion interval Tmin is 33 (= (2/3)×2) Tdata, and the maximum inversion interval Tmax is 8T (5.33 Tdata). Further, the detection window width Tw is represented by (m/n) ×Tdata, the value is 0.67 (= 2/3) Tdata. As for the channel bit string modulated according to RLL (1-7), 2T namely Tmin most often occurs, followed by 3T and 4T. Often occurrence of edge information such as 2T and 3T with short period is favorable to clock reproduction, but often occurrence of 2T causes skew of the recording waveform. In other words, the waveform output is small and becomes sensitive to defocus and tangential tilt. Further, in the case of high density recording, recording in which the minimum mark occurs consecutively is sensitive to disturbance such as noise, data reproduction error is apt to occur. The inventors of this invention proposed previously the code to limit the consecutive occurrence of Tmin in Japanese Patent Publication No. Hei 9-256745. This code is referred to as a RML code (Repeated Minimum run-length Limited code). In this proposal, assuming that the variable length code (d, k; m, n; r) is a variable length code (1, 7; 2, 3; 3), in other words, the 0 minimum run d is 1 bit, the 0 maximum run k is 7 bits, the base data length m is 2 bits, the base code length n is 3 bits, and the maximum limited length r is 3, then the conversion table is shown in Table 2 herein under. Herein, the limited length is 3. In the case that the data string is "10" in Table 2 as described herein above, particularly in the case that the total 6 data string is "100110" with reference to the following 4 data, by giving a special corresponding code as the code for limiting repetition of the minimum run, repetition of the minimum run is limited at most to 5 times in modulation according to Table 2. By applying this method, processing for high linear density recording/reproduction of data is stabilized. When data are recorded in a recording medium or data are transmitted, coding modulation suitable for each medium (transmission) is performed, in the case that a direct current component is included in these modulated codes, for example, fluctuation of various error signals such as tracking error in servo controlling of a disc device is apt to occur, and jitter is apt to occur. Therefore, it is desirable that the direct current component is contained as little as possible. The modulated code in the variable length RLL (1-7) table and RML (1-7) table described herein above is not subjected to DSV control. In such case, DSV control is performed by inserting the prescribed DSV control bit in the coded string (channel bit string) with a prescribed interval. A digital sum value (DSV) control means the sum obtained by the operation in which the channel bit string is subjected to NRZI modulation (namely level coding), and codes are added in the manner that "1" of a bit string (symbol of the data) is regarded as +1 and "0" is regarded as -1. DSV is a measure of direct current component of the code string, and the reduced absolute value of DSV indicates the suppressed direct current component of the code string. The DSV control bit can be 2 (1+1) = 4 bits in the case of 2×(d+1) namely d=1. When, the minimum run and the maximum run are maintained with an arbitrary interval, and perfect DSV control in which inversion and non inversion are possible is performed. However, DSV control bit is basically the redundant bit. Therefore, the number of DSV control bits is desirably as small as possible in view of the code conversion efficiency. For example, in the case that the control bit is 1 ×(d+1) namely d=1, 1×(1+1) = 2 bits may be possible. In this case, perfect DSV control in which inversion and non inversion are possible is performed with an arbitrary interval. However, though the minimum run is maintained, the maximum run increases to (k+2). As for the code, the minimum run should be maintained without exception, but the maximum run is maintained not necessarily. Depending on the case, the format having the pattern which breaks the maximum run used as the sync signal has been known. For example, the maximum run of EFM plus of DVD is 11T, but 14T is allowed to be favorable for the format. It is required that control bit for DSV control is inserted with an arbitrary interval in RLL (1-7) codes or RML (1-7) codes which are not subjected to DSV control out of RLL codes as described herein above. However for codes of d=1, 4 bits of control bit are required to maintain the minimum run and the maximum run, and 2 bit of control bit are required even though control is performed without maintaining the maximum run. An embodiment of the present invention seeks to provide DSV control which is as perfect as is practicable with efficient control bit maintaining the minimum run and the maximum run. Another embodiment of the present invention seeks to provide efficient data conversion. Another embodiment of the present invention seeks to provide stable data reproduction with the maximum run k=7. A further embodiment of the present invention seeks to provide stable reproduction with limited repetition of the minimum run and without increment of limited length r. Aspects of the invention are specified in the claims to which attention is directed. The modulation device described in claim 1 hereof is provided with the conversion table of the modulation means which has the minimum run d of 1, has a variable length structure, has elements which are determined uniquely, and has a conversion rule that residues obtained by dividing the number of "1" in the element of a data string and the number of "1" in the element of a code word string to be converted by 2 are identically 1 or 0 for both residues. The modulation method described in claim 6 hereof involves the conversion table which has the minimum run d of 1, has a variable length structure, has elements which are determined uniquely, and has a conversion rule that residues obtained by dividing the number of "1" in the element of a data string and the number of "1" in the element of a code word string to be converted by 2 are identically 1 or 0 for both residues. The distribution medium described in claim 7 hereof is a computer program for converting a data having a base data length of m bits to a variable length code having a base code length of n bits (d, k; m, n; r) based on a conversion table, wherein the conversion table has the minimum run d of 1, has a variable length structure, has elements which are determined uniquely, and has a conversion rule that residues obtained by dividing the number of "1" in the element of a data string and the number of "1" in the element of a code word string to be converted by 2 are identically 1 or 0 for both residues. Reference will hereinafter be made to two patent applications divided out of the present application, namely application no. 03075532 - ("the first divisional application") and application Nr. 0.3075533.4 ("the second divisional application"). The modulation device described in claim 1 of the frist divisional application has the conversion table of the modulation means which has the minimum run d of 1, has a variable length structure, has elements having an indefinite code, and has a conversion rule that residues obtained by dividing the number of "1" in the element of a data string and the number of "1" in the element of a code word string to be converted by 2 are identically 1 or 0 for both residues. The modulation method described in claim 7 7 of the first divisional application involves the conversion table which has the minimum run d of 1, has a variable length structure, has elements having an indefinite code, and has a conversion rule that residues obtained by dividing the number of "1" in the element of a data string and the number of "1" in the element of a code word string to be converted by 2 are identically 1 or 0 for both residues. The distribution medium described in claim 8 8 of the first divisional application is a computer program which converts a data having a base data length of m bits to a variable length code having a base code length of n bits (d, k; m, n; r) based on a conversion table, wherein the conversion table has the minimum run d of 1, has a variable length structure, has elements having an indefinite code, and has a conversion rule that residues obtained by dividing the number of "1" in the element of a data string and the number of "1" in the element of a code word string to be converted by 2 are identically 1 or 0 for both residues. The modulation device described in claim 1 of the second divisional application is provided with the conversion table of the modulation means which has the minimum run d of 1, has a variable length structure, has a code for limiting consecution of the minimum run, and has a conversion rule that residues obtained by dividing the number of "1" in the element of a data string and the number of "1" in the element of a code word string to be converted by 2 are identically 1 or 0 for both residues. The modulation method described in claim 5 of the second divisional application involves the conversion table which has the minimum run d of 1, has a variable length structure, has a code for limiting consecution of the minimum run, and has a conversion rule that residues obtained by dividing the number of "1" in the element of a data string and the number of "1" in the element of a code word string to be converted by 2 are identically 1 or 0 for both residues. The distribution medium described in claim 6 of the second divisional application is a computer program which converts a data having a base data length of m bits to a variable length code having a base code length of n bits (d, k; m, n; r) based on a conversion table, wherein the conversion table has the minimum run d of 1, has a variable length structure, has a code for limiting consecution of the minimum run, and has a conversion rule that residues obtained by dividing the number of "1" in the element of a data string and the number of "1" in the element of a code word string to be converted by 2 are identically 1 or 0 for both residues. In the modulation device described in claim 1 hereof, the modulation method described in claim 6 hereof, and the distribution medium described in claim 7 hereof, the element in the conversion table is composed of the element which is determined uniquely, and has the conversion rule that residues obtained by dividing the number of "1" in the element of a data string and the number of "1" in the element of a code word string to be converted by 2 are identically 1 or 0 for both residues. In the modulation device, modulation method and distribution medium described in claims 1, 7 and 8 of the first divisional application, the conversion table is composed of the indefinite code and has the conversion rule that residues obtained by dividing the number of "1" in the element of a data string and the number of "1" in the element of a code word string to be converted by 2 are identically 1 or 0 for both residues. In the modulation device, modulation method and distribution medium described in claim 1, 5 and 6 of the second divisional application, the conversion table has the code for limiting consecution of the minimum run and has the conversion rule that residues obtained by dividing the number of "1" in the element of a data string and the number of "1" in the element of a code word string to be converted by 2 are identically 1 or 0 for both residues. For a better understanding of the present invention, reference will now be made, by way of example, to the accompanying drawings, in which: FIG. 1 is a block diagram for illustrating a structure of an example of a modulation device according to the present invention. FIG. 2 is a diagram for describing operations of a DSV bit determining insertion unit 11 shown in FIG. 1. FIG. 3 is a block diagram for illustrating a structure of the modulation unit 12 shown in FIG. 1. FIG. 4 is a diagram for describing operations of a limited length determining unit 32 and a minimum run repetition limiting code detection unit 33 shown in FIG. 3. The embodiments of the present invention will be described in detail hereinafter, to clearly describe the correspondent relation between each means of the invention as described in claims and the embodiments described hereinafter, a corresponding embodiment (one example) is added in parentheses located just after each means, and the feature of the present invention is described hereinafter. However, of course, the description of the embodiments does not mean that each means is limited to the described embodiments. The modulation device described in claim 1 hereof is provided with the conversion table of the modulation means (for example, modulation unit 12 in FIG. 1) which has the minimum run d of 1, has a variable length structure, has elements which are determined uniquely, and has a conversion rule that residues obtained by dividing the number of "1" in the element of a data string and the number of "1", in the element of a code word string to be converted by 2 are identically 1 or 0 for both residues. The modulation device described in claim 4 hereof is provided additionally with a DSV control means (for example, DSV bit determining inserting unit 11 shown in FIG. 1) for controlling DSV of the input data and for supplying the DSV to a modulation means. The modulation device described in claim 1 of the first divisional application has the conversion table of the modulation means (for example, modulation unit 12 shown in FIG. 1) which has the minimum run d of 1, has a variable length structure, has elements having an indefinite code, and has a conversion rule that residues obtained by dividing the number of "1" in the element of a data string and the number of "1" in the element of a code word string to be converted by 2 are identically 1 or 0 for both residues. The modulation device described in claim 1 of the second divisional application is provided with the conversion table of the modulation means (for example, modulation unit 12 shown in FIG. 1) which has the minimum run d of 1, has a variable length structure, has a code for limiting consecution of the minimum run, and has a conversion rule that residues obtained by dividing the number of "1" in the element of a data string and the number of "1" in the element of a code word string to be converted by 2 are identically 1 or 0 for both residues. The modulation device described in claim 4 of the second divisional application is provided additionally with a DSV control means (for example, DSV bit determining insertion unit 11 shown in FIG. 1) for controlling DSV of the input data and for supplying the DSV to a modulation means. Embodiments of the present invention will be described by way of example with reference to the drawings. The illustrative embodiments, described hereinafter, of the present invention are applied to a modulation device which uses a conversion table for converting the data to the variable length code (k, k; m, n; r), Table 3 to Table 13 are tables which show features of the present illustrative embodiments of the invention. In Table 3, the minimum run d=1, the structure is variable length, and the conversion table has elements respectively to be determined uniquely (contain no indefinite code including an indefinite bit such as x in the above-mentioned Table 1 or Table 2). In other words, if 2 bits of a conversion data string are identical in Table 3, then the data is converted immediately to a code word string. Table 3 involves a conversion rule that residues obtained by dividing the number of "1" in the element in a data string and the number of "1" in the element of a code word string to be converted by 2 are identical 1 or 0 for both residues. In detail, the element of the data string "1110" corresponds to the code word string "000100", the number of "1" of the data string is 3 and the number of "1" of the corresponding code word string is 1, residues obtained by dividing 3 and 1 by 2 are 1 for both and the residues are identical. Similarly, the element of the data string "1111" corresponds to the code word string "001010", the number of "1" of the data string is 4 and the number of "1" of the corresponding data word string is 2, residues obtained by dividing 4 and 2 by 2 are 0 for both and the residues are identical. In Table 3, the limited length r=4. The constrain length r must be at least 4 to give the maximum run k=7. As another example, a table for the maximum run k=8 is shown in Table 4. The limited length r=3. To give the maximum run k=8, the limited length must be at least 3. Table 5 has the minimum run d=1, the variable length structure, and the rewrite code to limit the consecutive minimum run in the conversion table. In detail, the code word string after data conversion is limited in the number of repetition of the minimum run, the minimum run can repeat up to 7 times. Table 5 involves a conversion rule that residues obtained by dividing the number of "1" in the element in a data string and the number of "1" in the element of a code word string to be converted by 2 are identically 1 or 0 for both residues. In detail, the element of the data string "1110" corresponds to the code word string "000100", the number of "1" of the data string is 3 and the number of "1" of the corresponding code word string is 1, residues obtained by dividing 3 and 1 by 2 are 1 for both and the residues are identical. Similarly, the element of the data string "1111" corresponds to the code word string "001010", the number of "1" of the data string is 4 and the number of "1" of the corresponding data word string is 2, residues obtained by dividing 4 and 2 by 2 are 0 for both and the residues are identical. In Table 5, the limited length r=4. The constrain length r must be at least 4 to give the maximum run k=7. Even if a code to limit repetition of the minimum run is added, the limited length does not increase. Table 6 has the minimum run d=1, the variable length structure, and the indefinite code in the element in the conversion table. In detail, if 2 bits of a conversion data string in Table 6 is "11", "000" or "101" is selected according to the conversion data string located immediately before. If the conversion data string located immediately before is "01", "00000101", "00000100", "00000001", or "00000000", the data "11" is converted to the code "000" co maintain the minimum run. Otherwise, the data "11" is converted to the code "101". Table 6 involves a conversion rule that residues obtained by dividing the number of "1" in the element in a data string and the number of "1" in the element of a code word string to be converted by 2 are identically 1 or 0 for both residues. In detail, the element of the data string "0011" corresponds to the code word string "010100", the number of "1" of the data string is 2 and the number of "1" of the corresponding code word scring is 2, residues obtained by dividing 2 and 2 by 2 are 0 for both and the residues are identical. Similarly, the element of the data string "0010" corresponds to the code word string "000100", the number of "1" of the data string is 1 and the number of "1" of the corresponding data word string is 1, residues obtained by dividing 1 and 1by 2 are 1 for both and the residues are identical. The indefinite code (*0*) is given at two locations to each element in Table 6 to render the residue obtained by dividing the number of "1" in the element by 2 identical. In Table 6, the limited length r=4. The constrain length r must be at least 4 to give the maximum run k=7. Table 7 has the minimum run d=1, the variable length structure, the indefinite code in the element in the conversion table, and the rewrite code to limit the continuous minimum run. In detail, the code word string after data conversion is limited in the number of repetition of the minimum run, the minimum run can repeat up to 7 times. If 2 bits of a conversion data string in Table 7 is "11", "000', or "101" is selected according to the conversion data string located immediately before. If the conversion data string located immediately before is "01", "00000101", "00000100", "00000001", or "00000000", the data "11" is converted to the code "000" to maintain the minimum run. Otherwise, the data "11" is converted to the code "101". Table 7 involves a conversion rule that residues obtained by dividing the number of "1" in the element in a data string and the number of "1" in the element of a code word string to be converted by 2 are identically 1 or 0 for both residues. In detail, the element of the data string "0011" corresponds to the code word string "010100", the number of "1" of the data string is 2 and the number of "1" of the corresponding code word string is 2, residues obtained by dividing 2 and 2 by 2 are 0 for both and the residues are identical. Similarly, the element of the data string "0010" corresponds to the code word string "000100", the number of "1" of the data string is 1 and the number of "1" of the corresponding data word string is 1, residues obtained by dividing 1 and 1by 2 are 1 for both and the residues are identical. The indefinite code (*0*) is given at two locations to each element in Table 7 to render the residue obtained by dividing the number of "1" in the element by 2 identical. In Table 7, the limited length r=4. The constrain length r must be at least 4 to give the maximum run k=7. Even if a code to limit repetition of the minimum run is added, the limited length does not increase. Table 8 has the minimum run d=1, the variable length structure, and the indefinite code in the element in the conversion table. In detail, if 2 bits of a conversion data string in Table 6 is "11", "000" or "101" is selected according to the conversion data string located immediately before. If the subsequent conversion data string is "10", "00000101", or "00000100", the data "11" is converted to the code "000" to maintain the minimum run. Otherwise, the data "11" is converted to the code "101". Table 8 involves a conversion rule that residues obtained by dividing the number of "1" in the element in a data string and the number of "1" in the element of a code word string to be converted by 2 are identically 1 or 0 for both residues. In detail, the element of the data string "0011" corresponds to the code word string "001010", the number of "1" of the data string is 2 and the number of "1" of the corresponding code word string is 2, residues obtained by dividing 2 and 2 by 2 are 0 for both and the residues are identical. Similarly, the element of the data string "0010" corresponds to the code word string "001000", the number of "1" of the data string is 1 and the number of "1" of the corresponding data word string is 1, residues obtained by dividing 1 and 1by 2 are 1 for both and the residues are identical. The indefinite code (*0*) is given at two locations to each element in Table 8 to render the residue obtained by dividing the number of "1" in the element by 2 identical. In Table 8, the limited length r=4. The constrain length r must be at least 4 to give the maximum run k=7. Table 9 has the minimum run d=1, the variable length structure, the indefinite code in the element in the conversion table, and the rewrite code to limit the continuous minimum run. In detail, the code word string after data conversion is limited in the number of repetition of the minimum run, the minimum run can repeat up to 10 times. Table 9 involves a conversion rule that residues obtained by dividing the number of "1" in the element in a data string and the number of "1" in the element of a code word string to be converted by 2 are identically 1 or 0 for both residues. In detail, the element of the data string "0011" corresponds to the code word string "001010", the number of "1" of the data string is 2 and the number of "1" of the corresponding code word string is 2, residues obtained by dividing 2 and 2 by 2 are 0 for both and the residues are identical. Similarly, the element of the data string "0010" corresponds to the code word string "001000", the number of "1" of the data string is 1 and the number of "1" of the corresponding data word string is 1, residues obtained by dividing 1 and 1by 2 are 1 for both and the residues are identical. The indefinite code (*0*) is given at two locations to each element in Table 7 to render the residue obtained by dividing the number of "1" in the element by 2 identical. In Table 9, the limited length r=4. The constrain length r must be at least 4 to give the maximum run k=7. Even if a code to limit repetition of the minimum run is added, the limited length does not substantially increase. When any one of conversion tables shown in Table 3 to Table 9 is used, data strings are modulated as before, and DSV control is performed with a predetermined interval of modulated channel bit strings as before. In addition, when any one of conversion tables shown in Table 3 to Table 9 is used, DSV control is performed more efficiently due to the relation between the data string and the code word string to be converted. In detail, in conversion tables, the conversion rule that residues obtained by dividing the number of "1" in the element of a data string and the number of "1" in the element of a code word string to be converted in a conversion table are identically 1 or 0 for both residues provide a function to insert "1" for "inversion" and insert "0" for "non inversion" by inserting "1" which represents "inversion" or by inserting "0" which represents "non inversion" with data bit string in the channel bit insertion as described herein above. For example, in Table 7, it is assumed that when 3 bits to be subjected to data conversion are consecutive as "001", a DSV control bit is inserted after the 3 bits, the data conversion will generate "001-x". Herein if "1" is given to x, the data string and code word string will be as described herein under. Alternatively, if "0 is given to x, the data string and code word string will be as described herein under. The code word string is subjected to NRZI modulation co generate level code string as shown herein under. Herein, the final level code string is inverted. In other words, by selecting "1" or "0" of DSV control bit, DSV control can be performed in the data string. From the above-mentioned DSV control, in terms of redundancy due to DSV control, DSV control with 1 bit in a data string is equivalent to DSV control with 1.5 channel bit based on the conversion rate m=2 and n=3 in expression of channel bit string. If DSV control is performed in a channel bit string, DSV control is performed with 2 channel bits, but Tmax (the maximum inversion interval ) increases. FIG. 1 shows an exemplary structure of the modulation device for modulating data and generating output using the above-mentioned conversion table. As shown in FIG. 1, the modulation device is provided with a DSV bit determining insertion unit 11 for performing DSV control with a predetermined interval from the data string and for determining and inserting DSV bit "1" or "0" with a predetermined interval, a modulation unit 12 for modulating a data string into which a DSV bit supplied from the DSV bit determining insertion unit 11, and an NRZI unit 13 for converting the modulated code string supplied from the modulation unit 12 to a recording waveform string. Further, a timing management unit for generating and supplying timing signals to respective components to manage the timing is provided though it is not shown in the drawing. FIG. 2 is a drawing for describing the DSV bit determining and inserting processing shown in FIG. 1. Determination and insertion of DSV bit is carried out every arbitrary predetermined interval in the data string. As shown in FIG. 2, to insert a DSV control bit between DATA 1 and DATA 2, the cumulative DSV from DATA 1 is calculated. The segmental DSV of the next segment DATA 2 is calculated. The DSV value is obtained through a process in which DATA 1 and DATA 2 are converted respectively to channel bit strings and modulated to level codes (NRZI modulation), and level codes are accumulated with regarding the level H ("1") as +1 and the level L ("0") as -1. The DSV control bit to be inserted is determined so that the absolute value of the cumulative DSV obtained by combining the cumulative DSV value up to DATA 1 and the segmental DSV of the next DATA 2 with interposition of the DSV control bit becomes close to zero. Giving "1" to "x1" that is the DSV bit in FIG. 2 means inversion of the code of the segmental DSV namely DATA 2 which is subsequent to DATA 1, and giving "0" means non inversion of the segmental DSV namely DATA 2. Because the conversion rule is applied to the element in respective tables shown in Table 3 to Table 9 described hereinbefore so that residues obtained by dividing the number of "1" in the element of a daca string and the number of "1" in the element of a code word string to be converted by 2 are identically 1 or 0 for both residues, insertion of "1" in the data string means insertion of "1" in the code word string to be converted subsequently, namely inversion. As described herein above, the DSV control bit namely x1 between DATA 1 and DATA 2 in FIG. 2 is determined, and next, DSV control is performed in the same manner using the DSV control bit namely x2 between DATA 2 and DATA 3. When, the cumulative DSV value is the total DSV value of DATA 1, x1, and DATA 2. As shown in FIG. 2, the DSV bit is inserted previously in the data string and thereafter modulated co generate the channel bit string. FIG. 3 is a block diagram for illustrating an exemplary structure of the modulation unit 12 of the modulation device shown in FIG. 1. In FIG. 3, a shift register 31 supplies data having inserted DSV control bits to a limited length determining unit 32, Tmin repetition limiting code detection unit 33, and all the conversion units 34-1 to 34-r with shifting 2 bits by 2 bits the data to which the DSV control bit supplied from the DSV bit determining insertion unit 11 is inserted. The limited determining unit 32 determines the limited length i of the data, and supplies it to a multiplexer 35. The Tmin repetition limiting code detection unit 33 supplies the signal to the limited length determining unit 32 when detecting the exclusive code. When the Tmin repetition limiting code detection unit 33 detects a Tmin repetition liming code, the limited length determining unit 32 supplies a predetermined limited length to the multiplexer 35. When, though the limited length determining unit 32 may determine another limited length, however, in the case that there is an output from the Tmin repetition limiting code detection unit 33, the limited length determining unit 32 determines the limited length with preference for the latter over the former. The conversion units 34-1 to 34-r determine whether the conversion rule corresponding to the supplied data is registered with reference to the built-in conversion table (any one of tables out of Table 3 to Table 7), if the conversion rule is registered, then the conversion units 34-1 to 34-r convert the data according to the conversion rule and supply the converted code to the multiplexer 35. If the conversion rule is not registered, then the conversion units 34-1 to 34-r discards the supplied data. The multiplexer 35 receives the code which the conversion unit 34-i has converted corresponding to the limited length i supplied from the limited length determining unit 32, and supplies the code as a serial data through a buffer 36. The timing management unit not shown in the drawing generates a clock, generates a timing signal synchronously with the clock, and supplies the timing signal to respective components to perform timing management. Next, operations of this embodiment is described. First, the data is supplied in 2 bit unit from the shift register 31 to the respective conversion units 34-1 to 34-r, the limited length determining unit 32, and the Tmin repetition limiting code detection unit 33. The limited length determining unit 32 has a built-in conversion table as shown, for example, in Table 5, determines the limited length i of the data with reference to the conversion table, and supplies the determined result (limited length i) to the multiplexer 35. The Tmin repetition limiting code detection unit 33 has a built-in repetition limiting code part (in the case of Table 5, the part to convert the data "11011101") of the conversion table shown in Table 5, detects the code for limiting the repetition of Tmin with reference to the conversion table, and when the code ("11011101") is detected, the Tmin repetition limiting code detection unit 33 supplies a detection signal for indicating the limited length i=4 corresponding to the detected code to the limited length determining unit 32. When the limited length determining unit 32 receives the detection signal from the Tmin repetition limiting code detection unit 33, even if another limited length is determined independently at the time, another limited length is not selected, the limited length based on the Tmin repetition limiting code is supplied to the multiplexer 35. FIG. 4 is a diagram for describing operations of the limited length determining unit 32 and the Tmin repetition limiting code detection unit 33. The Tmin repetition limiting code detection unit 33 has the conversion part "11011101" of the table shown in Table 5, if the input 8 bit data is identical with this conversion part, then a predetermined detection signal is supplied to the limited length determining unit 32. Further the limited length determining unit 32 has a built-in table shown in Table 5, and determines first whether 2 bits of the input data are identical with any one of "10" and "01". If the input data is identical with any one of "10" and "01", the limited length determining unit 32 determines the limited length to be 1, on the other hand, if the input data is not identical with each of "10" and "01", another 2 bits are added, and the limited length determining unit 32 determines whether the total 4 bit data is identical with any one of "1110", "1101", "1111", "1100", "0010", and "0001" with reference to the total 4 bits. If the input data is identical with any one of "1110", "1101", "1111", "1100", "0010", and "0001", then the limited length determining unit 32 determines the limited length i to be 2. If the input data is "1101", then the Tmin repetition limiting code detection unit 33, which sees ahead 4 bits in addition to the original 4 bits, determines whether the total bits are identical with -11011101" (Tmin repetition limiting code), and if the input 8 bits is not identical with "11011101", then the limited length determining unit 32 determines the limited length i to be 2. On the other hand, if the input 8 bits is identical with "11011101", then the limited length determining unit 32 determines the limited length i to be 4 instead of the limited length i=2 based on the output signal from the Tmin repetition limiting code detection unit 33. If the input data is not identical with any one of the above-mentioned "1110", "1101", "1111", "1100", "0010", and "0001", further 2 bits are added and the total 6 bits are referred. Similarly in the following, the data is referred up to the total of 8 bits according to the table shown in Table 5, and the limited length of data string for all the "1" and "0" is determined. The limited length determining unit 32 supplies the limited length i determined as described herein above to the multiplexer 35. Processing for limited length determination by the limited length determining unit 32 may be performed in the order i=4, i=3, i=2, and i=1 with beginning from the largest limited length differently from the order shown in FIG. 4. In this case, the limited length is determined in the same manner as described herein above. On the other hand, the conversion units 34-i (34-1 to 34-r) have tables corresponding to respective limited length i, in the case that the conversion rule corresponding to the supplied data is registered in the table, the supplied 2×i bit data is converted to 3×i bit code using this conversion rule, and the code is supplied to the multiplexer 35. The multiplexer 35 selects a code supplied from the conversion unit 34-i corresponding to the limited length i supplied from the limited determining unit 32, and supplies the code as a serial data through the buffer 36. Herein, for example, in Table 5, if there is no Tmin repetition limiting table of i=4, it results in, for example, Table 3. When, if "1101110111011101" is supplied as a data, then the converted code word string is converted to a code "101-010" with regarding the initial "1101 as i=2 data. The next "1101" and the second next "1101" are converted to a code "101-010" similarly. When the code generated as described herein above is converted to the level code by, for example, NRZI, the code is converted to a signal having the inverted logic at the timing of "1", therefore, the code word string is converted to 110011001100110011", namely a code in which the minimum inversion interval of 2T repeats 9 times consecutively. Further, if "1101" is supplied continuously as a data string, then the minimum inversion interval of 2T continues for long time. On the other hand, if the conversion table of i=4 in Table 5 is employed, the special code "11011101" out of the data is converted to a code "100000001000". As the result, long continuous minimum inversion interval Tmin is prevented. In the case of Table 5, the maximum consecution of the minimum inversion interval Tmin is 7 times. as the Tmin repetition limiting code, however, further by giving additionally a non duplicate code as the Tmin repetition limiting code, two Tmin repetition limiting codes described herein under may be provided. When, Table 5 is changed to the table shown in Table 10 described herein under. In the case of Table 8, the maximum consecutive repetition of the minimum inversion interval Tmin is 6 times. Similarly, Table 7 gives as the Tmin repetition limiting code, however, further by giving additionally a non duplicate code as the Tmin repetition limiting code, two Tmin repetition limiting codes described herein under may be provided. When, Table 7 is changed to the table shown in Table 11 described herein under. In the case of Table 11, the maximum consecutive repetition of the minimum inversion interval Tmin is 6 times. The embodiment shown in FIG. 3 is applied in the same manner as described herein above if the conversion table or inverse conversion table is changed from Table 5 to Table 3, Table 4, and Tables 6 to 11. However, Table 3, Table 4, and Table 8 have no minimum run repetition limiting code, therefore the Tmin repetition limiting code detection unit 33 shown in FIG. 3 is unnecessary. Further in Table 8 and Table 9, indefinite bits are contained in the tables, a process for processing of indefinite bits is necessary. Another example of Table 5 in which the head and the tail of the code word string is located inversely is realized as shown in Table 12. Similarly, another example of Table 9 in which the head and the tail of the code word string is located inversely is realized as shown in Table 13. In Table 10, with reference to the bit immediately precedent to an indefinite bit, the indefinite bit is prescribed to be 1 if the immediately precedent bit is 1, and on the other hand, the indefinite bit is prescribed to be 0 if the immediately precedent bit is 0. Within the respective limited length of the data string and code string shown in Table 3 to Table 9, the order of arrangement may be different. For example, the order of arrangement of the limited length i=1 in Table 5 may be as shown herein under. may be However, the number of "1" of the element of a data string and the number of "1" of the element of a code word string should be prescribed so that residues obtained by dividing the number of "1" of the data string and the number of "1" of the code word string are identically 1 or 0 for both residues. Next, a simulation result obtained by a process in which consecution of Tmin is limited and the data string having a DSV control bit inserted in the daca string is modulated is shown herein under. The simulation is performed using Table 5 as the conversion table. DSV control is performed every 47 data bits on a random data of 13107200 bits which is generated arbitrarily using the modulation code table shown in FIG. 5, the data string having the inserted DSV bit is modulated using the table shown in FIG. 5, and when, the Tmin consecutive distribution simulation result is obtained as shown herein under. The maximum Tmin repetition is 7 times, the consecutive repetition of Tmin is effectively shortened. The average inversion interval is calculated by dividing the total channel bit string by the total of the respective T, and in this simulation the value is 3.34T. As for DSV control of this channel bit string, the difference obtained with regarding "1" after NRZI as high and "00" after NRZI as low and the plus side peak of the DSV value and minus side peak value of the DSV are described as herein under. The redundancy percentage in the case that the DSV control bit is inserted every 47 data strings as the DSV bit is 1/(1+47) = 2.08 % because of 1 data for 47 data strings. In order to realize DSV control, the DSV control bit is inserted after channel bit string generation because DSV control in the data string is impossible using conventional, for example, RLL (1-7) and RML (1-7). However, in order to perform DSV control with maintaining the maximum run, 4 channel bits are required, the efficiency is poor in comparison with the above-mentioned Table 3 to Table 9. Further, in the above-mentioned simulation, it is confirmed that the data string obtained by performing a process in which the generated channel bit string is demodulated based on Table 5 and the DSV bit is extracted every 47 bits is identical with the original random data. As described herein above, according to the embodiments of the present invention, because the variable table has the conversion rule for unique determination and, in detail, the number of repetition of the minimum run length is limited and residues obtained by dividing the number of "1" in the element of the conversion table and the number of "0" in the element of the conversion table by 2 are identically 1 or 0 for both residues, (1) DSV control is performed with reduced redundancy, (2) the minimum run and the maximum run is maintained in addition to the reduced redundancy, and (3) error propagation is suppressed because the inserted DSV bit has the same number of bits. Further in comparison with the code word string in which the repetition of the minimum run is not limited, (4) the allowance to the tangential tilt in high linear density is improved, (5) the portion where the signal level is low is reduced, the waveform processing accuracy of AGC and PLL is improved, and the total performance is improved, and (6) short pass memory length design is allowed to be realized for Viterbi decoding more easily in comparison with conventional method, and the circuit scale can be minimized. As the distribution medium for distributing the computer program for performing the above-mentioned processing to users, recording media such as magnetic disc, CD-ROM, and solid memory and further communication media such as network and satellite may be used. As described hereinbefore, according to the modulation device described in claim 1, the modulation method described in claim 6, and the distribution medium described in claim 7, because the element in the conversion table is composed of the element which is determined uniquely, and has the conversion rule that residues obtained by dividing the number of "1" in the element of a data string and the number of "1" in the element of a code word string to be converted by 2 are identically 1 or 0 for both residues. DSV control may be performed in the data string. DSV control may be performed with reduced redundancy. The maximum run k may be at least 7. As described hereinbefore, according to the modulation device, modulation method and distribution medium described in claims 1, 7 and 8 of the first divisional application, because the conversion table has the indefinite code and has the conversion rule that residues obtained by dividing the number of "1" in the element of a data string and the number of "1" in the element of a code word string to be converted by 2 are identically 1 or 0 for both residues. DSV control may be performed in the data string. DSV control may be performed with reduced redundancy. The maximum run k may be at least 7. Further, because the consecution of the minimum run is limited without extending the limited length of the conversion table, it becomes possible to perform stably clock reproduction with reduced incremental error propagation length. According to the modulation device, modulation method and distribution medium described in claims 1, 5 and 6 of the second divisional application, because the conversion table has the code for limiting consecution of the minimum run and has the conversion rule that residues obtained by dividing the number of "1" in the element of a data string and the number of "1" in the element of a code word string to be converted by 2 are identically 1 or 0 for both residues. DSV control may be performed in the data string. DSV control may be performed with reduced redundancy. The maximum run k may be at least 7.

Claims: A modulation device comprising modulation means for converting a data string having a base data length of m bits to a variable length code word string having a base code length of n bits (d, k; m, n; r) based on a conversion table, wherein the conversion table of said modulation means: has the minimum run d of 1; has a variable length structure; has elements which are determined uniquely; and has a conversion rule that residues obtained by dividing the number of "1" bits in an element of the data string and the number of "1" bits in the element of the code word string to be converted by 2 are identically 1 or 0 for both residues. A modulation device as claimed in claim 1, wherein said conversion table prescribes that the maximum run k is at least 7. A modulation device as claimed in claim 2, wherein said conversion table prescribes that the limited length r is at least 4 when the maximum run k is 7. A modulation device as claimed in claim 1, further comprising digital sum value (DSV) control means for controlling DSV of input data and supplying DSV to said modulation means. A modulation device as claimed in claim 1, wherein said conversion table has a code for limiting consecution of the minimum run. A modulation method for converting a data string having a base data length of m bits to a variable length code word string having a base code length of n bits (d, k; m, n; r) based on a conversion table, wherein said conversion table: has the minimum run d of 1; has a variable length structure; has elements which are determined uniquely; and has a conversion rule that residues obtained by dividing the number of "1" bits in an element of the data string and the number of "1" bits in the element of the code word string to be converted by 2 are identically 1 or 0 for both residues. A distribution medium providing a computer program which converts a data string having a base data length of m bits to a variable length code word string having a base code length of n bits (d, k; m, n; r) based on a conversion table, wherein said conversion table: has the minimum run d of 1; has a variable length structure; has elements which are determined uniquely; and has a conversion rule that residues obtained by dividing the number of "1" bits in an element of the data string and the number of "1" bits in the element of the code word string to be converted by 2 are identically 1 or 0 for both residues.

Inventors: NAKAGAWA TOSHIYUKI, SHIMPUKU YOSHIHIDE, NAKAGAWA, TOSHIYUKI, SHIMPUKU, YOSHIHIDE
Applicants: SONY CORP, SONY CORPORATION
Application year: 1998
Main classification: G11B20
IPC codes: G06F7, G11B20, G06F1, H03M5, H03M7