(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2017-16635(P2017-16635A)
(43)【公開日】2017年1月19日
(54)【発明の名称】カメラベースのアプリケーション用の高容量2Dカラーバーコードの設計および処理方法
(51)【国際特許分類】
G06K 7/14 20060101AFI20161222BHJP
G06T 5/00 20060101ALI20161222BHJP
H04N 1/401 20060101ALI20161222BHJP
H04N 1/387 20060101ALI20161222BHJP
G06K 7/12 20060101ALI20161222BHJP
G06K 19/06 20060101ALI20161222BHJP
【FI】
G06K7/14 017
G06T5/00 700
H04N1/40 101A
H04N1/387
G06K7/14 043
G06K7/12
G06K7/14 060
G06K19/06 037
G06K19/06 131
G06K19/06 140
【審査請求】未請求
【請求項の数】18
【出願形態】OL
【外国語出願】
【全頁数】12
(21)【出願番号】特願2016-89816(P2016-89816)
(22)【出願日】2016年4月27日
(31)【優先権主張番号】14/747334
(32)【優先日】2015年6月23日
(33)【優先権主張国】US
(71)【出願人】
【識別番号】507031918
【氏名又は名称】コニカ ミノルタ ラボラトリー ユー.エス.エー.,インコーポレイテッド
(74)【代理人】
【識別番号】110000671
【氏名又は名称】八田国際特許業務法人
(72)【発明者】
【氏名】ガン ファン
【テーマコード(参考)】
5B057
5C076
5C077
【Fターム(参考)】
5B057AA11
5B057CA01
5B057CA08
5B057CA12
5B057CA16
5B057CB01
5B057CB08
5B057CB12
5B057CB16
5B057CD06
5B057CD12
5B057CE11
5C076AA14
5C076AA40
5C076BA06
5C076BB04
5C076BB07
5C077LL02
5C077MP01
5C077MP08
5C077PP06
5C077PQ18
5C077RR02
5C077TT09
(57)【要約】
【課題】カメラまたはバーコードリーダーによって取り込まれたカラーバーコード画像の処理方法。
【解決手段】バーコードは、カラーデータセルおよび複数の大きな黒いロケーターを含み、ロケーターは、配列を形成しているバーコードの四隅、4つの境界沿い、バーコードの内部に位置する。ロケーターが最初に識別される。4個のロケーターをそれぞれ含むより小さな領域にバーコード画像を分割し、たとえば、正方形のようなオリジナル形状に各領域を個別に変換し、そして、空間的にそれらを結合してバーコード画像にすることによって、射影補正が行われる。ロケーターの平均濃度およびロケーター以外の画素位置用の2次元補間を用いて照度補正マップを計算することによって、照度補正が、ロケーターの平均画素輝度に基づいてバーコード画像に適用される。
【選択図】
図2
【特許請求の範囲】
【請求項1】
取り込まれたバーコード画像内の2次元カラーバーコードの処理方法であって、
前記バーコード画像は複数の画素から構成され、前記バーコードは、複数のカラーデータセルおよびそれぞれが複数の黒画素で形成された複数のロケーターを含む既知のレイアウトを有し、前記ロケーターは、前記バーコード全体にわたって異なる位置に配置されており、
前記方法は、
(a)カラーバーコード画像内の前記複数のロケーターを識別し、当該ロケーターの位置を決定するステップと、
(b)各ロケーターについて、平均画素輝度を算出するステップと、
(c)前記ロケーターの位置および平均画素輝度に基づいて、前記バーコード画像の各画素位置用の照度補正関数で構成される2D照度補正マップを計算するステップであって、各ロケーターの位置用の照度補正関数は、理想的な黒の画素値にそのロケーターの平均画素輝度を変換する関数であり、データセルの各画素位置用の照度補正関数は、少なくともいくつかの前記ロケーターの位置における前記照度補正関数から2次元補間を用いて導き出されるステップと、
(d)各画素位置用の前記照度補正関数をその画素位置における前記バーコード画像の画素値に適用することによって、前記カラーバーコード画像に前記照度補正マップを適用して、補正されたバーコード画像を計算するステップと、
を有する方法。
【請求項2】
前記理想的な黒の画素値は、前記カラーバーコード画像の最大画素値であり、
各ロケーターの前記画素位置における前記照度補正関数は、そのロケーターの前記平均画素輝度に対する前記理想的な黒の画素値の比率である乗数であり、
前記ロケーター以外の各画素位置用の前記照度補正関数は、少なくともいくつかの前記ロケーターの位置における前記乗数から2次元補間によって計算される乗数であり、
前記ステップ(d)は、各画素位置における前記バーコード画像の前記画素値にその画素位置用の前記照度補正関数を乗算することを含む、請求項1に記載の方法。
【請求項3】
前記ステップ(a)は、
前記カラーバーコード画像をグレースケールバーコード画像に変換するステップと、
複数の異なる2値化閾値のうちの1つを毎回用いて前記グレースケールバーコード画像を複数回2値化して、複数の2値画像を生成するステップと、
各2値画像内のロケーターを識別して、当該ロケーターの位置を決定するステップと、
前記複数の2値画像内で識別されたロケーターを結合して、ロケーターの結合リストを生成するステップと、
を有する、請求項1または2に記載の方法。
【請求項4】
前記2値化するステップの前に、
前記グレースケール画像の最大および最小輝度を決定するステップと、
前記最大および最小輝度に基づいて、複数の前記2値化閾値を算出するステップと、
をさらに有する、請求項3に記載の方法。
【請求項5】
各2値画像内のロケーターを識別するステップは、所定の範囲に含まれる黒および白画素の隣接する水平方向のランレングスの比を識別するステップを有する、請求項3または4に記載の方法。
【請求項6】
前記ステップ(b)の前に、
(e)前記カラーバーコード画像用の射影歪み補正を行うステップをさらに有し、
前記ステップ(b)〜ステップ(d)は、前記射影歪み補正後の前記バーコード画像に対して行われる、請求項1〜5のいずれか1項に記載の方法。
【請求項7】
前記ステップ(e)は、
領域の四隅の4個のロケーターによってそれぞれが画定される複数の領域に前記バーコード画像を分割するステップと、
各領域について、所定の長方形または正方形の四隅に前記4個のロケーターの位置を移す変換を計算し、前記変換を前記領域に適用するステップと、
変換された前記領域を空間的に結合して、変換されたバーコード画像を生成するステップと、
を有する、請求項6に記載の方法。
【請求項8】
前記2次元補間は、2次元線形、キュービック、またはスプライン補間である、請求項1〜7のいずれか1項に記載の方法。
【請求項9】
データ処理装置を制御するためのコンピュータープログラムであって、
前記コンピュータープログラムは、取り込まれたバーコード画像内の2次元カラーバーコードを処理するための処理を前記データ処理装置に実行させるように構成され、
前記バーコード画像は複数の画素から構成され、前記バーコードは、複数のカラーデータセルおよびそれぞれが複数の黒画素で形成された複数のロケーターを含む既知のレイアウトを有し、前記ロケーターは、前記バーコード全体にわたって異なる位置に配置されており、
前記処理は、
(a)カラーバーコード画像内の前記複数のロケーターを識別し、当該ロケーターの位置を決定するステップと、
(b)各ロケーターについて、平均画素輝度を算出するステップと、
(c)前記ロケーターの位置および平均画素輝度に基づいて、前記バーコード画像の各画素位置用の照度補正関数で構成される2D照度補正マップを計算するステップであって、各ロケーターの位置用の照度補正関数は、理想的な黒の画素値にそのロケーターの平均画素輝度を変換する関数であり、データセルの各画素位置用の照度補正関数は、少なくともいくつかの前記ロケーターの位置における前記照度補正関数から2次元補間を用いて導き出されるステップと、
(d)各画素位置用の前記照度補正関数をその画素位置における前記バーコード画像の画素値に適用することによって、前記カラーバーコード画像に前記照度補正マップを適用して、補正されたバーコード画像を計算するステップと、
を有するコンピュータープログラム。
【請求項10】
前記理想的な黒の画素値は、前記カラーバーコード画像の最大画素値であり、
各ロケーターの前記画素位置における前記照度補正関数は、そのロケーターの前記平均画素輝度に対する前記理想的な黒の画素値の比率である乗数であり、
前記ロケーター以外の各画素位置用の前記照度補正関数は、少なくともいくつかの前記ロケーターの位置における前記乗数から2次元補間によって計算される乗数であり、
前記ステップ(d)は、各画素位置における前記バーコード画像の前記画素値にその画素位置用の前記照度補正関数を乗算することを含む、請求項9に記載のコンピュータープログラム。
【請求項11】
前記ステップ(a)は、
前記カラーバーコード画像をグレースケールバーコード画像に変換するステップと、
複数の異なる2値化閾値のうちの1つを毎回用いて前記グレースケールバーコード画像を複数回2値化して、複数の2値画像を生成するステップと、
各2値画像内のロケーターを識別して、当該ロケーターの位置を決定するステップと、
前記複数の2値画像内で識別されたロケーターを結合して、ロケーターの結合リストを生成するステップと、
を有する、請求項9または10に記載のコンピュータープログラム。
【請求項12】
前記処理は、前記2値化するステップの前に、
前記グレースケール画像の最大および最小輝度を決定するステップと、
前記最大および最小輝度に基づいて、複数の前記2値化閾値を算出するステップと、
をさらに有する、請求項11に記載のコンピュータープログラム。
【請求項13】
各2値画像内のロケーターを識別するステップは、所定の範囲に含まれる黒および白画素の隣接する水平方向のランレングスの比を識別するステップを有する、請求項11または12に記載のコンピュータープログラム。
【請求項14】
前記処理は、前記ステップ(b)の前に、
(e)前記カラーバーコード画像用の射影歪み補正を行うステップをさらに有し、
前記ステップ(b)〜ステップ(d)は、前記射影歪み補正後の前記バーコード画像に対して行われる、請求項9〜13のいずれか1項に記載のコンピュータープログラム。
【請求項15】
前記ステップ(e)は、
領域の四隅の4個のロケーターによってそれぞれが画定される複数の領域に前記バーコード画像を分割するステップと、
各領域について、所定の長方形または正方形の四隅に前記4個のロケーターの位置を移す変換を計算し、前記変換を前記領域に適用するステップと、
変換された前記領域を空間的に結合して、変換されたバーコード画像を生成するステップと、
を有する、請求項14に記載のコンピュータープログラム。
【請求項16】
前記2次元補間は、2次元線形、キュービック、またはスプライン補間である、請求項9〜15のいずれか1項に記載のコンピュータープログラム。
【請求項17】
請求項9〜16のいずれか1項に記載のコンピュータープログラムを記録したコンピューター読み取り可能な記録媒体。
【請求項18】
取り込まれたバーコード画像内の2次元カラーバーコードを処理するデータ処理装置であって、
前記バーコード画像は複数の画素から構成され、前記バーコードは、複数のカラーデータセルおよびそれぞれが複数の黒画素で形成された複数のロケーターを含む既知のレイアウトを有し、前記ロケーターは、前記バーコード全体にわたって異なる位置に配置されており、
前記装置は、
カラーバーコード画像内の前記複数のロケーターを識別し、当該ロケーターの位置を決定する識別部と、
各ロケーターについて、平均画素輝度を算出する算出部と、
前記ロケーターの位置および平均画素輝度に基づいて、前記バーコード画像の各画素位置用の照度補正関数で構成される2D照度補正マップを計算する計算部であって、各ロケーターの位置用の照度補正関数は、理想的な黒の画素値にそのロケーターの平均画素輝度を変換する関数であり、データセルの各画素位置用の照度補正関数は、少なくともいくつかの前記ロケーターの位置における前記照度補正関数から2次元補間を用いて導き出される前記計算部と、
各画素位置用の前記照度補正関数をその画素位置における前記バーコード画像の画素値に適用することによって、前記カラーバーコード画像に前記照度補正マップを適用して、補正されたバーコード画像を計算する適用部と、
を有するデータ処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、2次元(2D)カラーバーコードの設計およびデコードに関し、特に、カメラベースのアプリケーション用の2Dカラーバーコードの設計およびデコードに関する。
【背景技術】
【0002】
バーコードは、光学的に機械読み取り可能なデータの表現である。2Dカラーバーコードは、2次元状、たとえば、水平および垂直の両方向に配列される小さな正方形または長方形のセルから形成され、各セルに対して1つの色が用いられる。異なる色は、異なるデータ値を表す。バーコードのデータ容量とセル数と色数との関係は、以下のように表現できる。
【0003】
データ容量=(セル数)×log
2(色表現の数)
小さいセルサイズとより多くの色表現とを用いるバーコードの設計は、一定の領域内で比較的高いデータ容量を実現できる。しかしながら、様々な要因がセルの小型化を制限する。
【0004】
2Dカラーバーコードが、用紙上に印刷され、または、携帯機器の画面のような表示画面上に表示され、(フラットベッド型のスキャナーとは対照的な)カメラベースのバーコードリーダーにより読み取られる場合、透視投影および不均一な照明が、バーコードのデコードに対する課題を示し得る。
【発明の概要】
【発明が解決しようとする課題】
【0005】
したがって、本発明は、従来技術の制限および欠点に起因する1つ以上の問題を実質的に取り除く2Dカラーバーコードの処理方法および関連装置を対象とする。
【0006】
本発明の目的は、カメラベースのバーコードリーダーによって取得されたバーコード画像に対する透視投影および不均一な照明の補正を提供することである。
【0007】
本発明の付加的な特徴および利点は、後続する説明に記載され、その一部分は説明から明らかであり、または、本発明の実施によって理解される。本発明の目的および他の利点は、明細書、特許請求の範囲、および添付の図面で詳細に示された構成によって実現され、達成される。
【課題を解決するための手段】
【0008】
これらの目的および/または他の目的を達成するために、具体化され、広く記載されるように、本発明は、取り込まれたバーコード画像内の2次元カラーバーコードの処理方法を提供し、前記バーコード画像は複数の画素から構成され、前記バーコードは、複数のカラーデータセルおよびそれぞれが複数の黒画素で形成された複数のロケーターを含む既知のレイアウトを有し、前記ロケーターは、前記バーコード全体にわたって異なる位置に配置されており、前記方法は、(a)カラーバーコード画像内の前記複数のロケーターを識別し、当該ロケーターの位置を決定するステップと、(b)各ロケーターについて、平均画素輝度を算出するステップと、(c)前記ロケーターの位置および平均画素輝度に基づいて、前記バーコード画像の各画素位置用の照度補正関数で構成される2D照度補正マップを計算するステップであって、各ロケーターの位置用の照度補正関数は、理想的な黒の画素値にそのロケーターの平均画素輝度を変換する関数であり、データセルの各画素位置用の照度補正関数は、少なくともいくつかの前記ロケーターの位置における前記照度補正関数から2次元補間を用いて導き出されるステップと、(d)各画素位置用の前記照度補正関数をその画素位置における前記バーコード画像の画素値に適用することによって、前記カラーバーコード画像に前記照度補正マップを適用して、補正されたバーコード画像を計算するステップと、を含む。
【0009】
他の態様において、本発明は、データ処理装置を制御するためのコンピュータープログラムおよびコンピュータープログラムを内部に記録したコンピューター読み取り可能な記録媒体(たとえば、メモリまたは記憶装置)を提供し、当該コンピュータープログラムは、データ処理装置に上記の方法を実行させるように構成される。
【0010】
上述の一般的な説明および以下の詳細な説明の両方は、具体的で例示的であり、特許請求の範囲に記載された本発明のさらなる説明を提供することを意図すると理解される。
【図面の簡単な説明】
【0011】
【
図1】本発明の実施形態に係るカラーバーコードのレイアウトを示す図である。
【
図2】本発明の実施形態に係るバーコード画像の処理方法を概略的に示す図である。
【
図3】本発明の実施形態が実行され得るデータ処理装置を概略的に示す図である。
【発明を実施するための形態】
【0012】
本発明の一態様は、媒体上に印刷される、または、携帯機器の画面上に表示される2Dカラーバーコードのレイアウト設計である。本発明の他の態様は、カメラを通じて取り込まれた画像から2Dカラーバーコードをデコードするのに適したデコード処理およびアルゴリズムである。2Dカラーバーコードの設計は、カメラによって取り込まれたバーコード画像からの処理およびデコードを容易にするという特徴を含む。
【0013】
図1は、本発明の実施形態に係るカラーバーコードの一例のレイアウトを示す。カラーバーコードは、2次元配列を形成している複数のデータセル11を含み、各セルは、複数の色のうちの1つを有する。好ましい実施形態では、複数の色は、シアン(C)、マゼンタ(M)、白(W)(すなわち、印刷されていない)、および黒(K)であり、各セルは、2ビットの情報を表現できる。CMYKは、典型的なプリンターで使用される原色であり、それらの各々は、1つの着色インクによって印刷され、カラーチャネルと呼ばれる。
図1のカラーバーコードのレイアウトでは、原色のイエロー(Y)が、白(W)、すなわち、印刷されていないセルで置き換えられている。したがって、バーコードの各セルは、1つのインクで印刷されるか、印刷されないかであり、各セルの色は均一になる。各セルは、所定のサイズを有し、所定の距離だけ離れている。好ましくは、セルは、正方形であり、グリッド上の垂直および水平方向に整列される列および行を形成し、行の距離と列の距離とは等しい。特定の一実施形態では、セルサイズは3×3画素であり、セル間の距離(白いスペースの幅)は、水平および垂直の両方向において2画素である。この例では、グリッドは、正方形グリッドである。あるいは、グリッドは、長方形グリッドであってもよい。
【0014】
バーコードは、バーコードの四隅に、バーコードの境界に沿って、およびバーコードの内部に位置する複数のロケーター12を有する。図示された例では、16個のロケーター12が提供され、4×4の配列を形成しており、4個のロケーターが角に位置し、8個が境界に沿って位置し、4個がバーコードの内部に位置する。後で分かるように、ロケーター12は、画像処理およびデコードを補助するために、バーコード全体の中に位置基準を提供できる。ロケーターは、好ましくは黒であり、データセルよりも十分に大きく、このことは、画像内でそれらを比較的識別し易くする。図示された実施形態では、各ロケーターは、黒ベタの正方形を白いスペースで囲み、さらに黒の境界で囲んで形成されており、正方形は、13×13画素(すなわち、データセルの3列および3行と同じ幅)であり、白いスペースは7画素幅(すなわち、データセル領域でデータセルの1列または1行が取り除かれたときに作られる白いスペースに等しい)であり、黒の境界は、3画素幅(すなわち、データセルと同じ幅)である。したがって、各ロケーター12は、33×33画素のサイズであり、データセル配列における7×7のデータセルに等しいスペースを占める。
【0015】
また、バーコードは、バーコードの4つの境界に沿って位置する複数の境界基準セル13をロケーターの間に有する。境界基準セル13は、シアン、マゼンタ、および黒の基準セルを含み、それらは、所定の色順序、たとえば、図示された例では、C、M、Bを繰り返す順序で配列される。言い換えれば、各境界基準セルの色は既知である。基準セルは、デコード処理で役に立つ(全体的および局所的)チャネルオフセット情報および色情報を提供できる。一実施形態では、境界基準セル13はデータセル11と同じサイズを有し、その結果、これらの基準セルの色濃度はデータセルの色濃度と同様である。
【0016】
境界基準セル13は、基準セルが重複する可能性を避けるために、互いに、ロケーター12から、およびデータセル11から、内部のデータセル配列におけるセル間隔よりも大きな距離だけ離れている。図示された例では、2つの隣接する基準セル間、および、基準セルと隣接するデータセル間の距離(白いスペース)は、7画素である(すなわち、データセル領域においてデータセルの1列または1行が取り除かれたときに作られる白いスペースに等しい)。ロケーター12と隣接する基準セル13とは、この距離、または、より大きな距離だけ離れている。
【0017】
角の4個のロケーターのうちの1個が他から区別され得るように、バーコードに非対称性が設計されてもよく、このことは、デコード処理で役に立つ。これは、任意の適切な方法で達成される。たとえば、1個の角のロケーターが、他とは異なる形状を有してもよい。また、非対称性は、境界に沿った基準セルの異なるまたは非対称の色順序を用いることによって、バーコードに設計されてもよい。なお、バーコードのデータ長およびECC等をエンコードする検証セルのような他の追加的な特徴がバーコードに設計されてもよい。
【0018】
1つの特定の例では、バーコード用のグリッドは、124列および124行を有する。白いスペース、ロケーター、および基準セルを除いて、約13500のデータセルが、各バーコードに情報を格納するために用いられる。複数のバーコードが、たとえば、それらの間に20画素の白いスペースを伴って、同じページ上に互いに隣接して配置され得る。600dpiの印刷解像度に対して、バーコードは、約1.05×1.05平方インチのスペースをとる。したがって、7×10までのバーコードが、レターサイズのページ上に配置され得る。
【0019】
上記の設計を有するバーコードを処理するためのバーコード画像処理方法が、
図2を参照して、以下に説明される。まず、バーコード画像が取り込まれる(ステップS11)。上述のレイアウト設計を有するバーコードは、用紙上に印刷され、または、携帯機器の画面のような表示画面上に表示されている。このステップでは、カラー画像であるバーコード画像が、典型的には、カメラまたはカメラベースのバーコードリーダーを用いて、バーコードリーダーまたはカメラの前に保持された印刷シートまたは画面から取り込まれる。当然ながら、バーコード画像は、スキャナーを用いて取り込まれてもよい。
【0020】
次に、バーコード画像中のロケーターが識別される(ステップS12)。ロケーターを識別するために、任意の適切な技術が用いられ得る。一例では、カラーバーコード画像が、グレースケール画像に変換されてから2値化され、ロケーターは、2値画像から識別される。
【0021】
バーコード画像は、バーコードリーダーまたはカメラを用いて取り込まれるため、バーコードが印刷または表示された印刷シートまたは携帯画面は、バーコードリーダーまたはカメラに対してある角度で保持される。結果として、画像中のバーコードは、正方形ではなく、射影歪みを含むことが多い。射影歪みの補正は、ステップS13〜S15においてバーコード画像に対して行われる。この処理は、ステップS12において識別されたロケーターを用いて、バーコードのオリジナルカラー画像に対して行われる。
【0022】
まず、各領域がその角にある4個のロケーターで画定されるように、複数のロケーター12を用いて、バーコードのカラー画像がより小さな領域に分割される(ステップS13)。たとえば、
図1に示される4×4個のロケーターを有するバーコードは、9つの領域に分割される。これらの領域は、たとえば、バーコード画像が取り込まれたときに印刷シートが平らでなければ、異なる射影歪みを有し得る。各領域について、領域に変換(射影)が適用されて、その領域を水平および垂直の辺を有する正方形のようなバーコードレイアウト設計で定義されたオリジナルの形状に変換する(ステップS14)。このステップでは、領域を画定した4個のロケーターの座標が用いられて、変換、すなわち、オリジナルの形状(たとえば、正方形)の四隅に4個のロケーターを移す変換が計算され、その後、計算された変換が全領域に適用される。それから、全ての変換された領域が空間的に結合されて、変換されたバーコード画像を生成する(ステップS15)。このバーコード画像は、正方形のようなオリジナルレイアウトの形状を有する。
【0023】
バーコード画像は、バーコードリーダーまたはカメラを用いて取り込まれるため、画像の画素輝度は、バーコード全体にわたって画素輝度を不均一にし得る照明条件および他の条件の影響を受ける。したがって、ステップS16〜S18において、ロケーター12を再び用いて、画素輝度補正がバーコード画像に適用される。この処理は、ステップS15で得られた変換済みカラーバーコード画像に適用される。
【0024】
まず、各ロケーター12の黒画素の平均画素輝度が計算される(ステップS16)。バーコード画像の各画素位置用の照度補正関数で構成される2D照度補正マップが、バーコードのロケーターの位置および平均画素輝度を用いて構成される(ステップS17)。より具体的には、各ロケーターの(その中心によって定義される)画素位置用の照度補正関数は、そのロケーターの平均画素輝度を理想的な黒の画素値に変換する関数であり、ロケーター以外の各画素位置では、照度補正関数は、近傍のロケーターの位置での照度補正関数に基づき2次元補間を用いて導き出される。補間は、直線補間、キュービックまたはスプライン補間等であり得る。
【0025】
好ましい実施形態では、理想的な黒値はカラー画像の最大画素値(たとえば、8ビットデータで255)であるが、各ロケーターの画素位置での照度補正関数は、そのロケーターの平均画素輝度に適用されたとき、黒用の理想的な画素値を与える乗数である。言い換えれば、乗数は、そのロケーターの平均画素輝度に対する理想的な黒の画素値の比率である。ロケーター以外の各画素位置では、照度補正関数は、近傍のロケーターの位置(たとえば、4個の近傍のロケーター)における乗数値から2次元補間によって値が計算される乗数である。したがって、そのような2D照度補正マップは、バーコード画像と同じサイズを有する2Dマップであり、2Dマップの画素値は、上述した方法で計算される乗数値である。
【0026】
ここで留意すべきは、この例では、理想的な黒が最大画素値を有するように黒と白の定義がなされている。理想的な黒と白の画素値は定義の問題である。理想的な黒が画素値ゼロを有するという異なる定義が用いられれば、各ロケーターの画素位置での照度補正関数は、そのロケーターの平均画素輝度をゼロに変換するものになり、そして再び、ロケーター以外の画素位置用の照度補正関数は、2次元補間を用いて導き出される。これは、黒の定義が最大画素輝度である例と数学的に等しい。
【0027】
照度補正マップが構成された後、それはカラーバーコード画像に適用される(ステップS18)。言い換えれば、各画素位置用の照度補正関数が、その画素位置でのバーコード画像の画素値に適用される。上記の好ましい実施形態では、バーコード画像の各画素の画素値は、対応する2D照度補正マップの乗数で乗算される。この補正は、画素値の各カラーチャネルに個別に適用される。結果として、照度補正されたカラーバーコード画像が生成される。
【0028】
射影歪み補正(ステップS13〜S15)および照度補正(ステップS16〜S18)の結果が、補正されたバーコードである。これらの補正の後、データセルのカラーデータを抽出し、抽出したデータをデコードするためにデコード処理が適用される(ステップS19)。データセルのカラーデータを抽出するために任意の適切なデコード方法が用いられ、一例は、本願と同一所有者の2014年5月29日に出願された米国特許出願第14/290595号に記載されている。
【0029】
説明された実施形態では、16個のロケーターが、バーコードの角、バーコードの境界沿い、およびバーコードの内部に位置する。他のバーコード設計では、バーコードのサイズに応じて、異なる数および分布のロケーターが用いられてもよい。いくつかの例では、バーコードの角に位置する4個のロケーターで十分である。
【0030】
上述のバーコード画像処理方法は、バーコード画像に照度補正を適用する。より具体的には、それは、バーコード全体にわたって分布する複数のロケーターを用いて、バーコード全体に適用される照度補正マップを計算する。これは、データセルがカラーセルで小さく、カメラで取り込まれたバーコード画像の画質が低いことが多いという事実によって動機付けられる。
【0031】
ここで説明されるカラーバーコード画像処理方法は、
図3に示されるように、コンピューター120のようなデータ処理システムで実行され得る。コンピューター120は、プロセッサー121、記憶装置(たとえば、ハードディスクドライブ)122、および内部メモリー(たとえば、RAM)123を備える。記憶装置122は、その方法を実行するために、RAM123に読み出され、プロセッサー121により実行されるソフトウェアプログラムを記憶する。一態様では、本発明は、データ処理システムによって実行される方法である。他の態様では、本発明は、データ処理装置を制御してその方法を実行させるためのコンピュータープログラムおよびコンピュータープログラムを内部に記録したコンピューター読み取り可能な記録媒体である。他の態様では、本発明は、データ処理システムで具体化される。
【0032】
本発明の思想および範囲から逸脱することなく、本発明のカラーバーコード画像処理方法および関連装置において種々の修正および変更がなされ得ることは、当業者にとって明らかである。したがって、本発明が、添付の特許請求の範囲およびその均等物の範囲内に含まれる修正および変更を包含することは意図される。
【外国語明細書】