(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-19
(45)【発行日】2022-12-27
(54)【発明の名称】画像処理装置および方法、並びにプログラム
(51)【国際特許分類】
G06F 3/0484 20220101AFI20221220BHJP
G06F 3/01 20060101ALI20221220BHJP
【FI】
G06F3/0484
G06F3/01 510
(21)【出願番号】P 2019507536
(86)(22)【出願日】2018-03-09
(86)【国際出願番号】 JP2018009147
(87)【国際公開番号】W WO2018173791
(87)【国際公開日】2018-09-27
【審査請求日】2021-01-19
(31)【優先権主張番号】P 2017055996
(32)【優先日】2017-03-22
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100121131
【氏名又は名称】西川 孝
(74)【代理人】
【識別番号】100082131
【氏名又は名称】稲本 義雄
(74)【代理人】
【識別番号】100168686
【氏名又は名称】三浦 勇介
(72)【発明者】
【氏名】井原 敏
(72)【発明者】
【氏名】田中 健司
(72)【発明者】
【氏名】ポウルトニー コディ
【審査官】円子 英紀
(56)【参考文献】
【文献】国際公開第2017/037962(WO,A1)
【文献】特許第6093473(JP,B1)
【文献】特開2014-072570(JP,A)
【文献】特開2016-167219(JP,A)
【文献】特開2014-093703(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/048-3/04895
(57)【特許請求の範囲】
【請求項1】
操作部による操作入力を検出する操作検出部と、
撮影部で得られた撮影画像の特定の領域を切り出すことで、被写体としてユーザの手元にある前記操作部
が含まれている画像を生成する画像処理部と、
没入提示デバイスに対して、前記操作部の画像が重畳された
編集対象の全天球画像の一部または全部を提示画像として出力して表示させるとともに、前記操作入力が検出された場合、前記操作入力が反映されるように前記提示画像の表示を制御する表示制御部と
を備え、
前記操作検出部は、前記操作部のポインタが前記全天球画像内で指し示す位置の座標を検出し、
前記表示制御部は、前記没入提示デバイスの位置および姿勢により定まる前記全天球画像上の位置に前記操作部の画像を表示させる
画像処理装置。
【請求項2】
前記操作検出部は、前記検出した交点の座標に、前記全天球画像にオーバーレイされている画像が検出された場合、その画像をドラッグする
請求項1に記載の画像処理装置。
【請求項3】
前記表示制御部は、前記ドラッグされた画像が、ドロップされた位置に、前記画像が表示されるように前記提示画像の表示を制御し、
前記操作検出部は、前記ドロップされた前記全天球画像内の位置の座標を検出する
請求項2に記載の画像処理装置。
【請求項4】
前記操作検出部は、オーバーレイされている画像の拡大、または縮小の操作を検出する
請求項1に記載の画像処理装置。
【請求項5】
前記操作検出部は、2つの前記操作部が左右方向に広がったことを検出したとき、前記画像の拡大が指示されたと検出し、2つの前記操作部が左右方向に狭まったことを検出したとき、前記画像の縮小が指示されたと検出する
請求項4に記載の画像処理装置。
【請求項6】
前記操作部は、タッチパッドを備え、前記タッチパッドは、複数の領域に分割され、各領域に所定の操作が割り当てられている
請求項1に記載の画像処理装置。
【請求項7】
前記操作部が操作され、メニューが表示されるとき、前記メニューは、横方向に展開され、前記メニュー内の項目は、縦方向に配列されている
請求項1に記載の画像処理装置。
【請求項8】
操作部による操作入力を検出し、
撮影部で得られた撮影画像の特定の領域を切り出すことで、被写体としてユーザの手元にある前記操作部
が含まれている画像を生成し、
没入提示デバイスに対して、前記操作部の画像が重畳された
編集対象の全天球画像の一部または全部を提示画像として出力して表示させるとともに、前記操作入力が検出された場合、前記操作入力が反映されるように前記提示画像の表示を制御する
ステップを含み、
前記操作入力の検出は、前記操作部のポインタが前記全天球画像内で指し示す位置の座標を検出するステップを含み、
前記表示の制御は、前記没入提示デバイスの位置および姿勢により定まる前記全天球画像上の位置に前記操作部の画像を表示させるステップを含む
画像処理方法。
【請求項9】
操作部による操作入力を検出し、
撮影部で得られた撮影画像の特定の領域を切り出すことで、被写体としてユーザの手元にある前記操作部
が含まれている画像を生成し、
没入提示デバイスに対して、前記操作部の画像が重畳された
編集対象の全天球画像の一部または全部を提示画像として出力して表示させるとともに、前記操作入力が検出された場合、前記操作入力が反映されるように前記提示画像の表示を制御する
ステップを含み、
前記操作入力の検出は、前記操作部のポインタが前記全天球画像内で指し示す位置の座標を検出するステップを含み、
前記表示の制御は、前記没入提示デバイスの位置および姿勢により定まる前記全天球画像上の位置に前記操作部の画像を表示させるステップを含む
処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、画像処理装置および方法、並びにプログラムに関し、特に、より簡単に編集を行うことができるようにした画像処理装置および方法、並びにプログラムに関する。
【背景技術】
【0002】
従来、360度の全方位の画像である全方位画像が知られている(例えば、特許文献1参照)。そのような全方位画像のなかには360度の各方向、すなわち水平方向と垂直方向の全方位の画像である全天球画像がある。ユーザはVR(Virtual Reality)技術を利用したヘッドマウントディスプレイ等を用いることで全天球画像のコンテンツを視聴することが可能である。
【0003】
また、全天球画像は、複数のカメラで撮影することで得られた複数の広角画像をステッチ処理により繋ぎ合わせることで生成される。そして、ステッチ処理により得られた全天球画像に対して編集が行われ、最終的な全天球画像のコンテンツが生成される。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、全天球画像の編集を行うことは容易ではなかった。
【0006】
すなわち、編集者は、正距円筒図法により得られる正距円筒(Equirectangular)形式の2次元の全天球画像をディスプレイに表示させて編集作業を行う。その後、編集者は編集により得られた全天球画像を実際にヘッドマウントディスプレイで表示させて編集内容等を確認する。
【0007】
このとき、編集内容の修正や更なる編集が必要である場合には、編集者はヘッドマウントディスプレイを自身の頭部から外して、さらにディスプレイに正距円筒形式の2次元の全天球画像を表示させ、編集作業を行うことになる。
【0008】
このように全天球画像の編集時には、編集者は、編集後の全天球画像を確認するたびにヘッドマウントディスプレイを着脱しなければならず面倒であった。
【0009】
本技術は、このような状況に鑑みてなされたものであり、より簡単に編集を行うことができるようにするものである。
【課題を解決するための手段】
【0010】
本技術の一側面の画像処理装置は、操作部による操作入力を検出する操作検出部と、撮影部で得られた撮影画像の特定の領域を切り出すことで、被写体としてユーザの手元にある前記操作部が含まれている画像を生成する画像処理部と、没入提示デバイスに対して、前記操作部の画像が重畳された編集対象の全天球画像の一部または全部を提示画像として出力して表示させるとともに、前記操作入力が検出された場合、前記操作入力が反映されるように前記提示画像の表示を制御する表示制御部とを備え、前記操作検出部は、前記操作部のポインタが前記全天球画像内で指し示す位置の座標を検出し、前記表示制御部は、前記没入提示デバイスの位置および姿勢により定まる前記全天球画像上の位置に前記操作部の画像を表示させる。
【0011】
本技術の一側面の画像処理方法は、操作部による操作入力を検出し、撮影部で得られた撮影画像の特定の領域を切り出すことで、被写体としてユーザの手元にある前記操作部が含まれている画像を生成し、没入提示デバイスに対して、前記操作部の画像が重畳された編集対象の全天球画像の一部または全部を提示画像として出力して表示させるとともに、前記操作入力が検出された場合、前記操作入力が反映されるように前記提示画像の表示を制御するステップを含み、前記操作入力の検出は、前記操作部のポインタが前記全天球画像内で指し示す位置の座標を検出するステップを含み、前記表示の制御は、前記没入提示デバイスの位置および姿勢により定まる前記全天球画像上の位置に前記操作部の画像を表示させるステップを含む。
【0012】
本技術の一側面のプログラムは、操作部による操作入力を検出し、撮影部で得られた撮影画像の特定の領域を切り出すことで、被写体としてユーザの手元にある前記操作部が含まれている画像を生成し、没入提示デバイスに対して、前記操作部の画像が重畳された編集対象の全天球画像の一部または全部を提示画像として出力して表示させるとともに、前記操作入力が検出された場合、前記操作入力が反映されるように前記提示画像の表示を制御するステップを含み、前記操作入力の検出は、前記操作部のポインタが前記全天球画像内で指し示す位置の座標を検出するステップを含み、前記表示の制御は、前記没入提示デバイスの位置および姿勢により定まる前記全天球画像上の位置に前記操作部の画像を表示させるステップを含む処理をコンピュータに実行させる。
【0013】
本技術の一側面の画像処理装置、画像処理方法、並びにプログラムにおいては、操作部による操作入力が検出され、撮影部で得られた撮影画像の特定の領域を切り出すことで、被写体としてユーザの手元にある操作部が含まれている画像が生成され、没入提示デバイスに対して、操作部の画像が重畳された編集対象の全天球画像の一部または全部を提示画像として出力して表示させるとともに、操作入力が検出された場合、操作入力が反映されるように提示画像の表示が制御される。操作入力の検出は、操作部のポインタが全天球画像内で指し示す位置の座標が検出され、表示の制御は、没入提示デバイスの位置および姿勢により定まる全天球画像上の位置に操作部の画像が表示される。
【0014】
なお、画像処理装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
【0015】
また、プログラムは、伝送媒体を介して伝送することにより、または、記録媒体に記録して、提供することができる。
【発明の効果】
【0016】
本技術の一側面によれば、より簡単に編集を行うことができる。
【0017】
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載された何れかの効果であってもよい。
【図面の簡単な説明】
【0018】
【
図2】没入操作部モデル画像について説明する図である。
【
図3】シースルーウィンドウについて説明する図である。
【
図6】コンテンツ編集処理を説明するフローチャートである。
【
図9】コントローラの構成について説明するための図である。
【
図10】コントローラ上の領域について説明するための図である。
【
図11】案内表示について説明するための図である。
【
図12】メニューの表示について説明するための図である。
【
図13】シースルーウィンドウの表示例を示す図である。
【
図14】リアルタイムアップデートに関する処理について説明するためのフローチャートである。
【
図15】移動に関する処理について説明するためのフローチャートである。
【発明を実施するための形態】
【0019】
以下、図面を参照して、本技術を適用した実施の形態について説明する。
【0020】
〈第1の実施の形態〉
〈編集システムの構成例〉
本技術は、VRコンテンツ、特に全天球画像の編集やオーサリングに関し、ステッチ処理により得られた全天球画像を編集して、いわゆる完全パッケージと呼ばれる完成したコンテンツを生成する技術に関する。なお、全天球画像は、静止画像でも動画像でもよいが、以下では全天球画像が動画像であるものとして説明を続ける。
【0021】
図1は、本技術を適用した編集システムの一実施の形態の構成例を示す図である。
【0022】
図1に示す編集システムは、没入提示デバイス11、ディスプレイ12、入力デバイス13、没入操作部14、および画像処理装置15を有している。
【0023】
この編集システムでは、ユーザは没入提示デバイス11を頭部に装着し、没入提示デバイス11により提示(表示)された全天球画像をリアルタイムで確認しながら入力デバイス13や没入操作部14を操作して全天球画像の編集を行う。
【0024】
このとき、例えば編集者となるユーザは没入提示デバイス11を頭部に装着して全天球画像をプレビューしたり編集したりするが、編集者ではない他のユーザも全天球画像の編集の様子を確認することができるようにディスプレイ12が配置されている。すなわち、ディスプレイ12には、適宜、全天球画像の編集に関する画面が表示されるようになされており、編集者以外のユーザはディスプレイ12の表示を見ることで、編集の様子を確認することができる。
【0025】
没入提示デバイス11は、例えばヘッドマウントディスプレイ等からなり、画像処理装置15から供給された全天球画像を表示する。
【0026】
なお、以下では没入提示デバイス11がユーザの頭部に装着可能なヘッドマウントディスプレイである場合を例として説明するが、没入提示デバイス11は全天球画像を再生可能なものであれば、どのようなものであってもよい。
【0027】
例えば没入提示デバイス11として、複数の平面形状の表示部から構成されるCAVE型ディスプレイや、ドーム形状などの曲面形状の表示部から構成されるディスプレイなど、ユーザを取り囲む没入ディスプレイを採用することも可能である。その他、没入提示デバイス11の表示部は半透明な透過型の表示部であってもよいし、非透過型の表示部であってもよい。
【0028】
没入提示デバイス11は撮影部21を有しており、撮影部21は没入提示デバイス11の前方の画像を撮影する。撮影部21による撮影によって得られる撮影画像は、没入提示デバイス11を装着しているユーザの前方、特に入力デバイス13があるユーザの手元の部分を被写体として含む画像となっている。
【0029】
没入提示デバイス11は、撮影部21で得られた撮影画像と、没入提示デバイス11の3次元空間上、すなわち実空間上の位置および姿勢を示す位置姿勢情報とを画像処理装置15に供給する。
【0030】
ディスプレイ12は、例えば液晶表示デバイスなどからなり、適宜、画像処理装置15から供給された画像を表示する。
【0031】
入力デバイス13は、例えばキーボードやマウス、ペンタブレット等からなり、編集者となるユーザの操作に応じた信号を画像処理装置15に供給する。
【0032】
没入操作部14は、例えば全天球画像の再生や編集のための専用のコントローラ、ゲーム機器のコントローラ、ペンタブレットのペン等のペン型の入力デバイスなどからなる。例えば没入操作部14としての専用のコントローラには、ボタンやタッチパッドなどが設けられている。また、ユーザ自身の手を没入操作部14として用いることも可能である。
【0033】
没入操作部14は、編集者となるユーザによる操作を受けて、その操作に応じた信号を画像処理装置15に供給する。
【0034】
画像処理装置15は、編集システム全体を制御する。画像処理装置15は、位置姿勢検出部31、操作検出部32、保持部33、編集反映処理部34、レンダラ部35、および通信部36を有している。
【0035】
これらの位置姿勢検出部31乃至通信部36の少なくとも一部は、全天球画像を編集したりプレビューしたりして、編集により得られた全天球画像を所望の形式で出力可能な編集ソフトウェアにより実現される。
【0036】
位置姿勢検出部31は、没入操作部14の3次元空間上、すなわち実空間上の位置および姿勢を検出し、その検出結果を示す位置姿勢情報を操作検出部32、編集反映処理部34、およびレンダラ部35に供給する。
【0037】
例えば没入操作部14が専用のコントローラである場合、没入操作部14には複数のセンサが内蔵されており、図示せぬ検出ユニットが没入操作部14の各センサからの出力を受信して没入操作部14の位置および姿勢を検出する。このような場合には、位置姿勢検出部31は、検出ユニットから没入操作部14の位置および姿勢を示す情報を取得することで、没入操作部14の位置および姿勢を検出する。
【0038】
その他、例えば位置姿勢検出部31が有する複数のカメラ等を利用して、没入操作部14としてのユーザの手やペン型の入力デバイスの位置および姿勢を検出してもよい。さらに、例えば位置姿勢検出部31がユーザの手に取り付けられたセンサの出力等に基づいて没入操作部14としてのユーザの手の位置および姿勢を検出するようにしてもよい。
【0039】
操作検出部32は、入力デバイス13や没入操作部14から供給された信号と、位置姿勢検出部31から供給された位置姿勢情報とに基づいてユーザの操作入力を検出する。操作検出部32は、ユーザによる操作入力の検出結果を示す操作検出情報を編集反映処理部34に供給する。
【0040】
保持部33は、編集対象となる全天球画像を保持しており、保持している全天球画像を編集反映処理部34に供給したり、編集反映処理部34から供給された全天球画像を保持したりする。
【0041】
ここで、保持部33に保持されている全天球画像は、例えば正距円筒(Equirectangular)形式の2次元の全天球画像を球の内側の面や立方体の内側の面など、3Dモデルにマッピングすることにより得られた画像である。
【0042】
なお、保持部33に保持される全天球画像は、互いに視差を有する左眼用の画像と右眼用の画像とからなるステレオスコピック3Dの画像、つまり3Dの立体画像とすることができる。
【0043】
編集反映処理部34は、保持部33から全天球画像を読み出すとともに、読み出した全天球画像に対して操作検出部32から供給された操作検出情報に応じた編集処理を行い、その結果得られた編集後の全天球画像をレンダラ部35に供給する。
【0044】
また、編集反映処理部34は、位置姿勢検出部31から供給された位置姿勢情報に基づいて没入操作部14を模した没入操作部モデル画像を生成し、レンダラ部35に供給する。
【0045】
例えば没入操作部モデル画像は、3Dモデルにより生成された没入操作部14の画像、つまり没入操作部14のモデルの画像であり、没入操作部モデル画像により表される没入操作部14のモデルは、実際の没入操作部14と同じ姿勢となっている。
【0046】
さらに編集反映処理部34は、操作検出部32から供給された操作検出情報や、通信部36を介して没入提示デバイス11から供給された撮影画像に基づいて、全天球画像の編集や再生を行うためのUI(User Interface)画像を生成し、レンダラ部35に供給する。
【0047】
UI画像の一部は、必要に応じて編集反映処理部34からディスプレイ12にも供給され、ディスプレイ12により表示される。
【0048】
レンダラ部35は、通信部36を介して没入提示デバイス11から供給された位置姿勢情報、および位置姿勢検出部31から供給された位置姿勢情報に基づいてレンダリング処理を行う。
【0049】
すなわち、レンダラ部35は、没入提示デバイス11および没入操作部14の位置姿勢情報と、編集反映処理部34から供給された全天球画像、没入操作部モデル画像、およびUI画像とに基づいて提示用の画像である提示用全天球画像を生成する。
【0050】
レンダリング処理では、レンダラ部35は没入提示デバイス11や没入操作部14の位置姿勢情報に基づいて、全天球画像上の適切な位置に没入操作部モデル画像やUI画像を重畳することで提示用全天球画像を生成する。
【0051】
なお、提示用全天球画像は、全天球画像に没入操作部モデル画像やUI画像を重畳して得られる画像に限らず、全天球画像の一部の領域の画像に没入操作部モデル画像やUI画像を重畳して得られる画像とされてもよい。換言すれば、没入操作部モデル画像やUI画像が重畳された全天球画像の一部または全部の領域の画像を提示用全天球画像とすることができる。
【0052】
また、レンダラ部35は必要に応じて提示用全天球画像を、例えば正距円筒形式の画像データなど、没入提示デバイス11で取り扱うことが可能な形式の画像データに変換し、その結果得られた提示用全天球画像を通信部36に供給する。
【0053】
通信部36は有線または無線により没入提示デバイス11と通信する。例えば通信部36は、レンダラ部35から供給された提示用全天球画像を没入提示デバイス11に出力したり、没入提示デバイス11から供給された位置姿勢情報をレンダラ部35に供給したり、没入提示デバイス11から供給された撮影画像を編集反映処理部34に供給したりする。
【0054】
また、通信部36は、没入提示デバイス21とは異なる他の没入提示デバイスにも提示用全天球画像を出力することが可能である。
【0055】
例えば没入提示デバイス11を装着している編集者であるユーザと同じ場所またはそのユーザとは離れた場所に、編集者とは異なる1または複数のユーザがおり、それらのユーザも没入提示デバイスを装着しているとする。
【0056】
この場合、通信部36が没入提示デバイス11に対して出力する提示用全天球画像と同じものを、編集者とは異なるユーザが装着している没入提示デバイスにも出力すれば、それらのユーザと編集者とは同じ提示用全天球画像を同時に見ることができる。
【0057】
図1に示す編集システムでは、レンダラ部35から出力された提示用全天球画像は、通信部36を介して没入提示デバイス11へと供給されて表示される。また、ユーザによる全天球画像の編集に関する操作入力が行われると、その操作入力が直ちに(リアルタイムに)反映された提示用全天球画像がレンダラ部35から出力される。
【0058】
したがって、レンダラ部35は、没入提示デバイス11に対して提示用全天球画像を出力(供給)して表示させることで、没入提示デバイス11における提示用全天球画像の表示を制御する表示制御部として機能するということができる。
【0059】
また、編集反映処理部34は、ユーザによる編集に関する操作がリアルタイムで反映された全天球画像や、UI画像、没入操作部モデル画像を生成する画像処理部として機能するということができる。
【0060】
〈没入操作部モデル画像とUI画像の表示について〉
以上において説明した編集システムでは、没入提示デバイス11を装着したユーザ(編集者)が、没入提示デバイス11を頭部から外すことなく全天球画像のプレビューや編集などの基本的な作業を全て行うことができるようになっている。
【0061】
例えばユーザが没入提示デバイス11を装着して提示用全天球画像を再生している状態では、ユーザが自身の頭部を動かすと、提示用全天球画像におけるユーザの頭部の方向に応じた領域がユーザに対して提示された状態となる。したがって、ユーザはあたかも提示用全天球画像により表示される空間の中にいるかのように感じることができる。
【0062】
提示用全天球画像には、編集対象となるコンテンツ自体である全天球画像に加えて、上述した没入操作部モデル画像と、UI画像とが重畳表示されている。
【0063】
また、例えばUI画像として、撮影画像の一部を切り出したシースルーウィンドウ、全天球画像の再生や編集のためのメニュー項目からなるメニュー画像、全天球画像の再生や編集を行うためのウィンドウ(画面)であり、ディスプレイ12にも表示される補助ウィンドウが提示用全天球画像に表示される。
【0064】
ここで、没入操作部モデル画像、シースルーウィンドウ、メニュー画像、および補助ウィンドウについて説明する。
【0065】
まず、没入操作部モデル画像について説明する。
【0066】
例えば、
図2に示すように没入操作部14として専用のコントローラやペン型の入力デバイスが用いられることがある。
【0067】
すなわち、
図2の矢印A11に示すように、ユーザが没入操作部14としての専用のコントローラCT11を手で持って各種の操作を行うこともあれば、矢印A12に示すように、ユーザが没入操作部14としてのペン型の入力デバイスPN11を手で持って各種の操作を行うこともある。
【0068】
例えば矢印A11に示すように、ユーザがコントローラCT11を没入操作部14として用いる場合、画像処理装置15では、位置姿勢検出部31によりコントローラCT11の位置および姿勢がトラッキングされる。
【0069】
そして、提示用全天球画像上では、没入操作部モデル画像として、コントローラCT11を模した画像が表示される。
【0070】
このとき、没入操作部モデル画像により表されるコントローラCT11のモデルは、実際のコントローラCT11と全く同じ位置および姿勢で表示される。
【0071】
すなわち、ユーザが没入提示デバイス11を装着している状態で、ユーザから見て没入操作部モデル画像として表示されているコントローラCT11のモデルがある位置を、モデル提示位置と呼ぶこととする。この例ではユーザにはモデル提示位置にコントローラCT11のモデルがあるかのように没入操作部モデル画像が提示されている。
【0072】
このような状態から、ユーザが没入提示デバイス11を外したとすると、ユーザにはモデル提示位置に実際のコントローラCT11が見える状態となっている。
【0073】
このように実際のコントローラCT11の位置と全く同じ位置に、実際のコントローラCT11の姿勢と全く同じ姿勢でコントローラCT11の没入操作部モデル画像を表示させることで、ユーザは簡単かつ直感的に没入操作部14による操作を行うことができる。その結果、より簡単に編集等の作業を行うことができる。
【0074】
編集反映処理部34では、位置姿勢検出部31で得られたコントローラCT11の位置および姿勢の検出結果に基づいて、没入操作部モデル画像が生成される。また、レンダラ部35では、位置姿勢検出部31から供給されるコントローラCT11の位置姿勢情報を参照すれば、コントローラCT11の没入操作部モデル画像を、全天球画像上における実際のコントローラCT11に対応する位置に重畳することができる。換言すれば、レンダラ部35は、全天球画像上におけるコントローラCT11の位置姿勢情報により定まる位置に、没入操作部モデル画像を表示させることができる。
【0075】
例えば、没入操作部14としてコントローラCT11を用いる場合、提示用全天球画像上では、没入操作部モデル画像により表されるコントローラCT11のモデルから直線状のポインタが表示される。
【0076】
このポインタは、ユーザが実際のコントローラCT11を動かすと、提示用全天球画像上においてコントローラCT11のモデルとともに動くので、ユーザはコントローラCT11を動かすことで、ポインタにより提示用全天球画像上の任意の位置を指し示すことができる。そのため、例えばユーザはポインタにより全天球画像上の所望の位置を指定し、その所望の位置が指定された状態で実際のコントローラCT11のボタンを操作するなどして、全天球画像の指定した領域にエフェクトを施すなどの操作入力を行うことができる。
【0077】
その他、例えばユーザはポインタにより全天球画像上のメニュー画像等のUIのボタンを指定して実行を指示するなどし、全天球画像の再生や編集に関する操作を行うこともできる。
【0078】
なお、操作検出部32では、実際のコントローラCT11の位置姿勢情報を参照すれば、ポインタと提示用全天球画像とが交差する位置、すなわちポインタにより指定されている提示用全天球画像上の位置を特定することができる。
【0079】
また、
図2の矢印A12に示すように、没入操作部14として入力デバイスPN11が用いられる場合にも、コントローラCT11における場合と同様に入力デバイスPN11の位置および姿勢がトラッキングされる。
【0080】
そして、提示用全天球画像上では、実際の入力デバイスPN11と同じ位置に、入力デバイスPN11と同じ姿勢で、没入操作部モデル画像として入力デバイスPN11のモデルが表示される。
【0081】
この場合、ユーザは入力デバイスPN11により入力デバイス13としてのペンタブレットを操作して所望の操作入力を行うことができるだけでなく、入力デバイスPN11を動かすことで入力デバイスPN11のモデルにより提示用全天球画像上の任意の位置を指定することもできる。
【0082】
したがって、例えばユーザは、入力デバイスPN11のモデルにより提示用全天球画像上のメニュー画像等のUIのボタンを指定するなどし、全天球画像の再生や編集に関する操作を行うこともできる。同様に、ユーザは入力デバイスPN11のモデルにより全天球画像上の任意の位置を指定し、その位置を含む領域にエフェクトを施す等の操作入力を行うこともできる。
【0083】
操作検出部32では、コントローラCT11における場合と同様に、入力デバイスPN11の位置姿勢情報を参照することで、入力デバイスPN11により指定されている空間上の位置、すなわち提示用全天球画像上の位置を特定することができる。
【0084】
また、没入操作部14としてユーザ自身の手を用いる場合にも、入力デバイスPN11と同様にして没入操作部モデル画像を表示させ、提示用全天球画像上の任意の位置を指定することができる。
【0085】
その他、没入操作部14の例としてマウスやキーボードなどについても位置および姿勢をトラッキングし、提示用全天球画像上にそれらのマウスやキーボードのモデルを没入操作部モデル画像として表示させるようにしてもよい。この場合においてもマウスやキーボードのモデルは、実際の没入操作部14としてのマウスやキーボードと同じ位置に同じ姿勢で表示される。
【0086】
以上のような没入操作部モデル画像は、実際の没入操作部14を、提示用全天球画像上の同じ位置に同じ姿勢で投影する自己投影グラフィックスである。
【0087】
次に、編集反映処理部34で生成されるUI画像の1つであるシースルーウィンドウについて説明する。
【0088】
例えばユーザが没入提示デバイス11を頭部に装着した状態では、基本的にはユーザは、自身の手元にあるマウスやキーボード、ペンタブレットといった入力デバイス13を目視で確認することができない。このように入力デバイス13がユーザに見えない状態では、全天球画像の編集等を行う際に、手探りで入力デバイス13を見つけたり操作したりしなければならず、不便である。
【0089】
そこで、編集システムでは、ユーザが没入提示デバイス11を装着した状態でも入力デバイス13を含む自身の手元の領域を確認することができるように、シースルーウィンドウが全天球画像に重畳されて表示される。
【0090】
例えばシースルーウィンドウは、撮影部21で得られた撮影画像の特定の領域を編集反映処理部34が切り出すことで生成される画像である。撮影画像上におけるシースルーウィンドウとして切り出される領域は、予め定められたユーザ近傍の領域であり、例えばユーザが大よそ正面を向いている状態でユーザの手元の部分となる領域などとされる。したがって、シースルーウィンドウは、被写体としてユーザの手元にある入力デバイス13が含まれている画像であるということができる。なお、撮影画像がそのままシースルーウィンドウとされてもよい。
【0091】
具体的な例として、例えば提示用全天球画像上には、
図3に示すシースルーウィンドウが表示される。
【0092】
すなわち、
図3の矢印A21に示す例では、シースルーウィンドウSW11内には実空間上に存在する入力デバイス13としてのマウスID11およびキーボードID12と、それらの入力デバイス13を操作するユーザの両手とが表示されている。
【0093】
ここで、シースルーウィンドウSW11内の各被写体は、ユーザから見て実空間上のそれらの被写体の位置と同じ位置に表示されている。
【0094】
例えばユーザが没入提示デバイス11を装着している状態で、ユーザから見てシースルーウィンドウSW11上に表示されているマウスID11がある位置を、モデル提示位置と呼ぶこととする。このような状態から、ユーザが没入提示デバイス11を外したとすると、ユーザにはモデル提示位置に実際のマウスID11が見える状態となっている。
【0095】
このようにシースルーウィンドウSW11では、実際の位置と全く同じ位置に撮影部21の視野の一部により見えているもの、特にユーザの手元にあるものが表示される。
【0096】
したがって、ユーザは自分の手や、手元にあるマウスID11、キーボードID12などを、没入提示デバイス11を装着した状態で確認しながら操作することができる。これにより、編集システムの使い勝手を向上させることができる。すなわち、より簡単に編集等の作業を行うことができる。
【0097】
なお、レンダラ部35では、通信部36から供給される没入提示デバイス11の位置姿勢情報を参照すれば、シースルーウィンドウSW11を全天球画像上における実際の撮影部21の視野の対応する位置に重畳表示させることができる。すなわち、レンダラ部35では、没入提示デバイス11の位置および姿勢により定まる全天球画像上の位置にシースルーウィンドウSW11の画像が重畳される。
【0098】
したがって、例えばユーザが頭部を動かせば、その頭部の動きに合わせて提示用全天球画像上におけるシースルーウィンドウSW11の位置も移動することになり、ユーザは常に自身の手元をシースルーウィンドウSW11により確認することができる。
【0099】
特に、ユーザが自身の頭部の向きを適切に調整することで、マウスID11やキーボードID12など、自分の見たい被写体がシースルーウィンドウSW11上で表示されるようにすることができる。
【0100】
また、例えば
図3の矢印A22に示す例では、シースルーウィンドウSW12内には実空間上に存在する入力デバイス13としてのペンタブレットID21と、ユーザ自身の手と、その手に保持している没入操作部14としてのペン型の入力デバイスPN21とが表示されている。したがって、ユーザはシースルーウィンドウSW12を見ながら入力デバイスPN21によりペンタブレットID21への入力操作を行うことができる。
【0101】
以上のようなシースルーウィンドウは、ユーザが没入提示デバイス11を装着していなければ見えているであろうユーザの視野の一部の領域を、提示用全天球画像上の同じ位置に投影する自己投影グラフィックスである。
【0102】
提示用全天球画像上にシースルーウィンドウを表示させることで、ユーザは没入提示デバイス11を装着した状態でも容易に入力デバイス13を操作して編集等の作業を行うことができる。
【0103】
続いて、編集反映処理部34で生成されるUI画像の1つであるメニュー画像について説明する。
【0104】
例えばユーザが自身の手を没入操作部14として用いる場合、ユーザは自身の手を動かして提示用全天球画像上の任意の位置(領域)を指定することができる。
【0105】
この場合、例えば
図4に示すように提示用全天球画像における没入操作部モデル画像として表示されているユーザの手のモデルHD11近傍に、ユーザの手にリンクした再生コントローラ等のメニュー画像MN11を表示させれば操作性を向上させることができる。
【0106】
この例では、例えばメニュー画像MN11上には、コンテンツである全天球画像の再生や再生停止など、全天球画像の再生や編集に関する操作を指示するためのボタンが設けられている。
【0107】
また、メニュー画像MN11は、手のモデルHD11に対して予め定められた位置に表示されるようになされており、ユーザが自身の手を移動させると、その手の移動に合わせてメニュー画像MN11も移動する。すなわち、手のモデルHD11とメニュー画像MN11との相対的な位置関係は常に同じとなっている。ユーザは、手のモデルHD11に対応する手とは反対の手を動かしてメニュー画像MN11上のボタンを操作することで、全天球画像の再生や編集に関する操作を行うことができる。
【0108】
レンダラ部35では、位置姿勢検出部31から供給される没入操作部14としてのユーザの手の位置姿勢情報を参照すれば、メニュー画像MN11を全天球画像上における実際のユーザの手に対応する位置近傍に重畳表示させることができる。
【0109】
以上のようなユーザの手のモデルとその近傍に表示されるメニュー画像は、実際の没入操作部14と仮想的なメニュー画像を、提示用全天球画像上に投影する自己投影グラフィックスである。提示用全天球画像上にメニュー画像を表示させることで、ユーザは没入提示デバイス11を装着した状態でも容易にメニュー画像に対する操作により編集等の作業を行うことができる。
【0110】
さらに、編集反映処理部34で生成されるUI画像の1つである補助ウィンドウについて説明する。
【0111】
補助ウィンドウは、提示用全天球画像上に表示される、ユーザが没入提示デバイス11を装着したままの状態で全天球画像の再生や編集を行うための補助画面である。
【0112】
図5は、UI画像の1つである補助ウィンドウの一例について示す図である。
【0113】
この例では、補助ウィンドウWD11には主にメディアビン領域WR11、タイムライン領域WR12、画像表示領域WR13、および再生系ボタン表示領域WR14が設けられている。
【0114】
例えばメディアビン領域WR11は、編集反映処理部34によりインポートされた編集対象となる全天球画像のサムネイル画像、つまり素材クリップのサムネイル画像が並べられて表示される領域である。
【0115】
ユーザは、メディアビン領域WR11内に表示されているサムネイル画像を指定することで、指定したサムネイル画像に対応する素材クリップをタイムライン領域WR12内のタイムライン上に並べて配置することができる。
【0116】
タイムライン領域WR12には、メディアビン領域WR11上で指定されたクリップ素材のサムネイル画像が時系列に並べられるタイムラインが表示されている。タイムラインには時刻のメモリも表示されており、メモリにより示される時刻の部分には、それらの時刻に対応するクリップ素材のサムネイル画像が表示されている。
【0117】
また、タイムライン領域WR12ではタイムラインに重畳されて、処理対象とされている時刻を示すカーソルCR11も表示されている。編集中の素材クリップ(全天球画像)のうち、カーソルCR11により示される時刻の画像(フレーム)が画像表示領域WR13内に表示される。
【0118】
なお、画像表示領域WR13では、素材クリップ(全天球画像)として正距円筒形式の2次元の画像が表示されている。編集中の素材クリップは、提示用全天球画像上の補助ウィンドウWD11における画像表示領域WR13に表示されるだけでなく、提示用全天球画像を構成する全天球画像としても表示される。この場合、提示用全天球画像を構成する全天球画像として表示される素材クリップは、正距円筒形式の画像を3Dモデルにマッピングして得られる画像である。
【0119】
再生系ボタン表示領域WR14には、編集中の素材クリップの再生や再生停止、早送り、早戻しなどを指示するためのボタン(以下、再生系ボタンとも称する)が表示されている。ユーザは再生系ボタンを操作することにより、編集中の素材クリップを再生して確認したり、所望の位置(時刻)で再生を停止させたりすることができる。
【0120】
さらに、矢印A41に示す部分のボタンを操作すると、例えばプルダウン形式などの所定の形式で編集ツールを指定するためのツールボックスが表示される。
【0121】
ユーザは、ツールボックスを表示させて所望の編集ツールを指定するなどして、イン点やアウト点の指定、エフェクトの付加、全天球画像の正面点の指定、タイトル等のテキストデータの挿入など、各種の編集作業を行うことができる。
【0122】
具体的には、例えば素材クリップとしての全天球画像には付随情報が付加されており、付随情報により全天球画像の正面点を設定できるようになされている。
【0123】
ここで、正面点とは没入提示デバイス11で全天球画像(素材クリップ)の表示を開始させるときに、没入提示デバイス11を装着しているユーザから見て正面の方向に表示される全天球画像上の位置である。
【0124】
例えば各素材クリップには予め付随情報が付加されており、素材クリップの編集前の状態では付随情報により示される正面点は撮影時の正面点となっている。素材クリップの編集時には、ユーザは編集ツール等を利用して各素材クリップの付随情報を編集することで、付随情報により示される正面点を所望の位置に変更することができる。
【0125】
例えば付随情報編集時における正面点とする位置の指定は、補助ウィンドウWD11における画像表示領域WR13に表示された素材クリップ(全天球画像)上の位置を指定することにより行われてもよいし、没入提示デバイス11に表示された提示用全天球画像上の位置を直接指定することにより行われてもよい。
【0126】
なお、ここでは素材クリップの付随情報の例として正面点を編集できる例について説明したが、その他、付随情報として他のどのような情報を編集できるようにしてもよい。
【0127】
また、補助ウィンドウWD11では素材クリップのイン点とアウト点を指定することができるようになされている。例えば、ユーザが編集ツールによりタイムライン上に並べられた各素材クリップのイン点とする時刻とアウト点とする時刻とを指定したとする。
【0128】
この場合、編集反映処理部34ではタイムライン上の各素材クリップについて素材クリップのイン点からアウト点までの区間が切り出され、それらの素材クリップの切り出された区間が繋ぎ合わせられて1つの全天球画像とされる。このとき素材クリップ同士の繋ぎ目、つまり境界位置の部分には、例えばディゾルブなどの処理によりトランジション効果が施されて、素材クリップから次の素材クリップへと違和感なく映像が遷移するようになされる。
【0129】
さらに、補助ウィンドウWD11では、例えばユーザが素材クリップ(全天球画像)の所望の領域を指定して、その指定した領域に対して編集ツールによりエフェクト処理を施したり、指定した領域にタイトル等を挿入したりすることもできる。例えばエフェクト処理としてホワイトバランス調整や明るさ調整を行ったり、ノイズ低減処理を行ったり、ソフトフィルタ処理を行ったりすることができる。
【0130】
なお、エフェクトを施す対象となる領域やタイトルの挿入位置の指定は、補助ウィンドウWD11における画像表示領域WR13に表示された素材クリップ(全天球画像)上の領域を指定することにより行われてもよいし、没入提示デバイス11に表示された提示用全天球画像上の領域を直接指定することにより行われてもよい。
【0131】
編集システムでは、以上のような補助ウィンドウWD11が提示用全天球画像上だけでなく、ディスプレイ12上にも表示される。なお、ここでは補助ウィンドウWD11が表示される例について説明したが、例えば提示用全天球画像上やディスプレイ12上にタイムラインのみが表示されるなど、補助ウィンドウWD11の一部のみが表示されるようにしてもよい。
【0132】
また、補助ウィンドウWD11は、没入提示デバイス11を装着しているユーザから見て常に同じ位置に同じ姿勢で表示されるようにしてもよいし、常に提示用全天球画像における同じ位置に同じ姿勢で表示されるようにしてもよい。
【0133】
例えば補助ウィンドウWD11が没入提示デバイス11を装着しているユーザから見て常に同じ位置に同じ姿勢で表示されるとする。換言すれば、補助ウィンドウWD11の位置および姿勢が没入提示デバイス11に対して固定されているとする。
【0134】
そのような場合、没入提示デバイス11を装着したユーザが頭部を動かしても、提示用全天球画像上では、ユーザから見て常に同じ位置に同じ姿勢で補助ウィンドウWD11が表示された状態となる。すなわち、ユーザが頭部を動かしてもユーザと補助ウィンドウWD11との相対的な位置関係は変化しない。
【0135】
この例では、レンダラ部35では通信部36から供給される没入提示デバイス11の位置姿勢情報を参照すれば、補助ウィンドウWD11を全天球画像上におけるユーザから見て予め定められた位置に予め定められた姿勢で重畳表示させることができる。換言すれば、レンダラ部35では、没入提示デバイス11の位置および姿勢により定まる全天球画像上の位置に補助ウィンドウWD11の画像が重畳される。
【0136】
これに対して、補助ウィンドウWD11が常に提示用全天球画像上の同じ位置に同じ姿勢で表示される場合、レンダラ部35ではユーザの頭部の方向によらず、補助ウィンドウWD11が全天球画像上における予め定められた位置に予め定められた姿勢で重畳表示される。換言すれば、補助ウィンドウWD11は実空間上の所定位置を原点とする世界座標系の予め定められた位置に固定されて表示された状態となる。
【0137】
したがって、この場合、没入提示デバイス11を装着したユーザが頭部を動かすと、その頭部の動きに応じてユーザから見た補助ウィンドウWD11の表示位置が変化することになる。つまり、ユーザの頭部の動きに応じて、ユーザと補助ウィンドウWD11との相対的な位置関係が変化することになる。
【0138】
なお、ユーザは没入操作部14を操作するなどして、提示用全天球画像上における補助ウィンドウWD11の位置を移動させたり、補助ウィンドウWD11の大きさを変化させたりすることができるようにしてもよい。
【0139】
具体的には、例えばユーザが没入操作部14として
図2に示したコントローラCT11を操作しているものとする。
【0140】
この場合、例えばユーザは、コントローラCT11を動かすことによって、提示用全天球画像上でコントローラCT11のモデルを動かして、そのモデルから延びるポインタにより補助ウィンドウWD11を指定した状態とする。
【0141】
一例としてポインタにより補助ウィンドウWD11が指定されている状態とは、例えばポインタが補助ウィンドウWD11と交差する位置にあり、かつコントローラCT11の所定のボタンが押されている状態などとされる。
【0142】
ユーザはポインタにより補助ウィンドウWD11が指定された状態で、さらにコントローラCT11を動かすことでドラッグ操作を行う等して、補助ウィンドウWD11の表示位置を移動させたり、補助ウィンドウWD11を拡大または縮小させたりする。
【0143】
すなわち、例えばユーザは、ポインタにより補助ウィンドウWD11を指定している方のコントローラCT11を動かすことで補助ウィンドウWD11を移動させる。このとき、ポインタの移動先の位置が、補助ウィンドウWD11の移動先の位置とされる。
【0144】
また、例えばユーザは2つのコントローラCT11のそれぞれにより補助ウィンドウWD11が指定されている状態から、それらの2つのコントローラCT11を近づけたり遠ざけたりすることで、補助ウィンドウWD11を拡大させたり縮小させたりする。
【0145】
さらに、例えば提示用全天球画像上において、補助ウィンドウWD11がユーザから見て凹曲面の形状となるように湾曲された状態で表示されるとする。この場合、ユーザは没入操作部14を操作するなどして、補助ウィンドウWD11の曲がり具合、すなわち凹曲面の形状の湾曲度合いを調整することができるようにしてもよい。
【0146】
〈編集作業の例について〉
続いて、ユーザにより行われる全天球画像の編集作業の例、すなわち編集システムの具体的な利用シーンの例について説明する。
【0147】
ここでは、一例として複数の素材クリップを繋ぎ合わせて5分程度のドキュメンタリー映像を製作するケースについて説明する。
【0148】
まず、ユーザは没入操作部14や入力デバイス13を操作して、例えば10個程度の素材クリップ(全天球画像)を順番に指定するとともに、それらの素材クリップの再生を指示し、各素材クリップをプレビューする。
【0149】
この場合、操作検出部32は、没入操作部14や入力デバイス13から供給された信号および位置姿勢検出部31から供給された位置姿勢情報に応じて、指定された素材クリップの再生を指示する操作検出情報を生成し、編集反映処理部34に供給する。
【0150】
編集反映処理部34は、操作検出部32からの操作検出情報に応じて、指定された素材クリップをレンダラ部35に供給する。また、レンダラ部35は、編集反映処理部34から供給された素材クリップを全天球画像とする提示用全天球画像を通信部36を介して没入提示デバイス11に供給し、再生させる。
【0151】
素材クリップが再生されて、それらの素材クリップのプレビューが終了すると、ユーザは没入操作部14や入力デバイス13を操作して所望の素材クリップを指定し、それらの指定した素材クリップのインポートを指示する。
【0152】
すると、操作検出部32は、ユーザの操作に応じて素材クリップをインポートする旨の操作検出情報を生成し、編集反映処理部34に供給する。
【0153】
編集反映処理部34は、操作検出部32からの操作検出情報に応じて、指定された素材クリップをインポートする。素材クリップのインポート時には、編集反映処理部34は必要に応じて素材クリップを、正距円筒形式の画像データから、その画像データを3Dモデルにマッピングして得られる形式の画像データに変換して保持部33に供給し、保持させる。
【0154】
このようにして素材クリップがインポートされると、没入提示デバイス11やディスプレイ12に表示されている補助ウィンドウWD11では、それらの素材クリップのサムネイル画像がメディアビン領域WR11に並べられて表示される。
【0155】
ユーザは、没入操作部14や入力デバイス13を操作してメディアビン領域WR11内のサムネイル画像を指定する等して、各素材クリップをタイムライン領域WR12内のタイムライン上に並べる。
【0156】
編集反映処理部34は、操作検出部32から供給された操作検出情報に応じて、タイムライン上に指定された素材クリップのサムネイル画像が表示された、すなわちユーザの操作が反映された補助ウィンドウWD11の画像を生成し、レンダラ部35およびディスプレイ12に供給する。
【0157】
レンダラ部35は、編集反映処理部34から供給された補助ウィンドウWD11の画像を全天球画像に重畳して提示用全天球画像を生成し、得られた提示用全天球画像を通信部36を介して没入提示デバイス11に供給して表示させる。
【0158】
例えばタイムライン上に指定された素材クリップのサムネイル画像が並べられると、素材クリップのカーソルCR11により示される時刻のフレームが編集中のフレームとして没入提示デバイス11に表示された状態となる。つまり、全天球画像としての編集中の素材クリップのフレーム上に補助ウィンドウWD11や他のUI画像が重畳されたものが提示用全天球画像として没入提示デバイス11に表示された状態となる。
【0159】
ユーザは没入操作部14や入力デバイス13を操作して、タイムラインに並べられた各素材クリップについてイン点とアウト点を指定した後、全天球画像にナレーションの付加を指示する。すると、操作検出部32は、没入操作部14や入力デバイス13からの信号と、位置姿勢検出部31から供給された位置姿勢情報とに基づいてユーザの操作を検出し、その検出結果を示す操作検出情報を編集反映処理部34に供給する。
【0160】
編集反映処理部34は、操作検出部32から供給された操作検出情報に応じて、各素材クリップのイン点からアウト点までの区間を切り出して繋ぎ合わせ、それらの素材クリップの繋ぎ合わせる部分、つまり境界部分に対してディゾルブなどの処理を施す。また、編集反映処理部34は、それらの繋ぎ合わせた素材クリップからなる1つの全天球画像に対して指定されたナレーションの音声データを付加する。
【0161】
さらに、ユーザは没入操作部14や入力デバイス13を操作して、各素材クリップについて正面点を指定したり、素材クリップの所望の位置にタイトルを挿入したりする。タイトルの挿入時には、ユーザが没入操作部14等を操作して没入提示デバイス11に表示されている提示用全天球画像上の位置をタイトルの挿入位置として指定すれば、ユーザは直感的に挿入するタイトルのサイズと挿入位置を指定することができる。
【0162】
このような操作が行われると、操作検出部32は、没入操作部14や入力デバイス13からの信号と、位置姿勢検出部31から供給された位置姿勢情報とに基づいてユーザの操作を検出し、その検出結果を示す操作検出情報を編集反映処理部34に供給する。
【0163】
編集反映処理部34は、操作検出部32から供給された操作検出情報に応じて、各素材クリップの正面点がユーザにより指定された位置となるように素材クリップの付随情報を編集したり、素材クリップにタイトルを挿入したりする。
【0164】
編集反映処理部34では、ユーザによる編集操作が編集中の素材クリップ(全天球画像)に対してリアルタイムで反映され、編集操作が反映された素材クリップが編集反映処理部34からレンダラ部35へと供給される。
【0165】
そして、レンダラ部35では編集操作反映後の素材クリップ(全天球画像)についてレンダリング処理が行われて提示用全天球画像が生成され、没入提示デバイス11で表示される。したがって、ユーザは自身の編集操作が反映された素材クリップを、没入提示デバイス11を装着したまま直ちに確認することができる。
【0166】
ユーザの編集作業が終了し、最終的な1つのコンテンツである全天球画像が得られると、ユーザは没入操作部14や入力デバイス13を操作して編集により得られた全天球画像の再生を指示し、全天球画像をプレビューする。
【0167】
この場合、操作検出部32は、没入操作部14や入力デバイス13から供給された信号と、位置姿勢検出部31から供給された位置姿勢情報とに応じて、全天球画像の再生を指示する操作検出情報を生成し、編集反映処理部34に供給する。
【0168】
編集反映処理部34は、操作検出部32からの操作検出情報に応じて、編集により得られた全天球画像をレンダラ部35に供給する。また、レンダラ部35は、編集反映処理部34から供給された全天球画像に基づいてレンダリング処理を行い、得られた提示用全天球画像を、通信部36を介して没入提示デバイス11に供給し、再生させる。
【0169】
ユーザは、編集により得られた全天球画像を没入提示デバイス11で再生させて確認すると、没入操作部14や入力デバイス13を操作して全天球画像の保存を指示する。すると、レンダラ部35は、ユーザの操作に応じて、編集により得られた全天球画像を例えば正距円筒形式の画像データ(例えばmp4ファイル)などの適切な形式の画像データに変換して、得られた全天球画像を出力したり記録したりする。
【0170】
このように編集システムでは、ユーザが没入提示デバイス11を装着したままで素材クリップのプレビューから、編集、完成した全天球画像のプレビューまでの全作業を簡単に行うことができる。
【0171】
特に、正面点の指定やタイトル挿入等の編集作業については、没入提示デバイス11に全天球画像が表示されている状態で、つまり実際に再生時の全天球画像が表示されている状態で、その全天球画像の各部を確認しながら作業を行うことができる。したがって、より簡単に自身の意図通りの編集作業を行うことができる。
【0172】
〈コンテンツ編集処理の説明〉
次に、編集システムにおいて行われる処理の流れについて説明する。
【0173】
すなわち、以下、
図6のフローチャートを参照して、編集システムにより行われるコンテンツ編集処理について説明する。
【0174】
ステップS11において、位置姿勢検出部31は、没入操作部14の位置および姿勢を検出し、その検出結果を示す位置姿勢情報を操作検出部32、編集反映処理部34、およびレンダラ部35に供給する。
【0175】
また、通信部36は、没入提示デバイス11から、没入提示デバイス11の位置姿勢情報および撮影画像を取得し、位置姿勢情報をレンダラ部35に供給するとともに撮影画像を編集反映処理部34に供給する。
【0176】
ステップS12において、操作検出部32は、位置姿勢検出部31から供給された位置姿勢情報、入力デバイス13から供給された信号、および没入操作部14から供給された信号に基づいてユーザによる操作入力を検出し、その検出結果を示す操作検出情報を編集反映処理部34に供給する。
【0177】
例えば操作検出部32は、没入操作部14の位置姿勢情報と没入操作部14から供給された信号とに基づいて、ユーザによる補助ウィンドウ上の特定ボタンの操作が検出された場合、その検出結果を示す操作検出情報を生成して編集反映処理部34に供給する。
【0178】
ステップS13において、編集反映処理部34は、操作検出部32から供給された操作検出情報に基づいて、ユーザにより編集が指示されたか否かを判定する。
【0179】
例えばステップS13では、操作検出情報がタイトルの挿入や正面点の指定、エフェクトの付加、イン点とアウト点の指定などの編集に関する操作を示している場合、編集が指示されたと判定される。
【0180】
ステップS13において編集が指示されたと判定された場合、ステップS14において編集反映処理部34は、操作検出部32から供給された操作検出情報により示される編集に関する操作入力に応じた編集処理を行う。
【0181】
例えば編集反映処理部34は、保持部33に保持されている全天球画像を読み出して、全天球画像に対してタイトルを挿入したり、全天球画像の付随情報を編集したり、全天球画像に対してエフェクトを施したりする処理等を編集処理として行う。
【0182】
編集処理が行われると、編集反映処理部34は、編集処理により得られた全天球画像をレンダラ部35に供給し、処理はステップS15へと進む。
【0183】
これに対して、ステップS13において編集が指示されなかったと判定された場合、ステップS14の処理は行われず、処理はステップS15へと進む。
【0184】
ステップS14の処理が行われたか、またはステップS13において編集が指示されなかったと判定されると、ステップS15において編集反映処理部34は、UI画像を生成する。
【0185】
ステップS15では、例えば上述したシースルーウィンドウの画像や補助ウィンドウの画像、メニュー画像などがUI画像として生成される。
【0186】
すなわち、例えば編集反映処理部34は、通信部36から供給された撮影画像の一部を切り出してシースルーウィンドウの画像を生成したり、操作検出情報に基づいてユーザの操作が反映された補助ウィンドウの画像を生成したりする。
【0187】
ステップS16において、編集反映処理部34は、位置姿勢検出部31から供給された位置姿勢情報に基づいて没入操作部モデル画像を生成する。
【0188】
編集反映処理部34は、ステップS15およびステップS16の処理で生成されたUI画像および没入操作部モデル画像をレンダラ部35に供給する。また、ステップS15で生成されたUI画像としての補助ウィンドウは、編集反映処理部34からディスプレイ12にも供給されて、ディスプレイ12に補助ウィンドウが表示される。
【0189】
ステップS17において、レンダラ部35は、通信部36から供給された没入提示デバイス11の位置姿勢情報、および位置姿勢検出部31から供給された没入操作部14の位置姿勢情報に基づいてレンダリング処理を行う。
【0190】
すなわち、レンダラ部35は、没入提示デバイス11や没入操作部14の位置姿勢情報に基づいて、編集反映処理部34から供給された全天球画像の適切な位置に没入操作部モデル画像およびUI画像を重畳し、提示用全天球画像を生成する。また、レンダラ部35は、適宜、提示用全天球画像を没入提示デバイス11で取り扱うことが可能な形式の画像データに変換し、通信部36に供給する。
【0191】
ステップS18において、通信部36はレンダラ部35から供給された提示用全天球画像を没入提示デバイス11に出力する。また、没入提示デバイス11は通信部36から供給された提示用全天球画像を表示する。
【0192】
換言すれば、レンダラ部35は、通信部36を介して没入提示デバイス11に提示用全天球画像を供給し、その提示用全天球画像を表示させる。特に、ステップS14で編集に関する操作入力に応じた編集処理が行われた場合には、その編集に関する操作入力がリアルタイムで反映された提示用全天球画像が表示されるように、レンダラ部35により没入提示デバイス11における表示が制御されることになる。
【0193】
没入提示デバイス11で提示用全天球画像が表示されると、没入提示デバイス11を装着しているユーザは、編集中の全天球画像を没入提示デバイス11で確認しながら没入操作部14や入力デバイス13を操作して、編集作業を行うことができる。
【0194】
なお、ステップS18では通信部36が没入提示デバイス11とは異なる他の没入提示デバイスにも提示用全天球画像を出力するようにしてもよい。すなわち、没入提示デバイス11と他の没入提示デバイスに対して、同じ提示用全天球画像が同時に出力されるようにしてもよい。このようにすることで、没入提示デバイス11を含む複数の没入提示デバイスにおいて、同じ提示用全天球画像を同時に見ることができるようになる。
【0195】
ステップS19において、画像処理装置15は処理を終了するか否かを判定する。例えばステップS19では、ユーザにより編集の終了が指示された場合、処理を終了すると判定される。
【0196】
ステップS19において、まだ処理を終了しないと判定された場合、処理はステップS11に戻り、上述した処理が繰り返し行われる。
【0197】
これに対して、ステップS19において処理を終了すると判定された場合、コンテンツ編集処理は終了する。この場合、適宜、編集により得られた全天球画像が保存されたり、外部の装置に出力されたりする。
【0198】
以上のようにして編集システムは、ユーザの操作に応じて全天球画像上にUI画像や没入操作部モデル画像を重畳して提示用全天球画像を生成し、没入提示デバイス11で表示させる。これにより、ユーザは、没入提示デバイス11を装着したままの状態で、全天球画像を確認しながらより簡単に編集作業を行うことができる。
【0199】
<具体的な編集例>
上記したように、本実施の形態によれば、全天球画像を確認しながらより簡単に編集作業を行うことができる。ここで、その編集の一例を説明する。
【0200】
図7は、没入提示デバイス11に表示される画面例を示している。没入提示デバイス11には、提示用全天球画像が、画面全体に表示されている。
【0201】
画面中央下側には、没入操作部モデル画像としてコントローラCT11が表示されている。以下、画面に表示されているコントローラCT11の没入操作部モデル画像を、没入操作部モデル画像CT11と記述する。
【0202】
没入操作部モデル画像CT11の先端からは、ポインタ101が出ている。このポインタ101は、レーザーポインタを模写したような絵となっており、所定の色の直線で表示されている。
図7に示した例では、ポインタ101の先端は、“demo”といった文字102を指している。
【0203】
この文字102は、提示用全天球画像上に重畳(オーバーレイ)されている文字である。ここでは、文字を例に挙げて説明するが、マークなどであっても良い。文字102は、提示用全天球画像に重畳されている画像の一例である。
【0204】
時刻T1において、文字102は、図中左側の位置P1に表示されていたとする。また、時刻T1においては、没入操作部モデル画像CT11の先端は、位置P1の方を向いており、没入操作部モデル画像CT11からのポインタ101は、文字102を指している状態である。
【0205】
時刻T1において、ユーザがコントローラCT11のボタン(例えば、
図9に示すボタン122)を操作し、コントローラCT11を、右方向に移動させる。この操作により、文字102が捕まれ(ドラッグされ)、位置P2まで移動される。
【0206】
すなわち時刻T1から時刻T2の間、コントローラCT11のボタンが押し込まれたまま、左側から右側に先端部分が移動するような操作がなされた場合、換言すれば、ポインタ101の先端が、位置P1から位置P2まで移動するような操作が、ボタンが操作されたままなされた場合、文字102は、位置P1から位置P2に移動される。
【0207】
すなわちユーザは、コントローラCT11を用いて、所謂ドラッグアンドドロップという操作を行うことで、提示用全天球画像内で、文字102を所望の位置に移動させることができる。
【0208】
ユーザは、このような操作を、没入提示デバイス11を装着した状態で行えるため、また、没入提示デバイス11で提示される提示用全天球画像を見ながら行えるため、例えば文字102を、背景で見づらくなる位置から、見やすい位置に移動させるといったことを容易に行うことができる。
【0209】
他の操作例として、ユーザは、文字102を所望の大きさに変更する操作も、提示用全天球画像を見ながら行うことができる。
【0210】
例えば、
図8に示すように、時刻T11において、文字102が所定の大きさで表示されており、この文字102を拡大したいとき、ユーザは、コントローラCT11を広げるような動作を行うことで、文字102を拡大させることができる。
【0211】
時刻T11において、ユーザの左手に保持されているコントローラCT11(コントローラCT11Lとする)を表す没入操作部モデル画像CT11Lと、ユーザの右手に保持されているコントローラCT11(コントローラCT11Rとする)を表す没入操作部モデル画像CT11Rが、提示用全天球画像に重畳されて表示されている。
【0212】
ユーザは、文字102を拡大したい場合、コントローラCT11LまたはコントローラCT11Rの所定のボタンを操作し、文字102を選択し、コントローラCT11LとコントローラCT11Lを左右に広げるような操作を行う。
【0213】
時刻T12として示したように、コントローラCT11LとコントローラCT11Lを左右に広げるような操作が行われることで、文字102が拡大される。なお図示していないが、コントローラCT11LとコントローラCT11Lを左右に狭めるような操作が行われた場合には、文字102が縮小される。
【0214】
このように、文字102の拡大や縮小といったサイズの変更は、2つのコントローラCT11を左右に広げるまたは狭めるといった簡便な操作で行うことができる。
【0215】
また、このような文字102の大きさの変更も、提示用全天球画像内で行うことができるため、実際に提示される全天球画像上での大きさを確認しながら所望の大きさとすることができる。
【0216】
<コントローラの構成>
このような操作を行えるコントローラCT11について説明を加える。
【0217】
コントローラCT11は、
図9に示すように、タッチパッド121、ボタン122、ボタン123を備える。タッチパッド121は、平板状のセンサであり、その上を指でなぞったり、タップしたりすることでマウスポインタと同様の操作を行うことができるように構成されている。
【0218】
ボタン122とボタン123は、所定の処理が割り当てられており、押下されることで、その割り当てられている操作の指示を出せるように構成されている。例えば、上記したように、ボタン122には、全天球画像に重畳されている文字102を選択する(ドラッグする)ときに操作される。
【0219】
なお、
図9に示したコントローラCT11の構成や形状は、一例であり、限定を示すものではない。例えば、
図9に示したコントローラCT11には、2つのボタン122,123が設けられているが、さらに複数のボタンが設けられていても良いし、コントローラCT11の側面や裏面など、
図9に示した以外の部分にも設けられていても良い。
【0220】
コントローラCT11は、
図7や
図8を参照して説明したように、没入提示デバイス11が装着され、その没入提示デバイス11で提示される画像を見ながら操作される。換言すれば、ユーザは、コントローラCT11を直接視認しながら操作を行うのではない。コントローラCT11は、直接視認しなくても操作できるような簡便な構成とされているのが良い。
【0221】
そこで、タッチパッド121に、複数の操作を割り当てる。すなわち、タッチパッド121は、指でなぞる、タップするなど、比較的位置を正確に確認していない状態でも、簡便に操作できる装置であり、さらに、そのようなタッチパッド121に複数の操作を割り当てておくことで、簡便に操作の指示を出すことができるようになる。
【0222】
例えば、
図10に示すように、タッチパッド121を5分割する。タッチパッド121の上部を領域121Aとし、タッチパッド121の右部を領域121Bとし、タッチパッド121の下部を領域121Cとし、タッチパッド121の上部を領域121Dとし、タッチパッド121の中央部を領域121Eとする。
【0223】
例えば、領域121Aをタップすることで、マーカの追加や移動を指示することができ、領域121Bをタップすることで、前のクリップへの移動を指示することができ、領域121Cをタップすることで、再生の停止を指示することができ、領域121Dをタップすることで、次のクリップへの移動を指示することができ、領域121Eをタップすることで、再生や一時停止を指示することができる。
【0224】
また、複数の領域121をなぞることでも指示を出せるようにしても良い。例えば、領域121Dから領域121Bを指でなぞることで(左から右方向に指を動かすことで)、早送りを指示することができ、領域121Bから領域121Dを指でなぞることで(右から左方向に指を動かすことで)、巻き戻しを指示することができたりするようにしても良い。
【0225】
このような操作は、コントローラCT11を直接視認しなくても行えるような簡便な操作である。このような操作を、コントローラCT11のタッチパッド121に、領域を分割することで割り当てる。この割り当ては、ユーザにより設定できる(カスタマイズできる)ような仕組みを設けても良い。
【0226】
また、ボタン122,123とタッチパッド121との操作が組み合わされることで、新たな操作の指示が出せるようにしても良い。例えば、ボタン122を押下しながら、タッチパッド121の領域121Aが操作されたときには、付けられているマーカを削除する指示が出され、ボタン122を押下しながら、タッチパッド121の領域121Bが操作されたときには、3倍速で早送りする指示が出されるといったような指示が割り当てられているようにしても良い。
【0227】
また、タッチパッド121の所定の領域に割り当てられている操作を、ユーザに認識させるために、
図11に示したように、案内表示がされるようにしても良い。
図11に示した案内表示151は、タッチパッド121の形状を模写した円形内に、各領域121A乃至Eに対応する位置に、それぞれコンテンツの再生に係わるマークが表示されている。
【0228】
領域121Aに対応する位置には、一時停止のマークが表示され、領域121Bに対応する位置には、次のマーク(チャプター)に移動するときのマークが表示され、領域121Cに対応する位置には、再生停止のマークが表示され、領域121Dに対応する位置には、前のマーク(チャプター)に移動するときのマークが表示され、領域121Eに対応する位置には、再生のマークが表示されている。
【0229】
このような案内表示151は、常に表示されていても良いし、例えばタッチパッド121に触れたときに表示されるようにしても良い。また、表示されているときに、例えばボタン122が操作された場合、案内表示151内の案内が変更されるようにしてもよい。
【0230】
また例えば、
図11に示した案内表示151には、コンテンツの再生に関するマークが表示されているが、ボタン122が操作されると、コンテンツの編集に関するマークに切り替わるようにしても良い。
【0231】
すなわち、再生モード、編集モードといったモードの切り替えを、ボタン122を操作することでできるようにし、そのモードに対応する案内が、案内表示151に表示されるようにしても良い。
【0232】
なおここでは、案内表示151内にはマークが表示される例を示したが、マーク以外、例えば、“再生”、“停止”といった文言が表示されるようにしても良い。
【0233】
他の表示例として、タッチパッド121、ボタン122、またはボタン123のメニューを表示させる操作が割り当てられている操作部が操作されたときに、メニュー画面が表示されるようにしても良い。
【0234】
例えば、
図12に示すように、所定の操作がなされると、コントローラCT11Lを表す没入操作部モデル画像CT11Lの右側に、メニュー171が表示される。
図12に示した例では、メニュー171として、“項目A”、“項目B”、“項目C”が表示されている。
【0235】
ユーザは、メニュー171に表示されている項目A、項目B、および項目Cの中から、所望な項目を、コントローラCT11Rを用いて選択することができる。ユーザは、例えば、項目Bを選択したい場合、コントローラCT11R(の没入操作部モデル画像CT11R)の先端から出ているポインタ101の先端を、項目Bに合わせる。合わせただけで、項目Bが選択されるようにしても良いし、合わした後、ボタン122やボタン123が操作されることで、項目Bが選択されるようにしても良い。
【0236】
メニュー171からユーザが所望とする項目が選択されると、サブメニュー172がメニュー171の右側に表示される。サブメニュー172には、メニュー171内で選択されたさらに詳細な選択項目が表示されている。
図12では、“項目a”、“項目b”、“項目c”が表示されている。サブメニュー172内の項目から、ユーザが所望な項目を選択するための操作は、メニュー171内の項目から所望な項目を選択する操作と同様に行われる。
【0237】
メニュー171とサブメニュー172は、横方向に配置される関係にある。メニュー171内の項目は縦方向に配置され、サブメニュー172内の項目も縦方向に配置されている。このように、メニューが展開していく方向(この場合、横方向)と、メニュー内の項目が配列されている方向(この場合、縦方向)は、異なる方向とされている。
【0238】
このようにメニューが展開していく方向と、メニュー内の項目が配列されている方向を異ならせることで、誤った項目を選択してしまうようなことを低減させることができる。例えば、仮に、メニューが展開していく方向と、メニュー内の項目が配列されている方向を同じにした場合、メニュー171、サブメニュー172、さらにそのサブメニュー内の項目が横並びに並ぶことになる。
【0239】
このように、横並びにメニュー171、サブメニュー172、さらにそのサブメニュー内の項目が並ぶと、コントローラCT11R(の先端)を順次横方向に移動させることになるが、同一方向に移動させると、例えば、メニュー171からサブメニュー172に移動させ、その勢いで、選択したい項目を行き過ぎ、他の項目を誤って選択してしまうといったことが発生する可能性が高くなる。
【0240】
しかしながら、上記したように、メニューが展開していく方向と、メニュー内の項目が配列されている方向を異ならせることで、メニュー171からサブメニュー172に移動するときの方向と、サブメニュー172内を移動する方向が異なるため、メニュー171からサブメニュー172に移動させ、その勢いで、選択したい項目を行き過ぎるといったことが発生することを防ぐことができる。
【0241】
さらに、コントローラCT11を用いた操作の例を挙げるに、上記したシースルーウィンドウSW11(
図3)を表示させたり、非表示にさせたりする操作にもコントローラCT11は、用いられる。
【0242】
例えば、シースルーウィンドウSW11が表示されていないときに、表示を指示する操作、例えば、ボタン123が、シースルーウィンドウSW11の表示を指示するボタンであった場合、そのボタン123が操作されると、提示用全天球画像に、シースルーウィンドウSW11が表示される。例えば、
図13に示すように、提示用全天球画像に、シースルーウィンドウSW11が所定の位置に表示される。
【0243】
ユーザは、シースルーウィンドウSW11を見ながら、キーボードやマウスの操作を行うことができる。このように、提示用全天球画像に、シースルーウィンドウSW11が表示されているときに、ボタン123が操作された場合、シースルーウィンドウSW11は閉じられるようにしても良い。
【0244】
このように、本技術によれば、全天球画像を確認しながらより簡単に編集作業を行うことができる。また、そのような全天球画像を確認しながら行う編集に適したコントローラや、ユーザインタフェースを提供することができる。
【0245】
<編集の処理>
ところで、上記したように、例えば、
図7を参照して説明したように、全天球画像上に表示されている文字102を移動させる場合、文字102が全天球画像上のどの位置に表示されているのかを特定し、また、移動先として指示された全天球画像上の位置を特定する必要がある。
【0246】
そのような処理に関して、
図14、
図15のフローチャートを参照して説明する。またここでは、例えば、
図7を参照して説明したように、全天球画像上に表示されている文字102を移動させる場合を例に挙げて説明を続ける。また、ここでは、
図14を参照して、リアルタイムアップデートに関する処理(常に行われている処理)について説明し、
図15を参照して、文字102などが選択され、移動が指示されたときの処理について説明する。
【0247】
図14、
図15に示したフローチャートの処理は、没入操作部14からの操作を受け、操作検出部32で、その操作内容が判断され、編集反映処理部34で処理されることで実行される。
【0248】
図14に示したフローチャートを参照するに、ステップS101において、ポインタと提示用全天球画像との交点位置が検出される。例えば、
図7に示したような提示用全天球画像が表示されているとき、時刻T1においては、コントローラCT11からのポインタ101は、位置P1を指しているため、この位置P1の座標が検出される。
【0249】
ステップS102において、球面座標の交点を正距円筒図法における座標(以下、正距円筒座標と記述する)に変換する。球面座標は、提示用全天球画像における座標、換言すれば、360度画像における座標である。正距円筒図法とは、地図投影法の一種であり、緯線、経線が直角かつ等間隔に交差するので方眼図法・正方形図法などとも称される図法であり、正距円筒座標は、そのような図法における座標である。
【0250】
ステップS102における座標の変換は、3次元の座標を2次元の座標に変換する処理であるともいえる。よって、そのような3次元を2次元に変換するような処理が行われるのであれば、他の変換が行われるようにしても良い。また、必ずしも、3次元の座標を2次元の座標に変換して処理を行う必要もなく、3次元の座標のまま処理が行われるように構成することも可能である。
【0251】
例えば、ユーザは、正距円筒図法により得られる正距円筒(Equirectangular)形式の2次元の全天球画像をディスプレイ12に表示させて編集作業を行うこともできる。このディスプレイ12に表示されている2次元の画像で編集作業を行う場合と同じように処理を行えるようにするために、ここでは、球面座標を正距円筒座標に変換するとして説明を続ける。
【0252】
換言すれば、全天球画像を編集するソフトウェアとして、従来のソフトウェアを用いても処理を行えるようにする場合、球面座標を正距円筒座標に変換することで、そのソフトウェアでも扱える座標を得ることができる。よって、上記したように、3次元の座標を用いて処理できるソフトウェアを用いる場合、ステップS102の処理を省略し、球面座標で処理が続けられるようにすることもできる。
【0253】
なお、ここでは、正距円筒図法における座標に変換するとして説明を続けるが、他の図法における座標に変換されるようにしても良い。
【0254】
ステップS101、ステップS102における処理において、その時点でポインタが指し示している位置の座標が求められる。このように、コントローラCT11が用いられ、ポインタ101が出射されているような状態のときには、そのポインタ101が指し示している位置は、常に把握されている。
【0255】
ステップS103において、オーバーレイされているものの座標が上書きされる。例えば、
図7に示した提示用全天球画像の例においては、文字102がオーバーレイされているものであり、文字102の座標が求められ、その求められた座標に、文字102の座標が上書きされる。オーバーレイされているもの(文字102、マーク、画像など)の座標も、球面座標が正距円筒座標に変換され、その変換された正距円筒座標に上書きされるようにすることができる。
【0256】
このように、オーバーレイされているものの座標も常に管理されている。なお、以下の説明においては、オーバーレイされているものは、文字102であるとして説明を続ける。
【0257】
このような処理が繰り返されることで、ポインタ101が指し示している位置と、オーバーレイされているものの位置がリアルタイムに管理されている。
【0258】
このような管理が行われている一方で、コントローラCT11からの操作、ここでは、ボタン122が操作され、その時点でポインタ101が位置するオーバーレイされている文字102が移動されるときに行われる処理について、
図15を参照して説明する。
【0259】
ステップS141において、コントローラCT11のボタン122が操作されたか否かが判定される。ボタン122が操作されたと判定されるまで、待機状態が維持され(
図14に示したフローチャートの処理が実行されることで、リアルタイムアップデータの処理が行われている状態が維持され)る。一方で、ボタン122が操作されたと判定された場合、ステップS142に処理は進められる。
【0260】
ステップS142において、ポインタと全天球画像の交点位置が検出される。またステップS143において、球面座標の交点が正距円筒座標に変換される。このステップS142とステップS143の処理は、
図14に示したフローチャートのステップS101とステップS102の処理と同様に行われる。
【0261】
ステップS144において、オーバーレイされているものがあるか否かが判定される。オーバーレイされているもの、例えば文字102の座標は、
図14のステップS103の処理で所定の間隔で更新されている。ステップS143までの処理で求められたポインタ101が指し示す位置の座標と、管理しているオーバーレイされているものの座標が一致するか否かを判定することで、ステップS144の判定処理が行われる。
【0262】
ステップS144において、オーバーレイされているものはないと判定された場合、ステップS141に処理が戻され、それ以降の処理が繰り返される。なお、ボタンの操作が行われているため、オーバーレイされているものはないと判定された場合にも、そのボタンが操作されることにより実行すべき処理は実行される。
【0263】
一方、ステップS144において、オーバーレイされているものがあると判定された場合、ステップS145に処理が進められ、ボタンの操作が維持されているか否かが判定される。
【0264】
例えば、
図7を参照して説明したように、コントローラCT11の操作により、文字102が移動される場合、ドラッグアンドドロップという操作が行われる。よって、ボタンの操作が維持されている間は、オーバーレイされている文字102は、まだ所望とされる位置まで移動されていない状況であると判定できる。
【0265】
よって、ステップS145において、ボタンの操作が維持されていると判定されるまで、ステップS145における判定処理が繰り返される。ステップS145において、ボタンの操作が維持されていないと判定された場合、換言すれば、ユーザがボタンを放し、文字102をドロップしたと判定された場合、さらに換言するに、ユーザが所望の位置まで文字102を移動させたと判定された場合、ステップS146に処理が進められる。
【0266】
ステップS146において、ボタンの操作が終了されたときのポインタが指し示している位置と全天球画像の交点位置が検出される。ステップS147において、球面座標の交点が正距円筒座標に変換される。このステップS146とステップS147の処理は、ステップS142とステップS143の処理と基本的に同様に行われる。この時点で、文字102は、ユーザが所望とした位置、
図7では、位置P2に移動され、表示されている。
【0267】
ステップS148において、対象のオーバーレイされたものの座標が上書きされる。すなわち、この場合、移動先の座標に、文字102の座標が書き換えられる。このようにして、オーバーレイされている文字やマークなどの位置(座標)が管理されている。
【0268】
このように、現実空間でのコントローラCT11を模写した没入操作部モデル画像を仮想空間の提示用全天球画像に表示し、そのコントローラCT11からのポインタが、提示用全天球画像内で指し示す位置を検出することで、ユーザからの操作が受け付けられ、処理される。
【0269】
よって、全天球画像を確認しながらより簡単に編集作業を行うことができる。また、そのような全天球画像を確認しながら行う編集に適したコントローラや、ユーザインタフェースを提供することができる。
【0270】
〈コンピュータの構成例〉
ところで、上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のコンピュータなどが含まれる。
【0271】
図16は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【0272】
コンピュータにおいて、CPU(Central Processing Unit)501,ROM(Read Only Memory)502,RAM(Random Access Memory)503は、バス504により相互に接続されている。
【0273】
バス504には、さらに、入出力インターフェース505が接続されている。入出力インターフェース505には、入力部506、出力部507、記録部508、通信部509、及びドライブ510が接続されている。
【0274】
入力部506は、キーボード、マウス、マイクロホン、撮影素子などよりなる。出力部507は、ディスプレイ、スピーカなどよりなる。記録部508は、ハードディスクや不揮発性のメモリなどよりなる。通信部509は、ネットワークインターフェースなどよりなる。ドライブ510は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブル記録媒体511を駆動する。
【0275】
以上のように構成されるコンピュータでは、CPU501が、例えば、記録部508に記録されているプログラムを、入出力インターフェース505及びバス504を介して、RAM503にロードして実行することにより、上述した一連の処理が行われる。
【0276】
コンピュータ(CPU501)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体511に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【0277】
コンピュータでは、プログラムは、リムーバブル記録媒体511をドライブ510に装着することにより、入出力インターフェース505を介して、記録部508にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部509で受信し、記録部508にインストールすることができる。その他、プログラムは、ROM502や記録部508に、あらかじめインストールしておくことができる。
【0278】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0279】
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【0280】
例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【0281】
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
【0282】
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
【0283】
また、本明細書中に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
【0284】
さらに、本技術は、以下の構成とすることも可能である。
(1)
操作部による操作入力を検出する操作検出部と、
没入提示デバイスに対して、前記操作部の画像が重畳された全天球画像の一部または全部を提示画像として出力して表示させるとともに、前記操作入力が検出された場合、前記操作入力が反映されるように前記提示画像の表示を制御する表示制御部と
を備え、
前記操作検出部は、前記操作部のポインタが前記全天球画像内で指し示す位置の座標を検出する
画像処理装置。
(2)
前記操作検出部は、前記検出した交点の座標に、前記全天球画像にオーバーレイされている画像が検出された場合、その画像をドラッグする
前記(1)に記載の画像処理装置。
(3)
前記表示制御部は、前記ドラッグされた画像が、ドロップされた位置に、前記画像が表示されるように前記提示画像の表示を制御し、
前記操作検出部は、前記ドロップされた前記全天球画像内の位置の座標を検出する
前記(2)に記載の画像処理装置。
(4)
前記操作検出部は、オーバーレイされている画像の拡大、または縮小の操作を検出する
前記(1)乃至(3)のいずれかに記載の画像処理装置。
(5)
前記操作検出部は、2つの前記操作部が左右方向に広がったことを検出したとき、前記画像の拡大が指示されたと検出し、2つの前記操作部が左右方向に狭まったことを検出したとき、前記画像の縮小が指示されたと検出する
前記(4)に記載の画像処理装置。
(6)
前記操作部は、タッチパッドを備え、前記タッチパッドは、複数の領域に分割され、各領域に所定の操作が割り当てられている
前記(1)乃至(5)のいずれかに記載の画像処理装置。
(7)
前記操作部が操作され、メニューが表示されるとき、前記メニューは、横方向に展開され、前記メニュー内の項目は、縦方向に配列されている
前記(1)乃至(6)のいずれかに記載の画像処理装置。
(8)
操作部による操作入力を検出し、
没入提示デバイスに対して、前記操作部の画像が重畳された全天球画像の一部または全部を提示画像として出力して表示させるとともに、前記操作入力が検出された場合、前記操作入力が反映されるように前記提示画像の表示を制御する
ステップを含み、
前記操作入力の検出は、前記操作部のポインタが前記全天球画像内で指し示す位置の座標を検出するステップを含む
画像処理方法。
(9)
操作部による操作入力を検出し、
没入提示デバイスに対して、前記操作部の画像が重畳された全天球画像の一部または全部を提示画像として出力して表示させるとともに、前記操作入力が検出された場合、前記操作入力が反映されるように前記提示画像の表示を制御する
ステップを含み、
前記操作入力の検出は、前記操作部のポインタが前記全天球画像内で指し示す位置の座標を検出するステップを含む
処理をコンピュータに実行させるプログラム。
【符号の説明】
【0285】
11 没入提示デバイス, 12 ディスプレイ, 13 入力デバイス, 14 没入操作部, 15 画像処理装置, 32 操作検出部, 33 保持部, 34 編集反映処理部, 35 レンダラ部, 36 通信部, 121 タッチパッド, 122,123 ボタン