(57)【要約】  一態様に係る表示方法は、第１表示装置による第１表示面を含む空間データを透視図に投影する処理と、第２表示装置によって、透視図を第２表示面に表示する処理と、第２表示面においてユーザに指示される第１位置を受け付ける処理と、第１位置が第１表示面に相当する領域内を指す場合に、第１位置を、第１表示面における第２位置に変換する変換処理と、第２位置に基づいて、第１表示面に表示する画像を操作する操作処理とを含む。操作処理において、画像に含まれるウィンドウを操作するようにしてもよい。
2016157316.tif 000002
【特許請求の範囲】
【請求項１】
第１表示装置による第１表示面を含む空間データを透視図に投影する処理と、
第２表示装置によって、前記透視図を第２表示面に表示する処理と、
前記第２表示面においてユーザに指示される第１位置を受け付ける処理と、
前記第１位置が前記第１表示面に相当する領域内を指す場合に、前記第１位置を、前記第１表示面における第２位置に変換する変換処理と、
前記第２位置に基づいて、前記第１表示面に表示する画像を操作する操作処理と
を含む表示方法。
【請求項２】
前記第１表示面の基準点の座標と、前記領域において当該基準点に相当する点の座標との関係に基づいて、前記第２表示面における座標系の位置を前記第１表示面における座標系の位置に変換するための変換値を算出する処理
を含み、
前記変換処理において、前記変換値を用いて、前記第１位置を前記第２位置に変換する
請求項１記載の表示方法。
【請求項３】
前記操作処理において、前記画像に含まれるウィンドウを操作する
請求項１又は２記載の表示方法。
【請求項４】
前記操作処理において、前記ウィンドウの位置を更新する
請求項３記載の表示方法。
【請求項５】
前記操作処理において、前記ウィンドウの表示レイヤを更新する
請求項３記載の表示方法。
【請求項６】
第１表示装置による第１表示面を含む空間データを透視図に投影し、
第２表示装置によって、前記透視図を第２表示面に表示し、
前記第２表示面においてユーザに指示される第１位置を受け付け、
前記第１位置が前記第１表示面に相当する領域内を指す場合に、前記第１位置を、前記第１表示面における第２位置に変換し、
前記第２位置に基づいて、前記第１表示面に表示する画像を操作する
処理をコンピュータに実行させるプログラム。
【請求項７】
第１表示装置による第１表示面を含む空間データを透視図に投影する投影部と、
第２表示装置によって、前記透視図を第２表示面に表示する表示処理部と、
前記第２表示面においてユーザに指示される第１位置を受け付ける受付部と、
前記第１位置が前記第１表示面に相当する領域内を指す場合に、前記第１位置を、前記第１表示面における第２位置に変換する変換部と、
前記第２位置に基づいて、前記第１表示面に表示する画像を操作する操作部と
を有する表示制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の表示装置を制御する技術に関する。
【背景技術】
【０００２】
マルチディスプレイシステムにおいて複数の表示面が連続していない場合には、表示面を跨るドラッグ操作は、難しい。【０００３】
また、マルチディスプレイシステムにおける複数の表示面が同じ平面上に配置されているとは限らない。ある文献には、正面及び側面の壁に表示面が配置されている例が開示されている。このように、互いに直交する表示面を跨るドラッグ操作は、更に難しい。【０００４】
複数の表示面に表示される画像をそれぞれの表示面上で操作することは、煩雑である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平９−２８２１２５号公報
【特許文献２】特開２００６−７２３２３号公報
【特許文献３】特開２００５−１０７６８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、一側面では、複数の表示面に対する操作性を向上させることである。
【課題を解決するための手段】
【０００７】
一態様に係る表示方法は、第１表示装置による第１表示面を含む空間データを透視図に投影する処理と、第２表示装置によって、透視図を第２表示面に表示する処理と、第２表示面においてユーザに指示される第１位置を受け付ける処理と、第１位置が第１表示面に相当する領域内を指す場合に、第１位置を、第１表示面における第２位置に変換する変換処理と、第２位置に基づいて、第１表示面に表示する画像を操作する操作処理とを含む。
【発明の効果】
【０００８】
一側面としては、複数の表示面に対する操作性が向上する。
【図面の簡単な説明】
【０００９】
【図１】図１は、表示面の配置例を示す図である。
【図２】図２は、表示システムの構成例を示す図である。
【図３】図３は、操作画面の表示例を示す図である。
【図４】図４は、表示制御装置のモジュール構成例を示す図である。
【図５】図５は、投影モード部のモジュール構成例を示す図である。
【図６】図６は、オリジナル座標系と投影座標系との関係を示す図である。
【図７】図７は、メイン処理フローの例を示す図である。
【図８】図８は、投影モード処理フローの例を示す図である。
【図９】図９は、透視投影部のモジュール構成例を示す図である。
【図１０】図１０は、透視投影処理フローの例を示す図である。
【図１１】図１１は、算出処理フローの例を示す図である。
【図１２】図１２は、特定処理フローの例を示す図である。
【図１３】図１３は、第１操作部のモジュール構成例を示す図である。
【図１４】図１４は、カメラ回転を指示するタッチの例を示す図である。
【図１５】図１５は、カメラ回転後における操作画面の表示例を示す図である。
【図１６】図１６は、カメラ移動を指示するタッチの例を示す図である。
【図１７】図１７は、カメラ移動後における操作画面の表示例を示す図である。
【図１８】図１８は、カメラ操作処理フローの例を示す図である。
【図１９】図１９は、回転処理フローの例を示す図である。
【図２０】図２０は、カメラ回転を指示するタッチの例を示す図である。
【図２１】図２１は、移動処理フローの例を示す図である。
【図２２】図２２は、カメラ移動の様子を示す図である。
【図２３】図２３は、第２操作部のモジュール構成例を示す図である。
【図２４】図２４は、ウィンドウ操作処理フローの例を示す図である。
【図２５】図２５は、タップ操作の例を示す図である。
【図２６】図２６は、レイヤ変更後における操作画面の表示例を示す図である。
【図２７】図２７は、管理データの更新例を示す図である。
【図２８】図２８は、ウィンドウ操作処理フローの例を示す図である。
【図２９】図２９は、ドラッグ操作の例を示す図である。
【図３０】図３０は、管理データの更新例を示す図である。
【図３１】図３１は、ドラッグ操作の例を示す図である。
【図３２】図３２は、ドラッグ操作の例を示す図である。
【図３３】図３３は、管理データの更新例を示す図である。
【図３４】図３４は、管理データの更新例を示す図である。
【図３５】図３５は、メイン処理フローの例を示す図である。
【図３６】図３６は、表示面の配置例及び操作画面の表示例を示す図である。
【図３７】図３７は、表示面の配置例及び操作画面の表示例を示す図である。
【図３８】図３８は、ウィンドウ操作処理フローの例を示す図である。
【図３９】図３９は、表示面の配置例及び操作画面の表示例を示す図である。
【図４０】図４０は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１０】
［実施の形態１］
図１に、表示面１０１の配置例を示す。この例では、７つのディスプレイ装置が、夫々部屋の壁面、天井あるいはテーブル上に設置されている。つまり、各ディスプレイ装置による表示面１０１ａ乃至１０１ｇが、論理的に壁面、天井あるいはテーブル上に配置されている。これらの表示面１０１ａ乃至１０１ｇの位置は、グローバル座標系によって特定される。この例では、向かって正面の左上端がグローバル座標系の基準点である。右方向に、Ｘ軸の正方向が設定されている。下方向に、Ｙ軸の正方向が設定されている。手前方向に、Ｚ軸の正方向が設定されている。
【００１１】
尚、表示面１０１を提供する装置は、ディスプレイ装置に限らない。スクリーンに画像を投影するプロジェクタ装置を用いる場合には、スクリーンが表示面１０１に相当する。
【００１２】
図１は、通常モードにおける表示例を示している。通常モードにおいて表示面１０１に表示される画面をオリジナル画面という。表示面１０１ａのオリジナル画面には、ブラウザの画面が表示されたウィンドウ１０３ａが含まれている。表示面１０１ｅのオリジナル画面には、円の画像が描かれたウィンドウ１０３ｂが含まれている。
【００１３】
図２に、表示システム２０１の構成例を示す。表示システム２０１は、表示制御装置２０３と複数のタッチスクリーン２０５とを含んでいる。表示制御装置２０３は、タッチスクリーン２０５ａ乃至２０５ｇと接続している。タッチスクリーン２０５は、ディスプレイ装置２０７及びタッチパネル２０９を有している。ディスプレイ装置２０７は、表示面１０１に画像を表示する。上述の通り、表示面１０１を提供する装置は、プロジェクタ装置であってもよい。タッチパネル２０９は、表示面１０１におけるタッチ操作を検出する。タッチパネルに代えて、平面スキャンセンサを用いてタッチ操作を検出するようにしてもよい。また、カメラによって撮影した映像を解析して、タッチ操作を検出するようにしてもよい。また、タッチスクリーン２０５に代えて、ディスプレイ装置２０７及びタッチパネル２０９を有する端末（例えば、ノート型パソコン、タブレット端末あるいはスマートフォンなど）を用いるようにしてもよい。タッチスクリーン２０５ａ乃至タッチスクリーン２０５ｇ（図中、タッチスクリーン２０５ｄ乃至２０５ｆは、省略する）は、それぞれ表示面１０１ａ乃至表示面１０１ｇに対応するものとする。
【００１４】
図３に、操作画面の表示例を示す。投影モードにおいて、表示面１０１ａに操作画面が表示されている。操作画面には、当該部屋の透視図が描かれている。そして、操作画面において、ユーザから操作指示を受け付けるようになっている。操作画面を表示するディスプレイ装置２０７を、コントロールディスプレイということがある。コントロールディスプレイ以外のディスプレイ装置２０７を、メンバーディスプレイということがある。この例では、ディスプレイ装置２０７ａが、コントロールディスプレイであって、ディスプレイ装置２０７ｂ乃至２０７ｇが、メンバーディスプレイである。
【００１５】
図４に、表示制御装置２０３のモジュール構成例を示す。表示制御装置２０３は、アプリケーションプログラム４０１、オペレーションシステム４０３、ウィンドウシステム４０５、管理データ記憶部４０７、オリジナル画面記憶部４０９、表示処理部４１１及び投影モード部４１３を有している。
【００１６】
アプリケーションプログラム４０１ａは、ウィンドウ１０３ａを提供しているものとする。アプリケーションプログラム４０１ｂは、ウィンドウ１０３ｂを提供しているものとする。オペレーションシステム４０３は、例えばタッチパネル２０９におけるタッチ位置の検出を行う。ウィンドウシステム４０５は、ウィンドウを制御する。管理データ記憶部４０７は、ウィンドウを管理するためのデータ（以下、管理データという。）を記憶する。
【００１７】
オリジナル画面記憶部４０９は、通常モードにおいてディスプレイ装置２０７の表示面１０１に表示されるオリジナル画面のデータを記憶する。オリジナル画面は、ウィンドウシステム４０５によって生成される。オリジナル画面記憶部４０９ａ乃至４０９ｇは、それぞれ表示面１０１ａ乃至１０１ｇに対応するものとする。表示処理部４１１は、主にオリジナル画面をディスプレイ装置２０７に表示させる処理を行う。表示処理部４１１ａ乃至４１１ｇは、それぞれ表示面１０１ａ乃至１０１ｇに対応するものとする。
【００１８】
投影モード部４１３は、投影モードにおける処理を行う。投影モード部４１３は、シーン記憶部４１５、透視投影部４１７、操作画面記憶部４１９、平面投影部４２１、行列記憶部４２３、算出部４２５、領域記憶部４２７及び座標記憶部４２９を有している。
【００１９】
シーン記憶部４１５は、シーンデータを記憶している。シーンデータは、表示面１０１ａ乃至１０１ｇのモデル及び当該モデルのグローバル座標系における位置を含んでいる。また、シーンデータは、部屋の壁面、天井、床やテーブルなどのモデル及び当該モデルのグローバル座標系における位置を含むようにしてもよい。
【００２０】
透視投影部４１７は、シーンデータに基づいて部屋内のモデルを投影する。具体的には、透視投影部４１７は、仮想カメラ（以下、カメラという。）の位置から透視した図を生成する。操作画面記憶部４１９は、透視図が描かれた操作画面のデータを記憶する。平面投影部４２１は、各オリジナル画面を操作画面内に平面投影する。行列記憶部４２３は、オリジナル画面におけるオリジナル座標系と、操作画面における投影座標系との間の位置変換に用いられる２つのホモグラフィ行列を記憶する。算出部４２５は、２つのホモグラフィ行列を算出する。ホモグラフィ行列については、後述する。領域記憶部４２７は、操作画面において表示面に該当する領域（以下、ディスプレイ領域という。）の四隅位置を記憶している。ディスプレイ領域の四隅位置は、投影座標系による変動値であって、透視投影部４１７において透視投影が行われる際に算出される。座標記憶部４２９は、表示面の四隅位置を記憶している。尚、表示面の四隅位置は、オリジナル座標系による固定値である。表示面の四隅位置は、シーン記憶部４１５に含まれる表示面１０１のモデルにおける四隅位置と合致する。
【００２１】
上述した表示処理部４１１、投影モード部４１３、透視投影部４１７、平面投影部４２１及び算出部４２５は、ハードウエア資源（例えば、図４０）と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
【００２２】
上述した管理データ記憶部４０７、オリジナル画面記憶部４０９、シーン記憶部４１５、操作画面記憶部４１９、行列記憶部４２３、領域記憶部４２７及び座標記憶部４２９は、ハードウエア資源（例えば、図４０）を用いて実現される。
【００２３】
図５に、投影モード部４１３に含まれる他のモジュールを示す。投影モード部４１３は、更に、受付部５０１、特定部５０３、第１変換部５０５、パラメータ記憶部５０７、第１操作部５０９及び第２操作部５１１を有している。
【００２４】
受付部５０１は、イベントによる各種指示を受け付ける。特定部５０３は、イベントに基づいて各種パラメータを特定する。特定部５０３は、第１変換部５０５を含む。第１変換部５０５は、操作画面のディスプレイ領域内におけるタッチ位置を、該当するオリジナル画面における位置に変換する。パラメータ記憶部５０７は、各種パラメータを記憶する。第１操作部５０９は、論理的に透視投影部４１７におけるカメラの操作を行う。第２操作部５１１は、ウィンドウの操作を行い、操作結果に基づいて管理データを更新する。
【００２５】
上述した受付部５０１、特定部５０３、第１変換部５０５、第１操作部５０９及び第２操作部５１１は、ハードウエア資源（例えば、図４０）と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
【００２６】
上述したパラメータ記憶部５０７は、ハードウエア資源（例えば、図４０）を用いて実現される。
【００２７】
ここで、ホモグラフィ行列について説明する。図６に、オリジナル座標系と投影座標系との関係を示す。左側の矩形は、左壁面に配置された表示面１０１ｅを示している。右側の矩形は、正面に配置された表示面１０１ａを示している。表示面１０１ａには、操作画面が表示されている。操作画面内の台形は、表示面１０１ｅに対応するディスプレイ領域を示している。
【００２８】
メンバーディスプレイの表示面１０１ｅでは、オリジナル座標系によって位置が特定される。オリジナル座標系の基準点は、左上端である。右方向に、Ｘ軸の正方向が設定されている。下方向に、Ｙ軸の正方向が設定されている。オリジナル画面における位置は、オリジナル座標系に基づく。
【００２９】
コントロールディスプレイの表示面１０１ａでは、投影座標系によって位置が特定される。投影座標系の基準点は、左上端である。右方向に、Ｘ軸の正方向が設定されている。下方向に、Ｙ軸の正方向が設定されている。操作画面における位置は、投影座標系に基づく。
【００３０】
そして、ディスプレイ領域の左上端点６０１は、表示面１０１ｅの左上端点６１１に対応する。ディスプレイ領域の右上端点６０３は、表示面１０１ｅの右上端点６１３に対応する。ディスプレイ領域の右下端点６０５は、表示面１０１ｅの右下端点６１５に対応する。ディスプレイ領域の左下端点６０７は、表示面１０１ｅの左下端点６１７に対応する。このように隅位置同士の対応関係に基づいて、オリジナル座標系の位置を、投影座標系において対応する位置に変換するための第１ホモグラフィ行列が求められる。また、投影座標系の位置を、オリジナル座標系において対応する位置に変換するための第２ホモグラフィ行列が求められる。尚、４点の対応関係に基づいてホモグラフィ行列を算出する方法は、従来技術であるのでこれ以上説明しない。
【００３１】
処理の説明に移る。図７に、メイン処理フローの例を示す。表示制御装置２０３の立ち上がりにおいて、ウィンドウシステム４０５が起動される（Ｓ７０１）。このとき、ウィンドウシステム４０５は、各ディスプレイ装置２０７の表示面１０１に表示させる初期のオリジナル画面を生成し、夫々のオリジナル画面記憶部４０９に記憶する。そして、各表示処理部４１１は、初期のオリジナル画面をディスプレイ装置２０７に表示させる。
【００３２】
受付部５０１は、所定の操作（例えば、ボタン操作やタッチ操作）によるモード切替の指示を受け付ける（Ｓ７０３）。受付部５０１は、受け付けた指示に基づいて、コントロールディスプレイを特定する（Ｓ７０５）。この例では、表示面１０１ａ上のタッチパネル２０９ａに対するタッチ操作によって、モード切替が指示されたものとする。そして、表示面１０１ａを提供するディスプレイ装置２０７ａがコントロールディスプレイであると判定する。従って、ディスプレイ装置２０７ｂ乃至２０７ｇは、メンバーディスプレイである。
【００３３】
投影モード部４１３は、投影モード処理を起動する（Ｓ７０７）。そして、投影モードでの動作に移る。投影モードを終えた場合には、通常モードに戻る。この例では、Ｓ７０３の処理に戻って、待機する。
【００３４】
続いて、投影モード処理について説明する。図８に、投影モード処理フローの例を示す。まず、投影モード部４１３は、操作画面を生成し、表示する。そのため、透視投影部４１７は、透視投影処理を実行する（Ｓ８０１）。透視投影処理で、透視投影部４１７は、シーンデータに基づいて透視図を生成する。
【００３５】
図９に、透視投影部４１７のモジュール構成例を示す。第２変換部９０１は、シーン記憶部４１５に記憶しているシーンデータを、カメラ座標系のデータに変換する。データ記憶部９０３は、カメラ座標系のデータを記憶する。描画部９０５は、カメラ座標系のデータに基づく投影図を描画する。
【００３６】
上述した第２変換部９０１及び描画部９０５は、ハードウエア資源（例えば、図４０）と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
【００３７】
上述したデータ記憶部９０３は、ハードウエア資源（例えば、図４０）を用いて実現される。
【００３８】
図１０に、透視投影処理フローの例を示す。第２変換部９０１は、シーン記憶部４１５に記憶しているシーンデータを、カメラの位置及び姿勢に従って、カメラ座標系のデータに変換する（Ｓ１００１）。変換されたカメラ座標系のデータは、データ記憶部９０３に記憶される。
【００３９】
描画部９０５は、カメラ座標系のデータに基づく投影図を描画する（Ｓ１００３）。描画された投影図は、操作画面として操作画面記憶部４１９に記憶される。
【００４０】
描画部９０５は、更に、投影図における各ディスプレイ領域の四隅位置を領域記憶部４２７に記憶する（Ｓ１００５）。ディスプレイ領域の四隅位置は、投影座標系による。透視投影処理を終えると、図８に示したＳ８０３の処理に移る。
【００４１】
図８の説明に戻る。算出部４２５は、算出処理を実行する（Ｓ８０３）。算出処理において、算出部４２５は、第１ホモグラフィ行列及び第２ホモグラフィ行列を算出する。
【００４２】
図１１に、算出処理フローの例を示す。算出部４２５は、ディスプレイ装置２０７を１つ特定する（Ｓ１１００）。算出部４２５は、領域記憶部４２７から、特定したディスプレイ装置２０７に対応するディスプレイ領域の四隅位置（投影座標系）を取得する（Ｓ１１０１）。算出部４２５は、座標記憶部４２９から、特定したディスプレイ装置２０７に対応する表示面１０１の四隅位置（オリジナル座標系）を取得する（Ｓ１１０３）。
【００４３】
そして、図６を用いて上述したように、四隅位置の対応に基づいて、算出部４２５は、オリジナル座標系の位置を、投影座標系において対応する位置に変換するための第１ホモグラフィ行列を算出する（Ｓ１１０５）。算出部４２５は、投影座標系の位置を、オリジナル座標系において対応する位置に変換するための第２ホモグラフィ行列を算出する（Ｓ１１０７）。第２ホモグラフィ行列は、第１ホモグラフィ行列の逆行列である。算出部４２５は、未処理のディスプレイ装置２０７があるか否かを判定する（Ｓ１１０９）。未処理のディスプレイ装置２０７があると判定した場合には、Ｓ１１００に示した処理に戻って、上述した処理を繰り返す。一方、未処理のディスプレイ装置２０７がないと判定した場合には、図８のＳ８０５に示した処理に移る。尚、コントロールディスプレイについては、上述した算出を省くようにしてもよい。
【００４４】
図８の説明に戻る。平面投影部４２１は、平面投影処理を実行する（Ｓ８０５）。平面投影部４２１は、第１ホモグラフィ行列によって、オリジナル画面を操作画面のディスプレイ領域に投影する。つまり、平面投影部４２１は、オリジナル画面の画素値を操作画面における所定の位置に移す。そして、平面投影部４２１は、ディスプレイ領域における画像データの補間処理を行う。補間処理は、変換された画像を見やすくするためのデータ加工である。平面投影部４２１は、これらの処理を、各メンバーディスプレイのオリジナル画面に対して行う。
【００４５】
Ｓ８０１乃至Ｓ８０５に示した処理によって、操作画面が生成される。以下では、Ｓ８０１乃至Ｓ８０５の処理と同等の処理を、全体投影処理（Ｓ８０７）ということがある。
【００４６】
コントロールディスプレイに対応する表示処理部４１１は、生成された操作画面をコントロールディスプレイのディスプレイ装置２０７に表示させる（Ｓ８０９）。この例では、表示処理部４１１ａが、操作画面をディスプレイ装置２０７ａに表示させる。
【００４７】
この段階で、受付部５０１は、イベントを取得する（Ｓ８１１）。受付部５０１は、取得したイベントが投影モード終了の指示であるか否かを判定する（Ｓ８１３）。取得したイベントが投影モード終了の指示であると判定した場合には、投影モード処理を終えて、図７に示したＳ７０３の処理に戻る。
【００４８】
一方、取得したイベントが投影モード終了の指示ではないと判定した場合には、特定部５０３は、特定処理を実行する（Ｓ８１５）。この例では、Ｓ８１１で取得したイベントがタッチ操作であったものとする。そして、特定処理において、特定部５０３は、タッチ操作に基づいて各種のパラメータを特定する。
【００４９】
図１２に、特定処理フローの例を示す。特定処理では、投影座標系のタッチ位置に対応するオリジナル座標系のタッチ位置、タッチ位置を含むディスプレイ領域に対応するディスプレイＩＤ、タッチ位置を含むウィンドウのＩＤ及び当該ウィンドウに対応するアプリケーションプログラム４０１のＩＤを特定する。
【００５０】
特定部５０３は、領域記憶部４２７に記憶されているデータに基づいて、投影座標系のタッチ位置がディスプレイ領域内であるか否かを判定する（Ｓ１２０１）。投影座標系のタッチ位置がディスプレイ領域内でないと判定した場合には、特定部５０３は、「ディスプレイ領域外」である旨をパラメータ記憶部５０７に記憶する（Ｓ１２０３）。「ディスプレイ領域外」は、例えば壁面に相当する位置をタッチしたことを意味する。そして、特定処理を終える。
【００５１】
投影座標系のタッチ位置がディスプレイ領域内であると判定した場合には、特定部５０３は、ディスプレイ領域に対応するディスプレイＩＤをパラメータ記憶部５０７に記憶する（Ｓ１２０５）。第１変換部５０５は、第２ホモグラフィ行列に従って、投影座標系のタッチ位置をオリジナル座標系のタッチ位置に変換する（Ｓ１２０７）。そして、特定部５０３は、オリジナル座標系のタッチ位置をパラメータ記憶部５０７に記憶する（Ｓ１２０９）。
【００５２】
更に、特定部５０３は、管理データに基づいて、オリジナル座標系のタッチ位置がいずれかのウィンドウ１０３内であるか否かを判定する（Ｓ１２１１）。オリジナル座標系のタッチ位置がウィンドウ１０３内であると判定した場合には、特定部５０３は、当該ウィンドウ１０３のＩＤをパラメータ記憶部５０７に記憶する（Ｓ１２１３）。更に、特定部５０３は、管理データに基づいて、当該ウィンドウＩＤに対応するアプリケーションＩＤを特定し、パラメータ記憶部５０７に記憶する（Ｓ１２１５）。そして、特定処理を終える。
【００５３】
一方、オリジナル座標系のタッチ位置がウィンドウ１０３内ではないと判定した場合には、特定部５０３は、「ウィンドウ外」である旨をパラメータ記憶部５０７に記憶する（Ｓ１２１７）。更に、特定部５０３は、「アプリケーションなし」である旨をパラメータ記憶部５０７に記憶する（Ｓ１２１９）。そして、特定処理を終える。特定処理を終えると、図８のＳ８１７に示した処理に移る。
【００５４】
図８の説明に戻る。受付部５０１は、特定処理の結果に基づいて、Ｓ８１１において取得したイベントがタッチ数＝１且つウィンドウ内のタッチであるか否かを判定する（Ｓ８１７）。タッチ数＝１且つウィンドウ内のタッチである場合には、ウィンドウのタップやドラッグなどのタッチ操作である。そのため、第２操作部５１１は、ウィンドウ操作処理を実行する（Ｓ８２１）。一方、ウィンドウ外のタッチである場合あるいはタッチ数が２である場合には、カメラの回転や移動などのカメラ操作である。そのため、第１操作部５０９は、カメラ操作処理を実行する（Ｓ８１９）。ウィンドウ操作処理あるいはカメラ操作処理を終えると、Ｓ８１１に戻って、上述した処理を繰り返す。
【００５５】
以下、カメラ操作処理、ウィンドウ操作処理の順に詳述する。図１３に、カメラ操作処理を行う第１操作部５０９のモジュール構成例を示す。第１操作部５０９は、回転部１３０１及び移動部１３０３を有する。回転部１３０１は、カメラの回転操作を行う。移動部１３０３は、カメラの移動操作を行う。ここでいう移動は、前後の移動を意味する。
【００５６】
上述した回転部１３０１及び移動部１３０３は、ハードウエア資源（例えば、図４０）と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
【００５７】
図１４に、カメラ回転を指示するタッチの例を示す。この例では、操作画面のうちウィンドウ１０３外を最初にタッチして、タッチ位置をスライドさせることによって、カメラを回転させる。尚、ｌtは、左方向にスライドした距離を示している。タッチ位置を横方向にスライドさせた場合には、カメラは水平方向に回転する。
【００５８】
図１５に、カメラ回転後における操作画面の表示例を示す。表示面１０１ａの操作画面における投射図は、カメラが水平方向に回転した状態に基づいて描かれている。
【００５９】
図１６に、カメラ移動を指示するタッチの例を示す。この例では、操作画面に対して最初に２点をタッチし、その距離を変化させることによって、カメラを前後に移動させる。尚、ｌ0は、最初の２点間の距離を示している。ｌtは、変化後の２点間の距離を示している。距離を縮めた場合には、カメラは後退する。
【００６０】
図１７に、カメラ移動後における操作画面の表示例を示す。表示面１０１ａの操作画面における投射図は、カメラが後退した状態に基づいて描かれている。
【００６１】
図１８に、カメラ操作処理フローの例を示す。受付部５０１は、図８のＳ８１１で取得したイベントが示すタッチ数が１であるか否かを判定する（Ｓ１８０１）。当該タッチ数が１であると判定した場合には、スライド操作であるので、回転部１３０１は、回転処理を実行する（Ｓ１８０３）。
【００６２】
一方、当該タッチ数が１ではないと判定した場合には、受付部５０１は、当該タッチ数が２であるか否かを判定する（Ｓ１８０５）。当該タッチ数が２であると判定した場合には、ピンチ操作であるので、移動部１３０３は、移動処理を実行する（Ｓ１８０７）。当該タッチ数が２ではないと判定した場合には、終了指示であると看做して、カメラ操作を終了する。
【００６３】
続いて、回転処理について説明する。図１９に、回転処理フローの例を示す。回転部１３０１は、図８のＳ８１１で取得したイベントが示すタッチ位置を、始点位置としてパラメータ記憶部５０７に記憶する（Ｓ１９０１）。受付部５０１は、イベントを取得する（Ｓ１９０３）。受付部５０１は、取得したイベントが示すタッチ数が１であるか否かを判定する（Ｓ１９０５）。取得したイベントが示すタッチ数が１ではないと判定した場合には、終了指示であると看做して、回転処理を終了する。
【００６４】
一方、取得したイベントが示すタッチ数が１であると判定した場合には、回転部１３０１は、Ｓ１９０３で取得したイベントが指すタッチ位置を終点位置として、移動ベクトルを算出する（Ｓ１９０７）。
【００６５】
回転部１３０１は、移動ベクトルに基づいてカメラを回転する（Ｓ１９０９）。図１４に示したように横方向成分については、例えば以下の式に従って、ピッチ角度ｐを変更する。
【００６６】
ｐt＝ｐt-1＋（ｌt／ｄt）Ｃ1
【００６７】
ｐtは、今回のピッチ角度である。ｐt-1は、前回のピッチ角度である。ｄtは、カメラとコントロールディスプレイの表示面１０１との距離である。Ｃ1は、定数である。
【００６８】
図２０は、縦方向にタッチ位置をスライドさせた場合の例を示している。尚、ｌtは、下方向にスライドした距離を示している。タッチ位置を縦方向にスライドさせた場合には、カメラは垂直方向に回転する。縦方向成分については、例えば以下の式に従って、ヨー角度ｙを変更する。
【００６９】
ｙt＝ｙt-1＋（ｌt／ｄt）Ｃ2
【００７０】
ｙtは、今回のヨー角度である。ｙt-1は、前回のヨー角度である。Ｃ2は、定数である。
【００７１】
図８の説明に戻る。投影モード部４１３は、図８に示したＳ８０７の処理と同様に全体投影処理を実行する（Ｓ１９１１）。コントロールディスプレイに対応する表示処理部４１１は、図８に示したＳ８０９の処理と同様に操作画面をディスプレイ装置２０７に表示させる（Ｓ１９１３）。そして、Ｓ１９０３の処理に戻って、上述した処理を繰り返す。
【００７２】
次に、移動処理について説明する。図２１に、移動処理フローの例を示す。移動部１３０３は、図８のＳ８１１で取得したイベントが示す２つのタッチ位置の距離を算出し、初期距離としてパラメータ記憶部５０７に記憶する（Ｓ２１０１）。受付部５０１は、イベントを取得する（Ｓ２１０３）。受付部５０１は、取得したイベントが示すタッチ数が２であるか否かを判定する（Ｓ２１０５）。取得したイベントが示すタッチ数が２ではないと判定した場合には、終了指示であると看做して、移動処理を終了する。
【００７３】
一方、取得したイベントが示すタッチ数が２であると判定した場合には、移動部１３０３は、Ｓ２１０３で取得したイベントが指す２つのタッチ位置の距離を、スライド後の距離として算出する（Ｓ２１０７）。移動部１３０３は、初期距離とスライド後の距離とに基づいて、論理的にカメラを前後に移動する（Ｓ２１０９）。
【００７４】
図２２に、カメラ移動の様子を示す。この例は、距離を縮めた場合に、カメラが後退する様子を示している。尚、ｄ0とｄtとは、いずれもグローバル座標系におけるカメラと表示面１０１ａの距離を示している。ｄ0は、カメラが移動する前の距離を示している。ｄtは、カメラが移動した後の距離を示している。例えば以下の式に従って、カメラと表示面１０１ａの距離ｄを変更する。
【００７５】
ｄt＝ｄt-1＋（１−ｌt／ｌ0）Ｃ3
【００７６】
図１６で説明した通り、ｌ0は、初期距離を示している。ｌtは、スライド後の距離を示している。Ｃ3は、定数である。
【００７７】
図２１の説明に戻る。投影モード部４１３は、上述の通り全体投影処理を実行する（Ｓ２１１１）。コントロールディスプレイに対応する表示処理部４１１は、上述の通り操作画面をディスプレイ装置２０７に表示させる（Ｓ２１１３）。そして、Ｓ２１０３の処理に戻って、上述した処理を繰り返す。
【００７８】
以上でカメラ操作処理についての説明を終える。ここからは、ウィンドウ処理について説明する。
【００７９】
図２３に、ウィンドウ処理を行う第２操作部５１１のモジュール構成例を示す。第２操作部５１１は、保存処理部２３０１、配置部２３０５、更新部２３０７、取消部２３０９及び退避データ格納部２３１１を有する。
【００８０】
保存処理部２３０１は、主に管理データの退避を行う。配置部２３０５は、アイコンを配置する。更新部２３０７は、管理データを更新する。取消部２３０９は、ウィンドウ操作を取り消す。退避データ格納部２３１１は、退避する管理データを記憶する。
【００８１】
上述した保存処理部２３０１、配置部２３０５、更新部２３０７及び取消部２３０９は、ハードウエア資源（例えば、図４０）と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
【００８２】
上述した退避データ格納部２３１１は、ハードウエア資源（例えば、図４０）を用いて実現される。
【００８３】
図２４に、ウィンドウ操作処理フローの例を示す。保存処理部２３０１は、図８のＳ８１１で最初に取得したイベントに基づいて、Ｓ８１５で特定したパラメータを、退避データ格納部２３１１に保存する（Ｓ２４０１）。保存処理部２３０１は、更に、管理データ記憶部４０７に記憶している管理データを退避データ格納部２３１１に退避する（Ｓ２４０３）。退避した管理データは、例えばウィンドウ操作の取消において用いられる。
【００８４】
受付部５０１は、イベントを取得する（Ｓ２４０５）。特定部５０３は、上述の通り特定処理を実行する（Ｓ２４０７）。受付部５０１は、Ｓ２４０５で取得したイベントが示すタッチ数が０であるか否かを判定する（Ｓ２４０９）。
【００８５】
Ｓ２４０５で取得したイベントが示すタッチ数が０であると判定した場合には、タップ操作あるいは長押し操作である。本実施の形態では、ウィンドウ内においてタップ操作あるいは長押し操作を行った場合に表示レイヤの変更を行う。
【００８６】
図２５に、タップ操作の例を示す。ディスプレイ領域２５５１ｅには、平面投射されたウィンドウ２５５３ｂとウィンドウ２５５３ｃとが描かれている。ウィンドウ２５５３ｃは、ウィンドウ２５５３ｂよりも手前に表示されている。この状態で、ユーザがウィンドウ２５５３ｂをタップすると、ウィンドウ２５５３ｂが手前に移動する。
【００８７】
図２６に、レイヤ変更後における操作画面の表示例を示す。ウィンドウ２５５３ｂは、ウィンドウ２５５３ｃよりも手前に表示されている。このとき、ディスプレイ領域２５５１ｅに対応する表示面１０１ｅのオリジナル画面においても、同様に背面のウィンドウ１０３ｂが手前に移動する。つまり、操作画面のディスプレイ領域２５５１ｅにおける動きと表示面１０１ｅのオリジナル画面の動きとは、同期する。
【００８８】
図２４の説明に戻る。更新部２３０７は、Ｓ２４０１において保存されたディスプレイＩＤとウィンドウＩＤとに基づいて、管理データにおけるレコードを特定し、当該レコードにおけるレイヤ番号を最前面に相当する値「１」に更新する（Ｓ２４１１）。このとき、同じディスプレイＩＤを有する他のレコードにおけるレイヤ番号も大小関係を保ちつつ繰り下げる。
【００８９】
図２７に、管理データの更新例を示す。この例における管理データは、テーブル形式である。但し、管理データは、テーブル形式以外の形式であってもよい。この例における管理データは、ウィンドウに対応するレコードを有している。管理データのレコードは、ディスプレイＩＤを設定するためのフィールドと、アプリケーションＩＤを設定するためのフィールドと、ウィンドウＩＤを設定するためのフィールドと、ウィンドウ位置を設定するためのフィールドと、ウィンドウサイズを設定するためのフィールドと、レイヤ番号を設定するためのフィールドとを有している。
【００９０】
ディスプレイＩＤは、当該ウィンドウを含むオリジナル画面を表示するディスプレイ装置２０７を特定する。この例で、ディスプレイＩＤ「ＤＳＰ−Ａ」は、ディスプレイ装置２０７ａを指す。同じくディスプレイＩＤ「ＤＳＰ−Ｅ」は、ディスプレイ装置２０７ｅを指す。
【００９１】
アプリケーションＩＤは、当該ウィンドウに画面を提供するアプリケーションプログラム４０１を特定する。この例で、アプリケーションＩＤ「ＡＰＬ−１」は、アプリケーションプログラム４０１ａを指す。同じくアプリケーションＩＤ「ＡＰＬ−２」は、アプリケーションプログラム４０１ｂを指す。同じくアプリケーションＩＤ「ＡＰＬ−３」は、アプリケーションプログラム４０１ｃ（図示していない。）を指す。
【００９２】
ウィンドウＩＤは、ウィンドウ１０３を特定する。この例で、ウィンドウＩＤ「ＷＩＮ−１」は、投影されたウィンドウ２５５３ａに相当するオリジナルのウィンドウ１０３ａを指す。同じくウィンドウＩＤ「ＷＩＮ−２」は、投影されたウィンドウ２５５３ｂに相当するオリジナルのウィンドウ１０３ｂを指す。同じくウィンドウＩＤ「ＷＩＮ−３」は、投影されたウィンドウ２５５３ｃに相当するオリジナルのウィンドウ１０３ｃ（図示していない。）を指す。
【００９３】
ウィンドウ位置は、オリジナル座標系によるウィンドウ１０３の位置である。ウィンドウサイズは、オリジナル座標系によるウィンドウ１０３のサイズである。レイヤ番号は、当該ウィンドウが属する表示レイヤの番号である。番号が小さい表示レイヤの方が、手前に表示される。
【００９４】
図２７の上段は、図２５に示した状態（タップ前）における管理データを示している。この時点では、投影されたウィンドウ２５５３ｃに相当するオリジナルのウィンドウ１０３ｃのレイヤ番号は、「１」であり、投影されたウィンドウ２５５３ｂに相当するオリジナルのウィンドウ１０３ｂのレイヤ番号は、「２」である。従って、図２５に示したように、投影されたウィンドウ２５５３ｂが投影されたウィンドウ２５５３ｃの後ろに隠れている。
【００９５】
図２７の下段は、図２６に示した状態（タップ後）における管理データを示している。この時点では、投影されたウィンドウ２５５３ｃに相当するオリジナルのウィンドウ１０３ｃのレイヤ番号は、「２」であり、投影されたウィンドウ２５５３ｂに相当するオリジナルのウィンドウ１０３ｂのレイヤ番号は、「１」である。従って、図２６に示したように、投影されたウィンドウ２５５３ｂが投影されたウィンドウ２５５３ｃより前に現れる。
【００９６】
図２４の説明に戻る。ウィンドウシステム４０５は、Ｓ２４０１において保存されたディスプレイＩＤに対応するオリジナル画面を描画して、オリジナル画面記憶部４０９に記憶する（Ｓ２４１３）。当該ディスプレイＩＤに対応する表示処理部４１１は、描画されたオリジナル画面を、当該ディスプレイＩＤにより特定されるディスプレイ装置２０７に表示する（Ｓ２４１５）。平面投影部４２１は、描画されたオリジナル画面に対する平面投影処理を実行する（Ｓ２４１７）。コントロールディスプレイに対応する表示処理部４１１は、操作画面をディスプレイ装置２０７に表示させる（Ｓ２４１９）。そして、ウィンドウ操作処理を終える。以上で、レイヤの変更についての手順が終わる。
【００９７】
図２４に示したＳ２４０９の処理についての説明に戻る。Ｓ２４０９において、Ｓ２４０５で取得したイベントが示すタッチ数が０ではないと判定し場合、つまりタッチ数が１である場合には、受付部５０１は、タッチ位置がスライドしたか否かを判定する（Ｓ２４２１）。尚、タッチ数が２以上である場合には、ウィンドウ操作処理を終えるようにしてもよい。
【００９８】
タッチ位置がスライドしていないと判定した場合には、長押しの状態であるので、Ｓ２４０５に戻って、上述した処理を繰り返す。
【００９９】
一方、タッチ位置がスライドしたと判定した場合には、端子Ａを介して図２８に示したＳ２８０１の処理に移る。
【０１００】
図２８の説明に移る。以下では、ドラッグの手順を実現する。更新部２３０７は、直前の特定処理の結果が「ディスプレイ領域外」であるか否かを判定する（Ｓ２８０１）。ドラッグ当初は、タッチ位置がディスプレイ領域内に留まるので、「ディスプレイ領域外」ではないと判定される。
【０１０１】
図２９に、ドラッグ当初の例を示す。ディスプレイ領域２５５１ｅには、投影されたウィンドウ２５５３ｂが描かれている。この例は、投影されたウィンドウ２５５３ｂを、ディスプレイ領域２５５１ｅの範囲内でドラッグした状態を示している。この位置でユーザがドロップすると、投影されたウィンドウ２５５３ｂはそのまま留まる。このとき、ディスプレイ領域２５５１ｅに対応する表示面１０１ｅのオリジナル画面においても、同様にウィンドウ１０３ｂが移動する。つまり、操作画面のディスプレイ領域２５５１ｅにおける動きと表示面１０１ｅのオリジナル画面の動きとは、同期する。
【０１０２】
図２８に戻って、ドラッグ当初における処理について説明する。更新部２３０７は、直前の特定処理で特定されたディスプレイＩＤがＳ２４０１において保存されたディスプレイＩＤと一致するか否かを判定する（Ｓ２８０３）。図２９の例では、直前の特定処理で特定されたディスプレイＩＤがＳ２４０１において保存されたディスプレイＩＤと一致すると判定される。そして、更新部２３０７は、管理データを更新する（Ｓ２８０５）。具体的には、更新部２３０７は、直前の特定処理で特定されたウィンドウＩＤに対応するレコードにおけるウィンドウ位置を変更する。具体的には、更新部２３０７は、Ｓ２４０１において保存されたオリジナル座標系のタッチ位置を始点とし、直前の特定処理で特定されたオリジナル座標系のタッチ位置を終点とする移動ベクトルを求める。そして、更新部２３０７は、ウィンドウ位置に移動ベクトルを加える。
【０１０３】
図３０に、管理データの更新例を示す。図３０の上段は、図２９に示したドラッグ操作を行う前における管理データを示している。この時点では、投影されたウィンドウ２５５３ｂに相当するオリジナルのウィンドウ１０３ｂの位置は、（Ｘ２，Ｙ２）である。
【０１０４】
図３０の下段は、図２９に示したドラッグ操作を行った後における管理データを示している。この時点では、投影されたウィンドウ２５５３ｂに相当するオリジナルのウィンドウ１０３ｂの位置は、（Ｘ４，Ｙ４）である。他のデータは、変わっていない。
【０１０５】
図２８の説明に戻る。ウィンドウシステム４０５は、直前の特定処理で特定されたディスプレイＩＤに対応するオリジナル画面を描画して、オリジナル画面記憶部４０９に記憶する（Ｓ２８０７）。当該ディスプレイＩＤに対応する表示処理部４１１は、描画されたオリジナル画面を、当該ディスプレイＩＤにより特定されるディスプレイ装置２０７に表示する（Ｓ２８０９）。
【０１０６】
平面投影部４２１は、描画されたオリジナル画面に対する平面投影処理を実行する（Ｓ２８１１）。コントロールディスプレイに対応する表示処理部４１１は、操作画面をディスプレイ装置２０７に表示させる（Ｓ２８１３）。
【０１０７】
受付部５０１は、次のイベントを取得する（Ｓ２８２９）。特定部５０３は、上述した通り特定処理を実行する（Ｓ２８３１）。受付部５０１は、取得したイベントが示すタッチ数が１であるか否かを判定する（Ｓ２８３３）。取得したイベントが示すタッチ数が１であれば、Ｓ２８０１に示した処理に戻って、上述した処理を繰り返す。
【０１０８】
次に、ドラッグによってタッチ位置がディスプレイ領域を出る場合について説明する。図３１に、タッチ位置がディスプレイ領域２５５１ｅを出る例を示す。この例は、投影されたウィンドウ２５５３ｂを、ディスプレイ領域２５５１ｅ外へドラッグした状態を示している。この状態で、ディスプレイ領域２５５１ｅ外ではタッチ位置にアイコン３１０１が描かれる。投影されたウィンドウ２５５３ｂは、元の位置に戻っている。この位置でユーザがドロップすると、アイコン３１０１は消える。このとき、ディスプレイ領域２５５１ｅに対応する表示面１０１ｅのオリジナル画面においても、同様にウィンドウ１０３ｂは元の位置に戻る。つまり、操作画面のディスプレイ領域２５５１ｅにおける動きと表示面１０１ｅのオリジナル画面の動きとは、同期する。
【０１０９】
図２８に戻って、ドラッグによってタッチ位置がディスプレイ領域を出る場合における処理について説明する。図３１の例では、Ｓ２８０１において「ディスプレイ領域外」であると判定される。
【０１１０】
更新部２３０７は、管理データを更新する（Ｓ２８１５）。具体的には、更新部２３０７は、Ｓ２４０１において保存されたディスプレイＩＤとウィンドウＩＤとに基づいて、管理データにおけるレコードを特定し、退避した管理データに基づいて、当該レコードにおけるウィンドウ位置を初期の値に戻す。
【０１１１】
配置部２３０５は、操作画面のタッチ位置（投影座標系）にアイコン３１０１を配置する（Ｓ２８１７）。コントロールディスプレイに対応する表示処理部４１１は、操作画面をディスプレイ装置２０７に表示させる（Ｓ２８１９）。配置部２３０５は、アイコン３１０１を消去する（Ｓ２８２１）。ドラッグによってタッチ位置がディスプレイ領域２５５１ｅの範囲外である間は、Ｓ２８１５乃至Ｓ２８２１のルートを通る。２回目以降のＳ２８１５の処理は、省くようにしてもよい。
【０１１２】
受付部５０１は、イベントを取得する（Ｓ２８２９）。特定部５０３は、上述した通り特定処理を実行する（Ｓ２８３１）。受付部５０１は、取得したイベントが示すタッチ数が１であるか否かを判定する（Ｓ２８３３）。取得したイベントが示すタッチ数が１であれば、Ｓ２８０１に示した処理に戻って、上述した処理を繰り返す。
【０１１３】
次に、ドラッグによってタッチ位置が別のディスプレイ領域に移る場合について説明する。図３２に、タッチ位置が隣のディスプレイ領域２５５１ｄに移る例を示す。この例は、投影されたウィンドウ２５５３ｂを、隣のディスプレイ領域２５５１ｄ内へドラッグした状態を示している。この位置でユーザがドロップすると、ウィンドウ３２０１ｂはそのまま留まる。
【０１１４】
そして、「コピー」あるいは「移動」を選択するメニューが表示される。「コピー」が選択されると、元のウィンドウ２５５３ｂはそのまま残る。このとき、ディスプレイ領域２５５１ｅに対応する表示面１０１ｅのオリジナル画面においても、同様にウィンドウ１０３ｂが残る。「移動」が選択されると、元のウィンドウ２５５３ｂは消える。このとき、表示面１０１ｅのオリジナル画面においても、同様にウィンドウ１０３ｂが消える。このように、操作画面のディスプレイ領域２５５１ｅにおける動きと表示面１０１ｅのオリジナル画面の動きとは、同期する。
【０１１５】
また、操作画面のディスプレイ領域２５５１ｄにおける動きと表示面１０１ｄのオリジナル画面の動きも、同期する。つまり、投影されたウィンドウ３２０１ｂに対応するオリジナルのウィンドウ１０３ｂが、表示面１０１ｄに描かれる。
【０１１６】
図２８に戻って、ドラッグによってタッチ位置が別のディスプレイ領域に移る場合の処理について説明する。図３２の例では、Ｓ２８０１において「ディスプレイ領域外」ではないと判定される。また、Ｓ２８０３において、直前の特定処理で特定されたディスプレイＩＤがＳ２４０１において保存されたディスプレイＩＤと一致しないと判定される。
【０１１７】
そして、更新部２３０７は、管理データを更新する（Ｓ２８２３）。具体的には、更新部２３０７は、ドラッグ先のディスプレイ領域における新たなウィンドウに相当するレコードを追加する。新たなレコードのディスプレイＩＤには、直前の特定処理で特定されたディスプレイＩＤが設定される。新たなレコードのウィンドウＩＤ、アプリケーションＩＤ、ウィンドウサイズ及びレイヤ番号には、Ｓ２４０１において保存されたウィンドウＩＤとディスプレイＩＤによって特定される元のレコードの場合と同じ値が設定される。レイヤ番号は、「１」にしてもよい。また、ウィンドウ位置には、当該ウィンドウ内のいずれかの位置が設定される。このとき、ウィンドウ枠とタッチ位置との相対的な関係を保つようにしてもよい。
【０１１８】
図３３に、管理データの更新例を示す。図３３の上段は、図３２に示したドラッグ操作を行う前における管理データを示している。この時点で、ウィンドウ１０３の数は、２つである。
【０１１９】
図３３の下段は、図３２に示したドラッグ操作を行った後における管理データを示している。ウィンドウ１０３の数は、３つである。投影されたウィンドウ２５５３ｂに相当するウィンドウ１０３ｂのＩＤ「ＷＩＮ−２」と同じＩＤを有する第３レコードが追加されている。第３レコードは、ウィンドウ３２０１ｂに対応する。追加されたレコードにおけるアプリケーションＩＤ「ＡＰＬ−２」、ウィンドウサイズ（Ｗ２，Ｈ２）及びレイヤ番号「１」は、投影されたウィンドウ２５５３ｂに対応する第２レコードと同様である。但し、ディスプレイＩＤ「ＤＳＰ−Ｄ」とウィンドウ位置（Ｘ５，Ｙ５）は、第２レコードと異なる。
【０１２０】
ウィンドウシステム４０５は、直前の特定処理で特定されたディスプレイＩＤに対応するオリジナル画面を描画して、オリジナル画面記憶部４０９に記憶する（Ｓ２８２５）。直前の特定処理で特定されたディスプレイＩＤに対応する表示処理部４１１は、描画されたオリジナル画面を、当該ディスプレイＩＤにより特定されるディスプレイ装置２０７に表示する（Ｓ２８２７）。
【０１２１】
平面投影部４２１は、描画されたオリジナル画面に対する平面投影処理を実行する（Ｓ２８１１）。コントロールディスプレイに対応する表示処理部４１１は、操作画面をディスプレイ装置２０７に表示させる（Ｓ２８１３）。
【０１２２】
受付部５０１は、次のイベントを取得する（Ｓ２８２９）。特定部５０３は、上述した通り特定処理を実行する（Ｓ２８３１）。受付部５０１は、取得したイベントが示すタッチ数が１であるか否かを判定する（Ｓ２８３３）。取得したイベントが示すタッチ数が１であれば、Ｓ２８０１に示した処理に戻って、上述した処理を繰り返す。
【０１２３】
続いて、ドロップ操作が行われた場合の処理について説明する。ドロップ操作が行われると、Ｓ２８３３において、タッチ数が１ではないと判定される。そして、端子Ｂを介して図３５に示したＳ３５０１の処理に移る。ここでは、タッチ数が２以上であることは想定しない。
【０１２４】
まず、例えば図２９に示したように、タッチ位置がディスプレイ領域内に留まっている状態でドロップした場合について説明する。この場合には、図３５のＳ３５０１において、更新部２３０７は、直前の特定処理の結果が「ディスプレイ領域外」ではないと判定する。更に、更新部２３０７は、直前の特定処理で特定されたディスプレイＩＤがＳ２４０１において保存されたディスプレイＩＤと一致すると判定する（Ｓ３５０５）。そして、そのままウィンドウ操作処理を終える。
【０１２５】
次に、図３１に示したように、ドラッグによってタッチ位置がディスプレイ領域２５５１ｅを出た状態でドロップした場合について説明する。この場合には、図３５のＳ３５０１において、更新部２３０７は、直前の特定処理の結果が「ディスプレイ領域外」であると判定する。そして、そのままウィンドウ操作処理を終える。
【０１２６】
次に、図３２に示したように、ドラッグによってタッチ位置が別のディスプレイ領域２５５１に移った状態でドロップした場合について説明する。この場合には、図３５のＳ３５０１において、更新部２３０７は、直前の特定処理の結果が「ディスプレイ領域外」ではないと判定する。更に、更新部２３０７は、直前の特定処理で特定されたディスプレイＩＤがＳ２４０１において保存されたディスプレイＩＤと一致しないと判定する（Ｓ３５０５）。受付部５０１は、タッチ位置近辺にメニューを表示して、「コピー」あるいは「移動」の選択を受け付ける（Ｓ３５０７）。
【０１２７】
Ｓ３５０９において、受付部５０１が「移動」を選択されなかったと判定した場合、つまり「コピー」が選択された場合には、そのままウィンドウ操作処理を終える。
【０１２８】
一方、受付部５０１が「移動」を選択されたと判定すると、更新部２３０７は、管理データを更新する（Ｓ３５１１）。具体的には、更新部２３０７は、Ｓ２４０１において保存されたディスプレイＩＤとウィンドウＩＤとに基づいて、管理データにおける元のレコードを特定し、当該レコードを削除する。
【０１２９】
図３４に、管理データの更新例を示す。図３４の上段は、図３３の下段と同様である。図３４の下段は、図３２に示したメニューにおいて「移動」が選択された場合の管理データを示している。元のウィンドウ２５５３ｂに対応する第２レコードが削除される。
【０１３０】
ウィンドウシステム４０５は、Ｓ２４０１において保存されたディスプレイＩＤに対応するオリジナル画面を描画して、オリジナル画面記憶部４０９に記憶する（Ｓ３５１３）。当該ディスプレイＩＤに対応する表示処理部４１１は、オリジナル画面をディスプレイ装置２０７に表示させる（Ｓ３５１５）。更に、平面投影部４２１は、描画されたオリジナル画面に対する平面投影処理を実行する（Ｓ３５１７）。コントロールディスプレイに対応する表示処理部４１１は、操作画面をディスプレイ装置２０７に表示させる（Ｓ３５１９）。そして、ウィンドウ操作処理を終える。
【０１３１】
本実施の形態によれば、操作画面上でオリジナル画面を操作することができる。
【０１３２】
また、第２ホモグラフィ行列によって、ディスプレイ領域内の位置をオリジナル画面の位置に、より正しく変換することができる。
【０１３３】
また、離れた表示面におけるウィンドウ操作の利便性が向上する。例えば、離れた表示面におけるウィンドウの移動やコピーなどの操作性が向上する。例えば、離れた表示面におけるウィンドウの表示レイヤを変更しやすい。
【０１３４】
［実施の形態２］
本実施の形態では、複数のシーンを設ける例について説明する。
【０１３５】
図３６に、表示面の配置例及び操作画面の表示例を示す。この例では、上述した例よりも表示面１０１ｂが小さいものとする。この例では、実際の表示面１０１ｂに相当するモデルによって生成された透視図が、操作画面に描かれている。
【０１３６】
図３７に、別の操作画面の表示例を示す。この例では、実際の表示面１０１ｂよりも大きい仮想のモデルによって生成された透視図が、操作画面に描かれている。
【０１３７】
このように１つの表示面１０１に対して複数のモデルを設定する。従って、座標記憶部４２９には、夫々のモデルに対応する四隅位置が記憶されている。また、シーン記憶部４１５には、それぞれのモデルを用いたシーンのデータが記憶されている。
【０１３８】
そして、表示面１０１ｂに相当するディスプレイ領域に対してタップ操作あるいは長押し操作が行われた場合に、使用するシーンを切り替えるとともに、使用する四隅位置を切り替える。
【０１３９】
図３８に、ウィンドウ操作処理フローの例を示す。Ｓ２４０１乃至Ｓ２４０９の処理は、図２４の場合と同様である。Ｓ２４２１の処理も、図２４の場合と同様である。
【０１４０】
Ｓ２４０９において、Ｓ２４０５で取得したイベントが示すタッチ数が０であると判定した場合には、第２変換部９０１は、シーンを切り替える（Ｓ３８０１）。そして、投影モード部４１３は、全体投影処理を実行する（Ｓ３８０３）。このとき、切り替えられたシーンに基づいて、透視投影処理が行われる。コントロールディスプレイに対応する表示処理部４１１は、操作画面をディスプレイ装置２０７に表示させる（Ｓ３８０５）。尚、図１１に示したＳ１１０３において、算出部４２５は、切り替えられたシーンに対応する四隅位置を用いる。
【０１４１】
このようにすれば、実際の表示面１０１が小さい場合であっても、操作画面においてディスプレイ領域を大きくして、操作性を向上させることができる。
【０１４２】
［実施の形態３］
本実施の形態では、仮想の表示面１０１を設ける例について説明する。
【０１４３】
図３９に、表示面の配置例及び操作画面の表示例を示す。この例では、表示面１０１ｆを提供するタッチスクリーン２０５ｆがない。しかし、仮想の表示面１０１ｆに相当するモデルによって生成された透視図が、操作画面に描かれている。
【０１４４】
このように仮想の表示面１０１に相当するモデルを設定すれば、仮想のディスプレイ領域を操作画面に設けることができる。尚、仮想の表示面１０１に対応する表示処理部４１１は、設けなくてもよい。
【０１４５】
このようにすれば、例えば、操作画面における一時的なウィンドウの退避場所として、仮想のディスプレイ領域を用いることができる。
【０１４６】
尚、上述した表示システムにおいて、携帯端末装置と表示制御装置２０３との間で、各種の連携動作が行われることが想定される。例えば、携帯端末装置から表示制御装置２０３への連携要求によって、携帯端末装置と表示制御装置２０３とが各種の連携動作を行うようにしてもよい。表示制御装置２０３が、部屋へ入場した人の携帯端末装置を検出し、自動的に携帯端末装置へ特定のプログラムを配信するようにしてもよい。携帯端末装置は、受信した特定のプログラムを自動的に起動するようにしてもよい。携帯端末装置と表示制御装置２０３とは、データやプロセスを同期させるようにしてもよい。携帯端末装置における操作によって、表示制御装置２０３における処理を制御し、あるいは、表示制御装置２０３における操作によって、携帯端末装置における処理を制御するようにしてもよい。
【０１４７】
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上述の機能ブロック構成はプログラムモジュール構成に一致しない場合もある。
【０１４８】
また、上で説明した各記憶領域の構成は一例であって、上記のような構成に限られるものではない。さらに、処理フローにおいても、処理結果が変わらなければ、処理の順番を入れ替えることや複数の処理を並列に実行させるようにしても良い。
【０１４９】
なお、上で述べた表示制御装置２０３は、コンピュータ装置であって、図４０に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティングシステム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーションプログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーションプログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーションプログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーションプログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１５０】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【０１５１】
本実施の形態に係る表示方法は、第１表示装置による第１表示面を含む空間データを透視図に投影する処理と、第２表示装置によって、透視図を第２表示面に表示する処理と、第２表示面においてユーザに指示される第１位置を受け付ける処理と、第１位置が第１表示面に相当する領域内を指す場合に、第１位置を、第１表示面における第２位置に変換する変換処理と、第２位置に基づいて、第１表示面に表示する画像を操作する操作処理とを含む。
【０１５２】
このようにすれば、複数の表示面に対する操作性が向上する。つまり、第２表示面に表示された透視図上で第１表示面に表示される画像を操作することができる。
【０１５３】
更に、第１表示面の基準点の座標と、上記領域において当該基準点に相当する点の座標との関係に基づいて、第２表示面における座標系の位置を第１表示面における座標系の位置に変換するための変換値を算出する処理を含むようにしてもよい。上記変換処理において、上記変換値を用いて、第１位置を第２位置に変換するようにしてもよい。
【０１５４】
このようにすれば、より正しく、第１位置を第２位置に変換することができる。
【０１５５】
上記操作処理において、上記画像に含まれるウィンドウを操作するようにしてもよい。このようにすれば、離れた表示面におけるウィンドウ操作の利便性が向上する。
【０１５６】
上記操作処理において、ウィンドウの位置を更新するようにしてもよい。
【０１５７】
このようにすれば、離れた表示面におけるウィンドウの移動やコピーなどの操作性が向上する。
【０１５８】
上記操作処理において、ウィンドウの表示レイヤを更新するようにしてもよい。
【０１５９】
このようにすれば、離れた表示面におけるウィンドウの表示レイヤを変更しやすい。
【０１６０】
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。
【図１】
2016157316.tif 000003
【図２】
2016157316.tif 000004
【図３】
2016157316.tif 000005
【図４】
2016157316.tif 000006
【図５】
2016157316.tif 000007
【図６】
2016157316.tif 000008
【図７】
2016157316.tif 000009
【図８】
2016157316.tif 000010
【図９】
2016157316.tif 000011
【図１０】
2016157316.tif 000012
【図１１】
2016157316.tif 000013
【図１２】
2016157316.tif 000014
【図１３】
2016157316.tif 000015
【図１４】
2016157316.tif 000016
【図１５】
2016157316.tif 000017
【図１６】
2016157316.tif 000018
【図１７】
2016157316.tif 000019
【図１８】
2016157316.tif 000020
【図１９】
2016157316.tif 000021
【図２０】
2016157316.tif 000022
【図２１】
2016157316.tif 000023
【図２２】
2016157316.tif 000024
【図２３】
2016157316.tif 000025
【図２４】
2016157316.tif 000026
【図２５】
2016157316.tif 000027
【図２６】
2016157316.tif 000028
【図２７】
2016157316.tif 000029
【図２８】
2016157316.tif 000030
【図２９】
2016157316.tif 000031
【図３０】
2016157316.tif 000032
【図３１】
2016157316.tif 000033
【図３２】
2016157316.tif 000034
【図３３】
2016157316.tif 000035
【図３４】
2016157316.tif 000036
【図３５】
2016157316.tif 000037
【図３６】
2016157316.tif 000038
【図３７】
2016157316.tif 000039
【図３８】
2016157316.tif 000040
【図３９】
2016157316.tif 000041
【図４０】
2016157316.tif 000042
【手続補正書】
【提出日】平成29年9月26日(2017.9.26)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
【図１】図１は、表示面の配置例を示す図である。
【図２】図２は、表示システムの構成例を示す図である。
【図３】図３は、操作画面の表示例を示す図である。
【図４】図４は、表示制御装置のモジュール構成例を示す図である。
【図５】図５は、投影モード部のモジュール構成例を示す図である。
【図６】図６は、オリジナル座標系と投影座標系との関係を示す図である。
【図７】図７は、メイン処理フローの例を示す図である。
【図８】図８は、投影モード処理フローの例を示す図である。
【図９】図９は、透視投影部のモジュール構成例を示す図である。
【図１０】図１０は、透視投影処理フローの例を示す図である。
【図１１】図１１は、算出処理フローの例を示す図である。
【図１２】図１２は、特定処理フローの例を示す図である。
【図１３】図１３は、第１操作部のモジュール構成例を示す図である。
【図１４】図１４は、カメラ回転を指示するタッチの例を示す図である。
【図１５】図１５は、カメラ回転後における操作画面の表示例を示す図である。
【図１６】図１６は、カメラ移動を指示するタッチの例を示す図である。
【図１７】図１７は、カメラ移動後における操作画面の表示例を示す図である。
【図１８】図１８は、カメラ操作処理フローの例を示す図である。
【図１９】図１９は、回転処理フローの例を示す図である。
【図２０】図２０は、カメラ回転を指示するタッチの例を示す図である。
【図２１】図２１は、移動処理フローの例を示す図である。
【図２２】図２２は、カメラ移動の様子を示す図である。
【図２３】図２３は、第２操作部のモジュール構成例を示す図である。
【図２４】図２４は、ウィンドウ操作処理フローの例を示す図である。
【図２５】図２５は、タップ操作の例を示す図である。
【図２６】図２６は、レイヤ変更後における操作画面の表示例を示す図である。
【図２７】図２７は、管理データの更新例を示す図である。
【図２８】図２８は、ウィンドウ操作処理フローの例を示す図である。
【図２９】図２９は、ドラッグ操作の例を示す図である。
【図３０】図３０は、管理データの更新例を示す図である。
【図３１】図３１は、ドラッグ操作の例を示す図である。
【図３２】図３２は、ドラッグ操作の例を示す図である。
【図３３】図３３は、管理データの更新例を示す図である。
【図３４】図３４は、管理データの更新例を示す図である。
【図３５】図３５は、ウィンドウ操作処理フローの例を示す図である。
【図３６】図３６は、表示面の配置例及び操作画面の表示例を示す図である。
【図３７】図３７は、表示面の配置例及び操作画面の表示例を示す図である。
【図３８】図３８は、ウィンドウ操作処理フローの例を示す図である。
【図３９】図３９は、表示面の配置例及び操作画面の表示例を示す図である。
【図４０】図４０は、コンピュータの機能ブロック図である。
【国際調査報告】
2016157316.tif 000043
2016157316.tif 000044
2016157316.tif 000045
2016157316.tif 000046