(57)【要約】本発明は、二次元デジタル画像配列として表されたデジタル画像内のバーコードを検出するためにコンピュータで実現された方法に関し、この方法は、画像配列にフィルタを適用することと、フィルタリングされた画像配列の離散ラドン変換を計算することとを含み、離散ラドン変換が、フィルタ画像配列と交差する複数の不連続線に対して計算され、所定の傾きを有する所定の不連続線ごとに、離散ラドン変換が、所定の不連続線の幾つかの数の異なる変位に対して計算され、変位の数が、画像配列の次元の２倍未満であり、フィルタ画像配列の離散ラドン変換の出力内でパターンの頂点を検出することと、デジタル画像内にあるバーコードの位置を制限するために、検出された頂点を画像配列内の不連続線に逆変換することを含む。【選択図】図４
2021524106.tif 000002
【特許請求の範囲】
【請求項１】
二次元デジタル画像配列として表されたデジタル画像内のバーコードを検出するためにコンピュータで実現された方法であって、
前記画像配列にフィルタを適用するステップと、
前記フィルタ画像配列の離散ラドン変換を計算するステップであって、前記離散ラドン変換が、前記フィルタ画像配列と交差する複数の不連続線に関して計算されるステップとを含み、
所定の傾きを有する所定の不連続線ごとに、前記離散ラドン変換が、前記所定の不連続線の幾つかの異なる変位に関して計算され、前記変位の数が、前記画像配列の一次元の２倍未満であり、
前記フィルタ画像配列の前記離散ラドン変換の前記出力内でパターンの前記頂点を検出するステップと、
前記デジタル画像内にあるバーコードの位置を制限するために、前記検出された頂点を前記画像配列内の不連続線に変換するステップとを含む方法。
【請求項２】
所定の傾きを有する前記所定の不連続線の変位が、切片（例えば、垂直切片）によって特徴付けられた、請求項１に記載の方法。
【請求項３】
前記フィルタが、勾配フィルタである、請求項１または２に記載の方法。
【請求項４】
前記パターンが、四辺形（例えば、菱形）を有する、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
所定の傾きの前記離散ラドン変換が、前記画像配列の中心に最も近い不連続線の数Ｎの変位に関して計算され、ここで、Ｎは、整数であり前記配列の次元である、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記デジタル画像が正方形でない場合、前記デジタル画像は、正方形画像（即ち、サイズＮｘＮの画像配列）にサイズ変更され、Ｎは整数である、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
前記フィルタ画像配列の前記離散ラドン変換の計算が、４つの象限に対して実行され、例えば、第１象限が０°〜４５°の不連続線傾きをカバーし、第２象限が４５°〜９０°の不連続線傾きをカバーし、第３象限が−９０°〜−４５°の不連続線傾きをカバーし、第４象限が−４５°〜０°の不連続線傾きをカバーし、第５象限を定義する前記第１象限の前記計算されたラドン変換の回転され転換された複製が、前記第４象限に付属される請求項１〜６のいずれか一項に記載の方法。
【請求項８】
前記フィルタ画像配列の前記離散ラドン変換の計算は、前記フィルタ画像配列の列毎に実行される、請求項１〜７のいずれか一項に記載の方法。
【請求項９】
奇数及び偶数列の計算に別個のメモリバッファが割り当てられた、請求項１〜８のいずれか一項に記載の方法。
【請求項１０】
前記パターンの前記頂点の前記検出が、その強度値と、前記離散ラドン変換の前記出力内の分散に基づいており、及び／又は前記検出パターン（例えば、四角形）の前記頂点の前記検出が、ニューラルネットワークによって実行される、請求項１〜９のいずれか一項に記載の方法。
【請求項１１】
前記デジタル画像内にあるバーコードの位置を制限するステップが、前記検出パターンの検出最上頂点と検出最下頂点の縦方向指数を平均化するステップを含む、請求項１〜１０のいずれか一項に記載の方法。
【請求項１２】
前記デジタル画像内にあるバーコードの位置を制限するステップが、前記検出パターンの２つの検出された横方向頂点（例えば、左側頂点と右側頂点）の水平指数の差を計算するステップを含む、請求項１〜１１のいずれか一項に記載の方法。
【請求項１３】
前記検出頂点を前記画像配列内の不連続線に逆変換するステップが、２つの検出横方向頂点（例えば、左側頂点と右側頂点）を、前記画像配列内の２つの不連続線の線パラメータに変換するステップと、前記２つの不連続線の交点を計算するステップを含む、請求項１〜１２のいずれか一項に記載の方法。
【請求項１４】
請求項１〜１３のいずれか一項による方法を実行するように構成されたコンピュータシステム。
【請求項１５】
前記コンピュータシステムが、カメラを備えたモバイル装置を有する、請求項１４に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、特許請求項１のプリアンブルで指定されたようなタイプの方法、及び特許請求項１４で指定されたようなコンピュータシステムに関する。
【背景技術】
【０００２】  光学機械可読バーコードは、前記バーコードを備えた物体又は物品を説明し識別するために産業と商業で一般的手段になっている。【０００３】  詳細には、光学機械可読バーコードは、人間介入なしに、物体を自動的に識別し、それに関するデータを収集し、そのデータをコンピュータシステムに直接入力するための物体の自動識別及びデータ取得（ＡＩＤＣ）を容易にする。【０００４】  多くの光学機械可読バーコードは、専用光学スキャナ（例えば、レーザスキャナを備えたスーパーマーケット会計システムで購入物品のバーコードを読み取る）によって読み取られるが、デジタルカメラ（例えば、スマートモバイル装置からのカメラ）によって取り込まれた画像からもバーコードを読み取ることができるアプリケーションソフトが開発され、それにより、バーコードの使用と応用が更に広まった。【０００５】  しかしながら、デジタル画像から光学バーコードを読み取る現在の方法には幾つかの厳しい欠点と制限がある。【０００６】  詳細には、デジタル画像に埋め込まれたバーコード（詳細にはデジタル画像に埋め込まれた一次元バーコード）の検出又は位置確認及び識別は、スマート装置（例えば、スマートフォン、タブレット）の現在の最新技術のプロセッサでも、計算処理が困難で計算資源集約的なタスクであることが分かっている。【０００７】  実際には、現在の方法又はシステムは、本質的に、一次元バーコードが、スマート装置によって取り込まれるとき、カメラの正面にあり、カメラに位置合わせされ正確な距離にあるという意味で、専らデコーダとして動作する。【０００８】  換言すると、現在の方法又はシステムは、画像内のバーコードの特定の位置及び／又はサイズ及び／又は解像度及び／又は向きを予想又は仮定する。【０００９】  したがって、現在既知の方法又はシステムは、ほとんどの実際的事例で、取り込まれた画像内のバーコードが、画像内の任意の予期しない位置、サイズ又は向きを有するので、満足な結果を提供しないことが多い。
【発明の概要】
【発明が解決しようとする課題】
【００１０】課題
したがって、本発明の目的は、デジタル画像内にあるバーコードを検出し位置確認するための改善された手段を提供することである。【００１１】  詳細には、例えば、本発明の目的は、デジタル画像に埋め込まれた一次元バーコードの位置確認を単純化し高速化することである。
【課題を解決するための手段】
【００１２】解決策
本発明によれば、この目的は、請求項１による方法と請求項１４によるコンピュータシステムによって達成される。【００１３】  有利な実施形態及び更に他の開発は、サブクレームの内容である。【００１４】  二次元デジタル画像配列として表されたデジタル画像内のバーコード（例えば、一次元バーコード）を検出するための典型的な方法は、
前記画像配列にフィルタを適用するステップと、
前記フィルタ画像配列の離散ラドン変換を計算するステップであって、前記離散ラドン変換が、前記フィルタ画像配列と交差する複数の不連続線に対して計算されるステップとを含み、
所定の傾きを有する所定の不連続線ごとに、前記離散ラドン変換が、前記所定の不連続線の幾つかの異なる変位に対して計算され、前記変位の数が、前記画像配列の次元の２倍未満であり、
前記フィルタ画像配列の前記離散ラドン変換の出力内でパターンの頂点を検出するステップと、
前記デジタル画像内にあるバーコードの位置を制限するために、前記検出された頂点を前記画像配列内の不連続線に逆変換するステップと、の１つ、幾つか又は全てを含む。【００１５】  本明細書において、前記二次元デジタル画像配列又はデジタル画像は、とりわけ、強度値の二次元配列（例えば、画像画素の二次元配列）として表されるように理解されうる。【００１６】  要するに、典型的に前述された方法は、前記デジタル画像と交差するほとんど全ての直線に沿った画素の合計の同時かつ効率的な計算を可能にする。【００１７】  更に、前記画像座標領域内の前記バーコードを直接検出し位置確認しようとする代わりに、本発明は、前記処理されたデジタル画像を、前記画像のほとんど全ての可能な投影をカバーする傾き又は角度及び変位によって表されうる領域に変換する。この新しい領域（即ち、前記フィルタ画像配列の前記離散ラドン変換を計算することによって生成された出力）において、前記バーコードの画像は、元の領域（即ち、元の画像又は元の画像座標）内の前記バーコードの検出より容易に検出できる特殊パターンを生成する。【００１８】  用語「バーコード」は、本明細書では、一次元バーコード又は線形バーコード（例えば、様々な幅と、線間の様々な間隔とを有する平行線パターン）を指すように理解されうる。【００１９】  更に、有限数の線点又は線要素を有する前記不連続線は、所定の不連続線が、前記画像配列の各列内の１つの配列点だけを超えるように定義されうる。【００２０】  所定の不連続線は、とりわけ、傾き（例えば、傾きｓ）と切片（例えば、切片ｄ）によってパラメータ化されうる。前記傾きは、角度によって表されてもよく、この角度は、ａｔａｎ（ｓ／（Ｎ−１））（即ち、勾配ｓの逆タンジェント）として定義されてもよく、ここで、Ｎは、整数（処理される画像の画像配列の列数）である。【００２１】  更に、所定の傾きを有する所定の不連続線の、同じ傾きを有する別の不連続線に対する変位は、切片（例えば、垂直切片）によっても特徴付けられうる。【００２２】  前述された典型的な方法は、デジタル画像（例えば、スマートフォンなどのスマート装置のカメラによって取り込まれたデジタル画像）に埋め込まれた一次元バーコードの正確かつ確実な識別と位置確認を達成するのに必要な計算ステップの大幅な高速化と低減を可能にする。【００２３】  これにより、デジタル画像内のバーコードを、デジタル画像内の前記バーコードの位置、サイズ又は向きに関係なく検出、位置確認、及びデコードでき、その理由は、前述の方法又は変換が、画像に埋め込まれたバーコードの角度／回転又は向きの変化に対して不変だからである。【００２４】  詳細には、本発明は、処理ユニット（例えば、スマートフォンなどの一般のスマート装置の中央処理装置（ＣＰＵ）及び／又は図形処理ユニット（ＧＰＵ））上で、これらのステップの全て（即ち、バーコードの検出又は位置確認、及びデコーディング）の実行を可能にする。【００２５】  例えば、最新技術によれば、画素サイズＮｘＮ（Ｎは正整数）の画像の場合、必要とされる計算の最小出力サイズ又は最小数は３Ｎｘ４Ｎであり、本発明によれば、デジタル画像（即ち、フィルタ画像配列）の��ドン変換から得られた出力の出力サイズは、わずかＮｘ４Ｎであり、ｌｏｇ２（Ｎ）ｘ４Ｎ２の計算（例えば、整数の和の計算）に上限を有する。【００２６】  本明細書に記載された方法によれば、少なくとも２ｘ４ｘＮ３回の計算を必要とする現在の力ずくの手法と比べて計算コストがかなり節約される。例えば、Ｎ＝５１２の画像（即ち、５１２×５１２画素の画像）の場合、必要な計算は、最新技術の手法と比較して１％未満であり、即ち、計算が１０億回の代わりに９４００万回のみである。【００２７】  本発明は、とりわけ、現在のモバイルスマート装置のプロセッサによって実行されるには計算コストがかかり過ぎる最大かつ完全なラドン変換だけしか、デジタル画像に埋め込まれたバーコードの位置を決定するのに必要十分な計算基礎を提供できないという技術的不利益を克服する。【００２８】  換言すると、本発明は、画像内のバーコードの位置、サイズ及び向きに制限を課すことなく、スマートフォンなどのモバイルスマート装置上で画像データのバーコード検出及びデコードを実行するための方法、即ち、これまで現在のスマートフォンによって提供される限られた処理能力によってできないと思われていたタスクを開放する。【００２９】  前記不連続線は、厳密に直線にならないという点で古典的な連続直線と異なってもよく、これは以下のことから理解される。【００３０】  前記典型的な不連続線は、前記処理される画像の不連続画像配列上の整数位置で定義され、例えば、整数位置から始まるとき、整数ステップの上昇又は下降を行うことができ、前記上昇ステップ又は前記下降ステップはそれぞれ不連続画像配列の整数位置に進む。【００３１】  不連続線は、例えば、サイズ（Ｎ，Ｎ）の二次元領域を横切る（整数）座標｛ｘｉ，ｙｉ｝対を有する１組の不連続点として定義されてもよく、ここで、Ｎ＝２ｎであり、ｎは１を超える整数であり、ｉとＮは整数であり、位置｛ｘ０＝０，ｙ０＝ｄ｝で始まり、｛ｘＮ−１＝Ｎ−１，ｙＮ−１＝ｄ＋ｓ｝で終わり、即ち、ｘ軸の終わりで、この線は、ｙ軸上ｄの始点より上のｓの位置で終わり、ここで、ｄは切片又は変位であり、ｓは傾き又は角度である。【００３２】
2021524106.tif 000003
、ｘとｓは、二進数で分解され、項１は、次のようになる。【００３３】
2021524106.tif 000004
【００３４】  また評価されるとき、例えばｓ＝３、即ちｓ＝（ｓ０，ｓ１，ｓ２）＝（１，１，０）の場合、この式は次のようになる。【００３５】
2021524106.tif 000005
【００３６】  次に、この式を０〜Ｎ−１の各ｘ（二進数で表された）に関して評価でき、ｄを全てのｙ座標に追加した後で所望の線を得ることが可能である。【００３７】  代替又は追加として、不連続線は、とりわけ、以下のように再帰的に定義されうる。例えば、前記処理される画像又は画像配列又は前記画像領域を、不連続線の異なる部分又はセグメントを含む２つの半分に分解又は分割できる。【００３８】  例えば、前記画像配列又は画像領域は、水平軸に沿った２つの半分に分割されてもよく、開始整数と偶数の上昇ステップが与えられた場合、画像配列半分又は画像領域半分のそれぞれの半分内で上昇ステップの半分を上昇させるように規定でき、奇数の上昇ステップの場合は、第１の画像配列半分又は第１の画像領域半分内で上昇の第１の半分を行うように規定でき、第１の半分内のステップ数はｆｌｏｏｒ（（上昇ステップ数）／２）であり、ここでｆｌｏｏｒは床関数であり、残りの数の上昇ステップは、第２の画像配列半分又は第２の画像領域半分内で実行される。【００３９】  この典型的な方法は、前記処理される画像又は画像配列の２つの点（即ち、２つの整数位置）を接続する不連続線を生成できる。【００４０】  完全性のため、前記処理される画像配列と交差する前記不連続線の始（又は終）点が、前記画像配列の外側（即ち、前記画像配列点又は画像配列指数の外側）にあることに注意されたい。換言すると、前記不連続線を表現できる領域（例えば、傾き又は角度及び切片又は変位が及ぶパラメータ空間）は、前記処理される画像を示す領域（例えば、前記画像配列指数）よりも延在できる。【００４１】
2021524106.tif 000006
【００４２】
2021524106.tif 000007
【００４３】
2021524106.tif 000008
【００４４】  更に、ステージｍに対する部分的離散ラドン変換を次のように定義できる。【００４５】
2021524106.tif 000009
【００４６】  本明細書において、用語「ステージｍ」は、２ｍ個ｖ∈０．．２ｎ−ｍ−１群の連続列内の全ての可能な加算を行う変換のステップとして理解されうる。第１ステージで、ｍ＝０の
2021524106.tif 000010
は、それぞれ４列を含むＮ／４個のストリップになり、その後も同様である。最終ステージで、ｍ＝ｎのとき、全ての列を含む１群だけになり、したがって、とりわけ、最終ラド
2021524106.tif 000011
【００４７】
2021524106.tif 000012
に変換するようなものである。更に、上記で、縦棒記号「Ｉ」は、配列内のパラメータを分離するために使用され（ｆ（ｘＩｙ）のように）、コンマ「，」は、これらのパラメータを分解できる二進次元を分離するために使用されたことに注意されたい。【００４８】  更に、２つの連続するステージ間のマッピングは次のように表されうる。【００４９】
2021524106.tif 000013
【００５０】  ここで、部分的ステージのビット数は、異なってもよく、ｍ（現在のステージ）に依存
2021524106.tif 000014
【００５１】  離散ラドン変換の実行前にデジタル画像又は画像配列に適用できる前述のフィルタは、例えば、エッジ検出フィルタ又は勾配フィルタでよい。例えば、フィルタは、画像画素の強度値の勾配を計算できる。【００５２】  そのようなフィルタの適用は、詳細には、処理される画像内のフィーチャを強調でき、輝度又は強度は、特にバーコードの場合のとき、鋭く変化するか不連続性を有する。【００５３】  したがって、前記典型的な勾配フィルタが前記パターンの縁又は輪郭も強調するので、これは、とりわけ、フィルタ画像配列の離散ラドン変換の出力内でパターンの頂点を検出するステップを容易にできる。【００５４】  例えば、フィルタ画像の離散ラドン変換の出力内のパターンは、四辺形（例えば、菱形）を有してもよく、前記可能な勾配フィルタは、四角形又は菱形パターンの縁又は輪郭を強調でき、その結果、四角形又は菱形パターンの頂点をより容易に検出及び位置確認できる。後でより詳細に典型的に示されるように、これは、処理される画像内の検出されるバーコードの位置の制限を改善できる。【００５５】  フィルタ画像配列を交差する複数の不連続線と所定の傾きに関する離散ラドン変換の前述の計算は、とりわけ、画像配列の中心に最も近い不連続線のＮ個の変位に関して計算されてもよく、ここでＮは整数及び画像配列の次元である。【００５６】  これは、フィルタ画像配列と交差する不連続線の全ての角度又は傾きに関して行われうる。【００５７】  驚くべきことに、前記Ｎ個の中央変位だけの離散ラドン変換の計算が、処理される画像内のバーコードの位置を確実かつ正確に検出し決定するのに十分であることが分かった。例えば、これまでは、バーコードの位置の推定を得るために、傾き又は角度ごとに少なくとも２Ｎ−１個の不連続線の変位を計算する必要があると仮定されていた。【００５８】  処理される画像と交差する不連続線の全ての変位及び傾きを計算する本明細書に示された方法は、より効率的であるだけでなく、変位の計算又は識別も容易にし、その理由は、前記変位を、処理される画像の固定中心点に対して定義できるからである。【００５９】  埋め込まれたバーコードを検出するために画像の上記及び本明細書に記載の処理を単純化し高速化するため、また処理されるデジタル画像がまだ正方形でない場合に、デジタル画像は、正方形画像（即ち、サイズＮｘＮの画像配列）にサイズ変更されてもよく、Ｎは整数である。【００６０】  詳細には、処理される画像は、例えば、サイズＮｘＮの画像配列に切断、パディング又は補間することによってサイズ変更されてもよく、ここで、Ｎ＝２ｎ、ｎは１より大きい整数である。【００６１】  これは、とりわけ、画像を半分に、更に２の倍数に分割できるので、画像の処理効率を改善でき、その結果、画像の処理（例えば、ラドン変換の計算）が、画像の副部分の様々な半分に並列に実行されうるようになる。【００６２】  更に、フィルタ画像配列の離散ラドン変換を４つの象限に実行でき、象限は、離散ラドン変換が計算されるフィルタ画像配列と交差する不連続線の特定の範囲の傾き又は角度を定義できる。【００６３】  例えば、第１象限が、０°〜４５°の不連続線傾きをカバーでき、第２象限が、４５°〜９０°の不連続線傾きをカバーでき、第３象限が、−９０°〜−４５°の不連続線傾きをカバーでき、第４象限が、−４５°〜０°の不連続線傾きをカバーできる。【００６４】  更に、第１象限の計算されたラドン変換の回転及び転換された複製が、第４象限と第１象限に付属されうる第５象限を定義できる。【００６５】  メビウス帯又はメビウスストライプ内の第４象限と第１象限を接続できる第５象限の導入は、処理される画像の近く又は縁にあるバーコードの検出及び位置確認を妨げうる境界効果を回避するのに役立ちうる。【００６６】  前述されたように、本明細書に記載された方法は、画像内のバーコードを検出し位置確認するために離散ラドン変換を計算する現在より効率的な方法である。【００６７】  例えば、フィルタ画像配列の離散ラドン変換は、フィルタ画像配列の１列又はデータ列ごとに実行されうる。これは、とりわけ、より効率的なコンピュータプロセッサメモリ管理を可能にし、例えば、別個のメモリバッファが、フィルタ画像配列のラドン変換の奇数及び偶数列の計算に割り当てられうる。【００６８】  例えば、計算される象限に関して、処理される画像と交差する不連続線のＮ個の角度のそれぞれのＮ個の中央変位だけが計算される場合は、離散ラドン変換の各中間ステージで、Ｎ値のデータストライプ又はＮ個の値の列として分散されたＮｘＮ値を計算するだけでよい。【００６９】  例えば、０°〜４５°の不連続線の傾きｓ又は角度をカバーする第１象限では、ｄを２
2021524106.tif 000015
ｄの中央部分だけを検討できる。【００７０】  詳細には、データストライプ間又はデータ列間の計算上の関係は、以下のように例示的に表され利用されうる。【００７１】  以前のステージｍからのデータから計算される特定のステージｍ＋１におけるデータを検討する。ここで、ｍは０〜ｎ−１の整数であり、ｎは整数であり、ｎ＝ｌｏｇ２（Ｎ）である。【００７２】  更に、二次元（ｄ，ｓ）領域内の２つの連続したデータ列又はデータストライプを検討する。ここで、指数Ｓ（偶数）とＳ＋１（奇数）はステージｍ＋１に属する。【００７３】  これらの列のそれぞれの所望のＮ値を計算するために、指数Ｓ０及びＳ１を有する列から来る長さＮの２つのストライプを加算できる。ここで、加算する列のｄ軸に沿った始点は
2021524106.tif 000016
【００７４】  次に、ステージｍ＋１の指数Ｓは、例えば、二進表示によって以下のように細分されうる。【００７５】
2021524106.tif 000017
【００７６】  次に、ステージｍの指数を以下のように表現できる。【００７７】
2021524106.tif 000018
【００７８】  他の軸ｄ上のストライプ又は列の始点を計算するために、次のように定義できる。【００７９】
2021524106.tif 000019
【００８０】  この値により、次のように計算できる。【００８１】
2021524106.tif 000020
【００８２】
2021524106.tif 000021
≪記号は二進シフトを指し、＜は０又は１に評価されるより低い比較である。【００８３】  換言すると、本明細書に提案された方法では、所定のステージの２つのデータ列を加算でき、前記加算の結果は、様々な後のステージからの列の計算が探しうるメモリ場所又は位置に配置又は記憶されうる。【００８４】  更に、計算の各ステップで、２つのメモリバッファが、ステージｍからのデータとステージｍ＋１からのデータを記憶できる。【００８５】  以下の擬似コードは、前のステップを含むアルゴリズムの典型的な実現であり、定義さ
2021524106.tif 000022
データをどのように関連付けるかを典型的に示す。【００８６】
2021524106.tif 000023
ータを加算する結果である。【００８７】
2021524106.tif 000024
ら下降する列Ｓ１内のＮ個のデータを加算する結果である。【００８８】
2021524106.tif 000025
【００８９】  しかしながら、本明細書に記載された方法を実行するコンピュータのメモリ配置により、行を中心としたアルゴリズムバージョンを使用できる。【００９０】  前述されたように、フィルタ画像配列（バーコードの画像）の離散ラドン変換を計算することによって生成された出力は、元領域内（即ち、元画像又は元画像座標）のバーコードの検出より容易に検出されうる（ｄ，ｓ）パラメータ空間又は領域（即ち、変位／切片及び傾き／角度領域）内の特別なパラメータを生成し変換される。【００９１】  詳細には、例えば、前記パターンは、フィルタ画像配列の離散ラドン変換を計算することによって生成された出力内で検出されうる縁又は頂点を含みうる。前記縁又は頂点は、処理されるデジタル画像内にあるバーコードの位置を制限できる情報を含む。【００９２】  詳細には、例えば、前記パターンは、四辺形（例えば、菱形）でよい。【００９３】  より正確には、ラドン変換出力内のパターンの検出された縁又は頂点は、デジタル画像内のバーコードの位置を制限するために画像配列内の不連続線に逆変換されうる。【００９４】  それにより、例えば、パターンの頂点の検出は、離散ラドン変換の出力内のそれらの強度値と分散に基づきうる。【００９５】  追加又は代替として、パターン（例えば、四角形又は菱形パターン）の頂点の検出は、前記頂点の検出のためにトレーニングされたニューラルネットワークによって実行されうる。【００９６】  それにより、デジタル画像内のバーコードの位置の制限は、とりわけ、検出パターンの検出された最上頂点と検出された最下頂点の縦方向指数の平均化を含む。これは、処理される画像内のバーコードの傾き又は角度を制限しうる。【００９７】  デジタル画像内にあるバーコードの位置の制限は、更に、検出されたパターンの２つの検出された横方向頂点（例えば、左側頂点と右側頂点）の水平指数の差の計算を含みうる。【００９８】  更に、検出された頂点を画像配列内の不連続線に変換することは、２つの検出された横方向頂点（例えば、左側頂点と右側頂点及び／又は最上頂点と最下頂点、又は頂点の他の組み合わせ）を、画像配列内の２つの不連続線の線パラメータに変換することと、前記２つの不連続線の交点を計算することを含む。【００９９】  前記交点は、例えば、処理される画像内のバーコードの中心の位置を制限できる。【０１００】  例えば、フィルタリングされた画像配列の離散ラドン変換の出力のラドンｄ及びｓパラメータ空間からの検出頂点を画像内の線のｘ及びｙパラメータ空間に変換することは、例えば０°〜４５°象限の場合、関係ｙ＝ｄ＋ｓ／（Ｎ−１）・ｘを計算することを含みうる。【０１０１】  ４５°〜９０°の場合、関係は、ｘ＝−ｄ＋（Ｎ−１−ｓ）／（Ｎ−１）・ｙと表されうる。【０１０２】  −４５°〜０°の場合、関係は、ｘ＝ｄ−ｓ／（Ｎ−１）・ｙと表されうる。【０１０３】  −９０°〜−４５°の場合、関係は、ｙ＝ｄ＋（ｓ−Ｎ＋１）／（Ｎ−１）・ｘと表されうる。【０１０４】  典型的には、二次元デジタル画像配列として表されるデジタル画像のバーコードを検出する方法は、以下の典型的なステップのうちの１つ、幾つか又は全てを含みうる。
・スマートモバイル装置カメラによって、画像を、必要に応じて中央の正方形領域、又は任意のアスペクト比を有する画像を取り込むステップ。
・必要に応じて、サイズＮｘＮ（例えば、（装置計算能力により）Ｎ＝５１２又はＮ＝１０２４のサイズを有する）の正方形画像になるように画像をサイズ変更するステップ。
・（正方形）画像の輝度チャネルの勾配のモジュールを計算するステップ。
・４つの象限の計算された勾配の離散ラドン変換を計算するステップであって、画像と交差する不連続線の角度又は傾きごとにＮ個の中央変位だけを計算するステップ。
・第１象限の垂直及び水平方向に反射されたバージョンを第４象限の右側に付属させて、Ｎ個の中央変位の離散ラドン変換（ＤＲＴＮ）の５象限バージョンを得るステップ。
・５象限バージョン（ＤＲＴＮ）内の最も顕著な菱形（例えば、そのより高い平均とより小さい相対分散に基づいて）を位置確認するステップであって、例えば、
・ＤＲＴＮの５象限バージョンの非重複パッチの平均と分散を局所的に分析し
・パッチをその大きさにより順序付け、より大きいパッチだけを取得し、隣接する場合はそのパッチをグループ化し、得られた菱形の頂点を抽出し、
・かつ／又は
・出力として勾配のＤＲＴＮ内に菱形の位置及び入力としてバーコードを含む数千の典型的な画像対内の菱形頂点を認識するように事前にトレーニングされたニューラルネットワークに、ＤＲＴＮの５つ象限バージョンを渡すステップと、
・菱形の最上及び最下頂点のｓ指数、即ち、正方形画像空間内のバーコードの傾きを平均化し、
・最上及び最下頂点間のｄ軸での差、即ち、正方形画像空間内のバーコードの高さの指標を取得し、
・菱形の左側及び右側頂点の座標を正方形画像空間内の線パラメータに変換し、これらの２本の線の交点、即ち、正方形画像空間内のバーコードのほぼ中心を計算し、
・カメラからの画像が、前述の任意ステップでサイズ変更及び／又は拡大された場合は、現在正方形画像座標を指しているバーコード位置の全ての事前計算された指標と制限を、元画像座標に変換し、
・検出又は位置確認されたバーコードの中心を通る単一線を分析するか、バーコードをその中心のまわりに長手方向に横切る幾つかの線の混合物を分析する、バーコードデコーダソフトウェアにより元画像座標内のバーコードの導出された高さ、傾き及び中心座標を使用することによって行われるステップ。【０１０５】  本明細書に記載された方法及び方法ステップは、コンピュータシステムによって実行でき、即ち、典型的なコンピュータシステムは、前述の方法ステップのいずれかによる方法によって実行するように構成されうる。【０１０６】  前記典型的なコンピュータシステムは、例えば、スマート装置（例えば、カメラを備えたスマートモバイル装置）を含みうる。【０１０７】  更に、１つ以上のコンピュータ可読記憶媒体は、計算処理システムの１つ以上のプロセッサによって実行されるとき、１つ以上のプロセッサに、デジタル画像内のバーコードを検出するために本明細書に記載の方法又は方法ステップを実行させる命令を記憶してもよい。【０１０８】  以下の図は、本発明のよりよい理解のための典型的な態様を示す。
【図面の簡単な説明】
【０１０９】
【図１ａ】偶数上昇を有する典型的な不連続線を示す図である。
【図１ｂ】奇数上昇を有する典型的な不連続線を示す図である。
【図１ｃ】サイズ８×８の典型的な画像配列の典型的な不連続線を示す図である。
【図２ａ】第１象限の典型的な離散ラドン変換を示す図である。
【図２ｂ】離散ラドン変換の典型的な４象限を示す図である。
【図３ａ】傾き又は上昇＝０の場合の典型的な不連続線／投影とそれらの加算寄与を示す図である。
【図３ｂ】傾き又は上昇＝Ｎ−１の場合の典型的な不連続線／投影とそれらの加算寄与を示す図である。
【図３ｃ】第１の２つ象限の古典的な従来のラドン変換の計算に関与する画素数の典型的な寄与を示す図である。
【図３ｄ】第１の２つ象限のＮ個の中央変位の離散ラドン変換（ＤＲＴＮ）の計算に関与する画素数の典型的な寄与を示す図である。
【図４】離散ラドン変換の計算の様々なステージの典型的なメモリパターン又はメモリ位置を示す図である。
【図５】データ列又はデータストライプの典型的な計算スキームを示す図である。
【図６】画像に埋め込まれたバーコードの位置を制限するための例を示す図である。
【発明を実施するための形態】
【０１１０】  図１ａ、図１ｂ及び図１ｃは、処理される画像配列又は画像１００，１０５を横切る不連続線１０３，１０４の幾つかの態様を典型的に示し、これらの線に沿って、本明細書に記載されたような離散ラドン変換が計算されうる。
【０１１１】  例えば、図１ａと図１ｂの画像又は画像配列１００は、サイズＮｘＮのものでよく（Ｎ＝２ｎ、ｎは１より大きい整数）、各画像配列点は、典型的な指数対（ｉ，ｊ）によって識別されうる（０≦ｉ，ｊ＜Ｎ、ｉ，ｊは整数）。
【０１１２】  前記指数は単なる例であり、特に、他の指数スキーム（例えば、指数が０の代わりに１から始まる）を使用できることが考えられる。
【０１１３】  前記典型的な画像又は画像配列又は画像領域１００は、１つの軸（例えば、水平軸）に沿って、幅Ｎ／２の２つの半分１０１，１０２に、例えば幅０からＮ／２−１の第１の半分１０１と、幅Ｎ／２からＮ−１の第２の半分に分割される。
【０１１４】  典型的に示された不連続線１０３は、切片ｄと傾き又は増加ｓにより定義されてもよく、ここでｄとｓは符号付き整数でよい。
【０１１５】  図１ａの前記典型的な不連続線１０３は、典型的には偶数の上昇ステップを含み、典型的には配列点（０，ｄ）と（Ｎ−１，ｄ＋ｓ）を接続し、不連続線１０３の上昇又は増加の第１の半分は、画像配列１００の第１の半分１０１で起こり、不連続線１０３の上昇又は増加の第２の半分は、画像配列１００の第２の半分１０２で起こる。
【０１１６】  参照数字１０８，１０９は、典型的には、不連続線１０３の始点と終点を示す。
【０１１７】  図１ｂの典型的な不連続線１０４は、典型的には、奇数の上昇ステップを含み、典型的には配列点（０，ｄ）と（Ｎ−１，ｄ＋２（ｆｌｏｏｒ（ｓ／２））＋１）を接続し、不連続線１０４の偶数の上昇又は増加ステップは、画像配列１００の第１の半分１０１で起こり、前記偶数は、ｆｌｏｏｒ（（上昇ステップ数）／２）であり、ｆｌｏｏｒは床関数であり、不連続線１０４の残りの数の上昇又は増加ステップは、画像配列１００の第２の半分１０２で起こる。
【０１１８】  参照数字１１０，１１１は、不連続線１０４の始点と終点を典型的に示す。
【０１１９】  図１ｃは、画像配列１０５を横切る２つの不連続線１０６，１０７の特定の例を典型的に示し、Ｎ＝８である。
【０１２０】  ここで、典型的には、不連続線１０６は、画像配列点（０，４）と（７，６）を接続し、即ち、線１０６は２つの上昇ステップで上昇し、ここで、第１の上昇ステップは、第１の画像半分又は第１の画像領域内で行われ、第２の上昇ステップは、第２の画像半分又は第２の画像領域内で行われる。
【０１２１】  典型的な不連続線１０７は、画像領域点（０，−１）と（７，４）を接続し、即ち、線１７６は、５つの上昇ステップで上昇し、第１の２つの上昇ステップは、第１の画像領域内で行なわれ、２つの他の上昇ステップは、第２の画像半分又は第２の画像領域内で行われ、残りの上昇ステップは、２つの半分の間で行われる。
【０１２２】  完全性のため、処理される画像配列と交差する不連続線の始（又は終）点は、画像配列の外側、即ち、画像配列点又は画像配列指数の外側にあることに注意されたい。
【０１２３】  図２ａは、処理される画像の第１象限２０４とサイズＮ２＝ＮｘＮの画像配列２００の典型的な離散ラドン変換を示し、ここで、Ｎ＝２ｎであり、ｎは１より大きい整数であり、Ｎは自然数である。
【０１２４】  典型的な画像配列２００は、例えば、（ｘ，ｙ）平面２０１内に示されてもよく、典型的指数対（ｉ，ｊ）によって識別されうるＮｘＮ画像配列点を含むことができ、ここで、０≦ｉ，ｊ＜Ｎであり、ｉ，ｊは整数である。
【０１２５】  典型的には、画像又は画像配列２００の左下角は、（ｘ，ｙ）平面２０１の始点、即ち画像配列点（０，０）と一致する。
【０１２６】  画像２００上の離散的ラドン変換を実行できる離散線が記述される領域は、典型的には、パラメータ（切片又は変位ｄと角度又は傾きｓ）の領域内でパラメータ化される。
【０１２７】  示された例は、離散ラドン変換を計算できる不連続線２０２である。
【０１２８】  前記典型的不連続線２０２は、処理される画像又は画像配列２００の１点だけを横切るか接触し、前記典型的な不連続線２０２は、例えば、切片又は変位ｄ＝−Ｎ＋１から始まり、傾きｓ＝Ｎで上昇する（即ち、Ｎステップ上昇）ように記述されうる。
【０１２９】  実際には、変位ｄ＝−Ｎ＋１の場合、第１象限内で離散ラドン変換の唯一の非ゼロ和は、Ｎステップ又は位置を上昇させるもの（即ち、不連続線２０２）になる。変位を変位ｄ＝−１まで大きくすると、非ヌル上昇の数が、変位ｄ＝０からｄ＝Ｎ−１に、和がヌルでない全ての可能な上昇に関して着実に増大する。
【０１３０】  更に他の例として、典型的には画像２００の最下縁又は最終行と一致する不連続線２１０が表され、不連続線２１０は、切片又は変位ｄ＝０から始まり、傾きｓ＝０（即ち、水平方向）の場合にＮステップ進行又は前進するように表される。
【０１３１】  典型的には、２０３で示された離散ラドン変換を、画像２００を横切る複数の不連続線に適用することにより、（ｄ，ｓ）平面２０８内に示された領域又は領域空間（即ち、切片又は変位ｄ及び角度又は傾きｓよってパラメータ化された領域）内に出力２０４が生成される。
【０１３２】  詳細には、描かれた典型的な計算出力２０４は、傾き０°から４５°、即ち第１の象限内の不連続線の傾き範囲を有する２Ｎ個の変位を含む１組の不連続線の離散的ラドン変換を実行することによって生成されうる。
【０１３３】  前記出力２０４は、サイズＮ２＋Ｎ（Ｎ−１）／２のものであり、典型的に描かれた形状のものである。
【０１３４】  前記出力２０４は、象限のラドン変換計算、より正確には第１象限のラドン変換計算とも呼ばれうる。
【０１３５】  図２ｂは、処理される画像２００の十分なグローバル離散ラドン変換を得るために、ラドン領域又はラドン領域空間２０９内で計算される４つ全ての象限２０４，２０５，２０６及び２０７の形状を典型的に示す。
【０１３６】  完全性のため、図２ｂの水平軸が角度ａｔａｎ（ｓ／（Ｎ−１））によってパラメータ化されることに注意されたい。しかしながら、傾きｓによって単純にパラメータ化されてもよい。
【０１３７】  前述のように、象限は、離散ラドン変換が計算されるフィルタリングされた画像配列と交差する不連続線の特定範囲の傾き又は角度を定義できる。
【０１３８】  例えば、第１象限２０４は、０°から４５°（０からπ／４）の不連続線傾き又は角度をカバーでき、第２象限２０５は、４５°から９０°（π／４からπ／２）の不連続線傾きをカバーでき、第３象限２０６は、−９０°から−４５°（−π／２から−π／４）の不連続線傾きをカバーでき、第４象限２０７は、−４５°から０°（−π／４から−０）の不連続線傾きをカバーできる。
【０１３９】  図３ａは、処理されＮ２＝ＮｘＮのサイズを有する画像又は画像配列３００を典型的に示し、ここで、Ｎ＝８、即ち画像は８×８画素を含む。
【０１４０】  この図は、更に、ラドン変換を実行できる、角度又は傾きｓ＝０を有するが２Ｎ個の異なる切片又は変位ｄを有する典型的な１組の投影又は１組の不連続線３０１を示す。
【０１４１】  参照数字３０２は、所定の不連続線３０１又は所定の投影ごとに、前記所定の不連続線又は投影のラドン変換の加算項に寄与する画像画素３０５の数を集計する１組の典型的なビンを示す。
【０１４２】  典型的に示した事例では、画像３００と交差又は横切る任意の投影又は不連続線３０１の場合、そのような投影又は不連続線のラドン変換の加算項に寄与する画像画素３０５の数は８である。
【０１４３】  図３ｂは、この場合も図３ａの画像又は画像配列３００を典型的に示すが、図３ａに示されたような異なる角度又は傾き、即ち、４５°（又は、ａｔａｎ（ｓ／（Ｎ−１））＝）π／４の角度又は傾きｓ＝Ｎ−１を有する典型的な１組の投影又は１組の不連続線３０３を典型的に示す。
【０１４４】  この場合も、ラドン変換を実行できる前記角度又は傾きの２Ｎ個の異なる切片又は変位ｄが示される。
【０１４５】  図３ａと同様に、参照数字３０４は、所定の不連続線３０３又は所定の投影ごとに前記所定の不連続線又は所定の投影のラドン変換の加算項に寄与する画像画素３０５の数を集計する１組の典型的なビンを示す。
【０１４６】  しかしながら、図３ａに示された場合と対照的に、画像３００を交差又は横断する投影又は不連続線３０３に沿ったラドン変換の加算項に寄与する画像画素３０５の数は変化する。
【０１４７】  例えば、投影又は不連続線３０６に関して（即ち、ｓ＝Ｎ−１及びｄ＝０）、ラドン変換の加算項に寄与する画像画素３０５の数は８になり、他の変位（即ち、他の投影又は不連続線３０２）の画像画素３０５に寄与する数は８未満になる。
【０１４８】  図３ｃは、とりわけ、（ｄ，ｓ）領域３１３に、図３ａ又は図３ｂのサイズ８×８の典型的な画像又は画像配列３００に実行される従来又は古典的ラドン変換の２つの中央象限３０７，３０８の各値の計算に関与する画素数を典型的かつ概略的に示し、輪郭３１１，３１２は、例示的に、０でないラドン変換の計算又は値を示すか、０でないラドン変換の加算項に関与する画素数を示す。
【０１４９】  最新技術とは対照的に、本発明は、１象限当たりの（離散）ラドン変換をより効率的に計算することを可能にし、その結果、所定の傾きを有する所定の不連続線ごとに、画像配列の次元の２倍より少ない数の変位だけの離散ラドン変換が計算される。
【０１５０】  詳細には、本発明は、所定の傾きを有する所定の不連続線に対するＮ個の中央変位の離散ラドン変換（ＤＲＴＮ）の計算を可能にする。
【０１５１】  典型的には、２つの典型的に示された象限３０７，３０８の所定の傾きを有する所定の不連続線のＮ個の中央変位（ＤＲＴＮ）の寄与画素数は、輪郭３０９及び３１０によって示される。
【０１５２】  図３ｄは、２つの典型的に示された象限３０７，３０８の所定の傾きを有する所定の不連続線のＮ個の中央変位（ＤＲＴＮ）の寄与画素３０９，３１０の数だけを、再構成した方式で典型的に示し、それにより、本発明の典型的な有利な効果を典型的に示し、象限の（ｄ，ｓ）領域内の計算又は必要なメモリユニットの数又はスケールは、２ＮｘＮからＮｘＮまで減少した。
【０１５３】  換言すると、本発明は、メモリと計算要件の著しい節減を提供できる。
【０１５４】  図４は、処理される画像又は画像配列（例えば、ＮｘＮ画像配列（Ｎ＝１６＝２ｎ＝２４））に対する離散ラドン変換の計算の様々なステージｍ（ｍは０からｎの整数、例えばｎは整数ｎ＝４）に関する、角度又は傾きｓ及び切片又は変位ｄの領域４０５内のデータメモリパターン又はデータメモリ位置４００，４０１，４０２，４０３，４０４を典型的かつ概略的に示す。
【０１５５】  ここで一般に、用語「ステージｍ」は、とりわけ、処理される画像又は画像配列に対する離散ラドン変換の計算の１段階として理解されてもよく、ここで、ステージｍ＝０（例えば、４００）は、離散ラドン変換の加算項がまだ計算されていないときの最初の段階であり、最終ステージ（例えば、ステージ４０４、ｍ＝ｎ、ｎは整数、ｎ＝ｌｏｇ２（Ｎ））は、全ての離散ラドン変換計算が実行されたときの段階である。そして任意の中間ステージ（例えば、４０１，４０２，４０３）は、必要な離散ラドン変換計算ステップの一部分だけが実行されたステージ、即ち、離散ラドン変換計算が部分的にだけ計算されたステージを指しうる。
【０１５６】  本明細書において、ｍ＝０の初期ステージ又は入力ステージを典型的に表すメモリパターン４００は、とりわけ、処理される入力画像又は画像配列に対する離散ラドン変換の計算中に実行される計算の計算値を保持又は記憶するために確保されたコンピュータシステム内のメモリ空間又はメモリ位置として理解される。
【０１５７】  入力としてＮｘＮ画像配列を有する従来の離散ラドン変換の場合、メモリパターン又はデータメモリ位置のサイズは、少なくとも、角度又は傾き位置ｓ（水平軸）でサイズＮ、及び切片又は変位ｄ（垂直軸）でサイズ２Ｎのものになり、例えば、第１ステージで、メモリパターンの下側半分４０６（網掛け灰色塗りつぶしで示された）がゼロで埋められ、他の半分４０７（塗りつぶしなし／白色）、例えば、上側半分は、例えば、処理される画像又は画像配列（例えば、サイズＮｘＮ）の画像画素強度値で埋められうる。
【０１５８】  しかしながら、サイズＮｘ２Ｎの全メモリ空間を必要とする代わりに、本発明は、より小さいメモリ空間の使用を可能にするか、メモリ空間のより効率的な使用を可能にする。
【０１５９】  示された例では、白画素又は白領域は、とりわけ、例えば本明細書に記載された方法により計算する必要がある（ｄ，ｓ）領域空間４０５内の位置を示すように理解されうる。
【０１６０】  灰色／網掛け画素又は灰色／網掛け領域は、とりわけ、従来の離散ラドン変換技術で計算されなければならないが、本明細書に提案された方法によって回避できる（ｄ，ｓ）領域空間４０内のこれらの位置を示すように理解されうる。
【０１６１】  図４から明らかなように、それにより、計算されるデータの列又はストライプは、徐々に下方に移動できる。
【０１６２】  前述されたように、データストライプ又はデータ列間の計算の関係は、特定のステージｍ＋１におけるデータをその前のステージｍからのデータから計算できることを実現することによって引き出され、ここで、ｍは０からｎ−１の整数、ｎは整数、ｎ＝ｌｏｇ２（Ｎ）である。
【０１６３】  詳細には、例えば、Ｎ個の中央変位の離散ラドン変換（ＤＲＴＮ）において、１ステージの長さＮの２つのデータストライプ又はデータ列（例えば、偶数及び奇数のデータストライプ又はデータ列）は、次のステージのデータストライプ又はデータ列を得るために加算されうる。
【０１６４】  換言すると、各ステージで、１データ列又はデータストライプ当たりのＮ値を計算するだけでよい。
【０１６５】  中間ステージ４０３（例えば、ｍ＝３）の長さＮ（垂直）の典型的なデータストライプ又はデータ列が、典型的に参照数字４０８で示される。
【０１６６】  次に、ｎステージに実行されたときにＮ個の中央変位の離散ラドン変換（ＤＲＴＮ）のこの典型的なデータ列又はデータストライプを基準にした計算スキームは、最終ステージ４０４で、参照数字４０９によって示され入力画像又は画像配列のサイズ（例えば、サイズＮｘＮ）のメモリパターン又はメモリ領域又はフットプリントに集束できる。その典型的フットプリント４０９は、十分と考えられるデータ又はデータ計算の一部分に対応し、図３ｄで修正され示されたデータ部分３０９又は３１０と類似するが、この事例ではＮ＝８である。
【０１６７】  これと比較して、従来の離散ラドン変換計算スキームは、参照数字４１０によって示されたより大きいメモリパターン又はメモリ領域又はフットプリントをもたらす。
【０１６８】  予期せずまた驚いたことに、前記フットプリント４１０内の全てのこれらの灰色／網掛け画素は、ゼロ以外の情報を伝えうるが、この情報は安全に無視できるということが分かり、これは、この情報の重み又は重要性が、白色画素、即ちＮ個の中央変位の離散ラドン変換（ＤＲＴＮ）から得られたメモリ領域又はフットプリント４０９に含まれる情報（ゼロと異なる合計）と比較してわずかであることが分かったからである。
【０１６９】  図５は、参照数字５００及び５０１で示された２つの典型的な連続ステージｍ及びｍ＋１の参照数字５０３、５０４、５０５及び５０６で示された、典型的なデータ列又はデータストライプＳ０、Ｓ１、Ｓ及びＳ＋１の典型的な切片又は変位ｄ及び角度又は傾きｓ、（ｄ，ｓ）領域空間５０２内で動作する計算スキームを典型的に示す。
【０１７０】  前に示されたように、本明細書で提案された方法では、離散ラドン変換を計算する所定のステージにおけるデータ列又はデータストライプの計算は、それ以前のステージからのデータ列又はデータストライプの計算を利用できる。
【０１７１】  例えば、この場合、典型的ステージｍ＋１におけるデータは、それ以前のステージｍからのデータから計算でき、ここで、ｍは０からｎ−１の整数であり、ｎは整数であり、ｎ＝ｌｏｇ２（Ｎ）であり、Ｎは、処理される画像又は画像配列の整数次元であり、例えばＮｘＮ画像配列である。
【０１７２】  指数Ｓ（偶数）とＳ＋１（奇数）を有する二次元（ｄ，ｓ）領域５０２内の典型的な２つの連続したデータ列又はデータストライプは、前述したように、ステージｍ＋１に属する。
【０１７３】  これらの列のそれぞれの所望のＮ値を計算するために、指数Ｓ０及びＳ１を有する列から来る長さＮの２つのストライプを加算できる。加算する列のｄ軸に沿った始点は、参照数
2021524106.tif 000026
【０１７４】
2021524106.tif 000027
の領域又はストライプ５１０、５１１及び５１２は、典型的には実線の真っ直ぐな角の枠によって構成される。
【０１７５】
2021524106.tif 000028
結果である。図５で、これらの領域又はストライプ５１３、５１４及び５１５は、点線の丸い角の枠によって形成される。
【０１７６】  ここで、接頭語「ｔｏｐ」は、典型的には、中間結果を記憶するために使用される一時バッファの最大垂直指数又は次元を示す。この指数は、例えば、３Ｎ／２に低下されてもよく、これは、より大きい指数を必要とする最新方法を超える改善である。
【０１７７】  換言すると、本明細書で提案される方法では、所定のステージの２つのデータ列が加算されてもよく、前記加算の結果は、別のより後のステージからの列の計算が求めうるメモリ場所又は位置に配置又は記憶されうる。
【０１７８】  図６は、画像６０１（例えば、モバイル装置（例えば、スマートフォン）に一体化されたデジタルカメラによって取り込まれた画像）に埋め込まれたバーコード６１２の位置を制限するための例を提供する。
【０１７９】  示された例では、画像配列領域６１５の典型的な画像６０１又は画像配列（ｘ，ｙ）平面は、とりわけ、線形一次元バーコード６１２を有する物品のラベル又はタグ６１４（例えば、価格タグ）を含む。
【０１８０】  Ｎ個の中央変位の離散ラドン変換（ＤＲＴＮ）を前記画像に適用する前に、画像領域にフィルタを適用でき、これにより、前に示されたように、とりわけ画像６０１に適用され、より正確には画像６０１のフィルタバージョン（図示せず）に適用されうるＮ個の中央変位の離散ラドン変換（ＤＲＴＮ）の出力の分析が容易になる。
【０１８１】  左側に、画像６０１又は画像のフィルタバージョン（図示せず）に適用されたＮ個の中央変位の典型的離散ラドン変換（ＤＲＴＮ）の出力６００が示される。この出力は、（ｄ，ｓ）領域又は領域空間６０７内に示され、ここで、ｄは（垂直）変位又は切片、ｓは角度又は傾きである。
【０１８２】  前述したように、本明細書に記載された離散ラドン変換は、（ｄ，ｓ）領域又は領域空間６０７内の特定又は特殊パターンを生成でき、そこから画像６０１に埋め込まれたバーコード６１２の位置を導出又は制限できる。
【０１８３】  この図では、４つの頂点６０２，６０３，６０４，６０５を有する典型的な四角形（例えば、菱形）パターン６０６が示され、これは、前述されたように容易に検出でき、これから、画像配列領域６１５の（ｘ，ｙ）平面内のバーコード６１２の位置の制限を導出できる。
【０１８４】  より正確には、デジタル画像内にあるバーコードの位置を制限するために、ラドン変換出力内のパターンの検出された縁又は頂点を画像配列内の不連続線に逆変換できる。
【０１８５】  これにより、デジタル画像６０１内にあるバーコード６１２の位置の制限は、とりわけ、検出パターン６０６の検出された最上頂点６０４と検出された最下頂点６０５の縦方向指数又は切片又は傾きの平均化を含む。これは、処理される画像６０１内のバーコードの傾き又は角度を制限しうる。
【０１８６】  デジタル画像内のバーコードの位置を制限することは、更に、検出パターン６０６の２つの検出された横方向頂点６０２，６０３（例えば、左側頂点６０２と右側頂点６０３）の水平指数又は傾き若しくは角度ｓの差を計算することを含みうる。
【０１８７】  更に、検出された頂点を画像配列内の不連続線に逆変換することは、２つの検出された横方向頂点６０２，６０３（例えば、左側頂点６０２と右側頂点及び／又は最上頂点６０４と最下頂点６０５、又は頂点の任意の他の組み合わせ）を、画像６０１の画像配列領域６１５の（ｘ，ｙ）平面内の不連続線の線パラメータに変換することを含みうる。
【０１８８】  例えば、２つの不連続線６０８，６０９の交点６１３を計算でき、前記２つの不連続線６０８，６０９は、２つの検出された横方向頂点６０２，６０３（例えば、左側頂点６０２と右側頂点）を画像６０１の画像配列領域６１５の（ｘ，ｙ）平面に変換することによって得られる。
【０１８９】  前記交点６１３は、例えば、処理される画像６０１内のバーコードの中心の位置を制限できる。
【０１９０】  例えば、検出された最上頂点６０４と最下頂点６０５を画像６０１の画像配列領域６１５の（ｘ，ｙ）平面に変換することによって、画像６０１内のバーコードの向きと高さを制限できる線６１０及び６１１が得られる。
【０１９１】  詳細には、例えば、フィルタリングされた画像配列の離散ラドン変換の出力のラドンｄ及びｓパラメータ空間からの検出された頂点を画像内の線のｘ及びｙパラメータ空間に変換することは、例えば第１象限に関して、関係ｙ＝ｄ＋ｓ／ｘ（Ｎ−１）ｘを計算することを含みうる。
【０１９２】  換言すると、画像内のバーコードの存在は、その勾配のＤＲＴＮ変換で、四角形又は菱形ゾーン又はパターンを生成でき、これは、より大きい値を有し、同時に非バーコード関連画像フィーチャから生じる他のゾーン又はパターンの残りのものより小さい相対分散を有するという特徴を有する。
【０１９３】  通常、これらの２つの特徴（平均値と相対分散）に基づく単純な局所検出器は、特に、ここに示されたような分離型バーコード６１２の場合には十分である。
【０１９４】  しかしながら、高い周波数を有する領域又は非バーコード関連画像フィーチャが、バーコードの隣りにあるときは、四角形又は菱形ゾーン又はパターン６０６が、このためにトレーニングされたニューラルネットワークによって検出され配置されて好都合である。
【０１９５】  典型的には、検出されたバーコード６１２に関連しないテキストや記号６１７，６１８などの画像６００内のフィーチャから生じる人工パターン６１６が示される。これらは、ノイズと見なされうる。しかしながら、図示されたように、四角形（例えば、菱形）パターン６０６は、十分に大きい信号雑音係数を有し、したがって、これらの非バーコード関連フィーチャは、バーコードの検出と位置確認を妨げない。
【０１９６】  図１ａ、図１ｂ、図１ｃ、図２ａ、図２ｂ、図３ａ、図３ｂ、図３ｃ、図３ｄ、図４、図５及び図６を含む７枚の図面が後に続き、参照数字は以下のように割り当てられる。
【符号の説明】
【０１９７】  １００  典型的な画像／画像配列
１０１  水平軸に沿って分割された画像／画像配列の典型的な（第１の）半分
１０２  水平軸に沿って分割された画像／画像配列の典型的な（第２の）半分
１０３  典型的な不連続線
１０４  典型的な不連続線
１０５  典型的な画像／画像配列
１０６  偶数上昇／偶数上昇ステップを有する典型的な不連続線
１０７  奇数上昇／奇数上昇ステップを有する典型的な不連続線
１０８  典型的な始点
１０９  典型的な終点
１１０  典型的な始点
１１１  典型的な終点
２００  処理される典型的な画像又は画像配列
２０１  画像配列領域の（ｘ，ｙ）平面の典型的な起点
２０２  典型的な不連続線
２０３  典型的なラドン変換
２０４  ラドン変換の典型的な出力、典型的な第１象限
２０５  典型的な第２象限
２０６  典型的な第３象限
２０７  典型的な第４象限
２０８  ラドン領域の（ｄ，ｓ）平面の典型的な起点
２０９  水平軸がａｔａｎ（ｓ／（Ｎ−１））でパラメータ化されたラドン領域の典型的起点
３００  典型的な画像又は画像配列
３０１  典型的な１組の投影又は１組の不連続線
３０２  各不連続線又は各投影に関して、前記所定の投影又は線のラドン変換の加算項に寄与する画像画素の数を計数する典型的な１組の典型的なビン
３０３  典型的な１組の投影又は不連続線
３０４  各不連続線又は各投影に関して、前記所定の投影又は線のラドン変換の加算項に寄与する画像画素の数を投影する典型的な１組の典型的なビン
３０５  典型的な画像画素
３０６  典型的な投影／典型的な不連続線
３０７  典型的な（第１）象限
３０８  典型的な（第２）象限
３０９  典型的な輪郭
３１０  典型的な輪郭
３１１  典型的な輪郭
３１２  典型的な輪郭
３１３  典型的な（ｄ，ｓ）領域又は領域空間であり、ｄは（垂直）変位又は切片であり、ｓは角度又は傾きである
４００  初期ステージ又は入力ステージにおける典型的なデータメモリパターン又はデータメモリ位置
４０１  中間ステージ（例えば、第１ステージ）の典型的なデータメモリパターン又はデータメモリ位置
４０２  中間ステージ（例えば、第２ステージ）の典型的なデータメモリパターン又はデータメモリ位置
４０３  中間ステージ（例えば、第３ステージ）の典型的なデータメモリパターン又はデータメモリ位置
４０４  典型的な最終ステージ（例えば、出力ステージ）の典型的なデータメモリパターン又はデータメモリ位置
４０５  典型的な（ｄ，ｓ）領域又は領域空間であり、ｄは（垂直）変位又は切片であり、ｓは角度又は傾きである
４０６  入力ステージにおけるメモリパターンの典型的な下側半分
４０７  入力ステージにおけるメモリパターンの典型的な上側半分
４０８  （垂直）長さＮの典型的なデータストライプ又はデータ列
４０９  Ｎ個の中央変位の離散ラドン変換（ＤＲＴＮ）の出力としての最終ステージの典型的なメモリ領域
４１０  従来の離散ラドン変換の出力としての最終ステージの典型的なメモリ領域
５００  （ｄ，ｓ）領域又は領域空間内のＮ個の中央変位の離散ラドン変換（ＤＲＴＮ）の計算の典型的ステージ（例えば、ステージｍ）であり、ｄは（垂直）変位又は切片であり、ｓは角度又は傾きである
５０１  （ｄ，ｓ）領域又は領域空間内のＮ個の中央変位の離散ラドン変換（ＤＲＴＮ）の計算の典型的ステージ（例えば、ステージｍ＋１）であり、ｄは（垂直）変位又は切片であり、ｓは角度又は傾きである
５０２  典型的な（ｄ，ｓ）領域又は領域空間であり、ｄは（垂直）変位又は切片であり、ｓは角度又は傾きである
５０３  典型的なデータ列又は指数Ｓ０
５０４  典型的なデータ列又は指数Ｓ１
５０５  典型的なデータ列又は指数Ｓ
５０６  典型的なデータ列又は指数Ｓ＋１
５０７  ｄ軸の（垂直）オフセットの典型的な値
５０８  ｄ軸の（垂直）オフセットの典型的な値
５０９  ｄ軸の（垂直）オフセットの典型的な値
５１０  典型的なデータストライプ
５１１  典型的なデータストライプ
５１２  典型的なデータストライプ
５１３  典型的なデータストライプ
５１４  典型的なデータストライプ
５１５  典型的なデータストライプ
５１６  典型的なデータストライプ
６００  Ｎ個の中央変位の典型的離散ラドン変換（ＤＲＴＮ）の典型的な出力
６０１  例えばモバイル装置に一体化されたデジタルカメラによって取り込まれた典型的な画像
６０２  典型的な頂点
６０３  典型的な頂点
６０４  典型的な頂点
６０５  典型的な頂点
６０６  典型的なパターン（例えば、典型的な四角形（例えば、菱形））パターン
６０７  典型的な（ｄ，ｓ）領域又は領域空間であり、ｄは（垂直）変位又は切片であり、ｓは角度又は傾きである
６０８  検出された頂点から導出された画像配列領域の（ｘ，ｙ）平面内の典型的な線
６０９  検出された頂点から導出された画像配列領域の（ｘ，ｙ）平面内の典型的な線
６１０  検出された頂点から導出された画像配列領域の（ｘ，ｙ）平面内の典型的な線
６１１  検出された頂点から導出された画像配列領域の（ｘ，ｙ）平面内の典型的な線
６１２  典型的なバーコード
６１３  画像配列領域の（ｘ，ｙ）平面内のバーコードの典型的な中心位置
６１４  典型的なラベル
６１５  画像又は画像配列領域の典型的な（ｘ，ｙ）平面
６１６  典型的な人工パターン（非バーコード関連画像フィーチャから生じるパターン）
６１７  バーコードに関連しない画像内の典型的フィーチャ
６１８  バーコードに関連しない画像内の典型的フィーチャ
【図１ａ】
2021524106.tif 000029
【図１ｂ】
2021524106.tif 000030
【図１ｃ】
2021524106.tif 000031
【図２ａ】
2021524106.tif 000032
【図２ｂ】
2021524106.tif 000033
【図３ａ】
2021524106.tif 000034
【図３ｂ】
2021524106.tif 000035
【図３ｃ】
2021524106.tif 000036
【図３ｄ】
2021524106.tif 000037
【図４】
2021524106.tif 000038
【図５】
2021524106.tif 000039
【図６】
2021524106.tif 000040
【国際調査報告】
2021524106.tif 000041
2021524106.tif 000042