(57)【要約】【課題】情報量を増加させることが可能なコードを提供する。【解決手段】色の情報を取得可能な複数の領域であるセルを有する複数のコードが多重化された多重化コードであって、複数のコードが有するセルのサイズが、コード間で異なっており、複数のコードがそれぞれ有するセルのうちの１以上のセルは、異なるコードの１以上のセルと重なっており、複数のコード毎に取得される各コードが有する複数のセルの色の情報の配列が、各コードに対応する情報を表す多重化コードである。【選択図】図２
2019008564.tif 000002
【特許請求の範囲】
【請求項１】
色の情報を取得可能な複数の領域であるセルを有する複数のコードが多重化された多重化コードであって、
前記複数のコードが有するセルのサイズが、コード間で異なっており、
前記複数のコードがそれぞれ有するセルのうちの１以上のセルは、異なるコードの１以上のセルと重なっており、
前記複数のコード毎に取得される各コードが有する複数のセルの色の情報の配列が、各コードに対応する情報を表す多重化コード。
【請求項２】
前記多重化された複数のコードのうちのセルのサイズが大きい１以上のコードが有する各セル内には、当該セルよりも小さいセルを有する１以上のコードの複数のセルが配置されている請求項１記載の多重化コード。
【請求項３】
前記セルのサイズが異なる２以上のコードには、階層化された情報が対応付けられており、
前記セルのサイズが異なる２以上のコードのうちの、セルのサイズが大きいコードには、セルのサイズが小さいコードよりも上位の階層の情報が対応付けられている請求項１または請求項２記載の多重化コード。
【請求項４】
前記複数のコードの内の１以上のコードの各セルから取得される色の情報は、当該セル内に配置される当該セルよりもセルのサイズが小さい他のコードが有する複数のセルから取得される色の情報を用いて取得され、当該１以上のコードは、当該取得される色の情報の配列が、コードに対応する情報を表している請求項１から請求項３いずれか一項記載の多重化コード。
【請求項５】
前記複数のコードのうちの２以上のコード毎に取得される各コードが有する複数のセルの色の情報は、コード毎に異なる色の成分の情報であり、当該２以上のコードは、当該コード毎に取得される色の成分の情報の配列が、コードに対応する情報を表している請求項１から請求項４いずれか一項記載の多重化コード。
【請求項６】
前記複数のコードは、
複数のセルから取得される明度と、当該複数のセルの配列との組合せにより情報を表す１以上のコードと、
複数のセルから取得される色相、彩度、または色相と彩度との組合せと、当該複数のセルの配列との組合せにより情報を表す１以上のコードとを有する請求項１から請求項５いずれか一項記載の多重化コード。
【請求項７】
色の情報を取得可能な複数の領域であるセルを有する複数のコードが多重化された多重化コードであって、前記複数のコードが有するセルのサイズが、コード間で異なっており、前記複数のコードがそれぞれ有するセルのうちの１以上のセルは、異なるコードの１以上のセルと重なっており、前記複数のコード毎に取得される各コードが有する複数のセルの色の情報の配列が、各コードに対応する情報を表す多重化コードを撮影した画像を取得する画像取得部と、
前記画像取得部が取得した多重化コードの画像から、当該多重化コードに含まれる前記複数のコードのそれぞれが有する複数のセルの色の情報を、各コード毎に取得するセル情報取得部と、
前記セル情報取得部が複数のコード毎に取得したセルの色の情報を用いて、各コードに対応付けられた情報を取得するコード読取部と、
前記コード読取部が取得した情報を出力する出力部を備えた多重化コード読取装置。
【請求項８】
画像取得部と、セル情報取得部と、コード読取部と、出力部とを用いて行なわれる多重化コード読取方法であって、
前記画像取得部が、色の情報を取得可能な複数の領域であるセルを有する複数のコードが多重化された多重化コードであって、前記複数のコードが有するセルのサイズが、コード間で異なっており、前記複数のコードがそれぞれ有するセルのうちの１以上のセルは、異なるコードの１以上のセルと重なっており、前記複数のコード毎に取得される各コードが有する複数のセルの色の情報の配列が、各コードに対応する情報を表す多重化コードを撮影した画像を取得する画像取得ステップと、
前記セル情報取得部が、前記画像取得ステップで取得した多重化コードの画像から、当該多重化コードに含まれる前記複数のコードのそれぞれが有する複数のセルの色の情報を、各コード毎に取得するセル情報取得ステップと、
前記コード読取部が、前記セル情報取得ステップで複数のコード毎に取得したセルの色の情報を用いて、各コードに対応付けられた情報を取得するコード読取ステップと、
前記出力部が、前記コード読取ステップで取得した情報を出力する出力ステップとを備えた多重化コード読取方法。
【請求項９】
コンピュータを、
色の情報を取得可能な複数の領域であるセルを有する複数のコードが多重化された多重化コードであって、前記複数のコードが有するセルのサイズが、コード間で異なっており、前記複数のコードがそれぞれ有するセルのうちの１以上のセルは、異なるコードの１以上のセルと重なっており、前記複数のコード毎に取得される各コードが有する複数のセルの色の情報の配列が、各コードに対応する情報を表す多重化コードを撮影した画像を取得する画像取得部と、
前記画像取得部が取得した多重化コードの画像から、当該多重化コードに含まれる前記複数のコードのそれぞれが有する複数のセルの色の情報を、各コード毎に取得するセル情報取得部と、
前記セル情報取得部が複数のコード毎に取得したセルの色の情報を用いて、各コードに対応付けられた情報を取得するコード読取部と、
前記コード読取部が取得した情報を出力する出力部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コードおよびコードを読み取る装置等に関するものである。
【背景技術】
【０００２】
従来の技術として、複数のセルが配列され、前記複数のセルに色の異なる複数種類のセルが含まれるように各セルに色を付すことで該色または色の組合せに応じた１以上の情報それぞれをコード化した構成の二次元コードが知られていた（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−３３０３４号公報（第１頁、第１図等）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のコードにおいては、一のコード内に配置されるセル数等に限界があり、一のコードに対応付けられる情報量を増加させることができない、という課題があった。
【０００５】
本発明は、上記のような課題を解消するためになされたものであり、情報量を増加させることができるコードおよびコードを読み取る装置等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の多重化コードは、色の情報を取得可能な複数の領域であるセルを有する複数のコードが多重化された多重化コードであって、複数のコードが有するセルのサイズが、コード間で異なっており、複数のコードがそれぞれ有するセルのうちの１以上のセルは、異なるコードの１以上のセルと重なっており、複数のコード毎に取得される各コードが有する複数のセルの色の情報の配列が、各コードに対応する情報を表す多重化コードである。
【０００７】
かかる構成により、一の多重化コードから複数のコードを読み取ることができ、情報量を増加させたコードを提供することができる。また、コードのセル同士が重なっているため、例えば、コードのサイズの増加を抑えることができる。
【０００８】
また、本発明の多重化コードは、前記多重化コードにおいて、多重化された複数のコードのうちのセルのサイズが大きい１以上のコードが有する各セル内には、セルよりも小さいセルを有する１以上のコードの複数のセルが配置されている多重化コードである。
【０００９】
かかる構成により、一の多重化コードから複数のコードを読み取ることができ、情報量を増加させたコードを提供することができる。
【００１０】
また、本発明の多重化コードは、前記多重化コードにおいて、セルのサイズが異なる２以上のコードには、階層化された情報が対応付けられており、セルのサイズが異なる２以上のコードのうちの、セルのサイズが大きいコードには、セルのサイズが小さいコードよりも上位の階層の情報が対応付けられている多重化コードである。
【００１１】
かかる構成により、一の多重化コードにより、階層化された情報を提供することができる。また、上位の階層の情報と対応付けられたコードのセルが、下位の階層の情報と対応付けられたコードのセルよりも大きいため、例えば、コードを読み取る際の距離が遠い場合には、上位の階層のコードだけ読み取れるようにして、上位の階層の情報だけを提供できるとともに、コードを読み取る際の距離が近い場合には、いずれのコードも読み取れるようにして、上位の階層の情報と下位の階層の情報との両方を提供することができる。
【００１２】
また、本発明の多重化コードは、前記多重化コードにおいて、複数のコードの内の１以上のコードの各セルから取得される色の情報は、セル内に配置されるセルよりもセルのサイズが小さい他のコードが有する複数のセルから取得される色の情報を用いて取得され、当該１以上のコードは、当該取得される色の情報の配列が、コードに対応する情報を表している多重化コードである。
【００１３】
かかる構成により、一のセルの色の情報を、このセル内に配置されている複数の小さいセルの色の情報の配置パターンで表すことができる。
【００１４】
また、本発明の多重化コードは、前記多重化コードにおいて、複数のコードのうちの２以上のコード毎に取得される各コードが有する複数のセルの色の情報は、コード毎に異なる色の成分の情報であり、当該２以上のコードは、当該コード毎に取得される色の成分の情報の配列が、コードに対応する情報を表している多重化コードである。
【００１５】
かかる構成により、一の多重化コードから複数のコードを読み取ることができ、情報量を増加させたコードを提供することができる。また、セルのサイズが異なるコードが多重化されており、それぞれのコード毎に、セルの色の成分の情報を取得するため、、例えば、読み取れるコードを、撮影した画像内の含まれる多重化コードのサイズによって変化させることができ、コードを読み取る際の距離等に応じて、読み取れる情報を変化させることができる。
【００１６】
また、本発明の多重化コードは、前記多重化コードにおいて、複数のコードは、複数のセルから取得される明度と、複数のセルの配列との組合せにより情報を表す１以上のコードと、複数のセルから取得される色相、彩度、または色相と彩度との組合せと、複数のセルの配列との組合せにより情報を表す１以上のコードとを有する多重化コードである。
【００１７】
かかる構成により、一の多重化コードから複数のコードを読み取ることができ、情報量を増加させたコードを提供することができる。また、セルのサイズが異なるコードが多重化されており、それぞれのコード毎に、セルの色の成分の情報を取得するため、例えば、読み取れるコードを、撮影した画像内の含まれる多重化コードのサイズによって変化させることができ、コードを読み取る際の距離等に応じて、読み取れる情報を変化させることができる。
【００１８】
また、本発明の多重化コード読取装置は、色の情報を取得可能な複数の領域であるセルを有する複数のコードが多重化された多重化コードであって、前記複数のコードが有するセルのサイズが、コード間で異なっており、前記複数のコードがそれぞれ有するセルのうちの１以上のセルは、異なるコードの１以上のセルと重なっており、前記複数のコード毎に取得される各コードが有する複数のセルの色の情報の配列が、各コードに対応する情報を表す多重化コードを撮影した画像を取得する画像取得部と、画像取得部が取得した多重化コードの画像から、多重化コードに含まれる複数のコードのそれぞれが有する複数のセルの色の情報を、各コード毎に取得するセル情報取得部と、セル情報取得部が複数のコード毎に取得したセルの色の情報を用いて、各コードに対応付けられた情報を読み取るコード読取部と、コード読取部が取得した情報を出力する出力部を備えた多重化コード読取装置である。
【００１９】
かかる構成により、多重化コードから、多重化されているコード毎の情報を読み取ることができる。
【発明の効果】
【００２０】
本発明による多重化コードによれば、情報量を増加させたコードを提供することができる。
また、本発明による多重化コード読取装置等によれば、多重化コードを読み取ることができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施の形態における多重化コードを読み取るための多重化コード読取装置のブロック図
【図２】同多重化コードの一例を示す図（図２（ａ））、および同多重化コードに多重化された複数のコードのセルの配置を示す模式図（図２（ｂ）〜（ｃ））
【図３】同多重化コードを読み取る多重化コード読取装置の動作について説明するフローチャート
【図４】同多重化コードを説明するための、同多重化コードの第一のコードを示す模式図（図４（ａ））、および同多重化コードの第二のコードを示す模式図（図４（ｂ））
【図５】同多重化コードから読み取った情報の表示例を示す図
【図６】同多重化コードから第二のコードが読み取れなかった場合の表示例を示す図
【図７】同多重化コードの一例を示す図（図７（ａ））、および同多重化コードの第一のコードおよび第二のコードを示す模式図（図７（ｂ）、図７（ｃ））
【図８】同多重化コードの一例を示す図（図８（ａ））、同多重化コードの第一のコードを示す模式図（図８（ｂ））
【図９】同多重化コードの読み取りに用いられるマッチング用のパターンを示す図（図９（ａ）〜図９（ｊ））
【図１０】同多重化コードの一例を示す図（図１０（ａ））、および同多重化コードに多重化された複数のコードのセルの配置を示す模式図（図１０（ｂ）〜（ｄ））
【図１１】同多重化コードの第一のコード、第二のコード、および第三のコードを示す模式図（図１１（ａ）〜図１１（ｃ））
【図１２】同多重化コードの読み取りに用いられるマッチング用のパターンの一部を示す図（図１２（ａ）〜図１２（ｉ））
【図１３】同多重化コードの一例を示す図（図１３（ａ））、同多重化コードの第一のコードおよび第二のコードを示す模式図（図１３（ｂ）、図１３（ｃ））
【図１４】同多重化コードの一例を示す図（図１４（ａ））、同多重化コードに多重化された第一のコードおよび第二のコードのセルの配置を示す図（図１４（ｂ）、図１４（ｃ））、および同多重化コードの第一のコードおよび第二のコードを示す模式図（図１４（ｄ）、図１４（ｅ））
【図１５】同実施の形態におけるコンピュータシステムの外観の一例を示す図
【図１６】同実施の形態におけるコンピュータシステムの構成の一例を示す図
【発明を実施するための形態】
【００２２】
以下、多重化コード等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【００２３】
（実施の形態）
図１は、本実施の形態における多重化コードから情報を読み取る多重化コード読取装置１のブロック図である。
【００２４】
図２は、本実施の形態における多重化コードの一例を示す図（図２（ａ））、およびこの多重化コードに多重化された複数のコードのセルの配置を示す模式図（図２（ｂ）〜（ｃ））である。
【００２５】
多重化コード１００は、複数のコードが多重化されたコードである。多重化コード１００や、多重化コードに多重化されたコード等のコードとは、例えば、色の情報を取得可能な複数の領域を有しており、複数の領域から取得される色の情報の配列によって、情報を読み取り可能なものである。ここでは、コードが有する色の情報を読み取り可能な領域をセルと呼ぶ。セルは、例えば、色の情報を読み取り可能な最小単位の領域である。セルとは、例えば、コードを構成する色の情報が配置される領域の最小単位と考えてもよい。コードを構成するセルの形状は問わない。ここでのコードは、文字列等で情報を表すものでなく、複数のセルによって情報を表すものであることから、例えば、イメージコードと考えてもよい。色の情報とは、色を表す名称（例えば、赤、オレンジ、緑、青、黄等）であっても良く、色を、ＲＧＢ値や、ＣＭＹＫ値や、ＨＳＢ値、Ｌａｂ値等のカラーモデルの値で示す情報であってもよく、色の１以上の成分の値であってもよい。色の１以上の成分の値とは、例えば、カラーモデルの一の成分の値または二以上の成分の値の組合せである。例えば、色の情報は、色の１以上の特定の成分（例えば、Ｈ（色相）、Ｓ（彩度）、Ｂ（明度）、Ｒ値、Ｇ値、Ｃ値、Ｋ値等）の値であっても良く、２以上の特定の成分の値の組合せ（例えば、ＨとＳとの組み合わせ、ＨとＢとの組み合わせ、Ｒ値とＢ値との組合わせ、Ｃ値とＭ値とＹ値との組合わせ等）であっても良い。ここでの色とは、白黒等の二値や、グレースケール等も含む概念である。ここでの色は、例えば、一ビットで表される色であってもよく、８ビットで表される色であっても良く、２４ビットで表される色であっても良く、これら以外のビット数で表される色の情報であっても良い。
【００２６】
多重化コード１００に多重化されたコード（以下、多重化されたコードと称す）が有する複数のセルの形状は問わない。セルは、通常、正方形等の矩形であるが、円形や、アーチ型等の矩形以外の形状であっても良い。また、一の多重化されたコードが有するセルの形状や、サイズは、同じであっても異なるものであっても良い。なお、形状が異なるセルは、サイズも異なるセルと考えてよい。かかることは、以下においても同様である。
【００２７】
多重化されている一のコードが有するセルの数や、セルの配列形式等は問わない。例えば、複数のセルは、矩形等の所望の形状の複数のセルが、ｍ行ｎ列（ｍは１以上の整数、ｎは、２以上の整数）、またはｎ行ｍ列のマトリクス状に配列されていても良く、アーチ形状等の所望の形状の複数のセルが、円環状に配列されていても良い。また、四角形以外の多角形のセルが、セルの一の辺同士が平行、あるいは重なるように配列されていても良い。コードが有するセルのサイズは、問わない。多重化されている一のコードが有する複数のセルのサイズが異なっていても良い。通常、一のコードの複数のセルが、一の方向にのみ配列されている場合、このコードは、一次元コードと呼ばれる。また、一のコードの複数のセルが、二以上の方向に配列されている場合、このコードは、二次元コードと呼ばれる。例えば、一の方向に配列された複数のセルを、二列以上有しているコードも、二次元コードと呼ばれる。
【００２８】
多重化されている複数のコードは、いずれも二次元コードであることが好ましい。多重化コード１００に多重化されている複数のコードは、例えば、ＱＲコード（登録商標）等の二次元コードや、カラーコード等である。カラーコードとは、例えば、複数の色を有するセルの配列が、所望の情報と対応づけられたコードである。カラーコードは、例えば、カラーバーコードやカメレオンコード等とも呼ばれる場合がある。また、コードは、ＡｒＵｃｏと呼ばれるＡＲライブラリ等を用いて認識可能なＡＲコード（２次元マーカー）等であってもよい。ただし、多重化コードに多重化されている複数のコードの一部が、いわゆる縞模様状に、太さの異なる線が配列されたバーコード等の一次元コードであってもよい。
【００２９】
多重化されているコードの周りには、コードが配置されている領域を示す枠等が設けられていても良い。ここでの枠は、例えば、所望の色の情報を取得可能な予め決められた太さの線である。また、コードが配置されている領域を示すマーカーとなる予め決められた図形等が、コードの周囲（例えば、矩形のコードの四隅等）に配置されていても良い。
【００３０】
多重化コード１００は、色の情報を取得可能な複数のセルを有する複数のコードが多重化されたコードである。一のコードに、複数のコードが多重化されているということは、例えば、複数のコードが、分離して個別に読み取り可能となるよう一のコードに埋め込まれていることである。複数のコードが重ねられたコードとは、例えば、複数のコードのイメージ（例えば、画像）が、重ねられたコードであってもよい。２以上のコードが重ねられたコードとは、例えば、２以上のコードのイメージ（例えば、画像）が、重ねられて合成されたコードである。
【００３１】
多重化コード１００に多重化されている複数のコードが有するセルのサイズは、コード間で異なっている。コード間でセルのサイズが異なるということは、例えば、コード毎にセルのサイズが異なっていることと考えてもよい。コード間でセルのサイズが異なるということは、例えば、コードが異なれば、セルのサイズも異なることである。コード毎に異なっていることと考えてもよい。また、多重化コード１００に多重化されている複数のコードが有するセルの形状が、コード間で異なっていてもよい。コード間でセルの形状が異なることは、例えば、コード毎にセルの形状が異なることと考えてもよい。例えば、一のコード内のセルのサイズは異なっていても良く、同じであっても良く、サイズが異なるセルと、サイズが同じセルが混在していても良い。かかることは、一のコード内のセルの形状についても同様である。
【００３２】
多重化コード１００に多重化されている複数のコードがそれぞれ有するセルのうちの１以上のセルは、同じ多重化コードに多重化されている異なる１以上のコードの１以上のセルと重なっている。重なっているということは、例えば、２以上のセルのそれぞれの少なくとも一部が共通する領域上に配置されていることである。重なりあっている異なるコードが有する２つのセルは、いずれも重ならない部分を有していても良く、セルの一方だけが重ならない部分を有していても良い。例えば、一のコードのサイズの小さいセルが、他のコードのサイズの大きいセル内に包含されるよう配置されていてもよい。また、一のコードのセルに、他のコードの２以上のセルが重なっていても良い。例えば、一のコードのセル内に、このセルよりもサイズが小さい他のコードの２以上のセルが配置されていても良い。
【００３３】
多重化コード１００に多重化されているセルの大きさが異なる２以上のコードのうちの、セルの大きさが大きいコードが有する各セル内には、このセルよりも小さいセルを有するコードの複数のセルが配置されているようにすることが好ましい。例えば、一のコードが有する正方形のセル内に、このセルよりも小さい正方形のセルを有するコードのセルを、ｋ行ｋ列（ｋは、２以上の整数）となるよう配置してもよい。このようにすることで、例えば、各コードが有する情報量を異なるものとすることができるとともに、一のコードのサイズの小さいセルを、他のコードのサイズの大きいセルに重ねて配置することができ、多重化コード１００のサイズを小型化することができる。
【００３４】
多重化コード１００に多重化されているセルの大きさが異なる２以上のコードには、階層化された情報が対応付けられているようにし、セルの大きさが異なる２以上のコードのうちの、セルの大きさが大きいコードには、セルの大きさが小さいコードよりも上位の階層の情報が対応付けられているようにしてもよい。コードに対応付けられた情報とは、例えば、コードが表す情報であってもよく、コードから読み取られる情報であってもよい。階層化された情報とは、木構造を有する情報と考えてもよい。上位の階層の情報とは、例えば、分類が大きい情報や、包括化された情報である。回の階層の情報とは、情報が細分化された情報である。
【００３５】
多重化コード１００は、多重化されている複数のコード毎に取得される各コードが有する複数のセルの色の情報の配列が、それぞれコードに対応する情報を表しているコードである。コードに対応する情報は、コードに対応付けられた情報と考えてもよい。複数のコード毎に取得される各コードが有する複数のセルの色の情報の配列が、それぞれコードに対応する情報を表す、ということは、例えば、各コードが有する複数のセルから取得される色の情報の配列から、それぞれに対応する情報を読み取ることができることと考えてもよい。例えば、一のコードのセルについて取得される色の情報が、二値の値である、あるいは閾値等で二値に変換されることが予め決まっているものであるある場合、このコードの色の情報の配置は、ＡＲコードや、ＱＲコード、バーコード等のような、通常の二値のセルで表されるコードと同様に読み取ることができる。また、例えば、一のコードのセルについて取得される色の情報が、三値以上の多値の値である、あるいは閾値等で三値以上の所定の値に変換できるものであれば、このコードの色の情報の配置を、カラーコード等の、通常の三値以上の多値のセルで表されるコードと同様に読み取ることができる。
【００３６】
多重化されている複数のコードのうちの２以上のコードは、例えば、コード毎に取得される複数のセルの色の情報が、コード毎に異なる色の成分の情報である。色の成分とは、例えば、上述したような色の１以上の成分の値である。例えば、色の成分は、例えば、カラーモデルの一の成分の値または二以上の成分の値の組合せであり、例えば、色相（Ｈ）、彩度（Ｓ）、明度（Ｂ）の値や、これらの２以上の値の組合せ（例えば、色相と彩度との組み合わせ、色相と明度との組み合わせ、Ｒ値とＢ値との組合わせ等）であっても良い。色の成分が異なるということは、例えば、色の成分の種類が異なることと考えてもよい。この２以上のコードは、例えば、コード毎に異なる色の成分の情報の配列が、各コードに対応する情報を表しているコードである。例えば、多重化コード１００が、第一のコードと第二のコードとが多重化されたものであるとすると、この多重化コード１００は、第一のコードが有する複数のセルからそれぞれ取得された、第一のコードに対応する色の成分の情報である色相の値の配列が、第一の情報を表し、第二のコードが有する複数のセルからそれぞれ取得された、第二のコードに対応する色の成分の情報である明度の値の配列が、第二の情報を表すものであっても良い。
【００３７】
なお、第一のコードに対応する色の成分の情報を、色相の値の代りに、彩度の値としてもよく、色相と彩度との組合せとしてもよい。また、第一のコードのセルから取得する色の成分の情報を、明度とし、第二のコードに対応する色の成分の情報を、色相、彩度、または色相および彩度の組合せとしてもよい。
【００３８】
セルの色の成分は、例えば、通常の画像処理により分離可能である。異なるコードのセルが重なっていても、それぞれのコードのセルから取得する色の情報が、コード毎に異なる色の成分の情報であれば、コード毎に容易に分離して取得することが可能である。例えば、第一のコードの一のセル（図示せず）内に、色のＨＳＢ値、すなわち色相（°）、彩度（％）、および明度（％）が（４０、２０，１０）である単色の第二のコードの第一のセルと、ＨＳＢ値が（７０、５０、１０）である単色の第二のコードの第二のセルとが存在している場合、この第一のセルおよび第二のセルの明度の値が１０％であるため、第一のコードの一のセルの明度の値として、１０％を取得することができる。また、第二のコード第一のセルの色相の値としては、４０％を、また、第二のセルの色相の値としては、７０％を取得することができる。このようにして、セルが重なっていても、色の異なる成分の情報を分離して取得することが可能となる。
【００３９】
多重化されているコードのうちの、一のコードが有するセルについて取得される色の成分の情報が、二値の値（例えば、二値で表される明度や、彩度等）である場合、あるいは、閾値等で二値化することが予め決められている場合、このコードの色の情報の配置を、ＡＲコードや、ＱＲコード、バーコード等のような、通常の二値のセルで表されるコードと同様に読み取ることができる。また、例えば、一のコードのセルについて取得される色の成分の情報（例えば、色相や、色相と彩度との組合せ等）が、三値以上の多値の値である、あるいは閾値等で三値以上の所定の値に変換することが予め決められている場合、このコードの色の情報の配置を、カラーコード等の、通常の三値以上の多値のセルで表されるコードと同様に読み取ることができる。
【００４０】
セルの大きさが異なる２以上のコードのうちの、セルの大きさが大きい１以上のコードが有する各セル内に、このセルよりも小さいセルを有する１以上のコードの複数のセルが配置されている場合、セルの大きさが小さい１以上のコードの各セルの色の情報を、各セルから取得される色の情報とし、セルの大きさが大きい１以上のコードが有する各セルの色の情報は、例えば、各セル内に配置される各セルよりもセルの大きさが小さいコードが有する複数のセルから取得される色の情報を用いて取得される情報としてもよい。そして、取得したセルの色の情報の配列が、上記のセルの大きさが大きい１以上のコードに対応する情報を表すようにしてもよい。ここでの色の情報は、色の特定の成分の値であっても良く、ＲＧＢ値や色の値であっても良い。セルから取得される色の情報は、セルから抽出される色の情報と考えても良い。セルから取得される色の情報は、例えば、セルを撮影した画像等から取得されるセルの色の情報である。
【００４１】
一のコードのセルの色の情報を、このセル内に配置されたこの一のコードよりもセルのサイズが小さい他のコードが有する複数のセルから取得される色の情報を用いて取得する処理は、例えば、一のコードのセル内に配置されている複数の小さいセルのそれぞれから取得された小さいセルの色の情報の配置パターンに対してパターンマッチングを行なうことで実現できる。例えば、複数の小さなセルが配置されている一のセルの色の情報として、この複数の小さなセルの色の情報の配列に対してマッチングする配置パターンに予め対応づけられた色の情報を取得するようにすればよい。このように、パターンマッチングによりセルの色の情報を取得することを、ここではハーフトーニングと呼ぶ。
【００４２】
なお、一のコードのセルの色の情報を、このセル内に配置されたこの一のコードよりもセルのサイズが小さい他のコードが有する複数のセルから取得される色の情報を用いて取得する場合、この一のコードのセルの色の情報は、上述したハーフトーニング以外の処理で取得するようにしてもよい。例えば、一のコードのセルの色の情報は、このセル内に配置された複数の小さいセルの色の情報の代表値や、この代表値を閾値等を用いて変換した色の情報であっても良い。ここでの代表値は、例えば、平均値、最頻値、中間値等である。かかることは以下においても同様である。
【００４３】
また、一のコードのセルの色の情報は、このセル内の画像の解像度を低解像度に変換した場合に得られる各画素の色の情報の代表値であってもよく、このセル内の画像の解像度を低解像度に変換して、セル内の画素が一つとなった場合の、この画素の色の情報であってもよい。
【００４４】
多重化コードに３以上のコードが多重化されている場合、各コードのセルの色の情報は、セルから取得したコード毎に異なる色の成分の情報と、ハーフトーニングにより取得される色の情報とが混在していても良い。
【００４５】
なお、多重化された複数のコード毎の複数のセルの配置を示す情報は、予め多重化コード読取装置１等に設定しておくことが好ましい。セルの配置を示す情報は、例えば、多重化されている各コード内に、複数のセルが図２（ｂ）、（ｃ）に示されているように配置されていることを示す情報である。セルの配置を示す情報は、例えば、各コードに含まれるセルの配列パターンを示す情報や、各コードに含まれるセルの形状を示す情報と各コードに含まれるセルの配列パターンを示す情報との組合わせや、各コード内の複数のセルの輪郭を示す座標群の情報や、複数のセルを配置した画像を示す各コードの画像データ等である。セルの形状を示す情報は、例えばセルの輪郭を示す座標等の情報や、セルの形状を示す画像データである。セルの配列パターンを示す情報は、例えば、複数のセルがコード内にどのように配置されているかを示す情報であり、例えば、マトリクス上に配置されているセルの行数と列数とを指定する情報であっても良い。また、セルの配列パターンを示す情報は、コード内におけるセルの配置されている位置を示す座標等の情報であってもよい。セルを配置した画像は、例えば、セルを検出する際のマスクデータや、アルファチャンネルデータ等として利用可能である。
【００４６】
また、セルの配置を示す情報とは、多重化コード１００の全体の領域の輪郭に対する、各コード毎の各セルが配置されている領域の輪郭を示すテンプレート情報であってもよい。輪郭を示す情報は、例えば、輪郭を示す座標の情報や、輪郭の形状を示すベクトル画像の情報等である。セルの配置を示す情報の形式等は問わない。例えば、セルの配置を示す情報は、例えば、多重化コードに、一行二列の第一のコードと、二行四列の第二のコードとが多重化されていることを示す情報であってもよい。なお、セルの配置を示す情報は、セルの配置を検出可能な情報であればどのような情報であっても良い。コード毎のセルの配置を示す情報は、例えば、多重化されたコードの識別子等と対応付けて、多重化コード読取装置１の図示しない格納部等に格納される。
【００４７】
なお、多重化コード１００に多重化され、複数のコード毎に取得される複数のセルの色の情報の配列から、各コードにそれぞれ対応する情報を取得する処理等は、コードの読取技術等として公知であるため、ここでは説明は省略する。
【００４８】
なお、多重化コードに多重化されている複数のコードの１以上は、一のコード内に複数のコード（例えば、ＱＲコード等）を配列したコードであってもよい。
【００４９】
多重化コードは、例えば、シート、シール、箱、商品等の物体の表面等に印刷されている。多重化コードは、例えば、印刷物と考えてもよい。ただし、多重化コードは、モニタやプロジェクタ等の表示手段等により、表示されるものであってもよい。また、ここでの多重化コードは、多重化コードを出力（例えば、表示や印刷等）するために用いられる多重化コードのデータと考えてもよい。
【００５０】
次に多重化コード読取装置１について説明する。多重化コード読取装置１は、画像取得部１１と、セル情報取得部１２と、コード読取部１３とを有している。
【００５１】
多重化コード読取装置１は、例えば、パーソナルコンピュータや、タブレット型端末、携帯電話、いわゆるスマートフォンと呼ばれる多機能携帯電話、携帯情報端末、スキャナ、カメラ、専用端末等により実現可能である。
【００５２】
画像取得部１１は、ＣＣＤやＣＭＯＳ等の撮像素子等を用いて、多重化コード１００を撮影した画像を取得する。画像取得部１１が取得する画像は、例えば、カラー画像である。ただし、多重化された各コードのセルから取得される色の情報が、グレースケール画像から取得可能な情報である場合（例えば、二値の色情報である場合）等においては、画像取得部１１が取得する画像は、グレースケール画像であっても良い。なお、以下においては、画像取得部１１が取得する画像がカラー画像である場合を例に挙げて説明する。取得する画像は、通常は、静止画像であるが動画像であっても良い。例えば、画像取得部１１は、撮像素子を用いて取得した動画像から、一の静止画像を取得しても良い。画像の形式等は問わない。画像取得部１１が取得する画像の解像度は問わないが、多重化コード１００の全体をできるだけ画像内にフィットするよう撮影した場合に、多重化コード１００の最も小さいセル同士を識別可能となるような解像度とすることが好ましい。画像取得部１１は、複数の多重化コード１００を同時に撮影した画像を取得しても良い。画像取得部１１は、撮像素子を備えていても良く、備えていなくてもよい。画像取得部１１は、例えば、静止画像を撮影するデジタルスチルカメラや、動画像を撮影するデジタルカムコーダ等の、撮像素子を有するカメラにより実現可能である。本実施の形態においては、画像取得部１１が撮像素子等を有しているカメラである場合を例に挙げて説明する。なお、画像取得部１１が撮像素子を備えていない場合、画像取得部１１による画像の取得は、撮像素子を有するカメラ等の外部の撮像手段が取得して出力する画像の受け付け等と考えてもよく、画像取得部１１は、外部の撮影手段が取得した画像を受け付けて取得するものと考えてもよい。
【００５３】
セル情報取得部１２は、画像取得部１１が取得した多重化コード１００の画像から、この多重化コード１００に含まれる複数のコードのそれぞれが有する複数のセルの色の情報を、各コード毎に取得する。例えば、セル情報取得部１２は、多重化コード１００の画像から、多重化コード１００の部分を切り出し、切り出した画像から、多重化コード１００に含まれる複数のコードのそれぞれが有する複数のセルの色の情報を取得する。切り出した画像を、以下、多重化コード１００の部分画像と称す。多重化コード１００の部分を切り出す際には、例えば、多重化コード１００の枠や、多重化コードの外周を示すマーカー等を利用して切り出しても良く、画像の外周側に存在する背景色等を利用して切り出しても良い。画像からコードの部分を切り出す処理は公知技術であるため、ここでは詳細な説明は省略する。また、セル情報取得部１２は、画像取得部１１が取得した多重化コード１００の画像や、上記のように多重化コード１００の部分を切り出した画像に対して、明度や、コントラスト、色調等の画像を補正するための画像処理や、多重化コード１００の形状を補正するための画像処理等の、通常のコード読み取りにおいて行なわれる画像処理等を行なっても良い。なお、このような画像の補正や形状の補正は、コードの画像からコードを読み取る技術として公知であるため、ここでは詳細な説明は、省略する。
【００５４】
セル情報取得部１２は、上記のように切り出した多重化コード１００の部分画像について、多重化されている各コード毎に、セルの色の情報を取得する。セル情報取得部１２は、例えば、コードに対応する複数のセルから取得したコードの色の情報と、各セルの配置を示す情報と、の組合せを、多重化コード１００に多重化された複数のコードについてそれぞれ取得する。セル情報取得部１２は、さらに、色の情報を取得したコードを示す情報（例えば、コードの識別子等）を取得しても良い。セルの配置を示す情報は、例えば、セルの領域の輪郭の座標を示す情報であっても良く、セルの配列されている位置や順番等を示す情報（例えば、セルを行と列とで指定する情報）等であっても良い。なお、セル情報取得部１２は、各コード毎に取得したセルの色の情報と、各セルの配置を示す情報とを用いて、多重化されている各コードの画像を生成するようにしても良い。
【００５５】
例えば、セル情報取得部１２は、図示していない格納部等に予め格納されている各コードが有するセルの配置を示す情報を有しており、このセルの配置を示す情報を用いて、切り出した多重化コード１００の部分画像から、各コード毎にセルの位置を認識し、認識したセルの色の情報を取得する。セルの色の情報とは、例えば、多重化コード１００の部分画像の、セルに対応する領域の色の情報である。例えば、セルの配置を示す情報が、各コードのセルが、多重化コード内に配列されている行数と列数とを示す情報である場合、上記のように切り出した多重化コード１００の部分を、コード毎に示された行数と列数との組合せで分割することで、各セルの位置を特定することができる。なお、一部のコードのセルが、行および列を区切る区切り線等で区切られている場合、このコードのセルは、この区切り線等で認識してもよい。また、このように区切られたセル内に含まれる他のコードの複数のセルは、予め用意されたこの区切られたセル内に含まれるセルの行数と列数との情報を用いて、認識してもよい。
【００５６】
また、セルの配置を示す情報として、例えば、上述したようなテンプレート情報でを用いた場合、セル情報取得部１２は、テンプレート情報が示す多重化コード１００の全体の領域の輪郭が、上記のように切り出した画像の輪郭にフィットするように、テンプレート情報、または、切り出した画像を変形したあと、切り出した画像の、テンプレート情報の各セルの領域と重なる領域の色の情報を、各セルの色の情報として取得するようにしても良い。
【００５７】
なお、上記において、多重化コード１００の部分画像を切り出す代りに、多重化コード１００の部分画像を認識、例えば、多重化コード１００の部分画像の輪郭等を認識するようにして、この認識した領域だけを、コード読み取り処理の対象の領域に特定できるようにしても良い。この場合、上記のような多重化コード１００の部分の形状の補正は、例えば、多重化コード１００の部分画像の輪郭が予め決められた形状となるように行なわれる多重化コード１００を撮影した画像全体に対する補正であっても良い。
【００５８】
セル情報取得部１２は、例えば、多重化されたコード毎に指定された色の情報を、多重化コード１００の、多重化された各コードが有するセルから取得する。この色の情報は、例えば、図示しない格納部等に、予め格納されている。また、各コードのセルからの、色の情報を取得するための処理等を指定する情報も、更に、図示しない格納部に格納されていてもよく、セル譲歩宇取得部１２は、この情報に従って、１以上のコードのセルの色の情報を取得しても良い。
【００５９】
セル情報取得部１２は、例えば、多重化コード１００を撮影した画像の、複数のコードがそれぞれ有する各セルの領域に含まれる１の画素の色の情報、または、２以上の画素の色の代表値を取得することにより、多重化コード１００に含まれる複数のコードのそれぞれが有する複数のセルの色の情報を、各コード毎に取得する。ここでの色の情報とは、色全体の情報であってもよく、色の成分の情報であってもよい。色全体の情報とは、例えば、単独で色を表すことができる情報である。色全体の情報は、例えば、色の、ＲＧＢ値や、ＣＭＹＫ値や、ＨＳＢ値等である。色の平均値等の代表値の算出方法等については、画像処理ソフトウェア等において公知の技術であるため、ここでは詳細な説明は省略する。ここでの、多重化コード１００を撮影した画像は、枠等を用いて切り出した多重化コード１００の部分画像も含むと考えてもよい。
【００６０】
セル情報取得部１２は、例えば、複数のコードがそれぞれ有する各セルから、コード毎に異なる色の成分の情報を取得することにより、多重化コード１００に含まれる複数のコードのそれぞれが有する複数のセルの色の情報を、各コード毎に分離して取得する。セルの色の成分は、セルの色の成分の一部と考えてもよい。取得する色の成分は、例えば、コード毎に予め設定しておくようにする。例えば、多重化コード１００がセルの大きさが異なる第一のコードと第二のコードとが多重化されたコードであるとすると、セル情報取得部１２は、多重化コード１００に含まれる第一のコードが有する複数のセルからは、色相、彩度、または色相と彩度との両方の情報を取得し、第二のコードが有する複数のセルからは、明度の情報を取得するようにしてもよく、この逆であってもよい。なお、各セル内の成分の情報としては、例えば、セル内に含まれる画素の色の成分の情報の代表値を取得すればよい。また、上記のように、各セル内の色全体の情報を取得した後、この色の情報の一部の所望の成分の情報を取得しても良い。なお、画像から、色の成分の情報を取得する処理は、通常の画像処理においては公知技術であるため、ここでは詳細な説明は省略する。例えば、色相、彩度、および明度等の色の成分の情報は、例えば、画像を構成する画素のＲＧＢ値等から算出することも可能である。
【００６１】
また、セルの大きさが異なる２以上のコードのうちの、セルの大きさが大きいコードが有する各セル内に、このセルよりも小さいセルを有するコードの複数のセルが配置されている場合、セル情報取得部１２は、セルの大きさが大きいコードの各セルから取得される色の情報を、このセル内に配置される当該セルよりもセルの大きさが小さいコードが有する複数のセルから取得される色の情報を用いて取得するようにしてもよい。例えば、セル情報取得部１２は、まず、セルの大きさが小さいセルからそれぞれ色の情報を取得して、この小さいセルを有するコードが有する複数のセルの色の情報を取得する。ここで取得するセルの色の情報は、セルの色の一部の成分の情報であっても良く、セルの色全体を示す色の情報であってもよい。更に、セル情報取得部１２は、この小さいセルが複数配置された大きいセルの色の情報は、この小さいセルについて取得した色の情報を用いて取得する。具体的には、一の大きなセルの色の情報を、このセル内に配置されている複数の小さいセルから取得される色の情報と、この小さいセルの色の配置とを用いて取得する。
【００６２】
例えば、予め、図示しない格納部等に、大きなセル内に配置される複数の小さいセルの色の情報の複数の異なる配置パターンと、大きいセルの色の情報と、を対応付けた情報を用意しておくようにし、この配置パターンの中から、多重化コード１００の部分画像の、大きなセルのそれぞれの内部に配置されている複数の小さいセルから取得した色の情報の配置パターンと一致する配置パターンを、パターンマッチングにより検出し、検出した配置パターンに対応付けられた色の情報を、それぞれの大きなセルの色の情報として取得することにより、この大きなセルを有するコードの各セルの色の情報を取得しても良い。
【００６３】
また、セル情報取得部１２は、一のセル内の色の情報を取得する場合、このセル内の画像の解像度を低解像度に変換して、セル内の低解像度に変換した画素を用いて、セルの色の情報を取得してもよい。
【００６４】
また、一の大きなセル内に配置されている小さいセルの色の情報の数に応じて、大きなセルの色の情報を取得しても良い。例えば、大きなセル内に含まれる複数の小さいセルの色の情報のうちの、最も数が多い色の情報を、大きなセルの色の情報として取得しても良い。
【００６５】
なお、セル情報取得部１２は、例えば、各セルから取得した色の情報を、閾値等を用いて、取得した色に近い予め決められた二以上の色の情報のいずれかに置き換えても良い。このような色の情報の置き換えを、多値化と呼ぶ。二以上の色の情報に多値化することを、ここでは、二値化と呼ぶ。この置き換えは変換と考えてもよい。例えば、セル情報取得部１２は、値が６０％未満の明度を、値が５０％の明度に置き換え、値が５０％以上の明度を、値が１００％の明度に置き換えることで、色の明度を二値化してもよい。また、各セルから取得した色相の情報が含まれる色相の範囲を、複数の色相の範囲の中から、色相の範囲を示す閾値等を用いて検出し、検出した色相の範囲に対応付けられた色の情報を、このセルの色の情報、あるいは色相の情報として取得しても良い。例えば、複数の色相の範囲が三以上用意されている場合、この色の情報の置き換えは、三値以上の多値化である。例えば、多重化されたコードが、８色のセルを有しうる場合、このコードを読み取るために、セルの色の情報を、八値化するようにしてもよい。なお、このような多値化は、色の情報の配列からコードを読み取る処理に含まれていても良い。
【００６６】
コード読取部１３は、セル情報取得部１２が多重化コード１００に多重化されている複数のコード毎に取得したセルの色の情報を用いて、各コードに対応付けられた情報を取得する。ここでの各コードに対応付けられた情報の取得は、各コードに対応付けられた情報の読み取りと考えてもよい。以下、各コードから、コードに対応付けられた情報を取得する処理を、コードから情報を読み取る処理として説明を行なう。
【００６７】
コード読取部１３は、例えば、上述したような多重化コード１００に多重化された複数のコードについてセル情報取得部１２がそれぞれ取得した、各コードに対応する複数のセルから取得したコードの色の情報と、各セルの配置を示す情報との複数の組合せを用いて、多重化コード１００に多重化されている複数のコードをそれぞれ読み取る。一のコード内の複数のセルの配列と、各セルから取得された色の情報との組合わせから、コードを読み取る処理については、コードを読み取る技術として公知技術であるため、ここでは詳細な説明は省略する。
【００６８】
コード読取部１３は、セル情報取得部１２が多重化されたコードについて取得したセルの色の情報に対して、上述したような多値化を行ない、多値化されたセルの情報を用いて、多重化された各コードの読み取りを行なっても良い。多値化を行なう際の値の数は、色の情報に応じて決定しても良く、コードを読み取る処理等に応じて決定しても良い。また、この値の数は、各コード毎に指定されていてもよい。なお、コード読取部１３が多値化を行なう場合、セル情報取得部１２による多値化は行なわなくてよい。
【００６９】
コード読取部１３は、例えば、多重化コード１００に多重化されている各コード毎に予め決められた読み取りかたによって、各コードを読み取る。例えば、二値のコードとして読み取ることが予め決められたコードについては、このコードのセルから取得された色の情報を二値の情報として扱って、このコードを読み取る。例えば、コード読取部１３は、明度を二値で読み取ることが指定されているコードについては、このコードのセルから取得される色の明度の値を閾値等を用いて二値の情報に変換し、この変換した情報をセルの情報として用いて、コードを読み取っても良い。また、３以上のカラーのコードとして読み取ることが予め決められたコードについては、このコードのセルから取得された色の情報を三値以上の色の情報として扱って、このコードを読み取ってもよい。例えば、コード読取部１３は、色相と彩度との３組以上の組合せで読み取ることが指定されているコードについては、このコードのセルから取得される色の色相と彩度との組合せを、閾値等を用いて三値以上の色の値のいずれかに変換し、この変換された色の値を、各セルの色の情報として用いて、コードを読み取っても良い。
【００７０】
なお、セルから取得した色の成分の情報を用いてコードを読み取る処理は、セルの色の情報として、色の全ての成分を利用するか、色の一部の成分だけを用いるかの違いであることから、従来のカラーコード等を認識する処理と同様の処理により実現することができる。例えば、セルの色相と彩度との値を用いてコードを読み取る処理は、セルのＲＧＢ値を用いてコードを読み取る処理において、セルのＲＧＢ値を用いる代りにセルの色相と彩度の値を用いるようにすることで容易に実現可能である。
【００７１】
なお、セル情報取得部１２が、各コード毎に取得したセルの色の情報と、各セルの配置を示す情報とを用いて、多重化されていた各コードの画像を生成するようにした場合、コード読取部１３は、この各コード毎の画像を用いて、各コードを読み取るようにしても良い。コードの画像からコードを読み取る処理は公知技術であるため、ここでは詳細な説明は省略する。
【００７２】
コード読取部１３は、多重化コード１００に多重化された各コードから各コードに対応付けられた情報を取得する。コード読取部１３が取得した情報は、例えば、多重化コード１００に多重化された各コードを読み取った情報である。セル情報取得部１２が各コードから取得した情報、即ち各コードから読み取った情報は、例えば、各コードに対応付けられた文字列等の情報である。ここでの文字は、数字も含む概念である。この文字列は、各コードに対応付けられた識別子であっても良い。また、セル情報取得部１２が取得する情報は、コードから読み出された情報（例えば、識別子等）に予め対応付けられて図示しない格納部等に格納されていた情報であっても良い。
【００７３】
なお、セル情報取得部１２は、読み取れなかったコードについては、読み取れなかったことを示す情報や、エラーであることを示す情報や、読み取れなかったコードの識別子を取得しても良く、取得しなくても良い。
【００７４】
出力部１４は、コード読取部１３が取得した情報を出力する。コード読取部１３が取得した情報は、コード読取部１３が、多重化コード１００に多重化された各コードを読み取った情報である。なお、出力部１４は、読み取れないコードと、読み取れたコードとがあった場合、読み取れなかったコードがあったことを示す情報を出力しても良い。読み取れなかったコードがあったことを示す情報は、例えば、読み取れなかったことを警告する情報である。読み取れなかったコードがあったことを示す情報は、例えば、読み取れなかったコードの識別子等を含む情報であっても良い。
【００７５】
ここでの出力は、例えば、モニタへの表示、プロジェクターを用いた投影、プリンタへの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラム等への処理結果の引渡し等を含む概念である。出力部１４は、モニタやプリンタ等の出力デバイスを含むと考えても含まないと考えても良い。出力部は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【００７６】
次に、本実施の形態の多重化コード読取装置１の動作の一例について、図３に示すフローチャートを用いて説明する。
【００７７】
（ステップＳ１０１）画像取得部１１は、多重化コード１００を撮影した画像を取得したか否かを判断する。例えば、画像取得部１１は、図示しない撮像素子を用いて、多重化コード１００を撮影して、多重化コードを撮影した画像を取得したか否かを判断する。取得した場合、ステップＳ１０２に進み、取得していない場合、ステップＳ１０１に戻る。
【００７８】
（ステップＳ１０２）セル情報取得部１２は、ステップＳ１０１で取得した画像から、多重化コード１００の部分画像を切り出す。
【００７９】
（ステップＳ１０３）セル情報取得部１２は、カウンターｋの値として１を代入する。
【００８０】
（ステップＳ１０４）セル情報取得部１２は、多重化コード１００にｋ番目のコードが多重化されているか否かを判断する。多重化されている場合、ステップＳ１０５に進み、多重化されていない場合、ステップＳ１１０に進む。
【００８１】
（ステップＳ１０５）セル情報取得部１２は、ステップＳ１０２で取得した部分画像の、多重化コード１００に多重化されているｋ番目のコードが有する複数のセルから、ｋ番目のコードに対応した色の情報を取得する。
【００８２】
（ステップＳ１０６）コード読取部１３は、ステップＳ１０５で取得したｋ番目のコードの複数のセルについて取得した色の情報を用いて、ｋ番目のコードに対応付けられた情報を取得する処理、すなわちｋ番目のコードの読み取り処理を行なう。
【００８３】
（ステップＳ１０７）コード読取部１３は、ステップＳ１０６において、ｋ番目のコードが読み取れたか否かを判断し、読み取れた場合、読取りによって取得した情報を図示しない格納部等に蓄積して、ステップＳ１０９に進み、読み取れなかった場合、ステップＳ１０８に進む。
【００８４】
（ステップＳ１０８）コード読取部１３は、ｋ番目のコードが読み取れなかったことを示す情報を、図示しない格納部等に蓄積する。そして、ステップＳ１０９に進む。
【００８５】
（ステップＳ１０９）カウンターｋの値を１インクリメントする。そして、ステップＳ１０４に戻る。
【００８６】
（ステップＳ１１０）出力部１４は、ステップＳ１０６で読み取れたコードがあったか否かを判断する。例えば、出力部１４は、ステップＳ１０７でコードから取得した情報、すなわちコードから読み取った情報であって、図示しない格納部に蓄積した情報があるか否かを判断し、あった場合、読み取れたコードがあったと判断してステップＳ１１１に進む。また、なかった場合、読み取れたコードがなかったと判断してステップＳ１０１に戻る。
【００８７】
（ステップＳ１１１）出力部１４は、ステップＳ１０６で読み取れなかったコードがあったか否かを判断する。例えば、出力部１４は、ステップＳ１０８で図示しない格納部に蓄積された情報、すなわちコードから情報が読み取れなかったことを示す情報があるか否かを判断し、あった場合、読み取れなかったコードがあったと判断してステップＳ１１２に進む。また、なかった場合、読み取れたコードがなかったと判断してステップＳ１１３に進む。
【００８８】
（ステップＳ１１２）出力部１４は、ステップＳ１０６でコードから読み取った情報、すなわち、コードから取得した情報と、読み取れなかったコードがあることを警告する情報とを出力する。そして、ステップＳ１０１に戻る。
【００８９】
（ステップＳ１１３）出力部１４は、ステップＳ１０６でコードから読み取った情報、すなわち、コードから取得した情報を出力する。そして、ステップＳ１０１に戻る。
【００９０】
なお、図３のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【００９１】
（具体例１）
以下、本実施の形態における具体例１について、図２（ａ）に示した多重化コード１００の例を用いて説明する。なお、以下の具体例１等においては、タブレット型の携帯端末で実現される多重化コード読取装置１を用いて、多重化コードの読み取りを行なう場合を例に挙げて説明する。
【００９２】
図２（ａ）の多重化コード１００は、図２（ｂ）に示すような２行３列の正方形のセルＣ１〜Ｃ６を有する第一のコード１０１と、図２（ｃ）に示すような６行９列の正方形のセルを有する第二のコード１０２とが、多重化されたコードであるとする。多重化コード１００の外側には黒色の枠１０９が設けられている。
【００９３】
第一のコード１０１と第二のコード１０２とは、同じサイズを有している。第一のコード１０１の各セルＣ１〜Ｃ６の一辺は、第二のコード１０２の各セルの一辺の３倍の長さを有している。第一のコード１０１の一のセル内には、３行３列に配列された第二のコード１０２のセルが配置されるよう、第一のコード１０１と第二のコード１０２とが多重化されている。
【００９４】
この多重化コード１００は、第一のコード１０１のセル毎に含まれる第二のコード１０２の複数のセルが、予め決められた三通りの色相および彩度の組合せのうちの共通する一つの組合せを有するものとし、第二のコード１０２の各セルが、予め決められた二通りの明度のうちの一つを有するものとしたものである。
【００９５】
具体的には、多重化コード１００の第一のコード１０１のセルＣ１およびＣ５内には、複数の第二のコード１０２のセルとして、色相（Ｈ）、彩度（Ｓ）、明度（Ｂ）の組合せ（以下、Ｈ，Ｓ，Ｂと称す）が、（Ｈ，Ｓ，Ｂ）＝（６０，１００，１００）である明るい黄色のセルＣｙ１と、（Ｈ，Ｓ，Ｂ）＝（６０，１００，６０）である暗い黄色のセルＣｙ２とが配置されている。なお、色相（Ｈ）の単位は度（°）、彩度（Ｓ）の単位は％、明度（Ｂ）の単位は％であるとする。かかることは以下においても同様である。
【００９６】
また、多重化コード１００の第一のコード１０１のセルＣ２、Ｃ４およびＣ６内には、複数の第二のコード１０２のセルとして、（Ｈ，Ｓ，Ｂ）＝（２１０，１００，１００）である明るい青色のセルＣｂ１と、（Ｈ，Ｓ，Ｂ）＝（２１０，１００，６０）である暗い青色のセルＣｂ２とが配置されているものとする。
【００９７】
また、多重化コード１００の第一のコード１０１のセルＣ３内には、複数の第二のコード１０２のセルとして、（Ｈ，Ｓ，Ｂ）＝（０，１００，１００）である明るい赤色のセルＣｒ１と、（Ｈ，Ｓ，Ｂ）＝（０，１００，６０）である暗い赤色のセルＣｒ２とが配置されているものとする。
【００９８】
ここでは、多重化コード１００に多重化されている第一のコード１０１は、第二のコード１０２よりも上位階層のコードであるとする。また、第一のコード１０１に対応付けられている第一のコード１０１から読み取られる情報と、第二のコード１０２に対応付けられている第二のコード１０２から読み取られる情報とも階層化されており、第一のコード１０１から読み取られる情報は、第二のコード１０２から読み取られる情報よりも上位の階層の情報であるとする。ここでは、例えば、多重化コード１００は商品に貼付された商品の保管先を示す情報であり、第一のコード１０１から読み取られる情報は、商品が保管される倉庫を示す情報であり、第二のコード１０２から読み取られる情報は、商品が保管される倉庫内のエリアを示す情報であるとする。
【００９９】
例えば、商品を保管するために、商品に貼付された図１（ａ）に示した多重化コードを画像取得部１１により撮影すると、画像取得部１１は、図１（ａ）に示した多重化コード１００の画像を含むカラーの画像を取得する。
【０１００】
セル情報取得部１２が、画像取得部１１が撮影した画像から、多重化コード１００の部分画像を切り出す。例えば、セル情報取得部１２は、多重化コード１００の枠１０９を画像処理で認識することで、多重化コード１００の輪郭を検出して、多重化コード１００の部分画像を切り出す。また、セル情報取得部１２は、切り出した部分画像において、枠１０９内の形状が、予め指定されている多重化コード１００の枠１０９内の縦横比となるよう、部分画像の形状を補正する。
【０１０１】
次に、第一のコード１０１の読み取りを行なうために、セル情報取得部１２は、補正した多重化コード１００の部分画像の、枠１０９内において、第一のコード１０１のセルＣ１〜Ｃ６を検出する。例えば、予め図示しない格納部等に格納されている第一のコード１０１が図２（ｂ）にしめすような２行３列の６つのセルで構成されていることを示す情報を読み出して、多重化コード１００の部分画像の枠１０９内を、２行３列の正方形のセルに分割する。そして、分割したセル毎に、第一のコード１０１に対して予め指定されている色の一部の成分である色相および彩度の値を取得する。
【０１０２】
上述したように、第一のコード１０１のセルＣ１およびＣ５内には、（Ｈ，Ｓ，Ｂ）＝（６０，１００，１００）である明るい黄色のセルＣｙ１と、（Ｈ，Ｓ，Ｂ）＝（６０，１００，６０）である暗い黄色のセルＣｙ２とだけが配置されているため、この多重化コード１００の部分画像の、セルＣ１およびＣ５の領域内の複数の画素からは、色相および彩度の値（以下、Ｈ，Ｓと称す）として、（Ｈ，Ｓ）＝（６０，１００）に近い値が取得される。なお、この各画素の値は、例えば、撮影時の状況（例えば照明の具合）等によってバラツキが生じるため、撮影対象のオリジナルの色の情報とは異なることがある。かかることは、以下においても同様である。そして、ここでは、セル情報取得部１２は、セルＣ１およびＣ５の領域内の複数の画素から取得した色相および彩度の値の平均値を、セルＣ１およびＣ５についてそれぞれ算出して、セルＣ１については、（Ｈ，Ｓ）＝（６１，９８）を取得し、セルＣ５については、（Ｈ，Ｓ）＝（６４，９６）を取得したとする。
【０１０３】
また、上述したように、多重化コード１００の第一のコード１０１のセルＣ２、Ｃ４およびＣ６内には、（Ｈ，Ｓ，Ｂ）＝（２１０，１００，１００）である明るい青色のセルＣｂ１と、（Ｈ，Ｓ，Ｂ）＝（２１０，１００，６０）である暗い青色のセルＣｂ２とが配置されているため、この多重化コード１００の部分画像の、セルＣ２、Ｃ４およびＣ６の領域内の複数の画素からは、（Ｈ，Ｓ）＝（２１０，１００）に近い値が取得される。そして、ここでは、セル情報取得部１２は、セルＣ２、Ｃ４およびＣ６の領域内の複数の画素から取得した色相および彩度の値の平均値を、セルＣ２、Ｃ４およびＣ６についてそれぞれ算出して、セルＣ２については、（Ｈ，Ｓ）＝（２１９，９８）を取得し、セルＣ４については、（Ｈ，Ｓ）＝（２１７，９８）を取得し、セルＣ６については、（Ｈ，Ｓ）＝（２１５，９６）を取得したとする。
【０１０４】
同様に、多重化コード１００の第一のコード１０１のセルＣ３内には、（Ｈ，Ｓ，Ｂ）＝（０，１００，１００）である明るい赤色のセルＣｒ１と、（Ｈ，Ｓ，Ｂ）＝（０，１００，６０）である暗い赤色のセルＣｒ２とが配置されているため、この多重化コード１００の部分画像の、セルＣ３の領域内の複数の画素からは、それぞれ（Ｈ，Ｓ）＝（０，１００）に近い値が取得される。そして、ここでは、セル情報取得部１２は、セルＣ３の領域内の複数の画素から取得した色相および彩度の値の平均値を、セルＣ３についてそれぞれ算出して、セルＣ３については、（Ｈ，Ｓ）＝（１，９７）を取得したとする。
【０１０５】
図４は、コード読取部１３が行なう処理を説明するための、三値化された第一のコード１０１の色の情報の配置を示す模式図（図４（ａ））、および二値化された第二のコード１０２の色の情報の配置を示す模式図（図４（ｂ））である。
【０１０６】
コード読取部１３は、上記で取得した第一のコード１０１の各セルＣ１〜Ｃ６の色相の平均値および彩度の平均値と、予め図示しない格納部に格納されている第一のコード１０１の各セルＣ１〜Ｃ６の配列を示す情報とを用いて、第一のコード１０１を読み取る。例えば、まず、コード読取部１３は、予め図示しない格納部等に用意された第一のコード１０１のセルに設定される３つの色の値である「赤」、「青」、および「黄」と、
それぞれ対応する色相と彩度の値の範囲を指定する情報との組合せを用いて、上記で取得した第一のコード１０１の各セルＣ１〜Ｃ６の色相の平均値および彩度の平均値とを、三値化、即ち、上述した「赤」、「青」、および「黄」の三値のいずれかの値に変換する。例えば、一のセルについて取得した（Ｈ，Ｓ）の値が、「赤」に対応付けられた色相（Ｈ）の値の範囲と、彩度（Ｓ）の値の範囲との両方を満たす場合、このセルの色の情報を「赤」に変換する。両方を満たさない場合、他の色の範囲について順次、同様の判断を行なって、３色のいずれかの色の情報に変換する。いずれの色の情報にも変換できない場合、例えば、エラーとなる。ここでは、各セルＣ１〜Ｃ６について、いずれかの色の情報に変換できたとする。
【０１０７】
三値に変換された値で表された第一のコード１０１の模式図は、図４（ａ）のようになる。各セルＣ１〜Ｃ６内の文字「赤」、「青」、および「黄」は、三値化された値を示す。ただし、この図は、説明のためのものであり、コード読取部１３がこのような画像等を作成する必要はない。
【０１０８】
そして、変換されて三値の値で表されたセルＣ１〜Ｃ６の配列を読み取って、第一のコード１０１に予め対応付けられた情報を取得する。なお、色の情報が３以上の多値の値で表される複数のセルの色の情報の配列を読み取って、この配列に対応する情報を取得する処理は、カラーコードの読み取り技術等として公知であるため、ここでは詳細な説明は省略する。例えば、コード読取部１３は、第一のコード１０１から、商品が保管される倉庫を示す情報として、「第一倉庫」という情報を取得したとする。取得した情報は、図示しない格納部等に蓄積する。
【０１０９】
なお、ここでは、各セルの色の情報である色相および彩度の情報の組合せを三値化した場合を例に挙げて説明したが、各セルの値は、三値以上の予め決められた多値の値、例えば、八値等に変換して、この多値化された値を有するセルの配列パターンから、コードを読み取るようにしても良い。かかることは以下においても同様である。この多値化の値の数は、各セルに割り当てられる色の情報（例えば、色の成分の情報）の数等に応じて適宜変更しても良い。
【０１１０】
次に、第二のコード１０２の読み取りを行なうために、セル情報取得部１２は、補正した多重化コード１００の部分画像の、枠１０９内において、第二のコード１０２の複数のセルとして、図２（ｃ）に示すような６行９列の正方形のセルを検出する。例えば、予め図示しない格納部等に格納されている第二のコード１０２が６行９列の複数のセルで構成されていることを示す情報を読み出して、多重化コード１００の部分画像の枠１０９内を、６行９列のセルに分割する。そして、分割したセル毎に、第二のコード１０２に対して予め指定されている色の一部の成分である明度を取得する。この色の成分は、第一のコード１０１のセルからの取得対象として指定されている成分とは異なる成分であるとする。
【０１１１】
例えば、上述した第二のコード１０２のセルの内の、セルＣｒ１、Ｃｂ１、およびＣｙ１内に位置する１以上の画素からは、明度の値として、「１００」％に近い値が取得され、これらの各セルＣｒ１、Ｃｂ１、およびＣｙ１の明度の値としては、上記で取得された画素の明度の平均値が取得される。同様に、上述した第二のコード１０２のセルの内の、セルＣｒ２、Ｃｂ２、およびＣｙ２内に位置する１以上の画素からは、明度の値として、「６０」％に近い値が取得され、これらの各セルＣｒ２、Ｃｂ２、およびＣｙ２の明度の値としては、上記で取得された画素の明度の平均値が取得される。
【０１１２】
コード読取部１３は、上記で取得した第二のコード１０２の各セルの明度の平均値と、各セルの配列を示す情報とを用いて、第二のコード１０２を読み取る。例えば、コード読取部１３は、まず、予め図示しない格納部等に用意された閾値（例えば、「８０」％等の値）を用いて、上記で取得した第二のコード１０２の各セルの明度の平均値を二値化する。
【０１１３】
二値化された第二のコード１０２の模式図は、図４（ｂ）のようになる。図中、ハッチングで表されたセルとハッチングを有さないセルとが異なる値のセルであるとする。ただし、この図は、説明のためのものであり、コード読取部１３がこのような画像等を作成する必要はない。
【０１１４】
そして、二値化した複数のセルの配列を読み取って、第二のコード１０２に予め対応付けられた情報を取得する。ここでの二値で表された複数のセルの配列の読み取りは、例えば、パターンマッチング等により行なわれる。なお、二値で表される複数のセルの色の情報の配列を読み取って、この配列に対応する情報を取得する処理は、二次元コードの読み取り技術等として公知であるため、ここでは詳細な説明は省略する。例えば、コード読取部１３は、第二のコード１０２から、商品が保管される場所を示す情報として、「第三保管室」という情報を取得したとする。取得した情報は、図示しない格納部等に蓄積する。
【０１１５】
なお、ここでは、各セルの明度の値を二値化した場合を例に挙げて説明したが、各セルの値は、二値以上の予め決められた多値の値、例えば、八値等に変換して、この多値化された値を有するセルの配列パターンから、コードを読み取るようにしても良い。かかることは、後述する他の具体例においても同様である。
【０１１６】
そして、出力部１４は、コード読取部１３が、多重化コード１００を構成する第一のコード１０１と第二のコード１０２の両方を読み取ることができているため、読み取った情報である「第一倉庫」および「第三保管室」を、図示しないモニタ等に表示する。
【０１１７】
図５は、多重化コード１００から読み取った情報のモニタ４ａへの表示例を示す図である。
【０１１８】
ここで、仮に、コード読取部１３が、多重化コード１００を構成する第一のコード１０１を読み取ることができたが、第二のコード１０２が読み取れなかったとする。例えば、画像取得部１１が取得した画像内における多重化コード１００の画像が小さい場合等においては、小さいセルを有するコードが読み取れない場合がある。このような場合、コード読取部１３は、読み取れなかったことを示す情報を、読み取れなかった第二のコード１０２の識別子と対応付けて図示しない格納部に蓄積する。なお、読み取れなかったコードの識別子の蓄積を、読み取れなかったことを示す情報の、読み取れなかったコードの識別子と対応付けた蓄積と考えてもよい。
【０１１９】
そして、多重化コード１００を構成する全てのコードを読み取る処理が終了した時点で、出力部１４は、多重化コード１００を構成するコードのうちの、第一のコード１０１から読み取った情報は、図示しない格納部に格納されており、第二のコード１０２を読み取ることができなかったことを示す情報が、図示しない格納部に格納されていることから、第一のコード１０１は読み取れ、第二のコード１０２は読み取れなかったと判断する。そして、出力部１４は、第一のコード１０１から読み取った情報である「第一倉庫」と、第二のコード１０２が読み取れなかったことを示す警告とを出力する。出力する警告は、ここでは、一例として、予め図示しない格納部に格納されているテンプレートに、読み取れなかったコード１０２の識別子を配置して作成されるものとする。ただし、デフォルトの文字列や画像等を出力しても良い。
【０１２０】
図６は、第二のコード１０２が読み取れなかった場合の警告等のモニタ４ａへの表示例を示す図である。
【０１２１】
なお、第一のコード１０１と第二のコード１０２の両方が読み取れなかった場合は、多重化コード１００全体が読み取り可能な状態でないと考えられることから、ここでは、警告は出力しない
【０１２２】
このような具体例においては、一の多重化コード１００内に、異なるサイズのセルを有する第一のコード１０１と、第二のコード１０２とを、セル同士が重なるように、多重化するとともに、第一のコード１０１を、複数のセルの色の一部の成分である色相と彩度の配列で情報を表すコードとし、第二のコード１０２を、セル内の色の一部の成分である明度の配列で情報を表すコードとすることによって、一のコードに対応付けることができる情報量を増加させることができる。
【０１２３】
また、この具体例においては、第一のコード１０１のセル内に、第二のコード１０２の複数のセルが配置されているため、読み取りのために撮影された画像における多重化コードのサイズが小さい場合等において、セルのサイズが小さい第二のコード１０２が読み取れなくても、セルのサイズが大きい第一のコード１０１を読み取れることが可能となる。これにより、例えば、多重化コード１００から離れた位置で多重化コード１００を読み取った場合においても、最小限の情報を読み取れるようにすることができる。また、例えば、多重化コード１００から離れた位置で読み取る場合の情報量よりも、多重化コード１００に近づいた状態で読み取る場合の情報量を増やすことができる。また、例えば、第一のコード１０１から読み取れる情報と、第二のコード１０２から読み取れる情報とが階層化されており、第一のコード１０１から読み取れる情報が、第二のコード１０２から読み取れる情報よりも、上位の階層の情報とした場合、第一のコード１０１が読み取れた場合には、少なくとも上位の階層の情報を取得することが可能となる。また、第一のコード１０１と第二のコード１０２との両方が読み取れた場合には、上位の階層の情報と下位の階層の情報との両方を取得することが可能となる。
【０１２４】
また、第一のコード１０１が読み取れて、第二のコード１０２が読み取れない場合は、第二のコード１０２が読み取れない旨の警告等を出力することで、多重化コードの１００の一部のコードが読めている状態であって、多重化コード１００全体が認識できていない状態ではないこと等を、ユーザに知らせることができる。ただし、警告は出力しないようにしても良い。この場合においても、例えば、第一のコード１０１から読み取れた情報だけを出力することで、多重化コード１００自体は読み取り可能な状態にあることをユーザに知らせることができる。
【０１２５】
なお、上記においては、コード読取部１３は、セルの色の１以上の成分の情報を、多値化して、コードを読み取るようにしたが、コード読取部１３は、セルの色の１以上の成分の情報をどのように用いて、多重化コード１００を構成する１以上のコードを読み取るようにしてもよい。例えば、上記の第一のコード１０１については、色相および彩度の平均値を取得した各セルＣ１〜Ｃ６の明度の値を、予め決められた任意の値、例えば１００％等に設定して、上記の各セルＣ１〜Ｃ６の色の情報をＨＳＢ値で表すようにして、第一のコード１０１を、通常のカラーコードの読み取りに用いられる処理と同様の処理により読み取れるようにしても良い。また、例えば、上記の第二のコード１０２については、明度の平均値を取得した各セルの色相および彩度の値を、予め決められた任意の値、例えば、（Ｈ，Ｓ）＝（９０，１００）等に設定して、上記の各セルの色の情報をＨＳＢで表すようにして、第二のコード１０２を、通常のカラーコードの読み取りに用いられる処理と同様の処理により読み取れるようにしても良い。
【０１２６】
また、上記においては、セル情報取得部１２は、補正した多重化コード１００の部分画像の、枠１０９内において、多重化された各コード毎に、複数のセルの領域を検出して、各セルの色の成分の情報を取得するようにしたが、セル情報取得部１２は、部分画像、あるいは、部分画像の枠１０９内から、各コードに対応した色の一部の成分の情報で表された画像を取得し、取得した画像において、各コードに対応する複数のセルの領域を検出して、各セルに対応する領域内の画像の色の情報である色の一部の成分の情報を取得するようにしても良い。かかることは、以下においても同様である。なお、色の一部の成分で表された画像を取得する処理は、画像処理ソフトウェアとにおいて公知の技術であるため、ここでは詳細な説明は省略する。
【０１２７】
なお、この具体例においては、多重化コード１００を２行３列の正方形のセルの第一のコード１０１と、６行９列の正方形のセルを有する第二のコード１０２とを多重化したものとした場合について説明したが、第一のコードおよび第二のコードのセルが同じサイズにならなければ、多重化コードを構成する第一のコードおよび第二のコードの行数および列数や配列は問わない。かかることは、後述する他の具体例においても同様である。
【０１２８】
（具体例２）
図７は、本実施の形態の具体例２を説明するための、多重化コードの一例を示す図（図７（ａ））、および二値化された第一のコードのセルの色の情報の配置を示す模式図（図７（ｂ））、および三値化された第二のコードのセルの色の情報の配置を示す模式図（図７（ｃ））である。
【０１２９】
この具体例２は、上記具体例１の多重化コード１００に多重化されている第一のコード１０１のセル毎に含まれる第二のコード１０２の複数のセルが、予め決められた二通りの明度のうちの共通する一の明度を有するものとし、第二のコード１０２の各セルが予め決められた三通りの色相および彩度の組合せのうちの一つを有するものとしたものである。
【０１３０】
セル情報取得部１２は、上記具体例１の場合と同様の処理を行なって、この多重化コード１００の部分画像の、第一のコード１０１の各セルＣ１〜Ｃ６について、色の明度の情報を取得する。そして、コード読取部１３が、この各セルＣ１〜Ｃ６の明度の情報を二値化する。第一のコード１０１の各セルについて取得された色の情報は、図７（ａ）に示すような配列になる。図中、各セル内の「０」、および「１」は、各セルの明度を示す二値の値であるとする。ただし、この図は、説明のためのものであり、コード読取部１３がこのような画像等を作成する必要はない。
【０１３１】
そして、コード読取部１３は、上記の具体例１の第二のコード１０２を読み取った処理と同様に、変換されて二値の値で表されたセルＣ１〜Ｃ６の配列を読み取って、第一のコード１０１に予め対応付けられた情報を取得する。
【０１３２】
また、セル情報取得部１２は、上記具体例１の場合と同様の処理を行なって、この多重化コード１００の部分画像の、第二のコード１０２の各セルについて、色の色相と彩度との情報を取得する。そして、コード読取部１３が、この各セルの色相と彩度との組合せを、三値化することにより、第二のコード１０２の各セルについて取得された色の情報は、図７（ｂ）に示すような配列となる。図中、異なるハッチングで示されたセルは、色相と彩度の値の組合せが異なるセルであるとする。ただし、この図は、説明のためのものであり、コード読取部１３がこのような画像等を作成する必要はない。
【０１３３】
コード読取部１３は、上記の具体例１の第一のコード１０１を読み取った処理と同様に、変換されて三値の値で表されたセルの配列を読み取って、第二のコード１０２に予め対応付けられた情報を取得する。
【０１３４】
そして、出力部１４が、第一のコード１０１および第二のコード１０２から読み取った情報を出力する。
【０１３５】
（具体例３）
図８は、本実施の形態の具体例２を説明するための、多重化コードの一例を示す図（図８（ａ））、および多重化されている第一のコードのセルの色の配置を示す模式図（図８（ｂ））である。
【０１３６】
この具体例３は、上記具体例１の多重化コード１００に多重化されている第二のコード１０２の複数のセルのそれぞれが予め決められた異なる二色のうちの一方の色の情報を有しており、第一のコード１０１の各セルの色の情報を、第一のコード１０１の各セルに含まれる第二のコード１０２の複数のセルからそれぞれ取得される色の情報の配列をパターンマッチングすることにより、取得されるようにしたものである。ここでのパターンマッチングを利用したセルの色を決定する処理は、上述したハーフトーニングと呼ばれる処理に対応する処理である。ここでは、２色の色を、第一の色および第二の色と呼ぶ。この２色の色の情報は、明度等の色の一部の成分の情報であっても良い。２色の色は、例えば、白色と黒色であってもよく、グレースケール中の２色であってもよい。
【０１３７】
セル情報取得部１２は、上記具体例１の場合と同様の処理を行なって、この多重化コード１００の部分画像の、第二のコード１０２の各セルについて、色の情報を取得する。なお、図８（ａ）において、第二のコード１０２の各セルのうちの、ハッチングで示されたセルが第一の色のセルＣＢ１、ハッチングがないセルが第二の色のセルＣＷ１であるとする。
【０１３８】
次に、セル情報取得部１２は、第二のコード１０２の各セルＣ１〜Ｃ６内に含まれる第二のコード１０２の複数のセルの色の情報を用いて、パターンマッチングを行なう。
【０１３９】
図９は、パターンマッチングに用いられるマッチング用のパターンを示す図（図９（ａ）〜図９（ｊ））である。各パターンは、第二のコード１０２内の一のセルに含まれる第二のコード１０２の３行３列の９つのセルに対応するセルを有しており、各パターンの各セルは、第二のコード１０２の各セルが有する色に対応する色をそれぞれ有している。図９において、ハッチングで示されているセルＣＢ２は、図８（ａ）のハッチングで示されたセルＣＢ１の第一の色に対応する色、例えば、同じ色、または二値化した場合に同じ色となる色のセルであるとし、図９において、ハッチングのないセルＣＷ２は、図８（ａ）のハッチングのないセルＣＷ１の第二の色に対応する色、例えば、同じ色、または二値化した場合に同じ色となる色のセルであるとする。このパターンの情報は、図示しない格納部等に予め格納されているものとする。また、上記のパターンのうちの図９（ａ）〜図９（ｅ）に示すパターンは、第二の色に対応する色のセルＣＷ２の数が第一の色に対応するセルＣＢ２よりも多いため、第二の色の情報に対応付けられており、その他のパターンは、第二の色に対応する色のセルＣｗ２の数が、第一の色に対応するセルＣＢ２よりも少ないため、第一の色の情報に対応付けられているものとする。ただし、パターンとどのような色の情報とを対応付けるようにしても良い。
【０１４０】
セル情報取得部１２は、第二のコード１０２の各セルに含まれる第二のコード１０２の複数のセルに対して、図９に示したパターンを用いてパターンマッチングを行なって、一致するパターンを検出する。なお、パターンマッチングは、例えば、セル情報取得部１２が取得した第二のコード１０２の各セルＣ１〜Ｃ６内に含まれる第二のコード１０２の複数のセルの色の情報を二値化した情報を用いて行なってもよい。そして、一致するパターンに対応付けられた第一の色の情報または第二の色の情報を、パターンマッチングを行なった第二のコード１０２のセルの色の情報として取得する。これにより、図８（ｂ）に示すような色の配置を得ることができる。図中、各セル内の「Ａ」は、セルが第一の色であることを示し、各セル内の「Ｂ」は、セルが第二の色であることを示している。ただし、この図は、説明のためのものであり、コード読取部１３がこのような画像等を作成する必要はない。
【０１４１】
そして、コード読取部１３は、図８（ｂ）に示すような第二のコード１０２の複数のセルの色の情報の配列を読み取って、第二のコード１０２に予め対応付けられた情報を取得する。
【０１４２】
また、コード読取部１３は、上記で取得した第二のコード１０２の複数のセルから取得した色の情報の配列を読み取って、第二のコード１０２に予め対応付けられた情報を取得する。読み取りの際には、各セルの色の情報を、二値化しても良い。
【０１４３】
そして、出力部１４が、第二のコード１０２および第二のコード１０２から読み取った情報を出力する。
【０１４４】
なお、上記においては、第二のコード１０２の複数のセルの色が２色である場合について説明したが、複数のセルの色は、３色以上であってもよい。この場合、パターンマッチングに用いられるパターンも、第二のコード１０２の複数のセルに用いられる色数と同じ色数のセルで構成されるパターンとする必要がある。また、ここでは、各パターンに対応付けられた色が２色である場合について説明したが、対応付けられた色は、３色以上であっても良い。この場合、第二のコード１０２のセルの色として、３色以上の色を取得することが可能となる。
【０１４５】
また、上記においては、パターンマッチングに１０種類のパターンを用いた場合について説明したが、パターンの種類数は、問わない。例えば、１０種類よりも少ないパターンを用いても良く、１０種類よりも多いパターンを用いても良い。ただし、パターンは重複しないようにすることが好ましい。
【０１４６】
（具体例４）
図１０は、本実施の形態の具体例４を説明するための、多重化コードの一例を示す図（図１０（ａ））、およびこの多重化コードに多重化された複数のコードのセルの配置を示す模式図（図１０（ｂ）〜（ｄ））である。
【０１４７】
図１１は、本実施の形態の具体例４を説明するための、多重化コードに多層化された第一のコードのセルの色の情報の配列を示す模式図（図１１（ａ））、多重化コードに多層化された第二のコードのセルの色の情報の配列を示す模式図（図１１（ｂ））、および多重化コードに多層化された第三のコードのセルの色の情報の配列を示す模式図（図１１（ｂ））である。
【０１４８】
この具体例４においては、多重化コード１００を、図１０（ｂ）に示すような１行２列の正方形のセルＢ１、Ｂ２を有する第一のコード１３１と、図１０（ｃ）に示すような２行４列の正方形のセルＢｓ１〜Ｂｓ８を有する第二のコード１３２と、図１０（ｄ）に示すような６行１２列の正方形のセルを有する第三のコード１３３とが、多重化されたコードとしたものである。多重化コード１００の外側には黒色の枠１０９が設けられている。
【０１４９】
第一のコード１３１、第二のコード１３２および第三のコード１３３は、同じサイズを有している。第一のコード１３１のセルＢ１、Ｂ２の一辺は、第二のコード１３２のセルＢｓ１〜Ｂｓ８の一辺の２倍の長さを有しており、第二のコード１３２のセルＢｓ１〜Ｂｓ８の一辺は、第三のコード１３３のセルの一辺の三倍の長さを有している。多重化コード１００においては、第一のコード１３１の一のセル内に、第二のコード１３２の２行２列の４つのセルが配置され、第二のコード１３２の一のセル内には、第３のコード１３３の３行３列の９つのセル１３３ａが配置されるよう、第一のコード１３１、第二のコード１３２、および第三のコード１３３が多重化されている。
【０１５０】
この多重化コード１００は、第一のコード１３１のセル毎に含まれる第三のコード１３３の複数のセル１３３ａが、予め決められた２つの明度の値のうちの共通する一の明度を有するものとし、第三のコード１３３の各セル１３３ａが予め決められた三通りの色相および彩度の組合せのうちの一つを有するものとし、第二のコード１３２の各セルの色の情報は、この各セルに含まれる第三のコード１３３の複数のセル１３３ａからそれぞれ取得される色の情報の配列をパターンマッチングすることにより、取得されるようにしたものである。ここでは、上記の２つの明度は、一例として「１００％」および「６０％」とし、上記の三通りの色相および彩度の組合せは、第一の組合せである（Ｈ，Ｓ）＝（０，１００）と、第二の組合せである（Ｈ，Ｓ）＝（６０，１００）と、第三の組合せである（Ｈ，Ｓ）＝（２１０，１００）とであるとする
【０１５１】
セル情報取得部１２は、予め格納されている第一のコード１３１が図１０（ｂ）に示すような１行２列の正方形のセルで構成されていることを示す情報を読み出し、この情報を用いて、上記具体例１の場合と同様の処理を行なって、多重化コード１００の部分画像において第一のコード１３１の各セルＢ１およびＢ２を検出し、それぞれのセルＢ１およびＢ２内の画素の情報を用いて、各セルＢ１およびＢ２の色の明度の情報を取得する。そして、コード読取部１３が、この各セルＢ１およびＢ２の明度の情報を二値化することにより、第一のコード１０１の各セルＢ１およびＢ２について取得された色の情報は、図１１（ａ）に示すような配列になる。図中、各セル内の「０」、および「１」は、各セルの明度を示す二値の値であるとする。ただし、この図は、説明のためのものであり、コード読取部１３がこのような画像等を作成する必要はない。
【０１５２】
そして、コード読取部１３は、変換されて二値の明度の値で表されたセルＢ１およびＢ２の配列を読み取って、第一のコード１０１に予め対応付けられた情報を取得する。
【０１５３】
また、セル情報取得部１２は、予め格納されている第３のコード１３３が図１０（ｄ）に示すような６行１２列の正方形のセルで構成されていることを示す情報を読み出し、この情報を用いて、上記具体例１の場合と同様の処理を行なって、多重化コード１００の部分画像において第三のコード１３３の各セルを検出して、それぞれのセル内の画素の情報を用いて、各セルについて、第三のコードに対応付けられた色の情報を取得する。ここでは、第三のコードに対応付けられた色の情報として、色の色相と彩度の情報を取得する。
【０１５４】
次に、セル情報取得部１２は、図１０（ｃ）に示すような第二のコード１３２のセルの配列を示す情報を用いて、第二のコード１３２のセルＢｓ１〜Ｂｓ８を検出し、第二のコード１３２の各セルＢｓ１〜Ｂｓ８内に含まれる第三のコード１３３の複数のセルの色の情報を用いて、パターンマッチングを行なう。
【０１５５】
図１２は、第二のコード１３２の各セルの色の情報を取得するためのパターンマッチングに用いられるマッチング用のパターンの一部を示す図（図１２（ａ）〜図１２（ｉ））である。各パターンは、第三のコード１３３の各セル１３３ａが有しうる上記の三通りの色相および彩度の組合せのいずれか一つに対応する色の情報を有する３行３列の複数のセルが配列されたパターンであるとする。例えば、セルＣαは、第一の組合せを有するセルであり、セルＣβは、第二の組合せを有するセルであり、Ｃγは、第三の組合せを有するセルであるとする。また、各パターンには、上記の三通りの色相および彩度の組合せの色の情報を有するセルのうちの、最も多い色相および彩度の組合せを有するセルの、色相および彩度の組合せが予め対応付けられているものとする。つまり、各パターンには、上記の色相および彩度の、第一の組合せから第三の組合せまでの３つの組合せのいずれか一つが対応付けられているものとする。ただし、どのパターンにどのような色の譲歩宇を対応付けるようにしても良い。
【０１５６】
セル情報取得部１２は、第二のコード１３２セル毎に含まれる第二のコード１０２の複数のセルに対して、図１２等に示したパターンを用いてパターンマッチングを行なって、一致するパターンを検出する。なお、パターンマッチングは、例えば、セル情報取得部１２が取得した第二のコード１３２の各セルＢｓ１〜Ｂｓ８内に含まれる第三のコード１３３の複数のセルの色の色相と彩度の情報を、上述した色相および彩度の三通りの組合せのいずれかにそれぞれ対応するよう三値化した情報を用いて行なってもよい。そして、一致するパターンと対応付けられた上述した第一の組合せから第三の組合せのうちの一の色相および彩度の組合せを、パターンマッチングを行なった第二のコード１０２のセルの色の情報として取得する。これにより、図１１（ｂ）に示すような色の配置を得ることができる。図中、各セル内の「α」は、セルが第一の組合せの色相と彩度とを有していることを示し、各セル内の「β」は、セルが第二の組合せの色相と彩度とを有していることを示し、各セル内の「γ」は、セルが第三の組合せの色相と彩度とを有していることを示している。ただし、この図は、説明のためのものであり、コード読取部１３がこのような画像等を作成する必要はない。
【０１５７】
そして、コード読取部１３は、図１１（ｂ）に示すような第二のコード１３２の複数のセルの色の情報の配列を読み取って、第二のコード１３２に予め対応付けられた情報を取得する。
【０１５８】
また、コード読取部１３は、上記で取得した第三のコード１３３の複数のセルから取得した色の情報の配列を読み取って、第二のコード１０２に予め対応付けられた情報を取得する。例えば、コード読取部１３は、上記で取得した第三のコード１３３の複数のセルから取得した色相と彩度の情報を、上述した色相と彩度の第一から第三の組合せに対応した情報となるよう三値化して、図１１（ｃ）に示すような第三のコード１３３の複数のセルの色の情報の配列を取得し、このような三値化した各セルの色の情報の配列を読み取って、第二のコード１０２に予め対応付けられた情報を取得する。なお、図１１（ｃ）においては、同じハッチングを有するセルは、色相と彩度との組合せが同じであるセルに対応している。ただし、この図は、説明のためのものであり、コード読取部１３がこのような画像等を作成する必要はない。
【０１５９】
そして、出力部１４は、コード読取部１３が、第一のコード１３１、第二のコード１３２、および第三のコード１３３から読み取った情報を出力する。
【０１６０】
（具体例５）
上記具体例１の多重化コード１００に多重化されている第二のコード１０２として、二値のセルの配列によって表されるいわゆるＱＲコードや、ＡＲコード等の二次元コードでを用いるようにしてもよい。
【０１６１】
図１３は、本実施の形態の具体例５を説明するための、多重化コードの一例を示す図（図１３（ａ））、この多重化コードから取得された第一のコードのセルの色の情報の配列を示す模式図（図１３（ｂ））、およびこの多重化コードから取得された第二のコードのセルの色の情報の配列を示す模式図（図１３（ｃ））である。なお、ここでは、枠１０９の代りに、多重化コードに多重化されている第一のコード１０１の各セルＣ１〜Ｃ６の周囲を区切る黒色の枠１４９が設けられているものとする。この枠１４９には、第二のコード１０２のセルが重なっていないものとする。
【０１６２】
この具体例５は、上記具体例１において、多重化コード１００に多重化されている第一のコード１０１として、上記具体例１と同様の、複数のセルＣ１〜Ｃ６の色相と彩度の組合せの情報の配列によって情報を表すコードを用いるとともに、多重化コード１００に多重化されている第二のコード１０２が、第一のコード１０１の各セル内にそれぞれ個別に配置された複数のセルの二値の明度の値の配列によって情報を表す複数のＱＲコード１４４で構成されているようにしたものである。複数のＱＲコード１４４は、異なる情報を表していても良く、同じ情報を表していても良い。
【０１６３】
この具体例５においては、上記具体例１と同様に、セル情報取得部１２が、第一のコード１０１のセルＣ１〜Ｃ６の色相と彩度との組合せの情報を取得して、コード読取部１３が、これらを三値化することで、図１３（ｂ）に示すような第一のコード１０１のセルの三値の色の情報の配列を示す情報を取得することができる。また、上記具体例１と同様に、セル情報取得部１２が、第二のコード１０２のセルの明度の情報を取得して、コード読取部１３が、これらを二値化することで、図１３（ｃ）に示すような第二のコード１０２のセルの二値の色の情報の配列を示す情報を取得することができる。ただし、図１３（ｂ）、および図１３（ｃ）は、説明のためのものであり、コード読取部１３がこのような画像等を作成する必要はない。
【０１６４】
そして、コード読取部１３は、図１３（ｂ）に示すような第一のコード１０１の三値の色の情報の配列を読み取って、第一のコード１０１に対応した情報を取得する。
【０１６５】
また、コード読取部１３は、図１３（ｃ）に示すような第二のコード１０２内において、二値のセルの配列から、複数のＱＲコード１４４をそれぞれ検出して、複数のＱＲコード１４４をそれぞれ読み取ることによって、複数のＱＲコード１４４にそれぞれ対応付けられた情報を、第二のコード１０２が示す情報として取得する。なお、更に、複数のＱＲコードの配列パターンに対応付けられた情報を、第二のコード１０２が示す情報としてパターンマッチング等により取得できるようにしてもよい。
【０１６６】
そして、出力部１４は、コード読取部１３が、第一のコード１０１、および第二のコード１０２から読み取った情報を出力する。
【０１６７】
なお、この具体例において、一のＱＲコード１４４は、第一のコード１３１の複数のセルと重なるように配置されていても良い。また、第一のコード１３１の複数のセル内に、複数のＱＲコードが配置されていても良い。また、複数のＱＲコード１４４のそれぞれを、第一のコード１３１に対して多重化されている異なるコードと考えてもよい。
【０１６８】
（具体例６）
上記具体例１等においては、多重化コードの第一のコードのセル内に、このセルよりもサイズが小さい二値の色の情報（例えば、二値の明度の情報等）が取得可能な第二のコードの複数のセルが配置されている場合について説明したが、第二のコードの各セルは、第一のコードの一のセルと一部が重なっていれば良く、第一のコードの一のセル内に全体が収まっていなくても良い。
【０１６９】
図１４は、本実施の形態の具体例５を説明するための、第一のコードと第二のコードとが多重化された多重化コードの一例を示す図（図１４（ａ））、この多重化コードに多重化されている第一のコードおよび第二のコードのセルの配置を示す図（図１４（ｂ）および図１４（ｃ））、この多重化コードから取得された第一のコードおよび第二のコードのセルの色の情報の配列を示す模式図（図１４（ｄ）および図１４（ｅ））である。
【０１７０】
この具体例においては、多重化コード１００を、２重の円を扇状に分割した第一のコード１５１と、このコード１５１と同じ大きさの、３重の円を第一のコード１５１とは異なる中心角で扇状に分割した第二のコード１５２とを多重化したコードとしたものである。第一のコード１５１の各セルと、第二のコード１５２の各セルは、サイズが異なっているとともに、第一のコード１５１の各セルは、第二のコードの１以上のセルと重なっている。
【０１７１】
多重化コード１００の、第一のコード１５１の各セル内の色は、色相および彩度が、予め決められた色相および彩度の複数の組合せのうちの一の組合せである色であるとする。また、第二のコード１５２の各セル内の色は、明度が、予め決められた複数の明度のうちの一の明度である色であるとする。これにより、第一のコード１５１の一のセルのうちの、第二のコード１５２の明度が異なる２つのセルと個別に重なる領域は、色相および彩度が同じで、明度が異なる色を有する領域となっている。
【０１７２】
この具体例６においては、上記具体例１と同様に、セル情報取得部１２が、第一のコード１５１の各セルの色相と彩度との組合せの情報を取得して、コード読取部１３が、これらを多値化することで、図１４（ｄ）に示すような第一のコード１０１のセルの多値の色の情報の配列を示す情報を取得することができる。ここでの多値は、３以上の多値であることが好ましい。また、上記具体例１と同様に、セル情報取得部１２が、第二のコード１５２の各セルの明度の情報を取得して、コード読取部１３が、これらを二値化することで、図１４（ｅ）に示すような第二のコード１５２のセルの二値の色の情報の配列を示す情報を取得することができる。ただし、図１４（ｄ）、および図１４（ｅ）は、説明のためのものであり、コード読取部１３がこのような画像等を作成する必要はない。
【０１７３】
そして、コード読取部１３は、図１４（ｄ）に示すような第一のコード１５１の色の情報の配列を読み取って、第一のコード１５１に対応した情報を取得する。
【０１７４】
また、コード読取部１３は、図１４（ｅ）に示すような第二のコード１５２の色の情報の配列を読み取って、第二のコード１５２に対応した情報を取得する。
【０１７５】
そして、出力部１４は、コード読取部１３が、第一のコード１５１、および第二のコード１５２から読み取った情報を出力する。
【０１７６】
なお、上記具体例３および具体例４等において、一のコードのセルの色の情報を、このセル内に配置される他のコードの複数のセルの色の情報の配列を用いてパターンマッチングにより取得する場合について説明したが、パターンマッチングを行なわずに、一のコードのセルの色の情報として、このセル内に配置される他のコードの複数のセルの色の情報の代表値を取得するようにしても良い。
【０１７７】
また、本実施の形態においては、上述した各具体例の多重化コードに多重化されているコード以外のコードを多重化するようにしてもよい。また、多重化する複数のコードの組合せは、、上記の具体例の組合せに限定されるものではなく、コードの色の情報がコード毎に取得でき、コードを個別に読み取ることができれば、どのような組合せであっても良い。
【０１７８】
また、上記の具体例においては、２または３のコードが多重化された多重化コードの例について説明したが、多重化コードは、２以上のコードが多重化されたものであればよく、例えば、４以上のコードが多重化されたものであっても良い。
【０１７９】
また、上記具体例においては、多重化コードに多重化されているコードのうちの一つから、色相と彩度との組合せを取得する場合を例に挙げて説明したが、多重化コードに多重化されているコードのうちの色相が共通であるセルで構成される一のコードから色相を取得するようにし、多重化コードに多重化されているコードのうちの彩度が共通であるセルで構成される一のコードから彩度を取得するようにし、多重化コードに多重化されているコードのうちの色相および彩度が共通であるセルで構成される一のコードから色相または彩度を取得するようにしてもよい。
【０１８０】
また、上記具体例１〜２等において、一方のコードのセルから、色の情報として色相と彩度の情報を取得し、他方のコードのセルから、色の情報として明度の情報を取得する場合について説明したが、これらのコードの少なくとも一方のセルから、セル内の色全体の情報（例えば、ＨＳＢ値やＲＧＢ値等）を取得するようにしても良い。また、セルから取得する色の情報は、明度と、色相および彩度の組合せに限定されるものではなく、これら以外の色の情報を取得しても良い。例えば、色の情報として、色相と明度との組合せ等を取得しても良い。
【０１８１】
また、上記各具体例においては、多重化された一のコードの例として、色相と彩度との値の三つの組合せをセルに割り当てたコードを用いた場合について示しているが、多重化されたコードのセルに、色相と彩度との組合わせを割り当てる場合、その組合わせの数は、三つに限定されるものではなく、二以上であれば、その組合わせの数は問わない。
【０１８２】
なお、上記具体例においては、多重化コードが枠を有する場合について説明したが、多重化コードが配置されている領域が、多重化コードを撮影した画像から認識可能であれば、多重化コードは、枠を有していなくてもよい。
【０１８３】
また、上記具体例においては、複数のコードのセルを重ねて配置することで、複数のコードを多重化した場合について説明したが、一のコードの枠（図示せず）に対して、他の１以上のコードの複数のセルを配置することで、複数のコードを多重化しても良い。例えば、枠を有している一のコードの枠に対して、他のコードの、枠の幅よりも辺の長さが小さい複数のセルを配置しても良い。例えば、これらのセルが、色の情報として二値の明度を有するようにすることで、枠が配置されている領域内のセルから取得した色の情報の配列によって、情報を表すことが可能となる。なお、一のコードが配置されている領域を検出する際には、例えば、枠の外側や内側の輪郭を検出するようにすることで、枠としての本来の機能を保持することも可能である。
【０１８４】
また、上記具体例１〜５においては、多重化されているコードのセルの形状が正方形である場合を例に挙げて示したが、各コードのセルの形状はどのような形状であってもよい。また、セルの配列パターン等は問わない。
【０１８５】
以上、本実施の形態においては、セルのサイズがコード毎に異なっている複数のコードを、１以上のセルが、異なるコードの１以上のセルと重なるよう多重化し、複数のコード毎に取得される各コードが有する複数のセルの色の情報の配列が、それぞれ情報を表すようにしたことにより、異なるコードを重ねて配置することが可能となり、コードの大きさを増加させることなく、コードの情報量を増加させることができる。
【０１８６】
また、本実施の形態においては、一のコードのセル内に、このセルよりも小さいサイズのセルを有する他のコードの複数のセルを配置することにより、複数のコードが階層化されるよう多重化することができる。これにより、例えば、多重化コードから読み取れる情報の階層を、コードを読み取る際の距離に応じて変化させることができる。例えば、セルのサイズをコードの階層が下位になる毎に小さくなるようにすることにより、コードを読み取る際のコードとの距離が近づくにつれて、多重化されている複数のコードのうちの、セルのサイズがより小さい階層が下位のコードを順次読み取れるようにすることが可能となる。
【０１８７】
なお、上記実施の形態において、各処理（各機能）は、単一の装置（システム）によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【０１８８】
また、上記実施の形態では、多重化コード読取装置がスタンドアロンである場合について説明したが、多重化コード読取装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。
【０１８９】
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、格納部（例えば、ハードディスクやメモリ等の記録媒体）にアクセスしながらプログラムを実行してもよい。
【０１９０】
なお、上記各実施の形態における多重化コード読取装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、色の情報を取得可能な複数の領域であるセルを有する複数のコードが多重化された多重化コードであって、複数のコードが有するセルのサイズが、コード毎に異なっており、複数のコードがそれぞれ有するセルのうちの１以上のセルは、異なるコードの１以上のセルと重なっており、複数のコード毎に取得される各コードが有する複数のセルの色の情報の配列が、各コードに対応する情報を表す多重化コードを撮影した画像を取得する画像取得部と、画像取得部が取得した多重化コードの画像から、多重化コードに含まれる複数のコードのそれぞれが有する複数のセルの色の情報を、各コード毎に取得するセル情報取得部と、セル情報取得部が複数のコード毎に取得したセルの色の情報を用いて、各コードに対応付けられた情報を取得するコード読取部と、コード読取部が取得した情報を出力する出力部として機能させるためのプログラムである。
【０１９１】
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
【０１９２】
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【０１９３】
図１５は、上記プログラムを実行して、上記実施の形態による多重化コード読取装置を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
【０１９４】
図１５において、コンピュータシステム９００は、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）ドライブ９０５を含むコンピュータ９０１と、キーボード９０２と、マウス９０３と、モニタ９０４とを備える。
【０１９５】
図１６は、コンピュータシステム９００の内部構成を示す図である。図１６において、コンピュータ９０１は、ＣＤ−ＲＯＭドライブ９０５に加えて、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９１１と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ９１２と、ＭＰＵ９１１に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１３と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク９１４と、ＭＰＵ９１１、ＲＯＭ９１２等を相互に接続するバス９１５とを備える。なお、コンピュータ９０１は、ＬＡＮへの接続を提供する図示しないネットワークカードを含んでいてもよい。
【０１９６】
コンピュータシステム９００に、上記実施の形態による多重化コード読取装置等の機能を実行させるプログラムは、ＣＤ−ＲＯＭ９２１に記憶されて、ＣＤ−ＲＯＭドライブ９０５に挿入され、ハードディスク９１４に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ９０１に送信され、ハードディスク９１４に記憶されてもよい。プログラムは実行の際にＲＡＭ９１３にロードされる。なお、プログラムは、ＣＤ−ＲＯＭ９２１、またはネットワークから直接、ロードされてもよい。
【０１９７】
プログラムは、コンピュータ９０１に、上記実施の形態による多重化コード読取装置の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能（モジュール）を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム９００がどのように動作するのかについては周知であり、詳細な説明は省略する。
【０１９８】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０１９９】
以上のように、本発明にかかる多重化コード等は、情報を読み取り可能なコード等として適しており、特に、色の情報を取得可能な複数のセルを有するコード等として有用である。
【符号の説明】
【０２００】
１  多重化コード読取装置
１１  画像取得部
１２  セル情報取得部
１３  コード読取部
１４  出力部
１００  多重化コード
１０１、１３１、１５１  第一のコード
１０２、１３２、１５２  第二のコード
１０９、１４９  枠
１１２、１３３  第三のコード
１３３ａ  セル
１４４  ＱＲコード
【図１】
2019008564.tif 000003
【図２】
2019008564.tif 000004
【図３】
2019008564.tif 000005
【図４】
2019008564.tif 000006
【図５】
2019008564.tif 000007
【図６】
2019008564.tif 000008
【図７】
2019008564.tif 000009
【図８】
2019008564.tif 000010
【図９】
2019008564.tif 000011
【図１０】
2019008564.tif 000012
【図１１】
2019008564.tif 000013
【図１２】
2019008564.tif 000014
【図１３】
2019008564.tif 000015
【図１４】
2019008564.tif 000016
【図１５】
2019008564.tif 000017
【図１６】
2019008564.tif 000018