Warning: copy(.htaccess): failed to open stream: Permission denied in /home/jp321/public_html/header.php on line 8
画像処理方法、画像処理装置 - キヤノン株式会社
米国特許情報 | 欧州特許情報 | 国際公開(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−4713(P2007−4713A)
公開日 平成19年1月11日(2007.1.11)
出願番号 特願2005−187081(P2005−187081)
出願日 平成17年6月27日(2005.6.27)
代理人 【識別番号】100076428
【弁理士】
【氏名又は名称】大塚 康徳
発明者 松井 太一
要約 課題
仮想物体同士の衝突が生じた場合には、この衝突を後に再現可能とすべく、この衝突に係る情報を記録する為の技術を提供すること。

解決手段
カメラ位置姿勢取得部190は観察者の視点の位置姿勢を取得し、仮想物体生成部106は複数の仮想物体を配置した仮想空間を、取得した位置姿勢を有する視点から見た場合に見える画像を生成し、仮想物体干渉検出部107が仮想物体同士の衝突を検知すると、仮想物体位置姿勢記録部108は、この衝突に係る情報を記録する。
特許請求の範囲
【請求項1】
観察者の視点の位置姿勢を取得する取得工程と、
複数の仮想物体を仮想空間中に配置する配置工程と、
前記複数の仮想物体を配置した仮想空間を、前記取得工程で取得した位置姿勢を有する視点から見た場合に見える画像を生成する生成工程と、
前記生成工程で生成した画像を外部に出力する出力工程と、
仮想物体同士の衝突を検知すると、当該衝突に係る情報をメモリに記録する記録工程と
を備えることを特徴とする画像処理方法。
【請求項2】
更に、前記視点から見える現実空間の画像を取得する第2の取得工程を備え、
前記出力工程では、前記生成工程で生成した画像上を、前記第2の取得工程で取得した画像上に重畳させて出力することを特徴とする請求項1に記載の画像処理方法。
【請求項3】
前記記録工程では、前記衝突を検知した時刻、前記取得工程で取得した前記視点の位置姿勢、衝突した仮想物体のそれぞれの位置姿勢、衝突した仮想物体を識別する情報、衝突した部位を示す情報、前記第2の取得工程で取得した画像上に前記生成工程で生成した画像上を重畳させた画像を前記メモリに記録することを特徴とする請求項2に記載の画像処理方法。
【請求項4】
観察者の視点の位置姿勢を取得する取得手段と、
複数の仮想物体を仮想空間中に配置する配置手段と、
前記複数の仮想物体を配置した仮想空間を、前記取得手段が取得した位置姿勢を有する視点から見た場合に見える画像を生成する生成手段と、
前記生成手段が生成した画像を外部に出力する出力手段と、
仮想物体同士の衝突を検知すると、当該衝突に係る情報を記録する記録手段と
を備えることを特徴とする画像処理装置。
【請求項5】
コンピュータに請求項1乃至3の何れか1項に記載の画像処理方法を実行させることを特徴とするプログラム。
【請求項6】
請求項5に記載のプログラムを格納したことを特徴とする、コンピュータ読み取り可能な記憶媒体。
発明の詳細な説明
【技術分野】
【0001】
本発明は、仮想物体に対する処理技術に関するものである。
【背景技術】
【0002】
バーチャルリアリティ(VR)システムは、コンピュータの作り出す三次元コンピュータグラフィックス(CG)をユーザに提示することで、仮想の空間をあたかも現実であるかのように感じさせるシステムである。また近年、現実世界の映像に三次元CGを合成することで、現実世界にはない情報をユーザに提示する技術の開発もなされており、それらはAR(Augumented Reality, 拡張現実感)システムやMR(Mixed Reality, 複合現実感)システムと呼ばれている。
【0003】
MRシステムでは、現実の物体に三次元CGを重ねることが可能であり、例えば、特許文献1に示されるシステムでは、現実物体に仮想物体を重畳することで、ユーザが自由に仮想物体を操ることができるようになっている。
【特許文献1】特開2005−108108号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、今までのシステムは、仮想物体の移動時に他の仮想物体との干渉(衝突)を検出し、干渉状況を記録するシステムではなかった。そのため仮想物体同士で干渉が起きても起きたタイミングや正確な位置姿勢を把握することが困難であった。
【0005】
本発明は以上の問題に鑑みて成されたものであり、仮想物体同士の衝突が生じた場合には、この衝突を後に再現可能とすべく、この衝突に係る情報を記録する為の技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の目的を達成するために、例えば、本発明の画像処理方法は以下の構成を備える。
【0007】
即ち、観察者の視点の位置姿勢を取得する取得工程と、
複数の仮想物体を仮想空間中に配置する配置工程と、
前記複数の仮想物体を配置した仮想空間を、前記取得工程で取得した位置姿勢を有する視点から見た場合に見える画像を生成する生成工程と、
前記生成工程で生成した画像を外部に出力する出力工程と、
仮想物体同士の衝突を検知すると、当該衝突に係る情報をメモリに記録する記録工程と
を備えることを特徴とする。
【0008】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。
【0009】
即ち、観察者の視点の位置姿勢を取得する取得手段と、
複数の仮想物体を仮想空間中に配置する配置手段と、
前記複数の仮想物体を配置した仮想空間を、前記取得手段が取得した位置姿勢を有する視点から見た場合に見える画像を生成する生成手段と、
前記生成手段が生成した画像を外部に出力する出力手段と、
仮想物体同士の衝突を検知すると、当該衝突に係る情報を記録する記録手段と
を備えることを特徴とする。
【発明の効果】
【0010】
本発明の構成により、仮想物体同士の衝突が生じた場合には、この衝突を後に再現可能とすべく、この衝突に係る情報を記録することができる。
【発明を実施するための最良の形態】
【0011】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【0012】
[第1の実施形態]
図1は、現実空間に仮想空間を重畳させた複合現実空間を観察者に体感させるためのシステムの機能構成を示すブロック図である。同図に示す如く、本実施形態に係るシステムはシステム制御部101、仮想物体移動インターフェース140、ビデオシースルー型HMD132で構成されている。
【0013】
先ず、ビデオシースルー型HMD132について説明する。ビデオシースルー型HMD132は、同図に示す如く、画像入力部135、画像表示部136、カメラ133,画像出力部134により構成されている。
【0014】
カメラ133は、現実空間の動画像を撮像するものであり、撮像した各フレームの画像は画像出力部134によりシステム制御部101に送出される。なお、カメラ133を以下では「観察者の視点」と呼称する場合がある。
【0015】
画像入力部135は、システム制御部101から送出される画像信号を受け、受けた画像信号に従った画像を画像表示部136に表示する。画像表示部136は、ビデオシースルー型HMD132を頭部に装着している観察者の眼前に位置するようにビデオシースルー型HMD132に取り付けられているので、この観察者はシステム制御部101から送出される画像信号に基づいた画像を観察することになる。
【0016】
なお、このビデオシースルー型HMD132の位置姿勢は後述する処理でもってシステム制御部101が取得する。
【0017】
次に、仮想物体移動インターフェース140について説明する。仮想物体移動インターフェース140は、観察者が手に保持してその位置や姿勢を自在に変化させることができるものであり、その位置や姿勢は後述する処理でもってシステム制御部101が取得する。本実施形態ではこの仮想物体移動インターフェース140の位置姿勢に1つ以上の仮想物体を配置する。
【0018】
次に、システム制御部101について説明する。同図に示す如く、システム制御部101は画像入力部102、画像合成部103、画像出力部104、仮想物体位置姿勢制御部105、仮想物体生成部106、仮想物体干渉検出部107、仮想物体位置姿勢記録部108、カメラ位置姿勢取得部109、画像保存部110により構成されてる。
【0019】
画像入力部102は、ビデオシースルー型HMD132の画像出力部134から出力された現実空間の画像を受け、これを画像合成部103に出力する。
【0020】
カメラ位置姿勢取得部109は、視点の位置姿勢を取得する処理を行う。視点の位置姿勢を取得するための処理については様々なものが考えられ、特に限定するものではないが、例えば以下のような方法を用いることができる。
【0021】
先ず、磁気センサをカメラ133との位置姿勢関係(バイアス)が既知の位置姿勢でもってビデオシースルー型HMD132に取り付け、この磁気センサでもって、磁界の発信源の位置を原点とし、この原点で互いに直交する3軸をそれぞれx軸、y軸、z軸とする座標系(センサ座標系)における自身の位置姿勢を計測する。この場合、カメラ位置姿勢取得部190は、この磁気センサから出力される「磁気センサのセンサ座標系における位置姿勢を示す信号」を受け、これをデータとして取得する。そして、このデータに、上記バイアスのデータを加算することで、センサ座標系における視点の位置姿勢を求めることができる。
【0022】
一方、仮想物体位置姿勢制御部105は、仮想物体移動インターフェース140の位置姿勢を取得する。仮想物体移動インターフェース140の位置姿勢の取得方法については様々な方法があり、例えば、以下のような方法を用いることができる。
【0023】
先ず、仮想物体移動インターフェース140に磁気センサを取り付けておき、この磁気センサでもって、センサ座標系における自身の位置姿勢を計測する。この場合、仮想物体位置姿勢制御部105は、仮想物体移動インターフェース140から出力される「仮想物体移動インターフェース140のセンサ座標系における位置姿勢を示す信号」を受け、これをデータとして取得する。
【0024】
また、画像入力部102が画像出力部134から受けた画像を用いて仮想物体移動インターフェース140の位置姿勢を求めることで、この位置姿勢を取得する方法もあるが、何れにせよ、仮想物体位置姿勢制御部105は、仮想物体移動インターフェース140の位置姿勢を取得する。
【0025】
また、仮想物体位置姿勢制御部105は、仮想空間中に配置する複数の仮想物体のそれぞれの位置や姿勢のデータを保持しており、仮想物体移動インターフェース140の位置姿勢を取得すると、この仮想物体移動インターフェース140に関連付けられた仮想物体の位置姿勢を、取得した位置姿勢でもって更新する処理を行う。
【0026】
仮想物体移動インターフェース140に関連付けられていない仮想物体についてはその位置姿勢を固定させておいても良いし、予め定められた運動規則に従って位置姿勢を更新するようにしても良い。何れにせよ、仮想物体移動インターフェース140に関連付けられている仮想物体、関連付けられていない仮想物体のそれぞれの位置姿勢はこの仮想物体位置姿勢制御部105によって管理されている。
【0027】
仮想物体位置姿勢記録部108には、カメラ位置姿勢取得部190が取得した視点の位置姿勢、仮想物体位置姿勢制御部105が管理する各仮想物体の位置姿勢が順次入力されるので、入力された視点の位置姿勢、各仮想物体の位置姿勢を、現在時刻と共にセットにして記録する処理を行う。
【0028】
仮想物体干渉検出部107は、仮想物体位置姿勢制御部105が管理している「各仮想物体の位置姿勢」を参照し、仮想物体同士の衝突を検知する処理を行う。例えば、仮想物体移動インターフェース140に関連付けられた仮想物体が、関連付けられていない仮想物体と衝突しているのかをチェックする。仮想物体同士が衝突しているのか否かをチェックする処理については周知のものであるので、詳細な説明は省略するが、例えば、仮想物体同士の位置間の距離が所定距離以内であれば衝突していると判定するようにしても良いし、仮想物体がポリゴンでもって構成されている場合には、ポリゴン毎に交差判定を行い、交差しているポリゴンが存在する場合には衝突していると判定するようにしても良い。
【0029】
そして仮想物体干渉検出部107が、衝突している仮想物体が存在していると判断した場合には、その旨を仮想物体位置姿勢記録部108、及び画像合成部103に通知する。
【0030】
仮想物体位置姿勢記録部108は、衝突している仮想物体を検知した旨の通知を仮想物体干渉検出部107から受けると、更に以下の各情報の記録処理を行う。
【0031】
・ 衝突したそれぞれの仮想物体を識別する為の情報(例えば、識別番号などのID)
・ 衝突したそれぞれの仮想物体の衝突部分を示す情報(例えば、衝突しているポリゴンを識別する番号、衝突しているパーツを示す情報)
即ち、仮想物体位置姿勢記録部108は常に上記セットデータを記録する処理を行っているのであるが、衝突を検知した旨の通知を仮想物体干渉検出部107から受けた場合には、このセットデータに加え、上記2つの情報(「衝突したそれぞれの仮想物体を識別する為の情報」、「衝突したそれぞれの仮想物体の衝突部分を示す情報」)を記録する。
【0032】
従って、衝突を検知した旨の通知を仮想物体干渉検出部107から受けた場合には、仮想物体位置姿勢記録部108は、視点の位置姿勢、各仮想物体の位置姿勢、現在時刻、衝突したそれぞれの仮想物体を識別する為の情報、衝突したそれぞれの仮想物体の衝突部分を示す情報、のセットデータを記録する処理を行う。
【0033】
なお、記録する情報はこれに限定するものではなく、この衝突時における仮想空間の画像を再現するのに必要な情報であればよい。
【0034】
仮想物体生成部106は、先ず、仮想物体位置姿勢制御部105が管理するそれぞれの仮想物体の位置姿勢でもって、それぞれの仮想物体を配置する。そして、各仮想物体を配置した仮想空間を、カメラ位置姿勢取得部190が取得した位置姿勢を有する視点から見た場合に見える画像を生成する処理を行う。なお、所定の位置姿勢を有する視点から見える仮想空間の画像を生成するための処理については周知のものであるので、これに関する説明は省略する。
【0035】
仮想物体生成部106が生成した仮想空間の画像は画像合成部103に出力する。画像合成部103は、画像入力部102から受けた現実空間の画像上に、仮想物体生成部106が生成した仮想空間の画像を重畳させることで、複合現実空間の画像を生成し、画像出力部104によってビデオシースルー型HMD132の画像入力部135に出力する。画像入力部135は受けた複合現実空間の画像を表示部136に表示するので、ビデオシースルー型HMD132を頭部に装着した観察者の眼前には複合現実空間の画像が表示されることになる。
【0036】
一方、画像合成部103は、衝突している仮想物体を検知した旨の通知を仮想物体干渉検出部107から受けると、生成した複合現実空間の画像を画像保存部110に記録する処理を行う。
【0037】
即ち、システム制御部101は、視点から見える仮想空間の画像を生成し、これを視点から見える現実空間の画像上に重畳させてビデオシースルー型HMD132に出力する処理を行う一方で、仮想物体同士で衝突が生じた場合には、この衝突の様子を示す画像を再現する為に必要な情報を記録する。
【0038】
ここで、仮想物体同士の衝突について説明する。図2は、仮想物体同士の衝突を説明するために例として用いる2つの仮想物体を示す図である。同図において202,203は共に仮想物体であり、仮想物体位置姿勢制御部105が管理する位置姿勢でもって配置される。以下の説明では、仮想物体203は、仮想物体移動インターフェース140に関連付けられているとする。即ち、仮想物体203は仮想物体移動インターフェース140の位置姿勢でもって配置されるものであり、観察者がこの仮想物体移動インターフェース140を手に持ってその位置姿勢を変化させると、それに追従して仮想物体203の位置姿勢も変化する。また、仮想物体202の位置姿勢は固定されているものとする。
【0039】
図3は、図2に示した2つの仮想物体の衝突について説明する図である。ここでは、仮想物体203が、図3(a)→図3(b)→図3(c)→図3(d)に示す順に、その位置を移動させたとする。そして、図3(b)に示す時点、図3(c)に示す時点で、仮想物体203は仮想物体202と衝突したとする。
【0040】
この場合、仮想物体位置姿勢記録部108は先ず、図3(b)に示した状態における仮想物体202,203のそれぞれの位置姿勢、衝突部分を示す情報、視点の位置姿勢、現在時刻、仮想物体202,203を識別する為の情報、を記録すると共に、画像合成部103は、図3(b)に示した画像を画像保存部110に記録する処理を行う。
【0041】
その後、仮想物体位置姿勢記録部108は、図3(c)に示した状態における仮想物体202,203のそれぞれの位置姿勢、衝突部分を示す情報、視点の位置姿勢、現在時刻、仮想物体202,203を識別する為の情報、を記録すると共に、画像合成部103は、図3(c)に示した画像を画像保存部110に記録する処理を行う。
【0042】
図4は、以上説明した一連の処理、即ち、仮想物体同士の衝突を検知した場合に、この衝突に係る情報を記録するための処理のフローチャートである。
【0043】
カメラ位置姿勢取得部190は順次視点の位置姿勢を取得しているので、仮想物体位置姿勢記録部108は、カメラ位置姿勢取得部190が取得した位置姿勢を記録する処理を行う(ステップS401)。続いて、仮想物体位置姿勢記録部108は、仮想物体位置姿勢制御部105が管理している各仮想物体の位置姿勢を、ステップS401で記録したデータとセットにして記録する処理を行う(ステップS402)。なお、ステップS401,ステップS402の何れかでは現在時刻もセットにして記録する。
【0044】
次に、仮想物体干渉検出部107は、仮想物体同士の衝突をチェックし(ステップS403)、仮想物体同士の衝突を検知していない場合には処理をステップS401に戻すのであるが、検知した場合には処理をステップS404に進め、検知した旨を仮想物体位置姿勢記録部108に通知するので、仮想物体位置姿勢記録部108は、干渉に係る情報、即ち本実施形態の場合には、衝突したそれぞれの仮想物体を識別するための情報、それぞれの仮想物体で衝突した部分を示す情報をステップS401,S402で記録したデータとセットにして記録する処理を行う(ステップS404)。
【0045】
次に、仮想物体生成部106、画像合成部103によって上述のようにして複合現実空間の画像を生成するのであるが、仮想物体干渉検出部107から、衝突を検知した旨の通知を受けた場合には、この生成した複合現実空間の画像を画像保存部110に記録する処理を行う(ステップS405)。
【0046】
そして本処理を終了する指示が入力されない限りは処理をステップS405を介してステップS401に戻し、以降の処理を繰り返す。
【0047】
なお、以上の処理において、ビデオシースルー型HMD132の代わりに光学シースルー型のHMDを用いても良く、その場合には、システム制御部101において画像入力部102、画像合成部103は省略することができ、仮想物体生成部106が生成した仮想空間の画像は画像出力部104を介して光学シースルー型HMDに対して出力されると共に、仮想物体の衝突を検知した旨の通知を受けた場合には、この仮想空間の画像を画像保存部110に記録することになる。
【0048】
[第2の実施形態]
図5は、システム制御部101に適用可能なコンピュータのハードウェア構成を示すブロック図である。
【0049】
501はCPUで、RAM502やROM503に格納されているプログラムやデータを用いて本コンピュータ全体の制御を行うと共に、システム制御部101が行う上記各処理を実行する。
【0050】
502はRAMで、外部記憶装置506からロードされたプログラムやデータを一時的に記憶するためのエリア、I/F(インターフェース)507を介して外部から受信したデータを一時的に記録するためのエリア、CPU501が各種の処理を実行するために用いるワークエリアなど、各種のエリアを適宜提供することができる。
【0051】
503はROMで、ブートプログラムや本コンピュータの設定データなどを格納する。
【0052】
504は操作部で、キーボードやマウスなどにより構成されており、本コンピュータの操作者が操作することで、各種の指示をCPU501に対して入力することができる。
【0053】
505は表示部で、CRTや液晶画面などにより構成されており、CPU501による処理結果を画像や文字などでもって表示することができる。
【0054】
506は外部記憶装置であって、ハードディスクドライブ装置に代表される大容量情報記憶装置であって、ここにOS(オペレーティングシステム)や、CPU501に、上記システム制御部101が行う上記各処理を実行させるためのプログラムやデータが保存されており、これらはCPU501による制御に従って適宜RAM502にロードされる。
【0055】
507はI/Fであって、ここに上記ビデオシースルー型HMD132や仮想物体移動インターフェース140が接続されることになる。なお、ビデオシースルー型HMD132や仮想物体移動インターフェース140の位置姿勢の取得方法によっては、このI/F507には更にデバイス(例えば磁気センサの制御装置、磁気センサ本体)を接続する必要がある。
【0056】
508は上述の各部を繋ぐバスである。
【0057】
即ち、図5に示した構成を備えるコンピュータを上記システム制御部101に適用する場合、図1に示したシステム制御部101を構成する各部において、情報を記録するためのメモリとしてはRAM502や外部記憶装置506が用いられ、それ以外の部分(画像入力部102、画像合成部103、画像出力部104、仮想物体位置姿勢制御部105、仮想物体生成部106、仮想物体干渉検出部107、仮想物体位置姿勢記録部108、カメラ位置姿勢取得部109)については、プログラムでもって構成し、これを外部記憶装置506からRAM502に適宜ロードし、ロードしたプログラムをCPU501が実行することで、CPU501は、画像入力部102、画像合成部103、画像出力部104、仮想物体位置姿勢制御部105、仮想物体生成部106、仮想物体干渉検出部107、仮想物体位置姿勢記録部108、カメラ位置姿勢取得部109の各部の上記動作を実行することになる。
【0058】
[その他の実施形態]
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【0059】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0060】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0061】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【0062】
【図1】現実空間に仮想空間を重畳させた複合現実空間を観察者に体感させるためのシステムの機能構成を示すブロック図である。
【図2】仮想物体同士の衝突を説明するために例として用いる2つの仮想物体を示す図である。
【図3】図2に示した2つの仮想物体の衝突について説明する図である。
【図4】仮想物体同士の衝突を検知した場合に、この衝突に係る情報を記録するための処理のフローチャートである。
【図5】システム制御部101に適用可能なコンピュータのハードウェア構成を示すブロック図である。




 

 


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

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


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