バーチャル・モデル生成システム、バーチャル・モデル生成プログラム、および、インタラクティブ・バーチャル・コンテンツ生成システム
【課題】自由形状マークアップを用いたバーチャル・モデルを生成する。
【解決手段】ディスプレイと、物理的ワークスペースから画像を取得するカメラと、前記カメラによって取得された前記画像を処理し、命令を実行するプロセッサと、を備える。前記命令は、(a)前記物理的ワークスペースの物理的自由形状マークアップを識別および処理し、(b)前記物理的自由形状マークアップにもとづいてバーチャル・モデルをレンダリングし、(c)前記ディスプレイに前記バーチャル・モデルを表示する。前記物理的自由形状マークアップは描画実行によって生成された自由形状ストロークを含んでもよい。
【解決手段】ディスプレイと、物理的ワークスペースから画像を取得するカメラと、前記カメラによって取得された前記画像を処理し、命令を実行するプロセッサと、を備える。前記命令は、(a)前記物理的ワークスペースの物理的自由形状マークアップを識別および処理し、(b)前記物理的自由形状マークアップにもとづいてバーチャル・モデルをレンダリングし、(c)前記ディスプレイに前記バーチャル・モデルを表示する。前記物理的自由形状マークアップは描画実行によって生成された自由形状ストロークを含んでもよい。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はインタラクティブ・バーチャル・コンテンツを提供するシステムに関し、詳細には、自由形状マークアップにもとづいてインタラクティブ・バーチャル・コンテンツを提供することに関する。
【背景技術】
【0002】
バーチャル・モデルを構築することは、労力および時間を要するプロセスであり、物理的空間において測定を行うことを必要とし、場合によっては、コンピュータ生成モデルの編集も必要とする。そこで、たとえば、予めプリントされたマーカを用いて、オブジェクトもしくはシーンをマークアップすることにより、モデルが生成され、該モデルを操作することができるようになる、モデル生成タスクをサポートするシステムが存在する。該システムは、該シーンの画像もしくはビデオを収集し、処理する。該システムは、収集された画像の各々について、カメラの姿勢、すべてのマークアップの位置を判断することができ、モデルを生成するためにマークアップを解釈する。部屋のモデルを生成するためのシステムの使用の一例を図1に示す。該システムの利用の場面において、予めプリントされているマーカを適切なセット配置することが必要になることは多くの場合不便であり、ドキュメント化の作業が困難となり、不完全となることが多い。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】カグリオチ(Caglioti)、「操作可能なビジョン・ベースの空間曲線三次元入力装置(A manipulable Vision-Based 3D Input Device for Space Curves)」、シュプリンガー(Springer)、2008年
【非特許文献2】チョイ(Choi)ら、「NURBS面のフリー・ハンド・ストローク・ベース・バーチャル・スケッチ、変形、彫刻(Free hand stroke based virtual sketching, deformation and sculpting of NURBS surface)」、ICAT、ニュージーランド、2005年12月5日〜8日、第157巻
【非特許文献3】フリーマン(Freeman)、線描画画像のコンピュータ処理(Computer Processing of Line-Drawing Images)、ACM、米国、1974年、第6巻、第1号、頁57〜97
【発明の概要】
【発明が解決しようとする課題】
【0004】
予めプリントされたマーカに替えて、もしくは、予めプリントされたマーカを増強するために自由形状マークアップを用いたバーチャル・モデルを生成することができるシステムおよび方法が必要とされる。
【課題を解決するための手段】
【0005】
本発明の第1の態様は、物理的自由形状マークアップにもとづいてバーチャル・モデルを生成するシステムであって、ディスプレイと、物理的ワークスペースから画像を取得するカメラと、前記カメラによって取得された前記画像を処理し、命令を実行するプロセッサと、を備え、前記命令は、(a)前記物理的ワークスペースの物理的自由形状マークアップを識別および処理し、(b)前記物理的自由形状マークアップにもとづいてバーチャル・モデルをレンダリングし、(c)前記ディスプレイに前記バーチャル・モデルを表示する、ことを含む。
【0006】
本発明の第2の態様は、第1の態様のバーチャル・モデル生成システムであって、前記物理的自由形状マークアップは描画実行によって生成された自由形状ストロークを含む。
【0007】
本発明の第3の態様は、第1の態様のバーチャル・モデル生成システムであって、前記物理的自由形状マークアップは三次元オブジェクトを含む。
【0008】
本発明の第4の態様は、第1の態様のバーチャル・モデル生成システムであって、前記命令は、前記画像に前記バーチャル・モデルを重畳することをさらに含み、(c)は、前記ディスプレイに前記画像に重畳されたバーチャル・モデルを表示する。
【0009】
本発明の第5の態様は、第1の態様のバーチャル・モデル生成システムであって、前記命令は、前記物理的自由形状マークアップからパスを抽出し、抽出された前記パスに沿ってオブジェクトをアニメーション化する、ことをさらに含む。
【0010】
本発明の第6の態様は、第1の態様のバーチャル・モデル生成システムであって、前記命令は、前記物理的自由形状マークアップから動きもしくは他のアクティビティが検出される領域であるアクティビティ・ホットスポットを抽出し、前記画像から、該アクティビティ・ホットスポット内で生じる相互関係を検出する、ことをさらに含む。
【0011】
本発明の第7の態様は、第1の態様のバーチャル・モデル生成システムであって、(a)は、前記物理的自由形状マークアップから三次元パスを抽出する、ことを含む。
【0012】
本発明の第8の態様は、第1の態様のバーチャル・モデル生成システムであって、前記命令は、マークアップ・コマンドとして前記物理的自由形状マークアップを解釈する、ことをさらに含む。
【0013】
本発明の第9の態様は、第5の態様のバーチャル・モデル生成システムであって、前記命令は、抽出された前記パスを表示する、ことをさらに含む。
【0014】
本発明の第10の態様は、第1の態様のバーチャル・モデル生成システムであって、前記命令は、注釈のために前記物理的自由形状マークアップを分析する、ことをさらに含み、注釈が検出された場合には、該注釈を当該バーチャル・モデル生成システムに記憶する。
【0015】
本発明の第11の態様は、第1の態様のバーチャル・モデル生成システムであって、壁もしくは床が、前記物理的自由形状マークアップにもとづいて前記バーチャル・モデルの内部で構築される。
【0016】
本発明の第12の態様は、物理的自由形状マークアップにもとづいてインタラクティブ・バーチャル・コンテンツを生成するシステムであって、ディスプレイと、物理的ワークスペースから画像を取得するカメラと、カメラから取得した画像を処理し、命令を実行するプロセッサと、を備え、前記命令は、(a)前記画像から、前記物理的ワークスペースの前記物理的自由形状マークアップを識別し、該物理的自由形状マークアップを処理し、(b)前記物理的自由形状マークアップからパスを抽出する、ことを含む。
【0017】
本発明の第13の態様は、第12の態様のインタラクティブ・バーチャル・コンテンツ生成システムであって、前記命令は、前記画像に三次元バーチャル・モデルを重畳し、重畳した前記三次元バーチャル・モデルを前記ディスプレイに表示する、ことを含む。
【0018】
本発明の第14の態様は、第12の態様のインタラクティブ・バーチャル・コンテンツ生成システムであって、前記命令は、前記物理的自由形状マークアップからコマンドを抽出する、ことをさらに含み、抽出された前記コマンドがパスを示すコマンドである場合、(a)は、前記物理的自由形状マークアップからパスを抽出し、抽出された前記パスに沿ってオブジェクトをアニメーション化する、ことを含む。
【0019】
本発明の第15の態様は、第12の態様のインタラクティブ・バーチャル・コンテンツ生成システムであって、前記命令は、前記物理的自由形状マークアップからコマンドを抽出する、ことをさらに含み、抽出された前記コマンドが、動きもしくは他のアクティビティが検出される領域であるアクティビティ・ホットスポットを示すコマンドである場合、(a)は、前記物理的自由形状マークアップからアクティビティ・ホットスポットを抽出し、前記画像から、該アクティビティ・ホットスポット内で生じる相互関係を検出する、ことを含む。
【0020】
本発明の第16の態様は、第12の態様のインタラクティブ・バーチャル・コンテンツ生成システムであって、前記命令は、前記物理的自由形状マークアップからコマンドを抽出する、ことをさらに含み、抽出された前記コマンドがバーチャル・モデルを生成するコマンドである場合、(a)は、前記物理的自由形状マークアップにもとづいてバーチャル・モデルをレンダリングし、前記ディスプレイに前記バーチャル・モデルを表示する。
【0021】
本発明の第17の態様は、第12の態様のインタラクティブ・バーチャル・コンテンツ生成システムであって、前記命令は、注釈のために前記物理的自由形状マークアップを分析する、ことをさらに含み、注釈が検出された場合には、該注釈を当該インタラクティブ・バーチャル・コンテンツ生成システムに記憶する。
【0022】
本発明の第18の態様は、第12の態様のインタラクティブ・バーチャル・コンテンツ生成システムであって、前記命令は、前記画像のマーカを処理し、処理された前記マーカにもとづいて平面を抽出し、抽出された前記平面に描画される平面ストロークの三次元パスを決定する、ことをさらに含む。
【0023】
本発明の第19の態様は、第12の態様のインタラクティブ・バーチャル・コンテンツ生成システムであって、前記命令は、前記物理的自由形状マークアップからコマンドを抽出する、ことをさらに含み、抽出されたコマンドが動き制限を示すコマンドである場合、(a)は、バーチャル・モデルのオブジェクトの動きの限界をモデリングする、ことを含む。
【0024】
本発明の第20の態様は、第12の態様のインタラクティブ・バーチャル・コンテンツ生成システムであって、壁もしくは床が、前記物理的自由形状マークアップにもとづいて前記バーチャル・モデルの内部で構築される。
【0025】
本発明の第21の態様は、物理的自由形状マークアップにもとづくバーチャル・モデル生成プログラムであって、コンピュータに、(a)物理的ワークスペースから取得された画像から、該物理的ワークスペースの物理的自由形状マークアップを識別および処理する手順と、(b)前記物理的自由形状マークアップにもとづいてバーチャル・モデルをレンダリングする手順と、(c)ディスプレイに前記バーチャル・モデルを表示する手順と、
を実行させる。
【0026】
前述および後述の記載は説明のための例示であり、本発明もしくは本発明の適用を制限することを意図しない。
【発明の効果】
【0027】
自由形状マークアップにもとづいてバーチャル・モデルを生成することができる。
【図面の簡単な説明】
【0028】
【図1】プリントされたマーカによってマークアップすることにより生成される部屋のモデルの例を示す。
【図2】マーカ、拡張現実(AR)モデルによるフロア・プランの例、フロア・プランへの手描きストローク、拡張現実モデルのコンテクストにおいて押出された壁を示す。
【図3】モデルのストロークをマークアップするためのホワイトボード・ツールの例を示す。ストロークはホワイトボードに描画されてもよいし、ホワイトボックスの側面に描画されてもよい。三次元形状を定義するためにワイヤを使用してもよい。
【図4】本発明の実施形態におけるインタラクティブ・バーチャル・コンテンツを提供するシステムの外観図を示す。
【図5】ストローク抽出に含まれるステップを示す。
【図6】輪郭収縮およびフリーマン方向コードを示す。
【図7】折れ曲がり輪郭を計算するためのルックアップ・テーブル・キーを示す。
【図8】単純で平滑なストローク、交差する目盛、矢印のような内因性(intrinsic)ストローク・マーキングの例を示す。
【図9】予め装飾され、ラベル付けされているマーカ、および、自由形状装飾マーカの例を示す。
【図10】円筒を定義する完全に自由形状であるマークアップの例を示す。
【図11】インタラクティブ・バーチャル・コンテンツを提供するシステムによって利用されるストロークおよびマークアップ・プロセスの例を示す。
【図12】システムを実装することができる機能図の例を示す。
【図13】本発明の実施形態のフローチャートの例を示す。
【図14】本発明のシステムを実装することができるコンピュータ・プラットフォームの例示的な実施形態を示す。
【発明を実施するための形態】
【0029】
添付の図面において、同様の機能的要素には同様の参照符号を付す。添付の図面は例示のためのものであり、本発明を限定するものではない。本発明を実施するために当業者が実行可能な程度に、特定の実装を十分詳細に記述するが、本発明の範囲から逸脱することなく、他の実装が可能であり、様々な要素の構成変更および/または置き換えが可能である。したがって、以下の詳細な記述は、限定的に解釈されるべきではない。さらに、本発明の様々な実施形態は汎用目的コンピュータ上で動作するソフトウェアの形態で実装されてもよいし、特定のハードウェアの形態で実装されてもよいし、ソフトウェアおよびハードウェアの組み合わせによって実装されてもよい。
【0030】
ここで記述される技術によれば、メタデータを定義し、文書の注釈を提供する必要な装飾を、マーカの上に、もしくは、近傍に、単に描画することにより、ユーザは追加することができる。マーカのセットは個別的なので、扱いにくく、任意の曲線のような幾何学的形状を定義することが不可能な場合さえある。本発明のシステムおよび技術によれば、ユーザはこのような形状を単に描画することができる。このような描画のストロークはフラットなもしくはカーブした面上にペンによって生成されることができ、「三次元ストローク」を定義するために、ワイヤ、糸、ロープなどの配置をストロークとして使用して生成してもよい。説明上、パスは、単一の実パラメータによってパラメータ化することができる三次元の点の連続的なセットである。ストロークは少なくとも一つの連結されたパスのセットである。平面ストローク(二次元ストローク)は単一の平面にある点だけを含むストロークである。
【0031】
本発明の実施形態は、インタラクティブ・バーチャル・モデルを生成し、操作するための物理的空間における物理的自由形状マークアップ、スケール・モデルおよびオブジェクトを使用するシステムおよび方法を含む。マークアップは手描きのペン・ストロークを含むことができ、モデル特性を記述するマークアップ言語の要素として解釈される配置されたワイヤもしくは糸を含んでもよい。モデルを生成するために、もしくは、アニメーション・パス(アニメーションを移動させつつ表示させる経路)のようなインタラクティブな特性を定義するために、ユーザは物理的ワークスペースをマークアップし、システムによって解釈される画像もしくはビデオを収集する。システムは、画像の姿勢を判断し、マークアップの三次元的な配置を判断することにより、モデル特性を判断することができる。たとえば、部屋のモデルが与えられた場合、窓が配置される位置に一枚の紙を配置し、該窓の外郭を描画することにより該モデルに窓を追加することができる。コンベヤが配置されるべきパスを示すために、工場の床に色付きのロープを配置することができる。本発明の方法は、フロア・プランもしくは建築用モックアップなどのためのスケール・モデル空間、もしくは、モデル化されるべき実空間のいずれにも適用されることができる。
【0032】
「適用領域例」
本発明の実施態様によれば、主として、現実の三次元物理空間において行われるアクションによって、ユーザはバーチャル・モデルを生成することができる。多くの適用について、このアプローチはユーザにとってより自然であり、コンピュータ・ディスプレイにおいてバーチャル・モデルを編集するよりもよりよい現実感を提供することができる。コンピュータ・ディスプレイにおいてバーチャル・モデルを編集するためには、三次元の変化を生じさせるために二次元表示を操作することが必要となるからである。本発明の実施形態の使用において、物理的ワークスペースにおいて、アクションが行われる(マークアップが描画される、もしくは、レイアウトされる、など)。物理的ワークスペースは、モデリングされている空間と事実上等しくてもよいし、該空間の縮小物理スケール・モデルであってもよいし、単に、モデリングされている該空間にマッピングされるホワイトボード、ペーパのセットもしくはオブジェクトであってもよい。ユーザをさらに支援するために、バーチャル・モデルの画像をライブ・カメラ・ビデオ・ストリームの画像上に重畳することができる。これにより、ユーザは、追加されたマークアップ、もしくは、動きによってモデルがどのように変化するかを見ることができる。
【0033】
「物理的空間のマークアップ」
本発明の適用は物理空間をマークアップし、画像を取得し、該空間のモデルを生成するために該画像を使用することを含む。本発明の実施態様は、現在利用可能なシステムが使用される適用領域において使用されることができ、マーカへの依存を低減し、複雑な形状を記述する際のフレキシビリティが大きい、という効果を有する。物理的オブジェクトもしくは空間のモデルを生成することに加えて、本発明の実施形態によれば、仮想的なさらなる形状を記述するために、ペーパに描画されたストロークもしくは配置されたワイヤによってマークアップを行うことができる。該仮想的なさらなる形状は物理的空間の部分ではないが、関心を有される部分である。これらの適用は、ロープを使用して、カーブしたアーチ(archway)を壁に配置して、もしくは、家具の位置を規定して、オープン・プラン式のオフィスのパーティション(cubicle walls)をレイアウトすることを含む。マークアップをレイアウトすることは、フル・スケールである形状物を構築したり、コンピュータでバーチャル・モデルを生成したりすることにくらべ、ユーザへの負担をかなり軽減する。
【0034】
ここで記述される方法は、空間およびオブジェクトをそのまま記述するため、および、該空間の仮想的な拡張もしくは追加を記述するため、の双方で、使用されることができる。したがって、本発明の多くの態様が拡張現実表示と相補的であり、拡張現実表示によってサポートされる。拡張現実表示をすることで、マークアップによって記述される要素によって増強される物理的空間もしくはスケール・モデルを、ユーザは見ることが可能となる。
【0035】
「スケール・モデルのマークアップ」
図1はマーカによって生成されるバーチャル・モデルの例を示す。マーカ(たとえば、壁の輪郭を示すために壁の上部に配置された矩形のマーカ)によって部屋100をマークアップすることによって、システムは検出されたマーカによるバーチャル・モデル101を生成することができる。
【0036】
他の適用は、建築図もしくは建造物の発泡スチロール・ボードによるモックアップのような縮小モデルをマークアップするためのストロークの使用に関連する。図2に示されるように、第1の例は、拡張現実表示によってモデルに形状を追加するための手描きストロークを使用する。左上の例200はマーカによる建造物のフロア・プランを示す。マーカは2つの目的を有する。すなわち、マーカは、拡張現実表示が建造物のCGモデルを配置すべき位置を記述し、ストロークが解釈されるポリゴン表示領域を規定する。右上の例201は同様の図であるが、建造物のバーチャル・モデルが重畳されている。左下の例202は、壁が配置されるべき場所を示すために、ユーザが2つのストロークを描画したところである。システムはこれらのストロークを検出し、マーカによって規定される平面に該ストロークを投影する。壁は、該平面からの垂直なストロークを突出(extrusion)させることで生成されるように定義される。右下の例203に示される拡張モデルのコンテクストにおいて壁が示されている。
【0037】
パスに沿って再現されたユニット・セルの形態で形状を追加するために、スケール・モデルに対してストロークを描画することもできる。再現されているユニット・セルのタイプを示すために、予めプリントされている、もしくは、手描きされたマーカをストロークの近傍に追加してもよい。この方法は、たとえば、鉄道模型に追加されるべき線路のパスを示すために、使用されてもよい。同様に、描画されたストローク、もしくは、ワイヤや糸などが、工場のモデルに追加されるべきコンベヤ・ラインやパイプなどのパスを示すために使用されてもよい。これらのパスが非平面であっても、ストロークのためにワイヤを使用することができる。
【0038】
「バーチャル・モデルを操作するためのワークスペースのマーキング」
先の例において、マークアップされている物理的ワークスペースはモデリングされている実空間と等しくてもよかったし、もしくは、該空間の拡大/縮小モデルであってもよかった。これはたいへん自然な設定であるが、まだ制限がある。たとえば、工場の提案レイアウトを示すために工場のフロア・プランに描画する場合のように広い領域に壁を描画するために適切な表示スケールは、パーティションのレイアウトを示す場合に自然な表示スケールとは異なるかもしれない。任意の一般的な三次元コンピュータ・モデリング・ツールにおいては、モデルをズームし、周辺をパンすることによって、このような問題は取り扱われている。固定的なモデルを使用する場合であればパンおよびズームは可能であるが、 物理的モデルとバーチャル・モデルとのマッピングは変わってしまうだろう。
【0039】
このような制限に対処するために、物理的ワークスペースのモデリングされている空間に対するマッピングはユーザによって動的に調整されることができる。たとえば、建造物のモデルをホワイトボードにマッピングすることができ、これにより、建造物は、まず、ホワイトボードの中央に置かれたフロア・プランに位置合わせされる。実際、このようなことを行うために適した方法は、まず、ホワイトボードにフロア・プランを置くこと、すなわち、ホワイトボードにモデルを「ロード」することである。拡張現実表示を使用することにより、ユーザは、ホワイトボードによって工場の外側の壁を見ることができ、上記されたように、内側の壁の配置を示すストロークを描くことができる。マークアップ処理の後、追加された壁は拡張現実表示によって見ることができる。しかしながら、ユーザは、ホワイトボードからすべての描画されたストロークを消去してしまい(もし、存在するならば、プリントされたフロア・プランを除去してしまい)、工場の特定の領域を拡大するためにホワイトボード上の建造物のモデルのマッピングを拡大縮小およびパンするかもしれない。その後、さらなるストロークがパーティションの境界の配置を示すために描画される。
【0040】
この技術は、二次元作業面に限定されない。たとえば、立体的な書き込み消去可能なホワイトボード(ホワイトボックス(白い箱))を使用することができ、適切なスケールで、モデリングされている空間の任意の直交するコーナーをホワイトボックスのコーナーにマッピングすることができる。(直交する面の内部もしくは外部にマッピングするために、適切なワーク・スペース・ツールを生成してもよい。)ワーク・スペース・ツールのセット300の例を図3に示す。これによれば、ユーザは、たとえば床を示す一つの面への描画によって、マークアップを描画することができ、壁を示す直交する面にマークアップすることができる。たとえば、床に描画されたマークを押し出すことによって形成されるパーティションの高さを示すために、壁へのマーキングを使用することができる。もしくは、パイプのパスを示すためにワイヤを使用してもよい。
【0041】
「モデリングにおけるストローク・ベース・マークアップのその他の使用」
モデルにおいて形状の可視要素を記述するのと同様に、ここで記述される技術をモデリングの他の態様のために使用することもできる。他の態様は以下のものを含む。
【0042】
アニメーション:
描画されたストロークもしくは配置されたワイヤを、挿入されたモデルがアニメーションの進行につれて移動するであろうパスを示すために使用することができる。アニメーションの速度を一様としてもよく、(速度が変動する場合には、)速度の変動を示すためにストロークに目盛が描画されてもよい。オブジェクトは、動きを示すためにストローク、すなわち、配置されたワイヤに沿ってアニメーション化されてもよい。
【0043】
コマンド:
異なる要素をストロークで囲むことによって該異なる要素のグループを示す、などのために、マークアップ・エンジンへのコマンドとしてストロークを使用してもよい。現実拡張表示とのインタラクティブなセッションにおいて、消去を示すためにストロークを描画してもよい。ストロークは、どの領域を拡大するかを示すため、などのように、モデル表示への物理的ワークスペースの再マッピングを示すためのコマンドとしても有用である。たとえば、ホワイトボード上のストロークは、現在の表示における二点がフロア・プランにマッピングされる場合のマッピング位置を示す描画であってもよい。マッピングの変換が完了すると、ストロークは消去される。
【0044】
動きの制約:
これらの制約は、オブジェクトの動きに沿ったパス、もしくは、ドアまたは引き出しのようなオブジェクトの動きに限界を有する形態とすることができる。ピン・ジョイントが付加されるべき場所のような、2つのボディの間のジョイント関係を示すために、ストロークを使用することができる。
【0045】
センサおよびアラーム:
VRMLのようなモデリング・システムはセンサの概念を有する。ブラウザにおいて視点(一般には、アバターの位置)が所定の領域に入った場合に、アクションをトリガするために、センサを使用することができる。空間のストロークもしくはワイヤを、該領域を決定するために使用することができる。ビデオ監視システム(たとえば、DOTSシステム)によれば、動きもしくは他のアクティビティが検出される領域である「アクティビティ・ホットスポット」を、ユーザが定義することができる。アクティビティ・ホットスポットを、マスクを提供するためにシステムからの画像に注釈を付けることにより定義することができる。本発明の適用は、カメラの一つの視界に配置することによりアクティビティ・ホットスポットを定義するために、ロープなどを使用し、そのパスをシステムに解釈してもらうことである。
【0046】
「システム概説」
図4は、本発明の実施の形態によるインタラクティブ・バーチャル・コンテンツを提供するシステムの例示的な概観図を示す。基準マーカ400、骨格マーカ401、意味マーカ402のようなマーカが検出のために配置される。画像を収集するとき、実施形態のシステムは、配置されたマーカを検出するために、画像403および/またはビデオ・フレーム404を取得するためにカメラを利用することができる。実施形態のシステムは、画像の中の配置されたマーカを検出し、カメラに対するマーカ各々の相対的な姿勢、すなわち、カメラに対するマーカの相対的な位置および向き、を判断する(405)。これは、数学的には、カメラ座標システムにおいて示される点と、マーカ座標システムで示される同一の点と、をマッピングする変換に相当する。これは、任意の移動および回転に相当する6自由度を有する剛体変換である。これは可逆的であり、逆変換はマーカに対するカメラの位置を付与する。空間(world)におけるマーカの姿勢が既知であれば(408)、任意の画像において、マーカは明らかに視認可能であり、画像が収集されるときのカメラの位置が決定される。マーカの姿勢が当初未知であるがカメラ姿勢を判断することができる画像においてマーカが検出される場合、マーカの姿勢も判断される(406、407)。画像のセットが十分付与され、この形態の計算を繰り返すことにより、画像の各々についてマーカ各々の姿勢およびカメラ姿勢を推定することができる。画像セットの姿勢を推定し、マーカが決定される場合、バンドル調整と呼ばれる大域的最適化によって該推定を改善することができる(409)。
【0047】
マーカ各々の姿勢が判断されると、バーチャル・モデルを生成するためにマーカの意味(semantic meaning)をシステムが利用し、利用可能とされる新しいマーカの姿勢にバーチャル・モデルを更新する(411)。「マークアップ・ハンドラ」サブシステムは、モデルの部分と関連付けられているマーカに平面をフィットさせ、モデルの部分間の相互関係を解釈することにより、モデルの部分、たとえば、壁、を生成する。たとえば、壁、天井、床の交線を関連付けられている平面を終結するために使用する(412)。調整が行われると、最終的なバーチャル・モデルがレンダリングされる(413)。
【0048】
「ストローク検出および処理」
システムのストローク抽出手段が画像のマーキングを検出する。該マーキングは手描きのストローク、視認可能なワイヤ、糸、ロープなどであり、マークアップを制御するために使用されている。この適用について、ストロークの好適な出力表示は、グループ化されたポリラインもしくはストロークの骨格に沿ってパラメータ化された経路である。多くのアプローチを、ストロークを検出するために採用することができる。
【0049】
アプローチの一つでは、画像を入力とし、SVG(スケーラブル・ベクトル・グラフィック)ファイルのようなベクトル形態出力を生成する。このようなアプローチは、ポリラインもしくはスプラインとして、画像から曲線を正確に示すことができる。描画されたストロークの表示は、ストロークの輪郭に沿った一連のスプラインおよびポリラインである。骨格を判断するために、輪郭を後処理することが必要とされる。これに利用することができる骨格化の実装は、パッケージ「計算幾何学アルゴリズム・ライブラリ(CGAL: Computation Geometry Algorithm Library)」によって提供される。
【0050】
処理の第一歩としてこのようなアプローチを使用し、次にCGALを用いた骨格化を行うことの問題は、速度である。この種の処理は、高解像度の画像では多くの時間を必要とする。920×760画素の画像でも多くの時間を必要とするだろう。本発明のシステムの「ビデオ・モード」において、システムが画像を収集しているとき、ストローク検出サブシステムの結果をユーザが見ることができることが望ましい。これにより、表示が適切であるとき、および、検出されたストロークがユーザの意図に合致するとき、をユーザは知ることができる。
【0051】
図5はストローク抽出に含まれるステップを示す。この種のよりインタラクティブなシステムの使用をサポートするために、本発明のシステムは一秒間に複数のストロークを処理することができるストローク抽出の一形態を利用する。インタラクティブなバーチャル・コンテンツを提供する基本的なステップが本発明の実施形態により概説される。
【0052】
図5:
画像をカラーからグレースケールに変換し(500)、2値白黒画像を取得するためにグレイ画像を閾値処理する(501)。カラーからグレースケールへの変換は、与えられたカラーのストロークを強調するためのカラー・フィルタ・ベースであってよい。白黒画像が付与されると、輪郭が検出される(502)。輪郭は、画像の連結された要素の周辺に相当する。連結された要素が単に連結されているのではない場合、ストロークの外周に沿ったいくつかの輪郭と、ストロークの「穴」に沿った他の輪郭と、により、輪郭は入れ子であってもよい。
【0053】
図6:
図5の輪郭収縮ステップおよびフリーマン方向コード(Freeman direction codes)を示す。輪郭は、画素の連鎖として示されてよい。輪郭収縮は輪郭画素を左側に隣接する画素に「押し付ける」。図6は、輪郭600の部分を上の行に示し、収縮した結果を下の行に示す。これは、輪郭のフリーマン・コード化およびルックアップ・テーブルを用いて迅速に計算されることができる。輪郭の画素の各々について、輪郭の次の画素の位置は考え得る8個の方向601の一つである。適切に形成された輪郭については、連続する画素対の各々について、8×7=56個の考え得る値の対がある。任意の画素について、入って来るエッジと出て行くエッジとが一致しないからである。
【0054】
収集された輪郭は骨格化のために処理されることが必要である。これは、インタラクティブなプロセスによって実行されてよい。該インタラクティブなプロセスにおいて、自分自身もしくは他の輪郭を通り抜けることなくさらに収縮することができなくなるまで、輪郭は徐々に「収縮」される。これは、輪郭によって描かれる連結成分領域を「細線化(thinning)」することに相当する。これを効果的に実行するために、輪郭を有向グラフとして示すことができる。該有向グラフは画素に相当するノードと、該輪郭に沿った隣接画素に相当するエッジと、を有する。図6に示されるように、パスに沿った次に隣接する画素への各々の画素からの方向を、考え得る8個の方向の一つとして「フリーマン・チェーン」コード化することができる。
【0055】
輪郭収縮は、輪郭に沿って移動し、内側に「輪郭を押し込む」ことにより実行されることができる。すなわち、輪郭のノードの各々は輪郭に対し内側にある近傍のノードによって置換される。連結成分の外周輪郭が反時計回りに辿られ、内周輪郭(すなわち、穴)が時計回りに辿られる場合、輪郭を「押し込む」ことは「左に輪郭を押す」ことに相当する。図7に示されるように、ノードに入ってくるエッジおよびノードから出て行くエッジの方向コードにもとづき、ノードの各々について、輪郭を収縮するために該ノードがどのノードと置換されるべきかを示すルックアップ・テーブルを用いることによって、このプロセスを迅速に実行することができる。
【0056】
図7は折れ曲がり輪郭を計算するためのルックアップ・テーブル・キー700を示す。輪郭のノードn(画素位置)の各々はノードnに入ってくるエッジおよびノードnから出て行くエッジについてのフリーマン・コード・インデックスを有する。ノードnにおける輪郭を「押し込む」ために、ノードnが置換されるべき折れ曲がり輪郭のノード・セットを調べるために、これらのインデックスを使用することができる。これらのノードの座標はノードnの位置に関連して与えられる。このオペレーションを実行することにより、オリジナル輪郭のエッジを収縮輪郭のエッジと効率的に置換する。方向に依存することにより、1つのノードは0個、1個、2個、もしくは3個のノードによって置換されることができる。考え得る56個の必要とされるルックアップの値の内14個だけが示されている。対称的に回転することにより、他の42個は示されているものと等しくなる。ノードが他のノードと同じ位置に移動する場合、これらのノードは「凍結」され、もはや調整されない。この手続は、調整することができるノードがなくなるまで、継続される。輪郭グラフのノードの各々は、2つの入って来るエッジと2つの出て行くエッジとを有し、該エッジの向きは異なる。その後、領域の骨格を決定する無向グラフに、有向グラフを変換してもよい。このグラフを通るパスは、図5に示されるように、領域の骨格である。
【0057】
輪郭収縮の後のストローク抽出処理の次のステップは、骨格グラフのグラフ還元(graph reduction)である。当初の骨格グラフは骨格の画素の各々についてのノードを有する。骨格に沿ったパスの部分は次数2 (degree two)の多くのエッジを有する。グラフが連続するノードn1、n2、n3およびエッジ(n1,n2)、(n2,n3)を有すると仮定する。当初は同相である新しいグラフを、ノードn2を除去し、エッジ(n1,n2)および(n2,n3)をエッジ(n1,n3)と置き換えることにより生成することができる。画像における実際のパスについての情報を保存するために、このグラフのエッジは実際の画素のパスによって増強される。該実際の画素のパスは、n1からn2までの画素のパスとn2からn3までの画素のパスとを連結したものである。グラフの還元はグラフの位相的な特性を保存し、よりシンプルな等価グラフを導くことができる。ストローク検出の連結成分処理部分の出力は、連結成分の各々の還元されたグラフである。該グラフは成分のサブ・パス全体に相当する該グラフのエッジを有する。単一の明確にカーブしたストロークは、2つのノードと該ノードをつなぐ単一のエッジだけを有するグラフとして示される。画素のすべてを含む骨格に沿ったパスの全体に相当するデータによって、エッジはラベル付けされる。このシーケンスは、かなり少ないセグメントを有するポリラインによって近似されることができ、該セグメントはパスに付与された距離閾値の中にある。
【0058】
骨格化のための様々な方法を使用することができる。たとえば、一つのよいアプローチは上記した「細線化および境界伝搬(thinning and boundary propagation)」アプローチである。形態論などのようなアプローチと比較した場合のこのアルゴリズムの一つの長所は、輪郭に選択的に適用することができることである。ストロークの考え得る候補としての可能性によって、適用される輪郭を予め選択することができる。限界厚さwを有するストロークは、その連結された領域の総面積がw*L/2よりあまり大きくない特性を有するべきである。ここで、Lは周囲輪郭の長さである。
【0059】
ストローク抽出の最終レベルのオプションはグループ化である。有用であるかもしれない2つのタイプのグループ化がある。一つは連結された成分の内部でのグループ化であり、もう一つは複数の連結された成分にわたるグループ化である。連結された成分の内部で、骨格グラフのエッジの各々は骨格のセグメントを示す。しかしながら、一般的に一つの連結された成分内でセグメントをグループ化することは有用である。たとえば、短い交差する目盛を有する長いストロークが与えられた場合、該ストロークの長さ方向に沿ってエッジのすべてを単一のパスとしてグループ化することは好適である。これは、グラフで最も長いパスを検出し、すべての他のストロークが短いか否かを判断することにより、実行することができる。さらに、近傍およびストロークの方向にもとづいて、ストロークは複数の連結された成分にわたってグループ化されてもよい。これによれば、破線や点線などを一つのストロークとして扱うことができる。
【0060】
「複数の画像および時間にわたるストークの処理」
上記のストローク処理は画像の各々に適用される。適用のいくつかについては、ストロークは単一の画像に有意に使用されることができる。しかしながら、適用の多くについては、複数の画像にわたってストロークをグループ化することが必要となる。空間(world)に描画されるストロークおよび第1の画像への該ストロークの投影について考える。同一のストロークは、異なる位置から撮影される第2の画像において異なる外観を有するだろう。実際、画像の各々が複数のストロークを表示するならば、一つの画像のどのストロークが第2の画像のどのストロークに相当するか不明確となる可能性がある。
【0061】
システムがこの問題を扱うことができ、ストロークの対応を明確にすることができる2つの方法がある。たとえおおよそであっても、空間(world)のストロークの実際の形状が既知であるならば、該形状は既知の姿勢を有する任意の画像に投影され、該画像において検出される近傍のストロークと比較されることができる。投影されたストロークと画像において検出された最近傍のストロークとの間のハウスドルフ距離が小さいならば、該空間(world space)において、検出されたストロークは投影されたストロークに相当するものとされる。したがって、空間(world)のストロークに相当する任意の他の画像のストロークに、該投影されたストロークは相当する。
【0062】
ストロークの対応を明確にするためのもう一つの方法は、空間(world)においてストロークの形状のおおよその推定さえ不明である場合に、近傍の画像を比較することである。本発明のシステムは静止画像およびビデオ入力の双方をサポートする。カメラが移動する場合、ビデオの連続するフレームが対応するカメラの姿勢はたいへん類似する。一つの画像の検出されたストロークと他の画像における検出されたストロークとを比較するためにハウスドルフ距離を使用することができる。ストロークの対応がこれにより明確になると、次のセクションで説明される方法を空間(world)における実際のストロークのパスを推定するために使用することができる。時間にわたるストロークの時間的な態様はストロークの描画もしくは消去を捕捉するビデオである。
【0063】
多くの適用について、画像内で全体的に可視であるストロークを考えることが望ましい。しかしながら、いくつかの場合、画像はストロークの部分しか示さず、実際、ストロークはいずれか一つの画像においても全体的に可視ではないかもしれない。しかしながら、姿勢を有する十分な数の画像セットがストロークの異なる位置を示すために収集される場合、ストロークの全体は異なる画像において見られる異なる位置の推定を結び付けることにより再構築することができる。
【0064】
「ストロークの三次元処理」
画像からのストロークは単一の実数値によってパラメータ化されている画像のパスである。おおよそマークアップの目的で、空間(world)におけるストロークの実際の三次元パスを判断する必要がある。この最もシンプルなケースは、既知の方向の平面にパスが描画される場合である。たとえば、ホワイトボードもしくはフロア・プランなどのような平面に描画されたスケッチのストロークのケースがある。この場合、マーカもしくは他の手段をカメラに対する面の位置を知るために使用してもよい。画像のストロークに沿った点を平面に投影するために簡単な処理が実行される。該面には、ストロークが描画される、もしくは、配置されることが既知である。画像のストロークの点の各々が、画像面を通って投影のカメラ中心から出て行く射線に対応する。ストロークが描画される面と該面との交差がストロークの対応する三次元の点を付与する。
【0065】
ストロークが非平面であれば、もしくは、ストロークがある面の向きが既知でない場合、ストロークの三次元パスを、三角測量と同様の方法で、エピポーラ幾何学を用いて判断することができる。まず、既知の姿勢で撮影された2つの画像において見ることができる空間(world)の点を考える。一つの画像で見ることができる点について、該画像の同一の点に投影する空間(world)の点の射線全体がある。他の画像において見ることができる同一の点は、同様に、他の射線に対応する。射線の交差(もしくは、いくらかノイズがあり射線が交差しない場合交点の最近傍)が空間(world)における点の推定である。しかしながら、この三角測量は2つの画像において見ることができる複数の点の対応が既知であることを必要とする。もし、双方の画像においてパス全体が可視であればどうであろうか。点は1つの画像におけるパスに沿って選択されるかもしれないが、システムは対応する他の画像におけるパスに沿った点を判断しなければならない。これは、第2の画像において、第1の点のエピポーラ線を描画し、該エピポーラ線がパスと交差する位置を見ることによって行うことができる。すなわち、第1の画像において見ることができる点にすべてが対応する空間(world)の点の射線が線(いわゆる、エピポーラ線)として第2の画像に出現する。該線は第2の画像において見ることができるパスと交差しなければならない。交点は対応する点を付与する。空間点(world point)を決定するために三角測量を使用することができる。これによれば、第1の画像において見ることができるパスに沿った点のサンプリングを第2の画像において見ることができるパスに沿った点と合わせ、三次元空間(world space)におけるパスの実際の形状を判断するために対の各々は三角法で計測されることができる。この方法は、ある場合適切に機能しない。第1の画像において見ることができるパスの一点について、エピポーラ線が複数の点において第2のパスと交差すると仮定する。さらに悪いことに、第2の画像において見ることができる曲線の部分はエピポーラ線と一致するかもしれない。これは、該点に対応することができる第2の画像におけるパス上の点の全体集合があることを意味する。このような不明確さは他の位置から撮影した画像を使用することによって回避することができる。
【0066】
ワイヤの三次元パスを捕捉する代替的な方法が、本発明の他の実施形態について適切であるかもしれない。その方法は、ワイヤの単一の画像を必要とし、非特許文献1に記述されているように、ワイヤが一定の幅の矛盾のない円形の横断面を有するという仮定にもとづく。シェープテープ(shape tape)と呼ばれる他の関連技術は、平らなストリップ(flat strip)の三次元形状を提供することができる。
【0067】
「ストローク分類およびラベリング」
ストロークが画像から抽出され、グラフとして示されると、マークアップ解釈の前の低レベル処理の最終ステップである分類およびラベリングが行われる。これは、システムによってストロークが使用されるべきか否かを判断することを含み、使用されるべきであれば、どのように使用されるべきかを判断することを含む。画像の多くのストロークはワークスペースの単なる「バックグランド・ノイズ」の部分であり、無視されるべきである。ストロークの種類は以下のとおりである。
【0068】
ノイズ:これらのストロークはワークスペースにもともと存在する線もしくはテクスチャから生じるか、もしくは焦点および自動利得調整などによりカメラの動きに伴なうノイズ(artifact)として生じる。
ラベル:ラベルは固定された少ない語彙もしくは記号セットによって生成される。
ラベルを「壁1」のようなマーカのタイプもしくはグループを示すために使用することができる。ラベルは既存の手描き認識技術によって解読することができる。
注釈:注釈は、ユーザがマークアップ作業を記録することを望む文字もしくは描画である。注釈はシステムによって記録され、インタフェースを利用することができるが、システムによりストロークの解釈には利用はされない。
幾何学的修飾:これらは、色もしくはテクスチャのサンプリングの使用について範囲を示すマーカの近傍のマーキングである。
曲線記述:これらは、押出についてパスを定義するタスクなどを支援するために、幾何学的曲線を示す描画されたパスである。
コマンド・シンボル:これらのストロークは、「押出を挿入」、「この領域のモデル要素をすべて削除」、「これらの要素をグループ化」、「処理を開始」などの、システムに対するコマンドを示す。ストロークのいくつかは、コマンドおよび曲線記述の双方であってもよい。
【0069】
いくつかの方法が所望されないノイズ・ストロークを排斥し、有意なストロークを分類するために使用されることができる。それらの方法は以下を含む。
隣接マーカ:ストロークの近傍のマーカはストロークの意味を定義し、あるいは、変更することを支援する。隣接マーカは、それがどのように使用されるか(たとえば、突出のベースを決める、もしくは、ストロークを「消去」し、ポリラインもしくはスプラインで該ストロークを置換するか否か)を示してもよい。
色:区別可能な色をユーザ描画ストロークとノイズとを区別するために使用することができる。色はストロークのタイプを分類するために使用されてもよい。
意味領域:一つもしくは複数のマーカに対してアクティブ領域を定義してもよい。たとえば、マーカは「ラベル領域」および「コメント注釈領域」を有してもよい。さらに、マーカ・セットをすべてのストロークが曲線記述であると解釈される作業領域を定義するために、すなわち、押出もしくはアニメーション・パスを定義するために、使用してもよい。
ストロークの内因特性:ストローク自身の実際の特性は複数のストローク・タイプを区別するために使用することができる。たとえば、図8に示されるように、交差する目盛801を有するストロークは、ユニット・セルの複製を示し、矢印802はアニメーション・パスを示す、などであってよい。検出されたストロークを示すためにグラフを使用することはこの処理を単純化する。たとえば、単純で平滑なパス800は次数1(degree 1)の2つのノードを有し、単一のエッジを有するグラフを生成する。目盛は、長さが短いエッジとして見ることができ、次数1のノードと次数3もしくは次数4のノードとの連結である。
描画シンボル:ストロークのいくつかはシンボルとして解釈され、他のストロークの意味を修飾するために使用することができる。シンボルであるストロークの判断を単純化するために、該シンボルはボックスで囲まれていることを必要とされてもよい。
【0070】
システムのゴールは、できる限り、ユーザが物理的空間で操作することができるようにすることであるが、代替として、グラフィカル・ユーザ・インタフェースによってユーザがストロークの解釈を制御することができてもよい。システムの態様の一つにおいては、マークアップは処理されず、ユーザが明示的にマークアップのハンドリングをトリガするまで、システムの状態を変更するために使用される。これは、インタフェースのボタンによってなされるが、Xを含むボックスのようなシンボルを描画することによってなされてもよい。システムはストロークの解釈を誤ることがあるかもしれず、ユーザは生成したマークアップを変更することを所望するかもしれないので、システムは「取り消し」操作をサポートする。
【0071】
「ストローク・ベース・マークアップ処理」
本発明の実施態様のベースラインとして供されるマークアップ・システムを利用することによって、マーカを含むマークアップ言語を使用して、モデルが生成され、操作される。マーカは空間的言語の「ワード」として捉えることができ、マーカのコレクションはモデルを定義する「センテンス」として動作する。マーカはQRコードを含み、マーカに関連付けられているメタデータ、すなわち、マーカの意味、をユーザが理解することを支援する。これらの修飾は、QRコードの近傍にある、「壁」のような、ラベルであってもよいし、実際のQRコードから離れている関連する点である「アクティビティ・ホットスポット」を指し示す矢印であってもよい。ベースライン・システムにおいて、マーカのタイプのための修飾は固定され予めプリントされている。
【0072】
本発明のシステムは、モデルを定義するために「マークアップ言語」をサポートする同一のフレームワークにしたがうが、言語の一部として自由形状手描きストロークを含むためにフレームワークを拡張する。さらにマーカが使用されてもよい。マーカは幾何学を詳細に決定するために特に有用である。しかしながら、ストロークはマーカを増強するために使用されてもよく、ある場合には、マーカを置換するために使用されてもよい。
【0073】
「マーカの拡張」
ベースライン・システムを実際に使用する場合において、通常発生するような不便さを解消するために、正しいラベルおよび関連するメタデータを有する適切なマーカが生成される。たとえば、図9に示されるように、ドアの角にラベルを付加しようとした際に、マーカの中心からある距離離れた「ホットスポット」を用いることが望ましいことが多く、ホットスポット900を示すために、マーカに矢印がプリントされる。ここに記述された技術によれば、マーカの近傍もしくはマーカがプリントされたカードに矢印を描画することにより、こうしたメタデータを必要に応じて生成することができる。たとえば、図9に示されるように、ユーザはラベルを書いて、ホットスポット900への矢印を描画することができる。マーカが適用されると、拡大画像が取得され、ストロークへの処理がメタデータのタイプおよびホットスポットの双方を示すために使用することができる。
【0074】
ストロークを、マーカ・セットを拡張するために使用することができ、この拡張は必要とされるマーカの数を低減させられる。壁のカーブした部分のベース形状を定義する場合のような、カーブの使用を要求する適用に、これは、特に有用である。ベースライン・システムは、カーブの形状を近似するために、スプライン上の制御点を決定するために、マーカ・セットを使用してこれを行ってもよい。自由形状ストローク(もしくはワイヤ)を使用した描画ストロークによって拡張された単一のマーカを使用することができる。
【0075】
マーカ拡張としての描画ストロークの別の利用は、マークアップの間に生じることを記述するコメントを有するマーカに単に注釈を付けることである。
【0076】
「プリントされたマーカの代替としてのストローク」
マーカもしくはマーカ・セットを拡張することに加えて、マーカの代替としてストロークを使用することができる。考え得る多くの空間的言語を手描きストロークの解釈のために定義することができるが、具体化するために、プリントされたマーカにもとづいてこのスキームを使用することができる。QRコードを有する矩形のマーカに替えて、ユーザはシンボルを描くことができる。ボックスのタイプが下部に描かれてよく、ラベルおよび考え得るコメントを示すラインが描画される。先の例などで、マーカに関連する一つもしくは複数のホットスポットを示すさらなる修飾をボックスの近傍に描画することができる。図10は、円筒を定義するための完全に自由形状であるマークアップ1000の例を示す。手描きの矩形および下線は検出が比較的容易である。下部のラベルは手描き認識システムによって処理されることができる。コメントはシステムによって解釈される必要はないが、注釈のためにビットマップとして維持されてもよい。ベースの曲線を描画することにより明示的に定義するのではなく、ベースの3以上の点を付与することにより円筒が暗示的に定義される。
【0077】
図11はインタラクティブ・バーチャル・コンテンツを提供するシステムによって利用されるストロークおよびマークアップ処理の例を示す。先に記述された適用例のいくつかにおいて、ストロークが投影されるべき平面および囲んでいる多角形のような、マークアップ・ハンドリング・サブシステムからの情報を、二次元ストローク・データからバーチャル・モデルを生成するために使用した。先に記述されたように、ストローク処理は、ストロークをグレースケールに変換し、白黒1100に変換するために画像を閾値処理することを含んでもよい。ストロークの輪郭が識別され(1101)、輪郭収縮が行われ(1102)、グラフが生成される(1103)。次に、グラフ還元を適用することができる(1104)。マークアップ・ハンドリングは処理された多角形に最適なフレームを検出し(1105)、平面に点を投影することを含む(1106)。ストロークのタイプを投影された点から判断することができ(1107)、バーチャル・モデルを判断されたストロークのタイプによってレンダリングすることができる(1108)。
【0078】
図12はシステムを実装することができる機能図の例を示す。カメラ1200はマークアップを有する物理的ワークスペース1201に向けられ、ライブ映像をコンピュータ・システム1202に送信する。ストローク抽出ユニット1203は自由形状マークアップおよびストロークについてライブ映像を処理する。ライブ映像から処理された自由形状マークアップおよびストロークは、バーチャル・モデルを構築するために解釈を行うストローク処理ユニット1204に送信される。バーチャル・モデリング・ユニット1205は自由形状マークアップの解釈にもとづいてバーチャル・モデルを生成する。次に、バーチャル・モデルはディスプレイ1206に送信される。
【0079】
図13は、本発明の実施形態のフローチャートの例を示す。本発明の実施形態の一つにおいて、システムは物理的ワークスペースのカメラからライブ映像を受信する(1300)。次に、物理的ワークスペースにおける物理的自由形状マークアップを識別するために、ライブ映像を処理する(1301)。物理的自由形状マークアップを検出すると、バーチャル・モデルはマークアップにもとづいてレンダリングされ(1302)、ユーザのためにディスプレイに表示される(1303)。
【0080】
図14は、本発明のシステムを実装することができるコンピュータ・プラットフォームの例示的な実施形態を示す。
【0081】
図14は、本発明の方法を実装することができるコンピュータ/サーバ・システム1400の実施形態を示すブロック図である。システム1400は、コンピュータ/サーバ・プラットフォーム1401、周辺デバイス1402、ネットワーク・リソース1403を含む。
【0082】
コンピュータ・プラットフォーム1401は、データ・バス1404もしくはコンピュータ・プラットフォーム1401の様々な部分にわたって、および、様々な部分の間で情報を通信する他の通信機構、情報を処理し他の計算タスクおよび制御タスクを実行するためにデータ・バス1404に接続されているプロセッサ(CPU)1405を含むことができる。コンピュータ・プラットフォーム1401は、様々な情報やプロセッサ1405によって実行されるべき命令を記憶するためにデータ・バス1404に接続されているランダム・アクセス・メモリ(RAM)や他のダイナミック記憶デバイスのような揮発性記憶手段1406も含む。揮発性記憶手段1406は、プロセッサ1405によって命令が実行される間、一時的な変数や他の中間情報を記憶するためにも使用されてよい。コンピュータ・プラットフォーム1401は、さらに、様々なシステム構成パラメータや基本入出力システム(BIOS)のようなスタティックな情報やプロセッサ1405への命令を記憶するために、データ・バス1404に接続されているリード・オンリー・メモリ(ROMもしくはEPROM)1407も含む。磁気ディスク、光ディスク、固体フラッシュ・メモリ・デバイスのような永続記憶手段1408が提供され、情報および命令を記憶するためにデータ・バス1404に接続されている。
【0083】
コンピュータ・プラットフォーム1401は、陰極線管(CRT)、プラズマ・ディスプレイ、液晶ディスプレイ(LCD)などのディスプレイ1409に、コンピュータ・プラットフォーム1401のシステム管理者もしくはユーザに情報を表示するために、データ・バス1404を介して接続されていてもよい。英数字および他のキーを含むキーボードのような入力デバイス1410が、情報および命令の選択をプロセッサ1405に通信するために、データ・バス1404に接続されている。ユーザ入力デバイスの他のタイプは、方向情報および命令の選択をプロセッサ1405に通信し、ディスプレイ1409上のカーソル移動を制御するマウス、トラックボール、カーソル方向キーなどのカーソル制御デバイス1411である。一般に、入力デバイスは第一の軸(たとえば、x軸)および第二の軸(たとえば、y軸)の2つの軸で2の自由度を有し、これにより、デバイスは平面の位置を特定することができる。
【0084】
外部記憶手段1412が、コンピュータ・プラットフォーム1401に追加の、もしくは、脱着可能な記憶容量を提供するために、データ・バス1404を介して、コンピュータ・プラットフォーム1401に接続されていてもよい。コンピュータ・システム1400の実施形態において、外部脱着可能記憶手段1412は他のコンピュータ・システムとのデータの交換を容易にする。
【0085】
本発明は、ここで記述される技術を実装するコンピュータ・システム1400の使用に関する。該実施形態において、本発明のシステムはコンピュータ・プラットフォーム1401のようなマシンに含まれていてもよい。本発明の実施形態の一つによれば、ここで記述される技術は、揮発性メモリ(記憶手段)1406に含まれる一つもしくは複数の命令の一つもしくは複数のシーケンスを実行するプロセッサ1405に応じて、コンピュータ1400によって実行される。そのような命令は、永続記憶手段1408のような他のコンピュータ可読媒体から揮発性メモリ1406に読み込まれてもよい。揮発性メモリ1406に含まれる命令のシーケンスの実行により、プロセッサ1405はここで記述された処理ステップを実行する。代替的な実施形態において、本発明を実装するために、ソフトウェア命令に替えてもしくはソフトウェア命令と組み合わせて、ハード・ワイヤード電気回路を使用してもよい。このように、本発明の実施形態は特定のハードウェア回路およびソフトウェアに限定されるものではない。
【0086】
ここで使用される用語「コンピュータ可読媒体」は実行のためにプロセッサ1405に命令を提供する任意の媒体であってよい。コンピュータ可読媒体は、ここで記述される方法および/または技術を実装するために命令を搬送するマシン可読媒体の一例に過ぎない。このような媒体は不揮発性媒体、揮発性媒体など多くの形態を採ってよいが、これらに限定されるものではない。不揮発性媒体は、たとえば、記憶手段1408のような光ディスクもしくは磁気ディスクを含む。不揮発性記憶媒体は揮発性記憶手段1406のようなダイナミック・メモリを含む、
【0087】
コンピュータ可読媒体の一般的な形態は、たとば、フロッピー(登録商標)・ディスク、フレキシブル・ディスク、ハード・ディスク、磁気テープもしくは、任意の他の磁気媒体、CD−ROM、任意の他の光媒体、パンチカード、紙テープなどのパターンや穴を有する他の物理的記憶媒体、RAM、PROM、EPROM、フラッシュEPROM、フラッシュ・ドライブ、メモリ・カード、他の任意のメモリ・チップ、もしくは、カートリッジ、もしくは、コンピュータが読むことができる他の媒体であってよい。
【0088】
様々な形態のコンピュータ可読メディアが、実行のためにプロセッサ1405に一つもしくは複数の命令の一つもしくは複数のシーケンスを搬送するために含まれてよい。たとえば、命令は、最初、遠隔コンピュータから磁気ディスクに搬送される。代替的に、遠隔コンピュータは、自身のダイナミック・メモリに命令をロードし、モデムを使用して、電話線を介して、命令を送信することができる。コンピュータ・システムのローカルなモデムは、電話線上のデータを受信し、データを赤外線信号に変換するために赤外線トランスミッタを使用することができる。赤外線検出手段は、赤外線信号で搬送されたデータを受信し、データ・バス1404上にデータを置くことができる。データ・バス1404は揮発性記憶手段1406にデータを搬送し、プロセッサ1405は揮発性記憶手段1406から命令を取り出し、実行する。揮発性メモリ1406から受信された命令は、プロセッサ1405による実行の前もしくは後のいずれかに、揮発性記憶手段1408に記憶されてもよい。命令は、当該技術分野において周知の様々なネットワーク・データ通信プロトコルを使用して、インターネットを介して、コンピュータ・プラットフォームにダウンロードされてもよい。
【0089】
コンピュータ・プラットフォーム1401は、データ・バス1404に接続されているネットワーク・インタフェース・カード1413のような通信インタフェースも含んでよい。通信インタフェース1413はネットワーク・リンク1414を介してローカル・エリア・ネットワーク1415に接続され、双方向データ通信を提供する。たとえば、通信インタフェース1413は、対応するタイプの電話線にデータ通信接続を提供するISDN(Integrated Services Digital Network)カードもしくはモデムであってよい。他の例として、通信インタフェース1413は互換性のあるLANにデータ通信接続を提供するローカル・エリア・ネットワーク・インタフェース・カード(LAN NIC)であってよい。周知の802.11a、802.11b、ブルートゥースのようなワイヤレス・リンクがネットワークの実装に使用されてもよい。任意の実装において、通信インタフェース1413は、様々なタイプの情報を示すデジタル・データ・ストリームを搬送する電気信号、電磁信号、光信号などを送信し、受信する。
【0090】
ネットワーク・リンク1414は、一般に、一つもしくは複数のネットワークを介した他のネットワーク・リソースへのデータ通信を提供する。たとえば、ネットワーク・リンク1414はローカル・エリア・ネットワーク1415を介したホスト・コンピュータ・1416、もしくは、ネットワーク記憶手段/ネットワーク・サーバ1422への通信を提供する。さらに、または、代替的に、ネットワーク・リンク1414は、ゲートウェイ/ファイアウォール1417を介してインターネットのようなワイド・エリア・ネットワークもしくはグローバル・ネットワーク1418へ接続してもよい。コンピュータ・プラットフォーム1401は遠隔のネットワーク記憶手段/ネットワーク・サーバ1419などのような、インターネット1418のどこかに配置されているネットワーク・リソースにアクセスすることができる。一方、コンピュータ・プラットフォーム1401は、ローカル・エリア・ネットワーク1415および/もしくはインターネット1418のどこかに配置されているクライアントによってアクセスされてもよい。ネットワーク・クライアント1420および1421はプラットフォーム1401と同様のコンピュータ・プラットフォームに実装されていてもよい。
【0091】
ローカル・エリア・ネットワーク1415およびインターネット1418は双方ともデジタル・データ・ストリームを搬送する電気信号、電磁信号、光信号を使用する。コンピュータ・プラットフォーム1401へ、もしくは、コンピュータ・プラットフォーム1401からのデジタル・データを搬送する様々なネットワークを介した信号、ネットワーク・リンク1414上の信号、通信インタフェース1413を介した信号は、例示的には、情報を搬送する搬送波の形態であってもよい。
【0092】
コンピュータ・プラットフォーム1401は、インターネット1418およびLAN1415を含む様々なネットワーク、ネットワーク・リンク1414、通信インタフェース1413を介してメッセージを送信し、プログラム・コードを含むデータを受信することができる。インターネットの例では、システム(コンピュータ・プラットフォーム)1401はネットワーク・サーバとして動作し、インターネット1418、ゲートウェイ/ファイアウォール1417、ローカル・エリア・ネットワーク1415、通信インタフェース1413を介して、クライアント1420および/または1421の上で実行されるアプリケーション・プログラムの要求されたコードもしくはデータを送信するかもしれない。同様に、コンピュータ・プラットフォーム1401は他のネットワーク・リソースからコードを受信してもよい。
【0093】
受信したコードは、受信した状態のまま、プロセッサ1405によって実行されてもよいし、その後の実行のために永続記憶手段1408、揮発性記憶手段1406、もしくは他の不揮発性記憶手段に記憶されてもよい。
【0094】
本発明は、特定のファイアウォールに限定されるものではない。本発明のポリシー・ベース・コンテンツ処理システムは3つのファイアウォール・オペレーティング・モード、詳細には、NAT、ルーティング、トランスペアレント、のいずれかで使用されてもよい。
【0095】
最後に、ここで記述された処理および技術は特定の装置に固有に関係するものではなく、要素の適切な組み合わせによって実装することができる。様々なタイプの汎用目的デバイスが、ここで記述されている教示にしたがって使用されてもよい。ここで記述された方法ステップを実行するために、特定目的装置を構築することも有効である。本発明は特定の例に関連して記述されているが、これらは例示を目的としており、本発明を制限することを意図するものではない。ハードウェア、ソフトウェアおよびファームウェアの多くの異なる組み合わせが本発明を実行するために使用されてよい。たとえば、記述されたソフトウェアは、アセンブラ、C/C++、Perl、シェル・スクリプト、Java(登録商標)などの様々なプログラム言語、スクリプト言語で実装されてよい。
【0096】
ここで記述された発明の仕様および実用を検討することによって、当業者は本発明の他の実装を行うことができる。物理的自由形状マークアップの機械解析にもとづいてインタラクティブ・バーチャル・コンテンツを生成するために、記述された実施形態の様々な態様および/もしくは要素は単一でもしくは組み合わせで、システムにおいて使用されてもよい。本発明の真の範囲は特許請求の範囲に示され、以上の例を含む記述は例示である。
【技術分野】
【0001】
本発明はインタラクティブ・バーチャル・コンテンツを提供するシステムに関し、詳細には、自由形状マークアップにもとづいてインタラクティブ・バーチャル・コンテンツを提供することに関する。
【背景技術】
【0002】
バーチャル・モデルを構築することは、労力および時間を要するプロセスであり、物理的空間において測定を行うことを必要とし、場合によっては、コンピュータ生成モデルの編集も必要とする。そこで、たとえば、予めプリントされたマーカを用いて、オブジェクトもしくはシーンをマークアップすることにより、モデルが生成され、該モデルを操作することができるようになる、モデル生成タスクをサポートするシステムが存在する。該システムは、該シーンの画像もしくはビデオを収集し、処理する。該システムは、収集された画像の各々について、カメラの姿勢、すべてのマークアップの位置を判断することができ、モデルを生成するためにマークアップを解釈する。部屋のモデルを生成するためのシステムの使用の一例を図1に示す。該システムの利用の場面において、予めプリントされているマーカを適切なセット配置することが必要になることは多くの場合不便であり、ドキュメント化の作業が困難となり、不完全となることが多い。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】カグリオチ(Caglioti)、「操作可能なビジョン・ベースの空間曲線三次元入力装置(A manipulable Vision-Based 3D Input Device for Space Curves)」、シュプリンガー(Springer)、2008年
【非特許文献2】チョイ(Choi)ら、「NURBS面のフリー・ハンド・ストローク・ベース・バーチャル・スケッチ、変形、彫刻(Free hand stroke based virtual sketching, deformation and sculpting of NURBS surface)」、ICAT、ニュージーランド、2005年12月5日〜8日、第157巻
【非特許文献3】フリーマン(Freeman)、線描画画像のコンピュータ処理(Computer Processing of Line-Drawing Images)、ACM、米国、1974年、第6巻、第1号、頁57〜97
【発明の概要】
【発明が解決しようとする課題】
【0004】
予めプリントされたマーカに替えて、もしくは、予めプリントされたマーカを増強するために自由形状マークアップを用いたバーチャル・モデルを生成することができるシステムおよび方法が必要とされる。
【課題を解決するための手段】
【0005】
本発明の第1の態様は、物理的自由形状マークアップにもとづいてバーチャル・モデルを生成するシステムであって、ディスプレイと、物理的ワークスペースから画像を取得するカメラと、前記カメラによって取得された前記画像を処理し、命令を実行するプロセッサと、を備え、前記命令は、(a)前記物理的ワークスペースの物理的自由形状マークアップを識別および処理し、(b)前記物理的自由形状マークアップにもとづいてバーチャル・モデルをレンダリングし、(c)前記ディスプレイに前記バーチャル・モデルを表示する、ことを含む。
【0006】
本発明の第2の態様は、第1の態様のバーチャル・モデル生成システムであって、前記物理的自由形状マークアップは描画実行によって生成された自由形状ストロークを含む。
【0007】
本発明の第3の態様は、第1の態様のバーチャル・モデル生成システムであって、前記物理的自由形状マークアップは三次元オブジェクトを含む。
【0008】
本発明の第4の態様は、第1の態様のバーチャル・モデル生成システムであって、前記命令は、前記画像に前記バーチャル・モデルを重畳することをさらに含み、(c)は、前記ディスプレイに前記画像に重畳されたバーチャル・モデルを表示する。
【0009】
本発明の第5の態様は、第1の態様のバーチャル・モデル生成システムであって、前記命令は、前記物理的自由形状マークアップからパスを抽出し、抽出された前記パスに沿ってオブジェクトをアニメーション化する、ことをさらに含む。
【0010】
本発明の第6の態様は、第1の態様のバーチャル・モデル生成システムであって、前記命令は、前記物理的自由形状マークアップから動きもしくは他のアクティビティが検出される領域であるアクティビティ・ホットスポットを抽出し、前記画像から、該アクティビティ・ホットスポット内で生じる相互関係を検出する、ことをさらに含む。
【0011】
本発明の第7の態様は、第1の態様のバーチャル・モデル生成システムであって、(a)は、前記物理的自由形状マークアップから三次元パスを抽出する、ことを含む。
【0012】
本発明の第8の態様は、第1の態様のバーチャル・モデル生成システムであって、前記命令は、マークアップ・コマンドとして前記物理的自由形状マークアップを解釈する、ことをさらに含む。
【0013】
本発明の第9の態様は、第5の態様のバーチャル・モデル生成システムであって、前記命令は、抽出された前記パスを表示する、ことをさらに含む。
【0014】
本発明の第10の態様は、第1の態様のバーチャル・モデル生成システムであって、前記命令は、注釈のために前記物理的自由形状マークアップを分析する、ことをさらに含み、注釈が検出された場合には、該注釈を当該バーチャル・モデル生成システムに記憶する。
【0015】
本発明の第11の態様は、第1の態様のバーチャル・モデル生成システムであって、壁もしくは床が、前記物理的自由形状マークアップにもとづいて前記バーチャル・モデルの内部で構築される。
【0016】
本発明の第12の態様は、物理的自由形状マークアップにもとづいてインタラクティブ・バーチャル・コンテンツを生成するシステムであって、ディスプレイと、物理的ワークスペースから画像を取得するカメラと、カメラから取得した画像を処理し、命令を実行するプロセッサと、を備え、前記命令は、(a)前記画像から、前記物理的ワークスペースの前記物理的自由形状マークアップを識別し、該物理的自由形状マークアップを処理し、(b)前記物理的自由形状マークアップからパスを抽出する、ことを含む。
【0017】
本発明の第13の態様は、第12の態様のインタラクティブ・バーチャル・コンテンツ生成システムであって、前記命令は、前記画像に三次元バーチャル・モデルを重畳し、重畳した前記三次元バーチャル・モデルを前記ディスプレイに表示する、ことを含む。
【0018】
本発明の第14の態様は、第12の態様のインタラクティブ・バーチャル・コンテンツ生成システムであって、前記命令は、前記物理的自由形状マークアップからコマンドを抽出する、ことをさらに含み、抽出された前記コマンドがパスを示すコマンドである場合、(a)は、前記物理的自由形状マークアップからパスを抽出し、抽出された前記パスに沿ってオブジェクトをアニメーション化する、ことを含む。
【0019】
本発明の第15の態様は、第12の態様のインタラクティブ・バーチャル・コンテンツ生成システムであって、前記命令は、前記物理的自由形状マークアップからコマンドを抽出する、ことをさらに含み、抽出された前記コマンドが、動きもしくは他のアクティビティが検出される領域であるアクティビティ・ホットスポットを示すコマンドである場合、(a)は、前記物理的自由形状マークアップからアクティビティ・ホットスポットを抽出し、前記画像から、該アクティビティ・ホットスポット内で生じる相互関係を検出する、ことを含む。
【0020】
本発明の第16の態様は、第12の態様のインタラクティブ・バーチャル・コンテンツ生成システムであって、前記命令は、前記物理的自由形状マークアップからコマンドを抽出する、ことをさらに含み、抽出された前記コマンドがバーチャル・モデルを生成するコマンドである場合、(a)は、前記物理的自由形状マークアップにもとづいてバーチャル・モデルをレンダリングし、前記ディスプレイに前記バーチャル・モデルを表示する。
【0021】
本発明の第17の態様は、第12の態様のインタラクティブ・バーチャル・コンテンツ生成システムであって、前記命令は、注釈のために前記物理的自由形状マークアップを分析する、ことをさらに含み、注釈が検出された場合には、該注釈を当該インタラクティブ・バーチャル・コンテンツ生成システムに記憶する。
【0022】
本発明の第18の態様は、第12の態様のインタラクティブ・バーチャル・コンテンツ生成システムであって、前記命令は、前記画像のマーカを処理し、処理された前記マーカにもとづいて平面を抽出し、抽出された前記平面に描画される平面ストロークの三次元パスを決定する、ことをさらに含む。
【0023】
本発明の第19の態様は、第12の態様のインタラクティブ・バーチャル・コンテンツ生成システムであって、前記命令は、前記物理的自由形状マークアップからコマンドを抽出する、ことをさらに含み、抽出されたコマンドが動き制限を示すコマンドである場合、(a)は、バーチャル・モデルのオブジェクトの動きの限界をモデリングする、ことを含む。
【0024】
本発明の第20の態様は、第12の態様のインタラクティブ・バーチャル・コンテンツ生成システムであって、壁もしくは床が、前記物理的自由形状マークアップにもとづいて前記バーチャル・モデルの内部で構築される。
【0025】
本発明の第21の態様は、物理的自由形状マークアップにもとづくバーチャル・モデル生成プログラムであって、コンピュータに、(a)物理的ワークスペースから取得された画像から、該物理的ワークスペースの物理的自由形状マークアップを識別および処理する手順と、(b)前記物理的自由形状マークアップにもとづいてバーチャル・モデルをレンダリングする手順と、(c)ディスプレイに前記バーチャル・モデルを表示する手順と、
を実行させる。
【0026】
前述および後述の記載は説明のための例示であり、本発明もしくは本発明の適用を制限することを意図しない。
【発明の効果】
【0027】
自由形状マークアップにもとづいてバーチャル・モデルを生成することができる。
【図面の簡単な説明】
【0028】
【図1】プリントされたマーカによってマークアップすることにより生成される部屋のモデルの例を示す。
【図2】マーカ、拡張現実(AR)モデルによるフロア・プランの例、フロア・プランへの手描きストローク、拡張現実モデルのコンテクストにおいて押出された壁を示す。
【図3】モデルのストロークをマークアップするためのホワイトボード・ツールの例を示す。ストロークはホワイトボードに描画されてもよいし、ホワイトボックスの側面に描画されてもよい。三次元形状を定義するためにワイヤを使用してもよい。
【図4】本発明の実施形態におけるインタラクティブ・バーチャル・コンテンツを提供するシステムの外観図を示す。
【図5】ストローク抽出に含まれるステップを示す。
【図6】輪郭収縮およびフリーマン方向コードを示す。
【図7】折れ曲がり輪郭を計算するためのルックアップ・テーブル・キーを示す。
【図8】単純で平滑なストローク、交差する目盛、矢印のような内因性(intrinsic)ストローク・マーキングの例を示す。
【図9】予め装飾され、ラベル付けされているマーカ、および、自由形状装飾マーカの例を示す。
【図10】円筒を定義する完全に自由形状であるマークアップの例を示す。
【図11】インタラクティブ・バーチャル・コンテンツを提供するシステムによって利用されるストロークおよびマークアップ・プロセスの例を示す。
【図12】システムを実装することができる機能図の例を示す。
【図13】本発明の実施形態のフローチャートの例を示す。
【図14】本発明のシステムを実装することができるコンピュータ・プラットフォームの例示的な実施形態を示す。
【発明を実施するための形態】
【0029】
添付の図面において、同様の機能的要素には同様の参照符号を付す。添付の図面は例示のためのものであり、本発明を限定するものではない。本発明を実施するために当業者が実行可能な程度に、特定の実装を十分詳細に記述するが、本発明の範囲から逸脱することなく、他の実装が可能であり、様々な要素の構成変更および/または置き換えが可能である。したがって、以下の詳細な記述は、限定的に解釈されるべきではない。さらに、本発明の様々な実施形態は汎用目的コンピュータ上で動作するソフトウェアの形態で実装されてもよいし、特定のハードウェアの形態で実装されてもよいし、ソフトウェアおよびハードウェアの組み合わせによって実装されてもよい。
【0030】
ここで記述される技術によれば、メタデータを定義し、文書の注釈を提供する必要な装飾を、マーカの上に、もしくは、近傍に、単に描画することにより、ユーザは追加することができる。マーカのセットは個別的なので、扱いにくく、任意の曲線のような幾何学的形状を定義することが不可能な場合さえある。本発明のシステムおよび技術によれば、ユーザはこのような形状を単に描画することができる。このような描画のストロークはフラットなもしくはカーブした面上にペンによって生成されることができ、「三次元ストローク」を定義するために、ワイヤ、糸、ロープなどの配置をストロークとして使用して生成してもよい。説明上、パスは、単一の実パラメータによってパラメータ化することができる三次元の点の連続的なセットである。ストロークは少なくとも一つの連結されたパスのセットである。平面ストローク(二次元ストローク)は単一の平面にある点だけを含むストロークである。
【0031】
本発明の実施形態は、インタラクティブ・バーチャル・モデルを生成し、操作するための物理的空間における物理的自由形状マークアップ、スケール・モデルおよびオブジェクトを使用するシステムおよび方法を含む。マークアップは手描きのペン・ストロークを含むことができ、モデル特性を記述するマークアップ言語の要素として解釈される配置されたワイヤもしくは糸を含んでもよい。モデルを生成するために、もしくは、アニメーション・パス(アニメーションを移動させつつ表示させる経路)のようなインタラクティブな特性を定義するために、ユーザは物理的ワークスペースをマークアップし、システムによって解釈される画像もしくはビデオを収集する。システムは、画像の姿勢を判断し、マークアップの三次元的な配置を判断することにより、モデル特性を判断することができる。たとえば、部屋のモデルが与えられた場合、窓が配置される位置に一枚の紙を配置し、該窓の外郭を描画することにより該モデルに窓を追加することができる。コンベヤが配置されるべきパスを示すために、工場の床に色付きのロープを配置することができる。本発明の方法は、フロア・プランもしくは建築用モックアップなどのためのスケール・モデル空間、もしくは、モデル化されるべき実空間のいずれにも適用されることができる。
【0032】
「適用領域例」
本発明の実施態様によれば、主として、現実の三次元物理空間において行われるアクションによって、ユーザはバーチャル・モデルを生成することができる。多くの適用について、このアプローチはユーザにとってより自然であり、コンピュータ・ディスプレイにおいてバーチャル・モデルを編集するよりもよりよい現実感を提供することができる。コンピュータ・ディスプレイにおいてバーチャル・モデルを編集するためには、三次元の変化を生じさせるために二次元表示を操作することが必要となるからである。本発明の実施形態の使用において、物理的ワークスペースにおいて、アクションが行われる(マークアップが描画される、もしくは、レイアウトされる、など)。物理的ワークスペースは、モデリングされている空間と事実上等しくてもよいし、該空間の縮小物理スケール・モデルであってもよいし、単に、モデリングされている該空間にマッピングされるホワイトボード、ペーパのセットもしくはオブジェクトであってもよい。ユーザをさらに支援するために、バーチャル・モデルの画像をライブ・カメラ・ビデオ・ストリームの画像上に重畳することができる。これにより、ユーザは、追加されたマークアップ、もしくは、動きによってモデルがどのように変化するかを見ることができる。
【0033】
「物理的空間のマークアップ」
本発明の適用は物理空間をマークアップし、画像を取得し、該空間のモデルを生成するために該画像を使用することを含む。本発明の実施態様は、現在利用可能なシステムが使用される適用領域において使用されることができ、マーカへの依存を低減し、複雑な形状を記述する際のフレキシビリティが大きい、という効果を有する。物理的オブジェクトもしくは空間のモデルを生成することに加えて、本発明の実施形態によれば、仮想的なさらなる形状を記述するために、ペーパに描画されたストロークもしくは配置されたワイヤによってマークアップを行うことができる。該仮想的なさらなる形状は物理的空間の部分ではないが、関心を有される部分である。これらの適用は、ロープを使用して、カーブしたアーチ(archway)を壁に配置して、もしくは、家具の位置を規定して、オープン・プラン式のオフィスのパーティション(cubicle walls)をレイアウトすることを含む。マークアップをレイアウトすることは、フル・スケールである形状物を構築したり、コンピュータでバーチャル・モデルを生成したりすることにくらべ、ユーザへの負担をかなり軽減する。
【0034】
ここで記述される方法は、空間およびオブジェクトをそのまま記述するため、および、該空間の仮想的な拡張もしくは追加を記述するため、の双方で、使用されることができる。したがって、本発明の多くの態様が拡張現実表示と相補的であり、拡張現実表示によってサポートされる。拡張現実表示をすることで、マークアップによって記述される要素によって増強される物理的空間もしくはスケール・モデルを、ユーザは見ることが可能となる。
【0035】
「スケール・モデルのマークアップ」
図1はマーカによって生成されるバーチャル・モデルの例を示す。マーカ(たとえば、壁の輪郭を示すために壁の上部に配置された矩形のマーカ)によって部屋100をマークアップすることによって、システムは検出されたマーカによるバーチャル・モデル101を生成することができる。
【0036】
他の適用は、建築図もしくは建造物の発泡スチロール・ボードによるモックアップのような縮小モデルをマークアップするためのストロークの使用に関連する。図2に示されるように、第1の例は、拡張現実表示によってモデルに形状を追加するための手描きストロークを使用する。左上の例200はマーカによる建造物のフロア・プランを示す。マーカは2つの目的を有する。すなわち、マーカは、拡張現実表示が建造物のCGモデルを配置すべき位置を記述し、ストロークが解釈されるポリゴン表示領域を規定する。右上の例201は同様の図であるが、建造物のバーチャル・モデルが重畳されている。左下の例202は、壁が配置されるべき場所を示すために、ユーザが2つのストロークを描画したところである。システムはこれらのストロークを検出し、マーカによって規定される平面に該ストロークを投影する。壁は、該平面からの垂直なストロークを突出(extrusion)させることで生成されるように定義される。右下の例203に示される拡張モデルのコンテクストにおいて壁が示されている。
【0037】
パスに沿って再現されたユニット・セルの形態で形状を追加するために、スケール・モデルに対してストロークを描画することもできる。再現されているユニット・セルのタイプを示すために、予めプリントされている、もしくは、手描きされたマーカをストロークの近傍に追加してもよい。この方法は、たとえば、鉄道模型に追加されるべき線路のパスを示すために、使用されてもよい。同様に、描画されたストローク、もしくは、ワイヤや糸などが、工場のモデルに追加されるべきコンベヤ・ラインやパイプなどのパスを示すために使用されてもよい。これらのパスが非平面であっても、ストロークのためにワイヤを使用することができる。
【0038】
「バーチャル・モデルを操作するためのワークスペースのマーキング」
先の例において、マークアップされている物理的ワークスペースはモデリングされている実空間と等しくてもよかったし、もしくは、該空間の拡大/縮小モデルであってもよかった。これはたいへん自然な設定であるが、まだ制限がある。たとえば、工場の提案レイアウトを示すために工場のフロア・プランに描画する場合のように広い領域に壁を描画するために適切な表示スケールは、パーティションのレイアウトを示す場合に自然な表示スケールとは異なるかもしれない。任意の一般的な三次元コンピュータ・モデリング・ツールにおいては、モデルをズームし、周辺をパンすることによって、このような問題は取り扱われている。固定的なモデルを使用する場合であればパンおよびズームは可能であるが、 物理的モデルとバーチャル・モデルとのマッピングは変わってしまうだろう。
【0039】
このような制限に対処するために、物理的ワークスペースのモデリングされている空間に対するマッピングはユーザによって動的に調整されることができる。たとえば、建造物のモデルをホワイトボードにマッピングすることができ、これにより、建造物は、まず、ホワイトボードの中央に置かれたフロア・プランに位置合わせされる。実際、このようなことを行うために適した方法は、まず、ホワイトボードにフロア・プランを置くこと、すなわち、ホワイトボードにモデルを「ロード」することである。拡張現実表示を使用することにより、ユーザは、ホワイトボードによって工場の外側の壁を見ることができ、上記されたように、内側の壁の配置を示すストロークを描くことができる。マークアップ処理の後、追加された壁は拡張現実表示によって見ることができる。しかしながら、ユーザは、ホワイトボードからすべての描画されたストロークを消去してしまい(もし、存在するならば、プリントされたフロア・プランを除去してしまい)、工場の特定の領域を拡大するためにホワイトボード上の建造物のモデルのマッピングを拡大縮小およびパンするかもしれない。その後、さらなるストロークがパーティションの境界の配置を示すために描画される。
【0040】
この技術は、二次元作業面に限定されない。たとえば、立体的な書き込み消去可能なホワイトボード(ホワイトボックス(白い箱))を使用することができ、適切なスケールで、モデリングされている空間の任意の直交するコーナーをホワイトボックスのコーナーにマッピングすることができる。(直交する面の内部もしくは外部にマッピングするために、適切なワーク・スペース・ツールを生成してもよい。)ワーク・スペース・ツールのセット300の例を図3に示す。これによれば、ユーザは、たとえば床を示す一つの面への描画によって、マークアップを描画することができ、壁を示す直交する面にマークアップすることができる。たとえば、床に描画されたマークを押し出すことによって形成されるパーティションの高さを示すために、壁へのマーキングを使用することができる。もしくは、パイプのパスを示すためにワイヤを使用してもよい。
【0041】
「モデリングにおけるストローク・ベース・マークアップのその他の使用」
モデルにおいて形状の可視要素を記述するのと同様に、ここで記述される技術をモデリングの他の態様のために使用することもできる。他の態様は以下のものを含む。
【0042】
アニメーション:
描画されたストロークもしくは配置されたワイヤを、挿入されたモデルがアニメーションの進行につれて移動するであろうパスを示すために使用することができる。アニメーションの速度を一様としてもよく、(速度が変動する場合には、)速度の変動を示すためにストロークに目盛が描画されてもよい。オブジェクトは、動きを示すためにストローク、すなわち、配置されたワイヤに沿ってアニメーション化されてもよい。
【0043】
コマンド:
異なる要素をストロークで囲むことによって該異なる要素のグループを示す、などのために、マークアップ・エンジンへのコマンドとしてストロークを使用してもよい。現実拡張表示とのインタラクティブなセッションにおいて、消去を示すためにストロークを描画してもよい。ストロークは、どの領域を拡大するかを示すため、などのように、モデル表示への物理的ワークスペースの再マッピングを示すためのコマンドとしても有用である。たとえば、ホワイトボード上のストロークは、現在の表示における二点がフロア・プランにマッピングされる場合のマッピング位置を示す描画であってもよい。マッピングの変換が完了すると、ストロークは消去される。
【0044】
動きの制約:
これらの制約は、オブジェクトの動きに沿ったパス、もしくは、ドアまたは引き出しのようなオブジェクトの動きに限界を有する形態とすることができる。ピン・ジョイントが付加されるべき場所のような、2つのボディの間のジョイント関係を示すために、ストロークを使用することができる。
【0045】
センサおよびアラーム:
VRMLのようなモデリング・システムはセンサの概念を有する。ブラウザにおいて視点(一般には、アバターの位置)が所定の領域に入った場合に、アクションをトリガするために、センサを使用することができる。空間のストロークもしくはワイヤを、該領域を決定するために使用することができる。ビデオ監視システム(たとえば、DOTSシステム)によれば、動きもしくは他のアクティビティが検出される領域である「アクティビティ・ホットスポット」を、ユーザが定義することができる。アクティビティ・ホットスポットを、マスクを提供するためにシステムからの画像に注釈を付けることにより定義することができる。本発明の適用は、カメラの一つの視界に配置することによりアクティビティ・ホットスポットを定義するために、ロープなどを使用し、そのパスをシステムに解釈してもらうことである。
【0046】
「システム概説」
図4は、本発明の実施の形態によるインタラクティブ・バーチャル・コンテンツを提供するシステムの例示的な概観図を示す。基準マーカ400、骨格マーカ401、意味マーカ402のようなマーカが検出のために配置される。画像を収集するとき、実施形態のシステムは、配置されたマーカを検出するために、画像403および/またはビデオ・フレーム404を取得するためにカメラを利用することができる。実施形態のシステムは、画像の中の配置されたマーカを検出し、カメラに対するマーカ各々の相対的な姿勢、すなわち、カメラに対するマーカの相対的な位置および向き、を判断する(405)。これは、数学的には、カメラ座標システムにおいて示される点と、マーカ座標システムで示される同一の点と、をマッピングする変換に相当する。これは、任意の移動および回転に相当する6自由度を有する剛体変換である。これは可逆的であり、逆変換はマーカに対するカメラの位置を付与する。空間(world)におけるマーカの姿勢が既知であれば(408)、任意の画像において、マーカは明らかに視認可能であり、画像が収集されるときのカメラの位置が決定される。マーカの姿勢が当初未知であるがカメラ姿勢を判断することができる画像においてマーカが検出される場合、マーカの姿勢も判断される(406、407)。画像のセットが十分付与され、この形態の計算を繰り返すことにより、画像の各々についてマーカ各々の姿勢およびカメラ姿勢を推定することができる。画像セットの姿勢を推定し、マーカが決定される場合、バンドル調整と呼ばれる大域的最適化によって該推定を改善することができる(409)。
【0047】
マーカ各々の姿勢が判断されると、バーチャル・モデルを生成するためにマーカの意味(semantic meaning)をシステムが利用し、利用可能とされる新しいマーカの姿勢にバーチャル・モデルを更新する(411)。「マークアップ・ハンドラ」サブシステムは、モデルの部分と関連付けられているマーカに平面をフィットさせ、モデルの部分間の相互関係を解釈することにより、モデルの部分、たとえば、壁、を生成する。たとえば、壁、天井、床の交線を関連付けられている平面を終結するために使用する(412)。調整が行われると、最終的なバーチャル・モデルがレンダリングされる(413)。
【0048】
「ストローク検出および処理」
システムのストローク抽出手段が画像のマーキングを検出する。該マーキングは手描きのストローク、視認可能なワイヤ、糸、ロープなどであり、マークアップを制御するために使用されている。この適用について、ストロークの好適な出力表示は、グループ化されたポリラインもしくはストロークの骨格に沿ってパラメータ化された経路である。多くのアプローチを、ストロークを検出するために採用することができる。
【0049】
アプローチの一つでは、画像を入力とし、SVG(スケーラブル・ベクトル・グラフィック)ファイルのようなベクトル形態出力を生成する。このようなアプローチは、ポリラインもしくはスプラインとして、画像から曲線を正確に示すことができる。描画されたストロークの表示は、ストロークの輪郭に沿った一連のスプラインおよびポリラインである。骨格を判断するために、輪郭を後処理することが必要とされる。これに利用することができる骨格化の実装は、パッケージ「計算幾何学アルゴリズム・ライブラリ(CGAL: Computation Geometry Algorithm Library)」によって提供される。
【0050】
処理の第一歩としてこのようなアプローチを使用し、次にCGALを用いた骨格化を行うことの問題は、速度である。この種の処理は、高解像度の画像では多くの時間を必要とする。920×760画素の画像でも多くの時間を必要とするだろう。本発明のシステムの「ビデオ・モード」において、システムが画像を収集しているとき、ストローク検出サブシステムの結果をユーザが見ることができることが望ましい。これにより、表示が適切であるとき、および、検出されたストロークがユーザの意図に合致するとき、をユーザは知ることができる。
【0051】
図5はストローク抽出に含まれるステップを示す。この種のよりインタラクティブなシステムの使用をサポートするために、本発明のシステムは一秒間に複数のストロークを処理することができるストローク抽出の一形態を利用する。インタラクティブなバーチャル・コンテンツを提供する基本的なステップが本発明の実施形態により概説される。
【0052】
図5:
画像をカラーからグレースケールに変換し(500)、2値白黒画像を取得するためにグレイ画像を閾値処理する(501)。カラーからグレースケールへの変換は、与えられたカラーのストロークを強調するためのカラー・フィルタ・ベースであってよい。白黒画像が付与されると、輪郭が検出される(502)。輪郭は、画像の連結された要素の周辺に相当する。連結された要素が単に連結されているのではない場合、ストロークの外周に沿ったいくつかの輪郭と、ストロークの「穴」に沿った他の輪郭と、により、輪郭は入れ子であってもよい。
【0053】
図6:
図5の輪郭収縮ステップおよびフリーマン方向コード(Freeman direction codes)を示す。輪郭は、画素の連鎖として示されてよい。輪郭収縮は輪郭画素を左側に隣接する画素に「押し付ける」。図6は、輪郭600の部分を上の行に示し、収縮した結果を下の行に示す。これは、輪郭のフリーマン・コード化およびルックアップ・テーブルを用いて迅速に計算されることができる。輪郭の画素の各々について、輪郭の次の画素の位置は考え得る8個の方向601の一つである。適切に形成された輪郭については、連続する画素対の各々について、8×7=56個の考え得る値の対がある。任意の画素について、入って来るエッジと出て行くエッジとが一致しないからである。
【0054】
収集された輪郭は骨格化のために処理されることが必要である。これは、インタラクティブなプロセスによって実行されてよい。該インタラクティブなプロセスにおいて、自分自身もしくは他の輪郭を通り抜けることなくさらに収縮することができなくなるまで、輪郭は徐々に「収縮」される。これは、輪郭によって描かれる連結成分領域を「細線化(thinning)」することに相当する。これを効果的に実行するために、輪郭を有向グラフとして示すことができる。該有向グラフは画素に相当するノードと、該輪郭に沿った隣接画素に相当するエッジと、を有する。図6に示されるように、パスに沿った次に隣接する画素への各々の画素からの方向を、考え得る8個の方向の一つとして「フリーマン・チェーン」コード化することができる。
【0055】
輪郭収縮は、輪郭に沿って移動し、内側に「輪郭を押し込む」ことにより実行されることができる。すなわち、輪郭のノードの各々は輪郭に対し内側にある近傍のノードによって置換される。連結成分の外周輪郭が反時計回りに辿られ、内周輪郭(すなわち、穴)が時計回りに辿られる場合、輪郭を「押し込む」ことは「左に輪郭を押す」ことに相当する。図7に示されるように、ノードに入ってくるエッジおよびノードから出て行くエッジの方向コードにもとづき、ノードの各々について、輪郭を収縮するために該ノードがどのノードと置換されるべきかを示すルックアップ・テーブルを用いることによって、このプロセスを迅速に実行することができる。
【0056】
図7は折れ曲がり輪郭を計算するためのルックアップ・テーブル・キー700を示す。輪郭のノードn(画素位置)の各々はノードnに入ってくるエッジおよびノードnから出て行くエッジについてのフリーマン・コード・インデックスを有する。ノードnにおける輪郭を「押し込む」ために、ノードnが置換されるべき折れ曲がり輪郭のノード・セットを調べるために、これらのインデックスを使用することができる。これらのノードの座標はノードnの位置に関連して与えられる。このオペレーションを実行することにより、オリジナル輪郭のエッジを収縮輪郭のエッジと効率的に置換する。方向に依存することにより、1つのノードは0個、1個、2個、もしくは3個のノードによって置換されることができる。考え得る56個の必要とされるルックアップの値の内14個だけが示されている。対称的に回転することにより、他の42個は示されているものと等しくなる。ノードが他のノードと同じ位置に移動する場合、これらのノードは「凍結」され、もはや調整されない。この手続は、調整することができるノードがなくなるまで、継続される。輪郭グラフのノードの各々は、2つの入って来るエッジと2つの出て行くエッジとを有し、該エッジの向きは異なる。その後、領域の骨格を決定する無向グラフに、有向グラフを変換してもよい。このグラフを通るパスは、図5に示されるように、領域の骨格である。
【0057】
輪郭収縮の後のストローク抽出処理の次のステップは、骨格グラフのグラフ還元(graph reduction)である。当初の骨格グラフは骨格の画素の各々についてのノードを有する。骨格に沿ったパスの部分は次数2 (degree two)の多くのエッジを有する。グラフが連続するノードn1、n2、n3およびエッジ(n1,n2)、(n2,n3)を有すると仮定する。当初は同相である新しいグラフを、ノードn2を除去し、エッジ(n1,n2)および(n2,n3)をエッジ(n1,n3)と置き換えることにより生成することができる。画像における実際のパスについての情報を保存するために、このグラフのエッジは実際の画素のパスによって増強される。該実際の画素のパスは、n1からn2までの画素のパスとn2からn3までの画素のパスとを連結したものである。グラフの還元はグラフの位相的な特性を保存し、よりシンプルな等価グラフを導くことができる。ストローク検出の連結成分処理部分の出力は、連結成分の各々の還元されたグラフである。該グラフは成分のサブ・パス全体に相当する該グラフのエッジを有する。単一の明確にカーブしたストロークは、2つのノードと該ノードをつなぐ単一のエッジだけを有するグラフとして示される。画素のすべてを含む骨格に沿ったパスの全体に相当するデータによって、エッジはラベル付けされる。このシーケンスは、かなり少ないセグメントを有するポリラインによって近似されることができ、該セグメントはパスに付与された距離閾値の中にある。
【0058】
骨格化のための様々な方法を使用することができる。たとえば、一つのよいアプローチは上記した「細線化および境界伝搬(thinning and boundary propagation)」アプローチである。形態論などのようなアプローチと比較した場合のこのアルゴリズムの一つの長所は、輪郭に選択的に適用することができることである。ストロークの考え得る候補としての可能性によって、適用される輪郭を予め選択することができる。限界厚さwを有するストロークは、その連結された領域の総面積がw*L/2よりあまり大きくない特性を有するべきである。ここで、Lは周囲輪郭の長さである。
【0059】
ストローク抽出の最終レベルのオプションはグループ化である。有用であるかもしれない2つのタイプのグループ化がある。一つは連結された成分の内部でのグループ化であり、もう一つは複数の連結された成分にわたるグループ化である。連結された成分の内部で、骨格グラフのエッジの各々は骨格のセグメントを示す。しかしながら、一般的に一つの連結された成分内でセグメントをグループ化することは有用である。たとえば、短い交差する目盛を有する長いストロークが与えられた場合、該ストロークの長さ方向に沿ってエッジのすべてを単一のパスとしてグループ化することは好適である。これは、グラフで最も長いパスを検出し、すべての他のストロークが短いか否かを判断することにより、実行することができる。さらに、近傍およびストロークの方向にもとづいて、ストロークは複数の連結された成分にわたってグループ化されてもよい。これによれば、破線や点線などを一つのストロークとして扱うことができる。
【0060】
「複数の画像および時間にわたるストークの処理」
上記のストローク処理は画像の各々に適用される。適用のいくつかについては、ストロークは単一の画像に有意に使用されることができる。しかしながら、適用の多くについては、複数の画像にわたってストロークをグループ化することが必要となる。空間(world)に描画されるストロークおよび第1の画像への該ストロークの投影について考える。同一のストロークは、異なる位置から撮影される第2の画像において異なる外観を有するだろう。実際、画像の各々が複数のストロークを表示するならば、一つの画像のどのストロークが第2の画像のどのストロークに相当するか不明確となる可能性がある。
【0061】
システムがこの問題を扱うことができ、ストロークの対応を明確にすることができる2つの方法がある。たとえおおよそであっても、空間(world)のストロークの実際の形状が既知であるならば、該形状は既知の姿勢を有する任意の画像に投影され、該画像において検出される近傍のストロークと比較されることができる。投影されたストロークと画像において検出された最近傍のストロークとの間のハウスドルフ距離が小さいならば、該空間(world space)において、検出されたストロークは投影されたストロークに相当するものとされる。したがって、空間(world)のストロークに相当する任意の他の画像のストロークに、該投影されたストロークは相当する。
【0062】
ストロークの対応を明確にするためのもう一つの方法は、空間(world)においてストロークの形状のおおよその推定さえ不明である場合に、近傍の画像を比較することである。本発明のシステムは静止画像およびビデオ入力の双方をサポートする。カメラが移動する場合、ビデオの連続するフレームが対応するカメラの姿勢はたいへん類似する。一つの画像の検出されたストロークと他の画像における検出されたストロークとを比較するためにハウスドルフ距離を使用することができる。ストロークの対応がこれにより明確になると、次のセクションで説明される方法を空間(world)における実際のストロークのパスを推定するために使用することができる。時間にわたるストロークの時間的な態様はストロークの描画もしくは消去を捕捉するビデオである。
【0063】
多くの適用について、画像内で全体的に可視であるストロークを考えることが望ましい。しかしながら、いくつかの場合、画像はストロークの部分しか示さず、実際、ストロークはいずれか一つの画像においても全体的に可視ではないかもしれない。しかしながら、姿勢を有する十分な数の画像セットがストロークの異なる位置を示すために収集される場合、ストロークの全体は異なる画像において見られる異なる位置の推定を結び付けることにより再構築することができる。
【0064】
「ストロークの三次元処理」
画像からのストロークは単一の実数値によってパラメータ化されている画像のパスである。おおよそマークアップの目的で、空間(world)におけるストロークの実際の三次元パスを判断する必要がある。この最もシンプルなケースは、既知の方向の平面にパスが描画される場合である。たとえば、ホワイトボードもしくはフロア・プランなどのような平面に描画されたスケッチのストロークのケースがある。この場合、マーカもしくは他の手段をカメラに対する面の位置を知るために使用してもよい。画像のストロークに沿った点を平面に投影するために簡単な処理が実行される。該面には、ストロークが描画される、もしくは、配置されることが既知である。画像のストロークの点の各々が、画像面を通って投影のカメラ中心から出て行く射線に対応する。ストロークが描画される面と該面との交差がストロークの対応する三次元の点を付与する。
【0065】
ストロークが非平面であれば、もしくは、ストロークがある面の向きが既知でない場合、ストロークの三次元パスを、三角測量と同様の方法で、エピポーラ幾何学を用いて判断することができる。まず、既知の姿勢で撮影された2つの画像において見ることができる空間(world)の点を考える。一つの画像で見ることができる点について、該画像の同一の点に投影する空間(world)の点の射線全体がある。他の画像において見ることができる同一の点は、同様に、他の射線に対応する。射線の交差(もしくは、いくらかノイズがあり射線が交差しない場合交点の最近傍)が空間(world)における点の推定である。しかしながら、この三角測量は2つの画像において見ることができる複数の点の対応が既知であることを必要とする。もし、双方の画像においてパス全体が可視であればどうであろうか。点は1つの画像におけるパスに沿って選択されるかもしれないが、システムは対応する他の画像におけるパスに沿った点を判断しなければならない。これは、第2の画像において、第1の点のエピポーラ線を描画し、該エピポーラ線がパスと交差する位置を見ることによって行うことができる。すなわち、第1の画像において見ることができる点にすべてが対応する空間(world)の点の射線が線(いわゆる、エピポーラ線)として第2の画像に出現する。該線は第2の画像において見ることができるパスと交差しなければならない。交点は対応する点を付与する。空間点(world point)を決定するために三角測量を使用することができる。これによれば、第1の画像において見ることができるパスに沿った点のサンプリングを第2の画像において見ることができるパスに沿った点と合わせ、三次元空間(world space)におけるパスの実際の形状を判断するために対の各々は三角法で計測されることができる。この方法は、ある場合適切に機能しない。第1の画像において見ることができるパスの一点について、エピポーラ線が複数の点において第2のパスと交差すると仮定する。さらに悪いことに、第2の画像において見ることができる曲線の部分はエピポーラ線と一致するかもしれない。これは、該点に対応することができる第2の画像におけるパス上の点の全体集合があることを意味する。このような不明確さは他の位置から撮影した画像を使用することによって回避することができる。
【0066】
ワイヤの三次元パスを捕捉する代替的な方法が、本発明の他の実施形態について適切であるかもしれない。その方法は、ワイヤの単一の画像を必要とし、非特許文献1に記述されているように、ワイヤが一定の幅の矛盾のない円形の横断面を有するという仮定にもとづく。シェープテープ(shape tape)と呼ばれる他の関連技術は、平らなストリップ(flat strip)の三次元形状を提供することができる。
【0067】
「ストローク分類およびラベリング」
ストロークが画像から抽出され、グラフとして示されると、マークアップ解釈の前の低レベル処理の最終ステップである分類およびラベリングが行われる。これは、システムによってストロークが使用されるべきか否かを判断することを含み、使用されるべきであれば、どのように使用されるべきかを判断することを含む。画像の多くのストロークはワークスペースの単なる「バックグランド・ノイズ」の部分であり、無視されるべきである。ストロークの種類は以下のとおりである。
【0068】
ノイズ:これらのストロークはワークスペースにもともと存在する線もしくはテクスチャから生じるか、もしくは焦点および自動利得調整などによりカメラの動きに伴なうノイズ(artifact)として生じる。
ラベル:ラベルは固定された少ない語彙もしくは記号セットによって生成される。
ラベルを「壁1」のようなマーカのタイプもしくはグループを示すために使用することができる。ラベルは既存の手描き認識技術によって解読することができる。
注釈:注釈は、ユーザがマークアップ作業を記録することを望む文字もしくは描画である。注釈はシステムによって記録され、インタフェースを利用することができるが、システムによりストロークの解釈には利用はされない。
幾何学的修飾:これらは、色もしくはテクスチャのサンプリングの使用について範囲を示すマーカの近傍のマーキングである。
曲線記述:これらは、押出についてパスを定義するタスクなどを支援するために、幾何学的曲線を示す描画されたパスである。
コマンド・シンボル:これらのストロークは、「押出を挿入」、「この領域のモデル要素をすべて削除」、「これらの要素をグループ化」、「処理を開始」などの、システムに対するコマンドを示す。ストロークのいくつかは、コマンドおよび曲線記述の双方であってもよい。
【0069】
いくつかの方法が所望されないノイズ・ストロークを排斥し、有意なストロークを分類するために使用されることができる。それらの方法は以下を含む。
隣接マーカ:ストロークの近傍のマーカはストロークの意味を定義し、あるいは、変更することを支援する。隣接マーカは、それがどのように使用されるか(たとえば、突出のベースを決める、もしくは、ストロークを「消去」し、ポリラインもしくはスプラインで該ストロークを置換するか否か)を示してもよい。
色:区別可能な色をユーザ描画ストロークとノイズとを区別するために使用することができる。色はストロークのタイプを分類するために使用されてもよい。
意味領域:一つもしくは複数のマーカに対してアクティブ領域を定義してもよい。たとえば、マーカは「ラベル領域」および「コメント注釈領域」を有してもよい。さらに、マーカ・セットをすべてのストロークが曲線記述であると解釈される作業領域を定義するために、すなわち、押出もしくはアニメーション・パスを定義するために、使用してもよい。
ストロークの内因特性:ストローク自身の実際の特性は複数のストローク・タイプを区別するために使用することができる。たとえば、図8に示されるように、交差する目盛801を有するストロークは、ユニット・セルの複製を示し、矢印802はアニメーション・パスを示す、などであってよい。検出されたストロークを示すためにグラフを使用することはこの処理を単純化する。たとえば、単純で平滑なパス800は次数1(degree 1)の2つのノードを有し、単一のエッジを有するグラフを生成する。目盛は、長さが短いエッジとして見ることができ、次数1のノードと次数3もしくは次数4のノードとの連結である。
描画シンボル:ストロークのいくつかはシンボルとして解釈され、他のストロークの意味を修飾するために使用することができる。シンボルであるストロークの判断を単純化するために、該シンボルはボックスで囲まれていることを必要とされてもよい。
【0070】
システムのゴールは、できる限り、ユーザが物理的空間で操作することができるようにすることであるが、代替として、グラフィカル・ユーザ・インタフェースによってユーザがストロークの解釈を制御することができてもよい。システムの態様の一つにおいては、マークアップは処理されず、ユーザが明示的にマークアップのハンドリングをトリガするまで、システムの状態を変更するために使用される。これは、インタフェースのボタンによってなされるが、Xを含むボックスのようなシンボルを描画することによってなされてもよい。システムはストロークの解釈を誤ることがあるかもしれず、ユーザは生成したマークアップを変更することを所望するかもしれないので、システムは「取り消し」操作をサポートする。
【0071】
「ストローク・ベース・マークアップ処理」
本発明の実施態様のベースラインとして供されるマークアップ・システムを利用することによって、マーカを含むマークアップ言語を使用して、モデルが生成され、操作される。マーカは空間的言語の「ワード」として捉えることができ、マーカのコレクションはモデルを定義する「センテンス」として動作する。マーカはQRコードを含み、マーカに関連付けられているメタデータ、すなわち、マーカの意味、をユーザが理解することを支援する。これらの修飾は、QRコードの近傍にある、「壁」のような、ラベルであってもよいし、実際のQRコードから離れている関連する点である「アクティビティ・ホットスポット」を指し示す矢印であってもよい。ベースライン・システムにおいて、マーカのタイプのための修飾は固定され予めプリントされている。
【0072】
本発明のシステムは、モデルを定義するために「マークアップ言語」をサポートする同一のフレームワークにしたがうが、言語の一部として自由形状手描きストロークを含むためにフレームワークを拡張する。さらにマーカが使用されてもよい。マーカは幾何学を詳細に決定するために特に有用である。しかしながら、ストロークはマーカを増強するために使用されてもよく、ある場合には、マーカを置換するために使用されてもよい。
【0073】
「マーカの拡張」
ベースライン・システムを実際に使用する場合において、通常発生するような不便さを解消するために、正しいラベルおよび関連するメタデータを有する適切なマーカが生成される。たとえば、図9に示されるように、ドアの角にラベルを付加しようとした際に、マーカの中心からある距離離れた「ホットスポット」を用いることが望ましいことが多く、ホットスポット900を示すために、マーカに矢印がプリントされる。ここに記述された技術によれば、マーカの近傍もしくはマーカがプリントされたカードに矢印を描画することにより、こうしたメタデータを必要に応じて生成することができる。たとえば、図9に示されるように、ユーザはラベルを書いて、ホットスポット900への矢印を描画することができる。マーカが適用されると、拡大画像が取得され、ストロークへの処理がメタデータのタイプおよびホットスポットの双方を示すために使用することができる。
【0074】
ストロークを、マーカ・セットを拡張するために使用することができ、この拡張は必要とされるマーカの数を低減させられる。壁のカーブした部分のベース形状を定義する場合のような、カーブの使用を要求する適用に、これは、特に有用である。ベースライン・システムは、カーブの形状を近似するために、スプライン上の制御点を決定するために、マーカ・セットを使用してこれを行ってもよい。自由形状ストローク(もしくはワイヤ)を使用した描画ストロークによって拡張された単一のマーカを使用することができる。
【0075】
マーカ拡張としての描画ストロークの別の利用は、マークアップの間に生じることを記述するコメントを有するマーカに単に注釈を付けることである。
【0076】
「プリントされたマーカの代替としてのストローク」
マーカもしくはマーカ・セットを拡張することに加えて、マーカの代替としてストロークを使用することができる。考え得る多くの空間的言語を手描きストロークの解釈のために定義することができるが、具体化するために、プリントされたマーカにもとづいてこのスキームを使用することができる。QRコードを有する矩形のマーカに替えて、ユーザはシンボルを描くことができる。ボックスのタイプが下部に描かれてよく、ラベルおよび考え得るコメントを示すラインが描画される。先の例などで、マーカに関連する一つもしくは複数のホットスポットを示すさらなる修飾をボックスの近傍に描画することができる。図10は、円筒を定義するための完全に自由形状であるマークアップ1000の例を示す。手描きの矩形および下線は検出が比較的容易である。下部のラベルは手描き認識システムによって処理されることができる。コメントはシステムによって解釈される必要はないが、注釈のためにビットマップとして維持されてもよい。ベースの曲線を描画することにより明示的に定義するのではなく、ベースの3以上の点を付与することにより円筒が暗示的に定義される。
【0077】
図11はインタラクティブ・バーチャル・コンテンツを提供するシステムによって利用されるストロークおよびマークアップ処理の例を示す。先に記述された適用例のいくつかにおいて、ストロークが投影されるべき平面および囲んでいる多角形のような、マークアップ・ハンドリング・サブシステムからの情報を、二次元ストローク・データからバーチャル・モデルを生成するために使用した。先に記述されたように、ストローク処理は、ストロークをグレースケールに変換し、白黒1100に変換するために画像を閾値処理することを含んでもよい。ストロークの輪郭が識別され(1101)、輪郭収縮が行われ(1102)、グラフが生成される(1103)。次に、グラフ還元を適用することができる(1104)。マークアップ・ハンドリングは処理された多角形に最適なフレームを検出し(1105)、平面に点を投影することを含む(1106)。ストロークのタイプを投影された点から判断することができ(1107)、バーチャル・モデルを判断されたストロークのタイプによってレンダリングすることができる(1108)。
【0078】
図12はシステムを実装することができる機能図の例を示す。カメラ1200はマークアップを有する物理的ワークスペース1201に向けられ、ライブ映像をコンピュータ・システム1202に送信する。ストローク抽出ユニット1203は自由形状マークアップおよびストロークについてライブ映像を処理する。ライブ映像から処理された自由形状マークアップおよびストロークは、バーチャル・モデルを構築するために解釈を行うストローク処理ユニット1204に送信される。バーチャル・モデリング・ユニット1205は自由形状マークアップの解釈にもとづいてバーチャル・モデルを生成する。次に、バーチャル・モデルはディスプレイ1206に送信される。
【0079】
図13は、本発明の実施形態のフローチャートの例を示す。本発明の実施形態の一つにおいて、システムは物理的ワークスペースのカメラからライブ映像を受信する(1300)。次に、物理的ワークスペースにおける物理的自由形状マークアップを識別するために、ライブ映像を処理する(1301)。物理的自由形状マークアップを検出すると、バーチャル・モデルはマークアップにもとづいてレンダリングされ(1302)、ユーザのためにディスプレイに表示される(1303)。
【0080】
図14は、本発明のシステムを実装することができるコンピュータ・プラットフォームの例示的な実施形態を示す。
【0081】
図14は、本発明の方法を実装することができるコンピュータ/サーバ・システム1400の実施形態を示すブロック図である。システム1400は、コンピュータ/サーバ・プラットフォーム1401、周辺デバイス1402、ネットワーク・リソース1403を含む。
【0082】
コンピュータ・プラットフォーム1401は、データ・バス1404もしくはコンピュータ・プラットフォーム1401の様々な部分にわたって、および、様々な部分の間で情報を通信する他の通信機構、情報を処理し他の計算タスクおよび制御タスクを実行するためにデータ・バス1404に接続されているプロセッサ(CPU)1405を含むことができる。コンピュータ・プラットフォーム1401は、様々な情報やプロセッサ1405によって実行されるべき命令を記憶するためにデータ・バス1404に接続されているランダム・アクセス・メモリ(RAM)や他のダイナミック記憶デバイスのような揮発性記憶手段1406も含む。揮発性記憶手段1406は、プロセッサ1405によって命令が実行される間、一時的な変数や他の中間情報を記憶するためにも使用されてよい。コンピュータ・プラットフォーム1401は、さらに、様々なシステム構成パラメータや基本入出力システム(BIOS)のようなスタティックな情報やプロセッサ1405への命令を記憶するために、データ・バス1404に接続されているリード・オンリー・メモリ(ROMもしくはEPROM)1407も含む。磁気ディスク、光ディスク、固体フラッシュ・メモリ・デバイスのような永続記憶手段1408が提供され、情報および命令を記憶するためにデータ・バス1404に接続されている。
【0083】
コンピュータ・プラットフォーム1401は、陰極線管(CRT)、プラズマ・ディスプレイ、液晶ディスプレイ(LCD)などのディスプレイ1409に、コンピュータ・プラットフォーム1401のシステム管理者もしくはユーザに情報を表示するために、データ・バス1404を介して接続されていてもよい。英数字および他のキーを含むキーボードのような入力デバイス1410が、情報および命令の選択をプロセッサ1405に通信するために、データ・バス1404に接続されている。ユーザ入力デバイスの他のタイプは、方向情報および命令の選択をプロセッサ1405に通信し、ディスプレイ1409上のカーソル移動を制御するマウス、トラックボール、カーソル方向キーなどのカーソル制御デバイス1411である。一般に、入力デバイスは第一の軸(たとえば、x軸)および第二の軸(たとえば、y軸)の2つの軸で2の自由度を有し、これにより、デバイスは平面の位置を特定することができる。
【0084】
外部記憶手段1412が、コンピュータ・プラットフォーム1401に追加の、もしくは、脱着可能な記憶容量を提供するために、データ・バス1404を介して、コンピュータ・プラットフォーム1401に接続されていてもよい。コンピュータ・システム1400の実施形態において、外部脱着可能記憶手段1412は他のコンピュータ・システムとのデータの交換を容易にする。
【0085】
本発明は、ここで記述される技術を実装するコンピュータ・システム1400の使用に関する。該実施形態において、本発明のシステムはコンピュータ・プラットフォーム1401のようなマシンに含まれていてもよい。本発明の実施形態の一つによれば、ここで記述される技術は、揮発性メモリ(記憶手段)1406に含まれる一つもしくは複数の命令の一つもしくは複数のシーケンスを実行するプロセッサ1405に応じて、コンピュータ1400によって実行される。そのような命令は、永続記憶手段1408のような他のコンピュータ可読媒体から揮発性メモリ1406に読み込まれてもよい。揮発性メモリ1406に含まれる命令のシーケンスの実行により、プロセッサ1405はここで記述された処理ステップを実行する。代替的な実施形態において、本発明を実装するために、ソフトウェア命令に替えてもしくはソフトウェア命令と組み合わせて、ハード・ワイヤード電気回路を使用してもよい。このように、本発明の実施形態は特定のハードウェア回路およびソフトウェアに限定されるものではない。
【0086】
ここで使用される用語「コンピュータ可読媒体」は実行のためにプロセッサ1405に命令を提供する任意の媒体であってよい。コンピュータ可読媒体は、ここで記述される方法および/または技術を実装するために命令を搬送するマシン可読媒体の一例に過ぎない。このような媒体は不揮発性媒体、揮発性媒体など多くの形態を採ってよいが、これらに限定されるものではない。不揮発性媒体は、たとえば、記憶手段1408のような光ディスクもしくは磁気ディスクを含む。不揮発性記憶媒体は揮発性記憶手段1406のようなダイナミック・メモリを含む、
【0087】
コンピュータ可読媒体の一般的な形態は、たとば、フロッピー(登録商標)・ディスク、フレキシブル・ディスク、ハード・ディスク、磁気テープもしくは、任意の他の磁気媒体、CD−ROM、任意の他の光媒体、パンチカード、紙テープなどのパターンや穴を有する他の物理的記憶媒体、RAM、PROM、EPROM、フラッシュEPROM、フラッシュ・ドライブ、メモリ・カード、他の任意のメモリ・チップ、もしくは、カートリッジ、もしくは、コンピュータが読むことができる他の媒体であってよい。
【0088】
様々な形態のコンピュータ可読メディアが、実行のためにプロセッサ1405に一つもしくは複数の命令の一つもしくは複数のシーケンスを搬送するために含まれてよい。たとえば、命令は、最初、遠隔コンピュータから磁気ディスクに搬送される。代替的に、遠隔コンピュータは、自身のダイナミック・メモリに命令をロードし、モデムを使用して、電話線を介して、命令を送信することができる。コンピュータ・システムのローカルなモデムは、電話線上のデータを受信し、データを赤外線信号に変換するために赤外線トランスミッタを使用することができる。赤外線検出手段は、赤外線信号で搬送されたデータを受信し、データ・バス1404上にデータを置くことができる。データ・バス1404は揮発性記憶手段1406にデータを搬送し、プロセッサ1405は揮発性記憶手段1406から命令を取り出し、実行する。揮発性メモリ1406から受信された命令は、プロセッサ1405による実行の前もしくは後のいずれかに、揮発性記憶手段1408に記憶されてもよい。命令は、当該技術分野において周知の様々なネットワーク・データ通信プロトコルを使用して、インターネットを介して、コンピュータ・プラットフォームにダウンロードされてもよい。
【0089】
コンピュータ・プラットフォーム1401は、データ・バス1404に接続されているネットワーク・インタフェース・カード1413のような通信インタフェースも含んでよい。通信インタフェース1413はネットワーク・リンク1414を介してローカル・エリア・ネットワーク1415に接続され、双方向データ通信を提供する。たとえば、通信インタフェース1413は、対応するタイプの電話線にデータ通信接続を提供するISDN(Integrated Services Digital Network)カードもしくはモデムであってよい。他の例として、通信インタフェース1413は互換性のあるLANにデータ通信接続を提供するローカル・エリア・ネットワーク・インタフェース・カード(LAN NIC)であってよい。周知の802.11a、802.11b、ブルートゥースのようなワイヤレス・リンクがネットワークの実装に使用されてもよい。任意の実装において、通信インタフェース1413は、様々なタイプの情報を示すデジタル・データ・ストリームを搬送する電気信号、電磁信号、光信号などを送信し、受信する。
【0090】
ネットワーク・リンク1414は、一般に、一つもしくは複数のネットワークを介した他のネットワーク・リソースへのデータ通信を提供する。たとえば、ネットワーク・リンク1414はローカル・エリア・ネットワーク1415を介したホスト・コンピュータ・1416、もしくは、ネットワーク記憶手段/ネットワーク・サーバ1422への通信を提供する。さらに、または、代替的に、ネットワーク・リンク1414は、ゲートウェイ/ファイアウォール1417を介してインターネットのようなワイド・エリア・ネットワークもしくはグローバル・ネットワーク1418へ接続してもよい。コンピュータ・プラットフォーム1401は遠隔のネットワーク記憶手段/ネットワーク・サーバ1419などのような、インターネット1418のどこかに配置されているネットワーク・リソースにアクセスすることができる。一方、コンピュータ・プラットフォーム1401は、ローカル・エリア・ネットワーク1415および/もしくはインターネット1418のどこかに配置されているクライアントによってアクセスされてもよい。ネットワーク・クライアント1420および1421はプラットフォーム1401と同様のコンピュータ・プラットフォームに実装されていてもよい。
【0091】
ローカル・エリア・ネットワーク1415およびインターネット1418は双方ともデジタル・データ・ストリームを搬送する電気信号、電磁信号、光信号を使用する。コンピュータ・プラットフォーム1401へ、もしくは、コンピュータ・プラットフォーム1401からのデジタル・データを搬送する様々なネットワークを介した信号、ネットワーク・リンク1414上の信号、通信インタフェース1413を介した信号は、例示的には、情報を搬送する搬送波の形態であってもよい。
【0092】
コンピュータ・プラットフォーム1401は、インターネット1418およびLAN1415を含む様々なネットワーク、ネットワーク・リンク1414、通信インタフェース1413を介してメッセージを送信し、プログラム・コードを含むデータを受信することができる。インターネットの例では、システム(コンピュータ・プラットフォーム)1401はネットワーク・サーバとして動作し、インターネット1418、ゲートウェイ/ファイアウォール1417、ローカル・エリア・ネットワーク1415、通信インタフェース1413を介して、クライアント1420および/または1421の上で実行されるアプリケーション・プログラムの要求されたコードもしくはデータを送信するかもしれない。同様に、コンピュータ・プラットフォーム1401は他のネットワーク・リソースからコードを受信してもよい。
【0093】
受信したコードは、受信した状態のまま、プロセッサ1405によって実行されてもよいし、その後の実行のために永続記憶手段1408、揮発性記憶手段1406、もしくは他の不揮発性記憶手段に記憶されてもよい。
【0094】
本発明は、特定のファイアウォールに限定されるものではない。本発明のポリシー・ベース・コンテンツ処理システムは3つのファイアウォール・オペレーティング・モード、詳細には、NAT、ルーティング、トランスペアレント、のいずれかで使用されてもよい。
【0095】
最後に、ここで記述された処理および技術は特定の装置に固有に関係するものではなく、要素の適切な組み合わせによって実装することができる。様々なタイプの汎用目的デバイスが、ここで記述されている教示にしたがって使用されてもよい。ここで記述された方法ステップを実行するために、特定目的装置を構築することも有効である。本発明は特定の例に関連して記述されているが、これらは例示を目的としており、本発明を制限することを意図するものではない。ハードウェア、ソフトウェアおよびファームウェアの多くの異なる組み合わせが本発明を実行するために使用されてよい。たとえば、記述されたソフトウェアは、アセンブラ、C/C++、Perl、シェル・スクリプト、Java(登録商標)などの様々なプログラム言語、スクリプト言語で実装されてよい。
【0096】
ここで記述された発明の仕様および実用を検討することによって、当業者は本発明の他の実装を行うことができる。物理的自由形状マークアップの機械解析にもとづいてインタラクティブ・バーチャル・コンテンツを生成するために、記述された実施形態の様々な態様および/もしくは要素は単一でもしくは組み合わせで、システムにおいて使用されてもよい。本発明の真の範囲は特許請求の範囲に示され、以上の例を含む記述は例示である。
【特許請求の範囲】
【請求項1】
自由形状マークアップにもとづいてバーチャル・モデルを生成するシステムであって、
ディスプレイと、
物理的ワークスペースから画像を取得するカメラと、
前記カメラによって取得された前記画像を処理し、命令を実行するプロセッサと、
を備え、
前記命令は、
(a)前記物理的ワークスペースの自由形状マークアップを識別および処理し、
(b)前記自由形状マークアップにもとづいてバーチャル・モデルをレンダリングし、
(c)前記ディスプレイに前記バーチャル・モデルを表示する、
ことを含む、
バーチャル・モデル生成システム。
【請求項2】
前記自由形状マークアップは、手書きによって生成された自由形状ストロークを含む、請求項1に記載のバーチャル・モデル生成システム。
【請求項3】
前記自由形状マークアップは、三次元オブジェクトを示すマークアップを含む、請求項1に記載のバーチャル・モデル生成システム。
【請求項4】
前記命令は、前記画像に前記バーチャル・モデルを重畳することをさらに含み、
(c)は、前記ディスプレイに前記画像に重畳されたバーチャル・モデルを表示する、
請求項1に記載のバーチャル・モデル生成システム。
【請求項5】
前記命令は、
前記自由形状マークアップから経路を抽出し、
抽出された前記経路に沿ってオブジェクトをアニメーション化する、
ことをさらに含む、
請求項1に記載のバーチャル・モデル生成システム。
【請求項6】
前記命令は、
前記自由形状マークアップから動きもしくは他のアクティビティが検出される領域であるアクティビティ・ホットスポットを抽出し、
前記画像から、該アクティビティ・ホットスポット内で生じる相互関係を検出する、
ことをさらに含む、
請求項1に記載のバーチャル・モデル生成システム。
【請求項7】
(a)は、前記自由形状マークアップから三次元経路を抽出する、ことを含む、請求項1に記載のバーチャル・モデル生成システム。
【請求項8】
前記命令は、マークアップ・コマンドとして前記自由形状マークアップを解釈する、ことをさらに含む、請求項1に記載のバーチャル・モデル生成システム。
【請求項9】
前記命令は、注釈のために前記自由形状マークアップを分析する、ことをさらに含み、
注釈が検出された場合には、該注釈を当該バーチャル・モデル生成システムに記憶する、
請求項1に記載のバーチャル・モデル生成システム。
【請求項10】
自由形状マークアップにもとづいてインタラクティブ・バーチャル・コンテンツを生成するシステムであって、
ディスプレイと、
物理的ワークスペースから画像を取得するカメラと、
カメラから取得した画像を処理し、命令を実行するプロセッサと、
を備え、
前記命令は、
(a)前記画像から、前記物理的ワークスペースの前記自由形状マークアップを識別し、該自由形状マークアップを処理し、
(b)前記自由形状マークアップからパスを抽出する、
ことを含む、
インタラクティブ・バーチャル・コンテンツ生成システム。
【請求項11】
前記命令は、
前記画像に三次元バーチャル・モデルを重畳し、
重畳した前記三次元バーチャル・モデルを前記ディスプレイに表示する、
ことを含む、
請求項10に記載のインタラクティブ・バーチャル・コンテンツ生成システム。
【請求項12】
前記命令は、前記自由形状マークアップからコマンドを抽出する、ことをさらに含み、
抽出された前記コマンドがパスを示すコマンドである場合、(a)は、
前記自由形状マークアップから経路を抽出し、
抽出された前記経路に沿ってオブジェクトをアニメーション化する、
ことを含む、
請求項10に記載のインタラクティブ・バーチャル・コンテンツ生成システム。
【請求項13】
前記命令は、前記自由形状マークアップからコマンドを抽出する、ことをさらに含み、
抽出された前記コマンドが、動きもしくは他のアクティビティが検出される領域であるアクティビティ・ホットスポットを示すコマンドである場合、(a)は、
前記自由形状マークアップからアクティビティ・ホットスポットを抽出し、
前記画像から、該アクティビティ・ホットスポット内で生じる相互関係を検出する、
ことを含む、
請求項10に記載のインタラクティブ・バーチャル・コンテンツ生成システム。
【請求項14】
前記命令は、前記自由形状マークアップからコマンドを抽出する、ことをさらに含み、
抽出された前記コマンドがバーチャル・モデルを生成するコマンドである場合、(a)は、
前記自由形状マークアップにもとづいてバーチャル・モデルをレンダリングし、
前記ディスプレイに前記バーチャル・モデルを表示する、
請求項10に記載のインタラクティブ・バーチャル・コンテンツ生成システム。
【請求項15】
前記命令は、注釈のために前記自由形状マークアップを分析する、ことをさらに含み、
注釈が検出された場合には、該注釈を当該インタラクティブ・バーチャル・コンテンツ生成システムに記憶する、
請求項10に記載のインタラクティブ・バーチャル・コンテンツ生成システム。
【請求項16】
前記命令は、
前記画像のマーカを処理し、
処理された前記マーカにもとづいて平面を抽出し、
抽出された前記平面に描画される平面ストロークの三次元パスを決定する、
ことをさらに含む、
請求項10に記載のインタラクティブ・バーチャル・コンテンツ生成システム。
【請求項17】
前記命令は、前記自由形状マークアップからコマンドを抽出する、ことをさらに含み、
抽出されたコマンドが動き制限を示すコマンドである場合、(a)は、
バーチャル・モデルのオブジェクトの動きの限界をモデリングする、
ことを含む、
請求項10に記載のインタラクティブ・バーチャル・コンテンツ生成システム。
【請求項18】
壁もしくは床が、前記自由形状マークアップにもとづいて前記バーチャル・モデルの内部で構築される、請求項10に記載のインタラクティブ・バーチャル・モデル生成システム。
【請求項19】
(a)物理的ワークスペースから取得された画像から、該物理的ワークスペースの自由形状マークアップを識別および処理する手順と、
(b)前記自由形状マークアップにもとづいてバーチャル・モデルをレンダリングする手順と、
(c)ディスプレイに前記バーチャル・モデルを表示する手順と、
を、コンピュータに実行させるための自由形状マークアップにもとづくバーチャル・モデル生成プログラム。
【請求項1】
自由形状マークアップにもとづいてバーチャル・モデルを生成するシステムであって、
ディスプレイと、
物理的ワークスペースから画像を取得するカメラと、
前記カメラによって取得された前記画像を処理し、命令を実行するプロセッサと、
を備え、
前記命令は、
(a)前記物理的ワークスペースの自由形状マークアップを識別および処理し、
(b)前記自由形状マークアップにもとづいてバーチャル・モデルをレンダリングし、
(c)前記ディスプレイに前記バーチャル・モデルを表示する、
ことを含む、
バーチャル・モデル生成システム。
【請求項2】
前記自由形状マークアップは、手書きによって生成された自由形状ストロークを含む、請求項1に記載のバーチャル・モデル生成システム。
【請求項3】
前記自由形状マークアップは、三次元オブジェクトを示すマークアップを含む、請求項1に記載のバーチャル・モデル生成システム。
【請求項4】
前記命令は、前記画像に前記バーチャル・モデルを重畳することをさらに含み、
(c)は、前記ディスプレイに前記画像に重畳されたバーチャル・モデルを表示する、
請求項1に記載のバーチャル・モデル生成システム。
【請求項5】
前記命令は、
前記自由形状マークアップから経路を抽出し、
抽出された前記経路に沿ってオブジェクトをアニメーション化する、
ことをさらに含む、
請求項1に記載のバーチャル・モデル生成システム。
【請求項6】
前記命令は、
前記自由形状マークアップから動きもしくは他のアクティビティが検出される領域であるアクティビティ・ホットスポットを抽出し、
前記画像から、該アクティビティ・ホットスポット内で生じる相互関係を検出する、
ことをさらに含む、
請求項1に記載のバーチャル・モデル生成システム。
【請求項7】
(a)は、前記自由形状マークアップから三次元経路を抽出する、ことを含む、請求項1に記載のバーチャル・モデル生成システム。
【請求項8】
前記命令は、マークアップ・コマンドとして前記自由形状マークアップを解釈する、ことをさらに含む、請求項1に記載のバーチャル・モデル生成システム。
【請求項9】
前記命令は、注釈のために前記自由形状マークアップを分析する、ことをさらに含み、
注釈が検出された場合には、該注釈を当該バーチャル・モデル生成システムに記憶する、
請求項1に記載のバーチャル・モデル生成システム。
【請求項10】
自由形状マークアップにもとづいてインタラクティブ・バーチャル・コンテンツを生成するシステムであって、
ディスプレイと、
物理的ワークスペースから画像を取得するカメラと、
カメラから取得した画像を処理し、命令を実行するプロセッサと、
を備え、
前記命令は、
(a)前記画像から、前記物理的ワークスペースの前記自由形状マークアップを識別し、該自由形状マークアップを処理し、
(b)前記自由形状マークアップからパスを抽出する、
ことを含む、
インタラクティブ・バーチャル・コンテンツ生成システム。
【請求項11】
前記命令は、
前記画像に三次元バーチャル・モデルを重畳し、
重畳した前記三次元バーチャル・モデルを前記ディスプレイに表示する、
ことを含む、
請求項10に記載のインタラクティブ・バーチャル・コンテンツ生成システム。
【請求項12】
前記命令は、前記自由形状マークアップからコマンドを抽出する、ことをさらに含み、
抽出された前記コマンドがパスを示すコマンドである場合、(a)は、
前記自由形状マークアップから経路を抽出し、
抽出された前記経路に沿ってオブジェクトをアニメーション化する、
ことを含む、
請求項10に記載のインタラクティブ・バーチャル・コンテンツ生成システム。
【請求項13】
前記命令は、前記自由形状マークアップからコマンドを抽出する、ことをさらに含み、
抽出された前記コマンドが、動きもしくは他のアクティビティが検出される領域であるアクティビティ・ホットスポットを示すコマンドである場合、(a)は、
前記自由形状マークアップからアクティビティ・ホットスポットを抽出し、
前記画像から、該アクティビティ・ホットスポット内で生じる相互関係を検出する、
ことを含む、
請求項10に記載のインタラクティブ・バーチャル・コンテンツ生成システム。
【請求項14】
前記命令は、前記自由形状マークアップからコマンドを抽出する、ことをさらに含み、
抽出された前記コマンドがバーチャル・モデルを生成するコマンドである場合、(a)は、
前記自由形状マークアップにもとづいてバーチャル・モデルをレンダリングし、
前記ディスプレイに前記バーチャル・モデルを表示する、
請求項10に記載のインタラクティブ・バーチャル・コンテンツ生成システム。
【請求項15】
前記命令は、注釈のために前記自由形状マークアップを分析する、ことをさらに含み、
注釈が検出された場合には、該注釈を当該インタラクティブ・バーチャル・コンテンツ生成システムに記憶する、
請求項10に記載のインタラクティブ・バーチャル・コンテンツ生成システム。
【請求項16】
前記命令は、
前記画像のマーカを処理し、
処理された前記マーカにもとづいて平面を抽出し、
抽出された前記平面に描画される平面ストロークの三次元パスを決定する、
ことをさらに含む、
請求項10に記載のインタラクティブ・バーチャル・コンテンツ生成システム。
【請求項17】
前記命令は、前記自由形状マークアップからコマンドを抽出する、ことをさらに含み、
抽出されたコマンドが動き制限を示すコマンドである場合、(a)は、
バーチャル・モデルのオブジェクトの動きの限界をモデリングする、
ことを含む、
請求項10に記載のインタラクティブ・バーチャル・コンテンツ生成システム。
【請求項18】
壁もしくは床が、前記自由形状マークアップにもとづいて前記バーチャル・モデルの内部で構築される、請求項10に記載のインタラクティブ・バーチャル・モデル生成システム。
【請求項19】
(a)物理的ワークスペースから取得された画像から、該物理的ワークスペースの自由形状マークアップを識別および処理する手順と、
(b)前記自由形状マークアップにもとづいてバーチャル・モデルをレンダリングする手順と、
(c)ディスプレイに前記バーチャル・モデルを表示する手順と、
を、コンピュータに実行させるための自由形状マークアップにもとづくバーチャル・モデル生成プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2011−221980(P2011−221980A)
【公開日】平成23年11月4日(2011.11.4)
【国際特許分類】
【出願番号】特願2010−183199(P2010−183199)
【出願日】平成22年8月18日(2010.8.18)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.QRコード
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
【公開日】平成23年11月4日(2011.11.4)
【国際特許分類】
【出願日】平成22年8月18日(2010.8.18)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.QRコード
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
[ Back to top ]