【文献】
葛岡英明(外3名),「ジェスチャを利用した遠隔医療指示支援の提案」,画像ラボ,日本,日本工業出版株式会社,2003年 1月 1日,Vol.14, No.1,第1〜5頁,ISSN:0915-6755
【文献】
後藤道彦(外4名),「作業空間への教師ビデオ重畳表示によるAR支援システム」,画像電子学会誌,日本,一般社団法人画像電子学会,2010年 9月25日,Vol.39, No.5,第631〜643頁,ISSN:0285-9831
(58)【調査した分野】(Int.Cl.,DB名)
リアルタイムで前記複数の要素の各々の存在をレンダリングすることをさらに含み、前記複数の要素の各々は、前記複数の要素のうちの別のものに対して位置合わせされている、請求項1に記載の方法。
前記遠隔要素の存在がリアルタイムでローカル視認者にレンダリングされるように、前記対象の共通フィールドを連続的に更新するステップをさらに含む、請求項1に記載の方法。
前記複数の要素のうちのローカル要素の存在がリアルタイムで遠隔視認者にレンダリングされるように、前記対象の共通フィールドを連続的に更新するステップをさらに含む、請求項1に記載の方法。
前記対象の共通フィールド内の前記複数の要素の各々は、実質的に同様の整列および向きで遠隔視認者およびローカル視認者にレンダリングされる、請求項1に記載の方法。
遠隔フィールドの較正特徴とローカルフィールドの較正特徴とを整列させることによって、前記対象の共通フィールドを較正するステップをさらに含む、請求項1に記載の方法。
前記複数の要素のうちの別のものは、前記対象の共通フィールドにおいて物理的に存在するローカル要素であり、前記対象の共通フィールドを更新することは、前記遠隔要素および前記ローカル要素のうちの1つ以上の表示特性を修正することを含む、請求項1に記載の方法。
前記複数の要素のうちの別のものは、前記対象の共通フィールドにおいて物理的に存在するローカル要素であり、前記遠隔要素および前記ローカル要素のうちの1つ以上は、遠隔ユーザおよびローカルユーザのうちの1つ以上の物理的存在の表現である、請求項1に記載の方法。
前記複合画像をリアルタイムでローカル視認者および遠隔視認者のうちの少なくとも1人にレンダリングするために、前記複合画像を連続的に更新することをさらに含む、請求項10に記載の方法。
前記センサは、カメラ、赤外線センサ、光センサ、レーダデバイス、ソーナデバイス、コンピュータ断層撮影デバイス、磁気共鳴撮影デバイス、深度走査センサのうちの少なくとも1つである、請求項17に記載のシステム。
前記プロセッサは、前記遠隔要素の存在がリアルタイムでローカル視認者にレンダリングされるように、前記対象の共通フィールドを連続的に更新するようにさらに構成されている、請求項17に記載のシステム。
前記プロセッサは、前記複数の要素のうちのローカル要素の存在がリアルタイムで遠隔視認者にレンダリングされるように、前記対象の共通フィールドを連続的に更新するようにさらに構成されている、請求項17に記載のシステム。
【発明を実施するための形態】
【0008】
本方法およびシステムが、開示および説明される前に、本方法およびシステムは、特定の合成方法、特定の構成要素、または特定の組成に限定されず、したがって、当然ながら変動し得ることを理解されたい。また、本明細書で使用される専門用語は、特定の実施形態を説明する目的のためだけにすぎず、限定を意図するものではないことも理解されたい。
【0009】
本明細書および添付の発明の概念において使用されるように、単数形「a」、「an」、および「the」は、文脈において、別様に明示的に示されない限り、複数参照を含む。
【0010】
範囲は、本明細書では、「約」1つの特定の値から、および/または「約」別の特定の値までとして、表現され得る。そのような範囲が表現されるとき、別の実施形態は、1つの特定の値から、および/または他の特定の値までを含む。同様に、値が、先行詞「約」の使用によって、近似値として表現されるとき、特定の値が別の実施形態を形成することが理解されるであろう。さらに、範囲の各々の端点は、他の端点に関連して、かつ他の端点から独立しての両方において、有意であることが理解されるであろう。
【0011】
「随意の」または「随意に」とは、続いて説明される事象または状況が、生じてもよく、またはそうでなくてもよく、説明が、事象または状況が生じる事例およびそうではない事例を含むことを意味する。
【0012】
本明細書の説明および請求項を通して、用語「comprise(備えている)」ならびに「comprising」および「comprises」等の用語の変化形は、「あるものを含むが、それらに限定されない」ことを意味し、例えば、他の添加剤、構成要素、整数、またはステップを排除することを意図するものではない。「例示的」とは、「あるものの実施例」を意味し、好ましいまたは理想的実施形態の現れを伝えることを意図するものではない。
【0013】
開示されるのは、開示される方法およびシステムを行うために使用することができる、構成要素である。これらおよび他の構成要素が、本明細書に開示されるが、これらの構成要素の組み合わせ、サブセット、相互作用、グループ等が、開示されるとき、これらの各種々の個々および集合的組み合わせならびに順列の具体的参照は、明示的に開示されない場合があるが、それぞれ、あらゆる方法およびシステムのために、具体的に企図され、本明細書に説明されることを理解されたい。これは、開示される方法におけるステップを含むが、それに限定されない、本願のあらゆる側面に適用される。したがって、行うことができる種々の追加のステップが存在する場合、これらの追加のステップはそれぞれ、開示される方法の任意の具体的実施形態または実施形態の組み合わせによって、行うことができることを理解されたい。
【0014】
本方法およびシステムは、本明細書に含まれる好ましい実施形態および実施例の以下の発明を実施するための形態と、図ならびにその前述および後述の説明を参照することによって、より容易に理解されるであろう。
【0015】
複数のビデオストリームを用いた役割指定のための方法およびシステムが開示される。開示される方法およびシステムは、仮想現実を利用することができる。仮想現実(VR)とは、環境がユーザにとって「本物」に見えるように、コンピュータおよびそのデバイスが、個人の作用によって動的に制御される感覚環境を生成するように、人間・コンピュータインターフェースを提供するコンピュータベースのアプリケーションを指す。VRについて、コンピュータシステムとユーザとの間の通信がある。コンピュータは、一側面では(これは不可欠ではないが)多感覚であり得る、ユーザが体験するための感覚環境を生成し、コンピュータは、ユーザ入力に応答して現実感を生成する。
【0016】
1つの例示的側面では、開示されるシステムは、少なくとも2種類のVR、すなわち、没入型および非没入型を利用することができる。没入型VRは、ユーザが実際に異なる環境にいるという錯覚を生成する。一側面では、本システムは、頭部搭載型ディスプレイ(HMD)、イヤホン、および手袋またはワンド等の入力デバイス等のデバイスの使用を通して、これを達成する。別の側面では、体験の現実感を増進させるために、ソフトウェアがシミュレートすることができる、複数の自由度(DOF)が利用される。概して、DOFが多いほど、体験の現実感が良好となる。例示的なDOFは、限定ではないが、Χ、Y、Z、ロール、ピッチ、およびヨーを含む。
【0017】
非没入型VRは、ユーザの周辺環境から区別可能である環境を生成する。これは、ユーザが別の世界に運ばれるという錯覚を与えない。非没入型VRは、立体投影システム、コンピュータモニタ、および/またはステレオスピーカの使用を通して、3次元画像およびサラウンド音響を生成することによって稼働する。非没入型VRは、追加ハードウェアを用いることなくパーソナルコンピュータから実行されることができる。
【0018】
一側面では、没入型VRにおける移動は、トラッカと呼ばれる光学、音響、磁気、または機械ハードウェアの使用を通して、システムによって実現することができる。好ましくは、入力デバイスは、移動をより正確に表すことができるように、可能な限り多くのこれらのトラッカを有する。例えば、仮想手袋は、ユーザがオブジェクトをつかみ押すことができるように、各人差し指のための最大3つのトラッカと、掌および手首のためのより多くのトラッカとを有することができる。一側面では、トラッカは、入力がどちらの方向に対面しているか、およびどのようにして入力デバイスが全ての方向に傾けられるかをコンピュータに伝える、位置合わせセンサを装備することができる。これは、6つの自由度を伴うセンサを与える。
【0019】
出力デバイスは、ユーザを仮想世界に運ぶ。本システムで使用することができる出力デバイスの実施例は、限定ではないが、ユーザが頭部に表示システムを着用することを可能にする、眼鏡またはゴーグルの形態の頭部搭載型ディスプレイ(HMD)を含む。HMDへの1つのアプローチは、両眼を覆うために十分幅が広い、単一の液晶ディスプレイ(LCD)を使用することである。別のアプローチは、各眼に1つずつ、2つの分離したディスプレイを有することである。これは、表示される画像が異なるため、若干より多くのコンピュータ処理能力を要する。各ディスプレイは、環境内で正しい角度からレンダリングされる別個の画像を有する。眼の追跡をHMDと組み合わせることができる。これは、例えば、外科医が増進させたい画像の一部に眼を移動させることを可能にすることができる。
【0020】
本システムの実施形態で使用することができる出力デバイスの別の実施例は、シャッタ閉鎖型眼鏡である。このデバイスは、シャッタが他方の眼で閉鎖された状態で、1つおきのフレームで各眼への画像を更新する。シャッタ閉鎖型眼鏡は、画像がフリッカーすること(flickering)を防ぐために、非常に高いフレームレートを必要とする。このデバイスは、ステレオモニタに使用され、2次元オブジェクトの正確な3次元表現を与えるが、ユーザを仮想世界に没頭させない。
【0021】
本システムの実施形態で使用することができる別の出力デバイスは、複数の投影機を伴う画面である。画面は、平面または湾曲型のいずれか一方であり得る。同一の画面上で複数の投影機を使用するときの課題は、投影間に目に見える縁があり得ることである。これは、投影が縁において次第に透明になり、投影が重複する、ソフトエッジシステムを使用して改善することができる。これは、画像間で略完全な遷移を生じる。所望の3次元効果を達成するために、シャッタ閉鎖型眼鏡を使用することができる。ガラスを完全に不透明または完全に透明のいずれか一方にすることを繰り返す、特殊な眼鏡を使用することができる。左眼が不透明であるとき、右眼は透明である。これは、対応する画像を画面上に投影している投影機に同期させられる。
【0022】
別の側面では、没入型自動仮想環境(CAVE)も本システムで使用することができる。CAVEは、仮想世界に立っているという錯覚を与える立体画像を壁上に投影するために、立方体状の部屋の中の鏡を使用することができる。世界は、トラッカを使用して常に更新され、ユーザは、略完全に制約なく動き回ることを可能にされる。
【0023】
役割指定のための方法およびシステムが開示される。そのような方法およびシステムは、ユーザが遠隔専門技術の送達等の任意の所与の目的のために相互作用することができるような様式で、目的のフィールドの中へ仮想的に存在するいくつかの要素/参加者をレンダリングすることができる。対象のフィールドは、視点に応じて、様々な量の「実際」および「仮想」要素を備えていることができる。要素は、任意の「実際」または「仮想」オブジェクト、対象、参加者、または画像表現を含むことができる。開示される方法およびシステムの種々の構成要素が
図1で図示されている。
【0024】
対象の共通フィールド101は、要素が物理的および/または仮想的に存在するフィールドであり得る。現実点(または視点)とは、対象の共通フィールドを体験している要素/参加者の見晴らしの利く地点を指すことができる。
図1では、例示的な現実点または視点が、ディスプレイを表す102および103で示されている。対象の共通フィールド101は、両方の見晴らしの利く地点または視点から同じように見えることができるが、各々は、ローカル(物理的)および遠隔(仮想)要素/参加者の異なる組み合わせを含む。
【0025】
ローカル要素は、対象の共通フィールドの中で物理的に存在する、要素および/または参加者であり得る。
図1では、要素A105は、フィールドA104に対するローカル要素であり、フィールドA104の中で物理的に存在する。要素B107は、フィールドB106に対するローカル要素であり、フィールドB106の中で物理的に存在する。仮想要素(図示せず)を、所望に応じてフィールドA104および/またはフィールドB106の中に挿入するか、または重ね合わすことができると理解される。
【0026】
遠隔要素は、対象の共通フィールドの中に物理的に存在しない要素および/または参加者であり得る。それらは、任意の他のローカルの見晴らしの利く地点から「仮想的に存在する」ものとして体験される。
図1に示されるように、要素B107は、フィールドA104にとって遠隔要素であり、フィールドA104の中で仮想的に存在する。要素A105は、フィールドB106内の遠隔要素であり、フィールドB106の中で仮想的に存在する。
【0027】
ローカルおよび遠隔要素および/または参加者を組み合わせることによって仮想相互作用存在をレンダリングするための方法は、以下のステップのうちの1つ以上を含むことができる。フィールド、要素、および/または参加者の存在を反映する様式で、共通ローカルフィールドをレンダリングすることができる。
図2Aに示されるように、参加者Aは、視認者を通してフィールドA内の実際の要素を体験することができる。共通ローカルフィールドは、遠隔参加者がローカルの個人と同様にそれを体験することを可能にする様式で、それが遠隔で体験されるようにレンダリングされることができる。
図2Aに示されるように、これは、フィールドA内に仮想的に存在するものとして要素Bを体験する参加者Aによって例証される。
【0028】
遠隔個人は、それら自身を挿入し、および/またはそれらに対してレンダリングされるような仮想フィールドと相互作用することができる。例えば、参加者Aは、手、器具等をフィールドAに挿入し、仮想要素Bと相互作用することができる。視認者Bは、これに対する「仮想補完物」を視認することができ、視認者Bの実際の要素は参加者Aの仮想要素と相互作用する。
【0029】
共通ローカルフィールドは、遠隔参加者の存在をリアルタイムでレンダリングすることができるように連続的に更新されることができる。例えば、遠隔場面は、可能な限り短く保たれる遠隔捕捉とローカルレンダリングとの間の時間差を伴って利用可能な最新のものであり得る。逆に、タイミング差を導入する必要性がある場合、これを同様に達成することができる。
【0030】
共通ローカルフィールドは、ローカル場面に有意義に合致するサイズおよび深度に拡大縮小されることができる。そして、共通ローカルフィールドは、遠隔要素をより多くまたはより少なく透明にし、完全に除去し、またはローカルユーザの必要性に合うよう別様に変更することができるように、構成可能であり得る。
【0031】
各フィールドは、デジタルカメラによって捕捉される。結果として生じる画像は、カメラの物理的特性に基づいて、その現実から物理的に変形させられる。したがって、プロセッサは、ローカル現実の「物理的に」変形させられたバージョンを受信して表示する。同様に、デジタルカメラはまた、遠隔フィールドも捕捉するが、着信ストリームは、伝送デバイスを通して、ネットワークを横断して中継される。したがって、プロセッサは、物理的および伝送ベースの変形の両方を含む、遠隔ストリームを受信する。次いで、プロセッサは、共通ローカルフィールドから物理的および伝送ベースの変形を除去する、一連の変換を適用しなければならない。
【0032】
ローカル参加者は、共通ローカルフィールド内で連続相互作用を可能にする様式で、仮想的に存在する参加者を体験することができる。
図2Bは、遠隔ユーザを支援するローカルエキスパートを図示する。ローカルエキスパート201の手は、わずかに透明であり、遠隔ユーザによって視認されるフィールドの中へ重ね合わされる。遠隔ユーザは、ローカルエキスパートの手、遠隔ユーザの手、および遠隔ユーザの場所に位置するパズルを視認することができる。ローカルエキスパートは、パズルを組み立てることにおいて遠隔ユーザを支援している。
【0033】
図3は、例示的な画像処理システム300を図示する。示されるように、システム300は、例えば、画像、ビデオ、複合ビデオ/画像、および対象の共通フィールドのうちの1つ以上を表示するために構成される、第1のディスプレイ302および第2のディスプレイ304を備えていることができる。しかしながら、任意の数のディスプレイをシステム300に含むことができると理解される。ある側面では、第2のディスプレイ304は、第1のディスプレイ302から遠隔に配置することができる。実施例として、第1のディスプレイ302および第2のディスプレイ304の各々は、その上に対象の共通フィールドをレンダリングするように構成することができる。さらなる実施例として、第1のディスプレイ302および第2のディスプレイ304の各々は、その上にローカルフィールドおよび遠隔フィールドのうちの少なくとも1つをレンダリングするように構成することができる。ある側面では、第1のディスプレイ302および第2のディスプレイ304のうちの少なくとも1つは、本明細書でさらに詳細に説明されるように、VIPディスプレイであり得る。しかしながら、第1のディスプレイ302および第2のディスプレイ304の各々は、例えば、モノスコピックディスプレイおよび立体ディスプレイを含む、任意の種類のディスプレイであり得ることが理解される。任意の数の任意の種類のディスプレイを使用できることが理解される。
【0034】
第1のセンサ306は、少なくとも第1のディスプレイ302と信号通信することができ、例えば、仮想存在データ等の画像データを取得するために構成することができる。ある側面では、第1のセンサ306は、カメラ、赤外線センサ、光センサ、レーダデバイス、ソーナデバイス、深度走査センサ等のうちの1つ以上であり得る。第1のセンサ306は、「実際の」要素および「仮想」要素のうちの少なくとも1つを表す画像データを捕捉/取得することが可能な任意のデバイスまたはシステムであり得ることが理解される。
【0035】
第2のセンサ308は、少なくとも第2のディスプレイ304と信号通信することができ、例えば、仮想存在データ等の画像データを取得するために構成することができる。ある側面では、第2のセンサ308は、カメラ、赤外線センサ、光センサ、レーダデバイス、ソーナデバイス、コンピュータ断層撮影デバイス、磁気共鳴撮影デバイス、深度走査センサ等のうちの1つ以上であり得る。第2のセンサ308は、「実際の」要素および「仮想」要素のうちの少なくとも1つを表す画像データを捕捉/取得することが可能な任意のデバイスまたはシステムであり得ることが理解される。さらに、任意の数のセンサを使用できることが理解される。
【0036】
複数のプロセッサ310、312は、第1のディスプレイ302、第2のディスプレイ304、第1のセンサ306、および第2のセンサ308のうちの少なくとも1つと直接的または間接的に信号通信することができる。プロセッサ310、312の各々は、ディスプレイ302、304のうちの少なくとも1つの上にセンサ306、308によって収集された画像データをレンダリングするように構成することができる。プロセッサ310、312は、伝送および表示のために、画像データおよび結果として生じた画像を修正するように構成することができると理解される。さらに、1つを含む、任意の数のプロセッサを使用できることが理解される。ある側面では、システム300は、互とデータ通信しているプロセッサ310、312のみを備えている。
【0037】
ある側面では、ディスプレイ302、304の各々は、ディスプレイ302、304上に画像をレンダリングするためにプロセッサ310、312のうちの関連する1つを備えていることができる。プロセッサ310、312の各々、またはプロセッサを備えている別のシステムは、ネットワーク接続を通して互と通信することができる。例えば、遠隔場所は、インターネットまたは他のネットワークを介して接続することができる。タスクをプロセッサ310、312の各々の間で分割することができる。例えば、プロセッサ310、312のうちの1つは、グラフィックスプロセッサまたはグラフィックスサーバとして構成することができ、センサ306、308のうちの1つおよび/またはネットワークサーバから画像を収集し、画像合成タスクを行い、ディスプレイ302、304のうちの1つ以上を駆動することができる。
【0038】
ある側面では、プロセッサ310、312のうちの1つ以上は、画像をレンダリングするように構成することができる。実施例として、プロセッサ310、312のうちの1つ以上は、センサ306、308のうちの少なくとも1つによって取得される画像データに基づいて複数の要素の存在を反映する対象の共通フィールドをレンダリングするように構成することができる。さらなる実施例として、対象の共通フィールド内でレンダリングされる要素のうちの少なくとも1つは、要素のうちの別のものから遠隔に物理的に位置する遠隔要素であり得る。プロセッサ310、312はまた、対象の共通フィールドをディスプレイ302、304のうちの少なくとも1つにレンダリング/出力するように構成することもできる。実施例として、プロセッサ310、312は、対象の共通フィールド内で遠隔ユーザとローカルユーザとの間の相互作用をレンダリングすることができる。さらなる実施例として、遠隔要素の存在をリアルタイムでローカルユーザにレンダリングすることができ、ローカル要素の存在をリアルタイムで遠隔ユーザにレンダリングすることができる。
【0039】
ある側面では、1つ以上の役割を1人以上のユーザのために指定(例えば、定義、選択、受信、生成)することができる。実施例として、役割は、プロセッサによる1つ以上の関連プログラムの論理的実行をトリガする抽象化として指定することができる。そのようなプログラムは、実施例として、ユーザに表示されるようなグラフィカルユーザインターフェースの配列、編成、および/または表現において修正をトリガすることができる。別の実施例として、そのようなプログラムは、1つ以上の画像の処理および/または後処理を修正することによって、画像および/またはビデオの処理に影響を及ぼすことができる。さらなる実施例として、これらのプログラムは、1人以上のユーザに提示される画像またはビデのレンダリングに影響を及ぼすことができる。
【0040】
ある側面では、遠隔プロセッサへの伝送に先立って、ローカルプロセッサを介して画像の処理を実装することができる。例えば、画像合成が、伝送に先立ってローカルプロセッサで起こり得る。したがって、遠隔プロセッサによって受信される画像および/またはビデオは、合成を必要とせず、コーデックによって受け入れることができる。さらなる実施例として、役割指定は、単に処理された画像を受信しているユーザと対比して、システムのユーザが画像を合成しているときに起こる、暗示的役割指定として実装することができる。
【0041】
ある側面では、「ヘルパ」役割は、データフローおよびデータ表現の操作を含むことができる。実施例として、ヘルパ役割は、1つの処理要素の出力が連続する処理要素のための入力である、一連の処理要素等のソフトウェアパイプラインの特定の配列を含むことができる。さらなる実施例として、ローカルカメラによって捕捉され、ローカルプロセッサによって処理される画像は、ヘルパ役割に関連付けられる様式で、1つ以上の遠隔カメラによって捕捉され、1つ以上の遠隔プロセッサによって処理される画像とマージすることができる。
【0042】
ある側面では、特定のテクスチャ処理をヘルパ役割に関連付けることができる。実施例として、特定座標変換に従って、画像を画面にマップすることができ、入力は、パラメータとして断片または画素シェーダに与えられる。さらなる実施例として、所与の画像の1つ以上の画素の特質(例えば、色、z深度、アルファ値)を修正するために、ヘルパ役割に関連付けられる1つ以上のプログラム可能な機能を使用することができる。
【0043】
ある側面では、ヘルパ役割について、ローカルカメラによって捕捉され、ローカルプロセッサによって処理される1つ以上の画像は、1未満の不透明性でレンダリングされ、それらにある程度の透明性を与える。遠隔カメラによって捕捉され、遠隔プロセッサによって処理される1つ以上の画像は、約1の不透明性でレンダリングすることができ、それによって、実質的に完全な不透明性を提供する。実施例として、遠隔の「対象の場面」(例えば、手術、保守場所)の1つ以上の画像は、全表示画面に適合するようにレンダリングすることができる。別の実施例として、遠隔ユーザの1つ以上の画像は、表示画面上でタイル表示されるか、または配列されることができる(すなわち、ピクチャインピクチャ)。さらなる実施例として、遠隔ユーザの環境の1つ以上の画像は、表示画面上でタイル表示されるか、または配列されることができる。
【0044】
ある側面では、「オペレータ」役割は、データフローおよびデータ表現の操作を含むことができる。実施例として、オペレータ役割は、1つの処理要素の出力が連続処理要素のための入力である、一連の処理要素等のソフトウェアパイプラインの特定の配列を含むことができる。さらなる実施例として、ローカルカメラによって捕捉され、ローカルプロセッサによって処理される画像は、オペレータ役割に関連付けられる様式で、1つ以上の遠隔カメラによって捕捉され、1つ以上の遠隔プロセッサによって処理される画像とマージすることができる。
【0045】
ある側面では、オペレータ役割は、1つ以上の入力ハードウェアデバイスの操作を含むことができる。実施例として、1つ以上のビデオキャプチャカードは、1つ以上の画像を捕捉することを可能にされ得る。別の実施例として、ローカルプロセッサは、該ビデオキャプチャカードを通して、1つ以上の画像を循環または環状バッファに書き込むことができる。別の実施例として、1つ以上の画像を待ち行列に書き込むことができる。さらなる実施例として、1つ以上の画像をスタックに書き込むことができる。
【0046】
ある側面では、特定のテクスチャ処理をオペレータ役割に関連付けることができる。実施例として、特定座標変換に従って、画像を画面にマップすることができ、入力は、パラメータとして断片または画素シェーダに与えられる。さらなる実施例として、所与の画像の1つ以上の画素の特質(例えば、色、z深度、アルファ値)を修正するために、オペレータ役割に関連付けられる1つ以上のプログラム可能な機能を使用することができる。
【0047】
ある側面では、オペレータ役割について、ローカルカメラによって捕捉され、ローカルプロセッサによって処理される1つ以上の画像は、実質的に1の不透明性でレンダリングされる。実施例として、ローカルの「対象の場面」の1つ以上の画像は、実質的に完全な不透明性でレンダリングすることができる。さらなる実施例として、ローカルカメラによって捕捉され、ローカルプロセッサによって処理される1つ以上の画像は、1未満の不透明性でレンダリングすることができ、それによって、ある程度の透明性を提供する。遠隔カメラによって捕捉され、遠隔プロセッサによって処理される1つ以上の画像は、1未満の不透明性でレンダリングすることができ、それによって、ある程度の透明性を提供する。別の実施例として、遠隔ユーザの1つ以上の画像が、表示画面上でタイル表示されか、または配列されることができる(すなわち、ピクチャインピクチャ)。さらなる実施例として、遠隔ユーザの環境の1つ以上の画像が、表示画面上でタイル表示されか、または配列されることができる。
【0048】
ある側面では、「注意喚起」役割は、データフローおよびデータ表現の操作を含むことができる。実施例として、注意喚起役割は、1つの処理要素の出力が連続する処理要素のための入力である、一連の処理要素等のソフトウェアパイプラインの特定の配列を含むことができる。さらなる実施例として、ローカルカメラによって捕捉され、ローカルプロセッサによって処理される画像は、注意喚起役割に関連付けられる様式で、1つ以上の遠隔カメラによって捕捉され、1つ以上の遠隔プロセッサによって処理される画像とマージすることができる。
【0049】
ある側面では、注意喚起役割は、1つ以上の遠隔カメラによって捕捉され、1つ以上の遠隔プロセッサによって処理される画像と一緒の表示を促進するように、1つ以上のローカルカメラによって捕捉される画像を処理することを含むことができる。実施例として、ローカルおよび遠隔画像がタイル表示されことができる。別の実施例として、比較的小さいウィンドウの中で表示される1つ以上の遠隔画像とともに、複数の画像を利用する様式で、1つ以上のローカル画像をレンダリングすることができる。さらなる実施例として、比較的小さいウィンドウの中で表示される1つ以上のローカル画像とともに、画面の大部分を利用する様式で、1つ以上の遠隔画像をレンダリングすることができる。他の役割および関連処理を使用することができる。
【0050】
ある側面では、遠隔プロセッサへの伝送に先立って、ローカルプロセッサを介して画像の処理を実装することができる。例えば、画像処理が、伝送に先立ってローカルプロセッサで起こり得る。さらなる実施例として、役割指定は、単に処理された画像を受信しているユーザと対比して、システムのユーザが画像を処理しているときに起こる、暗示的役割指定として実装することができる。
【0051】
図4Aは、プロセッサ310、312のうちの少なくとも1つを用いて行うことができる、例示的なプロセス400を図示する。プロセス400を行うために、他のプロセッサおよび/またはコンピュータデバイスを使用することができる。ステップ402では、役割変更または役割指定の要求が伝送/受信されることができる。ある側面では、グラフィカルユーザインターフェース上のボタンを押すことにより、第1のアプリケーションのグラフィカルユーザインターフェースから1つ以上の他のアプリケーションのグラフィカルユーザインターフェースへの「役割変更要求」の伝送を促進するイベントを開始する。実施例として、役割変更要求は、ローカルアプリケーションが担うことをローカルユーザが所望する役割の指定または仕様を含むことができる。実施例として、役割変更要求は、文字列リテラルとして所望の役割を含む、通信であり得る。別の実施例として、役割変更要求は、データベースのテーブル内の文字列にマップされる整数として所望の役割を含む、通信であり得る。
【0052】
ある側面では、役割変更要求の伝送/受信をトリガすることは、1つ以上の論理的または物理的イベントによって促進されることができる。実施例として、ユーザからの入力を介して、イベントをトリガすることができる。さらなる実施例として、ジェスチャ認識、音声認識、加速度計、スワイプ、ピンチ、またはタッチのトリガ、あるいはそれらの組み合わせを介して、イベントをトリガすることができる。
【0053】
ある側面では、役割変更要求は、サービスにアクセスするようにサーバと通信するコンピュータアプリケーションまたはコンピュータプログラムとして定義されることができる、ローカルクライアントプログラムに伝送されることができる。実施例として、ローカルクライアントプログラムは、ネットワークを経由して要求をサーバに伝送することができる。ローカルクライアントプログラムは、ネットワークを横断しなければならないことを回避して、要求を同一のコンピュータ上で作動するサーバに伝送することができる。サーバは、クライアントプログラムのためにサービスへのアクセスを提供する、コンピュータハードウェアまたはコンピュータソフトウェアとして構成されることができる。さらなる実施例として、サーバは、役割変更要求を要求によって特定されるような1つ以上のクライアントプログラムに伝送することができる。ある側面では、各クライアントプログラムは、要求を遠隔アプリケーションの遠隔グラフィカルユーザインターフェースに伝送することができる。
【0054】
ステップ404では、グラフィカルユーザインターフェースが要求を受信すると、要求を受け入れるかどうかを決定するように、1つ以上の条件文(例えば、IF−THEN文)が実行されることができる。ある側面では、役割変更要求を受け入れるべきかどうかを決定するために、一連の条件文がローカルプロセッサによって実行されることができる。
【0055】
ある側面では、ローカルプロセッサは、役割変更要求で特定される役割に対応する役割が見つけられること、および/または生成されることができるかどうかを決定するように、チェックを行うことができる。実施例として、対応する役割が見つけられない場合、ステップ406で否定(すなわち、FALSE)応答がローカルクライアントに伝送されることができる。実施例として、ローカルクライアントは、応答を中央サーバに伝送することができる。中央サーバは、応答を1つ以上の遠隔クライアントに伝送することができる。遠隔クライアントは、応答を対応するグラフィカルユーザインターフェースに提示することができる。さらなる実施例として、対応する役割が見つかった場合、1つ以上のディスプレイを介して画像の表現を制御するために、役割(および関連機能性)が使用されることができる。ある側面では、ステップ408で、1つ以上の役割を識別するために、文字または文字列等の識別子を使用することができる。実施例として、識別子が、特定の処理経路および/または提示構成を1つ以上の役割指定に関連付けるために使用されることができる。したがって、それに関連付けられた識別子に基づいて、役割指定が選択されること、処理されること、見つけられること、操作されること等が行われることができる。
【0056】
ある側面では、プロセッサは、ローカルアプリケーションがすでに対応する役割にあるかどうかを決定するように、検証チェックを行うことができる。真であれば、プロセッサは、ローカルアプリケーションのローカルグラフィカルユーザインターフェースから1つ以上の遠隔アプリケーションの遠隔グラフィカルユーザインターフェースへの肯定応答(すなわち、TRUE)の送信を開始することができる。対応する役割がローカルアプリケーションの現在の役割に等しくない場合、ローカルアプリケーションの現在の役割は、対応する役割に再び割り当てられるか、または指定されることができる。したがって、1人以上のユーザに表示されるようなグラフィカルユーザインターフェースの配列、編成、および/または提示が修正されることができる。実施例として、指定役割に関連付けられるソフトウェアパイプラインが構成されることができる。
【0057】
ある側面では、インターフェースを介して提示される現在の役割を更新するための擬似コードは、以下を含むことができる。
IF(corresponding_role_found)
role←corresponding_role
IF(role=current_role)
SEND true
ELSE
current_role←role
SEND true
ENDIF
ELSE
SEND false
ENDIF
【0058】
図4Bは、多重現実セッションの例示的な概略図を図示する。ある側面では、対象のフィールド416を有する第1の場所414での第1のユーザ412は、第2の場所420での第2のユーザ418と通信することができる。実施例として、第1のユーザ412が、オペレータ役割にあり得る一方で、第2のユーザ418は、ヘルパ役割にあり得る。したがって、対象のフィールド416は、第1のユーザ412と第2のユーザ418との間で共有されることができる。さらなる実施例として、対象のフィールド416は、オペレータ役割として指定される第1のユーザ412に関連付けられる第1の構成で画像を提示するように構成されることができる。役割変更に続いて、第1のユーザ412が、ヘルパ役割を担うことができる一方で、第2のユーザ418は、オペレータ役割を担うことができる。したがって、対象のフィールド416は、第1のユーザ412と第2のユーザ418との間で共有されることができ、オペレータ役割として指定される第2のユーザ418に基づいて、第2の構成で画像を提示するように更新されることができる。
【0059】
ある側面では、画像の処理が、遠隔プロセッサへの伝送に先立って、ローカルプロセッサを介して実装されることができる。例えば、画像合成が、伝送に先立ってローカルプロセッサで起こり得る。したがって、遠隔プロセッサによって受信される画像および/またはビデオは、合成を必要とせず、コーデックによって受け入れられることができる。さらなる実施例として、役割指定は、単に処理された画像を受信しているユーザと対比して、システムのユーザが画像を合成しているときに起こる、暗示的役割指定として実装されることができる。
【0060】
図4Cは、オペレータ役割で指定される第1のユーザ412を図示するように構成される、対象のフィールド416の例示的なレンダリングを図示する。ある側面では、
図4Cは、第1のユーザ412の視点から対象のフィールド416を図示する。別の側面では、1つ以上のビデオキャプチャカードは、対象のローカルフィールド(例えば、人工膝)の1つ以上の画像を捕捉することを可能にされることができる。対象のフィールド416の画像は、実質的に1の不透明性でレンダリングすることができる。第1のユーザ412の手420および第2のユーザ418の手422の画像が、1未満の不透明性でレンダリングされることができる一方で、第2のユーザ418の顔424の画像が、実質的に1の不透明性でディスプレイ上にタイル表示されるか、または配列されることができる。
【0061】
図4Dは、ヘルパ役割で指定される第2のユーザ418を図示するように構成される、対象のフィールド416の例示的なレンダリングを図示する。ある側面では、
図4Dは、第2のユーザ418の視点から対象のフィールド416を図示する。対象のフィールド416の画像は、実質的に1の不透明性でレンダリングされることができる。第1のユーザ412の手420および第2のユーザ418の手422の画像が、1未満の不透明性でレンダリングされることができる一方で、第1のユーザ412の顔426の画像が、実質的に1の不透明性でディスプレイ上にタイル表示されるか、または配列されることができる。
【0062】
ある側面では、役割変更要求を開始するために、タッチセンサ式ディスプレイ上にレンダリングされたグラフィカルボタンの選択が使用されることができる。実施例として、グラフィカルボタンを押すことが、第1のプロセッサによってレンダリングされるグラフィカルユーザインターフェースから第2のプロセッサによってレンダリングされるグラフィカルユーザインターフェースへの役割変更要求の伝送を開始することができる。さらなる実施例として、グラフィカルボタンは、第2のユーザが担うことを所望する役割を特定することができる。
【0063】
ある側面では、
図4Eは、1人以上のユーザへのグラフィカルユーザインターフェース428の例示的なレンダリングを図示する。1つ以上のグラフィカルボタン430は、ユーザが「オペレータ」、「ヘルパ」、および/または「注意喚起」等の役割指定を行うことを可能にすることができる。ビデオウィンドウ432は、1つ以上の画像を表示することができる。多重現実セッションでビデオ画像のさらなる操作を可能にすることができる、追加のオプションがユーザに露出され得る。実施例として、グラフィカル「混合値」スライダ434は、ユーザが、視認されるような実際および仮想画像の相対的割合を決定することを可能にすることができる。別の実施例として、グラフィカル「露出値」スライダ436は、ユーザがローカルまたは遠隔カメラの露出性質を変調することを可能にすることができる。さらなる実施例として、グラフィカル「テレストレーション」メニュー438は、ユーザがビデオ画像の上で仮想描画を行うことを可能にすることができる。グラフィカル「選好」ボタン440およびグラフィカル「セッション終了」ボタン442は、それぞれ、ユーザが他のセッションパラメータを変調すること、および遠隔ユーザとの現在のセッションを終了することを可能にすることができる。
【0064】
図4Fは、オペレータ役割で指定される第2のユーザ418を図示するように構成される、対象のフィールド416の例示的なレンダリングを図示する。ある側面では、
図4Fは、第2のユーザ418の視点から対象のフィールド416を図示する。別の側面では、1つ以上のビデオキャプチャカードは、対象のローカルフィールド(例えば、人工膝)の1つ以上の画像を捕捉することを可能にされ得る。対象のフィールド416の画像は、実質的に1の不透明性でレンダリングされることができる。第1のユーザ412の手420および第2のユーザ418の手422の画像が、1未満の不透明性でレンダリングされることができる一方で、第1のユーザ412の顔426の画像が、実質的に1の不透明性でディスプレイ上にタイル表示されるか、または配列されることができる。
【0065】
図4Gは、ヘルパ役割で指定される第1のユーザ412を図示するように構成される、対象のフィールド416の例示的なレンダリングを図示する。ある側面では、
図4Gは、第1のユーザ412の視点から対象のフィールド416を図示する。対象のフィールド416の画像は、実質的に1の不透明性でレンダリングされることができる。第1のユーザ412の手420および第2のユーザ418の手422の画像が、1未満の不透明性でレンダリングされることができる一方で第2のユーザ418の顔424の画像が、実質的に1の不透明性でディスプレイ上にタイル表示されるか、または配列されることができる。
【0066】
図5は、例示的な仮想存在システムを図示する。1つのそのようなシステムは、同一のセッションに参加する各遠隔参加者によって使用することができる。各システムは、ネットワーク接続を通して互と通信することができる。例えば、遠隔場所は、インターネットを介して接続することができる。タスクは、各システム内の複数のコンピュータの間で分割することができる。例えば、1つのコンピュータ(グラフィックスサーバ)は、ローカルカメラおよびネットワークサーバから画像を収集し、立体画像合成タスクを行い、ローカル立体表示システムを駆動することができる。さらなる実施例として、システム300のプロセッサ310は、グラフィックスサーバによって具現化することができる。
【0067】
図6は、グラフィックスサーバを用いて行うことができる例示的なプロセスを図示する。画像は、ローカルデータ構造(フレームリング)の中へ収集することができる。ローカル画像は、複数のカメラ、例えば、2つのカメラから収集することができる。遠隔画像は、例えば、高速遠隔直接メモリアクセス(RDMA)接続を介して、ネットワークサーバによって提供することができる。これらの画像は、(
図3のように)遠隔ユーザおよびローカルユーザを同一の場面で見ることができるように、組み合わせることができる。この複合結果は、ローカル立体表示システムに伝送することができる。第2のコンピュータは、例えば、ネットワーク符号化/復号タスク、ならびに深度マップ生成を行うことができる、ネットワークサーバの役割を果たすことができる。
【0068】
図7は、ネットワークサーバを用いて行うことができる例示的なプロセスを図示する。RDMA接続を介してグラフィックスサーバから収集されるローカル画像は、分析され、深度情報でマップされ、効率的なネットワーク伝送のために符号化され、遠隔場所における対応するネットワークサーバによって受信されるように、外部ネットワーク接続に送信されることができる。同時に、符号化された画像および深度マップは、遠隔場所から受信され、復号され、RDMA接続を介してローカルグラフィックスサーバに提供されることができる。
【0069】
本システムは、ネットワークサーバに接続される制御端末によってユーザ制御されることができ、次いで、ユーザは、ネットワークサーバへの専用ネットワーク接続を介して、グラフィックスサーバにアクセスして制御することができる。
【0070】
仮想相互作用存在のパラメータは、使用されるシステムに応じて構成されることができる。構成可能なパラメータは、仮想要素のサイズ、仮想要素の存在(不透明、半透明等)、仮想存在の時間(時間は、遅延、減速、加速等されるように構成されることができる)、仮想および現実の任意の組み合わせを重ね合わされ、および/または互を覆って「適合される」ことができるような要素の重ね合わせ等を含むが、それらに限定されない。
【0071】
図8は、例示的なVIPディスプレイの側面図を図示する。
図9は、例示的なVIPディスプレイのユーザの視界を図示する。
図10は、例示的なVIPディスプレイのユーザの視界を図示する。
【0072】
本明細書で使用される場合、対象の「ローカル」フィールドとは、ローカルの物理的フィールドおよびローカルユーザを指すことができ、したがって、他の全てのフィールドを遠隔にする。各フィールドは、そのローカルの物理的ユーザにローカルであり得るが、他のユーザには遠隔であり得る。複数のフィールドの合成物は、対象の共通フィールドであり得る。これは、対象の共通フィールドのローカルレンダリング内に「現実」の構成要素があり得、相互作用が、ユーザおよびオブジェクトを表すグラフィックアバター間だけでなく、物理的オブジェクトの実際のビデオ(および他の)レンダリングの間にあり得るという点で、共通「仮想世界」とは異なる。提供される方法およびシステムは、仮想相互作用存在が、現実および仮想の相互作用によって物理的領域を修正/最適化することを可能にする。
【0073】
図11で図示される、ある側面では、1101で、遠隔ユーザおよびローカルユーザの物理的存在を反映する対象の共通フィールドをレンダリングすることと、1102で、対象の共通フィールド内で遠隔ユーザとローカルユーザとの間の相互作用をレンダリングすることと、1103で、遠隔ユーザの存在がリアルタイムでローカルユーザにレンダリングされ、ローカルユーザの存在がリアルタイムで遠隔ユーザにレンダリングされるように、対象の共通フィールドを連続的に更新することとを含む、仮想相互作用存在のための方法が提供される。
【0074】
対象の共通フィールドは、遠隔ユーザがローカルユーザと同様に対象の共通フィールドを体験するように、レンダリングされることができる。ローカルユーザは、対象の共通フィールド内で遠隔ユーザとの連続した相互作用を可能にする様式で、遠隔ユーザの物理的存在を体験することができる。本方法はさらに、共通フィールド内でローカルオブジェクトの物理的存在をレンダリングすることと、共通フィールド内でローカルユーザとローカルオブジェクトとの間の相互作用をレンダリングすることとを含むことができる。本方法はさらに、対象の共通フィールド内でローカルオブジェクトの物理的存在をレンダリングすることと、対象の共通フィールド内で遠隔ユーザとローカルオブジェクトとの間の相互作用をレンダリングすることとを含むことができる。
【0075】
図12で図示される、別の側面では、1201で、ローカルオブジェクト、ローカルオブジェクトの体積画像、およびローカルユーザの物理的存在を反映する、対象のローカルフィールドをレンダリングすることと、1202で、対象のローカルフィールド内でローカルオブジェクト、体積画像、およびローカルユーザの間の相互作用をレンダリングすることと、1203で、ローカルオブジェクトの存在およびローカルオブジェクトの体積画像がリアルタイムでローカルユーザに対してレンダリングされるように、対象のローカルフィールドを連続的に更新することとを含む、仮想相互作用存在のための方法が提供される。
【0076】
ローカルオブジェクトは、例えば、患者であり得、ローカルオブジェクトの体積画像は、例えば、患者の一部の医用画像であり得る。しかしながら、ローカルオブジェクトは、任意の対象のオブジェクトであり得、ローカルオブジェクトの画像は、そのオブジェクトの任意の正確なレンダリングであり得る。例えば、自動車のエンジン、およびエンジンの3Dグラフィック等であり得る。
【0077】
医用画像は、例えば、X線画像、MRI画像、またはCT画像のうちの1つであり得る。本方法はさらに、ローカルユーザによって、体積画像をローカルオブジェクト上に重ね合わすことを含むことができる。重ね合わせは、コンピュータによって自動的に行うことができる。
【0078】
本方法はさらに、ローカルユーザによって、体積画像の性質を調整することを含むことができる。性質は、透明性、空間的場所、およびスケールのうちの1つ以上であり得る。
【0079】
本方法はさらに、対象のローカルフィールド内でローカルツールをレンダリングすることを含むことができる。本方法はさらに、ローカルオブジェクトのレンダリングに対する正確な空間的関係でローカルツールをレンダリングすることを含むことができる。ツールは、任意の種類のツール、例えば、外科用ツールであり得る。
【0080】
別の側面では、対象の共通フィールドを表示するために構成される仮想存在ディスプレイと、ローカル仮想存在データを取得するために構成されるローカルセンサと、ローカル仮想存在データを伝送し、遠隔仮想存在データを受信するために構成される、ネットワークインターフェースと、仮想存在ディスプレイ、ローカルセンサ、およびネットワークインターフェースに連結される、プロセッサとを備えている、仮想存在のためのシステムが提供され、プロセッサは、ローカル仮想存在データおよび遠隔仮想存在データに基づいて、遠隔ユーザおよびローカルユーザの物理的存在を反映する対象の共通フィールドをレンダリングするステップと、対象の共通フィールド内で遠隔ユーザとローカルユーザとの間の相互作用をレンダリングするステップと、遠隔ユーザの存在がリアルタイムでローカルユーザにレンダリングされ、ローカルユーザの存在がリアルタイムで遠隔ユーザにレンダリングされるように、対象の共通フィールドを連続的に更新するステップと、対象の共通フィールドを仮想存在ディスプレイに出力するステップとを含む、ステップを行うように構成される。
【0081】
仮想存在ディスプレイは、立体ディスプレイ、モノスコピックディスプレイ(CRT、LCD等)等のうちの1つ以上であり得る。センサは、カメラ、赤外線センサ、深度走査センサ等のうちの1つ以上であり得る。対象の共通フィールドは、遠隔ユーザがローカルユーザと同様に対象の共通フィールドを体験するようにレンダリングされることができる。ローカルユーザは、対象の共通フィールド内で遠隔ユーザとの連続して相互作用を可能にする様式で、遠隔ユーザの物理的存在を体験することができる。
【0082】
プロセッサは、対象の共通フィールド内でローカルオブジェクトの物理的存在をレンダリングするステップと、対象の共通フィールド内でローカルユーザとローカルオブジェクトとの間の相互作用をレンダリングするステップとを含む、ステップを行うように構成されることができる。
【0083】
プロセッサはさらに、対象の共通フィールド内でローカルオブジェクトの物理的存在をレンダリングするステップと、対象の共通フィールド内で遠隔ユーザとローカルオブジェクトとの間の相互作用をレンダリングするステップとを含む、ステップを行うように構成されることができる。
【0084】
さらに、対象のローカルフィールドを表示するために構成される仮想存在ディスプレイと、ローカル仮想存在データを取得するために構成されるローカルセンサと、仮想存在ディスプレイおよびローカルセンサに連結されるプロセッサとを備えている、仮想存在のためのシステムが提供され、プロセッサは、ローカル仮想存在データに基づくローカルオブジェクトおよびローカルユーザの物理的存在、およびローカルオブジェクトの体積画像を反映する、対象のローカルフィールドをレンダリングするステップと、対象のローカルフィールド内で、ローカルオブジェクト、体積画像、およびローカルユーザの間の相互作用をレンダリングするステップと、ローカルオブジェクトの存在およびローカルオブジェクトの体積画像がリアルタイムでローカルユーザにレンダリングされるように、対象のローカルフィールドを連続的に更新するステップと、対象のローカルフィールドを仮想存在ディスプレイに出力するステップとを含む、ステップを行うように構成される。
【0085】
仮想存在ディスプレイは、立体ディスプレイ、モノスコピックディスプレイ(CRT、LCD等)等のうちの1つ以上であり得る。センサは、カメラ、赤外線センサ、深度走査センサ等のうちの1つ以上であり得る。
【0086】
ローカルオブジェクトは、例えば、患者であり得、ローカルオブジェクトの体積画像は、例えば、患者の一部の医用画像であり得る。医用画像は、例えば、X線画像、MRI画像、またはCT画像のうちの1つであり得る。しかしながら、ローカルオブジェクトは、任意の対象のオブジェクトであり得、ローカルオブジェクトの画像は、そのオブジェクトの任意の正確なレンダリングであり得る。例えば、自動車のエンジン、およびエンジンの3Dグラフィック等であり得る。
【0087】
プロセッサはさらに、ローカルユーザによって、体積画像をローカルオブジェクト上に重ね合わすステップを含む、ステップを行うように構成されることができる。プロセッサはさらに、ローカルユーザによって、体積画像の性質を調整するステップを含む、ステップを行うように構成されることができる。性質は、透明性、空間的場所、およびスケールのうちの1つ以上であり得る。
【0088】
プロセッサはさらに、対象のローカルフィールド内でローカルツールをレンダリングするステップを含む、ステップを行うように構成されることができる。プロセッサはさらに、レンダリングされたローカルオブジェクトに対する正確な空間的関係でローカルツールをレンダリングするステップを含む、ステップを行うように構成されることができる。
【0089】
開示される方法およびシステムは、広い用途を有することができる。例えば、手術、ゲーム、機械学、軍需物資、戦場存在、指導努力(訓練)、および/または相互作用がシナリオの一部である任意の他の状況である。
【0090】
また、遠隔エキスパートがローカル手術野内に仮想的に存在することを可能にする、方法およびシステムが開示される。仮想相互作用存在は、互から遠隔である2人の外科医が外科的手技を相互作用的に行うことを可能にするために使用されることができる。本方法およびシステムは、2人以上のオペレータが、同一の実際の手術野内で、仮想的に存在して相互作用することを可能にし、したがって、遠隔援助を支援し、外科的専門技術をエクスポートする。
【0091】
本方法およびシステムはまた、誘導および方向付けのために、手術生体構造の画像データを生体構造自体の上に重ね合わすように使用されることもできる(拡張現実)。本方法およびシステムは、生徒の訓練に使用されることができる。本方法およびシステムは、ロボットオペレータを誘導するように、エキスパートをロボットフィールドの中へ仮想的に運ぶことによって、ロボットのフィールドを増強および増進することができる。本方法およびシステムは、誘導のためにエキスパートの手を内視鏡野に直接挿入することによって、内視鏡手技に適用可能である。本方法およびシステムは、基本技能が緊急事態を取り扱うことができ、仮想相互作用から習得するであろう実際のローカル外科医に遠隔エキスパートの支援を提供することによって、遠隔手術を拡張する。本方法およびシステムは、外傷部位および他の医療環境で使用することができる。本方法およびシステムは、工学、建設、建築等の他の分野で遠隔支援を提供するために使用することができる。開示される方法およびシステムは、専門技術を遠隔の「必要部位」に伝送し、現在の画像を手術野に直接マージし、外科学生を訓練するために使用することができる。
【0092】
遠隔外科医を誘導/支援する目的で、ローカルエキスパートの外科的処置を遠隔外科医に伝送するための例示的な遠隔手術支援システムが、
図13で図示されている。遠隔手術野は、双眼ビデオシステムを用いて遠隔外科医によって視認することができる。ビデオシステムは、手技を行う手および器具とともに手術野を示すことができる。視認システムは、外科用ビデオスコープと称することができる。
【0093】
遠隔フィールドの双眼ビデオレンダリングは、ローカルエキスパートに伝送されることができ、ローカルエキスパートは、第2の外科用ビデオスコープシステムを通して手技の(ここでは仮想の)立体レンダリングを視認することができる。ローカルエキスパートは、手を仮想フィールドに挿入し、したがって、仮想フィールド内で実際の彼の手を見ることができる。
【0094】
ローカルエキスパートの手のビデオ画像は、実際のフィールドの中へ重ね合わされた遠隔外科医の外科用ビデオスコープシステムに伝送されることができる。次いで、遠隔外科医は、空間的/解剖学的に関連する状況で、手術野内でエキスパートの仮想の手を見ることができる。このシステムを用いると、ローカルエキスパートは、症例をどのようにして実施するかを遠隔外科医に示すために、手を使用することができる。
【0095】
システムの例示的な要素は、遠隔外科医が手術手技を行うことができる遠隔ステーション、遠隔外科用ビデオスコープシステムを備え、遠隔外科用ビデオスコープシステムは、例えば、搭載型顕微鏡に類似し得る固定立体ビデオスコープから成る。この装置は、手術野を視認するために遠隔外科医によって使用されることができる。任意の他の種類の好適なVIPディスプレイを使用することができる。本システムは、双眼ビデオ画像を、ローカルステーションにおける類似ローカル外科用ビデオスコープに投影することができる。ローカル外科用ビデオスコープは、遠隔手技の双眼ビデオ画像を受信し、ローカルエキスパートがそれを視認することを可能にすることができる。ローカルビデオスコープは、ローカルビデオスコープを通して視認されるような仮想遠隔フィールド内でローカル外科医の手が移動するにつれて、ローカル外科医の手を視認することができる。次いで、ローカルビデオスコープは、遠隔外科医が実際のフィールド内でエキスパートの仮想の手を見ることができるように、ローカルエキスパートの手を遠隔ビデオスコープに伝送することができる。
【0096】
このシステムを用いると、ローカルエキスパートは、症例の成功した完了をもたらす、適切な手順を遠隔外科医に示すことができる。遠隔外科医は、新しい手技を実行するための基本技能セットを有することができる。したがって、ローカルエキスパートは、単純に、技能セットを適用する新しい方法を遠隔外科医に明示することができる。このシステムは、遠隔外科医に取って代わる必要はないが、外科医の能力を増進させるために使用することができる。遠隔外科医は、任意の緊急事態を急速に扱うために居合わせることができる。遠隔外科医がタスクを行うために自分の手を使用することができるため、時間遅延が最小限化され、ローカルエキスパートが遠隔ロボット装置を操作する必要性を排除する。
【0097】
また、現在の医用撮像を手術野上にマージするための方法およびシステムも開示される。手術野の体積画像を取得することができる。例えば、外科的手技に先立った、頭部の体積MRIである。画像データは、生体構造の3次元レンダリングに再構築されることができる。このレンダリングは、手術野を視認するために使用されるであろう、外科用ビデオスコープに伝送されることができる。ビデオスコープを通して、外科医は、手術野上に重ね合わされた半透明の様式で、この3Dレンダリングを視認することができる。この場合、外科医は、実際の頭部に重ね合わされた、レンダリングされた頭部を見るであろう。外科用ビデオスコープインターフェースでソフトウェアツールを使用して、外科医は、実際の頭部に「適合する」まで、レンダリングされた画像を回転させ、拡大縮小することができる。ビデオスコープシステムは、外科医が実際の頭部を「調査」し、手術を計画することができるように、外科医がレンダリングされた頭部と実際の頭部とを別個にフェイドさせることを可能にすることができる。
【0098】
システムの例示的な要素は、それを通して外科医が手術野を視認する、外科用ビデオスコープ視認システムを備えていることができる。十分な解像度で体積取得MRI/CT(または他の)画像を再構築するためのコンピュータは、それを実際の外科的生体構造に合致させることを可能にする。体積レンダリング画像は、外科医がそれを立体的に見ることができるように、ビデオスコープシステムを通して表示されることができる。ソフトウェアインターフェースは、レンダリングされた生体構造を実際の生体構造上に重ね合わすことができるように、外科医がレンダリングされた生体構造および実際の生体構造の透過性を変動させることを可能にすることができる。外科医は、実際の生体構造に関連しているので、画像の任意/全ての内部詳細を視認するように、レンダリングされた生体構造を「開く」ことができる。外科用ツールは、挙動が追跡され画像に適用されることができるように、レンダリングされた生体構造に空間的に位置合わせされることができる。
【0099】
図14に示されるように、そのようなタスクの実施例は、外科医に見えないように、暗色ゼラチンの瓶の内側に小さいオブジェクトを配置することである。タスクは、外科医が、ゼラチンの中へ手を伸ばしてオブジェクトに触れるか、またはそれらをつかむために、長い鉗子を使用することである。外科用ビデオスコープシステムは、ゼラチンの瓶の体積走査を取得し、瓶を3次元でレンダリングし、ビデオスコープを通して双眼レンダリングを表示することができる。外科医は、内視鏡システムを通して、レンダリングおよび実際の瓶を視認し、レンダリングされた瓶を実際の瓶の上に適合させることができる。透過性を別個に調整することによって、外科医は、他の指定されたオブジェクトを回避しながら、鉗子を用いて実際の瓶の中へ手を伸ばし、選択されたオブジェクトをつかむことができる。
【0100】
把持器具は、手術野の体積レンダリング上に空間的に位置合わせされることができ、それによって、ツールのグラフィックが適切な解剖学的向きで手術野のレンダリング上に表示されることを可能にする。これは、増進した誘導を提供することができる。これは、画像レンダリングシステムと通信し、したがって、オブジェクト/プローブ関係を定義する、デジタイザを用いて、実際のオブジェクト(瓶)の上の指定ランドマークに触れることによって、実装されることができる。オブジェクト(瓶)が重ね合わせによって瓶の画像に位置合わせされるので、瓶の画像に関連して、プローブのグラフィックを表示することができ、仮想手術を可能にする。
【0101】
本システムを使用することができる、多くの状況がある。例えば、遠隔手術、医学訓練、および第3世界の国または軍事状況で使用することができる遠隔医療である。患者から遠隔に位置する外科医は、患者の近くの他の外科医を支援することができ、患者の近くの医学生を支援することができ、ロボット手術システムに連結されたときに外科手術を行うことができる。他の実施例は、増強または拡張手術、すなわち、仮想環境を使用する通常の手術を含み、その実施例は、内視鏡手術である。外科的手技をシミュレートすることもできる。互から遠隔に位置する外科医は、実際の患者に手術を実行する前に、手技を計画して実践し得る。
【0102】
他の用途は、手術の前の患者の準備、内科治療、予防医学、ばく露療法、恐怖症の軽減、身体障害がある人々の訓練、および技能増進等を含む。
【0103】
次いで、視認者は、左眼画像を左眼に送り、右眼画像を右眼に送る、受動的立体偏光眼鏡(サングラスに類似する)を通して投影を視認する。これは、正しくオフセットされた画像がソフトウェアによって適正にレンダリングされたときの立体視の錯覚を提供する。本システムは、システムにとって機能的不利益を伴わずに、他の種類の立体視ディスプレイによって置換することができる。立体視ディスプレイは、偏光レンズを装着された少なくとも2つの表示投影機と、拡散時に光偏光を維持する逆投影画面材料と、特定の偏光の光のみを見るように各眼を制限する特殊な眼鏡と、視認者とを備えていることができる。視認される画像は、2つのわずかに異なる視野変換でレンダリングされることができ、理想的な視認者の両眼の異なる場所を反映する。一方の投影機は、左眼の位置のためにレンダリングされた画像を表示し、他方の投影機は、右眼の位置のためにレンダリングされた画像を表示する。眼鏡は、左眼がそれのためにレンダリングされた画像のみを見て、右眼がそれのためにレンダリングされた画像のみを見るように、光を制限する。合理的な立体画像を提示された視認者は、深度を知覚するであろう。
【0104】
図15は、開示される方法を行うための例示的な動作環境を図示するブロック図である。この例示的な動作環境は、動作環境の実施例にすぎず、動作環境アーキテクチャの使用または機能性の範囲に関する任意の制限を示唆することを目的としていない。動作環境は、例示的な動作環境で例証される構成要素のうちのいずれか1つまたは組み合わせに関する、いかなる依存性または要件も有するものとして解釈されるべきではない。
【0105】
本方法は、多数の他の汎用または特殊コンピュータシステム環境または構成を用いて動作可能であり得る。本システムおよび方法とともに使用するために好適であり得る、周知のコンピュータシステム、環境、および/または構成の実施例は、パーソナルコンピュータ、サーバコンピュータ、ラップトップデバイス、およびマルチプロセッサシステムを含むが、それらに限定されない。追加の実施例は、セットトップボックス、プログラム可能消費者電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたはデバイスのうちのいずれかを含む分散コンピューティング環境等を含む。
【0106】
本方法は、コンピュータによって実行される、プログラムモジュール等のコンピュータ命令の一般的状況で説明され得る。概して、プログラムモジュールは、特定のタスクを行うか、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、構成要素、データ構造等を含む。本システムおよび方法はまた、タスクが、通信ネットワークを通してリンクされる遠隔処理デバイスによって行われる、分散コンピューティング環境で実践され得る。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶デバイスを含む、ローカルおよび遠隔コンピュータ記憶媒体の両方の中に位置し得る。
【0107】
本明細書で開示される方法は、コンピュータ1501の形態の1つ以上の汎用コンピュータデバイスを介して実装することができる。コンピュータ1501の構成要素は、1つ以上のプロセッサまたは処理ユニット1503、システムメモリ1512、およびプロセッサ1503を含む種々のシステム構成要素をシステムメモリ1512に連結するシステムバス1513を含むことができるが、それらに限定されない。
【0108】
システムバス1513は、メモリバスまたはメモリコントローラ、周辺機器用バス、加速グラフィックスポート、および種々のバスアーキテクチャのうちのいずれかを使用するプロセッサまたはローカルバスを含む、いくつかの可能な種類のバス構造のうちの1つ以上を表す。一例として、そのようなアーキテクチャは、業界標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、Video Electronics Standards Association(VESA)ローカルバス、およびメザニンバスとしても知られている周辺構成要素相互接続(PCI)バスを含むことができる。このバス、および本説明で特定される全てのバスはまた、有線または無線ネットワーク接続を経由して実装することもできる。バス1513、および本説明で特定される全てのバスはまた、有線または無線ネットワーク接続を経由して実装することもでき、プロセッサ1503、大容量記憶デバイス1504、オペレーティングシステム1505、アプリケーションソフトウェア1506、データ1507、ネットワークアダプタ1508、システムメモリ1512、入力/出力インターフェース1510、ディスプレイアダプタ1509、表示デバイス1511、およびヒューマンマシンインターフェース1502を含む、サブシステムの各々は、この形態のバスを通して接続される、物理的に分離した場所にある1つ以上の遠隔コンピュータデバイス1514a、b、c内に含むことができ、事実上、完全分散型システムを実装する。
【0109】
コンピュータ1501は、典型的には、種々のコンピュータ読み取り可能な媒体を含む。そのような媒体は、コンピュータ1501によってアクセス可能であり、揮発性および不揮発性媒体、取り外し可能および非取り外し可能な媒体の両方を含む、任意の利用可能な媒体であり得る。システムメモリ1512は、ランダムアクセスメモリ(RAM)等の揮発性メモリ、および/または読み取り専用メモリ(ROM)等の不揮発性メモリの形態で、コンピュータ読み取り可能な媒体を含む。システムメモリ1512は、典型的には、データ1507等のデータ、および/または処理ユニット1503に直接アクセス可能であり、および/または現在は処理ユニット1503によって動作させられる、オペレーティングシステム1505およびアプリケーションソフトウェア1506等のプログラムモジュールを含む。
【0110】
コンピュータ1501はまた、他の取り外し可能/非取り外し可能な、揮発性/不揮発性コンピュータ記憶媒体を含み得る。一例として、
図15は、コンピュータコード、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、およびコンピュータ1501の他のデータの不揮発性記憶装置を提供することができる、大容量記憶デバイス1504を図示する。例えば、大容量記憶デバイス1504は、ハードディスク、取り外し可能な磁気ディスク、取り外し可能な光ディスク、磁気カセットまたは他の磁気記憶デバイス、フラッシュメモリカード、CD−ROM、デジタル多用途ディスク(DVD)または他の光学記憶装置、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、電子的消去可能プログラム可能読み取り専用メモリ(EEPROM)等であり得る。
【0111】
一例として、オペレーティングシステム1505およびアプリケーションソフトウェア1506を含む、任意の数のプログラムモジュールを、大容量記憶デバイス1504上に記憶することができる。オペレーティングシステム1505およびアプリケーションソフトウェア1506の各々(またはそれらのある組み合わせ)は、プログラミングおよびアプリケーションソフトウェア1506の要素を含み得る。データ1507もまた、大容量記憶デバイス1504上に記憶することができる。データ1507は、当技術分野で公知である1つ以上のデータベースのうちの1つに記憶することができる。そのようなデータベースの実施例は、DB2(登録商標)、Microsoft(登録商標)アクセス、Microsoft(登録商標)SQLサーバ、Oracle(登録商標)、mySQL、PostgreSQL等を含む。データベースは、集中型、または複数のシステムにわたって分散型であり得る。
【0112】
ユーザは、入力デバイス(図示せず)を介して、コマンドおよび情報をコンピュータ1501に入力することができる。そのような入力デバイスの実施例は、キーボード、ポインティングデバイス(例えば、「マウス」)、マイクロホン、ジョイスティック、シリアルポート、スキャナ、手袋および他の身体を覆うもの等の触覚入力デバイス等を含むが、それらに限定されない。これらおよび他の入力デバイスは、システムバス1513に連結されるヒューマンマシンインターフェース1502を介して、処理ユニット1503に接続することができるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス(USB)等の他のインターフェースおよびバス構造によって接続され得る。
【0113】
表示デバイス1511もまた、ディスプレイアダプタ1509等のインターフェースを介して、システムバス1513に接続することができる。コンピュータ1501は、1つより多くのディスプレイアダプタ1509を有することができ、コンピュータ1501は、1つより多くの表示デバイス1511を有することができる。例えば、表示デバイスは、モニタ、LCD(液晶ディスプレイ)、または投影機であり得る。表示デバイス1511に加えて、他の出力周辺デバイスは、入力/出力インターフェース1510を介してコンピュータ1501に接続することができる、スピーカ(図示せず)およびプリンタ(図示せず)等の構成要素を含むことができる。
【0114】
コンピュータ1501は、1つ以上の遠隔コンピュータデバイス1514a、b、cへの論理的接続を使用して、ネットワーク環境で動作することができる。一例として、遠隔コンピュータデバイスは、パーソナルコンピュータ、携帯用コンピュータ、サーバ、ルータ、ネットワークコンピュータ、ピアデバイス、または他の共通ネットワークノード等であり得る。コンピュータ1501と遠隔コンピュータデバイス1514a、b、cとの間の論理的接続は、ローカルエリアネットワーク(LAN)および一般的な広域ネットワーク(WAN)を介して行うことができる。そのようなネットワーク接続は、ネットワークアダプタ1508を通すことができる。ネットワークアダプタ1508は、有線および無線環境の両方で実装することができる。そのようなネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、およびインターネット1515では普通である。
【0115】
1つ以上のVIPディスプレイ1516a、b、c、d、eは、コンピュータ1501と通信することができる。一側面では、VIPディスプレイ1516eは、入力/出力インターフェース1510を通してコンピュータ1501と通信することができる。この通信は、有線または無線であり得る。遠隔VIPディスプレイ1516a、b、cは、最初に、それぞれの遠隔コンピュータデバイス1514a、b、cと通信することによってコンピュータ1501と通信することができ、次いで、遠隔コンピュータデバイスは、インターネット1515等のネットワークを介して、ネットワークアダプタ1508を通してコンピュータ1501と通信する。遠隔VIPディスプレイ1516dは、遠隔コンピュータデバイスを必要とすることなく、コンピュータ1501と通信することができる。遠隔VIPディスプレイ1516dは、インターネット1515等のネットワークを介して通信することができる。VIPディスプレイ1516a、b、c、d、eは、無線で、または有線接続を通して通信することができる。VIPディスプレイ1516a、b、c、d、eは、個々に、またはVIPディスプレイネットワークの一部として集合的に通信することができる。
【0116】
例証の目的で、オペレーティングシステム1505等のアプリケーションプログラムおよび他の実行可能プログラム構成要素は、本明細書では個別的なブロックとして例証されるが、そのようなプログラムおよび構成要素は、種々の時間にコンピュータデバイス1501の異なる記憶構成要素の中に常駐し、コンピュータのデータプロセッサによって実行されることが認識される。アプリケーションソフトウェア1506の実装は、ある形態のコンピュータ読み取り可能な媒体上に記憶され、またはそれにわたって伝送され得る。コンピュータ読み取り可能な媒体は、コンピュータによってアクセスすることができる、任意の利用可能な媒体であり得る。限定ではなく一例として、コンピュータ読み取り可能な媒体は、「コンピュータ記憶媒体」および「通信媒体」を備え得る。「コンピュータ記憶媒体」は、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、または他のデータ等の情報の記憶のための任意の方法または技術で実装される、揮発性および不揮発性、取り外し可能および非取り外し可能な媒体を含む。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)または他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいは所望の情報を記憶するために使用することができ、かつコンピュータによってアクセスすることができる任意の他の媒体を含むが、それらに限定されない。
【0117】
別様に明示的に記載されない限り、本明細書に記載の任意の方法は、そのステップが、具体的順序で行われることを必要とするものと解釈されるように意図されない。故に、方法請求項が、実際には、そのステップによって追随される順序を列挙していない、またはステップが具体的順序に限定されることが、発明の概念または説明に別様に具体的に記載されていない場合、いかなる観点においても、ある順序が暗示されることをいかようにも意図されない。これは、ステップまたは動作フローの配列に関するロジックの問題、文法構成または句読法から導出される単純な意味、明細書に説明される実施形態の数またはタイプを含む、いかなる可能性のある解釈のための黙示原則にも該当する。
【0118】
本発明の範囲または精神から逸脱することなく、本方法およびシステムに種々の修正および変形を行うことができることは、当業者に明白である。他の実施形態は、明細書および本明細書に開示される実践を検討することによって、当業者に明白となるであろう。明細書および実施例は、単なる例示として見なされ、真の範囲および精神は、以下の請求項によって示されることが意図される。