(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-15
(45)【発行日】2024-02-26
(54)【発明の名称】オブジェクトの相互作用的三次元表現
(51)【国際特許分類】
G06F 3/04842 20220101AFI20240216BHJP
G06F 3/04845 20220101ALI20240216BHJP
G06T 19/00 20110101ALI20240216BHJP
G06T 15/00 20110101ALI20240216BHJP
【FI】
G06F3/04842
G06F3/04845
G06T19/00 A
G06T15/00 501
(21)【出願番号】P 2022540683
(86)(22)【出願日】2020-12-29
(86)【国際出願番号】 US2020067257
(87)【国際公開番号】W WO2021138290
(87)【国際公開日】2021-07-08
【審査請求日】2022-07-28
(32)【優先日】2020-01-02
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-12-23
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】517318263
【氏名又は名称】ベイカー ヒューズ ホールディングス エルエルシー
(74)【代理人】
【識別番号】110002871
【氏名又は名称】弁理士法人坂本国際特許商標事務所
(72)【発明者】
【氏名】ベンダル、クラーク アレクサンダー
【審査官】木内 康裕
(56)【参考文献】
【文献】特開平04-111067(JP,A)
【文献】特開2017-126240(JP,A)
【文献】特開2010-134791(JP,A)
【文献】特開2004-054590(JP,A)
【文献】特開平09-016653(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/048 - 3/04895
G06T 19/00
G06T 15/00
(57)【特許請求の範囲】
【請求項1】
方法であって、
三次元に延在する標的表面を特徴付けるデータを受信することと、
グラフィカルユーザインターフェース表示空間において、前記標的表面の第1の部分の二次元画像を含む第1の視覚的表現と、前記第1の視覚的表現に含まれる前記標的表面の前記第1の部分の少なくともサブセットの三次元表現を含む第2の視覚的表現と、をレンダリングすることと、
前記三次元表現との第1のユーザ相互作用に基づいて、前記標的表面の第1の場所の選択を示す第1のユーザ入力を受信することと、
前記三次元表現内の第1の標的位置に第1のグラフィックオブジェクトをレンダリングし、前記二次元画像内の第2の標的位置に第2のグラフィックオブジェクトをレンダリングすることであって、前記第1の標的位置及び前記第2の標的位置は、前記標的表面の前記第1の場所を示す、ことと、
前記三次元表現との第3のユーザ相互作用に基づいて、前記標的表面の第1の場所、第2の場所、及び第3の場所の選択を示す第3のユーザ入力を受信することと、
前記第3のユーザ相互作用に基づいて選択された前記第1の場所、前記第2の場所、及び前記第3の場所に基づいて決定された基準平面上に又は前記基準平面に隣接して位置する前記三次元表現にレンダリングされた前記標的表面の部分を示すことと、を含む、方法。
【請求項2】
前記三次元表現との第2のユーザ相互作用に基づいて、前記標的表面の2つの場所の選択を示す第2のユーザ入力を受信することと、
前記グラフィカルユーザインターフェース表示空間において、前記2つの場所の間の距離を示す第1の値をレンダリングすることと、を更に含む、請求項1に記載の方法。
【請求項3】
前記第2のユーザ相互作用は、
前記三次元表現上の第1の位置を選択することと、
前記三次元表現上の第2の位置を選択することと、を含み、前記第1の位置及び前記第2の位置は、前記2つの場所を示す、請求項2に記載の方法。
【請求項4】
前記第1の場所、前記第2の場所、及び前記第3の場所は、前記二次元画像において所定の色を有する3つのグラフィックオブジェクトの第1のセットと、前記三次元表現において前記所定の色を有する3つのグラフィックオブジェクトの第2のセットと、によって示される、請求項1から3のいずれか1項に記載の方法。
【請求項5】
前記三次元表現において、前記基準平面を示す第3のグラフィックオブジェクトをレンダリングすることと、
前記三次元表現において、前記三次元表現上の標的位置と前記基準平面との間の距離を示す第4のグラフィックオブジェクトをレンダリングすることと、を更に含む、請求項4に記載の方法。
【請求項6】
前記第1のグラフィックオブジェクトとの第4のユーザ相互作用に基づいて、前記三次元表現において第1の経路に沿った前記第1のグラフィックオブジェクトの移動を示す第4のユーザ入力を受信することと、
前記二次元画像において、第2の経路に沿った前記第2のグラフィックオブジェクトの移動をレンダリングすることと、を更に含み、前記第2の経路は、前記第1の経路に沿って横断する前記標的表面上の表面点に関連付けられた、前記二次元画像内のピクセル座標を識別することによって決定される、請求項1から5のいずれか1項に記載の方法。
【請求項7】
システムであって、
少なくとも1つのデータプロセッサと、
前記少なくとも1つのデータプロセッサに結合されたメモリであって、前記メモリが、前記少なくとも1つのデータプロセッサに、
三次元に延在する標的表面を特徴付けるデータを受信することと、
グラフィカルユーザインターフェース表示空間において、前記標的表面の第1の部分の二次元画像を含む第1の視覚的表現と、前記第1の視覚的表現に含まれる前記標的表面の前記第1の部分の少なくともサブセットの三次元表現を含む第2の視覚的表現と、をレンダリングすることと、
前記三次元表現との第1のユーザ相互作用に基づいて、前記標的表面の第1の場所の選択を示す第1のユーザ入力を受信することと、
前記三次元表現内の第1の標的位置に第1のグラフィックオブジェクトをレンダリングし、前記二次元画像内の第2の標的位置に第2のグラフィックオブジェクトをレンダリングすることであって、前記第1の標的位置及び前記第2の標的位置は、前記標的表面の前記第1の場所を示す、ことと、
前記三次元表現との第3のユーザ相互作用に基づいて、前記標的表面の第1の場所、第2の場所、及び第3の場所の選択を示す第3のユーザ入力を受信することと、
前記第3のユーザ相互作用に基づいて選択された前記第1の場所、前記第2の場所、及び前記第3の場所に基づいて決定された基準平面上に又は前記基準平面に隣接して位置する前記三次元表現にレンダリングされた前記標的表面の部分を示すことと、を含む動作を実行させる命令を記憶する、メモリと、を備える、システム。
【請求項8】
前記動作は、
前記三次元表現との第2のユーザ相互作用に基づいて、前記標的表面の2つの場所の選択を示す第2のユーザ入力を受信することと、
前記グラフィカルユーザインターフェース表示空間において、前記2つの場所の間の距離を示す第1の値をレンダリングすることと、を更に含む、請求項7に記載のシステム。
【請求項9】
前記第2のユーザ相互作用は、
前記三次元表現上の第1の位置を選択することと、
前記三次元表現上の第2の位置を選択することと、を含み、前記第1の位置及び前記第2の位置は、前記2つの場所を示す、請求項8に記載のシステム。
【請求項10】
前記第1の場所、前記第2の場所、及び前記第3の場所は、前記二次元画像において所定の色を有する3つのグラフィックオブジェクトの第1のセットと、前記三次元表現において前記所定の色を有する3つのグラフィックオブジェクトの第2のセットと、によって示される、請求項7から9のいずれか1項に記載のシステム。
【請求項11】
前記動作は、
前記三次元表現において、前記基準平面を示す第3のグラフィックオブジェクトをレンダリングすることと、
前記三次元表現において、前記三次元表現上の標的位置と前記基準平面との間の距離を示す第4のグラフィックオブジェクトをレンダリングすることと、を更に含む、請求項10に記載のシステム。
【請求項12】
前記動作は、
前記第1のグラフィックオブジェクトとの第4のユーザ相互作用に基づいて、前記三次元表現において第1の経路に沿った前記第1のグラフィックオブジェクトの移動を示す第4のユーザ入力を受信することと、
前記二次元画像において、第2の経路に沿った前記第2のグラフィックオブジェクトの移動をレンダリングすることと、を更に含み、前記第2の経路は、前記第1の経路に沿って横断する前記標的表面上の表面点に関連付けられた、前記二次元画像内のピクセル座標を識別することによって決定される、請求項7から11のいずれか1項に記載のシステム。
【請求項13】
命令を
含むコンピュータプログラ
ムであって、前記命令は、少なくとも1つのプログラム可能なプロセッサによって実行されると、前記少なくとも1つのプログラム可能なプロセッサに、
三次元に延在する標的表面を特徴付けるデータを受信することと、
グラフィカルユーザインターフェース表示空間において、前記標的表面の第1の部分の二次元画像を含む第1の視覚的表現と、前記第1の視覚的表現に含まれる前記標的表面の前記第1の部分の少なくともサブセットの三次元表現を含む第2の視覚的表現と、をレンダリングすることと、
前記三次元表現との第1のユーザ相互作用に基づいて、前記標的表面の第1の場所の選択を示す第1のユーザ入力を受信することと、
前記三次元表現内の第1の標的位置に第1のグラフィックオブジェクトをレンダリングし、前記二次元画像内の第2の標的位置に第2のグラフィックオブジェクトをレンダリングすることであって、前記第1の標的位置及び前記第2の標的位置は、前記標的表面の前記第1の場所を示す、ことと、
前記三次元表現との第3のユーザ相互作用に基づいて、前記標的表面の第1の場所、第2の場所、及び第3の場所の選択を示す第3のユーザ入力を受信することと、
前記第3のユーザ相互作用に基づいて選択された前記第1の場所、前記第2の場所、及び前記第3の場所に基づいて決定された基準平面上に又は前記基準平面に隣接して位置する前記三次元表現にレンダリングされた前記標的表面の部分を示すことと、を含む動作を実行させる、コンピュータプログラ
ム。
【請求項14】
前記動作は、
前記三次元表現との第2のユーザ相互作用に基づいて、前記標的表面の2つの場所の選択を示す第2のユーザ入力を受信することと、
前記グラフィカルユーザインターフェース表示空間において、前記2つの場所の間の距離を示す第1の値をレンダリングすることと、を更に含む、請求項13に記載のコンピュータプログラ
ム。
【請求項15】
前記第2のユーザ相互作用は、前記三次元表現上の第1の位置を選択することと、
前記三次元表現上の第2の位置を選択することと、を含み、前記第1の位置及び前記第2の位置は、前記2つの場所を示す、請求項14に記載のコンピュータプログラ
ム。
【請求項16】
前記第1の場所、前記第2の場所、及び前記第3の場所は、前記二次元画像において所定の色を有する3つのグラフィックオブジェクトの第1のセットと、前記三次元表現において前記所定の色を有する3つのグラフィックオブジェクトの第2のセットと、によって示される、請求項13から15のいずれか1項に記載のコンピュータプログラ
ム。
【請求項17】
前記動作は、
前記三次元表現において、前記基準平面を示す第3のグラフィックオブジェクトをレンダリングすることと、
前記三次元表現において、前記三次元表現上の標的位置と前記基準平面との間の距離を示す第4のグラフィックオブジェクトをレンダリングすることと、を更に含む、請求項16に記載のコンピュータプログラ
ム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願)
本出願は、米国特許法第119条(e)の下で、2020年1月2日に出願された米国特許仮出願第62/956,465号の優先権を主張するものであり、その内容全体が参照により本明細書に明示的に組み込まれる。
【背景技術】
【0002】
三次元オブジェクト(例えば、表面)が撮像され、グラフィカルユーザインターフェース(GUI)に提示され得る。例えば、オブジェクトの二次元画像(例えば、写真)がGUIに提示され得る。あるいは、オブジェクトの三次元画像(例えば、点群図)がGUIに提示され得る。点群図は、構造光投影法、ステレオ法、写真測量法、飛行時間法などの3D画像技術を使用してオブジェクトの外面上の複数の場所を検出することによって生成され得る。いくつかの実装態様では、外部オブジェクトの複数の画像が組み合わされて、三次元画像の一部分が生成され得る。点群は、計測学、アニメーションなどで製造部品の3Dコンピュータ支援設計(CAD)モデルを生成するために使用され得る。
【発明の概要】
【0003】
開示される主題の様々な態様は、以下の機能のうちの1つ以上を提供することができる。
【0004】
方法は、三次元に延在する標的表面を特徴付けるデータを受信することを含む。方法はまた、グラフィカルユーザインターフェース表示空間において、標的表面の第1の部分の二次元画像を含む第1の視覚的表現と、第1の視覚的表現に含まれる標的表面の第1の部分の少なくともサブセットの三次元表現を含む第2の視覚的表現と、をレンダリングすることを含む。方法は、三次元表現との第1のユーザ相互作用に基づいて、標的表面の第1の場所の選択を示す第1のユーザ入力を受信することを更に含む。方法はまた、三次元表現内の第1の標的位置に第1のグラフィックオブジェクトをレンダリングし、二次元画像内の第2の標的位置に第2のグラフィックオブジェクトをレンダリングすることを含む。第1の標的位置及び第2の標的位置は、標的表面の第1の場所を示す。
【0005】
以下の特徴のうちの1つ以上が、任意の実行可能な組み合わせに含まれ得る。
【0006】
一実装態様では、方法は、三次元表現との第2のユーザ相互作用に基づいて、標的表面の2つの場所の選択を示す第2のユーザ入力を受信することを更に含む。方法はまた、グラフィカルユーザインターフェースにおいて、2つの場所の間の距離を示す値のうちの1つ以上であり得る数値(測定結果)をレンダリングすることを含む。
【0007】
一実装態様では、第2のユーザ相互作用は、(例えば、マウス、タッチスクリーンなどを介して)三次元表現上の第1の位置を選択することと、三次元表現上の第2の位置を(例えば、マウス、タッチスクリーンなどを介して)選択することと、を含み、第1の位置及び第2の位置は、2つの場所を示す。別の実装態様では、方法は、三次元表現との第3のユーザ相互作用に基づいて、標的表面の3つの場所(例えば、第1の場所、第2の場所、及び第3の場所)の選択を示す第3のユーザ入力を受信することを更に含む。方法はまた、3つの選択された場所を含む基準平面上に又は基準平面に隣接して位置する、三次元表現にレンダリングされた標的表面の部分を示すことを含む。場所は、二次元画像で所定の色を有する3つのグラフィックオブジェクト(例えば、それぞれの場所のグラフィックオブジェクト)の第1のセット、及び三次元表現で所定の色を有する3つのグラフィックオブジェクトの第2のセットによって示される。
【0008】
一実装態様では、方法は、三次元表現において、基準平面を示す第3のグラフィックオブジェクトをレンダリングすることと、三次元表現において、三次元表現上の標的位置と基準平面との間の距離を示す第4のグラフィックオブジェクトをレンダリングすることと、を更に含む。別の実装態様では、方法は、第1のグラフィックオブジェクトとの第4のユーザ相互作用に基づいて、三次元表現おいて第1の経路に沿った第1のグラフィックオブジェクトの移動を示す第4のユーザ入力を受信することを含む。方法はまた、二次元画像において、第2の経路に沿った第2のグラフィックオブジェクトの移動をレンダリングすることを含み、第2の経路は、第1の経路に沿って横断する3D表面点に関連付けられた、二次元画像内のピクセル座標を識別することによって決定される。
【0009】
命令を記憶する非一時的コンピュータプログラム製品(すなわち、物理的に具現化されたコンピュータプログラム製品)も記載されており、命令は、1つ以上のコンピューティングシステムの1つ以上のデータプロセッサによって実行されると、少なくとも1つのデータプロセッサに本明細書に記載の動作を実行させる。同様に、1つ以上のデータプロセッサ及び1つ以上のデータプロセッサに結合されたメモリを含み得るコンピュータシステムも記載されている。メモリは、少なくとも1つのプロセッサに、本明細書に記載される動作のうちの1つ以上を実行させる命令を一時的又は永続的に記憶し得る。加えて、方法は、1つ以上のデータプロセッサによって、単一のコンピューティングシステム内か、又は2つ以上のコンピューティングシステム間に分散されるか、のいずれかで実装され得る。このようなコンピューティングシステムは、接続され得、かつネットワーク(例えば、インターネット、無線広域ネットワーク、ローカルエリアネットワーク、広域ネットワーク、有線ネットワークなど)を介した接続を含む1つ以上の接続、複数のコンピューティングシステムのうちの1つ以上の間の直接接続などを経由して、データ及び/若しくはコマンド又は他の命令などを交換し得る。
【0010】
開示される主題のこれらの能力及び他の能力は、以下の図面、発明を実施するための形態、及び特許請求の範囲の閲覧後により完全に理解されよう。
【図面の簡単な説明】
【0011】
これらの特徴及び他の特徴は、添付図面と併せて講じられる以下の発明を実施するための形態からより容易に理解されるであろう。
【
図1】相互作用的なグラフィカルユーザインターフェースにおいて二次元画像及び二次元画像の三次元表現を提示する例示的な方法のフロー図である。
【
図2】標的表面の一部分の二次元画像と、二次元画像に示される標的表面の一部分の三次元表現とを含む例示的なグラフィカルユーザインターフェース(GUI)を示す。
【
図3】アクティブ状態のグラフィックオブジェクトを含む、
図2のGUIの例示的な実施形態を示す。
【
図4】可動状態のグラフィックオブジェクトを含む、
図2のGUIの例示的な実施形態を示す。
【
図5A】
図2のGUI内のグラフィックオブジェクトとの例示的なユーザ相互作用を示す。
【
図5B】
図2のGUI内のグラフィックオブジェクトとの例示的なユーザ相互作用を示す。
【
図5C】
図2のGUI内のグラフィックオブジェクトとの例示的なユーザ相互作用を示す。
【
図7】ズームウィンドウを含む例示的なGUIを示す。
【発明を実施するための形態】
【0012】
三次元オブジェクト(例えば、表面)が撮像され得、撮像されたデータは、検査システムのグラフィカルユーザインターフェース(GUI)で検査のためにユーザに提示され得る。撮像されたデータは、二次元(2D)画像及び/又は三次元(3D)画像として提示され得る。例えば、カメラ、白色光照明器、及び構造光パターンプロジェクタを含む構造光システムが使用され得る。カメラは、白色光照明器を有効にした状態で標的表面の2D白色光画像をキャプチャし得る。カメラはまた、標的表面上に投影された構造光パターンの2D画像をキャプチャし得、次いで、2D白色光画像内のそれぞれのピクセルと関連付けられた3D(x、y、z)座標を計算するために使用され得る。検査システムは、GUIで2D白色光画像を提示し得る。これらの2D及び/又は3D画像は、相互作用的であり得、ユーザが表面を検査すること(例えば、表面上の場所の間の距離を測定する、様々な視点から表面を見る、など)を可能にし得る。いくつかの実装態様では、表面の2D画像及び3D画像の両方が、GUIで同時に提示され得る。3D画像は、2D画像に表示される表面の一部分の三次元表現であり得る。ユーザは、2D画像と相互作用すること(例えば、2D画像上で[マウス、タッチスクリーンなどを介して]カーソルを移動させる、2D画像の部分を選択する、2D画像の部分を拡大する、など)ができ、対応する相互作用は、3D表現で生成され得る。例えば、ユーザは、2D画像上の経路に沿ってカーソルを移動させることができ、検査システムは、3D表現内の経路に沿って移動し得るグラフィックオブジェクト(例えば、別のカーソル)を生成し得る。あるいは、ユーザは、3D表現内の経路に沿って移動し得るグラフィックオブジェクト(例えば、別のカーソル)の生成をもたらし得るタッチスクリーンとの相互作用を介して、2D画像内の経路を選択することができる。この経路は、2D画像内を横切る経路に関連付けられた3D表現内のピクセル座標を識別することによって決定され得る。
【0013】
ユーザは、2D画像を介して間接的に相互作用するのではなく、3D表現(3D点群図とも呼ばれる)と直接相互作用することが望ましい場合がある。例えば、ユーザは、(例えば、測定のために)撮像された表面上の場所を選択することを望む場合があり、3D表現は、表面輪郭の視認性の向上及び/又は2D画像と比較した場所を選択する際の空間精度の改善をユーザに提供し得る。ユーザは、3D表現でグラフィックオブジェクトの対応する移動を見ることによって、2D画像上のカーソルの位置を変えること(撮像された表面を横断することに対応する)ができるが、このプロセスは、面倒かつ非効率的であり得る。本出願は、ユーザが3D表現と直接相互作用し、2D画像で対応する相互作用を生成すること(例えば、マウスを介して直接相互作用する、タッチスクリーンを介して相互作用する、など)を可能にする、改善された検査システムを提供する。
【0014】
図1は、標的表面の二次元画像と、二次元画像に示される標的画像の三次元表現とを示す相互作用的なグラフィカルユーザインターフェースを提示する例示的な方法のフロー図である。102では、三次元で延在する標的表面を特徴付けるデータが(例えば、検査システム内のコンピューティングデバイスによって)受信され得る。このデータは、標的表面(例えば、2つの表面を接合する溶接)を撮像することによって生成され得、標的表面の三次元情報(例えば、標的表面の輪郭)を含み得る。標的表面を特徴付けるデータは、記憶デバイスに記憶され得(例えば、サーバにリモートで記憶される)、コンピューティングデバイスに転送され得る。
【0015】
図1に戻り、104では、標的表面の少なくとも第1の部分の二次元画像を含む第1の視覚的表現と、第1の視覚的表現に含まれる二次元画像に示される標的表面の第1の部分の三次元表現を含む第2の視覚的表現とが、GUIにレンダリングされ得る。
図2は、標的表面の一部分の2D画像を含む第1の視覚的表現202を有する例示的なGUI200を示す。GUI200はまた、第1の視覚的表現202内の二次元画像に示される標的表面の一部分の三次元表現を含む第2の視覚的表現204を含む。第1/第2の視覚的表現202/204は、場所(例えば、グラフィックオブジェクト210)、グラフィックオブジェクトを接続する線、測定値(例えば、測定値208)などの選択を示し得るグラフィックオブジェクトを含み得る。
【0016】
いくつかの実装態様では、カーソルなどのグラフィックオブジェクトを使用して、表示される表面上の特徴の幾何学的寸法を決定するために、表示される表面上の場所が選択され得る。例えば、2つの金属プレートを接続する溶接の高さを測定するために、点-平面測定が使用されてもよく、3つの基準平面カーソルは、1つのプレート上の3つの基準平面場所を選択するように配置され得、第4のオフセットカーソルは、溶接の遠縁上の1つのオフセット場所を選択するように配置され得る。基準平面場所に関連付けられた3D座標を使用して、基準平面が決定され得、基準平面から、基準平面に垂直な方向に沿ったオフセット場所に関連付けられた3D座標までの距離が計算されて、測定結果として表示され得る。また、オフセットカーソルと区別するために、3つの基準平面カーソルを接続する線が追加されてもよい。オフセット場所から基準平面への投影を表す線も追加されてもよい。また、異なる関係又は関連する関数を示すために、異なる数のカーソルを使用し、かつ異なるタイプのグラフィックオブジェクトを含む、長さ、面積、点から線の距離などの他のタイプの測定が実行されてもよい。
【0017】
いくつかの実装態様では、2D画像又は3D表現の上にグラフィックオブジェクトをレンダリングするときに、3D座標は考慮されず、その結果、表示されるGUIでは、任意の3D関係を決定することなく、2D画像又は3D表現のピクセルがグラフィックオブジェクトによって部分的又は完全に隠される。別の実施形態では、グラフィックオブジェクトは3D空間内に画定され、3D空間内に表示される標的表面及び他のグラフィックオブジェクトとのその関係は、GUIでの見え方に影響を及ぼす。例えば、3D表現204の一部として表示される球体214は、割り当てられた中心3D座標及び画定された半径を有し得る。標的表面がある視点からレンダリングされる場合であって、球体214の第1の部分が、標的表面の任意の部分よりもその視点に近く、球体214の第2の部分が、標的表面の一部分よりもその視点から離れている場合、第2の部分は、表面によって部分的又は完全に遮蔽され得、第1の部分は、標的表面の一部分を部分的に又は完全に遮蔽し得る。したがって、球体214は、非ゼロの体積を有するように見え、単純に3D表現204の上にレンダリングされた2Dグラフィックオブジェクトではなく、3Dシーンの一部であるように見える。
【0018】
いくつかの実装態様では、3D表現204に示されるグラフィックオブジェクトは、グラフィックプロセッシングユニット(Graphics Processing Unit、GPU)によってレンダリングされる1つ以上の三角形によって画定される。例えば、複数の三角形が使用されて、グラフィックオブジェクト又はその部分(例えば、球体、トロイドなど)の形状が形成され得る。グラフィックオブジェクトは、基準平面(例えば、ユーザによって選択された基準平面)に対して配向され得る。例えば、グラフィックオブジェクトは、基準平面に関連付けられた法線ベクトルに対して配向され得る。
【0019】
いくつかの実装態様では、検査システムは、3D座標を計算し、計算された3D座標に基づいてGUIに3D表現をレンダリングし得る。例えば、計算された3D座標は、3D三角形の頂点を画定するために使用され得、次いで、標的表面に対する位置が自由に割り当てられ得る仮想カメラの観点から3D画像をレンダリングするように、グラフィックプロセッシングユニット(GPU)を使用して処理され得る。いくつかの実装態様では、3D座標は、2D画像のピクセルに関連付けられ得、2Dピクセルに関連付けられた標的表面上の点の位置を示し得る。検査システムは、3D表現で3D表面点のセットを生成し得、それぞれの3D表面点は、複数の3D座標のうちの1つと、関連付けられた2D画像ピクセルの色に基づく色とを含む。
【0020】
いくつかの実装態様では、グラフィックオブジェクトは、相互作用的であり得る(例えば、ユーザは、グラフィックオブジェクトをクリックする、2D/3D画像上でグラフィックオブジェクトをドラッグする、などのことができる)。第1/第2の視覚的表現における所与のグラフィックオブジェクト(例えば、3D表現の球体214)について、検査システムは、隣接する視覚的表現内に対応するグラフィックオブジェクトを生成し得る。例えば、検査システムは、3D表現のグラフィックオブジェクト214に対応する、2D画像のグラフィックオブジェクト216を生成し得る。更に、グラフィックオブジェクト214及び216は、(例えば、円、球体などを使用して)識別され得る。
【0021】
グラフィックオブジェクトの視覚的特性は、グラフィックオブジェクトの状態(例えば、アクティブ、非アクティブ、可動など)を示し得る。例えば、
図2に示すように、測定結果を提供するグラフィックオブジェクト208は、青色の輪郭によって示されるようにアクティブ状態にあり得、この時点で、グラフィックオブジェクト214は、3Dシーンの一部としてレンダリングされた固体球体によって表され得、グラフィックオブジェクト216は、2D画像の上に描かれた円で表され得る。これは、カーソルが非アクティブであることを示し得る。カーソルとの(例えば、マーカ214/216上に相互作用的なカーソルを置くことによる)相互作用時、マーカはアクティブになり得る。
図3は、アクティブ化されたマーカ214/216を有するGUI200の例示的な実施形態を示す。例えば、3D表現でアクティブ化されたマーカ214は、球体の周りに円環を有する球体によって表され得る。2D画像内の対応するマーカ216は、青色の円(例えば、
図2の非アクティブな緑色の円と比較してサイズが大きい)で表され得る。
【0022】
図4は、マーカ214/216が可動状態にあるGUI200の別の例示的な実施形態を示す。これは、マーカ214/216が3D表現/2D画像内で移動され得ることを示す。可動状態のマーカは、非アクティブ状態又はアクティブ状態のマーカのものとは異なる視覚的表現によって提示され得る。例えば、
図4に示すように、可動状態のマーカ214は、より小さい球体(アクティブ状態と比較して)及び球体を囲むより大きい円環(アクティブ状態と比較して)によって表される。グラフィックオブジェクト(例えば、マーカ214)は、異なる状態間を(例えば、ユーザからの入力に基づいて)切り替えることができる。
【0023】
図1に戻り、106では、標的表面の第1の場所の選択を示す第1のユーザ入力が受信され得る(検査システムの「第1の入力モード」)。受信は、三次元表現とのユーザ相互作用に基づき得る。例えば、ユーザは、3D表現で(例えば、クリックする、GUI200を表示するタッチスクリーンにタッチする、などによって)カーソルを移動させて位置222に置き、位置220を選択することができる。あるいは、ユーザは、3D表現でカーソルを移動させて位置220に置き、既存のグラフィックオブジェクト214を選択することができる。ユーザ相互作用としては、例えば、3D表現上の複数の位置の選択(例えば、マウスの複数のクリック、タッチスクリーン上の複数のタッチなど)が挙げられ得る。
【0024】
いくつかの実装態様では、ユーザは、タッチ、マウスドラッグ、ジョイスティックの移動、矢印キー、ズームウィンドウの押下などのうちの1つ以上を介してグラフィックオブジェクトの所望される新しい位置又は位置の変化を示すことができる。グラフィックオブジェクトの新しい場所に基づいて、検査システムは、2D画像内(例えば、選択が3D表現内である場合)又は3D表現内(例えば、選択が2D画像内である場合)の対応する場所を決定し得る。例えば、ユーザによって選択された新しい位置は、GUI200のスクリーンピクセル座標(例えば、2Dピクセル座標)にあり得る。それぞれのスクリーンピクセル座標は、3D表現の座標系で光線に関連付けられ得る。検査システムは、選択されたスクリーンピクセル座標及び3D表現の配向に基づいて、この光線を計算し得る。標的表面(又はその一部分)の3D表現は、複数の三角形を使用して形成され得、計算された光線は、三角形のうちの1つで標的表面の3D表現に衝突し得る。
【0025】
追加的又は代替的に、いくつかの実装態様は、ユーザが異なる観点からの検査のために3D表現を回転させ、異なる入力モードで動作するときに同じユーザ入力を使用して3Dグラフィックオブジェクト(例えば、球体214)の場所を調整することを可能にし得る。例えば、第1の入力モードでは、左マウスボタンを押したままのマウスのドラッグ、タッチスクリーンドラッグ、ジョイスティックのプッシュ、又はキーボード上のキーの押下などのユーザ入力は、第2の視覚的表現204に示されるオブジェクトの表面上で可動状態にある3Dグラフィックオブジェクトの位置を変化させ得る一方、第2の入力モードでは、それらの同じユーザ入力は、オブジェクトの表面上の任意の3Dグラフィックオブジェクトの位置を変化させずに3D表現を回転させ得る。第1の入力モード(3Dグラフィックオブジェクトの移動)から第2の入力モード(回転)に移行するために、ユーザは、任意の3Dグラフィックオブジェクトから少なくとも最小距離である場所をクリック若しくはタップするか、又は指定のボタンを押すことができ、これによって、可動状態にある任意のグラフィックオブジェクトがアクティブ状態又は非アクティブ状態に移行することになる。第2の入力モード(回転)から第1の入力モード(3Dグラフィックオブジェクトの移動)に移行するために、ユーザは、3Dグラフィックオブジェクトから最大距離内をクリック又はタップすることができ、その時点で、グラフィックオブジェクトは可動状態に入ることになる。3Dグラフィックオブジェクトの偶発的な移動のリスクを最小限に抑えるために、いくつかの実装態様は、第2の入力モードから第1の入力モードへの移行が発生する前に、マウスを大きく動かすか又は指若しくスタイラスでタッチすることなく、3Dグラフィックオブジェクトに近接した場所でマウスボタンを押して解放するか、又はタッチスクリーンに接触して接触解除することを必要とし得る。第1の入力モードに移行した後、3Dグラフィックオブジェクトの近くの点で開始されたマウス又はタッチドラッグ(106でのユーザ入力)は、3D表現のいかなる回転も伴わずにそのオブジェクトの移動をもたらし得る。更に、第1の入力モードに入った後、いくつかの実装態様は、マウス又はタッチドラッグの開始位置と可動状態にある3Dグラフィックオブジェクトとの間のオフセットを検出し、ステップ108におけるマウス又はタッチポイントと3Dグラフィックオブジェクトの更新された位置との間のオフセットを維持して、3Dグラフィックオブジェクトの再配置中に、ユーザが3Dグラフィックオブジェクトの遮られない表示を維持することを可能にし得る。そうでなければ、使用されるマウスカーソル又は指若しくはスタイラスによって遮られて、正確に位置付けることが困難になり得る。したがって、いくつかの実装態様では、第2の入力モードと第1の入力モードとの間の動作変化は、GUI上のグラフィックオブジェクトの第1のピクセル位置(例えば、ステップ106で選択されたピクセル)と、マウス又はトラックボール上のボタンが押されたときに表示デバイス上に表示されるマウス又はトラックボールカーソルの表示デバイス上のピクセル位置、又は接触が開始されるタッチ感知パネル上の点に関連付けられた表示デバイス上のピクセル位置との間の距離に少なくとも部分的に基づき得る。
【0026】
108で、第1のグラフィックオブジェクトは、三次元表現内の第1の標的位置にレンダリングされ、第2のグラフィックオブジェクトは、二次元画像内の第2の標的位置にレンダリングされ得る。例えば、場所222におけるステップ106での相互作用に基づいて、新しいグラフィックオブジェクト(例えば、グラフィックオブジェクト210)は、第2の視覚的表現204において3D表現で生成され得る。加えて、第2のグラフィックオブジェクト230は、第1の視覚的表現202において2D画像内の位置232に生成され得る。3D表現内の位置210及び2D画像内の位置232は、標的表面上の同じ場所を示し得る。
【0027】
別の実装態様では、ステップ106での相互作用は、既存のグラフィックオブジェクト(例えば、マーカ214)をアクティブにし得る。マーカ214はいったんアクティブになると、操作可能になる。例えば、マーカ214は、第2の視覚的表現204の3D表現において移動され得る。
図5A~
図5Cは、マーカ214との例示的な相互作用を示す。検査デバイスは、3D表現内の第1の経路に沿ったグラフィックオブジェクト(例えば、マーカ214)の移動を示す入力を受信し得る。この入力は、マーカ214とのユーザ相互作用(例えば、3D表現上でマーカ214をドラッグすること)に基づき得る。
図5Bに示すように、マーカ214とのこのユーザ相互作用に基づいて、2D画像内のマーカ216は、第2の経路に沿って移動し得る。第2の経路は、第1の経路に沿って横断する3D表面点に関連付けられた、2D画像内のピクセル座標を識別することによって決定され得る。いくつかの実装態様では、3D表現は、表示されたオブジェクトの表面上の特徴の個々の測定を形成するマーカの位置を使用して決定された、3D関心領域内に入る3D表面点のみを含み得る。ステップ108でマーカ(例えば、214)の位置が変更されると、関心領域は、それに応じて、3D表現で3D表面によって占められるスクリーン空間の増加又は減少をもたらすように変更され得る。ステップ108中に3D表現の倍率及び/又は位置を調整すると、表面がマウスカーソル又はタッチスクリーン上の指/スタイラスの下で移動し、それによってマウス/タッチ場所に表示される表面点が変化しているときに、マーカ位置を制御することが困難になり得る。一実装態様では、ユーザは、ディスプレイ上の3D表現の所望のサイズを維持するためにマーカを移動させた後に、手動で3D表現を中心転換及び/又はサイズ変更することが必要になる。あるいは、3D表現は、より効率的な動作をもたらす第2の視覚的表現204で、自動的にサイズ変更及び中心転換され得る。例えば、3D表現のサイズ変更は、3D表現の面積(又は倍率)を(例えば、所定の比率で)減少又は増加させることを含み得、中心転換は、3D表現の中心を決定することと、3D表現の中心を第2の視覚的表現204の所定の中心に置くことと、を含み得る。自動のサイズ変更及び/又は中心転換は、ステップ108の完了時に行われ得る。例えば、ステップ106でのユーザ入力が、マウスボタンを押している間のマウスドラッグである場合、マウスボタンが解放されたときに自動のサイズ変更/中心転換が実行され得る。ステップ106でのユーザ入力が、タッチスクリーンでの指又はスタイラスの移動である場合、タッチスクリーンとの接触が解除されたときに、自動サイズ変更/中心転換が実行され得る。ステップ106でのユーザ入力が、その中心位置から離れる方向へのジョイスティックのプッシュである場合、ジョイスティックがその中心位置に近い点に戻るときに、自動のサイズ変更/中心転換が実行され得る。
【0028】
いくつかの実装態様では、標的オブジェクト上の2つの場所の間の距離は、GUI200との相互作用に基づいて決定され得る。例えば、ユーザは、第2の視覚的表現204内の3D表現と(例えば、カーソルを介して)相互作用し、3D表現上の2つの位置(標的表面の表面上の2つの場所を示す)を(2つの位置をクリックする、相互作用的タッチスクリーンで2つの位置にタッチする、などによって)選択し得る。これは、例えば、GUI200を測定モードで動作するように設定することによって(例えば、GUIのタスクバーから測定モードを選択することによって)行われ得る。2つの場所が標的表面上で選択された後、検査システムは、GUI200内の2つの場所の間の距離を計算して提示し得る。例えば、様々な寸法に沿った(例えば、x軸、y軸、z軸などに沿った)2つの場所及び/又は距離の間のユークリッド距離が、計算されて提示され得る。
【0029】
いくつかの実装態様では、標的オブジェクトの複数の測定は、GUI200との相互作用に基づいて実行され得る。ユーザは、様々な測定(例えば、測定値、測定に関連付けられたグラフィックオブジェクトなど)の間を切り替えることができる。
図6は、様々な測定間の例示的な切り替えを示す。例えば、ユーザは、ユーザが測定間で切り替えられるようにし得るGUI内の「次の測定」アイコンを選択することができる。一実装態様では、検査システムによって実行される方法は、第1の複数の測定カーソルを含む第1の測定と、第2の複数の測定カーソルを含む第2の測定とを定義することを含み得る。それぞれの測定カーソルは、2D画像内のピクセルの場所に関連付けられ得る。この方法は、第1の複数の測定カーソル(又はマーカ)の場所に基づいて第1の3D関心領域を決定することと、第2の複数の測定カーソル(又はマーカ)の位置に基づいて第2の3D関心領域を決定することと、を更に含み得る。第1の3Dグラフィックオブジェクトは、第1の複数の測定カーソルに関連付けられた第1の複数の3Dグラフィックオブジェクトのうちの1つであり得、第2の複数の3Dグラフィックオブジェクトは、第2の複数の測定カーソルに関連付けられ得る。第1の3D画像は、第2の複数の3Dグラフィックオブジェクトではなく、第1の複数の3Dグラフィックオブジェクトを含み得、オブジェクトの表面の第1の表現は、第1の3D関心領域外にある3D表面点を除外し、測定選択ユーザ入力アクションに応答して、新しい3D画像が表示される。新しい3D画像は、第2の複数の3Dグラフィックインジケータと、第2の3D関心領域外にある3D表面点を除外するオブジェクトの表面の新しい表現と、を含み得る。
【0030】
いくつかの実装態様では、基準表面は、第2の視覚的表現204内の3D表現で生成され得る。基準表面は、標的表面上の位置が測定又は識別され得る位置に対する基準として使用され得る。基準表面は、標的表面の3つの場所の選択を示すユーザ入力を受信し、選択された3つの選択位置を含む基準表面を生成することによって生成され得る。いくつかの実装態様では、生成された基準表面(例えば、基準表面の縁部/頂点/マーカ)は、第2の視覚的表現204内の3D表現上に重ね合わされ得る。追加的又は代替的に、基準表面上に又は基準表面に隣接して位置する(例えば、基準平面からの所定の距離内にある)標的表面の部分は、3D表現において(例えば、所定の色で標的表面のこれらの部分を色分けすることによって)視覚的に示され得る。いくつかの実装態様では、グラフィックオブジェクト(例えば、線)は、基準平面に対する標的表面上の場所(例えば、所定の標的位置)(例えば、場所222)を示し得る3D表現にレンダリングされ得る。
【0031】
いくつかの実装態様では、二次3D表現は、第2の視覚的表現204内の第1の3D表現と同時に表示され得る。二次3D表現は、第1の3D表現の倍率とは異なる倍率で3D表面点から生成される標的表面の二次表現を含み得る。第1の3D表現及び二次3D表現は、同様の3D観点からレンダリングされ得、第1の3Dカーソルポイントは、二次3D表現内に表示され得る。いくつかの実装態様では、ステップ106でのユーザ入力は、二次3D表現内で起こり得、GUI上の第2のピクセル位置は、GUI上の第1のピクセル位置からオフセットされ得る。オフセットの方向は、二次3D画像上の第1のユーザ入力アクションの位置から導出され得る。いくつかの実装態様では、標的表面の第1の表現は、2D画像内の色とは異なる色を含み、オブジェクトの表面の二次表現は、2D画像からの色を含む。
【0032】
いくつかの実装態様では、GUIは、GUI内の3D表現及び/又は2D画像の一部分を拡張し得るズームウィンドウを含み得る。
図7は、2D画像を含む第1の視覚的表現302と、第1の視覚的表現302内の2D画像の3D表現を含む第2の視覚的表現304と、を含む、例示的なGUI300を示す。第2の視覚的表現304は、3D表現の一部分の拡張ビューを提供し得るズームウィンドウ306を含む。例えば、ズームウィンドウ306は、3D表現上のカーソル付近に位置する3D表現の一部分を拡張し得る。カーソルが新しい位置に移動すると、ズームウィンドウは、カーソルの新しい位置を取り囲む3D提示の部分を表示する。いくつかの実装態様では、ズームウィンドウ306は、いずれのグラフィックオブジェクトも含まず、標的表面(又はその一部分)の妨げられない表示を提供する。3D表現の配向が変更されると、ズームウィンドウ306は、新しい配向の3D表現に対するカーソルの観点からの標的表面(又はその一部分)を表示する。ズームウィンドウ306は、第2の視覚的表現304の倍率に関係なく、3D表現の同じ部分を同時に表示し得る。
【0033】
いくつかの実装態様では、第1の視覚的表現202及び第2の視覚的表現204の両方は、標的表面の異なる部分の3D表現を含み得る。これにより、ユーザは、標的表面の異なる部分の三次元点群図に同時にアクセスすることができる。いくつかの実装態様では、GUI200は、標的表面の第3の部分の第3の3D表現を含み得る、第3の視覚的表現(図示せず)を含み得る。様々な3D表現が、異なる視点から提示され得る。標的表面の第3の3D表現を有する第3の視覚的表現は、1つ以上のユーザ入力の受信に基づいて生成され得る。例えば、1つ以上のユーザ入力としては、
図1のステップ106で(例えば、タッチ感知パネルと接触する指又はスタイラスの移動に基づいて)受信されたユーザ入力、及び/又は指若しくはスタイラスとタッチ感知パネルとの間の接触を解除することを含み得る第2のユーザ入力が挙げられ得る。いくつかの実装態様では、第1のユーザ入力は、マウス又はトラックボール上のボタンを押している間のマウス又はトラックボールの移動に基づき得、第2のユーザ入力は、マウス又はトラックボール上のボタンを解放することに基づき得る。いくつかの実装態様では、グラフィックオブジェクトの外観は、第1の入力モードと第2のユーザ入力モードとの間の移行時に変化する。例えば、第1の入力モードにおける第1のグラフィックオブジェクトは、トロイドの形状に近似させるために組み合わされた第1のグループの三角形を含み得、第2の入力モードにおける対応するグラフィックオブジェクトは、近似させたトロイドのサイズ、色、視認性、又は形状の変化を含み得る。
【0034】
一実装態様では、ユーザは、3D表現の倍率を(例えば、第2の視覚的表現204内で)変えるためのズーム制御入力を(例えば、ステップ106で)提供することができる。倍率は、初期3D表現を第1のスケール係数で変化させ得る。拡大前及び拡大後のグラフィックオブジェクトのサイズは、第2のスケール係数分だけ異なり得る。第1及び第2のスケール係数は異なり得、第2のスケール係数は1に等しくなくてもよい。例えば、3D表現が2.0のスケール係数で拡大される場合、3Dグラフィックオブジェクトのサイズは、1.4のスケール係数によって増加され得る。これにより、グラフィックオブジェクトを一定のサイズに保つか、又は3D表現と同じスケール係数によってグラフィックオブジェクトのサイズを増加させるよりも、好ましいユーザ体験が提供され得る。
【0035】
図2~
図7は、標的表面の一部分の二次元及び三次元の両表現を含むGUIを示す。いくつかの実装態様(図示せず)では、GUIは、標的表面の一部分の三次元表現のみを含み得る。上述のように、ユーザは、三次元表現との様々な相互作用を実行する(例えば、標的表面上の複数の位置を選択する、ズームウィンドウを使用して3D表現の一部分の拡張ビューを提供する、標的表面の異なる部分の3D点群図に同時に提供する、など)。
【0036】
「Stereo-measurement borescope with 3-D viewing」と題する米国特許第7,170,677号、及び「Fringe projection system and method for a probe suitable for phase-shift analysis」と題する米国特許第7,821,649号の全内容は、参照により本明細書に明示的に組み込まれる。
【0037】
他の実施形態は、開示される主題の範囲及び趣旨の範囲内である。例えば、本出願に記載の検査システムは、機械(例えば、発電タービン)の性能を変えるために変更される必要がある複数の動作パラメータを有する複雑な機械を有する施設で使用され得る。本出願における「最適化する(optimize)」/「最適化(optimizing)」という単語の使用は、「改善する(improve)」/「改善(improving)」を意味することができる。
【0038】
本明細書に開示されるシステム、デバイス、及び方法の構造、機能、製造、及び使用の原理の全体的な理解を提供するために、特定の例示的な実施形態が本明細書に記載されている。これらの実施形態の1つ以上の例が、添付の図面に示されている。当業者は、本明細書に明確に記載され、添付の図面に例示されるシステム、デバイス、及び方法が、非限定的な例示的な実施形態であること、及び本発明の範囲が特許請求の範囲によってのみ定義されることを理解するであろう。例示的な一実施形態に関連して図示又は記載される特徴は、他の実施形態の特徴と組み合わされてもよい。かかる修正及び変形は、本発明の範囲内に含まれることが意図される。更に、本開示では、実施形態の類似する名称の構成要素は、概して類似の特徴を有しており、ゆえに、特定の実施形態において類似する名称のそれぞれの構成要素のそれぞれの特徴については、必ずしも完全には詳述していない。
【0039】
本明細書に記載される主題は、本明細書に開示される構造的手段及びその構造的等価物を含むデジタル電子回路に、又はコンピュータソフトウェア、ファームウェア、若しくはハードウェアに、又はそれらの組み合わせに実装され得る。本明細書に記載される主題は、データ処理装置(例えば、プログラマブルプロセッサ、コンピュータ、又は多数のコンピュータ)による実行のため又はその動作を制御するため、情報キャリアで(例えば、機械可読記憶デバイスで)明白に具現化されるか、又は伝播信号で具現化される、1つ以上のコンピュータプログラムなどの、1つ以上のコンピュータプログラム製品として実装され得る。コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、又はコードとしても既知である)は、コンパイル又は解釈された言語を含む任意の形態のプログラミング言語で書くことができ、独立型プログラムとして、又はモジュール、構成要素、サブルーチン、若しくはコンピューティング環境での使用に好適な他のユニットとしてなど、任意の形態で展開され得る。コンピュータプログラムは、必ずしもファイルに対応しない。プログラムは、他のプログラム若しくはデータを保持するファイルの一部分に、当該プログラム専用の単一ファイルに、又は多数の調整されたファイル(例えば、1つ以上のモジュール、サブプログラム、若しくはコードの部分を記憶するファイル)に記憶され得る。コンピュータプログラムは、1つのコンピュータ上で若しくは1つのサイトの多数のコンピュータ上で実行されるように、又は多数のサイトに分散され、通信ネットワークによって相互接続されるように展開され得る。
【0040】
本明細書に記載される主題の方法工程を含む、本明細書に記載されるプロセス及び論理フローは、入力データ上で動作し、出力を生成することによって、本明細書に記載される主題の機能を実行するために1つ以上のコンピュータプログラムを実行する1つ以上のプログラム可能なプロセッサによって実行され得る。プロセス及び論理フローはまた、専用論理回路、例えば、FPGA(field programmable gate array、フィールドプログラマブルゲートアレイ)又はASIC(application-specific integrated circuit、特定用途向け集積回路)によって実行され得、本明細書に記載される主題の装置は、かかる専用論理回路として実装され得る。
【0041】
コンピュータプログラムの実行に好適なプロセッサとしては、例えば、汎用マイクロプロセッサ及び専用マイクロプロセッサの両方、並びに任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサが挙げられる。一般的に、プロセッサは、読み出し専用メモリ若しくはランダムアクセスメモリ、又はその両方から命令及びデータを受信することとなる。コンピュータの必須要素は、命令を実行するためのプロセッサ、並びに命令及びデータを記憶するための1つ以上のメモリデバイスである。一般的に、コンピュータはまた、データを記憶するための1つ以上の大容量記憶デバイス、例えば、磁気ディスク、光磁気ディスク、若しくは光ディスクを含むか、又はそこからデータを受信する、そこにデータを転送する、若しくはその両方を行うように動作可能に結合される。コンピュータプログラム命令及びデータを具現化するのに好適な情報キャリアとしては、例として、半導体メモリデバイス(例えば、EPROM、EEPROM、及びフラッシュメモリデバイス)と、磁気ディスク(例えば、内部ハードディスク又はリムーバブルディスク)と、光磁気ディスクと、光ディスク(例えば、CD及びDVDディスク)と、を含む、不揮発性メモリの全ての形態が挙げられる。プロセッサ及びメモリは、専用論理回路によって補完されるか、又はその中に組み込まれ得る。
【0042】
ユーザとの相互作用を提供するために、本明細書に記載される主題は、ユーザに情報を表示するためのディスプレイデバイス、例えば、CRT(cathode ray tube、陰極線管)又はLCD(liquid crystal display、液晶ディスプレイ)モニタ、並びにユーザがコンピュータに入力を提供するのに利用し得るキーボード及びポインティングデバイス(例えば、マウス又はトラックボール)又はタッチスクリーンを有するコンピュータ上に実装され得る。他の種類のデバイスを使用して、ユーザとの相互作用を提供することもできる。例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であり得、ユーザからの入力は、音響、音声、又は触覚入力を含む任意の形態で受信され得る。
【0043】
本明細書に記載される技術は、1つ以上のモジュールを使用して実装され得る。本明細書で使用するとき、「モジュール」という用語は、コンピューティングソフトウェア、ファームウェア、ハードウェア、及び/又はそれらの様々な組み合わせを指す。しかしながら、最低でも、モジュールは、ハードウェア、ファームウェア上に実装されていないか、又は非一時的プロセッサの読み取り可能で記録可能な記憶媒体(すなわち、モジュールはソフトウェアそれ自体ではない)上に実装されていないソフトウェアとして解釈されるべきではない。実際に、「モジュール」は、プロセッサ又はコンピュータの一部などの少なくとも何らかの物理的な非一時的ハードウェアを常に含むものと解釈されるべきである。2つの異なるモジュールは、同じ物理ハードウェアを共有し得る(例えば、2つの異なるモジュールは、同じプロセッサ及びネットワークインターフェースを使用し得る)。本明細書に記載されるモジュールは、様々な用途をサポートするために組み合わせ、統合、分離、及び/又は複製が可能である。また、特定のモジュールで実行されるものとして本明細書に記載される機能は、特定のモジュールで実行される機能の代わりに、又はそれに加えて、1つ以上の他のモジュールで、及び/又は1つ以上の他のデバイスによって実行され得る。更に、モジュールは、互いにローカル又はリモートの多数のデバイス及び/又は他の構成要素にまたがって実装され得る。加えて、モジュールを1つのデバイスから移動し、別のデバイスに追加することができ、かつ/又は両方のデバイスに組み込むこともできる。
【0044】
本明細書に記載される主題は、バックエンド構成要素(例えば、データサーバ)、ミドルウェア構成要素(例えば、アプリケーションサーバ)、若しくはフロントエンド構成要素(例えば、グラフィカルユーザインターフェース若しくはウェブインターフェースを有するクライアントコンピュータであって、ユーザはそれらを通して、本明細書に記載される主題の実装と相互作用することができる)、又はかかるバックエンド、ミドルウェア、及びフロントエンド構成要素の任意の組み合わせを含む、コンピューティングシステムに実装され得る。システムの構成要素は、デジタルデータ通信の任意の形態又は媒体、例えば、通信ネットワークによって相互接続され得る。通信ネットワークの例としては、ローカルエリアネットワーク(「local area network、LAN」)及び広域ネットワーク(「wide area network、WAN」)、例えば、インターネットが挙げられる。
【0045】
本明細書及び特許請求の範囲全体を通して本明細書で使用するとき、近似言語は、それが関連する基本機能の変化をもたらすことなく、許容可能に変化し得る、任意の定量的表現を修正するために適用されてもよい。したがって、「約」及び「実質的に」などの用語(単数又は複数)によって修飾された値は、指定された正確な値に限定されるものではない。少なくともいくつかの例において、近似言語は、値を測定するための器具の精度に対応し得る。本明細書において、本明細書及び特許請求の範囲全体を通して、範囲制限の組み合わせ及び/又は交換が行われてもよく、かかる範囲は識別され、文脈又は言語が別段の指示をしていない限り、そこに含まれる全ての部分範囲を含む。