説明

情報処理装置、オーサリング方法及びプログラム

【課題】専門知識を有しない一般のユーザでも容易にARコンテンツをオーサリングすることを可能とすること。
【解決手段】撮像装置を用いて撮像された実空間を映す入力画像を取得する画像取得部と、上記入力画像を表示装置の画面上に表示させ、上記画面上でユーザにより指定される指定位置を検出するユーザインタフェース部と、仮想オブジェクトの拡張現実空間内での3次元位置を、上記ユーザインタフェース部により検出される上記指定位置から計算する計算部と、上記計算部により計算される上記仮想オブジェクトの上記3次元位置を上記仮想オブジェクトと関連付けて記憶媒体に記憶させるオーサリング部と、を備える情報処理装置を提供する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、オーサリング方法及びプログラムに関する。
【背景技術】
【0002】
近年、実世界に付加的な情報を重畳してユーザに呈示する拡張現実(AR:Augmented Reality)と呼ばれる技術が注目されている。AR技術においてユーザに呈示される情報は、アノテーションとも呼ばれ、テキスト、アイコン又はアニメーションなどの様々な形態の仮想的なオブジェクトを用いて可視化され得る。例えば、AR技術を広告のために利用する場合には、実世界の建物の壁面又は看板などに、広告用の仮想オブジェクト(例えば、キャッチコピーを付した製品の画像など)が重畳して表示され得る。また、AR技術を道案内のために利用する場合には、実世界で目印となる物体又は路上などに、案内用の仮想オブジェクト(例えば、矢印など)が重畳して表示され得る。
【0003】
ARコンテンツを作製する作業は、いわゆるオーサリングの一種である。ARコンテンツをオーサリングする開発ユーザは、どの仮想オブジェクトを3次元空間のどこにどういった姿勢で配置するかを決定する。決定された仮想オブジェクトの配置は、実世界の特定の場所又は特定の物体と関連付けてデータとして記憶される。その結果、特定の場所又は特定の物体をエンドユーザが撮像装置で撮像するとそこに関連付けられた仮想オブジェクトが撮像画像に重畳されるという、ARアプリケーションが実現される。
【0004】
下記非特許文献1は、仮想オブジェクトを配置する前の段階で実空間をモデリングするための技術の一例を示している。下記非特許文献2は、仮想オブジェクトを撮像画像に重畳する際に必要とされる撮像装置の位置及び姿勢を算出することを目的とした、自然マーカを利用した技術の一例を示している。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】A. van den Hengel, R.Hill, B.Ward and A.Dick, “In Situ Image-based Modeling”(In Proc. 8th IEEE International Symposium on Mixed and Augmented Reality, 2009)
【非特許文献2】W.Daniel, G.Reitmayr, A.Mulloni, T.Drummond, and D.Schmalstieg, “Pose Tracking from Natural Features on Mobile Phones”(In Proc. 7th IEEE International Symposium on Mixed and Augmented Reality,2008)
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、これまでのオーサリングの作業では、AR空間に仮想オブジェクトを適切に配置するために、座標変換及びCAD(Computer Aided Design)などに関する専門知識が求められていた。即ち、ARコンテンツをオーサリングすることができるのは、専門知識を有するエキスパートのみであった。このような状況では、多様なARコンテンツを数多く市場に供給し、AR技術のメリットを広くエンドユーザに享受させることが難しい。
【0007】
そこで、本発明は、専門知識を有しない一般のユーザでも容易にARコンテンツをオーサリングすることを可能とする、情報処理装置、オーサリング方法及びプログラムを提供しようとするものである。
【課題を解決するための手段】
【0008】
本発明のある実施形態によれば、撮像装置を用いて撮像された実空間を映す入力画像を取得する画像取得部と、上記入力画像を表示装置の画面上に表示させ、上記画面上でユーザにより指定される指定位置を検出するユーザインタフェース部と、仮想オブジェクトの拡張現実空間内での3次元位置を、上記ユーザインタフェース部により検出される上記指定位置から計算する計算部と、上記計算部により計算される上記仮想オブジェクトの上記3次元位置を上記仮想オブジェクトと関連付けて記憶媒体に記憶させるオーサリング部と、を備える情報処理装置が提供される。
【0009】
また、上記ユーザインタフェース部は、上記入力画像に映る物体のいずれかの面を第1の面として上記ユーザに指定させ、上記計算部により計算される上記3次元位置は、上記拡張現実空間内の上記第1の面を包含する平面上の、上記指定位置に対応する位置であってもよい。
【0010】
また、上記ユーザインタフェース部は、上記画面上で上記ユーザにベクトルをさらに指定させ、上記計算部は、指定される上記ベクトルを用いて、上記仮想オブジェクトの上記拡張現実空間内での姿勢をさらに計算し、上記オーサリング部は、上記計算部により計算される上記仮想オブジェクトの上記姿勢を上記記憶媒体にさらに記憶させてもよい。
【0011】
また、上記計算部は、上記仮想オブジェクトが表示される際に上記仮想オブジェクトの少なくとも1つの面の法線が上記第1の面の法線と平行となるように、上記仮想オブジェクトの上記拡張現実空間内での姿勢を計算してもよい。
【0012】
また、上記ユーザインタフェース部は、上記仮想オブジェクトの上記少なくとも1つの面と上記第1の面を包含する上記平面との間の距離を上記ユーザにさらに指定させ、上記計算部は、上記距離がゼロでない場合には、上記仮想オブジェクトの上記3次元位置を上記距離に応じてオフセットしてもよい。
【0013】
また、上記ユーザインタフェース部は、上記画面上で上記ユーザにより指定される2つの指定位置を検出し、上記計算部は、上記2つの指定位置にそれぞれ対応する上記入力画像に映る物体の面が上記仮想オブジェクトの2つの面に接するように、上記仮想オブジェクトの上記拡張現実空間内での上記3次元位置及び姿勢を計算し、上記オーサリング部は、上記計算部により計算される上記仮想オブジェクトの上記3次元位置及び上記姿勢を上記記憶媒体に記憶させてもよい。
【0014】
また、上記ユーザインタフェース部は、上記仮想オブジェクトと関連付けられる上記実空間内の物体を上記ユーザに指定させ、上記3次元位置は、上記ユーザにより指定される上記物体からの相対位置として記憶されてもよい。
【0015】
また、上記情報処理装置は、上記実空間内の1つ以上の物体の各々の外観の特徴を表すモデルデータを取得するデータ取得部と、上記モデルデータと上記入力画像とを照合することにより、上記入力画像に映る各物体の上記実空間内での位置及び姿勢を認識する認識部と、をさらに備えてもよい。
【0016】
また、上記計算部は、上記第1の面の上記実空間内でのサイズに応じて、上記仮想オブジェクトが表示される際の上記仮想オブジェクトの上記拡張現実空間内でのサイズをさらに計算してもよい。
【0017】
また、本発明の別の実施形態によれば、撮像装置を用いて撮像された実空間を映す入力画像を取得するステップと、上記入力画像を表示装置の画面上に表示するステップと、上記画面上でユーザにより指定される指定位置を検出するステップと、仮想オブジェクトの拡張現実空間内での3次元位置を、検出された上記指定位置から計算するステップと、計算された上記仮想オブジェクトの上記3次元位置を上記仮想オブジェクトと関連付けて記憶媒体に記憶させるステップと、を含むオーサリング方法が提供される。
【0018】
また、本発明の別の実施形態によれば、表示装置と接続される情報処理装置を制御するコンピュータを、撮像装置を用いて撮像された実空間を映す入力画像を取得する画像取得部と、上記入力画像を上記表示装置の画面上に表示させ、上記画面上でユーザにより指定される指定位置を検出するユーザインタフェース部と、仮想オブジェクトの拡張現実空間内での3次元位置を、上記ユーザインタフェース部により検出される上記指定位置から計算する計算部と、上記計算部により計算される上記仮想オブジェクトの上記3次元位置を上記仮想オブジェクトと関連付けて記憶媒体に記憶させるオーサリング部と、として機能させるためのプログラムが提供される。
【発明の効果】
【0019】
以上説明したように、本発明に係る情報処理装置、オーサリング方法及びプログラムによれば、専門知識を有しない一般のユーザでも容易にARコンテンツをオーサリングすることが可能となる。
【図面の簡単な説明】
【0020】
【図1】一実施形態に係る情報処理装置の概要を説明するための説明図である。
【図2】ARコンテンツのオーサリングについて説明するための説明図である。
【図3】一実施形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。
【図4】実空間モデルの概要について説明するための説明図である。
【図5】実空間モデルのデータ例を示す説明図である。
【図6】物体モデルの概要について説明するための説明図である。
【図7】物体モデルのデータ例を示す説明図である。
【図8】仮想オブジェクトの第1の例を示す説明図である。
【図9】仮想オブジェクトの第2の例を示す説明図である。
【図10】仮想オブジェクトの第3の例を示す説明図である。
【図11】仮想オブジェクトの第4の例を示す説明図である。
【図12】仮想オブジェクトデータのデータ例を示す説明図である。
【図13】一実施形態に係る情報処理装置の機能構成の一例を示すブロック図である。
【図14】一実施形態に係るオーサリング画面の一例を示す説明図である。
【図15】コンタクト位置からのオフセットについて説明するための説明図である。
【図16】一実施形態に係る位置・姿勢計算処理の流れの一例を示すフローチャートである。
【図17】一実施形態に係るインスタンスデータのデータ例を示す説明図である。
【図18】オーサリング作業の第1のシナリオについて説明するためのシーケンス図である。
【図19】第1のシナリオにおいて表示される画像の一例を示す説明図である。
【図20】オーサリング作業の第2のシナリオについて説明するためのシーケンス図である。
【図21】第2のシナリオにおいて表示される画像の一例を示す説明図である。
【図22】オーサリング作業の第3のシナリオについて説明するためのシーケンス図である。
【図23】第3のシナリオにおいて表示される画像の一例を示す説明図である。
【図24】オーサリング作業の第4のシナリオについて説明するためのシーケンス図である。
【図25】第4のシナリオにおいて表示される画像の一例を示す説明図である。
【図26】オーサリング作業の第5のシナリオについて説明するためのシーケンス図である。
【図27】第5のシナリオにおいて表示される画像の一例を示す説明図である。
【図28】仮想オブジェクトのサイズの変更について説明するための説明図である。
【発明を実施するための形態】
【0021】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付すことにより重複説明を省略する。
【0022】
また、以下の順序にしたがって当該「発明を実施するための形態」を説明する。
1.一実施形態に係る情報処理装置の概要
2.ハードウェア構成例
3.データ構成例
3−1.モデルデータ
3−2.仮想オブジェクトデータ
4.機能構成例
4−1.画像取得部
4−2.データ取得部
4−3.画像認識部
4−4.ユーザインタフェース部
4−5.オーサリング部
4−6.計算部
5.インスタンスデータの生成
6.作業シナリオ
7.まとめ
【0023】
<1.一実施形態に係る情報処理装置の概要>
まず、図1及び図2を参照しながら、本発明の一実施形態に係る情報処理装置の概要を説明する。図1を参照すると、一例としての情報処理装置100が示されている。情報処理装置100は、ARコンテンツをオーサリングするユーザが使用する装置である。図1では、情報処理装置100の一例として、PC(Personal Computer)が示されている。しかしながら、情報処理装置100は、スマートフォン、PDA(Personal Digital Assistant)、ゲーム端末又はワークステーションなどの他の種類の装置であってもよい。
【0024】
図1の例では、情報処理装置100は、撮像装置102と接続されている。撮像装置102は、実空間1を撮像し、撮像画像を生成する。撮像装置102により生成される撮像画像は、後に説明する情報処理装置100による処理のための入力画像となる。図1の下には、一例としての入力画像Im00が示されている。入力画像は、オーサリングの際に情報処理装置100へリアルタイムで入力されてもよい。その代わりに、情報処理装置100によりアクセス可能な記憶媒体に撮像画像が一旦記憶され、記憶された撮像画像を入力画像として事後的にオーサリングが行われてもよい。また、撮像画像は、情報処理装置100によりアクセス可能なネットワーク上のサーバから提供されてもよい。例えば、情報処理装置100は、Google Earth(登録商標)のような画像情報提供サービスから撮像画像を取得してもよい。
【0025】
図2は、ARコンテンツのオーサリングについて説明するための説明図である。図2の左には、図1に示した入力画像Im00の一部を拡大した入力画像Im01が示されている。入力画像Im01には、実空間に存在する物体B1及びB2が映っている。物体B1は、建物である。物体B2は、建物B1の屋上に設置された看板である。実空間においては、看板B2の表面に何も書かれていない。
【0026】
図2の下には、仮想オブジェクトV1が示されている。仮想オブジェクトV1は、ビデオカメラの新製品についての広告を表示するポスターを模したアノテーションである。情報処理装置100には、このような1つ以上の仮想オブジェクトのデータが予め記憶されている。そして、ユーザは、ARコンテンツのオーサリングの作業において、入力画像内の所望の位置に仮想オブジェクトを配置する。
【0027】
図2の右には、仮想オブジェクトV1が配置された出力画像Im02が示されている。出力画像Im02において、仮想オブジェクトV1は、看板B2の表面に重畳されている。出力画像Im02は、情報処理装置100の画面上で開発ユーザが確認することのできる画像である。また、出力画像Im02は、実空間1においてARアプリケーションを利用するエンドユーザにも呈示され得る画像である。エンドユーザが端末の向きを変えても仮想オブジェクトV1が看板B2の表面に適切に重畳されるためには、仮想オブジェクトV1のAR空間内での3次元位置(及び姿勢)が正確に定義されていることが求められる。
【0028】
仮想オブジェクトのAR空間内での配置を定義するために、これまでは、例えば仮想オブジェクトの3次元座標の算出及び3次元座標と2次元座標との間の座標変換などといった、高度な専門知識を要する作業が求められていた。そのため、ARコンテンツをオーサリングすることのできるのは、専門知識を有するエキスパートのみであった。これに対し、本実施形態に係る情報処理装置100は、次節より詳しく説明する仕組みにより、専門知識を有しない一般のユーザでも容易にARコンテンツをオーサリングすることを可能とする。
【0029】
<2.ハードウェア構成例>
図3は、本実施形態に係る情報処理装置100のハードウェア構成の一例を示すブロック図である。図3を参照すると、情報処理装置100は、撮像部102、センサ部104、入力部106、記憶部108、表示部112、接続ポート114、バス116及び制御部118を備える。
【0030】
(撮像部)
撮像部102は、図1に例示した撮像装置102に相当するカメラモジュールである。撮像部102は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)などの撮像素子を用いて実空間1を撮像することにより、撮像画像を生成する。
【0031】
(センサ部)
センサ部104は、情報処理装置100の位置及び姿勢(撮像部102の位置及び姿勢)の認識を支援するセンサ群である。例えば、センサ部104は、GPS(Global Positioning System)信号を受信して情報処理装置100の緯度、経度及び高度を測定するGPSセンサを含んでもよい。また、センサ部104は、無線アクセスポイントから受信される無線信号の強度に基づいて情報処理装置100の位置を測定する測位センサを含んでもよい。また、センサ部104は、情報処理装置100の傾き角を測定するジャイロセンサ、3軸加速度を測定する加速度センサ、又は方位を測定する地磁気センサを含んでもよい。なお、情報処理装置100が画像認識に基づく位置推定機能及び姿勢推定機能を有する場合には、センサ部104は情報処理装置100の構成から省略されてもよい。
【0032】
(入力部)
入力部106は、ユーザが情報処理装置100を操作し又は情報処理装置100へ情報を入力するために使用される入力デバイスである。入力部106は、例えば、キーボード、キーパッド、マウス、ボタン、スイッチ又はタッチパネルなどを含み得る。入力部106は、入力画像に映るユーザのジェスチャを認識するジェスチャ認識モジュールを含んでもよい。また、入力部106は、HMD(Head Mounted Display)を装着したユーザの視線方向をユーザ入力として検出する視線検出モジュールを含んでもよい。
【0033】
(記憶部)
記憶部108は、半導体メモリ又はハードディスクなどの記憶媒体を用いて、情報処理装置100による処理のためのプログラム及びデータを記憶する。例えば、記憶部108は、撮像部102から出力される画像データ及びセンサ部104から出力されるセンサデータを記憶する。また、記憶部108は、オーサリングのために使用されるモデルデータ及び仮想オブジェクトデータを記憶する。さらに記憶部108は、オーサリングの結果として生成されるインスタンスデータを記憶する。
【0034】
(表示部)
表示部112は、LCD(Liquid Crystal Display)、OLED(Organic light-Emitting Diode)又はCRT(Cathode Ray Tube)などにより構成される表示モジュールである。表示部112の画面上には、情報処理装置100により提供されるARコンテンツのオーサリングのためのユーザインタフェースが表示される。表示部112は、情報処理装置100の一部であってもよく、又は情報処理装置100とは別体に構成されてもよい。また、表示部112は、ユーザにより装着されるHMDであってもよい。
【0035】
(接続ポート)
接続ポート114は、情報処理装置100を周辺機器又はネットワークと接続するためのポートである。例えば、接続ポート114には、追加的な記憶媒体としてのリムーバブルメディアが接続されてもよい。また、接続ポート114には、有線又は無線通信インタフェースが接続されてもよい。それにより、例えば情報処理装置100がネットワーク上のサーバから画像を取得することが可能となる。
【0036】
(バス)
バス116は、撮像部102、センサ部104、入力部106、記憶部108、表示部112、接続ポート114及び制御部118を相互に接続する。
【0037】
(制御部)
制御部118は、CPU(Central Processing Unit)又はDSP(Digital Signal Processor)などのプロセッサに相当する。制御部118は、記憶部108又は他の記憶媒体に記憶されるプログラムを実行することにより、後に説明する情報処理装置100の様々な機能を動作させる。
【0038】
<3.データ構成例>
次に、図4〜図12を参照しながら、本実施形態において情報処理装置100により使用されるモデルデータ及び仮想オブジェクトデータについて説明する。
【0039】
[3−1.モデルデータ]
モデルデータは、実空間内の1つ以上の物体の各々の外観の特徴を表すデータである。モデルデータは、入力画像に映る物体を認識するために用いられる。また、入力画像に映る物体の位置及び姿勢、又は撮像装置(若しくは情報処理装置100)の位置及び姿勢も、モデルデータを用いて認識され得る。モデルデータは、さらに2種類のデータに分けられる。第1の種類のモデルデータは、各物体の外観を表すデータに加えて各物体の位置を表す位置データを含む実空間モデルである。即ち、実空間モデルは、モデル化された実空間のマップに相当する。第2の種類のモデルデータは、位置と関連付けられない物体の外観の特徴を表す物体モデルである。情報処理装置100は、実空間モデル及び物体モデルの少なくとも一方を使用する。
【0040】
(1)実空間モデル
図4は、実空間モデルの概要について説明するための説明図である。図4を参照すると、実空間1内の5つの物体B1〜B5が示されている。物体B1、B3、B4及びB5は、実空間1内に存在する建物(のモデル)である。物体B2は、実空間1内に存在する看板(のモデル)である。各物体は、実空間1においてグローバル座標系X(x、y、z)で表現され得る固有の位置にそれぞれ位置する。
【0041】
各物体は、ポリゴン(多角形の面)の集合として表現される。例えば、物体B1は、面F11、F12及びF13、並びに図示されていない他の面を有する。物体B2は、面F21及び図示されていない他の面を有する。物体B3は、面F31、F32及びF33、並びに図示されていない他の面を有する。これら面の頂点の座標は、各物体に設定されるローカル座標系X´で表現され得る。また、各面は、当該面が属する物体の外側を向いた法線を有する。例えば、法線n11は、面F11の法線である。法線n12は、面F12の法線である。
【0042】
図5は、実空間モデルの具体的なデータ例を示す説明図である。図5を参照すると、一例としての実空間モデルMD1が部分的に示されている。実空間モデルMD1は、「物体ID」、「説明」、「位置」、「姿勢」、「面」、「法線」及び「頂点」という7つのデータ項目を有する。「物体ID」は、実空間モデルMD1に含まれる各物体を一意に識別するための識別子である。「説明」は、当該物体に関する説明を示す文字列である。「位置」は、各物体のグローバル座標系での位置座標であり、典型的には、各物体のローカル座標系の原点の位置に相当する。「姿勢」は、各物体のローカル座標系のグローバル座標系を基準とした回転を表す回転行列又はクォータニオン(四元数)である。「面」は、各物体が有する面を一意に識別するための識別子である。各物体は、1つ以上の面を有する。「法線」は、各面の法線ベクトルである。「頂点」は、各面が有する頂点のローカル座標系での位置座標である。各面は、3つ以上の頂点を有する。
【0043】
(2)物体モデル
図5は、物体モデルの概要について説明するための説明図である。図5を参照すると、実空間1内に存在し得る物体B8が示されている。例えば、物体B8は、自動車(のモデル)である。物体B8は、固有のローカル座標系を有し、物体B8の外観はそのローカル座標系を用いてポリゴンの集合として定義される。例えば、物体B8は、面F81、F82及びF83、並びに図示されていない他の面を有する。これら面の頂点の座標は、ローカル座標系X´で表現される。また、各面は、当該面が属する物体の外側を向いた法線を有する。例えば、法線n81は、面F81の法線である。法線n82は、面F82の法線である。法線n83は、面F83の法線である
【0044】
物体モデルにより表される各物体は、実空間のグローバル座標系の特定の位置には関連付けられない。従って、物体モデルは、実空間内で移動し得る動的物体を定義するために適している。一方、実空間モデルは、実空間内で位置が固定された静的物体を定義するために適している。
【0045】
図7は、物体モデルの具体的なデータ例を示す説明図である。図7の例では、物体B8及び物体B9についてのデータを含む物体モデルMD2が部分的に示されている。物体モデルMD2は、「物体ID」、「説明」、「面」、「法線」及び「頂点」という5つのデータ項目を有する。「物体ID」は、物体モデルMD2に含まれる各物体を一意に識別するための識別子である。「説明」は、当該物体に関する説明を示す文字列である。「面」は、各物体が有する面を一意に識別するための識別子である。各物体は、1つ以上の面を有する。「法線」は、各面の法線ベクトルである。「頂点」は、各面が有する頂点のローカル座標系での位置座標である。各面は、3つ以上の頂点を有する。
【0046】
これら実空間モデル及び物体モデルは、典型的には、予め作成され記憶部108又は他の記憶媒体に記憶される。その代わりに、実空間モデル及び物体モデルは、例えば上記非特許文献1に記載された手法に従って、情報処理装置100において対話的に又は動的に作成されてもよい。また、実空間モデル及び物体モデルにおいて、後に説明する被コンタクト面として利用可能な面を識別するためのフラグが各面の属性として設定されてもよい。
【0047】
[3−2.仮想オブジェクトデータ]
仮想オブジェクトデータは、仮想オブジェクトの形状の特徴及び当該仮想オブジェクトの構成要素の属性を表すデータである。図8〜図11は、仮想オブジェクトの4つの例を示している。
【0048】
図8には、第1の例としての仮想オブジェクトV1が示されている。仮想オブジェクトV1は、広告を表示するポスターを模したアノテーションである。仮想オブジェクトV1は、平面的なオブジェクトであり、テクスチャ画像を付された1つのポリゴンとして表現される。仮想オブジェクトV1は、面Fを有する。面Fの頂点の座標は、仮想オブジェクトV1に設定されるローカル座標系X´で表現され得る。法線nは、面Fの法線である。
【0049】
また、本実施形態において、仮想オブジェクトの少なくとも1つの面には、当該仮想オブジェクトの配置を計算する際の基準となる基準点及び基準線が設定される。図8の例では、仮想オブジェクトV1の面Fに、基準点P及び基準線Lが設定されている。基準点は、例えば、当該基準点が属する面の重心又はいずれかの頂点であってもよい。その代わりに、基準点は、ユーザにより予め指定される任意の位置の点であってもよい。基準線は、典型的には、基準点を始点とする線分である。
【0050】
図9には、第2の例としての仮想オブジェクトV2が示されている。仮想オブジェクトV2は、任意の画像を表示するためのフィールド(図中の点線枠)を有するコンテナに相当するオブジェクトである。例えば、当該フィールドに道案内のための画像が設定されると、仮想オブジェクトV2は道案内のためのアノテーションとなり得る。仮想オブジェクトV2もまた、平面的なオブジェクトであり、1つのポリゴンとして表現される。仮想オブジェクトV2は、面Fを有する。面Fの頂点の座標は、仮想オブジェクトV2に設定されるローカル座標系X´で表現され得る。法線nは、面Fの法線である。図9の例では、仮想オブジェクトV2の面Fには、基準点P及び基準線Lが設定されている。
【0051】
図10には、第3の例としての仮想オブジェクトV3が示されている。仮想オブジェクトV3は、立体的なオブジェクトであり、ポリゴンの集合として表現される。例えば、仮想オブジェクトV3は、面FC1及びFC2並びに他の面を有する。各面の頂点の座標は、仮想オブジェクトV3に設定されるローカル座標系X´で表現され得る。法線nC1は、面FC1の法線である。法線nC2は、面FC2の法線である。立体的な仮想オブジェクトの少なくとも1つの面は、実空間内の物体とAR空間内で接し又は相対するコンタクト面として定義される。例えば、ある仮想オブジェクトが立っている人物を模した立体的な仮想オブジェクトである場合には、当該仮想オブジェクトの靴底に相当する底面がコンタクト面として定義され得る。図10の例では、仮想オブジェクトV3の網掛けされた2つの面がコンタクト面である。各コンタクト面には、基準点及び基準線がそれぞれ設定される。
【0052】
図11には、第4の例としての仮想オブジェクトV4が示されている。仮想オブジェクトV4は、略球体の形状をした立体的なオブジェクトである。仮想オブジェクトV4の略球体の形状もまた、近似的な多面体としてのポリゴンの集合で表現され得る。但し、このような仮想オブジェクトについては、オブジェクトの表面にコンタクト面を設定することが困難である。そこで、コンタクト面として利用される補助的な面FDZを仮想オブジェクトV4に追加する。法線nDZは、面FDZの法線である。面FDZは透過的な面であり、エンドユーザ向けには表示されない。コンタクト面FDZには、基準点及び基準線が設定される。
【0053】
図12は、仮想オブジェクトデータの具体的なデータ例を示す説明図である。図12には、仮想オブジェクトV1、V2、V3及びV4についてのデータを含む仮想オブジェクトデータVDが部分的に示されている。仮想オブジェクトデータVDは、「ID」、「説明」、「種別」、「面」、「透過フラグ」、「コンタクトフラグ」、「基準点」「基準線」、「法線」及び「頂点」という10個のデータ項目を有する。「ID」は、各仮想オブジェクトを一意に識別するための識別子である。「説明」は、当該仮想オブジェクトに関する説明を示す文字列である。「種別」は、当該仮想オブジェクトが平面的なオブジェクト及び立体的なオブジェクトのいずれであるのかを示すフラグである。「面」は、当該仮想オブジェクトが有する面を一意に識別するための識別子である。各仮想オブジェクトは、1つ以上の面を有する。「透過フラグ」は、各面が透過的な面か否かを示すフラグである。「コンタクトフラグ」は、各面がコンタクト面であるか否かを示すフラグである。平面的な仮想オブジェクトについては、「コンタクトフラグ」は省略され得る(1つの面がコンタクト面であるため)。「基準点」は、各コンタクト面に設定された基準点のローカル座標系での位置座標である。「基準線」は、各コンタクト面に設定された基準線を表すデータ(例えば、基準線に沿った単位ベクトル、又は基準点とは反対側の端点の位置座標など)である。「法線」は、各面の法線ベクトルである。「頂点」は、各面が有する頂点のローカル座標系での位置座標である。各面は、3つ以上の頂点を有する。
【0054】
このような仮想オブジェクトデータは、予め作成され記憶部108又は他の記憶媒体に記憶され得る。
【0055】
<4.機能構成例>
図13は、図3に示した情報処理装置100の制御部118により実現される機能の構成の一例を示すブロック図である。図13を参照すると、制御部118は、画像取得部120、データ取得部130、画像認識部140、ユーザインタフェース部150、オーサリング部160及び計算部170を含む。
【0056】
[4−1.画像取得部]
画像取得部120は、撮像部102(又は他の撮像装置)を用いて撮像された実空間を映す入力画像を取得する。入力画像は、仮想オブジェクトが配置される実空間内の場所又は物体が映された画像である。画像取得部120は、取得した入力画像を、画像認識部140及びユーザインタフェース部150へ出力する。
【0057】
[4−2.データ取得部]
データ取得部130は、情報処理装置100におけるオーサリングのために使用されるデータを取得する。データ取得部130により取得されるデータは、上述したモデルデータ(実空間モデル及び物体モデルの一方又は双方)並びに仮想オブジェクトデータを含む。データ取得部130は、モデルデータを画像認識部140へ出力する。また、データ取得部130は、仮想オブジェクトデータをオーサリング部160へ出力する。さらに、センサ部104により測定されたセンサデータもまた、データ取得部130により取得され得る。
【0058】
[4−3.画像認識部]
画像認識部140は、データ取得部130から入力されるモデルデータを入力画像と照合することにより、入力画像に映る物体を認識する。より具体的には、例えば、画像認識部140は、FAST特徴検出法(FAST feature detection)などの任意の公知の手法に従って、入力画像内の特徴点を抽出する。そして、画像認識部140は、抽出された特徴点をモデルデータに含まれる物体の頂点と照合する。その結果、画像認識部140は、入力画像にどの物体が映っているか、及び認識された各物体がどの位置にどのような姿勢で映っているかを認識する。認識された物体が実空間モデルに含まれる物体である場合には、当該物体の3次元位置及び姿勢は、実空間モデルにおいて示されている。認識された物体が物体モデルに含まれる物体である場合には、当該物体の3次元位置及び姿勢は、当該物体の頂点群の撮像面上での2次元位置をピンホールモデルに従って実空間内の3次元位置に変換することにより求められ得る(例えば、特開2008−304268号公報参照)。
【0059】
さらに、画像認識部140は、情報処理装置100の位置及び姿勢を認識する。例えば、画像認識部140は、入力画像に映る物体が自然マーカを有している場合には、上記非特許文献2に記載された手法に従い、入力画像に映る当該自然マーカを用いて情報処理装置100の位置及び姿勢を認識することができる。また、画像認識部140は、SLAM(Simultaneous Localization and Mapping)技術の原理に従い、入力画像を用いて情報処理装置100の位置及び姿勢を動的に推定してもよい(Andrew J.Davisonによる“Real-Time Simultaneous Localization and Mapping with a Single Camera”(Proceedings of the 9th IEEE International Conference on Computer Vision Volume 2, 2003, pp.1403-1410)参照)。
【0060】
なお、情報処理装置100の位置及び姿勢は、画像認識の代わりに、センサ部104から取得されるセンサデータ(例えば、GPSセンサからの位置データなど)を用いて認識されてもよい。また、画像認識の結果として認識される各物体の相対的な位置及び姿勢と、センサデータを用いて認識される情報処理装置100の絶対的な位置及び姿勢とに基づいて、各物体の絶対的な位置及び姿勢が算出されてもよい。
【0061】
[4−4.ユーザインタフェース部]
ユーザインタフェース部150は、後に説明するオーサリング部160による制御の下、オーサリングのためのユーザインタフェースをユーザに提供する。ユーザインタフェース部150により提供されるユーザインタフェースは、典型的には、入力部106及び表示部112を用いて実現されるGUI(Graphical User Interface)である。より具体的には、ユーザインタフェース部150は、画像取得部120から入力される入力画像を表示するオーサリング画面を、表示部112を用いて表示する。
【0062】
図14は、本実施形態において表示され得るオーサリング画面の一例を示す説明図である。図14を参照すると、一例としてのオーサリング画面SC1が示されている。オーサリング画面SC1は、入力画像エリアSA1、及び仮想オブジェクト一覧エリアSA2を有する。入力画像エリアSA1には、画像取得部120から入力される入力画像が表示される。仮想オブジェクト一覧エリアSA2には、AR空間に配置される仮想オブジェクトの候補の一覧が表示される。ユーザは、例えば、仮想オブジェクト一覧エリアSA2に表示された候補の中から、AR空間に配置したい仮想オブジェクトをカーソルCURを用いて選択する。そして、ユーザは、入力画像エリアSA1上で、選択した仮想オブジェクトをAR空間内に配置する。入力画像エリアSA1上での操作に応じて、ユーザインタフェース部150は、仮想オブジェクトのAR空間内での3次元位置及び姿勢を計算するためのいくつかのパラメータを検出する。このようなユーザインタフェースを介したオーサリング作業の典型的ないくつかのシナリオについて、後に具体的に説明する。
【0063】
[4−5.オーサリング部]
オーサリング部160は、ユーザインタフェース部150により提供されるユーザインタフェースを介したARコンテンツのオーサリングを制御する。オーサリング部160は、入力画像に映る物体の3次元位置及び姿勢、並びに情報処理装置100の位置及び姿勢を画像認識部140から取得する。また、オーサリング部160は、図12に例示した仮想オブジェクトデータをデータ取得部130から取得する。そして、オーサリング部160は、上述したオーサリング画面をユーザインタフェース部150に表示させる。その後、オーサリング部160は、オーサリング画面上で指定されるパラメータに基づいて、AR空間内での仮想オブジェクトの3次元位置及び姿勢を、計算部170に計算させる。そして、オーサリング部160は、計算された仮想オブジェクトの3次元位置及び姿勢を記憶部108又はその他の記憶媒体に記憶させる。
【0064】
なお、仮想オブジェクトデータにより定義される各仮想オブジェクトは、AR空間内の複数の位置に配置され得る。本明細書では、これら実際に配置される個々の仮想オブジェクトを(仮想オブジェクトの)インスタンスという。即ち、2つの異なる場所に配置される仮想オブジェクトV1は、同じ仮想オブジェクトであって異なるインスタンスである。
【0065】
[4−6.計算部]
計算部170は、オーサリング部160による制御の下、オーサリング画面上で指定されるパラメータを用いて、仮想オブジェクトのインスタンスの3次元位置及び姿勢を決定するための計算処理を行う。
【0066】
(1)計算処理の原理
実空間のグローバル座標系X(AR空間の座標系でもある)と1つの仮想オブジェクトのローカル座標系X´との間の関係は、次の関係式(1)により表される。
【0067】
【数1】

【0068】
ここで、Cは、ローカル座標系の原点のグローバル座標系での位置を表す位置座標である。Rは、ローカル座標系のグローバル座標系に対する姿勢変換を表す回転行列である。式(1)の通り、ローカル座標系の原点位置C及び姿勢変換Rを得ることができれば、仮想オブジェクトデータに含まれる各頂点の座標(ローカル座標系)を関係式(1)に従って実空間内の座標位置(グローバル座標)に変換することができる。
【0069】
本実施形態において、計算部170は、次のような原理で原点位置C及び姿勢変換Rを計算する。
【0070】
まず、前提として、仮想オブジェクトのインスタンスは、当該インスタンスのコンタクト面が入力画像に映る物体の被コンタクト面と同じ傾きを有する(即ち、互いの法線が平行となる)ように配置されるものとする。被コンタクト面は、ユーザ入力に応じて特定される。なお、以下の説明において、被コンタクト面を有する物体を被コンタクト物体という。
【0071】
特定された被コンタクト面のグローバル座標系での法線ベクトルをn、仮想オブジェクトのインスタンスのコンタクト面のローカル座標系での法線ベクトルをn´とすると、式(2)が成立する。
【0072】
【数2】

【0073】
また、インスタンスの基準線の方向を表すローカル座標系でのベクトルをa´、インスタンスの基準線と同じ方向を向くグローバル座標系でのベクトル(以下、基準線配置ベクトルという)をaとすると、式(3)が成立する。
【0074】
【数3】

【0075】
ベクトルa´は、仮想オブジェクトデータ内で設定されている基準線のデータから得ることができる。基準線配置ベクトルaは、ユーザ入力に応じて特定され得る。なお、これら4つのベクトルn、n´、a及びa´はいずれも単位ベクトルであるものとする。さらに、4つのベクトルn、n´、a及びa´の間には、次の関係式(4)が成立する。
【0076】
【数4】

【0077】
これら式(2)〜(4)を解くことにより、ローカル座標系の姿勢変換Rを得ることができる。なお、ローカル座標系の姿勢変換は、回転行列ではなくクォータニオンにより表現されてもよい。その場合にも、上述したベクトルn、n´、a及びa´が特定されれば、ローカル座標系の姿勢変換を表すクォータニオンを導くことができる。
【0078】
さらに、インスタンスの基準点が配置されるグローバル座標系での3次元位置(以下、コンタクト位置という)をY、当該基準点のローカル座標系での3次元位置をY´とすると、式(5)が成立する。
【0079】
【数5】

【0080】
インスタンスの基準点のローカル座標系での位置Y´は、仮想オブジェクトデータ内で予め設定されている。よって、コンタクト位置Yが特定されれば、ローカル座標系の原点のグローバル座標系での位置Cを計算することができる。
【0081】
このような計算処理の原理において、予め既知でない変数は、被コンタクト面のID、コンタクト位置Y、及び基準線配置ベクトルaの3つである。
【0082】
(2)被コンタクト面の特定
被コンタクト面のIDは、図14に例示したオーサリング画面SC1の入力画像エリアSA1に映る被コンタクト面をユーザが(クリック又はタップなどの操作により)指定することで特定される。なお、画像認識部140による画像認識の結果として、オーサリング部160は、入力画像内で他の面の背後に隠れた面の位置も知得している。そこで、オーサリング部160は、入力画像エリアSA1において他の面の背後に位置する面を透過又は枠線の強調表示などの手法で表示させ、当該背後の面をユーザにより指定可能としてもよい。
【0083】
(3)コンタクト位置の特定
コンタクト位置Yもまた、基準点を配置したい場所を入力画像エリアSA1においてユーザが指定することで特定される。単一のユーザ入力で、被コンタクト面及びコンタクト位置が同時に指定されてもよい。
【0084】
例えば、入力画像エリアSA1において指定された位置を指定位置Uとする。指定位置Uは、撮像面上のカメラ座標系での2次元位置(u、v)により表される。すると、指定位置U(u、v)と当該指定位置Uに対応するコンタクト位置Yとの間に、ピンホールモデルに従った次の関係式が成立する。
【0085】
【数6】

【0086】
式(6)において、Xはカメラの3次元位置、Rはカメラの姿勢に対応する回転行列、Aはカメラ内部パラメータ、λは正規化のためのパラメータである。カメラ内部パラメータAは、撮像部102の特性に応じて、次式のように与えられる。
【0087】
【数7】

【0088】
ここで、fは焦点距離、θは画像軸の直交性(理想値は90°)、kは撮像面の縦軸のスケール(グローバル座標系からカメラ座標系へのスケール変化率)、kは撮像面の横軸のスケール、(u,v)は撮像面の中心位置である。
【0089】
関係式(6)において、指定位置U(u、v)が与えられれば、未知の変数はコンタクト位置Yのみとなる。従って、計算部170は、関係式(6)に基づく逆射影変換により、コンタクト位置Yを計算することができる(詳しくは、特開2008−304268号公報参照)。
【0090】
なお、コンタクト位置Yは、ユーザにより指定される代わりに、既定値として計算されてもよい。例えば、計算部170は、被コンタクト面の重心の3次元位置をコンタクト位置Yの既定値として自動的に計算し得る。
【0091】
(4)基準線配置ベクトルの特定
基準線配置ベクトルaは、入力画像エリアSA1において2点(ベクトルの始点及び終点)をユーザが指定することで特定される。単一のユーザ入力で、コンタクト位置Y及び基準線配置ベクトルaの始点が同時に指定されてもよい。計算部170は、上述したコンタクト位置Yと同様の手法で、ユーザにより指定される2つの2次元位置から、基準線配置ベクトルaの始点及び終点のグローバル座標系での3次元位置をそれぞれ計算することができる。
【0092】
なお、基準線配置ベクトルaもまた、ユーザにより指定される代わりに、既定値として計算されてもよい。例えば、計算部170は、被コンタクト面が長方形である場合には、被コンタクト面の長辺方向に沿った単位ベクトルを基準線配置ベクトルaの既定値として自動的に計算し得る。
【0093】
また、計算部170は、予め設定される規則に従って、基準線配置ベクトルaの既定値を自動的に計算してもよい。例えば、基準線配置ベクトルaは、コンタクト位置を始点とし被コンタクト面に包含される単位ベクトルのうち、AR空間内で鉛直成分(例えば、グローバル座標系のZ軸成分)が最大となるベクトルであってもよい。さらに仮想オブジェクトの基準線を予め表示上の上方向に設定しておけば、仮想オブジェクトの姿勢を自動的に適切な姿勢(上の部分が上に、下の部分が下になる姿勢)に決定することができる。
【0094】
(5)追加的なパラメータの特定
本実施形態において、AR空間への仮想オブジェクトのより柔軟な配置を可能とするために、オーサリング部160は、以下に述べる追加的なパラメータをユーザにより指定可能とする。
【0095】
追加的なパラメータの1つは、コンタクト位置からのオフセットである。オフセットの既定値はゼロであり、その場合、インスタンスの基準点のAR空間内での位置がコンタクト位置に一致する(インスタンスのコンタクト面が被コンタクト物体の被コンタクト面に接する)。オフセットの値がD(D≠0)の場合、インスタンスの基準点の位置は、コンタクト位置から被コンタクト面の法線方向に距離Dだけオフセットされる(インスタンスのコンタクト面は、被コンタクト物体の被コンタクト面と平行となる)。
【0096】
図15は、コンタクト位置からのオフセットについて説明するための説明図である。図15を参照すると、撮像面上のカメラ座標系での指定位置U、AR空間内のグローバル座標系でのコンタクト位置Y、及びオフセットされた基準点の位置Pが示されている。コンタクト位置Yは、被コンタクト物体B2の被コンタクト面F21上に存在する。指定位置Uは、オーサリング画面上でユーザにより指定される。コンタクト位置Yは、指定位置Uの2次元座標から上述したピンホールモデルに従って計算部170により計算され得る。さらに、ユーザによりオフセットD(D≠0)が指定されると、計算部170は、コンタクト位置Yから距離Dだけ離れた基準点の位置Pを計算する。コンタクト位置Yと基準点の位置Pとを結ぶ線分は、被コンタクト面F21と垂直である。
【0097】
追加的なパラメータの他の1つは、第2の被コンタクト面のIDである。第2の被コンタクト面のIDは、図14に例示したオーサリング画面SC1の入力画像エリアSA1に映る第2の被コンタクト面をユーザが指定することで特定される。第2の被コンタクト面の指定は、選択された仮想オブジェクトが2つ以上のコンタクト面を有する立体的なオブジェクトである場合に許容される。2つの被コンタクト面が指定されると、仮想オブジェクトのインスタンスは、インスタンスの2つの面がそれぞれ2つの被コンタクト面に接するように配置される。
【0098】
さらに、選択された仮想オブジェクトが3つ以上のコンタクト面を有する場合には、第3の被コンタクト面がユーザにより指定可能であってもよい。3つの被コンタクト面が指定されると、仮想オブジェクトのインスタンスは、インスタンスの3つの面がそれぞれ3つの被コンタクト面に接するように配置される。
【0099】
(5)計算処理の流れ
図16は、本実施形態に係る計算部170による位置・姿勢計算処理の流れの一例を示すフローチャートである。
【0100】
図16を参照すると、まず、計算部170は、オーサリング画面上でユーザにより指定されたパラメータをオーサリング部160から取得する(ステップS102)。ここで取得されるパラメータは、典型的には、被コンタクト面、コンタクト位置及び基準線配置ベクトルの端点を指定する1つ以上の2次元の指定位置である。また、ユーザにより指定されたオフセットの値も取得されてよい。
【0101】
また、計算部170は、画像認識部140から画像認識の結果を取得する(ステップS104)。ここで取得される画像認識の結果には、例えば、入力画像に映る各物体の物体ID、各物体の実空間内での位置及び姿勢、並びに情報処理装置100の位置及び姿勢が含まれる(ステップS104)。
【0102】
次に、計算部170は、オーサリング画面上でユーザにより選択された仮想オブジェクトの仮想オブジェクトデータを取得する(ステップS106)。
【0103】
次に、計算部170は、選択された仮想オブジェクトのインスタンスの配置の計算のために、未知であった変数の値を計算する(ステップS108)。未知の変数とは、上述した被コンタクト面のID、コンタクト位置Y、及び基準線配置ベクトルaを含む。被コンタクト面のIDは、ステップS102において取得された指定位置に対応する物体のIDとして特定され得る。コンタクト位置Yは、被コンタクト面を包含する平面上の、指定位置に対応する3次元位置として計算され得る。基準線配置ベクトルaは、被コンタクト面を包含する平面上の、2つの指定位置にそれぞれ対応する2点の3次元位置から計算され得る。その代わりに、これら変数の値の一部は、既定値として自動的に計算されてもよい。
【0104】
次に、計算部170は、ステップS108において計算した基準線配置ベクトルa及び既知の変数の値を用いて上述した式(2)〜(4)を解くことにより、インスタンスのAR空間内での姿勢変換Rを計算する(ステップS110)。ここでの既知の変数とは、当該インスタンスの基準線の方向を表すローカル座標系でのベクトルa´、被コンタクト面のグローバル座標系での法線ベクトルn及びコンタクト面のローカル座標系での法線ベクトルn´を含む。
【0105】
次に、計算部170は、ステップS108において計算したコンタクト位置Y、ステップS110において計算した姿勢変換R及び既知の変数の値を上述した式(5)に代入することにより、インスタンスのAR空間内での3次元位置を計算する(ステップS112)。ここで計算される3次元位置は、インスタンスのローカル座標系の原点のグローバル座標系での位置Cである。既知の変数とは、仮想オブジェクトデータにより定義されている、インスタンスの基準点のローカル座標系での位置Y´を含む。
【0106】
そして、ユーザによりオフセットが指定されていない場合(オフセットの値がゼロである場合)には、計算部170による計算処理は終了する(ステップS114)。一方、ゼロでないオフセットの値が指定されている場合には、計算部170は、インスタンスの3次元位置Cを、指定されたオフセットの値だけ被コンタクト面の法線方向にオフセットする(ステップS116)。
【0107】
なお、第2の被コンタクト面が指定される場合には、ステップS110以降の処理の代わりに、インスタンスの2つのコンタクト面がそれぞれ2つの被コンタクト面に接するように、インスタンスの姿勢が計算され得る。インスタンスの位置は、例えば、第1のコンタクト面上のコンタクト位置Yとインスタンスの基準点の位置とを結ぶ線分が第2のコンタクト面と垂直となるように計算され得る。また、第3の被コンタクト面がさらに指定される場合には、インスタンスの3次元位置は、指定された第3の被コンタクト面にインスタンスの第3のコンタクト面が接するように計算され得る。
【0108】
<5.インスタンスデータの生成>
オーサリング部160は、仮想オブジェクトのインスタンスのAR空間内の3次元位置及び姿勢が計算されると、計算された3次元位置及び姿勢に従って、オーサリング画面に表示される入力画像に当該インスタンスを重畳する。インスタンスが重畳される画面上での位置は、上述したピンホールモデルの関係式(6)に基づく射影変換により、インスタンスの3次元位置及び姿勢から算出され得る。そして、画面を確認したユーザからデータの保存の指示が与えられると、オーサリング部160は、インスタンスの3次元位置及び姿勢を表すインスタンスデータを記憶媒体に記憶させる。
【0109】
図17は、本実施形態に係るインスタンスデータのデータ例を示す説明図である。図17には、4つのインスタンスIS11、IS12、IS13及びIS14についてのデータを含むインスタンスデータISDが示されている。インスタンスデータISDは、「インスタンスID」、「オブジェクトID」、「座標タイプ」、「関連物体」、「位置」及び「姿勢」という6つのデータ項目を有する。「インスタンスID」は、各インスタンスを一意に識別するための識別子である。「オブジェクトID」は、各インスタンスと関連付けられる仮想オブジェクトのIDであり、各インスタンスがどの仮想オブジェクトのインスタンスであるかを示す。図17の例では、インスタンスIS11、IS12及びIS13は、仮想オブジェクトV1のインスタンスである。インスタンスIS21は、仮想オブジェクトV2のインスタンスである。「座標タイプ」は、「グローバル」又は「ローカル」のいずれかの値を示す。「座標タイプ」が「グローバル」であるインスタンスの位置及び姿勢は、グローバル座標系での値として記憶される。一方、「座標タイプ」が「ローカル」であるインスタンスの位置及び姿勢は、当該インスタンスと関連付けられる物体のローカル座標系での値として記憶される。「関連物体」は、当該インスタンスの「座標タイプ」が「ローカル」である場合に当該インスタンスと関連付けられる物体の物体IDである。関連物体のIDの代わりに、関連物体のグローバル座標系での3次元位置が使用されてもよい。「位置」は、各インスタンスの(グローバル座標系、又は関連物体のローカル座標系での)3次元位置である。「姿勢」は、各インスタンスのAR空間内での姿勢を表す回転行列又はクォータニオンである。
【0110】
「座標タイプ」の値は、データの保存の指示の前に設定され得るモードに応じて決定される。ユーザは、インスタンスをAR空間内に固定的に配置したい場合には、「グローバルモード」を設定し得る。この場合、「座標タイプ」は「グローバル」となり、インスタンスの3次元位置及び姿勢は、グローバル座標系での値として記憶される。「グローバルモード」でインスタンスデータが記憶されると、エンドユーザがARコンテンツを利用する際、ユーザ端末は、入力画像からの物体認識を行うことなく、端末の位置及び姿勢に基づいてインスタンスの画面上での表示位置を決定することができる。
【0111】
一方、「ローカルモード」では、インスタンスデータの「座標タイプ」は「ローカル」となり、インスタンスの3次元位置及び姿勢の値が関連物体のローカル座標系での値に変換され、変換後の値が記憶される。「ローカルモード」においてインスタンスと関連付けられる物体とは、上述した被コンタクト物体であってよい。「ローカルモード」でインスタンスデータが記憶されると、エンドユーザがARコンテンツを利用する際、ユーザ端末は、GPS機能などの測位機能を有しなくても、入力画像からの物体認識に基づいてインスタンスの画面上での表示位置を決定することができる。この場合、インスタンスの表示は、測位機能の誤差の影響を受けず、より正確に画面上の関連物体に合わせられ得る。さらに、動的物体に追随してインスタンスが移動するようなARコンテンツを製作することも可能である。
【0112】
<6.作業シナリオ>
次に、本実施形態において提供されるユーザインタフェースを用いたオーサリング作業の5つの例示的なシナリオを説明する。
【0113】
(1)第1のシナリオ
第1のシナリオでは、ユーザは、仮想オブジェクトを選択した後、当該仮想オブジェクトのインスタンスの基準点の位置に対応する指定位置のみをオーサリング画面上で指定する。
【0114】
図18は、オーサリング作業の第1のシナリオについて説明するためのシーケンス図である。また、図19は、第1のシナリオにおいてオーサリング画面上で表示される画像の一例を示す説明図である。
【0115】
図18を参照すると、まず、情報処理装置100のユーザインタフェース部150は、図14に例示したようなオーサリング画面を表示部112を用いてユーザへ表示する(ステップS122)。
【0116】
次に、ユーザは、オーサリング画面の仮想オブジェクト一覧エリアにおいて、AR空間内に配置したい仮想オブジェクトを選択する(ステップS124)。なお、当該仮想オブジェクトが複数のコンタクト面を有する場合には、ユーザは、さらに複数のコンタクト面から1つのコンタクト面を選択し得る。図19の例では、仮想オブジェクトV1が選択されている。
【0117】
次に、ユーザは、オーサリング画面の入力画像エリアにおいて、選択した仮想オブジェクトを配置したい位置をクリック又はタップなどの操作により指定する(ステップS134)。仮想オブジェクト一覧エリアからのドラッグアンドドロップによって、仮想オブジェクトの選択と指定位置の入力とが1ストロークの操作で行われてもよい。図19の左には、ユーザにより指定された指定位置P1が示されている。
【0118】
次に、計算部170は、図16を用いて説明した位置・姿勢計算処理を実行する(ステップS150)。位置・姿勢計算処理において、被コンタクト面のIDは、指定位置P1に対応する物体のIDとして特定され得る(図19の例では面F21)。コンタクト位置は、指定位置P1に対応する被コンタクト面F21の上の3次元位置として特定される。基準線配置ベクトルは、既定値として自動的に特定され得る。
【0119】
そして、計算部170によりインスタンスの3次元位置及び姿勢が計算されると、ユーザインタフェース部150は、算出された当該3次元位置及び姿勢に応じて、オーサリング画面の入力画像エリアに仮想オブジェクトのインスタンスを重畳する(ステップS152)。図19の右には、仮想オブジェクトV1のインスタンスが被コンタクト面F21に重畳された様子が示されている。
【0120】
その後、オーサリング部160は、ユーザからデータの保存の指示を受け付けると(ステップS154)、図17に例示したようなインスタンスデータを生成し、生成したインスタンスデータを記憶媒体に記憶させる(ステップS156)。ユーザは、データの保存を指示する前に、ステップS124又はステップS134に戻って仮想オブジェクトの選択又は指定位置の入力を再度行ってもよい。
【0121】
上述した第1のシナリオは、仮想オブジェクトの配置のためにユーザは画面上の1点のみを指定すればよいという、最も簡単なシナリオである。第1のシナリオでは、被コンタクト面及びコンタクト位置は同時に指定される。このようなシナリオは、ユーザにとって作業が極めて直感的かつ容易であるという点で有益である。
【0122】
(2)第2のシナリオ
第2のシナリオでは、ユーザは、被コンタクト面とコンタクト位置とを別々に指定する。また、生成されるインスタンスデータの「座標タイプ」は「ローカル」である。
【0123】
図20は、オーサリング作業の第2のシナリオについて説明するためのシーケンス図である。また、図21は、第2のシナリオにおいてオーサリング画面上で表示される画像の一例を示す説明図である。
【0124】
図20を参照すると、まず、情報処理装置100のユーザインタフェース部150は、図14に例示したようなオーサリング画面を表示部112を用いてユーザへ表示する(ステップS122)。
【0125】
次に、ユーザは、オーサリング画面の仮想オブジェクト一覧エリアにおいて、AR空間内に配置したい仮想オブジェクトを選択する(ステップS124)。図21の例では、仮想オブジェクトV1が選択されている。
【0126】
次に、ユーザは、オーサリング画面の入力画像エリアにおいて、被コンタクト面をクリック又はタップなどの操作により指定する(ステップS130)。仮想オブジェクト一覧エリアからのドラッグアンドドロップによって、仮想オブジェクトの選択と被コンタクト面の指定とが1ストロークの操作で行われてもよい。図21の例では、ユーザにより指定された物体B8の面F83が網掛けされている。
【0127】
次に、ユーザは、入力画像エリアにおいて、選択した仮想オブジェクトを配置したい位置をさらに指定する(ステップS134)。ここで指定される位置は、画面上で被コンタクト面の内側の位置であっても外側の位置であってもよい。図21の左には、ユーザにより指定された、被コンタクト面F83の外側の指定位置P2が示されている。
【0128】
次に、計算部170は、図16を用いて説明した位置・姿勢計算処理を実行する(ステップS150)。位置・姿勢計算処理において、コンタクト位置は、AR空間内の被コンタクト面F83を包含する平面上の指定位置P2に対応する3次元位置として特定される。基準線配置ベクトルは、既定値として自動的に特定され得る。
【0129】
そして、計算部170によりインスタンスの3次元位置及び姿勢が計算されると、ユーザインタフェース部150は、算出された当該3次元位置及び姿勢に応じて、オーサリング画面の入力画像エリアに仮想オブジェクトのインスタンスを重畳する(ステップS152)。図21の右には、仮想オブジェクトV1のインスタンスが入力画像に重畳された様子が示されている。
【0130】
その後、オーサリング部160は、ユーザからデータの保存の指示を受け付けると(ステップS154)、図17に例示したようなインスタンスデータを生成し、生成したインスタンスデータを記憶媒体に記憶させる(ステップS156)。本シナリオでは、仮想オブジェクトV1のインスタンスのインスタンスデータは、物体B8と関連付けられ、物体B8のローカル座標系での3次元位置及び姿勢を有する(例えば、図17のインスタンスデータISDのインスタンスID=“IS13”の行を参照)。それにより、仮想オブジェクトV1のインスタンスの位置は、移動する物体B8に追随してAR空間内で変化するようになる。
【0131】
上述した第2のシナリオでは、被コンタクト面及びコンタクト位置が、それぞれ別の操作ステップで指定される。それにより、被コンタクト面のポリゴンの外側の位置をコンタクト位置として指定することが可能となる。また、第2のシナリオでは、仮想オブジェクトのインスタンスの位置及び姿勢が関連物体のローカル座標系で表現されるため、移動する関連物体に追随してインスタンスの位置が変化するようなARコンテンツを容易に作製することができる。
【0132】
(3)第3のシナリオ
第3のシナリオでは、ユーザは、被コンタクト面及びコンタクト位置を同時に指定し、さらに基準線指定ベクトルをオーサリング画面上で指定する。
【0133】
図22は、オーサリング作業の第3のシナリオについて説明するためのシーケンス図である。また、図23は、第3のシナリオにおいてオーサリング画面上で表示される画像の一例を示す説明図である。
【0134】
第3のシナリオのステップS122〜S134は、第1のシナリオと同様であってよい。図23を参照すると、本シナリオでは、仮想オブジェクトV2がユーザにより選択されている。また、物体B1の面F11上の指定位置P3がユーザにより指定されている。
【0135】
計算部170は、指定位置P3に対応する面F11を被コンタクト面として特定する。また、計算部170は、被コンタクト面F11を包含する平面上の指定位置P3に対応する3次元位置をコンタクト位置として特定する(ステップS136)。
【0136】
さらに、本シナリオにおいて、ユーザは、基準線の方向をドラッグ又はマルチタッチなどの操作により指定する(ステップS138)。図23の例では、基準線の方向としてベクトルv1が指定されている。
【0137】
次に、計算部170は、図16を用いて説明した位置・姿勢計算処理を実行する(ステップS150)。位置・姿勢計算処理において、基準線配置ベクトルは、ステップS138において指定されたベクトルv1に対応する、AR空間内の被コンタクト面を包含する平面上の単位ベクトルとして計算され得る。
【0138】
その後のステップS152〜S156もまた、第1のシナリオと同様であってよい。図23の例では、被コンタクト面F11上の指定位置P3に対応するコンタクト位置に基準点が一致するように、仮想オブジェクトV2のインスタンスが重畳されている。当該インスタンスの姿勢は、基準線がAR空間内で基準線指定ベクトルに一致するよう回転されている。
【0139】
上述した第3のシナリオでは、ユーザは、基準線指定ベクトルを指定するための操作を行うことで、仮想オブジェクトの姿勢をも自由に変更することができる。基準線指定ベクトルを指定するための操作は、画面上でのドラッグ又はマルチタッチなどの簡易な操作で実現可能である。また、ドラッグの開始で被コンタクト面及びコンタクト位置が指定されるようにすれば、1ストロークのドラッグ操作により、被コンタクト面、コンタクト位置及び基準線指定ベクトルの全てを指定することも可能である。
【0140】
なお、本シナリオでは、一例として、任意の画像を表示するためのフィールドを有するコンテナに相当する仮想オブジェクトが使用されている。コンテナは、他のシナリオにおいても使用されてよい。このようなコンテナのインスタンスをAR空間内に配置することで、ARコンテンツをオーサリングした後でもコンテナに設定する画像を入れ替えるだけでARコンテンツを容易に変更することが可能となる。
【0141】
(4)第4のシナリオ
第4のシナリオでは、ユーザは、第3のシナリオのように基準線指定ベクトルを指定した後、さらにオフセットをオーサリング画面上で指定する。
【0142】
図24は、オーサリング作業の第4のシナリオについて説明するためのシーケンス図である。また、図25は、第4のシナリオにおいてオーサリング画面上で表示される画像の一例を示す説明図である。
【0143】
第4のシナリオのステップS122〜S138は、第3のシナリオと同様であってよい。図25を参照すると、本シナリオでは、仮想オブジェクトV2がユーザにより選択されている。また、物体B1の面F11上の指定位置P3がユーザにより指定されている。さらに、基準線の方向を表すベクトルv1が指定されている。
【0144】
計算部170は、ベクトルv1の始点及び終点に対応するAR空間内の被コンタクト面F11上の2点から、基準線指定ベクトルを特定する(ステップS140)。
【0145】
さらに、本シナリオにおいて、ユーザは、インスタンスの基準点の位置のコンタクト位置からのオフセットを指定する(ステップS142)。オフセットの値は、例えば新たな点のクリック、又はオフセットに相当する距離のドラッグなどの操作により指定されてよい。図25の例において、指定されたオフセットの値はD1である。
【0146】
次に、計算部170は、図16を用いて説明した位置・姿勢計算処理を実行する(ステップS150)。位置・姿勢計算処理において、インスタンスの基準点は、コンタクト位置から被コンタクト面の法線方向にオフセットされる。
【0147】
その後のステップS152〜S156もまた、第3のシナリオと同様であってよい。図25の例では、被コンタクト面F11上の指定位置P3に対応するコンタクト位置から距離D1だけ、仮想オブジェクトV2のインスタンスの基準点がオフセットされている。
【0148】
上述した第4のシナリオでは、ユーザは、追加的にオフセットを指定することで、被コンタクト面を包含する平面から離れた位置にも仮想オブジェクトのインスタンスを容易に配置することができる。
【0149】
(5)第5のシナリオ
第5のシナリオでは、ユーザは、2つの被コンタクト面を指定する。
【0150】
図26は、オーサリング作業の第5のシナリオについて説明するためのシーケンス図である。また、図27は、第5のシナリオにおいてオーサリング画面上で表示される画像の一例を示す説明図である。
【0151】
図26を参照すると、まず、情報処理装置100のユーザインタフェース部150は、図14に例示したようなオーサリング画面を表示部112を用いてユーザへ表示する(ステップS122)。
【0152】
次に、ユーザは、オーサリング画面の仮想オブジェクト一覧エリアにおいて、AR空間内に配置したい仮想オブジェクトを選択する(ステップS124)。図27の例では、仮想オブジェクトV3が選択されている。本シナリオでは、ユーザは、さらに選択した仮想オブジェクトの2つのコンタクト面を選択する。
【0153】
次に、ユーザは、オーサリング画面の入力画像エリアにおいて、第1の被コンタクト面を指定する(ステップS144)。また、ユーザは、入力画像エリアにおいて、第2の被コンタクト面を指定する(ステップS146)。図27の例では、指定位置P4が指定された結果、第1の被コンタクト面として物体B1の面F13が指定されている。また、指定位置P5が指定された結果、第2の被コンタクト面として物体B2の面F21が指定されている。
【0154】
次に、計算部170は、上述した位置・姿勢計算処理を実行する(ステップS150)。位置・姿勢計算処理において、仮想オブジェクトのインスタンスの3次元位置及び姿勢は、当該インスタンスの2つのコンタクト面がそれぞれ2つの被コンタクト面に接するように計算される。
【0155】
その後のステップS152〜S156は、他のシナリオと同様であってよい。図27の例では、2つの被コンタクト面F13及びF21に仮想オブジェクトV3のインスタンスのコンタクト面が接するように、仮想オブジェクトV3の当該インスタンスが重畳されている。
【0156】
上述した第5のシナリオでは、ユーザは、入力画像内の2点を指定するという簡易な操作で、仮想オブジェクトをAR空間内に配置することができる。これら操作もまた、クリック又はタップなどの簡易な操作により実現可能である。
【0157】
(6)変形例
なお、仮想オブジェクトのインスタンスのサイズもまた、上述したオーサリング画面上で変更可能であってよい。仮想オブジェクトのインスタンスのサイズは、例えば、オーサリング画面上でのユーザのドラッグなどの操作により変更され得る。その代わりに、例えば、計算部170は、被コンタクト面のサイズに合わせて、仮想オブジェクトのインスタンスのサイズを拡大又は縮小してもよい。図28の例では、物体B2の被コンタクト面F21のコンタクト位置P1に配置された仮想オブジェクトV1のインスタンスのサイズが、被コンタクト面F21のサイズに合わせて自動的に拡大されている。オーサリング部160は、このように変更されるインスタンスのサイズの倍率(又はサイズそのもの)を、インスタンスデータに含めてもよい。
【0158】
<7.まとめ>
ここまで、図1〜図28を用いて、本発明の一実施形態について詳細に説明した。本実施形態によれば、実空間を映す入力画像が表示されるオーサリング画面がユーザに提供される。そして、ユーザは、当該オーサリング画面上で、仮想オブジェクトを配置したい位置を指定する。情報処理装置100は、仮想オブジェクトのAR空間内での3次元位置をユーザに指定された上記指定位置から計算し、計算された3次元位置を上記仮想オブジェクトと関連付けて記憶媒体に記憶させる。従って、ユーザは、上記オーサリング画面に表示される入力画像を見ながら、簡易な操作で仮想オブジェクトをAR空間内の所望の位置に配置することができる。それにより、専門知識を有しない一般のユーザでも容易にARコンテンツをオーサリングすることが可能となる。また、ユーザ自身が複雑な座標変換などの計算を行わなくてよく、画面の表示を確認しながら仮想オブジェクトを配置できるため、仮想オブジェクトの配置のミスも防止される。
【0159】
また、本実施形態によれば、仮想オブジェクトは、入力画像に映る物体の面であってユーザにより指定される面を包含する平面上の、上記指定位置に対応する3次元位置に配置される。従って、ユーザは、仮想オブジェクトを配置したい物体の面と上記指定位置とを指定するのみで、仮想オブジェクトをAR空間内に適切に配置することができる。また、物体の面の指定と上記指定位置の指定とを1つの操作に集約させて、ユーザによる作業をさらに容易化することもできる。
【0160】
また、本実施形態によれば、上記オーサリング画面上で仮想オブジェクトのAR空間内での姿勢を決定するためのベクトルが指定されると、当該ベクトルを用いて、仮想オブジェクトのAR空間内での姿勢がさらに計算される。ベクトルの指定は、画面上でのドラッグ又はマルチタッチなどの簡易な操作により行われ得る。従って、仮想オブジェクトのAR空間内での3次元位置のみならず姿勢までも、専門知識を有しない一般のユーザが容易に編集することができる。
【0161】
また、本実施形態によれば、上記オーサリング画面上で指定されるオフセットの値に応じて、仮想オブジェクトのAR空間内での3次元位置がオフセットされ得る。従って、ユーザは、指定した物体の被コンタクト面に制限されることなく、AR空間内の様々な位置に仮想オブジェクトを配置することができる。
【0162】
また、本実施形態によれば、仮想オブジェクトの3次元位置を、AR空間内の絶対的な位置として記憶することも、当該仮想オブジェクトと関連付けられる実空間内の物体からの相対的な位置として記憶することも可能である。仮想オブジェクトの3次元位置を実空間内の物体からの相対的な位置として記憶する場合には、例えば、動的物体に追随して仮想オブジェクトが移動するようなARコンテンツを作製することも可能となる。
【0163】
また、本実施形態によれば、実空間内の1つ以上の物体の各々の外観の特徴を表すモデルデータと入力画像とを照合することにより、入力画像に映る各物体の実空間内での位置及び姿勢が認識される。従って、このような画像認識の結果を利用して、指定された面を包含する平面上の指定位置に対応する位置を計算することができる。
【0164】
なお、本明細書において説明した情報処理装置100による一連の制御処理は、ソフトウェア、ハードウェア、及びソフトウェアとハードウェアとの組合せのいずれを用いて実現されてもよい。ソフトウェアを構成するプログラムは、例えば、各装置の内部又は外部に設けられる記憶媒体に予め格納される。そして、各プログラムは、例えば、実行時にRAM(Random Access Memory)に読み込まれ、CPU(Central Processing Unit)などのプロセッサにより実行される。
【0165】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【0166】
1 実空間
100 情報処理装置
102 撮像装置(撮像部)
112 表示装置(表示部)
120 画像取得部
130 データ取得部
140 画像認識部
150 ユーザインタフェース部
160 オーサリング部
170 計算部


【特許請求の範囲】
【請求項1】
撮像装置を用いて撮像された実空間を映す入力画像を取得する画像取得部と、
前記入力画像を表示装置の画面上に表示させ、前記画面上でユーザにより指定される指定位置を検出するユーザインタフェース部と、
仮想オブジェクトの拡張現実空間内での3次元位置を、前記ユーザインタフェース部により検出される前記指定位置から計算する計算部と、
前記計算部により計算される前記仮想オブジェクトの前記3次元位置を前記仮想オブジェクトと関連付けて記憶媒体に記憶させるオーサリング部と、
を備える情報処理装置。
【請求項2】
前記ユーザインタフェース部は、前記入力画像に映る物体のいずれかの面を第1の面として前記ユーザに指定させ、
前記計算部により計算される前記3次元位置は、前記拡張現実空間内の前記第1の面を包含する平面上の、前記指定位置に対応する位置である、
請求項1に記載の情報処理装置。
【請求項3】
前記ユーザインタフェース部は、前記画面上で前記ユーザにベクトルをさらに指定させ、
前記計算部は、指定される前記ベクトルを用いて、前記仮想オブジェクトの前記拡張現実空間内での姿勢をさらに計算し、
前記オーサリング部は、前記計算部により計算される前記仮想オブジェクトの前記姿勢を前記記憶媒体にさらに記憶させる、
請求項2に記載の情報処理装置。
【請求項4】
前記計算部は、前記仮想オブジェクトが表示される際に前記仮想オブジェクトの少なくとも1つの面の法線が前記第1の面の法線と平行となるように、前記仮想オブジェクトの前記拡張現実空間内での姿勢を計算する、請求項3に記載の情報処理装置。
【請求項5】
前記ユーザインタフェース部は、前記仮想オブジェクトの前記少なくとも1つの面と前記第1の面を包含する前記平面との間の距離を前記ユーザにさらに指定させ、
前記計算部は、前記距離がゼロでない場合には、前記仮想オブジェクトの前記3次元位置を前記距離に応じてオフセットする、
請求項4に記載の情報処理装置。
【請求項6】
前記ユーザインタフェース部は、前記画面上で前記ユーザにより指定される2つの指定位置を検出し、
前記計算部は、前記2つの指定位置にそれぞれ対応する前記入力画像に映る物体の面が前記仮想オブジェクトの2つの面に接するように、前記仮想オブジェクトの前記拡張現実空間内での前記3次元位置及び姿勢を計算し、
前記オーサリング部は、前記計算部により計算される前記仮想オブジェクトの前記3次元位置及び前記姿勢を前記記憶媒体に記憶させる、
請求項2に記載の情報処理装置。
【請求項7】
前記ユーザインタフェース部は、前記仮想オブジェクトと関連付けられる前記実空間内の物体を前記ユーザに指定させ、
前記3次元位置は、前記ユーザにより指定される前記物体からの相対位置として記憶される、
請求項1に記載の情報処理装置。
【請求項8】
前記情報処理装置は、
前記実空間内の1つ以上の物体の各々の外観の特徴を表すモデルデータを取得するデータ取得部と、
前記モデルデータと前記入力画像とを照合することにより、前記入力画像に映る各物体の前記実空間内での位置及び姿勢を認識する認識部と、
をさらに備える、
請求項2に記載の情報処理装置。
【請求項9】
前記計算部は、前記第1の面の前記実空間内でのサイズに応じて、前記仮想オブジェクトが表示される際の前記仮想オブジェクトの前記拡張現実空間内でのサイズをさらに計算する、請求項2に記載の情報処理装置。
【請求項10】
撮像装置を用いて撮像された実空間を映す入力画像を取得するステップと、
前記入力画像を表示装置の画面上に表示するステップと、
前記画面上でユーザにより指定される指定位置を検出するステップと、
仮想オブジェクトの拡張現実空間内での3次元位置を、検出された前記指定位置から計算するステップと、
計算された前記仮想オブジェクトの前記3次元位置を前記仮想オブジェクトと関連付けて記憶媒体に記憶させるステップと、
を含むオーサリング方法。
【請求項11】
表示装置と接続される情報処理装置を制御するコンピュータを、
撮像装置を用いて撮像された実空間を映す入力画像を取得する画像取得部と、
前記入力画像を前記表示装置の画面上に表示させ、前記画面上でユーザにより指定される指定位置を検出するユーザインタフェース部と、
仮想オブジェクトの拡張現実空間内での3次元位置を、前記ユーザインタフェース部により検出される前記指定位置から計算する計算部と、
前記計算部により計算される前記仮想オブジェクトの前記3次元位置を前記仮想オブジェクトと関連付けて記憶媒体に記憶させるオーサリング部と、
として機能させるためのプログラム。


【図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

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate


【公開番号】特開2012−168798(P2012−168798A)
【公開日】平成24年9月6日(2012.9.6)
【国際特許分類】
【出願番号】特願2011−30006(P2011−30006)
【出願日】平成23年2月15日(2011.2.15)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】