IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

特許7090031オプティカルフローベースのオートフォーカス
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-15
(45)【発行日】2022-06-23
(54)【発明の名称】オプティカルフローベースのオートフォーカス
(51)【国際特許分類】
   H04N 5/232 20060101AFI20220616BHJP
   G02B 7/28 20210101ALI20220616BHJP
   G03B 13/36 20210101ALI20220616BHJP
【FI】
H04N5/232 127
G02B7/28 N
G03B13/36
【請求項の数】 10
(21)【出願番号】P 2018556461
(86)(22)【出願日】2016-12-09
(65)【公表番号】
(43)【公表日】2019-06-27
(86)【国際出願番号】 US2016065882
(87)【国際公開番号】W WO2017209789
(87)【国際公開日】2017-12-07
【審査請求日】2019-06-12
(31)【優先権主張番号】15/173,306
(32)【優先日】2016-06-03
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】カーデイ,ブラッド・シィ
(72)【発明者】
【氏名】ヤツネンコ,アンドレイ
(72)【発明者】
【氏名】チャン,エドワード
【審査官】大西 宏
(56)【参考文献】
【文献】国際公開第2007/060794(WO,A1)
【文献】特開2010-282340(JP,A)
【文献】特開2006-025314(JP,A)
【文献】特開2004-205982(JP,A)
【文献】特開2009-031760(JP,A)
【文献】特開平01-194684(JP,A)
【文献】特開平02-205810(JP,A)
【文献】米国特許出願公開第2014/0253785(US,A1)
【文献】米国特許出願公開第2015/0116471(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 5/222- 5/257
G02B 7/28 - 7/40
G03B 3/00 - 3/12
G03B 13/30 -13/36
G03B 21/53
(57)【特許請求の範囲】
【請求項1】
コンピュータによって実現される方法であって、
オブジェクトの一組の基準点を識別することを備え、前記基準点はカメラが捕捉する画像内に追跡され、前記方法はさらに、
前記オブジェクトの外周上の前記基準点のベクトルの場を作成することを備え、前記ベクトルは、前記画像の2つ以上のフレームにわたる前記基準点の位置の変化の大きさおよび方向を示し、前記方法はさらに、
前記ベクトルの同一の放射状の向きから、前記基準点の面外の動きの存在を識別することと、
複数の前記基準点同士の間の距離の変化から、前記基準点が前記カメラに近づいた/前記カメラから遠ざかった量を求めることと、
前記カメラの焦点を前記オブジェクトに合わせ続けるように、前記オブジェクトの基準点が近づいた/遠ざかった前記量に鑑みて前記カメラの焦点を調整することとを備え、
前記基準点が前記カメラに近づいた/前記カメラから遠ざかった量を求めることは、前記オブジェクトの外周の内部に位置する複数の前記基準点から形成される複数の三角形の辺の変化を測定し、前記複数の三角形の各辺の変化率の平均に基づいて、前記基準点が前記カメラに近づいた/前記カメラから遠ざかった量を算出することを含む、方法。
【請求項2】
前記放射状の向きは外向きであり、前記面外の動きは前記カメラに向かう、請求項1に記載の方法。
【請求項3】
前記放射状の向きは内向きであり、前記面外の動きは前記カメラから離れる、請求項1に記載の方法。
【請求項4】
前記方法はさらに、前記オブジェクトの輪郭上に前記ベクトルの正味の発散がないことから、前記オブジェクトの面内の動きを認識することを備える、請求項1~のいずれか1項に記載の方法。
【請求項5】
プロセッサによって実行されると、前記プロセッサに、請求項1~のいずれか1項に記載の方法を実施させる、プログラム。
【請求項6】
装置であって、
画像センサと、
前記画像センサと関連付けられた少なくとも1つのレンズを含むレンズアセンブリと、
前記レンズアセンブリに結合されたモータと、
前記モータに結合されたプロセッサと、
前記プロセッサに結合されたメモリとを備え、前記メモリは前記プロセッサが実行するプログラムコード命令を格納し、前記プログラムコード命令が前記プロセッサによって実行されると方法が行なわれ、前記方法では、前記レンズアセンブリによる前記画像センサ上への焦点が前記方法の制御下で前記モータの動作によって調整され、前記方法は、
オブジェクトの一組の基準点を識別することを備え、前記基準点は前記画像センサが捕捉する画像内に追跡され、前記方法はさらに、
前記オブジェクトの外周上の前記基準点のベクトルの場を作成することを備え、前記ベクトルは、前記画像の2つ以上のフレームにわたる前記基準点の位置の変化の大きさおよび方向を示し、前記方法はさらに、
前記ベクトルの同一の放射状の向きから、前記オブジェクトの基準点の面外の動きの存在を識別することと、
複数の前記基準点同士の間の距離の変化から、前記オブジェクトの基準点が前記レンズアセンブリに近づいた/前記レンズアセンブリから遠ざかった量を求めることと、
前記モータを駆動して、前記オブジェクトの基準点が近づいた/遠ざかった前記量に鑑みて前記焦点を調整することとを備え、
前記オブジェクトの基準点が前記レンズアセンブリに近づいた/前記レンズアセンブリから遠ざかった量を求めることは、前記オブジェクトの外周の内部に位置する複数の前記基準点から形成される複数の三角形の辺の変化を測定し、前記複数の三角形の各辺の変化率の平均に基づいて、前記オブジェクトの基準点が前記レンズアセンブリに近づいた/前記レンズアセンブリから遠ざかった量を求めることを含む、装置。
【請求項7】
前記放射状の向きは外向きであり、前記面外の動きは前記レンズアセンブリに向かう、請求項に記載の装置。
【請求項8】
前記放射状の向きは内向きであり、前記面外の動きは前記レンズアセンブリから離れる、請求項に記載の装置。
【請求項9】
前記方法はさらに、前記オブジェクトの輪郭上に前記ベクトルの正味の発散がないことから、前記オブジェクトの面内の動きを認識することを備える、請求項のいずれか1項に記載の装置。
【請求項10】
前記レンズアセンブリは焦点レンズを含み、前記モータは前記焦点レンズを動かして前記焦点を調整する、請求項のいずれか1項に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
発明の分野
本願は、2016年6月3日に出願された米国非仮出願番号第15/173,306号に対する優先権を特許協力条約(PCT)第8条に従い主張し、当該非仮出願の内容を本明細書に引用により援用する。
【0002】
発明の分野
本発明の分野は概してデジタルカメラ技術に関し、より具体的にはオプティカルフローベースのオートフォーカス技術に関する。
【背景技術】
【0003】
背景
高性能の処理インテリジェンスをさまざまな電子デバイスに統合する実装コストの低下に伴って、設計者は、統合されたプロセッサおよびカメラとともに実装されることが想定され得る新たな画像処理パラダイムに注目している。具体的には、いくらかの計算集約度を有するが、同時に、たとえばカメラと統合され得るある程度強力なプロセッサによって実行されることが想定され得る新たな技法が特に関心を集めている。
【発明の概要】
【課題を解決するための手段】
【0004】
概要
画像内のまたは撮像されたシーン内の、オブジェクトのまたはオブジェクト上の、一組の特徴を、換言すれば基準点を識別することを含む方法が記載される。オブジェクトは同様に画像またはシーンの被写体と称され得る。特徴または基準点は、カメラが捕捉する画像内に、すなわち画像の一連のフレーム内に追跡される。
【0005】
当該方法はさらに、基準点のベクトルの場を作成することを含む。ベクトルは、一連の画像フレームの2つ以上のフレームにわたる基準点の位置の変化の大きさおよび方向を示す。当該方法はさらに、ベクトルの同一の放射状の向きから、オブジェクトまたはシーンの特徴または基準点の面外の動きの存在を識別することを含む。当該方法はさらに、複数の基準点同士の間の距離の変化から、オブジェクトまたはシーンの特徴または基準点がカメラに近づいた/カメラから遠ざかった量を求めることを含む。当該方法はさらに、カメラの焦点をオブジェクトまたはシーンに合わせ続けるように、オブジェクトまたはシーンの特徴または基準点が近づいた/遠ざかった量に鑑みてカメラのレンズの位置を調整することを含む。
【0006】
オブジェクトまたはシーンの一組の特徴または基準点を識別するための手段を含む装置が開示され、特徴は、カメラが捕捉する画像内に(すなわち、一連の画像フレーム内に)追跡される。当該装置はさらに、基準点のベクトルの場を作成するための手段を含む。ベクトルは、画像の2つ以上のフレームにわたる基準点の位置の変化の大きさおよび方向を示す。当該装置はさらに、ベクトルの同一の放射状の向きから、オブジェクトの特徴の面外の動きの存在を識別するための手段を含む。当該装置はさらに、複数の基準点同士の間の距離の変化から、オブジェクトの特徴がカメラに近づいた/カメラから遠ざかった量を求めるための手段を含む。当該装置はさらに、カメラの焦点をオブジェクトに合わせ続けるように、オブジェクトの特徴が近づいた/遠ざかった量に鑑みてカメラのレンズの位置を調整するための手段を含む。このような装置は、カメラもしくはカメラの好適な部品、またはスマートフォンもしくはタブレットコンピュータなどのカメラを含む装置によって提供されてもよい。
【0007】
経時的に画像の特徴を追跡するために用いられる一連の画像フレームのフレームは連続していてもよいが、当然のことながら、すべての利用可能なフレームをこの追跡処理のために用いる必要はない。当該処理はしたがって、たとえば毎秒画像フレームまたは任意に選択されたその後の画像フレームなど、撮像されたオブジェクトまたはシーンの時間の進行を表わす任意の一連の画像フレームを用いてもよい。
【0008】
以下の説明および添付の図面を用いて本発明の実施形態を説明する。
【図面の簡単な説明】
【0009】
図1】画像フレーム内のオブジェクトを示す図である。
図2a】カメラに近づいているオブジェクトを示す図である。
図2b】カメラに近づいているオブジェクトを示す図である。
図2c】カメラに近づいているオブジェクトを示す図である。
図3a図2aから図2cに示した動きからのベクトル場を示す図である。
図3b図2aから図2cに示した動きからのベクトル場を示す図である。
図4a】カメラから遠ざかっているオブジェクトを示す図である。
図4b】カメラから遠ざかっているオブジェクトを示す図である。
図4c】カメラから遠ざかっているオブジェクトを示す図である。
図5a図4aから図4cに示した動きからのベクトル場を示す図である。
図5b図4aから図4cに示した動きからのベクトル場を示す図である。
図6】オブジェクトの横運動を示す図である。
図7図6のオブジェクトの動きからのベクトル場を示す図である。
図8】カメラに近づいているオブジェクトの基準点の三角測量を示す図である。
図9】カメラから遠ざかっているオブジェクトの基準の三角測量を示す図である。
図10a】オプティカルフローベースのオートフォーカス方法を示す図である。
図10b図10aの方法を実行可能な装置を示す図である。
図11】コンピューティングシステムの実施形態を示す図である。
【発明を実施するための形態】
【0010】
詳細な説明
オプティカルフローは、背景に対して画像内に認識されたオブジェクトの動きを認識する撮像処理である。オブジェクトを画像の背景と対比することができるため、オブジェクトの動きを追従または追跡することができる。しかし従来は、オプティカルフロー処理は検出した運動から深度を理解することに専ら向けられていた。すなわち、たとえば、オプティカルフロー法によるオブジェクトの追跡は、オブジェクトの運動から三次元(3D)シーンを再構築するために用いられていた。
【0011】
オプティカルフロー処理方法は、追跡したオブジェクトの運動から深度を理解することに主に適用されてきたため、オプティカルフロー法をオートフォーカスに適用することはこれまで知られていない。オートフォーカスは、当該技術において知られているように、オブジェクトとカメラの間の距離が変化したためにカメラレンズを動かしてオブジェクトに焦点を合わせ続けることを伴う。
【0012】
したがって、本願は、オプティカルフロー技術を用いて、カメラレンズに近づいているかまたはカメラレンズから遠ざかっているオブジェクトの運動を追跡することに向けられる。そのような「面外」運動を追跡することによって、オブジェクトとカメラレンズの間の距離の変化をある程度の精度で求めることができ、ひいてはカメラレンズ位置の調整を行なってオブジェクトに焦点を合わせ続けることができる。
【0013】
図1は、背景102に対する人の顔101の描写を示す。ここで、人の顔101は追跡されているオブジェクトに対応する。オブジェクト認識処理は当該技術において一般に知られており、任意の好適なオブジェクト認識処理を用いて背景102に対して人の顔101を認識してもよい。背景102の領域は一般に、カメラが捕捉中の全体画像のフレームのサイズに対応し得る。オブジェクト101が認識されると、または単に一定の特徴(たとえば目、鼻、口など)が認識されると(人の顔などの大きいオブジェクトが認識されなくても)、オブジェクトの基準点/特徴も同様に容易に識別され得る。ここで、図1は、オブジェクトの周囲(人の頭の輪郭を一周する)に識別された基準点A~Hと、オブジェクトの内部(たとえば目、鼻、口角など)に識別された基準点I~Oとの双方を含む、複数の基準点A~Oを示す。ここでも、特定の人の顔を全体として認識することなく(すなわち、特定のオブジェクトを全体として認識することなく)、任意の人の顔の具体的な特徴(目、鼻、口角など)を認識するだけで基準点A~Oを識別することができる。
【0014】
図2aから図2cは、人の顔がカメラに近づくときの基準点A~Oの相対位置の変化のシーケンスを示す。たとえば、図2aから図2cの各々は、異なる瞬間にカメラが捕捉した異なる画像フレームに対応し得る。当該フレームは直接連続していてもよいし、当該フレーム同士の間に介在するフレームが存在していてもよい。
【0015】
図2aは、カメラレンズから一番遠い顔の初期位置に対応する。図2bは、カメラレンズに近づいた後の顔を示す。図2cは、図2bの顔の位置からカメラレンズにさらに近づいた後の顔を示す。一般に、基準点A~Oの相対位置は、基準点が顔の中心軸(基準点Lをほぼ通る)から放射状に外に向かう際に「エクスプロージョン(explosion)」と特徴付けられ得る。
【0016】
図3aおよび図3bは、図2aから図2cのシーケンスからの基準点のベクトル場を示す。ベクトルは、当該技術において理解されているように、大きさおよび方向の双方を示す。図3aのベクトル場は、顔が図2aの位置から図2bの位置に動いたときの対応する各基準点の位置の変化の大きさおよび方向を示す。同様に、図3bのベクトル場は、顔が図2bの位置から図2cの位置に動いたときの対応する各基準点の位置の変化の大きさおよび方向を示す。
【0017】
換言すれば、図3aは、オブジェクトが図2aの位置から図2bの位置に動いたときの基準点の発散を示す。同様に、図3bは、オブジェクトが図2bの位置から図2cの位置に動いたときの基準点の発散を示す。オブジェクトがレンズに近づいた結果としてベクトルが放射状に外向きであるときの発散は、正の発散と特徴付けられ得る。
【0018】
図3aおよび図3bのベクトル図から理解できるように、オブジェクトの中心から遠ざかる放射状の動きによって例示されるようにオブジェクトの基準点が外向きにエクスプロージョンする場合は、カメラに近づく運動が識別され得る。すなわち、基準点のベクトルは概して放射状に外向きである。エクスプロージョンとの類似性と一致して、オブジェクトの周辺の(人の頭の周囲の)基準点A~Hはオブジェクトの内部の基準点I~Oよりも大きい放射状運動を示す。
【0019】
すなわち、人の頭の周囲の基準点A~Hのベクトルの大きさは、人の頭の周囲の内部の基準点I~Oのベクトルの大きさよりも大きい。一般に、ベクトルの大きさはオブジェクトの中心軸から外に向かうにつれて大きくなる。したがって、最大の正の発散を示すベクトルは本質的に、カメラに近づいているオブジェクトの周辺を識別する。
【0020】
対照的に、図4aから図4cは、人の顔がカメラから遠ざかるときの基準点の相対位置の変化のシーケンスを示す。図4aは、図2cに示すような顔の初期位置に対応する。図4bは、カメラレンズから遠ざかった後の顔を示す。図4cは、図4bの顔の位置からカメラレンズからさらに遠ざかった後の顔を示す。一般に、基準点の相対位置は、基準点が人の顔の中心軸に放射状に内向きに近づく際に「インプロージョン(implosion)」と特徴付けられ得る。
【0021】
図5aおよび図5bは、図4aから図4cのシーケンスからの基準点A~Oのベクトル場を示す。図5aのベクトル場は、顔が図4aの位置から図4bの位置に動いたときの対応する各基準点A~Oの位置の変化の大きさおよび方向を示す。同様に、図5bのベクトル場は、顔が図4bの位置から図4cの位置に動いたときの対応する各基準点A~Oの位置の変化の大きさおよび方向を示す。
【0022】
したがって、図5aは、オブジェクトが図4aの位置から図4bの位置に動いたときの基準点の発散を示す。同様に、図5bは、オブジェクトが図4bの位置から図4cの位置に動いたときの基準点の発散を示す。オブジェクトがカメラレンズから遠ざかった結果としてベクトルが内向きであるときの発散は、負の発散と特徴付けられ得る。
【0023】
図5aおよび図5bのベクトル図から理解できるように、オブジェクトの中心に向かう放射状の動きによって例示されるようにオブジェクトの基準点が内向きにインプロージョンする場合は、カメラから遠ざかる運動が識別され得る。すなわち、基準点A~Oのベクトルは概して放射状に内向きである。インプロージョンとの類似性と一致して、オブジェクトの周辺の(人の頭の周囲の)基準点A~Hはオブジェクトの内部の基準点よりも大きい動きを示す。
【0024】
すなわち、人の頭の周囲の基準点A~Hのベクトルの大きさは、人の頭の周囲の内部の基準点I~Oのベクトルの大きさよりも大きい。ここでも、一般に、ベクトルの大きさはオブジェクトの中心軸から外に向かうにつれて大きくなり、ベクトルのファミリー(すなわち、最大の大きさのベクトル)の最大の発散はオブジェクトの周辺に見つけられる。したがって、最大の負の発散を示すベクトルは本質的に、カメラから遠ざかっているオブジェクトの周辺を識別する。
【0025】
対比の点として、図6および図7はオブジェクトの面内運動に関連する。ここで、図6は、オブジェクトが画像フレームを横切って左から右に横に動くときの水平軸に沿った3つの異なる位置におけるオブジェクトを示す。図7は、基準点の対応するベクトルを示す。ベクトル場701はオブジェクトが最も左の位置から中心位置に動くときのオブジェクトのベクトル場を示し、ベクトル場702はオブジェクトが中心位置から最も右の位置に動くときのオブジェクトのベクトル場を示す。なお、すべてのベクトルは、外向きにエクスプロージョンするかまたは内向きにインプロージョンするのではなく、同一方向における同一量の位置変化を反映している。さらに、(たとえば基準点B、C、Dの)オブジェクトの運動の前縁のベクトルは正の発散を示すのに対して、(たとえば基準点H、G、Fの)オブジェクトの運動の後縁のベクトルは負の発散を示す。
【0026】
したがって、経時的な基準点のそれぞれの位置における発散を反映する経時的な基準点のベクトルを計算し、当該ベクトル内の一定の特徴を全体として認識することによって、オブジェクトの面内運動をオブジェクトの面外運動と区別することができる。より具体的には、あるオブジェクトのベクトルのファミリーが実質的に同一方向を向いている場合は、当該オブジェクトは面内に動いており、オートフォーカス機能はレンズ位置調整をまったく行なう必要がない(オブジェクトはカメラレンズに近づいていないかまたはカメラレンズから遠ざかっていない)。
【0027】
対照的に、あるオブジェクトのベクトルのファミリーが実質的に放射状に外向きである場合は、当該オブジェクトは面外に動いてカメラに近づいており、オートフォーカス機能は、カメラに近づいたオブジェクトに焦点を合わせるようにカメラレンズを調整しなければならない。あるいは、あるオブジェクトのベクトルのファミリーが実質的に放射状に内向きである場合は、当該オブジェクトは面外に動いてカメラから遠ざかっており、オートフォーカス機能は、カメラから遠ざかったオブジェクトに焦点を合わせるようにカメラレンズを調整しなければならない。
【0028】
あるオブジェクトの基準点の動きのベクトル追跡によって、当該オブジェクトが面外に動いていることが判明すると、オブジェクトに焦点を合わせ続ける新たなレンズ位置を求めることができるように、オブジェクトがどれだけ面外に動いたかをさらなる処理によって求めなければならない。上記から、最大の発散を示すベクトルのファミリーは一般に、オブジェクトが面外に動くときにオブジェクトの周辺の輪郭を描くことを想起されたい。ある実施形態では、オブジェクトの周辺の内部の基準点とともに三角測量を使用して、オブジェクトがどれだけ面外に動いたかを求める。
【0029】
すなわち、ある実施形態では、異なる目的には異なる基準点を用いる。具体的には、オブジェクトの周辺の基準点A~Hが分析されて、オブジェクトが面外に動いているか否かが、そして動いている場合は、どの方向であるか(カメラに近づいているかまたはカメラから遠ざかっているか)のフラグが立てられる。オブジェクトが面外に動いていると見なされた場合は、オブジェクトの内部の基準点I~Oを用いてオブジェクトがどれだけ動いたかが判断される。
【0030】
したがって、ある実施形態では、周辺基準点A~Hが分析されて面内運動(たとえば、周辺基準点の一部が正の発散を示しているのに対して、他の周辺基準点は負の発散を示しているか否か)が認識される。面内の動きが認識された場合は、カメラレンズの位置を変えなくてもよい。同様に、周辺基準点A~Hも分析されて、面外の動きが認識されるだけでなく、面外の動きの方向(たとえば、すべてのそのような基準点が正の発散の動きがカメラに向かっていることを示しているか否か、反対に、すべてのそのような基準点が負の発散の動きがカメラから離れていることを示しているか否か)も認識される。
【0031】
対照的に、図8および図9に観察されるように、内部の基準点I~Oは、オブジェクトがどれだけカメラに近づいたかまたはどれだけカメラから遠ざかったかを求める三角測量法を補助するために用いられ得る。図8は、図2aから図2cのシーケンス中にオブジェクトがどれだけカメラに近づいたかを求めるための三角測量を示すのに対して、図9は、図4aから図4cのシーケンス中にオブジェクトがどれだけカメラから遠ざかったかを求めるための三角測量を示す。
【0032】
ここで、図8は、オブジェクトが図2aに現われるときの基準点A~Hについての第1の三角測量801と、オブジェクトが図2bに現われるときの基準点A~Hについての第2の三角測量802と、オブジェクトが図2cに現われるときの基準点A~Hについての第3の三角測量803とを示す。
【0033】
図8を参照して、基準点A~Hの異なる点同士が非交差線によって接続されて、それぞれの三角形辺を有する複数の三角形を作成する。具体的には、図8の各三角測量801、802、803には12本の三角形辺が観察される(IJ、IK、JK、JL、KL、JM、KO、LM、LN、LO、MN、NO)。オブジェクトがカメラに近づくにつれて、三角形辺の各々の長さが増加する。したがって、三角形辺の長さをカメラからのオブジェクトの距離と相関させることができる。三角形辺が大きいほどカメラに近づいていることに対応し、三角形辺が短いほどカメラから遠ざかっていることに対応する。
【0034】
ここで、三角形辺の長さの変化を、オブジェクトがカメラに近づいた/カメラから遠ざかった距離と正確に相関させるために、カメラの光学設計の多少の知識(たとえば、カメラレンズの倍率、カメラレンズの焦点距離など)が必要な場合がある。当業者は、一例として、たとえばすべての三角形辺全体にわたる三角形辺の長さの平均変化率を入力値として受付け、オブジェクトがカメラに近づいた/カメラから遠ざかった距離を出力値として提供する数式を容易に展開することができる。
【0035】
したがって、焦点が合っていることが分かっているオブジェクトから開始して、当該オブジェクトがカメラに近づくと、三角形辺の増加した長さを正確に求めて、当該オブジェクトがカメラに向かう方向に動いた正確な距離と相関させることができる。次にこの距離を用いて、カメラレンズがオブジェクトに焦点を合わせ続けるための新たな位置を求めることができる。
【0036】
すなわち、自動フォーカスルーチンは、たとえばカメラ内部のレンズの位置を調整して、オブジェクトに焦点を合わせ続けるようにカメラの焦点長を有効に変更することができる。ここで、三角形辺の長さの変化からオブジェクト距離移動を提供する上述の数式をさらに展開して、増加した三角形辺の長さの変化から、適切なレンズの動きを提供して、焦点長距離を減少させることができる。
【0037】
同様に、図9は、オブジェクトが図4aに現われるときの基準点A~Hについての第1の三角測量901と、オブジェクトが図4bに現われるときの基準点A~Hについての第2の三角測量902と、オブジェクトが図4cに現われるときの基準点A~Hについての第3の三角測量903とを示す。
【0038】
ここで、焦点が合っていることが分かっているオブジェクトから開始して、当該オブジェクトがカメラから遠ざかると、三角形辺の減少した長さを正確に求めて、当該オブジェクトがカメラから遠ざかる方向に動いた正確な距離と相関させることができる。次にこの距離を用いて、カメラレンズがオブジェクトに焦点を合わせ続けるための新たな位置を求めることができる。
【0039】
三角測量計算によって、オブジェクトが中心軸に沿ってカメラから少し遠ざかったと判断されると、オートフォーカスルーチンは、オブジェクトに焦点を合わせ続けるためにレンズの位置を一定の方向に一定量だけ変更しなければならないと理解する。そして、自動フォーカスルーチンは、たとえばカメラ内部のレンズの位置をそれに応じて調整することができる。ここで、三角形辺の長さの変化からオブジェクト距離移動を提供する上述の数式をさらに展開して、減少した三角形辺の長さの変化から、適切なレンズまでの適切なレンズの動きを提供して、平面距離を撮像することができる。
【0040】
図10aは、上述のようなカメラのためのオートフォーカス方法を示す。当該方法は、オブジェクトの一組の特徴を識別すること1001を含み、当該特徴はカメラが捕捉する画像内に追跡される。当該方法はさらに、基準点のベクトルの場を作成すること1002を含み、当該ベクトルは、画像の2つ以上のフレームにわたる基準点の位置の変化の大きさおよび方向を示す。当該方法はさらに、ベクトルの同一の放射状の向きから、オブジェクトの面外の動きの存在を識別すること1003を含む。当該方法はさらに、複数の基準点同士の間の距離の変化から、オブジェクトがカメラに近づいた/カメラから遠ざかった量を求めること1004を含む。当該方法はさらに、カメラの焦点をオブジェクトに合わせ続けるように、オブジェクトが近づいた/遠ざかった量に鑑みてカメラのレンズの位置を調整すること1005を含む。
【0041】
上述のオプティカルフローベースのオートフォーカス方法はいずれも、処理インテリジェンスがカメラ自体と統合されている(たとえば、レンズ、光検出器等とともにカメラパッケージ内に、または単にカメラパッケージの外部に統合されている)「スマートカメラ」によって部分的にまたは完全に行なわれてもよい。たとえば、カメラは統合されたプロセッサおよびメモリを含んでもよい。当該メモリはプログラムコード命令を格納しており、当該命令は当該プロセッサによって実行されて、直前に述べたオプティカルフローベースのオートフォーカス技法のいずれかを行なう。あるいは、または組合わされて、当該オートフォーカス技法を、配線接続され得るおよび/またはプログラム可能であり得る専用のカスタム(たとえばロジック)回路を用いて実装および/または強化してもよい。そのような回路もまた、カメラ自体と(たとえばカメラパッケージの内部に)統合されてもよい。さらに他の実施形態では、オプティカルフローベースの自動技法、またはその任意の一部は、コンピューティングシステムのメインメモリまたはシステムメモリから動作するメインCPUまたはアプリケーションプロセッサによって行なわれてもよい。
【0042】
図10bは、図10aの方法を行なうことができるスマートカメラの実施形態を示す。図10bに観察されるように、カメラ1020はプロセッサ1021およびメモリ1022を含む。図10aのルーチンのようなオートフォーカスルーチン用のプログラムコードは、メモリ1022に格納されてプロセッサ1021によって実行される。プロセッサ1021は画像センサ1023に結合される。画像センサ1023は、カメラ1020が観察しているコンテンツを当該プロセッサが処理できるようにする。プロセッサ1021は、焦点を調整するモータ1025にも結合される。焦点はモータを用いて調整することができる。当該モータは、画像センサ1023に対する焦点レンズの位置を変更したり、カメラレンズと画像センサ1023との間に位置決めされた1つまたは複数のミラーを動かしたりする。図10aの方法の実行において、たとえば、プロセッサ1021は画像センサ1023が検知する画像を処理し、それに応答して、モータ1025に入力刺激を与えて、オートフォーカスルーチンに従ってレンズ1024および画像センサ1023の焦点長を変更する。他のカメラの実施形態は2つ以上のレンズを含んでもよい。
【0043】
図11は、コンピューティングシステムの例示的な描写を提供する。以下に説明するコンピューティングシステムのコンポーネントの多くは、統合されたカメラおよび関連付けられた画像センサ(たとえばスマートフォンまたはタブレットコンピュータなどのハンドヘルドデバイス)を有するコンピューティングシステムに適用可能である。当業者であれば容易にこれら2つの間に境界を引くことができるであろう。
【0044】
図11に観察されるように、基本的なコンピューティングシステムは、中央処理装置1101(たとえば、マルチコアプロセッサまたはアプリケーションプロセッサ上に配置される複数の汎用処理コア1115_1から1115_Nおよびメインメモリコントローラ1117を含んでもよい)と、システムメモリ1102と、ディスプレイ1103(たとえばタッチスクリーン、フラットパネル)と、ローカル配線されたポイントツーポイントリンク(たとえばUSB)インターフェイス1104と、さまざまなネットワークI/O機能1105(イーサネット(登録商標)インターフェイスおよび/またはセルラーモデムサブシステムなど)と、無線ローカルエリアネットワーク(たとえばWiFi)インターフェイス1106と、無線ポイントツーポイントリンク(たとえばブルートゥース(登録商標))インターフェイス1107と、全地球測位システムインターフェイス1108と、さまざまなセンサ1109_1から1109_Nと、1つ以上のカメラ1110と、バッテリ1111と、電源管理制御ユニット1112と、スピーカおよびマイクロフォン1113と、音声コーダ/デコーダ1114とを含んでもよい。
【0045】
アプリケーションプロセッサまたはマルチコアプロセッサ1150は、そのCPU1101内の1つ以上の汎用処理コア1115と、1つ以上のグラフィック処理ユニット1116と、メモリ管理機能1117(たとえばメモリコントローラ)と、I/O制御機能(上述の周辺制御ハブなど)1118とを含んでもよい。汎用処理コア1115は典型的に、コンピューティングシステムのオペレーティングシステムおよびアプリケーションソフトウェアを実行する。グラフィック処理ユニット1116は典型的に、たとえばディスプレイ1103上に提示されるグラフィック情報を生成するためのグラフィック集約機能を実行する。メモリ制御機能1117はシステムメモリ1102とインターフェイスして、システムメモリ1102にデータを書込む/システムメモリ1102からデータを読出す。電源管理制御ユニット1112はシステム1100の電力消費を全体的に制御する。
【0046】
タッチスクリーンディスプレイ1103、通信インターフェイス1104~1107、GPSインターフェイス1108、センサ1109、カメラ1110、およびスピーカ/マイクロフォンコーデック1113、1114の各々はすべて、適切な場合には、統合された周辺装置(たとえば1つ以上のカメラ1110)も含む全体のコンピューティングシステムに対するさまざまな形態のI/O(入力および/または出力)と見なすことができる。実装によっては、これらI/Oコンポーネントのうちのさまざまなコンポーネントはアプリケーションプロセッサ/マルチコアプロセッサ1150上に統合されてもよいし、ダイから外れて、またはアプリケーションプロセッサ/マルチコアプロセッサ1150のパッケージの外部に配置されてもよい。
【0047】
ある実施形態では、カメラ1110は上記に詳述したようなオプティカルフローベースのオートフォーカス技術を用いる。
【0048】
本発明の実施形態は、上述のようなさまざまな処理を含んでもよい。当該処理は機械実行可能命令において具現化されてもよい。当該命令を用いて、汎用または専用プロセッサに一定の処理を行なわせることができる。あるいは、これらの処理は、当該処理を行なうためのハードワイヤードロジックを含む特定のハードウェアコンポーネントによって、またはプログラムされたコンピュータコンポーネントとカスタムハードウェアコンポーネントとの任意の組合わせによって行なわれてもよい。
【0049】
本発明の要素は、機械実行可能命令を格納するための機械可読媒体として提供されてもよい。機械可読媒体は、フロッピー(登録商標)ディスケット、光ディスク、CD-ROM、および光磁気ディスク、フラッシュメモリ、ROM、RAM、EPROM、EEPROM、磁気カードもしくは光学カード、伝搬媒体、または電子命令を格納するのに好適な他の種類の媒体/機械可読媒体を含み得るが、これらに限定されない。たとえば、本発明はコンピュータプログラムとしてダウンロードされてもよく、当該コンピュータプログラムは、通信リンク(たとえばモデムまたはネットワーク接続)を介した搬送波または他の伝搬媒体において具現化されるデータ信号によってリモートコンピュータ(たとえばサーバ)から要求側のコンピュータ(たとえばクライアント)に転送されてもよい。
【0050】
上述の明細書では、本発明を特定の例示的な実施形態を参照して説明した。しかし、添付の特許請求の範囲に記載されるような本発明のより広範な精神および範囲から逸脱することなく本発明にさまざまな修正および変更を行なうことが可能であることは明らかである。したがって、本明細書および図面は、限定的なものではなく例示的なものであると認識されるべきである。
図1
図2a
図2b
図2c
図3a
図3b
図4a
図4b
図4c
図5a
図5b
図6
図7
図8
図9
図10a
図10b
図11