(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-29
(45)【発行日】2023-06-06
(54)【発明の名称】表示制御装置、表示制御方法、及びプログラム
(51)【国際特許分類】
G06F 3/04815 20220101AFI20230530BHJP
G06F 3/0484 20220101ALI20230530BHJP
G06T 19/00 20110101ALI20230530BHJP
G09G 5/00 20060101ALI20230530BHJP
G09G 5/02 20060101ALI20230530BHJP
G09G 5/37 20060101ALI20230530BHJP
【FI】
G06F3/04815
G06F3/0484
G06T19/00 A
G09G5/00 510H
G09G5/00 550C
G09G5/02 Z
G09G5/37 300
(21)【出願番号】P 2019144323
(22)【出願日】2019-08-06
【審査請求日】2022-07-25
(73)【特許権者】
【識別番号】000003193
【氏名又は名称】凸版印刷株式会社
(74)【代理人】
【識別番号】100149548
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100139686
【氏名又は名称】鈴木 史朗
(74)【代理人】
【識別番号】100169764
【氏名又は名称】清水 雄一郎
(74)【代理人】
【識別番号】100147267
【氏名又は名称】大槻 真紀子
(72)【発明者】
【氏名】岸 啓補
(72)【発明者】
【氏名】小幡 光一
【審査官】田川 泰宏
(56)【参考文献】
【文献】特開2013-029958(JP,A)
【文献】特開2019-057291(JP,A)
【文献】特開2014-215828(JP,A)
【文献】特開2014-232477(JP,A)
【文献】特開2011-034311(JP,A)
【文献】国際公開第2019/003953(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01-3/04895
G06T 19/00
G09G 5/00-5/37
(57)【特許請求の範囲】
【請求項1】
端末装置に表示される色画像の表示状態を制御する表示制御装置であって、
前記色画像は、仮想空間を仮想カメラのカメラパラメータを示す仮想カメラ情報に基づき、平面に投影した画像の各画素に、色を示す情報が格納された画像であり、
前記色画像、及びジオメトリ画像の画像情報を取得する画像情報取得部と、
前記端末装置に表示された前記色画像に対する、ユーザの操作を示すユーザ操作情報を取得する操作情報取得部と、
前記ユーザによる注視点であって、前記色画像に含まれる画素の二次元座標を示すユーザ注視点を推定するユーザ注視点推定部と、
前記ジオメトリ画像は、前記仮想空間を前記仮想カメラ情報に基づき平面に投影した画像の各画素に、形状を示す情報が格納された画像であり、前記ユーザ注視点、及び前記ジオメトリ画像に基づき、前記仮想カメラの操作の基準となる点であって、前記仮想空間の点を示す三次元座標を示すカメラ操作基準点を決定するカメラ操作基準点決定部と、
前記カメラ操作基準点、及び前記ユーザ操作情報に基づき、前記仮想カメラ情報を更新する仮想カメラ情報更新部と、
を備えることを特徴とする表示制御装置。
【請求項2】
前記仮想空間を前記仮想カメラ情報に基づき平面に投影した画像の各画素に、当該画素の顕著性を示す度合いを示す情報が格納された顕著性マップを生成する顕著性マップ生成部を更に備え、
前記ユーザ注視点推定部は、前記顕著性マップを用いて、前記ユーザ注視点を推定する、
ことを特徴とする請求項1に記載の表示制御装置。
【請求項3】
前記ユーザ注視点推定部は、前記顕著性マップに基づく、画素ごとの顕著性の度合いと所定の注意閾値とを比較することにより、前記ユーザ注視点を推定する、
ことを特徴とする請求項2に記載の表示制御装置。
【請求項4】
前記ユーザ注視点推定部は、前記顕著性マップのうち、顕著性の度合いが最大値であり、かつ、当該顕著性の度合いが所定の注意閾値よりも大きい画素の座標を、前記ユーザ注視点とする、
ことを特徴とする請求項3に記載の表示制御装置。
【請求項5】
前記ユーザ操作情報が、前記ユーザによる操作がなされた、前記色画像の位置を示す操作位置情報を含み、
前記ユーザ注視点推定部は、前記顕著性マップを複数の領域に分割し、当該複数の領域の各々に含まれる複数の画素の顕著性の度合いに基づく統計値と、当該複数の画素の座標に基づく重心座標とを算出し、前記複数の領域のうち、前記統計値が所定の注意閾値よりも大きく、前記重心座標から前記操作位置情報に示される位置までの距離が所定の距離閾値以内となる領域を抽出し、抽出した領域における前記重心座標を、前記ユーザ注視点とする、
ことを特徴とする請求項3に記載の表示制御装置。
【請求項6】
前記ユーザ注視点推定部は、前記領域の面積が大きい程、前記統計値が増加するように前記統計値を算出する、
ことを特徴とする請求項5に記載の表示制御装置。
【請求項7】
前記画像情報取得部は、前記仮想空間を、前記仮想カメラ情報に基づき平面に投影した画像の各画素に、カメラ操作基準点とするか否かの閾値である注意閾値を示す情報が格納された注意閾値画像の画像情報を取得し、
前記ユーザ注視点推定部は、前記注意閾値画像の各画素に対応付けられた注意閾値を、前記所定の注意閾値として、画素ごとの顕著性の度合いと比較することにより、前記ユーザ注視点を推定する、
ことを特徴とする請求項3から請求項6の何れか一項に記載の表示制御装置。
【請求項8】
前記注意閾値画像では、少なくとも一つの画素において、当該画素に対応する注意閾値に、前記顕著性マップにおける顕著性を示す度合いとして設定される範囲に含まれない値が設定される、
ことを特徴とする請求項7に記載の表示制御装置。
【請求項9】
前記操作情報取得部は、前記ユーザによる前記色画像を視る位置、及び方向が計測された計測値を、前記端末装置から取得し、
前記ユーザ注視点推定部は、前記計測値を用いて、前記ユーザ注視点を推定する、
ことを特徴とする請求項1から請求項8の何れか一項に記載の表示制御装置。
【請求項10】
前記ユーザ操作情報が、前記仮想カメラにおける操作の種類を示す操作種類情報、及び前記仮想カメラにおける操作の方向を示す操作方向情報を含み、
前記仮想カメラ情報更新部は、前記操作種類情報にオービットが示されている場合、前記仮想カメラの視線方向を、前記カメラ操作基準点に向けた状態を維持しつつ、前記操作方向情報に基づき、視点位置を、前記カメラ操作基準点を中心とする球面上で移動させるように前記仮想カメラ情報を更新する、
ことを特徴とする請求項1から請求項9の何れか一項に記載の表示制御装置。
【請求項11】
端末装置に表示される色画像の表示状態を制御する表示制御方法であって、
前記色画像は、仮想空間を仮想カメラのカメラパラメータを示す仮想カメラ情報に基づき、平面に投影した画像の各画素に、色を示す情報が格納された画像であり、
画像情報取得部が、前記色画像、及びジオメトリ画像の画像情報を取得する画像情報取得工程と、
操作情報取得部が、前記端末装置に表示された前記色画像に対する、ユーザの操作を示すユーザ操作情報を取得する操作情報取得工程と、
ユーザ注視点推定部が、前記ユーザによる前記色画像における注視点を示す二次元座標であるユーザ注視点を推定するユーザ注視点推定工程と、
前記ジオメトリ画像は、前記仮想空間を前記仮想カメラ情報に基づき平面に投影した画像の各画素に、形状を示す情報が格納された画像であり、カメラ操作基準点決定部が、前記ユーザ注視点、及び前記ジオメトリ画像に基づき、前記仮想空間の一点を示す三次元座標であって、前記仮想カメラの操作の基準となるカメラ操作基準点を決定するカメラ操作基準点決定工程と、
仮想カメラ情報更新部が、前記カメラ操作基準点、及び前記ユーザ操作情報に基づき、前記仮想カメラ情報を更新する仮想カメラ情報更新工程と、
を含むことを特徴とする表示制御方法。
【請求項12】
端末装置に表示される、仮想空間を仮想カメラのカメラパラメータを示す仮想カメラ情報に基づき、平面に投影した画像の各画素に、色を示す情報が格納された色画像の表示状態を制御する表示制御装置のコンピュータを、
前記色画像、及びジオメトリ画像の画像情報を取得する画像情報取得手段、
前記端末装置に表示された前記色画像に対する、ユーザの操作を示すユーザ操作情報を取得する操作情報取得手段、
前記ユーザによる前記色画像における注視点を示す二次元座標であるユーザ注視点を推定するユーザ注視点推定手段、
前記ジオメトリ画像は、前記仮想空間を前記仮想カメラ情報に基づき平面に投影した画像の各画素に、形状を示す情報が格納された画像であり、前記ユーザ注視点、及び前記ジオメトリ画像に基づき、前記仮想空間の一点を示す三次元座標であって、前記仮想カメラの操作の基準となるカメラ操作基準点を決定するカメラ操作基準点決定手段、
前記カメラ操作基準点、及び前記ユーザ操作情報に基づき、前記仮想カメラ情報を更新する仮想カメラ情報更新手段、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、表示制御装置、表示制御方法、及びプログラムに関する。
【背景技術】
【0002】
3DCG(3Dimensional Computer Graphics)を生成する技術を用いて、ユーザの操作に応じて、ユーザの希望する自由な任意の視点からみた仮想空間をリアルタイムに生成することで、リアルな映像でゲームやVR(Virtual Reality)を体験できる装置が実現されている。近年では、タブレットやスマートフォンといったモバイル端末、及びパーソナルコンピューターの処理性能の向上によって、このような仮想空間をモバイル端末等により生成することが可能となっている。
【0003】
このようなモバイル端末で仮想空間を投影する仮想カメラを操作する場合、例えば、ゲームコントローラを模した仮想的なコントローラをモバイル端末に表示させ、その仮想的なコントローラのボタンをタッチ操作することにより行う。しかし、仮想空間内の物体の鑑賞を目的とする場合などにおいては、当該物体と共に画面に表示される仮想コントローラにより、当該物体の一部が隠されてしまい、ユーザの映像体験が阻害されてしまう。
【0004】
この対策として、特許文献1には、このような仮想コントローラを表示させる代わりに、スワイプやタップといった表示画面へのタッチ操作により、仮想空間の表示を制御する操作を行う技術が開示されている。また、特許文献2には、マウスの移動量と選択されたボタンに応じて操作を行う技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2004-5272号公報
【文献】特開平7-306959号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、仮想空間においては、鑑賞対象物を中心として仮想カメラを回転させる回転移動の操作が多く利用されている。上記の技術を用いて、タッチ操作や、マウスの押しボタン操作により回転移動の操作を実行させようとすると、例えば、回転の中心(以下、カメラ操作基準点ともいう)を設定した上で、その後の微小時間以内に回転角度を設定しなければならず、操作が煩雑になってしまい直観的でなくなってしまうという問題があった。
【0007】
本発明は、このような状況に鑑みてなされたもので、仮想コントローラ等を用いなくとも、仮想空間における仮想カメラを直観的に操作することができる表示制御装置、表示制御方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本発明の一態様は、端末装置に表示される色画像の表示状態を制御する表示制御装置であって、前記色画像は、仮想空間を仮想カメラのカメラパラメータを示す仮想カメラ情報に基づき、平面に投影した画像の各画素に、色を示す情報が格納された画像であり、前記色画像、及びジオメトリ画像の画像情報を取得する画像情報取得部と、前記端末装置に表示された前記色画像に対する、ユーザの操作を示すユーザ操作情報を取得する操作情報取得部と、前記ユーザによる注視点であって、前記色画像に含まれる画素の二次元座標を示すユーザ注視点を推定するユーザ注視点推定部と、前記ジオメトリ画像は、前記仮想空間を前記仮想カメラ情報に基づき平面に投影した画像の各画素に、形状を示す情報が格納された画像であり、前記ユーザ注視点、及び前記ジオメトリ画像に基づき、前記仮想カメラの操作の基準となる点であって、前記仮想空間の点を示す三次元座標を示すカメラ操作基準点を決定するカメラ操作基準点決定部と、前記カメラ操作基準点、及び前記ユーザ操作情報に基づき、前記仮想カメラ情報を更新する仮想カメラ情報更新部と、を備えることを特徴とする表示制御装置である。
【0009】
また、本発明の一態様に係る表示制御装置において、前記仮想空間を前記仮想カメラ情報に基づき平面に投影した画像の各画素に、当該画素の顕著性を示す度合いを示す情報が格納された顕著性マップを生成する顕著性マップ生成部を更に備え、前記ユーザ注視点推定部は、前記顕著性マップを用いて、前記ユーザ注視点を推定する構成であってもよい。
【0010】
また、本発明の一態様に係る表示制御装置において、前記ユーザ注視点推定部は、前記顕著性マップに基づく、画素ごとの顕著性の度合いと所定の注意閾値とを比較することにより、前記ユーザ注視点を推定する構成であってもよい。
【0011】
また、本発明の一態様に係る表示制御装置において、前記ユーザ注視点推定部は、前記顕著性マップのうち、顕著性の度合いが最大値であり、かつ、当該顕著性の度合いが所定の注意閾値よりも大きい画素の座標を、前記ユーザ注視点とする構成であってもよい。
【0012】
また、本発明の一態様に係る表示制御装置において、前記ユーザ操作情報が、前記ユーザによる操作がなされた、前記色画像の位置を示す操作位置情報を含み、前記ユーザ注視点推定部は、前記顕著性マップを複数の領域に分割し、当該複数の領域の各々に含まれる複数の画素の顕著性の度合いに基づく統計値と、当該複数の画素の座標に基づく重心座標とを算出し、前記複数の領域のうち、前記統計値が所定の注意閾値よりも大きく、前記重心座標から前記操作位置情報に示される位置までの距離が所定の距離閾値以内となる領域を抽出し、抽出した領域における前記重心座標を、前記ユーザ注視点とする構成であってもよい。
【0013】
また、本発明の一態様に係る表示制御装置において、前記ユーザ注視点推定部は、前記領域の面積が大きい程、前記統計値が増加するように前記統計値を算出する構成であってもよい。
【0014】
また、本発明の一態様に係る表示制御装置において、前記画像情報取得部は、前記仮想空間を、前記仮想カメラ情報に基づき平面に投影した画像の各画素に、カメラ操作基準点とするか否かの閾値である注意閾値を示す情報が格納された注意閾値画像の画像情報を取得し、前記ユーザ注視点推定部は、前記注意閾値画像の各画素に対応付けられた注意閾値を、前記所定の注意閾値として、画素ごとの顕著性の度合いと比較することにより、前記ユーザ注視点を推定する構成であってもよい。
【0015】
また、本発明の一態様に係る表示制御装置において、前記注意閾値画像では、少なくとも一つの画素において、当該画素に対応する注意閾値に、前記顕著性マップにおける顕著性を示す度合いとして設定される範囲に含まれない値が設定される構成であってもよい。
【0016】
また、本発明の一態様に係る表示制御装置において、前記操作情報取得部は、前記ユーザによる前記色画像を視る方向が計測された計測結果に基づく計測値を、前記端末装置から取得し、前記ユーザ注視点推定部は、前記計測値を用いて、前記ユーザ注視点を推定する構成であってもよい。
【0017】
また、本発明の一態様に係る表示制御装置において、前記ユーザ操作情報が、前記仮想カメラにおける操作の種類を示す操作種類情報、及び前記仮想カメラにおける操作の方向を示す操作方向情報を含み、前記仮想カメラ情報更新部は、前記操作種類情報にオービットが示されている場合、前記仮想カメラの視線方向を、前記カメラ操作基準点に向けた状態を維持しつつ、前記操作方向情報に基づき、視点位置を、前記カメラ操作基準点を中心とする球面上で移動させるように前記仮想カメラ情報を更新する構成であってもよい。
【0018】
また、本発明の一態様は、端末装置に表示される色画像の表示状態を制御する表示制御方法であって、前記色画像は、仮想空間を仮想カメラのカメラパラメータを示す仮想カメラ情報に基づき、平面に投影した画像の各画素に、色を示す情報が格納された画像であり、画像情報取得部が、前記色画像、及びジオメトリ画像の画像情報を取得する画像情報取得工程と、操作情報取得部が、前記端末装置に表示された前記色画像に対する、ユーザの操作を示すユーザ操作情報を取得する操作情報取得工程と、ユーザ注視点推定部が、前記ユーザによる前記色画像における注視点を示す二次元座標であるユーザ注視点を推定するユーザ注視点推定工程と、前記ジオメトリ画像は、前記仮想空間を前記仮想カメラ情報に基づき平面に投影した画像の各画素に、形状を示す情報が格納された画像であり、カメラ操作基準点決定部が、前記ユーザ注視点、及び前記ジオメトリ画像に基づき、前記仮想空間の一点を示す三次元座標であって、前記仮想カメラの操作の基準となるカメラ操作基準点を決定するカメラ操作基準点決定工程と、仮想カメラ情報更新部が、前記カメラ操作基準点、及び前記ユーザ操作情報に基づき、前記仮想カメラ情報を更新する仮想カメラ情報更新工程と、を含むことを特徴とする表示制御方法である。
【0019】
また、本発明の一態様は、端末装置に表示される、仮想空間を仮想カメラのカメラパラメータを示す仮想カメラ情報に基づき、平面に投影した画像の各画素に、色を示す情報が格納された色画像の表示状態を制御する表示制御装置のコンピュータを、前記色画像、及びジオメトリ画像の画像情報を取得する画像情報取得手段、前記端末装置に表示された前記色画像に対する、ユーザの操作を示すユーザ操作情報を取得する操作情報取得手段、前記ユーザによる前記色画像における注視点を示す二次元座標であるユーザ注視点を推定するユーザ注視点推定手段、前記ジオメトリ画像は、前記仮想空間を前記仮想カメラ情報に基づき平面に投影した画像の各画素に、形状を示す情報が格納された画像であり、前記ユーザ注視点、及び前記ジオメトリ画像に基づき、前記仮想空間の一点を示す三次元座標であって、前記仮想カメラの操作の基準となるカメラ操作基準点を決定するカメラ操作基準点決定手段、前記カメラ操作基準点、及び前記ユーザ操作情報に基づき、前記仮想カメラ情報を更新する仮想カメラ情報更新手段、として機能させるプログラムである。
【発明の効果】
【0020】
本発明によれば、仮想コントローラ等を用いなくとも、仮想空間における仮想カメラを直観的に操作することができる。
【図面の簡単な説明】
【0021】
【
図1】第1の実施形態による画像表示システム1の構成の例を示すブロック図である。
【
図2】第1の実施形態による表示制御装置10の構成の例を示すブロック図である。
【
図3】第1の実施形態による操作テーブル記憶部107に記憶される情報の例を示す図である。
【
図4】第1の実施形態による表示制御装置10の動作の流れを示すフローチャートである。
【発明を実施するための形態】
【0022】
以下、図面を参照しながら本発明の実施形態を詳細に説明する。
【0023】
(第1の実施形態)
まず、第1の実施形態について説明する。
図1は、第1の実施形態による画像表示システム1の構成の例を示すブロック図である。画像表示システム1は、例えば、表示制御装置10と、画像生成装置20と、端末装置30とを備える。表示制御装置10と、画像生成装置20と、端末装置30とは相互に通信可能に接続される。この図の例では、画像表示システム1を構成する装置群(表示制御装置10、画像生成装置20、及び端末装置30)の各々が直接に接続される例を示しているが、画像表示システム1を構成する装置群の各々は、インターネットなどの通信ネットワークを介して接続されていてもよい。また、表示制御装置10、及び画像生成装置20は、パーソナルコンピューター、又は、サーバ装置等の情報処理装置である。端末装置30は、パーソナルコンピューター、タブレット、又はスマートフォン等の端末装置である。
【0024】
画像表示システム1では、端末装置30に画像が表示される。端末装置30に表示される画像は、仮想的なカメラ(以下、仮想カメラ)により仮想空間を撮影した画像である。仮想カメラは、仮想空間を撮像した画像を生成するために、仮想空間内に仮想的に配置するカメラである。すなわち、仮想空間を撮像した画像とは、仮想カメラの視点位置から視線方向にみた仮想空間を、二次元平面に投影させた画像である。
【0025】
仮想空間は、仮想的な光源、及びオブジェクト(物体)が配置される空間である。例えば、画像表示システム1にて、神殿など歴史的な建造物を端末装置30により鑑賞できるサービスが提供される場合、当該仮想空間に含まれるオブジェクトは、鑑賞の主な対象となる「神殿」、及び「神殿」をよりリアルに演出するために背景などに描画される平原や森の草や地面や空、木々などである。
【0026】
また、画像表示システム1では、端末装置30に表示された画像の表示に対して、鑑賞者(「ユーザ」の一例)による操作が行われると、端末装置30に表示される画像が変化する。画像の表示に対して行われる操作とは、仮想カメラの操作であって、例えば、オービット、ズームイン、ズームアウトなどの操作である。オービットは、仮想カメラの視線方向を所定の回転中心に常に向けつつ、当該回転中心から一定の距離を維持しながら周回させる操作である。ズームインは、仮想カメラの視点位置を視線方向に沿って被写体に近づける操作である。被写体とは、仮想空間を仮想カメラにより撮像する際に、その画角に入る1つ又は複数のオブジェクトである。ズームアウトは、仮想カメラの視点位置を視線方向に沿って被写体から遠ざける操作である。
【0027】
仮想カメラの操作は、表示されている画像に対して可能な操作であればよく、上述したオービット、ズームイン、ズームアウトに限定されることはない。例えば、仮想カメラの操作は、「パン」、「ティルト」、「トラック」、「ドリー・イン」、「ドリー・アウト」、「クレーンショット」等であってもよい。「パン」は、仮想カメラの視点位置を固定させたまま、視線方向を画像の水平方向に沿って移動させる操作である。「ティルト」は、仮想カメラの視点位置を固定させたまま、視線方向を画像の垂直方向に沿って移動させる操作である。「トラック」は、被写体と仮想カメラの視点位置との相対的な位置関係を保持したまま、被写体の動きに応じて仮想カメラの視点位置を移動させる操作である。「ドリー・イン」は、被写体と仮想カメラの視点位置との相対的な距離が小さくなるように変化させ、被写体と視点位置とが近づくようにする操作である。「ドリー・アウト」は、被写体と仮想カメラの視点位置との相対的な距離が大きくなるように変化させ、被写体と視点位置とが遠のくようにする操作である。「クレーンショット」は、「ドリー・イン」や「ドリー・アウト」を三次元的に行う操作である。また、仮想カメラの操作は、これらの操作の組合せであってもよい。
【0028】
画像生成装置20は、端末装置30に表示させる画像を生成する。画像生成装置20は、例えば、通信部200と、仮想カメラ情報取得部201と、画像生成部202と、仮想空間情報記憶部203と、制御部204とを備える。通信部200は、表示制御装置10、及び端末装置30と通信する。仮想カメラ情報取得部201は、通信部200を介して、仮想カメラ情報を取得し、取得した情報を画像生成部202に出力する。
【0029】
画像生成部202は、仮想空間情報と、仮想カメラ情報とに基づき、仮想空間を仮想カメラの視点位置から視線方向にみた画像(仮想空間に関する画像)を生成する。仮想空間情報は、仮想空間情報記憶部203に記憶される仮想空間に関する情報である。仮想空間情報の詳細については後述する。仮想カメラ情報は、仮想カメラに関する情報(カメラパラメータ)であり、少なくとも、仮想空間における仮想カメラの視点位置、及び視線方向を示す情報が含まれる。
【0030】
仮想空間に関する画像は、各画素に仮想空間に関する情報が格納された画像であり、例えば、色画像、ジオメトリ画像、オブジェクトID画像、及び注意閾値画像である。
色画像は、各画素に、被写体の色に関する情報が格納された画像である。色に関する情報は、例えばRGB値である。
【0031】
ジオメトリ画像は、各画素に、被写体の形状に関する情報が格納された画像であり、例えば、デプス画像、位置画像、或いは、オブジェクト位置画像の何れかである。デプス画像は、各画素に、仮想カメラの視点位置と被写体表面との距離(デプス値)が格納された画像である。位置画像は、各画素に、被写体表面の三次元座標値(ワールド座標上の三次元座標値)が格納された画像である。オブジェクト位置画像は、各画素に、被写体に対応するオブジェクトにおける仮想空間内での位置を示す三次元座標値(仮想空間に配置したワールド座標上の三次元座標値)が格納された画像である。オブジェクト位置画像では、同じオブジェクトに対応する複数の画素に対して同じ三次元座標値(代表値)が格納される。
オブジェクトID画像は、各画素に、被写体に対応するオブジェクトを一意に識別するオブジェクトIDが格納された画像である。
【0032】
注意閾値画像は、各画素に、被写体に対応するオブジェクトの注意閾値が格納された画像である。注意閾値は、当該オブジェクト上の三次元点をカメラ操作基準点とする(或いは、色画像上の二次元点を、ユーザ注視点とする)のに必要な顕著性の閾値を示す情報である。カメラ操作基準点とは、仮想カメラの操作における基準となる三次元点である。例えば、「オービット」操作において、カメラ操作基準点は、当該オービット操作における回転の中心となる位置である。ユーザ注視点は、色画像においてユーザが注視していると推定される箇所を示す二次元点である。
【0033】
顕著性とは、色画像の各画素に対する、当該画素が鑑賞者に注目される度合い(注目度)を推定した値であり、画素に対する視覚的な注意の向けられやすさの指標値である。注目度は、画素における特徴、例えば、色、明度、方位、コントラスト等により決定される。例えば、画像において、周囲と色が異なる部分(近傍に配置される画素同士の色差が大きい部分)は、人目をひきやすく、注目度が大きいと考えられる。同様に、画像において周囲と明度が異なる部分(近傍に配置される画素同士の明度の差が大きい部分)は、人目をひきやすく、注目度が大きいと考えられる。或いは、画像における四隅や、中心等の特定の位置に対応する画素は、他の画素と比較して注目度が大きいと考えられる。また、画像が動画像である場合には、点滅したり変化したりする部分は、他の点滅しない部分や変化しない部分と比較して注目度が大きいということが可能である。顕著性は、例えば、所定の範囲(例えば、0~1)の正の実数値で表現され、顕著性が大きい程、より注目度が大きく、注目度が大きいことを示す。
【0034】
注意閾値は、例えば、正の実数値で表現され、注意閾値が大きい程、カメラ操作基準点とするためにより大きな顕著性が必要となる。すなわち、色画像を構成する画素のうち、その顕著性がオブジェクトの注意閾値を超えている画素に対応する三次元点は、カメラ操作基準点となり得る。一方、色画像を構成する画素のうち、その顕著性が対応するオブジェクトの注意閾値を下回る画素に対応する三次元点はカメラ操作基準点となり得ない。
【0035】
注意閾値は、例えば実数値である。また、注意閾値は、仮想カメラにおける複数の操作の種類(オービット、ズームイン、ズームアウトなど)にそれぞれ対応した、複数の値であっても良い。
【0036】
画像生成装置20は、表示制御装置10から取得した仮想カメラ情報に基づいて、種々の仮想空間に関する画像を生成し、生成した仮想空間に関する画像のうちの色画像を表示制御装置10に送信する。
【0037】
仮想空間情報記憶部203は、仮想空間情報を記憶する。仮想空間情報は、仮想空間内の光源情報、及び仮想空間を構成するオブジェクトそれぞれに対応するオブジェクトの属性を示すオブジェクト属性情報からなる。オブジェクト属性情報は、三次元モデルに関する情報、仮想空間内での「位置、向き、及びスケール」を表す行列に関する情報、オブジェクトID、注意閾値情報からなる。
【0038】
三次元モデルに関する情報は、例えば、三次元座標で示されるオブジェクトの点群、当該点群からなるポリゴン(多角形)、及び、当該点群の各々における法線ベクトルや、UVマップ、テクスチャ等を示す情報である。UVマップは、ポリゴンと、当該ポリゴンにテクスチャを貼るための二次元座標値とが対応付けられたマップである。
【0039】
仮想空間内での「位置、向き、及びスケール」を表す行列に関する情報は、三次元モデルに関する情報に含まれる点群(複数の三次元座標)をオブジェクトの仮想空間内での位置、向き、及び実際の大きさに換算するための行列を示す情報である。
オブジェクトIDは各オブジェクトに対してユニーク割り振られた整数値である。
注意閾値情報は、各オブジェクトの注意閾値を示す情報である。
【0040】
オブジェクト属性情報に含まれる前述の情報の各々は、表示制御装置10における、後述する機能部により行われる処理に利用される。しかしながら、当該処理において全ての情報を使わない例もあり得る。この様な例においては、不要となる情報がオブジェクト属性情報に含まれなくても良いのは当然である。
【0041】
なお、空や地面に対応するオブジェクト等、カメラ操作基準点とするのに好ましくないオブジェクトがある場合、このようなオブジェクトの注意閾値は、例えば、顕著性が取り得る数値範囲(例えば、0~1)よりも大きな値(例えば、2)に設定しておくことが好ましい。すなわち、このような背景に対応するようなオブジェクトがカメラ操作基準点とならないように、注意閾値が設定されることが好ましい。
【0042】
制御部204は、画像生成装置20を統括的に制御する。制御部204は、例えば、表示制御装置10から通信部200を介して受信した仮想カメラ情報を、仮想カメラ情報取得部201に出力させる。また、制御部204は、画像生成部202が生成した色画像を、通信部200を介して端末装置30に送信する。
【0043】
端末装置30は、画像生成装置20から受信した色画像を表示する。端末装置30は、例えば、通信部300と、表示部301と、操作部302と、制御部303とを備える。通信部300は、表示制御装置10、及び画像生成装置20と通信する。表示部301は、画像生成装置20から受信した仮想空間の画像情報に基づく画像を表示する。操作部302は、表示部301に表示された画像を鑑賞する鑑賞者により操作される入力装置を含んで構成される。
【0044】
以下では、操作部302に含まれる入力装置がタッチパネルである場合を例示して説明するが、これに限定されることはない。入力装置は、マウスやキーボード、ゲームコントローラ等である。或いは、入力装置は、タッチパッド、スタイラス、トラックボール等のポインティングデバイスであってもよい。
【0045】
操作部302には、入力装置を通じてユーザ操作情報が入力される。ここで、ユーザ操作情報とは、鑑賞者によって行われた操作に関する情報である。ユーザ操作情報は、例えば、操作種類情報、操作位置情報、操作ベクトル情報、及び操作ステート情報からなる。
【0046】
操作種類情報は、鑑賞者によって行われた操作の種類を示す情報である。操作種類情報は、例えば文字列である。この場合、入力装置がタッチパネルやタッチパッドであれば、操作種類情報は、「swipe」や、「two-finger swipe」等の文字列である。「swipe」は、指を画面上で滑らせてスワイプする操作を示す。「two-finger swipe」は、2本指によるスワイプを示す。入力装置がマウス等であれば、操作種類情報は、「L_Mouse_Button」や、「R_Mouse_Button」等の文字列である。「L_Mouse_Button」、及び「R_Mouse_Button」は、ドラッグ操作中に押し下げたボタンの種類を示す。入力装置がキーボードやゲームコントローラであれば、操作種類情報は、キーやアナログスティックなどの種類を示す「Right_Arrow_Key」や「1st-Axis」などの文字列である。
【0047】
なお、ここでは簡単のため、操作種類情報が文字列である場合を例示したが、操作の種類に対して一対一対応する情報であれば何でもよく、例えば、操作の種別を一意に識別する識別番号であってもよい。
【0048】
操作位置情報は、当該操作が行われた画面上の位置を示す。操作位置情報は、例えば、画像における座標値(位置)を示す情報である。入力装置がタッチパネルやタッチパッドである場合、操作位置情報は、スワイプ操作やフリック操作における操作の起点の画像上の位置(最初に指が触れた画面上の位置)である。入力装置がキーボードやゲームコントローラである場合、操作位置情報は、例えば、当該情報が無効であることを示すフラグ値(例えば、NaN(Not a Number)値)である。あるいは、操作位置情報は、画像上の中央など特定の位置を示す固定値であってもよい。
【0049】
操作ベクトル情報は、当該操作の方向と量を示す情報である。操作ベクトル情報は、例えば、画像上の二次元ベクトルを示す情報である。例えば、入力装置がタッチパネルやタッチパッドである場合、操作ベクトル情報は、操作位置情報の示す位置から現在鑑賞者が触れている位置に向かうベクトル、あるいは所定の単位時間分だけ前に鑑賞者が触れていた位置から現在鑑賞者が触れている位置に向かうベクトルである。また、入力装置がキーボードである場合、操作ベクトル情報は、押し下げられたキーに予め対応づけられた所定の方向及び大きさのベクトルである。また、入力装置がゲームコントローラである場合、操作ベクトル情報は、アナログスティックが倒された方向及び傾斜量に対応するベクトルである。
【0050】
操作ステート情報は、当該操作の状態を示す。操作ステート情報は、例えば、当該操作が操作を開始した開始時点のものであるか、操作が継続中のものであるか、終了時点のものであるかのステート(状態)を表す列挙型の値である。例えば、入力装置がタッチパネルやタッチパッドであり、例えば、スワイプ操作が行われる場合、操作ステート情報は、鑑賞者の指が画面に触れた時点であれば「開始」、離れた時点であれば「終了」、いずれでもなければ「継続」を示す。また、入力装置がキーボードやゲームコントローラであり、例えば、キーやアナログスティックによる押し下げ、或いは倒す操作が行われる場合、操作ステート情報は、キーやアナログスティックが押し下げられ始めた、或いは倒され始めた時点であれば「開始」、離された、或いはニュートラルポジションに戻された時点であれば「終了」、いずれでもなければ「継続」を示す。
【0051】
制御部303は、端末装置30を統括的に制御する。制御部303は、例えば、画像生成装置20から通信部300を介して受信した色画像を表示部301に出力させる。また、制御部303は、操作部302に入力されたユーザ操作情報を、通信部300を介して表示制御装置10に送信する。
【0052】
表示制御装置10は、端末装置30に表示させる画像の表示の状態(表示状態)を制御する。表示制御装置10は、端末装置30からユーザ情報を受信する。表示制御装置10は、受信したユーザ情報と、画像生成装置20から受信した仮想空間に関する画像に基づいて仮想カメラ情報を生成(更新)する。表示制御装置10は、生成した仮想カメラ情報を画像生成装置20に送信する。表示制御装置10は、送信した仮想カメラ情報に対する応答として、画像生成装置20から仮想カメラ情報が反映された仮想空間に関する画像を受信する。表示制御装置10は、受信した仮想空間に関する画像のうち、色画像の画像情報を端末装置30に送信する。
【0053】
図2は、第1の実施形態による表示制御装置10の構成の例を示すブロック図である。表示制御装置10は、例えば、通信部100と、画像情報取得部101と、顕著性マップ生成部102と、ユーザ注視点推定部103と、カメラ操作基準点決定部104と、カメラ操作基準点記憶部105と、操作情報取得部106と、操作テーブル記憶部107と、カメラ操作種類情報取得部108と、仮想カメラ情報更新部109と、仮想カメラ情報記憶部110と、制御部111とを備える。
【0054】
通信部100は、画像生成装置20、及び端末装置30と通信を行う。通信部100は、端末装置30から、ユーザ操作情報を受信する。通信部100は、仮想カメラ情報更新部109により更新された仮想カメラ情報を、画像生成装置20に送信する。通信部100は、画像生成装置20から、画像生成装置20により生成された仮想空間に関する画像(色画像、デプス画像、オブジェクトID画像、及び注意閾値画像)を受信する。
【0055】
画像情報取得部101は、画像生成装置20により生成された仮想空間に関する画像(色画像、デプス画像、オブジェクトID画像、及び注意閾値画像)の画像情報を取得する。画像情報取得部101は、取得した各種画像の画像情報うち、色画像の画像情報を顕著性マップ生成部102に出力する。画像情報取得部101は、オブジェクトID画像、及び注意閾値画像の画像情報を、ユーザ注視点推定部103に出力する。画像情報取得部101は、ジオメトリ画像の画像情報を、カメラ操作基準点決定部104に出力する。
【0056】
顕著性マップ生成部102は、画像情報取得部101から取得した色画像の画像情報に基づいて、色画像の顕著性マップを生成する。顕著性マップは、色画像に、顕著性を示す情報を対応づけたマップであって、例えば、画素ごとに顕著性の度合い(注目度)を示す値を格納した画像である。
【0057】
以下では、顕著性マップ生成部102が、色画像におけるコントラストに基づいて、顕著性マップを生成する場合を例示して説明する。しかしながら、これに限定されない。顕著性マップ生成部102は、画像情報取得部101が取得した仮想空間に関する画像のそれぞれの情報から算出した他の指標に基づいて顕著性マップを生成してもよい。また、これらの他の指標の全部又は一部を組み合わせた情報を用いて顕著性マップを生成するようにしてもよい。
【0058】
顕著性マップ生成部102は、例えば、色画像の画素ごとに、対象とする画素の色と、その周囲にある複数の画素の各々の色との差分を算出し、算出した差分の代表値(例えば、最も差分が大きい値や単純加算平均値など)に応じて顕著性の度合いを導出する。顕著性マップ生成部102は、生成した顕著性マップの情報を、ユーザ注視点推定部103に出力する。
【0059】
また、例えば、顕著性マップ生成部102に代えて、画像生成装置20の画像生成部202が、顕著性マップを生成するようにしてもよい。この場合、仮想空間情報記憶部203に記憶された仮想空間情報には、仮想空間情報に含まれる各オブジェクトの顕著性の度合いを示す情報が、更に含まれる。
【0060】
例えば、以下のステップS10~S12により、 画像生成部202により生成された顕著性マップが、ユーザ注視点推定部103に取得される。
ステップS10:
画像生成部202は、仮想空間情報と仮想カメラ情報とに基づき、各オブジェクトの顕著性を二次元平面に投影した画像として顕著性マップを生成する。
ステップS11:
画像生成装置20は、通信部200を介して、色画像と共に、顕著性マップを表示制御装置10に送信する。
ステップS12:
表示制御装置10は、通信部100を介して、画像情報取得部101により色画像と共に当該顕著性マップを取得する。画像情報取得部101は、取得した当該顕著性マップをユーザ注視点推定部103に出力する。
【0061】
または、顕著性マップ生成部102が、画像生成装置20から取得した顕著性マップ(以下、第1顕著性マップという)と、色画像から生成した顕著性マップ(以下、第2顕著性マップという)を合成するようにしてもよい。
この場合、上述のステップS12において、画像情報取得部101は、通信部100を介して取得した第1顕著性マップを、顕著性マップ生成部102に出力する。顕著性マップ生成部102は第1顕著性マップと、第2顕著性マップとを合成する。当該合成の方法は、例えば乗算であってもよい。この場合、顕著性マップ生成部102は、双方のマップにおいて同じ位置にある画素に対応付けられている顕著性の値を乗算した値を、当該画素に対応する顕著性を示す値とすることで新たな顕著性マップを生成する。
【0062】
以下では、鑑賞者により、仮想カメラに対して「オービット」の操作行われる場合を例示して説明する。しかしながら、これに限定されない。鑑賞者により仮想カメラに対して他の操作が行われた場合であっても同様に処理することが可能である。
【0063】
操作情報取得部106は、通信部100を介して、端末装置30からのユーザ操作情報を取得する。操作情報取得部106は、当該ユーザ操作情報に含まれる操作ステート情報が「開始」を示している場合、当該ユーザ操作情報に含まれる操作位置情報をユーザ注視点推定部103に出力する。また、操作情報取得部106は、当該操作ステート情報が「継続」を示している場合、当該ユーザ操作情報に含まれる操作種類情報をカメラ操作種類情報取得部108に、操作ベクトル情報を仮想カメラ情報更新部109にそれぞれ出力する。
【0064】
操作テーブル記憶部107は、操作テーブルを記憶する。
図3は、第1の実施形態における操作テーブル記憶部107が記憶する情報の例を示す図である。この図の例に示すように、操作テーブルは、ユーザ操作情報における操作種類情報と、カメラ操作種類情報との対応関係を記憶する。ここで、カメラ操作種類情報とは、カメラ操作の種類を示す情報であり、例えば、「オービット」を示すのであれば“orbit”、「ドリー」を示すのであれば”dolly”といった文字列である。ここでは簡単のため、カメラ操作種類情報が文字列である場合を例示したが、これに限定されない。カメラ操作種類情報は、操作の種類に対して一対一対応する情報であれば何でもよく、例えば識別番号であってもよい。
【0065】
図2に戻り、カメラ操作種類情報取得部108は、操作情報取得部106からのユーザ操作情報に含まれる操作種類情報を取得する。カメラ操作種類情報取得部108は、取得した操作種類情報と、操作テーブル記憶部107に記憶された操作テーブルに基づいて、仮想カメラに対して行う操作の種類を識別子により示す情報(カメラ操作種類情報)を取得する。例えば、操作テーブルにおいて操作種類情報“swipe”がカメラ操作種類情報“orbit”に対応付けられている場合、カメラ操作種類情報取得部108は、ユーザ操作情報における操作種類情報が“swipe”であれば、操作テーブルからカメラ操作種類情報“orbit”を取得する。カメラ操作種類情報取得部108は、取得したカメラ操作種類情報を、少なくともカメラ操作基準点決定部104に、また必要に応じてユーザ注視点推定部103に出力する。
【0066】
ユーザ注視点推定部103は、顕著性マップ、及び画像生成装置20から受信したジオメトリ画像に基づいて、ユーザが注視している画像上の二次元座標点であるユーザ注視点を推定する。ユーザ注視点推定部103は、例えば、顕著性マップ内で顕著性が最大であり、かつ所定の注意閾値以上の顕著性を持つ画素の位置座標(二次元座標)を、ユーザ注視点とする。ユーザ注視点推定部103は、推定したユーザ注視点を、カメラ操作基準点決定部104に出力する。
【0067】
ここで、上記ユーザ注視点の推定に用いられる所定の注意閾値は、予め固定値として図示しない記憶部に記憶されたものであってよい。また、所定の注意閾値は、画像生成装置20から受信した注意閾値画像を用いて各領域について個別に設定された注意閾値を設定されたものであってもよい。
【0068】
また、ユーザ注視点推定部103は、操作情報取得部106から取得したユーザ操作情報の操作位置情報が無効(例えば、NaN値)でない場合、顕著性マップ、及びジオメトリ画像に加えて、オブジェクトID画像、及び当該操作位置情報に基づいて、ユーザ注視点を推定するようにしてもよい。
【0069】
この場合、ユーザ注視点推定部103は、例えば、まずオブジェクトID画像上の同一のオブジェクトIDを持つ各領域について、対応する顕著性マップ上の各画素における顕著性の統計値(例えば、積算値や平均値等)である顕著性統計値と、当該各画素の座標から重心座標とを算出する。
【0070】
なお、この場合において、ユーザ注視点推定部103は、オブジェクトに対応する各領域とは無関係に、顕著性マップ(顕著性マップに限らず、仮想空間に関する画像であれば任意の画像であってよい)を複数の領域に分割した各領域について、顕著性統計値と重心座標とを算出するようにしてもよい。
【0071】
また、ユーザ注視点推定部103は、当該顕著性統計値の算出において、積算値等の標本数(領域の面積)に対して増加するような統計指標を用いてもよい。この場合、顕著性統計値と所定の注意閾値との比較により、面積の小さい領域を、ユーザ注視点の候補から除外することができる。
【0072】
また、ユーザ注視点推定部103は、当該重心座標の算出において、各画素の座標を、顕著性マップ上の画素値で重み付けしたものを用いても良い。これにより、幾何学的な重心に代えて、顕著性が高い領域を重心座標とすることができ、顕著性が高い領域にユーザ注視点を設定することができる。
【0073】
次に、ユーザ注視点推定部103は、各領域の中から、顕著性統計値が所定の注意閾値を超えるもののうち、重心座標と、操作位置情報の示す二次元座標との距離が最も近く、且つ、当該距離が所定の距離閾値より小さい領域を選択し、当該選択した領域の重心座標をユーザ注視点とする。
【0074】
上述した所定の距離閾値は、予め固定値として図示しない記憶部に記憶されたものであってもよいし、前記操作テーブルに新たにカラムを設けて、操作種類情報に対応する形で記憶されたものであっても良い。また、ユーザ注視点推定部103は、当該距離閾値を固定値とせずに、端末装置30の画面の大きさと解像度から算出してもよい。この場合、表示制御装置10は、通信部100により、端末装置30との通信開始時などに、一度だけ当該端末装置30の画面の大きさと解像度とを、受信するようにしてもよい。
【0075】
また、前述の処理において、ユーザ注視点推定部103は、顕著性マップに基づいてオブジェクト毎の領域を抽出するために、オブジェクトID画像を用いる場合を例示して説明したがこれに限定されない。ユーザ注視点推定部103は、少なくともオブジェクトに一対一対応する情報を用いてオブジェクト毎の領域を抽出すればよい。例えば、ユーザ注視点推定部103は、オブジェクトに一対一対応する画素値を持つ画像である注意閾値画像やジオメトリ画像(ジオメトリ画像がオブジェクト位置画像である場合)を、オブジェクトID画像の代わりに用いても良い。
【0076】
また、注意閾値画像の各画素が、仮想カメラの操作の種類にそれぞれ対応付けられた複数の注意閾値を含んでいる場合、ユーザ注視点推定部103は、これら複数の注意閾値のうち、カメラ操作種類情報取得部108から出力されるカメラ操作種類情報に対応する注意閾値を選択するようにしてもよい。
【0077】
ユーザ注視点推定部103は、上記条件を満たすユーザ注視点が存在しない場合、例えば、顕著性マップ内に、前記所定の注意閾値を超える画素が(前記所定の距離閾値で規定される範囲内に)存在しない場合、処理を終了する。
【0078】
カメラ操作基準点決定部104は、ユーザ注視点推定部103により推定された、ユーザ注視点と、画像生成装置20から受信したジオメトリ画像とに基づいて、カメラ操作基準点記憶部105に記憶されたカメラ操作基準点を決定する。
【0079】
具体的に、カメラ操作基準点決定部104は、画像生成装置20から受信したジオメトリ画像におけるユーザ注視点により示される二次元座標を取得し、取得した座標にある画素に対応づけられた画素値(デプス値、又は三次元座標値)に基づき、新たなカメラ操作基準点を算出する。
【0080】
この場合、カメラ操作基準点決定部104は、ジオメトリ画像がデプス画像であり、当該画素値がデプス値であれば、後述の仮想カメラ情報記憶部110に格納された仮想カメラ情報に基づいて当該デプス値をワールド空間の三次元座標に変換し、変換した当該三次元座標を、カメラ操作基準点とする。
【0081】
一方、カメラ操作基準点決定部104は、ジオメトリ画像が位置画像、又はオブジェクト位置画像であり、当該画素値が三次元座標値である場合、当該画素値(三次元座標値)そのものを新たなカメラ操作基準点とする。
【0082】
カメラ操作基準点記憶部105は、カメラ操作基準点を示す三次元座標値を記憶する。
【0083】
仮想カメラ情報記憶部110は、仮想カメラ情報、及び基準仮想カメラ情報を記憶する。
仮想カメラ情報は、前述の通り、仮想カメラのカメラパラメータを示す情報であり、少なくとも視点位置、及び視線方向に関する情報を含む。
基準仮想カメラ情報は、後述の仮想カメラ情報更新部109により仮想カメラ情報が更新される際に使用される情報である。基準仮想カメラ情報は、例えば、操作開始時の仮想カメラ情報の値(初期値)である。以下、便宜上「仮想カメラ情報」に対する「仮想カメラ」と同様に、基準仮想カメラ情報に対応する仮想空間中の仮想的なカメラを「基準仮想カメラ」と呼ぶ。
【0084】
仮想カメラ情報更新部109は、ユーザ操作情報と、カメラ操作種類情報と、カメラ操作基準点に応じて、仮想カメラ情報、又は基準仮想カメラ情報を更新する。ユーザ操作情報は操作情報取得部106により、及びカメラ操作種類情報はカメラ操作種類情報取得部108により、それぞれ取得される情報である。カメラ操作基準点は、カメラ操作種類情報取得部108に記憶される情報である。
【0085】
ここで、ユーザ操作情報の操作開始フラグ情報がTrueを示している場合、仮想カメラ情報更新部109は、基準仮想カメラ情報を仮想カメラ情報で上書きする。
一方、操作開始フラグ情報がFalseを示している場合、仮想カメラ情報更新部109は、基準仮想カメラ情報、及び前述の各種情報を用いて、仮想カメラ情報を更新する。具体的に、仮想カメラ情報更新部109は、例えば、カメラ操作種類情報が「オービット」操作に対応する“orbit”である場合、ユーザ操作情報の操作ベクトル情報と、基準仮想カメラ情報とに基づき、仮想カメラに対して「オービット」の操作を行うよう仮想カメラ情報を更新する。
【0086】
このとき、仮想カメラ情報更新部109は、仮想カメラの視線方向を、カメラ操作基準点に向けつつ、基準仮想カメラまたは仮想カメラの視点位置を、カメラ操作基準点を通る所定の方向の回転軸のまわりを所定の角度だけ回転させた位置に、仮想カメラの視点位置を移動するよう、仮想カメラ情報を更新する。
【0087】
ここで所定の方向、及び所定の角度とは、例えば、所定の方向が仮想空間中のY軸(上下)方向であり、所定の角度は操作ベクトル情報のx成分(左右の成分)に所定の係数をかけたものである。この場合、仮想カメラは、ユーザの操作に基づきカメラ操作基準点を中心とする円軌道上を移動することになる。
【0088】
或いは、所定の方向が、操作ベクトルを仮想カメラ情報に基づき画像平面から仮想空間に写像したベクトルの方向、及び仮想カメラの視線方向に直行する方向であってもよい。また、所定の角度が、ユーザ操作情報に含まれる操作ベクトル情報の示すベクトルの大きさに所定の係数をかけた値であってもよい。この場合、仮想カメラは、ユーザの操作に基づきカメラ操作基準点を中心とする球面上を移動することになる。なお、当該所定の係数は、端末装置30の画面の大きさに応じて決定してもよく、また、負の値であってもよい。
【0089】
制御部111は、表示制御装置10を統括的に制御する。制御部111は、例えば、端末装置30から通信部100を介して受信したユーザ操作情報を、操作情報取得部106に出力する。また、制御部111は、仮想カメラ情報更新部109により更新された仮想カメラ情報を、通信部100を介して画像生成装置20に送信する。制御部111は、通信部100を介して画像生成装置20から受信した各種画像を、画像情報取得部101に出力する。
【0090】
図4は、第1の実施形態による表示制御装置10の動作の流れを示すフローチャートである。
ステップS100:
表示制御装置10は、通信部100により画像生成装置20に仮想カメラ情報を送信する。通信部100は、仮想カメラ情報更新部109により更新された仮想カメラ情報を、画像生成装置20に送信する。仮想カメラ情報更新部109は、端末装置30に色画像を最初に表示させる場合において、予め定めた初期値を仮想カメラ情報とする。以降、仮想カメラ情報更新部109は、後述するステップS111において、仮想カメラ情報を、ユーザ操作情報の内容に応じて更新する。
ステップS101:
表示制御装置10は、端末装置30からユーザ操作情報を受信するまで待機する。表示制御装置10は、ユーザ操作情報を受信した場合にはステップS102に進む。
ステップS102:
表示制御装置10は、操作情報取得部106により取得されたユーザ操作情報に含まれる操作ステート情報が、「開始」、「継続」、又は「終了」の何れを示しているか判定する。表示制御装置10は、操作ステート情報が「開始」を示している場合、ステップS103に進み、「継続」を示している場合はステップS109に進み、「終了」を示している場合は終了ステップに進む。
【0091】
ステップS103:
表示制御装置10は、画像情報取得部101により、通信部100を介して画像生成装置20から各種画像情報(仮想空間に関する画像の画像情報)を受信する。通信部100は、ステップS100において画像生成装置20に送信した仮想カメラ情報に基づいて画像生成装置20が生成した各種画像情報を、画像生成装置20から受信する。
【0092】
ステップS104:
表示制御装置10は、顕著性マップ生成部102により、ステップS102で受信した仮想空間に関する画像のうちの色画像における顕著性の分布を示す顕著性マップを生成する。顕著性マップ生成部102は、例えば、色画像における画素ごとの色情報(RGB値)に基づいて判定した、画素ごとの顕著性を用いて顕著性マップを生成する。
ステップS105:
表示制御装置10は、ユーザ注視点推定部103により、顕著性マップ及び、必要に応じてユーザ操作情報に含まれる操作位置情報を用いて、ユーザが注視している画像上の二次元座標点であるユーザ注視点を推定する。
ステップS106:
表示制御装置10は、ユーザ注視点推定部103によるユーザ注視点の推定が成功したか否かを判定する。ユーザ注視点推定部103は、所定の条件を満たすユーザ注視点が存在するか否かに応じて、ユーザ注視点の推定が成功したか否かを判定する。所定の条件とは、例えば、顕著性マップにおける画素ごとの顕著性のうち、所定の注意閾値を超える画素が、所定の距離閾値で規定される範囲内に存在するとの条件である。すなわち、ユーザ注視点推定部103は、所定の注意閾値を超える画素であって、尚且つ所定の距離閾値で規定される範囲内にある画素が、顕著性マップ内に存在する場合、ユーザ注視点の推定が成功したと判定する。表示制御装置10は、当該ユーザ注視点の推定に成功した場合、ステップS107に進む。一方、表示制御装置10は、当該ユーザ注視点の推定に失敗した場合、終了ステップに進む。
【0093】
ステップS107:
表示制御装置10は、カメラ操作基準点決定部104により、当該ユーザ注視点と前記各種画像情報に含まれるジオメトリ画像から、カメラ操作基準点を決定(更新)し、更新したカメラ操作基準点を、カメラ操作基準点記憶部105に記憶(上書き)する。
ステップS108:
表示制御装置10は、仮想カメラ情報更新部109により、仮想カメラ情報から基準仮想カメラ情報を生成(更新)し、更新した基準仮想カメラ情報を仮想カメラ情報記憶部110に記憶(上書き)する。
【0094】
ステップS109:
表示制御装置10は、カメラ操作種類情報取得部108により、カメラ操作種類情報を取得する試みを行い、ステップS110に進む。
ステップS110:
表示制御装置10は、操作情報取得部106により取得したユーザ操作情報の操作種類情報が、操作テーブル記憶部107の操作テーブルに記録されており、カメラ操作種類情報取得部108によるカメラ操作種類情報の取得が成功した場合、ステップS111に進む。一方、表示制御装置10は、操作情報取得部106により取得したユーザ操作情報の操作種類情報が、操作テーブル記憶部107の操作テーブルに記録されていない場合、或いは、カメラ操作種類情報取得部108によりカメラ操作種類情報の取得が成功しなかった場合、終了ステップに進む。
ステップS111:
表示制御装置10は、仮想カメラ情報更新部109により、仮想カメラ情報を更新する。仮想カメラ情報更新部109は、カメラ操作種類情報、カメラ操作基準点、ユーザ操作情報の操作ベクトル情報、及び基準仮想カメラ情報に基づいて、仮想カメラ情報を更新する。
仮想カメラ情報更新部109は、例えば、カメラ操作種類情報が「オービット」に対応する場合、カメラ操作基準点を中心とする球面上を、視線方向をカメラ操作基準点に向けつつ、カメラ操作基準点を通る所定の方向の直線を回転軸として、操作ベクトル情報に応じた方向及び量だけ視点位置を移動させるよう仮想カメラ情報を更新する。
また、仮想カメラ情報更新部109は、例えば、カメラ操作種類情報が「ドリー」に対応する場合、操作ベクトル情報の示すX軸方向、又はY軸方向の値にもとづき、視点位置とカメラ操作基準点との距離を増減させるよう、仮想カメラ情報を更新してもよい。表示制御装置10は、仮想カメラ情報更新部109による仮想カメラ情報の更新の後、ステップS100に進む。
【0095】
以上説明したように、第1の実施形態における表示制御装置10は、仮想カメラ情報記憶部110と、画像情報取得部101と、操作情報取得部106と、ユーザ注視点推定部103と、カメラ操作基準点決定部104と、仮想カメラ情報更新部109とを備える。仮想カメラ情報記憶部110は、仮想カメラのカメラパラメータを示す仮想カメラ情報を記憶する。画像情報取得部101は、色画像、及びジオメトリ画像の画像情報を取得する。操作情報取得部106は、端末装置30に表示された色画像に対する、ユーザの操作を示すユーザ操作情報を取得する。ユーザ注視点推定部103は、ユーザによる注視点であって、前記色画像に含まれる画素の二次元座標を示すユーザ注視点を推定する。カメラ操作基準点決定部104は、ユーザ注視点とジオメトリ画像とから、仮想空間の一点を示す三次元座標であって、前記仮想カメラの操作の基準となるカメラ操作基準点を決定する。仮想カメラ情報更新部109は、カメラ操作基準点と、ユーザ操作情報に基づき、仮想カメラ情報を更新する。
【0096】
これにより、第1の実施形態における表示制御装置10は、ユーザの注視点を推定してカメラ操作基準点を決定することができる。このため、例えば、鑑賞者が、オービット操作を行うことで、色画像に表示された物体(オブジェクト)を様々な角度から鑑賞しようとしてタッチ操作した場合において、タッチ操作の位置が、物体の中心から多少ずれていたとしても、鑑賞している物体を含む領域を中心として、オービット操作が行われる。したがって、回転の中心を正確に指定するような手間をかけなくとも鑑賞対象物を直観的に操作することが可能となる。
【0097】
また、第1の実施形態における表示制御装置10では、顕著性マップを生成する顕著性マップ生成部102を更に備え、ユーザ注視点推定部103は、顕著性マップを用いて、ユーザ注視点を推定する。これにより、第1の実施形態における表示制御装置10では、色画像においける画素ごとの顕著性に基づいて、ユーザ注視点を推定することができる。また、注視点を推定するのに、顕著性マップを参照するという容易な方法を用いることができ、鑑賞者の視線を計測するセンサー等の特別な装置を必要としない。
【0098】
また、第1の実施形態における表示制御装置10では、ユーザ注視点推定部103は、顕著性マップに基づく、画素ごとの顕著性の度合いと所定の注意閾値とを比較することにより、ユーザ注視点を推定する。これにより、顕著性の度合いが、所定の閾値より大きい画素をユーザ注視点とすることができ、上述した効果と同様な効果を奏することができる。
【0099】
また、第1の実施形態における表示制御装置10では、ユーザ注視点推定部103は、顕著性マップのうち、顕著性の度合いが最大値であり、かつ、当該顕著性の度合いが所定の注意閾値よりも大きい画素の座標を、ユーザ注視点とする。これにより、顕著性の度合いが、最も大きく、尚且つ所定の閾値より大きい画素をユーザ注視点とすることができ、上述した効果と同様な効果を奏することができる。
【0100】
また、第1の実施形態における表示制御装置10では、ユーザ操作情報が、操作位置情報を含み、ユーザ注視点推定部103は、顕著性マップを複数の領域に分割し、当該複数の領域の各々に含まれる複数の画素の顕著性の度合いに基づく顕著性統計値(「統計値」の一例)と、当該複数の画素の座標に基づく重心座標とを算出する。ユーザ注視点推定部103は、複数の領域のうち、前記統計値が所定の注意閾値よりも大きく、重心座標から操作位置情報に示される位置までの距離が所定の距離閾値以内となる領域を抽出し、抽出した領域における前記重心座標を、ユーザ注視点とする。これにより、ある程度の顕著性があり、ユーザがタッチ操作などの操作をした位置に近い画素を、ユーザ注視点とすることができ、上述した効果と同様な効果を奏することができる。
【0101】
また、第1の実施形態における表示制御装置10では、ユーザ注視点推定部103は、色画像等を複数に分割した領域の面積が大きい程、統計値が増加するように前記統計値を算出する。これにより、顕著性統計値と所定の注意閾値との比較により、面積の小さい領域を、ユーザ注視点の候補から除外することができる。
【0102】
また、第1の実施形態における表示制御装置10では、画像情報取得部101は、注意閾値画像の画像情報を取得し、ユーザ注視点推定部103は、注意閾値画像の各画素に対応付けられた注意閾値を所定の注意閾値として、画素ごとに、所定の注意閾値と顕著性の度合いと比較することにより、ユーザ注視点を推定する。これにより。画素ごとの比較という容易な方法にてユーザ注視点とすることができ、上述した効果と同様な効果を奏することができる。
【0103】
また、第1の実施形態における表示制御装置10では、注意閾値画像では、少なくとも一つの画素において、当該画素に対応する注意閾値に、顕著性マップにおける顕著性を示す度合いとして設定される範囲に含まれない値が設定される。これにより、色画像の背景がユーザ注視点とならないように、つまり、背景に対応するオブジェクトがカメラ操作基準点とならないようすることができる。
【0104】
また、第1の実施形態における表示制御装置10では、ユーザ操作情報が、操作種類情報、及び操作方向情報を含み、仮想カメラ情報更新部109は、操作種類情報にオービットが示されている場合、仮想カメラの視線方向を、カメラ操作基準点に向けた状態を維持しつつ、操作方向情報に基づき、視点位置を、前記カメラ操作基準点を中心とする球面上で移動させるように前記仮想カメラ情報を更新する。これにより、オービット操作において、ユーザがスライド操作などの操作を行った方向に沿って、色画像が回転するように表示させことができ、鑑賞対象物を直観的に操作することが可能となる。
【0105】
(第2の実施形態)
次に、第2の実施形態について説明する。第2の実施形態では、上述した第1の実施形態と異なる処理を行う機能部について、操作情報取得部106A,操作部302A、等というように符号の末尾に「A」を付して説明する。上述した第1の実施形態と同等の処理を行う機能部については、同一の符号を付して、その説明を省略する。
【0106】
本実施形態では、以下の三点において上述した実施形態と相違する。
一点目は、端末装置30の操作部302Aに、鑑賞者の頭部や眼球の動きに基づき計測された、ユーザによる色画像上の注視点の座標を示す情報(以下、計測値という)が入力される点である。
二点目は、表示制御装置10の操作情報取得部106Aにおいて、ユーザ操作情報と共に当該計測値が取得され、取得された計測値がユーザ注視点推定部103に出力される点である。
三点目は、ユーザ注視点推定部103において、当該計測値に基づき、ユーザ注視点が推定される点である。
【0107】
本実施形態では、操作部302Aは、視線検出装置を備えるか、或いは視線検出装置と接続する。
視線検出装置は、鑑賞者の視線を検出する装置であって、例えば、眼球に照射した赤外光の反射光に基づいて検出した角膜と瞳孔との相対的な位置関係を用いて、視線方向を判定する。或いは、視線検出装置は、可視光カメラにより撮像した鑑賞者の目の画像に基づいて検出した目頭と虹彩との相対的な位置関係を用いて、視線方向を判定するようにしてもよい。また、視線検出装置は、鑑賞者の傍ら等に据え置かれて用いられる、据え置き型の装置であってもよいし、鑑賞者に装着されて用いられる、眼鏡型やHMD(Head Mounted Display、頭部装着ディスプレイ)などの装置であってもよい。
【0108】
操作部302Aには、視線検出装置により検出された、鑑賞者による色画像を視るユーザ視線方向を示す情報が入力される。操作部302Aは、当該ユーザ視線方向に基づいて、鑑賞者が色画像上のどこを注視しているかを示す計測値を算出する。
【0109】
操作部302Aは、通信部300を介して、当該計測値を、例えばユーザ操作開始時(「開始」を示す操作ステート情報を含むユーザ操作情報が送信される時)に、当該ユーザ操作情報に含まれる形で、表示制御装置10に送信する。
【0110】
表示制御装置10の操作情報取得部106Aは、通信部100を介して、当該計測値を取得し、取得した当該計測値を、ユーザ注視点推定部103Aに出力する。
ユーザ注視点推定部103Aは、操作情報取得部106Aから取得した当該計測値に基づき、ユーザ注視点を推定する。
【0111】
このとき、ユーザ注視点推定部103Aは、当該計測値をそのままユーザ注視点としてもよいし、顕著性マップと当該計測値を併用することで、端末装置30から受信した計測値を、より顕著性の大きな画素の位置に補正したユーザ注視点を推定するようにしてもよい。当該計測値をそのままユーザ注視点とする場合、本実施形態において顕著性マップ生成部102は不要である。
【0112】
また、操作部302Aは、計測値に代えて、視線検出装置により検出された、鑑賞者の眼球の位置や動きに応じた視線位置や視線方向を示す情報(以下、検出値という)を表示制御装置10に送信するようにしてもよい。この場合、ユーザ注視点推定部103Aは、視線検出装置と、端末装置30の表示部301との相対的な位置関係を示す相対位置関係情報に基づいて、当該検出値から、ユーザ注視点を推定する。相対位置関係情報は、例えば、表示制御装置10の図示しない記憶部に予め記憶される。
【0113】
上述した実施形態における表示制御装置10の全部または一部をコンピュータで実現するようにしてもよい。また、表示制御装置10の全部又は一部と、画像生成装置20または/および端末装置30それぞれの全部または一部とを、組み合わせて同一のコンピュータで実現してもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【0114】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0115】
1…画像表示システム
10…表示制御装置
100…通信部
101…画像情報取得部
102…顕著性マップ生成部
103…ユーザ注視点推定部
104…カメラ操作基準点決定部
105…カメラ操作基準点記憶部
106…操作情報取得部
107…操作テーブル記憶部
108…カメラ操作種類情報取得部
109…仮想カメラ情報更新部
110…仮想カメラ情報記憶部
111…制御部
20…画像生成装置
200…通信部
201…仮想カメラ情報取得部
202…画像生成部
203…仮想空間情報記憶部
204…制御部
30…端末装置
300…通信部
301…表示部
302…操作部
303…制御部