(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6644809
(24)【登録日】2020年1月10日
(45)【発行日】2020年2月12日
(54)【発明の名称】一体化されたメモリおよびプロセッサを有するスマートイメージセンサ
(51)【国際特許分類】
H04N 5/369 20110101AFI20200130BHJP
H04N 5/225 20060101ALI20200130BHJP
H04N 5/232 20060101ALI20200130BHJP
H04N 5/235 20060101ALI20200130BHJP
【FI】
H04N5/369
H04N5/225 700
H04N5/225 300
H04N5/232 127
H04N5/232 480
H04N5/235 500
【請求項の数】26
【全頁数】15
(21)【出願番号】特願2017-555348(P2017-555348)
(86)(22)【出願日】2016年8月17日
(65)【公表番号】特表2018-525853(P2018-525853A)
(43)【公表日】2018年9月6日
(86)【国際出願番号】US2016047340
(87)【国際公開番号】WO2017031205
(87)【国際公開日】20170223
【審査請求日】2018年4月2日
(31)【優先権主張番号】62/207,232
(32)【優先日】2015年8月19日
(33)【優先権主張国】US
(31)【優先権主張番号】15/236,798
(32)【優先日】2016年8月15日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】ワン,チュン・チュン
(72)【発明者】
【氏名】チン,チューン・ピン
(72)【発明者】
【氏名】リム,スク・ファン
(72)【発明者】
【氏名】フン,ゼポ・ロバート
(72)【発明者】
【氏名】アグエラ−アーカス,ブレイズ
【審査官】
鈴木 明
(56)【参考文献】
【文献】
国際公開第2011/067906(WO,A1)
【文献】
特開2009−081808(JP,A)
【文献】
特開2013−003501(JP,A)
【文献】
特開2011−075965(JP,A)
【文献】
特開2015−136093(JP,A)
【文献】
特開2013−255035(JP,A)
【文献】
特開2008−289120(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 5/30−5/378
H04N 5/222−5/257
(57)【特許請求の範囲】
【請求項1】
スマートイメージセンサを備える装置であって、
前記スマートイメージセンサは、イメージセンサとローカルに一体化されたメモリおよびプロセッサを含み、前記メモリは、前記イメージセンサおよび前記プロセッサに接続され、前記メモリは、前記プロセッサによって実行されるべき第1のプログラムコードを格納し、前記メモリは、前記プロセッサによって実行されるべき第2のプログラムコードを格納し、前記第1のプログラムコードは、前記スマートイメージセンサに、前記イメージセンサによって撮像された1つ以上の画像の分析を行なわせ、前記第1のプログラムコードは、前記イメージセンサによって撮像された前記1つ以上の画像のシーン分析を行なうためのシーン分析プログラムコードを含み、前記シーン分析は、以前に撮像された画像からの機械学習を用いて前記1つ以上の画像内において対象領域を識別し、前記第2のプログラムコードは、前記スマートイメージセンサに、前記第1のプログラムコードの実行によって行なわれた前記1つ以上の画像の分析に応じて、イメージセンシングおよび/または光学パラメータを変更させる、装置。
【請求項2】
前記メモリ、前記プロセッサ、および前記イメージセンサは、同一の半導体チップパッケージ内で一体化される、請求項1に記載の装置。
【請求項3】
前記第2のプログラムコードは、前記第1のプログラムコードによって実行される前記シーン分析に応じてフォーカスパラメータを変更するためのオートフォーカスプログラムコードを含む、請求項1または2に記載の装置。
【請求項4】
前記フォーカスパラメータの前記変更は、位相検出オートフォーカシングと同時に行なわれるレーザオートフォーカシングを用いて実現される、請求項3に記載の装置。
【請求項5】
前記フォーカスパラメータの変更は、レーザオートフォーカシングおよび位相検出オートフォーカシングのうちのどちらかまたは双方の後に行なわれるコントラストオートフォーカシングを用いて実現される、請求項4に記載の装置。
【請求項6】
前記第1のプログラムコードは、前記イメージセンサによって撮像される前記1つ以上の画像の質を決定するための画質プログラムコードを含む、請求項1〜5のいずれかに記載の装置。
【請求項7】
前記第2のプログラムコードは、前記第1のプログラムコードによって決定された前記画像の前記質に応じて、前記イメージセンサの露光時間、画像解像度およびダイナミックレンジのいずれかをそれに対応して変更するための露光時間設定プログラムコード、画像解像度プログラムコード、およびダイナミックレンジプログラムコードのうちのいずれかを含む、請求項6に記載の装置。
【請求項8】
前記第1のプログラムコードは、前記イメージセンサによって撮像された複数の画像に動作分析を行うための動作分析プログラムコードを含む、請求項1〜7のいずれかに記載の装置。
【請求項9】
前記第2のプログラムコードは、前記イメージセンサによって撮像された前記複数の画像のフレームレートを変更するためのフレームレートプログラムコードを含む、請求項8に記載の装置。
【請求項10】
前記イメージセンサは、異なるダイナミックレンジおよび/または解像度を有する光学処理経路を提供するアナログ―デジタル変換器のバンクを含む、請求項1〜9のいずれかに記載の装置。
【請求項11】
スマートイメージセンサを備える装置であって、
前記スマートイメージセンサは、イメージセンサとローカルに一体化されたメモリおよびプロセッサを含み、前記メモリは、前記イメージセンサおよび前記プロセッサに接続され、前記メモリは、前記プロセッサによって実行されるべき第1のプログラムコードを格納し、前記メモリは、前記プロセッサによって実行されるべき第2のプログラムコードを格納し、前記第1のプログラムコードは、前記スマートイメージセンサによって撮像された複数の画像の対象領域を以前に撮像された画像からの機械学習を用いて識別し、その識別に応じて前記複数の画像を前記メモリに格納し、前記第2のプログラムコードは、前記メモリ内の前記複数の画像をマージする、装置。
【請求項12】
対応するカメラ動きデータが前記複数の画像と共に前記メモリに格納され、前記第2のプログラムコードは、前記複数の画像を揃えかつマージするために前記カメラ動きデータを用いて電子式手振れ補正を行なう、請求項11に記載の装置。
【請求項13】
前記第1のプログラムコードは前記複数の画像の組を前記メモリに格納し、前記組は、それぞれ異なる数の前記複数の画像を有し、前記第2のプログラムコードは、前記組のうちの異なる1つの組内のそれぞれの画像をマージしてハイダイナミックレンジビデオストリームのソースを生成する、請求項11または12に記載の装置。
【請求項14】
コンピュータシステムであって、
1つ以上のアプリケーションプロセッサと、
前記1つ以上のアプリケーションプロセッサに結合されたメモリコントローラと、
前記メモリコントローラに結合されたシステムメモリと、
前記メモリコントローラに結合されたI/Oコントロールハブと、
前記I/Oコントロールハブに接続されたスマートイメージセンサとを備え、前記スマートイメージセンサは、イメージセンサとローカルに一体化されたメモリおよびプロセッサを含み、前記メモリは、前記イメージセンサおよび前記プロセッサに結合され、前記メモリは、
a)前記プロセッサによって実行されるべき第1のプログラムコードおよび前記プロセッサによって実行されるべき第2のプログラムコードであって、前記第1のプログラムコードは、前記スマートイメージセンサに、前記イメージセンサによって撮像された1つ以上の画像の分析を行なわせ、前記分析は、以前に撮像された画像からの機械学習を用いて前記1つ以上の画像内の対象領域を識別し、前記第2のプログラムコードは、前記スマートイメージセンサに、前記第1のプログラムコードの実行によって行なわれる前記1つ以上の画像の分析に応じてイメージセンシングおよび/または光学パラメータを変更させる、第1のプログラムコードおよび第2のプログラムコードと、
b)前記プロセッサによって実行されるべき第3のプログラムコードおよび前記プロセッサによって実行されるべき第4のプログラムコードであって、前記第3のプログラムコードは、前記イメージセンサによって撮像された複数の画像を前記メモリに格納し、前記第4のプログラムコードは、前記メモリ内の前記複数の画像をマージする、第3のプログラムコードおよび第4のプログラムコードと、
のうちのどちらかまたは双方を格納する、コンピュータシステム。
【請求項15】
前記メモリ、前記プロセッサ、および前記イメージセンサは、同一の半導体チップパッケージ内で一体化される、請求項14に記載のコンピュータシステム。
【請求項16】
前記第2のプログラムコードは、前記第1のプログラムコードによって実行されるシーン分析に応じてフォーカスパラメータを変更するためのオートフォーカスプログラムコードを含む、請求項14または15に記載のコンピュータシステム。
【請求項17】
前記第1のプログラムコードは、前記イメージセンサによって撮像される前記1つ以上の画像の質を決定するための画質プログラムコードを含む、請求項14〜16のいずれかに記載のコンピュータシステム。
【請求項18】
前記第2のプログラムコードは、前記第1のプログラムコードによって決定される前記画像の前記質に応じて、前記イメージセンサの露光時間、画像解像度およびダイナミックレンジのいずれかをそれに対応して変更させる露光時間設定プログラムコード、画像解像度プログラムコード、およびダイナミックレンジプログラムコードのうちのいずれかを含む、請求項17に記載のコンピュータシステム。
【請求項19】
前記第1のプログラムコードは、前記イメージセンサによって撮像される複数の画像に動作分析を行うための動作分析プログラムコードを含む、請求項14〜18のいずれかに記載のコンピュータシステム。
【請求項20】
前記第2のプログラムコードは、前記イメージセンサによって撮像される前記複数の画像のフレームレートを変更するためのフレームレートプログラムコードを含む、請求項19に記載のコンピュータシステム。
【請求項21】
対応するカメラ動きデータが前記複数の画像と共に前記メモリに格納され、前記第4のプログラムコードは、前記複数の画像を揃えかつマージするために前記動きデータを用いて電子式手振れ補正を行なう、請求項14〜20のいずれかに記載のコンピュータシステム。
【請求項22】
前記第3のプログラムコードは前記複数の画像の組を前記メモリに格納し、前記組は、それぞれ異なる数の前記複数の画像を有し、前記第4のプログラムコードは、前記組のうちの異なる1つの組内のそれぞれの画像をマージしてハイダイナミックレンジビデオストリームのソースを生成する、請求項14〜21のいずれかに記載のコンピュータシステム。
【請求項23】
スマートイメージセンサ内のマシン読取り可能なデータ格納媒体であって、前記スマートイメージセンサは、ローカルに一体化されたメモリ、プロセッサ、およびイメージセンサで構成され、前記メモリは前記イメージセンサおよび前記プロセッサに結合され、前記マシン読取り可能なデータ格納媒体は、
a)前記プロセッサによって実行されるべき第1のプログラムコードおよび前記プロセッサによって実行されるべき第2のプログラムコードであって、前記第1のプログラムコードは、前記スマートイメージセンサに、前記イメージセンサによって撮像された1つ以上の画像の分析を行なわせ、前記分析は、以前に撮像された画像からの機械学習を用いて前記1つ以上の画像内の対象領域を識別し、前記第2のプログラムコードは、前記スマートイメージセンサに、前記第1のプログラムコードの実行によって行なわれる前記1つ以上の画像の分析に応じてイメージセンシングおよび/または光学パラメータを変更させる、第1のプログラムコードおよび第2のプログラムコードと、
b)前記プロセッサによって実行されるべき第3のプログラムコードおよび前記プロセッサによって実行されるべき第4のプログラムコードであって、前記第3のプログラムコードは、前記イメージセンサによって撮像された複数の画像を前記メモリに格納し、前記第4のプログラムコードは、前記メモリ内の前記複数の画像をマージする、第3のプログラムコードおよび第4のプログラムコードと、
のうちのどちらかまたは双方を格納する、マシン読取り可能なデータ格納媒体。
【請求項24】
前記イメージセンサは同一の半導体チップパッケージ内で一体化されており、
前記スマートイメージセンサは、前記同一の半導体チップパッケージ内で一体化されていない装置によって生成された動きデータを、前記同一の半導体チップパッケージ内で一体化されている前記スマートイメージセンサのメモリに、ストリーミングするための回路をさらに含む、請求項1〜13のいずれかに記載の装置。
【請求項25】
前記イメージセンサは同一の半導体チップパッケージに組み入れられており、
前記スマートイメージセンサは、前記同一の半導体チップパッケージ内で一体化されていない装置によって生成された動きデータを、前記同一の半導体チップパッケージ内で一体化されている前記スマートイメージセンサのメモリに、ストリーミングするための回路をさらに含む、請求項14〜22のいずれかに記載のコンピュータシステム。
【請求項26】
前記イメージセンサは同一の半導体チップパッケージに組み入れられており、
前記スマートイメージセンサは、前記同一の半導体チップパッケージ内で一体化されていない装置によって生成された動きデータを、前記同一の半導体チップパッケージ内で一体化されている前記スマートイメージセンサのメモリに、ストリーミングするための回路をさらに含む、請求項23に記載のマシン読取可能なデータ格納媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連事例
本願は、「Smart Image Sensor Having Integrated Memory and Processor(一体化されたメモリおよびプロセッサを有するスマートイメージセンサ)」と題された、2015年8月19日に出願された米国仮特許出願第62/207,232号の利益を主張し、ここにその全体が引用により援用される。
【0002】
発明の分野
発明の分野は、一般に撮像に関し、より具体的には、集積メモリおよびプロセッサを有するカメラに関する。
【背景技術】
【0003】
背景
図1は、コンピュータシステム内のカメラ関連機能の従来のデータフロー1、2、3を示す図である。多くの現在のコンピュータシステムでは、カメラ101は処理知能をほとんど、または全く有していない。その結果、カメラ101自体の複雑な機能、または、カメラ画像を使用するアプリケーションは、コンピュータシステムの汎用の、単数または複数の処理コア105(1つ以上のアプリケーションプロセッサ(applications processors)など)で実行されることが典型的である。
【0004】
図1に示すように、これらの機能/アプリケーションを単数または複数の処理コア105で実行すると、コンピュータシステム内の大量のデータ移動が非常に煩雑になり、かつ、1つまたは複数のコア105からカメラ101に戻るまでのフィードバック経路の待ち時間も長くなる。また、全体的に非効率なため、トラフィックの輻輳およびシステムの消費電力が増加する。
【0005】
たとえば、1つまたは複数のコア105で実行されるオートフォーカス(auto-focus)ルーチンを考えてみる。ここで、画像データの全フレームは、カメラ101からI/Oコントロールハブ102およびメモリコントローラ103を介して導かれて、システムメモリ104に書き込まれる(1)。コア105がオートフォーカスルーチンを実行するためには、画像データは、システムメモリ104から処理のためにコアに呼び出される(2)。ここで、大量のデータが経路1および2に沿って移動されるので、待ち時間が長くなり、システム内の消費電力およびトラフィックの輻輳が増加する。
【0006】
加えて、オートフォーカスルーチンが分析を終えて単数または複数のコア105が次のオートフォーカスコマンドをカメラ101に伝達しようとすると、このコマンドはメモリコントローラ103および/またはI/Oコントロールハブ102を介して進行し(3)、最終的にカメラ101に達する。その途中で、コマンドをシステム内の別の場所でキューに入れてもよい。したがって、画像データが最初に送信された(1)時から画像データに基づいたフィードバックコマンドを最終的に受け取る(3)までに、カメラ101側から見ると輻輳がさらに観測される。
【発明の概要】
【課題を解決するための手段】
【0007】
要約
装置について説明する。この装置は、メモリとプロセッサとを有するスマートイメージセンサを備え、メモリおよびプロセッサはイメージセンサとローカルに一体化される。メモリは、イメージセンサとプロセッサとに接続される。メモリは、プロセッサによって実行されるべき第1のプログラムコードを格納する。メモリは、プロセッサによって実行されるべき第2のプログラムコードを格納する。第1のプログラムコードは、スマートイメージセンサに、イメージセンサによって撮像された1つ以上の画像を分析させる。この分析は、1つ以上の画像内の対象領域(region of interest)を、以前に撮像された画像からの機械学習を用いて識別する。第2のプログラムコードは、スマートイメージセンサに、第1のプログラムコードの実行によって実行される1つ以上の画像の分析に応じて、イメージセンシングおよび/または光学パラメータを変更させる。代替的に、またはこれと組み合わせて、メモリは、プロセッサによって実行されるべき第3のプログラムコードおよびプロセッサによって実行されるべき第4のプログラムコードを格納する。第3のプログラムコードは、イメージセンサによって撮像された複数の画像をメモリに格納する。第4のプログラムコードは、メモリ内の複数の画像をマージする。
【0008】
以下の説明および添付の図面は、発明の実施形態を説明するために用いられる。
【図面の簡単な説明】
【0009】
【
図2】一体化されたメモリおよびプロセッサを有するカメラを示す図である。
【
図3】
図2のカメラで実行可能なアプリケーションソフトウェアを示す図である。
【
図4A】
図2のカメラによって行なわれ得るオートフォーカスアプローチの関連図である。
【
図4B】
図2のカメラによって行なわれ得るオートフォーカスアプローチの関連図である。
【
図5A】
図2のカメラによって行なわれ得るオートフォーカスアプローチの関連図である。
【
図5B】
図2のカメラによって行なわれ得るオートフォーカスアプローチの関連図である。
【
図5C】
図2のカメラによって行なわれ得るオートフォーカスアプローチの関連図である。
【
図6A】
図2のカメラを使用して静止画像のためにEISを行なう技術の関連図である。
【
図6B】
図2のカメラを使用して静止画像のためにEISを行なう技術の関連図である。
【
図7】
図2のカメラを使用してハイダイナミックレンジビデオ画像を生成する技術の関連図である。
【発明を実施するための形態】
【0010】
詳細な説明
図2は、カメラ特有の処理知能を、たとえばカメラパッケージ201自体に移行する、改良されたアプローチを示す図である。
図2に示すように、カメラパッケージ201内に位置する典型的な光学素子/サーボ202およびイメージセンサ203とは別に、メモリ204およびプロセッサ205も存在する。
図2に示すように、さまざまなデバイス202〜205を、カメラパッケージ201内で積み重ねてもよい。これらの構成要素202〜205の全てを1つのカメラパッケージ201において組み合わせることによって、多くのカメラ特有の機能をカメラ自体の中で実行することが可能になり、それによって、システムメモリまでのおよびそれを越えたフローが長くなりかつ非効率になることを防止できる。
【0011】
他の実施形態では、プロセッサ205および/またはメモリ204はカメラパッケージ201外に設けられてもよいが、それでもやはり、
図1を参照して説明された煩雑な経路を取り除くために、物理的および/またはアーキテクチャ的にカメラパッケージ201の近くに設けられる。
【0012】
図2に示すように、いくつかの独自のデータフローは、カメラ201にローカルに受け入れられ得る。フロー206は、プロセッサ205を用いて実現される内部処理知能によってカメラ201が画像データを分析し、かつ、よりい小さな対象領域を認識できるフローに該当する。したがって、コンピュータシステムの単数または複数の汎用CPUコアによって処理されるべくシステムを介して転送される必要のある全データ量を効果的に削減できるように、対象領域のより小さなフットプリントサイズのデータのみがカメラから、たとえば、アプリケーションプロセッサによるさらなる処理のためにシステムメモリに送られる。
【0013】
フロー207は、これも同様にプロセッサ205を用いて実現される処理知能によって、カメラがそれ自体の画像データ分析に基づいて独立してそのさまざまな内部機能を制御できる、別のフローを表す。たとえば、カメラプロセッサ自体のデータ分析に基づいて、新しいオートフォーカス設定を設定可能であり、および/または、新しい露光時間を設定可能である。
【0014】
動作中、光学素子202およびイメージセンサ203は、標準カメラ動作と一致した画像を撮像する。しかしながら、カメラから外に画像データを直接伝えるのではなく、
図2の新規なカメラがそれ自体のローカルなメモリ204内に画像データを書き込む。画像データの格納とは別に、メモリ204を使用して、プロセッサ205によって実行されるプログラムコードを格納することも可能である。したがって、プロセッサ205は、そのさまざまなアプリケーションを実行する際に、メモリ204から実行する。
【0015】
図3は、ローカルなカメラプロセッサ304が実行可能ないくつかの種類のアプリケーションのハイレベルビューを示す図である。
図3に示すように、いくつかの考え得るアプリケーションには、シーン分析301機能(たとえば、物体認識、オートフォーカシング)、(たとえば、適切な露光時間設定、画像解像度、またはダイナミックレンジを決定するための)画質分析302、および(たとえば、画像内の特徴の動きに基づいて、またはそのような動作がないことに基づいて、高または低フレームレートが適切かどうかを設定するための)動作分析303が含まれる。
【0016】
他の実施形態では、カメラ内のイメージセンサは、異なる解像度および/またはダイナミックレンジを有する複数のアナログ―デジタル変換器のバンクを含む。さまざまな画質タスクによると、プロセッサは、複数のADCのうちの特定のいくつかを可能化しつつ、その他のADCを不能化してもよい。たとえば、画像分析に基づいて低解像度が適切であれば(画像はほぼ均一な結像を有するので)、内部プロセッサはイメージセンサにコマンドを送って、低解像度/低ダイナミックレンジADCを可能化し、高解像度/高ダイナミックレンジADCを不能化してもよい。
【0017】
図4Aおよび
図4Bは、インテリジェントカメラのオートフォーカスの実施形態についてさらに詳細に示す図である。
図4Aに示すように、カメラのイメージセンサ、メモリおよびプロセッサを、合わせてスマートイメージセンサ401として捉えることができる。スマートイメージセンサ401は、画像分析エンジン402を用いて、たとえば、そのオートフォーカスルーチンの初期部分としてシーン分析を行うことが可能である。オートフォーカスルーチンは数値的に大きくなり得るため、スマートイメージセンサは、自動機能数字を収集、更新、および/または他の態様で処理する統計エンジン403も含む。スマートイメージセンサは、1つの回路パッケージに一体化するのが最も有利であり得、システムオンチップであることが最も好ましい。
【0018】
ハイブリッドオートフォーカスエンジン404は、1)レーザに基づくオートフォーカス、2)位相検出に基づくオートフォーカス、または3)コントラストに基づくオートフォーカスのうちのいずれか1つ以上のルーチン/タスクも行い得る。シーン分析エンジン402、統計エンジン403、およびハイブリッドオートフォーカスエンジン404のいずれかまたは全ては、スマートイメージセンサのプロセッサによってカメラのメモリから実行されるプログラムコードとして実現可能である。
【0019】
ある実施形態では、スマートイメージセンサ401は、高速フレームレート(たとえば、毎秒120フレーム(fps))で処理される小さなサイズの(「部分的な」)画像に対してオートフォーカスルーチンを行なう。フレームレートが高速なため、スマートイメージセンサは、従来実現されていたよりも素早くオートフォーカスを行なうことができる。汎用コア(もしあれば)までの転送が必要なフルサイズのオートフォーカス情報は遅いフレームレート(たとえば、30fps)で提供することが可能であり、システムを通じて外部に受け渡されるデータの全レートを減らす。
【0020】
スマートイメージセンサ401は、レンズサーボ/アクチュエータ405にコマンドを直接提供して、オートフォーカシング機能の一部としてレンズ位置決めを制御することも可能である。加えて、たとえば、レーザに基づく自動検出方式の場合、スマートセンサは、飛行時間深度画像化(time-of-flight depth imaging)用のレーザ光を生成するためにも使用されるレーザ装置にコマンドを直接提供可能である。
【0021】
図4Bは、
図4Aのカメラシステムよって実行可能なオートフォーカシング技法を示す図である。
図4Bに示すように、オートフォーカスルーチンは、最初にシーン分析410を行なって、たとえば、フォーカスすべき対象物体を認識する。シーン分析の物体認識は、データの小さなフットプリントまたは「部分画像」で実行可能である(たとえば、画像内の1行おきまたは2行おきにわたって動作する)。
【0022】
加えて、ある程度の機械学習または訓練413が前もって適用可能であり、および/または、シーン分析411に対応し得る。ここで、プロファイル内に一般的な人物のプロファイルがただ単に存在しているという認識以外に、シーン分析機能411は、以前に撮像された画像に基づいて画像内に特定の人物を認識できるほど利口であり得る。
【0023】
ここで、機械学習プロセス413は、カメラによって撮像された(たとえば、かつ、装置のフォトライブラリに格納された)以前の写真/画像を精査し、特定の人物の写真が頻繁に撮像されていると認識し得る。その後、機械学習機能413は特定の人物の顔認識プロファイルを構築し、シーン分析410を行なうときに、現在撮像中の画像内において(たとえば、大勢の人々の中の背景において)、フォーカスすべき対象領域としてその人物の顔を探してもよい、または、フラグを立ててもよい。本質的に、以前に撮像された画像の履歴が写真の撮影者による興味を示している物体はどれも、シーン分析機能410がフォーカスすべき対象領域を決定するために使用する、物体のための特定のプロファイルを構築するために使用可能である。
【0024】
対象領域がシーン分析プロセス410によって決定されると、1種類以上のオートフォーカス技術を適用して、レンズ位置を正しいフォーカス位置411の「おおよその範囲内に」迅速に動かすことが可能である(ただし、画質分析および/または動作分析は、(オートフォーカシングと共にまたは別に)対象領域の識別に基づいた機械学習に応じて、1つ以上の画像内の対象領域の1つ以上の画像に対して行なうことも可能である)。
図4Bの特定の種類の実施形態においては、レーザおよび位相検出(PD)の2つの異なるオートフォーカス技術が同時に適用されている。2つの異なるオートフォーカス技術の同時の適用によってほぼ正しいレンズ位置を確定し、サーボがそれに応じて調節された後で、第3のオートフォーカス技術(コントラスト)が適用されて412、最終的に正しい位置と理解されている位置にレンズを最終的に移動させる。したがって、プロセス411はある種の粗調節の機能を果たし、プロセス412はある種の微調節の機能を果たす。
【0025】
図5A〜
図5Cは、前述のオートフォーカス技術のいくつかのさまざまな観点を示す図である。
図5Aは、カメラがシーン分析410を行い、レーザオートフォーカスおよび位相検出オートフォーカスを用いて初期同時オートフォーカシング411を行なう第1の実施形態を示す図である。しかしながら、コントラストオートフォーカシング412は、アプリケーションプロセッサによって、遅いフレームレートを有する大きなフレームに対して実行される。オートフォーカスは、アプリケーションプロセッサが何らかのユーザインターフェースアクティビティを検出することによって、または、カメラがシーンの変化を検出することによって、もしくは機械学習物体認識プロファイルを有する特定の物体を検出することによって、トリガされ得る。
【0026】
図5Bは、カメラが初期のレーザおよび位相検出オートフォーカス411を行なうだけでなくレーザコントラストに基づくオートフォーカス412も行う、第2の実施形態を示す図である。
図5Aおよび
図5Bを比較すると、カメラとアプリケーションプロセッサとの間の長い待ち時間フィードバックループが取り除かれていてカメラがより速いフレームレートを有するより小さな画像に対して動作するため、カメラがいかに早くオートフォーカスできるかについて注目すべきである。
【0027】
図5Cは、アプローチの観点で5Bの実施形態に類似する第3の実施形態を示す図であるが、カメラは、初期のレーザおよび位相検出オートフォーカスシーケンスの間により積極的に(より速く)作用する。ここで、より速いレーザおよび位相検出オートフォーカスは、より速いレート(および可能であればより大きな画像)およびより速いクロック速度で実現可能である。一般に、
図5Bおよび
図5Cは、性能(どれぐらい速くオートフォーカスが実現されるか)と消費電力との間のトレードオフを示す。
【0028】
図6Aおよび
図6Bは、ここで説明されるようなスマートカメラのさらに他の使用に関する。当該技術において理解されているように、光学式手振れ補正(OIS)および電子式手振れ補正(EIS)の2種類の手振れ補正(image stabilization)が存在する。手振れ補正は、カメラの「揺れ」に応じて、かつ、それを相殺するために画像内容を調節する技術である。たとえば、手持ち式のデバイスによって写真を撮影している人物の手が揺れていると、手振れ補正機構は、観察される画像から手の動きの影響を除去しようとする。
【0029】
静止画像を撮影している(すなわち、1枚の写真を撮影している)場合を除いて、EISは全ての点(ビデオ、消費電力、コスト)においてOISより一般に優れているという見方がある。OISを伴う静止画像の場合、カメラはあるレートで揺れているため、カメラの光学素子は、その揺れに応じて容易に調節/移動されて、実質的に露光時間を増やし、さらによい画質をもたらす。ここで、機械式カメラの光学素子は、アプリケーションプロセッサを安定化プロセスから除くために、ジャイロスコープからのデータに即座に反応するように設計されている。これとは対照的に、従来のEISは、画像にタイムスタンプを押し、タイムスタンプを押した画像をアプリケーションプロセッサまで転送しなければならない。加えて、ジャイロスコープの情報にもタイムスタンプが押され、画像のタイムスタンプと比較されるため、カメラの位置をアプリケーションプロセッサによって画像ごとに理解することができる。上記で詳細に説明したフィードバック待ち時間のために、従来のコンピュータシステムは、静止画像を撮像する場合は、EISを行なうのに十分な速度で手の動きに反応することが困難である。
【0030】
図6Aおよび
図6Bは、EISがカメラによってローカルに行なわれるため、待ち時間が大幅に短縮された静止画像についてEISを行なうための実施形態に関する。ここで、
図6Aは、ジャイロスコープ(または、カメラの動きを説明する情報を生成する他のデバイス)から揺れを記述する情報がカメラのメモリ604に流入する、第1のデータフロー601を示す図である。加えて、
図6Aは、イメージセンサ603によって撮像された画像もメモリ604に格納される、第2のフロー602を示す図である。したがって、撮像された各画像は、関連するジャイロスコープメタデータをメモリ604内に有する。
【0031】
図6Bは、(ソフトウェアの実行と比較して処理を早めるために)ソフトウェアとしてのカメラプロセッサ605、および/または、カメラ内の専用のカスタム論理回路によって実行可能な処理を示す図である。
図6Bに示すように、かつ、上述のように、イメージセンサによって撮像された静止画像およびそれらの画像のためのジャイロデータは、メモリ604内に格納される611。メモリ内への画像の格納は、画像内の対象領域のシーン分析機能(機械学習プログラムコードなど)による認識に応じて行なわれてもよい。
【0032】
その後、ジャイロデータを使用して画像を揃える612。ここで、たとえば、カメラが画像#1の後で左に1mm移動したと画像#2に対応するジャイロデータが示す場合、カメラインテリジェンスは(電子的に)画像#2を実質的に右に1mm移動させて、ジャイロスコープによって記録された手の動きを相殺する。したがって、#1および#2の画像が揃えられる。同様のシーケンスを、たとえば複数の画像について、たとえば5〜10画像(両端を含む)の間で実現可能であり、その結果、これら複数の画像の全てが実質的に揃えられる。
【0033】
次に、さきほど揃えられた複数の画像がマージされる613。このマージは、たとえば、画像の揃えられた画素値を加算して画像の数で除算することによって実現され、画像における位置ごとの平均値が実質的に生成される。このマージ動作は、手振れ補正の主目的である、画像の露光時間を実質的に増加させる(手振れ補正がなければ、カメラが動いている状態では、ボケていない高画質(長い露光時間)画像を撮像することは困難である)。プロセッサは、ソフトウェアにおいてマージを行なってもよく613、または、マージプロセスの速度を速めるために、スタンドアローンのカスタム論理回路(たとえば、プロセッサに対するコプロセッサとして)がカメラ内でインスタンス化されてマージ613を早く行なってもよい。さまざまな実施形態において、カスタムのマージ回路ブロックは、各々が完全にプログラム可能な多くのコアで構成されるアーキテクチャを有し得る。このアーキテクチャは、AXI4、MIPI、およびAHB/APBバスを有する入/出力ユニットで構成可能であり、これらのバスを通じて、システム接続性が得られる。また、このアーキテクチャは、ストレージ/ライン・バッファプール(たとえば、SRAM)および2D SIMDコンピュータ(コア)で構成され得る。
【0034】
図7は、インテリジェントカメラによって実行可能な他の技法に関する。
図7の技法は、ハイダイナミックレンジ画像の生成に関する。ダイナミックレンジは、低輝度信号および高輝度信号の双方を検出する能力に相当する。
【0035】
図7の技法によると、画像の異なる組が撮影されてカメラメモリに格納され、これらの画像の異なる組は、異なる数の画像を有する701(メモリでの画像の格納は、画像内の対象領域のシーン分析機能(機械学習プログラムコードなど)による認識に応じて行なわれ得る)。たとえば、第1の組は3枚の画像のみ有し得、他の組は5枚の画像を有し得、他の組は10枚の画像を有し得る、などである。ここで、画像の数がより多い組は露光時間のより長い1枚の画像に実質的に対応するため、正確に弱い信号を検出可能である。これとは対照的に、より画像の数がより少ない組は露光時間のより短い1枚の画像に実質的に対応するため、正確により強い信号を検出することができる。
【0036】
その後、画像の組はマージされてハイダイナミックレンジビデオストリームを生成する702。ここで、たとえば、ビデオストリームが暗い部屋で撮影されている場合、ビデオストリームはより多くの画像を有する単数または複数の組の平均で構成され得る。同様に、ビデオストリームが明るい部屋で撮影されている場合、ビデオストリームはより少ない画像を有する単数または複数の組の平均で構成され得る。またさらに、同一の画像フレームの領域が高輝度領域および低輝度領域の双方を有している場合、高輝度を有する画像フレーム部分は、より少ない画像を有する複数の組から確立可能であり、低輝度を有する画像フレーム部分はより多くの画像を有する複数の組から確立可能であり、ハイダイナミックレンジを有する1つのフレームを生成できる。
【0037】
図7の技法は、カメラプロセッサによってソフトウェア内で全体的に実施可能である。他の実施形態では、カスタム論理回路がカメラにおいてインスタンス化されて、画像の異なる組の平均化および/または1つのビデオストリームへのマージを早める。さまざまな実施形態では、カスタム回路ブロックは、多くのコアで構成されたアーキテクチャを有してもよく、コアの各々は、完全にプログラム可能である。アーキテクチャは、AXI4、MIPI、およびAHB/APBバスを有する入/出力ユニットで構成可能であり、これらのバスを通じて、システム接続性が得られる。また、このアーキテクチャは、ストレージ/ライン・バッファプール(たとえば、SRAM)および2D SIMDコンピュータ(コア)で構成され得る。
【0038】
上述の教示をスタンドアローンカメラ、またはサーバ、デスクトップ、ラップトップ、タブレット、スマートフォン、もしくは他の手持ち式デバイスのようなコンピュータシステムと一体化された、またはそれに統合されたカメラ、またはスマート家電に応用可能であると指摘することは適切である。
【0039】
カメラは、カメラプロセッサによって実行されるプログラムコードを格納する不揮発性メモリを備えてもよく、または、そのようなコードは、システムの起動中にカメラメモリにロード可能である。
【0040】
本発明の実施形態は、上述のさまざまなプロセスを含み得る。これらのプロセスは、マシン実行可能な命令において具体化可能である。これらの命令は、汎用または特殊用途プロセッサに特定のプロセスを行なわせるために使用可能である。代替的に、これらのプロセスは、プロセスを行なうためにハードワイヤードロジックを含む特定のハードウェア構成要素によって実現可能である、または、プログラムされたコンピュータ構成要素およびカスタムのハードウェア構成要素のいかなる組合せによっても実現可能である。
【0041】
また、本発明の要素を、マシン実行可能な命令を格納するためのマシン読取り可能な媒体として提供することができる。マシン読取り可能な媒体の例は、フロッピー(登録商標)ディスケット、光ディスク、CD−ROM、光磁気ディスク、フラッシュメモリ、ROM、RAM、EPROM、EEPROM、磁気カード、光学カード、伝搬媒体、または電子命令の格納に好適な他の種類の媒体/マシン読取り可能な媒体を含み得るが、これらに限定されるわけではない。たとえば、本発明は、通信リンク(たとえば、モデムまたはネットワーク接続)を介した搬送波または他の伝搬媒体で実現されるデータ信号によってリモートコンピュータ(たとえば、サーバ)から要求側のコンピュータ(たとえば、クライアント)に転送可能な、コンピュータプログラムとしてダウンロード可能である。
【0042】
上述の明細書では、本発明は特定の例示的な実施形態を参照して説明された。しかしながら、添付の特許請求の範囲で説明するように、本発明の精神および範囲内で本発明にさまざまな修正および変更を行なうことが可能であることは明らかである。したがって、本明細書および図面は、制限的なものではなく例示的なものであると認識されるべきである。