(57)【要約】【課題】通常では読めない二次元コードを簡易に提供し得る二次元コードの表示方法、ＱＲコード、表示媒体、プログラムを実現する。【解決手段】ＱＲコードＱａでは、表示領域Ｓの四隅のうちの３箇所に位置検出パターンＦＰａ，ＦＰｂ，ＦＰｃが位置することから、当該表示領域Ｓの対角に位置する位置検出パターンＦＰｂ・ＦＰｃを通る対角線を回転軸αとしてＱＲコードＱａを回転させたように、当該ＱＲコードＱａを表裏反対に表示媒体Ｐに表示する。これにより、表裏反転したＱＲコードＲａは、データコード語および誤り訂正コード語の配置や並びの方向が表裏では異なることから、このように表裏反転したＱＲコードＲａを、通常の二次元コードリーダで読み取ろうとしても誤り訂正機能は正常に働くことなく、正常にデコードできない。したがって、当該表裏反転により通常では読めない二次元コードＲが簡易に得られる。【選択図】図１
2007265354.tif 000002
【特許請求の範囲】
【請求項１】
位置検出パターンを有する二次元コードを表示媒体に表示する二次元コードの表示方法であって、前記二次元コードを表裏反対に前記表示媒体に表示することを特徴とする二次元コードの表示方法。
【請求項２】
前記二次元コードの表示領域が矩形状で、前記位置検出パターンが当該矩形状の四隅のうちの３箇所に位置する二次元コードの表示方法であって、
前記矩形状の対角に位置する前記位置検出パターンを通る対角線を回転軸として前記二次元コードを回転させたように、前記二次元コードを表裏反対に前記表示媒体に表示することを特徴とする請求項１記載の二次元コードの表示方法。
【請求項３】
前記二次元コードの表示領域が矩形状で、前記位置検出パターンが当該矩形状の四辺のうちの隣接する二辺に沿った線状に位置する二次元コードの表示方法であって、
前記位置検出パターンの位置する辺をほぼ垂直に通る直線を回転軸として前記二次元コードを回転させたように、前記二次元コードを表裏反対に前記表示媒体に表示することを特徴とする請求項１記載の二次元コードの表示方法。
【請求項４】
前記二次元コードはＱＲコードであり、前記表裏反対に表示される前記二次元コードの正面左上隅には、前記位置検出パターンが位置していないことを特徴とする請求項１または２記載の二次元コードの表示方法。
【請求項５】
前記二次元コードはデータマトリクスであり、前記表裏反対に表示される前記二次元コードの正面左側辺および正面下側辺には、前記位置検出パターンが位置していないことを特徴とする請求項１または３記載の二次元コードの表示方法。
【請求項６】
前記表裏反対に表示される前記二次元コードの近傍に、当該二次元コードは正常な読み取りができない旨を前記表示媒体に表示することを特徴とする請求項１〜５のいずれか一項に記載の二次元コードの表示方法。
【請求項７】
表示媒体に表裏反対に表示されるＱＲコードであって、
当該ＱＲコードが表示される表示領域の正面左上隅には、当該ＱＲコードの位置検出パターンが位置していないことを特徴とするＱＲコード。
【請求項８】
請求項７記載のＱＲコードが表示される表示媒体であって、
前記ＱＲコードは正常な読み取りができない旨の表示を備えていることを特徴とする表示媒体。
【請求項９】
位置検出パターンを有する二次元コードを表裏反対に生成する生成手段、および、
二次元コードを表示媒体に表示可能な出力装置に対して前記生成手段により生成された表裏反対の二次元コードを表示させるように制御する出力制御手段、
としてコンピュータを機能させるためのプログラム。
【請求項１０】
前記生成手段は、
そのまま前記表示媒体に表示させたとすれば、通常にデコード可能な通常コードを生成する通常コード生成手段と、
前記通常コードを表裏反対に反転させ通常にデコード不可能な反転コードを、前記表裏反対の二次元コードとして生成する反転コード生成手段と、
を備えることを特徴とする請求項９記載のプログラム。
【請求項１１】
前記通常コードを前記表示媒体に表示させたとすれば、その表示領域が矩形状で、前記位置検出パターンが当該矩形状の四隅のうちの３箇所に位置する場合において、
前記反転コード生成手段は、
前記矩形状の対角に位置する前記位置検出パターンを通る対角線を回転軸として前記通常コードを回転させたように、前記通常コードを表裏反対に反転させることを特徴とする請求項１０記載のプログラム。
【請求項１２】
前記通常コードを前記表示媒体に表示させたとすれば、その表示領域が矩形状で、前記位置検出パターンが当該矩形状の四辺のうちの隣接する二辺に沿った線状に位置する場合において、
前記反転コード生成手段は、
前記位置検出パターンの位置する辺をほぼ垂直に通る直線を回転軸として前記通常コードを回転させたように、前記通常コードを表裏反対に反転させることを特徴とする請求項１０記載のプログラム。
【請求項１３】
前記通常コードはＱＲコードであり、前記二次元コードを前記表示媒体に表示させた場合、前記表示媒体に表示された二次元コードの正面左上隅には、前記位置検出パターンが位置していないことを特徴とする請求項１０または１１記載のプログラム。
【請求項１４】
前記通常コードはデータマトリクスであり、前記二次元コードを前記表示媒体に表示させた場合、前記表示媒体に表示された二次元コードの正面左側辺および正面下側辺には、前記位置検出パターンが位置していないことを特徴とする請求項１０または１２記載のプログラム。
【請求項１５】
前記出力制御手段は、前記表示媒体に前記表裏反対に表示させる二次元コードの近傍に、当該二次元コードは正常な読み取りができない旨を表示するように前記出力装置を制御することを特徴とする請求項９〜１４のいずれか一項に記載のプログラム。
【請求項１６】
位置検出パターンを有する二次元コードで表裏反対に表示媒体に反転表示された反転コードを読取り可能な二次元コード読取装置であって、
前記反転コードの鏡像を映す鏡手段と、
前記鏡手段に映された前記反転コードの鏡像を撮像する撮像手段と、
前記撮像手段により撮像された前記反転コードの鏡像の画像情報に基づいて前記二次元コードとして符号化された情報を復号する復号手段と、
前記復号手段により復号された情報を外部に出力する出力手段と、
を備えることを特徴とする二次元コード読取装置。
【請求項１７】
位置検出パターンを有する二次元コードで表裏反対に表示媒体に反転表示された反転コードを読取り可能な二次元コード読取装置であって、
前記反転コードを撮像する撮像手段と、
前記撮像手段により撮像された前記反転コードの画像情報を前記反転コードの鏡像の画像情報に変換する変換手段と、
前記変換手段により前記反転コードの鏡像の画像情報に基づいて前記二次元コードとして符号化された情報を復号する復号手段と、
前記復号手段により復号された情報を外部に出力する出力手段と、
を備えることを特徴とする二次元コード読取装置。
【請求項１８】
前記変換手段は、
格納位置を二次元情報で特定可能な配列相当に画像情報を蓄積する蓄積手段と、
前記反転コードの画像情報を前記蓄積手段に格納する格納手段と、
前記蓄積手段から取り出した前記反転コードの画像情報が前記反転コードの鏡像になる順番で、前記蓄積手段から当該画像情報を取り出す取出手段と、
を備えることを特徴とする請求項１７記載の二次元コード読取装置。
【請求項１９】
前記変換手段は、
格納位置を二次元情報で特定可能な配列相当に画像情報を蓄積する蓄積手段と、
前記蓄積手段に蓄積された画像情報を所定の順番で取り出す取出手段と、
前記所定の順番で前記蓄積手段から取り出した前記画像情報が前記反転コードの鏡像になるように、前記反転コードの画像情報を前記蓄積手段に格納する格納手段と、
を備えることを特徴とする請求項１７記載の二次元コード読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二次元コードの表示方法、ＱＲコード、表示媒体、プログラムおよび二次元コード読取装置に関するものである。
【背景技術】
【０００２】
近年、ＱＲコード等の二次元コードの急速な普及に伴い、専用の二次元コード読取装置に限られることなく、例えば、ディジタルカメラの機能が付加された携帯電話機（以下「カメラ付き携帯」という）やＰＤＡ（以下「カメラ付きＰＤＡ」という（ＰＤＡ；Personal Digital Assistants））といった汎用型の携帯端末装置でも、容易に二次元コードを読み取ることが可能になっている。
【０００３】
このような二次元コードが、ＪＡＮコードをはじめとする一次元コードに比べて幅広く利用されるようになったのは、表すことのできる情報が一次元コードの１０倍〜１００倍であることや、英数字に限られることなく仮名文字や漢字も表現可能であるためである。例えば、インターネット上の特定サイトへの誘導を可能とするＵＲＬやその他の様々な情報の提供手段として、商品やその包装あるいは広告・新聞・雑誌等に印刷されている二次元コードを日常的に目にすることが多い。
【０００４】
また、昨今では、このような印刷媒体のみならず、パーソナルコンピュータ（以下「パソコン」という）、携帯電話機やＰＤＡ等の表示画面に直接表示しそれをカメラ付き携帯等に読み取らせるといった表示態様の二次元コードも登場している。なお、本明細書では二次元コードを表示する媒体として、紙や包装材等の印刷媒体をも含めたものを表示媒体と称する。
【０００５】
このように商品の流通（物流）業界のみならず、社会日常一般の様々な場面で登場し得る二次元コードは、従来の一次元コードのように単なる商品等のタグとして識別情報を表示するばかりでなく、それ自体が新たな情報媒体として機能しつつある。このため、誰にでも手軽にかつ簡単に読み取りができるという一般的な市場ニーズばかりでなく、例えば、特定の関係者が持っている携帯端末装置では容易に読み取ることができても、それ以外の者が持つカメラ付き携帯等では読み取られたくないという特殊なニーズもある。
【０００６】
例えば、下記特許文献１に開示される「コード札」のように「位置情報については誰にでも簡単に把握することができても、画地や道路の地下情報については特定の者以外には知られないようにする」とった情報の内容によって秘匿性の有無を峻別可能な二次元コードのニーズが存在する。
【０００７】
この開示技術では、誰にでも読み取りを可能にする位置情報については暗号化されていない通常の二次元コードで表し、特定の者にのみ読み取りを可能にする画地や道路の地下情報については暗号の入力を条件にデコード可能な二次元コードで表すことで、このような情報の秘匿性の有無を峻別可能にしている。
【特許文献１】特開２００５−２２７５２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記特許文献１に開示される技術によると、特定の者にのみ読み取りを可能にする画地や道路の地下情報については、暗号の入力を条件にデコードを可能にしている。このため、暗号の登録や照合といった個人認証のためのソフトウェアを二次元コードの読取装置に持たせる必要があるほか、このような二次元コードを読み取るたびに、入力インターフェースを介して暗号入力を強いられることから、操作が煩雑となって操作性が低下するという問題がある。
【０００９】
また、このような暗号の入力を促す二次元コードは、通常の二次元コードの生成装置では生成できないことから、通常の二次元コードに対して専用のフォーマットを設定したり、また専用の生成ソフトを開発したりする必要が生じる。このため、このような暗号化された二次元コードの生成や解読（デコード）には、新たなシステム開発が伴うことから、導入に際して相当の開発費が必要となるという問題がある。
【００１０】
本発明は、上述した課題を解決するためになされたものであり、その目的とするところは、通常では読めない二次元コードを簡易に提供し得る二次元コードの表示方法、ＱＲコード、表示媒体、プログラムを実現することにある。
また、本発明の別の目的は、通常では読めない二次元コードを簡易に読み取り得る二次元コード読取装置を実現することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、特許請求の範囲に記載の請求項１の二次元コードの表示方法では、位置検出パターンを有する二次元コードを表示媒体に表示する二次元コードの表示方法であって、前記二次元コードを表裏反対に前記表示媒体に表示することを技術的特徴とする。なお、位置検出パターンは、「切り出しシンボル」とも称する。
【００１２】
特許請求の範囲に記載の請求項２の二次元コードの表示方法では、請求項１記載の二次元コードの表示方法において、前記二次元コードの表示領域が矩形状で、前記位置検出パターンが当該矩形状の四隅のうちの３箇所に位置する二次元コードの表示方法であって、
前記矩形状の対角に位置する前記位置検出パターンを通る対角線を回転軸として前記二次元コードを回転させたように、前記二次元コードを表裏反対に前記表示媒体に表示することを技術的特徴とする。
【００１３】
特許請求の範囲に記載の請求項３の二次元コードの表示方法では、請求項１記載の二次元コードの表示方法において、前記二次元コードの表示領域が矩形状で、前記位置検出パターンが当該矩形状の四辺のうちの隣接する二辺に沿った線状に位置する二次元コードの表示方法であって、前記位置検出パターンの位置する辺をほぼ垂直に通る直線を回転軸として前記二次元コードを回転させたように、前記二次元コードを表裏反対に前記表示媒体に表示することを技術的特徴とする。
【００１４】
特許請求の範囲に記載の請求項４の二次元コードの表示方法では、請求項１または２記載の二次元コードの表示方法において、前記二次元コードはＱＲコードであり、前記表裏反対に表示される前記二次元コードの正面左上隅には、前記位置検出パターンが位置していないことを技術的特徴とする。
【００１５】
特許請求の範囲に記載の請求項５の二次元コードの表示方法では、請求項１または３記載の二次元コードの表示方法において、前記二次元コードはデータマトリクスであり、前記表裏反対に表示される前記二次元コードの正面左側辺および正面下側辺には、前記位置検出パターンが位置していないことを技術的特徴とする。なお、データマトリクスは、「データコード」とも称する。
【００１６】
特許請求の範囲に記載の請求項６の二次元コードの表示方法では、請求項１〜５のいずれか一項に記載の二次元コードの表示方法において、前記表裏反対に表示される前記二次元コードの近傍に、当該二次元コードは正常な読み取りができない旨を前記表示媒体に表示することを技術的特徴とする。
【００１７】
特許請求の範囲に記載の請求項７のＱＲコードでは、表示媒体に表裏反対に表示されるＱＲコードであって、当該ＱＲコードが表示される表示領域の正面左上隅には、当該ＱＲコードの位置検出パターンが位置していないことを技術的特徴とする。
【００１８】
特許請求の範囲に記載の請求項８の表示媒体では、請求項７記載のＱＲコードが表示される表示媒体であって、前記ＱＲコードは正常な読み取りができない旨の表示を備えていることを技術的特徴とする。
【００１９】
特許請求の範囲に記載の請求項９のプログラムでは、位置検出パターンを有する二次元コードを表裏反対に生成する生成手段、および、二次元コードを表示媒体に表示可能な出力装置に対して前記生成手段により生成された表裏反対の二次元コードを表示させるように制御する出力制御手段、としてコンピュータを機能させることを技術的特徴とする。
【００２０】
特許請求の範囲に記載の請求項１０のプログラムでは、請求項９記載のプログラムにおおいて、前記生成手段は、そのまま前記表示媒体に表示させたとすれば、通常にデコード可能な通常コードを生成する通常コード生成手段と、前記通常コードを表裏反対に反転させ通常にデコード不可能な反転コードを、前記表裏反対の二次元コードとして生成する反転コード生成手段と、を備えることを技術的特徴とする。
【００２１】
特許請求の範囲に記載の請求項１１のプログラムでは、請求項１０記載のプログラムにおいて、前記通常コードを前記表示媒体に表示させたとすれば、その表示領域が矩形状で、前記位置検出パターンが当該矩形状の四隅のうちの３箇所に位置する場合において、前記反転コード生成手段は、前記矩形状の対角に位置する前記位置検出パターンを通る対角線を回転軸として前記通常コードを回転させたように、前記通常コードを表裏反対に反転させることを技術的特徴とする。
【００２２】
特許請求の範囲に記載の請求項１２のプログラムでは、請求項１０記載のプログラムにおいて、前記通常コードを前記表示媒体に表示させたとすれば、その表示領域が矩形状で、前記位置検出パターンが当該矩形状の四辺のうちの隣接する二辺に沿った線状に位置する場合において、前記反転コード生成手段は、前記位置検出パターンの位置する辺をほぼ垂直に通る直線を回転軸として前記通常コードを回転させたように、前記通常コードを表裏反対に反転させることを技術的特徴とする。
【００２３】
特許請求の範囲に記載の請求項１３のプログラムでは、請求項１０または１１記載のプログラムにおいて、前記通常コードはＱＲコードであり、前記二次元コードを前記表示媒体に表示させた場合、前記表示媒体に表示された二次元コードの正面左上隅には、前記位置検出パターンが位置していないことを技術的特徴とする。
【００２４】
特許請求の範囲に記載の請求項１４のプログラムでは、請求項１０または１２記載のプログラムにおいて、前記通常コードはデータマトリクスであり、前記二次元コードを前記表示媒体に表示させた場合、前記表示媒体に表示された二次元コードの正面左側辺および正面下側辺には、前記位置検出パターンが位置していないことを技術的特徴とする。
【００２５】
特許請求の範囲に記載の請求項１５のプログラムでは、請求項９〜１４のいずれか一項に記載のプログラムにおいて、前記出力制御手段は、前記表示媒体に前記表裏反対に表示させる二次元コードの近傍に、当該二次元コードは正常な読み取りができない旨を表示するように前記出力装置を制御することを技術的特徴とする。
【００２６】
特許請求の範囲に記載の請求項１６の二次元コード読取装置では、位置検出パターンを有する二次元コードで表裏反対に表示媒体に反転表示された反転コードを読取り可能な二次元コード読取装置であって、前記反転コードの鏡像を映す鏡手段と、前記鏡手段に映された前記反転コードの鏡像を撮像する撮像手段と、前記撮像手段により撮像された前記反転コードの鏡像の画像情報に基づいて前記二次元コードとして符号化された情報を復号する復号手段と、前記復号手段により復号された情報を外部に出力する出力手段と、を備えることを技術的特徴とする。
【００２７】
特許請求の範囲に記載の請求項１７の二次元コード読取装置では、位置検出パターンを有する二次元コードで表裏反対に表示媒体に反転表示された反転コードを読取り可能な二次元コード読取装置であって、前記反転コードを撮像する撮像手段と、前記撮像手段により撮像された前記反転コードの画像情報を前記反転コードの鏡像の画像情報に変換する変換手段と、前記変換手段により前記反転コードの鏡像の画像情報に基づいて前記二次元コードとして符号化された情報を復号する復号手段と、前記復号手段により復号された情報を外部に出力する出力手段と、を備えることを技術的特徴とする。
【００２８】
特許請求の範囲に記載の請求項１８の二次元コード読取装置では、請求項１７記載の二次元コード読取装置において、前記変換手段は、格納位置を二次元情報で特定可能な配列相当に画像情報を蓄積する蓄積手段と、前記反転コードの画像情報を前記蓄積手段に格納する格納手段と、前記蓄積手段から取り出した前記反転コードの画像情報が前記反転コードの鏡像になる順番で、前記蓄積手段から当該画像情報を取り出す取出手段と、を備えることを技術的特徴とする。
【００２９】
特許請求の範囲に記載の請求項１９の二次元コード読取装置では、請求項１７記載の二次元コード読取装置において、前記変換手段は、格納位置を二次元情報で特定可能な配列相当に画像情報を蓄積する蓄積手段と、前記蓄積手段に蓄積された画像情報を所定の順番で取り出す取出手段と、前記所定の順番で前記蓄積手段から取り出した前記画像情報が前記反転コードの鏡像になるように、前記反転コードの画像情報を前記蓄積手段に格納する格納手段と、を備えることを技術的特徴とする。
【発明の効果】
【００３０】
請求項１の発明（二次元コードの表示方法）では、位置検出パターンを有する二次元コードを表裏反対に表示媒体に表示する。これにより、表裏反対に表示媒体に表示される二次元コードは、当該位置検出パターンに対する位置関係も表裏反転するので、表裏反転した位置検出パターンに基づいて二次元コードの内容をデコードしようとしても、正常にデコードすることが困難となる。したがって、通常では読めない二次元コードを簡易に提供することができる。また、表裏反転した二次元コードを鏡に映すことによってできる二次元コードの鏡像をデコードすれば正常に読み取ることができるので、操作性を低下させることなく当該二次元コードを読み取ることが可能となる。
【００３１】
請求項２の発明（二次元コードの表示方法）では、矩形状の対角に位置する位置検出パターンを通る対角線を回転軸として二次元コードを回転させたように、二次元コードを表裏反対に表示媒体に表示する。これにより、表裏反対に表示媒体に表示される二次元コードは、当該矩形状の四隅のうち、本来、存在することのない隅に位置検出パターンが位置しているので、「表裏反転しているもの」と「表裏反転していないもの」とを視覚的に容易に区別することができる。したがって、当該二次元コードを読み取ろうとしている読取り作業者等に対して当該二次元コードが通常のものでなく、反転していることを積極的に知らせ、また注意を促すことができる。
【００３２】
請求項３の発明（二次元コードの表示方法）では、位置検出パターンの位置する辺をほぼ垂直に通る直線を回転軸として二次元コードを回転させたように、二次元コードを表裏反対に表示媒体に表示する。これにより、表裏反対に表示媒体に表示される二次元コードは、当該矩形状の四辺のうち、本来、存在することのない二辺に沿って線状に位置検出パターンが位置しているので、「表裏反転しているもの」と「表裏反転していないもの」とを視覚的に容易に区別することができる。したがって、当該二次元コードを読み取ろうとしている読取り作業者等に対して当該二次元コードが通常のものでなく、反転していることを積極的に知らせ、また注意を促すことができる。
【００３３】
請求項４の発明（二次元コードの表示方法）では、二次元コードはＱＲコードであり、表裏反対に表示される二次元コードの正面左上隅には、位置検出パターンが位置していない。これにより、表裏反対に表示媒体に表示されるＱＲコードは、当該矩形状の四隅のうち、本来、存在するはずの正面左上隅に位置検出パターンが位置していないので、「表裏反転しているＱＲコード」と「表裏反転していないＱＲコード」とを視覚的に容易に区別することができる。したがって、当該ＱＲコードを読み取ろうとしている読取り作業者等に対して当該ＱＲコードが通常のものでなく、反転していることを積極的に知らせ、また注意を促すことができる。
【００３４】
請求項５の発明（二次元コードの表示方法）では、二次元コードはデータマトリクスであり、表裏反対に表示される二次元コードの正面左側辺および正面下側辺には、位置検出パターンが位置していない。これにより、表裏反対に表示媒体に表示されるデータマトリクスは、当該矩形状の四辺のうち、本来、存在するはずの正面左側辺および正面下側辺に沿って線状に位置検出パターンが位置していないので、「表裏反転しているデータマトリクス」と「表裏反転していないデータマトリクス」とを視覚的に容易に区別することができる。したがって、当該データマトリクスを読み取ろうとしている読取り作業者等に対して当該データマトリクスが通常のものでなく、反転していることを積極的に知らせ、また注意を促すことができる。
【００３５】
請求項６の発明（二次元コードの表示方法）では、表裏反対に表示される二次元コードの近傍に、当該二次元コードは正常な読み取りができない旨を表示媒体に表示する。これにより、当該二次元コードは正常なものではなく、そのままでは読み取りができない旨を読取り作業者等に視覚的かつ言語的に告知できる。したがって、外観上、区別のつきにくい「表裏反転しているもの」と「表裏反転していないもの」との差異を明確にできるので反転した二次元コードが正常な二次元コードであるとの誤解を避けることができる。
【００３６】
請求項７の発明（ＱＲコード）では、当該ＱＲコードが表示される表示領域の正面左上隅には、当該ＱＲコードの位置検出パターンが位置していない。これにより、当該ＱＲコードは、位置検出パターンに対する位置関係も表裏反転するので、表裏反転した位置検出パターンに基づいてＱＲコードの内容をデコードしようとしても、正常にデコードすることが困難となる。また、本来、存在するはずの正面左上隅に位置検出パターンが位置していないので、「表裏反転しているＱＲコード」と「表裏反転していないＱＲコード」とを視覚的に容易に区別することができる。したがって、通常では読めないＱＲコードを簡易に提供することができ、反転していることを当該ＱＲコードを読み取ろうとしている読取り作業者等に対して、積極的に知らせ、また注意を促すことができる。また、表裏反転したＱＲコードを鏡に映すことによってできるＱＲコードの鏡像をデコードすれば正常に読み取ることができるので、操作性を低下させることなく当該ＱＲコードを読み取ることが可能となる。
【００３７】
請求項８の発明（表示媒体）では、ＱＲコードは正常な読み取りができない旨の表示を備えている。これにより、当該ＱＲコードは正常なものではなく、そのままでは読み取りができない旨を読取り作業者等に視覚的かつ言語的に告知できる。したがって、外観上、区別のつきにくい「表裏反転しているＱＲコード」と「表裏反転していないＱＲコード」との差異を明確にできるので、当該反転したＱＲコードが正常なＱＲコードであるとの誤解を避けることができる。
【００３８】
請求項９の発明（プログラム）では、コンピュータを、生成手段により位置検出パターンを有する二次元コードを表裏反対に生成するように機能させ、出力制御手段により二次元コードを表示媒体に表示可能な出力装置に対して生成手段により生成された表裏反対の二次元コードを表示させるように制御する。これにより、表示媒体には、表裏反対に表示された二次元コードが出力されるので、この出力された二次元コードは、当該位置検出パターンに対する位置関係も表裏反転するので、表裏反転した位置検出パターンに基づいて二次元コードの内容をデコードしようとしても、正常にデコードすることが困難となる。したがって、通常では読めない二次元コードを簡易に提供することができる。また、表裏反転した二次元コードを鏡に映すことによってできる二次元コードの鏡像をデコードすれば正常に読み取ることができるので、操作性を低下させることなく当該二次元コードを読み取ることが可能となる。
【００３９】
請求項１０の発明（プログラム）では、通常コード生成手段によりそのまま表示媒体に表示させたとすれば、通常にデコード可能な通常コードを生成し、反転コード生成手段により通常コードを表裏反対に反転させ通常にデコード不可能な反転コードを、表裏反対の二次元コードとして生成する。これにより、通常コードを生成してから、当該通常コードを表裏反対に反転させて反転コードを生成すれば良いので、例えば、メモリ配置上で、アドレス変換するといった比較的容易にアルゴリズムによって反転コードを生成することができる。したがって、通常コードを暗号化してそれをまた二次元コードに変換するよりも簡素な構成によりプログラムが実現できるので、導入に際してのシステム開発費等を低減することができる。
【００４０】
請求項１１の発明（プログラム）では、反転コード生成手段は、矩形状の対角に位置する位置検出パターンを通る対角線を回転軸として通常コードを回転させたように、通常コードを表裏反対に反転させる。これにより、表裏反対に反転された二次元コードは、当該矩形状の四隅のうち、本来、存在することのない隅に位置検出パターンが位置しているので、「表裏反転しているもの」と「表裏反転していないもの」とを視覚的に容易に区別することができる。したがって、当該二次元コードを読み取ろうとしている読取り作業者等に対して当該二次元コードが通常のものでなく、反転していることを積極的に知らせ、また注意を促すことができる。
【００４１】
請求項１２の発明（プログラム）では、反転コード生成手段は、位置検出パターンの位置する辺をほぼ垂直に通る直線を回転軸として通常コードを回転させたように、通常コードを表裏反対に反転させる。これにより、表裏反対に反転された二次元コードは、当該矩形状の四辺のうち、本来、存在することのない二辺に沿って線状に位置検出パターンが位置しているので、「表裏反転しているもの」と「表裏反転していないもの」とを視覚的に容易に区別することができる。したがって、当該二次元コードを読み取ろうとしている読取り作業者等に対して当該二次元コードが通常のものでなく、反転していることを積極的に知らせ、また注意を促すことができる。
【００４２】
請求項１３の発明（プログラム）では、通常コードはＱＲコードであり、二次元コードを表示媒体に表示させた場合、表示媒体に表示された二次元コードの正面左上隅には、位置検出パターンが位置していない。これにより、表裏反対に表示媒体に表示されるＱＲコードは、当該矩形状の四隅のうち、本来、存在するはずの正面左上隅に位置検出パターンが位置していないので、「表裏反転しているＱＲコード」と「表裏反転していないＱＲコード」とを視覚的に容易に区別することができる。したがって、当該ＱＲコードを読み取ろうとしている読取り作業者等に対して当該ＱＲコードが通常のものでなく、反転していることを積極的に知らせ、また注意を促すことができる。
【００４３】
請求項１４の発明（プログラム）では、通常コードはデータマトリクスであり、二次元コードを表示媒体に表示させた場合、表示媒体に表示された二次元コードの正面左側辺および正面下側辺には、位置検出パターンが位置していない。これにより、表裏反対に表示媒体に表示されるデータマトリクスは、当該矩形状の四辺のうち、本来、存在するはずの正面左側辺および正面下側辺に沿って線状に位置検出パターンが位置していないので、「表裏反転しているデータマトリクス」と「表裏反転していないデータマトリクス」とを視覚的に容易に区別することができる。したがって、当該データマトリクスを読み取ろうとしている読取り作業者等に対して当該データマトリクスが通常のものでなく、反転していることを積極的に知らせ、また注意を促すことができる。
【００４４】
請求項１５の発明（プログラム）では、出力制御手段は、表示媒体に表裏反対に表示させる二次元コードの近傍に、当該二次元コードは正常な読み取りができない旨を表示するように出力装置を制御する。これにより、当該二次元コードは正常なものではなく、そのままでは読み取りができない旨を読取り作業者等に視覚的かつ言語的に告知できる。したがって、外観上、区別のつきにくい「表裏反転しているもの」と「表裏反転していないもの」との差異を明確にできるので反転した二次元コードが正常な二次元コードであるとの誤解を避けることができる。
【００４５】
請求項１６の発明（二次元コード読取装置）では、鏡手段により反転コードの鏡像を映し、撮像手段により鏡手段に映された反転コードの鏡像を撮像し、撮像手段により撮像された反転コードの鏡像の画像情報に基づいて二次元コードとして符号化された情報を復号手段により復号し、復号手段により復号された情報を出力手段により外部に出力する。つまり、撮像手段により撮像される像は、鏡手段により反転された鏡像になるので、鏡手段により映される二次元コードが反転コードである場合には、その鏡像は鏡手段により反転された反転コードの鏡像、即ち通常コード（反転されてないもの）になる。このため、撮像手段、復号手段および出力手段からなる既存の二次元コード読取装置に、このような鏡手段を付加するだけで、反転した二次元コードを読み取ることができる。したがって、通常では読めない二次元コードを簡易に読み取ることができる。
【００４６】
請求項１７の発明（二次元コード読取装置）では、撮像手段により反転コードを撮像し、撮像手段により撮像された反転コードの画像情報を変換手段により反転コードの鏡像の画像情報に変換し、変換手段により反転コードの鏡像の画像情報に基づいて二次元コードとして符号化された情報を復号手段により復号し、復号手段により復号された情報を出力手段により外部に出力する。つまり、変換手段により変換された反転コードの鏡像は、通常コード（反転されてないもの）になるので、撮像手段、復号手段および出力手段からなる既存の二次元コード読取装置に、このような変換手段を付加するだけで、反転した二次元コードを読み取ることができる。したがって、通常では読めない二次元コードを簡易に読み取ることができる。
【００４７】
請求項１８の発明（二次元コード読取装置）では、変換手段は、格納手段、蓄積手段および取出手段を備え、格納位置を二次元情報で特定可能な配列相当に蓄積手段に蓄積された反転コードの画像情報は、蓄積手段から取り出した反転コードの画像情報が反転コードの鏡像になる順番で、蓄積手段から取り出される。これにより、蓄積手段から取り出された反転コードの画像情報は、反転コードの鏡像、即ち通常コード（反転されてないもの）になる。このため、撮像手段、復号手段および出力手段からなる既存の二次元コード読取装置に、このような変換手段を付加するだけで、反転した二次元コードを読み取ることができる。したがって、通常では読めない二次元コードを簡易に読み取ることができる。
【００４８】
請求項１９の発明（二次元コード読取装置）では、変換手段は、格納手段、蓄積手段および取出手段を備え、所定の順番で蓄積手段から取り出した画像情報が反転コードの鏡像になるように蓄積手段に格納された反転コードの画像情報は、所定の順番で、当該蓄積手段から取り出される。これにより、蓄積手段から取り出された反転コードの画像情報は、反転コードの鏡像、即ち通常コード（反転されてないもの）になる。このため、撮像手段、復号手段および出力手段からなる既存の二次元コード読取装置に、このような変換手段を付加するだけで、反転した二次元コードを読み取ることができる。したがって、通常では読めない二次元コードを簡易に読み取ることができる。
【発明を実施するための最良の形態】
【００４９】
以下、本発明の二次元コードの表示方法、ＱＲコード、表示媒体、プログラムおよび二次元コード読取装置の実施形態について図を参照して説明する。まず、本発明の二次元コードの表示方法、ＱＲコード、表示媒体およびプログラムに係る実施形態を図１〜図５に基づいて説明する。
【００５０】
図１(A) に示すように、本実施形態に係る二次元コードの表示方法では、最初に、二次元コードとして、位置検出パターンＦＰａ，ＦＰｂ，ＦＰｃを有するＱＲコードＱａ（Ｑ）を例示して説明する（以下、このＱＲコードの例を「第１例」という）。
【００５１】
ＱＲコードは、その表示領域Ｓが矩形状（ほぼ正方形状）で、当該矩形状の左上隅、右上隅、左下隅に、位置検出パターンＦＰａ，ＦＰｂ，ＦＰｃが位置するように表示された状態が「ＱＲコードの正面」として、社会一般では認知されている。また、ＱＲコードの基本仕様（日本工業規格；ＪＩＳ Ｘ ０５１０：２００４、図１（ＱＲコードシンボルの例））にも、このような表示態様でＱＲコードが例示されている。このため、以下、本実施形態では、図１(A) および図１(B) の紙面左側や図２(A) 、図２(B) 等に示す表示状態（矩形状の左上隅、右上隅、左下隅に、位置検出パターンが存在する表示状態）を「ＱＲコードの正面」とする。
【００５２】
このように、ＱＲコードＱａでは、表示領域Ｓの四隅のうちの３箇所に位置検出パターンＦＰａ，ＦＰｂ，ＦＰｃが位置することから、当該表示領域Ｓの対角に位置する位置検出パターンＦＰｂ・ＦＰｃを通る対角線を回転軸αとしてＱＲコードＱａを回転させたように、当該ＱＲコードＱａを表裏反対に表示媒体Ｐに表示する。
【００５３】
これにより、図１(A) の紙面右側に示すように、表示媒体Ｐに表示されるＱＲコードＲａは、表裏反対に反転したものとなるため、矩形状の表示領域Ｓの右下隅に位置検出パターンＦＰａ、同右上隅に位置検出パターンＦＰｂ、同左下隅に位置検出パターンＦＰｃがそれぞれ位置することとなり、当該矩形状の四隅のうち、本来、存在するはずの正面左上隅に位置検出パターンＦＰａ（ＦＰｂ，ＦＰｃ）が位置しない。また、本来、存在するはずのない正面右下隅に位置検出パターンＦＰａが位置する。このため、「表裏反転しているもの」と「表裏反転していないもの」とを視覚的に容易に区別することができる。
【００５４】
例えば、図２(A) に示すように表裏反転されていない通常のＱＲコードＱａを前述した正面に向けて表示したものと、図２(B) に示すように表裏反転されている反転のＱＲコードＲａをＱＲコードの正面相当に向けて表示したものと、を比較すると、ＱＲコードの専門家でない限り、両者を視覚的に区別することは極めて困難であることがわかる。なお、図２(B) に示す反転したＱＲコードＲａは、同図を時計回りまたは反時計回りに１８０°回転させることで、図１(B) に示すαを軸に表裏回転させて反転したものと一致する。
【００５５】
このように、位置検出パターンＦＰｂ・ＦＰｃを通る対角線を回転軸αとして、ＱＲコードＱａを回転させることで、本来、存在するはずの正面左上隅にいずれの位置検出パターンＦＰａ〜ＦＰｃも位置しない一方、本来、存在するはずのない正面右下隅に位置検出パターンＦＰａが位置する。これにより、図２(B) に示すような通常のＱＲコードＱａと紛らわしいコードとして反転したＱＲコードＲａを生成することを防ぐことができる。したがって、反転したＱＲコードＲａを読み取ろうとしている読取り作業者等に対して当該ＱＲコードＲａが通常のものでなく、反転していることを積極的に知らせ、また注意を促すことができる。
【００５６】
また、反転したＱＲコードＲａ（図２(B) ）は、図３(A) に示すように、位置検出パターンＦＰａ，ＦＰｂ，ＦＰｃ、タイミングパターンＴＰやアライメントパターンＡＰ、そしてクワイエットゾーンＱＺやデータ領域ＤＴのいずれについても、見た目では反転していない通常のＱＲコードＱａ（図２(A) ）と区別がつかない。ところが、図３(B) に示すように、例えば、２Ｍ型のＱＲコードの場合、データ領域ＤＴを構成するデータコード語Ｄ１〜Ｄ２８や誤り訂正コード語Ｅ１〜Ｅ１６のそれぞれの配置は、「ＱＲコードの正面」に対してＱＲコードの基本仕様（日本工業規格；ＪＩＳ Ｘ ０５１０：２００４）によって定められている（２Ｍ型のＱＲコードの場合）。
【００５７】
このため、ＱＲコードＱａを表裏反転した場合には、位置検出パターンＦＰａ，ＦＰｂ，ＦＰｃやタイミングパターンＴＰ等の配置は表裏同様であっても、データコード語Ｄ１等および誤り訂正コード語Ｅ１等の配置や並びの方向が表裏では異なることから、例えば、データコード語Ｄ４が存在すべき位置に誤り訂正コード語Ｅ６等が配置されていたり、８モジュールで１語が構成されているシンボルキャラクタの内容も各モジュールの配置の変更により本来の内容とは全く異なったものに化けてしまう。
【００５８】
したがって、表裏反転したＱＲコードＲａを通常の二次元コードリーダで読み取ろうとしても、ＱＲコードの存在までは確認できるかもしれないが、誤り訂正コード語Ｅ１等自体もデータ化けを起こしているため、誤り訂正機能は正常に働くことなく、正常にデコードすることができない。
【００５９】
このように、ＱＲコードＱａを表裏反転することにより、通常では読めないＱＲコードＲａを簡易に提供することができる一方で、当該表裏反転したＱＲコードＲａを鏡に映すことで、反転したＱＲコードＲａが鏡像により表裏反転するので、当該鏡像が通常のＱＲコードＱａとなり、これをデコードすれば正常に読み取ることができる。よって、このように反転したＱＲコードＲａを鏡に映しそれを通常の二次元コードリーダで読み取ることで、操作性を低下させることなく容易に読み取ることが可能となる。
【００６０】
なお、図１(B) に示すように、ＱＲコードＱａを、「ＱＲコードの正面」向きで左右方向（矩形状の表示領域Ｓの辺に平行または垂直）に延びる軸βを回転軸として表裏反転しても良い。この場合には、反転後のＱＲコードＲａ’（Ｒ）の位置検出パターンＦＰａ，ＦＰｂ，ＦＰｃは、それぞれ左下隅、右下隅、左上隅に位置することから、本来、存在するはずの正面右上隅にいずれの位置検出パターンＦＰａ〜ＦＰｃも位置しない一方、本来、存在するはずのない正面右下隅に位置検出パターンＦＰｂが位置する。これにより、図２(B) に示すような通常のＱＲコードＱａと紛らわしいコードとして反転したＱＲコードＲａを生成することを防ぐことができるので、このように「ＱＲコードの正面」向きで左右方向に延びる回転軸βで反転しても、表裏反転していることを積極的に知らせたり、注意を促すことができる。
【００６１】
また、図示されてはいないが、ＱＲコードＱａを、「ＱＲコードの正面」向きで上下方向（矩形状の表示領域Ｓの辺に垂直または平行）に延びる軸を回転軸として表裏反転しても良い。この場合には、反転後のＱＲコードＲの位置検出パターンＦＰａ，ＦＰｂ，ＦＰｃは、それぞれ右上隅、左上隅、右下隅に位置することから、本来、存在するはずの正面左下隅にいずれの位置検出パターンＦＰａ〜ＦＰｃも位置しない一方、本来、存在するはずのない正面右下隅に位置検出パターンＦＰｃが位置する。これによっても、図２(B) に示すような通常のＱＲコードＱａと紛らわしいコードとして反転したＱＲコードＲａを生成することを防ぐことができるので、このように「ＱＲコードの正面」向きで上下方向に延びる回転軸で反転しても、表裏反転していることを積極的に知らせたり、注意を促すことができる。
【００６２】
次に、本実施形態に係る二次元コードの表示方法では、図１(C) に示すように、二次元コードとして、２本でＬ字形状をなす位置検出パターンＦＰｉ，ＦＰｊを有するデータマトリクスＱｂ（Ｑ）を例示して説明する（以下、このデータマトリクスの例を「第２例」という）。データマトリクス（データコード）は、その表示領域Ｓが矩形状（ほぼ正方形状）で、当該矩形状の四辺のうちの隣接する二辺に沿った線状に、位置検出パターンＦＰｉ，ＦＰｊ（Ｌ字型のガイドセル）が位置するように表示された状態が「データマトリクスの正面」として、社会一般では認知されている。このため、以下、本実施形態では、図１(C) の紙面左側や図２(C) および図２(D) 等に示す表示状態（矩形状の左側辺および下側辺にＬ字形状に、位置検出パターンが存在する表示状態）を「データマトリクスの正面」とする。
【００６３】
図１(C) に示すように、データマトリクスＱｂでは、表示領域Ｓの四辺のうちの２辺に位置検出パターンＦＰｉ，ＦＰｊが線状に位置することから、位置検出パターンＦＰｉの位置する辺をほぼ垂直（位置検出パターンＦＰｊの位置する辺をほぼ平行）に通る直線を回転軸γとしてデータマトリクスＱｂを回転させたように、当該データマトリクスＱｂを表裏反対に表示媒体Ｐに表示する。
【００６４】
これにより、図１(C) の紙面右側に示すように、表示媒体Ｐに表示されるデータマトリクスＲｂは、表裏反対に反転したものとなるため、矩形状の表示領域Ｓの左側辺に位置検出パターンＦＰｉ、同上側辺に位置検出パターンＦＰｊがそれぞれ位置することとなり、当該矩形状の四辺のうち、本来、存在するはずの正面下辺に位置検出パターンＦＰｊ（ＦＰｉ）が位置しない。また、本来、存在するはずのない正面上側辺に位置検出パターンＦＰｊが位置する。このため、「表裏反転しているもの」と「表裏反転していないもの」とを視覚的に容易に区別することができる。
【００６５】
例えば、図２(C) に示すように、表裏反転されていない通常のデータマトリクスＱｂを前述した正面に向けて表示したものと、図２(D) に示すように、表裏反転されている反転のデータマトリクスＲｂをデータマトリクスの正面相当に向けて表示したものと、を比較すると、データマトリクスの専門家でない限り、両者を視覚的に区別することは極めて困難であることがわかる。なお、図２(D) に示す反転したデータマトリクスＲｂは、同図を時計回りに９０°または反時計回りに２７０°回転させてみることで、図１(C) に示すγを軸に表裏回転させて反転したものと一致する。
【００６６】
このように、位置検出パターンＦＰｉを垂直に通る直線を回転軸γとして、データマトリクスＱｂを回転させることで、本来、存在するはずの正面下側辺にいずれの位置検出パターンＦＰｉ，ＦＰｊも位置しない一方、本来、存在するはずのない正面上側辺に位置検出パターンＦＰｊが位置する。これにより、図２(D) に示すような通常のデータマトリクスＱｂと紛らわしいコードとして反転したデータマトリックスＲｂを生成することを防ぐことができる。したがって、反転したデータマトリクスＲｂを読み取ろうとしている読取り作業者等に対して当該データマトリクスＲｂが通常のものでなく、反転していることを積極的に知らせ、また注意を促すことができる。
【００６７】
また、反転したデータマトリクスＲｂ（図２(D) ）も、図示してはいないが、Ｌ字形状に配置された位置検出パターンＦＰｉ，ＦＰｊやその内側に配置されるデータ領域のいずれについても、見た目では反転していない通常のデータマトリクスＱｂ（図２(C) ）と区別がつかない。ところが、このデータマトリクスも第１例で説明したＱＲコードと同様に、ＱＲコードＱａを表裏反転した場合には、位置検出パターンＦＰｉ，ＦＰｊ等の配置は表裏同様であっても、データコード語や誤り訂正コード語等の配置や並びの方向が表裏では異なることから、表裏反転したデータマトリクスＲｂを通常の二次元コードリーダで読み取ろうとしても、誤り訂正コード語等自体もデータ化けを起こしているため、誤り訂正機能は正常に働くことなく、正常にデコードすることができない。
【００６８】
このように、データマトリクスＱｂを表裏反転することにより、通常では読めないデータマトリクスＲｂを簡易に提供することができる一方で、当該表裏反転したデータマトリクスＲｂを鏡に映すことで、前述した反転したＱＲコードＲａと同様に、鏡像が通常のデータマトリックスＱｂとなり、これをデコードすれば正常に読み取ることができる。よって、このように反転したデータマトリクスＲｂを鏡に映しそれを通常の二次元コードリーダで読み取ることで、操作性を低下させることなく容易に読み取ることが可能となる。
【００６９】
なお、図１(D) に示すように、データマトリクスＱｂを、「データマトリクスの正面」向きで左上から右下（右下から左上）方向（矩形状の表示領域Ｓの対角線）に延びる軸δを回転軸として表裏反転しても良い。この場合には、反転後のデータマトリクスＲｂ’（Ｒ）の位置検出パターンＦＰｉ，ＦＰｊは、それぞれ上側辺、右側辺に位置することから、本来、存在するはずの正面左側辺および下側辺にいずれの位置検出パターンＦＰｉ，ＦＰｊも位置しない一方、本来、存在するはずのない正面上側辺および正面右側に位置検出パターンＦＰｉ，ＦＰｊが位置する。これにより、図２(D) に示すような通常のデータマトリクスＱｂａと紛らわしいコードとして反転したデータマトリクスＲｂを生成することを防ぐことができるので、このように「データマトリクスの正面」向きで矩形状の対角方向に延びる回転軸γで反転しても、表裏反転していることを積極的に知らせたり、注意を促すことができる。
【００７０】
また、図示してはいないが、データマトリクスＱｂを、「データマトリクスの正面」向きで上下方向（矩形状の下側辺に位置する位置検出パターンＦＰｊに垂直）に延びる軸を回転軸として表裏反転しても良い。この場合には、反転後のデータマトリックスＲの位置検出パターンＦＰｉ，ＦＰｊは、それぞれ右側辺、下側辺に位置することから、本来、存在するはずの正面左側辺にいずれの位置検出パターンＦＰｉ，ＦＰｊも位置しない一方、本来、存在するはずのない正面右側辺に位置検出パターンＦＰｉが位置する。これによっても、図２(D) に示すような通常のデータマトリクスＱｂと紛らわしいコードとして反転したデータマトリクスＲｂを生成することを防ぐことができるので、このように「データマトリクスの正面」向きで上下方向に延びる回転軸で反転しても、表裏反転していることを積極的に知らせたり、注意を促すことができる。
【００７１】
このように、第１例による反転したＱＲコードＲａや第２例による反転したデータマトリクスＲｂでは、矩形状の表示領域Ｓの三隅に存在する位置検出パターンＦＰａ〜ＦＰｃや矩形状の表示領域Ｓの二辺にＬ字型に存在する位置検出パターンＦＰｉ，ＦＰｊの、表示位置に特徴を持たせることで、反転していない通常のＱＲコードＱａやデータマトリクスＱｂとの違いを明確にした。
【００７２】
しかし、これに加えて（またはこれとは別に）、例えば、図３(C) に示すように、反転した二次元コードＲ（ＱＲコードＲａやデータマトリクスＲｂ）の近傍に、当該二次元コードＲは正常な読取ができない旨の注意書きＭ、例えば「このコードは読めません」を表示媒体Ｐに表示しても良い。これにより、これらの二次元コードＲの読取り作業者（二次元コードリーダの使用者）に一層明確に、当該二次元コードＲが反転している旨を知らせることが可能となる。
【００７３】
続いて、上述した第１例による反転したＱＲコードＲａや第２例による反転したデータマトリクスＲｂを生成可能な二次元コードジェネレータ１，１’の構成およびその制御プログラム（コンピュータプログラム）を図４および図５に基づいて説明する。なお、ここでは、本実施形態に係る二次元コードジェネレータとして、パソコン本体２にラベルプリンタ６を接続した構成（図４(A) ）と、パソコン本体２に二次元コード表示装置７を接続した構成（図４(B) ）、をそれぞれ説明する。
【００７４】
図４(A) に示すように、二次元コードジェネレータ１は、パソコン本体２、ディスプレィ３およびラベルプリンタ６から構成されている。パソコン本体２は、図略の、ＭＰＵ、メインメモリ（主記憶装置）、ハードディスク（補助記憶装置）、入出力インタフェース、通信インタフェース、キーボード、ポインティングデバイス等からなる情報処理装置で、またディスプレィ３は、パソコン本体２に接続されることによりパソコン本体２から出力される情報を画面表示可能な情報表示装置である。なお、パソコン本体２のＭＰＵやメインメモリは、後述する反転コード生成処理を実行する手段に相当し、また当該メインメモリまたはハードディスクには、反転コード生成処理を可能にする制御プログラムが格納されている。
【００７５】
ラベルプリンタ６は、パソコン本体２から出力される反転した二次元コードＲの印刷情報に基づいて反転したＱＲコードＲａやデータマトリクスＲｂを所定のラベル用紙（表示媒体Ｐ）等に印字可能な印刷出力装置である。なお、パソコン本体２とラベルプリンタ６との間は、ＵＳＢやセントロニクス仕様等に準拠したケーブル５が接続されている。これにより、両者間の情報通信、例えばパソコン本体２からラベルプリンタ６に送出される印刷情報のデータ伝送や、ラベルプリンタ６からパソコン本体２に出力されるエラー情報等のデータ伝送を可能にしている。
【００７６】
このように二次元コードジェネレータ１を構成することで、キーボード等から入力されたコード情報（符号化の対象となる情報のこと、以下同じ。）に基づいて、パソコン本体２（反転コード生成処理）により反転された二次元コードＲの印刷情報が生成されると、この印刷情報がケーブル５を介してラベルプリンタ６に送出される。これを受けたラベルプリンタ６では、当該印刷情報に基づいて、反転した二次元コードＲ（ＱＲコードＲａやデータマトリクスＲｂ）を所定のラベル用紙（表示媒体Ｐ）に印刷することが可能となる（図４(C) 参照）。なお、ラベルプリンタ６に送出される印刷情報を、パソコン本体２のディスプレィ３にその表示情報として出力し画面表示しても良い。
【００７７】
これに対し、図４(B) に示す二次元コードジェネレータ１’は、図４(A) の二次元コードジェネレータ１のラベルプリンタ６に代えて、二次元コード表示装置７を備える構成を採る。即ち、二次元コードジェネレータ１’は、パソコン本体２、ディスプレィ３および二次元コード表示装置７から構成されている。なお、パソコン本体２やディスプレィ３は、図４(A) に示す二次元コードジェネレータ１と同様に構成される。
【００７８】
二次元コード表示装置７は、パソコン本体２から出力される反転した二次元コードＲの表示情報に基づいて反転したＱＲコードＲａやデータマトリクスＲｂを表示画面７ａ（表示媒体Ｐ）に表示可能な画面出力装置である。なお、パソコン本体２と二次元コード表示装置７との間は、ＵＳＢや10BASE-T (IEEE802.3)仕様等に準拠したケーブル５が接続されている。これにより、両者間の情報通信、例えばパソコン本体２から二次元コード表示装置７に送出される表示情報のデータ伝送や、二次元コード表示装置７からパソコン本体２に出力されるエラー情報等のデータ伝送を可能にしている。
【００７９】
このように二次元コードジェネレータ１’を構成することで、キーボード等から入力されたコード情報に基づいて、パソコン本体２（反転コード生成処理）により反転された二次元コードＲの表示情報が生成されると、この表示情報がケーブル５を介して二次元コード表示装置７に送出される。これを受けた二次元コード表示装置７では、当該表示情報に基づいて、反転した二次元コードＲ（ＱＲコードＲａやデータマトリクスＲｂ）を表示画面７ａ（表示媒体Ｐ）に画面表示することが可能となる（図４(C) 参照）。
【００８０】
ここで、このような二次元コードジェネレータ１、１’のパソコン本体２により実行される反転コード生成処理について図５を参照して説明する。なお、この処理は、前述したパソコン本体２のメインメモリやハードディスクに格納された所定の制御プログラムをＭＰＵが読み出して実行することにより実現されるものである。なお、当該所定の制御プログラムは、特許請求の範囲に記載の「プログラム」に相当し得るものである。
【００８１】
図５(A) に示すように、反転コード生成処理では、まずステップＳ１０１によりコード情報を入力する処理が行われる。この処理は、パソコン本体２に二次元コードの内容を入力するもので、例えば、キーボードやポインティングデバイス等から入力されるＱＲコードやデータマトリクス等にエンコード（符号化）されるデータ（情報）が、コード情報としてパソコン本体２に入力される。
【００８２】
次のステップＳ１０３では、通常コード生成処理が行われる。この通常コード生成処理は、ステップＳ１０１により入力されたコード情報に基づいて通常の二次元コード（ＱＲコードＱａやデータマトリクスＱｂ）Ｑの印刷情報（または表示情報）を生成する処理で、この処理には、データの符号化処理、誤り訂正符号の付加処理、位置検出パターンやタイミングパターン等を付加処理、明モジュールと暗モジュールとのバランスを最適にするマスク処理等が含まれる。詳しくは、ＱＲコードの基本仕様（ＪＩＳ Ｘ ０５１０：２００４）を参照されたい。なお、ステップＳ１０３は、特許請求の範囲に記載の「生成手段」、「通常コード生成手段」に相当し得るものである。
【００８３】
続くステップＳ１０５では、反転処理が行われる。この処理は、ステップＳ１０３により生成された通常の二次元コードＱの印刷情報（または表示情報）を表裏反転した二次元コードＲに変換する処理で、図１(A) 等を参照して説明したように、表示領域Ｓの対角に位置する位置検出パターンＦＰｂ・ＦＰｃを通る対角線を回転軸αとしてＱＲコードＱａを回転させたように、当該ＱＲコードＱａを表裏反対に表示媒体Ｐに表示可能にしたり、あるいは位置検出パターンＦＰｉの位置する辺をほぼ垂直（位置検出パターンＦＰｊの位置する辺をほぼ平行）に通る直線を回転軸γとしてデータマトリクスＱｂを回転させたように、当該データマトリクスＱｂを表裏反対に表示媒体Ｐに表示可能にするものである。なお、ステップＳ１０５は、特許請求の範囲に記載の「生成手段」、「反転コード生成手段」に相当し得るものである。
【００８４】
具体的には、例えば、ステップＳ１０３の通常コード生成処理により生成される通常の二次元コードＱの印刷情報（または表示情報）は、画素単位にアドレスで管理することが可能なものであるため、例えば図５(B) に示すメモリ空間に格納される。このメモリ空間では、アドレスＡ11に画素データＰ11，アドレスＡ12に画素データＰ12，…，アドレスＡ21に画素データＰ21，アドレスＡ22に画素データＰ22，…，アドレスＡ31に画素データＰ31，アドレスＡ32に画素データＰ32，…，アドレスＡm1に画素データＰm1，アドレスＡm2に画素データＰm2，…，アドレスＡmnに画素データＰmnというように、表示媒体Ｐに印刷（または表示）するｍ行ｎ列の配列に対応するように各画素データを格納可能にしている。
【００８５】
このため、例えば、図５(C) に示すようなアドレス変換、即ち、アドレスＡ11に画素データＰmn，アドレスＡ12に画素データＰ(m-1)n，アドレスＡ13に画素データＰ(m-2)n，…，アドレスＡ21に画素データＰm(n-1)，アドレスＡ22に画素データＰ(m-1)(n-1)，アドレスＡ23に画素データＰ(m-2)(n-1)，…，アドレスＡmnに画素データＰ11というアドレス変換を行う。これにより、表示領域Ｓの対角線を回転軸αとしてＱＲコードＱａやデータマトリクスＱｂを回転させたように、当該ＱＲコードＱａやデータマトリクスＱｂを表裏反対に表示媒体Ｐに表示可能にすることができる。
【００８６】
また、アドレスＡ11に画素データＰm1，アドレスＡ12に画素データＰm2，…，アドレスＡ1nに画素データＰmn，…，アドレスＡ21に画素データＰ(m-1)1，アドレスＡ22に画素データＰ(m-1)2，…，アドレスＡ2nに画素データＰ(m-1)n，…，アドレスＡ31に画素データＰ(m-2)1，アドレスＡ32に画素データＰ(m-2)2，…，アドレスＡ3nに画素データＰ(m-2)n，…，アドレスＡm1に画素データＰ11，アドレスＡm2に画素データＰ12，…，アドレスＡmnに画素データＰ1nというアドレス変換を行う。これにより、表示領域Ｓの上下方向（矩形状の上下側辺に垂直または左右側辺に平行）に延びる軸を回転軸としてＱＲコードＱａやデータマトリクスＱｂを回転させたように、当該ＱＲコードＱａやデータマトリクスＱｂを表裏反対に表示媒体Ｐに表示可能にすることができる。
【００８７】
続くステップＳ１０７では、出力処理が行われる。この処理は、ステップＳ１０５による反転処理により生成された二次元コードＲ（ＱＲコードＲａやデータマトリクスＲｂ）の印刷情報（または表示情報）を所定の出力装置に出力するもので、先の例では、ラベルプリンタ６に印刷情報（図４(A) ）、二次元コード表示装置７に表示情報（図４(B) ）、をそれぞれ出力する。これにより、反転したＱＲコードＲａやデータマトリクスＲｂが、ラベルプリンタ６のラベル用紙に印刷されたり、二次元コード表示装置７の表示画面７ａに表示される。なお、ステップＳ１０７は、特許請求の範囲に記載の「出力制御手段」に相当し得るものである。
【００８８】
なお、このステップＳ１０７による出力処理では、前述したように、反転した二次元コードＲ（ＱＲコードＲａやデータマトリクスＲｂ）の近傍に、当該二次元コードＲは正常な読取ができない旨の注意書きＭを表示媒体Ｐに印刷（または表示）するようにラベルプリンタ６や二次元コード表示装置７に対し制御情報を出力しても良い。これにより、これらの二次元コードＲの読取り作業者（二次元コードリーダの使用者）に一層明確に、当該二次元コードＲが反転している旨を知らせることが可能となる。
【００８９】
また、上述した例では、図５(B) 、(C) に示すように、パソコン本体２のメモリ空間を用いてソフトウェア的にアドレス変換を行ったが、これに限られず、例えば、このようなアドレス変換をハードウェアで直接行っても良い。これにより、ソフトウェア的に行う場合に比べて当該変換処理を高速に行うことが可能となる。
【００９０】
さらに、上述した例では、ステップＳ１０３により通常コードを生成した後、ステップＳ１０５により反転処理を行ったが、これに限られず、例えば、このようなアドレス変換を行うことなく、直接反転した二次元コードＲをステップＳ１０３により生成するように構成しても良い。これにより、別処理による反転処理が不要になるので、当該反転コード生成処理の処理速度を高速にすることが可能となる。
【００９１】
次に、本発明の二次元コード読取装置の実施形態を図６〜図１２に基づいて説明する。
図６(A) に示すように、本実施形態に係る二次元コードリーダ１０は、ほぼ直方体形状のケース１１と、当該ケース１１の一端側に形成される読取口１２を覆うように取り付けられるミラーユニット１５と、によりその外観形状が構成されている。このケース１１の表面には、矩形状の窓穴が形成されており、この窓穴から液晶表示装置４６の表示パネルが露出可能に当該液晶表示装置４６がケース１１内に取り付けられている。また当該ケース１１の表面ほぼ中央には押しボタン式の操作スイッチ４２が設けられている。
【００９２】
図６(B) に示すように、読取口１２を覆うようにケース１１に取り付けられるミラーユニット１５には、反射ミラー１８が内装されているとともに、この反射ミラー１８の鏡面１８ａが外部に露出し得るように開口部１３が形成されている。この反射ミラー１８は、読取口１２から出射する照明光Ｌｆの光路や、読取口１２に入射する反射光Ｌｒの光路をケース１１内に収容される結像レンズ２７や受光センサ２３の受光面２３ａに向けて偏向し得るものである。
【００９３】
このため、本実施形態では、例えば、読取口１２の開口面に対して反射ミラー１８の鏡面１８ａがほぼ４５度に傾斜して対向するように当該反射ミラー１８がミラーユニット１５内に取り付けられている。これにより、例えば、図６(A) や図６(B) に示すように、ほぼ垂直に立ち上がる表示媒体ＰのＱＲコードＲａ（二次元コードＲ）に対してミラーユニット１５の開口部１３を向けることで、後述の照明光源２１から出射される照明光Ｌｆを当該ＱＲコードＲａに向けて照射したり、当該ＱＲコードＲａに反射した反射光Ｌｒを結像レンズ２７を介して受光センサ２３に入射させたりすることが可能となる。
【００９４】
このように、二次元コードリーダ１０では、読取口１２にミラーユニット１５を取り付けていることから、ミラーユニット１５の反射ミラー１８に反射されて結像レンズ２７により受光センサ２３の受光面２３ａに結像される像は、表裏反転した鏡像になる。このため、既存のハードウェア構成（光学系やマイコン系）を備えた二次元コードリーダにこのようなミラーユニット１５を付加することで、反転したＱＲコードＲａ等を反転していない通常のＱＲコードＱａ等と同様に読み取ることが可能となる。
【００９５】
ここで、二次元コードリーダ１０のハードウェア構成を図７を参照して説明する。
図７に示すように、二次元コードリーダ１０は、主に、照明光源２１、受光センサ２３、結像レンズ２７等の光学系と、メモリ３５、制御回路４０、操作スイッチ４２、液晶表示器４６等のマイコン系と、電源スイッチ４１、電池４９等の電源系と、から構成されている。なお、これらは、図略のプリント配線板に実装あるいは図略のハウジング内に内装されている。
【００９６】
光学系は、照明光源２１、受光センサ２３、結像レンズ２７等から構成されている。照明光源２１は、照明光Ｌｆを発光可能な照明光源として機能するもので、例えば、赤色のＬＥＤとこのＬＥＤの出射側に設けられる拡散レンズ、集光レンズ等とから構成されている。本実施形態では、受光センサ２３を挟んだ両側に照明光源２１が設けられており、ケース１１の読取口１２を介して表示媒体Ｐに向けて照明光Ｌｆを照射可能に構成されている。この表示媒体Ｐには、反転した二次元コードＲが印刷または表示されている。
【００９７】
受光センサ２３は、表示媒体Ｐや反転した二次元コードＲに照射されて反射した反射光Ｌｒを受光可能に構成されるもので、例えば、Ｃ−ＭＯＳやＣＣＤ等の固体撮像素子である受光素子を２次元に配列したエリアセンサが、これに相当する。この受光センサ２３の受光面２３ａは、前述したミラーユニット１５が付いていない状態では、ケース１１外から読取口１２を介して外観可能に位置しており、受光センサ２３は、結像レンズ２７を介して入射する入射光をこの受光面２３ａで受光可能に図略のプリント配線板に実装されている。
【００９８】
結像レンズ２７は、外部から読取口１２を介して入射する入射光を集光して受光センサ２３の受光面２３ａに像を結像可能な結像光学系として機能するもので、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとにより構成されている。本実施形態では、照明光源２１から照射された照明光Ｌｆが反転の二次元コードＲに反射した後、ミラーユニット１５の反射ミラー１８に反射して読取口１２に入射する反射光Ｌｒを集光することにより、受光センサ２３の受光面２３ａに反転した二次元コードＲの鏡像を結像可能にしている。
【００９９】
次に、マイコン系の構成概要を説明する。マイコン系は、増幅回路３１、Ａ／Ｄ変換回路３３、メモリ３５、アドレス発生回路３６、同期信号発生回路３８、制御回路４０、操作スイッチ４２、ＬＥＤ４３、ブザー４４、液晶表示器４６、通信インタフェース４８等から構成されている。このマイコン系は、その名の通り、マイコン（情報処理装置）として機能し得る制御回路４０およびメモリ３５と中心に構成されるもので、通常の二次元コードＱ（反転していない二次元コード）を情報処理するものと同様に構成される。
【０１００】
光学系の受光センサ２３から出力される画像信号（アナログ信号）は、増幅回路３１に入力されることで所定ゲインで増幅された後、Ａ／Ｄ変換回路３３に入力されると、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データ（画像情報）は、メモリ３５に入力されると、画像データ蓄積領域に蓄積される。なお、同期信号発生回路３８は、受光センサ２３およびアドレス発生回路３６に対する同期信号を発生可能に構成されており、またアドレス発生回路３６は、この同期信号発生回路３８から供給される同期信号に基づいて、メモリ３５に格納される画像データの格納アドレスを発生可能に構成されている。
【０１０１】
メモリ３５は、半導体メモリ装置で、例えばＲＡＭ（ＤＲＡＭ、ＳＲＡＭ等）やＲＯＭ（ＥＰＲＯＭ、ＥＥＰＲＯＭ等）がこれに相当する。このメモリ３５のうちのＲＡＭには、前述した画像データ蓄積領域のほかに、制御回路４０が算術演算や論理演算等の各処理時に利用する作業領域等も確保可能に構成されている。またＲＯＭには、後述する読取処理等を実行可能な所定プログラムやその他、照明光源２１、受光センサ２３等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。
【０１０２】
制御回路４０は、二次元コードリーダ１０全体を制御可能なマイコンで、ＣＰＵ、システムバス、入出力インタフェース等からなり、メモリ３５とともに情報処理装置を構成し得るもので情報処理機能を有する。この制御回路４０には、内蔵された入出力インタフェースを介して種々の入出力装置（周辺装置）と接続可能に構成されており、本実施形態の場合、電源スイッチ４１、操作スイッチ４２、ＬＥＤ４３、ブザー４４、液晶表示器４６、通信インタフェース４８等が接続されている。
【０１０３】
これにより、例えば、電源スイッチ４１や操作スイッチ４２の監視や管理、またインジケータとして機能するＬＥＤ４３の点灯・消灯、ビープ音やアラーム音を発生可能なブザー４４の鳴動のオンオフ、さらには読み取った反転の二次元コードＲによるコード内容を画面表示可能な液晶表示器４６の画面制御や外部装置とのシリアル通信を可能にする通信インタフェース４８の通信制御等を可能にしている。なお、通信インタフェース４８に接続される外部装置には、当該二次元コードリーダ１０の上位システムに相当するホストコンピュータＨＳＴ等が含まれる。
【０１０４】
電源系は、電源スイッチ４１、電池４９等により構成されており、制御回路４０により管理される電源スイッチ４１のオンオフによって、上述した各装置や各回路に、電池４９から供給される駆動電圧の導通や遮断が制御されている。なお、電池４９は、所定の直流電圧を発生可能な２次電池で、例えば、リチウムイオン電池等がこれに相当する。また、電池４９によることなく、例えば、通信インタフェース４８を介して接続されるホストコンピュータＨＳＴ等の外部装置から電力供給を受ける構成を採る場合もあり、この場合には当該電池４９は不要となる。
【０１０５】
このように二次元コードリーダ１０を構成することによって、例えば、電源スイッチ４１がオンされて所定の自己診断処理等が正常終了し、反転した二次元コードＲの読み取りが可能な状態になると、照明光Ｌｆの発光を指示する操作スイッチ４２（例えばトリガースイッチ）の入力を受け付ける。これにより、作業者がトリガースイッチを押圧しオンにすることで、制御回路４０が同期信号を基準に照明光源２１に発光信号を出力するので、当該発光信号を受けた照明光源２１は、ＬＥＤを発光させて照明光Ｌｆを照射する。
【０１０６】
すると、反転の二次元コードＲに照射された照明光Ｌｆが反射しその反射光Ｌｒがミラーユニット１５および読取口を介して結像レンズ２７に入射するため、受光センサ２３の受光面２３ａには、反射ミラー１８に反射した二次元コードＲの鏡像が結像される。これにより、反転した二次元コードＲの鏡像、つまり通常の二次元コードＱの像が受光素子を露光する。このため、上述したように、通常の二次元コードＱを情報処理するものと同様に構成される、マイコン系（増幅回路３１、Ａ／Ｄ変換回路３３、メモリ３５、アドレス発生回路３６、同期信号発生回路３８、制御回路４０等）による読取処理によって当該反転した二次元コードＲのデコードが可能となる。
【０１０７】
ここで、反転した二次元コードＲの読取処理（デコード処理）の概要を図８を参照して説明する。なお、この読取処理は、前述したメモリ３５に格納される所定プログラムを制御回路４０が逐次実行することによって実現されるもので、表裏反転していない通常の二次元コードＱを読み取るものと同様に処理される。
【０１０８】
図８に示すように、当該読取処理では、まずステップＳ５０１により画像情報取得処理が行われる。この処理は、前述した受光センサ２３から出力された画像信号に基づく画像データ（画像情報）をメモリ３５の画像データ蓄積領域から取得するもので、当該画像データ蓄積領域には、反転したＱＲコードＲの鏡像（反転したＱＲコードＲを反転したもの）の画像データ、つまり通常のＱＲコードＱの画像データが格納されている。このため、以下説明する当該読取処理では、反転したＱＲコードＲの鏡像を二次元コードＱと称することとする。
【０１０９】
次のステップＳ５０３では、位置検出検出処理が行われる。これまでに説明したように、二次元コードＱの場合には、所定の位置検出パターンＦＰａ〜ＦＰｃや位置検出パターンＦＰｉ，ＦＰｊを備えることから、この処理では、ステップＳ５０１により取得した画像データの中から、これらの位置検出パターンＦＰａ等を検出することで、当該二次元コードＱの位置および範囲を検出する。
【０１１０】
続くステップＳ５０５では、ステップＳ５０３により当該二次元コードＱの位置および範囲が検出できたか否かを判断する処理が行われる。これにより、二次元コードＱの位置および範囲が検出できた場合には（Ｓ５０５；Ｙｅｓ）、次にステップＳ５０７に処理を移行し、位置および範囲が検出できなかった場合には（Ｓ５０５；Ｎｏ）、ステップＳ５１３に処理を移行してエラー処理を行う。
【０１１１】
次のステップＳ５０７では、デコード処理が行われる。この処理は、ステップＳ５０３により検出された二次元コードＱのデータ範囲に基づいて、所定のアルゴリズムに従って当該二次元コードＱのをデコードする。なお、このようなデコード処理としては、例えば、特許第２９３８３３８号公報等に公知のものを用いる。
【０１１２】
続くステップＳ５０９では、ステップＳ５０７によるデコード処理に成功したか否かを判断する処理が行われる。これにより、デコードに成功している場合には（Ｓ５０９；Ｙｅｓ）には、次のステップＳ５１１に処理を移行し、デコードに成功していない（失敗している）場合には（Ｓ５０９；Ｎｏ）には、ステップＳ５１３に処理を移行してエラー処理を行う。
【０１１３】
次のステップＳ５１１では、出力処理が行われる。この処理は、ステップＳ５０７によりデコードされた結果を、メモリ３５の所定領域を介して文字データ等として液晶表示装置４６に出力したり、所定のフォーマットに適合させた伝送データとして通信インタフェース４８を介して外部のホストコンピュータＨＳＴに出力する。
【０１１４】
なお、ステップＳ５１３では、エラー処理が行われる。この処理は、ステップＳ５０３によりＱＲコードＱの位置または範囲が検出できなかった場合や（Ｓ５０５；Ｎｏ）、ステップＳ５０７によるデコード処理に成功しなかった場合（Ｓ５０９；Ｎｏ）、に行われるもので、それぞれの場合に応じた所定のエラーコードを生成する。このエラーコードは、ステップＳ５１１の出力処理に渡されると、デコードが成功した場合に出力されるデコード結果（解読されたコード情報）に代えて、液晶表示装置４６や外部のホストコンピュータＨＳＴに出力される。
【０１１５】
このように二次元コードリーダ１０では、反射光Ｌｒの光路上にミラーユニット１５を設けて当該反射光Ｌｒを読取口１２（結像光学系２７、受光センサ２３）の方向に反射させることで、反転した二次元コードＲの鏡像が受光センサ２３の受光面２３ａに結像されるので、制御回路４０で実行される読取処理では、反転されていない通常の二次元コードＱを読み取るものと同様の情報処理が行うことで、当該反転した二次元コードＲのデコードを行うことができる。
【０１１６】
即ち、通常の二次元コードＱを情報処理するものと同様に構成される、光学系（照明光源２１、受光センサ２３、結像レンズ２７等）やマイコン系（増幅回路３１、Ａ／Ｄ変換回路３３、メモリ３５、アドレス発生回路３６、同期信号発生回路３８、制御回路４０等）からなる既存の二次元コード読取装置に、このようなミラーユニット１５を付加するだけで、反転した二次元コードＲを読み取ることができる。したがって、通常では読めない反転した二次元コードＲを簡易に読み取ることができる。
【０１１７】
続いて、二次元コードリーダ１０の変形例１（二次元コードリーダ１０’）を図９〜図１２を参照して説明する。この二次元コードリーダ１０’は、前述した二次元コードリーダ１０からミラーユニット１５を除去するとともに、制御回路４０で実行される読取処理に後述するような変更を加えた点が、前述の二次元コードリーダ１０と異なるところである。したがって、前述の二次元コードリーダ１０と実質的に同一の構成部分にはこれらの図において同一の符号を付すもののとし、またこれらの説明を省略する。
【０１１８】
図９(A) および図９(B) に示すように、二次元コードリーダ１０’は、外観上、前述の二次元コードリーダ１０からミラーユニット１５を取除いたほぼ直方体形状をしている。このため、照明光Ｌｆを受けて反射した反射光Ｌｒが入射可能な読取口１２を読取対象となる反転の二次元コードＲに向ける必要から、前述の二次元コードリーダ１０に比べると、読取り作業者等が当該二次元コードリーダ１０’を９０度程度手前に起こした状態で読取口１２を二次元コードＲに向ける必要がある。
【０１１９】
図１０に示すように、二次元コードリーダ１０’のハードウェア構成は、前述の二次元コードリーダ１０のハードウェア構成からミラーユニット１５を除いた点が異なるだけで、光学系（照明光源２１、受光センサ２３、結像レンズ２７等）、マイコン系（メモリ３５、制御回路４０、操作スイッチ４２、液晶表示器４６等）および電源系（電源スイッチ４１、電池４９等）は、二次元コードリーダ１０と同様に構成されている。このため、ミラーユニット１５を備えていない本改変例１に係る二次元コードリーダ１０’では、反転した二次元コードＲを光学的に反転できないため、次に説明する読取処理によりソフトウェア的に反転した二次元コードＲの反転処理を行っている。
【０１２０】
本改変例１に係る二次元コードリーダ１０’では、反転した二次元コードＲの読取処理（デコード処理）として、図１１に示す処理を行う。この読取処理も、前述の二次元コードリーダ１０による読取処理（図８）と同様に、メモリ３５に格納される所定プログラムを制御回路４０が逐次実行することによって実現されるものである。なお、前述した図８に示す読取処理と実質的に同一処理を行う処理ステップについては、図１１において同一符号を付し説明を簡略化する。
【０１２１】
図１１に示すように、当該読取処理では、まずステップＳ５０１により画像情報取得処理が行われた後、ステップＳ５０３により位置検出処理を行い、ステップＳ５０５により検出できたか否かを判断する処理が行われる。そして、位置検出ができた場合には（Ｓ５０５；Ｙｅｓ）、ステップＳ５０７によりデコード処理を行い、位置検出ができなかった場合には（Ｓ５０５；Ｎｏ）、ステップＳ５１３によりエラー処理を行う。ここまでの各処理の流れは、前述の読取処理（図８）と同様である。
【０１２２】
但し、本改変例１に係る二次元コードリーダ１０’では、ミラーユニット１５を備えていないことから、受光センサ２３の受光面２３ａに結像する二次元コードの像は、通常の二次元コードＱであればそのままステップＳ５０３により位置検出することができ、ステップＳ５０７によるデコード処理が行われるが、反転した二次元コードＲの像である場合には、ステップＳ５０３により位置検出することは可能であっても、ステップＳ５０７によるデコード処理は成功することはない。この理由は、前述した通りである。
【０１２３】
このため、ステップＳ６０９によるデコードに成功したか否かを判断する処理では、単にデコードに成功したか（失敗したか）否かを判断するだけではなく、反転処理後の二次元コード（通常の二次元コードＱと同様）のデコードでも成功しなかったのか（Ｓ６０９；Ｎｏ(2) ）を判断する。
【０１２４】
具体的には、メモリ３５やレジスタ等に１ビットの情報を保持可能なフラグ等を設定しこのフラグに後述するアドレス変換処理（Ｓ６１０）を実行したか否かの情報を持たせる（例えばアドレス変換済であれば「１」、アドレス変換未であれば「０」）。そして、ステップＳ６０９によるデコードに成功したか否かを判断する際に、当該フラグの値も参照し、デコードに成功せず（失敗し）かつアドレス変換未である場合には、反転の二次元コードＲを通常の二次元コードＱとしてデコードした結果、デコードに失敗している可能性があるので、このような場合には（Ｓ６０９；Ｎｏ(1) ）、ステップＳ６１０に処理を移行してアドレス変換処理を行う。
【０１２５】
これに対し、ステップＳ６０９によるデコードに成功したか否かを判断する際に、当該フラグの値も参照した結果、デコードに成功せず（失敗し）かつアドレス変換済である場合には、通常の二次元コードＱも、アドレス変換後の反転の二次元コードＲも、いずれもデコードに失敗しているので、このような場合には（Ｓ６０９；Ｎｏ(2) ）、ステップＳ５１３に処理を移行してエラー処理を行う。
【０１２６】
ステップＳ６１０によるアドレス変換処理では、例えば、図１２に示すようなアドレス変換をソフトウェア的に行うとともに、先のフラグの値をアドレス変換済に設定する。より具体的には、図１２(A) に示すような有効画素数がｍ行ｎ列に配置されている画素空間（１画素を画素データＰxxに対応させると、当該画素空間は、画素データＰ11，…，画素データＰm1，…，画素データＰ1n，…，画素データＰmnと表現される）を、図１２(B) に示すメモリ空間に対応させて所定のアドレス変換を行う。これにより、当該メモリ空間に格納された画素データによる反転の二次元コードＲを、当該メモリ空間から取り出すときには、当該反転の二次元コードＲの鏡像相当（つまり、反転していない通常の二次元コードＱに相当）の画素データを取り出し可能にする。
【０１２７】
例えば、アドレスＡ11に画素データＰ11，アドレスＡ12に画素データＰ12，…，アドレスＡ1nに画素データＰ1n，アドレスＡ21に画素データＰ21，アドレスＡ22に画素データＰ22，…アドレスＡ2nに画素データＰ2n，アドレスＡ31に画素データＰ31，アドレスＡ32に画素データＰ32，…，アドレスＡ3nに画素データＰ3n，アドレスＡm1に画素データＰm1，アドレスＡm2に画素データＰm2，…，アドレスＡmnに画素データＰmnというように、当該メモリ空間では、受光センサ２３の有効画素空間（ｍ行ｎ列）の配列位置に対応するように各画素データを格納可能にしている。
【０１２８】
このため、例えば、受光センサ２３の有効画素空間の配列位置を左右反転するようにアドレス変換する場合には、当該メモリ空間のアドレスを図１２(C) に示すように設定する。これにより、アドレスＡ11に対応した画素データＰ11はアドレスＡm1に変換され、アドレスＡ12に対応した画素データＰ12はアドレスＡm2に変換され、アドレスＡ1nに対応した画素データＰ1nはアドレスＡmnに変換される。同様に、アドレスＡ21に対応した画素データＰ21はアドレスＡ(m-1)1に変換され、アドレスＡ22に対応した画素データＰ22はアドレスＡ(m-1)2に変換され、アドレスＡ2nに対応した画素データＰ2nはアドレスＡ(m-1)nに変換される。また、アドレスＡm1に対応した画素データＰm1はアドレスＡ11に変換され、アドレスＡm2に対応した画素データＰm2はアドレスＡ12に変換され、アドレスＡmnに対応した画素データＰmnはアドレスＡ1nに変換される。つまり、アドレスＡijに対応した画素データＰijはアドレスＡ(m+1-i)(n+1-j)に変換されて当該メモリ空間に格納される。
【０１２９】
所定のアドレス変換には、このような左右反転を可能にするアドレス変換のほかに、二次元コードジェネレータ１等による反転コード生成処理の反転処理（Ｓ１０５）で説明したように、当該有効画素空間（メモリ空間）の対角線を回転軸αとして反転の二次元コードＲを回転させたように当該二次元コードＲを表裏反対にアドレス変換して当該二次元コードＲの鏡像相当を取り出し可能にするものや（図１(A) ，図１(D) 参照）、当該有効画素空間（メモリ空間）の上下方向（矩形状の上下側辺に垂直または左右側辺に平行）に延びる軸を回転軸として二次元コードＲを回転させたように、当該二次元コードＲを表裏反対にアドレス変換して当該二次元コードＲの鏡像相当を取り出し可能にするものがある（図１(B) ，図１(C) 参照）。
【０１３０】
ステップＳ６１０によりこのようなアドレス変換が行われることにより、反転後の画像データは、通常の二次元コードＱの画像データに相当するため、再度ステップＳ５０７によりこの反転後の画像データに基づいてデコード処理を行う。そして、ステップＳ６１０による反転後にデコード処理に成功した場合には、当該画像データは、反転した二次元コードＲに対応するものであるので、ステップＳ５１１によりデコード結果を液晶表示装置４６や外部に出力する。
【０１３１】
一方、当該反転後でもデコード処理に成功しなかった（失敗した）場合には、当該画像データに含まれるものは通常の二次元コードＱおよび反転の二次元コードＲのいずれにも対応するものではないので、ステップＳ５１３に処理を移行してエラー処理を行った後、ステップＳ５１１による出力処理を行う。
【０１３２】
このように本改変例１に係る二次元コードリーダ１０’では、図１１に示す読取処理を行うことにより、通常の二次元コードＱおよび反転の二次元コードＲのいずれもデコードすることができるので、特にミラーユニット１５を装着することなく、反転の二次元コードＲを読み取ることが可能となる。つまり、通常の二次元コードＱ（ＱＲコードＱａやデータマトリクスＱｂ）を読取可能な二次元コードリーダのソフトウェアに、アドレス変換処理（Ｓ６１０）等を追加することで、反転した二次元コードＲ（ＱＲコードＲａやデータマトリクスＲｂ）を読み取ることができる。したがって、通常では読めない反転の二次元コードＲを簡易に読み取ることができる。
【０１３３】
なお、メモリ３５のメモリ空間は、格納位置をｍ行ｎ列の二次元情報で特定可能な配列相当に画像データ（画像情報）を蓄積するため、特許請求の範囲に記載の「蓄積手段」に相当し得るものである。また、画像情報取得処理（Ｓ５０１）は、反転した二次元コードＲ（反転コード）の画像データをメモリ空間に格納するため、特許請求の範囲に記載の「格納手段」に相当し得るもので、さらにアドレス変換（Ｓ６１０）は、メモリ空間から取り出した反転の二次元コードＲの画像データが反転の二次元コードＲの鏡像になる順番で、メモリ空間から当該画像データを取り出すため、特許請求の範囲に記載の「取出手段」に相当し得るものである。
【０１３４】
次に、二次元コードリーダ１０の変形例２（二次元コードリーダ１０”）を図８、図９、図１０、図１２を参照して説明する。この二次元コードリーダ１０”は、前述した二次元コードリーダ１０からミラーユニット１５を除去するとともに、アドレス変換回路３６に新たなアドレス変換機能を追加した点が、前述の二次元コードリーダ１０と異なるところである。したがって、前述の二次元コードリーダ１０と実質的に同一の構成部分にはこれらの図において同一の符号を付すもののとし、またこれらの説明を省略する。なお、制御回路４０で実行される読取処理は、図８に示すものと同様に通常の二次元コードＱを読取可能にするものである。
【０１３５】
図９(A) および図９(B) に示すように、二次元コードリーダ１０”は、改変例１の二次元コードリーダ１０’と同様に、外観上、前述の二次元コードリーダ１０からミラーユニット１５を取除いたほぼ直方体形状をしており、前述の二次元コードリーダ１０に比べると、読取り作業者等が当該二次元コードリーダ１０”を９０度程度手前に起こした状態で読取口１２を二次元コードＲに向ける必要がある。
【０１３６】
図１０に示すように、二次元コードリーダ１０”のハードウェア構成は、前述した改変例１の二次元コードリーダ１０’のものとほぼ同様に構成されるが、アドレス変換回路３６に、図１２に示すようなアドレス変換機能を持たせた点が異なる。即ち、本改変例２は、図１２を参照して説明したアドレス変換処理（図１１に示すステップＳ６１０相当）を、アドレス変換回路３６’によりハードウェア的に行うことにより、アドレス変換の高速化を可能にし得るものである。
【０１３７】
具体的には、本改変例２に係る二次元コードリーダ１０”では、受光センサ２３により受光した画素データの全てを表裏反転にアドレス変換回路３６’によりアドレス変換するので、反転の二次元コードＲの像を結像した場合のみならず、通常の二次元コードＱの像を結像した場合にも、表裏反転相当のアドレス変換をアドレス変換回路３６’により行う。このため、制御回路４０による読取処理は、ミラーユニット１５を備えた二次元コードリーダ１０と同様に、図８による読取処理を適用する。
【０１３８】
これにより、メモリ３５の画像データ蓄積領域に蓄積される画像データは、ミラーユニット１５による鏡像を受光センサ２３に結像した場合と同様に表裏反転したものとなるので、ステップＳ５０１の画像情報取得処理により取り出された画像データ（画像情報）が反転の二次元コードＲの場合には、反転の二次元コードＲの鏡像、即ち通常の二次元コードＱ（反転されてないもの）になる。このため、通常の二次元コードＱ（ＱＲコードＱａやデータマトリクスＱｂ）を読取可能な二次元コードリーダのアドレス変換回路３６を、このようなアドレス変換機能を持つアドレス変換回路３６’に変更することで、反転した二次元コードＲ（ＱＲコードＲａやデータマトリクスＲｂ）を読み取ることができる。したがって、通常では読めない反転の二次元コードＲを簡易に読み取ることができる。
【０１３９】
なお、メモリ３５のメモリ空間は、格納位置をｍ行ｎ列の二次元情報で特定可能な配列相当に画像データ（画像情報）を蓄積するため、特許請求の範囲に記載の「蓄積手段」に相当し得るものである。また、デコード処理（Ｓ５０７）は、メモリ空間に格納された画像データをアドレスの順番（所定の順番）に取り出してデコードするため、特許請求の範囲に記載の「取出手段」に相当し得るもので、さらにアドレス変換回路３６’は、このようなアドレスの順番でメモリ空間から取り出した画像データが反転した二次元コードＲの鏡像になるように、反転した二次元コードＲの画像データをメモリ空間に格納するので、特許請求の範囲に記載の「格納手段」に相当し得るものである。
【０１４０】
なお、以上説明した例では、二次元コードとして、ＱＲコードやデータマトリクスを例示して説明したが、本発明の適用はこれに限られることはなく、位置検出パターンを備えた二次元コードであれば、例えば、ＣＰコードであっても同様に適用でき、上述した各作用および効果を得ることができる。
【図面の簡単な説明】
【０１４１】
【図１】二次元コードを表裏反転する方法を示す説明図で、図１(A) はＱＲコードの対角線を回転軸に表裏反転する場合、図１(B) はＱＲコードの垂直線（または平行線）を回転軸に表裏反転する場合、図１(C) はデータマトリクスの垂直線（または平行線）を回転軸に表裏反転する場合、図１(D) はデータマトリクスの対角線を回転軸に表裏反転する場合、をそれぞれ示すものである。
【図２】通常の二次元コードと表裏反転した二次元コードの両外観を比較する説明図で、図２(A) は通常のＱＲコード、図２(B) は表裏反転したＱＲコード、図２(C) は通常のデータマトリクス、図２(D) は表裏反転したデータマトリクス、をそれぞれ示すものである。
【図３】図３(A) はＱＲコードの構成を示す説明図、図３(B) はＱＲコードを構成するデータコード語および誤り訂正コード語の配置例を示す説明図、図３(C) は表示媒体に表示された二次元コードおよびその注意書きの例を示す説明図である。
【図４】本実施形態の二次元コードジェネレータの構成例を示す構成図で、図４(A) はパソコンにラベルプリンタを接続した構成、図４(B) はパソコンに二次元コード表示装置を接続した構成、をそれぞれ示すものである。
【図５】本実施形態の二次元コードジェネレータにより処理される反転コード生成処理に関する図で、図５(A) は反転コード生成処理の流れを示すフローチャート、図５(B) は図５(A) に示す反転処理前のメモリ空間の概念を示す説明図、図５(C) は反転処理後のメモリ空間の概念を示す説明図、である。
【図６】図６(A) は、本実施形態による二次元コードリーダ（第１例）の外観構成および反転したＱＲコードを読み取る場合の例を示す説明図で、図６(B) は、図６(A) に示す二次元コードリーダの光学系の構成例を示す説明図である。
【図７】図６に示す二次元コードリーダの光学的および電気的な構成例を示すブロック図である。
【図８】図６に示す二次元コードリーダにより処理される読取処理の流れを示すフローチャートである。
【図９】図９(A) は、本実施形態による二次元コードリーダ（第２例）の外観構成および反転したＱＲコードを読み取る場合の例を示す説明図で、図９(B) は、図９(A) に示す二次元コードリーダの光学系の構成例を示す説明図である。
【図１０】図９に示す二次元コードリーダの光学的および電気的な構成例を示すブロック図である。
【図１１】図９に示す二次元コードリーダにより処理される読取処理の流れを示すフローチャートである。
【図１２】図１１に示すアドレス変換処理の説明図で、図１２(A) は受光センサの有効画素範囲を示す説明図、図１２(B) はアドレス変換前の画素と格納されるアドレスとの関係を示す説明図、図１２(C) はアドレス変換後の画素と格納されるアドレスとの関係を示す説明図である。
【符号の説明】
【０１４２】
１…二次元コードジェネレータ
２…パソコン本体（生成手段、出力制御手段、通常コード生成手段、反転コード生成手段）
３…ディスプレィ（出力装置）
６…ラベルプリンタ（出力装置）
７…二次元コード表示装置（出力装置）
７ａ…表示画面
１０、１０’、１０”…二次元コードリーダ（二次元コード読取装置）
１１…ケース１１
１２…読取口１２
１５…ミラーユニット
１８…反射ミラー（鏡手段）
２３…受光センサ（撮像手段）
２３ａ…受光面
３５…メモリ（復号手段、変換手段、蓄積手段）
３６…アドレス変換回路
３８…同期信号発生回路
４０…制御回路（復号手段、出力手段、変換手段、格納手段、取出手段）
４６…液晶表示装置
４８…通信インタフェース（出力手段）
ＦＰα、ＦＰβ、ＦＰγ、ＦＰδ、…位置検出パターン
Ｍ…注意書き
Ｐ…表示媒体
Ｑ…二次元コード（通常コード）
Ｑａ…ＱＲコード（二次元コード、通常コード）
Ｑｂ…データマトリクス（二次元コード、通常コード）
Ｒ…二次元コード（反転コード）
Ｒａ、Ｒａ’…反転したＱＲコード（二次元コード、反転コード）
Ｒｂ、Ｒｂ’…反転したデータマトリクス（二次元コード、反転コード）
Ｓ…表示領域
α、β、γ、δ…回転軸
Ｓ１０３（生成手段、通常コード生成手段）
Ｓ１０５（生成手段、反転コード生成手段）
Ｓ１０７（出力制御手段）
【図１】
2007265354.tif 000003
【図２】
2007265354.tif 000004
【図３】
2007265354.tif 000005
【図４】
2007265354.tif 000006
【図５】
2007265354.tif 000007
【図６】
2007265354.tif 000008
【図７】
2007265354.tif 000009
【図８】
2007265354.tif 000010
【図９】
2007265354.tif 000011
【図１０】
2007265354.tif 000012
【図１１】
2007265354.tif 000013
【図１２】
2007265354.tif 000014