Notice: Undefined variable: fterm_desc_sub in /mnt/www/biblio_conv.php on line 353
2次元カラーバーコード、2次元カラーバーコードの生成方法及びプログラム
説明

2次元カラーバーコード、2次元カラーバーコードの生成方法及びプログラム

【課題】2次元カラーバーコードの容量及び再現性を向上させる。
【解決手段】色階調値を用いる2次元カラーバーコードは、前記バーコードについての構成情報をエンコードする白黒構成ブロックと、データをエンコードする複数の色データブロックを含んでいる。データブロック中の各々のタイルは、RGB,CMY又は他の色セットの所定の再現可能な階調値の一つを有している。色データブロック中で用いられる各々の色の再現可能な階調値の数は、構成ブロックにより特定される。前記バーコードはまた、左上隅に位置する構成ブロックに隣接する黒タイルの縦列及び横列から構成されるコーナーマーカーと、3つの追加的なコーナーマーカーと、バーコードの辺に沿って位置する複数のブロックセパレータを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、カラーバーコードに関し、特に、2次元カラーバーコード、2次元カラーバーコードの生成方法及びプログラムに関する。
【背景技術】
【0002】
バーコードは、デジタル情報を記録するためのコンピュータにより読み取り可能な記号の一種である。1次元及び2次元の白黒バーコードが広く使用されている。多くのバーコード形式が開発されており、そのうちいくつかの例は、「BarCode-1, 2-Dimension Bar Code Page」(http://www.adams1.com/pub/russadam/stack.html)に記載されている。データ容量を増加させるため、情報を表すのに色を用いる2次元バーコードが提案されている。例えば、US特許6070805号には、2セットの色(赤,緑及び青並びにシアン、マゼンタ及び黄)を用いる耐変形性カラーバーコードシンボルを記載している。他の例では、本出願人の(commonly owned)「Color barcode producing, reading and/or reproducing method and apparatus」と題されたUS特許公開公報2005/0284944A1が、カラーバーコードにおいて6つの色(赤、オレンジ、青、緑、黄及びピンク)を用いることを記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許6070805号
【特許文献2】米国特許出願公開第2005/0284944A1号
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の目的は、2次元(2nd)カラーバーコードの容量及び再現性を向上させる方法を提供することにある。
本発明の更なる又は別の特徴及び効果は、後述の発明の詳細な説明に記述される。その一部は発明の詳細な説明から明らかであり、又は発明を実施することにより確認されるであろう。本発明の目的及び他の効果は、明細書、特許請求の範囲及び添付の図面において特に示された構造によって実現され、達成される。
【課題を解決するための手段】
【0005】
これらの及び他の目的を達成するため、実施化され、広く記載されているように、本発明は、複数の白黒タイルを含む構成ブロックと、複数の色タイルを含む少なくとも一つのデータブロックと、を備え、前記色タイルの各々は、データ値を表す色階調値を有し、前記色階調値は予め設定された再現可能な色階調値のうちの一つであり、前記構成ブロックは前記2次元カラーバーコードの構成情報をエンコードし、前記構成情報は前記データブロックの前記色タイルで用いられる前記再現可能な色階調値の数を特定する2次元カラーバーコードを提供する。
【0006】
他の側面によれば、本発明は、(a)前記2次元カラーバーコードにおいてエンコードされる入力データを取得するステップと、(b)前記カラーバーコードで用いられる複数の色の再現可能な色階調値の数を特定する構成情報を取得するステップと、(c)複数の白黒タイルを含む構成ブロックをレンダリングするステップであって、前記構成ブロックは前記再現可能な色階調値の数を特定する構成情報をエンコードしているステップと、(d)複数の色タイルを含む少なくとも一つのデータブロックをレンダリングするステップであって、前記色タイルの各々はデータ値を表す色階調値を有し、前記色階調値は前記複数の再現可能な色階調値の一つであるステップと、を含む2次元カラーバーコードの生成方法を提供する。
【0007】
本発明はまた、データ処理装置に関連するバーコード生成を実行させるプログラムを対象としている。
上述の発明の概要及び後述の発明の詳細な説明は、いずれも例示的かつ説明的なものであり、特許請求の範囲に係る発明について更なる説明を提供することを意図することは言うまでもない。
【図面の簡単な説明】
【0008】
【図1】図1(a)〜(e)は、本発明の実施形態による2次元バーコードの例を示す。
【図2】図2は、本発明の実施形態による2次元バーコードの生成方法を示すフローチャートである。
【図3】図3は、本発明の実施形態による2次元バーコードの再現方法を示すフローチャートである。
【発明を実施するための形態】
【0009】
本発明の実施形態によれば、2次元カラーバーコードを確実に読み取ってデコードするため、2次元カラーバーコードの構成情報を特定する白黒バーコードブロック形式の構成ブロック(configuration block)が、2次元カラーバーコードの中に含まれる。
【0010】
図1(a)〜(e)は、2次元カラーバーコード及びその規格仕様の例を示している。図1(a)で示されるように、白黒構成ブロック11は2次元バーコード10の上部左隅に配置されることが好ましい。2次元カラーバーコード10の残りは、カラーバーコードである多数のデータブロック12を含んでいる(図1(b)も参照)。構成ブロック及びデータブロックは同じ寸法であることが好ましい。図示された例では、構成ブロック11及びデータブロック12は、各々8×8のタイルを有している。構成ブロック11のタイルは白又は黒であるのに対し、データブロック12のタイルは赤(R),緑(G)若しくは青(B)の階調又はR,G及びBの階調の組み合わせである。あるいは、データブロックのタイルは、シアン(C),マゼンタ(M)若しくは黄(Y)の階調又はC,M及びYの階調の組み合わせであってもよい。グレーの階調もまた、RGB又はCMYと共にデータブロックの中で用いることができる。他の適当な色のセットを用いることも可能である。各々の色の階調値(グレーを含む)がデータ値を表す。
【0011】
「Color Barcode with Enhanced Capacity and Readability for a Closed Loop System」(代理人整理番号:75675.B048)と題された、本出願人の同時係属のUS特許に記載されているように、様々なハードウェア要素がデータ容量及びカラーバーコードの可読性を制限する。例えば、プリンタが名目上、1色につき8ビットの色データを印刷することができる(すなわち、256色の階調レベル)としても、スキャナは通常、プリンタにより印刷された色の256段階の濃さを正確に判定することはできない。前記同時継続の特許出願は、閉ループシステムで使用されるプリンタ及びスキャナのカラーレンダリング性能及び読取性能を検出する方法、並びに、バーコードのデータ容量及び可読性を最大化する手段として、所定の一組のプリンタ及び/又はスキャナのための再現可能な色階調値の最大数を有するカラーバーコードを提供する方法を記載している。バーコードが様々なプリンタモデル及びスキャナモデルで使用される場合、確実にレンダリングされ再度読み取られる色階調値の数は、より制限される。
【0012】
本発明の実施形態では、各々の色について予め決められた数の再現可能な色階調値が、データブロックのタイルとして用いられている。その数は色によって異なってもよい。例えば、4つの再現可能な赤の階調が用いられる場合、バーコードエンコーダは、4つの再現可能な階調値のうちの一つを有する赤タイルをレンダリングすることになる。レンダリングされたタイルが印刷され、走査されると、走査されたタイルの色階調値がレンダリングされた値から外れることがある。しかし、レンダリングされた色階調値の各々の周辺範囲に収まる。このように、再現可能な階調値を認識しておくことで、タイルにおいてエンコードされた色階調値を正確に再現することが可能となる。各々のタイルによって表された利用可能なデータ値の数(すなわち、タイルのデータ容量)は、すべての色の再現可能な階調値の数の合計である。例えば、R,G及びBの色が用いられ(すなわち、色の組み合わせはない)、その色がそれぞれ4つ,5つ及び6つの再現可能な階調値を含む場合には(白を除く)、各々のタイルは16つの利用可能な値(白を含む)、つまり4ビットのデータを表すだろう。確実にレンダリングされ、再現されることが可能な、実際の階調数は、ハードウェア要素に依存するだろう。しかし、十分に低い数の再現可能な階調値であれば、カラーバーコードが大部分のプリンタ及びスキャナにより使用できることが保証されるだろう。
【0013】
再び図1(a)〜(e)を参照すると、2次元カラーバーコード10の境界は、多数のコーナーマーカー13a〜d及びブロックセパレータ14a〜bにより決められている。図1(a)及び図1(c)に示すように、左上コーナーマーカー13aは、左側及び上部から構成ブロックに隣接する黒タイルの縦列及び横列から構成されている。他の3つのコーナーマーカー13b〜dの各々は、カラーバーコード10の隅に位置する一つの黒タイルによって構成されている。前記左上コーナーマーカーは、他の3つと相違する特別なコーナーマーカーである。多数のブロックセパレータ14a及び14bは、各々黒タイルで構成されており、2次元バーコード10の四辺に沿って複数のコーナーマーカーの間に配置され、データブロックの長さ寸法ずつ間隔があけられている。横の辺に沿っているブロックセパレータは、データブロックの左端の縦列と一直線になり、縦の辺に沿っているブロックセパレータは、データブロックの上端の一列と一直線になる。図1(a)及び図1(c)に示す例では、左上のコーナーマーカー13aの黒タイルの縦列及び横列は、隣接するブロックセパレータ14aから一つの白タイルによって隔てられるように、下方及び左方に延在している。これは、黒タイルの縦列及び横列の長さ寸法が構成ブロック(及びデータブロック)の大きさ寸法と等しいことを意味している。少なくとも一つのタイルの幅寸法を有する白い空白(境界)は、コーナーマーカー13a〜d及びブロックセパレータ14a〜bの外部で、バーコード10を囲むように設けられている。
【0014】
バーコードデコーダが2次元カラーバーコード10を読み取ると、左上のコーナーマーカー13aは、図1(a)に示すパターンのような、黒タイルの縦列及び横列の予め設定されたパターンを検索することにより、認証されることができる。予め設定されたタイルのパターンは、左上のコーナーマーカー13aに隣接するブロックセパレータ14aを任意で含むことができる(図1(c)参照)。なお、前記構成ブロックは、構成ブロックの左上のタイルが白となるように設計してもよく、この白タイルは任意で、予め設定される左上のコーナーマーカー13aを示すパターンの一部とされてもよい(図1(c)参照)。他の3つのコーナーマーカー13b〜dは、図1(d)に示すタイルパターンを検索することにより認証される。図1(d)では、黒い四角がコーナーマーカータイルを表し、「C」と表示された四角が色タイルを表しており、黒タイルの周りの残りのタイルは白である。前記ブロックセパレータは、図1(e)に示すパターンを検索することにより認証されることができる。図1(e)では、黒い四角がブロックセパレータタイルを表し、「C」と表示された四角が色タイルを表し、「B」と表示されたタイルが黒又は白タイルを表し、黒タイルの周りのタイルが白である。左上のコーナーマーカー13aの近くに位置する2つのブロックセパレータ14aの各々は2つの隣接する色タイルと、一つの隣接する黒又は白タイルを有するという点に注意されたい。また、左上のコーナーマーカー13aから更に離れて位置するブロックセパレータ14bの各々は3つの隣接する色タイルを有するという点に注意されたい。
【0015】
タイルの大きさ寸法(すなわち、X及びY方向における長さ寸法)及びブロックごとのタイルの数は、デコーダにおいて既知の予め設定された値とすることができる(例えば、1タイルにつき0.01’’(0.01インチ)×0.015’’(0.015インチ),1ブロックにつき8×8タイル)。あるいは、タイルの大きさ寸法及び/又はブロックごとのタイルの数は、左上のコーナーマーカー13aのパターンを解析することにより取得することもできる。例えば、左上のコーナーマーカーにおける黒タイルの縦列の幅寸法は前記タイルの幅寸法と等しく、黒タイルの横列の高さ寸法(height)は前記タイルの高さ寸法に等しい。タイルの高さ寸法で除算された黒タイルの縦列の高さ寸法はY方向のブロックごとのタイルの数と等しく、タイルの幅寸法で除算された黒タイルの横列の幅寸法はX方向のブロックごとのタイルの数と等しい。あるいは、予め設定された値を、ブロックごとのタイルの数として用いることも可能である(例えば、図1(a)の例における「8×8」)。また、タイルの高さ寸法及び幅寸法は、黒タイルの横列の高さ寸法及び幅寸法並びに黒タイルの縦列の高さ寸法及び幅寸法から、より確実に計算することができる。
【0016】
図示された例において、構成ブロック及び特別なコーナーマーカー(他の3つと異なるもの)は、2次元バーコードの左上隅に位置している。これは、一般的に印刷された原稿は、平台又は原稿送り装置と一体のスキャナにおいて左から右へ、上から下へ走査されるため、便宜である。あるいは、好ましいという点では劣るが、特別なコーナーマーカー及び構成ブロックの相対的な位置及び配置が慣例により予め設定されているのであれば、特別なコーナーマーカー及び構成ブロックは他方の隅に位置してもよく、また、特別なコーナーマーカー及び構成ブロックはそれぞれ異なる隅に位置してもよい。
【0017】
図1(a)に示すように、2次元バーコード(複数のコーナーマーカー及び複数のブロックセパレータタイルを含む)は、(横(X)方向及び縦(Y)方向において)一つのタイルと同じ幅方向を有する白い境界によって4辺を囲まれている。このように、この例では、タイル数による2次元カラーバーコードのX(又はY)寸法の合計は、X(又はY)方向におけるブロックごとのタイルの数に、X(又はY)方向におけるブロックの数(構成ブロックを含む)を乗じて4を足した数と等しい。図示された例において、各々のデータブロックは8×8のタイルを含んでいる。各々の色タイルが4ビットのデータをエンコードするとすれば、各々のデータブロックは32バイトのデータをエンコードする。バーコードが200dpiの解像力で印刷され又は200dpiの画像に組み込まれ、各々のタイルが横(Xの寸法で)2ピクセル(又はドット)、縦(Yの寸法で)3ピクセルの大きさ寸法であるとすれば、横が約1’’(1インチ)、縦が約1’’(インチ)の大きさ寸法のバーコードは、12×7−1のデータブロックを含み、2656バイトのデータをエンコードするだろう。
【0018】
構成ブロックは、2次元バーコードの様々なパラメータを特定するものであり、パラメータは以下を含んでいる。
(1)複数の赤タイルの色階調値の数
(2)複数の緑タイルの色階調値の数
(3)複数の青タイルの色階調値の数
(4)X方向におけるデータブロックの数
(5)Y方向におけるデータブロックの数
(6)タイムスタンプ、エラー訂正、色訂正などのメタデータ
【0019】
図1(a)に示す例では、R,G及びBの色階調の数は1から255に及び、それぞれが「R」,「G」及び「B」と表示されたタイルと、左上隅の白タイル(「1」を表している)とによって表されている。X及びY方向におけるデータブロックの数も、1から255に及び、「NUMXBLOK」及び「NUMYBLOK」と表示されたタイルによって表されている。メタデータは「METADATA」と表示されたタイルにより表される。
【0020】
上記の図示された例では、構成情報は、各々の色(R,G及びB)において再現可能な色階調値の数を特定することにより、再現可能な色階調値を特定する。前記階調値自体は、デコーダにより、再現可能な階調値の数に基づいて、各々の色の階調(例えば、0から255)の範囲全体をより小さな階調の範囲に分割することにより決定される。これにより、スキャナがバーコードのレンダラー(renderer)より小さい色深度を有する場合にも、デコーダが色階調を正確に再現することが可能となる。あるいは、構成ブロックにおいてより多くのビットを要することになるかもしれないが、構成情報が色階調値を明確に特定してもよい。
【0021】
一つの実施形態では、各々の色タイルのすべてのピクセルが同じ色階調値を有している。別の実施形態では、各々の色タイルは、白い(無色の)境界によって囲まれた同じ色階調値の色部分を含んでいる。このような白い境界によって、プリンタトナーの散乱やCCD画像化の過程から生じうるエッジ部分の滲み(bleeding)によるアーチファクトを低減することにより、色タイルの再現性を高めることができる。白い境界を用いることは、タイルの大きさ寸法の増大を要するかもしれない。例えば、各々のタイルが6×4ピクセルの色部分を有し、白い境界の幅寸法をX方向において1ピクセル、Y方向において2ピクセルとすれば、タイルの大きさ寸法は8×8ピクセルとなる。白い境界を色タイルにおいて使用する場合、白い境界の(X及びY方向各々における)幅寸法は構成ブロックにおいて特定され、当該幅寸法はデコーダがタイルの色値を正確に検出するために利用される。白のピクセルは、タイルの4辺すべてに配置することが可能あり、又は、隣接する複数のタイルの色部分を分割するのと同様の効果を有するように隣接する2辺に配置することが可能である点に留意されたい。
【0022】
上述した実施形態では、各々の色タイルが有することのできる色は制限されていない。言い換えれば、各々のタイルは、いずれかの色の再現が可能な階調値のうち、いずれか一つを有することができる。他の実施形態では、データブロックにおけるタイルの色は、隣接するタイル(共通の境界を分かち合っているタイル)が異なる色を有するように配列される。すなわち、2つの赤タイル、2つの緑タイル、2つの青タイルが互いに隣り合うことはできない。例えば、複数のタイルは、各々のデータブロックの横列最上段がR,G,B,R,G,B・・・、前記横列の2段目がB,R,G,B,R,G、前記横列の3段目がG,B,R,G,B,R・・・等となるように配列することが可能である。各々の色タイルは、決められた色についての再現可能な階調値のうちの一つを有することができる。このような制約は各々のタイルのデータ容量を低減するものの、色タイルの再現性を高める。これは、隣接するタイルが異なる色(R,G又はB)を有すると、タイルがどこから始まりどこで終わるかを決定することが容易となるためである。他方、R=128及びR=250の2つの隣接するタイルが印刷され、走査されるとすると、各々のタイルの部分は、隣接するタイルに近い値で像が取得されるおそれがある。隣接する複数のタイルが異なる色を有するように制限すれば、隣接する複数のタイルの色階調の相違がより明白となるだろう。
ここでは2次元バーコードの例が示され、詳細に説明されるが、本発明はこのような特定の詳細な記述に限定されるものではない点に留意されたい。
【0023】
本発明の実施形態による2次元バーコードの利点には、データ容量の増加及び/又はバーコードの物理的大きさの低減、及び信頼性のある色階調値の再現が含まれる。
図2及び3は、それぞれ本発明の実施形態に従った、2次元カラーバーコードの生成方法及び2次元カラーバーコードでコード化されたデータの再現方法を示している。バーコードの生成方法及びデータ再現方法は、それぞれ、一つ以上のプロセッサ及びプロセッサにより実行されるソフトウェアを有するデータ処理システムにおいて実施されることが可能である。図2及び3に記載され、示されるステップは、図面に示される特定の順序で実行される必要はない点に注意されたい。
【0024】
図2に示されるように、2次元カラーバーコードの生成過程において、データ処理装置は、入力データを取得してビットストリーム(bit stream)の形式にエンコードし(ステップS21)、更に、赤、緑及び青タイルの再現可能な色階調値の数及び所望のメタデータを含むバーコード構成情報を取得する(ステップS22)。入力データは、テキスト文書、画像、グラフィックなどの種々のソースに由来するものでよく、圧縮、暗号化などの所望の処理を施される。構成情報に基づき、前記システムは、カラーバーコードのデータブロックごとのデータ容量(DCB,ビット単位)を決定する(ステップS23)。前記システムは、その後、入力データをエンコードするために必要とされるデータブロックの数を決定し(ステップS24)、X及びY方向で必要とされるブロックの数(NUMXBLOK及びNUMYBLOK)を決定する。この数が、バーコードのビットマップサイズを決定する(ステップS25)。構成ブロックと必要とされるデータブロックの数とが、NUMXBLOK×NUMYBLOKより少ないときは、ダミーブロック(例えば、すべて白、すべて黒、市松模様等)が空白を埋めるために使用され、2次元バーコードは矩形とされる。ステップS23〜S25は、2次元カラーバーコードの構成を決定するビットストリーム解析ステップである。
【0025】
ステップS25における決定に基づき、前記システムはバーコードビットマップメモリを前記バーコードのレンダリングのために割り当てる(ステップS26)。前記システムは、まず、複数の白黒タイルを備えた構成ブロックをレンダリングし、それをバーコードビットマップの左上隅に配置する(ステップS27)。構成ブロックは、赤、緑及び青タイルの再現可能な色階調値の数、X及びY方向におけるブロックの数並びにメタデータ等を含む構成情報をエンコードしている。その後、入力ビットストリームからセグメントデータが与えられ、色空間(color space)に変換される(ステップS28)。例えば、各々の色タイルが4ビットのデータをエンコードできるとすると、4ビットのセグメントデータの各々が、1タイルの色階調値に変換される。バーコードがそれぞれ4,5及び6つの再現可能なR,G及びB階調を使用する上述の例では、値0は白によって表され、値1〜4は赤の4つの階調によって表され、値5〜9は緑の5つの階調によって表され、値10〜15は青の6つの階調によって表されることができる。入力ビットストリームから得たセグメントデータの長さは、データブロックごとのデータ容量(DCB)である。あるいは、各々のデータブロックはブロック番号を含むことができ、この場合、入力ビットストリームから得たセグメントデータの長さはDCBからブロック番号を特定するために用いられるビット数を引いた値であり、ブロック番号ビットはデータセグメントの先端又は終端に挿入される。ブロック番号がデータブロックから省略された場合は、データブロックはバーコードにおいて予め設定された順で配置されることができ、デコーダはデータブロックをその順でデコードする。データセグメントを色空間に変換した後、前記システムはデータブロックをレンダリングし、それをバーコードビットマップの中に配置する(ステップS29)。ステップS28及びS29は、入力ビットストリーム中のすべてのデータがエンコードされるまで繰り返される。任意で、データ列の終端は、データの終端を示すため、最後のデータブロックにエンコードされてもよい。上記処理によりレンダリングされたバーコードイメージビットマップは、記憶され又は印刷されることができる。
【0026】
2次元カラーバーコードデータの再現方法を、図3を参照して述べる。まず、印刷された原稿が走査されてバーコードイメージビットマップが取得される。バーコードは、好ましくは、スキャナ若しくはプリンタ/コピー機/スキャナの複合機等の平台又は原稿送り装置を有するカラー読取装置によって走査される。あるいは、バーコードイメージビットマップは、記憶された原稿から取得されてもよい。データ処理装置(デコーダ)は、まず、バーコードの左上のコーナーマーカーを検出する(ステップS31)。この処理は、図1(c)に示すパターン及び上述したパターンのような予め設定された黒タイルパターンを認識することにより行うことができる。任意で、バーコードの周囲にある他の3つのコーナーマーカー及びブロックセパレータを同様に検出してもよい。前記システムは、その後、構成ブロックを分離する。構成ブロックは、左上コーナーマーカーに隣接して左上隅に位置し、既知の数の白黒タイルを含んでいる(例えば、8×8タイルなど)(ステップS32)。上述のように、タイルの大きさ寸法及びブロックごとのタイルの数は固定値としてもよく、エンコーダが左上コーナーマーカーを解析することにより決定してもよい。構成ブロックにおいてエンコードされたバーコード構成情報は、抽出され、デコードされる(ステップS33)。前記システムは、ビットストリームメモリをビットストリーム全体に割り当てる(ステップS34)。
【0027】
構成情報に基づき、バーコードイメージビットマップは、各々が定数(8×8タイル等)のタイルを含む色データブロックごとの個々のビットマップに分割され、個々のブロックは待ち行列に配置される(ステップS35)。複数のコーナーマーカー及び複数のブロックセパレータは、その分割のために用いることができ、分割の精度を高める。例えば、それらは隣のデータブロックの開始点を確定することができる。待ち行列中の各々の色データブロックごとに、各々のタイルから色値が抽出される(ステップS36)。各々のタイルの色は、タイルにおける走査されたすべてのピクセルの色値を平均することにより決定される。データブロックから再現された色データは、各々の色値をデータ値に変換することにより、ビットストリームに変換される(ステップS37)。ブロック番号がデータブロックに追加されている場合は、その値が抽出され、その値を表すビットがビットストリームから除かれる。データブロックから再現されたビットストリームは、その後、ビットストリームメモリのうち、ブロック番号により決定される位置、又は、ブロック番号が用いられない場合はバーコードにおけるデータブロックの位置により決定される位置に収められる(ステップS38)。ステップS36〜S38は、すべてのデータブロックについて処理がされるまで、色データブロック毎について繰り返される。最後のデータブロックは、データブロックのデータ列の特殊な終端を検出することにより検出することができる。
【0028】
他のバーコードデータ再現方法としては、まずバーコードの白黒走査が実行され、白黒構成ブロックから構成データを抽出する。その構成データに基づき、前記システムはスキャナがバーコードの色部分を読み取るのに十分な性能を有するか否かを判定する。次にカラー走査が実行され、バーコードにおいてエンコードされたデータを抽出する。同様の決定ステップが図3に示す方法のステップS33の後に含まれてもよい。
【0029】
上述の方法は、コンピュータ及びプリンタと、前記コンピュータに接続されたスキャナ及び/又は複合機を備えたデータ処理システムにおいて実施される。前記方法は、好ましくは、プリンタ、スキャナ及び/又は複合機のプロセッサにより、若しくはコンピュータにより、又はその双方により実行されるソフトウェアによって実施される。例えば、プリンタに接続されたコンピュータは、ソフトウェアプログラムを実行して2次元カラーバーコードを生成し、それを印刷される原稿に組み込み、その原稿を印刷のためプリンタ又は複合機に送る。実際の印刷は、いかなる適切な方法によっても実現可能である。同様に、原稿の走査は、スキャナ又は複合機によりいかなる適切な方法によっても実現可能である。また、スキャナに接続されたコンピュータは、ソフトウェアプログラムを実行してカラーバーコードを検出し、エンコードされたデータを抽出することが可能である。
【0030】
図1(a)〜(e)に示す本発明の好ましい実施形態で、複数の矩形のタイルを有する2次元バーコードを用いたが、本発明は複数の矩形でないタイルを有する2次元バーコードに適用してもよい。
【0031】
本発明の趣旨を逸脱しない範囲で、本発明の選択的な画像のエンコード及び置換方法並びに装置に種々の改良及び変更が加えられうることは、当業者にとって明らかである。このように、本発明は、添付の特許請求の範囲及びそれに均等な範囲内である改良又は変更に及ぶことが意図されている。

【特許請求の範囲】
【請求項1】
2次元カラーバーコードであって、
複数の白黒タイルを含む構成ブロックと、
複数の色タイルを含む少なくとも一つのデータブロックと、を備え、前記色タイルの各々は、データ値を表す色階調値を有し、前記色階調値は予め設定された複数の再現可能な色階調値のうちの一つであり、
前記構成ブロックは前記2次元カラーバーコードの構成情報をエンコードし、前記構成情報は前記データブロックの前記色タイルで用いられる前記再現可能な色階調値の数を特定する2次元カラーバーコード。
【請求項2】
前記構成情報は、更に、前記バーコードの横方向における前記データブロックの数を特定し、また、前記バーコードの縦方向における前記データブロックの数を特定する請求項1の2次元カラーバーコード。
【請求項3】
前記データブロックの前記色タイルの各々は、赤、緑又は青色の色階調値を有しており、前記構成情報は、前記赤色階調値の数、前記緑色階調値の数、前記青色階調値の数を特定する請求項1又は2の2次元カラーバーコード。
【請求項4】
前記データブロックの前記色タイルの各々は、シアン、マゼンタ又は黄色の色階調値を有しており、前記構成情報は、前記シアン色階調値の数、前記マゼンタ色階調値の数、前記黄色階調値の数を特定する請求項1又は2の2次元カラーバーコード。
【請求項5】
前記構成ブロックは前記バーコードの隅に位置しており、前記バーコードは、前記構成ブロックに隣接する第1のコーナーマーカーを更に備える請求項1〜4の何れか一項の2次元カラーバーコード。
【請求項6】
前記第1のコーナーマーカーは、黒タイルの横列及び縦列を有する請求項5の2次元カラーバーコード。
【請求項7】
前記バーコードの他の3隅に位置する3つの第2のコーナーマーカーと、前記バーコードの一つ以上の辺に沿って位置する複数のブロックセパレータとを更に備える請求項5又は6の2次元カラーバーコード。
【請求項8】
前記第2のコーナーマーカー及び前記ブロックセパレータの各々は黒タイルである請求項7の2次元カラーバーコード。
【請求項9】
前記データブロックの前記タイルの各々は、色部分と、前記タイルの少なくとも2つの隣接する辺における無色の境界とを有する請求項1〜8の何れか一項の2次元カラーバーコード。
【請求項10】
前記データブロックにおいて隣接する前記色タイルは異なる色を有する請求項1〜9の何れか一項の2次元カラーバーコード。
【請求項11】
2次元カラーバーコードの生成方法であって、
(a)前記2次元カラーバーコードにおいてエンコードされる入力データを取得するステップと、
(b)前記カラーバーコードで用いられる複数の色の再現可能な色階調値の数を特定する構成情報を取得するステップと、
(c)複数の白黒タイルを含む構成ブロックをレンダリングするステップであって、前記構成ブロックは前記再現可能な色階調値の数を特定する構成情報をエンコードしているステップと、
(d)複数の色タイルを含む少なくとも一つのデータブロックをレンダリングするステップであって、前記色タイルの各々はデータ値を表す色階調値を有し、前記色階調値は前記複数の再現可能な色階調値の一つであるステップと、
を含む2次元カラーバーコードの生成方法。
【請求項12】
(e)前記構成情報に基づき、前記データブロックの各々のデータ容量を決定するステップと、
(f)前記入力データ及び前記データブロックの各々の前記データ容量に基づき、前記入力データをエンコードするために必要な前記データブロックの数と、前記バーコードの横方向における前記データブロックの数及び縦方向における前記データブロックの数とを決定するステップと、を更に含み、
前記ステップ(c)において、前記構成ブロックは、更に、前記横方向及び縦方向における前記データブロックの数を特定する構成情報をエンコードしている請求項11の方法。
【請求項13】
前記データブロックの前記色タイルの各々は、赤、緑又は青色の色階調値を有し、前記ステップ(c)において、前記構成情報は、前記赤色階調値の数、前記緑色階調値の数、前記青色階調値の数を特定する請求項11又は12の方法。
【請求項14】
前記データブロックの前記色タイルの各々は、シアン、マゼンタ又は黄色の色階調値を有し、前記ステップ(c)において、前記構成情報は、前記シアン色階調値の数、前記マゼンタ色階調値の数、前記黄色階調値の数を特定する請求項11又は12の方法。
【請求項15】
前記構成ブロックは前記バーコードの隅に位置し、
(g)前記構成ブロックに隣接する第1のコーナーマーカーをレンダリングするステップと、を更に含む請求項11〜14の何れか一項の方法。
【請求項16】
前記第1のコーナーマーカーは、黒タイルの横列及び縦列を有する請求項15の方法。
【請求項17】
(h)前記バーコードの他の3隅に位置する3つの第2のコーナーマーカーをレンダリングするステップと、
(i)前記バーコードの一つ以上の辺に沿って位置する複数のブロックセパレータをレンダリングするステップと、
を更に含む請求項15又は16の方法。
【請求項18】
前記第2のコーナーマーカー及び前記ブロックセパレータの各々は黒タイルである請求項17の方法。
【請求項19】
前記データブロックの前記タイルの各々は、色部分と、前記タイルの少なくとも2つの隣接する辺における無色の境界とを有する請求項11〜18の何れか一項の方法。
【請求項20】
前記データブロックにおいて隣接する前記色タイルは異なる色を有する請求項11〜19の何れか一項の方法。
【請求項21】
データ処理システムを制御するためのコンピュータにより読み取り可能なプログラムコードを有し、前記データ処理システムに2次元カラーバーコードの生成工程を実行させるためのプログラムであって、
前記生成工程は、
(a)2次元カラーバーコードにおいてエンコードされる入力データを取得するステップと、
(b)前記カラーバーコードで用いられる複数の色の再現可能な色階調値の数を特定する構成情報を取得するステップと、
(c)複数の白黒タイルを含む構成ブロックをレンダリングするステップであって、前記構成ブロックは前記再現可能な色階調値の数を特定する構成情報をエンコードしているステップと、
(d)複数の色タイルを含む少なくとも一つのデータブロックをレンダリングするステップであって、前記色タイルの各々はデータ値を表す色階調値を有し、前記色階調値は前記複数の再現可能な色階調値の一つであるステップと、
を含むプログラム。
【請求項22】
(e)前記構成情報に基づき、前記データブロックの各々のデータ容量を決定するステップと、
(f)前記入力データ及び前記データブロックの各々の前記データ容量に基づき、前記入力データをエンコードするために必要な前記データブロックの数と、前記バーコードの横方向における前記データブロックの数及び縦方向における前記データブロックの数とを決定するステップと、を更に含み、
前記ステップ(c)において、前記構成ブロックは、更に、前記横方向及び縦方向における前記データブロックの数を特定する構成情報をエンコードしている請求項21のプログラム。
【請求項23】
前記データブロックの前記色タイルの各々は、赤、緑又は青色の色階調値を有し、前記ステップ(c)において、前記構成情報は、前記赤色階調値の数、前記緑色階調値の数、前記青色階調値の数を特定する請求項21又は22のプログラム。
【請求項24】
前記データブロックの前記色タイルの各々は、シアン、マゼンタ又は黄色の色階調値を有し、前記ステップ(c)において、前記構成情報は、前記シアン色階調値の数、前記マゼンタ色階調値の数、前記黄色階調値の数を特定する請求項21又は22のプログラム。
【請求項25】
前記構成ブロックは前記バーコードの隅に位置し、
(g)前記構成ブロックに隣接する第1のコーナーマーカーをレンダリングするステップと、を更に含む請求項21〜24の何れか一項のプログラム。
【請求項26】
前記第1のコーナーマーカーは、黒タイルの横列及び縦列を有する請求項25の方法。
【請求項27】
(h)前記バーコードの他の3隅に位置する3つの第2のコーナーマーカーをレンダリングするステップと、
(i)前記バーコードの一つ以上の辺に沿って位置する複数のブロックセパレータをレンダリングするステップと、
を更に含む請求項25又は26の何れか一項の方法。
【請求項28】
前記第2のコーナーマーカー及び前記ブロックセパレータの各々は黒タイルである請求項27の方法。
【請求項29】
前記データブロックの前記タイルの各々は、色部分と、前記タイルの少なくとも2つの隣接する辺における無色の境界とを有する請求項21〜28の何れか一項の方法。
【請求項30】
前記データブロックにおいて隣接する前記色タイルは異なる色を有する請求項21〜29の何れか一項の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2013−93061(P2013−93061A)
【公開日】平成25年5月16日(2013.5.16)
【国際特許分類】
【出願番号】特願2013−28594(P2013−28594)
【出願日】平成25年2月18日(2013.2.18)
【分割の表示】特願2007−101388(P2007−101388)の分割
【原出願日】平成19年4月9日(2007.4.9)
【出願人】(507031918)コニカ ミノルタ ラボラトリー ユー.エス.エー.,インコーポレイテッド (157)
【Fターム(参考)】