JP2018109740A - 表示装置、プログラム、表示方法 - Google Patents
表示装置、プログラム、表示方法 Download PDFInfo
- Publication number
- JP2018109740A JP2018109740A JP2017207635A JP2017207635A JP2018109740A JP 2018109740 A JP2018109740 A JP 2018109740A JP 2017207635 A JP2017207635 A JP 2017207635A JP 2017207635 A JP2017207635 A JP 2017207635A JP 2018109740 A JP2018109740 A JP 2018109740A
- Authority
- JP
- Japan
- Prior art keywords
- image
- display
- frame
- display device
- omnidirectional
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Landscapes
- Studio Circuits (AREA)
- Controls And Circuits For Display Device (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
【課題】品質の異なる複数の画像の閲覧を容易にする表示装置を提供すること。
【解決手段】第一の画像CEと異なる品質の第二の画像Pが重畳された前記第一の画像を表示する表示装置30であって、前記第二の画像が閲覧されるか否かを判断する判断手段35と、前記判断手段の判断結果に応じて、前記第二の画像が存在する旨の表示と非表示を切り替える画像提示手段36と、を有する。
【選択図】図2
【解決手段】第一の画像CEと異なる品質の第二の画像Pが重畳された前記第一の画像を表示する表示装置30であって、前記第二の画像が閲覧されるか否かを判断する判断手段35と、前記判断手段の判断結果に応じて、前記第二の画像が存在する旨の表示と非表示を切り替える画像提示手段36と、を有する。
【選択図】図2
Description
本発明は、表示装置、プログラム、及び表示方法に関する。
従来のデジタルカメラよりも広角な画像を撮像できる撮像装置が普及しはじめている。このような撮像装置の1つとして魚眼レンズ等を複数組み合わせ、1回の撮像で周囲360度が撮像された全天球画像を作成する全天球カメラが知られている。全天球画像に対しユーザは任意に視線方向を決定して全天球画像を様々な方向から閲覧することができる。
しかしながら、画像処理の負荷などを考慮すると撮像範囲が広い全天球画像の画像処理には制約が生じやすく、通常のデジタルカメラの画像と比較すると画質が低下(例えば解像度が低い、白飛びしやすい、色再現性が低い等)する傾向がある。このため、ユーザが全天球画像の一部を拡大して閲覧するような場合に、画質の低下が気になったり詳細な情報を得られにくかったりするという不都合がある。
このような不都合に対し、広角画像に望遠画像を嵌め込む(重畳する)技術が考案されている(例えば、特許文献1参照。)。
しかしながら、低画質の画像に高画質の画像を重畳するだけでは、ユーザは低画質の画像のどこに高画質の画像が重畳されているかを判断しにくいという問題がある。全天球画像のように画角が広く、ユーザが全体を一度に見渡せない画像ではこの傾向が顕著になる。一例として、高画質の画像が重畳されている場所に表示装置が何らかのマークを表示することが考えられるが、ユーザが高画質の画像を見る際にマークが邪魔になるという別の不都合をもたらす。
本発明は、上記課題に鑑み、品質の異なる複数の画像の閲覧を容易にする表示装置を提供することを目的とする。
本発明は、第一の画像と異なる品質の第二の画像が重畳された前記第一の画像を表示する表示装置であって、前記第二の画像が閲覧されるか否かを判断する判断手段と、前記判断手段の判断結果に応じて、前記第二の画像が存在する旨の表示と非表示を切り替える画像提示手段と、を有する。
品質の異なる複数の画像の閲覧を容易にする表示装置を提供することができる。
以下、本発明を実施するための形態について図面を参照しながら説明する。
<全天球画像の概略>
図1は、全天球画像CEについて説明する図の一例である。図1(a)は、三次元の立体球CSで表わされた全天球画像CEを示し、図1(b)は正距円筒図法で表された全天球画像CEを示す。全天球カメラで生成された全天球画像CEは図1(b)のような画像が立体球CSに張り合わされた三次元の構造を有している。仮想カメラICはユーザの視点に対応し、図1では全天球画像CEの中心に視点がある。ユーザUは仮想カメラICを通るX軸、Y軸、Z軸を中心とする3軸の回転を行わせて、全天球画像CEの任意の閲覧領域T(ディスプレイ又は表示用のソフトウェアに表示される範囲)を表示させることができる。また、ユーザは閲覧領域Tを拡大又は縮小することもできる。
図1は、全天球画像CEについて説明する図の一例である。図1(a)は、三次元の立体球CSで表わされた全天球画像CEを示し、図1(b)は正距円筒図法で表された全天球画像CEを示す。全天球カメラで生成された全天球画像CEは図1(b)のような画像が立体球CSに張り合わされた三次元の構造を有している。仮想カメラICはユーザの視点に対応し、図1では全天球画像CEの中心に視点がある。ユーザUは仮想カメラICを通るX軸、Y軸、Z軸を中心とする3軸の回転を行わせて、全天球画像CEの任意の閲覧領域T(ディスプレイ又は表示用のソフトウェアに表示される範囲)を表示させることができる。また、ユーザは閲覧領域Tを拡大又は縮小することもできる。
<本実施形態の表示装置の概略>
図2は、本実施形態の全天球画像の表示方法を説明する図の一例である。図2(a)は全天球画像CEの一例を示す図である。後述する表示装置が全天球画像CEに平面画像Pを重畳したものとする。表示装置は平面画像Pが存在する旨を意味するフレーム40を全天球画像CEに表示する。図2(a)では、平面画像Pの外縁(枠)を示すフレーム40が表示されている。ユーザはこのフレーム40により、全天球画像CEに平面画像Pが貼り付けられていること、平面画像Pの位置及び大きさを確認できる。
図2は、本実施形態の全天球画像の表示方法を説明する図の一例である。図2(a)は全天球画像CEの一例を示す図である。後述する表示装置が全天球画像CEに平面画像Pを重畳したものとする。表示装置は平面画像Pが存在する旨を意味するフレーム40を全天球画像CEに表示する。図2(a)では、平面画像Pの外縁(枠)を示すフレーム40が表示されている。ユーザはこのフレーム40により、全天球画像CEに平面画像Pが貼り付けられていること、平面画像Pの位置及び大きさを確認できる。
ユーザがフレーム40に気づいたものとする。解像度が高い高画質の画像を表示できるため、ユーザは全天球画像CEを拡大させる。これにより、図2(b)のように平面画像Pがディスプレイ508に大きく表示される。表示装置は所定の条件を満たす場合、フレーム40を消去する。これにより、フレーム40が平面画像Pの閲覧を妨害することを抑制できる。
フレーム40を消去するための所定の条件は、ユーザUが平面画像Pを見ることが推定されることである。具体的には以下のようになる。
(i)ユーザUが平面画像Pをクリックした場合
(ii)現在の閲覧領域Tの画角に対し平面画像Pが占める画角の比率が所定以上になった場合
また、以下のようにユーザUの閲覧のための操作に伴って、フレーム40の消去を制御してもよい。
(iii)マウスカーソルの座標が平面画像Pと重なっていない場合
(iv)全天球画像CEの閲覧領域Tが変更されてから所定時間が経過した後
なお、見ることが推定されるとは、実際にユーザが見る他、見る可能性がある旨を含む。
(i)ユーザUが平面画像Pをクリックした場合
(ii)現在の閲覧領域Tの画角に対し平面画像Pが占める画角の比率が所定以上になった場合
また、以下のようにユーザUの閲覧のための操作に伴って、フレーム40の消去を制御してもよい。
(iii)マウスカーソルの座標が平面画像Pと重なっていない場合
(iv)全天球画像CEの閲覧領域Tが変更されてから所定時間が経過した後
なお、見ることが推定されるとは、実際にユーザが見る他、見る可能性がある旨を含む。
このように、本実施形態の表示装置は、全天球画像CEに平面画像Pを重畳することで、解像度が低い全天球画像CEを平面画像Pで補うことができる。平面画像Pの位置がフレーム40で表示されるのでユーザはどこに平面画像Pがあるかを容易に把握できる。ユーザが平面画像Pを見る場合、フレーム40が消去されるのでフレーム40が平面画像Pの閲覧を妨害することも抑制できる。
<用語について>
重畳とは、2つ以上のものを合わせて1つのものにすることをいう。また、本実施形態では、重畳に、貼り付け、嵌め込み、合成、重ね合わせという意味が含まれてよい。
重畳とは、2つ以上のものを合わせて1つのものにすることをいう。また、本実施形態では、重畳に、貼り付け、嵌め込み、合成、重ね合わせという意味が含まれてよい。
特許請求の範囲の閲覧とは、ユーザが第二の画像を意識して見ることをいう。第一の画像は例えば全天球画像であり、第二の画像は例えば平面画像である。
第二の画像が存在する旨とは、第二の画像の存在にユーザが気づき得る視覚的な特徴である。具体的には何らかの画像部品により示される。画像部品の一例はフレーム40である。
また、高画質の定義は画像によっても異なるため、ユーザの閲覧目的によって種々でよいが、一般に画像が忠実に光景を表すことをいう。画像の品質が高いと称することもできる。例えば、解像度が高い、ダイナミックレンジが広い、色再現性が高い、ノイズが少ない、画像をいう。また、品質には画質の高低、静止画と動画の違い、射影方式の違いなどがある。
<システム構成例>
図3は、全天球カメラ20と表示装置30を有する画像処理システム100のシステム構成例を示す図である。図3(a)は全天球カメラ20と通常のデジタルカメラ9を有する画像処理システム100を示す。通常のデジタルカメラ9とは、一般に35mmフィルムに換算した場合に焦点距離35mm以上で撮像する撮像装置(カメラ)であるが、24mm〜35mm程度の広角画像を撮像できる撮像装置が含まれてよい。簡単には、全天球カメラ20ではなく平面画像Pを撮像する撮像装置ということができる。換言すると、閲覧領域Tに全体を表示可能な画像を撮像する撮像装置である。
図3は、全天球カメラ20と表示装置30を有する画像処理システム100のシステム構成例を示す図である。図3(a)は全天球カメラ20と通常のデジタルカメラ9を有する画像処理システム100を示す。通常のデジタルカメラ9とは、一般に35mmフィルムに換算した場合に焦点距離35mm以上で撮像する撮像装置(カメラ)であるが、24mm〜35mm程度の広角画像を撮像できる撮像装置が含まれてよい。簡単には、全天球カメラ20ではなく平面画像Pを撮像する撮像装置ということができる。換言すると、閲覧領域Tに全体を表示可能な画像を撮像する撮像装置である。
デジタルカメラ9は、全天球画像CEよりも少なくとも解像度が高い(撮像する画角に対する画素数が多い)撮像素子を有している。また、全天球カメラ20よりも狭い撮像範囲で撮像条件(露出時間、シャッター速度、ホワイトバランス等)を最適化するため、白飛びしにくく、色再現性も高い場合が多い。このようにデジタルカメラ9はいわゆる高画質の平面画像を生成する。
これにより、全天球画像CEでは拡大時に粗くなる画像を、平面画像Pの高い画質の画像で補うことができる。図3(a)の構成では、デジタルカメラ9が表示装置30を兼ねている。デジタルカメラ9の具体例は、例えばデジタルスチルカメラ、又はデジタルビデオカメラであるが、撮像装置を備えたその他の装置であってもよい。例えば、スマートフォン、タブレット端末、PDA(Personal Digital Assistant)、ウェアラブルPC(Personal Computer)等でもよい。この場合、スマートフォン等に全天球カメラ20が外付けされてよい。
全天球カメラ20とデジタルカメラ9はUSB,Bluetooth(登録商標)、無線LANなどで通信することができる。全天球カメラ20が撮像した全天球画像CEはデジタルカメラ9に送信される。デジタルカメラ9も同様に平面画像Pを撮像する。全天球画像CEには周囲360度の風景が写っているので平面画像Pは全天球画像CEの一部になる。
デジタルカメラ9は表示装置30として、全天球画像CEに平面画像Pを重畳する。具体的には、例えばユーザUが平面画像Pと全天球画像CEを選択して、重畳を指示する。あるいは、デジタルカメラ9を重畳モードに設定して平面画像Pを撮像すると、平面画像Pがマッチングする全天球画像CEに自動的に重畳する。画像の一致度が低ければ重畳されないので不都合は少ない。また、表示装置30としてのデジタルカメラ9はフレーム40の表示と非表示を切り替えてデジタルカメラ9が有するディスプレイに表示したりする。このように、デジタルカメラ9が表示装置30である場合は、全天球カメラ20とデジタルカメラ9という構成で、全天球画像CEと平面画像Pを重畳したりフレーム40の表示及び非表示を切り替えたりすることができる。
図3(b)は、全天球カメラ20、通常のデジタルカメラ9、及び表示装置30を有する画像処理システム100を示す。全天球カメラ20と表示装置30、及び、デジタルカメラ9と表示装置30はUSB、Bluetooth(登録商標)、無線LANなどで通信することができる。全天球カメラ20が撮像した全天球画像CEは表示装置30に送信される。デジタルカメラ9が撮像した平面画像Pも表示装置30に送信される。送信の他、記憶媒体に格納された全天球画像CE又は平面画像Pを表示装置30が記憶媒体から読み取ってもよい。
表示装置30は、例えばPC、スマートフォン、タブレット端末、PDAなどの情報処理装置である。この他、情報処理装置としての機能を有する複合機、プロジェクタ、テレビ会議端末などでもよい。
図3(b)の構成では、表示装置30が全天球画像CEに平面画像Pを重畳する。また、フレーム40の表示と非表示を切り替えて表示装置30のディスプレイに表示する。より具体的には、ユーザUは、平面画像Pと全天球画像CEを見比べることなどで、どの平面画像Pがどの全天球画像CEの一部か分かるので、全天球画像CEとこれに貼り付ける平面画像Pを選択し、表示装置30に貼り付けを行わせる。デジタルカメラ9のように自動的に重畳させてもよい。このように、表示装置30は全天球画像CEと平面画像Pを取得して、全天球画像CEに平面画像Pを重畳し、フレーム40の表示及び非表示を切り替えることができる。図4以下の説明では、特に言及しない限り、図3(b)の構成を念頭に説明する。
図3(c)は、全天球カメラ20、通常のデジタルカメラ9、表示装置30、及び画像重畳サーバ70がネットワークNを介して接続された画像処理システム100を示す。ネットワークNは、ユーザ環境に構築されているLAN、LANをインターネットに接続するプロバイダのプロバイダネットワーク、及び、回線事業者が提供する回線等により構築されている。ネットワークNが複数のLANを有する場合、ネットワークNはWANやインターネットと呼ばれる。ネットワークNは有線又は無線のどちらで構築されてもよく、また、有線と無線が組み合わされていてもよい。また、全天球カメラ20及びデジタルカメラ9が直接、公衆回線網に接続する場合は、LANを介さずにプロバイダネットワークに接続することができる。
画像重畳サーバ70は一般的な情報処理装置又はサーバ装置でよいし、表示装置30の具体例は図3(b)と同様でよい。しかしながら、画像重畳サーバ70はクラウドコンピューティングに対応していることが好ましい。クラウドコンピューティングとは、特定ハードウェア資源が意識されずにネットワーク上のリソースが利用される利用形態をいう。
全天球カメラ20が撮像した全天球画像CEは画像重畳サーバ70に送信される。デジタルカメラ9が撮像した平面画像Pも画像重畳サーバ70に送信される。図3(c)の構成では、画像重畳サーバ70が全天球画像CEに平面画像Pを重畳する。より具体的には、表示装置30はユーザUの操作を受け付けて画像重畳サーバ70にアクセスして、全天球画像CE及び平面画像Pのリスト(サムネイル画像など)を表示する。ユーザUは、平面画像Pと全天球画像CEを見比べることなどで、どの平面画像Pがどの全天球画像CEの一部か分かるので、全天球画像CEとこれに貼り付ける平面画像Pを選択し、画像重畳サーバ70に通知する。画像重畳サーバ70が自動的に重畳してもよい。
画像重畳サーバ70は、全天球画像CEに平面画像Pを重畳すると共に、閲覧領域Tの画像データを表示装置30に送信する。初期状態の視線方向と画角は予め決まっているものとする。画像重畳サーバ70はWebサーバとして閲覧領域Tの画像データとユーザの操作を受け付けるための表示プログラム(スクリプト言語で記述されている)を表示装置30に送信する。表示装置30は表示プログラムを実行しユーザUの操作を受け付け、視線方向と画角を画像重畳サーバ70に送信する。画像重畳サーバ70は視線方向と画角に応じて閲覧領域Tを更新し、閲覧領域Tの画像データを表示装置30に送信する。画像重畳サーバ70は、フレーム40の表示と非表示を切り替えるため、表示装置30はフレーム40が表示される画像と表示されない画像を表示できる。
全天球画像CE、平面画像P及び表示プログラムを画像重畳サーバ70が表示装置30に送信してもよい。この場合、表示装置30がユーザの操作に応じて閲覧領域Tを決定し、フレーム40の表示と非表示を切り替える。
また、全天球画像CEと平面画像Pから画像重畳サーバ70が位置パラメータ(後述する)を算出し、全天球画像CEと平面画像P及び位置パラメータを表示装置30がダウンロードしてもよい。ユーザは任意に視線方向を変えるが、表示装置30は同じ位置パラメータを使って全天球画像CEに平面画像Pを重畳できる。後述する図11の位置パラメータ作成部8が画像重畳サーバ70にあり、変換表示部7を表示装置30が有する形態となる。
<ハードウェア構成>
<<全天球カメラのハードウェア構成>>
図4は、全天球カメラのハードウェア構成図である。以下では、全天球カメラ20は、2つの撮像素子を使用した全方位撮像装置とするが、撮像素子は3つ以上いくつでもよい。また、必ずしも全方位撮像専用の装置である必要はなく、通常のデジタルカメラ9やスマートフォン等に後付けの全方位撮像ユニットを取り付けることで、実質的に全天球カメラ20と同じ機能を有するようにしてもよい。
<<全天球カメラのハードウェア構成>>
図4は、全天球カメラのハードウェア構成図である。以下では、全天球カメラ20は、2つの撮像素子を使用した全方位撮像装置とするが、撮像素子は3つ以上いくつでもよい。また、必ずしも全方位撮像専用の装置である必要はなく、通常のデジタルカメラ9やスマートフォン等に後付けの全方位撮像ユニットを取り付けることで、実質的に全天球カメラ20と同じ機能を有するようにしてもよい。
図4に示されているように、全天球カメラ20は、撮像ユニット101、画像処理ユニット104、撮像制御ユニット105、マイク108、音処理ユニット109、CPU(Central Processing Unit)111、ROM(Read Only Memory)112、SRAM(Static Random Access Memory)113、DRAM(Dynamic Random Access Memory)114、操作部115、ネットワークI/F116、通信部117、アンテナ117a、電子コンパス118、ジャイロセンサ119、及び、加速度センサ120なども接続される。
このうち、撮像ユニット101は、各々半球画像を結像するための180°以上の画角を有する広角レンズ(いわゆる魚眼レンズ)102a,102bと、各広角レンズに対応させて設けられている2つの撮像素子103a,103bを備えている。撮像素子103a,103bは、魚眼レンズによる光学像を電気信号の画像データに変換して出力するCMOS(Complementary Metal Oxide Semiconductor)センサやCCD(Charge Coupled Device)センサなどの画像センサ、この画像センサの水平又は垂直同期信号や画素クロックなどを生成するタイミング生成回路、この撮像素子の動作に必要な種々のコマンドやパラメータなどが設定されるレジスタ群などを有している。
撮像ユニット101の撮像素子103a,103bは、各々、画像処理ユニット104とはパラレルI/Fバスで接続されている。一方、撮像ユニット101の撮像素子103a,103bは、撮像制御ユニット105とは別に、シリアルI/Fバス(I2Cバス等)で接続されている。画像処理ユニット104及び撮像制御ユニット105は、バス110を介してCPU111と接続される。更に、バス110には、ROM112、SRAM113、DRAM114、操作部115、ネットワークI/F116、通信部117、及び電子コンパス118なども接続される。
画像処理ユニット104は、撮像素子103a,103bから出力される画像データをパラレルI/Fバスを通して取り込み、それぞれの画像データに対して所定の処理を施した後、これらの画像データを重畳処理して、図1(b)に示されているような正距円筒図法による画像のデータを作成する。
撮像制御ユニット105は、一般に撮像制御ユニット105をマスタデバイス、撮像素子103a,103bをスレーブデバイスとして、I2Cバスを利用して、撮像素子103a,103bのレジスタ群にコマンド等を設定する。必要なコマンド等は、CPU111から受け取る。また、該撮像制御ユニット105は、同じくI2Cバスを利用して、撮像素子103a,103bのレジスタ群のステータスデータ等を取り込み、CPU111に送る。
また、撮像制御ユニット105は、操作部115のシャッターボタンが押下されたタイミングで、撮像素子103a,103bに画像データの出力を指示する。撮像装置によっては、ディスプレイによるプレビュー表示機能や動画表示に対応する機能を持つ場合もある。この場合は、撮像素子103a,103bからの画像データの出力は、所定のフレームレート(フレーム/分)によって連続して行われる。
また、撮像制御ユニット105は、後述するように、CPU111と協働して撮像素子103a,103bの画像データの出力タイミングの同期をとる同期制御手段としても機能する。なお、本実施形態では、撮像装置には表示部が設けられていないが、表示部を設けてもよい。
マイク108は、音を音(信号)データに変換する。音処理ユニット109は、マイク108から出力される音データをI/Fバスを通して取り込み、音データに対して所定の処理を施す。
CPU111は、全天球カメラ20の全体の動作を制御すると共に必要な処理を実行する。ROM112は、CPU111のための種々のプログラムを記憶している。SRAM113及びDRAM114はワークメモリであり、CPU111で実行するプログラムや処理途中のデータ等を記憶する。特にDRAM114は、画像処理ユニット104での処理途中の画像データや処理済みの正距円筒図法による画像のデータを記憶する。
操作部115は、種々の操作ボタンや電源スイッチ、シャッターボタン、表示と操作の機能を兼ねたタッチパネルなどの総称である。ユーザUは操作ボタンを操作することで、種々の撮像モードや撮像条件などを入力する。
ネットワークI/F116は、SDカード等の外付けのメディアやパーソナルコンピュータなどとのインターフェース回路(USBI/F等)の総称である。また、ネットワークI/F116としては、無線、有線を問わずにネットワークインタフェースである場合も考えられる。DRAM114に記憶された正距円筒図法による画像のデータは、このネットワークI/F116を介して外付けのメディアに記録されたり、必要に応じてネットワークI/FとなるネットワークI/F116を介して表示装置30等の外部装置に送信されたりする。
通信部117は、全天球カメラ20に設けられたアンテナ117aを介して、WiFi(wireless fidelity)やNFC等の短距離無線技術によって、表示装置30等の外部装置と通信を行う。この通信部117によっても、正距円筒図法による画像のデータを表示装置30等の外部装置に送信することができる。
電子コンパス118は、地球の磁気から全天球カメラ20の方位を算出し、方位情報を出力する。この方位情報はExifに沿った関連情報(メタデータ)の一例であり、撮像画像の画像補正等の画像処理に利用される。なお、関連情報には、画像の撮像日時、及び画像データのデータ容量の各データも含まれている。
ジャイロセンサ119は、全天球カメラ20の移動に伴う角度の変化(ロール角、ピッチング角、ヨー角)を検出する。角度の変化はExifに沿った関連情報(メタデータ)の一例であり、撮像画像の画像補正等の画像処理に利用される。
加速度センサ120は3軸方向の加速度を検出する。検出した加速度に基づいて全天球カメラ20の姿勢(重力方向に対する角度)を検出する。ジャイロセンサ119と加速度センサ120は両方を有することで画像補正の精度が向上する。
なお、一眼レフカメラのハードウェア構成は図4と同様であるか又は相違があるとしても本実施形態の説明には支障がないものとする。
<<表示装置のハードウェア構成>>
図5は、表示装置のハードウェア構成図である。表示装置30は、表示装置全体の動作を制御するCPU501、IPL(Initial Program Loader)等のCPU501の駆動に用いられるプログラムを記憶したROM502、CPU501のワークエリアとして使用されるRAM503、表示装置用のプログラム等の各種データを記憶するHD(Hard Disk)504を有する。また、CPU501の制御にしたがってHD504に対する各種データの読み出し又は書き込みを制御するHDD(Hard Disk Drive)505、フラッシュメモリ等の記録メディア506に対するデータの読み出し又は書き込み(記憶)を制御するメディアドライブ507を有する。また、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示するディスプレイ508、ネットワークNを利用してデータ通信するためのネットワークI/F509、文字、数値、各種指示などの入力のための複数のキーを備えたキーボード511、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行うマウス512、を有する。また、着脱可能な記録媒体の一例としての光記憶媒体513に対する各種データの読み出し又は書き込みを制御する光メディアドライブ514、及び、上記各構成要素を図5に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン510を備えている。
図5は、表示装置のハードウェア構成図である。表示装置30は、表示装置全体の動作を制御するCPU501、IPL(Initial Program Loader)等のCPU501の駆動に用いられるプログラムを記憶したROM502、CPU501のワークエリアとして使用されるRAM503、表示装置用のプログラム等の各種データを記憶するHD(Hard Disk)504を有する。また、CPU501の制御にしたがってHD504に対する各種データの読み出し又は書き込みを制御するHDD(Hard Disk Drive)505、フラッシュメモリ等の記録メディア506に対するデータの読み出し又は書き込み(記憶)を制御するメディアドライブ507を有する。また、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示するディスプレイ508、ネットワークNを利用してデータ通信するためのネットワークI/F509、文字、数値、各種指示などの入力のための複数のキーを備えたキーボード511、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行うマウス512、を有する。また、着脱可能な記録媒体の一例としての光記憶媒体513に対する各種データの読み出し又は書き込みを制御する光メディアドライブ514、及び、上記各構成要素を図5に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン510を備えている。
なお、画像重畳サーバ70のハードウェア構成は図5と同様であるか又は相違があるとしても本実施形態の説明には支障がないものとする。
<全天球画像CEの作成>
図6〜図9を用いて全天球画像CEについて説明する。図6は、全天球カメラ20の使用イメージ図である。全天球カメラ20は、図6に示されているように、ユーザUが手に持ってユーザUの周りの被写体を撮像するために用いられる。全天球カメラ20は、2つの撮像素子の背面同士が対向させられた構造を有しており、それぞれユーザUの周りの被写体を撮像することで、2つの半球画像を得る。
図6〜図9を用いて全天球画像CEについて説明する。図6は、全天球カメラ20の使用イメージ図である。全天球カメラ20は、図6に示されているように、ユーザUが手に持ってユーザUの周りの被写体を撮像するために用いられる。全天球カメラ20は、2つの撮像素子の背面同士が対向させられた構造を有しており、それぞれユーザUの周りの被写体を撮像することで、2つの半球画像を得る。
次に、図7及び図8を用いて、全天球カメラ20で撮像された画像から全天球画像CEが作成されるまでの処理の概略を説明する。なお、図7(a)は全天球カメラ20で撮像された半球画像(前側)、図7(b)は全天球カメラ20で撮像された半球画像(後側)、図7(c)は正距円筒図法による全天球画像を示した図である。図8(a)は正距円筒図法による画像で球を被う状態を示した概念図、図8(b)は全天球画像CEを示した図である。
図7(a)に示されているように、全天球カメラ20によって得られた画像は、魚眼レンズによって湾曲した半球画像(前側)となる。また、図7(b)に示されているように、全天球カメラ20によって得られた画像は、魚眼レンズによって湾曲した半球画像(後側)となる。そして、半球画像(前側)と、180度反転された半球画像(後側)とは、全天球カメラ20によってつなぎ合わされ、図7(c)に示されているように、正距円筒図法による画像が作成される。
そして、OpenGL ES(Open Graphics Library for Embedded Systems)が利用されることで、図8(a)に示されているように、正距円筒図法による画像が球面を覆うように貼り付けられ、図8(b)に示されているような全天球画像CEが作成される。このように、全天球画像CEは、正距円筒図法による画像が球の中心を向いた画像として表される。なお、OpenGL ESは、2D(2-Dimensions)及び3D(3-Dimensions)のデータを視覚化するために使用するグラフィックスライブラリである。全天球画像CEは、静止画であっても動画であってもよい。具体的には図8(a)の正距円筒図法による画像から図8(b)の三次元の全天球画像へ変換は後述する式(1)が利用される。
全天球画像CEは、球面を覆うように貼り付けられた画像であるため湾曲しており、人間が見ると違和感を持ってしまう。そこで、表示装置30は、全天球画像CEの一部の閲覧領域Tを湾曲の少ない平面画像Pとして表示することで、人間に違和感を与えないように表示する。閲覧領域Tは、三次元の仮想空間における座標(X,Y,Z)によって示される。一方、ディスプレイ508は二次元平面なので閲覧領域Tのままでは表示装置30が表示できない。
そこで、3Dコンピュータグラフィックの技法を用いて三次元の物体を二次元平面に投影する透視投影変換により、表示装置30は湾曲の少ない画像を得る。以上のようにして、全天球画像CEの閲覧領域Tがディスプレイ508に表示される。
図9は、ユーザUの視線を説明する図の一例である。全天球画像CEは三次元の座標を有しているので、視線方向は三次元の座標や緯度・経度などの球体の座標を特定する情報で特定される。本実施形態では、閲覧領域Tの中心cpを視線方向とする。
ユーザUはキーボード511又はマウス512により視線方向を変えることができるが、仮想カメラICが平行移動しないと仮定すると、仮想カメラICは剛体としてロール(Z軸を中心とする回転)、ヨー(Y軸を中心とする回転)、及びピッチ(X軸を中心とする回転)の3つの回転が可能である。このうちヨーとピッチの回転のいずれが生じても視線方向が変化する(ロールの変化ではカメラのアッパーベクトルが変わるだけで、カメラの視線ベクトルは変化しない)。
例えば、ユーザUが全天球画像CEを水平方向に回転させるとヨー角が変化し、上下方向に回転させるとピッチ角が変化し、ディスプレイ508の中心を軸に全天球画像CEを回転させるとロール角が変化する。本実施形態では、ユーザUのWebページに対する操作が、視線方向(ロール角、ヨー角、ピッチ角)等に反映される。どのように反映されるかは表示装置30が実行するプログラムに予め記述されている。
図10は、全天球画像CEの閲覧領域Tの拡大と縮小を模式的に説明する図の一例である。図10(a)は初期の閲覧領域Tを示す。仮想カメラICが立体球CSの中央に存在する場合、閲覧領域Tは画角αにより決定される。画角αは、例えば閲覧領域Tの対角頂点を立体球CSの中央から臨む角度である。
初期状態の画角αをα0とする。図10(b)に示すように画角を小さくすれば(α1<α0)閲覧領域Tが狭くなるのでディスプレイ508上では画像が拡大され、図10(c)に示すように、画角を大きくすれば(α2>α0)閲覧領域Tが広くなるのでディスプレイ508上では画像が縮小される。ユーザUが全天球画像CEを拡大する操作又は縮小の操作を行うと、表示装置30は操作量に応じて画角を小さくしたり大きくしたりする。
図10(c)のように画角が大きくなったとしても、仮想カメラICが中央にある限り、仮想カメラICの後方にある画像を表示装置30が表示することができない。このため、ユーザUが図10(c)の状態から更に縮小する操作を行うと、表示装置30は仮想カメラICを後方に移動する。図10(d)では画角α2は図10(c)と変わっていないが、仮想カメラICが後方に移動することで、閲覧領域Tが更に広くなっている。このため、図10(c)よりも更に画像を縮小することが可能である。
<全天球画像CEへの平面画像Pの重畳に関する機能>
まず、図11〜図16を用いて、全天球画像CEへの平面画像Pの重畳に関する機能について説明する。上記のように、図3(b)の構成を念頭に説明する。
まず、図11〜図16を用いて、全天球画像CEへの平面画像Pの重畳に関する機能について説明する。上記のように、図3(b)の構成を念頭に説明する。
図11は、デジタルカメラ9、全天球カメラ20、及び表示装置30が有する機能をブロック状に示す機能ブロック図の一例である。デジタルカメラ9は平面画像取得部11を有している。平面画像取得部11はデジタルカメラ9の撮像機能により実現され、所定の解像度の画素がそれぞれ濃淡を表す画像データ(平面画像P)を作成する。平面画像Pは1つの静止画、複数の静止画、又は動画のいずれでもよい。
全天球カメラ20は全天球画像取得部12を有している。全天球画像取得部12は全天球カメラ20の撮像機能により実現され、全天球カメラ20の周囲360度の画像データ(全天球画像CE)を作成する。全天球画像CEは、1つの静止画、複数の静止画、又は動画のいずれでもよい。
表示装置30は、主に、位置パラメータ作成部8、及び変換表示部7を有している。表示装置30が有するこれらの機能は、図5に示した表示装置30のCPU501がHD504からRAM503に展開されたプログラムを実行することで実現される機能又は手段である。
まず、位置パラメータ作成部8は、更に全天球画像読込部21、平面画像読込部22、位置パラメータ算出部23、及び位置パラメータ書出部24を有する。全天球画像読込部21は、全天球画像取得部12から全天球画像CEを読み込む。平面画像読込部22は、平面画像取得部11から平面画像Pを読み込む。読み込むとは、取得する、受信する、記憶媒体から読み出す、又は、入力を受け付けるという意味である。
位置パラメータ算出部23は、平面画像Pと一致する全天球画像CEの一致領域を特定し、一致領域を特定するための位置パラメータPPを求める。位置パラメータPPの詳細は図12にて説明される。正距円筒図法により全天球画像CEは歪んだ状態になるため、平面画像Pにも同じ変換を施し、歪んだ状態にすることが好ましい。そして、両方の特徴点を抽出しマッチングを行うことで、位置パラメータPPを求めることができる。特徴点の検出については、エッジ検出、コーナー検出、SIFT特徴量とSURF特徴量、同一色の中心点など様々な検出方法が知られている。あるいは、全天球画像CEと平面画像Pの画素値の差の絶対値の合計又は差の二乗和を1画素ずつずらして算出し、絶対値の合計又は二乗和が最も小さくなった時の平面画像Pの位置を一致領域としてもよい。
また、平面画像Pをメッシュ状に領域分割してそれぞれで全天球画像CEとマッチングをすれば、レンズ歪等によるずれ補正も加味することができる。
全天球画像CEと平面画像Pの対応は一意に定まるので位置パラメータPPは、一度、求めるだけでよい。位置パラメータ書出部24は位置パラメータPPを位置パラメータ書出部24に送出する。
変換表示部7は、更に平面画像読込部25、視線方向画角指示部26、全天球画像読込部27、射影方式変換部1(符号は28)、射影方式変換部2(符号は29)、画像重畳部33、位置パラメータ読込部32、及び画像表示部31を有する。平面画像読込部25と全天球画像読込部27の機能は位置パラメータ作成部8と同様である。また、位置パラメータ読込部32は位置パラメータ作成部8から位置パラメータPPを取得する。
視線方向画角指示部26は、ユーザUが操作した視線方向と画角(拡大・縮小)を受け付ける。視線方向と画角が操作により入力されるため閲覧領域Tが定まる。
また、ユーザUが任意に視線方向と画角(拡大・縮小)を操作するため、射影方式変換された平面画像Pの一部のみしか閲覧領域Tに入らない場合、又は、射影方式変換された平面画像Pが全く閲覧領域Tに入らない場合がある。このため、射影方式変換部1は、射影方式変換画像のうち閲覧領域Tに含まれている領域を示すマスクデータを生成する。詳細は図13にて説明される。
射影方式変換部2は、視線方向画角指示部26が受け付けた視線方向及び画角に対応する閲覧領域Tを決定し、読み込まれた全天球画像CEの閲覧領域Tに対し画像表示部31の表示サイズに合わせた透視投影変換を行い、表示画像を作成する。したがって、表示画像は二次元平面の画像である。
画像重畳部33は、マスクデータを用いて表示画像に射影方式変換画像を重畳して重畳画像を生成する。詳細は図14にて説明される。また、画像表示部31は重畳画像をディスプレイ508に表示する。
<位置パラメータ>
図12は平面画像Pの一致領域への射影方式変換及び平面画像Pと一致領域とを対応付ける位置パラメータPPの一例を示す図である。マッチングによりすでに平面画像Pと全天球画像CEの対応は得られているものとする。位置パラメータPPは、特徴点が最も一致した時に平面画像Pが存在する全天球画像CEの緯度と経度である。
図12は平面画像Pの一致領域への射影方式変換及び平面画像Pと一致領域とを対応付ける位置パラメータPPの一例を示す図である。マッチングによりすでに平面画像Pと全天球画像CEの対応は得られているものとする。位置パラメータPPは、特徴点が最も一致した時に平面画像Pが存在する全天球画像CEの緯度と経度である。
図12(a)は平面画像Pを示し、図12(b)は正距円筒図法の全天球画像CEを示す。図12(b)には一致領域301が示されている。位置パラメータ算出部23は、平面画像Pを格子状に分割して、それぞれ格子の交点部分の座標(x,y)に対応する全天球画像CEの一致領域301の点(λ,φ)を位置パラメータPPとする。なお、λは経度、φは緯度である。図12(c)は位置パラメータPPの一例を示す。平面画像Pの格子の座標と、全天球画像CEの一致領域301の緯度と経度が格子ごとに対応付けられている。
<射影方式変換部1の処理>
図13は、射影方式変換部1が作成する射影方式変換画像302とマスクデータ303を説明する図の一例である。図13(a)は射影方式変換画像302を示す。射影方式変換画像302は正距円筒図法で表された全天球画像の閲覧領域Tと同じサイズの領域を有し、一致領域301に射影方式変換後の平面画像Pが貼り付けられる。一致領域301に平面画像Pが射影方式変換されることで、平面画像Pは台形歪みの状態になっている。射影方式変換画像302のうち平面画像Pがない部分はグレーの均一画像307である。均一画像307は重畳に使用されないのでどのような画素値でもよい。
図13は、射影方式変換部1が作成する射影方式変換画像302とマスクデータ303を説明する図の一例である。図13(a)は射影方式変換画像302を示す。射影方式変換画像302は正距円筒図法で表された全天球画像の閲覧領域Tと同じサイズの領域を有し、一致領域301に射影方式変換後の平面画像Pが貼り付けられる。一致領域301に平面画像Pが射影方式変換されることで、平面画像Pは台形歪みの状態になっている。射影方式変換画像302のうち平面画像Pがない部分はグレーの均一画像307である。均一画像307は重畳に使用されないのでどのような画素値でもよい。
図13(b)は図13(a)の平面画像Pに対応するマスクデータ303を示す。マスクデータ303は図13(a)から閲覧領域Tに含まれる平面画像Pを取り出すためのデータである。マスクデータの白画素の領域は、閲覧領域Tかつ平面画像Pの領域を示す。したがって、マスクデータの白画素の領域は平面画像Pの領域以下となる。図13(b)のマスクデータは、閲覧領域Tが平面画像Pより大きい場合であるため、図13(a)の例では一致領域301がマスクデータ303の白画素の領域とほぼ等しくなっている。閲覧領域Tが平面画像Pと全く重ならない場合、マスクデータは全面が黒画素になる。閲覧領域Tが平面画像Pより小さい場合、マスクデータ303は白画素のみになる。このようにマスクデータ303の白画素と一致領域301は常に同じサイズ及び同じ位置になる。
画像重畳部33は射影方式変換画像302とマスクデータ303でマスク処理を行う。このマスク処理は、マスクデータ303の白画素に対応する画素を射影方式変換画像302から取り出す処理である。画像重畳部33は、射影方式変換画像302から白画素の位置の画素値を取り出して、表示画像の射影方式変換画像302と同じ位置に重畳する。
なお、マスクデータ303の黒画素と白画素の境界は、白画素から黒画素に向けて徐々に白から黒に変化する傾斜が設けられることが好適である。これにより、低解像度の全天球画像CEと高解像度の平面画像Pとの境界を目立たなくすることができる。
<画像重畳部の処理>
図14を用いて画像重畳部33の処理について説明する。図14は、全天球画像CEへの平面画像Pの重畳を模式的に説明する図の一例である。図14に示すように、射影方式変換部2が閲覧領域Tを透視投影変換した表示画像304、射影方式変換画像302(図13(a))、及びマスクデータ303(図13(b))が画像重畳部33に入力される。
図14を用いて画像重畳部33の処理について説明する。図14は、全天球画像CEへの平面画像Pの重畳を模式的に説明する図の一例である。図14に示すように、射影方式変換部2が閲覧領域Tを透視投影変換した表示画像304、射影方式変換画像302(図13(a))、及びマスクデータ303(図13(b))が画像重畳部33に入力される。
画像重畳部33はより画角が広い射影方式変換画像302を表示画像304に重畳する。マスクデータ303を使ったマスク処理により、マスクデータ303の白画素の画素位置の射影方式変換画像302を取り出して表示画像304に上書きする(この場合は、この時点で表示画像304の画素が損失される。)。このようにして重畳画像305には、低解像度の全天球画像CEに高解像度の平面画像P1が配置される。
あるいは、透明なレイヤを用意して、マスクデータ303の白画素の画素位置の射影方式変換画像302を取り出して透明なレイヤに配置してもよい。この場合、表示画像304に損失はなく、例えばユーザが平面画像P1の表示と非表示を切り替えることができる。
画像重畳部33は重畳画像305を出力する。重畳画像305には、低解像度の全天球画像CEに高解像度の平面画像Pが配置されている。
なお、本実施形態では重畳の方法にも特徴がある。説明したように表示装置30は全天球画像CEの透視投影変換と平面画像Pの重畳を並行に行う。仮に、全天球画像CEに平面画像Pを貼り付けてから透視投影変換を行うと、全天球画像CEの解像度を平面画像Pと同じにする必要があり、データ量が大きくなってしまう。本実施形態では表示画像304が作成されてから平面画像Pが重畳されているので、データ量が大きくなることを抑制できる。
表示装置30は、全天球画像CEと平面画像Pの重畳を、ディスプレイ508の表示サイクル(例えば、1秒間に30〜60回)で繰り返す。こうすることで、表示装置30は平面画像Pと全天球画像CEを1つずつ保持しておき、ユーザの操作に応じた視点でリアルタイムに重畳画像305を生成できる。
<正距円筒図法の全天球画像CEの全天球への変換>
図15(a)は、全天球画像CEを正距円筒図法により示す図であり、図15(b)は正距円筒図法の全天球画像CEが全天球に貼り付けられた全天球画像CEを示す。図15(a)の画像から図15(b)の画像への変換が、図8で説明した全天球カメラ20の撮像時に全天球カメラ20で行われている処理である。
図15(a)は、全天球画像CEを正距円筒図法により示す図であり、図15(b)は正距円筒図法の全天球画像CEが全天球に貼り付けられた全天球画像CEを示す。図15(a)の画像から図15(b)の画像への変換が、図8で説明した全天球カメラ20の撮像時に全天球カメラ20で行われている処理である。
正距円筒図法の任意の点(λ,φ)に対応する三次元上の点(x,y,z)の座標は、球の半径を1.0とすると下記の式で求めることができる。
X = cos(φ)*cos(λ)
Y = sin(φ) …(1)
Z = cos(φ)*sin(λ)
このように、正距円筒図法の全天球画像CEから三次元の全天球画像CEが得られる。
X = cos(φ)*cos(λ)
Y = sin(φ) …(1)
Z = cos(φ)*sin(λ)
このように、正距円筒図法の全天球画像CEから三次元の全天球画像CEが得られる。
<全天球画像CEにおける平面画像P>
図16は、全天球画像CEに重畳された平面画像Pを模式的に示す図である。上記のように、平面画像Pは平面のまま表示画像304と重畳されるため、図16のように、平面画像Pが立体球CSに貼り付けられることはない。しかし、ユーザから見ると、図16に示すように、全天球画像CEと同じ中心位置、同じ半径の球体の一部に平面画像Pが重畳されたように見える。
図16は、全天球画像CEに重畳された平面画像Pを模式的に示す図である。上記のように、平面画像Pは平面のまま表示画像304と重畳されるため、図16のように、平面画像Pが立体球CSに貼り付けられることはない。しかし、ユーザから見ると、図16に示すように、全天球画像CEと同じ中心位置、同じ半径の球体の一部に平面画像Pが重畳されたように見える。
なお、図16のように、三次元の全天球画像CEに平面画像Pが重畳されてもよい。マッチングにより(位置パラメータPPにより)平面画像Pが対応する経度と緯度が分かるので式(1)により表示装置30は全天球に平面画像Pを貼り付けられる。この場合、奥行き情報を使った陰面消去法(いわゆるZバッファ法)等は用いず、後優先でレンダリングするとよい。
平面画像Pが複数ある場合、位置パラメータ算出部23がそれぞれの平面画像Pに対して位置パラメータPPを算出すれば、同様に重畳できる。この場合、レンダリングの順番は広角画像を先にして、望遠を後とすることで同じ画素数のデジタルカメラ9で撮像された場合、解像度が高い平面画像Pの上に、解像度の低い平面画像Pが覆いかぶさることを回避できる。
<重畳手順>
図17は、表示装置30が全天球画像CEに平面画像Pを重畳する手順を示すフローチャート図の一例である。図17の処理は、ユーザが重畳を指示すること等によりスタートされる。ステップS10〜S30とS40〜S60は並行的に実行されるが、順番に実行されてもよい。
図17は、表示装置30が全天球画像CEに平面画像Pを重畳する手順を示すフローチャート図の一例である。図17の処理は、ユーザが重畳を指示すること等によりスタートされる。ステップS10〜S30とS40〜S60は並行的に実行されるが、順番に実行されてもよい。
平面画像読込部22は平面画像Pを読み込む(S10)。全天球画像読込部21は全天球画像CEを読み込む(S20)。そして、位置パラメータ算出部23は位置パラメータPPを算出する(S30)。
平面画像読込部25は平面画像Pを読み込む(S40)。全天球画像読込部27は全天球画像CEを読み込む(S50)。また、視線方向画角指示部26は視線方向と画角を受け付ける(S60)。ステップS60は随時行われる。
次に、射影方式変換部1は位置パラメータPPで平面画像Pに射影方式変換を施し、射影方式変換画像302を生成する(S70)。
次に、射影方式変換部1は視線方向と画角で定まる閲覧領域T及び射影方式変換された平面画像P(一致領域)に応じてマスクデータ303を生成する(S80)。
次に、射影方式変換部2は、閲覧領域Tに応じて全天球画像CEを透視投影変換し、表示画像304を生成する(S90)。
次に、画像重畳部33はマスクデータを用いて射影方式変換画像302と表示画像304を重畳し、重畳画像305を生成する(S100)。
次に、画像表示部31は重畳画像305を表示する(S110)。表示装置30は図17のステップS60〜S110の処理を繰り返す。
<フレームの表示制御に関する機能>
次に、図18〜図23を用いて、重畳画像305におけるフレーム40の表示制御に関する機能について説明する。図18は、画像重畳部33の機能をブロック状に説明する機能ブロック図の一例である。画像重畳部33は、更に判断部35とフレーム表示部36を有している。判断部35は、現在の閲覧領域Tと平面画像Pの位置(位置パラメータPP)を使ってフレーム40を表示する状態か否かを判断し、判断結果(フレーム表示、フレーム消去)をフレーム表示部36に送出する。フレーム表示部36は、判断結果に応じてフレーム40を表示したり消去したりする。
次に、図18〜図23を用いて、重畳画像305におけるフレーム40の表示制御に関する機能について説明する。図18は、画像重畳部33の機能をブロック状に説明する機能ブロック図の一例である。画像重畳部33は、更に判断部35とフレーム表示部36を有している。判断部35は、現在の閲覧領域Tと平面画像Pの位置(位置パラメータPP)を使ってフレーム40を表示する状態か否かを判断し、判断結果(フレーム表示、フレーム消去)をフレーム表示部36に送出する。フレーム表示部36は、判断結果に応じてフレーム40を表示したり消去したりする。
<フレーム40の表示の有無の判断について>
上記のようにユーザUが重畳画像305に重畳された平面画像Pを見ることが推定された場合、フレーム40が消去され、それ以外の状態ではフレーム40が表示されたままとなる。上記の所定の条件(i)〜(iv)の判断について説明する。
上記のようにユーザUが重畳画像305に重畳された平面画像Pを見ることが推定された場合、フレーム40が消去され、それ以外の状態ではフレーム40が表示されたままとなる。上記の所定の条件(i)〜(iv)の判断について説明する。
まず「(ii)現在の閲覧領域Tの画角に対し平面画像Pが占める比率が所定以上になった場合」の判断方法について説明する。
図19は、閲覧領域Tに対する平面画像Pの相対位置を説明する図の一例である。図19(a)では、閲覧領域Tに平面画像Pの全体が含まれている。閲覧領域Tはディスプレイ508に表示されている全天球画像の領域なので、ユーザUはほぼ正面から平面画像Pを見ている。閲覧領域の画角をa、平面画像Pの画角をbとすると、画角a>画角bであれば、平面画像Pの全体と全天球画像CEの一部が見えていることになる。図19(a)のような状況であれば、ユーザUが平面画像Pを見たいと推定される。
しかし、平面画像Pに対して全天球画像CEの方がある程度大きい場合、ユーザUが平面画像Pを見たいとは判断しなくてよい。そこで、例えば、画角aが画角bの1.2倍より大きい場合、判断部35はフレーム40を表示すると判断する。すなわち、画角aが画角bの1.2倍より大きい場合、現在の画角に対し平面画像Pが占める比率が所定未満になったと判断する。また、画角aが画角bの1.2倍以下の場合、判断部35はフレーム40を表示しないと判断する。すなわち、画角aが画角bの1.2倍以下の場合、現在の画角に対し平面画像Pが占める比率が所定以上になったと判断する。
閲覧領域Tは既知である。また、位置パラメータPPに平面画像Pの緯度・経度が登録されているので、画角bは位置パラメータPPから求められる。詳細は図20、図21で説明する。
図19(b)では、閲覧領域Tの方が平面画像Pより狭くなっている。すなわち、ユーザUは平面画像Pのみを見ている。この場合は、当然ながらフレーム40が表示されない。
図19(c)では、平面画像Pの上方のみが閲覧領域Tになっている。つまり、ユーザUは平面画像Pの上方を見ている。しかし、閲覧領域Tが平面画像Pに完全に含まれているので(画角aが画角bの1.2倍以下)、判断部35はフレーム40を表示しないと判断する。
また、図19(d)では、閲覧領域Tの中心と平面画像Pの中心とのずれ(角度)が大きくなり、閲覧領域Tの一部が平面画像Pをはみ出している。この場合、閲覧領域Tに対し平面画像Pが小さいので(画角aが画角bの1.2倍以下)、判断部35はフレーム40を表示すると判断する。
なお、フレーム40を表示するか否かの閾値を1.2倍としたのは一例であって、1.0より大きい値であればよい。例えば、1.1〜1.5倍等のように決定できる。また、ユーザUが閾値を設定できてもよい。
図20は、画角aと画角bの求め方を説明する図の一例である。画角aはユーザUが操作により決定する閲覧領域Tにより求められる。仮想カメラICから閲覧領域Tまでの距離をf、閲覧領域Tの対角線の長さを2Lとすると、画角αと、距離f、及びLには式(2)の関係がある。
Lf=tan(α/2)…(2)
閲覧領域Tの対角頂点の座標はユーザUが操作したことで分かっているので、対角線の長さ2Lは容易に算出できる。距離fについては全天球の半径、又は、ユーザUが操作したことで分かっている。したがって、式(2)により画角αを算出できる。
Lf=tan(α/2)…(2)
閲覧領域Tの対角頂点の座標はユーザUが操作したことで分かっているので、対角線の長さ2Lは容易に算出できる。距離fについては全天球の半径、又は、ユーザUが操作したことで分かっている。したがって、式(2)により画角αを算出できる。
画角bも同様に算出できるが、画角bは閲覧領域Tに平面画像Pが一部でも含まれている場合に算出されればよい。図21は閲覧領域Tと平面画像Pの関係を示す図である。判断部35は、平面画像Pが閲覧領域Tに入っているか否かを4つの頂点のそれぞれで判断する。閲覧領域Tの4つの頂点をA1〜A4、平面画像Pの4つの頂点をB1〜B4とする。頂点B1〜B4は例えば全天球の経度や緯度で特定されるが、ディスプレイ508上の座標で特定されてもよい。
例えば、頂点B1については以下のように判断される。
頂点A1の経度≦頂点B1の経度≦頂点A2の経度、かつ、
頂点A1の緯度≧頂点B1の緯度≦頂点A4の緯度
頂点B2、B3、B4についても同様に判断できる。対角の頂点(B1とB3、B2とB4)が閲覧領域Tに入っていれば、位置パラメータPPから式(2)により画角bを算出できる。図21に示すように平面画像Pの対角頂点B1〜B4の全てが閲覧領域Tに入っていない場合、閲覧領域Tに入っている頂点B1から閲覧領域Tの対角頂点A3により画角bを算出する。頂点B1の対角頂点が頂点A3であること、頂点B2の対角頂点が頂点A4であること、頂点B3の対角頂点が頂点A1であること、頂点B4の対角頂点が頂点A2であることは表示装置30に設定されている。
頂点A1の緯度≧頂点B1の緯度≦頂点A4の緯度
頂点B2、B3、B4についても同様に判断できる。対角の頂点(B1とB3、B2とB4)が閲覧領域Tに入っていれば、位置パラメータPPから式(2)により画角bを算出できる。図21に示すように平面画像Pの対角頂点B1〜B4の全てが閲覧領域Tに入っていない場合、閲覧領域Tに入っている頂点B1から閲覧領域Tの対角頂点A3により画角bを算出する。頂点B1の対角頂点が頂点A3であること、頂点B2の対角頂点が頂点A4であること、頂点B3の対角頂点が頂点A1であること、頂点B4の対角頂点が頂点A2であることは表示装置30に設定されている。
<フレームの表示方法>
全天球画像における平面画像Pの場所(一致領域301)は位置パラメータPPで表されている。図12(c)の位置パラメータPPのうち、x=0.5又はy=0.5の値を持つ格子が平面画像Pの外縁である。位置パラメータPPにはx=0.5又はy=0.5の値を持つ格子の緯度と経度が設定されているので、フレーム表示部36はこの緯度と経度にフレーム40となる点線を描画する。
全天球画像における平面画像Pの場所(一致領域301)は位置パラメータPPで表されている。図12(c)の位置パラメータPPのうち、x=0.5又はy=0.5の値を持つ格子が平面画像Pの外縁である。位置パラメータPPにはx=0.5又はy=0.5の値を持つ格子の緯度と経度が設定されているので、フレーム表示部36はこの緯度と経度にフレーム40となる点線を描画する。
あるいは、射影方式変換部1と同様の射影方式変換を行ってもよい。平面画像Pの外縁の矩形を射影方式変換すればフレーム40が得られる。
図22は、フレーム40の表示方法を模式的に説明する図の一例である。フレーム表示部36は、正距円筒図法の全天球画像CEと同じサイズ(画素数)の透明なレイヤを用意しておく。そして、フレーム表示部36は、位置パラメータPPでx=0.5、−0.5又はy=0.5、−0.5の値を持つ格子の緯度と経度にフレーム40となる点線を描画する。
フレーム表示部36はマスクデータを使って、透明なレイヤからマスクデータの白画素に対応する領域を取り出す。そして、取り出した透明なレイヤを重畳画像305に重ね合わせることで、平面画像Pの外縁を表すフレーム40を表示する。
なお、フレーム40を非表示にする場合、フレーム表示部36は透明なレイヤを非表示にすればよい。
<表示例>
図23は、全天球画像CEに表示されるフレーム40の例を説明する図の一例である。図23(a)〜図23(d)は、ユーザUが表示装置30を操作して徐々に全天球画像CEを拡大している様子を示す。図23(a)では全天球画像CEのほぼ全体が閲覧領域Tに含まれている。図23(a)の状態では画角aが画角bの1.2倍より大きいため、フレーム40が表示されている。また、画角の比率ではなく、平面画像の中心と閲覧領域Tの中心cpとの距離が閾値未満になった時(例えば、閾値は閲覧領域Tの画角の1/4の長さ)としてもよい。
図23は、全天球画像CEに表示されるフレーム40の例を説明する図の一例である。図23(a)〜図23(d)は、ユーザUが表示装置30を操作して徐々に全天球画像CEを拡大している様子を示す。図23(a)では全天球画像CEのほぼ全体が閲覧領域Tに含まれている。図23(a)の状態では画角aが画角bの1.2倍より大きいため、フレーム40が表示されている。また、画角の比率ではなく、平面画像の中心と閲覧領域Tの中心cpとの距離が閾値未満になった時(例えば、閾値は閲覧領域Tの画角の1/4の長さ)としてもよい。
図23(b)、図23(c)のように徐々に全天球画像CEが拡大されても、画角aが画角bの1.2倍より大きいため、フレーム40が表示される。図23(d)では、画角aが画角bの1.2倍以下となったため、フレーム40が表示されない。
<動作手順>
図24は、表示装置30が平面画像Pを表示する際にフレーム40の表示の有無を制御する手順を示すフローチャート図の一例である。図24の手順は、表示装置30が全天球画像CEを表示するとスタートする。すでに、全天球画像CEに平面画像Pが重畳されているものとする。
図24は、表示装置30が平面画像Pを表示する際にフレーム40の表示の有無を制御する手順を示すフローチャート図の一例である。図24の手順は、表示装置30が全天球画像CEを表示するとスタートする。すでに、全天球画像CEに平面画像Pが重畳されているものとする。
判断部35は、閲覧領域Tが変更されたか否か、又は、マウス操作されたか否かを判断する(S210)。閲覧領域Tが変更されるとは、ユーザUが視線方向を変更するか、拡大、又は、縮小の操作を行ったことをいう。具体的には、視線方向画角指示部26が、ユーザUの操作を視線方向と画角に変更して画像重畳部33に送出する。また、単にマウス操作されたか否かを判断してもよい。これにより、閲覧領域Tが変更されなくても何らかのマウスイベントを契機にステップS220以降の処理が進行する。
画像重畳部33は、視線方向と画角によって閲覧領域Tを特定する(S220)。すなわち、全天球画像CEのうち閲覧領域Tに対応する緯度と経度の範囲が特定される。
次に、判断部35は閲覧領域Tに平面画像Pの一部でも入っているか否かを判断する(S230)。全く入っていない場合はフレーム40を表示する必要がないので処理はステップS280に進む。
閲覧領域Tに一部でも平面画像Pが入っている場合(S230のYes)、判断部35は平面画像Pの画角bを算出する(S240)。また、閲覧領域の画角aを算出する(S250)。
そして、判断部35は画角aと画角bの比率a/bと閾値1.2を比較して、比率a/bが閾値1.2より大きいか否かを判断する(S260)。
ステップS260の判断がYesの場合、ユーザUが平面画像Pを見ると推定されないので、判断部35はフレーム40を表示すると判断する(S270)。フレーム表示部36はフレーム40のレイヤからマスクデータを使って閲覧領域Tを取り出して表示する。これにより、平面画像Pの場所や大きさをユーザUに知らせることができる。
ステップS260の判断がNoの場合、ユーザUが平面画像Pを見ると推定されるので、判断部35はフレーム40を表示しないと判断する(S280)。フレーム表示部36はフレーム40のレイヤを非表示にする。これにより、ユーザUが平面画像Pを見る際にフレーム40が邪魔になることを抑制できる。
画像表示部31は、全天球画像CEに平面画像Pが重畳され、フレーム40が表示又は非表示の重畳画像305をディスプレイ508に表示する(S290)。
<(i)の判断方法>
次に、「(i) ユーザUが平面画像Pをクリックした場合」の判断方法について説明する。ユーザUが平面画像Pをクリックした場合、ユーザUが平面画像Pを見たいことが明らかになるので、(ii)の条件を満たしていなくても、フレーム表示部36はフレーム40を表示する必要がなくなる。また、ユーザUが平面画像Pを見たいことが明らかなので、射影方式変換部2が平面画像Pを閲覧領域Tの全面に表示すれば、平面画像Pが正面になるようにユーザUが操作する必要がなくなり便利である。具体的には図23(a)のフレーム40で示される平面画像PをユーザUがクリックすることで、図23(a)から図23(d)へ閲覧領域Tを変えるような表示方法である。このような表示方法を平面画像Pの自動拡大と称して説明する。なお、タッチパネルを備えた機器への表示を行う場合には平面画像Pがタッチされた場合に同様の動作を行う。
次に、「(i) ユーザUが平面画像Pをクリックした場合」の判断方法について説明する。ユーザUが平面画像Pをクリックした場合、ユーザUが平面画像Pを見たいことが明らかになるので、(ii)の条件を満たしていなくても、フレーム表示部36はフレーム40を表示する必要がなくなる。また、ユーザUが平面画像Pを見たいことが明らかなので、射影方式変換部2が平面画像Pを閲覧領域Tの全面に表示すれば、平面画像Pが正面になるようにユーザUが操作する必要がなくなり便利である。具体的には図23(a)のフレーム40で示される平面画像PをユーザUがクリックすることで、図23(a)から図23(d)へ閲覧領域Tを変えるような表示方法である。このような表示方法を平面画像Pの自動拡大と称して説明する。なお、タッチパネルを備えた機器への表示を行う場合には平面画像Pがタッチされた場合に同様の動作を行う。
図25を用いて平面画像Pの自動拡大について説明する。図25は、閲覧領域Tへの平面画像Pの自動拡大の処理を説明する図の一例である。平面画像Pにマウスカーソル311が重なった状態でユーザUがクリックしたものとする。タッチパネルの場合は、ユーザUが指で平面画像Pをタップすることが相当する。マウスカーソルやタッチパネルをポインティングデバイスという。以下では説明を簡単にするため、マウスカーソル311を例にして説明する。
視線方向画角指示部26はマウスカーソル311がクリックされたディスプレイ508上の座標を全天球画像CEの三次元座標に変換する。この変換は、透視投影変換と逆の変換に相当する。判断部35は、マウスカーソル311の三次元座標を緯度・経度に変換して、マウスカーソル311の座標が平面画像Pに含まれるか否かを判断する。判断は以下のように行う。
頂点B1の経度≦マウスカーソルの座標の経度≦頂点B2の経度、かつ、
頂点B1の緯度≧マウスカーソルの座標の緯度≦頂点B4の緯度
判断部35は、マウスカーソル311の座標が平面画像Pに含まれている場合、平面画像Pがクリックされたと判断する。
頂点B1の緯度≧マウスカーソルの座標の緯度≦頂点B4の緯度
判断部35は、マウスカーソル311の座標が平面画像Pに含まれている場合、平面画像Pがクリックされたと判断する。
この場合、射影方式変換部2は平面画像Pを自動拡大する。射影方式変換部2は、平面画像Pを徐々に拡大して閲覧領域Tに一致させる画像処理を行う。具体的には、頂点A1と頂点B1を結ぶ線312、頂点A2と頂点B2を結ぶ線312、頂点A3と頂点B3を結ぶ線312、頂点A4と頂点B4を結ぶ線312、をそれぞれ等間隔に補間する。図25では線312が4分割されている。補間により得られた線312上の補間点をP1i〜P4iとする(iは1〜4の整数)。
平面画像Pを自動拡大する処理は閲覧領域Tの画角aを小さくする処理である。画像表示部31は、補間点P13・P23・P33・P43を結ぶ領域に閲覧領域Tを縮小する(画角aを小さくする)。次に、補間点P12・P22・P32・P42を結ぶ領域に閲覧領域Tを縮小する。次に、補間点P11・P21・P31・P41を結ぶ領域に閲覧領域Tを縮小する。次に、平面画像Pの頂点B1・B2・B3・B4を結ぶ領域に閲覧領域Tを縮小する。
このような画像処理により、ユーザUには平面画像Pが徐々に大きくなるように見える。閲覧領域Tに対し透視投影変換が行われディスプレイ508の全面(表示用のソフトウェアの全面)に表示されるため、ユーザUには平面画像Pが大きく見える。
なお、閲覧領域Tに平面画像Pの全体が含まれていない場合も同様に自動拡大できる。図26は、閲覧領域Tに平面画像Pの全体が含まれていない場合の平面画像Pの自動拡大の処理を説明する図の一例である。図26では、平面画像Pの頂点B4しか閲覧領域Tに入っていない。しかし、平面画像Pの頂点B1〜B3の座標は閲覧領域Tに表示されていないだけで既知であるため、図25と同様に自動拡大できる。
<動作手順>
図27は、表示装置30が平面画像Pを表示する際にフレーム40の表示の有無を制御する手順を示すフローチャート図の一例である。なお、図27の説明では主に図24との相違を説明する。
図27は、表示装置30が平面画像Pを表示する際にフレーム40の表示の有無を制御する手順を示すフローチャート図の一例である。なお、図27の説明では主に図24との相違を説明する。
ステップS210、S220の処理は図24と同様でよい。次に、判断部35は平面画像Pがクリックされたか否かを判断する(S222)。ステップS222の判断がNoの場合、以降の処理は図24と同様である。
ステップS222の判断がYesの場合、判断部35はフレーム40を表示しないと判断する(S224)。
そして、射影方式変換部2は平面画像Pを自動拡大する(S226)。以上の処理により、ユーザUは平面画像Pが正面になるように操作する必要がなくなる。
<マウスカーソルの座標に基づくフレーム40の表示制御>
次に、「(iii) マウスカーソルの座標が平面画像Pと重なっていない場合」の判断方法について説明する。すなわち、判断部35は、マウスカーソルの座標が平面画像Pと重なっている場合はフレーム40を表示すると判断し、マウスカーソルの座標が平面画像Pと重なっていない場合はフレーム40を表示しないと判断する。マウスカーソルの座標が平面画像Pと重なっているかどうかの判断方法は上記した。
次に、「(iii) マウスカーソルの座標が平面画像Pと重なっていない場合」の判断方法について説明する。すなわち、判断部35は、マウスカーソルの座標が平面画像Pと重なっている場合はフレーム40を表示すると判断し、マウスカーソルの座標が平面画像Pと重なっていない場合はフレーム40を表示しないと判断する。マウスカーソルの座標が平面画像Pと重なっているかどうかの判断方法は上記した。
図28は、フレーム40の表示と非表示を説明する図の一例である。図28(a)では平面画像Pとマウスカーソル311が重なっているため、フレーム40が表示されている。図28(b)では平面画像Pとマウスカーソル311が重なっていないため、フレーム40が表示されない。
図29は、表示装置30が平面画像Pを表示する際にフレーム40の表示の有無を制御する手順を示すフローチャート図の一例である。なお、図29の説明では主に図27との相違を説明する。
ステップS210〜S230の処理は図27と同様でよい。ステップS230でYesと判断された場合、判断部35はマウスカーソルが平面画像Pと重なっているか否かを判断する(S232)。
マウスカーソルが平面画像Pと重なっている場合(S232のYes)、判断部35はフレーム40を表示すると判断する(S270)。マウスカーソルが平面画像Pと重なっていない場合(S232のNo)、判断部35はフレーム40を表示しないと判断する(S280)。
こうすることで、ユーザUがマウスカーソルを平面画像Pに重ねた場合にだけ表示装置30はフレーム40を表示するので、ユーザUは全天球画像CEを見やすくなる。また、ユーザUがマウスカーソルを移動させマウスカーソルと平面画像Pが重なれば、フレーム40が表示されるので平面画像Pがどこにあるかを見つけやすい。
なお、図29とは逆に、マウスカーソルの座標が平面画像Pと重なっている場合はフレーム40を表示しないと判断部35が判断し、マウスカーソルの座標が平面画像Pと重なっていない場合はフレーム40を表示すると判断してもよい。この場合、一般にフレーム40が表示されている時間は表示されてない時間より長くなるので、ユーザUは平面画像Pを見つけやすくなり、マウスカーソルを平面画像Pに重ねればフレーム40を消去して平面画像Pを見ることができる。
<全天球画像CEの回転に基づくフレーム40の表示制御>
次に、「(iv) 全天球画像CEの閲覧領域Tが変更されてから所定時間が経過した後」 の判断方法について説明する。判断部35は、全天球画像CEが回転された直後、所定時間フレーム40を表示すると判断する。
次に、「(iv) 全天球画像CEの閲覧領域Tが変更されてから所定時間が経過した後」 の判断方法について説明する。判断部35は、全天球画像CEが回転された直後、所定時間フレーム40を表示すると判断する。
図30は、表示装置30が平面画像Pを表示する際にフレーム40の表示の有無を制御する手順を示すフローチャート図の一例である。なお、図30の説明では主に図29との相違を説明する。
ステップS210〜S230の処理は図29と同様でよい。ステップS230でYesと判断された場合、判断部35はフレーム40を表示すると判断する(S270)。すなわち、ステップS10で閲覧領域が変更された場合(全天球画像CEが回転された場合)、閲覧領域Tに平面画像Pが入っていれば、フレーム表示部36がフレーム40を表示する。
次に、判断部35は、フレーム40を表示してから所定時間が経過したか否かを判断する(S272)。所定時間は例えば数秒である。ユーザUがフレーム40に気づく時間があればよく、ユーザUが設定してもよい。
所定時間が経過すると、判断部35はフレーム40を表示しないと判断する(S280)。すなわち、閲覧領域Tが回転又は拡大・縮小され所定時間が経過するとフレーム40を消去できる。したがって、ユーザUに平面画像Pを気づかせやすくできると共に、平面画像Pの閲覧を妨害しにくい。
<フレームの表示例>
フレーム40は平面画像Pの場所をユーザUに知らせたり注意喚起するための画像部品であるが、画像部品は平面画像Pの場所をユーザUに知らせたり注意喚起できるものであれば、どのような形態でもよい。フレーム40は色合い又は輝度を任意に変更できる。
フレーム40は平面画像Pの場所をユーザUに知らせたり注意喚起するための画像部品であるが、画像部品は平面画像Pの場所をユーザUに知らせたり注意喚起できるものであれば、どのような形態でもよい。フレーム40は色合い又は輝度を任意に変更できる。
図31(a)はフレーム40の形態の一例を示す。図31(a)のフレーム40は白画素で表示されている。白画素の場合、全天球画像CEが暗い場合にユーザUが平面画像Pの場所に気づきやすくなる。図23などのように黒画素の場合、全天球画像CEが明るい場合にユーザUが平面画像Pの場所に気づきやすくなる。平面画像Pの画素値の平均に応じて白画素と黒画素をフレーム表示部36が自動で切り替えてもよい。フレーム40が点滅したり、フレーム40の点線が回転したりするような表示効果を与えてもよい。
また、図31(b)に示すようにフレーム表示部36はフレーム40内の色合いを変更してもよい。例えば、全天球画像CEがカラーの場合、フレーム表示部36は平面画像Pを白黒に変換する。この場合、フレーム40そのものの表示は不要になる。フレーム表示部36は、平面画像Pを白黒に変換する。
同様に、平面画像Pをセピア色にしたり、減色したりしてもよい。また、全天球画像CEが白黒の場合、平面画像Pをカラーにしてもよい。この場合、平面画像Pは元々カラーであることが好ましい。フレーム表示部36は全天球画像CEを白黒に変換する。
また、平面画像Pの輝度を反転してもよい。輝度は「Y = 0.299R + 0.587G + 0.114B」で算出される。RGBがそれぞれ0〜255の値を取る場合、輝度も0〜255の値を取る。輝度の反転とは127を中心に輝度を逆の値に置き換えることをいう。
反転後の値=|反転前の値−255|
こうすることで平面画像Pの輝度が周りと異なるので、ユーザは一目で平面画像Pに気づくことができる。なお、輝度の反転の他、階調反転、明度反転、色相反転などを行ってもよい。
反転後の値=|反転前の値−255|
こうすることで平面画像Pの輝度が周りと異なるので、ユーザは一目で平面画像Pに気づくことができる。なお、輝度の反転の他、階調反転、明度反転、色相反転などを行ってもよい。
また、フレーム表示部36は、平面画像Pを点滅させてもよい。点滅とは、平面画像Pの態様に関し色調が変更された状態と通常の状態を交互に切り替えることをいう。例えば、フレーム表示部36は、数秒ごとに色調が変更された状態と通常の状態を交互に切り替える。こうすることで、ユーザは平面画像Pに更に気づきやすくなる。
また、図31(c)に示すようにフレーム表示部36は平面画像Pを指し示すアイコン313を表示してもよい。ユーザUはこのアイコン313の内側に平面画像Pがあることを推測できるので、アイコン313の内側が正面になるように拡大すれば平面画像Pを閲覧できる。
<まとめ>
以上のように、本実施形態の画像処理システム100は、全天球画像CEに平面画像Pを重畳することで、画質が低い全天球画像CEを平面画像Pで補うことができる。平面画像Pの位置がフレーム40で表示されるのでユーザはどこに平面画像Pがあるかを容易に把握できる。ユーザが平面画像Pを見る場合、フレーム40が消去されるのでフレーム40が平面画像Pの閲覧を妨害することも抑制できる。
以上のように、本実施形態の画像処理システム100は、全天球画像CEに平面画像Pを重畳することで、画質が低い全天球画像CEを平面画像Pで補うことができる。平面画像Pの位置がフレーム40で表示されるのでユーザはどこに平面画像Pがあるかを容易に把握できる。ユーザが平面画像Pを見る場合、フレーム40が消去されるのでフレーム40が平面画像Pの閲覧を妨害することも抑制できる。
実施例1では(i)〜(iv)のような契機でフレーム40の表示又は非表示を制御したが、本実施例では、フレーム40の表示又は非表示の契機の他の例をいくつか説明する。
なお、本実施例において、実施例1において同一の符号を付した構成要素は同様の機能を果たすので、主に本実施例の主要な構成要素についてのみ説明する場合がある。
A.平面画像Pをクリック又はタップすること
実施例1の(i)ではクリックやタッチによりフレームが非表示になると説明したが、逆に、ユーザが平面画像Pをクリック又はタッチした場合にフレームを表示又は非表示にしてもよい。
実施例1の(i)ではクリックやタッチによりフレームが非表示になると説明したが、逆に、ユーザが平面画像Pをクリック又はタッチした場合にフレームを表示又は非表示にしてもよい。
図32は、表示装置30が平面画像Pを表示する際にフレームの表示の有無を制御する手順を示すフローチャート図の一例である。図32の説明では主に図24との相違を説明する。ステップS210〜S290までの処理は図24と同じでよい。
ステップS290に続いて、フレーム表示部36は平面画像Pがクリック又はタップされたか否かを判断する(S32−1)。フレームが表示されているか否かに関わらず、クリック又はタップされた位置が平面画像Pと重なっているか否かをマスクデータを使って判断する。
ステップS32−1の判断がYesの場合、フレーム表示部36は現在、フレームが表示されているか否かを判断する(S32−2)。
フレームが表示されている場合、フレーム表示部36はフレームを非表示にし(S32−3)、フレームが表示されていない場合、フレーム表示部36はフレームを表示する(S32−4)。
フレームが表示された状態でクリック又はタッチされると、射影方式変換部2は平面画像Pを自動拡大する(S224)。
このように、画角aと画角bの比率a/bが1.2未満でフレームが表示されていない場合でも、クリック又はタップによりフレームを表示することができる。また、フレームが表示されている場合にクリック又はタップされるとフレームを非表示にして平面画像を自動拡大することができる。したがって、ユーザは自分の好みでフレームの表示と非表示を切り替えることができる。
図32の処理では、画角aと画角bの比率a/bが1.2より大きい場合に、フレームが表示されるが、単純に、ユーザのクリック又はタップで表示と非表示を切り替えてもよい。
図33は、表示装置30が平面画像Pを表示する際にフレームの表示の有無を制御する手順を示すフローチャート図の一例である。図33の処理では、閲覧領域に平面画像が含まれていてもフレームは表示されない。
ステップS220に続いて、フレーム表示部36は平面画像Pがクリック又はタップされたか否かを判断する(S32−1)。
平面画像がクリック又はタップされると、フレーム表示部は現在、フレームが表示されているか否かを判断する(S32−2)。
フレームが表示されている場合、フレーム表示部36はフレームを非表示にし(S32−3)、フレームが表示されていない場合、フレーム表示部36はフレームを表示する(S32−4)。
このような処理によれば、ユーザは平面画像のクリック又はタップによりフレームの表示と非表示を切り替えることができる。この処理ではクリック又はタップでフレームの表示と非表示が切り替わるので、クリックによる自動拡大が困難になるが、自動拡大は例えば右クリックで表示されるメニューなどから行ってもよいし、ダブルクリックなどで行ってもよい。
なお、変形例として、フレーム表示部36が閲覧領域に入っている平面画像に自動的にフレームを表示しておき、フレームの表示後に一定時間が経過するとフレームが自動的に消去してもよい。ユーザは平面画像のあることを把握してフレームのない全天球画像を閲覧できる。また、クリック又はタップによりフレームの表示と非表示を切り替えることができる。
B.視線検知によりフレームの表示と非表示を切り替える
クリックやタッチではなく視線検知によりフレームの表示と非表示を切り替えることもできる。
クリックやタッチではなく視線検知によりフレームの表示と非表示を切り替えることもできる。
図34は、表示装置30による視線検知を説明する図の一例である。本実施例の表示装置30は視線検知装置90を有している。視線検知装置90はカメラを有しており、少なくとも眼を含む顔画像を撮像する。視線検知装置90は顔画像の画像データを解析して視線方向を検出する。視線方向は、基準点と動点の相対位置に基づいて検出される。一例として、基準点に目頭、動点に虹彩を選ぶ方法と、基準点に角膜反射、動点に瞳孔を選ぶ方法とがある。角膜反射が使用される場合視線検知装置90は点光源を照射する。視線検知装置90は、画像データから顔部分を特定し、顔部分から眉、鼻孔、目、唇などの特徴的な部品を特定し、これらの配置関係から目の位置を特定する。目の位置が特定されると目頭、動点、角膜反射及び瞳孔を検出できる。基準点と動点の相対位置に視線方向が対応付けられたテーブルが予め容易されており、視線検出装置はこのテーブルを参照して視線方向を検出する。視線方向は例えば視線検出装置の撮像素子の中心を原点とする三次元座標系のベクトルで表される。視線検出装置の撮像素子を基準とする閲覧領域の相対的な位置が明らかであれば、表示装置30のディスプレイ(閲覧領域)における視線の到達点の座標(視線位置)が特定される。フレーム表示部36はこの座標を定期的に取得して平面画像Pと重なっているか否かを判断する。
図35(a)は、表示装置30が平面画像Pを表示する際にフレームの表示の有無を制御する手順を示すフローチャート図の一例である。図35(a)の説明では主に図32との相違を説明する。
フレーム表示部36は視線位置に基づいて平面画像Pが注視されたか否かを判断する(S35−1)。フレームが表示されていてもいなくてもよいが、次述するようにフレームが表示されている場合は視線位置は制御に使用されない。フレーム表示部36は視線位置が平面画像Pと重なっているか否かをマスクデータを使って判断する。
ステップS35−1の判断がYesの場合、フレーム表示部36は現在、フレームが表示されているか否かを判断する(S35−2)。
フレームが表示されている場合、フレーム表示部36はフレームを表示にしたままにして(S35−3)、フレームが表示されていない場合、フレーム表示部36はフレームを表示する(S35−4)。
そして、平面画像がクリックされると(S35−5)、フレーム表示部36はフレームが表示されている場合に(S35−6)、フレームを非表示にして(S35−7)、射影方式変換部2が平面画像Pを自動拡大する(S224)。フレーム表示部36はフレームが表示されていない場合にフレームを表示する(S35−8)。
このように、フレームが表示されていなくてもユーザが注視するだけでフレームが表示されるので、平面画像Pが視線位置に存在する場合、ユーザは平面画像Pに気づくことができる。また、すでにフレームが表示されている場合は平面画像Pが注視されてもフレームは表示されたままなので、フレームがハンチングすることを防止できる。また、平面画像がクリックされるとフレームが表示されている場合は自動拡大でき、フレームが表示されていない場合はフレームを表示できる。
なお、ユーザが意図的にフレームを消去したい場合は、そのためのボタンを押下したり、図33のようにクリック又はタップしたりする方法が考えられる。あるいは、フレームの表示後の一定時間が経過するとフレームが自動的に消去されてもよい。
また、図35(b)のように、ユーザが平面画像Pを注視しかつクリック又はタップした場合にフレームを表示してもよい。
図35(b)では、フレーム表示部36は視線位置に基づいて平面画像Pが注視されたか否かを判断する(S35−1)。
ステップS35−1の判断がYesの場合、フレーム表示部36は平面画像がクリックされると(S35−5)、フレームを表示し(S35−8)、クリックされなければフレームを表示しない(S35−7)。
このような処理では、注視しただけではフレームが表示されないのでユーザが煩わしく感じることを抑制できる。注視しなくなればフレームを非表示にできる。
C.平面画像Pが閲覧領域の中心付近に存在する場合にフレームを表示する
平面画像Pが閲覧領域の中心付近に存在する場合、ユーザが平面画像Pの被写体に興味を持っていると推測されるため、フレームを表示することでユーザに平面画像Pの存在を知らせることができる。
平面画像Pが閲覧領域の中心付近に存在する場合、ユーザが平面画像Pの被写体に興味を持っていると推測されるため、フレームを表示することでユーザに平面画像Pの存在を知らせることができる。
図36は、閲覧領域と平面画像Pの距離を説明する図である。フレーム表示部36は閲覧領域の中心と平面画像Pの中心の距離Lを算出して閾値と比較することで、フレームを表示するか否かを判断する。図36(a)では距離Lが閾値以上なので、フレームが表示されない。図36(b)では距離Lが閾値未満なのでフレームが表示される。
図37は表示装置30が平面画像Pを表示する際にフレームの表示の有無を制御する手順を示すフローチャート図の一例である。図37の説明では主に図35との相違を説明する。
ステップS230で閲覧領域に平面画像Pが入っていると判断されると、フレーム表示部36は閲覧領域と平面画像Pの距離を算出し、距離が閾値未満か否かを判断する(S37−1)。閾値については実験的に定めればよい。例えば、閲覧領域の対角線の画素数の1/3、1/4等などである。
閲覧領域と平面画像Pの距離が閾値未満の場合、フレーム表示部36はフレームを表示すると判断し(S37−2)、距離が閾値以上の場合、フレーム表示部36はフレームを表示しないと判断する(S37−3)。以降の処理は図35と同様である。
このように、ユーザが閲覧領域の中心付近で見ようとしている被写体がある場合、フレームが表示されるので、ユーザは平面画像Pの存在に気づくことができる。
D.マウスカーソルが平面画像Pと重なっている場合に非表示にして重なっていない場合に表示する
実施例1では、マウスカーソルが平面画像Pと重なっている場合に表示し、重なっていない場合に非表示としたが、その逆に、マウスカーソルが平面画像Pと重なっている場合に非表示にして重なっていない場合に表示してもよい。こうすることで、ユーザはマウスカーソルを重ねることでフレームがない状態でユーザが平面画像Pを閲覧できる。
実施例1では、マウスカーソルが平面画像Pと重なっている場合に表示し、重なっていない場合に非表示としたが、その逆に、マウスカーソルが平面画像Pと重なっている場合に非表示にして重なっていない場合に表示してもよい。こうすることで、ユーザはマウスカーソルを重ねることでフレームがない状態でユーザが平面画像Pを閲覧できる。
図38は、表示装置30が平面画像Pを表示する際にフレームの表示の有無を制御する手順を示すフローチャート図の一例である。図38の説明では主に図37との相違を説明する。
ステップS230に続いて、フレーム表示部36はマウスカーソルが平面画像Pと重なっているか否かを判断する(S38−1)。
マウスカーソルが平面画像Pと重なっている場合、フレーム表示部36はフレームを表示しないと判断し(S38−2)、マウスカーソルが平面画像Pと重なっていない場合、フレーム表示部36はフレームを表示すると判断する(S38−3)。以降の処理は図37と同様でよい。
このように、マウスカーソルが平面画像Pと重なっていない場合はフレームが表示されることでユーザが平面画像Pの場所に気づくことができ、マウスカーソルが平面画像Pと重なっている場合は平面画像Pをフレームなしに閲覧できる。
<まとめ>
以上説明したように、本実施例の表示装置30は、種々のイベントを契機にしてフレーム40の表示又は非表示を制御できる。
以上説明したように、本実施例の表示装置30は、種々のイベントを契機にしてフレーム40の表示又は非表示を制御できる。
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
例えば、上記の(i)から(iv)は自動的にフレーム40の表示・非表示を切り替えるものであるが、ユーザUが意図的に表示・非表示を指定してもよい。
また、平面画像Pが表示されている状態でフレーム40の表示と非表示が切り替えられていたが、画像重畳部33はフレーム40が表示される場合にだけ平面画像Pを表示し、フレーム40が表示されない場合に平面画像Pを非表示にしてもよい。
また、全天球画像の表示はブラウザソフトウェアで行ってもよいし、全天球画像CEを表示するためのアプリケーションソフトで行ってもよい。
また、本実施形態の全天球画像は閲覧領域Tに表示しきない画角の画像データであればよい。例えば、水平方向にだけ180度〜360度の画角を有する画像でもよい。
また、図11、18などの構成例は、全天球カメラ20、表示装置30、及びデジタルカメラ9による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。全天球カメラ20、表示装置30、及びデジタルカメラ9の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
なお、判断部35は判断手段の一例であり、フレーム表示部36は画像提示手段の一例であり、視線方向画角指示部26は操作受付手段の一例であり、画像表示部31は画像表示手段の一例である。視線検知装置90は視線位置検出手段の一例である。
7 変換表示部
8 位置パラメータ作成部
9 デジタルカメラ
20 全天球カメラ
23 位置パラメータ算出部
24 位置パラメータ書出部
26 視線方向画角指示部
30 表示装置
32 画像重畳部
33 画像重畳部
35 判断部
36 フレーム表示部
100 画像処理システム
8 位置パラメータ作成部
9 デジタルカメラ
20 全天球カメラ
23 位置パラメータ算出部
24 位置パラメータ書出部
26 視線方向画角指示部
30 表示装置
32 画像重畳部
33 画像重畳部
35 判断部
36 フレーム表示部
100 画像処理システム
Claims (18)
- 第一の画像と異なる品質の第二の画像が重畳された前記第一の画像を表示する表示装置であって、
前記第二の画像が閲覧されるか否かを判断する判断手段と、
前記判断手段の判断結果に応じて、前記第二の画像が存在する旨の表示と非表示を切り替える画像提示手段と、
を有する表示装置。 - 前記画像提示手段は、前記判断手段の判断結果に応じて、前記第二の画像の位置又は大きさを示す画像部品の表示と非表示を切り替える請求項1に記載の表示装置。
- 前記判断手段が前記第二の画像が閲覧されると判断した場合、前記画像提示手段は前記画像部品を表示せず、
前記判断手段が前記第二の画像が閲覧されないと判断した場合、前記画像提示手段は前記画像部品を表示する請求項2に記載の表示装置。 - 前記判断手段は、表示装置に表示された前記第一の画像の閲覧領域に対する前記第二の画像が表示された領域の比率を閾値と比較して、前記第二の画像が閲覧されるか否かを判断する請求項2又は3に記載の表示装置。
- 前記第一の画像に対する操作を受け付ける操作受付手段を有し、
前記操作受付手段が操作を受け付けた座標が前記第二の画像に重なっているか否かを前記判断手段が判断し、
前記座標が前記第二の画像に重なっていると前記判断手段が判断した場合、前記画像提示手段は前記画像部品を表示しない請求項2又は3に記載の表示装置。 - 前記第二の画像が前記表示装置に表示されている場合に、前記座標が前記第二の画像に重なっていると前記判断手段が判断した場合、
前記第二の画像を前記表示装置の表示サイズまで徐々に拡大して表示する画像表示手段を有する請求項5に記載の表示装置。 - 前記操作受付手段が操作を受け付けるポインティングデバイスの座標が前記第二の画像に重なっているか否かを前記判断手段が判断し、
前記ポインティングデバイスの座標が前記第二の画像に重なっていると前記判断手段が判断した場合、前記画像提示手段は前記画像部品を表示し、
前記ポインティングデバイスの座標が前記第二の画像に重なっていないと前記判断手段が判断した場合、前記画像提示手段は前記画像部品を表示しない請求項5又は6に記載の表示装置。 - 前記操作受付手段が操作を受け付けるポインティングデバイスの座標が前記第二の画像に重なっているか否かを前記判断手段が判断し、
前記ポインティングデバイスの座標が前記第二の画像に重なっていると前記判断手段が判断した場合、前記画像提示手段は前記画像部品を表示せず、
前記ポインティングデバイスの座標が前記第二の画像に重なっていないと前記判断手段が判断した場合、前記画像提示手段は前記画像部品を表示する請求項5又は6に記載の表示装置。 - 前記操作受付手段が前記第一の画像の閲覧領域の変更を受け付けた場合、
閲覧領域が変更されてから所定時間、前記画像提示手段は前記画像部品を表示し、閲覧領域が変更されてから所定時間が経過すると前記画像提示手段は前記画像部品を表示しない請求項5又は6に記載の表示装置。 - 前記第一の画像は撮像装置の周囲360度が撮像された全天球画像であり、前記第二の画像は前記第一の画像の閲覧領域に全体を表示可能な画像である請求項2〜9のいずれか1項に記載の表示装置。
- 前記第一の画像に対する操作を受け付ける操作受付手段を有し、
前記操作受付手段が操作を受け付けた座標が前記第二の画像に重なっているか否かを前記判断手段が判断し、
前記座標が前記第二の画像に重なっていると前記判断手段が判断した場合、前記画像提示手段は前記画像部品を表示する請求項2又は3に記載の表示装置。 - ユーザの視線位置を検出する視線位置検出手段を有し、
前記視線位置検出手段が検出した視線位置が前記第二の画像に重なっているか否かを前記判断手段が判断し、
前記視線位置が前記第二の画像に重なっていると前記判断手段が判断した場合、前記画像提示手段は前記画像部品を表示する請求項2又は3に記載の表示装置。 - 前記判断手段は前記第一の画像の中心と前記第二の画像の中心の距離が閾値未満か否かを判断し、
前記距離が閾値未満であると前記判断手段が判断した場合、前記画像提示手段は前記画像部品を表示する請求項2又は3に記載の表示装置。 - 前記画像部品は、前記第二の画像の外縁を示す枠であることを特徴とする請求項2〜13のいずれか1項に記載の表示装置。
- 前記画像部品は、前記第二の画像を指し示す画像であることを特徴とする請求項2〜13のいずれか1項に記載の表示装置。
- 前記第二の画像が存在する旨は、前記第二の画像の色合い又は輝度が前記第一の画像と異なる態様であることで示されることを特徴とする請求項1〜13のいずれか1項に記載の表示装置。
- 第一の画像と異なる品質の第二の画像が重畳された前記第一の画像を表示する表示装置を、
前記第二の画像が閲覧されるか否かを判断する判断手段と、
前記判断手段の判断結果に応じて、前記第二の画像が存在する旨の表示と非表示を切り替える画像提示手段、
として機能させるためのプログラム。 - 第一の画像と異なる品質の高画質な第二の画像が重畳された前記第一の画像を表示する表示装置が行う表示方法であって、
判断手段が、前記第二の画像が閲覧されるか否かを判断するステップと、
画像提示手段が、前記判断手段の判断結果に応じて、前記第二の画像が存在する旨の表示と非表示を切り替えるステップと、
を有する表示方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201711457442.9A CN108259782A (zh) | 2016-12-28 | 2017-12-28 | 图像处理装置、摄影系统、图像处理方法 |
| US15/856,949 US10789671B2 (en) | 2016-12-28 | 2017-12-28 | Apparatus, system, and method of controlling display, and recording medium |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016256381 | 2016-12-28 | ||
| JP2016256381 | 2016-12-28 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2018109740A true JP2018109740A (ja) | 2018-07-12 |
Family
ID=62844361
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017207635A Withdrawn JP2018109740A (ja) | 2016-12-28 | 2017-10-26 | 表示装置、プログラム、表示方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2018109740A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2023097997A (ja) * | 2021-12-28 | 2023-07-10 | キヤノン株式会社 | 画像処理装置、画像処理方法およびプログラム |
| US11928775B2 (en) | 2020-11-26 | 2024-03-12 | Ricoh Company, Ltd. | Apparatus, system, method, and non-transitory medium which map two images onto a three-dimensional object to generate a virtual image |
-
2017
- 2017-10-26 JP JP2017207635A patent/JP2018109740A/ja not_active Withdrawn
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11928775B2 (en) | 2020-11-26 | 2024-03-12 | Ricoh Company, Ltd. | Apparatus, system, method, and non-transitory medium which map two images onto a three-dimensional object to generate a virtual image |
| JP2023097997A (ja) * | 2021-12-28 | 2023-07-10 | キヤノン株式会社 | 画像処理装置、画像処理方法およびプログラム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10437545B2 (en) | Apparatus, system, and method for controlling display, and recording medium | |
| US10789671B2 (en) | Apparatus, system, and method of controlling display, and recording medium | |
| JP2018110375A (ja) | 表示装置、プログラム、表示方法 | |
| JP5835383B2 (ja) | 情報処理方法、情報処理装置、およびプログラム | |
| JP6805861B2 (ja) | 画像処理装置、画像処理システム、画像処理方法及びプログラム | |
| JP5835384B2 (ja) | 情報処理方法、情報処理装置、およびプログラム | |
| EP2822267A2 (en) | Method and apparatus for previewing a dual-shot image | |
| JP2019057903A (ja) | 画像処理装置、撮影システム、画像処理方法、及びプログラム | |
| JP2019164782A (ja) | 画像処理装置、撮影システム、画像処理方法、及びプログラム | |
| JP2019057264A (ja) | 画像処理装置、撮影システム、画像処理方法、及びプログラム | |
| CN113066189A (zh) | 一种增强现实设备及虚实物体遮挡显示方法 | |
| JP2022130180A (ja) | 画像処理方法、プログラム、画像処理装置および画像処理システム | |
| JP2018109946A (ja) | 表示装置、プログラム、表示方法 | |
| CN103391396B (zh) | 显示控制设备和显示控制方法 | |
| JP6350695B2 (ja) | 装置、方法、およびプログラム | |
| JPWO2017159014A1 (ja) | 画像処理装置、画像処理方法及び画像処理システム | |
| JP2018110384A (ja) | 画像処理装置、撮影システム、画像処理方法、及びプログラム | |
| JP2018109740A (ja) | 表示装置、プログラム、表示方法 | |
| JPWO2017145483A1 (ja) | 画像処理装置、画像処理システム及びプログラム | |
| JP2018157538A (ja) | プログラム、撮像システム、情報処理装置 | |
| JP6583486B2 (ja) | 情報処理方法、情報処理プログラムおよび情報処理装置 | |
| JP6128185B2 (ja) | 装置、方法、およびプログラム | |
| JP2019164783A (ja) | 画像処理装置、撮影システム、画像処理方法、及びプログラム | |
| JP6812643B2 (ja) | 通信端末、画像通信システム、表示方法、及びプログラム | |
| JP2018109971A (ja) | 画像処理装置、画像処理システム、撮影システム、画像処理方法、及びプログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200819 |
|
| A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20201111 |