説明

画像処理装置、画像処理方法

【課題】 仮想物体の画像が現実物体を隠蔽してしまうような状況下においても、複合現実空間への没入間を損ねることなく、係る現実物体の存在をユーザに知らしめるための為の技術を提供すること。
【解決手段】 CPU1001は、特定部位の位置姿勢情報に基づいて動作部位面を配置し、特定部位を接触させる対象の動作補助物体を配置する。そしてCPU1001は、動作部位面、動作補助物体が配されている仮想空間の画像を生成し、HMD100に送出する。その際、CPU1001は、動作部位面と動作補助物体との位置姿勢関係情報を求める。そして求めた位置姿勢関係情報が、動作部位面が動作補助物体に接触する直前の状態におけるそれぞれの位置姿勢関係を示している場合、動作補助物体の表示形態を切り替える為に、動作補助物体のデータを操作する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、現実空間中に仮想空間の画像を重畳してユーザに提示する為の技術に関するものである。
【背景技術】
【0002】
複合現実感システムとは、現実空間映像と、ユーザの視点位置、視線方向等に応じて生成される仮想空間映像とを合成することにより得られる合成映像をユーザに提供するものである。複合現実感システムでは、現実空間中に仮想物体が実在しているかのような感覚を観察者に提示することが可能であり、従来の仮想現実感システム(VRシステム)に比べてよりリアルに、実寸感覚を伴った観察を可能にする。
【0003】
複合現実空間内の観察は、次のような動作処理を行うことで実現される。即ち、ユーザの視点位置、視線方向等をリアルタイムで計測し、その視点位置、視線方向から現実空間内を観察した映像をビデオカメラ等で取得し、さらにその映像に対して、ユーザの視点位置、視線方向等から観測した仮想物体(CG物体)を重畳表示する。
【0004】
ここで、ユーザの視点位置、視線方向をリアルタイムに計測する為には、位置及び姿勢の6自由度を計測あるいは推定するシステム(ここでは6自由度センサと呼ぶ)を用いる。例えばPolhemus社のFastrakシステムを用いると、数センチ角ほどの大きさ有するレシーバの位置及び姿勢の6自由度が計測できる。
【0005】
この計測した6自由度を、仮想空間内での仮想カメラの位置および方向(カメラ座標系)と結びつけることにより、複合現実空間内を観察することができる。
【0006】
仮想現実感システムにはない、複合現実感システムに特徴的な応用として、複合現実空間内に実物体を配置し、実物体の表面にCGを表示することにより、「触れるCG」を実現することが挙げられる。特許文献1によれば、例えばカメラの設計CADデータを元に簡易試作物を作成し、その簡易試作物上に設計CADデータを重畳して表示することにより、カメラのCGを手にとって触ることができる。
【特許文献1】特開2005−107969号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
「触れるCG」を「台」に利用し、係る台に手をついてその向こうにあるボタンを押す、ということを考える。こうした状況は作業支援システムとして複合現実感システムを用いるときにはよくあることである。手をつく場所は、作業内容が定まれば、だいたい定まるので、実際に手をつく部分(台)は、CGの台の全面にわたっている必要はなく、手を突きそうな一部分にだけあれば十分である。
【0008】
ところで、こうした手をつくような作業では、手をつく場所に体重をかけることになるため、確実に実物体があることを観察者が認識できるか否かが作業効率や疲労度、安全の面で大きな問題となる。
【0009】
従来技術によれば、実物体をCGによって隠してしまうため、観察者は実物体があると予想される箇所を手探りで探すようになってしまい、作業効率や疲労度、安全面で悪影響を及ぼす。「手をつく場所がわからない」。これが大きな問題である。かといって、実物体が見えるように一部のCGを非表示にしたり、半透明にしたりすると、没入感が損なわれ、複合現実感システムのメリットが失われてしまう。
【0010】
本発明は以上の問題に鑑みてなされたものであり、仮想物体の画像が現実物体を隠蔽してしまうような状況下においても、複合現実空間への没入間を損ねることなく、係る現実物体の存在をユーザに知らしめるための為の技術を提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。
【0012】
即ち、ユーザの視点の位置姿勢情報を取得する手段と、
前記ユーザの体における特定部位の位置姿勢情報を取得する手段と、
前記特定部位の位置姿勢情報に基づいて、第1の仮想物体を配置する手段と、
前記ユーザが前記特定部位を接触させる対象の第2の仮想物体を配置する手段と、
前記第1の仮想物体、前記第2の仮想物体が配されている仮想空間の画像を、前記視点の位置姿勢情報に基づいて生成する生成手段と、
前記生成手段により生成された仮想空間の画像を出力する出力手段とを備え、
更に、
前記第1の仮想物体と前記第2の仮想物体との位置姿勢関係情報を求める手段と、
前記位置姿勢関係情報が、前記第1の仮想物体が第2の仮想物体に接触する直前の状態におけるそれぞれの位置姿勢関係を示していると判断した場合には、前記第2の仮想物体の表示形態を切り替える為に、前記第2の仮想物体のデータを操作する制御手段と
を備えることを特徴とする。
【0013】
本発明の目的を達成するために、例えば、本発明の画像処理方法は以下の構成を備える。
【0014】
即ち、ユーザの視点の位置姿勢情報を取得する工程と、
前記ユーザの体における特定部位の位置姿勢情報を取得する工程と、
前記特定部位の位置姿勢情報に基づいて、第1の仮想物体を配置する工程と、
前記ユーザが前記特定部位を接触させる対象の第2の仮想物体を配置する工程と、
前記第1の仮想物体、前記第2の仮想物体が配されている仮想空間の画像を、前記視点の位置姿勢情報に基づいて生成する生成工程と、
前記生成工程で生成された仮想空間の画像を出力する出力工程とを備え、
更に、
前記第1の仮想物体と前記第2の仮想物体との位置姿勢関係情報を求める工程と、
前記位置姿勢関係情報が、前記第1の仮想物体が第2の仮想物体に接触する直前の状態におけるそれぞれの位置姿勢関係を示していると判断した場合には、前記第2の仮想物体の表示形態を切り替える為に、前記第2の仮想物体のデータを操作する制御工程と
を備えることを特徴とする。
【発明の効果】
【0015】
本発明の構成によれば、仮想物体の画像が現実物体を隠蔽してしまうような状況下においても、複合現実空間への没入間を損ねることなく、係る現実物体の存在をユーザに知らしめることができる。
【発明を実施するための最良の形態】
【0016】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の1つである。
【0017】
[第1の実施形態]
図1は、現実空間に仮想空間を重畳させた複合現実空間をユーザに提供する処理の過程で、ユーザが複合現実空間とのインタラクションを体験することを可能にする為のシステムの外観を示す図である。
【0018】
同図において200はトランスミッタで、自身の周囲に磁場を発生させる。100はユーザの頭部に装着し、現実空間と仮想空間とを合成した画像をユーザの眼前に提供する為の頭部装着型表示装置(以下、HMD:Head Mounted Displayと呼称する)である。HMD100は、カメラ102R、102L、表示装置101R、101L、磁気レシーバ201により構成されている。
【0019】
カメラ102R、102Lはそれぞれ、HMD100を頭部に装着したユーザの右目、左目の位置から見える現実空間の動画像を撮像するものであり、撮像した各フレームの画像(現実空間画像)は後段のコンピュータ(画像処理装置)400に出力される。以下、カメラ102R、102Lに共通の説明ではこれらをまとめてカメラ102と呼称する場合がある。
【0020】
表示装置101R、101Lはそれぞれ、ユーザがHMD100を頭部に装着したときに右目、左目の眼前に位置するようにHMD100に搭載されたものであり、後段のコンピュータ400から出力された画像信号に基づいた画像を表示する。従ってユーザの右目、左目の眼前にはコンピュータ400が生成した画像が提供されることになる。以下、表示装置101R、101Lに共通の説明ではこれらをまとめて表示装置101と呼称する場合がある。
【0021】
磁気レシーバ201は、上記トランスミッタ200が発する磁場において、磁気レシーバ201自身の位置姿勢に応じた磁気の変化を検知し、検知した結果を示す信号を後段の位置姿勢計測装置205に出力する。
【0022】
位置姿勢計測装置205は、磁気レシーバ201からの信号を受けると、係る信号に基づいて、世界座標系における磁気レシーバ201の位置姿勢を求め、求めた位置姿勢を示すデータを後段のコンピュータ400に送出する。ここで、世界座標系とは、現実空間中の所定の位置を原点とし、この原点の位置で互いに直交する3軸をそれぞれx軸、y軸、z軸とする座標系のことである。
【0023】
図2は、HMD100の具体的な構成を示す図である。
【0024】
表示装置101は、0.5〜数インチ程度の小型の液晶表示デバイス等で構成されるものである。103は、表示装置101の映像を拡大するレンズの役目を果たす自由曲面プリズムである。このような構成により、表示装置101に表示された映像は、ユーザにとってはたとえば2m先に90インチ相当の映像として提示される。
【0025】
カメラ102は、CCDカメラ、CMOSカメラなどの撮像デバイスで構成されるものである。104は現実空間の光をカメラ102に収束させるためのレンズの役目をはたす撮像系プリズムである。撮像系プリズム104は自由曲面プリズム103の外側に、光軸を一致させるように配置することで、カメラ102で入力した映像と、表示装置101に表示した映像の視差をなくし、現実空間の映像を違和感なく再現することが可能である。
【0026】
図1に戻って、202は、ユーザの手や足など、予め定められた目的を達成するためにユーザが現実空間中の物体と接触させる部位(特定部位)に装着する磁気レシーバである。係る磁気レシーバ202は、上記磁気レシーバ201と同様の動作を行うもので、自身の位置姿勢に応じて検知される磁気の変化を示す信号を位置姿勢計測装置205に出力する。なお、図1では、磁気レシーバ202は1つのみしか示していないので、1つの部位の位置姿勢しか計測できない。しかし、複数個の磁気レシーバ202を位置姿勢計測装置205に接続し、それぞれの磁気レシーバ202を、ユーザのそれぞれの部位に装着すれば、それぞれの部位の位置姿勢を計測することができる。
【0027】
位置姿勢計測装置205は、磁気レシーバ202から信号を受け取ると、係る信号に基づいて、世界座標系における磁気レシーバ202の位置姿勢を求め、求めた位置姿勢を示すデータを後段のコンピュータ400に出力する。
【0028】
400はコンピュータで、HMD100の表示装置101R、101Lに出力すべき画像信号を生成したり、位置姿勢計測装置205からのデータを受け、これを管理したり等の処理を行う。係るコンピュータ400は一般的にはPC(パーソナルコンピュータ)やWS(ワークステーション)等により構成される。図7は、コンピュータ400のハードウェア構成を示すブロック図である。
【0029】
1001はCPUで、RAM1002やROM1003に格納されているプログラムやデータを用いてコンピュータ400全体の制御を行うと共に、I/F1007に接続される外部装置とのデータ通信の制御を行う。また、コンピュータ400が行うものとして後述する各処理を実行する。
【0030】
1002はRAMで、外部記憶装置1005からロードされたプログラムやデータを一時的に記憶するためのエリア、I/F1007を介して外部から受信したデータを一時的に記憶するためのエリアを有する。更に、RAM1002は、CPU1001が各種の処理を実行する際に必要なワークエリアも有する。即ち、RAM1002は、各種のエリアを適宜提供することができる。
【0031】
1003はROMで、ブートプログラムやコンピュータ400の設定データなどを格納する。
【0032】
1004は操作部で、キーボードやマウス、ジョイスティックなどにより構成されており、コンピュータ400の操作者が操作することで、各種の指示をCPU1001に対して入力することができる。
【0033】
1005は外部記憶装置で、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置1005には、OS(オペレーティングシステム)や、コンピュータ400が行うものとして後述する各処理をCPU1001に実行させるためのプログラムやデータ等が保存されている。また、外部記憶装置1005には、後述の説明で既知のものとして説明する情報や、当業者であれば当然の如く用いるであろう情報についても、保存されている。外部記憶装置1005に保存されているプログラムやデータは、CPU1001による制御に従って、適宜RAM1002にロードされる。そして、RAM1002にロードされたプログラムやデータは、CPU1001による処理(実行)対象となる。
【0034】
1006は表示部で、CRTや液晶画面等により構成されており、CPU1001による処理結果を画像や文字等でもって表示する。
【0035】
1007はI/Fで、上述の位置姿勢計測装置205やHMD100等をコンピュータ400に接続する為のインターフェースとして機能するものである。このI/F1007を介して、コンピュータ400は位置姿勢計測装置205、HMD100等とのデータ通信を行うことができる。
【0036】
1008は上述の各部を繋ぐバスである。
【0037】
以上の構成を備えるコンピュータ400は、カメラ102R、102Lのそれぞれから得られる現実空間の画像を取り込む。そして更に、コンピュータ400は、後述の各処理によって仮想物体を配置し、磁気レシーバ201から得られる位置姿勢情報に基づいて、配置した仮想物体を含む仮想空間をカメラ102R、102Lから見た場合に見える画像(仮想空間の画像)を生成する。そして、生成した画像を、先に取り込んだ現実空間の画像上に重畳させ、重畳させた画像を表示装置101R、101Lに出力する。これにより、HMD100を頭部に装着したユーザの右目、左目の眼前には、それぞれの目の位置姿勢に対応した複合現実空間画像が表示されることになる。
【0038】
なお、本実施形態では、磁気レシーバ201を用いてカメラ102の位置姿勢を取得するものとして説明するが、視点の位置姿勢を取得するためにこれ以外の方法を用いることもできる。例えば、現実空間中にその配置位置が既知のマーカを配置しておき、カメラ102による現実空間の画像中におけるマーカの座標位置と、現実空間中におけるマーカの配置位置とに基づいて、カメラ102の位置姿勢を求めても良い。また、本実施形態では、磁気レシーバ201、202、位置姿勢計測装置205で構成されるセンサシステムとして、磁気センサシステムを用いている。しかし、これ以外の方式によるセンサシステムを用いてもよい。例えば、光学式センサ、超音波式センサなどを用いても良い。
【0039】
このように、本実施形態の基本は、位置姿勢の計測対象が何であれ、その計測のための方法については特に限定するものではないが、以下の説明では、上述したように、磁気センサを例に取り説明する。
【0040】
次に、本実施形態でユーザに体験させる複合現実空間について説明する。図3は、本実施形態でユーザに体験させる複合現実空間を説明する図である。なお、係る複合現実空間は当然、図1に示した構成を有するシステムによって構築され、HMD100を介してユーザに提示されるものである。
【0041】
図3(a)は、HMD100を頭部に装着したユーザ390が観察する複合現実空間を示す図で、図3(a)に示す如く、ユーザ390は、台300cの上面301の上に自身の手をついて、壁300aに設けられたボタン300bを押下しようとしている。ここで、壁300a、ボタン300b、台300cは何れも仮想物体である。すなわち、ユーザ390は、仮想物体としての台300cの上面301に手をついて、仮想物体としてのボタン300bを押下しようとしている。
【0042】
しかし、台300cは仮想物体であり、当然の如く手では触れることはできないため、係る台300cに手をつくことはできない。そこで、図3(b)に示す如く、現実物体としての台500の上面501が、台300cの上面301においてユーザ390が手をつきそうな部分(手が接触可能な範囲)に位置するように、台500を配置させる。台500は現実物体であるので、係る台500の上面501(動作補助実物体)には手をつくことができる。従ってユーザは、仮想物体としての台300cの上面301を見ながら係る上面301に手をつくと、実際には現実物体としての台500の上面501に手をついていることになる。これによりユーザ390は、あたかも仮想物体としての台300cの上面301に手をついているかのような感覚を覚えることになる。従って、現実物体としての台500の上面501と、仮想物体としての台300cの上面301とは、できるだけ等しい位置姿勢を有することが好ましい、
そして、本実施形態に係るシステムは、図3を例に取れば、ユーザ390の手が仮想物体としての台300cの上面301に近づくと、台300cの一部若しくは全部の表示形態を制御する。係る処理を行うためには、ユーザ390の手と、台300cの上面301との位置関係を取得することが必要になる。そこで、本実施形態では、表示対象ではない第1の仮想物体(動作部位面)を、ユーザ390の掌の位置姿勢でもって(掌に沿って)配置する。係る仮想物体は、現実物体としての掌の位置姿勢を、仮想空間に反映させるためのものである。
【0043】
従って、本実施形態では、上記磁気レシーバ202を、ユーザの掌に装着し、係る磁気レシーバ202による計測結果を、掌の位置姿勢として用いることが好ましい。しかし、例え他の部位に磁気レシーバ202を装着したとしても、装着部位と掌との位置姿勢関係が得られるのであれば、磁気レシーバ202による計測結果に、係る位置姿勢関係を加えることで、掌の位置姿勢を求めることができる。
【0044】
図4は、コンピュータ400の機能構成を示すブロック図である。
【0045】
カメラ画像取得部401は、カメラ102から順次送出される各フレームの画像(現実空間画像)を取得し、これを後段のマスク画像生成部406、画像合成部402に送出する。
【0046】
カメラ位置姿勢取得部403は、磁気レシーバ201から位置姿勢計測装置205を介して得られる、磁気レシーバ201の位置姿勢情報を取得する。図4では、説明上、位置姿勢計測装置205は省略している。そしてカメラ位置姿勢取得部403は、取得した位置姿勢情報に、磁気レシーバ201とカメラ102との位置姿勢関係を示す関係情報を加えることで、カメラ102の位置姿勢情報(視点の位置姿勢情報)を求める。係る関係情報は、予め求めておく。なお、このようにして視点の位置姿勢情報を求めるための技術については周知の技術であるので、これについての詳細な説明は省略する。そしてカメラ位置姿勢取得部403は、求めた視点の位置姿勢情報を、データストア部407内のCGデータ410に反映させる。なお、データストア部407とは、RAM1002と外部記憶装置1005とで構成されているものである。
【0047】
CGデータ410には、次のようなものが含まれている。即ち、仮想空間を構成する各仮想物体(図3の場合、壁300a、ボタン300b、台300c)に係るデータ(仮想物体データ)、仮想空間中に配置する光源に係るデータ(光源データ)、カメラ102に係るデータ(カメラパラメータ)等が含まれている。仮想物体データには、仮想物体の配置位置姿勢データ、仮想物体の幾何形状データ、テクスチャデータ等が含まれており、光源データには、光源の種類、色、光源の配置位置姿勢等、のデータが含まれている。また、カメラパラメータには、カメラ102の位置姿勢(視点の位置姿勢)データ(情報)、画角データ等、仮想空間中に配置する視点に必要な情報が含まれている。なお、カメラパラメータに含まれている「カメラ102の位置姿勢(視点の位置姿勢)データ(情報)」は、カメラ位置姿勢取得部403からデータストア部407に対して送出された視点の位置姿勢情報で常に更新される。
【0048】
即ち、CGデータ410には、仮想空間を構成する各要素を仮想空間中に設定するために使用する全てのデータ、係る仮想空間の画像を生成するために仮想空間中に設定する視点に与える全てのカメラパラメータが含まれている。なお、CGデータ410に含まれるものとして上述したようなデータは、周知のものであるので、これ以上の説明は省略する。
【0049】
CGデータ410のうち、予め定められた目的を達成する為に磁気レシーバ202を取り付けた部位(特定部位)を接触させる対象の第2の仮想物体(動作補助物体)の仮想物体データは動作補助CGデータ411としてデータストア部407に保持されている。図3の場合、台300cの上面301が動作補助物体であり、係る上面301の仮想物体データが、動作補助CGデータ411としてデータストア部407に保持されていることになる。
【0050】
また、データストア部407内に保存されている動作部位面形状データ408は、上記動作部位面、即ち、ユーザの掌の位置姿勢でもって配置される、表示対象ではない仮想物体の仮想物体データである。従って、動作部位面の仮想物体データには、テクスチャデータなどは必要なく、動作部位面の幾何形状データが少なくとも含まれていればよい。
【0051】
またデータストア部407には、ユーザが動作補助物体に触れたときに触れるであろう上記動作補助実物体を特定するデータが、動作補助実物体形状データ409として保存されている。図3の場合、世界座標系において、台500の上面501の四隅の座標位置を示すデータが、動作補助実物体形状データ409としてデータストア部407に保存されていることになる。
【0052】
ここで、動作補助実物体とは、上述の通り、ユーザが動作補助物体に触れた場合に、「触れた」という感覚を与える為に、現実空間中に設けられる現実物体である。従って、動作補助物体の形状と、動作補助実物体の形状とは同じ若しくはほぼ同じであることが好ましい。ユーザは動作補助物体を見て手をつくのであるが、手をついたときに手に与える感触は動作補助実物体である。従って、それぞれの形状が異なっていたり、互いに位置姿勢が大きく異なっていると、ユーザに違和感を与えることになる。そこで、動作補助実物体と動作補助物体のそれぞれの位置姿勢関係や形状がほぼ同じであれば、見た目と手の感触とがほぼ一致することになり、上記違和感は与えない。
【0053】
なお、動作補助CGデータ411と、動作補助実物体形状データ409とは、互いに関連付けられてデータストア部407内に保存されているものとする。
【0054】
一方、マスク画像生成部406は、カメラ画像取得部401から取得した現実空間画像において、手が映っている領域を特定する。本実施形態では、現実空間画像上に仮想空間画像を合成する場合、現実空間画像において手の領域には仮想空間画像は合成させないようにする(重畳対象外)。手の領域に仮想空間画像を合成してしまうと、手と仮想物体との奥行き関係が逆転してしまうばかりか、「手をつく」という作業が困難になる。
【0055】
マスク画像生成部406は、例えば、現実空間画像を構成する各画素のうち、「手の色として予め登録しておいた色」を有する画素を特定し、特定した画素で構成される領域を手の領域として求める。そして、現実空間画像を構成する各画素に対して、1若しくは0を割り当てる。すなわち、手の領域に含まれている画素については1を割り当て、手の領域に含まれていない画素については0を割り当てる。これにより、手の領域には1、手の領域以外の領域には0が設定された2次元画像を生成することができる。係る2次元画像がマスク画像である。
【0056】
マスク画像生成部406は、生成したマスク画像を、後段の画像合成部402に送出する。
【0057】
CGレンダリング部417は、CGデータ410を用いて、仮想空間を構築する。そして、係る仮想空間を、カメラパラメータに従った視点から見た画像を、仮想空間画像として生成する。なお、所定の位置姿勢を有する視点から見た仮想空間の画像を生成するための処理については周知の技術であるので、これについての詳細な説明は省略する。CGレンダリング部417は、生成した仮想空間画像を、後段の画像合成部402に対して送出する。
【0058】
画像合成部402には上述の通り、カメラ画像取得部401から現実空間画像が入力されると共に、CGレンダリング部417から仮想空間画像が入力される。そして、画像合成部402は、現実空間画像上に、仮想空間画像を合成する。ここで、画像合成部402は、係る合成時に、マスク画像生成部406から受けたマスク画像を参照する。
【0059】
現実空間画像中の画素位置(x、y)における画素上に、仮想空間画像中の画素位置(x、y)における画素を合成する前に、マスク画像中の画素位置(x、y)における画素値qを参照する。そして、q=0であれば、現実空間画像中の画素位置(x、y)における画素の画素値を、仮想空間画像中の画素位置(x、y)における画素の画素値に更新する。一方、q=1であれば、現実空間画像中の画素位置(x、y)における画素の画素値はそのままにする。係る処理は、ハンドマスキングとも言われ、詳細は特開2003−296759号公報等に開示があるため、ここでは、係る技術についてのより詳細な説明は省略する。
【0060】
以上の処理により、画像合成部402が生成する合成画像は、現実空間画像上に仮想空間画像を合成した画像であるが、現実空間画像において手の領域には仮想空間画像は合成させていない画像となっている。そして画像合成部402は、生成した合成画像を、HMD100が有する表示装置101に対して送出する。これにより、HMD100を頭部に装着したユーザの眼前には、視点の位置姿勢に応じた複合現実空間の画像が表示されることになる。
【0061】
係る構成において、本実施形態では、ユーザが仮想物体上に手をつく場合に、係る仮想物体の表示形態を適宜切り替える、所謂、表示切り替え制御を行う。以下では、係る表示切り替え制御について説明する。以下説明する構成は、係る表示切り替え制御の為の構成である。
【0062】
動作部位位置姿勢取得部404は、磁気レシーバ202から位置姿勢計測装置205を介して得られる、磁気レシーバ202の位置姿勢情報を取得する。上述のように、係る位置姿勢情報は、ユーザの掌の位置姿勢を示すものであるとする。そして動作部位位置姿勢取得部404は、取得した位置姿勢情報を、データストア部407内の上記動作部位面形状データ408に反映させる。
【0063】
ここで、図4には、押しボタンスイッチ206、動作部位・動作部位面関係登録部412が記されているが、係る構成は必須なものではなく、付加的なものである。そこで、本実施形態では、主要な構成について説明すべく、これらの構成は用いないものとして説明する。そして、第2の実施形態で、これらの構成が備わっている場合について説明する。従って、本実施形態では、押しボタンスイッチ206、動作部位・動作部位面関係登録部412を図4に示した構成から省いてもよい。
【0064】
動作検知部414は常に、動作部位面形状データ408と、動作補助CGデータ411とを監視しており、動作部位面と動作補助物体との位置姿勢関係(位置姿勢関係情報)を監視している。そして、係る位置姿勢関係に基づいて、ユーザの掌が、上面301に接触しようとしているか否かを判断する。即ち、位置姿勢関係情報が、動作部位面が動作補助物体に接触する直前の状態におけるそれぞれの位置姿勢関係を示しているか否かを判断する。
【0065】
本実施形態では、動作検知部414は、下記の3つの条件がすべて満たされたことを検知した場合に、「ユーザの掌が上面301に接触しようとしている」と判断する。
【0066】
条件1 動作部位面と動作補助物体との間の距離が閾値以下
条件2 動作部位面の向きと動作補助物体の向きとが略逆方向である
条件3 動作補助物体の表側に動作部位面が位置している
ここで、条件1で用いている「距離」とは、例えば、次のようなものである。即ち、面分Aと面分Bとの間の「距離」は、面分A上の任意の点aと、面分B上の任意の点bとの間のユークリッド距離の最小値である。この距離の計算方法は幾何学の分野で広く知られている手法であるので、詳細は省略する。この距離計算法を本実施形態で用いる場合、例えば、動作部位面、動作補助物体のそれぞれの表面上における1センチ間隔の格子点を代表点として用いる等、実施される状況に合わせて計算を簡略化した近似値を用いて構わない。換言すれば、動作部位面の表面と、動作補助物体の表面との間の距離の最小値を、それぞれの間の距離として求める。
【0067】
次に、条件2が満たされているか否かを判定するためには、例えば、次のような方法を用いればよい。即ち、動作部位面について予め定めた向き(方向ベクトル)と、動作補助物体について予め定めた向き(方向ベクトル)とをそれぞれ単位ベクトルに変換した後、それぞれの単位ベクトルの内積値を計算する。そして、計算した内積値が、負の一定値以下である場合には、「動作部位面の向きと動作補助物体の向きとが略逆方向」であると判定する。図3の場合、動作補助物体としての上面301について予め定めた向きとは「上向き」であり、動作部位面について予め定めた向きとは「動作部位面を挟んで掌とは逆の側の面における法線ベクトルが示す方向」である。
【0068】
次に、条件3が満たされているか否かを判定するためには、例えば、次のような方法を用いればよい。即ち、条件1で「距離」を求めるために動作補助物体上に設けた点aと、動作部位面上に設けた点bと、を用い、点aから点bへ向かう単位方向ベクトルと、動作補助物体の単位法線ベクトルと、の内積値が正であれば表側、負であれば裏側と判定する。
【0069】
なお、本実施形態では、動作補助物体は面分であるとしているが、棒状のものや、握り状のものを動作補助物体として用いることもできる。しかし、何れの形状であっても、それぞれの形状の仮想物体は、例えばポリゴンなどにより、複数の面でその形状が構成される。
【0070】
図5は、表面が複数の面で構成されている棒状の動作補助物体、握り状の動作補助物体のそれぞれを示す図である。図5(a)には、表面が複数の面で構成されている棒状の動作補助物体が示されており、図5(b)には、表面が複数の面で構成されている握り状の動作補助物体が示されている。
【0071】
このように、動作補助物体が何れの形状を有していても、その表面は複数の面から構成されていることになる。従って、それぞれの面を上面301と見なして上記説明の処理を行い、何れか1つの面について上記条件1〜3を満たせば、「ユーザの掌が動作補助物体に接触しようとしている」と判断することができる。
【0072】
また、上記3つの条件に、「手が開いている状態であること」という条件4を加え、条件1〜条件4を満たせば(該当すれば)、「ユーザの掌が動作補助物体に接触しようとしている」と判断するようにしても良い。条件4を設ける場合、コンピュータ400には、ユーザの手の開閉を検知するための装置を取り付ける必要があり、係る装置より、「手を開いている」ことを示す信号を受けると、コンピュータ400は、条件4が満たされたと判断する。
【0073】
ユーザの手の開閉を検知する為の仕組みとしては、例えば次のようなものがある。即ち、ユーザの指先にもうひとつ磁気レシーバを取り付け、係る磁気レシーバにより計測される位置姿勢と、磁気レシーバ202により計測される位置姿勢と、の位置姿勢関係を用いて、手の開閉を検知する。例えば、それぞれの位置間が閾値以上離れていれば、手は開いていると判断し、閾値よりも小さければ、手は閉じていると判断する。
【0074】
また、手の甲側で指に沿ってひも状の長さセンサを取り付け、一定の長さ以上を検知すれば手は閉じていると判断し、一定の長さ以下を検知すれば手は開いていると判断してもよい。
【0075】
次に、図4に戻って、CG効果決定部415は、動作検知部414が、「ユーザの掌が、上面301に接触しようとしている」と判定した場合には、後述するCG効果を生成する、と判断する。一方、CG効果決定部415は、動作検知部414が、「ユーザの掌が、上面301に接触しようとしている」とは判定していない場合には、後述するCG効果を破棄する、と判断する。CG効果決定部415による判定結果は、後段のCG効果生成部416に送出される。
【0076】
なお、CG効果決定部415の動作として、次のような動作も考えられる。即ち、動作検知部414が「接触しようとしている」とは判定していない状態から「接触しようとしている」と判定した状態に遷移した時点から一定時間内は、動作検知部414は常に、「接触しようとしている」という判定を行う。即ち、係る一定時間内では、常にCG効果を生成し、破棄することはない。これにより、CG効果の生成と破棄が短い時間内で煩雑に繰り返されることを防ぐことができる。
【0077】
ところで、「手をついている」状態では、CG効果を加えない方が本来の複合現実感の利点である没入感が得られるという効果があるため、CG効果決定部415の動作として、次のような動作(動作B)も考えられる。即ち、動作補助物体を構成する複数の面のうち少なくとも1つと、動作部位面との距離がほぼゼロになっている場合は、CG効果の破棄を決定する。
【0078】
また、「手をついている」状態では手は静止していると考えられる。そこで、CG効果決定部415の動作として、上記動作Bに次のような動作(動作B’)を加えても良い。即ち、手が複合現実空間内でほぼ静止している場合は、CG効果の破棄を決定する。動作B’により、ついた手を、動作補助物体の上でより作業し易い場所に動かしている最中は、CG効果が得られることになる。
【0079】
次に、CG効果生成部416は、CG効果決定部415が「CG効果を生成する」と判定した場合にはCGデータ410等に対してCG効果を生成し、「CG効果を破棄する」と判定した場合には、現在生成済みのCG効果をCGデータ410等から破棄する。
【0080】
ここで、CG効果とは、本実施形態では、それまで仮想物体によって見えなかった現実空間をユーザに視認可能に提示すべく行う、仮想物体の表示形態制御である。従って、CG効果を生成する、ということは、下記の制御1〜制御6に示す如く、通常表示している仮想物体の表示形態を、他の表示形態に切り替える、ということである。また、CG効果を破棄するということは、通常表示していない(下記の制御1〜制御6のうち何れかによる表示を行っている)仮想物体の表示形態を通常表示に切り替える、ということである。
【0081】
本実施形態で想定している表示形態の制御には、例えば、次のようなものがあり、何れか1つを採用する。
【0082】
制御1 台300全体を半透明表示する
制御2 上面301のみを半透明表示する
制御3 上面301のうち、上面501と重なる領域のみ、描画を行わない
制御4 上面301のうち、上面501と重なる領域のみ、半透明表示を行う
制御5 制御3または制御4に加え、上面301のうち上面501と重なる領域の周囲に枠を描画する
制御6 制御3または制御4または制御5に加え、上面301のうち上面501と重なる領域に縞模様や網模様といった線画パターンを描く
上記何れの制御も、CGデータ410や動作補助CGデータ411を加工すればよい。例えば、CGデータ410に含まれている台300のアルファ値を操作すれば、台300の透明度を制御することができ、結果として、台300を半透明表示することができる。また、動作補助CGデータ411に含まれているアルファ値を操作すれば、上面301を半透明表示することができる。また、動作補助実物体形状データ409と動作補助CGデータ411とを用いて、上面301のうち上面501と重なる領域を求め、求めた領域内のアルファ値を操作すれば、係る領域を非表示対象とすることもできるし、半透明表示することもできる。
【0083】
このように、仮想物体の一部若しくは全部を半透明表示したり、非表示としたりするために、係る仮想物体のデータに含まれているアルファ値を制御する、という処理については周知であるので、これ以上の説明は省略する。
【0084】
また、仮想物体の表示形態を通常表示に戻す場合も同様であり、操作したアルファ値を元に戻せばよい。これについても周知の技術であるので、これについての説明は省略する。
【0085】
図6は、ユーザ390が上面301に手をつこうとした場合における上面301の表示形態を説明する図である。図6では、手をつこうとした箇所600には、縞模様の線画パターンが描画されており、係る線画パターン越しに現実物体としての台500が見えている。これによりユーザは、自分が「手を突こう」としている箇所を視認することができ、容易に把握できる。
【0086】
図8は、現実空間画像と仮想空間画像とを合成してHMD100に出力する処理に加えて、ユーザの手が動作補助物体につきそうな場合には、係る動作補助物体の表示形態を制御する処理のフローチャートである。なお、図8のフローチャートに従った処理をCPU1001に実行させるためのプログラムやデータは、外部記憶装置1005に保存されている。係るプログラムには、図4に示した以下の各部の機能をCPU1001に実行させるためのプログラムが含まれている。
【0087】
・ カメラ画像取得部401
・ カメラ位置姿勢取得部403
・ 動作部位位置姿勢取得部404
・ マスク画像生成部406
・ 画像合成部402
・ CGレンダリング部417
・ CG効果決定部415
・ CG効果生成部416
・ 動作検知部414
また、係るデータには、図4に示したCGデータ410、動作補助CGデータ411、動作部位面形状データ408、動作補助実物体形状データ409が含まれている。そして係るプログラムは、RAM1002にロードされ、CPU1001による実行対象となる。
【0088】
先ず、ステップS801では、CPU1001はカメラ画像取得部401として機能し、カメラ102から順次送出される各フレームの画像(現実空間画像)を取得し、これをRAM1002に送出する。
【0089】
次に、ステップS802では、CPU1001はカメラ位置姿勢取得部403として機能し、磁気レシーバ201から位置姿勢計測装置205を介して得られる、磁気レシーバ201の位置姿勢情報を取得する。そしてCPU1001は、取得した位置姿勢情報に、磁気レシーバ201とカメラ102との位置姿勢関係を示す関係情報を加えることで、カメラ102の位置姿勢情報(視点の位置姿勢情報)を求める。そしてCPU1001は、求めた視点の位置姿勢情報を、RAM1002内のCGデータ410に反映させる。
【0090】
次に、ステップS803では、CPU1001は動作部位位置姿勢取得部404として機能し、磁気レシーバ202から位置姿勢計測装置205を介して得られる、磁気レシーバ202の位置姿勢情報を取得する。そしてCPU1001は、取得した位置姿勢情報を、RAM1002内の上記動作部位面形状データ408に反映させる。
【0091】
次に、ステップS804では、CPU1001は動作検知部414として機能し、動作部位面形状データ408と、動作補助CGデータ411とを監視することで、動作部位面と動作補助物体との位置姿勢関係(位置姿勢関係情報)を監視している。そして、上記3つの条件がすべて満たされたことを検知した場合には、「ユーザの掌が上面301に接触しようとしている」と判断し、処理をステップS805に進める。一方、上記3つの条件のうち1つでも満たされていない場合には、「ユーザの掌が上面301に接触しようとしている」とは判断せず、処理をステップS806に進める。
【0092】
ステップS805では、CPU1001は、CG効果決定部415、CG効果生成部416として機能する。即ち、CPU1001は、上記の制御1〜制御6に示す如く、通常表示している仮想物体の表示形態を、通常表示から他の表示形態に切り替える為に、CGデータ410や動作補助CGデータ411を加工する。即ち、CGデータ410に含まれている台300のアルファ値を操作すれば、台300を半透明表示することができる。また、動作補助CGデータ411に含まれているアルファ値を操作すれば、上面301を半透明表示することができる。また、動作補助実物体形状データ409と動作補助CGデータ411とを用いて、上面301のうち上面501と重なる領域を求め、求めた領域内のアルファ値を操作すれば、係る領域を非表示対象とすることもできるし、半透明表示することもできる。
【0093】
一方、ステップS806では、CPU1001は、CG効果決定部415、CG効果生成部416として機能する。即ち、CPU1001は、通常表示していない動作補助物体の表示形態を通常表示に切り替えるべく、上述の通り、操作したアルファ値を元に戻す。
【0094】
次に、ステップS807では、CPU1001はCGレンダリング部417として機能し、CGデータ410(動作補助CGデータ411)を用いて、仮想空間を構築する。そして、係る仮想空間を、カメラパラメータに従った視点から見た画像を、仮想空間画像として生成する。
【0095】
次に、ステップS808では、CPU1001はマスク画像生成部406として機能し、上述のマスク画像を生成する。そして次に、CPU1001は画像合成部402として機能し、現実空間画像上に、仮想空間画像を合成する。係る合成時には、マスク画像を用いてハンドマスキングを行う。これにより、現実空間画像上に仮想空間画像を合成した合成画像であって、現実空間画像において手の領域には仮想空間画像は合成させていない合成画像が得られる。もちろん、「ユーザの掌が上面301に接触しようとしている」場合には、動作補助物体の表示形態が切り替えられている。
【0096】
そして最後に、ステップS809では、CPU1001は、ステップS808における処理で生成した合成画像を、HMD100が有する表示装置101に対して送出する。これにより、HMD100を頭部に装着したユーザの眼前には、視点の位置姿勢に応じた複合現実空間の画像が表示されることになる。
【0097】
以上説明した処理(図8のフローチャートに従った処理)は、1フレーム分の画像を生成してHMD100に送出するための処理であるので、実際には、係る処理を繰り返して行うことで、複数フレームの画像を生成してHMD100に送出することになる。
【0098】
なお、本実施形態では、ユーザの特定部位として「手」を取り上げ、「手をつく」という動作がなされようとしているか否かで、手をつく対象の仮想物体の表示形態を制御していたが、特定部位を「足」としても良い。その場合、上記説明で手に対して行ったことと同じことを足に対して行う。その場合、動作部位面は、足の裏なので、足の裏に略並行に動作部位面を設ける。
【0099】
そして例えば、「足を台に乗せる」という動作がなされようとしているか否かで、足を乗せる対象の仮想物体の表示形態を制御する場合、上記説明で手と台との間で行っていたことを、足と台との間で行えばよい。
【0100】
なお、ユーザがステップを上り下りするような場合、通常、ステップである動作補助物体は水平であり、動作部位面である「足の裏」も水平であると仮定して構わない場合がある。このような場合、磁気レシーバ202は必ずしも姿勢情報を取得しなくても良く、位置情報のみでも良い。動作部位位置姿勢取得部404は、磁気レシーバ202から位置情報を取得すると、これに、水平姿勢を示す姿勢情報を付加し、位置姿勢情報を生成する。以降の動作については上記説明と同じである。
【0101】
また、位置情報のみ取得する手法としては光学式マーカを複数台のカメラで撮影し、三角測量の要領で位置情報を求める手法が知られている。応用によって複数の位置・姿勢取得方法を使い分けることにより、以上説明した技術を適用することができる作業の範囲を広めることが期待できる。
【0102】
また、ユーザの特定部位については手、足の他に、様々なものが考え得る。例えば、ユーザの背中に位置姿勢センサを取り付け、動作部位面を腹部とすれば、うつ伏せになって体重を現実物体にかける、という作業に用いることができる。
【0103】
以上の説明により、本実施形態によれば、複合現実感のメリットである没入感を損なうことなく、「手をつくべき場所」や「足を踏み出すべき場所」等、仮想物体で隠蔽されている現実物体を把握することができる。
【0104】
[第2の実施形態]
本実施形態では、図4に示したスイッチ押しボタン206、動作部位・動作部位面関係登録部412について説明する。
【0105】
ユーザは所定の場所に手を置き、スイッチ押しボタン206を押下することにより、上記位置姿勢関係を登録する。所定の場所に手を置くことにより、動作部位面の位置が既知となるため、磁気レシーバ202により計測された位置姿勢情報を、動作部位面の位置姿勢情報に変換できるような関係を導出することができる。この導出は3DCGの基本的手法として広く知られているので、詳細は省略する。
【0106】
また、磁気レシーバ202と動作部位面との位置姿勢関係は、ユーザ毎に異なる可能性がある。そこで、係る位置姿勢関係を予めユーザ毎に動作部位面形状データ408に登録しておく。そしてユーザがコンピュータ400を使用して複合現実空間を観察する場合、自身の位置姿勢関係を、スイッチ押しボタン206を用いて選択し、選択した位置姿勢関係を用いて、動作部位面を設定する。位置姿勢関係の登録については先の段落で説明した通りである。
【0107】
[その他の実施形態]
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。係る記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【0108】
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0109】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0110】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【0111】
【図1】現実空間に仮想空間を重畳させた複合現実空間をユーザに提供する処理の過程で、ユーザが複合現実空間とのインタラクションを体験することを可能にする為のシステムの外観を示す図である。
【図2】HMD100の具体的な構成を示す図である。
【図3】本発明の第1の実施形態でユーザに体験させる複合現実空間を説明する図である。
【図4】コンピュータ400の機能構成を示すブロック図である。
【図5】表面が複数の面で構成されている棒状の動作補助物体、握り状の動作補助物体のそれぞれを示す図である。
【図6】ユーザ390が上面301に手をつこうとした場合における上面301の表示形態を説明する図である。
【図7】コンピュータ400のハードウェア構成を示すブロック図である。
【図8】現実空間画像と仮想空間画像とを合成してHMD100に出力する処理に加えて、ユーザの手が動作補助物体につきそうな場合には、係る動作補助物体の表示形態を制御する処理のフローチャートである。

【特許請求の範囲】
【請求項1】
ユーザの視点の位置姿勢情報を取得する手段と、
前記ユーザの体における特定部位の位置姿勢情報を取得する手段と、
前記特定部位の位置姿勢情報に基づいて、第1の仮想物体を配置する手段と、
前記ユーザが前記特定部位を接触させる対象の第2の仮想物体を配置する手段と、
前記第1の仮想物体、前記第2の仮想物体が配されている仮想空間の画像を、前記視点の位置姿勢情報に基づいて生成する生成手段と、
前記生成手段により生成された仮想空間の画像を出力する出力手段とを備え、
更に、
前記第1の仮想物体と前記第2の仮想物体との位置姿勢関係情報を求める手段と、
前記位置姿勢関係情報が、前記第1の仮想物体が第2の仮想物体に接触する直前の状態におけるそれぞれの位置姿勢関係を示していると判断した場合には、前記第2の仮想物体の表示形態を切り替える為に、前記第2の仮想物体のデータを操作する制御手段と
を備えることを特徴とする画像処理装置。
【請求項2】
前記制御手段は、
前記第1の仮想物体と前記第2の仮想物体との間の距離を求める手段と、
前記第1の仮想物体に対して予め設定された向きを示す方向ベクトルと、前記第2の仮想物体に対して予め定められた向きを示す方向ベクトルとの内積値を求める手段と、
前記第2の仮想物体の表側に前記第1の仮想物体が位置しているか否かを判断する手段とを備え、
前記距離が予め定められた閾値以下であり、前記内積値が負の一定値以下であり、前記第2の仮想物体の表側に前記第1の仮想物体が位置している場合には、前記位置姿勢関係情報が、前記第1の仮想物体が第2の仮想物体に接触する直前の状態におけるそれぞれの位置姿勢関係を示していると判断し、前記第2の仮想物体の表示形態を切り替える為に、前記第2の仮想物体のデータを操作する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記制御手段は、
前記距離が前記閾値よりも大きい値である場合、前記内積値が負の一定値よりも大きい場合、前記第2の仮想物体の表側には前記第1の仮想物体は位置していない場合、の何れかに該当する場合には、表示形態が切り替えられている仮想物体を通常表示の表示形態で表示する為に、前記第2の仮想物体のデータを操作することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記制御手段は、
前記第2の仮想物体の一部若しくは全部を半透明表示する表示形態、前記第2の仮想物体において前記特定部位が接触可能な範囲を半透明表示する表示形態、当該重なる領域を非表示とする表示形態、前記重なる領域の枠を示す表示を行う表示形態、前記重なる領域に線画パターンを表示する表示形態、のうち何れか1つを実現する為に、前記第2の仮想物体のデータを操作することを特徴とする請求項1乃至3の何れか1項に記載の画像処理装置。
【請求項5】
前記制御手段は、前記第2の仮想物体のアルファ値を操作することで、前記第2の仮想物体の一部若しくは全部の透明度を制御することを特徴とする請求項1乃至4の何れか1項に記載の画像処理装置。
【請求項6】
更に、前記視点から撮像された現実空間の画像を取得する手段を備え、
前記出力手段は、
前記現実空間の画像において前記ユーザの手の領域については前記仮想空間の画像の重畳対象外として、前記現実空間の画像上に前記仮想空間の画像を重畳させた合成画像を生成し、生成した当該合成画像を出力することを特徴とする請求項1乃至5の何れか1項に記載の画像処理装置。
【請求項7】
前記出力手段は、前記ユーザの頭部に装着された頭部装着型表示装置に対して仮想空間の画像を出力することを特徴とする請求項1乃至6の何れか1項に記載の画像処理装置。
【請求項8】
ユーザの視点の位置姿勢情報を取得する工程と、
前記ユーザの体における特定部位の位置姿勢情報を取得する工程と、
前記特定部位の位置姿勢情報に基づいて、第1の仮想物体を配置する工程と、
前記ユーザが前記特定部位を接触させる対象の第2の仮想物体を配置する工程と、
前記第1の仮想物体、前記第2の仮想物体が配されている仮想空間の画像を、前記視点の位置姿勢情報に基づいて生成する生成工程と、
前記生成工程で生成された仮想空間の画像を出力する出力工程とを備え、
更に、
前記第1の仮想物体と前記第2の仮想物体との位置姿勢関係情報を求める工程と、
前記位置姿勢関係情報が、前記第1の仮想物体が第2の仮想物体に接触する直前の状態におけるそれぞれの位置姿勢関係を示していると判断した場合には、前記第2の仮想物体の表示形態を切り替える為に、前記第2の仮想物体のデータを操作する制御工程と
を備えることを特徴とする画像処理方法。
【請求項9】
コンピュータを、請求項1乃至7の何れか1項に記載の画像処理装置が有する各手段として機能させるためのプログラム。
【請求項10】
請求項9に記載のプログラムを格納した、コンピュータ読み取り可能な記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2009−169622(P2009−169622A)
【公開日】平成21年7月30日(2009.7.30)
【国際特許分類】
【出願番号】特願2008−6285(P2008−6285)
【出願日】平成20年1月15日(2008.1.15)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】