説明

二次元コード生成装置、画像形成システム、二次元コード読み取り装置、コンピュータプログラム及び媒体

【課題】ビット列をシャフリングする等の複雑かつ負荷の大きい処理を必要とせずに、バースト的に発生した読み取り誤りを訂正できる二次元コードを生成する。
【解決手段】本発明に係る二次元コード生成装置1は、符号化する情報である符号化情報を分割して得られる分割情報のそれぞれに誤り訂正符号を付して符号化した分割情報符号のそれぞれに基づいて1単位の二次元コードである分割情報コードを生成する分割情報コード生成手段と、前記分割情報符号のそれぞれから対応する情報を抽出して得られる交差情報に誤り訂正符号を付して符号化した交差情報符号に含まれる前記誤り訂正符号のそれぞれから対応する情報を抽出して得られる交差情報訂正符号のそれぞれに基づいて1単位の二次元コードである交差情報訂正コードを生成する交差情報訂正コード生成手段と、を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、二次元コード生成装置、画像形成システム、二次元コード読み取り装置、コンピュータプログラム及び媒体に関する。
【背景技術】
【0002】
特許文献1には、紙に印刷記録された誤り訂正符号データであるドットコードを撮像し、その撮像状態が撮像状態判定手段で判断された結果に応じて、消失エラー位置を検出するコードイメージ読取装置が記載されている。同文献記載のコードイメージ読取装置は、個々の誤り訂正符号について、復号時のエラー訂正能力を向上させる。また、同文献記載のコードイメージ読取装置は、積符号を用いていない。
【0003】
特許文献2には、画像情報に付加される付加情報から算出された誤り訂正符号化された多重化情報のビット列をシャフリング手段により並び替えることにより、バースト的に発生した読み取り誤りをビットストリーム内に分散させ、誤り訂正復号化時の復元誤りを低下させる画像処理装置が記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2001−5906号公報
【特許文献2】特開2003−101756号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の解決しようとする課題は、ビット列をシャフリングする等の複雑かつ負荷の大きい処理を必要とせずに、バースト的に発生した読み取り誤りを訂正できる二次元コードを生成することである。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明の請求項1記載の二次元コード生成装置は、符号化する情報である符号化情報を分割して得られる分割情報のそれぞれに誤り訂正符号を付して符号化した分割情報符号のそれぞれに基づいて1単位の二次元コードである分割情報コードを生成する分割情報コード生成手段と、前記分割情報符号のそれぞれから対応する情報を抽出して得られる交差情報に誤り訂正符号を付して符号化した交差情報符号に含まれる前記誤り訂正符号のそれぞれから対応する情報を抽出して得られる交差情報訂正符号のそれぞれに基づいて1単位の二次元コードである交差情報訂正コードを生成する交差情報訂正コード生成手段と、を有する。
【0007】
また、本発明の請求項2記載の二次元コード生成装置は、請求項1記載の二次元コード生成装置であって、前記交差情報に含まれるシンボル数が、前記分割情報符号の数と異なる。
【0008】
また、本発明の請求項3記載の二次元コード生成装置は、請求項1又は2記載の二次元コード生成装置であって、前記交差情報符号を構成するシンボルは、前記分割情報コード及び前記交差情報訂正コードの対応する位置に配置される。
【0009】
また、本発明の請求項4記載の二次元コード生成装置は、請求項1乃至3の何れかに記載の二次元コード生成装置であって、指定された領域に配置し得る二次元コードの数から、配置し得る交差情報訂正コードの数を算出する交差情報訂正コード配置可能数算出手段を有し、前記交差情報訂正コード生成手段は、前記配置し得る交差情報訂正コードの数に基づいて前記交差情報訂正コードを生成する。
【0010】
また、本発明の請求項5記載の二次元コード生成装置は、請求項1乃至4の何れかに記載の二次元コード生成装置であって、前記分割情報コード及び前記交差情報訂正コードに、前記分割情報コード及び前記交差情報訂正コードの順序に関する情報を含む索引情報を付与する索引情報付与手段と、前記分割情報コード及び前記交差情報訂正コードの順序を並び替えて配置する並び替え配置手段と、を有する。
【0011】
また、本発明の請求項6記載の係る画像形成システムは、画像情報を受け付ける画像情報受付手段と、前記符号化情報を受け付ける符号化情報受付手段と、請求項1乃至5の何れかに記載の二次元コード生成装置と、前記画像情報から得られる画像と生成された二次元コードを合成する合成手段と、二次元コードが埋め込まれた画像情報に基いて、媒体に画像を形成する画像形成手段と、を有する。
【0012】
また、本発明の請求項7記載の二次元コード読み取り装置は、符号化する情報である符号化情報を分割して得られる分割情報のそれぞれに誤り訂正符号を付して符号化した分割情報符号のそれぞれに基づいて生成された1単位の二次元コードである分割情報コードと、前記分割情報符号のそれぞれから対応する情報を抽出して得られる交差情報に誤り訂正符号を付して符号化した交差情報符号に含まれる前記誤り訂正符号のそれぞれから対応する情報を抽出して得られる交差情報訂正符号のそれぞれに基づいて生成された1単位の二次元コードである交差情報訂正コードと、からなる複数単位の二次元コードを読み込む二次元コード読み込み手段と、読み込んだ前記複数単位の二次元コードから、前記符号化情報を復号する符号化情報復号手段と、を有する。
【0013】
また、本発明の請求項8記載の二次元コード読み取り装置は、請求項7記載の二次元コード読み取り装置であって、前記符号化情報復号手段は、前記分割情報コードから得られた前記分割情報符号の復号が失敗した場合に前記交差情報訂正コードから得られた前記交差情報を復号する。
【0014】
また、本発明の請求項9記載のコンピュータプログラムは、コンピュータを、符号化する情報である符号化情報を分割して得られる分割情報のそれぞれに誤り訂正符号を付して符号化した分割情報符号のそれぞれに基づいて1単位の二次元コードである分割情報コードを生成する分割情報コード生成手段と、前記分割情報符号のそれぞれから対応する情報を抽出して得られる交差情報に誤り訂正符号を付して符号化した交差情報符号に含まれる前記誤り訂正符号のそれぞれから対応する情報を抽出して得られる交差情報訂正符号のそれぞれに基づいて1単位の二次元コードである交差情報訂正コードを生成する交差情報訂正コード生成手段と、として機能させる。
【0015】
また、本発明の請求項10記載のコンピュータプログラムは、コンピュータを、符号化する情報である符号化情報を分割して得られる分割情報のそれぞれに誤り訂正符号を付して符号化した分割情報符号のそれぞれに基づいて生成された1単位の二次元コードである分割情報コードと、前記分割情報符号のそれぞれから対応する情報を抽出して得られる交差情報に誤り訂正符号を付して符号化した交差情報符号に含まれる前記誤り訂正符号のそれぞれから対応する情報を抽出して得られる交差情報訂正符号のそれぞれに基づいて生成された1単位の二次元コードである交差情報訂正コードと、からなる複数単位の二次元コードを読み込む二次元コード読み込み手段と、読み込んだ前記複数単位の二次元コードから、前記符号化情報を復号する符号化情報復号手段と、として機能させる。
【0016】
また、本発明の請求項11記載の媒体は、符号化する情報である符号化情報を分割して得られる分割情報のそれぞれに誤り訂正符号を付して符号化した分割情報符号のそれぞれに基づいて生成された1単位の二次元コードである分割情報コードと、前記分割情報符号のそれぞれから対応する情報を抽出して得られる交差情報に誤り訂正符号を付して符号化した交差情報符号に含まれる前記誤り訂正符号のそれぞれから対応する情報を抽出して得られる交差情報訂正符号のそれぞれに基づいて生成された1単位の二次元コードである交差情報訂正コードと、からなる複数単位の二次元コードが付与されている。
【発明の効果】
【0017】
上記請求項1記載の二次元コード生成装置によれば、ビット列をシャフリングする等の複雑かつ負荷の大きい処理を必要とせずに、バースト的に発生した読み取り誤りを訂正できる二次元コードを生成することができる。
【0018】
また、上記請求項2記載の二次元コード生成装置によれば、生成される交差情報訂正符号の無駄を排除できる。
【0019】
また、上記請求項3記載の二次元コード生成装置によれば、ビット列がシャフリングされた二次元コードに比べ、簡易かつ負荷の少ない処理により交差情報符号を再構成できる二次元コードを生成できる。
【0020】
また、上記請求項4記載の二次元コード生成装置によれば、指定された領域の大きさに応じて、生成される二次元コードの誤り訂正能力を変化させることができる。
【0021】
また、上記請求項5記載の二次元コード生成装置によれば、本請求項に規定された構成を持たない二次元コード生成装置に比べて、逆解析が困難な二次元コードを生成することができる。
【0022】
また、上記請求項6記載の画像形成システムによれば、ビット列をシャフリングする等の複雑かつ負荷の大きい処理を必要とせずに、バースト的に発生した読み取り誤りを訂正できる二次元コードが埋め込まれた画像を形成できる。
【0023】
また、上記請求項7記載の二次元コード読み取り装置によれば、ビット列をシャフリングする等の複雑かつ負荷の大きい処理を必要とせずに、バースト的に発生した読み取り誤りを訂正できる二次元コードを読み取ることができる。
【0024】
また、上記請求項8記載の二次元コード読み取り装置によれば、本請求項に規定された構成を持たない二次元コード読み取り装置に比べて、高速に二次元コードを読み取ることができる。
【0025】
また、上記請求項9記載のコンピュータプログラムによれば、コンピュータにより、ビット列をシャフリングする等の複雑かつ負荷の大きい処理を必要とせずに、バースト的に発生した読み取り誤りを訂正できる二次元コードを生成することができる。
【0026】
また、上記請求項10記載のコンピュータプログラムによれば、コンピュータにより、ビット列をシャフリングする等の複雑かつ負荷の大きい処理を必要とせずに、バースト的に発生した読み取り誤りを訂正できる二次元コードを読み取ることができる。
【0027】
また、上記請求項11記載の媒体によれば、ビット列をシャフリングする等の複雑かつ負荷の大きい処理を必要とせずに、バースト的に発生した読み取り誤りを訂正できる二次元コードを提供できる。
【図面の簡単な説明】
【0028】
【図1】本発明の第1の実施形態である二次元コード生成装置の機能ブロック図である。
【図2】符号化部の動作を示すフローチャートである。
【図3】符号化情報の符号化の過程を模式的に示す図である。
【図4】符号化部により符号化された符号化情報を示す図である。
【図5】分割情報符号又は交差情報訂正符号に含まれるシンボルを単位二次元コード内に配置する配置の一例である。
【図6】横4列、縦3列の配置領域内に、12の単位二次元コードの順番を並び替えて配置した例である。
【図7】画像形成システムの機能ブロック図である。
【図8】二次元コード読み取り装置の機能ブロック図である。
【図9】復号部の動作を示すフローチャートである。
【発明を実施するための形態】
【0029】
図1は、本発明の第1の実施形態である二次元コード生成装置1の機能ブロック図である。
【0030】
二次元コード生成装置1は、物理的には汎用の情報処理装置である、CPU(Central Processing Unit)、メモリ、入出力インタフェースを有する一般的なコンピュータを用いて実現される。そして、かかるコンピュータ上で、コンピュータを二次元コード生成装置1として動作させるためのコンピュータプログラムを実行することにより、二次元コード生成装置1は仮想的に実現される。コンピュータを二次元コード生成装置1として動作させるためのコンピュータプログラムは、たとえばDVD−ROM(DVD−Read Only Memory)やCD−ROM(Compact Disk Read Only Memory)等の任意の情報記録媒体に記録して提供しても、インターネットに代表される公衆回線等の電気通信回線を介して、コンピュータ読み取り可能な電気信号として提供してもよい。もちろん、二次元コード生成装置1を実現するにあたり用いる情報処理装置は一般的なコンピュータに限られず、マイクロコントローラにより実現しても、またDSP(デジタルシグナルプロセッサ)等を用いて専用の装置を製作してもよい。また、二次元コード生成装置1は、単独で動作可能な機器として構成しても、コピー機やファクシミリ等の事務機器に実装あるいは追加されるモジュールとして構成してもよい。
【0031】
なお、図示された二次元コード生成装置1の機能ブロックは、コンピュータプログラムにより実現される二次元コード生成装置1を、その機能に着目して説明の便宜上示したものであり、必ずしも各機能ブロックが物理的に存在する必要はない。
【0032】
情報受付部2は、外部より符号化情報及び配置領域情報を受け付けるインタフェースである。この情報受付部2は、符号化情報及び配置領域情報を受け付けるものであればどのようなものであってもよいが、具体的には、コンピュータ上で実行されているプロセス間で情報の入出力を行う、いわゆるソケットであってもよいし、LAN(Local Area Network)やインターネット等の公衆回線を含むWAN(Wide Area Network)等に接続された電気通信回線、任意の情報記録媒体読取装置等であってもよい。
【0033】
ここで、符号化情報とは、二次元コード生成装置1により符号化し、二次元コードに変換しようとする元の情報を指している。また、二次元コードは、情報を二値化し面上に配置した記録手段を指している。二次元コードは、通常矩形の領域内に予め定められた数のドットを格子状の規則的な配列により配置したパターンにより構成されており、かかるパターンを本明細書では「単位二次元コード」と呼ぶ。二次元コードは、1単位の単位二次元コードのみから構成されていても、複数単位から構成されていてもよい。なお、1単位の二次元コードという場合は、単位二次元コードを指している。そして、単位二次元コードが占める領域の形状は、矩形が取り扱いが容易であることから好ましいが、これに限定するものではなく、円形、扇型などであってもよい。また、情報の配列は格子状に限定されない。さらに、二次元コードが配置される面は平面に限定されず、曲面であってもよい。
【0034】
また、配置領域情報とは、二次元コード生成装置1により生成される二次元コードが配置されるべき領域である配置領域を示す情報である。そのような情報の具体的な構成は特に限定されないが、一例として、配置領域の縦横の長さを示す情報を挙げられる。その他にも、二次元コードが付与されるべき媒体上での配置領域の位置を示す情報や、配置領域の形状を示す情報等の情報が配置領域情報に含まれてもよい。いずれにせよ、後述するように、配置領域情報は、指定された配置領域内に何単位の単位二次元コードを配置することができるかを算出する根拠となる情報であればよい。
【0035】
交差情報訂正コード数算出部3は、受け付けられた符号化情報及び配置領域情報に基づいて、生成する交差情報訂正コードの数を算出する。後述するように、本実施形態において生成される二次元コードに含まれる単位二次元コードには、分割情報コードと交差情報訂正コードの二種類がある。分割情報コードは、符号化情報を分割して格納する単位二次元コードであり、その数は、1単位の分割情報コードに格納できる情報量が決まっているため、符号化情報の情報量に応じて定まる。一方、交差情報訂正コードは、誤り訂正のための情報を格納する単位二次元コードであり、交差情報訂正コードが多いほど誤り訂正能力が高くなる。
【0036】
そこで、交差情報訂正コード数算出部3は、まず、符号化情報の情報量から、必要となる分割情報コードの数を算出する。次いで、配置領域情報から、指定された領域に配置できる単位二次元コードの単位数を算出する。そして、指定された領域に配置できる単位二次元コードの単位数から必要となる分割情報コードの単位数を減算して、配置できる交差情報訂正コードの単位数である交差情報訂正コード数を得る。
【0037】
この計算を具体的な例で示すと、符号化情報の情報量が2KB(キロバイト)であり、1単位の分割情報コードに格納される情報量が209バイトであるとすると、2KBは2048バイトであるから、分割情報コードは10個必要となる。一方、指定された領域が、横方向に4単位、縦方向に3単位の合計12単位の単位二次元コードが配置できる矩形の領域であれば、交差情報訂正コードは、12−10=2単位配置できると算出される。なお、ここで挙げた具体的な数値は説明のための一例であり、本発明をこれに限定するものではない。
【0038】
そして、符号化情報、配置領域情報及び生成する交差情報訂正コード数は符号化部4に受け渡され、符号化が行われる。符号化部4は、符号化情報を積符号を用いて誤り訂正能力を付与して符号化する。
【0039】
図2は、符号化部4の動作を示すフローチャートである。以下、図2及び図3を適宜参照しつつ符号化部4による符号化について説明する。符号化部4は、まず、ステップS01において、符号化情報を1単位の分割情報コードに格納される情報長毎に分割し、複数の分割情報を得る。先述した例では、1単位の分割情報コードに格納される情報長は209バイトであるから、たとえば2KBの符号化情報は10の分割情報に分割される。その場合、最後の分割情報は167バイトになるが、適当な情報、例えば、0を末尾に付加して全ての分割情報の情報長を209バイトに揃える。なお、符号化情報自体の情報量を低減するため、符号化情報は、あらかじめ二次元コードを生成する元となる情報を圧縮し、その冗長性を取り除いたものであることが望ましい。そのような情報を圧縮する方法は公知の手法、例えば、ハフマン符号や算術符号を用いてよい。
【0040】
図3は符号化情報の符号化の過程を模式的に示す図であり、(a)は、符号化情報が分割情報に分割された様子を示している。同図に示す横長の矩形それぞれが、分割情報100を示し、その長さは分割情報100の情報長を示している。また、各分割情報100の左側に記された数字は、元の符号化情報における各分割情報100の配列順を示している。
【0041】
図2に戻り、続いて、ステップS02において、各分割情報100にCRC(Cyclic Redundancy Check)符号を追加する。なお、このステップS02は必須のものではなく、省略してもよい。また、CRCは誤り検出方法として周知のものであるが、ここで各分割情報100に誤り検出能力を付与する手法はCRCに限定されず、いかなる手法を用いてもよい。本実施形態では、一例として、CRC符号として2バイトのデータを付加するものとする。図3(b)はCRC符号101が付加された符号化情報を示している。
【0042】
続いて、図2のステップS03において、CRC符号101が付加された各分割情報100をそれぞれ符号化する。ここでの符号化は、誤り訂正能力を有する符号化方法を用いれば、その方法は特に限定されない。例えば、リードソロモン符号、BCH符号など種々の符号化方法を用いてよい。本実施形態では、リードソロモン符号による符号化を行う。
【0043】
ここで、リードソロモン符号では、情報の符号化を任意に定めた大きさの情報を最小単位として行うが、以降、本明細書では、かかる情報の最小単位をシンボルと称する。シンボルの情報長は任意であるが、本実施形態では、コンピュータによる取り扱いが容易であることから、8ビット、すなわち、1バイトを1シンボルとする。そして、リードソロモン符号では、誤りの検出及び訂正はシンボル単位で行われる。また、符号化しようとする情報のシンボル数をN、符号化後のシンボル数をKとすると、誤り訂正のために付加されるシンボル数は(K−N)となる。この時、リードソロモン符号では、誤りを含むシンボルの位置が不明である場合には、誤りを訂正可能なシンボル数は(K−N)/2となり、誤りを含むシンボルの位置が判明している場合には、(K−N)までのシンボルを訂正可能であることが知られている。
【0044】
本実施形態におけるステップS03では、各分割情報100に44シンボル付加し、255シンボルとする符号化を行う。以降では、この時付加されたシンボルを誤り訂正符号102と呼び、また生成された各々の符号を分割情報符号103と呼ぶ。図3(c)は、ステップS03においてリードソロモン符号による符号化が各分割情報100についてなされた符号化情報を示している。これにより、それぞれ255シンボルからなる分割情報符号103が10個得られ、各々の分割情報符号は、誤りの位置が不明であれば、44/2=22シンボルまでの誤り訂正能力を有している。
【0045】
続いて、符号化部4(図1参照)は、積符号による符号化を行うので、分割情報符号103が得られた後、さらに、分割情報符号103のそれぞれから対応するシンボルを抽出して得られる交差情報を抽出する。本実施形態では、各分割情報符号103の先頭からの位置が等しいシンボルを抽出して交差情報を得る。この動作を図3(d)を用いて説明すると、図中縦方向に示された矩形が交差情報104に相当する。図中では、図示の都合上交差情報104を1つのみ示したが、分割情報符号103を構成する全てのシンボルについて交差情報104が得られる。ここで、交差情報104の幅、すなわち、各分割情報符号103から抽出するシンボル数が1であれば、交差情報104に含まれるシンボル数は、分割情報符号103の数と等しくなる。本実施形態では、10である。
【0046】
ところで、前述したとおり、リードソロモン符号では、符号のシンボル数をK、符号化しようとする情報のシンボル数をNとしたときに、誤り訂正可能なシンボル数は、誤りの位置が不明であれば(K−N)/2であるから、(K−N)が偶数である場合には誤り訂正可能なシンボル数は整数となる。これに対し、(K−N)が奇数である場合には、誤り訂正可能なシンボル数に端数が生じる。訂正はシンボル単位で行われるため、この場合には、誤り訂正符号の一部が無駄となる。
【0047】
ここで、交差情報訂正コード数算出部3(図1参照)により算出された交差情報訂正コード数が偶数であれば、交差情報に付加する誤り訂正符号に無駄は生じないため、交差情報104の幅を1として差し支えない。しかし、交差情報訂正コード数が奇数であれば、交差情報に付加する誤り訂正符号に無駄が生じるため、符号化部4は、まず、ステップS04において交差情報訂正コード数が偶数であるか奇数であるかを判定する。偶数であれば、ステップS05に進み、各分割情報符号103から1シンボルずつ抽出し交差情報104を得る。この例では、交差情報訂正コード数は2であるから、各分割情報符号103から1シンボルずつ抽出し交差情報104を得ることになる。
【0048】
そして、ステップS06で、各交差情報104を誤り訂正可能に符号化する。ここでの符号化方式も特に限定はされないが、本実施形態では、分割情報符号103と同様にリードソロモン符号を用いて符号化する。この場合、交差情報104に付加される誤り訂正符号105は2シンボルの情報長となり、交差情報104と誤り訂正符号105を合わせた交差情報符号106の情報長は12シンボルとなる。この場合、各々の交差情報符号106は、誤りの位置が不明であれば、(12−10)/2=1シンボルの誤り訂正能力を持つ。
【0049】
符号化部4により符号化された符号化情報を図4(a)に示す。同図に示す様に、分割情報符号103の下側に、2つの交差情報訂正符号107が形成されている。交差情報訂正符号107は、交差情報104に付加された誤り訂正符号105を並び替えて得られるものであり、誤り訂正符号105のそれぞれから対応するシンボルを抽出して得られる符号である。交差情報訂正符号107の数は、交差情報訂正コード数に等しく、また、交差情報訂正符号107の情報長は分割情報符号103の情報長に等しい。図中では、交差情報訂正符号107に、さらに、分割情報符号103に続いて通し番号をその左側に振っている。このようにして、符号化情報は符号化され、必要な数の分割情報符号103と、交差情報訂正コード数算出部3により算出された交差情報訂正コード数に等しい数の交差情報訂正符号107が得られる。
【0050】
一方、図2のステップS04で交差情報訂正コード数が奇数である場合には、ステップ07へと進む。例えば、前述の例において、指定された領域に配置される単位二次元コードの単位数を11とすると、交差情報訂正コード数は1となり、ステップS07が実行される。
【0051】
ステップS07では、各分割情報符号103の先頭からの位置が等しいシンボルを2つずつ抽出して交差情報104を得る。この例では、分割情報符号103の数は10であるから、交差情報104の情報長は20シンボルとなる。すなわち、交差情報104に含まれるシンボルの数が、分割情報符号103の数と異なる。
【0052】
そして、ステップS06へと進み、各交差情報104を誤り訂正可能に符号化する。このとき付加される誤り訂正符号105の情報長は、交差情報104の幅、すなわち、一つの分割情報符号103から抽出されるシンボル数と交差情報訂正コード数の積となる。ここでは、交差情報訂正コード数が1であるから、誤り訂正符号105の情報長は2となる。
【0053】
このことを図示したものが図4(b)である。この場合、各々の交差情報符号105は、誤りの位置が不明であれば(22−20)/2=1シンボルの誤り訂正能力を持ち、誤り訂正符号105に無駄は生じない。また、交差情報訂正符号107は、同図(a)の場合と同様に、交差情報訂正コード数に等しい数が得られ、その情報長は分割情報符号103に等しい。
【0054】
このように、本実施形態では、交差情報訂正コード数が奇数の場合に、交差情報104に含まれるシンボルの数を、分割情報符号103の数と違え、誤り訂正符号105の無駄を排除している。なお、本実施形態で、交差情報訂正コード数が偶数の場合には交差情報104に含まれるシンボルの数と分割情報符号103の数を等しいものとしているが、これは、誤り訂正符号の符号化時及び復号時の計算量が、交差情報104の情報長が小さいほうが少なくなることによる。しかしながらこれに限定されず、いかなる場合にも交差情報104に含まれるシンボルの数と分割情報符号103の数を異なるもの(すなわち、常に図2のステップS07を実行する)としてもよい。また、本実施形態のように、分割情報100にCRC符号101などのエラー検出用の信号が付加されている場合には、これを用いたエラーチェックにより、交差情報104に含まれるどのシンボルに誤りが発生しているかが判明する場合がある。これを利用すると、交差情報104の誤り訂正能力は誤り訂正符号105のシンボル数に等しくなるため,誤り訂正符号105に無駄は発生しない。このような場合には、常に交差情報104に含まれるシンボルの数と分割情報符号103の数が等しい(すなわち、常に図2のステップS05を実行する)としてもよい。
【0055】
符号化情報の符号化が終了すると、符号化部4は得られた各分割情報符号103及び各交差情報訂正符号107を索引情報付与部5へと受け渡す(図1参照)。
【0056】
索引情報付与部5は、各分割情報符号103及び各交差情報訂正符号107に、索引情報を付与する。索引情報は、少なくとも各分割情報符号103及び各交差情報訂正符号107の順番に関する情報を含み、そのほかにも、生成される単位二次元コードが分割情報符号103を含むのか、交差情報訂正符号107を含むのかといった情報や、符号化情報を誤り訂正可能に符号化した際用いたパラメータに関する情報を含んでいてよい。
【0057】
なお、索引情報付与部5は必須の構成ではない。各分割情報符号103及び各交差情報訂正符号107から生成される二次元コードが、予め定められた規則に従い配置される場合には索引情報は付与しなくともよい。
【0058】
さらに、図1に戻り、符号化された符号化情報は二次元コード生成部6へと受け渡される。二次元コード生成部6は、各分割情報符号103及び各交差情報訂正符号107を、それぞれ1単位の単位二次元コードに変換し、分割情報符号103からは分割情報コードを、交差情報訂正符号からは交差情報訂正コードを生成する。すなわち、二次元コード生成部6は、分割情報コードを生成する分割情報コード生成手段及び、交差情報訂正コードを生成する交差情報訂正コード生成手段として機能する。
【0059】
図5は、分割情報符号103又は交差情報訂正符号107に含まれるシンボルを単位二次元コード内に配置する配置の一例である。図中示した矩形の外枠は単位二次元コードの外形を示している。そして、該外枠内部を区切って示した矩形の小区画は、それぞれシンボルが配置される位置を示している。各小区画内に記入された番号は、該小区画に配置されるシンボルの、分割情報符号103又は交差情報訂正符号107の先頭からの位置を示している。また、アルファベットの「I」で示されているのは索引情報である。
【0060】
この例では、各シンボルは、左上から右へ進むように配置され、右端まで来ると一段下にさがり再度左から右へと配置される。このように、予め定められた規則に従いシンボルを配置すると、各分割情報符号103及び交差情報訂正符号107における対応するシンボル、すなわち、先頭からの位置が等しいシンボルは、単位二次元コード内の同じ位置に配置される。このようにすると、二次元コードから交差情報符号106を得るには、復元しようとする交差情報符号106に含まれるシンボルが配置されている位置のシンボルを全ての単位二次元コードから抽出すればよく、単純で負荷の小さい処理で交差情報符号106が得られる。各単位二次元コードは、画像データとして得られ、さらに二次元コード配置部7へと受け渡される。
【0061】
なお、単位二次元コードにおけるシンボルの配置の規則は例示したものに限定されない。全ての単位二次元コードについて、共通の規則に従っていれば、いかなる規則を配置に用いてもよい。
【0062】
二次元コード配置部7は、配置領域情報に基づいて、得られた各単位二次元コードを指定された領域内に配置する。本実施形態では、各単位二次元コードはその配置の順番を並び替えて配置する。図6は、上述の例において、横4列、縦3列の配置領域内に、12の単位二次元コードの順番を並び替えて配置した例である。図中示した矩形の外枠は指定された領域を示しており、画素と枠内部を区切って示した矩形の小区画は、それぞれの単位二次元コードを示している。各小区画内に記入された番号は、各単位二次元コードの順序を示しており、図4で、分割情報符号103及び交差情報訂正符号107の左側に記した数字に対応している。図示したとおり、各単位二次元コードの配列は、一見して規則性が見いだせないように並び替えられている。この並び替えは、乱数に基づいてランダムに行ってよいが、並び替えの規則性が見出しにくいものであれば、特定のアルゴリズムに従って行ってもよい。このように並び替えられた単位二次元コードの順序は、単位二次元コード毎に付加された索引情報を読み取ることにより復元される。
【0063】
なお、このような単位二次元コードの並び替えは、必ずしも必須ではない。並び替えを行わず、指定された領域の端から順番に単位二次元コードを配置していくようにしてもよい。
【0064】
図1に戻り、二次元コード配置部7により指定された領域内に配置された二次元コードは、二次元コード出力部8により出力される。二次元コード出力部8は、生成された二次元コードを出力するものであればどのようなものであってもよく、例えば、情報受付部2と同様に、入出力インタフェースであるソケットとしてよい。
【0065】
続いて、本発明の第2の実施形態である画像形成システム10を説明する。
【0066】
図7は、画像形成システム10の機能ブロック図である。画像形成システム10は、電子データである画像情報と符号化情報を受け付け、符号化情報から二次元コードを生成し、画像情報から生成される画像と合成して合成画像を得、任意の媒体の表面に合成画像を形成するシステムである。ここで、画像情報は、視覚的に認識される画像を形成する元となる電子データであればどのようなものであってもよく、例えば、文書データや写真データなどである。また、媒体は、その表面に画像を形成するものであり、例えば、紙や梱包材、商品等の立体物そのもの等どのようなものであってもよい。さらに、画像の形成方法は特定の方法に限定されず、印刷、レーザマーキングなど視覚的に知覚される画像を形成する方法であればどのようなものであってもよい。本実施形態では、文書データを画像情報とし、紙に文書を印刷する印刷システムを例として説明する。
【0067】
画像情報受付部11、符号化情報受付部12、配置領域情報受付部13は、それぞれ、外部より画像情報、符号化情報及び配置領域情報を受け付ける。画像情報受付部11は、画像情報を受け付ける入力インタフェースであればどのようなものであってもよく、ソケット、電気通信回線や情報記録媒体読取装置等が例示される。符号化情報受付部12もまた、符号化情報を受け付ける入力インタフェースであればよい。受け付ける符号化情報は、画像情報毎に別途符号化情報を受け付けてもよく、電子データである画像情報自体を符号化情報として受け付けてもよい。あるいは、画像情報に含まれる特定の情報を符号化情報として受け付けるものであってもよい。画像情報に含まれる特定の情報は、特に限定されないが、例えば、画像情報中に含まれるテキスト情報等が挙げられる。配置領域情報受付部13もまた、配置領域情報を受け付ける入力インタフェースであればどのようなものであってもよいが、予め用意された配置領域情報を受け付けるだけでなく、例えば、GUI(Graphical User Interface)を用いて、画像情報から生成される画像上でユーザに二次元コードを配置したい位置を指定させるものであってもよい。あるいは、画像情報を解析し、使用されていない空白部分や灰色に塗られている部分などを検出し、二次元コードを配置する場所を自動的に指定するものとしてもよい。
【0068】
画像情報受付部11により受け付けられた画像情報は、RIP14(Raster Image Processor)によりラスタイメージに変換され、合成部15へと受け渡される。符号化情報受付部12により受け付けられた符号化情報及び配置領域情報受付部13により受け付けられた配置領域情報は、二次元コード生成装置1へと受け渡され、二次元コードが生成される。二次元コード生成装置1は、第1の実施形態としてすでに説明したものと同様のものである。生成された二次元コードは、合成部15へと受け渡される。
【0069】
画像情報から得られる画像と二次元コードを合成する合成手段として機能する合成部15では、配置領域情報に従い、画像のラスタイメージと二次元コードを合成して合成画像を生成し、印刷機16へと受け渡す。
【0070】
画像形成手段として機能する印刷機16は、合成画像を紙に印刷し、画像を形成する。形成される画像は白黒画像であっても、カラー画像であってもよい。また、二次元コードは、二次元コードを構成する1ビットの情報を示す白または黒の点の集合として表現され、白の点は何ら印刷がなされない紙の地色により、黒の点は印刷により形成された点により形成される。しかしながらこれに限定はされず、白または黒の点をそれぞれ別の色(例えば、赤と青等)で形成してもよいし、黒の点を可視光線で不可視または視認しづらい色のインク又はトナーを用いて形成し、一見して生成された画像に二次元コードが含まれていると認識できないようにしてもよい。かかる場合、二次元コードは、画像が形成されない空き領域に形成しても、あるいは形成されている画像の上に重ねて形成するようにしてもよい。あるいは、二次元コードを画像が形成された紙の裏面に形成するようにしてもよい。
【0071】
かかる画像形成システム10により、第1の実施形態で説明した二次元コードが付与された媒体が得られる。
【0072】
続いて、本発明の第3の実施形態である二次元コード読み取り装置20を説明する。
【0073】
図8は、二次元コード読み取り装置20の機能ブロック図である。
【0074】
二次元コード読み取り装置20もまた、物理的には汎用の情報処理装置である一般的なコンピュータ上で、コンピュータを二次元コード読み取り装置20として動作させるためのコンピュータプログラムを実行することにより実現してよい。もちろん、専用の装置を製作してもよく、そのような装置はユーザが携帯して持ち運べるようなものであってもよい。
【0075】
画像取得部21は、媒体上に形成された、例えば、紙の表面に印刷されている二次元コードを画像データとして取り込む画像取得手段である。具体的には、カメラやスキャナを画像取得部21として用いてよい。あるいは、外部の機器により得られた画像データを単に受け付ける入力インタフェースであってもよい。
【0076】
二次元コード認識部22は、二次元コードを読み込む二次元コード読み込み手段として機能し、画像データに含まれる二次元コードを認識して、多数のシンボルからなる符号を取得する。本実施形態では、二次元コードは、分割情報コード及び交差情報訂正コードより構成されているので、分割情報符号及び交差情報訂正符号が得られることになる。
【0077】
並び替え部23は、得られた分割情報符号及び交差情報訂正符号の索引情報に含まれる、順番に関する情報を参照し、分割情報符号及び交差情報訂正符号をその順番に従い並び替える。このとき、索引情報は不要であれば除去してもよい。また、二次元コードに含まれる単位二次元コードの並び替えが行われておらず、順番に配列されている場合には、並び替え部23は不要である。
【0078】
ここまでの過程で、前述の例を用いれば、二次元コード読み取り装置20は、図6に示す二次元コードから、図4(a)に示す符号化された符号化情報を得ることになる。
【0079】
続いて、符号化情報を復号する符号化情報復号手段として機能する復号部24による符号化情報の復号が行われる。図9は、復号部24の動作を示すフローチャートである。まず、復号部24は、ステップS11において分割情報符号の復号を行う。なお、分割情報符号と交差情報訂正符号との区別はどのような方法で行ってもよいが、例えば、それぞれの符号に付加されていた索引情報により行ってよい。あるいは、符号化情報の末尾にEOF(End Of File)を示すデータを付加しておき、EOFが検出された時点までの符号を分割情報符号とみなし、それ以降の符号を交差情報訂正符号とみなしてもよい。
【0080】
続くステップS12において、全ての符号化情報が正常に復号されたかどうかを判定する。この判定は、復号化、本実施形態では、リードソロモン符号の復号化がすべて正常に終了すれば正常に復号されたと判定してもよいし、あるいは復号後のデータについてCRCを行い、その結果がすべて正常であれば正常に復号されたと判定してもよい。この判定がYESであれば、符号化情報が得られたので、復号部24の処理は終了する。
【0081】
一方、全ての符号化情報が正常に復号されなかった場合、すなわち、少なくとも1の分割情報符号の復号に失敗した場合はステップS13へ進み、今度は交差情報符号の復号を行う。この復号動作では、復号誤りを含む交差情報符号が特定されていれば、当該交差情報符号の復号のみを行えばよい。また、復号にあたり、誤りを含むシンボルの位置が特定されていれば、かかる情報を用いて誤り訂正能力を向上させてよい。
【0082】
続くステップS14において、全ての符号化情報が複合されたか否かを判定する。この結果がYESであれば復号部24の処理を終了する。この結果がNOであれば、復号に失敗したとしてエラーを返す。具体的には、ユーザに、復号が失敗した旨を通知する等の予め定められた処理を行えばよい。
【0083】
再び図8に戻り、復号された符号化情報は符号化情報出力部25へ受け渡され、任意の用途に利用される。この用途は、特に限定されない。例示すれば、紙文書に付加された符号化情報が当該文書の電子データであれば、その文書の電子データを得る、あるいは、証券に付加された符号化情報が当該証券の記載事項を証明する電子データであれば、その証券の券面の記載事項の偽造の有無を確認する、等である。
【0084】
以上説明した実施形態において示した機能ブロックは、それぞれの実施形態を実施する上での一例であり、機能ブロックの構成や配置を例示したものに限定するものではない。また、符号化部4及び復号部24の動作のフローチャートも、符号化部4及び復号部24の機能を実現する一例として示したものであり、これに限定するものではない。
【符号の説明】
【0085】
1 二次元コード生成装置、2 情報受付部、3 交差情報訂正コード数算出部、4 符号化部、5 索引情報付与部、6 二次元コード生成部、7 二次元コード配置部、8 二次元コード出力部、10 画像形成システム、11 画像情報受付部、12 符号化情報受付部、13 配置領域情報受付部、14 RIP、15 合成部、16 印刷機、20 二次元コード読み取り装置、21 画像取得部、22 二次元コード認識部、23 並び替え部、24 復号部、25 符号化情報出力部、100 分割情報、101 CRC符号、102 誤り訂正符号、103 分割情報符号、104 交差情報、105 誤り訂正符号、106 交差情報符号、107 交差情報訂正符号。

【特許請求の範囲】
【請求項1】
符号化する情報である符号化情報を分割して得られる分割情報のそれぞれに誤り訂正符号を付して符号化した分割情報符号のそれぞれに基づいて1単位の二次元コードである分割情報コードを生成する分割情報コード生成手段と、
前記分割情報符号のそれぞれから対応する情報を抽出して得られる交差情報に誤り訂正符号を付して符号化した交差情報符号に含まれる前記誤り訂正符号のそれぞれから対応する情報を抽出して得られる交差情報訂正符号のそれぞれに基づいて1単位の二次元コードである交差情報訂正コードを生成する交差情報訂正コード生成手段と、
を有する二次元コード生成装置。
【請求項2】
前記交差情報符号に含まれるシンボル数が、前記分割情報符号の数と異なる請求項1記載の二次元コード生成装置。
【請求項3】
前記交差情報符号を構成するシンボルは、前記分割情報コード及び前記交差情報訂正コードの対応する位置に配置される請求項1又は2記載の二次元コード生成装置。
【請求項4】
指定された領域に配置し得る二次元コードの数から、配置し得る交差情報訂正コードの数を算出する交差情報訂正コード配置可能数算出手段を有し、
前記交差情報訂正コード生成手段は、前記配置し得る交差情報訂正コードの数に基づいて前記交差情報訂正コードを生成する請求項1乃至3の何れかに記載の二次元コード生成装置。
【請求項5】
前記分割情報コード及び前記交差情報訂正コードに、前記分割情報コード及び前記交差情報訂正コードの順序に関する情報を含む索引情報を付与する索引情報付与手段と、
前記分割情報コード及び前記交差情報訂正コードの順序を並び替えて配置する並び替え配置手段と、
を有する請求項1乃至4の何れかに記載の二次元コード生成装置。
【請求項6】
画像情報を受け付ける画像情報受付手段と、
前記符号化情報を受け付ける符号化情報受付手段と、
請求項1乃至5の何れかに記載の二次元コード生成装置と、
前記画像情報から得られる画像と生成された二次元コードを合成する合成手段と、
二次元コードが埋め込まれた画像情報に基いて、媒体に画像を形成する画像形成手段と、
を有する画像形成システム。
【請求項7】
符号化する情報である符号化情報を分割して得られる分割情報のそれぞれに誤り訂正符号を付して符号化した分割情報符号のそれぞれに基づいて生成された1単位の二次元コードである分割情報コードと、
前記分割情報符号のそれぞれから対応する情報を抽出して得られる交差情報に誤り訂正符号を付して符号化した交差情報符号に含まれる前記誤り訂正符号のそれぞれから対応する情報を抽出して得られる交差情報訂正符号のそれぞれに基づいて生成された1単位の二次元コードである交差情報訂正コードと、
からなる複数単位の二次元コードを読み込む二次元コード読み込み手段と、
読み込んだ前記複数単位の二次元コードから、前記符号化情報を復号する符号化情報復号手段と、
を有する二次元コード読み取り装置。
【請求項8】
前記符号化情報復号手段は、前記分割情報コードから得られた前記分割情報符号の復号が失敗した場合に前記交差情報訂正コードから得られた前記交差情報を復号する請求項7記載の二次元コード読み取り装置。
【請求項9】
コンピュータを、
符号化する情報である符号化情報を分割して得られる分割情報のそれぞれに誤り訂正符号を付して符号化した分割情報符号のそれぞれに基づいて1単位の二次元コードである分割情報コードを生成する分割情報コード生成手段と、
前記分割情報符号のそれぞれから対応する情報を抽出して得られる交差情報に誤り訂正符号を付して符号化した交差情報符号に含まれる前記誤り訂正符号のそれぞれから対応する情報を抽出して得られる交差情報訂正符号のそれぞれに基づいて1単位の二次元コードである交差情報訂正コードを生成する交差情報訂正コード生成手段と、
として機能させるコンピュータプログラム。
【請求項10】
コンピュータを、
符号化する情報である符号化情報を分割して得られる分割情報のそれぞれに誤り訂正符号を付して符号化した分割情報符号のそれぞれに基づいて生成された1単位の二次元コードである分割情報コードと、
前記分割情報符号のそれぞれから対応する情報を抽出して得られる交差情報に誤り訂正符号を付して符号化した交差情報符号に含まれる前記誤り訂正符号のそれぞれから対応する情報を抽出して得られる交差情報訂正符号のそれぞれに基づいて生成された1単位の二次元コードである交差情報訂正コードと、
からなる複数単位の二次元コードを読み込む二次元コード読み込み手段と、
読み込んだ前記複数単位の二次元コードから、前記符号化情報を復号する符号化情報復号手段と、
として機能させるコンピュータプログラム。
【請求項11】
符号化する情報である符号化情報を分割して得られる分割情報のそれぞれに誤り訂正符号を付して符号化した分割情報符号のそれぞれに基づいて生成された1単位の二次元コードである分割情報コードと、
前記分割情報符号のそれぞれから対応する情報を抽出して得られる交差情報に誤り訂正符号を付して符号化した交差情報符号に含まれる前記誤り訂正符号のそれぞれから対応する情報を抽出して得られる交差情報訂正符号のそれぞれに基づいて生成された1単位の二次元コードである交差情報訂正コードと、
からなる複数単位の二次元コードが付与された媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2011−49690(P2011−49690A)
【公開日】平成23年3月10日(2011.3.10)
【国際特許分類】
【出願番号】特願2009−194686(P2009−194686)
【出願日】平成21年8月25日(2009.8.25)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】