(58)【調査した分野】(Int.Cl.,DB名)
日中テレビジョン(DTV)、近赤外(NIR)、短波長赤外(SWIR)、中波長赤外(MWIR)、または長波長赤外(LWIR)よりなるグループ画像センサから選択した波長で、フォーカススイープ中に、画像を撮ることをさらに含む、請求項1に記載の方法。
【発明の概要】
【0002】
一例では、画像の各々に対してフォーカスセルが再配置されるフォーカススイープ中に撮られる画像に基づいて、ビデオ画像を自動的にフォーカスする方法が提供される。該方法は、オートフォーカス・エンジンにおいて、フォーカススイープからのエッジ検出画像と、それに関連する前記フォーカススイープにおけるフォーカスセル位置とを所与として、前記エッジ検出画像をサブ画像に分割するステップを含む。前記方法は、さらに、各サブ画像に対して、被写体サブ画像の規格化エッジ検出強さを計算するステップと、前記被写体サブ画像の規格化エッジ検出強さを閾値と比較するステップと、を含む。前記方法は、さらに、前記比較に基づき、前記被写体サブ画像にエッジがあるか判断するステップと、前記被写体サブ画像にエッジがあるかの判断に基づき、所与の前記フォーカスセル位置に関連するオートフォーカス・メトリックを計算するステップと、前記方法は、さらに、前記オートフォーカス・メトリックを、前記フォーカスセルの他の位置に関連するオートフォーカス・メトリックと共に提供して、ビデオ画像をフォーカスするステップとを含む。
【0003】
他の一例では、画像の各々に対してフォーカスセルが再配置されるフォーカススイープ中に撮られる画像に基づいて、ビデオ画像を自動的にフォーカスするシステムが提供される。該システムは、コンピュータ実行可能命令を有するメモリと、フォーカススイープからのエッジ検出画像と、それに関連する前記フォーカススイープにおけるフォーカスセルの位置とを受け取る少なくとも1つのインターフェースとを含む。前記システムは、さらに、前記メモリと前記少なくとも1つのインターフェースとに結合したオートフォーカス・エンジンとを有する。前記コンピュータ実行可能命令は、前記オートフォーカス・エンジンにより実行されると、前記オートフォーカス・エンジンに、前記エッジ検出画像をサブ画像に分割させられる。前記オートフォーカス・エンジンはさらに、各サブ画像に対して、被写体サブ画像の規格化エッジ検出強さを計算させられ、前記被写体サブ画像の規格化エッジ検出強さを閾値と比較させられる。前記オートフォーカス・エンジンはさらに、前記比較に基づき、前記被写体サブ画像にエッジがあるか判断させられ、前記被写体サブ画像にエッジがあるかの判断に基づき、所与の前記フォーカスセル位置に関連するオートフォーカス・メトリックを計算させられる。前記オートフォーカス・エンジンはさらに、前記オートフォーカス・メトリックを、前記フォーカスセルの他の位置に関連するオートフォーカス・メトリックと共に提供して、ビデオ画像をフォーカスさせられる。
【0004】
さらに他の一例では、画像の各々に対してフォーカスセルが再配置されるフォーカススイープ中に撮られる画像に基づいて、ビデオ画像を自動的にフォーカスするコンピュータ読み取り可能命令を有する有体のコンピュータ読み取り可能記憶媒体が提供される。該コンピュータ読み取り可能命令は、一以上のプロセッサにより実行されると、前記一以上のプロセッサに、フォーカススイープからのエッジ検出画像と、それに関連する前記フォーカススイープにおけるフォーカスセル位置とを所与として、前記エッジ検出画像をサブ画像に分割させる。前記一以上のプロセッサはさらに、各サブ画像に対して、被写体サブ画像の規格化エッジ検出強さを計算し、前記被写体サブ画像の規格化エッジ検出強さを閾値と比較させられる。前記一以上のプロセッサはさらに、前記比較に基づき、前記被写体サブ画像にエッジがあるか判断させ、前記被写体サブ画像にエッジがあるかの判断に基づき、所与の前記フォーカスセル位置に関連するオートフォーカス・メトリックを計算させられる。前記一以上のプロセッサはさらに、前記オートフォーカス・メトリックを、前記フォーカスセルの他の位置に関連するオートフォーカス・メトリックと共に提供して、ビデオ画像をフォーカスさせられる。
【0005】
幾つかの例では、上記のどの態様も、次の特徴のうち一以上を含むことができる。
【0006】
本方法の他の例では、ピクセル値を有する前記被写体サブ画像の規格化エッジ検出強さを計算するステップは、前記被写体サブ画像中に見いだされる最大ピクセル値と、前記被写体サブ画像中に見いだされる最小ピクセル値とを選択するステップを含む。前記方法の例はさらに、前記最大ピクセル値と最小ピクセル値との差の、前記最大ピクセル値と最小ピクセル値との和に対する比率を求める、前記比率はコントラストの尺度であるステップと、前記コントラストの尺度を前記サブ画像中のピクセル値の平均とかけて、その結果として前記被写体サブ画像の規格化及び加重エッジ検出強さを求めるステップとを含む。
【0007】
本方法の幾つかの例では、前記オートフォーカス・メトリックを計算するステップは、エッジがあるサブ画像の規格化エッジ検出強さを平均するステップを含む。
【0008】
前記方法の他の例はさらに、前記オートフォーカス・メトリックに基づいて前記フォーカスセルの位置を選択するステップと、前記フォーカスセルを選択された位置に再配置して前記ビデオ画像をフォーカスするステップとを含む。
【0009】
本方法の幾つかの例では、前記フォーカスセルの位置を選択するステップは、計算されたオートフォーカス・メトリックと、それに関連するフォーカスセル位置とから、オートフォーカス・メトリック及びフォーカスセル位置のモデルを生成するステップと、前記モデルからフォーカスセルの最良の位置を選択するステップとを含む。
【0010】
本方法の他の例では、前記モデルは、計算されたオートフォーカス・メトリックの前記モデルへの非線形回帰適合である。
【0011】
前記方法の幾つかの例はさらに、フォーカススイープ中に撮られる各画像に対して、被写体画像を関心領域にトリミングするステップと、前記関心領域のホワイトノイズを低減して、結果としてフィルタ画像を求めるステップとを含む。前記方法の例はさらに、前記フィルタ画像中のエッジを検出して、結果として前記フォーカススイープ中のフォーカスセルの位置に関連するエッジ検出画像を求めるステップを含む。
【0012】
前記方法の他の例はさらに、日中テレビジョン(DTV)、近赤外(NIR)、短波長赤外(SWIR)、中波長赤外(MWIR)、または長波長赤外(LWIR)よりなるグループから選択した波長で、フォーカススイープ中に、画像を撮るステップをさらに含む。
【0013】
上記の及びその他の機能、及び特徴と、動作方法と、関連構成要素の機能と、パーツの組み合わせと、生産の経済性とは、本出願の出願書類を構成する、添付した図面を参照して以下の説明と特許請求の範囲を検討すれば明らかになるだろう。図面中、対応するパーツには同じ参照数字を付した。しかし、言うまでもないが、図面は例示と説明を目的としたものであり、請求項を限定することを意図したものではない。本明細書と特許請求の範囲において、「1つの」、「前記」との記載は別段の記載がなければ、複数の場合も含む。
【発明を実施するための形態】
【0015】
以下の説明では、同種のコンポーネントには、異なる例に示されているかどうかに係わらず、同じ参照数字を付した。本開示の例を明確かつ簡潔に説明するため、図面は必ずしもスケール通りではなく、ある特徴は概略的に示した。ある例を参照して説明及び/又は例示した特徴は、他の例で、及び/又は他の例の特徴と組み合わせて、又は他の例の特徴に替えて、同一又は同様の方法で用いることができる。
【0016】
図1は、地上105の上を飛行して監視を行う空中画像プラットフォーム100(例えば、ドローン)の一例を示す。空中画像プラットフォーム100は、地上105の人や対象物を監視する画像システム110を有する。画像システム110は画像センサ115、フォーカスセル120、及びオートフォーカス・エンジン125を含む。画像センサ115は画像を撮り、例えば日中テレビジョン(DTV)、近赤外(NIR)、短波長赤外(SWIR)、中波長赤外(MWIR)、または長波長赤外(LWIR)の波長でビデオ画像を撮る。
【0017】
フォーカスセル120は、画像センサ115により撮られた画像をフォーカスする。フォーカスセル120は、位置を変え、各フォーカスセル位置で画像が異なるフォーカスをする。これは「フォーカススイープ(focus sweep)」として知られている。オートフォーカス・エンジン125は、フォーカスセル120に、選択されたフォーカスセル位置を提供することにより、フォーカスセル120の位置を制御する。オートフォーカス・エンジン125自体は、オペレータ(例えば、ドローン110のオペレータ)により制御されてもよい。「プッシュ・ツー・フォーカス(push−to−focus)」アプリケーションでは、オペレータは、焦点がはずれた画像をフォーカスしたい時、ボタンを押すと、オートフォーカス・エンジン125が画像をフォーカスする。
【0018】
オートフォーカス・メトリック・アプローチ(及びここで説明するその例)では、オートフォーカスが、各フォーカスセル位置に関連するオートフォーカス・メトリック(autofocus metric)を計算し、計算されたメトリックに基づいて最良のフォーカスセル位置を選択する。
図2A−2Cを参照して、オートフォーカス・メトリック・アプローチの例を実装するオートフォーカス・エンジン125の動作を説明する。
【0019】
図2Aは、フォーカスセル120を第1の位置として撮った第1の画像205と、第1のフォーカスセル位置とは異なる第2のフォーカスセル位置で撮った第2の画像210とを示す。第1と第2の画像205、210は、フォーカススイープ中の異なるフォーカスセル位置で撮った画像のうちの2枚である。エッジ検出器が、第1の画像205と第2の画像210を処理し、
図2Bに示す、第1のエッジ検出画像215と、第2のエッジ検出画像220をそれぞれ生成する。Sobelエッジ検出器など、多くのエッジ検出器のうちのどれを使っても良い。オートフォーカス・メトリック・アプローチの例を説明し、可読性を高めるため、第1のエッジ検出画像215は「焦点画像(in−focus−image)」と呼び、第2のエッジ検出画像220は「焦点外画像(out−of−focus−image)」と呼ぶ。
【0020】
オートフォーカス画像は、焦点画像215と焦点外画像220とを、「パッチ」と呼ばれるサブ画像225、230に分割する。オートフォーカス・メトリック・アプローチの便利な例では、各パッチが検出されたエッジを1つ含む又は含まないように、パッチのサイズが選択される。他の一例では、パッチのサイズは、低光束状態において、明るい光のインパクトを低減するように選択される。
【0021】
オートフォーカス・メトリック・アプローチの説明を続ける前に、一部のコントラストが高い画像の例を考える。この高コントラスト領域があるため、焦点外画像に対して計算されるエッジ検出強度が高くなってしまう。そして、これにより、焦点がはずれていても、画像の焦点が合っているとの間違った結論を下してしまうことがある。換言すると、エッジ検出強度計算は、画像の一部分により支配され、全画像を表さない場合がある。この状況は好ましくなく、従来のオートフォーカスアプローチを無効化し得る。
【0022】
コントラストが高いがエッジがない画像部分と、無害なその他の部分とへの依存性を低減するため、オートフォーカス・エンジン125(
図1)は、焦点画像215と焦点外画像220とを、「パッチ」と呼ばれるサブ画像225、230に分割する。次いで、オートフォーカス・エンジン125は、各パッチに「ローカル」エッジ検出強度(エッジコントラスト)を割り当てる。オートフォーカス・エンジン125は、サブ画像のローカル値に基づいて、オートフォーカス・メトリックを求める。対照的に、コントラストエンハンスメントに基づく従来のオートフォーカスアプローチは、全画像からそれらのメトリックを求める。
【0023】
オートフォーカス・メトリック・アプローチの便利な例では、各パッチが検出されたエッジを1つ含む又は含まないように、パッチのサイズが選択される。他の一例では、パッチのサイズは、低光束状態において、明るい光のインパクトを低減するように選択される。オートフォーカス・メトリック・アプローチのさらに他の便利な例では、パッチのピクセル値に対して、オートフォーカス・エンジン125は、そのパッチに見つかった最大ピクセル値と最小ピクセル値とを選択することにより、そのパッチの規格化されたエッジ検出強度を計算する。オートフォーカス・エンジン125は、最大ピクセル値と最小ピクセル値との差の、最大ピクセル値と最小ピクセル値との和に対する比率を求める。この比率はコントラストの尺度(measure)である。オートフォーカス・エンジン125は、コントラスト尺度を、パッチ中のピクセル値の平均にかけ、その結果として、そのパッチの規格化され加重されたエッジ検出強度を求める。
【0024】
前述の動作は、すべてのローカルのパッチ値をスケールし、ローカルの「ウィーク(weak)」(低コントラストでもシャープ)が、ローカルの「ストロング(strong)」(高コントラストでシャープ)と同様に貢献するようにする。シャープエッジは、画像の低値領域から一または少数のピクセルの高値領域への移行と定義される。画像の低値領域及び高値領域の間の境界(border)または移行境界(transition boundary)にあるピクセルが少なければ少ないほど、加重はシャープになる。フォーカスの目標はすべての境界を「シャープにする」ことであり、これは通常の意味では「焦点がっている」状態と「焦点がはずれている」状態との差である。
【0025】
オートフォーカス・エンジン125は、与えられたパッチの規格化されたエッジ検出強度を閾値と比較する。その閾値を用いて、オートフォーカス・エンジン125は、エッジが検出されたパッチと、エッジが検出されないパッチとを弁別する。オートフォーカス・メトリック・アプローチの幾つかの例では、ユーザは閾値を確定し、キーボードやマウスなどの入力デバイスを用いてその閾値をオートフォーカス・エンジン125に入力する。オートフォーカス・メトリック・アプローチの他の例では、オートフォーカス・エンジン125又はその他のコンポーネントは、アプリケーションに基づいて閾値を調整する。
【0026】
図2Cの例では、オートフォーカス・エンジン125(
図1)は、焦点画像215のパッチ225の99%がエッジを含み、1%が含まないと判断する。比較して、オートフォーカス・エンジン125は、焦点外画像220のパッチ230の20%がエッジを含み、80%が含まないと判断する。オートフォーカス・エンジン125は、エッジを有すると判断されたパッチ225に基づいて、第1のフォーカスセル位置の第1のオートフォーカス・メトリックを計算する。オートフォーカス・エンジン125は、エッジを有すると判断されたパッチ230に基づいて、第2のフォーカスセル位置の第2のオートフォーカス・メトリックを計算する。
【0027】
オートフォーカス・エンジン125は、「最良の」フォーカスセル位置の決定に用いる、第1と第2のオートフォーカス・メトリックと、フォーカススイープにおける他のフォーカスセル位置に対して計算されたオートフォーカス・メトリックとを提供する。次に、フォーカスセル120は、画像にフォーカスする最良のフォーカスセル位置に移動する。オートフォーカス・エンジン125の便利な例は、計算されたオートフォーカス・メトリックとそれに関連するフォーカスセル位置とに基づいて、最良のフォーカスセル位置を選択する。(選択手順は、この後すぐ、より詳細に説明する。)オートフォーカス・エンジン125は、フォーカスセル120を、画像をフォーカスするのに最良のフォーカスセル位置に再配置する。
【0028】
図3Aは、フォーカスセル120(
図1)が一定速度で左から右にスイープし、離散時間に画像が収集されるにつれて、オートフォーカス・エンジン125(
図1)により生成されるデータポイント(図中でプラス記号として示す)を示している。各データポイントは、
図2Aないし
図2Cを参照して説明したように、与えられたフォーカスセル位置(X軸に示す)に対して計算されたオートフォーカスメトリック(Y軸に示す)を表す。
【0029】
オートフォーカス・エンジン125はオートフォーカス・メトリックとそれに関連するフォーカスセル位置とからモデル300を生成する。モデル300は、フォーカスセル120の位置が変化するにつれて、画像の鮮明度(sharpness)がどう変化すると物理的に期待されるかを表す。このように、モデル300は理論的である。オートフォーカスメトリックアプローチの便利な例では、モデル300は非線形回帰適合である。モデルの「ピーク」は、図中305で示したが、最良のフォーカスセル位置を表す。オートフォーカス・エンジン125は、画像をフォーカスするのに最良のフォーカスセル位置をフォーカスセル120に提供する。
【0030】
モデル300を構築する、オートフォーカス・エンジン125により計算されたオートフォーカスメトリック(データポイント)の数は、関心領域及びパッチサイズに基づき選択してもよい。任意のパッチ中のエッジ数を最小化する7×7ないし20×20の間の一般的なパッチサイズが選択される。理想的には、一つのパッチが一つの区別できるエッジに影響する。好ましい例では、パッチサイズは10×10が選択される。オートフォーカスメトリックアプローチの幾つかの例では、オートフォーカス・エンジン125により計算されるオートフォーカス・メトリックの数は、最良のフォーカスセル位置が一定時間内に、例えば1秒または2秒以内に選択されるように、選択される。これは、フォーカスボタンを押すとすぐに、ぼけた画像がフォーカスされるとオペレータが期待する「プッシュ・ツー・フォーカス」の場合に特に有利である。
【0031】
図3Bは、信号が非常に弱い微少光画像化条件で用いられるオートフォーカスメトリックアプローチの一例を示している。かかる画像化条件は、従来のオートフォーカスアプローチでは困難な問題である。データポイントは
図3Aの例と比較して、より分散している。分散が大きくなることは、オートフォーカス・メトリックを計算するのに用いる測定値中のノイズが大きくなることを表している。オートフォーカス・エンジン125(
図1)は、データポイントを通るモデル315(理論的に最良な曲線)を見つけ、モデル315から(参照番号315で示す)最良のフォーカスセル位置を選択する。
【0032】
オートフォーカスメトリックアプローチの他の例では、フォーカススイープ中に撮られた各画像に対して、オートフォーカス・エンジン125が被写体画像を関心領域までトリミング(crop)する。一般的に、画像の中心部分は関心対象を含む。画像の境界領域はコンテキスト情報を提供する。目的は、関心中心領域をはっきりとフォーカスすることであり、境界領域の対象により曲がらないようにすることである。有利にも、画像を中心領域にトリミング(cropping)することにより、オートフォーカスにより中心領域のフォーカスが最良になることを保証できる。
【0033】
オートフォーカス・エンジン125は、次いで、関心領域の白色ノイズを低減し、フィルタ画像(filtered image)を求める。このノイズ低減手順により、弱信号で撮像された画像におけるランダムピクセルノイズが低減される。オートフォーカス・エンジン125は、SobelまたはLaplaceエッジ検出を適用して、フィルタ画像中のエッジを検出する。結果は、フォーカススイープにおけるフォーカスセル120の位置に関連するエッジ検出画像である。オートフォーカス・エンジン125は、
図2Aないし
図2Cを参照して上で説明したように、検出されたエッジからオートフォーカス・メトリックを計算する。
【0034】
図4Aは、
図4Bに示したオートフォーカスメトリックアプローチ450の一例を実装するオートフォーカス・エンジン125(
図1)の便利な一例を示す。オートフォーカス・エンジン125は、画像分割モジュール405、規格化エッジ強度計算モジュール410、比較モジュール415、及びオートフォーカス・メトリック計算モジュール420を含み、各モジュールは図示したように他のモジュールと通信可能に結合している。言うまでもなく、オートフォーカス・エンジン125の他の例は、図示したよりも多い又は少ないモジュールを有しても良い。
【0035】
エッジ検出画像401とそれに関連するフォーカスセル位置402とを入力として与えられ、画像分割モジュール405は、エッジ検出画像401をサブ画像425に分割する(ステップ455)。サブ画像425の各々に対して、規格化エッジ強度計算モジュール410は、規格化エッジ検出強度430を計算する(ステップ460)。比較モジュール415は、被写体サブ画像の規格化エッジ検出強度411を閾値と比較する(ステップ465)。
【0036】
比較に基づき、比較モジュール415は、被写体サブ画像中にエッジがあるか判断し(ステップ470)、判断435を提供する。被写体サブ画像中のエッジ435に関する判断と、他のサブ画像中のエッジに関する判断とに基づき、オートフォーカス・メトリック計算モジュール420は、フォーカスセル位置135に関連するオートフォーカス・メトリック440を計算する(ステップ475)。オートフォーカス・エンジン125は、フォーカスセル位置402とオートフォーカス・メトリック440とを提供して画像をフォーカスする。
【0037】
上記のシステムと方法は、デジタル電子回路、コンピュータハードウェア、ファームウェア、及び/又はソフトウェアで実装できる。実装はコンピュータプログラム製品(すなわち、情報キャリア媒体において有体に実施されたコンピュータプログラム)として行える。実装は、例えば、データ処理装置により実行される、またはその動作を制御する機械読み取り可能記憶デバイスで行うこともできる。実装は、例えば、プログラマブルプロセッサ、コンピュータ、及び/又は複数のコンピュータであってもよい。
【0038】
一例では、コンピュータプログラムは、コンパイラ及び/又はインタプリタ言語を含む、どんな形式のプログラミング言語で記述することもできる。コンピュータプログラムは、ここに説明のさまざまな例の特徴や機能を実行する、スタンドアロンプログラムまたはサブルーチン、エレメント、及び/又は計算環境で用いるその他のユニットを含む、どんな形式で展開することもできる。コンピュータプログラムは1つのコンピュータ上で実行しても、一箇所にある複数のコンピュータ上で実行するように展開することもできる。
【0039】
方法ステップまたは演算は、コンピュータプログラムを実行して、入力データに作用して出力を生成することによりさまざまな例の機能を実行する一以上のプログラム可能プロセッサによりプロセスとして実行できる。方法ステップは特定用途論理回路により実行することができ、装置は特定用途論理回路として実装することもできる。回路は、例えば、フィールドプログラマブルゲートアレイ(FPGA)及び/又は特定用途集積回路(ASIC)であってもよい。モジュール、サブルーチン、及びソフトウェアエージェントは、その機能を実装するコンピュータプログラム、プロセッサ、特殊回路、ソフトウェア、及び/又はハードウェアの一部を指すこともある。
【0040】
オートフォーカス・エンジン125は、コンピュータプログラムの実行に適した一以上のプロセッサを含み、例えば、特定目的及び汎用のマイクロプロセッサと、任意種類のデジタルコンピュータの任意の一以上のプロセッサとを両方とも含む。一般的に、プロセッサは読み取り専用メモリまたはランダムアクセスメモリから命令またはデータまたはその両方を受け取る。コンピュータの要素は、命令を実行するプロセッサと、命令とデータを格納する一以上のメモリデバイスとを有しても良い。一般的に、コンピュータは、(例えば、磁気ディスク、光磁気ディスク、または光ディスクなどの)データを記憶する一以上の大規模ストレージデバイス(例えば、メモリモジュール)を含み、それからデータを受け取り、及び/又はそれにデータを送るように動作可能に結合していてもよい。メモリは、画像を処理するコンピュータ読み取り可能命令を格納した有体、非一時的コンピュータ読み取り可能記憶媒体であってもよい。該命令は、一以上のプロセッサ(例えば、オートフォーカス・エンジン125)により実行されたとき、一以上のプロセッサに、ここに説明のさまざまな例の特徴や機能を実行または実装させる。
【0041】
コンピュータプログラム命令およびデータを利用するのに適した情報キャリアは、例えば、半導体メモリデバイスを含む、すべての形式の不揮発性メモリを含む。情報キャリアは、例えば、EPROM、EEPROM、フラッシュメモリデバイス、磁気ディスク、内部ハードディスク、リムーバブルディスク、光磁気ディスク、CD−ROM、及び/又はDVD−ROMディスクであり得る。プロセッサとメモリは特定用途論理回路により補足され、及び/又はそれに組み込まれてもよい。
【0042】
ユーザとのインターラクションを提供するため、上記の手法はディスプレイデバイスを有する計算デバイスに実装できる。ディスプレイデバイスは、例えば、陰極線管(CRT)及び/又は液晶ディスプレイ(LCD)モニター及び/又は発光ダイオード(LED)モニターであってもよい。ユーザとのインターラクションは、例えば、ユーザへの情報のディスプレイと、ユーザが計算デバイスに入力をできる(例えば、ユーザインタフェース要素とインターラクトできる)キーボード及びポインティングデバイス(例えば、マウスまたはトラックボール)であり得る。他種類のデバイスを用いてユーザとのインターラクションを提供することもできる。他のデバイスは、例えば、任意形式の感覚的フィードバック(例えば、視覚的フィードバック、聴覚的フィードバック、触覚的フィードバックなど)でユーザに提供されるフィードバックであり得る。ユーザからの入力は、例えば、音響的、発話的、及び/又は触覚的入力を含む任意の形式で受け取ることができる。
【0043】
上記のシステムや手法は、バックエンドコンポーネントを含む分散コンピューティングシステムで実装し得る。バックエンドコンポーネントは、例えば、データサーバ、ミドルウェアコンポーネント、及び/又はアプリケーションサーバであってもよい。上記の手法は、フロントエンドコンポーネントを含む分散コンピューティングシステムでも実装し得る。フロントエンドコンポーネントは、例えば、グラフィカルユーザインタフェースを有するクライアント計算デバイス、ユーザが実装例とインターラクトできるウェブブラウザ、及び/又は送信デバイス用のその他のグラフィカルユーザインタフェースであり得る。システムのコンポーネントは、任意形式または媒体のデジタルデータ通信(例えば、通信ネットワーク)により相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、有線ネットワーク、及び/又は無線ネットワークを含む。
【0044】
システムはクライアント及びサーバに結合していても、及び/又はクライアント及びサーバを含んでいてもよい。クライアントとサーバは、一般的に、互いに離れており、一般的には通信ネットワークを通してインターラクトする。クライアントとサーバとの関係は、それぞれの計算デバイス上で実行され、互いにクライアント・サーバ関係を有するコンピュータプログラムにより生じる。
【0045】
通信ネットワークはパケットベースネットワークを含んでもよく、例えば、インターネット、キャリアインターネットプロトコル(IP)ネットワーク(例えば、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、キャンパスエリアネットワーク(CAN)、メトロポリタンエリアネットワーク(MAN)、ホームエリアネットワーク(HAN))、プライベートIPネットワーク、IPプライベートブランチエクスチェンジ(IPBX)、無線ネットワーク(例えば、無線アクセスネットワーク(RAN)、802.11ネットワーク、802.16ネットワーク、ジェネラルパケットラジオサービス(GPRS)ネットワーク、HiperLAN)、及び/又はその他のパケットベースネットワークを含み得る。回路ベースネットワークは、例えば、公衆交換電話ネットワーク(PSTN)、プライベートブランチエクスチェンジ(PBX)、無線ネットワーク(例えば、RAN、ブルートゥース(登録商標)、符号分割多重接続(CDMA)ネットワーク、時間分割多重接続(TDMA)ネットワーク、グローバルシステム・フォー・モバイル通信(GSM(登録商標)ネットワーク)、及び/又はその他の回路ベースネットワークを含み得る。
【0046】
オートフォーカス・エンジン125は、例えば、コンピュータ、ブラウザデバイス付きコンピュータ、電話、IP電話、携帯デバイス(例えば、セルラー電話、パーソナルデジタルアシスタント(PDA)デバイス、ラップトップコンピュータ、電子メールデバイス)、及び/又はその他の通信デバイスを含み得る。ブラウザデバイスは、例えば、ワールドワイドウェブブラウザ(例えば、ワシントン州レドモンドのマイクロソフト社が出しているインターネットエクスプローラ(登録商標))を有するコンピュータ(例えば、デスクトップコンピュータ、ラップトップコンピュータ)を含み得る。モバイル計算デバイスは、例えば、カナダ、オンタリオ州ウォータールー市のResearch In Motion Limitedにより提供されるBLACKBERRY(登録商標)を含む。
【0047】
「comprise」、「include」、及び/又はこれらの複数形は、オープンエンドであり、列挙したものを含み、列挙していないものも含み得る。「及び/又は」は、オープンエンドであり、列挙したもののうち一以上、及び列挙したものの組み合わせを含む。
【0048】
上記の開示は有用な例であると現在考えられるものを説明しているが、言うまでもなく、かかる詳細事項は説明を目的としたものであり、添付した請求項は開示の例に限定されず、逆に、添付の請求項の精神と範囲内にある修正や等価な構成をカバーすることを意図したものである。
【0049】
当業者には言うまでもなく、本発明は、その精神や基本的特性から逸脱することなく、その他の具体的な形式で実施できる。上記の実施形態は、すべての点で例示でありここに説明した発明を限定するものではないと考えなければならない。本発明の範囲は、上記の説明ではなく、添付した請求項に記載されており、請求項の意味と均等物の範囲内での変更はすべてその請求項に含まれる。