(57)【特許請求の範囲】
【請求項１】
誤り訂正データを含む情報コード、および読み書き可能なメモリを有したＩＤタグを備えた情報コードラベルと、
前記ＩＤタグのメモリに対し読み書き可能なリーダライタ手段と、
前記情報コードを読み取る情報コード読取手段とを備え、
前記ＩＤタグのメモリは、識別情報などを書き込む識別情報書込領域の他に、解読情報書込領域を有し、
前記情報コード読取手段が前記情報コードを画像として取り込んで当該情報コードに基づいて情報を読み取る際にその画像に不具合があるとき、前記ＩＤタグのメモリに書き込まれている不具合部分の解読データについては、当該メモリの解読データを前記リーダライタ手段を介して読み取ることによって取得し、
前記ＩＤタグのメモリに書き込まれていない不具合部分の解読データについては、前記情報コード読取手段が前記誤り訂正データを用いて前記不具合によって生ずる誤りを訂正することにより取得すると共に、その取得した解読データを、前記リーダライタ手段を介して前記ＩＤタグのメモリの前記解読情報書込領域に書き込むことを特徴とする情報コードの解読方法。
【請求項２】
誤り訂正データを含む情報コード、および読み書き可能なメモリを有したＩＤタグを備えた情報コードラベルと、
前記ＩＤタグのメモリに対し読み書き可能なリーダライタ手段と、
前記情報コードを読み取る情報コード読取手段とを備え、
前記ＩＤタグのメモリは、識別情報などを書き込む識別情報書込領域の他に、解読情報書込領域を有し、
前記情報コード読取手段は、前記情報コードを画像として取り込んで当該情報コードに基づいて情報を読み取る際にその画像に不具合があるとき、前記ＩＤタグのメモリに書き込まれている不具合部分の解読データについては、当該メモリの解読データを前記リーダライタ手段を介して読み取ることによって取得し、前記ＩＤタグのメモリに書き込まれていない不具合部分の解読データについては、前記誤り訂正データを用いて前記不具合によって生ずる誤りを訂正することにより取得すると共に、その取得した解読データを、前記リーダライタ手段を介して前記ＩＤタグのメモリの前記解読情報書込領域に書き込むことを特徴とする情報コードの解読システム。
【請求項３】
前記情報コード読取手段は、前記リーダライタ手段を含んで構成されていることを特徴とする請求項２記載の情報コードの解読システム。
【請求項４】
誤り訂正データを含む情報コード、および読み書き可能なメモリを備えたＩＤタグを備えた情報コードラベルと、
前記ＩＤタグのメモリに対し読み書き可能なリーダライタ手段と、
前記情報コードを読み取る情報コード読取手段とを備え、
前記情報コード読取手段が前記情報コードを画像として取り込んで当該情報コードに基づいて情報を読み取る際にその画像に不具合があり、且つ当該不具合の発生率が所定値以内である場合に、前記誤り訂正データを用いて前記不具合によって生ずる誤りを訂正することにより当該不具合部の解読データを取得して、その取得した解読データを、前記リーダライタ手段を介して前記ＩＤタグのメモリに書き込み、前記不具合の発生率が所定値を越える場合には、前記不具合部分の解読データが前記ＩＤタグのメモリに書き込まれているかどうかを検索し、書き込まれている場合には、前記不具合部分の解読データを前記リーダライタ手段を介して逐次取得し、その結果、不具合の発生率が所定値以内になった場合には、前記誤り訂正データを用いた前記解読データの取得を実行することを特徴とする情報コードの解読方法。
【発明の詳細な説明】
【０００１】
本発明は情報コードの破壊部分の情報をＩＤタグに記憶させて破壊の進行による読み取り不能を防止するようにした情報コードの解読方法および解読システムに関する。
【０００２】
【発明が解決しようとする課題】
物流や販売或いは在庫管理などを行うために、物品にバーコードなどの一次元コードやＱＲコードなどの二次元コードを印刷したラベルを貼り付けることが行われている。そのうち、特に二次元コードは誤り訂正データを含んで構成されており、汚れや破損などによって一部のデータが破壊されても、その誤り訂正データを用いて破壊部分を解読することができるようにしている。
【０００３】
しかしながら、コードの破壊が小さいうちは良いが、破壊が次第に進行して或る範囲を越えると、最早、誤り訂正データによる解読が難しく、二次元コードの読み取り（解読）が不能になる。このようになると、その二次元コードによる物品の管理ができなくなり、ラベルを付け替えなければならなくなるといった不具合を生ずる。
【０００４】
本発明は上記の事情に鑑みてなされたもので、その目的は、コードの破壊が進行して破壊範囲が広くなっても、コードの解読が可能な情報コードの解読方法および解読システムを提供するにある。
本発明において、情報コードラベルとは、情報コードおよびＩＤタグを付設した小片（いわゆるラベル）を含むことは勿論であるが、物品或いはその包装装置に情報コードを印刷し、ＩＤタグを付したものも含む。
【０００５】
【課題を解決するための手段】
本発明は、情報コードラベルにＩＤタグを付属させて、情報コード読取手段が情報コードを画像として取り込んで当該情報コードの画像に基づいて情報を読み取る際にその画像に不具合があるとき、情報コード読取手段が誤り訂正データを用いて画像の不具合によって生ずる誤りを訂正して解読データを取得すると共に、その解読データをリーダライタ手段を介してＩＤタグのメモリの解読情報書込領域に書き込む。このため、情報コードの破壊が徐々に進行し、情報コード読取手段による読み取りが不能な状態になっても、ＩＤタグのメモリに書き込まれた解読データを援用することにより、情報コードの読み取りが可能となる。
上記の情報コード読取手段はリーダライタ手段を含んで構成することができ、このようにすれば、両手段をコンパクトに構成できる。
【０００６】
また、本発明は、情報コードを取り込んだ画像に不具合があるとき、その不具合の発生率が所定値以内であるとき、誤り訂正データを用いて解読データを取得し、不具合の発生率が所定値を越える場合には、不具合部分の解読データがＩＤタグのメモリに書き込まれているかどうかを検索し、書き込まれている場合には、不具合部分の解読データをリーダライタ手段を介して逐次取得し、その結果、不具合の発生率が所定値以内になった場合には、誤り訂正データを用いた解読データの取得が実行されるようにしても良い。
【０００７】
このようにすれば、不具合の部分の全てをＩＤタグから取得しなくても、不具合部分の全ての解読データをＩＤタグから取得しなくとも、その一部を解読データに置換すると、後は誤り訂正データを用いて解読データを取得するので、時間のかかるＩＤタグとの通信回数を極力少なくでき、情報コードの解読の所要時間を減少させることができる。
【０００８】
【発明の実施の形態】
以下、本発明の一実施例を二次元コードの一種であるＱＲコードを読取対象として図１ないし図７を参照しながら説明する。
図２は物品に貼付されるラベル１を示すもので、このラベル１には、情報コードとして二次元コードの一種であるＱＲコード２が付されていると共に、ＩＤタグ３が固着されている。このＱＲコード２を読み取るコード読取手段としての手持ち式の二次元コード読取装置４は図３に示されている。この二次元コード読取装置４は、リーダライタ手段を含んで構成されＱＲコード２の画像を取り込んで解読する機能と、ＩＤタグ３と電波により通信してそのメモリに対して情報の読み書きを行う機能とを有している。
【０００９】
ＱＲコード２およびＩＤタグ３には、識別情報の他、このラベル１を付す物品について、在庫管理、販売管理などの種々の管理を行いための情報が書き込まれている。ＱＲコード２は、一次元コードに比べて多くの情報を書き込み可能であるが、種々の管理を実施するには、書き込み量が不足するので、ＩＤタグ３にも各種の情報が書き込まれる。
【００１０】
上記二次元コード読取装置４は、手持ち可能なケース５を主体とするもので、そのケース５には、握り部を構成する操作部６、液晶表示器７などが設けられている。操作部６には、多数のキースイッチ８が設けられ、これらキースイッチ８によって動作内容などを指示するようになっている。
【００１１】
二次元コード読取装置４のケース５内には、プリント配線基板９が設けられており、このプリント配線基板９の一方の面に前記液晶表示器７およびキースイッチ８群が配設され、他方の面に光学的読取手段としてＣＣＤエリアセンサ１０および結像レンズ１１が配設されている。
【００１２】
ケース５の前端開口は読取口５ａとされ、ここに別のプリント配線基板１２が設けられている。このプリント配線基板１２の前面側には、中央に形成された孔１２ａの周囲に位置して照明用光源としてのＬＥＤ（発光ダイオード）１３が搭載されていると共に、このＬＥＤ１３に対向する照明用レンズ１４が配設されている。また、ケース５内において、読取口５ａと結像レンズ１１との間には、反射ミラー１５が配設されている。
【００１３】
ＱＲコード２の読み取りは、読取口５ａをラベル１にほぼ接触させた状態で行う。そして、ＬＥＤ１３の発する光は照明用レンズ１４により拡散されてラベル１を照明し、その反射光は読取口５ａから入射され、途中で反射ミラー１５により曲げられて結像レンズ１１によってＣＣＤエリアセンサ１０に結像されるようになっている。
【００１４】
一方、読取口５ａのプリント配線基板１２の表裏両側にはボビン１６および１７が設けられており、表側のボビン１６に送信アンテナコイル１８が巻装され、裏側のボビン１７に受信アンテナコイル１９が巻装されている。なお、送信アンテナコイル１８および受信アンテナコイル１９は、１個のアンテナコイルで共用する構成であっても良い。
【００１５】
図４は二次元コード読取装置４の電気的構成を示しており、上述した液晶表示器７、キースイッチ８群、ＣＣＤエリアセンサ１０、ＬＥＤ１３、送信アンテナコイル１８、受信アンテナコイル１９の他に、制御回路２０、増幅回路２１、Ａ／Ｄ変換回路２２、同期パルス発生回路２３、アドレス発生回路２４、画像メモリ２５、通信Ｉ／Ｆ回路２６、復調部２７、変調部２８などを備えている。
【００１６】
制御回路２０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、Ｉ／Ｏなどを備えたマイクロコンピュータタシステムとして構成され、ＲＯＭに記憶されているプログラムに従って動作する。また、制御回路２０には、液晶表示器７、キースイッチ８群、通信Ｉ／Ｆ回路２６などが接続されており、入出力制御も行う。
【００１７】
ＣＣＤエリアセンサ１０は受光素子であるＣＣＤを二次元的に配列して有し、ＬＥＤ１３の反射光を結像してその二次元画像を水平方向の走査線信号として増幅回路２１に与えられる。増幅回路２１は、制御回路２０からのゲインコントロール電圧に対応する増幅率でＣＣＤエリアセンサ１０から出力された走査線信号を増幅し、Ａ／Ｄ変換回路２２に出力する。そして、Ａ／Ｄ変換回路２２は、アナログの走査線信号をデジタル信号に変換する。このＡ／Ｄ変換回路２２でデジタル信号に変換されたデータは多値データであり、この多値データは画像メモリ２５に記憶される。そして、制御回路２０が画像メモリ２５に記憶された多値データに基づいて二次元コードを解読し、一時記憶手段としてのＲＡＭに記憶させる。なお、この多値データは、各画素が８ビット（０〜２５５）の階調値を有するものとなっている。
【００１８】
同期パルス発生回路２３は、ＣＣＤエリアセンサ１０から出力される二次元画像データのパルスより十分細かい同期パルスを出力する。アドレス発生回路２４は、この同期パルス発生回路２３から与えられる同期パルスをカウントして画像メモリ２５に対するアドレスを発生させる。そして、デジタル信号に変換された多値の画像データはアドレス毎に８ビット単位で画像メモリ２５に書き込まれる。なお、液晶表示器７は例えば２階調の液晶として構成されており、画像メモリ２５に書き込まれた画像データを表示するためなどに用いられる。
【００１９】
通信Ｉ／Ｆ回路２６は、ホストコンピュータなどの外部装置との間で通信を行うものであり、例えば図示しない通信用発光素子を介して外部装置に送信したり、図示しない通信用受光素子を介して外部装置からの信号を受信する。
送信アンテナコイル１８、受信アンテナコイル１９、変調部２７、復調部２８は、ＩＤタグ３と通信を行うためのもので、変調部２７はＩＤタグ３との通信時に、まず基準信号を変調して電力用電波信号として送信アンテナコイル１８から送信し、その後、送信すべきデータを電力用電波信号に重畳して送信アンテナコイル１８から送信する。また、復調部２７は、受信アンテナコイル１９により受信した電波信号を復調し、データとして取り出す。
【００２０】
一方、ＩＤタグ３は、図５に示すように、電波信号を送受信するための通信手段としてのアンテナコイル２９と、共振コンデンサ３０と、制御用ＩＣ３１と、平滑部３２とを備えている。制御用ＩＣ３１は、制御手段としてのＣＰＵ３３の他、整流部３４、変復調部３５、識別情報および管理情報などの記憶手段としてのメモリ部３６などを構成する半導体素子をワンチップ化したものである。この場合、メモリ部３６は、動作プログラマブルなどを記憶したＲＯＭ３７と、一時記憶用として消去可能な不揮発性メモリ、例えばＥＥＰＲＯＭ３８とを有している。そして、ＩＤタグ３のＥＥＰＲＯＭ３８には、ＩＤタグ３が取り付けられる物品の情報が記憶されている。なお、共振コンデンサ３０は、制御用ＩＣ３１に設けても良いし、場合によってはなくとも良い。
【００２１】
上記アンテナコイル２９は、共振コンデンサ３０と並列に接続されて共振回路を構成し、二次元コード読取装置４の送信アンテナ１８から所定の高周波数の電力用電波信号が送信されてくると、これを受信して整流部３４に供給する。整流部３４は、平滑部３２と共に動作用電源回路を構成するもので、共振回路から送信されてきた電力用電波信号を整流し、平滑部３２により平滑化し且つ一定電圧の直流電力（動作用電力）にしてＣＰＵ３３などに供給する。
【００２２】
電力用電波信号に重畳して送信されるデータ信号は、変復調部３５により復調されてＣＰＵ３３に与えられる。ＣＰＵ３３は、メモリ部３６のＲＯＭ３７に記憶された動作プログラムに従って動作するもので、変復調部３５から入力される信号に応じた処理を実行し、受信したデータをメモリ部３６のＥＥＰＲＯＭ３８などに書き込んだり、ＥＥＰＲＯＭ３８からデータを読み出して変復調部３５により変調し、アンテナコイル２９から電波信号として送信したりする。
【００２３】
ＥＥＰＲＯＭ３８の記憶領域は、識別情報書込領域と解読情報書込領域とに分けられており、識別情報書込領域には、ラベル１を貼付する物品について、その識別情報たる識別番号、ＱＲコード２に書き込みできない情報などが書き込まれる。また、解読情報書込領域には、ＱＲコード２の汚れや、破損などにより、不具合（誤り）と判断されたコードワードについて、その誤り訂正データを用いて解読されたデータが書き込まれるようになっている。
【００２４】
ここで、ＱＲコード２の構成、不具合の推定および不具合があった場合の誤り訂正の方式について説明する。
まず、ＱＲコード２は図２に示すように二次元的な広がりを持ち、図７に示すように二次元コード読取装置１が取り込んだ画像中でＱＲコード２の存在位置を特定するために、特定寸法比率の正方形を組み合わせた位置決め用シンボル２１０ａ〜２１０ｃや、それら３個の位置決めシンボル２１０ａ〜２１０ｃの相互間に設けられ、白と黒とが交互に組み合わせられた各データセル位置の指標となる基準パターンであるタイミングセル２２０ａ、２２０ｂを備えている。
【００２５】
ＱＲコード２の内部は、ｎ×ｎの正方形の升目（これが「セル」に相当する。）に区切られており、ＱＲコード２００の有する位置決め用シンボル２１０ａ〜２１０ｃは、例えば一辺の長さが７セルに相当する黒い正方形２１２、一辺の長さが５セルに相当する白い正方形２１４、一辺の長さが３セルに相当する黒い正方形２１６を同心状に重ね合わせた時にできる図形である。
【００２６】
そのため、この位置決め用シンボル２１０ａ〜２１０ｃの中心付近を直線的に横切ると、黒、白、黒、白のパターンが１：１：３：１：１の比率で検出される。従って、この性質を利用して上述した比率で黒と白が交互に検出された場合、そのパターンを位置決め用シンボル２１０ａ〜２１０ｃの有力な候補と判断し、ＱＲコード２００の存在位置を確定するために優先的に検査する。そして、ＱＲコード２００の形状は、３個の位置決め用シンボル２１０ａ〜２１０ｃで一義的に決まる平行四辺形の範囲であると推定できる。
【００２７】
なお、データは、位置決め用シンボル２１０ａ〜２１０ｃや、タイミングセル２２０ａ、２２０ｂなどを除外した情報記録領域２３０のセル（データセル）で表され、各データセルを白（明）或いは黒（暗）に色分けするころにより、各データセルを１ビットのデータに対応させている。図７では、分かり易くするために、データセルの白黒のパターンは省略してある。
【００２８】
各データセルの位置は、３個の位置決めシンボル２１０ａ〜２１０ｃを、それぞれ縦方向と横方向の座標の指標として簡単な計算により求めることができる。このように位置が決定した各データセルの中心付近が黒であるか白であるかを判定して、黒を例えば「１」、白を「０」に対応させることにより、２値データとして認識でき、解読することができる。
【００２９】
二次元コード読取装置１では、取り込んだＱＲコード２の画像に不具合がある場合には、ＱＲコード２に含まれる誤り訂正データを用いて誤り訂正を行うことが行われる。ここで、画像の不具合とは、ＱＲコード２自体の汚れや破損などによってＱＲコード２の画像の一部が正しく読み取れなくなっている状態をいう。
【００３０】
一般に、二次元コードには高度な訂正能力を有する誤り訂正符号が用いられている。ＱＲコード２では、図６に示すように、情報記録領域２３０がデータブロックと誤り訂正ブロックとに分割され、リード・ソロモン（以下、単に「ＲＳ」と言う。）符号化されている。ここで、誤り訂正ブロックはＲＳ符号化のための冗長データである。なお、データブロックおよび誤り訂正ブロックは、コードワードと呼ばれる８ビットの情報が１単位になって構成されている。図６にＤ１〜Ｄ４６およびＥ１〜Ｅ８８で示すそれぞれがコードワードに対応する。以下、誤り訂正ブロックを「ＲＳブロック」と称し、このＲＳブロックを構成するコードワードをＲＳコードワード（誤り訂正データ）、データブロックを構成するコードワードをデータコードワードと称することとする。
【００３１】
ここで、図６に例示するＱＲコードでは、Ｄ１〜Ｄ２３のデータコードワードとＥ１〜Ｅ４４のＲＳデータコードとからなるブロック１、およびＤ２４〜Ｄ４６のデータコードワードとＥ４５〜Ｅ８８のＲＳデータコードとからなるブロック２という２つのブロックを有しており、このブロック１、２の単位でＲＳ符号化がなされており、ブロック１、２の単位で誤り訂正が行われる。
【００３２】
次に、一般的な誤り訂正について説明する。誤り訂正には、検出訂正と消失訂正の２種類の方式が存在する。
検出訂正は、大きく以下の３つのステップから構成される。
▲１▼符号からシンドローム多項式を求める。
▲２▼シンドローム多項式から誤り位置多項式および誤り数値多項式を求める。
▲３▼誤り位置多項式からチェンサーチ法により誤り位置を求め、その位置に対する誤りの大きさ（誤りパターン）を求めて誤り訂正を行う。
【００３３】
ＱＲコード２の例で言えば、符号化ブロックからシンドローム多項式を求め、シンドローム多項式から誤り位置多項式および誤り数値多項式を求める。そして、誤り位置多項式から誤り位置としてのコードワードを特定し、そのコードワードの誤りの大きさを求めて誤り訂正を行うというものである。
【００３４】
一方、消失訂正方式は、誤りである符号の位置（消失位置）、すなわち誤りのあるコードワードが予め分かっていることを前提として、誤りの大きさのみを求めて誤り訂正を行うものである。
この消失訂正は、大きくは次の３つのステップから構成される。
▲１▼符号からシンドローム多項式を求める。
▲２▼消失位置から得られる消失多項式を用い、シンドローム多項式を修正し、消失数値多項式を求める。
▲３▼消失位置に対して誤りの大きさを求めて誤り訂正を行う。
【００３５】
このように消失訂正では、誤り位置が分かっていることを前提として誤りの大きさのみを求めるため、検出訂正とは異なり、シンドローム多項式から求める多項式は消失数値多項式の１つだけとなる。従って、訂正能力は検出訂正の２倍になる。
【００３６】
このように、誤り訂正については、上述したＲＳ符号による方式が多く用いられているが、パリティ（誤り検出符号）を付加してこのパリティにより誤り位置の検出を行い、消失訂正を行って訂正効率を上げるようにしても良い。また、ＱＲコード２では、白、黒のセルがランダムに分布する。この前提に立てば、白または黒の一方のセルだけで構成されるコードワードブロックは不具合として推定して検出訂正の処理をすることができる。
【００３７】
次に、ＱＲコード２の読取時の作用を図１に示すフローチャートをも参照しながら説明する。
二次元コード読取装置４の読取口５ａをラベル１のＱＲコード２の記載部分にほぼ接触させた状態で、キースイッチ８群の中から所定のキースイッチを操作すると、ＬＥＤ１３が点灯してＱＲコード２の記載部分を照明し、その反射光が結像レンズ１１によりＣＣＤエリアセンサ１０に結像される。このＣＣＤエリアセンサ１０に結像された画像は多値のデジタルデータとして画像メモリ２５に取り込まれる（ステップＳ１）。そして、制御回路２０は、画像メモリ２５に記憶された画像データに基づいて解読したＱＲコード２のデータコードワードを１ワードずつ当該制御回路２０のＲＡＭに記憶させるために、その記憶用に予め定められた領域の先頭アドレスカウンタ（アドレスＣＮＴ）を設定する（ステップＳ２）。
【００３８】
制御回路２０は画像メモリ２５に記憶されたデジタルデータに基づいて、ＱＲコード２のデータコードワードを所定の順序、この実施例ではＤ１から昇順で１ワードずつ解読し（ステップＳ３）、次いで、解読したデータコードワードに不具合があったか否かを判断する（ステップＳ４）。不具合がなければ、制御回路２０はステップＳ４で「ＮＯ」と判断し、解読したデータコードワードを指定されたアドレスＣＮＴに記憶させる（ステップＳ５）。次いで、制御回路２０は、解読したデータコードワードが最後のものであるか否かを判断する（ステップＳ６）。最後でなかった場合、制御回路２０はステップＳ６で「ＮＯ」と判断し、次に記憶させるべきデータコードワードのアドレスＣＮＴをインクリメントし（ステップＳ７）、その後、前述のステップＳ３に戻って次のデータコードワードを解読する。
以上のようにしてデータコードワードを１つずつ解読してＲＡＭに記憶させて行く動作を、最後のデータコードワードまで行うと、制御回路２０はステップＳ６で「ＹＥＳ」と判断してＱＲコード２の解読を終了する。
【００３９】
ところで、ＱＲコード２に汚れが付くと、その汚れは最初は小さなものであっても、次第に広がって広い範囲に及んで行くようになる。ＱＲコード２に破れや剥れが生じた場合も同様で、最初は小さな破れや剥れであっても、その破れや剥れは次第に進行して行く。汚れ、破れ、剥れなどの破損はデータコードワードに不具合を消磁させるが、その破損が小さいうちであれば、データコードワードに不具合があっても、ＲＳコードワードによって解読可能である。
【００４０】
さて、小さな汚れ、破れ、剥がれなどの破損によって、或るデータコードワードに不具合が生じたとすると、制御回路２０はステップＳ４で「ＹＥＳ」と判断し、次のステップＳ８に移行する。このステップＳ８で、制御回路２０は、送信アンテナコイル１８から電力用電波信号を送信してＩＤタグ３と通信し、当該ＩＤタグ３のＥＥＰＲＯＭ３８の解読情報書込領域のデータを読み出す。
【００４１】
その後、制御回路２０は読み出したデータを、先頭アドレスのものから検索し、記憶されている不具合データコードワードの格納先アドレス（制御回路２０のＲＡＭに格納されるときのそのＲＡＭのアドレス）が現在データコードワードを格納しようとしているアドレスＣＮＴと一致しているか否かを判断する（ステップＳ９）。アドレスがアドレスＣＮＴと一致していない場合には、制御回路２０はステップＳ９で「ＮＯ」と判断し、解読情報書込領域における次のアドレスのデータを検索する（ステップＳ１０）。そして、その検索したデータは最後のものか否かを判断し（ステップＳ１１）、最後のものでなかった場合（ステップＳ１１で「ＮＯ」）、ステップＳ９に戻って記憶されている不具合データコードワードの格納先アドレスがアドレスＣＮＴと一致しているか否かを判断する。
【００４２】
アドレスが不一致（ステップＳ９で「ＮＯ」）で、検索したデータが最後のものであった（ステップＳ１１で「ＹＥＳ」）場合、制御回路２０はステップＳ１２に移行し、ＲＳコードワードによる誤り訂正を行う動作を実行し、次に訂正が可能かどうかを判断する（ステップＳ１３）。なお、破損が相当程度進行していて訂正データを取得することが困難な場合には、制御回路２０はステップＳ１３で「ＮＯ」と判断し、ＱＲコード２の解読を終了する。
【００４３】
訂正可能の場合、制御回路２０はステップＳ１３で「ＹＥＳ」と判断し、次のステップＳ１４でＩＤタグ３と通信してＥＥＰＲＯＭ３８の解読情報書込領域の空き部分の先頭アドレスを読み出す。そして、制御回路２０は次のステップＳ１５で、ＩＤタグ３のＥＥＰＲＯＭ３８の解読情報書込領域の空き部分の先頭アドレスに解読データとアドレスＣＮＴを書き込むと共に、当該制御回路２０のＲＡＭのアドレスＣＮＴに解読データを格納し、前述のステップＳ６に戻って上述のような動作を実行する。
【００４４】
ところで、ＱＲコード２が破損していて、以前のＱＲコード２の解読の際にも不具合があるとして、誤り訂正により解読したデータが既にＩＤタグ３に書き込まれている場合がある。この場合には、制御回路２０は前記ステップＳ９の実行時に「ＹＥＳ」となり、ステップＳ１６に進行する。そして、このステップＳ１６でＩＤタグ３から読み出した解読データを当該制御回路２０のＲＡＭのアドレスＣＮＴに書き込み、その後、前記ステップＳ６に戻って上述のような動作を続行する。
【００４５】
このように本実施例によれば、ＱＲコード２の破損程度が小さいうちは、不具合のあるデータコードワードはＲＳコードワードによって訂正が可能であるため、その訂正が可能なうちに、データコードワードの解読データをＩＤタグ３に記憶させておく。この解読ワードの記憶は、破損が進行して行くに伴って、順次不具合となって行くデータコードワードについて順に実行されるので、ＱＲコード２の破損程度が大きくなっても、ＱＲコード２の解読が不能となるおそれがない。
【００４６】
図８は本発明の他の実施例を示す。この実施例は、取り込んだ情報コードに不具合があったとき、その発生率が所定値、ＱＲコードの例ではコード面積の３０％以内であった場合には、ＲＳコードワードにて誤り訂正が可能であるので、発生率が誤り訂正可能な所定値以内であるときには、ＩＤタグから解読データを取得するのではなく、ＲＳコードワードによる誤り訂正によって解読データを取得するようにしたものである。
【００４７】
この制御の内容を図８により具体的に説明するに、まず、情報コードとしてのＱＲコード２を解読するために、その画像を画像メモリ２５に取り込む（ステップＢ１）。すると、制御回路２０は、ＱＲコードの画像データに基づいて解読処理を実行し（ステップＢ２）、全てのデータコードワードの解読に成功したか否かを判断する（ステップＢ３）。そして、全てのデータコードワードの解読に成功していれば、ステップＢ３で「ＹＥＳ」となり、ＱＲコードの解読を終了（エンド）する。
【００４８】
さて、解読不能なデータコードワードがあった場合、制御回路２０は、ステップＢ３で「ＮＯ」と判断し、ステップＢ４に移行する。このステップＢ４で制御回路２０は、解読不能なデータコードワードが訂正可能な範囲、例えば全体の３０％以内であるか否かを判断する。解読不能なデータコードワードが全体の３０％以内であった場合、制御回路２０はステップＢ４で「ＹＥＳ」と判断してステップＢ５に移行し、ＲＳコードワードによる誤り訂正を行う動作を実行する。次いで、制御回路２０は、誤り訂正による解読が成功したか否かを判断する（ステップＢ６）。
【００４９】
誤り訂正による解読に成功した場合（ステップＢ６で「ＹＥＳ」）、制御回路２０は、ＩＤタグ３と通信し、誤りで訂正により解読したデータをＩＤタグ３のＥＥＰＲＯＭ３８に書き込み（ステップＢ７）、エンドとなる。このＥＥＰＲＯＭ３８への解読データの書き込みは、上述の一実施例にて説明したと同様に、その解読データが制御回路２０のＲＡＭに書き込まれるアドレスＣＮＴと共に書き込まれるものである。
【００５０】
誤り訂正による解読が不成功であった場合（ステップＢ６で「ＮＯ」）、制御回路２０は、ＩＤタグ３と通信し、解読し得なかったデータコードワードの解読データがＥＥＰＲＯＭ３８の解読情報書込領域に記憶されているか否かを検索する（ステップＢ８）。この場合の検索も、上述の一実施例と同様に、データコードワードが制御回路２０のＲＡＭに書き込まれるべきアドレスＣＮＴと同一のアドレスＣＮＴを有する解読データがあるか否かによって行う。そして、解読し得なかったデータコードワードの解読データがＥＥＰＲＯＭ３８に記憶されている場合（ステップＢ８で「ＹＥＳ」）、制御回路２０は、ＥＥＰＲＯＭ３８からその解読データを読み出して当該制御回路２０のＲＡＭのアドレスＣＮＴに書き込み（ステップＢ９）、エンドとなる。なお、解読し得なかったデータコードワードの解読データがＥＥＰＲＯＭ３８に記憶されていなかった場合（ステップＢ８で「ＮＯ」）、制御回路２０は、ステップＢ１２に移行し、ここで液晶表示器７に「解読不能」の文字表示を行うなどのエラー処理を実行し、エンドとなる。
【００５１】
一方、ＱＲコードの画像データに基づいて解読処理を実行した結果、解読不能なデータコードワードが全体の３０％を越えていた場合（ステップＢ４で「ＮＯ」）、制御回路２０は、次にＩＤタグ３と通信し、ＥＥＰＲＯＭ３８の解読情報書込領域に、解読し得なかったデータコードワードの中の一つが記憶されているか否かを判断（検索）する（ステップＢ１０）。ＥＥＰＲＯＭ３８に解読データが記憶されていた場合（ステップＢ１０で「ＹＥＳ」）、制御回路２０は、その解読データをＥＥＰＲＯＭ３８から読み出して当該制御回路２０のＲＡＭのアドレスＣＮＴに書き込む（ステップＢ１１）。この解読データの書き込みにより、解読不能となっているデータコードワードの全体に対する割合が減少する。
【００５２】
その後、制御回路２０は、再びステップＢ４に戻り、解読不能なデータコードワードが全体の３０％以内であるか否かを判断する。そして、制御回路２０は、解読不能なデータコードワードが全体の３０％以内となっていれば（ステップＢ４で「ＹＥＳ」）、ステップＢ５に移行し、前述したと同様の処理を実行してエンドとなる。
【００５３】
また、依然として解読不能なデータコードワードが全体の３０％を越えている場合には（ステップＢ４で「ＮＯ」）、制御回路２０は、３０％以内になるまでＩＤタグ３のＥＥＰＲＯＭ３８に記憶されている解読データを一つずつ読み出してＲＡＭに記憶する動作を繰り返す（ステップＢ１０、Ｂ１１、Ｂ４で「ＮＯ」の繰り返し）。これにより、解読不能なデータコードワードが全体の３０％以内となると（ステップＢ４で「ＹＥＳ」）、制御回路２０は、前述のステップＢ５以降の動作を実行してエンドとなる。なお、ステップＢ１０、Ｂ１１、Ｂ４で  「ＮＯ」を繰り返し実行している間に、解読不能となっているデータコードワードの解読データがＥＥＰＲＯＭ３８に存在していなくなった場合には、制御回路２０は、ステップＢ１０で「ＮＯ」となってステップＢ１２に移行し、エラー処理を実行してエンドとなる。
【００５４】
このように本実施例によれば、解読不能なデータコードワードの発生率が所定値（３０％）以内である場合には、ＩＤタグ３から解読データを読み出すことなく、ＲＳコードワードによる誤り訂正を実行して解読し、その解読データをＩＤタグ３のＥＥＰＲＯＭ３８に書き込むので、ＱＲコードの破損が少ないうちに解読データをＥＥＰＲＯＭ３８に記憶させて置くことができる。
【００５５】
そして、ＱＲコードの破損が進んだ場合でも、解読不能なデータコードワードの全てをＩＤタグ３のＥＥＰＲＯＭ３８から読み出してＲＡＭに記憶させるのではなく、ＥＥＰＲＯＭ３８からの解読データの読み出しによって未解読部分が少なくなり、全体に占める割合が所定値以内になると、以後はＲＳコードワードによる誤り訂正を実行して解読するので、シリアル通信によってデータの授受を行わざるを得ず、データ取得に時間のかかるＩＤタグ３とのデータ交換を極力減少させてＱＲコードの解読全体の所要時間を短縮することができる。
【００５６】
なお、本発明は上記し且つ図面に示す実施例に限定されるものではなく、以下のような拡張或いは変更が可能である。
情報コードはＱＲコード２に限られない。また、二次元コードに限らず、バーコードなどの一次元コードであっても良い。
不具合部分の検出方式或いは推定方式も上記実施例によるものに限られない。
誤り訂正データはＲＳ符号によるものに限られない。
不具合のあるデータコードワードの解読データがＩＤタグ３に書き込まれているか否かを判断する手段は、データコードワードの番号を解読データと共にＥＥＰＲＯＭ３８に書き込んでおいて、データコードワードに不具合があった場合にその番号がＩＤタグ３のＥＥＰＲＯＭ３８の解読情報書込領域に格納されているか否かによるものであっても良い。
【図面の簡単な説明】
【図１】本発明の一実施例におけるＱＲコードの読取動作の内容を示すフローチャート
【図２】ラベルの平面図
【図３】二次元コード読取装置の断面図
【図４】二次元コード読取装置の電気的構成を示すブロック図
【図５】ＩＤタグの電気的構成を示すブロック図
【図６】ＱＲコードのコード情報を構成するコードワードと符号化されたブロックとの関係を示す図
【図７】ＱＲコードの構成を示す図
【図８】本発明の他の実施例を示すフローチャート
【符号の説明】
図中、１はラベル、２はＱＲコード、３はＩＤタグ、４は二次元コード読取装置（情報コード読取手段、リーダライタ手段）、１０はＣＣＤエリアセンサ、２０は制御回路、３８はＥＥＰＲＯＭ（メモリ）である。
【図１】
0003896827.tif 000002
【図２】
0003896827.tif 000003
【図３】
0003896827.tif 000004
【図４】
0003896827.tif 000005
【図５】
0003896827.tif 000006
【図６】
0003896827.tif 000007
【図７】
0003896827.tif 000008
【図８】
0003896827.tif 000009