(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-28
(45)【発行日】2025-03-10
(54)【発明の名称】カメラ固有の較正
(51)【国際特許分類】
H04N 23/60 20230101AFI20250303BHJP
G06T 7/80 20170101ALI20250303BHJP
H04N 23/55 20230101ALI20250303BHJP
【FI】
H04N23/60
G06T7/80
H04N23/55
(21)【出願番号】P 2022577127
(86)(22)【出願日】2021-06-15
(86)【国際出願番号】 US2021037500
(87)【国際公開番号】W WO2021257617
(87)【国際公開日】2021-12-23
【審査請求日】2024-05-28
(32)【優先日】2020-06-16
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】514108838
【氏名又は名称】マジック リープ, インコーポレイテッド
【氏名又は名称原語表記】Magic Leap,Inc.
【住所又は居所原語表記】7500 W SUNRISE BLVD,PLANTATION,FL 33322 USA
(74)【代理人】
【識別番号】100104824
【氏名又は名称】穐場 仁
(74)【代理人】
【識別番号】100121463
【氏名又は名称】矢口 哲也
(74)【代理人】
【識別番号】100137969
【氏名又は名称】岡部 憲昭
(72)【発明者】
【氏名】ジア, ジヘン
(72)【発明者】
【氏名】グロスマン, エチエンヌ グレゴワール
(72)【発明者】
【氏名】ジェン, ハオ
(72)【発明者】
【氏名】ドミンゲス, ダニエル ロジャー
(72)【発明者】
【氏名】テコルスト, ロバート ディー.
【審査官】池田 博一
(56)【参考文献】
【文献】欧州特許出願公開第01533646(EP,A1)
【文献】国際公開第2019/099408(WO,A1)
【文献】M BAUER et al.,Geometrical camera calibration with diffractive optical elements,OPTICS EXPRESS,VOL.16 No.25,pages 20241-20248
(58)【調査した分野】(Int.Cl.,DB名)
H04N 23/60
G06T 7/80
H04N 23/55
(57)【特許請求の範囲】
【請求項1】
複数のカメラの固有のパラメータを決定するためのシステムであって、前記システムは、
前記複数のカメラと、
複数のコリメータアセンブリであって、各カメラは、前記複数のコリメータアセンブリのうちの1つの正面に設置され、各コリメータアセンブリは、両側回折光学要素を含み、
第1の格子パターンが、前記両側回折光学要素の
第1の表面上に形成され
、第2の格子パターンが、前記両側回折光学要素の第2の表面上に形成される、複数のコリメータアセンブリと、
前記複数のカメラに結合され、画像データを前記複数のカメラから受信するプロセッサであって、前記プロセッサは、実行可能命令を記憶しており、前記実行可能命令は、前記プロセッサによって実行されると、前記プロセッサに、
前記複数のカメラの中のカメラ毎に、
画像を前記カメラから受信することであって、前記両側回折光学要素の各表面上に形成される前記格子パターンは、前記画像上の中心強度ピークの明度を所定の量まで低減させるように選択される、ことと、
データ対を識別することであって、各データ対は、前記画像上の強度ピークと、前記強度ピークに対応する前記両側回折光学要素によって形成される仮想光源とのピクセル座標を含む、ことと、
前記画像に関する前記識別されたデータ対を使用して、前記カメラの固有のパラメータを決定することと
を行わせる、プロセッサと
を備える、システム。
【請求項2】
前記両側回折光学要素は、
前記両側回折光学要素の
前記第1の表面上に形成される
前記第1の格子パターンのN×Nアレイと、
前記両側回折光学要素の
前記第2の表面上に形成される
前記第2の格子パターンのM×Mアレイと
を備え、
前記M×Mアレイは、各カメラによって捕捉された画像がN
2回のサブパターンの繰り返しを含むように、前記両側回折光学要素の第2の表面上にタイル状にされ、前記両側回折光学要素の第1の表面上のN×Nアレイのサイズに合致する、請求項1に記載のシステム。
【請求項3】
N=3およびM=19であり、19×19アレイは、各カメラによって捕捉された画像が9回のサブパターンの繰り返しを含むように、前記両側回折光学要素の第2の表面上にタイル状にされ、前記両側回折光学要素の第1の表面上の3×3アレイのサイズに合致する、請求項2に記載のシステム。
【請求項4】
前記画像は、任意の間隙を伴わないサブパターンの繰り返しを含む、請求項2に記載のシステム。
【請求項5】
各コリメータアセンブリ内のコリメートレンズと、
レーザビームを各コリメータアセンブリのコリメートレンズに放出するように構成されるレーザ源であって、各コリメータアセンブリのコリメートレンズは、前記両側回折光学要素と前記レーザ源との間に提供される、レーザ源と
をさらに備える、請求項1に記載のシステム。
【請求項6】
前記所定の量は、前記画像の中心強度ピークに到達する前記レーザ源から放出される前記レーザビームの1.1±0.5%である、請求項5に記載のシステム。
【請求項7】
前記画像は、前記コリメートレンズおよび前記両側回折光学要素を通して通過する前記レーザビームによって形成される光パターンに対応する、請求項5に記載のシステム。
【請求項8】
前記固有のパラメータは、前記カメラの焦点距離、主点、および歪曲係数のうちの1つまたはそれを上回るものを含む、請求項1に記載のシステム。
【請求項9】
各カメラは、個別のコリメータアセンブリの前記両側回折光学要素のアイボックス内に留まるように構成される、請求項1に記載のシステム。
【請求項10】
複数のカメラの固有のパラメータを決定するための方法であって、前記方法は、
前記複数のカメラおよび複数のコリメータアセンブリを提供することであって、各コリメータアセンブリは、両側回折光学要素を含み、
第1の格子パターンが、前記両側回折光学要素の
第1の表面上に形成され
、第2の格子パターンが、前記両側回折光学要素の第2の表面上に形成される、ことと、
前記複数のカメラを前記複数のコリメータアセンブリの正面に設置することであって、各カメラは、前記複数のコリメータアセンブリのうちの1つの正面に設置される、ことと、
前記複数のカメラの中のカメラ毎に、
コンピューティングデバイスを使用して、画像を前記カメラから受信することであって、前記両側回折光学要素の各表面上に形成される前記格子パターンは、前記画像上の中心強度ピークの明度を所定の量まで低減させるように選択される、ことと、
前記コンピューティングデバイスを使用して、データ対を識別することであって、各データ対は、前記画像上の強度ピークと、前記強度ピークに対応する前記両側回折光学要素によって形成される仮想光源とのピクセル座標を含む、ことと、
前記コンピューティングデバイスを使用して、前記画像に関する識別されたデータ対を使用して、前記カメラの固有のパラメータを決定することと
を含む、方法。
【請求項11】
前記両側回折光学要素は、
前記両側回折光学要素の
前記第1の表面上に形成される
前記第1の格子パターンのN×Nアレイと、
前記両側回折光学要素の
前記第2の表面上に形成される
前記第2の格子パターンのM×Mアレイと
を備え、
前記M×Mアレイは、各カメラによって捕捉された画像がN
2回のサブパターンの繰り返しを含むように、前記両側回折光学要素の第2の表面上にタイル状にされ、前記両側回折光学要素の第1の表面上のN×Nアレイのサイズに合致する、請求項10に記載の方法。
【請求項12】
N=3およびM=19であり、19×19アレイは、各カメラによって捕捉された画像が9回のサブパターンの繰り返しを含むように、前記両側回折光学要素の第2の表面上にタイル状にされ、前記両側回折光学要素の第1の表面上の3×3アレイのサイズに合致する、請求項11に記載の方法。
【請求項13】
前記画像は、任意の間隙を伴わないサブパターンの繰り返しを含む、請求項10に記載の方法。
【請求項14】
各コリメータアセンブリは、コリメートレンズを含み、前記方法はさらに、
レーザビームを各コリメータアセンブリのコリメートレンズに放出するようにレーザ源を構成することを含み、各コリメータアセンブリのコリメートレンズは、前記両側回折光学要素と前記レーザ源との間に提供される、請求項10に記載の方法。
【請求項15】
前記所定の量は、前記画像の中心強度ピークに到達する前記レーザ源から放出される前記レーザビームの1.1±0.5%である、請求項14に記載の方法。
【請求項16】
前記画像は、前記コリメートレンズおよび前記両側回折光学要素を通して通過する前記レーザビームによって形成される光パターンに対応する、請求項15に記載の方法。
【請求項17】
前記固有のパラメータは、前記カメラの焦点距離、主点、および歪曲係数のうちの1つまたはそれを上回るものを含む、請求項10に記載の方法。
【請求項18】
各カメラは、個別のコリメータアセンブリの前記両側回折光学要素のアイボックス内に留まるように構成される、請求項10に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、その全内容が、あらゆる目的のために、参照することによって本明細書に組み込まれる、2020年6月16日に出願され、「CAMERA INTRINSIC CALIBRATION」と題された、米国仮特許出願第63/039,910号の優先権の利益を主張する。
【背景技術】
【0002】
現代のコンピューティングおよびディスプレイ技術は、いわゆる「仮想現実」または「拡張現実」体験のためのシステムの開発を促進しており、デジタル的に生産された画像またはその一部が、本物であるように見える、またはそのように知覚され得る様式で、ウェアラブルデバイス内でユーザに提示される。仮想現実、すなわち、「VR」シナリオは、典型的には、他の実際の実世界の視覚的入力に対する透過性を伴わずに、デジタルまたは仮想画像情報の提示を伴い、拡張現実、すなわち、「AR」シナリオは、典型的には、ユーザの周囲の実際の世界の可視化に対する拡張としてのデジタルまたは仮想画像情報の提示を伴う。
【0003】
ウェアラブルデバイスは、拡張および/または仮想現実眼鏡を含み得る。カメラは、眼鏡に結合され得る。実世界オブジェクトの実際の場所を拡張および/または仮想現実眼鏡上で視認するために、カメラは、較正される必要がある。カメラを較正するステップは、カメラの固有パラメータを決定するステップを含み得る。固有のパラメータは、3-Dカメラの座標から2-D画像座標への投影変換を表す。固有のパラメータは、焦点距離(fx,fy)、主点、および歪曲係数を含み得る。
【0004】
故に、カメラ較正は、カメラのレンズおよび画像センサのパラメータを推定し得る。決定されたパラメータは、レンズ歪曲を補正する、世界ユニット内のオブジェクトのサイズを測定する、または3-D場面再構築内の場面の中のカメラの場所を決定するために使用され得る。
【0005】
結論から述べると、ヒトの視知覚系は、非常に複雑であって、他の仮想または実世界画像要素の中で仮想画像要素の快適で、自然な感覚で、かつ豊かな提示を促進する、VR、AR、または複合現実「MR」技術を生産することは、困難である。本明細書に開示されるシステムおよび方法は、VR、AR、およびMR技術に関連する種々の課題に対処する。
【発明の概要】
【課題を解決するための手段】
【0006】
実施形態は、概して、ディスプレイシステム較正のための画像ディスプレイシステムおよび方法に関する。実施形態は、カメラ固有の較正アプローチを提供し、これは、両側回折光学要素(DOE)によって形成される光パターンの単一画像を使用することに基づく。両側回折光学要素の各表面上に形成される、格子パターンは、画像上の中心強度ピークの明度を所定の量まで低減させる(例えば、レーザ源から放出されるレーザビームの約0.5%~1.6%がDOEによって形成されるゼロ次仮想光源に到達する)ように選択される。
【0007】
実施形態は、複数のカメラの固有のパラメータを決定するためのシステムを提供する。本システムは、複数のカメラと、複数のコリメータアセンブリと、複数のカメラに結合され、画像データを複数のカメラから受信する、プロセッサとを含む。各カメラは、複数のコリメータアセンブリのうちの1つの正面に設置される。各コリメータアセンブリは、両側回折光学要素を含む。格子パターンが、両側回折光学要素の各表面上に形成される。プロセッサは、プロセッサによって実行されると、プロセッサに、以下のステップ、すなわち、複数のカメラの中のカメラ毎に、画像をカメラから受信するステップと、データ対を識別するステップと、画像に関する識別されたデータ対を使用して、カメラの固有のパラメータを決定するステップとを実施させる、実行可能命令を記憶する。両側回折光学要素の各表面上に形成される、格子パターンは、画像上の中心強度ピークの明度を所定の量まで低減させるように選択される。各データ対は、画像上の強度ピークと、強度ピークに対応する、両側回折光学要素によって形成される、仮想光源とのピクセル座標を含む。
【0008】
実施形態はさらに、複数のカメラの固有のパラメータを決定するための方法を提供する。本方法は、複数のカメラおよび複数のコリメータアセンブリを提供するステップを含む。各コリメータアセンブリは、両側回折光学要素を含む。格子パターンが、両側回折光学要素の各表面上に形成される。本方法はさらに、複数のカメラを複数のコリメータアセンブリの正面に設置するステップを含む。各カメラは、複数のコリメータアセンブリのうちの1つの正面に設置される。複数のカメラの中のカメラ毎に、以下のステップ、すなわち、コンピューティングデバイスを使用して、画像が、カメラから受信されるステップと、データ対が、識別されるステップと、カメラの固有のパラメータが、画像に関する、識別されたデータ対を使用して決定されるステップとが、実施される。両側回折光学要素の各表面上に形成される、格子パターンは、画像上の中心強度ピークの明度を所定の量まで低減させるように選択される。各データ対は、画像上の強度ピークと、強度ピークに対応する、両側回折光学要素によって形成される、仮想光源とのピクセル座標を含む。
【0009】
従来の技法に優る多数の利点が、本開示の方法によって達成される。例えば、実施形態は、両側DOEを使用して、実世界画像捕捉デバイスおよび/またはAR/VRディスプレイシステムを較正する、方法およびシステムを提供する。両側回折光学要素の各表面上に形成される、格子パターンは、画像上の中心強度ピークの明度を所定の量まで低減させる(例えば、レーザ源から放出されるレーザビームの約0.5%~1.6%がDOEによって形成されるゼロ次仮想光源に到達する)ように選択される。
【0010】
本明細書に説明される主題の1つまたはそれを上回る実装の詳細が、付随の図面および下記の説明に記載される。他の特徴、側面、および利点は、説明、図面、および請求項から明白となるであろう。本概要または以下の詳細な説明のいずれも、本発明の主題の範囲を定義または限定することを主張するものではない。
【図面の簡単な説明】
【0011】
【
図1】
図1は、例示的実施形態による、カメラ座標系および世界座標系を図示する。
【0012】
【
図2】
図2は、例示的実施形態による、回折光学要素(DOE)が機能する方法の概略解説を図示する。
【0013】
【
図3A】
図3Aは、いくつかの実施形態による、両側DOEを使用したカメラの固有の較正のための例示的システムの断面図を図示する。
【0014】
【
図3B】
図3Bは、いくつかの実施形態による、
図3Aにおいて図示される例示的システムの平面図を図示する。
【0015】
【
図4】
図4は、いくつかの実施形態によると、非最適格子パターンを伴う、両側DOEによって形成される光パターンの概略表現を図示する。
【0016】
【
図5】
図5は、いくつかの実施形態による、例示的両側DOEの例示的格子パターンの概略表現を図示する。
【0017】
【
図6】
図6は、いくつかの実施形態による、例示的格子パターンの概略表現を図示する。
【0018】
【
図7】
図7は、いくつかの実施形態による、最適格子パターンを伴う、例示的両側DOEによって形成される光パターンの概略表現を図示する。
【0019】
【
図8A】
図8A-8Cは、いくつかの実施形態による、例示的コリメータアセンブリの性能を検証するための例示的性能試験ステーションを図示する。
【
図8C】
図8A-8Cは、いくつかの実施形態による、例示的コリメータアセンブリの性能を検証するための例示的性能試験ステーションを図示する。
【
図8C】
図8A-8Cは、いくつかの実施形態による、例示的コリメータアセンブリの性能を検証するための例示的性能試験ステーションを図示する。
【0020】
【
図9】
図9は、いくつかの実施形態による、AR/VRシステムのためのウェアラブルの複数のカメラの固有の較正のための例示的較正ステーションを図示する。
【0021】
【
図10】
図10は、いくつかの実施形態による、複数の両側DOEを使用した複数のカメラの固有の較正のための方法を図示する、簡略化されたフローチャートである。
【0022】
【
図11】
図11は、いくつかの実施形態による、コンピュータシステム(例えば、画像処理サーバコンピュータ)の簡略化された概略図である。
【発明を実施するための形態】
【0023】
詳細な説明
実施形態は、両側回折光学要素(DOE)を使用する、1つまたはそれを上回るカメラ較正のための画像ディスプレイシステムおよび方法を対象とする。より具体的には、実施形態は、各カメラによって取得される、両側DOEによって形成される光パターンの単一画像を使用して、1つまたはそれを上回るカメラの固有のパラメータを決定するステップを対象とする。DOEは、入力光源から、光のビームのパターンを生成する、光学要素である。光の各ビームの方向は、所与のDOEに関して把握される。種々の実施形態によると、両側DOEは、第1の格子パターンを第1の表面上に、および第2の格子パターンを第2の表面上に有する。第1および第2の格子パターンはそれぞれ、任意の間隙を提供せずに、各表面上にタイル状にされるときに一列になる、サブパターンを繰り返すことによって形成されてもよい。例えば、DOEの片側は、タイル状にされる、3×3パターンを含んでもよく、DOEの他側は、両側DOEが、例えば、サブパターンの繰り返しを含む、57×57パターンを形成し得るようにタイル状にされる、19×19パターンを含んでもよい。
【0024】
実施形態による、ウェアラブルデバイスは、拡張および/または仮想現実ウェアラブル(例えば、眼鏡)を含んでもよい。1つまたはそれを上回るカメラは、ウェアラブルに結合されてもよい。実世界オブジェクトの実際の場所を拡張および/または仮想現実眼鏡上で視認するために、1つまたはそれを上回るカメラは、較正される必要がある。カメラを較正するステップは、カメラの固有のパラメータを決定するステップを含み得る。固有のパラメータは、3-Dカメラ座標から2-D画像座標への投影変換を表す。固有のパラメータは、焦点距離(fx,fy)と、主点と、歪曲係数とを含んでもよい。故に、カメラ較正は、カメラのレンズおよび画像センサのパラメータを推定し得る。決定されたパラメータは、レンズ歪曲を補正する、世界ユニット内のオブジェクトのサイズを測定する、または3-D場面再構築物内の場面の中のカメラの場所を決定するために使用されてもよい。
【0025】
従来のシステムは、所与のカメラの固有のパラメータを決定することを可能にする。いくつかの従来の較正技法は、カメラに、各画像間でカメラに対して移動される、市松模様の複数の画像(例えば、100+画像)を捕捉することを要求する、市松模様アプローチを使用する。入手された画像は、次いで、処理され、カメラの固有のパラメータを決定する。較正は、各画像上の市松模様の一部(例えば、市松模様の角)の場所を決定し、その点の座標とカメラの場所を相関させることによって遂行される。しかしながら、ロボットシステム、自動車、航空用車両、水中および水上車両、監視システム等のシステムに関して、複数のカメラが、使用され得る。複数のカメラが必要とされる、システムに関して、各カメラは、個々に固有に較正されなければならず、これは、時間がかかり、かつ煩雑である。
【0026】
図1は、例示的実施形態による、カメラ座標系および世界座標系を図示する。実世界オブジェクト108は、カメラ座標系102の中心に提供される、カメラ100を使用して結像されている。カメラ100は、実世界オブジェクト108の3D点を像面104上の2D点にマッピングする。オブジェクト108の位置は、世界座標系106を使用して定義される。カメラ100を使用して、オブジェクト108の画像が、像面104上に形成される。例えば、像面上の像点112は、オブジェクト108の点110に対応する。
【0027】
カメラ100を較正し、VR/AR表現内における実世界オブジェクトおよび/またはモデルの正確な再構築を達成することが必要であり得る。カメラ較正は、カメラおよび/または結像システムと関連付けられる、あるパラメータを決定するステップを含んでもよい。例えば、カメラ較正は、カメラの固有のパラメータのうちの1つまたはそれを上回るものを決定するステップを含んでもよい。
【0028】
固有のパラメータは、カメラ座標系102から像面104上の2-D画像座標への投影変換を表し得る。固有のパラメータは、焦点距離(fx,fy)と、主点と、歪曲係数とを含む。焦点距離は、カメラ座標系102の中心と像面104との間の距離を指す。主点114は、主軸(すなわち、カメラ座標系102のz-軸)が像面104と交差する、場所である。歪曲係数は、特定のカメラのレンズによって導入される歪曲を補正するために使用される、特定のカメラと関連付けられる、係数であり得る。従来のシステムは、固有のカメラ較正のための所定の較正グリッド(例えば、市松模様オブジェクト等の既知の3D較正標的オブジェクト)を使用する。異なる配向を伴う、いくつかの観察が、単一カメラのパラメータを推定するために必要とされる。
【0029】
種々の実施形態によると、第1の格子パターンを第1の表面上に、および第2の格子パターンを第2の対向表面上に含む、両側DOEが、1つまたはそれを上回るカメラの固有の較正のために使用されてもよい。種々の実施形態によると、第1の表面は、タイル状にされると一列になる、繰り返しの3×3パターンを含んでもよく、第2の表面は、タイル状にされると一列になる、繰り返しの19×19パターンを含んでもよい。レーザが、オンにされ、光が、DOEに向かって指向されると、DOEは、仮想光のパターン(「仮想光源」と称される)を既知の位置に作成してもよい。DOEによって形成される仮想光源は、「DOEのアイボックス」と呼ばれる、空間の領域内に位置する(および適切に配向される)、観察者(例えば、カメラ)によって見られ得る。代替として、DOEのアイボックス内に設置されたカメラは、DOEによって形成される仮想光源を捕捉することができる。
【0030】
カメラによって生産されたデジタル画像では、各仮想光源は、グレーレベルの極大値として識別可能であり得る。画像が、自動的に処理され、極大値のリストを算出してもよい。表記pU’1、…、pU’Nが、画像内の仮想光源の投影の画像のリストを例証するために使用され得る。各pU’iは、画像内の点のx-座標およびy-座標から成る、2次元ベクトルである。2次元ベクトルは、強度ピークと称され得る。
【0031】
仮想光源DAの3D位置は、4つの同次座標DA=(x,y,z,t)のベクトルによって表されてもよい。故に、有限距離における仮想光源は、ベクトルDA=(x,y,z,1)によって一意に表され得る一方、無限遠における仮想光源は、ベクトルDA=(x,y,z,0)によって一意に表され得る。ベクトルDAの座標は、「ディスプレイ座標系」で記述される。DOEを作成するとき、仮想光源の位置は、例えば、特定の実装に従って選択されてもよい。したがって、例示的DOEは、基準座標系内の既知の座標がDOEに結び付けられる、N個の仮想光源DA1、...、DANのセットを作成する。特に、「ゼロ次光源」と称される、1つの仮想光源は、格子を通したレーザの直接透過に対応する。ゼロ次仮想光源は、他の光源より明るい。
【0032】
両側DOEの各表面上のパターンの設計に関する第1の制約は、最適レベルにおけるゼロ次仮想光源の明度を有することである。ゼロ次仮想光源の明度は、両側DOEによって生産された残りの仮想光源にわたって区別可能であるために十分に明るいが、近傍の仮想光源の明度に関してカメラを誤解させるほど明るくはないように、平衡されなければならない。すなわち、ゼロ次仮想光源の明度が、高すぎると、カメラを正確な較正が実施されることができない点まで飽和させる。ゼロ次仮想光源の明度が、低すぎると、カメラは、ゼロ次仮想光源を識別することができない。実施形態は、ゼロ次仮想光源の明度を所定の量(例えば、レーザ源から放出されるレーザビームの約1.1±0.5%)まで低減させるように、格子パターンをDOEの各表面上に提供する。すなわち、レーザ源から放出される所定の量のレーザビームのみが、ゼロ次仮想光源に到達する。
【0033】
両側DOEの各表面上のパターンの設計に関する第2の制約は、残りの仮想光源(例えば、ゼロ次仮想光源以外の仮想光源)を横断して、均一明度を有することである。具体的には、残りの仮想光源が、暗すぎる場合、カメラは、それらを検出することが不可能である場合がある。
【0034】
実施形態は、両方の制約を充足させ、1つまたはそれを上回るカメラの高速かつ効率的固有の較正を提供する、両側DOEを提供する。実施形態は、ともに機能する2つのパターンの組み合わせられた効果が、両方の制約を充足させる結果をパターン内に与えるように、パターンをDOEの2つの表面のそれぞれ上に設置することによって、DOEの両方の表面を使用する。出力(例えば、DOEによって形成される光パターン)におけるゼロ次スポットの明度は、両側DOEを用いて、約1.1±0.5%まで低減されてもよい。種々の実施形態によると、M×M(例えば、19×19)アレイを作成する、第1のパターンは、DOEの1つの表面上に設置され、N×N(例えば、3×3)アレイ作成する、第2のパターンは、DOEの対向表面上に設置される。第2のパターンは、第1のパターンと比較して、非常に高角度で拡開してもよい。両側DOEは、各カメラによって捕捉された画像がN2回のサブパターンの繰り返しを含むように、M×Mアレイを第2の表面上にタイル化し、第1の表面上のN×Nアレイのサイズに合致させることによって形成されてもよい。すなわち、いくつかの実施形態では、DOEは、規則的グリッド(例えば、その間に間隙を伴わずに形成される、同一パターンの9つのコピー)を形成する、連続的パターンを有するように、19×19の3×3コピーを作成し、間隙を伴わずに、コピーをタイル化することによって形成されてもよい。
【0035】
ゼロ次仮想光源は、例示的実施形態による、DOEが機能する方法の概略解説を図示する、
図2上のm=0に対応する。入射レーザビームは、所定の格子を有する、DOEに向かって指向される。DOEから透過される光は、種々の回折次数
【化1】
において、表面または画像上で再捕捉される。
【0036】
DOEの表面は、距離dによって分離される、反復的な一連の狭幅溝を含んでもよい。入射光は、表面法線から測定されるように、角度θ
SRCで格子上に衝突する。格子から出射する次数mの光は、表面法線に対してθ
mの角度で退出する。いくつかの幾何学的変換および一般的格子式を利用して、透過性回折格子に関する式が、以下のように見出されることができる。
【化2】
式中、n_srcおよびn_0は、それぞれ、格子界面の前後の材料の屈折率である。
【0037】
両側DOEが、典型的には、微視的格子をシリコン結晶等の基板の各固体表面上にエッチングすることによって作成される。カメラが、その入射瞳を両側DOEのアイボックス内に全体的に含有させ、カメラが両側DOEによって形成される仮想光源の画像を形成するように配向させることによって設置されてもよい。両側DOEの配向はまた、近似的に把握され得る。
【0038】
DA1が、ゼロ次仮想光源である場合、最明強度ピークpU’iが、画像の強度ピークpU’1、…、pU’Nの中から識別され得る。最明強度ピークは、pU1:=pU’iを割り当てられてもよい。本ゼロ次強度ピークから、全ての仮想光源DAiに対応する、各強度ピークpU’iが、識別されてもよい。いったん強度ピーク対が、識別されると、カメラの固有のパラメータが、計算されることができる。
【0039】
図3A-3Bは、種々の実施形態による、カメラの固有の較正のための例示的システムを図示する。具体的には、
図3Aは、両側DOEを使用したカメラの固有の較正のための例示的コリメータアセンブリの断面図を図示し、
図3Bは、
図3Aに図示される例示的コリメータアセンブリの平面図を図示する。
【0040】
例示的システムは、両側DOE306と、コリメートレンズ304と、レーザ源302とを含む、コリメータアセンブリ300を含んでもよい。カメラ308は、両側DOEのアイボックス内に設置され、両側DOE306によって形成される光パターンの画像を捕捉してもよい。両側DOE306は、レーザ源302とカメラ308との間に提供される。
図3Bに示されるように、DOE306は、ジンバルおよびDOE搭載部316内に提供されてもよい。コリメータアセンブリ300は、保護ウィンドウ318を含み、外部環境からの汚染物質および衝撃から、および/または引掻または別様に損傷されないように、DOE306を保護してもよい。
【0041】
種々の実施形態によると、レーザ源302は、ソリッドステートレーザを含んでもよい。レーザ源302から放出される光は、コリメートレンズ304を通して通過してもよい。コリメートされたレンズ304から出射する光は、コリメートレンズ304の光学軸312と平行である。コリメートされたレンズ304から出射する光は、DOE306に向かって伝搬する。例示的両側DOE306は、仮想光源の57×57パターンを形成してもよい(例えば、57×57コリメートされたビームが、両側DOE306から生じ得る)。
【0042】
上記に提供されるように、DOE306の設計は、2つの制約、すなわち、ゼロ次仮想光源の明度が、所定のレベル(例えば、レーザ源から放出されるレーザビームの約0%または約0%~約1.6%の範囲)まで低減されるべきであることと、均一明度が、残りの仮想光源を横断して達成されなければならないこととを充足させるべきである。これらの制約が、充足されないとき、結果として生じる画像は、
図4に図示されるように、均一な繰り返しサブパターンを有していない場合がある。
【0043】
図4は、いくつかの実施形態による(カメラによって捕捉されるように)非最適格子パターンを伴う、両側DOEによって形成される光パターンの概略表現を図示する。光パターンは、角において、不良均一性を有し、DOEの表面のいずれか上の任意の所与のパターンが、カメラの固有の較正のために使用され得る、最適光パターンをもたらさないことを示す。DOEの第1の表面上の第1の格子は、19×19ドットパターンを生成し、DOEの第2の表面上の第2の格子は、それらの19×19ドットパターンを3×3パターンに分散させる。
図4において図示される画像は、19×19ドットパターンを各ブロック内に伴う、9つのブロックを含む。画像に示される十字形状は、各ブロックにおける回折効率差に起因する、アーチファクトである。最適条件では、9つのブロックは、等しい明度を有するはずである(下記に議論される
図7に示されるように)。
【0044】
図3Aに戻って参照すると、カメラ308は、両側DOE306を横断して、そこから生じる全ての異なるコリメートされたビームを取り上げ、両側DOE306を通して通過する、コリメートされた光によって形成される光パターンの画像を捕捉し得る。種々の実施形態によると、両側DOE306は、高角度における仮想光源がカメラの視野内にあることを確実にするように定寸されなければならない(例えば、高角度における仮想光源は、DOEからカメラのレンズ開口の中に延設されるべきである)。例えば、両側DOE306は、水平寸法に100ピクセル、垂直寸法に100ピクセル、および対角線に140ピクセルの面積を被覆してもよい。種々の実施形態によると、ゼロ次仮想光源は、カメラによって捕捉された画像の中心強度ピークに対応し得る。
【0045】
カメラ308は、有線または無線接続314を介して、捕捉された画像データ(例えば、仮想光源のパターンの画像)を画像処理サーバコンピュータ310に伝送してもよい(または画像は、画像処理サーバコンピュータ310によってカメラ308から読み出されてもよい)。種々の実施形態によると、本システムは、複数のカメラを含んでもよく、それぞれ、対応するコリメータアセンブリの正面に設置される。複数のカメラは全て、処理するために(例えば、各カメラの固有のパラメータを決定するために)、画像を画像処理サーバコンピュータ310に伝送してもよい。画像処理サーバコンピュータ310は、プロセッサと、メモリと、ディスプレイと、入力要素(限定ではないが、タッチスクリーン、キーボード、マウス等を含む)とを含んでもよい。プロセッサは、1つまたはそれを上回る集積回路(例えば、1つまたはそれを上回るシングルコアまたはマルチコアマイクロプロセッサおよび/またはマイクロコントローラ)として実装され、1つまたはそれを上回るカメラから受信された画像データ(例えば、画像)の処理を制御するために使用されることができる。プロセッサは、システムメモリ内に記憶される、プログラムコードまたはコンピュータ可読コードに応答して、種々のプログラムを実行することができ、複数の並行して実行されるプログラムまたはプロセスを維持することができる。
【0046】
システムメモリは、任意の数の不揮発性メモリ(例えば、フラッシュメモリ)および揮発性メモリ(例えば、DRAM、SRAM)の任意の組み合わせ、または任意の他の非一過性記憶媒体、またはそれらの媒体の組み合わせを使用して、実装されることができる。システムメモリは、本明細書に説明される機能のいずれかを実施するために、プロセッサによって実行可能なオペレーティングシステム(OS)およびコンピュータコードを記憶してもよい。例示的画像処理サーバコンピュータ310の詳細は、
図11に関連して下記に提供される。
【0047】
実施形態は、両方の制約を充足させ、1つまたはそれを上回るカメラの高速かつ効率的な固有の較正を提供する、両側DOEを提供する。実施形態は、ともに機能する2つのパターンの組み合わせられた効果が、パターン内に両方の制約を充足させる結果を与えるように、パターンを各表面上に設置することによって、DOEの両方の表面を使用する。種々の実施形態によると、反射防止性コーティングが、表面のいずれにも適用されない。
【0048】
図5は、いくつかの実施形態による、例示的両側DOEの例示的格子パターンの概略表現を図示する。種々の実施形態によると、3×3アレイを作成する、第1のパターン500が、DOEの第1の表面上に設置される。19×19アレイを作成する、第2のパターン502が、DOEの第2の(すなわち、対向)表面上に設置される。第1のパターン500は、第2のパターン502と比較して、非常に高角度で拡開してもよい。両側DOEは、規則的グリッドを形成する、連続的パターンを有するように、19×19の3×3コピーを作成し、間隙を伴わずに、コピーをタイル化することによって形成されてもよい。表-1は、例示的両側DOEのための光学仕様を提供する。表-1内で識別された均一性は、以下のように定義されてもよい。
均一性=範囲(N,E,S,W,NE,NW,SE,SW)/最小値(N,E,S,W,NE,NW,SE,SW)
式中、N、E、S、W、NE、NW、SE、SWは、3×3スポット生成器上の各スポットの明度である。ゼロ次は、本計算では除外される。
【表1】
【0049】
図6は、いくつかの実施形態による、例示的格子パターンの概略表現を図示する。格子パターン600は、
図5に図示されるパターン(例えば、第2のパターン502)のうちの1つをタイル化することによって形成されてもよい。仮想分離線604(図上に例証目的のために使用される)とともに図示されるように、格子パターン600は、任意の間隙を残さずに、複数の19×19アレイを相互の隣に設置することによって形成される。パターンは、対向表面のサイズに合致するように繰り返されなければならず、繰り返されるアレイは、その全体として繰り返される必要はない(例えば、格子パターン600の角または縁におけるアレイは、切り取られてもよい)。例示的両側DOEが、3×3アレイをDOEの第1の表面上に作成する、第1のパターンと、19×19アレイをDOEの第2の(すなわち、対向)表面上に作成する、第2のパターンとを含む場合、DOEは、57×57アレイDOEとなり得る。コリメートされた光が、両側DOEを通して進行すると、光パターンが、両側DOEからの所定の距離に形成される。例えば、両側DOEによって形成される例示的光パターン700は、
図7に図示される。
【0050】
図7は、いくつかの実施形態による、例示的両側DOEによって形成される光パターンの概略表現を図示する。光パターン700は、9つのサブパターンの繰り返し704を含んでもよく、ゼロ次スポット702は、光パターン700の中心における最明スポットである。ゼロ次スポットの明度(例えば、エネルギー)を、入力光(例えば、DOE上で伝搬されるコリメートされた光)の約1.1±0.5%がゼロ次スポット702に到達することを意味する、約1.1±0.5%まで低減させることによって、実施形態は、単一画像を使用して、カメラの固有の較正を可能にする。事実上、ゼロ次スポット702(例えば、その明度は、1.1±0.5%まで低減される)および回折効率を制約することは、ひいては、サブパターンの繰り返し704の中心スポットを中心パターン(例えば、
図7において図示されるゼロ次スポット702を含有する、光パターン700内の中心正方形)の周囲に制約する。種々の実施形態によると、回折効率は、60%を上回るように制約され、DOEの中に入射するエネルギーの60%を上回るものが、57×57アレイ内のスポットのうちの1つ内に辿り着く必要があることを意味する。
【0051】
図8A-8Cは、いくつかの実施形態による、例示的コリメータアセンブリの性能を検証するための例示的性能試験ステーション800を図示する。
図8Aに図示されるように、性能試験ステーション800は、少なくとも1つのコリメータアセンブリ802(例えば、
図3A-3Bに図示されるコリメータアセンブリ300に類似する)を含む。種々の実施形態によると、試験ステーション800は、1つまたはそれを上回るコリメータアセンブリ802の性能を検証するために使用されてもよい。試験ステーション800は、その上にコリメータアセンブリ802、至適基準カメラ804、および至適基準ウェアラブル808が、結合される、フレーム806を含む。試験ステーション800は、ポータブルであってもよい。例えば、試験ステーション800は、試験ステーション800のフレーム806に結合される、1つまたはそれを上回るハンドル810を使用して、搬送されてもよい。
図8Bは、試験エリア812内の例示的性能試験ステーション800の背面からの図を図示する。
図8Cは、試験エリア812内の例示的性能試験ステーション800の正面部分の上部の拡大図を図示する。種々の実施形態によると、試験エリア812は、エンクロージャまたはボックスを含んでもよい。
【0052】
種々の実施形態によると、コリメータアセンブリ802は、2インチおよび/または3インチコリメータを含んでもよい。至適基準カメラ804および/または1つまたはそれを上回るカメラを含む至適基準ウェアラブル808は、コリメータアセンブリ802の正面に設置されてもよい。例えば、カメラ804は、コリメータアセンブリ802の3インチコリメータを検証するために使用されてもよい。1つまたはそれを上回るカメラを含む、ウェアラブル808は、コリメータアセンブリ802の2インチコリメータを検証するために使用されてもよい。
【0053】
いったんコリメータアセンブリ802が、検証される(至適基準カメラおよび至適基準ウェアラブルを使用して)と、それらは、AR/VRシステムのためのウェアラブルの複数のカメラの固有の較正のために使用されることができる。
【0054】
図9は、いくつかの実施形態による、AR/VRシステムのためのウェアラブルの複数のカメラの固有の較正のための例示的システムを図示する。較正システム900は、約1ミリワットレーザ光を、金属被覆光ファイバケーブル906等の複数の接続を介して、光を3つの異なるコリメータアセンブリ908の中に送光する、結合器904の中に放出する、ソリッドステートレーザ902を含んでもよい。種々の実施形態によると、結合器904は、光をシステム900によって要求される多くの異なる数のコリメータアセンブリの中に送光するように構成され、数は、
図9に図示されるように、3つに限定されない。光が、コリメータアセンブリ908のそれぞれ内に提供される、両側DOEを通して通過すると、コリメータアセンブリはそれぞれ、
図7に図示されるものに類似する、スポットアレイ(例えば、光パターン)を生産する。
【0055】
図9に図示される較正システム900は、カメラのそれぞれのものをコリメータアセンブリ908のうちの1つの正面に設置することによって、例示的AR/VRシステムの3つのカメラ(例えば、世界カメラ)を較正するために使用されてもよい。本例証的実施例では、それぞれ、コリメータアセンブリ908のうちの1つの正面に設置される、3つのカメラは、同時に、固有に較正されることができる。
図8Aに図示されるフレーム806に類似するフレームが、同様に、較正目的のために使用されてもよい。当業者は、より多いまたはより少ないカメラが、例えば、必要に応じて、適切な結合器を使用して、より多いまたはより少ないコリメータアセンブリをシステムに結合することによって、
図9に図示されるシステムを使用して較正されてもよいことを理解されるであろう。
【0056】
図10は、いくつかの実施形態による、複数の両側DOEを使用した複数のカメラの固有の較正のための方法を図示する、簡略化されたフローチャート1000である。
【0057】
ステップ1002では、複数のカメラおよび複数のコリメータアセンブリが、提供される。種々の実施形態によると、複数のカメラが、AR/VRシステムに結合されてもよい。例えば、カメラは、AR/VRシステムのウェアラブル(例えば、ヘッドセット)部分に結合されてもよい。他の実施形態では、それぞれ、1つまたはそれを上回るカメラを含む、複数のウェアラブルが、同時に較正されてもよい。
【0058】
種々の実施形態では、各コリメータアセンブリは、両側回折光学要素(DOE)を含む。両側DOEの各表面上に形成される、格子パターンが、提供される。両側DOEは、第1の表面上に形成される、第1の格子パターンのN×Nアレイと、第2の表面上に形成される、第2のパターンのM×Mアレイとを含んでもよい。M×Mアレイは、各カメラによって捕捉された画像がN2回のサブパターンの繰り返しを含むように、両側回折光学要素の第2の表面上にタイル状にされ、両側回折光学要素の第1の表面上のN×Nアレイのサイズに合致する。例えば、N=3およびM=19である、いくつかの実施形態では、19×19アレイは、各カメラによって捕捉された画像が9回のサブパターンの繰り返しを含むように、両側DOEの第2の表面上でタイル状にされ、両側DOEの第1の表面上の3×3アレイのサイズに合致する。
【0059】
ステップ1004では、複数のカメラが、各カメラが、複数のコリメータアセンブリのうちの1つの正面に設置されるように、複数のコリメータアセンブリの正面に設置される。例えば、各カメラは、個別のコリメータアセンブリの両側DOEのアイボックス内に留まるように構成されてもよい。このように、カメラは、個別のコリメータアセンブリによって生産された光パターン全体を捕捉することが可能であろう。
【0060】
以下のステップ1006-1010は、複数のカメラの中のカメラ毎に実施される。
【0061】
故に、ステップ1006では、本方法は、コンピューティングデバイスを使用して、画像をカメラから受信するステップを含む。画像は、コリメートレンズおよび両側DOEを通して通過する、レーザビームによって形成される光パターンの画像を含んでもよい。種々の実施形態によると、両側DOEの各表面上に形成される格子パターンは、画像上の中心強度ピークの明度を所定の量まで低減させるように選択される。種々の実施形態によると、両側DOEの各表面上に形成される、格子パターンは、画像上の中心強度ピークの明度をレーザ源から放出されるレーザビームの約1.1±0.5%まで低減させるように選択される。いくつかの実施形態では、画像は、任意の間隙を伴わない、サブパターンの繰り返しを含んでもよい。例えば、画像は、任意の間隙をタイル間に伴わずに、同一サブパターンの9つのタイルを含んでもよい。
【0062】
種々の実施形態によると、各コリメータアセンブリは、コリメートレンズを含む。本方法はまた、レーザビームを各コリメータアセンブリのコリメートレンズに放出するようにレーザ源を構成するステップを含んでもよい。各コリメータアセンブリのコリメートレンズは、両側DOEとレーザ源との間に提供される。
【0063】
ステップ1008では本方法は、コンピューティングデバイスを使用して、データ対を識別するステップであって、各データ対は、画像上の強度ピークと、強度ピークに対応する、両側DOEによって形成される仮想光源とのピクセル座標を含む、ステップを含む。
【0064】
ステップ1010では、カメラの固有のパラメータが、コンピューティングデバイスおよび画像に関する識別されたデータ対を使用して決定される。固有のパラメータは、カメラの焦点距離、主点、および歪曲係数のうちの1つまたはそれを上回るものを含んでもよい。
【0065】
図10に図示される具体的ステップは、いくつかの実施形態による、固有のパラメータを決定し、両側DOEを使用して、カメラを較正するための特定の方法を提供することを理解されたい。ステップの他のシーケンスもまた、代替実施形態に従って実施されてもよい。例えば、代替実施形態は、
図10において概略されたステップを異なる順序において実施してもよい。さらに、
図10に図示される個々のステップは、個々のステップの必要に応じて、種々のシーケンス内で実施され得る、複数のサブステップを含んでもよい。さらに、付加的ステップが、特定の用途に応じて、追加または除去されてもよい。当業者は、多くの変形例、修正、および代替を認識するであろう。
【0066】
実施形態は、以前のシステムに優るいくつかの利点を提供する。実施形態は、それぞれ、具体的格子パターンを各表面上に有する、両側DOEを含む、1つまたはそれを上回るコリメータアセンブリを使用して、実世界画像捕捉デバイスおよび/またはAR/VRディスプレイシステムを較正することを可能にする。両側DOE上の格子は、DOEによって形成される画像パターンの画像上の中心強度ピークの明度は、レーザ源から放出されるレーザビームの約1.1±0.5%まで低減される(例えば、画像の中心強度ピークに到達する、レーザ源から放出されるレーザビームの約1.1±0.5%が、画像の中心強度ピークに到達する)ように形成される。したがって、実施形態は、そのゼロ次仮想光源が最適レベルにおける明度を有する(例えば、両側DOEによって生産された残りの仮想光源にわたって区別可能であるために十分に明るいが、近傍の仮想光源の明度に関してカメラを誤解させるほど明るくはない)、光パターンを作成する、両側DOEを提供する。
【0067】
図11は、いくつかの実施形態による、コンピュータシステム(例えば、画像処理サーバコンピュータ310)の簡略化された概略図である。制御システムとも称され得る、
図11に図示されるようなコンピュータシステム1100は、1つまたはそれを上回るコンピューティングデバイスを含んでもよい。
図11は、種々の実施形態によって提供される方法のステップのいくつかまたは全てを実施し得る、コンピュータシステム1100の一実施形態の概略図を提供する。
図11は、種々のコンポーネントの一般化された例証のみを提供することを意図し、その任意のものまたは全てが、必要に応じて利用されてもよいことに留意されたい。
図11は、したがって、広義には、個々のシステム要素が、比較的に分離された、またはより比較的に統合された様式において、実装され得る、方法を図示する。
【0068】
コンピュータシステム1100は、バス1105を介して電気的に結合され得る、または、必要に応じて、別様に通信し得る、ハードウェア要素を備えるように示される。ハードウェア要素は、限定ではないが、デジタル信号処理チップ、グラフィック加速プロセッサ、および/または同等物等の1つまたはそれを上回る汎用プロセッサおよび/または1つまたはそれを上回る特殊目的プロセッサを含む、1つまたはそれを上回るプロセッサ1110と、限定ではないが、マウス、キーボード、カメラ、および/または同等物を含み得る、1つまたはそれを上回る入力デバイス1115と、限定ではないが、ディスプレイデバイス、プリンタ、および/または同等物を含み得る、1つまたはそれを上回る出力デバイス1120とを含んでもよい。コンピュータシステム1100は、
図3Aに関連して上記に議論されるように、有線または無線結合を通して、カメラ1147(例えば、カメラ308)と通信してもよい。
【0069】
コンピュータシステム1100はさらに、1つまたはそれを上回る非一過性記憶デバイス1125を含み、および/またはそれと通信してもよく、これは、限定ではないが、ローカルおよび/またはネットワークアクセス可能記憶装置を備えることができ、および/または限定ではないが、ディスクドライブ、ドライブアレイ、光学記憶デバイス、ソリッドステート記憶デバイス、例えば、ランダムアクセスメモリ(「RAM」)、および/または読取専用メモリ(「ROM」)を含むことができ、これは、プログラム可能、フラッシュ更新可能、および/または同等物であることができる。そのような記憶デバイスは、限定ではないが、種々のファイルシステム、データベース構造、および/または同等物を含む、任意の適切なデータ記憶装置を実装するように構成されてもよい。
【0070】
コンピュータシステム1100はまた、通信サブシステム1130を含む場合があり、これは、限定ではないが、モデム、ネットワークカード(無線または有線)、赤外線通信デバイス、無線通信デバイス、および/またはチップセット、例えば、Bluetooth(登録商標)デバイス、802.11デバイス、WiFiデバイス、WiMAXデバイス、セルラー通信設備等、および/または同等物を含むことができる。通信サブシステム1130は、1つまたはそれを上回る入力および/または出力通信インターフェースを含み、データが、下記に説明されるネットワーク、すなわち、いくつか例を挙げると、他のコンピュータシステム、テレビ、および/または本明細書に説明される任意の他のデバイス等のネットワークと交換されることを可能にする。所望の機能性および/または他の実装懸念に応じて、ポータブル電子デバイスまたは類似デバイスは、通信サブシステム1130を介して、画像および/または他の情報を通信してもよい。他の実施形態では、ポータブル電子デバイス、例えば、第1の電子デバイスは、コンピュータシステム1100、例えば、入力デバイス1115としての電子デバイスの中に組み込まれてもよい。いくつかの実施形態では、コンピュータシステム1100はさらに、作業メモリ1135を備え、これは、上記に説明されるように、RAMまたはROMデバイスを含むことができる。
【0071】
コンピュータシステム1100はまた、オペレーティングシステム1140、デバイスドライバ、実行可能ライブラリ、および/または他のコード、例えば、1つまたはそれを上回るアプリケーションプログラム1145を含む、作業メモリ1135内に現在位置するように示される、ソフトウェア要素を含むことができ、これは、種々の実施形態によって提供されるコンピュータプログラムを備えてもよく、および/または本明細書に説明されるような他の実施形態によって提供される、方法を実装し、および/またはシステムを構成するように設計されてもよい。単に、一例として、
図10に関連して説明されるもの等の上記に議論される方法に関して説明される1つまたはそれを上回るプロシージャは、コンピュータおよび/またはコンピュータ内のプロセッサによって実行可能なコードおよび/または命令として実装される場合がある。ある側面では、次いで、そのようなコードおよび/または命令は、説明される方法に従って、1つまたはそれを上回る動作を実施するように汎用コンピュータまたは他のデバイスを構成および/または適合させるために使用されることができる。
【0072】
これらの命令および/またはコードのセットは、上記に説明される記憶デバイス1125等の非一過性コンピュータ可読記憶媒体上に記憶されてもよい。ある場合には、記憶媒体は、コンピュータシステム1100等のコンピュータシステム内に組み込まれる場合がある。他の実施形態では、記憶媒体は、コンピュータシステムと別個である、例えば、コンパクトディスク等のリムーバブル媒体である、および/または記憶媒体が、その上に記憶される命令/コードで汎用コンピュータをプログラムする、構成する、および/または適合させるために使用され得るように、インストールパッケージ内に提供される場合がある。これらの命令は、コンピュータシステム1100によって実行可能である、実行可能コードの形態をとる場合があり、および/または、例えば、種々の概して利用可能なコンパイラ、インストールプログラム、圧縮/解凍ユーティリティのいずれかを使用して、コンピュータシステム1100上へのコンパイルおよび/またはインストールに応じて、次いで、実行可能コードの形態をとる、ソースおよび/またはインストール可能コードの形態をとる場合がある。
【0073】
実質的変形例が、具体的要件に従って作製され得ることが当業者に明白であろう。例えば、カスタマイズされたハードウェアもまた、使用される場合があり、および/または特定の要素が、ハードウェア、アプレット等のポータブルソフトウェアを含む、ソフトウェア、または両方内に実装される場合もある。さらに、ネットワーク入/出力デバイス等の他のコンピューティングデバイスへの接続が、採用されてもよい。
【0074】
上記に述べられたように、一側面では、いくつかの実施形態は、コンピュータシステム1100等のコンピュータシステムを採用して、本技術の種々の実施形態に従って、方法を実施してもよい。実施形態のセットに従って、そのような方法のプロシージャのいくつかまたは全てが、プロセッサ1110が、オペレーティングシステム1140および/または作業メモリ1135内に含有されるアプリケーションプログラム1145等の他のコードの中に組み込まれ得る、1つまたはそれを上回る命令の1つまたはそれを上回るシーケンスを実行することに応答して、コンピュータシステム1100によって実施される。そのような命令は、記憶デバイス1125のうちの1つまたはそれを上回るもの等の別のコンピュータ可読媒体から、作業メモリ1135の中に読み込まれてもよい。単に、一例として、作業メモリ1135内に含有される命令のシーケンスの実行は、プロセッサ1110に、本明細書に説明される方法の1つまたはそれを上回るプロシージャを実施させ得る。加えて、または代替として、本明細書に説明される方法の一部は、特殊ハードウェアを通して実行されてもよい。
【0075】
本明細書で使用されるような用語「機械可読媒体」および「コンピュータ可読媒体」は、機械を具体的方式で動作させる、データを提供することに関わる、任意の媒体を指す。コンピュータシステム1100を使用して実装される、ある実施形態では、種々のコンピュータ可読媒体は、実行のための命令/コードをプロセッサ1110に提供する際に関わる場合があり、および/またはそのような命令/コードを記憶および/または搬送するために使用される場合がある。多くの実装では、コンピュータ可読媒体は、物理的および/または有形記憶媒体である。そのような媒体は、不揮発性媒体または揮発性媒体の形態をとってもよい。不揮発性媒体は、例えば、記憶デバイス1125等の光学および/または磁気ディスクを含む。揮発性媒体は、限定ではないが、作業メモリ1135等の動的メモリを含む。
【0076】
物理的および/または有形コンピュータ可読媒体の一般的形態は、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、または任意の他の磁気媒体、CD-ROM、任意の他の光学媒体、パンチカード、紙テープ、孔のパターンを伴う任意の他の物理的媒体、RAM、PROM、EPROM、FLASH-EPROM、任意の他のメモリチップまたはカートリッジ、またはそこからコンピュータが命令および/またはコードを読み取り得る、任意の他の媒体を含む。
【0077】
種々の形態のコンピュータ可読媒体が、実行のための1つまたはそれを上回る命令の1つまたはそれを上回るシーケンスをプロセッサ1110に搬送する際に関わり得る。単に、一例として、命令は、最初に、遠隔コンピュータの磁気ディスクおよび/または光学ディスク上で搬送されてもよい。遠隔コンピュータは、命令をその動的メモリの中にロードし、コンピュータシステム1100によって受信および/または実行されるために、伝送媒体を経由して、命令を信号として送信し得る。
【0078】
通信サブシステム1130および/またはそのコンポーネントは、概して、信号を受信し、バス1105が、次いで、信号および/または信号によって搬送される命令等のデータを作業メモリ1135に搬送し得、そこからプロセッサ1110は、命令を読み出し、実行する。作業メモリ1135によって受信された命令は、随意に、プロセッサ1110による実行の前または後のいずれかにおいて、非一過性記憶デバイス1125上に記憶されてもよい。
【0079】
本明細書に説明される、および/または添付される図に描写されるプロセス、方法、およびアルゴリズムはそれぞれ、具体的かつ特定のコンピュータ命令を実行するように構成される、1つまたはそれを上回る物理的コンピューティングシステム、ハードウェアコンピュータプロセッサ、特定用途向け回路、および/または電子ハードウェアによって実行される、コードモジュールにおいて具現化され、それによって完全または部分的に自動化され得る。例えば、コンピューティングシステムは、具体的コンピュータ命令とともにプログラムされた汎用コンピュータ(例えば、サーバ)または専用コンピュータ、専用回路等を含むことができる。コードモジュールは、実行可能プログラムにコンパイルおよびリンクされる、動的リンクライブラリ内にインストールされ得る、またはインタープリタ型プログラミング言語において書き込まれ得る。いくつかの実装では、特定の動作および方法が、所与の機能に特有の回路によって実施され得る。
【0080】
さらに、本開示の機能性のある実装は、十分に数学的、コンピュータ的、または技術的に複雑であるため(適切な特殊化された実行可能命令を利用する)特定用途向けハードウェアまたは1つまたはそれを上回る物理的コンピューティングデバイスは、例えば、関与する計算の量または複雑性に起因して、または結果を実質的にリアルタイムで提供するために、機能性を実施する必要があり得る。例えば、ビデオは、多くのフレームを含み、各フレームは、数百万のピクセルを有し得、具体的にプログラムされたコンピュータハードウェアは、商業的に妥当な時間量において所望の画像処理タスクまたは用途を提供するようにビデオデータを処理する必要がある。
【0081】
コードモジュールまたは任意のタイプのデータは、ハードドライブ、ソリッドステートメモリ、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、光学ディスク、揮発性または不揮発性記憶装置、同一物の組み合わせ、および/または同等物を含む、物理的コンピュータ記憶装置等の任意のタイプの非一過性コンピュータ可読媒体上に記憶され得る。本方法およびモジュール(またはデータ)はまた、無線ベースおよび有線/ケーブルベースの媒体を含む、種々のコンピュータ可読伝送媒体上で生成されたデータ信号として(例えば、搬送波または他のアナログまたはデジタル伝搬信号の一部として)透過され得、種々の形態(例えば、単一または多重化アナログ信号の一部として、または複数の離散デジタルパケットまたはフレームとして)をとり得る。開示されるプロセスまたはプロセスステップの結果は、任意のタイプの非一過性有形コンピュータ記憶装置内に持続的または別様に記憶され得る、またはコンピュータ可読伝送媒体を介して通信され得る。
【0082】
本明細書に説明される、および/または添付される図に描写されるフロー図における任意のプロセス、ブロック、状態、ステップ、または機能性は、プロセスにおいて具体的機能(例えば、論理または算術)またはステップを実装するための1つまたはそれを上回る実行可能命令を含む、コードモジュール、セグメント、またはコードの一部を潜在的に表すものとして理解されたい。種々のプロセス、ブロック、状態、ステップ、または機能性は、組み合わせられる、再配列される、本明細書に提供される例証的実施例に追加される、そこから削除される、修正される、または別様にそこから変更されることができる。いくつかの実施形態では、付加的または異なるコンピューティングシステムまたはコードモジュールが、本明細書に説明される機能性のいくつかまたは全てを実施し得る。本明細書に説明される方法およびプロセスはまた、いずれの特定のシーケンスにも限定されず、それに関連するブロック、ステップ、または状態は、適切な他のシーケンスで、例えば、連続して、並行に、またはある他の様式で実施されることができる。タスクまたはイベントが、開示される例示的実施形態に追加される、またはそこから除去され得る。さらに、本明細書に説明される実装における種々のシステムコンポーネントの分離は、例証目的のためであり、全ての実装においてそのような分離を要求するものとして理解されるべきではない。説明されるプログラムコンポーネント、方法、およびシステムは、概して、単一のコンピュータ製品においてともに統合される、または複数のコンピュータ製品にパッケージ化され得ることを理解されたい。多くの実装変動が、可能である。
【0083】
本プロセス、方法、およびシステムは、ネットワーク(または分散)コンピューティング環境において実装され得る。ネットワーク環境は、企業全体コンピュータネットワーク、イントラネット、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、パーソナルエリアネットワーク(PAN)、クラウドコンピューティングネットワーク、クラウドソースコンピューティングネットワーク、インターネット、およびワールドワイドウェブを含む。ネットワークは、有線または無線ネットワークまたは任意の他のタイプの通信ネットワークであり得る。
【0084】
本開示のシステムおよび方法は、それぞれ、いくつかの革新的側面を有し、そのうちのいかなるものも、本明細書に開示される望ましい属性に単独で関与しない、またはそのために要求されない。上記に説明される種々の特徴およびプロセスは、相互に独立して使用され得る、または種々の方法で組み合わせられ得る。全ての可能な組み合わせおよび副次的組み合わせが、本開示の範囲内に該当することが意図される。本開示に説明される実装の種々の修正が、当業者に容易に明白であり得、本明細書に定義される一般原理は、本開示の精神または範囲から逸脱することなく、他の実装に適用され得る。したがって、請求項は、本明細書に示される実装に限定されることを意図されず、本明細書に開示される本開示、原理、および新規の特徴と一貫する最も広い範囲を与えられるべきである。
【0085】
別個の実装の文脈において本明細書に説明されるある特徴はまた、単一の実装における組み合わせにおいて実装されることができる。逆に、単一の実装の文脈において説明される種々の特徴もまた、複数の実装において別個に、または任意の好適な副次的組み合わせにおいて実装されることができる。さらに、特徴がある組み合わせにおいて作用するものとして上記に説明され、さらに、そのようなものとして最初に請求され得るが、請求される組み合わせからの1つまたはそれを上回る特徴は、いくつかの場合では、組み合わせから削除されることができ、請求される組み合わせは、副次的組み合わせまたは副次的組み合わせの変動を対象とし得る。いかなる単一の特徴または特徴のグループも、あらゆる実施形態に必要または必須ではない。
【0086】
とりわけ、「~できる(can)」、「~し得る(could)」、「~し得る(might)」、「~し得る(may)」、「例えば(e.g.)」、および同等物等、本明細書で使用される条件文は、別様に具体的に記載されない限り、または使用されるような文脈内で別様に理解されない限り、概して、ある実施形態がある特徴、要素、および/またはステップを含む一方、他の実施形態がそれらを含まないことを伝えることが意図される。したがって、そのような条件文は、概して、特徴、要素、および/またはステップが、1つまたはそれを上回る実施形態に対していかようにも要求されること、または1つまたはそれを上回る実施形態が、著者の入力または促しの有無を問わず、これらの特徴、要素、および/またはステップが任意の特定の実施形態において含まれる、または実施されるべきかどうかを決定するための論理を必然的に含むことを含意することを意図されない。用語「~を備える(comprising)」、「~を含む(including)」、「~を有する(having)」、および同等物は、同義語であり、非限定的方式で包括的に使用され、付加的要素、特徴、行為、動作等を除外しない。また、用語「または」は、その包括的意味において使用され(およびその排他的意味において使用されず)、したがって、例えば、要素のリストを接続するために使用されると、用語「または」は、リスト内の要素のうちの1つ、いくつか、または全てを意味する。加えて、本願および添付される請求項で使用されるような冠詞「a」、「an」、および「the」は、別様に規定されない限り、「1つまたはそれを上回る」または「少なくとも1つ」を意味するように解釈されるべきである。
【0087】
本明細書で使用されるように、項目のリスト「~のうちの少なくとも1つ」を指す語句は、単一の要素を含む、それらの項目の任意の組み合わせを指す。ある実施例として、「A、B、またはCのうちの少なくとも1つ」は、A、B、C、AおよびB、AおよびC、BおよびC、およびA、B、およびCを網羅することが意図される。語句「X、Y、およびZのうちの少なくとも1つ」等の接続文は、別様に具体的に記載されない限り、概して、項目、用語等がX、Y、またはZのうちの少なくとも1つであり得ることを伝えるために使用されるような文脈で別様に理解される。したがって、そのような接続文は、概して、ある実施形態が、Xのうちの少なくとも1つ、Yのうちの少なくとも1つ、およびZのうちの少なくとも1つがそれぞれ存在するように要求することを示唆することを意図するものではない。
【0088】
同様に、動作は、特定の順序で図面に描写され得るが、これは、望ましい結果を達成するために、そのような動作が示される特定の順序で、または連続的順序で実施される、または全ての図示される動作が実施される必要はないと認識されるべきである。さらに、図面は、フローチャートの形態で1つまたはそれを上回る例示的プロセスを図式的に描写し得る。しかしながら、描写されない他の動作も、図式的に図示される例示的方法およびプロセス内に組み込まれることができる。例えば、1つまたはそれを上回る付加的動作が、図示される動作のいずれかの前に、その後に、それと同時に、またはその間に実施されることができる。加えて、動作は、他の実装において再配列される、または再順序付けられ得る。ある状況では、マルチタスクおよび並列処理が、有利であり得る。さらに、上記に説明される実装における種々のシステムコンポーネントの分離は、全ての実装におけるそのような分離を要求するものとして理解されるべきではなく、説明されるプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品においてともに統合される、または複数のソフトウェア製品にパッケージ化され得ることを理解されたい。加えて、他の実装も、以下の請求項の範囲内である。いくつかの場合では、請求項に列挙されるアクションは、異なる順序で実施され、依然として、望ましい結果を達成することができる。