説明

2次元バーコード並びにその読取システム及び生成システム

【課題】既存の白黒の2次元バーコードに代えて、カラーの2次元バーコードを用いる場合に、既存のアルゴリズムの一部を流用してコストを低く抑えることを課題とする。
【解決手段】本発明は、行列状に区画された複数のセルのそれぞれが予め定められた2のk剰色のカラーの何れかで表される2次元バーコード1を読取るにあたり、該2次元バーコード1を取込データとして取込む取込手段13と、該取込データから元情報を復元する復元手段52と、各種情報が記憶される記憶手段4とを備えた2次元バーコード読取システムであって、上記取込データに基づいてマトリックス状に区画された複数の各セルが2色のカラーの何れかで表される2次元バーコード2をk層有する多層化2次元バーコード3に変換する多層化手段6を備え、該多層化2次元バーコード3を構成する複数の2次元バーコード2に対して元情報を復元する処理を行う。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、種々の情報を記憶可能な2次元バーコード、2次元バーコード読取システム及び2次元バーコード生成システムに関する。
【背景技術】
【0002】
文字等の情報を光学的に読取り可能に表したものとして、物品の流通管理等に用いられる1次元バーコードが従来から一般に広く知られているが、近年の情報化社会の到来に伴い、マトリックス状に区画された複数のセルを有して記憶可能な情報量を増加させたマトリックス型の2次元バーコードの開発が進み、その幾つかが実用化されている。
【0003】
この2次元バーコードを構成する複数の各セルは、通常、白黒の何れかの色によって表現されているが、さらに多くの情報を記憶可能にするために、複数の各セルを2のk乗色の何れかのカラーによって表すことによりカラー化された2次元バーコード及びその読取システム等が公知になっている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005−284412号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記文献のカラー化された2次元バーコードでは、各セルにkビット(具体的にはk=3で、3ビット)の情報を記憶可能であるため、記憶できる情報量が増加する一方で、この2次元バーコードを読取る際には、各セルの色を識別し、その識別された色情報に基づいて元情報を復元する必要があり、白黒等の2色の何れかによって複数の各セルが表現された従来の2次元バーコードを読取るための読取アルゴリズムや、生成するための生成アルゴリズムをそのまま適用することが困難なため、既存の白黒で表現された2次元バーコードに代えて、カラー化された2次元バーコードを用いる場合には、関連するシステム全体を入れ替えて対応する必要がある場合が多く、コスト的な面で課題が残るものであった。
【課題を解決するための手段】
【0006】
上記課題を解決するため本発明は、第1に、マトリックス状に区画された複数のセルを有して各セルが予め定められた2のk剰色(kは2以上の整数)のカラーの何れかで表されるマトリックス型の2次元バーコード1を読取るにあたり、該2次元バーコード1を取込データとして取込む取込手段13と、該取込データから元情報を復元する復元手段52と、上記取込データ又は元情報が記憶される記憶手段4とを備えた2次元バーコード読取システムであって、上記取込データに基づいて、マトリックス状に区画された複数の各セルが2色のカラーの何れかで表される2次元バーコード2をk層有する多層化2次元バーコード3に変換する多層化手段6を備え、該多層化2次元バーコード3を構成する複数の2次元バーコード2のそれぞれに対して元情報を復元する処理を行うように復元手段52を構成したことを特徴としている。
【0007】
第2に、上記2次元バーコード読取システム22の読取り対象となるとともに4辺を有する方形状に形成されてなる2次元バーコードであって、4辺の少なくとも一部に沿う帯状領域41を設け、該帯状領域41に基準カラーを配置してなることを特徴としている。
【0008】
第3に、方向特定ができるように前記帯状領域41に基準カラーを配置してなることを特徴としている。
【0009】
第4に、4辺を囲繞するように方形状に帯状領域41を形成してなることを特徴としている。
【0010】
第5に、上記2次元バーコード読取システム22によって読取られる2次元バーコード1を生成する2次元バーコード生成システムであって、情報を記憶する記憶手段4を備え、元情報となる被処理データをk個の分割データに分割して記憶手段4に記憶する分割手段27と、記憶手段4に記憶された前記k個の分割データから可能な限り多くの対を生成する対生成手段38と、対生成手段38によって対にされた各2つの分割データの差分データを生成して前記記憶手段4に記憶する差分データ生成手段39と、分割データ及び差分データをエントロピー符号化して記憶手段4に記憶する符号化手段34と、分割データ及び差分データから元情報が算出可能なように圧縮率の高いデータを選択するデータ選択手段36とを備え、親ノードが対の子ノードを有し且つ親ノードを構成するデータが対の子ノードを構成する2つのデータの差分データであるとともに子ノードを有さない最下層ノードを構成するデータが上記分割データであるバイナリーツリー構造データを生成して前記記憶手段4に記憶する木構造データ生成手段33を設け、符号化手段34がバイナリーツリー構造データのノードを構成する全てのデータに対してエントロピー符号化を行い、データ選択手段36が、バイナリーツリー構造データのリンク情報を用いて全ての分割データが算出可能なように、バイナリーツリー構造データのノードを構成する全てのデータからエントロピー符号化による圧縮率の高いデータを選択データとしてk個選択し、このk個の選択データから変換される2次元バーコードをk層有する前記多層化2次元バーコードを生成するとともに該多層化2次元バーコードに基づいて前記2次元バーコードを生成する生成手段を設けたことを特徴としている。
【発明の効果】
【0011】
以上のように構成される本発明によれば、マトリックス状に区画された複数の各セルが2色のカラーの何れかで表される2次元バーコードをk層重ねて多層2次元バーコードに変換する多層化手段を設けることにより、各層の2次元バーコードに対しては、白黒の何れかで各セルが表現される2次元バーコードに関する読取・生成アルゴリズムをそのまま適用可能であるため、既存のシステムへの組入れが容易になるという効果がある。
【0012】
そして、例えば、k個の2次元バーコードの一部の2次元バーコードをダミーとすることにより、どの2次元バーコードがダミーかを知らなければ、元情報への復元ができなくなる他、どの層にどの2次元バーコードを格納するのかを複雑に組替えることによっても、その組替え情報を知らなければ元情報への復元ができなくなる。このように、種々の手段により、高いセキュリティを確保することが容易になるという効果がある。
【0013】
また、2次元バーコード読取システムの読取り対象となるとともに4辺を有する方形状に形成されてなる2次元バーコードであって、4辺の少なくとも一部に沿う帯状領域を設け、該帯状領域に基準カラーを配置することにより、基準カラーを利用して、より正確且つ迅速に、元情報への復元を行うことができるという効果がある。
【0014】
また、方向特定ができるように前記帯状領域に基準カラーを配置することにより、方向特定に関する情報を別途設ける必要なく、構成をよりシンプルにできるという効果がある。
【0015】
さらに、4辺を囲繞するように方形状に帯状領域を形成することにより、2次元バーコードの方向特定や領域特定をより高精度に行うことが可能になるという効果がある。
【0016】
なお、上記2次元バーコード読取システムによって読取られる2次元バーコードを生成する2次元バーコード生成システムであって、情報を記憶する記憶手段を備え、元情報となる被処理データをk個の分割データに分割して記憶手段に記憶する分割手段と、記憶手段に記憶された前記k個の分割データから可能な限り多くの対を生成する対生成手段と、対生成手段によって対にされた各2つの分割データの差分データを生成して前記記憶手段に記憶する差分データ生成手段と、分割データ及び差分データをエントロピー符号化して記憶手段に記憶する符号化手段と、分割データ及び差分データから元情報が算出可能なように圧縮率の高いデータを選択するデータ選択手段とを備え、親ノードが対の子ノードを有し且つ親ノードを構成するデータが対の子ノードを構成する2つのデータの差分データであるとともに子ノードを有さない最下層ノードを構成するデータが上記分割データであるバイナリーツリー構造データを生成して前記記憶手段に記憶する木構造データ生成手段を設け、符号化手段がバイナリーツリー構造データのノードを構成する全てのデータに対してエントロピー符号化を行い、データ選択手段が、バイナリーツリー構造データのリンク情報を用いて全ての分割データが算出可能なように、バイナリーツリー構造データのノードを構成する全てのデータからエントロピー符号化による圧縮率の高いデータを選択データとしてk個選択し、このk個の選択データから変換される2次元バーコードをk層有する前記多層化2次元バーコードを生成するとともに該多層化2次元バーコードに基づいて前記2次元バーコードを生成する生成手段を設ければ、圧縮率が高まるとともに、バイナリーツリー構造データの生成処理は、対を生成する処理とさほど手間が変わらないため、高速処理が可能である。
【0017】
そして、生成された2次元バーコードは、木構造データ生成手段により生成したバイナリーツリー構造データのリンク情報がないと復元できないため、高いセキュリティが確保されるという効果がある。
【図面の簡単な説明】
【0018】
【図1】本発明を適用した2次元カラーバーコードの具体例を示す概念図である。
【図2】本発明を適用した2次元カラーバーコードの一般的な概念図である。
【図3】本発明を適用したバーコード装置の構成を示す概略図である。
【図4】2次元バーコード生成装置の構成を示すブロック図である。
【図5】(A)は音声データに関する入力信号の一例を示す図面であり、(B)は入力信号が分割される一例を示す図面である。
【図6】符号化部の構成を示すブロック図である。
【図7】バイナリーツリー構造データの一例を示す模式図である。
【図8】データ選択手段の処理フロー図である。
【図9】(A)〜(D)はデータ選択手段によるデータ選択の一例を示す状態遷移図ある。
【図10】(A)は2次元カラーバーコードの平面図であり、(B)は復元テーブルの構成を示す一覧表である。
【図11】2次元バーコード読取装置の構成を示すブロック図である。
【図12】デコード部の構成を示すブロック図である。
【発明を実施するための形態】
【0019】
図1は、本発明を適用した2次元カラーバーコードの具体例を示す概念図である。図示する2次元カラーバーコード(2次元バーコード)1は、いわゆるマトリックス型と呼ばれ、3行3列の行列状に区画された9つのセルを有し、各セルは4色(白、青、黄、緑)で塗分けられている。このように2のk乗(kは2以上の整数で、同図ではk=2)色のカラーで塗り分けられた2次元カラーバーコード1は、二値化されたk個の2次元二値化バーコード(2次元バーコード)2に分解することが可能である。
【0020】
例えば、同図の2次元カラーバーコード1は、3行3列のマトリックス状に区画された9個の各セルが4色のカラーで塗分けられているので、3行3列のマトリックス状に区画されて各セルが2色のカラーの何れかで表された2次元二値化バーコード2によって各層が構成される2層の多層化2次元バーコード3に変換可能である。
【0021】
具体的には、後述する記憶部(記録手段)4(図3参照)にカラーマップMを記憶しておき、このカラーマップMの情報及び2次元カラーバーコード1の各セルの色情報に基づいて、各2次元二値化バーコード2を構成する各セルの色情報を取得する。
【0022】
例えば、同図のカラーマップMによれば、2次元カラーバーコード1のセルの色が白色の場合には2次元二値化バーコード2のその箇所のセルは1層目及び2層目ともに白色になり、2次元カラーバーコード1のセルの色が青色の場合には2次元二値化バーコード2のその箇所のセルは1層目が青色になるとともに2層目が白色になり、2次元カラーバーコード1のセルの色が黄色の場合には2次元二値化バーコード2のその箇所のセルは1層目が白色になるとともに2層目が黄色になり、2次元カラーバーコード1のセルの色が緑色の場合には2次元二値化バーコード2のその箇所のセルは1層目が青色になるとともに2層目が黄色になる旨の情報が格納されている。
【0023】
そして、2次元カラーバーコード1から多層化2次元バーコード3への変換を行う場合と、多層化2次元バーコード3から2次元カラーバーコード1への変換とを行う場合とで、同一のカラーマップMを用いることにより、2次元カラーバーコード1から正しい元情報を復元することが可能になる。
【0024】
図2は、本発明を適用した2次元カラーバーコードの一般的な概念図である。本発明の2次元カラーバーコード1は、一般的に、l行m列の行列状に区画されたl×m個の各セルが2のk乗色のカラーの何れかにより表されている(l,mは2以上の整数)。このため、2次元カラーバーコード1は、上述した手段である多層化手段(変換手段)6(図12参照)により、l行m列のマトリックス状に区画された各セルが2色のカラーの何れかで表された2次元二値化バーコード2によって各層が構成されるk層の多層化2次元バーコード3に変換可能である。ちなみに、l=mとして、正方形状の2次元カラーバーコード1としてもよい。
【0025】
図3は、本発明を適用したバーコード装置の構成を示す概略図である。図示するバーコード装置(バーコードシステム)7は、マイコン等で構成される制御部(CPU)8と、一時的なデータを格納するとともに制御部8から高速アクセス可能なメモリ(RAMメモリ)9と、情報を長期記憶可能なHDD(ハードディクス)11と、入力信号等が入力される入力部12と、上述の2次元カラーバーコード1をスキャニングして画像データ(取込データ)として取込むCCDカメラ(取込手段,スキャニング部)13と、フロッピディスク(情報記録媒体)14及びCD−ROM(情報記録媒体)16等から情報の読取り及び書込みを行う外部記録装置17と、紙媒体(印刷媒体)に上記2次元カラーバーコード1等を印刷する印刷機(プリンター)18と、インターネット等のネットワークに接続するネットワークインターフェイス19とを備え、上記2次元カラーバーコード1の画像を生成する2次元バーコード生成装置(2次元バーコード生成システム)21(図4参照)として機能するとともに、2次元カラーバーコード1を読取る2次元バーコード読取装置(2次元バーコード読取システム)22(図11参照)として機能するように構成されている。
【0026】
次に、図3乃至10に基づき2次元バーコード生成装置21の構成について説明する。
図4は、2次元バーコード生成装置の構成を示すブロック図である。図示する2次元バーコード生成装置21は、音声信号等のアナログ信号が入力される上述の入力部12と、このアナログの入力信号(アナログ入力信号)を量子化されたデジタル値に変換する量子化部23と、デジタル化された入力信号(デジタル入力信号,元情報,デジタル入力データ)を符号化して圧縮処理を行う符号化部24と、この符号化部24からの圧縮データに基づいて上述の2次元カラーバーコード1の画像を生成する画像生成部(生成手段)26と、前述した記憶部4とを備えている。ちなみに、記憶部4は、データを一時的に記憶するメモリ9及びHDD11によって構成されており、上記デジタル入力信号、圧縮データ及び2次元カラーバーコード1等が記憶される。
【0027】
なお、記憶部4に予め記憶されたデジタル入力データを用いて、上述の符号化部24による圧縮及び2次元カラーバーコード1の生成を行ってもよい。
【0028】
図5(A)は音声データに関する入力信号の一例を示す図面であり、(B)は入力信号が分割される一例を示す図面である。例えば、入力部12から入力されるアナログ信号が音声信号である場合には、時間経過とともに振幅幅が変化していく。この場合に、時間経過を示す横軸上に等間隔にN個のシンボルを設置し、シンボル毎にアナログ入力波形の振幅を記憶することにより、アナログ信号の量子化を行う。ちなみに、量子化は上記手段に限定されるものではない。
【0029】
この際、アナログ入力信号の波形を正確に再現するためにシンボル間の間隔をある程度狭くする必要があるが、シンボル間の間隔を狭くすると、これに伴ってシンボル数が多くなってしまう。このため、結合・分割手段(分割手段)27(図6参照)によって、全てのシンボル数がn個になるように、アナログ入力信号をj個(図示する例ではj=3)に分割(フレーム分割)する。ちなみに、jはk以下の自然数になる。そして、この分割されたデータ(分割データ)毎に1つのチャンネルを割り当てる。
【0030】
なお、アナログ入力信号は、上記音声信号に限定されるものではなく、画像信号等でもよい。また、デジタル入力信号として文字データ等を用いてもよい。ちなみに、画像信号は、直交する2軸によって2チャンネルのアナログ入力信号として表現することが可能である。
【0031】
図6は、符号化部の構成を示すブロック図である。符号化部24は、記憶部4又は量子化部23からデジタル入力信号を取得するデータ取得手段28と、上述の係合・分割手段27と、該結合・分割手段27からのj個の分割データ毎にベクトルデータを生成するベクトルデータ生成手段29と、ベクトルデータ生成手段29によってチャンネル毎に生成されたベクトルデータから線形予測分析31に基づいて残差ベクトルデータ(残差信号)を生成する残差ベクトルデータ生成手段32と、チャンネル毎に生成された残差ベクトルからバイナリーツリー構造データを生成する木構造データ生成手段33と、エントロピー符号化を行う符号化手段34と、バイナリーツリー構造データから圧縮データ用のデータ選択を行うデータ選択手段36とを備え、データ選択手段36によるデータ選択に基づき圧縮データを生成して出力するように構成されている。
【0032】
上記結合・分割手段27は、上述のように元情報をj個に分割する他、該分割処理の前に元情報が複数チャネルにより構成されている場合(例えば、2チャンネルのステレオ音声信号)には、j個の情報を分割する前に、そのデータを1つに結合する結合処理を行うように構成されている。
【0033】
上記ベクトルデータ生成手段29では、デジタル入力信号に基づいて、j個のチャンネル毎にベクトルデータを生成する。デジタル入力信号はチャンネル毎にn個のシンボルにより構成されるため、これをn次元のベクトルとみなし、以下の式で表す。なお、下記式のx,x2,・・・,xnがn個のシンボル毎の振幅値に対応している。
【0034】
【数1】

【0035】
上記残差ベクトルデータ生成手段32は、線形予測分析31により、ベクトルデータ生成手段29で生成したベクトルデータから、残差ベクトルデータを求める。線形予測分析31は、過去に入力されたデータにより、現在及び未来のデータ値を予測して、出力する手法であり、過去のp個のサンプルによって、以下の式で表される。
【0036】
【数2】

【0037】
ここで、a,a,・・・,aは、線形予想によって得られ、伝送のために量子化された予測係数で、「・」は整数化を表している。そして、残差ベクトルデータeは以下の式により求められる。
【0038】
【数3】

【0039】
このチャンネル毎に求められる残差ベクトルデータeは、成分毎(シンボル毎)の偏りが大きく、符号化手段34によりエントロピー符号化をした際の圧縮率が高くなる。
【0040】
上記木構造データ生成手段33は、チャンネル毎に求められた残差ベクトルデータからバイナリーツリー構造データを生成するように構成されており、類似度(ベクトル類似度)を算出する類似度算出手段37(ベクトル類似度算出手段)と、複数の残差ベクトルデータからベクトル類似度の高い対を生成する対生成手段38と、対にされたデータの差分データを算出する差分データ生成手段39とを備えている。
【0041】
類似度算出手段37では、2つのベクトルx=[x,x,・・・,x],y=[y,y,・・・,y]の類似度は、2つのベクトルx,yのなす角θが小さければ小さいほど高いものとみなし、なす角θは以下の式から求められる。下記式を利用することにより、少ない計算量で2つのベクトルx,yの類似度が算出できる。
【0042】
【数4】

【0043】
対生成手段38が、上記式に基づいて算出された各残差ベクトルデータ間のベクトル類似度に基づいて、類似度が高い残差ベクトルデータ同士を選び、できるだけ多くの対を生成する。
【0044】
続いて、差分データ生成手段39が、対になった残差ベクトルデータ同士の差分ベクトルデータ(差分ベクトル,差分データ)を算出する。例えば、前述した2つのベクトルx=[x,x,・・・,x],y=[y,y,・・・,y]が対になった場合の差分ベクトルデータdは、以下の式により求められる。
【0045】
【数5】

【0046】
そして、類似度算出手段37により算出される類似度に基づいて、対生成手段38が、差分データと差分データ又は差分データと残差ベクトルデータの対をさらに生成していくことにより、親ノードが一対の子ノードを有し且つ親ノードを構成するデータが一対の子ノードを構成する2つのデータの差分データであるとともに、子ノードを有さない最下層ノードを構成するデータが上記分割データ(残差ベクトルデータ)であるバイナリーツリー構造データ(バイナリーツリー構造データのリンク構造)を生成する。
【0047】
図7は、バイナリーツリー構造データの一例を示す模式図である。バイナリーツリー構造データでは、子ノードを有さない最下層ノードが残差ベクトルデータあり、同図に示す例では、5つの最下層ノードn〜nが残差ベクトルデータになる。そして、ノードnを構成する残差ベクトルとノードnを構成する残差ベクトルの類似度が高いためノードnとノードnとが対になり、ノードnを構成する残差ベクトルとノードnを構成する残差ベクトルの類似度が高いためノードnとノードnとが対になっている。これら対のノードの差分データにより構成される2つのノードn,n及び対にならなかったノードnのうち、類似度の高いノードnとノードnとにより対が生成され、この対のノードの差分データによりノードnの生成され、ノードnとノードnとの差分データによりルートノード(親ノードを有さないノード)であるノードnが生成される。
【0048】
以上のようなシンプルな処理によりバイナリーツリー構造データが生成されるため、処理速度を高速化できる。なお、残差ベクトルデータはj個であるため、バイナリーツリー構造データのノードの数はj+(j−1=2j−1個になる。
【0049】
上記符号化手段34は、前述の木構造データ生成手段33により生成したバイナリーツリー構造データの各ノードを構成する全ての残差ベクトルデータ及び差分データに対して、エントロピー符号化を行う。なお、エントロピー符号としては、本実施例では、Huffman符号を用いるが、算術符号やRangecoder等を用いてもよい。
【0050】
上記データ選択手段36は、もとのデジタル入力信号に復号化可能なように、バイナリーツリー構造データの各ノードを構成する全ての残差ベクトルデータ及び差分データから、残差ベクトルデータの個数分であるj個のデータを選択データとして選ぶように構成されている。
【0051】
図8は、データ選択手段の処理フロー図である。データ選択手段36による処理が開始されるとステップS1に進む。ステップS1では、最下層ノード(残差ベクトルデータにより構成されるノード)全てを「仮選択ノード」にセットし、その他のノード(差分データにより構成されるノード)全てを「未処理ノード」にセットし、ステップS2に進む。
【0052】
ステップS2では、バイナリーツリー構造データのノードのなかにまだ「仮選択ノード」が存在するか否かの検出を行い。「仮選択ノード」がない状態であればデータ選択手段23による処理を終了し、その時点で「選択ノード」にセットされたノードを構成するデータが選択データとして選ばれることになる。一方、ステップS2において、「仮選択ノード」がまだ存在する状態であれば、ステップS3に進む。
【0053】
ステップS3では、ペアを構成する対ノードが「未処理ノード」になっておらず、自身が「仮選択ノード」になっている任意のノードを対象ノードとして選択し、ステップS4に進む。ステップS4では、対象ノードを構成するデータが、その親ノードを構成するデータよりも、エントロピー符号化による圧縮率が低いか否かの検出を行い、低くなければステップS5に進み、低ければステップS6に進む。
【0054】
ステップS5では、対象ノードを「選択ノード」、親ノードを「非選択ノード」にセットして、処理をステップS2に処理を戻す。ステップS6では、対ノードが「仮選択ノード」であるか否かの検出を行い、「仮選択ノード」でなければステップS7に進む。ステップS7では、対象ノードを「非選択ノード」、親ノードを「仮選択ノード」にセットし、ステップS8に進む。
【0055】
ステップS8では、ステップS7又は後述するステップS11,13,14において「仮選択ノード」にセットされた親ノードがルートノードであるか否かの検出を行い、ルートノードであればステップS9に進み、ルートノードでなければステップS2に処理に戻す。ステップS9では、ルートノードである親ノードを「選択ノード」にセットし、ステップS2に処理を戻す。
【0056】
ステップS6において、対ノードが「仮選択ノード」であれば、ステップS10に進む。ステップS10では、対ノードを構成するデータが、その親ノードを構成するデータよりも、エントロピー符号化による圧縮率が低いか否かの検出を行い、低くないことが検出されると、ステップS11に進む。ステップS11では、対象ノードを「非選択ノード」、対ノードを「選択ノード」、親ノードを「仮選択ノード」にセットし、ステップS8に処理を進める。
【0057】
ステップS10において、対象ノードの対ノードを構成するデータが、その親ノードを構成するデータよりも、エントロピー符号化による圧縮率が低いことが検出されると、ステップS12に進む。ステップS12では、対象ノードを構成するデータが、その対ノードを構成するデータよりも、エントロピー符号化による圧縮率が高いか否かの検出を行い、高ければステップS13に進み、高くなければステップS14に進む。
【0058】
ステップS13では、対象ノードを「選択ノード」、対ノードを「非選択ノード」、親ノードを「仮選択ノード」にセットし、ステップS8に処理を進める。一方、ステップS14では、対象ノードを「非選択ノード」、対ノードを「選択ノード」、親ノードを「仮選択ノード」にセットし、ステップS8に処理を進める。
【0059】
以上により、どのノードが「選択ノード」とされたかに関するノードに関する情報(選択ノード情報)と、バイナリーツリー構造データのリンク構造に関する情報(木構造情報)とを取得できれば、全選択ノードの各データ(選択データ)に基づいて、全ての残差ベクトル情報(分割データ)を算出することが可能である。そして、全ての残差ベクトル情報が分かれば、図6と逆の手順により、デジタル入力信号の情報を復元することができる。
【0060】
図9(A)〜(D)はデータ選択手段によるデータ選択の一例を示す状態遷移図ある。図示する例では、4個の残差ベクトルデータにより4つの最下層ノードn〜nが構成され、これらのノードn〜nが「仮選択ノード」としてセットされる(同図(A)参照)。そして、木構造データ生成手段33によって、上記2つのノードn,nを子ノードする親ノードnが構成され、上記2つのノードn,nを子ノードする親ノードnが構成され、上記2つのノードn,nを子ノードするルートノードである親ノードnが構成されることにより、バイナリーツリー構造データが生成される。なお、ノードのなかの数字は、7個のノードn〜nにおける、エントロピー符号化の圧縮率の高さの順番を示している。
【0061】
まず、ノードnとノードnのそれぞれに対して、ステップS2→ステップS3→ステップS4→ステップS5→ステップS2の処理がおこなわれる。その結果、ノードn及びノードnが「選択ノード」にセットされ、ノードnが「非選択ノード」にセットされる(同図(B)参照)。
【0062】
続いて、ノードnに対してステップS2→ステップS3→ステップS4→ステップS6→ステップS10→ステップS12→ステップS13→ステップS8→ステップS2の処理が行われ、その結果、ノードnが「選択ノード」にセットされ、ノードnが「非選択ノード」にセットされ、ノードnが「仮選択ノード」にセットされる(同図(C)参照)。
【0063】
続いて、ノードnに対してステップS2→ステップS3→ステップS4→ステップS6→ステップS7→ステップS8→ステップS9→ステップS2の処理が行われ、その結果、ノードnが「非選択ノード」にセットされ、ノードnが「選択ノード」にセットされる(同図(D)参照)。
【0064】
そして、これらの処理の結果、ノードn、ノードn、ノードn及びノードnが選択データとして選択される。この際、ノードnを構成する残差ベクトルデータの情報を取得するためには、ノードnとノードnの情報によりノードnの情報を取得し、ノードnとノードnの情報によりノードnの情報を取得し、ノードnとノードnの情報によりノードnの情報を取得する。
【0065】
上記構成のデータ選択手段36を備えた符号化部24は、j個の選択データと、それに関連する木構造情報及び選択ノード情報と、元情報が結合・分割手段27によってどのように結合・分割されたかを示す結合・分割情報とを出力するように構成されている。
【0066】
そして、図4に示す画像生成部(生成手段)26は、上記j個の選択データ、それに関連する木構造情報、選択ノード情報及び結合・分割情報を受取り、これらの情報に基づいて、上記二次元カラーバーコード情報のデジタル画像データを生成するように構成されている。
【0067】
具体的には、j個の各選択データを、従来公知の手段等により、2次元二値化バーコード2に変換する。ちなみに、選択データを2次元二値化バーコード2に変換するために、上述したように平面画像が2チャンネルの信号によって表現できることを利用してもよい。この場合には、各選択データをさらに2つに分割する必要がある。
【0068】
続いて、j個の各2次元二値化バーコード2を、k層よりなる多層化2次元バーコード3のどの層に配置するかを、1つの層に2以上の2次元二値化バーコード2が重複配置されることがないようにして、決定するとともに、この情報を層配置情報として保持する。
【0069】
ところで、jがkの値よりも小さい自然数の場合には、多層化2次元バーコード1を構成するk層の内で、選択データの情報が格納されていない空の層が存在することになるが、この空の層には、元情報と関係のないダミー情報よりなる2次元二値化バーコードが格納され、多層化2次元バーコード3のどの層に選択データが格納されているかは、有効層情報として保持される。ちなみに、j=kの場合には、多層化2次元バーコード3の全ての層に選択データを格納され、有効層情報にはその旨が示される。
【0070】
最後に、上述のカラーマップMに基づいて、多層化2次元バーコード3から、2次元カラーバーコード1を生成する他、該生成した2次元カラーバーコード1を特定する識別子とともに、有効層状態、木構造情報、選択ノード情報、結合・分割情報及び層配置情報を、記憶部4の復元テーブルT(図10参照)に記憶するように画像生成部26が構成されている。
【0071】
図10(A)は2次元カラーバーコードの平面図であり、(B)は復元テーブルの構成を示す一覧表である。同図に示すように生成された2次元カラーバーコード1は、4辺を有する正方形状をなし、その4辺に沿う帯状領域41が形成されている。帯状領域41は、画像取込み時の領域特定を容易にするため、4辺を外側から囲繞するように方形枠状に形成されており、4辺の上側に沿う上辺部41aと、4辺の下側に沿う下辺部41bと、4辺の左側に沿う左辺部41cと、4辺の右側に沿う右辺部41dとから構成されている。また、上記4辺の内側の領域は、定められた所定箇所に配置されて方形状のセル内に表示される複数(図示する例では3つ)のファインダーパターン42と、2のk乗色のカラーで色分けされた図1,2に示すドットパターンからなる情報格納領域43とによって構成されている。
【0072】
上記帯状領域41には、複数の基準カラーが配色されている。上述の多層化2次元バーコード3を構成するk個の2次元二値化バーコード2は、白と、各層によって異なる所定色との2色によって塗り分けられており、上記基準カラーは上記所定色を示している。すなわち、基準カラーはk色存在し、色調補正に用いられ、2次元カラーバーコード1の画像取込精度を向上させる。
【0073】
また、k色の基準カラーはそれぞれ上辺部41a、下辺部41b、左辺部41c及び右辺部41dの何れかに配色され、どの辺部41a,41b,41c,41dにどの基準カラーが配色されたかは配色情報として記憶部4に記憶されている。ちなみに、k=4の場合には各辺部41a,41b,41c,41dに1色づつ基本カラーを配色する等、各辺部41a,41b,41c,41dの基本カラーの色数をできるだけ一致させることが好ましい。
【0074】
そして、所定の基準カラーがどの辺部41a,41b,41c,41dに配色されているのかを識別することにより、配色情報に基づいて、2次元カラーバーコード1の方向特定を行うことが可能になり、このようにして後述する方向特定手段44(図12参照)が構成されている。
【0075】
具体例を挙げると、上辺部41aに赤色の基準色を配したにもかかわらず、取込まれた2次元カラーバーコード1の画像において、赤色の基準色が下辺部41bに位置していれば、その2次元カラーバーコード1の180度回転させる必要がある。このようにして、方向特定手段44による方向特定を行う。
【0076】
上記ファインダーパターン42には、上述の2次元カラーバーコード1に関する識別子や、その2次元カラーバーコード1のセルを構成する行数及び列数や、情報格納領域43において情報が格納されていない領域等の情報が含まれ、これらを後述する識別情報取得手段46(図12参照)によって取得する。
【0077】
次に、図11及び12に基づいて、2次元バーコード読取装置22の構成について説明する。
図11は、2次元バーコード読取装置の構成を示すブロック図である。2次元バーコード読取装置22は、2次元カラーバーコード1の画像を取込む上述のCCDカメラ13と、CCDカメラ13からの信号をデジタル化する量子化部47と、2次元カラーバーコード1のデジタル画像データに基づいて元情報を復元するデコード部48と、デジタル画像データ及び元情報を記憶する上述の記憶部4とを備えている。また、ネットワークインターフェイス19から取得した2次元カラーバーコード1のデジタル画像データや、記憶部4に記憶された2次元バーコードのデジタル画像データからデコード部48によって、元情報を復元してもよく、このためこれらも2次元カラーバーコード1を取込データとして取込む取込手段を構成している。
【0078】
図12は、デコード部の構成を示すブロック図である。デコード部48は、2次元カラーバーコード1のデジタル画像データを取得するデータ取得手段49と、取得したデジタル画像データから基準カラーを取得する基準カラー取得手段51と、取得した基準カラーから取込んだ2次元カラーバーコード1の方向を特定する前述の方向特定手段44と、取得したデジタル画像データのファインダーパターン42から上記識別子情報を含む前述の各種情報を取得するとともにこの識別子に関連する復元テーブルの各フィールドの情報を取得する上記識別情報取得手段46と、取得したデジタル画像データ及び基準カラーに基づいて方向が特定された2次元カラーバーコード1を多層化2次元バーコード3に変換する上述の多層化手段6と、方向特定手段44からの上記情報及び識別情報取得手段46からの上記情報に基づいて変換された多層化2次元バーコード3から元情報を復元する復元手段52とを備えている。
【0079】
上記復元手段52は、多層化2次元バーコード3を構成するj個の各2次二値化バーコード2に対して、元情報を復元するために選択データを取出す処理を行い、この選択データから、上記識別子及びこの識別子に関連する復元テーブルTの情報に基づいて、元データを復元するように構成されている。ちなみに詳細は上述した通りである。
【0080】
以上のように構成されるバーコード装置7によれば、2次元カラーバーコード1を3次元的に捉えることにより、既存のアルゴリズムを流用できるだけでなく、処理の高速化や、セキュリティの向上等を図ることが可能になる。ちなみに、通常一般に用いられるCCDカメラやスキャナの精度を加味すると、多層化2次元バーコード3の層の数kは10を上限とすることが望ましい。
【符号の説明】
【0081】
1 2次元カラーバーコード(2次元バーコード)
2 2次元二値化バーコード(2次元バーコード)
3 多層化2次元バーコード
4 記憶部(記憶手段)
6 多層化手段(変換手段)
13 取込手段
22 2次元バーコード読取装置(2次元バーコード読取システム)
26 画像生成部(生成手段)
27 結合・分割手段(分割手段)
33 木構造データ生成手段
34 符号化手段
36 データ選択手段
38 対生成手段
39 差分データ生成手段
41 帯状領域
52 復元手段

【特許請求の範囲】
【請求項1】
マトリックス状に区画された複数のセルを有して各セルが予め定められた2のk剰色(kは2以上の整数)のカラーの何れかで表されるマトリックス型の2次元バーコード(1)を読取るにあたり、該2次元バーコード(1)を取込データとして取込む取込手段(13)と、該取込データから元情報を復元する復元手段(52)と、上記取込データ又は元情報が記憶される記憶手段(4)とを備えた2次元バーコード読取システムであって、上記取込データに基づいて、マトリックス状に区画された複数の各セルが2色のカラーの何れかで表される2次元バーコード(2)をk層有する多層化2次元バーコード(3)に変換する多層化手段(6)を備え、該多層化2次元バーコード(3)を構成する複数の2次元バーコード(2)のそれぞれに対して元情報を復元する処理を行うように復元手段(52)を構成した2次元バーコード読取システム
【請求項2】
請求項1の2次元バーコード読取システム(22)の読取り対象となるとともに4辺を有する方形状に形成されてなる2次元バーコードであって、4辺の少なくとも一部に沿う帯状領域(41)を設け、該帯状領域(41)に基準カラーを配置してなる2次元バーコード。
【請求項3】
方向特定ができるように前記帯状領域(41)に基準カラーを配置してなる請求項2の2次元バーコード。
【請求項4】
4辺を囲繞するように方形状に帯状領域(41)を形成してなる請求項2又は3の2次元バーコード。
【請求項5】
請求項1の2次元バーコード読取システム(22)によって読取られる2次元バーコード(1)を生成する2次元バーコード生成システムであって、情報を記憶する記憶手段(4)を備え、元情報となる被処理データをk個の分割データに分割して記憶手段(4)に記憶する分割手段(27)と、記憶手段(4)に記憶された前記k個の分割データから可能な限り多くの対を生成する対生成手段(38)と、対生成手段(38)によって対にされた各2つの分割データの差分データを生成して前記記憶手段(4)に記憶する差分データ生成手段(39)と、分割データ及び差分データをエントロピー符号化して記憶手段(4)に記憶する符号化手段(34)と、分割データ及び差分データから元情報が算出可能なように圧縮率の高いデータを選択するデータ選択手段(36)とを備え、親ノードが対の子ノードを有し且つ親ノードを構成するデータが対の子ノードを構成する2つのデータの差分データであるとともに子ノードを有さない最下層ノードを構成するデータが上記分割データであるバイナリーツリー構造データを生成して前記記憶手段(4)に記憶する木構造データ生成手段(33)を設け、符号化手段(34)がバイナリーツリー構造データのノードを構成する全てのデータに対してエントロピー符号化を行い、データ選択手段(36)が、バイナリーツリー構造データのリンク情報を用いて全ての分割データが算出可能なように、バイナリーツリー構造データのノードを構成する全てのデータからエントロピー符号化による圧縮率の高いデータを選択データとしてk個選択し、このk個の選択データから変換される2次元バーコード(2)をk層有する前記多層化2次元バーコード(3)を生成するとともに該多層化2次元バーコード(3)に基づいて前記2次元バーコード(1)を生成する生成手段(26)を設けた2次元バーコード生成システム。

【図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

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate