(57)【要約】【課題】選択された画面の共有が適切に行われる仕組みを提供すること【解決手段】第２装置と通信可能な第１装置であって、第１装置が管理する画面において選択された第１の画面を特定し、第１装置が管理する画面全体における前記第１の画面の位置を、前記第１の画面が前記画面全体に収まる位置に決定し、位置が決定された前記第１の画面の情報を前記第２装置に共有すべく送信する【選択図】図９
2020060851.tif 000002
【特許請求の範囲】
【請求項１】
第２装置と通信可能な第１装置であって、
第１装置が管理する画面において選択された第１の画面を特定する特定手段と、
第１装置が管理する画面全体における前記第１の画面の位置を、前記第１の画面が前記画面全体に収まる位置に決定する位置決定手段と、
前記位置決定手段により位置が決定された前記第１の画面の情報を前記第２装置に共有すべく送信する送信手段と、
を備えることを特徴とする第１装置。
【請求項２】
前記第１の画面のサイズを、前記第１の画面が前記画面全体に収まるサイズに決定するサイズ決定手段と、
を備えることを特徴とする請求項１に記載の第１装置。
【請求項３】
前記第１の画面の形状を、前記第１の画面が前記画面全体に収まる形状に決定する形状決定手段と、
を備えることを特徴とする請求項１又は２に記載の第１装置。
【請求項４】
第２装置と通信可能な第１装置であって、
第１装置が管理する画面において選択された第１の画面を特定する特定手段と、
前記第１の画面の画像を取得する取得手段と、
前記取得手段により取得された前記第１の画面の画像を前記第２装置に表示させるべく制御する制御手段と、
を備え、
前記制御手段は、前記第１の画面の画像の少なくとも一部が取得されない場合に、当該取得がされなくなった後の前記第１の画面の画像の表示を、前記第２装置において停止させるべく制御することを特徴とする第１装置。
【請求項５】
前記制御手段は、前記取得手段により取得された前記第１の画像を前記第２装置に表示させるべく送信する制御を行い、
また、前記制御手段は、前記第１の画面の画像の少なくとも一部が取得されない場合に、当該取得がされなくなった後の前記第１の画面の画像の送信を停止することを特徴とする請求項４に記載の第１装置。
【請求項６】
前記制御手段は、前記取得手段により前記第１の画面の画像が取得されなくなる前に、当該取得手段により取得された前記第１の画面の画像を前記第２装置に表示させるべく制御することを特徴とする請求項４又は５に記載の第１装置。
【請求項７】
前記第１の画面の画像の少なくとも一部が取得されない場合とは、前記第１の画面の一部または全部が、当該第１の画面が配置される前記第１装置が管理する画面より出た場合であることを特徴とする請求項４乃至６のいずれか１項に記載の第１装置。
【請求項８】
前記第１の画面の画像の少なくとも一部が取得されない場合とは、前記第１の画面に、前記第１の画面とは別の第２の画面が重なることにより、前記第１の画面の少なくとも一部が隠れている場合であることを特徴とする請求項４乃至７のいずれか１項に記載の第１装置。
【請求項９】
前記制御手段は、前記第１の画面の画像の少なくとも一部が取得されない場合に、当該取得がされなくなる直前に取得された前記第１の画面の画像を、前記第２装置に継続して表示させる制御をすることを特徴とする請求項４乃至８のいずれか１項に記載の第１装置。
【請求項１０】
第２装置と通信可能な第１装置の制御方法であって、
第１装置が管理する画面において選択された第１の画面を特定する特定工程と、
第１装置が管理する画面全体における前記第１の画面の位置を、前記第１の画面が前記画面全体に収まる位置に決定する位置決定工程と、
前記位置決定工程により位置が決定された前記第１の画面の情報を前記第２装置に共有すべく送信する送信工程と、
を含む制御方法。
【請求項１１】
第２装置と通信可能な第１装置を制御するプログラムであって、
前記第１装置を、
第１装置が管理する画面において選択された第１の画面を特定する特定手段と、
第１装置が管理する画面全体における前記第１の画面の位置を、前記第１の画面が前記画面全体に収まる位置に決定する位置決定手段と、
前記位置決定手段により位置が決定された前記第１の画面の情報を前記第２装置に共有すべく送信する送信手段として機能させるためのプログラム。
【請求項１２】
第１装置と第２装置とを含む情報処理システムであって、
第１装置が管理する画面において選択された第１の画面を特定する特定手段と、
第１装置が管理する画面全体における前記第１の画面の位置を、前記第１の画面が前記画面全体に収まる位置に決定する位置決定手段と、
前記位置決定手段により位置が決定された前記第１の画面の情報を前記第２装置に共有すべく送信する送信手段と、
を備えることを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
電子会議においては、ある参加者の端末をホスト端末として、当該ホスト端末の画面を他の参加者の端末（ゲスト端末）に共有する機能が提供されている（例えば特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−０２９９２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
画面共有中に、意図しない内容、又は意図しない状態で画面の情報を共有してしまうことがある。例えば、共有中のウィンドウ（画面）をキャプチャして他の端末に共有する仕組みにおいて、共有中のウィンドウＡの上に別のウィンドウＢが重なってしまう場合である。
【０００５】
この場合、ウィンドウＡとウィンドウＢが重なった画像が、ウィンドウＡの画面として共有されてしまう。
【０００６】
また、ウィンドウＡの一部がデスクトップ画面（モニタ）からはみ出してしまった場合、当該モニタからはみ出した部分がキャプチャされないため、共有元のユーザとしてはウィンドウＡ全体を共有しているつもりだが、非共有者側のＰＣには、ウィンドウＡの一部（モニタに移っている部分だけの画像）が共有されてしまう。
【０００７】
本発明の目的は、選択された画面の共有が適切に行われる仕組みを提供することである。
【課題を解決するための手段】
【０００８】
本発明は、第２装置と通信可能な第１装置であって、第１装置が管理する画面において選択された第１の画面を特定する特定手段と、第１装置が管理する画面全体における前記第１の画面の位置を、前記第１の画面が前記画面全体に収まる位置に決定する位置決定手段と、前記位置決定手段により位置が決定された前記第１の画面の情報を前記第２装置に共有すべく送信する送信手段と、を備えることを特徴とする。
【０００９】
本発明は、第２装置と通信可能な第１装置であって、第１装置が管理する画面において選択された第１の画面を特定する特定手段と、前記第１の画面の画像を取得する取得手段と、前記取得手段により取得された前記第１の画面の画像を前記第２装置に表示させるべく制御する制御手段と、を備え、前記制御手段は、前記第１の画面の画像の少なくとも一部が取得されない場合に、当該取得がされなくなった後の前記第１の画面の画像の表示を、前記第２装置において停止させるべく制御することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、選択された画面の共有が適切に行われる仕組みを提供することができる。
【００１１】
例えば、選択された画面の位置を、共有に適した位置に設定することができる。
【００１２】
また、選択された画面のサイズを、共有に適したサイズに設定することができる。
【００１３】
また、選択された画面とは異なる情報の共有を防止することができる。
【００１４】
また、選択された画面が共有中か否かをユーザに確認させることができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態における、システム構成の一例を示す図である。
【図２】本発明の実施形態における、各種装置のハードウェア構成の一例を示すブロック図である。
【図３】本発明の実施形態における、各種装置の機能構成の一例を示す図である。
【図４】本発明の実施形態における、カメラ画像送受信及び表示処理の流れを示すフローチャートである。
【図５】本発明の実施形態における、各種データ構成の一例を示す図である。
【図６】本発明の実施形態における、各種データ構成の一例を示す図である。
【図７】本発明の実施形態における、各種画面の構成の一例を示す図である。
【図８】本発明の実施形態における、処理の流れを示すフローチャートである。
【図９】本発明の実施形態における、アプリウィンドウの位置およびサイズ調整の処理の詳細を示すフローチャートである。
【図１０】本発明の実施形態における、アプリウィンドウの画像共有処理の詳細を示すフローチャートである。
【図１１】本発明の実施形態における、各種画面構成およびアプリウィンドウ選択の様子を示す図である。
【図１２】本発明の実施形態における、各種画面の構成の一例を示す図である。
【図１３】本発明の実施形態における、各種画面の構成の一例を示す図である。
【図１４】本発明の実施形態における、各種画面の構成の一例を示す図である。
【図１５】本発明の実施形態における、各種画面の構成の一例を示す図である。
【図１６】本発明の実施形態における、各種画面の構成の一例を示す図である。
【図１７】本発明の実施形態における、各種画面の構成の一例を示す図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照して、本発明の実施の形態の一例について説明する。
【００１７】
まず図１を参照して、本発明の実施形態における、情報処理システムの構成の一例について説明する。
【００１８】
本発明の情報処理システムは、例えば、パーソナルコンピュータを適用可能な情報処理装置であるクライアント端末１００（１００Ａ，１００Ｂ，１００Ｃ，１００Ｄ）と各クライアント端末１００でウェブ会議を利用可能にするサーバ２００がネットワーク１５０を介して通信可能に接続され、構成されている。サーバ２００は情報処理装置の１つである。
【００１９】
サーバ２００は、ウェブブラウザを利用したウェブ会議を実現するためのサーバ装置であり、クライアント端末１００からのアクセスに応じて、クライアント端末１００で入力を受け付けたユーザＩＤのユーザが参加する会議の画面である会議画面（インタフェース／例えばｈｔｍｌで表現される画面を表示するための情報）をそれぞれのクライアント端末１００に送信して表示させる。
【００２０】
当該会議画面の提供（会議画面に表示するカメラ画像及び画面共有機能の提供）により、複数のクライアント端末１００によりウェブ会議を行うサービスを提供する。
【００２１】
ここでいうカメラ画像とは、会議に参加中のユーザのユーザＩＤが入力されたクライアント端末１００が使用するカメラで撮像され、サーバ２００に送信されている画像である撮像画像であり、例えば、ユーザ自身の顔を写した画像である。
【００２２】
また、ここでいうアプリ画像とは、クライアント端末１００の入力部を介して、ユーザ操作に応じて指定を受け付けた、クライアント端末１００からサーバ２００に送信される画像である。例えば、クライアント端末１００のデスクトップ画面や、クライアント端末１００において起動しているアプリケーションの画面（アプリウィンドウ）の画像等である。
【００２３】
サーバ２００は、アプリ画像の送信元のクライアント端末のユーザと同じ会議に参加している他のユーザの他のクライアント端末１００に対してアプリ画像を送信し、共有する。
【００２４】
つまり、本実施形態のウェブ会議システムは、クライアント端末１００（例：１００Ａ）に表示されている画面の画像を他のクライアント端末（例：１００Ｂ、１００Ｃ、１００Ｄ）の画面に表示する、画面共有（アプリ画像の表示の共有処理）を行うことができる。
【００２５】
例えばユーザ操作により選択されたアプリケーションの画面のみをアプリ画像として共有することができる。
【００２６】
また、クライアント端末１００に表示されているデスクトップ画面の指定を受け付けることで、当該デスクトップ画像全体をアプリ画像として共有することができる（デスクトップ共有）。
【００２７】
クライアント端末１００は、例えば１００Ａに示すようなデスクトップＰＣや、１００Ｂ、１００ＤのようなノートＰＣ、１００ＣのようなタブレットＰＣである。クライアント端末１００は、サーバ２００から受信した会議画面に、同じくサーバ２００から受信した画像や映像（カメラ画像）や、アプリ画像を表示する。
【００２８】
本実施形態においてクライアント端末１００には、サーバ２００へアクセスするためのウェブブラウザ、及び専用のモジュールがインストールされているものとする。なお、この専用のモジュールは、例えば、ウェブブラウザを介して、サーバ２００からダウンロードするＡｃｔｉｖｅＸコンポーネントである。
【００２９】
なお、ウェブ会議において自身の動画像を送信する場合は、ビデオデバイスである（ウェブカメラ等の）カメラ１０１を接続する。音声を送信する場合は、マイク１０２を接続し、相手の音声を視聴するためにはスピーカ１０３を接続する。マイク１０２およびスピーカ１０３はオーディオデバイスである。
【００３０】
また、図１においては各デバイスを別々の筐体として例示しているが、例えば１０１〜１０３が同じ筐体のハードに備えられているデバイスを用いてもよい。
【００３１】
例えばカメラ機能とマイク機能や、マイク機能とスピーカ機能、および全ての機能を備えたデバイスである。
【００３２】
また、クライアント端末１００に１０１〜１０３のデバイスが内蔵されている場合、これらの内蔵されているデバイスを用いて、画像、音声等を入力・出力するようにしてもよい。
【００３３】
また、本ウェブ会議システムは、ルームと呼ばれる仮想の会議室をサーバ２００において複数生成、記憶、管理することができる。
【００３４】
クライアント端末１００を操作するユーザは、自身のユーザＩＤ・パスワードを用いて、ウェブブラウザ経由でサーバ２００にアクセスしてログインし、自身のユーザＩＤを用いて当該ルームに入室することで、当該ルームにおいて開催される会議に参加することができる。以上が図１の説明である。
【００３５】
次に図２を参照して、本発明の実施形態における各種装置に適用可能なハードウェア構成の一例について説明する。
【００３６】
図２において、２０１はＣＰＵで、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステム（以下、ＯＳ）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【００３７】
２０３はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０２あるいは外部メモリ２１１からＲＡＭ２０３にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【００３８】
また、２０５は入力コントローラで、入力デバイス２０９からの入力を制御する。入力デバイス２０９としては、キーボード、タッチパネル、及びマウス等のポインティングデバイス等が挙げられる。
【００３９】
なお、入力デバイス２０９がタッチパネルの場合、ユーザがタッチパネルに表示されたアイコンやカーソルやボタンに合わせて押下（指等でタッチ）することにより、各種の指示を行うことができることとする。また、タッチパネルは、マルチタッチスクリーンなどの、複数の指でタッチされた位置を検出することが可能なタッチパネルであってもよい。
【００４０】
２０６はビデオコントローラで、ディスプレイ２１０等の表示機への表示を制御する。なお、ディスプレイ２１０は、ＣＲＴ、液晶ディスプレイ等の表示機のことを指す。または、その他の表示機であってもよい。なお、本体と一体になったノート型パソコンのディスプレイも含まれるものとする。外部出力装置はディスプレイに限ったものははく、例えばプロジェクタであってもよい。
【００４１】
また、図２のハードウェア構成を適用する装置が前述のタッチ操作を受け付け可能な装置である場合には、ディスプレイ２１０が入力デバイス２０９としての機能を提供する。
【００４２】
２０７はメモリコントローラで、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク（ＨＤＤ）や、フレキシブルディスク（ＦＤ）、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００４３】
２０８は通信Ｉ／Ｆコントローラで、ネットワークを介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信等が可能である。
【００４４】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォント展開（ラスタライズ）処理を実行することにより、ディスプレイ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ディスプレイ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００４５】
本発明を実現するための後述する各種プログラムは、ＲＯＭ２０２あるいは外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。
【００４６】
さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報、テーブル等も、外部メモリ２１１に格納されており、これらについての詳細な説明も後述する。
【００４７】
カメラコントローラ２１２は、カメラ２１４等による映像取得を制御し、音声コントローラ２１３はマイク／スピーカ２１５等による音声取得制御やスピーカへの出力を制御する。
【００４８】
カメラ２１４は、図２のハードウェア構成を適用する装置に内蔵されているカメラである。また、マイク／スピーカ２１５は、図２のハードウェア構成を適用する装置に内蔵されているマイク及びスピーカである。以上が図２の説明である。
【００４９】
次に図３を参照して、本発明の実施形態における、各種装置の機能構成の一例について説明する。
【００５０】
クライアント端末１００は、会議用クライアントアプリケーション３１０を備える。また、会議用クライアントアプリケーション３１０は、カメラ画像記憶制御部３１１、表示制御部３１２、送信画像記憶部３１３、画像取得部３１４、位置決定部３１５、サイズ・形状決定部３１６、送信制御部３１７等を備えている。
【００５１】
また、クライアント端末１００は、カメラのドライバソフトウェアを備えており、当該ドライバはカメラが撮像したカメラ画像を、クライアント端末１００のメモリ上にある当該ドライバが管理する記憶部に順次記憶する。
【００５２】
カメラ画像記憶制御部３１１は、当該メモリに記憶されているカメラ画像を読み出して取得し、会議用クライアントアプリケーション３１０自身が管理する、サーバに送信する画像を記憶する記憶部である送信画像記憶部３１３（送信用画像キュー５３０／図５）に記憶する。
【００５３】
カメラ１０１は継続的に撮像処理（動画の撮像及びクライアント端末１００への動画の入力）を行うため、当該画像キューには、動画を構成する複数の画像が、動画内のフレームごとに順々に記憶される。
【００５４】
画像取得部３１４は、クライアント端末１００が表示されるアプリケーションウィンドウの画像（アプリ画面の画像であるアプリ画像）を取得する処理部である。当該画像は、例えばＯＳに要求して取得する。
【００５５】
位置決定部３１５は、他の端末と表示を共有する対象として選択されたアプリケーションウィンドウの位置を、当該共有に適した位置に決定し、移動する。例えば、当該ウィンドウ全体のキャプチャ画像を取得できるように、当該ウィンドウの全体がモニタにおさまる位置を特定し、その位置にウィンドウを移動する。
【００５６】
ここでいうモニタとは、ディスプレイ装置全体に表示されている画面である。拡張ディスプレイ（拡張モニタ）の機能を用いて、デユアルディスプレイ（マルチディスプレイ）が適用されている場合、２つのモニタがクライアント端末１００により記憶、管理されているものとする。
【００５７】
サイズ・形状決定部３１６は、他の端末と表示を共有する対象として選択されたアプリケーションウィンドウのサイズおよび形状を、当該共有に適したサイズおよび形状に決定し、変形する。例えば、当該ウィンドウ全体のキャプチャ画像を取得できるように、当該ウィンドウの全体がモニタにおさまるサイズと形状を特定し、変形させる。
【００５８】
送信制御部３１７は、カメラ１０１において撮像され入力されたカメラ画像（映像）や、ユーザ操作等により表示を共有する画像として選択されたアプリウィンドウの画像を、サーバ２００に送信制御する処理部である。
【００５９】
送信された画像は、サーバ２００の受信制御部３２２で受信され、メモリ上の配信画像記憶部３２３（画像キュー）に格納される。
【００６０】
サーバ２００は、会議情報記憶部３２１、受信制御部３２２、配信画像記憶部３２３、配信制御部３２４等を備えている。各機能部は、会議用サーバアプリケーション３２０が備える機能である。
【００６１】
会議情報記憶部３２１は、どのユーザが、どの会議室に入室してどのユーザと会議を行っているかを記憶する記憶部である。
【００６２】
受信制御部３２２は、クライアント端末１００の送信制御部３１７より送信されたカメラ画像（映像）、およびアプリ画像、音声を受信する受信部である。
【００６３】
配信画像記憶部３２３は、受信制御部３２２で受信したカメラ画像（映像）、およびアプリ画像、音声を記憶する記憶部である。
【００６４】
配信制御部３２４は、配信画像記憶部３２３に記憶されている画像やアプリ画像、音声等を、同じ会議に参加している（例：同じ会議室に入室中の）、当該画像や音声の送信元のクライアント端末１００とは別の、他のクライアント端末１００に送信（配信）する制御部である。
【００６５】
なお、本実施形態においては、クライアント端末１００がサーバ２００に対して、配信画像記憶部３２３からの画像の取得要求を行うことで、当該要求に応じてサーバ２００の配信制御部３２４が要求元のクライアント端末１００に対して、当該要求受付時におけるキュー内の最新の画像を送信するものとする。
【００６６】
クライアント端末１００の表示制御部３１２は、要求した画像を受信した後、当該受信した画像（動画内の１フレーム）を表示画面に表示する。そして当該表示と並行して、当該動画内の次の画像をサーバ２００に要求する。会議が終了する等、動画の表示が終了するまで、当該画像の要求と表示を繰り返す。
【００６７】
また、送信制御部３１７は、表示を共有する対象として選択されているアプリウィンドウの少なくとも一部が取得されない場合に、当該少なくとも一部が取得されなくなって以降のアプリウィンドウの画像の送信を停止する。
【００６８】
アプリウィンドウの少なくとも一部が取得されない場合とは、アプリウィンドウの全部または一部が、当該アプリウィンドウの属するモニタからはみ出し、はみ出している部分が黒塗りになった当該アプリウィンドウのキャプチャ画像が取得される場合である。アプリウィンドウ１１０４がモニタからはみ出している場合の画面例を図１５の１５１０に示す。
【００６９】
また、アプリウィンドウの全部または一部が、他のウィンドウによって隠れている場合でも、アプリウィンドウの少なくとも一部が取得されないと判断する。当該他のウィンドウの位置やＺオーダはＯＳに問い合わせて取得する。一覧の一例を図６の６３０に示す。
【００７０】
なお、文字入力に際し表示される、文字の変換候補の選択ウィンドウも、当該他のウィンドウの１つである。
【００７１】
アプリウィンドウ１１０４が他のウィンドウによって隠れている場合の画面例を、図１５の１５００に示す。図１５の１５００では、表計算アプリのウィンドウによって、アプリウィンドウ１１０４の一部が隠れている。
【００７２】
そして、当該アプリウィンドウ全体の画像が取得されるようになるまで、画面からはみ出る又は他のウィンドウによって隠れる直前のアプリウィンドウの画像を、繰り返しサーバ２００に送信する。
【００７３】
サーバ２００は当該画像を順次、他のクライアント端末１００に配信するため、他のクライアント端末１００では、全体が写ったアプリウィンドウの画像が連続して再生され、静止画のように表示される。
【００７４】
例えば、表示内容をスクロールしたり、プレゼンテーション資料のページを切り替えたりしても、アプリ画像の送信先の端末では、アプリウィンドウがモニタからはみ出る前、あるいは、アプリウィンドウに他のウィンドウが重なる前の、当該アプリウィンドウ全体の画像が継続して表示されることとなる。
【００７５】
つまり、アプリウィンドウがはみ出た状態、又は、アプリウィンドウに他のウィンドウが重なった状態で、当該アプリウィンドウ内の表示を切り替えても、他のクライアント端末１００上においては、当該表示の切り替えは反映されない。
【００７６】
アプリウィンドウの画像の送信元であるクライアント端末１００では、当該アプリウィンドウの表示がリアルタイムに送信先のクライアント端末１００に反映されているか否かをユーザに通知するための表示をする。一例を図１２の１２０１と、図１５の１５０１に示す。以上が図３の説明である。
【００７７】
図４〜図１７を参照して、本発明における具体的な処理の内容について説明する。
【００７８】
各図に示すフローチャートの各ステップの処理は、クライアント端末１００またはサーバ２００のＣＰＵ２０１が、各装置の機能部の機能を用いて実行する。
【００７９】
まず図４を参照して、本発明の電子会議システム（情報処理システム）のカメラ画像送信処理について説明する。図４のクライアント端末１００の処理は、１００Ａ〜１００Ｄのどのクライアント端末１００でも実行可能である。図４の説明では、一例として、クライアント端末１００Ａが実行するものとして説明する。
【００８０】
クライアント端末１００Ａは、サーバ２００の提供するウェブ会議サービスを享受するために、ブラウザソフト上におけるユーザ操作に応じて所定のＵＲＬにアクセスし、図７のログイン画面７００を表示する（ステップＳ４０１）。
【００８１】
そして、当該ログイン画面７００においてユーザＩＤとパスワードの入力を受け付けて、「ログイン」ボタンの押下を受け付けることで、サーバ２００へのログイン要求を送信する（ステップＳ４０２）。
【００８２】
サーバ２００は、当該ログイン要求を受け付け（ステップＳ４０３）、自装置の外部メモリに予め記憶されているユーザ情報（ユーザＩＤ及びパスワード／図５の５００に例示）と突き合わせて認証処理（ログイン処理）を行う（ステップＳ４０４）。
【００８３】
サーバ２００へのログインが成功した場合、図７に示すメニュー画面７１０の画面情報（例えばｈｔｍｌ情報）を生成して、クライアント端末１００Ａに送信する（ステップＳ４０５）。
【００８４】
メニュー画面７１０は、メニュー表示部７１３と、「ログアウト」ボタン、会議室表示領域７１４と、「参加する」ボタン７１１、７１２を備える。
【００８５】
クライアント端末１００Ａは、当該画面情報を受信して、受信した画面情報に基づいてメニュー画面を表示画面に表示する（ステップＳ４０６）。
【００８６】
クライアント端末１００Ａは、参加する会議（参加する会議が開催されている入室先のルーム（会議室））の選択を受け付けることで、サーバ２００に当該会議への参加要求を送信する（ステップＳ４０７）。
【００８７】
具体的には、「参加する」ボタン７０１の押下を受け付けた場合に、会議室１への入室要求をサーバ２００に送信する。また、「参加する」ボタン７０２の押下を受け付けた場合に、会議室２への入室要求をサーバ２００に送信する。
【００８８】
「参加する」ボタンの数は、例えば、会議室の数に応じて増減する。
【００８９】
クライアント端末１００Ａは、当該入室要求に、クライアント端末１００Ａでログイン中のログインユーザのユーザＩＤ、入室対象のルームの識別情報（ルームＩＤ）、クライアント端末１００Ａの識別情報（例えばＩＰアドレス）等の情報を含めて、当該要求をサーバ２００に送信するものとする。
【００９０】
サーバ２００のＣＰＵ２０１は当該入室要求を受け付けると（ステップＳ４０８）、要求されたルーム（会議室）にユーザを入室させる入室処理を実行する（ステップＳ４０９）。具体的には、入室処理として、どの会議室に、どのユーザが、どの端末で入室しているか記憶する処理を行う。
【００９１】
具体的には、入室情報５１０（図５）の会議室ＩＤ５１１には入室要求がされた会議室の会議室ＩＤ、入室情報５１０（図５）の参加者ＩＤ５１２には入室させるユーザのユーザＩＤ、入室情報５１０（図５）の端末ＩＤ５１３には当該ユーザＩＤの送信元（入室要求元）のクライアント端末１００ＡのＩＤを記憶する。入室情報５１０は、会議室ごとに、サーバ２００の外部メモリ２１１に記憶・保持されている。
【００９２】
なお、会議室では時間ごとに異なる会議が行われる。どの会議室でどのような会議を行うかは、クライアント端末１００Ａに表示する、不図示の会議予約画面を介したユーザ操作により指定を受け付け、サーバ２００が、受け付けた内容を図５の会議情報５２０に記憶する。
【００９３】
会議情報５２０は、どの会議室（会議室ＩＤ５２１）において、どの時間５２２に、どの会議（会議ＩＤ５２３）が行われるか／行われているかを記憶・管理するテーブルである。当該テーブルはサーバ２００の外部メモリ２１１に記憶されている。
【００９４】
会議室への入室要求とは、当該入室要求をした時間に開催されている会議への参加要求である。
【００９５】
入室処理が完了すると、サーバ２００は、クライアント端末１００Ａのカメラにより撮像されたカメラ画像を表示する会議画面７２０の画面情報（図７／例えばｈｔｍｌ情報）を、クライアント端末１００Ａに送信する（ステップＳ４１０）。
【００９６】
クライアント端末１００Ａは、当該画面情報を受信し、受信した画面情報に基づいて会議画面を表示する（ステップＳ４１１／表示制御部３１２が表示する）。
【００９７】
以降、会議が終了するまで、ステップＳ４１７〜ステップＳ４１９の処理を実行・継続する。ステップＳ４１７〜ステップＳ４１９の処理については後述する。
【００９８】
また、クライアント端末１００Ａは、カメラ（自機に接続されているカメラ１０１又は自装置に内蔵されるカメラ２１４）を起動し、画像の撮像を開始する（ステップＳ４１２）。ここではカメラ１０１を起動したものとする。
【００９９】
以降、会議が終了するまで、ステップＳ４１３〜ステップＳ４１４の処理を繰り返し実行・継続する。ステップＳ４１３〜ステップＳ４１４の処理については後述する。
【０１００】
クライアント端末１００Ａは、自機の備える、ステップＳ４１２で起動されたカメラ１０１からのカメラ画像（映像）の入力を受け付けることで、カメラ１０１で撮像されたカメラ画像を取得し、会議画面上に表示する。
【０１０１】
例えば会議画面７２０における、画像表示領域７２３に、自機のカメラで撮像した画像を表示する。
【０１０２】
図７における会議画面７２０の画面レイアウトは、画像表示領域７２３を４つ配置したレイアウトである。
【０１０３】
参加者名表示部７２２には、画像表示領域７２３に表示する画像の送信元の名称を表示する。例えば、当該画像の送信元のクライアント端末１００でサーバ２００にログインしているユーザのユーザ名を表示する。
【０１０４】
ボタン表示領域７２１には、アプリ画像の共有を開始するための「アプリ共有」ボタンや、会議から退出する（会議室から退室する）ための「退出」ボタン７１４等を表示する。
【０１０５】
また、クライアント端末１００は、カメラ１０１からの入力画像（映像）を会議画面に表示する一方で、映像コーデックによる画像（映像）の圧縮処理を行い、圧縮後の画像を、１フレームごとに、順々に自装置のメモリ上の画像キューに保存・記憶する（ステップＳ４１３）。
【０１０６】
当該画像キューの一例を図５の送信用画像キュー５３０に示す。送信用画像キューとは、外部装置に送信するための画像を順次記憶するキューである。
【０１０７】
記憶及び送信する際の画像のフレームレートは、図５のフレームレート５７０に示す値がメモリに記憶されており、これに従う。フレームレートの値は、サーバ２００からクライアント端末１００へ、会議参加時に送信・配布される。
【０１０８】
送信用画像キュー５３０は、各画像の識別番号（識別情報）であり、画像の順序を示す識別番号５３１（シーケンス番号）と、画像の実体（画像データ／映像の中の１フレームの画像）である画像５３２の項目から構成される。
【０１０９】
クライアント端末１００はＡ、カメラ１０１から取得した映像の各フレームの画像に対し、当該画像を取得した順に識別番号を割り振って、送信用画像キュー５３０に記憶する。
【０１１０】
ステップＳ４１４で、クライアント端末１００Ａは、カメラ機能のＯＮ／ＯＦＦ設定５８０を参照し、カメラ機能がＯＮになっている場合に、送信用画像キュー５３０に保存した画像を、送信するものとする。
【０１１１】
カメラ機能のＯＮ／ＯＦＦ設定５８０は、クライアント端末１００Ａに表示する不図示の設定画面を介したユーザ操作により、自由に設定変更可能である。
【０１１２】
クライアント端末１００Ａは、サーバ２００に対して、送信用画像キュー５３０に示す情報をサーバ２００に送信する（ステップＳ４１４）。
【０１１３】
具体的には、動画コーデックによるデータ圧縮処理を用いて当該画像を識別番号と共にデータサイズを少なく高フレームレートで順次送信する。
【０１１４】
サーバ２００は、当該画像（圧縮データ）を受信し、例えば動画コーデックによるデータ伸張処理を用いて画像データに変換する（ステップＳ４１５）。
【０１１５】
そして、サーバ２００は、ユーザごとに、受信した画像を記憶して管理する（ステップＳ４１６）。
【０１１６】
具体的には、自装置のメモリ上に保持しているユーザ別画像キュー５４０（図５に図示）における、当該画像の送信元のクライアント端末１００でサーバ２００にログインしているユーザのレコードに追加して記憶する。
【０１１７】
ユーザ別画像キュー５４０は、ユーザＩＤ５４１と、画像５４３及び画像の識別番号５４２、送信済みユーザ５４４から構成される。
【０１１８】
ユーザ別画像キュー５４０は、ユーザの会議室への入室処理が行われた場合に、サーバ２００のＣＰＵ２０１により、当該会議室に入室したユーザごとに（会議への参加者であるユーザＩＤ５４１ごとに）生成され、メモリ上に保持される。
【０１１９】
ユーザ別画像キュー５４０の識別番号５４２には、クライアント端末１００より受信した、送信用画像キュー５３０の識別番号５３１が、ユーザ別画像キュー５４０の画像５４３には同じくクライアント端末１００より受信した、送信用画像キュー５３０の画像５３２と同じ情報が対応付けて記憶される。
【０１２０】
送信済みユーザ５４４には、５４３の画像を送信済みのユーザのユーザＩＤが記憶される。
【０１２１】
クライアント端末１００Ａは、ステップＳ４１７において、他の会議参加者の画像（ステップＳ４１７の実行時点で、同じルームに入室している他の入室者のユーザＩＤのユーザ別画像キュー５４０の画像）の取得要求をサーバ２００に送信する（ステップＳ４１７）。
【０１２２】
つまり、同じ会議に参加中の他のユーザの画像を要求する。
【０１２３】
サーバ２００のＣＰＵ２０１は当該取得要求を受け付け（ステップＳ４２０）、要求元のクライアント端末１００でログインしているユーザ以外の、当該ユーザと同じルームに入室中のユーザのユーザＩＤを、入室情報５１０を参照して特定し、特定した他の入室者のユーザ別画像キュー５４０をそれぞれ特定する。
【０１２４】
そして、特定した他の入室者のユーザ別画像キュー５４０の画像のうち、最新の識別番号（最も後ろの番号）の画像を、それぞれのユーザ別画像キュー５４０から取得し、取得した各ユーザの画像（クライアント端末１００のカメラで撮像されたカメラ画像）を、当該画像に対応するユーザＩＤと共に要求元のクライアント端末１００に送信する（ステップＳ４２１）。
【０１２５】
つまり、同じ会議に参加中の他のユーザの画像を送信する。
【０１２６】
その後、ユーザ別画像キュー５４０において、画像５４３を送信した先のユーザのユーザＩＤを、送信済みユーザ５４４に記憶する（ステップＳ４２２）。
【０１２７】
クライアント端末１００Ａは、ステップＳ４２１で送信された画像（圧縮データ）を受信し、表示用画像として、当該画像の送信元のユーザ（ユーザＩＤ５５１に示すユーザ）ごとのキューに記憶する。当該キューの一例を図５の表示用画像キュー５５０に示す（ステップＳ４１８）。
【０１２８】
表示用画像キュー５５０は、受信した画像５５４の送信元のユーザ（ユーザＩＤ５５１に示すユーザ）ごとに生成して記憶する。識別番号５５２は画像５５３のシーケンス番号である。
【０１２９】
つまり、表示用画像キュー５５０のユーザＩＤ５５１には、ユーザ別画像キュー５４０と同じユーザＩＤ５４１の値が、表示用画像キュー５５０の識別番号５５２には、ユーザ別画像キュー５４０の識別番号５４２と同じ値が記憶される。また、表示用画像キュー５５０の画像５５３には、ユーザ別画像キュー５４０の画像５４３が同じ画像が、当該画像が受信される都度、追加登録される。
【０１３０】
クライアント端末１００Ａは、送信されてきた画像のユーザが画像表示領域７２３に未割当のユーザである場合、当該ユーザを、ユーザが未割当の画像表示領域７２３に割り当てる処理を行う。割当状況を管理するテーブルの一例を、表示領域情報５６０に示す。
【０１３１】
表示領域情報５６０は、クライアント端末１００の外部メモリに予め記憶されている。表示領域５６１には、画像表示領域７２３のＩＤが記憶される。ユーザＩＤ５６２には、各表示領域に割り当てられたユーザのユーザＩＤが記憶される。
【０１３２】
クライアント端末１００Ａは、受信した各ユーザの画像に対して映像コーデックによる伸長処理を行って映像（画像）を復元し、復元した各ユーザの画像を、表示領域情報５６０に示される各ユーザに対応する表示領域５６１（図７の７２３）に表示する（ステップＳ４１９）。
【０１３３】
クライアント端末１００Ａは、受信した画像を、それぞれの画像のユーザに対応する表示領域に表示することで、各ユーザの画像（カメラ画像）の表示を更新し、動画像（映像）として再生・表示する。
【０１３４】
ウェブ会議を行う場合、実際には、複数のクライアント端末１００（１００Ａ〜１００Ｄ等）が存在する場合がある。そのためサーバ２００は、例えばステップＳ４１５及びＳ４１６、ステップＳ４２０及び４２１の処理を、会議に参加しているユーザ数だけ（例：クライアント端末１００Ａ〜１００Ｄで参加しているユーザ００１〜００４の数だけ）実行することとなる。
【０１３５】
会議の終了について説明する。例えば、会議画面７２０における「退出」ボタン７２４の押下操作を受け付けた場合に、ログインユーザにとっての会議終了がされたと判定するものとする。
【０１３６】
また、ルーム使用の終了時刻がサーバ２００に記憶されている場合、当該終了時刻になるとサーバ２００はウェブ会議を強制終了し、当該強制終了した旨を強制終了した会議に参加していたユーザのクライアント端末１００に通知する。クライアント端末１００Ａは、当該強制終了の通知を受け付けた場合に、会議が終了したものと判定する。以上が図４の説明である。
【０１３７】
次に図８を参照して、本発明の実施形態における、処理の流れについて説明する。各ステップの処理は、クライアント端末１００のＣＰＵ２０１が、各機能部の機能を用いて実行する。
【０１３８】
図８の処理は、１００Ａ〜１００Ｄのどのクライアント端末１００でも実行可能である。図８の説明では、一例として、クライアント端末１００Ｄが処理を実行するものとして説明する。
【０１３９】
なお、ステップＳ８０１の開始時点においては、既に会議画面７２０が表示されているものとする。
【０１４０】
クライアント端末１００は、図４のカメラ画像の送信及び受信処理実行後、図８のステップＳ８０１の処理を開始する。
【０１４１】
ステップＳ８０１で、クライアント端末１００Ｄは、表示制御部３１２により表示された会議画面上の「アプリ選択」ボタン１１０５（図１１）の押下を受け付ける。
【０１４２】
なお、図１１の１１００は、アプリ選択機能の使用者（本実施例においてはユーザ００４とする）のクライアント端末のデスクトップ画面である。本実施形態においては、１１００が１つのモニタを示している。
【０１４３】
「アプリ選択」ボタン１１０５は、会議画面１１０１に含まれる。画像表示領域１１０６は、画像表示領域７２３と同様のため説明は割愛する。
【０１４４】
クライアント端末１００Ｄの表示制御部３１２は、当該「アプリ選択」ボタン１１０５の押下を受け付けることにより、アプリ選択機能の起動指示を受け付ける（ステップＳ８０１）。
【０１４５】
表示制御部３１２は、アプリ選択ウィンドウ１１０２（図１１）を表示する（ステップＳ８０２）。アプリ選択ウィンドウ１１０２とは、同じ会議の参加者の端末と画面を共有したいアプリの画面を選択（指定）・表示するためのウィンドウである。
【０１４６】
アプリ選択ウィンドウ１１０２には、アプリを選択するために用いるクリップ型のオブジェクト１１０３を表示する。
【０１４７】
クライアント端末１００Ｄの送信制御部３１７は、サーバ２００へのカメラ画像の送信を停止する（ステップＳ８０３）。つまり、カメラ画像を他のクライアント端末１００と共有する処理を停止する。
【０１４８】
具体的には、カメラ画像を送信用画像キューに出力して記憶しているソフトウェアモジュール（カメラ画像記憶制御部３１１）に対して、当該出力処理を停止するように指示し、当該モジュールが当該出力処理を停止することで、送信用画像キューに次のカメラ画像が記憶されなくなる。これにより、当該送信用画像キューからカメラ画像を取得できなくなり、カメラ画像の送信が停止される。
【０１４９】
送信制御部３１７は、クライアント端末１００Ｄ自身の外部メモリにあらかじめ記憶されている「画像入力なし」を示す静止画像を取得し、カメラ画像の代わりに、送信用画像キューに記憶する。つまり、カメラ画像の代わりに（カメラ画像として）、当該静止画像をサーバに送信する処理を開始する（ステップＳ８０４）。
【０１５０】
「画像入力なし」を示す静止画像の一例を図１７の１７１１に示す。図１７の１７１０は、アプリ選択機能を起動していないクライアント端末１００（本実施例においては、ユーザ００３が操作するクライアント端末１００Ｃとする）のデスクトップ画面である。
【０１５１】
当該処理により、後のステップＳ８０７の処理によりアプリ画面の画像（アプリ画像）の送信が開始されるまで図１７の１７１１のような画像が、カメラ画像として、当該クライアント端末１００Ｄとは別の、他のユーザのクライアント端末１００（例：１００Ｃ）に送信されることとなる。当該送信処理は、図４のステップＳ４１４およびＳ４２１で実行される。
【０１５２】
クライアント端末１００Ｄは、カメラ画像の代わりに画像を共有するアプリ画面の選択を受け付ける（ステップＳ８０５）。
【０１５３】
具体的には、アプリ選択ウィンドウ１１０２に表示したクリップ型のオブジェクト１１０３を、デスクトップ画面に表示されているアプリウィンドウ１１０４に重ねる操作を受け付けることで、当該アプリケーションのウィンドウに表示されている画面の選択を受け付けたものと判定する。当該操作の様子を図１１に示す。
【０１５４】
次に、クライアント端末１００Ｄは、選択されたアプリ画面位置・サイズ調整処理を実行する（ステップＳ８０６）。そして、アプリウィンドウの画像（アプリ画面の画像）を、他の端末と共有する共有処理を実行する（ステップＳ８０７）。
【０１５５】
当該決定処理の詳細は、図９の説明で後述する。また、共有処理の詳細は図１０の説明で後述する。
【０１５６】
ここで図９を参照して、当該決定処理の詳細について説明する。
【０１５７】
クライアント端末１００Ｄは、アプリ画像のアスペクト比設定６１０（図６）を参照する（ステップＳ９０１）。
【０１５８】
当該設定は、不図示のアスペクト比指定画面（縦横比固定の設定画面等）において設定された設定値であり、クライアント端末１００Ｄの外部メモリに記憶されている。
【０１５９】
「４：３」が設定されている場合、横４：縦３にアスペクト比を固定する設定がされていると判断する。一方、「Ｎｕｌｌ」が設定されている場合は、アスペクト比を固定する設定がされていないと判断する。
【０１６０】
クライアント端末１００Ｄのサイズ・形状決定部３１６は、アスペクト比が固定されているか否かの設定に従ってアプリ選択ウィンドウ１１０２またはアプリウィンドウ１１０４のウィンドウサイズと形状を決定し、変更する（ステップＳ９０２）。
【０１６１】
アスペクトを比固する設定がされていない場合は、選択されたアプリウィンドウ１１０４のウィンドウサイズ・形状に従い、アプリ選択ウィンドウ１１０２のサイズと形状を変更する。
【０１６２】
各ウィンドウのサイズ・形状・位置は、クライアント用会議アプリケーションが、ＯＳに問い合わせて取得する。
【０１６３】
例えば、四角形のウィンドウの４つの頂点のうち、左上の頂点座標と右下の頂点座標（例：モニタの頂点４つの内、左上の頂点をＸ，Ｙ＝０，０とした場合のＸＹ座標）を取得する。これにより、ウィンドウのサイズと形状が特定可能である。また、当該ウィンドウの中心点を、当該ウィンドウの位置とする。
【０１６４】
例えば、アプリウィンドウ１１０４の外寸が３２０×６４０ｐｉｘｅｌの場合、アプリ選択ウィンドウ１１０２の内寸が３２０×６４０ｐｉｘｅｌになるように、アプリ選択ウィンドウ１１０２の形状を変更する。
【０１６５】
また、クライアント端末１００Ｄの位置決定部３１５は、図１３の１３００に示すように、アプリ選択ウィンドウ１１０２の位置を、アプリウィンドウ１１０４がウィンドウ内に収まる位置に決定し、移動する。
【０１６６】
つまり、図１３の１３００に示すように、アプリウィンドウ１１０４がぴったり収まるようにアプリ選択ウィンドウ１１０２のサイズ・形状を変更し、位置をアプリウィンドウ１１０４にあわせて移動する。
【０１６７】
アスペクトを比固する設定がされている場合は、アプリ選択ウィンドウ１１０２のウィンドウサイズ・形状に従い、選択されたアプリウィンドウ１１０４のサイズと形状を変更する。
【０１６８】
例えば、図１２の１２００に示すように、アプリ選択ウィンドウ１１０２にぴったり収まるサイズ・形状に、アプリウィンドウ１１０４のサイズと形状を変更し、アプリウィンドウ１１０４の位置をアプリ選択ウィンドウ１１０２におさまる位置に移動する。
アスペクト比が固定されている場合において、クライアント端末１００Ｃがクライアント端末１００Ｄから受信し、表示するアプリウィンドウ１１０４の画像の一例を図１２の１２１２に示す。１２１２に示すように、固定されている画像のアスペクト比が、画像の表示枠のアスペクト比と近ければ、表示枠いっぱいに画像を表示することができる。なお、１２１１はユーザ００３が利用するクライアント端末１００Ｃの会議画面である。
【０１６９】
一方、アスペクト比が固定されていない場合において、クライアント端末１００Ｃがクライアント端末１００Ｄから受信し、表示するアプリウィンドウ１１０４の画像の一例を図１３の１３１１に示す。アスペクト比の変更によってアプリウィンドウ１１０４内の画像のレイアウトが崩れることなく、画像を共有することができる。
【０１７０】
クライアント端末１００Ｄは、アプリウィンドウ１１０４の表示されている領域（モニタ上の座標）を特定する（ステップＳ９０３）。
【０１７１】
クライアント端末１００Ｄは、当該アプリウィンドウ１１０４の表示されているモニタを特定し、ピクセルサイズを取得する（ステップＳ９０４）。
【０１７２】
クライアント端末１００Ｄのサイズ・形状決定部３１６は、アプリウィンドウ１１０４がモニタサイズより大きいか判定する（ステップＳ９０５）。
【０１７３】
モニタサイズ以下の大きさの場合には、処理をステップＳ９０７に移行する。モニタサイズより大きい場合は、アプリウィンドウ１１０４のウィンドウサイズを、モニタに収まるサイズに変更する（ステップＳ９０６）。
【０１７４】
例えば、サイズ・形状決定部３１６は、アプリウィンドウ１１０４のサイズと形状を、モニタと同じサイズ・形状に変更する。すなわち、全画面表示した場合と同じサイズ・形状とする。
【０１７５】
クライアント端末１００Ｄの位置決定部３１５は、アプリウィンドウ１１０４の位置をモニタの中央に変更する（ステップＳ９０７）。
【０１７６】
例えば、アプリウィンドウ１１０４の中央の座標を、モニタ中央の座標に一致させる。
【０１７７】
また、アプリ選択ウィンドウ１１０２の位置を、アプリウィンドウを収めることができる位置に移動する。つまり、アプリ選択ウィンドウ１１０２をアプリウィンドウ１１０４に帯同させ、モニタの中央に移動する（例：図１２および図１３の１１０４、１１０２に示す）。以上が図９の説明である。
【０１７８】
次に図１０を参照して、アプリウィンドウの画像共有処理の詳細について説明する。
【０１７９】
クライアント端末１００Ｄは、アプリウィンドウの選択解除の条件が満たされるまでステップＳ１００１〜Ｓ１０１１を繰り返す。
【０１８０】
当該選択解除の条件とは、クリップ型のオブジェクト１１０３と当該アプリウィンドウ１１０４の重なりが解消される、又は、アプリウィンドウ１１０４自体が閉じられることである。
【０１８１】
ここでクリップ型のオブジェクト１１０３と当該アプリウィンドウ１１０４の重なりを解消する条件は、当該アプリウィンドウ１１０４が最小化される、または閉じられる場合を指す。
【０１８２】
クライアント端末１００Ｄの位置決定部３１５は、アプリウィンドウ１１０４の表示されている領域（モニタ上の座標）を特定する（ステップＳ１００１）。
【０１８３】
クライアント端末１００Ｄは、当該アプリウィンドウ１１０４の表示されているモニタを特定し、当該モニタのピクセルサイズを取得する（ステップＳ１００２）。
【０１８４】
クライアント端末１００Ｄのサイズ・形状決定部３１６は、アプリウィンドウ１１０４がモニタに収まっているかを判定する（ステップＳ１００３）。
【０１８５】
例えば、アプリウィンドウ１１０４の左上と右下の２つの頂点座標のうち少なくとも一方がモニタの領域内にない場合、アプリウィンドウ１１０４がモニタに収まっていないと判定し、処理をステップＳ１０１１に移行する。
【０１８６】
アプリウィンドウ１１０４の左上と右下の２つの頂点座標の両方がモニタの領域内に位置している場合、アプリウィンドウ１１０４がモニタに収まっていると判定し、処理をステップＳ１００４に移行する。
【０１８７】
ステップＳ１０１１で、クライアント端末１００Ｄの表示制御部３１２は、アプリ選択ウィンドウ１１０２に、アプリウィンドウ１１０４の画像の共有を停止している旨を示す情報を表示する（ステップＳ１０１１）。
【０１８８】
例えば、図１５の１５００に示すように、アプリ選択ウィンドウ１１０２に「画像停止中」の表示をする。「画像停止中」の表示は、アプリウィンドウ１１０４のキャプチャ画像を、送信用画像キュー５３０に記憶する処理を停止していることを示す。すなわち、他のクライアント端末１００（例：１００Ａ〜１００Ｃ）に共有されている画像（例：１６１１）は、アプリウィンドウ１１０４の表示更新に連動することなく、停止している状態であることを示す。
【０１８９】
つまり「画像停止中」の場合、クライアント端末１００Ｄにおけるアプリウィンドウの表示が図１５の１５００の状態から、図１５の１５００における１１０４のように更新されても、クライアント端末１００Ｃにおける画像の表示は図１６の１６１１のまま（表計算ソフトが重なる前の、アプリウィンドウ１１０４のまま）更新されない。
【０１９０】
ステップＳ１００４では、クライアント端末１００Ｄの送信制御部３１７が、アプリウィンドウ１１０４よりＺオーダが上で、且つ、モニタに表示中であるウィンドウの識別情報一覧をＯＳに問い合わせて取得し（ステップＳ１００４）、処理をステップＳ１００５に移行する。
【０１９１】
アプリウィンドウ１１０４よりＺオーダが上とは、アプリウィンドウ１１０４より前面側に位置しているということである。
【０１９２】
送信制御部３１７は、アプリウィンドウ１１０４が、ステップＳ１００４で取得した識別情報が示す他のウィンドウによって隠れているか判定する（ステップＳ１００５）。
【０１９３】
本実施形態において、アプリウィンドウ１１０４が他のウィンドウによって隠れている状態とは、図１５の１５００に示すように、アプリウィンドウ１１０４の少なくとも一部が他のウィンドウによって隠れている状態を指す。
【０１９４】
アプリウィンドウ１１０４が他のウィンドウによって隠れている場合は処理をステップＳ１０１１に移行する。アプリウィンドウ１１０４が他のウィンドウによって隠れていない場合は、処理をステップＳ１００６に移行する。
【０１９５】
ステップＳ１００６で、クライアント端末１００Ｄの画像取得部３１４は、ＯＳに対し、選択されているアプリウィンドウ１１０４の画像のキャプチャを指示する。そして、ＯＳが実行したキャプチャ処理によって得られたアプリウィンドウ１１０４の画像をＯＳより受け取る（ステップＳ１００６）。
【０１９６】
画像取得部３１４は、受け取った画像を、クライアント端末１００ＤのＲＡＭ２０３上に作成した専用のキャプチャ画像キュー６００（図６）に記憶する（ステップＳ１００７）。キャプチャ画像キュー６００の構成は図５の５３０と同じであるため、説明は割愛する。
【０１９７】
クライアント端末１００Ｄの表示制御部３１２は、アプリ選択ウィンドウ１１０２に、アプリウィンドウ１１０４のリアルタイムの画像を共有している旨を示す情報を表示する（ステップＳ１００８）。
【０１９８】
例えば、図１３の１３００に示すように、アプリ選択ウィンドウ１１０２に「画像更新中」の表示をする。「画像更新中」の表示は、アプリウィンドウ１１０４の表示更新に合わせて、送信用画像キュー５３０に記憶するキャプチャ画像を更新されていることを示す。すなわち、他のクライアント端末１００（例：１００Ａ〜１００Ｃ）においても、アプリウィンドウ１１０４の表示更新に連動して、共有されている画像（例：１３１１）が更新されていることを示す。
【０１９９】
「画像更新中」の場合、クライアント端末１００Ｄにおけるアプリウィンドウの表示が図１３の１３００であれば、クライアント端末１００Ｃにおける画像の表示は１３１１である。また、クライアント端末１００Ｄにおいてアプリウィンドウの表示が図１４の１４００における１１０４のように更新されれば、クライアント端末１００Ｃにおける画像の表示も１４１１のように更新される。
【０２００】
クライアント端末１００の送信制御部３１７は、キャプチャ画像キュー６００から最新のキャプチャ画像を取得して（ステップＳ１００９）、当該キャプチャ画像を、カメラ画像の代わりにサーバ２００に送信する処理を開始する（ステップＳ１０１０）。
【０２０１】
具体的には、送信用画像キュー５３０に当該キャプチャ画像を記憶する処理を開始する。アプリウィンドウ１１０４の選択が解除されるまで、当該アプリウィンドウ１１０４の最新のキャプチャ画像を、順次、送信用画像キュー５３０に記憶することとなる。これにより、ステップＳ４１４で、送信用画像キュー５３０内の当該キャプチャ画像（アプリ画像）が、サーバ２００に、継続して送信されることとなる。
【０２０２】
サーバ２００は、受信制御部３２２で当該キャプチャ画像を受信し、配信画像記憶３２３で画像キューに記憶する。そして、送信元の端末（ここではクライアント端末１００Ｄ）と同じ会議に参加している他のクライアント端末（例えば、１００Ａ〜１００Ｃ）に対して、当該キャプチャ画像を順次送信する。当該キャプチャ画像を受信した各クライアント端末１００は、受信した画像を表示用画像キューに記憶し、順次表示することで、動画再生するように画像表示する。
【０２０３】
つまり、アプリ画像の選択が解除されるまでの間、継続してアプリ画像を取得、送信することができ、選択されたアプリケーションの画面の変化に応じたアプリ画像を、動画のように、複数のクライアント端末間で共有できる。
【０２０４】
クライアント端末１００は、アプリウィンドウ１１０４の選択解除の条件が満たされた場合、ステップＳ１００１〜Ｓ１０１０の処理を終了する。
【０２０５】
次に、画像取得部３１４は、ＯＳに対し、アプリウィンドウ１１０４のキャプチャ終了の指示を出す。すなわり、キャプチャ画像の取得およびキャプチャ画像キュー６００への記憶処理を終了する。そして、処理を図８のステップＳ８０８に移行する。
【０２０６】
図8の説明に戻る。クライアント端末１００Ｄは、アプリ選択機能が終了されたか判定する（ステップＳ８０８）。例えばアプリ選択ウィンドウ１１０２が閉じられた場合に、アプリ選択機能が終了されたと判定する。
【０２０７】
アプリ選択機能が終了されていない場合は、処理をステップＳ８０４に戻す。
【０２０８】
アプリ選択機能が終了された場合、送信制御部３１７は、カメラ画像記憶制御部３１１に対し、送信用画像キュー５３０へのカメラ画像の記憶を再開するよう指示する（ステップＳ８０９）。当該指示に応じて、カメラ画像の送信用画像キュー５３０への記憶処理が再開される。すなわち、ステップＳ４１４によるカメラ画像の送信処理が再開する。以上が図８の説明である。
【０２０９】
なお、上述した説明では、クライアント端末１００Ｄのみがアプリ選択機能を起動し、アプリウィンドウの画像を他のクライアント端末１００に送信した場合について述べたが、当該アプリ選択機能の起動およびアプリウィンドウの画像の送信・共有は、複数のクライアント端末１００において同時に実行可能である。
【０２１０】
例えば、ユーザ００３とユーザ００４のクライアント端末１００でそれぞれ図４、図８、図９、図１０の処理が実行され、アプリ画面の画像が選択、送信・共有された場合、ユーザ００１およびユーザ００２の画面は、図１７の１７００に示すような状態となる。
【０２１１】
例えばユーザ００１のクライアント端末１００Ａは、会議画面１７０１に、ユーザ００４のクライアント端末１００Ｄから受信した画像１２１２（図１２と同一）と、ユーザ００３のクライアント端末１００Ｃから受信した画像１７０２の両方を表示する。
【０２１２】
以上が本発明の実施形態の説明である。
【０２１３】
本発明によれば、選択された画面の共有が適切に行われる仕組みを提供することができる。
【０２１４】
例えば、選択された画面の位置を、共有に適した位置に設定することができる。
【０２１５】
また、選択された画面のサイズを、共有に適したサイズに設定することができる。
【０２１６】
また、選択された画面とは異なる情報の共有を防止することができる。
【０２１７】
また、選択された画面が共有中か否かをユーザに確認させることができる。
【０２１８】
また、例えば、選択された画面以外の画像の写り込みを防止することができる。
【０２１９】
また、一部が欠けたような、不十分な画面の画像が共有されてしまうことを防止できる。
【０２２０】
さらに、画像の一部または全部が取得できなくなる直前の画像を共有し続けることで、画像を共有しなくなる方法のように、被共有者側の端末で、共有画像が表示されたり消えたりする表示の変化を低減し、ユーザによる、当該表示の変化の原因確認の負荷を軽減することができる。
【０２２１】
なお、上述した実施形態においてはウェブ会議を例にあげて本発明の説明をしたが、本発明は例えばテレビ会議、テレビ電話等、画像データを送受信して共有するシステム、サービスに適用可能である。ウェブ会議、テレビ会議、テレビ電話等の電子データを用いた会議を電子会議という。
【０２２２】
本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０２２３】
例えば、各クライアント端末１００において図８〜１０の処理を実行するものとしたが、サーバ２００内でクライアント端末１００のＯＳにおよび会議クライアントアプリケーションに相当するソフトウェアを動作させ、図８〜１０の各処理をサーバ２００上で実行するようにしてもよい。この場合、クライアント端末１００は、サーバ２００上のソフトウェアを遠隔操作する端末となる。
【０２２４】
また、本発明におけるプログラムは、図に示す各フローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は図に示す各フローチャートの処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは図１の各装置の処理方法ごとのプログラムであってもよい。
【０２２５】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【０２２６】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【０２２７】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク等を用いることが出来る。
【０２２８】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２２９】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２３０】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【符号の説明】
【０２３１】
１００Ａ  クライアント端末
１００Ｂ  クライアント端末
１００Ｃ  クライアント端末
１００Ｄ  クライアント端末
１０１  カメラ
１０２  マイク
１０３  スピーカ
１５０  ネットワーク
２００  サーバ
【図１】
2020060851.tif 000003
【図２】
2020060851.tif 000004
【図３】
2020060851.tif 000005
【図４】
2020060851.tif 000006
【図５】
2020060851.tif 000007
【図６】
2020060851.tif 000008
【図７】
2020060851.tif 000009
【図８】
2020060851.tif 000010
【図９】
2020060851.tif 000011
【図１０】
2020060851.tif 000012
【図１１】
2020060851.tif 000013
【図１２】
2020060851.tif 000014
【図１３】
2020060851.tif 000015
【図１４】
2020060851.tif 000016
【図１５】
2020060851.tif 000017
【図１６】
2020060851.tif 000018
【図１７】
2020060851.tif 000019