(57)【要約】【課題】撮影した画像中の識別コードに対応する情報の適切な表示範囲を設定することができる識別コード読取システムを提供する。【解決手段】カメラ１Ａは、画像として読取可能な識別コードが付された物品を撮影する。コンピュータ１Ｂは、撮影した画像中の識別コードを認識するとともに、画像中の認識した識別コードに対応する情報の表示範囲を識別コードを解析して得られた位置座標に基づいて設定する。コンピュータ３Ｂは、識別コードが付された物品の情報を記憶するデータベース３Ａにアクセスして、画像中の認識した識別コードに対応する情報を抽出する。コンピュータ３Ｂが抽出した情報を、ディスプレイ１Ｃの設定した表示範囲内に表示する。【選択図】図１
2015072508.tif 000002
【特許請求の範囲】
【請求項１】
画像として読取可能な識別コードが付された物品の情報を記憶するデータベースと、
前記識別コードが付された物品を撮影する撮影手段と、
撮影した画像中の前記識別コードを認識するとともに、画像中の認識した前記識別コードに対応する情報の表示範囲を、前記識別コードを解析して得られた位置座標に基づいて設定する識別コード認識及び表示範囲設定手段と、
前記データベースにアクセスして、画像中の認識した前記識別コードに対応する情報を抽出する情報抽出手段と、
前記情報抽出手段が抽出した情報を前記表示範囲内に表示する表示手段と、
を備えることを特徴とする識別コード読取システム。
【請求項２】
前記識別コード認識及び表示範囲設定手段は、画像中の認識した前記識別コードに対応する情報の表示範囲を、前記表示手段に表示される前記識別コードの面積に応じて設定する請求項１に記載の識別コード読取システム。
【請求項３】
前記識別コード認識及び表示範囲設定手段は、前記表示手段の画面内に存在する複数の識別コードを認識し、画像中の前記複数の識別コードにそれぞれ対応する情報の複数の表示範囲を、互いに重なり合わないように設定する請求項１または２に記載の識別コード読取システム。
【請求項４】
前記識別コード認識及び表示範囲設定手段は、画像中の前記複数の識別コードにそれぞれ対応する情報の複数の表示範囲を、前記識別コードごとに設定された優先度に応じて設定する請求項３に記載の識別コード読取システム。
【請求項５】
前記識別コードは、位置検出パターンを有する二次元コードである請求項１から４のうちのいずれか１項に記載の識別コード読取システム。
【請求項６】
画像として読取可能な識別コードが付された物品をカメラで撮影する撮影ステップと、
撮影した画像中の前記識別コードをコンピュータによって認識する識別コード認識ステップと、
コンピュータが、画像中の認識した前記識別コードに対応する情報の表示範囲を、前記識別コードを解析して得られた位置座標に基づいて設定する表示範囲設定ステップと、
コンピュータが、前記識別コードが付された物品の情報を記憶するデータベースにアクセスして、画像中の認識した前記識別コードに対応する情報を抽出する情報抽出ステップと、
前記情報抽出ステップで抽出した情報を、ディスプレイの前記表示範囲内に表示する表示ステップと、
を備えることを特徴とする識別コード読取方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、識別コード読取システム及び方法に関する。
【背景技術】
【０００２】
従来、画像として読取可能な一次元コード（例えば、バーコード）、二次元コード（例えば、ＱＲコード（登録商標））等の識別コードを撮影し、撮影した画像中の識別コードに対応する情報（すなわち、オーバーレイ情報）を取得する識別コード読取システムが知られている。特許文献１〜３は、取得した情報（例えば、識別コードが付される物品名）を、撮影した画像に重畳して表示部の画面に表示することを提案している。このシステムによれば、このように取得した情報を撮影した画像に重畳して表示部の画面に表示するので、撮影した画像中の識別コードが付された物品についての情報（例えば、物品名）を、表示部の画面上で把握することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２１５９８９号公報
【特許文献２】特開２０１２−１８１７０５号公報
【特許文献３】特開２０１１−５５２５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の識別コード読取システムでは、撮影した画像中の識別コードに対応する情報の適切な表示範囲を設定することができない。例えば、表示部の画面内に存在する複数の識別コードを認識する場合、画像中の複数の識別コードにそれぞれ対応する情報が表示部の画面上で互いに重なり合うために撮影した画像中の識別コードが付された物品についての情報を表示部の画面上で把握するのが困難になることがある。
【０００５】
本発明の目的は、撮影した画像中の識別コードに対応する情報の適切な表示範囲を設定することができる識別コード読取システムを提供することである。
【課題を解決するための手段】
【０００６】
本発明による識別コード読取システムは、画像として読取可能な識別コードが付された物品の情報を記憶するデータベースと、識別コードが付された物品を撮影する撮影手段と、撮影した画像中の識別コードを認識するとともに、画像中の認識した識別コードに対応する情報の表示範囲を、識別コードを解析して得られた位置座標に基づいて設定する識別コード認識及び表示範囲設定手段と、データベースにアクセスして、画像中の認識した識別コードに対応する情報を抽出する情報抽出手段と、情報抽出手段が抽出した情報を表示範囲内に表示する表示手段と、を備えることを特徴とする。
【０００７】
識別コードを解析して得られた位置座標としては、識別コードの中心に位置する座標である識別コードの中心座標、識別コードに含まれる位置検出パターンの任意の位置（例えば、位置検出パターンのコーナー）の座標、識別コードから所定の距離離れた位置の座標等を用いることができる。識別コードを解析して得られた位置座標の数は単数でも複数でもよい。
【０００８】
好適には、識別コード認識及び表示範囲設定手段は、画像中の認識した識別コードに対応する情報の表示範囲を、表示手段に表示される識別コードの面積に応じて設定する。
【０００９】
好適には、識別コード認識表示及び範囲設定手段は、表示手段に表示される情報抽出手段が抽出した情報の表示面積を、画像中の認識した識別コードに対応する情報の表示範囲に応じて変更する。
【００１０】
好適には、識別コード認識及び表示範囲設定手段は、表示手段の画面内に存在する複数の識別コードを認識し、画像中の複数の識別コードにそれぞれ対応する情報の複数の表示範囲を、互いに重なり合わないように設定する。
【００１１】
好適には、識別コード認識及び表示範囲設定手段は、画像中の複数の識別コードにそれぞれ対応する情報の複数の表示範囲を、識別コードごとに設定された優先度に応じて設定する。
【００１２】
好適には、識別コードは、位置検出パターンを有する二次元コードである。
【００１３】
本発明による識別コード読取方法は、画像として読取可能な識別コードが付された物品をカメラで撮影する撮影ステップと、撮影した画像中の識別コードをコンピュータによって認識する識別コード認識ステップと、コンピュータが、画像中の認識した識別コードに対応する情報の表示範囲を、識別コードを解析して得られた位置座標に基づいて設定する表示範囲設定ステップと、コンピュータが、識別コードが付された物品の情報を記憶するデータベースにアクセスして、画像中の認識した識別コードに対応する情報を抽出する情報抽出ステップと、情報抽出ステップで抽出した情報を、ディスプレイの表示範囲内に表示する表示ステップと、を備えることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、画像中の認識した識別コードに対応する情報の表示範囲を、識別コードを解析して得られた位置座標に基づいて設定するので、撮影した画像中の識別コードに対応する情報の適切な表示範囲を設定することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明による識別コード読取システムの実施の形態のブロック図である。
【図２】図１のデータベースに格納される情報の階層構造の一例を示す図である。
【図３】図１に示す識別コード読取システムで用いられる識別コードの一例を示す図である。
【図４】図１の識別コード読取システムの動作のフローチャートである。
【図５】図１の識別コード読取システムの動作のフローチャートである。
【図６】図１のディスプレイの画面上での複数の物品を含む一つの撮影画像の表示例を示す図である。
【図７】識別コードの中心座標の算出を説明するための図である。
【図８】画像中の認識した識別コードに対応するオーバーレイ情報の表示範囲の設定の一例を説明するための図である。
【図９】オーバーレイ情報の表示範囲の重なり合いの調整するための優先度の高いオーバーレイ情報の表示範囲の縮小の一例を説明するための図である。
【図１０】オーバーレイ情報の表示範囲の重なり合いの調整するための優先度の低いオーバーレイ情報の表示範囲の縮小の一例を説明するための図である。
【図１１】オーバーレイ情報の表示範囲の調整の一例を説明するための図である。
【図１２】図１のディスプレイの画面上での物品のオーバーレイ情報の表示例を示す図である。
【図１３】図１のディスプレイの画面上での物品のオーバーレイ情報の他の表示例を示す図である。
【図１４】図１のディスプレイの画面上での他の物品のオーバーレイ情報の表示例を示す図である。
【図１５】図１のディスプレイの画面上での他の物品のオーバーレイ情報の他の表示例を示す図である。
【発明を実施するための形態】
【００１６】
本発明による識別コード読取システム及び方法の実施の形態を、図面を参照しながら詳細に説明する。
図１は、本発明による識別コード読取システムの実施の形態のブロック図である。図１に示す識別コード読取システムは、位置検出パターンを有する二次元コードである識別コードを読み出すシステムであり、端末１と、ネットワーク（通信経路）２と、サーバ３と、を備える。本実施の形態では、四つの位置検出パターンを有する二次元コードを識別コードとして用いる場合について説明する。位置検出パターンの座標は、例えば、撮影画像を解析することによって検出可能である。
【００１７】
端末１は、カメラ機能付きスマートホン、カメラが接続されたパーソナルコンピュータ（ＰＣ）等として実現され、撮影手段としてのカメラ（撮影部）１Ａと、識別コード認識及び表示範囲設定手段としてのコンピュータ（識別コード認識及び表示範囲設定部）１Ｂと、表示手段としてのディスプレイ１Ｃと、通信手段としての通信インタフェース１Ｄと、を有する。
【００１８】
カメラ１Ａは、画像として読取可能な識別コードが付された物品を撮影する。このために、カメラ１Ａは、レンズ１ａと、イメージセンサ１ｂと、アナログ・デジタル変換器（ＡＤ）１ｃと、を有し、撮影した識別コードのデジタル画像データをコンピュータ１Ｂに出力する。
【００１９】
コンピュータ１Ｂは、通常のコンピュータと同様の構成で実現され、端末１の動作を制御する。本実施の形態では、コンピュータ１Ｂは、カメラ１Ａが撮影した画像中の識別コードを認識し、認識した識別コードを識別コード情報に変換し、変換した識別コード情報を、通信インタフェース１Ｄ及びネットワーク２を介してサーバ３に送信する。また、本実施の形態では、コンピュータ１Ｂは、カメラ１Ａが撮影した画像中の認識した識別コードに対応する情報の表示範囲を、識別コードの中心座標に基づいて設定する。
【００２０】
ディスプレイ１Ｃは、後に説明するようにしてネットワーク２及び通信インタフェース１Ｄを介してサーバ３から提供されたオーバーレイ情報を、コンピュータ１Ｂによって設定されたディスプレイ１Ｃの表示画面の表示範囲内に表示する。
【００２１】
サーバ３は、データベース３Ａと、情報抽出手段としてのコンピュータ（情報抽出部）３Ｂと、通信インタフェース３Ｃと、を備える。データベース３Ａは、画像として読取可能な識別コードが付された物品の情報を、画像として読取可能な識別コードが付された他の物品の情報と関連付けて記憶する。本実施の形態では、データベース３Ａは、物品の情報を階層構造で記憶している。データベース３Ａに格納される情報の階層構造の一例を図２に示す。図２に示す例において、データベース３Ａは、識別コード情報を物品名に関連付けて記憶する。図２に示す階層構造では、収納箱Ａがバインダーａ１，ａ２，ａ３を収納すること、収納箱Ｂがバインダーｂ１，ｂ２，ｂ３を収納すること、収納箱Ｃがバインダーｃ１，ｃ２，ｃ３を収納すること、収納箱Ｄがバインダーｄ１，ｄ２，ｄ３を収納すること、収納箱Ｅがバインダーｅ１，ｅ２，ｅ３を収納すること、及び、収納箱Ｆがバインダーｆ１，ｆ２，ｆ３を収納することを示す。
【００２２】
コンピュータ３Ｂは、サーバ３の動作を制御する。本実施の形態では、コンピュータ３Ｂは、識別コード情報を、通信インタフェース１Ｄ、ネットワーク２及び通信インタフェース３Ｃを介してコンピュータ１Ｂから受信する。そして、コンピュータ３Ｂは、データベース３Ａにアクセスして、識別コード情報に対応する物品のオーバーレイ情報及び当該物品に関連付けられた他の物品のオーバーレイ情報を抽出する。
【００２３】
本実施の形態では、コンピュータ１Ｂは、ディスプレイ１Ｃの画面内の撮影画像をラスター走査する際に撮影画像から抽出される識別コードの数を判断することによって、ディスプレイ１Ｃの画面内に存在する単数又は複数の識別コードを認識する。コンピュータ１Ｂがディスプレイ１Ｃの画面内に存在する単数の識別コードを認識する場合、ディスプレイ１Ｃは、コンピュータ１Ｂが抽出した単数の識別コードに対応するオーバーレイ情報を、ディスプレイ１Ｃの画面内の単数の識別コードに対応付けて表示する。それに対し、コンピュータ１Ｂがディスプレイ１Ｃの画面内に存在する複数の識別コードを認識する場合、ディスプレイ１Ｃは、コンピュータ１Ｂが抽出した複数の識別コードに対応するオーバーレイ情報を、ディスプレイ１Ｃの画面内の複数の識別コードに対応付けて表示する。
【００２４】
図３は、図１に示す識別コード読取システムで用いられる識別コードの一例を示す図である。図３に示す識別コード１１は、３５×３５セルの大きさを有し、９×９のブロックに分割され、隣接するブロック間に１セルの明の分離スペース２３を有する二次元コードである。したがって、分離スペースは、８×８列の１セル幅のブロック間隔の格子状パターンになる。右下の３×３ブロック及び３×３分離スペースの部分には第１位置検出パターン１２Ａが、左上の２×２ブロック及び２×２分離スペースの部分には第２位置検出パターン１２Ｄが、右上の３（横）×２（縦）ブロック及び３×２分離スペースの部分には第３位置検出パターン１２Ｂが、左下の２（横）×３（縦）ブロック及び２×３分離スペースの部分には第４位置検出パターン１２Ｃが、それぞれ設けられている。したがって、識別コード１１の第１から第４位置検出パターン以外のブロックに、第１から第４位置検出パターン以上の大きさの連続したパターンが出現することはない。
【００２５】
識別コード１１のコード部分の最小単位はセルである。識別コード１１は、通常正方形又は長方形の形状をとる。他の形状も可能だが、二次元コードの多くは四角形であり、第１実施形態の二次元コードも正方形であるが、これに限定されるものではなく、長方形でも他の形状でもよい。
【００２６】
一般に、二次元コードは明暗のセルでデータを表し、識別コード１１もコード部は明暗のセルでデータを表す。さらに、識別コード１１は、３５×３５セルの正方形であるが、これよりサイズの大きなコードや、長方形のような縦横の大きさを変えた形状にすることも可能である。３５×３５セルの正方形の二次元コードを、これをバージョン２×２と呼ぶ。ここで、最小のバージョンは１×１であり、この時のセルサイズは２７×２７となる。絵柄の埋込は、縦横のバージョンが共に２以上の場合に可能とする。バージョンが１×１の際に絵柄を埋め込まない理由は、データ量が少ないにも関わらず、絵柄を埋め込むと、さらにデータ量が少なくなり、認識してもほとんどデータが得られないことになるため、上記のような制限を加えた。識別コード１１は、縦方向及び横方向にそれぞれ伸張できる。横バージョンが２、縦バージョンが３の場合、バージョン２×３と表記する。バージョンが１上がるごとに、セルサイズが８大きくなり、ブロック数が２大きくなる。よって、バージョン３×４では、セルサイズは４３×５１になる。バージョンは１から２０まで選択可能であるが、これに限定されるものではない。
【００２７】
第１位置検出パターン１２Ａは、暗セルの部分が、８×８セルの１セル幅の正方形枠と、正方形枠の中心の２×２の正方形と、を有する。第２位置検出パターン１２Ｄは、暗セルの部分が、４×４セルの１セル幅の正方形枠を有する。第３位置検出パターン１２Ｂは、暗セルの部分が、８×４セルの１セル幅の長方形枠を有する、横長の長方形枠である。第４位置検出パターン１２Ｃは、暗セルの部分が、４×８セルの１セル幅の長方形枠を有する、縦長の長方形枠である。
【００２８】
識別コード１１では、正方形の二次元コードの４隅に４個の異なる位置検出パターンを配置する。なお、位置検出パターンが異なるというのは、形状、大きさ、二次元コード上での配置方向が異なる場合であり、線幅の比率が異なる場合も含まれる。ただし、撮影条件等の影響を受けるため、色の違いは対象とせず、明暗の二値画像を対象とする。
【００２９】
識別コード１１では、位置検出パターンは、正方形又は長方形の各頂点付近に配置する。これは、１箇所に配置する場合より、できるだけ離れて配置する方が汚れの影響を分散できるためである。ただし、位置検出パターンの配置位置は、４隅に限定されるものではない。識別コード１１のように、位置検出パターンとして、正方形だけでなく、長方形のものを用いることで、形状・傾き・大きさの区別が容易にできるため、高速に認識できる。また中抜きした長方形は、他の写り込みと区別するのが容易であり、データの無駄が少ない。
【００３０】
４個の位置検出パターンを配置する理由は、解析において高精度で座標のマッピングを計算するのに用いる二次元の射影変換では、コードのセルと、そのセルに対応する撮影画像の座標を計算するために、４組の座標の組をパラメータとして与えることが望ましいためである。位置検出パターン数が２個又は３個しかない場合でも、座標を補間することで、４点を算出した上で射影変換を行うことは可能であるが、ななめからの撮影や、歪み、ぼけなどで正確な座標が得にくく、データ抽出の精度に大きく影響するため、識別コード１１では４個の位置検出パターンを配置している。
【００３１】
また、位置検出パターンが異なる理由は、認識できなかった位置検出パターンがあった場合でも、認識できなかった位置検出パターンが確実に特定でき、認識できなかった位置検出パターンの座標の予測が可能になり、位置検出パターンの訂正が可能になるためである。すべて同じ位置検出パターンを用いた場合、認識できなかった位置検出パターンの特定は、すべて異なる位置検出パターンを用いた場合ほど容易ではなく、位置検出パターンの訂正が困難になる。
【００３２】
識別コード１１の４個の位置検出パターン以外の５６ブロックは、データ部であり、実データブロック、誤り訂正符号ブロック、バージョン情報ブロック、フォーマット情報ブロック、及び絵柄埋込情報ブロックと、を含む。
【００３３】
上記のように、データ部は３×３セルを１ブロックとし、ブロック単位でデータを埋め込む。データ部は、バージョン情報ブロック１５及び１６と、フォーマット情報ブロック１７と、絵柄埋込情報ブロック１８Ａ、１８Ｂ、１９Ａ及び１９Ｂと、を有し、残りのブロックが実データブロック２２である。識別コード１１では、実データブロック２２の一部を、誤り訂正符号と、位置補正パターンとして利用する。
【００３４】
したがって、位置検出パターン、バージョン情報ブロック、フォーマット情報ブロック、絵柄埋込情報ブロック、位置補正パターンを設けるブロック、さらに誤り訂正符号ブロックを除いた、残りのブロック２２が、実データブロックである。もし、絵柄の埋め込みが行われる場合には、絵柄埋込情報ブロックが指示する絵柄埋め込みブロックも実データブロックから除く。実データは、実データブロックに属するブロックについて、左上から右に順にデータを敷き詰め、敷き詰め終わったら１ブロック下の左から敷き詰めるという具合に順に記録する。
【００３５】
ブロックは、３×３セルを有し、各セルは明と暗の１ビットを表すので、１ブロックは最大９ビットの情報を持つ（９ビット表現）が、ここでは画像のぼけ・ぶれに対する耐性を高めるため、１ブロック当たりのデータ量を９ビットのデータ量より小さく設定できるようにしている。なお、識別コード１１では、ブロックを３×３セルのサイズとしたが、ブロックサイズはこれに限定されるものではなく、最小である１×１セルのサイズや、縦と横のセルサイズが異なるなどのブロックサイズも可能である。
【００３６】
バージョン情報ブロックは、識別コード１１のサイズに関する情報を記録し、縦バージョン情報ブロック１５と、横バージョン情報ブロック１６の２種類存在し、それぞれ対応するバージョン情報が記録される。縦バージョン情報ブロック１５及び横バージョン情報ブロック１６は、それぞれ同じ情報を記憶した２個のブロックを離れた２箇所に配置することにより、汚れ等で欠損するリスクを分散させる。バージョン情報として、バージョン数（縦横各１から２０）までの数値を表すブロックを配置する。
【００３７】
フォーマット情報ブロック１７は、絵柄埋込フラグ（１ビット）と、データブロック種別データ（２ビット）からなるフォーマット情報を記録し、同じ情報を記憶した３個のブロックを離れた３箇所に配置する。絵柄埋込フラグは、絵柄埋込の有無、すなわち絵柄埋込領域が設けられているか否かを示す。絵柄埋込が有の場合、絵柄埋込情報ブロックが設けられる。データブロック種別データは、データブロックの種別を示し、データブロックの種別とは、１ブロック当たりのデータ容量であり、６、７、９ビット／ブロックのいずれかを選択する。データ量は９ビット＞７ビット＞６ビット表現の順に少なくなるが、データの読み取りのしやすさは、６ビット＞７ビット＞９ビットの順であり、ぼけやぶれの発生具合と、データ量を勘案して、選択する。これについては後述する。
【００３８】
埋め込まれる絵柄は、ブロック単位で埋め込まれ、隣接した複数のブロックが絵柄埋込領域である場合には、その間の分離スペースも絵柄埋込領域に含まれる。埋め込まれる絵柄の外形は四角形であり、絵柄の画像は、セル単位の２値画像に限定されず、どのようなものでもよい。また、絵柄を埋め込む四角形のブロックは、複数個あってもよい。例えば、絵柄は、セルより高分解能の多値画像でも、カラー画像でもよく、もちろんセル単位の２値画像でもよい。第１実施形態では、絵柄埋め込みの制限として、コード上側ブロック２行、左側ブロック２列、下側ブロック３行、右ブロック３列には絵柄を埋め込まないものとする。この範囲は二次元コードの仕様により、絵柄の埋め込み範囲外の部分に画像の情報を持つ絵柄埋込情報ブロックを配置する。
【００３９】
絵柄埋込情報ブロックは、絵柄を埋め込む領域のサイズ及びブロック位置に関する情報を縦横それぞれで記録し、縦埋込情報ブロック１８Ａ及び１８Ｂと、横埋込情報ブロック１９Ａ及び１９Ｂの２種類存在し、それぞれ対応するバージョン情報が記録される。縦埋込情報ブロック１８Ａ及び１８Ｂは、絵柄埋め込み高さ（３ビット又は６ビット）及び絵柄埋込オフセット高さ（３ビット又は６ビット）を記録する。横埋込情報ブロック１９Ａ及び１９Ｂは、絵柄埋込幅（３ビット又は６ビット）及び絵柄埋込オフセット幅（３ビット又は６ビット）を指定する。なお、３ビット又は６ビットにするかは、後述するようにバージョン情報に関係し、バージョンが２〜４の場合には３ビット、バージョンが５〜２０の場合には６ビット必要であり、バージョン２〜４の場合には、縦埋込情報ブロック１８Ｂ及び横埋込情報ブロック１９Ｂは不要である。
【００４０】
絵柄埋込情報ブロックは、フォーマット情報ブロックで絵柄埋込フラグが立っていた場合のみ存在する。識別コード１１は、埋込絵柄の個数が１つのみの場合を想定しており、複数の埋込絵柄を複数領域に埋め込むことを想定した場合には、フォーマット情報ブロックで絵柄埋込フラグのビット数を増加させて絵柄埋込領域数を示すようにすると共に、上記の絵柄埋込情報ブロックを絵柄枚数分設ける。絵柄のサイズと絵柄の埋込開始位置は、ブロック単位で指定する。ブロックの座標を左上隅のブロックを原点として（ｎ，ｍ）と表現し、横ブロック数をｂｌＷ個、縦ブロック数をｂｌＨ個とする。第１実施形態では、絵柄の埋め込み領域は、左上（２，２）、右下（(ｂｌＷ−４，ｂｌＨ−４)からなる矩形の領域に限定される。絵柄の最大横ブロック数はｂｌＷ−５個、最大縦ブロック数はｂｌＨ−５個となる。
【００４１】
絵柄の位置は、始点（左上）となるブロック座標と、ブロックサイズの情報を絵柄埋込情報ブロックとしてコード内に埋め込むことで、コード解析時にどの位置に絵柄が入っているかを認識できるようにする。バージョン情報ブロックと同様に、横と縦で別々に扱う。横はｂｌＷ−５が８未満の時（横バージョン２〜４）と、それ以外の場合（横バージョン５〜２０）でデータ量を分け、縦も同様にする。ｂｌＷと、ｂｌＨの値は、横と縦のバージョンを解析することで求められる。
【００４２】
ｂｌＷが１３未満の時、横のブロックサイズは最小１、最大８ブロックであり、８通りは３ビットで表すことができ、同様に横のオフセットブロック数は２から８まで７通りあり、これも３ビットで表せるため、合計が６ビットとなる。そのため、ブロックを６ビット表現し、これらは１ブロックで表現可能である。縦も同様にする。ｂｌＷが１３以上の時、横のブロックサイズは６ビットで表し、同様に横のオフセットブロック数も６ビットで表す。よって、２ブロックを使って表現することになる。縦も同様にする。
【００４３】
横埋込情報ブロック１９Ａ及び１９Ｂは、左上及び右下の横バージョン情報ブロックの外側（上側及び下側）に、縦埋込情報ブロック１８Ａ及び１８Ｂは、左下及び右下の縦バージョン情報ブロックの外側（左側及び右側）に配置する。
【００４４】
絵柄を埋め込まない場合、すなわちフォーマット情報ブロックの絵柄埋込フラグが「無し」を示す場合、絵柄埋込情報ブロック及び絵柄埋め込みの領域が不要になるため、コードが効率的になる。
【００４５】
位置補正パターンは、実データブロック、誤り訂正符号ブロック、絵柄が埋め込まれている場合には絵柄埋込情報ブロックの座標補正に用いる目的のパターンである。識別コード１１における概ねの座標は位置検出パターンから取得できるが、紙のよれ、曲がり、レンズの歪み、位置検出パターン取得時のズレによりデータ部の座標に誤差がでるので、これを修正する目的で設ける。位置補正パターンは、位置検出パターンと異なり、他のノイズと区別する必要がなく、位置検出パターンが算出できれば位置補正パターンの位置は容易に判明する。したがって、位置補正パターンは細かな座標補正がしやすい形状が望ましい。
【００４６】
識別コード１１では、位置補正パターンは、決められたセルの組合せからなるブロック（位置補正ブロック）を実データの代わりに等間隔に配置する。ブロックの中心１セルを暗、その周囲を明にしたブロックを、ブロック座標（７ｎ，７ｍ）（ｎ，ｍは０以上の整数)がデータ部であれば配置する。ただし、その座標に、位置検出ブロック、バージョン情報ブロック、フォーマット情報ブロック、絵柄埋込情報ブロック及び絵柄が存在すべき時は、配置しない。ここでは、ブロック座標は、ブロックの左上の座標基準座標を（０，０）とし、右隣のブロックを（１，０）と表現している。なお、位置補正パターンを設けるブロックは、上記に限られない。
【００４７】
実データは、メッセージと、メッセージを修飾するヘッダー（メッセージ種類（メッセージのエンコード）・メッセージサイズ）を合わせたセグメントを、メッセージ数だけ並べる。また特殊なセグメントとして、メッセージを含まない、終端フラグだけが入ったセグメントを用意し、実データの容量が余った場合に終端フラグのセグメントを配置し、その後に埋め草を配置する。実データはデータブロック種別データが示す１ブロック当たりのデータ容量に従い、ブロック単位に分割する。同様に誤り訂正符号も、ブロック単位に分割する。
【００４８】
誤り訂正符号にリードソロモン符号を使った場合、誤り訂正はワード単位で行われるため、１ワードを１ブロックとすることが望ましい。１ワードが複数のブロックにまたがる場合、１つのブロックに汚れが発生した場合でも、そのブロックが関係する全てのワードが誤り訂正の対象となり、訂正の効率が悪くなる。訂正原因となる汚れや、スポットライトによる色とびは、１箇所に集中することが多いが、ブロックにすることにより同時に訂正対象となるデータを１箇所にまとめる効果があり、効率的な訂正を可能にし、コードを認識させる可能性を高める。
【００４９】
図４及び図５は、図１の識別コード読取システムの動作のフローチャートである。ここでは、物品としての図２に示す収納箱Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆにそれぞれ貼り付けられた識別コードを撮影する場合について説明する。
【００５０】
先ず、カメラ１Ａが物品を撮影する（ステップＳ１）。次に、カメラ１Ａが撮影した物品を含む画像をディスプレイ１Ｃの画面に表示する（ステップＳ２）。図６は、図１のディスプレイの画面上での複数の物品を含む一つの撮影画像の表示例を示す図である。図６において、画面３０に表示される一つの撮影画像３０’に含まれる物品３１，３２，３３，３４，３５，３６は、図２に示す収納箱Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆにそれぞれ対応し、印刷された識別コード３１Ａ，３２Ａ，３３Ａ，３４Ａ，３５Ａ，３６Ａが物品３１，３２，３３，３４，３５，３６にそれぞれ貼り付けられている。
【００５１】
識別コード３１Ａ，３２Ａ，３３Ａ，３４Ａ，３５Ａ，３６Ａは、それぞれカメラ１Ａにより撮影され、コンピュータ１Ｂにより読み取られる。図６に示す例において画面３０（撮影画像３０’）の幅及び長さをそれぞれｗ，ｈとし、左上のコーナーの座標を原点Ｏ（すなわち、（０，０））とした場合、右上のコーナーＡの座標、右下のコーナーＢの座標及び左下のコーナーＣの座標はそれぞれ、（ｗ−１，０），（ｗ−１，ｈ−１）及び（０，ｈ−１）で表される。
【００５２】
次に、コンピュータ１Ｂは、カメラ１Ａが撮影した画像中の識別コード３１Ａ，３２Ａ，３３Ａ，３４Ａ，３５Ａ，３６Ａを認識し、認識した識別コード３１Ａ，３２Ａ，３３Ａ，３４Ａ，３５Ａ，３６Ａをそれぞれ識別コード情報に変換し、変換した識別コード情報をサーバ３に送信する（ステップＳ３）。
【００５３】
次に、コンピュータ３Ｂは、識別コード情報をコンピュータ１Ｂから受信する（ステップＳ４）。次に、コンピュータ３Ｂは、データベース３Ａにアクセスして、識別コード情報に対応する物品３１，３２，３３，３４，３５，３６のオーバーレイ情報及び物品３１，３２，３３，３４，３５，３６に関連付けられた他の物品のオーバーレイ情報を抽出する。
【００５４】
この場合、コンピュータ３Ｂは、物品３１のオーバーレイ情報として、物品３１が収納箱Ａであることを示すオーバーレイ情報を抽出し、物品３１に関連付けられた他の物品のオーバーレイ情報として、収納箱Ａの低次階層の物品がバインダーａ１，ａ２，ａ３であることを示すオーバーレイ情報を抽出する。
【００５５】
また、コンピュータ３Ｂは、物品３２のオーバーレイ情報として、物品３２が収納箱Ｂであることを示すオーバーレイ情報を抽出し、物品３２に関連付けられた他の物品のオーバーレイ情報として、収納箱Ｂの低次階層の物品がバインダーｂ１，ｂ２，ｂ３であることを示すオーバーレイ情報を抽出する。
【００５６】
また、コンピュータ３Ｂは、物品３３のオーバーレイ情報として、物品３３が収納箱Ｃであることを示すオーバーレイ情報を抽出し、物品３３に関連付けられた他の物品のオーバーレイ情報として、収納箱Ｃの低次階層の物品がバインダーｃ１，ｃ２，ｃ３であることを示すオーバーレイ情報を抽出する。
【００５７】
また、コンピュータ３Ｂは、物品３４のオーバーレイ情報として、物品３４が収納箱Ｄであることを示すオーバーレイ情報を抽出し、物品３４に関連付けられた他の物品のオーバーレイ情報として、収納箱Ｄの低次階層の物品がバインダーｄ１，ｄ２，ｄ３であることを示すオーバーレイ情報を抽出する。
【００５８】
また、コンピュータ３Ｂは、物品３５のオーバーレイ情報として、物品３５が収納箱Ｅであることを示すオーバーレイ情報を抽出し、物品３５に関連付けられた他の物品のオーバーレイ情報として、収納箱Ｅの低次階層の物品がバインダーｅ１，ｅ２，ｅ３であることを示すオーバーレイ情報を抽出する。
【００５９】
さらに、コンピュータ３Ｂは、物品３６のオーバーレイ情報として、物品３６が収納箱Ｆであることを示すオーバーレイ情報を抽出し、物品３６に関連付けられた他の物品のオーバーレイ情報として、収納箱Ｆの低次階層の物品がバインダーｆ１，ｆ２，ｆ３であることを示すオーバーレイ情報を抽出する。
【００６０】
次に、コンピュータ３Ｂは、物品３１，３２，３３，３４，３５，３６のオーバーレイ情報をコンピュータ１Ｂに送信する（ステップＳ６）。次に、コンピュータ１Ｂは、物品３１，３２，３３，３４，３５，３６のオーバーレイ情報をコンピュータ３Ｂから受信する（ステップＳ７）。
【００６１】
次に、コンピュータ１Ｂは、識別コード３１Ａ，３２Ａ，３３Ａ，３４Ａ，３５Ａ，３６Ａの中心座標をそれぞれ計算する（ステップＳ８）。図７は、識別コードの中心座標の算出を説明するための図である。図７に示す識別コードＸは、図３に示す識別コードと同一の形式を有し、識別コード３１Ａ，３２Ａ，３３Ａ，３４Ａ，３５Ａ，３６Ａにそれぞれ対応する。
【００６２】
コンピュータ１Ｂは、撮影画像３０’を解析することによって、識別コードＸの位置検出パターンＸ０のコーナーＰ０の座標（ｐｘ０，ｐｙ０）、位置検出パターンＸのコーナーＰ１の座標（ｐｘ１，ｐｙ１）、位置検出パターンＸ２のコーナーＰ２の座標（ｐｘ２，ｐｙ２）及び位置検出パターンＸ３のコーナーＰ３の座標（ｐｘ３，ｐｙ３）を取得することができる。
【００６３】
位置検出パターンＸの中心座標Ｃ（ｃｘ，ｃｙ）を、コーナーＰ０，Ｐ１，Ｐ２，Ｐ３の座標、識別コードＸの対角線上にあるコーナーＰ０，Ｐ２の座標、又は識別コードＸの対角線上にあるコーナーＰ１，Ｐ３の座標から求めることができる。中心座標Ｃ（ｃｘ，ｃｙ）をコーナーＰ０，Ｐ１，Ｐ２，Ｐ３の座標から求める場合、中心座標Ｃのｘ座標ｃｘは、（ｐｘ０＋ｐｘ１＋ｐｘ２＋ｐｘ３）／４となり、中心座標Ｃのｙ座標ｃｙは、（ｐｙ０＋ｐｙ１＋ｐｙ２＋ｐｙ３）／４となる。また、中心座標Ｃ（ｃｘ，ｃｙ）を識別コードＸの対角線上にあるコーナーＰ０，Ｐ２の座標から求める場合、中心座標Ｃのｘ座標ｃｘは、（ｐｘ０＋ｐｘ２）／２となり、中心座標Ｃのｙ座標ｃｙは、（ｐｙ０＋ｐｙ２）／２となる。
【００６４】
次に、コンピュータ１Ｂは、物品３１，３２，３３，３４，３５，３６のオーバーレイ情報の表示範囲を決定する（ステップＳ９）。物品のオーバーレイ情報の表示範囲は、後述する優先度及び重なり調整係数を用いて設定する。
【００６５】
物品のオーバーレイ情報の表示面積についての情報は、端末１の図示しないメモリ又はデータベース３Ａで保持され、識別コードごとに同一でも異なってもよい。後述するように、コンピュータ１Ｂは、端末１の図示しないメモリ又はデータベース３Ａで保持された物品のオーバーレイ情報の表示面積を、物品のオーバーレイ情報の表示範囲に応じて変更することができる。
【００６６】
優先度は、データベース３Ａにおいて識別コードごとに設定される場合や、ディスプレイ１Ｃの表示画面３０中の撮影画像３０’に表示される識別コードの面積が大きい順番、ディスプレイ１Ｃの表示画面３０中の撮影画像３０’の中心と識別コードとの距離が小さい順番、又は撮影画像３０’をラスター走査する際に識別コードの走査が開始される順番に設定できる。
【００６７】
優先度が、ディスプレイ１Ｃの表示画面３０中の撮影画像３０’に表示される識別コードの面積が大きい順番に設定される場合、カメラのレンズに近い識別コードが優先される。
【００６８】
また、優先度が、ディスプレイ１Ｃの表示画面３０中の撮影画像３０’の中心と識別コードとの距離が小さい順番に設定することもできる。
【００６９】
また、優先度は、撮影画像３０’をラスター走査する際に識別コードの走査が開始される順番に設定することもできる。
【００７０】
図８は、画像中の認識した識別コードに対応するオーバーレイ情報の表示範囲の設定の一例を説明するための図である。図８において、図を分かりやすくするためにディスプレイ１Ｃの表示画面３０中の撮影画像３０’に物品３１のみが表示されている場合を示す。
【００７１】
物品３１のオーバーレイ情報の表示面積についての情報として、オーバーレイ情報の表示範囲の高さ及び幅の初期設定値がそれぞれｈａ，ｗａであるという情報が端末１の図示しないメモリ又はデータベース３Ａで保持され、識別コード３１Ａの中心座標ＣＡが（ｃｘａ，ｃｙａ）である場合、表示範囲３１ＢのコーナーＣＡ０，ＣＡ１，ＣＡ２，ＣＡ３はそれぞれ、（ｃｘａ−ｗａ／２，ｃｙａ−ｈａ／２），（ｃｘａ＋ｗａ／２，ｃｙａ−ｈａ／２），（ｃｘａ＋ｗａ／２，ｃｙａ＋ｈａ／２），（ｃｘａ−ｗａ／２，ｃｙａ＋ｈａ／２）に設定される。
【００７２】
本実施の形態では、コンピュータ１Ｂが、ディスプレイ１Ｃの表示画面３０中の撮影画像３０’内に存在する複数の識別コードを認識した場合、撮影画像３０’中の複数の識別コードにそれぞれ対応するオーバーレイ情報の複数の表示範囲を、互いに重なり合わないように設定する。
【００７３】
このために、まず第１段階として、コンピュータ１Ｂは、最も低い優先度を有する表示範囲を除く全ての表示範囲について、優先度の高い順番に、当該表示範囲に対応する識別コードの中心座標の上下左右方向における当該表示範囲とそれより優先度の低い表示範囲との重なり合いの有無を判断する。次に、コンピュータ１Ｂは、重なり合いが存在するそれぞれの方向において、重なり合いの範囲に重なり調整係数を乗算した値だけ優先度の高い方の表示範囲を小さくする。
【００７４】
例えば、最も高い優先度を有する物品３１のオーバーレイ情報の表示範囲が、次に高い優先度を有する物品３２のオーバーレイ情報の表示範囲及び最も低い優先度を有する物品３３のオーバーレイ情報の表示範囲と重なり合う場合を考える。その場合、物品３１のオーバーレイ情報の表示範囲と、物品３２のオーバーレイ情報の表示範囲及び物品３３のオーバーレイ情報の表示範囲との重なり合いの有無を判断する。そして、重なり合いの範囲に重なり調整係数を乗算した値だけ、物品３１のオーバーレイ情報の表示範囲を小さくする。その後、物品３２のオーバーレイ情報の表示範囲と物品３２のオーバーレイ情報の表示範囲との重なり合いの有無を判断し、重なり合いの範囲に重なり調整係数を乗算した値だけ、物品３２のオーバーレイ情報の表示範囲を小さくする。以上のようにして、優先度の高い方の表示範囲を小さくする第１段階の処理が終了する。
【００７５】
そして、第２段階では、コンピュータ１Ｂは、最も高い優先度を有する表示範囲を除く全ての表示範囲について、優先度の高い順番に、当該表示範囲に対応する識別コードの中心座標の上下左右方向における当該表示範囲とそれより優先度の高い表示範囲との重なり合いの有無を判断する。そして、当該表示範囲に対応する識別コードの中心座標の上下左右方向について表示範囲の重なり合いが存在する場合、重なり合いがある全ての方向において、重なり合いの範囲がなくなるまで当該表示範囲を小さくする。
【００７６】
例えば、第１段階を行った後でも、最も高い優先度を有する物品３１のオーバーレイ情報の表示範囲が、次に高い優先度を有する物品３２のオーバーレイ情報の表示範囲及び最も低い優先度を有する物品３３のオーバーレイ情報の表示範囲と重なり合う場合を考える。この場合、第２段階では、まず物品３２のオーバーレイ情報の表示範囲と物品３１のオーバーレイ情報の表示範囲との重なり合いの有無を判断する。そして、重なり合いの範囲が無くなるまで、物品３２のオーバーレイ情報の表示範囲を小さくする。その後、物品３３のオーバーレイ情報の表示範囲と物品３１のオーバーレイ情報の表示範囲との重なり合いの有無を判断し、重なり合いの範囲が無くなるまで、物品３３のオーバーレイ情報の表示範囲を小さくする。以下、同様の処理を、物品３２のオーバーレイ情報の表示範囲と物品３３のオーバーレイ情報の表示範囲についても行い、必要に応じて物品３３のオーバーレイ情報の表示範囲を小さくする。
【００７７】
図９は、オーバーレイ情報の表示範囲の重なり合いの調整するための第１段階における優先度の高いオーバーレイ情報の表示範囲の縮小の一例を説明するための図である。図９では、横方向をｘ方向、縦方向をｙ方向とし、これは他の図でも同じである。図９Ａにおいて、図を分かりやすくするためにディスプレイ１Ｃの表示画面３０中の撮影画像３０’に物品３１，３２のみが表示されている場合を示す。
【００７８】
図９Ａに示す例において、物品３１のオーバーレイ情報の表示範囲３１Ｂの高さ及び幅がそれぞれｈａ，ｗａに設定され、物品３２のオーバーレイ情報の表示範囲３２Ｂの高さ及び幅がそれぞれｈｂ，ｗｂに設定され、物品３１のオーバーレイ情報の表示範囲３１Ｂの優先度が物品３２のオーバーレイ情報の表示範囲３２Ｂの優先度よりも高く設定され、物品３１のオーバーレイ情報の表示範囲３１Ｂの重なり調整係数及び物品３２のオーバーレイ情報の表示範囲３１Ｂの重なり調整係数がいずれも０．５に設定される。
【００７９】
また、図９Ａに示す例において、識別コード３１Ａの中心座標ＣＡが（ｃｘａ，ｃｙａ）である場合、表示範囲３１ＢのコーナーＣＡ０，ＣＡ１，ＣＡ２，ＣＡ３はそれぞれ、（ｃｘａ−ｗａ／２，ｃｙａ−ｈａ／２），（ｃｘａ＋ｗａ／２，ｃｙａ−ｈａ／２），（ｃｘａ＋ｗａ／２，ｃｙａ＋ｈａ／２），（ｃｘａ−ｗａ／２，ｃｙａ＋ｈａ／２）に設定される。
【００８０】
さらに、図９Ａに示す例において、識別コード３２Ａの中心座標ＣＢが（ｃｘｂ，ｃｙｂ）である場合、表示範囲３２ＢのコーナーＣＢ０，ＣＢ１，ＣＢ２，ＣＢ３はそれぞれ、（ｃｘｂ−ｗｂ／２，ｃｙｂ−ｈｂ／２），（ｃｘｂ＋ｗｂ／２，ｃｙｂ−ｈｂ／２），（ｃｘｂ＋ｗｂ／２，ｃｙｂ＋ｈｂ／２），（ｃｘｂ−ｗｂ／２，ｃｙｂ＋ｈｂ／２）に設定される。図９Ａでは、図を分かりやすくするために、ｃｙａ＝ｃｙｂ，ｈａ＝ｈｂとして示している。
【００８１】
図９Ａに示す例では、物品３２のオーバーレイ情報の表示範囲３２Ｂの物品３１のオーバーレイ情報の表示範囲３１Ｂに対する重なり合いは、ｘ方向で発生し、表示範囲３１Ｂについては正のｘ方向で、表示範囲３２Ｂについては負のｘ方向で重なり合う。具体的には、中心座標ＣＡの右（正）方向の座標ｃｘｂ−ｗｂ／２からｃｘａ＋ｗａ／２までの距離ｄ（＝ｗａ／２−（ｃｘｂ−ｗｂ／２））だけの重なりである。そのため、物品３１のオーバーレイ情報の表示範囲３１Ｂを、重なり合いの範囲に相当する距離ｄに重なり乗数係数０．５を乗算した値だけ、すなわち、０．５ｄだけ小さくする。
【００８２】
したがって、図９Ｂに示すように、調整後の物品３１のオーバーレイ情報の表示範囲３１Ｂ’のコーナーＣＡ０，ＣＡ１’，ＣＡ２’，ＣＡ３はそれぞれ、（ｃｘａ−ｗａ／２，ｃｙａ−ｈａ／２），（ｃｘａ＋ｗａ／２−ｄ／２，ｃｙａ−ｈａ／２），（ｃｘａ＋ｗａ／２−ｄ／２，ｃｙａ＋ｈａ／２），（ｃｘａ−ｗａ／２，ｃｙａ＋ｈａ／２）に設定される。
【００８３】
図１０は、オーバーレイ情報の表示範囲の重なり合いの調整するための第２段階における優先度の低いオーバーレイ情報の表示範囲の縮小の一例を説明するための図である。図１０を参照しながら説明する優先度の低いオーバーレイ情報の表示範囲の縮小は、図９を参照しながら説明した優先度の高いオーバーレイ情報の表示範囲の縮小を行った後に行われ、図１０Ａは図９Ｂと同一である。
【００８４】
図１０Ａに示す例では、物品３１のオーバーレイ情報の表示範囲３１Ｂの物品３２のオーバーレイ情報の表示範囲３２Ｂ’に対するｘ方向の重なりは、中心座標ＣＢの左（負）方向の距離ｄ／２だけの重なりに相当するので、物品３２のオーバーレイ情報の表示範囲３２Ｂを、重なり合いの範囲に相当する距離０．５ｄだけ小さくする。
【００８５】
したがって、図１０Ｂに示すように、調整後の物品３２のオーバーレイ情報の表示範囲３２Ｂ’のコーナーＣＢ０’，ＣＢ１，ＣＢ２，ＣＢ３’はそれぞれ、（ｃｘｂ＋ｗｂ／２＋ｄ／２，ｃｙａ−ｈｂ／２），（ｃｘｂ＋ｗｂ／２，ｃｙｂ−ｈｂ／２），（ｃｘｂ＋ｗｂ／２，ｃｙｂ＋ｈｂ／２），（ｃｘｂ−ｗｂ／２＋ｄ／２，ｃｙｂ＋ｈｂ／２）に設定され，コーナーＣＢ０’ＣＢ３’はそれぞれコーナーＣＡ１’，ＣＡ２’にそれぞれ一致するようになる。
【００８６】
ディスプレイ１Ｃの表示画面３０中の撮影画像３０’内に存在する複数の識別コードの中心座標間の距離が短い場合、優先度の高い順番にオーバーレイ情報の表示範囲を設定したときに優先度の低い（例えば、優先度の最も低い）オーバーレイ情報の表示範囲がディスプレイ１Ｃの表示画面３０中の撮影画像３０’中に設定できなくなることがある。上述したようにオーバーレイ情報の表示範囲を設定する際に重なり調整係数を用いていることによって、全てのオーバーレイ情報の表示範囲を設定することができる。また、優先度の低い（例えば、優先度の最も低い）オーバーレイ情報の表示範囲を設定しないように重なり調整係数を決定することもできる。上記の例では、重なり調整係数を０．５にしたため、重なり合う２つの表示範囲は、同じ長さ分小さくなるが、例えば、優先度の高い方の重なり調整係数を０．２とすれば、優先度の高い方は０．２ｄ小さくなり、低い方は０．８ｄ小さくなる。また、重なり調整係数を０にすれば、優先度の高い方は小さくせず、低い方のみを重なり合いの幅ｄ小さくすることになる。
【００８７】
図１１は、第３段階でのオーバーレイ情報の表示範囲の調整の一例を説明するための図である。図１１において、図を分かりやすくするためにディスプレイ１Ｃの表示画面３０中の撮影画像３０’に物品３１のみが表示されている場合を示す。
【００８８】
図１１に示す例では、図８に示す例と同様に、物品３１のオーバーレイ情報の表示面積についての情報としてオーバーレイ情報の表示範囲の高さ及び幅がそれぞれｈａ，ｗａである情報が端末１の図示しないメモリ又はデータベース３Ａで保持され、識別コード３１Ａの中心座標ＣＡが（ｃｘａ，ｃｙａ）である場合、物品３２のオーバーレイ情報の表示範囲３１ＢのコーナーＣＡ０，ＣＡ１，ＣＡ２，ＣＡ３はそれぞれ、（ｃｘａ−ｗａ／２，ｃｙａ−ｈａ／２），（ｃｘａ＋ｗａ／２，ｃｙａ−ｈａ／２），（ｃｘａ＋ｗａ／２，ｃｙａ＋ｈａ／２），（ｃｘａ−ｗａ／２，ｃｙａ＋ｈａ／２）に設定される。
【００８９】
図１１Ａに示すように識別コード３１Ａの中心座標ＣＡに基づいて設定したオーバーレイ情報の表示範囲３１Ｂの少なくとも一部（図１１では、表示範囲３１Ｂの下側の部分）がディスプレイ１Ｃの表示画面３０中の撮影画像３０’の外にある場合、コンピュータ１Ｂは、図１１Ｂに示すように、ディスプレイ１Ｃの表示画面３０中の撮影画像３０’内に収まるオーバーレイ情報の表示範囲３１Ｂ”を再設定する。
【００９０】
このように再設定された物品３２のオーバーレイ情報の表示範囲３１Ｂ”のコーナーＣＡ０，ＣＡ１，ＣＡ１２，ＣＡ１３はそれぞれ、（ｃｘａ−ｗａ／２，ｃｙａ−ｈａ／２），（ｃｘａ＋ｗａ／２，ｃｙａ−ｈａ／２），（ｃｘａ＋ｗａ／２，ｈ−１），（ｃｘａ−ｗａ／２，ｈ−１）に設定される。ｈ−１は、撮影画像３０’の下辺のｙ座標である。
【００９１】
さらに、コンピュータ１Ｂは、物品３１，３２，３３，３４，３５，３６のオーバーレイ情報の表示範囲を、ディスプレイ１Ｃに表示される識別コード３１Ａ，３２Ａ，３３Ａ，３４Ａ，３５Ａ，３６Ａの面積に応じて再設定してもよい。
【００９２】
図５に戻り、次に、コンピュータ１Ｂは、物品３１，３２，３３，３４，３５，３６のオーバーレイ情報の表示内容を決定する（ステップＳ１０）。本実施の形態では、コンピュータ１Ｂは、物品の種類を示すオーバーレイ情報と当該オーバーレイ情報の代替画像を表すオーバーレイ情報のうちのいずれをオーバーレイ情報の表示範囲に表示するかを決定する。また、物品の種類を示すオーバーレイ情報を表示することを決定した場合、コンピュータ１Ｂは、端末１の図示しないメモリ又はデータベース３Ａで保持されたオーバーレイ情報の表示面積と同一の表示面積を有するオーバーレイ情報と、オーバーレイ情報の表示範囲の面積に応じて変更した表示面積を有するオーバーレイ情報のうちのいずれをオーバーレイ情報の表示範囲に表示するかを決定する。いずれにしろ、表示範囲外にはみ出るようなオーバーレイ情報を選択しないようにする。
【００９３】
次に、ディスプレイ１Ｃは、物品３１，３２，３３，３４，３５，３６のそれぞれのオーバーレイ情報を、ディスプレイ１Ｃの表示画面３０中の対応する表示範囲内にそれぞれ表示する（ステップＳ１１）。
【００９４】
図１２は、図１のディスプレイの画面上での物品のオーバーレイ情報の表示例を示す図である。図１２において、ディスプレイ１Ｃは、物品３１が収納箱Ａであることを示すオーバーレイ情報３１Ｃを、表示画面３０中の表示範囲３１Ｂ内に表示する。また、ディスプレイ１Ｃは、物品３２が収納箱Ｂであることを示すオーバーレイ情報３２Ｃを、表示画面３０中の表示範囲３２Ｂ内に表示する。また、ディスプレイ１Ｃは、物品３３が収納箱Ｃであることを示すオーバーレイ情報３３Ｃを、表示画面３０中の表示範囲３３Ｂ内に表示する。また、ディスプレイ１Ｃは、物品３４が収納箱Ｄであることを示すオーバーレイ情報３４Ｃを、表示画面３０中の表示範囲３４Ｂ内に表示する。また、ディスプレイ１Ｃは、物品３５が収納箱Ｅであることを示すオーバーレイ情報３５Ｃを、表示画面３０中の表示範囲３５Ｂ内に表示する。さらに、ディスプレイ１Ｃは、物品３６が収納箱Ｆであることを示すオーバーレイ情報３６Ｃを、表示画面３０中の表示範囲３６Ｂ内に表示する。
【００９５】
この場合、コンピュータ１Ｂは、ステップＳ１０において、オーバーレイ情報３１Ｃ，３２Ｃ，３３Ｃ，３４Ｃ，３５Ｃの表示面積をそれぞれ、端末１の図示しないメモリ又はデータベース３Ａで保持されたオーバーレイ情報３１Ｃ，３２Ｃ，３３Ｃ，３４Ｃ，３５Ｃの表示面積と同一の表示面積に設定し、オーバーレイ情報３６Ｃの表示面積を、表示画面３０中の表示範３２６Ｂの面積に応じて変更（この場合、縮小）した表示面積に設定する。
【００９６】
図１３は、図１のディスプレイの画面上での物品のオーバーレイ情報の他の表示例を示す図である。図１３に示す例では、ディスプレイ１Ｃは、オーバーレイ情報３６Ｃの代替画像を表すオーバーレイ情報３６Ｃ’を、表示画面３０中の表示範囲３６Ｂ内に表示する。代替画像は、例えば、アイコンである。
【００９７】
この場合、コンピュータ１Ｂは、ステップＳ１０において、オーバーレイ情報３６Ｃ’の表示面積を、端末１の図示しないメモリ又はデータベース３Ａで保持されたオーバーレイ情報３６Ｃ’の表示面積と同一の表示面積に設定する。
【００９８】
図５に戻り、次に、コンピュータ３Ｂは、物品３１，３２，３３，３４，３５，３６に関連付けられた他の物品のオーバーレイ情報をコンピュータ１Ｂに送信する（ステップＳ１２）。次に、コンピュータ１Ｂは、物品３１，３２，３３，３４に関連付けられた他の物品のオーバーレイ情報をコンピュータ３Ｂから受信する（ステップＳ１３）。
【００９９】
次に、コンピュータ１Ｂは、物品３１，３２，３３，３４，３５，３６に関連付けられた他の物品のオーバーレイ情報の表示内容を決定する（ステップＳ１４）。本実施の形態では、コンピュータ１Ｂは、物品３１，３２，３３，３４，３５，３６に関連付けられた他の物品の種類を示すオーバーレイ情報と当該オーバーレイ情報の代替画像を表すオーバーレイ情報のうちのいずれをオーバーレイ情報の表示範囲に表示するかを決定する。また、物品３１，３２，３３，３４，３５，３６に関連付けられた他の物品の種類を示すオーバーレイ情報を表示することを決定した場合、コンピュータ１Ｂは、端末１の図示しないメモリ又はデータベース３Ａで保持されたオーバーレイ情報の表示面積と同一の表示面積を有するオーバーレイ情報と、オーバーレイ情報の表示範囲の面積に応じて変更した表示面積を有するオーバーレイ情報のうちのいずれをオーバーレイ情報の表示範囲に表示するかを決定する。
【０１００】
次に、ディスプレイ１Ｃは、物品３１，３２，３３，３４に関連付けられた他の物品のオーバーレイ情報を、ディスプレイ１Ｃの表示画面３０中の対応する表示範囲内にそれぞれ表示し（ステップＳ１５）、処理フローを終了する。
【０１０１】
図１４は、図１のディスプレイの画面上での他の物品のオーバーレイ情報の表示例を示す図である。図１４において、ディスプレイ１Ｃは、収納箱Ａに対応する物品３１に関連付けられた他の物品がバインダーａ１，ａ２，ａ３であることを示すオーバーレイ情報３１Ｄを、オーバーレイ情報３１Ｃとともに表示画面３０中の表示範囲３１Ｂ内に表示する。また、ディスプレイ１Ｃは、収納箱Ｂに対応する物品３２に関連付けられた他の物品がバインダーｂ１，ｂ２，ｂ３であることを示すオーバーレイ情報３２Ｄを、オーバーレイ情報３２Ｃとともに表示画面３０中の表示範囲３２Ｂ内に表示する。また、ディスプレイ１Ｃは、収納箱Ｃに対応する物品３３に関連付けられた他の物品がバインダーｃ１，ｃ２，ｃ３であることを示すオーバーレイ情報３３Ｄを、オーバーレイ情報３３Ｃとともに表示画面３０中の表示範囲３３Ｂ内に表示する。また、ディスプレイ１Ｃは、収納箱Ｄに対応する物品３４に関連付けられた他の物品がバインダーｄ１，ｄ２，ｄ３であることを示すオーバーレイ情報３４Ｄを、オーバーレイ情報３４Ｃとともに表示画面３０中の表示範囲３４Ｂ内に表示する。また、ディスプレイ１Ｃは、収納箱Ｅに対応する物品３５に関連付けられた他の物品がバインダーｅ１，ｅ２，ｅ３であることを示すオーバーレイ情報３５Ｄを、オーバーレイ情報３５Ｃとともに表示画面３０中の表示範囲３５Ｂ内に表示する。さらに、ディスプレイ１Ｃは、収納箱Ｆに対応する物品３６に関連付けられた他の物品がバインダーｆ１，ｆ２，ｆ３であることを示すオーバーレイ情報３６Ｄを、オーバーレイ情報３６Ｃとともに表示画面３０中の表示範囲３６Ｂ内に表示する。
【０１０２】
この場合、コンピュータ１Ｂは、ステップＳ１４において、オーバーレイ情報３１Ｄ，３２Ｄ，３３Ｄ，３５Ｄの表示面積をそれぞれ、端末１の図示しないメモリ又はデータベース３Ａで保持されたオーバーレイ情報３１Ｄ，３２Ｄ，３３Ｄ，３５Ｄの表示面積と同一の表示面積に設定し、オーバーレイ情報３４Ｄ，３６Ｄの表示面積を、表示画面３０中の表示範囲３４Ｂ，３６Ｂの面積に応じてそれぞれ変更（この場合、縮小）した表示面積に設定する。
【０１０３】
また、コンピュータ１Ｂは、ステップＳ１４において、オーバーレイ情報３１Ｃ，３２Ｃ，３３Ｃ，３４Ｃ，３５Ｃ，３６Ｃの表示面積をそれぞれ、表示画面３０中の表示範囲３１Ｂ，３２Ｂ，３３Ｂ，３４Ｂ，３５Ｂ，３６Ｂの面積及びオーバーレイ情報３１Ｄ，３２Ｄ，３３Ｄ，３４Ｄ，３５Ｄ，３６Ｄの表示面積に応じてそれぞれ変更（この場合、縮小）した表示面積に設定する。
【０１０４】
図１５は、図１のディスプレイの画面上での他の物品のオーバーレイ情報の他の表示例を示す図である。図１５に示す例では、ディスプレイ１Ｃは、オーバーレイ情報３４Ｄの代替画像を表すオーバーレイ情報３４Ｄ’を、表示画面３０中の表示範囲３４Ｂ内に表示する。また、ディスプレイ１Ｃは、オーバーレイ情報３５Ｄの代替画像を表すオーバーレイ情報３５Ｄ’を、表示画面３０中の表示範囲３５Ｂ内に表示する。さらに、ディスプレイ１Ｃは、オーバーレイ情報３６Ｃ及びオーバーレイ情報３６Ｄの代替画像を表すオーバーレイ情報３６Ｄ’を、表示画面３０中の表示範囲３６Ｂ内に表示する。代替画像は、例えば、アイコンである。
【０１０５】
この場合、コンピュータ１Ｂは、ステップＳ１４において、オーバーレイ情報３４Ｄ’，３５Ｄ’，３６Ｄ’の表示面積をそれぞれ、端末１の図示しないメモリ又はデータベース３Ａで保持されたオーバーレイ情報３４Ｄ’，３５Ｄ’ ，３６Ｄ’の表示面積と同一の表示面積に設定する。
【０１０６】
本実施の形態によれば、撮影画像３０’中の認識した識別コード３１Ａ，３２Ａ，３３Ａ，３４Ａ，３５Ａ，３６Ａにそれぞれ対応するオーバーレイ情報３１Ｃ，３２Ｃ，３３Ｃ，３４Ｃ，３５Ｃ，３６Ｃの表示範囲３１Ｂ，３２Ｂ，３３Ｂ，３４Ｂ，３５Ｂ，３６Ｂを識別コード３１Ａ，３２Ａ，３３Ａ，３４Ａ，３５Ａ，３６Ａの中心座標に基づいて設定するので、撮影画像３０’中の認識した識別コード３１Ａ，３２Ａ，３３Ａ，３４Ａ，３５Ａ，３６Ａにそれぞれ対応するオーバーレイ情報３１Ｃ，３２Ｃ，３３Ｃ，３４Ｃ，３５Ｃ，３６Ｃの表示範囲３１Ｂ，３２Ｂ，３３Ｂ，３４Ｂ，３５Ｂ，３６Ｂを適切な表示範囲に設定することができる。
【０１０７】
また、ディスプレイ１Ｃの画面内に存在する複数の識別コード３１Ａ，３２Ａ，３３Ａ，３４Ａ，３５Ａ，３６Ａを認識する場合でも、撮影画像３０’中の複数の識別コード３１Ａ，３２Ａ，３３Ａ，３４Ａ，３５Ａ，３６Ａにそれぞれ対応するオーバーレイ情報３１Ｃ，３２Ｃ，３３Ｃ，３４Ｃ，３５Ｃ，３６Ｃがディスプレイ１Ｃの画面上で互いに重なり合わないようにすることができる。
【０１０８】
本発明は、上記実施の形態に限定されるものではなく、幾多の変更及び変形が可能である。例えば、データベースをサーバの代わりに端末に設けることもできる。また、物品、物品のオーバーレイ情報及び当該物品に関連した他の物品のオーバーレイ情報を順次表示する代わりに、物品、物品のオーバーレイ情報及び当該物品に関連した他の物品のオーバーレイ情報を同時に表示することもできる。また、オーバーレイ情報の表示範囲を設定する際に用いる識別コードを解析して得られた位置座標として、識別コードの中心座標の代わりに、識別コードに含まれる位置検出パターンの任意の位置（例えば、位置検出パターンのコーナー）の座標、識別コードから所定の距離離れた位置の座標等を用いることができる。また、オーバーレイ情報の表示範囲を設定する際に識別コードを解析して得られた位置座標を複数用いてもよい。
【０１０９】
また、オーバーレイ情報として、高次階層の物品の有無、低次階層の物品の有無、物品のリスト、高次階層の物品の個数、低次階層の物品の個数を表示することができる。また、物品のオーバーレイ情報に当該物品に関連した他の物品のオーバーレイ情報を入れ子表示することができる。また、物品のオーバーレイ情報及び当該物品に関連した他の物品のオーバーレイ情報をタブ表示することもできる。
【０１１０】
さらに、データベース３Ａが画像として読取可能な識別コードが付された物品の情報を画像として読取可能な識別コードが付された他の物品と関連付けて記憶する場合について説明したが、データベース３Ａが画像として読取可能な識別コードが付された物品の情報を画像として読取可能な識別コードが付された他の物品と関連付けることなく記憶する場合にも本発明を適用することができる。
【符号の説明】
【０１１１】
１    端末
１Ａ    カメラ（撮影部）
１ａ    レンズ
１Ｂ    コンピュータ（識別コード認識及び表示範囲設定部）
１ｂ    イメージセンサ
１Ｃ    ディスプレイ
１ｃ    アナログ・デジタル変換器（ＡＤ）
１Ｄ，３Ｃ    通信インタフェース
２    ネットワーク（通信経路）
３    サーバ
３Ａ    データベース
３Ｂ    コンピュータ（情報抽出部）
１１，２１Ａ，２２Ａ，２３Ａ，２４Ａ，２５Ａ，２６Ａ    識別コード
１２Ａ    第１位置検出パターン
１２Ｂ    第３位置検出パターン
１２Ｃ    第４位置検出パターン
１２Ｄ    第２位置検出パターン
１５    バージョン情報ブロック（縦）
１６    バージョン情報ブロック（横）
１７    フォーマット情報ブロック
１８Ａ，１８Ｂ    絵柄埋込情報ブロック（縦）
１９Ａ，１９Ｂ    絵柄埋込情報ブロック（横）
３０    画面
３０’    撮影画像
３１，３２，３３，３４，３５，３６    物品
３１Ｂ，３１Ｂ’，３２Ｂ，３２Ｂ’，３３Ｂ，３４Ｂ，３５Ｂ，３６Ｂ    表示範囲
３１Ｃ，３１Ｄ，３２Ｃ，３２Ｄ，３３Ｃ，３３Ｄ，３４Ｃ，３４Ｄ，３４Ｄ’，３５Ｃ，３５Ｄ，３５Ｄ’，３６Ｃ，３６Ｃ’，３６Ｄ，３６Ｄ’    オーバーレイ情報
【図１】
2015072508.tif 000003
【図３】
2015072508.tif 000004
【図４】
2015072508.tif 000005
【図５】
2015072508.tif 000006
【図６】
2015072508.tif 000007
【図７】
2015072508.tif 000008
【図２】
2015072508.tif 000009
【図８】
2015072508.tif 000010
【図９】
2015072508.tif 000011
【図１０】
2015072508.tif 000012
【図１１】
2015072508.tif 000013
【図１２】
2015072508.tif 000014
【図１３】
2015072508.tif 000015
【図１４】
2015072508.tif 000016
【図１５】
2015072508.tif 000017