(57)【要約】【課題】情報量の多いコードを生成する。【解決手段】コード読取装置は、Ｍ個（Ｍは２以上の自然数）の小領域を含み、Ｃ色（Ｃは２以上の自然数）に色分けされたＮ個（Ｎは２以上の自然数）の中領域を含むコードを読み取る読取部を有する。コード読取装置は、前記中領域に含まれる色が前記Ｃ色のいずれであるかを特定する識別部を有する。また、コード読取装置は、前記小領域が前記Ｃ色のうちいずれにも該当しない所定の色で塗り潰されているか否かを判定する判定部をさらに有する。【選択図】図７
2018195032.tif 000002
【特許請求の範囲】
【請求項１】
Ｍ個（Ｍは２以上の自然数）の小領域を含み、Ｃ色（Ｃは２以上の自然数）に色分けされたＮ個（Ｎは２以上の自然数）の中領域を含むコードを読み取る読取部と、
前記中領域に含まれる色が前記Ｃ色のいずれであるかを特定する識別部と、
前記小領域が前記Ｃ色のうちいずれにも該当しない所定の色で塗り潰されているか否かを判定する判定部と
を有するコード読取装置。
【請求項２】
前記判定部は、前記中領域に含まれる前記各小領域に所定のルールで割り当てられた順序を特定し、前記小領域が前記所定の色で塗り潰されているか否かに応じて割り当てた符号を割り当てられた前記順序に従って並べた第１符号列を生成することを特徴とする請求項１に記載のコード読取装置。
【請求項３】
前記識別部は、前記中領域に所定のルールで割り当てられた順序を特定し、前記中領域が前記Ｃ色のうちいずれの色を含むかに応じて割り当てた符号を割り当てられた前記順序に従って並べた第２符号列を生成することを特徴とする請求項１又は２に記載のコード読取装置。
【請求項４】
前記識別部は、前記中領域に含まれる前記Ｍ個の小領域のうち、少なくともいずれか１つが前記Ｃ色のいずれかであることを識別した場合に、前記中領域に含まれる色が識別された前記Ｃ色のいずれかであると識別することを特徴とする請求項１乃至３のいずれか１つに記載のコード読取装置。
【請求項５】
前記読取部は、前記小領域がＭ行Ｎ列の形状で並ぶ二次元コードを読み取ることを特徴とする請求項１乃至４のいずれか１つに記載のコード読取装置。
【請求項６】
前記判定部は、前記小領域が黒色に塗り潰されているか否かを判定することを特徴とする請求項１乃至５のいずれか１つに記載のコード読取装置。
【請求項７】
符号化する情報を変換した数値を、Ｎ桁の［（２のＭ乗）−１］進数（Ｎ及びＭは２以上の自然数）に変換し、前記Ｎ桁の［（２のＭ乗）−１］進数の各桁の値をそれぞれＭ桁の２進数に変換する変換部と、
Ｃ色（Ｃは２以上の自然数）に色分けされたＭ個の小領域を含むＮ個の中領域を含むコードのうち、前記２進数の値に従い、各小領域に前記Ｃ色のうちいずれにも該当しない所定の色を印刷するか否かを判定する判定部と、
を有するコード生成装置。
【請求項８】
前記変換部は、前記各中領域を所定のルールに基づいて順序づけるとともに、前記各中領域に含まれる各小領域を所定のルールに基づいて順序づけ、
前記判定部は、前記Ｍ桁の２進数の値が１である場合に、前記２進数の順序に対応する前記順序づけられた小領域を前記所定の色に印刷すると判定することを特徴とする請求項７に記載のコード生成装置。
【請求項９】
前記変換部は、前記各中領域を一番左側の中領域から右側の中領域へと順序づけ、前記各小領域を一番上の小領域から下方向の小領域の行へと順序づけることを特徴とする請求項７に記載のコード生成装置。
【請求項１０】
前記判定部は、前記コードに予め表示された各小領域の第１の境界線の位置に応じて、第２の境界線を印刷することを特徴とする請求項７乃至９のいずれか１つに記載のコード生成装置。
【請求項１１】
前記判定部は、前記第２の境界線の幅を印刷装置の印刷特性に応じて設定することを特徴とする請求項１０に記載のコード生成装置。
【請求項１２】
第１の符号化する情報を変換した数値に応じて、カラーパターンで表現する色の数Ｃ（Ｃは２以上の自然数）と、中領域の数Ｎ（Ｎは２以上の自然数）とを決定する第１決定部と、
第２の符号化する情報を変換した数値に応じて、前記中領域に含まれる小領域の数Ｍ（Ｍは２以上の自然数）を決定する第２決定部と、
決定した前記Ｍ個の小領域を含む前記Ｎ個の中領域を、それぞれ前記色Ｃのうちいずれかに決定することを指定する情報を出力する出力部と、
を有するコード生成装置。
【請求項１３】
前記出力部は、前記小領域の境界線の幅を印刷装置の印刷特性に応じて設定し、前記境界線を前記色Ｃのうちいずれにも該当しない所定の色で印刷することを指定する情報を出力することを特徴とする請求項１２に記載のコード生成装置。
【請求項１４】
色情報を保持するＭ個の小領域（Ｍは２以上の自然数）を含む、Ｎ個の中領域（Ｎは２以上の自然数）を含む印刷物であって、
前記中領域に含まれる前記Ｍ個の小領域の全てに、Ｃ色（Ｃは２以上の自然数）のうちいずれか１色が印刷されることにより、前記中領域の色情報を一つ特定し、
前記中領域に含まれる前記Ｍ個の小領域のうちＭ個未満の小領域に、前記Ｃ色のいずれにも該当しない所定の色が印刷されることにより、特定された前記中領域の色情報を保持しながら、前記小領域の塗り潰し情報を特定する
ことを特徴とする印刷物。
【請求項１５】
コンピュータが、
Ｍ個（Ｍは２以上の自然数）の小領域を含み、Ｃ色（Ｃは２以上の自然数）に色分けされたＮ個（Ｎは２以上の自然数）の中領域を含むコードを読み取り、
前記中領域に含まれる色が前記Ｃ色のいずれであるかを特定し、
前記小領域が前記Ｃ色のうちいずれにも該当しない所定の色で塗り潰されているか否かを判定する
処理を行うコード読取方法。
【請求項１６】
コンピュータが、
符号化する情報を変換した数値を、Ｎ桁の［（２のＭ乗）−１］進数（Ｎ及びＭは２以上の自然数）に変換し、前記Ｎ桁の［（２のＭ乗）−１］進数の各桁の値をそれぞれＭ桁の２進数に変換し、
Ｃ色（Ｃは２以上の自然数）に色分けされたＭ個の小領域を含むＮ個の中領域を含むコードのうち、前記２進数の値に従い、各小領域に前記Ｃ色のうちいずれにも該当しない所定の色を印刷するか否かを判定する
処理を行うコード生成方法。
【請求項１７】
コンピュータに、
Ｍ個（Ｍは２以上の自然数）の小領域を含み、Ｃ色（Ｃは２以上の自然数）に色分けされたＮ個（Ｎは２以上の自然数）の中領域を含むコードを読み取り、
前記中領域に含まれる色が前記Ｃ色のいずれであるかを特定し、
前記小領域が前記Ｃ色のうちいずれにも該当しない所定の色で塗り潰されているか否かを判定する
処理を行わせるコード読取プログラム。
【請求項１８】
コンピュータに、
符号化する情報を変換した数値を、Ｎ桁の［（２のＭ乗）−１］進数（Ｎ及びＭは２以上の自然数）に変換し、前記Ｎ桁の［（２のＭ乗）−１］進数の各桁の値をそれぞれＭ桁の２進数に変換し、
Ｃ色（Ｃは２以上の自然数）に色分けされたＭ個の小領域を含むＮ個の中領域を含むコードのうち、前記２進数の値に従い、各小領域に前記Ｃ色のうちいずれにも該当しない所定の色を印刷するか否かを判定する
処理を行わせるコード生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コード読取装置、コード生成装置、印刷物、コード読取方法、コード生成方法、コード読取プログラム及びコード生成プログラムに関する。
【背景技術】
【０００２】
複数の色を配置した二次元コードを利用する技術が知られている。例えば、カラーの分解能を有しない読取装置で読み取ってもカラーの二次元バーコードを解析できるようにする技術が知られている。当該技術においては、黒セルエリアおよびカラーセルエリアを有する統合二次元バーコードを生成する。カラーセルエリアには、背景の部分でないセルとして複数の色のセルを用いて特定の情報をコード化した二次元バーコードであるカラー二次元バーコードを配置する。黒セルエリアには、これらの複数の色のそれぞれのグレースケールに変換した場合の特性をコード化したモノクロの二次元バーコードであるモノクロ二次元バーコードを配置する。
【０００３】
また、情報コードにおけるコード領域内の少なくとも一部を、データ記録領域に記録された情報とは別の追加情報を記録可能な情報追加領域として使用できる技術も知られている。当該技術において、情報コードの内部には、予め定められた形状の特定パターンが配置される特定パターン領域と、複数種類のセルによってデータを記録するデータ記録領域とが設けられている。また、当該技術において、情報コードの内部には、データ記録領域に記録された情報とは別の追加情報を記録可能な情報追加領域も設けられている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−４１３４３号公報
【特許文献２】特開２０１５−８４１９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記技術においては、生成されるコードの情報量を確保できないという問題が生じる。例えば、カラーの分解能を有しない読取装置で解析できるカラーの二次元コードにおいては、カラーに関する情報が失われる。また、情報追加領域を使用する技術においては、情報追加領域に相当する部分をデータ記録領域として利用できない。
【０００６】
一つの側面では、情報量の多いコードを生成できるコード読取装置、コード生成装置、印刷物、コード読取方法、コード生成方法、コード読取プログラム及びコード生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
一つの態様において、コード読取装置は、Ｍ個（Ｍは２以上の自然数）の小領域を含み、Ｃ色（Ｃは２以上の自然数）に色分けされたＮ個（Ｎは２以上の自然数）の中領域を含むコードを読み取る読取部を有する。コード読取装置は、前記中領域に含まれる色が前記Ｃ色のいずれであるかを特定する識別部を有する。また、コード読取装置は、前記小領域が前記Ｃ色のうちいずれにも該当しない所定の色で塗り潰されているか否かを判定する判定部をさらに有する。
【発明の効果】
【０００８】
一つの態様によれば、情報量の多いコードを生成できる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例１における二次元コードの一例を示す図である。
【図２】図２は、実施例１におけるモノクロパターン印刷前のカラーパターンの一例を示す図である。
【図３】図３は、実施例１において印刷されるモノクロパターンの一例を示す図である。
【図４】図４は、実施例１における二次元コードのセルグループの一例を示す図である。
【図５】図５は、実施例１においてエラーとなるセルグループの一例を示す図である。
【図６】図６は、実施例１におけるコード処理システムの一例を示す図である。
【図７】図７は、実施例１における管理サーバの一例を示す図である。
【図８】図８は、実施例１におけるカラーパターンＤＢの一例を示す図である。
【図９】図９は、実施例１における色情報テーブルの一例を示す図である。
【図１０】図１０は、実施例１におけるモノクロパターンＤＢの一例を示す図である。
【図１１】図１１は、実施例１におけるカラーパターン印刷装置の一例を示す図である。
【図１２】図１２は、実施例１におけるモノクロパターン印刷装置の一例を示す図である。
【図１３】図１３は、実施例１におけるコードリーダの一例を示す図である。
【図１４】図１４は、実施例１におけるデコード処理の一例を示す図である。
【図１５】図１５は、実施例１におけるモノクロパターンの印刷処理の一例を示すフローチャートである。
【図１６】図１６は、実施例１における読取処理の一例を示すフローチャートである。
【図１７】図１７は、実施例１における宅配便のトラッキングシステムの一例を示す図である。
【図１８】図１８は、実施例２において生成される二次元コードの一例を示す図である。
【図１９】図１９は、実施例２において生成される二次元コードの別の一例を示す図である。
【図２０】図２０は、実施例２における管理サーバの一例を示す図である。
【図２１】図２１は、実施例２におけるカラー情報スクランブルＤＢの一例を示す図である。
【図２２】図２２は、実施例２におけるモノクロ情報スクランブルＤＢの一例を示す図である。
【図２３】図２３は、実施例２におけるカラーパターン印刷処理の一例を示すフローチャートである。
【図２４】図２４は、実施例３における異なる境界線幅で印刷された二次元コードの一例を示す図である。
【図２５】図２５は、実施例３における管理サーバの一例を示す図である。
【図２６】図２６は、実施例３における印刷特性ＤＢの一例を示す図である。
【図２７】図２７は、実施例３におけるモノクロパターン印刷処理の一例を示すフローチャートである。
【図２８】図２８は、実施例４におけるその他の二次元コードの形状の一例を示す図である。
【図２９】図２９は、実施例４における位置特定セルを含む二次元コードの一例を示す図である。
【図３０】図３０は、実施例４におけるセル配置選択画面の一例を示す図である。
【図３１】図３１は、コンピュータのハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本願の開示するコード読取装置、コード生成装置、印刷物、コード読取方法、コード生成方法、コード読取プログラム及びコード生成プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、以下に示す各実施例は、矛盾を起こさない範囲で適宜組み合わせても良い。
【実施例１】
【００１１】
まず、本実施例において印刷され又は読み取られる二次元コードについて、図１乃至図５を用いて説明する。本実施例においては、複数のセルを有し、各セルが複数の色のいずれかで印刷された二次元コードを用いる。
【００１２】
例えば、カメレオンコード（商標）と呼ばれる二次元コードは、Ｍ行×Ｎ列の略正方形状のセルを有する略矩形状であり、各セルはマゼンダ（ｍ）、シアン（ｃ）、イエロー（ｙ）、ブラック（ｂ）の４色のうちいずれかに印刷される。
【００１３】
カメレオンコードにおいては、各セルの色は、例えばシアンは２進数で「００」、イエローは「０１」、マゼンダは「１０」、ブラックは「１１」というように２ビットの情報を表現できる。すなわち、Ｍ行×Ｎ列のカメレオンコードは、２×Ｍ×Ｎビットの情報を表現できる。すなわち、カメレオンコードによって表現できる情報の種類の数は、カメレオンコードに含まれるセルの数に左右されるので、表現しようとする情報の種類の数に応じて、カメレオンコードのＭ行×Ｎ列のサイズが設定される。なお、実際にＭ行×Ｎ列のカメレオンコードを用いる際には、エラー訂正用の情報も記録されるので、実際に記録できる情報は２×Ｍ×Ｎビットより小さくなるが、以下においては説明を簡略化するため、２×Ｍ×Ｎビットの情報を記憶する例について説明する。
【００１４】
図１は、実施例１における二次元コードの一例を示す図である。図１に示すように、本実施例における二次元コード１０００は、複数の略正方形状のセルが４行×８列に並べられた略矩形状のコードである。
【００１５】
本実施例において、二次元コード１０００に含まれるそれぞれのセルは、いずれかのセルグループに属するようにグループ分けされる。本実施例におけるセルグループは、縦に並んだ４つのセルから構成される。例えば、セル１０１１及び１０１３は、セルグループ１０１０に属する。すなわち、本実施例に示す二次元コードにおいて、一つの列が一つのセルグループを構成する、なお、セルは小領域の一例であり、セルグループは中領域の一例である。
【００１６】
本実施例において、各セルは、それぞれマゼンダ、シアン又はイエローのいずれか１つの色が印刷され、又はブラックで塗り潰される。例えば、セル１０１３にはマゼンダが印刷され、セル１０２４にはシアンが印刷され、セル１０３１にはイエローが印刷される。また、セル１０１１はブラックで塗り潰されている。なお、以下の説明において、別途説明する場合を除き、セル１０１３と同様の網掛けが付されたセルはマゼンダで印刷されたセルであり、セル１０２４と同様の網掛けが付されたセルはシアンで印刷されたセルである。また、別途説明する場合を除き、セル１０３１と同様に網掛けが付されていないセルはイエローで印刷されたセルであり、セル１０１１と同様に塗り潰されたセルはブラックで印刷されたセルである。なお、マゼンダ、シアン及びイエローは、Ｃ色の一例であり、ブラックは所定の色の一例である。
【００１７】
本実施例において、図１に示すような二次元コードは、例えば各セルグループがマゼンダ、シアン又はイエローの色で印刷された図２に示すようなカラーパターンが印刷された台紙に、ブラックの領域を含むモノクロパターンを上書き印刷することにより生成される。図２は、実施例１におけるモノクロパターン印刷前のカラーパターンの一例を示す図である。なお、以下において、カラーパターン及びモノクロパターンを区別せずに表現する場合、単に「パターン」と表記する場合がある。
【００１８】
図２に示すように、モノクロパターン印刷前のカラーパターン２０００においては、縦一列に並んだセルグループに属する全てのセルが、それぞれマゼンダ、シアン及びイエローのうちいずれかの色に印刷されている。例えば、セルグループ２０１０に含まれる全てのセルにはマゼンダが印刷され、セルグループ２０３０に含まれる全てのセルにはイエローが印刷され、セルグループ２０８０に含まれる全てのセルにはシアンが印刷される。
【００１９】
図３は、実施例１において印刷されるモノクロパターンの一例を示す図である。図３に示すモノクロパターン３０００は、ブラックで塗り潰されるセルと、塗り潰されないセルとの組み合わせを含む。例えば、セル３０１１はブラックで塗り潰されるが、セル３０３１はブラックで塗り潰されない。また、セル間の境界線３０９９も、所定の太さでブラックに塗り潰される。
【００２０】
図３に示すようなモノクロパターンを、図２に示すようなカラーパターンが印刷された台紙に上書き印刷することにより、図１に示すような二次元コードが印刷される。例えば、図１に示すセル１０１１は、モノクロパターン３０００により上書き印刷されるのでブラックで塗り潰されるが、セル１０３１はモノクロパターン３０００により上書き印刷されないのでイエローのまま変更されない。
【００２１】
なお、本実施例における二次元コードに含まれるセルグループの数、及びセルグループに含まれるセルの数も、カメレオンコードのサイズと同様に、カラーパターン及びモノクロパターンのそれぞれにおいて表現しようとする情報の種類の数に応じて設定される。本実施例においては、４行×８列の３２個のセルを含む二次元コードについて説明するが、二次元コードに含まれるセルの数は、これに限られない。
【００２２】
図４は、実施例１における二次元コードのセルグループの一例を示す図である。図４において、（ａ）は図１において最も左側に位置するセルグループ１０１０を切り出したものであり、（ｂ）乃至（ｈ）は、それぞれ図１における左から２番目に位置するセルグループ乃至最も右側に位置するセルグループを切り出したものである。
【００２３】
図４に示すいずれのセルグループ（ａ）乃至（ｈ）においても、少なくともいずれか１つのセルは、ブラックで上書きされることなく、図２に示すカラーパターンにおいて印刷された色を保持している。すなわち、本実施例における二次元コードにおいては、各セルグループは、必ずシアン、マゼンダ及びイエローのうちいずれか１つの色に関する情報を保持する。例えば、本実施例において、後に説明するコードリーダ４００が、色に関する情報を保持しないセルグループを含む二次元コード、又は複数の色に関する情報を保持するセルグループを含む二次元コードを読み取ると、エラーが発生する。
【００２４】
図５は、実施例１においてエラーとなるセルグループの一例を示す図である。例えば、図５の（ｘ）に示すように、セルグループに含まれる全てのセルがブラックで印刷された場合、セルグループが色の情報を保持しないため、エラーとなる。また、例えば図５の（ｙ）及び（ｚ）に示すように、セルグループに含まれる各セルが、それぞれブラック以外の異なる色で印刷された場合、セルグループが複数の色の情報を保持するため、エラーとなる。
【００２５】
このように、本実施例においては、グループ分けされたセル別にカラー印刷された台紙に、グループ内で１セル以上残しつつ所定セルを塗り潰すモノクロ印刷を行うので、カラーとモノクロを併用した情報量の多いコードを生成できる。
【００２６】
［機能ブロック］
次に、本実施例におけるコード処理システムについて、図６を用いて説明する。図６は、実施例１におけるコード処理システムの一例を示す図である。図６に示すコード処理システム１は、管理サーバ１００と、カラーパターン印刷装置２００と、モノクロパターン印刷装置３００と、コードリーダ４００とを有する。
【００２７】
本実施例において、管理サーバ１００は、カラーパターン印刷装置２００、モノクロパターン印刷装置３００及びコードリーダ４００と、無線又は有線の通信にて通信可能に接続される。例えば、図６に示す管理サーバ１００は、カラーパターン印刷装置２００及びモノクロパターン印刷装置３００と有線通信ネットワークを通じて接続され、コードリーダ４００と無線通信ネットワークを通じて接続される。
【００２８】
なお、図６においては、カラーパターン印刷装置２００、モノクロパターン印刷装置３００及びコードリーダ４００をそれぞれ１台ずつ含むコード処理システム１を示したが、実施の形態はこれに限られない。例えば、コード処理システム１が、複数のカラーパターン印刷装置２００ａ乃至２００ｎ、モノクロパターン印刷装置３００ａ乃至３００ｎ及びコードリーダ４００ａ乃至４００ｎ（ｎは２以上の任意の自然数）を含むような構成であってもよい。
【００２９】
本実施例におけるコード処理システム１は、例えば宅配便事業者と、宅配便事業者の顧客であり、荷物を発送する複数の発送事業者との間で用いられる。本実施例において生成される二次元コードは、宅配便の伝票に付され、発送事業者を一意に識別する発送元番号と、各発送事業者が発送する荷物及び配達先受取者を一意に識別する荷物番号とを含む宅配便の伝票番号を表現する。本実施例において、発送元番号は宅配便事業者により事前に割当てられ、また荷物番号は、発送事業者が荷物を配送する度に発行される。以下においては、カラーパターンが発送元番号を表現し、各発送事業者が発送する荷物及び配達先受取者を一意に識別する荷物番号を表現する場合について説明する。
【００３０】
図６に示す管理サーバ１００は、カラーパターンと発送元番号との間でのエンコード及びデコードを行う。また、管理サーバ１００は、荷物番号を新たに発行するとともに、モノクロパターンと、各パターンで表現される識別番号との間でのエンコード及びデコードを行う。管理サーバ１００は、例えば宅配便事業者が管理する。
【００３１】
管理サーバ１００は、カラーパターン印刷装置２００から発送元番号を含むカラーパターンの出力要求を受け付けると、発送元番号をカラーパターンにエンコードした結果を出力する。また、管理サーバ１００は、モノクロパターン印刷装置３００から出力要求を受け付けると、新たに荷物番号を発行するとともに、荷物番号をモノクロパターンにエンコードした結果を出力する。さらに、管理サーバ１００は、コードリーダ４００から二次元コードの読取結果を受信すると、読取結果に対応するパターンをデコードして、デコード結果を送信する。
【００３２】
図６に示すカラーパターン印刷装置２００は、例えば宅配便事業者が管理する。カラーパターン印刷装置２００は、図示しない操作者から発送元番号に対応するカラーパターンの印刷指示を受け付けると、管理サーバ１００に発送元番号を含むカラーパターンの出力要求を送信する。カラーパターン印刷装置２００は、管理サーバ１００からエンコードされたカラーパターンを受信すると、例えば図２に示すようなカラーパターンを台紙に印刷する。
【００３３】
図６に示すモノクロパターン印刷装置３００は、例えば各発送事業者が管理する。モノクロパターン印刷装置３００は、図示しない操作者からモノクロパターンの印刷指示を受け付けると、管理サーバ１００にモノクロパターンの出力要求を送信する。モノクロパターン印刷装置３００は、管理サーバ１００から荷物番号に対応するモノクロパターンを受信すると、例えば図３に示すようなモノクロパターンを、宅配便事業者から配布される、図２に示すようなカラーパターンが印刷された台紙に上書き印刷する。
【００３４】
図６に示すコードリーダ４００は、例えば宅配便事業者の集荷担当者、配送センターの担当者及び配達担当者が携帯する端末である。コードリーダ４００は、図１に示すような二次元コードを読み取ると、読取結果を管理サーバ１００に送信する。コードリーダ４００は、管理サーバ１００から読み取った二次元コードのデコード結果を受信して出力する。
【００３５】
次に、本実施例における管理サーバの一例について、図７を用いて説明する。図７は、実施例１における管理サーバの一例を示す図である。図７に示すように、本実施例における管理サーバ１００は、通信部１１０と、記憶部１２０と、制御部１３０とを有する。
【００３６】
通信部１１０は、有線又は無線を問わず、カラーパターン印刷装置２００、モノクロパターン印刷装置３００、コードリーダ４００など、その他のコンピュータ等との通信を制御する。通信部１１０は、例えばＮＩＣ（Network  Interface  Card）等の通信インタフェース等である。
【００３７】
記憶部１２０は、例えば制御部１３０が実行するプログラムなどの各種データなどを記憶する。また、記憶部１２０は、カラーパターンＤＢ１２１及びモノクロパターンＤＢ１２２を有する。記憶部１２０は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤ（Hard  Disk  Drive）などの記憶装置に対応する。
【００３８】
カラーパターンＤＢ１２１は、カラーパターンと、カラーパターンにより表現される情報とを対応付けて記憶する。図８は、実施例１におけるカラーパターンＤＢの一例を示す図である。図８に示すように、カラーパターンＤＢ１２１は、例えば、「色情報」と、「変換後データ」と、「発送元番号」とを対応付けて記憶する。なお、カラーパターンＤＢ１２１に記憶される情報は、例えば図示しない管理サーバ１００の管理者により入力される。
【００３９】
図８において、「色情報」は、二次元コードに印刷されるカラーパターンの並びを示す。図８に示す例は、縦一列のセルグループが、横に並んだカラーパターンにおける、各列のセルグループの色の並びを示す。例えば色情報が「ｍｍｍｍｍｍｍｙ」である場合、一番左の列から７番目の列までの７つの列は「マゼンダ」であり、一番右側の列は「イエロー」であることを示す。
【００４０】
図８において、「変換後データ」は、色情報に示す色に対応する数値を示す。「発送元番号」は、変換後データに対応する、発送事業者の発送元番号を示す。
【００４１】
本実施例における変換後データは、マゼンダ、シアン、イエローの３色に合わせた３進数で示される。変換後データは、例えば図９に示すような色情報テーブルに示す各色に対応する。図９は、実施例１における色情報テーブルの一例を示す図である。図９に示すように、本実施例において、マゼンダ（ｍ）は「０」に、シアン（ｃ）は「１」に、イエロー（ｙ）は「２」に、それぞれ対応する。すなわち、図８に示すように、例えば色情報が「ｍｍｍｍｍｍｍｃ」である場合の変換後データは「０００００００１」であり、色情報が「ｙｙｙｙｙｙｙｙ」である場合の変換後データは「２２２２２２２２」である。
【００４２】
なお、本実施例においてカラーパターンＤＢ１２１に含まれるレコードの数、すなわちカラーパターンによって表現できる情報の種類の数は、最大で３のＮ乗（Ｎは１つのカラーパターンに含まれるセルグループの数）である。
【００４３】
図６に戻って、モノクロパターンＤＢ１２２は、モノクロパターンと、モノクロパターンにより表現される情報とを対応付けて記憶する。図１０は、実施例１におけるモノクロパターンＤＢの一例を示す図である。図１０に示すように、モノクロパターンＤＢ１２２は、例えば、「１行目」、「２行目」、「３行目」及び「４行目」の各項目と、「変換後データ」とを対応付けて記憶する。なお、モノクロパターンＤＢ１２２に記憶される情報は、例えば図示しない管理サーバ１００の管理者により入力される。
【００４４】
図１０において、「１行目」乃至「４行目」は、二次元コードの各セルグループにおける各セルを示す。図１０に示す例は、縦一列のセルグループに含まれる、上から１行目、２行目、３行目及び４行目の各セルに対応する。「１行目」乃至「４行目」は、それぞれのセルが塗り潰されるか否かを記憶する。図１０において、「黒（ｂ）」は、当該セルに「黒（ｂ：ブラック）」で上書き印刷されることを示し、「黒以外」は、当該セルに上書き印刷がされない、すなわちカラーパターンのマゼンダ、シアン又はイエローの色が残ることを示す。
【００４５】
図１０において、「変換後データ」は、１行目乃至４行目の各セルを黒に塗り潰すか否かのパターンの組み合わせに対応する数値を示す。本実施例においては、変換後データは、「黒（ｂ）」が「０」に、「黒以外」が「１」に対応する２進数で示される。すなわち、１行目乃至３行目が「黒（ｂ）」であり、４行目が「黒以外」である場合の変換後データは「０００１」となる。
【００４６】
なお、本実施例において、１つのセルグループがＭ個のセルを含む場合、モノクロパターンＤＢ１２２に含まれるレコードの数、すなわちモノクロパターンによって表現できる情報の種類の数は、最大で（２＾Ｍ−１）である。なお、２のＭ乗から１を引くのは、当該セルグループに含まれる色を特定できなくなるため、セルグループに含まれる全てのセルが「黒（ｂ）」となるレコードを除外することを示す。
【００４７】
また、本実施例における二次元コードは、複数のセルグループを含むので、二次元コードのモノクロパターンにより表現される情報は、各セルグループの変換後データを演算した値となる。例えば、Ｎ個のセルグループを含み、１つのセルグループがＭ個のセルを含む二次元コードのモノクロパターンにより表現される情報ＭＩは、以下のような式（１）により求められる。なお、以下の式（１）において、Ｍ（ｘ）はｘ番目のセルグループのモノクロパターンをデコードした値を示す。
【００４８】
ＭＩ  ＝  （２＾Ｍ−１）＾（Ｎ−１）＊Ｍ（１）＋（２＾Ｍ−１）＾（Ｎ−２）＊Ｍ（２）＋…（２＾Ｍ−１）＾０＊Ｍ（Ｎ）  …  式（１）
【００４９】
図７に戻って、制御部１３０は、管理サーバ１００の全体的な処理を司る処理部である。制御部１３０は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されるようにしてもよい。
【００５０】
制御部１３０は、受付部１３１、エンコード部１３２及びデコード部１３３を有する。なお、受付部１３１、エンコード部１３２及びデコード部１３３は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
【００５１】
受付部１３１は、カラーパターン印刷装置２００、モノクロパターン印刷装置３００及びコードリーダ４００からの要求に対応する。
【００５２】
例えば、受付部１３１は、通信部１１０を通じて、カラーパターン印刷装置２００からカラーパターンの出力要求を受信すると、出力要求に含まれる発送元番号をエンコード部１３２に出力する。受付部１３１は、エンコード部１３２からエンコードされたパターンの出力を受けると、エンコードされたパターンを、通信部１１０を通じてカラーパターン印刷装置２００又はモノクロパターン印刷装置３００に出力する。
【００５３】
例えば、受付部１３１は、通信部１１０を通じて、モノクロパターン印刷装置３００からモノクロパターンの出力要求を受信すると、荷物番号を新たに発行し、エンコード部１３２に出力する。受付部１３１は、エンコード部１３２からエンコードされたパターンの出力を受けると、エンコードされたパターンを、通信部１１０を通じてカラーパターン印刷装置２００又はモノクロパターン印刷装置３００に出力する。
【００５４】
また、受付部１３１は、通信部１１０を通じて、コードリーダ４００から二次元コードの読取結果を受信すると、読取結果をデコード部１３３に出力する。受付部１３１は、デコード部１３３からデコード結果の出力を受けると、通信部１１０を通じてデコード結果をコードリーダ４００に出力する。
【００５５】
次に、エンコード部１３２は、発送元番号又は荷物番号をパターンにエンコードする。エンコード部１３２は、受付部１３１から発送元番号の入力を受けると、カラーパターンＤＢ１２１を参照し、発送元番号に対応する変換後データを取得する。次に、エンコード部１３２は、変換後データに対応する色情報を、エンコード結果として受付部１３１に出力する。なお、エンコード部１３２は、第１決定部の一例である。
【００５６】
また、エンコード部１３２は、受付部１３１から荷物番号の入力を受けた場合、荷物番号を（２＾Ｍ−１）進法に変換する。そして、エンコード部１３２は、モノクロパターンＤＢ１２２を参照し、変換された各桁の数値に対応する変換後データを取得する。次に、エンコード部１３２は、各桁の変換後データに対応する塗り潰しに関する情報を、エンコード結果として受付部１３１に出力する。
【００５７】
次に、デコード部１３３は、二次元コードの読取結果をデコードする。デコード部１３３は、受付部１３１から二次元コードの読取結果の入力を受けると、カラーパターンＤＢ１２１を参照し、読取結果に含まれるカラーパターンに対応する変換後データを特定する。
【００５８】
また、デコード部１３３は、モノクロパターンＤＢ１２２を参照し、読取結果に含まれるモノクロパターンに対応する、各セルグループの変換後データを特定する。次に、デコード部１３３は、各セルグループの変換後データを、例えば式（１）を用いて演算した結果に対応する荷物番号を算出する。そして、デコード部１３３は、変換後データに対応する発送元番号及び算出された荷物番号を合成して、デコード結果として受付部１３１に出力する。
【００５９】
次に、本実施例におけるカラーパターン印刷装置２００の一例について、図１１を用いて説明する。図１１は、実施例１におけるカラーパターン印刷装置の一例を示す図である。図１１に示すように、本実施例におけるカラーパターン印刷装置２００は、通信部２１０と、操作部２１１と、表示部２１２と、カラープリンタ２１３と、記憶部２２０と、制御部２３０とを有する。
【００６０】
通信部２１０は、有線又は無線を問わず、管理サーバ１００など、その他のコンピュータ等との通信を制御する。通信部２１０は、例えばＮＩＣ等の通信インタフェース等である。
【００６１】
操作部２１１は、図示しないカラーパターン印刷装置２００の操作者から各種操作を受け付ける入力デバイスであり、例えばキーボードやマウス等である。操作部２１１は、操作者によって入力された、発送元番号などの情報や、印刷指示などの操作情報を、制御部２３０に出力する。
【００６２】
表示部２１２は、各種情報を表示するための表示デバイスであり、例えば液晶ディスプレイ等の表示デバイスである。表示部２１２は、制御部２３０から出力されたカラーパターンへのエンコード結果等の各種画面を表示する。なお、操作部２１１と表示部２１２とを一体化して、例えばタッチパネル等によって実現してもよい。
【００６３】
カラープリンタ２１３は、制御部２３０から出力されたカラーパターンを、台紙に印刷する。
【００６４】
記憶部２２０は、例えば制御部２３０が実行するプログラムなどの各種データなどを記憶する。記憶部２２０は、ＲＡＭ、ＲＯＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。
【００６５】
制御部２３０は、カラーパターン印刷装置２００の全体的な処理を司る処理部である。制御部２３０は、例えば、ＣＰＵやＭＰＵ等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部２３０は、例えば、ＡＳＩＣやＦＰＧＡ等の集積回路により実現されるようにしてもよい。
【００６６】
制御部２３０は、取得部２３１及びパターン出力部２３２を有する。なお、取得部２３１及びパターン出力部２３２は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
【００６７】
取得部２３１は、カラーパターンを取得する。取得部２３１は、例えば操作部２１１を通じて発送元番号の入力を受け付けると、通信部２１０を通じて管理サーバ１００に発送元番号を含む出力要求を送信する。取得部２３１は、エンコードされたカラーパターンを管理サーバ１００から取得して、パターン出力部２３２に出力する。
【００６８】
パターン出力部２３２は、取得したカラーパターンを出力する。パターン出力部２３２は、例えば取得したカラーパターンを表示部２１２を通じて表示させる。そして、パターン出力部２３２は、操作部２１１を通じて印刷指示の操作情報を受け付けると、カラープリンタ２１３に、取得したカラーパターンを印刷させる。
【００６９】
次に、本実施例におけるモノクロパターン印刷装置３００の一例について、図１２を用いて説明する。図１２は、実施例１におけるモノクロパターン印刷装置の一例を示す図である。図１２に示すように、本実施例におけるモノクロパターン印刷装置３００は、通信部３１０と、操作部３１１と、表示部３１２と、モノクロプリンタ３１３と、記憶部３２０と、制御部３３０とを有する。
【００７０】
通信部３１０は、有線又は無線を問わず、管理サーバ１００など、その他のコンピュータ等との通信を制御する。通信部３１０は、例えばＮＩＣ等の通信インタフェース等である。
【００７１】
操作部３１１は、図示しないモノクロパターン印刷装置３００の操作者から各種操作を受け付ける入力デバイスであり、例えばキーボードやマウス等である。操作部３１１は、操作者によって入力された印刷指示などの操作情報を、制御部３３０に出力する。
【００７２】
表示部３１２は、各種情報を表示するための表示デバイスであり、例えば液晶ディスプレイ等の表示デバイスである。表示部３１２は、制御部３３０から出力されたモノクロパターンへのエンコード結果等の各種画面を表示する。なお、操作部３１１と表示部３１２とを一体化して、例えばタッチパネル等によって実現してもよい。
【００７３】
モノクロプリンタ３１３は、制御部３３０から出力されたモノクロパターンを、台紙に印刷する。
【００７４】
記憶部３２０は、例えば制御部３３０が実行するプログラムなどの各種データなどを記憶する。記憶部３２０は、ＲＡＭ、ＲＯＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。
【００７５】
制御部３３０は、モノクロパターン印刷装置３００の全体的な処理を司る処理部である。制御部３３０は、例えば、ＣＰＵやＭＰＵ等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部３３０は、例えば、ＡＳＩＣやＦＰＧＡ等の集積回路により実現されるようにしてもよい。
【００７６】
制御部３３０は、取得部３３１及びパターン出力部３３２を有する。なお、取得部３３１及びパターン出力部３３２は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
【００７７】
取得部３３１は、モノクロパターンを取得する。取得部３３１は、例えば操作部３１１を通じて印刷指示を受け付けると、通信部３１０を通じて管理サーバ１００に出力要求を送信する。取得部３３１は、エンコードされたモノクロパターンを管理サーバ１００から取得して、パターン出力部３３２に出力する。
【００７８】
パターン出力部３３２は、取得したモノクロパターンを出力する。パターン出力部３３２は、例えば取得したモノクロパターンを表示部３１２を通じて表示させるとともに、モノクロプリンタ３１３に、取得したモノクロパターンを印刷させる。
【００７９】
次に、本実施例におけるコードリーダ４００の一例について、図１３を用いて説明する。図１３は、実施例１におけるコードリーダの一例を示す図である。図１３に示すように、本実施例におけるコードリーダ４００は、通信部４１０と、操作部４１１と、カメラ４１２と、表示部４１３と、記憶部４２０と、制御部４３０とを有する。なお、コードリーダ４００は、例えば専用の端末であるが、これに限られず、スマートフォン等の汎用のコンピュータにアプリケーションを実行させることにより実現させるような構成であってもよい。
【００８０】
通信部４１０は、有線又は無線を問わず、管理サーバ１００など、その他のコンピュータ等との通信を制御する。通信部４１０は、例えばＮＩＣ等の通信インタフェース等である。
【００８１】
操作部４１１は、図示しないコードリーダ４００の操作者から各種操作を受け付ける入力デバイスであり、例えばキーボードやマウス等である。操作部４１１は、操作者によって入力された読取指示などの操作情報を、制御部４３０に出力する。
【００８２】
カメラ４１２は、二次元コードを撮影する。カメラ４１２は、制御部４３０から撮影指示が出力されると、図１に示すような二次元コードの画像を取得して、制御部４３０に出力する。
【００８３】
表示部４１３は、各種情報を表示するための表示デバイスであり、例えば液晶ディスプレイ等の表示デバイスである。表示部４１３は、制御部４３０から出力された、二次元コードのデコード結果やエラー情報等の各種画面を表示する。なお、操作部４１１と表示部４１３とを一体化して、例えばタッチパネル等によって実現してもよい。
【００８４】
記憶部４２０は、例えば制御部４３０が実行するプログラムなどの各種データなどを記憶する。記憶部４２０は、ＲＡＭ、ＲＯＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。
【００８５】
制御部４３０は、コードリーダ４００の全体的な処理を司る処理部である。制御部４３０は、例えば、ＣＰＵやＭＰＵ等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部４３０は、例えば、ＡＳＩＣやＦＰＧＡ等の集積回路により実現されるようにしてもよい。
【００８６】
制御部４３０は、コード取得部４３１、カラーパターン特定部４３２、モノクロパターン特定部４３３及び結果出力部４３４を有する。なお、コード取得部４３１、カラーパターン特定部４３２、モノクロパターン特定部４３３及び結果出力部４３４は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
【００８７】
コード取得部４３１は、撮影された二次元コードの画像を取得する。コード取得部４３１は、例えば操作部４１１を通じて読取指示を受け付けると、カメラ４１２に撮影指示を出力する。コード取得部４３１は、カメラ４１２から二次元コードの画像を取得すると、取得した画像に含まれるセルの数、各セルの色の種類などの情報を特定する。そして、コード取得部４３１は、特定した情報とともに、取得した画像をカラーパターン特定部４３２及びモノクロパターン特定部４３３に出力する。なお、コード取得部４３１は、読取部の一例である。
【００８８】
カラーパターン特定部４３２は、画像から二次元コードのカラーパターンを特定する。なお、カラーパターン特定部４３２は、識別部の一例である。
【００８９】
カラーパターン特定部４３２は、二次元コードの画像及びセルの数等の情報の出力を受けると、各セルグループが保持する色情報を特定する。例えば、カラーパターン特定部４３２は、セルグループに含まれるセルが、マゼンダ、シアン及びイエローのうち、いずれか１つの色情報を含むか否かを判定する。カラーパターン特定部４３２は、各セルグループが保持する色情報を結合したカラーパターンを、結果出力部４３４に出力する。
【００９０】
モノクロパターン特定部４３３は、画像から二次元コードのモノクロパターンを出力する。なお、モノクロパターン特定部４３３は、判定部の一例である。
【００９１】
モノクロパターン特定部４３３は、二次元コードの画像及びセルの数等の情報の出力を受けると、各セルがブラックで塗り潰されているか否かを判定する。なお、モノクロパターン特定部４３３は、ブラックで塗り潰されていないセルが、マゼンダ、シアン又はイエローのいずれの色であるかを特定しなくともよい。モノクロパターン特定部４３３は、各セルがブラックで塗り潰されているか否かを示す塗り潰し情報を結合したモノクロパターンを、結果出力部４３４に出力する。
【００９２】
結果出力部４３４は、二次元コードのデコード結果を取得して出力する。結果出力部４３４は、カラーパターン及びモノクロパターンを含む読取結果を、通信部４１０を通じて管理サーバ１００に送信する。結果出力部４３４は、管理サーバ１００から読取結果に対応するデコード結果を受信すると、デコード結果を表示部４１３に表示させる。
【００９３】
本実施例におけるコードリーダ４００及び管理サーバ１００によるデコード処理について、図１４を用いて説明する。図１４は、実施例１におけるデコード処理の一例を示す図である。例えば、図１４に示すような二次元コード１０００が読み取られた場合、コードリーダ４００のカラーパターン特定部４３２は、各セルグループが保持する色情報４０００を出力する。また、モノクロパターン特定部４３３は、セルグループごとに、各セルがブラックで塗り潰されているか否かを示す塗り潰し情報５０００を出力する。結果出力部４３４は、出力された色情報４０００及び塗り潰し情報５０００を含む読取結果を、管理サーバ１００に送信する。
【００９４】
管理サーバ１００のデコード部１３３は、読取結果に含まれる各セルグループの色情報４０００を、例えばカラーパターンＤＢ１２１を参照してデコードし、３進法のデコード結果４１００を取得する。そして、デコード部１３３は、カラーパターンＤＢ１２１を参照して、デコード結果４１００に対応する発送元番号「１２６１」を特定する。
【００９５】
また、デコード部１３３は、読取結果に含まれる各セルの塗り潰し情報５０００を、例えばモノクロパターンＤＢ１２２を参照してデコードする。次に、デコード部１３３は、デコードされた各セルグループの変換後データ５１００を、例えば式（１）を用いて演算することにより、荷物番号を算出する。
【００９６】
図１４に示す変換後データ５１００を演算する場合、式（１）におけるＭは「４」であり、Ｎは「８」となる。すなわち、以下の式（２）により、図１４に示す変換後データ５１００から、荷物番号「２４０，８４０，６０１」が求められる。
【００９７】
ＭＩ  ＝  １５＾７＊１＋１５＾６＊６＋１５＾５＊２＋１５＾４＊２＋１５＾３＊５＋１５＾２＊２＋１５＾１＊１０＋１５＾０＊１
＝  １７０，８５９，３７５＋６８，３４３，７５０＋１，５１８，７５０＋１０１，２５０＋１６，８７５＋４５０＋１５０＋１
＝  ２４０，８４０，６０１
【００９８】
［処理の流れ］
次に、本実施例における処理について、図１５及び図１６を用いて説明する。図１５は、実施例１におけるモノクロパターンの印刷処理の一例を示すフローチャートである。図１５に示すように、モノクロパターン印刷装置３００の取得部３３１は、例えば操作部３１１を通じて印刷指示を受け付けるまで待機する（Ｓ１：Ｎｏ）。
【００９９】
取得部３３１は、印刷指示を受け付けたと判定した場合（Ｓ１：Ｙｅｓ）、通信部３１０を通じてモノクロパターンの出力要求を管理サーバ１００に送信する。
【０１００】
管理サーバ１００の受付部１３１は、通信部１１０を通じてモノクロパターン印刷装置３００からモノクロパターンの出力要求を受信すると、エンコードする情報として、新たに荷物番号を生成する（Ｓ１１）。受付部１３１は、生成した荷物番号を、出力要求とともにエンコード部１３２に出力する。エンコード部１３２は、出力された荷物番号を１５進数に変換する（Ｓ１２）。次に、エンコード部１３２は、モノクロパターンＤＢ１２２を参照して、変換された荷物番号の各桁に対応する変換後データを特定する。そして、エンコード部１３２は、特定された変換後データを組み合わせることにより、モノクロパターンを生成して、受付部１３１に出力する（Ｓ１３）。受付部１３１は、生成されたモノクロパターンを、モノクロパターン印刷装置３００に送信する。
【０１０１】
モノクロパターン印刷装置３００の取得部３３１は、通信部１１０を通じてモノクロパターンを取得すると、パターン出力部３３２に出力する。パターン出力部３３２は、モノクロプリンタ３１３を通じてモノクロパターンを印刷し（Ｓ１４）、処理を終了する。
【０１０２】
次に、生成された二次元コードの読取処理について説明する。図１６は、実施例１における読取処理の一例を示すフローチャートである。図１６に示すように、コードリーダ４００のコード取得部４３１は、操作部４１１を通じて読取指示を受け付けるまで待機する（Ｓ１００：Ｎｏ）。コード取得部４３１は、読取指示を受け付けたと判定した場合（Ｓ１００：Ｙｅｓ）、カメラ４１２を通じて、二次元コードの画像を取得する（Ｓ１０１）。コード取得部４３１は、取得した二次元コードの画像を、カラーパターン特定部４３２及びモノクロパターン特定部４３３に出力する。
【０１０３】
カラーパターン特定部４３２は、セルグループのカラーパターンを特定して、結果出力部４３４に出力する（Ｓ１０２）。また、モノクロパターン特定部４３３は、セルのモノクロパターンを特定して、結果出力部４３４に出力する（Ｓ１０３）。そして、結果出力部４３４は、出力されたカラーパターン及びモノクロパターンを含む読取結果を、通信部４１０を通じて管理サーバ１００に送信する。
【０１０４】
管理サーバ１００の受付部１３１は、通信部１１０を通じて読取結果を受信し、デコード部１３３に出力する。デコード部１３３は、カラーパターンＤＢ１２１を参照して、カラーパターンをデコードする（Ｓ１１１）。また、デコード部１３３は、モノクロパターンＤＢ１２２を参照して、モノクロパターンをデコードする（Ｓ１１２）。そして、デコード部１３３は、デコード結果を合成して、受付部１３１に出力する（Ｓ１２０）。受付部１３１は、出力されたデコード結果を、通信部１１０を通じてコードリーダ４００に送信する。
【０１０５】
コードリーダ４００の結果出力部４３４は、通信部４１０を通じてデコード結果を受信すると、表示部４１３にデコード結果を出力し（Ｓ１２１）、処理を終了する。
【０１０６】
次に、本実施例におけるコード処理システム１の実装例について説明する。図１７は、実施例１における宅配便のトラッキングシステムの一例を示す図である。図１７に示すように、管理サーバ１００及びカラーパターン印刷装置２００は、宅配便事業者６０００により管理される。また、複数のモノクロパターン印刷装置３００ａ及び３００ｂは、複数の発送事業者７０００ａ及び７０００ｂにより、それぞれ管理される。複数のコードリーダ４００ａ乃至４００ｃは、宅配便事業者の集荷担当者６１００、宅配便事業者の配送センター６２００及び宅配便事業者の配送担当者６３００により、それぞれ管理される。
【０１０７】
本トラッキングシステムにおいて、管理サーバ１００は、カラーパターンＤＢ１２１及びモノクロパターンＤＢ１２２に加えて、伝票ＤＢ１２３及び荷物状態ＤＢ１２４をさらに有する。伝票ＤＢ１２３は、二次元コードのカラーパターンが表現する発送元番号と、モノクロパターンが表現する荷物番号とを含む伝票番号に対応する荷物の発送事業者、配達先受取者等の情報を記憶する。荷物状態ＤＢ１２４は、伝票番号に対応する荷物の位置や、トラック積載待ちや配達完了等の荷物の状態に関する情報を記憶する。
【０１０８】
また、本トラッキングシステムにおいて、コードリーダ４００ａ乃至４００ｃは、ＧＰＳ（Global  Positioning  System）等の位置情報を特定する機能をさらに有する。コードリーダ４００ａ乃至４００ｃは、読取結果に加えて、位置情報も管理サーバ１００に送信する。
【０１０９】
本トラッキングシステムにおけるカラーパターン印刷装置２００は、発送事業者７０００ａ及び７０００ｂのそれぞれに対して、異なるカラーパターンが印刷された台紙２０００ａ及び２０００ｂを印刷して発行する。例えば、台紙２０００ａには、発送事業者７０００ａの発送元番号「１２６２」を示すカラーパターンが印刷され、台紙２０００ｂには、発送事業者７０００ｂの発送元番号「１２６１」を示すカラーパターンが印刷される。
【０１１０】
なお、図１７に示すように、カラーパターンの各セルグループに含まれるセルの数が、発送事業者に応じて異なるような構成であってもよい。本実施例においては、発送事業者７０００ｂに対しては、１つのセルグループが３つのセルを含むカラーパターンが印刷された台紙２０００ｂを発行する。例えば、台紙２０００ｂに印刷されたカラーパターンにモノクロパターンを上書き印刷する場合のモノクロパターンは、（２＾３−１）＾８＝７＾８＝５，７６４，８０１パターンの情報を表現できる。
【０１１１】
発送事業者７０００ａは、新たに荷物を配送する際に、例えばモノクロパターン印刷装置３００ａを用いて、管理サーバ１００に荷物番号の発行を要求する。台紙２０００ａに、荷物番号に対応するモノクロパターンを上書き印刷して、二次元コード１０００ａを生成し、宅配便の伝票に貼付する。同様に、発送事業者７０００ｂは、モノクロパターン印刷装置３００ｂを用いて、台紙２０００ｂに荷物番号に対応するモノクロパターンを上書き印刷して、二次元コード１０００ｂを生成し、宅配便の伝票に貼付する。
【０１１２】
伝票に貼付された二次元コード１０００ａ及び１０００ｂは、集荷時、配送センターにおける仕分け時及び配達時などに、コードリーダ４００ａ乃至４００ｃにより読み取られ、位置情報及び荷物の状態に関する情報とともに管理サーバ１００に送信される。管理サーバ１００は、読取結果をデコードして伝票番号を特定するとともに、受信した位置情報並びに荷物の状態に関する情報を用いて荷物状態ＤＢ１２４を更新する。
【０１１３】
また、配達先受取者９０００は、例えば発送事業者７０００ａ又は７０００ｂから事前に伝票番号の通知を受けた場合、管理サーバ１００に対して、携帯端末８００を通じて、伝票番号に対応する荷物の位置や状態を問い合わせることができる。
【０１１４】
［効果］
以上説明したように、本実施例におけるコード読取装置は、Ｍ個（Ｍは２以上の自然数）の小領域を含み、Ｃ色（Ｃは２以上の自然数）に色分けされたＮ個（Ｎは２以上の自然数）の中領域を含むコードを読み取る読取部を有する。本実施例におけるコード読取装置は、前記中領域に含まれる色が前記Ｃ色のいずれであるかを特定する識別部を有する。また、本実施例におけるコード読取装置は、前記小領域が前記Ｃ色のうちいずれにも該当しない所定の色で塗り潰されているか否かを判定する判定部をさらに有する。これにより、管理サーバは、情報量の多いコードを生成できる。
【０１１５】
以下において、発送元番号４桁と、配送先番号６桁の合計１０桁からなる宅配便の伝票番号に二次元コードを採用する場合について説明する。４桁の発送元番号は、最大で「００００」から「９９９９」までの１万パターンを取る。また、６桁の配送先番号は、最大で「００００００」から「９９９９９９」までの１００万パターンを取る。
【０１１６】
例えば、モノクロの二次元コードを用いた場合、２の１４乗＝１６，３８４パターンで、４桁の発送元番号の全てのパターンを再現でき、２の２０乗＝１，０４８，５７６パターンで６桁の配送先番号の全てのパターンを再現できる。すなわち、１４個＋２０個＝３４個のセルからなるモノクロの二次元コードを用いれば、発送元番号４桁と、配送先番号６桁の合計１０桁からなる宅配便の伝票番号を全て再現することができる。この場合、各発送元の発送事業者は、３４個のセルのうち、１４個のセルに予め発送元番号を示すパターンが印刷された二次元コードを宅配便事業者から受領し、２０個のセルに配送先番号を示すパターンを印刷する。
【０１１７】
一方、本実施例における二次元コードを採用する場合、例えば発送元番号４桁を３色のカラーパターンを用いて再現し、配送先番号６桁をモノクロパターンを用いて再現する。この場合において、３の９乗＝１９，６８３パターンで４桁の発送元番号全てを再現できる。すなわち、４桁の発送元番号全てを再現するには、９個のカラーパターンを用意すればよい。
【０１１８】
また、９個のカラーパターンを含む二次元コードにおいては、５の９乗＝１，９５３，１２５パターンで、６桁の配送先番号全てを再現できる。すなわち、１つのカラーパターンで５つのモノクロパターンを再現できれば、６桁の配送先番号全てを再現できる。１つのカラーパターンは、２の３乗−１＝７パターンで、５つのモノクロパターンを再現できる。この場合、６桁の配送先番号全てを再現するには、１つのカラーパターンが３個のセルを含んでいればよい。
【０１１９】
すなわち、本実施例における二次元コードは、３セル×９カラーパターンの２７個のセルを含んでいれば、発送元番号４桁と、配送先番号６桁の合計１０桁からなる宅配便の伝票番号を全て再現することができる。
【０１２０】
以上説明したように、本実施例における二次元コードを用いると、同じ情報量を、モノクロの二次元コードを用いた場合よりも少ないセル数で再現できる。言い換えると、本実施例における二次元コードは、同じセル数あたり、モノクロの二次元コードよりも多くの情報を再現することができる。
【０１２１】
また、本実施例における二次元コードを用いる場合、各発送元の企業は、予め発送元番号を示すカラーパターンが印刷された二次元コードに対してモノクロ印刷ができるプリンタを用意すればよい。このため、各発送元の企業は、カラー印刷ができるプリンタがなくとも伝票を印刷できるので、プリンタの導入コストを節減できる。
【実施例２】
【０１２２】
実施例１においては、縦一列に並んだ複数のセルが一つのセルグループを形成し、各セルグループ中では、上のセルから下のセルへと番号付けされる。また、実施例１においては、カラーパターン分けされたセルグループが、左から右へと番号付けされる。しかし、二次元コードにおけるセル及びセルグループの配置は、これに限られない。また、情報をエンコードする際に、各セルグループの順序及びセルグループ内の各セルの順序をランダムに変更するような構成であってもよい。
【０１２３】
実施例２においては、セル及びセルグループの配置が異なる二次元コードについて説明する。図１８は、実施例２において生成される二次元コードの一例を示す図である。図１８に例示する二次元コード１１００は、カラーパターン２１００に、モノクロパターン３１００を上書き印刷することにより生成される。
【０１２４】
なお、カラーパターン２１００における「Ｍ−Ｎ」の数字は、「セルグループ内のセル番号−セルグループ番号」を示す。例えば、セルグループ２１５０の左上のセルに示された「１−５」は、「第５セルグループ内の第１セル」であることを示す。
【０１２５】
図１８におけるカラーパターン２１００の各セルグループは、縦に並んだ４つのセルを含む略矩形状ではなく、縦横各２列に並んだ４つのセルを含む略正方形状である点が実施例１におけるカラーパターン２０００とは異なる。また、例えばセルグループ２１５０においては、第１セル「１−５」は左上に配置され、第２セル「２−５」、第３セル「３−５」及び第４セル「４−５」は、それぞれそこから時計回りに配置される。すなわち、二次元コードにおける第５セル１１５０は、第１セル及び第４セルが塗り潰されていることを示す。
【０１２６】
一方、例えばセルグループ２１８０においては、第１セル「１−８」は左下、第２セル「２−８」は右下、第３セル「３−８」は右上、第４セル「４−８」は左上となっており、その他のセルグループについてもセルの並びはそれぞれ異なる。このように、本実施例においては、各セルグループの形状、並びにセルグループ内における各セルの配置を実施例１で示した例から変更してもよい。
【０１２７】
さらに別の例について、図１９を用いて説明する。図１９は、実施例２において生成される二次元コードの別の一例を示す図である。図１９に示す二次元コード１２００は、カラーパターン２２００に、モノクロパターン３２００を上書き印刷することにより生成される。
【０１２８】
図１９に示す二次元コード１２００も、二次元コード１０００及び１１００と同様に、４個のセルを含む８個のセルグループを含み、合計３２個のセルを含む。しかし、二次元コード１２００は略矩形状ではなく、凸部を有する形状である。さらに、カラーパターン２２００に示すように各セルグループの配置もランダムである。
【０１２９】
図１９に示す二次元コード１２００におけるセル及びセルグループの配置は、例えばセル配置図７１２５により示される。セル配置図７１２５において、例えば第１セルグループの各セル「１−１」、「２−１」、「３−１」及び「４−１」は、互いに辺を接することなくランダムに配置される。このように、本実施例においては、各セルグループに含まれるセルの配置をさらに変更してもよい。
【０１３０】
［機能ブロック］
本実施例における図示しないコード管理システム２は、管理サーバ７１００、カラーパターン印刷装置７２００、モノクロパターン印刷装置７３００及びコードリーダ７４００を含む。図２０は、実施例２における管理サーバの一例を示す図である。なお、以下の実施例において、先に説明した図面に示す部位と同一の部位には同一の符号を付し、重複する説明は省略する。また、本実施例におけるカラーパターン印刷装置７２００、モノクロパターン印刷装置７３００及びコードリーダ７４００については図示を省略する。
【０１３１】
図２０に示すように、本実施例における管理サーバ７１００は、通信部１１０と、記憶部７１２０と、制御部７１３０とを有する。記憶部７１２０は、例えば制御部７１３０が実行するプログラムなどの各種データなどを記憶する。また、記憶部７１２０は、カラー情報スクランブルＤＢ７１２１、モノクロ情報スクランブルＤＢ７１２２及びセル配置図７１２５を有する。記憶部７１２０は、ＲＡＭ、ＲＯＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。
【０１３２】
カラー情報スクランブルＤＢ７１２１は、各セルグループのカラーパターンの並びと、エンコードされる前の情報との対応関係を記憶する。図２１は、実施例２におけるカラー情報スクランブルＤＢの一例を示す図である。図２１に示すように、カラー情報スクランブルＤＢ７１２１は、「第１セルグループ」乃至「第８セルグループ」と、「変換後データ」と、「スクランブル後データ」とを対応付けて記憶する。
【０１３３】
図２１において、「第１セルグループ」乃至「第８セルグループ」は、各セルグループにおいて特定される色を記憶する。なお、本実施例においては各セルグループが左から右へと順番に並んでいるとは限らないことに対応するため、実施例１におけるカラーパターンＤＢ１２１の色情報とは異なり、セルグループごとに個別に色を記憶する。
【０１３４】
図２１において、「変換後データ」は、各セルグループにおいて特定される色に対応する数値を示す。また、「スクランブル後データ」は、「変換後データ」に示す数値をスクランブルした数値を記憶する。
【０１３５】
本実施例において、後に説明するデコード部７１３３が二次元コードからカラーパターンを読み取った結果を用いてデコードを行う際、変換後データではなく、スクランブル後データをデコード結果として出力する。例えば、読み取られたカラーパターンの色情報が「ｍｍｍｍｍｍｍｙ」である場合、第１セルグループ乃至第７セルグループが「ｍ」であり、第８セルグループのみが「ｙ」であるため、変換後データは「０００００００２」となる。しかし、本実施例においては変換後データの「０００００００２」ではなく、スクランブル後データである「１１１１１１１１」をデコード結果として出力する。
【０１３６】
なお、後に説明するエンコード部７１３２が、発送元番号をカラーパターンにエンコードする際には、変換後データではなく、スクランブル後データが発送元番号と一致するレコードを特定する。例えば、３進法に変換した発送元番号が「１１１１１１１１」である場合、エンコード部７１３２は、変換後コードが「１１１１１１１１」であるカラーパターン「ｃｃｃｃｃｃｃｃ」には変換しない。エンコード部７１３２は、スクランブル後データが「１１１１１１１１」であるレコードを特定し、発送元番号を当該レコードが記憶するカラーパターン「０００００００１」にエンコードする。
【０１３７】
このように、スクランブルされた情報をエンコード及びデコードの際に用いることにより、エンコード前の発送元番号と、エンコードされたカラーパターンとの対応関係を秘匿できる。
【０１３８】
次に、モノクロ情報スクランブルＤＢ７１２２は、セルグループ内の各セルのモノクロパターンと、エンコードされる前の情報との対応関係を記憶する。図２２は、実施例２におけるモノクロ情報スクランブルＤＢの一例を示す図である。図２２に示すように、モノクロ情報スクランブルＤＢ７１２２は、「第１セル」乃至「第４セル」と、「変換後データ」と、「スクランブル後データ」とを対応付けて記憶する。
【０１３９】
図２２において、「第１セル」乃至「第４セル」は、セルグループ内の各セルを示す。なお、本実施例においては各セルグループが上から下へと順番に並んでいるとは限らないことに対応するため、モノクロ情報スクランブルＤＢ７１２２は、実施例１におけるモノクロパターンＤＢ１２２とは異なり、各セルを行の順番ではない形で記憶する。
【０１４０】
図２２において、「変換後データ」は、第１セル乃至第４セルのモノクロパターンに対応する数値を示す。また、「スクランブル後データ」は、「変換後データ」に示す数値をスクランブルした数値を記憶する。
【０１４１】
本実施例において、デコード部７１３３が二次元コードからモノクロパターンを読み取った結果を用いてデコードを行う際も、カラーパターンのデコードの場合と同様に、変換後データではなく、スクランブル後データをデコード結果として出力する。例えば、読み取られたモノクロパターンが、「黒以外」、「黒以外」、「黒以外」、「黒（ｂ）」である場合、変換後データは「０００１」となる。しかし、本実施例においては変換後データの「０００１」ではなく、スクランブル後データである「０１０１」をデコード結果として出力する。
【０１４２】
同様に、エンコード部７１３２が、荷物番号をモノクロパターンにエンコードする際も、変換後データではなく、スクランブル後データが荷物番号と一致するレコードを特定する。例えば、１５進法に変換した荷物番号の第１桁が「００１１」である場合、エンコード部７１３２は、変換後コードが「００１１」であるモノクロパターンには変換しない。エンコード部７１３２は、スクランブル後データが「００１１」であるレコードを特定し、発送元番号を当該レコードが記憶する変換後データ「１１１０」に対応するモノクロパターンにエンコードする。
【０１４３】
次に、制御部７１３０は、管理サーバ７１００の全体的な処理を司る処理部である。制御部７１３０は、例えば、ＣＰＵやＭＰＵ等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部７１３０は、例えば、ＡＳＩＣやＦＰＧＡ等の集積回路により実現されるようにしてもよい。
【０１４４】
制御部７１３０は、受付部７１３１、エンコード部７１３２及びデコード部７１３３を有する。なお、受付部７１３１、エンコード部７１３２及びデコード部７１３３は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
【０１４５】
受付部７１３１は、エンコード部７１３２からエンコードされたパターン、及び各パターンにおけるセルの配置に関する情報の出力を受ける。受付部７１３１は、パターン及び配置に関する情報を、通信部１１０を通じてカラーパターン印刷装置２００又はモノクロパターン印刷装置３００に出力する。
【０１４６】
また、受付部７１３１は、通信部１１０を通じて、後に説明するコードリーダ７４００から二次元コードの読取開始要求を受信すると、セル配置図７１２５を参照して、セルの配置に関する情報を取得し、コードリーダ７４００に送信する。その後、受付部７１３１は、コードリーダ７４００から読取結果を受信し、以下受付部１３１と同様の処理を行う。
【０１４７】
エンコード部７１３２は、発送元番号又は荷物番号をパターンにエンコードするとともに、パターンに該当するセルの配置に関する情報を取得する。エンコード部７１３２は、受付部７１３１から発送元番号の入力を受けると、カラー情報スクランブルＤＢ７１２１を参照し、発送元番号に対応するスクランブル後データを取得する。また、エンコード部７１３２は、セル配置図７１２５を参照して、発送元番号に対応するセルの配置に関する情報を取得する。次に、エンコード部７１３２は、スクランブル後データに対応するレコードの「第１セルグループ」乃至「第８セルグループ」に記憶する色情報を、エンコード結果として受付部７１３１に出力する。さらに、エンコード部７１３２は、セルの配置に関する情報も、エンコード結果とともに受付部７１３１に出力する。
【０１４８】
また、エンコード部７１３２は、受付部７１３１から荷物番号の入力を受けた場合、荷物番号を（２＾Ｍ−１）進法に変換する。そして、エンコード部７１３２は、モノクロ情報スクランブルＤＢ７１２２を参照し、変換された各桁の数値に対応するスクランブル後データを取得する。次に、エンコード部７１３２は、各桁の変換後データに対応する塗り潰しに関する情報を、エンコード結果として受付部７１３１に出力する。
【０１４９】
次に、デコード部７１３３は、二次元コードの読取結果をデコードする。デコード部７１３３は、受付部７１３１から二次元コードの読取結果の入力を受けると、カラー情報スクランブルＤＢ７１２１を参照し、読取結果に含まれるカラーパターンに対応するスクランブル後データを特定する。
【０１５０】
また、デコード部７１３３は、モノクロ情報スクランブルＤＢ７１２２を参照し、読取結果に含まれるモノクロパターンに対応する、セルグループごとのスクランブル後データを特定する。次に、デコード部７１３３は、セルグループごとのスクランブル後データを、例えば式（１）を用いて演算した結果に対応する荷物番号を算出する。そして、デコード部７１３３は、スクランブル後データに対応する発送元番号及び算出された荷物番号を合成して、デコード結果として受付部７１３１に出力する。
【０１５１】
次に、本実施例におけるカラーパターン印刷装置７２００は、通信部２１０と、操作部２１１と、表示部２１２と、カラープリンタ２１３と、記憶部２２０と、制御部７２３０とを有する。
【０１５２】
制御部７２３０は、カラーパターン印刷装置７２００の全体的な処理を司る処理部である。制御部７２３０は、例えば、ＣＰＵやＭＰＵ等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部７２３０は、例えば、ＡＳＩＣやＦＰＧＡ等の集積回路により実現されるようにしてもよい。
【０１５３】
制御部７２３０は、取得部７２３１及びパターン出力部７２３２を有する。なお、取得部７２３１及びパターン出力部７２３２は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
【０１５４】
取得部７２３１は、カラーパターン及びセルの配置に関する情報を取得する。取得部７２３１は、例えば操作部２１１を通じて発送元番号の入力を受け付けると、通信部２１０を通じて管理サーバ７１００に発送元番号を含む出力要求を送信する。取得部７２３１は、エンコードされたカラーパターン及びセルの配置に関する情報を管理サーバ７１００から取得して、パターン出力部７２３２に出力する。
【０１５５】
パターン出力部７２３２は、取得したカラーパターンを出力する。パターン出力部７２３２は、例えばセルの配置に関する情報に従って配置したカラーパターンを、表示部２１２を通じて表示させる。そして、パターン出力部７２３２は、カラープリンタ２１３に、セルの配置に関する情報に従って配置したカラーパターンを印刷させる。
【０１５６】
次に、本実施例におけるモノクロパターン印刷装置７３００は、通信部３１０と、操作部３１１と、表示部３１２と、モノクロプリンタ３１３と、記憶部３２０と、制御部７３３０とを有する。
【０１５７】
制御部７３３０は、モノクロパターン印刷装置７３００の全体的な処理を司る処理部である。制御部７３３０は、例えば、ＣＰＵやＭＰＵ等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部７３３０は、例えば、ＡＳＩＣやＦＰＧＡ等の集積回路により実現されるようにしてもよい。
【０１５８】
制御部７３３０は、取得部７３３１及びパターン出力部７３３２を有する。なお、取得部７３３１及びパターン出力部７３３２は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
【０１５９】
取得部７３３１は、モノクロパターン及びセルの配置に関する情報を取得する。取得部７３３１は、例えば操作部２１１を通じて印刷指示を受け付けると、通信部３１０を通じて管理サーバ７１００に発送元番号を含む出力要求を送信する。取得部７３３１は、エンコードされたモノクロパターン及びセルの配置に関する情報を管理サーバ７１００から取得して、パターン出力部７３３２に出力する。
【０１６０】
パターン出力部７３３２は、取得したモノクロパターンを出力する。パターン出力部７３３２は、例えばセルの配置に関する情報に従って配置したモノクロパターンを、表示部３１２を通じて表示させる。そして、パターン出力部７３３２は、モノクロプリンタ３１３に、セルの配置に関する情報に従って配置したモノクロパターンを印刷させる。
【０１６１】
次に、本実施例におけるコードリーダ７４００は、通信部４１０と、操作部４１１と、カメラ４１２と、表示部４１３と、記憶部４２０と、制御部７４３０とを有する。
【０１６２】
制御部７４３０は、コードリーダ７４００の全体的な処理を司る処理部である。制御部７４３０は、例えば、ＣＰＵやＭＰＵ等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部７４３０は、例えば、ＡＳＩＣやＦＰＧＡ等の集積回路により実現されるようにしてもよい。
【０１６３】
制御部７４３０は、コード取得部７４３１、カラーパターン特定部７４３２、モノクロパターン特定部７４３３及び結果出力部４３４を有する。コード取得部７４３１、カラーパターン特定部７４３２、モノクロパターン特定部７４３３及び結果出力部４３４は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
【０１６４】
コード取得部７４３１は、撮影された二次元コードの画像を取得するとともに、セルの配置に関する情報を取得する。コード取得部７４３１は、例えば操作部４１１を通じて読取指示を受け付けると、通信部４１０を通じて管理サーバ７１００に配置取得要求を出力する。コード取得部７４３１は、管理サーバ７１００からセルの配置に関する情報を取得すると、カメラ４１２に撮影指示を出力する。コード取得部４３１は、カメラ４１２から二次元コードの画像を取得すると、取得した画像に含まれるセルの数、色の種類などの情報を特定する。そして、コード取得部４３１は、特定した情報と、セルの配置に関する情報ともに、取得した画像をカラーパターン特定部４３２及びモノクロパターン特定部４３３に出力する。
【０１６５】
カラーパターン特定部７４３２は、画像から二次元コードのカラーパターンを特定する。カラーパターン特定部７４３２は、二次元コードの画像及びセルの数等の情報並びにセルの配置に関する情報の出力を受けると、各セルグループに含まれるセルの位置を特定し、各セルグループが保持する色情報を特定する。
【０１６６】
モノクロパターン特定部７４３３は、画像から二次元コードのモノクロパターンを出力する。モノクロパターン特定部７４３３は、二次元コードの画像及びセルの数等の情報並びにセルの配置に関する情報の出力を受けると、各セルグループに含まれるセルの位置を特定し、各セルがブラックで塗り潰されているか否かを判定する。
【０１６７】
［処理の流れ］
次に、本実施例におけるカラーパターン印刷処理について、図２３を用いて説明する。図２３は、実施例２におけるカラーパターン印刷処理の一例を示すフローチャートである。図２３に示すように、カラーパターン印刷装置７２００の取得部７２３１は、操作部２１１を通じて印刷指示を受け付けるまで待機する（Ｓ２０１：Ｎｏ）。コード取得部４３１は、印刷指示を受け付けたと判定した場合（Ｓ２０１：Ｙｅｓ）、操作部２１１を通じて、発送元番号などのエンコードする情報を取得する（Ｓ２１１）。そして、コード取得部７４３１は、エンコードする情報を含むカラーパターンの出力要求を管理サーバ７１００へ送信する。
【０１６８】
管理サーバ７１００の受付部７１３１は、通信部１１０を通じてエンコードする情報を含むカラーパターンの出力要求を受信し、エンコード部７１３２に出力する。エンコード部７１３２は、エンコードする情報のサイズを判定し（Ｓ２１２）、サイズに応じたセルグループ数を決定する（Ｓ２１３）。
【０１６９】
次に、エンコード部７１３２は、モノクロパターンにエンコードする情報のサイズを特定する（Ｓ２１４）。そして、エンコード部７１３２は、特定した情報のサイズと、決定したセルグループ数とに基づいて、各セルグループに含まれるセルの数を決定する（Ｓ２１５）。
【０１７０】
次に、エンコード部７１３２は、エンコードする情報に基づいて、各セルグループの色情報を決定する（Ｓ２２０）。また、エンコード部７１３２は、セル配置図７１２５を参照して、各セルグループの配置、及びセルグループ中の各セルの番号、並びにカラーパターンの形状等を決定する（Ｓ２２１）。そして、エンコード部７１３２は、カラーパターンを生成し（Ｓ２３０）、受付部７１３１に出力する。受付部７１３１は、生成されたカラーパターンを、カラーパターン印刷装置７２００に送信する。
【０１７１】
カラーパターン印刷装置７２００の取得部７２３１は、通信部２１０を通じてモノクロパターンを取得すると、パターン出力部７２３２に出力する。パターン出力部７２３２は、カラープリンタ２１３を通じてカラーパターンを印刷し（Ｓ２３１）、処理を終了する。
【０１７２】
［効果］
以上説明したように、本実施例においては、セルの配置に関する情報に基づいて、セルグループの配置及びセルグループ内の各セルの順番を決定する。また、本実施例においては、情報のエンコード及びデコードの際に、情報に対するスクランブルを行う。これにより、略矩形状以外のレイアウトにも対応する二次元コードを生成できる。また、エンコードされる情報を秘匿することができる。
【０１７３】
なお、カラー情報スクランブルＤＢ７１２１及びモノクロ情報スクランブルＤＢ７１２２に記憶されるスクランブル後データが、任意のタイミングで更新されるような構成であってもよい。また、スクランブル後データが複数パターン登録されるような構成であってもよい。このような構成においては、例えばどのタイミングで更新されたスクランブル後データを用いるか、又はいずれのスクランブル後データを用いるかを特定する情報をさらに二次元コードに記憶させるような構成であってもよい。これにより、二次元コードからデコード後の情報を推定することをより困難にすることができる。
【０１７４】
また、コードリーダ７４００が、セルの配置に関する情報を予め記憶するような構成であってもよい。この場合において、二次元コードが、セルの配置に関する情報をさらに含むような構成であってもよい。かかる構成によれば、コードリーダ７４００は、管理サーバ７１００からセルの配置に関する情報を受信しなくとも、セルグループ及びセルがランダムに配置された二次元コードを読み取ることができる。
【実施例３】
【０１７５】
ところで、モノクロパターンを印刷する際に、セルとセルとの間の境界線も合わせて印刷する場合がある。この場合において、モノクロパターンを印刷するプリンタの印刷特性の違いによっては、印刷されるモノクロパターンにずれが生じることがある。
【０１７６】
例えば、プリンタによって印刷する線の幅が異なる場合、ブラックでセルを印刷する際に、隣接する他のセルまでブラックに印刷してしまい、逆に境界線の太さを十分確保できないこともある。このように、モノクロパターンにおける境界線の印刷にずれが生ずると、コードリーダでの二次元コードの読取時に誤認識されるおそれがある。
【０１７７】
図２４は、実施例３における異なる境界線幅で印刷された二次元コードの一例を示す図である。図２４において、たとえば（ａ）は、境界線の幅が狭く、かつ所定の位置よりずれて印刷される場合の二次元コードの一例を示し、（ｂ）は、境界線の幅が広い場合の二次元コードの一例を示す。（ａ）の二次元コードにおいては、隣接するセルとの間に境界線が印刷されていない箇所があり、セルの色情報を正しく読み取れない場合がある。また、（ｂ）の二次元コードにおいては、逆にセルの内部にまでブラックの境界線が印刷されているため、塗り潰されていないセルにおいても、塗り潰されていると誤認識されるおそれがある。
【０１７８】
そこで、本実施例においては、モノクロパターンを印刷するプリンタの印刷特性に応じたモノクロパターンを生成する構成について説明する。
【０１７９】
［機能ブロック］
本実施例における図示しないコード管理システム３は、管理サーバ８１００、カラーパターン印刷装置２００、モノクロパターン印刷装置８３００及びコードリーダ４００を含む。図２５は、実施例３における管理サーバの一例を示す図である。なお、以下の実施例において、先に説明した図面に示す部位と同一の部位には同一の符号を付し、重複する説明は省略する。
【０１８０】
図２５に示すように、本実施例における管理サーバ８１００は、通信部１１０と、記憶部８１２０と、制御部８１３０とを有する。記憶部８１２０は、例えば制御部８１３０が実行するプログラムなどの各種データなどを記憶する。また、記憶部８１２０は、カラーパターンＤＢ１２１、モノクロパターンＤＢ１２２に加えて、印刷特性ＤＢ８１２６を有する。記憶部８１２０は、ＲＡＭ、ＲＯＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。
【０１８１】
印刷特性ＤＢ８１２６は、例えば印刷される線の太さ等に関する情報を含む、各プリンタの印刷特性を、各プリンタの機種と対応付けて記憶する。図２６は、実施例３における印刷特性ＤＢの一例を示す図である。図２６に示すように、印刷特性ＤＢ８１２６は、「プリンタ機種名」と、「境界線幅」とを対応付けて記憶する。なお、印刷特性ＤＢ８１２６は、プリンタの印刷方式や縁なし印刷の可否など、境界線幅以外のその他の印刷特性を記憶してもよい。また、印刷特性ＤＢ８１２６は、「プリンタ機種名」の代わりに、又はこれに加えて、プリンタのメーカ等の情報を記憶してもよい。
【０１８２】
次に、制御部８１３０は、管理サーバ８１００の全体的な処理を司る処理部である。制御部８１３０は、例えば、ＣＰＵやＭＰＵ等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部８１３０は、例えば、ＡＳＩＣやＦＰＧＡ等の集積回路により実現されるようにしてもよい。
【０１８３】
制御部８１３０は、受付部８１３１、エンコード部８１３２及びデコード部８１３３を有する。なお、受付部８１３１、エンコード部８１３２及びデコード部８１３３は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
【０１８４】
受付部８１３１は、通信部１１０を通じて、モノクロパターン印刷装置８３００から、モノクロプリンタ３１３の機種を特定する情報を含むパターンの出力要求を受信する。受付部８１３１は、出力要求に含まれる発送元番号及び機種を特定する情報をエンコード部１３２に出力する。受付部１３１は、エンコード部１３２からエンコードされたパターン及び印刷特性に関する情報の出力を受けると、エンコードされたモノクロパターン及び印刷特性に関する情報を、通信部１１０を通じてモノクロパターン印刷装置３００に出力する。
【０１８５】
エンコード部８１３２は、荷物番号をモノクロパターンにエンコードするとともに、印刷特性ＤＢ８１２６を参照して、機種に関する情報に対応する印刷特性を特定する。そして、エンコード部８１３２は、エンコードされたモノクロパターン及び印刷特性に関する情報を、受付部８１３１に出力する。
【０１８６】
また、本実施例におけるモノクロパターン印刷装置８３００は、通信部３１０と、操作部３１１と、表示部３１２と、モノクロプリンタ３１３と、記憶部３２０と、制御部８３３０とを有する。なお、モノクロパターン印刷装置８３００については図示を省略する。
【０１８７】
制御部８３３０は、モノクロパターン印刷装置８３００の全体的な処理を司る処理部である。制御部８３３０は、例えば、ＣＰＵやＭＰＵ等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部８３３０は、例えば、ＡＳＩＣやＦＰＧＡ等の集積回路により実現されるようにしてもよい。
【０１８８】
制御部８３３０は、取得部８３３１及びパターン出力部８３３２を有する。なお、取得部８３３１及びパターン出力部８３３２は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
【０１８９】
取得部８３３１は、例えば操作部２１１を通じて印刷指示を受け付けると、通信部３１０を通じて、管理サーバ８１００にモノクロプリンタ３１３の機種に関する情報及び発送元番号を含む出力要求を送信する。取得部８３３１は、エンコードされたモノクロパターン及び印刷特性に関する情報を管理サーバ８１００から取得して、パターン出力部８３３２に出力する。
【０１９０】
パターン出力部８３３２は、取得したモノクロパターンを出力する。パターン出力部８３３２は、例えばセルの配置に関する情報に従って配置したモノクロパターンを、表示部３１２を通じて表示させる。そして、パターン出力部８３３２は、モノクロプリンタ３１３に、セルの配置に関する情報に従って配置したモノクロパターンを印刷させる。
【０１９１】
［処理の流れ］
次に、本実施例における処理について、図２７を用いて説明する。図２７は、実施例３におけるモノクロパターン印刷処理の一例を示すフローチャートである。なお、以下の説明において、図１５に示すステップと同じ符号については同様のステップであるため、詳細な説明を省略する。
【０１９２】
図２７に示すように、本実施例におけるモノクロパターン印刷装置８３００の取得部８３３１は、印刷指示を受け付けたと判断した場合（Ｓ１：Ｙｅｓ）、モノクロプリンタ８３１３に関する情報を含むモノクロパターンの出力要求を送信する（Ｓ３００）。管理サーバ８１００は、モノクロプリンタ８３１３に関する情報を含むモノクロパターンの出力要求を受信すると、Ｓ１１に移行する。
【０１９３】
管理サーバ８１００のエンコード部８１３２は、モノクロパターンを生成すると（Ｓ１３）、印刷特性ＤＢ８１２６を参照して、受信したモノクロプリンタ８３１３に関する情報に合致するプリンタを特定する（Ｓ３０１）。そして、エンコード部８１３２は、印刷特性ＤＢ８１２６に記憶された境界線幅を、モノクロパターンに設定し（Ｓ３０２）、受付部１３１に出力する。受付部１３１は、境界線幅が設定されたモノクロパターンを、モノクロパターン印刷装置３００に送信する。
【０１９４】
［効果］
以上説明したように、本実施例においては、モノクロパターン印刷装置８３００のモノクロプリンタ３１３の印刷特性に応じた境界線幅が設定されたモノクロパターンを生成する。これにより、モノクロプリンタの印刷特性が異なる場合であっても、二次元コードの読取時の誤認識を抑制できる。
【実施例４】
【０１９５】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。例えば、二次元コードの形状は上で説明したものに限られず、例えば図２８に示すように、セルが略正方形状ではない形状であったり、カラーパターンが左右非対称であったりしてもよい。
【０１９６】
図２８は、実施例４におけるその他の二次元コードの形状の一例を示す図である。図２８の（ａ）及び（ｂ）は、セルが略正方形状以外の形状であり、かつカラーパターンが左右非対称である例を示す。また、図２８の（ｃ）は、セルは略正方形状であるが、カラーパターンが矢印形状であり、かつセルグループ及びセルの配置がランダムである例を示す。このように、本実施例によれば、デザイン性が高く、また読取方向を容易に特定できる二次元コードを生成できる。
【０１９７】
なお、位置特性セルを付すことにより、読取方向を容易に特定できる二次元コードを生成してもよい。図２９は、実施例４における位置特定セルを含む二次元コードの一例を示す図である。図２９は、左右上下略対称の二次元コードに、位置特定セル（１）を付した例を示す。このように二次元コードに位置特性セルを付すことにより、読取方向を容易に特定できる二次元コードをできる。
【０１９８】
さらに、カラーパターン印刷装置２００においてカラーパターンを印刷する際に、セルの配置を選択できるような構成であってもよい。図３０は、実施例４におけるセル配置選択画面の一例を示す図である。図３０は、複数のセル配置を含むセル配置テンプレートの一覧から、矢印型のテンプレート３９０１を選択した場合における画面例を示す。
【０１９９】
また、管理サーバ１００のエンコード部１３２は、カラーパターンＤＢ１２１を参照して、発送元ＩＤに対応するカラーパターンを取得するのではなく、取得した発送元ＩＤを３進法に変換することによりカラーパターンを特定してもよい。同様に、エンコード部１３２は、モノクロパターンＤＢ１２２を参照して荷物ＩＤに対応するモノクロパターンを取得するのではなく、デコード部１３３において荷物ＩＤを（２＾Ｍ−１）進法に変換することによりモノクロパターンを特定してもよい。かかる構成によれば、カラーパターンＤＢ１２１及びモノクロパターンＤＢ１２２を省略し、または簡略化できる。
【０２００】
また、各実施例におけるカラーパターンに用いられる色は、マゼンダ、シアン及びイエローの３色に限られず、コードリーダ４００において読取可能なその他の色を用いてもよい。また、例えばカラーパターンの一部のセルグループが印刷されないような構成であってもよい。
【０２０１】
また、例えば実施例１において、カラーパターン印刷装置２００、モノクロパターン印刷装置３００又はコードリーダ４００が、カラーパターンＤＢ１２１及びモノクロパターンＤＢ１２２のうち少なくともいずれかを有するような構成であってもよい。かかる構成によれば、カラーパターン印刷装置２００、モノクロパターン印刷装置３００又はコードリーダ４００をスタンドアロンで運用できる。
【０２０２】
本実施例におけるコード処理システムは、例えば製品の問屋と小売店との間など、宅配便事業者と発送事業者以外の関係において用いてもよい。
【０２０３】
［システム］
また、各実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０２０４】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図７に示すエンコード部１３２とデコード部１３３とを統合してもよい。また、図２に示す受付部１３１を、エンコード受付部とデコード受付部とに分散してもよい。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０２０５】
上記の実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図３１は、コンピュータのハードウェア構成例を示す図である。図３１に示すように、コンピュータ９００は、通信インタフェース９０１、ＨＤＤ９０２、メモリ９０３、プロセッサ９０４及び入出力インタフェース９０５を有する。なお、以下においては、コードリーダ４００を例として説明するが、管理サーバ１００、カラーパターン印刷装置２００及びモノクロパターン印刷装置３００についても同様のコンピュータにより実現できる。また、実施例２乃至４における対応する各装置についても同様である。
【０２０６】
通信インタフェース９０１は、各機能部の説明時に示した通信部４１０に該当し、例えばネットワークインタフェースカードなどである。ＨＤＤ９０２は、各機能部の説明時に示した処理部を動作させるプログラムやＤＢ等を記憶する。
【０２０７】
プロセッサ９０４は、各機能部の説明時に示した各処理部と同様の処理を実行するプログラムをＨＤＤ９０２等から読み出してメモリ９０３に展開することで、図１２等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、コードリーダ４００が有するコード取得部４３１、カラーパターン特定部４３２、モノクロパターン特定部４３３及び結果出力部４３４と同様の機能を実行する。入出力インタフェース９０５は、各機能部の説明時に示した操作部４１１、カメラ４１２及び表示部４１３に該当する。
【０２０８】
このようには、プログラムを読み出して実行することで、コード読取方法を実行するコードリーダ４００として動作する。また、コードリーダ４００は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、コードリーダ４００によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【０２０９】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０２１０】
（付記１）Ｍ個（Ｍは２以上の自然数）の小領域を含み、Ｃ色（Ｃは２以上の自然数）に色分けされたＮ個（Ｎは２以上の自然数）の中領域を含むコードを読み取る読取部と、
前記中領域に含まれる色が前記Ｃ色のいずれであるかを特定する識別部と、
前記小領域が前記Ｃ色のうちいずれにも該当しない所定の色で塗り潰されているか否かを判定する判定部と、
を有することを特徴とするコード読取装置。
【０２１１】
（付記２）前記判定部は、前記中領域に含まれる前記各小領域に所定のルールで割り当てられた順序を特定し、前記小領域が前記所定の色で塗り潰されているか否かに応じて割り当てた符号を割り当てられた前記順序に従って並べた第１符号列を生成することを特徴とする付記１に記載のコード読取装置。
【０２１２】
（付記３）前記識別部は、前記中領域に所定のルールで割り当てられた順序を特定し、前記中領域が前記Ｃ色のうちいずれの色を含むかに応じて割り当てた符号を割り当てられた前記順序に従って並べた第２符号列を生成することを特徴とする付記２に記載のコード読取装置。
【０２１３】
（付記４）前記読取部は、前記中領域に含まれる前記小領域の配置及び順序を取得し、
前記判定部は、取得した前記小領域の順序及び前記中領域の順序に従って第２符号列を生成することを特徴とする付記３に記載のコード読取装置。
【０２１４】
（付記５）前記識別部は、前記中領域に含まれる前記Ｍ個の小領域のうち、少なくともいずれか１つが前記Ｃ色のいずれかであることを識別した場合に、前記中領域に含まれる色が識別された前記Ｃ色のいずれかであると識別することを特徴とする付記１乃至４のいずれか１つに記載のコード読取装置。
【０２１５】
（付記６）前記読取部は、前記小領域がＭ行Ｎ列の形状で並ぶ二次元コードを読み取ることを特徴とする付記１乃至５のいずれか１つに記載のコード読取装置。
【０２１６】
（付記７）前記判定部は、前記小領域が黒色に塗り潰されているか否かを判定することを特徴とする付記１乃至６のいずれか１つに記載のコード読取装置。
【０２１７】
（付記８）符号化する情報を変換した数値を、Ｎ桁の［（２のＭ乗）−１］進数（Ｎ及びＭは２以上の自然数）に変換し、前記Ｎ桁の［（２のＭ乗）−１］進数の各桁の値をそれぞれＭ桁の２進数に変換する変換部と、
Ｃ色（Ｃは２以上の自然数）に色分けされたＭ個の小領域を含むＮ個の中領域を含むコードのうち、前記２進数の値に従い、各小領域に前記Ｃ色のうちいずれにも該当しない所定の色を印刷するか否かを判定する判定部と
を有するコード生成装置。
【０２１８】
（付記９）前記判定部は、前記各中領域に含まれる前記各小領域のうち、少なくとも一つを前記所定の色に印刷しないと判定することを特徴とする付記８に記載のコード生成装置。
【０２１９】
（付記１０）前記変換部は、前記各中領域を所定のルールに基づいて順序づけるとともに、前記各中領域に含まれる各小領域を所定のルールに基づいて順序づけ、
前記判定部は、前記Ｍ桁の２進数の値が１である場合に、前記２進数の順序に対応する前記順序づけられた小領域を前記所定の色に印刷すると判定することを特徴とする付記８に記載のコード生成装置。
【０２２０】
（付記１１）前記変換部は、前記各中領域を一番左側の中領域から右側の中領域へと順序づけ、前記各小領域を一番上の小領域から下方向の小領域の行へと順序づけることを特徴とする付記８に記載のコード生成装置。
【０２２１】
（付記１２）前記判定部は、前記コードに予め表示された各小領域の第１の境界線の位置に応じて、第２の境界線を印刷することを特徴とする付記８乃至１１のいずれか１つに記載のコード生成装置。
【０２２２】
（付記１３）前記判定部は、前記第２の境界線の幅を印刷装置の印刷特性に応じて設定することを特徴とする付記１２に記載のコード生成装置。
【０２２３】
（付記１４）第１の符号化する情報を変換した数値に応じて、カラーパターンで表現する色の数Ｃ（Ｃは２以上の自然数）と、中領域の数Ｎ（Ｎは２以上の自然数）とを決定する第１決定部と、
第２の符号化する情報を変換した数値に応じて、前記中領域に含まれる小領域の数Ｍ（Ｍは２以上の自然数）を決定する第２決定部と、
決定した前記Ｍ個の小領域を含む前記Ｎ個の中領域を、それぞれ前記色Ｃのうちいずれかに決定することを指定する情報を出力する出力部と、
を有するコード生成装置。
【０２２４】
（付記１５）前記出力部は、前記小領域の境界線の幅を印刷装置の印刷特性に応じて設定し、前記境界線を前記色Ｃのうちいずれにも該当しない所定の色で印刷することを指定する情報を出力することを特徴とする付記１４に記載のコード生成装置。
【０２２５】
（付記１６）色情報を保持するＭ個の小領域（Ｍは２以上の自然数）を含む、Ｎ個の中領域（Ｎは２以上の自然数）を含む印刷物であって、
前記中領域に含まれる前記Ｍ個の小領域の全てに、Ｃ色（Ｃは２以上の自然数）のうちいずれか１色が印刷されることにより、前記中領域の色情報を一つ特定し、
前記中領域に含まれる前記Ｍ個の小領域のうちＭ個未満の小領域に、前記Ｃ色のいずれにも該当しない所定の色が印刷されることにより、特定された前記中領域の色情報を保持しながら、前記小領域の塗り潰し情報を特定する
ことを特徴とする印刷物。
【０２２６】
（付記１７）コンピュータが、
Ｍ個（Ｍは２以上の自然数）の小領域を含み、Ｃ色（Ｃは２以上の自然数）に色分けされたＮ個（Ｎは２以上の自然数）の中領域を含むコードを読み取り、
前記中領域に含まれる色が前記Ｃ色のいずれであるかを特定し、
前記小領域が前記Ｃ色のうちいずれにも該当しない所定の色で塗り潰されているか否かを判定する
処理を行うコード読取方法。
【０２２７】
（付記１８）コンピュータが、
符号化する情報を変換した数値を、Ｎ桁の［（２のＭ乗）−１］進数（Ｎ及びＭは２以上の自然数）に変換し、前記Ｎ桁の［（２のＭ乗）−１］進数の各桁の値をそれぞれＭ桁の２進数に変換し、
Ｃ色（Ｃは２以上の自然数）に色分けされたＭ個の小領域を含むＮ個の中領域を含むコードのうち、前記２進数の値に従い、各小領域に前記Ｃ色のうちいずれにも該当しない所定の色を印刷するか否かを判定する
処理を行うコード生成方法。
【０２２８】
（付記１９）コンピュータに、
Ｍ個（Ｍは２以上の自然数）の小領域を含み、Ｃ色（Ｃは２以上の自然数）に色分けされたＮ個（Ｎは２以上の自然数）の中領域を含むコードを読み取り、
前記中領域に含まれる色が前記Ｃ色のいずれであるかを特定し、
前記小領域が前記Ｃ色のうちいずれにも該当しない所定の色で塗り潰されているか否かを判定する
処理を行わせるコード読取プログラム。
【０２２９】
（付記２０）コンピュータに、
符号化する情報を変換した数値を、Ｎ桁の［（２のＭ乗）−１］進数（Ｎ及びＭは２以上の自然数）に変換し、前記Ｎ桁の［（２のＭ乗）−１］進数の各桁の値をそれぞれＭ桁の２進数に変換し、
Ｃ色（Ｃは２以上の自然数）に色分けされたＭ個の小領域を含むＮ個の中領域を含むコードのうち、前記２進数の値に従い、各小領域に前記Ｃ色のうちいずれにも該当しない所定の色を印刷するか否かを判定する
処理を行わせるコード生成プログラム。
【符号の説明】
【０２３０】
１００  管理サーバ
１１０  通信部
１２０  記憶部
１２１  カラーパターンＤＢ
１２２  モノクロパターンＤＢ
１３０  制御部
１３１  受付部
１３２  エンコード部
１３３  デコード部
【図１】
2018195032.tif 000003
【図２】
2018195032.tif 000004
【図３】
2018195032.tif 000005
【図４】
2018195032.tif 000006
【図５】
2018195032.tif 000007
【図６】
2018195032.tif 000008
【図７】
2018195032.tif 000009
【図８】
2018195032.tif 000010
【図９】
2018195032.tif 000011
【図１０】
2018195032.tif 000012
【図１１】
2018195032.tif 000013
【図１２】
2018195032.tif 000014
【図１３】
2018195032.tif 000015
【図１４】
2018195032.tif 000016
【図１５】
2018195032.tif 000017
【図１６】
2018195032.tif 000018
【図１７】
2018195032.tif 000019
【図１８】
2018195032.tif 000020
【図１９】
2018195032.tif 000021
【図２０】
2018195032.tif 000022
【図２１】
2018195032.tif 000023
【図２２】
2018195032.tif 000024
【図２３】
2018195032.tif 000025
【図２４】
2018195032.tif 000026
【図２５】
2018195032.tif 000027
【図２６】
2018195032.tif 000028
【図２７】
2018195032.tif 000029
【図２８】
2018195032.tif 000030
【図２９】
2018195032.tif 000031
【図３０】
2018195032.tif 000032
【図３１】
2018195032.tif 000033