JP2567973B2 - コ−ド化文字記号列を訂正する方法 - Google Patents

コ−ド化文字記号列を訂正する方法

Info

Publication number
JP2567973B2
JP2567973B2 JP2160068A JP16006890A JP2567973B2 JP 2567973 B2 JP2567973 B2 JP 2567973B2 JP 2160068 A JP2160068 A JP 2160068A JP 16006890 A JP16006890 A JP 16006890A JP 2567973 B2 JP2567973 B2 JP 2567973B2
Authority
JP
Japan
Prior art keywords
modulo
character
sum
symbol
deletion
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.)
Expired - Fee Related
Application number
JP2160068A
Other languages
English (en)
Other versions
JPH0331980A (ja
Inventor
ダグラス・クライグ・ボーセン
シン―ロング・チエン
ムー―ユウ・シヤウ
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)

Description

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

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】削除が1つある、受け取ったコード化文字
    記号列を訂正する方法であって、 jは削除位置を指すものとし、位置jの初期文字値CV
    (j)を0に設定する段階と、 前記文字記号に関連する予め割り当てられた文字値の合
    計Foをとる段階であって、前記合計の計算は奇数の位置
    番号を有するすべての連続位置について実施され、前記
    合計はモジュロN演算され、ここでNは奇数であり、ま
    たコード記号の個数でもある、前記の段階と、 前記文字記号に関連する予め割り当てられた文字値の合
    計Feをとる段階であって、前記合計の計算は偶数の位置
    番号を有するすべての連続位置について実施され、前記
    合計はモジュロN演算された、前記の段階と、 検査合計FをFo+2FeのモジュロNとして形成する段階
    と、 削除位置の文字値CV(j)を、jが奇数の場合には−F
    モジュロNとして、jが偶数の場合には[(N−1)/
    2]・FモジュロNとして算出する段階と、 前記の予め割り当てられた文字値の関連により、訂正さ
    れた削除位置文字記号を文字値CV(j)と関連させる段
    階と、 を含む前記の方法。
  2. 【請求項2】Nが35である特許請求の範囲第(1)項に
    記載の方法。
  3. 【請求項3】削除数を決定する段階と、 削除数が2以上の場合に訂正不可能な誤りを指示する段
    階と、 削除数が確かに1であるか否かを判定し、その場合に特
    許請求の範囲第(1)項の訂正手順を適用する段階と、 削除がないかどうかを判定し、前記形成段階を適用して
    検査合計Fを計算する段階と、 Fが0(モジュロN)に等しくない場合に訂正不可能な
    誤りと指示し、その他の場合には受け取った列を正しい
    ものとして受け入れる段階と、 を含む、受け取った文字記号と削除の列を復号する方
    法。
  4. 【請求項4】削除が1つある、物理的媒体上に存在する
    受け取ったコード化情報記号列を訂正するためのコンピ
    ュータ・デバイスを動作させる方法であって、 jは前記媒体上の削除位置を指すものとし、位置jの初
    期文字値CV(j)を0に設定する段階と、 前記媒体上の前記情報記号に関連する予め割り当てられ
    た文字値の合計Foをとる段階であって、前記合計の計算
    は奇数の位置番号を有するすべての連続位置について実
    施され、前記合計はモジュロN演算され、ここでNは奇
    数であり、またコード記号の個数でもある、前記の段階
    と、 前記文字記号に関連する予め割り当てられた文字値の合
    計Feをとる段階であって、前記合計の計算は偶数の位置
    番号を有するすべての連続位置について実施され、前記
    合計はモジュロN演算された、前記の段階と、 検査合計FをFo+2FeのモジュロNとして形成する段階
    と、 削除位置の文字値CV(j)を、jが奇数の場合には−F
    モジュロNとして、jが偶数の場合には[(N−1)/
    2]・FモジュロNとして算出する段階と、 前記の予め割り当てられた文字値の関連により、訂正さ
    れた削除位置情報記号を文字値CV(j)と関連させる段
    階と、 を含む前記の方法。
  5. 【請求項5】Nが35である特許請求の範囲第(4)項に
    記載の方法。
  6. 【請求項6】削除数を決定する段階と、 削除数が2以上の場合に訂正不可能な誤りを指示する段
    階と、 削除数が確かに1であるか否かを判定し、その場合に特
    許請求の範囲第(4)項の訂正手順を適用する段階と、 削除がないかどうかを判定し、前記形成段階を適用して
    検査合計Fを計算する段階と、 Fが0(モジュロN)に等しくない場合に訂正不可能な
    誤りと指示し、その他の場合には受け取った列を正しい
    ものとして受け入れる段階と、 を含む、受け取った情報記号と削除の列を復号する方
    法。
JP2160068A 1989-06-23 1990-06-20 コ−ド化文字記号列を訂正する方法 Expired - Fee Related JP2567973B2 (ja)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
JPH0331980A JPH0331980A (ja) 1991-02-12
JP2567973B2 true 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)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5337361C1 (en) * 1990-01-05 2001-05-15 Symbol Technologies Inc Record with encoded data
US5489158A (en) * 1990-01-05 1996-02-06 Symbol Technologies, Inc. Printer system for removable machine readable code
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
JPH0757038A (ja) * 1993-08-20 1995-03-03 Nec Corp バーコード読み取りシステム
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
US5691996A (en) * 1995-12-11 1997-11-25 International Business Machines Corporation Memory implemented error detection and correction code with address parity bits
US5761221A (en) * 1995-12-11 1998-06-02 International Business Machines Corporation Memory implemented error detection and correction code using memory modules
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
US7659839B2 (en) * 2007-08-15 2010-02-09 Ternarylogic Llc Methods and systems for modifying the statistical distribution of symbols in a coded message
US8577026B2 (en) 2010-12-29 2013-11-05 Ternarylogic Llc Methods and apparatus in alternate finite field based coders and decoders
US10397287B2 (en) * 2017-03-01 2019-08-27 Microsoft Technology Licensing, Llc Audio data transmission using frequency hopping

Family Cites Families (7)

* 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
JPS60142494A (ja) * 1983-12-28 1985-07-27 大日本印刷株式会社 金券類の真偽判別装置
JPS6124473A (ja) * 1984-07-12 1986-02-03 Tokyo Electric Co Ltd バ−コ−ド情報入力確認方法
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.

Also Published As

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

Similar Documents

Publication Publication Date Title
JP2567973B2 (ja) コ−ド化文字記号列を訂正する方法
US7694889B2 (en) Printed material having location identification function, two-dimensional coordinate identification apparatus, image-forming apparatus and the method thereof
KR950012276A (ko) 인쇄된 문서의 광학 문자 인식(ocr)을 향상시키기 위한 방법 및 수단
EP0304146A2 (en) Method of decoding a binary scan signal
US20050188292A1 (en) Method and apparatus for encoding special uncorrectable errors in an error correction code
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
US5161163A (en) Method and apparatus for providing error correction to symbol level codes
US9361504B2 (en) Optical information reading device, optical information reading method, computer-readable program and recording medium
US7721177B2 (en) Device and method for determining a position of a bit error in a bit sequence
KR20060061335A (ko) 인접 기호 오류 수정을 위한 방법, 시스템, 장치와 검출코드
CN101288232A (zh) 对数据进行编码和解码的方法以及设备
JPS632370B2 (ja)
CN1113474C (zh) Crc/edc校验器系统和方法
US7093183B2 (en) Symbol level error correction codes which protect against memory chip and bus line failures
CN110908827A (zh) 用于NAND Flash闪存纠错的并行BCH解码方法
CA2192515C (en) Identification number issuing device and identification number verification device
US6772390B2 (en) Erasure correction for ECC entities
EP0608848B1 (en) Cyclic coding and cyclic redundancy code check processor
JP2001296145A (ja) アブソリュートエンコーダ
KR100281946B1 (ko) 신드롬 계산 장치
CN116048868A (zh) 代码生成方法、装置、设备和存储介质
Jeannot QR Code Model 2 Structure and Algorithms
KR102451475B1 (ko) 집적 회로
JPS5955548A (ja) 認識符号化・復号化処理方式

Legal Events

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