(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-04
(45)【発行日】2024-07-12
(54)【発明の名称】プログラム可能なピクセルアレイ
(51)【国際特許分類】
H04N 25/77 20230101AFI20240705BHJP
G01S 17/89 20200101ALI20240705BHJP
【FI】
H04N25/77
G01S17/89
(21)【出願番号】P 2021531109
(86)(22)【出願日】2019-12-17
(86)【国際出願番号】 US2019066805
(87)【国際公開番号】W WO2020131847
(87)【国際公開日】2020-06-25
【審査請求日】2022-10-04
(32)【優先日】2018-12-17
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-12-16
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】515046968
【氏名又は名称】メタ プラットフォームズ テクノロジーズ, リミテッド ライアビリティ カンパニー
【氏名又は名称原語表記】META PLATFORMS TECHNOLOGIES, LLC
(74)【代理人】
【識別番号】110002974
【氏名又は名称】弁理士法人World IP
(72)【発明者】
【氏名】レイセルホーフェ, ハンス
(72)【発明者】
【氏名】ベルコビッチ, アンドリュー サミュエル
(72)【発明者】
【氏名】リュウ, シンチャオ
【審査官】鈴木 明
(56)【参考文献】
【文献】米国特許出願公開第2017/0041571(US,A1)
【文献】米国特許出願公開第2018/0115725(US,A1)
【文献】米国特許出願公開第2011/0155892(US,A1)
【文献】欧州特許出願公開第02037505(EP,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 25/00-25/79
G01S 17/89
(57)【特許請求の範囲】
【請求項1】
ピクセルセルのアレイであって、ピクセルセルの前記アレイの各ピクセルセルが、
ピクセルレベルプログラミングデータと測定データとを記憶するためのメモリと、
前記メモリからの前記ピクセルレベルプログラミングデータに基づいて、前記測定データを生成するために光測定動作を実施することと、前記メモリに前記測定データを記憶することとを行うように構成された光測定回路と
を含む、ピクセルセルのアレイと、
各ピクセルセルをターゲットにするピクセルレベルプログラミングデータを含むピクセルアレイプログラミングマップを受け取ることと、
前記ピクセルアレイプログラミングマップから前記ピクセルレベルプログラミングデータを抽出することと、
ピクセルセルの前記アレイの各ピクセルセルの前記メモリにおける記憶のために、ならびに前記各ピクセルセルにおける前記光測定動作および前記測定データの生成を個々に制御するために、前記各ピクセルセルに前記ピクセルレベルプログラミングデータを送信することと
を行うように構成された周辺回路と
を備える、装置。
【請求項2】
前記各ピクセルセルが、個々にアドレス指定可能であり、
前記周辺回路が、
前記ピクセルアレイプログラミングマップからピクセルセルの前記アレイの第1のピクセルセルのための第1のピクセルレベルプログラミングデータを抽出することと、
前記ピクセルアレイプログラミングマップからピクセルセルの前記アレイの第2のピクセルセルのための第2のピクセルレベルプログラミングデータを抽出することと、
前記第1のピクセルレベルプログラミングデータに基づいて第1のアドレスを生成することと、
前記第2のピクセルレベルプログラミングデータに基づいて第2のアドレスを生成することと、
前記第1のアドレスに基づいて、前記第1のピクセルレベルプログラミングデータを受け取るために前記第1のピクセルセルの前記メモリを選択することと、
前記第2のアドレスに基づいて、前記第2のピクセルレベルプログラミングデータを受け取るために前記第2のピクセルセルの前記メモリを選択することと
を行うように構成された、請求項1に記載の装置。
【請求項3】
前記ピクセルアレイプログラミングマップが、ピクセルレベルプログラミングデータのアレイを含み、
前記第1のアドレスが、ピクセルレベルプログラミングデータの前記アレイ内の前記第1のピクセルレベルプログラミングデータのロケーションに基づいて生成され、
前記第2のアドレスが、ピクセルレベルプログラミングデータの前記アレイ内の前記第2のピクセルレベルプログラミングデータのロケーションに基づいて生成される、
請求項2に記載の装置。
【請求項4】
前記周辺回路が、第1のピクセルセルを含むピクセルセルの前記アレイの少なくともサブセットにチップレベルプログラミング信号を送信するように構成され、
前記第1のピクセルセルの前記光測定回路が、前記ピクセルレベルプログラミングデータに基づいて、前記チップレベルプログラミング信号に基づいて前記光測定動作を実施すること、または前記ピクセルレベルプログラミングデータに基づいて前記光測定動作を実施することのいずれかを行うように構成された、
請求項1に記載の装置。
【請求項5】
前記第1のピクセルセルの前記光測定回路が、前記チップレベルプログラミング信号、または前記ピクセルレベルプログラミングデータの少なくとも第2のサブセットを出力として選択するために、前記ピクセルレベルプログラミングデータの少なくとも第1のサブセットによって制御可能なマルチプレクサを含み、
前記第1のピクセルセルの前記光測定回路が、前記マルチプレクサの前記出力に基づいて前記光測定動作を実施するように構成された、
請求項4に記載の装置。
【請求項6】
前記チップレベルプログラミング信号が、第1のチップレベルプログラミング信号であり、
前記周辺回路が、前記第1のピクセルセルを含むピクセルセルの前記アレイの前記サブセットに、第2のチップレベルプログラミング信号を送信するように構成され、
前記マルチプレクサが第1のマルチプレクサであり、
前記出力が、第1の出力であり、前記光測定動作の一部として前記
光測定回路の第1の構成要素の第1の動作を制御し、
前記光測定回路が、前記第2のチップレベルプログラミング信号、または前記ピクセルレベルプログラミングデータの少なくとも第3のサブセットを第2の出力として選択するために、前記ピクセルレベルプログラミングデータの少なくとも前記第1のサブセットによって制御可能な第2のマルチプレクサをさらに備え、
前記第2の出力が、前記光測定動作の一部として前記
光測定回路の第2の構成要素の第2の動作を制御する、
請求項5に記載の装置。
【請求項7】
前記第1のマルチプレクサと前記第2のマルチプレクサとが、前記ピクセルレベルプログラミングデータの前記第1のサブセットの異なるビットによって制御可能である、請求項6に記載の装置。
【請求項8】
前記チップレベルプログラミング信号が、前記光測定動作中にピクセルセルの前記アレイの前記サブセットの各々によって消費されるべき電流の第1の量を設定し、
前記ピクセルレベルプログラミングデータが、前記光測定動作中に前記第1のピクセルセルによって消費されるべき電流の第2の量と、前記チップレベルプログラミング信号によって設定された前記第1の量をオーバーライドすべきかどうかとを設定する、
請求項4に記載の装置。
【請求項9】
前記光測定回路が比較器を備え、
前記チップレベルプログラミング信号が、前記比較器の第1のバイアスを設定し、
前記ピクセルレベルプログラミングデータが、前記比較器の第2のバイアスを設定する、
請求項8に記載の装置。
【請求項10】
前記光測定回路がフォトダイオードを含み、
前記チップレベルプログラミング信号は、ピクセルセルの
前記アレイの前記サブセットの各々の前記フォトダイオードが前記光測定動作のための光に応答して電荷を生成する、第1の露光期間を設定し、
前記ピクセルレベルプログラミングデータは、前記第1のピクセルセルの前記フォトダイオードが前記光測定動作のための光に応答して電荷を生成する、第2の露光期間と、前記チップレベルプログラミング信号によって設定された前記第1の露光期間をオーバーライドすべきかどうかとを設定する、
請求項4に記載の装置。
【請求項11】
前記光測定回路がフォトダイオードを含み、
前記チップレベルプログラミング信号が、前記測定データを生成するために、前記フォトダイオードによって生成され
た電荷を量子化するためにピクセルセルの前記アレイの前記サブセットの各々の前記光測定回路によって実施されるべき第1の量子化動作および第2の量子化動作を指示し、前記第1の量子化動作と前記第2の量子化動作とが、異なる強度範囲に関連付けられ、
前記ピクセルレベルプログラミングデータは、前記第1のピクセルセルの前記光測定回路が前記測定データを生成するために前記第2の量子化動作を実施すべきであることと、前記チップレベルプログラミング信号をオーバーライドすべきかどうかとを指示する、
請求項4に記載の装置。
【請求項12】
前記チップレベルプログラミング信号は、ピクセルセルの前記アレイの前記サブセットの各々が第1のフレームについて前記メモリに前記測定データを記憶すべきであることを指示し、
前記ピクセルレベルプログラミングデータは、前記第1のピクセルセルの前記光測定回路が前記第1のフレームについて前記メモリに前記測定データを記憶すべきでないことと、前記チップレベルプログラミング信号をオーバーライドすべきかどうかとを指示する、
請求項4に記載の装置。
【請求項13】
前記チップレベルプログラミング信号が、前記メモリに記憶されるべき前記測定データの第1のビット数を設定し、
前記ピクセルレベルプログラミングデータが、前記メモリに記憶されるべき前記測定データの第2のビット数と、前記チップレベルプログラミング信号をオーバーライドすべきかどうかとを設定する、
請求項4に記載の装置。
【請求項14】
前記光測定動作が第1の光測定動作であり、
ピクセルセルの前記アレイの第1のピクセルセルの前記メモリが、前記ピクセルレベルプログラミングデータの少なくとも第1のサブセットおよび第2のサブセットを記憶するように構成されたシフトレジスタを含み、
前記周辺回路が、前記シフトレジスタに、第1の時間において前記ピクセルレベルプログラミングデータの前記第1のサブセットを出力することと、第2の時間において前記ピクセルレベルプログラミングデータの前記第2のサブセットを出力することとを行わせるために、前記第1のピクセルセルの前記シフトレジスタにシフト信号を送信するように構成され、
前記第1のピクセルセルの前記光測定回路が、前記第1の時間において前記ピクセルレベルプログラミングデータの前記第1のサブセットに基づいて第1の光測定動作を実施することと、前記第2の時間において前記ピクセルレベルプログラミングデータの前記第2のサブセットに基づいて第2の光測定動作を実施することとを行うように構成された、
請求項1に記載の装置。
【請求項15】
ピクセルセルの前記アレイの前記各ピクセルセルの前記メモリが、前記ピクセルレベルプログラミングデータを記憶するための前記シフトレジスタを含み、
前記周辺回路が、
前記第1の時間において、前記各ピクセルセルに前記第1の光測定動作を実施させることと、
前記第2の時間において、ピクセルセルの前記アレイの第1のサブセットに前記第2の光測定動作を実施させ、ピクセルセルの前記アレイの第2のサブセットに前記第2の光測定動作を実施させないことと
を行うために、前記各ピクセルセルの前記シフトレジスタに前記シフト信号を送信するように構成された、請求項14に記載の装置。
【請求項16】
前記ピクセルレベルプログラミングデータが、第1のピクセルレベルプログラミングデータであり、
ピクセルセルの前記アレイの第2のピクセルセルの前記メモリが、第2のピクセルレベルプログラミングデータのサブセットを記憶するように構成されたシフトレジスタを含み、
前記周辺回路が、前記第2のピクセルレベルプログラミングデータの前記サブセットとしての記憶のために、前記第1のピクセルレベルプログラミングデータの前記第1のサブセットおよび前記第2のサブセットを前記第2のピクセルセルの前記シフトレジスタに伝搬するために、前記第1のピクセルセルの前記シフトレジスタに前記シフト信号を送信することと、前記第2のピクセルセルの前記シフトレジスタに伝搬信号を送信することとを行うように構成された、
請求項14に記載の装置。
【請求項17】
ピクセルセルの前記アレイの前記各ピクセルセルの前記メモリが、前記ピクセルレベルプログラミングデータを記憶するための前記シフトレジスタを含み、
前記周辺回路は、
前記第1の時間において、ピクセルセルの前記アレイの第1のサブセットに、第1のフレームを生成するために前記第1の光測定動作を実施させることであって、ピクセルセルの前記アレイの前記第1のサブセットが、前記第1のフレームにおける関心領域(ROI)に対応する、前記第1の光測定動作を実施させることと、
前記第2の時間において、ピクセルセルの前記アレイの第2のサブセットに、第2のフレームを生成するために前記第2の光測定動作を実施させることであって、ピクセルセルの前記アレイの前記第2のサブセットが、前記第2のフレームにおける前記ROIに対応する、前記第2の光測定動作を実施させることと
を行うために、前記各ピクセルセルの前記シフトレジスタに前記シフト信号を送信するように構成された、請求項16に記載の装置。
【請求項18】
前記ピクセルアレイプログラミングマップが、前記各ピクセルセルをターゲットにする第1のピクセルレベルプログラミングデータを含む第1のピクセルアレイプログラミングマップであり、
前記光測定動作が第1の光測定動作であり、
前記周辺回路が、
各ピクセルセルをターゲットにする前記第1のピクセルレベルプログラミングデータを含む前記第1のピクセルアレイプログラミングマップを受け取ることと、
第1のフレームを生成するように前記各ピクセルセルにおける前記第1の光測定動作を制御するために、前記各ピクセルセルに前記第1のピクセルレベルプログラミングデータを送信することと、
各ピクセルセルをターゲットにする第2のピクセルレベルプログラミングデータを含む第2のピクセルアレイプログラミングマップを受け取ることと、
第2のフレームを生成するように前記各ピクセルセルにおける第2の光測定動作を制御するために、前記各ピクセルセルに前記第2のピクセルレベルプログラミングデータを送信することと
を行うように構成された、請求項1に記載の装置。
【請求項19】
前記第2のピクセルアレイプログラミングマップの各エントリは、前記各エントリに記憶された前記第2のピクセルレベルプログラミングデータが、前記第1のピクセルアレイプログラミングマップの対応するエントリとの差を表すかどうかの指示と、前記第2のピクセルレベルプログラミングデータとを含む、請求項18に記載の装置。
【請求項20】
ピクセルセルのアレイの各ピクセルセルをターゲットにするピクセルレベルプログラミングデータを含むピクセルアレイプログラミングマップを受け取ることと、
前記ピクセルアレイプログラミングマップから前記ピクセルレベルプログラミングデータを抽出することと、
前記各ピクセルセルによってアクセス可能なメモリにおける記憶のために、ならびに前記各ピクセルセルにおける光測定動作および測定データの生成を個々に制御するために、前記各ピクセルセルに前記ピクセルレベルプログラミングデータを送信することと
を含む、方法。
【発明の詳細な説明】
【背景技術】
【0001】
本開示は、一般に画像センサーに関し、より詳細には、プログラム可能なピクセルアレイを備える画像センサーに関する。
【0002】
一般的な画像センサーは、ピクセルセルのアレイを含む。各ピクセルセルは、光子を電荷(たとえば、電子または正孔)に変換することによって光を検知するためのフォトダイオードを含み得る。各ピクセルセルにおいて変換された電荷は、量子化されてデジタルピクセル値になり得、デジタルピクセル値のアレイから画像が生成され得る。ピクセルセルのアレイの動作は、アレイ内のすべてのピクセルセルに適用される1つまたは複数のチップレベルプログラミング信号に基づいて構成され得る。
【発明の概要】
【0003】
本開示は、画像センサーに関する。より詳細には、限定はしないが、本開示は、プログラム可能なピクセルセルアレイを有する画像センサーに関する。
【0004】
一例では、装置が提供される。本装置は、ピクセルセルのアレイと周辺回路とを含む。ピクセルセルのアレイの各ピクセルセルは、ピクセルレベルプログラミングデータと測定データとを記憶するためのメモリと、制御メモリからのピクセルレベルプログラミングデータに基づいて、測定データを生成するために光測定動作を実施することと、データメモリに測定データを記憶することとを行うように構成された光測定回路とを含む。周辺回路は、各ピクセルセルをターゲットにするピクセルレベルプログラミングデータを含むピクセルアレイプログラミングマップを受け取ることと、ピクセルアレイプログラミングマップからピクセルレベルプログラミングデータを抽出することと、ピクセルセルのアレイの各ピクセルセルのメモリにおける記憶のために、ならびに各ピクセルセルにおける光測定動作および測定データの生成を個々に制御するために、各ピクセルセルにピクセルレベルプログラミングデータを送信することとを行うように構成される。
【0005】
いくつかの態様では、ピクセルセルのアレイの各ピクセルセルは、個々にアドレス指定可能である。周辺回路は、ピクセルアレイプログラミングマップからピクセルセルのアレイの第1のピクセルセルのための第1のピクセルレベルプログラミングデータを抽出することと、ピクセルアレイプログラミングマップからピクセルセルのアレイの第2のピクセルセルのための第2のピクセルレベルプログラミングデータを抽出することと、第1のプログラミングデータに基づいて第1のアドレスを生成することと、第2のピクセルレベルプログラミングデータに基づいて第2のアドレスを生成することと、第1のアドレスに基づいて、第1のプログラミングデータを受け取るために第1のピクセルセルのメモリを選択することと、第2のアドレスに基づいて、第2のピクセルレベルプログラミングデータを受け取るために第2のピクセルセルのメモリを選択することとを行うように構成される。
【0006】
いくつかの態様では、ピクセルアレイプログラミングマップは、ピクセルレベルプログラミングデータのアレイを含む。第1のアドレスは、ピクセルレベルプログラミングデータのアレイ内の第1のピクセルレベルプログラミングデータのロケーションに基づいて生成される。第2のアドレスは、ピクセルレベルプログラミングデータのアレイ内の第2のピクセルレベルプログラミングデータのロケーションに基づいて生成される。
【0007】
いくつかの態様では、周辺回路は、第1のピクセルセルを含むピクセルセルのアレイの少なくともサブセットにチップレベルプログラミング信号を送信するように構成される。第1のピクセルセルの光測定回路は、ピクセルレベルプログラミングデータに基づいて、チップレベルプログラミング信号に基づいて光測定動作を実施すること、またはピクセルレベルプログラミングデータに基づいて光測定動作を実施することのいずれかを行うように構成される。
【0008】
いくつかの態様では、第1のピクセルセルの光測定回路は、チップレベルプログラミング信号、またはピクセルレベルプログラミングデータの少なくとも第2のサブセットを出力として選択するために、ピクセルレベルプログラミングデータの少なくとも第1のサブセットによって制御可能なマルチプレクサを含む。第1のピクセルセルの光測定回路は、マルチプレクサの出力に基づいて光測定動作を実施するように構成される。
【0009】
いくつかの態様では、チップレベルプログラミング信号は、第1のチップレベルプログラミング信号である。周辺回路は、第1のピクセルセルを含むピクセルセルのアレイのサブセットに、第2のチップレベルプログラミング信号を送信するように構成される。マルチプレクサは第1のマルチプレクサである。出力は、第1の出力であり、光測定動作の一部として測定回路の第1の構成要素の第1の動作を制御する。光測定回路は、第2のチップレベルプログラミング信号、またはピクセルレベルプログラミングデータの少なくとも第3のサブセットを第2の出力として選択するために、ピクセルレベルプログラミングデータの少なくとも第1のサブセットによって制御可能な第2のマルチプレクサをさらに備える。第2の出力は、光測定動作の一部として測定回路の第2の構成要素の第2の動作を制御する。
【0010】
いくつかの態様では、第1のマルチプレクサと第2のマルチプレクサとは、ピクセルレベルプログラミングデータの第1のサブセットの異なるビットによって制御可能である。
【0011】
いくつかの態様では、チップレベルプログラミング信号は、光測定動作中にピクセルセルのアレイのサブセットの各々によって消費されるべき電流の第1の量を設定する。ピクセルレベルプログラミングデータは、光測定動作中に第1のピクセルセルによって消費されるべき電流の第2の量と、チップレベルプログラミング信号によって設定された第1の量をオーバーライドすべきかどうかとを設定する。
【0012】
いくつかの態様では、光測定回路は比較器を備える。チップレベルプログラミング信号は、比較器の第1のバイアスを設定する。ピクセルレベルプログラミングデータは、比較器の第2のバイアスを設定する。
【0013】
いくつかの態様では、光測定回路はフォトダイオードを含む。チップレベルプログラミング信号は、ピクセルセルのアレイのサブセットの各々のフォトダイオードが光測定動作のための光に応答して電荷を生成する、第1の露光期間を設定する。ピクセルレベルプログラミングデータは、第1のピクセルセルのフォトダイオードが光測定動作のための光に応答して電荷を生成する、第2の露光期間と、チップレベルプログラミング信号によって設定された第1の露光期間をオーバーライドすべきかどうかとを設定する。
【0014】
いくつかの態様では、光測定回路はフォトダイオードを含む。チップレベルプログラミング信号は、測定データを生成するために、フォトダイオードによって生成された電荷を量子化するためにピクセルセルのアレイのサブセットの各々の光測定回路によって実施されるべき第1の量子化動作および第2の量子化動作を指示し、第1の量子化動作と第2の量子化動作とは、異なる強度範囲に関連付けられる。ピクセルレベルプログラミングデータは、第1のピクセルセルの光測定回路が測定データを生成するために第2の量子化動作を実施すべきであることと、チップレベルプログラミング信号をオーバーライドすべきかどうかとを指示する。
【0015】
いくつかの態様では、チップレベルプログラミング信号は、ピクセルセルのアレイのサブセットの各々が第1のフレームについてメモリに測定データを記憶すべきであることを指示する。ピクセルレベルプログラミングデータは、第1のピクセルセルの光測定回路が第1のフレームについてメモリに測定データを記憶すべきでないことと、チップレベルプログラミング信号をオーバーライドすべきかどうかとを指示する。
【0016】
いくつかの態様では、チップレベルプログラミング信号は、メモリに記憶されるべき測定データの第1のビット数を設定する。ピクセルレベルプログラミングデータは、メモリに記憶されるべき測定データの第2のビット数と、チップレベルプログラミング信号をオーバーライドすべきかどうかとを設定する。
【0017】
いくつかの態様では、光測定動作は第1の光測定動作である。ピクセルセルのアレイの第1のピクセルセルのメモリは、ピクセルレベルプログラミングデータの少なくとも第1のサブセットおよび第2のサブセットを記憶するように構成されたシフトレジスタを含む。周辺回路は、シフトレジスタに、第1の時間においてピクセルレベルプログラミングデータの第1のサブセットを出力することと、第2の時間においてピクセルレベルプログラミングデータの第2のサブセットを出力することとを行わせるために、第1のピクセルセルのシフトレジスタにシフト信号を送信するように構成される。第1のピクセルセルの光測定回路は、第1の時間においてピクセルレベルプログラミングデータの第1のサブセットに基づいて第1の光測定動作を実施することと、第2の時間においてピクセルレベルプログラミングデータの第2のサブセットに基づいて第2の光測定動作を実施することとを行うように構成される。
【0018】
いくつかの態様では、ピクセルセルのアレイの各ピクセルセルのメモリは、ピクセルレベルプログラミングデータを記憶するためのシフトレジスタを含む。周辺回路は、第1の時間において、各ピクセルセルに第1の光測定動作を実施させることと、第2の時間において、ピクセルセルのアレイの第1のサブセットに第2の光測定動作を実施させ、ピクセルセルのアレイの第2のサブセットに第2の光測定動作を実施させないこととを行うために、各ピクセルセルのシフトレジスタにシフト信号を送信するように構成される。
【0019】
いくつかの態様では、ピクセルレベルプログラミングデータは、第1のピクセルレベルプログラミングデータである。ピクセルセルのアレイの第2のピクセルセルのメモリは、第2のピクセルレベルプログラミングデータのサブセットを記憶するように構成されたシフトレジスタを含む。周辺回路は、第2のピクセルレベルプログラミングデータのサブセットとしての記憶のために、第1のピクセルレベルプログラミングデータの第1のサブセットおよび第2のサブセットを第2のピクセルセルのシフトレジスタに伝搬するために、第1のピクセルセルのシフトレジスタにシフト信号を送信することと、第2のピクセルセルのシフトレジスタに伝搬信号を送信することとを行うように構成される。
【0020】
いくつかの態様では、ピクセルセルのアレイの各ピクセルセルのメモリは、ピクセルレベルプログラミングデータを記憶するためのシフトレジスタを含む。周辺回路は、第1の時間において、ピクセルセルのアレイの第1のサブセットに、第1のフレームを生成するために第1の光測定動作を実施させることであって、ピクセルセルのアレイの第1のサブセットが、第1のフレームにおける関心領域(ROI)に対応する、第1の光測定動作を実施させることと、第2の時間において、ピクセルセルのアレイの第2のサブセットに、第2のフレームを生成するために第2の光測定動作を実施させることであって、ピクセルセルのアレイの第2のサブセットが、第2のフレームにおけるROIに対応する、第2の光測定動作を実施させることとを行うために、各ピクセルセルのシフトレジスタにシフト信号を送信するように構成される。
【0021】
いくつかの態様では、ピクセルアレイプログラミングマップは、各ピクセルセルをターゲットにする第1のピクセルレベルプログラミングデータを含む第1のピクセルアレイプログラミングマップである。光測定動作は第1の光測定動作である。周辺回路は、各ピクセルセルをターゲットにする第1のプログラミングデータを含む第1のピクセルアレイプログラミングマップを受け取ることと、第1のフレームを生成するように各ピクセルセルにおける第1の光測定動作を制御するために、各ピクセルセルに第1のピクセルレベルプログラミングデータを送信することと、各ピクセルセルをターゲットにする第2のピクセルレベルプログラミングデータを含む第2のピクセルアレイプログラミングマップを受け取ることと、第2のフレームを生成するように各ピクセルセルにおける第2の光測定動作を制御するために、各ピクセルセルに第2のピクセルレベルプログラミングデータを送信することとを行うように構成される。
【0022】
いくつかの態様では、第2のピクセルアレイプログラミングマップの各エントリは、各エントリに記憶された第2のピクセルレベルプログラミングデータが、第1のピクセルアレイプログラミングマップの対応するエントリとの差を表すかどうかの指示と、第2のピクセルレベルプログラミングデータとを含む。
【0023】
いくつかの例では、方法が提供される。本方法は、ピクセルセルのアレイの各ピクセルセルをターゲットにするピクセルレベルプログラミングデータを含むピクセルアレイプログラミングマップを受け取ることと、ピクセルアレイプログラミングマップからピクセルレベルプログラミングデータを抽出することと、各ピクセルセルによってアクセス可能なメモリにおける記憶のために、ならびに各ピクセルセルにおける光測定動作および測定データの生成を個々に制御するために、各ピクセルセルにピクセルレベルプログラミングデータを送信することとを含む。
【0024】
以下の図を参照しながら、例示的な実施形態が説明される。
【図面の簡単な説明】
【0025】
【
図1A】ニアアイディスプレイ(near-eye display)の一実施形態の図である。
【
図1B】ニアアイディスプレイ(near-eye display)の一実施形態の図である。
【
図2】ニアアイディスプレイの断面の一実施形態の図である。
【
図3】単一のソースアセンブリ(source assembly)をもつ導波路ディスプレイ(waveguide display)の一実施形態の等角図である。
【
図4】導波路ディスプレイの一実施形態の断面を示す図である。
【
図5】ニアアイディスプレイを含むシステムの一実施形態のブロック図である。
【
図6A】画像センサーおよびその動作の例を示す図である。
【
図6B】画像センサーおよびその動作の例を示す図である。
【
図6C】画像センサーおよびその動作の例を示す図である。
【
図6D】画像センサーおよびその動作の例を示す図である。
【
図7A】画像処理システムおよびその動作の一例を示す図である。
【
図7B】画像処理システムおよびその動作の一例を示す図である。
【
図7C】画像処理システムおよびその動作の一例を示す図である。
【
図11】画像処理システムおよびその動作の別の例を示す図である。
【
図12】画像データを生成するための例示的なプロセスのフローチャートである。
【発明を実施するための形態】
【0026】
図は、単に例示の目的で本開示の実施形態を図示する。本開示の原理または本開示においてうたわれている利益から逸脱することなく、示される構造および方法の代替実施形態が採用され得ることを、当業者は以下の説明から容易に認識されよう。
【0027】
添付の図において、同様の構成要素および/または特徴は、同じ参照ラベルを有し得る。さらに、同じタイプの様々な構成要素は、同様の構成要素間を区別するダッシュおよび第2のラベルを参照ラベルの後に続けることによって区別され得る。第1の参照ラベルのみが明細書において使用される場合、説明は、第2の参照ラベルには関係なく同じ第1の参照ラベルを有する同様の構成要素のいずれか1つに適用可能である。
【0028】
以下の説明では、説明の目的で、いくつかの発明の実施形態の完全な理解を提供するために、具体的な詳細が記載される。ただし、様々な実施形態がこれらの具体的な詳細なしに実践され得ることは明らかであろう。図および説明は、限定するものではない。
【0029】
画像センサーは、ピクセルセルのアレイを含む。各ピクセルセルは、光検知動作を実施するための回路構成要素を含む。たとえば、各ピクセルセルは、光子を電荷(たとえば、電子または正孔)に変換することによって入射光を検知するためのフォトダイオードと、電荷を電圧に変換するための電荷検知ユニット(たとえば、フローティングドレインおよびバッファ)とを含み得る。画像センサーは、ピクセルセルの電荷検知ユニットによって出力された電圧をデジタル値に量子化するための1つまたは複数のアナログデジタル変換器(ADC)をも含み得る。ADCは、たとえば、比較器を使用して、電荷を表す電圧を1つまたは複数の量子化レベルと比較することによって、電荷を量子化することができ、比較結果に基づいてデジタル値が生成され得る。デジタル値は、次いで、画像を生成するためにメモリに記憶され得る。画像センサーは、一般に、画像センサーのピクセルセルの動作を構成するために1つまたは複数のチップレベルプログラミング信号を送出するためのコントローラを含む。たとえば、コントローラは、画像センサーのすべてのピクセルセルをオンまたはオフにし、ピクセルセルが光検知動作を実施するグローバル露光時間を設定することができる、などである。
【0030】
画像センサーからのピクセルデータは、2D検知と3D検知との融合、物体認識および追跡、ロケーション追跡など、様々なアプリケーションをサポートすることができる。これらのアプリケーションは、算出を実施するために画像のピクセルのサブセットから特徴情報を抽出することができる。たとえば、3D検知を実施するために、アプリケーションは、反射された構造化光のピクセル(たとえば、ドット)を識別し、ピクセルから抽出されたパターンを透過された構造化光と比較し、比較に基づいて深度算出を実施することができる。アプリケーションはまた、2D検知と3D検知との融合を実施するために、構造化光の抽出されたパターンを提供する同じピクセルセルから2Dピクセルデータを識別することができる。物体認識および追跡を実施するために、アプリケーションはまた、物体の画像特徴のピクセルを識別し、ピクセルから画像特徴を抽出し、抽出結果に基づいて認識および追跡を実施することができる。物体認識および追跡結果は、同時位置特定およびマッピング(SLAM)アプリケーション、手追跡アプリケーションなど、より高いレベルのアプリケーションをサポートすることができる。これらのアプリケーションは、一般に、ホストプロセッサ上で実行され、ホストプロセッサは、画像センサーと電気的に接続され、相互接続を介してピクセルデータを受け取ることができる。ホストプロセッサ、画像センサー、および相互接続は、モバイルデバイスの一部であり得る。
【0031】
これらのホストアプリケーションは、ピクセルセルのアレイによって生成された画像データから恩恵を受けることができるが、これらのアプリケーションは、一般に、これらのピクセルセルの画像データの生成ならびに光検知動作を構成しない。その上、画像センサーのピクセルセルのアレイは、一般に、チップレベルプログラミング信号によって構成される。そのような画像センサーは、一般に、ピクセルセルのアレイスケール構成を提供するにすぎず、ピクセルセルの(たとえば、ピクセルレベル、またはピクセルのサブセットにおける)きめの細かい構成を可能にしない。
【0032】
ピクセルセルの構成に関するホストアプリケーションからの入力の欠如、ならびにピクセルセルのきめの細かい構成の欠如は、画像センサーおよびこれらのアプリケーションの達成可能な性能に制限を課し得る。たとえば、ホストアプリケーションは、高解像度画像および/または高いフレームレートから恩恵を受けることができる。より高い解像度の画像は、アプリケーションが、より詳細な特徴/パターン(たとえば、反射された構造化光のより精細化されたパターン、より詳細な画像特徴など)を抽出することを可能にするが、より高いフレームレートにおいて生成された画像を提供することは、アプリケーションが、より高いサンプリングレートにおいて、物体のロケーション、モバイルデバイスのロケーションなどを追跡することを可能にし、それらのどちらのプロセスでも、アプリケーションの性能を改善することができる。しかしながら、高解像度画像および高いフレームレートは、大量のピクセルデータの生成、送信、および処理につながり得、これは多数の課題を提示し得る。たとえば、高データレートにおいて大量のピクセルデータを送信および処理することは、画像センサー、相互接続、およびホストプロセッサにおける高い電力消費につながり得る。その上、画像センサーおよびホストプロセッサは、大量のピクセルデータの生成および処理に帯域幅制限を課し、レイテンシを追加し得る。高電力および高帯域幅要件は、フォームファクタおよび安全性考慮により、比較的低い電力でおよび比較的低い速度において動作する傾向があるモバイルデバイスにとって、特に問題になり得る。
【0033】
大量のピクセルデータを送信することに加えて、ピクセルセルアレイのきめの細かい構成の欠如も電力の浪費につながり得、これもモバイルデバイスにとって問題になる。たとえば、高解像度画像生成をサポートするために、画像センサーのすべてのピクセルセルが、高解像度画像を生成するために、オンにされ、同じ設定(たとえば、同じ露光時間、同じADC分解能など)で構成され得るが、事実上、ピクセルセルのサブセットのみが、ホストアプリケーションに関係のあるピクセルデータを生成する。たとえば、ホストアプリケーションは物体を追跡していることがあり、ピクセルセルの小さいサブセットのみが物体のピクセルデータを生成するが、ピクセルセルの残りによって出力されたピクセルデータは、廃棄され得るか、または少なくともホストアプリケーションにとって重要でない。その結果、高解像度でおよび/または高いフレームレートにおいてそれらのピクセルデータを生成することに費やされる電力は浪費される。モバイルデバイスにおいて利用可能な電力量はごく限られているので、ピクセルセルのきめの細かい構成の欠如は、ピクセルセルに、より低い解像度でおよび/またはより低いフレームレートにおいてピクセルデータを生成することを強制し得、これは、画像センサーおよびホストアプリケーションの達成可能な性能を制限し得る。
【0034】
本開示は、上記の問題点のうちの少なくともいくつかに対処することができる画像センサーに関する。画像センサーは、ピクセルセルのアレイと周辺回路とを備える。画像センサーは、相互接続を介してホストプロセッサに電気的に接続され得る。画像センサー、ホストプロセッサ、および相互接続は、モバイルデバイス中に含まれ得る。
【0035】
ピクセルセルのアレイの各ピクセルセルは、ピクセルレベルプログラミングデータと測定データとを記憶するためのメモリ、ならびに、制御メモリからのピクセルレベルプログラミングデータに基づいて、測定データを生成するために光測定動作を実施することと、メモリに測定データを記憶することとを行うように構成された測定回路を含む。測定回路は、光に応答して電荷を生成するためのフォトダイオードと、電荷を電圧に変換するための電荷検知ユニットと、電圧を測定データに量子化するための量子化器とを含み得る。周辺回路はまた、ピクセルセルのアレイの各ピクセルセルをターゲットにするピクセルレベルプログラミングデータを含むピクセルアレイプログラミングマップを受け取り、各ピクセルセルをターゲットにするプログラミングデータに基づいて、各ピクセルセルにおける光測定動作を構成することができる。
【0036】
いくつかの例では、ピクセルセルのアレイの各ピクセルセルは、個々にアドレス指定可能である。各ピクセルセルは、行バスおよび列バスに接続され得、列バスにおけるピクセルセルのロケーションおよび行バスにおけるピクセルセルのロケーションに基づいて、行アドレスおよび列アドレスを割り当てられる。各ピクセルセルは、1つまたは複数の信号バスとも接続される。ピクセルアレイプログラミングマップの各ピクセルレベルプログラミングデータはまた、ターゲットピクセルセルの行アドレスおよび列アドレスに関連付けられる。特定のピクセルセルにピクセルレベルプログラミングデータを送信するために、周辺回路は、ピクセルアレイプログラミングマップからピクセルレベルプログラミングデータを抽出し、抽出されたピクセルレベルプログラミングデータを1つまたは複数の信号バス上で送信し、ならびにターゲットピクセルセルの行アドレスおよび列アドレスを行バスおよび列バス上で送信することができる。ターゲットピクセルセルは、一致する行アドレスおよび列アドレスを有することに基づいて、1つまたは複数の信号バスからピクセルレベルプログラミングデータを受け取り、ピクセルレベルプログラミングデータをメモリに記憶し、メモリからのピクセルレベルプログラミングデータに基づいて、光測定動作および測定データ生成を実施することができる。プログラミング動作では、周辺回路は、各ピクセルセルにおける光測定動作および測定データ生成を個々にプログラムするために、ピクセルアレイプログラミングマップから各ピクセルセルのためのピクセルレベルプログラミングデータを抽出し、ピクセルレベルプログラミングデータならびに各ピクセルセルの行アドレスおよび列アドレスを、それぞれ、信号バス、行バス、および列バスに送信することができる。
【0037】
いくつかの例では、静的ピクセルアレイプログラミングマップが、複数の画像フレームにわたるピクセルセルにおける光測定動作および測定データ生成を構成するために提供され得る。そのような場合、各ピクセルセルのためのピクセルアレイプログラミングマップの個々のピクセルレベルプログラミングデータは、複数の画像フレームの生成を構成するために各ピクセルセルのメモリに記憶され得る。いくつかの例では、ピクセルアレイプログラミングマップはまた、ピクセルセルにおける光測定動作および測定データ生成が、異なるフレームについて別様に構成されるように、フレーム間で動的に更新され得る。
【0038】
ピクセルセルのメモリに記憶されたピクセルレベルプログラミングデータは、光測定動作および測定データ生成の様々な態様を制御することができる。いくつかの例では、ピクセルセルは、ピクセルセルの光測定動作および測定データ生成を個々に無効化/有効化するように、ピクセルレベルプログラミングデータによって制御可能な電力ゲートを含み得る。いくつかの例では、ピクセルレベルプログラミングデータはまた、フォトダイオードが電荷を生成する露光時間を設定すること、量子化器によって実施されるべき1つまたは複数の量子化動作を選択すること、量子化器の帯域幅および/または量子化分解能を設定すること、メモリが測定データを記憶するかどうかを制御すること、メモリに記憶される測定データの精度(たとえば、ビット数)を制御することなど、測定回路の様々な構成要素を構成することができる。いくつかの例では、ピクセルレベルプログラミングデータは、これらの構成要素の各々について2つの代替構成から1つの構成を選択するための単一のビットを含むことができる。たとえば、ピクセルレベルプログラミングデータは、2つの露光期間設定、2つの量子化帯域幅および/分解能設定、2つの測定データ精度設定などから選択することができる。いくつかの例では、ピクセルレベルプログラミングデータは、これらの構成要素の各々について構成値を指定するための複数のビットを含むことができる。いくつかの例では、ピクセルレベルプログラミングデータはまた、2つの動作モードから選択するための単一のビットのみを含むことができ、各動作モードは、これらの構成要素についての構成の異なるセットを有する。これらの例では、ビットの集合または単一のビットは、命令を形成することができ、ビット値の様々な並べ替えが、ピクセルセルによってサポートされる命令セットを形成することができる。ピクセルレベルプログラミングデータがm個のビットを含む場合、命令セットは最高2m個の命令を含み得る。
【0039】
ピクセルアレイプログラミングマップ中のピクセルレベルプログラミングデータは、ホストアプリケーションの動作を促進するために、各ピクセルセルにおける光測定動作および/または測定データ生成を個々に構成することができる。いくつかの例では、ホストにおける物体追跡アプリケーションをサポートするために、ピクセルアレイプログラミングマップは、電力とホストに送信されるピクセルデータの量とを低減するために、物体の画像をキャプチャする関心領域(ROI)内のピクセルセルのサブセットの電源が投入されるが、ROI外にあるピクセルの残りの電源が切断されることを引き起こすことができる。いくつかの例では、ピクセルアレイプログラミングマップはまた、異なる露光期間にわたって、ピクセルセルの異なるサブセットにおける測定データの記憶をスタガ配置する(stagger)ことができる。そのような仕組みは、ピクセルセルのアレイが、ホストに送信されるピクセルデータの量を低減するために、異なる露光期間において異なる領域がキャプチャされる画像フレームを生成することを可能にする。
【0040】
別の例では、ピクセルセルの電源を完全に切断する代わりに、プログラミングマップは、ROI内のピクセルセルの量子化分解能を最大にしながら、ROI外のピクセルセルの量子化分解能を低減することができる。そのような仕組みは、ホストが、ROIが妥当であることを確認するために、推定上ROI外にあるピクセルセルから情報を抽出することを可能にし、これは、追跡動作を改善することができる。いくつかの例では、プログラミングマップは、フィードバックプロセスの一部としてホストアプリケーションによって生成され得、ホストアプリケーションは、画像センサーによって生成されたフル解像度画像からROIを決定し、ROIに基づいてプログラミングマップを生成し、プログラミングマップを周辺回路に送信して、ピクセルセルがROI内にあるかどうかに基づいて各ピクセルセルを個々に構成する。ホストアプリケーションは、画像センサーによって提供される後続の画像データに基づいて、ROIおよびプログラミングマップを継続的に更新することができる。
【0041】
物体追跡のほかに、プログラミングマップはまた、ピクセルセルにおける光測定動作および/または測定データ生成を、たとえばシーンまたは特定の適用例に適応させるために使用され得る。適応は、たとえば、露光時間、量子化器帯域幅、量子化分解能などを調整することに基づき得る。たとえば、画像センサーによって提供された画像データから、ホストアプリケーションは、ピクセルセルのサブセットが強い光に露光されたと決定し得る。ホストアプリケーションは、適応露光方式の一部としてピクセルセルのサブセットについての露光時間を低減して、それらのピクセルセルによるブルーミングの可能性を低減するために、プログラミングマップを生成することができる。その上、ホストアプリケーションは、フレームがより高いフレームレートにおいて生成されることを必要とし得、より高いフレームレートを達成するために、露光時間を低減し、および/またはピクセルセルの量子化器帯域幅を増加させることができる。
【0042】
いくつかの例では、量子化器は、高光強度についてのフォトダイオードによって生成された電荷の量が飽和限界を超える時間を測定するための飽和までの時間(TTS:time-to-saturation)モード、および中光強度についてのフォトダイオードによってオーバーフロー電荷の量を測定するためのFD ADCモード、および低光強度についてのフォトダイオードにおいて蓄積された残留電荷の量を測定するためのPD ADCモードなど、異なる光強度範囲についての複数の量子化動作をサポートし得る。画像センサーによってキャプチャされた画像のピクセル値に基づいて、ホストアプリケーションは、ピクセルセルによって受け取られた光の強度範囲の分布を決定し、強度範囲の分布に基づいて各ピクセルセルのための量子化モードを選択し得る。選択は、各ピクセルセルによって受け取られる光の予想される強度に基づいて各ピクセルセルのための1つまたは複数の量子化動作を選択するための適応量子化方式の一部として、プログラミングマップにおいて符号化され得る。
【0043】
いくつかの例では、画像フレームのシーケンスから、ホストアプリケーションは、シーンが静的であると決定し得る。ホストアプリケーションは、次いで、電力を低減し、ホストに送られるピクセルデータの量を低減するために、たとえば、量子化器の帯域幅、メモリが測定データを更新するレートなどを低減することに基づいて、フレームレートを低減するために、プログラミングマップを生成することができる。
【0044】
いくつかの例では、画像センサーは、チップレベルプログラミング信号を生成することができるチップレベルプログラミング信号生成器をさらに含む。チップレベルプログラミング信号生成器は、すべてのピクセルセルの光測定動作および測定データ動作を構成するために、すべてのピクセルセルにチップレベルプログラミング信号を送信することができる。各ピクセルセルに記憶されたピクセルレベルプログラミングデータは、チップレベルプログラミング信号をゲートおよびオーバーライドすることができる。たとえば、チップレベルプログラミング信号は、すべてのピクセルセルについてのグローバル露光時間、すべてのピクセルセルによって実施されるべき量子化動作のグローバルセット、グローバル量子化分解能および/または帯域幅、各ピクセルセルのメモリに記憶されるべき測定データのグローバル精度などを設定することができる。各ピクセルセルは、これらのグローバル信号を入力として受け入れる、ピクセルレベルプログラミングデータによって制御可能な複数のマルチプレクサを含むことができる。ピクセルセルにローカルに記憶されたピクセルレベルプログラミングデータの第1のサブセットが、これらのチップレベルプログラミング信号をピクセルセルの光測定回路の異なる構成要素に受け渡すこと、またはこれらのチップレベルプログラミング信号をオーバーライドするためのピクセルレベルプログラミングデータの第2のサブセットを受け渡すことのいずれかを行うようにマルチプレクサを制御することができる。
【0045】
いくつかの例では、各ピクセルセルのメモリの一部が、ピクセルレベルプログラミングデータを記憶するためのシフトレジスタとして構成され得る。周辺回路からのグローバルシフト信号に応答して、各ピクセルセルにおけるシフトレジスタは、ピクセルレベルプログラミングデータをシフトし、ピクセルレベルプログラミングデータのビットの異なるサブセットを異なる時間に出力することができる。ピクセルレベルプログラミングデータのビットの各サブセットは、ピクセルセルにおける光測定動作および測定データ生成のための構成の異なるセットを定義することができる。そのような仕組みは、周辺回路によって受け取られるプログラミングマップの数と、周辺回路によって実施されるプログラミング動作の数とを低減しながら、ピクセルセルを連続的に構成することを可能にする。たとえば、あるプログラミング動作では、周辺回路は、構成のシーケンスを定義する命令のシーケンスを定義するピクセルレベルプログラミングデータを各ピクセルセルに送信することができる。各ピクセルセルは、次いで、命令/構成のシーケンスを取得するために、ピクセルレベルプログラミングデータの一部を連続的にシフトアウトすることができる。
【0046】
ピクセルセルの連続的な構成は、ピクセルセルの出力にアクセスするだけでなく、ピクセルセルについての異なる構成要件をも有する、複数のホストアプリケーションの動作を促進することができる。たとえば、ホストは、SLAMアプリケーションと手追跡アプリケーションとを同時に動作させ得る。どちらのアプリケーションも、ピクセルセルによって出力された画像フレームを使用し得るが、各々は、ピクセルセルについての異なる構成要件を有する。たとえば、SLAMアプリケーションは、より低いフレームレートを必要とするが、フル解像度画像フレームを必要とし得、手追跡アプリケーションは、より高いフレームレートを必要とするが、画像フレームのROIに関してのみ動作し得る。両方のアプリケーションをサポートするために、プログラミングマップは、SLAMアプリケーション(たとえば、すべてのピクセルセルが有効化されるが、各々はより低速で量子化器を動作させる)のためのピクセルセルを構成するためのビットの第1のサブセットと、手追跡アプリケーション(たとえば、ROIに対応するピクセルセルのサブセットのみが有効化され、各有効化されたピクセルセルはより高速で量子化器を動作させる)のためのピクセルセルを構成するためのビットの第2のサブセットとを有するピクセルレベルプログラミングデータを含むことができる。周辺回路は、各ピクセルセルのシフトレジスタに記憶するために、単一のプログラミング動作において、プログラミングマップのピクセルレベルプログラミングデータをピクセルセルに送信することができる。周辺回路はまた、ピクセルレベルプログラミングデータをシフトして、ピクセルレベルプログラミングデータのビットの第1のサブセットを出力することとビットの第2のサブセットを出力することとを交替するために、各ピクセルセルのシフトレジスタにシフト信号を送信することができ、これは、SLAMアプリケーションためのピクセルセルと手追跡アプリケーションのためのピクセルセルとを異なる時間に構成することができる。ホストは、たとえば、ROIのロケーションおよび/またはサイズの変化に基づいて、プログラミングマップを更新することができ、周辺回路は、後続のプログラミング動作において、更新されたピクセルレベルプログラミングデータをピクセルセルに送信することができる。
【0047】
いくつかの例では、複数のピクセルセルのシフトレジスタは、複数のピクセルセルにわたってスパンするシフトレジスタを形成するために接続され得、これは、ピクセルレベルプログラミングデータが、あるピクセルセルから別のピクセルセルに伝搬されることを可能にする。そのような仕組みは、周辺回路が別のプログラミング動作を実施することを必要とすることなしに、時間に関してピクセルセルプログラミングにおける空間シフトを提供することができる。いくつかの例では、そのような仕組みは、ROIによって追跡されている物体の移動を考慮するために、ROIのシフト、ならびにROIの一部として指定されたピクセルのサブセットのシフトを可能にする。
【0048】
いくつかの例では、各ピクセルセルはデジタル論理をさらに含み得、デジタル論理は、メモリと組み合わさって、ローカル状態機械を形成して、ピクセルレベルプログラミングデータまたは測定データのうちの少なくとも1つを操作することができる。適応露光期間など、様々な動作が、ローカル状態機械によってサポートされ得る。たとえば、ピクセルレベルプログラミングデータは、デフォルト露光期間に対してピクセルセルの露光期間を低減するかまたは増加させ得、ローカル状態機械は、調整された露光期間を考慮するために測定データをスケールアップまたはスケールダウンすることができる。別の例として、ピクセルレベルプログラミングデータによって設定された露光期間において取得された測定データに基づいて、デジタル論理は、ピクセルレベルプログラミングデータによって設定された露光期間が長すぎるまたは短すぎると決定し得、次のフレームの生成のための次の露光期間を設定するようにピクセルレベルプログラミングデータを調整することができる。
【0049】
開示される技法によれば、画像センサーの各ピクセルセルは、特定のホストアプリケーションの要件に従って個々に構成され得る。その上、ホストは、ホストアプリケーションの出力に基づいてピクセルセルを個々に構成するためのプログラミングマップを生成することができるので、画像センサーの動作は、ホストアプリケーションとより緊密に結合され得る。その上、ピクセルレベルプログラミングデータを各ピクセルセルにローカルに記憶することによって、周辺回路によって実施されるプログラミング動作が低減され得る。その上、ピクセルレベルプログラミングデータをシフトレジスタに記憶することと、ピクセルレベルプログラミングデータが、あるピクセルセルから別のピクセルセルに伝搬することを可能にすることとはまた、単一のプログラミング動作からの異なるピクセルセルのための命令のシーケンスの作成を可能にし、これは、さらに、ホストアプリケーションのためのピクセルセルにおける動作を調整するために必要とされるプログラミング動作を低減することができる。これらのすべては、システム全体の電力および帯域幅を低減しながら、ホストアプリケーションの性能を改善することができる。
【0050】
開示される技法は、人工現実システムを含むか、または人工現実システムに関連して実装され得る。人工現実は、ユーザへの提示の前に何らかの様式で調整された形式の現実であり、これは、たとえば、仮想現実(VR)、拡張現実(AR)、複合現実(MR)、ハイブリッド現実、あるいはそれらの何らかの組合せおよび/または派生物を含み得る。人工現実コンテンツは、完全に生成されたコンテンツ、またはキャプチャされた(たとえば、現実世界の)コンテンツと組み合わせられた生成されたコンテンツを含み得る。人工現実コンテンツは、ビデオ、オーディオ、触覚フィードバック、またはそれらの何らかの組合せを含み得、それらのいずれも、単一のチャネルまたは複数のチャネルにおいて提示され得る(観察者に3次元効果をもたらすステレオビデオなど)。加えて、いくつかの実施形態では、人工現実は、たとえば、人工現実におけるコンテンツを作り出すために使用される、および/または人工現実において別様に使用される(たとえば、人工現実におけるアクティビティを実施する)アプリケーション、製品、アクセサリ、サービス、またはそれらの何らかの組合せにも関連付けられ得る。人工現実コンテンツを提供する人工現実システムは、ホストコンピュータシステムに接続されたヘッドマウントディスプレイ(HMD)、スタンドアロンHMD、モバイルデバイスまたはコンピューティングシステム、あるいは、1人または複数の観察者に人工現実コンテンツを提供することが可能な任意の他のハードウェアプラットフォームを含む、様々なプラットフォーム上に実装され得る。
【0051】
図1Aは、ニアアイディスプレイ100の一実施形態の図である。ニアアイディスプレイ100は、ユーザにメディアを提示する。ニアアイディスプレイ100によって提示されるメディアの例は、1つまたは複数の画像、ビデオ、および/またはオーディオを含む。いくつかの実施形態では、オーディオは、外部デバイス(たとえば、スピーカーおよび/またはヘッドフォン)を介して提示され、この外部デバイスは、ニアアイディスプレイ100、コンソール、またはその両方からオーディオ情報を受け取り、そのオーディオ情報に基づいてオーディオデータを提示する。ニアアイディスプレイ100は、概して、仮想現実(VR)ディスプレイとして動作するように構成される。いくつかの実施形態では、ニアアイディスプレイ100は、拡張現実(AR)ディスプレイおよび/または複合現実(MR)ディスプレイとして動作するように変更される。
【0052】
ニアアイディスプレイ100は、フレーム105とディスプレイ110とを含む。フレーム105は、1つまたは複数の光学要素に結合される。ディスプレイ110は、ユーザがニアアイディスプレイ100によって提示されたコンテンツを見るように構成される。いくつかの実施形態では、ディスプレイ110は、1つまたは複数の画像からの光をユーザの眼に向けるための導波路ディスプレイアセンブリを備える。
【0053】
ニアアイディスプレイ100は、画像センサー120a、120b、120c、および120dをさらに含む。画像センサー120a、120b、120c、および120dの各々は、異なる方向に沿った異なる視野を表す画像データを生成するように構成されたピクセルアレイを含み得る。たとえば、センサー120aおよび120bは、Z軸に沿った方向Aに向かう2つの視野を表す画像データを提供するように構成され得、センサー120cは、X軸に沿った方向Bに向かう視野を表す画像データを提供するように構成され得、センサー120dは、X軸に沿った方向Cに向かう視野を表す画像データを提供するように構成され得る。
【0054】
いくつかの実施形態では、センサー120a~120dは、ニアアイディスプレイ100を装着したユーザにインタラクティブVR/AR/MR体験を提供するために、ニアアイディスプレイ100のディスプレイコンテンツを制御するかまたはニアアイディスプレイ100のディスプレイコンテンツに影響を与えるための入力デバイスとして構成され得る。たとえば、センサー120a~120dは、ユーザが位置する物理的環境の物理的画像データを生成することができる。物理的画像データは、物理的環境におけるユーザのロケーションおよび/または移動の経路を追跡するためのロケーション追跡システムに提供され得る。システムは、次いで、インタラクティブ体験を提供するために、たとえば、ユーザのロケーションおよび向きに基づいて、ディスプレイ110に提供された画像データを更新することができる。いくつかの実施形態では、ロケーション追跡システムは、ユーザが物理的環境内を移動するにつれて、物理的環境におけるおよびユーザの視野内の物体のセットを追跡するために、SLAMアルゴリズムを動作させ得る。ロケーション追跡システムは、物体のセットに基づいて物理的環境のマップを構築および更新し、マップ内のユーザのロケーションを追跡することができる。複数の視野に対応する画像データを提供することによって、センサー120a~120dは、ロケーション追跡システムに物理的環境のより全体的なビューを提供することができ、これは、より多くの物体がマップの構築および更新に含まれることにつながり得る。そのような仕組みにより、物理的環境内のユーザのロケーションを追跡することの正確さおよびロバストネスが改善され得る。
【0055】
いくつかの実施形態では、ニアアイディスプレイ100は、物理的環境に光を投影するための1つまたは複数のアクティブ照明器130をさらに含み得る。投影された光は、異なる周波数スペクトル(たとえば、可視光、赤外光、紫外光など)に関連付けられ得、様々な目的を果たすことができる。たとえば、照明器130は、たとえば、ユーザのロケーション追跡を可能にするために、センサー120a~120dが暗い環境内の異なる物体の画像をキャプチャするのを支援するために、暗い環境において(または、低強度の赤外光、紫外光などを伴う環境において)光を投影し得る。照明器130は、ロケーション追跡システムがマップ構築/更新のために物体を識別するのを支援するために、環境内の物体上にいくつかのマーカーを投影し得る。
【0056】
いくつかの実施形態では、照明器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に提供された画像データを更新することができる。
【0057】
上記で説明されたように、ニアアイディスプレイ100は、極めて広範囲の光強度に関連する環境において動作され得る。たとえば、ニアアイディスプレイ100は、屋内環境または屋外環境において、および/あるいは1日の異なる時間において動作され得る。ニアアイディスプレイ100はまた、アクティブ照明器130がオンにされていてもいなくても動作し得る。その結果、画像センサー120a~120dは、ニアアイディスプレイ100のための異なる動作環境に関連する極めて広範囲の光強度にわたって適切に動作すること(たとえば、入射光の強度と相関する出力を生成すること)が可能であるために、広いダイナミックレンジを有する必要があり得る。
【0058】
図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に提供された画像データを更新することができる。
【0059】
上記で説明されたように、ユーザの眼球に損傷を与えることを回避するために、照明器140a、140b、140c、140d、140e、および140fは、一般的に、極めて低強度の光を出力するように構成される。画像センサー150aおよび150bが
図1Aの画像センサー120a~120dと同じセンサーデバイスを備える場合、画像センサー120a~120dは、入射光の強度が極めて低いときに入射光の強度と相関する出力を生成することが可能である必要があり得、これは、画像センサーのダイナミックレンジ要件をさらに増加させ得る。
【0060】
その上、画像センサー120a~120dは、眼球の移動を追跡するために高速で出力を生成することが可能である必要があり得る。たとえば、ユーザの眼球は、ある眼球位置から別の眼球位置への素早いジャンプがあり得る極めて急速な移動(たとえば、サッカード運動(saccade movement))を実施することができる。ユーザの眼球の急速な移動を追跡するために、画像センサー120a~120dは、高速で眼球の画像を生成する必要がある。たとえば、画像センサーが画像フレームを生成するレート(フレームレート)は、少なくとも、眼球の移動の速度に一致する必要がある。高いフレームレートは、画像フレームを生成することに関与するピクセルセルのすべてについての短い総露光時間、ならびに、画像生成のためにセンサー出力をデジタル値に変換するための高い速度を必要とする。その上、上記で説明されたように、画像センサーは、低光強度を伴う環境において動作することが可能である必要もある。
【0061】
図2は、
図1に示されているニアアイディスプレイ100の断面200の一実施形態である。ディスプレイ110が、少なくとも1つの導波路ディスプレイアセンブリ210を含む。射出瞳230は、ユーザがニアアイディスプレイ100を装着したときにユーザの単一の眼球220がアイボックス(eyebox)領域中に配置されるロケーションである。例示の目的で、
図2は、眼球220と単一の導波路ディスプレイアセンブリ210に関連する断面200を示すが、第2の導波路ディスプレイがユーザの第2の眼のために使用される。
【0062】
導波路ディスプレイアセンブリ210は、画像光を、射出瞳230に位置するアイボックスに、および眼球220に向けるように構成される。導波路ディスプレイアセンブリ210は、1つまたは複数の屈折率をもつ1つまたは複数の材料(たとえば、プラスチック、ガラスなど)から構成され得る。いくつかの実施形態では、ニアアイディスプレイ100は、導波路ディスプレイアセンブリ210と眼球220との間に1つまたは複数の光学要素を含む。
【0063】
いくつかの実施形態では、導波路ディスプレイアセンブリ210は、制限はしないが、積層導波路ディスプレイ、可変焦点導波路ディスプレイなどを含む、1つまたは複数の導波路ディスプレイのスタックを含む。積層導波路ディスプレイは、それぞれの単色ソースが異なる色のものである導波路ディスプレイを積層することによって作り出された多色ディスプレイ(たとえば、赤緑青(RGB)ディスプレイ)である。積層導波路ディスプレイは、複数の平面上に投影され得る多色ディスプレイ(たとえば、多平面カラーディスプレイ)でもある。いくつかの構成では、積層導波路ディスプレイは、複数の平面上に投影され得る単色ディスプレイ(たとえば、多平面単色ディスプレイ)である。可変焦点導波路ディスプレイは、導波路ディスプレイから放出された画像光の焦点位置を調整することができるディスプレイである。代替実施形態では、導波路ディスプレイアセンブリ210は、積層導波路ディスプレイと可変焦点導波路ディスプレイとを含み得る。
【0064】
図3は、導波路ディスプレイ300の一実施形態の等角図を示す。いくつかの実施形態では、導波路ディスプレイ300は、ニアアイディスプレイ100の構成要素(たとえば、導波路ディスプレイアセンブリ210)である。いくつかの実施形態では、導波路ディスプレイ300は、画像光を特定のロケーションに向ける何らかの他のニアアイディスプレイまたは他のシステムの一部である。
【0065】
導波路ディスプレイ300は、ソースアセンブリ310と、出力導波路320と、コントローラ330とを含む。例示の目的で、
図3は、単一の眼球220に関連付けられた導波路ディスプレイ300を示すが、いくつかの実施形態では、導波路ディスプレイ300とは別個の、または部分的に別個の別の導波路ディスプレイが、ユーザの別の眼に画像光を提供する。
【0066】
ソースアセンブリ310は、画像光355を生成する。ソースアセンブリ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つまたは複数のプリズム表面要素、および/またはホログラフィック反射器のアレイであり得る。
【0067】
方向付け要素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つまたは複数のプリズム表面要素、および/またはホログラフィック反射器のアレイであり得る。
【0068】
第2の側面370-2は、x次元およびy次元に沿った平面を表す。出力導波路320は、画像光355の内部全反射を促進する1つまたは複数の材料から構成され得る。出力導波路320は、たとえば、シリコン、プラスチック、ガラス、および/またはポリマーから構成され得る。出力導波路320は、比較的小さいフォームファクタを有する。たとえば、出力導波路320は、x次元に沿って幅約50mm、y次元に沿って長さ約30mm、およびz次元に沿って厚さ約0.5~1mmであり得る。
【0069】
コントローラ330は、ソースアセンブリ310のスキャン動作を制御する。コントローラ330は、ソースアセンブリ310のためのスキャン命令を決定する。いくつかの実施形態では、出力導波路320は、拡大された画像光340を大きい視野(FOV)でユーザの眼球220に出力する。たとえば、拡大された画像光340は、60度のおよび/またはそれよりも大きい、ならびに/あるいは150度のおよび/またはそれよりも小さい(xおよびyにおける)対角FOVでユーザの眼球220に提供される。出力導波路320は、20mm以上および/または50mm以下の長さ、ならびに/あるいは10mm以上および/または50mm以下の幅をもつアイボックスを提供するように構成される。
【0070】
その上、コントローラ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の生成および出力を制御することができる。
【0071】
図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の各々はまた、ピクセルセルによって検知されるべき光の光波長範囲を制御するために、フィルタでオーバーレイされ得ることを理解されたい。
【0072】
リモートコンソールから命令を受け取った後に、機械的シャッター404は、露光期間において開き、ピクセルセル402のセットを露光することができる。露光期間中に、画像センサー370は、ピクセルセル402のセットに入射した光のサンプルを取得し、ピクセルセル402のセットによって検出された入射光サンプルの強度分布に基づいて画像データを生成することができる。画像センサー370は、次いで、画像データを、ディスプレイコンテンツを決定しディスプレイコンテンツ情報をコントローラ330に提供するリモートコンソールに提供することができる。コントローラ330は、次いで、ディスプレイコンテンツ情報に基づいて画像光355を決定することができる。
【0073】
ソースアセンブリ310は、コントローラ330からの命令に従って画像光355を生成する。ソースアセンブリ310は、ソース410と光学システム415とを含む。ソース410は、コヒーレント光または部分的にコヒーレントな光を生成する光源である。ソース410は、たとえば、レーザーダイオード、垂直キャビティ面発光レーザー、および/または発光ダイオードであり得る。
【0074】
光学システム415は、ソース410からの光を調節する1つまたは複数の光学的構成要素を含む。ソース410からの光を調節することは、たとえば、コントローラ330からの命令に従って拡大し、コリメートし、および/または向きを調整することを含み得る。1つまたは複数の光学的構成要素は、1つまたは複数のレンズ、液体レンズ、ミラー、開口、および/または格子を含み得る。いくつかの実施形態では、光学システム415は、光ビームを液体レンズ外の領域にシフトするためにしきい値のスキャン角度を伴う光ビームのスキャンを可能にする複数の電極をもつ液体レンズを含む。光学システム415(同じくソースアセンブリ310)から放出される光は、画像光355と呼ばれる。
【0075】
出力導波路320は、画像光355を受け取る。結合要素350は、ソースアセンブリ310からの画像光355を出力導波路320に結合する。結合要素350が回折格子である実施形態では、内部全反射が出力導波路320中で発生し、画像光355が、分離要素365に向かって、(たとえば、内部全反射によって)出力導波路320中を内部的に伝搬するように、回折格子のピッチが選定される。
【0076】
方向付け要素360は、出力導波路320から分離するために、画像光355を分離要素365のほうへ向け直す。方向付け要素360が回折格子である実施形態では、回折格子のピッチは、入射画像光355が、分離要素365の表面に対して(1つまたは複数の)傾斜角において出力導波路320を出ることを引き起こすように選定される。
【0077】
いくつかの実施形態では、方向付け要素360および/または分離要素365は、構造的に同様である。出力導波路320を出た拡大された画像光340は、1つまたは複数の次元に沿って拡大される(たとえば、x次元に沿って延長され得る)。いくつかの実施形態では、導波路ディスプレイ300は、複数のソースアセンブリ310と複数の出力導波路320とを含む。ソースアセンブリ310の各々は、原色(たとえば、赤、緑、または青)に対応する、波長の固有の帯域の単色画像光を放出する。出力導波路320の各々は、多色である拡大された画像光340を出力するために、離間距離を伴って一緒に積層され得る。
【0078】
図5は、ニアアイディスプレイ100を含むシステム500の一実施形態のブロック図である。システム500は、各々制御回路要素510に結合された、ニアアイディスプレイ100と、撮像デバイス535と、入出力インターフェース540と、画像センサー120a~120dおよび150a~150bとを備える。システム500は、ヘッドマウントデバイス、モバイルデバイス、ウェアラブルデバイスなどとして構成され得る。
【0079】
ニアアイディスプレイ100は、ユーザにメディアを提示するディスプレイである。ニアアイディスプレイ100によって提示されるメディアの例は、1つまたは複数の画像、ビデオ、および/またはオーディオを含む。いくつかの実施形態では、オーディオは、外部デバイス(たとえば、スピーカーおよび/またはヘッドフォン)を介して提示され、この外部デバイスは、ニアアイディスプレイ100および/または制御回路要素510からオーディオ情報を受け取り、そのオーディオ情報に基づいてオーディオデータをユーザに提示する。いくつかの実施形態では、ニアアイディスプレイ100はまた、ARアイウェアグラスとして働き得る。いくつかの実施形態では、ニアアイディスプレイ100は、コンピュータ生成された要素(たとえば、画像、ビデオ、音など)を用いて、物理的現実世界の環境のビューを増強する。
【0080】
ニアアイディスプレイ100は、導波路ディスプレイアセンブリ210、1つまたは複数の位置センサー525、および/または慣性測定ユニット(IMU)530を含む。導波路ディスプレイアセンブリ210は、ソースアセンブリ310と、出力導波路320と、コントローラ330とを含む。
【0081】
IMU530は、位置センサー525のうちの1つまたは複数から受け取られた測定信号に基づいて、ニアアイディスプレイ100の初期位置に対するニアアイディスプレイ100の推定位置を指示する高速較正データを生成する電子デバイスである。
【0082】
撮像デバイス535は、様々な用途のための画像データを生成し得る。たとえば、撮像デバイス535は、制御回路要素510から受け取られた較正パラメータに従って低速較正データを提供するために画像データを生成し得る。撮像デバイス535は、たとえば、ユーザのロケーション追跡を実施するために、ユーザが位置する物理的環境の画像データを生成するために
図1Aの画像センサー120a~120dを含み得る。撮像デバイス535は、たとえば、ユーザの関心物体を識別するために、ユーザの注視点を決定するための画像データを生成するために、
図1Bの画像センサー150a~150bをさらに含み得る。
【0083】
入出力インターフェース540は、ユーザが制御回路要素510にアクション要求を送ることを可能にするデバイスである。アクション要求は、特定のアクションを実施するための要求である。たとえば、アクション要求は、アプリケーションを開始または終了するためのものであるか、あるいはアプリケーション内で特定のアクションを実施するためのものであり得る。
【0084】
制御回路要素510は、撮像デバイス535、ニアアイディスプレイ100、および入出力インターフェース540のうちの1つまたは複数から受け取られた情報に従って、ユーザへの提示のためのメディアをニアアイディスプレイ100に提供する。いくつかの例では、制御回路要素510は、ヘッドマウントデバイスとして構成されたシステム500内に収容され得る。いくつかの例では、制御回路要素510は、システム500の他の構成要素と通信可能に結合されたスタンドアロンコンソールデバイスであり得る。
図5に示されている例では、制御回路要素510は、アプリケーションストア545と、追跡モジュール550と、エンジン555とを含む。
【0085】
アプリケーションストア545は、制御回路要素510が実行するための1つまたは複数のアプリケーションを記憶する。アプリケーションは、プロセッサによって実行されたとき、ユーザへの提示のためのコンテンツを生成する命令のグループである。アプリケーションの例は、ゲームアプリケーション、会議アプリケーション、ビデオ再生アプリケーション、または他の好適なアプリケーションを含む。
【0086】
追跡モジュール550は、1つまたは複数の較正パラメータを使用してシステム500を較正し、ニアアイディスプレイ100の位置の決定における誤差を低減するために、1つまたは複数の較正パラメータを調整し得る。
【0087】
追跡モジュール550は、撮像デバイス535からの低速較正情報を使用して、ニアアイディスプレイ100の移動を追跡する。追跡モジュール550はまた、高速較正情報からの位置情報を使用して、ニアアイディスプレイ100の基準点の位置を決定する。
【0088】
エンジン555は、システム500内でアプリケーションを実行し、追跡モジュール550から、ニアアイディスプレイ100の位置情報、加速度情報、速度情報、および/または予測された将来の位置を受け取る。いくつかの実施形態では、エンジン555によって受け取られた情報は、ユーザに提示されるコンテンツのタイプを決定する導波路ディスプレイアセンブリ210への信号(たとえば、ディスプレイ命令)をもたらすために使用され得る。たとえば、インタラクティブ体験を提供するために、エンジン555は、(たとえば、追跡モジュール550によって提供される)ユーザのロケーション、または(たとえば、撮像デバイス535によって提供される画像データに基づく)ユーザの注視点、(たとえば、撮像デバイス535によって提供される画像データに基づく)物体とユーザとの間の距離に基づいて、ユーザに提示されるべきコンテンツを決定し得る。
【0089】
図6A、
図6B、
図6C、および
図6Dは、画像センサー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によって量子化され得る。
【0090】
量子化器607は、バッファされた電圧を、異なる強度範囲に関連付けられた異なる量子化動作のための異なるしきい値と比較するための、比較器を含み得る。たとえば、フォトダイオード602によって生成されたオーバーフロー電荷の量が電荷貯蔵デバイス605の飽和限界を超える、高強度範囲の場合、量子化器607は、バッファされた電圧が、飽和限界を表す静的しきい値を超えるかどうかを検出することと、バッファされた電圧が静的しきい値を超える場合、バッファされた電圧が静的しきい値を超えるのに要する時間を測定することとによって、飽和までの時間(TTS)測定動作を実施することができる。測定された時間は、光強度に反比例し得る。また、フォトダイオードが残留電荷によって飽和されるが、オーバーフロー電荷が電荷貯蔵デバイス605の飽和限界を下回るままである、中強度範囲の場合、量子化器607は、電荷貯蔵デバイス605に貯蔵されたオーバーフロー電荷の量を測定するために、FD ADC動作を実施することができる。さらに、フォトダイオードが残留電荷によって飽和されず、オーバーフロー電荷が電荷貯蔵デバイス605において蓄積されない、低強度範囲の場合、量子化器607は、フォトダイオード602において蓄積された残留電荷の量を測定するために、PD ADC動作を実施することができる。TTS動作、FD ADC動作、またはPD ADC動作のうちの1つの出力は、画像610を形成するために、光の強度を表すための測定データ608として出力され得る。
【0091】
図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動作を実施することができる。
【0092】
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中の動作のシーケンスを繰り返すことができる。
【0093】
画像センサー600からの画像フレームデータは、物体612を識別および追跡すること、画像センサー600に対して物体612の深度検知を実施することなど、異なる用途をサポートするために、ホストプロセッサ(
図6A~
図6Dに図示せず)に送信され得る。すべてのこれらの用途について、ピクセルセルのサブセットのみが、関連情報(たとえば、物体612のピクセルデータ)を提供するが、ピクセルセルの残りは、関連情報を提供しない。たとえば、
図6Cを参照すると、時間T0において、画像センサー600のピクセルセルのグループ620が、物体612によって反射された光を受け取るが、時間T6において、物体612は、(たとえば、物体612の移動、画像センサー600の移動、またはその両方により)位置を変えていることがあり、画像センサー600のピクセルセルのグループ630が、物体612によって反射された光を受け取る。
【0094】
いくつかの例では、画像センサー600は、送信されているピクセルデータの量を低減するために、ホストプロセッサに、ピクセルセルのグループ620および630からのピクセルデータのみを送信することができる。いくつかの例では、画像センサー600はまた、ピクセルデータを送信するためにすべてのピクセルを有することができるが、ピクセルセルのグループ620および630は、他のものとは異なる構成を有することができる。たとえば、ピクセルセルのグループ620および630は、物体612の画像を表すために、より高い量子化分解能でピクセルデータを生成および出力することができるが、ピクセルセルの残りは、より低い解像度でピクセルデータを生成および出力することができる。別の例として、ピクセルセル620および630は、他のものよりも長い露光期間を有することができる。すべてのこれらの仕組みは、電力および帯域幅の対応する増加なしに、より高い解像度の画像の生成および送信を可能にすることができる。たとえば、より多くのピクセルセルを含むより大きいピクセルセルアレイが、画像解像度を改善するために、物体612を撮像するために使用され得るが、改善された画像解像度を提供するために必要とされる帯域幅および電力は、物体612のピクセルデータを提供するピクセルセルを含むピクセルセルのサブセットのみが、高解像度ピクセルデータを生成し、その高解像度ピクセルデータをホストプロセッサに送信するが、ピクセルセルの残りは、ピクセルデータを生成/送信していないか、または極めて低い解像度でピクセルデータを生成/送信しているかのいずれかであるとき、低減され得る。その上、画像センサー600は、より高いフレームレートにおいて画像を生成するように動作され得るが、帯域幅および電力の増加は、高解像度であり、多数のビットによって表される、ピクセル値の小さいセットのみを各画像が含むが、ピクセル値の残りが、極めて低い解像度であり、より少ない数のビットによって表されるとき、低減され得る。
【0095】
ピクセルデータ送信の量はまた、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のグループからのピクセルデータを高解像度で送るが、ピクセルデータの残りは低解像度であるように構成され得る。
【0096】
図7Aおよび
図7Bは、画像処理システム700およびその動作の例を示す。画像処理システム700は、ホストデバイス702と画像センサー704とを含む。ホストデバイス702は、たとえば、2D検知と3D検知との融合、物体認識および追跡、ロケーション追跡などを含む、動作を実施することができるアプリケーション708を動作させるホストプロセッサ706を含むことができる。いくつかの例では、画像処理システム700は、モバイルデバイス中にあり得る。いくつかの例では、処理システム700は、複数の別個のデバイスにスプリットされ得る。たとえば、ホストデバイス702は、パーソナルコンピュータ(PC)、スマートフォン、カメラ基地局、または、中央処理ユニット(CPU)、フィールドプログラマブルゲートアレイ(FPGA)、マイクロコントローラユニット(MCU)などの集積回路であり得る。ホストデバイス702と画像センサー704とは、モバイルインダストリプロセッサインターフェース(MIPI)規格に適合する相互接続など、相互接続(
図7Aに図示せず)を介して、電気的に接続され得る。いくつかの例では、ホストデバイス702と画像センサー704とはまた、同じダイ上にあり得るか、または半導体パッケージ内に収容された積層センサーシステムの異なる層上にあり得る。
【0097】
図7Aを参照すると、画像センサー704は、周辺回路716と、ピクセルセルアレイ718と、グローバル信号生成器719とを含む。ピクセルセルアレイ718の各ピクセルセルは、ピクセルデータを生成するための光測定動作を実施するために、フォトダイオード602、電子シャッタートランジスタ603、転送ゲート604、電荷貯蔵デバイス605、および量子化器607など、
図6Aのピクセルセル601と同様の構成要素を含むことができる。いくつかの例では、ピクセルセルアレイ718中の各ピクセルセルは、各ピクセルセルにおける光測定動作を構成/プログラムするためのピクセルレベルプログラミングデータを記憶することと、光測定動作からの測定データを記憶することとを行うためのメモリを含み得る。いくつかの例では、ピクセルセルのブロック(たとえば、ピクセルセルの2×2ブロック)は、ピクセルセルのブロックにおける光測定動作を構成/プログラムするためのピクセルレベルプログラミングデータを記憶することと、ピクセルセルのブロックからの測定データを記憶することとを行うためにメモリを共有することができる。各ピクセルセル、またはピクセルセルの各ブロックは、個々にアドレス指定可能であり得、これは、各ピクセルセルにおける(またはピクセルセルの各ブロックにおける)光測定動作が、ホストデバイス702によって提供されるピクセルアレイプログラミングマップ720に基づいて周辺回路716によって個々にプログラムされることを可能にする。ピクセルアレイプログラミングマップ720に基づいて、周辺回路716は、各ピクセルセル(またはピクセルセルの各ブロック)をターゲットにする異なるピクセルレベルプログラミングデータを表すためのピクセルレベルプログラミング信号722を生成し、各ピクセルセルのメモリにおける記憶のために各ピクセルセルに(またはピクセルセルのブロックによって共有されるメモリにおける記憶のためにピクセルセルの各ブロックに)、ピクセルレベルプログラミングデータを表すピクセルレベルプログラミング信号722を送信することができる。ピクセルレベルプログラミングデータは、各ピクセルセルにおける光測定動作を構成するために各ピクセルセルのメモリから、またはピクセルセルのブロックにおける光測定動作を構成するためにピクセルセルの各ブロックの共有メモリから読み出され得る。ピクセルセルアレイ718は、ピクセルデータ728を生成することができ、ピクセルデータ728は、次いで、ホストデバイス702に送信され得る。
【0098】
以下で詳細に説明されるように、ピクセルセルにおける光測定動作の構成は、たとえば、ピクセルセルの光測定動作および測定データ生成を無効化/有効化すること、露光時間を設定すること、1つまたは複数の量子化動作(たとえば、TTS、FD ADC、PD ADC)を選択すること、量子化器の帯域幅および/または量子化分解能を設定すること、メモリが測定データを記憶するかどうかを制御すること、メモリに記憶される測定データの精度(たとえば、ビット数)を制御することなどを含むことができる。いくつかの例では、ピクセルセルアレイ718および周辺回路716は、画像センサー704の受光面を最大にするためにスタック構造を形成することができ、これは、ピクセルセルアレイ718が、解像度を改善するためにより多くのピクセルセルを含むことを可能にする。
【0099】
ピクセルアレイプログラミングマップ720は、ピクセルセルのアレイの各ピクセルセルをターゲットにするピクセルレベルプログラミングデータを含むことができる。
図7Bは、ピクセルアレイプログラミングマップ720の一例を示す。
図7Bに示されているように、ピクセルアレイプログラミングマップ720は、ピクセルレベルプログラミングデータの2次元アレイを含むことができ、2次元アレイの各ピクセルレベルプログラミングデータは、ピクセルセルアレイ718のピクセルセルをターゲットにする。たとえば、ピクセルセルアレイ718が、M個のピクセルの幅(たとえば、ピクセルのM個の列)およびN個のピクセルの高さ(たとえば、ピクセルのN個の行)を有する場合、ピクセルアレイプログラミングマップ720も、M個のエントリの幅(たとえば、エントリのM個の列)およびN個のエントリの高さ(たとえば、エントリのN個の行)を有する。ピクセルアレイプログラミングマップ720のエントリ(0,0)にあるピクセルレベルプログラミングデータA
00は、ピクセルセルアレイ718のピクセルロケーション(0,0)にあるピクセルセルP
00をターゲットにするが、ピクセルアレイプログラミングマップ720のエントリ(0,1)にあるピクセルレベルプログラミングデータA
01は、ピクセルセルアレイ718のピクセルロケーション(0,1)にあるピクセルセルP
01をターゲットにする。いくつかの例では、シンボルP
00、P
01などの各々は、ピクセルセルのグループ(たとえば、ピクセルセルの2×2ブロック)を表すことができる。そのような場合、ピクセルアレイプログラミングマップ720の各エントリは、ピクセルセルのブロックのためのピクセルレベルプログラミングデータを含むことができる。高さおよび幅に沿ったピクセルアレイプログラミングマップ720のエントリの数は、各グループ中のピクセルセルの数に基づいてスケーリングされ得る。
【0100】
図7Cは、ピクセルアレイプログラミングマップ720のエントリに記憶され得るピクセルレベルプログラミングデータ750の一例を示す。いくつかの例では、各エントリにおけるピクセルレベルプログラミングデータは、2つの構成のうちの1つを表すための単一のビットを含むことができる。いくつかの例では、
図7Cに示されているように、ピクセルレベルプログラミングデータは、(
図7C中でC0、C1、C2、...Cnによって表される)複数のビットを含むことができる。ピクセルレベルプログラミングデータがm個のビットを含む場合、ピクセルレベルプログラミングデータは、2
m個の構成のうちの1つを表すことができ、複数のビットの各ビット(またはビットのサブセット)は、ピクセルセル601の異なる構成要素を制御することができる。いくつかの例では、ピクセルレベルプログラミングデータは、ピクセルレベルプログラミングデータを表すために使用されるビット数を低減するために符号化され得、ピクセルレベルプログラミングデータがどのように復号されるべきであるかを指示するための(
図7C中でOpによって表される)オペコードを含むことができる。一例では、オペコードは、エントリのピクセルレベルプログラミングデータが、前のピクセルアレイプログラミングマップ720の対応するエントリからのデルタを表すことを指示することができ、その結果、ピクセルセルがピクセルレベルプログラミングデータを受け取るとき、ピクセルセルは、メモリに記憶されているものからピクセルレベルプログラミングデータを減算して、実際のピクセルレベルプログラミングデータを生成するべきである。別の例では、オペコードは、ピクセルレベルプログラミングデータがランレングス符号化に基づいて符号化されることを指示することができ、その結果、ピクセルセルがピクセルレベルプログラミングデータを受け取るとき、ピクセルセルは、相応にピクセルレベルプログラミングデータを復号して、実際のピクセルレベルプログラミングデータを生成することができる。
【0101】
いくつかの例では、ピクセルアレイプログラミングマップ720は、ピクセルセルアレイ718からのピクセルデータを消費するホストデバイス702において動作するアプリケーション(たとえば、アプリケーション708)によって生成され得る。たとえば、アプリケーション708は、画像から、関連情報を含んでいるピクセルを識別し、ピクセルを含む関心領域(ROI)を決定し得る。次いで、ROIに対応するピクセルデータを生成するピクセルセルが識別され得る。例示的な例として、再び
図6Cの例を参照すると、アプリケーション708は、時間T0における画像中の関連情報(たとえば、物体612のピクセルデータ)を提供するものとして、ピクセルセルのグループ620を含むROIを識別し得る。アプリケーション708は、次いで、たとえば、画像センサー600に対する物体612の移動の方向および速度に基づいて、時間T0と時間T6との間のROIの変化を予測することができる。アプリケーション708は、次いで、時間T0におけるピクセルセルのグループ620の画像ロケーションと予測された変化とに基づいて、ピクセルセルのグループ630を含む、時間T6におけるROIの新しい画像ロケーションを予測することができる。時間T6におけるピクセルセルのグループ630の画像ロケーションに基づいて、アプリケーション708は、ピクセルセルのグループ630に対応するエントリにおいて第1のピクセルレベルプログラミングデータを設定することと、エントリの残りについて第2のピクセルレベルプログラミングデータを設定することとに基づいて、ピクセルアレイプログラミングマップ720を生成することができる。
【0102】
第1のピクセルレベルプログラミングデータと第2のピクセルレベルプログラミングデータとは、電力および帯域幅を低減しながらアプリケーション708の動作を促進するための異なるやり方でピクセルセルを構成することができる。たとえば、第1のピクセルレベルプログラミングデータは、ピクセルセルのグループ630を有効化することができるが、第2のピクセルレベルプログラミングデータは、ピクセルセル630の残りを無効化することができる。別の例として、第1のピクセルレベルプログラミングデータは、現在フレームのための測定データを記憶するためにメモリへの書込み動作を有効化することができるが、第2のピクセルレベルプログラミングデータは、メモリへの書込み動作を低減するために、メモリが依然として前のフレームのための測定データを記憶するように、メモリへの書込み動作を無効化することができる。また別の例として、第1のピクセルレベルプログラミングデータは、アプリケーション708が、ROIに関するピクセルセルのグループ630からのより多くの情報と、ピクセルセルの残りからのより少ない情報とを取得することができるように、ピクセルセルの残りに対して、ピクセルセルのグループ630の量子化分解能および/またはフレームレートを増加させることができる。すべてのこれらの仕組みは、アプリケーション708に送信されるピクセルデータの全体的な量を低減しながら、アプリケーション708に関係のあるピクセルデータの品質を改善することができる。
【0103】
いくつかの例では、アプリケーション708はまた、ピクセルセルアレイ718の動作を、たとえば、シーン、アプリケーション708の要件などに適応させることができる。適応は、たとえば、ピクセルアレイプログラミングマップ720を介して、露光時間、量子化器帯域幅、量子化分解能を調整すること、特定の量子化動作を選択することなどに基づき得る。たとえば、画像データから、アプリケーション708は、ピクセルセルのサブセットが強い光に露光されたと決定し得る。アプリケーション708は、適応露光方式の一部としてピクセルセルのサブセットについての露光時間を低減して、それらのピクセルセルによるブルーミングの可能性を低減するために、ピクセルアレイプログラミングマップ720を生成することができる。その上、アプリケーション708はまた、ピクセルアレイプログラミングマップ720を介して、TTS動作のみを実施し、FD ADCおよびPD ADC動作を実施しないように、ピクセルセルのサブセットを構成することができる。そのような仕組みはまた、ピクセルセルのサブセットによる電力消費を低減するために、TTS動作が実施された後にピクセルセルのサブセットを電源切断モードにすることができる。その上、アプリケーション708が、フレームがより高いフレームレートにおいて生成されることを必要とする場合、アプリケーション708はまた、必要とされるフレームレートにおいてフレームを生成するために、すべてのピクセルセル(またはピクセルセルのサブセット)の量子化器帯域幅を増加させることができる。
【0104】
図8Aおよび
図8Bは、画像センサー704の例示的な追加の構成要素を示す。
図8Aに示されているように、周辺回路716は、列コントローラ804と行コントローラ806とを含むことができる。列コントローラ804は、列バス808(たとえば、808a、808b、808c、...808nなど)と接続されるが、行コントローラ806は、行バス810(たとえば、810a、810b、...808nなど)と接続される。行列コントローラ804または行コントローラ806のうちの一方は、ピクセルレベルプログラミング信号722を送信するために、ピクセルレベルプログラミングバス812とも接続される。さらに、画像センサー704は、チップレベルプログラミング信号818を送信するためにチップレベルプログラミングバス816と接続される、チップレベルプログラミング信号生成器814をさらに含む。チップレベルプログラミング信号818は、ピクセルセルアレイ718のすべてのピクセルセルに適用されるチップレベルプログラミング信号を含むことができる。以下で説明されるように、一部または全部のチップレベルプログラミング信号818は、いくつかのピクセルセルにおいてピクセルレベルプログラミング信号722によってオーバーライドされ得る。いくつかの例では、チップレベルプログラミング信号818はまた、特定の列バス808および/または特定の行バス810に接続されたピクセルセル(またはピクセルセルのグループ)への列レベルプログラミング信号または行レベルプログラミング信号として提供され得る。
【0105】
図8Aでは、P
00、P
01、P
0jなどと標示された各ボックスは、上記で説明されたように、ピクセルセルのアレイ718のピクセルセルまたはピクセルセルのグループ(たとえば、2×2ピクセルセルのグループ)を表すことができる。各ピクセルセル(またはピクセルセルのグループ)は、列バス808のうちの1つ、行バス810のうちの1つ、ピクセルレベルプログラミングバス812、チップレベルプログラミングバス816、および測定データを出力するための出力データバス(
図8Aに図示せず)に接続される。
図8Bは、ピクセルセルの接続の追加の詳細を示す。
図8Bに示されているように、各ピクセルセルは、トランジスタS(たとえば、S
00、S
10、S
10、S
11など)およびトランジスタT(たとえば、T
00、T
10、T
10、T
11など)を介して、列バスおよび行バスと接続される。トランジスタSは、列バス、行バス、およびトランジスタTのゲートと接続される。トランジスタTは、ピクセルレベルプログラミングバス812とピクセルセルとの間に接続される。トランジスタSに接続された列バスと行バスの両方が論理1を搬送するとき、トランジスタTは、有効化され、ピクセルレベルプログラミング信号722が、ピクセルセルを通して伝搬することと、ピクセルセルに伝搬することとを可能にすることができる。たとえば、(R0と標示された)行バス810aと(C0と標示された)列バス808aとが両方とも論理1を搬送し、他の行バスおよび列バスが論理0を搬送するとき、トランジスタS
00は、トランジスタT
00がピクセルレベルプログラミング信号722をピクセルセルP
00に受け渡すように有効化することができる。その上、行バス810a(R0)と(C1と標示された)列バス808bとが両方とも論理1を搬送し、他の行バスおよび列バスが論理0を搬送するとき、トランジスタS
10は、トランジスタT
10がピクセルレベルプログラミング信号722をピクセルセルP
10に受け渡すように有効化することができる。そのような仕組みにより、各ピクセルセルは、列バス808および行バス810上の信号によって個々にアドレス指定可能であり、1つまたは複数のピクセルセルが、ピクセルレベルプログラミングバス812を介してピクセルレベルプログラミングデータを一度に受け取るように選択され得る。
【0106】
さらに、各ピクセルセルはまた、各ピクセルセルがチップレベルプログラミングバス816から同じチップレベルプログラミング信号818を受け取るように、チップレベルプログラミングバス816に直接接続される。その上、測定データを出力する、各ピクセルセルの出力端子は、選択トランジスタU(たとえば、U00、U01、U10、U11など)を介して、出力データバス(たとえば、D0、D1など)に接続される。選択トランジスタUは、出力データバス上に測定データを出力するためのピクセルセルの行を選択するように、読取り信号(たとえば、Read_R0、Read_R1など)によって駆動され得る。たとえば、読取り信号Read_R0がアサートされるとき、ピクセルセルP00およびP10を含むピクセルセルの行が、測定データを出力するように選択され得る。
【0107】
再び
図8Aを参照すると、周辺回路716は、さらに、ピクセルセルアレイ718の各ターゲットピクセルセルについてピクセルアレイプログラミングマップ720からピクセルレベルプログラミングデータを抽出することができるプログラミングマップパーサ820を含み、各ターゲットピクセルセルにピクセルレベルプログラミングデータを送信するためにピクセルレベルプログラミング信号722ならびに行アドレス信号850および列アドレス信号852を生成する。詳細には、プログラミングマップパーサ820は、各ピクセルセルのためのピクセルレベルプログラミングデータを識別するために、シリアルデータストリーム中にあり得る、ピクセルアレイプログラミングマップ720をパースすることができる。ピクセルレベルプログラミングデータの識別は、たとえば、2次元ピクセルアレイプログラミングマップがシリアルフォーマットに変換されるあらかじめ決定されたスキャンパターン、ならびにピクセルレベルプログラミングデータがシリアルデータストリームからプログラミングマップパーサ820によって受け取られる順序に基づき得る。プログラミングマップパーサ820は、次いで、行アドレス信号850および列アドレス信号852を、それぞれ、行コントローラ806および列コントローラ804に送信して、1つまたは複数のピクセルセルを選択し、プログラミングデータを含む制御信号722を、ピクセルレベルプログラミングバス812を介して送信することができる。選択された1つまたは複数のピクセルセルは、次いで、
図8Bで説明されるように、制御信号722を受け取ることができる。
【0108】
図9A~
図9Eは、構成可能な光測定動作および測定データ生成をサポートするためのピクセルセル601の追加の構成要素を示す。
図9Aを参照すると、ピクセル601は、
図6Aに示されているように、フォトダイオード602と、電子シャッタートランジスタ603と、転送トランジスタ604と、電荷貯蔵デバイス605と、バッファ606と、量子化器607とを含むことができる。電荷貯蔵デバイス605は、電荷-電圧変換利得を設定するために、構成可能なキャパシタンスを有することができる。いくつかの例では、電荷貯蔵デバイス605のキャパシタンスは、電荷貯蔵デバイス605がオーバーフロー電荷によって飽和される可能性を低減するために、中光強度のためのFD ADC動作についてオーバーフロー電荷を貯蔵するために増加され得る。電荷貯蔵デバイス605のキャパシタンスはまた、低光強度のためのPD ADC動作について電荷-電圧変換利得を増加させるために減少され得る。電荷-電圧変換利得の増加は、量子化誤差を低減し、量子化分解能を増加させることができる。いくつかの例では、電荷貯蔵デバイス605のキャパシタンスはまた、量子化分解能を増加させるためにFD ADC動作中に減少され得る。さらに、バッファ606は、バイアス信号BIAS1によって電流が設定され得る電流源903、ならびにバッファ606をオン/オフするためにPWR_GATE信号によって制御され得るパワートランジスタ905aを含む。バッファ606は、ピクセルセル601を無効化することの一部としてオフにされ得る。
【0109】
その上、量子化器607は、バイアス電流がバイアス信号BIAS2によって制御され得、利得が利得制御信号GAINによって制御され得る、比較器904を含む。さらに、ピクセル601はメモリ906を含む。メモリ906は、スタティックランダムアクセスメモリ(SRAM)デバイスを含むことができる。メモリ906は、測定データ908を記憶する第1の部分と、ピクセルレベルプログラミングデータ910を記憶する第2の部分とを含むことができる。ピクセルレベルプログラミングデータ910は、ピクセルレベルプログラミング信号722に基づいてメモリ906に記憶され得る。いくつかの例では、メモリ906は、ピクセルセル902の内部または外部にあり得る自走カウンタから、カウンタ値を受け取ることができる。量子化動作(たとえば、TTS動作、FD ADC動作、およびPD ADC動作)に応じて、比較器904は、出力を生成するために、バッファされた電圧を、異なるVREF電圧と比較することができ、出力は、メモリ906の第1の部分が、出力バス(たとえば、
図8BのD0、D1など)に出力され得る測定データ908として、自走カウンタからの値を記憶することを引き起こすことができる。比較器904は、さらに、比較器904をオン/オフするために、PWR_GATE信号によっても制御され得るパワートランジスタ905bを含む。比較器904はまた、ピクセルセル601を無効化することの一部としてオフにされ得る。
【0110】
さらに、ピクセルセル601は、AB、TG、BIAS1、BIAS2、GAIN、VREF、PWR_GATEなど、制御信号を生成することと、メモリ906への測定データの書込み動作を制御することとを行うための論理回路を含むことができる、コントローラ912を含む。
図9Bは、コントローラ912の例示的な内部構成要素を示す。
図9Bに示されているように、ピクセルセル601は、たとえば、電力ゲートモジュール920、露光期間モジュール922、量子化動作モジュール924、量子化器構成モジュール926、測定データ出力モジュール928、測定データ書込みモジュール930など、いくつかのモジュールを含む。各モジュールは、制御信号の生成および/またはメモリ906における測定データの記憶を制御するための論理回路を含む。
【0111】
たとえば、電力ゲートモジュール920は、ピクセルセル601を有効化/無効化するようにPWR_GATE信号を制御することができる。露光期間モジュール322は、露光期間を設定するようにAB信号を制御することができる。量子化動作モジュール924は、たとえば、
図6Bで説明されるように、TTS動作、FD ADC動作、およびPD ADC動作を実施するために、比較器904に供給されるVREF信号ならびに転送トランジスタ604に供給されるTG信号を制御することができる。量子化器構成モジュール926は、たとえば、比較器904のBIAS2を設定することによって、量子化器の帯域幅を制御することができる。量子化器構成モジュール926はまた、たとえば、電荷-電圧変換比を増加させるために電荷貯蔵デバイス605のキャパシタンスを減少させること、比較器904の利得を増加させるためにGAIN信号を設定することなどによって、量子化分解能を制御することができる。
【0112】
さらに、測定データ出力モジュール928は、ピクセル601によって出力される強度測定値の精度を制御するために、メモリ906に記憶されるべき測定データのビット数を設定することができる。たとえば、測定データ出力モジュール928は、メモリ906へのメモリデータ入力として、カウンタ値の最下位ビット(LSB)のサブセットを選択することができる。一例では、測定データ出力モジュール928は、ピクセル601によって出力される強度測定値を表すために、メモリ906へのメモリデータ入力として強度範囲を指示する比較器決定を選択することができる。
【0113】
その上、測定データ書込みモジュール930は、メモリ906における測定データの書込み動作を制御する、メモリ906の書込みイネーブル信号を制御することができる。書込みイネーブル信号は、比較器904の出力に基づいて生成され得る。たとえば、測定データ書込みモジュール930は、比較器出力に基づいて強度範囲を決定し、メモリ906に記憶するために、TTS量子化動作、FD ADC量子化動作、またはPD ADC量子化動作のうちの1つを選択することができる。選択に基づいて、測定データ書込みモジュール930は、選択されなかった量子化動作中に書込み動作をアサート解除し、選択された量子化動作中にのみ書込み動作をアサートすることができる。書込みイネーブル信号のアサーションは、メモリ906が、測定データ出力モジュール928の出力(
図9B中のメモリデータ入力)をメモリ906に記憶することを引き起こすことができる。
【0114】
いくつかの例では、コントローラ912のモジュールの一部または全部は、ピクセルレベルプログラミングデータ910に基づいてプログラムされ得る。たとえば、ピクセルレベルプログラミングデータ910は、ピクセルセル601を有効化/無効化するためにPWR_GATE信号をアサート/アサート解除するように電力ゲートモジュール920を構成することができる。その上、ピクセルレベルプログラミングデータ910は露光期間を設定することができ、これに基づいて、露光期間モジュール922はAB信号のタイミングを設定することができる。ピクセルレベルプログラミングデータ910はまた、他の量子化動作をスキップしながら、実施されるべき1つまたは複数の量子化動作(たとえば、TTS、FD ADC、PD ADCなど)を選択するように、量子化動作モジュール924を構成することができる。さらに、ピクセルレベルプログラミングデータ910は、それぞれ、比較器904の利得および帯域幅を設定するために、GAIN信号および/またはBIAS2信号を設定することができる。比較器904の利得の設定は、ピクセルセル601のターゲット量子化分解能に基づき得、より高い利得が、より低い比較器誤差およびより高い量子化分解能につながり、その逆も同様である。その上、比較器904の帯域幅の設定は、たとえば、ピクセルセル601のターゲットフレームレートに基づき得る。さらに、ピクセルレベルプログラミングデータ910は、(強度範囲を指示する)比較器出力をメモリ906に記憶すること、またはカウンタ値をメモリ906に記憶することの間で選択するように、およびメモリ906に記憶されるべき測定データのビット数を選択するように、測定データ出力モジュール928を構成することができる。ピクセルレベルプログラミングデータ910はまた、フレームについて測定データ出力モジュール928からの測定データをメモリ906に記憶すること、またはそのフレームについて測定データの記憶をスキップすることを行うように、測定データ書込みモジュール930を構成することができる。
【0115】
ピクセルセルアレイ718の各ピクセルセルのコントローラ912は、アプリケーション708の動作を促進するために、ピクセルアレイプログラミングマップ720から抽出されたピクセルレベルプログラミングデータ910に基づいて、個々にプログラムされ得る。たとえば、物体追跡アプリケーションをサポートするために、ROI内のピクセルセルのピクセルレベルプログラミングデータ910は、それらのピクセルにおいてPWR_GATE信号をアサートするように電力ゲートモジュール920を制御することができるが、ROI外のピクセルセルのピクセルレベルプログラミングデータ910は、PWR_GATE信号をアサート解除するように電力ゲートモジュール920を構成することができる。いくつかの例では、ROI内のピクセルセルのピクセルレベルプログラミングデータ910は、量子化器構成モジュール926を介して比較器の利得を増加させ、測定データ出力モジュール928を介して測定データのビット数を増加させ、および/または測定データ書込みモジュール930を介してメモリ906への測定データの書込みを有効化することができる。ROI外のピクセルセルのピクセルレベルプログラミングデータ910はまた、量子化器構成モジュール926を介して比較器の利得を減少させ、測定データ出力モジュール928を介して測定データのビット数を減少させ、および/または測定データ書込みモジュール930を介してメモリ906への測定データの書込みを無効化することができる。ピクセルレベルプログラミングデータ910がコントローラ912中の各モジュールを構成する様々なやり方がある。たとえば、各モジュールは、複数の候補構成(たとえば、バイアス値のセット、利得値のセット、露光期間持続時間のセットなど)を記憶することができ、ピクセルレベルプログラミングデータ910は、候補構成から構成を選択するように各モジュールを制御することができる。別の例として、ピクセルレベルプログラミングデータ910は、構成(たとえば、バイアス値、利得値、露光期間持続時間など)を符号化し、符号化された構成で各モジュールを構成することができる。
【0116】
ピクセルセルアレイ718の各ピクセルセルのコントローラ912は、各ピクセルセルにおける光検知動作および/または測定データ生成を適応させるために、ピクセルアレイプログラミングマップ720から抽出されたピクセルレベルプログラミングデータ910に基づいて、個々にプログラムされ得る。たとえば、ピクセルセルの第1のサブセットのピクセルレベルプログラミングデータ910は、露光期間モジュール822を介して露光期間を低減し、ならびに/またはTTS動作を選択し、FD ADC動作およびPD ADC動作を選択解除することができるが、ピクセルセルの第2のサブセットのピクセルレベルプログラミングデータ910は、露光期間モジュール822を介して露光期間を増加させ、ならびに/またはPD ADC動作を選択し、TTS動作およびFD ADC動作を選択解除することができる。そのような構成は、アプリケーション708が、ピクセルセルの第1のサブセットによって受け取られた光は高強度のものであるが、ピクセルセルの第2のサブセットによって受け取られた光は低強度のものであると、前の画像フレームから決定することに基づき得る。別の例として、ピクセルレベルプログラミングデータ910は、量子化器構成モジュール926を介して比較器904の帯域幅を低減することができる。帯域幅の低減は、ピクセルセルのフレームレートの低減に基づき得る。フレームレートの低減は、たとえば、アプリケーション708(たとえば、SLAMアプリケーション)の要件、シーンが静的であるというアプリケーション708による決定などに基づき得る。また別の例として、ピクセルセルのピクセルレベルプログラミングデータ910は、異なる露光期間において異なる領域がキャプチャされる画像フレームを生成するように、ピクセルセルの異なるサブセットにおける測定データの書込み動作のタイミングを制御することができる。そのような仕組みは、アプリケーション708の要件に基づき得、および/またはホストプロセッサ706に送信されるピクセルデータの量を低減することができる。
【0117】
いくつかの例では、コントローラ912のモジュールの一部または全部は、ピクセルレベルプログラミングデータ910とチップレベルプログラミング信号818との組合せに基づいてプログラムされ得る。
図9C~
図9Eは、ピクセルレベルプログラミングデータ910とチップレベルプログラミング信号818との組合せに基づいてコントローラ912をプログラムすることの異なる例を示す。
図9Cに示されているように、電力ゲートモジュール920、露光期間モジュール922、量子化動作モジュール924、量子化器構成モジュール926、測定データ出力モジュール928、および測定データ書込みモジュール930の各々は、それぞれ、マルチプレクサ940、942、944、946、948、および950から、プログラミングデータを受け取る。各マルチプレクサは、ピクセルレベルプログラミングデータ910のビットの第1のサブセット(たとえば、
図9C中のビット0、
図9Dおよび
図9E中のビット0およびビット1)によって制御され得る。マルチプレクサは、(
図9Cおよび
図9Eに示されているように)ビットの同じ第1のサブセットによって制御されるか、または(
図9Dに示されているように)ビットの第1のサブセット内の異なるビットによって制御されるかのいずれかであり得る。
【0118】
各マルチプレクサは、各モジュールに、チップレベルプログラミング信号818を通過すること、またはピクセルレベルプログラミングデータ910のビットの第2のサブセットを通過することの間で選択するように制御され得る。マルチプレクサが複数のビットによって制御される場合(たとえば、
図9E)、マルチプレクサは、出力として、チップレベルプログラミング信号818のビットの複数のサブセットおよび/またはピクセルレベルプログラミングデータ910のビットの複数のサブセットから選択するように制御され得る。チップレベルプログラミング信号818は、たとえば、各モジュールについてデフォルトモードを定義することができる。たとえば、デフォルトモード下で、PWR_GATEがアサートされるべきであり、フォトダイオードが電荷を生成するためのデフォルト露光期間が提供され、量子化動作(たとえば、
図6Bの場合のような、TTS、FD ADC、およびPD ADC)のデフォルトシーケンスが設定されるべきであり、比較器904のデフォルト利得およびバイアスが、デフォルト量子化分解能およびデフォルトフレームレートについて設定されるべきであり、メモリ906に記憶されるべき測定データのデフォルト精度が設定されるべきであり、メモリ906への測定データの書込み動作が各フレームについて実施されるべきである。ピクセルレベルプログラミングデータ910のビットの第1のサブセットは、モジュールの一部または全部が、デフォルトモード下で動作するのか、ピクセルレベルプログラミングデータ910のビットの第2のサブセットによるプログラミングに基づいて動作するのかを選択することができる。
【0119】
いくつかの例では、マルチプレクサの代わりに、コントローラ912の各モジュールは、チップレベルプログラミング信号818をピクセルレベルプログラミングデータ910と組み合わせるための論理回路を含むことができる。たとえば、論理回路は、ピクセルレベルプログラミングデータ910を使用してチップレベルプログラミング信号818を復号/操作するためのデコーダを含み得る。各ピクセルセルが、異なるピクセルレベルプログラミングデータ910を受け取ることができるので、論理回路は、すべてのピクセルセルについて共通であるチップレベルプログラミング信号818を、ピクセル精度/ピクセル固有のやり方で復号することができる。例示的な例として、チップレベルプログラミング信号818は、比較器904のためのデフォルトバイアス電流設定を搬送し得るが、ピクセルレベルプログラミングデータ910は、各ピクセルセルのためのピクセルレベルバイアス電流設定を生成するために、デフォルトバイアス電流設定に適用されるべきピクセル固有スケーリングファクタを含むことができる。
【0120】
ピクセルレベルプログラミングデータ910とチップレベルプログラミング信号818との組合せは、画像センサー700によってサポートされる命令の数を非常に拡大することができる。たとえば、チップレベルプログラミング信号818がnビット並列信号を含むようにチップレベルプログラミングバス816がn個のビットを含み、ピクセルレベルプログラミングデータ910がm個のビットを含むと仮定すると、異なる動作モードを各々表す、合計2(m+n)個の異なる命令がサポートされ得る。命令/動作の空間グラニュラリティは、ピクセルセルアレイ718内の各ピクセルセルがピクセルレベルプログラミングデータ910の異なるn個のビットを受け取ることができるので、ピクセルレベルプログラミングデータ910のn個のビットによって表され得るが、命令/動作の時間グラニュラリティは、すべてのピクセルセルが所与の時間において同じチップレベルプログラミング信号818を受け取るが、異なるチップレベルプログラミング信号818が、異なる時間にピクセルセルに提供され得るので、m個のビットによって提示され得る。
【0121】
図10Aおよび
図10Bは、ピクセルセルアレイ718のピクセルセルの内部構成要素の他の例を示す。
図10Aに示されているように、ピクセルレベルプログラミングデータ910のビットのサブセット(たとえば、
図9C~
図9Eにおいて上記で説明されたビットの第1のサブセット)を記憶するメモリ906の一部が、循環シフトレジスタ1002として構成され得る。ビットの第1のサブセットは、フィードバックループを破壊するために負荷信号1006をアサートすることによって、シフトレジスタ1002にロードされ得る。ビットの第1のサブセットがロードされた後に、グローバルシフト信号1008(たとえば、クロック信号)が周辺回路716から送られて、ビットの第1のサブセットをシフトし、第1のサブセットのビットの異なるセットを異なる時間に出力することができる。たとえば、
図10Aでは、シフトレジスタ1002は、グローバルシフト信号1008に応答して、ピクセルレベルプログラミングデータ910の第1のビットを出力することと第2のビットを出力することとを交替することができる。周辺回路716は、各フレームについてまたはいくつかのフレームの後に、シフト信号1008を送出することができる。いくつかの例では、シフト信号1008はまた、(たとえば、コントローラ912によって)ピクセルセルにおいてローカルに生成され得る。
【0122】
シフトレジスタ1002によって出力される各ビットは、ピクセルセルにおける光測定動作および測定データ生成のための構成の異なるセットを定義することができる。たとえば、第1のビットは、コントローラ912に、チップレベルプログラミング信号818に基づいてデフォルトモードで動作させることができるが、第2のビットは、コントローラ912に、ピクセルレベルプログラミングデータ910に従って動作させることができる。別の例として、第1のビットと第2のビットとは、コントローラ912に、ピクセルレベルプログラミングデータ910のビットの異なるサブセットに基づいて動作させることができる。
【0123】
そのような仕組みは、周辺回路によって受け取られるプログラミングマップの数と、周辺回路によって実施されるプログラミング動作の数とを低減しながら、ピクセルセルを連続的に構成することを可能にする。たとえば、あるプログラミング動作では、周辺回路716は、構成のシーケンスに対応する命令のシーケンスを定義するプログラミングデータを各ピクセルセルに送信し、負荷信号1006をアサートしてプログラミングデータのビットの第1のサブセットを各ピクセルセルのシフトレジスタ1002に記憶することができる。周辺回路716は、次いで、シフトレジスタ1002にグローバルシフト信号1008を送信して、命令/構成のシーケンスを取得するためにビットの第1のサブセットの一部を連続的にシフトアウトすることができる。
【0124】
ピクセルセルの連続的な構成は、ピクセルセルの出力にアクセスするだけでなく、ピクセルセルについての異なる構成要件をも有する、複数のホストアプリケーションの動作を促進することができる。たとえば、ホストプロセッサ706は、SLAMアプリケーションと手追跡アプリケーションとを同時に動作させ得る。どちらのアプリケーションも、ピクセルセルアレイ718によって出力された画像フレームを使用し得るが、各々は、ピクセルセルについての異なる構成要件を有する。たとえば、SLAMアプリケーションは、より低いフレームレートを必要とするが、フル解像度画像フレームを必要とし得、手追跡アプリケーションは、より高いフレームレートを必要とするが、画像フレームのROIに関してのみ動作し得る。両方のアプリケーションをサポートするために、プログラミングマップは、SLAMアプリケーション(たとえば、すべてのピクセルセルが有効化されるが、各々はより低速で量子化器を動作させる)のためのピクセルセルを構成するための第1のビット(またはビットの第1のサブセット)と、手追跡アプリケーション(たとえば、ROIに対応するピクセルセルのサブセットのみが有効化され、各有効化されたピクセルセルはより高速で量子化器を動作させる)のためのピクセルセルを構成するための第2のビット(またはビットの第2のサブセット)とを有するプログラミングデータを含むことができる。上記で説明されたように、周辺回路716は、各ピクセルセルのシフトレジスタ1002に記憶するために、単一のプログラミング動作において、ピクセルレベルプログラミングデータをピクセルセルに送信することができる。周辺回路716はまた、SLAMアプリケーションためのピクセルセルと手追跡アプリケーションのためのピクセルセルとを異なる時間に構成するために、ピクセルレベルプログラミングデータのビットの第1のサブセットを出力することとビットの第2のサブセットを出力することとを交替するために各ピクセルセルのシフトレジスタ1002にグローバルシフト信号1008を送信することができる。周辺回路716は、たとえば、ROIのロケーションおよび/またはサイズの変化に基づいて、プログラミングマップがホストプロセッサ706によって更新されるまで、ピクセルセルを再プログラムする必要がない。周辺回路716は、次いで、後続のプログラミング動作において、更新されたピクセルレベルプログラミングデータをピクセルセルに送信することができる。
【0125】
図10Bは、ピクセルセルアレイ718のピクセルセルの内部構成要素の別の例を示す。
図10Bに示されているように、ピクセルセル1030および1040など、複数のピクセルセルのシフトレジスタ1002は接続されて、複数のピクセルセルにわたってスパンするシフトレジスタを形成し得る。これは、ピクセルレベルプログラミングデータ910のビットの第1のサブセットが、たとえば、周辺回路716からの伝搬信号1042に基づいて、ピクセルセル1030からピクセルセル1040に伝搬されることを可能にする。そのような仕組みは、周辺回路716が別のプログラミング動作を実施することを必要とすることなしに、時間に関してピクセルセルプログラミングにおける空間シフトを提供することができる。いくつかの例では、そのような仕組みは、ROIによって追跡されている物体の移動を考慮するために、ROIのシフト、ならびにROIの一部として指定されたピクセルのサブセットのシフトを可能にする。たとえば、再び
図6Cを参照すると、ピクセルセルのグループ630は、ROIの移動を考慮するために、ピクセルセルのグループ620からピクセルレベルプログラミングデータ910のビットの第1のサブセットを受け取ることができる。そのような仕組みは、たとえば、ピクセルセルのグループ620の電力ゲートモジュール920が時間T0においてPWR_GATEをアサートするように制御され、時間T6においてピクセルセルのグループ630の電力ゲートモジュール920が後続することを可能にする。
【0126】
図11は、ピクセルセルアレイ718のピクセルセルの内部構成要素の別の例を示す。
図11に示されているように、ピクセルセルは、ビット単位論理演算モジュール1100などのデジタル論理回路をさらに含み得、デジタル論理回路は、メモリ906と組み合わさって、ローカル状態機械を形成して、ピクセルレベルプログラミングデータ910または測定データ908のうちの少なくとも1つを操作することができる。ビット単位論理演算モジュール1100は、コントローラ912の一部であり得、たとえば、算術論理ユニット(ALU)を含み得る。適応露光期間など、様々な動作が、ローカル状態機械によってサポートされ得る。たとえば、ピクセルレベルプログラミングデータ910は、デフォルト露光期間に対してピクセルセルの露光期間を低減するかまたは増加させ得、ローカル状態機械は、すべてのピクセルセルによって出力されるすべての測定データが、同じスケールに基づくように、調整された露光期間から取得された測定データ908をスケールアップまたはスケールダウンすることができる。別の例として、ピクセルレベルプログラミングデータ910によって設定された露光期間において取得された測定データ908に基づいて、デジタル論理回路は、ピクセルレベルプログラミングデータ910によって設定された露光期間が長すぎるまたは短すぎると決定し得る。たとえば、測定データ908は、光の強度が極めて高いことを指示し得、デジタル論理回路は、ブルーミングのリスクを低減するために露光期間を短縮するようにピクセルレベルプログラミングデータ910を調整し得る。別の例として、測定データ908は、光の強度が極めて低いことを指示し得、デジタル論理回路は、フォトダイオードがより多くの電荷を蓄積して信号対雑音比を増加させることを可能にするために、露光期間を延長するようにピクセルレベルプログラミングデータ910を調整し得る。そのような仕組みは、ピクセルセルが、ピクセルセルの光測定動作および測定データ生成を動作条件に適応させる際により敏感であることを可能にしながら、ホストによるプログラミング動作の数を低減することができ、それらのすべてはシステム全体の性能を改善することができる。
【0127】
図12は、画像センサー704などの画像センサーを動作させる方法1200を示す。方法1200はステップ1202から開始し、画像センサーの周辺回路(たとえば、
図7Aの周辺回路716)が、ピクセルセルアレイ718などのピクセルセルのアレイの各ピクセルセルをターゲットにするピクセルレベルプログラミングデータを含む、ピクセルアレイプログラミングマップ720などのピクセルアレイプログラミングマップを受け取る。上記で説明されたように、ピクセルセルアレイ718中の各ピクセルセルは、各ピクセルセルにおける光測定動作を構成/プログラムするためのピクセルレベルプログラミングデータを記憶することと、光測定動作からの測定データを記憶することとを行うためのメモリを含み得る。いくつかの例では、ピクセルセルのブロック(たとえば、ピクセルセルの2×2ブロック)は、ピクセルセルのブロックにおける光測定動作を構成/プログラムするためのピクセルレベルプログラミングデータを記憶することと、ピクセルセルのブロックからの測定データを記憶することとを行うためにメモリを共有することができる。各ピクセルセル、またはピクセルセルの各ブロックは、個々にアドレス指定可能であり得、これは、各ピクセルセルにおける(またはピクセルセルの各ブロックにおける)光測定動作が、ピクセルアレイプログラミングマップに基づいて周辺回路716によって個々にプログラムされることを可能にする。ピクセルアレイプログラミングマップは、ホストデバイスによって提供され得る。
【0128】
ステップ1204において、周辺回路は、ピクセルアレイプログラミングマップからピクセルレベルプログラミングデータを抽出することができる。詳細には、周辺回路は、各ピクセルセルのためのピクセルレベルプログラミングデータを識別するために、シリアルデータストリーム中にあり得る、ピクセルアレイプログラミングマップをパースすることができる。ピクセルレベルプログラミングデータの識別は、たとえば、2次元ピクセルアレイプログラミングマップがシリアルフォーマットに変換されるあらかじめ決定されたスキャンパターン、ならびにピクセルレベルプログラミングデータがシリアルデータストリームから周辺回路によって受け取られる順序に基づき得る。ピクセルレベルプログラミングデータは、上記で説明されたように、2進形式であり得るか、または複数のビットを含むことができる。各ピクセルレベルプログラミングデータは、ピクセルセル、またはピクセルセルのグループをターゲットにすることができる。
【0129】
ステップ1206において、周辺回路は、各ピクセルセルによってアクセス可能なメモリにおける記憶のために、ならびに各ピクセルセルにおける光測定動作および測定データの生成を制御するために、各ピクセルセルにピクセルレベルプログラミングデータを送信することができる。メモリは、各ピクセルセルの一部であるか、またはピクセルセルのグループによって共有され得る。周辺回路は、プログラミングデータを受け取るための1つまたは複数のピクセルセルを選択するために、行アドレス信号、列アドレス信号、ならびにプログラミングデータを含む制御信号をピクセルセルアレイに送信することができる。選択された1つまたは複数のピクセルセルは、次いで、
図8Bで説明されるように、制御信号722を受け取ることができる。ピクセルレベルプログラミングデータは、次いで、各ピクセルセルにおける光測定動作を構成するために各ピクセルセルのメモリから、またはピクセルセルのブロックにおける光測定動作を構成するためにピクセルセルの各ブロックの共有メモリから読み出され得る。いくつかの例では、メモリは、異なるピクセルレベルプログラミングデータが、異なる時間に読み出されることを可能にするために、シフトレジスタを含み得る。いくつかの例では、複数のピクセルセル(またはピクセルセルの複数のグループ)からのメモリは、たとえば、画像フレームにわたる関心領域(ROI)の移動を考慮するために、あるピクセルセルから別のピクセルセルにピクセルレベルプログラミングデータを伝搬するようにシフトレジスタを形成することができる。
【0130】
ピクセルセルにおける光測定動作の構成は、たとえば、ピクセルセルの光測定動作および測定データ生成を無効化/有効化すること、露光時間を設定すること、1つまたは複数の量子化動作(たとえば、TTS、FD ADC、PD ADC)を選択すること、量子化器の帯域幅および/または量子化分解能を設定すること、メモリが測定データを記憶するかどうかを制御すること、メモリに記憶される測定データの精度(たとえば、ビット数)を制御することなどを含むことができる。ピクセルレベルプログラミングデータによる光測定動作の構成はまた、チップレベルプログラミングデータによるピクセルセルの構成をゲートすること、および/またはチップレベルプログラミングデータを復号することを含むことができる。
【0131】
本明細書のいくつかの部分は、情報に関する動作のアルゴリズムおよび記号表現に関して本開示の実施形態について説明する。これらのアルゴリズム説明および表現は、データ処理技術分野の当業者が、他の当業者に自身の仕事の本質を効果的に伝えるために通常使用される。これらの動作は、機能的に、計算量的に、または論理的に説明されるが、コンピュータプログラムまたは等価な電気回路、マイクロコードなどによって実装されることが理解される。さらに、一般性の喪失なしに、動作のこれらの仕組みをモジュールと呼ぶことが時々好都合であることも証明された。説明される動作およびそれらの関連するモジュールは、ソフトウェア、ファームウェア、および/またはハードウェアにおいて具現され得る。
【0132】
説明されるステップ、動作、またはプロセスは、1つまたは複数のハードウェアまたはソフトウェアモジュールで、単独でまたは他のデバイスとの組合せで実施または実装され得る。いくつかの実施形態では、ソフトウェアモジュールは、コンピュータプログラムコードを含んでいるコンピュータ可読媒体を備えるコンピュータプログラム製品で実装され、コンピュータプログラムコードは、説明されるステップ、動作、またはプロセスのいずれかまたはすべてを実施するためにコンピュータプロセッサによって実行され得る。
【0133】
本開示の実施形態はまた、説明される動作を実施するための装置に関し得る。本装置は、必要とされる目的のために特別に構築され得、および/あるいは、本装置は、コンピュータに記憶されたコンピュータプログラムによって選択的にアクティブ化または再構成される汎用コンピューティングデバイスを備え得る。そのようなコンピュータプログラムは、非一時的有形コンピュータ可読記憶媒体、または、コンピュータシステムバスに結合され得る、電子命令を記憶するのに好適な任意のタイプのメディアに記憶され得る。さらに、本明細書で言及される任意のコンピューティングシステムは、単一のプロセッサを含み得るか、または増加された計算能力のために複数のプロセッサ設計を採用するアーキテクチャであり得る。
【0134】
本開示の実施形態はまた、本明細書で説明されるコンピューティングプロセスによって製造される製品に関し得る。そのような製品は、コンピューティングプロセスから生じる情報を備え得、その情報は、非一時的有形コンピュータ可読記憶媒体に記憶され、本明細書で説明されるコンピュータプログラム製品または他のデータ組合せの任意の実施形態を含み得る。
【0135】
本明細書で使用される言い回しは、主に読みやすさおよび教授の目的で選択されており、その言い回しは、本発明の主題を画定または制限するために選択されていないことがある。したがって、本開示の範囲はこの詳細な説明によって限定されるのではなく、むしろ、本明細書に基づく出願に関して生じる請求項によって限定されることが意図される。したがって、実施形態の開示は、以下の特許請求の範囲に記載される本開示の範囲を例示するものであり、限定するものではない。