KR20000047394A - 바코드 판독 장치 및 방법 - Google Patents

바코드 판독 장치 및 방법 Download PDF

Info

Publication number
KR20000047394A
KR20000047394A KR1019990016040A KR19990016040A KR20000047394A KR 20000047394 A KR20000047394 A KR 20000047394A KR 1019990016040 A KR1019990016040 A KR 1019990016040A KR 19990016040 A KR19990016040 A KR 19990016040A KR 20000047394 A KR20000047394 A KR 20000047394A
Authority
KR
South Korea
Prior art keywords
bar
character
width
bar width
black
Prior art date
Application number
KR1019990016040A
Other languages
English (en)
Other versions
KR100334047B1 (ko
Inventor
와다나베미쓰오
이와구찌이사오
가와이히로아끼
Original Assignee
아끼구사 나오유끼
후지쯔 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 아끼구사 나오유끼, 후지쯔 가부시끼가이샤 filed Critical 아끼구사 나오유끼
Publication of KR20000047394A publication Critical patent/KR20000047394A/ko
Application granted granted Critical
Publication of KR100334047B1 publication Critical patent/KR100334047B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1486Setting the threshold-width for bar codes to be decoded
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Toxicology (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Printers Characterized By Their Purpose (AREA)
  • Character Input (AREA)
  • Character Discrimination (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

본 발명은 바코드의 각 문자의 폭의 변동의 영향을 받지 않고 정상으로 문자 복조를 할 수 있는 바코드 판독 장치 및 방법을 얻기 위한 것이며, 복수의 문자가 표시한 바코드를 판독하는 판독부와, 상기 판독부의 판독 결과에 의거하여 문자를 복조하는 CPU를 구비하며, 상기 CPU는 복조된 문자 E2의 복조된 문자 길이 Cy와 피복조 문자 E7의 피복조 문자 길이 Cz의 비율이 임계치 이상일 때, 기준 흑색 바폭 X에 대하여 보정을 행한 뒤, 이 기준 흑색 바폭 X를 기준으로 하여 흑색 바폭 Bl및 흑색 바폭 B2에 대하여 보정을 행한다. 그리고, CPU는 보정된 흑색 바폭 Bl및 흑색 바폭 B3에 의거하여 피복조 문자 E7를 복조한다.

Description

바코드 판독 장치 및 방법{BAR CODE READING APPARATUS AND A METHOD FOR THE SAME}
본 발명은 문자를 바폭(bar width)으로 표시한 바코드로부터의 반사광에 의거하여 판독된 바코드 데이터로부터 문자를 복조하는 바코드 판독 장치 및 방법에 관한 것이다.
최근, 소매업에서는 상품의 매출 내용의 파악의 신속화, 에너지 절약 등을 목적으로 하여, 특히 편의점, 백화점, 슈퍼마켓 등에서는 POS(Point 0f Sales) 시스템이 급속히 보급되어 있다. 이 POS 시스템에는 상품에 부착되어 문자를 표시하는 바코드를 광학적으로 판독하고, 이 판독 결과에 의거하여 문자를 복조하는 바코드 판독 장치가 내장되어 있다.
또, 상품에 부착된 바코드는 그 인쇄 정밀도에 의해 바폭에 변동이 생기는 일이 있기 때문에, 바코드 판독 장치에서는 상기 변동의 영향을 받지 않고 고정밀도로 문자를 복조하는 것이 요구되어 있다.
바코드는 도시하지 않은 상품에 부착되어 있고, 복수의 흑색 바와 백색 바가 교대로 조합되어 있으며, 후술하는 E(EVEN)0∼E9, O(ODD)0∼O9의 도합 20종류의 문자를 표현하는 것이다.
이 바코드로서는 예를들면, JAN(Japan Article Number)용으로 규정되어 있는 바코드 심볼, 세계 공통의 WPC(World Product Code), 유럽에서 사용되고 있는 EAN(European Article Number), 미국에서 사용되고 있는 UPC(Universal Product Code)가 있다.
도6은 바코드(10)의 구체예를 나타내는 평면도이다. 이 도면에 나타내는 바코드(10)는 일례로서 교대로 배설된 흑색 바 BBl, 백색 바 WB, 흑색 바 BB2및 백색 바 WB2를 갖고 있다. 또, 바코드(10)는 상품 메가 코드를 나타내는 좌측 블록(11)과, 이 좌측 블록(11)의 우측에 중심 바(13)를 개재하고 상품 아이템 코드를 나타내는 우측 블록(12)과, 좌우의 좌측 블록(11) 및 우측 블록(12)의 좌단 및 우단에 마련된 좌측 보호 바(14) 및 우측 보호 바(15)로 구성되어 있다.
바코드(10)의 하나의 문자는 도7a∼d에 나타낸 바와 같이 동 도면 우측에서 좌측으로 향하여 1번째의 흑색 바, 2번째의 백색 바, 3번째의 흑색 바 및 4번째의 백색과 같이 4개의 바(element)로 구성됨과 동시에, 그 문자 길이(폭) C(1번째의 흑색 바에서 4번째의 백색 바까지의 연부 간 거리)는 7 모듈(단위의 길이를「모듈」이라고 칭한다)로 되어 있다.
또, 바코드(10)에서는 1번째의 흑색 바의 흑색 바폭 Bl, 2번째의 백색 바의 백색 바폭 B2, 3번째의 흑색 바의 흑색 바폭 B3및 4번째의 백색 바의 백색 바폭 B4의 조합에 의해, 기본적으로는 "0" 에서 "9"까지의 10종류의 숫자(문자)를 표현하고 있지만, 도8에 나타낸 바와 같이 같은 숫자라도 흑색 바의 모듈수를 기수 및 우수로 하는 2종류의 조합을 도입함으로써, 20종류의 문자 표현이 가능해진다.
여기서, 흑색 바의 모듈수가 기수로 되는 것을 ODD(이하, O라 약칭)라 칭하고, 한편 흑색 바의 모듈수가 우수로 되는 것을 EVEN(이하, E라 약칭)이라 칭한다. 도8에 나타내는 예에서는 문자 O0∼문자 O9와 같은 흑색 바의 모듈수가 기수로 되는 10종류의 문자와, 문자 E0∼문자 E9와 같은 흑색 바의 모듈수가 우수로 되는 10종류의 문자의 도합 20종류의 문자가 도시되어 있다.
예를들면, 동 도면에 나타내는 문자 O0 및 문자 E0를 예로 하여 설명하면, 문자 O0은 동 도면 우측에서 좌측으로 향하여 1번째의 흑색 바(모듈수1)와, 2번째의 백색 바(모듈수1)와, 3번째의 흑색 바(모듈수2)와, 4번째의 백색 바(모듈수3)로 구성되어 있다. 또, 문자 O0은 1번째의 흑색 바의 모듈수(=1)와 3번째의 흑색 바의 모듈수(=2)의 합이 3 모듈, 즉 기수로 되어 있다.
한편, 문자 E0는 동 도면 우측에서 좌측으로 향하여 1번째의 흑색 바(모듈수 3)와, 2번째의 백색 바(모듈수2)와, 3번째의 흑색 바(모듈수1)와, 4번째의 백색 바(모듈수1)로 구성되어 있다. 또, 문자 E0는 1번째의 흑색 바의 모듈수(=3)와 3번째의 흑색 바의 모듈수(=1)의 합이 4 모듈, 즉 우수로 되어 있다.
도7a에 나타내는 문자 E4는 동 도면 우측에서 좌측으로 향하여 흑색 바폭 B1이 1 모듈의 흑색 바와, 상기 흑색 바에 인접하여 백색 바폭 B2가 1 모듈의 백색 바와, 상기 백색 바에 인접하여 흑색 바폭 B3이 3 모듈의 흑색 바와, 상기 흑색 바에 인접하여, 백색 바폭 B4가 2 모듈의 백색 바로 구성되어 있다.
여기서, 흑색 바폭 B1과 백색 바폭 B2의 합, 즉 1번째의 흑색 바와 2번째의 백색 바의 연부 간 거리는 델타 거리(delta distanCe) Tl이라 호칭되고, 동 도면에 나타내는 예에서는 이 델타 거리 Tl이 2 모듈이다. 또한, 백색 바폭 B2와 흑색 바폭 B3의 합, 즉 2번째의 백색 바와 3번째의 흑색 바의 연부 간 거리는 델타 거리 T2로 호칭되고, 동 도면에 나타내는 예에서는 이 델타 거리 T2가 4 모듈이다.
또, 상기 델타 거리 Tl, 델타 거리 T2, 흑색 바폭 Bl및 흑색 바폭 B3는 상기 문자가 도8에 나타내는 문자 O0∼문자 O9 및 문자 E0∼문자 E9 중 어느쪽의 문자에 해당 하는가를 특정하는데 사용되는 중요한 파라미터이다.
즉 도8에 나타낸 바와 같이, 문자 O0∼문자 O9 및 문자 E0∼문자 E9의 각 델타 거리 Tl및 델타 거리 T2가 다르기 때문에, 델타 거리 Tl및 델타 거리 T2로부터 상기 문자가 특정된다. 이 특정에는 도10에 나타내는 델타 거리 Tl과 델타 거리 T2의 조합 패턴과, 상기 문자의 관계를 나타내는 제1 복조 테이블(100)이 사용된다.
다만, 도10에 나타낸 바와 같이, 문자 E2와 문자 E8, 문자 O2와 문자 O8, 문자 O1과 문자 O7 및 문자 E1과 문자 E7에서는 각각의 조합의 델타 거리 Tl및 델타 거리 T2가 동일한 값이므로, 델타 거리 Tl및 델타 거리 T2에 의거하여 상기 문자를 특정할 수 없다.
구체적으로는 문자 E2와 문자 E8를 예로 들면, 어느 것이나 델타 거리 Tl이 3 모듈, 델타 거리 T2가 3 모듈과 같이 동일한 값로 되어 있어서, 델타 거리 Tl및 델타 거리 T2만으로부터로는 상기 문자가 문자 E2인지 문자 E8인지를 특정할 수 없다.
그래서, 상기 문자 E2와 문자 E8, 문자 O2와 문자 O8, 문자 O1과 문자 O7 및 문자 E1과 문자 E7에서는, 1번째의 흑색 바의 흑색 바폭과 3번째의 흑색 바의 흑색 바폭이 다른 것을 이용하여 양 흑색 바폭 또는 한편의 흑색 바폭으로부터 상기 문자를 특정할 수 있다.
구체적으로는 도8에 나타내는 문자 E2와 문자 E8를 예로 들면, 문자 E2에서는 1번째의 흑색 바의 흑색 바폭이 2 모듈, 3번째의 흑색 바의 흑색 바폭이 2 모듈 이다. 한편, 문자 E8에서는 1번째의 흑색 바의 흑색 바폭이 1 모듈, 3번째의 흑색 바의 흑색 바폭이 1 모듈이고, 문자 E8의 각각의 흑색 바폭은 문자 E2의 경우와 다르다. 따라서, 문자 E2와 문자 E8는 1번째의 흑색 바의 흑색 바폭과 3번째의 흑색 바의 흑색 바폭으로부터 판별가능하게 된다. 당연히, 한편의 흑색 바폭만으로부터도 문자의 판별은 가능하다.
또, 제1 복조 테이블(100)(도10참조)을 사용하여도 특정할 수 없는 상술한 문자 O1 및 문자 E7, 문자 O2 및 문자 O8, 문자 E1 및 문자 E7, 문자 E2 및 문자 E8의 특정에서는 도11에 나타내는 1번째의 흑색 바의 흑색 바폭 Bl과 3번째의 흑색 바의 흑색 바폭 B3의 조합 패턴과 상기 문자의 관계를 나타내는 제2 복조 테이블(200)이 사용된다.
여기서, 종래에는 상술한 바코드(10)를 판독하고 또한 복조하는 장치로서, 바코드 판독 장치가 사용되고 있다. 이러한 종류의 바코드 판독 장치는 바코드(l0)를 광학적으로 판독하는 판독부와, 상기 판독부의 판독 결과에 의거하여 바코드(10)의 문자를 복조하는 CPU(Central Processing Unit)로 개략 구성되어 있다.
이하, 상술한 종래의 바코드 판독 장치의 동작을 도13에 나타내는 플로 챠트를 참조하여 설명한다. 여기서, 바코드(10)의 인쇄 정밀도가 악화되어 있는 경우에는, 정규의 흑색 바폭에 비하여 흑색 바폭이 좁아 지는 가는 흑색의 것과, 이것과는 반대로 정규의 흑색 바폭에 비하여 흑색 바폭이 넓어지는 굵은 흑색의 것이 존재한다.
구체적으로는 도12b에는 정규의 흑색 바폭 Bl및 흑색 바폭 B3(도12a참조)에 비하여 좁은 흑색 바폭 Bl' 및 흑색 바폭 B3'로 된 가는 흑색의 모양이 도시되어 있고, 도12c에는 정규의 흑색 바폭 Bl및 흑색 바폭 B3(도12a참조)에 비하여 넓은 흑색 바폭 Bl" 및 흑색 바폭 B3"로 된 굵은 흑색의 모양이 도시되어 있다.
이 때문에, 흑색 바폭 B1', B3', B1", B3" 등에는 인쇄상의 오차가 포함되어 있다. 따라서, 정확한 모듈수를 판별하기가 곤란해진다. 그래서, 종래부터 모듈수를 알고 있는 복조된 문자의 바폭을 사용하여 피복조 문자의 흑색 바폭을 보정하고 복조를 행하는 기술이 제안되어 있다.
이하, 도14에 나타내는 복조된 문자 E1에 의거하여 피복조된 문자 E7를 복조하는 동작에 관해서 설명한다. 우선 CPU(도시 생략)는 도13에 나타내는 스텝 SA1로 진행하여 문자 E7의 델타 거리 T1및 델타 거리 T2의 각 모듈수를 구한다. 도14에 나타내는 예에서는, CPU는 다음 식(1) 및 식(2)으로부터, 델타 거리 T1의 모듈수 T1m을「4」, 델타 거리 T2의 모듈수 T2m을「4」로 하여 구한 뒤, 스텝 SA2로 진행한다.
T1m=INT「(Tl/(Cz/7)+0.5) …(1)
T2m=INT「(T2/(Cz/7)+0.5) …(2)
여기서, 상기 식(1) 및 식(2)에서, Cz는 피복조 문자 길이를 의미하며, INT는 괄호내의「T1/(Cz/7)」을 사사오입 하는 것을 의미한다.
즉 상기 INT는 도9에 나타낸 바와 같이,「(Tl/(Cz/7)+0.5)」, 「(T2/(Cz/7)+0.5)」의 값이 0.5∼1.5일 때 모듈수를 1로 하고, 상기 값이 1.5∼2.5일 때 모듈수를 2로 하고, 상기 값이 2.5∼3.5일 때 모듈수를 3으로 하고, 상기 값이 3.5∼4.5일 때 모듈수를 4로 하고, 마찬가지로 상기 값이 4.5∼일 때 모듈수를 5로 하는 처리이다.
스텝 SA2에서는, CPU는 도10에 나타내는 제1 복조 테이블(100)에 액세스함으로써, 문자 복조를 행한 뒤, 스텝 SA3로 진행한다. 이 경우, 델타 거리 Tl=4 모듈, 델타 거리 T2=4 모듈이기 때문에, CPU는 복조 결과를 문자 E1 또는 문자 E7으로 한다. 즉 이 경우에는, 복조 문자가 문자 E1 또는 문자 E7중 어느 하나이기 때문에, 복조 문자의 특정이 되어 있지 않은 상태에 있다.
여기서, 문자가 문자 E(O)1, E(O)7, E(O)2 및 E(O)8인 것으로 판단될 때에는 제1 복조 테이블(100)만으로는 문자 복조를 할 수 없기 때문에, 제2 복조 테이블(200)(도11참조)을 사용하여 문자 복조를 할 필요가 있다.
이하, 상기 문자 E(O)1, E(O)7, E(O)2 및 E(O)8(도13에서는 단지 1, 7, 2, 8로 도시)을 보정 문자라 칭한다. 이 보정 문자는 전술한 바코드(10)의 가는 흑색 또는 굵은 흑색의 영향을 피하기 위해서 흑색 바의 흑색 바폭의 오차를 보정할 필요가 있는 문자이다.
스텝 SA3에서는, CPU는 스텝 SA2에서 복조된 문자가 보정 문자인가 아닌가를 판단하여 판단 결과가「NO」인 경우에는, 스텝 SA7로 진행한다. 여기서, 스텝 SA3의 판단 결과가「NO」인 경우에는, 제1 복조 테이블(100)에 의해 문자 복조가 완료한 것을 의미한다. 이 경우, 문자가 보정 문자(문자 E1 또는 문자 E7중 어느 하나)이기 때문에, CPU는 스텝 SA3의 판단 결과를「YES」로 하여 스텝 SA4로 진행한다.
스텝 SA4에서는, CPU는 인쇄 정밀도의 양부에 의한 전술한 바코드(10)의 가는 흑색 또는 굵은 흑색의 영향을 배제하는 방법으로, 도14에 나타내는 흑색 바폭 B1의 보정을 기준 흑색 바폭 X를 기준하여 행한 뒤, 스텝 SA5로 진행한다.
스텝 SA5에서는, CPU는 기준 흑색 바폭 X의 모듈수(이하, 기준 흑색 바폭 모듈수 Xm이라함)를 구한 뒤, 이 계산 결과로부터 도9에 나타내는 판별 방법에 의해 보정된 흑색 바폭 Bl의 모듈수를 구한다.
즉 CPU는 상기 기준 흑색 바폭 모듈수 Xm으로부터 폭차 △X(기준 흑색 바폭 X의 모듈수와 흑색 바폭 Bl의 모듈수의 차)를 감산한 결과와, 도9에 나타내는 판별 방법으로부터 보정된 흑색 바폭 Bl의 모듈수를 구한다. 또 CPU는 흑색 바폭 Bl의 경우와 같은 수순으로써 보정된 흑색 바폭 B3의 모듈수를 구한 뒤, 스텝 SA6으로 진행한다.
스텝 SA6에서는, CPU는 스텝 SA5에서 산출된 흑색 바폭 Bl및 흑색 바폭 B3을 제2 복조 테이블(200)(도11 참조)에 적용한 뒤, 상기 문자를 판단하고 나서, 스텝 SA7로 진행한다. 스텝 SA7에서는, CPU는 다음 문자의 복조용으로 흑색 바폭 Bl을 기준 흑색 바폭 X로 하여 이 모듈수를 구한 뒤, 문자 복조를 완료시킨다.
그런데, 종래의 바코드 판독 장치의 바폭 보정 방법은 바코드의 인쇄 오차에 의한 바의 굵기/가늘기가 균일하게 표시되는 경우에는, 유효하다. 그렇지만, 바코드에서 각 문자 길이(폭)이 다른 등, 인쇄 정밀도에 의해 바의 굵기/가늘기가 균일하게 표시되지 않을 경우에는, 바폭 보정 시에 오차가 생긴다.
따라서, 도13에 나타내는 스텝 SA6에서, 제2 복조 테이블(200)(도11참조)에 상기 흑색 바폭 Bl(=1 모듈) 및 흑색 바폭 B3(=2 모듈)을 적용하면, 동 도면으로부터 명백한 바와 같이, 해당하는 문자가 존재할 수 없기 때문에 복조를 할 수 없는 상태가 된다. 이것은 종래의 바코드 판독 장치에 있어서, 흑색 바폭 B1및 흑색 바폭 B3에 대하여 바코드(10)의 전체에 걸쳐서 동일한 비율로 굵은 흑색 또는 가는 흑색이 생기는 것을 대전제로 하여, 기준 흑색 바폭 X를 기준으로 하여 보정을 행하고 있는 것에 기인한다.
즉 도14에 나타내는 예에서는, 복조된 문자 길이(폭) Cy(=198 계수)와 피복조 문자 길이(폭) Cz(=211) 간에 차가 있어, 이 차, 즉 바코드(10)의 각 문자 길이(폭)의 변동에 의해 상술한 복조, 특히 피복조 문자의 바폭 보정에 오차가 생긴다.
본 발명은 이러한 배경하에서 이루어진 것으로서, 바코드의 각 문자의 폭의 변동의 영향을 받지 않고 정상으로 문자 복조를 할 수 있는 바코드 판독 장치 및 방법을 제공하는 것을 목적으로 한다.
도1은 본 발명의 실시예1에 의한 바코드 판독 장치의 구성을 나타내는 블록도.
도2는 동 실시예1에 의한 바코드 판독 장치의 동작을 설명하는 도면.
도3은 동 실시예1에 의한 바코드 판독 장치의 동작을 설명하는 플로 챠트.
도4는 동 실시예2에 의한 바코드 판독 장치의 동작을 설명하는 플로 챠트.
도5는 인쇄 정밀도 테이블을 나타내는 도면.
도6은 바코드(10)를 나타내는 평면도
도7은 문자 E4, E6, E2 및 E8을 나타내는 도면.
도8은 문자 O0∼O9 및 문자 E0∼E9를 나타내는 도면
도9는 모듈수의 판별 방법을 설명하는 도면.
도10은 제1 복조 테이블(100)을 나타내는 도면.
도11은 제2 복조 테이블(200)을 나타내는 도면.
도12는 문자가 전체적으로 흑색의 가늘고 굵은 경우의 모양을 설명하는 도면.
도13은 종래의 바코드 판독 장치의 동작을 설명하는 플로 챠트.
도14는 복조된 문자 E1 및 피복조 문자 E7을 나타내는 도면.
[부호의 설명]
10 바코드
20 판독부
50 바폭 카운터
70 CPU
X 기준 흑색 바폭
B 흑색 바폭
Cz피복조 문자 길이
Cy복조된 문자 길이
상기 목적을 달성하기 위해서, 청구항1에 기재의 바코드 판독 장치는 문자를 복수의 바로 표시한 바코드를 판독하여 얻어진 바코드 데이터로부터 상기 문자를 복조하는 바코드 판독 장치에 있어서, 복조된 문자의 바폭 기준이 되는 기준 바의 바폭을 기준하여, 피복조 문자를 구성하는 바의 바폭을 보정하는 제1 보정 수단(후술하는 실시예1의 CPU(70)에 상당)과, 상기 제1 보정 수단에 의해 보정된 피복조 문자를 구성하는 바의 바폭에 의거하여 상기 피복조 문자를 복조하는 복조 수단과, 상기 복조된 문자의 폭과 상기 피복조 문자의 폭의 비율을 구하는 비율 산출 수단(후술하는 실시예1의 CPU(70)에 상당)과, 상기 기준 바의 바폭을 상기 비율 산출 수단에 의해 산출된 비율에 의거하여 보정하는 제2 보정 수단(후술하는 실시예1의 CPU(70)에 상당)을 구비하며, 상기 비율 산출 수단에 의해 산출된 비율이 예정된 임계치 이상인 경우, 상기 제1 보정 수단은 상기 제2 보정 수단에 의해 보정된 기준 바의 바폭에 의거하여 상기 피복조 문자를 구성하는 바의 바폭을 보정하는 것을 특징으로 한다.
이 청구항l에 기재의 발명에 의하면, 바코드의 각 문자의 폭이 동일 비율로 변화한 경우에는, 복조된 문자의 문자의 폭과 피복조 문자의 문자의 폭에 차가 생기지 않기 때문에, 비율 산출 수단에 의해 산출되는 비율은 임계치 이하가 된다.
따라서, 이 경우에는, 제1 보정 수단은 제2 보정 수단에 의해 보정되지 않은 기준 바의 바폭을 기준하여 피복조 문자를 구성하는 바의 바폭에 대한 보정을 행한다. 그리고, 복조 수단에 의해 복조된 문자의 바폭에 의거하여 피복조 문자의 복조를 행한다.
한편, 바코드의 각 문자의 폭이 다른 비율로 변화한 경우에는, 복조된 문자의 문자의 폭과 피복조 문자의 문자의 폭에 차가 생기기 때문에, 비율 산출 수단에 의해 산출되는 비율은 임계치 이상이 된다.
따라서, 이 경우에 제1 보정 수단은 제2 보정 수단에 의한 기준 바의 바폭에 의해 보정된 기준 바의 바폭에 의거하여 피복조 문자를 구성하는 바의 바폭에 대한 보정을 행한다. 그리고, 복조 수단에 의해 복조된 문자의 바폭에 의거하여 피복조 문자의 복조를 행한다.
이와 같이, 청구항1에 기재의 발명에 의하면, 복조된 문자의 문자의 폭과 피복조 문자의 문자의 폭의 비율을 취하고, 이 비율이 임계치 이상일 경우에, 제1 보정 수단이 제2 보정 수단에 의해서 보정된 기준 바의 바폭을 기준하여 피복조 문자를 구성하는 바의 바폭에 대하여 보정을 하도록 구성하였기 때문에, 바코드의 각 문자의 폭의 변동의 영향을 받지 않고 정상으로 문자 복조를 할 수 있다.
청구항2에 기재의 바코드 판독 장치는 문자를 복수의 바로 표시한 바코드를 판독하여 얻어진 바코드 데이터로부터 상기 문자를 복조하는 바코드 판독 장치에 있어서, 복조된 문자의 바폭 기준이 되는 기준 바의 바폭을 기준하여 피복조 문자를 구성하는 바의 바폭을 보정하는 제1 보정 수단(후술하는 실시예2의 CPU(70)에 상당)과, 상기 제1 보정 수단에 의해 보정된 피복조 문자를 구성하는 바의 바폭에 의거하여 상기 피복조 문자를 복조하는 복조 수단(후술하는 실시예2의 CPU(70)에 상당)과, 상기 바코드의 인쇄 정밀도를 구하는 인쇄 정밀도 산출 수단과, 상기 기준 바의 바폭을 상기 복조된 문자의 폭과 상기 피복조 문자의 폭의 비율에 의거하여 보정하는 제2 보정 수단(후술하는 실시예2의 CPU(70)에 상당)을 구비하며, 상기 인쇄 정밀도 산출 수단에 의해 산출된 상기 바코드의 인쇄 정밀도가 예정된 임계치 이상으로 악화되어 있는 경우, 상기 제1 보정 수단은 상기 제2 보정 수단에 의해 보정된 기준 바의 바폭에 의거하여 상기 피복조 문자를 구성하는 바의 바폭을 보정하는 것을 특징으로 한다.
이 청구항2에 기재의 발명에 의하면, 바코드의 인쇄 정밀도가 악화한 경우(각 문자의 폭이 다른 값으로 변화한 경우)에는, 제1 보정 수단은 제2 보정 수단에 의해 보정된 기준 바의 바폭에 의거하여 피복조 문자를 구성하는 바의 바폭에 대한 보정을 행한다. 그리고, 복조 수단에 의해 복조된 문자의 바폭에 의거하여 피복조 문자의 복조를 행한다.
이와 같이, 청구항2에 기재의 발명에 의하면, 바코드의 인쇄 정밀도를 구하고, 이 인쇄 정밀도가 임계치 이상으로 악화한 경우, 제1 보정 수단에 의해 제2 보정 수단에 의해서 보정된 기준 바의 바폭에 의거하여 피복조 문자를 구성하는 바의 바폭에 대하여 보정을 하도록 구성하였기 때문에, 바코드의 각 문자의 폭의 변동의 영향을 받지 않고 정상으로 문자 복조를 할 수 있다.
청구항3에 기재의 바코드 판독 장치는 청구항2에 기재의 바코드 판독 장치에 있어서, 상기 인쇄 정밀도 산출 수단은 상기 복조된 문자의 적어도 하나의 기준 바폭과 상기 피복조 문자의 바폭을 대비하여 상기 인쇄 정밀도를 구하는 것을 특징으로 한다.
이 청구항3에 기재의 발명에 의하면, 인쇄 정밀도 산출 수단에서는 복조된 문자의 적어도 하나의 기준 바폭과 피복조 문자의 바폭을 대비하여 인쇄 정밀도를 구하고 있다.
이와 같이 청구항3에 기재의 발명에 의하면, 인쇄 정밀도, 즉 복조된 문자의 문자의 문자의 폭과 피복조 문자의 문자의 폭의 비율이 다른 경우에도 청구항2에 기재의 발명과 마찬가지로, 바코드의 각 문자의 폭의 변동에 영향을 받지 않고 정상으로 문자 복조를 할 수 있다.
청구항4에 기재의 바코드 복조 방법은 문자를 복수의 바폭으로 표시한 바코드를 판독하는 바코드 판독 장치에 있어서, 복조된 문자의 적어도 하나의 기준 바의 바폭을 기준으로 하여 피복조 문자의 바폭을 보정하는 제1 보정 공정(후술하는 실시예1의 스텝 SB8∼스텝 SB12에 상당)과, 상기 제1 보정 공정에서 보정된 상기 복조된 문자의 바폭에 의거하여 상기 피복조 문자를 복조하는 복조 공정(후술하는 실시예1의 스텝 SB21에 상당)과, 상기 복조된 문자의 폭과 상기 피복조 문자의 폭의 비율을 구하는 비율 산출 공정(후술하는 실시예1의 스텝 SB4에 상당)과, 상기 기준 바의 상기 바폭을 상기 비율에 의거하여 보정하는 제2 보정 공정(후술하는 실시예1의 스텝 SB6에 상당)을 구비하며, 상기 비율 산출 공정에서 산출된 상기 비율이 예정된 임계치 이상인 경우, 상기 제2 보정 공정에 의해 보정된 기준 바의 바폭에 의거하여 상기 제1 보정 공정에 의한 바폭 보정을 하여 상기 보정된 바폭에 의거하여 상기 피복조 문자를 구성하는 바의 바폭을 보정하는 것을 특징으로 한다.
이 청구항4에 기재의 발명에 의하면, 바코드의 각 문자의 폭이 동일 비율로 변화한 경우에는, 복조된 문자의 문자의 폭과 피복조 문자의 문자의 폭에 차가 생기지 않기 때문에, 비율 산출 공정에서 산출되는 비율은 임계치 이하가 된다.
따라서, 이 경우에는, 제1 보정 공정에서는 제2 보정 공정에 의해 보정되지 않은 기준 바의 바폭을 기준하여 피복조 문자를 구성하는 바의 바폭에 대한 보정이 행하여진다. 그리고 복조 공정에 의해 복조된 문자의 바폭에 의거하여 피복조 문자의 복조를 행한다.
한편, 바코드의 각 문자의 폭이 다른 비율로 변화한 경우에는, 복조된 문자의 문자의 폭과 피복조 문자의 문자의 폭에 차가 생기기 때문에, 비율 산출 공정에 의해 산출되는 비율은 임계치 이상이 된다.
따라서, 이 경우에 제1 보정 공정에서는, 제2 보정 공정에 의한 기준 바의 바폭에 의해 보정된 기준 바의 바폭에 의거하여 피복조 문자를 구성하는 바의 바폭에 대한 보정을 행한다. 그리고 복조 공정에 의해 복조된 문자의 바폭에 의거하여 피복조 문자의 복조가 행하여진다.
이와 같이, 청구항4에 기재의 발명에 의하면, 복조된 문자의 문자의 폭과 피복조 문자의 문자의 폭의 비율을 취하고, 이 비율이 임계치 이상인 경우, 제1 보정 공정에서, 제2 보정 공정에 의해서 보정된 기준 바의 바폭을 기준하여 피복조 문자를 구성하는 바의 바폭에 대하여 보정을 하도록 구성하였기 때문에, 바코드의 각 문자의 폭의 변동의 영향을 받지 않고 정상으로 문자 복조를 할 수 있다.
청구항5에 기재의 바코드 복조 방법은 문자를 복수의 바폭으로 표시한 바코드를 판독하는 바코드 판독 방법에 있어서, 복조된 문자의 적어도 하나의 기준 바의 바폭을 기준으로 하여 피복조 문자의 바폭을 보정하는 제1 보정 공정(후술하는 실시예2의 스텝 SB8∼스텝 SB12에 상당)과, 상기 제1 보정 공정에서 보정된 상기 복조된 문자의 바폭에 의거하여 상기 피복조 문자를 복조하는 복조 공정(후술하는 실시예2의 스텝 SB21에 상당)과, 상기 바코드의 인쇄 정밀도를 구하는 인쇄 정밀도 산출 공정과, 상기 기준 바의 상기 바폭을 상기 복조된 문자의 폭과 상기 피복조 문자의 폭의 비율에 의거하여 보정하는 제2 보정 공정(후술하는 실시예2의 스텝 SC9에 상당)을 구비하며, 상기 인쇄 정밀도 산출 공정에 의해 산출된 상기 바코드의 인쇄 정밀도가 예정된 임계치 이상으로 악화되어 있는 경우, 상기 제2 보정 공정에 의해 보정된 기준 바의 바폭에 의거하여 상기 제1 보정 공정에 의한 바폭 보정을 하고, 상기 보정된 바폭에 의거하여 상기 피복조 문자를 구성하는 바의 바폭을 보정하는 것을 특징으로 한다.
이 청구항5에 기재의 발명에 의하면, 바코드의 인쇄 정밀도가 악화한 경우(각 문자의 폭이 다른 값으로 변화한 경우)에는, 제1 보정 공정에서는 제2 보정 공정에서 보정된 기준 바의 바폭에 의거하여 피복조 문자를 구성하는 바의 바폭에 대한 보정을 행한다. 그리고 복조 공정에서는 복조된 문자의 바폭에 의거하여 피복조 문자의 복조를 행한다.
이와 같이, 청구항5에 기재의 발명에 의하면, 바코드의 인쇄 정밀도를 구하고, 이 인쇄 정밀도가 임계치 이상으로 악화한 경우에, 제1 보정 공정에서, 제2 보정 공정에서 보정된 기준 바의 바폭에 의거하여 피복조 문자를 구성하는 바의 바폭에 대하여 보정을 하도록 하였기 때문에, 바코드의 각 문자의 폭의 변동의 영향을 받지 않고 정상으로 문자 복조를 할 수 있다.
청구항6에 기재의 바코드 복조 방법은 청구항5에 기재의 바코드 복조 방법에 있어서, 상기 인쇄 정밀도 산출 공정에서는 상기 복조된 문자의 적어도 하나의 기준 바폭과 상기 피복조 문자의 바폭을 대비하여 상기 인쇄 정밀도를 구하는 것을 특징으로 한다.
이 청구항6에 기재의 발명에 의하면, 인쇄 정도 산출 공정에서는 복조된 문자의 적어도 하나의 기준 바폭과 피복조 문자의 바폭을 대비하여 인쇄 정밀도를 구하고 있다.
이와 같이 청구항6에 기재의 발명에 의하면, 인쇄 정밀도, 즉 복조된 문자의 문자의 폭과 피복조 문자의 문자의 폭의 비율이 다른 경우에도 청구항5에 기재의 발명과 마찬가지로, 바코드의 각 문자의 폭의 변화에 영향을 받지 않고 정상으로 문자 복조를 할 수 있다.
[실시예]
이하, 도면을 참조하여 본 발명에 관한 바코드 판독 장치의 실시예1 및 2에 관해서 상술한다.
(실시예1)
도1은 본 발명의 실시예1에 의한 바코드 판독 장치의 구성을 나타내는 블럭도이다. 이 도면에서, 바코드(10)(도6 참조)는 도시하지 않은 상품에 부착되어 있고, 전술한 바와 같이 복수의 흑색 바와 백색 바가 교대로 조합되어 있으며, E0∼E9, O0∼O9의 도합 20종류의 문자를 표현하기 위한 것이다.
판독부(20)는 바코드(10)를 광학적으로 판독하고, 판독 결과를 판독 신호 Sb로서 출력하는 것이고, 레이저 광 L을 바코드(10)에 대하여 조사하는 레이저 발진기(도시 생략)와 바코드(10)에 의해 반사된 레이저 광 L을 수광한 뒤, 판독 신호 Sb를 생성하는 수광부(도시 생략)로 개략 구성되어 있다.
구체적으로, 판독부(20)는 도2a에 나타내는 바코드(10)에 조사된 레이저 광 L이 바코드(10)에 의해 반사된 반사광을 수광하여, 도2b에 나타내는 파형의 판독 신호 Sb를 출력한다. 여기서, 판독 신호 Sb의 레벨은 도2a에 나타내는 흑색 바 BB1, 백색 바 WB1, 흑색 바 BB2및 백색 바 WB2에 대응하고 있다. 즉 흑색 바 BB1및 흑색 바 BB2의 광반사율이 낮기 때문에 이들에 대응하는 판독 신호 Sb의 레벨이 낮아지고 있으며, 한편 백색 바 WB1및 백색 바 WB2의 광반사율이 높기 때문에 이들에 대응하는 판독 신호 Sb의 레벨이 높아지고 있다.
도1로 되돌아 가서, A/D(Analog/Digita1) 변환부(30)는 도2b에 나타내는 판독 신호 Sb와 임계치를 비교함으로써, 판독 신호 Sb를 도2C에 나타낸 바와 같이 이치화(디지털화)하는 처리를 한다. 클록 신호 발생부(40)는 소정 주기의 클록 신호 SC를 발생한다. 바폭 카운터(50)는 클록 신호 발생부(40)로부터 공급되는 클록 신호 SC의 주기에 동기하여 카운트 업 동작을 행하고, A/D 변환부(30)에 의해 디지털화 된 판독 신호 Sb중, 도2C에 나타내는 흑색 바폭 B1, 백색 바폭 B2, 흑색 바폭 B3및 백색 바폭 B4을 계수치로서 측정한다. 도2C에 나타내는 예에서는 흑색 바폭 B1이 50 계수, 백색 바폭 B2이 50 계수, 흑색 바폭 B3이 100 계수, 백색 바폭 B4가 200 계수로 되어 있다.
메모리(60)는 상기 바폭 카운터(50)의 계수치의 데이터를 도2d에 나타낸 바와 같이 흑색 바폭 B1, 백색 바폭 B2, …에 대응시켜 기억한다. CPU(70)는 메모리(60)에 기억되어 있는 각 계수치의 데이터, 상술한 제1 복조 테이블(100)(도10참조) 및 제2 복조 테이블(200)(도11참조)에 의거하여 바코드(10)의 문자를 복조하고, 복조 결과를 복조 데이터 D로서 출력한다. 이 CPU(70)의 동작의 상세에 관하여는 후술한다. ROM(80)은 제1 복조 테이블(100), 제2 복조 테이블(200), CPU(70)에서 실행되는 프로그램을 기억한다.
다음에, 상술한 실시예1에 의한 바코드 판독 장치의 동작에 관해서 도3에 나타내는 플로 챠트를 참조하면서 설명한다.
도1에서, 바코드 판독을 하기 위해 판독부(20)의 레이저 발진기(도시 생략)로부터 레이저 광 L이 바코드(10)에 조사되면, 전술한 동작을 거쳐서 판독부(20)의 수광부로부터는 판독 신호 Sb가 A/D 변환부(30)로 출력된다. 이에 의해, A/D 변환부(30)에서는 입력된 판독 신호 Sb와 임계값이 비교됨으로써, 판독 신호 Sb가 도14에 나타낸 바와 같이 이치화되고, 이 이치화된 판독 신호 Sb가 바폭 카운터(50)에 의해 계수된다.
도14에는 전술한 바와 같이, 문자 E1의 다음에 문자 E7이 이어지는 예가 도시되어 있으며, 문자 E1은 이미 복조된 문자이고, 문자 E7은 복조될 피복조 문자이다.
또, 메모리(60)에는 도14에 나타내는 복조된 문자 E1으로 하는 계수 결과로서, 흑색 바폭 B1'=57 계수, 백색 바폭 B2'=54 계수, 흑색 바폭 B3'=56 계수, 백색 바폭 B4'=31 계수, 복조된 문자 길이(폭) Cy=198 계수가 기억되어 있는 것으로 한다. 여기서, 복조된 문자 E1에서 흑색 바폭 Bl'을 기준 흑색 바폭 X라 칭한다. 한편, 메모리(60)에는 피복조 문자 E7에 관한 계수 결과로서, 흑색 바폭 B1=40 계수, 백색 바폭 B2=76 계수, 흑색 바폭 B3=42 계수, 백색 바폭 B4=53 계수 및 피복조 문자 길이(폭) Cz=211 계수가 기억되어 있는 것으로 한다.
이 상태에서, CPU(70)(도1참조)는 도3에 나타내는 스텝 SB1로 진행하여, 문자 E7의 델타 거리 Tl및 델타 거리 T2의 각 모듈수를 구한다. 구체적으로는 CPU(70)가 우선 문자 E7의 피복조 문자 길이 Cz(=211 계수)를 7(모듈)로 나누어, 문자 E7의 1 모듈 길이(=Cz/7)를 구한다.
다음에, CPU(70)는 델타 거리 Tl으로서, 흑색 바폭 B1(=40 계수)과 백색 바폭 B2(=76 계수)의 합(=116 계수)을 구하고, 마찬가지로, 델타 거리 T2로서 백색 바폭 B2(=76 계수)과 흑색 바폭 B3(=42계수)의 합(=118 계수)을 구한다.
다음에, CPU(70)는 전술한 다음 식(1) 및 식(2)에 구해진 피복조 문자 E7의 델타 거리 T1, 델타 거리 T2, 1 모듈 길이(=Cz/7)를 각각 대입함으로써, 델타 거리 Tl및 델타 거리 T2의 모듈수 T1m및 모듈수 T2m을 각각 구한다.
T1m=INT(T1/(Cz/7)+0.5) …(1)
T2m=INT(T2/(Cz/7)+0.5) …(2)
도14에 나타내는 예에서는, CPU(70)는 상술한 식(1) 및 식(2)으로부터, 델타 거리 T1의 모듈수를「4」, 델타 거리 T2의 모듈수를「4」로 하여 구한 뒤, 스텝 SB2로 진행한다. 스텝 SB2에서는, CPU(70)는 도10에 나타내는 제1 복조 테이블(100)에 액세스함으로써, 문자 복조를 행한 뒤, 스텝 SB3로 진행한다. 이 경우, 델타 거리 T1=4 모듈, 델타 거리 T2=4 모듈이기 때문에, CPU(70)는 복조 결과를 문자 E1 또는 문자 E7로 한다.
여기서, 전술한 바와 같이, 문자 E(O)1, E(O)7, E(O)2 및 E(O)8(도3에서는 단지 1, 7, 2, 8로 도시함)은 보정 문자이다. 따라서, 상기 문자 E1 또는 E7은 보정 문자이다.
스텝 SB3에서는, CPU(70)는 스텝 SB2에 의해 복조된 문자가 보정 문자인가 아닌가를 판단하고, 판단 결과가「NO」의 경우, 즉 복조된 문자가 상기 보정 문자 이외의 것인 경우, 복조된 문자에 관하는 복조 데이터 D를 도시하지 않은 호스트 컴퓨터 등 으로 출력한 뒤, 문자의 복조 동작을 종료한다. 이 경우, 문자가 보정 문자(문자 E1 또는 문자 E7중 어느 하나)이기 때문에, CPU(70)는 스텝 SB3의 판단 결과를「YES」로하고, 스텝 SB4로 진행한다.
스텝 SB4에서는, CPU(70)는 이미 복조된 문자의 문자 길이와, 복조할 문자의 문자 길이의 비율을 구한다. 구체적으로 CPU(70)는 도14에 나타내는 복조된 문자 E1의 복조된 문자 길이 Cy(=198)와 피복조 문자 E7의 문자 길이 Cz(=211)의 비율(|Cy/Cz|)을 구한 뒤, 스텝 SB5로 진행한다. 이 경우, 상기 비율은 6.16%(소수점 제3위 사사오입)이다.
스텝 SB5에서는, CPU(70)는 스텝 SB4에서 구해진 비율이 임계치(예를들면, 5%) 이상인지 아닌지를 판단한다. 여기서, 상기 임계치는 도6에 나타내는 바코드(10)에서, 모든 흑색 바가 전체적으로 굵은 흑색(또는 가는 흑색)으로 되어 있는지, 또는 부분적인 흑색 바만이 굵은 흑색(또는 가는 흑색) 되어 있는지 아닌지의 판단에 사용된다. 바꿔 말하면, 상기 임계치는 문자 간의 문자 길이/바폭의 오차의 정도를 판단하기 위한 값이다.
즉 바코드(10)에서, 모든 흑색 바가 전체적으로 굵은 흑색(또는 가는 흑색) 으로 되어 있는 경우, 각 문자 길이 C는 동일한 값으로 되고, 한편 부분적인 흑색 바만이 굵은 흑색(또는 가는 흑색)으로 되어 있는 경우, 바코드(10)의 각 문자 길이 C에 변동이 생긴다.
따라서, 스텝 SB5의 비율의 판단에서, 비율이 임계치 이상일 경우에는, 바코드(10)의 각 문자 길이 C에 변동이 생긴 것으로 간주 되는 한편, 비율이 임계치 보다 작을 경우에는, 오차가 경미하고, 바코드(10)에서 각 문자 길이 C가 같은 것으로 간주된다. 이 경우, CPU(70)는 비율이 6.16%(≥5%)이므로, 복조된 문자 길이 Cy와 피복조 문자 길이 Cz간에 변동이 있는 것으로 하여, 스텝 SB5의 판단 결과를「YES」로 하고 스텝 SB6로 진행한다.
스텝 SB6에서는, CPU(70)는 도14에 나타내는 기준 흑색 바폭 X를 보정한다. 구체적으로 CPU(70)는 다음 식(3)에 기준 흑색 바폭 X(=57 계수), 복조된 문자 길이 Cy(=198 계수) 및 피복조 문자 길이 Cz(=211 계수)를 각각 대입하여 보정된 기준 흑색 바폭 Xh를 산출한 뒤, 스텝 SB8로 진행한다.
Xh=X·(Cz/Cy) …(3)
이 경우, 상기 기준 흑색 바폭 Xh는(57·(211/198))∼60.74(소수점 제3위 사사오입) 계수이다.
스텝 SB8에서는, CPU(70)는 보정된 기준 흑색 바폭 Xh(=60.74 계수)가 흑색 바폭 B1(=40 계수)보다 큰가 아닌가를 판단한다. 이 경우, Xh>B1인관계가 있기 때문에, CPU(70)는 스텝 SB8의 판단 결과를「YES」로 하여 스텝 SB9로 진행한 다. 스텝 SB9에서는, CPU(70)는 보정된 기준 흑색 바폭 Xh(=60.74 계수)로부터 흑색 바폭 B1(=40 계수)을 감산한 흑색 바폭차 △Xl(20.74 계수)을 구한 뒤, 스텝 SB11로 진행한다.
한편, 스텝 SB8에서, 기준 흑색 바폭 Xh가 흑색 바폭 B1이하 일 경우에는, CPU(70)는 판단 결과를「NO」로 하여 스텝 SBl0으로 진행한다. 스텝 SBl0에서는, CPU(70)는 흑색 바폭 B1으로부터 기준 흑색 바폭 Xh를 감산한 흑색 바폭차 △Xl을 구한 뒤, 스텝 SB11로 진행한다. 스텝 SBl1에서는, CPU(70)는 보정된 기준 흑색 바폭 Xh(=60.74 계수)가 흑색 바폭 B3(=42 계수)보다 큰가 아닌가를 판단한다. 이 경우 Xh>B3인 관계가 있기 때문에, CPU(70)는 스텝 SB11의 판단 결과를「YES」로 하여 스텝 SB12로 진행한다.
스텝 SB12에서는, CPU(70)는 보정된 기준 흑색 바폭 Xh(=60.74 계수)로부터 흑색 바폭 B3(=42 계수)를 감산한 흑색 바폭차 △X3(=18.74 계수)를 구한 뒤, 스텝 SB14로 진행한다. 한편 스텝 SB11에서, 기준 흑색 바폭 Xh가 흑색 바폭 B3이하인 경우에는, CPU(70)는 판단 결과를「NO」로 하여 스텝 SB13로 진행한다. 스텝 SB13에서는, CPU(70)는 흑색 바폭 B3으로부터 기준 흑색 바폭 Xh를 감산한 흑색 바폭차 △X3를 구한 뒤, 스텝 SBl4로 진행한다.
스텝 SB14에서는, CPU(70)는 스텝 SB9(또는 스텝 SB10) 및 스텝 SB12(또는 스텝 SB13)에서 구한 흑색 바폭차 △Xl(=20.74 계수) 및 흑색 바폭차 △X3(=18.74 계수)의 흑색 바폭차 모듈수 △X1m및 흑색 바폭차 모듈수△X3m을 구한다. 구체적으로 CPU(70)는 흑색 바폭차 △Xl(=20.74)을 피복조 문자 E에서의 모듈의 카운트 수(=(Cz/7)=(211/7)=30.14 계수(소수점 제3위 사사오입))로 나눈 결과를 흑색 바폭차 모듈수 △X1m으로서 구한다. 이 경우, 이 흑색 바폭차 모듈수 △X1m은 0.69(소수점 이하 제3위 사사오입)이다.
마찬가지로, CPU(70)는 흑색 바폭차 △X3(=18.74)를 피복조 문자 E7의 1 모듈의 카운트 수(=(Cz/7)=30.14계수)로 나눈 결과를 흑색 바폭차 모듈수△X3m으로서 구한 뒤, 스텝 SB15로 진행한다. 이 경우, 이 흑색 바폭차 모듈수 △X3m은 0.62(소수점 이하 제3위 사사오입)이다.
스텝 SB15에서는, CPU(70)는 보정된 기준 흑색 바폭 Xh(=60.74 계수)가 흑색 바폭 B1(=40 계수)보다 큰가 아닌가를 판단한다. 이 경우 Xh> B1인 관계가 있기 때문에, CPU(70)는 스텝 SB15의 판단 결과를「YES」로 하여 스텝 SB16로 진행한다. 스텝 SB16에서는, CPU(70)는 우선 보정된 기준 흑색 바폭 Xh(=60.74 계수)의 기준 흑색 바폭 모듈수 Xm을 구한다. 구체적으로 CPU(70)는 기준 흑색 바폭 Xh(=60.74)를 복조된 문자 E1의 1 모듈의 카운트 수(=(Cy/7)=(198/7)=28.28 계수(소수점 제3위 사사오입))으로 나눈 결과와, 전술한 도9에 나타내는 판별 방법으로부터 기준 흑색 바폭 모듈수 Xm으로서 구한다.
이 경우, 상기 제산 결과(=60.74/28.28)가 2.15(소수점 제3위 사사오입)이므로, 도9에 나타내는 판별 방법을 적용하면, 기준 흑색 바폭 모듈수 Xm은 2로서 구해진다.
다음에, CPU(70)는 상기 기준 흑색 바폭 모듈수 Xm(=2 모듈)으로부터 흑색 바폭차 모듈수△X1m(=0.69 모듈)를 감산한 결과 및 도9에 나타내는 판별 방법으로부터 흑색 바폭 B1m의 흑색 바 모듈수 폭 Blm을 구한다. 이 경우, 상기 감산 결과(2-0.69)가 1.31이고, 또한 도9에 나타내는 0.5∼1.5의 사이에 있으므로, 상기 흑색 바폭 모듈수 B1m은 1 모듈로서 구해진다.
한편, 스텝 SB15에서, 기준 흑색 바폭 Xh가 흑색 바폭 B1이하인 경우에는, CPU(70)는 판단 결과를「NO」로 하여 스텝 SB17로 진행한다. 스텝 SB17에서는, CPU(70)는 우선 스텝 SB16는 반대로, 흑색 바폭차 모듈수 △X1m으로부터 기준 흑색 바 모듈수 Xm을 감산한 결과에 의거하여 흑색 바 모듈수 폭 B1m을 구한 뒤, 스텝 SB18로 진행한다.
스텝 SB18에서는, CPU(70)는 보정된 기준 흑색 바폭 Xh(=60.74 계수)가 흑색 바폭 B3(=42 계수)보다 큰가 아닌가를 판단한다. 이 경우 Xh>B3인 관계가 있기 때문에, CPU(70)는 스텝 SB18의 판단 결과를「YES」로 하여 스텝 SBl9로 진행한다.
스텝 SB19에서는, CPU(70)는 우선 보정된 기준 흑색 바폭 Xh(=60.74 계수)의 기준 흑색 바폭 모듈수 Xm을 스텝 SB16에서 설명한 수법에 의해 2로 하여 구한 뒤, 상기 기준 흑색 바폭 모듈수 Xm(=2모듈)로부터 흑색 바폭차 모듈수 △X3m(0.62 모듈)을 감산한 결과 및 도9에 나타내는 판별 방법으로부터 흑색 바폭 B3의 흑색 바 모듈수 폭 B3m을 구한다.
이 경우, 상기 감산 결과(2-0.62)가 1.38이고, 또한 도9에 나타내는 0.5∼1.5의 사이에 있으므로, 상기 흑색 바 모듈수 폭 B3m은 1 모듈로 하여 구해진다. 한편, 스텝 SB18에서, 기준 흑색 바폭 Xh가 흑색 바폭 B3이하인 경우에는, CPU(70)는 판단 결과를「NO」로 하여 스텝 SB20로 진행한다. 스텝 SB20에서는, CPU(70)는 스텝 SB19는 반대로, 흑색 바 폭차 모듈수 △X3m에서 기준 흑색 바폭 모듈수 Xm을 감산한 결과에 의거하여 흑색 바 모듈수 폭 B3m을 구한 뒤, 스텝 SB21로 진행한다.
스텝 SB21에서는, CPU(70)는 스텝 SB16(또는 스텝 SB17)에서 구해진 흑색 바 모듈수 폭 Blm(=1 모듈), 스텝 SB19(또는 스텝 SB20)에서 구해진 흑색 바 모듈수 폭 B3m(=1 모듈)을 도11에 나타내는 제2 복조 테이블(200)에 적용함으로써, 문자 복조를 한다.
이 경우, CPU(70)는 도11에 나타내는 제2 복조 테이블(200)의 흑색 바폭 B1으로서 흑색 바 모듈수 폭 B1m(=1 모듈)을, 또 흑색 바폭 B3으로서 흑색 바폭 모듈수 폭 B3m(=1 모듈)을 적용함으로써, 문자 E7을 복조하고, 이 문자 E7에 관한 복조 데이터 D를 도시하지 않은 호스트 컴퓨터 등으로 출력한 뒤, 스텝 SB22로 진행한다.
즉 이 경우에는, 도14에 나타낸 바와 같이 문자 E7의 문자 길이 Cz와 문자 E1의 복조된 문자 길이 Cy간에 차가 있는, 바꿔 말하면 바코드(10)의 각 문자 길이에 변동이 있음에도 불구하고, 문자 E7가 정확하게 복조된 것이다.
스텝 SB22에서는, CPU(70)는 문자 복조가 되었는가 아닌가를 판단하고, 이 경우에는, 판단 결과를「YES」로 하여, 문자의 복조 동작을 종료(OK) 한다. 한편, 문자 복조를 할수 없었던 경우에는, CPU(70)가 스텝 SB22의 판단 결과를「NO」로 하여 문자 복조 동작을 종료(NG) 한다.
또, 상술한 스텝 SB5에서, 비율이 임계치(=5%) 이하인 경우, CPU(70)는 복조된 문자 길이 Cy와 피복조 문자 길이 Cz간에 변동이 없는 것으로 하고, 판단 결과를「NO」로 하여 스텝 SB7로 진행한다. 스텝 SB7에서는 CPU(70)는 기준 흑색 바폭 X를 기준 흑색 바폭 Xh로 한 뒤, 스텝 SB8로 진행하여 상술한 공정을 실행한다. 즉 스텝 SB7에서는 기준 흑색 바폭 X가 보정되는 일이 없이 기준 흑색 바폭 Xh로 하여 이후의 산출에서 그대로 사용되는 것이다.
여기서, 상술한 실시예1에 의한 바코드 판독 장치와, 전술한 종래의 바코드 판독 장치의 차이점을 명확히 하기 위해, 종래의 바코드 판독 장치에 의해 도14에 나타내는 피복조 문자 E7을 복조한 경우에 관해서, 구체적 수치를 들어 도13에 나타내는 플로 챠트를 참조하면서 대비 설명한다. 즉, 이하의 설명은 상술한 실시예1에서, 문자간 비율에 의거하여 기준 흑색 바폭의 보정을 하지 않은 경우에 관한 것이다.
우선 CPU(70)(도1참조)는 도13에 나타내는 스텝 SA1로 진행하여 문자 E7의 델타 거리 T1및 델타 거리 T2의 각 모듈수를 구한다. 구체적으로 CPU(70)는 우선 문자 E7의 피복조 문자 길이 Cz(=211 계수)를 7(모듈)로 나누어 문자 E7의 1 모듈 길이(=Cz/7)를 구한다.
다음에, CPU(70)는 델타 거리 Tl으로서, 흑색 바폭 B1(=40 계수)과 백색 바폭 B2(=76 계수)의 합(=116 계수)을 구한 뒤, 델타 거리 T2로서 백색 바폭 B2(=76 계수)와 흑색 바폭 B3(=42 계수)의 합(=118 계수)을 구한다.
다음에, CPU(70)는 전술한 식(1) 및 식(2)에서 구한 문자 E7의 델타 거리 T1, 델타 거리 T2, 1 모듈 길이(=Cy/7) 및 1 모듈 길이(=Cτ/7)를 각각 대입함으로써, 델타 거리 Tl및 델타 거리 T2의 모듈수 T1m및 모듈수 T2m을「4」 및 「4」로하여 각각 구한 뒤, 스텝 SA2로 진행한다.
스텝 SA2에서는, CPU는 도10에 나타내는 제1 복조 테이블(100)에 액세스함으로써 문자 복조를 행한 뒤, 스텝 SA3로 진행한다. 이 경우, 모듈수 Tlm=4 모듈, 모듈수 T2m=4 모듈 이기 때문에, CPU는 복조 결과를 문자 E1 또는 문자 E7 으로 한 뒤, 스텝 SA3로 진행한다.
스텝 SA3에서는, CPU(70)는 스텝 SA2에서 복조된 문자가 보정 문자인가 아닌가를 판단하여, 이 경우 문자가 보정 문자(문자 E1 또는 문자 E7중 어느 하나)이기 때문에, CPU(70)는 스텝 SA3의 판단 결과를「YES」로 하여 스텝 SA4로 진행한다.
스텝 SA4에서는, CPU(70)는 도14에 나타내는 흑색 바폭 B1의 보정을 기준 흑색 바폭 X를 기준으로 하여 행한다.
구체적으로 CPU(70)는 다음 식(4)에, 도14에 나타내는 기준 흑색 바폭 X(=57 계수), 흑색 바폭 B1(=40 계수) 피복조 문자 E7의 피복조 문자 길이 Cz(=211 계수)를 대입함으로써, 기준 흑색 바폭 X와 흑색 바폭 Bl의 차인 폭차 △X를 구한 뒤, 스텝 SA5로 진행한다.
△X=(X-Bl)/(Cz/7) … (4)
상기 폭차 △X는 0.56(소수점 제3위 사사오입)으로서 구해진다.
스텝 SA5에서는, CPU(70)는 기준 흑색 바폭 X의 모듈수(이하, 기준 흑색 바폭 모듈수 Xm이라함)로서, 기준 흑색 바폭 X/(Cz/7)의 계산식으로부터 기준 흑색 바폭 X의 모듈수를 구한 뒤, 이 계산 결과(=2.02(소수점 제3위 사사오입))와 도9에 나타내는 판별 방법에 의해 2를 구한다.
다음에, CPU(70)는 상기 기준 흑색 바폭 모듈수 Xm(=2 모듈)로부터 상술한 폭차 △X(=0.56)를 감산한 결과(=1.44)와 도9에 나타내는 판별 방법으로부터, 보정된 흑색 바폭 Bl의 모듈수를 1로 하여 구한다. 또한 CPU(70)는 흑색 바폭 Bl의 경우와 같은 수순으로, 보정된 흑색 바폭 B3의 모듈수를 2로 하여 구한 뒤, 스텝 SA6로 진행한다.
스텝 SA6에서는, CPU(70)는 스텝 SA5에서 산출된 흑색 바폭 Bl(=1 모듈) 및 흑색 바폭 B3(2모듈)를 제2 복조 테이블(200)(도11참조)에 적용한다.
그렇지만, 상기 스텝 SA6에서, 제2 복조 테이블(200)(도11참조)에 상기 흑색 바폭 Bl(=1 모듈) 및 흑색 바폭 B3(=2 모듈)을 적용하면, 동 도면으로부터 명백한 바와 같이, 해당하는 문자가 존재할 수 없기 때문에 복조를 할 수 없는 상태가 된다. 이는 종래의 바코드 판독 장치에 있어서, 흑색 바폭 B1및 흑색 바폭 B3에 대하여 바코드(10)의 전체에 걸쳐서 동일한 비율로 굵은 흑색 또는 가는 흑색이 생기는 것을 대전제로 하고, 기준 흑색 바폭 X를 기준으로 하여 보정을 행하고 있는 것에 기인한다.
이에 대하여 상술한 실시예1에 의한 바코드 판독 장치에 의하면, 피복조 문자 길이 Cz과 복조된 문자 길이 Cy의 비율과 임계치를 비교하고, 이 비교 결과에 의거하여 기준 흑색 바폭 X에 대하여 보정을 하도록 구성하였기 때문에, 바코드 (10)의 각 문자 길이 C의 변동의 영향을 받지 않고 정상으로 문자 복조 동작을 할 수 있다.
또, 상술한 실시예1에 의한 바코드 판독 장치에서는, 도14에 나타내는 복조된 문자 E1의 각 바의 모듈수를 이미 알고 있기 때문에, 예컨대 복조된 문자 E1의 기준 흑색 바폭 모듈수 Xm(=2 모듈(이론치)를 사용하여, 도3에 나타내는 스텝 SB15∼스텝 SB20의 처리를 행하여도 좋다.
(실시예2)
도4는 본 발명의 실시예2에 의한 바코드 판독 장치의 동작을 나타내는 플로 챠트도이다. 이 실시예2에 의한 바코드 판독 장치의 하드웨어 구성은 상술한 실시예1에 의한 바코드 판독 장치의 하드웨어 구성과 동일하기 때문에 그 설명을 생략한다. 다만, 실시예2에 의한 바코드 판독 장치에서는 도1에 나타내는 CPU(70)의 동작의 일부가 실시예1에 의한 바코드 판독 장치와 다르다.
구체적으로는 실시예1에 의한 바코드 판독 장치에서는, 도3에 나타내는 스텝 SB5에서 비율에 의거하여 기준 흑색 바폭 X에 대하여 보정을 행할 것인가 아닌가가 판단되었지만, 이하에 설명하는 실시예2에 의한 바코드 판독 장치에서는 도4에 나타내는 스텝 SC8에서 바코드(10)의 인쇄 정밀도에 의거하여 기준 흑색 바폭 X에 대하여 보정을 행할 것인가 아닌가가 판단되는 점이 실시예1과 크게 다른 점이다.
다음에, 상술한 실시예2에 의한 바코드 판독 장치의 동작에 관해서, 도4에 나타내는 플로 챠트를 참조하면서 설명한다. 여기서, 도1에 나타내는 메모리(60)에는 도14에 나타내는 복조된 문자 E1에 관한 계수 결과로서, 기준 흑색 바폭 X(흑색 바폭 Bl')=57 계수, 백색 바폭 B2'=54 계수, 흑색 바폭 B3'=56 계수, 백색 바폭 B4'=31 계수, 복조된 문자 길이 Cz=198 계수가 기억되어 있는 것으로 한다.
마찬가지로 메모리(60)에는 피복조 문자 E7에 관한 계수 결과로서, 흑색 바폭 B1=40 계수, 백색 바폭 B2=76 계수, 흑색 바폭 B3=42 계수, 백색 바폭 B4=53 계수 및 피복조 문자 길이 Cz=211 계수가 기억되어 있는 것으로 한다.
이 상태에서, CPU(70)(도1 참조)는 도4에 나타내는 스텝 SC1로 진행하여 전술한 스텝 SB1(도3 참조)와 마찬가지로, 도14에 나타내는 문자 E7의 델타 거리 T1의 모듈수를「4」, 델타 거리 T2의 모듈수를「4」로 하여 구한 뒤, 스텝 SC2로 진행한다. 스텝 SC2에서는, CPU(70)는 도10에 나타내는 제1 복조 테이블(100)에 액세스함으로써 문자 복조를 행한 뒤, 스텝 SC3로 진행한다. 이경우, 델타 거리 Tl=4 모듈, 델타 거리 T2=4 모듈 이기 때문에, CPU(70)는 복조 결과를 문자 E1 또는 문자 E7으로 한다.
스텝 SC3에서는, CPU(70)는 스텝 SC2에 의해 복조된 문자가 보정 문자인가 아닌가를 판단하고, 판단 결과가「NO」의 경우, 즉 복조된 문자가 상기 보정 문자 이외의 것인 경우, 복조된 문자에 관하는 복조 데이터 D를 도시하지 않은 호스트 컴퓨터 등으로 출력한 뒤, 도3에 나타내는 END(OK)로 진행하여 문자의 복조 동작을 종료한다.
이 경우, 문자가 보정 문자(문자 E1 또는 문자 E7중 어느 하나)이기 때문에, CPU(70)는 스텝 SC3의 판단 결과를「YES」로 하여 스텝 SC4로 진행한다. 여기서, 이하의 설명에서는 도14에 나타내는 기준 흑색 바폭 X를 갖는 흑색 바를 X 바, 흑색 바폭 B1을 갖는 흑색 바를 Bl바, 흑색 바폭 B3을 갖는 흑색 바를 B3바라 칭한다.
스텝 SC4에서는, CPU(70)는 기준 흑색 바폭 X(=57 계수)를 문자 E7의 1 모듈의 계수치(Cy/7=211/7=30.14(소수점 제3위 사사오입))로 나눈 결과를 X 바의 인쇄 정밀도 Xs(=1.89 모듈(소수점 제3위 사사오입))로서 구한 뒤, 스텝 SC5로 진행한다. 스텝 SC5에서는, CPU(70)는 흑색 바폭 B1(=40 계수)를 상기 계수치 (Cz/7=30.14)로 나눈 결과를 B1바의 인쇄 정밀도 Bls(=1.33 모듈(소수점 제3위 사사오입))로서 구한 뒤, 스텝 SC6로 진행한다.
스텝 SC6에서는, CPU(70)는 흑색 바폭 B3(=42 계수)을 상기 계수치(Cz/7=30.14)로 나눈 결과를 B3바의 인쇄 정밀도 B3s(=1.39 모듈(소수점 제3위 사사오입))로 하여 구한 뒤, 스텝 SC7로 진행한다. 스텝 SC7에서는, CPU(70)는 스텝 SC4∼스텝 SC6에서 각각 구한 인쇄 정밀도 Xs, 인쇄 정밀도 Bls및 인쇄 정밀도 B3s를 점검한다. 구체적으로 CPU(70)는 인쇄 정밀도 Xs(=1.89 모듈)과 인쇄 정밀도 Bls(=1. 33 모듈)의 차의 절대치(=0.56 모듈 : 이하, 제1 인쇄 정밀도라 칭한다) 및 인쇄 정밀도 Xs(=1.89 모듈)와 인쇄 정밀도 B3s(=1.39)의 차의 절대치( =0.5 모듈 : 이하, 제2 인쇄 정밀도라 칭한다)를 각각 구한 뒤, 스텝 SC8로 진행한다.
스텝 SC8에서는, CPU(70)는 스텝 SC7에서 구한 제1 인쇄 정밀도 및(또는) 제2 인쇄 정밀도가 임계치(예를들면, 0.3 모듈) 이상으로 악화되어 있는가 아닌가를 판단한다. 여기서, 상기 임계치는 도6에 나타내는 바코드(10)에서, 모든 흑색 바가 전체적으로 굵은 흑색(또는 가는 흑색)으로 되어 있는가, 또는 부분적인 흑색 바만이 굵은흑색(또는 가는 흑색)으로 되어 있는가 아닌가의 판단에 사용된다.
즉 바코드(10)에서, 모든 흑색 바가 전체적으로 굵은 흑색(또는 가는 흑색)으로 되어 있는 경우, 각 문자 길이 C는 동일한 값으로 되고, 한편, 부분적인 흑색 바만이 굵은 흑색(또는 가는 흑색)으로 되어 있는 경우, 바코드(10)의 각 문자 길이 C에 변동이 생기고 있다.
이 경우, CPU(70)는 제1 인쇄 정밀도(=0.56 모듈) 및 제2 인쇄 정밀도(=0.5 모듈)의 쌍방이 임계치(0.3 모듈) 이상으로 악화되어 있으므로, 복조된 문자 길이 Cy와 피복조 문자 길이 Cz의 사이에 변동이 있는 것으로 하고, 스텝 SC8의 판단 결과를「YES」로 하여 스텝 SC9로 진행한다.
스텝 SC9에서는, CPU(70)는 도14에 나타내는 기준 흑색 바폭 X를 보정한다. 구체적으로는 CPU(70)는 전술한 다음 식(3)에 기준 흑색 바폭 X(=57 계수), 복조된 문자 길이 Cy(=198 계수) 및 피복조 문자 길이 Cz(=211 계수)를 각각 대입하여 보정된 기준 흑색 바폭 Xh를 산출한 뒤, 도3에 나타내는 스텝 SB8로 진행하고, 이후 전술한 공정을 실행한다.
Xh=X-(Cz/Cy) … (3)
한편, 스텝 SC8에서, 제1 인쇄 정밀도 및(또는) 제2 인쇄 정밀도가 임계치(=0.3 모듈)보다 작을 경우, CPU(70)는 판단 결과를「NO」로 하여 스텝 SCl0으로 진행한다. 스텝 SCl0에서는, CPU(70)는 기준 흑색 바폭 X를 기준 흑색 바폭 Xh로 한 뒤, 도3에 나타내는 스텝 SB8로 진행하여 상술한 공정을 실행한다. 즉 스텝 SC7에서는 기준 흑색 바폭 X가 보정되는 일이 없이 기준 흑색 바폭 Xh로서 이후의 산출에서 그대로 사용되는 것이다.
또한, 상술한 실시예2에 의한 바코드 판독 장치에서는, 도5에 나타내는 인쇄 정밀도 테이블을 사용하여 상술한 제1 및 제2 인쇄 정밀도를 구하여도 좋다.
즉 이 도5에 나타내는 인쇄 정밀도 테이블을 사용하는 경우에는, 도4에 나타내는 스텝 SC7에서, CPU(70)는 스텝 SC4∼스텝 SC6에서 각각 구한 인쇄 정밀도 Xs(=1.89 모듈), 인쇄 정밀도 B1s(=1.33 모듈) 및 인쇄 정밀도 B3s(=1.39 모듈)로부터 모듈 레지스터 Mreg를 구한다.
이 모듈 레지스터 Mreg는 인쇄 정밀도를 모듈치로 나타낸 것이고, 인쇄 정밀도가 1.5∼1.6인 경우에는, 모듈 레지스터 M=reg가 1이고, 마찬가지로 인쇄 정밀도가 1.6∼1.7인 경우에는, 모듈 레지스터 Mreg가 2이다. 이하, 마찬가지로 인쇄 정밀도가 2.4∼2.5인 경우에는, 모듈 레지스터 Mreg가 10이다. 또한 인쇄 정밀도가 1.5보다 작을 경우에는, 모듈 레지스터 Mreg는 0이다.
구체적으로는 CPU(70)는 도5에 나타내는 인쇄 정밀도 테이블로부터 인쇄 정밀도 Xs(=1.89)의 모듈 레지스터 Mreg로서 4, 인쇄 정밀도 B1s(=1.33)의 모듈 레지스터 Mreg로서 0, 마찬가지로 인쇄 정밀도 B3s(=1.39)의 모듈 레지스터 Mreg로서 0을 구한다.
다음에, CPU(70)는 상기 인쇄 정밀도 Xs의 모듈 레지스터 Mreg(=4)와 인쇄 정밀도 Bls의 모듈 레지스터 Mreg(=0)의 차의 절대치(=4 모듈 : 제1 인쇄 정밀도) 및 인쇄 정밀도 X5의 모듈 레지스터 Mreg(=4)와 인쇄 정밀도 B3s의 모듈 레지스터 Mreg(=0)의 차의 절대치(=4 모듈 : 제2 인쇄 정밀도)를 각각 구한 뒤, 스텝 SC8로 진행한다. 스텝 SC8에서는, CPU(70)는 상기 제1 인쇄 정밀도 및(또는) 제2 인쇄 정밀도가 임계치(여기서는 0.3 모듈 대신에 3 모듈) 이상인가 아닌가를 판단한다. 여기서, 상기 임계치(=3 모듈)는 전술한 바와 같이 도6에 나타내는 바코드(10)에서, 모든 흑색 바가 전체적으로 굵은 흑색(또는 가는 흑색)으로 되어 있는가, 또는 부분적인 흑색 바만이 굵은 흑색(또는 가는 흑색)으로 되어 있는가 아닌가의 판단에 사용된다.
이 경우, CPU(70)는 제1 인쇄 정밀도(=4 모듈) 및 제2 인쇄 정밀도(=4 모듈)의 쌍방이 임계치(3 모듈) 이상이므로, 복조된 문자 길이 Cy와 피복조 문자 길이 Cz의 간에 변동이 있는 것으로 하고, 스텝 SC8의 판단 결과를「YES」로 하여 스텝 SC9로 진행하여 전술한 공정을 실행한다.
이상 설명한 바와 같이, 상술한 실시예2에 의한 바코드 판독 장치에 의하면, 바코드(10)의 제1 및 제2 인쇄 정밀도와 임계치를 비교하고, 이 비교 결과에 의거하여 기준 흑색 바폭 X에 대하여 보정을 행하도록 구성하였으므로, 전술한 실시예1에 의한 바코드 판독 장치와 마찬가지로, 바코드(10)의 각 문자 길이 C의 변동의 영향을 받지 않고, 정상으로 문자 복조 동작을 할 수 있다.
이상 설명한 바와 같이, 청구항1에 기재의 발명에 의하면, 복조된 문자의 문자의 폭과 피복조 문자의 문자의 폭의 비율을 취하고, 이 비율이 임계치 이상인 경우 에, 제1 보정 수단이 제2 보정 수단에 의해서 보정된 기준 바의 바폭을 기준하여 피복조 문자를 구성하는 바의 바폭에 대하여 보정을 하도록 구성하였기 때문에, 바코드의 각 문자의 폭의 변동의 영향을 받지 않고 정상으로 문자 복조를 할 수 있는 효과를 나타낸다.
또, 청구항2에 기재의 발명에 의하면, 바코드의 인쇄 정밀도를 구하고, 이 인쇄 정밀도가 임계치 이상으로 악화한 경우, 제1 보정 수단에 의해 제2 보정 수단에 의해서 보정된 기준 바의 바폭에 의거하여 피복조 문자를 구성하는 바의 바폭에 대하여 보정을 하도록 구성하였기 때문에, 바코드의 각 문자의 폭의 변동의 영향을 받지 않고 정상으로 문자 복조를 할 수 있는 효과를 나타낸다.
또한, 청구항3에 기재의 발명에 의하면, 인쇄 정밀도, 즉 복조된 문자의 문자의 폭과 피복조 문자의 문자의 폭의 비율이 다른 경우에도 청구항2에 기재의 발명과 마찬가지로 바코드의 각 문자의 폭의 변화에 영향을 받지 않고 정상으로 문자 복조를 할 수 있는 효과나타낸다.
또한, 청구항4에 기재의 발명에 의하면, 복조된 문자의 문자의 폭과 피복조 문자의 문자의 폭의 비율을 취하고, 이 비율이 임계치 이상인 경우, 제1 보정 공정에서 제2 보정 공정에 의해서 보정된 기준 바의 바폭을 기준하여, 피복조 문자를 구성하는 바의 바폭에 대하여 보정을 하도록 구성하였기 때문에, 바코드의 각 문자의 폭의 변동의 영향을 받지 않고 정상으로 문자 복조를 할 수 있는 효과를 나타낸다.
다음에, 청구항5에 기재의 발명에 의하면, 바코드의 인쇄 정밀도를 구하고, 이 인쇄 정밀도가 임계치 이상으로 악화한 경우에, 제1 보정 공정에서 제2 보정 공정에서 보정된 기준 바의 바폭에 의거하여 피복조 문자를 구성하는 바의 바폭에 대하여 보정을 하도록 하였으므로, 바코드의 각 문자의 폭이 변동의 영향을 받지 않고 정상으로 문자 복조를 할 수 있는 효과를 나타낸다.
그외에, 청구항6에 기재의 발명에 의하면, 인쇄 정밀도, 즉 복조된 문자의 문자의 폭과 피복조 문자의 문자의 폭의 비율이 다른 경우에도 청구항5에 기재의 발명과 마찬가지로, 바코드의 각 문자의 폭의 변화에 영향을 받지 않고 정상으로 문자 복조를 할 수 있는 효과를 나타낸다.

Claims (6)

  1. 문자를 복수의 바로 표시한 바코드를 판독하여 얻어진 바코드 데이터로부터 상기 문자를 복조하는 바코드 판독 장치에 있어서,
    복조된 문자의 바폭 기준이 되는 기준 바의 바폭을 기준하여, 피복조 문자를 구성하는 바의 바폭을 보정하는 제1 보정 수단과,
    상기 제1 보정 수단에 의해 보정된 피복조 문자를 구성하는 바의 바폭에 의거하여 상기 피복조 문자를 복조하는 복조 수단과,
    상기 복조된 문자의 폭과 상기 피복조 문자의 폭의 비율을 구하는 비율 산출 수단과,
    상기 기준 바의 바폭을 상기 비율 산출 수단에 의해 산출된 비율에 의거하여 보정하는 제2 보정 수단을 구비하며,
    상기 비율 산출 수단에 의해 산출된 비율이 예정된 임계치 이상인 경우, 상기 제1 보정 수단은 상기 제2 보정 수단에 의해 보정된 기준 바의 바폭에 의거하여 상기 피복조 문자를 구성하는 바의 바폭을 보정하는 것을 특징으로 하는 바코드 판독 장치.
  2. 문자를 복수의 바로 표시한 바코드를 판독하여 얻어진 바코드 데이터로부터 상기 문자를 복조하는 바코드 판독 장치에 있어서,
    복조된 문자의 바폭 기준이 되는 기준 바의 바폭을 기준하여 피복조 문자를 구성하는 바의 바폭을 보정하는 제1 보정 수단과,
    상기 제1 보정 수단에 의해 보정된 피복조 문자를 구성하는 바의 바폭에 의거하여 상기 피복조 문자를 복조하는 복조 수단과,
    상기 바코드의 인쇄 정밀도를 구하는 인쇄 정밀도 산출 수단과,
    상기 기준 바의 바폭을 상기 복조된 문자의 폭과 상기 피복조 문자의 폭의 비율에 의거하여 보정하는 제2 보정 수단을 구비하며,
    상기 인쇄 정밀도 산출 수단에 의해 산출된 상기 바코드의 인쇄 정밀도가 예정된 임계치 이상으로 악화되어 있는 경우, 상기 제1 보정 수단은 상기 제2 보정 수단에 의해 보정된 기준 바의 바폭에 의거하여 상기 피복조 문자를 구성하는 바의 바폭을 보정하는 것을 특징으로 하는 바코드 판독 장치.
  3. 제2항에 있어서, 상기 인쇄 정밀도 산출 수단은 상기 복조된 문자의 적어도 하나의 기준 바폭과 상기 피복조 문자의 바폭을 대비하여 상기 인쇄 정밀도를 구하는 것을 특징으로 하는 바코드 판독 장치.
  4. 문자를 복수의 바폭으로 표시한 바코드를 판독하는 바코드 판독 방법에 있어서,
    복조된 문자의 적어도 하나의 기준 바의 바폭을 기준으로 하여 피복조 문자의 바폭을 보정하는 제1 보정 공정과,
    상기 제1 보정 공정에서 보정된 상기 복조된 문자의 바폭에 의거하여 상기 피복조 문자를 복조하는 복조 공정과,
    상기 복조된 문자의 폭과 상기 피복조 문자의 폭의 비율을 구하는 비율 산출 공정과,
    상기 기준 바의 상기 바폭을 상기 비율에 의거하여 보정하는 제2 보정 공정을 구비하며,
    상기 비율 산출 공정에서 산출된 상기 비율이 예정된 임계치 이상인 경우, 상기 제2 보정 공정에 의해 보정된 기준 바의 바폭에 의거하여 상기 제1 보정 공정에 의한 바폭 보정을 하여 상기 보정된 바폭에 의거하여 상기 피복조 문자를 구성하는 바의 바폭을 보정하는 것을 특징으로 하는 바코드 판독 방법.
  5. 문자를 복수의 바폭으로 표시한 바코드를 판독하는 바코드 판독 방법에 있어서,
    복조된 문자의 적어도 하나의 기준 바의 바폭을 기준으로 하여 피복조 문자의 바폭을 보정하는 제1 보정 공정과,
    상기 제1 보정 공정에서 보정된 상기 복조된 문자의 바폭에 의거하여 상기 피복조 문자를 복조하는 복조 공정과,
    상기 바코드의 인쇄 정밀도를 구하는 인쇄 정밀도 산출 공정과,
    상기 기준 바의 상기 바폭을 상기 복조된 문자의 폭과 상기 피복조 문자의 폭의 비율에 의거하여 보정하는 제2 보정 공정을 구비하며,
    상기 인쇄 정밀도 산출 공정에 의해 산출된 상기 바코드의 인쇄 정밀도가 예정된 임계치 이상으로 악화되어 있는 경우, 상기 제2 보정 공정에 의해 보정된 기준 바의 바폭에 의거하여 상기 제1 보정 공정에 의한 바폭 보정을 하고, 상기 보정된 바폭에 의거하여 상기 피복조 문자를 구성하는 바의 바폭을 보정하는 것을 특징으로 하는 바코드 판독 방법.
  6. 제5항에 있어서, 상기 인쇄 정밀도 산출 공정에서는, 상기 복조된 문자의 적어도 하나의 기준 바폭과 상기 피복조 문자의 바폭을 대비하여 상기 인쇄 정밀도를 구하는 것을 특징으로 하는 바코드 판독 방법.
KR1019990016040A 1998-12-17 1999-05-04 바코드 판독 장치 및 방법 KR100334047B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP35971098A JP3548025B2 (ja) 1998-12-17 1998-12-17 バーコード読取装置および方法
JP98-359710 1998-12-17

Publications (2)

Publication Number Publication Date
KR20000047394A true KR20000047394A (ko) 2000-07-25
KR100334047B1 KR100334047B1 (ko) 2002-04-26

Family

ID=18465911

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990016040A KR100334047B1 (ko) 1998-12-17 1999-05-04 바코드 판독 장치 및 방법

Country Status (4)

Country Link
US (1) US6357660B1 (ko)
EP (1) EP1011063A3 (ko)
JP (1) JP3548025B2 (ko)
KR (1) KR100334047B1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001031560A1 (fr) * 1999-10-25 2001-05-03 Fujitsu Limited Dispositif et procede de lecture de codes a barres
US6398113B1 (en) * 1999-12-23 2002-06-04 Ncr Corporation System and methods for collaborative bar code error detection and correction
US6751814B2 (en) * 2001-11-02 2004-06-22 Roy Mattson Whirlpool bath filter and suction device
CN1630874A (zh) * 2002-06-28 2005-06-22 富士通株式会社 条形码阅读器以及条形码阅读程序
US7044382B2 (en) * 2002-06-28 2006-05-16 Fujitsu Limited Bar-code reader and computer product
JP4070631B2 (ja) * 2003-02-21 2008-04-02 富士通株式会社 バーコード読取装置およびバーコード読取方法
JP4170111B2 (ja) * 2003-02-21 2008-10-22 富士通株式会社 バーコード読取装置およびバーコード読取方法
US20050211612A1 (en) * 2004-03-25 2005-09-29 Mattson Roy W Jr Water suction purification device
US8196836B2 (en) * 2007-06-28 2012-06-12 Fuji Xerox Co., Ltd. Image processing apparatus, image processing method and computer-readable medium
JP6114320B2 (ja) * 2015-02-16 2017-04-12 株式会社ウェルキャット コード読取学習システム
JP2021103499A (ja) * 2019-12-26 2021-07-15 セイコーエプソン株式会社 画像処理装置、印刷装置および画像処理方法
CN112733564A (zh) * 2020-12-29 2021-04-30 深圳市新锐科技有限公司 一维码识别方法及装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3882464A (en) * 1974-04-04 1975-05-06 Computer Identics Corp Size ratio label reading system
JPS586982B2 (ja) * 1976-08-18 1983-02-07 株式会社デンソー バ−コ−ド読取方法および装置
US4414468A (en) * 1981-05-18 1983-11-08 International Business Machines Corporation Systematic error correction in bar code scanner
US4438327A (en) * 1982-04-21 1984-03-20 Burr-Brown Research Corporation Bar code reading system and method
US4528443A (en) * 1982-04-21 1985-07-09 Burr-Brown Corporation Bar code reading system and method
JP2740418B2 (ja) * 1992-07-14 1998-04-15 富士通株式会社 バーコード読取復調方法
JPH07175632A (ja) * 1993-12-17 1995-07-14 Ricoh Co Ltd バーコード読取装置
JP2718442B2 (ja) 1993-12-20 1998-02-25 富士通株式会社 バーコード復調方法及び装置
US5821520A (en) * 1995-04-28 1998-10-13 Symbol Technologies, Inc. Bar code scanning system with the pre-decoding signal processing and method for bar code candidate selection for decoding
JP3550807B2 (ja) * 1995-06-16 2004-08-04 株式会社デンソー バーコード復号方式
JP2729168B2 (ja) * 1995-12-21 1998-03-18 日本電気アイシーマイコンシステム株式会社 バーコードおよびバーコード読取装置およびその読取方法
US5767498A (en) * 1996-09-17 1998-06-16 Ncr Corporation Bar code error scanner
JPH10134130A (ja) * 1996-10-28 1998-05-22 Fujitsu Ltd バーコード読取方法およびバーコード読取装置
JP3472691B2 (ja) * 1997-11-26 2003-12-02 富士通株式会社 バーコード読取装置及びバーコード読取方法
JP3510496B2 (ja) * 1998-09-28 2004-03-29 富士通株式会社 バー幅補正装置,バー幅補正方法,バーコード読取装置及びそのバーコード復調方法

Also Published As

Publication number Publication date
JP2000181987A (ja) 2000-06-30
KR100334047B1 (ko) 2002-04-26
EP1011063A3 (en) 2002-05-08
US6357660B1 (en) 2002-03-19
JP3548025B2 (ja) 2004-07-28
EP1011063A2 (en) 2000-06-21

Similar Documents

Publication Publication Date Title
KR100334047B1 (ko) 바코드 판독 장치 및 방법
EP0066680B1 (en) Systematic error correction in bar code scanner
US5675137A (en) Bar code decoding using moving averages to break the (n,k) code barrier for UPC, EAN Code 128 and others
US5128527A (en) Apparatus for reading a bar code
US4354101A (en) Method and apparatus for reading and decoding a high density linear bar code
US4687912A (en) Bar code reading method and apparatus
EP0180152A2 (en) Bar code reading method and apparatus
US4533825A (en) Bar code recognition apparatus
JP2000509537A (ja) モジュール・サイズの比率解析を用いてバーコード記号を解読する方法および装置
EP0502440B1 (en) Bar-code reading apparatus and method
JP2740418B2 (ja) バーコード読取復調方法
JP4416980B2 (ja) バーコード読取装置およびバーコード読取方法
US5502296A (en) Method of and apparatus for demodulating bar code
JP2729168B2 (ja) バーコードおよびバーコード読取装置およびその読取方法
JP5341951B2 (ja) コード読取装置及びプログラム
JPH0239824B2 (ko)
JPH0786904B2 (ja) バ−コ−ド復調方式
JP2953143B2 (ja) バーコード読取装置およびバーコード読取方法
JPH0259879A (ja) 符号読取装置
JPS584485A (ja) シンボル復調装置
JPH05233866A (ja) バーコード復調装置
JPS62288985A (ja) バ−コ−ド復調装置
JPH02244291A (ja) 光学センサ出力二値化方式

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120322

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20130321

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee