(57)【要約】【課題】情報コード内にセル配列以外の画像をより広く合成することができ、且つ情報コードの解読がより正確に行われ易い構成を提供する。【解決手段】情報コード媒体１００は、明色セルと暗色セルとを備えた基準となる情報コードＣにおける明色セルと暗色セルとの境界線の形状を表すエッジ画像Ｃｅと、少なくともエッジ画像１０１以外の位置に描画され、エッジ画像Ｃｅと合成される合成画像Ｃｚとを備えている。一方、情報コード読取装置１０は、情報コード媒体１００を撮像する撮像部と、撮像部が情報コード媒体１００を撮像した撮像画像から、エッジ画像を検出するエッジ画像検出部と、エッジ画像検出部によって検出されたエッジ画像に基づいて、基準となる情報コードＣを解読する解読部とを備えている。【選択図】図１
2014199510.tif 000002
【特許請求の範囲】
【請求項１】
情報コード媒体と、
前記情報コード媒体の撮像結果に基づいて、明色セルと暗色セルとを備えた情報コードを読み取る情報コード読取装置と、
を備えた情報コード読取システムであって、
前記情報コード媒体は、
前記情報コードにおける前記明色セルと前記暗色セルとの境界線の形状を表すエッジ画像と、
少なくとも前記エッジ画像以外の位置に表され、前記エッジ画像と合成される合成画像と、
を備え、
前記情報コード読取装置は、
前記情報コード媒体を撮像する撮像部と、
前記撮像部が前記情報コード媒体を撮像した撮像画像から、前記エッジ画像を検出するエッジ画像検出部と、
前記エッジ画像検出部によって検出された前記エッジ画像に基づいて、基準となる前記情報コードを解読する解読部と、
を有することを特徴とする情報コード読取システム。
【請求項２】
前記情報コード媒体の前記エッジ画像は、色彩、濃度、輝度の少なくともいずれかが、所定の特性となるように構成されており、
前記エッジ画像検出部は、前記撮像部が前記情報コード媒体を撮像した撮像画像から、前記所定の特性の領域を抽出することで前記エッジ画像を検出することを特徴とする請求項１に記載の情報コード読取システム。
【請求項３】
前記解読部は、前記エッジ画像検出部によって検出された前記エッジ画像を解析し、前記エッジ画像内において、前記情報コードの前記暗色セルの領域に対応する暗領域と、前記情報コードの前記明色セルの領域に対応する明領域とを特定して前記情報コードを復元し、当該情報コードを解読することを特徴とする請求項１又は請求項２に記載の情報コード読取システム。
【請求項４】
前記情報コードは、所定の位置に予め定められた形状の特定パターンが配置されてなるものであり、
前記解読部は、
前記エッジ画像検出部によって検出された前記エッジ画像を解析し、当該エッジ画像における前記特定パターンの領域を抽出する特定パターン抽出部と、
前記特定パターン抽出部によって抽出された前記特定パターンの領域に基づいて、基準となる前記情報コードの各単位セル領域を特定する単位セル領域特定部と、
前記単位セル領域特定部によって特定された前記各単位セル領域に配される前記エッジ画像に基づいて、前記各単位セル領域が前記明領域及び前記暗領域のいずれであるかを特定する明暗特定部と、
を有することを特徴とする請求項３に記載の情報コード読取システム。
【請求項５】
前記情報コード媒体は、前記エッジ画像の少なくとも所定領域の周縁部又は前記エッジ画像の少なくとも所定領域に隣接した位置に、複数種類のマークを組み合わせて情報が記録された第２記録領域が設けられており、
前記解読部は、
前記情報コード媒体の前記撮像画像における前記エッジ画像の周縁部又は当該エッジ画像に隣接した位置の画像を抽出する第２画像抽出部と、
前記第２画像抽出部によって抽出された前記周縁部又は前記隣接した位置の画像に基づいて前記第２記録領域を解読する第２記録領域解読部と、
を有することを特徴とする請求項１から請求項４のいずれか一項に記載の情報コード読取システム。
【請求項６】
情報コード媒体の撮像結果に基づいて、明色セルと暗色セルとを備えた情報コードを読み取る情報コード読取装置であって、
読取対象となる前記情報コード媒体は、前記情報コードにおける前記明色セルと前記暗色セルとの境界線の形状を表すエッジ画像と、少なくとも前記エッジ画像以外の位置に描画され、前記エッジ画像と合成される合成画像と、を備えてなるものであり、
前記情報コード媒体を撮像する撮像部と、
前記撮像部が前記情報コード媒体を撮像した撮像画像から、前記エッジ画像を検出するエッジ画像検出部と、
前記エッジ画像検出部によって検出された前記エッジ画像に基づいて前記情報コードを解読する解読部と、
を有することを特徴とする情報コード読取装置。
【請求項７】
前記情報コード媒体の前記エッジ画像は、色彩、濃度、輝度の少なくともいずれかが、所定の特性となるように構成されており、
前記エッジ画像検出部は、前記撮像部が前記情報コード媒体を撮像した撮像画像から、前記所定の特性の領域を抽出することで前記エッジ画像を検出することを特徴とする請求項６に記載の情報コード読取装置。
【請求項８】
前記解読部は、前記エッジ画像検出部によって検出された前記エッジ画像を解析し、前記エッジ画像内において、前記情報コードの前記暗色セルの領域に対応する暗領域と、前記情報コードの前記明色セルの領域に対応する明領域とを特定して前記情報コードを復元し、当該情報コードを解読することを特徴とする請求項６又は請求項７に記載の情報コード読取装置。
【請求項９】
前記情報コードは、所定の位置に予め定められた形状の特定パターンが配置されてなるものであり、
前記解読部は、
前記エッジ画像検出部によって検出された前記エッジ画像を解析し、当該エッジ画像における前記特定パターンの領域を抽出する特定パターン抽出部と、
前記特定パターン抽出部によって抽出された前記特定パターンの領域に基づいて、基準となる前記情報コードの各単位セル領域を特定する単位セル領域特定部と、
前記単位セル領域特定部によって特定された前記各単位セル領域に配される前記エッジ画像に基づいて、前記各単位セル領域が前記明領域及び前記暗領域のいずれであるかを特定する明暗特定部と、
を有することを特徴とする請求項８に記載の情報コード読取装置。
【請求項１０】
前記情報コード媒体は、前記エッジ画像の少なくとも所定領域の周縁部又は当該エッジ画像の少なくとも所定領域に隣接した位置に、当該エッジ画像とは異なる形態のマークによって情報が記録された第２記録領域が設けられており、
前記解読部は、
前記情報コード媒体の前記撮像画像における前記エッジ画像に隣接した位置の画像を抽出する第２画像抽出部と、
前記第２画像抽出部によって抽出された前記隣接した位置の画像に基づいて前記第２記録領域を解読する第２記録領域解読部と、
を有することを特徴とする請求項６から請求項９のいずれか一項に記載の情報コード読取装置。
【請求項１１】
明色セルと暗色セルとを備えた基準となる情報コードにおける前記明色セルと前記暗色セルとの境界線の形状を表すエッジ画像と、
少なくとも前記エッジ画像以外の位置に描画され、前記エッジ画像と合成される合成画像とを有することを特徴とする情報コード媒体。
【請求項１２】
前記エッジ画像は、色彩、濃度、輝度の少なくともいずれかが、予め決められた所定の特性となるように構成されていることを特徴とする請求項１１に記載の情報コード媒体。
【請求項１３】
前記エッジ画像の輝度は、前記合成画像の全領域の最高輝度以上又は前記合成画像の全領域の最低輝度以下で構成されていることを特徴とする請求項１２に記載の情報コード媒体。
【請求項１４】
前記エッジ画像の濃度は、前記合成画像の全領域の最高濃度以上又は前記合成画像の全領域の最低濃度以下で構成されていることを特徴とする請求項１２に記載の情報コード媒体。
【請求項１５】
前記エッジ画像は所定色で構成され、前記合成画像は前記所定色以外の色で構成されていることを特徴とする請求項１２に記載の情報コード媒体。
【請求項１６】
前記エッジ画像の少なくとも所定領域の周縁部又は当該エッジ画像の少なくとも所定領域に隣接した位置に、当該エッジ画像とは異なる形態のマークによって情報が記録された第２記録領域が設けられていることを特徴とする請求項１１から請求項１５のいずれか一項に記載の情報コード媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報コード読取システム、情報コード読取装置、情報コードに関するものである。
【背景技術】
【０００２】
現在では、情報コードの用途が多様化しており、コード領域内に写真や図などを配置するような技術も提案されている。例えば、特許文献１の技術では、２次元コードにおいて単一の値として読み取られる領域を形成するビット列を逆変換した逆変換ビット列を求め、逆変換ビット列を２次元コードのフォーマット情報に基づいて変換して２次元コードを生成することにより、単一の階調値から構成されたデザイン領域を有する特殊２次元コードを生成している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５０５７５６０号公報
【特許文献２】特許第４３３０６０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記特許文献１の技術では、例えば、デザイン領域が白のモジュールにより構成されている特殊２次元コードの場合には、白として読み取られる範囲の階調値から構成されたデザインがデザイン領域に形成されるように特殊２次元コードと所与のデザインデータとを合成している。一方、デザイン領域が例えば黒のモジュールにより構成されている特殊２次元コードの場合には、黒として読み取られる範囲の階調値から構成されたデザインがデザイン領域に形成されるように特殊２次元コードと所与のデザインデータとを合成している。
【０００５】
しかしながら、特許文献１の情報コードのように、デザイン領域を備えた従来の情報コードは、コード領域内において制限された領域（誤り訂正によって訂正し得る領域）でのみデザインを描画することが可能であり、この領域を超える範囲でデザインを合成することはできなかった。例えば、コード領域全体に亘ってデザインを配置するといった構成は実質的には不可能であり、デザインを描画する上での制約が非常に大きかった。
【０００６】
一方、コード領域内においてデザイン領域をある程度広く確保し得る技術として、例えば特許文献２のようなものが提供されている。この技術では、情報コードを構成する各セル内の一部を明暗判定対象となるセルドットとし、各セルのドット以外の領域をデザインを形成するために用いている。
【０００７】
しかしながら、特許文献２の情報コードでは、イラストやロゴの領域を広く確保したい場合、各セルドットがデザインの邪魔にならないようにセルドットを極力小さくしなければならない。このようにセルドットを小さくしてしまうと、各セルにおいてセルドットを安定して検出できなくなる虞があり、読み取りの失敗を招きやすいという問題がある。逆にセルドットを大きくしてしまうと、読み取りが成功する確率は高くなるが、今度はデザイン性が損なわれてしまうという問題がある。
【０００８】
本発明は、上述した課題を解決するためになされたものであり、情報コード内にセル配列以外の画像をより広く合成することができ、且つ情報コードの解読がより正確に行われ易い構成を提供することを目的とする。
【課題を解決するための手段】
【０００９】
第１の発明は、  情報コード媒体と、
前記情報コード媒体の撮像結果に基づいて、明色セルと暗色セルとを備えた情報コードを読み取る情報コード読取装置と、
を備えた情報コード読取システムであって、
前記情報コード媒体は、
前記情報コードにおける前記明色セルと前記暗色セルとの境界線の形状を表すエッジ画像と、
少なくとも前記エッジ画像以外の位置に表され、前記エッジ画像と合成される合成画像と、
を備え、
前記情報コード読取装置は、
前記情報コード媒体を撮像する撮像部と、
前記撮像部が前記情報コード媒体を撮像した撮像画像から、前記エッジ画像を検出するエッジ画像検出部と、
前記エッジ画像検出部によって検出された前記エッジ画像に基づいて、基準となる前記情報コードを解読する解読部と、
を有することを特徴とする。
【００１０】
第２の発明は、情報コード媒体の撮像結果に基づいて、明色セルと暗色セルとを備えた情報コードを読み取る情報コード読取装置であって、
読取対象となる前記情報コード媒体は、前記情報コードにおける前記明色セルと前記暗色セルとの境界線の形状を表すエッジ画像と、少なくとも前記エッジ画像以外の位置に描画され、前記エッジ画像と合成される合成画像と、を備えてなるものであり、
前記情報コード媒体を撮像する撮像部と、
前記撮像部が前記情報コード媒体を撮像した撮像画像から、前記エッジ画像を検出するエッジ画像検出部と、
前記エッジ画像検出部によって検出された前記エッジ画像に基づいて前記情報コードを解読する解読部と、
を有することを特徴とする。
【００１１】
第３の発明は、明色セルと暗色セルとを備えた基準となる情報コードにおける前記明色セルと前記暗色セルとの境界線の形状を表すエッジ画像と、
少なくとも前記エッジ画像以外の位置に描画され、前記エッジ画像と合成される合成画像とを有することを特徴とする。
【発明の効果】
【００１２】
請求項１の発明では、情報コード媒体が、情報コードにおける明色セルと暗色セルとの境界線の形状を表すエッジ画像と、少なくともエッジ画像以外の位置に表され、エッジ画像と合成される合成画像とを備えている。このように元の情報コードの形状をエッジ画像として表しているため、各セル領域の中心部付近を含む大部分の領域を合成画像を表す領域として用いることができるため、合成画像をより広く確保することができ、デザイン等がセル画像に邪魔されることに起因するデザイン等の見えにくさを効果的に抑制することができる。
また、一方、情報コード読取装置は、情報コード媒体を撮像した撮像画像からエッジ画像を検出するエッジ画像検出部と、その検出されたエッジ画像に基づいて、基準となる情報コードを解読する解読部とを備えている。撮像画像から検出されるエッジ画像は元の情報コードのセルの境界を表すものであるため、このように境界が特定できれば、元の情報コードのセル構成を特定でき、情報コードを安定的に解読することができる。
また、請求項６、１１でも同様の効果を奏する。
【００１３】
請求項２の発明では、情報コード媒体のエッジ画像は、色彩、濃度、輝度の少なくともいずれかが、所定の特性となるように構成されており、エッジ画像検出部は、撮像部が情報コード媒体を撮像した撮像画像から、所定の特性の領域を抽出することでエッジ画像を検出する構成となっている。
このように予めエッジ画像が所定の特性となるように決めておけば、読取装置側ではその特性の領域を抽出することでエッジ画像をより正確に検出することができる。
また、請求項７、１２でも同様の効果を奏する。
【００１４】
請求項３の発明では、解読部は、エッジ画像検出部によって検出されたエッジ画像を解析し、エッジ画像内において、情報コードの暗色セルの領域に対応する暗領域と、情報コードの明色セルの領域に対応する明領域とを特定して情報コードを復元し、当該情報コードを解読する構成となっている。
本構成では、エッジ画像によって示される境界の一方側が明色セルであり、他方側が暗色セルであるため、エッジ画像の内容に基づき、暗色セルの領域に対応する暗領域と、明色セルの領域に対応する明領域とを矛盾しないように配列することで元の情報コードを正確に復元することができる。そして、元の情報コードを復元できれば、その後は、特別な専用解読方法を用いることなく元の情報コードを容易に解読することができる。
また、請求項８でも同様の効果を奏する。
【００１５】
請求項４の発明では、情報コードは、所定の位置に予め定められた形状の特定パターンが配置されてなるものであり、解読部は、エッジ画像検出部によって検出されたエッジ画像を解析し、当該エッジ画像における特定パターンの領域を抽出する特定パターン抽出部と、特定パターン抽出部によって抽出された特定パターンの領域に基づいて、基準となる情報コードの各単位セル領域を特定する特定パターン抽出部と、単位セル領域特定部によって特定された各単位セル領域に配されるエッジ画像に基づいて、各単位セル領域が明領域及び暗領域のいずれであるかを特定する明暗特定部と、を有している。
このように、特定パターン抽出部により、エッジ画像の内の特定パターンの領域を抽出することで、エッジ画像で表される情報コードがどのような位置及び向きとなっているかを特性することができる。そして、このように具体的に把握された内容に基づき、特定パターン抽出部により各単位セル領域を特定することを試みれば、各単位セル領域をより正確に特性することができる。その上で、明暗特定部によって各単位セル領域が明領域及び暗領域のいずれであるかを特定できれば、情報コードをより正確に再現できることとなる。
また、請求項９でも同様の効果を奏する。
【００１６】
請求項５の発明では、情報コード媒体は、エッジ画像の少なくとも所定領域の周縁部又はエッジ画像の少なくとも所定領域に隣接した位置に、複数種類のマークを組み合わせて情報が記録された第２記録領域が設けられており、解読部は、情報コード媒体の撮像画像におけるエッジ画像の周縁部又は当該エッジ画像に隣接した位置の画像を抽出する第２画像抽出部と、第２画像抽出部によって抽出された周縁部又は隣接した位置の画像に基づいて第２記録領域を解読する第２記録領域解読部とを有している。
この構成によれば、情報コードとは異なる新たな記録領域を設けることができる。即ち、情報コードによって表わされる記録内容とは別の記録内容を記録することが可能となるため、記録量を一層増大することが可能となる。また、別途大きな記録領域を設けず、エッジ画像の周縁部又は隣接領域を生かして別の記録内容を記録することができるため、このような記録領域（第２記録領域）を設けることによるコードサイズの増大を抑えることができ、コードサイズの増大抑制効果が高くなる。
また、請求項１０、１６でも同様の効果を奏する。
【００１７】
請求項１３の発明では、エッジ画像の輝度は、合成画像の全領域の最高輝度以上又は合成画像の全領域の最低輝度以下で構成されている。
この構成によれば、情報コード媒体において合成画像の輝度以上の高輝度領域又は合成画像の輝度以下の低輝度領域を抽出することでエッジ画像をより確実に検出することができる。
【００１８】
請求項１２の発明では、エッジ画像の濃度は、合成画像の全領域の最高濃度以上又は合成画像の全領域の最低濃度以下で構成されている
この構成によれば、情報コード媒体において合成画像の濃度以上の高濃度領域又は合成画像の濃度以下の低濃度領域を抽出することでエッジ画像をより確実に検出することができる。
【００１９】
請求項１５の発明では、エッジ画像は所定色で構成され、合成画像は所定色以外の色で構成されている。
この構成によれば、情報コード媒体において所定色の領域を抽出することでエッジ画像をより確実に検出することができる。
【図面の簡単な説明】
【００２０】
【図１】図１は、本発明の第１実施形態に係る情報コード読取システムを概略的に例示する概略図である。
【図２】図２は、図１の情報コード読取システムを構成する情報コード読取装置の電気的構成を概略的に例示するブロック図である。
【図３】図３（Ａ）は、図１の情報コード読取システムで用いられる情報コード媒体に組み込まれる元となる情報コードを説明する説明図であり、図３（Ｂ）は、その情報コードの境界線を抽出したエッジ画像を示す説明図である。
【図４】図４は、エッジ画像と合成画像とを合成して情報コード媒体を形成する考え方を説明する説明図である。
【図５】図５は、図１の情報コード読取システムにおける情報コードの生成の流れを例示するフローチャートである。
【図６】図６は、図１の情報コード読取システムにおける情報コードの読み取りの流れを例示するフローチャートである。
【図７】図７（Ａ）は、図４の情報コード媒体の撮像画像を二値化して表した図であり、図７（Ｂ）は図７（Ａ）よりも二値化の閾値を下げた状態を示す図である。
【図８】図８（Ａ）は図７（Ｂ）よりも二値化の閾値を下げた状態を示す図であり、図８（Ｂ）は図８（Ａ）よりも二値化の閾値を下げた状態を示す図である。
【図９】図９（Ａ）は図８（Ｂ）よりも二値化の閾値を下げた状態を示す図であり、図９（Ｂ）は図９（Ａ）よりも二値化の閾値を下げた状態を示す図である。
【図１０】図１０は、図９（Ｂ）の画像での所定方向の走査を説明する説明図である。
【図１１】図１１は、所定方向に走査したときの各画素と輝度との関係を例示するグラフである。
【図１２】図１２（Ａ）は、元の情報コードの一部を示す図であり、図１２（Ｂ）は、その一部のエッジ画像を概念的に示す図であり、図１２（Ｃ）は、そのエッジ画像の１つのセル領域を概念的に示す図であり、図１２（Ｄ）は、その１つのセル領域におけるエッジ画像の各部分（各直線）に番号を付して説明する説明図である。
【図１３】図１３は、１つのセル領域で構成される各パターンとパターン番号との関係等を示す説明図である。
【図１４】図１４（Ａ）は、情報コード媒体に組み込まれる元となる情報コードを示す図であり、図１４（Ｂ）は、その情報コードのエッジ以外の濃度を下げた状態を概念的に示す図であり、図１４（Ｃ）は、その情報コードのエッジ画像を概念的に示す図である。
【図１５】図１５（Ａ）は、所定方法を走査して特徴パターンを検出する例を示す説明図であり、図１５（Ｂ）は、その検出結果に基づいて特徴パターンの向きを検出する例を示す説明図である。
【図１６】図１６（Ａ）は、特徴パターンのコーナの検出を説明する説明図であり、図１６（Ｂ）は、他の特徴パターンの検出を説明する説明図である。
【図１７】図１７は、全ての特徴パターンが検出され、各特徴パターンのコーナが特定されたエッジ画像を説明する説明図である。
【図１８】図１８（Ａ）は、図１７のように特定されたエッジ画像における各セル行での水平方向の走査を説明する説明図であり、図１８（Ｂ）は、図１７のように特定されたエッジ画像における各セル列での垂直方向の走査を説明する説明図であり、
【図１９】図１９は、各セル領域を構成するエッジ形状がどのパターン番号に該当するかを説明する説明図である。
【図２０】図２０は、パターン番号の特定結果に基づいて各セルを明領域又は暗領域として特定した特定結果を示す説明図である。
【図２１】図２１（Ａ）は、正しい明暗セルの画像を示す説明図であり、図２１（Ｂ）は、誤って認識された明暗セルの画像を示し説明図である。
【図２２】図２２は、図２１（Ｂ）の認識画像において、各水平方向のセル行のチェック結果を示す説明図である。
【図２３】図２３は、図２１（Ｂ）の認識画像において、各垂直方向のセル列のチェック結果を示す説明図である。
【図２４】図２４は、図２１（Ｂ）の認識画像において、正しいセルと特定された領域と、特定ができない領域とを区別して示す説明図である。
【図２５】図２５は、図２４において特定できなかった領域の一部を、正しいセル行又はセル列として特定された領域から決定した状態を示す説明図である。
【図２６】図２６は、図２５で特定されていないセル領域での補正の考え方を説明する説明図である。
【図２７】図２７（Ａ）は、正しい明暗セルの画像を示す説明図であり、図２７（Ｂ）は、誤って認識された明暗セルの画像を示し説明図である。
【図２８】図２８（Ａ）は、図２７（Ｂ）の認識画像において、各水平方向のセル行のチェック結果を示す説明図であり、図２８（Ｂ）は、図２７（Ｂ）の認識画像において、各垂直方向のセル列のチェック結果を示す説明図である。
【図２９】図２９（Ａ）は、図２７（Ｂ）の認識画像において、正しいセルと特定された領域と、特定ができない領域とを区別して示す説明図であり、図２９（Ｂ）は、図２９（Ａ）において特定できなかった領域の一部を、正しいセル行又はセル列として特定された領域から決定した状態を示す説明図である。
【図３０】図３０は、図２９（Ｂ）で特定されていないセル領域での補正の考え方を説明する説明図である。
【図３１】図３１は、第２実施形態で用いる情報コード媒体を概略的に例示する説明図である。
【図３２】図３２は、図３１の情報コード媒体の一部を拡大して示す拡大図である。
【図３３】図３３は、第２実施形態の別例で用いる情報コード媒体を概略的に例示する説明図である。
【図３４】図３４は、図３３の情報コード媒体の一部を拡大して示す拡大図である。
【発明を実施するための形態】
【００２１】
[第１実施形態]
以下、本発明を具現化した第１実施形態について、図面を参照して説明する。
図１に示す情報コード読取システム１は、情報コードＣが組み込まれた情報コード媒体１００を生成する情報コード生成装置２と、情報コード生成装置２によって生成された情報コード媒体１００を読み取る情報コード読取装置１０とを備えた構成をなしている。
【００２２】
（情報コード生成装置）
情報コード生成装置２は、例えばパーソナルコンピュータ等の情報処理装置として構成されており、ＣＰＵなどからなる制御部３と、キーボード、マウス、その他の入力装置からなる操作部４と、ＲＯＭ、ＲＡＭ、ＨＤＤ、不揮発性メモリ等の記憶装置からなる記憶部５と、公知の表示装置（液晶ディスプレイやその他の表示デバイス）などからなる表示部６と、外部装置と有線通信或いは無線通信を行うための通信インタフェースとして機能する通信部７と、公知のプリンタ等と同様のハードウェア構成をなし且つ制御部３からの印刷データに基づいて情報コード媒体１００等を印刷可能な印刷部８（印刷装置）とを備えている。
【００２３】
（情報コード読取装置）
次に、情報コード読取装置１０の全体構成について説明する。情報コード読取装置１０は、情報コード媒体１００の撮像結果に基づいて、情報コード媒体１００に組み込まれた情報コードＣ（明色セルと暗色セルとを備えた情報コード）を読み取る機能を有する。図２に示すように、情報コード読取装置１０は、ハードウェア的には二次元コードを読取可能なコードリーダとして構成されており、図示しないケースによって外郭が構成され、このケース内に各種電子部品が収容された構成をなしている。
【００２４】
この情報コード読取装置１０は、主に、照明光源２１、受光センサ２３、フィルタ２５、結像レンズ２７等の光学系と、メモリ３５、制御回路４０、操作スイッチ４２、液晶表示装置４６等のマイクロコンピュータ（以下「マイコン」という）系と、電源スイッチ４１、電池４９等の電源系と、から構成されている。なお、これらは、図略のプリント配線板に実装あるいはケース（図示略）内に内装されている。
【００２５】
光学系は、照明光源２１、受光センサ２３、フィルタ２５、結像レンズ２７等から構成されている。照明光源２１は、照明光Ｌｆを発光可能な照明光源として機能するもので、例えば、赤色のＬＥＤとこのＬＥＤの出射側に設けられる拡散レンズ、集光レンズ等とから構成されている。本実施形態では、受光センサ２３を挟んだ両側に照明光源２１が設けられており、ケースに形成された読取口（図示略）を介して読取対象物Ｒに向けて照明光Ｌｆを照射可能に構成されている。この読取対象物Ｒとしては、例えば、紙、樹脂材料、金属材料等の様々な対象が考えられ、このような読取対象物Ｒに例えば図１のような情報コード媒体１００（後述）が印刷などによって形成されている。
【００２６】
受光センサ２３は、情報コード媒体１００（後述）を撮像可能な「撮像部」の一例に相当し、読取対象物Ｒや情報コード媒体１００に照射されて反射した反射光Ｌｒを受光可能に構成されるもので、例えば、Ｃ−ＭＯＳやＣＣＤ等の固体撮像素子である受光素子を２次元に配列したエリアセンサが、これに相当する。この受光センサ２３は、結像レンズ２７を介して入射する入射光を受光面２３ａで受光可能に図略のプリント配線板に実装されている。
【００２７】
フィルタ２５は、例えば反射光Ｌｒの波長相当以下の光の通過を許容し、当該波長相当を超える光の通過を遮断し得る光学的なローパスフィルタで、ケースに形成された読取口（図示略）と結像レンズ２７との間に設けられている。これにより、反射光Ｌｒの波長相当を超える不要な光が受光センサ２３に入射することを抑制している。また、結像レンズ２７は、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとによって構成されており、本実施形態では、ケースに形成された読取口（図示略）に入射する反射光Ｌｒを集光し、受光センサ２３の受光面２３ａに情報コード媒体１００のコード画像を結像するように構成されている。
【００２８】
マイコン系は、増幅回路３１、Ａ／Ｄ変換回路３３、メモリ３５、アドレス発生回路３６、同期信号発生回路３８、制御回路４０、操作スイッチ４２、ＬＥＤ４３、ブザー４４、液晶表示装置４６、通信インタフェース４８等から構成されている。このマイコン系は、マイコン（情報処理装置）として機能し得る制御回路４０及びメモリ３５を中心として構成され、前述した光学系によって撮像された情報コード媒体１００の画像信号をハードウェア的およびソフトウェア的に信号処理し得るものである。
【００２９】
光学系の受光センサ２３から出力される画像信号（アナログ信号）は、増幅回路３１に入力されることで所定ゲインで増幅された後、Ａ／Ｄ変換回路３３に入力され、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データ（画像情報）は、メモリ３５に入力され、当該メモリ３５の画像データ蓄積領域に蓄積される。なお、同期信号発生回路３８は、受光センサ２３およびアドレス発生回路３６に対する同期信号を発生可能に構成されており、またアドレス発生回路３６は、この同期信号発生回路３８から供給される同期信号に基づいて、メモリ３５に格納される画像データの格納アドレスを発生可能に構成されている。
【００３０】
メモリ３５は、半導体メモリ装置などによって構成され、例えばＲＡＭ（ＤＲＡＭ、ＳＲＡＭ等）やＲＯＭ（ＥＰＲＯＭ、ＥＥＰＲＯＭ等）等がこれに相当する。このメモリ３５のうちのＲＡＭには、前述した画像データ蓄積領域のほかに、制御回路４０が算術演算や論理演算等の各処理時に利用する作業領域や読取条件テーブルも確保可能に構成されている。またＲＯＭには、後述する読取処理等を実行可能な所定プログラムやその他、照明光源２１、受光センサ２３等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。
【００３１】
制御回路４０は、情報コード読取装置１０全体を制御可能なマイコンで、ＣＰＵ、システムバス、入出力インタフェース等からなるものであり、情報処理機能を有している。この制御回路４０には、内蔵された入出力インタフェースを介して種々の入出力装置（周辺装置）が接続されており、本実施形態の場合、電源スイッチ４１、操作スイッチ４２、ＬＥＤ４３、ブザー４４、液晶表示装置４６、通信インタフェース４８等が接続されている。また、通信インタフェース４８には、情報コード読取装置１０の上位システムに相当するホストコンピュータＨＳＴなどを接続できるようになっている。
【００３２】
電源系は、電源スイッチ４１、電池４９等により構成されており、制御回路４０により管理される電源スイッチ４１のオンオフによって、上述した各装置や各回路に、電池４９から供給される駆動電圧の導通や遮断が制御されている。なお、電池４９は、所定の直流電圧を発生可能な２次電池で、例えば、リチウムイオン電池等がこれに相当する。
【００３３】
（情報コード媒体）
次に、図１の情報コード読取システム１で利用される情報コード媒体１００について図３、図４等を参照して説明する。図１、図４下図等に示す情報コード媒体１００は、例えば上述の情報コード生成装置２によって生成されるものであり、図３（Ａ）のような情報コードＣを加工しつつ図４中段のような合成画像Ｃｚと合成して組み込んだ構成となっている。この情報コード媒体１００は、情報コードＣにおける明色セルと暗色セルとの境界線の形状を表すエッジ画像Ｃｅと、少なくともエッジ画像Ｃｅ以外の位置に表され、エッジ画像Ｃｅと合成される合成画像Ｃｚとを備えている。
【００３４】
情報コード媒体１００に組み込まれる情報コードＣは、公知のＱＲコード（登録商標）として構成されており、所定のコード領域の内部に情報を表示する単位となるセル（明色セルＣｗ及び暗色セルＣｂ）を配列した構成となっている。なお、情報コードＣにおいて、「コード領域」は、複数配列された暗色セルＣｂを全て含み得る矩形状の領域であり、具体的には、３つの位置検出パターン（切り出しシンボル）ＦＰを全て含む最小の正方形領域又は長方形領域となっている。なお、図３（Ａ）の例では、複数のセル（明色セルＣｗ及び暗色セルＣｂが、矩形状（例えば外径が正方形状）の明色（白色）セル及び暗色（黒色）セルのいずれかによって構成されており、これらセルがマトリックス状に配置されている。明色セル及び暗色セルは、それぞれ白色セル、黒色セルに限られるものではなく、暗色セルが所定の明度で構成される場合、明色セルはそれよりも明度が高ければよい。また、情報コードＣにおいて上記コード領域の周囲には、当該コード領域を取り囲むように明色又は暗色のマージン領域が構成されるようになっており、図３（Ａ）等の例では、明色（例えば、白色或いは暗色セルよりも明度の大きい他色）のマージン領域がコード領域の周囲に隣接して配置されている。
【００３５】
この情報コードＣは、矩形状（例えば、正方形状或いは長方形状等）のコード領域の内部に、予め定められた形状の特定パターンが配置される特定パターン領域と、複数種類のセル１０２によってデータを記録するデータ記録領域と、複数種類のセル１０２によって誤り訂正符号を記録する誤り訂正符号記録領域とが設けられている。図３（Ａ）のように、情報コードＣの特定パターンは、例えば、ＱＲコード（登録商標）で用いられる公知の位置検出パターン（切り出しシンボル）となっており、図３（Ａ）の例では、コード領域の３つの角部にそれぞれ、特定パターンとしての位置検出パターン（切り出しシンボル）ＦＰが配置されている。また、上記所定型番において予め定められた位置に、特定パターンとしてのタイミングパターンＰｔやアライメントパターンＰａも設けられている。このように、情報コードＣでは、予め定められた位置に決まった形状の特定パターン（位置検出パターンＦＰ、タイミングパターンＰｔ、アライメントパターンＰａ）が配置されるようになっている。
【００３６】
図３（Ｂ）、図４上段に示すエッジ画像Ｃｅは、上述の情報コードＣにおける明色セルＣｗと暗色セルＣｂの境界線の形状を表した図形となっている。図３（Ａ）の情報コードＣでは、明色セルＣｗ同士が隣接する間には境界線が存在せず、暗色セルＣｂ同士が隣接する間にも境界線が存在せず、明色セルCｗと暗色セルCｂの間に境界線が存在するようになっており、図３（Ｂ）では、このような明色セルCｗと暗色セルCｂとの境界線を抽出し、境界線のみの図形をエッジ画像Ｃｅとして表している。
【００３７】
図４中段に示す合成画像Ｃｚは、エッジ画像と合成される画像であり、合成後に、少なくともエッジ画像以外の位置に表されるものとなっている。合成画像は、様々な絵、写真、文字や数字などの記号、或いはこれらの組み合わせとして構成することができ、図４下段のようにエッジ画像Ｃｅと合成されるようになっている。図４下段に示す合成後の画像（情報コード媒体１００の画像）は、エッジ画像Ｃｅと、合成画像Ｃｚとを重ね、エッジ画像Ｃｅの位置に対して所定の加工を施している。この「所定の加工」の例は様々であるが、図４下段の代表例では、エッジ画像の輝度が、合成画像の全領域の最高輝度よりも大きい所定輝度となるように構成されている。なお、このようにせずに、例えば、エッジ画像の各画素の輝度を、各画素を重ね合わせた合成画像の各位置の輝度から一律に所定値加算するように高めてもよい。
【００３８】
図５には、このような情報コード媒体１００を生成する生成処理の流れを示している。この処理は、情報コード生成装置２によって行われるものであり、まず、情報コード媒体１００に記録すべきデータを取得する。なお、データの取得方法は様々であり、ユーザによる入力などであってもよく、外部装置からデータを受信する方法であってもよい。このように、データが取得された後、このデータをエンコードし、情報コードＣに記録できるように符号化する（Ｓ１）。
【００３９】
Ｓ１の後には、エッジ画像Ｃｅを生成する処理を行う（Ｓ２）。この処理では、まず、Ｓ１で符号化されたデータを公知の方法で記録することで図３（Ａ）のような情報コードＣを生成する。なお、コード化すべきデータを取得して情報コードＣを生成する方法自体は公知である。そして、この情報コードＣにおける明色セルと暗色セルとの境界線を描画した構成で、図３（Ｂ）のようなエッジ画像（エッジ図形）Ｃｅを生成する。
【００４０】
Ｓ２の後には、エッジ画像Ｃｅと合成画像（デザイン画像）Ｃｚとを合成する処理を行う（Ｓ３）。具体的には、合成画像Ｃｚの所定位置に対してエッジ画像Ｃｅの図形を重ね合わせ、合成画像Ｃｚ内におけるエッジ画像の図形が重なる位置に対し上述したように所定の加工（図４の例では、この重なる位置の輝度を画像全体において最高輝度とする加工、又は重なる位置の濃度を画像全体において最低濃度とする加工）を施す。このようにして、情報コード媒体１００が生成される。なお、合成画像Ｃｚのどの位置にエッジ画像Ｃｅを重ね合わせるかは、ユーザが情報入力によって指定してもよく、予め決められていてもよい。
【００４１】
（情報コード媒体の読取処理）
次に、情報コード媒体１００の読取処理について説明する。本構成では、情報コード読取装置１０により、例えば図６のような読取処理が行われるようになっている。
図６の読取処理は、所定の開始条件の成立（例えば、ユーザによる操作部の所定操作や電源投入等）によって開始され、まず、受光センサ２３で受光し得る所定範囲の画像を撮像する処理を行う（Ｓ１０）。このとき、受光センサ２３で受光可能な受光範囲（撮像範囲）に情報コード媒体１００が存在する場合には、この情報コード媒体１００が撮像され、情報コード媒体１００の画像が生成されることになる。
【００４２】
Ｓ１０の後には、二値化処理を行う（Ｓ１１）この二値化処理では、Ｓ１０で撮像された情報コード媒体１００の画像をグレイスケール画像に変換し、このグレイスケール画像を構成する各画素の濃度と、設定された閾値濃度とを比較する。そして、閾値濃度よりも淡い画素については、白に変換し、閾値濃度以下の濃い画像については、黒に変換する。なお、図７〜図９は、閾値濃度を変化させたときの変換結果を示すものであり、図７（Ａ）の閾値濃度が最も高く、閾値濃度が低くなるにつれて、図７（Ｂ）、図８（Ａ）、図８（Ｂ）、図９（Ａ）、図９（Ｂ）のように変化する。本構成では、図１、図４下図に示す情報コード媒体１００において、エッジ画像Ｃｅの濃度が最も低くなっているため、このエッジ画像Ｃｅの濃度よりも少し高く、合成画像Ｃｚの最低濃度よりもやや低い閾値濃度を設定したときに図９（Ｂ）のようにエッジ画像Ｃｅが浮き彫りになった二値化画像が得られることになる。なお、閾値濃度の設定は、予め定められた一意の値（例えば、想定されるエッジ画像Ｃｅの濃度よりも僅かに高い値）であってもよく、撮像結果に応じて採用する閾値濃度を変化させてもよい。例えば、Ｓ１１において二値化が成功しているかどうかを、エッジ方向の頻度分布の分散（二方向（０°、９０°）に最もまとまっている）に基づいて判定してもよい。具体的には、図７〜図９のように閾値濃度を変化させた各画像に対して直交する２方向（縦方向及び横方向）に走査を行い、その２方向において明画素のまとまりが確認できた画像（例えばそれら２方向の走査において明画素の領域数が所定数以下の場合等）の閾値濃度を採用してもよい。
【００４３】
Ｓ１１の処理の後には、Ｓ１１で生成された二値化画像において図１０のように所定方向に走査を行い、エッジの検出を行う（Ｓ１２）。Ｓ１１で生成された二値化画像を所定方向に走査した場合、図１１のようにエッジ部分の濃度が低レベル（輝度が高レベル）になるため、Ｓ１２では、所定濃度閾値を下回る画素（所定輝度閾値を超える画素）を抽出することでエッジ画像を構成する各画素を検出する。
【００４４】
Ｓ１２の処理の後には、特定パターンを検出する処理を行う（Ｓ１３）。図４等に示す代表例では、情報コードＣとしてＱＲコード（登録商標）が用いられているため、Ｓ１３では、ＱＲコードにおいて特定パターンを検出する公知方法に基づいて特定パターンＦＰに対応する領域を検出する。具体的には、図１５（Ａ）のように、エッジ画像において複数方向（例えば複数の水平方向）に走査を行い、エッジの間隔が１：１：３：１：１となっている部分を検出し、この位置を、当該エッジ画像Ｃｅにおける特定パターンの領域１０４とする。
【００４５】
また、いずれかの走査ライン上で特定パターンＦＰに相当する領域１０４を検出した場合、その走査ラインと、当該領域１０４のエッジとが交差する点（水平方向基準点Ｐ１、Ｐ２）を設定する。そして、その水平方向基準点Ｐ１、Ｐ２を通るエッジ角度（位置Ｐ１、Ｐ２を通る上記走査ラインに対する角度θ）から特定パターンの角度を求める。つまり、図１５（Ｂ）のように、領域１０４を検出した走査ラインと、エッジの垂直方向とのなす角度θを求めるのである。そして、θによって特定された垂直方向（エッジ画像における情報コードの垂直方向）に基づき、位置Ｐ１、Ｐ２の間において垂直方向に走査を行い、図１５（Ｂ）のように特定パターンの領域１０４の垂直方向の基準点Ｐ３、Ｐ４を設定する。そして、このようにエッジ画像Ｃｅにおいて、垂直方向と水平方向（垂直方向と直交する方向）が特定された後には、図１６（Ａ）のように、エッジ画像Ｃｅにおける水平方向基準点Ｐ１、Ｐ２及び垂直方向基準点Ｐ３、Ｐ４をそれぞれ通る部分（直線）によって特定パターンのコーナを検出する。
【００４６】
このように、いずれかの特定パターンの領域１０４が検出された後には、同様の方法で他の特定パターンの領域１０４も検出し、他の特定パターンの領域１０４のコーナも同様の方法で特定する（図１６（Ｂ））。このようにして、エッジ画像Ｃｅにおいて３つの特定パターンの領域１０４の各コーナが特定される（図１７）。
【００４７】
そして、Ｓ１３の後には、各セル領域の周囲のエッジ形状（エッジパターン）を特定し、各セル領域のエッジ内容に基づき、各セル領域が明領域又は暗領域のいずれであるかを特定する（Ｓ１４）。この処理では、まず、単位セルユニットの設定（マッピング）を行い、特定パターン形状から単位セルユニットを求める。そして、図１８（Ａ）のように、各セルユニット内を水平方向に走査し、垂直エッジ情報を格納する。更に、図１８（Ｂ）のように、各セルユニット内の垂直方向に走査し、水平エッジ情報を格納する。ここで、検出するエッジは、セルユニット内で所定エッジ強度・長さ以上のエッジがある場合のみエッジとして登録することで、ノイズや汚れ等の影響を減らすことができる。また、本構成のようなエッジコードの場合、通常形状のコードと比較して光学ボケの影響を受けやすいため、所定の鮮鋭化フィルタを検出前に掛けることで検出精度を高めることもできる。
【００４８】
なお、ＱＲコード（登録商標）では、特定パターン（位置検出パターン）が特定できれば、各セルの一辺のサイズが特定できる。そして、一辺のサイズが特定できれば、図１８（Ａ）のように、最上段のセル行の中心を通る走査線Ｌ１から一定間隔（セルサイズの間隔）毎に走査線を設定することで、図１８（Ａ）のように各セル行の中心位置の走査を行うことができる。また、図１８（Ｂ）のように、最左列のセル列の中心を通る走査線Ｌ２から一定間隔（セルサイズの間隔）毎に走査線を設定することで、図１８（Ｂ）のように各セル列の中心位置の走査を行うことができる。このように水平方向及び垂直方向の走査を行うことにより、各セルユニット（各セル領域）の境界のエッジパターンを特定し、格納することができる。
【００４９】
このようにＳ１４においてエッジ情報が格納された後には、デコード処理を行う（Ｓ１５）。ここでは、Ｓ１４で得られたセルユニット毎のエッジ情報を、所定の形式に変換し格納しており、具体的には、水平走査で求められた垂直エッジと、垂直走査で得られた水平エッジのそれぞれの情報を用い、安定的にコード情報を取り出すようになっている。
【００５０】
なお、エッジ情報のみでは最初の色が白（明）か黒（暗）か判別できないため、本構成では、読取装置側において「コードの周囲はマージンによって１セル以上の白セル（明セル）を有している」という情報が備えられている。ただし、この事前情報を持たなくても、白黒通常時と白黒反転時でそれぞれデコードを行い誤り訂正等で復元可能（解読可能）なデコード結果を採用してもよい。
【００５１】
本構成では、図１３のように、各セル領域の左端及び上端のエッジ画像によって各セル領域のパターンを特定している。具体的には、図１３のように、左端及び上端にエッジ画像が存在しない場合にはパターン０とし、左端にエッジ画像が存在し上端にエッジ画像が存在しない場合にはパターン１とし、左端にエッジ画像が存在せず上端にエッジ画像が存在する場合にはパターン２とし、左端及び上端にエッジ画像が存在する場合にはパターン３する。そして、このようなパターン分類に基づき、各セル領域がどのパターンに該当するかを、図１９左図のようにマッピングする。なお、図１９左図は、特定パターン（位置検出パターン）の領域のみをマッピングした例を示しているが、同様の方法で全領域に対して行う。そして、このように特定されるパターンに基づいて、図２０のように各セル領域を明領域と暗領域に分類する。各セル領域のパターンが特定され、エッジの外形が特定されている場合、コードの外側の領域を明色領域とし、この明色領域とエッジによって区切られた領域を暗色領域とし、この暗色領域とエッジによって区切られた領域を明色領域とするといった具合に、コード領域の外側から明暗を順番に特定することで、各セル領域が明セルであるか暗セルであるかを特定できる。従って、情報コードＣが復元されることになり、このような情報コードＣを公知の方法でデコードすることができる。
【００５２】
但し、場合によっては、図２１（Ａ）のような正規画像に対して、図２１（Ｂ）のような誤った画像（明暗領域）が認識される場合がある。そこで、本構成では、このような誤りを訂正する方法を用いている。例えば、図２２では、水平走査によって白黒情報に変換した後に、各ライン（各行）の明暗チェック（エッジチェック）を行い、矛盾なく整合しているかを確認する。水平走査では、各行について、最も左端の外部領域を明とし、右に進むにつれて、エッジを超える度に、明暗を反転している。そして、矛盾が生じている行についてはマークする。例えば、図２２の例では、位置Ｐ１、Ｐ２が誤って認識（エッジ無しと認識）されたため、第２行の明暗配列に矛盾が生じている。各行の矛盾は、予め想定された図形が描かれた否かによってチェックしてもよく、各行のセルデータの合計値がそれぞれ想定された値になっているか否かによってチェックしてもよい。同様に、図２３のように、垂直走査によって白黒情報に変換した後に、各ライン（各列）の明暗チェック（エッジチェック）を行い、矛盾なく整合しているかを確認する。垂直走査では、各列について、最も上端の外部領域を明とし、下に進むにつれて、エッジを超える度に、明暗を反転している。そして、矛盾が生じている列についてはマークする。例えば、図２３の例では、第３列に矛盾が生じている。各列の矛盾は、予め想定された図形が描かれた否かによってチェックしてもよく、各列のセルデータの合計値がそれぞれ想定された値になっているか否かによってチェックしてもよい。このようにして、図２４のように、矛盾が生じている行及び列が特定される。また、図２４の矛盾部分のうち、正解であると特定されている行及び列に基づいて最終的に不明であるセル領域を特定する（図２５参照）。即ち、図２４において１行、３行〜９行は正解であり、１、２列、４〜９列は正解であるため、正解となっている部分については値を特定する。そして、図２５のように、最終的に不明となっているセル（図２５では、２行目且つ３列目のセルを補正する。なお、この補正は、例えば図２６のように行えばよい。図２５では、不明のセルの上が暗色セルであり、その暗色セルと不明セルの間にエッジが存在するため、不明セルは明色セルと推定される（図２６（Ａ））。また、図２６（Ｂ）のように、不明セルの左は明色セルであり、不明セルと明色セルの間にエッジは存在しないため、この内容でも不明セルは明色セルと推定される。このように、水平方向及び垂直方向の解析によって不明セルが明色セルと補正され、情報コード内の明色セル及び暗色セルが確定する。このように明色セル及び暗色セルが確定した後には、その確定したセル配列に基づいて情報コードを公知の方法で解読する。なお、図２５の例では、情報コードの一部の領域のみについて、エッジの認識誤りによる不明セルの補正方法を例示したが、このような補正方法を情報コード全体に適用してもよい。
【００５３】
また、図２７〜図３０でも同様の誤り訂正の例を示している。この例では、図２７（Ａ）のような正規画像に対して、図２７（Ｂ）のような誤った画像（明暗領域）が認識された場合について説明している。例えば、図２８（Ａ）では、水平走査によって白黒情報に変換した後に、各ライン（各行）の明暗チェック（エッジチェック）を行い、矛盾なく整合しているかを確認する。水平走査では、各行について、最も左端の外部領域を明とし、右に進むにつれて、エッジを超える度に、明暗を反転している。そして、矛盾が生じている行についてはマークする。例えば、図２８（Ａ）の例では、位置Ｐ３、Ｐ４が誤って認識（エッジ無しと認識）されたため、第４行の明暗配列に矛盾が生じている。この場合も、各行の矛盾は、予め想定された図形が描かれた否かによってチェックしてもよく、各行のセルデータの合計値がそれぞれ想定された値になっているか否かによってチェックしてもよい。同様に、図２８（Ｂ）のように、垂直走査によって白黒情報に変換した後に、各ライン（各列）の明暗チェック（エッジチェック）を行い、矛盾なく整合しているかを確認する。垂直走査では、各列について、最も上端の外部領域を明とし、下に進むにつれて、エッジを超える度に、明暗を反転している。そして、矛盾が生じている列についてはマークする。例えば、図２８（Ｂ）の例では、第３列に矛盾が生じている。各列の矛盾は、予め想定された図形が描かれた否かによってチェックしてもよく、各列のセルデータの合計値がそれぞれ想定された値になっているか否かによってチェックしてもよい。このようにして、図２９（Ａ）のように、矛盾が生じている行及び列が特定される。また、図２９（Ａ）の矛盾部分のうち、正解であると特定されている行及び列に基づいて最終的に不明であるセル領域を特定する（図２９（Ｂ）参照）。即ち、図２９（Ａ）において１行〜３行、５行〜９行は正解であり、１、２列、４〜９列は正解であるため、正解となっている部分については値を特定する。そして、図２９（Ｂ）のように、最終的に不明となっているセル（図２９（Ｂ）では、４行目且つ３列目のセルを補正する。なお、この補正は、例えば図３０のように行えばよい。図２９（Ｂ）では、不明のセルの上が暗色セルであり、その暗色セルと不明セルの間にエッジが存在しないため、不明セルは暗色セルと推定される（図３０（Ａ））。また、図３０（Ｂ）のように、不明セルの左は明色セルであり、不明セルと明色セルの間にエッジが存在するため、この内容でも不明セルは暗色セルと推定される。このように、水平方向及び垂直方向の解析によって不明セルが暗色セルと補正され、情報コード内の明色セル及び暗色セルが確定する。このように明色セル及び暗色セルが確定した後には、その確定したセル配列に基づいて情報コードを公知の方法で解読する。
【００５４】
本構成では、制御回路４０が「エッジ画像検出部」の一例に相当し、撮像部が情報コード媒体を撮像した撮像画像から、エッジ画像を検出するように機能し、具体的には、その撮像画像から、所定の特性の領域を抽出することでエッジ画像を検出する
また、制御回路４０が「解読部」の一例に相当し、エッジ画像検出部によって検出されたエッジ画像に基づいて、基準となる情報コードを解読するように機能し、具体的には、エッジ画像検出部によって検出されたエッジ画像を解析し、エッジ画像内において、情報コードの暗色セルの領域に対応する暗領域と、情報コードの明色セルの領域に対応する明領域とを特定して情報コードを復元し、当該情報コードを解読するように機能する。
【００５５】
また、解読部に相当する制御回路は、「特定パターン抽出部」の一例に相当し、エッジ画像検出部によって検出されたエッジ画像を解析し、当該エッジ画像における特定パターンの領域を抽出する機能を有する。また、「単位セル領域特定部」に相当し、特定パターン抽出部によって抽出された特定パターンの領域に基づいて、基準となる情報コードの各単位セル領域を特定する（即ち、情報コードの各セルの位置がエッジ画像においてどの位置に相当するかを特定する）機能を有する。更に、「明暗特定部」の一例に相当し、単位セル領域特定部によって特定された各単位セル領域に配されるエッジ画像に基づいて、各単位セル領域が明領域及び暗領域のいずれであるかを特定するように機能する。
【００５６】
（第１実施形態の主な効果）
本構成では、情報コード媒体１００が、情報コードにおける明色セルと暗色セルとの境界線の形状を表すエッジ画像Ｃｅと、少なくともエッジ画像以外の位置に表され、エッジ画像と合成される合成画像Ｃｚとを備えている。このように元の情報コードＣの形状をエッジ画像Ｃｅとして表しているため、各セル領域の中心部付近を含む大部分の領域を合成画像Ｃｚを表す領域として用いることができるため、合成画像Ｃｚをより広く確保することができ、デザイン等がセル画像に邪魔されることに起因するデザイン等の見えにくさを効果的に抑制することができる。
一方、情報コード読取装置１０は、情報コード媒体１００を撮像した撮像画像からエッジ画像を検出するエッジ画像検出部と、その検出されたエッジ画像に基づいて、基準となる情報コードを解読する解読部とを備えている。撮像画像から検出されるエッジ画像は元の情報コードのセルの境界を表すものであるため、このように境界が特定できれば、元の情報コードのセル構成を特定でき、情報コードＣを安定的に解読することができる。
【００５７】
また、情報コード媒体１００のエッジ画像は、色彩、濃度、輝度の少なくともいずれかが、所定の特性となるように構成されており、エッジ画像検出部は、撮像部が情報コード媒体を撮像した撮像画像から、所定の特性の領域を抽出することでエッジ画像を検出する構成となっている。
このように予めエッジ画像が所定の特性となるように決めておけば、読取装置側ではその特性の領域を抽出することでエッジ画像をより正確に検出することができる。
【００５８】
また、解読部は、エッジ画像検出部によって検出されたエッジ画像を解析し、エッジ画像内において、情報コードＣの暗色セルの領域に対応する暗領域と、情報コードＣの明色セルの領域に対応する明領域とを特定して情報コードＣを復元し、当該情報コードＣを解読する構成となっている。
本構成では、エッジ画像によって示される境界の一方側が明色セルであり、他方側が暗色セルであるため、エッジ画像の内容に基づき、暗色セルの領域に対応する暗領域と、明色セルの領域に対応する明領域とを矛盾しないように配列することで元の情報コードを正確に復元することができる。そして、元の情報コードを復元できれば、その後は、特別な専用解読方法を用いることなく元の情報コードを容易に解読することができる。
【００５９】
また、情報コードＣは、所定の位置に予め定められた形状の特定パターンＦＰが配置されてなるものであり、解読部は、エッジ画像検出部によって検出されたエッジ画像を解析し、当該エッジ画像における特定パターンの領域１０４を抽出する特定パターン抽出部と、特定パターン抽出部によって抽出された特定パターンの領域１０４に基づいて、基準となる情報コードＣの各単位セル領域を特定する特定パターン抽出部と、単位セル領域特定部によって特定された各単位セル領域に配されるエッジ画像に基づいて、各単位セル領域が明領域及び暗領域のいずれであるかを特定する明暗特定部とを有している。
このように、特定パターン抽出部により、エッジ画像の内の特定パターンＦＰの領域を抽出することで、エッジ画像で表される情報コードＣがどのような位置及び向きとなっているかを特性することができる。そして、このように具体的に把握された内容に基づき、特定パターン抽出部により各単位セル領域を特定することを試みれば、各単位セル領域をより正確に特性することができる。その上で、明暗特定部によって各単位セル領域が明領域及び暗領域のいずれであるかを特定できれば、情報コードＣをより正確に再現できることとなる。
【００６０】
また、エッジ画像Ｃｅの輝度が、合成画像Ｃｚの全領域の最高輝度を超えるように（或いは、合成画像Ｃｚの全領域の最低濃度を下回るように）構成されている。この構成によれば、情報コード媒体１００において合成画像の輝度を超える高輝度領域を抽出（例えば、最も輝度が高い領域を抽出）、或いは合成画像の濃度を下回る低濃度領域を抽出（例えば、最も濃度が低い領域を抽出）することでエッジ画像Ｃｅをより確実に検出することができる。
【００６１】
[第２実施形態]
次に、本発明の第２実施形態について説明する。
本構成で用いる情報コード媒体１００は、エッジ画像Ｃｅの一部のみが第１実施形態と異なり、それ以外は第１実施形態と同様である。よって第１実施形態と同様の部分については第１実施形態と同一の符号を付して詳細な説明は省略する。なお、図３１では、情報コード媒体１００の右上部分において、特定パターンの領域を大きく強調して示しているが、実際はこの特定パターンの領域の画像は、左上の特定パターン１０４と同程度の大きさであり、図１、図４下図に示す情報コード媒体１００の特定パターン１０４の一部のみ（第２記録領域１３０を設けた点のみ）を異ならせている。
【００６２】
図３１の情報コード媒体１００は、エッジ画像Ｃｅの少なくとも所定領域の周縁部に、複数種類のマークを組み合わせて情報が記録された第２記録領域１３０が設けられている。具体的には、特定パターンの領域１０４の一部のエッジ画像の周縁部に切欠状のマークＣｍが付されており、このマークのパターンによって情報が記録されている。例えば、図３２のように、予め定められた各位置において所定長さ毎に情報領域が定められ、各情報領域において構成されている切欠部（凹部）の配置によって情報が特定されるようになっている。
【００６３】
情報コード媒体１００をこのように構成する場合、情報コード読取装置１０の解読部は、情報コード媒体の撮像画像におけるエッジ画像の周縁部又は当該エッジ画像に隣接した位置の画像を抽出する第２画像抽出部と、第２画像抽出部によって抽出された周縁部又は隣接した位置の画像に基づいて第２記録領域を解読する第２記録領域解読部とを有していればよい。なお、図３１、図３２の例では、特定パターンの領域１０４の各エッジの外周側に第２記録領域が設けられていることを読取装置側が予め把握していれば、読取装置はこの位置に沿って凹凸を認識し、第２記録領域を解読すればよい。
【００６４】
また、図３３、図３４のようにしてもよい。図３３の情報コード媒体１００は、エッジ画像Ｃｅに隣接する隣接領域に、エッジ画像Ｃｅとは異なる色によって構成された複数の第２セル群が設けられており、このような複数種類の第２セル群の各マークを組み合わせて情報が記録された構成で第２記録領域１３０が設けられている。具体的には、例えば図３４（Ａ）のように、位置検出パターンＦＰのエッジを構成するように所定色（例えば白色）のエッジ画像Ｃｅが設けられ、そのエッジ画像Ｃｅに沿って隣接するように、エッジ画像Ｃｅとは異なる色の矩形状の第２セルＣ２が配列されている。そして、このような第２セルＣ２によって情報が記録されている。例えば、図３３（Ａ）の例では、エッジ画像Ｃｅに隣接する一方側において、エッジ画像Ｃｅに沿うように第２セルＣ２が配列されており、この第２セルＣ２によって情報が記録されている。具体的には各色に値が対応付けられており、各色を認識することで、第２セルＣ２によって記録されたデータを特定できるようになっている。なお、特定パターン１０４のどの位置を起点としてどのような順序で第２セルＣ２が配列されているかは予め定義付けられていればよく、このような定義付けを読取装置側が認識していれば、特定パターン１０４に隣接する領域の第２セルＣ２を解読することで第２セル群で記録されたデータを把握できるようになる。また、図３３（Ｂ）の例では、エッジ画像Ｃｅに隣接する両側において、エッジ画像Ｃｅに沿うように第２セルが配列されており、この第２セルによって情報が記録されている。
【００６５】
図３１〜図３４のような構成によれば、情報コードとは異なる新たな記録領域を設けることができる。即ち、情報コードによって表わされる記録内容とは別の記録内容を記録することが可能となるため、記録量を一層増大することが可能となる。また、別途大きな記録領域を設けず、エッジ画像の周縁部又は隣接領域を生かして別の記録内容を記録することができるため、このような記録領域（第２記録領域）を設けることによるコードサイズの増大を抑えることができ、コードサイズの増大抑制効果が高くなる。
【００６６】
［他の実施形態］
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
【００６７】
上記実施形態では、エッジ画像を生成する情報コードＣとしてＱＲコード（登録商標）を例示したが、データマトリックスコードやマキシコードなど、他の二次元コードであってもよい。また、一次元バーコードなどの一次元コードであってもよい。
【００６８】
情報コード媒体１００では、エッジ画像Ｃｅの輝度が、合成画像Ｃｚの全領域の最低輝度以下（例えば、合成画像Ｃｚの最低輝度よりも低い所定の輝度値）で一律に構成されていてもよい。或いは、エッジ画像Ｃｅの濃度が、合成画像Ｃｚの全領域の最低濃度以下（例えば、合成画像Ｃｚの最低濃度よりも低い所定の濃度値）で一律に構成されていてもよい。若しくは、エッジ画像Ｃｅの濃度が、合成画像Ｃｚの全領域の最高濃度以上（例えば、合成画像Ｃｚの最高濃度よりも高い所定の濃度値）で一律に構成されていてもよい。この構成によれば、情報コード媒体におい合成画像の輝度以下の低輝度領域、或いは、合成画像の濃度以下の低濃度領域、若しくは、合成画像の濃度以上の高濃度領域を抽出することでエッジ画像をより確実に検出することができる。
【００６９】
また、エッジ画像Ｃｅは所定色で構成され、合成画像は所定色以外の色で構成されていてもよい。この構成によれば、情報コード媒体において所定色の領域を抽出することでエッジ画像をより確実に検出することができる。例えば、エッジ画像が緑色で構成され、合成画像が緑色以外の色（例えば白黒のグレー画像）で構成されている場合、緑色の領域を抽出することでエッジ画像を良好に認識できる。
【００７０】
上記実施形態では、エッジ画像が所定色によって所定輝度で一律に構成された例を示したが、エッジ画像は一律でなくてもよい。例えば、合成画像における当該エッジ画像を重ね合わせる各位置の各画素において、輝度値を所定値だけ高めるように嵩上げするようにしてもよい。この場合、輝度値が急激に増減している部分（例えば、上下両隣又は左右両隣の輝度値の差が所定値以上となる画素）を抽出することでエッジ画像を抽出できる。
【００７１】
上記実施形態では、読み取りの際に、撮像された情報コード媒体１００の画像を複数の領域に分割し、それら分割された各領域に対して、Ｓ１１以降の処理を行うようにしてもよい。このようにすることで、照明ムラ等の影響を少なくすることができる。そして、各領域に対してＳ１１の処理を行った後には、これらを合成し、Ｓ１２以降の処理を行えばよい。
【００７２】
例えば、誤りを判定する範囲を、最初に「コード全体」で行い、その後「特定パターン」周辺部で再度誤り判定を行う等、特定パターン情報を用いて、繰り返しを訂正を行っていくことで誤りの訂正精度を向上させることができる。また、「特定パターン」から「コード全体」のように、上述とは逆に領域を広げていくことでも同様の効果が得られる。
【００７３】
上記実施形態では、エッジ画像に基づいて元となる情報コードＣの明色セルと暗色セルを特定する方法を例示したが、この方法に限られない。例えば、図９（Ｂ）のように得られたエッジ画像において、最も外側の外周領域及びこれに連続する領域（外周領域からエッジによって区切られずに続く領域）を第１領域として明色又は暗色のいずれか一方とし、その第１領域の上下又は左右に隣接する第１隣接領域及びこれに連続する領域（第１隣接領域からエッジによって区切られずに続く領域）を第２領域として明色又は暗色のいずれか他方とし、その第２領域の上下又は左右に隣接する第２隣接領域及びこれに連続する領域（第２隣接領域からエッジによって区切られずに続く領域）を第３領域として明色又は暗色のいずれか一方とし、その第３領域の上下又は左右に隣接する第３隣接領域及びこれに連続する領域（第３隣接領域からエッジによって区切られずに続く領域）を第４領域として明色又は暗色のいずれか他方とするといった具合に、コード領域の外側からエッジによって囲まれた領域の内側となるにつれて、エッジを超える度に明暗を反転するように、明暗を交互に特定し、このように明暗が特定された情報コードを一般的な方法で解読するようにしてもよい。この場合、解読できなかった場合には、明暗を逆にしてもう一度読み取りを行えばよい。
【符号の説明】
【００７４】
１…情報コード読取システム
１０…情報コード読取装置
２３…受光センサ（撮像部）
４０…制御回路（エッジ画像検出部、解読部、特定パターン抽出部、単位セル領域特定部、明暗特定部、隣接画像抽出部、第２記録領域解読部）
１００…情報コード媒体
１０４…位置検出パターンのエッジ画像
１３０…第２記録領域
Ｃ…情報コード
Ｃｅ…エッジ画像
Ｃｚ…合成画像
ＦＰ…位置検出パターン
【図２】
2014199510.tif 000003
【図３】
2014199510.tif 000004
【図５】
2014199510.tif 000005
【図６】
2014199510.tif 000006
【図１０】
2014199510.tif 000007
【図１１】
2014199510.tif 000008
【図１２】
2014199510.tif 000009
【図１３】
2014199510.tif 000010
【図１４】
2014199510.tif 000011
【図１５】
2014199510.tif 000012
【図１６】
2014199510.tif 000013
【図２０】
2014199510.tif 000014
【図３２】
2014199510.tif 000015
【図３４】
2014199510.tif 000016
【図１】
2014199510.tif 000017
【図４】
2014199510.tif 000018
【図７】
2014199510.tif 000019
【図８】
2014199510.tif 000020
【図９】
2014199510.tif 000021
【図１７】
2014199510.tif 000022
【図１８】
2014199510.tif 000023
【図１９】
2014199510.tif 000024
【図２１】
2014199510.tif 000025
【図２２】
2014199510.tif 000026
【図２３】
2014199510.tif 000027
【図２４】
2014199510.tif 000028
【図２５】
2014199510.tif 000029
【図２６】
2014199510.tif 000030
【図２７】
2014199510.tif 000031
【図２８】
2014199510.tif 000032
【図２９】
2014199510.tif 000033
【図３０】
2014199510.tif 000034
【図３１】
2014199510.tif 000035
【図３３】
2014199510.tif 000036