(57)【要約】  本開示は、画像キャプチャ・デバイスのためのバーコード・スキャニング技法を説明する。画像キャプチャ・デバイスは、画像キャプチャ・デバイスがデフォルト画像キャプチャ・モードのような、非バーコード画像キャプチャ・モードで作動している間に、画像内のバーコードを自動的に検出し得る。１つの態様において、画像内のバーコードの検出は、画像内の識別されたエッジおよび低明度領域の組み合わせに基づき得る。画像キャプチャ・デバイスは、バーコードの検出に基づいて、キャプチャされた画像における画質を改善するために、画像キャプチャ・デバイスに関連する１つ以上の画像キャプチャ・プロパティを設定し得る。画像キャプチャ・デバイスは、設定された画像キャプチャ・プロパティに従って画像をキャプチャする。技法は、複雑なユーザー・インタフェースを介してユーザとの重要なインタラクションを要求せずに、バーコードの改善された画質を生成するために普遍的で統合されたフロントエンドを効果的に供給し得る。
2011513818.tif 000002
【特許請求の範囲】
【請求項１】
非バーコード画像キャプチャ・モードで作動する画像キャプチャ・デバイスで興味のあるシーン内の少なくとも１つのバーコードの検出することと、
前記少なくとも１つのバーコードの前記検出に基づいて、前記検出されたバーコードを含む前記興味のシーンの領域の画質を改善するために、前記画像キャプチャ・デバイスの１つ以上の画像キャプチャ・プロパティを設定することと、
前記１つ以上の設定された画像キャプチャ・プロパティに従って前記画像キャプチャ・デバイスで前記興味のあるシーンの画像をキャプチャすることと、
を備える方法。
【請求項２】
前記画像キャプチャ・デバイスの１つ以上の画像キャプチャ・プロパティを設定することは、前記少なくとも１つのバーコードの前記検出に基づいて前記画像キャプチャ・デバイスの露光時間、焦点、およびセンサ利得のうちの少なくとも１つを設定することを備える、
請求項１に記載の方法。
【請求項３】
前記画像キャプチャ・デバイスの１つ以上の画像キャプチャ・プロパティを設定することは、前記バーコードを含む前記興味のあるシーンの前記領域の１つ以上の特徴に基づいて前記画像キャプチャ・デバイスの露光時間、焦点、およびセンサ利得のうちの少なくとも１つを設定することを備える、
請求項１に記載の方法。
【請求項４】
前記興味のあるシーン内のバーコードを前記検出することは、
興味のあるシーンのデジタル画像内のエッジとして明度推移閾値を越える明度の推移を識別することと、
低明度領域として明度閾値未満の明度であるデジタル画像の領域を識別することと、
空間的に同時に前記識別されたエッジおよび前記識別された低明度領域を含む前記デジタル画像内の位置で前記バーコードを検出することを備える前記デジタル画像内で前記バーコードを検出することと、
を備える請求項１に記載の方法。
【請求項５】
空間的に同時に前記識別されたエッジおよび前記識別された低明度領域を含む前記デジタル画像内の前記位置で前記バーコードを検出することは、
空間的に同時に前記識別されたエッジおよび前記識別された低明度領域を含む前記画像内での位置を識別することと、
前記位置が１つ以上のバーコード基準を満たす場合、前記識別された位置がバーコードの候補位置であると判定することと、
前記識別された位置での前記興味のあるシーンが固有のバーコードの特徴を含む場合、前記識別された位置がバーコードであると判定することと、
を備える請求項４に記載の方法。
【請求項６】
前記識別された位置がバーコードであるための候補位置であることを判定することは、前記識別された位置が前記識別された位置の形、前記識別された位置のサイズ、前記識別された位置のフィル・ファクタのうちの少なくとも１つに基づいてバーコードの候補位置を判定することを備える、
請求項５に記載の方法。
【請求項７】
前記識別された位置で前記興味のあるシーンが固有のバーコードの特徴を含む場合、前記識別された位置がバーコードであると判定することは、前記識別された位置が前記識別された位置で前記興味のあるシーン内のバーコード・ファインダ・パターンを検出する上でのバーコードであることを判定することを備える、
請求項５に記載の方法。
【請求項８】
前記少なくとも１つのバーコードの検出することは、前記興味のあるシーン内の複数のバーコードを検出することを備え、
前記１つ以上の画像キャプチャ・プロパティを設定することは、前記検出されたバーコードのうちの１つを含む前記画像の各領域の画質を改善するために、前記画像キャプチャ・デバイスの前記１つ以上の画像キャプチャ・デバイスを設定することを備える、
請求項１に記載の方法。
【請求項９】
前記バーコードによって符号化された情報を抽出するために前記少なくとも１つのバーコードを復号化することと、
前記バーコードから抽出された前記情報を使用してアプリケーションを起動することと、
をさらに備える請求項１に記載の方法。
【請求項１０】
前記少なくとも１つのバーコードを含む、前記キャプチャされた画像の領域の画質を改善するために前記キャプチャされた画像を処理すること、
をさらに備える請求項１に記載の方法。
【請求項１１】
ユーザが前記少なくとも１つのバーコードをスキャンする意図があるかどうかに関する入力で前記ユーザを促すことと、
前記ユーザが前記少なくとも１つのバーコードをスキャンする意図を示す場合、前記画像キャプチャ・デバイスの前記１つ以上の画像キャプチャ・プロパティを設定することと、
をさらに備える請求項１に記載の方法。
【請求項１２】
前記非バーコード画像キャプチャ・モードは、デフォルト・画像キャプチャ・モード、高運動画像キャプチャ・モード、低運動画像キャプチャ・モード、ダーク・シーン画像キャプチャ・モード、およびブライト・シーン画像キャプチャ・モードのうちの１つを備える、
請求項１に記載の方法。
【請求項１３】
画像センサと、
前記画像センサと結合している画像処理プロセッサと、を備える画像キャプチャ・デバイスであって、
前記画像処理プロセッサは、
非バーコード画像キャプチャ・モードで作動する前記画像キャプチャ・デバイスで興味のあるシーン内の少なくとも１つのバーコードの検出するバーコード検出モジュールと、
前記少なくとも１つのバーコードの前記検出に基づいて、前記検出されたバーコードを含む前記興味のシーンの領域の画質を改善するために、前記画像キャプチャ・デバイスの１つ以上の画像キャプチャ・プロパティを設定するセンサ設定モジュールと、
を備え、
前記画像処理プロセッサは、前記画像センサに、前記１つ以上の設定された画像キャプチャ・プロパティに従って前記興味のあるシーンの画像をキャプチャさせる、
画像キャプチャ・デバイス。
【請求項１４】
前記センサ設定モジュールは、前記少なくとも１つのバーコードの検出に基づいて前記画像キャプチャ・デバイスの露光時間、焦点、およびセンサ利得のうちの少なくとも１つを設定することを備える、
請求項１３に記載のデバイス。
【請求項１５】
前記センサ設定モジュールは、前記バーコードを含む前記興味のあるシーンの前記領域の１つ以上の特徴に基づいて前記画像キャプチャ・デバイスの露光時間、焦点、およびセンサ利得のうちの少なくとも１つを設定することを備える、
請求項１４に記載のデバイス。
【請求項１６】
バーコード検出モジュールは、興味のあるシーンのデジタル画像内のエッジとして明度推移閾値を越える明度の推移を識別することと、
低明度領域として明度閾値未満の明度であるデジタル画像の領域を識別することと、
空間的に同時に前記識別されたエッジおよび前記識別された低明度領域を含む前記デジタル画像内の位置で前記バーコードを検出することを備える前記デジタル画像内で前記バーコードを検出することと、
を備える請求項１３に記載のデバイス。
【請求項１７】
バーコード検出モジュールは、
空間的に同時に前記識別されたエッジおよび前記識別された低明度領域を含む前記画像内での位置を識別することと、
前記位置が１つ以上のバーコード基準を満たす場合、前記識別された位置がバーコードであるための候補位置であると判定することと、
前記識別された位置で前記興味のあるシーンが固有のバーコードの特徴を含む場合、前記識別された位置がバーコードであると判定することと、
を備える請求項１６に記載のデバイス。
【請求項１８】
バーコード検出モジュールは、前記識別された位置が前記識別された位置の形、前記識別された位置のサイズ、前記識別された位置のフィル・ファクタのうちの少なくとも１つに基づいてバーコードである候補位置を判定することを備える、
請求項１７に記載のデバイス。
【請求項１９】
前記バーコード検出モジュールは、前記識別された位置が前記識別された位置で前記興味のあるシーン内のバーコード・ファインダ・パターンを検出する上でのバーコードであることを判定することを備える、
請求項１７に記載のデバイス。
【請求項２０】
前記バーコード検出デバイスは、前記興味のあるシーン内の複数のバーコードを検出することを備え、
センサ設定モジュールは、前記検出されたバーコードのうちの１つを含む前記画像の各領域の画質を改善するために、前記画像キャプチャ・デバイスの前記１つ以上の画像キャプチャ・デバイスを設定することを備える、
請求項１３に記載のデバイス。
【請求項２１】
前記バーコードによって符号化された情報を抽出するために前記少なくとも１つのバーコードを復号化し、前記バーコードから抽出された前記情報を使用してアプリケーションを起動する、バーコード・復号器をさらに備える、
請求項１３に記載のデバイス。
【請求項２２】
前記少なくとも１つのバーコードを含む、前記キャプチャされた画像の領域の画質を改善するために前記キャプチャされた画像を処理するバーコード処理モジュールをさらに備える、
請求項１３に記載のデバイス。
【請求項２３】
ファインダをさらに備え、
前記画像処理プロセッサは、ユーザが前記少なくとも１つのバーコードをスキャンする意図があるかどうかに関する入力で前記ファインダを介して前記ユーザを促し、
前記センサ設定モジュールは、前記ユーザが前記少なくとも１つのバーコードをスキャンする意図を示す場合、前記画像キャプチャ・デバイスの前記１つ以上の画像キャプチャ・プロパティを設定する、
請求項１３に記載のデバイス。
【請求項２４】
前記非バーコード画像キャプチャ・モードは、デフォルト・画像キャプチャ・モード、高運動画像キャプチャ・モード、低運動画像キャプチャ・モード、ダーク・シーン画像キャプチャ・モード、およびブライト・シーン画像キャプチャ・モードのうちの１つを備える、
請求項１３に記載のデバイス。
【請求項２５】
その上に命令を有するコンピュータ可読媒体を備えるコンピュータ・プログラム製品であって、前記命令は、
非バーコード画像キャプチャ・モードで作動する画像キャプチャ・デバイスで興味のあるシーン内の少なくとも１つのバーコードの検出するためのコードと、
前記少なくとも１つのバーコードの前記検出に基づいて、前記検出されたバーコードを含む前記興味のシーンの領域の画質を改善するために、前記画像キャプチャ・デバイスの１つ以上の画像キャプチャ・プロパティを設定するためのコードと、
前記１つ以上の設定された画像キャプチャ・プロパティに従って前記画像キャプチャ・デバイスで前記興味のあるシーンの画像をキャプチャするためのコードと、
を備えるコンピュータ・プログラム製品。
【請求項２６】
前記画像キャプチャ・デバイスの１つ以上の画像キャプチャ・プロパティを設定するためのコードは、前記少なくとも１つのバーコードの前記検出に基づいて前記画像キャプチャ・デバイスの露光時間、焦点、およびセンサ利得のうちの少なくとも１つを設定するためのコードを備える、
請求項２５に記載のコンピュータ・プログラム製品。
【請求項２７】
前記画像キャプチャ・デバイスの１つ以上の画像キャプチャ・プロパティを設定するためのコードは、前記バーコードを含む前記興味のあるシーンの前記領域の１つ以上の特徴に基づいて前記画像キャプチャ・デバイスの露光時間、焦点、およびセンサ利得のうちの少なくとも１つを設定するためのコードを備える、
請求項２６に記載のコンピュータ・プログラム製品。
【請求項２８】
前記興味のあるシーン内のバーコードを検出するためのコードは、
興味のあるシーンのデジタル画像内のエッジとして明度推移閾値を越える明度の推移を識別するためのコードと、
低明度領域として明度閾値未満の明度であるデジタル画像の領域を識別するためのコードと、
空間的に同時に前記識別されたエッジおよび前記識別された低明度領域を含む前記デジタル画像内の位置で前記バーコードを検出することを備える前記デジタル画像内で前記バーコードを検出するためのコードと、
を備える請求項２５に記載のコンピュータ・プログラム製品。
【請求項２９】
空間的に同時に前記識別されたエッジおよび前記識別された低明度領域を含む前記デジタル画像内の位置で前記バーコードを検出するためのコードは、
空間的に同時に前記識別されたエッジおよび前記識別された低明度領域を含む前記画像内での位置を識別するためのコードと、
前記位置が１つ以上のバーコード基準を満たす場合、前記識別された位置がバーコードであるための候補位置であると判定するためのコードと、
前記識別された位置での前記興味のあるシーンが固有のバーコードの特徴を含む場合、前記識別された位置がバーコードであると判定するためのコードと、
を備える請求項２８に記載のコンピュータ・プログラム製品。
【請求項３０】
前記識別された位置がバーコードであるための候補位置であることを判定するためのコードは、前記識別された位置が前記識別された位置の形、前記識別された位置のサイズ、前記識別された位置のフィル・ファクタのうちの少なくとも１つに基づいてバーコードである候補位置を判定するためのコードを備える、
請求項２９に記載のコンピュータ・プログラム製品。
【請求項３１】
前記識別された位置で前記興味のあるシーンが固有のバーコードの特徴を含む場合、前記識別された位置がバーコードであると判定するためのコードは、前記識別された位置が前記識別された位置で前記興味のあるシーン内のバーコード・ファインダ・パターンを検出する上でのバーコードであることを判定するためのコードを備える、
請求項２９に記載のコンピュータ・プログラム製品。
【請求項３２】
前記少なくとも１つのバーコードの検出するためのコードは、前記興味のあるシーン内の複数のバーコードを検出するためのコードを備え、
前記１つ以上の画像キャプチャ・プロパティを設定するためのコードは、前記検出されたバーコードのうちの１つを含む前記画像の各領域の画質を改善するために、前記画像キャプチャ・デバイスの前記１つ以上の画像キャプチャ・デバイスを設定するためのコードを備える、
請求項２５に記載のコンピュータ・プログラム製品。
【請求項３３】
前記バーコードによって符号化された情報を抽出するために前記少なくとも１つのバーコードを復号化するためのコードと、
前記バーコードから抽出された前記情報を使用してアプリケーションを起動するためのコードと、
をさらに備える請求項２５に記載のコンピュータ・プログラム製品
【請求項３４】
前記少なくとも１つのバーコードを含む、前記キャプチャされた画像の領域の画質を改善するために前記キャプチャされた画像を処理するためのコードをさらに備える、
請求項２５に記載のコンピュータ・プログラム製品。
【請求項３５】
ユーザが前記少なくとも１つのバーコードをスキャンする意図があるかどうかに関する入力で前記ユーザを促すためのコードと、
前記ユーザが前記少なくとも１つのバーコードをスキャンする意図を示す場合、前記画像キャプチャ・デバイスの前記１つ以上の画像キャプチャ・プロパティを設定するためのコードと、
をさらに備える請求項２５に記載のコンピュータ・プログラム製品。
【請求項３６】
前記非バーコード画像キャプチャ・モードは、デフォルト・画像キャプチャ・モード、高運動画像キャプチャ・モード、低運動画像キャプチャ・モード、ダーク・シーン画像キャプチャ・モード、およびブライト・シーン画像キャプチャ・モードのうちの１つを備える、
請求項２５に記載のコンピュータ・プログラム製品。
【請求項３７】
非バーコード画像キャプチャ・モードで作動する画像キャプチャ・デバイスで興味のあるシーン内の少なくとも１つのバーコードの検出するための手段と、
前記少なくとも１つのバーコードの前記検出に基づいて、前記検出されたバーコードを含む前記興味のシーンの領域の画質を改善するために、前記画像キャプチャ・デバイスの１つ以上の画像キャプチャ・プロパティを設定するための手段と、
前記１つ以上の設定された画像キャプチャ・プロパティに従って前記画像キャプチャ・デバイスで前記興味のあるシーンの画像をキャプチャするための手段と、
を備える画像キャプチャ・デバイス。
【請求項３８】
前記設定する手段は、前記少なくとも１つのバーコードの前記検出に基づいて前記画像キャプチャ・デバイスの露光時間、焦点、およびセンサ利得のうちの少なくとも１つを設定する、
請求項３７に記載のデバイス。
【請求項３９】
前記設定する手段は、前記バーコードを含む前記興味のあるシーンの前記領域の１つ以上の特徴に基づいて前記画像キャプチャ・デバイスの露光時間、焦点、およびセンサ利得のうちの少なくとも１つを設定する、
請求項３８に記載のデバイス。
【請求項４０】
前記検出する手段は、
興味のあるシーンのデジタル画像内のエッジとして明度推移閾値を越える明度の推移を識別し、
低明度領域として明度閾値未満の明度である前記デジタル画像の領域を識別し、
空間的に同時に前記識別されたエッジおよび前記識別された低明度領域を含む前記デジタル画像内の位置で前記バーコードを検出することを備える前記デジタル画像内で前記バーコードを検出する、
請求項３７に記載のデバイス。
【請求項４１】
前記検出する手段は、
空間的に同時に前記識別されたエッジおよび前記識別された低明度領域を含む前記画像内での位置を識別し、
前記位置が１つ以上のバーコード基準を満たす場合、前記識別された位置がバーコードであるための候補位置であると判定し、
前記識別された位置での前記興味のあるシーンが固有のバーコードの特徴を含む場合、前記識別された位置がバーコードであると判定する、
請求項４０に記載のデバイス。
【請求項４２】
前記検出する手段は、前記識別された位置が前記識別された位置の形、前記識別された位置のサイズ、前記識別された位置のフィル・ファクタのうちの少なくとも１つに基づいてバーコードである候補位置を判定する、
請求項４１に記載のデバイス。
【請求項４３】
前記検出する手段は、前記識別された位置が前記識別された位置で前記興味のあるシーン内のバーコード・ファインダ・パターンを検出する上でのバーコードであることを判定する、
請求項４１に記載のデバイス。
【請求項４４】
前記検出する手段は、前記興味のあるシーン内の複数のバーコードを検出し、
前記設定する手段は、前記検出されたバーコードのうちの１つを含む前記画像の各領域の画質を改善するために、前記画像キャプチャ・デバイスの前記１つ以上の画像キャプチャ・デバイスを設定する、
請求項３７に記載のデバイス。
【請求項４５】
前記バーコードによって符号化された情報を抽出するために前記少なくとも１つのバーコードを復号化するための手段をさらに備え、前記復号化手段は、前記バーコードから抽出された前記情報を使用してアプリケーションを起動する、
請求項３７に記載のデバイス。
【請求項４６】
前記少なくとも１つのバーコードを含む、前記キャプチャされた画像の領域の画質を改善するために前記キャプチャされた画像を処理するための手段をさらに備える、
請求項３７に記載のデバイス。
【請求項４７】
ユーザが前記少なくとも１つのバーコードをスキャンする意図があるかどうかに関する入力で前記ユーザを促すための手段をさらに備え、
前記設定する手段は、前記ユーザが前記少なくとも１つのバーコードをスキャンする意図を示す場合、前記画像キャプチャ・デバイスの前記１つ以上の画像キャプチャ・プロパティを設定する、
請求項３７に記載のデバイス。
【請求項４８】
前記非バーコード画像キャプチャ・モードは、デフォルト・画像キャプチャ・モード、高運動画像キャプチャ・モード、低運動画像キャプチャ・モード、ダーク・シーン画像キャプチャ・モード、およびブライト・シーン画像キャプチャ・モードのうちの１つを備える、
請求項３７に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像キャプチャ・デバイスに関し、特に、画像キャプチャ・デバイス内で統合されたバーコード・スキャニングを提供するための技術に関する。
【関連出願】
【０００２】
同時係属特許出願の参照  
特許のための本出願は、本出願の譲受人に譲渡され、参照により本明細書に明白に組み込まれる、本明細書と同時に出願された代理人整理番号第０７２４９９号を有する、Ｈｓｉａｎｇ−Ｔｓｕｎ  Ｌｉによる「BARCODE DETECTION BASED ON MORPHOLOGICAL OPERATIONS」と題される同時係属米国特許出願に関する。
【背景技術】
【０００３】
バーコードは、１つ以上のパターンの形式における情報の機械可読表現である。従来の一次元バーコードは、一連の並列で隣り合うさまざまな幅と間隔のバーの形式で情報を表現している。しかしながら、バーコードは、ドット、同心円、などのパターンのような多くの他のパターンで情報を表現するために拡張している。これらの他のパターンは、一次元（１Ｄ）または二次元（２Ｄ）パターンで配置された形を含み得る。
【０００４】
バーコードは、アイテムを識別し、追跡し、一覧表を作成し、値段を付けるために使用され得る。典型的に、バーコードは、データベースまたは他の追跡システムを使用してアイテムのタイプに識別番号を関連させるために使用される。しかしながら、最近のバーコードは、添付または他の関連したアイテムに関連する多様な情報を符号化するために使用され始めている。従って、バーコードは、従来の用途に無関係な目的のための情報を通信する方法として浮上してきている。従って、単なる小売業者よりもむしろ、消費者は、情報を伝達できるバーコードの有効な働きを受け入れ始めている。
【発明の概要】
【０００５】
この開示は、例えば、「カメラ電話」または「テレビ電話」と呼ばれる、画像キャプチャ能力を包含するワイヤレス通信装置のような画像キャプチャ・デバイスのためのバーコード・スキャニング技術を説明する。画像キャプチャ・デバイスは、興味のあるシーン内のバーコードを自動的に検出し、品質の向上と共に、興味のあるシーンまたは少なくともバーコードを含む興味のあるシーンをキャプチャする。例えば、自動バーコード検出は、画像キャプチャ・デバイスがデフォルトの画像キャプチャ・モードのような非バーコード画像キャプチャ・モードで作動間に生じる。興味のあるシーン内のバーコードの検出に基づいて、画像キャプチャ・デバイスは、画像キャプチャ・デバイスに関連する１つ以上の露光時間と焦点制御のような、画像キャプチャ・デバイスに関連する１つ以上の画像キャプチャ・プロパティを設定する。さらに、画像キャプチャ・デバイスは、画像キャプチャ・プロパティに従って画像をキャプチャし得る。
【０００６】
１つの態様において、方法は、非バーコード・画像キャプチャ・モードで作動する画像キャプチャ・デバイスで興味のあるシーン内の少なくとも１つのバーコードを検知することを備える。さらに、方法は、少なくとも１つのバーコードの検出に基づいて、検出されたバーコードを含む興味のあるシーンの領域の画質を改善するために、画像キャプチャ・デバイスの１つ以上の画像キャプチャ・デバイスの画像キャプチャ・プロパティを設定することと、１つ以上の設定された画像キャプチャ・プロパティに従って画像キャプチャ・デバイスで興味のあるシーンの画像をキャプチャすることと、を含む。
【０００７】
別の態様において、画像キャプチャ・デバイスは、画像センサと、画像センサと結合する画像処理プロセッサと、を備える。画像処理プロセッサは、画像キャプチャ・デバイスが非バーコード画像キャプチャ・モードで作動する間に興味のあるシーン内で少なくとも１つのバーコードを検出するバーコード検出モジュールと、少なくとも１つのバーコードの検出に基づいて、検出されたバーコードを含む興味のあるシーンの領域の画質を改善するために、画像センサの１つ以上の画像キャプチャ・プロパティを設定するセンサ設定モジュールと、を含む。画像処理プロセッサは、画像センサに、１つ以上の画像キャプチャ・プロパティに従って興味のあるシーンの画像をキャプチャさせる。
【０００８】
別の態様において、コンピュータ・プログラム製品は、その上に命令を有するコンピュータ可読媒体を備える。その命令は、非バーコード画像キャプチャ・モードで作動している画像キャプチャ・デバイスで興味のあるシーン内の少なくとも１つのバーコードの検出のためのコードを備える。その命令は、少なくとも１つのバーコードの検出に基づいて、検出されたバーコードを含む興味のあるシーンの領域の画質を改善するために、画像キャプチャ・デバイスの１つ以上の画像キャプチャ・プロパティを設定するためのコードと、１つ以上の設定された画像キャプチャ・プロパティに従って画像キャプチャ・デバイスで興味のあるシーンの画像をキャプチャするためのコードと、をさらに備える。
【０００９】
別の態様において、画像キャプチャ・デバイスは、非バーコード画像キャプチャ・モードで作動する画像キャプチャ・デバイスで興味のあるシーン内の少なくとも１つのバーコードを検出するための手段と、少なくとも１つのバーコードの検出に基づいて、検出されたバーコードを含む興味のあるシーンの領域の画質を改善するために、画像キャプチャ・デバイスの１つ以上の画像キャプチャ・プロパティを設定するための手段と、１つ以上の設定された画像キャプチャ特性に従って画像キャプチャ・デバイスで興味のあるシーンの画像をキャプチャするための手段と、を備える。
【００１０】
この開示で説明された技術は、ハードウェア、ソフトウェア、ファームウェアまたはこれらの任意の組み合わせで実施され得る。ソフトウェアで実施される場合、ソフトウェアは、マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラム可能なゲートアレイ（ＦＰＧＡ）またはデジタル信号プロセッサ（ＤＳＰ）、または他の同等な統合されたあるいは個別の論理回路のような１つ以上のプロセッサを参照し得るプロセッサで実行される。技法を実行する命令を含むソフトウェアは、コンピュータ可読媒体に最初に格納され、プロセッサによってロードされ、実行され得る。従って、この開示は、さらに、プロセッサにこの開示で説明されるような任意の様々な技法を実行させる命令を備えるコンピュータ可読媒体を意図する。ある場合において、コンピュータ可読媒体は、製造者に販売される、および／またはデバイスで使用される、コンピュータ・プログラム製品の一部を形成する。コンピュータ・プログラム製品は、コンピュータ可読媒体を含み、ある場合において、さらに包装材料（ｐａｃｋａｇｉｎｇ  ｍａｔｅｒｉａｌｓ）を含み得る。
【００１１】
１つ以上の態様の詳細は、添付の図面および以下の説明の中で述べられる。技法の他の特徴、目的および利点は、明細書と図面から、および特許請求の範囲から明らかになる。
【図面の簡単な説明】
【００１２】
【図１】図１は、この開示で説明されるバーコード・スキャニング技法を実施する例示の画像キャプチャ・デバイスのブロック図である。
【図２】図２は、この開示で説明されるバーコード・スキャニング技法を実施する例示の画像キャプチャ・デバイスを含むワイヤレス通信デバイスを示す。
【図３】図３は、さらに詳細に、図１および２の画像キャプチャ・デバイス示すブロック図である。
【図４】図４は、この開示で説明されるバーコード・スキャニング技法を実行する例示の画像キャプチャ・デバイスの動作を示すフローチャート図である。
【図５】図５は、興味のあるシーン内のバーコードを検出するモジュールのする例示の動作を示すフローチャート図である。
【図６Ａ】図６Ａは、この開示で説明されたバーコード・スキャニング技法に従って画像をあらわす例示のファインダの実例である。
【図６Ｂ】図６Ｂは、この開示で説明されたバーコード・スキャニング技法に従って画像をあらわす例示のファインダの実例である。
【図６Ｃ】図６Ｃは、この開示で説明されたバーコード・スキャニング技法に従って画像をあらわす例示のファインダの実例である。
【図６Ｄ】図６Ｄは、この開示で説明されたバーコード・スキャニング技法に従って画像をあらわす例示のファインダの実例である。
【図７Ａ】図７Ａは、この開示で説明されたバーコード検出技法の様々なステージの間の画像の実例である。
【図７Ｂ】図７Ｂは、この開示で説明されたバーコード検出技法の様々なステージの間の画像の実例である。
【図７Ｃ】図７Ｃは、この開示で説明されたバーコード検出技法の様々なステージの間の画像の実例である。
【図７Ｄ】図７Ｄは、この開示で説明されたバーコード検出技法の様々なステージの間の画像の実例である。
【図７Ｅ】図７Ｅは、この開示で説明されたバーコード検出技法の様々なステージの間の画像の実例である。
【図７Ｆ】図７Ｆは、この開示で説明されたバーコード検出技法の様々なステージの間の画像の実例である。
【図７Ｇ】図７Ｇは、この開示で説明されたバーコード検出技法の様々なステージの間の画像の実例である。
【発明を実施するための形態】
【００１３】
バーコードは、１つ以上のパターンの形式における情報の機械可読表現であるバーコードは、暗い（例えば黒）および明るい（例えば白）バー、円、ドットあるいは他の形のパターンとして形成され得る従来の一次元バーコードは、一連の並列で隣り合うさまざまな幅、間隔、長さのバーの形式で情報を表現する。しかしながら、バーコードは、ドット、同心円、などのパターンのような多くの他のパターンで情報を表現するために拡大している。これらの他のパターンは、一次元（１Ｄ）または二次元（２Ｄ）パターンで配置された形を含み得る。１Ｄと２Ｄのバーコードのいくつかの例は、統一商品コード（ＵＰＣ）、コード３９バーコード、コード１２８バーコード、ＰＤＦ４１７バーコード、ＥＺｃｏｄｅバーコード、データ・マトリックス・バーコード（ＤａｔａＭａｔｒｉｘ  ｂａｒｃｏｄｅｓ）、ＱＲコード・バーコードまたはバーコード記号論の任意の他のタイプを利用するバーコードを含む。
【００１４】
特に、いわゆる「カメラ電話」または「テレビ電話機能付携帯電話」を形成するワイヤレス通信装置内でこれらを包含する画像キャプチャ・デバイスは、バーコード・スキャニング実行するように構成され得る。特に、これらの画像キャプチャ・デバイスは、バーコードの画像をキャプチャし、バーコードを復号するためにデジタル画像処理技法を使用するように構成され得る。しかしながら、典型的に、画像キャプチャ・デバイスは、バーコードの画像を適切にキャプチャするために追加のユーザ・インタラクションを要求し得る。例えば、画像キャプチャ・デバイスは、特定のバーコード画像キャプチャ・モード、またはバーコードの画像を適切にキャプチャする特定のバーコード・ソフトウェア・アプリケーションを実行することユーザに要求し得る。バーコード・モードを入力した後に、ユーザは、画像の中心にバーコードをそろえるような特定の方法でバーコードとともに画像キャプチャ・デバイスを並べることをさらに要求され得る。これらの追加のステップを実行した後でさえ、画像キャプチャ・デバイスは、バーコードの不適切な露光またはフォーカスによりバーコードの高品質の画像をまだキャプチャできていない可能性がある。
【００１５】
この開示は、画像キャプチャ・デバイス内でバーコード・スキャニング機能を統合するための技法を説明する。ここに説明された技法に従って、画像キャプチャ・デバイスは、例えば、興味のあるシーンに画像キャプチャ・デバイスを向けている間に得られたプレビュー画像内で、興味のあるシーン内のバーコードを自動的に検出し得る。画像キャプチャ・デバイスは、特に非バーコード・画像キャプチャ・モードで作動する間に、自動的に画像内のバーコードを検出する。この開示の目的のために、「非バーコード」画像キャプチャ・モードは、バーコードをキャプチャするために特別に設計されたものでない画像キャプチャ・デバイスの任意のモードを説明する。１つの実施形態において、画像キャプチャ・デバイスは、デフォルト画像キャプチャ・モードで作動する間に自動的に画像内のバーコードを検出する。この開示の目的のために、「デフォルト」画像キャプチャ・モードは、デバイス上で最初に電力を供給した際のデフォルトの設定である任意のモードを説明する。ここで、任意のモードは、いくつかの視覚の特徴に自動的に適応する任意のモード、および／または１つ以上の最低限の動作、最低限の動き、適正な光、焦点からの十分な距離、またはそれらに類似するような、通常の画像キャプチャ環境のもとでユーザが利用する任意のモードである。
【００１６】
その後、画像キャプチャ・デバイスは、少なくともバーコードを含む興味のあるシーンの領域を、改善された画質と共に、キャプチャする。そうするために、画像キャプチャ・デバイスは、興味のあるシーン内のバーコードの検出に基づいて、画像キャプチャ・デバイスに関連する１つ以上の画像キャプチャ・プロパティを設定する。例えば、画像キャプチャ・デバイスは、画像キャプチャ・デバイスに関連する１つ以上の露光時間と焦点制御を設定する。これらの画像キャプチャ・プロパティは、興味のあるシーン全体、またはバーコードを含むとして識別された興味のあるシーンの領域のみのために設定され得る。画像キャプチャ・デバイスは、設定された画像キャプチャ・プロパティに従って画像をキャプチャする。
【００１７】
画像キャプチャ・デバイスが非バーコード画像キャプチャ・モード、例えば、デフォルト画像キャプチャ・モード、で実行している間のバーコードの自動検出は、特有のバーコード・カメラ・モードを選択するか、特有のバーコード・キャプチャ・アプリケーションを実行するような外部のユーザ相互作用を除去するために特に効果があり得る。さらに、バックエンドにおける画像増大技法の代わりに画像キャプチャ・デバイスに関連する１つ以上のフロントエンド・キャプチャ・プロパティを調整することは、より高画質なバーコードを供給し得る。
【００１８】
図１は、この開示で説明される統合されたバーコード・スキャニング技法を実施する例示のキャプチャ・デバイス１０のブロック図である。画像キャプチャ・デバイス１０は、デジタル・スチル・カメラ、デジタル・ビデオ・カメラ、あるいはこれらの両方の組み合わせのようなデジタル・カメラであり得る。さらに、画像キャプチャ・デバイス１０は、スタンド・アロン・カメラのようなスタンド・アロンのデバイス、あるいはワイヤレス通信デバイスのような別のデバイスに統合され得る。例として、画像キャプチャ・デバイス１０は、いわゆるカメラ電話またはテレビ電話機能付携帯電話を形成するために、携帯電話に統合され得る。この開示に説明された技法は、キャプチャされるデジタル・ビデオに適用可能であるが、デジタル・スチル画像に対する当該技法のプリケーションが、例証の目的のために説明されることになる。
【００１９】
図１で示されるように、画像キャプチャ・デバイス１０は、画像センサ１２、画像処理プロセッサ１４、および画像記憶モジュール１６を含んでいる。統合されたバーコード・スキャニング技法は、ビデオ・シーケンスの１つ以上の画像フレーム上で実行される場合に、画像センサ１２は、スチル画像、または場合によりフル・モーション・ビデオ・シーケンスをキャプチャする。画像センサ１２は、例えば、行と列に配列された、個々の画像センサ・エレメントの２次元配列を含み得る。いくつかの態様において、画像センサ１２の画像センサ・エレメントの各々は、単一のピクセルに関連し得る。言いかえれば、画像センサ・エレメントとピクセルとの間に一対一対応があり得る。あるいは、各画像センサ・エレメントに関連する１画像センサ・エレメントより多くの画像センサ・エレメント、または各画像センサ・エレメントに関連する１ピクセルより多くのピクセルがあり得る。例えば、画像センサ１２は、相補型金属酸化膜半導体（ＣＭＯＳ）センサ、電荷結合素子（ＣＣＤ）センサまたはそれらと同種のもののような多くのソリッド・ステート・センサの配列を含み得る。さらに、画像センサ１２は、画像取得の間に画像情報を格納する１つ以上の画像バッファを保持し得る。
【００２０】
デジタル画像をキャプチャするために、画像センサ１２は、デジタル画像をキャプチャするために画像シーンに画像センサ・エレメントを露光する。画像センサ１２内の画像センサ・エレメントは、例えば、特定のピクセル位置においてシーンの光の明度を表わす明度値をキャプチャし得る。ある場合において、センサ１２の画像センサ・エレメントの各々は、そのエレメントをカバーするカラー・フィルタによるカラー・バンドまたは１色を感知し得る。例えば、画像センサ１２は、赤、緑および青（ＲＧＢ）フィルタの配列を備え得る。しかしながら、画像センサ１２は、シアン、マゼンタ、黄色および黒（ＣＭＹＫ）カラー・フィルタのような、他のカラー・フィルタを利用し得る。したがって、画像センサ１２の画像センサ・エレメントの各々は、たった１つの色に対する明度値をキャプチャし得る。したがって、画像情報は、画像センサ１２のセンサ・エレメントによってキャプチャされたピクセル明度および／または明度を含み得る。
【００２１】
画像キャプチャ・デバイス１０は、（ときどき「自動」モードとも呼ばれる）デフォルトまたは通常モード、（ときどき「アクション」モードとも呼ばれる）高い動作モード（high motion mode）、（ときどき「風景」モードとも呼ばれる）低い動作モード（low motion mode）、被験者またはフェース・モード、ダーク・モード、ブライト・モード、これらと同様の画像キャプチャ・デバイス内で一般に実施される他のモード、のような画像キャプチャ・モードで作動し得る。ある場合において、これらの様々な画像キャプチャ・モードの各々は、画像処理プロセッサ１４のセンサ構成モジュール１９が画像センサ１２によってキャプチャされた画像の質に影響を及ぼす様々な画像キャプチャ・プロパティを設定するために使用される、値のセットに関連する。アクション・モードの画像キャプチャ・プロパティは、例えば、風景モードに関連する画像キャプチャ・プロパティが相対的に長い露光時間を含む一方、クイック・モーションによって特徴付けられたシーンを効果的にキャプチャするために相対的に短い露光時間を含み得る。他の場合において、デフォルト（標準または自動としても知られている）モードのようなこれらの１つ以上のモードは、センサ設定モジュール１９に画像センサ１２から受信した光の明度の測定のような画像シーン内のある視覚的状況に基づいた様々な画像キャプチャ・プロパティを設定させる。例えば、センサ設定モジュール１９は、画像プレビューの間に受信した光の明度に基づいて露光時間、焦点、またはセンサ利得を設定し得る。さらに別の場合において、様々な画像キャプチャ・モードは、画像処理プロセッサ１４に、画像センサ１２によってキャプチャされてあらわれた画像の質を高めるために１つ以上の画像処理アルゴリズムを実行させ得る。また別の場合において、画像キャプチャ・デバイス１０は、最高品質の画像をキャプチャすることを試みる際に以上で説明された１つの技法より多くの技法を組み込んだ１つ以上のモードをサポートし得る。
【００２２】
画像処理プロセッサ１４は、例えば、画像センサ１２のバッファからデジタル画像（あるいはフレーム）のための画像情報を受信し、この開示で説明された統合されたバーコード・スキャニング技法を実行する。画像処理プロセッサ１４のバーコード・スキャナ・モジュール１８は、非バーコード・スキャニング画像キャプチャ・モードで作動する間に、興味のあるシーンのデジタル画像が１つ以上のバーコードを含むかどうか判定する。この説明の統合されたバーコード・スキャニング技法は、任意の非バーコード画像キャプチャ・モードでバーコードを検出するために使用され得る。ここで、本技法は、デフォルト画像キャプチャ・モードで作動する画像キャプチャ・デバイス１０についての以下の文章で説明される。同様の技法は、この説明の範囲から外れずに、上記で説明された他の非バーコード画像中上に記述されたモード、あるいは任意の他の非バーコード画像キャプチャ・モードで実施され得る。
【００２３】
興味のあるシーン内でバーコードを検出する際、センサ構成モジュール１９は、画像センサ１２に関連する１つ以上の画像キャプチャ・プロパティを設定する。例えば、センサ設定モジュール１９は、画像センサ１２に関連する１つ以上の露光時間と焦点制御を設定し得る。画像センサ１２は、設定された画像キャプチャ・プロパティに従ってバーコードを含む興味のあるシーンの画像をキャプチャする。この方法において、画像キャプチャ・デバイス１０は、画像キャプチャ・デバイス１０のデフォルト動作内にバーコード・スキャニングの機能性を統合する。
【００２４】
バーコード・スキャナ・モジュール１８は、画像のバーコード位置の質をさらに高めるために、キャプチャされた画像、あるいは少なくともバーコードを含むキャプチャされた画像の領域、の追加の処理を実行する。例えば、バーコード・スキャナ・モジュール１８は、バーコードのコンテンツを強化し、バーコードの画像を際立たせ、画像からの出力ノイズをフィルタに掛け、画像の回転を是正し、バーコード画像のディコンボリューションを実行する、バーコードを含む、画像あるいは画像の領域を処理し得る。ある場合において、これらの追加の処理技法は、興味のあるシーン内のバーコードの検出に基づいて実行され得る。
【００２５】
画像処理プロセッサ１４は、１つ以上のマイクロプロセッサ、デジタル・シグナル・プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、あるいは他の同等の別個のまたは統合論理回路、あるいはこれらの組み合わせによって利用され得る。いくつかの実施形態において、画像処理プロセッサ１４は、ＭＰＥＧ−２（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ）、ＭＰＥＧ−４、国際電気通信連合（ＩＴＵ）Ｈ．２６３、ＩＴＵ  Ｈ．２６４、ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）、ＧＩＦ（画像交換フォーマット（Ｇｒａｐｈｉｃｓ  Ｉｎｔｅｒｃｈａｎｇｅ  Ｆｏｒｍａｔ））、ＴＩＦＦ（Ｔａｇｇｅｄ  Ｉｍａｇｅ  Ｆｉｌｅ  Ｆｏｒｍａｔ）のようなフォーマット、または特定の符号化技法に従って画像情報を符号化する符号化器／復号器（ＣＯＤＥＣ）の一部を形成し得る。画像処理プロセッサ１４は、画像の切り取り（ｉｍａｇｅ  Ｃｒｏｐｐｉｎｇ）、圧縮、増強およびその他同種のもの、のような画像情報についての追加の処理を実行し得る。
【００２６】
画像処理プロセッサ１４は、画像記憶モジュール１６内の少なくともバーコードを含むキャプチャ画像の領域、またはキャプチャ画像を格納し得る。代替として、画像処理プロセッサ１４は、画像についての追加の処理を実行し、画像記憶モジュール１６内に処理されたあるいは符号化されたフォーマットのバーコードを含む領域または全画像のいずれかを格納する。画像情報が音声情報を伴う場合、音声情報は、画像情報を含む１つ以上のフレームを備えるビデオ情報とともに、または独立した形のいずれかで、画像記憶モジュール１６に格納され得る。画像記憶モジュール１６は、読み出し専用モジュール（ＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、またはＦＬＡＳＨメモリ、あるいは磁気データ格納デバイスまたは光学データ格納デバイスのような、任意の揮発性メモリまたは不揮発性メモリまたは記憶デバイスを備える。
【００２７】
さらに、多くの他の要素は、画像キャプチャ・デバイス１０に含まれ得るが、例証の単純性および容易さのために図１において特に例証されていない。例えば、画像キャプチャ・デバイス１０は、レンズ、シャッタ、フラッシュ・デバイスおよびファインダのような画像をキャプチャする追加のコンポーネントを含み得る。図１に例証されるアーキテクチャは、単なる例示であり、この開示で説明される技法は、様々な他のアーキテクチャで実施され得る。さらに、図１に例証された特徴は、ハードウェおよび／またはソフトウェア・コンポーネントの任意の適切な組み合わせによって利用され得る。
【００２８】
図２は、この開示で説明された統合されたバーコード・スキャニング技法を実施する画像キャプチャ・デバイス１０を含むワイヤレス通信デバイス２０を例証するブロック図である。言いかえれば、図２は、ワイヤレス通信デバイス２０内に統合された画像キャプチャ・デバイス１０を示す。画像キャプチャ・デバイス１０の動作は、図１において以上で説明されているため、ここで詳細に説明しない。ワイヤレス通信デバイス２０は、画像キャプチャ能力を有する携帯電話（例えば、いわゆるカメラ電話あるいはテレビ電話機能付携帯電話）のようなワイヤレス通信デバイス送受話器、ビデオ・レコーダ、ウェブ・カメラ、携帯情報端末（ＰＤＡ）、ラップトップ・コンピュータまたは画像キャプチャおよびワイヤレス通信能力を有する任意の他のデバイス、を備え得る。ワイヤレス通信デバイスのコンテキスト内で例証されるが、さらにこの開示の技法は、有線通信装置に適用可能であり得る。
【００２９】
図２の例において、ワイヤレス通信デバイス２０は、画像キャプチャ・デバイス１０、符号化モジュール２２、送信機２４、ファインダ２６およびバーコード復号化モジュール２８を含む。符号化モジュール２２は、画像を記憶および／または送信するための特定の画像データ圧縮フォーマットに圧縮するために、キャプチャされた画像情報を符号化し得る。符号化モジュール２２は、ＪＰＥＧ、ＴＩＦＦ、ＧＩＦあるいは他の画像データ圧縮フォーマットを含む、多くの画像データ圧縮フォーマットのうちの任意のものを使用して、画像を圧縮し得る。ビデオの場合、符号化モジュール２２は、ＭＰＥＧ、ＭＰＥＧ  ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）パート１０、ＩＴＵ  Ｈ．２６４およびその他同種のもののような多くのビデオ・データ圧縮フォーマットのうちの任意のものを使用してビデオを圧縮し得る。
【００３０】
ワイヤレス通信装置１０は、送信機２４を介して別のデバイスに符号化された画像を送信し得る。送信機２４は、典型的に、符号分割多元接続（ＣＤＭＡ）ネットワーク、広帯域符号分割多元接続（Ｗ−ＣＤＭＡ）ネットワーク、時分割多元接続（ＴＤＭＡ）ネットワークおよびＧＳＭ（Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｃｉｌｅ  ｃｏｍｍｎｉｃａｔｉｏｎ）、または他の同様のネットワークのようなセルラ・ネットワークにインターフェースを供給する。セルラ・ネットワークに追加あるいは代替として、送信機２４は、任意の関連する電気電子技術者協会（ＩＥＥＥ）８０２．１１標準または任意の有線あるいは無線ネットワークによって定義されるワイヤレス・ネットワークにインターフェースを供給し得る。
【００３１】
ある場合において、ワイヤレス通信装置１０は、符号化されたデータを受信するための受信機と、データを復号するため復号器を含み得る。そのため、ワイヤレス通信装置は、個別の受信機または送信機２４の送信回路及び受信回路を含むトランシーバを含み得る。復号器は、個別の復号モジュールである、あるいはＣＯＤＥＣに符号化モジュール２４とともに統合され得る。
【００３２】
ワイヤレス通信装置２０は、ファインダ２６上で画像キャプチャ・デバイス１０によってキャプチャされた画像あるいは画像キャプチャ・デバイス１０によってキャプチャされた興味のあるシーンのリアルタイム画像（つまり画像プレビュー）のいずれかを表示し得る。ファインダ２６は、電子ファインダを備え得る。典型的に、例示的な電子ファインダは、液晶ディスプレイ（ＬＣＤ）、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、プラズマ・ディスプレイ・パネル（ＰＤＰ）、発光ダイオード（ＬＥＤ）ディスプレイ（例えば、アクティブ・マトリックスＬＥＤディスプレイ）またはキャプチャされたあるいはリアルタイム画像を表示できる任意の他のタイプのディスプレイ、のような１つ以上のタイプのディスプレイを含み得る。さらに、ファインダ２６は、上記で説明された電子ファインダの代わりにより従来の光学ファインダを含み得る。ワイヤレス通信装置２０の場合において、ファインダ２６は、汎用電子ディスプレイを含み得る。ここで、ディスプレイは、さらに、ワイヤレス通信デバイス２０が実行し得る他の機能に関する情報を表示する。例えば、ワイヤレス通信デバイス２０がいわゆるカメラ付き携帯電話である場合、ファインダ２６は、さらに携帯電話呼の送信および受信に関する情報を示し得る。
【００３３】
さらに、図２のワイヤレス通信デバイス２０は、バーコード復号器モジュール２８を含み得る。いくつかの場合において、バーコード復号器モジュール２８は、ワイヤレス通信デバイス２０、または専用ハードウェア・コンポーネント、あるいはこの両方の組み合わせ内で実行するソフトウェア・アプリケーションを備え得る。一方の例において、バーコード復号器モジュール２８は、一般にバーコード画像によって示された１次元または多次元パターンを復号化することによって与えられたバーコード画像内で符号化された（時々「ペイロード」と呼ばれる）情報を抽出する。バーコードを復号した後に、バーコード復号器モジュール２８は、他のモジュールにペイロードを利用させる目的のために実行させる、あるいはそれ自体がペイロードを利用し得る。
【００３４】
特に、バーコード復号器モジュール２８は、ペイロードを抽出するために画像キャプチャ・デバイス１０によって受信されたバーコード画像内に含まれるパターンを復号し得る。例えば、バーコード復号器モジュール２８は、バーコードを復号するためにシンボル・ライブラリにアクセスし得る。例えば、シンボル・ライブラリは、１桁の符号化および／またはペイロードの特徴とともにバーコードを復号化するのに有用な他の情報を含み得る。ある場合において、統一商品コード（ＵＰＣ）の場合のように、ペイロードは、添付されたアイテムを識別し得る。さらに、ペイロードは、バーコードが添付されているアイテムに関連する追加情報を含み得る。例えば、ペイロードは、アイテム自身に表示されていない追加のアイテム情報、関連するアイテムについての情報、アイテムまたは関連するアイテムのための販売促進用クーポン、アイテムまたは関連するアイテムのための関連するインターネット・リンク、あるいは任意の他の関連する情報を含み得る。
【００３５】
いくつかの例において、情報は、バーコードのペイロード内に直接保持され得る。他の例において、ペイロード内に含まれている情報は、例えば、アイテムに関連する追加の情報とともにペイロードに関連するデータベースから、関連情報を検索するために使用され得る。例えば、ペイロードが関連するインターネット・リンクを含む場合において、ペイロードは、ハイパーテキスト転送プロトコル（ＨＴＴＰ）アドレスを備え得る。バーコード復号器モジュール２８は、ペイロードによって指定されたＨＴＴＰアドレスにアクセスし、ファインダ２６上にＨＴＴＰアドレスをロードするウェブ・ブラウザを起動し得る。この方法において、ワイヤレス通信デバイス２０のユーザは、キャプチャされたバーコードがインターネットを介して添付しているアイテムに関連する追加情報を見ることができる。追加として、ユーザは、アイテム自体に関係しないアプリケーションのための情報を得るためにバーコードのペイロードを利用し得る。例えば、ユーザは、道路標識に配置されたバーコードをスキャンし、次に、ユーザが行くことを望む位置にバーコードを含むアイテム（例えば、道路標識）から命令を得るマッピング・プログラムにアクセスし得る。
【００３６】
画像キャプチャ・デバイス１０、符号化モジュール２２、送信機２４、ファインダ２６およびバーコード復号器モジュール２８のみを含むように説明されているが、ワイヤレス通信デバイス２０は、ユーザとインターフェースをとするユーザー・インタフェース（例えば、キーパッド）、追加の操作を実施するための１つ以上のプロセッサ、リムーバブル・メモリ・ヘッドフォン、電源とアクセスするための様々なポートおよびレセプタクル、および任意の他のそのような周辺機器を含み得る。ワイヤレス通信デバイス２０は、追加として、モデム、周波数コンバータ、フィルタ、アンプ回路のような情報を送信および受信するための他のコンポーネントを含み得る。
【００３７】
図３は、さらに詳細に図１および２の画像キャプチャ・デバイス１０を例証するブロック図である。図３に例証されるように、画像センサ１２は、興味のあるシーンに関係する画像情報を格納する画像バッファを含み得る。画像センサ１２は、例えば、画像プレビューの間に画像バッファ３０に画像情報を格納し得る。より具体的には、ユーザが興味のあるシーンに画像キャプチャ・デバイス１０に向けているが、ユーザが画像をキャプチャするためにボタンを作動させる前までの間、画像センサ１２は、画像バッファ３０に画像情報を格納し得る。このように、画像バッファ３０は、画像キャプチャ・デバイス１０によってキャプチャされる興味のシーンのリアルタイム画像を格納するものとしてみなされ得る。バッファ３０は、読み出し専用メモリ（ＲＯＭ）、電気的消去可能ＲＯＭ（ＥＥＰＲＯＭ）あるいはＦＬＡＳＨメモリ、または磁気データ記憶デバイスあるいは光学データ記憶デバイス、のような任意の揮発性または不揮発性メモリあるいは記憶デバイスを備え得る。１つの画像バッファ３０を含んでいるように示されているが、画像センサ１２は、画像バッファを全く含まないまたは複数の画像バッファ含み得る。
【００３８】
さらに、画像センサ１２は、一般に画像センサ１２を構成するための１つ以上の画像キャプチャ制御プロパティ３２を含み得る。図３に例証される例において、画像センサ１２は、露光タイマ３２Ａ、焦点制御３２Ｂおよびセンサ利得３２Ｃを含み得る。露光タイマ３２Ａは、画像センサ１２が興味のあるシーンに露光される時間をセットするために構成することができるタイマを表わす。典型的には、画像処理プロセッサ１４は、画像キャプチャ・デバイスに関連する露光テーブルまたは従来の露光形式のセットに基づいて露光タイマ３２Ａを構成する。焦点制御３２Ｂは、自動的に興味のあるシーンに焦点を合わせることができるこれらの画像キャプチャ・デバイス１０のために存在する。焦点制御３２Ｂは、画像センサ１２が焦点を合わせるべき距離をセットする、および／または最適の焦点値（例えば、最適のコントラストによって判定されたシャープネス値）を生成するレンズ位置をセットする、ために構成可能な制御値を表わす。典型的には、画像処理プロセッサ１４は、レンズを興味のあるシーンの特定の領域に、例えば、興味のあるシーンの中央に焦点を合わせるために、焦点制御３２Ｂを構成する。センサ利得３２Ｃは、画像センサ１２の画像センサ・エレメントのアンプ利得を判定する構成可能なセンサ利得値を表わす。露光時間３２Ａのように、画像処理プロセッサ１４は、画像キャプチャ・デバイスに関連する利得テーブルまたは従来の利得形式のセットに基づいてセンサ利得を３２Ｃ構成し得る。いくつかの例において、１つ以上の露光タイマ３２Ａ、焦点制御３２Ｂおよびセンサ利得３２Ｃの調整は、相互に関連があり得る。画像センサ１２内に存在するとして図３に示されたが、バッファ３０および画像キャプチャ制御プロパティ３２は、画像処理プロセッサ１４、画像記憶モジュール１６、あるいはバーコード・スキャナ・モジュール１８を含む画像キャプチャ・デバイス１０の他のモジュール内のような画像センサ１２に対して外部に存在し得る。
【００３９】
バーコード・スキャナ・モジュール１８は、バーコード検出モジュール３４およびバーコード処理モジュール３６を含み得る。ユニットまたはモジュールとしての異なる特徴の表現は、バーコード・スキャナ・モジュール１８の異なる機能的な態様にハイライトを当てるように意図され、ユニットまたはモジュールが個別のハードウェア、ソフトウェアおよび／またはファームウェア・コンポーネントによって利用されなければならないようなことを必ずしも示唆していない。もっと正確に言えば、１つ以上のユニットまたはモジュールに関連する機能性は、個別または共通のハードウェア、ソフトウェア・コンポーネントおよび／またはファームウェア・コンポーネント内で統合され得る。
【００４０】
以上で説明されるように、画像センサ１２は、デジタル画像をキャプチャし、バッファ３０にデジタル画像を格納する。バーコード・スキャナ・モジュール１８は、バッファ３０からデジタル画像を受信し、画像処理プロセッサ１４が非バーコード画像キャプチャ・モードに従って作動している間に、デジタル画像内のバーコードを自動的に検出するためにバーコード検出モジュール３４を使用する。以上で説明されるように、画像処理プロセッサ１４がデフォルトの画像キャプチャ・モード、高い運動モード、低い運動モード、ヒト被験者またはフェース・モード、ダーク・モード、ブライト・モード、またはバーコードの画像をキャプチャすることを特に指定されていない任意の他のモードのような非バーコード画像キャプチャ・モードに従って作動している間に、バーコード検出モジュール３４は、バーコードを自動的に検出し得る。
【００４１】
バーコード検出モジュール３４は、キャプチャ画像内でコントラストを分析し、特定の形状を探索し、パターン認識を実行する、および／またはテンプレート照合を実行する、ことによってキャプチャ画像内にバーコードが存在するかどうか自動的に検出する。例えば、バーコード検出モジュール３４は、例えば、それぞれ一連の黒及び白のバー、ドット・パターン、円パターンまたはそれらと同様なものを典型的に包含する１次元及び多次元のバーコードとして黒及び白値との間を交互に入れ替える一連のピクセルのための、コントラスト・レベルが交互に現われることに対してピクセル・バイ・ピクセル（ｐｉｘｅｌ−ｂｙ−ｐｉｘｅｌ）またはブロック・バイ・ブロック（ｂｌｏｃｋ−ｂｙ−ｂｌｏｃｋ）基本探索上でキャプチャ画像を分析する。
【００４２】
１つの態様において、バーコード検出モジュールは、形態的な動作をベースにした検出技法を使用して、バーコード検出を実行し得る。形態的な動作をベースにした検出技法は、バーコードが特定の識別特性を有するという事実に基づく。以上で説明されるように、バーコードは、バー、円、ドットあるいは他の形のパターンとして形成される。バーコード・パターンは、パターンのバー、円、ドットの空間によって形成された多数のエッジを含む。さらに、バーコード・パターンは、パターンのバー、円、ドットあるいは他の形の黒色（あるいは他のダーク・カラー）による多くの低い光学明度を含む。バーコードは、多くのエッジおよび低明度ピクセル値を含むだけでなく、エッジおよび低明度領域が同時に発生する、つまり、同時に存在する。より詳細に以下で説明されるように、バーコード・スキャナ・モジュール１８は、バーコードがある位置の候補としてエッジの高濃度および低明度値の高濃度が同時に存在するデジタル画像内の位置を識別する。
【００４３】
バーコード検出モジュール３４は、画像バッファ３０からキャプチャされたデジタル画像の輝度値を取得し得る。キャプチャ画像情報がＹＣｂ−Ｃｒ（輝度、青色クロミナンス、赤色クロミナンス）ドメインにある場合、例えば、バーコード検出モジュール３４は、バーコード検出で使用されるＹチャネル値を検索し得る。画像情報が別の色ドメイン、例えば、ＲＧＢ（赤、緑、青）ドメイン）にある場合において、バーコード検出モジュール３４は、画像をグレイスケールに変換し得る。いくつかの実例において、輝度情報は、バーコード検出をアシストするために、例えば、シャープニング・マスクを使用して、わずかにシャープになり得る。
【００４４】
バーコード検出モジュール３４は、デジタル画像内のエッジを識別するために画像を処理する。エッジは、明度の高いコントラスト推移を示す、デジタル画像の位置である。例えば、エッジは、低明度から高明度まで、つまり、明るいところから暗いところに、または高明度から低明度まで、つまり、暗いところから明るいこところまでの推移を定義し得る。バーコードの性質、つまり、黒および白（あるいは他の暗さおよび明るさ）のパターンにより、バーコードは、目立ち、容易に検出できるエッジを生成する。デジタル画像内のエッジを識別するために、バーコード検出モジュール３４は、輝度値が重要な変化を示す位置を検出するために画像を分析し得る。バーコード検出モジュール３４は、従来のエッジ検出技法を使用して、画像内のエッジを識別し得る。例えば、バーコード検出モジュール３４は、エッジを検出するためにデジタル画像にカーネル行列（例えば、重みまたは増倍率の行列）を適用し得る。カーネル行列は、典型的にそれが適用される実画像よりはるかに小さなものである。３ピクセル（３ｘ３）カーネル行列による３ピクセルは、例示の目的のために説明されることになる。しかしながら、バーコード検出モジュール３４は、他の次元のカーネル行列を使用し得る。
【００４５】
特に、バーコード検出モジュール３４は、順々に画像の各ピクセル上で３ｘ３カーネル行列を中心におき、重み付けされたピクセル値を生成するために、中心ピクセルのまわりの３ｘ３領域のピクセル値とカーネル行列の対応する重み値との積をとる。バーコード検出モジュール３４は、中心ピクセルの１次導関数を取得するために重み付けされたピクセル値の和を取る。画像処理プロセッサは、中心ピクセルの１次導関数と推移閾値とを比較して、中心ピクセルの１次の導関数が推移閾値より大きいまたは等しい場合、エッジを検出する。１次導関数が推移閾値以上である場合、ピクセルは、エッジに配置されていると判定される。１つの態様において、バーコード検出モジュール３４は、白または黒に関連する明度値に対してエッジに配置されていると判定されたピクセルをセットし、反対の明度値、例えば、黒または白に対してエッジ配置されていないと判定されたピクセルをセットし得る。したがって、エッジ検出の結果は、識別されたエッジを除いて削除されたすべての詳細で当初の画像を表わす２値画像であるエッジ・マップであり得る。２値画像は、エッジが白く、残りの画像が黒い、黒と白の画像であり得る、あるいはその逆、つまり、エッジは黒く、残りの画像は白くなり得る。バーコード検出モジュール３４は、デジタル画像の一次導関数を使用して、エッジを検出するように説明されているが、他のエッジエッジ検出技術は、デジタル画像の２次導関数を使用するような画像内のエッジを検出するために使用され得る。
【００４６】
さらに、バーコード検出モジュール３４は、低明度での画像の領域（ここで、低明度領域と呼ばれる）を識別するために画像を処理する。低明度領域は、画像の暗い部分と一致する。バーコード検出モジュール３４は、閾値を介して画像の低明度領域を識別し得る。バーコード検出モジュール３４は、ピクセル明度値の各々と明度閾値とを比較することによって画像の低明度領域を識別し、明度閾値以上の任意のピクセル値をフィルタに掛ける。したがって、低明度検出の結果は、高明度領域を備えた当初の画像を表わす２値画像である低明度マップであり得る。１つの例において、バーコード検出モジュール３４は、白に向かう明度閾値以下であるピクセル明度値をセットし、黒に向かう明度閾値以上であるピクセル明度値をセットし得る。この場合、画像の低明度領域は、白い領域として表わされ、画像の低明度領域は、黒として表わされる。代替として、低明度領域は、黒い領域として表わされ、他の領域は、白い領域として表わされる。いくつかの実例において、バーコード検出モジュール３４は、並列中の画像のエッジおよび低明度領域を識別するためにデジタル画像を処理し得る。
【００４７】
バーコード検出モジュール３４は、エッジの高濃度を示す画像内の位置を識別するために、エッジ・マップで１つ以上の形態的な動作を実行する。同様に、バーコード検出モジュール３４は、低明度値の高濃度を示す画像内の位置を識別するために、低明度マップで１つ以上の形態的な動作を実行する。形態的な動作は、エッジ・マップおよび低明度マップ共に（つまり、並列で）実行される、または連続して実行され得る。形態的な動作は、１つ以上の、拡張（ｄｉｌａｔｉｏｎ）動作、浸食（ｅｒｏｓｉｏｎ）動作、オープニング（ｏｐｅｎｉｎｇ）動作、クロージング（ｃｌｏｓｉｎｇ）動作、またはそれらと同様なものを含み得る。１つの例において、バーコード検出モジュール３４は、エッジ・マップおよび低明度マップで拡張を実行し得る。拡張は、一般にホールおよび破損領域を埋め、拡張のために使用された構造要素のサイズより小さい空間によって分離される領域を接続する。２値画像について、構造要素、例えば、３掛ける３の構造要素は、ピクセルの各々の中心に配置される。構造要素内の任意のピクセルが白色の場合、構造要素が中心に配置されるピクセル値は、白色にセットされる。同様のアプローチは、グレイスケール画像のために実行され得る。グレイスケール画像において、例えば、ピクセル値の各々は、構造要素内のピクセル値の最大ピクセル値と等しいピクセル値をセットすることにより、構造要素を使用して再計算され得る。このように、暗い領域によって囲まれた明るい領域は、大型化し、明るい領域によって囲まれた暗い領域は、小型化する。画像の小さい暗いスポットは、囲まれている明度値に「埋められて」いるように、消失することになる。この効果は、例えば、バーコードが位置する領域内で、明度が急速に変化する、デジタル画像の場所で最も際立つ。
【００４８】
バーコード検出モジュール３４は、拡張したエッジ・マップおよび拡張した低明度マップを組み合わせる。バーコード検出モジュール３４は、例えば、拡張したエッジ・マップおよび拡張した低明度マップを組み合わせるために「ＡＮＤ」操作を実行し得る。結合した画像は、エッジおよび低明度領域であると認識される画像の部分を表わす。言いかえれば、結合した画像は、エッジおよび低明度領域が空間的に同時に発生する画像の部分を表わす。
【００４９】
バーコード検出モジュール３４は、再び結合した画像上で１つ以上の形態的な動作を実行する。例えば、バーコード検出モジュール３４は、ホールおよび破損領域および拡張のために使用された構造要素のサイズより小さい空間によって分離された接続エリアを埋めるために結合した画像で別の拡張動作を実行し得る。さらに、バーコード検出モジュール３４は、結合され、拡張された画像の領域内の任意の残りのホールをさらに埋めるために、結合され、拡張された画像の内のフラッド・フィル（ｆｆｌｏｏｄ  ｆｉｌｌ）動作を実行する。フラッド・フィル動作は、オブジェクト内部のホールを埋める。いくつかの例において、バーコード検出モジュール３４は、フラッド・フィル動作の代わりに近接（ｃｌｏｓｅ）動作を実行し得る。近接動作は、フィリング・エレメントのサイズ内で小さなホールを閉じる動作である。ここで、フラッド・フィル動作は、ホールのサイズにかかわらずオブジェクト内の全てのホールを閉じる動作である。このように、組み合わされた画像上で実行された１つ以上の形態的な動作は、重なっているエッジおよび低明度部分で、固体（ｓｏｌｉｄ）またはほとんどソリッド、白い領域である領域を作る。
【００５０】
バーコード検出モジュール３４は、潜在的にバーコードかもしれないデジタル画像の位置を識別するために１つ以上の形態的な動作の後に結合した画像に残る位置を分析する。言いかえれば、バーコード検出モジュール３４は、その位置がバーコードの候補であるかどうかを判定する。バーコード検出モジュール３４は、例えば、その位置がバーコードの候補であるかどうか判定するために１つ以上のバーコード基準と結合した画像の残りの各位置とを比較し得る。バーコード検出モジュール３４は、例えば、位置がバーコードであるために小さすぎるまたは大きすぎると判定するためにバーコード・サイズ基準とその位置のサイズとを比較し得る。位置のサイズが閾値より小さい場合、バーコード検出モジュール３４は、その位置がバーコードでないと判定し得る。その位置がバーコードとして検出されたとしても、小さすぎる位置は、バーコードを解決するために十分詳細に画像キャプチャ・デバイス１０のレンズ・システムによってキャプチャすることができない。別の例として、バーコード検出モジュール３４は、例えば、長方形または正方形のバーコードの形に実質的に似ていない位置を除去するために、バーコード形状基準とその位置の形とを比較し得る。また別の例において、バーコード検出モジュール３４は、位置のフィリング・ファクタ（ｆｉｌｌ  ｆａｃｔｏｒ）とバーコード・フィリング・ファクタ基準とを比較し得る。特に、正方形または長方形は、周囲の長方形の領域と比べてどれだけのピクセルが白くないかを判定するために、位置の周りに配置され得る。周囲の長方形の領域と比べて白くないピクセルの割合が、しきい値の割合を超える場合、その位置は、候補位置から除去され得る。
【００５１】
その後、バーコード検出モジュール３４は、その位置で残りのデジタル画像が固有のバーコードの特徴を有しているかどうか確認することによって残りの位置が実際バーコードであるかどうかを判定する。ある２Ｄバーコードの場合において、例えば、バーコード検出モジュール３４は、識別された位置がバーコード・ファインダ・パターンを含むかどうか判定するために、バーコードの候補としてバーコード検出モジュール３４によって識別された画像の位置を分析し得る。２Ｄデータ行列バーコードの場合において、バーコード検出モジュール３４は、位置、例えば、黒い正方形モジュールおよび白い正方形モジュールを互い違いになるよう構成された２つの垂直線内の固有の周辺パターンを探し得る。２Ｄ  ＱＲバーコードの場合において、バーコード検出モジュール３４は、識別された位置の３つの角において暗い正方形と明るい正方形を入れ子にした互い違いのファインダ・パターンを探し得る。しかしながら、バーコード検出モジュール３４は、他のバーコード記号論に関連する他の固有のバーコード・ファインダ・パターンあるいは他の固有の特徴のための識別された位置を分析し得る。さらに、バーコード検出モジュール３４は、デジタル画像のグレイスケール、固有のバーコードの特徴またはパターンの生成されたエッジ・マップあるいは生成された低明度マップのような当初の画像以外の画像を分析し得る。
【００５２】
以上で説明されたバーコード検出技法は、いくつかの利点を供給し得る。例えば、バーコード検出技法は、画像内のバーコード・サイズ、位置および方向と無関係であり得る。さらに、この開示のバーコード検出技法における形態論的な動作の使用は、より早くより計算上効率的なバーコード検出をもたらす。さらに、バーコード検出技法は、追加としてより少ない計算上の複雑さになり得る。
【００５３】
バーコード検出モジュール３４が画像内のバーコードを検出しない場合、画像処理プロセッサ１４は、この開示で説明されたバーコード撮影技術をさらに実行せずに画像をキャプチャするために画像センサ１２を制御し得る。すなわち、画像キャプチャ・デバイス１０は、例えば、興味のあるシーン内の光量、興味のあるシーン内の焦点に基づいて、従来の画像キャプチャ技法に従って画像をキャプチャし得る。実際、画像キャプチャ・デバイス１０のユーザは、画像キャプチャ・デバイス１０が興味のあるシーン内のバーコードを検出することを試みたことさえ知り得ない。代わりに、バーコード検出は、ユーザが関与しないバックグラウンドで実施され得る。
【００５４】
プレビュー画像内のバーコードを検出する際、バーコード・スキャナ・モジュール１８は、画像内のバーコードの検出を示すために図２のファインダ２６のような、ファインダと相互作用し得る。いくつかの実例において、バーコード・スキャナ・モジュール１８は、例えば、検出されたバーコードのまわりにボックスを配置することによって、ユーザに画像内のバーコードの位置をさらに示し得る。バーコード・スキャナ・モジュール１８は、ユーザがバーコードをキャプチャし、さらにバーコード復号動作を実行するかどうかすることを望むかあるいは従来の画像キャプチャ技法に従って興味のある一般的なシーンを単にキャプチャするどうか判定することを画像キャプチャ・デバイス１０のユーザに促し得る。このように、興味のあるシーン内にバーコードがあるが、ユーザの意図がバーコードをスキャンすることでなかった場合に、ユーザは、従来の方法で興味のあるシーンをキャプチャするオプションを有している。しかしながら、他の態様において、画像キャプチャ・デバイス１０は、ユーザを促さず、その代わりに単に、この中の技法、つまり、その目的が興味のあるシーン内のバーコードをスキャニングすることであったかのように、画像をキャプチャし、処理し得る。様々な任意の技法は、その目的が興味のあるシーン内のバーコードをスキャニングすることであるかのように、画像をキャプチャし、処理するかどうか判定するために使用され得る。例えば、画像キャプチャ・デバイス１０は、例えば、バーコードが少なくとも４分の１の画像を占める、閾値サイズ以上である場合、その目的が興味のあるシーン内のバーコードをスキャニングすることであるかのように、画像をキャプチャし、処理し得る。
【００５５】
バーコード・プロンプトに応じて、ユーザがさらにバーコード復号操作が実行されるべきであると応答した場合、またはそのようなプロンプトが全く供給されない場合、センサ設定モジュール１９は、画像センサ１２が向上した画質でバーコードをキャプチャするような画像センサ１２の画像キャプチャ・プロパティ３２を設定する。特に、センサ設定モジュール１９は、その領域の質またはバーコードを含む興味のある画像の領域の質を改善するために、画像センサ１２の画像キャプチャ・プロパティ３２を設定する。例えば、センサ設定モジュール１９は、画像センサ１２がバーコードとともに興味のあるシーンの領域を高品質で、キャプチャするように露光タイマ３２Ａおよび／または焦点制御３２Ｂを設定し得る。すなわち、画像内のバーコードの位置を与えられた、センサ設定モジュール１９は、バーコードを含む興味のあるシーンの領域のための最適な露光時間を計算し、従来の露光時間アルゴリズムを使用して、露光タイマ３２Ａを設定する。例えば、センサ設定モジュール１９は、バーコードを含む興味のあるシーンの領域の光明度を分析し、興味のあるシーンの特定の領域の光明度に基づいて露光時間をセットし得る。
【００５６】
追加のまたは代替として、興味のあるシーンのバーコードの位置を与えられた、センサ設定モジュール１９は、バーコードを含む興味のあるシーンの領域のための最適な焦点制御を計算し、従来の焦点制御アルゴリズムを使用して、画像センサ１２の焦点としてバーコードの位置を使用するために焦点制御３２Ｂを設定する。一旦画像キャプチャ・プロパティ３２が設定されれば、画像処理プロセッサ１４は、画像センサ１２が画像キャプチャ・プロパティ３２に従って画像をキャプチャするように構成され得る。以上で説明した例示において、センサ設定モジュール１９によって設定された画像キャプチャ・プロパティ３２は、露光時間および焦点制御を含むが、他の画像キャプチャ・プロパティは、露光時間および焦点制御の替わりのものあるいは追加のものが構成され得る。例えば、センサ設定モジュール１９は、センサ利得、例えば、画像センサ１２のアンプ利得を設定し得る。
【００５７】
画像キャプチャ・プロパティ３２が画像キャプチャ・プロパティ３２に従って興味のあるシーンの画像をキャプチャした後に、バーコード処理モジュール３６は、キャプチャした画像を処理し得る。バーコード処理モジュール３６は、バーコードを含む画像の領域のみが保持されるようも画像を切り取り得る。バーコード処理モジュール３６は、例えば、バーコードを検出している間にバーコード検出モジュールによって生成されたバーコード位置情報を使用して、画像内のバーコードまたは複数のバーコードのみを含むためにキャプチャされた画像を切り取り得る。あるいは、バーコード検出モジュール３４は、デジタル画像内のバーコードの位置を識別するために、バーコード・キャプチャ動作中のこのポイントでバーコード検出を実行し得る。画像内に複数のバーコードがあるような場合において、バーコード処理モジュール３６は、別々に画像からバーコード各々を抽出し得る。
【００５８】
代替または追加として、バーコード処理モジュール３６は、さらに、例えば、図２のバーコード復号器モジュール２８である、後のバーコード復号器モジュールによって使用されるためのクリーンで均一のバーコードを生成するために、キャプチャされた画像から歪みを取り除く処理をし得る。いくつかの実例において、バーコード処理モジュール３６は、バーコードを含む画像の領域のみの歪みを修正し得る。あるいは、バーコード処理モジュール３６は、全画像の歪みを修正し得る。バーコード処理モジュール３６は、様々な任意の歪み問題のために歪み修正技法を実行し得る。例えば、バーコード処理モジュール３６は、バーコードが正確に見られるように画像内のバーコードを適応させるために、画像を回転させ得る。別の例として、バーコード処理モジュール３６は、バーコードの１次元または多次元パターンを不明瞭にする光または影によって生じる歪みを修正するために画像を処理し得る。歪み修正モジュール３８は、全体像に関係する問題に対して修正するために画像をさらに処理し得る。すなわち、バーコードは、ユーザがバーコードの画像をキャプチャした全体像により曲げられ得る。したがって、バーコード処理モジュール３６は、曲げられたバーコードを修正するために画像を処理し得る。さらにバーコード処理モジュール３６は、バーコードが平面でないアイテム上に配置される場合に生じるバーコードのゆがみに対して修正し得る。例えば、バーコード処理モジュール３６は、バーコードがアルミニウム缶またはガラスビン上に配置されることによるバーコードのゆがみを修正し得る。
【００５９】
画像処理プロセッサ１４は、画像記憶モジュール１６内のキャプチャされたバーコード画像を格納し得る。画像キャプチャ・デバイス１０は、バーコードのペイロードを抽出するために復号化のためのバーコード復号器モジュール２８（図２）にキャプチャされたバーコードを供給し得る。このように、バーコード・スキャナ・モジュール１８は、より信頼でき正確なバーコード復号化をサポートする改善された画質でバーコードがキャプチャされることによって一貫性のあるフロントエンドのインターフェースを供給し得る。画像キャプチャ・デバイスが非バーコード画像キャプチャ・モードで実行している間に、バーコードの自動検出は、特別なバーコード・カメラ・モードを選択する、あるいは特定のバーコード・キャプチャ・アプリケーションを実行することのような外部からのユーザ相互作用を除去または低減するために特に有効である。さらに、バックエンドで画像強化技法を実行する代わりに画像センサ１２の画像キャプチャ・プロパティを構成することは、バーコードのより高品質な画像を供給し得る。
【００６０】
この開示において説明され、バーコード・スキャナ・モジュール１８およびセンサ設定モジュール１９に帰するような機能性は、コンピュータ可読媒体上に格納された実行可能な命令を処理する１つ以上のプログラム可能なプロセッサによって実行され得る。ここで命令および／またはコードは、プロセッサに、この開示で説明されたようなバーコード・スキャニングを実行させる。ある場合において、コンピュータ可能媒体は、製造業者に売られ、および／またはデバイス内で使用される、コンピュータ・プログラム製品の一部を形成し得る。あるいは、この開示で説明され、バーコード・スキャナ・モジュール１８およびセンサ設定モジュール１９に帰する技法は、一般的にハードウェア内でおよび集積回路デバイス内で部分的に実施され得る。集積回路デバイスは、この開示で説明された機能性を実行するように構成された１つ以上のプロセッサを備える。
【００６１】
図４は、この開示で説明される統合バーコード・スキャニング技法を実行する図３の画像キャプチャ・デバイス１０のような、画像キャプチャ・デバイスの例示の動作を例証するフローチャート図である。最初に、ユーザは、画像キャプチャを始め、画像センサ１２は、画像取得を始める（４２）。すなわち、画像センサ１２は、画像バッファ３０に画像情報をキャプチャし、格納する。いくつかの実例において、画像センサ１２は、ユーザが興味のあるシーンに画像キャプチャ・デバイス１０を向けているが、ユーザが画像をキャプチャするためのボタンを作動させる前の間に、画像プレビューの間の画像情報を画像バッファに格納する。画像取得は、バーコード画像キャプチャ・モードを含む、任意の画像キャプチャ・モードで開始され得る。
【００６２】
バーコード検出モジュール３４は、デジタル画像を受信し、興味のあるシーンがバーコードを含むかどうか自動的に判定する。バーコード検出モジュール３４は、取得した画像内のコントラストを分析し、特定の形を探索し、パターン認識を実行し、および／またはテンプレート照合を実行することによって興味のある画像内にバーコードが存在するかどうか判定し得る。１つの態様において、バーコード検出モジュール３４は、同時にエッジの高濃度および低い光明度でのピクセルの高濃度を示す画像の位置を識別し得る。その後、バーコード検出モジュール３４は、バーコード・ファインダ・パターンまたは特定のバーコード記号を一意に識別する他の特徴のような固有のバーコードの特徴をその位置が有するかどうか確認することによって識別された位置が実際にバーコードであるかどうか判定し得る。このバーコード検出技法は、図５により詳細に記述される。
【００６３】
バーコード検出モジュール３４が興味のあるシーン内にバーコードを検出しない場合、画像処理プロセッサ１４は、他のある基準に基づいて判定された画像キャプチャ・プロパティに従って画像をキャプチャするために画像センサ１２を制御し得る（４６）。例えば、画像処理プロセッサ１４は、バーコード検出モジュールが興味のあるシーン内にバーコードを検出しない場合、興味のあるシーンの光量、興味のあるシーン内の動作の量、または画像の他の特徴に基づいて判定された画像キャプチャ・プロパティに従って画像をキャプチャするために画像センサ１２を制御し得る。このように、画像キャプチャ・デバイス１０は、この開示で説明されたバーコード・スキャニング技法をさらに実行せずに興味のあるシーンをキャプチャする。
【００６４】
バーコードが興味のあるシーン内で検出される場合、バーコード・スキャナ・モジュール１８は、ユーザがバーコードをキャプチャし、さらにバーコード復号化動作を実行するか、あるいは従来の画像キャプチャ技法に従って興味のある一般シーンを単にキャプチャすることを望むかどうか判定することをユーザに促し得る（４８、５０）。このように、興味のあるシーン内にバーコードがあるが、ユーザの意図はバーコードをスキャニングすることではなかった場合、ユーザは、従来のやり方で興味のあるシーンをキャプチャするオプションがある。
【００６５】
ユーザが検出されたバーコードのさらなる処理差し控えることを示すことによってプロンプトに対して応答すれば、画像キャプチャ・デバイス１０は、従来の画像キャプチャ・プロパティによって画像をキャプチャする（４６）。いくつかの実例において、画像キャプチャ・デバイス１０は、ユーザに促さず、その代わりにこの中の技法に従って、つまりその目的が興味のあるシーン内のバーコードをスキャニングすることであるかのように、単に画像をキャプチャし、処理し得る。その場合、バーコード・キャプチャが望まれると仮定されており、ブロック４８および５０がスキップされ得る。
【００６６】
ユーザが検出されたバーコードを処理し続ける意図を示すか、画像キャプチャ・デバイス１０がそのような促す特徴を含まない場合、センサ設定モジュール１９は、画像センサ１２の１つ以上の画像キャプチャ・プロパティを設定する（５２）。センサ設定モジュール１９は、例えば、バーコードを含む興味のあるシーンの領域が改善された画質でキャプチャされるように以上で説明した方法で露光タイマ３２Ａ、焦点制御３２Ｂあるいはセンサ利得３２Ｃを設定する。
【００６７】
画像処理プロセッサ１４は、画像センサ１２に、設定された画像キャプチャ・プロパティに従って興味のあるシーンの画像をキャプチャさせる（５４）。バーコード処理モジュール３６は、バーコードを含む画像の領域の画質を増大させるためにキャプチャされた画像を処理し得る（５６）。バーコード処理モジュール３６は、例えば、バーコードを含む画像の領域が残るように画像を切り取り得る。代替または追加として、バーコード処理モジュール３６は、その後に続くバーコード復号器モジュールによって使用されるためのクリーンで均一のバーコードを生成するために、歪みを除去するためにキャプチャされた画像をさらに処理し得る。バーコード処理モジュール３６は、回転、明暗、遠近感あるいは曲がり、およびゆがみを含む様々な任意の歪み問題を修正するために歪み修正技法を実行し得る。
【００６８】
バーコードをキャプチャし、処理した後に、バーコード・スキャナ・モジュール１８は、ペイロードを取得するために、復号化のためのバーコード復号器モジュールにバーコードを供給し得る（５８）。バーコード復号器モジュールは、ペイロードを取得するためにバーコードを復号化する（５９）。このプロセスが画像記憶モジュール１６にバーコードを形式的に格納しないで生じることに注目すべきである。すなわち、上記のプロセスは、リアルタイムあるいはほぼリアルタイムで起こり、バーコードがバーコード記憶モジュールにそもそも格納がされずにバーコード復号化モジュールに提示され得る。そのため、画像格納モジュール１６内のスペースを節約する。しかしながら、いくつかの実例において、バーコードは、バーコード復号器モジュールにバーコードを供給する前に格納され得る。
【００６９】
図５は、この開示の１つの態様に従ってバーコード検出を実行する図３の画像キャプチャ・デバイス１０のような、画像キャプチャ・デバイスの例示の操作を例証するフローチャート図である。最初に、バーコード検出モジュール３４は、画像のグレイスケール・バージョンを取得する。キャプチャされた画像情報は、ＹＣｂ−Ｃｒドメインである場合、例えば、バーコード検出モジュール３４は、Ｙチャネル値を取得し得る。画像情報が別のカラー・ドメイン、例えば、Ｒ−Ｇ−Ｂドメイン、である実例において、バーコード検出モジュール３４は、画像をグレイスケールに変換し得る。
【００７０】
バーコード検出モジュール３４は、画像内の識別されたエッジを除いて削除されたすべての詳細で画像の表現をするエッジ・マップを生成する。以上に詳細に説明されるように、バーコード検出モジュール３４は、ピクセル単位で画像にエッジ検出カーネルを適用することによって、エッジ・マップを生成し得る。１つの例において、エッジ・マップは、エッジが白で残りの画像が黒の２値画像、つまり白と黒の画像であり得る。
【００７１】
さらに、バーコード検出モジュール３４は、削除された低くない明度領域を取り除いて画像の表現をする低明度マップを生成する（６４）。バーコード検出モジュール３４は、明度閾値とピクセル明度値の各々を比較することによって画像の低明度領域を識別し、明度閾値より大きい任意のピクセル値をフィルタに掛け得る。１つの例において、低明度マップは、低明度領域が白で残りの画像領域が黒である２値画像であり得る。バーコード検出モジュール３４は、デジタル画像を並列に、エッジを識別し、低明度領域を識別するために処理し得る。あるいは、その動作は、連続的に実行され得る。
【００７２】
図５の例において、バーコード検出モジュール３４は、エッジ・マップで拡張を実行する（６６）。さらに、バーコード検出モジュール３４は、低明度マップで拡張を実行する（６８）。以上で説明されるように、拡張は、一般にホールおよび破損領域を埋め、拡張のために使用された構成要素のサイズより小さいスペースによって分離される領域を接続する。拡張は、画像の明るい領域を大型化させ、暗い領域を小型化させることに帰着する。
【００７３】
バーコード検出モジュール３４は、拡張されたエッジ・マップおよび拡張された低明度マップを組み合わせる（７０）。バーコード検出モジュール３４は、例えば、拡張したエッジ・マップおよび拡張した低明度マップを組み合わせるために「ＡＮＤ」操作を実行し得る。言いかえれば、組み合わされた画像は、エッジ及び低明度領域が空間的に同時に発生する画像の一部を表現する。バーコード検出モジュール３４は、組み合わされた画像の拡張を実行し、組み合わされ、拡張された画像の任意のホールをフラッド・フィル（ｆｌｏｏｄ  Ｆｉｌｌｓ）する（７２）。
【００７４】
バーコード検出モジュール３４は、バーコードである候補となる位置を識別するために拡張およびフラッド・フィルした後の組み合わされた画像を分析する（７４）。バーコード検出モジュール３４は、位置がバーコードであるための候補であるかどうか判定するために結合された画像の位置の各々と１つ以上のバーコード基準とを比較し得る。バーコード検出モジュール３４は、例えば、バーコードであるための候補となる位置を識別するために組み合された画像において、位置の特徴の組み合わせ、位置のサイズ、位置の形、位置のフィル・ファクタ、または他の同様の特徴を分析し得る。
【００７５】
バーコード検出モジュール３４は、候補位置が実際にバーコードであるかどうか確認し得る（７６）。例えば、バーコード検出モジュール３４は、２Ｄデータ行列バーコードの場合、交互に起こる白および黒の正方形の２つの垂線あるいは２Ｄ  ＱＲバーコードの場合、位置の３つの角の交互に起こる白および黒の正方形のネスト化されたパターンのような、固有のバーコード・ファインダ・パターンの位置を候補として識別された当初の画像の位置を分析し得る。他の態様において、バーコード検出モジュール３４は、デジタル画像のグレイスケールのバージョン、生成されたエッジ・マップ、または生成された低明度マップのような、当初画像以外の画像を分析し得る。バーコード検出モジュール３４は、バーコードとして確認された位置を分類する（７８）。言いかえれば、候補位置が固有のバーコードの特徴を含む場合、バーコード検出モジュール３４は、バーコードを検出する。
【００７６】
図６Ａ−６Ｄは、この開示で説明された統合バーコード撮影技法に従って画像を表わす、例示的なファインダ８０の実例である。ファインダ８０は、図２のファインダ２６に本質的に類似し得る。図６Ａ内で示されるように、ファインダ８０は、典型的に興味のあるシーンのリアル・タイムで画像８２を表わす。興味のあるシーンは、バックグラウンドまたはフォアグラウンド内のいずれかに多くのものを含み得るが、例証の容易さのために空白のシーンとして例証される。画像８２は、バーコード８６が添付するまたは少なくとも添付するように見えるアイテム８４を含む。アイテム８４は、ボックスあるいは製品包装、缶、雑誌、あるいは他の製品、道路標識、または他のタイプのアイテムのような多くの任意のアイテムを含み得る。ファインダ８０は、画像８２上に図３の画像キャプチャ・デバイス１０のような画像キャプチャ・デバイスが作動しているモードを示すモード・インジケータ８８を重ね合わせ得る。現在、画像インジケータ８８は、画像キャプチャ・デバイス１０が「デフォルト・モード」で作動していることを示している。デフォルト画像キャプチャ・モードで作動するように図６Ａ−６Ｄで例証され、説明されるが、この開示の統合バーコード・スキャニング技法は、（アクション・モードとも呼ばれる）高い運動モード、（風景または景観モードと呼ばれる）低い運動モード、ヒト被験者またはフェース・モード、ダーク・モード、ブライト・モード、あるいはバーコードの画像をキャプチャすることを特に指定されていないモードのような任意の非バーコード画像キャプチャ・モードに使用され得る。
【００７７】
デフォルト・モードで動作している間、バーコード・スキャナ・モジュール１８は、この開示で説明される統合されたバーコード・スキャニング技法を実行する。バーコード検出モジュール３４は、例えば、図５を参照するとともに以上で説明された方法で画像８２内のバーコード８６を自動的に検出する。図６Ｂは、バーコード・スキャナ・モジュール１８がバーコード８６の検出および位置を反映するためにファインダ８０を更新した後のファインダ８０を示す。特に、今、ファインダ８０は、バーコードを示すマーク８９Ａ−８９Ｄ（「マーク８９」）を含む。マーク８９は、画像８２内のバーコード８６の位置を示す。マーク８９は、バーコード８６の各コーナーを囲むように示されるが、マーク８９は、バーコード８６の位置を示すことができる、可視のインジケータ、例えば、矢印、ボックスまたは他の形、あるいは他のタイプのインジケータを備え得る。ファインダ８０内のバーコード８６の現在の外観にかかわらずバーコード検出モジュール３４は、バーコード８６を見つけ得ることに注目すべきである。これは、バーコード８６が低減された品質、例えば、バーコード８６のピクセル処理されたグレイ・スケールおよびわずかに斜めになった性質、をしめすことによって、図６Ａ−６Ｃで反映される。
【００７８】
画像８２内のバーコード８６を見つけた後に、バーコード・スキャナ・モジュール１８は、いくつかの実例において、バーコード８６をさらに処理し続ける前にユーザを促し得る。図６Ｃは、画像８２上に重ねあわされたユーザ・プロンプト９０とファインダ８０を示す。ユーザ・プロンプト９０は、単なる例示的なユーザ・プロンプトであり、この開示で説明された技法はユーザ・プロンプトを含む必要がない、あるいは全体に異なるユーザ・プロンプトを含み得る。いくつかの態様において、ユーザ・プロンプトは、ユーザによるユーザ選択としてセットされ得る。ユーザ・プロンプト９０は、「バーコードを処理するためにＯＫを押して下さい」および「画像を取るためにＥＸＩＴを押して下さい」ということをユーザに促す。従って、ユーザがバーコードを処理し続けることを望む場合、ユーザは、「ＯＫ」とラベルされたボタンを押すべきであり、そうでない場合、ユーザは、「Ｅｘｉｔ」とラベルボタンを押すべきである。かさねて、「ＯＫ」および「Ｅｘｉｔ」ボタンの両方ともが単なる例示であり、この開示で説明された技法は、この狭いコンテキストに制限されるべきでない。ボタンは、ソフト・キー、ハード・キー、タッチ・スクリーン・ボタン、またはそれらと同様なものを含み得る。ユーザが例示的に「ＯＫ」ボタンを押すと仮定して、図６Ｄは、バーコード８６の結果として生じる画像８２を表わすファインダ８０を示す。複数のバーコードが興味のあるシーン内に含まれている実例において、画像キャプチャ・デバイス１０は、複数のバーコードのどれをユーザがスキャニングするのに興味があるか選択するためにファインダ８０を介してユーザに促し得る。
【００７９】
図６Ｄで示されるように、画像８２は、歪み、例えば、前の図６Ａ−６Ｃのピクセルバーコード８６のピクセル化され、斜めになったバーコード８６に関連するコントラストおよび歪みの問題を修正するために切り取られ処理された画像を表わす、クリーンで歪みのないバーコード８６を含む。図６Ｄのバーコード８６は、黒色と白色との間の高いコントラストを有し、ほとんど、完全なとまではゆかないが、正方形である。したがって、図６Ｄのバーコード８６は、バーコード復号器モジュールがバーコード８６に符号化されたペイロードを容易に抽出し得るような均一のバーコードを表わす。ファインダ８０内に示されるように説明したが、図６Ｄの均一のバーコード８６は、ファインダ８０内に示されず、その代わり、以上で議論されたバーコード復号器に直ちに送られて得る。
【００８０】
図７Ａ−７Ｇは、この開示で説明されたバーコード検出プロセスの様々な段階のバーコードの画像の実例である。図７Ａは、画像センサ１２によって最初に取得された、例えば、画像プレビューの間にグレイスケールの実例を示す。以上で詳細に説明されるように、バーコード検出モジュール３４は、画像内のエッジを識別するために図７Ａ内で示されるグレイスケール画像を処理する。図７Ｂは、当初のグレイスケール画像内の識別されたエッジのエッジ・マップの実例を示す。エッジ・マップは、識別されたエッジを除いて削除されたすべての詳細を備えた当初の画像を表わす。図７Ｂ内で例証される例示のエッジ・マップにおいて、画像の検出されたエッジは、白であり、その一方で画像の残りは、黒である。しかしながら、他の場合において、画像内の検出されたエッジは黒であり、画像の残りは、白であり得る。
【００８１】
バーコード検出モジュール３４は、当初のグレイスケール画像内の低明度領域内を識別するために図７Ａで示されるグレイスケール画像をさらに処理する。図７Ｃは、グレイスケール画像の識別された低明度領域の低明度マップの実例を示す。低明度マップは、低くない明度領域を取り除いた当初画像を示す。図７Ｃに例証された低明度マップの例示において、低明度領域は、白として示され、他の領域は、黒として示される。しかしながら、他の場合において、画像内の低明度領域は、黒であり、画像の残りは、白であり得る。
【００８２】
図７Ｄおよび７Ｅは、それぞれバーコード検出モジュール３４が拡張を実行した後のエッジ・マップおよび低明度マップの例示である。図７Ｆは、拡張されたエッジ・マップおよび拡張された低明度マップを組み合わせ、さらに、組み合わされた画像の拡張を実行し、組み合わされ拡張された画像をフラッド・フィリングした後のバーコード・検出モジュール３４によって生成された画像の例示である。図７Ｆの例示で例証されるように、いくつかの位置は、バーコードを含む処理した後の画像内にまだ残る。興味のある典型的なシーンは、結合した画像に残る多くの他の位置を含み得る。例えば、他のバックグラウンドおよびフォアグラウンドとともに興味のある典型的なシーンの組み合わされた画像は、文章の位置、興味のある画像の他の非バーコードのもののエッジを含む位置またはそれらと同様のもののように残りの位置を含み得る。
【００８３】
バーコード検出モジュール３４は、潜在的にバーコードである位置を識別するために残りの位置を分析する。バーコード検出モジュール３４は、位置がバーコードであるべき候補であるかどうか判定するために、１つ以上のバーコード基準、例えば、サイズ、形、フィル・ファクタ、またはそれらと同様なものと画像内の位置それぞれを比較し得る。図７Ｇは、バーコード・モジュール３４が候補位置を選択するために位置を分析した後の、画像の実例を示す。図７Ｇで例証された画像に残る候補位置は、２つの四角い位置である。それは、図７Ａの当初のグレイスケールで実際のバーコードに対応する。
【００８４】
ここで説明された技法は、ハードウェア、ソフトウェア、ファームウェアあるいはそれの任意の組み合わせで実施され得る。モジュールまたはコンポーネントとして説明された任意の特徴は、統合された論理回路と同時に、あるいは相互運用可能な論理デバイスであるが個別のように別々に実施され得る。ソフトウェアで実施される場合、実行した際に、上記で説明された１つ以上の方法を実行する命令を備えるコンピュータ可読媒体によって少なくとも一部が実現され得る。コンピュータ可読媒体は、包装材料を含むコンピュータ・プログラム製品の一部を形成し得る。コンピュータ可読媒体は、同期型ダイナミック・ランダム・アクセス・メモリ（ＳＤＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、不揮発性ランダム・アクセス・メモリ（ＮＶＲＡＭ）、電気的消去可能ＲＯＭ（ＥＥＰＲＯＭ）、ＦＬＡＳＨメモリ、磁気メディアまたは光学データ記憶メディア、などのようなランダム・アクセス・メモリ（ＲＡＭ）を含み得る。追加または代替として、本技法は、コンピュータによってアクセスされ、読み取られ、実行されることができる命令またはデータ構造の形式でコードを搬送または通信するコンピュータ可読媒体によって少なくとも一部が実現され得る。
【００８５】
コードは、１つ以上のＤＳＰ、汎用マイクロプロセッサ、ＡＳＩＣ、フィールド・プログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の同等な統合又は個別の論理回路のような１つ以上のプロセッサによって実行され得る。従って、ここに使用される用語「プロセッサ」は、従来の以前の構造、またはここで開示された技法の実施のために適した他の任意の構造を参照し得る。さらに、いくつかの態様において、ここで説明された機能性は、符号化および復号化のために構成されるまたは組み合わされたビデオ符号器／複合器（ＣＯＤＥＣ）に組み込まれた専用のソフトウェア・モジュールまたはハードウェア・モジュールで供給され得る。従って、本開示は、さらに、この開示で説明された技法の１つ以上を実施するために電気回路を含む様々な集積回路デバイスのうちの任意のものを意図する。そのような電気回路は、単一の集積回路チップ、あるいは複数の相互利用可能な集積回路チップ中で供給され得る。
【００８６】
様々な態様は記述されている。これらおよび他の態様は、以下の特許請求の範囲の範囲である。
【図１】
2011513818.tif 000003
【図２】
2011513818.tif 000004
【図３】
2011513818.tif 000005
【図４】
2011513818.tif 000006
【図５】
2011513818.tif 000007
【図６Ａ】
2011513818.tif 000008
【図６Ｂ】
2011513818.tif 000009
【図６Ｃ】
2011513818.tif 000010
【図６Ｄ】
2011513818.tif 000011
【図７Ａ】
2011513818.tif 000012
【図７Ｂ】
2011513818.tif 000013
【図７Ｃ】
2011513818.tif 000014
【図７Ｄ】
2011513818.tif 000015
【図７Ｅ】
2011513818.tif 000016
【図７Ｆ】
2011513818.tif 000017
【図７Ｇ】
2011513818.tif 000018
【国際調査報告】
2011513818.tif 000019
2011513818.tif 000020
2011513818.tif 000021