JP2002049889A - 二次元コード読み取り方法、情報記録媒体及び二次元コード読み取り装置 - Google Patents

二次元コード読み取り方法、情報記録媒体及び二次元コード読み取り装置

Info

Publication number
JP2002049889A
JP2002049889A JP2000237086A JP2000237086A JP2002049889A JP 2002049889 A JP2002049889 A JP 2002049889A JP 2000237086 A JP2000237086 A JP 2000237086A JP 2000237086 A JP2000237086 A JP 2000237086A JP 2002049889 A JP2002049889 A JP 2002049889A
Authority
JP
Japan
Prior art keywords
data
module
predetermined
dimensional code
symbol
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.)
Withdrawn
Application number
JP2000237086A
Other languages
English (en)
Inventor
Hitomi Shinno
仁美 新野
Haruyoshi Ohori
治善 大堀
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2000237086A priority Critical patent/JP2002049889A/ja
Priority to DE60118051T priority patent/DE60118051T2/de
Priority to AT01108629T priority patent/ATE321310T1/de
Priority to EP01108629A priority patent/EP1143372B1/en
Priority to ES01108629T priority patent/ES2256106T3/es
Priority to KR1020010018244A priority patent/KR100579356B1/ko
Priority to CN01119210A priority patent/CN1334544A/zh
Priority to US09/828,453 priority patent/US6604682B2/en
Publication of JP2002049889A publication Critical patent/JP2002049889A/ja
Priority to HK02105405.6A priority patent/HK1043852A1/zh
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 (修正有) 【課題】方向モジュールの中心点の位置とモジュール寸
法を検出する処理時間が短縮できる。 【解決手段】方向モジュールの探索範囲を設定する。次
に、内側方向モジュール群、外側方向モジュール群およ
び中央方向モジュール群を「黒」=1および「白」=0
の色パターンによって表した色テンプレートパターンを
作成する。次に、Rate数に基づいて、色テンプレー
トパターンに一致する内側方向モジュール群、外側方向
モジュール群および中央方向モジュール群の方向モジュ
ール候補データを探索する。設定した全てのRate数
に基づいた方向モジュール候補データを探索した後、方
向モジュール候補データから方向モジュールを決定し、
方向モジュール探索処理を終了する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、二次元コード読み
取り方法、情報記録媒体及び二次元コード読み取り装置
に関する。特に、二次元コードのシンボルを読み取った
読み取り画像から、色テンプレートパターンと一致する
画素データ群を検出し、検出した画素データ群に基づい
て全ての方向モジュールを探索する二次元コード読み取
り方法、情報記録媒体及び二次元コード読み取り装置に
関する。
【0002】
【従来の技術】バーコードは、小売業界において、対象
物の特定のチェックを早くかつ正確に行うための手段と
して発展した自動認識技術であり、現在では流通、物
流、行政、医療、研究、イベント等、幅広い分野におい
て利用されている。バーコードが普及するにつれて、そ
の用途は多岐にわたり、従来バーコードが適用できなか
った分野(小型化、大容量)にまで、その需要が求めら
れるようになってきた。その需要を満たすために近年開
発されたのが、二次元コードである。二次元コードに
は、スタック型とマトリックス型の2種類がある。スタ
ック型は、バーコードを縦に積み重ねて縦横に情報を表
示したものであり、レーザースキャナやCCDスキャナ
のようなスキャニング方法により読み取ることができ
る。一方、マトリックス型は、情報を白色または黒色の
セルによってモザイク状に表示したものであり、CCD
イメージリーダのようなイメージセンシング方法により
読み取ることができる。
【0003】MaxiCodeは、マトリックス型二次
元コードの一つである。特に、MaxiCodeは、荷
物の仕分けや追跡管理に適するように設計されており、
アメリカ国内では宅配便の集荷センターにおける行き先
仕分けや、船積みにおける仕分け管理に利用されてい
る。以下、MaxiCodeによって表された二次元コ
ードのシンボルをMaxiCodeシンボルという。
【0004】図27は、MaxiCodeシンボルを示
す図である。図27(a)は、MaxiCodeシンボ
ルの全体図を示す一例であり、図27(b)は、ファイ
ンダーパターンと方向モジュールを示す図である。
【0005】図27(a)に示すように、MaxiCo
deシンボル2700の中央には、6個の同心円によっ
て構成される1個の白色の円、2個の白色の輪、および
3個の黒色の輪からなるファインダーパターン2701
と呼ばれる部分が存在する。ファインダーパターン27
01は、MaxiCodeシンボル2700を検出する
ときの目印となる、切り出しシンボルである。
【0006】また、ファインダーパターン2701の周
りには、884個の、正六角形の白色または黒色のセル
であるモジュール2702によるモジュール群が存在す
る。モジュール群は、方向モジュール群とデータモジュ
ール群から構成される。方向モジュール群は、Maxi
Codeシンボル2700の方向を示す方向モジュール
から構成される。データモジュール群はデータを表すデ
ータモジュールから構成され、1個のデータモジュール
はデータの1ビットに対応する。
【0007】また、図27(b)に示すように、正六角
形のモジュール2702は、ファインダーパターン27
01の中央の白色の円に内接する大きさを有している。
方向モジュール群2703は、ファインダーパターン2
701の中心を中心点Oとして、その周りに60度の間
隔で、6方向に存在する。各方向モジュール群2703
は、3個の方向モジュールによって構成されており、方
向モジュール群2703は、合計18個の方向モジュー
ルから構成される。 18個の方向モジュールを探索す
ることによりMaxiCodeシンボルの方向を認識
し、各データモジュールに対応するデータを読み取る。
【0008】
【発明が解決しようとする課題】二次元コードのシンボ
ルであるMaxiCodeシンボルの読み取りにはイメ
ージセンシング方式が用いられている。即ち、Maxi
Codeシンボルをイメージ画像情報として読み取り、
解読(以下、「デコード」という)する。
【0009】まず、読み取った画像情報からMaxiC
odeシンボルのファインダーパターンと方向モジュー
ルを探索し、各データモジュールを認識する。次に、各
データモジュールが「黒」のとき1、「白」のとき0と
して、色パターンに変換する。最後に、得られた色パタ
ーンを、対応するデータキャラクタに変換することによ
って、デコードする。そのため、MaxiCodeシン
ボルの読み取り画像のデコード処理において、様々なデ
コード処理の方法が考えられてきた。
【0010】特に、方向モジュールを探索することは重
要であり、方向モジュールを探索するための様々な処理
方法が考えられてきた。方向モジュールを探索すると
は、方向モジュールの位置情報および図形情報を取得す
ることである。方向モジュールの位置情報および図形情
報を取得することは、MaxiCodeシンボルのモジ
ュールの寸法に基づいて、各データモジュールの位置を
検出するだけでなく、検出したデータモジュールの色す
なわちビットデータを識別することができる。
【0011】図28は、MaxiCodeシンボルのモ
ジュール群を示す図である。図28に示すように、モジ
ュール群2800は、方向モジュールから成る方向モジ
ュール群2801a、2801b、2801c、280
1d、2801eおよび2801fと、データモジュー
ルから成るデータモジュール群2802とによって構成
される。また、6個の方向モジュール群2801a、2
801b、2801c、2801d、2801eおよび
2801fをそれぞれ構成する3個の方向モジュールの
「黒」=1または「白」=0の色パターンは、方向によ
って異なる。ここで、方向モジュール群、例えば方向モ
ジュール群2801aを構成する3つの方向モジュール
において、中心点Oからの距離が一番短い位置に存在す
る方向モジュール2803を内側方向モジュールと呼
び、中心点Oからの距離が一番長い位置に存在する方向
モジュール2804を外側方向モジュールと呼び、中心
点Oからの距離が、中心点Oからの内側方向モジュール
2803の距離と中心点Oからの外側方向モジュール2
804の距離との間の距離に存在する方向モジュール2
805を中央方向モジュールと呼ぶ。
【0012】そこで、方向モジュールを探索するための
様々な処理方法が考えられてきたが、その方法は、複雑
な処理を伴なうことから、方向モジュールを探索する処
理に時間がかかってしまうという問題点があった。
【0013】また、探索した方向モジュールに基づい
て、データモジュールの位置を検出し、検出したモジュ
ールの色に対応するビットパターンからデータキャラク
タに変換する一連の処理についても、様々な処理方法が
考えられてきた。しかし、その方法も、複雑な処理を伴
なうことから、処理に時間がかかってしまうという問題
点があった。
【0014】本発明は、以上のような問題点を解決する
ためになされたもので、二次元コードのシンボルである
MaxiCodeシンボルの読み取り画像のデコード処
理において、二次元コードのシンボルを読み取った読み
取り画像の方向モジュール探索範囲の画素データにおい
て、色テンプレートパターンと一致する画素データを検
出し、検出した画素データに基づいて、全ての方向モジ
ュールを探索し、探索した方向モジュールに基づいて、
データモジュールを検出し、検出したデータモジュール
に基づいて、データキャラクタに変換することによっ
て、デコード処理の時間を短縮する二次元コード読み取
り方法、情報記録媒体及び二次元コード読み取り装置を
提供することを目的とする。
【0015】
【課題を解決するための手段】本発明者は、上述した従
来の問題点を解決すべく研究を重ねた。その結果、Ma
xiCodeシンボルの読み取り画像において、所定の
色テンプレートパターンに一致する、ファインダーパタ
ーンの中心点から所定の距離にあり、かつ所定の角度間
隔で配置される画素データの色パターンを全て検出する
ことによって、検出した画素データに基づいて、方向モ
ジュールの中心点の位置とモジュール寸法を検出する処
理時間を、従来と比較して短縮できることが判明した。
【0016】また、方向モジュールの中心点とファイン
ダーパターンの中心点とを結ぶ軸と、モジュール寸法と
に基づいて、軸上のデータモジュールの位置、および軸
間のデータモジュールの位置を検出することによって、
データモジュールの位置を検出する処理時間を、従来と
比較して短縮できることが判明した。
【0017】更に、検出したデータモジュールをビット
列のデータに変換し、変換したデータを二次元ビット配
列テーブルに格納し、所定のコードワード二次元配列テ
ーブルに基づいて、コードワードに変換することによっ
て、データをデータキャラクタに変換する処理時間を、
従来と比較して短縮できることが判明した。
【0018】上記研究結果に基づき、以下の発明を提供
する。
【0019】本発明の、二次元コード読み取り方法にお
ける第1の態様は、二次元コードのシンボルの読み取り
画像において、所定の点から所定の距離にあり、かつ所
定の角度間隔で配置される画素データ群の「黒」または
「白」から構成される色パターンが、所定の色テンプレ
ートパターンに一致する複数の画素データ群を探索し、
探索した複数の画素データ群に基づいて、二次元コード
のシンボルの読み取り画像における、方向モジュール群
を構成する複数の方向モジュールを検出し、複数の方向
モジュールの位置情報および図形情報を取得する方向モ
ジュール探索ステップを備えた二次元コード読み取り方
法である。
【0020】本発明の、二次元コード読み取り方法にお
ける第2の態様は、方向モジュール探索ステップにおい
て、所定の色テンプレートパターンが、第1の色テンプ
レートパターン、第2の色テンプレートパターンおよび
第3の色テンプレートパターンから構成されていること
を特徴とする二次元コード読み取り方法である。
【0021】本発明の、二次元コード読み取り方法にお
ける第3の態様は、方向モジュール探索ステップにおい
て、所定の距離は、第1の色テンプレートパターン、第
2の色テンプレートパターンおよび第3の色テンプレー
トパターンによって異なることを特徴とする二次元コー
ド読み取り方法である。
【0022】本発明の、二次元コード読み取り方法にお
ける第4の態様は、所定の距離が、モジュール幅に所定
の値を乗じた値であることを特徴とする二次元コード読
み取り方法である。
【0023】本発明の、二次元コード読み取り方法にお
ける第5の態様は、モジュール幅が、二次元コードのシ
ンボルの読み取り画像のファインダーパターンの図形情
報と、所定の範囲内に存在する所定の間隔の値であるR
ate数とに基づいて算出されることを特徴とする二次
元コード読み取り方法である。
【0024】本発明の、二次元コード読み取り方法にお
ける第6の態様は、方向モジュール探索ステップが、所
定の距離に基づいて探索した複数の画素データ群を、方
向モジュールの中心点の複数の同一距離候補データと
し、複数の同一距離候補データに基づいて、所定の距離
における方向モジュールの中心点の1個の候補データを
算出するステップと、Rate数に基づいて算出され
た、複数の所定の距離における方向モジュールの中心点
の候補データから、方向モジュールの中心点の位置を算
出するステップと、を備えた二次元コード読み取り方法
である。
【0025】本発明の、二次元コード読み取り方法にお
ける第7の態様は、方向モジュール探索ステップが、所
定の方向モジュールの中心点の位置が所定の位置となる
ように、二次元コードのシンボルの読み取り画像の位置
情報を変換するステップを備えた二次元コード読み取り
方法である。
【0026】本発明の、二次元コード読み取り方法にお
ける第8の態様は、二次元コードのシンボルの読み取り
画像において、所定の点から所定の距離にあり、かつ所
定の角度間隔で配置される、複数の方向モジュールの位
置情報および図形情報に基づいて、所定の点と方向モジ
ュールの中心点とを通る軸上に存在するデータモジュー
ル群の位置情報を検出し、検出した軸上のデータモジュ
ール群の位置情報に基づいて、隣り合う軸によって構成
される軸間のデータモジュール群の位置情報を検出する
データモジュール探索ステップを備えた二次元コード読
み取り方法である。
【0027】本発明の、二次元コード読み取り方法にお
ける第9の態様は、二次元コードのシンボルの読み取り
画像において、データモジュール群を構成するデータモ
ジュールの位置を、所定のコードワード変換テーブルに
基づいて、所定のコードワードと所定のコードワードに
おける所定のビットデータに対応付けることによって、
データモジュールのビットデータをコードワードに変換
し、変換したコードワードを所定のデータキャラクタに
変換するデータキャラクタ変換ステップを備えた二次元
コード読み取り方法である。
【0028】本発明の、二次元コード読み取り方法にお
ける第10の態様は、データキャラクタ変換ステップに
おいて、データモジュールの位置を、二次元配列である
BT(n,m)を要素とする二次元ビット配列テーブル
によって指定することを特長とする二次元コード読み取
り方法である。
【0029】本発明の、二次元コード読み取り方法にお
ける第11の態様は、データキャラクタ変換ステップに
おいて、所定のコードワード変換テーブルが、所定のコ
ードワードをi番目のコードワードとし、所定のコード
ワードにおける所定のビットデータをi番目のコードワ
ードのj番目のビットデータとするとき、下記の関係式
を満たす値であるCT(n,m)を要素とするコードワ
ード二次元配列テーブルであることを特長とする二次元
コード読み取り方法である。
【0030】i=[CT(n,m)/256] j=CT(n,m)−i*256 本発明の、二次元コード読み取り方法における第12の
態様は、二次元コードのシンボルの読み取り画像におい
て、所定の点から所定の距離にあり、かつ所定の角度間
隔で配置される、複数の方向モジュールの位置情報およ
び図形情報に基づいて、所定の点と前記方向モジュール
の中心点とを通る軸上に存在するデータモジュール群の
位置情報を検出し、検出した軸上のデータモジュール群
の位置情報に基づいて、隣り合う軸によって構成される
軸間のデータモジュール群の位置情報を検出するデータ
モジュール探索ステップを、上述の方向モジュール探索
ステップに、更に備えた二次元コード読み取り方法であ
る。
【0031】本発明の、二次元コード読み取り方法にお
ける第13の態様は、二次元コードのシンボルの読み取
り画像において、データモジュール群を構成するデータ
モジュールの位置を、所定のコードワード変換テーブル
に基づいて、所定のコードワードと所定のコードワード
における所定のビットデータに対応付けることによっ
て、データモジュールのビットデータをコードワードに
変換し、変換したコードワードを所定のデータキャラク
タに変換するデータキャラクタ変換ステップを、上述の
方向モジュール探索ステップまたはデータモジュール探
索ステップに、更に備えた二次元コード読み取り方法で
ある。
【0032】本発明の、二次元コード読み取り方法にお
ける第14の態様は、二次元コードのシンボルは、Ma
xiCodeシンボルであることを特徴とする二次元コ
ード読み取り方法である。
【0033】本発明の、情報記録媒体における第1の態
様は、上述の二次元コード読み取り方法のプログラムを
記録した情報記録媒体である。
【0034】本発明の、情報記録媒体における第2の態
様は、コンパクト・ディスク、フロッピー・ディスク、
ハード・ディスク、光磁気ディスク、デジタル・ビデオ
・ディスク、もしくは磁気テープであることを特徴とす
るプログラムを記録した情報記録媒体である。
【0035】本発明の、二次元コード読み取り装置にお
ける第1の態様は、二次元コードのシンボルの読み取り
画像において、所定の点から所定の距離にあり、かつ所
定の角度間隔で配置される画素データ群の「黒」または
「白」から構成される色パターンが、所定の色テンプレ
ートパターンに一致する複数の画素データ群を探索し、
探索した複数の画素データ群に基づいて、二次元コード
のシンボルの読み取り画像における、方向モジュール群
を構成する複数の方向モジュールを検出し、複数の方向
モジュールの位置情報および図形情報を取得する方向モ
ジュール探索手段を備えた二次元コード読み取り装置で
ある。
【0036】本発明の、二次元コード読み取り装置にお
ける第2の態様は、方向モジュール探索手段において、
所定の色テンプレートパターンが、第1の色テンプレー
トパターン、第2の色テンプレートパターンおよび第3
の色テンプレートパターンから構成されていることを特
徴とする二次元コード読み取り装置である。
【0037】本発明の、二次元コード読み取り装置にお
ける第3の態様は、方向モジュール探索手段において、
所定の距離は、第1の色テンプレートパターン、第2の
色テンプレートパターンおよび第3の色テンプレートパ
ターンによって異なることを特徴とする二次元コード読
み取り装置である。
【0038】本発明の、二次元コード読み取り装置にお
ける第4の態様は、所定の距離が、モジュール幅に所定
の値を乗じた値であることを特徴とする二次元コード読
み取り装置である。
【0039】本発明の、二次元コード読み取り装置にお
ける第5の態様は、モジュール幅が、二次元コードのシ
ンボルの読み取り画像のファインダーパターンの図形情
報と、所定の範囲内に存在する所定の間隔の値であるR
ate数とに基づいて算出されることを特徴とする二次
元コード読み取り装置である。
【0040】本発明の、二次元コード読み取り装置にお
ける第6の態様は、方向モジュール探索手段が、所定の
距離に基づいて探索した複数の画素データ群を、方向モ
ジュールの中心点の複数の同一距離候補データとし、複
数の同一距離候補データに基づいて、所定の距離におけ
る方向モジュールの中心点の1個の候補データを算出す
る手段と、Rate数に基づいて算出された、複数の所
定の距離における方向モジュールの中心点の候補データ
から、方向モジュールの中心点の位置を算出する手段
と、を備えた二次元コード読み取り装置である。
【0041】本発明の、二次元コード読み取り装置にお
ける第7の態様は、方向モジュール探索手段が、所定の
方向モジュールの中心点の位置が所定の位置となるよう
に、二次元コードのシンボルの読み取り画像の位置情報
を変換する手段を備えた二次元コード読み取り装置であ
る。
【0042】本発明の、二次元コード読み取り装置にお
ける第8の態様は、二次元コードのシンボルの読み取り
画像において、所定の点から所定の距離にあり、かつ所
定の角度間隔で配置される、複数の方向モジュールの位
置情報および図形情報に基づいて、所定の点と方向モジ
ュールの中心点とを通る軸上に存在するデータモジュー
ル群の位置情報を検出し、検出した軸上のデータモジュ
ール群の位置情報に基づいて、隣り合う軸によって構成
される軸間のデータモジュール群の位置情報を検出する
データモジュール探索手段を備えた二次元コード読み取
り装置である。
【0043】本発明の、二次元コード読み取り装置にお
ける第9の態様は、二次元コードのシンボルの読み取り
画像において、データモジュール群を構成するデータモ
ジュールの位置を、所定のコードワード変換テーブルに
基づいて、所定のコードワードと所定のコードワードに
おける所定のビットデータに対応付けることによって、
データモジュールのビットデータをコードワードに変換
し、変換したコードワードを所定のデータキャラクタに
変換するデータキャラクタ変換手段を備えた二次元コー
ド読み取り装置である。
【0044】本発明の、二次元コード読み取り装置にお
ける第10の態様は、データキャラクタ変換手段におい
て、データモジュールの位置を、二次元配列であるBT
(n,m)を要素とする二次元ビット配列テーブルによ
って指定することを特長とする二次元コード読み取り装
置である。
【0045】本発明の、二次元コード読み取り装置にお
ける第11の態様は、データキャラクタ変換手段におい
て、所定のコードワード変換テーブルが、所定のコード
ワードをi番目のコードワードとし、所定のコードワー
ドにおける所定のビットデータをi番目のコードワード
のj番目のビットデータとするとき、下記の関係式を満
たす値であるCT(n,m)を要素とするコードワード
二次元配列テーブルであることを特長とする二次元コー
ド読み取り装置である。
【0046】i=[CT(n,m)/256] j=CT(n,m)−i*256 本発明の、二次元コード読み取り装置における第12の
態様は、二次元コードのシンボルの読み取り画像におい
て、所定の点から所定の距離にあり、かつ所定の角度間
隔で配置される、複数の方向モジュールの位置情報およ
び図形情報に基づいて、所定の点と方向モジュールの中
心点とを通る軸上に存在するデータモジュール群の位置
情報を検出し、検出した軸上のデータモジュール群の位
置情報に基づいて、隣り合う軸によって構成される軸間
のデータモジュール群の位置情報を検出するデータモジ
ュール探索手段を、上述の方向モジュール探索手段に、
更に備えた二次元コード読み取り装置である。
【0047】本発明の、二次元コード読み取り装置にお
ける第13の態様は、二次元コードのシンボルの読み取
り画像において、データモジュール群を構成するデータ
モジュールの位置を、所定のコードワード変換テーブル
に基づいて、所定のコードワードと所定のコードワード
における所定のビットデータに対応付けることによっ
て、データモジュールのビットデータをコードワードに
変換し、変換したコードワードを所定のデータキャラク
タに変換するデータキャラクタ変換手段を、上述の方向
モジュール探索手段またはデータモジュール探索手段
に、更に備えた二次元コード読み取り装置である。
【0048】本発明の、二次元コード読み取り装置にお
ける第14の態様は、二次元コードのシンボルは、Ma
xiCodeシンボルであることを特徴とする二次元コ
ード読み取り装置である。
【0049】
【発明の実施の形態】この発明の一実施形態を、図面を
参照しながら説明する。なお、以下に説明する実施形態
は説明のためのものであり、本発明の範囲を制限するも
のではない。従って、当業者であればこれらの各要素も
しくは全要素をこれと均等なもので置換した実施形態を
採用することが可能であるが、これらの実施形態も本発
明の範囲に含まれる。
【0050】図1は、この発明の二次元コード読み取り
装置の主要な要素のブロック構成図である。以下に各要
素について説明する。
【0051】二次元コード読み取り装置100は、光源
101、開口102を有する光センサ103、受信機お
よびAD変換器104、CPU105、VRAM10
6、およびROM107を備えている。
【0052】光源101は、MaxiCodeシンボル
110を照射するためのもので、LED(発光ダイオー
ド)や半導体レーザーから構成される。光センサ103
は、MaxiCodeシンボル110から反射された光
を受信し、受信した光を電気信号に変換するためのもの
で、一次元または二次元CCD(電荷結合素子)等から
構成される。受信機およびAD変換器104は、光セン
サ103からの電気信号を受信し、CPU105におい
て処理できる信号に変換する。CPU105は、信号で
あるイメージ画像に対して、デコード処理を実行する。
【0053】即ち、光センサ103は、MaxiCod
eシンボル110の構成要素から反射された変調光であ
るアナログ信号を生成する。即ち、光センサ103のC
CDアレイにおける各ピクセル素子は、代表的にはグレ
ーレベルの信号、即ちビデオデータ信号と同様な、特定
のピクセル素子に働く光の量または強さを決定するアナ
ログ信号を出力する。
【0054】受信機およびAD変換器104の受信機部
は、変調光であるアナログ信号を受信し、受信機および
AD変換器104のAD変換器部は、受信したアナログ
信号をデジタル信号に変換して、CPU105に送信す
る。即ち、受信機およびAD変換器104は、好ましく
はグレーレベルの信号を、例えば、CPU105におけ
る処理に使用するためのグレーの16レベルを有する、
デジタル信号に変換する。受信機およびAD変換器10
4は、デジタル信号であるMaxiCodeシンボル1
10のイメージ画像を、VRAM106に蓄積する。
【0055】CPU105は、蓄積されたイメージ画像
に対して画像処理を行った後、インターフェースを介し
て、処理の結果を周辺機器またはホストコンピュータ
(図示せず)へ出力することができる。
【0056】また、CPU105の画像処理をホストコ
ンピュータにおいて、実行することもできる。
【0057】受信機およびAD変換器104とCPU1
05は、VRAM106に結合されている。ROM10
7は、CPU105を動かすプログラムを内蔵してい
る。また、後述する所定の値を記憶している。尚、Ma
xiCodeシンボル110の中心部の同心円が、ファ
インダーパターン111である。
【0058】図2は、二次元コードにおける読み取り装
置の機能ブロック図である。以下に各機能について説明
する。
【0059】CPU105は、制御手段201、画素デ
ータ記憶手段202、ファインダーパターン探索手段2
03、画像補正手段204、方向モジュール探索手段2
05、データモジュール探索手段206およびデータキ
ャラクタ変換手段207を備えている。
【0060】CPU105の画素データ記憶手段202
は、図示しない光センサ103を介して読み取ったイメ
ージ画像の画像情報を、画素の位置と対応付けられた画
素データとして、VRAM106の画素データ記憶部2
10に記憶する。
【0061】CPU105のファインダーパターン探索
手段203は、VRAM106の画素データ記憶部21
0に記憶された画素データとROM107のデコード情
報記憶部215に記憶されている実際のMaxiCod
eシンボルの図形情報に基づいて、MaxiCodeシ
ンボルのファインダーパターンを探索し、ファインダー
パターンの図形情報である、ファインダーパターンの中
心位置、ファインダーパターンの大きさおよびファイン
ダーパターンの形状を算出する。
【0062】CPU105の画像補正手段204は、フ
ァインダーパターン探索手段203によって探索された
ファインダーパターンの画素データから算出されるファ
インダーパターンの図形情報と、実際のMaxiCod
eシンボルの図形情報とから、光センサ103によって
斜めから読み取られた画像情報の傾斜角補正式を算出
し、算出した傾斜角補正式によって傾斜角補正テーブル
を生成し、そして読み取られたMaxiCodeシンボ
ルの画像情報である画素データを、傾斜角補正テーブル
に基づいて補正する。更に、算出した傾斜角補正式また
は傾斜角補正テーブル、および補正された画素データか
らなるMaxiCodeシンボルの補正画像情報をVR
AM106の画像補正情報記憶部211に記憶する。
【0063】CPU105の方向モジュール探索手段2
05は、画像補正手段204によって補正されたMax
iCodeシンボルの画像情報、実際のMaxiCod
eシンボルの図形情報、およびROM107のデコード
情報記憶部215に予め記憶されている所定の色テンプ
レートパターンに基づいて、方向モジュールを探索し、
6個の方向に3個づつ存在する18個の方法モジュール
の位置情報および図形情報を算出する。また、算出した
方向モジュールの位置情報からMaxiCodeシンボ
ルの方向を決定する。更に、算出した方向モジュールの
位置情報および図形情報をVRAM106の方向モジュ
ール情報記憶部212に記憶する。
【0064】CPU105のデータモジュール探索手段
206は、方向モジュール探索手段205によって算出
した方向モジュールの位置情報および図形情報から、M
axiCodeシンボルにおける全てのデータモジュー
ルを探索し、データモジュールの位置情報を算出する。
更に、算出したデータモジュールの位置情報をVRAM
106のデータモジュール情報記憶部213に記憶す
る。
【0065】CPU105のデータキャラクタ変換手段
207は、算出した全てのデータモジュールの色を、例
えば、データモジュールが「白」のとき0とし、データ
モジュールが「黒」のとき1とする、色パターンに変換
する(以後、「ビット変換」という)。
【0066】ビット変換したデータを二次元ビット配列
テーブルに格納し、ROM107のデコード情報記憶部
215に予め記憶されているコードワード二次元配列テ
ーブルに基づいて、1文字分のデータを表すコードワー
ドに変換する(以後、「コードワード変換」という)。
コードワード変換したデータは、更にエラー訂正処理を
することによって、正しいコードワードを復元する。
【0067】エラー訂正処理されたコードワードを、R
OM107のデコード情報記憶部215に予め記憶され
ているデフォルトキャラクタセット表に基づいて、デー
タキャラクタに変換する。
【0068】変換したデータキャラクタを、VRAM1
06のデコード結果記憶部214に記憶する。更に、デ
ータキャラクタ変換の中間処理データであるビット変換
したデータ、コードワード変換したデータおよびエラー
訂正したデータを、VRAM106のデコード結果記憶
部214に記憶しても良い。
【0069】CPU105の制御手段201は、画素デ
ータ記憶手段202、ファインダーパターン探索手段2
03、画像補正手段204、方向モジュール探索手段2
05、データモジュール探索手段206およびデータキ
ャラクタ変換手段207のそれぞれの手段を相互に関連
付けて制御する。
【0070】本発明の二次元コード読み取り方法は、二
次元コードのシンボルの読み取り画像において、所定の
点から所定の距離にあり、かつ所定の角度間隔で配置さ
れる画素データ群の「黒」または「白」の色パターンか
ら構成される色パターンが、所定の色テンプレートパタ
ーンに一致する複数の画素データ群を探索し、探索した
複数の画素データ群に基づいて、二次元コードのシンボ
ルの読み取り画像における、方向モジュール群を構成す
る複数の方向モジュールを検出し、複数の方向モジュー
ルの位置情報および図形情報を取得する方向モジュール
探索ステップを備えている。
【0071】また、本発明の二次元コード読み取り方法
は、二次元コードのシンボルの読み取り画像において、
所定の点から所定の距離にあり、かつ所定の角度間隔で
配置される、複数の方向モジュールの位置情報および図
形情報に基づいて、所定の点と方向モジュールの中心点
とを通る軸上に存在するデータモジュール群の位置情報
を検出し、検出した軸上のデータモジュール群の位置情
報に基づいて、隣り合う軸によって構成される軸間のデ
ータモジュール群の位置情報を検出するデータモジュー
ル探索ステップを備えている。
【0072】また、本発明の二次元コード読み取り方法
は、二次元コードのシンボルの読み取り画像において、
データモジュール群を構成するデータモジュールの位置
を、所定のコードワード変換テーブルに基づいて、所定
のコードワードと所定のコードワードにおける所定のビ
ットデータに対応付けることによって、データモジュー
ルのビットデータをコードワードに変換し、変換したコ
ードワードを所定のデータキャラクタに変換するデータ
キャラクタ変換ステップを備えている。
【0073】また、本発明の二次元コード読み取り方法
は、二次元コードのシンボルの読み取り画像において、
所定の点から所定の距離にあり、かつ所定の角度間隔で
配置される、複数の方向モジュールの位置情報および図
形情報に基づいて、所定の点と方向モジュールの中心点
とを通る軸上に存在するデータモジュール群の位置情報
を検出し、検出した軸上のデータモジュール群の位置情
報に基づいて、隣り合う軸によって構成される軸間のデ
ータモジュール群の位置情報を検出するデータモジュー
ル探索ステップを、上述の方向モジュール探索ステップ
に、更に備えている。
【0074】また、本発明の二次元コード読み取り方法
は、二次元コードのシンボルの読み取り画像において、
データモジュール群を構成するデータモジュールの位置
を、所定のコードワード変換テーブルに基づいて、所定
のコードワードと所定のコードワードにおける所定のビ
ットデータに対応付けることによって、データモジュー
ルのビットデータをコードワードに変換し、変換したコ
ードワードを所定のデータキャラクタに変換するデータ
キャラクタ変換ステップを、上述の方向モジュール探索
ステップまたはデータモジュール探索ステップに、更に
備えている。
【0075】また、本発明の二次元コード読み取り方法
は、二次元コードのシンボルは、MaxiCodeシン
ボルである。
【0076】上述した本発明の二次元コード読み取り方
法について、図を参照しながら以下に詳細に説明する。
【0077】図3は、この発明の二次元コード読み取り
方法における、デコード処理のフローチャート図であ
る。
【0078】まず、光センサ103を介して読み取った
イメージ画像の画像情報を、画素の位置と対応付けられ
た画素データとして、VRAM106の画素データ記憶
部210に画素データを記憶する(ステップS30
1)。
【0079】画素データは、画素の位置を表す座標値と
画像のグレーレベルを表すグレースケール値によって構
成されている。ここで、黒色に近いほどグレースケール
値を小さい値とする。更に、画素データのグレースケー
ル値は、ROM107のデコード情報記憶部215に予
め記憶されている所定のグレースケール閾値によって、
「黒」=1と「白」=0の2値のパターン値に変換され
る。即ち、画素のグレースケール値がグレースケール閾
値未満の場合、パターン値は「黒」=1になり、画素の
グレースケール値がグレースケール閾値以上の場合、パ
ターン値は「白」=0となる。ここで、「黒」=1と
「白」=0の2値を画像データとして画像データ記憶部
210に記憶しても良い。また、グレースケール閾値
は、変更可能な値である。
【0080】次に、VRAM106の画素データ記憶部
210に記憶された画素データからMaxiCodeシ
ンボルの切り出しシンボルであるファインダーパターン
を探索する(ステップS302)。
【0081】ファインダーパターンの探索によって、フ
ァインダーパターンの図形情報である、ファインダーパ
ターンの中心位置、ファインダーパターンの大きさおよ
びファインダーパターンの形状を算出する。実際のMa
xiCodeシンボルのファインダーパターンは、図2
7(b)に示すように、6個の同心円によって生成され
る1個の白色の円、2個の白色の輪、および3個の黒色
の輪から構成される。従って、ファインダーパターンの
図形情報として、ファインダーパターンの中心の位置座
標、およびファインダーパターンの白色部と黒色部との
色境界の位置座標群を算出する。
【0082】次に、探索したファインダーパターンの図
形情報と、実際のMaxiCodeシンボルにおけるフ
ァインダーパターンの図形情報を比較することによっ
て、光センサ103を介して斜めから読み取ったとき
の、読み取り画像情報の傾斜角による傾斜角補正式を算
出し、算出した傾斜角補正式によって所定の補正精度に
基づいて、傾斜角補正テーブルを生成し、更に、生成し
た傾斜角補正テーブルから画素データの傾斜角補正をす
る(ステップS303)。
【0083】次に、ROM107のデコード情報記憶部
215に予め記憶されている所定の色テンプレートと一
致する画像補正をした画素データを全て検出し、検出し
た画素データに基づいて、方向モジュールの位置情報お
よび図形情報を算出する(ステップS304)。
【0084】図28に示したように、方向モジュール
は、MaxiCodeシンボルの方向を示すモジュール
であり、MaxiCodeシンボルの決められた位置に
配置されている。従って、方向モジュールを探索し、方
向モジュールの位置座標を算出することにより、Max
iCodeシンボルの方向がわかる。MaxiCode
シンボルの方向がわかることにより、MaxiCode
シンボルの各データモジュールの位置がわかり、各デー
タモジュールの色がわかる。
【0085】次に、算出した方向モジュールの中心点と
ファインダーパターンの中心点を結んだ軸、および方向
モジュールの図形情報に基づいて、MaxiCodeシ
ンボルを構成する全てのデータモジュールを、軸上のデ
ータデータモジュールと軸間の領域に存在するデータモ
ジュールとに分けて、各データモジュールの位置情報を
算出する(ステップS305)。
【0086】次に、算出した各データモジュールの色を
識別し、全てのデータモジュールをビット変換し、ビッ
ト変換したデータを二次元ビット配列テーブルに格納
し、ROM107のデコード情報記憶部215に予め記
憶されている所定のコードワード二次元配列テーブルに
基づいて、データをコードワードに変換し、エラー訂正
処理をした後、コードワードをROM107のデコード
情報記憶部215に予め記憶されている所定のデフォル
トキャラクタセット表に基づいて、データキャラクタに
変換し(ステップS306)、デコード処理を終了す
る。
【0087】また、本発明の二次元コード読み取り方法
は、方向モジュール探索ステップにおいて、所定の色テ
ンプレートパターンが、第1の色テンプレートパター
ン、第2の色テンプレートパターンおよび第3の色テン
プレートパターンから構成されいる。
【0088】また、本発明の二次元コード読み取り方法
は、方向モジュール探索ステップにおいて、所定の距離
は、第1の色テンプレートパターン、第2の色テンプレ
ートパターンおよび第3の色テンプレートパターンによ
って異なる。
【0089】また、本発明の二次元コード読み取り方法
は、所定の距離が、モジュール幅に所定の値を乗じた値
である。
【0090】また、本発明の二次元コード読み取り方法
は、モジュール幅が、二次元コードのシンボルの読み取
り画像のファインダーパターンの図形情報と、所定の範
囲内に存在する所定の間隔の値であるRate数とに基
づいて算出される。
【0091】また、本発明の二次元コード読み取り方法
は、方向モジュール探索ステップが、所定の距離に基づ
いて探索した複数の画素データ群を、方向モジュールの
中心点の複数の同一距離候補データとし、複数の同一距
離候補データに基づいて、所定の距離における方向モジ
ュールの中心点の1個の候補データを算出するステップ
と、Rate数に基づいて算出された、複数の所定の距
離における方向モジュールの中心点の候補データから、
方向モジュールの中心点の位置を算出するステップと、
を備えている。
【0092】また、本発明の二次元コード読み取り方法
は、方向モジュール探索ステップが、所定の方向モジュ
ールの中心点の位置が所定の位置となるように、二次元
コードのシンボルの読み取り画像の位置情報を変換する
ステップを備えている。
【0093】上述した方向モジュール探索ステップにつ
いて説明する。その詳細は、図4、13、14および2
9を参照して説明する。
【0094】図4は、MaxiCodeシンボルのデコ
ード処理における方向モジュール探索処理のフローチャ
ート図である。
【0095】まず、方向モジュールの探索範囲を設定す
る(ステップS401)。
【0096】図29は、実際のMaxiCodeシンボ
ルにおけるファインダーパターンと方向モジュールとの
関係を示す図である。図29に示すように、実際のMa
xiCodeシンボルにおいて、内側方向モジュールの
中心点を結んだ図形2901は、1辺がモジュール幅W
の6倍である正六角形となり、外側方向モジュールの中
心点とを結んだ図形2902は、1辺がモジュール幅W
の7倍である正六角形となる。ここで、モジュール幅W
は、隣り合う2個のモジュールの中心間の距離である。
また、点OをMaxiCodeシンボルの中心点とし、
点Eを内側方向モジュールの中心点とし、点Dを内側方
向モジュールの中心点と外側方向モジュールの中心点と
の中間点とし、点Aおよび点Bを外側方向モジュールの
中心点とし、点Cを中央方向モジュールの中心点とす
る。
【0097】従って、内側方向モジュールの中心点は、
線分OEを半径とする円周上に存在し、外側方向モジュ
ールの中心点は、線分OAを半径とする円周上に存在
し、中央方向モジュールの中心点は、線分OCを半径と
する円周上に存在し、それぞれモジュール幅Wに依存す
る。線分OEの長さ、線分OAの長さおよび線分OCの
長さは、下記の式で表される。
【0098】 線分OEの長さ=6.000*W 線分OAの長さ=7.000*W 線分OCの長さ=√((線分ODの長さ)2+(線分DCの長さ)2)) =約6.543*W 図13は、方向モジュールの探索範囲を説明する図であ
る。図13(a)は、モジュール幅を示す図である。図
13(b)は、モジュール幅と内側方向モジュールの中
心点の位置との関係を示す図である。
【0099】図13(a)に示すように、モジュール幅
Wは、ファインダーパターンの白色部1301と黒色部
1302との色境界図形1303の半径から算出する。
図29に示すように、正面から読み取られたMaxiC
odeシンボルの読み取り画像においては、色境界図形
2903は円となるが、図13(a)に示すように、斜
めから読み取られたMaxiCodeシンボルの読み取
り画像においては、色境界図形1303は楕円に近似し
た図形となる。
【0100】また、図29に示すように、円である色境
界図形2903上の点を点Fとし、円の半径をR’とす
ると、下記の関係式が成立する。
【0101】R’ < 4.0*W 従って、図13(a)の色境界図形1303の半径をR
とすると、モジュール幅Wは、下記の式で表される。R
ate数は、半径Rとモジュール幅Wを関係付ける変数
であり、値をnとする。即ち、ここでは、上述した所定
の間隔を0.05とし、Rate数nを4.00から
3.00を0.05刻みにした値とする。
【0102】W=R/n 図13(b)に示すように、内側方向モジュールの中心
点は半径L1の円周上に存在することから、Rate数
を変化させながら、内側方向モジュールの中心点を探索
する。ここで、半径L1は、L1=6.000*Wであ
る。
【0103】同様に、外側方向モジュールの中心点およ
び中央方向モジュールの中心点は、半径L2および半径
L3の円周上に存在することから、Rate数を変化さ
せながら、外側方向モジュールの中心点および中央方向
モジュールの中心点を探索する。ここで、半径L2およ
び半径L3は、L2=7.000*W、L3=6.54
3*Wである。
【0104】また、図29に示すように、中心点Oと中
央方向モジュールの中心点Cとを結ぶ直線は、中心点O
と外側方向モジュールの中心点Aとを結ぶ直線と角度β
の角度を成す。ここで、角度βを中央方向モジュールの
オフセット角という。中央方向モジュールのオフセット
角は下記の式で表される。
【0105】 tanβ=(線分DCの長さ)/(線分ODの長さ) β=約7.59 上述により、方向モジュールの探索範囲を設定する。
【0106】次に、内側方向モジュール群、外側方向モ
ジュール群および中央方向モジュール群を「黒」=1お
よび「白」=0の色パターンによって表した色テンプレ
ートパターンを作成する(ステップS402)。ここ
で、6方向に存在する6個の内側方向モジュールの集合
を内側方向モジュール群とし、6個の外側方向モジュー
ルの集合を外側方向モジュール群とし、6個の中央方向
モジュールの集合を中央方向モジュール群とする。
【0107】図14は、色テンプレートパターンを示す
図である。図14に示すように、6個の方向を方向0か
ら方向5によって表す。色テンプレートパターンは、方
向0から方向5までの「黒」=1および「白」=0の色
パターンを、2回繰り返すことによって作成する。
【0108】従って、作成した内側方向モジュール群、
外側方向モジュール群および中央方向モジュール群の色
テンプレートパターンは下記となる。
【0109】 内側方向モジュール群の色テンプレートパターン = 「101101101101」 外側方向モジュール群の色テンプレートパターン = 「001011001011」 中央方向モジュール群の色テンプレートパターン = 「101110101110」 次に、Rate数に基づいて、色テンプレートパターン
に一致する内側方向モジュール群、外側方向モジュール
群および中央方向モジュール群の方向モジュール候補デ
ータを探索する(ステップS403)。ここで、色テン
プレートパターンに一致する方向モジュールがない場合
は、方向モジュール候補データ無しとする。
【0110】次に、設定した全てのRate数に基づい
た方向モジュール候補データを探索したか否かを判定す
る(ステップS404)。設定した全てのRate数に
基づいた方向モジュール候補データを探索した場合(ス
テップS404;Yes)は、次のステップS405に
移る。一方、設定した全てのRate数に基づいた方向
モジュール候補データを探索していない場合(ステップ
S404;No)は、全てのRate数に基づいた方向
モジュール候補データを探索するまで、ステップS40
3を繰り返す。
【0111】次に、方向モジュール候補データが存在す
るか否かを判定する(ステップS405)。方向モジュ
ール候補データが存在する場合(ステップS405;Y
es)は、方向モジュール候補データから方向モジュー
ルを決定し(ステップS406)、方向モジュール探索
処理を終了する。
【0112】一方、方向モジュール候補データが存在し
ない場合(ステップS405;No)は、方向モジュー
ルを探索できなかったとして、エラー処理を実行し(ス
テップS407)、デコード処理を終了する。
【0113】次に、上述した方向モジュール候補データ
を探索する処理を、更に詳細に説明する。
【0114】図5は、方向モジュール探索処理における
方向モジュール候補データ探索処理のフローチャート図
である。
【0115】図4のステップS401において説明した
ように、Rate数nに基づいて、内側方向モジュール
群は、半径L1の円周上に存在し、外側方向モジュール
群は、半径L2の円周上に存在し、中央方向モジュール
群は、半径L3の円周上に存在する。また、中央方向モ
ジュールのオフセット角は角度βである。更に、内側方
向モジュール群を構成する6個の内側方向モジュール
は、ファインダーパターンの中心点を中心に、60度の
間隔によって配置されている。外側方向モジュール群を
構成する6個の方向モジュールも、中央方向モジュール
群を構成する6個の中央モジュールも同様である。
【0116】そこで、方向モジュールの探索角度θを、
全角を60度毎に分割し、更に60度を探索分割角α毎
に分割する下記の二次元配列(i,j)によって表し、
方向モジュールを探索する。ここで、iは0から5の整
数であり、jは0からnまでの整数である。
【0117】n= 60/α−1 θ(i,j) = 60*i + α*j 例えば、探索分割角αをα=1とするならば、角度θ
(i,j)は、6x60の行列によって表される。i=
0〜5、j=0〜59の整数である。また、iによって
表される角度領域を領域iとする。例えば、i=0、即
ち、0<=θ<60を領域0とする。
【0118】まず、探索角度θにおいて、内側方向モジ
ュール群の色テンプレートパターンに一致する内側方向
モジュール群を検出し、内側方向モジュールの候補デー
タを検出する(ステップS501)。
【0119】次に、内側方向モジュールの候補データを
検出できたか否かを判定する(ステップS502)。検
出できた場合(ステップS502;Yes)は、次のス
テップS503に移る。一方、検出できなかった場合
(ステップS502;No)は、次の探索角度に移るた
めのステップS507に移る。
【0120】次に、外側方向モジュール群の色テンプレ
ートパターンに一致する外側方向モジュール群を検出
し、外側方向モジュールの候補データを検出する(ステ
ップS503)。
【0121】次に、外側方向モジュールの候補データを
検出できたか否かを判定する(ステップS504)。検
出できた場合(ステップS504;Yes)は、次のス
テップS505に移る。一方、検出できなかった場合
(ステップS504;No)は、次の探索角度に移るた
めのステップS507に移る。
【0122】次に、中央方向モジュール群の色テンプレ
ートパターンに一致する中央方向モジュール群を検出
し、中央方向モジュールの候補データを検出する(ステ
ップS505)。
【0123】次に、中央方向モジュールの候補データを
検出できたか否かを判定する(ステップS506)。検
出できた場合(ステップS506;Yes)は、次の探
索角度に移るためのステップS507に移る。一方、検
出できなかった場合(ステップS504;No)も、次
の探索角度に移るためのステップS507に移る。
【0124】次に、全ての探索角度について探索したか
否かを判定する(ステップS507)。全ての探索角度
について探索した場合(ステップS507;Yes)
は、次のステップS508に移る。全ての探索角度につ
いて探索していない場合(ステップS507;No)
は、ステップS501からステップS506までを、全
ての探索角度について探索するまで繰り返す。
【0125】ここで、方向モジュールは、ファインダー
パターンの中心点を中心に、60度の間隔によって配置
されていることから、探索角度θの探索範囲は、0度か
ら60度未満の間の探索分割角を考えれば良い。従っ
て、探索角度θは領域0を考えれば良い。
【0126】次に、内側方向モジュールの候補データ、
外側方向モジュールの候補データ,および中央方向モジ
ュールの候補データが存在するか否かを判定する(ステ
ップS508)。内側方向モジュールの候補データ、外
側方向モジュールの候補データ,および中央方向モジュ
ールの候補データが存在する場合(ステップS508;
Yes)は、Rate数nに基づいて探索した、内側方
向モジュールの候補データ、外側方向モジュールの候補
データ,および中央方向モジュールの候補データからな
る方向モジュールの候補データを決定し(ステップS5
09)、方向モジュール候補データ探索処理を終了す
る。
【0127】一方、内側方向モジュールの候補データ、
外側方向モジュールの候補データ,および中央方向モジ
ュールの候補データが存在しない場合(ステップS50
8;No)は、Rate数nに基づいて探索した方向モ
ジュールの候補データは無しとしてエラー処理を実行し
(ステップS510)、方向モジュール候補データ探索
処理を終了する。
【0128】尚、上述の方向モジュール候補データ探索
処理における、内側方向モジュール候補データを検出す
るステップS501、外側方向モジュール候補データを
検出するステップS503、および中央方向モジュール
候補データを検出するステップS505は、処理の順番
に依存しない。内側方向モジュール候補データ、外側方
向モジュール候補データおよび中央方向モジュール候補
データを検出できれば良い。
【0129】次に、上述した方向モジュール候補データ
探索処理のおける内側方向モジュール候補データを検出
する処理を、更に詳細に説明する。
【0130】図6は、方向モジュール候補データ探索処
理における内側方向モジュール候補検出処理のフローチ
ャート図である。
【0131】まず、内側方向モジュールが6方向に存在
することから、探索角度θに、1個の内側方向モジュー
ルが存在すると仮定して、6方向に存在する仮の内側方
向モジュールの位置を算出する(ステップS601)。
【0132】図15は、探索角度θにおける仮の方向モ
ジュールの位置を示す図である。ここで、ファインダー
パターンの中心点を点Oとし、領域iの半径L1の円周
上に存在する仮の内側方向モジュールの中心点を点Ai
jとし、線分OAijとx軸との成す角はθijとす
る。また、半径L2の円周上に存在する仮の外側方向モ
ジュールの中心点を点A’ijとし、半径L3の円周上
に存在する仮の中央方向モジュールの中心点を点A”i
jとし、中央方向モジュールのオフセット角をβとす
る。更に、点Aijの座標を(xij,yij)とし、
点A’ijの座標を(x’ij,y’ij)とし、点
A”ijの座標を(x”ij,y”ij)とし、点θi
jをθ(i,j)とする。
【0133】図15に示すように、領域0に存在する点
A0jの位置は下記で表される。
【0134】 x0j=L1*sin(θ0j) y0j=L1*cos(θ0j) θ0j=θ(0,j) 従って、6方向に存在する仮の内側方向モジュールの中
心点Aijは下記の式で表される。
【0135】xij=L1*sin(θij) yij=L1*cos(θij) θij=θ(i,j)=θ0j+60*i 次に、算出した6方向に存在する仮の内側方向モジュー
ルの位置に対応する画素データの色を取り出し、「黒」=
1または「白」=0の色パターンに変換する(ステップ
S602)。ここで、変換した6方向に存在する仮の内
側方向モジュールの色パターンから構成される仮の内側
方向モジュール群の色パターンを、仮の内側方向モジュ
ールパターンとする。
【0136】次に、仮の内側方向モジュールパターン
と、内側方向モジュール群の色テンプレートパターンの
一部分とを比較し、一致するか否かを判定する(ステッ
プS603)。内側方向モジュール群の色テンプレート
パターンにおいて、パターンの左からk番目の値から
(k+6)番目の値までのパターンを内側色テンプレー
ト部分パターンとする。内側色テンプレート部分パター
ンと仮の内側方向モジュールパターンとを比較し、一致
するか否かを判定する。ここで、kを開始番号という。
kは1から6までの変化で十分である。
【0137】内側色テンプレート部分パターンと仮の内
側方向モジュールパターンとが一致した場合(ステップ
S603;Yes)は、6方向に存在する仮の内側方向
モジュールを内側方向モジュールの候補データとして検
出し(ステップS604)、次の内側色テンプレート部
分パターンと比較するためのステップS605に移る。
【0138】一方、内側色テンプレート部分パターンと
仮の内側方向モジュールパターンとが一致しなかった場
合(ステップS603;No)は、次の内側色テンプレ
ート部分パターンと比較するためのステップS605に
移る。
【0139】例えば、仮の内側方向モジュールパターン
が「110110」であるならば、内側方向モジュール
群の色テンプレートパターンは「1011011011
01」であることから、k=3およびk=6のときの内
側色テンプレート部分パターンである「110110」
と一致する。従って、仮の内側方向モジュールを内側方
向モジュールの候補データとする。しかし、仮の内側方
向モジュールパターンが「100110」であるなら
ば、一致する内側色テンプレート部分パターンはない。
【0140】次に、全ての内側色テンプレート部分パタ
ーンと仮の内側方向モジュールパターンとを比較したか
否かを判定する(ステップS605)。即ち、1から6
までの開始番号kについて比較したか否かを判定する。
全ての内側色テンプレート部分パターンと仮の内側方向
モジュールパターンとを比較していない場合(ステップ
S605;No)は、全ての内側色テンプレート部分パ
ターンと仮の内側方向モジュールパターンとの比較が終
了するまで、ステップS603およびステップS604
を繰り返す。
【0141】全ての内側色テンプレート部分パターンと
仮の内側方向モジュールパターンとを比較した場合(ス
テップS605;Yes)は、内側方向モジュールの候
補データを検出したか否かを判定する(ステップS60
6)。内側方向モジュールの候補データを検出した場合
(ステップS606;Yes)は、内側方向モジュール
候補検出処理を終了する。一方、内側方向モジュールの
候補データを検出しなかった場合(ステップS606;
No)は、候補データ無しとして(ステップS60
7)、内側方向モジュール候補検出処理を終了する。
【0142】次に、上述した方向モジュール候補データ
探索処理における外側方向モジュール候補データを検出
する処理を、更に詳細に説明する。
【0143】図7は、方向モジュール候補データ探索処
理における外側方向モジュール候補検出処理のフローチ
ャート図である。
【0144】まず、外側方向モジュールが6方向に存在
することから、探索角度θに、1個の外側方向モジュー
ルが存在すると仮定して、6方向に存在する仮の外側方
向モジュールの位置を算出する(ステップS701)。
【0145】図15に示すように、領域0に存在する点
A’0jの位置は下記で表される。
【0146】x’0j=L2*sin(θ0j) y’0j=L2*cos(θ0j) θ0j=θ(0,j) 従って、6方向に存在する仮の外側方向モジュールの中
心点A’ijは下記の式で表される。
【0147】x’ij=L2*sin(θij) y’ij=L2*cos(θij) θij=θ(i,j)=θ0j+60*i 次に、算出した6方向に存在する仮の外側方向モジュー
ルの位置に対応する画素データの色を取り出し、「黒」=
1または「白」=0の色パターンに変換する(ステップ
S702)。ここで、変換した6方向に存在する仮の外
側方向モジュールの色パターンから構成される仮の外側
方向モジュール群の色パターンを、仮の外側方向モジュ
ールパターンとする。
【0148】次に、内側方向モジュールの候補データと
一致した開始番号kであるか否かを判定する(ステップ
S703)。外側方向モジュール群の色テンプレートパ
ターンにおいて、内側色テンプレート部分パターンと同
様に、開始番号kに基づいて、外側色テンプレート部分
パターンを作成する。
【0149】内側方向モジュールの候補データと一致し
た開始番号kである場合(ステップS703;Yes)
は、仮の外側方向モジュールパターンと外側色テンプレ
ート部分パターンとを比較し、一致するか否かを判定す
る(ステップS704)。
【0150】一方、内側方向モジュールの候補データと
一致した開始番号kでない場合(ステップS703;N
o)は、次の外側色テンプレート部分パターンと比較す
るためのステップS706に移る。
【0151】外側色テンプレート部分パターンと仮の外
側方向モジュールパターンとが一致した場合(ステップ
S704;Yes)は、6方向に存在する仮の外側方向
モジュールを外側方向モジュールの候補データとして検
出し(ステップS705)、次の外側色テンプレート部
分パターンと比較するためのステップS706に移る。
【0152】一方、外側色テンプレート部分パターンと
仮の外側方向モジュールパターンとが一致しなかった場
合(ステップS704;No)は、次の外側色テンプレ
ート部分パターンと比較するためのステップS706に
移る。
【0153】全ての外側色テンプレート部分パターンと
仮の外側方向モジュールパターンとを比較したか否かを
判定する(ステップS706)。全ての外側色テンプレ
ート部分パターンと仮の外側方向モジュールパターンと
を比較していない場合(ステップS706;No)は、
全ての外側色テンプレート部分パターンと仮の外側方向
モジュールパターンとの比較が終了するまで、ステップ
S703、ステップS704およびステップS705を
繰り返す。
【0154】全ての外側色テンプレート部分パターンと
仮の外側方向モジュールパターンとを比較した場合(ス
テップS706;Yes)は、外側方向モジュールの候
補データを検出したか否かを判定する(ステップS70
7)。外側方向モジュールの候補データを検出した場合
(ステップS707;Yes)は、外側方向モジュール
候補検出処理を終了する。一方、外側方向モジュールの
候補データを検出しなかった場合(ステップS707;
No)は、候補データ無しとして(ステップS70
8)、外側方向モジュール候補検出処理を終了する。
【0155】次に、上述した方向モジュール候補データ
探索処理のおける中央方向モジュール候補データを検出
する処理を、更に詳細に説明する。
【0156】図8は、方向モジュール候補データ探索処
理における中央方向モジュール候補検出処理のフローチ
ャート図である。
【0157】まず、中央方向モジュールが6方向に存在
することから、探索角度θにオフセット角βを考慮した
角度(θ−β)に、1個の中央方向モジュールが存在す
ると仮定して、6方向に存在する仮の中央方向モジュー
ルの位置を算出する(ステップS801)。
【0158】図15に示すように、領域0に存在する点
A”0jの位置は下記で表される。
【0159】x”0j=L3*sin(θ0j−β) y”0j=L3*cos(θ0j−β) θ0j=θ(0,j)従って、6方向に存在する仮の中
央方向モジュールの中心点A”ijは下記の式で表され
る。
【0160】x”ij=L3*sin(θij−β) y”ij=L3*cos(θij−β) θij=θ(i,j)=θ0j+60*i 次に、算出した6方向に存在する仮の中央方向モジュー
ルの位置に対応する画素データの色を取り出し、「黒」=
1または「白」=0の色パターンに変換する(ステップ
S802)。ここで、変換した6方向に存在する仮の中
央方向モジュールの色パターンから構成される仮の中央
方向モジュール群の色パターンを、仮の中央方向モジュ
ールパターンとする。
【0161】次に、外側方向モジュールの候補データと
一致した開始番号kであるか否かを判定する(ステップ
S803)。ここで、外側方向モジュールの候補データ
は、内側方向モジュールの候補データであり、かつ外側
方向モジュールの候補データである。中央方向モジュー
ル群の色テンプレートパターンにおいて、内側色テンプ
レート部分パターンと同様に、開始番号kに基づいて、
中央色テンプレート部分パターンを作成する。
【0162】外側方向モジュールの候補データと一致し
た開始番号kである場合(ステップS803;Yes)
は、仮の中央方向モジュールパターンと中央色テンプレ
ート部分パターンとを比較し、一致するか否かを判定す
る(ステップS804)。
【0163】一方、外側方向モジュールの候補データと
一致した開始番号kでない場合(ステップS803;N
o)は、次の中央色テンプレート部分パターンと比較す
るためのステップS806に移る。
【0164】中央色テンプレート部分パターンと仮の中
央方向モジュールパターンとが一致した場合(ステップ
S804;Yes)は、6方向に存在する仮の中央方向
モジュールを中央方向モジュールの候補データとして検
出し(ステップS805)、次の中央色テンプレート部
分パターンと比較するためのステップS806に移る。
【0165】一方、中央色テンプレート部分パターンと
仮の中央方向モジュールパターンとが一致しなかった場
合(ステップS804;No)は、次の中央色テンプレ
ート部分パターンと比較するためのステップS806に
移る。
【0166】全ての中央色テンプレート部分パターンと
仮の中央方向モジュールパターンとを比較したか否かを
判定する(ステップS806)。全ての中央色テンプレ
ート部分パターンと仮の中央方向モジュールパターンと
を比較していない場合(ステップS806;No)は、
全ての中央色テンプレート部分パターンと仮の中央方向
モジュールパターンとの比較が終了するまで、ステップ
S803、ステップS804およびステップS805を
繰り返す。
【0167】全ての中央色テンプレート部分パターンと
仮の中央方向モジュールパターンとを比較した場合(ス
テップS806;Yes)は、中央方向モジュールの候
補データを検出したか否かを判定する(ステップS80
7)。中央方向モジュールの候補データを検出した場合
(ステップS807;Yes)は、中央方向モジュール
候補検出処理を終了する。一方、中央方向モジュールの
候補データを検出しなかった場合(ステップS807;
No)は、候補データ無しとして(ステップS80
8)、中央方向モジュール候補検出処理を終了する。
【0168】次に、上述した方向モジュール候補データ
探索処理のおける方向モジュール候補データを決定する
処理を、更に詳細に説明する。
【0169】図9は、方向モジュール候補データ探索処
理における方向モジュール候補決定処理のフローチャー
ト図である。
【0170】検出した複数の内側方向モジュールの候補
データに基づいて、Rate数nにおける1個の内側方
向モジュールの候補データを決定する。
【0171】方向モジュールの決定は、検出した方向モ
ジュールの候補データに基づいて、同一の方向モジュー
ルの候補データを判別し、判別した候補データの平均を
取ることによって求める。
【0172】図16は、同一の方向モジュールに対応す
る候補データのデータ変換を示す図である。図16
(a)は、データ変換前の同一の方向モジュールに対応
する候補データを示す図であり、図16(b)は、デー
タ変換後の同一の方向モジュールに対応する候補データ
を示す図である。
【0173】図16(a)に示すように、検出した同一
の方向モジュールの候補データが、領域iと領域(i+
1)とにまたがって存在する場合がある。点A10、点
A11、点A12および点A0mは、領域0と領域1と
にまたがって存在する同一の方向モジュールの候補デー
タである。ここで、検出した方向モジュール候補データ
である点Aijは、領域iに存在する、j番目の探索分
割角のデータであることを表している。従って、上述し
た点Aijの表現方法では、同一の方向モジュールの候
補データであることを表すことができない。そこで、図
16(b)に示すように、点Aijによって表されるデ
ータを同一の方向モジュールの候補データであることを
表すデータ点Bpqに変換する。ここで、pは、方向モ
ジュール番号を表し、qは、候補番号を表す。尚、点A
ijの位置座標と点Bpqの位置座標とは同じ値であ
る。
【0174】まず、候補データである点Aijが点Bp
qと同一の方向モジュールの候補データであるか否かを
判定する(ステップS901)。同一の方向モジュール
の候補データである場合(ステップS901;Yes)
は、点Aijを点Bpqにデータ変換し(ステップS9
02)、次のステップS905に移る。
【0175】例えば、図16に示すように、同一の方向
モジュールの候補データである点A00を点B00に、
点A01を点B01に、点A02を点B02にデータ変
換する。また、60度異なった別の方向モジュールの候
補データである点A10を点B10に、点A11を点B
11に、点A12を点B12にデータ変換する。
【0176】一方、同一の方向モジュールの候補データ
でない場合(ステップS901;No)は、候補データ
である点Aijが点Bpqと60度異なった点Bp+1
qと同一の方向モジュールの候補データであるか否かを
判定する(ステップS903)。
【0177】60度異なった方向モジュールの候補デー
タである場合(ステップS903;Yes)は、点Ai
jを点Bp+1qにデータ変換し(ステップS90
4)、次のステップS905に移る。一方、60度異な
った方向モジュールの候補データでない場合(ステップ
S903;No)は、データ変換をせずに、次のステッ
プS905に移る。
【0178】例えば、図16に示すように、点A0m
は、点B02と異なる方向モジュールの候補データであ
るが、点B12とは同一の方向モジュールの候補データ
である。従って、方向モジュールの候補データである点
A0mを点B13にデータ変換する。
【0179】ここで、60度異なった方向モジュールの
候補データであるとは、例えば、点A0mと点B12と
の間の距離、即ち、点A0mと点A12との間の距離が
下記の関係となる場合である。
【0180】点A0mと点A12との間の距離 < モ
ジュールの高さV尚、モジュールの高さVは、モジュー
ルの幅Wを用いて下記の式によって表される。
【0181】V=(2/√3)*W 次に、検出した全ての方向モジュールの候補データにつ
いて、データ変換したか否かを判定する(ステップS9
05)。検出した全ての方向モジュールの候補データに
ついて、データ変換した場合(ステップS905;Ye
s)は、次のステップS906に移る。一方、検出した
全ての方向モジュールの候補データについて、データ変
換していない場合(ステップS905;No)は、全て
の候補データをデータ変換するまで、ステップS901
からステップS904までの処理を繰り返す。
【0182】最後に、データ変換した同一方向モジュー
ルの候補データの平均座標を算出し、算出した座標をR
ate数nにおける方向モジュールの候補データの座標
に決定する(ステップS906)。ここで、平均座標と
は、x−y座標系においては、候補データにおけるx座
標およびy座標のそれぞれの単純平均座標値である。ま
た、極座標においては、半径がRate数nである場合
の角度平均値である。
【0183】図17は、Rate数nにおける方向モジ
ュールの候補データの決定方法を示す図である。
【0184】図17に示すように、検出された同一方向
モジュールの候補データである点B10、点B11、点
B12、点B13の平均座標点を点Cn1とすると、点
Cn1が、Rate数nにおける方向モジュールの候補
データとなる。
【0185】次に、上述した方向モジュール探索処理に
おける、方向モジュールを決定する処理を、更に詳細に
説明する。
【0186】図10は、方向モジュール探索処理におけ
る方向モジュール決定処理のフローチャート図である。
【0187】まず、Rate数nに基づいて検出された
方向モジュールの候補データの平均座標を算出し、方向
モジュールの中心点の位置を決定する(ステップS10
01)。
【0188】図18は、方向モジュールの中心点の位置
決定を示す図である。
【0189】図18に示すように、Rate数nに基づ
いて検出された方向モジュールの候補データである点C
3.55,0、点C3.5,0、点C3.45,0の平
均座標点を点D0とすると、点D0が、方向モジュール
の中心点の位置となる。
【0190】次に、決定した方向モジュールの中心点と
ファインダーパターンの中心点とを結ぶ直線と水平軸と
の成す角θを算出する(ステップS1002)。
【0191】次に、方向モジュールの幅Wを算出する
(ステップS1003)。
【0192】最後に、MaxiCodeシンボルのデー
タモジュールの位置を検出するために、方向モジュール
の位置に基づいて、読み取り画像の画像情報のデータを
変換する(ステップS1004)。
【0193】図19は、回転によるデータ変換を示す図
である。図19(a)は、データ変換工程を示す図であ
り、図19(b)は方向モジュールの配列番号を示すテ
ーブルである。
【0194】図19(a)に示すように、方向モジュー
ル番号を配列番号に変換する。方向モジュール番号は方
向モジュールの存在する領域を示す番号であり、配列番
号は、図19(b)のテーブルに従う。
【0195】次に、上述したデータモジュール探索ステ
ップについて詳細に説明する。
【0196】図11は、MaxiCodeシンボルのデ
コード処理におけるデータモジュール探索処理のフロー
チャート図である。
【0197】まず、ファインダーパターンの中心点、内
側方向モジュールの中心点および外側方向モジュールの
中心点を通る軸を想定し、軸上のデータモジュールの位
置を算出する(ステップS1101)。
【0198】図20は、軸上のモジュールを示す図であ
る。図20(a)は、軸上の実モジュールと仮モジュー
ルを示す図であり、図20(b)は、軸上のデータモジ
ュールの位置を示す図である。
【0199】図20(a)に示すように、ファインダー
パターンの中心点、内側方向モジュールの中心点および
外側方向モジュールの中心点を通る軸を想定し、軸番号
をつける。また、データモジュールの位置を算出するた
めに、軸上に、MaxiCodeシンボルに存在するモ
ジュール(以下、「実モジュール」という)と、Max
iCodeシンボルに存在しないモジュール(以下、
「仮モジュール」という)を考える。ここで、仮モジュ
ールは、実モジュールと同一の図形である。
【0200】図20(b)に示すように、軸番号0の軸
上においては、実モジュールが10個と仮モジュールが
8個からなるモジュール群を考え、各モジュールの中心
点の位置を算出する。尚、軸番号1の軸上においては、
実モジュールが11個と仮モジュールが7個からなるモ
ジュール群を考え、軸番号2の軸上においては、実モジ
ュールが11個と仮モジュールが6個からなるモジュー
ル群を考え、軸番号3の軸上においては、実モジュール
が9個と仮モジュールが8個からなるモジュール群を考
え、軸番号4の軸上においては、実モジュールが11個
と仮モジュールが6個からなるモジュール群を考え、軸
番号5の軸上においては、実モジュールが11個と仮モ
ジュールが7個からなるモジュール群を考える。ここ
で、軸番号1の軸上の実モジュールは12個あるが、内側
方向モジュールよりもファインダーパターンの中心に近
い実モジュールは、独自にモジュールの中心点の位置を
求め、ビット変換を行う。従って、軸番号1の軸上にお
いては、実モジュールが11個と仮モジュールが7個か
らなるモジュール群を考えれば良い。
【0201】次に、算出した各モジュールの中心点の位
置に対応する画素データに基づいて、「黒」=1または
「白」=0からなる色パターンに変換する(S110
2)。ここで、仮モジュールは「白」=0として変換す
る。
【0202】次に、軸間の領域に存在するMaxiCo
deシンボルのデータモジュールの位置を算出する(ス
テップS1103)。
【0203】図21は、軸間のモジュールを示す図であ
る。図21(a)は、軸間の実モジュールと仮モジュー
ルを示す図であり、図21(b)は、軸間のデータモジ
ュールの位置を示す図である。
【0204】図21(a)に示すように、軸番号0と軸
番号1とからなる三角形の領域を仮シンボル領域0と
し、軸番号1と軸番号2とからなる三角形の領域を仮シ
ンボル領域1とし、軸番号2と軸番号3とからなる三角
形の領域を仮シンボル領域2とし、軸番号3と軸番号4
とからなる三角形の領域を仮シンボル領域3とし、軸番
号4と軸番号5とからなる三角形の領域を仮シンボル領
域4とし、軸番号5と軸番号0とからなる三角形の領域
を仮シンボル領域5とする。また、仮シンボル領域iに
おいて、MaxiCodeシンボルの領域は、実モジュ
ールで構成され、MaxiCodeシンボルの領域以外
は、仮モジュールで構成されている。
【0205】図21(b)に示すように、軸番号iの軸
上のモジュールの中心点と、軸番号i+1の軸上のモジ
ュールの中心点とを直線で結び、結んだ直線をモジュー
ル幅の間隔に分割した点を各モジュールの中心点とす
る。即ち、仮シンボル領域0においては、直線は18本
となり、軸上の内側方向モジュールの中心点を点A1と
点A’1とするとき、点A1と点A’1とを結んだ直線
は、6個に分割され、分割された点がモジュールの中心
点となる。また、点Akと点A’kとを結んだ直線は、
(k+5)個に分割され、分割された点がモジュールの
中心点となる。
【0206】次に、算出した各モジュールの中心点の位
置に対応する画素データに基づいて、「黒」=1または
「白」=0からなる色パターンに変換し(S110
4)、データモジュール探索処理を終了する。尚、ステ
ップS1104の色パターンの変換は、実モジュールに
ついてのみ実行する。 また、本発明の二次元コード読
み取り方法は、データキャラクタ変換ステップにおい
て、データモジュールの位置を、二次元配列であるBT
(n,m)を要素とする二次元ビット配列テーブルによ
って指定する。
【0207】また、本発明の二次元コード読み取り方法
は、データキャラクタ変換ステップにおいて、所定のコ
ードワード変換テーブルが、所定のコードワードをi番
目のコードワードとし、所定のコードワードにおける所
定のビットデータをi番目のコードワードのj番目のビ
ットデータとするとき、下記の関係式を満たす値である
CT(n,m)を要素とするコードワード二次元配列テ
ーブルである。
【0208】i=[CT(n,m)/256] j=CT(n,m)−i*256 次に、上述したデータキャラクタ変換ステップについて
詳細に説明する。
【0209】図12は、MaxiCodeシンボルのデ
コード処理におけるデータキャラクタ変換処理のフロー
チャート図である。
【0210】データキャラクタ変換は、データモジュー
ルの色パターンをビット変換し、変換したビットデータ
をコードワード変換し、コードワードをデータキャラク
タに変換することから構成される。
【0211】図22は、コードワードを示す図である。
【0212】図22に示すように、コードワードは、デ
ータ1文字を表すビット列であり、データモジュール6
個から成る6ビット分のデータと2ビット分のビット0
のデータから構成されている。従って、コードワード変
換とは、ビット変換したビットデータが、i番目のコー
ドワードのj番目ビットデータに対応するときの、iと
jを算出することである。
【0213】まず、MaxiCodeシンボルにおけ
る、データモジュールの位置の色パターンをビットデー
タとして、二次元ビット配列テーブルに格納する(ステ
ップS1201)。ここで、二次元ビット配列テーブル
をBT(n,m)で表す。また、nは、n=0〜29の
整数であり、mは、m=0〜32の整数である。
【0214】図23は、二次元ビット配列テーブルを示
す図である。図23(a)は、MaxiCodeシンボ
ルのモジュールデータの位置と二次元ビット配列テーブ
ルとの関係を示す図である。図23(b)は、二次元ビ
ット配列テーブルの格納データを示す図である。
【0215】図23に示すように、例えば、MaxiC
odeシンボルの右から3列目、上から3段目に存在す
るモジュールデータのビットデータは、二次元ビット配
列テーブルのBT(27,2)に格納される。
【0216】次に、コードワード二次元配列テーブルの
要素データに基づいて、二次元ビット配列テーブルに格
納されているビットデータを、コードワード変換におけ
るi番目のコードワードのj番目のビットデータとする
(ステップS1202)。
【0217】図24は、コードワード二次元配列テーブ
ルを示す図である。ここで、コードワード二次元配列テ
ーブルをCT(n,m)で表す。また、nは、n=0〜
29の整数であり、mは、m=0〜32の整数である。
【0218】コードワード二次元配列テーブルのCT
(n,m)と、コードワード変換におけるiおよびjと
は、下記の関係式によって表される。
【0219】i=[CT(n,m)/256] j=CT(n,m)−i*256 図24に示すように、例えば、コードワード二次元配列
テーブルのCT(27,2)は8452である。従っ
て、i=[8452/256]=33、j=8452−
33*256=4となり、33番目のコードワードの4
番目のビットデータとなる。なお、ソフトウェアの処理
は、BT(n,m)によって表されたビット値1または
0を(5−j)ビットだけ、ビットシフトした値をi番
目のコードワードに代入することによって行われる。
【0220】図25は、二次元ビット配列テーブルに格
納されているビットデータとコードワード二次元配列テ
ーブルの要素データとの関係を示す図である。
【0221】図25に示すように、二次元ビット配列テ
ーブルBT(n,m)のビットデータが、コードワード
二次元配列テーブルCT(n,m)から算出されるi番
目のコードワードのj番目のビットデータとなる。例え
ば、BT(27,2)=0は、33番目のコードワード
の4番目のビットデータとなる。
【0222】次に、全てのデータモジュールをコードワ
ード変換したか否かを判定する(ステップS120
3)。全てのデータモジュールをコードワード変換した
場合(ステップS1203;Yes)は、次のステップ
S1204に移る。一方、全てのデータモジュールをコ
ードワード変換していない場合(ステップS1203;
No)は、全てのデータモジュールをコードワード変換
するまで、ステップS1201とステップ1202を繰
り返す。
【0223】次に、変換作業やデータ破損等により情報
を失っているビット配列をエラー訂正処理により、正し
い情報に復元する(ステップS1204)。エラー訂正
処理は、情報を失っているビット配列の情報量により正
しい情報に復元できない場合もある。
【0224】従って、エラー訂正処理により、正しい情
報に復元できたか否かを判定する(ステップS120
5)。エラー訂正処理により正しい情報に復元できた場
合(ステップS1205;Yes)は、全てのコードワ
ードをデフォルトキャラクタセット表に基づいて、デー
タキャラクタに変換し(ステップS1206)、デコー
ド処理を終了する。図26は、デフォルトキャラクタセ
ット表の一部を示す図である。
【0225】一方、エラー訂正処理により正しい情報に
復元できなかった場合(ステップS1205;No)
は、MaxiCodeシンボルを認識できなかったとし
てエラー処理を実行し(ステップS1207)、デコー
ド処理を終了する。
【0226】また、本発明の情報記録媒体は、上述の二
次元コード読み取り方法のプログラムを記録することも
できる。
【0227】また、本発明の情報記録媒体は、コンパク
ト・ディスク、フロッピー・ディスク、ハード・ディス
ク、光磁気ディスク、デジタル・ビデオ・ディスク、も
しくは磁気テープであっても良い。
【0228】また、本発明の二次元コード読み取り装置
は、二次元コードのシンボルの読み取り画像において、
所定の点から所定の距離にあり、かつ所定の角度間隔で
配置される画素データ群の「黒」または「白」の色パタ
ーンから構成される色パターンが、所定の色テンプレー
トパターンに一致する複数の画素データ群を探索し、探
索した複数の画素データ群に基づいて、二次元コードの
シンボルの読み取り画像における、方向モジュール群を
構成する複数の方向モジュールを検出し、複数の方向モ
ジュールの位置情報および図形情報を取得する方向モジ
ュール探索手段を備えている。
【0229】また、本発明の二次元コード読み取り装置
は、方向モジュール探索手段において、所定の色テンプ
レートパターンが、第1の色テンプレートパターン、第
2の色テンプレートパターンおよび第3の色テンプレー
トパターンから構成されている。
【0230】また、本発明の二次元コード読み取り装置
は、方向モジュール探索手段において、所定の距離は、
第1の色テンプレートパターン、第2の色テンプレート
パターンおよび第3の色テンプレートパターンによって
異なる。
【0231】また、本発明の二次元コード読み取り装置
は、所定の距離が、モジュール幅に所定の値を乗じた値
である。
【0232】また、本発明の二次元コード読み取り装置
は、モジュール幅が、二次元コードのシンボルの読み取
り画像のファインダーパターンの図形情報と、所定の範
囲内に存在する所定の間隔の値であるRate数とに基
づいて算出される。
【0233】また、本発明の二次元コード読み取り装置
は、方向モジュール探索手段が、所定の距離に基づいて
探索した複数の画素データ群を、方向モジュールの中心
点の複数の同一距離候補データとし、複数の同一距離候
補データに基づいて、所定の距離における方向モジュー
ルの中心点の1個の候補データを算出する手段と、Ra
te数に基づいて算出された、複数の所定の距離におけ
る方向モジュールの中心点の候補データから、方向モジ
ュールの中心点の位置を算出する手段と、を備えてい
る。
【0234】また、本発明の二次元コード読み取り装置
は、方向モジュール探索手段が、所定の方向モジュール
の中心点の位置が所定の位置となるように、二次元コー
ドのシンボルの読み取り画像の位置情報を変換する手段
を備えている。
【0235】また、本発明の二次元コード読み取り装置
は、二次元コードのシンボルの読み取り画像において、
所定の点から所定の距離にあり、かつ所定の角度間隔で
配置される、複数の方向モジュールの位置情報および図
形情報に基づいて、所定の点と方向モジュールの中心点
とを通る軸上に存在するデータモジュール群の位置情報
を検出し、検出した軸上のデータモジュール群の位置情
報に基づいて、隣り合う軸によって構成される軸間のデ
ータモジュール群の位置情報を検出するデータモジュー
ル探索手段を備えている。
【0236】また、本発明の二次元コード読み取り装置
は、二次元コードのシンボルの読み取り画像において、
データモジュール群を構成するデータモジュールの位置
を、所定のコードワード変換テーブルに基づいて、所定
のコードワードと所定のコードワードにおける所定のビ
ットデータに対応付けることによって、データモジュー
ルのビットデータをコードワードに変換し、変換したコ
ードワードを所定のデータキャラクタに変換するデータ
キャラクタ変換手段を備えている。
【0237】また、本発明の二次元コード読み取り装置
は、データキャラクタ変換手段において、データモジュ
ールの位置を、二次元配列であるBT(n,m)を要素
とする二次元ビット配列テーブルによって指定する。
【0238】また、本発明の二次元コード読み取り装置
は、データキャラクタ変換手段において、所定のコード
ワード変換テーブルが、所定のコードワードをi番目の
コードワードとし、所定のコードワードにおける所定の
ビットデータをi番目のコードワードのj番目のビット
データとするとき、下記の関係式を満たす値であるCT
(n,m)を要素とするコードワード二次元配列テーブ
ルである。
【0239】i=[CT(n,m)/256] j=CT(n,m)−i*256 また、本発明の二次元コード読み取り装置は、二次元コ
ードのシンボルの読み取り画像において、所定の点から
所定の距離にあり、かつ所定の角度間隔で配置される、
複数の方向モジュールの位置情報および図形情報に基づ
いて、所定の点と方向モジュールの中心点とを通る軸上
に存在するデータモジュール群の位置情報を検出し、検
出した軸上のデータモジュール群の位置情報に基づい
て、隣り合う軸によって構成される軸間のデータモジュ
ール群の位置情報を検出するデータモジュール探索手段
を、上述の方向モジュール探索手段に、更に備えてい
る。
【0240】また、本発明の二次元コード読み取り装置
は、二次元コードのシンボルの読み取り画像において、
データモジュール群を構成するデータモジュールの位置
を、所定のコードワード変換テーブルに基づいて、所定
のコードワードと所定のコードワードにおける所定のビ
ットデータに対応付けることによって、データモジュー
ルのビットデータをコードワードに変換し、変換したコ
ードワードを所定のデータキャラクタに変換するデータ
キャラクタ変換手段を、上述の方向モジュール探索手段
またはデータモジュール探索手段に、更に備えている。
【0241】また、本発明の二次元コード読み取り装置
は、二次元コードのシンボルは、MaxiCodeシン
ボルである。
【0242】
【発明の効果】以上説明したように、本発明によれば、
以下の効果を奏する。
【0243】二次元コードのシンボルを読み取った読み
取り画像の方向モジュール探索範囲の画素データにおい
て、色テンプレートパターンと一致する画素データを検
出し、検出した画素データに基づいて、全ての方向モジ
ュールを探索する方向モジュール探索方法によって、二
次元コードのシンボルであるMaxiCodeシンボル
の読み取り画像のデコード処理の処理時間を短縮するこ
とができる。
【0244】また、探索した方向モジュールの位置情報
と図形情報に基づた軸を考え、軸上のデータモジュール
および軸間のデータモジュールを検出するデータモジュ
ール探索方法によって、二次元コードのシンボルである
MaxiCodeシンボルの読み取り画像のデコード処
理の処理時間を短縮することができる。
【0245】また、検出したデータモジュールのビット
データを二次元ビット配列テーブルに格納し、コードワ
ード二次元配列テーブルに基づいてコードワード変換
し、更にデータキャラクタに変換するデータキャラクタ
変換方法によって、二次元コードのシンボルであるMa
xiCodeシンボルの読み取り画像のデコード処理の
時間を短縮することができる。
【0246】また、上述した二次元コード読み取り方法
のプログラムを記録した情報記録媒体をソフトウェア商
品として、容易に配布したり販売したりすることができ
る。
【0247】また、上述した二次元コード読み取り方法
を実行する手段を備えた二次元コード読み取り装置を提
供することができる。
【図面の簡単な説明】
【図1】二次元コード読み取り装置のブロック構成図で
ある。
【図2】二次元コード読み取り装置の機能ブロック図で
ある。
【図3】二次元コード読み取り方法におけるデコード処
理のフローチャート図である。
【図4】デコード処理における方向モジュール探索処理
のフローチャート図である.
【図5】方向モジュール探索処理における方向モジュー
ル候補データ探索処理のフローチャート図である。
【図6】方向モジュール候補データ探索処理における内
側方向モジュール候補検出処理のフローチャート図であ
る。
【図7】方向モジュール候補データ探索処理における外
側方向モジュール候補検出処理のフローチャート図であ
る。
【図8】方向モジュール候補データ探索処理における中
央方向モジュール候補検出処理のフローチャート図であ
る。
【図9】方向モジュール候補データ探索処理における方
向モジュール候補決定処理のフローチャート図である。
【図10】方向モジュール探索処理における方向モジュ
ール決定処理のフローチャート図である。
【図11】デコード処理におけるデータモジュール探索
処理のフローチャート図である。
【図12】デコード処理におけるデータキャラクタ変換
処理のフローチャート図である。
【図13】(a)モジュール幅を示す図、(b)モジュ
ール幅と内側方向モジュールの中心点の位置との関係図
である。
【図14】色テンプレートパターンを示す図である。
【図15】探索角度θにおける仮の方向モジュールの位
置を示す図である。
【図16】(a)データ変換前の同一の方向モジュール
に対応する候補データを示す図、(b)データ変換後の
同一の方向モジュールに対応する候補データを示す図で
ある。
【図17】Rate数nにおける方向モジュールの候補
データの決定方法を示す図である。
【図18】方向モジュールの中心点の位置決定を示す図
である。
【図19】(a)データ変換工程を示す図、(b)方向
モジュールの配列番号を示す図である。
【図20】(a)軸上の実モジュールと仮モジュールを
示す図、(b)軸上のデータモジュールの位置を示す図
である。
【図21】(a)軸間の実モジュールと仮モジュールを
示す図、(b)軸間のデータモジュールの位置を示す図
である。
【図22】コードワードを示す図である。
【図23】(a)MaxiCodeシンボルのモジュー
ルデータの位置と二次元ビット配列テーブルとの関係
図、(b)二次元ビット配列テーブルの格納データを示
す図である。
【図24】コードワード二次元配列テーブルを示す図で
ある。
【図25】二次元ビット配列テーブルに格納されている
ビットデータとコードワード二次元配列テーブルの要素
データとの関係図である。
【図26】デフォルトキャラクタセット表を示す図であ
る。
【図27】(a)MaxiCodeシンボルの全体図、
(b)ファインダーパターンと方向モジュールを示す図
である。
【図28】MaxiCodeシンボルのモジュール群を
示す図である。
【図29】実際のMaxiCodeシンボルにおけるフ
ァインダーパターンと方向モジュールを示す図である。
【符号の説明】
1301 ファインダーパターンの白色部 1302 ファインダーパターンの黒色部 1303 色境界図形 2700 MaxiCodeシンボル 2701 ファインダーパターン 2702 モジュール 2703 方向モジュール群 2800 モジュール群 2801a〜2801f 方向モジュール群 2802 データモジュール群 2803 内側方向モジュール 2804 外側方向モジュール 2805 中央方向モジュール 2901 内側方向モジュールの中心点を結んだ図形 2902 外側方向モジュールの中心点を結んだ図形 2903 色境界図形

Claims (30)

    【特許請求の範囲】
  1. 【請求項1】 二次元コードのシンボルの読み取り画像
    において、所定の点から所定の距離にあり、かつ所定の
    角度間隔で配置される画素データ群の「黒」または
    「白」から構成される色パターンが、所定の色テンプレ
    ートパターンに一致する複数の画素データ群を探索し、
    探索した複数の前記画素データ群に基づいて、前記二次
    元コードのシンボルの読み取り画像における、方向モジ
    ュール群を構成する複数の方向モジュールを検出し、前
    記複数の方向モジュールの位置情報および図形情報を取
    得する方向モジュール探索ステップを備えた二次元コー
    ド読み取り方法。
  2. 【請求項2】 前記方向モジュール探索ステップにおい
    て、前記所定の色テンプレートパターンが、第1の色テ
    ンプレートパターン、第2の色テンプレートパターンお
    よび第3の色テンプレートパターンから構成されている
    ことを特徴とする、請求項1に記載の二次元コード読み
    取り方法。
  3. 【請求項3】 前記方向モジュール探索ステップにおい
    て、前記所定の距離は、前記第1の色テンプレートパタ
    ーン、前記第2の色テンプレートパターンおよび前記第
    3の色テンプレートパターンによって異なることを特徴
    とする、請求項1または2に記載の二次元コード読み取
    り方法。
  4. 【請求項4】 前記所定の距離が、モジュール幅に所定
    の値を乗じた値であることを特徴とする、請求項3に記
    載の二次元コード読み取り方法。
  5. 【請求項5】 前記モジュール幅が、前記二次元コード
    のシンボルの読み取り画像のファインダーパターンの図
    形情報と、所定の範囲内に存在する所定の間隔の値であ
    るRate数とに基づいて算出されることを特徴とす
    る、請求項4に記載の二次元コード読み取り方法。
  6. 【請求項6】 前記方向モジュール探索ステップが、前
    記所定の距離に基づいて探索した複数の前記画素データ
    群を、前記方向モジュールの中心点の複数の同一距離候
    補データとし、複数の前記同一距離候補データに基づい
    て、前記所定の距離における前記方向モジュールの中心
    点の1個の候補データを算出するステップと、前記Ra
    te数に基づいて算出された、複数の前記所定の距離に
    おける方向モジュールの中心点の候補データから、方向
    モジュールの中心点の位置を算出するステップと、を備
    えること特徴とする、請求項5に記載の二次元コード読
    み取り方法。
  7. 【請求項7】 前記方向モジュール探索ステップが、所
    定の前記方向モジュールの中心点の位置が所定の位置と
    なるように、二次元コードのシンボルの読み取り画像の
    位置情報を変換するステップを備えることを特徴とす
    る、請求項1または6に記載の二次元コード読み取り方
    法。
  8. 【請求項8】 二次元コードのシンボルの読み取り画像
    において、所定の点から所定の距離にあり、かつ所定の
    角度間隔で配置される、複数の方向モジュールの位置情
    報および図形情報に基づいて、前記所定の点と前記方向
    モジュールの中心点とを通る軸上に存在するデータモジ
    ュール群の位置情報を検出し、検出した前記軸上のデー
    タモジュール群の位置情報に基づいて、隣り合う前記軸
    によって構成される軸間のデータモジュール群の位置情
    報を検出するデータモジュール探索ステップを備えた二
    次元コード読み取り方法。
  9. 【請求項9】 二次元コードのシンボルの読み取り画像
    において、データモジュール群を構成するデータモジュ
    ールの位置を、所定のコードワード変換テーブルに基づ
    いて、所定のコードワードと所定の前記コードワードに
    おける所定のビットデータに対応付けることによって、
    データモジュールのビットデータを前記コードワードに
    変換し、変換した前記コードワードを所定のデータキャ
    ラクタに変換するデータキャラクタ変換ステップを備え
    た二次元コード読み取り方法。
  10. 【請求項10】 前記データキャラクタ変換ステップに
    おいて、前記データモジュールの位置を、二次元配列で
    あるBT(n,m)を要素とする二次元ビット配列テー
    ブルによって指定することを特長とする、請求項9に記
    載の二次元コード読み取り方法。
  11. 【請求項11】 前記データキャラクタ変換ステップに
    おいて、前記所定のコードワード変換テーブルが、所定
    の前記コードワードをi番目のコードワードとし、所定
    の前記コードワードにおける所定の前記ビットデータを
    i番目のコードワードのj番目のビットデータとすると
    き、下記の関係式を満たす値であるCT(n,m)を要
    素とするコードワード二次元配列テーブルであることを
    特長とする、請求項9または10に記載の二次元コード
    読み取り方法。 i=[CT(n,m)/256] j=CT(n,m)−i*256
  12. 【請求項12】 二次元コードのシンボルの読み取り画
    像において、所定の点から所定の距離にあり、かつ所定
    の角度間隔で配置される、複数の方向モジュールの位置
    情報および図形情報に基づいて、前記所定の点と前記方
    向モジュールの中心点とを通る軸上に存在するデータモ
    ジュール群の位置情報を検出し、検出した前記軸上のデ
    ータモジュール群の位置情報に基づいて、隣り合う前記
    軸によって構成される軸間のデータモジュール群の位置
    情報を検出するデータモジュール探索ステップを更に備
    えることを特徴とする、請求項1に記載の二次元コード
    読み取り方法。
  13. 【請求項13】 二次元コードのシンボルの読み取り画
    像において、データモジュール群を構成するデータモジ
    ュールの位置を、所定のコードワード変換テーブルに基
    づいて、所定のコードワードと所定の前記コードワード
    における所定のビットデータに対応付けることによっ
    て、データモジュールのビットデータを前記コードワー
    ドに変換し、変換した前記コードワードを所定のデータ
    キャラクタに変換するデータキャラクタ変換ステップを
    更に備えることを特徴とする、請求項1、8、または1
    2に記載の二次元コード読み取り方法。
  14. 【請求項14】 前記二次元コードのシンボルは、Ma
    xiCodeシンボルであることを特徴とする、請求項
    1に記載の二次元コード読み取り方法。
  15. 【請求項15】 請求項1から14のいずれか1項に記
    載の二次元コード読み取り方法のプログラムを記録した
    情報記録媒体。
  16. 【請求項16】 前記情報記録媒体は、コンパクト・デ
    ィスク、フロッピー(登録商標)・ディスク、ハード・
    ディスク、光磁気ディスク、デジタル・ビデオ・ディス
    ク、もしくは磁気テープであることを特徴とする、請求
    項15に記載のプログラムを記録した情報記録媒体。
  17. 【請求項17】 二次元コードのシンボルの読み取り画
    像において、所定の点から所定の距離にあり、かつ所定
    の角度間隔で配置される画素データ群の「黒」または
    「白」から構成される色パターンが、所定の色テンプレ
    ートパターンに一致する複数の画素データ群を探索し、
    探索した複数の前記画素データ群に基づいて、前記二次
    元コードのシンボルの読み取り画像における、方向モジ
    ュール群を構成する複数の方向モジュールを検出し、前
    記複数の方向モジュールの位置情報および図形情報を取
    得する方向モジュール探索手段を備えた二次元コード読
    み取り装置。
  18. 【請求項18】 前記方向モジュール探索手段におい
    て、前記所定の色テンプレートパターンが、第1の色テ
    ンプレートパターン、第2の色テンプレートパターンお
    よび第3の色テンプレートパターンから構成されている
    ことを特徴とする、請求項17に記載の二次元コード読
    み取り装置。
  19. 【請求項19】 前記方向モジュール探索手段におい
    て、前記所定の距離は、前記第1の色テンプレートパタ
    ーン、前記第2の色テンプレートパターンおよび前記第
    3の色テンプレートパターンによって異なることを特徴
    とする、請求項17または18に記載の二次元コード読
    み取り装置。
  20. 【請求項20】 前記所定の距離が、モジュール幅に所
    定の値を乗じた値であることを特徴とする、請求項19
    に記載の二次元コード読み取り装置。
  21. 【請求項21】 前記モジュール幅が、前記二次元コー
    ドのシンボルの読み取り画像のファインダーパターンの
    図形情報と、所定の範囲内に存在する所定の間隔の値で
    あるRate数とに基づいて算出されることを特徴とす
    る、請求項20に記載の二次元コード読み取り装置。
  22. 【請求項22】 前記方向モジュール探索手段が、前記
    所定の距離に基づいて探索した複数の前記画素データ群
    を、前記方向モジュールの中心点の複数の同一距離候補
    データとし、複数の前記同一距離候補データに基づい
    て、前記所定の距離における前記方向モジュールの中心
    点の1個の候補データを算出する手段と、前記Rate
    数に基づいて算出された、複数の前記所定の距離におけ
    る方向モジュールの中心点の候補データから、方向モジ
    ュールの中心点の位置を算出する手段と、を備えること
    特徴とする、請求項22に記載の二次元コード読み取り
    装置。
  23. 【請求項23】 前記方向モジュール探索手段が、所定
    の前記方向モジュールの中心点の位置が所定の位置とな
    るように、二次元コードのシンボルの読み取り画像の位
    置情報を変換する手段を備えることを特徴とする、請求
    項17または22に記載の二次元コード読み取り装置。
  24. 【請求項24】 二次元コードのシンボルの読み取り画
    像において、所定の点から所定の距離にあり、かつ所定
    の角度間隔で配置される、複数の方向モジュールの位置
    情報および図形情報に基づいて、前記所定の点と前記方
    向モジュールの中心点とを通る軸上に存在するデータモ
    ジュール群の位置情報を検出し、検出した前記軸上のデ
    ータモジュール群の位置情報に基づいて、隣り合う前記
    軸によって構成される軸間のデータモジュール群の位置
    情報を検出するデータモジュール探索手段を備えた二次
    元コード読み取り装置。
  25. 【請求項25】 二次元コードのシンボルの読み取り画
    像において、データモジュール群を構成するデータモジ
    ュールの位置を、所定のコードワード変換テーブルに基
    づいて、所定のコードワードと所定の前記コードワード
    における所定のビットデータに対応付けることによっ
    て、データモジュールのビットデータを前記コードワー
    ドに変換し、変換した前記コードワードを所定のデータ
    キャラクタに変換するデータキャラクタ変換手段を備え
    た二次元コード読み取り装置。
  26. 【請求項26】 前記データキャラクタ変換手段におい
    て、前記データモジュールの位置を、二次元配列である
    BT(n,m)を要素とする二次元ビット配列テーブル
    によって指定することを特長とする、請求項25に記載
    の二次元コード読み取り装置。
  27. 【請求項27】 前記データキャラクタ変換手段におい
    て、前記所定のコードワード変換テーブルが、所定の前
    記コードワードをi番目のコードワードとし、所定の前
    記コードワードにおける所定の前記ビットデータをi番
    目のコードワードのj番目のビットデータとするとき、
    下記の関係式を満たす値であるCT(n,m)を要素と
    するコードワード二次元配列テーブルであることを特長
    とする、請求項25または26に記載の二次元コード読
    み取り装置。 i=[CT(n,m)/256] j=CT(n,m)−i*256
  28. 【請求項28】 二次元コードのシンボルの読み取り画
    像において、所定の点から所定の距離にあり、かつ所定
    の角度間隔で配置される、複数の方向モジュールの位置
    情報および図形情報に基づいて、前記所定の点と前記方
    向モジュールの中心点とを通る軸上に存在するデータモ
    ジュール群の位置情報を検出し、検出した前記軸上のデ
    ータモジュール群の位置情報に基づいて、隣り合う前記
    軸によって構成される軸間のデータモジュール群の位置
    情報を検出するデータモジュール探索手段を更に備える
    ことを特徴とする、請求項17に記載の二次元コード読
    み取り装置。
  29. 【請求項29】 二次元コードのシンボルの読み取り画
    像において、データモジュール群を構成するデータモジ
    ュールの位置を、所定のコードワード変換テーブルに基
    づいて、所定のコードワードと所定の前記コードワード
    における所定のビットデータに対応付けることによっ
    て、データモジュールのビットデータを前記コードワー
    ドに変換し、変換した前記コードワードを所定のデータ
    キャラクタに変換するデータキャラクタ変換手段を更に
    備えることを特徴とする、請求項17、24、または2
    8に記載の二次元コード読み取り装置。
  30. 【請求項30】 前記二次元コードのシンボルは、Ma
    xiCodeシンボルであることを特徴とする、請求項
    17に記載の二次元コード読み取り装置。
JP2000237086A 2000-04-06 2000-08-04 二次元コード読み取り方法、情報記録媒体及び二次元コード読み取り装置 Withdrawn JP2002049889A (ja)

Priority Applications (9)

Application Number Priority Date Filing Date Title
JP2000237086A JP2002049889A (ja) 2000-08-04 2000-08-04 二次元コード読み取り方法、情報記録媒体及び二次元コード読み取り装置
DE60118051T DE60118051T2 (de) 2000-04-06 2001-04-05 Verfahren und Vorrichtung zum Lesen von einem zwei-dimensionalen Strichkode und Datenspeichermedium
AT01108629T ATE321310T1 (de) 2000-04-06 2001-04-05 Verfahren und vorrichtung zum lesen von einem zwei-dimensionalen strichkode und datenspeichermedium
EP01108629A EP1143372B1 (en) 2000-04-06 2001-04-05 Method of and apparatus for reading a two-dimensional bar code symbol and data storage medium
ES01108629T ES2256106T3 (es) 2000-04-06 2001-04-05 Metodo y aparato para leer un simbolo de codigo de barra bidimensional y medio de almacenamiento de datos.
KR1020010018244A KR100579356B1 (ko) 2000-04-06 2001-04-06 2차원 코드 판독 방법, 정보 기록 매체 및 2차원 코드판독 장치
CN01119210A CN1334544A (zh) 2000-04-06 2001-04-06 二维代码读取方法、信息记录媒体和二维代码读取装置
US09/828,453 US6604682B2 (en) 2000-04-06 2001-04-06 Method of and apparatus for reading a two-dimensional bar code symbol and data storage medium
HK02105405.6A HK1043852A1 (zh) 2000-04-06 2002-07-22 二維代碼讀取方法、信息記錄媒體和二維代碼讀取裝置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000237086A JP2002049889A (ja) 2000-08-04 2000-08-04 二次元コード読み取り方法、情報記録媒体及び二次元コード読み取り装置

Publications (1)

Publication Number Publication Date
JP2002049889A true JP2002049889A (ja) 2002-02-15

Family

ID=18729006

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000237086A Withdrawn JP2002049889A (ja) 2000-04-06 2000-08-04 二次元コード読み取り方法、情報記録媒体及び二次元コード読み取り装置

Country Status (1)

Country Link
JP (1) JP2002049889A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017097624A (ja) * 2015-11-24 2017-06-01 日鉄住金テックスエンジ株式会社 二次元コード、画像読取り装置、画像読取り方法及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017097624A (ja) * 2015-11-24 2017-06-01 日鉄住金テックスエンジ株式会社 二次元コード、画像読取り装置、画像読取り方法及びプログラム

Similar Documents

Publication Publication Date Title
US6604682B2 (en) Method of and apparatus for reading a two-dimensional bar code symbol and data storage medium
CN100390807C (zh) 一种易于全方位识别的三边形多维条码的识读方法
US9014479B2 (en) Method and system for text-image orientation
US20060175414A1 (en) Method for reading out symbol information and device for reading out symbol information
CN1136848A (zh) 指纹匹配系统
JP2004054529A (ja) 2次元コード読み取り方法,2次元コード読み取りプログラム,該2次元コード読み取りプログラムの記録媒体及び2次元コード読み取り装置
CN108806059A (zh) 基于特征点的票据对齐和八邻域连通体偏移修正的文本区域定位方法
KR102375325B1 (ko) 원거리 고밀도 시각적 마커의 검출 및 인식 방법
CN111476210A (zh) 基于图像的文本识别方法、系统、设备及存储介质
Dai et al. SLOAN: Scale-adaptive orientation attention network for scene text recognition
CN109977715B (zh) 基于轮廓识别的二维码识别方法及二维码
JP2002049889A (ja) 二次元コード読み取り方法、情報記録媒体及び二次元コード読み取り装置
JP4793868B2 (ja) 筆記媒体、加筆情報検出装置、加筆情報検出方法、プログラム及び記録媒体
JP2002157549A (ja) 二次元コード読み取り方法、情報記録媒体及び二次元コード読み取り装置
JP2002024752A (ja) 二次元コード読み取り方法、情報記録媒体及び二次元コード読み取り装置
JPH11144054A (ja) 画像認識方法および画像認識装置ならびに記録媒体
Gu et al. Weakly supervised attention rectification for scene text recognition
CN111191759A (zh) 一种二维码的生成方法和基于gpu的定位、解码方法
JP3853331B2 (ja) デジタル情報記録方法
KR100701292B1 (ko) 이미지 코드 및 그 인식방법과 장치
JP3661774B2 (ja) 文字列認識方法、文字認識装置およびプログラム
JP4720805B2 (ja) 画像処理装置及びプログラム
CN110046688B (zh) 一种条码的定位与识别方法
CN110348265B (zh) 一种基于平行坐标系的新型矩阵码还原方法
JP4102742B2 (ja) 光学的情報読取装置及び画像データ解析方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20071106