JP2006252059A - 画像処理方法、画像処理装置 - Google Patents
画像処理方法、画像処理装置 Download PDFInfo
- Publication number
- JP2006252059A JP2006252059A JP2005066139A JP2005066139A JP2006252059A JP 2006252059 A JP2006252059 A JP 2006252059A JP 2005066139 A JP2005066139 A JP 2005066139A JP 2005066139 A JP2005066139 A JP 2005066139A JP 2006252059 A JP2006252059 A JP 2006252059A
- Authority
- JP
- Japan
- Prior art keywords
- orientation
- image
- mode
- viewpoint
- acquired
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
【課題】 仮想物体を移動させる際に、奥行き方向の移動を精度良く観察者に行わせる為の技術を提供すること。
【解決手段】 第1のモードが選択されると、モックアップモデルを指示具302の位置姿勢に配置し(S602)。第2のモードが選択されると、タイミングTにおける視点の姿勢を方向ベクトルとする直線上にモックアップモデルを配置する(S604)。
【選択図】 図6
【解決手段】 第1のモードが選択されると、モックアップモデルを指示具302の位置姿勢に配置し(S602)。第2のモードが選択されると、タイミングTにおける視点の姿勢を方向ベクトルとする直線上にモックアップモデルを配置する(S604)。
【選択図】 図6
Description
本発明は、指示具でもって仮想物体を移動させる為の技術に関するものである。
複合現実感システムとは、現実空間映像と、ユーザの視点位置、視線方向等に応じて生成される仮想空間映像とを合成することにより得られる合成映像をユーザに提供するものである。複合現実感システムでは、現実空間中に仮想物体が実在しているかのような感覚を観察者に提示することが可能であり、従来の仮想現実感システム(VRシステム)に比べてよりリアルに、実寸感覚を伴った観察が可能である。
複合現実空間内のCGオブジェクトを操作するには、現実空間内での位置及び姿勢の6自由度を計測あるいは推定するシステム(ここでは6自由度センサーと呼ぶ)を用いて、この6自由度センサーの位置及び姿勢をCGオブジェクトの物体座標系に対応付ける方法がある。例えばPolhemus社のFastrakシステムを用いると、数センチ角ほどの大きさのレシーバの位置及び姿勢の6自由度が計測できる。この計測値をCGオブジェクトの物体座標系に対応付けることにより、レシーバを移動・回転するとそれにつれてCGオブジェクトが移動・回転することになる。
特開2004−062758号公報
しかし、従来手法では例えば6自由度センサーに対応付けられたCGの蓋を、6自由度センサーに対応付けられていないCGの容器にぴったりとかぶせることさえ難しい。
これは蓋と容器との間で物理的干渉がない、というCGの特性上、視覚情報のみで合わせなければならないということに起因している。しかし、人間の視覚能力の制約から物体の奥行きを精度良く知覚することは困難である。
本発明は、以上の問題に鑑みてなされたものであり、仮想物体を移動させる際に、奥行き方向の移動を精度良く観察者に行わせる為の技術を提供することを目的とする。
本発明の目的を達成するために、例えば、本発明の画像処理方法は以下の構成を備える。
即ち、観察者の視点の位置姿勢を取得する第1の取得工程と、
前記観察者が操作する指示具の位置姿勢を取得する第2の取得工程と、
第1のモード、第2のモードの何れかを指示する指示手段と、
前記第1のモードが指示された場合には、前記第2の取得工程で取得した位置姿勢に仮想物体を配置する第1の配置工程と、
前記第2のモードが指示された場合には、指示された時点における前記視点の姿勢を方向ベクトルとする直線上に仮想物体を配置する第2の配置工程と、
前記第1の配置工程、若しくは前記第2の配置工程の何れかで配置された仮想物体を含む仮想空間を、前記第1の取得工程で取得した位置姿勢の視点から見える画像を生成する生成工程と、
前記生成工程で生成した画像を外部に出力する出力工程と
を備えることを特徴とする。
前記観察者が操作する指示具の位置姿勢を取得する第2の取得工程と、
第1のモード、第2のモードの何れかを指示する指示手段と、
前記第1のモードが指示された場合には、前記第2の取得工程で取得した位置姿勢に仮想物体を配置する第1の配置工程と、
前記第2のモードが指示された場合には、指示された時点における前記視点の姿勢を方向ベクトルとする直線上に仮想物体を配置する第2の配置工程と、
前記第1の配置工程、若しくは前記第2の配置工程の何れかで配置された仮想物体を含む仮想空間を、前記第1の取得工程で取得した位置姿勢の視点から見える画像を生成する生成工程と、
前記生成工程で生成した画像を外部に出力する出力工程と
を備えることを特徴とする。
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。
即ち、観察者の視点の位置姿勢を取得する第1の取得手段と、
前記観察者が操作する指示具の位置姿勢を取得する第2の取得手段と、
第1のモード、第2のモードの何れかを指示する指示手段と、
前記第1のモードが指示された場合には、前記第2の取得手段が取得した位置姿勢に仮想物体を配置する第1の配置手段と、
前記第2のモードが指示された場合には、指示された時点における前記視点の姿勢を方向ベクトルとする直線上に仮想物体を配置する第2の配置手段と、
前記第1の配置手段、若しくは前記第2の配置手段の何れかが配置した仮想物体を含む仮想空間を、前記第1の取得手段が取得した位置姿勢の視点から見える画像を生成する生成手段と、
前記生成手段が生成した画像を外部に出力する出力手段と
を備えることを特徴とする。
前記観察者が操作する指示具の位置姿勢を取得する第2の取得手段と、
第1のモード、第2のモードの何れかを指示する指示手段と、
前記第1のモードが指示された場合には、前記第2の取得手段が取得した位置姿勢に仮想物体を配置する第1の配置手段と、
前記第2のモードが指示された場合には、指示された時点における前記視点の姿勢を方向ベクトルとする直線上に仮想物体を配置する第2の配置手段と、
前記第1の配置手段、若しくは前記第2の配置手段の何れかが配置した仮想物体を含む仮想空間を、前記第1の取得手段が取得した位置姿勢の視点から見える画像を生成する生成手段と、
前記生成手段が生成した画像を外部に出力する出力手段と
を備えることを特徴とする。
本発明の構成により、仮想物体を移動させる際に、奥行き方向の移動を精度良く観察者に行わせることができる。
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
[第1の実施形態]
図1は、現実空間に仮想空間を重畳させた複合現実空間を観察者(ユーザ)に提供する処理の過程で、観察者が操作する指示具(物体操作デバイス)でもって仮想物体の配置を可能にするシステムの外観を示す図である。
図1は、現実空間に仮想空間を重畳させた複合現実空間を観察者(ユーザ)に提供する処理の過程で、観察者が操作する指示具(物体操作デバイス)でもって仮想物体の配置を可能にするシステムの外観を示す図である。
同図において200はトランスミッタで、磁場を発生させる。100は観察者の頭部に装着し、現実空間と仮想空間とを合成した画像を観察者の眼前に提供する為の頭部装着型表示装置(以下、HMD:Head Mounted Displayと呼称する)で、カメラ102R、102L、表示装置101R、101L、磁気レシーバ201により構成されている。
カメラ102R、102LはそれぞれHMD100を頭部に装着した観察者の右目、左目の位置から見える現実空間の動画像を撮像するものであり、撮像した各フレームの画像は後段のコンピュータ400に出力される。以下、カメラ102R、102Lに共通の説明ではこれらをまとめてカメラ102とする場合がある。
表示装置101R、101Lはそれぞれ、観察者がHMD100を頭部に装着したときに右目、左目の眼前に位置するようにHMD100に装着されたものであり、後段のコンピュータ400から出力された画像信号に基づいた画像を表示する。従って観察者の右目、左目の眼前にはコンピュータ400が生成した画像が提供されることになる。以下、表示装置101R、101Lに共通の説明ではこれらをまとめて表示装置101とする場合がある。
磁気レシーバ201は、上記トランスミッタ200が発する磁場の変化を検知し、検知した結果の信号を後段の位置姿勢計測装置205に出力するものである。検知した結果の信号は、現実空間中の所定の位置を原点とし、この原点の位置で互いに直交する3軸をそれぞれx、y、z軸とする座標系(以下、世界座標系と呼称する)において、磁気レシーバ201の位置姿勢に応じて検知される磁場の変化を示す信号である。
位置姿勢計測装置205は、この信号に基づいて、世界座標系における磁気レシーバ201の位置姿勢を求め、求めた位置姿勢を示すデータは後段のコンピュータ400に出力される。
図2は、HMD100の具体的な構成を示す図である。
表示装置101は、0.5〜数インチ程度の小型の液晶表示デバイス等で構成されるものである。103は、表示装置101の映像を拡大するレンズの役目を果たす自由曲面プリズムである。このような構成により、表示装置101に表示された映像は、観察者にとってはたとえば2m先に90インチ相当の映像として提示される。
カメラ102は、CCDカメラ、CMOSカメラなどの撮像デバイスで構成されるものである。104は現実空間の光をカメラ102に収束させるためのレンズの役目をはたす撮像系プリズムである。撮像系プリズム104は自由曲面プリズム103の外側に、光軸を一致させるように配置することで、カメラ102で入力した映像と、表示装置101に表示した映像の視差をなくし、現実空間の映像を違和感なく再現することが可能である。
図1に戻って、302は、観察者が手に保持してその位置や姿勢を変更することが可能な指示具で、その指示具302には上記磁気レシーバ201と同様の磁気レシーバ203が備わっており、自身の位置姿勢に応じて検知される磁場の変化を示す信号を位置姿勢計測装置205に出力する。
位置姿勢計測装置205は、この信号に基づいて、世界座標系における磁気レシーバ203の位置姿勢を求め、求めた位置姿勢を示すデータは後段のコンピュータ400に出力される。
301は置き台である。
400はコンピュータで、HMD100の表示装置101R、101Lに出力すべき画像信号を生成したり、位置姿勢計測装置205からのデータを受け、これを管理したり等の処理を行う。このコンピュータは一般的には例えばPC(パーソナルコンピュータ)やWS(ワークステーション)等により構成される。図10は、コンピュータ400のハードウェア構成を示す図である。
1001はCPUで、RAM1002やROM1003に格納されているプログラムやデータを用いてコンピュータ400全体の制御を行うと共に、I/F1007に接続される外部装置とのデータ通信の制御を行う。また、コンピュータ400が行う後述の各処理を実行する。
1002はRAMで、外部記憶装置1005からロードされたプログラムやデータを一時的に記憶するためのエリア、I/F1007を介して外部から受信したデータを一時的に記憶するためのエリア、CPU1001が各種の処理を実行する際に必要なワークエリア等、各種のエリアを適宜提供することができる。
1003はROMで、ブートプログラムやコンピュータ400の設定データなどを格納する。
1004は操作部で、キーボードやマウス、ジョイスティックなどにより構成されており、各種の指示をCPU1001に対して入力することができる。
1005は外部記憶装置で、ハードディスクドライブ装置などの大容量情報記憶装置として機能するものであり、ここにOS(オペレーティングシステム)や、コンピュータ400が行う後述の各処理をCPU1001に実行させるためのプログラムやデータ等が保存されており、これらの一部、もしくは全部は、CPU1001の制御により、RAM1002にロードされる。また、後述の説明で、既知のデータ(情報)として説明するもの(もしくは以下説明する処理で必要となるべきデータ)もまたこの外部記憶装置1005に保存されており、必要に応じてCPU1001の制御により、RAM1002にロードされる。
1006は表示部で、CRTや液晶画面等により構成されており、CPU1001による処理結果を画像や文字等でもって表示する。
1007はI/Fで、ここに上記位置姿勢計測装置205、HMD100等が接続されており、このI/F1007を介して、コンピュータ400は位置姿勢計測装置205、HMD100等とのデータ通信を行うことができる。
1008は上述の各部を繋ぐバスである。
以上の構成を備えるコンピュータ400は、カメラ102R、102Lそれぞれから得られる現実空間の画像を取り込むと共に、後述の各処理によって仮想物体(以下、モックアップモデルと呼称する場合がある)を配置し、磁気レシーバ201から得られる位置姿勢に基づいて、配置したモックアップモデルを含む仮想空間をカメラ102R、102Lから見た場合に見える画像(仮想空間の画像)を生成する。そして、生成した画像を、先に取り込んだ現実空間の画像上に重畳させ、重畳させた画像を表示装置101R、101Lに出力する。これにより、HMD100を頭部に装着した観察者の右目、左目の眼前には、それぞれの目の位置姿勢に対応した複合現実空間画像が表示されることになる。
図3は、このコンピュータ400の機能構成を示す図である。本実施形態では、同図に示した各部はソフトウェアでもって構成されたものとして説明する。なお、ソフトウェアの実行処理はCPU1001によりなされるものである。しかし、図3に示した各部の一部、もしくは全部をハードウェアでもって構成するようにしても良い。
401R、401Lは映像キャプチャ部であり、それぞれカメラ102R、102Lより入力した画像をディジタル信号として取り込む。
404は位置姿勢情報入力部であり、位置姿勢計測装置205から出力されたデータを取り込む。このデータは即ち、磁気レシーバ201の世界座標系における位置姿勢を示すデータ、磁気レシーバ203の世界座標系における位置姿勢を示すデータである。
406は、3DCG描画データで、モックアップモデルの画像を生成するためのデータである。3DCG描画データには、このモックアップモデルの幾何学形状や色を示すデータ、テクスチャデータなどが含まれる。
405は位置姿勢算出部であり、位置姿勢情報入力部404から入力される磁気レシーバ201、203の世界座標系における位置姿勢を示すデータを用いて、世界座標系におけるカメラ102R,102Lの位置姿勢、および世界座標系における指示具302の位置姿勢を求める。
407はCGレンダリング部で、先ず、後述の処理に従ってモックアップモデルを仮想空間中に配置する。そして、カメラ102R、102Lの位置姿勢(磁気レシーバ201とカメラ102R、102Lとの位置姿勢関係を予めバイアスとして求めておけば、磁気レシーバ201により計測した位置姿勢にこのバイアスを加えることで、カメラ102R、102Lの位置姿勢は求めることができる)に応じて見える仮想空間の画像(配置したモックアップモデルを含む仮想空間の画像)を生成する。なお、所定の位置姿勢を有する視点から見える仮想空間の画像を生成する処理については周知の技術であるので、これに関する詳細な説明は省略する。また、以下では、カメラ102R、102Lを総称して「視点」と呼称する場合がある。
402R、402Lはそれぞれ映像合成部であり、映像キャプチャ部401R、401Lから入力した現実空間の画像上に、CGレンダリング部407が生成したカメラ102Rの位置姿勢に応じて見える仮想空間の画像、カメラ102Lの位置姿勢に応じて見える仮想空間の画像を重畳させ、それぞれ、映像生成部403R、403Lに出力する。これにより、カメラ102Rの位置姿勢に応じて見える複合現実空間の画像、カメラ102Lの位置姿勢に応じて見える複合現実空間の画像を生成することができる。
映像生成部403R、403Lはそれぞれ、映像合成部402R、402Lから出力された複合現実空間の画像をアナログ信号に変換し、それぞれ表示装置101R、101Lに映像信号として出力する。これにより、HMD100を頭部に装着した観察者の右目、左目の眼前には、それぞれの目に対応した複合現実空間の画像が表示される。
上記構成による一般的なシステムの処理の流れを、図4を用いて説明する。図4は、観察者に複合現実空間の画像を提供するためにシステムを構成する各装置が行う処理の流れを示す図である。
観察者が自身の手に保持している指示具302に備わっている磁気レシーバ203は、世界座標系における自身の位置姿勢に応じた磁気を検知するので、その検知結果を信号として位置姿勢計測装置205に出力する。位置姿勢計測装置205は、受けた信号に基づいて、世界座標系における磁気レシーバ203の位置姿勢を示すデータをコンピュータ400に出力する(2010)。
また、観察者の頭部に装着されているHMD100に備わっている磁気レシーバ201は自身の世界座標系における位置姿勢に応じた磁気を検知するので、その検知結果を信号として位置姿勢計測装置205に出力する。位置姿勢計測装置205は、受けた信号に基づいて、世界座標系における磁気レシーバ201の位置姿勢を示すデータをコンピュータ400に出力する(2020)。
コンピュータ400側では、I/F1007を介して「世界座標系における磁気レシーバ201の位置姿勢を示すデータ」、「世界座標系における磁気レシーバ203の位置姿勢を示すデータ」が入力されるので、CPU1001はこれらを一時的にRAM1002に格納する。そしてCPU1001は位置姿勢算出部405として機能し、世界座標系におけるカメラ102R、102Lの位置姿勢を求める(2030)。
ここで、磁気レシーバ201とカメラ102Rとの位置姿勢関係、磁気レシーバ201とカメラ102Lとの位置姿勢関係はそれぞれバイアスとして予め測定しておき、データとして外部記憶装置105に保存しておくので、I/F1007を介して世界座標系における磁気レシーバ201の位置姿勢を受信すると、これにそれぞれバイアスを加えることで、世界座標系におけるカメラ102R、102Lの位置姿勢が求まる。
なお、このように、世界座標系における視点の位置姿勢を求める為の処理、及び構成についてはこれに限定するものではないし、またこのような処理は一般に周知のものであるので、これ以上の説明は省略する。
また以下では、世界座標系における磁気レシーバ203の位置姿勢を「世界座標系における指示具302の位置姿勢」として用いる。
また、世界座標系は現実空間と仮想空間とで共有しているものとする。即ち、現実空間における世界座標系の原点、及び座標軸と、仮想空間における世界座標系の原点、及び座標軸とはそれぞれ一致しているものとする。
そしてCPU1001はCGレンダリング部407として機能するのであるが、先ず、「世界座標系における視点の位置姿勢」、「世界座標系における指示具302の位置姿勢」を用いて、カメラ座標系(視点(カメラ102R、102Lの何れか、若しくはそれぞれの位置の中点)の位置姿勢を基準とする座標系であり、視点の位置を原点とし、この原点位置から視線方向にのびる軸と、この軸で直交する2軸とで構成される座標系)における指示具302の位置姿勢を求め、求めた位置姿勢に基づいてモックアップモデルを配置する。そして、配置したモックアップモデルを含む仮想空間を、カメラ102R、102Lのそれぞれから見た場合に見える画像を生成する(2040)。
これにより、カメラ102Rの位置姿勢に応じて見える仮想空間の画像、カメラ102Lの位置姿勢に応じて見える仮想空間の画像を生成することができる。
一方で、カメラ102R、102Lはそれぞれ、現実空間の動画像を撮像するので、各フレームの画像信号はコンピュータ400に入力される(3010)。コンピュータ400側では、I/F1007を介して各フレームの画像がデータとして入力されるので、CPU1001はこれをRAM1002に順次格納する(3020)。
そして、CPU1001は、RAM1002に格納した現実空間の画像上に上記処理で生成した仮想空間の画像を重畳させて、複合現実空間の画像を生成する(4010)。より詳しくは、カメラ102Rから入力した現実空間の画像上に、カメラ102Rから見た仮想空間の画像を重畳させて、カメラ102Rから見える複合現実空間の画像を生成すると共に、カメラ102Lから入力した現実空間の画像上に、カメラ102Lから見た仮想空間の画像を重畳させて、カメラ102Lから見える複合現実空間の画像を生成する。
そして生成したそれぞれの複合現実空間画像をI/F1007を介して表示装置102R、102Lに出力する。これにより、HMD100を頭部に装着した観察者の右目、左目の眼前には、それぞれの目に対応した複合現実空間の画像が表示される。
なお、この画像上には、指示具302の位置姿勢に基づいて配置されたモックアップモデルの画像も含まれ得る。
ここで、一般に3DCGデータは3DCGオブジェクトという仮想物体の集合で定義される。3DCGオブジェクトの表現にはいくつか方法があるが、ここでは3DCGオブジェクトは平面分あるいは3DCGオブジェクトの集合と定義する。平面分はそれを構成する複数の頂点の座標から構成され、さらに各頂点または平面分の法線や色等を含むこともある。この座標や法線を定義するのに用いた座標系を物体座標系と呼び、各CGオブジェクトに対してひとつ定義される。
座標系にはまた世界座標系、あるいは絶対座標系というものもある。これは仮想空間にひとつ定義されたもので、一般に静止していると考えて差し支えのないものを選ぶ。たとえば部屋のインテリアの配置を行うのであれば、部屋に対して静止している座標系(「部屋」を構成するCGオブジェクトの物体座標系でもよい)を選択する。
仮想空間にCGオブジェクトを配置するとは、そのCGオブジェクトの物体座標系を世界座標系に配置するということである。例えば同一のCGデータのインスタンスがふたつあった場合、これらの物体座標系を世界座標系内で1メートル離して配置すれば1メートル離れた位置に同じ形状のふたつの物体があることになる。
観察者が仮想空間内に配置されたCGオブジェクトを観察するということは、さらに仮想空間内にカメラを配置し、そのカメラが撮影する映像を観察するということになる。このカメラに対して静止した座標系をカメラ座標系と呼ぶ。すなわち仮想空間内に配置されたCGオブジェクトを観察するとは、各CGオブジェクト固有の物体座標系を世界座標系を経由してカメラ座標系に変換することに他ならない。
そこで、上記2030の処理において、モックアップモデルやその他の仮想物体を配置する為の処理について、説明する。
図5は、上記処理2030において、モックアップモデルやその他の仮想物体を配置するための処理の流れを示す図である。
ここで、モックアップモデルを含む各仮想物体は、ポリゴン(平面分)でもって構成されているものとして説明するが、仮想物体の構成要素がポリゴンでなくても以下の説明の本質は変わらない。
仮想物体を構成する各ポリゴンの各頂点の座標値は、この仮想物体に1つ定義される座標系(物体座標系)に従っている。よって、仮想空間中に所望の位置姿勢でもって仮想物体を配置する場合には、物体座標系が仮想空間中で所望の位置姿勢となるように各ポリゴンの各頂点の座標値を変換する。
また、本実施形態では、モックアップモデルは指示具302の位置姿勢に基づいて配置するし、それ以外の仮想物体については予め決められた位置姿勢に配置される。
そこで、図5に示す如く、モックアップモデルについては、指示具302の位置姿勢に基づいて仮想空間中のモックアップモデルの配置位置姿勢が決まると、モックアップモデルの物体座標系が仮想空間中でこの配置位置姿勢となるべく、モックアップモデルを構成する各ポリゴンの各頂点の座標値を変換する(501)。また、その他の仮想物体については、予め仮想空間中に配置する位置姿勢が決まっているので、その他の仮想物体の物体座標系が仮想空間中でこの配置位置姿勢となるべく、仮想物体を構成する各ポリゴンの各頂点の座標値を変換する(502)。
そして、それぞれ求めた配置位置を、カメラ座標系におけるものに変換する。即ち、カメラ座標系におけるそれぞれの仮想物体の位置姿勢を求める(503)。
これにより、各仮想物体を仮想空間中に配置することができる。なお、以上の説明、即ち、モックアップモデルを含む各仮想物体を仮想空間中に配置し、仮想物体の配置後の仮想空間を視点から見た画像の生成については周知のものであるのだが、本実施形態では更に、モックアップモデルの配置位置姿勢の自由度を観察者が適宜変更可能とするような構成を有する。
次に、モックアップモデルの配置位置(及び姿勢)の決定方法について説明する。
本実施形態では、コンピュータ400の操作者(HMD100を頭部に装着した観察者でも良い)は、操作部1004を用いて2つのモードのうち何れかを設定することができる。一方のモードは、モックアップモデルを指示具302の位置姿勢に配置することで、その位置姿勢を自在に変更可能にするモード(第1のモード)、他方のモードは、モードを設定した時点での視線方向のみにモックアップモデルを移動可能にさせるモード(第2のモード)である。
ここで、モックアップモデルを構成する各ポリゴンの各頂点の座標値(3次元行ベクトル)をp、モックアップモデルの物体座標系をモックアップモデルの配置位置姿勢でもって仮想空間中に配置するべく、この座標値pを変換した座標値(3次元行ベクトル)をp’とする。ここで、p、p’は3次元行ベクトルではあるものの、移動変換を行列演算で行うために、同次座標を用いる。よって、pの要素3つに4つめの要素1を並べた行ベクトルを(p、1)とすると、以下の式が成り立つ。
(p’,1)T=Cs・(p,1)T=Xs・Rs・(p,1)T
ここでCsは(p、1)を(p’、1)に変換するための変換行列であり、平行移動行列Xs、回転行列Rsの積でもって表現される。
ここでCsは(p、1)を(p’、1)に変換するための変換行列であり、平行移動行列Xs、回転行列Rsの積でもって表現される。
ここで、第1のモードが選択されると、CPU1001はこれを検知し、時刻tの時点での世界座標系における指示具302の位置姿勢によって決まるベクトルs(t)を取得し、これを用いて、p’を
(p’,1)T(t)=Cs(t)・(p,1)T=X(s(t))・Rs(t)・(p,1)T (1)
として求められる。ここでX(s)はベクトルsだけ移動させる平行移動行列である。
(p’,1)T(t)=Cs(t)・(p,1)T=X(s(t))・Rs(t)・(p,1)T (1)
として求められる。ここでX(s)はベクトルsだけ移動させる平行移動行列である。
これにより、指示具302の位置姿勢が得られれば、モックアップモデルは、常に指示具302の位置姿勢に配置されていることになる。逆に言えばs(t)はモックアップモデルが常に指示具302の位置姿勢に配置されるように定める。前述の通りs(t)は指示具302の位置姿勢のみから算出可能である。
一方、第2のモードを選択すると、CPU1001はこれを検知し、先ず、モードが選択されたタイミングTにおける指示具302の位置姿勢によって決まるベクトルs(T)、及びその時点での視線方向v(T)(単位ベクトル)をRAM1002に記憶させる。
そして、p’を以下の式に従って求める。
(p’,1)T(t)=Cf(t,T)・(p,1)T (2)
=X(((s(t)−s(T))・v(T))・v(T))・Cs(T)・(p,1)T
即ち、指示具302の位置姿勢をどのように変更させても、モックアップモデルはタイミングTにおける視線方向に平行な方向のみにしか移動しなくなる(タイミングTにおける視点の姿勢を方向ベクトルとする直線上に仮想物体を配置。なお視点の姿勢を表す方向ベクトルとは視線方向を表す方向ベクトルのことである。)。
=X(((s(t)−s(T))・v(T))・v(T))・Cs(T)・(p,1)T
即ち、指示具302の位置姿勢をどのように変更させても、モックアップモデルはタイミングTにおける視線方向に平行な方向のみにしか移動しなくなる(タイミングTにおける視点の姿勢を方向ベクトルとする直線上に仮想物体を配置。なお視点の姿勢を表す方向ベクトルとは視線方向を表す方向ベクトルのことである。)。
図6は、処理2030中の、モックアップモデルの配置処理のフローチャートである。CPU1001は、操作部1004からのモードの選択指示を受け付け、第1のモードが選択されると、処理をステップS601を介してステップS602に進め、上記式(1)に従ってモックアップモデルを仮想空間中に配置する(ステップS602)。一方、第2のモードが選択されると、処理をステップS601を介してステップS603に進め、第2のモードが選択されたタイミングTにおける指示具302の位置姿勢によって決まるベクトルs(T)、視線方向v(T)をRAM1002に格納する(ステップS603)。そして格納したs(T)、v(T)を用いて上記式(2)に従ってモックアップモデルを仮想空間中に配置する(ステップS604)。
即ち、モードを切り替えることで、変換に用いる行列を切り替え得ることになる。なお、この説明では、モードの切り替えは操作部1004を用いて行うとしたが、指示具302にスイッチを設け、このスイッチでもってモードの選択指示を入力するようにしても良いし、その入力形態については限定するものではない。
また、指示具302の一連の動きを時刻と共に記録しておき、その記録をもとにビデオ編集における特定フレームの検索のように、再生やコマ送りを行いながら時刻を指定してもよい。すなわち、あるタイミングTを求めるために最も有用な方式を用いればよく、タイミングTの求め方については特に限定するものではない。
また、本実施形態では、HMDにはビデオシースルータイプのものを用いているが、光学シースルータイプのものを用いるようにしても良い。
[第2の実施形態]
第1の実施形態で説明したモックアップモデルの移動制御では、モックアップモデルの形状によっては所望の位置に移動させることが難しい場合もある。その例を図7に示す。 図7(a)は、2つの仮想物体701,702が所望の位置姿勢で合わさっている状態を示す図で、図7(b)は、2つの仮想物体701,702が所望の位置姿勢で合わさっていない状態を示す図である。
第1の実施形態で説明したモックアップモデルの移動制御では、モックアップモデルの形状によっては所望の位置に移動させることが難しい場合もある。その例を図7に示す。 図7(a)は、2つの仮想物体701,702が所望の位置姿勢で合わさっている状態を示す図で、図7(b)は、2つの仮想物体701,702が所望の位置姿勢で合わさっていない状態を示す図である。
このように、仮想物体702の形状によっては、図7(b)に示す如く、仮想物体701に合わせることが難しい場合もあり、且つ何れの場合にも視点700からは図8に示す如く、同じように見える。図8は、仮想物体701,702を視点700から見たときに見える画像の例を示す図である。
このような問題を解消するためには、図7の紙面に垂直な方向かつ図8の左右方向に軸を取り、この軸まわりの回転は拘束しないようにする。
こうすることにより、観察者はたとえばこの仮想物体の右側に回り込んで(この場合は観察者からは図7のように見える)仮想物体の位置姿勢を調整することが容易になる。
具体的には第1の実施形態において回転行列Rを上記軸回りの回転の変換Raとその他の変換Rbに分解する。
R=Ra・Rb
その結果、以下の式が成り立つ。
その結果、以下の式が成り立つ。
(p’,1)T(t)=Cf(t,T)・(p,1)T
=X(((s(t)−s(T))・v(T))・v(T))・X(s(T))・Ra(t)・Rb(T)・(p,1)T
[第3の実施形態]
第1,2の実施形態では、1つの指示具に対して1つの仮想物体を関連付けて操作する場合を説明したが、複数の指示具のそれぞれに仮想物体を関連付けて操作するようにしても良い。
=X(((s(t)−s(T))・v(T))・v(T))・X(s(T))・Ra(t)・Rb(T)・(p,1)T
[第3の実施形態]
第1,2の実施形態では、1つの指示具に対して1つの仮想物体を関連付けて操作する場合を説明したが、複数の指示具のそれぞれに仮想物体を関連付けて操作するようにしても良い。
図7に示すCGオブジェクト702は世界座標系内で静止しており、これに合わせるようにCGオブジェクト701を操作するように第2の実施形態では説明を行った。しかしCGオブジェクト702にも別の物体操作デバイスが関連付けられていれば、例えばCGオブジェクト701は右手で、CGオブジェクト702は左手で操作を行うことができる。こうすることにより物体の操作が容易になり、また観察者から指示を出した後に、観察者自らが回りこまずとも物体操作デバイスを回転させることで先ほどまで見えづらかった方向からCGオブジェクトを観察することができる。
但しこの場合は、観察者が指示を出した時点でCGオブジェクト701の動きを世界座標系に対して制限しても意味がない。CGオブジェクト701はCGオブジェクト702に対して合わせこむ作業を行っているのであるから、CGオブジェクト702に対して動きを制限しなければならない。
このためには、図9に示したフローチャートに従った処理を行うことで、モックアップモデル(ここではCGオブジェクト701に相当)の配置処理を行えばよい。図9は、本実施形態に係るモックアップモデルの配置処理のフローチャートである。
先ず、以下で用いる座標値を全て仮想物体702の基準座標系におけるものに変換する(ステップS901)。この基準座標系とは、仮想物体702の位置姿勢を基準とする座標系であり、仮想物体702の位置を原点とし、姿勢成分で決まる3軸とで構成される座標系のことである。
そして、この座標系において図6のフローチャートに従った処理を行う(ステップS902)。そして、ステップS902による処理により得られる座標値は上記基準座標系に従ったものであるので、これを世界座標系におけるものに変換する(ステップS903)。
こうすることによりCGオブジェクト701はCGオブジェクト702に対して移動が制限されたものになる。なお、当然のことであるが最終的に求める変換C(CsもしくはCf)はステップS902で得られるそのものではなく、CGオブジェクト702に対する座標変換とその逆変換(世界座標系に対する座標値に戻す変換)の合成変換とする。
以上の説明により、何れの実施形態であっても、観察者が指定するタイミングで、観察者から見て奥行き方向へのCGの移動操作のみを許可し、他の方向すなわち観察者の視線に垂直な方向への移動を制限することにより、6自由度センサーに対応付けられたCG物体を他のCG物体、あるいは現実物体との位置関係を所望の通りに合わせることが可能になる。
[その他の実施形態]
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
Claims (7)
- 観察者の視点の位置姿勢を取得する第1の取得工程と、
前記観察者が操作する指示具の位置姿勢を取得する第2の取得工程と、
第1のモード、第2のモードの何れかを指示する指示手段と、
前記第1のモードが指示された場合には、前記第2の取得工程で取得した位置姿勢に仮想物体を配置する第1の配置工程と、
前記第2のモードが指示された場合には、指示された時点における前記視点の姿勢を方向ベクトルとする直線上に仮想物体を配置する第2の配置工程と、
前記第1の配置工程、若しくは前記第2の配置工程の何れかで配置された仮想物体を含む仮想空間を、前記第1の取得工程で取得した位置姿勢の視点から見える画像を生成する生成工程と、
前記生成工程で生成した画像を外部に出力する出力工程と
を備えることを特徴とする画像処理方法。 - 前記第2のモードが指示されたタイミングTにおいて前記第1の取得工程が取得した前記視点の姿勢を方向ベクトルとする単位ベクトルをv(T)、当該タイミングTにおいて前記第2の取得工程で取得した位置姿勢によって決まるベクトルをs(T)、時刻t(t>T)において前記第2の取得工程で取得した位置姿勢によって決まるベクトルをs(t)、平行移動変換行列をX、回転行列をRsとすると、
仮想物体の物体座標系における構成要素の座標値をpとし、時刻tにおいて仮想空間中に配置した当該構成要素の座標値をp’とすると
(p’,1)T(t)=Cf(t,T)・(p,1)T
=X(((s(t)−s(T))・v(T))・v(T))・X(s(T))・Rs(T)・(p,1)T
であることを特徴とする請求項1に記載の画像処理方法。 - 前記第2のモードが指示されたタイミングTにおいて前記第1の取得工程が取得した前記視点の姿勢を方向ベクトルとする単位ベクトルをv(T)、当該タイミングTにおいて前記第2の取得工程で取得した位置姿勢によって決まるベクトルをs(T)、平行移動変換行列をX、回転行列をRa、Rbとすると、
仮想物体の物体座標系における構成要素の座標値をpとし、時刻tにおいて仮想空間中に配置した当該構成要素の座標値をp’とすると
(p’,1)T(t)=Cf(t,T)・(p,1)T
=X(((s(t)−s(T))・v(T))・v(T))・X(s(T))・Ra(t)・Rb(T)・(p,1)T
であることを特徴とする請求項1に記載の画像処理方法。 - 更に、前記視点から見える現実空間の画像を取得する第3の取得工程を備え、
前記出力工程では、前記生成工程で生成した画像を前記第3の取得工程で取得した画像上に重畳させて外部に出力することを特徴とする請求項1乃至3の何れか1項に記載の画像処理方法。 - 観察者の視点の位置姿勢を取得する第1の取得手段と、
前記観察者が操作する指示具の位置姿勢を取得する第2の取得手段と、
第1のモード、第2のモードの何れかを指示する指示手段と、
前記第1のモードが指示された場合には、前記第2の取得手段が取得した位置姿勢に仮想物体を配置する第1の配置手段と、
前記第2のモードが指示された場合には、指示された時点における前記視点の姿勢を方向ベクトルとする直線上に仮想物体を配置する第2の配置手段と、
前記第1の配置手段、若しくは前記第2の配置手段の何れかが配置した仮想物体を含む仮想空間を、前記第1の取得手段が取得した位置姿勢の視点から見える画像を生成する生成手段と、
前記生成手段が生成した画像を外部に出力する出力手段と
を備えることを特徴とする画像処理装置。 - コンピュータに請求項1乃至4の何れか1項に記載の画像処理方法を実行させることを特徴とするプログラム。
- 請求項6に記載のプログラムを格納することを特徴とする、コンピュータ読み取り可能な記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005066139A JP2006252059A (ja) | 2005-03-09 | 2005-03-09 | 画像処理方法、画像処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005066139A JP2006252059A (ja) | 2005-03-09 | 2005-03-09 | 画像処理方法、画像処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006252059A true JP2006252059A (ja) | 2006-09-21 |
Family
ID=37092497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005066139A Withdrawn JP2006252059A (ja) | 2005-03-09 | 2005-03-09 | 画像処理方法、画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006252059A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8000213B2 (en) | 2007-06-29 | 2011-08-16 | Panasonic Corporation | Optical disc recording/reproducing apparatus |
-
2005
- 2005-03-09 JP JP2005066139A patent/JP2006252059A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8000213B2 (en) | 2007-06-29 | 2011-08-16 | Panasonic Corporation | Optical disc recording/reproducing apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7068562B2 (ja) | 拡張現実データを記録するための手法 | |
JP4667111B2 (ja) | 画像処理装置、画像処理方法 | |
JP4739002B2 (ja) | 画像処理方法、画像処理装置 | |
JP4533087B2 (ja) | 画像処理方法、画像処理装置 | |
JP4677281B2 (ja) | 画像処理方法、画像処理装置 | |
JP4847203B2 (ja) | 情報処理方法、情報処理装置 | |
JP2009123018A (ja) | 画像処理装置、画像処理方法 | |
JP2006209664A (ja) | システム、画像処理装置、情報処理方法 | |
JP2007034628A (ja) | 画像処理方法及び装置 | |
JP2008146497A (ja) | 画像処理装置、画像処理方法 | |
JP2005339377A (ja) | 画像処理方法、画像処理装置 | |
JP2009087161A (ja) | 画像処理装置、画像処理方法 | |
JP4689344B2 (ja) | 情報処理方法、情報処理装置 | |
JP2008217119A (ja) | システム、画像処理装置、画像処理方法 | |
JP2006085375A (ja) | 画像処理方法、画像処理装置 | |
JP2005251118A (ja) | 画像処理方法、画像処理装置 | |
JP2006252059A (ja) | 画像処理方法、画像処理装置 | |
JP4343744B2 (ja) | 画像処理方法、画像処理装置 | |
JP7465133B2 (ja) | 情報処理装置、情報処理方法 | |
JP2019040357A (ja) | 画像処理装置、画像処理方法、コンピュータプログラム | |
WO2021166751A1 (ja) | 情報処理装置、情報処理方法及びコンピュータプログラム | |
JP2016038632A (ja) | 画像処理装置、画像処理方法 | |
JP2006268351A (ja) | 画像処理方法、画像処理装置 | |
JP2019040356A (ja) | 画像処理装置、画像処理方法、コンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080513 |