(57)【要約】      （修正有）【課題】ウィンドウ間の関係を反映した画面共有を行う為の技術を提供する。【解決手段】装置１２１は、新規のウィンドウ３０１が着目ウィンドウ１１２の子であり、新規のウィンドウの表示領域が着目ウィンドウの表示領域よりはみ出している場合、新規のウィンドウを表示する為の設定領域４０１を決定する。そして装置１２１は、設定領域を装置１２１の表示画面上に設けさせると共に、設けさせた設定領域ないに新規のウィンドウ３０１の画像を表示させる為の指示を装置１２１に対して送信する。【選択図】図４
2012133488.tif 000002
【特許請求の範囲】
【請求項１】
表示画面を有する画像処理装置であって、
前記表示画面に表示している着目ウィンドウの表示領域を特定し、該特定した表示領域内の画像を、外部装置が有する表示画面である外部表示画面内の規定領域に表示させる為の指示を該外部装置に対して送信する手段と、
前記着目ウィンドウとは別個の新規のウィンドウが前記表示画面に表示された場合には、該新規のウィンドウと前記着目ウィンドウとの親子関係を判断する手段と、
前記新規のウィンドウが前記着目ウィンドウの子であると判断された場合には、前記表示画面上における前記新規のウィンドウの表示領域が該表示画面上における前記着目ウィンドウの表示領域よりはみ出しているか否かを判断する判断手段と、
はみ出していると前記判断手段が判断した場合には、前記表示画面上に表示した前記新規のウィンドウの表示領域内の画像を表示するために前記外部表示画面上に設定する設定領域を、該設定領域と前記規定領域との位置関係が、前記表示画面上の前記新規のウィンドウの表示領域と該表示画面上の前記着目ウィンドウの表示領域との位置関係となるように決定する決定手段と、
前記決定手段が決定した設定領域を前記外部表示画面上に設けさせると共に、該設けさせた設定領域ないに前記表示画面上に表示した前記新規のウィンドウの表示領域内の画像を表示させる為の指示を前記外部装置に対して送信する送信手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記決定手段は更に、前記設定領域を、該設定領域と前記規定領域との奥行き関係が、前記表示画面上における前記新規のウィンドウと前記着目ウィンドウとの奥行き関係となるように決定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記送信手段は、前記設定領域を設定するための空き領域が前記外部表示画面上に存在しない場合、前記着目ウィンドウ及び前記新規のウィンドウを包含する領域内の画像を縮小し、該縮小した画像を前記規定領域ないに表示させる為の指示を前記外部装置に対して送信することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
表示画面を有する画像処理装置が行う画像処理方法であって、
前記画像処理装置の指示送信手段が、前記表示画面に表示している着目ウィンドウの表示領域を特定し、該特定した表示領域内の画像を、外部装置が有する表示画面である外部表示画面内の規定領域に表示させる為の指示を該外部装置に対して送信する工程と、
前記画像処理装置の親子関係判断手段が、前記着目ウィンドウとは別個の新規のウィンドウが前記表示画面に表示された場合には、該新規のウィンドウと前記着目ウィンドウとの親子関係を判断する工程と、
前記画像処理装置のはみ出し判断手段が、前記新規のウィンドウが前記着目ウィンドウの子であると判断された場合には、前記表示画面上における前記新規のウィンドウの表示領域が該表示画面上における前記着目ウィンドウの表示領域よりはみ出しているか否かを判断する判断工程と、
前記画像処理装置の決定手段が、はみ出していると前記判断工程で判断した場合には、前記表示画面上に表示した前記新規のウィンドウの表示領域内の画像を表示するために前記外部表示画面上に設定する設定領域を、該設定領域と前記規定領域との位置関係が、前記表示画面上の前記新規のウィンドウの表示領域と該表示画面上の前記着目ウィンドウの表示領域との位置関係となるように決定する決定工程と、
前記画像処理装置の送信手段が、前記決定工程で決定した設定領域を前記外部表示画面上に設けさせると共に、該設けさせた設定領域ないに前記表示画面上に表示した前記新規のウィンドウの表示領域内の画像を表示させる為の指示を前記外部装置に対して送信する送信工程と
を備えることを特徴とする画像処理方法。
【請求項５】
コンピュータを、請求項１乃至３の何れか１項に記載の画像処理装置が有する各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面共有技術に関するものである。
【背景技術】
【０００２】
近年におけるネットワークの発展に伴い、コンピュータシステムを利用した画面共有装置の利用範囲が広がっている。この画面共有装置の一つの形態に、以下の２つの機能の組み合わせからなるシステムがある。
【０００３】
１つは、画面共有サーバ装置の画面表示内容を画面共有クライアント装置へ送信して表示させる機能である。この表示機能により、画面共有クライアント装置のユーザは、画面共有サーバ装置の現在の表示状態を確認することができるようになる。
【０００４】
もう１つは、画面共有クライアント装置側の受信画像表示領域に対するマウス・キーボードの操作内容を画面共有サーバ装置へ送信し、画面共有サーバ装置側で同様の操作を再現する機能である。この操作機能により、画面共有クライアント装置のユーザが画面共有サーバ装置を遠隔操作することができるようになる。
【０００５】
画面表示内容の生成方法として最も一般的なのは、画面共有サーバのディスプレイ表示用バッファ、若しくはそれと同等のメモリ全体から、表示画像を取得する方式である。また、特定の情報のみ共有するためにアプリケーション単位で共有を行う画面共有装置（特許文献１）や、ウィンドウ単位で共有を行う画面共有装置（例えば特許文献２）も提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−３５２７９５号公報
【特許文献２】特表２００７−５０９４０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１では、送信側の表示レイアウトのままアプリケーションを構成するウィンドウの画像を送るため、受信側の都合によりウィンドウの表示位置を変更することができない。
【０００８】
一方、特許文献２では、ウィンドウ単位での共有を行うことは述べられているが、１つのアプリケーションを構成する複数のウィンドウ間など、関連のあるウィンドウ間で連携を取る仕組みまでは提供できていない。このような状況では、受信側のユーザは複数のウィンドウから構成されるアプリケーション、特に動的に子ウィンドウを生成するアプリケーションを送信側のユーザと同じ感覚で利用することができない。
【０００９】
本発明は以上の問題を解決するためになされたものであり、ウィンドウ間の関係を反映した画面共有を行う為の技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を有する。即ち、表示画面を有する画像処理装置であって、前記表示画面に表示している着目ウィンドウの表示領域を特定し、該特定した表示領域内の画像を、外部装置が有する表示画面である外部表示画面内の規定領域に表示させる為の指示を該外部装置に対して送信する手段と、前記着目ウィンドウとは別個の新規のウィンドウが前記表示画面に表示された場合には、該新規のウィンドウと前記着目ウィンドウとの親子関係を判断する手段と、前記新規のウィンドウが前記着目ウィンドウの子であると判断された場合には、前記表示画面上における前記新規のウィンドウの表示領域が該表示画面上における前記着目ウィンドウの表示領域よりはみ出しているか否かを判断する判断手段と、はみ出していると前記判断手段が判断した場合には、前記表示画面上に表示した前記新規のウィンドウの表示領域内の画像を表示するために前記外部表示画面上に設定する設定領域を、該設定領域と前記規定領域との位置関係が、前記表示画面上の前記新規のウィンドウの表示領域と該表示画面上の前記着目ウィンドウの表示領域との位置関係となるように決定する決定手段と、前記決定手段が決定した設定領域を前記外部表示画面上に設けさせると共に、該設けさせた設定領域ないに前記表示画面上に表示した前記新規のウィンドウの表示領域内の画像を表示させる為の指示を前記外部装置に対して送信する送信手段とを備えることを特徴とする。
【発明の効果】
【００１１】
本発明の構成によれば、ウィンドウ間の関係を反映した画面共有を行うことができる。
【図面の簡単な説明】
【００１２】
【図１】システムの構成例を示すブロック図。
【図２】装置１２１のハードウェア構成例を示すブロック図。
【図３】装置１１１及び装置１２１の動作を説明する図。
【図４】装置１１１及び装置１２１の動作を説明する図。
【図５】装置１１１及び装置１２１の動作を説明する図。
【図６】装置１１１が行う処理のフローチャート。
【図７】装置１１１及び装置１２１の動作を説明する図。
【図８】装置１１１及び装置１２１の動作を説明する図。
【図９】装置１１１及び装置１２１の動作を説明する図。
【図１０】装置１１１及び装置１２１の動作を説明する図。
【図１１】装置１１１が行う処理のフローチャート。
【図１２】装置１１１及び装置１２１の動作を説明する図。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の１つである。
【００１４】
［第１の実施形態］
先ず、画像処理装置間で画面を共有する、本実施形態に係るシステムの構成例について、図１のブロック図を用いて説明する。図１に示す如く、本実施形態に係るシステムは、画面共有サーバ装置として機能する画像処理装置（以下、単に装置と呼称）１１１と、画面共有クライアント装置として機能する画像処理装置（以下、単に装置と呼称）１２１と、で構成されている。そして、それぞれの装置はネットワーク１０１を介して互いにデータ通信が可能である。
【００１５】
装置１１１は、複数のアプリケーションを並行して実行することが可能であり、それぞれのアプリケーションが提供するウィンドウを表示するための表示画面を有する。図１では、ウィンドウ１１２及び１１３が表示画面上に表示されている。装置１１１は、この表示しているウィンドウのうち１以上を装置１２１（外部装置）と共有することができ、例えば図１に示す如くウィンドウ１１２（着目ウィンドウ）を共有する場合、装置１１１は先ず、このウィンドウ１１２の表示領域を特定する。そして、この特定した領域内の画像１２２を装置１２１が有する表示画面内（外部表示画面上）の規定領域１２３に表示させる為の指示を装置１２１に対して送信する（指示送信）。装置１２１は、装置１１１から送信されたこの指示を受け、この指示に従って、画像１２２を規定領域１２３内に表示する。
【００１６】
なお、装置１２１の表示画面にはこの規定領域１２３を複数個設定することもでき、この場合、それぞれの規定領域１２３の設定位置や個数は、装置１１１側で操作することができる。
【００１７】
なお、本実施形態では説明を簡単にするために、１台の画面共有サーバ装置と１台の画面共有クライアント装置とで構成されたシステムを例にとって説明するが、それぞれの装置の個数は１台に限るものではなく、複数台でも良い。例えば、１台の画面共有サーバ装置に複数台の画面共有クライアント装置を接続したシステムであっても良いし、複数台の画面共有サーバ装置に１台の画面共有クライアント装置を接続したシステムであっても良い。何れの構成であっても、画面共有サーバ装置と画面共有クライアント装置とが１対１で行う処理は、それぞれの個数が如何なる数であったとしても同様であるため、以下に説明する動作は、如何なる構成にも適用可能である。また、画面共有サーバ装置と画面共有クライアント装置とを１つの装置内に納めても良い。
【００１８】
装置１１１のハードウェア構成例について、図２のブロック図を用いて説明する。なお、図２に示した構成は、装置１１１に適用可能な装置の構成の一例であって、装置１１１が行うものとして説明する後述の各処理を実行可能な構成であれば、装置１１１に適用可能な装置の構成は、図２に示した構成に限るものではない。図２に示した構成を有する装置には、例えば、一般のＰＣ（パーソナルコンピュータ）等が適用可能である。
【００１９】
制御部２０１は、ＣＰＵ等のプロセッサにより構成されており、記憶部２０２に格納されているコンピュータプログラムやデータを用いて装置１１１全体の動作制御を行うと共に、装置１１１が行うものとして後述する各処理を実行する。
【００２０】
記憶部２０２は、ＲＡＭやＲＯＭ、ハードディスクドライブ装置など、コンピュータプログラムやデータなどの情報を記憶するためのメモリ群により構成されている。ＲＯＭにはブートプログラムやＢＩＯＳが格納されている。ハードディスクドライブ装置には、ＯＳ（オペレーティングシステム）や、装置１１１が行うものとして後述する各処理を制御部２０１に実行させるためのコンピュータプログラムやデータが保存されている。ハードディスクドライブ装置に保存されているコンピュータプログラムやデータは、制御部２０１による制御に従って適宜ＲＡＭにロードされ、制御部２０１による処理対象となる。ＲＡＭには、制御部２０１が各種の処理を実行する際に用いるワークエリアや、ハードディスクドライブ装置からロードされたコンピュータプログラムやデータを記憶するためのエリアを有する。即ちＲＡＭは、各種のエリアを適宜提供することができる。
【００２１】
表示部２０３は、ビデオメモリを内蔵しており、制御部２０１の制御の下で、モニタ２９０に表示する一画面分の画像を生成してビデオメモリに格納する。そしてこのビデオメモリに格納した一画面分の画像からビデオ信号を生成し、生成したビデオ信号をモニタ２９０に送出する。モニタ２９０は、ＣＲＴや液晶画面などにより構成されており、このビデオ信号に基づく表示画面を表示する。
【００２２】
入力部２０４は、キーボードやマウスなどのポインティングデバイスからの操作指示を受け付け、受け付けた操作指示を制御部２０１に通知する。ネットワークＩ／Ｆ部２０５は、装置１１１を上記のネットワーク１０１に接続する為のものであり、例えば、周知のネットワークカードである。装置１１１はこのネットワークＩ／Ｆ部２０５を介してネットワーク１０１に接続されている装置１２１とのデータ通信を行うことになる。なお、ネットワーク１０１は無線であっても良いし、有線であっても良い。また、その種類も特別な種類に限るものではない。
【００２３】
表示画像取得部２０６はモニタ２９０に表示されているウィンドウのうち、装置１２１と共有するものとして指定されたウィンドウの表示領域を特定し、特定した領域内の画像（共有画像）を抽出する。そして制御部２０１は、装置１２１が有する表示画面である外部表示画面内の規定領域にこの共有画像を表示させる為の指示を、ネットワークＩ／Ｆ部２０５に送出する。なお、この指示には、共有画像のデータも含まれている。そしてこの指示は、ネットワークＩ／Ｆ部２０５によりネットワーク１０１を介して装置１２１に転送される。
【００２４】
遠隔操作命令解析部２０７は、装置１２１からネットワーク１０１を介して送信され、ネットワークＩ／Ｆ部２０５が受信した遠隔操作命令を受け取り、受け取った遠隔操作命令を、入力部２０４が解釈可能な命令に変換する。そして遠隔操作命令解析部２０７は、この変換した命令を入力部２０４に送出し、ローカルの操作と区別なく実行するよう指示を出す。なお、図２では、表示画像取得部２０６と遠隔操作命令解析部２０７とは別個の要素として示しているが、制御部２０１の一部としても良い。また、表示画像取得部２０６と遠隔操作命令解析部２０７は、ハードウェアとして実装しても良いが、ソフトウェアとして実装しても良く、その場合、このソフトウェアは、記憶部２０２（ハードディスクドライブ装置）内に格納されることになる。
【００２５】
上記の構成において、装置１１１側でウィンドウ１１２を共有ウィンドウとして指定した場合、表示画像取得部２０６は、モニタ２９０の表示画面においてウィンドウ１１２の表示領域を特定する。ウィンドウ１１２の表示領域（左上隅及び右下隅の位置など）はＯＳが管理しているので、ＯＳに問い合わせれば、この表示領域は特定可能である。そして表示画像取得部２０６は、表示部２０３のビデオメモリ内に格納されている「モニタ２９０の一画面分の画像データ」から、特定した表示領域内の画像データを取得する。そして制御部２０１は、装置１２１が有する表示画面内の規定領域１２３にこの画像データに従った画像１２２（共有画像）を表示させる為の指示を、ネットワークＩ／Ｆ部２０５に送出する。なお、この指示には、共有画像のデータも含まれている。これにより、ネットワークＩ／Ｆ部２０５は、この指示をネットワーク１０１を介して装置１２１に対して送信する。なお、制御部２０１は、共有画像を圧縮符号化してから指示に含めてネットワークＩ／Ｆ部２０５に送出しても良い。
【００２６】
装置１２１は、装置１１１からネットワーク１０１を介して送信された指示を受け取ると、この指示内に含まれている領域設定指示に従って、自身の表示画面上に規定領域１２３を設定する。そして装置１２１は、この設定した規定領域１２３内に、この指示に含まれている画像データに従った画像１２２、即ちウィンドウ１１２の画像１２２を表示する。これにより、装置１１１の表示画面に表示されているウィンドウ１１２は、装置１２１の表示画面上にも表示され、装置１２１のユーザは、この表示されているウィンドウ１１２の画像を確認したり、遠隔操作のための操作を行うことができる。
【００２７】
この状態において、装置１１１のユーザがキーボードやポインティングデバイスを用いて新たなウィンドウをモニタ２９０の表示画面上に表示させるための指示を入力したとする。このとき装置１１１及び装置１２１は以下のように動作する。この動作を、図３を用いて説明する。
【００２８】
図１の状態において、装置１１１のユーザがキーボードやポインティングデバイスを用いて、既に装置１２１と共有しているウィンドウ１１２とは別個の新規ウィンドウ３０１をモニタ２９０の表示画面上に表示させるための指示を入力したとする。この場合、制御部２０１は、図３に示す如く、モニタ２９０の表示画面上の規定位置に、新規ウィンドウ３０１を表示する。ここで、新規ウィンドウ３０１は、ウィンドウ１１２の子ウィンドウであるとする。例えば、装置１１１のユーザがキーボードやポインティングデバイスを用いてウィンドウ１１２内のボタンなどを指示することで開いたウィンドウが新規ウィンドウ３０１である。
【００２９】
新規ウィンドウ３０１が表示された時点では、この新規ウィンドウ３０１は装置１２１との共有が指定されていないため、新規ウィンドウ３０１の画像は装置１２１の表示画面には表示しない。ここで、図３では、ウィンドウ１１２の表示領域の一部が新規ウィンドウ３０１の表示領域と重なっている。この場合、表示画像取得部２０６は、表示部２０３のビデオメモリ内に格納されている「モニタ２９０の一画面分の画像データ」から、ウィンドウ１１２の表示領域内の画像データを取得する。そして表示画像取得部２０６は、取得した画像データにおいて、新規ウィンドウ３０１と重なっている領域に相当するデータを、規定の画素値のデータに置き換える。そして制御部２０１は、ウィンドウ１１２の表示領域内の画像データにおいて、新規ウィンドウ３０１と重なっている領域に相当するデータを規定の画素値のデータに置き換えたものを、装置１２１の表示画面に表示させるための指示を装置１２１に送信する。
【００３０】
これにより装置１２１の表示画面内に設けた規定領域１２３には、図３に示す如く、新規ウィンドウ３０１と重なっている部分が規定の画素値を有する画素で埋められたウィンドウ１１２の画像１２２が表示されることになる。
【００３１】
次に制御部２０１は、ウィンドウ１１２と新規ウィンドウ３０１との関係を判断する。ウィンドウ間の関係には、親子関係（親子関係判断）やどちらのウィンドウが手前に表示されているのか（奥行き関係）、新規ウィンドウ３０１の表示領域がウィンドウ１１２の表示領域からはみ出しているのか否か、等の情報が含まれている。なお、ウィンドウ間の関係についてもＯＳが管理しているので、ＯＳに問い合わせることで、この関係を判断することができる。図３の例では、新規ウィンドウ３０１はウィンドウ１１２の子ウィンドウであり、新規ウィンドウ３０１はウィンドウ１１２よりも手前に表示されており、新規ウィンドウ３０１の表示領域はウィンドウ１１２の表示領域からはみ出している、ことが分かる。
【００３２】
そして制御部２０１は、新規ウィンドウ３０１がウィンドウ１１２の子ウィンドウであると判断すれば、装置１２１の表示画面上に、新規ウィンドウ３０１の画像を表示するための領域（規定領域１２３とは重ならない別個の領域）を設定させる。そして制御部２０１は、この設定した領域内に、新規ウィンドウ３０１の画像を表示させるための指示を装置１２１に送信する。これにより装置１２１の表示画面上には、図４に示す如く、規定領域１２３とは重なりのない別個の領域４０１が設けられると共に、この領域４０１内には新規ウィンドウ３０１の画像が表示されることになる。また、規定領域１２３内には、ウィンドウ１１２の画像１２２が表示されているが、新規ウィンドウ３０１と重なっている領域（図４ではグレーで示している領域）は規定の画素値を有する画素で埋められている。
【００３３】
次に制御部２０１は、モニタ２９０の表示画面上において新規ウィンドウ３０１の表示領域はウィンドウ１１２の表示領域からはみ出している、と判断したとする。この場合、制御部２０１は、領域４０１と規定領域１２３との位置関係が、モニタ２９０の表示画面上における新規ウィンドウ３０１の表示領域とウィンドウ１１２の表示領域との位置関係となるように、領域４０１の位置を決定する。更に制御部２０１は、領域４０１と規定領域１２３との奥行き関係が、モニタ２９０の表示画面上における新規ウィンドウ３０１とウィンドウ１１２との奥行き関係となるように、領域４０１の奥行きを決定する。
【００３４】
そして制御部２０１は、この決定した領域４０１の位置及び奥行きを装置１２１に指示する。この結果、図５に示す如く、規定領域１２３と領域４０１との位置関係は、モニタ２９０の表示画面上におけるウィンドウ１１２の表示領域と新規ウィンドウ３０１の表示領域との位置関係と同じになっている。更に、モニタ２９０の表示画面上では新規ウィンドウ３０１がウィンドウ１１２よりも手前に表示されていることから、領域４０１を規定領域１２３よりも手前に設定している。そのため、装置１２１の表示画面上でも、モニタ２９０の表示画面上と同様、新規ウィンドウ３０１の画像がウィンドウ１１２の画像１２２よりも手前に表示されている。結果として、ウィンドウ１１２及び新規ウィンドウ３０１に限って言えば、モニタ２９０の表示画面と装置１２１の表示画面とは同じになっている。
【００３５】
以上説明した、装置１１１が行う処理について、同処理のフローチャートを示す図６を用いて説明する。図６のフローチャートに従った処理を制御部２０１に実行させるためのコンピュータプログラムやデータは、上記のハードディスクドライブ装置に保存されている。上記の通り、このコンピュータプログラムやデータは制御部２０１による制御に従って適宜ＲＡＭにロードされるので、制御部２０１はこのロードされたコンピュータプログラムやデータを用いて処理を実行する。これにより、図６のフローチャートに従った処理を実現する。
【００３６】
ステップＳ６０１では制御部２０１は、モニタ２９０の表示画面上に新たにウィンドウが表示されたか否かを監視する。そしてモニタ２９０の表示画面上に新たに新規のウィンドウが表示された場合（新規のウィンドウを開く指示が制御部２０１に入力された場合）には、処理はステップＳ６０２を介してステップＳ６０３に進む。
【００３７】
ステップＳ６０３では制御部２０１は、装置１２１と共有しているウィンドウ（共有ウィンドウ）と新規のウィンドウとの関係を、ＯＳから取得する。上記の通り、この取得する関係には、ウィンドウ間の親子関係、どちらのウィンドウが手前に表示されているのか、新規のウィンドウの表示領域が共有ウィンドウの表示領域からはみ出しているのか否か、等の情報が含まれている。
【００３８】
ステップＳ６０４では制御部２０１は、この取得した関係を参照して、新規のウィンドウが共有ウィンドウの子ウィンドウであるか否かを判断し、子ウィンドウであると判断した場合には、処理はステップＳ６０５に進む。
【００３９】
ステップＳ６０５では制御部２０１は、この取得した関係を参照して、新規のウィンドウの表示領域が共有ウィンドウの表示領域からはみ出しているか否かを判断する。そして、はみ出していると判断した場合、処理はステップＳ６０６に進む。一方、はみ出していないと判断した場合には、処理はステップＳ６０９に進む。
【００４０】
ステップＳ６０９で制御部２０１は、表示画像取得部２０６に共有ウィンドウの表示領域内の画像を取得させる。そして制御部２０１は、この取得した画像を装置１２１が有する表示画面内の規定領域に表示させる為の指示を、ネットワークＩ／Ｆ部２０５を介して装置１２１に送信する。
【００４１】
一方、ステップＳ６０６では制御部２０１は、表示画像取得部２０６に新規のウィンドウの表示領域内の画像を取得させる。そして制御部２０１は、装置１２１の表示画面上に、新規のウィンドウの画像を表示するための領域（設定領域）を設定させ、この設定した領域内に新規のウィンドウの画像を表示させるための指示を装置１２１に送信する。
【００４２】
次に、ステップＳ６０７では制御部２０１は、上記の通り、新規のウィンドウの画像を表示するためにステップＳ６０６で設定させた領域の位置及び奥行きを決定する。そしてステップＳ６０８では制御部２０１は、この決定した位置及び奥行きを装置１２１に指示する。
【００４３】
なお、上記の説明では、新規のウィンドウの表示領域が共有ウィンドウの表示領域からはみ出しているか否かでステップＳ６０５で処理は分岐しているが、新規のウィンドウ全体が共有ウィンドウに重なっていないか否かで分岐させても良い。
【００４４】
また、ステップＳ６０６〜Ｓ６０８の一連の処理はこの順番で行うことに限定するものではなく、共有開始時に表示位置を同時に指定するなどしても構わない。表示の指定も座標に限る必要はなく、Ｚオーダやウィンドウのサイズなど、他の制御情報を指示しても構わない。
【００４５】
また、本実施形態では、一旦新規のウィンドウの表示領域を設定した後でこの表示領域を移動させたり、奥行きを変更したりしているが、最初から表示領域の位置及び奥行きを決定し、決定した位置及び奥行きでもって表示領域を設定しても良い。
【００４６】
以上の説明により、本実施形態によれば、画面共有サーバ装置と画面共有クライアント装置との間で同じレイアウトでウィンドウ群を表示することができる。
【００４７】
［第２の実施形態］
画面共有クライアント装置側で既にウィンドウを開いていた結果、画面共有クライアント装置側の表示画面上に、画面共有サーバ装置側で新規に開いたウィンドウの画像を表示するための領域を設けることができない場合がある。本実施形態では、このように、画面共有クライアント装置側の表示状態に応じた表示制御技術を説明する。なお、システムの構成については第１の実施形態と同じであるものとする。
【００４８】
ここで、図７に示す如く、モニタ２９０の表示画面には装置１２１と共有しているウィンドウ７１１が表示されており、装置１２１の表示画面の表示領域７２１にはこのウィンドウ７１１の画像が表示されている。更に装置１２１の表示画面において表示領域７２１以外の領域には、どのウィンドウよりも手前に表示されるように設定されたウィンドウ７２２が表示されている。
【００４９】
ここで、図８に示す如く、ウィンドウ７１１の子ウィンドウ８０１がモニタ２９０の表示画面上に表示されたとする。このとき本実施形態では、制御部２０１は、装置１２１の表示画面上にこの子ウィンドウ８０１の画像を表示するための空き領域があるか否かを判断する。これは、装置１２１の表示画面上に子ウィンドウ８０１のサイズと同じサイズの空き領域が存在するか否かを判断すればよい。もちろん、この判断は装置１２１側に行わせても良い。
【００５０】
そしてこの判断の結果、空き領域が存在すれば、第１の実施形態と同様にして、子ウィンドウ８０１の画像を装置１２１の表示画面上に表示する。一方、空き領域が存在しなければ、制御部２０１は、ウィンドウ７１１の表示領域内の画像を表示領域７２１に表示させるよう、装置１２１に指示する。
【００５１】
図９に示す如く、装置１２１の表示画面上において子ウィンドウ８０１と同位置の領域９０１には既にウィンドウ７２２が表示されている。そのため、このような場合には、制御部２０１は、空き領域が存在しないと判断し、ウィンドウ７１１の表示領域内の画像を表示領域７２１内に表示させるよう、装置１２１に指示する。然るにこの場合、表示領域７２１内には子ウィンドウ８０１は表示されていない。
【００５２】
次にこの状態で、装置１１１側で子ウィンドウ８０１を移動させ、図１０に示す如く、子ウィンドウ８０１の一部がウィンドウ７１１に重なったとする。この場合、制御部２０１は、ウィンドウ７１１の表示領域内の画像を表示領域７２１内に表示させるよう、装置１２１に指示する。この場合、ウィンドウ７１１の表示領域内には子ウィンドウ８０１の一部が含まれているため、表示領域７２１内には、ウィンドウ７１１の画像だけでなくウィンドウ７１１と重なっている子ウィンドウ８０１の一部が表示されている。これにより、装置１２１のユーザは子ウィンドウ８０１を遠隔操作可能となる。
【００５３】
以上説明した、装置１１１が行う処理について、同処理のフローチャートを示す図１１を用いて説明する。図１１のフローチャートに従った処理を制御部２０１に実行させるためのコンピュータプログラムやデータは、上記のハードディスクドライブ装置に保存されている。上記の通り、このコンピュータプログラムやデータは制御部２０１による制御に従って適宜ＲＡＭにロードされるので、制御部２０１はこのロードされたコンピュータプログラムやデータを用いて処理を実行する。これにより、図１１のフローチャートに従った処理を実現する。なお、図１１において図６に示したステップと同じステップには同じ参照番号を付しており、その説明は省略する。
【００５４】
ステップＳ１１０５では制御部２０１は、装置１２１に問い合わせ、装置１２１の表示画面上に新規のウィンドウの画像を表示するための空き領域（新規表示領域）があるか否かを判断させ、その判断結果をこの装置１２１から取得する。
【００５５】
そしてこの判断の結果、空き領域が存在すれば、処理はステップＳ１１０６を介してステップＳ１１０９に進み、空き領域が存在しなければ、処理はステップＳ１１０６を介してステップＳ１１０７に進む。
【００５６】
ステップＳ１１０９では制御部２０１は、第１の実施形態と同様にして、新規のウィンドウの画像を装置１２１の表示画面上に表示させる。ステップＳ１１０７では制御部２０１は、上記の取得した関係を参照して、新規のウィンドウの表示領域が共有ウィンドウの表示領域からはみ出しているか否かを判断する。そして、はみ出していると判断した場合には、処理はステップＳ１１０８に進み、はみ出していないと判断した場合には、処理はステップＳ１１１０に進む。
【００５７】
ステップＳ１１１０では制御部２０１は、表示画像取得部２０６に共有ウィンドウの表示領域内の画像を取得させる。そして制御部２０１は、この取得した画像を装置１２１が有する表示画面内の規定領域に表示させる為の指示を、ネットワークＩ／Ｆ部２０５を介して装置１２１に送信する。
【００５８】
ステップＳ１１０８では制御部２０１は、表示画像取得部２０６に共有ウィンドウの表示領域内の画像、新規のウィンドウの表示領域内の画像、を取得させる。そして制御部２０１は、新規のウィンドウの表示領域内の画像を共有ウィンドウの表示領域内の画像上に合成した画像を生成する。そしてその後ステップＳ１１１０では制御部２０１は、この生成した画像を装置１２１が有する表示画面内の規定領域に表示させる為の指示を、ネットワークＩ／Ｆ部２０５を介して装置１２１に送信する。
【００５９】
なお、上記の説明では、空き領域が存在するか否かに応じて、装置１２１側に送信する指示を切り替えているが、その判断基準は装置１２１側の別の情報でも良く、装置１１１側の情報を利用しても構わない。また、ステップＳ１１０７では、新規ウィンドウのメニューバーが共有ウィンドウと重なっているかどうかなど、他の判断基準を用いても良い。
【００６０】
更に、ステップＳ１１０８では、図１２に示す如く、ウィンドウ７１１及び子ウィンドウ８０１を包含する領域内の画像を表示領域７２１内に収まるように縮小し、この縮小により得られる画像を表示領域７２１内に表示させても良い。
【００６１】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2012133488.tif 000003
【図２】
2012133488.tif 000004
【図３】
2012133488.tif 000005
【図４】
2012133488.tif 000006
【図５】
2012133488.tif 000007
【図６】
2012133488.tif 000008
【図７】
2012133488.tif 000009
【図８】
2012133488.tif 000010
【図９】
2012133488.tif 000011
【図１０】
2012133488.tif 000012
【図１１】
2012133488.tif 000013
【図１２】
2012133488.tif 000014