(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-10-12
(54)【発明の名称】動的にプログラム可能な画像センサー
(51)【国際特許分類】
H04N 5/225 20060101AFI20221004BHJP
G06T 7/00 20170101ALI20221004BHJP
G06V 10/82 20220101ALI20221004BHJP
H04N 5/341 20110101ALI20221004BHJP
H04N 5/64 20060101ALI20221004BHJP
H04N 5/232 20060101ALI20221004BHJP
H04N 5/235 20060101ALI20221004BHJP
【FI】
H04N5/225 300
G06T7/00 350C
G06V10/82
H04N5/341
H04N5/64 511A
H04N5/232 290
H04N5/235 100
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021571319
(86)(22)【出願日】2020-08-04
(85)【翻訳文提出日】2022-01-28
(86)【国際出願番号】 US2020044807
(87)【国際公開番号】W WO2021026105
(87)【国際公開日】2021-02-11
(32)【優先日】2019-08-05
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-08-03
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】515046968
【氏名又は名称】メタ プラットフォームズ テクノロジーズ, リミテッド ライアビリティ カンパニー
【氏名又は名称原語表記】META PLATFORMS TECHNOLOGIES, LLC
(74)【代理人】
【識別番号】110002974
【氏名又は名称】弁理士法人World IP
(72)【発明者】
【氏名】ベルコビッチ, アンドリュー サミュエル
(72)【発明者】
【氏名】ピンカム, リード
(72)【発明者】
【氏名】シュミット, タナー
【テーマコード(参考)】
5C024
5C122
5L096
【Fターム(参考)】
5C024AX01
5C024AX06
5C024CX37
5C024GX03
5C024GX07
5C024GX08
5C024HX23
5C024HX57
5C122FC01
5C122FC02
5C122FC06
5C122FH11
5C122FH12
5C122HB01
5L096CA04
5L096HA05
5L096HA11
5L096JA11
5L096KA04
5L096KA15
(57)【要約】
一例では、装置が、半導体パッケージ内に形成されたピクセルセルアレイとコントローラとを備える。ピクセルセルアレイは、第1の時間において、およびコントローラから受信された第1のプログラミング信号に基づいて、第1の画像フレームを生成することと、第1の画像フレームをホストプロセッサに送信することと、第1の画像フレームまたは第2の画像フレームをコントローラに送信することであって、第2の画像フレームが、第1の時間において生成され、第1の画像フレームとは異なる、ピクセルのスパース性を有する、第1の画像フレームまたは第2の画像フレームを送信することとを行うように構成される。コントローラは、ホストプロセッサから第2のプログラミング信号を受信することであって、第2のプログラミング信号が、第1の画像フレームに基づいてホストプロセッサによって決定される、第2のプログラミング信号を受信することと、第2のプログラミング信号に基づいて第1のプログラミング信号を更新することと、更新された第1のプログラミング信号に基づいて後続の画像フレームを生成するようにピクセルセルアレイを制御することとを行うように構成される。
【選択図】
図8A
【特許請求の範囲】
【請求項1】
ピクセルセルアレイであって、前記ピクセルセルアレイ中の各ピクセルセルがフォトダイオードと処理回路とを含み、前記フォトダイオードが、第1の半導体基板中に形成され、前記処理回路が、1つまたは複数の第2の半導体基板中に形成される、ピクセルセルアレイと、
前記1つまたは複数の第2の半導体基板のうちの少なくとも1つ中に形成されたコントローラであって、前記第1の半導体基板および前記1つまたは複数の第2の半導体基板が、スタックを形成し、半導体パッケージ内に収容される、コントローラと
を備える装置であって、
前記ピクセルセルアレイは、
第1の時間において、および前記コントローラから受信された第1のプログラミング信号に基づいて、第1の画像フレームを生成することと、
前記第1の画像フレームをホストプロセッサに送信することと、
前記第1の画像フレームまたは第2の画像フレームを前記コントローラに送信することであって、前記第2の画像フレームが、前記第1の時間において生成され、前記第1の画像フレームとは異なる、ピクセルのスパース性を有する、前記第1の画像フレームまたは第2の画像フレームを送信することと
を行うように構成され、
前記コントローラは、
前記ピクセルセルアレイから前記第1の画像フレームまたは第2の画像フレームを受信することと、
ホストプロセッサから第2のプログラミング信号を受信することであって、前記第2のプログラミング信号が、前記第1の画像フレームに基づいて前記ホストプロセッサによって決定される、第2のプログラミング信号を受信することと、
前記第2のプログラミング信号に基づいて前記第1のプログラミング信号を更新することと、
更新された前記第1のプログラミング信号に基づいて第2の時間において後続の画像フレームを生成するように前記ピクセルセルアレイを制御することと
を行うように構成された、装置。
【請求項2】
前記ホストプロセッサをさらに備え、
前記コントローラは、前記第1の画像フレームまたは前記第2の画像フレームに基づいて、および前記ピクセルセルアレイが画像フレームを生成するフレームレートにおいて、前記第1のプログラミング信号を更新するようにさらに構成され、
前記ホストプロセッサが、前記フレームレートよりも低いレートにおいて前記第2のプログラミング信号を更新するように構成された、
請求項1に記載の装置。
【請求項3】
前記第1のプログラミング信号が、前記ピクセルセルアレイのピクセルセルの第1のサブセットを識別する前記第1のプログラミング信号の第1のサブセットと、前記ピクセルセルアレイのピクセルセルの第2のサブセットにおいて識別する第1のプログラミング信号の第2のサブセットとを含み、
前記コントローラが、前記第1のプログラミング信号の前記第1のサブセットによって識別されたピクセルセルの前記第1のサブセットを更新することと、前記第1のプログラミング信号の前記第2のサブセットによって識別されたピクセルセルの前記第2のサブセットを更新することとを行うようにさらに構成された、
請求項1に記載の装置。
【請求項4】
前記第1のプログラミング信号の前記第1のサブセットが、前記ホストプロセッサに第1の解像度においてピクセルデータを出力するようにピクセルセルの前記第1のサブセットを制御し、
前記第1のプログラミング信号の前記第2のサブセットが、前記ホストプロセッサに、ピクセルデータを出力しないように、または前記第1の解像度よりも低い第2の解像度においてピクセルデータを出力するように、ピクセルセルの前記第2のサブセットを制御する、
請求項3に記載の装置。
【請求項5】
前記コントローラが、
前記第2のプログラミング信号に基づいて、処理結果を生成するために前記第1の画像フレームまたは前記第2の画像フレームに対して画像処理動作を実施することと、
前記処理結果に基づいて前記第1のプログラミング信号を更新することと
を行うようにさらに構成された、請求項1に記載の装置。
【請求項6】
前記画像処理動作は、
前記第1の画像フレームまたは前記第2の画像フレーム中に含まれる各ピクセルについて、前記第1の時間より前に前記ピクセルセルアレイによって生成された第3の画像フレーム中の対応するピクセルに対するピクセル値差を決定することと、
前記ピクセル値差がしきい値を超える、前記第1の画像フレームまたは前記第2の画像フレーム中のピクセルのサブセットを識別することと
を含み、
前記コントローラが、前記ピクセルセルアレイのピクセルセルのサブセットを識別することに基づいて前記第1のプログラミング信号を更新するようにさらに構成され、ピクセルセルの前記サブセットが、ピクセルの前記サブセットに基づいて識別され、
前記第2のプログラミング信号が前記しきい値を定義する、請求項5に記載の装置。
【請求項7】
前記ホストプロセッサをさらに備え、
前記ホストプロセッサが、前記第1の画像フレームから周囲光強度を決定することに基づいて前記しきい値を設定するように構成された、
請求項6に記載の装置。
【請求項8】
前記画像処理動作が、関心オブジェクトのターゲット特徴を含む、前記第1の画像フレーム中のまたは前記第2の画像フレーム中のピクセルのサブセットを識別することを含み、
前記コントローラが、前記ピクセルセルアレイのピクセルセルのサブセットを識別することに基づいて前記第1のプログラミング信号を更新するようにさらに構成され、ピクセルセルの前記サブセットが、ピクセルの前記サブセットに基づいて識別され、
前記第2のプログラミング信号が、前記ターゲット特徴に関する情報を含む、
請求項5に記載の装置。
【請求項9】
前記第2のプログラミング信号が、前記ターゲット特徴を含む、前記第1の画像フレーム中のピクセルの初期サブセットを指示し、
前記画像処理動作は、前記第1の画像フレーム中のまたは前記第2の画像フレーム中のピクセルの前記初期サブセットが前記関心オブジェクトの前記ターゲット特徴を含むかどうかを決定することに基づいて、ピクセルの前記サブセットを識別することを含む、
請求項8に記載の装置。
【請求項10】
前記コントローラが、
前記関心オブジェクトの移動に関する情報と、前記第1の時間と前記第2の時間との間の時間差とに基づいて、前記ターゲット特徴を含む、前記後続の画像フレーム中のピクセルの前記サブセットを決定することと、
前記後続の画像フレーム中のピクセルの前記サブセットに基づいて前記ピクセルセルアレイのピクセルセルのサブセットを決定することに基づいて前記第1のプログラミング信号を更新することと
を行うようにさらに構成され、
前記第2のプログラミング信号が、前記関心オブジェクトの前記移動に関する前記情報を含む、請求項8に記載の装置。
【請求項11】
前記第2のプログラミング信号は、前記第1のプログラミング信号に基づいて定義された、前記第1の画像フレーム中の前記ピクセルの初期サブセットが、すべての前記ターゲット特徴を含むとは限らないことを指示し、
前記画像処理動作が、前記第2のプログラミング信号に基づいて、前記ターゲット特徴を含む追加のピクセルを識別することを含む、
請求項8に記載の装置。
【請求項12】
前記コントローラが、前記画像処理動作を実施するためのニューラルネットワークモデルを含み、
前記第2のプログラミング信号が、前記ニューラルネットワークモデルの重み、前記重みを更新するための逆方向伝搬勾配、画像処理動作の予測される正確さ、または前記画像処理動作からの中間出力のうちの少なくとも1つを含む、
請求項8に記載の装置。
【請求項13】
前記ピクセルセルアレイの各ピクセルセルまたは前記ピクセルセルアレイのピクセルセルの各ブロックが、個々にアドレス指定可能であり、
前記第1のプログラミング信号が、各ピクセルセルを個々にターゲットにするピクセルレベル信号、またはピクセルセルの各ブロックをターゲットにするブロックレベル信号を含む、
請求項1に記載の装置。
【請求項14】
前記1つまたは複数の第2の半導体基板中のピクセルセルアレイの前記処理回路に、前記第1の半導体基板中の前記フォトダイオードによって生成された信号を送信するための、前記第1の半導体基板と前記1つまたは複数の第2の半導体基板との間のチップ間銅接合によって実装されたピクセル相互接続と、
前記ピクセルセルアレイから前記コントローラに前記画像フレームを送信するための、および前記コントローラから前記ピクセルセルアレイに前記第1のプログラミング信号を送信するための、前記第1の半導体基板と前記1つまたは複数の第2の半導体基板との間のスルーシリコンビア(TSV)と
をさらに備える、請求項1に記載の装置。
【請求項15】
前記ピクセルセルアレイが、ポイントツーポイントシリアルインターフェースを介して前記ホストプロセッサに結合され、前記ポイントツーポイントシリアルインターフェースを介して前記画像フレームを前記ホストプロセッサに送信するように構成された、請求項1に記載の装置。
【請求項16】
前記コントローラが、共有バスインターフェースを介して前記ホストプロセッサに結合され、前記共有バスインターフェースが、他のコントローラにさらに結合され、
前記コントローラが、前記共有バスインターフェースを介して前記ホストプロセッサから前記第2のプログラミング信号を受信するように構成された、
請求項1に記載の装置。
【請求項17】
第1のプログラミング信号に基づいて第1の時間において第1の画像フレームを生成することと、前記第1の画像フレームをホストプロセッサに送信することとを行うようにピクセルセルアレイを制御することと、
前記ピクセルセルアレイから、前記ピクセルセルアレイからの前記第1の画像フレームまたは第2の画像フレームを受信することであって、前記第2の画像フレームが、前記第1の時間において生成され、前記第1の画像フレームとは異なる、ピクセルのスパース性を有する、前記ピクセルセルアレイからの前記第1の画像フレームまたは第2の画像フレームを受信することと、
前記ホストプロセッサから第2のプログラミング信号を受信することであって、前記第2のプログラミング信号が、前記第1の画像フレームに基づいて前記ホストプロセッサによって決定される、第2のプログラミング信号を受信することと、
前記第2のプログラミング信号と、前記ピクセルセルアレイから受信された前記第1の画像フレームまたは前記第2の画像フレームとに基づいて、前記第1のプログラミング信号を更新することと、
更新された前記第1のプログラミング信号に基づいて第2の時間において後続の画像フレームを生成するように前記ピクセルセルアレイを制御することと
を含む、方法。
【請求項18】
前記第2のプログラミング信号に基づいて、処理結果を生成するために前記第1の画像フレームまたは前記第2の画像フレームに対して画像処理動作を実施することと、
前記処理結果に基づいて前記第1のプログラミング信号を更新することと
をさらに含む、請求項17に記載の方法。
【請求項19】
前記画像処理動作が、関心オブジェクトのターゲット特徴を含む、前記第1の画像フレーム中のまたは前記第2の画像フレーム中のピクセルのサブセットを識別することを含み、
前記第1のプログラミング信号が、ピクセルセルの前記サブセットを識別することに基づいて更新され、
前記第2のプログラミング信号が、前記ターゲット特徴に関する情報を含む、
請求項18に記載の方法。
【請求項20】
前記ピクセルセルアレイが、ポイントツーポイントシリアルインターフェースを介して前記第1の画像フレームを前記ホストプロセッサに送信し、
前記第2のプログラミング信号が、共有バスインターフェースを介して受信される、
請求項17に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
本特許出願は、本出願の譲受人に譲渡され、その全体がすべての目的のために参照により本明細書に組み込まれる、2019年8月5日に出願された、「ON-SENSOR PREDICTIVE SPARSE CAPTURE」と題する米国仮特許出願第62/883,014号の優先権を主張する。
【背景技術】
【0002】
本開示は、一般に画像センサーに関し、より詳細には、動的にプログラム可能な画像センサーに関する。
【0003】
一般的な画像センサーはピクセルセルアレイを含む。各ピクセルセルは、光子を電荷(たとえば、電子または正孔)に変換することによって光を検知するためのフォトダイオードを含み得る。各ピクセルセルにおいて変換された電荷は、量子化されてデジタルピクセル値になり得、デジタルピクセル値のアレイから画像が生成され得る。画像センサーの光検知および画像生成動作は、所定のプログラミング信号に基づいて構成され得る。
【発明の概要】
【0004】
本開示は、画像センサーに関する。より詳細には、限定はしないが、本開示は、画像センサーによってキャプチャされた画像データに基づいて、統合されたコントローラによって、およびホストデバイスによって動的にプログラム可能である、画像センサーに関する。
【0005】
一例では、装置が提供される。本装置は、ピクセルセルアレイであって、ピクセルセルアレイ中の各ピクセルセルがフォトダイオードと処理回路とを含み、フォトダイオードが、第1の半導体基板中に形成され、処理回路が、1つまたは複数の第2の半導体基板中に形成される、ピクセルセルアレイと、1つまたは複数の第2の半導体基板のうちの少なくとも1つ中に形成されたコントローラであって、第1の半導体基板および1つまたは複数の第2の半導体基板が、スタックを形成し、半導体パッケージ内に収容される、コントローラとを備える。ピクセルセルアレイは、第1の時間において、およびコントローラから受信された第1のプログラミング信号に基づいて、第1の画像フレームを生成することと、第1の画像フレームをホストプロセッサに送信することと、第1の画像フレームまたは第2の画像フレームをコントローラに送信することであって、第2の画像フレームが、第1の時間において生成され、第1の画像フレームとは異なる、ピクセルのスパース性を有する、第1の画像フレームまたは第2の画像フレームを送信することとを行うように構成される。コントローラは、ピクセルセルアレイから第1の画像フレームまたは第2の画像フレームを受信することと、ホストプロセッサから第2のプログラミング信号を受信することであって、第2のプログラミング信号が、第1の画像フレームに基づいてホストプロセッサによって決定される、第2のプログラミング信号を受信することと、第2のプログラミング信号に基づいて第1のプログラミング信号を更新することと、更新された第1のプログラミング信号に基づいて第2の時間において後続の画像フレームを生成するようにピクセルセルアレイを制御することとを行うように構成される。
【0006】
いくつかの態様では、本装置は、ホストプロセッサをさらに備える。コントローラは、ピクセルセルアレイが画像フレームを生成するフレームレートにおいて、第1のプログラミング信号を更新するようにさらに構成される。ホストプロセッサは、そのフレームレートよりも低いレートにおいて第2のプログラミング信号を更新するように構成される。
【0007】
いくつかの態様では、第1のプログラミング信号は、ピクセルセルアレイのピクセルセルの第1のサブセットを識別する第1のプログラミング信号の第1のサブセットと、ピクセルセルアレイのピクセルセルの第2のサブセットにおいて識別する第1のプログラミング信号の第2のサブセットとを含む。コントローラは、第1のプログラミング信号の第1のサブセットによって識別されたピクセルセルの第1のサブセットを更新することと、第1のプログラミング信号の第2のサブセットによって識別されたピクセルセルの第2のサブセットを更新することとを行うようにさらに構成される。
【0008】
いくつかの態様では、第1のプログラミング信号の第1のサブセットは、ホストプロセッサに第1の解像度においてピクセルデータを出力するようにピクセルセルの第1のサブセットを制御する。第1のプログラミング信号の第2のサブセットは、ホストプロセッサに、ピクセルデータを出力しないように、または第1の解像度よりも低い第2の解像度においてピクセルデータを出力するように、ピクセルセルの第2のサブセットを制御する。
【0009】
いくつかの態様では、コントローラは、第2のプログラミング信号に基づいて、処理結果を生成するために第1の画像フレームまたは第2の画像フレームに対して画像処理動作を実施することと、処理結果に基づいて第1のプログラミング信号を更新することとを行うようにさらに構成される。
【0010】
いくつかの態様では、画像処理動作は、第1の画像フレームまたは第2の画像フレーム中に含まれる各ピクセルについて、第1の時間より前にピクセルセルアレイによって生成された第3の画像フレーム中の対応するピクセルに対するピクセル値差を決定することと、ピクセル値差がしきい値を超える、第1の画像フレームまたは第2の画像フレーム中のピクセルのサブセットを識別することとを含む。コントローラは、ピクセルセルアレイのピクセルセルのサブセットを識別することに基づいて第1のプログラミング信号を更新するようにさらに構成され、ピクセルセルのサブセットは、ピクセルのサブセットに基づいて識別される。第2のプログラミング信号はしきい値を定義する。
【0011】
いくつかの態様では、本装置は、ホストプロセッサをさらに備える。ホストプロセッサは、第1の画像フレームから周囲光強度を決定することに基づいてしきい値を設定するように構成される。
【0012】
いくつかの態様では、画像処理動作は、関心オブジェクトのターゲット特徴を含む、第1の画像フレーム中のまたは第2の画像フレーム中のピクセルのサブセットを識別することを含む。コントローラは、ピクセルセルアレイのピクセルセルのサブセットを識別することに基づいて第1のプログラミング信号を更新するようにさらに構成され、ピクセルセルのサブセットは、ピクセルのサブセットに基づいて識別される。第2のプログラミング信号は、ターゲット特徴に関する情報を含む。
【0013】
いくつかの態様では、第2のプログラミング信号は、ターゲット特徴を含む、第1の画像フレーム中のピクセルの初期サブセットを指示する。画像処理動作は、第1の画像フレーム中のまたは第2の画像フレーム中のピクセルの初期サブセットが関心オブジェクトのターゲット特徴を含むかどうかを決定することに基づいて、ピクセルのサブセットを識別することを含む。
【0014】
いくつかの態様では、コントローラは、関心オブジェクトの移動に関する情報と、第1の時間と第2の時間との間の時間差とに基づいて、ターゲット特徴を含む、後続の画像フレーム中のピクセルのサブセットを決定することと、後続の画像フレーム中のピクセルのサブセットに基づいてピクセルセルアレイのピクセルセルのサブセットを決定することに基づいて第1のプログラミング信号を更新することとを行うようにさらに構成される。第2のプログラミング信号は、関心オブジェクトの移動に関する情報を含む。
【0015】
いくつかの態様では、第2のプログラミング信号は、第1のプログラミング信号に基づいて定義された、第1の画像フレーム中のピクセルの初期サブセットが、すべてのターゲット特徴を含むとは限らないことを指示し、画像処理動作は、第2のプログラミング信号に基づいて、ターゲット特徴を含む追加のピクセルを識別することを含む。
【0016】
いくつかの態様では、コントローラは、画像処理動作を実施するためのニューラルネットワークモデルを含む。第2のプログラミング信号は、ニューラルネットワークモデルの重み、重みを更新するための逆方向伝搬勾配、画像処理動作の予測される正確さ、または画像処理動作からの中間出力のうちの少なくとも1つを含む。
【0017】
いくつかの態様では、ピクセルセルアレイの各ピクセルセルまたはピクセルセルアレイのピクセルセルの各ブロックが、個々にアドレス指定可能である。第1のプログラミング信号は、各ピクセルセルを個々にターゲットにするピクセルレベル信号、またはピクセルセルの各ブロックをターゲットにするブロックレベル信号を含む。
【0018】
いくつかの態様では、本装置は、1つまたは複数の第2の半導体基板中のピクセルセルアレイの処理回路に、第1の半導体基板中のフォトダイオードによって生成された信号を送信するための、第1の半導体基板と1つまたは複数の第2の半導体基板との間のチップ間銅接合(chip-to-chip copper bonding)によって実装されたピクセル相互接続と、ピクセルセルアレイからコントローラに画像フレームを送信するための、およびコントローラからピクセルセルアレイに第1のプログラミング信号を送信するための、第1の半導体基板と1つまたは複数の第2の半導体基板との間のスルーシリコンビア(TSV)とをさらに備える。
【0019】
いくつかの態様では、ピクセルセルアレイは、ポイントツーポイントシリアルインターフェースを介してホストプロセッサに結合され、ポイントツーポイントシリアルインターフェースを介して画像フレームをホストプロセッサに送信するように構成される。
【0020】
いくつかの態様では、コントローラは、共有バスインターフェースを介してホストプロセッサに結合され、共有バスインターフェースは、他のコントローラにさらに結合される。コントローラは、共有バスインターフェースを介してホストプロセッサから第2のプログラミング信号を受信するように構成される。
【0021】
いくつかの例では、方法が提供される。本方法は、第1のプログラミング信号に基づいて第1の時間において第1の画像フレームを生成することと、第1の画像フレームをホストプロセッサに送信することとを行うようにピクセルセルアレイを制御することと、ピクセルセルアレイから、ピクセルセルアレイからの第1の画像フレームまたは第2の画像フレームを受信することであって、第2の画像フレームが、第1の時間において生成され、第1の画像フレームとは異なる、ピクセルのスパース性(sparsity)を有する、ピクセルセルアレイからの第1の画像フレームまたは第2の画像フレームを受信することと、ホストプロセッサから第2のプログラミング信号を受信することであって、第2のプログラミング信号が、第1の画像フレームに基づいてホストプロセッサによって決定される、第2のプログラミング信号を受信することと、第2のプログラミング信号に基づいて第1のプログラミング信号を更新することと、更新された第1のプログラミング信号に基づいて第2の時間において後続の画像フレームを生成するようにピクセルセルアレイを制御することとを含む。
【0022】
いくつかの態様では、本方法は、第2のプログラミング信号に基づいて、処理結果を生成するために第1の画像フレームまたは第2の画像フレームに対して画像処理動作を実施することと、処理結果に基づいて第1のプログラミング信号を更新することとをさらに含む。
【0023】
いくつかの態様では、画像処理動作は、関心オブジェクトのターゲット特徴を含む、第1の画像フレーム中のまたは第2の画像フレーム中のピクセルのサブセットを識別することを含む。第1のプログラミング信号は、ピクセルセルのサブセットを識別することに基づいて更新される。第2のプログラミング信号は、ターゲット特徴に関する情報を含む。
【0024】
いくつかの態様では、ピクセルセルアレイは、ポイントツーポイントシリアルインターフェースを介して第1の画像フレームをホストプロセッサに送信する。第2のプログラミング信号は、共有バスインターフェースを介して受信される。
【0025】
以下の図を参照しながら、例示的な実施形態が説明される。
【図面の簡単な説明】
【0026】
【
図1A-1B】ニアアイディスプレイ(near-eye display)の一実施形態の図である。
【
図2】ニアアイディスプレイの断面の一実施形態の図である。
【
図3】単一のソースアセンブリ(source assembly)をもつ導波路ディスプレイ(waveguide display)の一実施形態の等角図である。
【
図4】導波路ディスプレイの一実施形態の断面を示す図である。
【
図5】ニアアイディスプレイを含むシステムの一実施形態のブロック図である。
【
図6A-6B】画像センサーおよびその動作の例を示す図である。
【
図7A-7D】本開示の例による、撮像システムによってサポートされるべきアプリケーションの例を示す図である。
【
図8A-8B】撮像システムおよびその動作の例を示す図である。
【
図11】画像データを生成するための例示的なプロセスのフローチャートである。
【発明を実施するための形態】
【0027】
図は、単に説明の目的で本開示の実施形態を図示する。本開示の原理または本開示においてうたわれている利益から逸脱することなく、示される構造および方法の代替実施形態が採用され得ることを、当業者は以下の説明から容易に認識されよう。
【0028】
添付の図において、同様の構成要素および/または特徴は、同じ参照ラベルを有し得る。さらに、同じタイプの様々な構成要素は、同様の構成要素間を区別するダッシュおよび第2のラベルを参照ラベルの後に続けることによって区別され得る。第1の参照ラベルのみが明細書において使用される場合、説明は、第2の参照ラベルには関係なく同じ第1の参照ラベルを有する同様の構成要素のいずれか1つに適用可能である。
【0029】
以下の説明では、説明の目的で、いくつかの発明の実施形態の完全な理解を提供するために、具体的な詳細が記載される。ただし、様々な実施形態がこれらの具体的な詳細なしに実践され得ることは明らかであろう。図および説明は、限定するものではない。
【0030】
画像センサーはピクセルセルアレイを含む。ピクセルセルアレイ中の各ピクセルセルは、光検知動作を実施するための回路構成要素を含む。たとえば、各ピクセルセルは、光子を電荷(たとえば、電子または正孔)に変換することによって入射光を検知するためのフォトダイオードと、電荷を電圧に変換するための電荷検知ユニット(たとえば、フローティングドレインおよびバッファ)とを含み得る。画像センサーは、ピクセルセルの電荷検知ユニットによる電圧の出力をデジタル値に量子化するための1つまたは複数のアナログデジタル変換器(ADC)をも含み得る。ADCは、たとえば、比較器を使用して、電荷を表す電圧を1つまたは複数の量子化レベルと比較することによって、電荷を量子化することができ、比較結果に基づいてデジタル値が生成され得る。デジタル値は、次いで、画像を生成するためにメモリに記憶され得る。画像センサーは、一般に、画像センサーのピクセルセルの動作を構成するために1つまたは複数のチップレベルプログラミング信号を送出するためのコントローラを含む。たとえば、コントローラは、画像センサーのすべてのピクセルセルをオンまたはオフにし、ピクセルセルが光検知動作を実施するグローバル露光時間を設定することができる、などである。
【0031】
画像センサーからのピクセルデータは、2D検知と3D検知との融合、関心オブジェクトの認識および追跡、ロケーション追跡など、様々なアプリケーションをサポートすることができる。これらのアプリケーションは、画像から1つまたは複数のオブジェクトの特徴を抽出し、抽出された特徴に基づいて算出を実施することができる。たとえば、3D検知を実施するために、アプリケーションは、反射された構造化光のピクセル(たとえば、ドット)を識別し、ピクセルから抽出されたパターンを透過された構造化光と比較し、比較に基づいて深度算出を実施することができる。アプリケーションはまた、2D検知と3D検知との融合を実施するために、構造化光の抽出されたパターンを提供する同じピクセルセルから2Dピクセルデータを識別することができる。オブジェクト認識および追跡を実施するために、アプリケーションはまた、オブジェクトの画像特徴のピクセルを識別し、ピクセルから画像特徴を抽出し、抽出結果に基づいて認識および追跡を実施することができる。オブジェクト認識および追跡結果は、同時位置特定およびマッピング(SLAM)アプリケーション、視標追跡アプリケーションなど、より高いレベルのアプリケーションをサポートすることができる。これらのアプリケーションは、一般に、ホストプロセッサ上で実行され、ホストプロセッサは、画像センサーと電気的に接続され、オフチップ相互接続(たとえば、モバイルインダストリプロセッサインターフェースカメラシリアルインターフェース(MIPI CSI)およびI3Cバス)を介してピクセルデータを受信することができる。ホストプロセッサ、画像センサー、および相互接続は、たとえば、オブジェクト追跡アプリケーション、ロケーション追跡アプリケーション(たとえば、同時位置特定およびマッピング(SLAM))、および/または仮想/複合/拡張現実アプリケーションなど、特定のアプリケーションをサポートするための、モバイルデバイスのシステムの一部であり得る。いくつかの例では、ホストプロセッサはまた、クラウドシステム中にあり得、その場合、ホストプロセッサは、ワイヤード通信ネットワーク、ワイヤレス通信ネットワークなどを介して、画像センサーから画像データを受信することができる。
【0032】
これらのホストアプリケーションは、ピクセルセルアレイによって生成された画像データから恩恵を受けることができるが、電力消費、速度、正確さなど、撮像システム全体の性能は、様々なファクタによって制限され得る。第1に、一般に、それらのアプリケーションは、画像データの生成ならびにこれらのピクセルセルの光検知動作に対する制御を有しない。ピクセルセルの構成に関するホストアプリケーションからの入力の欠如は、画像センサーおよびこれらのアプリケーションの達成可能な性能に制限を課し得る。たとえば、ホストアプリケーションは、高解像度画像および/または高いフレームレートから恩恵を受けることができる。より高い解像度の画像は、アプリケーションが、より詳細な特徴/パターン(たとえば、反射された構造化光のより精細化されたパターン、より詳細な画像特徴)を抽出することを可能にするが、より高いフレームレートにおいて生成された画像を提供することは、アプリケーションが、より高いサンプリングレートにおいて、オブジェクトのロケーション、モバイルデバイスのロケーションなどを追跡することを可能にし、それらのどちらのプロセスでも、アプリケーションの性能を改善することができる。しかしながら、高解像度画像および高いフレームレートは、大量のピクセルデータの生成、送信、および処理につながり得、これは多数の課題を提示し得る。たとえば、高データレートにおいて大量のピクセルデータを送信および処理することは、画像センサー、相互接続、およびホストプロセッサにおける高い電力消費につながり得る。その上、画像センサーおよびホストプロセッサは、大量のピクセルデータの生成および処理に帯域幅制限を課し、レイテンシを追加し得る。高電力および高帯域幅要件は、フォームファクタおよび安全性考慮により、比較的低い電力でおよび比較的低い速度において動作する傾向があるモバイルデバイスにとって、特に問題になり得る。
【0033】
さらに、一般に、画像センサーおよびホストプロセッサは、異なる仕様に従って個々に設計および最適化される。そのような仕組みは、画像センサーとホストプロセッサとが撮像システムを形成するように組み合わせられるとき、画像センサーにおいておよびホストプロセッサにおいて、非効率性およびリソース(たとえば、電力、帯域幅)の浪費につながることがあり、これは、システム性能全体を劣化させる。たとえば、画像センサーは、各ピクセルセルからピクセルデータを生成し、あらゆる画像フレームにおいてホストプロセッサにピクセルデータを送信するように構成され得るが、ホストプロセッサは、特に、関心オブジェクトが、画像フレームにおいてキャプチャされるシーンの小さい一部のみである場合、オブジェクトを追跡するために、あらゆる画像フレームにおける各ピクセルセルからのピクセルデータを必要とするとは限らないことがある。一方、相互接続の帯域幅、ならびにホストプロセッサの処理能力は、画像フレームのフレームレートおよび解像度に制限を課することがある。制限されたフレームレートは、ホストプロセッサがオブジェクトを追跡するレートを低減することがあり、制限された解像度は、オブジェクトのピクセルを画像フレームの残りと区別する際の正確さを低減することがある。制限されたフレームレートと制限された解像度の両方が、オブジェクトを追跡する際のシステム性能全体を劣化させることがある。
【0034】
本開示は、上記の問題点のうちの少なくともいくつかに対処することができる撮像システムに関する。撮像システムは、ピクセルセルアレイとコントローラとを備える画像センサーと、ホストプロセッサとを含む。ピクセルセルアレイとコントローラとは、同じ半導体基板上に形成されるか、または、スタックを形成し、半導体パッケージ内に収容される、2つの半導体基板上に形成され得る。ピクセルセルアレイとコントローラとは、画像センサーとコントローラとがスタックを形成する場合、スルーシリコンビア(TSV)など、オンチップ相互接続を使用して互いに通信可能に結合され得る。ホストプロセッサは、MIPI CSIおよびI3Cバスなど、チップ間相互接続に基づいて画像センサーおよびコントローラに通信可能に結合されたオフチップデバイスであり得る。いくつかの例では、ホストプロセッサは、クラウドシステムの一部であり得、ワイヤード通信ネットワーク、ワイヤレス通信ネットワークなどを介して、画像センサーおよびコントローラに通信可能に結合され得る。
【0035】
ピクセルセルアレイの各ピクセルセルまたはピクセルセルの各ブロックは、たとえば、ピクセル値の出力を有効化/無効化すること、ピクセルセルによって出力されるピクセル値の解像度を設定することなどを行うように、個々にプログラム可能であり得る。ピクセルセルアレイは、プログラミングマップの形態のものであり得る第1のプログラミング信号をコントローラから受信し、第1の時間において、シーンから光を検知したことに基づいて、および第1のプログラミング信号に基づいて、第1の画像フレームを生成することができる。詳細には、ピクセルセルアレイは、第1の画像フレームがピクセルのフル画像フレームを含むフルフレームモードにおいて、および/または第1の画像フレームが、プログラミングマップによって指定されたピクセルのサブセットのみを含むスパースモードにおいてなど、複数のスパース性モードにおいて動作するように第1のプログラミング信号によって制御され得る。ピクセルセルアレイは、ホストプロセッサとコントローラの両方に第1の画像フレームを出力することができる。いくつかの例では、ピクセルセルアレイはまた、第1の画像フレームと同じ第1の時間において第2の画像フレームを生成し、第1の画像フレームをホストプロセッサに送信し、第2の画像フレームをコントローラに送信することができる。第1の画像フレームは、スパースピクセルを有することができ、第2の画像フレームは、ピクセルのフルフレームを有することができる。
【0036】
コントローラおよびホストプロセッサは、画像センサーとともに、後続の画像フレームを生成するように画像センサーを制御するための、第1の画像フレームに基づく2ティア(two-tier)フィードバックシステムを形成することができる。2ティアフィードバック動作では、コントローラは、処理結果を取得するために第1の画像フレームまたは第2の画像フレームに対して画像処理動作を実施し、次いで、処理結果に基づいて第1のプログラミング信号を調整することができる。コントローラにおける画像処理動作は、ホストプロセッサから受信された第2のプログラミング信号に基づいて管理/構成され得、ホストプロセッサは、第1の画像フレームに基づいて第2のプログラミング信号を生成することができる。ピクセルセルアレイは、次いで、第2の時間において、更新された第1のプログラミング信号に基づいて後続の画像フレームを生成する。
【0037】
いくつかの例では、画像処理動作は、いくつかのターゲット空間的および/または時間的特徴を有するピクセルを抽出/検出することを含むことができる。一例として、画像処理動作の目標は、所定のオブジェクト(たとえば、シーン中の人間の顔、身体部分、またはいくつかの物理的オブジェクト)の空間的特徴、キーポイントなどを含むピクセルを識別することを含み得る。別の例として、画像処理動作の目標は、オブジェクトの動きの検出/測定を可能にするために、(たとえば、所定の時間的コントラストを有する)フレーム間のピクセル値の所定の程度の変化を受けるピクセルを識別することを含み得る。プログラミングマップは、第1のフレーム中のピクセルのうちのどれがターゲット特徴を含んでいるかを決定することに基づいて生成されて、それらのピクセルに対応するピクセルセルのみがホストプロセッサにおよび/またはコントローラにピクセルデータを出力することになるように、画像センサーを制御することができる。一方、ホストプロセッサは、第2のプログラミング信号の一部として、検出されるべきターゲット画像特徴、第1の画像フレーム中のターゲット画像特徴の近似ロケーションなどを定義することができる。コントローラは、第2のプログラミング信号に基づいて直ちに画像特徴抽出動作を実施するか、または、(たとえば、ターゲット画像特徴のより精密なロケーションを推定するために)第2のプログラミング信号をさらに改良し、改良された第2のプログラミング信号に基づいて画像特徴抽出動作を実施するかのいずれかを行うことができる。
【0038】
コントローラは、画像からターゲット特徴を抽出/検出するための様々な技法を採用することができる。たとえば、コントローラは、抽出を実施するために、重みを伴ってピクセルデータに対して算術演算を実施するために、畳み込みニューラルネットワーク(CNN)などのニューラルネットワークを実装し得る。コントローラは、重みを記憶するためのメモリデバイス(たとえば、スピントンネリングランダムアクセスメモリ(STRAM)、不揮発性ランダムアクセスメモリ(NVRAM))を含み得る。
【0039】
上述の2ティアフィードバックシステムでは、ホストプロセッサは、第2のプログラミング信号を生成するために、第1の画像フレームの分析を実施するためのアプリケーションを実行することができる。いくつかの例では、第2のプログラミング信号は、コントローラにおける画像処理動作および/またはプログラミングマップ生成に影響を及ぼすための、教示/案内信号(teaching/guidance signal)、ニューラルネットワークトレーニング動作の結果(たとえば、逆方向伝搬結果)、画像処理動作の予測される正確さ、または画像処理動作からの中間出力などの形態のものであり得る。たとえば、ホストプロセッサおよびコントローラはトレーニング動作に参加することができ、ホストプロセッサは、より一般的な画像に基づいてより低いレベルの層上でトレーニングを実施し、コントローラは、ピクセルセルアレイによってキャプチャされた画像に基づいてより高いレベルの層上でトレーニングを続ける。別の例として、ホストプロセッサは、ニューラルネットワークによって実施される画像処理動作の予測される正確さをフィードバックとして提供することができ、これは、ニューラルネットワークが、画像処理動作の予測される正確さを改善するために重みを更新することを可能にする。
【0040】
ホストプロセッサは、光検知動作のコンテキストを決定し、次いで、教示/案内信号を決定するために、第1の画像フレームだけでなく、他のセンサーデータ(たとえば、他の画像センサーによってキャプチャされた他の画像フレーム、オーディオ情報、動きセンサー出力、ユーザからの入力)にも基づいて、分析を実施することができる。コンテキストは、たとえば、画像センサーが動作する環境条件、画像センサーのロケーション、または画像センサーからのピクセルデータを消費するアプリケーションの任意の他の要件を含み得る。教示/案内信号は、コンテキストが、一般に、フレームレートよりもはるかに低いレートにおいて変化するとすれば、コンテキストに基づいて(たとえば、フレームレートよりも低い)比較的低いレートにおいて更新され得るが、画像処理動作、およびプログラミングマップの更新は、ピクセルセルアレイによってキャプチャされる画像に適応するために比較的高いレートにおいて(たとえば、フレームレートにおいて)行われ得る。
【0041】
開示される技法では、閉ループフィードバックシステムが、画像センサーにおいて動作を動的に構成するために実装され得、これは、システムの全体的性能をさらに改善することができる。詳細には、コントローラは、スパースキャプチャ動作を実施するようにピクセルセルアレイをプログラムし、スパースキャプチャ動作において、第1の画像フレームに対して画像特徴動作を実施することに基づいてピクセルのサブセットのみを出力することができ、これは、画像センサーが、関心ピクセルデータのみをホストプロセッサに出力することを可能にする。関心ピクセルデータは、ホストプロセッサにおいてアプリケーションをサポートするために必要とされるピクセルデータを含む。たとえば、ホストプロセッサがオブジェクトを追跡する場合、関心ピクセルデータは、追跡されているオブジェクトのピクセルデータを含むが、オブジェクトの一部でないピクセルデータはホストプロセッサに送信されない。関心ピクセルデータのスパース性により、そのようなピクセルデータは、ピクセルのフルフレームがホストプロセッサに送信される場合と比較して、より高い速度において送信されるか、またはより高い精度において生成され得る。より高い速度においておよび/またはより高い正確さにおいてホストプロセッサに関心ピクセルデータのみを提供することによって、システムの性能および効率が改善され得る。その上、ピクセルセルアレイとコントローラとが単一の半導体パッケージ内で緊密に統合されるので、フィードバックシステムは高速で動作され得る。たとえば、コントローラは、ピクセルセルアレイによる画像フレームの生成と同じフレームレートにおいてプログラミングマップを更新することができる。その結果、第1のプログラミング信号の更新は、ピクセルセルアレイによってキャプチャされた画像データと、画像センサーの動作条件の変化とに、より敏感であり得、これは、システムの性能をさらに改善することができる。
【0042】
さらに、コントローラにおける画像処理動作を構成するための第2のプログラミング信号をホストプロセッサに送らせることによって、追加の閉ループフィードバックシステムが、画像センサーの動作条件のより良い知識に基づいてコントローラにおける画像処理動作(および第1のプログラミング信号の生成)をさらに改善するために提供され得る。詳細には、ホストプロセッサは、オブジェクト追跡動作、ロケーション決定動作、仮想/複合/拡張現実動作など、様々な動作を実施するために画像センサーからの画像データを使用するアプリケーションを実行し得る。ホストプロセッサは、最新のコンテキスト/環境を決定するために、異なるセンサーからのデータを組み合わせるか、または場合によっては画像センサーのコンテキスト/環境を追跡することができる。ホストプロセッサは、次いで、第2のプログラミング信号の一部として、最新のコンテキスト/環境に基づいて案内情報を生成し、コントローラに、それの画像特徴抽出動作に影響を及ぼすために案内情報を提供することができる。たとえば、ホストプロセッサは、追跡されるべきターゲットオブジェクト、ターゲットオブジェクトの初期/近似ロケーション、追跡されるべきターゲット特徴(空間的特徴、時間的特徴など)などを決定し、コントローラにおける画像処理動作をコンテキストの変化に適応させるためにそれらの情報を提供することができる。そのような仕組みは、コントローラが画像データからターゲット特徴を抽出/検出する可能性を改善することができる。たとえば、シーンの変化および/または画像センサーのロケーションの変化により、ホストプロセッサは、異なるオブジェクトを追跡すること、フレーム間で変化するピクセルを選択するための異なる時間的コントラストしきい値を設定することなどを行うように、コントローラに要求し得る。これは、画像処理動作が、画像センサーの動作条件の変化に適応することを可能にし、これは、コントローラが、所与のアプリケーションについてのターゲット特徴を有するピクセルを識別することができる可能性を改善することができる。
【0043】
ホストプロセッサに、コントローラに案内情報を提供させる様々な利点もある。詳細には、ホストプロセッサに案内情報を提供させることは、コントローラが、コンテキストを追跡/決定するために上述のアプリケーションを実行するための算出リソースを有しないことがあるが、コントローラがホストプロセッサからコンテキスト情報を受信することができるので、コントローラの、画像検知動作のコンテキストを追跡する負担を緩和することができる。その上、コンテキストの変化が、一般に、画像の生成よりもはるかに遅いペースにおいて生じるとすれば、ホストプロセッサは、より低いレートにおいて、およびシステムの電力消費をさらに低減するために、I3Cなど、低帯域チップ間相互接続を使用して、案内情報を生成し、送信することができる。これらのすべては、特に、オブジェクト追跡アプリケーション、SLAMアプリケーションなどをサポートするために、急速に変化するシーンの画像をキャプチャすることにおいて、システムの効率および性能全体をさらに改善することができる。
【0044】
開示される技法は、人工現実システムを含むか、または人工現実システムに関連して実装され得る。人工現実は、ユーザへの提示の前に何らかの様式で調整された形式の現実、たとえば、仮想現実(VR)、拡張現実(AR)、複合現実(MR)、ハイブリッド現実、あるいはそれらの何らかの組合せおよび/または派生物である。人工現実コンテンツは、完全に生成されたコンテンツ、またはキャプチャされた(たとえば、現実世界の)コンテンツと組み合わせられた生成されたコンテンツを含み得る。人工現実コンテンツは、ビデオ、オーディオ、触覚フィードバック、またはそれらの何らかの組合せを含み得、それらのいずれも、単一のチャネルまたは複数のチャネルにおいて提示され得る(観察者に3次元効果をもたらすステレオビデオなど)。加えて、いくつかの実施形態では、人工現実は、たとえば、人工現実におけるコンテンツを作成するために使用される、および/または人工現実において別様に使用される(たとえば、人工現実におけるアクティビティを実施する)アプリケーション、製品、アクセサリ、サービス、またはそれらの何らかの組合せにも関連付けられ得る。人工現実コンテンツを提供する人工現実システムは、ホストコンピュータシステムに接続されたヘッドマウントディスプレイ(HMD)、スタンドアロンHMD、モバイルデバイスまたはコンピューティングシステム、あるいは、1人または複数の観察者に人工現実コンテンツを提供することが可能な任意の他のハードウェアプラットフォームを含む、様々なプラットフォーム上に実装され得る。
【0045】
図1Aは、ニアアイディスプレイ100の一実施形態の図である。ニアアイディスプレイ100は、ユーザにメディアを提示する。ニアアイディスプレイ100によって提示されるメディアの例は、1つまたは複数の画像、ビデオ、および/またはオーディオを含む。いくつかの実施形態では、オーディオは、外部デバイス(たとえば、スピーカーおよび/またはヘッドフォン)を介して提示され、この外部デバイスは、ニアアイディスプレイ100、コンソール、またはその両方からオーディオ情報を受け取り、そのオーディオ情報に基づいてオーディオデータを提示する。ニアアイディスプレイ100は、概して、仮想現実(VR)ディスプレイとして動作するように構成される。いくつかの実施形態では、ニアアイディスプレイ100は、拡張現実(AR)ディスプレイおよび/または複合現実(MR)ディスプレイとして動作するように変更される。
【0046】
ニアアイディスプレイ100は、フレーム105とディスプレイ110とを含む。フレーム105は、1つまたは複数の光学要素に結合される。ディスプレイ110は、ユーザがニアアイディスプレイ100によって提示されたコンテンツを見るように構成される。いくつかの実施形態では、ディスプレイ110は、1つまたは複数の画像からの光をユーザの眼に向けるための導波路ディスプレイアセンブリを備える。
【0047】
ニアアイディスプレイ100は、画像センサー120a、120b、120c、および120dをさらに含む。画像センサー120a、120b、120c、および120dの各々は、異なる方向に沿った異なる視野を表す画像データを生成するように構成されたピクセルアレイを含み得る。たとえば、センサー120aおよび120bは、Z軸に沿った方向Aに向かう2つの視野を表す画像データを提供するように構成され得、センサー120cは、X軸に沿った方向Bに向かう視野を表す画像データを提供するように構成され得、センサー120dは、X軸に沿った方向Cに向かう視野を表す画像データを提供するように構成され得る。
【0048】
いくつかの実施形態では、センサー120a~120dは、ニアアイディスプレイ100を装着したユーザにインタラクティブVR/AR/MR体験を提供するために、ニアアイディスプレイ100のディスプレイコンテンツを制御するかまたはニアアイディスプレイ100のディスプレイコンテンツに影響を与えるための入力デバイスとして構成され得る。たとえば、センサー120a~120dは、ユーザが位置する物理的環境の物理的画像データを生成することができる。物理的画像データは、物理的環境におけるユーザのロケーションおよび/または移動の経路を追跡するためのロケーション追跡システムに提供され得る。システムは、次いで、インタラクティブ体験を提供するために、たとえば、ユーザのロケーションおよび向きに基づいて、ディスプレイ110に提供された画像データを更新することができる。いくつかの実施形態では、ロケーション追跡システムは、ユーザが物理的環境内を移動するにつれて、物理的環境におけるおよびユーザの視野内のオブジェクトのセットを追跡するために、SLAMアルゴリズムを動作させ得る。ロケーション追跡システムは、オブジェクトのセットに基づいて物理的環境のマップを構築および更新し、マップ内のユーザのロケーションを追跡することができる。複数の視野に対応する画像データを提供することによって、センサー120a~120dは、ロケーション追跡システムに物理的環境のより全体的なビューを提供することができ、これは、より多くのオブジェクトがマップの構築および更新に含まれることにつながり得る。そのような仕組みにより、物理的環境内のユーザのロケーションを追跡することの正確さおよびロバストネスが改善され得る。
【0049】
いくつかの実施形態では、ニアアイディスプレイ100は、物理的環境に光を投影するための1つまたは複数のアクティブ照明器130をさらに含み得る。投影された光は、異なる周波数スペクトル(たとえば、可視光、赤外光、紫外光)に関連付けられ得、様々な目的を果たすことができる。たとえば、照明器130は、たとえば、ユーザのロケーション追跡を可能にするために、センサー120a~120dが暗い環境内の異なるオブジェクトの画像をキャプチャするのを支援するために、暗い環境において(または、低強度の赤外光、紫外光などを伴う環境において)光を投影し得る。照明器130は、ロケーション追跡システムがマップ構築/更新のためにオブジェクトを識別するのを支援するために、環境内のオブジェクト上にいくつかのマーカーを投影し得る。
【0050】
いくつかの実施形態では、照明器130は、立体撮像をも可能にし得る。たとえば、センサー120aまたは120bのうちの1つまたは複数は、可視光検知のための第1のピクセルアレイと赤外(IR)光検知のための第2のピクセルアレイの両方を含むことができる。第1のピクセルアレイは、色フィルタ(たとえば、バイエルフィルタ)でオーバーレイされ得、第1のピクセルアレイの各ピクセルが、特定の色(たとえば、赤色、緑色または青色のうちの1つ)に関連付けられた光の強度を測定するように構成される。また、(IR光検知のための)第2のピクセルアレイは、IR光の通過のみを可能にするフィルタでオーバーレイされ得、第2のピクセルアレイの各ピクセルが、IR光の強度を測定するように構成される。ピクセルアレイは、オブジェクトのRGB画像およびIR画像を生成することができ、IR画像の各ピクセルが、RGB画像の各ピクセルにマッピングされる。照明器130は、オブジェクト上にIRマーカーのセットを投影し得、その画像は、IRピクセルアレイによってキャプチャされ得る。画像に示されているオブジェクトのIRマーカーの分布に基づいて、システムは、IRピクセルアレイからのオブジェクトの異なる部分の距離を推定し、その距離に基づいてオブジェクトの立体画像を生成することができる。オブジェクトの立体画像に基づいて、システムは、たとえば、ユーザに対するオブジェクトの相対位置を決定することができ、インタラクティブ体験を提供するために、相対位置情報に基づいて、ディスプレイ100に提供された画像データを更新することができる。
【0051】
上記で説明されたように、ニアアイディスプレイ100は、極めて広範囲の光強度に関連付けられた環境において動作され得る。たとえば、ニアアイディスプレイ100は、屋内環境または屋外環境において、および/あるいは1日の異なる時間において動作され得る。ニアアイディスプレイ100はまた、アクティブ照明器130がオンにされていてもいなくても動作し得る。その結果、画像センサー120a~120dは、ニアアイディスプレイ100のための異なる動作環境に関連付けられた極めて広範囲の光強度にわたって適切に動作すること(たとえば、入射光の強度と相関する出力を生成すること)が可能であるために、広いダイナミックレンジを有する必要があり得る。
【0052】
図1Bは、ニアアイディスプレイ100の別の実施形態の図である。
図1Bは、ニアアイディスプレイ100を装着したユーザの(1つまたは複数の)眼球135に面するニアアイディスプレイ100の側面を示す。
図1Bに示されているように、ニアアイディスプレイ100は、複数の照明器140a、140b、140c、140d、140e、および140fをさらに含み得る。ニアアイディスプレイ100は、複数の画像センサー150aおよび150bをさらに含む。照明器140a、140b、および140cは、(
図1Aの方向Aと反対である)方向Dに向かってある周波数範囲(たとえば、NIR)の光を放出し得る。放出された光は、あるパターンに関連付けられ得、ユーザの左眼球によって反射され得る。センサー150aは、反射された光を受け取り、反射パターンの画像を生成するためのピクセルアレイを含み得る。同様に、照明器140d、140e、および140fは、パターンを搬送するNIR光を放出し得る。NIR光は、ユーザの右眼球によって反射され得、センサー150bによって受け取られ得る。センサー150bも、反射パターンの画像を生成するためのピクセルアレイを含み得る。センサー150aおよび150bからの反射パターンの画像に基づいて、システムは、ユーザの注視点を決定し、ユーザにインタラクティブ体験を提供するために、決定された注視点に基づいて、ディスプレイ100に提供された画像データを更新することができる。
【0053】
上記で説明されたように、ユーザの眼球に損傷を与えることを回避するために、照明器140a、140b、140c、140d、140e、および140fは、一般的に、極めて低強度の光を出力するように構成される。画像センサー150aおよび150bが
図1Aの画像センサー120a~120dと同じセンサーデバイスを備える場合、画像センサー120a~120dは、入射光の強度が極めて低いときに入射光の強度と相関する出力を生成することが可能である必要があり得、これは、画像センサーのダイナミックレンジ要件をさらに増加させ得る。
【0054】
その上、画像センサー120a~120dは、眼球の移動を追跡するために高速で出力を生成することが可能である必要があり得る。たとえば、ユーザの眼球は、ある眼球位置から別の眼球位置への素早いジャンプがあり得る極めて急速な移動(たとえば、サッカード運動(saccade movement))を実施することができる。ユーザの眼球の急速な移動を追跡するために、画像センサー120a~120dは、高速で眼球の画像を生成する必要がある。たとえば、画像センサーが画像フレームを生成するレート(フレームレート)は、少なくとも、眼球の移動の速度に一致する必要がある。高いフレームレートは、画像フレームを生成することに関与するピクセルセルのすべてについての短い総露光時間、ならびに、画像生成のためにセンサー出力をデジタル値に変換するための高い速度を必要とする。その上、上記で説明されたように、画像センサーは、低光強度を伴う環境において動作することが可能である必要もある。
【0055】
図2は、
図1に示されているニアアイディスプレイ100の断面200の一実施形態である。ディスプレイ110が、少なくとも1つの導波路ディスプレイアセンブリ210を含む。射出瞳230は、ユーザがニアアイディスプレイ100を装着したときにユーザの単一の眼球220がアイボックス(eyebox)領域中に配置されるロケーションである。例示の目的で、
図2は、眼球220と単一の導波路ディスプレイアセンブリ210とに関連付けられた断面200を示すが、第2の導波路ディスプレイがユーザの第2の眼のために使用される。
【0056】
導波路ディスプレイアセンブリ210は、画像光を、射出瞳230に位置するアイボックスに、および眼球220に向けるように構成される。導波路ディスプレイアセンブリ210は、1つまたは複数の屈折率をもつ1つまたは複数の材料(たとえば、プラスチック、ガラス)から構成され得る。いくつかの実施形態では、ニアアイディスプレイ100は、導波路ディスプレイアセンブリ210と眼球220との間に1つまたは複数の光学要素を含む。
【0057】
いくつかの実施形態では、導波路ディスプレイアセンブリ210は、制限はしないが、スタックされた導波路ディスプレイ、可変焦点導波路ディスプレイなどを含む、1つまたは複数の導波路ディスプレイのスタックを含む。スタックされた導波路ディスプレイは、それぞれの単色ソースが異なる色のものである導波路ディスプレイをスタックすることによって作成された多色ディスプレイ(たとえば、赤緑青(RGB)ディスプレイ)である。スタックされた導波路ディスプレイは、複数の平面上に投影され得る多色ディスプレイ(たとえば、多平面カラーディスプレイ)でもある。いくつかの構成では、スタックされた導波路ディスプレイは、複数の平面上に投影され得る単色ディスプレイ(たとえば、多平面単色ディスプレイ)である。可変焦点導波路ディスプレイは、導波路ディスプレイから放出された画像光の焦点位置を調整することができるディスプレイである。代替実施形態では、導波路ディスプレイアセンブリ210は、スタックされた導波路ディスプレイと可変焦点導波路ディスプレイとを含み得る。
【0058】
図3は、導波路ディスプレイ300の一実施形態の等角図を示す。いくつかの実施形態では、導波路ディスプレイ300は、ニアアイディスプレイ100の構成要素(たとえば、導波路ディスプレイアセンブリ210)である。いくつかの実施形態では、導波路ディスプレイ300は、画像光を特定のロケーションに向ける何らかの他のニアアイディスプレイまたは他のシステムの一部である。
【0059】
導波路ディスプレイ300は、ソースアセンブリ310と、出力導波路320と、コントローラ330とを含む。説明の目的で、
図3は、単一の眼球220に関連付けられた導波路ディスプレイ300を示すが、いくつかの実施形態では、導波路ディスプレイ300とは別個の、または部分的に別個の別の導波路ディスプレイが、ユーザの別の眼に画像光を提供する。
【0060】
ソースアセンブリ310は、画像光355を生成し、出力導波路320の第1の側面370-1上に位置する結合要素350に出力する。出力導波路320は、拡大された画像光340をユーザの眼球220に出力する光導波路である。出力導波路320は、第1の側面370-1上に位置する1つまたは複数の結合要素350において画像光355を受け取り、受け取られた入力画像光355を方向付け要素360に導く。いくつかの実施形態では、結合要素350は、ソースアセンブリ310からの画像光355を出力導波路320に結合する。結合要素350は、たとえば、回折格子、ホログラフィック格子、1つまたは複数のカスケード型反射器、1つまたは複数のプリズム表面要素、および/またはホログラフィック反射器のアレイであり得る。
【0061】
方向付け要素360は、受け取られた入力画像光355が分離要素365を介して出力導波路320から分離されるように、受け取られた入力画像光355を分離要素365に向け直す。方向付け要素360は、出力導波路320の第1の側面370-1の一部であるか、または出力導波路320の第1の側面370-1に取り付けられる。分離要素365は、方向付け要素360が分離要素365に対向するように、出力導波路320の第2の側面370-2の一部であるか、または出力導波路320の第2の側面370-2に取り付けられる。方向付け要素360および/または分離要素365は、たとえば、回折格子、ホログラフィック格子、1つまたは複数のカスケード型反射器、1つまたは複数のプリズム表面要素、および/またはホログラフィック反射器のアレイであり得る。
【0062】
第2の側面370-2は、x次元およびy次元に沿った平面を表す。出力導波路320は、画像光355の内部全反射を促進する1つまたは複数の材料から構成され得る。出力導波路320は、たとえば、シリコン、プラスチック、ガラス、および/またはポリマーから構成され得る。出力導波路320は、比較的小さいフォームファクタを有する。たとえば、出力導波路320は、x次元に沿って幅約50mm、y次元に沿って長さ約30mm、およびz次元に沿って厚さ約0.5~1mmであり得る。
【0063】
コントローラ330は、ソースアセンブリ310のスキャン動作を制御する。コントローラ330は、ソースアセンブリ310のためのスキャン命令を決定する。いくつかの実施形態では、出力導波路320は、拡大された画像光340を大きい視野(FOV)でユーザの眼球220に出力する。たとえば、拡大された画像光340は、60度のおよび/またはそれよりも大きい、ならびに/あるいは150度のおよび/またはそれよりも小さい(xおよびyにおける)対角FOVでユーザの眼球220に提供される。出力導波路320は、20mm以上および/または50mm以下の長さ、ならびに/あるいは10mm以上および/または50mm以下の幅をもつアイボックスを提供するように構成される。
【0064】
その上、コントローラ330は、画像センサー370によって提供される画像データに基づいて、ソースアセンブリ310によって生成される画像光355をも制御する。画像センサー370は、第1の側面370-1上に位置し得、たとえば、
図1Aの画像センサー120a~120dを含み得る。画像センサー120a~120dは、たとえば、(たとえば、第1の側面370-1に面する)ユーザの前にあるオブジェクト372の、2D検知および3D検知を実施するように動作され得る。2D検知の場合、画像センサー120a~120dの各ピクセルセルは、光ソース376によって生成され、オブジェクト372から反射された光374の強度を表すピクセルデータを生成するように動作され得る。3D検知の場合、画像センサー120a~120dの各ピクセルセルは、照明器325によって生成された光378についての飛行時間測定を表すピクセルデータを生成するように動作され得る。たとえば、画像センサー120a~120dの各ピクセルセルは、照明器325が光378を投影することを可能にされた第1の時間と、ピクセルセルが、オブジェクト372から反射された光378を検出する第2の時間とを決定することができる。第1の時間と第2の時間との間の差は、画像センサー120a~120dとオブジェクト372との間の光378の飛行時間を指示することができ、飛行時間情報は、画像センサー120a~120dとオブジェクト372との間の距離を決定するために使用され得る。画像センサー120a~120dは、異なる時間に2D検知と3D検知とを実施するように動作され、導波路ディスプレイ300内に位置し得る(または位置しないことがある)リモートコンソール390に、2D画像データおよび3D画像データを提供することができる。リモートコンソールは、たとえば、ユーザが位置する環境の3Dモデルを生成するために、ユーザのロケーションおよび/または向きを追跡するためになど、2D画像と3D画像とを組み合わせ得る。リモートコンソールは、2D画像および3D画像から導出された情報に基づいて、ユーザに表示されるべき画像のコンテンツを決定し得る。リモートコンソールは、決定されたコンテンツに関係する命令をコントローラ330に送信することができる。命令に基づいて、コントローラ330は、ユーザにインタラクティブ体験を提供するために、ソースアセンブリ310による画像光355の生成および出力を制御することができる。
【0065】
図4は、導波路ディスプレイ300の断面400の一実施形態を示す。断面400は、ソースアセンブリ310と、出力導波路320と、画像センサー370とを含む。
図4の例では、画像センサー370は、ユーザの前にある物理的環境の画像を生成するために、第1の側面370-1上に位置するピクセルセル402のセットを含み得る。いくつかの実施形態では、ピクセルセル402のセットと物理的環境との間に挿入された、機械的シャッター404および光学フィルタアレイ406があり得る。機械的シャッター404は、ピクセルセル402のセットの露光を制御することができる。いくつかの実施形態では、機械的シャッター404は、以下で説明されるように、電子シャッターゲートと置き換えられ得る。光学フィルタアレイ406は、以下で説明されるように、ピクセルセル402のセットが露光される光の光波長範囲を制御することができる。ピクセルセル402の各々は、画像の1つのピクセルに対応し得る。
図4には示されていないが、ピクセルセル402の各々はまた、ピクセルセルによって検知されるべき光の光波長範囲を制御するために、フィルタでオーバーレイされ得ることを理解されたい。
【0066】
リモートコンソールから命令を受け取った後に、機械的シャッター404は、露光期間において開き、ピクセルセル402のセットを露光することができる。露光期間中に、画像センサー370は、ピクセルセル402のセットに入射した光のサンプルを取得し、ピクセルセル402のセットによって検出された入射光サンプルの強度分布に基づいて画像データを生成することができる。画像センサー370は、次いで、画像データを、ディスプレイコンテンツを決定するリモートコンソールに提供し、ディスプレイコンテンツ情報をコントローラ330に提供することができる。コントローラ330は、次いで、ディスプレイコンテンツ情報に基づいて画像光355を決定することができる。
【0067】
ソースアセンブリ310は、コントローラ330からの命令に従って画像光355を生成する。ソースアセンブリ310は、ソース410と光学システム415とを含む。ソース410は、コヒーレント光または部分的にコヒーレントな光を生成する光ソースである。ソース410は、たとえば、レーザーダイオード、垂直共振器面発光レーザー、および/または発光ダイオードであり得る。
【0068】
光学システム415は、ソース410からの光を調節する1つまたは複数の光学的構成要素を含む。ソース410からの光を調節することは、たとえば、コントローラ330からの命令に従って拡大し、コリメートし、および/または向きを調整することを含み得る。1つまたは複数の光学的構成要素は、1つまたは複数のレンズ、液体レンズ、ミラー、開口、および/または格子を含み得る。いくつかの実施形態では、光学システム415は、光ビームを液体レンズ外の領域にシフトするためにしきい値のスキャン角度を伴う光ビームのスキャンを可能にする複数の電極をもつ液体レンズを含む。光学システム415(同じくソースアセンブリ310)から放出される光は、画像光355と呼ばれる。
【0069】
出力導波路320は、画像光355を受け取る。結合要素350は、ソースアセンブリ310からの画像光355を出力導波路320に結合する。結合要素350が回折格子である実施形態では、内部全反射が出力導波路320中で発生し、画像光355が、分離要素365に向かって、(たとえば、内部全反射によって)出力導波路320中を内部的に伝搬するように、回折格子のピッチが選定される。
【0070】
方向付け要素360は、出力導波路320から分離するために、画像光355を分離要素365のほうへ向け直す。方向付け要素360が回折格子である実施形態では、回折格子のピッチは、入射画像光355が、分離要素365の表面に対して(1つまたは複数の)傾斜角において出力導波路320を出ることを引き起こすように選定される。
【0071】
いくつかの実施形態では、方向付け要素360および/または分離要素365は、構造的に同様である。出力導波路320を出た拡大された画像光340は、1つまたは複数の次元に沿って拡大される(たとえば、x次元に沿って延長され得る)。いくつかの実施形態では、導波路ディスプレイ300は、複数のソースアセンブリ310と複数の出力導波路320とを含む。ソースアセンブリ310の各々は、原色(たとえば、赤、緑、または青)に対応する、波長の固有の帯域の単色画像光を放出する。出力導波路320の各々は、多色である拡大された画像光340を出力するために、離間距離を伴って一緒にスタックされ得る。
【0072】
図5は、ニアアイディスプレイ100を含むシステム500の一実施形態のブロック図である。システム500は、各々制御回路要素510に結合された、ニアアイディスプレイ100と、撮像デバイス535と、入出力インターフェース540と、画像センサー120a~120dおよび150a~150bとを備える。システム500は、ヘッドマウントデバイス、モバイルデバイス、ウェアラブルデバイスなどとして構成され得る。
【0073】
ニアアイディスプレイ100は、ユーザにメディアを提示するディスプレイである。ニアアイディスプレイ100によって提示されるメディアの例は、1つまたは複数の画像、ビデオ、および/またはオーディオを含む。いくつかの実施形態では、オーディオは、外部デバイス(たとえば、スピーカーおよび/またはヘッドフォン)を介して提示され、この外部デバイスは、ニアアイディスプレイ100および/または制御回路要素510からオーディオ情報を受け取り、そのオーディオ情報に基づいてオーディオデータをユーザに提示する。いくつかの実施形態では、ニアアイディスプレイ100はまた、ARアイウェアグラスとして働き得る。いくつかの実施形態では、ニアアイディスプレイ100は、コンピュータ生成された要素(たとえば、画像、ビデオ、音)を用いて、物理的現実世界の環境のビューを増強する。
【0074】
ニアアイディスプレイ100は、導波路ディスプレイアセンブリ210、1つまたは複数の位置センサー525、および/または慣性測定ユニット(IMU)530を含む。導波路ディスプレイアセンブリ210は、ソースアセンブリ310と、出力導波路320と、コントローラ330とを含む。
【0075】
IMU530は、位置センサー525のうちの1つまたは複数から受け取られた測定信号に基づいて、ニアアイディスプレイ100の初期位置に対するニアアイディスプレイ100の推定位置を指示する高速較正データを生成する電子デバイスである。
【0076】
撮像デバイス535は、様々なアプリケーションのための画像データを生成し得る。たとえば、撮像デバイス535は、制御回路要素510から受け取られた較正パラメータに従って低速較正データを提供するために画像データを生成し得る。撮像デバイス535は、たとえば、ユーザのロケーション追跡を実施するために、ユーザが位置する物理的環境の画像データを生成するために
図1Aの画像センサー120a~120dを含み得る。撮像デバイス535は、たとえば、ユーザの関心オブジェクトを識別するために、ユーザの注視点を決定するための画像データを生成するために、
図1Bの画像センサー150a~150bをさらに含み得る。
【0077】
入出力インターフェース540は、ユーザが制御回路要素510にアクション要求を送ることを可能にするデバイスである。アクション要求は、特定のアクションを実施するための要求である。たとえば、アクション要求は、アプリケーションを開始または終了するためのものであるか、あるいはアプリケーション内で特定のアクションを実施するためのものであり得る。
【0078】
制御回路要素510は、撮像デバイス535、ニアアイディスプレイ100、および入出力インターフェース540のうちの1つまたは複数から受け取られた情報に従って、ユーザへの提示のためのメディアをニアアイディスプレイ100に提供する。いくつかの例では、制御回路要素510は、ヘッドマウントデバイスとして構成されたシステム500内に収容され得る。いくつかの例では、制御回路要素510は、システム500の他の構成要素と通信可能に結合されたスタンドアロンコンソールデバイスであり得る。
図5に示されている例では、制御回路要素510は、アプリケーションストア545と、追跡モジュール550と、エンジン555とを含む。
【0079】
アプリケーションストア545は、制御回路要素510が実行するための1つまたは複数のアプリケーションを記憶する。アプリケーションは、プロセッサによって実行されたとき、ユーザへの提示のためのコンテンツを生成する命令のグループである。アプリケーションの例は、ゲームアプリケーション、会議アプリケーション、ビデオ再生アプリケーション、または他の好適なアプリケーションを含む。
【0080】
追跡モジュール550は、1つまたは複数の較正パラメータを使用してシステム500を較正し、ニアアイディスプレイ100の位置の決定における誤差を低減するために、1つまたは複数の較正パラメータを調整し得る。
【0081】
追跡モジュール550は、撮像デバイス535からの低速較正情報を使用して、ニアアイディスプレイ100の移動を追跡する。追跡モジュール550はまた、高速較正情報からの位置情報を使用して、ニアアイディスプレイ100の基準点の位置を決定する。
【0082】
エンジン555は、システム500内でアプリケーションを実行し、追跡モジュール550から、ニアアイディスプレイ100の位置情報、加速度情報、速さ情報、および/または予測された将来の位置を受け取る。いくつかの実施形態では、エンジン555によって受け取られた情報は、ユーザに提示されるコンテンツのタイプを決定する導波路ディスプレイアセンブリ210への信号(たとえば、ディスプレイ命令)をもたらすために使用され得る。たとえば、インタラクティブ体験を提供するために、エンジン555は、(たとえば、追跡モジュール550によって提供される)ユーザのロケーション、または(たとえば、撮像デバイス535によって提供される画像データに基づく)ユーザの注視点、(たとえば、撮像デバイス535によって提供される画像データに基づく)オブジェクトとユーザとの間の距離に基づいて、ユーザに提示されるべきコンテンツを決定し得る。
【0083】
図6Aおよび
図6Bは、画像センサー600およびその動作の例を示す。
図6Aに示されているように、画像センサー600は、ピクセルセル601を含むピクセルセルアレイを含むことができ、画像のピクセルに対応するデジタル強度データを生成することができる。ピクセルセル601は、
図4のピクセルセル402の一部であり得る。
図6Aに示されているように、ピクセルセル601は、フォトダイオード602と、電子シャッタースイッチ603と、転送スイッチ604と、電荷貯蔵デバイス605と、バッファ606と、量子化器607とを含み得る。フォトダイオード602は、たとえば、P-Nダイオード、P-I-Nダイオード、ピン止めダイオードなどを含み得るが、電荷貯蔵デバイス605は、転送スイッチ604のフローティングドレインノードであり得る。フォトダイオード602は、露光期間内に光を受け取ると、残留電荷を生成および蓄積することができる。露光期間内の残留電荷による飽和時に、フォトダイオード602は、転送スイッチ604を介して電荷貯蔵デバイス605にオーバーフロー電荷を出力することができる。電荷貯蔵デバイス605は、オーバーフロー電荷を電圧に変換することができ、電圧は、バッファ606によってバッファされ得る。バッファされた電圧は、たとえば、露光期間内にフォトダイオード602によって受け取られた光の強度を表すために、測定データ608を生成するために量子化器607によって量子化され得る。
【0084】
量子化器607は、バッファされた電圧を、異なる強度範囲に関連付けられた異なる量子化動作のための異なるしきい値と比較するための、比較器を含み得る。たとえば、フォトダイオード602によって生成されたオーバーフロー電荷の量が電荷貯蔵デバイス605の飽和限界を超える、高強度範囲の場合、量子化器607は、バッファされた電圧が、飽和限界を表す静的しきい値を超えるかどうかを検出することと、バッファされた電圧が静的しきい値を超える場合、バッファされた電圧が静的しきい値を超えるのに要する時間を測定することとによって、飽和までの時間(TTS)測定動作を実施することができる。測定された時間は、光強度に反比例し得る。また、フォトダイオードが残留電荷によって飽和されるが、オーバーフロー電荷が電荷貯蔵デバイス605の飽和限界を下回るままである、中強度範囲の場合、量子化器607は、電荷貯蔵デバイス605に貯蔵されたオーバーフロー電荷の量を測定するために、FD ADC動作を実施することができる。さらに、フォトダイオードが残留電荷によって飽和されず、オーバーフロー電荷が電荷貯蔵デバイス605において蓄積されない、低強度範囲の場合、量子化器607は、フォトダイオード602において蓄積された残留電荷の量を測定するために、PD ADC動作を実施することができる。TTS動作、FD ADC動作、またはPD ADC動作のうちの1つの出力は、光の強度を表すための測定データ608として出力され得る。
【0085】
図6Bは、ピクセルセル601の動作の例示的なシーケンスを示す。
図6Bに示されているように、露光期間は、有効化されたとき、フォトダイオード602によって生成された電荷を遠くへ誘導する(steer)ことができる、電子シャッタースイッチ603を制御するAB信号のタイミングに基づいて、および、読出しのために電荷貯蔵デバイス605にオーバーフロー電荷を転送し、次いで残留電荷を転送するように制御される、転送スイッチ604を制御するTG信号のタイミングに基づいて定義され得る。たとえば、
図6Bを参照すると、AB信号は、フォトダイオード602が電荷を生成することを可能にするために、時間T0においてアサート解除され得る。T0は、露光期間の開始をマークすることができる。露光期間内に、TG信号は、フォトダイオード602が飽和するまで、フォトダイオード602が残留電荷として電荷の少なくとも一部を蓄積することを可能にするために、部分的にオンの状態に転送スイッチ604を設定することができ、その後に、オーバーフロー電荷が電荷貯蔵デバイス605に転送され得る。時間T0と時間T1との間に、量子化器607は、電荷貯蔵デバイス605におけるオーバーフロー電荷が飽和限界を超えるかどうかを決定するために、TTS動作を実施することができ、次いで、時間T1と時間T2との間に、量子化器607は、電荷貯蔵デバイス605におけるオーバーフロー電荷の量を測定するために、FD ADC動作を実施することができる。時間T2と時間T3との間に、TG信号は、電荷貯蔵デバイス605に残留電荷を転送するために、完全にオンの状態にある転送スイッチ604をバイアスするためにアサートされ得る。時間T3において、TG信号は、フォトダイオード602から電荷貯蔵デバイス605を隔離するためにアサート解除され得るが、AB信号は、フォトダイオード602によって生成された電荷を遠くへ誘導するためにアサートされ得る。時間T3は、露光期間の終了をマークすることができる。時間T3と時間T4との間に、量子化器607は、残留電荷の量を測定するためにPD動作を実施することができる。
【0086】
AB信号およびTG信号は、露光期間の持続時間と量子化動作のシーケンスとを制御するために、ピクセルセル601の一部であり得るコントローラ(
図6Aに図示せず)によって生成され得る。コントローラはまた、測定データ608として、TTS動作、FD ADC動作、またはPD ADC動作のうちの1つからの出力を選択するために、電荷貯蔵デバイス605が飽和されたかどうかと、フォトダイオード602が飽和されたかどうかとを検出することができる。たとえば、電荷貯蔵デバイス605が飽和された場合、コントローラは、測定データ608としてTTS出力を提供することができる。電荷貯蔵デバイス605は飽和されないが、フォトダイオード602が飽和された場合、コントローラは、測定データ608としてFD ADC出力を提供することができる。フォトダイオード602が飽和されない場合、コントローラは、測定データ608としてPD ADC出力を提供することができる。露光期間内に生成された画像センサー600の各ピクセルセルからの測定データ608は、画像フレームを形成することができる。コントローラは、後続の画像フレームを生成するために、後続の露光期間において
図6B中の動作のシーケンスを繰り返すことができる。
【0087】
画像センサー600からの画像フレームデータは、1つまたは複数のオブジェクトを追跡すること、(たとえば、動的視覚検知(DVS)動作の一部として)動きを検知することなど、異なるアプリケーションをサポートするために、ホストプロセッサ(
図6Aおよび
図6Bに図示せず)に送信され得る。
図7A~
図7Dは、画像センサー600からの画像フレームデータによってサポートされ得るアプリケーションの例を示す。
図7Aは、画像センサー600からの画像フレームに基づくオブジェクト追跡動作の一例を示す。
図7Aに示されているように、ホストプロセッサにおいて動作するアプリケーションが、時間T0においてキャプチャされた画像フレーム700からのオブジェクト704に対応する関心領域(ROI)702中のピクセルのグループを識別することができる。アプリケーションは、時間T1においてキャプチャされる画像フレーム710を含む後続の画像フレーム中のオブジェクト704のロケーションを追跡し続け、オブジェクト704に対応するROI712中のピクセルのグループを識別することができる。画像フレーム内のオブジェクト704の画像ロケーションの追跡は、SLAMアルゴリズムをサポートするために実施され得、SLAMアルゴリズムは、画像センサー600によってキャプチャされたシーン中のオブジェクト704の画像ロケーションを追跡することに基づいて、画像センサー600(および、ニアアイディスプレイ100など、画像センサー600を含むモバイルデバイス)が位置する環境のマップを構築/更新することができる。
【0088】
図7Bは、画像センサー600からの画像フレームに対するオブジェクト検出動作の一例を示す。
図7Bの左側に示されているように、ホストプロセッサは、車両722および人724など、画像フレーム720においてキャプチャされたシーン中の1つまたは複数のオブジェクトを識別し得る。
図7Bの右側に示されているように、その識別に基づいて、ホストプロセッサは、ピクセルのグループ726が車両722に対応し、ピクセルのグループ728が人724に対応すると決定し得る。車両722および人724の識別は、車両722および人724が監視ターゲットである監視アプリケーション、車両722および人724が仮想オブジェクトと置き換えられる複合現実(MR)アプリケーション、プライバシーのためにいくつかの画像(たとえば、車両722のライセンスプレート、人724の顔)の解像度を低減するための中心窩撮像(foveated imaging)動作など、様々なアプリケーションをサポートするために実施され得る。
【0089】
図7Cは、画像センサー600からの画像フレームに対する視標追跡動作の一例を示す。
図7Cに示されているように、ホストプロセッサは、眼球の画像730および732から、瞳孔738およびグリント(glint)739に対応するピクセルのグループ734および736を識別し得る。瞳孔738およびグリント739の識別は、視標追跡動作をサポートするために実施され得る。たとえば、瞳孔738およびグリント739の画像ロケーションに基づいて、アプリケーションは、たとえば、ユーザに対して表示されるべきコンテンツを決定するために、システムに入力として提供され得る、異なる時間におけるユーザの視線方向を決定することができる。
【0090】
図7Dは、画像センサー600からの画像フレームに対する動的視覚検知(DVS)動作の一例を示す。DVS動作では、画像センサー600は、(ピクセル値において反映される)輝度の所定の程度の変化を受けるピクセルのみを出力することができるが、所定の程度の変化を受けないピクセルは画像センサー600によって出力されない。DVS動作は、オブジェクトの動きを検出するために、および/または出力されているピクセルデータの量を低減するために、実施され得る。たとえば、
図7Dを参照すると、時間T0において、画像740がキャプチャされ、画像740は、光ソースのピクセルのグループ742と人のピクセルのグループ744とを含んでいる。ピクセルのグループ742とピクセルのグループ744の両方が、時間T0において画像740の一部として出力され得る。時間T1において、画像750がキャプチャされる。光ソースに対応するピクセルのグループ742のピクセル値は、時間T0と時間T1との間で同じままであり、ピクセルのグループ742は、画像750の一部として出力されない。一方、人は、時間T0と時間T1との間で立位から歩行に変わり、これにより、時間T0と時間T1との間で、ピクセルのグループ744のピクセル値の変化が生じる。その結果、人のピクセルのグループ744は、画像750の一部として出力される。
【0091】
図7A~
図7Dの動作では、画像センサー600は、スパースキャプチャ動作を実施するように制御され得、スパースキャプチャ動作において、関心ピクセルデータをホストプロセッサに出力するためにピクセルセルのサブセットのみが選択される。関心ピクセルデータは、ホストプロセッサにおいて特定の動作をサポートするために必要とされるピクセルデータを含むことができる。たとえば、
図7Aのオブジェクト追跡動作では、画像センサー600は、それぞれ、画像フレーム700および710におけるオブジェクト704のROI702および712中のピクセルのグループのみを送信するように制御され得る。
図7Bのオブジェクト検出動作では、画像センサー600は、それぞれ、車両722および人724のピクセルのグループ726および728のみを送信するように制御され得る。さらに、
図7Cの視標追跡動作では、画像センサー600は、瞳孔738とグリント739とを含んでいるピクセルのグループ734および736のみを送信するように制御され得る。さらに、
図7DのDVS動作では、画像センサー600は、時間T1における、静的光ソースのピクセルのグループ742ではなく、移動している人のピクセルのグループ744のみを送信するように制御され得る。すべてのこれらの仕組みは、電力および帯域幅の対応する増加なしに、より高い解像度の画像の生成および送信を可能にすることができる。たとえば、より多くのピクセルセルを含むより大きいピクセルセルアレイが、画像解像度を改善するために、画像センサー600中に含まれ得るが、改善された画像解像度を提供するために必要とされる帯域幅および電力は、ピクセルセルのサブセットのみが、高解像度で関心ピクセルデータを生成し、その高解像度ピクセルデータをホストプロセッサに送信するが、ピクセルセルの残りは、ピクセルデータを生成/送信していないか、または極めて低い解像度でピクセルデータを生成/送信しているかのいずれかであるとき、低減され得る。その上、画像センサー600は、より高いフレームレートにおいて画像を生成するように動作され得るが、帯域幅および電力の増加は、高解像度であり、多数のビットによって表される、ピクセル値の小さいセットのみを各画像が含むが、ピクセル値の残りが、送信されないか、またはより少ない数のビットによって表されるかのいずれかであるとき、低減され得る。
【0092】
ピクセルデータ送信の量はまた、3D検知の場合、低減され得る。たとえば、
図6Dを参照すると、照明器640が、オブジェクト650上に構造化光のパターン642を投影することができる。構造化光は、オブジェクト650の表面上で反射され得、反射された光のパターン652が、画像を生成するために画像センサー600によってキャプチャされ得る。ホストプロセッサは、パターン652をパターン642と照合し、画像におけるパターン652の画像ロケーションに基づいて、画像センサー600に対するオブジェクト650の深度を決定することができる。3D検知について、ピクセルセル660、662、664、および666のグループのみが、関連情報(たとえば、パターン652のピクセルデータ)を含んでいる。送信されているピクセルデータの量を低減するために、画像センサー600は、ホストプロセッサに、ピクセルセル660、662、664、および666のグループからのピクセルデータのみを送るように構成されるか、または、ピクセルセル660、662、664、および666のグループからのピクセルデータを高解像度で送るが、ピクセルデータの残りは低解像度であるように構成され得る。
【0093】
図8Aおよび
図8Bは、
図7A図7Dに示されている動作をサポートするためのスパースキャプチャ動作を実施することができる撮像システム800の例を示す。
図8Aに示されているように、撮像システム800は、画像センサー802とホストプロセッサ804とを含む。画像センサー802は、コントローラ806とピクセルセルアレイ808とを含む。コントローラ806は、画像プロセッサ810とプログラミングマップ生成器812とを含む。いくつかの例では、コントローラ806は、画像プロセッサ810およびプログラミングマップ生成器812の機能を実装するようにとの命令を実行する、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、またはハードウェアプロセッサとして実装され得る。さらに、ホストプロセッサ804は、アプリケーション814を実行することができる汎用中央処理ユニット(CPU)を含む。
【0094】
ピクセルセルアレイ808の各ピクセルセルまたはピクセルセルのブロックは、たとえば、ピクセル値の出力を有効化/無効化すること、ピクセルセルによって出力されるピクセル値の解像度を設定することなどを行うように、個々にプログラム可能であり得る。ピクセルセルアレイ808は、コントローラ806のプログラミングマップ生成器812から、各ピクセルセルについてのプログラミングデータを含んでいるプログラミングマップの形態のものであり得る第1のプログラミング信号820を受信することができる。ピクセルセルアレイ808は、シーンから光を検知し、シーンの、および第1のプログラミング信号に基づく、第1の画像フレーム822を生成することができる。詳細には、ピクセルセルアレイ808は、第1の画像フレーム822がピクセルのフル画像フレームを含むフルフレームモードにおいて、および/または第1の画像フレーム822が、プログラミングマップによって指定されたピクセルのサブセットのみを含むスパースモードにおいてなど、異なるスパース性モードにおいて動作するように第1のプログラミング信号820によって制御され得る。ピクセルセルアレイ808は、ホストプロセッサ804とコントローラ806の両方に第1の画像フレーム822を出力することができる。いくつかの例では、ピクセルセルアレイ808はまた、ホストプロセッサ804およびコントローラ806に、異なるピクセルスパース性をもつ第1の画像フレーム822を出力することができる。たとえば、ピクセルセルアレイ808は、ピクセルのフル画像フレームをもつ第1の画像フレーム822をコントローラ806に出力し、第1のプログラミング信号820によって定義されたスパースピクセルをもつ第1の画像フレーム822をホストプロセッサ804に出力することができる。
【0095】
コントローラ806およびホストプロセッサ804は、画像センサー802とともに、後続の画像フレーム824を生成するように画像センサーを制御するための、第1の画像フレーム822に基づく2ティアフィードバックシステムを形成することができる。2ティアフィードバック動作では、コントローラ806の画像プロセッサ810は、処理結果を取得するために第1の画像フレーム822に対して画像処理動作を実施することができ、次いで、プログラミングマップ生成器812は、処理結果に基づいて第1のプログラミング信号820を更新することができる。画像プロセッサ810における画像処理動作は、アプリケーション814から受信された第2のプログラミング信号832に基づいて管理/構成され得、アプリケーション814は、第1の画像フレーム822に基づいて第2のプログラミング信号832を生成することができる。ピクセルセルアレイ808は、次いで、更新された第1のプログラミング信号820に基づいて後続の画像フレーム824を生成することができる。ホストプロセッサ804およびコントローラ806は、次いで、後続の画像フレーム824に基づいて、それぞれ、第1のプログラミング信号820および第2のプログラミング信号832を更新することができる。
【0096】
上述の2ティアフィードバックシステムでは、ホストプロセッサ804からの第2のプログラミング信号832は、コントローラ806における画像処理動作および/またはプログラミングマップ生成に影響を及ぼすための、教示/案内信号、ニューラルネットワークトレーニング動作の結果(たとえば、逆方向伝搬結果)などの形態のものであり得る。ホストプロセッサ804は、画像センサー802による光検知動作のコンテキストを決定し、次いで、教示/案内信号を決定するために、第1の画像フレームだけでなく、他のセンサーデータ(たとえば、他の画像センサーによってキャプチャされた他の画像フレーム、オーディオ情報、動きセンサー出力、ユーザからの入力)にも基づいて、教示/案内信号を生成することができる。コンテキストは、たとえば、画像センサー802が動作する環境条件、画像センサー802のロケーション、またはアプリケーション814の任意の他の要件を含み得る。教示/案内信号は、コンテキストが、一般に、フレームレートよりもはるかに低いレートにおいて変化するとすれば、コンテキストに基づいて(たとえば、フレームレートよりも低い)比較的低いレートにおいて更新され得るが、コントローラ806における画像処理動作、およびプログラミングマップの更新は、ピクセルセルアレイ808によってキャプチャされる画像に適応するために比較的高いレートにおいて(たとえば、フレームレートにおいて)行われ得る。
【0097】
図8Aは、ピクセルセルアレイ808が、第1の画像フレーム822および第2の画像フレーム824をホストプロセッサ804とコントローラ806の両方に送信することを示すが、いくつかの場合には、ピクセルセルアレイ808は、異なるスパース性の画像フレームをホストプロセッサ804およびコントローラ806に送信し得る。たとえば、ピクセルセルアレイ808は、フルピクセルを有する第1の画像フレーム822および第2の画像フレーム824を画像プロセッサ810に送信することができるが、第1のプログラミング信号820に基づいて選択されたピクセルのサブセットを各々が含む、両方の画像フレームのスパースバージョンが、ホストプロセッサ804に送られる。
【0098】
図8Bは、
図7Aのオブジェクト追跡動作をサポートするための撮像システム800の動作の一例を示す。詳細には、時間T0において、ピクセルセルアレイ808(
図8Bに図示せず)は、ピクセルのフルフレームが生成されるべきであることを指示する第1のプログラミング信号820に基づいて、オブジェクト704を含むシーンのフルピクセルを含む第1の画像フレーム822を生成し、第1の画像フレーム822を、ホストプロセッサ804と画像プロセッサ810の両方に送信する。ホストプロセッサ804は、アプリケーション814を実行したことに基づいて、オブジェクト704が追跡されるべきであると決定することができる。そのような決定は、たとえば、ユーザ入力、アプリケーション814による要件などに基づき得る。ホストプロセッサ804はまた、特徴840および842など、オブジェクト704の空間的特徴を抽出するために、第1の画像フレーム822を処理することができる。処理結果に基づいて、ホストプロセッサ804は、第1の画像フレーム822中のオブジェクト704(または、
図7Cの瞳孔738およびグリント739など、他のオブジェクト)のピクセルを含む関心領域(ROI)850の近似ロケーション、サイズ、および形状を決定することができる。さらに、他のセンサー(たとえば、IMU)からの他の出力に基づいて、ホストプロセッサ804はまた、画像センサー802が、ある速度においてオブジェクト704に対して移動していると決定し、後続の画像フレームにおけるROI852の新しいロケーションを推定することができる。ホストプロセッサ804は、次いで、第2のプログラミング信号832の一部として、オブジェクト704のターゲット特徴(たとえば、特徴840および842)、ROIの情報(たとえば、ROI850の初期ロケーション、形状、サイズなど)、速度などを、画像プロセッサ810およびプログラミングマップ生成器812に送信することができる。
【0099】
第2のプログラミング信号832に基づいて、画像プロセッサ810は、オブジェクト704のターゲット画像特徴を検出するために第1の画像フレーム822を処理し、検出結果に基づいて、ROI852の精密なロケーション、サイズ、および形状を決定することができる。画像プロセッサ810は、次いで、第1の画像フレーム822におけるROI850の精密なロケーション、サイズ、および形状を含む、ROI情報854を、プログラミングマップ生成器812に送信することができる。ROI情報854、ならびに第2のプログラミング信号832に基づいて、プログラミングマップ生成器812は、時間T1においてキャプチャされるべき後続の画像フレームにおけるROI852の予想されるロケーション、サイズ、および形状を推定することができる。たとえば、第2のプログラミング信号832中に含まれる速度情報に基づいて、プログラミングマップ生成器812は、ROI850が、時間T0と時間T1との間にdの距離だけ移動してROI852になると決定し、距離dに基づいて、時間T1におけるROI852のロケーションを決定することができる。別の例として、
図7Cの瞳孔738およびグリント739が、視標追跡動作の一部として追跡されている場合、プログラミングマップ生成器812は、ユーザの視線変化に関する情報を取得し、視線変化に基づいて、時間T1における、瞳孔738とグリント739とを含むROI(たとえば、ROI852)の予想されるロケーションを決定することができる。プログラミングマップ生成器812は、次いで、時間T1において、ROI852内のピクセルセルを選択するために、第1のプログラミング信号820を更新して、後続の画像フレームについての、オブジェクト704(または瞳孔738およびグリント739、または他のオブジェクト)のピクセルデータを出力することができる。
【0100】
図9A、
図9B、
図9C、および
図9Dは、
図8Aの撮像システム800の内部構成要素の例を示す。
図9Aは、ピクセルセルアレイ808の一例を示す。
図9Aに示されているように、ピクセルセルアレイ808は、列コントローラ904と、行コントローラ906と、プログラミング信号パーサ920とを含み得る。列コントローラ904は、列バス908(たとえば、908a、908b、908c、...908n)と接続されるが、行コントローラ906は、行バス910(たとえば、910a、910b、...908n)と接続される。列コントローラ904または行コントローラ906のうちの一方は、特定のピクセルセルまたはピクセルセルのグループをターゲットにするピクセルレベルプログラミング信号926を送信するために、プログラミングバス912とも接続される。P
00、P
01、P
0jなどと標示された各ボックスは、ピクセルセルまたはピクセルセルのグループ(たとえば、2×2ピクセルセルのグループ)を表すことができる。各ピクセルセルまたはピクセルセルの各グループは、列バス908のうちの1つ、行バス910のうちの1つ、プログラミングバス912、およびピクセルデータを出力するための出力データバス(
図9Aに図示せず)に接続され得る。各ピクセルセル(またはピクセルセルの各グループ)は、一度にピクセルレベルプログラミングバス912を介してピクセルレベルプログラミング信号926を受け取るために、列コントローラ904によって提供される列バス908上の列アドレス信号930と、行コントローラ906によって提供される行バス910上の行アドレス信号932とによって、個々にアドレス指定可能である。列アドレス信号930、行アドレス信号932、ならびにピクセルレベルプログラミング信号926は、プログラミングマップ生成器812からの第1のプログラミング信号820に基づいて生成され得る。
【0101】
さらに、
図9Aは、第1のプログラミング信号820からピクセルレベルプログラミング信号を抽出することができる、プログラミング信号パーサ920を含む。いくつかの例では、第1のプログラミング信号820は、ピクセルセルアレイ808の各ピクセルセルまたはピクセルセルの各グループのためのプログラミングデータを含むことができる、プログラミングマップを含むことができる。
図9Bは、ピクセルアレイプログラミングマップ940の一例を示す。
図9Bに示されているように、ピクセルアレイプログラミングマップ940は、ピクセルレベルプログラミングデータの2次元アレイを含むことができ、2次元アレイの各ピクセルレベルプログラミングデータは、ピクセルセルアレイ808のピクセルセルまたはピクセルセルのグループをターゲットにする。たとえば、各ピクセルレベルプログラミングデータがピクセルセルをターゲットにする場合、ピクセルセルアレイ808が、M個のピクセルの幅(たとえば、ピクセルのM個の列)およびN個のピクセルの高さ(たとえば、ピクセルのN個の行)を有すると仮定すると、ピクセルアレイプログラミングマップ940も、M個のエントリの幅(たとえば、エントリのM個の列)およびN個のエントリの高さ(たとえば、エントリのN個の行)を有することができ、各エントリは、対応するピクセルセルのためのピクセルレベルプログラミングデータを記憶する。たとえば、ピクセルアレイプログラミングマップ940のエントリ(0,0)にあるピクセルレベルプログラミングデータA
00は、ピクセルセルアレイ808のピクセルロケーション(0,0)にあるピクセルセルP
00をターゲットにするが、ピクセルアレイプログラミングマップ940のエントリ(0,1)にあるピクセルレベルプログラミングデータA
01は、ピクセルセルアレイ808のピクセルロケーション(0,1)にあるピクセルセルP
01をターゲットにする。ピクセルレベルプログラミングデータがピクセルセルのグループをターゲットにする場合、高さおよび幅に沿ったピクセルアレイプログラミングマップ940のエントリの数は、各グループ中のピクセルセルの数に基づいてスケーリングされ得る。
【0102】
ピクセルアレイプログラミングマップ940は、
図9Bで説明されるフィードバック動作をサポートするように構成され得る。たとえば、各エントリにおいて記憶されるピクセルレベルプログラミングデータは、たとえば、電源投入または電源切断すること、ピクセルデータの出力を有効化または無効化すること、量子化分解能を設定すること、出力ピクセルデータの精度を設定すること、量子化動作(たとえば、TTS、FD ADC、PD ADCのうちの1つ)を選択すること、フレームレートを設定することなどを行うように、各ピクセルセル(またはピクセルセルの各グループ)を個々にプログラムすることができる。上記で説明されたように、プログラミングマップ生成器812は、たとえば、1つまたは複数のROIの予測に基づいてピクセルアレイプログラミングマップ940を生成することができ、ROI内のピクセルセルのためのピクセルレベルプログラミングデータは、ROI外のピクセルセルのためのピクセルレベルプログラミングデータとは異なる。たとえば、ピクセルアレイプログラミングマップ940は、ピクセルセルのサブセット(またはピクセルセルのグループ)がピクセルデータを出力することを可能にすることができるが、ピクセルセルの残りはピクセルデータを出力しない。別の例として、ピクセルアレイプログラミングマップ940は、(たとえば、各ピクセルを表すためにより多数のビットを使用して)より高い解像度においてピクセルデータを出力するようにピクセルセルのサブセットを制御することができるが、ピクセルセルの残りは、より低い解像度においてピクセルデータを出力する。
【0103】
再び
図9Aを参照すると、プログラミングマップパーサ920は、各ピクセルセル(またはピクセルセルの各グループ)のためのピクセルレベルプログラミングデータを識別するために、シリアルデータストリーム中にあり得る、ピクセルアレイプログラミングマップ940をパースすることができる。ピクセルレベルプログラミングデータの識別は、たとえば、2次元ピクセルアレイプログラミングマップがシリアルフォーマットに変換される所定のスキャンパターン、ならびにピクセルレベルプログラミングデータがシリアルデータストリームからプログラミング信号パーサ920によって受け取られる順序に基づき得る。プログラミングデータの各エントリについて、プログラミング信号パーサ920は、行アドレス信号930および列アドレス信号832を生成し、ピクセルセルを選択するために、行アドレス信号830および列アドレス信号832を、それぞれ、行コントローラ806および列コントローラ904に送信し、選択されたピクセルセル(またはピクセルセルのグループ)にピクセルレベルプログラミング信号826を送信することができる。
【0104】
図9Cは、
図6Aのピクセルセル601の構成要素のうちの少なくともいくつかを含むことができる、ピクセルセルアレイ808のピクセルセル950の例示的な内部構成要素を示す。ピクセルセル950は、フォトダイオード952a、952bなどを含む、1つまたは複数のフォトダイオードを含むことができ、各々は、異なる周波数範囲の光を検出するように構成され得る。たとえば、フォトダイオード952aは、可視光(たとえば、単色、あるいは、赤色、緑色、または青色のうちの1つ)を検出することができるが、フォトダイオード952bは、赤外光を検出することができる。ピクセルセル950は、どのフォトダイオードがピクセルデータ生成のために電荷を出力するかを制御するために、スイッチ954(たとえば、トランジスタ、コントローラバリア層)をさらに含む。
【0105】
さらに、ピクセルセル950は、
図6Aに示されている、電子シャッタースイッチ603、転送スイッチ604、電荷貯蔵デバイス605、バッファ606、量子化器607、ならびにメモリ955をさらに含む。電荷貯蔵デバイス605は、電荷-電圧変換利得を設定するために、構成可能なキャパシタンスを有することができる。いくつかの例では、電荷貯蔵デバイス605のキャパシタンスは、電荷貯蔵デバイス605がオーバーフロー電荷によって飽和される可能性を低減するために、中光強度のためのFD ADC動作についてオーバーフロー電荷を貯蔵するために増加され得る。電荷貯蔵デバイス605のキャパシタンスはまた、低光強度のためのPD ADC動作について電荷-電圧変換利得を増加させるために減少され得る。電荷-電圧変換利得の増加は、量子化誤差を低減し、量子化分解能を増加させることができる。いくつかの例では、電荷貯蔵デバイス605のキャパシタンスはまた、量子化分解能を増加させるためにFD ADC動作中に減少され得る。バッファ606は、バイアス信号BIAS1によって電流が設定され得る電流源956、ならびにバッファ606をオン/オフするためにPWR_GATE信号によって制御され得る電力ゲート958を含む。バッファ606は、ピクセルセル950を無効化することの一部としてオフにされ得る。
【0106】
さらに、量子化器607は、比較器960と出力論理962とを含む。比較器960は、出力を生成するためにバッファの出力を基準電圧(VREF)と比較することができる。量子化動作(たとえば、TTS動作、FD ADC動作、およびPD ADC動作)に応じて、比較器906は、出力を生成するために、バッファされた電圧を、異なるVREF電圧と比較することができ、出力は、さらに、メモリ955に自走カウンタからの値をピクセル出力として記憶させるために出力論理962によって処理される。比較器960のバイアス電流は、比較器960の帯域幅を設定することができるバイアス信号BIAS2によって制御され得、これは、ピクセルセル950によってサポートされるべきフレームレートに基づいて設定され得る。その上、比較器960の利得は、利得制御信号GAINによって制御され得る。比較器960の利得は、ピクセルセル950によってサポートされるべき量子化分解能に基づいて設定され得る。比較器960は、さらに、比較器960をオン/オフするために、PWR_GATE信号によっても制御され得る電力スイッチ961を含む。比較器960は、ピクセルセル950を無効化することの一部としてオフにされ得る。
【0107】
さらに、出力論理962は、TTS動作、FD ADC動作、またはPD ADC動作のうちの1つの出力を選択し、その選択に基づいて、カウンタからの値を記憶するためにメモリ955に比較器960の出力をフォワーディングすべきかどうかを決定することができる。出力論理962は、比較器960の出力に基づいて、フォトダイオード952(たとえば、フォトダイオード952a)が残留電荷によって飽和されたかどうかの指示と、電荷貯蔵デバイス605がオーバーフロー電荷によって飽和されたかどうかの指示とを記憶するための内部メモリを含むことができる。電荷貯蔵デバイス605がオーバーフロー電荷によって飽和された場合、出力論理962は、メモリ955に記憶されるべきTTS出力を選択し、メモリ955がFD ADC/PD ADC出力によってTTS出力を上書きするのを防ぐことができる。電荷貯蔵デバイス605は飽和されないが、フォトダイオード952が飽和された場合、出力論理962は、メモリ955に記憶されるべきFD ADC出力を選択することができ、他の場合、出力論理962は、メモリ955に記憶されるべきPD ADC出力を選択することができる。いくつかの例では、カウンタ値の代わりに、フォトダイオード952が残留電荷によって飽和されたかどうかの指示と、電荷貯蔵デバイス605がオーバーフロー電荷によって飽和されたかどうかの指示とが、最も低い精度のピクセルデータを提供するためにメモリ955に記憶され得る。
【0108】
さらに、ピクセルセル950は、AB、TG、BIAS1、BIAS2、GAIN、VREF、PWR_GATEなど、制御信号を生成するための論理回路を含むことができる、ピクセルセルコントローラ970を含み得る。ピクセルセルコントローラ970はまた、ピクセルレベルプログラミング信号926によってプログラムされ得る。たとえば、ピクセルセル950を無効化するために、ピクセルセルコントローラ970は、バッファ606および比較器960をオフにするために、PWR_GATEをアサート解除するようにピクセルレベルプログラミング信号926によってプログラムされ得る。その上、量子化分解能を増加させるために、ピクセルセルコントローラ970は、電荷貯蔵デバイス605のキャパシタンスを低減すること、GAIN信号を介して比較器960の利得を増加させることなどを行うように、ピクセルレベルプログラミング信号926によってプログラムされ得る。フレームレートを増加させるために、ピクセルセルコントローラ970は、それぞれ、バッファ606および比較器960の帯域幅を増加させるために、BIAS1信号およびBIAS2信号を増加させるようにピクセルレベルプログラミング信号926によってプログラムされ得る。さらに、ピクセルセル950によって出力されるピクセルデータの精度を制御するために、ピクセルセルコントローラ970は、たとえば、メモリ955がカウンタのビットのサブセット(たとえば、最上位ビット)のみを記憶するようにビットのサブセットのみをメモリ955に接続すること、または出力論理962に記憶された指示をピクセルデータとしてメモリ955に記憶することを行うように、ピクセルレベルプログラミング信号926によってプログラムされ得る。さらに、ピクセルセルコントローラ970は、たとえば、上記で説明されたように、露光期間を調整すること、および/または、特定の量子化動作(たとえば、TTS、FD ADC、またはPD ADCのうちの1つ)を、動作条件に基づいて他のものをスキップしながら選択することを行うために、AB信号およびTG信号のシーケンスおよびタイミングを制御するようにピクセルレベルプログラミング信号926によってプログラムされ得る。
【0109】
図9Dは、画像プロセッサ810の内部構成要素の例を示す。
図9Dに示されているように、画像プロセッサ810は、特徴抽出回路972とメモリ976とを含み得る。画像プロセッサ810によって抽出/検出されるべき特徴は、たとえば、所定のオブジェクト(たとえば、シーン中の人間の顔、身体部分、いくつかの物理的オブジェクト)の空間的特徴およびキーポイント、時間的コントラストなどを含み得る。いくつかの例では、特徴抽出回路972は、畳み込みニューラルネットワーク(CNN)、回帰ニューラルネットワーク(RNN)など、機械学習モデル973を実装し得、機械学習モデル973は、ピクセルセルアレイ808によって生成された入力画像フレーム(たとえば、第1の画像フレーム822)に対して画像特徴動作を実施するようにトレーニングされ得る。いくつかの例では、特徴抽出回路972は、所定の時間的コントラストを有するピクセルを識別するためにピクセルデータをしきい値と比較するための比較回路975をも含むことができる。特徴抽出回路972は、特徴抽出動作を実施するための、デジタル信号プロセッサ(DSP)、線形ソルバーユニット、マイクロコントローラ、演算回路など、他の回路を含み得る。画像プロセッサ810は、ホストプロセッサ804からの第2のプログラミング信号832の一部として、機械学習モデル973の特徴抽出動作および/またはトレーニング動作をサポートするための、ターゲット特徴/しきい値、機械学習パラメータ(たとえば、重み、逆方向伝搬勾配)、または他の構成パラメータを受信し得る。特徴抽出動作の結果として、特徴抽出回路972は、たとえば、入力画像フレーム中の検出された特徴のピクセルロケーションを出力し得、それらのピクセルロケーションは、次いで、ピクセルアレイプログラミングマップ940を生成するためにプログラミングマップ生成器812にフィードされ得る。
【0110】
さらに、メモリ976は、入力画像フレームのピクセルデータ、特徴抽出動作のための様々な構成データ、ならびに特徴抽出回路972の出力(たとえば、ピクセルロケーション)を記憶するためのオンチップメモリを提供することができる。いくつかの例では、特徴抽出回路972に提供される現在の入力画像フレームが、ピクセルデータのフルフレームではなく、スパースピクセルデータのみを含み得る。そのような場合、メモリ976は、前の入力画像フレームのピクセルデータをも記憶し得、そのピクセルデータは、ピクセルデータの再構築されたフルフレームを生成するために、特徴抽出回路972にフィードされ、現在の入力画像と組み合わせられ得る。特徴抽出回路972は、次いで、ピクセルデータの再構築されたフルフレームに基づいて特徴抽出動作を実施することができる。メモリ976は、たとえば、スピントンネリングランダムアクセスメモリ(STRAM)、不揮発性ランダムアクセスメモリ(NVRAM)などを含み得る。いくつかの例では、画像プロセッサ810は、特徴抽出回路880における特徴抽出動作をサポートするために、オフチップメモリ(たとえば、ダイナミックランダムアクセスメモリ)へのインターフェースをも含み得る。
【0111】
特徴抽出回路972は、特徴抽出動作を実施するために様々な技法を採用することができる。一例では、特徴抽出回路972は、フィルタを伴ってピクセルデータのブロック間で畳み込み演算を実施するために、CNNなどの機械学習モデル973を使用することができる。フィルタは、抽出されるべきターゲット特徴を表す重みのセットを含み得る。畳み込み演算の一部として、フィルタは、特定のストライドロケーションにおいてピクセルデータのブロックの一部分と重畳され、フィルタの各要素とその一部分内の各ピクセルとの積和が決定され得る。フィルタがピクセルのブロック内でぐるりとシフトされる(shifted around)につれて、異なるストライドロケーションに対する積和の分布が、畳み込み出力として決定され得る。畳み込み出力は、たとえば、特定のピクセルがターゲット特徴をキャプチャする確率、そのピクセルがターゲットオブジェクトに属する確率などを指示し得る。確率に基づいて、特徴抽出回路972は、(1つまたは複数の)ターゲット特徴を含むかまたはターゲットオブジェクトの一部である可能性があると決定された、ピクセルのピクセルロケーションを出力することができる。ピクセルロケーションは、次いで、上記で説明されたように、ピクセルセルアレイ808のスパースキャプチャ動作を調整するために、
図8BのROI情報852の一部として出力され得る。
【0112】
畳み込み演算のフィルタ重みは、トレーニングプロセスから取得され得、トレーニングプロセスは、オフラインで、オンラインで、またはその両方の組合せで実施され得る。オフライントレーニングプロセスでは、重みは、特徴抽出動作より前にメモリ976に事前記憶され得る。重みは、画像プロセッサ810によって処理されることが予想される画像データの範囲をカバーするトレーニングデータセットに基づくトレーニングプロセスから取得され得る。トレーニングデータセットは、クラウド環境に記憶され得、トレーニングは、オフライントレーニングプロセスとしてクラウド環境においても実施され得る。オフライントレーニングプロセスから取得される重みは、異なる撮像システム800のすべての画像プロセッサ810について共通であり得る。
【0113】
オンライントレーニングプロセスでは、画像プロセッサ810によって使用される重みは、画像プロセッサ810が、検出されるべき実際のオブジェクトの画像データを受け取る間、取得され得る。例示的なアプリケーションは、(たとえば、画像センサーによってキャプチャされた眼の画像に基づく)視標追跡であり得る。オンライントレーニングプロセスの一部として、画像プロセッサ810は、トレーニングモードにおいて動作することができ、画像プロセッサ810は、ユーザが空間中の特定のターゲットまたはロケーションを見るように依頼されたとき、ユーザの眼のピクセルデータを受け取る。トレーニングプロセスを通して、画像プロセッサ810は、ユーザの眼を正しく識別する可能性を最大にするように重みを調整することができる。そのような場合、特定の撮像システム800の画像プロセッサ810によって使用される重みは、重みが特定のユーザのためにおよび/または特定の動作条件のために最適化されるので、別の撮像システム800の画像プロセッサ810によって使用される重みとは異なり得る。いくつかの例では、画像プロセッサ810によって使用される重みは、オフライントレーニングプロセスとオンライントレーニングプロセスとの組合せによって取得され得る。たとえば、第1のニューラルネットワーク層によって使用される重みは、オブジェクトの一般的な特徴を抽出するために使用される一般的な重みであり得るが、上位ニューラルネットワーク層の重みは、オンライントレーニングプロセスにおいてトレーニングされて、ユーザにおよび/または特定の動作条件に固有になり得る。
【0114】
さらに、動的視覚検知(DVS)動作をサポートするために、特徴抽出回路972は、ピクセルについての時間的コントラストを取得するために、入力画像フレーム中のピクセルを、メモリ976に記憶された前の画像フレーム中の対応するピクセルと比較するための比較回路975を使用することができる。比較回路975はまた、時間的コントラストの所定のしきい値を有する(または超える)ピクセルのピクセルロケーションを出力するために、時間的コントラストを(第2のプログラミング信号832の一部として受信された)ターゲットしきい値と比較することができる。
【0115】
特徴抽出回路972における特徴抽出動作は、第2のプログラミング信号832に基づいて構成され得る。たとえば、ホストプロセッサ804は、抽出されるべきターゲット特徴をフィルタ重みとして符号化し、畳み込み演算を実施するためにCNNモデルにフィルタ重みを供給することができる。さらに、ホストプロセッサ804は、DVS動作のための時間的コントラストしきい値を設定し、第2のプログラミング信号832の一部として時間的コントラストしきい値を送ることができる。ピクセルロケーションは、次いで、上記で説明されたように、ピクセルセルアレイ808のスパースキャプチャ動作を調整するために、
図8BのROI情報852の一部として出力され得る。
【0116】
ターゲット特徴およびしきい値のほかに、ホストプロセッサ804は、第2のプログラミング信号832中に含まれる他の構成パラメータに基づいて、特徴抽出回路972における特徴抽出動作に影響を及ぼすことができる。たとえば、ホストプロセッサ804は、オンライントレーニング動作の一部であり得、単一の撮像システム800または複数の撮像システム800から受信された画像を伴うトレーニング動作に基づいて、逆方向伝搬勾配を決定することができる。ホストプロセッサ804は、次いで、各撮像システムにおいてローカルに重みを調整するために第2のプログラミング信号832の一部として各撮像システム800に逆方向伝搬勾配を提供することができる。別の例として、ホストプロセッサ804は、より低いレベルのニューラルネットワーク層の出力など、画像処理動作の中間結果を、第2のプログラミング信号832の一部として特徴抽出回路972に提供することができ、特徴抽出回路972は、次いで、より高いレベルのニューラルネットワーク層においてニューラルネットワーク算出を実施するために出力を使用することができる。別の例として、ホストプロセッサ804は、ニューラルネットワークによって実施される画像処理動作の予測される正確さをフィードバックとして提供することができ、これは、特徴抽出回路972のニューラルネットワークが、画像処理動作の予測される正確さを改善するために重みを更新することを可能にする。
【0117】
別の例として、ホストプロセッサ804は、初期ROI(たとえば、
図8BのROI850)のロケーションを提供することができる。画像プロセッサ810は、特徴抽出動作(たとえば、畳み込み演算、動的検知動作)を2ステッププロセスにおいて実施することができる。たとえば、画像プロセッサ810は、最初に、初期ROIによって識別されたピクセルに対して特徴抽出動作を実施することができる。抽出結果が、初期ROIがオフである(たとえば、識別されたピクセルがターゲットオブジェクトの形状に似ていない)ことを指示する場合、画像プロセッサ810は、第2のステップにおいて、ターゲット特徴を含み得る追加のピクセルを探索するためのベースラインとして、初期ROIを使用することができる。第2のステップの終了時に、画像プロセッサ810は、より改良されたROIを提供するために、改良されたピクセルロケーションを決定することができる。
【0118】
さらに、ホストプロセッサ804は、特徴抽出動作の評価をも実施し、評価結果を特徴抽出回路972に提供することができる。ホストプロセッサ804は、特徴抽出回路972における特徴抽出動作に影響を及ぼすために、評価結果をフィードバックとして提供することができる。評価結果は、たとえば、ピクセルセルアレイ808によって出力されたスパースピクセルが、アプリケーション814によって必要とされるデータを含んでいるかどうか(および/またはその割合)の指示を含むことができる。スパースピクセルが、特徴抽出動作の結果として生成された第1のプログラミング信号820において定義されたROIに基づいて出力される場合、特徴抽出回路972は、評価結果に基づいてROIおよび/または特徴抽出動作を調整することができる。たとえば、オブジェクト追跡/検出動作の場合、ホストプロセッサ804は、ピクセルセルアレイ808によって出力された画像フレーム中のスパースピクセルがターゲットオブジェクトのすべてのピクセルを含んでいるかどうかを評価し、評価結果を特徴抽出回路972に提供することができる。特徴抽出回路972は、次いで、たとえば、ピクセルの選択を、評価結果に基づいて特徴抽出動作を実施するように調整することができる。評価結果が、スパースピクセルがターゲットオブジェクトのすべてのピクセルを含んでいるとは限らないことを指示する場合、特徴抽出回路972は、ターゲット特徴を抽出/検出するために、より多くのピクセルを処理するためにROIを拡大するか、さらには、ROIを無視し、入力画像フレームのすべてのピクセルを処理することができる。
【0119】
図10A、
図10B、および
図10Cは、撮像システム800における画像センサー802およびホストプロセッサ804の物理的配置の例を示す。
図10Aおよび
図10Bは、コントローラ806およびピクセルセルアレイ808の物理的配置の例を示す。
図10Aに示されているように、画像センサー802は、ピクセルセルのフォトダイオードなど、ピクセルセルアレイ808の構成要素のうちのいくつかを含む第1の半導体基板1000と、バッファ606、量子化器607、およびメモリ955など、ピクセルセルアレイ808の処理回路、ならびにコントローラ806を含む1つまたは複数の第2の半導体基板1002とを含み得る。いくつかの例では、1つまたは複数の第2の半導体基板1002は、第2の半導体基板1002aと第2の半導体基板1002bとを含む。第2の半導体基板1002aは、ピクセルセルアレイ808の処理回路を含むことができ、第2の半導体基板1002bは、コントローラ806を含むことができる。
【0120】
いくつかの例では、第1の半導体基板1000および1つまたは複数の第2の半導体基板1002は、基板の間の電気的接続を提供するための垂直相互接続1004および1006を伴って、(たとえば、z軸によって表される)垂直方向に沿ってスタックを形成することができる。そのような仕組みは、ピクセルセルアレイ808とコントローラ806との間の電気的接続のルーティング距離を低減することができ、これは、ピクセルセルアレイ808からコントローラ806へのデータ(特にピクセルデータ)の送信の速度を増加させ、送信に必要とされる電力を低減することができる。
【0121】
図10Bは、画像センサー802のスタック構造の詳細の例を示す。
図10Bに示されているように、第1の半導体基板1000は、受光面として構成され、各ピクセルセルのフォトダイオードを含む裏側表面1008と、転送トランジスタ604および電荷貯蔵デバイス605(たとえば、転送トランジスタ604のフローティングドレイン)が実装される前側表面1010とを含み得るが、バッファ606、量子化器607、メモリ955などを含むピクセルセルの処理回路は、第2の半導体基板1002aの前側表面1012の下方に実装される。第1の半導体基板1000の前側表面1010は、チップ間銅接合を含む垂直相互接続1004によって、第2の半導体基板1002aの前側表面1012と電気的に接続され得る。チップ間銅接合は、たとえば、各ピクセルセルの転送トランジスタ604と各ピクセルセルのバッファ606との間のピクセル相互接続を提供することができる。
【0122】
さらに、撮像センサー800は、ピクセルセルアレイ808とコントローラ806との間の垂直相互接続を提供するためのスルーシリコンビア(TSV)をさらに含む。TSVは、スタックのショルダー領域1020および1022上にあり、第2の半導体基板1002aおよび1002bを貫通することができる。TSVは、たとえば、第1のプログラミング信号820および画像フレーム(たとえば、第1の画像フレーム822)を送信するように構成され得る。垂直相互接続は、たとえば、画像特徴抽出動作を実施するために、ピクセルセルアレイ808から画像プロセッサ810への通常フレームレート(たとえば、60フレーム/秒)におけるピクセルデータのフルフレーム(たとえば、1920ピクセル×1080ピクセル)の送信をサポートすることができる。
【0123】
図10Cは、ホストプロセッサ804と画像センサー802との間の接続を示す。
図10Cに示されている例では、撮像システム800は、ホストプロセッサ804と、画像センサー802a、802b、802nなどを含む複数の画像センサー802とを含むことができる。画像センサー802の各々は、MIPI CSIインターフェースなど、画像フレームを送信するための、ホストプロセッサ804への高速ポイントツーポイント接続1040を含むことができる。たとえば、画像センサー802aは、ポイントツーポイント接続1040aを介してホストプロセッサ804に接続され、画像センサー802bは、ポイントツーポイント接続1040bを介してホストプロセッサ804に接続され、画像センサー802nは、ポイントツーポイント接続1040nを介してホストプロセッサ804に接続される。さらに、画像センサー802とホストプロセッサ804とは、I3Cバスなどの共有システムバスを介しても接続され、共有システムバスは、ホストプロセッサ804が画像センサー802a、802b、および802nの各々に第2のプログラミング信号832を送信するための低レートおよび低電力バス接続を提供する。
【0124】
図11は、撮像システム800の動作のフローチャート1100を示す。ステップ1102において、ピクセルセルアレイ808は、第1の時間において、第1の画像フレーム822を生成する。第1の画像フレーム822の生成は、
図9Bのピクセルアレイプログラミングマップ940など、プログラミングマップを含み得る第1のプログラミング信号820に基づき得る。いくつかの例では、第1のプログラミング信号820は、第1の画像フレーム822がピクセルのフルフレームを含むことを指示することができる。いくつかの例では、第1のプログラミング信号820は、第1の画像フレームがスパースピクセルを有することを指示することができる。ステップ1102の一部として、ピクセルセルアレイ808は、第1の時間において、ピクセルのフルフレームを含む第2の画像フレームをも生成することができる。
【0125】
ステップ1104aにおいて、ピクセルセルアレイ808は、第1のプログラミング信号820に基づいて、たとえば、ポイントツーポイントMIPI CSIインターフェースを介して、第1の画像フレームをホストプロセッサに送信する。第1の画像フレームは、ピクセルのフルフレームを有することができるか、またはスパースピクセルを有することができる。
【0126】
ステップ1104bにおいて、ピクセルセルアレイ808はまた、第1の画像フレーム、または第2の画像フレームをコントローラ806に送信する。
【0127】
ステップ1106において、ホストプロセッサ804は、第1の画像フレームに基づいて、画像センサー802のための構成を含むことができる第2のプログラミング信号832を決定することができる。構成は、特定用途向けであり得る。
【0128】
いくつかの例では、撮像システム800は、
図7DのDVS動作など、DVS動作をサポートし得る。そのような例では、ホストプロセッサ804は、第1の画像フレームに基づいて、シーンの周囲光強度を決定し、周囲光強度に基づいて時間的コントラストのためのしきい値を決定することができる。より高い周囲光強度では、しきい値は、より高く設定され得るが、より低い周囲光強度では、しきい値は、より低く設定され得る。
【0129】
その上、撮像システム800が、
図7A図7Cに示されている動作など、オブジェクト追跡/検出動作をサポートする場合、ホストプロセッサ804は、第1の画像フレームに基づいて、
図7AのROI702、
図7Bのピクセルのグループ726/728、
図7Dのピクセルのグループ734などの関心オブジェクトを含む1つまたは複数のROIを決定することができる。関心オブジェクトは、特定用途向けであり得る。たとえば、関心オブジェクトは、シーン中の身体部分(たとえば、眼球、手)、人および車両、シーン中のいくつかのテキスト/シンボル(たとえば、QRコード)、(たとえば、中心窩サンプリング動作(foveated sampling operation)の一部として)プライバシーのために表示されるべきでない、または低下された解像度を有するべきでないオブジェクトなどを含むことができる。そのような場合、構成は、たとえば、1つまたは複数のROIの各々のロケーション、サイズ、および形状、オブジェクトの座標ならびにオブジェクトのサイズおよび形状などを指示することができる。
【0130】
いくつかの例では、画像センサー802の画像プロセッサ810は、特徴を抽出するための、畳み込みニューラルネットワークなど、機械学習モデル973を含むことができる。画像センサー802のCNNの重みが、オンライントレーニング動作に基づいて更新され得る。ホストプロセッサ804がオンライントレーニング動作の一部である場合、ホストプロセッサ804は、単一の撮像システム800または複数の撮像システム800から受信された画像を伴うトレーニング動作に基づいて、逆方向伝搬勾配を決定することができる。ホストプロセッサ804は、画像センサーのための構成の一部として逆方向伝搬勾配を決定することができる。
【0131】
ステップ1106において決定された構成は、特徴抽出動作の評価の結果など、他のパラメータを含むことができる。ホストプロセッサ804は、特徴抽出回路972における特徴抽出動作に影響を及ぼすために、評価結果をフィードバックとして提供することができる。評価結果は、たとえば、ピクセルセルアレイ808によって出力されたスパースピクセルが、アプリケーションによって必要とされるデータを含んでいるかどうか(および/またはその割合)の指示を含むことができる。別の例として、パラメータは、たとえば、(たとえば、動きセンサーデータに基づく)関心オブジェクトの動きの速度の推定、視線方向の変化などを含み得る。これらのパラメータは、コントローラ806が、後続の画像フレームにおけるROIの新しいロケーションを推定することを可能にする。
【0132】
ステップ1108において、ホストプロセッサ804は、第2のプログラミング信号832の一部として構成をコントローラ806に送信することができる。構成の送信は、たとえば、I3Cバスなどの共有バスインターフェースを介したものであり得る。
【0133】
ステップ1110において、コントローラ806は、第1の画像フレームに基づいておよび構成に基づいて、第1のプログラミング信号820を更新することができる。更新も、特定用途向けであり得る。
【0134】
たとえば、DVS動作が実施されている場合、画像プロセッサ810は、第1の画像フレームと前の画像フレームとの間のピクセル値の差を決定し、時間的コントラストがしきい値を超えるピクセルを識別するためにその差を構成中に含まれるしきい値と比較することができる。プログラミングマップ生成器812は、次いで、時間的コントラストがしきい値を超えるピクセルのみをアクティブ化するために、および/またはより高い解像度においてピクセル値を出力するためにそれらのピクセルを選択するために、ピクセルアレイプログラミングマップを更新することができる。
【0135】
その上、撮像システム800がオブジェクト追跡/検出動作をサポートする場合、画像プロセッサ810は、オブジェクトの精密なロケーションを識別するために、第1の画像データフレームに対して特徴抽出動作を実施することができる。特徴抽出動作は、ステップ1108においてホストプロセッサ804によって送信された構成情報に基づき得る。たとえば、構成情報は、CNNの重み、オンライントレーニングの一部としてCNNの重みを更新するための逆方向伝搬勾配、ROIの座標の初期推定、関心オブジェクトの動きの速度、視線方向の変化などを含むことができる。撮像システム800は、次いで、構成情報に基づいて、キャプチャされるべき後続の画像フレームにおけるROIのロケーションを推定し、後続の画像フレームにおけるROIの推定されたロケーションを反映するためにプログラミングマップを更新することができる。
【0136】
ステップ1112において、コントローラ806は、更新された第1のプログラミング信号820をピクセルセルアレイ808に送信することができる。ピクセルセルアレイ808は、次いで、ステップ1114において、第2の時間において、更新されたプログラミングマップに基づいて、スパースピクセルを含む後続の画像フレームを生成することができる。
【0137】
本明細書のいくつかの部分は、情報に関する動作のアルゴリズムおよび記号表現に関して本開示の実施形態について説明する。これらのアルゴリズム説明および表現は、データ処理技術分野の当業者が、他の当業者に自身の仕事の本質を効果的に伝えるために通常使用される。これらの動作は、機能的に、算出量的に、または論理的に説明されるが、コンピュータプログラムまたは等価な電気回路、マイクロコードなどによって実装されることが理解される。さらに、一般性の喪失なしに、動作のこれらの仕組みをモジュールと呼ぶことが時々好都合であることも証明された。説明される動作およびそれらの関連するモジュールは、ソフトウェア、ファームウェア、および/またはハードウェアにおいて具現され得る。
【0138】
説明されるステップ、動作、またはプロセスは、1つまたは複数のハードウェアまたはソフトウェアモジュールで、単独でまたは他のデバイスとの組合せで実施または実装され得る。いくつかの実施形態では、ソフトウェアモジュールは、コンピュータプログラムコードを含んでいるコンピュータ可読媒体を備えるコンピュータプログラム製品で実装され、コンピュータプログラムコードは、説明されるステップ、動作、またはプロセスのいずれかまたはすべてを実施するためにコンピュータプロセッサによって実行され得る。
【0139】
本開示の実施形態はまた、説明される動作を実施するための装置に関し得る。本装置は、必要とされる目的のために特別に構築され得、および/あるいは、本装置は、コンピュータに記憶されたコンピュータプログラムによって選択的にアクティブ化または再構成される汎用コンピューティングデバイスを備え得る。そのようなコンピュータプログラムは、非一時的有形コンピュータ可読記憶媒体、または電子命令を記憶するのに好適な任意のタイプの媒体に記憶され得、それらの媒体はコンピュータシステムバスに結合され得る。さらに、本明細書で言及される任意のコンピューティングシステムは、単一のプロセッサを含み得るか、または増加された算出能力のために複数のプロセッサ設計を採用するアーキテクチャであり得る。
【0140】
本開示の実施形態はまた、本明細書で説明されるコンピューティングプロセスによって製造される製品に関し得る。そのような製品は、コンピューティングプロセスから生じる情報を備え得、その情報は、非一時的有形コンピュータ可読記憶媒体に記憶され、本明細書で説明されるコンピュータプログラム製品または他のデータ組合せの任意の実施形態を含み得る。
【0141】
本明細書で使用される言い回しは、主に読みやすさおよび教授の目的で選択されており、その言い回しは、本発明の主題を画定または制限するために選択されていないことがある。したがって、本開示の範囲はこの詳細な説明によって限定されるのではなく、むしろ、本明細書に基づく出願に関して生じる請求項によって限定されることが意図される。したがって、実施形態の開示は、以下の特許請求の範囲に記載される本開示の範囲を例示するものであり、限定するものではない。
【国際調査報告】