(57)【要約】【課題】  複合現実感空間での作業を再生可能に記録、再生することは行われていなかった。【解決手段】  現実空間を撮影して得られる現実空間画像に、仮想物体の画像を合成して複合現実空間画像を生成する。また、複合現実空間画像を観察する作業者の身体の一部の位置姿勢情報を検出し、複合現実空間画像と、作業者の位置姿勢情報と、時刻情報とを対応付けて記録装置に蓄積する。【選択図】  図３
2005260724.tif 000002
【特許請求の範囲】
【請求項１】
現実空間を撮影して得られる現実空間画像に、仮想物体の画像を合成して複合現実空間画像を生成する画像合成工程と、
前記複合現実空間画像を観察する作業者の身体の一部の位置姿勢情報を検出する位置姿勢検出工程と、
前記複合現実空間画像と、前記位置姿勢情報と、時刻情報とを対応付けて記録装置に蓄積する蓄積工程とを有することを特徴とする記録方法。
【請求項２】
現実空間を撮影して得られる現実空間画像に、仮想物体の画像を合成して得られる複合現実空間画像と、前記複合現実空間画像を観察した作業者の身体の一部の位置姿勢情報と、時刻情報とが対応付けられて記録された記録装置から、前記複合現実空間画像、前記位置姿勢情報及び前記時刻情報を再生表示する再生方法であって、
前記記録装置に記録された前記複合現実空間画像と前記位置姿勢情報とを、前記時刻情報に基づいて再生表示する再生工程とを有することを特徴とする再生方法。
【請求項３】
前記再生工程が、再生画面を通じて前記再生を行うと共に、
前記再生画面が、前記時刻情報を表示する時刻表示領域と、前記時刻表示領域に表示される時刻情報に対応付けされた前記複合現実空間画像を表示するための動画表示領域と、前記時刻表示領域に表示される時刻情報に対応付けされた前記位置姿勢情報を表示する位置姿勢情報表示領域とを有することを特徴とする請求項２記載の再生方法。
【請求項４】
前記再生工程が、前記位置姿勢情報表示領域に、前記位置姿勢情報に含まれる３次元座標を３次元的な軌跡として表示するとともに、
前記軌跡を構成する任意の点の選択が検出された場合、当該選択された点に対応する前記位置姿勢情報と同じ前記時刻情報に対応付けされた前記複合現実空間画像を前記動画再生領域に表示することを特徴とする請求項３記載の再生方法。
【請求項５】
現実空間を撮影して得られる現実空間画像に、仮想物体の画像を合成して複合現実空間画像を生成する画像合成手段と、
前記複合現実空間画像を観察する作業者の身体の一部の位置姿勢情報を検出する位置姿勢検出手段と、
前記複合現実空間画像と、前記作業者の位置姿勢情報と、時刻情報とを対応付けて記録装置に蓄積する蓄積手段とを有することを特徴とする記録装置。
【請求項６】
現実空間を撮影して得られる現実空間画像に、仮想物体の画像を合成して得られる複合現実空間画像と、前記複合現実空間画像を観察した作業者の身体の一部の位置姿勢情報と、時刻情報とが対応付けられて記録された記録手段と、
前記蓄積手段に記録された前記複合現実空間画像と前記位置姿勢情報とを、前記時刻情報に基づいて再生する再生手段とを有することを特徴とする再生装置。
【請求項７】
前記再生手段が、再生画面を通じて前記再生を行うと共に、
前記再生画面が、前記時刻情報を表示する時刻表示領域と、前記時刻表示領域に表示される時刻情報に対応付けされた前記複合現実空間画像を表示するための動画表示領域と、前記時刻表示領域に表示される時刻情報に対応付けされた前記位置姿勢情報を表示する位置姿勢情報表示領域とを有することを特徴とする請求項６記載の再生装置。
【請求項８】
前記再生手段が、前記位置姿勢情報表示領域に、前記位置姿勢情報に含まれる３次元座標を３次元的な軌跡として表示するとともに、
前記軌跡を構成する任意の点の選択が検出された場合、当該選択された点に対応する前記位置姿勢情報と同じ前記時刻情報に対応付けされた前記複合現実空間画像を前記動画再生領域に表示することを特徴とする請求項７記載の再生装置。
【請求項９】
請求項１に記載の記録方法と、請求項２乃至請求項４のいずれか１項に記載の再生方法の少なくとも一方をコンピュータに実行させるプログラム。
【請求項１０】
請求項９記載のプログラムを格納したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録装置及び方法並びに再生装置及び方法に関し、特に複合現実空間内の作業者の動作を記録、再生するための装置及び方法に関する。
【背景技術】
【０００２】
近年、現実世界と仮想世界の継ぎ目のない融合を目指した複合現実感（Mixed Reality：ＭＲ）に関する技術開発が盛んになっている。ＭＲは、従来、現実空間と切り離された状況でのみ体験可能であったバーチャルリアリティ（Virtual Reality：ＶＲ）の世界と、現実の世界（現実空間）との共存を目的とし、ＶＲを増強する技術として注目されている。
【０００３】
複合現実感を観察者に提示するための装置として代表的な物は、頭部装着型装置（ＨＭＤ：Head Mounted Display）である。ＨＭＤには大きく分けてビデオシースルータイプと光学シースルータイプのＨＭＤが存在する。前者は不透明な（通常の）表示デバイスを用い、ビデオカメラで取得した実写画像（現実空間画像）と、通常コンピュータグラフィックス（ＣＧ）で生成する仮想空間画像と合成した複合現実空間画像を表示デバイスに表示することで、観察者に複合現実感を与える。一方、後者は半透明の表示デバイスを用い、現実空間は表示デバイスを透して観察者が直接観察し、仮想空間画像のみを表示デバイスに表示して、観察者に複合現実感を与える。光学シースルータイプのＨＭＤを用いた複合現実感の提示方法をエアホッケーゲームに適用した例が、例えば特許文献１に開示されている。
【０００４】
【特許文献１】特開平１１−８４３０７号公報
【特許文献２】特開２００１−３００１３１号公報
【非特許文献１】D. Reiners, D. Stricker, G. Klinker, and S. Muller, "Augmented Reality for Construction Tasks: Doorlock Assembly", In Proc. of IWAR'98, A K Peters, Ltd., pp31-46, (1999)
【非特許文献２】G. Klinker, O. Creighton, A. H. Dutoit, R. Kobylinski, C. Vilsmeier, and B. Brugge, "Augmented maintenamce of powerplants: A prototyping case study of a mobile AR system", In. Proc. of ISAR'01, pp124-132 (2001)
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＭＲ技術が有用な分野の１つに作業支援がある。これには、例えば工場において製品の組立手順を仮想空間画像として実際の製品（部品）に重ねて表示する作業補助などが含まれる。このような分野への応用を研究した例として、例えば、非特許文献１では、３Ｄ（三次元）ＣＡＤデータを用いて自動車組立作業者の訓練を目的とした応用例が、また非特許文献２では、原子力発電所の保守のための応用例が報告されている。
【０００６】
ただし、これら文献に記載される例は、あくまでリアルタイムで作業を支援するものであり、実際に行った作業及び作業時のユーザの動作など、作業に関連するデータを蓄積したり、例えば検討のため等に、蓄積したデータを再生するようなシステムは存在しなかった。
【０００７】
一方、特許文献１には、ゲーム空間をゲームプレイ後に客観的かつ大局的視点から把握できるリプレイ画像を提供するゲームシステムが開示されているが、リプレイ画像はゲームの進行状況の再現を目的としたものであり、実際にゲームをプレイした作業者（プレイヤ）の身体（動作）に関する情報の蓄積や、リプレイ時の利用については何ら考慮されていない。
【課題を解決するための手段】
【０００８】
本発明は、このような従来技術の課題に鑑みてなされたもので、その主な目的は、複合現実感空間において作業者が観察している映像（複合現実空間画像）と、作業者に関する位置姿勢情報と、時間情報とからなる作業記録を記録する記録装置及び方法を提供することにある。
【０００９】
また、本発明の別の主な目的は、記録されたこれら各種情報を関連付けて表示する再生装置及び方法を提供することにある。
【００１０】
上述の目的は、現実空間を撮影して得られる現実空間画像に、仮想物体の画像を合成して複合現実空間画像を生成する画像合成工程と、複合現実空間画像を観察する作業者の身体の一部の位置姿勢情報を検出する位置姿勢検出工程と、複合現実空間画像と、位置姿勢情報と、時刻情報とを対応付けて記録装置に蓄積する蓄積工程とを有することを特徴とする記録方法によって達成される。
【００１１】
また、上述の目的は、現実空間を撮影して得られる現実空間画像に、仮想物体の画像を合成して得られる複合現実空間画像と、複合現実空間画像を観察した作業者の身体の一部の位置姿勢情報と、時刻情報とが対応付けられて記録された記録装置から、複合現実空間画像、位置姿勢情報及び時刻情報を再生表示する再生方法であって、記録装置に記録された複合現実空間画像と位置姿勢情報とを、時刻情報に基づいて再生表示する再生工程とを有することを特徴とする再生方法によっても達成される。
【００１２】
また、上述の目的は、現実空間を撮影して得られる現実空間画像に、仮想物体の画像を合成して複合現実空間画像を生成する画像合成手段と、複合現実空間画像を観察する作業者の身体の一部の位置姿勢情報を検出する位置姿勢検出手段と、複合現実空間画像と、作業者の身体の一部の位置姿勢情報と、時刻情報とを対応付けて記録装置に蓄積する蓄積手段とを有することを特徴とする記録装置によっても達成される。
【００１３】
また、上述の目的は、現実空間を撮影して得られる現実空間画像に、仮想物体の画像を合成して得られる複合現実空間画像と、複合現実空間画像を観察した作業者の身体の一部の位置姿勢情報と、時刻情報とが対応付けられて記録された記録手段と、蓄積手段に記録された複合現実空間画像と位置姿勢情報とを、時刻情報に基づいて再生する再生手段とを有することを特徴とする再生装置によっても達成される。
【００１４】
また、上述の目的は、本発明の記録方法と再生方法の少なくとも一方をコンピュータに実行させるプログラム、又はこのプログラムを格納するコンピュータ読み取り可能な記録媒体によっても達成される。
【発明の効果】
【００１５】
このように、作業者が複合現実空間で行なった作業を、作業者が観察した複合現実空間画像、作業者の身体部位の位置姿勢および時間情報を関連付けて蓄積することで、作業内容を見返したり、他の検討に用いるといった他の用途に利用することが可能になる。
【００１６】
また、これらのデータを関連付けて再生表示することにより、作業者の作業分析や作業教育等に対する利便性を提供することが可能になる。
【発明を実施するための最良の形態】
【００１７】
以下、添付図面を参照して、本発明をその好適な実施形態に従って詳細に説明する。なお、ここでは記録装置の実施形態の一例であると共に、再生装置の実施形態の一例でもある複合現実感映像蓄積再生システムについて説明するが、これは本発明において記録機能と再生機能の両方が必須であることを意味するものではない。
【００１８】
●（第１の実施形態）
図１は、本実施形態に係る複合現実感映像蓄積再生システムの機能構成例を示すブロック図である。本実施形態に係る複合現実感映像蓄積再生システムは、頭部装着型表示装置（ＨＭＤ）２０と、複合現実感映像蓄積再生装置１０とから構成される。
【００１９】
ＨＭＤ２０は、カメラ２２と３次元位置姿勢センサ２１と表示器２３とを有する、所謂ビデオシースルータイプの頭部装着型表示装置であり、通常、ＨＭＤ２０を装着した作業者は所定範囲の現実空間内で複合現実感を体感することが可能である。ＨＭＤ２０には、例えば磁気を利用して位置姿勢を計測する３次元位置姿勢センサ２１と、ＨＭＤ２０の装着者が観察する現実空間を撮像し、現実空間画像を取得するカメラ２２と、複合現実感映像蓄積再生装置１０から受信した画像をＨＭＤ２０の装着者眼前に提示するための、例えばカラー液晶ディスプレイである表示器２３とが設けられている。３次元位置姿勢センサ２１とカメラ２２の相対的な位置関係はあらかじめ計測され、既知であるとともに不変であるとする。３次元位置姿勢センサ２１からは計測結果である位置姿勢信号が後述の位置姿勢計測部１１へ出力され、カメラ２２からは撮像結果が後述する画像入力部１２へ出力される。表示器２３は、入力として画像信号を受け画像を表示する装置であり、画像合成部１５から画像信号を受けその内容を表示する。
【００２０】
複合現実感映像蓄積再生装置１０において、位置姿勢計測部１１は、ＨＭＤ２０の３次元位置姿勢センサ２１から出力される３次元位置姿勢信号を受けて、既知である相対位置関係からカメラ２２の位置姿勢を表すカメラ視点位置姿勢データ（位置姿勢情報）を生成する。画像生成部１３は、位置姿勢計測部１１で求められた位置姿勢データと、予め記憶されている仮想物体の位置情報及びモデル情報（形状やテクスチャなどの情報）を用い、カメラ２２で撮影される現実空間画像と位置関係のあった仮想空間画像をコンピュータグラフィックス技術によって生成する。一方、画像入力部１２は、カメラ２２から受信した実写映像の信号に、例えばディジタル化処理などの所定の処理を行い、現実空間画像として画像合成部１５へ供給する。
【００２１】
画像合成部１５は、画像入力部１２を通して得たカメラ２２からの現実空間画像上に、画像生成部１３により生成された仮想空間画像を合成し、複合現実空間画像を生成する。そして、複合現実空間画像を、ＨＭＤ２０の表示器２３へ出力する。ＨＭＤ２０の装着者は、カメラ２２で撮像されたリアルタイム画像の上に、計測されたカメラ位置姿勢に基づいた仮想空間画像が重畳表示された複合現実空間画像を観察することで、複合現実感を体験する。
【００２２】
制御部１６は、例えばＣＰＵであって、図示しない記憶装置に記録されたプログラムを図示しないＲＡＭに展開、実行することにより、複合現実感映像蓄積再生装置１０内の各要素を制御し、後述する各種処理を実現する。タイマ１７は例えば制御部１６が用いるクロックを利用して動作する時計である。
【００２３】
なお、ここでは説明を簡単にするため、１系統の処理を行うものとして説明したが、実際にはＨＭＤ２０に視差画像を表示し、３次元の複合現実空間を体験させるため、現実空間画像の取得、仮想空間画像の生成及び複合現実空間画像の生成に至る処理は右目用、左目用の２系統の処理を行う。
【００２４】
具体的には、カメラ２２はＨＭＤの左右に２台設けられ、位置姿勢計測部１１は３次元位置センサとそれぞれのカメラの既知の位置関係から各カメラの位置姿勢データを求める。そして、画像生成部１３は個々の位置姿勢データに基づいて右目用、左目用の仮想空間画像を生成する。また、画像合成部１５は、左右のカメラ２２から画像入力部１２を介して得られる２つの現実空間画像に対し、左目用、右目用の仮想空間画像を合成し、左目用及び右目用の複合現実空間画像を生成して、表示器２３の左目用表示デバイスと右目用表示デバイスへ出力する。
【００２５】
画像合成部１５で生成される複合現実空間画像は、蓄積部１４にも出力され、複合現実空間画像に対応する、位置姿勢計測部１１が求めたカメラ２２の位置姿勢情報や、タイマ１７の時刻を用いて得られる時間情報と合わせて蓄積される。蓄積部１４に蓄積されたこれらのデータは、例えばマウスやキーボード、ジョグダイヤル等の入力装置を少なくとも１つを有する入力部３３からの入力に従い、制御部１６が同期制御することによりＣＲＴや液晶ディスプレイ等の表示装置３１へ時系列的に再生表示される。ここで、蓄積部１４に蓄積する位置姿勢情報や複合現実空間画像は、上述した視差画像生成過程で得られる左右２系統の情報の両方であって、一方のみであってもよい。
【００２６】
なお、このような複合現実映像蓄積再生装置１０は、例えばビデオ入出力機能を有する汎用コンピュータにおいて、後述する機能を実現するアプリケーションプログラムを実行することにより実現することが可能である。また、本実施形態においては、グラフィカルユーザインタフェース（ＧＵＩ）を用いるオペレーティングシステム（ＯＳ）上でアプリケーションプログラムが動作するものとし、本システムのユーザは入力部３３によって表示装置３１の画面に表示されるＧＵＩを操作することによって各種の指示を装置に入力する。このようなＧＵＩ表示は、例えばアプリケーションプログラムがＯＳのＡＰＩ(Application Programming Interface)を利用することによって実現できる。
【００２７】
●（全体的な処理の説明）
次に、図２を用いて、本実施形態のシステムの全体的な処理の概要を説明する。本実施形態では、図２（ａ）に示すように、ＨＭＤの装着者（作業者）４０が現実空間の中に置かれた仮想物体４１、４２、４３で作業を行う過程を記録、蓄積するものとする。現実空間には図示するような直交座標系である世界座標系（ｘ，ｙ，ｚ）が設定されており、この座標系に置かれた仮想物体４１、４２、４３は、現実空間と矛盾のない位置関係で観察されるように現実空間画像上に描画され、ＨＭＤに表示される。
【００２８】
作業者４０が仮想物体４１〜４３を用いて行う具体的な作業はどのようなものであってもよいが、例えば磁気センサが装着されたスタイラスを用いて仮想物体を選択して移動させたりする作業であってもよい。
【００２９】
そして、このような複合現実感空間での作業中における、作業者４０のＨＭＤの位置姿勢情報（上述したように３次元位置センサの出力からカメラ位置姿勢に変換した値）と、ＨＭＤに表示される複合現実空間画像と、時刻情報とが対応付けされて蓄積部１４に記録、蓄積される。これら蓄積されたデータは、入力部３３の操作によって表示装置３１に時系列的に再生、表示することが可能である。以下ＨＭＤの位置姿勢情報は特に記述しない限りカメラの位置姿勢すなわち作業者の視点情報と同じとして扱う。
【００３０】
本実施形態において、蓄積部１４に記録されたデータは、表示装置３１に表示される例えば図２（ｂ）に示すような再生画面で再生される。再生画面は、３Ｄ軌跡表示モジュール５０と、動画再生モジュール６０と、経過時間表示モジュール７０とを有している。３Ｄ軌跡表示モジュール５０には、作業者４０が作業した複合現実空間（上述した世界座標系の空間）が仮想物体とともに３次元的に表示され、その中に、作業中における作業者４０のＨＭＤの移動軌跡５５がやはり３次元的に表示される。動画再生モジュール６０は、動画表示用の動画表示領域６１と、は動画表示を制御するスライドバー６２、動画の再生を中止する中止ボタン６５、動画再生を一時停止する停止ボタン６６、動画再生ボタン６７から構成され、蓄積部１４に記録された画像データは、動画表示領域６１内で再生される。経過時間表示モジュール７０は、記録開始時を０とした経過時間を表示する。
【００３１】
各モジュール５０、６０、７０はいずれも入力部３３によって操作が可能であり、例えばシステムのユーザ（作業者と同一であっても、無くてもよい）が、マウスカーソルを各モジュールの領域内に移動させてマウスクリックすることにより、再生開始箇所の指定や、再生の開始、一時停止、停止などを指示することができる。
【００３２】
蓄積部１４は例えばハードディスクドライブを代表とするデータ記憶装置であり、データは一般にコンピュータ装置でなされるように蓄積部１４に記録され、また管理される。従って、ユーザが蓄積部１４に記録されたデータの再生を希望する場合、周知の方法で希望のファイルをＧＵＩから指定し、再生を指示することで、制御部１６が再生画面を表示すると共に指定されたデータファイルを蓄積部１４から読み出し、再生処理を開始する。もちろん、再生可能なデータファイルをアプリケーションプログラムのＧＵＩでユーザに提示し、そこから選択、再生を指示するように構成することも可能である。
【００３３】
再生指示がなされると、制御部１６は、再生画面の初期化処理を行う。つまり、データファイルから、ＨＭＤの位置姿勢情報を取り出し、再生画面の３Ｄ軌跡表示モジュール５０の、対応する座標にプロットする。また、データファイル中の時刻情報を取得し、経過時間表示モジュール７０に時刻表示「００：００：００」を行う。さらに、対応する画像データ（最初のフレーム画像）を読み出し、動画表示領域６１に表示する。また、スライドバーボタンはスライドバー６２の左端にセットされる。
【００３４】
この状態でユーザが動画再生ボタン６７を押すと一般の動画プレーヤと同様に動画表示領域６１に動画が再生される。この動画再生に同期してスライドバーボタンが移動し，経過時間表示領域７０の表示も更新される。また３Ｄ軌跡表示領域５０に描かれている軌跡の対応する部分が高輝度表示されていく。動画再生中に中止ボタン６５が押されると初期状態へ戻り、停止ボタン６６が押されると現在の処理状態のまま停止状態となる。
【００３５】
また、本実施形態においては、蓄積された作業データの特定の時点を指定して表示させることが、３つの表示領域モジュール５０、６０、７０のどれからでも可能である。すなわち、３Ｄ軌跡表示モジュール５０の３次元軌跡５５の所望の部分をクリックすると対応するプロットが高輝度表示されると同時に、その時点に対応する動画フレームが動画表示領域６１に表示され、スライドバー６２は対応する時間位置に移動する。また時間経過表示領域７０には対応する経過時間が表示される。
【００３６】
また、動画表示モジュール６０のスライドバー６２を移動させると、移動した位置に対応する時間の動画フレームが動画表示領域６１に表示されると共に、３Ｄ軌跡表示領域５０の対応する軌跡プロットが高輝度表示され、経過時間表示領域７０では対応する時間が表示される。また経過時間表示領域７０の時間データを指定すると、その時間に対応する表示が３Ｄ軌跡表示領域５０と動画表示領域６１、スライドバー６２で同様に行なわれる。これにより上述した３つの表示モジュールである３Ｄ軌跡表示領域５０，動画再生モジュール６０，経過時間表示領域７０いずれからも任意の時点を指定することができ、常に同期した再生が可能になる。
【００３７】
●（記録処理）
次に、作業データの記録処理について図面を用いてさらに詳細に説明する。
図３は、複合現実感作業空間での作業データを蓄積する蓄積処理のフローチャートである。この処理が開始される前に、予めシステムのユーザから、これから記録する作業データの名前が指定されているものとする。また、記録処理の開始は、ユーザが入力部から指示しても良いし、作業者４０が例えば入力部３１の一部を構成するスイッチ等を用いて指示しても良い。
【００３８】
まず、ステップＳ１００では、ユーザが指定した名前で蓄積するファイルがオープンされる。次のステップＳ１０５では、変数Sequence#に「０」がセットされ次のステップに移る。ステップＳ１１０では、３次元位置センサ２０からの値が位置姿勢計測部１１に入力され世界座標系（図２に図示されているような現実世界に固定され設定された座標系）における６パラメータの組としてのセンサ位置姿勢データ（ｘ，ｙ，ｚ，α，β，γ）が生成される。ここでαはｘ軸中心の回転角、βはｙ軸中心の回転角、γはｚ軸中心の回転角を表す。
【００３９】
次のステップＳ１２０では、予め測定したセンサ位置とカメラ位置との関係から、センサ位置姿勢データをカメラ視点の位置姿勢座標（本実施形態ではＨＭＤの位置姿勢座標と同義とする）における位置姿勢データ（カメラ位置姿勢データ）に変換する。上述したように、センサとカメラの位置関係は固定なので、あらかじめキャリブレーションを行なって座標変換式を求めておくことができる。そして、この座標変換式を用いてセンサ位置姿勢データをカメラ位置姿勢データに変換する。ステップＳ１３０では、カメラ２２からの画像が画像入力部１２を経て画像合成部１５に書き込まれる。ステップＳ１４０では画像生成部１３において、予め用意された、仮想物体の世界座標系で表される位置と形状データを用い、ステップＳ１２０で求められたカメラ位置姿勢のビューから仮想物体の画像（仮想空間画像）を描画して、画像合成部１５に書き込まれたカメラ２２からの撮像画像に上書き合成することにより、複合現実空間画像が得られる。
【００４０】
次のステップＳ１５０ではこの複合現実空間画像を表示器２３に表示する。ステップＳ２００では、画像合成部１５が出力する複合現実空間画像や、カメラ位置姿勢データなどを経過時間情報と共にファイルに書き込む。ステップＳ３００では、例えば表示画面操作入力部３３からの終了キーの入力をチェックし、入力が確認できればステップＳ３８０へ、そうでなければステップＳ３５０で変数Sequence#を１だけインクリメントしてステップＳ１１０へ進み、処理を繰り返す。ステップＳ３８０では上述の処理で書込みが行なわれたファイルをクローズし処理を終了する。
なお、上述したように、記録するデータは左右の視差画像の一方又は両方、カメラ位置姿勢データの一方又は両方のうちから任意に設定可能である。
【００４１】
次にステップＳ２００のファイル書込み処理の詳細を図４、図５を用いて説明する。ファイル書込み処理では例えば図５に示すような管理テーブルのファイルを作成する。なお、ここでは便宜上、テーブルの一行をレコード、レコードに含まれる各種のデータ書き込み領域（テーブルの各列）をフィールドと呼ぶ。図５において、Sequence#フィールドは、上述した蓄積処理で用いられている変数Sequence#の値が、経過時間フィールドには変数Sequence#の値が０の画像蓄積処理での書き込み時点を０とする経過時間がそれぞれ格納される。次のPoint 1フィールドにはＨＭＤの位置（前述したカメラ視点位置姿勢データ）が、次のPoint 2〜Point nフィールドには、他のセンサからの位置姿勢データが順次格納される。他のセンサは、作業者の頭部以外、例えば手や足の位置姿勢などを合わせて記録したい場合などに作業者に取り付けることが可能であり、これら他のセンサの出力するデータはPoint 2〜Point nフィールドに記録される。他のセンサがある場合、位置姿勢計測部は、ＨＭＤの位置姿勢データとともに出力する。レコードの最後のフィールドは複合現実空間画像データファイルへのポインタ（例えばファイルのパスやフレーム番号など）を格納するポインタフィールドである。画像データは容量が大きく、また圧縮すると可変長データとなるので、画像データ用に別なファイルを生成して管理テーブルからポインタでアクセスできるようにしておく。そして、このような構成のレコードが蓄積処理のサイクル毎に順次追加され、Sequence#を主キーとして時間経過に従って記録される。
【００４２】
このような管理テーブルファイルへの書き込み処理の手順を示すフローチャートが図４である。
まず、ステップＳ２１０では新しいレコードを作成し、変数Sequence#の現在の値をSequence#フィールドに書き込む。なお、最初のレコードの場合には、基準時刻としてタイマ１７の値を記憶しておく。ステップＳ２２０では画像合成部１５で生成された複合現実空間画像データを蓄積部１４内の別ファイルに格納し、その先頭を示すポインタをポインタフィールドへ書き込む。次にステップＳ２４０で、タイマ１７から現在時刻を取得し蓄積開始時刻との差を取って経過時間に変換して管理テーブルの該当する欄に書き込む。ステップＳ２５０ではステップＳ１２０で求められた６変数のカメラ視点位置姿勢データの値を管理テーブルのPoint 1フィールドに書込み（他のセンサが用いられている場合には、それらセンサからの位置姿勢データも合わせて書き込む）、処理を終了する。
【００４３】
以上の処理を実行することにより、作業者４０のＨＭＤに表示された複合現実空間画像と、ＨＭＤの位置姿勢情報と時間情報が関連付けられてファイルに蓄積される。
【００４４】
●（再生処理）
次に図２（ｂ）の再生画面での処理の詳細について図６のフローチャートを用いて説明する。なお、複合現実空間画像の再生に先立ってユーザは蓄積されているファイル名を例えば上述したようにＧＵＩを入力部で操作することによって指定しておくものとする。
【００４５】
最初のステップＳ４００で制御部１６は指定されたファイル（管理テーブル）を図示しないメモリに読み込む。次のステップＳ４１０では、動画再生モジュールの初期化処理を行う。具体的には、管理テーブルのSequence#＝０のレコードのポインタフィールドを参照し、対応する画像を読み出して動画表示領域６１へ表示する。また、管理テーブルの最終レコードの経過時間フィールドを参照し、蓄積されている画像の総再生時間から、スライドバー６２の単位時間当たりの移動速度を表示装置３１の表示画素ドット単位で計算する。例えば表示の単位時間を１秒とすると、スライドバーの単位時間（１秒）あたりの移動速度は、「スライドバーの長さの画素数（ドット）／トータル時間（秒）」で求められる。
【００４６】
ステップＳ４２０の３Ｄ軌跡表示モジュールの初期化処理では、現実空間に設定されている世界座標系に基づいて位置が規定されている仮想物体を、そのモデルに従って画面上に座標空間とともに３Ｄ表示する。このときの表示の視点は図２（ａ）の作業空間全体が見渡せるような縮尺に設定するとともに、座標空間の斜め上方から見下ろした鳥瞰図形式で表示を行う。そして、管理テーブルのPoint 1フィールドの位置姿勢データを、Sequence#0から最後のSequence#まで読み込んで３Ｄ表示領域にプロットする。動画再生時にはSequence#に対応する座標は高輝度表示又は異なる色での表示など、視覚的に他のプロットと異なるように表示する。
【００４７】
次のステップＳ４３０では、経過時間表示モジュールの初期化処理を行う。すなわち、経過時間を０に設定し、表示画面上の時刻表示を「００：００：００」とする。
このような画面の初期化処理を行うと、制御部１６はステップＳ４５０でイベント（ユーザや他のプログラムによってなされる操作）の入力待ち状態となる。ここで終了イベント（例えばプログラムメニューからの終了指示）が入力されれば再生画面処理を終了する。その他のイベントの場合にはイベントが発生した領域（モジュール）ごとの処理に分岐する。つまり、動画再生モジュール６０でのイベントの場合にはステップＳ５００の動画再生モジュールのイベント処理へ、３Ｄ軌跡表示領域５０でのイベントの場合にはステップＳ８００の３Ｄ軌跡表示領域のイベント処理へ、経過時間表示領域７０でのイベントの場合にはステップＳ９００の経過時間表示領域のイベント処理へと分岐する。これらのイベント処理が終了した時点でステップＳ４５０のイベント待ちへ戻る。
【００４８】
次にステップＳ５００の動画再生モジュールのイベント処理の詳細について図面を用いて説明する。動画再生モジュール６０でのイベントは、動画再生ボタン６７、動画再生停止ボタン６６、動画再生中止ボタン６５の操作、スライドバー６２の移動のいずれかである。まず動画再生ボタン６７の操作により起動されるステップＳ５１０動画再生ボタン処理を図７を用いて説明する。
【００４９】
ステップＳ５１５では、現在の経過時間と画像ファイルの蓄積時間（＝総再生時間）とが比較され、前者が大であればステップＳ５８０の中止ボタン処理へ進む。そうでなければステップＳ５２０に進む。ステップＳ５２０では経過時間に対応する動画フレーム（複合現実空間画像）表示を行なう。この処理の詳細は図１３を用いて後述する。次のステップＳ５３０では、経過時間に対応するスライドバー表示処理が行なわれる。この処理の詳細は図１５を用いて後述する。次のステップＳ５４０では現在の経過時間を引数として３Ｄ軌跡表示処理が起動される。この処理の詳細は図１２を用いて後述する。次のステップＳ５５０では現在の経過時間を引数として経過時間表示処理が起動される。この処理の詳細は図１４を用いて後述する。次のステップＳ５６０では、動画再生停止ボタン６６、動画再生中止ボタン６５への操作入力があったかを判断する。動画再生停止ボタン６６の操作入力があった場合には動画再生ボタン処理を終了する。動画再生中止ボタン６５の操作入力があった場合にはステップＳ５８０の中止ボタン処理へ進む。これらボタンへの操作入力がなかった場合にはステップＳ５７０に進み、経過時間に表示の単位時間を加えて新たな経過時間とする。すなわち「経過時間＝経過時間＋表示の単位時間」を計算してステップＳ５１５に戻る。
【００５０】
次に、ステップＳ５８０で行われる動画再生中止ボタン処理について、図９のフローチャートを用いて説明する。ステップＳ７１０では、経過時間＝０としてステップＳ７２０に進む。ステップＳ７２０では図１３を用いて後述する動画フレーム表示処理を行なう。次のステップＳ７３０では図１５を用いて後述するスライドバー表示処理を行う。ステップＳ７４０では図１２を用いて後述する３Ｄ軌跡表示処理を行う。次のステップＳ７５０で図１４を用いて後述する経過時間表示処理を行い、処理が終了する。以上の処理によって再生画面は初期表示の状態に戻る。
【００５１】
次に、スライドバー６２の操作によって起動される動画スライドバー処理について、図８に示すフローチャートを参照しながら説明する。ステップＳ６１０ではユーザによる動画スライドバー６２の操作が停止し、位置が確定すると、その位置を表示装置３１の画素位置として読み出す。この画素位置から、スライドバー全体における相対的な位置（例えば開始時点となる左端から何％進んだか）がわかるので、次のステップＳ６２０において、全体の時間とこの相対的な位置から経過時間を求めることができる。ステップＳ６３０では、図１３を用いて後述する動画フレーム表示処理を行なう。ステップＳ６４０では図１２を用いて後述する３Ｄ軌跡表示処理を行う。ステップＳ６５０では図１４を用いて後述する経過時間表示処理を行い、処理を終了する。
【００５２】
次に図６のステップＳ８００で行う３Ｄ軌跡表示領域のイベント処理について説明する。図２の３Ｄ軌跡表示領域５０の３Ｄ軌跡プロット５５上の点を例えばマウスカーソルで指示し、マウスをクリックすることにより、図１０に示す３Ｄ軌跡クリック処理が起動される。ステップＳ８１０ではクリックされた点（プロット）の３次元座標の値を得る。これは３Ｄ軌跡表示処理において、センサ位置姿勢データの３次元座標値を表示領域の座標に変換した処理の逆処理に相当し、一般に用いられている３Ｄグラフィックスソフトウェア、例えばOpen Inventor（登録商標）等の機能を利用すれば容易に実現できる。ステップＳ８２０では図５の管理テーブルのPoint 1フィールドを参照し、クリックされた点の３次元座標に対応するレコードの経過時間フィールドから、経過時間を読み出す。この経過時間を引数に以下ステップＳ８３０からＳ８６０までの処理を行なう。ステップＳ８３０では、図１３を用いて後述する動画フレーム表示処理を行なう。次のステップＳ８４０では、図１５を用いて後述するスライドバー表示処理を、ステップＳ８５０では図１２を用いて後述する３Ｄ軌跡表示処理を、ステップＳ８６０では図１４を用いて後述する経過時間表示処理をそれぞれ行い、処理を終了する。
【００５３】
次に図６のステップＳ９００で行う経過時間表示領域のイベント処理を説明する。ユーザが図２の経過時間表示領域７０の値を例えばマウスカーソルで指示し、クリックすると、図１１のフローチャートに示す時刻入力処理が起動される。
【００５４】
ステップＳ９１０では、経過時間表示領域に対する値の入力待ち状態となり、例えばキーボードの操作によりユーザが経過時間の入力を完了するのを待つ。そして、例えば経過表示領域の時刻表示領域でない領域のマウスクリックなどにより、入力の完了が通知されると、入力された値を経過時間とする。この経過時間を引数に以下ステップＳ９２０からＳ９５０までの処理が行なわれる。ステップＳ９２０では図１４を用いて後述する経過時間表示処理を、ステップＳ９３０では図１３を用いて後述する動画フレーム表示処理を、ステップＳ９４０では、図１５を用いて後述するスライドバー表示処理を、ステップＳ９５０では図１２を用いて後述する３Ｄ軌跡表示処理をそれぞれ実行し、処理を終了する。
【００５５】
●（各種表示処理）
次に以上説明した処理で共通に用いられる各種の表示処理について説明する。
＜３Ｄ軌跡表示処理＞
まず、図１２を用いて３Ｄ軌跡表示処理について説明する。
ステップＳ１０１０で、経過時間の値を受け取り、次のステップＳ１０２０では、図５の管理テーブルの経過時間フィールドの値ｔ（ｉ）（ｉはSequence#の値とする）を参照して、経過時間≧ｔ（ｉ）を満たす最大のｔ（ｉ）に対応するSequence#の値ｉを求める。そして、Sequence#の値ｉを有するレコードのPoint 1フィールドから３次元座標を取得し、３Ｄ表示領域５０の対応するプロットを高輝度表示し、それ以外のプロットを低輝度表示して処理を終了する。
【００５６】
＜動画フレーム表示処理＞
次に、図１３を用いて動画フレーム表示処理について説明する。
ステップＳ１１１０で経過時間の値を受け取り、次のステップＳ１１２０では、図５の管理テーブルの経過時間フィールドの値ｔ（ｉ）を参照して、経過時間≧ｔ（ｉ）を満たす最大のｔ（ｉ）に対応するSequence#の値ｉを求める。そして、Sequence#の値ｉを有するレコードのポインタフィールドを参照し、蓄積部１４から対応する動画フレーム（複合現実空間画像）を読み出し、動画表示領域６１に表示して処理を終了する。
【００５７】
＜経過時間表示処理＞
次に、図１４を用いて経過時間表示処理について説明する。
ステップＳ１２１０で経過時間の値を受け取り、次のステップＳ１２２０では、例えば図２の７０に示すようにＸＸ（分）：ＸＸ（秒）：ＸＸ（１００分の１秒）の形式で表示して処理を終了する。
【００５８】
＜スライドバー表示処理＞
次に、図１５を用いてスライドバー表示処理について説明する。
ステップＳ１３１０で経過時間の値を受け取り、次のステップＳ１３２０では、図６のステップＳ４１０において計算された単位時間当りのスライドバーの画素数を用いて、「経過時間×単位時間あたりのスライドバー画素数」を計算し、スライドバーの左端から上記計算された画素数だけ右側に移動した位置にスライドボタンを表示して処理を終了する。
【００５９】
●（変形例）
ここでは、説明及び理解を容易にするため、作業者４０が装着するＨＭＤに設けられた３次元位置姿勢センサの値を軌跡表示領域に軌跡として表示していたが、上述したように、他の場所、例えば作業者の手、肩、腕などにセンサを装着し、位置姿勢を計測して記録並びに表示することも可能である。
【００６０】
複数のセンサからの位置姿勢情報を記録する場合には、図５の管理テーブルのPoint 2〜Point nフィールドにデータを格納する。そして、再生時にはPoint 1〜Point nフィールドから、任意数のデータを読み出し、図２の３Ｄ軌跡領域５０に３次元軌跡表示を行うことが可能である。この場合、センサ毎に色を変えて同時に複数の軌跡を表示したり、再生画面に選択領域を設け、任意のセンサの位置姿勢データを選択的に表示するように構成することも可能である。
【００６１】
これら他のセンサの位置姿勢データについても、ＨＭＤのセンサからの位置姿勢データの処理として上述した３Ｄ軌跡クリック処理や、経過時間表示処理といった表示処理を同様に行うことができる。
【００６２】
また、ここでは６自由度を有する３次元位置姿勢センサから得られる位置姿勢データのうち、（ｘ，ｙ，ｚ）の座標値のみを３Ｄ表示領域５０に軌跡表示した場合のみを説明したが、ある３Ｄ軌跡クリック処理において、クリックされたプロットに対応する姿勢データ（α，β，γ）をベクトルデータとして表示することで姿勢データを可視化するように構成するなど、姿勢データを可視化するようにしてもよい。また３Ｄ軌跡表示領域５０全体は世界座標系（ｘ，ｙ，ｚ）でモデル化されているので、ズームアップや回転移動させて所望の視点からの観察が画面上で可能である。このような、３Ｄ軌跡表示領域５０を描画するための視点を移動させるためのＧＵＩを再生画面に追加し、そのＧＵＩの操作に応じて３Ｄ軌跡表示領域内の描画を行うように構成することで、利便性が一層向上する。
【００６３】
●（第２の実施形態）
上述の実施形態では、３次元位置姿勢センサとして磁気センサを用いたが、光学式や他の方式を用いるセンサを用いることも可能である。また、カメラの位置姿勢をＨＭＤに設けた３次元位置姿勢センサの出力と、予め測定したセンサ−カメラ間の相対位置関係とを用いて得ていたが、現実空間の既知の位置にマーカを配置し、カメラの撮像画像中のマーカ座標と既知のマーカ座標とからカメラの位置姿勢を求めることも可能である。そして、このように求めたカメラの位置姿勢から、逆にＨＭＤの位置姿勢を求めてもよい。
【００６４】
さらに、例えば特開２００３−２７９３１０に開示されるように、３次元位置姿勢センサによる位置姿勢計測と、マーカによる位置姿勢計測を併用し、位置姿勢データの精度を向上させることも可能である。
【００６５】
この方法を用いた第２の実施形態のブロック図を図１６に示す。第１の実施形態と異なる部分だけを説明すると、位置姿勢計測部１１では、３次元位置姿勢センサ２１からの計測信号に基づいて世界座標系における点のデータを取得すると共にこの座標値をカメラ座標系における点の座標値に変換するための変換行列を求めるビューイング変換を行なう。
【００６６】
特徴検出部１８では、カメラ２２で得られた画像を画像入力部１２から得て、この画像における現実世界中にあるマーカを検出すると同時に画像面上のマーカ位置も検出する。特徴点投影計算部２４では、現実世界にあるマーカの位置（世界座標系における位置で既知）を位置姿勢計測部１１で得られたビューイング変換によりカメラ座標系における位置に変換し、さらにカメラの透視投影計算を行なって画像面上での位置を計算する。
【００６７】
位置姿勢補正部２５では、特徴点投影計算部２４で得られたマーカの画像面の投影位置と特徴点検出部１８で得られた特徴点との位置を比較して、ＨＭＤ２０の位置姿勢をより高精度に補正する。このような構成にすることにより、位置姿勢補正部２５からは、高精度に補正されたＨＭＤ（カメラ）の位置姿勢データを得られる。得られた位置姿勢データを用い、第１の実施形態と同様の処理を行なうことで、より高精度な記録、再生が可能となる。
【００６８】
●（他の実施形態）
上述の複合現実感映像蓄積再生装置と同等の機能を複数の機器から構成されるシステムによって実現しても良い。尚、前述した実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線／無線通信を用いて当該プログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを実行することによって同等の機能が達成される場合も本発明に含む。
【００６９】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
【００７０】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００７１】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記録媒体、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ等の光／光磁気記憶媒体、不揮発性の半導体メモリなどがある。
【００７２】
有線／無線通信を用いたプログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイル等、クライアントコンピュータ上で本発明を形成するコンピュータプログラムとなりうるデータファイル（プログラムデータファイル）を記憶し、接続のあったクライアントコンピュータにプログラムデータファイルをダウンロードする方法などが挙げられる。この場合、プログラムデータファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに配置することも可能である。
【００７３】
つまり、本発明の機能処理をコンピュータで実現するためのプログラムデータファイルを複数のユーザに対してダウンロードさせるサーバ装置も本発明に含む。
【００７４】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件を満たしたユーザに対して暗号化を解く鍵情報を、例えばインターネットを介してホームページからダウンロードさせることによって供給し、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００７５】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【００７６】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【図面の簡単な説明】
【００７７】
【図１】本発明の第１の実施形態における複合現実感映像蓄積再生装置とＨＭＤの機能構成例を示すブロック図である。
【図２】複合現実感空間の様子と複合現実感映像蓄積再生装置の再生画面例を示す図である。
【図３】本発明の実施形態における複合現実感映像蓄積再生装置の蓄積処理のフローチャートである。
【図４】図３のファイル書き込み処理ステップＳ２００の処理の詳細を示すフローチャートである。
【図５】本発明の実施形態における複合現実感映像蓄積再生装置で用いる管理テーブルの例を示す図である。
【図６】本発明の実施形態における複合現実感映像蓄積再生装置の再生処理のフローチャートである。
【図７】図６の再生処理ステップＳ５００の処理の一部である動画再生ボタン処理の詳細を示すフローチャートである。
【図８】図６の再生処理ステップＳ５００の処理の一部であるスライドバー処理の詳細を示すフローチャートである。
【図９】図６の再生処理ステップＳ５００の処理の一部である中止ボタン処理の詳細を示すフローチャートである。
【図１０】図６の再生処理ステップＳ８００の処理の一部である３Ｄ軌跡クリック処理の詳細を示すフローチャートである。
【図１１】図６の再生処理ステップＳ９００の処理の一部である時刻入力処理の詳細を示すフローチャートである。
【図１２】本発明の実施形態における複合現実感映像蓄積再生装置の３Ｄ軌跡表示処理の詳細を示すフローチャートである。
【図１３】本発明の実施形態における複合現実感映像蓄積再生装置の動画フレーム表示処理の詳細を示すフローチャートである。
【図１４】本発明の実施形態における複合現実感映像蓄積再生装置の経過時間表示処理の詳細を示すフローチャートである。
【図１５】本発明の実施形態における複合現実感映像蓄積再生装置のスライドバー表示処理の詳細を示すフローチャートである。
【図１６】本発明の第２の実施形態における複合現実感映像蓄積再生装置とＨＭＤの機能構成例を示すブロック図である。
【符号の説明】
【００７８】
１０  複合現実感映像蓄積再生装置
１１  位置姿勢計測部
１２  画像入力部
１３  画像生成部
１４  蓄積部
１５  画像合成部
１６  制御部
１７  タイマ
１８  特徴点検出部
２０  ＨＭＤ  (Head Mounted Display)
２１  ３次元位置姿勢センサ
２２  カメラ
２３  表示器
２４  特徴点投影計算部
２５  位置姿勢補正部
３１  表示装置
３３  表示画面操作入力部
４０  作業者
４１，４２，４３  作業対象仮想物体
５０  ３Ｄ軌跡表示領域
５５  ３Ｄ軌跡
６０  動画再生モジュール
６１  動画表示領域
６２  スライドバー
６５  動画再生中止ボタン
６６  動画再生停止ボタン
６７  動画再生ボタン
【図１】
2005260724.tif 000003
【図２】
2005260724.tif 000004
【図３】
2005260724.tif 000005
【図４】
2005260724.tif 000006
【図５】
2005260724.tif 000007
【図６】
2005260724.tif 000008
【図７】
2005260724.tif 000009
【図８】
2005260724.tif 000010
【図９】
2005260724.tif 000011
【図１０】
2005260724.tif 000012
【図１１】
2005260724.tif 000013
【図１２】
2005260724.tif 000014
【図１３】
2005260724.tif 000015
【図１４】
2005260724.tif 000016
【図１５】
2005260724.tif 000017
【図１６】
2005260724.tif 000018