(58)【調査した分野】(Int.Cl.,DB名)
前記特徴検出手段は、前記撮像装置の撮像方向と前記表示装置の表示方向とが略反対方向である場合、前記撮像画像が反転した画像ではないとみなして、前記撮像画像と前記検出用画像とを比較する事で、前記特徴を検出する、
請求項1に記載の画像処理用プログラム。
前記特徴検出手段は、前記撮像画像の取得に用いられた撮像装置が、前記表示装置の表示面側に設置された撮像装置である場合に、前記撮像画像が反転した画像であるとみなして、前記反転比較処理を行うことで、前記特徴を検出する、
請求項1又は2に記載の画像処理用プログラム。
前記特徴検出手段は、前記撮像画像の取得に用いられた撮像装置が、前記表示装置の表示面の反対側に設置された撮像装置である場合、前記撮像画像が反転した画像ではないとみなして、前記撮像画像と前記検出用画像とを比較する事で、前記特徴を検出する、
請求項3に記載の画像処理用プログラム。
前記画像生成手段は、前記撮像画像取得手段によって取得された前記撮像画像が反転した画像である場合に、反転された前記仮想オブジェクトを含む仮想空間の画像を生成する、
請求項6に記載の画像処理用プログラム。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、反転した撮像画像では、撮像画像と検出用画像とを比較して撮像画像中の特徴を検出することが困難であった。
【0006】
本発明は、上記した問題に鑑み、撮像画像が反転している場合にも、撮像画像中の特徴検出の精度を向上させることを課題とする。
【課題を解決するための手段】
【0007】
本発明では、上記課題を解決するために、以下の構成を採用した。即ち、本発明は、コンピュータを、撮像装置によって撮像された撮像画像を取得する撮像画像取得手段と、前記撮像画像を含む画像を表示装置に表示させる表示制御手段と、前記撮像画像に撮像された現実空間における特徴を、該特徴の検出用画像を用いて該撮像画像から検出する特徴検出手段として機能させ、前記特徴検出手段は、前記撮像画像取得手段によって取得された前記撮像画像が反転した画像である場合、前記撮像画像と反転された前記検出用画像とを比較するか、または前記撮像画像を更に反転させた画像と前記検出用画像とを比較する、反転比較処理を行うことで、前記特徴を検出する、画像処理用プログラムである。
【0008】
ここで、表示装置は、本発明に係るプログラムを実行するコンピュータに周辺機器として接続されたものであってもよいし、通信網等を介して接続されたものであってもよい。また、本発明に係るプログラムの実行主体となるコンピュータは、所謂クラウド等の仮想的な環境に構築されたものであってもよい。
【0009】
また、現実空間における特徴とは、例えば、所謂拡張現実(AR:Augmented
Reality)処理用のマーカー、または二次元バーコード等のコードである。そして、このような特徴は、例えばカード等の部品に付されてよい。また、このような特徴は、AR処理用途に限定されず、専用のマーカーやコード等にも限られない。他用途に用いられる物品であっても、仮想オブジェクトの表示基準を取得可能なものであれば、前記特徴として用いることが出来る。
【0010】
また、前記特徴検出手段は、前記撮像装置の撮像方向と前記表示装置の表示方向とが略同方向である場合に、前記撮像画像が反転した画像であるとみなして、前記反転比較処理を行うことで、前記特徴を検出してもよいし、前記撮像画像の取得に用いられた撮像装置が、前記表示装置の表示面側に設置された撮像装置である場合に、前記撮像画像が反転した画像であるとみなして、前記反転比較処理を行うことで、前記特徴を検出してもよい。
【0011】
これは、撮像装置と表示装置とが上記のような関係にある場合、撮像画像が反転していると判断できるためである。
【0012】
また、前記特徴検出手段は、前記撮像装置の撮像方向と前記表示装置の表示方向とが略反対方向である場合、前記撮像画像が反転した画像ではないとみなして、前記撮像画像と前記検出用画像とを比較する事で、前記特徴を検出してもよいし、前記撮像画像の取得に用いられた撮像装置が、前記表示装置の表示面の反対側に設置された撮像装置である場合、前記撮像画像が反転した画像ではないとみなして、前記撮像画像と前記検出用画像とを比較する事で、前記特徴を検出してもよい。
【0013】
これは、撮像装置と表示装置とが上記のような関係にある場合、撮像画像が反転していないと判断できるためである。
【0014】
また、前記画像処理用プログラムは、前記コンピュータを、前記検出用画像を保持する保持手段と、前記保持手段によって保持されている前記検出用画像を反転させることで、前記反転された前記検出用画像を生成する検出用反転画像生成手段として更に機能させてもよい。
【0015】
また、前記画像処理用プログラムは、前記コンピュータを、前記特徴に基づいて、仮想空間に配置される仮想オブジェクトの、該仮想空間における位置および姿勢の少なくとも何れかの基準として用いられる表示基準情報を取得する基準情報取得手段と、前記表示基準情報に従って配置された仮想オブジェクトを含む仮想空間の画像を生成する画像生成手段として更に機能させ、前記表示制御手段は、前記撮像画像に前記仮想空間の画像を重畳した合成画像を前記表示装置に表示させてもよい。
【0016】
表示基準情報は、例えば、撮像された空間における位置および姿勢の少なくとも何れかを示す基準である。表示基準情報は、例えば、マーカーの位置および姿勢に応じて原点および3軸が定められた座標系であってよいし、または撮像装置に対するマーカーの位置姿勢情報であってもよい。
【0017】
なお、本発明が適用される拡張現実技術の種類は限定されない。本発明は、例えば、撮像画像に仮想空間画像を合成した合成画像を表示することで仮想空間の画像が現実空間に重畳されてユーザーから視認されるタイプの拡張現実技術にも適用可能であるし、ユーザーの視界に仮想空間画像を映写することで仮想空間の画像が現実空間に重畳されてユーザーから視認されるタイプの拡張現実技術(HUD:Head−Up Display等)にも適用可能である。
【0018】
また、前記画像生成手段は、前記撮像画像取得手段によって取得された前記撮像画像が反転した画像である場合に、反転された前記仮想オブジェクトを含む仮想空間の画像を生成してもよい。
【0019】
このようにすることで、表示される画像における撮像画像と仮想空間の画像との方向を合わせることが出来、ユーザーに与える違和感を低減させることが出来る。
【0020】
また、前記撮像画像取得手段は、前記撮像装置において反転された画像を取得することで、反転した前記撮像画像を取得してもよいし、前記撮像画像取得手段は、前記撮像装置から出力された撮像画像を、ソフトウェア処理による反転処理を介して取得することで、反転した前記撮像画像を取得してもよい。
【0021】
また、本発明は、情報処理装置、1または複数の情報処理装置を有する情報処理システム、コンピュータによって実行される方法、またはコンピュータに実行させるプログラムとしても把握することが可能である。また、本発明は、そのようなプログラムをコンピュータその他の装置、機械等が読み取り可能な記録媒体に記録したものでもよい。ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。
【発明の効果】
【0022】
本発明によれば、撮像画像が反転している場合にも、撮像画像中の特徴検出の精度を向上させることが可能となる。
【発明を実施するための形態】
【0024】
以下、本発明の実施の形態を、図面に基づいて説明する。なお、以下に説明する実施の形態は、本発明を実施する場合の一例を示すものであって、本発明を以下に説明する具体的構成に限定するものではない。本発明の実施にあたっては、実施の形態毎に具体的構成が適宜採用されてよい。例えば、本発明は、携帯可能な情報処理装置のコンピュータにおいて実行される情報処理プログラム、情報処理装置、1または複数の情報処理装置を有する情報処理システムおよび情報処理方法等に適用することが出来る。
【0025】
<システムの構成>
図1は、本実施形態に係るシステム100の構成を示す図である。システム100には、情報処理装置1、およびカード2が含まれる。
【0026】
情報処理装置1は、CPU(Central Processing Unit)11と、RAM(Random Access Memory)12、ROM(Read Only Memory)13、補助記憶装置14、撮像装置15、ディスプレイ16、および各種ボタンやタッチパネル等の入力装置17が電気的に接続された情報処理装置である。なお、情報処理装置1の具体的なハードウェア構成に関しては、実施の形態毎に適宜構成要素の省略や置換、追加が行われてよい。
【0027】
本実施形態に係る情報処理装置1は、2つの撮像装置15を備える。このため、これらの撮像装置を区別しない場合には、何れの撮像装置についても単に「撮像装置15」と称するが、これらの撮像装置を区別する場合には、ユーザーによって閲覧されるディスプレ
イ16の表示面の反対側を撮像可能に設けられた撮像装置を外側撮像装置15aと称し、ディスプレイ16を閲覧しているユーザー側を撮像可能に設けられた撮像装置を内側撮像装置15bと称する。
【0028】
CPU11は、中央処理装置であり、RAM12およびROM13等に展開された命令及びデータを処理することで、RAM12、補助記憶装置14等の、情報処理装置1に備えられた各構成を制御する。また、RAM12は、主記憶装置であり、CPU11によって制御され、各種命令やデータが書き込まれ、読み出される。即ち、CPU11、RAM12、およびROM13は、情報処理装置1の制御部を構成する。
【0029】
補助記憶装置14は、不揮発性の記憶装置であり、主に情報処理装置1の電源を落としても保持したい情報、例えば、RAM12にロードされる情報処理装置1のOS(Operating System)や、後述する処理を実行するための各種プログラム、情報処理装置1によって使用される各種データ、等が書き込まれ、読み出される。補助記憶装置14としては、例えば、EEPROM(Electrically Erasable
Programmable ROM)やHDD(Hard Disk Drive)等を用いることが出来る。また、補助記憶装置14として、情報処理装置1に対して着脱可能に装着される可搬媒体が用いられてもよい。可搬媒体の例としては、EEPROM等によるメモリーカード、CD(Compact Disc)、DVD(Digital Versatile Disc)およびBD(Blu−ray Disc)等が挙げられる。可搬媒体による補助記憶装置14と、可搬型ではない補助記憶装置14とは、組み合わせて用いることも可能である。
【0030】
カード2には、印刷等の方法でマーカー3が付されている。このマーカー3は、情報処理装置1によってディスプレイ16に表示される仮想オブジェクトと対応付けられており、該マーカー3に対応付けられた仮想オブジェクトが表示される際の位置姿勢の基準を示す指標である。また、仮想オブジェクトは、上下、前後、および左右の方向を有する。そのため、マーカー3は、仮想オブジェクトの表示姿勢を特定することが可能なものであることが好ましい。即ち、マーカー3は、撮像装置15を用いて撮像されることで、撮像装置15に対する位置および姿勢を特定可能な記号、文字、図形、絵、およびそれらの組み合わせ等であることが好ましい。
図1においてカード2は1枚しか示されていないが、カード2は複数用いられてもよい。また、カード2が複数用いられる場合、夫々のカード2に、異なる仮想オブジェクトを表示するための互いに異なるマーカー3が付されていてもよいし、同一のマーカーが付された複数のカード2が用いられてもよい。
【0031】
次に、本実施形態に係る情報処理装置1が備える機能について説明する。本実施形態に係る情報処理装置1は、所謂AR機能を備えた情報処理装置である。情報処理装置1は、撮像装置15を用いて撮像された実空間の撮像画像に、仮想カメラを用いて描画(レンダリング)された仮想空間内の仮想オブジェクトを合成して、ディスプレイ16に表示する機能を有する。本実施形態において、仮想オブジェクトは、3次元の画像データである。但し、仮想オブジェクトは、2次元の画像データであってもよい。
【0032】
図2は、本実施形態に係る情報処理装置1の機能構成の概略を示す図である。本実施形態に係る情報処理装置1は、CPU11が、RAM12に展開された各種プログラムを解釈および実行することで、撮像画像取得部21、特徴検出部22、表示基準情報更新部23、表示基準情報記憶部24、画像生成部25および表示制御部26を備える情報処理装置として機能する。本実施形態では、これらの機能がいずれも汎用のCPU11によって実行される例について説明しているが、これらの機能は、その一部または全部が、1または複数の専用のプロセッサによって実現されてもよい。
【0033】
撮像画像取得部21は、撮像装置15によって撮像された撮像画像を取得する。なお、本実施形態において、外側撮像装置15aは、撮像画像を反転することなくそのまま出力するが、内側撮像装置15bは、左右反転された撮像画像を出力する。これは、撮像画像の取得に用いられた内側撮像装置15bが、ディスプレイ16の表示面と同一面に設置されており(即ち、内側撮像装置15bの撮像方向とディスプレイ16の表示方向とが略同方向であり)、内側撮像装置15bを用いて撮像された撮像画像をディスプレイ16に表示する場合、左右反転せずに出力すると、鏡と同様の表示を期待したユーザーに違和感を起こさせてしまうためである。但し、撮像画像の左右反転処理は、内側撮像装置15bで行われなくてもよい。撮像に用いられた撮像装置が、撮像画像をそのまま(反転することなく)出力する内側撮像装置15bである場合、撮像画像は、撮像画像取得部21によって取得される前に、情報処理装置11に設けられたCPU11に反転用プログラムを実行させる方法(ソフトウェア処理による方法)やその他のプロセッサを用いて反転させる方法等によって反転される。いずれにしても、本実施形態に係る撮像画像取得部21は、撮像に用いられた撮像装置が外側撮像装置15aである場合、反転していない撮像画像を取得し、撮像に用いられた撮像装置が内側撮像装置15bである場合、反転した撮像画像を取得する。
【0034】
特徴検出部22は、撮像装置15によって撮像された画像に対して、例えば検出用画像(マーカー画像または反転マーカー画像)を用いてパターンマッチング等の画像処理を行うことによって、当該画像に含まれる現実空間における特徴であるマーカー3を検出することができる。マーカー3の検出は、例えば、画像認識エンジンを用いて行われる。
【0035】
ここで、特徴検出部22は、撮像画像取得部21によって取得された撮像画像が反転した画像である場合、撮像画像と反転マーカー画像とを比較する、反転比較処理を行うことで、撮像画像中のマーカー3を検出する。即ち、本実施形態において、特徴検出部22は、撮像画像の取得に用いられた撮像装置15の撮像方向とディスプレイ16の表示方向とが略同方向であるか、または撮像画像の取得に用いられた撮像装置15が、ディスプレイ16の表示面と同一面に設置された撮像装置15bである場合に、反転比較処理を行う。一方、本実施形態において、特徴検出部22は、撮像装置15の撮像方向とディスプレイ16の表示方向とが略反対方向であるか、または撮像画像の取得に用いられた撮像装置15が、ディスプレイ16の表示面と反対面に設置された撮像装置15aである場合、反転比較処理を行わずに、通常通り撮像画像と検出用画像とを比較する事で、マーカー3を検出する。
【0036】
表示基準情報記憶部24は、仮想空間に配置される仮想オブジェクトの位置および姿勢を決定するための表示基準情報を記憶する。本実施形態において、表示基準情報とは、仮想空間内における仮想オブジェクトの位置および姿勢を示すために用いられる基準である。但し、表示基準情報は、仮想空間内における仮想オブジェクトの位置および姿勢の何れか一方のみを示すために用いられる基準であってもよい。本実施形態の基準取得処理では、表示基準情報として、マーカー3の中心点を原点とし、互いに直交する3軸を用いたマーカー座標系が、マーカー3毎に取得される。ただし、表示基準情報として、撮像画像そのもの等、マーカー座標系以外のものが用いられてもよい。また、複数のマーカー3間で、1つのマーカー座標系を共有して用いることも可能である。実空間に配置されたマーカー3を基準として仮想空間の座標系が定義されることにより、実空間と仮想空間とを対応付けることができる。なお、実空間と仮想空間との対応付けには、マーカー座標系を用いる方法以外の方法が採用されてもよい。
【0037】
表示基準情報更新部23は、検出されたマーカー3に基づいて、撮像画像に撮像された空間における位置および姿勢を示す基準となる情報を取得し、表示基準情報を更新する。本実施形態では、カメラが動いたり、マーカー3が移動されたりした場合であっても、カ
メラに対する最新のマーカー位置および姿勢に従って、表示基準情報記憶部24によって記憶されている表示基準情報が更新される。
【0038】
本実施形態において、仮想空間に配置される仮想オブジェクトは、当該仮想オブジェクトが対応づけられたマーカー3のマーカー座標系に配置される。マーカー座標系は、撮像画像に含まれるマーカー3の見え方から、撮像装置15に対するマーカー3の位置および姿勢を算出することで、取得することができる。マーカー座標系における仮想カメラの位置および姿勢は、実空間の撮像装置15の位置および姿勢と一致される。このため、マーカー3に基づいて仮想空間が定義され、当該仮想空間において、撮像装置15の位置や撮像方向を変化させると、ディスプレイ16に表示される仮想空間の画像も変化する。
【0039】
画像生成部25は、仮想空間に、表示基準情報記憶部24によって記憶されている表示基準情報に従って位置および姿勢が決定される仮想オブジェクトを配置し、仮想カメラから見た仮想空間の画像を生成することで、仮想空間画像を描画(レンダリング)する。そして、本実施形態に係る情報処理装置1は、上記説明したAR機能のために、撮像画像取得部21によって取得された撮像画像と、画像生成部25によって生成された仮想オブジェクトを含む仮想空間画像と、を重畳した合成画像を生成する。
【0040】
表示制御部26は、生成された、撮像画像を含む合成画像を、表示装置であるディスプレイ16によって表示させる。このようにすることで、ユーザーは、現実空間に、実際に仮想オブジェクトが存在するかのような感覚を得ることが出来る。
【0041】
次に、本実施形態に係る情報処理装置1が保持する情報について説明する。情報処理装置1は、上記説明した表示基準情報記憶部24によって記憶される表示基準情報の他に、マーカー情報、および仮想オブジェクト情報を保持する。
【0042】
マーカー情報は、マーカー3に関する情報である。マーカー情報には、例えば、マーカー3を識別するためのマーカーID、マーカー画像、反転マーカー画像、マーカーサイズ、対応仮想オブジェクトID、仮想オブジェクトの位置姿勢、仮想オブジェクトの表示サイズ等が含まれる。
【0043】
図3は、本実施形態において用いられるマーカー画像の一例を示す図であり、
図4は、本実施形態において用いられる反転マーカー画像の一例を示す図である。マーカー画像は、マーカー3の外観を示す画像であり、反転マーカー画像は、対応するマーカー画像を左右反転させたものである。また、マーカーサイズは、マーカー3の縦横の長さ等、マーカー3の大きさを示す情報である。情報処理装置1の表示基準情報更新部23は、マーカー画像または反転マーカー画像とマーカーサイズに基づいて、撮像画像に含まれるマーカー3の見え方から、撮像装置15とマーカー3との距離、マーカー3の姿勢等、即ち、マーカー3の位置姿勢情報およびマーカー座標系を取得することができる。対応仮想オブジェクトIDは、マーカー3に対応する位置に表示される仮想オブジェクトの識別番号である。なお、1つのマーカー3に対して2以上の仮想オブジェクトが対応付けられていてもよい。本実施形態では、マーカー情報には、該当マーカー座標系によって管理される仮想オブジェクトの仮想オブジェクトIDが含まれる。仮想オブジェクトの位置姿勢は、マーカー座標系における位置(座標値)および姿勢(ベクトル)で示される。仮想オブジェクトの表示サイズは、マーカー座標系に配置される仮想オブジェクトのサイズを示す情報である。マーカー情報は、システム100において使用される各マーカー3に対して存在する。
【0044】
仮想オブジェクト情報は、マーカー3に対応する位置に表示される仮想オブジェクトに関する情報である。仮想オブジェクト情報には、例えば、仮想オブジェクトを識別するた
めの仮想オブジェクトIDおよび仮想オブジェクトのデータが含まれる。仮想オブジェクト情報は、システム100において使用される各仮想オブジェクトについて存在する。
【0045】
<処理の流れ>
次に、本実施形態において実行される処理の流れを説明する。なお、本実施形態に係るフローチャートに示された処理の具体的な内容および処理順序は、本発明を実施するための一例である。具体的な処理内容および処理順序は、本発明の実施の形態毎に適宜選択されてよい。
【0046】
図5は、本実施形態に係る画像処理の流れを示すフローチャートである。本フローチャートに示された画像処理は、情報処理装置1において、撮像装置15を用いた撮像機能を起動するユーザー操作が受け付けられたことを契機として開始される。表示基準情報記憶部24によって記憶される情報は撮像機能の起動時に初期化され、表示基準情報記憶部24は撮像機能の起動時において表示基準情報を記憶しない。なお、本実施形態に係る処理は、60フレーム/秒で分割されたフレーム毎に繰り返し実行される。
【0047】
ステップS101およびステップS102では、撮像画像が取得され、撮像画像の取得に用いられた撮像装置が判定される。撮像画像取得部21は、撮像装置15によって撮像された撮像画像を取得する(ステップS101)。そして、特徴検出部22は、ステップS101において取得された撮像画像の取得に用いられた撮像装置が、内側撮像装置15bであるか否かを判定する(ステップS102)。特徴検出部22は、例えば、情報処理装置1のRAM12に記録されている、現在有効になっている撮像装置が外側撮像装置15aおよび内側撮像装置15bの何れであるかを示す情報等を参照する方法や、取得された撮像画像に付された、撮像装置を示すメタ情報を参照する方法等によって、撮像画像の取得に用いられた撮像装置が内側撮像装置15bであるか否かを判定することが出来る。撮像画像の取得に用いられた撮像装置が内側撮像装置15bではない(即ち、外側撮像装置15aである)と判定された場合、処理はステップS103へ進む。一方、撮像画像の取得に用いられた撮像装置が内側撮像装置15bであると判定された場合、処理はステップS104へ進む。
【0048】
ステップS103では、マーカー画像が取得される。特徴検出部22は、補助記憶装置14に保持されているマーカー情報から、比較のためのマーカー画像を取得する。その後、処理はステップS105へ進む。
【0049】
ステップS104では、反転マーカー画像が取得される。特徴検出部22は、補助記憶装置14に保持されているマーカー情報から、比較のための反転マーカー画像を取得する。その後、処理はステップS105へ進む。
【0050】
ステップS105では、撮像画像からマーカー3が検出される。撮像画像が取得されると、特徴検出部22は、撮像画像から、ステップS103で取得されたマーカー画像、またはステップS104で取得された反転マーカー画像に該当するマーカー3を、撮像された空間における特徴として全て検出する。マーカー3の検出は、一般的な画像認識エンジンを用いて行うことが可能である。その後、処理はステップS106へ進む。
【0051】
ステップS106では、マーカー3毎に基準取得処理が実行される。表示基準情報更新部23は、検出されたマーカー3に基づいて、マーカー3毎に、実空間におけるマーカー3の位置姿勢情報を取得し、マーカー3毎の表示基準情報を更新する。より具体的には、表示基準情報更新部23は、撮像画像中のマーカー3の位置、マーカー情報に含まれるマーカーサイズと撮像画像に含まれる該マーカー3のサイズとの比較結果、および、マーカー画像または反転マーカー画像に対する撮像画像中のマーカー3の歪み、に基づいて、実
空間におけるマーカー3の位置および姿勢を取得する。表示基準情報更新部23は、このようにして取得された、実空間におけるマーカー3の位置姿勢情報をもって、表示基準情報を更新する。その後、処理はステップS107へ進む。
【0052】
ステップS107では、仮想空間の画像が生成される。画像生成部25は、表示基準情報に従って位置および姿勢の少なくとも何れかが決定されてマーカー座標系に配置された1または複数の仮想オブジェクトを含む仮想空間の画像を、マーカー座標系において撮像装置15と同一の位置に配置された仮想カメラの視点から描画する。仮想オブジェクトを描画するための仮想オブジェクトのデータは、仮想オブジェクト情報から取得される。なお、仮想オブジェクトは、1または数フレーム毎に変化することでアニメーションしてもよい。アニメーションは、例えば、仮想オブジェクトのキャラクターが表情を変えたり、動いたりするものとすることが出来る。その後、処理はステップS108へ進む。
【0053】
ステップS108では、表示処理が実行される。表示制御部26は、撮像画像に仮想空間の画像を重畳した合成画像を生成し、この合成画像をディスプレイ16に出力し、表示させる。その後、処理はステップS109へ進む。
【0054】
ステップS109では、画像処理を終了するか否かが判定される。先述の通り、本フローチャートに示された処理はフレーム毎に実行されるものである。このため、本フローチャートに示された処理は、ユーザー操作等に基づいて撮像機能が終了されるまで(ステップS109)、定期的にステップS101から繰り返し実行される。
【0055】
図6および
図7は、本実施形態に係る画像処理によって合成画像の取得が行われる場合の、ディスプレイ16の表示画面の一例を示す図である。より具体的には、
図6は、本実施形態において、外側撮像装置15aを用いて撮像された撮像画像に対して画像処理が行われた場合の表示画面の一例を示す図であり、
図7は、本実施形態において、内側撮像装置15bを用いて撮像された、反転した撮像画像に対して画像処理が行われた場合の表示画面の一例を示す図である。
【0056】
先述の通り、表示基準情報記憶部24によって記憶される情報は撮像機能の起動時に初期化され、表示基準情報記憶部24は撮像機能の起動時において表示基準情報を記憶しない。このため、ユーザー操作に応じて情報処理装置1の撮像機能が起動された直後、撮像画像にマーカーが含まれていない場合、仮想空間に仮想オブジェクトは配置されず、ディスプレイ16には、撮像装置15によって得られた撮像画像のみが表示される。
【0057】
撮像装置15の撮像範囲にマーカー3が入り、撮像画像にマーカー3が含まれると、特徴検出部22によって検出されたマーカー3に基づいて表示基準情報更新部23が表示基準情報を更新し、画像生成部25によって、マーカー3に対応する位置および姿勢で仮想オブジェクトが描画される。このため、ディスプレイ16にはマーカー3の上に仮想オブジェクトが重畳された合成画像が表示される(
図6または
図7を参照)。
【0058】
ここで、撮像画像が外側撮像装置15aを用いて撮像されたものである場合、撮像画像は撮像されたまま用いられ、仮想空間の画像が重畳されるが(
図6を参照)、撮像画像が内側撮像装置15bを用いて撮像されたものである場合、撮像画像は左右反転されており、ここに仮想空間の画像が重畳される(
図7を参照)。
【0059】
上記説明した実施形態によれば、撮像装置15bによって、ディスプレイ16の表示方向と略同方向の撮像方向を撮像し、鏡と同様の表示を期待したユーザーに違和感を起こさせないために左右反転した撮像画像を表示する場合にも、撮像画像中のマーカー3を正しく検出することが出来る。
【0060】
<実施形態のバリエーション>
以下、上記説明した実施形態に適用可能なバリエーションについて説明する。
【0061】
上記実施形態では、撮像画像の取得に用いられた撮像装置が内側撮像装置15bである場合に、特徴検出部22は、補助記憶装置14に保持されているマーカー情報から、比較のための反転マーカー画像を取得することとしている(
図5のステップS104を参照)。しかし、このような処理に代えて、情報処理装置1が検出用反転画像生成部を更に備え(図示は省略する)、この検出用反転画像生成部が、補助記憶装置14によって保持されている検出用画像であるマーカー画像を反転させることで、反転マーカー画像を生成することとしてもよい。この場合、マーカー情報には、反転マーカー画像は含まれなくてもよい。
【0062】
また、上記実施形態では、特徴検出部22は、撮像画像取得部21によって取得された撮像画像が反転した画像である場合、撮像画像と反転マーカー画像とを比較することで、マーカー3を検出することとしているが、これに代えて、撮像画像を反転させた画像とマーカー画像とを比較することで、マーカー3を検出することとしてもよい。
【0063】
また、画像生成部25は、撮像画像取得部21によって取得された撮像画像が反転した画像である場合に、反転された仮想オブジェクトを含む仮想空間の画像を生成してもよい。このようにすることで、表示画像における撮像画像と仮想空間の画像との方向を合わせることが出来、ユーザーに与える違和感を低減させることが出来る。
【0064】
なお、上記実施形態では、撮像画像が左右反転され、反転マーカー画像についてもマーカー画像を左右反転したものを用いる場合について説明したが、撮像画像の反転方向と、反転マーカー画像の反転方向とが一致していればよく、反転の方向は左右に限定されない。
【0065】
また、情報処理装置1が備えるディスプレイ16は、裸眼立体視可能な表示装置であってもよい。例えば、ディスプレイ16には、横方向に交互に表示される左目用画像と右目用画像とを左目および右目のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式(視差バリア方式)のものが用いられる。また、ディスプレイ16は、立体視可能な画像を表示する立体表示モードと、画像を平面的に表示する(平面視画像を表示する)平面表示モードとを切り替えることが可能な表示装置であってもよい。この表示モードの切り替えは、例えば、3D調整スイッチ(図示は省略する)によって行われる。
【0066】
この場合、立体視可能のための左目用撮像画像および右目用撮像画像を得るため、撮像装置15として、ステレオ撮影可能な撮像装置が用いられる。また、仮想空間画像についても、立体視可能な画像とするため、画像生成部25は、撮像装置15のステレオカメラに対応した2つの仮想カメラを用いて、左目用の仮想画像と右目用の仮想画像とを生成する。そして、表示制御部は、左目用の合成画像および右目用の合成画像を生成し、立体視可能なディスプレイ16に出力する。
【0067】
また、上記説明した実施形態では、表示基準情報としてマーカー座標系を用いる例を説明したが、表示基準情報は、現実空間から得られた情報であって、仮想空間における仮想オブジェクトの位置および姿勢の少なくとも何れかの基準として用いることが可能なものであればよい。例えば、表示基準情報は、撮像画像自体であってもよい。撮像画像を表示基準情報として用いる場合、画像生成部25は、フレーム毎に、表示基準情報として記憶されている撮像画像から、仮想オブジェクトの表示基準を抽出する。