(57)【特許請求の範囲】
【請求項１】
スマートイメージセンサを備える装置であって、
前記スマートイメージセンサは、イメージセンサとローカルに一体化されたメモリおよびプロセッサを含み、前記メモリは、前記イメージセンサおよび前記プロセッサに接続され、前記メモリは、前記プロセッサによって実行されるべき第１のプログラムコードを格納し、前記メモリは、前記プロセッサによって実行されるべき第２のプログラムコードを格納し、前記第１のプログラムコードは、前記スマートイメージセンサに、前記イメージセンサによって撮像された１つ以上の画像の分析を行なわせ、前記第１のプログラムコードは、前記イメージセンサによって撮像された前記１つ以上の画像のシーン分析を行なうためのシーン分析プログラムコードを含み、前記シーン分析は、以前に撮像された画像からの機械学習を用いて前記１つ以上の画像内において対象領域を識別し、前記第２のプログラムコードは、前記スマートイメージセンサに、前記第１のプログラムコードの実行によって行なわれた前記１つ以上の画像の分析に応じて、イメージセンシングおよび／または光学パラメータを変更させる、装置。
【請求項２】
前記メモリ、前記プロセッサ、および前記イメージセンサは、同一の半導体チップパッケージ内で一体化される、請求項１に記載の装置。
【請求項３】
前記第２のプログラムコードは、前記第１のプログラムコードによって実行される前記シーン分析に応じてフォーカスパラメータを変更するためのオートフォーカスプログラムコードを含む、請求項１または２に記載の装置。
【請求項４】
前記フォーカスパラメータの前記変更は、位相検出オートフォーカシングと同時に行なわれるレーザオートフォーカシングを用いて実現される、請求項３に記載の装置。
【請求項５】
前記フォーカスパラメータの変更は、レーザオートフォーカシングおよび位相検出オートフォーカシングのうちのどちらかまたは双方の後に行なわれるコントラストオートフォーカシングを用いて実現される、請求項４に記載の装置。
【請求項６】
前記第１のプログラムコードは、前記イメージセンサによって撮像される前記１つ以上の画像の質を決定するための画質プログラムコードを含む、請求項１〜５のいずれかに記載の装置。
【請求項７】
前記第２のプログラムコードは、前記第１のプログラムコードによって決定された前記画像の前記質に応じて、前記イメージセンサの露光時間、画像解像度およびダイナミックレンジのいずれかをそれに対応して変更するための露光時間設定プログラムコード、画像解像度プログラムコード、およびダイナミックレンジプログラムコードのうちのいずれかを含む、請求項６に記載の装置。
【請求項８】
前記第１のプログラムコードは、前記イメージセンサによって撮像された複数の画像に動作分析を行うための動作分析プログラムコードを含む、請求項１〜７のいずれかに記載の装置。
【請求項９】
前記第２のプログラムコードは、前記イメージセンサによって撮像された前記複数の画像のフレームレートを変更するためのフレームレートプログラムコードを含む、請求項８に記載の装置。
【請求項１０】
前記イメージセンサは、異なるダイナミックレンジおよび／または解像度を有する光学処理経路を提供するアナログ―デジタル変換器のバンクを含む、請求項１〜９のいずれかに記載の装置。
【請求項１１】
スマートイメージセンサを備える装置であって、
前記スマートイメージセンサは、イメージセンサとローカルに一体化されたメモリおよびプロセッサを含み、前記メモリは、前記イメージセンサおよび前記プロセッサに接続され、前記メモリは、前記プロセッサによって実行されるべき第１のプログラムコードを格納し、前記メモリは、前記プロセッサによって実行されるべき第２のプログラムコードを格納し、前記第１のプログラムコードは、前記スマートイメージセンサによって撮像された複数の画像の対象領域を以前に撮像された画像からの機械学習を用いて識別し、その識別に応じて前記複数の画像を前記メモリに格納し、前記第２のプログラムコードは、前記メモリ内の前記複数の画像をマージする、装置。
【請求項１２】
対応するカメラ動きデータが前記複数の画像と共に前記メモリに格納され、前記第２のプログラムコードは、前記複数の画像を揃えかつマージするために前記カメラ動きデータを用いて電子式手振れ補正を行なう、請求項１１に記載の装置。
【請求項１３】
前記第１のプログラムコードは前記複数の画像の組を前記メモリに格納し、前記組は、それぞれ異なる数の前記複数の画像を有し、前記第２のプログラムコードは、前記組のうちの異なる１つの組内のそれぞれの画像をマージしてハイダイナミックレンジビデオストリームのソースを生成する、請求項１１または１２に記載の装置。
【請求項１４】
コンピュータシステムであって、
１つ以上のアプリケーションプロセッサと、
前記１つ以上のアプリケーションプロセッサに結合されたメモリコントローラと、
前記メモリコントローラに結合されたシステムメモリと、
前記メモリコントローラに結合されたＩ／Ｏコントロールハブと、
前記Ｉ／Ｏコントロールハブに接続されたスマートイメージセンサとを備え、前記スマートイメージセンサは、イメージセンサとローカルに一体化されたメモリおよびプロセッサを含み、前記メモリは、前記イメージセンサおよび前記プロセッサに結合され、前記メモリは、
ａ）前記プロセッサによって実行されるべき第１のプログラムコードおよび前記プロセッサによって実行されるべき第２のプログラムコードであって、前記第１のプログラムコードは、前記スマートイメージセンサに、前記イメージセンサによって撮像された１つ以上の画像の分析を行なわせ、前記分析は、以前に撮像された画像からの機械学習を用いて前記１つ以上の画像内の対象領域を識別し、前記第２のプログラムコードは、前記スマートイメージセンサに、前記第１のプログラムコードの実行によって行なわれる前記１つ以上の画像の分析に応じてイメージセンシングおよび／または光学パラメータを変更させる、第１のプログラムコードおよび第２のプログラムコードと、
ｂ）前記プロセッサによって実行されるべき第３のプログラムコードおよび前記プロセッサによって実行されるべき第４のプログラムコードであって、前記第３のプログラムコードは、前記イメージセンサによって撮像された複数の画像を前記メモリに格納し、前記第４のプログラムコードは、前記メモリ内の前記複数の画像をマージする、第３のプログラムコードおよび第４のプログラムコードと、
のうちのどちらかまたは双方を格納する、コンピュータシステム。
【請求項１５】
前記メモリ、前記プロセッサ、および前記イメージセンサは、同一の半導体チップパッケージ内で一体化される、請求項１４に記載のコンピュータシステム。
【請求項１６】
前記第２のプログラムコードは、前記第１のプログラムコードによって実行されるシーン分析に応じてフォーカスパラメータを変更するためのオートフォーカスプログラムコードを含む、請求項１４または１５に記載のコンピュータシステム。
【請求項１７】
前記第１のプログラムコードは、前記イメージセンサによって撮像される前記１つ以上の画像の質を決定するための画質プログラムコードを含む、請求項１４〜１６のいずれかに記載のコンピュータシステム。
【請求項１８】
前記第２のプログラムコードは、前記第１のプログラムコードによって決定される前記画像の前記質に応じて、前記イメージセンサの露光時間、画像解像度およびダイナミックレンジのいずれかをそれに対応して変更させる露光時間設定プログラムコード、画像解像度プログラムコード、およびダイナミックレンジプログラムコードのうちのいずれかを含む、請求項１７に記載のコンピュータシステム。
【請求項１９】
前記第１のプログラムコードは、前記イメージセンサによって撮像される複数の画像に動作分析を行うための動作分析プログラムコードを含む、請求項１４〜１８のいずれかに記載のコンピュータシステム。
【請求項２０】
前記第２のプログラムコードは、前記イメージセンサによって撮像される前記複数の画像のフレームレートを変更するためのフレームレートプログラムコードを含む、請求項１９に記載のコンピュータシステム。
【請求項２１】
対応するカメラ動きデータが前記複数の画像と共に前記メモリに格納され、前記第４のプログラムコードは、前記複数の画像を揃えかつマージするために前記動きデータを用いて電子式手振れ補正を行なう、請求項１４〜２０のいずれかに記載のコンピュータシステム。
【請求項２２】
前記第３のプログラムコードは前記複数の画像の組を前記メモリに格納し、前記組は、それぞれ異なる数の前記複数の画像を有し、前記第４のプログラムコードは、前記組のうちの異なる１つの組内のそれぞれの画像をマージしてハイダイナミックレンジビデオストリームのソースを生成する、請求項１４〜２１のいずれかに記載のコンピュータシステム。
【請求項２３】
スマートイメージセンサ内のマシン読取り可能なデータ格納媒体であって、前記スマートイメージセンサは、ローカルに一体化されたメモリ、プロセッサ、およびイメージセンサで構成され、前記メモリは前記イメージセンサおよび前記プロセッサに結合され、前記マシン読取り可能なデータ格納媒体は、
ａ）前記プロセッサによって実行されるべき第１のプログラムコードおよび前記プロセッサによって実行されるべき第２のプログラムコードであって、前記第１のプログラムコードは、前記スマートイメージセンサに、前記イメージセンサによって撮像された１つ以上の画像の分析を行なわせ、前記分析は、以前に撮像された画像からの機械学習を用いて前記１つ以上の画像内の対象領域を識別し、前記第２のプログラムコードは、前記スマートイメージセンサに、前記第１のプログラムコードの実行によって行なわれる前記１つ以上の画像の分析に応じてイメージセンシングおよび／または光学パラメータを変更させる、第１のプログラムコードおよび第２のプログラムコードと、
ｂ）前記プロセッサによって実行されるべき第３のプログラムコードおよび前記プロセッサによって実行されるべき第４のプログラムコードであって、前記第３のプログラムコードは、前記イメージセンサによって撮像された複数の画像を前記メモリに格納し、前記第４のプログラムコードは、前記メモリ内の前記複数の画像をマージする、第３のプログラムコードおよび第４のプログラムコードと、
のうちのどちらかまたは双方を格納する、マシン読取り可能なデータ格納媒体。
【請求項２４】
前記イメージセンサは同一の半導体チップパッケージ内で一体化されており、
前記スマートイメージセンサは、前記同一の半導体チップパッケージ内で一体化されていない装置によって生成された動きデータを、前記同一の半導体チップパッケージ内で一体化されている前記スマートイメージセンサのメモリに、ストリーミングするための回路をさらに含む、請求項１〜１３のいずれかに記載の装置。
【請求項２５】
前記イメージセンサは同一の半導体チップパッケージに組み入れられており、
前記スマートイメージセンサは、前記同一の半導体チップパッケージ内で一体化されていない装置によって生成された動きデータを、前記同一の半導体チップパッケージ内で一体化されている前記スマートイメージセンサのメモリに、ストリーミングするための回路をさらに含む、請求項１４〜２２のいずれかに記載のコンピュータシステム。
【請求項２６】
前記イメージセンサは同一の半導体チップパッケージに組み入れられており、
前記スマートイメージセンサは、前記同一の半導体チップパッケージ内で一体化されていない装置によって生成された動きデータを、前記同一の半導体チップパッケージ内で一体化されている前記スマートイメージセンサのメモリに、ストリーミングするための回路をさらに含む、請求項２３に記載のマシン読取可能なデータ格納媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連事例
本願は、「Smart Image Sensor Having Integrated Memory and Processor（一体化されたメモリおよびプロセッサを有するスマートイメージセンサ）」と題された、２０１５年８月１９日に出願された米国仮特許出願第６２／２０７，２３２号の利益を主張し、ここにその全体が引用により援用される。
【０００２】
発明の分野
発明の分野は、一般に撮像に関し、より具体的には、集積メモリおよびプロセッサを有するカメラに関する。
【背景技術】
【０００３】
背景
図１は、コンピュータシステム内のカメラ関連機能の従来のデータフロー１、２、３を示す図である。多くの現在のコンピュータシステムでは、カメラ１０１は処理知能をほとんど、または全く有していない。その結果、カメラ１０１自体の複雑な機能、または、カメラ画像を使用するアプリケーションは、コンピュータシステムの汎用の、単数または複数の処理コア１０５（１つ以上のアプリケーションプロセッサ（applications processors）など）で実行されることが典型的である。
【０００４】
図１に示すように、これらの機能／アプリケーションを単数または複数の処理コア１０５で実行すると、コンピュータシステム内の大量のデータ移動が非常に煩雑になり、かつ、１つまたは複数のコア１０５からカメラ１０１に戻るまでのフィードバック経路の待ち時間も長くなる。また、全体的に非効率なため、トラフィックの輻輳およびシステムの消費電力が増加する。
【０００５】
たとえば、１つまたは複数のコア１０５で実行されるオートフォーカス（auto-focus）ルーチンを考えてみる。ここで、画像データの全フレームは、カメラ１０１からＩ／Ｏコントロールハブ１０２およびメモリコントローラ１０３を介して導かれて、システムメモリ１０４に書き込まれる（１）。コア１０５がオートフォーカスルーチンを実行するためには、画像データは、システムメモリ１０４から処理のためにコアに呼び出される（２）。ここで、大量のデータが経路１および２に沿って移動されるので、待ち時間が長くなり、システム内の消費電力およびトラフィックの輻輳が増加する。
【０００６】
加えて、オートフォーカスルーチンが分析を終えて単数または複数のコア１０５が次のオートフォーカスコマンドをカメラ１０１に伝達しようとすると、このコマンドはメモリコントローラ１０３および／またはＩ／Ｏコントロールハブ１０２を介して進行し（３）、最終的にカメラ１０１に達する。その途中で、コマンドをシステム内の別の場所でキューに入れてもよい。したがって、画像データが最初に送信された（１）時から画像データに基づいたフィードバックコマンドを最終的に受け取る（３）までに、カメラ１０１側から見ると輻輳がさらに観測される。
【発明の概要】
【課題を解決するための手段】
【０００７】
要約
装置について説明する。この装置は、メモリとプロセッサとを有するスマートイメージセンサを備え、メモリおよびプロセッサはイメージセンサとローカルに一体化される。メモリは、イメージセンサとプロセッサとに接続される。メモリは、プロセッサによって実行されるべき第１のプログラムコードを格納する。メモリは、プロセッサによって実行されるべき第２のプログラムコードを格納する。第１のプログラムコードは、スマートイメージセンサに、イメージセンサによって撮像された１つ以上の画像を分析させる。この分析は、１つ以上の画像内の対象領域（region of interest）を、以前に撮像された画像からの機械学習を用いて識別する。第２のプログラムコードは、スマートイメージセンサに、第１のプログラムコードの実行によって実行される１つ以上の画像の分析に応じて、イメージセンシングおよび／または光学パラメータを変更させる。代替的に、またはこれと組み合わせて、メモリは、プロセッサによって実行されるべき第３のプログラムコードおよびプロセッサによって実行されるべき第４のプログラムコードを格納する。第３のプログラムコードは、イメージセンサによって撮像された複数の画像をメモリに格納する。第４のプログラムコードは、メモリ内の複数の画像をマージする。
【０００８】
以下の説明および添付の図面は、発明の実施形態を説明するために用いられる。
【図面の簡単な説明】
【０００９】
【図１】コンピュータシステムを示す図である。
【図２】一体化されたメモリおよびプロセッサを有するカメラを示す図である。
【図３】図２のカメラで実行可能なアプリケーションソフトウェアを示す図である。
【図４Ａ】図２のカメラによって行なわれ得るオートフォーカスアプローチの関連図である。
【図４Ｂ】図２のカメラによって行なわれ得るオートフォーカスアプローチの関連図である。
【図５Ａ】図２のカメラによって行なわれ得るオートフォーカスアプローチの関連図である。
【図５Ｂ】図２のカメラによって行なわれ得るオートフォーカスアプローチの関連図である。
【図５Ｃ】図２のカメラによって行なわれ得るオートフォーカスアプローチの関連図である。
【図６Ａ】図２のカメラを使用して静止画像のためにＥＩＳを行なう技術の関連図である。
【図６Ｂ】図２のカメラを使用して静止画像のためにＥＩＳを行なう技術の関連図である。
【図７】図２のカメラを使用してハイダイナミックレンジビデオ画像を生成する技術の関連図である。
【発明を実施するための形態】
【００１０】
詳細な説明
図２は、カメラ特有の処理知能を、たとえばカメラパッケージ２０１自体に移行する、改良されたアプローチを示す図である。図２に示すように、カメラパッケージ２０１内に位置する典型的な光学素子／サーボ２０２およびイメージセンサ２０３とは別に、メモリ２０４およびプロセッサ２０５も存在する。図２に示すように、さまざまなデバイス２０２〜２０５を、カメラパッケージ２０１内で積み重ねてもよい。これらの構成要素２０２〜２０５の全てを１つのカメラパッケージ２０１において組み合わせることによって、多くのカメラ特有の機能をカメラ自体の中で実行することが可能になり、それによって、システムメモリまでのおよびそれを越えたフローが長くなりかつ非効率になることを防止できる。
【００１１】
他の実施形態では、プロセッサ２０５および／またはメモリ２０４はカメラパッケージ２０１外に設けられてもよいが、それでもやはり、図１を参照して説明された煩雑な経路を取り除くために、物理的および／またはアーキテクチャ的にカメラパッケージ２０１の近くに設けられる。
【００１２】
図２に示すように、いくつかの独自のデータフローは、カメラ２０１にローカルに受け入れられ得る。フロー２０６は、プロセッサ２０５を用いて実現される内部処理知能によってカメラ２０１が画像データを分析し、かつ、よりい小さな対象領域を認識できるフローに該当する。したがって、コンピュータシステムの単数または複数の汎用ＣＰＵコアによって処理されるべくシステムを介して転送される必要のある全データ量を効果的に削減できるように、対象領域のより小さなフットプリントサイズのデータのみがカメラから、たとえば、アプリケーションプロセッサによるさらなる処理のためにシステムメモリに送られる。
【００１３】
フロー２０７は、これも同様にプロセッサ２０５を用いて実現される処理知能によって、カメラがそれ自体の画像データ分析に基づいて独立してそのさまざまな内部機能を制御できる、別のフローを表す。たとえば、カメラプロセッサ自体のデータ分析に基づいて、新しいオートフォーカス設定を設定可能であり、および／または、新しい露光時間を設定可能である。
【００１４】
動作中、光学素子２０２およびイメージセンサ２０３は、標準カメラ動作と一致した画像を撮像する。しかしながら、カメラから外に画像データを直接伝えるのではなく、図２の新規なカメラがそれ自体のローカルなメモリ２０４内に画像データを書き込む。画像データの格納とは別に、メモリ２０４を使用して、プロセッサ２０５によって実行されるプログラムコードを格納することも可能である。したがって、プロセッサ２０５は、そのさまざまなアプリケーションを実行する際に、メモリ２０４から実行する。
【００１５】
図３は、ローカルなカメラプロセッサ３０４が実行可能ないくつかの種類のアプリケーションのハイレベルビューを示す図である。図３に示すように、いくつかの考え得るアプリケーションには、シーン分析３０１機能（たとえば、物体認識、オートフォーカシング）、（たとえば、適切な露光時間設定、画像解像度、またはダイナミックレンジを決定するための）画質分析３０２、および（たとえば、画像内の特徴の動きに基づいて、またはそのような動作がないことに基づいて、高または低フレームレートが適切かどうかを設定するための）動作分析３０３が含まれる。
【００１６】
他の実施形態では、カメラ内のイメージセンサは、異なる解像度および／またはダイナミックレンジを有する複数のアナログ―デジタル変換器のバンクを含む。さまざまな画質タスクによると、プロセッサは、複数のＡＤＣのうちの特定のいくつかを可能化しつつ、その他のＡＤＣを不能化してもよい。たとえば、画像分析に基づいて低解像度が適切であれば（画像はほぼ均一な結像を有するので）、内部プロセッサはイメージセンサにコマンドを送って、低解像度／低ダイナミックレンジＡＤＣを可能化し、高解像度／高ダイナミックレンジＡＤＣを不能化してもよい。
【００１７】
図４Ａおよび図４Ｂは、インテリジェントカメラのオートフォーカスの実施形態についてさらに詳細に示す図である。図４Ａに示すように、カメラのイメージセンサ、メモリおよびプロセッサを、合わせてスマートイメージセンサ４０１として捉えることができる。スマートイメージセンサ４０１は、画像分析エンジン４０２を用いて、たとえば、そのオートフォーカスルーチンの初期部分としてシーン分析を行うことが可能である。オートフォーカスルーチンは数値的に大きくなり得るため、スマートイメージセンサは、自動機能数字を収集、更新、および／または他の態様で処理する統計エンジン４０３も含む。スマートイメージセンサは、１つの回路パッケージに一体化するのが最も有利であり得、システムオンチップであることが最も好ましい。
【００１８】
ハイブリッドオートフォーカスエンジン４０４は、１）レーザに基づくオートフォーカス、２）位相検出に基づくオートフォーカス、または３）コントラストに基づくオートフォーカスのうちのいずれか１つ以上のルーチン／タスクも行い得る。シーン分析エンジン４０２、統計エンジン４０３、およびハイブリッドオートフォーカスエンジン４０４のいずれかまたは全ては、スマートイメージセンサのプロセッサによってカメラのメモリから実行されるプログラムコードとして実現可能である。
【００１９】
ある実施形態では、スマートイメージセンサ４０１は、高速フレームレート（たとえば、毎秒１２０フレーム（ｆｐｓ））で処理される小さなサイズの（「部分的な」）画像に対してオートフォーカスルーチンを行なう。フレームレートが高速なため、スマートイメージセンサは、従来実現されていたよりも素早くオートフォーカスを行なうことができる。汎用コア（もしあれば）までの転送が必要なフルサイズのオートフォーカス情報は遅いフレームレート（たとえば、３０ｆｐｓ）で提供することが可能であり、システムを通じて外部に受け渡されるデータの全レートを減らす。
【００２０】
スマートイメージセンサ４０１は、レンズサーボ／アクチュエータ４０５にコマンドを直接提供して、オートフォーカシング機能の一部としてレンズ位置決めを制御することも可能である。加えて、たとえば、レーザに基づく自動検出方式の場合、スマートセンサは、飛行時間深度画像化（time-of-flight depth imaging）用のレーザ光を生成するためにも使用されるレーザ装置にコマンドを直接提供可能である。
【００２１】
図４Ｂは、図４Ａのカメラシステムよって実行可能なオートフォーカシング技法を示す図である。図４Ｂに示すように、オートフォーカスルーチンは、最初にシーン分析４１０を行なって、たとえば、フォーカスすべき対象物体を認識する。シーン分析の物体認識は、データの小さなフットプリントまたは「部分画像」で実行可能である（たとえば、画像内の１行おきまたは２行おきにわたって動作する）。
【００２２】
加えて、ある程度の機械学習または訓練４１３が前もって適用可能であり、および／または、シーン分析４１１に対応し得る。ここで、プロファイル内に一般的な人物のプロファイルがただ単に存在しているという認識以外に、シーン分析機能４１１は、以前に撮像された画像に基づいて画像内に特定の人物を認識できるほど利口であり得る。
【００２３】
ここで、機械学習プロセス４１３は、カメラによって撮像された（たとえば、かつ、装置のフォトライブラリに格納された）以前の写真／画像を精査し、特定の人物の写真が頻繁に撮像されていると認識し得る。その後、機械学習機能４１３は特定の人物の顔認識プロファイルを構築し、シーン分析４１０を行なうときに、現在撮像中の画像内において（たとえば、大勢の人々の中の背景において）、フォーカスすべき対象領域としてその人物の顔を探してもよい、または、フラグを立ててもよい。本質的に、以前に撮像された画像の履歴が写真の撮影者による興味を示している物体はどれも、シーン分析機能４１０がフォーカスすべき対象領域を決定するために使用する、物体のための特定のプロファイルを構築するために使用可能である。
【００２４】
対象領域がシーン分析プロセス４１０によって決定されると、１種類以上のオートフォーカス技術を適用して、レンズ位置を正しいフォーカス位置４１１の「おおよその範囲内に」迅速に動かすことが可能である（ただし、画質分析および／または動作分析は、（オートフォーカシングと共にまたは別に）対象領域の識別に基づいた機械学習に応じて、１つ以上の画像内の対象領域の１つ以上の画像に対して行なうことも可能である）。図４Ｂの特定の種類の実施形態においては、レーザおよび位相検出（ＰＤ）の２つの異なるオートフォーカス技術が同時に適用されている。２つの異なるオートフォーカス技術の同時の適用によってほぼ正しいレンズ位置を確定し、サーボがそれに応じて調節された後で、第３のオートフォーカス技術（コントラスト）が適用されて４１２、最終的に正しい位置と理解されている位置にレンズを最終的に移動させる。したがって、プロセス４１１はある種の粗調節の機能を果たし、プロセス４１２はある種の微調節の機能を果たす。
【００２５】
図５Ａ〜図５Ｃは、前述のオートフォーカス技術のいくつかのさまざまな観点を示す図である。図５Ａは、カメラがシーン分析４１０を行い、レーザオートフォーカスおよび位相検出オートフォーカスを用いて初期同時オートフォーカシング４１１を行なう第１の実施形態を示す図である。しかしながら、コントラストオートフォーカシング４１２は、アプリケーションプロセッサによって、遅いフレームレートを有する大きなフレームに対して実行される。オートフォーカスは、アプリケーションプロセッサが何らかのユーザインターフェースアクティビティを検出することによって、または、カメラがシーンの変化を検出することによって、もしくは機械学習物体認識プロファイルを有する特定の物体を検出することによって、トリガされ得る。
【００２６】
図５Ｂは、カメラが初期のレーザおよび位相検出オートフォーカス４１１を行なうだけでなくレーザコントラストに基づくオートフォーカス４１２も行う、第２の実施形態を示す図である。図５Ａおよび図５Ｂを比較すると、カメラとアプリケーションプロセッサとの間の長い待ち時間フィードバックループが取り除かれていてカメラがより速いフレームレートを有するより小さな画像に対して動作するため、カメラがいかに早くオートフォーカスできるかについて注目すべきである。
【００２７】
図５Ｃは、アプローチの観点で５Ｂの実施形態に類似する第３の実施形態を示す図であるが、カメラは、初期のレーザおよび位相検出オートフォーカスシーケンスの間により積極的に（より速く）作用する。ここで、より速いレーザおよび位相検出オートフォーカスは、より速いレート（および可能であればより大きな画像）およびより速いクロック速度で実現可能である。一般に、図５Ｂおよび図５Ｃは、性能（どれぐらい速くオートフォーカスが実現されるか）と消費電力との間のトレードオフを示す。
【００２８】
図６Ａおよび図６Ｂは、ここで説明されるようなスマートカメラのさらに他の使用に関する。当該技術において理解されているように、光学式手振れ補正（ＯＩＳ）および電子式手振れ補正（ＥＩＳ）の２種類の手振れ補正（image stabilization）が存在する。手振れ補正は、カメラの「揺れ」に応じて、かつ、それを相殺するために画像内容を調節する技術である。たとえば、手持ち式のデバイスによって写真を撮影している人物の手が揺れていると、手振れ補正機構は、観察される画像から手の動きの影響を除去しようとする。
【００２９】
静止画像を撮影している（すなわち、１枚の写真を撮影している）場合を除いて、ＥＩＳは全ての点（ビデオ、消費電力、コスト）においてＯＩＳより一般に優れているという見方がある。ＯＩＳを伴う静止画像の場合、カメラはあるレートで揺れているため、カメラの光学素子は、その揺れに応じて容易に調節／移動されて、実質的に露光時間を増やし、さらによい画質をもたらす。ここで、機械式カメラの光学素子は、アプリケーションプロセッサを安定化プロセスから除くために、ジャイロスコープからのデータに即座に反応するように設計されている。これとは対照的に、従来のＥＩＳは、画像にタイムスタンプを押し、タイムスタンプを押した画像をアプリケーションプロセッサまで転送しなければならない。加えて、ジャイロスコープの情報にもタイムスタンプが押され、画像のタイムスタンプと比較されるため、カメラの位置をアプリケーションプロセッサによって画像ごとに理解することができる。上記で詳細に説明したフィードバック待ち時間のために、従来のコンピュータシステムは、静止画像を撮像する場合は、ＥＩＳを行なうのに十分な速度で手の動きに反応することが困難である。
【００３０】
図６Ａおよび図６Ｂは、ＥＩＳがカメラによってローカルに行なわれるため、待ち時間が大幅に短縮された静止画像についてＥＩＳを行なうための実施形態に関する。ここで、図６Ａは、ジャイロスコープ（または、カメラの動きを説明する情報を生成する他のデバイス）から揺れを記述する情報がカメラのメモリ６０４に流入する、第１のデータフロー６０１を示す図である。加えて、図６Ａは、イメージセンサ６０３によって撮像された画像もメモリ６０４に格納される、第２のフロー６０２を示す図である。したがって、撮像された各画像は、関連するジャイロスコープメタデータをメモリ６０４内に有する。
【００３１】
図６Ｂは、（ソフトウェアの実行と比較して処理を早めるために）ソフトウェアとしてのカメラプロセッサ６０５、および／または、カメラ内の専用のカスタム論理回路によって実行可能な処理を示す図である。図６Ｂに示すように、かつ、上述のように、イメージセンサによって撮像された静止画像およびそれらの画像のためのジャイロデータは、メモリ６０４内に格納される６１１。メモリ内への画像の格納は、画像内の対象領域のシーン分析機能（機械学習プログラムコードなど）による認識に応じて行なわれてもよい。
【００３２】
その後、ジャイロデータを使用して画像を揃える６１２。ここで、たとえば、カメラが画像＃１の後で左に１ｍｍ移動したと画像＃２に対応するジャイロデータが示す場合、カメラインテリジェンスは（電子的に）画像＃２を実質的に右に１ｍｍ移動させて、ジャイロスコープによって記録された手の動きを相殺する。したがって、＃１および＃２の画像が揃えられる。同様のシーケンスを、たとえば複数の画像について、たとえば５〜１０画像（両端を含む）の間で実現可能であり、その結果、これら複数の画像の全てが実質的に揃えられる。
【００３３】
次に、さきほど揃えられた複数の画像がマージされる６１３。このマージは、たとえば、画像の揃えられた画素値を加算して画像の数で除算することによって実現され、画像における位置ごとの平均値が実質的に生成される。このマージ動作は、手振れ補正の主目的である、画像の露光時間を実質的に増加させる（手振れ補正がなければ、カメラが動いている状態では、ボケていない高画質（長い露光時間）画像を撮像することは困難である）。プロセッサは、ソフトウェアにおいてマージを行なってもよく６１３、または、マージプロセスの速度を速めるために、スタンドアローンのカスタム論理回路（たとえば、プロセッサに対するコプロセッサとして）がカメラ内でインスタンス化されてマージ６１３を早く行なってもよい。さまざまな実施形態において、カスタムのマージ回路ブロックは、各々が完全にプログラム可能な多くのコアで構成されるアーキテクチャを有し得る。このアーキテクチャは、ＡＸＩ４、ＭＩＰＩ、およびＡＨＢ／ＡＰＢバスを有する入／出力ユニットで構成可能であり、これらのバスを通じて、システム接続性が得られる。また、このアーキテクチャは、ストレージ／ライン・バッファプール（たとえば、ＳＲＡＭ）および２Ｄ  ＳＩＭＤコンピュータ（コア）で構成され得る。
【００３４】
図７は、インテリジェントカメラによって実行可能な他の技法に関する。図７の技法は、ハイダイナミックレンジ画像の生成に関する。ダイナミックレンジは、低輝度信号および高輝度信号の双方を検出する能力に相当する。
【００３５】
図７の技法によると、画像の異なる組が撮影されてカメラメモリに格納され、これらの画像の異なる組は、異なる数の画像を有する７０１（メモリでの画像の格納は、画像内の対象領域のシーン分析機能（機械学習プログラムコードなど）による認識に応じて行なわれ得る）。たとえば、第１の組は３枚の画像のみ有し得、他の組は５枚の画像を有し得、他の組は１０枚の画像を有し得る、などである。ここで、画像の数がより多い組は露光時間のより長い１枚の画像に実質的に対応するため、正確に弱い信号を検出可能である。これとは対照的に、より画像の数がより少ない組は露光時間のより短い１枚の画像に実質的に対応するため、正確により強い信号を検出することができる。
【００３６】
その後、画像の組はマージされてハイダイナミックレンジビデオストリームを生成する７０２。ここで、たとえば、ビデオストリームが暗い部屋で撮影されている場合、ビデオストリームはより多くの画像を有する単数または複数の組の平均で構成され得る。同様に、ビデオストリームが明るい部屋で撮影されている場合、ビデオストリームはより少ない画像を有する単数または複数の組の平均で構成され得る。またさらに、同一の画像フレームの領域が高輝度領域および低輝度領域の双方を有している場合、高輝度を有する画像フレーム部分は、より少ない画像を有する複数の組から確立可能であり、低輝度を有する画像フレーム部分はより多くの画像を有する複数の組から確立可能であり、ハイダイナミックレンジを有する１つのフレームを生成できる。
【００３７】
図７の技法は、カメラプロセッサによってソフトウェア内で全体的に実施可能である。他の実施形態では、カスタム論理回路がカメラにおいてインスタンス化されて、画像の異なる組の平均化および／または１つのビデオストリームへのマージを早める。さまざまな実施形態では、カスタム回路ブロックは、多くのコアで構成されたアーキテクチャを有してもよく、コアの各々は、完全にプログラム可能である。アーキテクチャは、ＡＸＩ４、ＭＩＰＩ、およびＡＨＢ／ＡＰＢバスを有する入／出力ユニットで構成可能であり、これらのバスを通じて、システム接続性が得られる。また、このアーキテクチャは、ストレージ／ライン・バッファプール（たとえば、ＳＲＡＭ）および２Ｄ  ＳＩＭＤコンピュータ（コア）で構成され得る。
【００３８】
上述の教示をスタンドアローンカメラ、またはサーバ、デスクトップ、ラップトップ、タブレット、スマートフォン、もしくは他の手持ち式デバイスのようなコンピュータシステムと一体化された、またはそれに統合されたカメラ、またはスマート家電に応用可能であると指摘することは適切である。
【００３９】
カメラは、カメラプロセッサによって実行されるプログラムコードを格納する不揮発性メモリを備えてもよく、または、そのようなコードは、システムの起動中にカメラメモリにロード可能である。
【００４０】
本発明の実施形態は、上述のさまざまなプロセスを含み得る。これらのプロセスは、マシン実行可能な命令において具体化可能である。これらの命令は、汎用または特殊用途プロセッサに特定のプロセスを行なわせるために使用可能である。代替的に、これらのプロセスは、プロセスを行なうためにハードワイヤードロジックを含む特定のハードウェア構成要素によって実現可能である、または、プログラムされたコンピュータ構成要素およびカスタムのハードウェア構成要素のいかなる組合せによっても実現可能である。
【００４１】
また、本発明の要素を、マシン実行可能な命令を格納するためのマシン読取り可能な媒体として提供することができる。マシン読取り可能な媒体の例は、フロッピー（登録商標）ディスケット、光ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、フラッシュメモリ、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カード、光学カード、伝搬媒体、または電子命令の格納に好適な他の種類の媒体／マシン読取り可能な媒体を含み得るが、これらに限定されるわけではない。たとえば、本発明は、通信リンク（たとえば、モデムまたはネットワーク接続）を介した搬送波または他の伝搬媒体で実現されるデータ信号によってリモートコンピュータ（たとえば、サーバ）から要求側のコンピュータ（たとえば、クライアント）に転送可能な、コンピュータプログラムとしてダウンロード可能である。
【００４２】
上述の明細書では、本発明は特定の例示的な実施形態を参照して説明された。しかしながら、添付の特許請求の範囲で説明するように、本発明の精神および範囲内で本発明にさまざまな修正および変更を行なうことが可能であることは明らかである。したがって、本明細書および図面は、制限的なものではなく例示的なものであると認識されるべきである。
【図１】
0006644809.tif 000002
【図２】
0006644809.tif 000003
【図３】
0006644809.tif 000004
【図４Ａ】
0006644809.tif 000005
【図４Ｂ】
0006644809.tif 000006
【図５Ａ】
0006644809.tif 000007
【図５Ｂ】
0006644809.tif 000008
【図５Ｃ】
0006644809.tif 000009
【図６Ａ】
0006644809.tif 000010
【図６Ｂ】
0006644809.tif 000011
【図７】
0006644809.tif 000012