(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-01-10
(45)【発行日】2023-01-18
(54)【発明の名称】情報処理装置、情報処理装置の制御方法及びプログラム
(51)【国際特許分類】
H04L 67/00 20220101AFI20230111BHJP
H04L 67/02 20220101ALI20230111BHJP
H04N 7/15 20060101ALI20230111BHJP
【FI】
H04L67/00
H04L67/02
H04N7/15 150
(21)【出願番号】P 2018190052
(22)【出願日】2018-10-05
【審査請求日】2021-10-04
(73)【特許権者】
【識別番号】390002761
【氏名又は名称】キヤノンマーケティングジャパン株式会社
(73)【特許権者】
【識別番号】592135203
【氏名又は名称】キヤノンITソリューションズ株式会社
(74)【代理人】
【識別番号】100189751
【氏名又は名称】木村 友輔
(72)【発明者】
【氏名】稲岡 希
【審査官】岩田 玲彦
(56)【参考文献】
【文献】特開2017-220131(JP,A)
【文献】特開2015-106222(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 67/00
H04L 67/02
H04N 7/15
(57)【特許請求の範囲】
【請求項1】
表示手段で表示しているウィンドウのうち他の機器との共有対象ウィンドウの選択を受け付ける受付手段と、
前記受付手段で前記選択を受け付けたことに応じて、前記共有対象ウィンドウとなったウィンドウの
前記表示手段上での位置とサイズの少なくとも一方を、前記選択の前に前記表示手段に表示していたものから変更するように制御する制御手段と
、
前記制御手段によって位置とサイズの少なくとも一方が変更された前記共有対象ウィンドウの表示内容を、前記他の機器で共有されるように送信するように制御する送信制御手段と、
を有することを特徴とする情報処理装置。
【請求項2】
前記制御手段は、前記共有対象ウィンドウの位置とサイズの少なくとも一方を、前記他の機器と共有される範囲に収まるように変更することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記制御手段は、前記共有対象ウィンドウの位置を前記表示手段の中央に変更するように制御することを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記制御手段は、前記共有対象ウィンドウの前記選択の前のサイズが前記表示手段のサイズよりも大きい場合に、前記共有対象ウィンドウのサイズを前記表示手段に収まるサイズに変更するように制御することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
前記制御手段は、前記共有対象ウィンドウの形状及びサイズを、前記共有対象ウィンドウを前記表示手段に全画面表示した場合と同様に変更するように制御することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
【請求項6】
前記制御手段は、前記選択を受け付けたことに応じて、前記共有対象ウィンドウのアスペクト比を所定のアスペクト比に変更するように制御することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
【請求項7】
前記受付手段は、特定のアプリケーションソフトウエアの画面を表示するウィンドウの選択を受付可能であることを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
【請求項8】
前記制御手段によって位置とサイズの少なくとも一方が変更された前記共有対象ウィンドウの表示内容が継続的に前記他の機器と共有されるように処理を行う処理手段を更に有することを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。
【請求項9】
前記処理手段は、前記共有対象ウィンドウの表示内容を前記他の機器と共有している際に前記共有対象ウィンドウが前記表示手段の表示領域に収まらなくなった場合に前記他の機器との共有を停止するように処理することを特徴とする請求項8に記載の情報処理装置。
【請求項10】
前記処理手段は、前記共有対象ウィンドウの表示内容を前記他の機器と共有している際に前記共有対象ウィンドウの少なくとも一部が他のウィンドウによって隠された場合に前記他の機器との共有を停止するように処理することを特徴とする請求項8または9に記載の情報処理装置。
【請求項11】
前記共有対象ウィンドウは、テレビ会議、テレビ電話、ウェブ会議の少なくとも1つにおいて前記他の機器と画面共有する対象となるウィンドウであることを特徴とする請求項1乃至10のいずれか1項に記載の情報処理装置。
【請求項12】
表示手段で表示しているウィンドウのうち他の機器との共有対象ウィンドウの選択を受け付ける受付手段と、
前記受付手段で前記選択を受け付けて前記共有対象ウィンドウとなったウィンドウの表示内容が継続的に前記他の機器と共有されるように処理を行うとともに、
前記共有対象ウィンドウの表示内容を前記他の機器と共有している際に前記共有対象ウィンドウが前記表示手段の表示領域に収まらなくなった場合に前記他の機器との共有を停止するように処理する第1の停止処理と、前記共有対象ウィンドウの表示内容を前記他の機器と共有している際に前記共有対象ウィンドウの少なくとも一部が他のウィンドウによって隠された場合に前記他の機器との共有を停止するように処理する第2の停止処理との少なくとも一方の処理を行う処理手段と
を有することを特徴とする情報処理装置。
【請求項13】
表示手段で表示しているウィンドウのうち他の機器との共有対象ウィンドウの選択を受け付ける受付ステップと、
前記受付ステップで前記選択を受け付けたことに応じて、前記共有対象ウィンドウとなったウィンドウの
前記表示手段上での位置とサイズの少なくとも一方を、前記選択の前に前記表示手段に表示していたものから変更するように制御する制御ステップと
、
前記制御ステップで位置とサイズの少なくとも一方が変更された前記共有対象ウィンドウの表示内容を、前記他の機器で共有されるように送信するように制御する送信制御ステップと、
を有することを特徴とする情報処理装置の制御方法。
【請求項14】
表示手段で表示しているウィンドウのうち他の機器との共有対象ウィンドウの選択を受け付ける受付ステップと、
前記受付ステップで前記選択を受け付けて前記共有対象ウィンドウとなったウィンドウの表示内容が継続的に前記他の機器と共有されるように処理を行う共有ステップと、
前記共有対象ウィンドウの表示内容を前記他の機器と共有している際に前記共有対象ウィンドウが前記表示手段の表示領域に収まらなくなった場合に前記他の機器との共有を停止するように処理する第1の停止処理と、前記共有対象ウィンドウの表示内容を前記他の機器と共有している際に前記共有対象ウィンドウの少なくとも一部が他のウィンドウによって隠された場合に前記他の機器との共有を停止するように処理する第2の停止処理との少なくとも一方の処理を行う停止ステップと
を有することを特徴とする情報処理装置の制御方法。
【請求項15】
コンピュータを、請求項1乃至12のいずれか1項に記載された情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理システム、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
電子会議においては、ある参加者の端末をホスト端末として、当該ホスト端末の画面を他の参加者の端末(ゲスト端末)に共有する機能が提供されている(例えば特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の開示】
【発明が解決しようとする課題】
【0004】
画面共有中に、意図しない内容、又は意図しない状態で画面の情報を共有してしまうことがある。例えば、共有中のウィンドウ(画面)をキャプチャして他の端末に共有する仕組みにおいて、共有中のウィンドウAの上に別のウィンドウBが重なってしまう場合である。
【0005】
この場合、ウィンドウAとウィンドウBが重なった画像が、ウィンドウAの画面として共有されてしまう。
【0006】
また、ウィンドウAの一部がデスクトップ画面(モニタ)からはみ出してしまった場合、当該モニタからはみ出した部分がキャプチャされないため、共有元のユーザとしてはウィンドウA全体を共有しているつもりだが、非共有者側のPCには、ウィンドウAの一部(モニタに移っている部分だけの画像)が共有されてしまう。
【0007】
本発明の目的は、選択されたウィンドウの共有が適切に行われる仕組みを提供することである。
【課題を解決するための手段】
【0008】
本発明の情報処理装置は、
表示手段で表示しているウィンドウのうち他の機器との共有対象ウィンドウの選択を受け付ける受付手段と、
前記受付手段で前記選択を受け付けたことに応じて、前記共有対象ウィンドウとなったウィンドウの前記表示手段上での位置とサイズの少なくとも一方を、前記選択の前に前記表示手段に表示していたものから変更するように制御する制御手段と、
前記制御手段によって位置とサイズの少なくとも一方が変更された前記共有対象ウィンドウの表示内容を、前記他の機器で共有されるように送信するように制御する送信制御手段と、
を有することを特徴とする。
【発明の効果】
【0010】
本発明によれば、選択されたウィンドウの共有が適切に行われる仕組みを提供することができる。
【図面の簡単な説明】
【0015】
【
図1】本発明の実施形態における、システム構成の一例を示す図である。
【
図2】本発明の実施形態における、各種装置のハードウェア構成の一例を示すブロック図である。
【
図3】本発明の実施形態における、各種装置の機能構成の一例を示す図である。
【
図4】本発明の実施形態における、カメラ画像送受信及び表示処理の流れを示すフローチャートである。
【
図5】本発明の実施形態における、各種データ構成の一例を示す図である。
【
図6】本発明の実施形態における、各種データ構成の一例を示す図である。
【
図7】本発明の実施形態における、各種画面の構成の一例を示す図である。
【
図8】本発明の実施形態における、処理の流れを示すフローチャートである。
【
図9】本発明の実施形態における、アプリウィンドウの位置およびサイズ調整の処理の詳細を示すフローチャートである。
【
図10】本発明の実施形態における、アプリウィンドウの画像共有処理の詳細を示すフローチャートである。
【
図11】本発明の実施形態における、各種画面構成およびアプリウィンドウ選択の様子を示す図である。
【
図12】本発明の実施形態における、各種画面の構成の一例を示す図である。
【
図13】本発明の実施形態における、各種画面の構成の一例を示す図である。
【
図14】本発明の実施形態における、各種画面の構成の一例を示す図である。
【
図15】本発明の実施形態における、各種画面の構成の一例を示す図である。
【
図16】本発明の実施形態における、各種画面の構成の一例を示す図である。
【
図17】本発明の実施形態における、各種画面の構成の一例を示す図である。
【発明を実施するための形態】
【0016】
以下、図面を参照して、本発明の実施の形態の一例について説明する。
【0017】
まず
図1を参照して、本発明の実施形態における、情報処理システムの構成の一例について説明する。
【0018】
本発明の情報処理システムは、例えば、パーソナルコンピュータを適用可能な情報処理装置であるクライアント端末100(100A,100B,100C,100D)と各クライアント端末100でウェブ会議を利用可能にするサーバ200がネットワーク150を介して通信可能に接続され、構成されている。サーバ200は情報処理装置の1つである。
【0019】
サーバ200は、ウェブブラウザを利用したウェブ会議を実現するためのサーバ装置であり、クライアント端末100からのアクセスに応じて、クライアント端末100で入力を受け付けたユーザIDのユーザが参加する会議の画面である会議画面(インタフェース/例えばhtmlで表現される画面を表示するための情報)をそれぞれのクライアント端末100に送信して表示させる。
【0020】
当該会議画面の提供(会議画面に表示するカメラ画像及び画面共有機能の提供)により、複数のクライアント端末100によりウェブ会議を行うサービスを提供する。
【0021】
ここでいうカメラ画像とは、会議に参加中のユーザのユーザIDが入力されたクライアント端末100が使用するカメラで撮像され、サーバ200に送信されている画像である撮像画像であり、例えば、ユーザ自身の顔を写した画像である。
【0022】
また、ここでいうアプリ画像とは、クライアント端末100の入力部を介して、ユーザ操作に応じて指定を受け付けた、クライアント端末100からサーバ200に送信される画像である。例えば、クライアント端末100のデスクトップ画面や、クライアント端末100において起動しているアプリケーションの画面(アプリウィンドウ)の画像等である。
【0023】
サーバ200は、アプリ画像の送信元のクライアント端末のユーザと同じ会議に参加している他のユーザの他のクライアント端末100に対してアプリ画像を送信し、共有する。
【0024】
つまり、本実施形態のウェブ会議システムは、クライアント端末100(例:100A)に表示されている画面の画像を他のクライアント端末(例:100B、100C、100D)の画面に表示する、画面共有(アプリ画像の表示の共有処理)を行うことができる。
【0025】
例えばユーザ操作により選択されたアプリケーションの画面のみをアプリ画像として共有することができる。
【0026】
また、クライアント端末100に表示されているデスクトップ画面の指定を受け付けることで、当該デスクトップ画像全体をアプリ画像として共有することができる(デスクトップ共有)。
【0027】
クライアント端末100は、例えば100Aに示すようなデスクトップPCや、100B、100DのようなノートPC、100CのようなタブレットPCである。クライアント端末100は、サーバ200から受信した会議画面に、同じくサーバ200から受信した画像や映像(カメラ画像)や、アプリ画像を表示する。
【0028】
本実施形態においてクライアント端末100には、サーバ200へアクセスするためのウェブブラウザ、及び専用のモジュールがインストールされているものとする。なお、この専用のモジュールは、例えば、ウェブブラウザを介して、サーバ200からダウンロードするActiveXコンポーネントである。
【0029】
なお、ウェブ会議において自身の動画像を送信する場合は、ビデオデバイスである(ウェブカメラ等の)カメラ101を接続する。音声を送信する場合は、マイク102を接続し、相手の音声を視聴するためにはスピーカ103を接続する。マイク102およびスピーカ103はオーディオデバイスである。
【0030】
また、
図1においては各デバイスを別々の筐体として例示しているが、例えば101~103が同じ筐体のハードに備えられているデバイスを用いてもよい。
【0031】
例えばカメラ機能とマイク機能や、マイク機能とスピーカ機能、および全ての機能を備えたデバイスである。
【0032】
また、クライアント端末100に101~103のデバイスが内蔵されている場合、これらの内蔵されているデバイスを用いて、画像、音声等を入力・出力するようにしてもよい。
【0033】
また、本ウェブ会議システムは、ルームと呼ばれる仮想の会議室をサーバ200において複数生成、記憶、管理することができる。
【0034】
クライアント端末100を操作するユーザは、自身のユーザID・パスワードを用いて、ウェブブラウザ経由でサーバ200にアクセスしてログインし、自身のユーザIDを用いて当該ルームに入室することで、当該ルームにおいて開催される会議に参加することができる。以上が
図1の説明である。
【0035】
次に
図2を参照して、本発明の実施形態における各種装置に適用可能なハードウェア構成の一例について説明する。
【0036】
図2において、201はCPUで、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input/Output System)やオペレーティングシステム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【0037】
203はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ211からRAM203にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【0038】
また、205は入力コントローラで、入力デバイス209からの入力を制御する。入力デバイス209としては、キーボード、タッチパネル、及びマウス等のポインティングデバイス等が挙げられる。
【0039】
なお、入力デバイス209がタッチパネルの場合、ユーザがタッチパネルに表示されたアイコンやカーソルやボタンに合わせて押下(指等でタッチ)することにより、各種の指示を行うことができることとする。また、タッチパネルは、マルチタッチスクリーンなどの、複数の指でタッチされた位置を検出することが可能なタッチパネルであってもよい。
【0040】
206はビデオコントローラで、ディスプレイ210等の表示機への表示を制御する。なお、ディスプレイ210は、CRT、液晶ディスプレイ等の表示機のことを指す。または、その他の表示機であってもよい。なお、本体と一体になったノート型パソコンのディスプレイも含まれるものとする。外部出力装置はディスプレイに限ったものははく、例えばプロジェクタであってもよい。
【0041】
また、
図2のハードウェア構成を適用する装置が前述のタッチ操作を受け付け可能な装置である場合には、ディスプレイ210が入力デバイス209としての機能を提供する。
【0042】
207はメモリコントローラで、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HDD)や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
【0043】
208は通信I/Fコントローラで、ネットワークを介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
【0044】
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォント展開(ラスタライズ)処理を実行することにより、ディスプレイ210上での表示を可能としている。また、CPU201は、ディスプレイ210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0045】
本発明を実現するための後述する各種プログラムは、ROM202あるいは外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。
【0046】
さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報、テーブル等も、外部メモリ211に格納されており、これらについての詳細な説明も後述する。
【0047】
カメラコントローラ212は、カメラ214等による映像取得を制御し、音声コントローラ213はマイク/スピーカ215等による音声取得制御やスピーカへの出力を制御する。
【0048】
カメラ214は、
図2のハードウェア構成を適用する装置に内蔵されているカメラである。また、マイク/スピーカ215は、
図2のハードウェア構成を適用する装置に内蔵されているマイク及びスピーカである。以上が
図2の説明である。
【0049】
次に
図3を参照して、本発明の実施形態における、各種装置の機能構成の一例について説明する。
【0050】
クライアント端末100は、会議用クライアントアプリケーション310を備える。また、会議用クライアントアプリケーション310は、カメラ画像記憶制御部311、表示制御部312、送信画像記憶部313、画像取得部314、位置決定部315、サイズ・形状決定部316、送信制御部317等を備えている。
【0051】
また、クライアント端末100は、カメラのドライバソフトウェアを備えており、当該ドライバはカメラが撮像したカメラ画像を、クライアント端末100のメモリ上にある当該ドライバが管理する記憶部に順次記憶する。
【0052】
カメラ画像記憶制御部311は、当該メモリに記憶されているカメラ画像を読み出して取得し、会議用クライアントアプリケーション310自身が管理する、サーバに送信する画像を記憶する記憶部である送信画像記憶部313(送信用画像キュー530/
図5)に記憶する。
【0053】
カメラ101は継続的に撮像処理(動画の撮像及びクライアント端末100への動画の入力)を行うため、当該画像キューには、動画を構成する複数の画像が、動画内のフレームごとに順々に記憶される。
【0054】
画像取得部314は、クライアント端末100が表示されるアプリケーションウィンドウの画像(アプリ画面の画像であるアプリ画像)を取得する処理部である。当該画像は、例えばOSに要求して取得する。
【0055】
位置決定部315は、他の端末と表示を共有する対象として選択されたアプリケーションウィンドウの位置を、当該共有に適した位置に決定し、移動する。例えば、当該ウィンドウ全体のキャプチャ画像を取得できるように、当該ウィンドウの全体がモニタにおさまる位置を特定し、その位置にウィンドウを移動する。
【0056】
ここでいうモニタとは、ディスプレイ装置全体に表示されている画面である。拡張ディスプレイ(拡張モニタ)の機能を用いて、デユアルディスプレイ(マルチディスプレイ)が適用されている場合、2つのモニタがクライアント端末100により記憶、管理されているものとする。
【0057】
サイズ・形状決定部316は、他の端末と表示を共有する対象として選択されたアプリケーションウィンドウのサイズおよび形状を、当該共有に適したサイズおよび形状に決定し、変形する。例えば、当該ウィンドウ全体のキャプチャ画像を取得できるように、当該ウィンドウの全体がモニタにおさまるサイズと形状を特定し、変形させる。
【0058】
送信制御部317は、カメラ101において撮像され入力されたカメラ画像(映像)や、ユーザ操作等により表示を共有する画像として選択されたアプリウィンドウの画像を、サーバ200に送信制御する処理部である。
【0059】
送信された画像は、サーバ200の受信制御部322で受信され、メモリ上の配信画像記憶部323(画像キュー)に格納される。
【0060】
サーバ200は、会議情報記憶部321、受信制御部322、配信画像記憶部323、配信制御部324等を備えている。各機能部は、会議用サーバアプリケーション320が備える機能である。
【0061】
会議情報記憶部321は、どのユーザが、どの会議室に入室してどのユーザと会議を行っているかを記憶する記憶部である。
【0062】
受信制御部322は、クライアント端末100の送信制御部317より送信されたカメラ画像(映像)、およびアプリ画像、音声を受信する受信部である。
【0063】
配信画像記憶部323は、受信制御部322で受信したカメラ画像(映像)、およびアプリ画像、音声を記憶する記憶部である。
【0064】
配信制御部324は、配信画像記憶部323に記憶されている画像やアプリ画像、音声等を、同じ会議に参加している(例:同じ会議室に入室中の)、当該画像や音声の送信元のクライアント端末100とは別の、他のクライアント端末100に送信(配信)する制御部である。
【0065】
なお、本実施形態においては、クライアント端末100がサーバ200に対して、配信画像記憶部323からの画像の取得要求を行うことで、当該要求に応じてサーバ200の配信制御部324が要求元のクライアント端末100に対して、当該要求受付時におけるキュー内の最新の画像を送信するものとする。
【0066】
クライアント端末100の表示制御部312は、要求した画像を受信した後、当該受信した画像(動画内の1フレーム)を表示画面に表示する。そして当該表示と並行して、当該動画内の次の画像をサーバ200に要求する。会議が終了する等、動画の表示が終了するまで、当該画像の要求と表示を繰り返す。
【0067】
また、送信制御部317は、表示を共有する対象として選択されているアプリウィンドウの少なくとも一部が取得されない場合に、当該少なくとも一部が取得されなくなって以降のアプリウィンドウの画像の送信を停止する。
【0068】
アプリウィンドウの少なくとも一部が取得されない場合とは、アプリウィンドウの全部または一部が、当該アプリウィンドウの属するモニタからはみ出し、はみ出している部分が黒塗りになった当該アプリウィンドウのキャプチャ画像が取得される場合である。アプリウィンドウ1104がモニタからはみ出している場合の画面例を
図15の1510に示す。
【0069】
また、アプリウィンドウの全部または一部が、他のウィンドウによって隠れている場合でも、アプリウィンドウの少なくとも一部が取得されないと判断する。当該他のウィンドウの位置やZオーダはOSに問い合わせて取得する。一覧の一例を
図6の630に示す。
【0070】
なお、文字入力に際し表示される、文字の変換候補の選択ウィンドウも、当該他のウィンドウの1つである。
【0071】
アプリウィンドウ1104が他のウィンドウによって隠れている場合の画面例を、
図15の1500に示す。
図15の1500では、表計算アプリのウィンドウによって、アプリウィンドウ1104の一部が隠れている。
【0072】
そして、当該アプリウィンドウ全体の画像が取得されるようになるまで、画面からはみ出る又は他のウィンドウによって隠れる直前のアプリウィンドウの画像を、繰り返しサーバ200に送信する。
【0073】
サーバ200は当該画像を順次、他のクライアント端末100に配信するため、他のクライアント端末100では、全体が写ったアプリウィンドウの画像が連続して再生され、静止画のように表示される。
【0074】
例えば、表示内容をスクロールしたり、プレゼンテーション資料のページを切り替えたりしても、アプリ画像の送信先の端末では、アプリウィンドウがモニタからはみ出る前、あるいは、アプリウィンドウに他のウィンドウが重なる前の、当該アプリウィンドウ全体の画像が継続して表示されることとなる。
【0075】
つまり、アプリウィンドウがはみ出た状態、又は、アプリウィンドウに他のウィンドウが重なった状態で、当該アプリウィンドウ内の表示を切り替えても、他のクライアント端末100上においては、当該表示の切り替えは反映されない。
【0076】
アプリウィンドウの画像の送信元であるクライアント端末100では、当該アプリウィンドウの表示がリアルタイムに送信先のクライアント端末100に反映されているか否かをユーザに通知するための表示をする。一例を
図12の1201と、
図15の1501に示す。以上が
図3の説明である。
【0077】
図4~
図17を参照して、本発明における具体的な処理の内容について説明する。
【0078】
各図に示すフローチャートの各ステップの処理は、クライアント端末100またはサーバ200のCPU201が、各装置の機能部の機能を用いて実行する。
【0079】
まず
図4を参照して、本発明の電子会議システム(情報処理システム)のカメラ画像送信処理について説明する。
図4のクライアント端末100の処理は、100A~100Dのどのクライアント端末100でも実行可能である。
図4の説明では、一例として、クライアント端末100Aが実行するものとして説明する。
【0080】
クライアント端末100Aは、サーバ200の提供するウェブ会議サービスを享受するために、ブラウザソフト上におけるユーザ操作に応じて所定のURLにアクセスし、
図7のログイン画面700を表示する(ステップS401)。
【0081】
そして、当該ログイン画面700においてユーザIDとパスワードの入力を受け付けて、「ログイン」ボタンの押下を受け付けることで、サーバ200へのログイン要求を送信する(ステップS402)。
【0082】
サーバ200は、当該ログイン要求を受け付け(ステップS403)、自装置の外部メモリに予め記憶されているユーザ情報(ユーザID及びパスワード/
図5の500に例示)と突き合わせて認証処理(ログイン処理)を行う(ステップS404)。
【0083】
サーバ200へのログインが成功した場合、
図7に示すメニュー画面710の画面情報(例えばhtml情報)を生成して、クライアント端末100Aに送信する(ステップS405)。
【0084】
メニュー画面710は、メニュー表示部713と、「ログアウト」ボタン、会議室表示領域714と、「参加する」ボタン711、712を備える。
【0085】
クライアント端末100Aは、当該画面情報を受信して、受信した画面情報に基づいてメニュー画面を表示画面に表示する(ステップS406)。
【0086】
クライアント端末100Aは、参加する会議(参加する会議が開催されている入室先のルーム(会議室))の選択を受け付けることで、サーバ200に当該会議への参加要求を送信する(ステップS407)。
【0087】
具体的には、「参加する」ボタン701の押下を受け付けた場合に、会議室1への入室要求をサーバ200に送信する。また、「参加する」ボタン702の押下を受け付けた場合に、会議室2への入室要求をサーバ200に送信する。
【0088】
「参加する」ボタンの数は、例えば、会議室の数に応じて増減する。
【0089】
クライアント端末100Aは、当該入室要求に、クライアント端末100Aでログイン中のログインユーザのユーザID、入室対象のルームの識別情報(ルームID)、クライアント端末100Aの識別情報(例えばIPアドレス)等の情報を含めて、当該要求をサーバ200に送信するものとする。
【0090】
サーバ200のCPU201は当該入室要求を受け付けると(ステップS408)、要求されたルーム(会議室)にユーザを入室させる入室処理を実行する(ステップS409)。具体的には、入室処理として、どの会議室に、どのユーザが、どの端末で入室しているか記憶する処理を行う。
【0091】
具体的には、入室情報510(
図5)の会議室ID511には入室要求がされた会議室の会議室ID、入室情報510(
図5)の参加者ID512には入室させるユーザのユーザID、入室情報510(
図5)の端末ID513には当該ユーザIDの送信元(入室要求元)のクライアント端末100AのIDを記憶する。入室情報510は、会議室ごとに、サーバ200の外部メモリ211に記憶・保持されている。
【0092】
なお、会議室では時間ごとに異なる会議が行われる。どの会議室でどのような会議を行うかは、クライアント端末100Aに表示する、不図示の会議予約画面を介したユーザ操作により指定を受け付け、サーバ200が、受け付けた内容を
図5の会議情報520に記憶する。
【0093】
会議情報520は、どの会議室(会議室ID521)において、どの時間522に、どの会議(会議ID523)が行われるか/行われているかを記憶・管理するテーブルである。当該テーブルはサーバ200の外部メモリ211に記憶されている。
【0094】
会議室への入室要求とは、当該入室要求をした時間に開催されている会議への参加要求である。
【0095】
入室処理が完了すると、サーバ200は、クライアント端末100Aのカメラにより撮像されたカメラ画像を表示する会議画面720の画面情報(
図7/例えばhtml情報)を、クライアント端末100Aに送信する(ステップS410)。
【0096】
クライアント端末100Aは、当該画面情報を受信し、受信した画面情報に基づいて会議画面を表示する(ステップS411/表示制御部312が表示する)。
【0097】
以降、会議が終了するまで、ステップS417~ステップS419の処理を実行・継続する。ステップS417~ステップS419の処理については後述する。
【0098】
また、クライアント端末100Aは、カメラ(自機に接続されているカメラ101又は自装置に内蔵されるカメラ214)を起動し、画像の撮像を開始する(ステップS412)。ここではカメラ101を起動したものとする。
【0099】
以降、会議が終了するまで、ステップS413~ステップS414の処理を繰り返し実行・継続する。ステップS413~ステップS414の処理については後述する。
【0100】
クライアント端末100Aは、自機の備える、ステップS412で起動されたカメラ101からのカメラ画像(映像)の入力を受け付けることで、カメラ101で撮像されたカメラ画像を取得し、会議画面上に表示する。
【0101】
例えば会議画面720における、画像表示領域723に、自機のカメラで撮像した画像を表示する。
【0102】
図7における会議画面720の画面レイアウトは、画像表示領域723を4つ配置したレイアウトである。
【0103】
参加者名表示部722には、画像表示領域723に表示する画像の送信元の名称を表示する。例えば、当該画像の送信元のクライアント端末100でサーバ200にログインしているユーザのユーザ名を表示する。
【0104】
ボタン表示領域721には、アプリ画像の共有を開始するための「アプリ共有」ボタンや、会議から退出する(会議室から退室する)ための「退出」ボタン714等を表示する。
【0105】
また、クライアント端末100は、カメラ101からの入力画像(映像)を会議画面に表示する一方で、映像コーデックによる画像(映像)の圧縮処理を行い、圧縮後の画像を、1フレームごとに、順々に自装置のメモリ上の画像キューに保存・記憶する(ステップS413)。
【0106】
当該画像キューの一例を
図5の送信用画像キュー530に示す。送信用画像キューとは、外部装置に送信するための画像を順次記憶するキューである。
【0107】
記憶及び送信する際の画像のフレームレートは、
図5のフレームレート570に示す値がメモリに記憶されており、これに従う。フレームレートの値は、サーバ200からクライアント端末100へ、会議参加時に送信・配布される。
【0108】
送信用画像キュー530は、各画像の識別番号(識別情報)であり、画像の順序を示す識別番号531(シーケンス番号)と、画像の実体(画像データ/映像の中の1フレームの画像)である画像532の項目から構成される。
【0109】
クライアント端末100はA、カメラ101から取得した映像の各フレームの画像に対し、当該画像を取得した順に識別番号を割り振って、送信用画像キュー530に記憶する。
【0110】
ステップS414で、クライアント端末100Aは、カメラ機能のON/OFF設定580を参照し、カメラ機能がONになっている場合に、送信用画像キュー530に保存した画像を、送信するものとする。
【0111】
カメラ機能のON/OFF設定580は、クライアント端末100Aに表示する不図示の設定画面を介したユーザ操作により、自由に設定変更可能である。
【0112】
クライアント端末100Aは、サーバ200に対して、送信用画像キュー530に示す情報をサーバ200に送信する(ステップS414)。
【0113】
具体的には、動画コーデックによるデータ圧縮処理を用いて当該画像を識別番号と共にデータサイズを少なく高フレームレートで順次送信する。
【0114】
サーバ200は、当該画像(圧縮データ)を受信し、例えば動画コーデックによるデータ伸張処理を用いて画像データに変換する(ステップS415)。
【0115】
そして、サーバ200は、ユーザごとに、受信した画像を記憶して管理する(ステップS416)。
【0116】
具体的には、自装置のメモリ上に保持しているユーザ別画像キュー540(
図5に図示)における、当該画像の送信元のクライアント端末100でサーバ200にログインしているユーザのレコードに追加して記憶する。
【0117】
ユーザ別画像キュー540は、ユーザID541と、画像543及び画像の識別番号542、送信済みユーザ544から構成される。
【0118】
ユーザ別画像キュー540は、ユーザの会議室への入室処理が行われた場合に、サーバ200のCPU201により、当該会議室に入室したユーザごとに(会議への参加者であるユーザID541ごとに)生成され、メモリ上に保持される。
【0119】
ユーザ別画像キュー540の識別番号542には、クライアント端末100より受信した、送信用画像キュー530の識別番号531が、ユーザ別画像キュー540の画像543には同じくクライアント端末100より受信した、送信用画像キュー530の画像532と同じ情報が対応付けて記憶される。
【0120】
送信済みユーザ544には、543の画像を送信済みのユーザのユーザIDが記憶される。
【0121】
クライアント端末100Aは、ステップS417において、他の会議参加者の画像(ステップS417の実行時点で、同じルームに入室している他の入室者のユーザIDのユーザ別画像キュー540の画像)の取得要求をサーバ200に送信する(ステップS417)。
【0122】
つまり、同じ会議に参加中の他のユーザの画像を要求する。
【0123】
サーバ200のCPU201は当該取得要求を受け付け(ステップS420)、要求元のクライアント端末100でログインしているユーザ以外の、当該ユーザと同じルームに入室中のユーザのユーザIDを、入室情報510を参照して特定し、特定した他の入室者のユーザ別画像キュー540をそれぞれ特定する。
【0124】
そして、特定した他の入室者のユーザ別画像キュー540の画像のうち、最新の識別番号(最も後ろの番号)の画像を、それぞれのユーザ別画像キュー540から取得し、取得した各ユーザの画像(クライアント端末100のカメラで撮像されたカメラ画像)を、当該画像に対応するユーザIDと共に要求元のクライアント端末100に送信する(ステップS421)。
【0125】
つまり、同じ会議に参加中の他のユーザの画像を送信する。
【0126】
その後、ユーザ別画像キュー540において、画像543を送信した先のユーザのユーザIDを、送信済みユーザ544に記憶する(ステップS422)。
【0127】
クライアント端末100Aは、ステップS421で送信された画像(圧縮データ)を受信し、表示用画像として、当該画像の送信元のユーザ(ユーザID551に示すユーザ)ごとのキューに記憶する。当該キューの一例を
図5の表示用画像キュー550に示す(ステップS418)。
【0128】
表示用画像キュー550は、受信した画像554の送信元のユーザ(ユーザID551に示すユーザ)ごとに生成して記憶する。識別番号552は画像553のシーケンス番号である。
【0129】
つまり、表示用画像キュー550のユーザID551には、ユーザ別画像キュー540と同じユーザID541の値が、表示用画像キュー550の識別番号552には、ユーザ別画像キュー540の識別番号542と同じ値が記憶される。また、表示用画像キュー550の画像553には、ユーザ別画像キュー540の画像543が同じ画像が、当該画像が受信される都度、追加登録される。
【0130】
クライアント端末100Aは、送信されてきた画像のユーザが画像表示領域723に未割当のユーザである場合、当該ユーザを、ユーザが未割当の画像表示領域723に割り当てる処理を行う。割当状況を管理するテーブルの一例を、表示領域情報560に示す。
【0131】
表示領域情報560は、クライアント端末100の外部メモリに予め記憶されている。表示領域561には、画像表示領域723のIDが記憶される。ユーザID562には、各表示領域に割り当てられたユーザのユーザIDが記憶される。
【0132】
クライアント端末100Aは、受信した各ユーザの画像に対して映像コーデックによる伸長処理を行って映像(画像)を復元し、復元した各ユーザの画像を、表示領域情報560に示される各ユーザに対応する表示領域561(
図7の723)に表示する(ステップS419)。
【0133】
クライアント端末100Aは、受信した画像を、それぞれの画像のユーザに対応する表示領域に表示することで、各ユーザの画像(カメラ画像)の表示を更新し、動画像(映像)として再生・表示する。
【0134】
ウェブ会議を行う場合、実際には、複数のクライアント端末100(100A~100D等)が存在する場合がある。そのためサーバ200は、例えばステップS415及びS416、ステップS420及び421の処理を、会議に参加しているユーザ数だけ(例:クライアント端末100A~100Dで参加しているユーザ001~004の数だけ)実行することとなる。
【0135】
会議の終了について説明する。例えば、会議画面720における「退出」ボタン724の押下操作を受け付けた場合に、ログインユーザにとっての会議終了がされたと判定するものとする。
【0136】
また、ルーム使用の終了時刻がサーバ200に記憶されている場合、当該終了時刻になるとサーバ200はウェブ会議を強制終了し、当該強制終了した旨を強制終了した会議に参加していたユーザのクライアント端末100に通知する。クライアント端末100Aは、当該強制終了の通知を受け付けた場合に、会議が終了したものと判定する。以上が
図4の説明である。
【0137】
次に
図8を参照して、本発明の実施形態における、処理の流れについて説明する。各ステップの処理は、クライアント端末100のCPU201が、各機能部の機能を用いて実行する。
【0138】
図8の処理は、100A~100Dのどのクライアント端末100でも実行可能である。
図8の説明では、一例として、クライアント端末100Dが処理を実行するものとして説明する。
【0139】
なお、ステップS801の開始時点においては、既に会議画面720が表示されているものとする。
【0140】
クライアント端末100は、
図4のカメラ画像の送信及び受信処理実行後、
図8のステップS801の処理を開始する。
【0141】
ステップS801で、クライアント端末100Dは、表示制御部312により表示された会議画面上の「アプリ選択」ボタン1105(
図11)の押下を受け付ける。
【0142】
なお、
図11の1100は、アプリ選択機能の使用者(本実施例においてはユーザ004とする)のクライアント端末のデスクトップ画面である。本実施形態においては、1100が1つのモニタを示している。
【0143】
「アプリ選択」ボタン1105は、会議画面1101に含まれる。画像表示領域1106は、画像表示領域723と同様のため説明は割愛する。
【0144】
クライアント端末100Dの表示制御部312は、当該「アプリ選択」ボタン1105の押下を受け付けることにより、アプリ選択機能の起動指示を受け付ける(ステップS801)。
【0145】
表示制御部312は、アプリ選択ウィンドウ1102(
図11)を表示する(ステップS802)。アプリ選択ウィンドウ1102とは、同じ会議の参加者の端末と画面を共有したいアプリの画面を選択(指定)・表示するためのウィンドウである。
【0146】
アプリ選択ウィンドウ1102には、アプリを選択するために用いるクリップ型のオブジェクト1103を表示する。
【0147】
クライアント端末100Dの送信制御部317は、サーバ200へのカメラ画像の送信を停止する(ステップS803)。つまり、カメラ画像を他のクライアント端末100と共有する処理を停止する。
【0148】
具体的には、カメラ画像を送信用画像キューに出力して記憶しているソフトウェアモジュール(カメラ画像記憶制御部311)に対して、当該出力処理を停止するように指示し、当該モジュールが当該出力処理を停止することで、送信用画像キューに次のカメラ画像が記憶されなくなる。これにより、当該送信用画像キューからカメラ画像を取得できなくなり、カメラ画像の送信が停止される。
【0149】
送信制御部317は、クライアント端末100D自身の外部メモリにあらかじめ記憶されている「画像入力なし」を示す静止画像を取得し、カメラ画像の代わりに、送信用画像キューに記憶する。つまり、カメラ画像の代わりに(カメラ画像として)、当該静止画像をサーバに送信する処理を開始する(ステップS804)。
【0150】
「画像入力なし」を示す静止画像の一例を
図17の1711に示す。
図17の1710は、アプリ選択機能を起動していないクライアント端末100(本実施例においては、ユーザ003が操作するクライアント端末100Cとする)のデスクトップ画面である。
【0151】
当該処理により、後のステップS807の処理によりアプリ画面の画像(アプリ画像)の送信が開始されるまで
図17の1711のような画像が、カメラ画像として、当該クライアント端末100Dとは別の、他のユーザのクライアント端末100(例:100C)に送信されることとなる。当該送信処理は、
図4のステップS414およびS421で実行される。
【0152】
クライアント端末100Dは、カメラ画像の代わりに画像を共有するアプリ画面の選択を受け付ける(ステップS805)。
【0153】
具体的には、アプリ選択ウィンドウ1102に表示したクリップ型のオブジェクト1103を、デスクトップ画面に表示されているアプリウィンドウ1104に重ねる操作を受け付けることで、当該アプリケーションのウィンドウに表示されている画面の選択を受け付けたものと判定する。当該操作の様子を
図11に示す。
【0154】
次に、クライアント端末100Dは、選択されたアプリ画面位置・サイズ調整処理を実行する(ステップS806)。そして、アプリウィンドウの画像(アプリ画面の画像)を、他の端末と共有する共有処理を実行する(ステップS807)。
【0155】
当該決定処理の詳細は、
図9の説明で後述する。また、共有処理の詳細は
図10の説明で後述する。
【0156】
ここで
図9を参照して、当該決定処理の詳細について説明する。
【0157】
クライアント端末100Dは、アプリ画像のアスペクト比設定610(
図6)を参照する(ステップS901)。
【0158】
当該設定は、不図示のアスペクト比指定画面(縦横比固定の設定画面等)において設定された設定値であり、クライアント端末100Dの外部メモリに記憶されている。
【0159】
「4:3」が設定されている場合、横4:縦3にアスペクト比を固定する設定がされていると判断する。一方、「Null」が設定されている場合は、アスペクト比を固定する設定がされていないと判断する。
【0160】
クライアント端末100Dのサイズ・形状決定部316は、アスペクト比が固定されているか否かの設定に従ってアプリ選択ウィンドウ1102またはアプリウィンドウ1104のウィンドウサイズと形状を決定し、変更する(ステップS902)。
【0161】
アスペクトを比固する設定がされていない場合は、選択されたアプリウィンドウ1104のウィンドウサイズ・形状に従い、アプリ選択ウィンドウ1102のサイズと形状を変更する。
【0162】
各ウィンドウのサイズ・形状・位置は、クライアント用会議アプリケーションが、OSに問い合わせて取得する。
【0163】
例えば、四角形のウィンドウの4つの頂点のうち、左上の頂点座標と右下の頂点座標(例:モニタの頂点4つの内、左上の頂点をX,Y=0,0とした場合のXY座標)を取得する。これにより、ウィンドウのサイズと形状が特定可能である。また、当該ウィンドウの中心点を、当該ウィンドウの位置とする。
【0164】
例えば、アプリウィンドウ1104の外寸が320×640pixelの場合、アプリ選択ウィンドウ1102の内寸が320×640pixelになるように、アプリ選択ウィンドウ1102の形状を変更する。
【0165】
また、クライアント端末100Dの位置決定部315は、
図13の1300に示すように、アプリ選択ウィンドウ1102の位置を、アプリウィンドウ1104がウィンドウ内に収まる位置に決定し、移動する。
【0166】
つまり、
図13の1300に示すように、アプリウィンドウ1104がぴったり収まるようにアプリ選択ウィンドウ1102のサイズ・形状を変更し、位置をアプリウィンドウ1104にあわせて移動する。
【0167】
アスペクトを比固する設定がされている場合は、アプリ選択ウィンドウ1102のウィンドウサイズ・形状に従い、選択されたアプリウィンドウ1104のサイズと形状を変更する。
【0168】
例えば、
図12の1200に示すように、アプリ選択ウィンドウ1102にぴったり収まるサイズ・形状に、アプリウィンドウ1104のサイズと形状を変更し、アプリウィンドウ1104の位置をアプリ選択ウィンドウ1102におさまる位置に移動する。
アスペクト比が固定されている場合において、クライアント端末100Cがクライアント端末100Dから受信し、表示するアプリウィンドウ1104の画像の一例を
図12の1212に示す。1212に示すように、固定されている画像のアスペクト比が、画像の表示枠のアスペクト比と近ければ、表示枠いっぱいに画像を表示することができる。なお、1211はユーザ003が利用するクライアント端末100Cの会議画面である。
【0169】
一方、アスペクト比が固定されていない場合において、クライアント端末100Cがクライアント端末100Dから受信し、表示するアプリウィンドウ1104の画像の一例を
図13の1311に示す。アスペクト比の変更によってアプリウィンドウ1104内の画像のレイアウトが崩れることなく、画像を共有することができる。
【0170】
クライアント端末100Dは、アプリウィンドウ1104の表示されている領域(モニタ上の座標)を特定する(ステップS903)。
【0171】
クライアント端末100Dは、当該アプリウィンドウ1104の表示されているモニタを特定し、ピクセルサイズを取得する(ステップS904)。
【0172】
クライアント端末100Dのサイズ・形状決定部316は、アプリウィンドウ1104がモニタサイズより大きいか判定する(ステップS905)。
【0173】
モニタサイズ以下の大きさの場合には、処理をステップS907に移行する。モニタサイズより大きい場合は、アプリウィンドウ1104のウィンドウサイズを、モニタに収まるサイズに変更する(ステップS906)。
【0174】
例えば、サイズ・形状決定部316は、アプリウィンドウ1104のサイズと形状を、モニタと同じサイズ・形状に変更する。すなわち、全画面表示した場合と同じサイズ・形状とする。
【0175】
クライアント端末100Dの位置決定部315は、アプリウィンドウ1104の位置をモニタの中央に変更する(ステップS907)。
【0176】
例えば、アプリウィンドウ1104の中央の座標を、モニタ中央の座標に一致させる。
【0177】
また、アプリ選択ウィンドウ1102の位置を、アプリウィンドウを収めることができる位置に移動する。つまり、アプリ選択ウィンドウ1102をアプリウィンドウ1104に帯同させ、モニタの中央に移動する(例:
図12および
図13の1104、1102に示す)。以上が
図9の説明である。
【0178】
次に
図10を参照して、アプリウィンドウの画像共有処理の詳細について説明する。
【0179】
クライアント端末100Dは、アプリウィンドウの選択解除の条件が満たされるまでステップS1001~S1011を繰り返す。
【0180】
当該選択解除の条件とは、クリップ型のオブジェクト1103と当該アプリウィンドウ1104の重なりが解消される、又は、アプリウィンドウ1104自体が閉じられることである。
【0181】
ここでクリップ型のオブジェクト1103と当該アプリウィンドウ1104の重なりを解消する条件は、当該アプリウィンドウ1104が最小化される、または閉じられる場合を指す。
【0182】
クライアント端末100Dの位置決定部315は、アプリウィンドウ1104の表示されている領域(モニタ上の座標)を特定する(ステップS1001)。
【0183】
クライアント端末100Dは、当該アプリウィンドウ1104の表示されているモニタを特定し、当該モニタのピクセルサイズを取得する(ステップS1002)。
【0184】
クライアント端末100Dのサイズ・形状決定部316は、アプリウィンドウ1104がモニタに収まっているかを判定する(ステップS1003)。
【0185】
例えば、アプリウィンドウ1104の左上と右下の2つの頂点座標のうち少なくとも一方がモニタの領域内にない場合、アプリウィンドウ1104がモニタに収まっていないと判定し、処理をステップS1011に移行する。
【0186】
アプリウィンドウ1104の左上と右下の2つの頂点座標の両方がモニタの領域内に位置している場合、アプリウィンドウ1104がモニタに収まっていると判定し、処理をステップS1004に移行する。
【0187】
ステップS1011で、クライアント端末100Dの表示制御部312は、アプリ選択ウィンドウ1102に、アプリウィンドウ1104の画像の共有を停止している旨を示す情報を表示する(ステップS1011)。
【0188】
例えば、
図15の15
10に示すように、アプリ選択ウィンドウ1102に「画像停止中」の表示をする。「画像停止中」の表示は、アプリウィンドウ1104のキャプチャ画像を、送信用画像キュー530に記憶する処理を停止していることを示す。すなわち、他のクライアント端末100(例:100A~100C)に共有されている画像(例:1611)は、アプリウィンドウ1104の表示更新に連動することなく、停止している状態であることを示す。
【0189】
つまり「画像停止中」の場合、クライアント端末100Dにおけるアプリウィンドウの表示が
図15の1500の状態から、
図15の1500における1104のように更新されても、クライアント端末100Cにおける画像の表示は
図16の1611のまま(表計算ソフトが重なる前の、アプリウィンドウ1104のまま)更新されない。
【0190】
ステップS1004では、クライアント端末100Dの送信制御部317が、アプリウィンドウ1104よりZオーダが上で、且つ、モニタに表示中であるウィンドウの識別情報一覧をOSに問い合わせて取得し(ステップS1004)、処理をステップS1005に移行する。
【0191】
アプリウィンドウ1104よりZオーダが上とは、アプリウィンドウ1104より前面側に位置しているということである。
【0192】
送信制御部317は、アプリウィンドウ1104が、ステップS1004で取得した識別情報が示す他のウィンドウによって隠れているか判定する(ステップS1005)。
【0193】
本実施形態において、アプリウィンドウ1104が他のウィンドウによって隠れている状態とは、
図15の1500に示すように、アプリウィンドウ1104の少なくとも一部が他のウィンドウによって隠れている状態を指す。
【0194】
アプリウィンドウ1104が他のウィンドウによって隠れている場合は処理をステップS1011に移行する。アプリウィンドウ1104が他のウィンドウによって隠れていない場合は、処理をステップS1006に移行する。
【0195】
ステップS1006で、クライアント端末100Dの画像取得部314は、OSに対し、選択されているアプリウィンドウ1104の画像のキャプチャを指示する。そして、OSが実行したキャプチャ処理によって得られたアプリウィンドウ1104の画像をOSより受け取る(ステップS1006)。
【0196】
画像取得部314は、受け取った画像を、クライアント端末100DのRAM203上に作成した専用のキャプチャ画像キュー600(
図6)に記憶する(ステップS1007)。キャプチャ画像キュー600の構成は
図5の530と同じであるため、説明は割愛する。
【0197】
クライアント端末100Dの表示制御部312は、アプリ選択ウィンドウ1102に、アプリウィンドウ1104のリアルタイムの画像を共有している旨を示す情報を表示する(ステップS1008)。
【0198】
例えば、
図13の1300に示すように、アプリ選択ウィンドウ1102に「画像更新中」の表示をする。「画像更新中」の表示は、アプリウィンドウ1104の表示更新に合わせて、送信用画像キュー530に記憶するキャプチャ画像を更新されていることを示す。すなわち、他のクライアント端末100(例:100A~100C)においても、アプリウィンドウ1104の表示更新に連動して、共有されている画像(例:1311)が更新されていることを示す。
【0199】
「画像更新中」の場合、クライアント端末100Dにおけるアプリウィンドウの表示が
図13の1300であれば、クライアント端末100Cにおける画像の表示は1311である。また、クライアント端末100Dにおいてアプリウィンドウの表示が
図14の1400における1104のように更新されれば、クライアント端末100Cにおける画像の表示も1411のように更新される。
【0200】
クライアント端末100の送信制御部317は、キャプチャ画像キュー600から最新のキャプチャ画像を取得して(ステップS1009)、当該キャプチャ画像を、カメラ画像の代わりにサーバ200に送信する処理を開始する(ステップS1010)。
【0201】
具体的には、送信用画像キュー530に当該キャプチャ画像を記憶する処理を開始する。アプリウィンドウ1104の選択が解除されるまで、当該アプリウィンドウ1104の最新のキャプチャ画像を、順次、送信用画像キュー530に記憶することとなる。これにより、ステップS414で、送信用画像キュー530内の当該キャプチャ画像(アプリ画像)が、サーバ200に、継続して送信されることとなる。
【0202】
サーバ200は、受信制御部322で当該キャプチャ画像を受信し、配信画像記憶323で画像キューに記憶する。そして、送信元の端末(ここではクライアント端末100D)と同じ会議に参加している他のクライアント端末(例えば、100A~100C)に対して、当該キャプチャ画像を順次送信する。当該キャプチャ画像を受信した各クライアント端末100は、受信した画像を表示用画像キューに記憶し、順次表示することで、動画再生するように画像表示する。
【0203】
つまり、アプリ画像の選択が解除されるまでの間、継続してアプリ画像を取得、送信することができ、選択されたアプリケーションの画面の変化に応じたアプリ画像を、動画のように、複数のクライアント端末間で共有できる。
【0204】
クライアント端末100は、アプリウィンドウ1104の選択解除の条件が満たされた場合、ステップS1001~S1010の処理を終了する。
【0205】
次に、画像取得部314は、OSに対し、アプリウィンドウ1104のキャプチャ終了の指示を出す。すなわり、キャプチャ画像の取得およびキャプチャ画像キュー600への記憶処理を終了する。そして、処理を
図8のステップS808に移行する。
【0206】
図8の説明に戻る。クライアント端末100Dは、アプリ選択機能が終了されたか判定する(ステップS808)。例えばアプリ選択ウィンドウ1102が閉じられた場合に、アプリ選択機能が終了されたと判定する。
【0207】
アプリ選択機能が終了されていない場合は、処理をステップS804に戻す。
【0208】
アプリ選択機能が終了された場合、送信制御部317は、カメラ画像記憶制御部311に対し、送信用画像キュー530へのカメラ画像の記憶を再開するよう指示する(ステップS809)。当該指示に応じて、カメラ画像の送信用画像キュー530への記憶処理が再開される。すなわち、ステップS414によるカメラ画像の送信処理が再開する。以上が
図8の説明である。
【0209】
なお、上述した説明では、クライアント端末100Dのみがアプリ選択機能を起動し、アプリウィンドウの画像を他のクライアント端末100に送信した場合について述べたが、当該アプリ選択機能の起動およびアプリウィンドウの画像の送信・共有は、複数のクライアント端末100において同時に実行可能である。
【0210】
例えば、ユーザ003とユーザ004のクライアント端末100でそれぞれ
図4、
図8、
図9、
図10の処理が実行され、アプリ画面の画像が選択、送信・共有された場合、ユーザ001およびユーザ002の画面は、
図17の1700に示すような状態となる。
【0211】
例えばユーザ001のクライアント端末100Aは、会議画面1701に、ユーザ004のクライアント端末100Dから受信した画像1212(
図12と同一)と、ユーザ003のクライアント端末100Cから受信した画像1702の両方を表示する。
【0212】
以上が本発明の実施形態の説明である。
【0213】
本発明によれば、選択された画面の共有が適切に行われる仕組みを提供することができる。
【0214】
例えば、選択された画面の位置を、共有に適した位置に設定することができる。
【0215】
また、選択された画面のサイズを、共有に適したサイズに設定することができる。
【0216】
また、選択された画面とは異なる情報の共有を防止することができる。
【0217】
また、選択された画面が共有中か否かをユーザに確認させることができる。
【0218】
また、例えば、選択された画面以外の画像の写り込みを防止することができる。
【0219】
また、一部が欠けたような、不十分な画面の画像が共有されてしまうことを防止できる。
【0220】
さらに、画像の一部または全部が取得できなくなる直前の画像を共有し続けることで、画像を共有しなくなる方法のように、被共有者側の端末で、共有画像が表示されたり消えたりする表示の変化を低減し、ユーザによる、当該表示の変化の原因確認の負荷を軽減することができる。
【0221】
なお、上述した実施形態においてはウェブ会議を例にあげて本発明の説明をしたが、本発明は例えばテレビ会議、テレビ電話等、画像データを送受信して共有するシステム、サービスに適用可能である。ウェブ会議、テレビ会議、テレビ電話等の電子データを用いた会議を電子会議という。
【0222】
本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0223】
例えば、各クライアント端末100において
図8~10の処理を実行するものとしたが、サーバ200内でクライアント端末100のOSにおよび会議クライアントアプリケーションに相当するソフトウェアを動作させ、
図8~10の各処理をサーバ200上で実行するようにしてもよい。この場合、クライアント端末100は、サーバ200上のソフトウェアを遠隔操作する端末となる。
【0224】
また、本発明におけるプログラムは、図に示す各フローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は図に示す各フローチャートの処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは
図1の各装置の処理方法ごとのプログラムであってもよい。
【0225】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【0226】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【0227】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、DVD-ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることが出来る。
【0228】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0229】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0230】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【符号の説明】
【0231】
100A クライアント端末
100B クライアント端末
100C クライアント端末
100D クライアント端末
101 カメラ
102 マイク
103 スピーカ
150 ネットワーク
200 サーバ