(58)【調査した分野】(Int.Cl.,DB名)
少なくとも1つのセンサと処理回路とを含み、前記処理回路が視覚出力を生成するべく取り込まれたライトフィールド画像データを処理するように構成された、ライトフィールド画像取り込み装置において、取り込まれたライトフィールド画像データのサイズを減らす方法であって、
前記少なくとも1つのセンサで、マイクロレンズアレイの出力を表すライトフィールド画像データを取り込むことと、
前記少なくとも1つのセンサの読出しモードを決定することと、
前記取り込まれたライトフィールド画像データのデータサイズを減らすために、前記決定された読出しモードに従って、かつ前記少なくとも1つのセンサ上のピクセルのライトフィールド座標に基づき空間的に変化するように、前記取り込まれたライトフィールド画像データを前処理することと、ここで、前記前処理は前記ライトフィールド座標の関数として変化するように行われるものであり、
前記取り込まれ前処理されたライトフィールド画像データを前記処理回路に送ることと、
を含む、方法。
前記取り込まれたライトフィールド画像データの前処理が、前記取り込まれたライトフィールド画像データに、サブサンプリング、ビンニング、及び再サンプリングからなる群から選択された少なくとも1つを行うことを含む、請求項1に記載の方法。
前記取り込まれたライトフィールド画像データの前処理が、前記取り込まれたライトフィールド画像データにサブサンプリング、ビンニング、及び再サンプリングからなる群から選択された少なくとも1つを行う前に、前記取り込まれたライトフィールド画像データをフィルタリングすることを含む、請求項2に記載の方法。
前記決定された読出しモードに従って前記取り込まれたライトフィールド画像データを前処理することが、ピクセル毎に構成された読出しモードに従って前記取り込まれたライトフィールド画像データを処理することを含む、請求項1に記載の方法。
前記取り込まれたライトフィールド画像データの前処理が、前記少なくとも1つのセンサ上の少なくとも1つのピクセルのライトフィールド座標に基づいて、可変のビット深度及び可変のピクセル最大値のうちの少なくとも1つを用いることを含む、請求項1に記載の方法。
前記取り込まれたライトフィールド画像データの前処理が、前記ライトフィールド画像データにライトフィールドアウェア処理を行うことを含む、請求項1に記載の方法。
前記少なくとも1つのセンサが、電荷結合素子(CCD)イメージセンサを含み、指定された読出しモードに従う前記取り込まれたライトフィールド画像データの前処理が、前記電荷結合素子(CCD)イメージセンサを用いて前記指定された読出しモードを実施することを含む、請求項1に記載の方法。
前記電荷結合素子(CCD)イメージセンサを用いて前記指定された読出しモードを実施することが、飛越し走査方式の電荷結合素子(CCD)イメージセンサを用いて解像度低減読出しモードを実施することを含む、請求項12に記載の方法。
ライトフィールド画像取り込み装置で用いられるコンピュータプログラムであって、前記ライトフィールド画像取り込み装置は少なくとも1つのセンサと処理回路とを含み、前記処理回路は視覚出力を生成するべく取り込まれたライトフィールド画像データを処理するように構成され、前記コンピュータプログラムは取り込まれたライトフィールド画像データのサイズを減らす方法を実行するものであり、前記コンピュータプログラムが、プロセッサで実行されるときに、前記ライトフィールド画像取り込み装置に、
前記少なくとも1つのセンサで、マイクロレンズアレイの出力を表すライトフィールド画像データを取り込ませ、
前記少なくとも1つのセンサの読出しモードを決定させ、
前記取り込まれたライトフィールド画像データのデータサイズを減らすために、前記決定された読出しモードに従って、かつ前記少なくとも1つのセンサ上のピクセルのライトフィールド座標に基づき空間的に変化するように、前記取り込まれたライトフィールド画像データを前処理させ、ここで、前記前処理は前記ライトフィールド座標の関数として変化するように行われるものであり、
前記取り込まれ前処理されたライトフィールド画像データを前記処理回路に送らせる、
ように構成された、コンピュータプログラム。
【発明を実施するための形態】
【0013】
本明細書で提供される説明の目的上、以下の定義が用いられる。
・取り込み:スチール取り込み又はビデオ取り込みのいずれか又は両方を指すことができる。
・画像:それぞれ色を指定するピクセル値又はピクセルの二次元アレイ。
・ライトフィールド画像:センサで取り込まれるライトフィールド画像データの表現を含む画像。
・マイクロレンズ:通常同様のマイクロレンズのアレイにある、小さなレンズ。
・カラーフィルタアレイ(color filter array:CFA):カラー情報を取り込むためにイメージセンサのピクセルセンサの上に位置するモザイクのカラーフィルタ。
【0014】
光学系は、本明細書では、センサ(CCD又はCMOSセンサなど)、マイクロレンズアレイ、主レンズ、及び/又はレンズアレイを含むあらゆる適切なライトフィールド取り込み装置の光路のいずれかの又はすべての構成部品を包含するように定義される。
【0015】
ライトフィールド取り込み装置は、本明細書では、ライトフィールド画像データを取り込む、随意的にライトフィールド画像データを処理する、随意的にユーザ入力を受け取る及びユーザ入力で動作する、及び随意的に画像及び/又は他のタイプのデータを表示するか又は他の方法で出力することができるあらゆる装置として定義される。ライトフィールド取り込み装置の例は、ライトフィールドスチールカメラ及びビデオカメラを含む(しかしこれらに限定されない)。
【0016】
加えて、名前付けを簡単にするために、「カメラ」という用語は、本明細書では、画像取り込み装置又は他の画像データ収集装置を指すのに用いられる。こうしたデータ収集装置は、二次元画像データ、三次元画像データ、及び/又はライトフィールド画像データを含むがこれらに限定されないシーンを表すデータを収集、記録、測定、推定、決定、及び/又は計算するためのあらゆる装置又はシステムとすることができる。こうしたデータ収集装置は、当該技術分野では周知の技術を用いてシーンを表すデータを収集するための光学系、センサ、及び画像処理電子装置を含むことがある。多くのタイプのデータ収集装置を本発明と組み合わせて用いることができることと、本発明がカメラに限定されないことを当業者は認識するであろう。したがって、本明細書での「カメラ」という用語の使用は、例証及び例示となることを意図しているが、本発明の範囲を限定すると考えられるべきではない。具体的には、本明細書でのこうした用語のどの使用も、画像データを収集するのに適するあらゆる装置を指すと考えられるべきである。
【0017】
以下の説明では、ライトフィールド取り込み及び操作の改善に向けて光学系を最適化するいくつかの技術及び方法が説明される。これらの種々の技術及び方法を、単独に及び/又は互いとのあらゆる適切な組み合わせで行うことができることを当業者は認識するであろう。
【0018】
[アーキテクチャ]
少なくとも1つの実施形態において、本明細書に記載のシステム及び方法は、Ng他のLight field photography with a hand−held plenoptic capture device、Technical Report CSTR 2005−02、Stanford Computer Scienceで説明されるものを含むがこれに限定されないライトフィールド取り込み装置によって取り込まれるライトフィールド画像との関連で実装することができる。ここで
図1Aを参照すると、一実施形態に係るライトフィールドカメラ100において本発明を実装するためのアーキテクチャを描画するブロック図が示されている。ライトフィールドカメラ100の例は、ライトフィールドスチールカメラ及びビデオカメラを含む(しかしこれらに限定されない)。
図1Aに示された特定の構成は単なる例示であり、ライトフィールドカメラ100に関する他のアーキテクチャが可能であることを当業者は認識するであろう。
図1Aの構成に示された構成部品のうちのいくつかは随意的なものであり、省略又は再構成されてもよいことを当業者はさらに認識するであろう。
【0019】
図示のように、ライトフィールドカメラ100はライトフィールド取り込み装置109の一例であり、名前付けを簡単にするために用語は交換可能に用いられるが、あらゆる適切なライトフィールド取り込み装置109をカメラ100の代わりに用いることができる。ライトフィールド取り込み装置109は、光学系101、マイクロレンズアレイ102、及びイメージセンサ103(ピクセルを取り込むための複数の個々のセンサを含む)を含む。光学系101は、例えば、選択可能な量の光がライトフィールドカメラ100に入ることを可能にする開口112と、マイクロレンズアレイ102の方に光を合焦するための主レンズ113とを含んでもよい。少なくとも1つの実施形態において、マイクロレンズアレイ102は、センサ103を介するライトフィールド画像データの収集、取り込み、サンプリング、記録、及び/又は取得を容易にするようにカメラ100の光路に(主レンズ113とセンサ103との間に)配置され及び/又は組み込まれてもよい。すこし
図1Bを参照すると、一実施形態に係る本発明を実装するためのライトフィールドカメラ100のアーキテクチャの例が示されている。図面は縮尺通りに描かれていない。
図1Bは、被写体117に関するライトフィールド画像データを取り込むように構成部品が相互作用するものとして、開口112と、主レンズ113と、マイクロレンズアレイ102と、センサ103との関係性を概念的形態で示す。
【0020】
再び
図1Aを参照すると、センサ103からのライトフィールド画像データを、処理回路104で処理し、出力装置116上に出力として提示することができる。少なくとも1つの実施形態において、出力装置116で提示される出力は、処理回路104によって生成される場合のライトフィールド画像データの2D画像又は投影とすることができる。
【0021】
少なくとも1つの実施形態において、ライトフィールドカメラ100はまた、ライトフィールド画像データの収集、サンプリング、記録、及び/又は取得を容易にするための制御回路110を含んでもよい。例えば、制御回路110は、ライトフィールド画像データの収集タイミング、収集速度、サンプリング、取り込み、記録、及び/又は取得を(自動的に又はユーザ入力に応答して)管理及び/又は制御してもよい。
【0022】
少なくとも1つの実施形態において、取り込まれたライトフィールド画像データは処理回路104に提供される。処理回路104は、ライトフィールド取り込み装置109に配置又は一体化されてもよく(
図1Aに示すように)、又はライトフィールド取り込み装置109の外部の別個の構成部品にあってもよい。こうした別個の構成部品は、ライトフィールド画像取り込み装置109に対してローカルであっても又はリモートであってもよい。ライトフィールド画像データを回路104に伝送するためにあらゆる適切な有線又は無線プロトコルを用いることができ、例えば、装置109は、インターネット、セルラデータネットワーク、WiFiネットワーク、BlueTooth(登録商標)通信プロトコル、及び/又はあらゆる他の適切な手段を介してライトフィールド画像データ及び/又は他のデータを伝送することができる。
【0023】
一般に、処理回路104は、例えば、静止画像、2Dビデオストリームなどのあらゆる出力を生成するために、ライトフィールドセンサ103から受信したライトフィールド画像データに対して動作する。種々の実施形態では、処理回路104は、(限定はされないが)以下で及び関連する相互参照出願で説明される方法を含む、ライトフィールド画像データから静止画像、2D画像などを生成するのに適するあらゆる方法を用いることができる。
【0024】
少なくとも1つの実施形態において、ライトフィールドカメラ100はまた、カメラ100の画像データを取り込む、収集する、記憶する、及び/又は処理する動作を制御するためのユーザ入力をユーザが提供できるようにする、ユーザインターフェース105を含んでもよい。少なくとも1つの実施形態において、好み選択画面でユーザによって指定される場合の又はデフォルトに基づいて提供される場合のユーザの好みも用いられてもよい。ユーザ入力は、タッチスクリーン、ボタン、キーボード、ポインティングデバイス、及び/又はこれらに類似のものなどのあらゆる適切なユーザ入力装置111を介してユーザインターフェース105に提供することができる。したがって、入力装置111で受信した入力は、処理回路104及び制御回路110のいずれかを制御及び/又は構成するのに用いることができる。
【0025】
少なくとも1つの実施形態において、カメラ100は、ライトフィールドセンサからの(潜在的に処理回路104によって処理される)画像データ出力を記憶するためのメモリなどの1つ以上の記憶装置114を含む。メモリは、外部メモリ及び/又は内部メモリを含むことができる。少なくとも1つの実施形態において、メモリは、カメラ100とは別個の装置及び/又は場所に設けることができる。
【0026】
例えば、カメラ100は、生ライトフィールド画像データを、センサ103による出力及び/又は圧縮された画像データファイルなどのその表現として記憶してもよい。加えて、2010年2月10日に出願された「Light field Camera Image, File and Configuration Data, and Method of Using, Storing and Communicating Same」と題する関連する米国実用特許出願(Utility Application)整理番号12/703,367号(代理人整理番号LYT3003)で説明されるように、メモリはまた、装置109の特徴、パラメータ、及び/又は構成(総称して「構成データ」)を表すデータを記憶することができる。
【0027】
[概要]
ライトフィールド画像は、しばしば、カメラ100の開口112の複数の投影(円形又は他の形状の場合がある)を含み、各投影は、カメラ100の焦点面上の異なる有利な点からとられる。ライトフィールド画像は、センサ103上に取り込まれてもよい。主レンズ113とセンサ103との間にマイクロレンズアレイ102が介在することで、センサ103上に開口112の像が形成され、アレイ102の各マイクロレンズがセンサ103上に主レンズ開口112の小さい像を投影する。これらの開口形状の投影が本明細書ではディスクと呼ばれるが、それらは円形の形状である必要はない。
【0028】
ライトフィールド画像は、カメラ100(又は他の取り込み装置)の焦点面上に当たる光線を記述する4次元の情報を含む。2つの空間次元(本明細書ではx及びyと呼ばれる)がディスク自体によって表される。例えば、幅400及び高さ300のカルテシアンパターンに配列される120,000個のディスクを有するライトフィールド画像の空間分解能は400×300である。2つの角度次元(本明細書ではu及びvと呼ばれる)が個々のディスク内のピクセルとして表される。例えば、10×10カルテシアンパターンとして配列される各ディスク内に100ピクセルを有するライトフィールド画像の角度分解能は10×10である。このライトフィールド画像は、(400,300,10,10)の4D(x,y,u,v)分解能を有する。ここで
図2を参照すると、ディスク201及び個々のピクセル203の描写を含むこうしたライトフィールド画像200の2ディスク×2ディスク部分の例が示されており、例証する目的で各ディスク201は10個のピクセル203にわたる。
【0029】
したがって、ライトフィールド取り込み装置109のセンサ103上に形成された画像は、4Dライトフィールド画像データの組をエンコードする「ディスク画像」と呼ばれる小さい画像の組を含む(しかしそれらは円形の形状である必要はない)。センサ103上の各ピクセル203は、特定の4Dライトフィールド座標に対応するものとして解釈されてもよく、この場合、2つの次元がセンサ上のその空間位置を指定し、2つの次元が該ピクセル203に入射する光の角度又は方向情報を指定する。2D方向情報が、メンバーのディスク画像内のピクセル203の2D位置によってエンコードされる。
【0030】
ライトフィールドカメラ内のライトフィールドにおける多くの光線が単一のピクセル203の照射に寄与する。ここで
図3Aを参照すると、代表光線202A、202Dを含む光線202がアレイ102のマイクロレンズ201Bを透過してセンサ103のセンサピクセル203A、203Bに照射される例が示されている。
【0031】
図3Aの例では、実線の光線202A、202B、202Cはセンサピクセル203Aに照射され、一方、点線の光線202D、202E、202Fはセンサピクセル203Bに照射される。各センサピクセル203での値は、これに照射されるすべての光線202の放射照度の和によって求められる。例証及び説明する目的で、しかしながら、これは各センサピクセル203で単一の幾何学的光線202を識別するのに有用な場合がある。該光線202は、該センサピクセル203に照射されるすべての光線202の代表となるように選ばれてもよく、したがって本明細書では代表光線202と呼ばれる。こうした代表光線202は、特定のマイクロレンズ201の中央を通り、且つ特定のセンサピクセル203の中央に照射される光線として選ばれてもよい。
図3Aの例では、光線202A及び202Dが代表光線として描かれ、両光線202A、202Dはマイクロレンズ201Bの中央を通り、この場合、光線202Aは、センサピクセル203Aに照射されるすべての光線202を表し、光線202Dは、センサピクセル203Bに照射されるすべての光線202を表す。
【0032】
センサピクセル203とそれらの代表光線202との間には1対1の関係性が存在することがある。この関係性は、マイクロレンズアレイ102に対する主レンズ開口112の(見かけの)サイズ及び位置を、開口112の像がセンサ103上に投影される際に重ならないように構成することによって実現され得る。ここで
図3Bを参照すると、主レンズ開口112の像がセンサ103上に投影される際に重ならないようにマイクロレンズアレイ102が位置決めされる、カメラ100などのライトフィールド取り込み装置の構成の例が示されている。
図3Bに描画された光線202は、それらがすべてマイクロレンズ201のうちの1つの中央を通ってライトフィールドセンサ803のピクセル203の中央に進むので代表光線202である。
【0033】
少なくとも1つの実施形態において、4Dライトフィールド表現を、投影及び再構築のプロセスを経て2D画像に落とすことができる。ここで
図4を参照すると、こうしたプロセスの例が示されている。仮想投影面401が導入されてもよく、各代表光線202と投影面401との交点が計算される。投影面401は、平面であっても又は非平面であってもよい。平面である場合、これはマイクロレンズアレイ102及びセンサ103に平行であっても又は平行でなくてもよい。一般に、投影面401は、マイクロレンズアレイ102及びセンサ103に対してあらゆる任意の場所に位置決めされてもよい。各代表光線202の色は、その対応するピクセル203の色と等しいと解釈されてもよい。少なくとも1つの実施形態において、センサ103のピクセル203は、Bayerパターンなどの規則的パターンに配列され且つフルカラーピクセルに変換されるフィルタを含んでもよい。こうした変換は、投影された光線202を差異なく再構築できるように投影前に行うことができる。代替的に、各色チャネルに関して別個の再構築を行うことができる。
【0034】
投影面401上の画像ピクセル402の色は、該画像ピクセル402のドメイン内の投影面401と交わる代表光線202の色を合計することによって計算されてもよい。ドメインは、画像ピクセル402の境界内にあってもよく、又は画像ピクセル402の境界を越えて延びてもよい。合計は、異なる代表光線202が合計に異なる割合だけ寄与するように重みづけされてもよい。光線の重みは、例えば、特定のピクセル402の中央に対する、光線202と投影面401とが交わる場所の関数として割り当てられてもよい。例えば、バイリニア重みづけアルゴリズム、バイキュービック重みづけアルゴリズム、及び/又はガウス重みづけアルゴリズムを含む、あらゆる適切な重みづけアルゴリズムを用いることができる。
【0035】
再合焦された2D画像への投影中に、代表光線202は、マイクロレンズアレイ102に平行な仮想投影面401と交わるが、そこから変位される。仮想投影面401がマイクロレンズアレイ102の前方にある(シーンにより近い)場合、再構築された2D画像は、ライトフィールドカメラ100の最良焦点シーン面の前方の仮想投影面401で合焦される(ライトフィールドカメラ100からより遠い)。同様に、仮想投影面401がマイクロレンズアレイ102の後方にある(シーンからより遠い)場合、再構築された2D画像は、ライトフィールドカメラ100の最良焦点シーン面の後方の仮想投影面401で合焦される。そのシーン深度が仮想投影面401の結像深度に対応するシーンの中のオブジェクトは本質的に正確に合焦され、シーンの中の他のオブジェクトは、該シーン深度からのそれらの変位に伴い増加するブラーを有する状態で投影される。
【0036】
深度マップは、それぞれシーンの中の可視点に対応する結像側の点(主レンズ113の結像側の点)の組である。シーンの中の点は、そこから放出された光が直接又は高度な鏡面から反射することによって主レンズ113の前方の節点に届く場合に見ることができる。対応関係は、シーン点から放出された光が、対応する結像側の点で主レンズ113によってベストフォーカスされるということである。
【0037】
深度マップにおける結像側の点の位置はデカルト座標で指定されてもよく、この場合、x及びyは、ライトフィールドセンサ103上に投影される際の位置を示し(主レンズ113の光軸に沿ってシーンの方に見たときにxは右に正であり、yは上に正である)、深度dは、マイクロレンズアレイ102の表面からの垂直距離(シーンに近づく方に正、シーンから離れる方に負)。x及びyの単位は、ピクセル203、すなわちセンサ103のピクセルピッチであってもよい。dの単位はλであってもよく、この場合、1λの距離は、あらゆるシーン点からの光錐の直径がマイクロレンズアレイ102のピッチに等しい値だけそれに沿って変化する距離に対応する(マイクロレンズアレイ102のピッチは、隣接するマイクロレンズ201の中央間の平均距離である)。
【0038】
したがって、主レンズ113に直接見えるシーン側の点に関して、光学焦点面上のシーン深度での点は、(マイクロレンズ)表面での結像深度に対応する。最良焦点面よりもライトフィールドカメラ100から遠いシーン深度での点は、最良焦点面よりも主レンズ113により近接した結像深度の点に対応する。したがって、最良焦点面よりもライトフィールドカメラ100から遠いシーン深度での点は、正の深度値を有する。最良焦点面よりもカメラ100により近いシーン深度での点は、最良焦点面よりも主レンズ113から遠い結像深度の点に対応する。したがって、最良焦点面よりもカメラ100により近いシーン深度での点は、負の深度値を有する。
【0039】
本発明の種々の実施形態によれば、取り込まれたライトフィールド画像データを改善するためにライトフィールド取り込み装置109の光学系を最適化するようにあらゆる数の修正を行うことができる。こうした修正の例が本明細書で説明される。これらの修正を単独に又はあらゆる適切な組み合わせで適用できることを当業者は認識するであろう。
【0040】
[センサ読出しの修正]
少なくとも1つの実施形態によれば、デジタルイメージセンサ、例えば、ライトフィールドセンサ103のセンサ読出し機能が修正される。センサ読出しの修正は、センサの読出しモードがライトフィールド画像データの取り込みに合わせられるようにライトフィールド画像データを取り込むために、マイクロレンズアレイ、例えばマイクロレンズアレイ102と併せて用いることができる。読出しモードは、結果的にライトフィールド画像データの劣化があまり生じないように最適化される。多くの異なる読出しの修正が本明細書に列挙されるが、この列挙は例示的なものである。これらの修正のいずれか又はすべては、単独に又はあらゆる適切な組み合わせで適用することができる。
【0041】
ここで
図5を参照すると、一実施形態に係るライトフィールド取り込み装置109の別の例示的なアーキテクチャが示されている。
図5に描画するように、ライトフィールドセンサ103は、バッファ部502及び前処理部503を含む。前処理部503は、フィルタ504及びデータ削減部506をさらに含む。一般に、ライトフィールドセンサ103は、(例えば、
図1A〜
図4と組み合わせて説明されるように)マイクロレンズアレイ102の出力からライトフィールド画像データ501を取り込むことができる。ライトフィールド画像データ501のうちのいくつか又はすべては、バッファ部502にバッファする及び/又は前処理部503に送ることができる。
【0042】
前処理部503は、どのような感知できるほどの劣化もなしに、取り込まれたライトフィールド画像データのデータサイズを減らすために、読出しモード507に従ってライトフィールド画像データ501を処理することができる。前処理部503は、前処理されたライトフィールド画像データを、例えば2D画像を生成するために、さらなるプロセッサに関する処理回路104に出力することができる。
【0043】
少なくとも1つの実施形態において、フィルタ504は、ライトフィールド画像データ501のサイズを減らすためにライトフィールド画像データ501をフィルタする。フィルタされたライトフィールド画像データは、バッファ部502に格納することができる。データ削減部506は、ライトフィールド画像データ501にアクセスすることができる、及び/又はバッファ部502からのフィルタされたライトフィールド画像データにアクセスすることができる。データ削減部506は、ライトフィールド画像データのサイズを減らすために1つ以上の機構を実装することができる。いくつかの実施形態では、データ削減部506は、ライトフィールドデータのサイズを減らすために、ピクセル203のスキップ、ピクセル203のビンニング、ピクセル203のサブサンプリング、ピクセル203の再サンプリング、ピクセル毎の動作、ピクセル毎の値、ビットマスク、ビットマスクタイル、重み画像タイル、ビット深度の修正、ピクセル最大、ルックアップテーブル、マルチパス読出し、ライトフィールドアウェア処理、及び飛越し走査方式のセンサ、のうちの1つ又は複数を用いる。
【0044】
ここで
図6を参照すると、取り込まれたライトフィールド画像データのサイズを減らす方法を描画する流れ図が示されている。
図6の方法は、
図5の構成部品及びデータに関して説明される。
【0045】
少なくとも1つの実施形態において、1つ以上のライトフィールドセンサ103が、マイクロレンズアレイ102の出力からライトフィールド画像データ501を取り込む601。取り込まれたライトフィールド画像データのデータサイズを減らすために、1つ以上のライトフィールドセンサ103で取り込まれたライトフィールド画像データ501が、指定された読出しモードに従って前処理される602。例えば、前処理部503は、ライトフィールド画像データ501のサイズを減らすために読出しモード507に従ってライトフィールド画像データ501を処理することができる。取り込まれ前処理されたライトフィールド画像データが、次いで、処理回路104に送られる603。
【0046】
[センサ画像データの事前フィルタリング]
少なくとも1つの実施形態において、画像データ501は、センサ103から読み出される前にフィルタされる。サブサンプリング、ビンニング、又は再サンプリング後読出しモードが用いられるとき、フィルタリングは、サブサンプリング、ビンニング、又は再サンプリングの前に行うことができる。例えば、1つの読出しモードは列のスキップを含むことがあり、このスキップを行う前にセンサデータに水平フィルタが適用されてもよい。
【0047】
一般に、フィルタリングは、水平、垂直、又は二次元とすることができる。二次元フィルタは分離可能であっても又は分離可能でなくてもよい。フィルタリングは、提供されるマスクを伴う画像データの直接的な畳み込みとして実装されてもよい。少なくとも1つの実施形態において、フィルタリングは、同色のピクセル203群に適用されてもよい。例えば、少なくとも1つの実施形態において、異なるピクセル203が異なる色を表すイメージセンサ(例えば、Bayerセンサなどのカラーフィルタアレイ(CFA)を用いるセンサ)に同色フィルタリングを用いることができる。代替的に、こうした画像のフィルタリングは、例えばデモザイク処理アルゴリズム内で複数の色からのピクセル203を考慮するために実施されてもよい。
【0048】
フィルタリングは、ピクセル203のアレイから行が読み出される際に該行をバッファするのにセンサ自体の少量のメモリを用いて実施することができ、こうした行のバッファリングは、公知の技術に従って行うことができる。フィルタリング動作は、これらのバッファされた行に適用されてもよく、垂直フィルタ又は二次元フィルタの場合、バッファされる行の数は、垂直次元でのフィルタのタップの数と少なくとも同じくらいの大きさである必要がある場合がある。
【0049】
データがローカルバッファ(バッファ部502など)においてフィルタされると、データがセンサ103から最終的に出力される前に、(限定はされないが)サブサンプリング、ビンニング、又は再サンプリングを含む後続の動作が適用されてもよい。
【0050】
こうしたセンサ機能の1つの利点は、例えばセンサ画像がサブサンプリングされ、オンカメラライブビュー動作用にLCD画面に合うようにスケーリングされるときに、(場合によっては高度に)変調されたライトフィールド画像データを、サブサンプリング前に事前フィルタすることである。十分に大きい事前フィルタリング動作なしに、高度に変調されたライトフィールド画像データをサブサンプリングし、次いでダウンスケーリングすることは、結果的に、エイリアジングパターンに起因して最終的な画像に魅力のないアーチファクトを生じることがある。
【0051】
フィルタリングは、空間的に変化してもよく、又はライトフィールド画像全体にわたって一様であってもよい。空間的に変化するフィルタの場合、変化は、フィルタされているピクセル203のライトフィールド座標の関数であってもよく、こうした手法は、ライトフィールド画像の高度に変調された領域に、より大きいフィルタリング(したがってより大量のピクセル集約)を適用するのに用いることができる。
【0052】
[ピクセルのライトフィールド座標に基づくスキップ]
少なくとも1つの実施形態において、センサ読出しモードは、行又は列の1つおきのスキップなどの或る(センサ−表面)一様な手法及び/又はライトフィールド忘却型手法を用いてピクセル203をスキップするのではなく、ピクセル203をそれらのライトフィールド座標に基づいてスキップすることができる。
【0053】
上述したように、マイクロレンズアレイ102をセンサ103よりも上におくことによって取り込まれたライトフィールド画像は、多数のディスク201からなることができる。ディスク201の中央により近いピクセル203は、より良好に照射される傾向があり、ディスク201の境界により近いピクセル203よりも高い信号対ノイズ比(SNR)を有する。このようなライトフィールド画像では、4D座標空間の2つの方向次元がディスク201内のピクセル203の位置を指し、ディスク201の中央により近接したピクセル203だけがセンサ103から確実に読み出されるようにするために、これらの方向次元の関数としてスキップされるべきピクセル203の選択が行われてもよい。
【0054】
例えば、
図7に描画するように、各ディスク画像201の直径が約10個のセンサピクセル203であるようなライトフィールドセンサ103及びマイクロレンズアレイ102の構成を考えると、ピクセル203の8×8中央矩形731を該矩形731がディスク201内にほぼ十分に収まるように各ディスク201に関して画定することができる。センサ103は、該センサ103からデータが読み出される前に8×8矩形731を連続したブロックに詰め込むのに用いられ得るピクセルデータの行をバッファするために或る量のローカルメモリを組み込んでもよい。
【0055】
センサピクセル203がカラーフィルタアレイ(CFA)の下にあることに起因して単色である少なくとも1つの実施形態において、中央矩形731は、それらが詰め込まれた後で結果として得られる画像が結果として得られる画像のスパンにわたるCFAパターンの合法的な例であるように一緒に詰め込むように選択可能である。(R,GR,GB,B)Bayerセンサの場合、矩形731は、(例えば)同色のピクセル(例えば、R)が各8×8ブロックの左上にあるように選択可能である。
【0056】
スキップするピクセル203の場所及び/又は一緒に詰め込むピクセル領域は、多くの可能な方法のいずれかで指定されてもよい。1つの例は、各ディスク201の中央のセンサ座標を提供することである。このデータはまた、この目的専用の小さいローカルメモリ(図示せず)におけるセンサに格納されてもよい。
【0057】
[ピクセル毎の読出し動作]
種々の実施形態では、本発明のシステム及び方法は、十分に構成可能な、ピクセル毎に指定又は構成されてもよい、センサ読出しパターンを提供する。
【0058】
少なくとも1つの実施形態において、すべてのピクセル203に関して該ピクセル203がスキップされるか否かを指定するビットマスクが提供されてもよく、スキップされないピクセル203は、センサ103から出力されるデータに一緒に詰め込まれてもよい。こうしたビットマスクは、センサ103のローカルメモリにプログラムされてもよく、又はセンサ103がアクセスできるDRAM又は他のメモリに提供されてもよい。さらに、読出しパターンの迅速な切換えを可能にするために複数のビットマスクがセンサにプログラムされてもよい。
【0059】
別の実施形態では、1つ以上のビットマスクタイルが提供されてもよく、これらのタイルは、どのピクセル203がスキップされるかを指定するために異なるセンサ領域にわたって繰返し用いられてもよい。
【0060】
さらなる実施形態では、読み出されるか又はスキップされるピクセル203を指定するビットマスクではなく、重み画像又は1つ以上の重み画像タイルが提供されてもよい。前述のビットマスク手法と同様に、読出しパターンはピクセル毎に指定されてもよい。しかしながら、こうした手法では、ピクセル203がスキップされるかどうかを指定する各ピクセルの対応するビットマスクBoolean入力ではなく、ピクセル毎の重み係数(すなわち、倍数因子)が指定されてもよく、この場合、こうした重みは読み出されるピクセル値と乗算される。さらに、こうしたピクセル毎の重みづけ動作と併せて、読出し中にピクセル203のあらゆる他のスキップ、ビンニング、再サンプリング、又は集約が行われてもよい。
【0061】
別の実施形態では、ピクセル毎の重みづけデータを提供することに加えて又はその代わりに、ピクセル毎のオフセット値が提供されてもよく、この場合、読出しピクセル値は、次式に従って計算され、計算されたピクセル値は、以下のように合法的なピクセル値範囲にクランプされる。
【0062】
PixelValue’=CLAMP(PerPixelOffset+PerPixelWeight
*PixelValue,0,MAX)
(ピクセル値’=CLAMP(ピクセル毎のオフセット+ピクセル毎の重みづけ
*ピクセル値,0,最大))
【0063】
スキップのピクセル毎の指定によって可能となる1つの(多くの)可能な読出しパターン(のうちの1つ)は、ランダム又は擬似ランダムパターン、例えば、スキップされるピクセル203がランダムに現れる場所の組を有する繰返しタイルパターンである。
【0064】
少なくとも1つの実施形態において、本明細書に記載の算術演算は、標準固定小数点演算を用いて実施されてもよい。
【0065】
[読出しビット深度の修正]
少なくとも1つの実施形態において、ライトフィールド処理アルゴリズム内で行われる大量のピクセル集約を活用するために、デジタルイメージセンサ103の読出しビット深度を修正することができる。各生ピクセル203をエンコードするのに適切な数のビットを使用し、生線形値からエンコードされた値へのマッピング関数を定義することによって、所与の数のピクセル/秒を達成するためのセンサからの読出しデータ転送速度(バイト/秒で測定される)を低減させることができる。ピクセル203のライトフィールド座標及び/又はセンサ103上のライトフィールドディスクパターンを利用するのにあらゆる適切なエンコーディングを用いることができる。
【0066】
1つの例示的なエンコーディングは、可変の数のビット毎ピクセルで生データを出力し、この場合、センサ露光中に「より良好に」又は「より多く」光を取り込むピクセル203は、より高いビット深度でエンコードされるそれらの対応する値を有することができる。マイクロレンズアレイ102の下のセンサ103上に取り込まれるライトフィールド画像に関して(例えば前述のアーキテクチャに従って)、結果として得られるディスク画像は、ディスク201の中央により近づくにつれてより多くの光が取り込まれたピクセル203を有し、したがって、ディスク縁部のピクセルに対して、ディスク中央部のピクセルをエンコードするのにより多くのビットが用いられ得る。
【0067】
別の例示的なエンコーディングは、ピクセル値がクランプされるピクセル固有の最大値を使用してもよい。例えば、多くの場合、ライトフィールド画像の中のディスク201の中央部に近いピクセルは、過飽和の場合を除いて、ディスク201の縁部に近いピクセルよりもかなり明るい。ディスク縁部ピクセルは、ディスク中央部ピクセルが保持できる値よりも小さい最大値にクランプされ得る。
【0068】
さらなる実施形態は、ビット深度が可変の方法とピクセル最大が可変の方法との組合せを使用してもよい。こうした読出しパターンの例は、ディスク中央部ピクセル203に関して値を[0,4095]の範囲内でエンコードするのに12ビット毎ピクセル(bpp)を使用してもよく、ディスク縁部ピクセル203に関して値を[0,1023]の範囲内でエンコードするのに6bppを使用してもよい(この場合、1024個のピクセル値の範囲内で64個の可能なエンコードされた値が等間隔にされる)。
【0069】
別の例示的な実施形態では、センサ値をエンコードされた値にマッピングするのに1つ以上のルックアップテーブルを用いることができ、ルックアップテーブルはユーザによってプログラムされてもよく、どのルックアップテーブルをどの所与のピクセル203に適用するかの選択は、そのライトフィールド座標に従って、例えばそのディスク201の中央に対するその位置に従って決定される。異なるルックアップテーブル、さらにはルックアップテーブル内の異なるエントリは、様々なビット長であっても又は様々なビット長でなくてもよく、センサから読み出される一連のピクセル203は、一緒に詰め込まれるどのような可変サイズのピクセル値も有することができる。
【0070】
事前フィルタリングの実施形態と同様に、少なくとも1つの実施形態において、こうしたピクセルビット深度の修正は、センサのインターフェースで読み出される前にピクセル203の少数のバッファされた行に対して動作する論理によって実施されてもよい。
【0071】
[プログレッシブマルチパス読出し]
少なくとも1つの実施形態において、センサ画像データは、複数のパスで読み出すことができ、各パスは、センサ103にわたって間隔をおいて配置され且つ他のパスによって読み出される行と交互に配置される行の組を読み出す。こうした読出し方法は、データのその後の処理によってオブジェクトの動きからのカメラの動きの解放(disentanglement)及びHDRイメージングなどの特徴を可能にする。
【0072】
多くのパス及び各パスによって読み出される対応する行の組は、配線接続されてもよく、又はそれらはプログラム可能であってもよい。
【0073】
[読出し中にライトフィールドアウェア処理を行うこと]
少なくとも1つの実施形態において、センサ103から読み出されるデータが何らかの方法で処理されるように、イメージセンサ103上でライトフィールドアウェア処理を行うことができる。ライトフィールドアウェア処理動作の例は、以下を含む(しかしこれらに限定されない)。
・ライトフィールド画像データを「ディスクのアレイ」フォーマットから「サブ開口画像のアレイ」フォーマットに置き換えること。
・例えば、再合焦することによって、全焦点又は拡張被写界深度(EDOF)画像をもたらすことによって、若しくは視差を有する又は遠近感を変えた画像をもたらすことによって、4Dデータを2D画像に変換すること。
【0074】
[異なるフレームにわたる異なる読出しパターン]
少なくとも1つの実施形態において、異なるフレームに関して、特にビデオに関して異なる読出しパターンを提供することができる。一般に、本明細書に記載の読出しモードの実施形態のいずれも異なるフレームにわたって変えてもよい。
【0075】
[CCDセンサ上のライトフィールド画像の読出し]
少なくとも1つの実施形態において、本明細書に記載の画像読出しモードの少なくともいくつかは、イメージセンサ103が製作されるときにマイクロレンズアレイの幾何学的形状の一部又はすべてが既知であるか又は決定される場合に、電荷結合素子(CCD)イメージセンサ103を用いて実施することができる。CMOSイメージセンサとは異なり、CCDは、一般に、個々にアドレス指定可能なピクセル203を有さず、読出しを電荷移動に依拠する。これは、ピクセルの読出しの局所的順序及びパターンが半導体デバイス自体の設計において固定されるため、こうしたイメージセンサ103上で任意の読出しモードを実施することに関する課題を呈する。
【0076】
ピクセル203を、特定のマイクロレンズアレイの幾何学的形状に依存するか又はマイクロレンズイメージングに大変都合のよい特定の順序又は様態で読み出す、フル解像度又は解像度低減読出しモードを実施する1つの方法は、インターライン、フレーム−インターライン伝達、又は飛越し走査方式のあらゆる他のタイプのCCDイメージセンサ103を用いることである。イメージセンサ103は、本明細書に記載の読出しモード(単数又は複数)の実施を可能にするために、ライトフィールドマイクロレンズアレイ102の幾何学的形状に従って配列されたピクセル毎のマイクロレンズ、フォトダイオード、伝達ゲート、垂直電荷結合素子(VCCD)、及び/又は他の慣例的なイメージセンサ部品と共に構築される。他の点では、イメージセンサ103は、CCDイメージセンサに適するどのような様態で構築されてもよい。
【0077】
ここで
図8を参照すると、一実施形態に係るライトフィールドディスク画像間の縁部に近い又は縁部上のピクセル203をスキップする読出しモードに関するフォトダイオード701の例示的な配列が示されている。
図8は、六角形のライトフィールドマイクロレンズアレイパターン703を有する8フィールドインターレース読出しイメージングセンサに関するフォトダイオード701及びVCCD702の論理的配列を描画する。伝達ゲート(又は金属層のあらゆる他の部品)、開口、カラーフィルタアレイ、及びピクセル毎のマイクロレンズは、明快にするために省略されている。図面は縮尺通りに描かれていない。この例では、フィールド1、2、3、及び4の読み出しは、マイクロレンズアレイ画像の中央のピクセル203だけをカバーする半解像度モードを与える。
【0078】
[イメージセンサのカラーフィルタアレイパターンの変化]
少なくとも1つの実施形態において、イメージセンサの上のマイクロレンズアレイ、例えば、センサ103の上のマイクロレンズアレイ102を考えると、ライトフィールドから取り込まれるカラー情報の品質を改善するために、イメージセンサ103に適用されるカラーフィルタアレイ(CFA)パターンを修正することができる。各ピクセル203に対して選ばれた色は、そのライトフィールド座標の関数であっても(又は関数でなくても)よい。
【0079】
ここで
図9を参照すると、一実施形態に係るライトフィールド取り込み装置109の別の例示的なアーキテクチャが示されている。
図9に描画するように、ライトフィールドセンサ103は、ディスクパターン901(例えば、センサ103上に形成される取り込まれたライトフィールド画像データにおけるディスク102の配列を指定する)、カラーフィルタアレイ(CFA)グリッドレイアウト902、及びCFAモディファイア903を含む。本発明の技術によれば、CFAモディファイア903は、ディスクパターン901に基づいてCFAグリッドレイアウト902を修正することができる。
【0080】
ここで
図10を参照すると、一実施形態に係るライトフィールドから取り込まれるカラー情報の品質を改善するためにカラーフィルタアレイ(CFA)を修正する方法を描画する流れ図が示されている。例証する目的で、
図10の方法は、
図9の構成部品及びデータに関して説明される。
【0081】
少なくとも1つの実施形態において、CFAモディファイア903が、ディスクパターン901の構成にアクセスする1001。CFAモディファイア903は、次いで、マイクロレンズアレイ102の出力から取り込まれるカラー情報の品質を改善するためにカラーフィルタアレイ(CFA)をどのように修正するかを決定する1002。CFAモディファイア903は、次いで、その決定に従ってCFAグリッドレイアウト902を修正する1003。次いで、ライトフィールドセンサ103が、ディスクパターン901及び修正されたCFAグリッドレイアウト102に従ってマイクロレンズアレイ102の出力からライトフィールド画像データを取り込む1004。ライトフィールドセンサ103は、次いで、取り込まれたライトフィールド画像データを処理回路104に送る1005。
【0082】
種々の実施形態では、カラーフィルタアレイは、一部のピクセル203にカラーフィルタを適用しないこと、カラーフィルタ通過帯域を変化させること、及び/又はカラーフィルタアレイパターンのランダム化を含むがこれらに限定されない種々の方法で修正することができる。
【0083】
種々の実施形態では、CFAパターンの修正は、以下を含むがこれらに限定されない。
【0084】
[一部のピクセルにカラーフィルタを適用しないこと]
マイクロレンズアレイ102によって強く変調される光を受光するピクセル203は、同じ露光時間中にピクセル203によって取り込まれるフォトンの量を増加させるために、カラーフィルタを有さなくてもよい。後の処理段階で、カラーフィルタされていないピクセル203を、輝度信号(モノクロ画像)のソースとして用いることができ、それらのクロミナンス成分を近傍のピクセル203から補間することができる。
【0085】
[カラーフィルタ通過帯域を変化させること]
より少ない光を受光するピクセル203は、より広い通過帯域(減色)のカラーフィルタを有することができ、一方、より多くの光を受光するピクセル203は、より狭い通過帯域を有することができる。例えば、マイクロレンズ画像の縁部の方のピクセル203は、シアン/マゼンタ/イエローのカラーフィルタパターンを有することができ、一方、マイクロレンズ画像の中央部の方のピクセル203は、赤/緑/青のカラーフィルタパターンを有することができる。これは、縁部ピクセル203がそれらのカラーフィルタであまり信号を減弱させないようにし、光センサに到達するフォトンの数を増加させることができる。
【0086】
[カラーフィルタアレイパターンのランダム化]
カラーフィルタアレイパターンの規則性に起因して起こり得る問題を低減させるために、カラーフィルタアレイ配列をランダム化することができる。各ピクセル203の上のカラーフィルタのタイプを記録し、処理ソフトウェア/ハードウェアに知らせることができる。
【0087】
[イメージセンサのピクセル特性の変化]
イメージセンサ103の上に位置決めされるマイクロレンズアレイ102を考えると、センサ角度応答、並びにマイクロレンズアレイ102及び/又は主レンズ113の光学特徴に依存する種々の因子に起因して、各マイクロレンズ201の下のそれらの位置に基づいて、異なる量の光が異なるピクセル203によって取り込まれることがある。少なくとも1つの実施形態において、個々のピクセル特性を、これらの影響を補償するために及びより一様な(又は意図的に一様でない)サンプリングをもたらすために各ピクセル203のライトフィールド座標に基づいて調整することができる。
【0088】
ここで
図11を参照すると、一実施形態に係るライトフィールド取り込み装置109の別の例示的なアーキテクチャが示されている。
図11に描画するように、ライトフィールドセンサ103はピクセルモディファイア1106を含む。一般に、ピクセルモディファイア1106は、ピクセル203のライトフィールド座標にアクセスし、ピクセル203のライトフィールド座標に基づいてピクセル203の特性に、対応する修正を行うことができる。
【0089】
ここで
図12を参照すると、一実施形態に係るピクセル特性を修正する方法を描画する流れ図が示されている。
図12の方法は、
図11の構成部品及びデータに関して説明される。
【0090】
センサ103は、マイクロレンズアレイ102の出力から、各ピクセル203の特性を含むライトフィールド画像データを取り込む1201。次いで、ライトフィールド画像データに含まれる1つ以上のピクセル値のそれぞれに関して、ピクセルモディファイア1106が、ピクセル203の座標1130にアクセスし、ライトフィールド取り込み装置109の他の特徴に起因する一様でないサンプリングを補償するべくピクセル203の1つ以上の特性を調整することによってピクセル203を修正する1202。例えば、ピクセルモディファイア1106は、座標1103に基づいて特性1104を調整することによってピクセル203を修正することができる。修正された1つ以上のピクセル203を含む取り込まれたライトフィールド画像データが、次いで、処理回路104に送られる1203。
【0091】
調整可能なピクセル特性の例は、以下を含むがこれらに限定されない。
・各ピクセル203に固有の露光時間。
・ピクセル増幅器、列増幅器、行増幅器、及び/又はあらゆる他のアナログ又はデジタル増幅ステージで信号に印加されるあらゆる種類の利得。
・フォトダイオード、あらゆる増幅器、デジタル/アナログ変換器(DAC)、及び/又はあらゆる他の処理ステージで信号に印加されるあらゆる種類のバイアス及び/又はオフセット。
【0092】
これらの特性はピクセル毎に変えてもよく、及び/又はそれらはピクセル203のグループ毎に変えてもよい。例えば、少なくとも1つの実施形態において、一定の数のパラメータの異なる組が存在することができ、各ピクセル203は、これらのパラメータの組のうちの1つに従って構成することができる。
【0093】
これらの特性を調整する方法は、以下を含むがこれらに限定されない。
・半導体のあらゆる種類の製作後局所的トリミング。
・画像露光の前にデジタル信号又はアナログ信号として提供される、設定可能なピクセル毎の又はピクセル群毎の露光スケール又はオフセット、信号利得、信号バイアス、又は信号オフセットを(例えば、ハードウェアにおいて)実装すること。
・製造時間中に半導体ヒューズに記憶される設定可能なピクセル毎の又はピクセル群毎の露光スケール又はオフセット、信号利得、信号バイアス、又は信号オフセットを(例えば、ハードウェアにおいて)実装すること。
・画像読出し中にデジタル信号又はアナログ信号として同期的に提供されるピクセル毎の又はピクセル群毎の信号利得、信号バイアス、又は信号オフセットを(例えば、ハードウェアにおいて)実装すること。
【0094】
[ピクセル及び/又はマイクロレンズの移動/ジッタリング]
上述したように、少なくとも1つの実施形態において、センサ103上のピクセル203は、正方形パターンなどの規則的パターンに配列されてもよい。同様に、マイクロレンズアレイ102上のレンズ201もまた、正方形パターン又は六角形パターンなどの規則的パターンに配列されてもよい。しかしながら、これらの規則的パターンのいずれか又は両方を位置の小さいランダムな変動が導入されるように乱すことに利点が存在し得る。こうした位置のランダムな変動を本明細書では「ジッタ」と呼び、ジッタの導入を本明細書では「ジッタリング」と呼ぶ。サンプル位置のジッタリングがエイリアジングをノイズに変換することが、コンピュータグラフィックスの分野ではよく知られている。例えば、Cook, Robert L.、Stochastic Sampling in Computer Graphics、ACM Trans. Graph.5、1(1986)を参照されたい。マイクロレンズ201及びピクセル203の位置が、カメラ100に入るライトフィールドのサンプルパターンを本質的に決めるので、これらの利点はライトフィールドのサンプリングから生じることもある。関連する利点は、ライトフィールドの再投影におけるサンプルパターンの規則性も低減され得ることである。付加的な利点が同様に存在することがある。
【0095】
ここで
図13を参照すると、一実施形態に係るライトフィールド取り込み装置109の別の例示的なアーキテクチャが示されている。
図13に描画するように、ライトフィールド取り込み装置109はジッタモジュール1301を含む。ジッタモジュール1301は、マイクロレンズアレイ102及び/又はライトフィールドセンサ103にジッタを導入するように構成される。
【0096】
ここで
図14を参照すると、一実施形態に係る光学系構成部品にジッタを導入する方法を描画する流れ図が示されている。
図14の方法は、
図13の構成部品及びデータに関して説明される。
【0097】
少なくとも1つの実施形態において、開口112及び主レンズ113を通過した光1303が得られる。
図13に描画するように、光1302がカメラ100に入り、光1303が光学系101を出る。ジッタモジュール1301が、例えばマイクロレンズアレイ102におけるレンズ201の位置及び/又は1つ以上のライトフィールドセンサ103におけるピクセル203の位置を変化させることによって、ランダム変動を導入する1402。
【0098】
ランダム変動の導入に続いて、例えばマイクロレンズアレイ102及びライトフィールドセンサ103によって得られた光1303からライトフィールド画像データ1304が取り込まれる1403。取り込まれたライトフィールド画像データ1304が処理回路104に送られる1404。
【0099】
ジッタパターンはどのようなスケールでもランダムであり得る。1つの極端な例では、パターンは、或る範囲にわたって、すなわち、マイクロレンズアレイ102全体又はセンサ103全体にわたって延びてもよい。他の極端な例では、パターンは、マイクロレンズアレイ102又はセンサ103にわたって繰り返される小さいタイルであってもよい。これらの極端な例の間に、より大きいタイル及びより大きいタイルのランダムパターンが存在する。タイリングの動機は、サンプル位置を適正に解釈するのに必要なテーブルがより小さくてすむため、処理費用の削減である場合がある。ジッタ導入後サンプリングの利点の多くは、かなり小さいタイルで生じ得る。例えば、各ディスクにおける数十のピクセル203に関してピクセルジッタの同じパターンが実装されてもよい。
【0100】
少なくとも1つの実施形態において、センサ103上のピクセル203は、真にジッタ導入された位置を有することができる。代替的に、ピクセル203は、規則的なグリッド上に位置するが、各ピクセル位置におかれるレンズに調整を行うことによってジッタ導入されたように見せることができる(これらのレンズは、センサ103に当たる光を電子ピクセル構造体の感光部の方に案内することを意図される)。センサ103自体に変更を加えるのではなくセンサ103の表面上の光学系だけを調整することは、安上がりになり、より大きいタイリングで実施することができる。ピクセルジッタは、ピクセルサイズの変更と併せて行うことができ、これはまた、センサ103に直接、又はセンサ103の表面上の光学系に変更を加えることによって導入することができる。
【0101】
少なくとも1つの実施形態において、マイクロレンズ位置及び/又はピクセル位置のジッタリングは、2つのレンズが確実にディスクの直径よりも近接して配置されない状態で行われる。したがって、ディスクの重なりが回避され、そうしなければピクセル値が適正に解釈されなくなることがある。近接性の制約は、ランダムジッタリングで満たされてもよい。代替的に、マイクロレンズの位置に対する付加的な制約として近接性の制約を満たすことがより効率的な場合がある。例えば、アニーリングアルゴリズムは、ほぼランダムなジッタと最小距離制約との両方を同時に実施可能にし得る。特に、ジッタは、タイル全体にわたってランダムに導入することができ、最小距離制約が違反される場合、サンプルに再びジッタ導入することができ、このプロセスは、制約が満たされるまで繰り返すことができる。
【0102】
[整数ピッチディスク画像のための設計]
少なくとも1つの実施形態において、センサピクセル203の整数の垂直ピッチ及び/又は水平ピッチを有するディスク画像をもたらすようにマイクロレンズアレイ102及び主レンズ113設計並びに光学系101内の位置に修正を加えることができ、この場合、整数ピッチは、より安価な、より速い、及び/又はより高品質の処理手法を可能にするように選ばれる。こうした手法は、以下で説明されるものを含む(しかしこれらに限定されない)。
【0103】
センサ103上のディスク画像のピッチは、マイクロレンズアレイ102のピッチ、センサ103からのその分離、及び主レンズ113の射出瞳との距離によって支配される。これらのパラメータを適切に選ぶこと、且つまたマイクロレンズアレイ102がセンサ103に対して空間的に回転しないことを保証することは、水平方向及び垂直方向のいずれか又は両方のディスクピッチが整数であるライトフィールドディスク画像が取り込まれることを可能にする。
【0104】
ディスクピッチが整数値であることに加えて、適用可能な別の設計上の制約は、マイクロレンズアレイ102のマイクロレンズ201の各行がセンサピクセル203の行に平行であるようにセンサ103の上にマイクロレンズアレイ102が確実に適正に位置合わせされるようにすることである。これは、リソグラフィ製造手法に加えてウェーハ間(wafer−to−wafer)製造技術を用いることができる。
【0105】
例えば、
図1A、
図1B、
図2、及び
図7を再び参照すると、主レンズ113及びマイクロレンズアレイ102は、センサ103上のセンサピクセル203の整数の垂直ピッチ及び/又は水平ピッチを有するディスク画像201(又は中央矩形601)をもたらすように配列することができる。代替的に又は組み合わせて、マイクロレンズアレイ102とセンサ103との分離は、センサ103上のセンサピクセル203の整数の垂直ピッチ及び/又は水平ピッチを容易にするように選択することができる。代替的に又は組み合わせて、マイクロレンズアレイ102は、センサ103に対して確実に空間的に回転しないように構成することができる。代替的に又は組み合わせて、マイクロレンズアレイ102は、マイクロレンズアレイ102のマイクロレンズ201の各行がセンサ103のセンサピクセル203の行に平行であるようにセンサ103上で確実に適正に位置合わせされるように構成することができる。
【0106】
少なくとも1つの実施形態において、主レンズ113は可動主レンズである。主レンズ113は、主レンズ113が動く際に(例えば、ズームする際に)センサ103上のディスク画像ピッチが一定且つ整数のままであることを保証する設計とすることができる。例えば、主レンズ113は、すべての焦点距離に関して(センサ寸法に対して)ライトフィールドセンサ103のセンサ表面から十分なだけ遠くに射出瞳を有してもよい。
【0107】
[サブ開口画像のアレイへの置き換え]
少なくとも1つの実施形態において、光学系は、取り込まれたライトフィールドディスク画像201が正方格子上の整数ピッチディスクを有するように構成され、各ディスク画像201は、ソースピクセル203の正方形のN×N領域内に収まる。さらに、ライトフィールド画像データは、Ng他で説明されるように、その「ディスクのアレイ」表現からその等価な「サブ開口画像のアレイ」表現に置き換えられる。こうした置き換えは、以下の場所のいずれかにおいて又はあらゆる他の適切な位置で起こり得る。
・センサ103から読み出される生ライトフィールド画像データが既にその置き換えられたレイアウトであるように、センサ103自体上。
・カメラ処理フロー内のカメラシステム・オン・チップ(SoC)などの、センサ103に接続される処理要素上。
・ファイルに保存されているライトフィールド画像データ上。
【0108】
データの置き換えは、生ドメイン(すなわち、データをデモザイク処理する前)において又はフルカラーに変換された後のライトフィールド画像データに対して(例えば、RGBドメイン又はYUVドメインにおいて)なされてもよい。
【0109】
このレイアウトで表されるライトフィールド画像データは、はるかに少ない高周波数変調を有し得る。ライトフィールド画像データをこのレイアウトで構成する利点は、例えば以下を含むことがある。
・ライトフィールド画像データを2D画像であったかのように処理する、例えばデモザイク処理する(生ライトフィールド画像データの場合)、JPEGエンコーディングする、一連のこうしたフレームをビデオエンコーディングするなどの能力向上。これは、このフォーマットでエンコードされるライトフィールド画像データが単に2D画像の地図帳(atlas)のように見えるという事実に起因する。「ディスクのアレイ」として表されるとき、ライトフィールド画像データは、データに標準2D画像アルゴリズムが適用される場合にしばしばデータが劣化することになるディスクパターンに起因する高周波数変調パターンを含む。
・データのライトフィールド処理をより安価に、効率よく、又はより速く行う能力。
【0110】
カラーフィルタアレイ(CFA)(例えば、Bayerセンサ)と共にセンサを用いて取り込まれた生ライトフィールド画像データにこうした置き換えを行う場合、置き換え後のライトフィールド画像データは、データ範囲にわたってもはや一様なカラーパターンを含まないことがある。例えば、
図15に描画するように、2×2ディスク201を有し、各ディスク201が3×3ピクセル(N=3)である、ライトフィールド画像200を考えると、これは、各画像が2×2ピクセル203を有する、3×3サブ開口画像でのサブ開口画像グリッド1503Aに置き換えることができる可能性がある。
【0111】
別の実施形態では、
図16に描画するように、ライトフィールド画像データが置き換え後はBayerモザイクパターンなどの生CFAパターンの合法的な例であるように、CFAパターンをセンサ上で修正することができる。これをライトフィールド画像200に実施する1つの方法は、ディスク画像のディスクのカラーパターンが合法的なモザイクパターンである状態で各ディスク画像201を一様な色にするCFAを用いることである。これは、それぞれ2×2ピクセルの3×3サブ開口画像でのサブ開口画像グリッド1503Bに置き換えることができる。
【0112】
[特定の深度に高分解能で再合焦するための生置き換え]
少なくとも1つの実施形態において、生Bayerドメインにおける取り込まれたライトフィールド画像データの高速並べ替えを可能にする整数ディスクピッチを有する取り込まれたライトフィールド画像をもたらす光学系が実装され、したがって、結果として得られる並べ替えられたライトフィールド画像データを、特定の深度に合焦される2D画像として直接解釈し、標準2D画像処理アルゴリズムを用いて処理(デモザイク処理を含む)して、表示又は出力可能な最終画像をもたらすことができる。
【0113】
少なくとも1つの実施形態において、光学系は、以下のように特徴付けられることがある。
・正方形詰込み、整数N、及び適正な位置合わせを有するマイクロレンズアレイ(MLA)102。
・以下のように特定の焦点面(固定焦点カメラでの。この焦点面は無限遠の焦点面に近いことがある)を見ることを可能にするためのビデオ及び/又はライブビュー設定用の光学系。
・サブ開口画像の行にわたるピクセル203の数がマイクロレンズアレイ102の行にわたるマイクロレンズ201の数とほぼ同じであるという点で、サブ開口画像が「MLA解像度」で見られる、主レンズ113の仮想開口内の位置の組に対応するすべてのサブ開口画像の組を考える。
・仮想開口の周辺部の点に対応する最端のサブ開口画像がそれぞれL/2ピクセルだけシフトされるときに、特定の焦点面に合焦されるシーンオブジェクトが、Ng他で説明される「シフト及び追加(shift−and−add)」再合焦法によって生成される出力画像に合焦されるようにLを定義する。シフトの方向は、考慮中の特定の焦点面が、光学的に取り込まれる焦点面(Ng他参照)の「前」又は「後ろ」のいずれにあるかによって決定される。
・作動時に、カメラ100は、後述する方法に従ってパラメータLによって上記のように特徴付けられる焦点面に再合焦する。
・N及びLは、N/Lが整数であるように選択される。P=N/Lとする。
・センサは、N×Nピクセルごとに繰り返すP×Pピクセルの単一のブロックを読み出すことができる読出しモードを有する。
・マイクロレンズアレイ102は、各P×P読出しブロックがマイクロレンズアレイ102に対応するピクセル203のディスク201の中央の近くにあるように、センサ103と位置合わせされる。
【0114】
ここで
図17A〜
図17Dを参照すると、N×Nピクセル203ごとに繰り返すP×Pピクセル203の単一のブロックを読み出すことができる読出しモードを有する例示的なセンサ103が示されている。
図17Aは、焦点面1711、マイクロレンズアレイ102、及びセンサ103を有する光学系101Aを描画する。
図17Aでは、焦点面1711とマイクロレンズアレイ102との距離は、マイクロレンズアレイ102とセンサ103との距離の4倍(すなわち、L=4)である。
図17Bは、各ディスク201が8×8ピクセル(N=8)である2×2ディスク201を有するライトフィールド画像200Aを描画する。ライトフィールド画像200Aは、光学系101Aの構成部品によって生成することができる。
図17Cは、ライトフィールド画像200Aのサブサンプリングパターン1704Aを描画する。
図17Dは、サブサンプリングパターン1704Aを用いてとられるライトフィールド画像200Aのサブサンプリングされた部分1706A及びL=N/2の対応する置き換え1707Aを描画する。置き換え1707A投影内で、Bayerモザイクピクセル203は、デモザイク処理のためにX/Y近隣ピクセルとU/V近隣ピクセルとの両方に隣接する。
【0115】
ここで
図18A〜
図18Dを参照すると、N×Nピクセル203ごとに繰り返すP×Pピクセル203の単一のブロックを読み出すことができる読出しモードを有する別の例示的なセンサ103が示されている。
図18Aは、焦点面1711、マイクロレンズアレイ102、及びセンサ103を有する光学系101Bを描画する。
図18Aでは、焦点面1711とマイクロレンズアレイ102との距離は、マイクロレンズアレイ102とセンサ103との距離の3倍(すなわち、L=3)である。
図18Bは、各ディスク201が9×9ピクセル(N=9)である2×2ディスク201を有するライトフィールド画像200Bを描画する。ライトフィールド画像200Bは、光学系101Bの構成部品によって生成することができる。
図18Cは、ライトフィールド画像200Bのサブサンプリングパターン1704Bを描画する。
図18Dは、サブサンプリングパターン1704Bを用いてとられるライトフィールド画像200Bのサブサンプリングされた部分1706B及びL=N/3の対応する置き換え1707Bを描画する。置き換え1707B投影内で、Bayerモザイクピクセル203は、デモザイク処理のためにX/Y近隣ピクセルとU/V近隣ピクセルとの両方に隣接する。
【0116】
作動時に、カメラ100は、P×Pブロックから画像をサブサンプリングし、結果として得られる画像をアセンブルする。Lが正の場合(バックグラウンドにおいて)、各P×Pブロック内のピクセル203が中心点を中心として反転される(
図18D)。Lが負の場合、ピクセル203は所定位置のままである。
【0117】
少なくとも1つの実施形態において、結果として得られる画像は以下の特性を有する。
・パラメータLによって特徴付けられる焦点面に合焦される。
・結果として得られる画像は、センサ幅
*P/Nピクセル幅及びセンサ高さ
*P/Nピクセル高さである。4000×3000センサ(12MP)、N=10、及びL=5の場合、出力画像は800×600ピクセルである。
・結果として得られるBayer画像の各ピクセル203は、そのX/Y近隣ピクセルとU/V近隣ピクセルとの両方に隣接する。
・被写界深度は光学系のP倍であり、実際には若干拡張した被写界深度を有する画像をもたらす。
【0118】
この手法の1つの利点は、拡張被写界深度(EDOF)ビデオ及びライブビューを非常に効率的に作成できることである。Bayerモザイクでの投影は、X,Y,U,V空間での真の近隣ピクセルと共にデモザイク処理を可能にする。この方法はまた、結果として比較的高解像度の出力をもたらす。
【0119】
[整数ピッチ六角形マイクロレンズアレイレイアウト]
少なくとも1つの実施形態において、ライトフィールド光学系は、マイクロレンズ201が例えば六角格子などの非方形格子にレイアウトされる、マイクロレンズアレイ102を含み、この場合、格子は、各次元において整数ピッチを達成するために1つの次元において(例えば、垂直方向又は水平方向に)引き伸ばされてもよい。例えば、六角形レイアウトを有するマイクロレンズアレイ102では、マイクロレンズピッチは、結果的にN=10ピクセルのセンサ上の水平ディスクピッチをもたらすように選ばれてもよいが、この場合、垂直ディスクピッチは、N
*SQRT(3)/2=8.66ピクセルとなるであろう。マイクロレンズアレイレイアウトを垂直方向に4%引き伸ばすことで、結果的に9の垂直ピッチがもたらされる。
【0120】
[センサ103の利用可能な読出しモードに基づくセンサ103の上のマイクロレンズアレイ102の位置決め及び/又は配向]
少なくとも1つの実施形態において、センサ103の読出しモードに基づいてセンサ103の上のマイクロレンズアレイ102の位置及び配向を決定することができる。マイクロレンズアレイ102及びイメージセンサ103を考えると、イメージセンサ103の上のマイクロレンズアレイ102の最適な配向及び位置を決定することができる。少なくとも1つの実施形態において、この配向及び位置が、次いで、マイクロレンズアレイ102が所定位置に固定される前に製造プロセス中にマイクロレンズアレイ102に適用される。
【0121】
ここで
図19を参照すると、一実施形態に係るライトフィールド画像取り込み装置109に用いられるマイクロレンズアレイ102を決定及び構成する方法を描画する流れ図が示されている。この方法は、
図1A、
図1B、及び
図5の構成部品に関して説明される。
【0122】
最初に、マイクロレンズアレイ102の特徴を取得する1901。次いで、センサ103の読出しモードを含むセンサ103の特徴を取得する1902。マイクロレンズアレイ102の特徴及びイメージセンサ103の読出しモードを含むセンサ103の特徴に基づいてマイクロレンズアレイ102の最適な構成が決定される1903。ライトフィールド取り込み装置109の製造中にマイクロレンズアレイ102に適用するのに最適な構成が記憶装置に格納される1904。最適な構成は、例えば、カメラ100を製造するのに用いられる製造機器に格納することができる。
【0123】
少なくとも1つの実施形態において、システムは、イメージセンサ平面(Z軸)と直交する軸を中心としたマイクロレンズアレイ102の(潜在的にすべての)物理的回転と、イメージセンサ平面(XY軸)に平行な平面内のマイクロレンズアレイ102のすべての物理的平行移動との組を考慮する。また、システムは、センサ103のすべての読出しモード(例えば、ビンニング、スキップ、再サンプリング、スケーリング、及び/又はこれらのいくつかの組み合わせを含む)の組を考慮する。各センサ読出しモードに関して、以下の因子を計算及び考慮することによってマイクロレンズアレイ102の2つの異なる配向/位置を比較することができる。
・読出しピクセル203の平均変調とすべてのピクセル203の平均変調との比。例えば、読出しモードが垂直方向と水平方向との両方にサイズNの周期的パターンに従ってピクセル203をスキップすると仮定する。最小限の変調を有する領域に存在する読出しピクセル203の数を最大にするマイクロレンズアレイ102の平行移動が、そうでないものよりも好ましいであろう。
・解像度低減読出しモードの場合に該読出しモードによってライトフィールドのどの区域が取り込まれるか。各読出しフレームにおけるサンプルの組は、それらのライトフィールド座標に関して解釈することができる。所与のモードに関するこのサンプル分布の形状は、マイクロレンズアレイ102の平行移動及び回転と共に変化し、或る分布は他の分布よりも良いであろう。例えば、読出しモードが垂直方向と水平方向との両方にサイズNの周期的パターンに従ってピクセル203をスキップし、各ライトフィールドディスク画像がセンサ103上のN×Nピクセル四方内に偶然収まると仮定する。中央ピクセル203が各マイクロレンズ102の下で確実に読み出されるようにするマイクロレンズアレイ102の平行移動及び回転が、中央サブ開口画像をもたらす。例えば、Ng他を参照されたい。
・所与の読出しモードでイメージセンサ103によって適用されるあらゆるスケーリング、ビンニング、及び/又は再サンプリング中にライトフィールドのどの部分が一緒に混合されるか。ライトフィールド画像のスケーリング、ビンニング、又はサブサンプリングされたバージョンの各出力ピクセルは、センサピクセル203の組合せとして計算されてもよい(加重平均であってもよい)。特定のマイクロレンズアレイの位置を評価するために適用され得る1つの基準は、出力ピクセルを計算するのに用いられたセンサピクセル203の組のライトフィールド座標の方向情報の範囲(spread)である。各出力ピクセルの方向座標のより大きい平均をもたらす位置の選択により、出力画像のエイリアジングアーチファクトをより少なくすることができる。
【0124】
[大きい主光線角(CRA)に対処するためのMLA設計]
主レンズ113としてのテレセントリックレンズと共に用いることを意図されたセンサ103の性能は、マイクロレンズ201がそれら独自の局所的表面に垂直な(又はより垂直に近い)光線を受光するようにマイクロレンズ201を主レンズ113の光軸の方に傾けることによって(潜在的に劇的に)改善することができる。例えば、
図1Bを参照すると、マイクロレンズアレイ102のレンズは、主レンズ113の光軸の方に傾けることができる。
【0125】
ここで
図20を参照すると、2つの例示的なマイクロレンズアレイ102の上視図が示されている。上視
図2001は、平面マイクロレンズアレイ102Aを描画する。上視
図2002は、傾けられたマイクロレンズアレイ102Bを描画する。上視
図2002において、各マイクロレンズ201は、光軸(x,y=0,0)の方に傾けられる。ここで
図21も参照すると、
図20に描画された上視図の例示的な3Dプロットが示されている。3Dプロット2101Aは平面マイクロレンズアレイ102Aに対応する。3Dプロット2101Bは傾けられたマイクロレンズアレイ102Bに対応する。
図20及び
図21の色つきバージョンでは、赤は高い高さ(elevation)を示し、一方、青は低い高さを示す。
【0126】
ここで
図22を参照すると、傾けられたマイクロレンズ201を含むマイクロレンズアレイ102を通る例示的な2Dスライス2201が示されている。2Dスライス2201は、傾けられた各マイクロレンズ201がその近隣マイクロレンズに平面でどのようにして接合されるかを示す。光線の入射媒体が空気の場合、平面は、主レンズ113の射出瞳の中央から来る光線に平行であるように配向される。光線の入射媒体が空気ではない、したがって1よりも大きい屈折率を有する場合、平面は、主レンズの中央から来る光線の屈折角度に平行であるように配向される。これは、主レンズ113の射出瞳の中央で観察者が見た場合のこれらの散乱面の影響を最小にするためになされる。主レンズのF値及び口径食、並びにレンズ表面からの散乱、反射、及び内部全反射を考慮に入れるために、傾けられたMLA側壁の角度のさらなる最適化を行うことができる。
【0127】
ここで
図23A及び
図23Bを参照すると、傾けられたMLA側壁の角度の異なるタイプの最適化の2つの例が示されている。
図23Aでは、MLA102は、入射媒体2301(例えば、ガラス、ポリマー、又は他の光透過性材料であってもよい)の下縁から媒体2301とセンサ103との間に空隙2304がある状態で形状設定される。主レンズ113の射出瞳から届く光線202は、媒体2301に当たるときに屈折する。MLA102の平面2302は、入射光の屈折角度に適合するように且つ光線202をセンサ103上に適正に合焦するように形状設定及び配向される。
【0128】
図23Bでは、MLA102は、入射媒体2301の上縁から媒体2301とセンサ103との間に空隙がない状態で形状設定される。ここで、主レンズ113の射出瞳から届く光線202は、入射媒体2301の上縁から形状設定されるMLA102の平面2302に当たるときに屈折する。したがって、この実施形態では、平面2302は、空気中の入射光の角度に適合するように且つ光線202をセンサ103上に適正に合焦するように形状設定及び配向される。
【0129】
本発明は、可能な実施形態に関して特に詳細に説明されている。本発明が他の実施形態で実施されてもよいことが当業者には分かるであろう。最初に、構成部品の特定の名前付け、用語の大文字使用、属性、データ構造、又はあらゆる他のプログラミング又は構造的態様は、必須でも重要でもなく、本発明又はその特徴を実装する機構は、異なる名前、フォーマット、又はプロトコルを有してもよい。さらに、システムは、説明したようにハードウェア及びソフトウェアの組合せを介して、又は完全にハードウェア要素において、又はソフトウェア要素において実装されてもよい。また、本明細書に記載の種々のシステム構成部品間の機能性の特定の分割は単なる例示であり、必須ではなく、単一のシステム構成部品によって行われる機能が、代わりに複数の構成部品によって行われてもよく、複数の構成部品によって行われる機能が、代わりに単一の構成部品によって行われてもよい。
【0130】
種々の実施形態では、本発明は、前述の技術を行うためのシステム又は方法として単独で又はあらゆる組み合わせで実装することができる。別の実施形態では、本発明は、一時的でないコンピュータ可読記憶媒体と、コンピューティングデバイス又は他の電子装置のプロセッサに前述の技術を行わせるために媒体上にエンコードされるコンピュータプログラムコードとを備えるコンピュータプログラム製品として実装することができる。
【0131】
本明細書での「一実施形態(one embodiment)、(an embodiment)」への言及は、実施形態と組み合わせて説明される特定の特徴、構造、又は特色が本発明の少なくとも1つの実施形態に含まれることを意味する。本明細書の種々の場所での「少なくとも1つの実施形態において」という文言の出現は、必ずしもすべて同じ実施形態を言及するものではない。
【0132】
上記のいくつかの部分は、コンピューティングデバイスのメモリ内のデータビットに対する動作のアルゴリズム及び記号表現で提示される。これらのアルゴリズム記述及び表現は、研究の実体を他の当業者に最も効果的に伝えるためにデータ処理分野の当業者によって用いられる手段である。アルゴリズムは、ここでは、一般に、所望の結果につながる自己矛盾のない一連のステップ(命令)と考えられる。ステップは、物理量の物理的操作を必要とするものである。普通は、必ずしもそうではないが、これらの量は、記憶する、伝送する、組み合わせる、比較する、及び他の方法で操作することができる電気信号、磁気信号、又は光信号の形態をとる。主として一般使用のために、これらの信号をビット、値、要素、記号、文字、用語、数字などで言及することが時には便利である。さらに、物理量の物理的操作を必要とするステップの或る構成を、一般性を失わずにモジュール又はコード装置として言及することも時には便利である。
【0133】
しかしながら、これらの及び類似の用語のすべては、適切な物理量と関連付けられ、これらの量に付される便利なラベルにすぎないことに留意されたい。以下の解説から明らかなように特にそれ以外の指定のない限り、説明の全体を通して、「処理する」又は「計算する」又は「算出する」又は「表示する」又は「決定する」などの用語を用いる説明は、コンピュータシステムメモリ又はレジスタ若しくは他のこうした情報記憶装置、伝送装置、又は表示装置内の物理(電子)量として表されるデータを操作及び変換するコンピュータシステム又は類似の電子コンピューティングモジュール及び/又は装置のアクション及びプロセスを指すことが分かる。
【0134】
本発明の或る態様は、アルゴリズムの形態の本明細書に記載のプロセスステップ及び命令を含む。本発明のプロセスステップ及び命令は、ソフトウェア、ファームウェア、及び/又はハードウェアで具体化することができ、ソフトウェアで具体化されるときに、種々のオペレーティングシステムによって用いられる異なるプラットフォーム上に存在し、動作するように、ダウンロードすることができることに注目されたい。
【0135】
本発明はまた、本明細書での動作を行うための装置に関する。この装置は、必要とされる目的のために特別に構築されてもよく、又はこれはコンピューティングデバイスに格納されたコンピュータプログラムによって選択的にアクティブ化又は再構成される汎用コンピューティングデバイスを備えてもよい。こうしたコンピュータプログラムは、限定ではないが、フロッピー(登録商標)ディスク、光ディスクを含むあらゆるタイプのディスク、CD−ROM、光磁気ディスク、読出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、フラッシュメモリ、ソリッドステートドライブ、磁気カード又は光学カード、特定用途向け集積回路(ASIC)、又は電子命令を格納するのに適する、それぞれコンピュータシステムバスに結合されるあらゆるタイプのメディアなどの、コンピュータ可読記憶媒体に格納されてもよい。さらに、本明細書で言及されるコンピューティングデバイスは、単一のプロセッサを含んでもよく、又はコンピューティング能力向上のために複数のプロセッサ設計を使用するアーキテクチャであってもよい。
【0136】
本明細書で提示されるアルゴリズム及び表示は、どのような特定のコンピューティングデバイス、仮想化されたシステム、又は他の装置にも本質的に関係付けられない。種々の汎用システムが本明細書の教示に係るプログラムと共に用いられてもよく、又は必要とされる方法ステップを行うためにより特化された装置を構築することが便利な場合がある。種々のこれらのシステムに必要とされる構造は、本明細書で提供される説明から分かるであろう。加えて、本発明は、どのような特定のプログラミング言語にも関連して説明されない。本明細書に記載の本発明の教示を実施するために種々のプログラミング言語が用いられてもよく、特定の言語への上記のどの言及も本発明を可能にするベストモードの開示のために提供されることが理解されるであろう。
【0137】
したがって、種々の実施形態では、本発明は、コンピュータシステム、コンピューティングデバイス、又は他の電子装置、又はこれらのあらゆる組み合わせ又は複数を制御するためのソフトウェア要素、ハードウェア要素、及び/又は他の要素として実装することができる。こうした電子装置は、例えば、当該技術分野では周知の技術に従って、プロセッサ、入力装置(キーボード、マウス、タッチパッド、トラックパッド、ジョイスティック、トラックボール、マイクロフォン、及び/又はその任意の組合せなど)、出力装置(画面、スピーカ、及び/又はこれらに類似のものなど)、メモリ、長期ストレージ(磁気ストレージ、光学ストレージ、及び/又はこれらに類似のものなど)、及び/又はネットワーク接続性を含むことができる。こうした電子装置は、携帯可能であっても又は携帯可能でなくてもよい。本発明を実装するのに用いられ得る電子装置の例は、移動電話、パーソナルデジタルアシスタント、スマートフォン、キオスク、サーバコンピュータ、企業コンピューティングデバイス、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、消費者電子装置、テレビ、セットトップボックスなどを含む。本発明を実装するための電子装置は、例えば、Linux(登録商標)、ワシントン州RedmondのMicrosoft Corporationから入手可能なMicrosoft Windows(登録商標)、米国カリフォルニア州CupertinoのApple Inc.から入手可能なMac OS X、米国カリフォルニア州CupertinoのApple Inc.から入手可能なiOS、及び/又は装置上で用いるのに適するあらゆる他のオペレーティングシステムなどのどのようなオペレーティングシステムを用いてもよい。
【0138】
本発明は、限られた数の実施形態に関して説明されているが、本明細書に記載の本発明の範囲から逸脱しない他の実施形態が考案され得ることが上記の説明の恩恵を受ける当業者には分かるであろう。加えて、本明細書で用いられる言語は、主として読みやすさ及び教示の目的で選択されており、発明的な主題を線引きする又は制限するように選択されていないことに注意されたい。したがって、本発明の開示は、例証となるが、請求項に記載の本発明の範囲を限定しないことを意図される。