JP6390785B2 - 表示方法、プログラム及び表示制御装置 - Google Patents

表示方法、プログラム及び表示制御装置 Download PDF

Info

Publication number
JP6390785B2
JP6390785B2 JP2017508849A JP2017508849A JP6390785B2 JP 6390785 B2 JP6390785 B2 JP 6390785B2 JP 2017508849 A JP2017508849 A JP 2017508849A JP 2017508849 A JP2017508849 A JP 2017508849A JP 6390785 B2 JP6390785 B2 JP 6390785B2
Authority
JP
Japan
Prior art keywords
display
display surface
unit
window
processing
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.)
Expired - Fee Related
Application number
JP2017508849A
Other languages
English (en)
Other versions
JPWO2016157316A1 (ja
Inventor
彬 陳
彬 陳
安川 裕介
裕介 安川
賀彦 村川
賀彦 村川
桂樹 岡林
桂樹 岡林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2016157316A1 publication Critical patent/JPWO2016157316A1/ja
Application granted granted Critical
Publication of JP6390785B2 publication Critical patent/JP6390785B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04803Split screen, i.e. subdividing the display area or the window area into separate subareas
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04808Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

本発明は、複数の表示装置を制御する技術に関する。
マルチディスプレイシステムにおいて複数の表示面が連続していない場合には、表示面を跨るドラッグ操作は、難しい。
また、マルチディスプレイシステムにおける複数の表示面が同じ平面上に配置されているとは限らない。ある文献には、正面及び側面の壁に表示面が配置されている例が開示されている。このように、互いに直交する表示面を跨るドラッグ操作は、更に難しい。
複数の表示面に表示される画像をそれぞれの表示面上で操作することは、煩雑である。
特開平9−282125号公報 特開2006−72323号公報 特開2005−107681号公報
本発明の目的は、一側面では、複数の表示面に対する操作性を向上させることである。
一態様に係る表示方法は、第1表示装置による第1表示面を含む空間データを透視図に投影する処理と、第2表示装置によって、透視図を第2表示面に表示する処理と、第2表示面においてユーザに指示される第1位置を受け付ける処理と、第1位置が第1表示面に相当する領域内を指す場合に、第1位置を、第1表示面における第2位置に変換する変換処理と、第2位置に基づいて、第1表示面に表示する画像を操作する操作処理とを含む。
一側面としては、複数の表示面に対する操作性が向上する。
図1は、表示面の配置例を示す図である。 図2は、表示システムの構成例を示す図である。 図3は、操作画面の表示例を示す図である。 図4は、表示制御装置のモジュール構成例を示す図である。 図5は、投影モード部のモジュール構成例を示す図である。 図6は、オリジナル座標系と投影座標系との関係を示す図である。 図7は、メイン処理フローの例を示す図である。 図8は、投影モード処理フローの例を示す図である。 図9は、透視投影部のモジュール構成例を示す図である。 図10は、透視投影処理フローの例を示す図である。 図11は、算出処理フローの例を示す図である。 図12は、特定処理フローの例を示す図である。 図13は、第1操作部のモジュール構成例を示す図である。 図14は、カメラ回転を指示するタッチの例を示す図である。 図15は、カメラ回転後における操作画面の表示例を示す図である。 図16は、カメラ移動を指示するタッチの例を示す図である。 図17は、カメラ移動後における操作画面の表示例を示す図である。 図18は、カメラ操作処理フローの例を示す図である。 図19は、回転処理フローの例を示す図である。 図20は、カメラ回転を指示するタッチの例を示す図である。 図21は、移動処理フローの例を示す図である。 図22は、カメラ移動の様子を示す図である。 図23は、第2操作部のモジュール構成例を示す図である。 図24は、ウィンドウ操作処理フローの例を示す図である。 図25は、タップ操作の例を示す図である。 図26は、レイヤ変更後における操作画面の表示例を示す図である。 図27は、管理データの更新例を示す図である。 図28は、ウィンドウ操作処理フローの例を示す図である。 図29は、ドラッグ操作の例を示す図である。 図30は、管理データの更新例を示す図である。 図31は、ドラッグ操作の例を示す図である。 図32は、ドラッグ操作の例を示す図である。 図33は、管理データの更新例を示す図である。 図34は、管理データの更新例を示す図である。 図35は、ウィンドウ操作処理フローの例を示す図である。 図36は、表示面の配置例及び操作画面の表示例を示す図である。 図37は、表示面の配置例及び操作画面の表示例を示す図である。 図38は、ウィンドウ操作処理フローの例を示す図である。 図39は、表示面の配置例及び操作画面の表示例を示す図である。 図40は、コンピュータの機能ブロック図である。
[実施の形態1]
図1に、表示面101の配置例を示す。この例では、7つのディスプレイ装置が、夫々部屋の壁面、天井あるいはテーブル上に設置されている。つまり、各ディスプレイ装置による表示面101a乃至101gが、論理的に壁面、天井あるいはテーブル上に配置されている。これらの表示面101a乃至101gの位置は、グローバル座標系によって特定される。この例では、向かって正面の左上端がグローバル座標系の基準点である。右方向に、X軸の正方向が設定されている。下方向に、Y軸の正方向が設定されている。手前方向に、Z軸の正方向が設定されている。
尚、表示面101を提供する装置は、ディスプレイ装置に限らない。スクリーンに画像を投影するプロジェクタ装置を用いる場合には、スクリーンが表示面101に相当する。
図1は、通常モードにおける表示例を示している。通常モードにおいて表示面101に表示される画面をオリジナル画面という。表示面101aのオリジナル画面には、ブラウザの画面が表示されたウィンドウ103aが含まれている。表示面101eのオリジナル画面には、円の画像が描かれたウィンドウ103bが含まれている。
図2に、表示システム201の構成例を示す。表示システム201は、表示制御装置203と複数のタッチスクリーン205とを含んでいる。表示制御装置203は、タッチスクリーン205a乃至205gと接続している。タッチスクリーン205は、ディスプレイ装置207及びタッチパネル209を有している。ディスプレイ装置207は、表示面101に画像を表示する。上述の通り、表示面101を提供する装置は、プロジェクタ装置であってもよい。タッチパネル209は、表示面101におけるタッチ操作を検出する。タッチパネルに代えて、平面スキャンセンサを用いてタッチ操作を検出するようにしてもよい。また、カメラによって撮影した映像を解析して、タッチ操作を検出するようにしてもよい。また、タッチスクリーン205に代えて、ディスプレイ装置207及びタッチパネル209を有する端末(例えば、ノート型パソコン、タブレット端末あるいはスマートフォンなど)を用いるようにしてもよい。タッチスクリーン205a乃至タッチスクリーン205g(図中、タッチスクリーン205d乃至205fは、省略する)は、それぞれ表示面101a乃至表示面101gに対応するものとする。
図3に、操作画面の表示例を示す。投影モードにおいて、表示面101aに操作画面が表示されている。操作画面には、当該部屋の透視図が描かれている。そして、操作画面において、ユーザから操作指示を受け付けるようになっている。操作画面を表示するディスプレイ装置207を、コントロールディスプレイということがある。コントロールディスプレイ以外のディスプレイ装置207を、メンバーディスプレイということがある。この例では、ディスプレイ装置207aが、コントロールディスプレイであって、ディスプレイ装置207b乃至207gが、メンバーディスプレイである。
図4に、表示制御装置203のモジュール構成例を示す。表示制御装置203は、アプリケーションプログラム401、オペレーションシステム403、ウィンドウシステム405、管理データ記憶部407、オリジナル画面記憶部409、表示処理部411及び投影モード部413を有している。
アプリケーションプログラム401aは、ウィンドウ103aを提供しているものとする。アプリケーションプログラム401bは、ウィンドウ103bを提供しているものとする。オペレーションシステム403は、例えばタッチパネル209におけるタッチ位置の検出を行う。ウィンドウシステム405は、ウィンドウを制御する。管理データ記憶部407は、ウィンドウを管理するためのデータ(以下、管理データという。)を記憶する。
オリジナル画面記憶部409は、通常モードにおいてディスプレイ装置207の表示面101に表示されるオリジナル画面のデータを記憶する。オリジナル画面は、ウィンドウシステム405によって生成される。オリジナル画面記憶部409a乃至409gは、それぞれ表示面101a乃至101gに対応するものとする。表示処理部411は、主にオリジナル画面をディスプレイ装置207に表示させる処理を行う。表示処理部411a乃至411gは、それぞれ表示面101a乃至101gに対応するものとする。
投影モード部413は、投影モードにおける処理を行う。投影モード部413は、シーン記憶部415、透視投影部417、操作画面記憶部419、平面投影部421、行列記憶部423、算出部425、領域記憶部427及び座標記憶部429を有している。
シーン記憶部415は、シーンデータを記憶している。シーンデータは、表示面101a乃至101gのモデル及び当該モデルのグローバル座標系における位置を含んでいる。また、シーンデータは、部屋の壁面、天井、床やテーブルなどのモデル及び当該モデルのグローバル座標系における位置を含むようにしてもよい。
透視投影部417は、シーンデータに基づいて部屋内のモデルを投影する。具体的には、透視投影部417は、仮想カメラ(以下、カメラという。)の位置から透視した図を生成する。操作画面記憶部419は、透視図が描かれた操作画面のデータを記憶する。平面投影部421は、各オリジナル画面を操作画面内に平面投影する。行列記憶部423は、オリジナル画面におけるオリジナル座標系と、操作画面における投影座標系との間の位置変換に用いられる2つのホモグラフィ行列を記憶する。算出部425は、2つのホモグラフィ行列を算出する。ホモグラフィ行列については、後述する。領域記憶部427は、操作画面において表示面に該当する領域(以下、ディスプレイ領域という。)の四隅位置を記憶している。ディスプレイ領域の四隅位置は、投影座標系による変動値であって、透視投影部417において透視投影が行われる際に算出される。座標記憶部429は、表示面の四隅位置を記憶している。尚、表示面の四隅位置は、オリジナル座標系による固定値である。表示面の四隅位置は、シーン記憶部415に含まれる表示面101のモデルにおける四隅位置と合致する。
上述した表示処理部411、投影モード部413、透視投影部417、平面投影部421及び算出部425は、ハードウエア資源(例えば、図40)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
上述した管理データ記憶部407、オリジナル画面記憶部409、シーン記憶部415、操作画面記憶部419、行列記憶部423、領域記憶部427及び座標記憶部429は、ハードウエア資源(例えば、図40)を用いて実現される。
図5に、投影モード部413に含まれる他のモジュールを示す。投影モード部413は、更に、受付部501、特定部503、第1変換部505、パラメータ記憶部507、第1操作部509及び第2操作部511を有している。
受付部501は、イベントによる各種指示を受け付ける。特定部503は、イベントに基づいて各種パラメータを特定する。特定部503は、第1変換部505を含む。第1変換部505は、操作画面のディスプレイ領域内におけるタッチ位置を、該当するオリジナル画面における位置に変換する。パラメータ記憶部507は、各種パラメータを記憶する。第1操作部509は、論理的に透視投影部417におけるカメラの操作を行う。第2操作部511は、ウィンドウの操作を行い、操作結果に基づいて管理データを更新する。
上述した受付部501、特定部503、第1変換部505、第1操作部509及び第2操作部511は、ハードウエア資源(例えば、図40)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
上述したパラメータ記憶部507は、ハードウエア資源(例えば、図40)を用いて実現される。
ここで、ホモグラフィ行列について説明する。図6に、オリジナル座標系と投影座標系との関係を示す。左側の矩形は、左壁面に配置された表示面101eを示している。右側の矩形は、正面に配置された表示面101aを示している。表示面101aには、操作画面が表示されている。操作画面内の台形は、表示面101eに対応するディスプレイ領域を示している。
メンバーディスプレイの表示面101eでは、オリジナル座標系によって位置が特定される。オリジナル座標系の基準点は、左上端である。右方向に、X軸の正方向が設定されている。下方向に、Y軸の正方向が設定されている。オリジナル画面における位置は、オリジナル座標系に基づく。
コントロールディスプレイの表示面101aでは、投影座標系によって位置が特定される。投影座標系の基準点は、左上端である。右方向に、X軸の正方向が設定されている。下方向に、Y軸の正方向が設定されている。操作画面における位置は、投影座標系に基づく。
そして、ディスプレイ領域の左上端点601は、表示面101eの左上端点611に対応する。ディスプレイ領域の右上端点603は、表示面101eの右上端点613に対応する。ディスプレイ領域の右下端点605は、表示面101eの右下端点615に対応する。ディスプレイ領域の左下端点607は、表示面101eの左下端点617に対応する。このように隅位置同士の対応関係に基づいて、オリジナル座標系の位置を、投影座標系において対応する位置に変換するための第1ホモグラフィ行列が求められる。また、投影座標系の位置を、オリジナル座標系において対応する位置に変換するための第2ホモグラフィ行列が求められる。尚、4点の対応関係に基づいてホモグラフィ行列を算出する方法は、従来技術であるのでこれ以上説明しない。
処理の説明に移る。図7に、メイン処理フローの例を示す。表示制御装置203の立ち上がりにおいて、ウィンドウシステム405が起動される(S701)。このとき、ウィンドウシステム405は、各ディスプレイ装置207の表示面101に表示させる初期のオリジナル画面を生成し、夫々のオリジナル画面記憶部409に記憶する。そして、各表示処理部411は、初期のオリジナル画面をディスプレイ装置207に表示させる。
受付部501は、所定の操作(例えば、ボタン操作やタッチ操作)によるモード切替の指示を受け付ける(S703)。受付部501は、受け付けた指示に基づいて、コントロールディスプレイを特定する(S705)。この例では、表示面101a上のタッチパネル209aに対するタッチ操作によって、モード切替が指示されたものとする。そして、表示面101aを提供するディスプレイ装置207aがコントロールディスプレイであると判定する。従って、ディスプレイ装置207b乃至207gは、メンバーディスプレイである。
投影モード部413は、投影モード処理を起動する(S707)。そして、投影モードでの動作に移る。投影モードを終えた場合には、通常モードに戻る。この例では、S703の処理に戻って、待機する。
続いて、投影モード処理について説明する。図8に、投影モード処理フローの例を示す。まず、投影モード部413は、操作画面を生成し、表示する。そのため、透視投影部417は、透視投影処理を実行する(S801)。透視投影処理で、透視投影部417は、シーンデータに基づいて透視図を生成する。
図9に、透視投影部417のモジュール構成例を示す。第2変換部901は、シーン記憶部415に記憶しているシーンデータを、カメラ座標系のデータに変換する。データ記憶部903は、カメラ座標系のデータを記憶する。描画部905は、カメラ座標系のデータに基づく投影図を描画する。
上述した第2変換部901及び描画部905は、ハードウエア資源(例えば、図40)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
上述したデータ記憶部903は、ハードウエア資源(例えば、図40)を用いて実現される。
図10に、透視投影処理フローの例を示す。第2変換部901は、シーン記憶部415に記憶しているシーンデータを、カメラの位置及び姿勢に従って、カメラ座標系のデータに変換する(S1001)。変換されたカメラ座標系のデータは、データ記憶部903に記憶される。
描画部905は、カメラ座標系のデータに基づく投影図を描画する(S1003)。描画された投影図は、操作画面として操作画面記憶部419に記憶される。
描画部905は、更に、投影図における各ディスプレイ領域の四隅位置を領域記憶部427に記憶する(S1005)。ディスプレイ領域の四隅位置は、投影座標系による。透視投影処理を終えると、図8に示したS803の処理に移る。
図8の説明に戻る。算出部425は、算出処理を実行する(S803)。算出処理において、算出部425は、第1ホモグラフィ行列及び第2ホモグラフィ行列を算出する。
図11に、算出処理フローの例を示す。算出部425は、ディスプレイ装置207を1つ特定する(S1100)。算出部425は、領域記憶部427から、特定したディスプレイ装置207に対応するディスプレイ領域の四隅位置(投影座標系)を取得する(S1101)。算出部425は、座標記憶部429から、特定したディスプレイ装置207に対応する表示面101の四隅位置(オリジナル座標系)を取得する(S1103)。
そして、図6を用いて上述したように、四隅位置の対応に基づいて、算出部425は、オリジナル座標系の位置を、投影座標系において対応する位置に変換するための第1ホモグラフィ行列を算出する(S1105)。算出部425は、投影座標系の位置を、オリジナル座標系において対応する位置に変換するための第2ホモグラフィ行列を算出する(S1107)。第2ホモグラフィ行列は、第1ホモグラフィ行列の逆行列である。算出部425は、未処理のディスプレイ装置207があるか否かを判定する(S1109)。未処理のディスプレイ装置207があると判定した場合には、S1100に示した処理に戻って、上述した処理を繰り返す。一方、未処理のディスプレイ装置207がないと判定した場合には、図8のS805に示した処理に移る。尚、コントロールディスプレイについては、上述した算出を省くようにしてもよい。
図8の説明に戻る。平面投影部421は、平面投影処理を実行する(S805)。平面投影部421は、第1ホモグラフィ行列によって、オリジナル画面を操作画面のディスプレイ領域に投影する。つまり、平面投影部421は、オリジナル画面の画素値を操作画面における所定の位置に移す。そして、平面投影部421は、ディスプレイ領域における画像データの補間処理を行う。補間処理は、変換された画像を見やすくするためのデータ加工である。平面投影部421は、これらの処理を、各メンバーディスプレイのオリジナル画面に対して行う。
S801乃至S805に示した処理によって、操作画面が生成される。以下では、S801乃至S805の処理と同等の処理を、全体投影処理(S807)ということがある。
コントロールディスプレイに対応する表示処理部411は、生成された操作画面をコントロールディスプレイのディスプレイ装置207に表示させる(S809)。この例では、表示処理部411aが、操作画面をディスプレイ装置207aに表示させる。
この段階で、受付部501は、イベントを取得する(S811)。受付部501は、取得したイベントが投影モード終了の指示であるか否かを判定する(S813)。取得したイベントが投影モード終了の指示であると判定した場合には、投影モード処理を終えて、図7に示したS703の処理に戻る。
一方、取得したイベントが投影モード終了の指示ではないと判定した場合には、特定部503は、特定処理を実行する(S815)。この例では、S811で取得したイベントがタッチ操作であったものとする。そして、特定処理において、特定部503は、タッチ操作に基づいて各種のパラメータを特定する。
図12に、特定処理フローの例を示す。特定処理では、投影座標系のタッチ位置に対応するオリジナル座標系のタッチ位置、タッチ位置を含むディスプレイ領域に対応するディスプレイID、タッチ位置を含むウィンドウのID及び当該ウィンドウに対応するアプリケーションプログラム401のIDを特定する。
特定部503は、領域記憶部427に記憶されているデータに基づいて、投影座標系のタッチ位置がディスプレイ領域内であるか否かを判定する(S1201)。投影座標系のタッチ位置がディスプレイ領域内でないと判定した場合には、特定部503は、「ディスプレイ領域外」である旨をパラメータ記憶部507に記憶する(S1203)。「ディスプレイ領域外」は、例えば壁面に相当する位置をタッチしたことを意味する。そして、特定処理を終える。
投影座標系のタッチ位置がディスプレイ領域内であると判定した場合には、特定部503は、ディスプレイ領域に対応するディスプレイIDをパラメータ記憶部507に記憶する(S1205)。第1変換部505は、第2ホモグラフィ行列に従って、投影座標系のタッチ位置をオリジナル座標系のタッチ位置に変換する(S1207)。そして、特定部503は、オリジナル座標系のタッチ位置をパラメータ記憶部507に記憶する(S1209)。
更に、特定部503は、管理データに基づいて、オリジナル座標系のタッチ位置がいずれかのウィンドウ103内であるか否かを判定する(S1211)。オリジナル座標系のタッチ位置がウィンドウ103内であると判定した場合には、特定部503は、当該ウィンドウ103のIDをパラメータ記憶部507に記憶する(S1213)。更に、特定部503は、管理データに基づいて、当該ウィンドウIDに対応するアプリケーションIDを特定し、パラメータ記憶部507に記憶する(S1215)。そして、特定処理を終える。
一方、オリジナル座標系のタッチ位置がウィンドウ103内ではないと判定した場合には、特定部503は、「ウィンドウ外」である旨をパラメータ記憶部507に記憶する(S1217)。更に、特定部503は、「アプリケーションなし」である旨をパラメータ記憶部507に記憶する(S1219)。そして、特定処理を終える。特定処理を終えると、図8のS817に示した処理に移る。
図8の説明に戻る。受付部501は、特定処理の結果に基づいて、S811において取得したイベントがタッチ数=1且つウィンドウ内のタッチであるか否かを判定する(S817)。タッチ数=1且つウィンドウ内のタッチである場合には、ウィンドウのタップやドラッグなどのタッチ操作である。そのため、第2操作部511は、ウィンドウ操作処理を実行する(S821)。一方、ウィンドウ外のタッチである場合あるいはタッチ数が2である場合には、カメラの回転や移動などのカメラ操作である。そのため、第1操作部509は、カメラ操作処理を実行する(S819)。ウィンドウ操作処理あるいはカメラ操作処理を終えると、S811に戻って、上述した処理を繰り返す。
以下、カメラ操作処理、ウィンドウ操作処理の順に詳述する。図13に、カメラ操作処理を行う第1操作部509のモジュール構成例を示す。第1操作部509は、回転部1301及び移動部1303を有する。回転部1301は、カメラの回転操作を行う。移動部1303は、カメラの移動操作を行う。ここでいう移動は、前後の移動を意味する。
上述した回転部1301及び移動部1303は、ハードウエア資源(例えば、図40)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
図14に、カメラ回転を指示するタッチの例を示す。この例では、操作画面のうちウィンドウ103外を最初にタッチして、タッチ位置をスライドさせることによって、カメラを回転させる。尚、ltは、左方向にスライドした距離を示している。タッチ位置を横方向にスライドさせた場合には、カメラは水平方向に回転する。
図15に、カメラ回転後における操作画面の表示例を示す。表示面101aの操作画面における投射図は、カメラが水平方向に回転した状態に基づいて描かれている。
図16に、カメラ移動を指示するタッチの例を示す。この例では、操作画面に対して最初に2点をタッチし、その距離を変化させることによって、カメラを前後に移動させる。尚、l0は、最初の2点間の距離を示している。ltは、変化後の2点間の距離を示している。距離を縮めた場合には、カメラは後退する。
図17に、カメラ移動後における操作画面の表示例を示す。表示面101aの操作画面における投射図は、カメラが後退した状態に基づいて描かれている。
図18に、カメラ操作処理フローの例を示す。受付部501は、図8のS811で取得したイベントが示すタッチ数が1であるか否かを判定する(S1801)。当該タッチ数が1であると判定した場合には、スライド操作であるので、回転部1301は、回転処理を実行する(S1803)。
一方、当該タッチ数が1ではないと判定した場合には、受付部501は、当該タッチ数が2であるか否かを判定する(S1805)。当該タッチ数が2であると判定した場合には、ピンチ操作であるので、移動部1303は、移動処理を実行する(S1807)。当該タッチ数が2ではないと判定した場合には、終了指示であると看做して、カメラ操作を終了する。
続いて、回転処理について説明する。図19に、回転処理フローの例を示す。回転部1301は、図8のS811で取得したイベントが示すタッチ位置を、始点位置としてパラメータ記憶部507に記憶する(S1901)。受付部501は、イベントを取得する(S1903)。受付部501は、取得したイベントが示すタッチ数が1であるか否かを判定する(S1905)。取得したイベントが示すタッチ数が1ではないと判定した場合には、終了指示であると看做して、回転処理を終了する。
一方、取得したイベントが示すタッチ数が1であると判定した場合には、回転部1301は、S1903で取得したイベントが指すタッチ位置を終点位置として、移動ベクトルを算出する(S1907)。
回転部1301は、移動ベクトルに基づいてカメラを回転する(S1909)。図14に示したように横方向成分については、例えば以下の式に従って、ピッチ角度pを変更する。
t=pt-1+(lt/dt)C1
tは、今回のピッチ角度である。pt-1は、前回のピッチ角度である。dtは、カメラとコントロールディスプレイの表示面101との距離である。C1は、定数である。
図20は、縦方向にタッチ位置をスライドさせた場合の例を示している。尚、ltは、下方向にスライドした距離を示している。タッチ位置を縦方向にスライドさせた場合には、カメラは垂直方向に回転する。縦方向成分については、例えば以下の式に従って、ヨー角度yを変更する。
t=yt-1+(lt/dt)C2
tは、今回のヨー角度である。yt-1は、前回のヨー角度である。C2は、定数である。
図8の説明に戻る。投影モード部413は、図8に示したS807の処理と同様に全体投影処理を実行する(S1911)。コントロールディスプレイに対応する表示処理部411は、図8に示したS809の処理と同様に操作画面をディスプレイ装置207に表示させる(S1913)。そして、S1903の処理に戻って、上述した処理を繰り返す。
次に、移動処理について説明する。図21に、移動処理フローの例を示す。移動部1303は、図8のS811で取得したイベントが示す2つのタッチ位置の距離を算出し、初期距離としてパラメータ記憶部507に記憶する(S2101)。受付部501は、イベントを取得する(S2103)。受付部501は、取得したイベントが示すタッチ数が2であるか否かを判定する(S2105)。取得したイベントが示すタッチ数が2ではないと判定した場合には、終了指示であると看做して、移動処理を終了する。
一方、取得したイベントが示すタッチ数が2であると判定した場合には、移動部1303は、S2103で取得したイベントが指す2つのタッチ位置の距離を、スライド後の距離として算出する(S2107)。移動部1303は、初期距離とスライド後の距離とに基づいて、論理的にカメラを前後に移動する(S2109)。
図22に、カメラ移動の様子を示す。この例は、距離を縮めた場合に、カメラが後退する様子を示している。尚、d0とdtとは、いずれもグローバル座標系におけるカメラと表示面101aの距離を示している。d0は、カメラが移動する前の距離を示している。dtは、カメラが移動した後の距離を示している。例えば以下の式に従って、カメラと表示面101aの距離dを変更する。
t=dt-1+(1−lt/l0)C3
図16で説明した通り、l0は、初期距離を示している。ltは、スライド後の距離を示している。C3は、定数である。
図21の説明に戻る。投影モード部413は、上述の通り全体投影処理を実行する(S2111)。コントロールディスプレイに対応する表示処理部411は、上述の通り操作画面をディスプレイ装置207に表示させる(S2113)。そして、S2103の処理に戻って、上述した処理を繰り返す。
以上でカメラ操作処理についての説明を終える。ここからは、ウィンドウ処理について説明する。
図23に、ウィンドウ処理を行う第2操作部511のモジュール構成例を示す。第2操作部511は、保存処理部2301、配置部2305、更新部2307、取消部2309及び退避データ格納部2311を有する。
保存処理部2301は、主に管理データの退避を行う。配置部2305は、アイコンを配置する。更新部2307は、管理データを更新する。取消部2309は、ウィンドウ操作を取り消す。退避データ格納部2311は、退避する管理データを記憶する。
上述した保存処理部2301、配置部2305、更新部2307及び取消部2309は、ハードウエア資源(例えば、図40)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
上述した退避データ格納部2311は、ハードウエア資源(例えば、図40)を用いて実現される。
図24に、ウィンドウ操作処理フローの例を示す。保存処理部2301は、図8のS811で最初に取得したイベントに基づいて、S815で特定したパラメータを、退避データ格納部2311に保存する(S2401)。保存処理部2301は、更に、管理データ記憶部407に記憶している管理データを退避データ格納部2311に退避する(S2403)。退避した管理データは、例えばウィンドウ操作の取消において用いられる。
受付部501は、イベントを取得する(S2405)。特定部503は、上述の通り特定処理を実行する(S2407)。受付部501は、S2405で取得したイベントが示すタッチ数が0であるか否かを判定する(S2409)。
S2405で取得したイベントが示すタッチ数が0であると判定した場合には、タップ操作あるいは長押し操作である。本実施の形態では、ウィンドウ内においてタップ操作あるいは長押し操作を行った場合に表示レイヤの変更を行う。
図25に、タップ操作の例を示す。ディスプレイ領域2551eには、平面投射されたウィンドウ2553bとウィンドウ2553cとが描かれている。ウィンドウ2553cは、ウィンドウ2553bよりも手前に表示されている。この状態で、ユーザがウィンドウ2553bをタップすると、ウィンドウ2553bが手前に移動する。
図26に、レイヤ変更後における操作画面の表示例を示す。ウィンドウ2553bは、ウィンドウ2553cよりも手前に表示されている。このとき、ディスプレイ領域2551eに対応する表示面101eのオリジナル画面においても、同様に背面のウィンドウ103bが手前に移動する。つまり、操作画面のディスプレイ領域2551eにおける動きと表示面101eのオリジナル画面の動きとは、同期する。
図24の説明に戻る。更新部2307は、S2401において保存されたディスプレイIDとウィンドウIDとに基づいて、管理データにおけるレコードを特定し、当該レコードにおけるレイヤ番号を最前面に相当する値「1」に更新する(S2411)。このとき、同じディスプレイIDを有する他のレコードにおけるレイヤ番号も大小関係を保ちつつ繰り下げる。
図27に、管理データの更新例を示す。この例における管理データは、テーブル形式である。但し、管理データは、テーブル形式以外の形式であってもよい。この例における管理データは、ウィンドウに対応するレコードを有している。管理データのレコードは、ディスプレイIDを設定するためのフィールドと、アプリケーションIDを設定するためのフィールドと、ウィンドウIDを設定するためのフィールドと、ウィンドウ位置を設定するためのフィールドと、ウィンドウサイズを設定するためのフィールドと、レイヤ番号を設定するためのフィールドとを有している。
ディスプレイIDは、当該ウィンドウを含むオリジナル画面を表示するディスプレイ装置207を特定する。この例で、ディスプレイID「DSP−A」は、ディスプレイ装置207aを指す。同じくディスプレイID「DSP−E」は、ディスプレイ装置207eを指す。
アプリケーションIDは、当該ウィンドウに画面を提供するアプリケーションプログラム401を特定する。この例で、アプリケーションID「APL−1」は、アプリケーションプログラム401aを指す。同じくアプリケーションID「APL−2」は、アプリケーションプログラム401bを指す。同じくアプリケーションID「APL−3」は、アプリケーションプログラム401c(図示していない。)を指す。
ウィンドウIDは、ウィンドウ103を特定する。この例で、ウィンドウID「WIN−1」は、投影されたウィンドウ2553aに相当するオリジナルのウィンドウ103aを指す。同じくウィンドウID「WIN−2」は、投影されたウィンドウ2553bに相当するオリジナルのウィンドウ103bを指す。同じくウィンドウID「WIN−3」は、投影されたウィンドウ2553cに相当するオリジナルのウィンドウ103c(図示していない。)を指す。
ウィンドウ位置は、オリジナル座標系によるウィンドウ103の位置である。ウィンドウサイズは、オリジナル座標系によるウィンドウ103のサイズである。レイヤ番号は、当該ウィンドウが属する表示レイヤの番号である。番号が小さい表示レイヤの方が、手前に表示される。
図27の上段は、図25に示した状態(タップ前)における管理データを示している。この時点では、投影されたウィンドウ2553cに相当するオリジナルのウィンドウ103cのレイヤ番号は、「1」であり、投影されたウィンドウ2553bに相当するオリジナルのウィンドウ103bのレイヤ番号は、「2」である。従って、図25に示したように、投影されたウィンドウ2553bが投影されたウィンドウ2553cの後ろに隠れている。
図27の下段は、図26に示した状態(タップ後)における管理データを示している。この時点では、投影されたウィンドウ2553cに相当するオリジナルのウィンドウ103cのレイヤ番号は、「2」であり、投影されたウィンドウ2553bに相当するオリジナルのウィンドウ103bのレイヤ番号は、「1」である。従って、図26に示したように、投影されたウィンドウ2553bが投影されたウィンドウ2553cより前に現れる。
図24の説明に戻る。ウィンドウシステム405は、S2401において保存されたディスプレイIDに対応するオリジナル画面を描画して、オリジナル画面記憶部409に記憶する(S2413)。当該ディスプレイIDに対応する表示処理部411は、描画されたオリジナル画面を、当該ディスプレイIDにより特定されるディスプレイ装置207に表示する(S2415)。平面投影部421は、描画されたオリジナル画面に対する平面投影処理を実行する(S2417)。コントロールディスプレイに対応する表示処理部411は、操作画面をディスプレイ装置207に表示させる(S2419)。そして、ウィンドウ操作処理を終える。以上で、レイヤの変更についての手順が終わる。
図24に示したS2409の処理についての説明に戻る。S2409において、S2405で取得したイベントが示すタッチ数が0ではないと判定し場合、つまりタッチ数が1である場合には、受付部501は、タッチ位置がスライドしたか否かを判定する(S2421)。尚、タッチ数が2以上である場合には、ウィンドウ操作処理を終えるようにしてもよい。
タッチ位置がスライドしていないと判定した場合には、長押しの状態であるので、S2405に戻って、上述した処理を繰り返す。
一方、タッチ位置がスライドしたと判定した場合には、端子Aを介して図28に示したS2801の処理に移る。
図28の説明に移る。以下では、ドラッグの手順を実現する。更新部2307は、直前の特定処理の結果が「ディスプレイ領域外」であるか否かを判定する(S2801)。ドラッグ当初は、タッチ位置がディスプレイ領域内に留まるので、「ディスプレイ領域外」ではないと判定される。
図29に、ドラッグ当初の例を示す。ディスプレイ領域2551eには、投影されたウィンドウ2553bが描かれている。この例は、投影されたウィンドウ2553bを、ディスプレイ領域2551eの範囲内でドラッグした状態を示している。この位置でユーザがドロップすると、投影されたウィンドウ2553bはそのまま留まる。このとき、ディスプレイ領域2551eに対応する表示面101eのオリジナル画面においても、同様にウィンドウ103bが移動する。つまり、操作画面のディスプレイ領域2551eにおける動きと表示面101eのオリジナル画面の動きとは、同期する。
図28に戻って、ドラッグ当初における処理について説明する。更新部2307は、直前の特定処理で特定されたディスプレイIDがS2401において保存されたディスプレイIDと一致するか否かを判定する(S2803)。図29の例では、直前の特定処理で特定されたディスプレイIDがS2401において保存されたディスプレイIDと一致すると判定される。そして、更新部2307は、管理データを更新する(S2805)。具体的には、更新部2307は、直前の特定処理で特定されたウィンドウIDに対応するレコードにおけるウィンドウ位置を変更する。具体的には、更新部2307は、S2401において保存されたオリジナル座標系のタッチ位置を始点とし、直前の特定処理で特定されたオリジナル座標系のタッチ位置を終点とする移動ベクトルを求める。そして、更新部2307は、ウィンドウ位置に移動ベクトルを加える。
図30に、管理データの更新例を示す。図30の上段は、図29に示したドラッグ操作を行う前における管理データを示している。この時点では、投影されたウィンドウ2553bに相当するオリジナルのウィンドウ103bの位置は、(X2,Y2)である。
図30の下段は、図29に示したドラッグ操作を行った後における管理データを示している。この時点では、投影されたウィンドウ2553bに相当するオリジナルのウィンドウ103bの位置は、(X4,Y4)である。他のデータは、変わっていない。
図28の説明に戻る。ウィンドウシステム405は、直前の特定処理で特定されたディスプレイIDに対応するオリジナル画面を描画して、オリジナル画面記憶部409に記憶する(S2807)。当該ディスプレイIDに対応する表示処理部411は、描画されたオリジナル画面を、当該ディスプレイIDにより特定されるディスプレイ装置207に表示する(S2809)。
平面投影部421は、描画されたオリジナル画面に対する平面投影処理を実行する(S2811)。コントロールディスプレイに対応する表示処理部411は、操作画面をディスプレイ装置207に表示させる(S2813)。
受付部501は、次のイベントを取得する(S2829)。特定部503は、上述した通り特定処理を実行する(S2831)。受付部501は、取得したイベントが示すタッチ数が1であるか否かを判定する(S2833)。取得したイベントが示すタッチ数が1であれば、S2801に示した処理に戻って、上述した処理を繰り返す。
次に、ドラッグによってタッチ位置がディスプレイ領域を出る場合について説明する。図31に、タッチ位置がディスプレイ領域2551eを出る例を示す。この例は、投影されたウィンドウ2553bを、ディスプレイ領域2551e外へドラッグした状態を示している。この状態で、ディスプレイ領域2551e外ではタッチ位置にアイコン3101が描かれる。投影されたウィンドウ2553bは、元の位置に戻っている。この位置でユーザがドロップすると、アイコン3101は消える。このとき、ディスプレイ領域2551eに対応する表示面101eのオリジナル画面においても、同様にウィンドウ103bは元の位置に戻る。つまり、操作画面のディスプレイ領域2551eにおける動きと表示面101eのオリジナル画面の動きとは、同期する。
図28に戻って、ドラッグによってタッチ位置がディスプレイ領域を出る場合における処理について説明する。図31の例では、S2801において「ディスプレイ領域外」であると判定される。
更新部2307は、管理データを更新する(S2815)。具体的には、更新部2307は、S2401において保存されたディスプレイIDとウィンドウIDとに基づいて、管理データにおけるレコードを特定し、退避した管理データに基づいて、当該レコードにおけるウィンドウ位置を初期の値に戻す。
配置部2305は、操作画面のタッチ位置(投影座標系)にアイコン3101を配置する(S2817)。コントロールディスプレイに対応する表示処理部411は、操作画面をディスプレイ装置207に表示させる(S2819)。配置部2305は、アイコン3101を消去する(S2821)。ドラッグによってタッチ位置がディスプレイ領域2551eの範囲外である間は、S2815乃至S2821のルートを通る。2回目以降のS2815の処理は、省くようにしてもよい。
受付部501は、イベントを取得する(S2829)。特定部503は、上述した通り特定処理を実行する(S2831)。受付部501は、取得したイベントが示すタッチ数が1であるか否かを判定する(S2833)。取得したイベントが示すタッチ数が1であれば、S2801に示した処理に戻って、上述した処理を繰り返す。
次に、ドラッグによってタッチ位置が別のディスプレイ領域に移る場合について説明する。図32に、タッチ位置が隣のディスプレイ領域2551dに移る例を示す。この例は、投影されたウィンドウ2553bを、隣のディスプレイ領域2551d内へドラッグした状態を示している。この位置でユーザがドロップすると、ウィンドウ3201bはそのまま留まる。
そして、「コピー」あるいは「移動」を選択するメニューが表示される。「コピー」が選択されると、元のウィンドウ2553bはそのまま残る。このとき、ディスプレイ領域2551eに対応する表示面101eのオリジナル画面においても、同様にウィンドウ103bが残る。「移動」が選択されると、元のウィンドウ2553bは消える。このとき、表示面101eのオリジナル画面においても、同様にウィンドウ103bが消える。このように、操作画面のディスプレイ領域2551eにおける動きと表示面101eのオリジナル画面の動きとは、同期する。
また、操作画面のディスプレイ領域2551dにおける動きと表示面101dのオリジナル画面の動きも、同期する。つまり、投影されたウィンドウ3201bに対応するオリジナルのウィンドウ103bが、表示面101dに描かれる。
図28に戻って、ドラッグによってタッチ位置が別のディスプレイ領域に移る場合の処理について説明する。図32の例では、S2801において「ディスプレイ領域外」ではないと判定される。また、S2803において、直前の特定処理で特定されたディスプレイIDがS2401において保存されたディスプレイIDと一致しないと判定される。
そして、更新部2307は、管理データを更新する(S2823)。具体的には、更新部2307は、ドラッグ先のディスプレイ領域における新たなウィンドウに相当するレコードを追加する。新たなレコードのディスプレイIDには、直前の特定処理で特定されたディスプレイIDが設定される。新たなレコードのウィンドウID、アプリケーションID、ウィンドウサイズ及びレイヤ番号には、S2401において保存されたウィンドウIDとディスプレイIDによって特定される元のレコードの場合と同じ値が設定される。レイヤ番号は、「1」にしてもよい。また、ウィンドウ位置には、当該ウィンドウ内のいずれかの位置が設定される。このとき、ウィンドウ枠とタッチ位置との相対的な関係を保つようにしてもよい。
図33に、管理データの更新例を示す。図33の上段は、図32に示したドラッグ操作を行う前における管理データを示している。この時点で、ウィンドウ103の数は、2つである。
図33の下段は、図32に示したドラッグ操作を行った後における管理データを示している。ウィンドウ103の数は、3つである。投影されたウィンドウ2553bに相当するウィンドウ103bのID「WIN−2」と同じIDを有する第3レコードが追加されている。第3レコードは、ウィンドウ3201bに対応する。追加されたレコードにおけるアプリケーションID「APL−2」、ウィンドウサイズ(W2,H2)及びレイヤ番号「1」は、投影されたウィンドウ2553bに対応する第2レコードと同様である。但し、ディスプレイID「DSP−D」とウィンドウ位置(X5,Y5)は、第2レコードと異なる。
ウィンドウシステム405は、直前の特定処理で特定されたディスプレイIDに対応するオリジナル画面を描画して、オリジナル画面記憶部409に記憶する(S2825)。直前の特定処理で特定されたディスプレイIDに対応する表示処理部411は、描画されたオリジナル画面を、当該ディスプレイIDにより特定されるディスプレイ装置207に表示する(S2827)。
平面投影部421は、描画されたオリジナル画面に対する平面投影処理を実行する(S2811)。コントロールディスプレイに対応する表示処理部411は、操作画面をディスプレイ装置207に表示させる(S2813)。
受付部501は、次のイベントを取得する(S2829)。特定部503は、上述した通り特定処理を実行する(S2831)。受付部501は、取得したイベントが示すタッチ数が1であるか否かを判定する(S2833)。取得したイベントが示すタッチ数が1であれば、S2801に示した処理に戻って、上述した処理を繰り返す。
続いて、ドロップ操作が行われた場合の処理について説明する。ドロップ操作が行われると、S2833において、タッチ数が1ではないと判定される。そして、端子Bを介して図35に示したS3501の処理に移る。ここでは、タッチ数が2以上であることは想定しない。
まず、例えば図29に示したように、タッチ位置がディスプレイ領域内に留まっている状態でドロップした場合について説明する。この場合には、図35のS3501において、更新部2307は、直前の特定処理の結果が「ディスプレイ領域外」ではないと判定する。更に、更新部2307は、直前の特定処理で特定されたディスプレイIDがS2401において保存されたディスプレイIDと一致すると判定する(S3505)。そして、そのままウィンドウ操作処理を終える。
次に、図31に示したように、ドラッグによってタッチ位置がディスプレイ領域2551eを出た状態でドロップした場合について説明する。この場合には、図35のS3501において、更新部2307は、直前の特定処理の結果が「ディスプレイ領域外」であると判定する。そして、そのままウィンドウ操作処理を終える。
次に、図32に示したように、ドラッグによってタッチ位置が別のディスプレイ領域2551に移った状態でドロップした場合について説明する。この場合には、図35のS3501において、更新部2307は、直前の特定処理の結果が「ディスプレイ領域外」ではないと判定する。更に、更新部2307は、直前の特定処理で特定されたディスプレイIDがS2401において保存されたディスプレイIDと一致しないと判定する(S3505)。受付部501は、タッチ位置近辺にメニューを表示して、「コピー」あるいは「移動」の選択を受け付ける(S3507)。
S3509において、受付部501が「移動」を選択されなかったと判定した場合、つまり「コピー」が選択された場合には、そのままウィンドウ操作処理を終える。
一方、受付部501が「移動」を選択されたと判定すると、更新部2307は、管理データを更新する(S3511)。具体的には、更新部2307は、S2401において保存されたディスプレイIDとウィンドウIDとに基づいて、管理データにおける元のレコードを特定し、当該レコードを削除する。
図34に、管理データの更新例を示す。図34の上段は、図33の下段と同様である。図34の下段は、図32に示したメニューにおいて「移動」が選択された場合の管理データを示している。元のウィンドウ2553bに対応する第2レコードが削除される。
ウィンドウシステム405は、S2401において保存されたディスプレイIDに対応するオリジナル画面を描画して、オリジナル画面記憶部409に記憶する(S3513)。当該ディスプレイIDに対応する表示処理部411は、オリジナル画面をディスプレイ装置207に表示させる(S3515)。更に、平面投影部421は、描画されたオリジナル画面に対する平面投影処理を実行する(S3517)。コントロールディスプレイに対応する表示処理部411は、操作画面をディスプレイ装置207に表示させる(S3519)。そして、ウィンドウ操作処理を終える。
本実施の形態によれば、操作画面上でオリジナル画面を操作することができる。
また、第2ホモグラフィ行列によって、ディスプレイ領域内の位置をオリジナル画面の位置に、より正しく変換することができる。
また、離れた表示面におけるウィンドウ操作の利便性が向上する。例えば、離れた表示面におけるウィンドウの移動やコピーなどの操作性が向上する。例えば、離れた表示面におけるウィンドウの表示レイヤを変更しやすい。
[実施の形態2]
本実施の形態では、複数のシーンを設ける例について説明する。
図36に、表示面の配置例及び操作画面の表示例を示す。この例では、上述した例よりも表示面101bが小さいものとする。この例では、実際の表示面101bに相当するモデルによって生成された透視図が、操作画面に描かれている。
図37に、別の操作画面の表示例を示す。この例では、実際の表示面101bよりも大きい仮想のモデルによって生成された透視図が、操作画面に描かれている。
このように1つの表示面101に対して複数のモデルを設定する。従って、座標記憶部429には、夫々のモデルに対応する四隅位置が記憶されている。また、シーン記憶部415には、それぞれのモデルを用いたシーンのデータが記憶されている。
そして、表示面101bに相当するディスプレイ領域に対してタップ操作あるいは長押し操作が行われた場合に、使用するシーンを切り替えるとともに、使用する四隅位置を切り替える。
図38に、ウィンドウ操作処理フローの例を示す。S2401乃至S2409の処理は、図24の場合と同様である。S2421の処理も、図24の場合と同様である。
S2409において、S2405で取得したイベントが示すタッチ数が0であると判定した場合には、第2変換部901は、シーンを切り替える(S3801)。そして、投影モード部413は、全体投影処理を実行する(S3803)。このとき、切り替えられたシーンに基づいて、透視投影処理が行われる。コントロールディスプレイに対応する表示処理部411は、操作画面をディスプレイ装置207に表示させる(S3805)。尚、図11に示したS1103において、算出部425は、切り替えられたシーンに対応する四隅位置を用いる。
このようにすれば、実際の表示面101が小さい場合であっても、操作画面においてディスプレイ領域を大きくして、操作性を向上させることができる。
[実施の形態3]
本実施の形態では、仮想の表示面101を設ける例について説明する。
図39に、表示面の配置例及び操作画面の表示例を示す。この例では、表示面101fを提供するタッチスクリーン205fがない。しかし、仮想の表示面101fに相当するモデルによって生成された透視図が、操作画面に描かれている。
このように仮想の表示面101に相当するモデルを設定すれば、仮想のディスプレイ領域を操作画面に設けることができる。尚、仮想の表示面101に対応する表示処理部411は、設けなくてもよい。
このようにすれば、例えば、操作画面における一時的なウィンドウの退避場所として、仮想のディスプレイ領域を用いることができる。
尚、上述した表示システムにおいて、携帯端末装置と表示制御装置203との間で、各種の連携動作が行われることが想定される。例えば、携帯端末装置から表示制御装置203への連携要求によって、携帯端末装置と表示制御装置203とが各種の連携動作を行うようにしてもよい。表示制御装置203が、部屋へ入場した人の携帯端末装置を検出し、自動的に携帯端末装置へ特定のプログラムを配信するようにしてもよい。携帯端末装置は、受信した特定のプログラムを自動的に起動するようにしてもよい。携帯端末装置と表示制御装置203とは、データやプロセスを同期させるようにしてもよい。携帯端末装置における操作によって、表示制御装置203における処理を制御し、あるいは、表示制御装置203における操作によって、携帯端末装置における処理を制御するようにしてもよい。
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上述の機能ブロック構成はプログラムモジュール構成に一致しない場合もある。
また、上で説明した各記憶領域の構成は一例であって、上記のような構成に限られるものではない。さらに、処理フローにおいても、処理結果が変わらなければ、処理の順番を入れ替えることや複数の処理を並列に実行させるようにしても良い。
なお、上で述べた表示制御装置203は、コンピュータ装置であって、図40に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティングシステム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーションプログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーションプログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーションプログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーションプログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態に係る表示方法は、第1表示装置による第1表示面を含む空間データを透視図に投影する処理と、第2表示装置によって、透視図を第2表示面に表示する処理と、第2表示面においてユーザに指示される第1位置を受け付ける処理と、第1位置が第1表示面に相当する領域内を指す場合に、第1位置を、第1表示面における第2位置に変換する変換処理と、第2位置に基づいて、第1表示面に表示する画像を操作する操作処理とを含む。
このようにすれば、複数の表示面に対する操作性が向上する。つまり、第2表示面に表示された透視図上で第1表示面に表示される画像を操作することができる。
更に、第1表示面の基準点の座標と、上記領域において当該基準点に相当する点の座標との関係に基づいて、第2表示面における座標系の位置を第1表示面における座標系の位置に変換するための変換値を算出する処理を含むようにしてもよい。上記変換処理において、上記変換値を用いて、第1位置を第2位置に変換するようにしてもよい。
このようにすれば、より正しく、第1位置を第2位置に変換することができる。
上記操作処理において、上記画像に含まれるウィンドウを操作するようにしてもよい。このようにすれば、離れた表示面におけるウィンドウ操作の利便性が向上する。
上記操作処理において、ウィンドウの位置を更新するようにしてもよい。
このようにすれば、離れた表示面におけるウィンドウの移動やコピーなどの操作性が向上する。
上記操作処理において、ウィンドウの表示レイヤを更新するようにしてもよい。
このようにすれば、離れた表示面におけるウィンドウの表示レイヤを変更しやすい。
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。

Claims (3)

  1. 第1表示装置による第1表示面と、前記第1表示面から離れて配置されている、第2表示装置による第2表示面とを含む空間データを透視図に投影する処理と、
    表示装置によって、前記透視図を第表示面に表示する処理と、
    前記第表示面においてユーザに指示される第1位置を受け付ける処理と、
    前記第1位置が前記第1表示面に相当する領域内を指す場合に、前記第1位置を、前記第1表示面における第2位置に変換する変換処理と、
    前記第2位置が、あるオブジェクトに対応する領域内にある場合、前記第2位置に基づき前記あるオブジェクトを特定する処理と、
    前記第3表示面において前記ユーザの指示位置がスライドされ、前記第3表示面において前記第2表示面に対応する領域内の第3位置でドロップされると、前記第3位置を、前記第2表示面における第4位置に変換する処理と、
    前記第位置の前記あるオブジェクトに基づいて、前記第表示面に表示する画像を操作する操作処理と
    を含む表示方法。
  2. 第1表示装置と、前記第1表示面から離れて配置されている、第2表示装置による第2表示面とを含む空間データを透視図に投影し、
    表示装置によって、前記透視図を第表示面に表示し、
    前記第表示面においてユーザに指示される第1位置を受け付け、
    前記第1位置が前記第1表示面に相当する領域内を指す場合に、前記第1位置を、前記第1表示面における第2位置に変換し、
    前記第2位置が、あるオブジェクトに対応する領域内にある場合、前記第2位置に基づき前記あるオブジェクトを特定し、
    前記第3表示面において前記ユーザの指示位置がスライドされ、前記第3表示面において前記第2表示面に対応する領域内の第3位置でドロップされると、前記第3位置を、前記第2表示面における第4位置に変換し、
    前記第位置の前記あるオブジェクトに基づいて、前記第表示面に表示する画像を操作する
    処理をコンピュータに実行させるプログラム。
  3. 第1表示装置と、前記第1表示面から離れて配置されている、第2表示装置による第2表示面とを含む空間データを透視図に投影する手段と、
    表示装置によって、前記透視図を第表示面に表示する手段と、
    前記第表示面においてユーザに指示される第1位置を受け付ける手段と、
    前記第1位置が前記第1表示面に相当する領域内を指す場合に、前記第1位置を、前記第1表示面における第2位置に変換する手段と、
    前記第2位置が、あるオブジェクトに対応する領域内にある場合、前記第2位置に基づき前記あるオブジェクトを特定する手段と、
    前記第3表示面において前記ユーザの指示位置がスライドされ、前記第3表示面において前記第2表示面に対応する領域内の第3位置でドロップされると、前記第3位置を、前記第2表示面における第4位置に変換する手段と、
    前記第位置の前記あるオブジェクトに基づいて、前記第表示面に表示する画像を操作する手段
    を有する表示制御装置。
JP2017508849A 2015-03-27 2015-03-27 表示方法、プログラム及び表示制御装置 Expired - Fee Related JP6390785B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/059707 WO2016157316A1 (ja) 2015-03-27 2015-03-27 表示方法、プログラム及び表示制御装置

Publications (2)

Publication Number Publication Date
JPWO2016157316A1 JPWO2016157316A1 (ja) 2018-01-18
JP6390785B2 true JP6390785B2 (ja) 2018-09-19

Family

ID=57004855

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017508849A Expired - Fee Related JP6390785B2 (ja) 2015-03-27 2015-03-27 表示方法、プログラム及び表示制御装置

Country Status (4)

Country Link
US (1) US10466835B2 (ja)
EP (2) EP3929710A1 (ja)
JP (1) JP6390785B2 (ja)
WO (1) WO2016157316A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6569449B2 (ja) * 2015-10-08 2019-09-04 セイコーエプソン株式会社 表示システム、プロジェクター及び表示システムの制御方法
US11644940B1 (en) 2019-01-31 2023-05-09 Splunk Inc. Data visualization in an extended reality environment
US11853533B1 (en) * 2019-01-31 2023-12-26 Splunk Inc. Data visualization workspace in an extended reality environment
CN111309236B (zh) * 2020-02-13 2021-06-29 微幻科技(北京)有限公司 一种三维场景视角变换方法及装置
US11385775B2 (en) * 2020-04-30 2022-07-12 Citrix Systems, Inc. Intelligent monitor and layout management
US12020443B2 (en) * 2022-07-18 2024-06-25 Nant Holdings Ip, Llc Virtual production based on display assembly pose and pose error correction

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09282125A (ja) 1996-04-09 1997-10-31 Fuji Electric Co Ltd 監視画面表示方法
JP3788710B2 (ja) 1999-11-19 2006-06-21 株式会社リコー 複数画面連携制御装置及び方法、並びに記録媒体
US6970145B1 (en) 1999-11-19 2005-11-29 Ricoh Company, Ltd. Method and apparatus for controlling image-display devices collectively
JP2004356803A (ja) * 2003-05-28 2004-12-16 Nippon Telegr & Teleph Corp <Ntt> 遠隔機器操作システム,そのシステムにおける操作端末および撮像装置
JP4333309B2 (ja) 2003-09-29 2009-09-16 セイコーエプソン株式会社 複数画面画像表示システム、複数画像表示装置の相対位置検出方法、複数画像表示装置の相対位置検出プログラムおよび複数画像表示装置の相対位置検出プログラムを記録した記録媒体
US7173619B2 (en) 2004-07-08 2007-02-06 Microsoft Corporation Matching digital information flow to a human perception system
JP2007058332A (ja) * 2005-08-22 2007-03-08 Canon Inc オブジェクト操作装置及びオブジェクト操作方法
SE0601216L (sv) * 2006-05-31 2007-12-01 Abb Technology Ltd Virtuell arbetsplats
JP5263049B2 (ja) * 2009-07-21 2013-08-14 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
US9235268B2 (en) * 2010-04-09 2016-01-12 Nokia Technologies Oy Method and apparatus for generating a virtual interactive workspace
JP2012014640A (ja) * 2010-07-05 2012-01-19 Sony Computer Entertainment Inc 画面出力装置、画面出力システム、および画面出力方法
JP5987299B2 (ja) * 2011-11-16 2016-09-07 ソニー株式会社 表示制御装置、表示制御方法およびプログラム
JP2014053795A (ja) * 2012-09-07 2014-03-20 NEUSOFT Japan株式会社 情報処理装置及び情報処理システム
JP2014052930A (ja) * 2012-09-10 2014-03-20 Seiko Epson Corp 表示装置、および、表示装置の制御方法
US20140282066A1 (en) * 2013-03-13 2014-09-18 Promontory Financial Group, Llc Distributed, interactive, collaborative, touchscreen, computing systems, media, and methods
KR102064952B1 (ko) * 2013-07-12 2020-01-10 삼성전자주식회사 수신 데이터를 이용하여 어플리케이션을 운영하는 전자 장치
KR20150031629A (ko) 2013-09-16 2015-03-25 삼성전자주식회사 터치 입력이 가능한 디스플레이 장치 및 그 터치 입력 방법
GB2546230B (en) * 2015-02-27 2019-01-09 Displaylink Uk Ltd System for identifying and using multiple display devices

Also Published As

Publication number Publication date
EP3276455A4 (en) 2018-03-21
US10466835B2 (en) 2019-11-05
EP3929710A1 (en) 2021-12-29
WO2016157316A1 (ja) 2016-10-06
JPWO2016157316A1 (ja) 2018-01-18
US20180011592A1 (en) 2018-01-11
EP3276455A1 (en) 2018-01-31

Similar Documents

Publication Publication Date Title
JP6390785B2 (ja) 表示方法、プログラム及び表示制御装置
US20210406416A1 (en) Building model user interface and method of use
EP2701044B1 (en) Information processing device, information processing method, and computer-readable recording medium which records program
JP2014186361A5 (ja)
KR20100108417A (ko) 다중 모니터 컴퓨터 시스템에서의 어플리케이션 관리 방법 및 이 방법을 채용한 다중 모니터 컴퓨터 시스템
KR101399472B1 (ko) 다중 프로세싱을 이용한 렌더링 처리 장치 및 방법
JP6265145B2 (ja) 情報処理装置、情報処理方法、プログラム、及び、表示装置
EP3537279B1 (en) Coordinating user interface elements across screen spaces
KR101740806B1 (ko) 가상 현실을 이용한 인테리어 디자인 서비스 제공 방법 및 장치
JP6448500B2 (ja) 画像処理装置、画像処理方法
JP5278927B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
US20140165011A1 (en) Information processing apparatus
US20240345717A1 (en) Operation method and apparatus, and electronic device and computer-readable storage medium
JP5767371B1 (ja) 仮想空間平面上に配置したオブジェクトを表示制御するゲーム・プログラム
CN115097976B (zh) 用于图像处理的方法、装置、设备和存储介质
JP6149915B2 (ja) 情報処理装置、その制御方法、及びプログラム
WO2022111472A1 (zh) 游戏控制方法、装置及存储介质
EP2454647B2 (en) System, method and computer program for operating a plurality of computing devices
JP2016016319A (ja) 仮想空間平面上に配置したオブジェクトを表示制御するゲーム・プログラム
JP2020136821A (ja) 情報処理装置及びその制御方法、プログラム
JP2007272397A (ja) 設計支援装置、設計支援方法、及びプログラム
KR102547816B1 (ko) 가상 현실 공간 비교 방법 및 시스템
CN105210019A (zh) 对异步操纵的用户界面响应
JP5768187B2 (ja) 表内の領域上で移動操作を実行するための実行方法及び装置
JP2008242611A (ja) 3次元モデル部分表示方法、3次元モデル部分表示装置、及び、3次元モデル部分表示プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170926

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180713

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180724

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180806

R150 Certificate of patent or registration of utility model

Ref document number: 6390785

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees