(57)【要約】  オブジェクトの一組の特徴を識別することを含む方法が記載され、特徴はカメラが捕捉する画像内に追跡される。当該方法はさらに、基準点のベクトルの場を作成することを含む。ベクトルは、画像の２つ以上のフレームにわたる基準点の位置の変化の大きさおよび方向を示す。当該方法はさらに、ベクトルの同一の放射状の向きから、オブジェクトの特徴の面外の動きの存在を識別することを含む。当該方法はさらに、複数の基準点同士の間の距離の変化から、オブジェクトの特徴がカメラに近づいた／カメラから遠ざかった量を求めることを含む。当該方法はさらに、カメラの焦点をオブジェクトに合わせ続けるように、オブジェクトの特徴が近づいた／遠ざかった量に鑑みてカメラのレンズの位置を調整することを含む。
2019518370.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによって実現される方法であって、
オブジェクトの一組の基準点を識別することを備え、前記基準点はカメラが捕捉する画像内に追跡され、前記方法はさらに、
前記基準点のベクトルの場を作成することを備え、前記ベクトルは、前記画像の２つ以上のフレームにわたる前記基準点の位置の変化の大きさおよび方向を示し、前記方法はさらに、
前記ベクトルの同一の放射状の向きから、前記基準点の面外の動きの存在を識別することと、
複数の前記基準点同士の間の距離の変化から、前記基準点が前記カメラに近づいた／前記カメラから遠ざかった量を求めることと、
前記カメラの焦点を前記オブジェクトに合わせ続けるように、前記オブジェクトの特徴が近づいた／遠ざかった前記量に鑑みて前記カメラの焦点を調整することとを備える、方法。
【請求項２】
前記放射状の向きは外向きであり、前記面外の動きは前記カメラに向かう、請求項１に記載の方法。
【請求項３】
前記放射状の向きは内向きであり、前記面外の動きは前記カメラから離れる、請求項１に記載の方法。
【請求項４】
同一の放射状の向きを有する前記ベクトルは、前記オブジェクトの周辺の前記基準点のベクトルを含む、前述の請求項のいずれか１項に記載の方法。
【請求項５】
前記方法はさらに、前記オブジェクトの輪郭上に前記ベクトルの正味の発散がないことから、オブジェクトの面内の動きを認識することを備える、前述の請求項のいずれか１項に記載の方法。
【請求項６】
前記近づいた／遠ざかった量を求めることは、前記複数の基準点から形成される三角形の辺の変化を測定することを含む、前述の請求項のいずれか１項に記載の方法。
【請求項７】
前記複数の基準点は前記オブジェクトの前記周辺の内部に位置する、前述の請求項のいずれか１項に記載の方法。
【請求項８】
プログラムコードを含む機械可読記憶媒体であって、前記プログラムコードは、プロセッサによって処理されると、請求項１から７のいずれか１項に記載の方法を行なう、機械可読記憶媒体。
【請求項９】
装置であって、
画像センサと、
前記画像センサと関連付けられた少なくとも１つのレンズを含むアセンブリと、
前記レンズアセンブリに結合されたモータと、
前記モータに結合されたプロセッサと、
前記プロセッサに結合されたメモリとを備え、前記メモリは前記プロセッサが実行するプログラムコード命令を格納し、前記プログラムコード命令が前記プロセッサによって実行されると方法が行なわれ、前記方法では、前記レンズアセンブリによる前記画像センサ上への焦点が前記方法の制御下で前記モータの動作によって調整され、前記方法は、
オブジェクトの一組の特徴を識別することを備え、前記特徴は前記画像センサが捕捉する画像内に追跡され、前記方法はさらに、
前記基準点のベクトルの場を作成することを備え、前記ベクトルは、前記画像の２つ以上のフレームにわたる前記基準点の位置の変化の大きさおよび方向を示し、前記方法はさらに、
前記ベクトルの同一の放射状の向きから、前記オブジェクトの特徴の面外の動きの存在を識別することと、
複数の前記基準点同士の間の距離の変化から、前記オブジェクトの特徴が前記カメラに近づいた／前記カメラから遠ざかった量を求めることと、
前記モータを駆動して、前記オブジェクトの特徴が近づいた／遠ざかった前記量に鑑みて前記焦点を調整することとを備える、装置。
【請求項９】
前記放射状の向きは外向きであり、前記面外の動きは前記カメラに向かう、請求項８に記載の装置。
【請求項１０】
前記放射状の向きは内向きであり、前記面外の動きは前記カメラから離れる、請求項８に記載の装置。
【請求項１１】
同一の放射状の向きを有する前記ベクトルは、前記オブジェクトの周辺の前記基準点のベクトルを含む、請求項８から１０のいずれか１項に記載の装置。
【請求項１２】
前記方法はさらに、前記オブジェクトの輪郭上に前記ベクトルの正味の発散がないことから、オブジェクトの面内の動きを認識することを備える、請求項８から１１のいずれか１項に記載の装置。
【請求項１３】
前記複数の基準点は前記オブジェクトの前記周辺の内部に位置する、請求項８から１２のいずれか１項に記載の装置。
【請求項１４】
前記レンズアセンブリは焦点レンズを含み、前記モータは前記焦点レンズを動かして前記焦点を調整する、請求項８から１３のいずれか１項に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
本願は、２０１６年６月３日に出願された米国非仮出願番号第１５／１７３，３０６号に対する優先権を特許協力条約（ＰＣＴ）第８条に従い主張し、当該非仮出願の内容を本明細書に引用により援用する。
【０００２】
発明の分野
本発明の分野は概してデジタルカメラ技術に関し、より具体的にはオプティカルフローベースのオートフォーカス技術に関する。
【背景技術】
【０００３】
背景
高性能の処理インテリジェンスをさまざまな電子デバイスに統合する実装コストの低下に伴って、設計者は、統合されたプロセッサおよびカメラとともに実装されることが想定され得る新たな画像処理パラダイムに注目している。具体的には、いくらかの計算集約度を有するが、同時に、たとえばカメラと統合され得るある程度強力なプロセッサによって実行されることが想定され得る新たな技法が特に関心を集めている。
【発明の概要】
【課題を解決するための手段】
【０００４】
概要
画像内のまたは撮像されたシーン内の、オブジェクトのまたはオブジェクト上の、一組の特徴を、換言すれば基準点を識別することを含む方法が記載される。オブジェクトは同様に画像またはシーンの被写体と称され得る。特徴または基準点は、カメラが捕捉する画像内に、すなわち画像の一連のフレーム内に追跡される。
【０００５】
当該方法はさらに、基準点のベクトルの場を作成することを含む。ベクトルは、一連の画像フレームの２つ以上のフレームにわたる基準点の位置の変化の大きさおよび方向を示す。当該方法はさらに、ベクトルの同一の放射状の向きから、オブジェクトまたはシーンの特徴または基準点の面外の動きの存在を識別することを含む。当該方法はさらに、複数の基準点同士の間の距離の変化から、オブジェクトまたはシーンの特徴または基準点がカメラに近づいた／カメラから遠ざかった量を求めることを含む。当該方法はさらに、カメラの焦点をオブジェクトまたはシーンに合わせ続けるように、オブジェクトまたはシーンの特徴または基準点が近づいた／遠ざかった量に鑑みてカメラのレンズの位置を調整することを含む。
【０００６】
オブジェクトまたはシーンの一組の特徴または基準点を識別するための手段を含む装置が開示され、特徴は、カメラが捕捉する画像内に（すなわち、一連の画像フレーム内に）追跡される。当該装置はさらに、基準点のベクトルの場を作成するための手段を含む。ベクトルは、画像の２つ以上のフレームにわたる基準点の位置の変化の大きさおよび方向を示す。当該装置はさらに、ベクトルの同一の放射状の向きから、オブジェクトの特徴の面外の動きの存在を識別するための手段を含む。当該装置はさらに、複数の基準点同士の間の距離の変化から、オブジェクトの特徴がカメラに近づいた／カメラから遠ざかった量を求めるための手段を含む。当該装置はさらに、カメラの焦点をオブジェクトに合わせ続けるように、オブジェクトの特徴が近づいた／遠ざかった量に鑑みてカメラのレンズの位置を調整するための手段を含む。このような装置は、カメラもしくはカメラの好適な部品、またはスマートフォンもしくはタブレットコンピュータなどのカメラを含む装置によって提供されてもよい。
【０００７】
経時的に画像の特徴を追跡するために用いられる一連の画像フレームのフレームは連続していてもよいが、当然のことながら、すべての利用可能なフレームをこの追跡処理のために用いる必要はない。当該処理はしたがって、たとえば毎秒画像フレームまたは任意に選択されたその後の画像フレームなど、撮像されたオブジェクトまたはシーンの時間の進行を表わす任意の一連の画像フレームを用いてもよい。
【０００８】
以下の説明および添付の図面を用いて本発明の実施形態を説明する。
【図面の簡単な説明】
【０００９】
【図１】画像フレーム内のオブジェクトを示す図である。
【図２ａ】カメラに近づいているオブジェクトを示す図である。
【図２ｂ】カメラに近づいているオブジェクトを示す図である。
【図２ｃ】カメラに近づいているオブジェクトを示す図である。
【図３ａ】図２ａから図２ｃに示した動きからのベクトル場を示す図である。
【図３ｂ】図２ａから図２ｃに示した動きからのベクトル場を示す図である。
【図４ａ】カメラから遠ざかっているオブジェクトを示す図である。
【図４ｂ】カメラから遠ざかっているオブジェクトを示す図である。
【図４ｃ】カメラから遠ざかっているオブジェクトを示す図である。
【図５ａ】図４ａから図４ｃに示した動きからのベクトル場を示す図である。
【図５ｂ】図４ａから図４ｃに示した動きからのベクトル場を示す図である。
【図６】オブジェクトの横運動を示す図である。
【図７】図６のオブジェクトの動きからのベクトル場を示す図である。
【図８】カメラに近づいているオブジェクトの基準点の三角測量を示す図である。
【図９】カメラから遠ざかっているオブジェクトの基準の三角測量を示す図である。
【図１０ａ】オプティカルフローベースのオートフォーカス方法を示す図である。
【図１０ｂ】図１０ａの方法を実行可能な装置を示す図である。
【図１１】コンピューティングシステムの実施形態を示す図である。
【発明を実施するための形態】
【００１０】
詳細な説明
オプティカルフローは、背景に対して画像内に認識されたオブジェクトの動きを認識する撮像処理である。オブジェクトを画像の背景と対比することができるため、オブジェクトの動きを追従または追跡することができる。しかし従来は、オプティカルフロー処理は検出した運動から深度を理解することに専ら向けられていた。すなわち、たとえば、オプティカルフロー法によるオブジェクトの追跡は、オブジェクトの運動から三次元（３Ｄ）シーンを再構築するために用いられていた。
【００１１】
オプティカルフロー処理方法は、追跡したオブジェクトの運動から深度を理解することに主に適用されてきたため、オプティカルフロー法をオートフォーカスに適用することはこれまで知られていない。オートフォーカスは、当該技術において知られているように、オブジェクトとカメラの間の距離が変化したためにカメラレンズを動かしてオブジェクトに焦点を合わせ続けることを伴う。
【００１２】
したがって、本願は、オプティカルフロー技術を用いて、カメラレンズに近づいているかまたはカメラレンズから遠ざかっているオブジェクトの運動を追跡することに向けられる。そのような「面外」運動を追跡することによって、オブジェクトとカメラレンズの間の距離の変化をある程度の精度で求めることができ、ひいてはカメラレンズ位置の調整を行なってオブジェクトに焦点を合わせ続けることができる。
【００１３】
図１は、背景１０２に対する人の顔１０１の描写を示す。ここで、人の顔１０１は追跡されているオブジェクトに対応する。オブジェクト認識処理は当該技術において一般に知られており、任意の好適なオブジェクト認識処理を用いて背景１０２に対して人の顔１０１を認識してもよい。背景１０２の領域は一般に、カメラが捕捉中の全体画像のフレームのサイズに対応し得る。オブジェクト１０１が認識されると、または単に一定の特徴（たとえば目、鼻、口など）が認識されると（人の顔などの大きいオブジェクトが認識されなくても）、オブジェクトの基準点／特徴も同様に容易に識別され得る。ここで、図１は、オブジェクトの周囲（人の頭の輪郭を一周する）に識別された基準点Ａ〜Ｈと、オブジェクトの内部（たとえば目、鼻、口角など）に識別された基準点Ｉ〜Ｏとの双方を含む、複数の基準点Ａ〜Ｏを示す。ここでも、特定の人の顔を全体として認識することなく（すなわち、特定のオブジェクトを全体として認識することなく）、任意の人の顔の具体的な特徴（目、鼻、口角など）を認識するだけで基準点Ａ〜Ｏを識別することができる。
【００１４】
図２ａから図２ｃは、人の顔がカメラに近づくときの基準点Ａ〜Ｏの相対位置の変化のシーケンスを示す。たとえば、図２ａから図２ｃの各々は、異なる瞬間にカメラが捕捉した異なる画像フレームに対応し得る。当該フレームは直接連続していてもよいし、当該フレーム同士の間に介在するフレームが存在していてもよい。
【００１５】
図２ａは、カメラレンズから一番遠い顔の初期位置に対応する。図２ｂは、カメラレンズに近づいた後の顔を示す。図２ｃは、図２ｂの顔の位置からカメラレンズにさらに近づいた後の顔を示す。一般に、基準点Ａ〜Ｏの相対位置は、基準点が顔の中心軸（基準点Ｌをほぼ通る）から放射状に外に向かう際に「エクスプロージョン（explosion）」と特徴付けられ得る。
【００１６】
図３ａおよび図３ｂは、図２ａから図２ｃのシーケンスからの基準点のベクトル場を示す。ベクトルは、当該技術において理解されているように、大きさおよび方向の双方を示す。図３ａのベクトル場は、顔が図２ａの位置から図２ｂの位置に動いたときの対応する各基準点の位置の変化の大きさおよび方向を示す。同様に、図３ｂのベクトル場は、顔が図２ｂの位置から図２ｃの位置に動いたときの対応する各基準点の位置の変化の大きさおよび方向を示す。
【００１７】
換言すれば、図３ａは、オブジェクトが図２ａの位置から図２ｂの位置に動いたときの基準点の発散を示す。同様に、図３ｂは、オブジェクトが図２ｂの位置から図２ｃの位置に動いたときの基準点の発散を示す。オブジェクトがレンズに近づいた結果としてベクトルが放射状に外向きであるときの発散は、正の発散と特徴付けられ得る。
【００１８】
図３ａおよび図３ｂのベクトル図から理解できるように、オブジェクトの中心から遠ざかる放射状の動きによって例示されるようにオブジェクトの基準点が外向きにエクスプロージョンする場合は、カメラに近づく運動が識別され得る。すなわち、基準点のベクトルは概して放射状に外向きである。エクスプロージョンとの類似性と一致して、オブジェクトの周辺の（人の頭の周囲の）基準点Ａ〜Ｈはオブジェクトの内部の基準点Ｉ〜Ｏよりも大きい放射状運動を示す。
【００１９】
すなわち、人の頭の周囲の基準点Ａ〜Ｈのベクトルの大きさは、人の頭の周囲の内部の基準点Ｉ〜Ｏのベクトルの大きさよりも大きい。一般に、ベクトルの大きさはオブジェクトの中心軸から外に向かうにつれて大きくなる。したがって、最大の正の発散を示すベクトルは本質的に、カメラに近づいているオブジェクトの周辺を識別する。
【００２０】
対照的に、図４ａから図４ｃは、人の顔がカメラから遠ざかるときの基準点の相対位置の変化のシーケンスを示す。図４ａは、図２ｃに示すような顔の初期位置に対応する。図４ｂは、カメラレンズから遠ざかった後の顔を示す。図４ｃは、図４ｂの顔の位置からカメラレンズからさらに遠ざかった後の顔を示す。一般に、基準点の相対位置は、基準点が人の顔の中心軸に放射状に内向きに近づく際に「インプロージョン（implosion）」と特徴付けられ得る。
【００２１】
図５ａおよび図５ｂは、図４ａから図４ｃのシーケンスからの基準点Ａ〜Ｏのベクトル場を示す。図５ａのベクトル場は、顔が図４ａの位置から図４ｂの位置に動いたときの対応する各基準点Ａ〜Ｏの位置の変化の大きさおよび方向を示す。同様に、図５ｂのベクトル場は、顔が図４ｂの位置から図４ｃの位置に動いたときの対応する各基準点Ａ〜Ｏの位置の変化の大きさおよび方向を示す。
【００２２】
したがって、図５ａは、オブジェクトが図４ａの位置から図４ｂの位置に動いたときの基準点の発散を示す。同様に、図５ｂは、オブジェクトが図４ｂの位置から図４ｃの位置に動いたときの基準点の発散を示す。オブジェクトがカメラレンズから遠ざかった結果としてベクトルが内向きであるときの発散は、負の発散と特徴付けられ得る。
【００２３】
図５ａおよび図５ｂのベクトル図から理解できるように、オブジェクトの中心に向かう放射状の動きによって例示されるようにオブジェクトの基準点が内向きにインプロージョンする場合は、カメラから遠ざかる運動が識別され得る。すなわち、基準点Ａ〜Ｏのベクトルは概して放射状に内向きである。インプロージョンとの類似性と一致して、オブジェクトの周辺の（人の頭の周囲の）基準点Ａ〜Ｈはオブジェクトの内部の基準点よりも大きい動きを示す。
【００２４】
すなわち、人の頭の周囲の基準点Ａ〜Ｈのベクトルの大きさは、人の頭の周囲の内部の基準点Ｉ〜Ｏのベクトルの大きさよりも大きい。ここでも、一般に、ベクトルの大きさはオブジェクトの中心軸から外に向かうにつれて大きくなり、ベクトルのファミリー（すなわち、最大の大きさのベクトル）の最大の発散はオブジェクトの周辺に見つけられる。したがって、最大の負の発散を示すベクトルは本質的に、カメラから遠ざかっているオブジェクトの周辺を識別する。
【００２５】
対比の点として、図６および図７はオブジェクトの面内運動に関連する。ここで、図６は、オブジェクトが画像フレームを横切って左から右に横に動くときの水平軸に沿った３つの異なる位置におけるオブジェクトを示す。図７は、基準点の対応するベクトルを示す。ベクトル場７０１はオブジェクトが最も左の位置から中心位置に動くときのオブジェクトのベクトル場を示し、ベクトル場７０２はオブジェクトが中心位置から最も右の位置に動くときのオブジェクトのベクトル場を示す。なお、すべてのベクトルは、外向きにエクスプロージョンするかまたは内向きにインプロージョンするのではなく、同一方向における同一量の位置変化を反映している。さらに、（たとえば基準点Ｂ、Ｃ、Ｄの）オブジェクトの運動の前縁のベクトルは正の発散を示すのに対して、（たとえば基準点Ｈ、Ｇ、Ｆの）オブジェクトの運動の後縁のベクトルは負の発散を示す。
【００２６】
したがって、経時的な基準点のそれぞれの位置における発散を反映する経時的な基準点のベクトルを計算し、当該ベクトル内の一定の特徴を全体として認識することによって、オブジェクトの面内運動をオブジェクトの面外運動と区別することができる。より具体的には、あるオブジェクトのベクトルのファミリーが実質的に同一方向を向いている場合は、当該オブジェクトは面内に動いており、オートフォーカス機能はレンズ位置調整をまったく行なう必要がない（オブジェクトはカメラレンズに近づいているかまたはカメラレンズから遠ざかっている）。
【００２７】
対照的に、あるオブジェクトのベクトルのファミリーが実質的に放射状に外向きである場合は、当該オブジェクトは面外に動いてカメラに近づいており、オートフォーカス機能は、カメラに近づいたオブジェクトに焦点を合わせるようにカメラレンズを調整しなければならない。あるいは、あるオブジェクトのベクトルのファミリーが実質的に放射状に内向きである場合は、当該オブジェクトは面外に動いてカメラから遠ざかっており、オートフォーカス機能は、カメラから遠ざかったオブジェクトに焦点を合わせるようにカメラレンズを調整しなければならない。
【００２８】
あるオブジェクトの基準点の動きのベクトル追跡によって、当該オブジェクトが面外に動いていることが判明すると、オブジェクトに焦点を合わせ続ける新たなレンズ位置を求めることができるように、オブジェクトがどれだけ面外に動いたかをさらなる処理によって求めなければならない。上記から、最大の発散を示すベクトルのファミリーは一般に、オブジェクトが面外に動くときにオブジェクトの周辺の輪郭を描くことを想起されたい。ある実施形態では、オブジェクトの周辺の内部の基準点とともに三角測量を使用して、オブジェクトがどれだけ面外に動いたかを求める。
【００２９】
すなわち、ある実施形態では、異なる目的には異なる基準点を用いる。具体的には、オブジェクトの周辺の基準点Ａ〜Ｈが分析されて、オブジェクトが面外に動いているか否かが、そして動いている場合は、どの方向であるか（カメラに近づいているかまたはカメラから遠ざかっているか）のフラグが立てられる。オブジェクトが面外に動いていると見なされた場合は、オブジェクトの内部の基準点Ｉ〜Ｏを用いてオブジェクトがどれだけ動いたかが判断される。
【００３０】
したがって、ある実施形態では、周辺基準点Ａ〜Ｈが分析されて面内運動（たとえば、周辺基準点の一部が正の発散を示しているのに対して、他の周辺基準点は負の発散を示しているか否か）が認識される。面内の動きが認識された場合は、カメラレンズの位置を変えなくてもよい。同様に、周辺基準点Ａ〜Ｈも分析されて、面外の動きが認識されるだけでなく、面外の動きの方向（たとえば、すべてのそのような基準点が正の発散の動きがカメラに向かっていることを示しているか否か、反対に、すべてのそのような基準点が負の発散の動きがカメラから離れていることを示しているか否か）も認識される。
【００３１】
対照的に、図８および図９に観察されるように、内部の基準点Ｉ〜Ｏは、オブジェクトがどれだけカメラに近づいたかまたはどれだけカメラから遠ざかったかを求める三角測量法を補助するために用いられ得る。図８は、図２ａから図２ｃのシーケンス中にオブジェクトがどれだけカメラに近づいたかを求めるための三角測量を示すのに対して、図９は、図４ａから図４ｃのシーケンス中にオブジェクトがどれだけカメラから遠ざかったかを求めるための三角測量を示す。
【００３２】
ここで、図８は、オブジェクトが図２ａに現われるときの基準点Ａ〜Ｈについての第１の三角測量８０１と、オブジェクトが図２ｂに現われるときの基準点Ａ〜Ｈについての第２の三角測量８０２と、オブジェクトが図２ｃに現われるときの基準点Ａ〜Ｈについての第３の三角測量８０３とを示す。
【００３３】
図８を参照して、基準点Ａ〜Ｈの異なる点同士が非交差線によって接続されて、それぞれの三角形辺を有する複数の三角形を作成する。具体的には、図８の各三角測量８０１、８０２、８０３には１２本の三角形辺が観察される（ＩＪ、ＩＫ、ＪＫ、ＪＬ、ＫＬ、ＪＭ、ＫＯ、ＬＭ、ＬＮ、ＬＯ、ＭＮ、ＮＯ）。オブジェクトがカメラに近づくにつれて、三角形辺の各々の長さが増加する。したがって、三角形辺の長さをカメラからのオブジェクトの距離と相関させることができる。三角形辺が大きいほどカメラに近づいていることに対応し、三角形辺が短いほどカメラから遠ざかっていることに対応する。
【００３４】
ここで、三角形辺の長さの変化を、オブジェクトがカメラに近づいた／カメラから遠ざかった距離と正確に相関させるために、カメラの光学設計の多少の知識（たとえば、カメラレンズの倍率、カメラレンズの焦点距離など）が必要な場合がある。当業者は、一例として、たとえばすべての三角形辺全体にわたる三角形辺の長さの平均変化率を入力値として受付け、オブジェクトがカメラに近づいた／カメラから遠ざかった距離を出力値として提供する数式を容易に展開することができる。
【００３５】
したがって、焦点が合っていることが分かっているオブジェクトから開始して、当該オブジェクトがカメラに近づくと、三角形辺の増加した長さを正確に求めて、当該オブジェクトがカメラに向かう方向に動いた正確な距離と相関させることができる。次にこの距離を用いて、カメラレンズがオブジェクトに焦点を合わせ続けるための新たな位置を求めることができる。
【００３６】
すなわち、自動フォーカスルーチンは、たとえばカメラ内部のレンズの位置を調整して、オブジェクトに焦点を合わせ続けるようにカメラの焦点長を有効に変更することができる。ここで、三角形辺の長さの変化からオブジェクト距離移動を提供する上述の数式をさらに展開して、増加した三角形辺の長さの変化から、適切なレンズの動きを提供して、焦点長距離を減少させることができる。
【００３７】
同様に、図９は、オブジェクトが図４ａに現われるときの基準点Ａ〜Ｈについての第１の三角測量９０１と、オブジェクトが図４ｂに現われるときの基準点Ａ〜Ｈについての第２の三角測量９０２と、オブジェクトが図４ｃに現われるときの基準点Ａ〜Ｈについての第３の三角測量９０３とを示す。
【００３８】
ここで、焦点が合っていることが分かっているオブジェクトから開始して、当該オブジェクトがカメラから遠ざかると、三角形辺の減少した長さを正確に求めて、当該オブジェクトがカメラから遠ざかる方向に動いた正確な距離と相関させることができる。次にこの距離を用いて、カメラレンズがオブジェクトに焦点を合わせ続けるための新たな位置を求めることができる。
【００３９】
三角測量計算によって、オブジェクトが中心軸に沿ってカメラから少し遠ざかったと判断されると、オートフォーカスルーチンは、オブジェクトに焦点を合わせ続けるためにレンズの位置を一定の方向に一定量だけ変更しなければならないと理解する。そして、自動フォーカスルーチンは、たとえばカメラ内部のレンズの位置をそれに応じて調整することができる。ここで、三角形辺の長さの変化からオブジェクト距離移動を提供する上述の数式をさらに展開して、減少した三角形辺の長さの変化から、適切なレンズまでの適切なレンズの動きを提供して、平面距離を撮像することができる。
【００４０】
図１０ａは、上述のようなカメラのためのオートフォーカス方法を示す。当該方法は、オブジェクトの一組の特徴を識別すること１００１を含み、当該特徴はカメラが捕捉する画像内に追跡される。当該方法はさらに、基準点のベクトルの場を作成すること１００２を含み、当該ベクトルは、画像の２つ以上のフレームにわたる基準点の位置の変化の大きさおよび方向を示す。当該方法はさらに、ベクトルの同一の放射状の向きから、オブジェクトの面外の動きの存在を識別すること１００３を含む。当該方法はさらに、複数の基準点同士の間の距離の変化から、オブジェクトがカメラに近づいた／カメラから遠ざかった量を求めること１００４を含む。当該方法はさらに、カメラの焦点をオブジェクトに合わせ続けるように、オブジェクトが近づいた／遠ざかった量に鑑みてカメラのレンズの位置を調整すること１００５を含む。
【００４１】
上述のオプティカルフローベースのオートフォーカス方法はいずれも、処理インテリジェンスがカメラ自体と統合されている（たとえば、レンズ、光検出器等とともにカメラパッケージ内に、または単にカメラパッケージの外部に統合されている）「スマートカメラ」によって部分的にまたは完全に行なわれてもよい。たとえば、カメラは統合されたプロセッサおよびメモリを含んでもよい。当該メモリはプログラムコード命令を格納しており、当該命令は当該プロセッサによって実行されて、直前に述べたオプティカルフローベースのオートフォーカス技法のいずれかを行なう。あるいは、または組合わされて、当該オートフォーカス技法を、配線接続され得るおよび／またはプログラム可能であり得る専用のカスタム（たとえばロジック）回路を用いて実装および／または強化してもよい。そのような回路もまた、カメラ自体と（たとえばカメラパッケージの内部に）統合されてもよい。さらに他の実施形態では、オプティカルフローベースの自動技法、またはその任意の一部は、コンピューティングシステムのメインメモリまたはシステムメモリから動作するメインＣＰＵまたはアプリケーションプロセッサによって行なわれてもよい。
【００４２】
図１０ｂは、図１０ａの方法を行なうことができるスマートカメラの実施形態を示す。図１０ｂに観察されるように、カメラ１０２０はプロセッサ１０２１およびメモリ１０２２を含む。図１０ａのルーチンのようなオートフォーカスルーチン用のプログラムコードは、メモリ１０２２に格納されてプロセッサ１０２１によって実行される。プロセッサ１０２１は画像センサ１０２３に結合される。画像センサ１０２３は、カメラ１０２０が観察しているコンテンツを当該プロセッサが処理できるようにする。プロセッサ１０２１は、焦点を調整するモータ１０２５にも結合される。焦点はモータを用いて調整することができる。当該モータは、画像センサ１０２３に対する焦点レンズの位置を変更したり、カメラレンズと画像センサ１０２３との間に位置決めされた１つまたは複数のミラーを動かしたりする。図１０ａの方法の実行において、たとえば、プロセッサ１０２１は画像センサ１０２３が検知する画像を処理し、それに応答して、モータ１０２５に入力刺激を与えて、オートフォーカスルーチンに従ってレンズ１０２４および画像センサ１０２３の焦点長を変更する。他のカメラの実施形態は２つ以上のレンズを含んでもよい。
【００４３】
図１１は、コンピューティングシステムの例示的な描写を提供する。以下に説明するコンピューティングシステムのコンポーネントの多くは、統合されたカメラおよび関連付けられた画像センサ（たとえばスマートフォンまたはタブレットコンピュータなどのハンドヘルドデバイス）を有するコンピューティングシステムに適用可能である。当業者であれば容易にこれら２つの間に境界を引くことができるであろう。
【００４４】
図１１に観察されるように、基本的なコンピューティングシステムは、中央処理装置１１０１（たとえば、マルチコアプロセッサまたはアプリケーションプロセッサ上に配置される複数の汎用処理コア１１１５＿１から１１１５＿Ｎおよびメインメモリコントローラ１１１７を含んでもよい）と、システムメモリ１１０２と、ディスプレイ１１０３（たとえばタッチスクリーン、フラットパネル）と、ローカル配線されたポイントツーポイントリンク（たとえばＵＳＢ）インターフェイス１１０４と、さまざまなネットワークＩ／Ｏ機能１１０５（イーサネット（登録商標）インターフェイスおよび／またはセルラーモデムサブシステムなど）と、無線ローカルエリアネットワーク（たとえばＷｉＦｉ）インターフェイス１１０６と、無線ポイントツーポイントリンク（たとえばブルートゥース（登録商標））インターフェイス１１０７と、全地球測位システムインターフェイス１１０８と、さまざまなセンサ１１０９＿１から１１０９＿Ｎと、１つ以上のカメラ１１１０と、バッテリ１１１１と、電源管理制御ユニット１１１２と、スピーカおよびマイクロフォン１１１３と、音声コーダ／デコーダ１１１４とを含んでもよい。
【００４５】
アプリケーションプロセッサまたはマルチコアプロセッサ１１５０は、そのＣＰＵ１１０１内の１つ以上の汎用処理コア１１１５と、１つ以上のグラフィック処理ユニット１１１６と、メモリ管理機能１１１７（たとえばメモリコントローラ）と、Ｉ／Ｏ制御機能（上述の周辺制御ハブなど）１１１８とを含んでもよい。汎用処理コア１１１５は典型的に、コンピューティングシステムのオペレーティングシステムおよびアプリケーションソフトウェアを実行する。グラフィック処理ユニット１１１６は典型的に、たとえばディスプレイ１１０３上に提示されるグラフィック情報を生成するためのグラフィック集約機能を実行する。メモリ制御機能１１１７はシステムメモリ１１０２とインターフェイスして、システムメモリ１１０２にデータを書込む／システムメモリ１１０２からデータを読出す。電源管理制御ユニット１１１２はシステム１１００の電力消費を全体的に制御する。
【００４６】
タッチスクリーンディスプレイ１１０３、通信インターフェイス１１０４〜１１０７、ＧＰＳインターフェイス１１０８、センサ１１０９、カメラ１１１０、およびスピーカ／マイクロフォンコーデック１１１３、１１１４の各々はすべて、適切な場合には、統合された周辺装置（たとえば１つ以上のカメラ１１１０）も含む全体のコンピューティングシステムに対するさまざまな形態のＩ／Ｏ（入力および／または出力）と見なすことができる。実装によっては、これらＩ／Ｏコンポーネントのうちのさまざまなコンポーネントはアプリケーションプロセッサ／マルチコアプロセッサ１１５０上に統合されてもよいし、ダイから外れて、またはアプリケーションプロセッサ／マルチコアプロセッサ１１５０のパッケージの外部に配置されてもよい。
【００４７】
ある実施形態では、カメラ１１１０は上記に詳述したようなオプティカルフローベースのオートフォーカス技術を用いる。
【００４８】
本発明の実施形態は、上述のようなさまざまな処理を含んでもよい。当該処理は機械実行可能命令において具現化されてもよい。当該命令を用いて、汎用または専用プロセッサに一定の処理を行なわせることができる。あるいは、これらの処理は、当該処理を行なうためのハードワイヤードロジックを含む特定のハードウェアコンポーネントによって、またはプログラムされたコンピュータコンポーネントとカスタムハードウェアコンポーネントとの任意の組合わせによって行なわれてもよい。
【００４９】
本発明の要素は、機械実行可能命令を格納するための機械可読媒体として提供されてもよい。機械可読媒体は、フロッピー（登録商標）ディスケット、光ディスク、ＣＤ−ＲＯＭ、および光磁気ディスク、フラッシュメモリ、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カードもしくは光学カード、伝搬媒体、または電子命令を格納するのに好適な他の種類の媒体／機械可読媒体を含み得るが、これらに限定されない。たとえば、本発明はコンピュータプログラムとしてダウンロードされてもよく、当該コンピュータプログラムは、通信リンク（たとえばモデムまたはネットワーク接続）を介した搬送波または他の伝搬媒体において具現化されるデータ信号によってリモートコンピュータ（たとえばサーバ）から要求側のコンピュータ（たとえばクライアント）に転送されてもよい。
【００５０】
上述の明細書では、本発明を特定の例示的な実施形態を参照して説明した。しかし、添付の特許請求の範囲に記載されるような本発明のより広範な精神および範囲から逸脱することなく本発明にさまざまな修正および変更を行なうことが可能であることは明らかである。したがって、本明細書および図面は、限定的なものではなく例示的なものであると認識されるべきである。
【図１】
2019518370.tif 000003
【図２ａ】
2019518370.tif 000004
【図２ｂ】
2019518370.tif 000005
【図２ｃ】
2019518370.tif 000006
【図３ａ】
2019518370.tif 000007
【図３ｂ】
2019518370.tif 000008
【図４ａ】
2019518370.tif 000009
【図４ｂ】
2019518370.tif 000010
【図４ｃ】
2019518370.tif 000011
【図５ａ】
2019518370.tif 000012
【図５ｂ】
2019518370.tif 000013
【図６】
2019518370.tif 000014
【図７】
2019518370.tif 000015
【図８】
2019518370.tif 000016
【図９】
2019518370.tif 000017
【図１０ａ】
2019518370.tif 000018
【図１０ｂ】
2019518370.tif 000019
【図１１】
2019518370.tif 000020
【国際調査報告】
2019518370.tif 000021
2019518370.tif 000022
2019518370.tif 000023