画像処理装置、画像処理方法
【課題】ウィンドウ間の関係を反映した画面共有を行う為の技術を提供する。
【解決手段】装置121は、新規のウィンドウ301が着目ウィンドウ112の子であり、新規のウィンドウの表示領域が着目ウィンドウの表示領域よりはみ出している場合、新規のウィンドウを表示する為の設定領域401を決定する。そして装置121は、設定領域を装置121の表示画面上に設けさせると共に、設けさせた設定領域ないに新規のウィンドウ301の画像を表示させる為の指示を装置121に対して送信する。
【解決手段】装置121は、新規のウィンドウ301が着目ウィンドウ112の子であり、新規のウィンドウの表示領域が着目ウィンドウの表示領域よりはみ出している場合、新規のウィンドウを表示する為の設定領域401を決定する。そして装置121は、設定領域を装置121の表示画面上に設けさせると共に、設けさせた設定領域ないに新規のウィンドウ301の画像を表示させる為の指示を装置121に対して送信する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画面共有技術に関するものである。
【背景技術】
【0002】
近年におけるネットワークの発展に伴い、コンピュータシステムを利用した画面共有装置の利用範囲が広がっている。この画面共有装置の一つの形態に、以下の2つの機能の組み合わせからなるシステムがある。
【0003】
1つは、画面共有サーバ装置の画面表示内容を画面共有クライアント装置へ送信して表示させる機能である。この表示機能により、画面共有クライアント装置のユーザは、画面共有サーバ装置の現在の表示状態を確認することができるようになる。
【0004】
もう1つは、画面共有クライアント装置側の受信画像表示領域に対するマウス・キーボードの操作内容を画面共有サーバ装置へ送信し、画面共有サーバ装置側で同様の操作を再現する機能である。この操作機能により、画面共有クライアント装置のユーザが画面共有サーバ装置を遠隔操作することができるようになる。
【0005】
画面表示内容の生成方法として最も一般的なのは、画面共有サーバのディスプレイ表示用バッファ、若しくはそれと同等のメモリ全体から、表示画像を取得する方式である。また、特定の情報のみ共有するためにアプリケーション単位で共有を行う画面共有装置(特許文献1)や、ウィンドウ単位で共有を行う画面共有装置(例えば特許文献2)も提案されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2005−352795号公報
【特許文献2】特表2007−509408号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1では、送信側の表示レイアウトのままアプリケーションを構成するウィンドウの画像を送るため、受信側の都合によりウィンドウの表示位置を変更することができない。
【0008】
一方、特許文献2では、ウィンドウ単位での共有を行うことは述べられているが、1つのアプリケーションを構成する複数のウィンドウ間など、関連のあるウィンドウ間で連携を取る仕組みまでは提供できていない。このような状況では、受信側のユーザは複数のウィンドウから構成されるアプリケーション、特に動的に子ウィンドウを生成するアプリケーションを送信側のユーザと同じ感覚で利用することができない。
【0009】
本発明は以上の問題を解決するためになされたものであり、ウィンドウ間の関係を反映した画面共有を行う為の技術を提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を有する。即ち、表示画面を有する画像処理装置であって、前記表示画面に表示している着目ウィンドウの表示領域を特定し、該特定した表示領域内の画像を、外部装置が有する表示画面である外部表示画面内の規定領域に表示させる為の指示を該外部装置に対して送信する手段と、前記着目ウィンドウとは別個の新規のウィンドウが前記表示画面に表示された場合には、該新規のウィンドウと前記着目ウィンドウとの親子関係を判断する手段と、前記新規のウィンドウが前記着目ウィンドウの子であると判断された場合には、前記表示画面上における前記新規のウィンドウの表示領域が該表示画面上における前記着目ウィンドウの表示領域よりはみ出しているか否かを判断する判断手段と、はみ出していると前記判断手段が判断した場合には、前記表示画面上に表示した前記新規のウィンドウの表示領域内の画像を表示するために前記外部表示画面上に設定する設定領域を、該設定領域と前記規定領域との位置関係が、前記表示画面上の前記新規のウィンドウの表示領域と該表示画面上の前記着目ウィンドウの表示領域との位置関係となるように決定する決定手段と、前記決定手段が決定した設定領域を前記外部表示画面上に設けさせると共に、該設けさせた設定領域ないに前記表示画面上に表示した前記新規のウィンドウの表示領域内の画像を表示させる為の指示を前記外部装置に対して送信する送信手段とを備えることを特徴とする。
【発明の効果】
【0011】
本発明の構成によれば、ウィンドウ間の関係を反映した画面共有を行うことができる。
【図面の簡単な説明】
【0012】
【図1】システムの構成例を示すブロック図。
【図2】装置121のハードウェア構成例を示すブロック図。
【図3】装置111及び装置121の動作を説明する図。
【図4】装置111及び装置121の動作を説明する図。
【図5】装置111及び装置121の動作を説明する図。
【図6】装置111が行う処理のフローチャート。
【図7】装置111及び装置121の動作を説明する図。
【図8】装置111及び装置121の動作を説明する図。
【図9】装置111及び装置121の動作を説明する図。
【図10】装置111及び装置121の動作を説明する図。
【図11】装置111が行う処理のフローチャート。
【図12】装置111及び装置121の動作を説明する図。
【発明を実施するための形態】
【0013】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の1つである。
【0014】
[第1の実施形態]
先ず、画像処理装置間で画面を共有する、本実施形態に係るシステムの構成例について、図1のブロック図を用いて説明する。図1に示す如く、本実施形態に係るシステムは、画面共有サーバ装置として機能する画像処理装置(以下、単に装置と呼称)111と、画面共有クライアント装置として機能する画像処理装置(以下、単に装置と呼称)121と、で構成されている。そして、それぞれの装置はネットワーク101を介して互いにデータ通信が可能である。
【0015】
装置111は、複数のアプリケーションを並行して実行することが可能であり、それぞれのアプリケーションが提供するウィンドウを表示するための表示画面を有する。図1では、ウィンドウ112及び113が表示画面上に表示されている。装置111は、この表示しているウィンドウのうち1以上を装置121(外部装置)と共有することができ、例えば図1に示す如くウィンドウ112(着目ウィンドウ)を共有する場合、装置111は先ず、このウィンドウ112の表示領域を特定する。そして、この特定した領域内の画像122を装置121が有する表示画面内(外部表示画面上)の規定領域123に表示させる為の指示を装置121に対して送信する(指示送信)。装置121は、装置111から送信されたこの指示を受け、この指示に従って、画像122を規定領域123内に表示する。
【0016】
なお、装置121の表示画面にはこの規定領域123を複数個設定することもでき、この場合、それぞれの規定領域123の設定位置や個数は、装置111側で操作することができる。
【0017】
なお、本実施形態では説明を簡単にするために、1台の画面共有サーバ装置と1台の画面共有クライアント装置とで構成されたシステムを例にとって説明するが、それぞれの装置の個数は1台に限るものではなく、複数台でも良い。例えば、1台の画面共有サーバ装置に複数台の画面共有クライアント装置を接続したシステムであっても良いし、複数台の画面共有サーバ装置に1台の画面共有クライアント装置を接続したシステムであっても良い。何れの構成であっても、画面共有サーバ装置と画面共有クライアント装置とが1対1で行う処理は、それぞれの個数が如何なる数であったとしても同様であるため、以下に説明する動作は、如何なる構成にも適用可能である。また、画面共有サーバ装置と画面共有クライアント装置とを1つの装置内に納めても良い。
【0018】
装置111のハードウェア構成例について、図2のブロック図を用いて説明する。なお、図2に示した構成は、装置111に適用可能な装置の構成の一例であって、装置111が行うものとして説明する後述の各処理を実行可能な構成であれば、装置111に適用可能な装置の構成は、図2に示した構成に限るものではない。図2に示した構成を有する装置には、例えば、一般のPC(パーソナルコンピュータ)等が適用可能である。
【0019】
制御部201は、CPU等のプロセッサにより構成されており、記憶部202に格納されているコンピュータプログラムやデータを用いて装置111全体の動作制御を行うと共に、装置111が行うものとして後述する各処理を実行する。
【0020】
記憶部202は、RAMやROM、ハードディスクドライブ装置など、コンピュータプログラムやデータなどの情報を記憶するためのメモリ群により構成されている。ROMにはブートプログラムやBIOSが格納されている。ハードディスクドライブ装置には、OS(オペレーティングシステム)や、装置111が行うものとして後述する各処理を制御部201に実行させるためのコンピュータプログラムやデータが保存されている。ハードディスクドライブ装置に保存されているコンピュータプログラムやデータは、制御部201による制御に従って適宜RAMにロードされ、制御部201による処理対象となる。RAMには、制御部201が各種の処理を実行する際に用いるワークエリアや、ハードディスクドライブ装置からロードされたコンピュータプログラムやデータを記憶するためのエリアを有する。即ちRAMは、各種のエリアを適宜提供することができる。
【0021】
表示部203は、ビデオメモリを内蔵しており、制御部201の制御の下で、モニタ290に表示する一画面分の画像を生成してビデオメモリに格納する。そしてこのビデオメモリに格納した一画面分の画像からビデオ信号を生成し、生成したビデオ信号をモニタ290に送出する。モニタ290は、CRTや液晶画面などにより構成されており、このビデオ信号に基づく表示画面を表示する。
【0022】
入力部204は、キーボードやマウスなどのポインティングデバイスからの操作指示を受け付け、受け付けた操作指示を制御部201に通知する。ネットワークI/F部205は、装置111を上記のネットワーク101に接続する為のものであり、例えば、周知のネットワークカードである。装置111はこのネットワークI/F部205を介してネットワーク101に接続されている装置121とのデータ通信を行うことになる。なお、ネットワーク101は無線であっても良いし、有線であっても良い。また、その種類も特別な種類に限るものではない。
【0023】
表示画像取得部206はモニタ290に表示されているウィンドウのうち、装置121と共有するものとして指定されたウィンドウの表示領域を特定し、特定した領域内の画像(共有画像)を抽出する。そして制御部201は、装置121が有する表示画面である外部表示画面内の規定領域にこの共有画像を表示させる為の指示を、ネットワークI/F部205に送出する。なお、この指示には、共有画像のデータも含まれている。そしてこの指示は、ネットワークI/F部205によりネットワーク101を介して装置121に転送される。
【0024】
遠隔操作命令解析部207は、装置121からネットワーク101を介して送信され、ネットワークI/F部205が受信した遠隔操作命令を受け取り、受け取った遠隔操作命令を、入力部204が解釈可能な命令に変換する。そして遠隔操作命令解析部207は、この変換した命令を入力部204に送出し、ローカルの操作と区別なく実行するよう指示を出す。なお、図2では、表示画像取得部206と遠隔操作命令解析部207とは別個の要素として示しているが、制御部201の一部としても良い。また、表示画像取得部206と遠隔操作命令解析部207は、ハードウェアとして実装しても良いが、ソフトウェアとして実装しても良く、その場合、このソフトウェアは、記憶部202(ハードディスクドライブ装置)内に格納されることになる。
【0025】
上記の構成において、装置111側でウィンドウ112を共有ウィンドウとして指定した場合、表示画像取得部206は、モニタ290の表示画面においてウィンドウ112の表示領域を特定する。ウィンドウ112の表示領域(左上隅及び右下隅の位置など)はOSが管理しているので、OSに問い合わせれば、この表示領域は特定可能である。そして表示画像取得部206は、表示部203のビデオメモリ内に格納されている「モニタ290の一画面分の画像データ」から、特定した表示領域内の画像データを取得する。そして制御部201は、装置121が有する表示画面内の規定領域123にこの画像データに従った画像122(共有画像)を表示させる為の指示を、ネットワークI/F部205に送出する。なお、この指示には、共有画像のデータも含まれている。これにより、ネットワークI/F部205は、この指示をネットワーク101を介して装置121に対して送信する。なお、制御部201は、共有画像を圧縮符号化してから指示に含めてネットワークI/F部205に送出しても良い。
【0026】
装置121は、装置111からネットワーク101を介して送信された指示を受け取ると、この指示内に含まれている領域設定指示に従って、自身の表示画面上に規定領域123を設定する。そして装置121は、この設定した規定領域123内に、この指示に含まれている画像データに従った画像122、即ちウィンドウ112の画像122を表示する。これにより、装置111の表示画面に表示されているウィンドウ112は、装置121の表示画面上にも表示され、装置121のユーザは、この表示されているウィンドウ112の画像を確認したり、遠隔操作のための操作を行うことができる。
【0027】
この状態において、装置111のユーザがキーボードやポインティングデバイスを用いて新たなウィンドウをモニタ290の表示画面上に表示させるための指示を入力したとする。このとき装置111及び装置121は以下のように動作する。この動作を、図3を用いて説明する。
【0028】
図1の状態において、装置111のユーザがキーボードやポインティングデバイスを用いて、既に装置121と共有しているウィンドウ112とは別個の新規ウィンドウ301をモニタ290の表示画面上に表示させるための指示を入力したとする。この場合、制御部201は、図3に示す如く、モニタ290の表示画面上の規定位置に、新規ウィンドウ301を表示する。ここで、新規ウィンドウ301は、ウィンドウ112の子ウィンドウであるとする。例えば、装置111のユーザがキーボードやポインティングデバイスを用いてウィンドウ112内のボタンなどを指示することで開いたウィンドウが新規ウィンドウ301である。
【0029】
新規ウィンドウ301が表示された時点では、この新規ウィンドウ301は装置121との共有が指定されていないため、新規ウィンドウ301の画像は装置121の表示画面には表示しない。ここで、図3では、ウィンドウ112の表示領域の一部が新規ウィンドウ301の表示領域と重なっている。この場合、表示画像取得部206は、表示部203のビデオメモリ内に格納されている「モニタ290の一画面分の画像データ」から、ウィンドウ112の表示領域内の画像データを取得する。そして表示画像取得部206は、取得した画像データにおいて、新規ウィンドウ301と重なっている領域に相当するデータを、規定の画素値のデータに置き換える。そして制御部201は、ウィンドウ112の表示領域内の画像データにおいて、新規ウィンドウ301と重なっている領域に相当するデータを規定の画素値のデータに置き換えたものを、装置121の表示画面に表示させるための指示を装置121に送信する。
【0030】
これにより装置121の表示画面内に設けた規定領域123には、図3に示す如く、新規ウィンドウ301と重なっている部分が規定の画素値を有する画素で埋められたウィンドウ112の画像122が表示されることになる。
【0031】
次に制御部201は、ウィンドウ112と新規ウィンドウ301との関係を判断する。ウィンドウ間の関係には、親子関係(親子関係判断)やどちらのウィンドウが手前に表示されているのか(奥行き関係)、新規ウィンドウ301の表示領域がウィンドウ112の表示領域からはみ出しているのか否か、等の情報が含まれている。なお、ウィンドウ間の関係についてもOSが管理しているので、OSに問い合わせることで、この関係を判断することができる。図3の例では、新規ウィンドウ301はウィンドウ112の子ウィンドウであり、新規ウィンドウ301はウィンドウ112よりも手前に表示されており、新規ウィンドウ301の表示領域はウィンドウ112の表示領域からはみ出している、ことが分かる。
【0032】
そして制御部201は、新規ウィンドウ301がウィンドウ112の子ウィンドウであると判断すれば、装置121の表示画面上に、新規ウィンドウ301の画像を表示するための領域(規定領域123とは重ならない別個の領域)を設定させる。そして制御部201は、この設定した領域内に、新規ウィンドウ301の画像を表示させるための指示を装置121に送信する。これにより装置121の表示画面上には、図4に示す如く、規定領域123とは重なりのない別個の領域401が設けられると共に、この領域401内には新規ウィンドウ301の画像が表示されることになる。また、規定領域123内には、ウィンドウ112の画像122が表示されているが、新規ウィンドウ301と重なっている領域(図4ではグレーで示している領域)は規定の画素値を有する画素で埋められている。
【0033】
次に制御部201は、モニタ290の表示画面上において新規ウィンドウ301の表示領域はウィンドウ112の表示領域からはみ出している、と判断したとする。この場合、制御部201は、領域401と規定領域123との位置関係が、モニタ290の表示画面上における新規ウィンドウ301の表示領域とウィンドウ112の表示領域との位置関係となるように、領域401の位置を決定する。更に制御部201は、領域401と規定領域123との奥行き関係が、モニタ290の表示画面上における新規ウィンドウ301とウィンドウ112との奥行き関係となるように、領域401の奥行きを決定する。
【0034】
そして制御部201は、この決定した領域401の位置及び奥行きを装置121に指示する。この結果、図5に示す如く、規定領域123と領域401との位置関係は、モニタ290の表示画面上におけるウィンドウ112の表示領域と新規ウィンドウ301の表示領域との位置関係と同じになっている。更に、モニタ290の表示画面上では新規ウィンドウ301がウィンドウ112よりも手前に表示されていることから、領域401を規定領域123よりも手前に設定している。そのため、装置121の表示画面上でも、モニタ290の表示画面上と同様、新規ウィンドウ301の画像がウィンドウ112の画像122よりも手前に表示されている。結果として、ウィンドウ112及び新規ウィンドウ301に限って言えば、モニタ290の表示画面と装置121の表示画面とは同じになっている。
【0035】
以上説明した、装置111が行う処理について、同処理のフローチャートを示す図6を用いて説明する。図6のフローチャートに従った処理を制御部201に実行させるためのコンピュータプログラムやデータは、上記のハードディスクドライブ装置に保存されている。上記の通り、このコンピュータプログラムやデータは制御部201による制御に従って適宜RAMにロードされるので、制御部201はこのロードされたコンピュータプログラムやデータを用いて処理を実行する。これにより、図6のフローチャートに従った処理を実現する。
【0036】
ステップS601では制御部201は、モニタ290の表示画面上に新たにウィンドウが表示されたか否かを監視する。そしてモニタ290の表示画面上に新たに新規のウィンドウが表示された場合(新規のウィンドウを開く指示が制御部201に入力された場合)には、処理はステップS602を介してステップS603に進む。
【0037】
ステップS603では制御部201は、装置121と共有しているウィンドウ(共有ウィンドウ)と新規のウィンドウとの関係を、OSから取得する。上記の通り、この取得する関係には、ウィンドウ間の親子関係、どちらのウィンドウが手前に表示されているのか、新規のウィンドウの表示領域が共有ウィンドウの表示領域からはみ出しているのか否か、等の情報が含まれている。
【0038】
ステップS604では制御部201は、この取得した関係を参照して、新規のウィンドウが共有ウィンドウの子ウィンドウであるか否かを判断し、子ウィンドウであると判断した場合には、処理はステップS605に進む。
【0039】
ステップS605では制御部201は、この取得した関係を参照して、新規のウィンドウの表示領域が共有ウィンドウの表示領域からはみ出しているか否かを判断する。そして、はみ出していると判断した場合、処理はステップS606に進む。一方、はみ出していないと判断した場合には、処理はステップS609に進む。
【0040】
ステップS609で制御部201は、表示画像取得部206に共有ウィンドウの表示領域内の画像を取得させる。そして制御部201は、この取得した画像を装置121が有する表示画面内の規定領域に表示させる為の指示を、ネットワークI/F部205を介して装置121に送信する。
【0041】
一方、ステップS606では制御部201は、表示画像取得部206に新規のウィンドウの表示領域内の画像を取得させる。そして制御部201は、装置121の表示画面上に、新規のウィンドウの画像を表示するための領域(設定領域)を設定させ、この設定した領域内に新規のウィンドウの画像を表示させるための指示を装置121に送信する。
【0042】
次に、ステップS607では制御部201は、上記の通り、新規のウィンドウの画像を表示するためにステップS606で設定させた領域の位置及び奥行きを決定する。そしてステップS608では制御部201は、この決定した位置及び奥行きを装置121に指示する。
【0043】
なお、上記の説明では、新規のウィンドウの表示領域が共有ウィンドウの表示領域からはみ出しているか否かでステップS605で処理は分岐しているが、新規のウィンドウ全体が共有ウィンドウに重なっていないか否かで分岐させても良い。
【0044】
また、ステップS606〜S608の一連の処理はこの順番で行うことに限定するものではなく、共有開始時に表示位置を同時に指定するなどしても構わない。表示の指定も座標に限る必要はなく、Zオーダやウィンドウのサイズなど、他の制御情報を指示しても構わない。
【0045】
また、本実施形態では、一旦新規のウィンドウの表示領域を設定した後でこの表示領域を移動させたり、奥行きを変更したりしているが、最初から表示領域の位置及び奥行きを決定し、決定した位置及び奥行きでもって表示領域を設定しても良い。
【0046】
以上の説明により、本実施形態によれば、画面共有サーバ装置と画面共有クライアント装置との間で同じレイアウトでウィンドウ群を表示することができる。
【0047】
[第2の実施形態]
画面共有クライアント装置側で既にウィンドウを開いていた結果、画面共有クライアント装置側の表示画面上に、画面共有サーバ装置側で新規に開いたウィンドウの画像を表示するための領域を設けることができない場合がある。本実施形態では、このように、画面共有クライアント装置側の表示状態に応じた表示制御技術を説明する。なお、システムの構成については第1の実施形態と同じであるものとする。
【0048】
ここで、図7に示す如く、モニタ290の表示画面には装置121と共有しているウィンドウ711が表示されており、装置121の表示画面の表示領域721にはこのウィンドウ711の画像が表示されている。更に装置121の表示画面において表示領域721以外の領域には、どのウィンドウよりも手前に表示されるように設定されたウィンドウ722が表示されている。
【0049】
ここで、図8に示す如く、ウィンドウ711の子ウィンドウ801がモニタ290の表示画面上に表示されたとする。このとき本実施形態では、制御部201は、装置121の表示画面上にこの子ウィンドウ801の画像を表示するための空き領域があるか否かを判断する。これは、装置121の表示画面上に子ウィンドウ801のサイズと同じサイズの空き領域が存在するか否かを判断すればよい。もちろん、この判断は装置121側に行わせても良い。
【0050】
そしてこの判断の結果、空き領域が存在すれば、第1の実施形態と同様にして、子ウィンドウ801の画像を装置121の表示画面上に表示する。一方、空き領域が存在しなければ、制御部201は、ウィンドウ711の表示領域内の画像を表示領域721に表示させるよう、装置121に指示する。
【0051】
図9に示す如く、装置121の表示画面上において子ウィンドウ801と同位置の領域901には既にウィンドウ722が表示されている。そのため、このような場合には、制御部201は、空き領域が存在しないと判断し、ウィンドウ711の表示領域内の画像を表示領域721内に表示させるよう、装置121に指示する。然るにこの場合、表示領域721内には子ウィンドウ801は表示されていない。
【0052】
次にこの状態で、装置111側で子ウィンドウ801を移動させ、図10に示す如く、子ウィンドウ801の一部がウィンドウ711に重なったとする。この場合、制御部201は、ウィンドウ711の表示領域内の画像を表示領域721内に表示させるよう、装置121に指示する。この場合、ウィンドウ711の表示領域内には子ウィンドウ801の一部が含まれているため、表示領域721内には、ウィンドウ711の画像だけでなくウィンドウ711と重なっている子ウィンドウ801の一部が表示されている。これにより、装置121のユーザは子ウィンドウ801を遠隔操作可能となる。
【0053】
以上説明した、装置111が行う処理について、同処理のフローチャートを示す図11を用いて説明する。図11のフローチャートに従った処理を制御部201に実行させるためのコンピュータプログラムやデータは、上記のハードディスクドライブ装置に保存されている。上記の通り、このコンピュータプログラムやデータは制御部201による制御に従って適宜RAMにロードされるので、制御部201はこのロードされたコンピュータプログラムやデータを用いて処理を実行する。これにより、図11のフローチャートに従った処理を実現する。なお、図11において図6に示したステップと同じステップには同じ参照番号を付しており、その説明は省略する。
【0054】
ステップS1105では制御部201は、装置121に問い合わせ、装置121の表示画面上に新規のウィンドウの画像を表示するための空き領域(新規表示領域)があるか否かを判断させ、その判断結果をこの装置121から取得する。
【0055】
そしてこの判断の結果、空き領域が存在すれば、処理はステップS1106を介してステップS1109に進み、空き領域が存在しなければ、処理はステップS1106を介してステップS1107に進む。
【0056】
ステップS1109では制御部201は、第1の実施形態と同様にして、新規のウィンドウの画像を装置121の表示画面上に表示させる。ステップS1107では制御部201は、上記の取得した関係を参照して、新規のウィンドウの表示領域が共有ウィンドウの表示領域からはみ出しているか否かを判断する。そして、はみ出していると判断した場合には、処理はステップS1108に進み、はみ出していないと判断した場合には、処理はステップS1110に進む。
【0057】
ステップS1110では制御部201は、表示画像取得部206に共有ウィンドウの表示領域内の画像を取得させる。そして制御部201は、この取得した画像を装置121が有する表示画面内の規定領域に表示させる為の指示を、ネットワークI/F部205を介して装置121に送信する。
【0058】
ステップS1108では制御部201は、表示画像取得部206に共有ウィンドウの表示領域内の画像、新規のウィンドウの表示領域内の画像、を取得させる。そして制御部201は、新規のウィンドウの表示領域内の画像を共有ウィンドウの表示領域内の画像上に合成した画像を生成する。そしてその後ステップS1110では制御部201は、この生成した画像を装置121が有する表示画面内の規定領域に表示させる為の指示を、ネットワークI/F部205を介して装置121に送信する。
【0059】
なお、上記の説明では、空き領域が存在するか否かに応じて、装置121側に送信する指示を切り替えているが、その判断基準は装置121側の別の情報でも良く、装置111側の情報を利用しても構わない。また、ステップS1107では、新規ウィンドウのメニューバーが共有ウィンドウと重なっているかどうかなど、他の判断基準を用いても良い。
【0060】
更に、ステップS1108では、図12に示す如く、ウィンドウ711及び子ウィンドウ801を包含する領域内の画像を表示領域721内に収まるように縮小し、この縮小により得られる画像を表示領域721内に表示させても良い。
【0061】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、画面共有技術に関するものである。
【背景技術】
【0002】
近年におけるネットワークの発展に伴い、コンピュータシステムを利用した画面共有装置の利用範囲が広がっている。この画面共有装置の一つの形態に、以下の2つの機能の組み合わせからなるシステムがある。
【0003】
1つは、画面共有サーバ装置の画面表示内容を画面共有クライアント装置へ送信して表示させる機能である。この表示機能により、画面共有クライアント装置のユーザは、画面共有サーバ装置の現在の表示状態を確認することができるようになる。
【0004】
もう1つは、画面共有クライアント装置側の受信画像表示領域に対するマウス・キーボードの操作内容を画面共有サーバ装置へ送信し、画面共有サーバ装置側で同様の操作を再現する機能である。この操作機能により、画面共有クライアント装置のユーザが画面共有サーバ装置を遠隔操作することができるようになる。
【0005】
画面表示内容の生成方法として最も一般的なのは、画面共有サーバのディスプレイ表示用バッファ、若しくはそれと同等のメモリ全体から、表示画像を取得する方式である。また、特定の情報のみ共有するためにアプリケーション単位で共有を行う画面共有装置(特許文献1)や、ウィンドウ単位で共有を行う画面共有装置(例えば特許文献2)も提案されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2005−352795号公報
【特許文献2】特表2007−509408号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1では、送信側の表示レイアウトのままアプリケーションを構成するウィンドウの画像を送るため、受信側の都合によりウィンドウの表示位置を変更することができない。
【0008】
一方、特許文献2では、ウィンドウ単位での共有を行うことは述べられているが、1つのアプリケーションを構成する複数のウィンドウ間など、関連のあるウィンドウ間で連携を取る仕組みまでは提供できていない。このような状況では、受信側のユーザは複数のウィンドウから構成されるアプリケーション、特に動的に子ウィンドウを生成するアプリケーションを送信側のユーザと同じ感覚で利用することができない。
【0009】
本発明は以上の問題を解決するためになされたものであり、ウィンドウ間の関係を反映した画面共有を行う為の技術を提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を有する。即ち、表示画面を有する画像処理装置であって、前記表示画面に表示している着目ウィンドウの表示領域を特定し、該特定した表示領域内の画像を、外部装置が有する表示画面である外部表示画面内の規定領域に表示させる為の指示を該外部装置に対して送信する手段と、前記着目ウィンドウとは別個の新規のウィンドウが前記表示画面に表示された場合には、該新規のウィンドウと前記着目ウィンドウとの親子関係を判断する手段と、前記新規のウィンドウが前記着目ウィンドウの子であると判断された場合には、前記表示画面上における前記新規のウィンドウの表示領域が該表示画面上における前記着目ウィンドウの表示領域よりはみ出しているか否かを判断する判断手段と、はみ出していると前記判断手段が判断した場合には、前記表示画面上に表示した前記新規のウィンドウの表示領域内の画像を表示するために前記外部表示画面上に設定する設定領域を、該設定領域と前記規定領域との位置関係が、前記表示画面上の前記新規のウィンドウの表示領域と該表示画面上の前記着目ウィンドウの表示領域との位置関係となるように決定する決定手段と、前記決定手段が決定した設定領域を前記外部表示画面上に設けさせると共に、該設けさせた設定領域ないに前記表示画面上に表示した前記新規のウィンドウの表示領域内の画像を表示させる為の指示を前記外部装置に対して送信する送信手段とを備えることを特徴とする。
【発明の効果】
【0011】
本発明の構成によれば、ウィンドウ間の関係を反映した画面共有を行うことができる。
【図面の簡単な説明】
【0012】
【図1】システムの構成例を示すブロック図。
【図2】装置121のハードウェア構成例を示すブロック図。
【図3】装置111及び装置121の動作を説明する図。
【図4】装置111及び装置121の動作を説明する図。
【図5】装置111及び装置121の動作を説明する図。
【図6】装置111が行う処理のフローチャート。
【図7】装置111及び装置121の動作を説明する図。
【図8】装置111及び装置121の動作を説明する図。
【図9】装置111及び装置121の動作を説明する図。
【図10】装置111及び装置121の動作を説明する図。
【図11】装置111が行う処理のフローチャート。
【図12】装置111及び装置121の動作を説明する図。
【発明を実施するための形態】
【0013】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の1つである。
【0014】
[第1の実施形態]
先ず、画像処理装置間で画面を共有する、本実施形態に係るシステムの構成例について、図1のブロック図を用いて説明する。図1に示す如く、本実施形態に係るシステムは、画面共有サーバ装置として機能する画像処理装置(以下、単に装置と呼称)111と、画面共有クライアント装置として機能する画像処理装置(以下、単に装置と呼称)121と、で構成されている。そして、それぞれの装置はネットワーク101を介して互いにデータ通信が可能である。
【0015】
装置111は、複数のアプリケーションを並行して実行することが可能であり、それぞれのアプリケーションが提供するウィンドウを表示するための表示画面を有する。図1では、ウィンドウ112及び113が表示画面上に表示されている。装置111は、この表示しているウィンドウのうち1以上を装置121(外部装置)と共有することができ、例えば図1に示す如くウィンドウ112(着目ウィンドウ)を共有する場合、装置111は先ず、このウィンドウ112の表示領域を特定する。そして、この特定した領域内の画像122を装置121が有する表示画面内(外部表示画面上)の規定領域123に表示させる為の指示を装置121に対して送信する(指示送信)。装置121は、装置111から送信されたこの指示を受け、この指示に従って、画像122を規定領域123内に表示する。
【0016】
なお、装置121の表示画面にはこの規定領域123を複数個設定することもでき、この場合、それぞれの規定領域123の設定位置や個数は、装置111側で操作することができる。
【0017】
なお、本実施形態では説明を簡単にするために、1台の画面共有サーバ装置と1台の画面共有クライアント装置とで構成されたシステムを例にとって説明するが、それぞれの装置の個数は1台に限るものではなく、複数台でも良い。例えば、1台の画面共有サーバ装置に複数台の画面共有クライアント装置を接続したシステムであっても良いし、複数台の画面共有サーバ装置に1台の画面共有クライアント装置を接続したシステムであっても良い。何れの構成であっても、画面共有サーバ装置と画面共有クライアント装置とが1対1で行う処理は、それぞれの個数が如何なる数であったとしても同様であるため、以下に説明する動作は、如何なる構成にも適用可能である。また、画面共有サーバ装置と画面共有クライアント装置とを1つの装置内に納めても良い。
【0018】
装置111のハードウェア構成例について、図2のブロック図を用いて説明する。なお、図2に示した構成は、装置111に適用可能な装置の構成の一例であって、装置111が行うものとして説明する後述の各処理を実行可能な構成であれば、装置111に適用可能な装置の構成は、図2に示した構成に限るものではない。図2に示した構成を有する装置には、例えば、一般のPC(パーソナルコンピュータ)等が適用可能である。
【0019】
制御部201は、CPU等のプロセッサにより構成されており、記憶部202に格納されているコンピュータプログラムやデータを用いて装置111全体の動作制御を行うと共に、装置111が行うものとして後述する各処理を実行する。
【0020】
記憶部202は、RAMやROM、ハードディスクドライブ装置など、コンピュータプログラムやデータなどの情報を記憶するためのメモリ群により構成されている。ROMにはブートプログラムやBIOSが格納されている。ハードディスクドライブ装置には、OS(オペレーティングシステム)や、装置111が行うものとして後述する各処理を制御部201に実行させるためのコンピュータプログラムやデータが保存されている。ハードディスクドライブ装置に保存されているコンピュータプログラムやデータは、制御部201による制御に従って適宜RAMにロードされ、制御部201による処理対象となる。RAMには、制御部201が各種の処理を実行する際に用いるワークエリアや、ハードディスクドライブ装置からロードされたコンピュータプログラムやデータを記憶するためのエリアを有する。即ちRAMは、各種のエリアを適宜提供することができる。
【0021】
表示部203は、ビデオメモリを内蔵しており、制御部201の制御の下で、モニタ290に表示する一画面分の画像を生成してビデオメモリに格納する。そしてこのビデオメモリに格納した一画面分の画像からビデオ信号を生成し、生成したビデオ信号をモニタ290に送出する。モニタ290は、CRTや液晶画面などにより構成されており、このビデオ信号に基づく表示画面を表示する。
【0022】
入力部204は、キーボードやマウスなどのポインティングデバイスからの操作指示を受け付け、受け付けた操作指示を制御部201に通知する。ネットワークI/F部205は、装置111を上記のネットワーク101に接続する為のものであり、例えば、周知のネットワークカードである。装置111はこのネットワークI/F部205を介してネットワーク101に接続されている装置121とのデータ通信を行うことになる。なお、ネットワーク101は無線であっても良いし、有線であっても良い。また、その種類も特別な種類に限るものではない。
【0023】
表示画像取得部206はモニタ290に表示されているウィンドウのうち、装置121と共有するものとして指定されたウィンドウの表示領域を特定し、特定した領域内の画像(共有画像)を抽出する。そして制御部201は、装置121が有する表示画面である外部表示画面内の規定領域にこの共有画像を表示させる為の指示を、ネットワークI/F部205に送出する。なお、この指示には、共有画像のデータも含まれている。そしてこの指示は、ネットワークI/F部205によりネットワーク101を介して装置121に転送される。
【0024】
遠隔操作命令解析部207は、装置121からネットワーク101を介して送信され、ネットワークI/F部205が受信した遠隔操作命令を受け取り、受け取った遠隔操作命令を、入力部204が解釈可能な命令に変換する。そして遠隔操作命令解析部207は、この変換した命令を入力部204に送出し、ローカルの操作と区別なく実行するよう指示を出す。なお、図2では、表示画像取得部206と遠隔操作命令解析部207とは別個の要素として示しているが、制御部201の一部としても良い。また、表示画像取得部206と遠隔操作命令解析部207は、ハードウェアとして実装しても良いが、ソフトウェアとして実装しても良く、その場合、このソフトウェアは、記憶部202(ハードディスクドライブ装置)内に格納されることになる。
【0025】
上記の構成において、装置111側でウィンドウ112を共有ウィンドウとして指定した場合、表示画像取得部206は、モニタ290の表示画面においてウィンドウ112の表示領域を特定する。ウィンドウ112の表示領域(左上隅及び右下隅の位置など)はOSが管理しているので、OSに問い合わせれば、この表示領域は特定可能である。そして表示画像取得部206は、表示部203のビデオメモリ内に格納されている「モニタ290の一画面分の画像データ」から、特定した表示領域内の画像データを取得する。そして制御部201は、装置121が有する表示画面内の規定領域123にこの画像データに従った画像122(共有画像)を表示させる為の指示を、ネットワークI/F部205に送出する。なお、この指示には、共有画像のデータも含まれている。これにより、ネットワークI/F部205は、この指示をネットワーク101を介して装置121に対して送信する。なお、制御部201は、共有画像を圧縮符号化してから指示に含めてネットワークI/F部205に送出しても良い。
【0026】
装置121は、装置111からネットワーク101を介して送信された指示を受け取ると、この指示内に含まれている領域設定指示に従って、自身の表示画面上に規定領域123を設定する。そして装置121は、この設定した規定領域123内に、この指示に含まれている画像データに従った画像122、即ちウィンドウ112の画像122を表示する。これにより、装置111の表示画面に表示されているウィンドウ112は、装置121の表示画面上にも表示され、装置121のユーザは、この表示されているウィンドウ112の画像を確認したり、遠隔操作のための操作を行うことができる。
【0027】
この状態において、装置111のユーザがキーボードやポインティングデバイスを用いて新たなウィンドウをモニタ290の表示画面上に表示させるための指示を入力したとする。このとき装置111及び装置121は以下のように動作する。この動作を、図3を用いて説明する。
【0028】
図1の状態において、装置111のユーザがキーボードやポインティングデバイスを用いて、既に装置121と共有しているウィンドウ112とは別個の新規ウィンドウ301をモニタ290の表示画面上に表示させるための指示を入力したとする。この場合、制御部201は、図3に示す如く、モニタ290の表示画面上の規定位置に、新規ウィンドウ301を表示する。ここで、新規ウィンドウ301は、ウィンドウ112の子ウィンドウであるとする。例えば、装置111のユーザがキーボードやポインティングデバイスを用いてウィンドウ112内のボタンなどを指示することで開いたウィンドウが新規ウィンドウ301である。
【0029】
新規ウィンドウ301が表示された時点では、この新規ウィンドウ301は装置121との共有が指定されていないため、新規ウィンドウ301の画像は装置121の表示画面には表示しない。ここで、図3では、ウィンドウ112の表示領域の一部が新規ウィンドウ301の表示領域と重なっている。この場合、表示画像取得部206は、表示部203のビデオメモリ内に格納されている「モニタ290の一画面分の画像データ」から、ウィンドウ112の表示領域内の画像データを取得する。そして表示画像取得部206は、取得した画像データにおいて、新規ウィンドウ301と重なっている領域に相当するデータを、規定の画素値のデータに置き換える。そして制御部201は、ウィンドウ112の表示領域内の画像データにおいて、新規ウィンドウ301と重なっている領域に相当するデータを規定の画素値のデータに置き換えたものを、装置121の表示画面に表示させるための指示を装置121に送信する。
【0030】
これにより装置121の表示画面内に設けた規定領域123には、図3に示す如く、新規ウィンドウ301と重なっている部分が規定の画素値を有する画素で埋められたウィンドウ112の画像122が表示されることになる。
【0031】
次に制御部201は、ウィンドウ112と新規ウィンドウ301との関係を判断する。ウィンドウ間の関係には、親子関係(親子関係判断)やどちらのウィンドウが手前に表示されているのか(奥行き関係)、新規ウィンドウ301の表示領域がウィンドウ112の表示領域からはみ出しているのか否か、等の情報が含まれている。なお、ウィンドウ間の関係についてもOSが管理しているので、OSに問い合わせることで、この関係を判断することができる。図3の例では、新規ウィンドウ301はウィンドウ112の子ウィンドウであり、新規ウィンドウ301はウィンドウ112よりも手前に表示されており、新規ウィンドウ301の表示領域はウィンドウ112の表示領域からはみ出している、ことが分かる。
【0032】
そして制御部201は、新規ウィンドウ301がウィンドウ112の子ウィンドウであると判断すれば、装置121の表示画面上に、新規ウィンドウ301の画像を表示するための領域(規定領域123とは重ならない別個の領域)を設定させる。そして制御部201は、この設定した領域内に、新規ウィンドウ301の画像を表示させるための指示を装置121に送信する。これにより装置121の表示画面上には、図4に示す如く、規定領域123とは重なりのない別個の領域401が設けられると共に、この領域401内には新規ウィンドウ301の画像が表示されることになる。また、規定領域123内には、ウィンドウ112の画像122が表示されているが、新規ウィンドウ301と重なっている領域(図4ではグレーで示している領域)は規定の画素値を有する画素で埋められている。
【0033】
次に制御部201は、モニタ290の表示画面上において新規ウィンドウ301の表示領域はウィンドウ112の表示領域からはみ出している、と判断したとする。この場合、制御部201は、領域401と規定領域123との位置関係が、モニタ290の表示画面上における新規ウィンドウ301の表示領域とウィンドウ112の表示領域との位置関係となるように、領域401の位置を決定する。更に制御部201は、領域401と規定領域123との奥行き関係が、モニタ290の表示画面上における新規ウィンドウ301とウィンドウ112との奥行き関係となるように、領域401の奥行きを決定する。
【0034】
そして制御部201は、この決定した領域401の位置及び奥行きを装置121に指示する。この結果、図5に示す如く、規定領域123と領域401との位置関係は、モニタ290の表示画面上におけるウィンドウ112の表示領域と新規ウィンドウ301の表示領域との位置関係と同じになっている。更に、モニタ290の表示画面上では新規ウィンドウ301がウィンドウ112よりも手前に表示されていることから、領域401を規定領域123よりも手前に設定している。そのため、装置121の表示画面上でも、モニタ290の表示画面上と同様、新規ウィンドウ301の画像がウィンドウ112の画像122よりも手前に表示されている。結果として、ウィンドウ112及び新規ウィンドウ301に限って言えば、モニタ290の表示画面と装置121の表示画面とは同じになっている。
【0035】
以上説明した、装置111が行う処理について、同処理のフローチャートを示す図6を用いて説明する。図6のフローチャートに従った処理を制御部201に実行させるためのコンピュータプログラムやデータは、上記のハードディスクドライブ装置に保存されている。上記の通り、このコンピュータプログラムやデータは制御部201による制御に従って適宜RAMにロードされるので、制御部201はこのロードされたコンピュータプログラムやデータを用いて処理を実行する。これにより、図6のフローチャートに従った処理を実現する。
【0036】
ステップS601では制御部201は、モニタ290の表示画面上に新たにウィンドウが表示されたか否かを監視する。そしてモニタ290の表示画面上に新たに新規のウィンドウが表示された場合(新規のウィンドウを開く指示が制御部201に入力された場合)には、処理はステップS602を介してステップS603に進む。
【0037】
ステップS603では制御部201は、装置121と共有しているウィンドウ(共有ウィンドウ)と新規のウィンドウとの関係を、OSから取得する。上記の通り、この取得する関係には、ウィンドウ間の親子関係、どちらのウィンドウが手前に表示されているのか、新規のウィンドウの表示領域が共有ウィンドウの表示領域からはみ出しているのか否か、等の情報が含まれている。
【0038】
ステップS604では制御部201は、この取得した関係を参照して、新規のウィンドウが共有ウィンドウの子ウィンドウであるか否かを判断し、子ウィンドウであると判断した場合には、処理はステップS605に進む。
【0039】
ステップS605では制御部201は、この取得した関係を参照して、新規のウィンドウの表示領域が共有ウィンドウの表示領域からはみ出しているか否かを判断する。そして、はみ出していると判断した場合、処理はステップS606に進む。一方、はみ出していないと判断した場合には、処理はステップS609に進む。
【0040】
ステップS609で制御部201は、表示画像取得部206に共有ウィンドウの表示領域内の画像を取得させる。そして制御部201は、この取得した画像を装置121が有する表示画面内の規定領域に表示させる為の指示を、ネットワークI/F部205を介して装置121に送信する。
【0041】
一方、ステップS606では制御部201は、表示画像取得部206に新規のウィンドウの表示領域内の画像を取得させる。そして制御部201は、装置121の表示画面上に、新規のウィンドウの画像を表示するための領域(設定領域)を設定させ、この設定した領域内に新規のウィンドウの画像を表示させるための指示を装置121に送信する。
【0042】
次に、ステップS607では制御部201は、上記の通り、新規のウィンドウの画像を表示するためにステップS606で設定させた領域の位置及び奥行きを決定する。そしてステップS608では制御部201は、この決定した位置及び奥行きを装置121に指示する。
【0043】
なお、上記の説明では、新規のウィンドウの表示領域が共有ウィンドウの表示領域からはみ出しているか否かでステップS605で処理は分岐しているが、新規のウィンドウ全体が共有ウィンドウに重なっていないか否かで分岐させても良い。
【0044】
また、ステップS606〜S608の一連の処理はこの順番で行うことに限定するものではなく、共有開始時に表示位置を同時に指定するなどしても構わない。表示の指定も座標に限る必要はなく、Zオーダやウィンドウのサイズなど、他の制御情報を指示しても構わない。
【0045】
また、本実施形態では、一旦新規のウィンドウの表示領域を設定した後でこの表示領域を移動させたり、奥行きを変更したりしているが、最初から表示領域の位置及び奥行きを決定し、決定した位置及び奥行きでもって表示領域を設定しても良い。
【0046】
以上の説明により、本実施形態によれば、画面共有サーバ装置と画面共有クライアント装置との間で同じレイアウトでウィンドウ群を表示することができる。
【0047】
[第2の実施形態]
画面共有クライアント装置側で既にウィンドウを開いていた結果、画面共有クライアント装置側の表示画面上に、画面共有サーバ装置側で新規に開いたウィンドウの画像を表示するための領域を設けることができない場合がある。本実施形態では、このように、画面共有クライアント装置側の表示状態に応じた表示制御技術を説明する。なお、システムの構成については第1の実施形態と同じであるものとする。
【0048】
ここで、図7に示す如く、モニタ290の表示画面には装置121と共有しているウィンドウ711が表示されており、装置121の表示画面の表示領域721にはこのウィンドウ711の画像が表示されている。更に装置121の表示画面において表示領域721以外の領域には、どのウィンドウよりも手前に表示されるように設定されたウィンドウ722が表示されている。
【0049】
ここで、図8に示す如く、ウィンドウ711の子ウィンドウ801がモニタ290の表示画面上に表示されたとする。このとき本実施形態では、制御部201は、装置121の表示画面上にこの子ウィンドウ801の画像を表示するための空き領域があるか否かを判断する。これは、装置121の表示画面上に子ウィンドウ801のサイズと同じサイズの空き領域が存在するか否かを判断すればよい。もちろん、この判断は装置121側に行わせても良い。
【0050】
そしてこの判断の結果、空き領域が存在すれば、第1の実施形態と同様にして、子ウィンドウ801の画像を装置121の表示画面上に表示する。一方、空き領域が存在しなければ、制御部201は、ウィンドウ711の表示領域内の画像を表示領域721に表示させるよう、装置121に指示する。
【0051】
図9に示す如く、装置121の表示画面上において子ウィンドウ801と同位置の領域901には既にウィンドウ722が表示されている。そのため、このような場合には、制御部201は、空き領域が存在しないと判断し、ウィンドウ711の表示領域内の画像を表示領域721内に表示させるよう、装置121に指示する。然るにこの場合、表示領域721内には子ウィンドウ801は表示されていない。
【0052】
次にこの状態で、装置111側で子ウィンドウ801を移動させ、図10に示す如く、子ウィンドウ801の一部がウィンドウ711に重なったとする。この場合、制御部201は、ウィンドウ711の表示領域内の画像を表示領域721内に表示させるよう、装置121に指示する。この場合、ウィンドウ711の表示領域内には子ウィンドウ801の一部が含まれているため、表示領域721内には、ウィンドウ711の画像だけでなくウィンドウ711と重なっている子ウィンドウ801の一部が表示されている。これにより、装置121のユーザは子ウィンドウ801を遠隔操作可能となる。
【0053】
以上説明した、装置111が行う処理について、同処理のフローチャートを示す図11を用いて説明する。図11のフローチャートに従った処理を制御部201に実行させるためのコンピュータプログラムやデータは、上記のハードディスクドライブ装置に保存されている。上記の通り、このコンピュータプログラムやデータは制御部201による制御に従って適宜RAMにロードされるので、制御部201はこのロードされたコンピュータプログラムやデータを用いて処理を実行する。これにより、図11のフローチャートに従った処理を実現する。なお、図11において図6に示したステップと同じステップには同じ参照番号を付しており、その説明は省略する。
【0054】
ステップS1105では制御部201は、装置121に問い合わせ、装置121の表示画面上に新規のウィンドウの画像を表示するための空き領域(新規表示領域)があるか否かを判断させ、その判断結果をこの装置121から取得する。
【0055】
そしてこの判断の結果、空き領域が存在すれば、処理はステップS1106を介してステップS1109に進み、空き領域が存在しなければ、処理はステップS1106を介してステップS1107に進む。
【0056】
ステップS1109では制御部201は、第1の実施形態と同様にして、新規のウィンドウの画像を装置121の表示画面上に表示させる。ステップS1107では制御部201は、上記の取得した関係を参照して、新規のウィンドウの表示領域が共有ウィンドウの表示領域からはみ出しているか否かを判断する。そして、はみ出していると判断した場合には、処理はステップS1108に進み、はみ出していないと判断した場合には、処理はステップS1110に進む。
【0057】
ステップS1110では制御部201は、表示画像取得部206に共有ウィンドウの表示領域内の画像を取得させる。そして制御部201は、この取得した画像を装置121が有する表示画面内の規定領域に表示させる為の指示を、ネットワークI/F部205を介して装置121に送信する。
【0058】
ステップS1108では制御部201は、表示画像取得部206に共有ウィンドウの表示領域内の画像、新規のウィンドウの表示領域内の画像、を取得させる。そして制御部201は、新規のウィンドウの表示領域内の画像を共有ウィンドウの表示領域内の画像上に合成した画像を生成する。そしてその後ステップS1110では制御部201は、この生成した画像を装置121が有する表示画面内の規定領域に表示させる為の指示を、ネットワークI/F部205を介して装置121に送信する。
【0059】
なお、上記の説明では、空き領域が存在するか否かに応じて、装置121側に送信する指示を切り替えているが、その判断基準は装置121側の別の情報でも良く、装置111側の情報を利用しても構わない。また、ステップS1107では、新規ウィンドウのメニューバーが共有ウィンドウと重なっているかどうかなど、他の判断基準を用いても良い。
【0060】
更に、ステップS1108では、図12に示す如く、ウィンドウ711及び子ウィンドウ801を包含する領域内の画像を表示領域721内に収まるように縮小し、この縮小により得られる画像を表示領域721内に表示させても良い。
【0061】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
表示画面を有する画像処理装置であって、
前記表示画面に表示している着目ウィンドウの表示領域を特定し、該特定した表示領域内の画像を、外部装置が有する表示画面である外部表示画面内の規定領域に表示させる為の指示を該外部装置に対して送信する手段と、
前記着目ウィンドウとは別個の新規のウィンドウが前記表示画面に表示された場合には、該新規のウィンドウと前記着目ウィンドウとの親子関係を判断する手段と、
前記新規のウィンドウが前記着目ウィンドウの子であると判断された場合には、前記表示画面上における前記新規のウィンドウの表示領域が該表示画面上における前記着目ウィンドウの表示領域よりはみ出しているか否かを判断する判断手段と、
はみ出していると前記判断手段が判断した場合には、前記表示画面上に表示した前記新規のウィンドウの表示領域内の画像を表示するために前記外部表示画面上に設定する設定領域を、該設定領域と前記規定領域との位置関係が、前記表示画面上の前記新規のウィンドウの表示領域と該表示画面上の前記着目ウィンドウの表示領域との位置関係となるように決定する決定手段と、
前記決定手段が決定した設定領域を前記外部表示画面上に設けさせると共に、該設けさせた設定領域ないに前記表示画面上に表示した前記新規のウィンドウの表示領域内の画像を表示させる為の指示を前記外部装置に対して送信する送信手段と
を備えることを特徴とする画像処理装置。
【請求項2】
前記決定手段は更に、前記設定領域を、該設定領域と前記規定領域との奥行き関係が、前記表示画面上における前記新規のウィンドウと前記着目ウィンドウとの奥行き関係となるように決定することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記送信手段は、前記設定領域を設定するための空き領域が前記外部表示画面上に存在しない場合、前記着目ウィンドウ及び前記新規のウィンドウを包含する領域内の画像を縮小し、該縮小した画像を前記規定領域ないに表示させる為の指示を前記外部装置に対して送信することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
表示画面を有する画像処理装置が行う画像処理方法であって、
前記画像処理装置の指示送信手段が、前記表示画面に表示している着目ウィンドウの表示領域を特定し、該特定した表示領域内の画像を、外部装置が有する表示画面である外部表示画面内の規定領域に表示させる為の指示を該外部装置に対して送信する工程と、
前記画像処理装置の親子関係判断手段が、前記着目ウィンドウとは別個の新規のウィンドウが前記表示画面に表示された場合には、該新規のウィンドウと前記着目ウィンドウとの親子関係を判断する工程と、
前記画像処理装置のはみ出し判断手段が、前記新規のウィンドウが前記着目ウィンドウの子であると判断された場合には、前記表示画面上における前記新規のウィンドウの表示領域が該表示画面上における前記着目ウィンドウの表示領域よりはみ出しているか否かを判断する判断工程と、
前記画像処理装置の決定手段が、はみ出していると前記判断工程で判断した場合には、前記表示画面上に表示した前記新規のウィンドウの表示領域内の画像を表示するために前記外部表示画面上に設定する設定領域を、該設定領域と前記規定領域との位置関係が、前記表示画面上の前記新規のウィンドウの表示領域と該表示画面上の前記着目ウィンドウの表示領域との位置関係となるように決定する決定工程と、
前記画像処理装置の送信手段が、前記決定工程で決定した設定領域を前記外部表示画面上に設けさせると共に、該設けさせた設定領域ないに前記表示画面上に表示した前記新規のウィンドウの表示領域内の画像を表示させる為の指示を前記外部装置に対して送信する送信工程と
を備えることを特徴とする画像処理方法。
【請求項5】
コンピュータを、請求項1乃至3の何れか1項に記載の画像処理装置が有する各手段として機能させるためのコンピュータプログラム。
【請求項1】
表示画面を有する画像処理装置であって、
前記表示画面に表示している着目ウィンドウの表示領域を特定し、該特定した表示領域内の画像を、外部装置が有する表示画面である外部表示画面内の規定領域に表示させる為の指示を該外部装置に対して送信する手段と、
前記着目ウィンドウとは別個の新規のウィンドウが前記表示画面に表示された場合には、該新規のウィンドウと前記着目ウィンドウとの親子関係を判断する手段と、
前記新規のウィンドウが前記着目ウィンドウの子であると判断された場合には、前記表示画面上における前記新規のウィンドウの表示領域が該表示画面上における前記着目ウィンドウの表示領域よりはみ出しているか否かを判断する判断手段と、
はみ出していると前記判断手段が判断した場合には、前記表示画面上に表示した前記新規のウィンドウの表示領域内の画像を表示するために前記外部表示画面上に設定する設定領域を、該設定領域と前記規定領域との位置関係が、前記表示画面上の前記新規のウィンドウの表示領域と該表示画面上の前記着目ウィンドウの表示領域との位置関係となるように決定する決定手段と、
前記決定手段が決定した設定領域を前記外部表示画面上に設けさせると共に、該設けさせた設定領域ないに前記表示画面上に表示した前記新規のウィンドウの表示領域内の画像を表示させる為の指示を前記外部装置に対して送信する送信手段と
を備えることを特徴とする画像処理装置。
【請求項2】
前記決定手段は更に、前記設定領域を、該設定領域と前記規定領域との奥行き関係が、前記表示画面上における前記新規のウィンドウと前記着目ウィンドウとの奥行き関係となるように決定することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記送信手段は、前記設定領域を設定するための空き領域が前記外部表示画面上に存在しない場合、前記着目ウィンドウ及び前記新規のウィンドウを包含する領域内の画像を縮小し、該縮小した画像を前記規定領域ないに表示させる為の指示を前記外部装置に対して送信することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
表示画面を有する画像処理装置が行う画像処理方法であって、
前記画像処理装置の指示送信手段が、前記表示画面に表示している着目ウィンドウの表示領域を特定し、該特定した表示領域内の画像を、外部装置が有する表示画面である外部表示画面内の規定領域に表示させる為の指示を該外部装置に対して送信する工程と、
前記画像処理装置の親子関係判断手段が、前記着目ウィンドウとは別個の新規のウィンドウが前記表示画面に表示された場合には、該新規のウィンドウと前記着目ウィンドウとの親子関係を判断する工程と、
前記画像処理装置のはみ出し判断手段が、前記新規のウィンドウが前記着目ウィンドウの子であると判断された場合には、前記表示画面上における前記新規のウィンドウの表示領域が該表示画面上における前記着目ウィンドウの表示領域よりはみ出しているか否かを判断する判断工程と、
前記画像処理装置の決定手段が、はみ出していると前記判断工程で判断した場合には、前記表示画面上に表示した前記新規のウィンドウの表示領域内の画像を表示するために前記外部表示画面上に設定する設定領域を、該設定領域と前記規定領域との位置関係が、前記表示画面上の前記新規のウィンドウの表示領域と該表示画面上の前記着目ウィンドウの表示領域との位置関係となるように決定する決定工程と、
前記画像処理装置の送信手段が、前記決定工程で決定した設定領域を前記外部表示画面上に設けさせると共に、該設けさせた設定領域ないに前記表示画面上に表示した前記新規のウィンドウの表示領域内の画像を表示させる為の指示を前記外部装置に対して送信する送信工程と
を備えることを特徴とする画像処理方法。
【請求項5】
コンピュータを、請求項1乃至3の何れか1項に記載の画像処理装置が有する各手段として機能させるためのコンピュータプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−133488(P2012−133488A)
【公開日】平成24年7月12日(2012.7.12)
【国際特許分類】
【出願番号】特願2010−283727(P2010−283727)
【出願日】平成22年12月20日(2010.12.20)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成24年7月12日(2012.7.12)
【国際特許分類】
【出願日】平成22年12月20日(2010.12.20)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]