説明

情報処理装置、情報処理方法およびプログラム

【課題】物体の姿勢に合わせて適切に付加的な情報を表示する。
【解決手段】情報処理装置は、画像に映る物体と該画像を撮像する機器との間の位置関係を検出する位置関係検出部、上記位置関係に応じて、上記物体に関連する複数の種類の仮想オブジェクトを含む仮想オブジェクト群から表示対象オブジェクトを選択する選択部、および上記表示対象オブジェクトの情報を、上記画像に上記表示対象オブジェクトを重畳して表示させる表示制御部に向けて出力する表示対象情報出力部を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
近年、現実の画像に付加的な情報を重畳してユーザに呈示する、拡張現実(AR:Augmented Reality)と呼ばれる技術が注目されている。AR技術においてユーザに呈示される情報は、アノテーションとも呼ばれ、例えばテキスト、アイコンまたはアニメーションなど、さまざまな形態の仮想オブジェクトとして可視化される。このようなAR技術の例として、特許文献1には、家具などの現実の物体を模倣した仮想物体の画像を現実の画像に重畳して表示し、家具などの配置の試行を容易にする技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−256876号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のようなAR技術は、例えば、ユーザが把持する装置を用いて現実の画像を撮像し、その画像に映った物体に関連する仮想オブジェクトの表示を重畳することで実現される。この場合、例えばユーザの移動や装置の把持の仕方の変化によって、映っている物体の姿勢は、さまざまに変化する。つまり、同じ物体であっても、画像における大きさや角度は、場合によって変化する。これによって、同じ物体を撮像した画像を表示する場合であっても、付加的な情報の適切な表示の仕方が異なる場合がある。
【0005】
そこで、本開示では、物体の姿勢に合わせて適切に付加的な情報を表示することを可能にする、新規かつ改良された情報処理装置、情報処理方法およびプログラムを提案する。
【課題を解決するための手段】
【0006】
本開示によれば、画像に映る物体と該画像を撮像する機器との間の位置関係を検出する位置関係検出部、上記位置関係に応じて、上記物体に関連する複数の種類の仮想オブジェクトを含む仮想オブジェクト群から表示対象オブジェクトを選択する選択部、および上記表示対象オブジェクトの情報を、上記画像に上記表示対象オブジェクトを重畳して表示させる表示制御部に向けて出力する表示対象情報出力部を有する情報処理装置が提供される。
【0007】
また、本開示によれば、画像に映る物体と該画像を撮像する機器との間の位置関係を検出すること、上記位置関係に応じて、上記物体に関連する複数の種類の仮想オブジェクトを含む仮想オブジェクト群から表示対象オブジェクトを選択すること、および上記表示対象オブジェクトの情報を、上記画像に上記表示対象オブジェクトを重畳して表示させる表示制御部に向けて出力することを含む情報処理方法が提供される。
【0008】
さらに、本開示によれば、画像に映る物体と該画像を撮像する機器との間の位置関係を検出する機能、上記位置関係に応じて、上記物体に関連する複数の種類の仮想オブジェクトを含む仮想オブジェクト群から表示対象オブジェクトを選択する機能、および上記表示対象オブジェクトの情報を、上記画像に上記表示対象オブジェクトを重畳して表示させる表示制御部に向けて出力する機能をコンピュータに実現させるためのプログラムが提供される。
【0009】
上記のような本開示の実施形態の構成によれば、物体と機器との間の位置関係、つまり物体の姿勢に応じて、異なる種類の仮想オブジェクトから適切な種類の仮想オブジェクトを表示対象オブジェクトとして選択し、この表示対象オブジェクトを画像に重畳して表示させることが可能になる。
【発明の効果】
【0010】
以上説明したように本開示によれば、物体の姿勢に合わせて適切に付加的な情報を表示することができる。
【図面の簡単な説明】
【0011】
【図1】本開示の第1の実施形態に関する参考技術を示す図である。
【図2】本開示の第1の実施形態に係る情報処理装置の機能構成の一例を示すブロック図である。
【図3】本開示の第1の実施形態に係る情報処理装置による仮想オブジェクトの表示の第1の状態を示す図である。
【図4】本開示の第1の実施形態に係る情報処理装置による仮想オブジェクトの表示の第2の状態を示す図である。
【図5】本開示の第1の実施形態に係る情報処理装置による仮想オブジェクトの表示の変化について説明するための図である。
【図6】本開示の第1の実施形態に係る情報処理装置における画像表示処理の処理フローの例を示すフローチャートである。
【図7】本開示の第1の実施形態に係る情報処理装置における表示対象設定処理の処理フローの例を示すフローチャートである。
【図8】本開示の第1の実施形態における代替選択およびメッセージ表示の例を示す図である。
【図9】本開示の第2の実施形態に係る情報処理装置による仮想オブジェクトの表示の第1の状態を示す図である。
【図10】本開示の第2の実施形態に係る情報処理装置による仮想オブジェクトの表示の第2の状態を示す図である。
【図11】本開示の第2の実施形態に係る情報処理装置による仮想オブジェクトの表示の変化について説明するための図である。
【図12】本開示の第3の実施形態において検出される物体と機器との位置関係について説明するための図である。
【図13】本開示の第3の実施形態に係る情報処理装置による仮想オブジェクトの表示の第1の状態を示す図である。
【図14】本開示の第3の実施形態に係る情報処理装置による仮想オブジェクトの表示の第2の状態を示す図である。
【図15】本開示の第3の実施形態に係る情報処理装置による仮想オブジェクトの表示の変化について説明するための図である。
【図16】本開示の第3の実施形態に係る情報処理装置における表示対象設定処理の処理フローの例を示すフローチャートである。
【図17】本開示の実施形態に係る情報処理装置の機能構成の別の例を示すブロック図である。
【図18】本開示の実施形態に係る情報処理装置の機能構成のさらに別の例を示すブロック図である。
【図19】情報処理装置のハードウェア構成を説明するためのブロック図である。
【発明を実施するための形態】
【0012】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0013】
なお、説明は以下の順序で行うものとする。
1.第1の実施形態(物体に対する表示位置を変更する例)
2.第2の実施形態(表示する情報の量を変更する例)
3.第3の実施形態(表示する情報の内容を変更する例)
4.装置構成に関する他の実施形態
5.補足
【0014】
(1.第1の実施形態)
図1〜図8を参照して、本開示の第1の実施形態について説明する。本開示の第1の実施形態では、画像に映る物体と、画像を撮像する機器との間の相対的な位置関係に応じて、仮想オブジェクトの物体に対する表示位置が変更される。
【0015】
(1−1.参考技術)
まず、図1を参照して、本実施形態を理解するための参考技術について説明する。図1は、本開示の第1の実施形態に関する参考技術を示す図である。
【0016】
図1には、参考技術に係る情報処理装置10が示されている。情報処理装置10は、撮像部(図示せず)と、表示部12とを有し、ARアプリケーションを実行する。
【0017】
ここで、表示部12には、情報処理装置10が撮像部によって撮像した現実の物体obj_rが映っている画像に、物体obj_rに関連する仮想オブジェクトobj_vが重畳された画像が表示される。図示された例では、(a)のように物体obj_r(本)が正面から撮像される場合と、(b)のように物体obj_rが斜めから撮像される場合とで、仮想オブジェクトobj_v(本の内容に関する画像)が異なる形に変形されて表示される。つまり、仮想オブジェクトobj_vは、物体obj_rの姿勢の変化による見かけの形状の変化に合わせて変形されて表示される。
【0018】
このように、ARアプリケーションでは、仮想オブジェクトが、現実の物体の姿勢に合わせて変形されてAR空間内に配置される場合がある。これによって、例えば、ユーザは、仮想オブジェクトがあたかも物体の面に映りこんでいるかのように認識し、物体と仮想オブジェクトとの関係を容易に把握することができる。
【0019】
しかしながら、図示された例の(b)に示されるように、物体obj_rの姿勢によっては、変形された仮想オブジェクトobj_vが視認しにくい場合がある。このような場合、仮想オブジェクトobj_vは、適切な仕方で表示されているとはいい難い。
【0020】
そこで、本実施形態では、画像に映る物体と画像を撮像する機器との間の位置関係に応じて仮想オブジェクトの物体に対する表示位置を変更することによって、上記のような場合にも適切な仕方で仮想オブジェクトobj_vを表示することを可能にする。
【0021】
(1−2.装置構成)
次に、図2を参照して、本実施形態の機能構成について説明する。図2は、本開示の第1の実施形態に係る情報処理装置の機能構成の一例を示すブロック図である。
【0022】
図2を参照すると、本実施形態に係る情報処理装置100は、撮像部102、画像認識部104、モデルDB106、位置関係検出部108、選択部110、オブジェクトDB112、表示対象情報出力部114、メッセージ情報出力部116、表示制御部118、および表示部120を含む。
【0023】
本実施形態において、情報処理装置100は、スマートフォン、タブレット型PC(Personal Computer)、PDA(Personal Digital Assistant)、携帯用ゲーム機、または携帯用音楽プレーヤのような、撮像部から表示部までが一体になった端末装置として説明される。しかしながら、情報処理装置100は、ノート型またはデスクトップ型のPCなどの他の情報処理装置であってもよい。この場合、例えば撮像部や表示部がその他の部分とは分離して設けられてもよい。なお、このように情報処理装置100が複数の部分に分かれている場合、“情報処理装置100と物体との間の位置関係”または“情報処理装置100に対する物体の角度”のような記載における“情報処理装置100”は、別途の記載がない限り、情報処理装置100の撮像部が設けられる部分を指す。
【0024】
上記の機能構成のうち、撮像部102は、例えば情報処理装置100が有する撮像装置によって実現される。また、画像認識部104、位置関係検出部108、選択部110、表示対象情報出力部114、メッセージ情報出力部116、および表示制御部118は、例えば情報処理装置100のCPU(Central Processing Unit)、RAM(Random Access Memory)、およびROM(Read Only Memory)がプログラムに従って動作することによって実現される。モデルDB106、およびオブジェクトDB112は、例えば情報処理装置100の内部または外部のストレージ装置によって実現される。表示部120は、例えば情報処理装置100が出力装置として有する、または情報処理装置100に外部接続機器として接続される各種のディスプレイによって実現される。
【0025】
(撮像部)
撮像部102は、現実の空間を撮像して画像を生成する。撮像部102は、動画像を撮像するものでありうる。動画像は、連続したフレームを構成する複数の画像によって構成される。撮像部102は、生成した画像を画像認識部104、および表示制御部118に提供する。このとき、生成された画像は、例えばRAMやストレージ装置に一時的に蓄積されてもよい。
【0026】
(画像認識部)
画像認識部104は、モデルDB106に格納されているデータを用いて物体認識を実行する。モデルDB106は、情報処理装置100が認識の対象とする物体の形状または外観に関するモデルデータが予め蓄積されたデータベースである。本実施形態において、情報処理装置100による認識の対象は、現実の空間における任意の物体である。モデルデータは、各物体の形状を定義するデータ、各物体に付される所定のシンボルマークもしくはテキストラベルなどの画像データ、または各物体について既知の画像から抽出された特徴量セットのデータなどを含む。
【0027】
より具体的には、画像認識部104は、撮像部102によって撮像された画像を入力画像として用いて、入力画像にどの物体が映っているかを認識する。画像認識部104は、例えば、入力画像から抽出される特徴点のセットを、モデルデータによって定義される物体の形状と照合する。また、画像認識部104は、モデルデータによって定義されるシンボルマークまたはテキストラベルなどの画像データを、入力画像と照合してもよい。さらにまた、画像認識部104は、モデルデータによって定義される既知の物体の画像の特徴量を、入力画像から抽出される特徴量と照合してもよい。
【0028】
(位置関係検出部)
位置関係検出部108は、画像認識部104について認識された物体について、物体と情報処理装置100(より詳しくは撮像部102)との間の位置関係を検出する。本実施形態では、物体と情報処理装置100との間の位置関係として、情報処理装置100に対する物体の角度を用いる。この角度は、例えば、物体について予め設定された基準姿勢からの傾きとして表現される。つまり、本実施形態では、位置関係検出部108が、物体と情報処理装置100との間の位置関係として、物体と情報処理装置100との間の姿勢関係を検出する。
【0029】
より具体的には、位置関係検出部108は、撮像部102によって撮像された画像を入力画像として用いて、入力画像に映っている物体の姿勢を検出する。ここで、本実施形態において、物体の姿勢は、モデルDB106に格納されたモデルデータでのモデル座標系と、入力画像に映っている物体の座標系との間の変換を表す4行4列の1つの同次変換行列によって統合的に表現される。位置関係検出部108は、この同次変換行列から、情報処理装置100に対する物体の角度を抽出する。
【0030】
なお、かかる位置関係検出部108によって取得される位置関係の具体的な例については後述する。位置関係検出部108の処理は、モデルDB106の参照などで画像認識部104の処理と共通するため、画像認識部104の処理と並行して実行されてもよい。
【0031】
(選択部)
選択部110は、物体に関連する複数の種類の仮想オブジェクトを含む仮想オブジェクト群から、位置関係検出部108によって検出された位置関係に応じて、画像に重畳される表示対象オブジェクトを選択する。より具体的には、選択部110は、位置関係検出部108によって取得された、情報処理装置100に対する物体の角度に応じて、物体に対する表示位置が相異なる複数の仮想オブジェクトを含む仮想オブジェクト群から、ユーザにとって視認しやすい位置に表示される仮想オブジェクトを選択する。かかる仮想オブジェクト、および選択部110による仮想オブジェクトの選択の例については、後述する。
【0032】
本実施形態において、仮想オブジェクト群のデータは、オブジェクトDB112に格納されている。オブジェクトDB112は、各物体に対応する仮想オブジェクト群のデータが予め蓄積されたデータベースであってもよい。また、オブジェクトDB112は、画像認識部104によって認識された物体に対応する仮想オブジェクト群が外部装置からダウンロードされたものが一時的に蓄積されたデータベースであってもよい。
【0033】
さらにまた、オブジェクトDB112は、撮像部102によって撮像された画像に映っている物体の一部または全部を加工部(図示せず)によって加工した仮想オブジェクトが一時的に蓄積されたデータベースであってもよい。加工部は、選択部110における選択の結果に応じて画像を加工して仮想オブジェクトを生成してもよい。この場合、選択部110は、例えばオブジェクトDB112に格納された“どのような種類の仮想オブジェクトが生成可能であるか”という情報を参照して、表示する仮想オブジェクトの種類を選択し、加工部に仮想オブジェクトの生成を指示する。
【0034】
なお、代替選択およびメッセージ表示の例として後述するように、選択部110は、選択された仮想オブジェクトが画像の領域に表示可能でない場合に、上記の選択の結果に関わらず、画像の領域に表示可能な仮想オブジェクトを代わりに選択してもよい。
【0035】
また、選択部110は、互いに関連する複数の物体について、同じ種類の仮想オブジェクトが選択されるように、選択の結果を調整してもよい。この場合、例えば、選択部110は、各物体についての位置関係検出部108の検出結果を平均して、各物体に共通の位置関係として用いてもよい。また、選択部110は、各物体についての位置関係検出部108の検出結果をカウントして、より多くの物体で検出された検出結果を各物体に共通の位置関係として用いてもよい。これによって、例えば、互いに関連する複数の物体について表示される仮想的なオブジェクトの種類を統一し、仮想的なオブジェクトでもこれらの物体の統一をユーザに対して示すことができる。
【0036】
(表示対象情報出力部)
表示対象情報出力部114は、選択部110によって選択された表示対象オブジェクトの情報を、撮像部102によって撮像された画像に重畳して表示させるために表示制御部118に出力する。ここで、出力される表示対象オブジェクトの情報は、仮想オブジェクトの画像データそのものであってもよいし、仮想オブジェクトの画像データを別途参照するためのIDなどの識別情報であってもよい。ここで、仮想オブジェクトの画像データを出力する場合、表示対象情報出力部114は、例えば位置関係検出部108によって検出される物体と情報処理装置100との間の位置関係に応じて仮想オブジェクトの重畳画像を生成し、この重畳画像の情報を表示制御部118に出力してもよい。このような処理のために、表示対象情報出力部114は、オブジェクトDB112を参照してもよい。
【0037】
(メッセージ情報出力部)
メッセージ情報出力部116は、付加的に設けられる。メッセージ情報出力部116は、画像に重畳して表示されるメッセージの情報を生成し、表示制御部118に出力する。メッセージ情報出力部116は、例えば、後述するように、撮像部102によって撮像された画像の領域の制約のために代わりの表示対象オブジェクトが選択されている場合に、撮像部102を移動させて画像の領域を変化させることを促すメッセージの情報を生成して表示制御部118に出力する。
【0038】
(表示制御部)
表示制御部118は、表示対象情報出力部114から出力された情報を用いて、表示対象オブジェクトである仮想オブジェクトを撮像部102によって撮像された画像に重畳して、ARアプリケーションの画像として表示部120に表示させる。このとき、表示制御部118は、画像に映っている物体の位置、姿勢および大きさに合わせて、表示対象オブジェクトを配置および変形した重畳画像を生成し、これを画像に重畳してもよい。上記のように、重畳画像は、表示対象情報出力部114によって生成されてもよい。重畳画像を生成する場合、表示制御部118は、例えば位置関係検出部108によって検出される物体と情報処理装置100との間の位置関係の情報を利用してもよい。メッセージ情報出力部116が設けられる場合、表示制御部118は、メッセージ情報出力部116から出力された情報をさらに用いて、メッセージを画像に重畳する。
【0039】
(表示部)
表示部120は、表示制御部118によって生成されたARアプリケーションの画像をユーザに呈示する。上記のように、表示部120は、情報処理装置100と一体または別体に形成される各種のディスプレイによって実現される。表示部120は、例えばLCD(Liquid Crystal Display)、OLED(Organic Light-Emitting Diode)、またはPDP(Plasma Display Panel)などによる表示画面のほか、ユーザによって装着されるシースルー型または非シースルー型のHMD(Head Mounted Display)であってもよい。
【0040】
以上のように、本実施形態に係る情報処理装置100では、物体に関連する複数の種類の仮想オブジェクトを含む仮想オブジェクト群から、物体と情報処理装置100との位置関係に応じて表示対象オブジェクトが選択される。なお、ここで、“複数の種類の仮想オブジェクト”とは、例えば“物体の内部の空間にあるように見える画像”や、“物体から飛び出しているように見える画像”のように、オブジェクトDB112に格納された相異なる画像データ(いわば元データ)に従って重畳画像が生成される仮想オブジェクトである。また、“仮想オブジェクト”は、上述のように、現実の画像に対する付加的な情報(アノテーション)を示すオブジェクトである。
【0041】
(1−3.表示変化の例)
次に、図3〜図5を参照して、本実施形態における表示変化の例について説明する。図3は、本開示の第1の実施形態に係る情報処理装置による仮想オブジェクトの表示の第1の状態を示す図である。図4は、本開示の第1の実施形態に係る情報処理装置による仮想オブジェクトの表示の第2の状態を示す図である。図5は、本開示の第1の実施形態に係る情報処理装置による仮想オブジェクトの表示の変化について説明するための図である。
【0042】
図3には、本実施形態における情報処理装置100による仮想オブジェクトの表示の第1の状態が示されている。上述のように、本実施形態では、情報処理装置100に対する物体の角度に応じて、表示対象の仮想オブジェクトの種類が選択される。図示された例における第1の状態では、情報処理装置100に対する物体obj_r(本)の角度A1が比較的小さいため、物体obj_rの内部の空間にあるように見える仮想オブジェクトobj_v1(本の内容に関する画像)が表示される。以下の説明では、このような、物体obj_rが正面視に近い状態で画像に映っている場合の仮想オブジェクトの表示を、“正面表示”ともいう。
【0043】
ここで、情報処理装置100に対する物体obj_rの角度Aは、情報処理装置100の撮像部102からの視線方向を基準にした場合の、物体obj_rの姿勢の基準姿勢からの傾きとして表されうる。物体の基準姿勢は、例えば物体ごとに予め定義された姿勢であり、上記のモデル座標系に従った物体の姿勢であってもよい。図示された例の物体obj_r(本)では、表紙が撮像部102に正対する姿勢が基準姿勢に設定されている。ここでは、物体obj_rが平板状であるため、その面の垂線と撮像部102からの視線とがなす角として角度Aを定義する。なお、物体obj_rの形状は平板状には限られず、任意の形状でありうる。従って、情報処理装置100に対する物体obj_rの角度Aは、図示された例以外にも様々な仕方で定義されうる。
【0044】
図4には、本実施形態における情報処理装置100による仮想オブジェクトの表示の第2の状態が示されている。図示された例における第2の状態では、情報処理装置100に対する物体obj_r(本)の角度A2が比較的大きいため、物体obj_rから飛び出しているように見える仮想オブジェクトobj_v2(本の内容に関する画像)が表示される。以下の説明では、このような、物体obj_rが斜方視の状態で画像に映っている場合の仮想オブジェクトの表示を、“斜方視表示”ともいう。
【0045】
このように、本実施形態では、情報処理装置100と物体obj_rとの位置関係に応じて、物体obj_rに対する表示位置が相異なる仮想オブジェクトobj_v1と仮想オブジェクトobj_v2との表示が選択される。図示された例において、仮想オブジェクトobj_v1と仮想オブジェクトobj_v2とは、物体obj_rの面を基準面とした奥行き方向の位置が異なる。より具体的には、物体obj_rが正面視に近い状態で画像に映っている場合には、物体obj_rの面の中に映りこんでいるように見える仮想オブジェクトobj_v1が表示される。一方、物体obj_rが斜方視の状態で画像に映っている場合には、物体obj_rの面から飛び出しているように見える仮想オブジェクトobj_v2が表示される。
【0046】
これによって、ユーザは、画像に映る物体obj_rの姿勢が様々に変化する場合にも、それぞれの姿勢に合わせて、視認しやすく、物体obj_rとの関係も把握しやすい仮想オブジェクトobj_vの呈示を受けることができる。なお、ここでは、正面表示の仮想オブジェクトobj_v1と斜方視表示の仮想オブジェクトobj_v2とからなる仮想オブジェクト群から表示対象オブジェクトが選択される例について説明したが、仮想オブジェクト群に含まれる仮想オブジェクトは2種類には限られない。例えば、さらに多くの種類の仮想オブジェクトが仮想オブジェクト群に含まれ、物体と情報処理装置100との姿勢関係に応じて、さらに多段階で表示対象オブジェクトが切り替えられてもよい。
【0047】
図5には、本実施形態における情報処理装置100による仮想オブジェクトの表示の変化の例が示されている。上記のように、本実施形態において、情報処理装置100による仮想オブジェクトの表示は、情報処理装置100に対する物体の角度に応じて変化する。また、ここで説明されている例では、情報処理装置100に対する平板状の物体obj_rの角度Aが、物体obj_rの面の垂線と情報処理装置100の撮像部102からの視線とがなす角として定義される。図5は、かかる角度Aと仮想オブジェクトの正面表示および斜方視表示との関係について、情報処理装置100と物体obj_rとの位置関係を2次元平面上の1方向だけに簡略化して示した図である。当業者には明らかなように、実際には、3次元空間上の任意の方向について同様の関係が成り立つ。
【0048】
図示された例では、情報処理装置100が物体obj_rに正対する場合に、角度A=0°である。角度A=0°の状態では、仮想オブジェクトの表示は図3に示す角度A=A1の場合のような正面表示である。その状態から徐々に情報処理装置100が物体obj_rに対して傾き、角度Aが閾値T1を上回ると、仮想オブジェクトの表示が図4に示す角度A=A2の場合のような斜方視表示に切り替わる。一方、仮想オブジェクトの表示が斜方視表示である状態から、徐々に情報処理装置100が物体obj_rの正面に近づき、角度Aが閾値T2を下回ると、仮想オブジェクトの表示が正面表示に切り替わる。
【0049】
このように、本実施形態において、表示対象オブジェクトになる仮想オブジェクトの種類は、情報処理装置100と物体obj_rとの位置関係に関する指標値(角度A)に設定される閾値を用いて選択される。撮像部102が動画像を撮像し、連続したフレームを構成する各画像について仮想オブジェクトの種類が選択される場合、上記の閾値T1,T2のように、それまで表示されていた仮想オブジェクト、つまり前のフレームの画像で選択された仮想オブジェクトの種類によって、異なる閾値の値が用いられてもよい。このように仮想オブジェクトの選択にヒステリシスをもたせることによって、例えば手振れなどによる閾値付近での角度Aの振動によって仮想オブジェクトの表示が頻繁に変化して視認性が低下するのを防ぐことができる。
【0050】
(1−4.処理フローの例)
次に、図6および図7を参照して、本実施形態における情報処理装置の処理フローの例について説明する。図6は、本開示の第1の実施形態に係る情報処理装置における画像表示処理の処理フローの例を示すフローチャートである。図7は、本開示の第1の実施形態に係る情報処理装置における表示対象設定処理の処理フローの例を示すフローチャートである。
【0051】
図6は、本実施形態における画像表示処理を示すフローチャートである。ここで説明される画像表示処理は、情報処理装置100が現実の空間の画像を取得してから、その画像に仮想的なオブジェクトを重畳して表示するまでの一連の処理である。図示された例では、撮像部102が動画像を撮像するため、画像表示処理は、連続したフレームを構成する画像のそれぞれについて繰り返して実行される。
【0052】
まず、ステップS101において、撮像部102が、画像を取得する。ここで、取得される画像は、現実の空間を撮像した画像であり、物体obj_rが映っている画像である。
【0053】
次に、ステップS103において、画像認識部104が、取得された画像について、物体認識を実行する。ここで、画像認識部104は、モデルDB106に格納されたモデルデータを用いて、画像に映っている物体obj_rを認識する。
【0054】
次に、ステップS105において、位置関係検出部108が、情報処理装置100と物体obj_rとの間の位置関係を検出する。ここで、位置関係検出部108は、物体obj_rの情報処理装置100に対する角度Aを検出する。
【0055】
次に、ステップS107において、選択部110が、角度Aによって示される情報処理装置100と物体obj_rとの間の位置関係が、前のフレームの画像と比べて変化しているか否かを判定する。位置関係が変化している場合、選択部110は、ステップS109において、変化後の位置関係に基づいて表示対象オブジェクトを選択する。一方、位置関係が変化していない場合、選択部110は、前のフレームの画像について表示対象オブジェクトとして選択された種類の仮想オブジェクトを引き続き表示対象オブジェクトとして用いるため、ステップS109をスキップする。
【0056】
なお、ステップS109の表示対象選択処理については、後で図7を参照して詳細に説明する。
【0057】
次に、ステップS111において、表示対象情報出力部114が、選択部110によって選択された表示対象オブジェクトの情報を、表示制御部118に出力する。
【0058】
次に、ステップS113において、表示制御部118が、表示対象情報出力部114から出力された表示対象オブジェクトの情報に従って、仮想オブジェクトを画像に重畳して表示部120に表示させる。これによって、選択部110によって適切に選択された仮想オブジェクトが重畳された画像がARアプリケーション画像としてユーザに呈示される。
【0059】
図7は、本実施形態における表示対象設定処理を示すフローチャートである。ここで説明される表示対象設定処理は、上記のように、画像表示処理のステップS109において実行される処理である。図示された例では、撮像部102が動画像を撮像するため、表示対象設定処理も、連続したフレームを構成する画像のそれぞれについて実行されうる。
【0060】
まず、ステップS201において、選択部110は、前のフレームでの仮想オブジェクトの表示が正面表示であったか否かを判定する。上記のように、正面表示とは、物体obj_rが正面視に近い状態で画像に映っている場合の、物体obj_rの内部の空間にあるように見える仮想オブジェクトobj_v1の表示である。
【0061】
ここで、前のフレームでの仮想オブジェクトの表示が正面表示であった場合、選択部110は、ステップS203において、続く表示対象の判定に用いる角度Aの閾値として閾値T1を設定する。一方、前のフレームでの仮想オブジェクトの表示が正面表示ではなかった、つまり斜方視表示であった場合、選択部110は、ステップS205において、上記の閾値として閾値T2を設定する。図5を参照して説明したように、本実施形態における角度Aの閾値T1,T2は、T2<T1となるような関係にある。これによって、ヒステリシスをもった表示対象オブジェクトの選択が可能になる。
【0062】
次に、ステップS207において、選択部110は、位置関係検出部108によって検出された角度Aが、ステップS203またはステップS205で設定された閾値以下であるか否かを判定する。
【0063】
ここで、角度Aが閾値以下である、つまり物体obj_rが正面視に近い状態で画像に映っていると判断される場合、選択部110は、ステップS209において、正面表示の仮想オブジェクトを表示対象に設定する。一方、角度Aが閾値以下ではない、つまり物体obj_rが斜方視の状態で画像に映っていると判断される場合、選択部110は、ステップS211において、斜方視表示の仮想オブジェクトを表示対象に設定する。
【0064】
以上で、表示対象設定処理が終了し、ここで設定された表示対象オブジェクトの情報が、表示対象情報出力部114によって表示制御部118に出力される。
【0065】
(1−5.代替選択およびメッセージ表示の例)
次に、図8を参照して、本実施形態において代替選択およびメッセージ表示がされる場合の例について説明する。図8は、本開示の第1の実施形態における代替選択およびメッセージ表示の例を示す図である。
【0066】
図8には、代替選択およびメッセージ表示がされる場合とそうではない場合とが比較して示されている。図の(a)に示す場合、物体obj_rは、斜方視の状態で画像に映っている。従って、物体obj_rから飛び出しているように見える仮想オブジェクトobj_v2が表示されている。
【0067】
一方、図の(b)に示す場合、物体obj_rは、(a)と同様に、斜方視の状態で画像に映っている。しかしながら、(b)では、物体obj_rが画面の端近くに映っているため、(a)と同様に仮想オブジェクトobj_v2を表示しようとすると、仮想オブジェクトobj_v2の表示位置が画像の領域を超えてしまう。そこで、選択部110は、情報処理装置100に対する物体obj_rの角度Aによる判定結果に関わらず、画像の領域に表示可能な仮想オブジェクトobj_v1を表示対象として選択する。
【0068】
これによって、仮想オブジェクトの表示が画面の領域を超えてしまいユーザによって視認されなくなることは防止される。しかしながら、(b)の状態での仮想オブジェクトobj_v2の表示は、例えば物体obj_rの面の傾きに合わせて大きく変形されるために、必ずしもユーザが視認しやすい状態ではない。また、このままでは、(a)のような仮想オブジェクトobj_v2の表示が可能であることがユーザには伝わりにくい。
【0069】
そこで、図示された例では、メッセージ情報出力部116によって生成された情報に基づくメッセージmsgを、画像に重畳して表示する。メッセージmsgは、例えば“LOOK AT THE OBJECT!”のように、ユーザに物体obj_rへの注目を促し、それによって画像の領域を変化させて、本来選択される仮想オブジェクトobj_v2が表示可能な状態へと誘導するものでありうる。なお、メッセージ情報出力部116は、仮想オブジェクトobj_v1に重複しないように調整されたメッセージmsgの表示位置を指定する情報を、メッセージの情報として出力してもよい。
【0070】
上記の例で、例えば、メッセージに代えて、アイコンなどの画像が表示されてもよい。また、情報処理装置100が有するLED(Light-Emitting Diode)ランプが点灯または点滅することや、情報処理装置100から音声が出力されることなどによって、ユーザへの通知がされてもよい。つまり、本実施形態におけるメッセージ情報出力部116は、代わりの表示対象オブジェクトが選択されている場合に画像の領域を変化させるようユーザに通知する通知部の一例である。かかる通知は、上記の例のようにメッセージ情報出力部116、表示制御部118および表示部120による表示の変化によってされてもよく、またランプなどの視覚的通知部によってされてもよく、スピーカなどの音声通知部によってされてもよい。
【0071】
以上、本開示の第1の実施形態について説明した。本開示の第1の実施形態では、画像に映る物体と、画像を撮像する機器との間の位置関係に応じて、仮想オブジェクトの物体に対する表示位置が変更される。位置関係として、上記の例では角度が用いられたが、他の位置関係が用いられてもよい。例えば、位置関係として、物体と機器との距離が用いられてもよい。この場合、例えば物体と機器との間が所定の距離よりも近く物体が比較的大きく表示される場合には仮想オブジェクトが物体の内部に表示され、そうではなく物体が比較的小さく表示される場合には仮想オブジェクトが物体の外部にも飛び出して表示されてもよい。
【0072】
かかる本開示の第1の実施形態によれば、例えば、物体と機器との位置関係に応じて、それぞれの場合に最も見やすい位置に表示される仮想オブジェクトを画像に重畳させてユーザに呈示することが可能になる。
【0073】
(2.第2の実施形態)
続いて、図9〜図11を参照して、本開示の第2の実施形態について説明する。本開示の第2の実施形態では、画像に映る物体と、画像を撮像する機器との間の位置関係に応じて、仮想オブジェクトによって表示される情報の量が変更される。
【0074】
なお、この第2の実施形態の構成のうち、以下に説明する部分以外の部分は、上記の第1の実施形態と同様である。かかる部分の構成については、以下の説明に従って第1の実施形態の説明を適宜読み替えることで十分に説明されうるものであるため、重複した詳細な説明は省略する。
【0075】
ここでは、図9〜図11を参照して、本実施形態における表示変化の例について説明する。図9は、本開示の第2の実施形態に係る情報処理装置による仮想オブジェクトの表示の第1の状態を示す図である。図10は、本開示の第2の実施形態に係る情報処理装置による仮想オブジェクトの表示の第2の状態を示す図である。図11は、本開示の第2の実施形態に係る情報処理装置による仮想オブジェクトの表示の変化について説明するための図である。
【0076】
図9には、本実施形態における情報処理装置100による仮想オブジェクトの表示の第1の状態が示されている。本実施形態では、情報処理装置100からの物体の距離に応じて、表示対象の仮想オブジェクトの種類が選択される。図示された例における第1の状態では、情報処理装置100から物体obj_r(看板)までの距離d1が比較的長く、画像に映る物体obj_rが比較的小さいため、より少ない量の情報を表示する仮想オブジェクトobj_v3(“SALE”とだけ表示)が表示される。以下の説明では、このような、より少ない量の情報を表示する場合の仮想オブジェクトの表示を、“概要表示”ともいう。
【0077】
図10には、本実施形態における情報処理装置100による仮想オブジェクトの表示の第2の状態が示されている。図示された例における第2の状態では、情報処理装置100から物体obj_r(看板)までの距離d2が比較的短く、画像に映る物体obj_rが比較的大きいため、より多い量の情報を表示する仮想オブジェクトobj_v4(期間や場所をさらに表示)が表示される。以下の説明では、このような、より多い量の情報を表示する場合の仮想オブジェクトの表示を、“詳細表示”ともいう。
【0078】
図11には、本実施形態における情報処理装置100による仮想オブジェクトの表示の変化の例が示されている。上記のように、本実施形態において、情報処理装置100による仮想オブジェクトの表示は、情報処理装置100から物体までの距離dに応じて変化する。図11は、距離dと仮想オブジェクトの詳細表示および概要表示との関係について、情報処理装置100と物体obj_rとの位置関係を2次元平面上の1方向だけに簡略化して示した図である。当業者には明らかなように、実際には、3次元空間上の任意の方向について同様の関係が成り立つ。
【0079】
図示された例では、情報処理装置100が物体obj_rに最も接近した状態である場合に、距離d=0である。距離d=0の状態では、仮想オブジェクトの表示は図9に示す距離d=d1の場合のような詳細表示である。その状態から、徐々に情報処理装置100が物体obj_rから離れ、距離dが閾値L1を上回ると、仮想オブジェクトの表示が図10に示す距離d=d2の場合のような概要表示に切り替わる。一方、仮想オブジェクトの表示が概要表示である状態から、徐々に情報処理装置100が物体obj_rに近づき、距離dが閾値L2を下回ると、仮想オブジェクトの表示が詳細表示に切り替わる。
【0080】
このように、本実施形態において、表示対象オブジェクトになる仮想オブジェクトの種類は、情報処理装置100と物体obj_rとの位置関係に関するパラメータ(距離d)に設定される閾値を用いて選択される。撮像部102が動画像を撮像し、連続したフレームを構成する各画像について仮想オブジェクトの種類が選択される場合、上記の閾値L1,L2のように、それまで表示されていた仮想オブジェクト、つまり前のフレームの画像で選択された仮想オブジェクトの種類によって、異なる閾値の値が用いられてもよい。このように仮想オブジェクトの選択にヒステリシスをもたせることによって、例えば手振れなどによる閾値付近での距離dの振動によって仮想オブジェクトの表示が頻繁に変化して視認性が低下するのを防ぐことができる。
【0081】
以上、本開示の第2の実施形態について説明した。本開示の第2の実施形態では、画像に映る物体と、画像を撮像する機器との間の位置関係に応じて、仮想オブジェクトによって表示される情報の量が変更される。位置関係として、上記の例では距離が用いられたが、他の位置関係が用いられてもよい。例えば、位置関係として、機器に対する物体の角度が用いられてもよい。この場合、例えば物体の面がほぼ正面から見えていて表示面積が大きい場合にはより多くの情報を表示する仮想オブジェクトが表示され、そうではなく物体の面が斜めから見えていて表示面積が小さい場合にはより少ない情報を表示する仮想オブジェクトが表示されてもよい。
【0082】
かかる本開示の第2の実施形態によれば、例えば、物体と機器との位置関係に応じて、それぞれの場合に最も見やすい量の情報を効果的に表示する仮想オブジェクトを画像に重畳させてユーザに呈示することが可能になる。
【0083】
(3.第3の実施形態)
続いて、図12〜16を参照して、本開示の第3の実施形態について説明する。本開示の第3の実施形態では、画像に映る物体と、画像を撮像する機器との間の位置関係に応じて、仮想オブジェクトによって表示される情報の種類が変更される。
【0084】
なお、この第3の実施形態の構成のうち、以下に説明する部分以外の部分は、上記の第1の実施形態と同様である。かかる部分の構成については、以下の説明に従って第1の実施形態の説明を適宜読み替えることで十分に説明されうるものであるため、重複した詳細な説明は省略する。
【0085】
(3−1.検出される位置関係の例)
まず、図12を参照して、本実施形態において検出される物体と機器との位置関係の例について説明する。図12は、本開示の第3の実施形態において検出される物体と機器との位置関係について説明するための図である。
【0086】
図12には、本実施形態において検出される位置関係について説明するための4つの例(a)〜(d)が示されている。本実施形態では、映像に映る物体obj_rの回転角度Bが、情報処理装置100と物体obj_rとの間の位置関係として検出される。例えば(a)の状態では、情報処理装置100が正立した状態で、撮像部102が物体obj_rを含む画像を撮像している。図示された例では、この場合に、回転角度B=0°である。ここで、(a)の状態から情報処理装置100が時計回りに90°回転して(b)の状態になると、撮像部102によって撮像されて表示部120に表示される画像において、物体obj_rは、(a)の状態から回転角度B=90°だけ回転した状態で表示される。
【0087】
さらに、情報処理装置100が時計回りに90°回転して(c)の状態になると、表示部120に表示される画像において、物体obj_rは、(a)の状態から回転角度B=180°だけ回転した状態で表示される。一方、(a)の状態から情報処理装置100が反時計回りに90°回転して(d)の状態になると、表示部120に表示される画像において、物体obj_rは、(a)の状態から回転角度B=−90°だけ回転した状態で表示される。
【0088】
本実施形態では、情報処理装置100の位置関係検出部108が、上記の例のような物体obj_rの情報処理装置100に対する回転を、物体と情報処理装置100との間の位置関係として検出する。より具体的には、位置関係検出部108は、撮像部102の撮像軸に平行な軸の回りの物体obj_rの回転を、位置関係として検出する。ここで、撮像部102の撮像軸は、例えば、撮像部102の光学系のうち最も物体obj_r寄りの部分での光軸として定義されうる。
【0089】
なお、本実施形態が上記の第1および第2の実施形態と異なる点の1つは、上記のような物体と情報処理装置100との間の位置関係の変化が、画像における物体の表示を実質的に変化させるものではないことである。
【0090】
例えば図12の例では、情報処理装置100を基準にした座標系では、物体obj_rの表示が回転しているといえる。しかしながら、(a)〜(d)のような状態の変化は、実際には、ユーザが情報処理装置100の持ち方を変えることによって生じていることが多い。この場合、表示部120で物体obj_rの表示が回転するのと逆向きに情報処理装置100自体も回転しているため、ユーザによって視認される物体obj_rは実質的に回転しない。例えば(c)の場合、表示部120に表示される物体obj_rは回転角度B=180°だけ回転しているが、情報処理装置100自体が元の姿勢から180°回転した状態でユーザに把持されていれば、ユーザが視認する物体obj_rの表示は(a)と同じものである。
【0091】
つまり、本実施形態は、1つには、このように物体と情報処理装置100との間の位置関係の変化によって物体や仮想オブジェクトをユーザが必ずしも視認しにくくなるわけではない場合においても、本開示に係る技術が有効であることを示すものである。
【0092】
(3−2.表示変化の例)
次に、図13〜15を参照して、本実施形態における表示変化の例について説明する。図13は、本開示の第3の実施形態に係る情報処理装置による仮想オブジェクトの表示の第1の状態を示す図である。図14は、本開示の第3の実施形態に係る情報処理装置による仮想オブジェクトの表示の第2の状態を示す図である。図15は、本開示の第3の実施形態に係る情報処理装置による仮想オブジェクトの表示の変化について説明するための図である。
【0093】
図13には、本実施形態における情報処理装置100による仮想オブジェクトの表示の第1の状態が示されている。上述のように本実施形態では、情報処理装置100に対する物体の回転に応じて、表示対象の仮想オブジェクトの種類が選択される。図示された例における第1の状態では、情報処理装置100が物体obj_r(モニタ)に対して横置きになった状態である。この場合、物体obj_rから飛び出すようにして、物体obj_rの表示内容(コンテンツ)が仮想オブジェクトobj_v5として表示される。以下の説明では、このような仮想オブジェクトの表示を“コンテンツ表示”ともいう。
【0094】
図14には、本実施形態における情報処理装置100による仮想オブジェクトの表示の第2の状態が示されている。図示された例における第2の状態では、情報処理装置100が物体obj_r(モニタ)に対して縦置きになった状態である。この場合、物体obj_rから飛び出すようにして、物体obj_rの表示内容(コンテンツ)に関連する情報が仮想オブジェクトobj_v6として表示される。以下の説明では、このような仮想オブジェクトの表示を“関連情報表示”ともいう。
【0095】
図15には、本実施形態における情報処理装置100による仮想オブジェクトの表示の変化の例が示されている。上記のように、本実施形態において、情報処理装置100による仮想オブジェクトの表示は、情報処理装置100に対する物体の回転によって変化する。本実施形態では、この回転角度に範囲を設定し、この範囲によって仮想オブジェクトによって表示される情報の種類を変更している。
【0096】
図示された例では、情報処理装置100が物体obj_rに対して縦置きになっていて、情報処理装置100が正立している状態を基準として、情報処理装置100に対する物体obj_rの回転角度Bが検出される。検出された回転角度Bについて、範囲R1または範囲R2が設定され、回転角度Bがこの範囲内にある場合にはコンテンツ表示で仮想オブジェクトが表示される。一方、回転角度Bがこの範囲内にない場合は、関連情報表示で仮想オブジェクトが表示される。
【0097】
ここで、範囲R1および範囲R2は、情報処理装置100が物体obj_rに対して横置きになった状態であると判断される、物体obj_rの回転角度の範囲である。それゆえ、範囲R1および範囲R2は、いずれも、例えば±90°の近傍の範囲でありうる。また、範囲R1は、仮想オブジェクトの表示がコンテンツ表示である場合に用いられ、範囲R2は、仮想オブジェクトの表示が関連情報表示である場合に用いられる。つまり、既にコンテンツ表示がされている状態でそのコンテンツ表示が継続される範囲R2は、関連情報表示がされる状態でコンテンツ表示に切り替わる範囲R1よりも大きい。このように、仮想オブジェクトの選択にヒステリシスをもたせることによって、例えば手振れなどによる範囲の境界付近での回転角度Bの振動によって仮想オブジェクトの表示が頻繁に変化して視認性が低下するのを防ぐことができる。
【0098】
(3−3.処理フローの例)
次に、図16を参照して、本実施形態における情報処理装置の処理フローの例について説明する。図16は、本開示の第3の実施形態に係る情報処理装置における表示対象設定処理の処理フローの例を示すフローチャートである。
【0099】
図16は、本実施形態における表示対象設定処理を示すフローチャートである。ここで説明される表示対象設定処理は、図6を参照して説明したものと同様の画像表示処理のステップS109において実行される処理である。図示された例では、撮像部102が動画像を撮像するため、表示対象設定処理も、連続したフレームを構成する画像のそれぞれについて実行されうる。
【0100】
まず、ステップS301において、選択部110は、前のフレームでの仮想オブジェクトの表示がコンテンツ表示であったか否かを判定する。上記のように、コンテンツ表示とは、情報処理装置100が物体obj_rに対して横置きになっている場合の、物体obj_rのコンテンツを表示する仮想オブジェクトobj_v5の表示である。
【0101】
ここで、前のフレームでの仮想オブジェクトの表示がコンテンツ表示であった場合、選択部110は、ステップS303において、続く表示対象の判定に用いる回転角度Bの範囲として範囲R1を設定する。一方、前のフレームでの仮想オブジェクトの表示がコンテンツ表示ではなかった、つまり関連情報表示であった場合、選択部110は、ステップS305において、上記の範囲として範囲R2を設定する。図15を参照して説明したように、本実施形態における回転角度Bの範囲R1,R2は、範囲R1が範囲R2よりも広い。これによって、ヒステリシスをもった表示対象オブジェクトの選択が可能になる。
【0102】
次に、ステップS307において、選択部110は、検出された物体obj_rの回転角度Bが、ステップS303またはステップS305で設定された範囲内にあるか否かを判定する。
【0103】
ここで、回転角度Bが範囲内にある、つまり情報処理装置100が物体obj_rに対して横置きになっていると判断される場合、選択部110は、ステップS309において、コンテンツ表示の仮想オブジェクトを表示対象に設定する。一方、回転角度Bが範囲内にない、つまり情報処理装置100が物体obj_rに対して縦置きになっていると判断される場合、選択部110は、ステップS311において、関連情報表示の仮想オブジェクトを表示対称に設定する。
【0104】
以上で、表示対象設定処理が終了し、ここで設定された表示対象オブジェクトの情報が、表示対象情報出力部114によって表示制御部118に出力される。
【0105】
以上、本開示の第3の実施形態について説明した。本開示の第3の実施形態では、画像に映る物体と、画像を撮像する機器との間の位置関係に応じて、仮想オブジェクトによって表示される情報の種類が変更される。位置関係として、上記の例では回転角度が用いられたが、他の位置関係が用いられてもよい。例えば、位置関係として、機器に対する物体の角度が用いられてもよい。この場合、例えば物体の面がほぼ正面から見えている場合には物体のコンテンツが表示され、そうではなく物体の面が斜めから見えている場合には物体のコンテンツに関連する情報が表示されてもよい。
【0106】
かかる本開示の第3の実施形態によれば、例えば、物体と機器との位置関係を変化させることで、物体に関して表示される仮想オブジェクトによって表示される情報の種類を変更することが可能になる。例えば、位置関係の変化がユーザによって意図的にもたらされる場合、ユーザは機器の姿勢の変化を表示内容の変更の指示操作として用いることができる。また、例えば、位置関係の変化が偶発的に生じる場合、ユーザはそれまで見えていなかった別の種類の情報に接する機会を得ることができる。
【0107】
(4.装置構成に関する他の実施形態)
続いて、図17および図18を参照して、装置構成に関する本開示の他の実施形態の例について説明する。
【0108】
(センサ部を有する例)
図17は、本開示の実施形態に係る情報処理装置の機能構成の別の例を示すブロック図である。図17を参照すると、情報処理装置200は、撮像部102、画像認識部104、モデルDB106、位置関係検出部108、選択部110、オブジェクトDB112、表示対象情報出力部114、メッセージ情報出力部116、表示制御部118、および表示部120に加えて、センサ部222を含む。
【0109】
センサ部222は、撮像部102の動きを計測する動きセンサ群を含む。動きセンサは、例えば、撮像部102の加速度を測定する加速度センサ、傾き角を測定するジャイロセンサ、または撮像部102の向けられた方位を測定する地磁気センサなどでありうる。また、センサ部222は、GPS(Global Positioning System)信号を受信して装置の緯度、経度および高度を測定するGPSセンサを含んでもよい。
【0110】
図示された例において、位置関係検出部108は、センサ部222によって取得された撮像部102の動きに基づいて、物体と情報処理装置200(より詳しくは撮像部102)との間の位置関係を検出する。例えば、位置関係検出部108は、撮像部102の加速度または傾き角の情報に基づいて、情報処理装置200の姿勢を検出する。物体の位置や、地面などの水平面にあるか壁などの鉛直面にあるかなどの情報があれば、情報処理装置200の姿勢を検出することで物体との間の位置関係を把握することが可能である。なお、位置関係検出部108は、図示されているようにセンサ部222からの情報を用いて位置関係を検出してもよいし、さらに画像認識部104からの情報をも合わせて用いて位置関係を検出してもよい。
【0111】
(ネットワーク上のサーバの例)
図18は、本開示の実施形態に係る情報処理装置の機能構成のさらに別の例を示すブロック図である。図18を参照すると、情報処理装置300は、画像認識部104、モデルDB106、位置関係検出部108、選択部110、オブジェクトDB112、表示対象情報出力部114、メッセージ情報出力部116、および通信部324を含む。
【0112】
図示された例において、情報処理装置300は、撮像部102、表示制御部118、および表示部120を有さない。情報処理装置300は、例えばネットワーク上に設置されたサーバであり、クライアントである装置の撮像部によって撮像された画像のデータを入力画像として通信部324で受信する。また、情報処理装置300は、表示対象情報出力部114から出力される表示対象オブジェクトの情報、および付加的にメッセージ情報出力部116から出力されるメッセージの情報を、通信部324から上記のクライアントに送信する。送信された情報を用いて、端末装置の表示制御部において仮想オブジェクトが重畳された画像が生成され、表示される。
【0113】
このように、本開示に係る情報処理装置は、必ずしも撮像部102や表示部120を有するものでなくてよく、その構成には様々なバリエーションがある。例えば、上記の情報処理装置300において、表示制御部118を設けて、仮想オブジェクトが重畳された画像を生成してこれを通信部324からクライアントに送信してもよい。また、情報処理装置は、撮像部102を有さない一方で表示部120を有し、外部の装置によって撮像された画像に仮想的なオブジェクトを重畳して表示してもよい。さらにまた、情報処理装置は、撮像部102を有する一方で表示部120を有さず、撮像した画像に仮想的なオブジェクトを重畳した画像を外部の装置に転送してもよい。
【0114】
(5.補足)
(ハードウェア構成)
最後に、図19を参照して、本開示の実施形態に係る情報処理装置を実現しうる情報処理装置900のハードウェア構成について説明する。図19は、情報処理装置のハードウェア構成を説明するためのブロック図である。
【0115】
情報処理装置900は、CPU(Central Processing unit)901、ROM(Read Only Memory)903、およびRAM(Random Access Memory)905を含む。さらに、情報処理装置900は、ホストバス907、ブリッジ909、外部バス911、インターフェース913、入力装置915、出力装置917、ストレージ装置919、ドライブ921、接続ポート923、および通信装置925を含んでもよい。情報処理装置900は、CPU901に代えて、またはこれとともに、DSP(Digital Signal Processor)などの処理回路を有してもよい。
【0116】
CPU901は、演算処理装置および制御装置として機能し、ROM903、RAM905、ストレージ装置919、またはリムーバブル記録媒体927に記録された各種プログラムに従って、情報処理装置900内の動作全般またはその一部を制御する。ROM903は、CPU901が使用するプログラムや演算パラメータなどを記憶する。RAM905は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一次記憶する。CPU901、ROM903、およびRAM905は、CPUバスなどの内部バスにより構成されるホストバス907により相互に接続されている。さらに、ホストバス907は、ブリッジ909を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス911に接続されている。
【0117】
入力装置915は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなど、ユーザによって操作される装置である。入力装置915は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理装置900の操作に対応した携帯電話などの外部接続機器929であってもよい。入力装置915は、ユーザが入力した情報に基づいて入力信号を生成してCPU901に出力する入力制御回路を含む。ユーザは、この入力装置915を操作することによって、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりする。
【0118】
出力装置917は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。出力装置917は、例えば、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、有機EL(Electro-Luminescence)ディスプレイなどの表示装置、スピーカおよびヘッドホンなどの音声出力装置、ならびにプリンタ装置などでありうる。出力装置917は、情報処理装置900の処理により得られた結果を、テキストまたは画像などの映像として出力したり、音声または音響などの音声として出力したりする。
【0119】
ストレージ装置919は、情報処理装置900の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置919は、例えば、HDD(Hard Disk Drive)などの磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。このストレージ装置919は、CPU901が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
【0120】
ドライブ921は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体927のためのリーダライタであり、情報処理装置900に内蔵、あるいは外付けされる。ドライブ921は、装着されているリムーバブル記録媒体927に記録されている情報を読み出して、RAM905に出力する。また、ドライブ921は、装着されているリムーバブル記録媒体927に記録を書き込む。
【0121】
接続ポート923は、機器を情報処理装置900に直接接続するためのポートである。接続ポート923は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)ポートなどでありうる。また、接続ポート923は、RS−232Cポート、光オーディオ端子、HDMI(High-Definition Multimedia Interface)ポートなどであってもよい。接続ポート923に外部接続機器929を接続することで、情報処理装置900と外部接続機器929との間で各種のデータが交換されうる。
【0122】
通信装置925は、例えば、通信ネットワーク931に接続するための通信デバイスなどで構成された通信インターフェースである。通信装置925は、例えば、有線または無線LAN(Local Area Network)、Bluetooth(登録商標)、またはWUSB(Wireless USB)用の通信カードなどでありうる。また、通信装置925は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、または、各種通信用のモデムなどであってもよい。通信装置925は、例えば、インターネットや他の通信機器との間で、TCP/IPなどの所定のプロトコルを用いて信号などを送受信する。また、通信装置925に接続される通信ネットワーク931は、有線または無線によって接続されたネットワークであり、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信または衛星通信などである。
【0123】
撮像装置933は、例えば、CCD(Charge Coupled Device)またはCMOS(Complementary Metal Oxide Semiconductor)などの撮像素子、および撮像素子への被写体像の結像を制御するためのレンズなどの各種の部材を用いて実空間を撮像し、撮像画像を生成する装置である。撮像装置933は、静止画を撮像するものであってもよいし、また動画を撮像するものであってもよい。
【0124】
センサ935は、例えば、加速度センサ、ジャイロセンサ、地磁気センサ、光センサ、音センサなどの各種のセンサである。センサ935は、例えば情報処理装置900の筐体の姿勢など、情報処理装置900自体の状態に関する情報や、情報処理装置900の周辺の明るさや騒音など、情報処理装置900の周辺環境に関する情報を取得する。また、センサ935は、GPS(Global Positioning System)信号を受信して装置の緯度、経度および高度を測定するGPSセンサを含んでもよい。
【0125】
以上、情報処理装置900のハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。かかる構成は、実施する時々の技術レベルに応じて適宜変更されうる。
【0126】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【0127】
なお、以下のような構成も本開示の技術的範囲に属する。
(1)画像に映る物体と該画像を撮像する機器との間の位置関係を検出する位置関係検出部、
前記位置関係に応じて、前記物体に関連する複数の種類の仮想オブジェクトを含む仮想オブジェクト群から表示対象オブジェクトを選択する選択部、および
前記表示対象オブジェクトの情報を、前記画像に前記表示対象オブジェクトを重畳して表示させる表示制御部に向けて出力する表示対象情報出力部
を備える情報処理装置。
(2)
前記表示対象情報出力部は、前記位置関係に応じて、前記画像に重畳する前記表示対象オブジェクトの重畳画像を生成し、該重畳画像の情報を前記表示制御部に向けて出力する、前記(1)に記載の情報処理装置。
(3)前記仮想オブジェクト群は、前記物体に対する表示位置が相異なる複数の仮想オブジェクトを含む、前記(1)または(2)に記載の情報処理装置。
(4)前記仮想オブジェクト群は、前記物体の面を基準面とした奥行き方向の位置が相異なる複数の仮想オブジェクトを含む、前記(3)に記載の情報処理装置。
(5)前記選択部は、前記表示対象オブジェクトの表示位置が前記画像の領域を超える場合に、前記画像の領域に表示可能な前記仮想オブジェクトを代わりの表示対象オブジェクトとして選択する、前記(3)に記載の情報処理装置。
(6)前記代わりの表示対象オブジェクトが選択されている場合に、前記画像の領域を変化させるようユーザに通知する通知部をさらに備える、前記(5)に記載の情報処理装置。
(7)前記通知部は、前記画像の領域を変化させることを促す表示の情報を、前記画像に前記表示を重畳して表示させる表示制御部に向けて出力する、前記(6)に記載の情報処理装置。
(8)前記仮想オブジェクト群は、表示する情報の種類が相異なる複数の仮想オブジェクトを含む、前記(1)〜(7)のいずれか1項に記載の情報処理装置。
(9)前記仮想オブジェクト群は、前記物体に表示されるコンテンツを直接的に表現する情報を表示する仮想オブジェクトと、前記コンテンツに関連する他の情報を表示する仮想オブジェクトとを含む、前記(8)に記載の情報処理装置。
(10)前記仮想オブジェクト群は、表示する情報の量が相異なる複数の仮想オブジェクトを含む、前記(1)〜(9)のいずれか1項に記載の情報処理装置。
(11)前記選択部は、互いに関連する複数の前記物体について、同じ種類の前記仮想オブジェクトを選択する、前記(1)〜(10)のいずれか1項に記載の情報処理装置。
(12)前記選択部は、前記位置関係を表す指標値に設定される閾値を用いて前記表示対象オブジェクトを選択する、前記(1)〜(11)のいずれか1項に記載の情報処理装置。
(13)前記画像は、連続したフレームとして撮像されて動画像を構成し、
前記選択部は、前のフレームの前記画像の前記表示対象オブジェクトとしてどの種類の仮想オブジェクトが選択されたかによって異なる前記閾値を用いる、前記(12)に記載の情報処理装置。
(14)前記位置関係検出部は、前記画像の解析によって前記位置関係を検出する、前記(1)〜(13)のいずれか1項に記載の情報処理装置。
(15)前記位置関係検出部は、前記画像を撮像する機器の姿勢に基づいて前記位置関係を検出する、前記(1)〜(14)のいずれか1項に記載の情報処理装置。
(16)前記画像を撮像する撮像部、および前記表示制御部をさらに備え、
前記位置関係検出部は、前記撮像部から前記画像のデータを取得する、前記(1)〜(15)のいずれか1項に記載の情報処理装置。
(17)外部機器と通信して、前記画像のデータを前記外部機器から受信し、前記表示対象オブジェクトの情報を前記外部機器に送信する通信部をさらに備え、
前記位置関係検出部は、前記通信部から前記画像のデータを取得する、前記(1)〜(15)のいずれか1項に記載の情報処理装置。
(18)画像に映る物体と該画像を撮像する機器との間の位置関係を検出すること、
前記位置関係に応じて、前記物体に関連する複数の種類の仮想オブジェクトを含む仮想オブジェクト群から表示対象オブジェクトを選択すること、および
前記表示対象オブジェクトの情報を、前記画像に前記表示対象オブジェクトを重畳して表示させる表示制御部に向けて出力すること
を含む情報処理方法。
(19)画像に映る物体と該画像を撮像する機器との間の位置関係を検出する機能、
前記位置関係に応じて、前記物体に関連する複数の種類の仮想オブジェクトを含む仮想オブジェクト群から表示対象オブジェクトを選択する機能、および
前記表示対象オブジェクトの情報を、前記画像に前記表示対象オブジェクトを重畳して表示させる表示制御部に向けて出力する機能
をコンピュータに実現させるためのプログラム。
【符号の説明】
【0128】
100,200,300 情報処理装置
102 撮像部
104 画像認識部
108 位置関係検出部
110 選択部
114 表示対象情報出力部
116 メッセージ情報出力部
118 表示制御部
120 表示部
222 センサ部
324 通信部
obj_r 物体
obj_v 仮想オブジェクト


【特許請求の範囲】
【請求項1】
画像に映る物体と該画像を撮像する機器との間の位置関係を検出する位置関係検出部、
前記位置関係に応じて、前記物体に関連する複数の種類の仮想オブジェクトを含む仮想オブジェクト群から表示対象オブジェクトを選択する選択部、および
前記表示対象オブジェクトの情報を、前記画像に前記表示対象オブジェクトを重畳して表示させる表示制御部に向けて出力する表示対象情報出力部
を備える情報処理装置。
【請求項2】
前記表示対象情報出力部は、前記位置関係に応じて、前記画像に重畳する前記表示対象オブジェクトの重畳画像を生成し、該重畳画像の情報を前記表示制御部に向けて出力する、請求項1に記載の情報処理装置。
【請求項3】
前記仮想オブジェクト群は、前記物体に対する表示位置が相異なる複数の仮想オブジェクトを含む、請求項1に記載の情報処理装置。
【請求項4】
前記仮想オブジェクト群は、前記物体の面を基準面とした奥行き方向の位置が相異なる複数の仮想オブジェクトを含む、請求項3に記載の情報処理装置。
【請求項5】
前記選択部は、前記表示対象オブジェクトの表示位置が前記画像の領域を超える場合に、前記画像の領域に表示可能な前記仮想オブジェクトを代わりの表示対象オブジェクトとして選択する、請求項3に記載の情報処理装置。
【請求項6】
前記代わりの表示対象オブジェクトが選択されている場合に、前記画像の領域を変化させるようユーザに通知する通知部をさらに備える、請求項5に記載の情報処理装置。
【請求項7】
前記通知部は、前記画像の領域を変化させることを促す表示の情報を、前記画像に前記表示を重畳して表示させる表示制御部に向けて出力する、請求項6に記載の情報処理装置。
【請求項8】
前記仮想オブジェクト群は、表示する情報の種類が相異なる複数の仮想オブジェクトを含む、請求項1に記載の情報処理装置。
【請求項9】
前記仮想オブジェクト群は、前記物体に表示されるコンテンツを直接的に表現する情報を表示する仮想オブジェクトと、前記コンテンツに関連する他の情報を表示する仮想オブジェクトとを含む、請求項8に記載の情報処理装置。
【請求項10】
前記仮想オブジェクト群は、表示する情報の量が相異なる複数の仮想オブジェクトを含む、請求項1に記載の情報処理装置。
【請求項11】
前記選択部は、互いに関連する複数の前記物体について、同じ種類の前記仮想オブジェクトを選択する、請求項1に記載の情報処理装置。
【請求項12】
前記選択部は、前記位置関係を表す指標値に設定される閾値を用いて前記表示対象オブジェクトを選択する、請求項1に記載の情報処理装置。
【請求項13】
前記画像は、連続したフレームとして撮像されて動画像を構成し、
前記選択部は、前のフレームの前記画像の前記表示対象オブジェクトとしてどの種類の仮想オブジェクトが選択されたかによって異なる前記閾値を用いる、請求項12に記載の情報処理装置。
【請求項14】
前記位置関係検出部は、前記画像の解析によって前記位置関係を検出する、請求項1に記載の情報処理装置。
【請求項15】
前記位置関係検出部は、前記画像を撮像する機器の姿勢に基づいて前記位置関係を検出する、請求項1に記載の情報処理装置。
【請求項16】
前記画像を撮像する撮像部、および前記表示制御部をさらに備え、
前記位置関係検出部は、前記撮像部から前記画像のデータを取得する、請求項1に記載の情報処理装置。
【請求項17】
外部機器と通信して、前記画像のデータを前記外部機器から受信し、前記表示対象オブジェクトの情報を前記外部機器に送信する通信部をさらに備え、
前記位置関係検出部は、前記通信部から前記画像のデータを取得する、請求項1に記載の情報処理装置。
【請求項18】
画像に映る物体と該画像を撮像する機器との間の位置関係を検出すること、
前記位置関係に応じて、前記物体に関連する複数の種類の仮想オブジェクトを含む仮想オブジェクト群から表示対象オブジェクトを選択すること、および
前記表示対象オブジェクトの情報を、前記画像に前記表示対象オブジェクトを重畳して表示させる表示制御部に向けて出力すること
を含む情報処理方法。
【請求項19】
画像に映る物体と該画像を撮像する機器との間の位置関係を検出する機能、
前記位置関係に応じて、前記物体に関連する複数の種類の仮想オブジェクトを含む仮想オブジェクト群から表示対象オブジェクトを選択する機能、および
前記表示対象オブジェクトの情報を、前記画像に前記表示対象オブジェクトを重畳して表示させる表示制御部に向けて出力する機能
をコンピュータに実現させるためのプログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate