(57)【要約】【課題】自由形状マークアップを用いたバーチャル・モデルを生成する。【解決手段】ディスプレイと、物理的ワークスペースから画像を取得するカメラと、前記カメラによって取得された前記画像を処理し、命令を実行するプロセッサと、を備える。前記命令は、（ａ）前記物理的ワークスペースの物理的自由形状マークアップを識別および処理し、（ｂ）前記物理的自由形状マークアップにもとづいてバーチャル・モデルをレンダリングし、（ｃ）前記ディスプレイに前記バーチャル・モデルを表示する。前記物理的自由形状マークアップは描画実行によって生成された自由形状ストロークを含んでもよい。【選択図】図４
2011221980.tif 000002
【特許請求の範囲】
【請求項１】
自由形状マークアップにもとづいてバーチャル・モデルを生成するシステムであって、
ディスプレイと、
物理的ワークスペースから画像を取得するカメラと、
前記カメラによって取得された前記画像を処理し、命令を実行するプロセッサと、
を備え、
前記命令は、
（ａ）前記物理的ワークスペースの自由形状マークアップを識別および処理し、
（ｂ）前記自由形状マークアップにもとづいてバーチャル・モデルをレンダリングし、
（ｃ）前記ディスプレイに前記バーチャル・モデルを表示する、
ことを含む、
バーチャル・モデル生成システム。
【請求項２】
前記自由形状マークアップは、手書きによって生成された自由形状ストロークを含む、請求項１に記載のバーチャル・モデル生成システム。
【請求項３】
前記自由形状マークアップは、三次元オブジェクトを示すマークアップを含む、請求項１に記載のバーチャル・モデル生成システム。
【請求項４】
前記命令は、前記画像に前記バーチャル・モデルを重畳することをさらに含み、
（ｃ）は、前記ディスプレイに前記画像に重畳されたバーチャル・モデルを表示する、
請求項１に記載のバーチャル・モデル生成システム。
【請求項５】
前記命令は、
前記自由形状マークアップから経路を抽出し、
抽出された前記経路に沿ってオブジェクトをアニメーション化する、
ことをさらに含む、
請求項１に記載のバーチャル・モデル生成システム。
【請求項６】
前記命令は、
前記自由形状マークアップから動きもしくは他のアクティビティが検出される領域であるアクティビティ・ホットスポットを抽出し、
前記画像から、該アクティビティ・ホットスポット内で生じる相互関係を検出する、
ことをさらに含む、
請求項１に記載のバーチャル・モデル生成システム。
【請求項７】
（ａ）は、前記自由形状マークアップから三次元経路を抽出する、ことを含む、請求項１に記載のバーチャル・モデル生成システム。
【請求項８】
前記命令は、マークアップ・コマンドとして前記自由形状マークアップを解釈する、ことをさらに含む、請求項１に記載のバーチャル・モデル生成システム。
【請求項９】
前記命令は、注釈のために前記自由形状マークアップを分析する、ことをさらに含み、
注釈が検出された場合には、該注釈を当該バーチャル・モデル生成システムに記憶する、
請求項１に記載のバーチャル・モデル生成システム。
【請求項１０】
自由形状マークアップにもとづいてインタラクティブ・バーチャル・コンテンツを生成するシステムであって、
ディスプレイと、
物理的ワークスペースから画像を取得するカメラと、
カメラから取得した画像を処理し、命令を実行するプロセッサと、
を備え、
前記命令は、
（ａ）前記画像から、前記物理的ワークスペースの前記自由形状マークアップを識別し、該自由形状マークアップを処理し、
（ｂ）前記自由形状マークアップからパスを抽出する、
ことを含む、
インタラクティブ・バーチャル・コンテンツ生成システム。
【請求項１１】
前記命令は、
前記画像に三次元バーチャル・モデルを重畳し、
重畳した前記三次元バーチャル・モデルを前記ディスプレイに表示する、
ことを含む、
請求項１０に記載のインタラクティブ・バーチャル・コンテンツ生成システム。
【請求項１２】
前記命令は、前記自由形状マークアップからコマンドを抽出する、ことをさらに含み、
抽出された前記コマンドがパスを示すコマンドである場合、（ａ）は、
前記自由形状マークアップから経路を抽出し、
抽出された前記経路に沿ってオブジェクトをアニメーション化する、
ことを含む、
請求項１０に記載のインタラクティブ・バーチャル・コンテンツ生成システム。
【請求項１３】
前記命令は、前記自由形状マークアップからコマンドを抽出する、ことをさらに含み、
抽出された前記コマンドが、動きもしくは他のアクティビティが検出される領域であるアクティビティ・ホットスポットを示すコマンドである場合、（ａ）は、
前記自由形状マークアップからアクティビティ・ホットスポットを抽出し、
前記画像から、該アクティビティ・ホットスポット内で生じる相互関係を検出する、
ことを含む、
請求項１０に記載のインタラクティブ・バーチャル・コンテンツ生成システム。
【請求項１４】
前記命令は、前記自由形状マークアップからコマンドを抽出する、ことをさらに含み、
抽出された前記コマンドがバーチャル・モデルを生成するコマンドである場合、（ａ）は、
前記自由形状マークアップにもとづいてバーチャル・モデルをレンダリングし、
前記ディスプレイに前記バーチャル・モデルを表示する、
請求項１０に記載のインタラクティブ・バーチャル・コンテンツ生成システム。
【請求項１５】
前記命令は、注釈のために前記自由形状マークアップを分析する、ことをさらに含み、
注釈が検出された場合には、該注釈を当該インタラクティブ・バーチャル・コンテンツ生成システムに記憶する、
請求項１０に記載のインタラクティブ・バーチャル・コンテンツ生成システム。
【請求項１６】
前記命令は、
前記画像のマーカを処理し、
処理された前記マーカにもとづいて平面を抽出し、
抽出された前記平面に描画される平面ストロークの三次元パスを決定する、
ことをさらに含む、
請求項１０に記載のインタラクティブ・バーチャル・コンテンツ生成システム。
【請求項１７】
前記命令は、前記自由形状マークアップからコマンドを抽出する、ことをさらに含み、
抽出されたコマンドが動き制限を示すコマンドである場合、（ａ）は、
バーチャル・モデルのオブジェクトの動きの限界をモデリングする、
ことを含む、
請求項１０に記載のインタラクティブ・バーチャル・コンテンツ生成システム。
【請求項１８】
壁もしくは床が、前記自由形状マークアップにもとづいて前記バーチャル・モデルの内部で構築される、請求項１０に記載のインタラクティブ・バーチャル・モデル生成システム。
【請求項１９】
（ａ）物理的ワークスペースから取得された画像から、該物理的ワークスペースの自由形状マークアップを識別および処理する手順と、
（ｂ）前記自由形状マークアップにもとづいてバーチャル・モデルをレンダリングする手順と、
（ｃ）ディスプレイに前記バーチャル・モデルを表示する手順と、
を、コンピュータに実行させるための自由形状マークアップにもとづくバーチャル・モデル生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はインタラクティブ・バーチャル・コンテンツを提供するシステムに関し、詳細には、自由形状マークアップにもとづいてインタラクティブ・バーチャル・コンテンツを提供することに関する。
【背景技術】
【０００２】
バーチャル・モデルを構築することは、労力および時間を要するプロセスであり、物理的空間において測定を行うことを必要とし、場合によっては、コンピュータ生成モデルの編集も必要とする。そこで、たとえば、予めプリントされたマーカを用いて、オブジェクトもしくはシーンをマークアップすることにより、モデルが生成され、該モデルを操作することができるようになる、モデル生成タスクをサポートするシステムが存在する。該システムは、該シーンの画像もしくはビデオを収集し、処理する。該システムは、収集された画像の各々について、カメラの姿勢、すべてのマークアップの位置を判断することができ、モデルを生成するためにマークアップを解釈する。部屋のモデルを生成するためのシステムの使用の一例を図１に示す。該システムの利用の場面において、予めプリントされているマーカを適切なセット配置することが必要になることは多くの場合不便であり、ドキュメント化の作業が困難となり、不完全となることが多い。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】カグリオチ(Caglioti)、「操作可能なビジョン・ベースの空間曲線三次元入力装置(A manipulable Vision-Based 3D Input Device for Space Curves)」、シュプリンガー(Springer)、２００８年
【非特許文献２】チョイ(Choi）ら、「ＮＵＲＢＳ面のフリー・ハンド・ストローク・ベース・バーチャル・スケッチ、変形、彫刻(Free hand stroke based virtual sketching, deformation and sculpting of NURBS surface)」、ＩＣＡＴ、ニュージーランド、２００５年１２月５日〜８日、第１５７巻
【非特許文献３】フリーマン(Freeman)、線描画画像のコンピュータ処理(Computer Processing of Line-Drawing Images)、ＡＣＭ、米国、１９７４年、第６巻、第１号、頁５７〜９７
【発明の概要】
【発明が解決しようとする課題】
【０００４】
予めプリントされたマーカに替えて、もしくは、予めプリントされたマーカを増強するために自由形状マークアップを用いたバーチャル・モデルを生成することができるシステムおよび方法が必要とされる。
【課題を解決するための手段】
【０００５】
本発明の第１の態様は、物理的自由形状マークアップにもとづいてバーチャル・モデルを生成するシステムであって、ディスプレイと、物理的ワークスペースから画像を取得するカメラと、前記カメラによって取得された前記画像を処理し、命令を実行するプロセッサと、を備え、前記命令は、（ａ）前記物理的ワークスペースの物理的自由形状マークアップを識別および処理し、（ｂ）前記物理的自由形状マークアップにもとづいてバーチャル・モデルをレンダリングし、（ｃ）前記ディスプレイに前記バーチャル・モデルを表示する、ことを含む。
【０００６】
本発明の第２の態様は、第１の態様のバーチャル・モデル生成システムであって、前記物理的自由形状マークアップは描画実行によって生成された自由形状ストロークを含む。
【０００７】
本発明の第３の態様は、第１の態様のバーチャル・モデル生成システムであって、前記物理的自由形状マークアップは三次元オブジェクトを含む。
【０００８】
本発明の第４の態様は、第１の態様のバーチャル・モデル生成システムであって、前記命令は、前記画像に前記バーチャル・モデルを重畳することをさらに含み、（ｃ）は、前記ディスプレイに前記画像に重畳されたバーチャル・モデルを表示する。
【０００９】
本発明の第５の態様は、第１の態様のバーチャル・モデル生成システムであって、前記命令は、前記物理的自由形状マークアップからパスを抽出し、抽出された前記パスに沿ってオブジェクトをアニメーション化する、ことをさらに含む。
【００１０】
本発明の第６の態様は、第１の態様のバーチャル・モデル生成システムであって、前記命令は、前記物理的自由形状マークアップから動きもしくは他のアクティビティが検出される領域であるアクティビティ・ホットスポットを抽出し、前記画像から、該アクティビティ・ホットスポット内で生じる相互関係を検出する、ことをさらに含む。
【００１１】
本発明の第７の態様は、第１の態様のバーチャル・モデル生成システムであって、（ａ）は、前記物理的自由形状マークアップから三次元パスを抽出する、ことを含む。
【００１２】
本発明の第８の態様は、第１の態様のバーチャル・モデル生成システムであって、前記命令は、マークアップ・コマンドとして前記物理的自由形状マークアップを解釈する、ことをさらに含む。
【００１３】
本発明の第９の態様は、第５の態様のバーチャル・モデル生成システムであって、前記命令は、抽出された前記パスを表示する、ことをさらに含む。
【００１４】
本発明の第１０の態様は、第１の態様のバーチャル・モデル生成システムであって、前記命令は、注釈のために前記物理的自由形状マークアップを分析する、ことをさらに含み、注釈が検出された場合には、該注釈を当該バーチャル・モデル生成システムに記憶する。
【００１５】
本発明の第１１の態様は、第１の態様のバーチャル・モデル生成システムであって、壁もしくは床が、前記物理的自由形状マークアップにもとづいて前記バーチャル・モデルの内部で構築される。
【００１６】
本発明の第１２の態様は、物理的自由形状マークアップにもとづいてインタラクティブ・バーチャル・コンテンツを生成するシステムであって、ディスプレイと、物理的ワークスペースから画像を取得するカメラと、カメラから取得した画像を処理し、命令を実行するプロセッサと、を備え、前記命令は、（ａ）前記画像から、前記物理的ワークスペースの前記物理的自由形状マークアップを識別し、該物理的自由形状マークアップを処理し、（ｂ）前記物理的自由形状マークアップからパスを抽出する、ことを含む。
【００１７】
本発明の第１３の態様は、第１２の態様のインタラクティブ・バーチャル・コンテンツ生成システムであって、前記命令は、前記画像に三次元バーチャル・モデルを重畳し、重畳した前記三次元バーチャル・モデルを前記ディスプレイに表示する、ことを含む。
【００１８】
本発明の第１４の態様は、第１２の態様のインタラクティブ・バーチャル・コンテンツ生成システムであって、前記命令は、前記物理的自由形状マークアップからコマンドを抽出する、ことをさらに含み、抽出された前記コマンドがパスを示すコマンドである場合、（ａ）は、前記物理的自由形状マークアップからパスを抽出し、抽出された前記パスに沿ってオブジェクトをアニメーション化する、ことを含む。
【００１９】
本発明の第１５の態様は、第１２の態様のインタラクティブ・バーチャル・コンテンツ生成システムであって、前記命令は、前記物理的自由形状マークアップからコマンドを抽出する、ことをさらに含み、抽出された前記コマンドが、動きもしくは他のアクティビティが検出される領域であるアクティビティ・ホットスポットを示すコマンドである場合、（ａ）は、前記物理的自由形状マークアップからアクティビティ・ホットスポットを抽出し、前記画像から、該アクティビティ・ホットスポット内で生じる相互関係を検出する、ことを含む。
【００２０】
本発明の第１６の態様は、第１２の態様のインタラクティブ・バーチャル・コンテンツ生成システムであって、前記命令は、前記物理的自由形状マークアップからコマンドを抽出する、ことをさらに含み、抽出された前記コマンドがバーチャル・モデルを生成するコマンドである場合、（ａ）は、前記物理的自由形状マークアップにもとづいてバーチャル・モデルをレンダリングし、前記ディスプレイに前記バーチャル・モデルを表示する。
【００２１】
本発明の第１７の態様は、第１２の態様のインタラクティブ・バーチャル・コンテンツ生成システムであって、前記命令は、注釈のために前記物理的自由形状マークアップを分析する、ことをさらに含み、注釈が検出された場合には、該注釈を当該インタラクティブ・バーチャル・コンテンツ生成システムに記憶する。
【００２２】
本発明の第１８の態様は、第１２の態様のインタラクティブ・バーチャル・コンテンツ生成システムであって、前記命令は、前記画像のマーカを処理し、処理された前記マーカにもとづいて平面を抽出し、抽出された前記平面に描画される平面ストロークの三次元パスを決定する、ことをさらに含む。
【００２３】
本発明の第１９の態様は、第１２の態様のインタラクティブ・バーチャル・コンテンツ生成システムであって、前記命令は、前記物理的自由形状マークアップからコマンドを抽出する、ことをさらに含み、抽出されたコマンドが動き制限を示すコマンドである場合、（ａ）は、バーチャル・モデルのオブジェクトの動きの限界をモデリングする、ことを含む。
【００２４】
本発明の第２０の態様は、第１２の態様のインタラクティブ・バーチャル・コンテンツ生成システムであって、壁もしくは床が、前記物理的自由形状マークアップにもとづいて前記バーチャル・モデルの内部で構築される。
【００２５】
本発明の第２１の態様は、物理的自由形状マークアップにもとづくバーチャル・モデル生成プログラムであって、コンピュータに、（ａ）物理的ワークスペースから取得された画像から、該物理的ワークスペースの物理的自由形状マークアップを識別および処理する手順と、（ｂ）前記物理的自由形状マークアップにもとづいてバーチャル・モデルをレンダリングする手順と、（ｃ）ディスプレイに前記バーチャル・モデルを表示する手順と、
を実行させる。
【００２６】
前述および後述の記載は説明のための例示であり、本発明もしくは本発明の適用を制限することを意図しない。
【発明の効果】
【００２７】
自由形状マークアップにもとづいてバーチャル・モデルを生成することができる。
【図面の簡単な説明】
【００２８】
【図１】プリントされたマーカによってマークアップすることにより生成される部屋のモデルの例を示す。
【図２】マーカ、拡張現実（ＡＲ）モデルによるフロア・プランの例、フロア・プランへの手描きストローク、拡張現実モデルのコンテクストにおいて押出された壁を示す。
【図３】モデルのストロークをマークアップするためのホワイトボード・ツールの例を示す。ストロークはホワイトボードに描画されてもよいし、ホワイトボックスの側面に描画されてもよい。三次元形状を定義するためにワイヤを使用してもよい。
【図４】本発明の実施形態におけるインタラクティブ・バーチャル・コンテンツを提供するシステムの外観図を示す。
【図５】ストローク抽出に含まれるステップを示す。
【図６】輪郭収縮およびフリーマン方向コードを示す。
【図７】折れ曲がり輪郭を計算するためのルックアップ・テーブル・キーを示す。
【図８】単純で平滑なストローク、交差する目盛、矢印のような内因性(intrinsic)ストローク・マーキングの例を示す。
【図９】予め装飾され、ラベル付けされているマーカ、および、自由形状装飾マーカの例を示す。
【図１０】円筒を定義する完全に自由形状であるマークアップの例を示す。
【図１１】インタラクティブ・バーチャル・コンテンツを提供するシステムによって利用されるストロークおよびマークアップ・プロセスの例を示す。
【図１２】システムを実装することができる機能図の例を示す。
【図１３】本発明の実施形態のフローチャートの例を示す。
【図１４】本発明のシステムを実装することができるコンピュータ・プラットフォームの例示的な実施形態を示す。
【発明を実施するための形態】
【００２９】
添付の図面において、同様の機能的要素には同様の参照符号を付す。添付の図面は例示のためのものであり、本発明を限定するものではない。本発明を実施するために当業者が実行可能な程度に、特定の実装を十分詳細に記述するが、本発明の範囲から逸脱することなく、他の実装が可能であり、様々な要素の構成変更および／または置き換えが可能である。したがって、以下の詳細な記述は、限定的に解釈されるべきではない。さらに、本発明の様々な実施形態は汎用目的コンピュータ上で動作するソフトウェアの形態で実装されてもよいし、特定のハードウェアの形態で実装されてもよいし、ソフトウェアおよびハードウェアの組み合わせによって実装されてもよい。
【００３０】
ここで記述される技術によれば、メタデータを定義し、文書の注釈を提供する必要な装飾を、マーカの上に、もしくは、近傍に、単に描画することにより、ユーザは追加することができる。マーカのセットは個別的なので、扱いにくく、任意の曲線のような幾何学的形状を定義することが不可能な場合さえある。本発明のシステムおよび技術によれば、ユーザはこのような形状を単に描画することができる。このような描画のストロークはフラットなもしくはカーブした面上にペンによって生成されることができ、「三次元ストローク」を定義するために、ワイヤ、糸、ロープなどの配置をストロークとして使用して生成してもよい。説明上、パスは、単一の実パラメータによってパラメータ化することができる三次元の点の連続的なセットである。ストロークは少なくとも一つの連結されたパスのセットである。平面ストローク（二次元ストローク）は単一の平面にある点だけを含むストロークである。
【００３１】
本発明の実施形態は、インタラクティブ・バーチャル・モデルを生成し、操作するための物理的空間における物理的自由形状マークアップ、スケール・モデルおよびオブジェクトを使用するシステムおよび方法を含む。マークアップは手描きのペン・ストロークを含むことができ、モデル特性を記述するマークアップ言語の要素として解釈される配置されたワイヤもしくは糸を含んでもよい。モデルを生成するために、もしくは、アニメーション・パス（アニメーションを移動させつつ表示させる経路）のようなインタラクティブな特性を定義するために、ユーザは物理的ワークスペースをマークアップし、システムによって解釈される画像もしくはビデオを収集する。システムは、画像の姿勢を判断し、マークアップの三次元的な配置を判断することにより、モデル特性を判断することができる。たとえば、部屋のモデルが与えられた場合、窓が配置される位置に一枚の紙を配置し、該窓の外郭を描画することにより該モデルに窓を追加することができる。コンベヤが配置されるべきパスを示すために、工場の床に色付きのロープを配置することができる。本発明の方法は、フロア・プランもしくは建築用モックアップなどのためのスケール・モデル空間、もしくは、モデル化されるべき実空間のいずれにも適用されることができる。
【００３２】
「適用領域例」
本発明の実施態様によれば、主として、現実の三次元物理空間において行われるアクションによって、ユーザはバーチャル・モデルを生成することができる。多くの適用について、このアプローチはユーザにとってより自然であり、コンピュータ・ディスプレイにおいてバーチャル・モデルを編集するよりもよりよい現実感を提供することができる。コンピュータ・ディスプレイにおいてバーチャル・モデルを編集するためには、三次元の変化を生じさせるために二次元表示を操作することが必要となるからである。本発明の実施形態の使用において、物理的ワークスペースにおいて、アクションが行われる（マークアップが描画される、もしくは、レイアウトされる、など）。物理的ワークスペースは、モデリングされている空間と事実上等しくてもよいし、該空間の縮小物理スケール・モデルであってもよいし、単に、モデリングされている該空間にマッピングされるホワイトボード、ペーパのセットもしくはオブジェクトであってもよい。ユーザをさらに支援するために、バーチャル・モデルの画像をライブ・カメラ・ビデオ・ストリームの画像上に重畳することができる。これにより、ユーザは、追加されたマークアップ、もしくは、動きによってモデルがどのように変化するかを見ることができる。
【００３３】
「物理的空間のマークアップ」
本発明の適用は物理空間をマークアップし、画像を取得し、該空間のモデルを生成するために該画像を使用することを含む。本発明の実施態様は、現在利用可能なシステムが使用される適用領域において使用されることができ、マーカへの依存を低減し、複雑な形状を記述する際のフレキシビリティが大きい、という効果を有する。物理的オブジェクトもしくは空間のモデルを生成することに加えて、本発明の実施形態によれば、仮想的なさらなる形状を記述するために、ペーパに描画されたストロークもしくは配置されたワイヤによってマークアップを行うことができる。該仮想的なさらなる形状は物理的空間の部分ではないが、関心を有される部分である。これらの適用は、ロープを使用して、カーブしたアーチ(archway)を壁に配置して、もしくは、家具の位置を規定して、オープン・プラン式のオフィスのパーティション(cubicle walls)をレイアウトすることを含む。マークアップをレイアウトすることは、フル・スケールである形状物を構築したり、コンピュータでバーチャル・モデルを生成したりすることにくらべ、ユーザへの負担をかなり軽減する。
【００３４】
ここで記述される方法は、空間およびオブジェクトをそのまま記述するため、および、該空間の仮想的な拡張もしくは追加を記述するため、の双方で、使用されることができる。したがって、本発明の多くの態様が拡張現実表示と相補的であり、拡張現実表示によってサポートされる。拡張現実表示をすることで、マークアップによって記述される要素によって増強される物理的空間もしくはスケール・モデルを、ユーザは見ることが可能となる。
【００３５】
「スケール・モデルのマークアップ」
図１はマーカによって生成されるバーチャル・モデルの例を示す。マーカ（たとえば、壁の輪郭を示すために壁の上部に配置された矩形のマーカ）によって部屋１００をマークアップすることによって、システムは検出されたマーカによるバーチャル・モデル１０１を生成することができる。
【００３６】
他の適用は、建築図もしくは建造物の発泡スチロール・ボードによるモックアップのような縮小モデルをマークアップするためのストロークの使用に関連する。図２に示されるように、第１の例は、拡張現実表示によってモデルに形状を追加するための手描きストロークを使用する。左上の例２００はマーカによる建造物のフロア・プランを示す。マーカは２つの目的を有する。すなわち、マーカは、拡張現実表示が建造物のＣＧモデルを配置すべき位置を記述し、ストロークが解釈されるポリゴン表示領域を規定する。右上の例２０１は同様の図であるが、建造物のバーチャル・モデルが重畳されている。左下の例２０２は、壁が配置されるべき場所を示すために、ユーザが２つのストロークを描画したところである。システムはこれらのストロークを検出し、マーカによって規定される平面に該ストロークを投影する。壁は、該平面からの垂直なストロークを突出(extrusion)させることで生成されるように定義される。右下の例２０３に示される拡張モデルのコンテクストにおいて壁が示されている。
【００３７】
パスに沿って再現されたユニット・セルの形態で形状を追加するために、スケール・モデルに対してストロークを描画することもできる。再現されているユニット・セルのタイプを示すために、予めプリントされている、もしくは、手描きされたマーカをストロークの近傍に追加してもよい。この方法は、たとえば、鉄道模型に追加されるべき線路のパスを示すために、使用されてもよい。同様に、描画されたストローク、もしくは、ワイヤや糸などが、工場のモデルに追加されるべきコンベヤ・ラインやパイプなどのパスを示すために使用されてもよい。これらのパスが非平面であっても、ストロークのためにワイヤを使用することができる。
【００３８】
「バーチャル・モデルを操作するためのワークスペースのマーキング」
先の例において、マークアップされている物理的ワークスペースはモデリングされている実空間と等しくてもよかったし、もしくは、該空間の拡大／縮小モデルであってもよかった。これはたいへん自然な設定であるが、まだ制限がある。たとえば、工場の提案レイアウトを示すために工場のフロア・プランに描画する場合のように広い領域に壁を描画するために適切な表示スケールは、パーティションのレイアウトを示す場合に自然な表示スケールとは異なるかもしれない。任意の一般的な三次元コンピュータ・モデリング・ツールにおいては、モデルをズームし、周辺をパンすることによって、このような問題は取り扱われている。固定的なモデルを使用する場合であればパンおよびズームは可能であるが、 物理的モデルとバーチャル・モデルとのマッピングは変わってしまうだろう。
【００３９】
このような制限に対処するために、物理的ワークスペースのモデリングされている空間に対するマッピングはユーザによって動的に調整されることができる。たとえば、建造物のモデルをホワイトボードにマッピングすることができ、これにより、建造物は、まず、ホワイトボードの中央に置かれたフロア・プランに位置合わせされる。実際、このようなことを行うために適した方法は、まず、ホワイトボードにフロア・プランを置くこと、すなわち、ホワイトボードにモデルを「ロード」することである。拡張現実表示を使用することにより、ユーザは、ホワイトボードによって工場の外側の壁を見ることができ、上記されたように、内側の壁の配置を示すストロークを描くことができる。マークアップ処理の後、追加された壁は拡張現実表示によって見ることができる。しかしながら、ユーザは、ホワイトボードからすべての描画されたストロークを消去してしまい（もし、存在するならば、プリントされたフロア・プランを除去してしまい）、工場の特定の領域を拡大するためにホワイトボード上の建造物のモデルのマッピングを拡大縮小およびパンするかもしれない。その後、さらなるストロークがパーティションの境界の配置を示すために描画される。
【００４０】
この技術は、二次元作業面に限定されない。たとえば、立体的な書き込み消去可能なホワイトボード（ホワイトボックス（白い箱））を使用することができ、適切なスケールで、モデリングされている空間の任意の直交するコーナーをホワイトボックスのコーナーにマッピングすることができる。（直交する面の内部もしくは外部にマッピングするために、適切なワーク・スペース・ツールを生成してもよい。）ワーク・スペース・ツールのセット３００の例を図３に示す。これによれば、ユーザは、たとえば床を示す一つの面への描画によって、マークアップを描画することができ、壁を示す直交する面にマークアップすることができる。たとえば、床に描画されたマークを押し出すことによって形成されるパーティションの高さを示すために、壁へのマーキングを使用することができる。もしくは、パイプのパスを示すためにワイヤを使用してもよい。
【００４１】
「モデリングにおけるストローク・ベース・マークアップのその他の使用」
モデルにおいて形状の可視要素を記述するのと同様に、ここで記述される技術をモデリングの他の態様のために使用することもできる。他の態様は以下のものを含む。
【００４２】
アニメーション：
描画されたストロークもしくは配置されたワイヤを、挿入されたモデルがアニメーションの進行につれて移動するであろうパスを示すために使用することができる。アニメーションの速度を一様としてもよく、（速度が変動する場合には、）速度の変動を示すためにストロークに目盛が描画されてもよい。オブジェクトは、動きを示すためにストローク、すなわち、配置されたワイヤに沿ってアニメーション化されてもよい。
【００４３】
コマンド：
異なる要素をストロークで囲むことによって該異なる要素のグループを示す、などのために、マークアップ・エンジンへのコマンドとしてストロークを使用してもよい。現実拡張表示とのインタラクティブなセッションにおいて、消去を示すためにストロークを描画してもよい。ストロークは、どの領域を拡大するかを示すため、などのように、モデル表示への物理的ワークスペースの再マッピングを示すためのコマンドとしても有用である。たとえば、ホワイトボード上のストロークは、現在の表示における二点がフロア・プランにマッピングされる場合のマッピング位置を示す描画であってもよい。マッピングの変換が完了すると、ストロークは消去される。
【００４４】
動きの制約：
これらの制約は、オブジェクトの動きに沿ったパス、もしくは、ドアまたは引き出しのようなオブジェクトの動きに限界を有する形態とすることができる。ピン・ジョイントが付加されるべき場所のような、２つのボディの間のジョイント関係を示すために、ストロークを使用することができる。
【００４５】
センサおよびアラーム：
ＶＲＭＬのようなモデリング・システムはセンサの概念を有する。ブラウザにおいて視点（一般には、アバターの位置）が所定の領域に入った場合に、アクションをトリガするために、センサを使用することができる。空間のストロークもしくはワイヤを、該領域を決定するために使用することができる。ビデオ監視システム（たとえば、ＤＯＴＳシステム）によれば、動きもしくは他のアクティビティが検出される領域である「アクティビティ・ホットスポット」を、ユーザが定義することができる。アクティビティ・ホットスポットを、マスクを提供するためにシステムからの画像に注釈を付けることにより定義することができる。本発明の適用は、カメラの一つの視界に配置することによりアクティビティ・ホットスポットを定義するために、ロープなどを使用し、そのパスをシステムに解釈してもらうことである。
【００４６】
「システム概説」
図４は、本発明の実施の形態によるインタラクティブ・バーチャル・コンテンツを提供するシステムの例示的な概観図を示す。基準マーカ４００、骨格マーカ４０１、意味マーカ４０２のようなマーカが検出のために配置される。画像を収集するとき、実施形態のシステムは、配置されたマーカを検出するために、画像４０３および／またはビデオ・フレーム４０４を取得するためにカメラを利用することができる。実施形態のシステムは、画像の中の配置されたマーカを検出し、カメラに対するマーカ各々の相対的な姿勢、すなわち、カメラに対するマーカの相対的な位置および向き、を判断する（４０５）。これは、数学的には、カメラ座標システムにおいて示される点と、マーカ座標システムで示される同一の点と、をマッピングする変換に相当する。これは、任意の移動および回転に相当する６自由度を有する剛体変換である。これは可逆的であり、逆変換はマーカに対するカメラの位置を付与する。空間(world)におけるマーカの姿勢が既知であれば（４０８）、任意の画像において、マーカは明らかに視認可能であり、画像が収集されるときのカメラの位置が決定される。マーカの姿勢が当初未知であるがカメラ姿勢を判断することができる画像においてマーカが検出される場合、マーカの姿勢も判断される（４０６、４０７）。画像のセットが十分付与され、この形態の計算を繰り返すことにより、画像の各々についてマーカ各々の姿勢およびカメラ姿勢を推定することができる。画像セットの姿勢を推定し、マーカが決定される場合、バンドル調整と呼ばれる大域的最適化によって該推定を改善することができる（４０９）。
【００４７】
マーカ各々の姿勢が判断されると、バーチャル・モデルを生成するためにマーカの意味(semantic meaning)をシステムが利用し、利用可能とされる新しいマーカの姿勢にバーチャル・モデルを更新する（４１１）。「マークアップ・ハンドラ」サブシステムは、モデルの部分と関連付けられているマーカに平面をフィットさせ、モデルの部分間の相互関係を解釈することにより、モデルの部分、たとえば、壁、を生成する。たとえば、壁、天井、床の交線を関連付けられている平面を終結するために使用する（４１２）。調整が行われると、最終的なバーチャル・モデルがレンダリングされる（４１３）。
【００４８】
「ストローク検出および処理」
システムのストローク抽出手段が画像のマーキングを検出する。該マーキングは手描きのストローク、視認可能なワイヤ、糸、ロープなどであり、マークアップを制御するために使用されている。この適用について、ストロークの好適な出力表示は、グループ化されたポリラインもしくはストロークの骨格に沿ってパラメータ化された経路である。多くのアプローチを、ストロークを検出するために採用することができる。
【００４９】
アプローチの一つでは、画像を入力とし、ＳＶＧ（スケーラブル・ベクトル・グラフィック）ファイルのようなベクトル形態出力を生成する。このようなアプローチは、ポリラインもしくはスプラインとして、画像から曲線を正確に示すことができる。描画されたストロークの表示は、ストロークの輪郭に沿った一連のスプラインおよびポリラインである。骨格を判断するために、輪郭を後処理することが必要とされる。これに利用することができる骨格化の実装は、パッケージ「計算幾何学アルゴリズム・ライブラリ(CGAL: Computation Geometry Algorithm Library)」によって提供される。
【００５０】
処理の第一歩としてこのようなアプローチを使用し、次にＣＧＡＬを用いた骨格化を行うことの問題は、速度である。この種の処理は、高解像度の画像では多くの時間を必要とする。９２０×７６０画素の画像でも多くの時間を必要とするだろう。本発明のシステムの「ビデオ・モード」において、システムが画像を収集しているとき、ストローク検出サブシステムの結果をユーザが見ることができることが望ましい。これにより、表示が適切であるとき、および、検出されたストロークがユーザの意図に合致するとき、をユーザは知ることができる。
【００５１】
図５はストローク抽出に含まれるステップを示す。この種のよりインタラクティブなシステムの使用をサポートするために、本発明のシステムは一秒間に複数のストロークを処理することができるストローク抽出の一形態を利用する。インタラクティブなバーチャル・コンテンツを提供する基本的なステップが本発明の実施形態により概説される。
【００５２】
図５：
画像をカラーからグレースケールに変換し（５００）、２値白黒画像を取得するためにグレイ画像を閾値処理する（５０１）。カラーからグレースケールへの変換は、与えられたカラーのストロークを強調するためのカラー・フィルタ・ベースであってよい。白黒画像が付与されると、輪郭が検出される（５０２）。輪郭は、画像の連結された要素の周辺に相当する。連結された要素が単に連結されているのではない場合、ストロークの外周に沿ったいくつかの輪郭と、ストロークの「穴」に沿った他の輪郭と、により、輪郭は入れ子であってもよい。
【００５３】
図６：
図５の輪郭収縮ステップおよびフリーマン方向コード(Freeman direction codes)を示す。輪郭は、画素の連鎖として示されてよい。輪郭収縮は輪郭画素を左側に隣接する画素に「押し付ける」。図６は、輪郭６００の部分を上の行に示し、収縮した結果を下の行に示す。これは、輪郭のフリーマン・コード化およびルックアップ・テーブルを用いて迅速に計算されることができる。輪郭の画素の各々について、輪郭の次の画素の位置は考え得る８個の方向６０１の一つである。適切に形成された輪郭については、連続する画素対の各々について、８×７＝５６個の考え得る値の対がある。任意の画素について、入って来るエッジと出て行くエッジとが一致しないからである。
【００５４】
収集された輪郭は骨格化のために処理されることが必要である。これは、インタラクティブなプロセスによって実行されてよい。該インタラクティブなプロセスにおいて、自分自身もしくは他の輪郭を通り抜けることなくさらに収縮することができなくなるまで、輪郭は徐々に「収縮」される。これは、輪郭によって描かれる連結成分領域を「細線化(thinning)」することに相当する。これを効果的に実行するために、輪郭を有向グラフとして示すことができる。該有向グラフは画素に相当するノードと、該輪郭に沿った隣接画素に相当するエッジと、を有する。図６に示されるように、パスに沿った次に隣接する画素への各々の画素からの方向を、考え得る８個の方向の一つとして「フリーマン・チェーン」コード化することができる。
【００５５】
輪郭収縮は、輪郭に沿って移動し、内側に「輪郭を押し込む」ことにより実行されることができる。すなわち、輪郭のノードの各々は輪郭に対し内側にある近傍のノードによって置換される。連結成分の外周輪郭が反時計回りに辿られ、内周輪郭（すなわち、穴）が時計回りに辿られる場合、輪郭を「押し込む」ことは「左に輪郭を押す」ことに相当する。図７に示されるように、ノードに入ってくるエッジおよびノードから出て行くエッジの方向コードにもとづき、ノードの各々について、輪郭を収縮するために該ノードがどのノードと置換されるべきかを示すルックアップ・テーブルを用いることによって、このプロセスを迅速に実行することができる。 
【００５６】
図７は折れ曲がり輪郭を計算するためのルックアップ・テーブル・キー７００を示す。輪郭のノードｎ（画素位置）の各々はノードｎに入ってくるエッジおよびノードｎから出て行くエッジについてのフリーマン・コード・インデックスを有する。ノードｎにおける輪郭を「押し込む」ために、ノードｎが置換されるべき折れ曲がり輪郭のノード・セットを調べるために、これらのインデックスを使用することができる。これらのノードの座標はノードｎの位置に関連して与えられる。このオペレーションを実行することにより、オリジナル輪郭のエッジを収縮輪郭のエッジと効率的に置換する。方向に依存することにより、１つのノードは０個、１個、２個、もしくは３個のノードによって置換されることができる。考え得る５６個の必要とされるルックアップの値の内１４個だけが示されている。対称的に回転することにより、他の４２個は示されているものと等しくなる。ノードが他のノードと同じ位置に移動する場合、これらのノードは「凍結」され、もはや調整されない。この手続は、調整することができるノードがなくなるまで、継続される。輪郭グラフのノードの各々は、２つの入って来るエッジと２つの出て行くエッジとを有し、該エッジの向きは異なる。その後、領域の骨格を決定する無向グラフに、有向グラフを変換してもよい。このグラフを通るパスは、図５に示されるように、領域の骨格である。
【００５７】
輪郭収縮の後のストローク抽出処理の次のステップは、骨格グラフのグラフ還元(graph reduction)である。当初の骨格グラフは骨格の画素の各々についてのノードを有する。骨格に沿ったパスの部分は次数２ (degree two)の多くのエッジを有する。グラフが連続するノードｎ１、ｎ２、ｎ３およびエッジ（ｎ１，ｎ２）、（ｎ２，ｎ３）を有すると仮定する。当初は同相である新しいグラフを、ノードｎ２を除去し、エッジ（ｎ１，ｎ２）および（ｎ２，ｎ３）をエッジ（ｎ１，ｎ３）と置き換えることにより生成することができる。画像における実際のパスについての情報を保存するために、このグラフのエッジは実際の画素のパスによって増強される。該実際の画素のパスは、ｎ１からｎ２までの画素のパスとｎ２からｎ３までの画素のパスとを連結したものである。グラフの還元はグラフの位相的な特性を保存し、よりシンプルな等価グラフを導くことができる。ストローク検出の連結成分処理部分の出力は、連結成分の各々の還元されたグラフである。該グラフは成分のサブ・パス全体に相当する該グラフのエッジを有する。単一の明確にカーブしたストロークは、２つのノードと該ノードをつなぐ単一のエッジだけを有するグラフとして示される。画素のすべてを含む骨格に沿ったパスの全体に相当するデータによって、エッジはラベル付けされる。このシーケンスは、かなり少ないセグメントを有するポリラインによって近似されることができ、該セグメントはパスに付与された距離閾値の中にある。
【００５８】
骨格化のための様々な方法を使用することができる。たとえば、一つのよいアプローチは上記した「細線化および境界伝搬(thinning and boundary propagation)」アプローチである。形態論などのようなアプローチと比較した場合のこのアルゴリズムの一つの長所は、輪郭に選択的に適用することができることである。ストロークの考え得る候補としての可能性によって、適用される輪郭を予め選択することができる。限界厚さｗを有するストロークは、その連結された領域の総面積がｗ＊Ｌ／２よりあまり大きくない特性を有するべきである。ここで、Ｌは周囲輪郭の長さである。
【００５９】
ストローク抽出の最終レベルのオプションはグループ化である。有用であるかもしれない２つのタイプのグループ化がある。一つは連結された成分の内部でのグループ化であり、もう一つは複数の連結された成分にわたるグループ化である。連結された成分の内部で、骨格グラフのエッジの各々は骨格のセグメントを示す。しかしながら、一般的に一つの連結された成分内でセグメントをグループ化することは有用である。たとえば、短い交差する目盛を有する長いストロークが与えられた場合、該ストロークの長さ方向に沿ってエッジのすべてを単一のパスとしてグループ化することは好適である。これは、グラフで最も長いパスを検出し、すべての他のストロークが短いか否かを判断することにより、実行することができる。さらに、近傍およびストロークの方向にもとづいて、ストロークは複数の連結された成分にわたってグループ化されてもよい。これによれば、破線や点線などを一つのストロークとして扱うことができる。
【００６０】
「複数の画像および時間にわたるストークの処理」
上記のストローク処理は画像の各々に適用される。適用のいくつかについては、ストロークは単一の画像に有意に使用されることができる。しかしながら、適用の多くについては、複数の画像にわたってストロークをグループ化することが必要となる。空間(world)に描画されるストロークおよび第１の画像への該ストロークの投影について考える。同一のストロークは、異なる位置から撮影される第２の画像において異なる外観を有するだろう。実際、画像の各々が複数のストロークを表示するならば、一つの画像のどのストロークが第２の画像のどのストロークに相当するか不明確となる可能性がある。
【００６１】
システムがこの問題を扱うことができ、ストロークの対応を明確にすることができる２つの方法がある。たとえおおよそであっても、空間(world)のストロークの実際の形状が既知であるならば、該形状は既知の姿勢を有する任意の画像に投影され、該画像において検出される近傍のストロークと比較されることができる。投影されたストロークと画像において検出された最近傍のストロークとの間のハウスドルフ距離が小さいならば、該空間(world space)において、検出されたストロークは投影されたストロークに相当するものとされる。したがって、空間(world)のストロークに相当する任意の他の画像のストロークに、該投影されたストロークは相当する。
【００６２】
ストロークの対応を明確にするためのもう一つの方法は、空間(world)においてストロークの形状のおおよその推定さえ不明である場合に、近傍の画像を比較することである。本発明のシステムは静止画像およびビデオ入力の双方をサポートする。カメラが移動する場合、ビデオの連続するフレームが対応するカメラの姿勢はたいへん類似する。一つの画像の検出されたストロークと他の画像における検出されたストロークとを比較するためにハウスドルフ距離を使用することができる。ストロークの対応がこれにより明確になると、次のセクションで説明される方法を空間(world)における実際のストロークのパスを推定するために使用することができる。時間にわたるストロークの時間的な態様はストロークの描画もしくは消去を捕捉するビデオである。
【００６３】
多くの適用について、画像内で全体的に可視であるストロークを考えることが望ましい。しかしながら、いくつかの場合、画像はストロークの部分しか示さず、実際、ストロークはいずれか一つの画像においても全体的に可視ではないかもしれない。しかしながら、姿勢を有する十分な数の画像セットがストロークの異なる位置を示すために収集される場合、ストロークの全体は異なる画像において見られる異なる位置の推定を結び付けることにより再構築することができる。
【００６４】
「ストロークの三次元処理」
画像からのストロークは単一の実数値によってパラメータ化されている画像のパスである。おおよそマークアップの目的で、空間(world)におけるストロークの実際の三次元パスを判断する必要がある。この最もシンプルなケースは、既知の方向の平面にパスが描画される場合である。たとえば、ホワイトボードもしくはフロア・プランなどのような平面に描画されたスケッチのストロークのケースがある。この場合、マーカもしくは他の手段をカメラに対する面の位置を知るために使用してもよい。画像のストロークに沿った点を平面に投影するために簡単な処理が実行される。該面には、ストロークが描画される、もしくは、配置されることが既知である。画像のストロークの点の各々が、画像面を通って投影のカメラ中心から出て行く射線に対応する。ストロークが描画される面と該面との交差がストロークの対応する三次元の点を付与する。
【００６５】
ストロークが非平面であれば、もしくは、ストロークがある面の向きが既知でない場合、ストロークの三次元パスを、三角測量と同様の方法で、エピポーラ幾何学を用いて判断することができる。まず、既知の姿勢で撮影された２つの画像において見ることができる空間(world)の点を考える。一つの画像で見ることができる点について、該画像の同一の点に投影する空間(world)の点の射線全体がある。他の画像において見ることができる同一の点は、同様に、他の射線に対応する。射線の交差（もしくは、いくらかノイズがあり射線が交差しない場合交点の最近傍）が空間(world)における点の推定である。しかしながら、この三角測量は２つの画像において見ることができる複数の点の対応が既知であることを必要とする。もし、双方の画像においてパス全体が可視であればどうであろうか。点は１つの画像におけるパスに沿って選択されるかもしれないが、システムは対応する他の画像におけるパスに沿った点を判断しなければならない。これは、第２の画像において、第１の点のエピポーラ線を描画し、該エピポーラ線がパスと交差する位置を見ることによって行うことができる。すなわち、第１の画像において見ることができる点にすべてが対応する空間(world)の点の射線が線（いわゆる、エピポーラ線）として第２の画像に出現する。該線は第２の画像において見ることができるパスと交差しなければならない。交点は対応する点を付与する。空間点(world point)を決定するために三角測量を使用することができる。これによれば、第１の画像において見ることができるパスに沿った点のサンプリングを第２の画像において見ることができるパスに沿った点と合わせ、三次元空間(world space)におけるパスの実際の形状を判断するために対の各々は三角法で計測されることができる。この方法は、ある場合適切に機能しない。第１の画像において見ることができるパスの一点について、エピポーラ線が複数の点において第２のパスと交差すると仮定する。さらに悪いことに、第２の画像において見ることができる曲線の部分はエピポーラ線と一致するかもしれない。これは、該点に対応することができる第２の画像におけるパス上の点の全体集合があることを意味する。このような不明確さは他の位置から撮影した画像を使用することによって回避することができる。
【００６６】
ワイヤの三次元パスを捕捉する代替的な方法が、本発明の他の実施形態について適切であるかもしれない。その方法は、ワイヤの単一の画像を必要とし、非特許文献１に記述されているように、ワイヤが一定の幅の矛盾のない円形の横断面を有するという仮定にもとづく。シェープテープ(shape tape)と呼ばれる他の関連技術は、平らなストリップ(flat strip)の三次元形状を提供することができる。
【００６７】
「ストローク分類およびラベリング」
ストロークが画像から抽出され、グラフとして示されると、マークアップ解釈の前の低レベル処理の最終ステップである分類およびラベリングが行われる。これは、システムによってストロークが使用されるべきか否かを判断することを含み、使用されるべきであれば、どのように使用されるべきかを判断することを含む。画像の多くのストロークはワークスペースの単なる「バックグランド・ノイズ」の部分であり、無視されるべきである。ストロークの種類は以下のとおりである。
【００６８】
ノイズ：これらのストロークはワークスペースにもともと存在する線もしくはテクスチャから生じるか、もしくは焦点および自動利得調整などによりカメラの動きに伴なうノイズ(artifact)として生じる。
ラベル：ラベルは固定された少ない語彙もしくは記号セットによって生成される。
ラベルを「壁１」のようなマーカのタイプもしくはグループを示すために使用することができる。ラベルは既存の手描き認識技術によって解読することができる。
注釈：注釈は、ユーザがマークアップ作業を記録することを望む文字もしくは描画である。注釈はシステムによって記録され、インタフェースを利用することができるが、システムによりストロークの解釈には利用はされない。
幾何学的修飾：これらは、色もしくはテクスチャのサンプリングの使用について範囲を示すマーカの近傍のマーキングである。
曲線記述：これらは、押出についてパスを定義するタスクなどを支援するために、幾何学的曲線を示す描画されたパスである。
コマンド・シンボル：これらのストロークは、「押出を挿入」、「この領域のモデル要素をすべて削除」、「これらの要素をグループ化」、「処理を開始」などの、システムに対するコマンドを示す。ストロークのいくつかは、コマンドおよび曲線記述の双方であってもよい。
【００６９】
いくつかの方法が所望されないノイズ・ストロークを排斥し、有意なストロークを分類するために使用されることができる。それらの方法は以下を含む。
隣接マーカ：ストロークの近傍のマーカはストロークの意味を定義し、あるいは、変更することを支援する。隣接マーカは、それがどのように使用されるか（たとえば、突出のベースを決める、もしくは、ストロークを「消去」し、ポリラインもしくはスプラインで該ストロークを置換するか否か）を示してもよい。
色：区別可能な色をユーザ描画ストロークとノイズとを区別するために使用することができる。色はストロークのタイプを分類するために使用されてもよい。
意味領域：一つもしくは複数のマーカに対してアクティブ領域を定義してもよい。たとえば、マーカは「ラベル領域」および「コメント注釈領域」を有してもよい。さらに、マーカ・セットをすべてのストロークが曲線記述であると解釈される作業領域を定義するために、すなわち、押出もしくはアニメーション・パスを定義するために、使用してもよい。
ストロークの内因特性：ストローク自身の実際の特性は複数のストローク・タイプを区別するために使用することができる。たとえば、図８に示されるように、交差する目盛８０１を有するストロークは、ユニット・セルの複製を示し、矢印８０２はアニメーション・パスを示す、などであってよい。検出されたストロークを示すためにグラフを使用することはこの処理を単純化する。たとえば、単純で平滑なパス８００は次数１(degree 1)の２つのノードを有し、単一のエッジを有するグラフを生成する。目盛は、長さが短いエッジとして見ることができ、次数１のノードと次数３もしくは次数４のノードとの連結である。
描画シンボル：ストロークのいくつかはシンボルとして解釈され、他のストロークの意味を修飾するために使用することができる。シンボルであるストロークの判断を単純化するために、該シンボルはボックスで囲まれていることを必要とされてもよい。
【００７０】
システムのゴールは、できる限り、ユーザが物理的空間で操作することができるようにすることであるが、代替として、グラフィカル・ユーザ・インタフェースによってユーザがストロークの解釈を制御することができてもよい。システムの態様の一つにおいては、マークアップは処理されず、ユーザが明示的にマークアップのハンドリングをトリガするまで、システムの状態を変更するために使用される。これは、インタフェースのボタンによってなされるが、Ｘを含むボックスのようなシンボルを描画することによってなされてもよい。システムはストロークの解釈を誤ることがあるかもしれず、ユーザは生成したマークアップを変更することを所望するかもしれないので、システムは「取り消し」操作をサポートする。
【００７１】
「ストローク・ベース・マークアップ処理」
本発明の実施態様のベースラインとして供されるマークアップ・システムを利用することによって、マーカを含むマークアップ言語を使用して、モデルが生成され、操作される。マーカは空間的言語の「ワード」として捉えることができ、マーカのコレクションはモデルを定義する「センテンス」として動作する。マーカはＱＲコードを含み、マーカに関連付けられているメタデータ、すなわち、マーカの意味、をユーザが理解することを支援する。これらの修飾は、ＱＲコードの近傍にある、「壁」のような、ラベルであってもよいし、実際のＱＲコードから離れている関連する点である「アクティビティ・ホットスポット」を指し示す矢印であってもよい。ベースライン・システムにおいて、マーカのタイプのための修飾は固定され予めプリントされている。
【００７２】
本発明のシステムは、モデルを定義するために「マークアップ言語」をサポートする同一のフレームワークにしたがうが、言語の一部として自由形状手描きストロークを含むためにフレームワークを拡張する。さらにマーカが使用されてもよい。マーカは幾何学を詳細に決定するために特に有用である。しかしながら、ストロークはマーカを増強するために使用されてもよく、ある場合には、マーカを置換するために使用されてもよい。
【００７３】
「マーカの拡張」
ベースライン・システムを実際に使用する場合において、通常発生するような不便さを解消するために、正しいラベルおよび関連するメタデータを有する適切なマーカが生成される。たとえば、図９に示されるように、ドアの角にラベルを付加しようとした際に、マーカの中心からある距離離れた「ホットスポット」を用いることが望ましいことが多く、ホットスポット９００を示すために、マーカに矢印がプリントされる。ここに記述された技術によれば、マーカの近傍もしくはマーカがプリントされたカードに矢印を描画することにより、こうしたメタデータを必要に応じて生成することができる。たとえば、図９に示されるように、ユーザはラベルを書いて、ホットスポット９００への矢印を描画することができる。マーカが適用されると、拡大画像が取得され、ストロークへの処理がメタデータのタイプおよびホットスポットの双方を示すために使用することができる。
【００７４】
ストロークを、マーカ・セットを拡張するために使用することができ、この拡張は必要とされるマーカの数を低減させられる。壁のカーブした部分のベース形状を定義する場合のような、カーブの使用を要求する適用に、これは、特に有用である。ベースライン・システムは、カーブの形状を近似するために、スプライン上の制御点を決定するために、マーカ・セットを使用してこれを行ってもよい。自由形状ストローク（もしくはワイヤ）を使用した描画ストロークによって拡張された単一のマーカを使用することができる。
【００７５】
マーカ拡張としての描画ストロークの別の利用は、マークアップの間に生じることを記述するコメントを有するマーカに単に注釈を付けることである。
【００７６】
「プリントされたマーカの代替としてのストローク」
マーカもしくはマーカ・セットを拡張することに加えて、マーカの代替としてストロークを使用することができる。考え得る多くの空間的言語を手描きストロークの解釈のために定義することができるが、具体化するために、プリントされたマーカにもとづいてこのスキームを使用することができる。ＱＲコードを有する矩形のマーカに替えて、ユーザはシンボルを描くことができる。ボックスのタイプが下部に描かれてよく、ラベルおよび考え得るコメントを示すラインが描画される。先の例などで、マーカに関連する一つもしくは複数のホットスポットを示すさらなる修飾をボックスの近傍に描画することができる。図１０は、円筒を定義するための完全に自由形状であるマークアップ１０００の例を示す。手描きの矩形および下線は検出が比較的容易である。下部のラベルは手描き認識システムによって処理されることができる。コメントはシステムによって解釈される必要はないが、注釈のためにビットマップとして維持されてもよい。ベースの曲線を描画することにより明示的に定義するのではなく、ベースの３以上の点を付与することにより円筒が暗示的に定義される。  
【００７７】
図１１はインタラクティブ・バーチャル・コンテンツを提供するシステムによって利用されるストロークおよびマークアップ処理の例を示す。先に記述された適用例のいくつかにおいて、ストロークが投影されるべき平面および囲んでいる多角形のような、マークアップ・ハンドリング・サブシステムからの情報を、二次元ストローク・データからバーチャル・モデルを生成するために使用した。先に記述されたように、ストローク処理は、ストロークをグレースケールに変換し、白黒１１００に変換するために画像を閾値処理することを含んでもよい。ストロークの輪郭が識別され（１１０１）、輪郭収縮が行われ（１１０２）、グラフが生成される（１１０３）。次に、グラフ還元を適用することができる（１１０４）。マークアップ・ハンドリングは処理された多角形に最適なフレームを検出し（１１０５）、平面に点を投影することを含む（１１０６）。ストロークのタイプを投影された点から判断することができ（１１０７）、バーチャル・モデルを判断されたストロークのタイプによってレンダリングすることができる（１１０８）。
【００７８】
図１２はシステムを実装することができる機能図の例を示す。カメラ１２００はマークアップを有する物理的ワークスペース１２０１に向けられ、ライブ映像をコンピュータ・システム１２０２に送信する。ストローク抽出ユニット１２０３は自由形状マークアップおよびストロークについてライブ映像を処理する。ライブ映像から処理された自由形状マークアップおよびストロークは、バーチャル・モデルを構築するために解釈を行うストローク処理ユニット１２０４に送信される。バーチャル・モデリング・ユニット１２０５は自由形状マークアップの解釈にもとづいてバーチャル・モデルを生成する。次に、バーチャル・モデルはディスプレイ１２０６に送信される。
【００７９】
図１３は、本発明の実施形態のフローチャートの例を示す。本発明の実施形態の一つにおいて、システムは物理的ワークスペースのカメラからライブ映像を受信する（１３００）。次に、物理的ワークスペースにおける物理的自由形状マークアップを識別するために、ライブ映像を処理する（１３０１）。物理的自由形状マークアップを検出すると、バーチャル・モデルはマークアップにもとづいてレンダリングされ（１３０２）、ユーザのためにディスプレイに表示される（１３０３）。
【００８０】
図１４は、本発明のシステムを実装することができるコンピュータ・プラットフォームの例示的な実施形態を示す。
【００８１】
図１４は、本発明の方法を実装することができるコンピュータ／サーバ・システム１４００の実施形態を示すブロック図である。システム１４００は、コンピュータ／サーバ・プラットフォーム１４０１、周辺デバイス１４０２、ネットワーク・リソース１４０３を含む。
【００８２】
コンピュータ・プラットフォーム１４０１は、データ・バス１４０４もしくはコンピュータ・プラットフォーム１４０１の様々な部分にわたって、および、様々な部分の間で情報を通信する他の通信機構、情報を処理し他の計算タスクおよび制御タスクを実行するためにデータ・バス１４０４に接続されているプロセッサ（ＣＰＵ）１４０５を含むことができる。コンピュータ・プラットフォーム１４０１は、様々な情報やプロセッサ１４０５によって実行されるべき命令を記憶するためにデータ・バス１４０４に接続されているランダム・アクセス・メモリ（ＲＡＭ）や他のダイナミック記憶デバイスのような揮発性記憶手段１４０６も含む。揮発性記憶手段１４０６は、プロセッサ１４０５によって命令が実行される間、一時的な変数や他の中間情報を記憶するためにも使用されてよい。コンピュータ・プラットフォーム１４０１は、さらに、様々なシステム構成パラメータや基本入出力システム（ＢＩＯＳ）のようなスタティックな情報やプロセッサ１４０５への命令を記憶するために、データ・バス１４０４に接続されているリード・オンリー・メモリ（ＲＯＭもしくはＥＰＲＯＭ）１４０７も含む。磁気ディスク、光ディスク、固体フラッシュ・メモリ・デバイスのような永続記憶手段１４０８が提供され、情報および命令を記憶するためにデータ・バス１４０４に接続されている。
【００８３】
コンピュータ・プラットフォーム１４０１は、陰極線管（ＣＲＴ）、プラズマ・ディスプレイ、液晶ディスプレイ（ＬＣＤ）などのディスプレイ１４０９に、コンピュータ・プラットフォーム１４０１のシステム管理者もしくはユーザに情報を表示するために、データ・バス１４０４を介して接続されていてもよい。英数字および他のキーを含むキーボードのような入力デバイス１４１０が、情報および命令の選択をプロセッサ１４０５に通信するために、データ・バス１４０４に接続されている。ユーザ入力デバイスの他のタイプは、方向情報および命令の選択をプロセッサ１４０５に通信し、ディスプレイ１４０９上のカーソル移動を制御するマウス、トラックボール、カーソル方向キーなどのカーソル制御デバイス１４１１である。一般に、入力デバイスは第一の軸（たとえば、ｘ軸）および第二の軸（たとえば、ｙ軸）の２つの軸で２の自由度を有し、これにより、デバイスは平面の位置を特定することができる。
【００８４】
外部記憶手段１４１２が、コンピュータ・プラットフォーム１４０１に追加の、もしくは、脱着可能な記憶容量を提供するために、データ・バス１４０４を介して、コンピュータ・プラットフォーム１４０１に接続されていてもよい。コンピュータ・システム１４００の実施形態において、外部脱着可能記憶手段１４１２は他のコンピュータ・システムとのデータの交換を容易にする。
【００８５】
本発明は、ここで記述される技術を実装するコンピュータ・システム１４００の使用に関する。該実施形態において、本発明のシステムはコンピュータ・プラットフォーム１４０１のようなマシンに含まれていてもよい。本発明の実施形態の一つによれば、ここで記述される技術は、揮発性メモリ（記憶手段）１４０６に含まれる一つもしくは複数の命令の一つもしくは複数のシーケンスを実行するプロセッサ１４０５に応じて、コンピュータ１４００によって実行される。そのような命令は、永続記憶手段１４０８のような他のコンピュータ可読媒体から揮発性メモリ１４０６に読み込まれてもよい。揮発性メモリ１４０６に含まれる命令のシーケンスの実行により、プロセッサ１４０５はここで記述された処理ステップを実行する。代替的な実施形態において、本発明を実装するために、ソフトウェア命令に替えてもしくはソフトウェア命令と組み合わせて、ハード・ワイヤード電気回路を使用してもよい。このように、本発明の実施形態は特定のハードウェア回路およびソフトウェアに限定されるものではない。
【００８６】
ここで使用される用語「コンピュータ可読媒体」は実行のためにプロセッサ１４０５に命令を提供する任意の媒体であってよい。コンピュータ可読媒体は、ここで記述される方法および／または技術を実装するために命令を搬送するマシン可読媒体の一例に過ぎない。このような媒体は不揮発性媒体、揮発性媒体など多くの形態を採ってよいが、これらに限定されるものではない。不揮発性媒体は、たとえば、記憶手段１４０８のような光ディスクもしくは磁気ディスクを含む。不揮発性記憶媒体は揮発性記憶手段１４０６のようなダイナミック・メモリを含む、
【００８７】
コンピュータ可読媒体の一般的な形態は、たとば、フロッピー（登録商標）・ディスク、フレキシブル・ディスク、ハード・ディスク、磁気テープもしくは、任意の他の磁気媒体、ＣＤ−ＲＯＭ、任意の他の光媒体、パンチカード、紙テープなどのパターンや穴を有する他の物理的記憶媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、フラッシュＥＰＲＯＭ、フラッシュ・ドライブ、メモリ・カード、他の任意のメモリ・チップ、もしくは、カートリッジ、もしくは、コンピュータが読むことができる他の媒体であってよい。
【００８８】
様々な形態のコンピュータ可読メディアが、実行のためにプロセッサ１４０５に一つもしくは複数の命令の一つもしくは複数のシーケンスを搬送するために含まれてよい。たとえば、命令は、最初、遠隔コンピュータから磁気ディスクに搬送される。代替的に、遠隔コンピュータは、自身のダイナミック・メモリに命令をロードし、モデムを使用して、電話線を介して、命令を送信することができる。コンピュータ・システムのローカルなモデムは、電話線上のデータを受信し、データを赤外線信号に変換するために赤外線トランスミッタを使用することができる。赤外線検出手段は、赤外線信号で搬送されたデータを受信し、データ・バス１４０４上にデータを置くことができる。データ・バス１４０４は揮発性記憶手段１４０６にデータを搬送し、プロセッサ１４０５は揮発性記憶手段１４０６から命令を取り出し、実行する。揮発性メモリ１４０６から受信された命令は、プロセッサ１４０５による実行の前もしくは後のいずれかに、揮発性記憶手段１４０８に記憶されてもよい。命令は、当該技術分野において周知の様々なネットワーク・データ通信プロトコルを使用して、インターネットを介して、コンピュータ・プラットフォームにダウンロードされてもよい。
【００８９】
コンピュータ・プラットフォーム１４０１は、データ・バス１４０４に接続されているネットワーク・インタフェース・カード１４１３のような通信インタフェースも含んでよい。通信インタフェース１４１３はネットワーク・リンク１４１４を介してローカル・エリア・ネットワーク１４１５に接続され、双方向データ通信を提供する。たとえば、通信インタフェース１４１３は、対応するタイプの電話線にデータ通信接続を提供するＩＳＤＮ(Integrated Services Digital Network)カードもしくはモデムであってよい。他の例として、通信インタフェース１４１３は互換性のあるＬＡＮにデータ通信接続を提供するローカル・エリア・ネットワーク・インタフェース・カード(LAN NIC)であってよい。周知の８０２．１１ａ、８０２．１１ｂ、ブルートゥースのようなワイヤレス・リンクがネットワークの実装に使用されてもよい。任意の実装において、通信インタフェース１４１３は、様々なタイプの情報を示すデジタル・データ・ストリームを搬送する電気信号、電磁信号、光信号などを送信し、受信する。
【００９０】
ネットワーク・リンク１４１４は、一般に、一つもしくは複数のネットワークを介した他のネットワーク・リソースへのデータ通信を提供する。たとえば、ネットワーク・リンク１４１４はローカル・エリア・ネットワーク１４１５を介したホスト・コンピュータ・１４１６、もしくは、ネットワーク記憶手段／ネットワーク・サーバ１４２２への通信を提供する。さらに、または、代替的に、ネットワーク・リンク１４１４は、ゲートウェイ／ファイアウォール１４１７を介してインターネットのようなワイド・エリア・ネットワークもしくはグローバル・ネットワーク１４１８へ接続してもよい。コンピュータ・プラットフォーム１４０１は遠隔のネットワーク記憶手段／ネットワーク・サーバ１４１９などのような、インターネット１４１８のどこかに配置されているネットワーク・リソースにアクセスすることができる。一方、コンピュータ・プラットフォーム１４０１は、ローカル・エリア・ネットワーク１４１５および／もしくはインターネット１４１８のどこかに配置されているクライアントによってアクセスされてもよい。ネットワーク・クライアント１４２０および１４２１はプラットフォーム１４０１と同様のコンピュータ・プラットフォームに実装されていてもよい。
【００９１】
ローカル・エリア・ネットワーク１４１５およびインターネット１４１８は双方ともデジタル・データ・ストリームを搬送する電気信号、電磁信号、光信号を使用する。コンピュータ・プラットフォーム１４０１へ、もしくは、コンピュータ・プラットフォーム１４０１からのデジタル・データを搬送する様々なネットワークを介した信号、ネットワーク・リンク１４１４上の信号、通信インタフェース１４１３を介した信号は、例示的には、情報を搬送する搬送波の形態であってもよい。
【００９２】
コンピュータ・プラットフォーム１４０１は、インターネット１４１８およびＬＡＮ１４１５を含む様々なネットワーク、ネットワーク・リンク１４１４、通信インタフェース１４１３を介してメッセージを送信し、プログラム・コードを含むデータを受信することができる。インターネットの例では、システム（コンピュータ・プラットフォーム）１４０１はネットワーク・サーバとして動作し、インターネット１４１８、ゲートウェイ／ファイアウォール１４１７、ローカル・エリア・ネットワーク１４１５、通信インタフェース１４１３を介して、クライアント１４２０および／または１４２１の上で実行されるアプリケーション・プログラムの要求されたコードもしくはデータを送信するかもしれない。同様に、コンピュータ・プラットフォーム１４０１は他のネットワーク・リソースからコードを受信してもよい。
【００９３】
受信したコードは、受信した状態のまま、プロセッサ１４０５によって実行されてもよいし、その後の実行のために永続記憶手段１４０８、揮発性記憶手段１４０６、もしくは他の不揮発性記憶手段に記憶されてもよい。
【００９４】
本発明は、特定のファイアウォールに限定されるものではない。本発明のポリシー・ベース・コンテンツ処理システムは３つのファイアウォール・オペレーティング・モード、詳細には、ＮＡＴ、ルーティング、トランスペアレント、のいずれかで使用されてもよい。
【００９５】
最後に、ここで記述された処理および技術は特定の装置に固有に関係するものではなく、要素の適切な組み合わせによって実装することができる。様々なタイプの汎用目的デバイスが、ここで記述されている教示にしたがって使用されてもよい。ここで記述された方法ステップを実行するために、特定目的装置を構築することも有効である。本発明は特定の例に関連して記述されているが、これらは例示を目的としており、本発明を制限することを意図するものではない。ハードウェア、ソフトウェアおよびファームウェアの多くの異なる組み合わせが本発明を実行するために使用されてよい。たとえば、記述されたソフトウェアは、アセンブラ、C/C++、Perl、シェル・スクリプト、Java（登録商標）などの様々なプログラム言語、スクリプト言語で実装されてよい。
【００９６】
ここで記述された発明の仕様および実用を検討することによって、当業者は本発明の他の実装を行うことができる。物理的自由形状マークアップの機械解析にもとづいてインタラクティブ・バーチャル・コンテンツを生成するために、記述された実施形態の様々な態様および／もしくは要素は単一でもしくは組み合わせで、システムにおいて使用されてもよい。本発明の真の範囲は特許請求の範囲に示され、以上の例を含む記述は例示である。
【図１】
2011221980.tif 000003
【図２】
2011221980.tif 000004
【図３】
2011221980.tif 000005
【図４】
2011221980.tif 000006
【図５】
2011221980.tif 000007
【図６】
2011221980.tif 000008
【図７】
2011221980.tif 000009
【図８】
2011221980.tif 000010
【図９】
2011221980.tif 000011
【図１０】
2011221980.tif 000012
【図１１】
2011221980.tif 000013
【図１２】
2011221980.tif 000014
【図１３】
2011221980.tif 000015
【図１４】
2011221980.tif 000016