(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6021568
(24)【登録日】2016年10月14日
(45)【発行日】2016年11月9日
(54)【発明の名称】画像処理用プログラム、画像処理装置、画像処理システム、および画像処理方法
(51)【国際特許分類】
G06T 19/00 20110101AFI20161027BHJP
【FI】
G06T19/00 600
【請求項の数】13
【全頁数】16
(21)【出願番号】特願2012-220353(P2012-220353)
(22)【出願日】2012年10月2日
(65)【公開番号】特開2014-71877(P2014-71877A)
(43)【公開日】2014年4月21日
【審査請求日】2015年8月20日
(73)【特許権者】
【識別番号】000233778
【氏名又は名称】任天堂株式会社
(74)【代理人】
【識別番号】100100549
【弁理士】
【氏名又は名称】川口 嘉之
(74)【代理人】
【識別番号】100113608
【弁理士】
【氏名又は名称】平川 明
(74)【代理人】
【識別番号】100105407
【弁理士】
【氏名又は名称】高田 大輔
(74)【代理人】
【識別番号】100145838
【弁理士】
【氏名又は名称】畑添 隆人
(74)【代理人】
【識別番号】100130269
【弁理士】
【氏名又は名称】石原 盛規
(72)【発明者】
【氏名】早川 毅
【審査官】
千葉 久博
(56)【参考文献】
【文献】
特開2012−178064(JP,A)
【文献】
特開2012−103789(JP,A)
【文献】
特開2007−286715(JP,A)
【文献】
神原誠之, 外3名,”広範囲が見回し可能なビジョンベース拡張現実環境の構築”,日本バーチャルリアリティ学会第4回大会論文集,1999年 9月29日,p.257-260
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00
(57)【特許請求の範囲】
【請求項1】
コンピュータを、
撮像装置によって撮像された撮像画像を取得する撮像画像取得手段と、
前記撮像画像から、現実空間における位置および姿勢の少なくとも何れかを特定可能な特徴を検出する特徴検出手段と、
仮想空間に配置される仮想オブジェクトの、該仮想空間における位置および姿勢の少なくとも何れかの基準として用いられる表示基準情報を記憶する表示基準情報記憶手段と、
前記検出された特徴に基づいて、前記表示基準情報記憶手段によって記憶されている前記表示基準情報を更新する表示基準情報更新手段と、
前記表示基準情報に従って配置された仮想オブジェクトを含む仮想空間の画像を生成する画像生成手段と、
前記仮想空間の画像が現実空間に重畳されてユーザーから視認されるように、表示装置に画像を表示させる表示制御手段と、
所定の条件を満たしている場合に、前記表示基準情報更新手段による前記表示基準情報の更新を中断させる更新中断手段と、
として機能させ、
前記画像生成手段は、前記表示基準情報の更新が中断されている間は、最後に更新された表示基準情報に従って配置された仮想オブジェクトを含む仮想空間の画像を生成する、画像処理用プログラム。
【請求項2】
前記表示制御手段は、前記撮像画像に前記仮想空間の画像を重畳した合成画像を前記表示装置に表示させることで、ユーザーが、前記仮想空間の画像が現実空間に重畳されて視認可能とする、
請求項1に記載の画像処理用プログラム。
【請求項3】
前記コンピュータを、前記合成画像を保存する合成画像保存手段として更に機能させる、
請求項2に記載の画像処理用プログラム。
【請求項4】
前記合成画像保存手段は、画像の保存を指示するユーザー操作が行われたことを受けて、前記合成画像を保存する、
請求項3に記載の画像処理用プログラム。
【請求項5】
前記更新中断手段は、ユーザーによる所定の操作が行われたことを条件として、前記表示基準情報更新手段による前記表示基準情報の更新を中断させる、
請求項1から4の何れか一項に記載の画像処理用プログラム。
【請求項6】
前記特徴は、現実空間において位置および姿勢の少なくともいずれかを変更可能である、請求項1から5の何れか一項に記載の画像処理用プログラム。
【請求項7】
コンピュータを、
撮像装置によって撮像された撮像画像を取得する撮像画像取得手段と、
前記撮像画像から、現実空間における位置および姿勢の少なくとも何れかを特定可能な特徴を検出する特徴検出手段と、
前記検出された特徴に基づいて、仮想空間に配置される仮想オブジェクトの、該仮想空間における位置および姿勢の少なくとも何れかを更新する更新手段と、
前記仮想オブジェクトを含む仮想空間の画像を生成する画像生成手段と、
前記仮想空間の画像が現実空間に重畳されてユーザーから視認されるように、表示装置に画像を表示させる表示制御手段と、
所定の条件を満たしている場合に、前記仮想オブジェクトの、前記仮想空間における位置および姿勢の少なくとも何れかの更新を中断させる更新中断手段と、
として機能させ、
前記画像生成手段は、前記更新が中断されている間は、最後に更新された前記仮想オブジェクトの前記仮想空間における位置および姿勢の少なくとも何れかに従って配置された前記仮想オブジェクトを含む仮想空間の画像を生成する、
画像処理用プログラム。
【請求項8】
撮像装置によって撮像された撮像画像を取得する撮像画像取得手段と、
前記撮像画像から、現実空間における位置および姿勢の少なくとも何れかを特定可能な特徴を検出する特徴検出手段と、
仮想空間に配置される仮想オブジェクトの、該仮想空間における位置および姿勢の少なくとも何れかの基準として用いられる表示基準情報を記憶する表示基準情報記憶手段と、
前記検出された特徴に基づいて、前記表示基準情報記憶手段によって記憶されている前記表示基準情報を更新する表示基準情報更新手段と、
前記表示基準情報に従って配置された仮想オブジェクトを含む仮想空間の画像を生成する画像生成手段と、
前記仮想空間の画像が現実空間に重畳されてユーザーから視認されるように、表示装置に画像を表示させる表示制御手段と、
所定の条件を満たしている場合に、前記表示基準情報更新手段による前記表示基準情報の更新を中断させる更新中断手段と、
を備え、
前記画像生成手段は、前記表示基準情報の更新が中断されている間は、最後に更新された表示基準情報に従って配置された仮想オブジェクトを含む仮想空間の画像を生成する、画像処理装置。
【請求項9】
撮像装置によって撮像された撮像画像を取得する撮像画像取得手段と、
前記撮像画像から、現実空間における位置および姿勢の少なくとも何れかを特定可能な特徴を検出する特徴検出手段と、
前記検出された特徴に基づいて、仮想空間に配置される仮想オブジェクトの、該仮想空間における位置および姿勢の少なくとも何れかを更新する更新手段と、
前記仮想オブジェクトを含む仮想空間の画像を生成する画像生成手段と、
前記仮想空間の画像が現実空間に重畳されてユーザーから視認されるように、表示装置に画像を表示させる表示制御手段と、
所定の条件を満たしている場合に、前記仮想オブジェクトの、前記仮想空間における位置および姿勢の少なくとも何れかの更新を中断させる更新中断手段と、
を備え、
前記画像生成手段は、前記更新が中断されている間は、最後に更新された前記仮想オブジェクトの前記仮想空間における位置および姿勢の少なくとも何れかに従って配置された前記仮想オブジェクトを含む仮想空間の画像を生成する、
画像処理装置。
【請求項10】
撮像装置によって撮像されることで、該撮像装置に対する位置および姿勢を特定可能な特徴が付された部品と、
撮像装置に接続される画像処理装置と、を備える画像処理システムであって、
前記画像処理装置は、
撮像装置によって撮像された撮像画像を取得する撮像画像取得手段と、
前記撮像画像から、前記現実空間に配置され前記撮像装置によって撮像された前記部品に付されている前記特徴を検出する特徴検出手段と、
仮想空間に配置される仮想オブジェクトの、該仮想空間における位置および姿勢の少なくとも何れかの基準として用いられる表示基準情報を記憶する表示基準情報記憶手段と、
前記検出された特徴に基づいて、前記表示基準情報記憶手段によって記憶されている前記表示基準情報を更新する表示基準情報更新手段と、
前記表示基準情報に従って配置された仮想オブジェクトを含む仮想空間の画像を生成する画像生成手段と、
前記仮想空間の画像が現実空間に重畳されてユーザーから視認されるように、表示装置に画像を表示させる表示制御手段と、
所定の条件を満たしている場合に、前記表示基準情報更新手段による前記表示基準情報の更新を中断させる更新中断手段とを有し、
前記画像生成手段は、前記表示基準情報の更新が中断されている間は、最後に更新された表示基準情報に従って配置された仮想オブジェクトを含む仮想空間の画像を生成する、
画像処理システム。
【請求項11】
撮像装置によって撮像されることで、該撮像装置に対する位置および姿勢を特定可能な特徴が付された部品と、
撮像装置に接続される画像処理装置と、を備える画像処理システムであって、
前記画像処理装置は、
撮像装置によって撮像された撮像画像を取得する撮像画像取得手段と、
前記撮像画像から、前記現実空間に配置され前記撮像装置によって撮像された前記部品に付されている前記特徴を検出する特徴検出手段と、
前記検出された特徴に基づいて、仮想空間に配置される仮想オブジェクトの、該仮想空間における位置および姿勢の少なくとも何れかを更新する更新手段と、
前記仮想オブジェクトを含む仮想空間の画像を生成する画像生成手段と、
前記仮想空間の画像が現実空間に重畳されてユーザーから視認されるように、表示装置に画像を表示させる表示制御手段と、
所定の条件を満たしている場合に、前記仮想オブジェクトの、前記仮想空間における位置および姿勢の少なくとも何れかの更新を中断させる更新中断手段とを有し、
前記画像生成手段は、前記更新が中断されている間は、最後に更新された前記仮想オブジェクトの前記仮想空間における位置及び姿勢の少なくとも何れかに従って配置された仮想オブジェクトを含む仮想空間の画像を生成する、
画像処理システム。
【請求項12】
コンピュータが、
撮像装置によって撮像された撮像画像を取得する撮像画像取得ステップと、
前記撮像画像から、現実空間における位置および姿勢の少なくとも何れかを特定可能な特徴を検出する特徴検出ステップと、
仮想空間に配置される仮想オブジェクトの、該仮想空間における位置および姿勢の少なくとも何れかの基準として用いられる表示基準情報を記憶する表示基準情報記憶ステップと、
前記検出された特徴に基づいて、前記表示基準情報記憶ステップによって記憶されている前記表示基準情報を更新する表示基準情報更新ステップと、
前記表示基準情報に従って配置された仮想オブジェクトを含む仮想空間の画像を生成する画像生成ステップと、
前記仮想空間の画像が現実空間に重畳されてユーザーから視認されるように、表示装置に画像を表示させる表示制御ステップと、
所定の条件を満たしている場合に、前記表示基準情報更新ステップによる前記表示基準情報の更新を中断させる更新中断ステップと、
を実行し、
前記画像生成ステップでは、前記表示基準情報の更新が中断されている間は、最後に更新された表示基準情報に従って配置された仮想オブジェクトを含む仮想空間の画像を生成する、
画像処理方法。
【請求項13】
コンピュータが、
撮像装置によって撮像された撮像画像を取得する撮像画像取得ステップと、
前記撮像画像から、現実空間における位置および姿勢の少なくとも何れかを特定可能な特徴を検出する特徴検出ステップと、
前記検出された特徴に基づいて、仮想空間に配置される仮想オブジェクトの、該仮想空間における位置および姿勢の少なくとも何れかを更新する更新ステップと、
前記仮想オブジェクトを含む仮想空間の画像を生成する画像生成ステップと、
前記仮想空間の画像が現実空間に重畳されてユーザーから視認されるように、表示装置に画像を表示させる表示制御ステップと、
所定の条件を満たしている場合に、前記仮想オブジェクトの、前記仮想空間における位置および姿勢の少なくとも何れかの更新を中断させる更新中断ステップと、
を実行し、
前記画像生成ステップでは、前記更新が中断されている間は、最後に更新された前記仮想オブジェクトの前記仮想空間における位置及び姿勢の少なくとも何れかに従って配置された仮想オブジェクトを含む仮想空間の画像を生成する、
画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、現実空間に各種情報を重畳する画像処理用プログラム、画像処理装置、画像処理システム、および画像処理方法に関する。
【背景技術】
【0002】
従来、現実空間に各種情報を重畳する技術である拡張現実(AR:Augmented
Reality)の分野において、仮想オブジェクトを表示するための基準座標判別に関する研究が行われている。例えば、非特許文献1には、カメラによって撮像された画像におけるマーカーの位置および姿勢に基づいて、仮想オブジェクトを表示する方法が開示されている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】加藤博一、Mark Billinghurst、浅野浩一、橘啓八郎、「マーカー追跡に基づく拡張現実感システムとそのキャリブレーション」、日本バーチャルリアリティ学会論文誌、Vol4、No.4、1999年、p.606−616
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、拡張現実技術では、現実空間内の特徴が、仮想空間における仮想オブジェクトの位置または姿勢の基準となるため、仮想オブジェクトの表示は、前記特徴によって制限を受けていた。例えば、マーカーに対応した仮想オブジェクトはマーカーに基づいて表示されるため、仮想オブジェクトを希望通りに表示するためには、マーカーを撮像装置に対して所定の状態に維持する必要があった。また、マーカーを含ませずに仮想オブジェクトを表示することは困難であった。
【0005】
本発明は、上記した問題に鑑み、拡張現実技術における仮想オブジェクトの表示について、現実空間内の特徴から受ける制限を低減させることを課題とする。
【課題を解決するための手段】
【0006】
本発明では、上記課題を解決するために、以下の構成を採用した。即ち、本発明は、コンピュータを、仮想空間に配置される仮想オブジェクトの、該仮想空間における位置および姿勢の少なくとも何れかの基準として用いられる表示基準情報を記憶する表示基準情報記憶手段と、現実空間から得られた情報に基づいて、前記表示基準情報記憶手段によって記憶されている前記表示基準情報を更新する表示基準情報更新手段と、前記表示基準情報に従って配置された仮想オブジェクトを含む仮想空間の画像を生成する画像生成手段と、前記仮想空間の画像が現実空間に重畳されてユーザーから視認されるように、表示装置に画像を表示させる表示制御手段と、所定の条件を満たしている場合に、前記表示基準情報更新手段による前記表示基準情報の更新を中断させる更新中断手段と、として機能させる画像処理用プログラムである。
【0007】
ここで、表示装置は、本発明に係るプログラムを実行するコンピュータに周辺機器として接続されたものであってもよいし、通信網等を介して接続されたものであってもよい。また、本発明に係るプログラムの実行主体となるコンピュータは、所謂クラウド等の仮想的な環境に構築されたものであってもよい。
【0008】
上記画像処理用プログラムによれば、所定の条件を満たしている場合に表示基準情報の更新を中断させるため、マーカー等の特徴の位置や姿勢に制限されることなく、仮想オブジェクトの表示基準情報を決定することが出来、拡張現実技術における仮想オブジェクトの表示について、現実空間内の特徴から受ける制限を低減させることが可能となる。
【0009】
なお、本発明が適用される拡張現実技術の種類は限定されない。本発明は、例えば、撮像画像に仮想空間画像を合成した合成画像を表示することで仮想空間の画像が現実空間に重畳されてユーザーから視認されるタイプの拡張現実技術にも適用可能であるし、ユーザーの視界に仮想空間画像を映写することで仮想空間の画像が現実空間に重畳されてユーザーから視認されるタイプの拡張現実技術(HUD:Head−Up Display等)にも適用可能である。
【0010】
また、前記画像処理プログラムは、現実空間における位置および姿勢の少なくとも何れかを特定可能な、該現実空間における特徴を検出する特徴検出手段を更に備え、前記表示基準情報更新手段は、前記特徴に基づいて、前記表示基準情報記憶手段によって記憶されている前記表示基準情報を更新してもよい。
【0011】
ここで、現実空間における特徴とは、例えば、所謂AR用のマーカー、または二次元バーコード等のコードである。そして、このような特徴は、例えばカード等の部品に付されてよい。また、このような特徴は、専用のマーカーやコード等に限られない。他用途に用いられる物品であっても、仮想オブジェクトの表示基準を取得可能なものであれば、前記特徴として用いることが出来る。
【0012】
また、前記更新中断手段は、ユーザーによる所定の操作が行われたことを条件として、前記表示基準情報更新手段による前記表示基準情報の更新を中断させてもよい。
【0013】
これによって、表示基準情報を固定するタイミングをユーザーが指定可能となり、仮想オブジェクトを、ユーザーが所望する表示基準情報で固定することが可能となる。なお、ここで、「所定の操作が行われたこと」には、所定の操作が継続されていることも含まれる。
【0014】
また、前記画像処理プログラムは、前記コンピュータを、撮像装置によって撮像された撮像画像を取得する撮像画像取得手段として更に機能させ、前記特徴検出手段は、前記撮像画像に撮像された空間における特徴を、該撮像画像から検出してもよい。
【0015】
また、前記表示制御手段は、前記撮像画像に前記仮想空間の画像を重畳した合成画像を前記表示装置に表示させることで、ユーザーが、前記仮想空間の画像が現実空間に重畳されて視認可能としてもよい。
【0016】
また、前記画像処理用プログラムは、前記コンピュータを、前記合成画像を保存する合成画像保存手段として更に機能させてもよい。
【0017】
表示基準情報を固定した状態で合成画像を保存可能とすることで、ユーザーが所望する表示基準情報に従って表示されている仮想オブジェクトと撮像画像との合成画像を保存することが可能となる。なお、ここで保存される合成画像は、静止画であってもよいし、動画であってもよい。
【0018】
また、前記合成画像保存手段は、画像の保存を指示するユーザー操作が行われたことを受けて、前記合成画像を保存してもよい。
【0019】
表示基準情報を固定した状態で、ユーザー操作を受けて合成画像を保存することで、ユーザーが所望する表示基準情報に従って表示されている仮想オブジェクトと、ユーザーが所望する撮像状態の撮像画像との合成画像を保存することが可能となる。
【0020】
また、前記表示基準情報記憶手段は、前記表示基準情報として、前記仮想空間における前記仮想オブジェクトの位置および姿勢の少なくとも何れかを、前記表示基準情報として記憶し、前記表示基準情報更新手段は、前記現実空間における位置および姿勢の少なくとも何れかを特定可能な前記特徴に基づいて、前記表示基準情報を更新し、前記画像生成手段は、前記表示基準情報に従って位置および姿勢の少なくとも何れかが決定された前記仮想オブジェクトを含む仮想空間の画像を生成してもよい。
【0021】
表示基準情報は、例えば、撮像された空間における位置および姿勢の少なくとも何れかを示す基準である。表示基準情報は、例えば、マーカーの位置および姿勢に応じて原点および3軸が定められた座標系であってよいし、または撮像装置に対するマーカーの位置姿勢情報であってもよい。
【0022】
また、本発明は、以下のような発明として把握されてもよい。即ち、本発明は、コンピュータを、現実空間から得られた情報に基づいて、仮想空間に配置される仮想オブジェクトの、該仮想空間における位置および姿勢の少なくとも何れかを更新する更新手段と、前記仮想オブジェクトを含む仮想空間の画像を生成する画像生成手段と、前記仮想空間の画像が現実空間に重畳されてユーザーから視認されるように、表示装置に画像を表示させる表示制御手段と、所定の条件を満たしている場合に、前記仮想オブジェクトの、前記仮想空間における位置および姿勢の少なくとも何れかの更新を中断させる更新中断手段と、として機能させる画像処理用プログラムである。
【0023】
また、本発明は、情報処理装置、1または複数の情報処理装置を有する情報処理システム、コンピュータによって実行される方法、またはコンピュータに実行させるプログラムとしても把握することが可能である。また、本発明は、そのようなプログラムをコンピュータその他の装置、機械等が読み取り可能な記録媒体に記録したものでもよい。ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。
【発明の効果】
【0024】
本発明によれば、拡張現実技術における仮想オブジェクトの表示について、現実空間内の特徴から受ける制限を低減させることが可能となる。
【図面の簡単な説明】
【0025】
【
図1】実施形態に係る情報処理装置を含むシステムの概略を示す図である。
【
図2】実施形態に係る情報処理装置の機能構成の概略を示す図である。
【
図3】実施形態に係る画像処理の流れを示すフローチャートである。
【
図4】実施形態における、表示基準情報の更新が有効である場合の表示画面の一例を示す図である。
【
図5】実施形態における、表示基準情報の更新が無効である場合の表示画面の一例を示す図である。
【発明を実施するための形態】
【0026】
以下、本発明の実施の形態を、図面に基づいて説明する。なお、以下に説明する実施の形態は、本発明を実施する場合の一例を示すものであって、本発明を以下に説明する具体的構成に限定するものではない。本発明の実施にあたっては、実施の形態毎に具体的構成
が適宜採用されてよい。例えば、本発明は、携帯可能な情報処理装置のコンピュータにおいて実行される情報処理プログラム、情報処理装置、1または複数の情報処理装置を有する情報処理システムおよび情報処理方法等に適用することが出来る。
【0027】
<システムの構成>
図1は、本実施形態に係るシステム100の構成を示す図である。システム100には、情報処理装置1、および複数のカード2a、2b(但し、カードの種類を区別しない場合には、単に「カード2」と称する)が含まれる。
【0028】
情報処理装置1は、CPU(Central Processing Unit)11と、RAM(Random Access Memory)12、ROM(Read Only Memory)13、補助記憶装置14、撮像装置15、ディスプレイ16、および各種ボタンやタッチパネル等の入力装置17が電気的に接続された情報処理装置である。なお、情報処理装置1の具体的なハードウェア構成に関しては、実施の形態毎に適宜構成要素の省略や置換、追加が行われてよい。
【0029】
CPU11は、中央処理装置であり、RAM12およびROM13等に展開された命令及びデータを処理することで、RAM12、補助記憶装置14等の、情報処理装置1に備えられた各構成を制御する。また、RAM12は、主記憶装置であり、CPU11によって制御され、各種命令やデータが書き込まれ、読み出される。即ち、CPU11、RAM12、およびROM13は、情報処理装置1の制御部を構成する。
【0030】
補助記憶装置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とは、組み合わせて用いることも可能である。
【0031】
カード2a、2bには、印刷等の方法で互いに異なるマーカー3a、3b(但し、マーカーの種類を区別しない場合には、単に「マーカー3」と称する)が付されている。このマーカー3は、情報処理装置1によって表示される仮想オブジェクトと対応付けられており、該マーカー3に対応付けられた仮想オブジェクトが表示される際の位置姿勢の基準を示す指標である。
図1においてカード2は2枚しか示されていないが、カード2は3枚以上であってもよい。また、カード2a、2bには、異なる仮想オブジェクトを表示するために夫々異なるマーカー3a、3bが付されているが、同一のマーカーが付されたカード2が用いられてもよい。
【0032】
本実施形態において、仮想オブジェクトは、情報処理装置1のディスプレイ16において、対応付けられたマーカー3に対して所定位置に合成表示される。また、仮想オブジェクトは、上下、前後、および左右の方向を有する。そのため、マーカー3は、仮想オブジェクトの表示姿勢を特定することが可能なものであることが好ましい。即ち、マーカー3は、撮像装置15を用いて撮像されることで、撮像装置15に対する位置および姿勢を特定可能な記号、文字、図形、絵、およびそれらの組み合わせ等であることが好ましい。
【0033】
次に、本実施形態に係る情報処理装置1が備える機能について説明する。本実施形態に係る情報処理装置1は、所謂AR機能を備えた情報処理装置である。情報処理装置1は、撮像装置15を用いて撮像された実空間の撮像画像に、仮想カメラを用いて描画(レンダリング)された仮想空間内の仮想オブジェクトを合成して、ディスプレイ16に表示する機能を有する。本実施形態において、仮想オブジェクトは、3次元の画像データである。但し、仮想オブジェクトは、2次元の画像データであってもよい。
【0034】
図2は、本実施形態に係る情報処理装置1の機能構成の概略を示す図である。本実施形態に係る情報処理装置1は、CPU11が、RAM12に展開された各種プログラムを解釈および実行することで、撮像画像取得部21、特徴検出部22、表示基準情報更新部23、表示基準情報記憶部24、画像生成部25、表示制御部26、更新中断部27および合成画像保存部28を備える情報処理装置として機能する。本実施形態では、これらの機能がいずれも汎用のCPU11によって実行される例について説明しているが、これらの機能は、その一部または全部が、1または複数の専用のプロセッサによって実現されてもよい。
【0035】
撮像画像取得部21は、撮像装置15によって撮像された撮像画像を取得する。そして、特徴検出部22は、撮像装置15によって撮像された画像に対して、例えばパターンマッチング等の画像処理を行うことによって、当該画像に含まれるマーカー3を検出することができる。マーカー3の検出は、例えば、画像認識エンジンを用いて行われる。
【0036】
表示基準情報更新部23は、検出されたマーカー3に基づいて、撮像画像に撮像された空間における位置および姿勢を示す基準となる情報を取得し、表示基準情報を更新する。本実施形態では、カメラが動いたり、マーカー3が移動されたりした場合であっても、カメラに対する最新のマーカー位置および姿勢に従って、表示基準情報記憶部24によって記憶されている表示基準情報が更新される。
【0037】
表示基準情報記憶部24は、仮想空間に配置される仮想オブジェクトの位置および姿勢を決定するための表示基準情報を記憶する。本実施形態において、表示基準情報とは、仮想空間内における仮想オブジェクトの位置および姿勢を示すために用いられる基準である。但し、表示基準情報は、仮想空間内における仮想オブジェクトの位置および姿勢の何れか一方のみを示すために用いられる基準であってもよい。本実施形態の基準取得処理では、表示基準情報として、マーカー3の中心点を原点とし、互いに直交する3軸を用いたマーカー座標系が、マーカー3毎に取得される。ただし、表示基準情報として、撮像画像そのもの等、マーカー座標系以外のものが用いられてもよい。また、複数のマーカー3間で、1つのマーカー座標系を共有して用いることも可能である。実空間に配置されたマーカー3を基準として仮想空間の座標系が定義されることにより、実空間と仮想空間とを対応付けることができる。なお、実空間と仮想空間との対応付けには、マーカー座標系を用いる方法以外の方法が採用されてもよい。
【0038】
本実施形態において、仮想空間に配置される仮想オブジェクトは、当該仮想オブジェクトが対応づけられたマーカー3のマーカー座標系に配置される。マーカー座標系は、撮像画像に含まれるマーカー3の見え方から、撮像装置15に対するマーカー3の位置および姿勢を算出することで、取得することができる。マーカー座標系における仮想カメラの位置および姿勢は、実空間の撮像装置15の位置および姿勢と一致される。このため、マーカー3に基づいて仮想空間が定義され、当該仮想空間において、撮像装置15の位置や撮像方向を変化させると、ディスプレイ16に表示される仮想空間の画像も変化する。
【0039】
画像生成部25は、仮想空間に、表示基準情報記憶部24によって記憶されている表示
基準情報に従って位置および姿勢が決定される仮想オブジェクトを配置し、仮想カメラから見た仮想空間の画像を生成することで、仮想空間画像を描画(レンダリング)する。そして、本実施形態に係る情報処理装置1は、上記説明したAR機能のために、撮像画像取得部21によって取得された撮像画像と、画像生成部25によって生成された仮想オブジェクトを含む仮想空間画像と、を重畳した合成画像を生成する。
【0040】
表示制御部26は、生成された合成画像を、表示装置であるディスプレイ16によって表示させる。このようにすることで、ユーザーは、現実空間に、実際に仮想オブジェクトが存在するかのような感覚を得ることが出来る。
【0041】
更新中断部27は、表示基準情報の更新が無効化されている場合に、表示基準情報更新部23による表示基準情報の更新を中断させる。なお、表示基準情報の更新の有効/無効は、ユーザーによる所定の操作に基づいて切り換え可能である。なお、複数のマーカーが検出され、表示基準情報記憶部24によって複数の表示基準情報が記憶されている場合、表示基準情報の更新が無効化されている間は、何れの表示基準情報も更新されない。本実施形態に係る情報処理装置1は、このような機能を備えることで、マーカー3に基づいて更新される仮想オブジェクトの表示基準情報がユーザーにとって所望の状態となったところで表示基準情報の更新を無効化し、更新が無効化されている間に現実空間についての撮像位置や角度を調整して、所望の状態の仮想オブジェクトと、所望の状態の現実空間との合成画像を得ることを可能としている。合成画像保存部28は、画像の保存を指示するユーザー操作が行われたことを受けて、合成画像を保存する。
【0042】
ここで、「所定の操作」とは、例えば、所定のボタンが押下されること(この場合、解除操作が行われるまでの間、表示基準情報の更新が無効となる)や、所定のボタンが押下されていること(この場合、所定のボタンが押下されている間、表示基準情報の更新が無効となる)、等である。
【0043】
次に、本実施形態に係る情報処理装置1が保持する情報について説明する。情報処理装置1は、上記説明した表示基準情報記憶部24によって記憶される表示基準情報の他に、マーカー情報、およびオブジェクト情報を保持する。
【0044】
マーカー情報は、マーカー3に関する情報である。マーカー情報には、例えば、マーカー3を識別するためのマーカーID、マーカー画像、マーカーサイズ、対応オブジェクトID、仮想オブジェクトの位置姿勢、オブジェクトの表示サイズ等が含まれる。マーカー画像は、マーカー3の外観を示す画像である。また、マーカーサイズは、マーカー3の縦横の長さ等、マーカー3の大きさを示す情報である。情報処理装置1の表示基準情報更新部23は、マーカー画像とマーカーサイズに基づいて、撮像画像に含まれるマーカー3の見え方から、撮像装置15とマーカー3との距離、マーカー3の姿勢等、即ち、マーカー3の位置姿勢情報およびマーカー座標系を取得することができる。対応オブジェクトIDは、マーカー3に対応する位置に表示される仮想オブジェクトの識別番号である。なお、1つのマーカー3に対して2以上の仮想オブジェクトが対応付けられていてもよい。本実施形態では、マーカー情報には、該当マーカー座標系によって管理される仮想オブジェクトのオブジェクトIDが含まれる。仮想オブジェクトの位置姿勢は、マーカー座標系における位置(座標値)および姿勢(ベクトル)で示される。マーカー情報は、システム100において使用される各マーカー3に対して存在する。
【0045】
オブジェクト情報は、マーカー3に対応する位置に表示される仮想オブジェクトに関する情報である。オブジェクト情報には、例えば、仮想オブジェクトを識別するためのオブジェクトIDおよびオブジェクトのデータが含まれる。オブジェクト情報は、システム100において使用される各オブジェクトについて存在する。
【0046】
<処理の流れ>
次に、本実施形態において実行される処理の流れを説明する。なお、本実施形態に係るフローチャートに示された処理の具体的な内容および処理順序は、本発明を実施するための一例である。具体的な処理内容および処理順序は、本発明の実施の形態毎に適宜選択されてよい。
【0047】
図3は、本実施形態に係る画像処理の流れを示すフローチャートである。本フローチャートに示された画像処理は、情報処理装置1において、撮像装置15を用いた撮像機能を起動するユーザー操作が受け付けられたことを契機として開始される。表示基準情報記憶部24によって記憶される情報は撮像機能の起動時に初期化され、表示基準情報記憶部24は撮像機能の起動時において表示基準情報を記憶しない。なお、本実施形態に係る処理は、60フレーム/秒で分割されたフレーム毎に繰り返し実行される。
【0048】
ステップS101およびステップS102では、撮像画像が取得され、表示基準情報の更新が有効であるか否かが判定される。撮像画像取得部21は、撮像装置15によって撮像された撮像画像を取得する(ステップS101)。そして、更新中断部27は、表示基準情報の更新が有効であるか否かを判定する。表示基準情報の更新が有効でない(表示基準情報の更新が無効化されている)と判定された場合、表示基準情報更新部23による表示基準情報の更新を中断させるため、処理はステップS103およびステップS104をスキップし、ステップS105へ進む。一方、表示基準情報の更新が有効であると判定された場合、表示基準情報更新部23による表示基準情報の更新を行うため、処理はステップS103へ進む。
【0049】
ステップS103では、撮像画像からマーカー3が検出される。撮像画像が取得されると、特徴検出部22は、撮像画像から、撮像された空間における特徴として、マーカー情報に含まれるマーカー画像に該当するマーカー3を全て検出する。マーカー3の検出は、一般的な画像認識エンジンを用いて行うことが可能である。その後、処理はステップS104へ進む。
【0050】
ステップS104では、マーカー3毎に基準取得処理が実行される。表示基準情報更新部23は、検出されたマーカー3に基づいて、マーカー3毎に、実空間におけるマーカー3の位置姿勢情報を取得し、マーカー3毎の表示基準情報を更新する。より具体的には、表示基準情報更新部23は、マーカー3の撮像画像中の位置、マーカー情報に含まれるマーカーサイズと撮像画像に含まれる該マーカー3のサイズとの比較結果、および、マーカー情報に含まれるマーカー画像に対する撮像画像中のマーカー3の歪み、に基づいて、実空間におけるマーカー3の位置および姿勢を取得する。表示基準情報更新部23は、このようにして取得された、実空間におけるマーカー3の位置姿勢情報をもって、表示基準情報を更新する。その後、処理はステップS105へ進む。
【0051】
ステップS105では、仮想空間の画像が生成される。画像生成部25は、表示基準情報に従って位置および姿勢の少なくとも何れかが決定されてマーカー座標系に配置された1または複数の仮想オブジェクトを含む仮想空間の画像を、マーカー座標系において撮像装置15と同一の位置に配置された仮想カメラの視点から描画する。仮想オブジェクトを描画するためのオブジェクトのデータは、オブジェクト情報から取得される。なお、仮想オブジェクトは、1または数フレーム毎に変化することでアニメーションしてもよい。アニメーションは、例えば、仮想オブジェクトのキャラクターが表情を変えたり、動いたりするものとすることが出来る。その後、処理はステップS106へ進む。
【0052】
ステップS106では、表示処理が実行される。表示制御部26は、撮像画像に仮想空
間の画像を重畳した合成画像を生成し、この合成画像をディスプレイ16に出力し、表示させる。その後、処理はステップS107へ進む。
【0053】
ステップS107およびステップS108では、合成画像の保存指示に従って合成画像が保存される。合成画像保存部28は、画像の保存を指示するユーザー操作が行われたことを受けて(ステップS107)、前記合成画像を保存する(ステップS108)。なお、ここで、合成画像は、静止画として保存されてもよいし、動画として保存されてもよい。一方、画像の保存を指示するユーザー操作が受け付けられていない場合、合成画像の保存は行われない(ステップS107)。その後、処理はステップS109へ進む。
【0054】
先述の通り、本フローチャートに示された処理はフレーム毎に実行されるものである。このため、本フローチャートに示された処理は、ユーザー操作等に基づいて撮像機能が終了されるまで(ステップS109)、定期的にステップS101から繰り返し実行される。このような画像処理が実行されることで、マーカー3に基づいて更新される仮想オブジェクトの表示基準情報がユーザーにとって所望の状態となったところで表示基準情報の更新を無効化し、更新が無効化されている間に現実空間についての撮像位置や角度を調整して、所望の状態の仮想オブジェクトと、所望の状態の現実空間との合成画像を得ることが出来る。
【0055】
図4および
図5は、本実施形態に係る画像処理によって合成画像の取得が行われる場合の、ディスプレイ16の表示画面の一例を示す図である。より具体的には、
図4は、表示基準情報の更新が有効である場合の表示画面の一例を示す図であり、
図5は、表示基準情報の更新が無効である場合の表示画面の一例を示す図である。
【0056】
先述の通り、表示基準情報記憶部24によって記憶される情報は撮像機能の起動時に初期化され、表示基準情報記憶部24は撮像機能の起動時において表示基準情報を記憶しない。このため、ユーザー操作に応じて情報処理装置1の撮像機能が起動された直後、撮像画像にマーカーが含まれていない場合、仮想空間に仮想オブジェクトは配置されず、ディスプレイ16には、撮像装置15によって得られた撮像画像のみが表示される。
【0057】
撮像装置15の撮像範囲にマーカー3が入り、撮像画像にマーカー3が含まれると、特徴検出部22によって検出されたマーカー3に基づいて表示基準情報更新部23が表示基準情報を更新し、画像生成部25によって、マーカー3に対応する位置および姿勢で仮想オブジェクトが描画される。このため、ディスプレイ16にはマーカー3の上に仮想オブジェクトが重畳された合成画像が表示される(
図4を参照)。
【0058】
初期状態において表示基準情報の更新は有効であるため、ユーザーは、この状態で撮像装置15またはマーカー3を調整し、ディスプレイ16に表示される仮想オブジェクトの位置および姿勢を所望の状態とすることが出来る。そして、ユーザーは、仮想オブジェクトの位置および姿勢が所望の状態となったところで、所定の操作を行うことで、表示基準情報の更新を無効化する。表示基準情報の更新が無効化されると、仮想オブジェクトは、最後に更新された表示基準情報に従って表示されるようになり、撮像画像中におけるマーカーの位置や姿勢が変化したり、撮像画像中にマーカーが含まれなくなったりした場合でも、ユーザーによる所望の状態に保たれる(
図5を参照)。
【0059】
表示基準情報の更新が無効化されている間に、ユーザーは、撮像装置15の位置や角度を調整し、撮像画像を所望の状態賭することが出来る。また、ユーザーは、このようにして仮想オブジェクトの状態と撮像画像の状態とが何れも所望の状態となったところで合成画像の保存操作を行うことで、所望の合成画像を保存することが出来る。例えば、
図5には、仮想オブジェクトのキャラクターが、ユーザーの頭に乗っている状態が示されている
。本実施形態に係る情報処理装置1によれは、その他、仮想オブジェクトのキャラクターが天井に逆さに立っている合成画像や、複数の仮想オブジェクトのキャラクターがケーキの上に並んでいる合成画像、等、常にマーカー上に仮想オブジェクトが表示される従来の装置では得られない画像を容易に得ることが出来る。
【0060】
<実施形態のバリエーション>
以下、上記説明した実施形態に適用可能なバリエーションについて説明する。
【0061】
情報処理装置1が備えるディスプレイ16は、裸眼立体視可能な表示装置であってもよい。例えば、ディスプレイ16には、横方向に交互に表示される左目用画像と右目用画像とを左目および右目のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式(視差バリア方式)のものが用いられる。また、ディスプレイ16は、立体視可能な画像を表示する立体表示モードと、画像を平面的に表示する(平面視画像を表示する)平面表示モードとを切り替えることが可能な表示装置であってもよい。この表示モードの切り替えは、例えば、3D調整スイッチ(図示は省略する)によって行われる。
【0062】
この場合、立体視可能のための左目用撮像画像および右目用撮像画像を得るため、撮像装置15として、ステレオ撮影可能な撮像装置が用いられる。また、仮想空間画像についても、立体視可能な画像とするため、画像生成部25は、撮像装置15のステレオカメラに対応した2つの仮想カメラを用いて、左目用の仮想画像と右目用の仮想画像とを生成する。そして、表示制御部は、左目用の合成画像および右目用の合成画像を生成し、立体視可能なディスプレイ16に出力する。
【0063】
また、撮像装置15は、ディスプレイ16を閲覧しているユーザーの視線方向を撮像可能に設けられた外側撮像部と、ディスプレイ16を閲覧しているユーザーを撮像可能に設けられた内側撮像部と、を有することで、ディスプレイ16の前後を撮像可能な撮像装置であってもよい。このような外側撮像部および内側撮像部を設けることで、外側撮像部およびマーカー3を用いて仮想オブジェクトの表示基準情報を所望の状態に調整し、表示基準情報の更新を無効化した状態で内側撮像部に切り替えることで、仮想オブジェクトとディスプレイ16を閲覧するユーザーとが一緒に写った合成画像を生成することが可能となる。
【0064】
また、表示基準情報の更新の無効化がされている間、仮想オブジェクトの表示姿勢を、撮像装置15の姿勢に基づいて調整することとしてもよい。この場合、撮像装置15の位置及び姿勢は、加速度センサや角速度センサ等を用いて検知することが可能である。情報処理装置1は、加速度センサや角速度センサ等からの出力に基づいて、撮像装置15の姿勢を算出し、仮想オブジェクトの表示姿勢を調整する。
【0065】
例えば、テーブルに水平にマーカーを置いて表示基準情報を決定し、キャラクターの仮想オブジェクトを鉛直に立たせた状態で表示基準情報の更新を無効化したとしても、撮像装置15の撮像角度が変化すると、キャラクターが実空間に対して傾いてしまう(鉛直でなくなってしまう)こととなる。ここで、仮想オブジェクトの表示姿勢を、撮像装置15の姿勢に基づいて調整することとすれば、仮想空間におけるキャラクターの位置を固定したまま、キャラクターを鉛直に立たせた表示を得ることが出来る。
【0066】
このようにすることで、仮想オブジェクトの位置決め後、表示基準情報の更新を無効化している間に撮像装置の姿勢が変化した場合にも、仮想オブジェクトの姿勢を、「実空間に対して」保つことが出来る。
【0067】
また、上記説明した実施形態では、表示基準情報としてマーカー座標系を用いる例を説
明したが、表示基準情報は、現実空間から得られた情報であって、仮想空間における仮想オブジェクトの位置および姿勢の少なくとも何れかの基準として用いることが可能なものであればよい。例えば、表示基準情報は、撮像画像自体であってもよい。撮像画像を表示基準情報として用いる場合、画像生成部25は、フレーム毎に、表示基準情報として記憶されている撮像画像から、仮想オブジェクトの表示基準を抽出する。
【符号の説明】
【0068】
1 情報処理装置
2a、2b カード
3a、3b マーカー