(57)【要約】   この開示は、画像内でバーコードを検出するための技術を記述する。画像プロセッサは、例えば、バーコードであることができる画像内で領域を検出するために画像を処理できる。画像プロセッサは、潜在的なバーコードとして共通に即時に低い光強度とともにピクセルの高い集中およびエッジの高い集中を示す画像の領域を識別できる。画像プロセッサは、多数のモルフォロジー演算を用いてその領域を識別できる。画像プロセッサは、その領域が固有のバーコード機能を有するかどうかを確認することによって識別された領域が実際にバーコードであるかどうかをそのとき決定できる。この開示の中に記述されるバーコード検出技術は、その画像内でバーコードの大きさ、位置およびオリエンテーションから独立することができる。更に、モルフォロジー演算の使用は、より低い計算の複雑性と同じように、より速くおよびより計画的に効率のよいバーコード検出に帰着する。
2011518363.tif 000002
【特許請求の範囲】
【請求項１】
強度変化しきい値を超える強度における変化を興味のシーンのデジタル画像内でエッジとして識別することと、
輝度強度が強度しきい値より低い前記デジタル画像の領域を低い強度領域として識別することと、
前記識別された低い強度領域および前記識別されたエッジに基づいて前記デジタル画像内でバーコードを検出することと
を具備する方法。
【請求項２】
前記デジタル画像内で前記バーコードを検出することは、前記識別された低い強度領域および前記識別されたエッジを空間的に共通に即時に含む前記デジタル画像内での位置で前記バーコードを検出することを備える、請求項１に記載の方法。
【請求項３】
前記識別された低い強度領域および前記識別されたエッジを空間的に共通に即時に含む前記デジタル画像内での位置で前記バーコードを検出することは、
少なくとも１つのモルフォロジー演算を用いて前記識別されたエッジの高い集中を示す前記画像内で位置を識別することと、
少なくとも１つのモルフォロジー演算を用いて前記識別された低い強度領域の高い集中を示す前記画像内で位置を識別することと、
前記識別された低い強度領域の高い集中および前記識別されたエッジの高い集中の両方を示す前記デジタル画像内での位置で前記バーコードを検出することと
を更に備える、請求項２に記載の方法。
【請求項４】
前記少なくとも１つのモルフォロジー演算は、クロージング、オープニング、浸食および拡張の少なくとも１つを備える、請求項３記載の方法。
【請求項５】
前記デジタル画像内で前記識別されたエッジを表現するエッジマップを生成することと、
前記デジタル画像内で前記識別された低い強度領域を表現する低い強度マップを生成することと、
組み合わされた画像を生成するために前記低い強度マップおよび前記エッジマップを組み合わせることと
を更に具備し、
前記デジタル画像内で前記バーコードを検出することは、前記組み合わされた画像に基づいて前記デジタル画像内で前記バーコードを検出することを備える、請求項２記載の方法。
【請求項６】
前記識別された低い強度領域および前記識別されたエッジを空間的に共通に即時に含む前記画像内で少なくとも１つの位置を生成するために前記組み合わされた画像上で１つ以上のモルフォロジー演算を実行することを更に具備する、請求項５記載の方法。
【請求項７】
前記画像内で前記バーコードを検出することは、
前記識別された低い強度領域および前記識別されたエッジを空間的に共通に即時に含む前記画像内で位置を識別することと、
前記位置が１つ以上のバーコード基準を満たす場合に前記識別された位置がバーコードであるための候補位置であるということを決定することと、
前記識別された位置で興味の前記シーンが固有のバーコード機能を含む場合に前記識別された位置がバーコードであるということを決定することと
を備える、請求項１に記載の方法。
【請求項８】
前記識別された位置がバーコードであるための対象位置であるということを決定することは、前記識別された位置の充てん要因、前記識別された位置の大きさおよび前記識別された位置の形状の少なくとも１つに基づいて前記識別された位置がバーコードであるための候補位置であるということを決定することを備える、請求項７に記載の方法。
【請求項９】
前記識別された位置で興味の前記シーンが固有のバーコード機能を含む場合に前記識別された位置がバーコードであるということを決定することは、前記識別された位置で興味の前記シーン内でバーコードファインダーパターンを検出すると前記識別された位置がバーコードであるということを決定することを備える、請求項７に記載の方法。
【請求項１０】
強度変化しきい値を超える強度における変化を興味のシーンのデジタル画像内でエッジとして識別し、輝度強度が強度しきい値より低い前記デジタル画像の領域を低い強度領域として識別し、および前記識別された低い強度領域および前記識別されたエッジに基づいて前記デジタル画像内でバーコードを検出するバーコード検出モジュールを含むプロセッサを備える装置。
【請求項１１】
前記バーコード検出モジュールは、前記識別された低い強度領域および前記識別されたエッジを空間的に共通に即時に含む前記デジタル画像内での位置でバーコードを検出する、請求項１０に記載の装置。
【請求項１２】
前記バーコード検出モジュールは、少なくとも１つのモルフォロジー演算を用いて前記識別されたエッジの高い集中を示す前記画像内で位置を識別し、少なくとも１つのモルフォロジー演算を用いて前記識別された低い強度領域の高い集中を示す前記画像内で位置を識別し、前記識別された低い強度領域の高い集中および前記識別されたエッジの高い集中の両方を示す前記デジタル画像内での位置で前記バーコードを検出する、請求項１１に記載の装置。
【請求項１３】
前記少なくとも１つのモルフォロジー演算は、クロージング、オープニング、浸食および拡張の少なくとも１つを備える、請求項１２に記載の装置。
【請求項１４】
前記バーコード検出モジュールは、前記デジタル画像内で前記識別されたエッジを表現するエッジマップを生成し、前記デジタル画像内で前記識別された低い強度領域を表現する低い強度マップを生成し、組み合わされた画像を生成するために前記低い強度マップおよび前記エッジマップを組み合わせ、前記組み合わされた画像に基づいて前記デジタル画像内で前記バーコードを検出する、請求項１１に記載の装置。
【請求項１５】
前記バーコード検出モジュールは、前記識別された低い強度領域および前記識別されたエッジを空間的に共通に即時に含む前記画像内で少なくとも１つの位置を生成するために前記組み合わされた画像上で１つ以上のモルフォロジー演算を実行する、請求項１４に記載の装置。
【請求項１６】
前記バーコード検出モジュールは、前記識別された低い強度領域および前記識別されたエッジを空間的に共通に即時に含む前記画像内で位置を識別し、前記位置が１つ以上のバーコード基準を満たす場合に前記識別された位置がバーコードであるための対象位置であるということを決定し、前記識別された位置で興味の前記シーンが固有のバーコード機能を含む場合に前記識別された位置がバーコードであるということを決定する、請求項１０に記載の装置。
【請求項１７】
前記バーコード検出モジュールは、前記識別された位置の充てん要因、前記識別された位置の大きさおよび前記識別された位置の形状の少なくとも１つに基づいて前記識別された位置がバーコードであるための対象位置であるということを決定する、請求項１６に記載の装置。
【請求項１８】
前記バーコード検出モジュールは、前記識別された位置で興味の前記シーン内でバーコードファインダーパターンを検出することによって前記識別された位置がバーコードであるということを決定する、請求項１６に記載の装置。
【請求項１９】
前記装置は無線通信装置を備える、請求項１０に記載の装置。
【請求項２０】
前記装置は統合された回路装置を備える、請求項１０に記載の装置。
【請求項２１】
プロセッサに、
強度変化しきい値を超える強度における変化を興味のシーンのデジタル画像内でエッジとして識別させ、
輝度強度が強度しきい値より低い前記デジタル画像の領域を低い強度領域として識別させ、
前記識別された低い強度領域および前記識別されたエッジに基づいて前記デジタル画像内でバーコードを検出させる
ための命令を具備するコンピュータ読み取り可能媒体。
【請求項２２】
前記プロセッサに前記デジタル画像内で前記バーコードを検出させるための命令は、前記プロセッサに前記識別された低い強度領域および前記識別されたエッジを空間的に共通に即時に含む前記デジタル画像内での位置で前記バーコードを検出させるための命令を備える、請求項２１に記載のコンピュータ読み取り可能媒体。
【請求項２３】
前記プロセッサに前記識別された低い強度領域および前記識別されたエッジを空間的に共通に即時に含む前記デジタル画像内での位置で前記バーコードを検出させるための命令は、前記プロセッサに、
少なくとも１つのモルフォロジー演算を用いて前記識別されたエッジの高い集中を示す前記画像内で位置を識別させ、
少なくとも１つのモルフォロジー演算を用いて前記識別された低い強度領域の高い集中を示す前記画像内で位置を識別させ、
前記識別された低い強度領域の高い集中および前記識別されたエッジの高い集中の両方を示す前記デジタル画像内での位置で前記バーコードを検出させる
ための命令を更に備える、請求項２２に記載のコンピュータ読み取り可能媒体。
【請求項２４】
前記少なくとも１つのモルフォロジー演算は、クロージング、オープニング、浸食および拡張の少なくとも１つを備える、請求項２３に記載のコンピュータ読み取り可能媒体。
【請求項２５】
前記プロセッサに、
前記デジタル画像内で前記識別されたエッジを表現するエッジマップを生成させ、
前記デジタル画像内で前記識別された低い強度領域を表現する低い強度マップを生成させ、
組み合わされた画像を生成するために前記低い強度マップおよび前記エッジマップを組合させる
ための命令を更に具備し、
前記プロセッサに前記デジタル画像内で前記バーコードを検出させるための命令は、前記プロセッサに前記組み合わされた画像に基づいて前記デジタル画像内で前記バーコードを検出させるための命令を備える、請求項２２に記載のコンピュータ読み取り可能媒体。
【請求項２６】
前記プロセッサに空間的に共通に即座に前記識別された低い強度領域および前記識別されたエッジを含む前記画像内で少なくとも１つの位置を生成するために前記組み合わされた画像上で１つ以上のモルフォロジー演算を実行させるための命令を更に備える、請求項２５に記載のコンピュータ読み取り可能媒体。
【請求項２７】
前記プロセッサに前記画像内で前記バーコードを検出させるための命令は、前記プロセッサに、
前記識別された低い強度領域および前記識別されたエッジを空間的に共通に即時に含む前記画像内で位置を識別させ、
前記位置が１つ以上のバーコード基準を満たす場合に前記識別された位置がバーコードであるための対象位置であるということを決定させ、
前記識別された位置で興味の前記シーンが固有のバーコード機能を含む場合に前記識別された位置がバーコードであるということを決定させる
ための命令を備える、請求項２１に記載のコンピュータ読み取り可能媒体。
【請求項２８】
前記プロセッサに前記識別された位置がバーコードであるための対象位置であるということを決定させるための命令は、前記プロセッサに前記識別された位置の充てん要因、前記識別された位置の大きさ、前記識別された位置の形状の少なくとも１つに基づいて前記識別された位置がバーコードであるための対象位置であるということを決定させるための命令を備える、請求項２７に記載のコンピュータ読み取り可能媒体。
【請求項２９】
前記プロセッサに前記識別された位置で興味の前記シーンが固有のバーコード機能を含む場合に前記識別された位置がバーコードであるということを決定させるための命令は、前記プロセッサに前記識別された位置で興味のシーン内でバーコードファインダーパターンを検出することによって前記識別された位置がバーコードであるということを決定させるための命令を備える、請求項２７に記載のコンピュータ読み取り可能媒体。
【請求項３０】
強度変化しきい値を超える強度における変化を興味のシーンのデジタル画像内でエッジとして識別するための手段と、
輝度強度が強度しきい値より低い前記デジタル画像の領域を低い強度領域として識別するための手段と、
前記識別された低い強度領域および前記識別されたエッジに基づいて前記デジタル画像内でバーコードを検出するための手段と
を具備する装置。
【請求項３１】
前記検出する手段は、前記識別された低い強度領域および前記識別されたエッジを空間的に共通に即時に含む前記デジタル画像内での位置で前記バーコードを検出する、請求項３０に記載の装置。
【請求項３２】
少なくとも１つのモルフォロジー演算を用いて前記画像内で前記識別されたエッジの高い集中を示す位置を識別するための手段と、
少なくとも１つのモルフォロジー演算を用いて前記画像内で前記識別された低い強度領域の高い集中を示す位置を識別するための手段と
を更に具備し、
前記検出する手段は、前記デジタル画像内で前記識別された低い強度領域の高い集中および前記識別されたエッジの高い集中の両方を示す位置で前記バーコードを検出する、請求項３１に記載の装置。
【請求項３３】
前記少なくとも１つのモルフォロジー演算は、クロージング、オープニング、浸食および拡張の少なくとも１つを備える、請求項３２に記載の装置。
【請求項３４】
前記デジタル画像内で前記識別されたエッジを表現するエッジマップを生成するための手段と、
前記デジタル画像内で前記識別された低い強度領域を表現する低い強度マップを生成するための手段と、
組み合わされた画像を生成するために前記低い強度マップおよび前記エッジマップを組み合わせるための手段と
を更に具備し、
前記検出する手段は、前記組み合わされた画像に基づいて前記デジタル画像内で前記バーコードを検出する、請求項３１に記載の装置。
【請求項３５】
前記識別された低い強度領域および前記識別されたエッジを空間的に共通に即時に含む前記画像内の少なくとも１つの位置を生成するために前記組み合わされた画像上で１つ以上のモルフォロジー演算を実行するための手段を更に備える、請求項３４に記載の装置。
【請求項３６】
前記検出する手段は、空間的に共通に即座に前記識別された低い強度領域および前記識別されたエッジを含む前記画像内で位置を識別し、前記位置が１つ以上のバーコード基準を満たす場合に前記識別された位置がバーコードであるための対象位置であるということを決定し、前記識別された位置で興味の前記シーンが固有のバーコード機能を含む場合に前記識別された位置がバーコードであるということを決定する、請求項３０に記載の装置。
【請求項３７】
前記検出する手段は、前記識別された位置の充てん要因、前記識別された位置の大きさおよび前記識別された位置の形状の少なくとも１つに基づいて前記識別された位置がバーコードであるための対象位置であるということを決定する、請求項３６に記載の装置。
【請求項３８】
前記検出する手段は、前記識別された位置で興味の前記シーン内でバーコードファインダーパターンを検出することによって前記識別された位置がバーコードであるということを決定する、請求項３６に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理に関し、画像内のバーコードを検出するための技術により一層特に関する。
【同時継続中の特許出願に対する言及】
【０００２】
本願は、本願の譲受人に譲渡され、参照によって本願に明確に組み込まれ、共に出願され、代理人整理番号０７１４３８を有する、Chinchuan Andrew Chiuによる“統合されたバーコード走査を伴う画像収集装置”と題された以下の同時継続中の米国特許出願と関係している。
【背景技術】
【０００３】
バーコードは、１つ以上のパターンの型の中の情報の機械読み取り可能な表現である。従来技術による１次元のバーコードは、様々な幅およびスペーシングの連続する並列の隣接のバーの型の中に情報を表現する。しかしながら、バーコードは、ドット、同中心の円およびそれと同様なもののパターンのような、多数の他のパターンの中の情報を表現するために拡張されている。これらの他のパターンは、１次元（１Ｄ）または２次元（２Ｄ）のパターンの中に配列された形状を含むことができる。
【０００４】
バーコードは、アイテムの値をつけ、目録を作成し、追跡し、識別するために用いられることができる。一般に、バーコードは、データベースまたは他のトラッキングシステムを用いるアイテムの型に識別番号を対応付けるために用いられる。しかしながら、バーコードは、最近、それが付けられているまたは他の関係のあるアイテムに対するそのアイテムと対応付けられた広く様々な情報を符号化するために用いられ始めている。バーコードは、このように、伝来の用途とは関係のない目的のために情報を通信する方法として現れている。その結果、小売商人単独でよりむしろ、消費者は、バーコードが情報を運ぶことができることによる効率を取り入れ始めている。
【発明の概要】
【０００５】
この開示は、画像内でバーコードを検出するための技術を記述する。バーコードは、それらを検出に特に影響されやすくする特別の区別する特徴を有する。バーコードは、ダーク（例えば、ブラック）およびライト（例えば、ホワイト）バー、円、ドットまたは他の形状のパターンとして形成されることができる。バーコードパターンは、パターンのバー、円、ドットまたは他の形状のスペーシングによって生成される多数のエッジを含む。バーコードパターンはまた、パターンのバー、円、ドットまたは他の形状のブラックカラー（または他のダークカラー）のため、低い光強度の多数の領域を含む。バーコードは多数のエッジおよび低い強度ピクセル値を含むだけでなく、エッジおよび低い強度領域は、共通に即時である、すなわち、同じ時間に存在する。
【０００６】
バーコード検出モジュールは、画像内で強度における高いコントラスト変化を表現する１つ以上のエッジを識別するためにデジタル画像を処理する。バーコード検出モジュールはまた、低い光強度に伴うデジタル画像の領域を識別するためにデジタル画像を処理する。バーコード検出モジュールは、低い光強度に伴う識別された領域の高い集中および識別されたエッジの高い集中の両方を示すデジタル画像内の位置をバーコードであるための対象としてそのとき識別する。いくつかの観点において、バーコード検出モジュールは、１つ以上のモルフォロジー演算を用いてこれらの位置を識別することができる。バーコード検出モジュールは、特別のバーコード記号論のバーコードファインダーパターンのような、対象位置が固有のバーコード機能を有するかどうかを確認することによって対象位置が実際にバーコードであるかどうかをそのとき決定することができる。
【０００７】
１つの観点において、方法は、強度変化しきい値を超える強度における変化を興味のシーンのデジタル画像内でエッジとして識別することと、輝度強度が強度しきい値より低い前記デジタル画像の領域を低い強度領域として識別することと、前記識別された低い強度領域および前記識別されたエッジに基づいて前記デジタル画像内でバーコードを検出することとを具備する。
【０００８】
別の観点において、装置は、強度変化しきい値を超える強度における変化を興味のシーンのデジタル画像内でエッジとして識別し、輝度強度が強度しきい値より低い前記デジタル画像の領域を低い強度領域として識別し、前記識別された低い強度領域および前記識別されたエッジに基づいて前記デジタル画像内でバーコードを検出するバーコード検出モジュールを含むプロセッサを具備する。
【０００９】
別の観点において、コンピュータ読み取り可能媒体は、プロセッサに強度変化しきい値を超える強度における変化を興味のシーンのデジタル画像内でエッジとして識別させ、輝度強度が強度しきい値より低い前記デジタル画像の領域を低い強度領域として識別させ、前記識別された低い強度領域および前記識別されたエッジに基づいて前記デジタル画像内でバーコードを検出させるための命令を具備する。
【００１０】
別の観点において、装置は、強度変化しきい値を超える強度における変化を興味のシーンのデジタル画像内でエッジとして識別するための手段と、輝度強度が強度しきい値より低い前記デジタル画像の領域を低い強度領域として識別するための手段と、前記識別された低い強度領域および前記識別されたエッジに基づいて前記デジタル画像内でバーコードを検出するための手段とを具備する。
【００１１】
この開示の中に記述される技術は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせにおいて実行されることができる。ソフトウェアにおいて実行される場合、ソフトウェアは、プロセッサの中で実行されることができる。そして、それは、マイクロプロセッサ、ＡＳＩＣ（application specific integrated circuit）、ＦＰＧＡ（field programmable gate array）、またはＤＳＰ（digital signal processor）、または他の等価の統合したまたは分離した論理電気回路構成のような、１つ以上のプロセッサに言及することができる。その技術を実行するための命令を備えるソフトウェアは、コンピュータ読み取り可能媒体に最初に記憶され、プロセッサによってロードされ、実行されることができる。よって、この開示はまた、プロセッサにこの開示の中に記述されるように様々な技術のどれでも実行させるための命令を備えるコンピュータ読み取り可能媒体を熟慮する。いくつかの場合において、コンピュータ読み取り可能媒体は、コンピュータプログラム製品の部分を形成することができる。コンピュータプログラム製品は、製造業者に対して販売されることおよび／または装置の中に用いられることができる。コンピュータプログラム製品は、コンピュータ読み取り可能媒体を含むことができ、いくつかの場合において、パッケージ材料をまた含むことができる。
【００１２】
１つ以上の観点の細部は、以下の記述および伴う図の中で明らかにされている。技術の他の機能、対象および利点は、その記述および図から、および特許請求の範囲から明白であるであろう。
【図面の簡単な説明】
【００１３】
【図１】図１は、この開示の中に記述されたバーコード走査技術を実行する画像収集装置の一例のブロック図である。
【図２】図２は、この開示の中に記述されたバーコード走査技術を実行する画像収集装置を含む無線通信装置の一例を示すブロック図である。
【図３】図３は、更に詳細に図１および２の画像収集装置を示すブロック図である。
【図４】図４は、この開示の中に記述されたバーコード走査技術を実行する画像収集装置の動作の例を示すフロー図である。
【図５】図５は、興味のシーン内でバーコードを検出するバーコード検出モジュールの動作の例を示すフロー図である。
【図６Ａ】図６Ａは、この開示の中に記述されたバーコード走査技術に従って画像を表示するときの例示的なビューファインダーの図である。
【図６Ｂ】図６Ｂは、この開示の中に記述されたバーコード走査技術に従って画像を表示するときの例示的なビューファインダーの図である。
【図６Ｃ】図６Ｃは、この開示の中に記述されたバーコード走査技術に従って画像を表示するときの例示的なビューファインダーの図である。
【図６Ｄ】図６Ｄは、この開示の中に記述されたバーコード走査技術に従って画像を表示するときの例示的なビューファインダーの図である。
【図７Ａ】図７Ａは、この開示の中に記述されたバーコード検出技術の様々な段階の間の画像の図である。
【図７Ｂ】図７Ｂは、この開示の中に記述されたバーコード検出技術の様々な段階の間の画像の図である。
【図７Ｃ】図７Ｃは、この開示の中に記述されたバーコード検出技術の様々な段階の間の画像の図である。
【図７Ｄ】図７Ｄは、この開示の中に記述されたバーコード検出技術の様々な段階の間の画像の図である。
【図７Ｅ】図７Ｅは、この開示の中に記述されたバーコード検出技術の様々な段階の間の画像の図である。
【図７Ｆ】図７Ｆは、この開示の中に記述されたバーコード検出技術の様々な段階の間の画像の図である。
【図７Ｇ】図７Ｇは、この開示の中に記述されたバーコード検出技術の様々な段階の間の画像の図である。
【発明を実施するための形態】
【００１４】
図１は、この開示の中に記述されたバーコード検出技術を実行する画像収集装置１０の一例のブロック図である。画像収集装置１０は、デジタルスチール画像カメラのようなデジタルカメラ、デジタルビデオカメラ、または両方の組み合わせであることができる。加えて、画像収集装置１０は、独立のカメラのような独立の装置であることができ、または無線通信装置のような別の装置の中に統合されることができる。一例として、画像収集装置１０は、いわゆるカメラ電話またはビデオ電話を形成するために携帯電話の中に統合されることができる。この開示の中に記述された技術は、一般的に収集されたデジタルビデオに適用できるが、デジタルスチール画像に対するこのような技術のアプリケーションは、図の目的のために記述されるであろう。
【００１５】
図１に示すように、画像収集装置１０は、画像センサ１２、画像プロセッサ１４および画像記憶モジュール１６を含む。バーコード検出技術がビデオシーケンスの１つ以上の画像フレーム上で実行されることができる場合において、画像センサ１２は、スチール画像、またはできる限りいっぱいのモーションビデオシーケンスを収集する。画像センサ１２は、例えば行および列の中に配列された、個々の画像センサ要素の２次元の配列を含むことができる。いくつかの観点において、画像センサ１２の画像センサ要素の各々は、たった１つのピクセルと対応付けられることができる。言い換えれば、画像センサ要素とピクセルの間で１対１の対応が存在することができる。あるいは、各々の画像センサ要素と対応付けられた１つ以上のピクセル、または各々のピクセルと対応付けられた１つ以上の画像センサ要素が存在することができる。画像センサ１２は、例えば、相補形金属酸化膜半導体（ＣＭＯＳ）センサ、電化結合素子（ＣＣＤ）センサまたはそれと同様なもののような固体センサの配列を備えることができる。更に、画像センサ１２は、画像入手の間の画像情報を記憶する１つ以上の画像バッファを保守することができる。
【００１６】
そのデジタル画像を収集するために、画像センサ１２は、そのデジタル画像を収集するためにその画像シーンにその画像センサ要素をさらす。画像センサ１２内の画像センサ要素は、例えば、特別のピクセル位置でのシーンのライトの強さを表現する強度値を収集する。いくつかの場合において、センサ１２の画像センサ要素の各々は、その要素をカバーするカラーフィルタのため、１つのカラー、またはカラーバンドに対してのみ感知可能である。例えば、画像センサ１２は、例えばレッド、グリーン、およびブルー（ＲＧＢ）フィルタの配列を備えることができる。しかしながら、画像センサ１２は、シアン、マゼンタ、イエロー、およびブラック（ＣＭＹＫ）カラーフィルタのような他のカラーフィルタを利用することができる。このように、画像センサ１２の画像センサ要素の各々は、１つのカラーのみのための強度値を収集することができる。このように、画像情報は、画像センサ１２のセンサ要素によって収集されたピクセル強度および／またはカラー値を含むことができる。
【００１７】
画像収集装置１０は、画像収集装置内で一般に実行される任意の他のモードと同じように、ブライトモード、ダークモード、人間主体またはフェースモード（human subject or face mode）、ローモーションモード（ある時には、“風景”モードとして言及される）、ハイモーションモード（時には、“アクション”モードとして言及される）、デフォルトまたはノーマルモード（時には、“オート”モードとして言及される）のような、多数の画像収集モードの中で動作することができる。いくつかの実例において、これらの様々な画像収集モードの各々は、画像プロセッサ１４のセンサ構成モジュール１９が画像センサ１２によって収集された画像の品質に影響を及ぼす様々な画像収集プロパティを構成するために用いる値のセットと対応付けられている。アクションモードの画像収集プロパティは、例えば、クイックモーションによって特徴付けられたシーンを効果的に収集するために相対的に短い露出時間を含むことができるのに対し、風景モードと対応づけられた画像収集プロパティは、相対的に長い露出時間を含むことができる。他の実例において、そのデフォルト（また、ノーマルまたはオートとして知られる）モードのような、これらのモードの１つ以上は、画像センサ１２から受信されたライトの強度の測定のような、センサ構成モジュール１９にその画像シーン内である視覚の状況に基づく様々な画像収集プロパティを構成させることができる。例えば、センサ構成モジュール１９は、画像プレビューの間に受信されたライトの強度に基づくセンサ利得、焦点のポイントまたは露出時間を構成することができる。更に他の実例において、その様々な画像収集モードは、画像プロセッサ１４に画像センサ１２によって収集された結果の画像を高めるために１つ以上の画像処理アルゴリズムを実行させることができる。更に別の実例において、画像収集装置１０は、上述された技術の１つ以上を最も高い品質の画像を収集するための試みの中に組み込む１つ以上のモードを支援することができる。
【００１８】
画像プロセッサ１４は、例えば画像センサ１２のバッファから、デジタル画像（またはフレーム）のための画像情報を受信し、この開示の中に記述されたバーコード検出技術を実行する。特に、画像プロセッサ１４のバーコードスキャナーモジュール１８は、興味のシーンのデジタル画像が１つ以上のバーコードを含むかどうかを決定する。バーコードは、１つ以上のパターンの方の中の情報の機械読み取り可能な表現である。従来技術による１次元のバーコードは、様々な幅、スペーシングおよび長さの連続な並列の隣接のバーの型の中に情報を表現する。しかしながら、バーコードは、ドット、同中心の円およびそれと同様なもののパターンのような、多数の他のパターンの中の情報を表現するために拡張されている。これらの他のパターンは、１次元（１Ｄ）または２次元（２Ｄ）のパターンの中に配列された形状を含む。１Ｄおよび２Ｄのバーコードのいくつかの例は、統一商品コード（ＵＰＣｓ）、コード３９バーコード、コード１２８バーコード、ＰＤＦ４１７バーコード、ＥＺコードバーコード、データマトリックスバーコード、ＱＲコードバーコードまたは記号論の任意の他のタイプを利用するバーコードを含む。
【００１９】
いくつかの実例において、ノンバーコード画像収集モードの中で動作している間、バーコードスキャナーモジュール１８は、そのバーコードを検出することができる。言い換えれば、上述された種々の画像収集モード、例えば、デフォルト画像収集モード、フェースモード、ダークモード、ライトモードまたはバーコードの画像を収集するための明確に設計されていない任意の他の画像収集モードの何れかの中で動作している間、バーコードスキャンモジュール１８は、そのバーコードを検出することができる。他の実例において、バーコードの画像を収集するために明確に設計されたバーコード画像収集モードの中で動作している間、バーコードスキャナーモジュール１８は、そのバーコードを検出することができる。
【００２０】
バーコードスキャナーモジュール１８は、この開示の中に記述された技術に従って画像内でバーコードを検出する。バーコードは、それらを検出に特に影響されやすくする特別の区別する特徴を有する。上述したように、バーコードは、バー、円、ドットまたは他の形状のパターンとして形成される。そのバーコードパターンは、そのパターンのバー、円、ドットまたは他の形状のスペーシングによって生成された多数のエッジを含む。そのバーコードパターンはまた、そのパターンのバー、円、ドットまたは他の形状のブラックカラー（または他のダークカラー）のため、多数の低い光強度領域を含む。バーコードは、多数のエッジおよび低い強度ピクセルを含むだけでなく、そのエッジおよび低い強度領域は、共通に即時である、すなわち、同じ時間に存在する。以下により詳細に記述されるように、バーコードスキャナーモジュール１８は、バーコードであるための候補位置として、低い強度値の高い集中およびエッジの高い集中を共通に即時に示すデジタル画像内の位置を識別することができる。バーコードスキャナーモジュール１８はそのとき、特別のバーコード記号論のバーコードファインダーパターンのような、候補位置が固有のバーコード機能を有するかどうかを確認することによって候補位置が実際にバーコードであるかどうかを決定する。
【００２１】
興味のシーン内でバーコードを検出する上で、センサ構成モジュール１９は、画像センサ１２と対応付けられた１つ以上の画像収集プロパティを構成することができる。センサ構成モジュール１９は、例えば、画像センサ１２と対応付けられた焦点制御および露出時間の１つ以上を構成することができる。画像センサ１２は、構成された画像収集プロパティに従ってバーコードを含む興味のシーンの画像を収集する。この方法において、画像収集装置１０は、画像収集装置１０のデフォルトの動作内でバーコード走査機能を統合することができる。
【００２２】
バーコードスキャナーモジュール１８は、その画像のバーコード部分の品質を更に高めるためにバーコードを含む収集された画像の少なくとも領域またはその収集された画像の付加的な処理を実行することができる。バーコードスキャナーモジュール１８は、例えば、そのバーコードのコントラストを高めるためにバーコードを含む画像の領域またはその画像を処理し、そのバーコードの画像を鮮鋭化し、その画像からノイズを取り除き、その画像の回転を補正し、またはそのバーコード画像の解析を実行することができる。いくつかの実例において、これらの付加的な処理技術は、興味のシーン内でバーコードの検出に基づいて実行されることができる。
【００２３】
画像プロセッサ１４は、１つ以上のマイクロプロセッサ、ＤＳＰｓ（digital signal processors）、ＡＳＩＣｓ（application specific integrated circuits）、ＦＰＧＡｓ（field programmable gate arrays）、または任意の他の等価の分離したまたは統合した論理電気回路構成、またはそれらの組み合わせによって実現される。いくつかの態様において、画像プロセッサ１４は、ＭＰＥＧ（Motion Pictures Expert Group）−２、ＭＰＥＧ−４、ＩＴＵ（International Telecommunication Union） Ｈ．２６３、ＩＴＵ Ｈ．２６４、ＪＰＥＧ（Joint Photographic Experts Group）、ＧＩＦ（Graphics Interchange Format）、ＴＩＦＦ（Tagged Image File Format）またはそれと同様なもののような、特別の符号化する技術またはフォーマットに従ってその画像情報を符号化するエンコーダ−デコーダ（ＣＯＤＥＣ）の部分を形成することができる。画像プロセッサ１４は、画像切り取り、圧縮、改良およびそれと同様なもののような、画像情報に対して付加的な処理を実行することができる。
【００２４】
画像プロセッサ１４は、画像記憶モジュール１６の中に、バーコードが含まれている収集された画像の少なくとも領域またはその収集された画像を記憶することができる。あるいは、画像プロセッサ１４は、その画像に対して付加的な処理を実行し、画像記憶モジュール１６の中に、処理されたまたは符号化されたフォーマットの中にバーコードを含む領域または全体の画像のどちらか一方を記憶することができる。その画像情報がオーディオ情報によって伴われる場合、そのオーディオ信号はまた、その画像情報を含む１つ以上のフレームを備えるビデオ情報と併せてまたは独立して、画像記憶モジュール１６の中に記憶されることができる。画像記憶モジュール１６は、ＲＯＭ（read-only memory）、ＥＥＰＲＯＭ（electrically erasable programmable read-only memory）、またはフラッシュメモリ（FLASH memory）のような、または磁気データ記憶装置または光データ記憶装置のような、任意の揮発性または不揮発性メモリまたは記憶装置を備えることができる。
【００２５】
多数の他の要素はまた、画像収集装置１０の中に含まれるが、図の容易さおよび単純のために図１の中には明確に示されていない。例えば、画像収集装置１０は、レンズ、シャッター、フラッシュ装置およびビューファインダーのような、イメージを収集するための付加的な構成要素を含むことができる。この開示の中に記述された技術が様々の他のアーキテクチャとともに実行されることができるように、図１の中に示されるアーキテクチャは、単に例示的であるにすぎない。その上、図１の中に示される機能は、ハードウェアおよび／またはソフトウェア構成要素の任意の適当な組み合わせによって実現されることができる。
【００２６】
図２は、この開示の中に記述されたバーコード検出技術を実行する画像収集装置１０を含む無線通信装置２０の一例を示すブロック図である。言い換えると、図２は、無線通信装置２０内で統合される画像収集装置１０を示す。画像収集装置１０の動作は、図１については上述されており、それゆえに、ここでは詳細に記述されないであろう。無線通信装置２０は、画像収集能力を有するセルラー電話（例えば、いわゆるカメラ電話またはビデオ電話）、ビデオレコーダー、ウェブカム、パーソナルデジタルアシスタント（ＰＤＡ）、ラップトップコンピュータまたは画像収集および無線通信能力を有する任意の他の装置のような、無線通信装置ハンドセットを備えることができる。無線通信装置のコンテキストの中に示されているが、この開示の技術はまた、有線通信装置に適用できる。
【００２７】
図２の例において、無線通信装置２０は、画像収集装置１０、符号化モジュール２２、送信機２４、ビューファインダー２６およびバーコードデコーダモジュール２８を含む。符号化モジュール２２は、記憶および／または送信のための特別の画像圧縮フォーマットにその画像を圧縮するために収集された画像情報を符号化することができる。符号化モジュール２２は、ＪＰＥＧ、ＴＩＦＦ、ＧＩＦまたは他の画像圧縮フォーマットを含む、多数の画像圧縮フォーマットのどれでも用いて画像を圧縮することができる。ビデオの場合において、符号化モジュール２２は、ＭＰＥＧ、ＭＰＥＧ ＡＶＣ（Advanced Video Coding） パート１０、ＩＴＵ Ｈ．２６４およびそれと同様なもののような、ビデオ圧縮フォーマットのいくつでも用いてビデオを圧縮することができる。
【００２８】
無線通信装置１０は、送信機２４を介して別の装置に符号化された画像を送信することができる。送信機２４は、符号分割多元接続（ＣＤＭＡ）ネットワーク、広帯域符号分割多元接続（Ｗ−ＣＤＭＡ）ネットワーク、時分割多元接続（ＴＤＭＡ）ネットワーク、およびモバイルコミュニケーションのためのグローバルシステム（ＧＳＭ：global system for mobile communication）ネットワーク、または他の類似したネットワークのような、セルラーネットワークにインタフェースを提供する。送信機２４は、そのセルラーネットワークの代わりとしてまたは加えて、任意の他の有線または無線ネットワーク、または適切な米国電気電子学会（ＩＥＥＥ）８０２．１１スタンダードの何れにも定義されるように無線ネットワークにインタフェースを提供することができる。
【００２９】
いくつかの実例において、無線通信装置１０は、受信された符号化されたデータに対する受信機およびそのデータを復号するためのデコーダを含むことができる。そういうものとして、無線通信装置は、受信回路および送信機２４の送信回路を含む別個のトランシーバまたは受信機を含むことができる。そのデコーダは、別個の復号モジュールであることができる、またはＣＯＤＥＣに符号化モジュール２４とともに統合されることができる。
【００３０】
無線通信装置２０は、ビューファインダー２６上で画像収集装置１０によって収集されるための興味のシーンのリアルタイム画像（すなわち、画像プレビュー）または画像収集装置１０によって収集された画像のどちらか一方を表示することができる。ビューファインダー２６は、電子ビューファインダーを備えることができる。代表的な電子ビューファインダーは、液晶ディスプレイ（ＬＣＤ）、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、プラズマ表示板（ＰＤＰ）、発光ダイオード（ＬＥＤ）ディスプレイ（例えば、アクティブマトリックスＬＥＤディスプレイ）、または収集された画像またはリアルタイム画像を表示することが可能なディスプレイの任意の他のタイプのようなディスプレイの１つ以上のタイプを一般に含む。ビューファインダー２６はまた、上述された電子ビューファインダーの代わりにより多くの従来技術による光ビューファインダーを備えることができる。無線通信装置２０の場合において、ビューファインダー２６は、一般の目的の電子ディスプレイを備える。そして、そのディスプレイはまた、無線通信装置２０が実行することができる他の機能に関係する情報を表示する。例えば、無線通信装置２０がいわゆるカメラ電話を表現する場合、ビューファインダー２６はまた、セルラー電話の呼出しの受信および送信に関係する情報を表示する。
【００３１】
図２の無線通信装置２０はまた、バーコードデコーダモジュール２８を含む。バーコードデコーダモジュール２８は、いくつかの実例において、無線通信装置２０内で実行するソフトウェアアプリケーション、または、他の実例において、専用のハードウェア構成要素、または両方の組み合わせを備えることができる。どちらか一方の実例において、バーコードデコーダモジュール２８は、そのバーコード画像によって与えられる単一または複数の次元のパターンを復号することによって与えられたバーコード画像内で符号化された情報（ある時ペイロードとして言及される）を一般に抽出する。そのバーコードを復号した後、バーコードデコーダモジュール２８は、更に他のモジュールにそのペイロードを利用することの目的のために実行させることができ、それ自身そのペイロードを利用することができる。
【００３２】
特に、バーコードデコーダモジュール２８は、ペイロードを抽出するために画像収集装置１０によって受信されたバーコード画像内に含まれるパターンを復号することができる。バーコードデコーダモジュール２８は、例えば、そのバーコードを復号するために記号ライブラリにアクセスすることができる。その記号ライブラリは、例えば、そのバーコードを復号することにおいて有益な他の情報と同じように、ペイロードの特徴および／または単一の数字の符号化することを含むことができる。いくつかの実例において、統一商品コード（ＵＰＣ）の場合のように、そのペイロードは、それが付け加えられるアイテムを識別することができる。加えて、そのペイロードは、そのバーコードが接続されるアイテムと対応付けられた付加的な情報を含むことができる。例えば、そのペイロードは、そのアイテム自身の上には表示されない付加的なアイテムの情報、関連したアイテムについての情報そのアイテムまたは関連したアイテムのための販売を促進するクーポン、そのアイテムまたは関連したアイテムのための適切なインターネットリンク、または任意の他の対応付けられた情報を含むことができる。
【００３３】
いくつかの実例において、その情報は、そのバーコードのペイロード内に直接に含まれることができる。他の実例において、そのペイロード内に含まれる情報は、例えば、そのペイロードをそのアイテムに関連した付加的な情報と対応付けるデータベースから、適切な情報を検索するために用いられることができる。そのペイロードが適切なインターネットリンクを含む場合において、例えば、そのペイロードは、ＨＴＴＰ（Hypertext Transfer Protocol）アドレスを備えることができる。バーコードデコーダモジュール２８は、そのペイロードによって指定されたＨＴＴＰアドレスにアクセスするためのウェブ走査検索器を呼び出すことができ、ビューファインダー２６上のＨＴＴＰアドレスをロードすることができる。この方法において、無線通信装置２０のユーザは、インターネットを介して、その収集されたバーコードが結びつけるアイテムと対応付けられる付加的な情報を見ることができる。加えて、そのユーザは、そのアイテム自身と関連していないアプリケーションのための情報を得るためにそのバーコードのペイロードを利用することができる。例えば、そのユーザは、ストリートサイン上に位置付けられるバーコードを走査することができ、その時、そのユーザが行くことを望む位置に対するバーコードを含むアイテム（例えば、ストリートサイン）から方向を得るためにマッピングプログラムにアクセスすることができる。
【００３４】
画像収集装置１０のみを含んでいるとして記述されたが、符号化モジュール２２、送信機２４、ビューファインダー２６およびバーコードデコーダモジュール２８、無線通信装置２０は、ユーザとインタフェースで接続するためのユーザインタフェース（例えば、キーパッド）、付加的な演算を実行するための１つ以上のプロセッサ、およびリムーバブルメモリを受け取るための様々なレセプタクルおよびポート、ヘッドホン、電源、および任意の他のこのような周辺装置のような、他のモジュールを含むことができる。無線通信装置２０は、モデム、周波数変換器、フィルタおよび増幅器回路のような情報の受信および送信のための他の構成要素を更に含むことができる。
【００３５】
図３は、更に詳細に図１および２の画像収集装置１０を示すブロック図である。図３の中に示されるように、画像センサ１２は、興味のシーンに属する画像情報を記憶することができる画像バッファ３０を含むことができる。画像センサ１２は、例えば、画像プレビューの間に画像バッファ３０の中に画像情報を記憶することができる。より明確には、ユーザが画像を収集するためのボタンを作動させる前だが、ユーザが興味のシーンに画像収集装置１０を向けている間、画像センサ１２は、画像バッファ３０の中に画像情報を記憶することができる。この方法において、画像バッファ３０は、画像収集装置１０によって収集されるために興味のシーンのリアルタイム画像を記憶しているとして見られることができる。バッファ３０は、ＲＯＭ（read-only memory）、ＥＥＰＲＯＭ（electrically erasable programmable read-only memory）、またはフラッシュメモリ（FLASH memory）のような、または磁気データ記憶装置または光データ記憶装置のような、任意の揮発性または不揮発性メモリを備えることができる。１つの画像バッファ３０を含んでいるとして示されたが、画像センサ１２は、画像バッファを含まない、または複数の画像バッファを含むことができる。
【００３６】
画像センサ１２はまた、画像センサ１２を構成するための１つ以上の画像収集制御プロパティ３２を一般に含む。図３の中に示される例において、画像センサ１２は、露出タイマ３２Ａ、焦点制御３２Ｂおよびセンサ利得３２Ｃを含む。露出タイマ３２Ａは、画像センサ１２が興味のシーンに対して露出されている間の時間を設定するために構成可能なタイマを表現する。一般に、画像プロセッサ１４は、画像収集装置と対応付けられた露出テーブルまたは従来技術による露出数式の設定に基づいて露出タイマ３２Ａを構成する。焦点制御３２Ｂは、自動的に興味のシーン上に焦点を合わせることが可能なこれらの画像収集装置１０のために存在する。焦点制御３２Ｂは、最適の焦点値（例えば、最適のコントラストによって決定される鮮明値）を生成するレンズ位置を設定すること、および／または画像センサ１２が焦点を合わせるべきである距離を設定することのために構成可能な制御値を表現する。一般に、画像プロセッサ１４は、興味のシーンの特別の領域、例えば、興味のシーンの中心上にレンズの焦点を合わせるために焦点制御３２Ｂを構成する。センサ利得３２Ｃは、画像センサ１２の画像センサ要素の増幅器利得を決定する構成可能なセンサ利得制御値を表現する。露出時間３２Ａのような、画像プロセッサ１４は、画像収集装置と対応付けられた利得テーブルまたは従来技術による利得数式の設定に基づいてセンサ利得３２Ｃを構成することができる。いくつかの実例において、センサ利得３２Ｃセンサ利得３２Ｃ、焦点制御３２Ｂおよび露出タイマ３２Ａの１つ以上の調整は、相互に関連することができる。画像センサ１２内に存在するとして図３の中に示されたとは言え、バッファ３０および画像収集制御プロパティ３２は、バーコードスキャナーモジュール１８、画像記憶モジュール１６または画像プロセッサを含む画像収集装置１０の他のモジュール内のような、画像センサ１２の外部に存在することができる。
【００３７】
バーコードスキャナーモジュール１８は、バーコード検出モジュール３４およびバーコード処理モジュール３６を含む。ユニットまたはモジュールとしての種々の機能の描写は、バーコードスキャナーモジュール１８の種々の機能面を強調することが意図されており、このようなユニットまたはモジュールが別個のハードウェア、ソフトウェアおよび／またはファームウェア構成要素によって実現されなければならないということを必ずしも暗に示していない。それどころか、１つ以上のユニットまたはモジュールと対応付けられた機能は、別個のまたは共通のハードウェア、ソフトウェア構成要素および／またはファームウェア構成要素内で統合されることができる。
【００３８】
上述されたように、画像センサ１２は、デジタル画像を収集し、バッファ３０の中にデジタル画像を記憶する。バーコードスキャナーモジュール１８は、バッファ３０からデジタル画像を受信し、そのデジタル画像内でバーコードを自動的に検出するためにバーコード検出モジュール３４を用いる。上述されたように、バーコード検出モジュール３４は、そのデジタル画像内でバーコードを自動的に検出するのに対して、画像プロセッサ１４は、バーコードの画像を収集することに対して明確に示されていない任意の他のモード、ブライトモード、ダークモード、人間主体またはフェースモード、ローモーションモード、ハイモーションモードまたはデフォルト画像収集モードのような、ノンバーコード画像収集モードに従って動作する。あるいは、バーコード検出技術は、バーコードの画像を収集するための明確に示されるバーコード画像収集モードにおいて利用されることができる。
【００３９】
バーコード検出モジュール３４は、検出技術に基礎付けられたモルフォロジー演算を用いてバーコード検出を実行することができる。上述されたように、モルフォロジー演算技術は、バーコードは特別の区別している特徴を有する、すなわち、それらは、空間的に共通に即時である低い強度値の高い集中の領域およびエッジの高い集中の領域を有するという事実に基づく。以下に詳細に記述されるように、バーコード検出モジュール３４は、バーコードの候補としてモルフォロジー演算を用いて低い光強度およびエッジを共通に即時に含む領域を識別すること、および候補領域が固有のバーコード機能を有するかどうかを確認することによってバーコードを検出する。
【００４０】
バーコード検出モジュール３４は、画像バッファ３０から収集されたデジタル画像の輝度値を得ることができる。その収集された画像情報がＹ−Ｃｂ−Ｃｒ（輝度、ブルークロミナンス、レッドクロミナンス）ドメインである場合、例えば、バーコード検出モジュール３４は、バーコード検出における使用のためにＹ−チャネル値を検索することができる。その画像情報が別のカラードメイン、例えば、ＲＧＢ（レッド、グリーン、ブルー）ドメインの中にある実例において、バーコード検出モジュール３４は、その画像をグレースケールに変換することができる。いくつかの実例において、その基度情報は、バーコード検出において助けるために、例えば、鮮鋭化マスクを用いて、わずかに鮮鋭化されることができる。
【００４１】
バーコード検出モジュール３４は、そのデジタル画像内でエッジを識別するために画像を処理する。エッジは、輝度強度において高いコントラスト変化を示すデジタル画像の位置である。例えばそのエッジは、低い強度から高い強度へ、すなわち、ライトからダークへ、または高い強度から低い強度へ、すなわち、ダークからライトへ、の変化を定義することができる。バーコードの性質、すなわち、ブラックおよびホワイト（または他のダークおよびライト）のパターンのため、バーコードは、顕著な、容易に検出可能なエッジを生成する。そのデジタル画像内でエッジを識別するために、バーコード検出モジュール３４は、輝度値が有意な変更を示す位置を検出するために画像を分析することができる。バーコード検出モジュール３４は、従来技術によるエッジ検出技術を用いて画像内でエッジを識別することができる。例えば、バーコード検出モジュール３４は、エッジを検出するためにデジタル画像に核マトリックス（例えば、乗算因子または重みのマトリックス）を適用することができる。その核マトリックスは、それが適用される実際の画像より一般に小さい。３つのピクセルによる３つのピクセル（３×３）の核マトリックスは、例の目的のために記述されるであろう。しかしながら、バーコード検出モジュール３４は、他の次元の核マトリックスを用いることができる。
【００４２】
特に、バーコード検出モジュール３４は、３×３の核マトリックスを順番に画像の各々のピクセル上の中心に置き、重みを付けられたピクセル値を生成するために核マトリックスの対応する重みを中心のピクセルの周囲の３×３の領域のピクセル値を掛ける。バーコード検出モジュール３４は、中心のピクセルの第１次導関数を得るために重みを付けられたピクセル値を合計する。画像プロセッサは、変化しきい値と中心のピクセルの第１次導関数とを比較し、第１次導関数が変化しきい値以上である場合にはエッジを検出する。第１次導関数が変化しきい値以上である場合、そのピクセルは、エッジ上に位置していると決定される。１つの観点において、バーコード検出モジュール３４は、エッジ上に位置していると決定されたピクセルをホワイトまたはブラックと対応付けられた強度値に設定することができ、エッジ上に位置していないと決定されたピクセルを逆の強度値、例えば、ブラックまたはホワイトに設定することができる。このように、エッジ検出の結果は、識別されたエッジを除いて取り除かれた全ての細部とともに原型の画像を表現する２値の画像であるエッジマップであることができる。２値の画像は、エッジがホワイトであり、画像の残りはブラックである、または逆も同様、すなわち、エッジがブラックであり、画像の残りがホワイトである、ブラックおよびホワイトの画像であることができる。バーコード検出モジュール３４は、デジタル画像の第１の命令の派生物を用いてエッジを検出しているとして記述されているが、他のエッジ検出技術は、デジタル画像の第２の命令の派生物のような、画像内でエッジを検出するために用いられることができる。
【００４３】
バーコード検出モジュール３４はまた、低い強度を伴う画像の領域（“低い強度領域”としてここでは言及される）を識別するために画像を処理する。低い強度領域は、画像のダークの部分と対応する。バーコード検出モジュール３４は、しきい値化を介して画像の低い強度領域を識別することができる。特に、バーコード検出モジュール３４は、強度しきい値とピクセル強度値の各々とを比較することによって画像の低い強度領域を識別することができ、強度しきい値以上である全てのピクセル値を取り除くことができる。このように、低い強度検出の結果は、取り除かれた高い強度領域とともに原型の画像を表現する２値の画像である低い強度マップであることができる。１つの例において、バーコード検出モジュール３４は、ホワイトに強度しきい値以下であるピクセル強度値を設定することができ、ブラックに強度しきい値以上であるピクセル強度値を設定することができる。この場合において、画像の低い強度領域は、ホワイトの領域として表現され、画像の低くない強度領域は、ブラックとして表現される。あるいは、低い強度領域は、ホワイトの領域として表現される他の領域およびブラックの領域として表現されることができる。いくつかの実例において、バーコード検出モジュール３４は、並行して画像の低い強度領域およびエッジを識別するためのデジタル画像を処理することができる。
【００４４】
バーコード検出モジュール３４は、エッジの高い集中を示す画像内で位置を識別するためにエッジマップ上に１つ以上のモルフォロジー演算を実行する。同様に、バーコード検出モジュール３４は、低い強度値の高い集中を示す画像内で位置を識別するために低い強度マップ上に１つ以上のモルフォロジー演算を実行する。モルフォロジー演算は、同時に（すなわち、並行して）または連続して低い強度マップおよびエッジマップ上に実行されることができる。モルフォロジー演算は、拡張演算、浸食演算、オープニング演算、クロージング演算またはそれと同様なものの１つ以上を含むことができる。１つの例において、バーコード検出モジュール３４は、低い強度マップおよびエッジマップ上に拡張を実行することができる。拡張は、分割されたエリアおよび孔を一般にふさぎ、拡張のために用いられる構造化要素の大きさより小さい空間によって区切られるエリアを接続する。
【００４５】
２値の画像のために、構造化要素、例えば、３×３の構造化要素は、ピクセルの各々の上の中心に置かれる。構造化要素内でのピクセルの何れもホワイトである場合、構造化要素が中心におかれたピクセル値は、ホワイトに設定される。類似したアプローチは、グレースケール画像のために実行される。グレースケール画像において、例えば、ピクセル値の各々は、構造化要素内でピクセル値の最大のピクセル値と等しいピクセル値を設定することによって構造化要素を用いて再計算されることができる。この方法において、ダーク領域によって囲まれるブライト領域は、大きさにおいて増大し、ブライト領域によって囲まれるダーク領域は、大きさにおいて減少する。画像の中の小さなダークポイントは、囲んでいる強度値に対してそれらが“ふさがれる”ように消滅するであろう。その結果は、強度が速やかに変更するデジタル画像の中の、例えばバーコードが位置付けた領域の中の場所で最も注目されている。
【００４６】
バーコード検出モジュール３４は、拡張された低い強度マップおよび拡張されたエッジマップを組み合わせる。バーコード検出モジュール３４は、例えば、拡張された低い強度マップおよび拡張されたエッジマップを組み合わせるために“論理積（ＡＮＤ）”演算を実行する。その組み合わされた画像は、低い強度領域およびエッジとして識別される画像の部分を表現する。言い換えると、その組み合わされた画像は、エッジおよび低い強度領域が空間的に共通に即時である画像の部分を表現する。
【００４７】
バーコード検出モジュール３４は、組み合わせられた画像上に１つ以上のモルフォロジー演算を再び実行する。例えば、バーコード検出モジュール３４は、分割されたエリアおよび孔をふさぐために組み合わされた画像上に別の拡張演算を実行することができ、その拡張のために用いられる構造化要素の大きさより小さい空間によって区切られるエリアを接続することができる。バーコード検出モジュール３４はまた、組み合わされた拡張された画像の領域内で全ての残存する孔を更に満たすために組み合わされた拡張された画像に対してフラッドフィル演算を実行することができる。フラッドフィル演算は、対象の内部の孔を満たす。いくつかの実例において、バーコード検出モジュール３４は、フラッドフィル演算の代わりにクローズ演算を実行することができる。クローズ演算は、満たしている要素の大きさ内で小さな孔を閉じる。ところが、フラッドフィル演算は、孔の大きさにかかわらず対象内で全ての孔を閉じる。この方法において、組み合わされた画像上に実行される１つ以上のモルフォロジー演算は、重複するエッジおよび低い強度部分に伴う領域を一様の、またほとんど一様の、ホワイト領域にする。
【００４８】
バーコード検出モジュール３４は、潜在的にバーコードである可能性があるデジタル画像の位置を識別するために１つ以上のモルフォロジー演算の後に組み合わされた画像の中に残存する位置を分析する。言い換えると、バーコード検出モジュール３４は、その位置がバーコードであるための候補であるかどうかを決定する。バーコード検出モジュール３４は、例えば、その位置がバーコードであるための候補かどうかを決定するために１つ以上のバーコード基準と組み合わされた画像の中に残存する位置の各々を比較することができる。バーコード検出モジュール３４は、例えば、その位置がバーコードであるためにはあまりに大きすぎるまたはあまりに小さすぎるかどうかを決定するためにバーコードの大きさの基準とその位置の大きさを比較することができる。その位置の大きさがしきい値より小さい場合、バーコード検出モジュール３４は、その位置がバーコードでないということを決定することができる。あまりに小さすぎる位置は、たとえその位置がバーコードとして検出されたとしても、バーコードを分析するために十分に詳細に画像収集装置１０のレンズシステムによって収集されることができない。別の例として、バーコード検出モジュール３４は、バーコードの形状、例えば長方形または正方形の形状と実質上類似していない位置を削除するためにバーコード形状基準とその位置の形状を比較することができる。更に別の例において、バーコード検出モジュール３４は、バーコードの充てん要因の基準とその位置の満たしている要因を比較することができる。特に、正方形および長方形は、いくつのピクセルが周囲の長方形のエリアと関連してホワイトでないかを決定するためにその位置の周囲に配置されることができる。周囲の長方形のエリアと関連してホワイトでないピクセルのパーセンテージがしきい値のパーセンテージを超える場合、その位置は、候補位置から削除されることができる。
【００４９】
バーコード検出モジュール３４は、その位置で残存しているデジタル画像が固有のバーコード機能を有するかどうかを確認することによって残存している位置が実際にバーコードであるかどうかをそのとき決定することができる。いくつかの２Ｄバーコードの場合において、例えば、バーコード検出モジュール３４は、識別された位置がバーコードファインダーパターンを含むかどうかを決定するためにバーコードであるための対象としてバーコード検出モジュール３４によって識別された画像の位置を分析することができる。２Ｄデータマトリックスバーコードの場合において、バーコード検出モジュール３４は、その位置の範囲内で固有の境界線のパターン、例えば、交互のブラックおよびホワイトの正方形のモジュールから構成される２つの垂直の線を探すことができる。２Ｄ ＱＲバーコードの場合において、バーコード検出モジュール３４は、識別された位置の３つの角で入れ子にされた交互のダークおよびライトの正方形のファインダーパターンを探すことができる。バーコード検出モジュール３４は、しかしながら、他のバーコード記号論と対応付けられた他の固有の機能または他の固有のバーコードファインダーパターンのために識別された位置を分析することができる。更に、バーコード検出モジュール３４は、固有のバーコード機能またはパターンのための生成された低い強度マップ、生成されたエッジマップまたはデジタル画像のグレースケールバージョンのような原型の画像とは違った画像を分析することができる。
【００５０】
上述されたバーコード検出技術は、いくつかの利点を与えることができる。例えば、バーコード検出技術は、その画像内でバーコードの大きさ、位置、およびオリエンテーションから独立することができる。更に、この開示の中に記述されているバーコード検出技術におけるモルフォロジー演算の使用は、より速くおよびより計算的に効率のいいバーコード検出に帰着する。更に、バーコード検出技術は、加えてより低い計算の複雑性とすることができる。
【００５１】
バーコード検出モジュール３４がその画像内でバーコードを検出しない場合、画像プロセッサ１４は、この開示の中に記述されたバーコード走査技術を更に実行することなく画像を収集するために画像センサ１２を制御することができる。すなわち、画像収集装置１０は、従来技術による画像収集技術に従って、例えば、興味のシーン内でライトの総計に基づいて、あるいは興味のシーンの中心の中の焦点のポイントを伴って画像を収集することができる。実際は、画像収集装置１０のユーザは、画像収集装置１０が興味のシーン内でバーコードを検出することを試みたということでさえ知らない。その代わりとして、バーコード検出は、ユーザを従事させることなくバックグラウンドの中で実行されることができる。
【００５２】
プレビュー画像内でバーコードを検出すると、バーコードスキャナーモジュール１８は、画像内でのバーコードの検出を表示するために、図２のビューファインダー２６のような、ビューファインダーと相互に作用することができる。いくつかの実例において、バーコードスキャナーモジュール１８は、例えば、検出されたバーコードの周囲にボックスを配置することを経て、ユーザに対して画像内でのバーコードの位置を更に表示することができる。バーコードスキャナーモジュール１８はまた、バーコードを収集し更にバーコード復号演算を実行すること、あるいは従来技術による画像収集技術に従って興味の一般のシーンを単に収集することをユーザが望むかどうかを決定することを画像収集装置１０のユーザに促す。この方法において、興味のシーン内にバーコードがある場合、ユーザは、従来技術による方法において興味のシーンを収集するためのオプションを有するが、そのユーザの意図はバーコードを走査することではなかった。しかしながら、他の観点において、画像収集装置１０は、そのユーザに促すことができないが、その代わりとして、単に、すなわち、まるで目的が興味のシーン内でバーコードを走査することであったかのように、ここの技術に従って画像を処理および収集することができる。様々な技術のどれでも、まるで目的が興味のシーン内でバーコードを走査することであったかのように画像を処理および収集するかどうかを決定するために用いられることができる。バーコードがしきい値の大きさ以上である場合、例えば、バーコードが例えば画像の少なくとも４分の１を占める場合、画像収集装置１０は、まるで目的が興味のシーン内でバーコードを走査することであったかのように画像を処理および収集することができる。
【００５３】
ユーザがバーコードのプロンプトに応じて更にバーコード復号演算を実行すべきであるということを応答する、またはこのようなプロンプトが与えられてない場合、センサ構成モジュール１９は、画像センサ１２が改良された品質でバーコードを収集することができるように画像センサ１２の画像収集プロパティ３２を構成することができる。特に、センサ構成モジュール１９は、バーコードを含む興味のシーンの領域または複数の領域の品質を改良するために画像センサ１２の画像収集プロパティを構成する。例えば、センサ構成モジュール１９は、画像センサ１２が高品質においてバーコードとともに興味のシーンの領域を収集するように露出タイマ３２Ａおよび／または焦点制御３２Ｂを構成することができる。すなわち、画像内でバーコードの位置を与えられると、センサ構成モジュール１９は、バーコードを含む興味のシーンの領域のために最適露出時間を計算することができ、従来技術による露出時間アルゴリズムを用いて、露出タイマ３２Ａを構成することができる。例えば、センサ構成モジュール１９は、バーコードを含む興味のシーンの領域の中の光強度を分析することができ、興味のシーンの特別の領域の光強度に基づいて露出時間を設定することができる。
【００５４】
加えて、またはあるいは、興味のシーン内でバーコードの位置を与えられると、センサ構成モジュール１９は、バーコードを含む興味のシーンの領域のために最適焦点制御を計算することができ、従来技術による焦点制御アルゴリズムを用いて、画像センサ１２の焦点ポイントとしてバーコードの位置を用いるために焦点制御３２Ｂを構成することができる。いったん画像収集プロパティ３２が構成されると、画像プロセッサ１４は、画像センサ１２に画像収集プロパティ３２に従って画像を収集させることができる。上述された例の実例において、センサ構成モジュール１９によって構成される画像収集プロパティ３２は露出時間および焦点制御を含むが、他の画像収集プロパティは、焦点制御および露出時間に加えて、または焦点制御および露出時間の代わりに構成されることができる。例えば、センサ構成モジュール１９は、センサ利得、例えば、画像センサ１２の増幅器利得を構成することができる。
【００５５】
いくつかの実例において、画像収集装置１０は、バーコード画像収集モードにおいて動作することができる。この場合において、画像収集プロパティ３２は、その画像内でのバーコードの検出より前に構成されることができる。バーコード検出モジュール３４は、画像センサ１２の画像収集プロパティ３２を構成する目的のために画像内でバーコードを検出する代わりにバーコードの処理の目的のために画像内でバーコードを検出することができる。
【００５６】
画像収集プロパティ３２に従って興味のシーンの画像を収集した後、バーコード処理モジュール３６は、収集された画像を処理することができる。バーコード処理モジュール３６は、例えば、バーコードの残りを含む画像の領域のみのような画像を切り取ることができる。バーコード処理モジュール３６は、例えば、バーコードの検出の間にバーコード検出モジュール３４によって生成されるバーコード位置情報を用いて、画像内で複数のバーコードまたは１つのバーコードのみを含むために収集された画像を切り取ることができる。あるいは、バーコード検出モジュール３４は、デジタル画像内でバーコードの位置を識別するためにバーコード収集動作の中のこのポイントでバーコード検出を実行することができる。画像内で１つ以上のバーコードがある実例において、バーコード処理モジュール３６は、別々に画像からバーコードの各々を抽出することができる。
【００５７】
あるいは、または加えて、バーコード処理モジュール３６は、その次のバーコードデコーダモジュール、例えば図２のバーコードデコーダモジュール２８による使用のためのきれいで一様なバーコードを生成するためにひずみを取り除くために収集された画像を更に処理することができる。いくつかの実例において、バーコード処理モジュール３６は、バーコードを含む画像の領域の中のみのひずみを補正することができる。あるいは、バーコード処理モジュール３６は、全体の画像のひずみを補正することができる。バーコード処理モジュール３６は、様々なひずみの問題のどれでもに対して補正するためにひずみ補正技術を実行することができる。例えば、バーコード処理モジュール３６は、バーコードが正確に見られることができるように画像内でバーコードを方向付けるために画像を回転することができる。
【００５８】
別の例として、バーコード処理モジュール３６は、バーコードの単一または複数の次元のパターンを暗くすることができる影および光によって引き起こされるひずみに対して補正するために画像を処理することができる。ひずみ補正モジュール３８は、遠近法に関係のある問題に対して補正するために画像を加算的に処理することができる。すなわち、バーコードは、ユーザがバーコードの画像を収集した遠近感のためスキューされることがある。バーコード処理モジュール３６は、スキューされたバーコードを補正するために画像をそれゆえ処理することができる。バーコード処理モジュール３６はまた、バーコードが平らでないアイテムの上に配置された場合に生じるバーコードのワーピングのために補正することができる。例えば、バーコード処理モジュール３６は、ガラス瓶またはアルミニウム缶上に配置されているバーコードの結果のバーコードのワーピングを補正することができる。
【００５９】
画像プロセッサ１４は、画像記憶モジュール１６内で収集されたバーコード画像を記憶することができる。画像収集装置１０は、バーコードのペイロードを抽出する目的で復号するためにバーコードデコーダモジュール２８（図２）に収集された画像を表示することができる。この方法において、バーコードスキャナーモジュール１８は、バーコードがより信頼できるおよび正確なバーコードの復号化を支援することができる改良された画像品質で収集されることができる首尾一貫したフロントエンドインタフェースを与えることができる。画像収集装置がノンバーコード画像収集モードにおいて実行する間のバーコードの自動検出は、特殊なバーコード収集装置を実行するまたは特殊なバーコードカメラを選択するような、無関係のユーザの相互作用を減らすまたは削除することにおいて得に有効であることができる。更に、バックエンドで画像改良技術を実行する代わりに画像センサ１２の画像収集プロパティを構成することは、バーコードのより高い品質の画像を与えることができる。
【００６０】
この開示の中に記述され、センサ構成モジュール１９およびバーコードスキャナーモジュール１８に属するものとみなされるような機能は、コンピュータ読み取り可能な媒体に記憶された命令を実行する１つ以上のプログラマブルプロセッサによって実行されることができる。そして、その命令および／またはコードは、プロセッサにこの開示の中に記述されたようなバーコード走査を実行させる。いくつかの場合において、コンピュータ読み取り可能な媒体は、コンピュータプログラム製品の部分を形成することができる。そして、それは、製造業者に対して販売されることおよび／または装置の中に用いられることができる。あるいは、この開示の中に記述され、センサ構成モジュール１９およびバーコードスキャナーモジュール１８に属するものとみなされる技術は、一般にハードウェアの中に、特に統合された回路装置内で実行されることができる。その統合された回路装置は、この開示の中に記述された機能を実行するように構成される１つ以上のプロセッサを備える。
【００６１】
図４は、バーコード操作を実行する、図３の画像収集装置１０のような、画像収集装置の動作の例を示すフロー図である。最初に、ユーザは画像収集を開始し、画像センサ１２は、画像入手を始める（４２）。すなわち、画像センサは、画像バッファ３０に画像情報を記憶し、収集する。いくつかの実例において、ユーザが画像を収集するためのボタンを作動させる前だが、画像センサ１２を、画像プレビューの間、すなわち、ユーザが興味のシーンで画像収集装置１０に向けている間、画像バッファ３０に画像情報を記憶し、収集する。画像入手は、バーコード画像収集モードを含む、画像収集モードの何れにおいても始めることができる。
【００６２】
バーコード検出モジュール３４は、デジタル画像を受信し、興味のシーンがバーコードを含むかどうかを検出する（４４）。バーコード検出モジュール３４は、共通に即座に低い光の強度とともにピクセルの高い集中およびエッジの高い集中を示す画像の位置を識別することができる。バーコード検出モジュール３４は、特別のバーコード記号論を独自に識別する他の機能またはバーコードファインダーパターンのような、その位置が固有のバーコード機能を有するかどうかを確認することによって識別された位置が実際にバーコードであるかどうかをそのとき決定することができる。バーコード検出技術は、図５に関してより詳細に記述される。
【００６３】
バーコード検出モジュール３４が興味のシーン内でバーコードを検出しない場合、画像プロセッサ１４は、いくつかの他の基準に基づいて決定された画像収集プロパティに従って画像を収集するために画像センサ１２を制御することができる（４６）。例えば、バーコード検出モジュール３４が興味のシーン内でバーコードを検出しない場合、画像プロセッサ１４は、そのシーンの他の特徴、興味のシーン内でのモーションの量、または興味のシーンの中のライトの量に基づいて決定された画像収集プロパティに従って画像を収集するために画像センサを制御することができる。
【００６４】
バーコードが興味のシーン内で検出される場合、バーコードスキャナーモジュール１８は、バーコードを収集し更にバーコード復号演算を実行すること、あるいは従来技術による画像収集技術に従って興味の一般のシーンを単に収集することをユーザが望むかどうかを決定するためにそのユーザに促すことができる（４８，５０）。この方法において、興味のシーン内でバーコードがある場合、従来技術による方法において興味のシーンを収集するためにオプションを有するが、そのユーザの意図はバーコードを走査することではなかった。
【００６５】
そのユーザが検出されたバーコードの促進処理を省略するための意図を合図することによってプロンプトに応答する場合、画像収集装置１０は、従来技術による画像収集プロパティに従って画像を収集する（４６）。いくつかの実例において、画像収集装置１０はそのユーザを促すことができないが、その代わりとして、すなわち、まるでその目的が興味のシーン内でバーコードを走査することであったかのように、ここでの技術に従って画像を単に収集し、処理することができる。その場合において、バーコード収集が望まれていると仮定して、ブロック４８および５０がスキップされることができる。
【００６６】
画像収集装置１０がこのようなプロンプト機能を含まない、またはユーザが検出されたバーコードを処理し続けるための意図を合図する場合、センサ構成モジュール１９は、画像センサ１２の１つ以上の画像収集プロパティを構成する（５２）。センサ構成モジュール１９は、例えば、バーコードを含む興味のシーンの領域が改良された品質で収集されるように上述された方法においてセンサ利得３２Ｃ、焦点制御３２Ｂまたは露出時間３２Ａを構成することができる。
【００６７】
画像プロセッサ１４は、プロパティを収集された構成された画像に従って画像センサ１２に興味のシーンの画像を収集させる（５４）。バーコード処理モジュール３６は、バーコードを含む画像の領域の品質を増すために収集された画像を処理することができる（５６）。バーコード処理モジュール３６は、例えば、バーコードの残りを含む画像の領域のみのような画像を切り取ることができる。あるいは、または加えて、バーコード処理モジュール３６は、その次のバーコードデコーダモジュールによる使用のためのきれいで一様なバーコードを生成するためにひずみを取り除くために収集された画像を更に処理することができる。バーコード処理モジュール３６は、ワーピング、スキュー、見方、証明または回転に関係のあるひずみを含む、様々なひずみの問題のどれでもに対して補正するためにひずみ補正技術を実行することができる。
【００６８】
バーコードを処理し、収集した後、バーコードスキャナーモジュール１８は、ペイロードを得るために復号するためにバーコードデコーダモジュールにバーコードを与えることができる（５８）。バーコードデコーダモジュールは、ペイロードを得るためにバーコードを復号する（５９）。この処理が画像記憶モジュール１６にバーコードを正式に記憶することなく生じることができるということは注釈されるべきである。すなわち、上の処理は、リアルタイムにまたはほとんどリアルタイムに生じることができ、そのバーコードは、画像記憶モジュール１６にいつも記憶されることなくバーコードデコーダモジュールに与えられることができる。それによって、画像記憶モジュール内で空間を節約することができる。しかしながら、いくつかの実例において、バーコードは、バーコードデコーダモジュールにバーコードを与えることより前に記憶されることができる。
【００６９】
図５は、この開示の中に記述される技術に従ってバーコード検出を実行する、図３の画像収集装置１０のような、画像収集装置の動作の例を示すフロー図である。最初に、バーコード検出モジュール３４は、その画像のグレースケールバージョンを得ることができる（６０）。その収集された画像情報がＹ−Ｃｂ−Ｃｒドメインの中にある場合、例えば、バーコード検出モジュール３４は、Ｙ−チャネル値を得ることができる。画像情報が別のカラードメイン、例えば、Ｒ−Ｇ−Ｂドメインの中にある実例において、バーコード検出モジュール３４は、その画像をグレースケールに変換することができる。
【００７０】
バーコード検出モジュール３４は、その画像内で識別されたエッジを除いて取り除かれた全ての細部とともにその画像の表現であるエッジマップを生成する（６２）。上で詳細に記述されたように、バーコード検出モジュール３４は、ピクセル毎に画像にエッジ検出の核を適用することによってエッジマップを生成することができる。１つの例において、エッジマップは、エッジがホワイトで、画像の残りがブラックである、２値の画像、すなわち、ブラックおよびホワイトの画像であることができる。
【００７１】
バーコード検出モジュール３４はまた、低くない強度領域が取り除かれた画像の表現である低い強度マップを生成する（６４）。バーコード検出モジュール３４は、ピクセル強度値の各々を強度しきい値と比較することによって画像の低い強度領域を識別することができ、強度しきい値以上である全てのピクセル値を取り除くことができる。１つの例において、低い強度マップは、低い強度領域がホワイトで、画像の残りがブラックである２値の画像であることができる。バーコード検出モジュール３４は、並行して低い強度領域およびエッジを識別するためのデジタル画像を処理することができる。あるいは、その演算は、連続して実行されることができる。
【００７２】
図５の例において、バーコード検出モジュール３４は、エッジマップ上で拡張を実行する（６６）。バーコード検出モジュール３４はまた、低い強度マップ上で拡張を実行する（６８）。上述されるように、拡張は、分割されたエリアおよび孔を一般にふさぎ、拡張のために用いられる構造化要素の大きさより小さい空間によって区切られるエリアを接続する。拡張は、大きさにおいて減少するダーク領域および大きさいにおいて増大する画像のブライト領域に帰着する。
【００７３】
バーコード検出モジュール３４は、拡張された低い強度マップおよび拡張されたエッジマップを組み合わせる（７０）。バーコード検出モジュール３４は、例えば、拡張された低い強度マップおよび拡張されたエッジマップを組み合わせるために“論理積（ＡＮＤ）”演算を実行する。言い換えると、その組み合わされた画像は、エッジおよび低い強度領域が空間的に共通に即時である画像の部分を表現する。バーコード検出モジュール３４は、組み合わされた画像上で拡張を実行し、組み合わされた、拡張された画像の中の全ての孔をフラッドフィルする（７２）。
【００７４】
バーコード検出モジュール３４は、バーコードであるための候補である位置を識別するためにフラッドフィルすることおよび拡張の後に組み合わされた画像を分析する（７４）。バーコード検出モジュール３４は、その位置がバーコードであるための候補であるかどうかを決定するために１つ以上のバーコード基準と組み合わされた画像の位置の各々を比較することができる。バーコード検出モジュール３４は、例えば、バーコードであるための候補である位置を識別するために組み合わされた画像の中の位置の特徴の組み合わせ、または他の類似した特徴、位置の充てん要因、位置の形状、位置の大きさを分析することができる。
【００７５】
バーコード検出モジュール３４は、候補位置が実際にバーコードであるかどうかを確認することができる（７６）。例えば、バーコード検出モジュール３４は、２Ｄ ＱＲバーコードの場合における位置の３つの角の中の交互のブラックおよびホワイトの正方形の入れ子にされたパターンまたは２Ｄデータマトリックスバーコードの場合における交互のブラックおよびホワイトの正方形の２つの垂直の線のような、固有のバーコードファインダーパターンのための候補位置として識別された原型の画像の位置を分析することができる。他の観点において、バーコード検出モジュール３４は、生成された低い強度マップ、生成されたエッジマップまたはデジタル画像のグレースケールバージョンのような原型の画像とは違った画像を分析することができる。バーコード検出モジュール３４は、バーコードとして確認された位置を分類する（７８）。言い換えると、バーコード検出モジュール３４は、候補位置が固有のバーコード機能を含む場合にバーコードを検出する。
【００７６】
図６Ａ−６Ｄは、この開示の中に記述されるバーコード操作技術に従って画像を表示する例示的なビューファインダー８０の図である。ビューファインダー８０は、図２のビューファインダー２６と実質上類似することができる。図６Ａに示されるように、ビューファインダー８０は、一般に興味のシーンのリアルタイムの画像を表示することができる。興味のシーンは、フォアグラウンドまたはバックグラウンドの中のどちらか一方の多数の対象を含むことができるが、図の容易さのために空白のシーンとして示されている。画像８２は、バーコード８６が付けられる、または少なくとも付けられると思えるアイテムを含む。アイテム８４は、ボックスまたは他の製品パッケージ、缶、雑誌または他の製品、道路標識、またはアイテムの任意の他のタイプのような、多数のアイテムのどれでも含むことができる。ビューファインダー８０は、図３の画像収集装置１０のような、画像収集装置が動作しているモードを示すモードインジケータ８８を画像８２の上に置くことができる。まもなく、モードインジケータ８８は、画像収集装置１０が“デフォルトモード”の中で動作しているということを示す。デフォルト画像収集モードの中で動作するとして図６Ａ−６Ｄの中に記述され、示されているが、この開示のバーコード走査技術は、ハイモーションモード（また、アクションモードとして言及される）、ローモーション（また、風景（セニックまたはランドスケープ）モードとして言及される）人間主体またはフェースモード、ダークモード、ブライトモードまたはバーコードの画像を収集することに対して明確に設定されていない任意の他のモードのような、任意のノンバーコード画像収集モードの中のバーコードを検出するために用いられることができる。加えて、この開示の技術は、その上バーコードの画像を収集するために明確に設計されたバーコード画像収集モードの中のバーコードを検出するために用いられることができる。
【００７７】
デフォルトモードの中で動作しているとしても、バーコードスキャナーモジュール１８は、この開示の中に記述されるバーコード走査技術を実行する。例えば、バーコード検出モジュール３４は、例えば図５に関連して、上述される方法において画像８２内でバーコード８６を検出する。図６Ｂは、バーコードスキャナーモジュール１８がバーコード８６の位置および検出を反映するためにビューファインダー８０を更新した後のビューファインダー８０を示す。特に、ビューファインダー８０は、バーコードシグナリングマーク８９Ａ−８９Ｄ（“マーク８９”）を現在含む。マーク８９は、画像８２内でバーコード８６の位置を表示する。マーク８９はバーコード８６の各々の角を囲んでいるとして示されるが、マーク８９は、バーコード８６の位置を合図することが可能な任意の可視のインジケータ、例えば、矢印、ボックスまたは他の形状、またはインジケータの他のタイプを備えることができる。バーコード検出モジュール３４がビューファインダー８０内でのバーコード８６の現在の外見にかかわらずバーコードを探し出すことができるということは、注釈されるべきである。これは、減少させられた品質、例えばバーコード８６のわずかにスキューされた性質および画素化されたグレースケール、のバーコード８６を示すことによって図６Ａ−６Ｃの中に反映される。
【００７８】
画像８２内でバーコード８６を探し出した後、バーコードスキャナーモジュール１８は、いくつかの実例において、バーコード８６を更に処理し続ける前にユーザに促すことができる。図６Ｃは、画像８２の上に置かれたユーザプロンプト９０とともにビューファインダー８０を示す。ユーザプロンプト９０は、単に例示的なユーザプロンプトであり、この開示の中に記述された技術は、全く別のユーザプロンプトを含むことができるまたはユーザプロンプトを含む必要がない。いくつかの観点において、ユーザプロンプトは、ユーザによるユーザの好みとして設定されることができる。ユーザがバーコードを処理し続けることを望む場合にユーザは“OK”をラベルされたボタンを押すべきであり、そうでない場合には“Exit”をラベルされたボタンを押すべきであるということを表示することによって、ユーザプロンプト９０は、“撮影するためにExitを押す”および“バーコードを処理するためにOKを押す”ことをユーザに促す。“OK”および“Exit”ボタンの両方とも、再び単に例示的であり、この開示の中に記述される技術は、この限られたコンテキストに制限されるべきではない。そのボタンは、ソフトキー、ハードキータッチスクリーンボタンまたはそれと同様なものを含むことができる。ユーザが例示的な“OK”ボタンを押すと仮定すると、図６Ｄは、バーコード８６の結果として生じる画像８２を表示するビューファインダー８０を示す。多数のバーコードが興味のシーン内で含まれる実例において、画像収集装置１０は、ユーザが走査に興味をもっている多数のバーコードのどれかを選択することビューファインダー８０を介してユーザに促すことができる。
【００７９】
図６Ｄの中に示されるように、画像８２は、ひずみ、例えば、前の図６Ａ−６Ｃの画素化されたおよびスキューされたバーコード８６と対応づけられるコントラストおよびスキューの問題を補正するために処理され、切り取られている画像を表現する、きれいなでひずませられたバーコードを含む。図６Ｄのバーコード８６は、ブラックおよびホワイトカラーの間に高いコントラストを有し、完全ではないがほとんど正方形である。このように、図６Ｄのバーコード８６は、バーコードデコーダモジュールがバーコード８６に対して符号化されたペイロードを容易に抽出することができるように一様なバーコードを与える。ビューファインダー８０内で与えられているとして記述されたが、図６Ｄの一様なバーコード８６は、ビューファインダー８０内で与えられることができず、その代わりとして上で論じられたバーコードデコーダに直ちに送られることができる。
【００８０】
図７Ａ−７Ｇは、この開示の中に記述されるバーコード検出処理の様々な段階の間のバーコードの画像の図の例である。図７Ａは、例えば画像プレビューの間に、画像センサ１２によって最初に取得されるときのグレースケール画像の図の例を示す。上で詳細に記述されるように、バーコード検出モジュール３４は、画像内でエッジを識別するために図７Ａに示されるグレースケール画像を処理する。図７Ｂは、原型のグレースケース画像内で識別されるエッジのエッジマップの図の例を示す。エッジマップは、識別されるエッジを除いて取り除かれた全ての細部とともに原型の画像を表現する。図７Ｂに示されるエッジマップの例において、画像内で検出されたエッジはホワイトであるのに対し、画像の残りはブラックである。しかしながら、他の場合において、画像内で検出されたエッジはブラックであり、画像の残りはホワイトであることができる。
【００８１】
バーコード検出モジュール３４は、原型のグレースケール画像内で低い強度領域を識別するために図７Ａに示されるグレースケール画像を更に処理する。図７Ｃは、グレースケール画像の識別される低い強度領域の低い強度マップの図の例を示す。その低い強度マップは、その低くない強度領域が取り除かれた原型画像を表現することができる。図７Ｃに示される低い強度マップの例において、低い強度領域はホワイトとして示され、他の領域はブラックとして示される。しかしながら、他の場合において、画像内で低い強度領域はブラックであり、画像の残りはホワイトである。
【００８２】
図７Ｄおよび７Ｅは、バーコード検出モジュール３４が拡張を実行した後のそれぞれ低い強度マップおよびエッジマップの図の例である。図７Ｆは、拡張された低い強度マップおよび拡張されたエッジマップを組み合わせ、その組み合わされた画像の拡張を実行し、その拡張された、組み合わされた画像をフラッドフィルした後に、バーコード検出モジュール３４によって生成された画像の図の例である。図７Ｆの図の例に示されるように、いくつかの位置は、バーコードを含む、処理の後に画像内でまだ残存する。興味の典型的なシーンは、組み合わされた画像の中に残存する多数の他の位置を含むことができる。例えば、他のバックグラウンドおよびフォアグラウンドの対象に伴う興味の典型的なシーンの組み合わされた画像は、テキストを伴う位置、興味のシーンの中の他のバーコードでない対象のエッジを含む位置またはそれと同様なもののような、残存する位置を含むことができる。
【００８３】
バーコード検出モジュール３４は、潜在的にバーコードである位置を識別するために残存する位置を分析する。バーコード検出モジュール３４は、位置がバーコードであるための候補であるかどうかを決定するために、１つ以上のバーコード基準、例えば、大きさ、形状、充てん要因、またはそれと同様なものと画像の中の位置の各々を比較することができる。図７Ｇは、バーコードモジュール３４が対象位置を選択するために位置を分析した後の画像の図の例を示す。図７Ｇに示される画像の中に残存する対象位置は、２つの正方形に形づくられた位置であり、それは図７Ａの原型のグレースケール画像の中の実際上のバーコードに対応する。
【００８４】
ここで記述された技術は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせにおいて実行されることができる。構成要素またはモジュールとして記述された全ての機能は、相互運用可能な論理装置でなく分離したとして別々にまたは統合した論理装置において共に実行されることができる。ソフトウェアにおいて実行される場合、その技術は、実行されるとき上述された方法の１つ以上を実行する命令を備えるコンピュータ読み取り可能媒体によって少なくとも一部分を実現されることができる。コンピュータ読み取り可能媒体は、コンピュータプログラム製品の部分を形成することができ、それはパッケージ材料を含むことができる。コンピュータ読み取り可能媒体は、ＳＤＲＡＭ（synchronous dynamic random access memory）、ＲＯＭ（read-only memory）、ＮＶＲＡＭ（non-volatile random access memory）、ＥＥＰＲＯＭ（electrically erasable programmable read-only memory）フラッシュメモリ（FLASH memory）、磁気または光データ記憶媒体、およびそれと同様なもののようなＲＡＭ（random access memory）を備えることができる。その技術は、加えて、またはあるいは、コンピュータによって実行される、読み込まれるおよび／またはアクセスされることができ、データ構造または命令の方の中のコードを通信するまたは運ぶコンピュータ読み取り可能通信媒体によって少なくとも一部分を実現されることができる。
【００８５】
そのコードは、１つ以上のＤＰＳ、一般の目的のマイクロプロセッサ、ＡＳＩＣ、フィールドプログラマブレロジックアレイＦＰＧＡ、または他の等価の統合したまたは分離した論理回路のような、１つ以上のプロセッサによって実行されることができる。よって、ここで用いられるように、用語“プロセッサ”は、ここで記述された技術の具体化に適した任意の他の構造または前述の構造のどれにも言及することができる。加えて、いくつかの観点において、ここで記述された機能は、組み合わせられたビデオコーデックに組み込まれる、または復号するおよび符号化するために構成されるハードウェアモジュールまたは専用のソフトウェアモジュール内で提供されることができる。このゆえに、本開示はまた、この開示の中に記述された１つ以上の技術を実行するための電気回路構成を含む様々な統合された回路装置のどれでも熟慮する。このような電気回路構成は、単一の統合された回路チップの中にまたは複数の、相互運用可能な統合された回路チップの中に提供されることができる。
【００８６】
様々な観点が記述されている。これらおよび他の観点は、以下の特許請求の範囲の範囲内にある。
【図１】
2011518363.tif 000003
【図２】
2011518363.tif 000004
【図３】
2011518363.tif 000005
【図４】
2011518363.tif 000006
【図５】
2011518363.tif 000007
【図６Ａ】
2011518363.tif 000008
【図６Ｂ】
2011518363.tif 000009
【図６Ｃ】
2011518363.tif 000010
【図６Ｄ】
2011518363.tif 000011
【図７Ａ】
2011518363.tif 000012
【図７Ｂ】
2011518363.tif 000013
【図７Ｃ】
2011518363.tif 000014
【図７Ｄ】
2011518363.tif 000015
【図７Ｅ】
2011518363.tif 000016
【図７Ｆ】
2011518363.tif 000017
【図７Ｇ】
2011518363.tif 000018
【国際調査報告】
2011518363.tif 000019
2011518363.tif 000020