[0001] The present invention relates to bar code readers.
[0002] In recent years, bar code readers are widely used with POS terminals as means for
merchandise management.
[0003] Figure 5 shows a previously-considered bar code reader. In the figure, numeral 130
denotes a signal input portion, 131 an amplifier, 132 a differential circuit, 133
a low-pass filter, 134 an amplifier, 135 an integrating circuit, 136 a comparator,
137 a resistor, 138 an amplifier, 139 a peak holding circuit, 140 a DC level circuit,
141 a discharging circuit, 142 a voltage dividing circuit, 143 reversing amplifier,
144 and 145 comparators, 146 and 147 delay circuits, 148 and 149 AND circuits, 150
an inverter, 151 a flip-flop, and 152 a lower limiter.
[0004] The integrating circuit 135, comparator 136, and resistor 137 form a comparing portion
110. The peak holding circuit 139, DC level circuit 140, discharging circuit 141,
voltage dividing circuit 142, reversing amplifier 143, and lower limiter 152 from
a slice level creating circuit 111. The comparators 144 and 145 and delay circuits
146 and 147 form a delay gate signal output portion 112. The AND circuits 148 ana
149 form a signal output portion 113.
[0005] Operation of the bar code reader of Fig. 5 will be explained.
[0006] The signal input portion 130 receives a bar code read signal. The amplifier 131 amplifies
the signal, and the differential circuit 132 differentiates the amplified signal.
The low-pass filter 133 removes high-frequency noise from the differentiated signal,
and the amplifier 138 amplifies an output of the low-pass filter 133. The peak holding
circuit 139 and DC level circuit 140 receives an output of the amplifier 138. The
discharging circuit 141 receives outputs of the circuits 139 and 140. An output of
the discharging circuit 141 passes through the lower limiter 152, voltage dividing
circuit 142, and reversing amplifier 143, thereby providing positive and negative
slice levels. The DC level circuit 140 provides an intermediate level of the slice
levels.
[0007] The comparator 144 receives the positive slice level from the reversing amplifier
143, and the comparator 145 receives the negative slice level from the voltage dividing
circuit 142. The delay circuits 146 and 147 adjust outputs of the comparators 144
and 145, respectively, with respect to a delay time existing in the integrating circuit
135, and provide outputs to the AND circuits 148 and 149, respectively.
[0008] The low-pass filter 133 also provides its output to the amplifier 134. The amplifier
134 provides an output to the comparator 136 and to the integrating circuit 135. The
integrating circuit 135 delays the input signal for a predetermined time and provides
the delayed signal to the comparator 136.
[0009] According to the outputs of the amplifier 134 and integrating circuit 135, the comparator
136 provides an output to the AND circuit 148 and to the AND circuit 149 through the
inverter 150.
[0010] Outputs of the AND circuits 148 and 149 are edge signals that indicate the start
and the end af a black bar of the bar code, respectively. By monitoring output signals
of the flip-flop 151, it is possible to detect the widths and numbers of black and
white bars of the bar code and decode the bar code.
[0011] An operation of reading black and white bars of a bar code, carried out by the Figure
5 reader, will be explained with reference to Fig. 6.
[0012] Figure 6(A) shows a bar code comprising black bars B1 and B2 and a white bar defined
between the black bars. Figure 6(B) shows a signal read from the bar code of Fig.
6(A). The differential circuit 132 of Fig. 5 differentiates the read signal and provides
a signal indicated with a continuous line in Fig. 6(C). The integrating circuit 135
of Fig. 5 integrates the differentiated signal and provides a signal indicated with
a dotted line in Fig. 6(C). The integrating circuit 135 has a small time constant
and provides a delay function.
[0013] The comparator 136 of Fig. S compares the differentiated signal with the integrated
signal, and when the signal from the integrating circuit 135 becomes larger than the
other, provides a high (H) level signal as shown in Fig. 6(D).
[0014] The comparators 144 and 145 compare the differentiated signal indicated with the
continuous line in Fig. 6(C) with a positive slice level Th1 and negative slice level
Th2, and provide gate signals shown in Figs. 6(E) and 6(F), respectively.
[0015] The AND circuits 148 and 149 receive the gate signals and the signal of Fig. 6(D)
provided by the comparing portion 110, and provide signals shown in Figs. (6(G) and
6(H), respectively. These signals represent the black and white bars of the bar code
as shown in Fig. 6(I), and may set and reset the flip-flops 151 of Fig. 5, thereby
providing a signal representing the widths of the black and white bars.
[0016] The bar code is sometimes printed on a cylindrical object. In this case, the bar
code may provide, when read, weak signals depending on reading angles. To process
the weak signals, the bar code reader must have a large dynamic range. Namely, it
must have small positive and negative slice levels.
[0017] According to standards, the bar code has margins at the start and the end thereof
to prevent erroneous reading. Each of the margins comprises a white bar having a predetermined
width.
[0018] The bar code reader has a detector that detects reflected light from a medium. The
bar code reader amplifies the detected light and provides a binary signal. Thereafter,
as shown in Fig. 7, a bar code construction checking portion 160 checks a format of
the bar code, and a demodulating portion 166 demodulates the bar code into definite
numerals according to a recognition logic.
[0019] The bar code construction checking portion 160 comprises a start margin recognizing
portion 161, a guard bar recognizing portion 162, a character recognizing portion
163, an end margin recognizing portion 164, etc. The start margin recognizing portion
161 checks to see whether or not a prescribed white margin exists at the left side
of the bar code. The guard bar recognizing portion 162 checks to see whether or not
prescribed guard bars exist on each side and the center of the bar code. The character
recognizing portion 163 checks to see that each character comprises two white bars
and two black bars and that there are seven character modules. The end margin recognizing
portion 164 checks to see whether or not a prescribed white margin exists at the right
side of the bar code.
[0020] An amplifying portion 170 of Fig. 7 (corresponding to the amplifier 131, differential
circuit 132, low-pass filter 133, etc., of Fig. 5) provides an input signal to a binary
circuit 171 (corresponding to the comparing portion 110, slice level creating circuit
111, gate signal output portion 112, signal output portion 113, flip-flop 151, etc.,
of Fig. 5) A bar width counter 173 measures the widths of white and black bars according
to an output of the binary circuit 171, and provides the measured result to the demodulating
portion 166 and bar code construction checking portion 160.
[0021] The demodulating portion 166 demodulates the output of the bar width counter 173
into characters, i.e., concrete numerals. The bar code construction checking portion
160 checks the bar code. If the bar code is normal, a sequence controller 165 sends
an effective signal to an effectiveness determining section 167. In response to the
effective signal, the effectiveness determining section 167 passes the numerals decoded
by the demodulating portion 166, as demodulated data.
[0022] If the read bar code including the margins is not correctly converted into binary
data, it is impossible to read the bar code.
[0023] A laser bar code reader has a deep reading depth and a large dynamic range for reflected
light.
[0024] A margin of a bar code is printed white so that it may basically cause no change
in the quantity of reflected light. When a laser beam for scanning the bar code is
thin and the quantity of reflected light is large, the margin may produce relatively
large noise due to very small irregularities on the surface of a sheet where the bar
code is printed.
[0025] To prevent the margin from providing erroneous binary data due to the noise, the
bar code reader described above employs the lower limiter 152 of Fig. 5 and the lower
limiter 172 of Fig. 7. These limiters prevent a slice level from dropping below a
predetermined value, thereby preventing noise below the predetermined level from providing
binary data.
[0026] This predetermined level is required not to be too small. This raises a problem that
a weak signal generated from a small quantity of reflected light and having a signal
level below the predetermined level cannot be converted into binary data. In this
case, it is impossible to read the bar code.
[0027] It is desirable to provide a bar code reading system employing high-speed scanning
means for reading a bar code formed on the surface of a moving object. Such a system
should desirably be capable of correctly reading a bar code and converting it into
binary data in conditions in which the level of reflected light is weak and irregularities
on the surface of the object on which the bar code is printed produce noise.
[0028] A bar code reading apparatus embodying the present invention comprises a scanning
portion, a collector for collecting light reflected from a bar code, a binary circuit
for providing binary data according to an analog signal contained in the collected
light, a bar width counter for computing the widths of bars of the bar code according
to an output of the binary circuit, a demodulating portion for generating predetermined
information according to values provided by the bar width counter, a bar code construction
checking portion for checking the construction of predetermined parts of the bar code
according to the values provided by the bar width counter, and a sequence controller
for controlling the bar code construction checking portion, judging, only when the
bar code has a predetermined construction, that output data provided by the demodulating
portion is effective, and letting the data of the demodulating portion go out. The
bar code reading apparatus also includes an amplitude increase detecting means for
detecting when the amplitude of the analog signal steeply changes. When the amplitude
increase detecting means provides a detected signal, the sequence controller acts
as if there were a normal white margin in the bar code, even if at least a start margin
of the bar code produce noise.
[0029] Reference will now be made, by way of example, to the accompanying drawings in which:
Fig. 1 is a block diagram of parts of circuitry in a bar code reader embodying the
present invention;
Fig. 2A is a general block diagram of circuitry in a first bar code reader embodying
the invention;
Fig. 2B is a block circuit diagram corresponding to Fig. 2A in which parts of the
Fig. 2A circuitry are shown in greater detail;
Fig. 3 is a waveform diagram illustrating operation of the Fig. 2A reader;
Figs. 4A to 4C together show a circuit diagram of circuitry in a second bar code reader
embodying the present invention;
Figs 5A and 5B show a block diagram of signal processing circuitry in a bar code reader
not embodying the invention;
Fig. 6 is a waveform diagram illustrating operation of the circuitry of Fig. 5; and
Fig. 7 is a general block diagram of circuitry in the Fig. 5 reader.
[0030] A bar code reading system embodying the present invention can read at a high speed
a bar code printed on a object that is itself moving at high speed. The diameter of
a laser beam emitted by such a bar code reading system should preferably be thin,
and the quantity of reflected light of the laser beam collected by a collector may
be small. In obtaining binary data from the collected laser beam under these conditions,
noise easily occurs.
[0031] Under these conditions, it is not preferable to fix a limiter level for providing
the binary data because noise levels may frequently exceed the fixed limiter level.
However, a means (such as the slice level creating circuit 111 of Fig. 5) for changing
the limiter level in response to the quantity of input light may also not always be
preferable. If the limiter level is set low for a small quantity of light, for example
when scanning a white bar of a bar code, stains and dirt on the white bar may produce
an output that exceeds the limiter level, and such an output may provide erroneous
information that a black bar exists.
[0032] A bar code reader embodying the invention utilizes the fact that the detection level
of a correct black bar of a bar code is much larger than that of a white bar of the
bar code. When scanning across a white bar, imperfections thereon may gives rise to
an erroneous "black bar detected" signal, but thereafter a correct black bar following
the white bar normally gives rise to a steep increase in the level of the detected
signal. If such an increase exceeds a predetermined value a bar code reader embodying
the present invention judges that there is a black bar at the position where the steep
increase in the signal level has occurred and that the signal detected before the
steep increase is noise. The reader then effectively ignores the noise and indicates
that the white bar is continuous across its width.
[0033] Namely, if there is a steep increase in a detected signal level, the reader effectively
ignores a noise occurring state before the steep increase.
[0034] More precisely, in reading start margin, guard bar, characters, guard bar, and end
margin of a bar code in this order, bar code readers are liable to mistakenly recognize
stains and dust on the start margin as part of the guard bar. A reader embodying the
invention, however, judges that an erroneous signal produced by the stains and dust
on the start margin is noise and that the start margin is continuous, provided that
a correct guard bar is detected after the erroneous signal, i.e. a steep increase
in a detected signal level is detected after detection of the erroneous signal. Namely
the reader determines that the signal that has caused the steep increase in signal
level represents the guard bar.
[0035] Figure 1 shows a block diagram of parts of the circuitry in a bar code reader embodying
the present invention.
[0036] In Fig. 1, numeral 1 denotes a bar code to be read, 4 a detector having a photoelectric
converter for converting reflected light from the bar code 1 into an electric signal,
6 a binary circuit, 7 a lower limiter, a demodulator, and 13 a start margin recognizing
portion. The binary circuit 6 includes an amplitude increase detector 9 for detecting
a first black bar after a white margin of the bar code 1.
[0037] In Fig. 1, the bar code 1 reflects light when scanned. The detector 4 converts the
reflected light into an electric signall which transfers to the binary circuit 6,
lower limiter 7, and amplitude increase detector 9.
[0038] Suppoting the white margin of the bar code 1 produces no noise, the binary circuit
6 produces a binary signal based on the electric signal, and the demodulator demodulates
the binary signal into numerals. At this time, the start margin recognizing portion
13 provides a check bar code. If the white margin is normal, the start margin recognizing
portion 13 provides a check result. If other parts of the bar code are also normal,
an effectiveness determining circuit 11 judges that the numerals decoded by the demodulator
10 are effective, and transfers them to a computer means (not shown).
[0039] If the white margin of the bar code 1 produces noise, the width of the white margin
will be measured shorter than a prescribed width, so that the start margin recognizing
portion 13 may not provide a start margin recognized signal, and the effectiveness
determining circuit 11 does not send the numerals decoded by the demodulator 10.
[0040] Namely, if the white margin produces noise, a bar width counter (refer to the counter
173 of Fig. 7) suspends counting of the width of the white bar and restarts the counting
after the noise disappears. As a result, the width of the white bar will be shorter
than a normal width.
[0041] In the Figure 1 reader, the amplitude increase detector 9 provides a signal after
detecting a first black bar after the white margin. This signal is processed in the
same way as the signal provided by the start margin recognizing portion 13, and if
other parts of the bar code are normal, the effectiveness determining circuit 11 validates
the numerals decoded by the demodulator 10.
[0042] In this way, even if the white margin produces noise, the Fig. 1 reader uses a signal
provided by the amplitude increase detector 9 to validate a signal produced by the
black bar that follows the white margin. Accordingly, the Fig. 1 reader can reduce
a slice (input threshold) level and correctly read a bar code even with a weak input
signal.
[0043] An embodiment of the present invention will be explained with reference to Figs.
2A, 2B-1 and 2B-2 and 3.
[0044] In Fig 2A , numeral 1 denotes a bar code to be read, 2 a scanning portion for scanning
the bar code 1 with a laser beam, 3 a collector for collecting reflected light from
the bar code 1, 4 a detector having a photoelectric converter for converting an optical
signal into an electric signal, 5 an amplifying portion incorporating an amplifier
5-1 shown in Fig.2B-1 , and 6 a binary circuit. The binary circuit 6 includes a lower
limiter 7-1 and an amplitude increase detector 9. The lower limiter 7-1 corresponds
to the lower limiter 172 of Fig. 7 but has a lower limit level smaller than that of
the lower limiter 172, thereby widening a dynamic range to provide binary data even
from a weak signal. In Fig. 2 A , numeral 8 denotes a bar width counter corresponding
to the bar width counter 173 of Fig. 7, 10 a demodulating portion corresponding to
the demodulating portion 166 of Fig. 7, 11 an effectiveness determining section (167
of Fig. 7) and 12 a bar code construction checking portion corresponding to the bar
code construction checking portion 160 of Fig. 7. The portion 12 includes a start
margin recognizing portion 13, a guard bar recognizing portion 14, a character recognizing
portion 15, and an end margin recognizing portion 16, which correspond to the start
margin recognizing portion 161, guard bar recognizing portion 162, character recognizing
portion 163, and end margin recognizing portion 164 of Fig. 7, respectively. Also
in Fig. 2A , numeral 17 denotes an OR circuit, and 18 a sequence controller corresponding
to the sequence controller 165 of Fig. 7. The sequence controller 18 comprises a processor
and programs for operating the processor, and provides required functions.
[0045] The scanning portion 2 scans the bar code 1. The collector 3 collects reflected light
from the scanned bar code 1, and the detector 4 converts the collected light into
an electric signal. The amplifying portion 5 amplifies the signal, which is transferred
to the binary circuit 6, lower limiter 7-1, and amplitude increase detector 9.
[0046] Supposing a white margin of the bar code 1 produces no noise, the binary circuit
6 produces a binary signal from the electric signal, and the bar width counter 8 measures
the widths of white and black bars of the bar code 1 according to the binary signal.
The demodulating portion 10 demodulates the widths into numerals. A format of the
bar code 1 is checked by the start margin recognizing portion 13, guard bar recognizing
portion 14, character recognizing portion 15, and end margin recognizing portion 16
of the bar code construction checking portion 12. If the bar code format is normal,
the bar code construction checking portion 12 provides a check result, and the sequence
controller 18 recognizes that the bar code format is normal. The sequence controller
18 then provides an effective signal to the effectiveness determining section 11.
The section 11 then provides as demodulated data the numerals decoded by the demodulating
portion 10.
[0047] If the white margin of the bar code 1 produces noise, the width of the white margin
will be measured shorter than a prescribed width, so that the start margin recognizing
portion 13 may not provide a start margin recognized signal, so that in the Fig. 7
reader the sequence controller 165 (18) fails to provide the effective signal.
[0048] In the Fig. 2 reader, however, the amplitude increase detector 9 provides, upon detecting
after the white margin an input signal whose level steeply increases above a predetermined
level, a signal indicating that a first black bar was detected after the white margin.
The signal from the detector 9 passes through the OR circuit 17 and reaches the sequence
controller 18. The sequence controller 18 treats this signal to be the same as the
signal provided by the start margin recognizing portion 13, and provides the effective
signal to the effectiveness determining section 11, if other parts of the bar code
are normal.
[0049] In this way, even if the white margin of the bar code 1 produces noise, it is possible
to lower a slice level of the lower limiter 7-2 to read a bar code with a weak input
signal.
[0050] Figure 28 is a detailed view showing the binary circuit 6 of Fig. 2A and its periphery,
and Fig. 3 shows an operation of the Figure 2 circuitry.
[0051] In Fig. 2B , the same reference numerals as those of other drawings represent like
parts.
[0052] In Fig. 2B , numeral 5-1 denotes an amplifier, 5-2 a differential circuit corresponding
to the differential circuit 132 of Fig. 5, 6-1 an integrating circuit, and 6-2 a comparator.
The comparator 6-2 compares a differentiated signal from the differential circuit
5-2 with an integrated signal from the integrating circuit 6-1, and provides a differential
peak signal PKS shown in Fig. 3(I) corresponding to the signal of Fig. 6(D). In Fig.
3(I), crossed lines indicate areas where noise occurs. In these areas, an output signal
level fluctuates between ON and OFF states.
[0053] A DC level portion 6-3 has resistors 63a and 63b, a capacitor 63c, and an impedance
converting amplifier 63d, and determines an intermediate point of an output voltage
of the differential circuit 5-2. A gate portion 6-4 is similar to that of Fig. 5 and
provides a binary signal BCD, which is transferred to the bar width counter 8 for
measuring the widths of black and white bars of a bar code.
[0054] The lower limiter 7-1 comprises resistors 71a to 71c, a variable resistor 71d between
a power source of -12 V and ground, an addition amplifier 71e, and a diode 71f, and
maintains a peak hold signal discharge waveform PKH above a predetermined lower limit
value. With the lower limiter 7-1, the peak hold signal discharge waveform PKH provided
by a peak holding portion 20 will never be below the lower limit level as shown in
the left side of Fig. 3(C). The peak holding portion 20 comprises a diode 20a, a resistor
20b, and a capacitor 20c.
[0055] A differential circuit 9-1, a detection value setting portion 9-2, and a comparator
9-3 form the amplitude increase detector 9. The detection value setting portion 9-2
has a variable resistor 92a disposed between a DC power source 92b and ground. The
differential circuit 9-1 differentiates the peak hold signal discharge waveform PKH
provided by the lower limiter 7-1, and provides a differentiated PKH signal shown
in Fig. 3(D). The comparator 9-3 compares the differentiated PKH signal with a threshold
Th0 provided by the detection value setting portion 9-2. The threshold Th0 is a voltage
of an armature 92c of the variable resistor 92a. If the differentiated PKH signal
is greater than the threshold Th0, the comparator 9-3 provides a detected signal P
to the OR circuit 17 of Fig. 2A . A discharging portion 21 has a resistor 21a and
discharges an output of the peak holding portion 20.
[0056] As shown in Fig. 3(D), when a first black bar b1 is detected, a change in the peak
hold signal discharge wavef orm PKH reaches the maximum, and when a second black bar
b2 is detected, a change in the peak hold signal discharge waveform PKH is smaller
that the maximum. The reason of this is because the discharge waveform PKH is held
in the peak holding portion 20 and because the discharge attenuation quantity of the
discharging portion 21 is small in a short time period such as in a scanning period
of an interval of the black bars.
[0057] The peak holding portion 20 holds a peak value of an output signal D of the differential
circuit 5-2. A voltage dividing portion 22 has resistors 22a and 22b having resistance
values of 100 KΩ and 50 KΩ respectively, and an amplifier 22c. The voltage dividing
portion 22 divides an output of the lower limiter 7-1 into, for example, -1/2 to produce
a white bar slice level WTh, which is supplied to an inverting portion 23. The inverting
portion 23 produces a black bar slice level BTh. The voltage dividing ratio may be
chosen according to requirements. The inverting portion 23 has resistors 23a and 23b
each having a resistance value of 100 KΩ, and an amplifier 23c. The inverting portion
23 provides an output voltage of -1 times the voltage supplied to the amplifier 23c.
The black bar slice level BTh and white bar slice level WTh are provided to comparators
24 and 25, respectively, and compared with the output signal D of the differential
circuit 5-2. Tthe comparators 24 and 25 then provide gate signals BLK and WHT, respectively,
to the gate portion 6-4.
[0058] Figure 3(C) shows the black bar slice level BTh and white bar slice level WTh with
dash-and-dot lines. Figure 3(F) shows the gate signal BLX provided by the comparator
24, and Fig. 3(H) shows the gate signal WHT provided by the comparator 25.
[0059] According to the differential peak signal PKS provided by the comparator 6-2 and
the gate signals BLK and WHT, the gate portion 6-4 provides a black edge signal BEG
shown in Fig. 3(J) and a white edge signal WEG shown in Fig. 3(K). Based on these
signals, a binary signal BCD of Fig. 3(L) is formed.
[0060] In the example of Fig. 3, the white margin before the black bar b1 produces noise
N due to, for example, irregularities on the surface of a sheet where the bar code
is printed. The noise N produces noise N′ in the binary signal BCD. The start margin
recognizing portion 13 of Fig. 1, therefore, does not provide a white margin recognized
signal. At the end of the white margin, i.e., at a leading edge of the black bar b1,
the comparator 9-3 of the amplitude increase detector 9 provides the signal P of Fig.
3(E) to the OR circuit 17, which provides the signal P to the sequence controller
18. The detection signal P indicates that a signal level has steeply increased. According
to the signal P, the sequence controller 18 of Fig. 2A judges that the start margin
recognizing portion 13 has provided an output, and provides an effective signal, if
other parts of the bar code are normal. As a result, even with such noise, the effectiveness
determining portion 11 provides demodulated data, i.e., numerals decoded by the demodulating
portion
[0061] Figure 4 shows a second embodiment of the present invention.
[0062] Instead of the bar width counter 8 of Fig. 2A , the embodiment of Fig. 4 employs
a bar width counter 8 having a margin width correcting circuit. Except the OR circuit
17, the arrangement of Fig. 4 is the same as that of Figs. 2 A and 2B . In Fig. 4
numeral 8-1 denotes a white bar counter for measuring the width of a white bar, and
8-2 a white bar register. Numeral 8-3 denotes a black bar counter for measuring the
width of a black bar, 8-4 a black bar register for storing a count of the black bar
counter 8-3, 8-5 a-clock oscillator oscillating at, for example, 40 MHz for driving
the white bar counter 8-1 and black bgr counter 8-3, and 8-6 an inverter for inverting
the binary signal BCD to provide an enabling signal for the black bar counter 8-3.
An enabling signal for the white bar counter 8-1 is the binary signal BCD.
[0063] In Fig. 4, the white bar register 8-2 is set with a count of the white bar counter
8-1 under a normal state. If the comparator 9-3 of Fig. 2B provides the detection
signal P of Fig. 3(E), the white bar register 8-2 is preset to, for example, all 1s.
Namely, the count of the counter 8-1 is rewritten with a maximum value, and it is
judged that, even if noise occurs, there is a white bar of predetermined width.
[0064] One concrete example will be explained. It is supposed that the scanning of a normal
start margin provides a count of 3000 in the white bar register 8-2. If noise occurs
during the scanning, the counting operation suspends, and restarts after the noise
disappears. It is supposed that the white bar register 8-2 is showing a count of 300
when the next black bar, i.e., a guard bar has been detected. Rather than regard this
value as one that does not represent the start margin of a bar code, in the Figure
4 embodiment the detected signal P is applied, when the guard bar is detected, to
the white bar register 8-2 that is showing 300, thereby rewriting the count to 3000
and changing the status as if there is a normal start margin.
[0065] In this way, the signal P is provided when the first black bar b1 is detected after
the white margin of the bar code, and the white bar register 8-2 is preset to all
1s of a predetermined value. Thereafter, the start margin recognizing portion 13 of
Fig. 2A reads the white bar register 8-2 and judges that there is a white margin having
a predetermined width and provides a recognized signal to the sequence controller
18. The sequence controller 18 then recognizes that there is the start white margin
having the predetermined width.
[0066] The embodiment of Fig. 4 does not require the OR circuit 17 of Fig. 2A , and an output
of the start margin recognizing portion 13 is directly transferred to the sequence
controller 18.
[0067] In this way, embodiments of the invention utilize the fact that there is a large
difference between the amplitude of noise produced by irregularities on a white margin
of a bar code and the amplitude of a signal produced by a start portion (guard bar)
of the bar code, and recognize that the guard bar after the white margin of the bar
code is being scanned if the amplitude of a signal steeply changes.
[0068] By detecting the steep change in the signal amplitude, it is possible to find the
start of the bar code, even if very small irregularities on the white margin of the
bar code produce noise.
[0069] As a result, it is possible to set a lower limit value of a signal amplitude lower
than that of the Figure 5 reader , thereby securing a larger dynamic range.
[0070] The signal amplitude may steeply increase due to regular reflection from a scanned
medium or disturbing light such as lighting and sunlight. It is possible to discriminate
a signal produced by such disturbance from a bar code signal according to a signal
pattern following the disturbance signal, so that no malfunction may occur due to
the disturbance.
[0071] Thus, a bar code reader embodying the present invention can correctly recognize the
start ofa bar code even with a relatively small lower limit value, thereby affording
a desirably wide dynamic range and facilitating an improvement in the reading performance
of the reader.
1. A bar code reading system comprising:
a scanning portion;
a collector for collecting light reflected by a bar code;
a binary circuit for producing a binary signal according to an analog signal extracted
from the collected light;
a bar width counter for computing the widths of bars of the bar code according to
an output of said binary circuit;
a demodulating portion for providing data according to the widths computed by said
bar width counter;
a bar code construction checking portion for checking the construction of predetermined
parts of the bar code according to the widths computed by said bar width counter;
and
a sequence controller for controlling said bar code construction checking portion,
said sequence controller judging that the data provided by said demodulating portion
are effective only when the bar code is judged to have a predetermined construction,
and allowing the data to be supplied outside; and characterizing in that said bar
code reading system is provided with an amplitude increase detecting means for detecting
when the amplitude of the analog signal steeply changes,
said sequence controller ignoring noise produced by at least a start margin of the
bar code when said amplitude increase detecting means provides a detected signal,
and carrying out its controlling task as if the start margin of the bar code is normal.
2. A bar code reading system as set forth in claim 1, wherein, when said bar code
construction checking portion detects that at least the start margin has produced
noise and when said amplitude increase detecting means detects that the amplitude
of an analog signal corresponding to a guard bar disposed after the start margin of
the bar code has steeply changed to exceed a predetermined value, said sequence controller
ignores the noise produced by the start margin and judges that the start margin is
normal.
3. A bar code reading apparatus having:
a scanning portion;
a collector for collecting light reflected by a bar code;
a binary circuit for producing a binary signal according to an analog signal extracted
from the collected light;
a bar width counter for computing the widths of bars of the bar code according to
an output of said binary circuit;
a demodulating portion for providing data according to the widths computed by said
bar width counter;
a bar code construction checking portion for checking the construction of predetermined
parts of the b bar code according to the widths computed by said bar width counter;
and
a sequence controller for controlling said bar code construction checking portion,
said sequence controller judging that the data provided by said demodulating portion
are effective only when the bar code is judged to have a predetermined construction,
and allowing the data to be supplied outside, and said bar code reading apparatus
is characterized in that said bar code construction checking portion at least comprises
a start margin recognizing portion, a guard bar recognizing portion, and a character
recognizing portion, outputs of these recognizing portions being separately connected
to said sequence controller, an input of said start margin recognizing portion being
connected to an output of said bar width counter, an output of said start margin recognizing
portion being connected to said sequence controller through an OR circuit whose one
input is connected to an output of an amplitude increase detecting means.
4. A bar code reading system as set forth in claim 1, wherein said bar width counter
has a white bar counter, a white bar register for said white bar counter, a black
bar counter, and a black bar register for said black bar counter, said counters accumulating
their counts in said corresponding registers according to information provided by
said binary circuit, the count of at least said white bar counter being rewritten
to a count that is obtainable when there is a normal white bar in the bar code, according
to an output signal of said amplitude increase detecting means.
5. A bar code reading system as set forth in claim 4, wherein, when the count stored
in said white bar register is smaller than a count that is obtainable when there is
a normal start margin in the bar code, due to noise produced by at least the start
margin, and when the amplitude of an analog signal corresponding to a guard bar that
follows just after the start margin of the bar code steeply changes to exceed a predetermined
value, the count stored in said white bar register is rewritten, according to a detected
signal provided by said amplitude increase detecting means, to one equal to or above
a count that is obtainable when there is a normal start margin in the bar code.
6. A bar code reading apparatus having:
a scanning portion;
a collector for collecting light reflected by a bar code;
a binary circuit for producing a binary signal according to an analog signal extracted
from the collected light;
a bar width counter for computing the widths of bars of the bar code according to
an output of said binary circuit;
a demodulating portion for providing data according to the widths computed by said
bar width counter;
a bar code construction checking portion for checking the construction of predetermined
parts of the bar code according to the widths computed by said bar width counter;
and
a sequence controller for controlling said bar code construction checking portion,
said sequence controller judging that the data provided by said demodulating portion
are effective only when the bar code is judged to have a predetermined construction,
and allowing the data to be supplied outside, and said bar code reading apparatus
is characterized in that said bar width counter comprises a white bar counter, a white
bar register for said white bar counter, a black bar counter, and a black bar register
for said black bar counter, an output of an amplitude increase detecting means being
connected to a preset terminal of said white bar register so that the count of said
white bar counter may be updated to a predetermined value according to the output
of said amplitude increase detecting means.