(57)【特許請求の範囲】
【請求項１】
規定形状の特徴パターン（１１）がコード領域内の所定位置に配置された二次元コード（１０）を撮像する撮像部（３）と、
前記撮像部（３）が前記二次元コード（１０）を撮像して得られたコード画像から前記特徴パターン（１１）を抽出する抽出部（５）と、
前記撮像部（３）で生成された前記コード画像に基づいて、前記二次元コード（１０）の画像サイズを検出する検出部（５）と、
前記検出部（５）による検出結果に基づき、前記コード画像内での前記特徴パターン（１１）のサイズに対応するサイズで前記規定形状の置換パターン（２１）を生成する生成部（５）と、
前記コード画像において前記特徴パターン（１１）の領域と前記生成部（５）で生成された前記置換パターン（２１）とを置換し、置換画像を生成する置換部（５）と、
前記抽出部（５）による前記特徴パターン（１１）の抽出結果に基づいて前記コード画像の解読を試み、解読不能の場合に前記置換部（５）で生成された前記置換画像の解読を試みる解読部（５）と、
を有し、
前記二次元コード（１０）は、前記特徴パターン（１１）の外部に隣接してマージン領域（１２）が設けられるものであり、
前記生成部（５）は、前記コード画像内での前記特徴パターン（１１）のサイズに対応するサイズで前記規定形状の前記置換パターン（２１）を生成すると共に当該置換パターン（２１）に隣接するように前記マージン領域（１２）に対応する色のマージンパターン（２２）を生成し、
前記置換部（５）は、前記コード画像において前記特徴パターン（１１）の領域と前記置換パターン（２１）とを置換すると共に前記マージン領域（１２）の一部と前記マージンパターン（２２）とを置換するように前記置換画像を生成することを特徴とする二次元コード読取装置（１）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二次元コード読取装置に関するものである。
【背景技術】
【０００２】
例えば、ＱＲコード（登録商標）などの二次元コードは、コード領域内の特定の位置に規定形状の特徴パターン（ファインダパターン）が配置される構造となっている。この種の二次元コードを読み取る読取装置では、二次元コードを撮像した後、得られた撮像画像を解析して特徴パターンを抽出し、その抽出結果に基づいてコード領域の正確な位置や姿勢を把握している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２９９０９８公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
二次元コードの使用環境は様々であり、場合によっては、コード領域内にキズや汚れなどが生じることもあり得る。ＱＲコード（登録商標）等には誤り訂正機能があるため、データ領域の一部にキズや汚れが生じても誤り訂正可能な範囲内であればデータを復元できる可能性があるが、キズや汚れ等によって特徴パターンが損傷してしまい、特徴パターンの形状が規定形状から大きく異なってしまうと、二次元コードの撮像画像から特徴パターンを抽出することができなくなってしまい、デコードの初期段階で解読失敗となってしまうことになる。
【０００５】
このような問題を解消しようとする技術としては特許文献１のようなものがある。特許文献１の技術では、ＱＲコード（登録商標）を撮像して得た画像データの傾きを正対に修正した後、その画像データにファインダパターンを付加し、ファインダパターンを付加した後の画像データをデコードしている。しかしながら、この技術は、単に画像データ内の３角にファインダパターンを付加しているだけであるため、コードサイズが変動し得る場合には適切なサイズのファインダパターンが用いられない虞がある。
【０００６】
本発明は、上述した課題を解決するためになされたものであり、規定形状の特徴パターンがコード領域内の所定位置に配置された二次元コードを読取可能に構成され、且つ、特徴パターンを正確に検出しにくい環境下でも適切なサイズの特徴パターンに置き換えて良好に読み取りを行い得る二次元コード読取装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明は、
規定形状の特徴パターン（１１）がコード領域内の所定位置に配置された二次元コード（１０）を撮像する撮像部（３）と、
前記撮像部（３）が前記二次元コード（１０）を撮像して得られたコード画像から前記特徴パターン（１１）を抽出する抽出部（５）と、
前記撮像部（３）で生成された前記コード画像に基づいて、前記二次元コード（１０）の画像サイズを検出する検出部（５）と、
前記検出部（５）による検出結果に基づき、前記コード画像内での前記特徴パターン（１１）のサイズに対応するサイズで前記規定形状の置換パターン（２１）を生成する生成部（５）と、
前記コード画像において前記特徴パターン（１１）の領域と前記生成部（５）で生成された前記置換パターン（２１）とを置換し、置換画像を生成する置換部（５）と、
前記抽出部（５）による前記特徴パターン（１１）の抽出結果に基づいて前記コード画像の解読を試み、解読不能の場合に前記置換部（５）で生成された前記置換画像の解読を試みる解読部（５）と、
を有し、
前記二次元コード（１０）は、前記特徴パターン（１１）の外部に隣接してマージン領域（１２）が設けられるものであり、
前記生成部（５）は、前記コード画像内での前記特徴パターン（１１）のサイズに対応するサイズで前記規定形状の前記置換パターン（２１）を生成すると共に当該置換パターン（２１）に隣接するように前記マージン領域（１２）に対応する色のマージンパターン（２２）を生成し、
前記置換部（５）は、前記コード画像において前記特徴パターン（１１）の領域と前記置換パターン（２１）とを置換すると共に前記マージン領域（１２）の一部と前記マージンパターン（２２）とを置換するように前記置換画像を生成することを特徴とする。
【発明の効果】
【０００８】
請求項１の発明では、撮像部によって生成されたコード画像が解読不能の場合に、規定形状（本来の特徴パターンの形状）で構成された置換パターンを生成し、この置換パターンをコード画像内の特徴パターンの領域と置換した上で解読を行うことができる。従って、例えば特徴パターンの領域にキズや汚れなどが生じてしまい特徴パターンの領域が正確に認識できない場合であっても、その領域を規定形状の置換パターンに置き換えた上で解読を試みることができ、これにより解読が成功する確率を高めることができる。更に、置換パターンを生成する際には、二次元コードの画像サイズを検出した上で、コード画像内での特徴パターンのサイズに対応するサイズで規定形状の置換パターンを生成することができるため、二次元コードの画像サイズが変動し得る環境下であっても置換パターンを適切なサイズ（即ち、実際に撮像された二次元コードに合わせたサイズ）で生成し、置き換えることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明の第１実施形態に係る二次元コード読取装置と読取対象となる二次元コードとを例示する概略図である。
【図２】図２は、図１の二次元コード読取装置の電気的構成を概略的に示すブロック図である。
【図３】図３は、図１の二次元コード読取装置での読取処理の流れを例示するフローチャートである。
【図４】図４は、図３の読取処理における修正処理の流れを例示するフローチャートである。
【図５】図５（Ａ）は、読取対象となる二次元コードの正常な撮像画像を示す説明図であり、図５（Ｂ）は、特徴パターンが欠損した二次元コードの画像を示す説明図であり、図５（Ｃ）は、図５（Ｂ）の画像の一部（特徴パターンの領域）を置換パターンに置き換えた置換画像を示す説明図である。
【図６】図６（Ａ）は、撮像部で撮像された画像（二次元コード付近の撮像画像）を例示する説明図であり、図６（Ｂ）は、二次元コードの位置を特定するために用いるパターンモデルを例示する説明図である。
【図７】図７は、二次元コードの中心位置及び特徴パターンの中心位置等を説明する説明図である。
【図８】図８は、マージンパターンのサイズ、置換パターンのサイズ、特徴パターンの中心位置座標を決めるためのデータの関係を示す説明図である。
【発明を実施するための形態】
【００１０】
[第１実施形態]
以下、本発明を具現化した第１実施形態について、図面を参照して説明する。
まず、図１、図２等を参照して二次元コード読取装置１の全体構成を説明する。
本実施形態では、例えば物品１５が自動車用部品であり、図１等に示す二次元コード読取装置１は、自動車用部品の製造過程において物品１５が所定位置に自動的に配されたときに当該物品１５に付された二次元コード１０を読み取るように構成されている。この二次元コード読取装置１は、主として、撮像部３と、読取部５とを備えており、物品１５が所定位置に配置されたときに撮像部３によって物品１５の所定領域（二次元コード１０の付近）を撮像し、得られた撮像画像を読取部５によって解析し、二次元コード１０を解読するように構成されている。
【００１１】
撮像部３は、例えば、ＣＭＯＳイメージセンサあるいはＣＣＤイメージセンサ等の固体撮像素子、制御回路、通信回路などを備えた汎用カメラとして構成されており、二次元コード１０等を撮像し、この二次元コード１０のコード画像を含んだ画像データを生成するように機能している。この撮像部３は、物品１５が撮像エリア内に存在する所定のタイミングで当該物品１５を撮像し、物品１５を撮像したときにはその撮像画像のデータを読取部５に送信するようになっている。
【００１２】
読取部５は、例えば図２のような情報処理装置として構成されており、ＣＰＵ等からなる制御部３１、液晶モニタ等として構成される表示部３２、ＲＯＭ、ＲＡＭ、ＨＤＤ等からなる記憶部３３、操作ボタン、マウス、キーボード等として構成される操作部３４、通信インターフェースとして構成される通信部３５などを備えており、上述の撮像部３で生成された画像データが入力されるようになっている。
【００１３】
次に、二次元コード読取装置１によって読み取られる二次元コード１０について説明する。
図１の下部に示すように、二次元コード１０は公知のＱＲコード（登録商標）として構成されており、複数のセルＣがマトリックス状に配列されている。この二次元コード１０は、外形が正方形状に構成されたセルＣ（明色セル又は暗色セル）が集合してマトリックス状に配置されたセル集合体として構成されており、二次元コード１０を構成するコード領域Ｃａ（セルＣが配置される領域）は、外形が矩形状の矩形領域とされている。なお、図１では、一部のセルのみについて符号Ｃを付しており、他のセルの符号は省略している。
【００１４】
この二次元コード１０は、予め定められた規定形状の特徴パターン１１がコード領域内の所定位置に配置された構成をなしている。特徴パターン１１は、公知のファインダパターン（以下、切り出しシンボル、位置検出パターンとも言う）として構成され、二次元コード１０のセル配列領域（矩形領域）において４つ設けられた角部のうち、規定の３つの角部に配置されるものである。図１の例では、３つの特徴パターン１１（ファインダパターン１１ａ、１１ｂ、１１ｃ）が同一形状をなし、いずれも外形が矩形状に構成されており、各特徴パターン特定の外縁を構成する２辺によってコード領域Ｃａにおける各角部の角位置が定められている。これら特徴パターン１１は、コード領域Ｃａ（矩形領域）における各セルＣの位置の特定するための要素として機能するものであり、具体的には、二次元コード読取装置１で得られる画像データにおいて規定の角部の位置を特定するために用いられると共に、その画像データにおいて二次元コード１０の向きを特定するために用いられる。
【００１５】
特徴パターン１１は、中心部に第１の色のセル（黒色等の暗色セル１４ａ）が３行３列で配置された形状（大きな正方形形状）をなし、その第１の色のセル（暗色セル１４ａ）の周りを第２の色のセル（白色等の明色セル１４ｂ）が矩形状に囲んでいる。更に、その環状のセル群（明色セル１４ｂのセル群）の周りを第１の色のセル（黒色等の暗色セル１４ｃ）が囲んだ構成をなしている。暗色セル１４ｃによって構成される環状のセル群は、外形が正方形状に構成されている。また、暗色セル１４ｃの環状セル群の２辺（コード外周側ではない２辺）に沿って第２の色のセル（白色等の明色セル１３）がＬ字状に連続するように構成されており、これら暗色セル１４ａ、明色セル１４ｂ、暗色セル１４ｃ、明色セル１３によって特徴パターン１１（切出しシンボル）が全体として矩形状として構成されている。なお、図１では、３つの特徴パターン１１の内、１つのファインダパターン１１ａ（切出しシンボル）に着目して符号を付しており、ファインダパターン１１ａの領域の境界付近を符号ＡＲで概念的に示している。
【００１６】
二次元コード１０において、特徴パターン１１以外の領域には、例えば規格化された公知の要素（タイミングパターン、形式情報、型番情報など）が配置されており、更に、データが記録されるデータ領域や、誤り訂正符号が記録される誤り訂正領域などが設けられている。
【００１７】
また、二次元コード１０は、コード領域Ｃａに隣接して当該コード領域Ｃａを囲むように環状のマージン領域１２が設けられている。マージン領域１２は、特徴パターン１１におけるコード領域Ｃａ境界付近の大部分を占めるセル色（図１の例では暗色セル１４ｃのセル色であり、黒色等の暗色）とは異なるセル色（図１の例では白色等の明色）で環状且つ矩形状に構成され、例えば外周縁の形状及び内周縁の形状が略矩形状となっており、左右の幅Ｗ１、Ｗ２がセル幅の４倍以上（４セル分以上）で構成され、上下の幅Ｈ１、Ｈ２もセル幅の４倍以上（４セル分以上）で構成されている。なお、マージン領域１２の内周縁の形状は、コード領域Ｃａ（セル配列領域）の境界形状と一致することになる。
【００１８】
次に、二次元コード読取装置１での読取処理について説明する。
図３に示す読取処理は、撮像部３及び読取部５で実行される処理であり、例えば、物品１５が撮像部３の撮像エリアに配置されたタイミングで開始され、まず、撮像部３にて物品１５の二次元コード１０付近を撮像し、その画像データ（二次元コード１０のコード画像１０’を含む画像データ（図６（Ａ）参照））を読取部５に入力する（Ｓ１）。そして、Ｓ１の処理で得られた画像データに対して所定の前処理を行う（Ｓ２）。なお、図３の例では、Ｓ２の前処理として公知のエッジ強調処理を行っているが、公知の他の画像処理を行うようにしてもよい。
【００１９】
Ｓ２の処理の後には、Ｓ１、Ｓ２で得られた画像データに基づき、当該画像データに含まれるコード画像の解読を行う（Ｓ３）。このＳ３の解読処理は、ＱＲコード（登録商標）の分野で一般的に用いられる公知の解読方法で行えばよい。具体的には、例えば特許第２８６７９０４号公報などに記載された方法により、図６（Ａ）のようなコード画像１０’から各特徴パターン１１（切り出しシンボル）の領域１１’を抽出すると共に撮像画像内での二次元コード１０の配置（即ち、コード画像１０’におけるコード領域Ｃａ’の配置）を決定し、決定されたコード領域Ｃａ’の配置に基づいて、各セル位置を具体的に特定すると共に各セルの明暗を判別するように解読すればよい。そして、Ｓ３でコード画像の解読が成功した場合には、Ｓ４にてＹｅｓに進み、その解読結果を表示部や外部装置などに出力する（Ｓ１２）。
なお、本実施形態では読取部５が「抽出部」の一例に相当し、撮像部３が二次元コード１０を撮像して得られたコード画像１０’から特徴パターン１１を抽出するように機能する。
【００２０】
一方、Ｓ３でコード画像の解読が失敗した場合には、Ｓ４にてＮｏに進み、Ｓ１で得られた画像に対してＳ２とは異なる条件で前処理を行う。なお、図３の例では、Ｓ５の前処理として、例えば、エッジ強調処理に加え、輝度を増減する輝度補正処理を行っているが、公知の他の画像処理を行ってもよい。
【００２１】
Ｓ５の処理の後には、Ｓ５で得られた画像データに基づき、当該画像データに含まれるコード画像の解読を行う（Ｓ６）。このＳ６の解読処理もＳ３と同様であり、ＱＲコード（登録商標）の分野で一般的に用いられる公知の解読方法で解読を行う。そして、Ｓ６でコード画像の解読が成功した場合には、Ｓ７にてＹｅｓに進み、その解読結果を表示部や外部装置などに出力する（Ｓ１２）。なお、Ｓ１で得られたコード画像１０’が図５（Ａ）のような正常な画像（コード領域内に欠損などが生じていない画像）の場合にはＳ３又はＳ６で解読が成功する可能性が高くなる。
【００２２】
一方、Ｓ６でコード画像の解読が失敗した場合には、Ｓ７にてＮｏに進み、Ｓ１で得られた画像に対して特徴パターン（切り出しシンボル）を修正する処理を行う（Ｓ８）。例えば、図５（Ｂ）のように、特徴パターン１１の部分に傷や汚れなどの汚損部Ａ１，Ａ２が存在し、Ｓ１で得られたコード画像１０’において特徴パターン１１の画像領域１１’が規定形状と大きく異なるような場合、Ｓ３、Ｓ６において特徴パターンを認識できずに解読失敗となる可能性が高い。このような場合、例えば図４のような流れでＳ８の修正処理を行う。
【００２３】
このＳ８の修正処理では、図４に示すようにまずＳ１で取得した画像データの円弧展開を行う。本実施形態では、図１のように円筒状の物品１５の表面に二次元コード１０が付された構成となっており、このように円筒面に沿って配される二次元コード１０をＳ１で撮像しているため、Ｓ２０では、二次元コード１０を平坦にするように展開する。即ち、円筒面に沿うように構成される二次元コード１０を平坦に延ばすように公知の画像処理方式にて画像展開する。なお、Ｓ２０の処理は省略してもよい。
【００２４】
そして、Ｓ１の処理で得られた画像に対してサーチ領域（画像を解析すべき領域）を特定する（Ｓ２１）。本実施形態では、二次元コード１０が所定位置に付された各物品１５が例えば図示しない搬送装置によって順次撮像エリア内に搬送されるようになっており、送り込まれる各物品１５は、撮像エリア内の所定位置付近に二次元コードが配されるように所定の姿勢及び配置で位置決めされるようになっている。そして、このように各物品１５が搬送される毎に撮像部３によって撮像が行われるようになっており、各撮像処理で得られる撮像画像（即ち、図３の解読処理の対象となる各撮像画像）は、画像領域内の特定位置付近に二次元コード１０のコード画像１０’が配されることになる。従って、画像領域内の特定位置付近をコード画像１０’が配されるべき領域（サーチ領域）として予め定めておけばよく、Ｓ２１の処理では、このような設定に従い、Ｓ１で得られた撮像画像においてサーチ領域を特定する。
【００２５】
Ｓ２１の処理の後には、パターンマッチングに用いるパターンモデル（ＱＲモデル）を取得する処理を行う（Ｓ２２）。本実施形態では、例えば図６（Ｂ）に示すような所定形状のパターンＰａがテンプレートとして定められており、このようなパターンＰａを生成するための画像データが例えば記憶部３３に予め記憶されている。このパターンＰａは、物品１５において二次元コード１０の周囲に形成されるマージン領域１２の正規形状（予定された形状）となっており、マージン領域１２が本来予定されている形状で正常に撮像された場合にはマージン領域１２の画像１２’とパターンＰａの画像がほぼ相似形になる。なお、図６の例では、パターンＰａの矩形状の内周縁を符号Ｐａ１で示し、矩形状の外周縁を符号Ｐａ２で示している。また、パターンＰａの中心（即ち、内周縁の中心）を符号Ｐ０で示している。Ｓ２２の処理では、このようなパターンＰａの画像データを記憶部３３から取得する。
【００２６】
Ｓ２２の処理の後には、Ｓ１の処理で生成された撮像画像においてパターンＰａに適合する領域を検出し、その検出結果に基づいてコード領域Ｃａの重心（ＱＲ重心）を検出する（Ｓ２３）。上述したように、Ｓ２２の処理で取得されるパターンＰａは、物品１５において二次元コード１０の周囲に形成されるマージン領域１２の正規形状となっており、Ｓ２３の処理では、このようなパターンＰａの画像を用いてＳ１で得られた撮像画像と公知のパターンマッチングを行い、例えば図６（Ａ）のような撮像画像の中で図６（Ｂ）のようなパターンＰａの画像に適合する位置又は最も適合性の高い位置を検出する。そして、パターンＰａが適合した位置でのパターンＰａの中心位置（パターンＰａの内周縁の中心）に相当する位置をコード領域の中心位置（重心位置）とする。
【００２７】
より具体的には、図６（Ｂ）のようなパターンＰａの画像データを複数サイズ用意し（即ち、パターンＰａと相似の複数の画像データを用意し）、各サイズのパターンＰａをテンプレートとしてＳ１で得られた撮像画像に対しパターンマッチング（例えば公知のテンプレートマッチング）を行う。この場合、複数サイズのパターンＰａの画像（即ち、複数のテンプレート）の内、マージン領域の画像１２’のサイズに最も近いサイズの画像が最も適合性が高くなる。そして、その適合性が最も高いサイズのパターンＰａの画像をコード画像１０’に対してパターンマッチングしたときの当該撮像画像内でのパターンＰａの適合位置（パターンマッチングでの適合性が最も高い位置）を検出し、その適合位置におけるパターンＰａの中心位置を求める。図７の例では、撮像画像の一部（図５（Ｂ）のような場合のコード画像１０’付近）を示しており、適合性が最も高いサイズのパターンＰａの画像と撮像画像（Ｓ１で得られた画像）とをパターンマッチングしたときの撮像画像内でのパターンＰａの適合位置を符号Ｐａ’で示し、そのときの内周縁の位置をＰａ１’で示している。このような場合、パターンＰａの適合位置Ｐａ’の中心位置（具体的には、適合位置における内周縁Ｐａ１’の中心位置Ｐ０）をコード画像１０’におけるコード領域Ｃａ’（セルが配列される領域：図６も参照）の中心位置（重心位置）とする。
【００２８】
Ｓ２４にてコード領域Ｃａ’の中心位置Ｐ０（重心位置）が算出された後には、コード画像１０’における各特徴パターン（切り出しシンボル）の領域１１’の中心位置（重心位置）を決定する。図１のようなＱＲコードでは、矩形状に構成されるコード領域Ｃａの四隅の内の３つの角部に規定形状の特徴パターン１１が配置されるように定められており、本実施形態では、撮像画像においてファインダパターン１１ａの画像１１ａ’が左上、ファインダパターン１１ｂの画像１１ｂ’が左下、ファインダパターン１１ｃの画像１１ｃ’が右下となるように撮像時の物品１５の姿勢が定められている。従って、コード領域Ｃａ’における特徴パターンの中心の候補位置は、コード領域Ｃａ’の中心位置Ｐ０からＸ軸方向、Ｙ軸方向にそれぞれ一定値Ｗ，Ｈだけ離れた左上位置Ｐ１、左下位置Ｐ２、右下位置Ｐ３となる。
【００２９】
Ｓ２４では、このような３位置Ｐ１〜Ｐ３の座標を算出し、各特徴パターン（切り出しシンボル）の画像１１’の中心位置（重心位置）を求めている。具体的には、Ｓ２３の処理にてコード領域Ｃａ’の中心位置Ｐ０が定まり、Ｓ２３で最も適合性が高かったパターンＰａのサイズによってコード領域Ｃａ’のサイズ（パターンＰａの内周縁Ｐａ１’のサイズ）が特定されると、コード領域Ｃａ’の中心位置Ｐ０から各特徴パターンの中心位置の候補となる３つの位置Ｐ１〜Ｐ４までのＸ軸方向の距離Ｗ及びＹ軸方向の距離Ｈを特定できる。図７の例では、中心位置Ｐ０の座標を（Ｘｇ，Ｙｇ）とし、コード領域Ｃａ’の行方向（複数行複数列でセルが並ぶコード領域Ｃａ’の横の並び方向）をＸ軸方向とし、列方向（複数行複数列でセルが並ぶコード領域Ｃａ’の縦の並び方向）をＹ軸方向としており、Ｐ１の座標は、（Ｘｇ−Ｗ，Ｙｇ＋Ｈ）となり、Ｐ２は、（Ｘｇ−Ｗ，Ｙｇ−Ｈ）となり、Ｐ３は、（Ｘｇ＋Ｗ，Ｙｇ−Ｈ）となる。
【００３０】
Ｓ２４の処理の後には、特徴パターン（切り出しシンボル）の画像と置換するためのパターン２０（置換用の特徴パターン（切り出しシンボル））を生成し、このパターン２０をコード画像内における所定部分に上書きする（Ｓ２５）。具体的には、図５の右側に示すようなパターン２０（置換パターン２１及びマージンパターン２２）を描画するためのデータが予め記憶部３３に記憶されている  図５（Ｂ）のように、パターン２０は、特徴パターン１１の規定形状と同一形状で構成される置換パターン２１と、置換パターン２１における所定の２辺（暗色セル２４ｃによって大部分が構成される２辺）に隣接して配置されるＬ字状のマージンパターン２２とを有しており、例えば矩形状の画像領域として構成されている。
【００３１】
置換パターン２１は、黒色等の暗色セル２４ａが３行３列で配列されて正方形状に構成される中心部と、白色等の明色セル２４ｂが中心部を囲むように環状且つ矩形状に配列されてなる第１環状部と、黒色等の暗色セル２４ｃが第１環状部を囲むように環状且つ矩形状に配列されてなる第２環状部と、白色等の明色セル２３が第２環状部の２辺（マージンパターン２２側ではない２辺）に沿うように当該第２環状部に隣接してＬ字状に設けられるＬ字状部とによって構成されている。マージンパターン２２は、セル幅よりも大きい幅（例えばセル幅の４倍以上の幅）でＬ字状に構成されている。
【００３２】
Ｓ２５では、このようなパターン２０を形成するための描画データを読み出すと共に、このパターン２０をコード領域Ｃａ’のサイズに合わせたサイズに変更する。本実施形態では、パターン２０を相似形で変形可能とされており、コード画像１０’に含まれる特徴パターンの画像１１’のサイズと置換パターン２１のサイズが合うようにパターン２０のサイズが決められるようになっている。
【００３３】
具体的には、図８のように、マージンパターンＰａの各サイズに対応付けて置換用のパターン２０のサイズ及び上述のＷ，Ｈの値が決められており、Ｓ２３で最も適合性が高いマージンパターンが決まると（即ち、最も適合性が高いパターンＰａのサイズが決まると）、そのマージンパターンのサイズに合わせるべくパターン２０の大きさが決まり、Ｗ，Ｈの値も決まるようになっている。この構成では、Ｓ２３で適合性の高いマージンパターンのサイズが大きければ、パターン２０の使用サイズが大きくなるように調整され、且つマージンパターンのサイズに合わせてＷ，Ｈの値も大きくなる。一方、適合性の高いマージンパターンのサイズが小さければパターン２０の使用サイズが小さくなるように調整され、且つマージンパターンのサイズに合わせてＷ，Ｈの値も小さくなる。
【００３４】
このようにパターン２０の使用サイズが決まった後には、コード画像１０’における位置Ｐ１，Ｐ２，Ｐ３付近の画像と、サイズが調整されたパターン２０の画像とを置換するようにコード画像１０’を加工する。具体的には、パターン２０における中央部（暗色セル２４ａによって正方形状に構成される部分）の中心位置が位置Ｐ１，Ｐ２，Ｐ３となるようにコード画像１０’の３位置に対してパターン２０の画像を上書きする。なお、各位置においてパターン２０を上書きする際には、マージンパターン２２がマージン領域側になるように上書きする。図５の例では、図５（Ｂ）の画像に対してパターン２０を上書きし、図５（Ｃ）のような画像を得ており、この例では、左上の位置Ｐ１付近でパターン２０を上書きする際には、角部の上側及び左側にマージンパターン２２が配されるように上書きしている。また、左下の位置Ｐ２付近でパターン２０を上書きする際には、角部の左側及び下側にマージンパターン２２が配されるように上書きしている。更に、右下の位置Ｐ３付近でパターン２０を上書きする際には、角部の下側及び右側にマージンパターン２２が配されるように上書きしている。
【００３５】
このようにしてＳ８の修正処理が行われた後には、図３のＳ９のように修正画像（Ｓ２５で生成された図５（Ｃ）のような置換画像）にてコード画像１０’の解読を行う。このＳ９の解読処理もＳ３と同様であり、ＱＲコード（登録商標）の分野で一般的に用いられる公知の解読方法で解読を行う。そして、Ｓ９でコード画像の解読が成功した場合には、Ｓ１０にてＹｅｓに進み、その解読結果を表示部や外部装置などに出力する（Ｓ１２）。一方、Ｓ９で解読に失敗した場合には、Ｓ１０にてＮｏに進み、エラーを報知する処理を行う。
【００３６】
本実施形態では、読取部５が検出部の一例に相当し、撮像部３で生成されたコード画像１０’に基づいて、二次元コード１０の画像サイズを検出するように機能する。具体的には、上述のパターンマッチングによってコード画像１０’とパターンＰａの複数サイズとの適合性を調べることで、コード画像１０’がどのサイズに最も適合するかを判断し、適合性の高いパターンＰａのサイズをコード画像１０’のサイズ（画像内でのコード画像１０’の大きさを特定しうる情報）としている。
【００３７】
また、本実施形態では、読取部５が生成部の一例に相当し、検出部による検出結果に基づき、コード画像１０’内での特徴パターンのサイズに対応するサイズで規定形状の置換パターン２１を生成しており、より具体的には、コード画像１０’内での特徴パターンのサイズに合わせたサイズで規定形状の置換パターン２１を生成すると共に当該置換パターン２１に隣接するようにマージン領域１２に対応する色のマージンパターン２２を生成するように機能する。
【００３８】
また、本実施形態では、読取部５が置換部の一例に相当し、コード画像１０’において特徴パターンの領域１１’と生成部で生成された置換パターン２１とを置換するように置換画像を生成しており、より具体的には、コード画像１０’において特徴パターンの領域１１’と置換パターン２１とを置換すると共にマージン領域１２の一部とマージンパターン２２とを置換するように置換画像を生成している。
【００３９】
また、本実施形態では、読取部５が解読部の一例に相当し、コード画像１０’での特徴パターンの抽出結果に基づいて当該コード画像１０’の解読を試みるように機能し、解読不能の場合には、置換部で生成された置換画像の解読を試みるように機能している。
【００４０】
以上のような本実施形態の構成によれば、撮像部３によって生成されたコード画像１０’が解読不能の場合に、規定形状（本来の特徴パターンの形状）で構成された置換パターン２１を生成し、この置換パターン２１をコード画像１０’内の特徴パターンの領域１１’と置換した上で解読を行うことができる。従って、例えば特徴パターンの領域１１’にキズや汚れなどが生じてしまい、特徴パターンの領域１１’が正確に認識できない場合であっても、その領域を規定形状の置換パターン２１に置き換えた上で解読を試みることができ、これにより解読が成功する確率を高めることができる。更に、置換パターン２１を生成する際には、二次元コード１０の画像サイズを検出した上で、コード画像１０’内での特徴パターン１１のサイズに対応するサイズで規定形状の置換パターン２１を生成することができるため、二次元コード１０の画像サイズが変動し得る環境下であっても置換パターン２１を適切なサイズ（即ち、実際に撮像された二次元コード１０に合わせたサイズ）で生成し、置き換えることができる。
【００４１】
また、本実施形態において、生成部は、コード画像１０’内での特徴パターン１１のサイズに対応するサイズで規定形状の置換パターン２１を生成すると共に当該置換パターン２１に隣接するようにマージン領域１２に対応する色のマージンパターン２２を生成している。そして、置換部は、コード画像１０’において特徴パターンの領域１１’と置換パターン２１とを置換すると共にマージン領域１２の一部とマージンパターン２２とを置換するように置換画像を生成している。このようにすると、例えばマージン領域１２において特徴パターン１１に隣接する部分に汚れなどが存在し、その結果解読不能になるような場合（例えばマージン領域の汚れなどに起因して特徴パターン１１が認識できないような場合）であってもマージン領域を良好に復元することができ、解読成功の確率を高めることができる。
【００４２】
［他の実施形態]
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
【００４３】
上記実施形態では、二次元コードとしてＱＲコード（登録商標）を例示したが、所定位置に特徴パターンが設けられ、この特徴パターンに基づいて各セルを認識する方式の二次元コードであれば他の二次元コードを読取対象としてもよい。例えば、データマトリックスコードなどを読取対象としてもよく、この場合、Ｌ字状のアライメントパターンを「特徴パターン」として第１実施形態と同様の方法で読取処理を行えばよい。
【００４４】
二次元コードのサイズを検出する方法として、パターンマッチングによってマージン領域のサイズを検出する方法を例示したが、これに限られない。例えば、Ｓ３又はＳ６にて、１つでも特徴パターンが検出されたときには、その特徴パターンの領域を抽出し、その領域のサイズを「二次元コードのサイズを特定しうる値」としてもよい。或いは、撮像画像内において公知の画像処理方法でコード領域Ｃａ’の外形を特定し、この外形サイズを「二次元コードのサイズを特定しうる値」としてもよい。
【００４５】
上記実施形態では、撮像対象物として物品１５を例示したが、二次元コードが付された物品の例はこれに限られるものではなく、広告媒体、書籍、ＰＤＦ（Portable Document Format）などの文書ファイル等、様々な媒体を対象とすることができる。
【符号の説明】
【００４６】
１…二次元コード読取装置
３…撮像部
５…読取部（抽出部、検出部、生成部、置換部、解読部）
１０…二次元コード
１１…特徴パターン
２１…置換パターン
【図１】
0005720623.tif 000002
【図２】
0005720623.tif 000003
【図３】
0005720623.tif 000004
【図４】
0005720623.tif 000005
【図５】
0005720623.tif 000006
【図６】
0005720623.tif 000007
【図７】
0005720623.tif 000008
【図８】
0005720623.tif 000009