Title: Code generation and allocation method
Abstract: A method of generating and allocating codewords includes allocating one of two selectable codewords b1 and b2 as codeword "b" when a preceding codeword "a" and a following codeword "b" form a code stream X, in which the codewords b1 and b2 have opposite INV values which are parameters indicating whether the number of `1s` contained in a codeword is an odd number or an even number. When the code stream of the preceding codeword "a" and the following codeword b1 is X1, and when the code stream of the preceding codeword "a" and the following codeword b2 is X2, the codewords are allocated such that the INV values of X1 and X2 are maintained to be opposite when the preceding codeword "a" or the following codeword b1 (b2) (b1 or b2) should be replaced by another codeword in compliance with a predetermined boundary condition given between codewords. The codewords are allocated so that a DC suppression capability of the code stream can be maintained.
Patent Number: 6,859,152 Issued on 02/22/2005 to Shim,   et al.
| Inventors:
|
Shim; Jae-seong (Seoul, KR);
Kim; Ki-hyun (Daejeon Metropolitan, KR);
Park; Hyun-soo (Seoul, KR);
Jung; Kiu-hae (Seoul, KR);
Mahboob; Igbal (Gujranwals, PK)
|
| Assignee:
|
Samsung Electronics Co., Ltd. (Suwon-si, KR)
|
| Appl. No.:
|
787156 |
| Filed:
|
February 27, 2004 |
Foreign Application Priority Data
| Apr 20, 2001[KR] | 2001-21360 |
| Current U.S. Class: |
341/58; 341/59; 341/67 |
| Intern'l Class: |
H03M 005//00 |
| Field of Search: |
341/58-59,67
|
References Cited [Referenced By]
U.S. Patent Documents
| 5144304 | Sep., 1992 | McMahon et al. | 341/58.
|
| 5818362 | Oct., 1998 | Walker | 341/57.
|
| 5847666 | Dec., 1998 | Yasoshima et al. | 341/58.
|
| 5852520 | Dec., 1998 | Ido et al. | 360/40.
|
| 6011497 | Jan., 2000 | Tsang et al. | 341/59.
|
| 6084535 | Jul., 2000 | Karabed et al. | 341/58.
|
| 6229458 | May., 2001 | Altekar et al. | 341/59.
|
| 6268810 | Jul., 2001 | Shim et al. | 341/59.
|
| 6281815 | Aug., 2001 | Shim et al. | 341/59.
|
| 6285302 | Sep., 2001 | McClellan | 341/59.
|
| 6441756 | Aug., 2002 | Shim | 341/59.
|
Other References
U.S. Appl. No. 10/125,564, Shim et al., filed Apr. 19, 2002.
|
Primary Examiner: Tokar; Michael
Assistant Examiner: Nguyen; Khai M.
Attorney, Agent or Firm: Stein, McEwen & Bui, LLP
Parent Case Text
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation of U.S. patent application Ser. No.
10/125,564, filed Apr. 19, 2002, now a U.S. Pat. No. 6,781,527, in the
United States Patent and Trademark Office, the disclosure of which is
hereby incorporated herein by reference. This application also claims the
benefit of Korean Patent Application No. 2001-21360, filed Apr. 20, 2001
in the Korean Industrial Property office, the disclosure of which is
incorporated herein by reference.
Claims
What is claimed is:
1. A method of generating and allocating codewords of source words which
are to be recorded on a recording medium, the method comprising:
generating codewords satisfying predetermined run length conditions and
grouping codewords according to each run length condition; and
allocating the codewords in a code stream such that a codeword for the
source word controls suppression of DC components of the code stream,
wherein, when a predetermined boundary condition is not satisfied in the
code stream, the codewords are allocated such that the codewords which
satisfy the boundary condition and maintain the DC control characteristics
replace initial codewords.
2. A method of generating and allocating codewords of source words which
are to be recorded on a recording medium, the method comprising:
generating codewords satisfying predetermined run length conditions and
grouping codewords according to each run length condition; and
allocating the codewords in a code stream such that a codeword for the
source word controls suppression of DC components of the code stream,
wherein the generating of the codewords includes:
generating the codewords satisfying the length of a predetermined first
codeword and predetermined run length conditions, and grouping the
codewords according to each predetermined run length condition to generate
a main conversion codeword table;
generating DC control codewords satisfying the length of a predetermined
second codeword, and predetermined run length conditions in order to
control the DC components in the code stream, and grouping the DC control
codewords, and generating a code conversion table for controlling the DC
components; and
generating additional DC control codewords by taking the codewords which
satisfy the predetermined run length conditions and are not needed in the
main conversion codeword table, and grouping the additional DC control
codewords.
3. The method of claim 2, wherein when the bit length of the source word is
8, the length of a codeword in the main conversion code table is 15 bits.
4. The method of claim 3, wherein the main conversion code table contains
groups of codewords, the codewords each having from 2 to 10 Lead Zeros
(LZs), from 1 to 9 LZs, from 1 to 6 LZs, and from 0 to 2 LZs, while having
from 0 to 8 End Zeros (EZs).
5. The method of claim 4, wherein among the groups of the main conversion
code table, a group having a lesser number of codewords than the minimum
number of codewords for converting the source data takes surplus codewords
from a group having a greater number of codewords than the minimum number
of codewords so as to amount to the minimum number of codewords.
6. The method of claim 3, wherein the length of the codewords of the DC
control conversion code table is 17 bits.
7. The method of claim 6, wherein the DC control conversion code table
contains groups of codewords, the groups formed of a group of codewords of
which LZ is from 2 and to 10, a group of codewords of which LZ is from 1
to 9, a group of codewords of which LZ is from 0 to 6, and a group of
codewords of which LZ is from 0 to 2, while EZ is from 0 to 8.
8. The method of claim 7, wherein each code group of the DC control
conversion table has as many codewords as a source word can correspond to
pairs of codewords, each pair of codewords has opposite INV
characteristics and is selectable.
9. The method of claim 8, wherein among the groups of the DC control
conversion code table, a group having a lesser number of codewords than
the minimum number of needed codewords takes surplus codewords from a
group having a greater number of codewords than the minimum number of
codewords, so as to have equal to or greater than the minimum number of
codewords.
10. The method of claim 6, wherein the auxiliary DC control conversion
table comprises:
a group of codewords, each having a length of 15 bits, having from 9 to 10
EZs, and having at least one LZ, and codewords which are taken from
surplus codewords of the first main conversion code group;
a group of codewords, each having a length of 15 bits, having from 9 to 10
EZs, and having at least one LZ, and codewords which are taken from
surplus codewords of the second main conversion code group;
a group of codewords, each having a length of 15 bits, having from 9 to 10
EZs, and having no LZ, the surplus codewords of the third main conversion
code group, and having 7 to 8 LZs, or having 0 to 8 EZs; and
a group of codewords, each having a length of 15 bits, and having 9 or 10
EZs, the surplus codewords of the fourth main conversion code group, and
having 3 to 8 LZs and 0 to 8 EZs.
11. The method of claim 10, wherein when the code stream pairs are a, b1, c
and a, b2, c, respectively, and b1 and b2 are DC control codewords having
opposite INV characteristics, codewords are allocated such that the INV
characteristics of code streams after conversion are maintained to be
opposite even if code changes of a, b1, b2, or c occur due to violation of
the predetermined run length between a, and b1 (b2) or b1 (b2) and c.
12. A method in a run length limited coding system generating codewords to
be recorded on a recording medium, the method comprising:
arranging the codewords disposed adjacent to each other to have different
opposite polarities from each other, the different opposite polarities
representing one of an odd number and an even number of 1s in each
codeword; and
arranging the codewords disposed to have a boundary condition representing
that the number of continuous 0s between adjacent codewords is more than a
predetermined number.
13. A method in a run length limited coding system generating codewords in
a first code group and a second code group to be recorded on a recording
medium, the method comprising:
selecting from the first code group one of the cordwords having two
different INV polarities representing one of an odd number or an even
number of 1s in each codeword; and
allocating the selected one of the codewords of the first code group into
the second code group to be arranged and connected to a codeword of the
second code group having different INV polarity from the selected one of
the codewords of the first code group.
14. The method of claim 13, wherein the allocating of the selected one
comprises selecting the second code group when the number of the codewords
of the second code group is less than a predetermined value.
15. The method of claim 13, wherein the selecting of the one of the
cordwords comprises selecting the first code group when the number of the
codewords of the first code group is more than a predetermined value.
16. The method of claim 13, further comprising:
generating the first code group and second group having adjacent codewords
to have a boundary condition representing that the number of continuous 0s
between the adjacent codewords is more than a predetermined number.
Description
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a method of generating and allocating
modulation codes of source codes to be recorded on a recording medium, and
more particularly, to a method of generating codewords with a restricted
run length and allocating the generated codewords to form a code stream so
that a DC control characteristic of the code stream is maintained.
2. Description of the Related Art
In a Run Length Limited (RLL) code represented by (d, k, m, n), the
performance of a code is evaluated mainly based on a recording density and
a capability to suppress a DC component of the code. Here, "m" denotes the
number of data bits (the number of so-called source data bits, which is
also referred to as the number of information word bits), "n" denotes the
number of codeword bits after modulation (the number of so-called channel
bits) of the source data bits, "d" denotes the minimum number of a series
of `0s` that can exist between `1` and `1` in a codeword, and "k" denotes
the maximum number of a series of `0s` that can exist between `1` and `1`
in a codeword. An interval between the codeword bits in a codeword is
represented by T.
A modulation method, to improve a recording density, is used to reduce the
number of the codeword bits "n" while regarding "d" and "m" as given
conditions. In the RLL code, however, "d", which is the minimum number of
a series of `0s` that can exist between `1` and `1` in a codeword, and
"k", which is the maximum number of a series of `0s` that can exist
between `1` and `1` in a codeword, should be satisfied. If, with this (d,
k) condition satisfied, the number of data bits is "m", the number of
codewords satisfying RLL(d, k) should be equal to or greater than 2.sup.m.
Moreover, in order to actually use this code, run length constraints, that
is, RLL(d, k) conditions, should be satisfied in a part where a codeword
is linked to another codeword. In addition, when the DC component of a
code affects the system performance, it is desirable to use a code which
has a DC suppression capability.
The main reason for suppressing the DC component in the RLL modulated code
stream is to minimize an effect of a reproducing signal on a servo band.
Hereinafter, methods of suppressing the DC component will be referred to
as Digital Sum Value (DSV) control methods.
The DSV control methods can be broadly classified into two types. One is a
method having a DSV control code itself, where the DSV control code is
capable of controlling a DSV. The other one is a method of inserting a
merge bit at each DSV control time. An Eight to Fourteen Modulation plus
(EFM+) code performs DSV control using a separate code table while the EFM
code or a (1, 7) code performs the DSV control by inserting the merge bit.
Therefore, the shape of the prior art modulation code group having the DSV
control code itself capable of controlling suppression of the DC component
and satisfying the conditions described above is as shown in FIG. 1, in
which each of a predetermined number of main conversion code groups has a
corresponding code group for controlling suppression of the DC component.
Each main conversion code group and the corresponding code group form a
pair so that the DC component can be suppressed and controlled. In this
case, there are some characteristics in the codewords of predetermined
main conversion code groups. That is, there are no identical codewords
between the main conversion code groups A and B. If duplicated codes are
used, there might be the main conversion code groups C and D for
demodulating the duplicated codes, where there are no identical codewords
between the main conversion code groups C and D, but codewords in the main
conversion code group A or B may be in the main conversion code group C or
D for demodulating duplicated codes. The number of codewords in the main
conversion code groups A and B and the main conversion code groups C and D
for demodulating duplicated codes is 2.sup.m if the number of bits in the
source word before conversion is "m".
If corresponding code groups E through H are DC suppression control code
groups used for suppressing the DC components together with the main
conversion code groups A through D, respectively, the characteristics of
codewords in each of the corresponding code groups E through H are the
same as the characteristics of codewords in the main conversion code
groups A through D, respectively. That is, the same conditions for
generating duplicated codewords or the same conditions for determining the
number of lead zeros in a codeword are applied to each of the DC
suppression control code groups E through H for controlling suppression of
DC components and the main conversion code groups A through D.
For example, the characteristics of the EFM+ code, which is used in current
Digital Versatile Discs (DVD), has a run length condition of RLL(2, 10)
and a codeword length (n) of 16 bits, is as shown in FIG. 2. The main
conversion code groups are MCG1 ("A" in FIG. 1) and MCG2 ("B" in FIG. 1)
and the conversion code groups for demodulating duplicated codes are DCG1
("C" in FIG. 1) and DCG2. ("D" in FIG. 1). There are four DSV code groups
("E.about.H" in FIG. 1) which make pairs with respective conversion code
groups to control suppression of DC components. There are no identical
codewords between the four conversion code groups and the four DSV code
groups which are code groups for controlling DC components.
Also, the conditions for generating duplicated codewords in the entire code
groups are the same, and the characteristics of codewords in each code
group pair that can control DC components (MCG1 and the first DSV code
group, MCG2 and the second DSV code group, DCG1 and the third DSV code
group, or DCG2 and the fourth DSV code group) are the same.
That is, a codeword having a continuous sequence of from 2 to 5 zeros from
the Least Significant Bit (LSB) of the codeword is generated using
duplicated codewords. This rule is applied to each code group in the same
manner. In each of the codewords of the first DSV code group for
controlling suppression of DC components, which controls suppression of DC
components together with the main conversion code group MCG1, there is a
continuous sequence of between 2 and 9 `0s` from the Most Significant Bit
(MSB). In each of the codewords of the second DSV code group for
controlling suppression of DC components, which controls suppression of DC
components together with the main conversion code group MCG2, there is
either 0 or 1 `0` continuing from the MSB.
Some bits (here, b15(MSB) or b3) in the codewords of the third DSV code
group control the suppression of the DC components together with the
corresponding conversion code group DCG1 for demodulating duplicated codes
are `0b`, while some bits (here, b15(MSB) or b3) in the codewords of the
fourth DSV code group for controlling suppression of DC components control
the suppression of the DC components together with the corresponding code
group DCG2 for demodulating duplicated codes, and some bits (here,
b15(MSB) and b3) are `1b`. In developing 8 to 15 modulation code which has
an advantage in the recording density aspect compared to the prior art
modulation method EFM+ which uses the modulation code group shown in FIG.
1 or 2, the original characteristics of a code stream change when a change
occurs in a codeword because of a boundary rule applied to the locations
adjacent to a boundary which connects a codeword to another codeword.
SUMMARY OF THE INVENTION
To solve the above and other problems, it is an objective of the present
invention to provide a method of generating and allocating codewords
having a run length restriction so that original characteristics of a code
stream are maintained without change even when a codeword is replaced
according to a boundary rule when the code stream is allocated.
Additional objects and advantageous of the invention will be set forth in
part in the description which follows and, in part, will be obvious from
the description, or may be learned by practice of the invention.
To achieve the above and other objects according to an embodiment of the
present invention, there is provided a method of generating and allocating
codewords of source words which are to be recorded on a recording medium,
the method including generating codewords satisfying predetermined run
length conditions and grouping codewords according to each run length
condition; and allocating the codewords such that a code(word) for the
source word is capable of controlling suppression of DC components.
It is preferable that when a predetermined boundary condition is not
satisfied in the code stream, allocating codewords such that codewords
which satisfy the boundary condition and maintain the DC control
characteristics which are considered when the initial codewords are
allocated replace the initial codewords.
The generating of the codewords includes generating codewords satisfying
the length of a predetermined first codeword, and predetermined run length
conditions, grouping the codewords according to each predetermined run
length condition to generate a main conversion codeword table; generating
DC control codewords satisfying the length of a predetermined second
codeword, and predetermined run length conditions in order to control DC
components in the code(word) stream, grouping the DC control codewords,
and generating a code conversion table for controlling DC components; and
generating additional DC control codewords by taking codewords which
satisfy the predetermined run length conditions and are not needed in the
main conversion codeword table, and grouping the additional DC control
codewords.
Also, there is provided another allocation method of allocating codewords
generated for source words to be recorded on a recording medium, the
method including when a preceding codeword "a" and a following codeword
"b" form a code stream X, allocating one of two selectable codewords b1
and b2 as codeword "b", in which codewords b1 and b2 have opposite INV
values which are parameters indicating whether the number of `1s`
contained in a codeword is an odd number or an even number and when the
code stream of "a" and b1 is X1, and the code stream of "a" and b2 is X2,
allocating codewords such that the INVs of X1 and X2 are maintained to be
opposite when "a" or b1(b2) (b1 or b2) should be replaced by other
codewords in compliance with a predetermined boundary condition given
between codewords.
It is preferable that when the predetermined boundary condition is that the
number of continuous `0s` between codewords should be at least 2, and when
the number of continuous `0s` from the Least Significant Bit (LSB) of the
codeword "a" in the Most Significant Bit (MSB) direction is 0, and the
number of continuous `0s` from the MSB of the codewords b1 or b2 in the
LSB direction is 1, code changes of either the codeword "a" or b1(b2) (b1
or b2) occur to satisfy the boundary condition.
It is preferable that when the number of continuous `0s` between the
codewords "a" and "b" is 1 or 0, the codeword "a" or "b" is changed such
that the number of 0s forming the boundary is greater than 2 and less than
10.
It is preferable that the codeword "a" of the code stream X1 and the
codeword "a" of the code stream X2 are changed to other codewords such
that the resulting codewords "a" of code streams X1 and X2 have the same
INV value, and as a result, by the INVs of codewords b1 and b2 following
the codewords "a" respectively, the INVs of the X1 and X2 become
different.
Also, there is provided an allocation method of allocating codewords of
source words to be recorded on a recording medium, the method including
when a preceding codeword "b" and a following codeword "c" form a code
stream Y, allocating one of two selectable codewords b1 and b2 as the
codeword "b", wherein codewords b1 and b2 have opposite INVs which are
parameters indicating whether the number of `1s` contained in a codeword
is an odd number or an even number and when the code stream of b1 and "c"
is Y1, and the code stream of b2 and "c" is Y2, allocating codewords such
that INVs of Y1 and Y2 are maintained to be opposite when the codeword b1,
b2, or "c" should be replaced by another codeword in compliance with a
predetermined boundary condition between codewords.
It is preferable that when the predetermined boundary condition is that the
number of continuous `0s` between codewords should be at least 2, and when
the number of continuous `0s` from the Least Significant Bit (LSB) of the
codeword "c" toward the Most Significant Bit (MSB) is 1, codeword "b"
which does not satisfy the boundary condition and is xxxxxxxxxxx1001 or
xxxxxxxxxx10001 appears in both b1 and b2.
BRIEF DESCRIPTION OF THE DRAWINGS
These and other objects and advantageous of the invention will become
apparent and more readily appreciated from the following description of
the preferred embodiments, taken in conjunction with the accompanying
drawings of which:
FIG. 1 is a diagram of an example of a conventional modulation code group;
FIG. 2 is a table showing characteristics of codewords included in the
modulation code group of FIG. 1;
FIG. 3 is a flowchart showing a method of generating and allocating codes
according to an embodiment of the present invention;
FIG. 4 is a main code conversion table showing a variety of codeword groups
and characteristics of codewords in each codeword group;
FIG. 5 is a corresponding code conversion table showing a variety of the
codeword groups for DC control and characteristics of the codewords in
each codeword group;
FIG. 6 is an auxiliary conversion table showing a variety of the codeword
groups for DC control and characteristics of the codewords in each
codeword group;
FIG. 7 is a diagram for showing what should be considered for the run
length conditions between adjacent codewords "a" and "b";
FIG. 8 is a table showing an example of changes in INV values of code
streams before code conversion and after code conversion when the run
length conditions described in FIG. 7 are not satisfied;
FIG. 9 is a diagram showing an example of code stream branches having
selective codewords b1 and b2 for DC control;
FIG. 10 is a graph showing a relationship between INV values of a code
stream pair:
FIGS. 11A through 11E are the main code conversion code tables of FIG. 4;
FIGS. 12A through 12J are the corresponding code conversion tables for DC
control of FIG. 5;
FIGS. 13A and 13B are the auxiliary code conversion tables for DC control
of FIG. 7; and
FIG. 14 is a graph showing a difference between a frequency spectrum when
codewords of the corresponding code conversion table for DC control
according to the embodiment of the present invention are used in 25% of
all of the codewords, and the frequency spectrum when prior art EFM+
modulation codewords are used.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Reference will now be made in detail to the present preferred embodiments
of the present invention, examples of which are illustrated in the
accompanying drawings, wherein like reference numerals refer to the like
elements throughout. The embodiments are described in order to explain the
present invention by referring to the figures.
FIG. 3 is a flowchart showing a method of generating and allocating codes
according to the present invention. According to the method of generating
and allocating codewords of source words to be recorded on a recording
medium, the codewords satisfying predetermined run length conditions are
generated and the generated codewords are grouped according to each run
length condition in operation 300. The codewords are allocated so that the
code (word) streams for source words are capable of controlling DC
components in operation 310. It is determined whether or not predetermined
boundary conditions are satisfied in the code stream in operation 320. If
the conditions are not satisfied, the codewords are replaced by codewords
satisfying the boundary conditions while the DC control characteristics
are maintained even when the original codewords are allocated in operation
330.
Code tables of the codewords for source code conversion are roughly divided
into three types: 1) a main conversion table, 2) a corresponding
conversion table for controlling DC components, and 3) an auxiliary
conversion table for controlling the DC components.
FIG. 4 is a table showing a variety of codeword groups of a main conversion
table and the characteristics of codewords in each code group. It is
assumed that "d" denotes the minimum run length limit of a series of
continuous "0"s of a codeword, "k" denotes the maximum run length limit of
a series of continuous "0"s of a codeword, "m" denotes the number of bits
of source data, "n" denotes the number of bits of a codeword after
modulation of the source data, End Zero (EZ) denotes the number of `0s` in
a continuous sequence from the LSB of a codeword in a direction toward the
MSB of the codeword, and Lead Zero (LZ) denotes the number of `0s` in a
continuous sequence from the MSB of a codeword in a direction toward the
LSB of the codeword. For example, codewords that satisfy d=0, k=10, m=8,
n=15, 0 EZ 8 are divided according to the following LZ conditions:
1) number of codewords satisfying 2 LZ 10: 177
2) number of codewords satisfying 1 LZ 9: 257
3) number of codewords satisfying 0 LZ 6: 360
4) number of codewords satisfying 0 LZ 2: 262
If the number of bits of the source data satisfies m=8, the number of
codewords for conversion should be 256 or more. However, in condition 1),
the number of codewords does not amount to 256. Therefore, the number of
codewords in condition 1) can amount to 256 by taking some codewords from
a condition having a surplus number of codewords. In this case, 83
codewords from the codewords satisfying group 3)'s LZ condition may be
taken and added to group 1). Then, the numbers of codewords included in
conditions 1) through 4) are 260, 257, 277(=360-83), and 262,
respectively, and satisfy the minimum number of modulation codewords, that
is, 256 for 8-bit source data. In the table of FIG. 4, Main Code Group 1
(MCG1) is the name of a code group containing codewords satisfying
condition 1) and some (83) codewords are taken from main code group 3
(MCG3) satisfying condition 3). MCG2 and MCG4 are the names of codewords
satisfying condition 2), and 4), respectively. MCG3 is the name of
codewords satisfying condition 3), excluding the 83 codewords taken by
MCG1. In each of the main code groups MCG1 through MCG4, only 256
codewords can be used as conversion codes for source codes.
FIG. 5 is a corresponding conversion table showing a variety of codeword
groups for the DC control and the characteristics of codewords in each
codeword group. For example, assuming that d=2, k=10, m=8, n=17, and 0 EZ
8, conversion code tables for controlling DC components may include the
following 4 groups (corresponding to DCG1, DCG2, DCG3, and DCG4 of FIG. 5,
respectively) according to the LZ conditions:
1) number of codewords satisfying 2 LZ 10: 375
2) number of codewords satisfying 1 LZ 9: 546
1) number of codewords satisfying 0 LZ 6: 763
1) number of codewords satisfying 0 LZ 2: 556
Each group forming the corresponding conversion table for controlling the
DC components should have at least 2 codewords that selectively correspond
to one source data, and therefore should have at least 512 (=2.sup.8
+2.sup.8) codewords for 8-bit source data. Since the number of codewords
in the code group satisfying the LZ condition 1) is less than 512, code
group 1) can take surplus codewords from other code groups satisfying
other LZ conditions to amount to the number of 512. For example, in the
above embodiment, code group 1 DCG1 may take 177 codewords from the code
group 3 DCG3 satisfying the condition 3) so as to have 552 (=375+177)
codewords.
FIG. 6 is an auxiliary conversion table showing a variety of codeword
groups for the DC control and the characteristics of codewords in each
code group. For example, among codewords satisfying d=2, k=10, m=8, and
n=15, codewords satisfying 9 EZ 10, the remaining codewords of the main
code conversion groups (MCGs), and codewords satisfying LZ=7, 8 or LZ=4, 5
are used as codewords of auxiliary code groups (ACGs) for controlling the
suppression of the DC components. The conditions for generating these
codewords will now be explained in detail. The following conditions
correspond to ACG1 through ACG4, respectively, which are names of the
auxiliary conversion table for controlling the suppression of the DC
components:
1) 5 codewords (satisfying 9 EZ 10 and LZ 0)+the remaining 4 codewords (in
the MCG1)=9 codewords,
2) 5 codewords (satisfying 9 EZ 10 and LZ 0)+1 remaining codewords (in the
MCG1) =6 codewords,
3) 5 codewords (satisfying 9 EZ 10 and LZ 1)+15 codewords (satisfying 7 LZ
8 and 0 EZ 8)+21 remaining codewords (in MCG3)=41 codewords,
4) 7 codewords (satisfying 9 EZ 10+the remaining 6 codewords in the
MCG4)+85 codewords (satisfying 3 LZ 5 and 0 EZ 8)=98 codewords.
When a codeword "a" and a codeword "b" are connected, the junction where
the two codewords are connected should satisfy a run length (d, k)
condition. FIG. 7 is a diagram showing what should be considered for the
run length conditions when the codewords "a" and "b" are connected.
Satisfying the run length condition means that in FIG. 7 a value obtained
by adding the end zero (EZ_a) of the codeword "a" and the lead zero (LZ_b)
of the codeword "b" is equal to or greater than the minimum run length "d"
and equal to or less than the maximum run length "k".
FIG. 8 is a table showing an example of changes in INV values of code
streams (whose meaning will be described below) before code conversion and
after code conversion when the run length conditions described in FIG. 7
are not satisfied. The codeword "b" is determined in a group indicated by
the EZ of the preceding codeword "a". When the codeword "a" or "b" is
included in a code group, in which the number of the codewords is not
enough to meet the condition, and is taken out from other code groups, the
(d, k) condition may not be satisfied. In this example, the EZ of codeword
"a" changes to satisfy the run length condition, which is referred to as
the boundary rule. A variable INV value, which indicates whether the
number of `1s` in a codeword stream is an even number or an odd number,
may change from a previous INV value while the codeword "a" is not
changed, according to the boundary rule (condition). Due to this
characteristic of the INV value or the boundary rule, attention should be
paid when a codeword is allocated according to code conversion tables to
control the suppression of the DC components.
FIG. 9 is a diagram showing an example of code stream branches having
selectable codewords b1 and b2 for the DC control. One of the major
features of the code conversion of the present invention is that the
codewords of two code conversion tables that can be selected for the DC
control are allocated so that they have opposite INV characteristics
(values). When the previous INV value changes according to the boundary
rule as described above, if the INV values of both the codewords in the
two selectable code conversion tables change, then there will be no
problem. Otherwise, characteristics of codewords having opposite INV
values cannot be obtained. For this reason, a code conversion table is
designed to consider the following.
First, in FIG. 9, at a junction A where the codeword "a" and the codeword
"b" are connected to each other, if b1 and b2, which can be selected as
the codeword "b", are codewords taken out from DCG11 and DCG12,
respectively, the codewords are regrouped in the codewords DCG1 according
to the code conversion table shown in FIG. 5 after being separated from
the codewords DCG3 to correspond to the same source code but have
different INV values. If the codewords b1 and b2 are codewords of MCG1 and
MCG2, respectively, then codewords in which LZ_b1 (the number of LZs of
codeword b1) and LZ_b2 (the number of LZs of codeword b2) are 1 are
allocated on the location. By doing so, when the EZ of the codeword "a" is
`0`, according to the boundary rule, the INV value of the codeword "a" is
changed in both the code stream containing the codeword b1 and the code
stream containing the codeword b2, or the INV value of the codeword "a"
does not change in either the code stream containing the codeword b1 or
the code stream containing the codeword b2, such that the INV values of
the two code streams are maintained to be opposite. An example is as
follows:
source data
250 224 27
code stream1 000001000010001 000001000001001 010010010000000
(before conversion) (MCG3) (MCG1) (MCG1)
code stream1 000001000010001 000001000001000 010010010000000
(after conversion)
INV1 1 1 0
code stream2 000001000010001 000001000001001 010010000000000
(before conversion) (MCG3) (MCG1) (ACG1)
code stream2 000001000010001 000001000001000 010010000000000
(after conversion)
INV2 1 1 1
Next, in another junction B of FIG. 9, that is, at the junction B where the
codeword "b" and codeword "c" are connected to each other, if the
codewords b1 and b2 are respectively included in code conversion tables
DCG11 and DCG12, DCG21 and DCG22, DCG31 and DCG32, DCG41 and DCG42, MCG1
and ACG1, MCG2 and ACG2, MCG3 and ACG3, or MCG4 and ACG4, and
(xx)xxxxxxxxxxx1001 or (xx)xxxxxxxxxx10001 as shown in FIG. 8, the INV
value may change according to the boundary rule due to the LZ of the
following codeword "c". Therefore, these codewords b1 and b2 are allocated
to the location for corresponding same source data in each table such that
the INV values of the two code streams are maintained to be opposite. An
example is as follows:
source data
250 152 210
code stream1 000001000010001 01000000010001001 000000100000001
(before conversion) (MCG3) (DCG11) (MCG1)
code stream1 000001000010000 01000000010001001 000000100000001
(after conversion)
INV1 0 0 0
code stream2 000001000010001 01001000010001001 010000001001001
(before conversion) (MCG3) (DCG12) (MCG1)
code stream2 000001000010000 01001000010001001 010000001001001
(after conversion)
INV2 0 1 1
For the junctions A and B of FIG. 9, the codewords are first allocated to
the location corresponding same source data in each code conversion table
(DCG11 and DCG12 or MCG1 and ACG1) considering the above. Referring to the
following example, in the junction B, according to the boundary rule, the
INV values of code stream 1 and code stream 2 are maintained to be
opposite and the INV values of code stream 3 and code stream 4 are
maintained to be opposite. Also, at the junction B, according to the
boundary rule, the INV values of code stream 1 and code stream 3 are
maintained to be opposite and the INV values of code stream 2 and code
stream 4 are maintained to be opposite.
source data
250 152 7
code stream1 000001000010001 01000000010001001 010000010010001
(before conversion) (MCG3) (DCG11) (MCG1)
code stream1 000001000010000 01000000010001000 010000010010001
(after conversion)
INV1 0 1 1
code stream2 000001000010001 01000000010001001 010010010010001
(before conversion) (MCG3) (DCG11) (AGG1)
code stream2 000001000010000 01000000010001000 010010010010001
(after conversion)
INV2 0 1 0
code stream3 000001000010001 01001000010001001 010000010010001
(before conversion) (MCG3) (DCG12) (MCG1)
code stream3 000001000010000 01001000010001000 010000010010001
(after conversion)
INV3 0 0 0
code stream4 000001000010001 01001000010001001 010010010010001
(before conversion) (MCG3) (DCG12) (ACG1)
code stream4 000001000010000 01001000010001000 010010010010001
(after conversion)
INV4 0 0 1
As described above, considering changes in the INV value of a codeword due
to the boundary rule in a codeword stream, codewords are allocated so that
the INV values (polarities) of a codeword pair after modulation of the
source data is always maintained to be opposite. FIG. 10 is a graph
showing the relationship of the INV values of this code stream pair. If
codewords are allocated such that the INV values of a code stream pair are
always opposite, a codeword can be selected so that a code stream having
the DC components between the code stream pair is formed.
Exceptions to the rule that INV values are maintained to be opposite at the
junction A of FIG. 9 may occur when the amount of the source data is from
251 to 255 in the code conversion table for controlling the DC components.
In such exceptional cases, the CSV signs of the codewords are made to be
opposite so that the difference between DSV values in the code stream pair
is made.
FIGS. 11A through 11E are the main conversion tables in which codewords are
generated and allocated after the conditions described above are
condsidered.
FIGS. 12A through 12J are the corresponding conversion tables for DC
control in which codewords are generated and allocated after the
conditions described above are considered.
FIGS. 13A and 13B are the auxiliary code conversion tables for the DC
control in which codewords are generated and allocated after the
conditions described above are considered.
FIG. 14 is a graph showing the difference between a frequency spectrum when
codewords of the code conversion table for the DC control according to the
embodiment of the present invention are used in 25% of all of the
codewords, and another frequency spectrum when prior art EFM+ modulation
codewords are used. The graph shows that in a low frequency band, the
frequency spectrum of the code words (modulated code stream) according to
the present invention is almost the same as the frequency spectrum of the
EFM+, which indicates that the code stream of the present invention has
almost the same capability of suppressing the DC components as that of the
EFM+ method.
Accordingly, since the present invention uses 15-bit codes as the main
conversion code and selectively uses 17-bit DC control codes for
controlling DC components, the present invention has better efficiency in
recording density than the prior art EFM+ code and has the same DC
suppression capability as the EFM+ code.
According to the present invention, by using a short codeword having less
bits as a main conversion codeword, high efficiency is achieved in
recording density.
Also, when codewords which do not satisfy the run length conditions are
replaced by other codewords, the codewords are allocated so that the DC
suppression capability of the code stream can be maintained, and therefore
a higher DC suppression capability of the code stream is provided.
Although a few preferred embodiments of the present invention have been
shown and described, it would be appreciated by those skilled in the art
that changes may be made in this embodiment without departing from the
principles and sprit of the invention, the scope of which is defined in
the claims and their equivalents.
*