米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> キヤノン株式会社

発明の名称 情報処理方法、情報処理装置
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2007−4714(P2007−4714A)
公開日 平成19年1月11日(2007.1.11)
出願番号 特願2005−187082(P2005−187082)
出願日 平成17年6月27日(2005.6.27)
代理人 【識別番号】100076428
【弁理士】
【氏名又は名称】大塚 康徳
発明者 下山 朋彦
要約 課題
現実空間の映像を取得するタイミングと、位置姿勢情報を取得するタイミングとの同期を取るための技術を提供すること。

解決手段
入力した位置姿勢情報に基づいて手持ちセンサ5000の移動量が極小となるタイミングを検知し、現実空間の映像に基づいて、手持ちセンサ5000の移動量が極小となるタイミングを検知し、それぞれのタイミングとに基づいて、現実空間の映像の取得タイミングと位置姿勢情報の取得タイミングとのずれを求める。
特許請求の範囲
【請求項1】
指示具の位置姿勢情報を連続して入力する第1の入力工程と、
前記指示具を含む現実空間の映像を連続して入力する第2の入力工程と、
前記第1の入力工程で入力した位置姿勢情報に基づいて、前記指示具の移動量が極小となるタイミングを検知する第1の検知工程と、
前記第2の入力工程で入力した映像に基づいて、前記指示具の移動量が極小となるタイミングを検知する第2の検知工程と、
前記第1の検知工程で検知したタイミングと前記第2の検知工程で検知したタイミングとに基づいて、前記現実空間の映像の取得タイミングと前記位置姿勢情報の取得タイミングとのずれを求める計算工程と、
前記計算工程で求めた前記ずれを出力する第1の出力工程と
を備えることを特徴とする情報処理方法。
【請求項2】
前記第1の検知工程では、前記第1の入力工程で入力した位置姿勢情報の変化に基づいて、前記指示具の移動量が極小となるタイミングを検知することを特徴とする請求項1に記載の情報処理方法。
【請求項3】
前記第2の検知工程では、前記指示具に取り付けられた所定の色を有するマーカの、前記第2の入力工程で入力した映像上における位置の変化に基づいて、前記指示具の移動量が極小となるタイミングを検知することを特徴とする請求項1に記載の情報処理方法。
【請求項4】
前記計算工程は、
前記第1の検知工程で検知したタイミングを古い順に並べるとts0, ts1, …., ts(n-1), ts(n)であるとし、前記第2の検知工程で検知したタイミングを古い順に並べるとtv0, tv1, …., tv(n-1), tv(n)であるとした場合に、
ts0〜ts(n)の中からtv(n-1)<ts(k)<tv(n)を満たすts(k)を探す工程と、
|tv(n-1) - ts(k)|と、|tv(n) - ts(k)|とを比較する工程と、
|tv(n-1) - ts(k)|の方が大きい場合には、tv(n) - ts(k)を前記ずれとして求める工程と、
|tv(n) - ts(k)|の方が大きいか等しい場合には、tv(n-1) - ts(k)を前記ずれとして求める工程と
を備えることを特徴とする請求項1乃至3の何れか1項に記載の情報処理方法。
【請求項5】
更に、
現実空間の映像を入力する第3の入力工程と、
ユーザの視点の位置姿勢情報を入力する第4の入力工程と、
前記第3の入力工程で映像を入力した時点から、前記計算工程で求めた前記ずれの分だけ前の時間に前記第4の入力工程で入力した位置姿勢情報に基づく視点から見える仮想空間の映像を生成する生成工程と、
前記生成工程で生成した映像を前記第3の入力工程で入力した映像上に重畳させてから出力する第2の出力工程と
を備えることを特徴とする請求項1乃至4の何れか1項に記載の情報処理方法。
【請求項6】
更に、
現実空間の映像を入力する第3の入力工程と、
ユーザの視点の位置姿勢情報を入力する第4の入力工程と、
前記第4の入力工程で入力した位置姿勢情報に基づく視点から見える仮想空間の映像を生成する生成工程と、
前記第4の入力工程で位置姿勢情報を入力した時点から前記計算工程で求めた前記ずれの分だけ前の時間に前記第3の入力工程で入力した映像上に、前記生成工程で生成した映像を重畳させてから出力する第2の出力工程と
を備えることを特徴とする請求項1乃至4の何れか1項に記載の情報処理方法。
【請求項7】
第1の状態、第2の状態の何れかの状態を取るように制御可能なデバイスを制御する制御工程と、
前記制御工程における制御に従って前記デバイスが第1の状態となったタイミングを検知する第1の検知工程と、
指示具を含む現実空間の映像に基づいて、前記デバイスが第1の状態となったタイミングを検知する第2の検知工程と、
前記第1の検知工程で検知したタイミングと、前記第2の検知工程で検知したタイミングとの差分を出力するの出力工程と
を備えることを特徴とする情報処理方法。
【請求項8】
指示具の位置姿勢情報を連続して入力する第1の入力手段と、
前記指示具を含む現実空間の映像を連続して入力する第2の入力手段と、
前記第1の入力手段が入力した位置姿勢情報に基づいて、前記指示具の移動量が極小となるタイミングを検知する第1の検知手段と、
前記第2の入力手段が入力した映像に基づいて、前記指示具の移動量が極小となるタイミングを検知する第2の検知手段と、
前記第1の検知手段が検知したタイミングと前記第2の検知手段が検知したタイミングとに基づいて、前記現実空間の映像の取得タイミングと前記位置姿勢情報の取得タイミングとのずれを求める計算手段と、
前記計算手段で求めた前記ずれを出力する第1の出力手段と
を備えることを特徴とする情報処理装置。
【請求項9】
第1の状態、第2の状態の何れかの状態を取るように制御可能なデバイスを制御する制御手段と、
前記制御手段による制御に従って前記デバイスが第1の状態となったタイミングを検知する第1の検知手段と、
指示具を含む現実空間の映像に基づいて、前記デバイスが第1の状態となったタイミングを検知する第2の検知手段と、
前記第1の検知手段が検知したタイミングと、前記第2の検知手段が検知したタイミングとの差分を出力するの出力手段と
を備えることを特徴とする情報処理装置。
【請求項10】
コンピュータに請求項1乃至7の何れか1項に記載の情報処理方法を実行させることを特徴とするプログラム。
【請求項11】
請求項10に記載のプログラムを格納することを特徴とする、コンピュータ読み取り可能な記憶媒体。
発明の詳細な説明
【技術分野】
【0001】
本発明は、現実空間と仮想空間とを合成した複合現実空間の画像を提供するための技術に関するものである。
【背景技術】
【0002】
MR、AR技術は実写映像とCG(Computer Graphics)とを合成し、仮想のCG物体が利用者の前に存在するかのように見せる為の技術である。
【0003】
MR技術の典型的なアプリケーションでは、利用者はビデオシースルー型のHMDを装着する。HMD内のディスプレイには、HMDの前面のカメラからの映像と、計算機が作成したCG映像が合成される。CG映像は、位置センサにより測定した利用者の視点の位置姿勢に応じて描かれるため、利用者にはあたかも現実空間に仮想のCGが存在するかのように見える。
【0004】
実際のMR技術の応用としては、図1に示すような工業デザインの検証が挙げられる。図1は、CADモデル(プリンタのトナーカートリッジのCADモデル)100を上記CG物体として表示し、CADモデルのプレビューに使用している様子を示す図である。このとき、上述の通り、このCADモデルをプレビューする利用者は、自身の頭部に上記HMD(Head Mount Display)を装着する必要がある。
【0005】
図2は、HMDの構成を示す図である。
【0006】
同図に示すHMDはビデオシースルー方式のHMDである。HMDは、右目カメラ1110、左目カメラ1111、HMD内蔵位置センサ1120、右目LCD1130、左目LCD1131からなる。
【0007】
利用者はHMDを自身の頭部に装着してCADモデルをプレビューする。このとき、図3に示す如く、HMD内の各LCD1130、1131には、各カメラ1110、1111で撮影された実写映像と、CG画像として描かれたCADモデル300が合成されて表示される。
【0008】
図4は、MR技術を使用したCADビューワの機器構成を示す図である。HMD1100に備わっているカメラにより撮影された実写映像は計算機1300にキャプチャされ、内部でCADモデルのCGと合成される。CADモデルは手持ちセンサ5000の位置に手持ちセンサ5000の姿勢でもって配置される。手持ちセンサ5000の位置姿勢はセンサ装置1200,1210により計測される。合成した画像は映像信号としてHMD1100に送られる。
【0009】
実写映像の上にCADモデルが合成されることで、利用者にはあたかもCADモデルがその場にあるかのように観測される。
【特許文献1】特開2002−271693号公報
【特許文献2】特開2003−303356号公報
【発明の開示】
【発明が解決しようとする課題】
【0010】
しかしながら先に示したシステムでは、取り込んだ実写映像とCADモデルとが完全に一致しないという問題があった。
【0011】
図5は、手持ちセンサ5000とCADモデル4000との位置姿勢関係を示す図である。同図に示す如く、手持ちセンサ5000が静止しているときには手持ちセンサ5000上にCADモデル4000が表示されていても、手持ちセンサ5000を移動させると手持ちセンサ5000の動きに遅れてCADモデル4000が動くといった症状が観測される。
【0012】
これは実写画像のキャプチャ時刻と位置情報の測定時刻が異なることが原因である。図5の場合には、実写画像のキャプチャ時刻の方が位置情報の測定時刻より早い場合である。言い換えると実写画像のキャプチャに時間がかかり、位置センサに比べてキャプチャが遅れている状況である。
【0013】
実写映像の場合には、HMD1100からの映像は計算機1300内のビデオキャプチャカード内で1フレーム分バッファされるので1/30秒以上の時間がかかる。また計算機1300内で映像を処理する前に、OSなどによる処理時間がかかっている。
【0014】
位置情報の場合には、位置センサ1200内のコントローラが磁気センサ1210からの信号を処理してセンサの位置を計算するのに時間がかかる。また位置センサ1200と計算機1300が通信する時間、計算機1300のOSなどによる処理時間がかかっている。
【0015】
このように実写映像、位置情報の取得には遅れ要因があり、両者の遅れ時間は異なっている。そのため計算機1300が単に実写映像と位置情報を取得して実写映像とCADモデル4000を合成しても、図5のように実写映像とCADモデル4000の位置がずれてしまっていた。
【0016】
またこのような遅れの解析や、どのような応用分野にそのMRシステムを使用できるか見極めるため、実写映像や位置情報の遅れの絶対量を知りたいという要求もある。例えば映像の遅れが0.3秒ほどあるから改良の余地があるとか、遅れが0.3秒ほどあるからHMDをかけてキャッチボールは難しそうだ、とかいった判断を行いたい。
【0017】
だがそのような遅れの絶対量も、従来のシステムでは知ることはできなかった。
【0018】
本発明は以上の問題に鑑みてなされたものであり、現実空間の映像を取得するタイミングと、位置姿勢情報を取得するタイミングとの同期を取るための技術を提供することを目的とする。
【0019】
また、それぞれの取得タイミングの同期を取ることが必要なシステムに適用することを目的とする。
【課題を解決するための手段】
【0020】
本発明の目的を達成するために、例えば本発明の情報処理方法は以下の構成を備える。
【0021】
即ち、指示具の位置姿勢情報を連続して入力する第1の入力工程と、
前記指示具を含む現実空間の映像を連続して入力する第2の入力工程と、
前記第1の入力工程で入力した位置姿勢情報に基づいて、前記指示具の移動量が極小となるタイミングを検知する第1の検知工程と、
前記第2の入力工程で入力した映像に基づいて、前記指示具の移動量が極小となるタイミングを検知する第2の検知工程と、
前記第1の検知工程で検知したタイミングと前記第2の検知工程で検知したタイミングとに基づいて、前記現実空間の映像の取得タイミングと前記位置姿勢情報の取得タイミングとのずれを求める計算工程と、
前記計算工程で求めた前記ずれを出力する第1の出力工程と
を備えることを特徴とする。
【0022】
本発明の目的を達成するために、例えば本発明の情報処理方法は以下の構成を備える。
【0023】
即ち、第1の状態、第2の状態の何れかの状態を取るように制御可能なデバイスを制御する制御工程と、
前記制御工程における制御に従って前記デバイスが第1の状態となったタイミングを検知する第1の検知工程と、
指示具を含む現実空間の映像に基づいて、前記デバイスが第1の状態となったタイミングを検知する第2の検知工程と、
前記第1の検知工程で検知したタイミングと、前記第2の検知工程で検知したタイミングとの差分を出力するの出力工程と
を備えることを特徴とする。
【0024】
本発明の目的を達成するために、例えば本発明の情報処理装置は以下の構成を備える。
【0025】
即ち、指示具の位置姿勢情報を連続して入力する第1の入力手段と、
前記指示具を含む現実空間の映像を連続して入力する第2の入力手段と、
前記第1の入力手段が入力した位置姿勢情報に基づいて、前記指示具の移動量が極小となるタイミングを検知する第1の検知手段と、
前記第2の入力手段が入力した映像に基づいて、前記指示具の移動量が極小となるタイミングを検知する第2の検知手段と、
前記第1の検知手段が検知したタイミングと前記第2の検知手段が検知したタイミングとに基づいて、前記現実空間の映像の取得タイミングと前記位置姿勢情報の取得タイミングとのずれを求める計算手段と、
前記計算手段で求めた前記ずれを出力する第1の出力手段と
を備えることを特徴とする。
【0026】
本発明の目的を達成するために、例えば本発明の情報処理装置は以下の構成を備える。
【0027】
即ち、第1の状態、第2の状態の何れかの状態を取るように制御可能なデバイスを制御する制御手段と、
前記制御手段による制御に従って前記デバイスが第1の状態となったタイミングを検知する第1の検知手段と、
指示具を含む現実空間の映像に基づいて、前記デバイスが第1の状態となったタイミングを検知する第2の検知手段と、
前記第1の検知手段が検知したタイミングと、前記第2の検知手段が検知したタイミングとの差分を出力するの出力手段と
を備えることを特徴とする。
【発明の効果】
【0028】
本発明の構成により、現実空間の映像を取得するタイミングと、位置姿勢情報を取得するタイミングとの同期を取ることができる。また、それぞれの取得タイミングの同期を取ることが必要なシステムに適用することができる。
【発明を実施するための最良の形態】
【0029】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【0030】
[第1の実施形態]
ユーザに現実空間と仮想空間とを合成した空間(以下、複合現実空間と呼称する)を提供するための本実施形態に係るシステムの外観については従来のものを用いるので、その外観は図4に示すものとなる。
【0031】
改めて、図4に示す各部について説明する。本実施形態に係るシステムは、現実空間中に仮想物体(CGモデル)を重畳させてユーザに提供する周知のMR技術を用いて、ユーザの観察対象である仮想物体に対して、ユーザがその位置や姿勢の変更といった各種の操作をより簡便にするためのものである。以下、本実施形態に係るシステムについて詳細に説明する。
【0032】
同図において1000はユーザで、本システムを用いて、現実空間中に仮想物体を重畳させた空間(複合現実空間)を観察する。ユーザ1000の頭部には周知のHMD1100が装着されており、ユーザ1000は自身の頭部に装着されたHMD1100により、複合現実空間の映像を見ることができる。
【0033】
ユーザ1000に提供する複合現実空間の映像は、HMD1100に接続されているコンピュータ1300により生成される。
【0034】
また、ユーザ1000は手持ちセンサ5000を手に持っている。なお、手持ちセンサ5000は必ずしも手に「持つ」必要はなく、手に「装着」していればよい。手持ちセンサ5000は、後述する3次元センサ固定局1210との相対位置姿勢を計測し、その計測結果を示す信号を後述する3次元センサ本体1200に出力する。
【0035】
3次元センサ固定局1210は、磁気センサの場合、HMD1100に備わっている後述のセンサ、手持ちセンサ5000がそれぞれの位置姿勢の計測を行うために検知する磁界を発生する。以下の説明では便宜上、センサは全て磁気センサものを用いることとするが、その他のセンサ、例えば、超音波センサなどを用いても以下の説明は実質的には同じである。
【0036】
3次元センサ本体1200は、HMD1100に備わっている後述のセンサ、3次元センサ固定局1210、手持ちセンサ5000を制御し、HMD1100に備わっている後述のセンサ、手持ちセンサ5000が計測した結果をデータとしてコンピュータ1300に出力する。
【0037】
コンピュータ1300は例えばPC(パーソナルコンピュータ)やWS(ワークステーション)等により構成されており、ユーザ1000に自身の頭部の位置姿勢に応じた複合現実空間の画像を提供するための各種の処理を行う。
【0038】
図7は、コンピュータ1300を含む、システムの基本構成を示すブロック図である。
【0039】
HMD1100はHMD内蔵センサ1120,右目カメラ1110、左目カメラ1111、右目LCD1130,左目LCD1131により構成されている。HMD内蔵センサ1120は、3次元センサ固定局1210から発せられる磁界を検知し、検知した磁界の強度を示す信号を3次元センサ本体1200に出力する。
【0040】
手持ちセンサ5000は、上述の通り、観察者1000の手に装着されているもので、その位置姿勢は観察者1000の手が動くことにより変化する。手持ちセンサ5000は、3次元センサ固定局1210から発せられる磁界を検知し、検知した磁界の強度を示す信号を3次元センサ本体1200に出力する。
【0041】
3次元センサ本体1200は、HMD内蔵センサ1120、手持ちセンサ5000から受けた信号の強度に基づいて、センサ座標系(3次元センサ固定局1210の位置を原点とし、この原点で互いに直交する3軸をそれぞれx、y、z軸とする座標系)におけるHMD内蔵センサ1120、手持ちセンサ5000の位置姿勢を示すデータを求め、コンピュータ1300に出力する。
【0042】
右目カメラ1110、左目カメラ1111はそれぞれ、HMD1100を頭部に装着する観察者1000の右目、左目から見える現実空間の動画像を撮像するものである。右目カメラ1110、左目カメラ1111のそれぞれにより撮像された動画像を構成する各フレームの画像データはコンピュータ1300に出力する。
【0043】
右目LCD1130、左目LCD1131はそれぞれ、右目カメラ1110、左目カメラ1111のそれぞれによって撮像された現実空間に、コンピュータ1300が生成した仮想物体の画像を重畳させた画像(複合現実空間の画像)を表示するものであり、これにより、HMD1100を頭部に装着した観察者1000は、自身の右目、左目に対応する複合現実空間の画像を眼前に見ることができる。
【0044】
図6は、手持ちセンサ5000の外観、内部構成を示す図である。図6(a)は手持ちセンサ5000の外観示す図で、5004は所定の色を有するマーカ、5005はコンピュータ1300の制御により点灯/消灯するLEDである。図6(b)は手持ちセンサ5000の内部構成を示す図で、5001は3次元センサ固定局1210からの磁界を検知するためのセンサ部、5002はセンサ部5001のカバーとして機能するセンサカバー、5003は手持ちセンサ5000をユーザ1000が手に保持する際に持つ手持ち部である。なお、手持ちセンサ5000の形状や構成についてもはこれに限定するものではないが、センサ部、マーカ、LEDが備わっていればよい。
【0045】
次にコンピュータ1300について説明する。
【0046】
シリアルI/O1310は、3次元センサ本体1200から出力されるデータを受ける為のインターフェースとして機能するものであり、受けたデータはメモリ1302に出力される。なお、このデータは上述の取り、HMD内蔵センサ1120や手持ちセンサ5000のセンサ座標系における位置姿勢を示すデータである。本実施形態ではこの位置姿勢は、位置(x、y、z)を示すデータと、姿勢(roll,pitch,yaw)を示すデータにより構成されているものとする。すなわち、HMD内蔵センサ1120、手持ちセンサ5000は、6自由度の計測センサである。
【0047】
なお、位置姿勢を表現する方法は他にも考えられ、これに限定するものではない。
【0048】
ここで、メモリ1302には、世界座標系における予め計測された3次元センサ固定局1210の位置姿勢を示すデータ(オフセットデータ)が記憶されている。従って、このオフセットデータを用いれば周知の通り、センサ座標系における任意の位置姿勢を、世界座標系における位置姿勢に変換することができるので、CPU1301は、オフセットデータと、シリアルI/O1310を介してメモリ1302に入力された「センサ座標系におけるHMD内蔵センサ1120の位置姿勢を示すデータ」とを用いれば、「世界座標系におけるHMD内蔵センサ1120の位置姿勢」を求めることができるし、オフセットデータと、シリアルI/O1310を介してメモリ1302に入力された「センサ座標系における手持ちセンサ5000の位置姿勢を示すデータ」とを用いれば、「世界座標系における手持ちセンサ5000の位置姿勢」を求めることができる。
【0049】
このような座標変換による位置姿勢の計算技術については周知の技術であるので、これ以上の説明は省略する。
【0050】
パラレルI/O1311は上記LED5005の点灯/消灯を制御するための制御信号をLED5005に送出するためのインターフェースとして機能するものである。なお、このような制御信号はCPU1301の制御により発行されるものである。
【0051】
ビデオキャプチャカード1320、1321はそれぞれ、右目カメラ1110、左目カメラ1111から入力される、各フレームの画像を受けるためのインターフェースとして機能するものであり、受けた画像は順次メモリ1302に出力する。本実施形態では、各フレームの画像はNTSCに準拠したものであるとするが、これに限定するものではない。
【0052】
ビデオカード1330,1331はそれぞれ、CPU1301が後述する処理により生成した右目、左目に対応する複合現実空間の画像を右目LCD1130、左目LCD1131に出力するためのインターフェースとして機能するものであり、右目、左目に対応する複合現実空間の画像はそれぞれ、VGAに準拠した画像信号としてビデオカード1330、1331を介して右目LCD1130、左目LCD1131に出力される。なお、出力する画像信号はVGAに準拠したものに限定するものではない。
【0053】
CPU1301は、コンピュータ1300全体の制御を行うと共に、コンピュータ1300が行うべき後述の各処理を実行する。このような処理の実行は、メモリ1302に記憶されている各種のプログラムやデータを実行することでなされる。
【0054】
メモリ1302は、CPU1301が各種の処理を実行するために使用するワークエリアや、CPU1301に各種の処理を実行させるためのプログラムやデータを記憶するためのエリア、また、シリアルI/O1310、ビデオキャプチャカード1320、1321を介して入力される各種のデータを一時的に記憶するためのエリアを備える。
【0055】
PCIブリッジ1303は、CPU1301、メモリ1302がつながっているバスと、シリアルI/O1310、パラレルI/O1311、ビデオキャプチャカード1320、1321,ビデオカード1330、1331を繋ぐバスとを電気的に繋ぐためのものである。
【0056】
次に、以上の構成を有するシステムによって、ユーザ1000に複合現実空間の画像を提供するための処理について説明する。
【0057】
図8は、ユーザ1000に複合現実空間の画像を提供するために、コンピュータ1300が行う処理のフローチャートである。なお、上述の説明のように、手持ちセンサ5000、HMD内蔵センサ1120により計測した位置姿勢と、カメラ(以下、右目カメラ1110,左目から1111の両方に共通の説明の場合には単に「カメラ」と呼称する)からの現実空間の画像とは同時刻に取得することができず、それぞれの取得タイミングは様々な要因から「ずれ」が生じる。
【0058】
そこで本実施形態ではこの「ずれ」を軽減させることで、複合現実空間の画像をユーザ1000に提供する際、現実空間と仮想空間とのずれを軽減させる。
【0059】
なお、以下の説明では、このずれ(遅れ時間)はn/60秒であるとする。即ち、手持ちセンサ5000、HMD内蔵センサ1120により計測した位置姿勢の取得タイミングよりも、カメラからの現実空間の画像の取得タイミングはn/60秒遅れているとする。よって、n>0の場合には手持ちセンサ5000、HMD内蔵センサ1120により計測した位置姿勢の取得タイミングよりも、カメラからの現実空間の画像の取得タイミングが遅れていることになるし、n<0の場合には、手持ちセンサ5000、HMD内蔵センサ1120により計測した位置姿勢の取得タイミングよりも、カメラからの現実空間の画像の取得タイミングが進んでいるし、n=0の場合にはそれぞれのタイミングは一致していることになる。このnについては予め決まっており、nの決定については後述する。
【0060】
また、図8に示したフローチャートに従った処理をCPU1301に実行させるためのプログラムやデータはメモリ1302に格納されており、CPU1301はこれを用いて処理を行うことで、コンピュータ1300は以下説明する各処理を行うことになる。
【0061】
先ず、カメラにより撮像された現実空間の画像(ビデオ映像)がビデオキャプチャカード1320,1321を介してコンピュータ1300に入力されるので、CPU1301はこれを検知し、順次メモリ1302のビデオバッファに格納する(取り込む)(ステップS100)。
【0062】
次に、HMD内蔵センサ1120のセンサ座標系における位置姿勢情報、手持ちセンサ5000(のセンサ部5001)のセンサ座標系における位置姿勢情報が3次元センサ本体1200からシリアルI/O1310を介してコンピュータ1300に入力されるので、CPU1301はこれを検知して、メモリ1302に格納する(ステップS101)。なお、格納する際には、世界座標系の位置姿勢に変換してから格納する。世界座標系における位置姿勢に変換する技術については上述の通りである。
【0063】
次に、n=0であるのかをチェックする(ステップS102)。n=0である場合には、処理をステップS111に進め、以降の処理を行う。一方、n≠0である場合には処理をステップS103に進め、n>0であるのかをチェックする(ステップS103)。n>0である場合には処理をステップS108に進め、先ず、ステップS101でメモリ1302に格納した手持ちセンサ5000の(世界座標系における)位置姿勢情報をメモリ1302内に備わっている第1のFIFOに格納(PUSH)すると共に、HMD内蔵センサ1120の(世界座標系における)位置姿勢情報をメモリ1302内に備わっている第2のFIFOに格納(PUSH)する(ステップS108)。
【0064】
そして、現実空間の画像がメモリ1302に格納される毎に、FIFOから手持ちセンサ5000の位置姿勢情報、HMD内蔵センサ1120の位置姿勢情報を取り出して(POPして)以降の処理で用いる。上記第1,2のFIFOにはn個のデータが格納可能となっており、且つ現実空間の画像は1/60秒毎にメモリ1302に格納されるので、第1,2のFIFOからは1/60秒毎に位置姿勢情報が読み出されることになる。
【0065】
よって、n>0の場合には、以降の処理で用いる手持ちセンサ5000の位置姿勢情報、HMD内蔵センサ1120の位置姿勢情報は、FIFOに格納してから(取得してから)n/60後のものを用いることになる。
【0066】
いずれにせよ、ここでは、CPU1301が位置姿勢情報をメモリ1302に取得してから、現実空間の画像をメモリ1302に取得するまでにn/60秒の「ずれ」が生じているので、取得した現実空間の画像を以降の処理で扱う場合、本来これと同じ時刻に取得されるべき位置姿勢情報はn/60秒前のものであるので、上記FIFOから取り出し可能なもの(即ちn/60秒前にメモリ1302に取得したもの)を用いる。
【0067】
よって、図8に戻って、第1のFIFOから手持ちセンサ5000の位置姿勢情報を取り出す(POPする)と共に、第2のFIFOからHMD内蔵センサ1120の位置姿勢情報を取り出す(POPする)(ステップS109)。
【0068】
一方、n<0である場合には処理をステップS106に進め、先ず、ステップS100でメモリ1302のビデオバッファに格納した画像をメモリ1302内に備わっている第3のFIFOに格納(PUSH)する(ステップS106)。
【0069】
そして、手持ちセンサ5000の位置姿勢情報、HMD内蔵センサ1120の位置姿勢情報がメモリ1302に格納される毎に、FIFOから現実空間の画像を取り出して(POPして)以降の処理で用いる。上記第3のFIFOにはn個のデータが格納可能となっており、且つ位置姿勢情報は1/60秒毎にメモリ1302に格納されるので、第3のFIFOからは1/60秒毎に現実空間の画像が読み出されることになる。
【0070】
よって、n<0の場合には、以降の処理で用いる現実空間の画像は、FIFOに格納してから(取得してから)n/60後のものを用いることになる。
【0071】
そして、第3のFIFOから、画像を取り出す(POPする)(ステップS107)。取り出した画像は上記ビデオバッファに格納する。
【0072】
次に、第2のFIFOから取り出したHMD内蔵センサ1120の位置姿勢情報、若しくはステップS101で取得したHMD内蔵センサ1120の位置姿勢情報を用いて、カメラの位置姿勢を示すViewMatrixを生成する(ステップS111)。カメラの位置姿勢については、例えば、HMD内蔵センサ1120とカメラとの位置姿勢関係を予めオフセットとして測定しておき、データとしてメモリ1302に保持させておく。そして、ステップS111では、HMD内蔵センサ1120の位置姿勢情報にこのオフセットを付加することで、世界座標系におけるカメラの位置姿勢を求めることができる。それをマトリックスの形態でもって表現すると、ViewMatrixとなる。
【0073】
次に、第1のFIFOから取り出した手持ちセンサ5000の位置姿勢情報、若しくはステップS101で取得した手持ちセンサ5000の位置姿勢情報を用いて、手持ちセンサ5000の位置姿勢を示すModelingMatrixを生成する(ステップS112)。これは即ち、世界座標系における手持ちセンサ5000の位置姿勢を示すものである。よって、次に、仮想物体(ここではCADモデル)を手持ちセンサ5000の位置姿勢に配置し、上記ViewMatrixを用いて、カメラから見えるCADモデルを含む仮想空間の画像を生成し、メモリ1302における上記ビデオバッファに描画する(ステップS113)。このビデオバッファには先にステップS100、若しくはステップS107で現実空間の画像が描画されているので、結果としてこのビデオバッファには現実空間の画像上に仮想空間の画像が重畳された画像、即ち、複合現実空間の画像が生成されたことになるので、CPU1301はこれをビデオカード1330,1331に転送する(ステップS114)。
【0074】
そしてビデオカード1330、1331に転送された複合現実空間の画像は右目LCD1130,左目LCD1131に転送されることになるので、ユーザ1000の右目、左目の眼前にはそれぞれの目の位置姿勢に応じた複合現実空間の画像が表示されることになる。
【0075】
以上の処理により、ほぼ同時刻に取得されるべき現実空間の画像、位置姿勢情報を用いて複合現実空間の画像を生成することができるので、例えばユーザ1000が手持ちセンサ5000を動かして移動させても、それに追従してセンサの位置とずれることなくCADモデルを移動させることができ、現実空間と仮想空間との位置ずれを軽減することができる。
【0076】
次に、FIFOが保持可能なデータ数n(換言すればずらす時間を決定するパラメータ)を決定する処理について、同処理のフローチャートを示す図9を用いて説明する。なお、同処理は、図8に示したフローチャートに従った処理を行う前に行われるべきものである。また、図9に示したフローチャートに従った処理をCPU1301に実行させるためのプログラムやデータはメモリ1302に格納されており、これをCPU1301が用いて処理を行うことで、コンピュータ1300は以下説明する各処理を行うことになる。
【0077】
ここでは、ユーザ1000は手に保持している手持ちセンサ5000を左右に振る。そしてその様をHMD1100を介して見る。即ち、カメラによりその様を撮像する。
【0078】
その場合に、コンピュータ1300は以下のような処理を行う。
【0079】
先ず、カメラにより撮像された上記様は現実空間の画像としてビデオキャプチャカード1320,1321を介して順次メモリ1302に格納される(ステップS200)。次に、手持ちセンサ5000のセンサ部5001により計測された手持ちセンサ5000の位置姿勢情報が3次元センサ本体1200、シリアルI/O1310を介してコンピュータ1300に入力されるので、CPU1301はこれを検知して、世界座標系における位置姿勢情報に変換してからメモリ1302に格納する(ステップS201)。なお、メモリ1302にはその前に格納した位置姿勢情報も保持されているものとする。即ち、現時点で格納したものから所定量分の過去の位置姿勢情報が格納されているものとする。
【0080】
そして、ステップS201で位置姿勢情報を格納した時刻を「キャプチャ時刻」としてメモリ1302に格納する(ステップS202)。時刻についてはCPU1301が常に計時しているので、CPU1301はステップS201における処理を行うと共に、このときの時刻をメモリ1302に格納する。
【0081】
次に、CPU1301は、ステップS200でメモリ1302に格納した現実空間の画像から、マーカ5004の領域を検出し、検出した位置を求める(ステップS203)。ステップS203における処理としては例えば、画像を構成する各画素の画素値を参照し、マーカ5004の色を有する画素群による領域を1以上検出し、検出した領域の中で最も面積の大きい領域(構成する画素の数が最も多い領域)を特定し、特定した領域の重心位置をマーカ5004の画像における位置とする。
【0082】
このようにして、画像におけるマーカ5004の位置を求め、メモリ1302に格納するのであるが、メモリ1302には過去に求めた重心位置のデータも保持されているものとする。
【0083】
そして次に、前回のステップS201で求めた手持ちセンサ5000の位置と、今回のステップS201で求めた手持ちセンサ5000の位置との差分を計算して、その差分値が所定量以下であるのか否かを判断し(ステップS204)、所定量以下である場合、即ち、手持ちセンサ5000がほぼ静止した場合には処理をステップS205に進め、そのときの時刻(タイミング)をメモリ1302に格納する(ステップS205)。
【0084】
なお、ステップS204,S205における処理は一般的には、手持ちセンサ5000の位置情報を用いて移動量が極小となる時刻を求め、求めた時刻をメモリ1302に格納する処理であり、ここで説明したステップS204,S205における処理はその一例である。
【0085】
また、前回のステップS203で求めたマーカ5004の画像における位置と、今回のステップS203で求めたマーカ5004の画像における位置との差分を計算して、その差分値が所定量以下であるのか否かを判断し(ステップS206)、所定量以下である場合、即ち、手持ちセンサ5000がほぼ静止した場合には処理をステップS207に進め、そのときの時刻(タイミング)をメモリ1302に格納する(ステップS207)。
【0086】
なお、ステップS206,S207における処理は一般的には、マーカ5004の画像上における位置を用いて手持ちセンサ5000の移動量が極小となる時刻を求め、求めた時刻をメモリ1302に格納する処理であり、ここで説明したステップS206,S207における処理はその一例である。
【0087】
例えば手持ちセンサ5000を三角形をトレースするように移動させる場合などは、加速度が極大値をとったタイミングをステップS205でメモリ1302に格納するようにしても良い。また、手持ちセンサ5000を手に取り付けずに、様々な運動体に取り付けることも考えられるので、取得するタイミングには様々なものが考えられる。
【0088】
そして、ステップS205でメモリ1302に格納した時刻と、ステップS207でメモリ1302に格納した時刻との差分(即ち上記遅れ時間=n/60秒)を求め、求めた差分を示すデータをメモリ1302に格納する(ステップS208)。
【0089】
ここで、ステップS208における処理の詳細について、図10のフローチャートを用いて説明する。図10は、ステップS208における処理の詳細を示すフローチャートである。同図のフローチャートでは、上記遅れ時間n/60秒は、手持ちセンサ5000を振る周期の1/2より小さいことを仮定している。図10に示したフローチャートでの遅れ時間の計算方法の概略を図11に示す。
【0090】
ステップS205で取得した時刻を古い順に並べるとts0, ts1, …., ts(n-1), ts(n)であるとする。ts(n)が最新の取得時刻である。同様にステップS207で取得した時刻を古い順に並べるとtv0, tv1, …., tv(n-1), tv(n)であるとする。
【0091】
このときtv(n-1)<ts(k)<tv(n)を満たすts(k)をts0〜ts(n)の中から探し、|tv(n-1) - ts(k)|と、|tv(n) - ts(k)|とを比較する(ステップS210)。
【0092】
その結果、|tv(n-1) - ts(k)|の方が大きい場合には、処理をステップS211を介してステップS212に進め、tv(n) - ts(k)を上記遅れ時間=n/60秒として出力する(ステップS212)。
【0093】
一方、|tv(n) - ts(k)|の方が大きいか等しい場合には、処理をステップS211を介してステップS213に進め、tv(n-1) - ts(k)を上記遅れ時間=n/60秒として出力する(ステップS213)。このとき遅れ時間は負の数となり、現実空間の画像の取得タイミングの方が進んでいることになる。
【0094】
なお、上述の通り、図10のフローチャートでは、上記遅れ時間は手持ちセンサ5000を振る周期の1/2より小さいことを仮定していたが、図12に示すようにしてxを求め、tv(k+x) - ts(k)を遅れ時間とすればそのような仮定をする必要はない。
【0095】
そして処理を図9のフローチャートに戻し、以降の処理を繰り返す。
【0096】
ここで、手持ちセンサ5000が略静止しているという同一事象をセンサ5000により求めた時刻と画像により求めた時刻とに差があれは、それはメモリ1302に位置姿勢情報が格納された時刻と、メモリ1302に現実空間の画像が格納された時刻とに差があるということであり、且つこの差はメモリ1302に位置姿勢情報が格納された時刻と、メモリ1302に現実空間の画像が格納された時刻との差(D)である。よって、ある時点でメモリ1302に格納された現実空間の画像が撮像されたときに計測された位置姿勢は、この「ある時点」よりもこの「差D」の分だけ前にメモリ1302に格納された位置姿勢である。よって、差Dが求まると、これを60倍した値を上記nに代入すれば良いことになる(Dの単位を秒とした場合)。
【0097】
また、本実施形態では、FIFOを用いて情報の遅延処理を行っているが、FIFOを用いる以外にも同様の目的は達成されるし、このような手段に限定するものではない。
【0098】
以上の説明により、本実施形態によって、ほぼ同時刻に取得されるべき現実空間の画像、位置姿勢情報を用いて複合現実空間の画像を生成することができるので、現実空間と仮想空間とのずれを軽減することができる、また例えばユーザ1000が手持ちセンサ5000を動かして移動させても、それに追従して遅れることなく、CADモデルを移動させることができ、現実空間と仮想空間との位置ずれを軽減することができる。
【0099】
[第2の実施形態]
本実施形態では、カメラが撮像を行ってから、メモリ1302にその撮像した画像が格納されるまでの時間を計測する。なお、本実施形態に係るこのような計測処理を行うシステムについては第1の実施形態と同じである。
【0100】
図13は、このような計測処理のフローチャートである。CPU1301は、パラレルI/O1311を介してLED5005の点灯/消灯を制御するための制御信号を発する。ここでは制御信号は発してからLED5005が点灯/消灯するまでに要する時間は0であるとする。
【0101】
先ず、内部状態(内部ステート)を示す変数を”アイドル”に設定すると共に、LED5005を消灯する制御信号をパラレルI/O1311を介して発する(ステップS300)。
【0102】
次に、カメラにより撮像された現実空間の画像がビデオキャプチャカード1320,1321を介して順次メモリ1302に格納される(ステップS301)ので、CPU1301はこれを検知して、そのときの時刻をキャプチャ時刻としてメモリ1302に格納する(ステップS302)。
【0103】
次に、ステップS301で取り込んだ画像を参照して、LED5005が点灯しているのか否かをチェックする(ステップS303)。このチェック処理としては、例えば、画像を構成する各画素の画素値を参照し、画素値をYCrCbで見たときに、Y値が所定値以上である画素の集合を1以上特定し、特定した集合のうち最もサイズの大きい集合のサイズが所定サイズ以上であれば、LED5005が点灯していると判断する。
【0104】
次に、内部状態を示す変数を参照し(ステップS304)、”アイドル”である場合には処理をステップS307に進める。内部状態が”アイドル”である場合、即ち、LED5005が消灯している場合には先ず、CPU1301はLED5005を点灯させる制御信号をパラレルI/O1311を介してLED5005に発する(ステップS307)ので、LED5005は点灯するのであるが、CPU1301はこの制御信号を発したときの時刻をメモリ1302に格納する(ステップS308)。そして内部状態を示す変数を”検出待ち”に変更する(ステップS309)。
【0105】
一方、ステップS304において内部状態を示す変数が”アイドル”ではない場合には処理をステップS305に進め、内部状態を示す変数が”検出待ち”であるのか否かを判断する(ステップS305)。内部状態を示す変数が”検出待ち”、即ち、LED5005が点灯している場合には処理をステップS310に進め、ステップS303でLED5005が点灯していると判断しているか否かを判断し(ステップS310)、点灯していると判断している場合には処理をステップS311に進め、CPU1301はLED5005を消灯させる制御信号をパラレルI/O1311を介してLED5005に発する(ステップS311)ので、LED5005は消灯する。そして、そのときの時刻とステップS302でメモリ1302に格納した時刻との差分を求める(ステップS312)。
【0106】
この差分値は即ち、LED5005が実際に点灯してから、点灯しているLED5005を含む現実空間の画像を得るまでに要する時間を表している。
【0107】
そしてCPU1301は内部状態を示す変数を”終了待ち”に変更する(ステップS313)。
【0108】
一方、ステップS305で、内部状態を示す変数が”検出待ち”ではない場合には処理をステップS306に進め、内部状態を示す変数が”終了待ち”であるのか否かを判断し、”終了待ち”であれば処理をステップS314に進め、ステップS303でLED5005が点灯していると判断しているか否かを判断し(ステップS314)、点灯していると判断している場合には処理をステップS315に進め、CPU1301は内部状態を示す変数を”アイドル”に変更する(ステップS315)。
【0109】
以上の説明により、本実施形態によって、カメラが撮像してからコンピュータ1300のメモリ1302に格納され、CPU1301がそれを用いて処理を行おうとするまでに要する時間を計測することができる。
【0110】
また、本実施形態では発光体としてLEDを用いたが、これ以外の発光体を用いても良い。また、発光体に限定するものではなく、液晶画面などを用いても良い。即ち、撮影した画像上で第1の状態(本実施形態では「点灯」に対応)、第2の状態(本実施形態では「消灯」に対応)が検出されるような状態を取りうるものであればよい。
【0111】
[第3の実施形態]
本実施形態では、位置姿勢情報の取得タイミングと、現実空間の画像の取得タイミングとの同期を取りながら動作するCADビューワシステムと、それぞれの取得タイミングのずれ(即ち上記遅れ時間)を求めるためのツールとを切り替えて使用する実施例について説明する。
【0112】
以下の説明では第1の実施形態と異なる部分についてのみ説明する。即ち、以下説明する点以外については第1の実施形態と同様である。
【0113】
図14は、本実施形態で用いる手持ちセンサ5900を示す図である。同図に示す手持ちセンサ5900は、図5に示した、第1の実施形態で用いた手持ちセンサ5000にキャリブレーションスイッチ5006が備わっている。このキャリブレーションスイッチ5006は、コンピュータ1300に備わっているパラレルI/O1311に接続されており、キャリブレーションスイッチ5006が押下されると、その旨を示す信号がキャリブレーションスイッチ5006からパラレルI/O1311に対して出力されるので、CPU1301はこの信号を検知することで、キャリブレーションスイッチ5006の押下を検知することができる。
【0114】
しかし、このキャリブレーションスイッチ5006は必須なものではなく、キーボードやマウスをコンピュータ1300に接続し、これをキャリブレーションスイッチ5006の代わりに用いるようにしても良い。
【0115】
従って本実施形態では、コンピュータ1300は、キャリブレーションスイッチ5006が押下されていない場合には、CADビューワシステムのアプリケーションプログラムを実行し、押下されている場合には、図9のフローチャートに従った処理を実行して上記遅れ時間を計測する処理を行う。
【0116】
図15は、本実施形態に係るコンピュータ1300が行う処理のフローチャートである。
【0117】
CPU1301は、パラレルI/O1311を介して、キャリブレーションスイッチ5006の押下を示す信号が入力されたことを検知すると、処理をステップS400を介してステップS401に進め、キャリブレーションツールの実行、即ち、図9のフローチャートに従った処理を実行する(ステップS401)。なお、本実施形態では、図9のフローチャートに従った処理においてステップS208における処理の次にはステップS200に戻らずに、ステップS402に進む。
【0118】
ここで、図9のフローチャートに従った処理を実行した結果、遅れ時間=0(若しくは略0)である場合には処理をステップS400に戻すが、遅れ時間≠0である場合には処理をステップS402を介してステップS403に進め、CADビューワシステムで用いる遅れ時間にステップS401で求めた遅れ時間をセットする(ステップS403)。
【0119】
一方、CPU1301は、パラレルI/O1311を介して、キャリブレーションスイッチ5006の押下を示す信号が入力されたことを検知していないと、処理をステップS400を介してステップS404に進め、キャリブレーションツールの作業履歴をクリアし(ステップS404)、CADビューワシステムを起動する(ステップS405)。CADビューワシステムの動作については図8のフローチャートに従ったものとなる。なお、本実施形態では、図8のフローチャートに従った処理においてステップS114における処理の次にはステップS100に戻らずに、ステップS400に進む。
【0120】
また、ステップS404でのキャリブレーションツールの作業履歴のクリアとは、図9のフローチャートにおける、前回の手持ちセンサ位置と、前回のマーカ検出位置と、時刻の履歴ts(i)、tv(i)である。これらはキャリブレーションツールが連続して動作していなければ意味を成さない履歴であり、キャリブレーションツールが動作していないときにはクリアしておく必要がある。
【0121】
[第4の実施形態]
本実施形態では、第3の実施形態で説明したCADビューワシステムとキャリブレーションツールとを並行して動作させ、常に現実空間の画像の取得タイミングと位置姿勢情報の取得タイミングとの遅れ時間を求めてCADビューワシステムに反映させる。
【0122】
以下の説明では第1の実施形態と異なる部分についてのみ説明する。即ち、以下説明する点以外については第1の実施形態と同様である。
【0123】
上述の通り、本実施形態では、CADビューワシステムとキャリブレーションツールとを並行して動作させるが、例えば、マルチスレッドでそれぞれを動作させる。
【0124】
図16は、キャリブレーションツールの動作を示すフローチャート、図17は、CADビューワシステムの動作を示すフローチャートである。なお、それぞれのフローチャートに従った処理は第3の実施形態と同様、コンピュータ1300が行う。
【0125】
図16において、ステップS500〜ステップS502はそれぞれ、ステップS401〜ステップS403と同じであるが、マルチスレッド動作に対応させるため、ステップS403でセットする遅れ時間を設定する変数に対してスレッド間での排他制御を行っている。
【0126】
図17において、ステップS510、S511はそれぞれ、ステップS404,S405と同じであるが、マルチスレッド動作に対応させるため、ステップS405で遅れ時間を読み出す変数に対してスレッド間での排他制御を行っている。
【0127】
以上の説明により、本実施形態、及び第3の実施形態によれば、上記遅れ時間を考慮し、現実空間の画像の取得タイミングと位置姿勢情報の取得タイミングの同期が取れたCADビューワシステムを構築することができる。特に本実施形態によれば、遅れ時間を求めるツールの存在を意識させることなく、上記それぞれの取得タイミングの同期が取れたCADビューワシステムを構築することができる。
【0128】
[その他の実施形態]
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【0129】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0130】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0131】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【0132】
【図1】CADモデル(プリンタのトナーカートリッジのCADモデル)100をCG物体として表示し、CADモデルのプレビューに使用している様子を示す図である。
【図2】HMDの構成を示す図である。
【図3】HMD内の各LCD1130、1131に表示される、各カメラ1110、1111で撮影された実写映像と、CG画像として描かれたCADモデル300が合成された画像の表示例を示す図である。
【図4】MR技術を使用したCADビューワの機器構成を示す図である。
【図5】手持ちセンサ5000とCADモデル4000との位置姿勢関係を示す図である。
【図6】手持ちセンサ5000の外観、内部構成を示す図である。
【図7】コンピュータ1300を含む、システムの基本構成を示すブロック図である。
【図8】ユーザ1000に複合現実空間の画像を提供するために、コンピュータ1300が行う処理のフローチャートである。
【図9】IFOが保持可能なデータ数n(換言すればずらす時間を決定するパラメータ)を決定する処理のフローチャートである。
【図10】ステップS208における処理の詳細を示すフローチャートである。
【図11】図10に示したフローチャートでの遅れ時間の計算方法の概略を示す図である。
【図12】図10に示したフローチャートでの遅れ時間の計算方法の概略を示す図である。
【図13】カメラが撮像を行ってから、メモリ1302にその撮像した画像が格納されるまでの時間の計測処理のフローチャートである。
【図14】本発明の第3の実施形態で用いる手持ちセンサ5900を示す図である。
【図15】本発明の第3の実施形態に係るコンピュータ1300が行う処理のフローチャートである。
【図16】キャリブレーションツールの動作を示すフローチャートである。
【図17】キャリブレーションツールの動作を示すフローチャートである。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013