(57)【特許請求の範囲】
【請求項１】
取り込まれたカラーバーコード画像内の２次元のカラーバーコードの処理方法であって、
前記バーコードは、複数のカラーデータセル、およびそれぞれが複数の黒画素で形成された複数のロケーターを含む既知のレイアウトを有し、前記ロケーターは前記バーコード全体にわたって異なる位置に配置されており、
前記カラーバーコード画像をグレースケールバーコード画像に変換するステップと、
複数の２値画像を生成するため、毎回複数の異なる２値化閾値のうちの１つを用い、複数回、前記グレースケールバーコード画像を２値化処理するステップと、
各２値画像内の前記ロケーターを識別し、該ロケーターの位置を判定するステップと、
前記ロケーターの結合リストを生成するため、前記複数の２値画像内で識別された前記ロケーターを結合するステップと、
を含み、
前記２値化処理するステップの前に、さらに、
グレースケール画像の最大および最小輝度を判定するステップと、
前記最大および最小輝度に基づいて、複数の前記２値化閾値を計算するステップと、
を含む処理方法。
【請求項２】
前記ロケーターは、同心の四角形であり、
各２値画像内の前記ロケーターを識別するステップは、所定の範囲内の水平方向の連続した黒および白画素のランレングス間の比率を識別するステップを含む、請求項１に記載の処理方法。
【請求項３】
各２値画像内の前記ロケーターを識別するステップは、さらに、
前記ロケーターが可能な位置としての複数の候補位置を識別するステップと、
前記複数の候補位置のそれぞれに対して、前記候補位置の周囲の輪郭を識別し、前記候補位置が前記バーコードのロケーターの位置であるか判定するため、前記輪郭を解析するステップと、を含む、請求項２に記載の処理方法。
【請求項４】
取り込まれたカラーバーコード画像内の２次元のカラーバーコードの処理をデータ処理装置に実行させるように、前記データ処理装置を制御するためのコンピュータープログラムであって、
前記バーコードは、複数のカラーデータセル、およびそれぞれが複数の黒画素で形成された複数のロケーターを含む既知のレイアウトを有し、前記ロケーターは前記バーコード全体にわたって異なる位置に配置されており、
前記処理は、
前記カラーバーコード画像をグレースケールバーコード画像に変換するステップと、
複数の２値画像を生成するため、毎回複数の異なる２値化閾値のうちの１つを用い、複数回、前記グレースケールバーコード画像を２値化処理するステップと、
各２値画像内の前記ロケーターを識別し、該ロケーターの位置を判定するステップと、
前記ロケーターの結合リストを生成するため、前記複数の２値画像内で識別された前記ロケーターを結合するステップと、
を含み、
前記２値化処理するステップの前に、さらに、
グレースケール画像の最大および最小輝度を判定するステップと、
前記最大および最小輝度に基づいて、複数の前記２値化閾値を計算するステップと、
を含むコンピュータープログラム。
【請求項５】
前記ロケーターは、同心の四角形であり、
各２値画像内の前記ロケーターを識別するステップは、
所定の範囲内の水平方向の連続した黒および白画素のランレングス間の比率を識別するステップを含む、請求項４に記載のコンピュータープログラム。
【請求項６】
各２値画像内の前記ロケーターを識別するステップは、さらに、
前記ロケーターが可能な位置としての複数の候補位置を識別するステップと、
前記複数の候補位置のそれぞれに対して、前記候補位置の周囲の輪郭を識別し、前記候補位置が前記バーコードのロケーターの位置であるか判定するため、前記輪郭を解析するステップと、
を含む、請求項５に記載のコンピュータープログラム。
【請求項７】
請求項４〜６のいずれか１項に記載のコンピュータープログラムを記録したコンピューター読み取り可能な記録媒体。
【請求項８】
取り込まれたカラーバーコード画像内の２次元のカラーバーコードを処理するデータ処理装置であって、
前記バーコードは、複数のカラーデータセル、およびそれぞれが複数の黒画素で形成された複数のロケーターを含む既知のレイアウトを有し、前記ロケーターは前記バーコード全体にわたって異なる位置に配置されており、
前記データ処理装置は、
前記カラーバーコード画像をグレースケールバーコード画像に変換する変換部と、
複数の２値画像を生成するため、毎回複数の異なる２値化閾値のうちの１つを用い、複数回、前記グレースケールバーコード画像を２値化処理する２値化処理部と、
各２値画像内の前記ロケーターを識別し、該ロケーターの位置を判定する識別部と、
前記ロケーターの結合リストを生成するため、前記複数の２値画像内で識別された前記ロケーターを結合する結合部と、
を備え、
前記２値化処理部は、グレースケール画像の最大および最小輝度を判定し、前記最大および最小輝度に基づいて、複数の前記２値化閾値を計算する、データ処理装置。
【請求項９】
前記ロケーターは、同心の四角形であり、
前記２値化処理部は、所定の範囲内の水平方向の連続した黒および白画素のランレングス間の比率を識別する、請求項８に記載のデータ処理装置。
【請求項１０】
前記２値化処理部は、さらに、
前記ロケーターが可能な位置としての複数の候補位置を識別し、
前記複数の候補位置のそれぞれに対して、前記候補位置の周囲の輪郭を識別し、前記候補位置が前記バーコードのロケーターの位置であるか判定するため、前記輪郭を解析する、請求項９に記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２次元（２Ｄ）カラーバーコードの設計およびデコードに関し、特に、カメラベースアプリケーションの２Ｄカラーバーコードの設計およびデコードに関する。
【背景技術】
【０００２】
バーコードは、光学的に機械可読なデータの表現である。２Ｄカラーバーコードは、例えば水平および垂直の２方向で２次元的に配置された小さな正方形または長方形のセルで形成され、各セルは１つの色を使用する。異なる色は、異なるデータ値を表す。バーコードのデータ容量と、セル数および色数との関係は、
データ容量＝（セル数）×ｌｏｇ２（色表示数）  で表現できる。
【０００３】
小サイズセルおよびより多くの色表示を使用するバーコード設計では、一定の領域内において比較的高い容量を実現できる。しかしながら、セルの小型化は、様々な要因により制限される。
【０００４】
２Ｄカラーバーコードが用紙上に印刷されるか携帯機器の画面などの表示画面上に表示され、そして（平台型スキャナーと対立するものとしての）カメラベースのバーコードリーダーに読み取られた場合、透視投影および不均一な照明がバーコードのデコードへの課題を与える。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
したがって、本発明は従来技術の制限および不利益による１つ以上の課題を大幅に回避する、２Ｄカラーバーコードを処理する方法およびこれに関する装置を対象とする。
本発明の目的は、バーコード画像中のロケーターの位置を正確に識別する方法を提供することである。
【０００６】
本発明の他の目的は、カメラベースのバーコードリーダーにより取り込まれたバーコード画像への透視投影および不均一照明への補正を提供することである。
【０００７】
本発明の追加的な特徴および利点は、以下の明細書に記載され、その一部は明細書から明らかになるか、本発明の実施により知ることができるであろう。
本発明の目的および他の利点は、明細書の記載、特許請求の範囲、および添付の図面で詳しく示された構造により理解し、達成できる。
【課題を解決するための手段】
【０００８】
これらの目的および／または他の目的を達成するため、具現化および広く記載されているように、本発明は、取り込まれたカラーバーコード画像中の２次元カラーバーコードの処理方法を提供する。前記バーコードは、複数のカラーデータセル、およびそれぞれが複数の黒画素で形成された複数のロケーターを含む既知のレイアウトを有し、前記ロケーターは前記バーコード全体にわたって異なる位置に配置されており、前記方法は、前記カラーバーコード画像をグレースケールバーコード画像に変換するステップと、複数の２値画像を生成するため、毎回複数の異なる２値化閾値のうちの１つを用い、複数回、前記グレースケールバーコード画像を２値化処理するステップと、各２値画像内の前記ロケーターを識別し、該ロケーターの位置を判定するステップと、前記ロケーターの結合リストを生成するため、前記複数の２値画像内で識別された前記ロケーターを結合するステップと、を含む。
【０００９】
他の態様では、本発明は、コンピュータープログラム、およびデータ処理装置用のコンピュータープログラムを格納したコンピューターが読み取り可能な記録媒体（例えばメモリまたは記憶装置）を提供する。このコンピュータープログラムは、上述の方法をデータ処理装置に実行させるように構成される。
【００１０】
上述の一般的な説明および以下の詳細な説明は、具体的で例示的であり、特許請求の範囲に記載された本発明のさらなる説明を提供することを意図すると理解される。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係るカラーバーコードのレイアウトを示す図である。
【図２】本発明の実施形態に係るバーコード画像処理方法を概略的に示す図である。
【図３】図３Ａは、バーコード画像の一例を示す図である。図３Ｂから図３Ｅは、図３Ａのバーコード画像から、異なる２値化閾値を用いて生成された複数の２値画像を示す図である。
【図４】本発明の実施形態に係る２値画像内のロケーターを識別する方法を概略的に示す図である。
【図５】本発明の実施形態を実装できるデータ処理装置を概略的に示す図である。
【発明を実施するための形態】
【００１２】
本発明の一態様は、記録媒体上に印刷され、または携帯機器の画面に表示されるであろう２Ｄバーコードのレイアウト設計である。本発明の他の態様は、カメラを通じて取り込まれた画像からの２Ｄカラーバーコードのデコードに適したデコード処理およびアルゴリズムである。２Ｄバーコードの設計は、カメラで取り込まれたバーコード画像からの処理およびデコードを容易にする特徴を含んでいる。
【００１３】
図１は、本発明の実施形態に係るカラーバーコードの一例のレイアウトを示す。カラーバーコードは、２次元配列を形成する複数のデータセル１１を含み、各セルは複数の色のうちの一つを有する。好ましい実施形態では、複数の色はシアン（Ｃ）、マゼンタ（Ｍ）、白（Ｗ）（すなわち非印字）、および黒（Ｋ）である。各セルは２ビットの情報を表すことができる。ＣＭＹＫは一般のプリンタで用いられる原色であり、それらの各々は１つのカラーインクで印刷され、カラーチャネルと呼ばれる。図１のカラーバーコードのレイアウトでは、原色イエロー（Ｙ）は白（Ｗ）、すなわち非印字セルに置き換えられている。したがって、バーコード内の各セルは、１つのインクで印刷されるか、印刷されない、また各セルの色は均一である。各セルは規定サイズを有し、これらは規定の距離で隔てられている。好ましくは、セルは四角形で、グリッド上の垂直および水平方向に整列された行と列を形成し、この行の間隔と列の間隔が等しい。一の具体例では、セルサイズは、３×３画素で、セル間の間隔（余白の幅）は水平および垂直の両方向で２画素である。この例では、グリッドは正方形グリッドになる。これに代えて、グリッドを長方形グリッドとしてもよい。
【００１４】
バーコードは、バーコードの内側だけでなく、バーコードの４隅、およびバーコードの境界に沿って複数のロケーター１２を有する。図示の例では、１６個のロケーター１２が設けられ、４×４配列を形成している。４個のロケーターは隅に、８個は境界に沿って、４個は内部に配置されている。後述するように、ロケーター１２は、画像処理およびデコードを補助するため、バーコード全体内で基準位置を与えうる。ロケーターは、好ましくは黒でありデータセルよりも実質的に大きい、これによりそれらを画像中で比較的容易に識別させる。図示の具体例では、各ロケーターは、余白およびその次の黒の境界で囲まれる塗りつぶした正方形で構成される。正方形は１３×１３画素（すなわち、３列および３行のデータセルと同じ幅）である。余白は７画素幅（すなわち、データセル領域で列または行のデータセルを除去した余白と同じ）である。黒の境界は３画素幅（すなわち、データセルと同じ幅）である。したがって、各ロケーター１２は、３３×３３画素のサイズでありデータセル配列中の７×７のデータセルと同等の面積を占める。
【００１５】
バーコードは、バーコードの４本の境界に沿ってロケーター間に配置された複数の境界基準セル１３も含む。境界基準セル１３は、シアン、マゼンタおよび黒の基準セルを含み、これらは所定の色順、例えば図示の例のようにＣ、Ｍ、Ｋを繰り返す順で配列される。換言すれば、各境界基準セルは既知である。この基準セルは、デコード処理に有用な（全体的および局所的）チャネルオフセット情報および色情報を与える。一実施形態では、境界基準セル１３は、データセル１１と同一サイズを有することから、これらの基準セルの色濃度はデータセルと同様になる。
【００１６】
境界基準セル１３の潜在的重複を避けるために、境界基準セル１３は、互いに、ロケーター１２から、およびデータセル１１から、データセル配列内側のセル間隔よりも大きな距離だけ離れている。図示の例では、２つの隣接する基準セル間、および基準セルとその隣のデータセル間の間隔（余白）は７画素である（すなわち、データセル領域で列または行のデータセルを除去した余白と同じ）。ロケーター１２と、隣りの境界基準セル１３は、この距離またはこれよりも大きな距離だけ離れている。
【００１７】
バーコードは非対称に設計されてもよく、これにより４隅の４つのロケーターのうちの１つを他と区別でき、デコード処理に有用である。これはいかなる適切な手段により達成してもよい。例えば、１つのロケーターを他とは異なる形状にする。異なるまたは非対称の色順の境界沿い基準セルを用いることで、バーコードの設計に非対称が盛り込まれてもよい。バーコード等のデータ長およびＥＣＣをエンコードした検査セルのような追加の特徴がバーコードの設計に盛り込まれてもよい。
【００１８】
ある特定の例では、バーコード用のグリッドは、１２４列、１２４行である。余白、ロケーター、および基準セルを除くと、各バーコードでは、約１３５００のデータセルを情報の蓄積に用いることができる。複数のバーコードを、その間の余白、例えば２０画素とともに、同一のページ上に互いに隣接して配置することができる。プリント解像度６００ｄｐｉ用のバーコードは、約１．０５×１．０５平方インチを占める。したがって、７×１０個までのバーコードをレターサイズのページ上に配置できる。
【００１９】
上述した設計のバーコードを処理するためのバーコード画像処理方法を、図２を参照して、以下に説明する。最初に、バーコード画像を取り込む（ステップＳ１０１）。上述のレイアウト設計を有するバーコードは、用紙上に印刷されるか携帯機器の画面などの表示画面に表示される。このステップでは、カラー画像のバーコード画像は、典型的には、カメラベースのバーコードリーダーまたはカメラの前に保持した印刷用紙または画面が、このカメラまたはバーコードリーダーを用いて取り込まれる。当然ながらバーコード画像は、スキャナーを用いて取り込んでもよい。
【００２０】
取り込まれた画像はグレースケール画像に変換される（ステップＳ１０２）。
グレースケール画像の最大、最小輝度（画素値）を決定し、この最大、最小輝度値に基づいて、複数の２値化閾値を計算する（ステップＳ１０３）。ここで、撮像条件によって、取り込まれた画像中の余白すなわち白セル、および黒セルの画素値は、白と黒の理論値でない可能性がある。一の実施では、４つの２値化閾値が算出され、これらの値は最大輝度値と最小輝度値の間で一定の割合で分布する。その後、グレースケールのバーコード画像は、複数の２値化閾値を用いて複数回の２値化処理がなされ、複数のそれぞれの２値画像が生成される（ステップＳ１０４）。
【００２１】
各２値画像は、バーコード内のロケーターを識別するため処理される（ステップＳ１０５）。既知の形状を有するロケーターを識別するために、任意の適切な技術を用いてもよい。この方法は、ロケーターの形状に依存する。例えば、図１に示される例示的なバーコード設計ではロケーターは、同心の正方形（間に空白を設けて正方形の枠で囲んで塗りつぶした正方形）である。このバーコード設計で、水平走査線がロケーターの中心を通るとき、隣接する黒と白のセグメント長の比率（すなわち、黒と白画素のランレングス）は一定の範囲内に収まるはずである。したがって、これらの比率は、ロケーターの識別に用いれる。２値画像内のロケーターを識別する方法の一の例を、図４を参照することで以下に詳細に説明する。本発明はこの特定の実施例に限定されることはなく、他の方法を用いてもよいことが理解される。また下記実施例では特定の値を与えるが、他の適切な値を用いてもよい。
【００２２】
最初に、２値画像の全ての行の画素を数える。各行内では、黒画素（前景）および白画素（背景）の全てのランレングスが識別される（ステップＳ２１）。先頭が黒の各連続する５つのランレングスＲ１からＲ５について、以下の比率を計算し、所定の範囲と比較する（ステップＳ２２）。
０．５≦Ｒ２／Ｒ４≦２、２≦Ｒ３／Ｒ１≦２０、および２≦Ｒ３／Ｒ５≦２０
上記条件を満たせば、ランレングスＲ３内の黒画素に対応する位置のテンプレート画像Ｍの画素を黒に設定する（ステップＳ２３）。画像Ｍは２値画像であり、２値のバーコード画像と同じサイズを有し、全画素は初期値として白に設定される。
【００２３】
全ての行の２値のバーコード画像の処理をした後、バーコード画像のロケーターの取り得る候補位置を識別するため、連結成分分析を用いて、画像Ｍを分析する（ステップＳ２４）。最初に、その中の全ての連結成分を見つけるために画像Ｍを分析する。２値画像の連結成分は、互いに連結する黒画素のグループである。各連結成分において、その高さと幅の比率が０．５〜２を外れる場合、これを廃棄する。画像Ｍ内の残りの連結成分については、それらの中心位置を、バーコード画像のロケーターに対応する可能性がある候補位置として識別する。
【００２４】
そして、２値画像内において、ステップＳ２４で識別した各候補位置に対して、それがバーコードロケーターであるか判定するために輪郭分析を適用する（ステップＳ２５）。
最初に、画像Ｍ内で識別された中心位置に対応する各位置に対して、その位置周辺の輪郭を見つけるため２値画像を分析する。この位置がバーコードのロケーターに対応するのであれば、その周辺で３つの輪郭が見つかるはずである。したがって、与えられた位置で３つの輪郭が見つからなければ、その位置は廃棄する。与えられた位置の周辺で３つの輪郭が見つかれば、３つの輪郭Ｌ１、Ｌ２、およびＬ３の長さを取得し、これらが、０．３≦Ｌ１／Ｌ２≦０．７、および０．４≦Ｌ１／Ｌ３≦０．９５のような所定の関係を満たしているかを判定する。上記条件を満たしていれば、この位置はバーコードのロケーターの位置と見なされる。そして、２値画像から、第１の輪郭Ｌ１に関連する連結成分の中心を、バーコードのロケーターの中心と判断する。
【００２５】
ステップＳ１０５では識別したロケーターの位置（座標）のリストを作成する。好ましくは、各ロケーターの幾何学的な中心が、各ロケーターの位置を定義するのに使用される。ロケーターの結合リストを生成するため、全ての２値画像内で識別されたロケーターを結合する（ステップＳ１０６）。複数の２値化処理、すなわちステップＳ１０３からＳ１０６の目的は、画像内の全てのロケーター位置の識別を確実にすることである。様々な理由から、いくつかのロケーターは、いくつかの２値画像内で正しく識別できないおそれがある。例えば、照明および露出の条件に起因して、バーコード画像の明るさがバーコード全体にわたって均一でない。特定の２値化閾値にとってバーコード画像のある領域は明るすぎ、および／または、ある領域は暗すぎるため、このような領域内ではロケーターを正しく識別できない。複数の２値化処理を用いることで、各ロケーターが、いくつかの２値画像内で正しく識別されることが期待できる。したがって、ステップＳ１０６で生成したロケーターの結合リストは、バーコード内の全てのロケーターを含むことになる。いくつかのロケーターは、複数の２値画像内で識別され得る。ステップＳ１０６では、ステップＳ１０５で生成された複数のリスト内のロケーターの座標を、異なるリストのいくつかの項目が同じロケーターに対応するか判断するために比較する。
【００２６】
図３Ａから図３Ｅに例を示す。図３Ａは、バーコード画像の一例を示している。図３Ｂから図３Ｅは、図３Ａ内のバーコード画像から、異なる２値化閾値を用いて生成した複数の２値画像を示している。この例では、バーコード画像（図３Ａ）の左下部は、右上部より暗い。いくつかのロケーターは他のロケーターよりも、より明確に視認でき、全てのロケーターは少なくとも１つの２値画像内で識別できる。
【００２７】
ロケーターの結合リストは、ロケーターの数が所望の数（例えば１６）と同じであるか確認するため検査する。確認されれば、リスト内のロケーターはバーコード内の位置に基づいてインデックスが付けられる（ステップＳ１０７）。例えば、ロケーターは、上端の行から下端の行に向けて、そして各行内では左列から右列に向けてインデックス付けられて、１から１６までのインデックス値が割り当てられる。ここで、バーコードは、画像内でどのような向きを取ってもよく、ロケーターをインデックス付ける方法の選択は本質的に任意である。
【００２８】
識別されたロケーターは、射影歪みの補正、照明効果の補正、バーコードデータ抽出のような、バーコード画像の後続の処理に使用できる。
【００２９】
バーコード・リーダーまたはカメラを利用して、バーコード画像が取り込まれるので、バーコードが印刷または表示された印刷用紙または携帯画面は、そのバーコード・リーダーまたはカメラに対してある角度を持って保持される。その結果、画像中のバーコードは、多くの場合、正方形ではなく、射影歪みを含む。バーコード画像への射影歪みの補正は、ステップＳ１０８からＳ１１０で実行される。この処理は、ステップＳ１０７で識別されたロケーターを用いて、バーコードのオリジナルカラー画像上で実行される。
【００３０】
最初に、各領域がその隅の４個のロケーターで区画化されるように、バーコードのカラー画像を複数のロケーター１２を用いてより小さな領域に分割する（ステップＳ１０８）。例えば、図１に示す４×４個のロケーターを備えたバーコードは、９個の領域に分割される。例えば、バーコード画像が取り込まれたときに印刷用紙が平面でない場合、それらの領域は異なる射影歪みを含むことになる。各領域に対して、その領域が、水平および垂直の辺を有する正方形のようなバーコードレイアウト設計で定義されたそのオリジナルの形状に変わるように変換（射影）を適用する（ステップＳ１０９）。このステップでは、領域を区画化する４個のロケーターの座標は変換、すなわちこの４個のロケーターがオリジナル形状（例えば正方形）の４つの隅への変換を計算するために用いられる。この計算された変換は、その後、全領域に適用される。その後、全ての変換された領域は空間的に結合されて、変換されたバーコード画像を生成する（ステップＳ１１０）。このバーコード画像は、正方形のようなオリジナルレイアウトの形状を有する。
【００３１】
バーコード・リーダーまたはカメラを利用して、バーコード画像が取り込まれるので、バーコード全体にわたって画素輝度を不均一にする照明条件および他の条件が、画像の画素輝度に、影響を与えうる。したがって、ステップＳ１１１からＳ１１３では、ロケーター１２を再び利用して、バーコード画像への画素輝度補正が適用される。この処理は、ステップＳ１１０で取得した変換済みカラーバーコード画像に適用される。
【００３２】
最初に、各ロケーター１２の黒画素の平均画素輝度を計算する（ステップＳ１１１）。バーコード画像の各画素位置用の照度補正関数を備える２Ｄ照度補正マップが、バーコードのロケーターの位置および平均画素輝度を用いて構成される（ステップＳ１１２）。より具体的には、各ロケーター（その中心位置で定義される）の画素位置への照度補正関数は、そのロケーターの平均画素輝度に、理想的な黒の画素値を割り当てる関数である。ロケーター以外の各画素位置では、照度補正関数は、近傍のロケーターの位置での照度補正関数に基づき、２次元の線形補間を用いて導き出される。
【００３３】
好ましい実施形態では、各ロケーターの画素位置での照度補正関数は、そのロケーターの平均画素輝度を適用するときに、黒用の理想の画素値を与える乗数である。ここで理想の黒値はカラー画像の最大画素値である（例えば８ビットデータの２５５）。換言すると、乗数は、そのロケーターの平均画素輝度に対する理想の黒の画素値の比である。ロケーター以外の各画素位置では、照度補正関数は、その値が近傍のロケーターの位置（例えば４つの近傍のロケーター）の乗数値から２次元の線形補間により算出された乗数である。したがって、そのような２Ｄ照度補正マップは、バーコード画像と同じサイズを有する２Ｄマップであり、この２Ｄマップの画素値は上述の方法で計算された乗算値である。
【００３４】
ここで、この例では白黒の定義において、理想の黒は最大画素値を有する。理想の白黒の画素値は定義の問題である。理想の黒が画素値ゼロを有するという異なる定義が用いた場合、各ロケーターの画素位置での照度補正関数は、そのロケーターの平均画素輝度にゼロを割り当てたものになる。そして、またロケーター以外の各画素位置での照度補正関数は２次元の線形補間を用いて導き出される。これは、黒の定義が最大画素輝度である例と数学的には同等である。
【００３５】
照度補正マップが構成された後、それはカラーバーコード画像に適用される（ステップＳ１１３）。換言すれば、各画素位置用の照度補正関数は、その画素位置でのバーコード画像の画素値に対して適用される。上述の好ましい実施形態では、バーコード画像の各画素の画素値は、対応する２Ｄ照度補正マップの乗数によって、乗算される。この補正は、画素値の各カラーチャネルに対して個々に適用される。その結果、照度補正されたカラーバーコード画像が生成される。
【００３６】
射影歪み補正（ステップＳ１０８からＳ１１０）、および照度補正（ステップＳ１１１からＳ１１３）の結果が補正済みバーコードである。
これらの補正の後、データセルのカラーデータを抽出し、この抽出されたデータをデコードするデコーディング処理が適用される（ステップＳ１１４）。
データセルのカラーデータを抽出するために、どのような適切なデコーディング方法を用いてもよい。一の例は、本願と同一所有者の２０１４年５月２９日に出願された米国特許出願第１４／２９０５９５号に記述されている。
【００３７】
説明された実施形態では、１６個のロケーターはバーコードの隅、境界沿い、および内側に配置されている。他のバーコード設計では、バーコードのサイズに応じて、異なる数および分布のロケーターを使用してもよい。いくつかの例では、隅に配置した４個のロケーターで足りる。
【００３８】
上述のバーコード画像処理方法は、下記の特徴を有する。第１に、バーコード画像処理方法は、全てのロケーターを識別するために、グレースケール画像に対して複数の２値画像を生成する複数の２値化処理を用いる。第２に、バーコード画像処理方法はバーコード画像に照度補正を適用する。より具体的には、バーコード画像処理方法はバーコード全体にわたって配置している複数のロケーターを用いて、全バーコードに適用される照度補正マップを計算する。これらの特徴は、データセルがカラーセルで小さく、そして、多くの場合、カメラが取り込んだバーコード画像の画像品質は低いという事実によって動機付けられる。
【００３９】
本明細書に示したカラーバーコード画像処理方法は、図５に示すとおりコンピューター１２０のようなデータ処理装置で実施することができる。コンピューター１２０は、プロセッサー１２１、記憶装置（例えばハードディスクドライブ）１２２、および内部メモリー（例えばＲＡＭ）１２３を備える。記憶装置１２２は、ＲＡＭ１２３に読み出され、プロセッサー１２１により実行される上記処理方法を行うソフトウェアプログを記憶する。
一の態様では、本発明はデータ処理装置により実行される方法である。他の態様では、本発明は、データ処理装置のコンピューターを制御して上記処理方法を実行するコンピュータープログラム、および内部にこれを記憶したコンピューター読み取り可能な記録媒体である。他の態様では、本発明はデータ処理装置で具現化される。
【００４０】
当業者には明らかなように、本発明の思想または範囲から逸脱することなく、本発明のカラーバーコード画像処理方法およびこれに関連する装置に対して、種種の改良および変更を行うことができる。したがって、本発明は、添付の特許請求の範囲およびその均等物の範囲内の改良および変更をも包含することが意図される。
【図１】
0006383753.tif 000002
【図２】
0006383753.tif 000003
【図３】
0006383753.tif 000004
【図４】
0006383753.tif 000005
【図５】
0006383753.tif 000006