(57)【特許請求の範囲】
【請求項１】
ｎ×ｎ画素サブアレイが４つの異なるｍ×ｍ画素群として編成された赤外光（ＩＲ）画素アレイを備え、前記４つの異なるｍ×ｍ画素群では、１つの特定の画素のみが４つの群すべてに属し、ｍはｎよりも小さく、画素群に含まれる各画素は、同じ群内のその他の画素とは異なる位相を有するクロック信号を受信し、さらに、
前記４つの異なるｍ×ｍ画素群に関連付けられた互いに異なる画素アレイ位置のそれぞれの飛行時間型（ｔｉｍｅ  ｏｆ  ｆｌｉｇｈｔ）深度値を算出するための、前記ｎ×ｎ画素サブアレイの各々に関連付けられた４つの深度算出部を有する画像信号プロセッサを備え、前記４つの深度算出部の各々は、前記４つの異なるｍ×ｍ画素群のそれぞれ異なる一つに接続されており、各深度算出部は、当該ｍ×ｍ画素群に含まれる４つの画素に接続されており、前記１つの特定画素は、前記４つの深度算出部に接続されており、前記４つの深度算出部の各々は、前記１つの特定の画素から同じ応答信号を受信し、前記４つの深度算出部は、当該画素が属する前記画素アレイに含まれる前記異なる画素群から、前記ＩＲ画素アレイの前記互いに異なる画素アレイ位置の複数の深度値を算出することができる、装置。
【請求項２】
前記４つの深度算出部は、論理回路から構成される、請求項１に記載の装置。
【請求項３】
前記４つの深度算出部は、専用の論理回路から構成される、請求項２に記載の装置。
【請求項４】
前記４つの深度算出部は、前記複数の深度値を同時に算出するように構成される、請求項２に記載の装置。
【請求項５】
前記画像信号プロセッサは、プログラムコードを実行するプロセッサとして実装され、前記４つの深度算出部は、機械読み取り可能な記憶媒体に格納された複数のプログラムコードシーケンスとして実装される、請求項１に記載の装置。
【請求項６】
前記プロセッサはマルチスレッドプロセッサであり、前記複数のプログラムコードシーケンスは、互いに異なるスレッド上で実行される複数のプログラムコードインスタンスを含む、請求項５に記載の装置。
【請求項７】
前記互いに異なる受信クロック位相は、Ｉ＋と、Ｉ−と、Ｑ＋と、Ｑ−とを含む、請求項１に記載の装置。
【請求項８】
前記異なるクロック信号は、２つの行の端から端までの画素に、パターン１２１２１２…、３４３４３４…で分布しており、
上記の１、２、３、および４は、前記異なる受信クロック位相に相当し、各前記行は、前記ＩＲ画素アレイを構成する各画素の配列であり、前記２つの行は、互いに隣接している、請求項１に記載の装置。
【請求項９】
前記異なるクロック信号は、３つの行の端から端までの画素に、パターン１２１２１２…、３４３４３４…、２１２１２１…で分布しており、
前記３つの行は、前記２つの行と、当該２つの行に隣接する１つの行とを含む、請求項８に記載の装置。
【請求項１０】
処理コアと、
Ｉ／Ｏ制御ハブと、
ｎ×ｎ画素サブアレイが４つの異なるｍ×ｍ画素群として編成された赤外光（ＩＲ）画素アレイとを備え、前記４つの異なるｍ×ｍ画素群では、１つの特定の画素のみが４つの群すべてに属し、ｍはｎよりも小さく、画素群に含まれる各画素は、同じ群内のその他の画素とは異なる位相を有するクロック信号を受信し、さらに、
前記４つの異なるｍ×ｍ画素群に関連付けられた互いに異なる画素アレイ位置のそれぞれの飛行時間型深度値を算出するための、前記ｎ×ｎ画素サブアレイの各々に関連付けられた４つの深度算出部を有する画像信号プロセッサを備え、前記４つの深度算出部の各々は、前記４つの異なるｍ×ｍ画素群のそれぞれ異なる一つに接続されており、各深度算出部は、当該ｍ×ｍ画素群に含まれる４つの画素に接続されており、前記１つの特定画素は、前記４つの深度算出部に接続されており、前記４つの深度算出部の各々は、前記１つの特定の画素から同じ応答信号を受信し、前記４つの深度算出部は、当該画素が属する前記画素アレイに含まれる前記互いに異なる画素群から、前記ＩＲ画素アレイの前記互いに異なる画素アレイ位置の複数の深度値を算出することができる、コンピュータシステム。
【請求項１１】
前記４つの深度算出部は、論理回路から構成される、請求項１０に記載のコンピュータシステム。
【請求項１２】
前記４つの深度算出部は、専用の論理回路から構成される、請求項１１に記載のコンピュータシステム。
【請求項１３】
前記４つの深度算出部は、前記複数の深度値を同時に算出するように構成される、請求項１１に記載のコンピュータシステム。
【請求項１４】
前記画像信号プロセッサは、プログラムコードを実行するプロセッサとして実装され、前記４つの深度算出部は、機械読み取り可能な記憶媒体に格納されたプログラムコードシーケンスとして実装される、請求項１０〜１３のいずれかに記載のコンピュータシステム。
【請求項１５】
前記４つの深度算出部は、前記複数の深度値を同時に算出するように設計される、請求項１０〜１４のいずれかに記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
発明の分野は、全体的には、画像処理に関し、より具体的には、飛行時間型画素アレイの解像度を上げるための方法および装置に関する。
【背景技術】
【０００２】
背景
既存のコンピュータシステムの多くは、１つ以上の従来の画像撮影カメラを内蔵型周辺機器として備える。現在の傾向は、深度キャプチャをその撮像構成要素に統合することによってコンピュータシステムの撮像能力を高めることである。深度キャプチャは、たとえば、（安全にシステムのロックを解除するためなどの）顔認識または（タッチレス・ユーザインターフェース機能のためなどの）手のジェスチャ認識など、さまざまな知的なオブジェクト認識機能を行うために利用することができる。
【０００３】
「ｔｉｍｅ−ｏｆ−ｆｌｉｇｈｔ（飛行時間型）」イメージングと称される深度情報キャプチャ手法では、システムからオブジェクトに対して光を照射し、光の照射とセンサに反射した画像を受信する間の時間をイメージセンサの複数の画素から測定する。飛行時間型画素によって作り出される画像は、複数の異なる（ｘ，ｙ）画素位置における固有の深度測定値（ｚ）に特徴があるオブジェクトの３次元形状に相当する。
【発明の概要】
【課題を解決するための手段】
【０００４】
概要
画像信号プロセッサを有する装置について説明する。画像信号プロセッサは、互いに異なる画素アレイ位置のそれぞれの飛行時間型深度値を算出するための複数の深度算出部を有する。複数の深度算出部の各々は、画素アレイの同じ画素から応答信号を受信し、複数の深度算出部は、当該画素が属する画素アレイの画素の互いに異なる群からのそれぞれの応答信号から、画素アレイの異なる位置の複数の深度値を算出することができる。群の各々は、それぞれの深度値を算出するのに十分な互いに異なる受信クロック位相を有する画素を含む。別の装置についても説明する。当該装置では、各々が同じ画素を含む互いに異なる画素群から複数の深度値が同様に算出されるが、１つの深度算出部が複数の深度値の各々を算出する。
【０００５】
画素アレイに含まれる受信クロック位相を有する画素を使用して飛行時間型応答信号を生成する手段を有する装置について説明する。装置は、画素アレイに含まれる互いに異なる画素群から生成された飛行時間型応答信号の互いに異なる集合から、互いに異なる深度値を算出する手段も含み、ここで、当該画素は、各々の群に属し、各々の集合は、飛行時間型深度算出を行うのに十分な受信クロック位相を使用して生成される。
【０００６】
以下の説明および添付の図面を使用して、本発明の実施形態を説明する。
【図面の簡単な説明】
【０００７】
【図１】飛行時間型システムを示す図である。
【図２】向上した画像解像度に適した飛行時間型画素アレイを示す図である。
【図３】図２の改良された手法を実装する画素アレイおよび画像信号プロセッサの実施形態を示す図である。
【図４】向上した画像解像度に適した、別の飛行時間型画素アレイを示す図である。
【図５】向上した画像解像度に適した、別の飛行時間型画素アレイを示す図である。
【図６】粒度が高い飛行時間型画像を撮影する方法を示す図である。
【図７】コンピュータシステムを示す図である。
【発明を実施するための形態】
【０００８】
詳細な説明
図１は、飛行時間型システムの動作を表現した図である。図１の手法では、イメージセンサが一部になっているカメラから不可視（たとえば、赤外線（ＩＲ））光が照射される。光は、カメラの前のオブジェクトの表面を反射してＩＲ画素アレイの画素に衝突する。各画素は、各々がアクティブ（つまり、アレイ内のすべての画素が同時にアクティブである必要はない）である期間中に、受光したＩＲ光に応答して信号を生成する。画素群からの対応するこれらの信号からなる群が処理されて、各画素群と画素群に対応するオブジェクトの一部との間の距離が判定され、結果、オブジェクトの全体的な３Ｄ画像が得られる。
【０００９】
図１に見られる波形の集合は、画素アレイ位置１０１の深度値を判定するための信号を生成する４つの画素からなる群に与えられる、実施形態に係るクロック信号に対応する（なお、波形はアナログ波形（たとえば、正弦波）であってもよく、図１に示すようなデジタル波形に限られない）。具体的には、直角位相のクロック信号Ｉ＋、Ｑ＋、Ｉ−、Ｑ−の集合が、Ｉ＋画素、Ｑ＋画素、Ｉ−画素、およびＱ−画素に対してそれぞれ印加される。当該技術において既知であるように、Ｉ＋信号は、通常、０度の位相を有し、Ｑ＋信号は、通常、９０度の位相オフセットを有し、Ｉ−信号は、通常、１８０度の位相オフセットを有し、Ｑ−信号は、通常、２７０度の位相オフセットを有する。４つの画素は、それぞれのクロック信号の固有のパルス位置に応じて入射ＩＲ光から電荷を集め、これに応答して４つのそれぞれの信号を生成する。クロックサイクルごとに少量の電荷しか集められないため、通常、４つの画素からなる群を露光する時間は、複数のクロックサイクルＴを使い尽くしてしまう。そのため、十分に強い出力信号を用意する前に各画素が十分な量の電荷を生成するためには、複数のクロックサイクルが必要である。したがって、画素の「読み出し」は、各読み出しの間にいくつかのクロックサイクルを挿入して周期的に行われてもよい。
【００１０】
どの特定の読み出しに関しても、４つの画素からなる群によって生成された４つの応答信号が処理されて、位置１０１からカメラの前のオブジェクトまでの距離が判定される。次に、次の読み出し周期について当該処理が繰り返されて、同じ位置１０１についての次の距離値が判定される。なお、このように、位置１０１について、読み出し周期ごと（この場合も、複数のクロックサイクルＴを使い尽くす可能性がある）に、４つの画素からなる群から１つのＺ画素値を生成することができる。
【００１１】
問題は、作り出された画像の粒度または解像度である。ここでは、わずか１つの深度値を生成するために、４つの画素を使い尽くす大きな表面積が必要である。これは、画素アレイの物理的な画素の実際の解像度と比べると、画像の解像度が１／４に減少することに相当する。
【００１２】
図２は、生成されたＩＲ画像と画素アレイ内の実際の物理的な画素との間の解像度が１：１である、改良された手法に関する図である。図１の手法では４つの画素ごとにわずか１つの深度値しか生成できないのとは対照的に、図２の手法では、４つの画素ごとに４つの深度値を生成することができる。
【００１３】
図２の手法は、ＩＲ画素アレイの各画素が、４つのクロック信号のすべてを各々が含んでいる４つの異なる画素群に属する画素として見られるように、互いに異なる受信クロック位相を特定のパターンで画素アレイの端から端まで割り当てることに基づいている。各画素を４つの異なる群に関連付けることができ、各群はそれ自体のそれぞれの深度値を生成することができるため、画像の解像度は（４つの画素に対して１つの深度値ではなく）、１つの画素に対して１つの深度値である場合にほぼ等しくなる。
【００１４】
図２は、ＩＲ画素アレイを示し、異なる受信クロック位相の各々には、番号１、２、３、または４が付されている。図２からわかるように、受信クロック位相は、２つの行の端から端までのＩＲ画素に、規則的なパターン１２１２１２…、３４３４３４…で分布されている。
【００１５】
なお、画素２０１に注目すると、画素２０１は、４つの画素からなる４つの異なる画素群２０２、２０３、２０４、２０５に属する画素として見ることができる。画素群２０２に関して、画素２０１は、群の右下隅を占める。画素群２０３に関して、画素２０１は、群の左下隅を占める。画素群２０４に関して、画素２０１は、群の左上隅を占める。画素群２０５に関して、画素２０１は、群の右上隅を占める。
【００１６】
重要なことには、クロック位相が前述の規則的なパターンであるために、４つの群２０２、２０３、２０４、２０５の各々は、その構成要素である画素内に４つの位相１、２、３、および４のすべてを含んでいる。つまり、これらのいずれの群の各画素も、同じ群内のその他の画素のいずれとも位相が異なる受信クロックを有する。このように、各群２０２、２０３、２０４、２０５は、それ自体の対応する深度値を生成することができる。具体的には、画素群２０２は、アレイ位置２０６に対応する深度値を生成することができ、画素群２０３は、アレイ位置２０７に対応する深度値を生成することができ、画素群２０４は、アレイ位置２０８に対応する深度値を生成することができ、画素群２０５は、アレイ位置２０９に対応する深度値を生成することができる。
【００１７】
そのため、画素２０１の隅ごとに深度値を生成することができる。位相が異なる受信クロック信号が異なる画素に送られる規則的なパターンが繰り返されることによって、４つの画素が隣接する画素（つまり、ＩＲ画素アレイの最も外側の画素を除くすべての画素）のすべての隅の深度値を生成することができる。このように、物理的な画素自体の解像度とほぼ同じの解像度で深度値を生成することができる。そのため、図２の手法は、図１の手法による解像度と比べてほぼ４倍の解像度で深度画像を生成することができる。
【００１８】
重要なことには、生成された深度値の各々は、特定のアレイ位置について行われた真の深度算出値に相当する。つまり、生成された深度値は、その他のアレイ位置について算出されたその他の深度値の線形和またはその他の補間処理を一切含まない。この意味では、解像度の向上は、補間された場合よりも真である。重要なことには、さまざまな実施形態において、深度算出自体は非線形な式である。たとえば、それは、２対の画素／位相の間で集められた電荷における違いの割合である。図１の手法を用いて画素間の値を単に補間または均分して解像度を上げることは、図２の手法のように解像度が向上した互いに異なる位置において当該割合を実際に算出することと数学的に同じではない。
【００１９】
図３は、図２の改良された手法を使用するために、画像信号プロセッサ（ＩＳＰ）３０２をどのように設計できるかについて示す図である。図３に見られるように、ＩＳＰは、特定の画素からの応答信号を、４つの異なる深度算出部３０３＿１〜３０３＿４に送る。深度算出部は、画素によって生成された、位相が異なる４つの応答信号から１つの深度値を算出する。特定の深度算出部に送られる特定の複数の入力信号は、１つの特定の深度値が算出される４つの画素からなる群の１つに対応する。
【００２０】
たとえば、図２と図３の両方を参照すると、深度算出部３０３＿１は、群２０２に関連する入力信号を受信し、深度算出部３０３＿２は、群２０３に関連する入力信号を受信し、深度算出部３０３＿３は、群２０４に関連する入力信号を受信し、深度算出部３０３＿４は、群２０５に関連する入力信号を受信する。重要なことには、深度算出部３０３＿１〜３０３＿４は、各々、並列あるいは同時に動作してもよい。このように、４つの画素値を同時に生成することができる。
【００２１】
ＩＳＰ３０２は、プログラム可能なまたは配線により組み込まれた論理回路を使って実装されてもよい。フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）やプログラマブル・ロジック・デバイス（ＰＬＤ）が前者の例であり、専用の論理回路が後者の例である。ここで、各深度算出部は、このような論理回路の個別のインスタンスとして実装されてもよい。
【００２２】
図３では、並列構成での深度算出部３０３＿１〜３０３＿４の配置以外の、４つすべての画素値の同時生成を示す具体的な回路について一切示されていない。おそらく、４つすべての深度算出部は、各々が一致して同期的に動作するように同じ読み出しクロック信号につなげることができるだろう。ここで、たとえば、読み出しクロックサイクルごとに、４つの出力深度値が生成される。
【００２３】
論理回路の代わりに、ソフトウェアまたはファームウェアとして、または何らかの種類のプロセッサもしくは処理コア上で走るその他の形式のプログラムコードとしてＩＳＰ３０２を実装してもよい。ここで、たとえば、深度算出部は、各々、深度算出命令シーケンスの別々のインスタンスとして見られてもよい。深度算出命令シーケンスでは、４つすべての画素値をほぼ並行して生成するために、基礎となる処理コアを各命令シーケンスが同時に実行する。たとえば、ＩＳＰがマルチスレッドプロセッサとして実装された場合、各深度算出部は、プロセッサが同時に実行する深度算出命令の別々のスレッドとして実装される。
【００２４】
また、ＩＳＰ３０２は、ハードウェア論理回路とソフトウェアとの何らかの組み合わせとして実装されてもよい。とにかく、深度算出部がデジタル値を操作するのであれば、Ａ／Ｄコンバータが画素とその対応する深度算出部との間に存在して、画素によって生成される応答信号をデジタル化してもよい。さらに別の実装形態において、深度算出部はアナログ回路として実装されてもよいと考えられるが、このような場合、Ａ／Ｄ変換回路は存在しないであろう。
【００２５】
上記説明では、互いに異なる深度値を同時に算出できることを強調したが、実際には、厳密にそうである必要はない。たとえば、デジタル化されてバッファメモリおよび／またはレジスタに格納された互いに異なる集合の応答信号を１つの深度算出部が受信することもできる。この場合、応答信号の集合が当該深度算出部に送られて順次操作される。
【００２６】
互いに異なる画素値が同一の深度算出部に多重送信される際の粒度は、実施形態によって異なってもよい。たとえば、同じ画素群の互いに異なる画素値が別々に格納され、同一の深度算出部に送られてもよく、および／または互いに異なる画素群のそれぞれの画素値が別々に格納され、同一の深度算出部に送られてもよい。このような手法は、たとえば、すべての画素アレイ行を同時に読み出ししない画素アレイ（たとえば、ローリングシャッター手法が利用される場合）に特に適しているだろう。
【００２７】
画素アレイ３０１およびＩＳＰ３０２の実施形態は、別々の半導体ダイの上に画素アレイ３０１およびＩＳＰ３０２を実装してもよく、または同じ半導体ダイの上に画素アレイ３０１およびＩＳＰ３０２を集積してもよい。後者の実施形態において、ＩＳＰ３０２（またはその一部）は、画素アレイ３０１と同じ表面積に物理的に集積されてもよい。たとえば、深度値計算部回路のインスタンスのアレイ（またはそれらの一部）が物理的に画素に囲まれて集積されてもよい（たとえば、深度値計算部は、深度値が求められる４つの画素の近く、内部、これらの４つの画素に囲まれるなどして物理的に配置されてもよい）。
【００２８】
図４は、図２および図３のパターンと比べて改良された、受信クロック位相の割当てパターンを示す。改良された位相割当てパターンは、エッジ効果またはエッジ歪を容易にフィルタ処理して取り除くために備えられた画素アレイから全体信号を提供する。
【００２９】
ここで、画素アレイが、段の集合など、急なエッジを有する面に面していると想定する。ライン４０１は、２つの隣接する階段踊り場の間の段に対応する。群４０２（および、図４に見られる群４０２下の各群）は、「上部」またはカメラにより近い踊り場に対応し、群４０４（および、図４に見られる群４０４下の各群）は、「下部」またはカメラからより離れた踊り場に対応する。
【００３０】
これらの群のすべては、関連付けられた画素のすべてが特定の踊り場の同一面に揃って並んでいるため、健全または訂正のない深度算出に相当していることが望ましい。群４０２および群４０２下の群は、上段の踊り場に揃って並んでいるため、カメラにより近く、群４０４および群４０４下の群よりも小さな深度値を生成する。
【００３１】
群４０３および群４０３下の群は、２つの階段踊り場の間のエッジが通り抜けているため、誤った表示値を生成する。いくつかの画素が上側の踊り場に揃って並んでいるのに対して、その他の画素は下側の踊り場に揃って並んでいる。したがって、群４０３および群４０３下の群は、群４０２または群４０４と関連付けられた値のいずれとも大幅に異なる深度値、誤った深度値を作り出す。
【００３２】
群４０３と群４０２および４０４との深度値のとても大きな違いは、群４０３および関連付けられた下位の群に関係のあるすべての表示値をフィルタ処理して取り除くのに十分であろうと考えられる。しかしながら、大幅に異なる値が誤りに相当するのかどうか、またはオブジェクトの実際の構造が見られているのかどうかを、アレイからの信号を処理するＩＳＰまたはその他の処理コンポーネントが知るすべはない。
【００３３】
図４に見られるように、図４の改良されたパターンでは、画素アレイの端から端までの一連の行インスタンスを行インスタンスごとに互い違いにする。具体的には、位相１および２を有する一つの行がパターン１２１２１２…で表されるのとは対照的に、同じクロック位相を有する次の行が続いてパターン２１２１２１…で表される。
【００３４】
行インスタンスごとにパターンを互い違いにすることによって、ライン４０１に沿った群から作り出された画素値が、ライン４０１に沿って規則的に変動するため、フィルタ処理して取り除くことができる「ノイズ」がより特定し易くなる。ライン４０１が通らないその他の群のすべては依然として４つすべての位相を含んでいるため、行パターンを互い違いにすることがこれらの群にとって不利益になることはない。
【００３５】
図５は、４位相の飛行時間型システムに加えて、その他の飛行時間型システムに対しても本明細書における教示が適用できることを示す図である。ここで、図５は、９つの互いに異なる受信クロック位相を用いる飛行時間型システム用の画素アレイに適用される位相パターンを示す。画素５０１に注目すると、画素５０１が属すると考えることができる９つすべての位相を含む、９つの画素からなる互いに異なる９つの群があることに気がつく。これらの群から、画素５０１およびその周囲の画素すべてについての１つの固有の深度値を算出することができる。このように、図５の手法は、各画素の位置の深度値を生成することができる。
【００３６】
図６は、本明細書に記載の飛行時間型システムによって実行される方法を示す図である。図６に見られるように、方法は、受信クロック位相を有する画素アレイの画素を使用して飛行時間型応答信号を生成するステップ６０１を含む。また、方法は、画素アレイの互いに異なる画素群から生成された飛行時間型応答信号の互いに異なる集合から、互いに異なる深度値を算出するステップ６０２も含み、ここで、当該画素は、群の各々に属し、集合の各々は、飛行時間型深度算出を行うのに十分な受信クロック位相を使用して生成される。
【００３７】
なお、上記の説明は、画素アレイの下位部分を説明することに集中していたが、上述の技術は、たとえば、画素アレイ全体に対して適用することができ、飛行時間型カメラの前のオブジェクトの３次元画像を生成できることを理解されたい。画像を使用して、たとえば、顔または手のジェスチャを特定してもよい。これに加えて、上記実施形態では、画素が属する群ごとに複数の深度算出を行うために、同じ画素信号を再利用することを強調していたが、同じ信号を再利用するのではなく、複数の深度算出用に同じ画素から複数の信号を生成するその他の実施形態も存在し得ると考えられる。
【００３８】
図７は、パーソナルコンピュータシステム（たとえば、デスクトップまたはラップトップ）などの例示的なコンピュータシステム７００、またはタブレットデバイスもしくはスマートフォンなどのモバイルもしくはハンドヘルドコンピュータシステムを表現した図である。図７に見られるように、基本的なコンピュータシステムは、アプリケーションプロセッサまたはマルチコアプロセッサ７５０上に配置されたＣＰＵ（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）７０１（たとえば、複数の汎用処理コアを含んでもよい）およびメインメモリコントローラ７１７と、システムメモリ７０２と、ディスプレイ７０３（たとえば、タッチスクリーン、フラットパネル）と、ローカル有線ポイントツーポイントリンク（たとえば、ＵＳＢ）インターフェース７０４と、さまざまなネットワークＩ／Ｏ機能部７０５（イーサネット（登録商標）インターフェースおよび／またはセルラーモデムサブシステムなど）と、無線ローカルエリアネットワーク（たとえば、ＷｉＦｉ（登録商標））インターフェース７０６と、無線ポイントツーポイントリンク（たとえば、Ｂｌｕｅｔｏｏｔｈ（登録商標））インターフェース７０７およびＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）インターフェース７０８と、さまざまなセンサ７０９＿１〜７０９＿Ｎと、１つ以上のカメラ７１０と、バッテリ７１１と、電源管理制御部７１２と、スピーカおよびマイクロホン７１３と、オーディオコーダ／デコーダ７１４とを備えることができる。
【００３９】
アプリケーションプロセッサまたはマルチコアプロセッサ７５０は、１つ以上の汎用処理コア７１５を内部に含んだＣＰＵ７０１と、１つ以上のＧＰＵ（ｇｒａｐｈｉｃａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）７１６と、メインメモリコントローラ７１７と、Ｉ／Ｏ制御機能部７１８と、１つ以上の画像信号処理プロセッサ７１９とを備えてもよい。汎用処理コア７１５は、通常、コンピュータシステムのオペレーティングシステムおよびアプリケーションソフトウェアを実行する。ＧＰＵ７１６は、通常、グラフィックスを多く使う機能を実行して、たとえば、ディスプレイ７０３上に提示されるグラフィックス情報を生成する。メモリ制御機能部７１７は、システムメモリ７０２とインターフェースで接続する。画像信号処理プロセッサ７１９は、カメラから画像情報を受信し、ダウンストリームで使用するためのＲＡＷ画像情報を処理する。電源管理制御部７１２は、通常、システム７００の消費電力を制御する。
【００４０】
タッチスクリーンディスプレイ７０３、通信インターフェース７０４〜７０７、ＧＰＳインターフェース７０８、センサ７０９、カメラ７１０、およびスピーカ／マイクロホンコーデック７１３、７１４の各々は、すべて、内蔵型周辺機器（たとえば、１つ以上のカメラ７１０）も適宜備えたコンピュータシステム全体に対するさまざまな形態のＩ／Ｏ（入力および／または出力）として見ることができる。実装形態によっては、これらのＩ／ＯコンポーネントのうちのさまざまなＩ／Ｏコンポーネントがアプリケーションプロセッサ／マルチコアプロセッサ７５０上に集積されてもよく、ダイからずれて配置、またはアプリケーションプロセッサ／マルチコアプロセッサ７５０のパッケージの外に配置されてもよい。
【００４１】
実施形態において、１つ以上のカメラ７１０は、オブジェクトを照射するための光源と、飛行時間型深度測定システムを実装するための複数のクロック位相を受信する画素アレイとを有する。画像信号プロセッサ（複数の画像信号プロセッサ）７１９は、１つの画素からの同じ応答信号を１つより多い深度算出部に流すように設計され、撮影画像の解像度を上述の教示に合わせて向上させてもよい。ある実施形態において、光源はＩＲ光源であり、画素アレイに含まれる画素はＩＲ光に対して感応性を有する。
【００４２】
アプリケーションプロセッサまたはその他のプロセッサの汎用ＣＰＵコア（または、プログラムコードを実行するための命令実行パイプラインを有するその他の機能ブロック）上で実行中のアプリケーションソフトウェア、オペレーティングシステムソフトウェア、デバイスドライバソフトウェア、および／またはファームウェアが、カメラ系にコマンドを指示したりカメラ系から画像データを受信したりしてもよい。
【００４３】
本発明の実施形態は、上述したさまざまな処理を含んでもよい。処理は、機械によって実行可能な命令に含まれてもよい。命令を用いて、汎用プロセッサまたは特定用途向けプロセッサに特定の処理を実行させることができる。代替的に、これらの処理は、処理を実行するための配線により組み込まれたロジックを含んだ専用のハードウェア部品によって実行されてもよく、プログラムを組み込まれたコンピュータ構成要素およびカスタムハードウェア部品の任意の組み合わせによって実行されてもよい。
【００４４】
また、本発明の構成要素は、機械によって実行可能な命令を格納するための機械読み取り可能な媒体として提供されてもよい。機械読み取り可能な媒体は、フロッピー（登録商標）ディスク、光ディスク、ＣＤ−ＲＯＭ、および光磁気ディスク、ＦＬＡＳＨメモリ、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カードまたは光カード、電子命令を格納するのに適した伝播媒体またはその他の種類の媒体／機械読み取り可能な媒体などがあり得るが、これらに限定されない。たとえば、本発明は、搬送波またはその他の伝播媒体に含んだデータ信号として、通信リンク（たとえば、モデムまたはネットワーク接続）を介して遠隔のコンピュータ（たとえば、サーバ）から要求側コンピュータ（たとえば、クライアント）に転送できるコンピュータプログラムとしてダウンロードされてもよい。
【００４５】
上記の明細書において、具体的、例示的な実施形態を用いて本発明を説明したが、特許請求の範囲に記載の本発明のより広義の趣旨および範囲から逸脱することなく、さまざまな変形、変更を行ってもよいことは明らかであろう。したがって、明細書および図面は、厳密ではなく、例示的であるとみなす。
【図１】
0006716603.tif 000002
【図２】
0006716603.tif 000003
【図３】
0006716603.tif 000004
【図４】
0006716603.tif 000005
【図５】
0006716603.tif 000006
【図６】
0006716603.tif 000007
【図７】
0006716603.tif 000008