JPH0331980A - エラー修正方法及び装置 - Google Patents

エラー修正方法及び装置

Info

Publication number
JPH0331980A
JPH0331980A JP2160068A JP16006890A JPH0331980A JP H0331980 A JPH0331980 A JP H0331980A JP 2160068 A JP2160068 A JP 2160068A JP 16006890 A JP16006890 A JP 16006890A JP H0331980 A JPH0331980 A JP H0331980A
Authority
JP
Japan
Prior art keywords
character
modulo
value
symbol
symbols
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2160068A
Other languages
English (en)
Other versions
JP2567973B2 (ja
Inventor
Douglas D Bossen
ダグラス・クライグ・ボーセン
Chin-Long Chen
シン―ロング・チエン
Mu-Yue Hsiao
ムー―ユウ・シヤウ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0331980A publication Critical patent/JPH0331980A/ja
Application granted granted Critical
Publication of JP2567973B2 publication Critical patent/JP2567973B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/07Arithmetic codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/08Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code using markings of different kinds or more than one marking of the same kind in the same record carrier, e.g. one marking being sensed by optical and the other by magnetic means
    • G06K19/10Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code using markings of different kinds or more than one marking of the same kind in the same record carrier, e.g. one marking being sensed by optical and the other by magnetic means at least one kind of marking being used for authentication, e.g. of credit or identity cards
    • G06K19/14Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code using markings of different kinds or more than one marking of the same kind in the same record carrier, e.g. one marking being sensed by optical and the other by magnetic means at least one kind of marking being used for authentication, e.g. of credit or identity cards the marking being sensed by radiation

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Character Discrimination (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明は、−殻内に、文字コードまたは記号コードで使
用できるエラー修正及び検出システムを対象とする。よ
り詳しくは、任意の順序の情報記号用検査文字をつける
方法及び装置に関する。本発明はまた、受け取った一連
の処理文字記号を復号して、受け取った文字記号信号中
の単一位置におけるエラーの存在を検出するシステムも
含む。さらに詳しくは、本発明は、バーコード・システ
ムで使用可能なエラー修正方式及びエラー検出方式に関
する。
B、従来の技術及びその課題 特に、バーコードが複数の英数字その他の記号の光学的
文字認識(OCR)を必要としないやり方で、対象の識
別手段を提供できることは周知である。一般にバーコー
ドは通常、ある順序で種々の輻の一連の条片を用いて、
特定の文字記号を表わす。また、1989年5月15日
に出願された特許出願第07/351902号明細書に
記載されているように、単一幅のバーのみを示すバーコ
ードを用い得ることがわかる。さらに、組込みタイミン
グ指示を用いるようにこのようなコードを組み立てるこ
とができることもわかる。このようなコードは信頼性が
あり、また、望ましくない読取り精度の劣化があり得る
環境でこのようなコード及びその他のコードを用いるこ
ともできる。
C0課題を解決するための手段 したがって、本発明は文字記号をコード化して冗長度及
びエラー修正を実現させるシステムを対象とする。本発
明では、事実、コード化及び復号システムは、ビット・
レベルやバー・レベルではなく、記号レベルで用いられ
る。
さらに、本発明のコードが任意の記号ベースのコード化
システムに適用可能なことがわかる。特に、本システム
はまた、OCRフォントにも適用できる。したがって、
この種のコード化システムは、高い読取り精度が達成で
きるとは限らない敵対的環境で任意の種類の記号コード
を用いる時、特に価値あることがわかる。よって、本発
明のシステムは、特に、苛酷な環境で処理されるシリコ
ン半導体ウェハの処理に関連して組込みタイミング特性
の単一幅バーコードが用いられる状況で、適用できるこ
とがわかる。さらに、本発明のコードは任意の記号ベー
スのコードに適用でき、バーフードやOCRフォントに
限らず、ビットまたはバーカ従属パッケージに区分けさ
れる任意のコードと共にも使用できることがわかる。こ
れは、コード記号の従属表示がない通常の記号フォント
に、直接適用することもできる。
本発明の好ましい実施例では、N個のコード記号(望む
ならアルファベット)の集合から選択された任意の連続
したM個の情報記号用に検査文字を生成する方法が提供
される。この方法は複数の段階を含み、その第1段階は
、N個の異なる数字値の連続をN個のコード記号に割り
当てることである。次に、M個の情報記号の任意のメツ
セージ連続をN個のコード記号の集合から選択する。M
+1個の番号付けされた位置の集合の1つになるように
選択された検査文字に、位置jを割り当てる。これらの
位置は、M個の情報文字位置及び1個の検査文字位置に
対応する。検査文字は、まずOの数値を割り当てられる
。2種の部分合計Fe及びFoを計算する。これらの合
計は、それぞれ偶数番及び奇数番の文字位置でコード記
号に関連する文字値を加え合わすことにより、算出され
る。
この合計は実行されたモジュロNである。特に、本出願
全体を通じてモジュールの演算が行なわれ、特記のない
限りそうであるものと考えられたい。
このモジュール加算(またはそれが発生するときの乗法
あるいはその両方)は、実際に通常の結果をNで除して
、実際の結果をこの除法演算の結果として生じる残余に
とる。次に、検査合計Fo+2Fe (モジュロN)を
計算する。FはFo+2Feであるとして、位置jに関
連する検査文字値は[:(N−1)/2]・Fとして算
出される。結果として得られた文字値CV(j)を使っ
て、その文字値を持つコード記号を検査位置に割り当て
る。上の記載で、角括弧は括弧に挟まれた引数がどのよ
うなものに適用されても、「それ未満の最大整数かそれ
に等しい整数」を指していることにも留意されたい。こ
の慣用表記法は本出願を通じて用いられる。
本発明は、本発明に従ってコード化されている受け取っ
た一連の文字記号を修正する方法も対象とする。詳しく
は、一連の文字記号を受取り中に削除が1個現われる場
合、特に適用可能である。
この状況で、削除位置に最初にOの文字値を割り当てる
。コードの所定数字値を他の受取り位置に割り当てる。
次に、前記のように、連続中の奇数番位置に関連する予
め割り当てられた文字値の合計が生成される。前記のよ
うに、この合計は実行されたモジュロNであり、結果F
oを出す。同様に、偶数番位置に関連する文字値を計算
して、合計Fe(再びモジュロN)を生成する。次に、
検査合計FをFo+2Fe (モジュロN)として生成
する。次いで、削除位置jの文字値を、jが奇数の場合
には−Fとして、jが偶数の場合には[(N−1)/2
]・F(モジュロN)として算出する。最後に、文字記
号はこうして生成した文字値と関連している。
この修正方法は、削除数と検査合計Fの役割を考慮に入
れているよりも一般的なエラー修正方法と共に使用でき
る。本発明の方法を実施する装置も、記載されている。
したがって、本発明の目的は、記号読取りまたは伝送の
エラーの検出用と修正用の方法及び装置を提供すること
にある。
本発明の目的は、また、バーコード読取り装置及ヒバ−
コード・システムの適用範囲、頑丈さ、信頼性を拡張す
ることにある。
本発明のなおもう一つの目的は、記号レベル・コードで
使用する単一エラー修正及び検出システムを提供するこ
とにある。
最後に、前記に限らず、本発明の目的は、バーコード、
OCRフォント、及びその他の記号ベースのコーディン
グ法、特に超大規模集積(VLSI)回路チップの製造
中に半導体ウェハの識別に用いられるコーディング法の
ため、記号レベルの修正及び検出システムを提供するこ
とにある。
本発明と見なされる内容を、本明細書の結尾部に特に指
摘し、明確に特許請求する。ただし、添付図面と共にあ
る以下の説明を参照することにより、本発明は、その実
施の体制及び方法について、その前記以外の目的及び利
点と共に最も良く理解されるはずである。
D、実施例 本発明のコード化過程の好ましい実施例を第1図に示す
。この図に示す過程によると、伝送しようとする記号ま
たは認識しようとする記号あるいはその両方の記号の集
合に含まれる予定の所望のコード記号に、数字値を割り
当てる。Nを処理しようとする異なるコード記号の個数
として、Oから値N−1までの範囲の整数の集合から割
当てを行なう。ただし、数字値をコード記号に割り当て
るのは、本質的に、当明細書所載のコーディング過程を
モジュロN演算で記載し理解できるようにする慣用法の
一つである。
一般に、算術モジュロNは次のように記載できる。算術
モジュロNは、OからN−1に及ぶ整数の加算と乗算を
含む。加算と乗算の演算を通常の演算法で行なって結果
を得る。しかしながら、算術モジュロNでは、得られた
結果は中間結果にすぎず、実際の結果は、通常の(中間
)結果をNで除したときの剰余で与えられる。この剰余
は常にOとN−1の間にあるので、算術モジュロNは常
に0とN−1の間の整数を作る。この演算は、N=5の
場合、下に示す2つの表により詳しく示されている。特
に、第工表は2整数モジユロ5を加算した場合に得た結
果を示す。同様に、第■表は2整数モジユロ5を乗算し
た場合に得たモジュラ演算結果を示す。
第工表 十   0  1  2 012 1123 2234 3340 4401 4  4 0 1  2 3 表H表 01234 000000 01234 02413 03142 04321 本発明のシステムが前記のように機能するため、Nは奇
数の整数でなければならないことに留意されたい。
次に、第1図に示すコード化過程に従って、コード記号
情報文字のメツセージ順序を選定する。特に、コード記
号順序内のどの位置でも検査文字位置になるとして選択
し得ることに留意されたい。
当過程の次の段階で、本図では一般に位置jと名指する
検査文字位置にOの文字値を割り当てる。
一般に、M個の情報文字及び1個の冗長検査文字が存在
する状況では、jは1からM+1に及ぶことになる。
さらに第1図に示す過程に従って、2つの合計を計算す
る。これらの合計は、どちらかの順序でまたは同時に計
算してよい。特に、奇数の記号位置に関連するM+1個
の文字値CV(i)の各々で、これらの値の合計、モジ
ュロNが実行される。
すなわち、合計CV (1)+CV (3)+CV(5
)+、、、は計算されたモジュロNである。
これは部分検査合計であり、当明細書では記号Foで表
示する。
同様にして、偶数記号位置に関連する文字値を同じく加
え合わせて合計CV (2)+CV (4)+CV (
8)+、、、モジュロNを形成する。これもまた部分検
査合計であって、当明細書では記号Feで表示する。
次に、全体的検査合計FをFo+2FeモジュロNとし
て計算する。検査合計Fの形成は、検査位置で使おうと
する文字記号をコード化するのに欠かせない。特に、数
[(N−1)/2]・FモジュロNを次に計算する。当
明細書、図面、添付特許請求の範囲で使用されている括
弧がその括弧に挟まれた数式の値未満の最大整数かそれ
に等しい整数を表すことに留意されたい。ただし、一般
に、Nが奇数の場合、いずれにしても括弧内の式(N−
1)/2が常に全整数になっていることに留意されたい
。とにかく、前記のように、基底Nのモジュラ演算基底
Nを用いて、結果として得た整数に検査合計Fを掛ける
。したがって結果として生じる数は、常にOからN−1
までの整数である。この数値を、1番目の位置すなわち
検査位置に関連する文字値、CV(j)に等しく設定す
る。
最後に、本発明によれば、コード記号の文字値への割当
てが行なわれる。特に、適当なコード記号を値CV(j
)に関連させ、これにより第1図に示すコード化過程を
終了する。
コード化過程を価値あるものにしようとする場合には、
対応する復号過程も組立て可能でなければならない。特
に、このような復号過程を第2図に示す。第2図は、伝
送または認識回路構成で削除が1個発生した場合に行な
われる過程を示す。
第2図は特にバーコードを読み取ってコード記号文字列
を作り出す状況を対象にしているものの、復号過程、一
般に本発明のシステムが、バーコード例により示唆され
るよりもはるかに広く適用できることに留意されたい。
したがって、第2図に示されているrREAD  BA
RC0DE (バーコードを読み取れ)」とラベル付け
された機能ブロックは、一連の文字記号を読み込むか受
け取る、任意の数の処理段階を単に表すものである。
復号過程における次の段階は、読取りまたは受取り動作
中に生成される数値をコード記号列に割り当てることで
ある。これらの動作中、必ずしも全記号を認識したり検
出したりすることが可能なわけでない点に留意されたい
。この場合、その位置について削除が指示される。削除
が複数個ある場合、本コード化及び復号システムにより
直接修正可能でないエラーが発生する(後で検討する第
3図を参照)。したがって、修正不可能なエラーの表示
を行なうのが本発明の好ましい実施例である。しかし、
削除位置がただ1つの場合には、この位置を位置jとし
て指示し、この位置に関連する文字値をOに初期設定す
る。その他の位置に関連する文字値は変更しないままと
する。次に、前記のように合計Fo及びFeを計算する
。合計Foの場合、奇数の索引ラベル付き記号位置に関
連する文字値で合計をとる。同様に、合計Feの場合、
偶数の索引ラベル付き記号位置に関連する文字値で合計
をとる。次に、全体的検査合計FをFo+2Feとして
計算する。前記のように、合計も乗算もすべて実行され
たモジュロNである。
削除位置すなわち位置jが奇数の索引位置である場合に
は、この位置に関連する文字値を検査合計Fの付加的逆
モジュロNに等しく設定する。すなわち、CV (j)
 =−F (モジュロN)である。
一般に付加的逆は、単に値Fをモジュロ基底Nから引く
ことにより、非常に容易に計算できる。たとえば、N=
35、F=23の場合には、23+12=35=0(モ
ジュロ35)であるから、−F=12となる。
同様に、jが2.4.8.8.、、などの偶数索引を指
す場合には、CV(j)をt、(N−1)/2]・Fモ
ジュロNに設定する。したがって、どちらの場合にも、
0から(N−1)に及ぶCV(j)の値が生成される。
次いで、この文字値を用いて、その関連する記号を決定
する。この記号は、前記のコード化過程中に使用された
のと同じ記号である。後でわかるように、との復号過程
によって、コード記号読取りがどの所定パターンにも対
応しない時に発生する単一削除エラーを修正できるよう
になる。
事実、当明細書所載のコード化過程は、より包括的な復
号過程を示す第3図にあるような、全体的復号過程の一
部として用い得る。特に、第2図に示す過程は、本質上
、第3図における単一関数ブロック、すなわちrCAL
CULATE  ERASURE  VALUE(削除
値を計算せよ)」と題するブロックだけを含む。特に、
第3図に示す過程は、バー/間隔列(またはその他のコ
ード記号列)から始まる一連の動作を説明している。
次いで、走査回路により認識された文字列を用いて、削
除が起こったか否かを判定する。レシーバ、リーダ、ま
たはりコグナイザによって作られる電気パターンの列が
適当な文字記号と整合しない、すなわち対にならない場
合はいつでも、削除が起こる。検出された削除数NEが
1より大きい場合には、図示するように、修正不可能エ
ラーの指示信号が出される。しかし、削除数が1の場合
には、第2図に示す過程を用いてその1つの削除を修正
する。この修正の1例を後述する。しかし、削除がない
場合には、その他にエラーが発生しないことを確かめる
ことがなお必要である。したがって、削除数NEがOの
場合には、前記のように、検査合計シンドロームFをF
o+2Feとして計算する。FがOの場合には、エラー
は起こっておらず、この文字列を認められたものとして
受け入れることができる。しかし、FがOに等しくない
場合には、修正不可能エラーが発生しており、この影響
への指示を出すことが好ましい。
限定ではなく、図示の目的で、本発明のコード法と関連
して採用できるバーコードを第4図に示す。特に、図示
するバーコードはいくつかの独自な性質を有する。図で
、文字rBJは一定幅の1本の垂直な縞(バー)を表す
。文字「−」はバー間の1つの空白スペースを表す。し
たがって、第4図に示すBC412]ードは、単幅バー
コードである。さらに、自動タイミング特性を有すると
いう特別な性質がある。この性質は、走査速度の変動に
直面してコードの信頼性と頑丈さを保証するのに有用で
ある。特に、コードの始まりが常に12番のタイム・ス
ロットごとに起こる「バーと空白」の組合せとして回復
可能であることがわかる。とりわけ、このコードが35
通りの記号、すなわちrOJから「9」までの数字及び
文字rOJを除く「A」からrZJまでの英字を表現で
きることがわかる。本発明によると、これら35個の記
号の各々は、OからN−1までの一意的な文字値と関連
している。ここでは、Nは35である。
また、文字値がOから始まり、N−1を含めてそれまで
のすべての整数を含むことに留意されたい。
これは、ここにおけるように、その実施をモジュラ演算
により記述する時、本発明の重要な実施態様となる。特
に、モジュラ演算が常に0からN−1までの文字値を生
成し、したがってコード表示に適していることがわかる
今、本発明のシステムによるコード化と復号の1例を示
す。特に、例として、検査文字位置は別に任意に選ばれ
た文字の列中で2番目の位置である,と仮定する。特に
、任意メッセージ列「AE7139Jを考えてみる。こ
れらの7つの位置に関連する文字値(第4図参照)は次
の通りである。
是号     位置i A1 2 E3 74 15 36 97 [第■表コ CV(i) 1 0 0 14 7 1 3 9 前記で、検査合計位置(i=2)に関連する初期文字値
がOであることに留意されたい。したがって、奇数位置
、すなわちiが1、3、5、7である位置に関連する文
字値は、それぞれ10,14、1、9である。したがっ
て、Foは、Fo=10+14+1+9=34として計
算すればよい。同様に、Feは偶数番位置に関連する、
すなわちi=2、4、6に対する文字値の合計として計
算してよい。したがって、Fe=O+7+3=10とな
る。この例における限り、実行された合計は、通常の合
計が35を超えないので、通常の演算から得られる合計
と同じであることに留意されたい。
しかし、ここで検査合計FをFo+2Feとして計算す
ることに注意する。つまり、この例では、F=34+ 
(2・10)=34+20=54 (モジュロ35)=
19。このあとの計算に、算術演算の「モジュラ」性状
がより詳しくわかる。
最後に、第2位置すなわち検査合計位置のための文字値
を計算する。CV (2)で表示されたこの値を、[(
N−1)/2]・FモジュロNとして計算する。ただし
、N=35で、(N−1)/2=17である。モして[
17]=17である。
したがって、検査位置j=2については、Cv(2)=
17・Fモジュロ35であり、ここで、Fo+2Feに
対する計算からF=19である。
この場合、17・19=323 (モジュロ35)=9
・35+8。したがってCV (2)=8。こうして、
所望のコード化列はrA8E7139Jである。つまり
、第1図で説明した過程が列「AE7139Jに適用さ
れると、コード化された列rA8E7139」を生成す
る。削除が1つだけある場合に、単一エラーの修正を与
えるのが、このコード化列である。
今、第2図に示す復号過程に注目する。この例も、さき
の第4図に示した文字値についてさきに行なった仮定を
続ける。特に、受け取られたり検出されたり認識された
りするバーとスペースの列の一例を示す第5図に注意さ
れたい。特に、i=5の位置について削除が発生してい
ることがわかる。しかし第2図の復号過程を用いて、削
除記号を正しく識別する。まず、削除位置に関連する文
字値をOに設定する。この場合特に、CV (5)=O
である。指示されているようにNFo及びFeの値を計
算する。特に、Fo=10+14+0+9=33である
。同じく、前記のようにFe=8+7+3=18となる
。次に、Fo+2Feを計算すると、33+2 (18
)=33+38=69(モジュロ35)=34となる。
削除位置jは奇整数で表わされているので、この位置に
関連する文字値すなわちCV (5)を、−Fモジュロ
Nとして計算する。この特定の例では、1+34=35
であるから、F=34及び一F=1となる。
すなわち、削除位置に関連する文字値は1、つまりCV
 (5)= 1である。次いで、この値を第4図に示す
見本対応と関連して使用する。この図でlの文字値に関
連する記号が1であることがわかる。これらの結果を第
5図にまとめる。
単に例として,CV (5)が13と判明すると、一F
は22であったことになり、この場合、第4図によると
、22の文字値に関連する該当記号はMとなる。
本発明を実現する装置に従って、第6図及び第7図を詳
しく注目する。特に第6図は、本発明の原理に従って動
作する修正デコーダを示す。記号コード・リーダ10が
、削除が発生した位置を決める削除検出器11に信号を
出すことがわかる。
すなわち、削除検出器11が働いて、既知の信号表示に
対応しない記号信号をリーダ10から見出す。したがっ
て、削除検出器11は、記号位置の1つで削除が発生し
たとの指示を行なう。記号表示は、削除の指示と共に、
文字値生成機構12に送られる。生成機構12は、記号
位置読取りのたびに数字値信号を出す。Oの文字値は削
除位置に割り当てられる。生成機構12が供給する数字
値は、関連記号位置に偶数または奇数の索引表示がつい
ているか否かに従って、分類されることが好ましい。前
記のように、偶数索引付き位置に関連する文字値を、F
eの値を計算するモジュロN合計計算機elf 13に
供給する。同様にして、奇数索引位置に関連する文字値
を、Foの値を計算する働きをするモジュロN合計器1
4に供給する。これらの2つの合計を、値F=Fo+2
Feを生成するモジュロN計算装置15に供給する。こ
の計算の結果を、削除の索引位置が奇数か偶数かに応じ
て、それぞれ−Fまたは[(N−1)/2]Fを算出す
る計算装置16に供給する。結果として得られた文字値
を、記号生成機構17に供給するが、この記号生成機構
17は、削除位filZjに関連する文字値すなわちC
V(j)を、第4図に示すような表に従って適切な記号
に写像する働きをする。しかし、第4図は文字値と記号
の間の一組の写像を表しているが、これをとにかく限定
的である、と考えるべきでないことに留意されたい。
詳しくは、一般に、本来の性質から記号の集合は本質的
に任意であり、唯一の制限は文字値がOからN−1まで
である、ということがわかっている。
さらに、先に指摘したように、OからN−1までの整数
の利用さえも、本質的には、アルゴリズムを算術モジュ
ロNにより記載できる便利さのために提供される。しか
し、Nが一度固定されると、本発明の意図から外れるこ
となく、本発明の過程を、抽象集合の要素から選択され
たより抽象的な数学分野の変数及び文字値によって記載
することが可能な点に留意されたい。
メツセージ記号の集合に検査記号を供給するように、本
発明の記号をコード化することのできる装置に関しては
、第7図に示すブロック図に特に注意を向ける。たとえ
ば、伝送、刻印、またはコード化しようとする選択コー
ド記号をレジスタ20に供給してもよい。すると、レジ
スタ20は、これらのコード記号をM個、OからN−1
までの数字値をM個の位置の各々に割り当てる働きをす
る文字値生成機構21に供給する。偶数索引を持つ位置
を偶数位置合計機構22に、奇数索引を持つ文字値を奇
数位置合計機構23に供給する。合計機構22.23は
共に、演算モジュロNを用いて動作し、それぞれ出力値
Fe及びFoを生成する。
Feの値は、またモジュロNを操作する2倍器24によ
り乗算される。2倍になった結果は、F。
と共に、0からN−1までに及ぶ代数的数Fo+2Fe
=Fを表す値Fを出すモジュロN合計様横25に供給さ
れる。次に、このFの値に関連する文字値が、3番目の
位置に関連する文字値CV(j)を生じさせる働きをす
る計算手段26により生成される。ただし、jは検査合
計位置に関する整数索引である。この文字値を、[(N
−1)/2]・FモジュロNとして計算する。結果とし
て得られた文字値CV (j)を適当なコード記号に写
像する働きをする記号生成機構27に供給する。次いで
、既にレジスタ20中に存在するM個の入力コード記号
も包含しているのが好ましい、こうしたコード記号を出
力列の適当な位置に挿入する。このようにして、M+1
個の記号の集合をコード化し、その中に1つの検査合計
記号が入っている。
第6図及び第7図に示す種々の計算手段及び合計手段が
、指示された各機能を遂行する特殊目的ハードウェアの
形で具体化されているが、本発明の好ましい実施例は、
第1図及び第2図に示す諸段階に従って所望の機能を遂
行するようにプログラムされた1台の汎用ディジタル演
算処理装置を用いる。このような装置は、記号読取り器
とインターフェースするための適当な回路を持つ、小型
のプリント回路板上に配設されたマイクロプロセッサ・
チップを含むこともある。
E6発明の効果 したがって、前記から、記号ベースのコード用の単一エ
ラー修正は容易に達成でき、経済的であり高速演算も可
能な装置を含むことを認識されたい。特に、当明細書に
記載されているモジュロN演算が実際に演算衣の形で容
易に実現可能になり得ることに留意されたい。モしてF
o+2Feの算出は、事実、1回の表検査作業により完
成できる。同じことが、第7図の計算手段26により実
行される計算にとっても成り立つ。本発明はバーコード
適用業務に特に限定されるのでなく、一般に、光学的文
字認識コード化方法を含めてどのような記号ベースのコ
ードにも適用できる点も認識されたい。本発明は非常に
実施し易く、最小限の付加回路が必要なだけである点を
認識されたい。
さらに、本発明の方法及び装置が任意の個数Mのコード
記号で作業できる。したがって、本発明の方法及び装置
は、記号がブロックでコード化され、各ブロックが第7
図の装置により供給されるような検査記号を含む状況に
、拡張できることも容易に認められる。同様に、既に検
査記号を含む予めコード化されたブロックに関連する検
査記号が作り出される。こうして、本発明の方法及び装
置はエラー修正能力が増大するように容易に拡張可能で
あることがわかる。このような拡張には、2次元、3次
元またはより高い次元のアレイでコード化しようとする
記号の配列を含め、一般2進コードが拡張可能であるす
べての方法が含まれる。
【図面の簡単な説明】
第1図は、本発明に従って実施されるコード化過程を表
す流れ図である。 第2図は、本発明の復号過程を表す流れ図である。 第3図は、削除計算及びシンドローム検査の全体的枠組
内で本発明を一緒に用いる場合の論理の流れを示す流れ
図である。 第4図は、本発明に関連して用いることのできるバーコ
ード、特に、当明細書に表示された記号に関連する数字
値を示す説明図である。 第5図は、本発明の過程による削除修正の1例の説明図
である。 第6図は、本発明によるエラー修正装置の機能を示す説
明図である。 第7図は、本発明の好ましい実施例に従って冗長修正可
能コードを出すことのできる装置の機能を示す説明図で
ある。

Claims (12)

    【特許請求の範囲】
  1. (1)奇数組のN個のコード記号から選択されたM個の
    情報記号の任意の列用の検査文字を供給する方法であっ
    て、 N個の異なる数字値の列をM個のコード記号に割り当て
    る段階と、 M+1個の数字でラベルされた複数の位置の組内の検査
    文字に位置jを割り当てる段階であって、前記複数の位
    置はM個の情報文字位置と1個の検査文字位置に対応し
    、前記検査文字はまず数値0が割り当てられ、位置j以
    外の前記複数の位置は任意の情報記号列に従って割り当
    てられる、前記の段階と、 奇数位置番号の付いた位置を有する全コード番号に関連
    する文字値の合計Foを形成し、前記合計は実行された
    モジュロNである段階と、 偶数位置番号の付いた位置を有する全コード番号に関連
    する文字値の合計Feを形成し、前記合計は実行された
    モジュロNである段階と、 検査合計Fo+2FeモジュロNを形成する段階と、 位置jに対する文字値CV(j)を[(N−1)/2]
    ・Fとして形成し、前記積算値は実行されたモジュロN
    である段階と、 文字値CV(J)を有するコード記号を検査位置jに割
    り当てる段階と、 を含む前記の方法。
  2. (2)N=35の場合の特許請求の範囲第(1)項に記
    載の方法。
  3. (3)前記文字位置に右から左へ番号順にラベル付けす
    る、特許請求の範囲第(1)項に記載の方法。
  4. (4)前記文字位置に左から右へ番号順にラベル付けす
    る、特許請求の範囲第(1)項に記載の方法。
  5. (5)削除が1つある、受け取ったコード化文字記号列
    を修正する方法であって、 jは削除位置を指すものとし、位置jの初期文字値を0
    に設定する段階と、 前記文字記号に関連する予め割り当てられた文字値の合
    計Foをとる段階であって、前記合計の計算は奇数の位
    置番号を有するすべての連続位置について実施され、前
    記合計は実行されたモジュロNであって、ここでNは奇
    数であり、またコード記号の個数でもある、前記の段階
    と、 前記文字記号に関連する予め割り当てられた文字値の合
    計Feをとる段階であって、前記合計の計算は偶数の位
    置番号を有するすべての連続位置について実施され、前
    記合計計算は実行されたモジュロNである、前記の段階
    と、 検査合計FをFo+2FeをモジュロNとして形成する
    段階と、 削除位置の文字値CV(j)を、jが奇数の場合には−
    FモジュロNとして、jが偶数の場合には[(N−1)
    /2]・FモジュロNとして算出する段階と、 前記の予め割り当てられた文字値の関連により、修正さ
    れた削除位置文字記号を文字値CV(j)と関連させる
    段階と、 を含む前記の方法。
  6. (6)Nが35の場合の特許請求の範囲第(5)項に記
    載の方法。
  7. (7)削除数を決定する段階と、 削除数が2以上の場合に修正不可能な誤りを指示する段
    階と、 削除数が確かに1であるか否かを判定し、その場合に特
    許請求の範囲第(5)項の修正手順を適用する段階と、 削除がないかどうかを判定し、前記形成段階を適用して
    検査合計Fを計算する段階と、 Fが0(モジュロN)に等しくない場合に修正不可能な
    誤りと指示し、その他の場合には受け取った列を正しい
    ものとして受け入れる段階と、を含む、受け取った文字
    記号と削除の列を復号する方法。
  8. (8)M個の記号の各々に対し、N個の異なる値の組か
    ら、一意的数字値を生成する手段と、 M個の記号列内の偶数位置に関連する数字値の合計Fe
    モジュロNを形成する手段と、 M個の記号列内の奇数位置に関連する数字値の合計Fo
    モジュロNを形成する手段と、 合計F=Fo+2FeモジュロNを形成する手段と、 jは検査位置を指すものとし、文字値CV(j)を[(
    N−1)/2]・FモジュロNとして計算する手段と、 文字値CV(j)に関連するコード記号を生成する手段
    と、 を含む、N個のコード記号の奇数集合から選択されたM
    個の情報記号の任意列に検査文字を供給する装置。
  9. (9)Nが35である、特許請求の範囲第(8)項に記
    載の装置。
  10. (10)jがM+1に等しくなく、前記合計Fo及びF
    eが算出され、jが文字値0に関連する、特許請求の範
    囲第(8)項に記載の装置。
  11. (11)検査記号が1個ある受け取った文字記号のコー
    ド化列を修正する装置であって、 前記の受け取った列の中で、削除位置の個所jを検出す
    る手段と、 生成プログラムが前記削除位置のために0の値を生成し
    、受け取った記号列の各記号について、N個の異なる値
    の奇数集合から一意の数字値を生成する手段と、 受け取った列内の偶数位置に関連する数字値の合計Fe
    モジュロNを形成する手段と、 受け取った列内の奇数位置に関連する数字値の合計Fo
    モジュロNを形成する手段と、 検査合計FをFo+2FeモジュロNとして形成する手
    段と、 削除位置jに関連した文字値CV(j)を、jが奇数と
    いう条件では−FモジュロNとして、jが偶数という条
    件では[(N−1)/2]・FモジュロNとして計算す
    る手段と、 文字値CV(j)に関連するコード記号を生成する手段 を含む前記の装置。
  12. (12)Nが35の場合の特許請求の範囲第(11)項
    に記載の装置。
JP2160068A 1989-06-23 1990-06-20 コ−ド化文字記号列を訂正する方法 Expired - Fee Related JP2567973B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/370,935 US5070504A (en) 1989-06-23 1989-06-23 Method and apparatus for providing error correction to symbol level codes
US370935 1989-06-23

Publications (2)

Publication Number Publication Date
JPH0331980A true JPH0331980A (ja) 1991-02-12
JP2567973B2 JP2567973B2 (ja) 1996-12-25

Family

ID=23461801

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2160068A Expired - Fee Related JP2567973B2 (ja) 1989-06-23 1990-06-20 コ−ド化文字記号列を訂正する方法

Country Status (5)

Country Link
US (1) US5070504A (ja)
EP (1) EP0405099B1 (ja)
JP (1) JP2567973B2 (ja)
CA (1) CA2013386C (ja)
DE (1) DE69029539T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0757038A (ja) * 1993-08-20 1995-03-03 Nec Corp バーコード読み取りシステム

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5489158A (en) * 1990-01-05 1996-02-06 Symbol Technologies, Inc. Printer system for removable machine readable code
US5337361C1 (en) * 1990-01-05 2001-05-15 Symbol Technologies Inc Record with encoded data
US5349588A (en) * 1992-02-06 1994-09-20 Motorola, Inc. Error detecting method and apparatus for data communications
US5412194A (en) * 1992-03-25 1995-05-02 Storage Technology Corporation Robust coding system
US5479418A (en) * 1992-07-10 1995-12-26 Canon Inc. Error and loss correction in a data base stored on a two dimensional medium and method
US5748807A (en) * 1992-10-09 1998-05-05 Panasonic Technologies, Inc. Method and means for enhancing optical character recognition of printed documents
US5537431A (en) * 1994-06-15 1996-07-16 International Business Machines Corporation Method and apparatus for bar code reading and decoding
US5602382A (en) * 1994-10-31 1997-02-11 Canada Post Corporation Mail piece bar code having a data content identifier
JPH08255233A (ja) * 1995-03-16 1996-10-01 Toshiba Corp バーコード符号化システム
FR2740925A1 (fr) * 1995-11-08 1997-05-09 Canon Kk Procede et dispositif de detection et de correction d'une eventuelle erreur dans une suite de nombres
US6747692B2 (en) 1997-03-28 2004-06-08 Symbol Technologies, Inc. Portable multipurpose recording terminal and portable network server
US5761221A (en) * 1995-12-11 1998-06-02 International Business Machines Corporation Memory implemented error detection and correction code using memory modules
US5691996A (en) * 1995-12-11 1997-11-25 International Business Machines Corporation Memory implemented error detection and correction code with address parity bits
US5768294A (en) * 1995-12-11 1998-06-16 International Business Machines Corporation Memory implemented error detection and correction code capable of detecting errors in fetching data from a wrong address
US8577026B2 (en) 2010-12-29 2013-11-05 Ternarylogic Llc Methods and apparatus in alternate finite field based coders and decoders
US7659839B2 (en) * 2007-08-15 2010-02-09 Ternarylogic Llc Methods and systems for modifying the statistical distribution of symbols in a coded message
US10397287B2 (en) * 2017-03-01 2019-08-27 Microsoft Technology Licensing, Llc Audio data transmission using frequency hopping

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60142494A (ja) * 1983-12-28 1985-07-27 大日本印刷株式会社 金券類の真偽判別装置
JPS6124473A (ja) * 1984-07-12 1986-02-03 Tokyo Electric Co Ltd バ−コ−ド情報入力確認方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3815495A (en) * 1973-03-09 1974-06-11 G Strackbein Modulus 10 numbering machine
US4013997A (en) * 1975-11-17 1977-03-22 Recognition Equipment Incorporated Error detection/correction system
US4414468A (en) * 1981-05-18 1983-11-08 International Business Machines Corporation Systematic error correction in bar code scanner
NL8403323A (nl) * 1984-11-02 1986-06-02 Philips Nv Leesinrichting voor staafkodes.
NL8501460A (nl) * 1985-05-22 1986-12-16 Philips Nv Werkwijze voor het identificeren van voorwerpen die voorzien zijn van een kodeveld met stipkode, inrichting voor het identificeren van zo een stipkode, en produkt voorzien van zo een stipkode.

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60142494A (ja) * 1983-12-28 1985-07-27 大日本印刷株式会社 金券類の真偽判別装置
JPS6124473A (ja) * 1984-07-12 1986-02-03 Tokyo Electric Co Ltd バ−コ−ド情報入力確認方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0757038A (ja) * 1993-08-20 1995-03-03 Nec Corp バーコード読み取りシステム

Also Published As

Publication number Publication date
CA2013386C (en) 1994-03-29
EP0405099A2 (en) 1991-01-02
US5070504A (en) 1991-12-03
DE69029539T2 (de) 1997-07-17
JP2567973B2 (ja) 1996-12-25
EP0405099A3 (en) 1993-12-22
CA2013386A1 (en) 1990-12-23
EP0405099B1 (en) 1997-01-02
DE69029539D1 (de) 1997-02-13

Similar Documents

Publication Publication Date Title
JPH0331980A (ja) エラー修正方法及び装置
US4879456A (en) Method of decoding a binary scan signal
DE69220818D1 (de) Verfahren und Einrichtung zur Fehlererkennung in Recherspeichern versehen mit Mehrfach-bit-Ausgängen
US20050149834A1 (en) (18, 9) Error correction code for double error correction and triple error detection
US4994993A (en) System for detecting and correcting errors generated by arithmetic logic units
US5161163A (en) Method and apparatus for providing error correction to symbol level codes
US4326291A (en) Error detection system
JPS632370B2 (ja)
CN1113474C (zh) Crc/edc校验器系统和方法
CA2192515C (en) Identification number issuing device and identification number verification device
US4696007A (en) Method of correcting errors in binary coded words
EP0608848B1 (en) Cyclic coding and cyclic redundancy code check processor
JP2001296145A (ja) アブソリュートエンコーダ
CN117043554A (zh) 使用非最大长度伪随机代码的旋转位置编码
JPH0238983B2 (ja)
KR19980087328A (ko) 신드롬 계산 장치
EP0408362A2 (en) Error detection code processing device
US20030070135A1 (en) High-efficiency error detection and/or correction code
US4739506A (en) IC chip error detecting and correcting apparatus
JPS5955548A (ja) 認識符号化・復号化処理方式
KR100244452B1 (ko) 데이터 오류체크회로 및 방법
US4739504A (en) IC chip error detecting and correcting method
SU1291984A2 (ru) Устройство дл декодировани линейных сверточных кодов
Jeannot QR Code Model 2 Structure and Algorithms
EP0229112B1 (en) Ic chip error detecting and correcting with automatic self-checkingand method therefor

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees