(57)【要約】【課題】ビット列をシャフリングする等の複雑かつ負荷の大きい処理を必要とせずに、バースト的に発生した読み取り誤りを訂正できる二次元コードを生成する。【解決手段】本発明に係る二次元コード生成装置１は、符号化する情報である符号化情報を分割して得られる分割情報のそれぞれに誤り訂正符号を付して符号化した分割情報符号のそれぞれに基づいて１単位の二次元コードである分割情報コードを生成する分割情報コード生成手段と、前記分割情報符号のそれぞれから対応する情報を抽出して得られる交差情報に誤り訂正符号を付して符号化した交差情報符号に含まれる前記誤り訂正符号のそれぞれから対応する情報を抽出して得られる交差情報訂正符号のそれぞれに基づいて１単位の二次元コードである交差情報訂正コードを生成する交差情報訂正コード生成手段と、を有する。【選択図】図１
2011049690.tif 000002
【特許請求の範囲】
【請求項１】
符号化する情報である符号化情報を分割して得られる分割情報のそれぞれに誤り訂正符号を付して符号化した分割情報符号のそれぞれに基づいて１単位の二次元コードである分割情報コードを生成する分割情報コード生成手段と、
前記分割情報符号のそれぞれから対応する情報を抽出して得られる交差情報に誤り訂正符号を付して符号化した交差情報符号に含まれる前記誤り訂正符号のそれぞれから対応する情報を抽出して得られる交差情報訂正符号のそれぞれに基づいて１単位の二次元コードである交差情報訂正コードを生成する交差情報訂正コード生成手段と、
を有する二次元コード生成装置。
【請求項２】
前記交差情報符号に含まれるシンボル数が、前記分割情報符号の数と異なる請求項１記載の二次元コード生成装置。
【請求項３】
前記交差情報符号を構成するシンボルは、前記分割情報コード及び前記交差情報訂正コードの対応する位置に配置される請求項１又は２記載の二次元コード生成装置。
【請求項４】
指定された領域に配置し得る二次元コードの数から、配置し得る交差情報訂正コードの数を算出する交差情報訂正コード配置可能数算出手段を有し、
前記交差情報訂正コード生成手段は、前記配置し得る交差情報訂正コードの数に基づいて前記交差情報訂正コードを生成する請求項１乃至３の何れかに記載の二次元コード生成装置。
【請求項５】
前記分割情報コード及び前記交差情報訂正コードに、前記分割情報コード及び前記交差情報訂正コードの順序に関する情報を含む索引情報を付与する索引情報付与手段と、
前記分割情報コード及び前記交差情報訂正コードの順序を並び替えて配置する並び替え配置手段と、
を有する請求項１乃至４の何れかに記載の二次元コード生成装置。
【請求項６】
画像情報を受け付ける画像情報受付手段と、
前記符号化情報を受け付ける符号化情報受付手段と、
請求項１乃至５の何れかに記載の二次元コード生成装置と、
前記画像情報から得られる画像と生成された二次元コードを合成する合成手段と、
二次元コードが埋め込まれた画像情報に基いて、媒体に画像を形成する画像形成手段と、
を有する画像形成システム。
【請求項７】
符号化する情報である符号化情報を分割して得られる分割情報のそれぞれに誤り訂正符号を付して符号化した分割情報符号のそれぞれに基づいて生成された１単位の二次元コードである分割情報コードと、
前記分割情報符号のそれぞれから対応する情報を抽出して得られる交差情報に誤り訂正符号を付して符号化した交差情報符号に含まれる前記誤り訂正符号のそれぞれから対応する情報を抽出して得られる交差情報訂正符号のそれぞれに基づいて生成された１単位の二次元コードである交差情報訂正コードと、
からなる複数単位の二次元コードを読み込む二次元コード読み込み手段と、
読み込んだ前記複数単位の二次元コードから、前記符号化情報を復号する符号化情報復号手段と、
を有する二次元コード読み取り装置。
【請求項８】
前記符号化情報復号手段は、前記分割情報コードから得られた前記分割情報符号の復号が失敗した場合に前記交差情報訂正コードから得られた前記交差情報を復号する請求項７記載の二次元コード読み取り装置。
【請求項９】
コンピュータを、
符号化する情報である符号化情報を分割して得られる分割情報のそれぞれに誤り訂正符号を付して符号化した分割情報符号のそれぞれに基づいて１単位の二次元コードである分割情報コードを生成する分割情報コード生成手段と、
前記分割情報符号のそれぞれから対応する情報を抽出して得られる交差情報に誤り訂正符号を付して符号化した交差情報符号に含まれる前記誤り訂正符号のそれぞれから対応する情報を抽出して得られる交差情報訂正符号のそれぞれに基づいて１単位の二次元コードである交差情報訂正コードを生成する交差情報訂正コード生成手段と、
として機能させるコンピュータプログラム。
【請求項１０】
コンピュータを、
符号化する情報である符号化情報を分割して得られる分割情報のそれぞれに誤り訂正符号を付して符号化した分割情報符号のそれぞれに基づいて生成された１単位の二次元コードである分割情報コードと、
前記分割情報符号のそれぞれから対応する情報を抽出して得られる交差情報に誤り訂正符号を付して符号化した交差情報符号に含まれる前記誤り訂正符号のそれぞれから対応する情報を抽出して得られる交差情報訂正符号のそれぞれに基づいて生成された１単位の二次元コードである交差情報訂正コードと、
からなる複数単位の二次元コードを読み込む二次元コード読み込み手段と、
読み込んだ前記複数単位の二次元コードから、前記符号化情報を復号する符号化情報復号手段と、
として機能させるコンピュータプログラム。
【請求項１１】
符号化する情報である符号化情報を分割して得られる分割情報のそれぞれに誤り訂正符号を付して符号化した分割情報符号のそれぞれに基づいて生成された１単位の二次元コードである分割情報コードと、
前記分割情報符号のそれぞれから対応する情報を抽出して得られる交差情報に誤り訂正符号を付して符号化した交差情報符号に含まれる前記誤り訂正符号のそれぞれから対応する情報を抽出して得られる交差情報訂正符号のそれぞれに基づいて生成された１単位の二次元コードである交差情報訂正コードと、
からなる複数単位の二次元コードが付与された媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二次元コード生成装置、画像形成システム、二次元コード読み取り装置、コンピュータプログラム及び媒体に関する。
【背景技術】
【０００２】
特許文献１には、紙に印刷記録された誤り訂正符号データであるドットコードを撮像し、その撮像状態が撮像状態判定手段で判断された結果に応じて、消失エラー位置を検出するコードイメージ読取装置が記載されている。同文献記載のコードイメージ読取装置は、個々の誤り訂正符号について、復号時のエラー訂正能力を向上させる。また、同文献記載のコードイメージ読取装置は、積符号を用いていない。
【０００３】
特許文献２には、画像情報に付加される付加情報から算出された誤り訂正符号化された多重化情報のビット列をシャフリング手段により並び替えることにより、バースト的に発生した読み取り誤りをビットストリーム内に分散させ、誤り訂正復号化時の復元誤りを低下させる画像処理装置が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−５９０６号公報
【特許文献２】特開２００３−１０１７５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の解決しようとする課題は、ビット列をシャフリングする等の複雑かつ負荷の大きい処理を必要とせずに、バースト的に発生した読み取り誤りを訂正できる二次元コードを生成することである。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の請求項１記載の二次元コード生成装置は、符号化する情報である符号化情報を分割して得られる分割情報のそれぞれに誤り訂正符号を付して符号化した分割情報符号のそれぞれに基づいて１単位の二次元コードである分割情報コードを生成する分割情報コード生成手段と、前記分割情報符号のそれぞれから対応する情報を抽出して得られる交差情報に誤り訂正符号を付して符号化した交差情報符号に含まれる前記誤り訂正符号のそれぞれから対応する情報を抽出して得られる交差情報訂正符号のそれぞれに基づいて１単位の二次元コードである交差情報訂正コードを生成する交差情報訂正コード生成手段と、を有する。
【０００７】
また、本発明の請求項２記載の二次元コード生成装置は、請求項１記載の二次元コード生成装置であって、前記交差情報に含まれるシンボル数が、前記分割情報符号の数と異なる。
【０００８】
また、本発明の請求項３記載の二次元コード生成装置は、請求項１又は２記載の二次元コード生成装置であって、前記交差情報符号を構成するシンボルは、前記分割情報コード及び前記交差情報訂正コードの対応する位置に配置される。
【０００９】
また、本発明の請求項４記載の二次元コード生成装置は、請求項１乃至３の何れかに記載の二次元コード生成装置であって、指定された領域に配置し得る二次元コードの数から、配置し得る交差情報訂正コードの数を算出する交差情報訂正コード配置可能数算出手段を有し、前記交差情報訂正コード生成手段は、前記配置し得る交差情報訂正コードの数に基づいて前記交差情報訂正コードを生成する。
【００１０】
また、本発明の請求項５記載の二次元コード生成装置は、請求項１乃至４の何れかに記載の二次元コード生成装置であって、前記分割情報コード及び前記交差情報訂正コードに、前記分割情報コード及び前記交差情報訂正コードの順序に関する情報を含む索引情報を付与する索引情報付与手段と、前記分割情報コード及び前記交差情報訂正コードの順序を並び替えて配置する並び替え配置手段と、を有する。
【００１１】
また、本発明の請求項６記載の係る画像形成システムは、画像情報を受け付ける画像情報受付手段と、前記符号化情報を受け付ける符号化情報受付手段と、請求項１乃至５の何れかに記載の二次元コード生成装置と、前記画像情報から得られる画像と生成された二次元コードを合成する合成手段と、二次元コードが埋め込まれた画像情報に基いて、媒体に画像を形成する画像形成手段と、を有する。
【００１２】
また、本発明の請求項７記載の二次元コード読み取り装置は、符号化する情報である符号化情報を分割して得られる分割情報のそれぞれに誤り訂正符号を付して符号化した分割情報符号のそれぞれに基づいて生成された１単位の二次元コードである分割情報コードと、前記分割情報符号のそれぞれから対応する情報を抽出して得られる交差情報に誤り訂正符号を付して符号化した交差情報符号に含まれる前記誤り訂正符号のそれぞれから対応する情報を抽出して得られる交差情報訂正符号のそれぞれに基づいて生成された１単位の二次元コードである交差情報訂正コードと、からなる複数単位の二次元コードを読み込む二次元コード読み込み手段と、読み込んだ前記複数単位の二次元コードから、前記符号化情報を復号する符号化情報復号手段と、を有する。
【００１３】
また、本発明の請求項８記載の二次元コード読み取り装置は、請求項７記載の二次元コード読み取り装置であって、前記符号化情報復号手段は、前記分割情報コードから得られた前記分割情報符号の復号が失敗した場合に前記交差情報訂正コードから得られた前記交差情報を復号する。
【００１４】
また、本発明の請求項９記載のコンピュータプログラムは、コンピュータを、符号化する情報である符号化情報を分割して得られる分割情報のそれぞれに誤り訂正符号を付して符号化した分割情報符号のそれぞれに基づいて１単位の二次元コードである分割情報コードを生成する分割情報コード生成手段と、前記分割情報符号のそれぞれから対応する情報を抽出して得られる交差情報に誤り訂正符号を付して符号化した交差情報符号に含まれる前記誤り訂正符号のそれぞれから対応する情報を抽出して得られる交差情報訂正符号のそれぞれに基づいて１単位の二次元コードである交差情報訂正コードを生成する交差情報訂正コード生成手段と、として機能させる。
【００１５】
また、本発明の請求項１０記載のコンピュータプログラムは、コンピュータを、符号化する情報である符号化情報を分割して得られる分割情報のそれぞれに誤り訂正符号を付して符号化した分割情報符号のそれぞれに基づいて生成された１単位の二次元コードである分割情報コードと、前記分割情報符号のそれぞれから対応する情報を抽出して得られる交差情報に誤り訂正符号を付して符号化した交差情報符号に含まれる前記誤り訂正符号のそれぞれから対応する情報を抽出して得られる交差情報訂正符号のそれぞれに基づいて生成された１単位の二次元コードである交差情報訂正コードと、からなる複数単位の二次元コードを読み込む二次元コード読み込み手段と、読み込んだ前記複数単位の二次元コードから、前記符号化情報を復号する符号化情報復号手段と、として機能させる。
【００１６】
また、本発明の請求項１１記載の媒体は、符号化する情報である符号化情報を分割して得られる分割情報のそれぞれに誤り訂正符号を付して符号化した分割情報符号のそれぞれに基づいて生成された１単位の二次元コードである分割情報コードと、前記分割情報符号のそれぞれから対応する情報を抽出して得られる交差情報に誤り訂正符号を付して符号化した交差情報符号に含まれる前記誤り訂正符号のそれぞれから対応する情報を抽出して得られる交差情報訂正符号のそれぞれに基づいて生成された１単位の二次元コードである交差情報訂正コードと、からなる複数単位の二次元コードが付与されている。
【発明の効果】
【００１７】
上記請求項１記載の二次元コード生成装置によれば、ビット列をシャフリングする等の複雑かつ負荷の大きい処理を必要とせずに、バースト的に発生した読み取り誤りを訂正できる二次元コードを生成することができる。
【００１８】
また、上記請求項２記載の二次元コード生成装置によれば、生成される交差情報訂正符号の無駄を排除できる。
【００１９】
また、上記請求項３記載の二次元コード生成装置によれば、ビット列がシャフリングされた二次元コードに比べ、簡易かつ負荷の少ない処理により交差情報符号を再構成できる二次元コードを生成できる。
【００２０】
また、上記請求項４記載の二次元コード生成装置によれば、指定された領域の大きさに応じて、生成される二次元コードの誤り訂正能力を変化させることができる。
【００２１】
また、上記請求項５記載の二次元コード生成装置によれば、本請求項に規定された構成を持たない二次元コード生成装置に比べて、逆解析が困難な二次元コードを生成することができる。
【００２２】
また、上記請求項６記載の画像形成システムによれば、ビット列をシャフリングする等の複雑かつ負荷の大きい処理を必要とせずに、バースト的に発生した読み取り誤りを訂正できる二次元コードが埋め込まれた画像を形成できる。
【００２３】
また、上記請求項７記載の二次元コード読み取り装置によれば、ビット列をシャフリングする等の複雑かつ負荷の大きい処理を必要とせずに、バースト的に発生した読み取り誤りを訂正できる二次元コードを読み取ることができる。
【００２４】
また、上記請求項８記載の二次元コード読み取り装置によれば、本請求項に規定された構成を持たない二次元コード読み取り装置に比べて、高速に二次元コードを読み取ることができる。
【００２５】
また、上記請求項９記載のコンピュータプログラムによれば、コンピュータにより、ビット列をシャフリングする等の複雑かつ負荷の大きい処理を必要とせずに、バースト的に発生した読み取り誤りを訂正できる二次元コードを生成することができる。
【００２６】
また、上記請求項１０記載のコンピュータプログラムによれば、コンピュータにより、ビット列をシャフリングする等の複雑かつ負荷の大きい処理を必要とせずに、バースト的に発生した読み取り誤りを訂正できる二次元コードを読み取ることができる。
【００２７】
また、上記請求項１１記載の媒体によれば、ビット列をシャフリングする等の複雑かつ負荷の大きい処理を必要とせずに、バースト的に発生した読み取り誤りを訂正できる二次元コードを提供できる。
【図面の簡単な説明】
【００２８】
【図１】本発明の第１の実施形態である二次元コード生成装置の機能ブロック図である。
【図２】符号化部の動作を示すフローチャートである。
【図３】符号化情報の符号化の過程を模式的に示す図である。
【図４】符号化部により符号化された符号化情報を示す図である。
【図５】分割情報符号又は交差情報訂正符号に含まれるシンボルを単位二次元コード内に配置する配置の一例である。
【図６】横４列、縦３列の配置領域内に、１２の単位二次元コードの順番を並び替えて配置した例である。
【図７】画像形成システムの機能ブロック図である。
【図８】二次元コード読み取り装置の機能ブロック図である。
【図９】復号部の動作を示すフローチャートである。
【発明を実施するための形態】
【００２９】
図１は、本発明の第１の実施形態である二次元コード生成装置１の機能ブロック図である。
【００３０】
二次元コード生成装置１は、物理的には汎用の情報処理装置である、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、メモリ、入出力インタフェースを有する一般的なコンピュータを用いて実現される。そして、かかるコンピュータ上で、コンピュータを二次元コード生成装置１として動作させるためのコンピュータプログラムを実行することにより、二次元コード生成装置１は仮想的に実現される。コンピュータを二次元コード生成装置１として動作させるためのコンピュータプログラムは、たとえばＤＶＤ−ＲＯＭ（ＤＶＤ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の任意の情報記録媒体に記録して提供しても、インターネットに代表される公衆回線等の電気通信回線を介して、コンピュータ読み取り可能な電気信号として提供してもよい。もちろん、二次元コード生成装置１を実現するにあたり用いる情報処理装置は一般的なコンピュータに限られず、マイクロコントローラにより実現しても、またＤＳＰ（デジタルシグナルプロセッサ）等を用いて専用の装置を製作してもよい。また、二次元コード生成装置１は、単独で動作可能な機器として構成しても、コピー機やファクシミリ等の事務機器に実装あるいは追加されるモジュールとして構成してもよい。
【００３１】
なお、図示された二次元コード生成装置１の機能ブロックは、コンピュータプログラムにより実現される二次元コード生成装置１を、その機能に着目して説明の便宜上示したものであり、必ずしも各機能ブロックが物理的に存在する必要はない。
【００３２】
情報受付部２は、外部より符号化情報及び配置領域情報を受け付けるインタフェースである。この情報受付部２は、符号化情報及び配置領域情報を受け付けるものであればどのようなものであってもよいが、具体的には、コンピュータ上で実行されているプロセス間で情報の入出力を行う、いわゆるソケットであってもよいし、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やインターネット等の公衆回線を含むＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等に接続された電気通信回線、任意の情報記録媒体読取装置等であってもよい。
【００３３】
ここで、符号化情報とは、二次元コード生成装置１により符号化し、二次元コードに変換しようとする元の情報を指している。また、二次元コードは、情報を二値化し面上に配置した記録手段を指している。二次元コードは、通常矩形の領域内に予め定められた数のドットを格子状の規則的な配列により配置したパターンにより構成されており、かかるパターンを本明細書では「単位二次元コード」と呼ぶ。二次元コードは、１単位の単位二次元コードのみから構成されていても、複数単位から構成されていてもよい。なお、１単位の二次元コードという場合は、単位二次元コードを指している。そして、単位二次元コードが占める領域の形状は、矩形が取り扱いが容易であることから好ましいが、これに限定するものではなく、円形、扇型などであってもよい。また、情報の配列は格子状に限定されない。さらに、二次元コードが配置される面は平面に限定されず、曲面であってもよい。
【００３４】
また、配置領域情報とは、二次元コード生成装置１により生成される二次元コードが配置されるべき領域である配置領域を示す情報である。そのような情報の具体的な構成は特に限定されないが、一例として、配置領域の縦横の長さを示す情報を挙げられる。その他にも、二次元コードが付与されるべき媒体上での配置領域の位置を示す情報や、配置領域の形状を示す情報等の情報が配置領域情報に含まれてもよい。いずれにせよ、後述するように、配置領域情報は、指定された配置領域内に何単位の単位二次元コードを配置することができるかを算出する根拠となる情報であればよい。
【００３５】
交差情報訂正コード数算出部３は、受け付けられた符号化情報及び配置領域情報に基づいて、生成する交差情報訂正コードの数を算出する。後述するように、本実施形態において生成される二次元コードに含まれる単位二次元コードには、分割情報コードと交差情報訂正コードの二種類がある。分割情報コードは、符号化情報を分割して格納する単位二次元コードであり、その数は、１単位の分割情報コードに格納できる情報量が決まっているため、符号化情報の情報量に応じて定まる。一方、交差情報訂正コードは、誤り訂正のための情報を格納する単位二次元コードであり、交差情報訂正コードが多いほど誤り訂正能力が高くなる。
【００３６】
そこで、交差情報訂正コード数算出部３は、まず、符号化情報の情報量から、必要となる分割情報コードの数を算出する。次いで、配置領域情報から、指定された領域に配置できる単位二次元コードの単位数を算出する。そして、指定された領域に配置できる単位二次元コードの単位数から必要となる分割情報コードの単位数を減算して、配置できる交差情報訂正コードの単位数である交差情報訂正コード数を得る。
【００３７】
この計算を具体的な例で示すと、符号化情報の情報量が２ＫＢ（キロバイト）であり、１単位の分割情報コードに格納される情報量が２０９バイトであるとすると、２ＫＢは２０４８バイトであるから、分割情報コードは１０個必要となる。一方、指定された領域が、横方向に４単位、縦方向に３単位の合計１２単位の単位二次元コードが配置できる矩形の領域であれば、交差情報訂正コードは、１２−１０＝２単位配置できると算出される。なお、ここで挙げた具体的な数値は説明のための一例であり、本発明をこれに限定するものではない。
【００３８】
そして、符号化情報、配置領域情報及び生成する交差情報訂正コード数は符号化部４に受け渡され、符号化が行われる。符号化部４は、符号化情報を積符号を用いて誤り訂正能力を付与して符号化する。
【００３９】
図２は、符号化部４の動作を示すフローチャートである。以下、図２及び図３を適宜参照しつつ符号化部４による符号化について説明する。符号化部４は、まず、ステップＳ０１において、符号化情報を１単位の分割情報コードに格納される情報長毎に分割し、複数の分割情報を得る。先述した例では、１単位の分割情報コードに格納される情報長は２０９バイトであるから、たとえば２ＫＢの符号化情報は１０の分割情報に分割される。その場合、最後の分割情報は１６７バイトになるが、適当な情報、例えば、０を末尾に付加して全ての分割情報の情報長を２０９バイトに揃える。なお、符号化情報自体の情報量を低減するため、符号化情報は、あらかじめ二次元コードを生成する元となる情報を圧縮し、その冗長性を取り除いたものであることが望ましい。そのような情報を圧縮する方法は公知の手法、例えば、ハフマン符号や算術符号を用いてよい。
【００４０】
図３は符号化情報の符号化の過程を模式的に示す図であり、（ａ）は、符号化情報が分割情報に分割された様子を示している。同図に示す横長の矩形それぞれが、分割情報１００を示し、その長さは分割情報１００の情報長を示している。また、各分割情報１００の左側に記された数字は、元の符号化情報における各分割情報１００の配列順を示している。
【００４１】
図２に戻り、続いて、ステップＳ０２において、各分割情報１００にＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）符号を追加する。なお、このステップＳ０２は必須のものではなく、省略してもよい。また、ＣＲＣは誤り検出方法として周知のものであるが、ここで各分割情報１００に誤り検出能力を付与する手法はＣＲＣに限定されず、いかなる手法を用いてもよい。本実施形態では、一例として、ＣＲＣ符号として２バイトのデータを付加するものとする。図３（ｂ）はＣＲＣ符号１０１が付加された符号化情報を示している。
【００４２】
続いて、図２のステップＳ０３において、ＣＲＣ符号１０１が付加された各分割情報１００をそれぞれ符号化する。ここでの符号化は、誤り訂正能力を有する符号化方法を用いれば、その方法は特に限定されない。例えば、リードソロモン符号、ＢＣＨ符号など種々の符号化方法を用いてよい。本実施形態では、リードソロモン符号による符号化を行う。
【００４３】
ここで、リードソロモン符号では、情報の符号化を任意に定めた大きさの情報を最小単位として行うが、以降、本明細書では、かかる情報の最小単位をシンボルと称する。シンボルの情報長は任意であるが、本実施形態では、コンピュータによる取り扱いが容易であることから、８ビット、すなわち、１バイトを１シンボルとする。そして、リードソロモン符号では、誤りの検出及び訂正はシンボル単位で行われる。また、符号化しようとする情報のシンボル数をＮ、符号化後のシンボル数をＫとすると、誤り訂正のために付加されるシンボル数は（Ｋ−Ｎ）となる。この時、リードソロモン符号では、誤りを含むシンボルの位置が不明である場合には、誤りを訂正可能なシンボル数は（Ｋ−Ｎ）／２となり、誤りを含むシンボルの位置が判明している場合には、（Ｋ−Ｎ）までのシンボルを訂正可能であることが知られている。
【００４４】
本実施形態におけるステップＳ０３では、各分割情報１００に４４シンボル付加し、２５５シンボルとする符号化を行う。以降では、この時付加されたシンボルを誤り訂正符号１０２と呼び、また生成された各々の符号を分割情報符号１０３と呼ぶ。図３（ｃ）は、ステップＳ０３においてリードソロモン符号による符号化が各分割情報１００についてなされた符号化情報を示している。これにより、それぞれ２５５シンボルからなる分割情報符号１０３が１０個得られ、各々の分割情報符号は、誤りの位置が不明であれば、４４／２＝２２シンボルまでの誤り訂正能力を有している。
【００４５】
続いて、符号化部４（図１参照）は、積符号による符号化を行うので、分割情報符号１０３が得られた後、さらに、分割情報符号１０３のそれぞれから対応するシンボルを抽出して得られる交差情報を抽出する。本実施形態では、各分割情報符号１０３の先頭からの位置が等しいシンボルを抽出して交差情報を得る。この動作を図３（ｄ）を用いて説明すると、図中縦方向に示された矩形が交差情報１０４に相当する。図中では、図示の都合上交差情報１０４を１つのみ示したが、分割情報符号１０３を構成する全てのシンボルについて交差情報１０４が得られる。ここで、交差情報１０４の幅、すなわち、各分割情報符号１０３から抽出するシンボル数が１であれば、交差情報１０４に含まれるシンボル数は、分割情報符号１０３の数と等しくなる。本実施形態では、１０である。
【００４６】
ところで、前述したとおり、リードソロモン符号では、符号のシンボル数をＫ、符号化しようとする情報のシンボル数をＮとしたときに、誤り訂正可能なシンボル数は、誤りの位置が不明であれば（Ｋ−Ｎ）／２であるから、（Ｋ−Ｎ）が偶数である場合には誤り訂正可能なシンボル数は整数となる。これに対し、（Ｋ−Ｎ）が奇数である場合には、誤り訂正可能なシンボル数に端数が生じる。訂正はシンボル単位で行われるため、この場合には、誤り訂正符号の一部が無駄となる。
【００４７】
ここで、交差情報訂正コード数算出部３（図１参照）により算出された交差情報訂正コード数が偶数であれば、交差情報に付加する誤り訂正符号に無駄は生じないため、交差情報１０４の幅を１として差し支えない。しかし、交差情報訂正コード数が奇数であれば、交差情報に付加する誤り訂正符号に無駄が生じるため、符号化部４は、まず、ステップＳ０４において交差情報訂正コード数が偶数であるか奇数であるかを判定する。偶数であれば、ステップＳ０５に進み、各分割情報符号１０３から１シンボルずつ抽出し交差情報１０４を得る。この例では、交差情報訂正コード数は２であるから、各分割情報符号１０３から１シンボルずつ抽出し交差情報１０４を得ることになる。
【００４８】
そして、ステップＳ０６で、各交差情報１０４を誤り訂正可能に符号化する。ここでの符号化方式も特に限定はされないが、本実施形態では、分割情報符号１０３と同様にリードソロモン符号を用いて符号化する。この場合、交差情報１０４に付加される誤り訂正符号１０５は２シンボルの情報長となり、交差情報１０４と誤り訂正符号１０５を合わせた交差情報符号１０６の情報長は１２シンボルとなる。この場合、各々の交差情報符号１０６は、誤りの位置が不明であれば、（１２−１０）／２＝１シンボルの誤り訂正能力を持つ。
【００４９】
符号化部４により符号化された符号化情報を図４（ａ）に示す。同図に示す様に、分割情報符号１０３の下側に、２つの交差情報訂正符号１０７が形成されている。交差情報訂正符号１０７は、交差情報１０４に付加された誤り訂正符号１０５を並び替えて得られるものであり、誤り訂正符号１０５のそれぞれから対応するシンボルを抽出して得られる符号である。交差情報訂正符号１０７の数は、交差情報訂正コード数に等しく、また、交差情報訂正符号１０７の情報長は分割情報符号１０３の情報長に等しい。図中では、交差情報訂正符号１０７に、さらに、分割情報符号１０３に続いて通し番号をその左側に振っている。このようにして、符号化情報は符号化され、必要な数の分割情報符号１０３と、交差情報訂正コード数算出部３により算出された交差情報訂正コード数に等しい数の交差情報訂正符号１０７が得られる。
【００５０】
一方、図２のステップＳ０４で交差情報訂正コード数が奇数である場合には、ステップ０７へと進む。例えば、前述の例において、指定された領域に配置される単位二次元コードの単位数を１１とすると、交差情報訂正コード数は１となり、ステップＳ０７が実行される。
【００５１】
ステップＳ０７では、各分割情報符号１０３の先頭からの位置が等しいシンボルを２つずつ抽出して交差情報１０４を得る。この例では、分割情報符号１０３の数は１０であるから、交差情報１０４の情報長は２０シンボルとなる。すなわち、交差情報１０４に含まれるシンボルの数が、分割情報符号１０３の数と異なる。
【００５２】
そして、ステップＳ０６へと進み、各交差情報１０４を誤り訂正可能に符号化する。このとき付加される誤り訂正符号１０５の情報長は、交差情報１０４の幅、すなわち、一つの分割情報符号１０３から抽出されるシンボル数と交差情報訂正コード数の積となる。ここでは、交差情報訂正コード数が１であるから、誤り訂正符号１０５の情報長は２となる。
【００５３】
このことを図示したものが図４（ｂ）である。この場合、各々の交差情報符号１０５は、誤りの位置が不明であれば（２２−２０）／２＝１シンボルの誤り訂正能力を持ち、誤り訂正符号１０５に無駄は生じない。また、交差情報訂正符号１０７は、同図（ａ）の場合と同様に、交差情報訂正コード数に等しい数が得られ、その情報長は分割情報符号１０３に等しい。
【００５４】
このように、本実施形態では、交差情報訂正コード数が奇数の場合に、交差情報１０４に含まれるシンボルの数を、分割情報符号１０３の数と違え、誤り訂正符号１０５の無駄を排除している。なお、本実施形態で、交差情報訂正コード数が偶数の場合には交差情報１０４に含まれるシンボルの数と分割情報符号１０３の数を等しいものとしているが、これは、誤り訂正符号の符号化時及び復号時の計算量が、交差情報１０４の情報長が小さいほうが少なくなることによる。しかしながらこれに限定されず、いかなる場合にも交差情報１０４に含まれるシンボルの数と分割情報符号１０３の数を異なるもの（すなわち、常に図２のステップＳ０７を実行する）としてもよい。また、本実施形態のように、分割情報１００にＣＲＣ符号１０１などのエラー検出用の信号が付加されている場合には、これを用いたエラーチェックにより、交差情報１０４に含まれるどのシンボルに誤りが発生しているかが判明する場合がある。これを利用すると、交差情報１０４の誤り訂正能力は誤り訂正符号１０５のシンボル数に等しくなるため，誤り訂正符号１０５に無駄は発生しない。このような場合には、常に交差情報１０４に含まれるシンボルの数と分割情報符号１０３の数が等しい（すなわち、常に図２のステップＳ０５を実行する）としてもよい。
【００５５】
符号化情報の符号化が終了すると、符号化部４は得られた各分割情報符号１０３及び各交差情報訂正符号１０７を索引情報付与部５へと受け渡す（図１参照）。
【００５６】
索引情報付与部５は、各分割情報符号１０３及び各交差情報訂正符号１０７に、索引情報を付与する。索引情報は、少なくとも各分割情報符号１０３及び各交差情報訂正符号１０７の順番に関する情報を含み、そのほかにも、生成される単位二次元コードが分割情報符号１０３を含むのか、交差情報訂正符号１０７を含むのかといった情報や、符号化情報を誤り訂正可能に符号化した際用いたパラメータに関する情報を含んでいてよい。
【００５７】
なお、索引情報付与部５は必須の構成ではない。各分割情報符号１０３及び各交差情報訂正符号１０７から生成される二次元コードが、予め定められた規則に従い配置される場合には索引情報は付与しなくともよい。
【００５８】
さらに、図１に戻り、符号化された符号化情報は二次元コード生成部６へと受け渡される。二次元コード生成部６は、各分割情報符号１０３及び各交差情報訂正符号１０７を、それぞれ１単位の単位二次元コードに変換し、分割情報符号１０３からは分割情報コードを、交差情報訂正符号からは交差情報訂正コードを生成する。すなわち、二次元コード生成部６は、分割情報コードを生成する分割情報コード生成手段及び、交差情報訂正コードを生成する交差情報訂正コード生成手段として機能する。
【００５９】
図５は、分割情報符号１０３又は交差情報訂正符号１０７に含まれるシンボルを単位二次元コード内に配置する配置の一例である。図中示した矩形の外枠は単位二次元コードの外形を示している。そして、該外枠内部を区切って示した矩形の小区画は、それぞれシンボルが配置される位置を示している。各小区画内に記入された番号は、該小区画に配置されるシンボルの、分割情報符号１０３又は交差情報訂正符号１０７の先頭からの位置を示している。また、アルファベットの「Ｉ」で示されているのは索引情報である。
【００６０】
この例では、各シンボルは、左上から右へ進むように配置され、右端まで来ると一段下にさがり再度左から右へと配置される。このように、予め定められた規則に従いシンボルを配置すると、各分割情報符号１０３及び交差情報訂正符号１０７における対応するシンボル、すなわち、先頭からの位置が等しいシンボルは、単位二次元コード内の同じ位置に配置される。このようにすると、二次元コードから交差情報符号１０６を得るには、復元しようとする交差情報符号１０６に含まれるシンボルが配置されている位置のシンボルを全ての単位二次元コードから抽出すればよく、単純で負荷の小さい処理で交差情報符号１０６が得られる。各単位二次元コードは、画像データとして得られ、さらに二次元コード配置部７へと受け渡される。
【００６１】
なお、単位二次元コードにおけるシンボルの配置の規則は例示したものに限定されない。全ての単位二次元コードについて、共通の規則に従っていれば、いかなる規則を配置に用いてもよい。
【００６２】
二次元コード配置部７は、配置領域情報に基づいて、得られた各単位二次元コードを指定された領域内に配置する。本実施形態では、各単位二次元コードはその配置の順番を並び替えて配置する。図６は、上述の例において、横４列、縦３列の配置領域内に、１２の単位二次元コードの順番を並び替えて配置した例である。図中示した矩形の外枠は指定された領域を示しており、画素と枠内部を区切って示した矩形の小区画は、それぞれの単位二次元コードを示している。各小区画内に記入された番号は、各単位二次元コードの順序を示しており、図４で、分割情報符号１０３及び交差情報訂正符号１０７の左側に記した数字に対応している。図示したとおり、各単位二次元コードの配列は、一見して規則性が見いだせないように並び替えられている。この並び替えは、乱数に基づいてランダムに行ってよいが、並び替えの規則性が見出しにくいものであれば、特定のアルゴリズムに従って行ってもよい。このように並び替えられた単位二次元コードの順序は、単位二次元コード毎に付加された索引情報を読み取ることにより復元される。
【００６３】
なお、このような単位二次元コードの並び替えは、必ずしも必須ではない。並び替えを行わず、指定された領域の端から順番に単位二次元コードを配置していくようにしてもよい。
【００６４】
図１に戻り、二次元コード配置部７により指定された領域内に配置された二次元コードは、二次元コード出力部８により出力される。二次元コード出力部８は、生成された二次元コードを出力するものであればどのようなものであってもよく、例えば、情報受付部２と同様に、入出力インタフェースであるソケットとしてよい。
【００６５】
続いて、本発明の第２の実施形態である画像形成システム１０を説明する。
【００６６】
図７は、画像形成システム１０の機能ブロック図である。画像形成システム１０は、電子データである画像情報と符号化情報を受け付け、符号化情報から二次元コードを生成し、画像情報から生成される画像と合成して合成画像を得、任意の媒体の表面に合成画像を形成するシステムである。ここで、画像情報は、視覚的に認識される画像を形成する元となる電子データであればどのようなものであってもよく、例えば、文書データや写真データなどである。また、媒体は、その表面に画像を形成するものであり、例えば、紙や梱包材、商品等の立体物そのもの等どのようなものであってもよい。さらに、画像の形成方法は特定の方法に限定されず、印刷、レーザマーキングなど視覚的に知覚される画像を形成する方法であればどのようなものであってもよい。本実施形態では、文書データを画像情報とし、紙に文書を印刷する印刷システムを例として説明する。
【００６７】
画像情報受付部１１、符号化情報受付部１２、配置領域情報受付部１３は、それぞれ、外部より画像情報、符号化情報及び配置領域情報を受け付ける。画像情報受付部１１は、画像情報を受け付ける入力インタフェースであればどのようなものであってもよく、ソケット、電気通信回線や情報記録媒体読取装置等が例示される。符号化情報受付部１２もまた、符号化情報を受け付ける入力インタフェースであればよい。受け付ける符号化情報は、画像情報毎に別途符号化情報を受け付けてもよく、電子データである画像情報自体を符号化情報として受け付けてもよい。あるいは、画像情報に含まれる特定の情報を符号化情報として受け付けるものであってもよい。画像情報に含まれる特定の情報は、特に限定されないが、例えば、画像情報中に含まれるテキスト情報等が挙げられる。配置領域情報受付部１３もまた、配置領域情報を受け付ける入力インタフェースであればどのようなものであってもよいが、予め用意された配置領域情報を受け付けるだけでなく、例えば、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を用いて、画像情報から生成される画像上でユーザに二次元コードを配置したい位置を指定させるものであってもよい。あるいは、画像情報を解析し、使用されていない空白部分や灰色に塗られている部分などを検出し、二次元コードを配置する場所を自動的に指定するものとしてもよい。
【００６８】
画像情報受付部１１により受け付けられた画像情報は、ＲＩＰ１４（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ）によりラスタイメージに変換され、合成部１５へと受け渡される。符号化情報受付部１２により受け付けられた符号化情報及び配置領域情報受付部１３により受け付けられた配置領域情報は、二次元コード生成装置１へと受け渡され、二次元コードが生成される。二次元コード生成装置１は、第１の実施形態としてすでに説明したものと同様のものである。生成された二次元コードは、合成部１５へと受け渡される。
【００６９】
画像情報から得られる画像と二次元コードを合成する合成手段として機能する合成部１５では、配置領域情報に従い、画像のラスタイメージと二次元コードを合成して合成画像を生成し、印刷機１６へと受け渡す。
【００７０】
画像形成手段として機能する印刷機１６は、合成画像を紙に印刷し、画像を形成する。形成される画像は白黒画像であっても、カラー画像であってもよい。また、二次元コードは、二次元コードを構成する１ビットの情報を示す白または黒の点の集合として表現され、白の点は何ら印刷がなされない紙の地色により、黒の点は印刷により形成された点により形成される。しかしながらこれに限定はされず、白または黒の点をそれぞれ別の色（例えば、赤と青等）で形成してもよいし、黒の点を可視光線で不可視または視認しづらい色のインク又はトナーを用いて形成し、一見して生成された画像に二次元コードが含まれていると認識できないようにしてもよい。かかる場合、二次元コードは、画像が形成されない空き領域に形成しても、あるいは形成されている画像の上に重ねて形成するようにしてもよい。あるいは、二次元コードを画像が形成された紙の裏面に形成するようにしてもよい。
【００７１】
かかる画像形成システム１０により、第１の実施形態で説明した二次元コードが付与された媒体が得られる。
【００７２】
続いて、本発明の第３の実施形態である二次元コード読み取り装置２０を説明する。
【００７３】
図８は、二次元コード読み取り装置２０の機能ブロック図である。
【００７４】
二次元コード読み取り装置２０もまた、物理的には汎用の情報処理装置である一般的なコンピュータ上で、コンピュータを二次元コード読み取り装置２０として動作させるためのコンピュータプログラムを実行することにより実現してよい。もちろん、専用の装置を製作してもよく、そのような装置はユーザが携帯して持ち運べるようなものであってもよい。
【００７５】
画像取得部２１は、媒体上に形成された、例えば、紙の表面に印刷されている二次元コードを画像データとして取り込む画像取得手段である。具体的には、カメラやスキャナを画像取得部２１として用いてよい。あるいは、外部の機器により得られた画像データを単に受け付ける入力インタフェースであってもよい。
【００７６】
二次元コード認識部２２は、二次元コードを読み込む二次元コード読み込み手段として機能し、画像データに含まれる二次元コードを認識して、多数のシンボルからなる符号を取得する。本実施形態では、二次元コードは、分割情報コード及び交差情報訂正コードより構成されているので、分割情報符号及び交差情報訂正符号が得られることになる。
【００７７】
並び替え部２３は、得られた分割情報符号及び交差情報訂正符号の索引情報に含まれる、順番に関する情報を参照し、分割情報符号及び交差情報訂正符号をその順番に従い並び替える。このとき、索引情報は不要であれば除去してもよい。また、二次元コードに含まれる単位二次元コードの並び替えが行われておらず、順番に配列されている場合には、並び替え部２３は不要である。
【００７８】
ここまでの過程で、前述の例を用いれば、二次元コード読み取り装置２０は、図６に示す二次元コードから、図４（ａ）に示す符号化された符号化情報を得ることになる。
【００７９】
続いて、符号化情報を復号する符号化情報復号手段として機能する復号部２４による符号化情報の復号が行われる。図９は、復号部２４の動作を示すフローチャートである。まず、復号部２４は、ステップＳ１１において分割情報符号の復号を行う。なお、分割情報符号と交差情報訂正符号との区別はどのような方法で行ってもよいが、例えば、それぞれの符号に付加されていた索引情報により行ってよい。あるいは、符号化情報の末尾にＥＯＦ（Ｅｎｄ  Ｏｆ  Ｆｉｌｅ）を示すデータを付加しておき、ＥＯＦが検出された時点までの符号を分割情報符号とみなし、それ以降の符号を交差情報訂正符号とみなしてもよい。
【００８０】
続くステップＳ１２において、全ての符号化情報が正常に復号されたかどうかを判定する。この判定は、復号化、本実施形態では、リードソロモン符号の復号化がすべて正常に終了すれば正常に復号されたと判定してもよいし、あるいは復号後のデータについてＣＲＣを行い、その結果がすべて正常であれば正常に復号されたと判定してもよい。この判定がＹＥＳであれば、符号化情報が得られたので、復号部２４の処理は終了する。
【００８１】
一方、全ての符号化情報が正常に復号されなかった場合、すなわち、少なくとも１の分割情報符号の復号に失敗した場合はステップＳ１３へ進み、今度は交差情報符号の復号を行う。この復号動作では、復号誤りを含む交差情報符号が特定されていれば、当該交差情報符号の復号のみを行えばよい。また、復号にあたり、誤りを含むシンボルの位置が特定されていれば、かかる情報を用いて誤り訂正能力を向上させてよい。
【００８２】
続くステップＳ１４において、全ての符号化情報が複合されたか否かを判定する。この結果がＹＥＳであれば復号部２４の処理を終了する。この結果がＮＯであれば、復号に失敗したとしてエラーを返す。具体的には、ユーザに、復号が失敗した旨を通知する等の予め定められた処理を行えばよい。
【００８３】
再び図８に戻り、復号された符号化情報は符号化情報出力部２５へ受け渡され、任意の用途に利用される。この用途は、特に限定されない。例示すれば、紙文書に付加された符号化情報が当該文書の電子データであれば、その文書の電子データを得る、あるいは、証券に付加された符号化情報が当該証券の記載事項を証明する電子データであれば、その証券の券面の記載事項の偽造の有無を確認する、等である。
【００８４】
以上説明した実施形態において示した機能ブロックは、それぞれの実施形態を実施する上での一例であり、機能ブロックの構成や配置を例示したものに限定するものではない。また、符号化部４及び復号部２４の動作のフローチャートも、符号化部４及び復号部２４の機能を実現する一例として示したものであり、これに限定するものではない。
【符号の説明】
【００８５】
１  二次元コード生成装置、２  情報受付部、３  交差情報訂正コード数算出部、４  符号化部、５  索引情報付与部、６  二次元コード生成部、７  二次元コード配置部、８  二次元コード出力部、１０  画像形成システム、１１  画像情報受付部、１２  符号化情報受付部、１３  配置領域情報受付部、１４  ＲＩＰ、１５  合成部、１６  印刷機、２０  二次元コード読み取り装置、２１  画像取得部、２２  二次元コード認識部、２３  並び替え部、２４  復号部、２５  符号化情報出力部、１００  分割情報、１０１  ＣＲＣ符号、１０２  誤り訂正符号、１０３  分割情報符号、１０４  交差情報、１０５  誤り訂正符号、１０６  交差情報符号、１０７  交差情報訂正符号。
【図１】
2011049690.tif 000003
【図２】
2011049690.tif 000004
【図３】
2011049690.tif 000005
【図４】
2011049690.tif 000006
【図５】
2011049690.tif 000007
【図６】
2011049690.tif 000008
【図７】
2011049690.tif 000009
【図８】
2011049690.tif 000010
【図９】
2011049690.tif 000011