(57)【要約】【課題】同時かつ同じ位置に複数のオブジェクトが重複して表示されると、オブジェクトの入力を続けることが不便であった。【解決手段】マスターである画面共有装置は、オブジェクトの内容に応じて、入力受付部が受け付けた複数のオブジェクトが同時かつ同じ位置で重複したか否かを判定し、重複したと判定された複数のオブジェクトのうち、いずれかのオブジェクトを重複しないように移動させる。そして、移動させるオブジェクトが入力されたスレーブである画面共有装置にて、移動させるオブジェクトの位置が変わらないように、スレーブである画面共有装置の表示部に画面をスクロールして表示させるための更新情報を送信する。スレーブである画面共有装置は、マスターである画面共有装置から受信した更新情報に基づいて、スレーブである画面共有装置の表示部に画面をスクロールして表示させる制御を行う。【選択図】図３
2018092452.tif 000002
【特許請求の範囲】
【請求項１】
画面に入力されたオブジェクトを共有して表示可能な複数の画面共有装置を備え、
前記画面共有装置は、
前記画面を表示する表示部と、
前記画面にオブジェクトが入力される入力部を備え、
複数の前記画面共有装置のうち、マスターである前記画面共有装置は、
複数の前記画面共有装置からの前記オブジェクトの入力を受け付ける第１入力受付部と、
前記オブジェクトの内容を識別する識別部と、
前記オブジェクトの内容に応じて、前記第１入力受付部が受け付けた複数の前記オブジェクトが同時かつ同じ位置で重複したか否かを判定する重複判定部と、
重複したと判定された複数の前記オブジェクトのうち、いずれかの前記オブジェクトを重複しないように移動させるオブジェクト移動部と、
前記オブジェクト移動部によって算出される移動先の座標に前記オブジェクトを移動して前記表示部に表示する制御を行うと共に、移動させる前記オブジェクトが入力されたスレーブである前記画面共有装置にて、移動させる前記オブジェクトの位置が変わらないように、スレーブである前記画面共有装置の前記表示部に前記画面をスクロールして表示させるための更新情報を送信する第１表示制御部と、を備え、
複数の前記画面共有装置のうち、スレーブである前記画面共有装置は、
自装置からの前記オブジェクトの入力を受け付け、受け付けた前記オブジェクトをマスターである前記画面共有装置に送信する第２入力受付部と、
マスターである前記画面共有装置から受信した前記更新情報に基づいて、スレーブである前記画面共有装置の前記表示部に前記画面をスクロールして表示させる制御を行う第２表示制御部と、を備える
画面共有システム。
【請求項２】
前記重複判定部は、複数の前記オブジェクトが入力されたタイミングの差が入力タイミング閾値以下であり、かつ、複数の前記オブジェクトが重なり合う位置で複数のオブジェクトが入力された場合に、複数の前記オブジェクトが重複したと判定し、
前記オブジェクト移動部は、重複した前記オブジェクトのうち、入力されたタイミングが遅い方の前記オブジェクトを移動させる
請求項１に記載の画面共有システム。
【請求項３】
前記オブジェクト移動部は、前記重複判定部により重複したと判定されていない既存の前記オブジェクトの位置に基づいて、前記オブジェクトの移動先の座標を演算し、前記移動先の座標に前記オブジェクトを移動させる
請求項１又は２に記載の画面共有システム。
【請求項４】
前記オブジェクト移動部は、入力されたタイミングが遅い方の前記オブジェクトの属性、又は、既存の前記オブジェクトと、入力された前記オブジェクトとの間の距離を示すオブジェクト距離が近い前記オブジェクトの属性に基づいて、前記オブジェクトの移動先の座標を演算する
請求項３に記載の画面共有システム。
【請求項５】
前記オブジェクト移動部は、重複した前記オブジェクトの前記オブジェクト距離が距離閾値以下であり、かつ、入力されたタイミングが早い方の前記オブジェクトの入力開始時の座標が一定の範囲内にある前記オブジェクトの属性に基づいて、前記オブジェクトの移動先の座標を演算する
請求項４に記載の画面共有システム。
【請求項６】
前記オブジェクト移動部は、既存の前記オブジェクトの中心線と、重複した前記オブジェクトの中心線との距離と同じ距離だけ離れた位置に移動させる前記オブジェクトの中心線が一致するように前記オブジェクトを移動させる
請求項１〜５のいずれか一項に記載の画面共有システム。
【請求項７】
前記識別部は、箇条書きで入力される行頭文字、及び、前記行頭文字に関連付けられた前記オブジェクトを識別し、
前記オブジェクト移動部は、前記識別部により、重複した前記オブジェクトが前記行頭文字に関連付けられていると識別された場合に、他の前記行頭文字に前記オブジェクトを移動させ、他の前記行頭文字に前記オブジェクトを関連付ける
請求項１又は２に記載の画面共有システム。
【請求項８】
前記オブジェクト移動部は、前記オブジェクトの移動先に他の前記行頭文字を追加して、追加した他の前記行頭文字に前記オブジェクトを移動させ、他の前記行頭文字に前記オブジェクトを関連付ける
請求項７に記載の画面共有システム。
【請求項９】
前記オブジェクト移動部は、前記追加した他の前記行頭文字、及び他の前記行頭文字に関連付けられる前記オブジェクトの高さ又は幅を、移動可能な空き領域に移動可能となるように調整する
請求項８に記載の画面共有システム。
【請求項１０】
前記オブジェクト移動部は、既存の前記オブジェクトが存在することにより前記空き領域がないと判断した場合に、既存の前記オブジェクトを移動して拡大した前記空き領域に前記追加した他の前記行頭文字、及び他の前記行頭文字に関連付けられる前記オブジェクトを移動させる
請求項９に記載の画面共有システム。
【請求項１１】
前記オブジェクト移動部は、既存の前記オブジェクトと重複しないように、移動先の前記オブジェクトの行間を調整する
請求項１又は２に記載の画面共有システム。
【請求項１２】
前記オブジェクト移動部は、調整した前記行間であっても、既存の前記オブジェクトと移動させた前記オブジェクトが重複する場合には、既存の前記オブジェクトと重複しないように、既存の前記オブジェクトを移動する
請求項１１に記載の画面共有システム。
【請求項１３】
前記重複判定部は、重複していないと判定した複数の前記オブジェクトが時間経過に伴い重複したことを判定し、
前記オブジェクト移動部は、重複したと判定された前記オブジェクトの移動先の座標を演算し、前記移動先の座標に前記オブジェクトを移動させる
請求項１又は２に記載の画面共有システム。
【請求項１４】
前記オブジェクト移動部は、既存の前記オブジェクトと、重複したと判定された複数の前記オブジェクトとの前記オブジェクト距離が所定距離より離れていた場合に、重複したと判定された複数の前記オブジェクトのいずれかを規定の方向に移動させる
請求項４に記載の画面共有システム。
【請求項１５】
前記オブジェクト移動部は、重複したと判定された複数の前記オブジェクトの属性に応じて、前記規定の方向を変更する
請求項１４に記載の画面共有システム。
【請求項１６】
前記オブジェクト移動部は、重複したと判定された複数の前記オブジェクトが箇条書きであって、かつ複数の前記オブジェクトに関連付けられる前記行頭文字が連続する文字である場合に、移動した前記オブジェクトに関連付けられる前記行頭文字を行の位置によって変更する
請求項７に記載の画面共有システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面共有システムに関する。
【背景技術】
【０００２】
複数の端末で画面を共有し、各端末で手書き入力しながら会議を行う会議システムがある。この会議システムでは、ある拠点に設置された端末から入力された内容が、他の拠点の端末にほぼ同時に表示される。このため、各拠点にいるユーザーは、各拠点で入力された内容を、画面を見て把握することができる。
【０００３】
しかし、この会議システムでは、複数の端末から同時に同じ位置に手書きが行われた場合、入力された手書き情報が重なって表示され、読みにくくなることがある。また、ユーザーは、入力が重なって読みにくくなることを懸念して、書き出しをためらうこともあった。このため、以下の特許文献１及び２には、複数の拠点から１つの画面に行われる同時入力を制限する技術が開示されている。
【０００４】
特許文献１に開示された技術は、ユーザーが指定した領域に排他をかけるというものである。このようにすると権限を取得したユーザー以外が指定した領域に書けなくなり、権限を取得したユーザーが他のユーザーを気にせずに書くことができる。
【０００５】
特許文献２には、新規オブジェクトと既存オブジェクトとが重ならないように、入力手段から入力された情報に基づいて、既存オブジェクトを新規オブジェクトのエリア外に移動させる技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１４−５２６９０号公報
【特許文献２】国際公開第０８／１３２９７７号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【０００７】
以前から既存オブジェクトと新規オブジェクトが重なった時、移動対象となる既存オブジェクトを指示する方法や、移動方向を手書きで指定する方法がある。しかし、新規オブジェクトが同時に重なった時の解決策は示されておらず、新規オブジェクトが同時に同じ場所に入力された場合、各オブジェクトをどこに動かせばいいかを作業者が互いに判断できない。
【０００８】
また、特許文献１に開示された技術では、先に権限を取れなかったユーザーが、既に取られた領域に気付いてから改めて別の空いている領域に権限を取り直す必要がある。権限と領域の取り合いとなり、操作が煩雑となる上にスムーズに会議を進めることができない。また、特許文献２に開示された技術では、オブジェクトが重ならないように移動されるため、移動されたオブジェクトに対する情報を書き込んでいるユーザーにとっては、書いている場所が急に動いてしまい、書きづらさを感じる。
【０００９】
本発明はこのような状況に鑑みて成されたものであり、異なる拠点から同時かつ同じ場所に入力された情報を適切に処理することを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係る画面共有システムは、画面に入力されたオブジェクトを共有して表示可能な複数の画面共有装置を備える。複数の画面共有装置は、それぞれ画面を表示する表示部と、画面にオブジェクトが入力される入力部を備える。複数の画面共有装置のうち、マスターである画面共有装置は、複数の画面共有装置からのオブジェクトの入力を受け付ける第１入力受付部と、オブジェクトの内容を識別する識別部と、オブジェクトの内容に応じて、第１入力受付部が受け付けた複数のオブジェクトが同時かつ同じ位置で重複したか否かを判定する重複判定部と、重複したと判定された複数のオブジェクトのうち、いずれかのオブジェクトを重複しないように移動させるオブジェクト移動部と、オブジェクト移動部によって算出される移動先の座標にオブジェクトを移動して表示部に表示する制御を行うと共に、移動させるオブジェクトが入力されたスレーブである画面共有装置にて、移動させるオブジェクトの位置が変わらないように、スレーブである画面共有装置の表示部に画面をスクロールして表示させるための更新情報を送信する第１表示制御部と、を備える。また、複数の画面共有装置のうち、スレーブである画面共有装置は、自装置からのオブジェクトの入力を受け付け、受け付けたオブジェクトをマスターである画面共有装置に送信する第２入力受付部と、マスターである画面共有装置から受信した更新情報に基づいて、スレーブである画面共有装置の表示部に画面をスクロールして表示させる制御を行う第２表示制御部と、を備える。
【発明の効果】
【００１１】
本発明によれば、重複オブジェクトのうち、いずれかのオブジェクトが重複しないように自動的に移動されるため、オブジェクトの視認性を向上することができる。
上記した以外の課題、構成及び効果は、以下の実施の形態例の説明により明らかにされる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施の形態例に係る画面共有システムの構成例を示す概要図である。
【図２】本発明の第１の実施の形態例に係る電子黒板の内部構成例を示すハードウェア構成図である。
【図３】本発明の第１の実施の形態例に係るマスターである電子黒板の制御部の内部構成例と、スレーブである電子黒板の制御部の内部構成例とを示すブロック図である。
【図４】本発明の第１の実施の形態例に係る電子黒板で用いられる物理座標についての説明図である。
【図５】本発明の第１の実施の形態例に係る電子黒板に書かれたオブジェクトの例を示す説明図である。
【図６】本発明の第１の実施の形態例に係るストロークリストの例を示す説明図である。
【図７】本発明の第１の実施の形態例に係る電子黒板で行われるストロークリストの送信処理の例を示すシーケンス図である。
【図８】本発明の第１の実施の形態例に係る２つのオブジェクト枠の重なりについて示す説明図である。
【図９】本発明の第１の実施の形態例に係る同時入力リストの構成例を示す説明図である。
【図１０】本発明の第１の実施の形態例に係るマスターである電子黒板がストロークリストを受信したときの処理例を示すフローチャートである。
【図１１】本発明の第１の実施の形態例に係るオブジェクトの関連を示す説明図である。
【図１２】本発明の第１の実施の形態例に係る電子黒板の制御部がオブジェクトの移動先を決定する処理の例を示すフローチャートである。
【図１３】本発明の第１の実施の形態例に係るスレーブである電子黒板において、オブジェクトの位置を変更する例を示す説明図である。
【図１４】本発明の第１の実施の形態例に係るスレーブである電子黒板の動作例を示すフローチャートである。
【図１５】本発明の第２の実施の形態例に係る箇条書きのオブジェクトの例を示す説明図である。
【図１６】本発明の第２の実施の形態例に係るオブジェクト管理リストの構成例を示す説明図である。
【図１７】本発明の第２の実施の形態例に係る箇条書きの空き項目を自動で追加する例を示す説明図である。
【図１８】本発明の第３の実施の形態例に係る新たに書き込まれたオブジェクトと、既存のオブジェクトを表示する例を示す説明図である。
【図１９】本発明の第３の実施の形態例に係る既存オブジェクトを移動させる例を示す説明図である。
【図２０】本発明の第４の実施の形態例に係るユーザーが一部の文字を大きく書き込んだ例を示す説明図である。
【図２１】本発明の第４の実施の形態例に係るマスターである電子黒板の制御部により行われる行間を調整する処理の例を示すフローチャートである。
【図２２】本発明の第５の実施の形態例に係る既存オブジェクトとは関連しない位置で複数のオブジェクトが追加される例を示す説明図である。
【図２３】本発明の第５の実施の形態例に係る重複したオブジェクトの属性に基づいて、オブジェクトの移動方向を決定する処理の例を示すフローチャートである。
【図２４】本発明の第６の実施の形態例に係る箇条書きの行頭文字を変更する例を示す説明図である。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための形態例について、添付図面を参照して説明する。本明細書及び図面において、実質的に同一の機能又は構成を有する構成要素については、同一の符号を付することにより重複する説明を省略する。
【００１４】
［第１の実施の形態例］
図１は、画面共有システム１の構成例を示す概要図である。
画面共有システム１は、ネットワークＮに接続された３台の電子黒板２Ａ〜２Ｃ（画面共有装置の一例）を備える。この画面共有システム１では、複数の拠点に設置された電子黒板２Ａ〜２Ｃで画面に入力されたオブジェクトを共有して表示することが可能である。例えば、電子黒板２Ａは拠点Ａに設置され、電子黒板２Ｂは拠点Ｂに設置され、電子黒板２Ｃは拠点Ｃに設置される。拠点Ａ〜Ｃは、それぞれ離れた位置にある会議室、事務室等である。そして、電子黒板２Ａ〜２Ｃは、ネットワークＮを通じてお互いにデータを送受信することが可能である。なお、以下の説明において、電子黒板２Ａ〜２Ｃを区別しない場合は、「電子黒板２」と記載する。
【００１５】
電子黒板２Ａ〜２Ｃは、主従関係を有する。例えば、拠点Ａにいるユーザーが会議の主催者である場合、電子黒板２Ａがマスターとして扱われ、電子黒板２Ｂ，２Ｃがスレーブとして扱われる。マスターはオブジェクトを管理する役割を持つ。そして、マスターは、スレーブから送信される入力情報をネットワークＮを通じて受信し、各スレーブから入力されるオブジェクトの状態（位置、大きさ等）を管理したり、スレーブにオブジェクトの更新情報を送信したりする。なお、マスターとして扱われるのは、電子黒板２Ｂ，２Ｃのいずれかであってもよい。電子黒板２Ｂ，２Ｃのいずれかがマスターとして扱われる場合、電子黒板２Ａはスレーブとして扱われる。
【００１６】
図２は、電子黒板２Ａの内部構成例を示すハードウェア構成図である。電子黒板２Ａと同様の内部構成である電子黒板２Ｂ，２Ｃの説明は省略する。
【００１７】
電子黒板２Ａは、制御部２０、不揮発性メモリ２４、認証部２５、表示部２６、タッチ入力部２７、通信部２８を備える。電子黒板２Ａ内の各部は、バスを介して接続されている。
制御部２０は、ＣＰＵ（Central Processing Unit：中央演算処理装置）２１、ＲＯＭ（Read Only Memory）２２、ＲＡＭ（Random Access Memory）２３等で構成される。
【００１８】
制御部２０は、電子黒板２Ａ内の全体動作を制御するコンピューターの一例として用いられる。ＣＰＵ２１は、例えば、タッチ入力部２７を通じて行われるユーザーからの指示入力に基づいて、表示部２６に表示する画像の制御を行う。タッチ入力部２７から入力され、表示部２６に表示される文字、図形等の画像を「オブジェクト」とも呼ぶ。オブジェクトは、タッチ入力部２７に書き込まれる文字等の固まりであり、後述するストロークリストによってオブジェクトが定まる。また、ＣＰＵ２１は、ＲＯＭ２２等から読出したアプリケーションソフトウェア等を必要に応じてＲＡＭ２３に展開して実行する。このアプリケーションソフトウェアは、例えば、電子黒板２Ａがマスターとして動作するためのプログラムである。必要に応じて、このアプリケーションソフトウェアは、電子黒板２Ａをスレーブとして動作させることもできる。
【００１９】
不揮発性メモリ２４は、例えば、ＣＰＵ２１にて実行されるアプリケーションソフトウェアのパラメーター、各種プログラム等のデータを格納する。このように不揮発性メモリ２４は、ＣＰＵ２１が動作するために必要なプログラムやデータ等を記録しており、電子黒板２Ａによって実行されるプログラムを格納したコンピューター読取可能な非一過性の記録媒体の一例として用いられる。このため、不揮発性メモリ２４には、このプログラムが永続的に格納される。なお、電子黒板２Ａによって実行されるプログラムを格納したコンピューター読取可能な非一過性の記録媒体としては、不揮発性メモリ２４に限定されず、例えば、ＲＯＭ２２、ＳＳＤ（Solid State Drive）、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体であってもよい。
【００２０】
認証部２５は、マスターである電子黒板２Ａが、スレーブである電子黒板２Ｂ，２Ｃからの情報入力を受入れるか否かを判断するために用いられる。例えばマスターである電子黒板２Ａが接続受付状態であるとき、スレーブである電子黒板２Ｂ，２Ｃが電子黒板２Ａにパスワードを送信し、接続を要求する。その時、電子黒板２Ａの認証部２５は、パスワードが合っているかどうかで、電子黒板２Ｂ，２Ｃが、マスターである電子黒板２Ａに接続する権利を持つかを判断する。なお、電子黒板２Ａがスレーブである場合、マスターである電子黒板２Ｂ，２Ｃのいずれかに対して認証を要求するときにも使用される。
【００２１】
表示部２６は、例えば、ＬＣＤ（Liquid Crystal Display）等で構成される表示パネルであり、ユーザーによってタッチパネルに書かれた文字、図形等を表示する。この表示部２６には、電子黒板２Ａ〜２Ｃに入力されたオブジェクトを表示するための画面が表示される。
【００２２】
タッチ入力部２７は、例えば、タッチパネルであり、ユーザーがスタイラスペン、ユーザーの手等の指示媒体を用いて入力した位置の座標を制御部２０に出力する。表示部２６とタッチ入力部２７は、重ねて構成される。このため、タッチ入力部２７にタッチ入力された位置に、表示部２６が必要な情報を表示する。そして、タッチ入力部２７により、表示部２６に表示された画面に文字等を書き込むことができる。以下の説明では、各拠点にいるユーザーが、タッチ入力部２７を通じて画面に文字等を書き込むことを、「オブジェクトを入力する」、「オブジェクトを書き込む」とも表現する。
【００２３】
通信部２８は、例えば、ＮＩＣ（Network Interface Card）やモデム等で構成され、ネットワークＮを介して繋がっている他の電子黒板２Ｂ，２Ｃとの接続を確立し、データの送受信を実行する。
【００２４】
図３は、マスターである電子黒板２Ａの制御部２０の内部構成例と、スレーブである電子黒板２Ｂの制御部２０の内部構成例とを示すブロック図である。なお、図１に示したように電子黒板２Ｃも電子黒板２Ａと接続されているが、電子黒板２Ｃは電子黒板２Ｂと同じ構成であるため、記載を省略する。
【００２５】
マスターである電子黒板２Ａは、入力受付部３１、識別部３２、重複判定部３３、オブジェクト移動部３４、表示制御部３５を備える。
入力受付部３１（第１入力受付部の一例）は、タッチ入力部２７を通じてユーザーが電子黒板２Ａに書き込んだ文字等のオブジェクトの入力を受け付ける。また、入力受付部３１は、電子黒板２Ｂの入力受付部３１から送信された、電子黒板２Ｂに書き込まれたオブジェクトの入力を受け付ける。後述する図７に示すように、電子黒板２Ｂから電子黒板２Ａには、ストロークリストとしてオブジェクトが送信される。
【００２６】
識別部３２は、入力受付部３１が受け付けたオブジェクトの内容を識別する。識別部３２が行うオブジェクトの認識処理には、公知の文字認識技術が使用される。また、識別部３２は、オブジェクトの大きさ、高さ等も識別している。
【００２７】
重複判定部３３は、オブジェクトの内容に応じて、複数の電子黒板２から入力された複数のオブジェクトが同時かつ同じ位置で重複したか否かを判定する。以下の説明において、複数の電子黒板２からオブジェクトが書き込まれたタイミングが、予め設定された入力タイミング閾値以下であれば、複数のオブジェクトが同時に書き込まれたものとする。また、後述する図８に示すように複数のオブジェクトが重なる場合に、複数のオブジェクトが表示領域４２（後述する図４を参照）の同じ位置で重複する。このため、重複判定部３３は、オブジェクトが書き込まれた時間や、オブジェクトが書き込まれた位置を、入力受付部３１がオブジェクトの入力を受け付ける度に算出している。ここで、同時かつ同じ位置に文字等が書き込まれたことにより、複数のオブジェクトが重複している場合に、これらのオブジェクトを「重複オブジェクト」と呼ぶ。
【００２８】
オブジェクト移動部３４は、重複判定部３３により重複したと判定された複数のオブジェクトのうち、いずれかのオブジェクトを重複しないように移動させる。ここで、オブジェクト移動部３４は、重複したオブジェクトのうち、入力されたタイミングが遅い方のオブジェクトを移動させている。このため、オブジェクト移動部３４は、移動させるオブジェクトの移動先の座標を算出する。
【００２９】
表示制御部３５（第１表示制御部の一例）は、入力受付部３１が受け付けた位置でオブジェクトが表示されるように画面を表示部２６に表示させる制御を行う。また、表示制御部３５は、重複判定部３３により複数のオブジェクトが重複していると判定された場合、オブジェクト移動部３４によって算出される移動先の座標にオブジェクトを移動して表示部２６に表示する制御を行う。また、表示制御部３５は、移動させるオブジェクトが入力されたスレーブである電子黒板２Ｂにて、移動させるオブジェクトの位置が変わらないように、電子黒板２Ｂの表示部２６に画面をスクロールして表示させるための更新情報を送信する。
【００３０】
電子黒板２Ｂは、入力受付部３１、表示制御部３５を備える。
電子黒板２Ｂの入力受付部３１（第２入力受付部の一例）は、タッチ入力部２７を通じてユーザーが電子黒板２Ｂに書き込んだ自装置からのオブジェクトの入力を受け付ける。そして、入力受付部３１は、受け付けたオブジェクトをストロークリストとして、マスターである電子黒板２Ａの入力受付部３１に送信する。
【００３１】
電子黒板２Ｂの表示制御部３５（第２表示制御部の一例）は、電子黒板２Ａの表示制御部３５から受信した更新情報に基づいて、電子黒板２Ｂの表示部２６に画面をスクロールして表示させる制御を行う。これにより、電子黒板２Ａ，２Ｂの各表示部２６の表示内容がほぼ一致する。
図示しないが、電子黒板２Ｃについても、電子黒板２Ｂと同様の構成としてある。このため、電子黒板２Ｃは、オブジェクトの入力を受け付けると、このオブジェクトをストロークリストとして電子黒板２Ａに送信し、電子黒板２Ａからオブジェクトの更新情報を受信し、この受信情報に従って、電子黒板２Ｃの表示部２６に対する表示制御を行う。
【００３２】
なお、マスターとスレーブの関係が入れ替わったときには、電子黒板２Ａ，２Ｂの構成も入れ替わる。つまり、図３の左側が電子黒板２Ｂの構成となり、図３の右側が電子黒板２Ａの構成となる。
【００３３】
図４は、電子黒板２で用いられる物理座標についての説明図である。
電子黒板２では、無限の広さを持つ領域４１から切り取った一部の表示領域４２に、ユーザーが入力したオブジェクトが表示される。この表示領域４２が、電子黒板２における画面に相当する。ここで、オブジェクトの座標を特定するために、無限の広さを持つ領域４１の左上に取られた原点Ｏを始点として、水平右向き方向をｘ、垂直下向き方向をｙとする物理座標が規定される。
【００３４】
図５は、電子黒板２Ａ〜２Ｃに書かれたオブジェクトの例を示す説明図である。ここでは、既存のオブジェクトに対して、複数拠点のユーザーがその既存のオブジェクトがある行の次行に対して、同時かつ同じ位置に新たにオブジェクトを書き込む例について説明する。図中では、拠点及び電子黒板２を識別するために、図中には表示部２６の符号に、電子黒板２Ａ〜２Ｃの符号を括弧で付加して示す。
【００３５】
図５の上段に示すように、電子黒板２Ａにて、「・りんご」というオブジェクトが書込まれたとする。この場合、全ての電子黒板２Ａ〜２Ｃには、「・りんご」というオブジェクトが表示されている。次に、拠点Ａのユーザーが各拠点の意見を求めるために、拠点Ｂ，Ｃのユーザーに対して、「意見を続けて書いてください」と不図示のマイクロフォンを使って声を掛け、拠点Ｂ，Ｃにある不図示のスピーカーから音声が報恩されたとする。そして、拠点Ｂ，Ｃのユーザーが、ほぼ同時に手書きで入力しようとする。
【００３６】
ここでは、電子黒板２Ａから書き込まれた既存のオブジェクトを「Ｏｂｊ１」と呼ぶ。また、図５では行頭文字「・」とともに「りんご」が書かれているが、これらは一つのオブジェクトとして扱われる。拠点Ａのユーザーが、各文字のストロークを大きな時間差なく連続して書き込んだためである。このように画面共有システム１では、一人のユーザーが各文字のストロークを大きな時間差なく連続して手書きした場合は、これらの文字のストロークの組を、一つのオブジェクトとして扱う。
【００３７】
図５の中段に示すように、拠点Ｂ，Ｃのユーザーにより、電子黒板２Ｂの「・りんご」というオブジェクトの下に「・ぶ」というオブジェクトが書込まれ、電子黒板２Ｃの「・りんご」というオブジェクトの下に「・み」というオブジェクトが書込まれたとする。「・ぶ」と「・み」のオブジェクトが書込まれた位置及びタイミングはほぼ同じであるとする。この場合、「・りんご」に続いて、拠点Ｂ，Ｃのユーザーが次の行に書こうとしたため、表示領域４２のほぼ同じ位置に複数のオブジェクトが同時に書込まれる。通常は、オブジェクトの排他制御を行わなければ、電子黒板２Ｂ，２Ｃから書き込まれた複数のオブジェクトが重なって視認性が低下する。
【００３８】
このため、図５の下段に示すように、「・りんご」のオブジェクトの下に、電子黒板２Ｂに入力された「・ぶ」のオブジェクトを表示する。そして、「・ぶ」のオブジェクトの下に、電子黒板２Ｃに入力された「・み」のオブジェクトを表示する。ただし、単純に「・み」のオブジェクトを表示した場合、電子黒板２Ｂを使用するユーザーにとって、「・ぶ」のオブジェクトのｙ方向の位置は変わらないが、電子黒板２Ｃを使用するユーザーにとって、「・み」のオブジェクトのｙ方向の位置（書込位置）が変わってしまう。このため、電子黒板２Ｃでは、ユーザーが「・み」のオブジェクトを入力している位置に合わせて、表示領域４２を上にスクロール表示する。これにより、電子黒板２Ｃを使用するユーザーは、「・み」のオブジェクトの入力途中で、ｙ方向の位置が変わることによる利便性の低下を防ぐことができる。
【００３９】
ここで、拠点Ｂと拠点Ｃのユーザーがほぼ同時に書いたときに行われるオブジェクトの入力制御方法について説明する。
図６は、ストロークリストの例を示す説明図である。
【００４０】
図６の上段に示すように、電子黒板２Ａに「・りんご」のオブジェクトが書込まれたとする。その後、電子黒板２Ｂから、このオブジェクトの下に「・」の行頭文字が書き込まれたとする。
このとき、図６の下段に示すように「・」の行頭文字を拡大視する。「・」の行頭文字は、始点（１１４，１６６）、終点（１１４，１５０）とする複数の座標により形状が特定される。なお、「・」の行頭文字に付した多数の丸は、電子黒板２Ｂの入力受付部３１により一定時間毎にサンプリングされた「・」の行頭文字を構成する座標を表している。
【００４１】
このように、「・」の行頭文字の書き始めの座標を（１１４，１６６）（単位はｐｔ）とする。電子黒板２Ｂの入力受付部３１は、ユーザーが図６の下段に示すようなストロークで「・」の行頭文字を書き込む間、一定のサンプリング周期で取得したストロークの座標をマスターである電子黒板２Ａの入力受付部３１に送る。この座標は、例えば、ストロークの始点である（１１４，１６６）から始まり、続いて（１１５，１６０）、（１１６，１５１）・・・と続き、ストロークの終点である（１１４，１５０）まで続く。これらの座標の集まりを「ストロークリスト」と呼ぶ。ストロークリストに示される座標を順に結ぶと、ユーザーが電子黒板２Ｂに書いたオブジェクトが現れる。ここでは、「・」の行頭文字だけをオブジェクトとして示すが、行頭文字に続けて文字等が書き込まれた場合、行頭文字と文字等が一つのストロークリストとして用いられ、行頭文字と文字等が一つのオブジェクトとなる。
【００４２】
一つのストロークリストによって示されるオブジェクトに外接する矩形枠を「オブジェクト枠」と呼ぶ。「・」の行頭文字のオブジェクトは、オブジェクト枠Ｔ０内にある。通常、オブジェクト枠Ｔ０は、それぞれのストロークリストの座標のうち、（最小ｘ，最小ｙ）、（最大ｘ，最小ｙ）、（最大ｘ，最大ｙ）、（最大ｘ，最小ｙ）の４つの点を結んで作成した長方形となる。
【００４３】
ここで、複数拠点でオブジェクトが同時に書き込まれたことを判断する処理について説明する。
図７は、電子黒板２Ａ〜２Ｃで行われるストロークリストの送信処理の例を示すシーケンス図である。この例では、電子黒板２Ｂ，２Ｃのユーザーは同時に書き込んでいない。
【００４４】
始めに、拠点Ｂにいるユーザーが、電子黒板２Ｂに書き込むと（Ｓ１）、電子黒板２Ｂの入力受付部３１が、マスターである電子黒板２Ａに対して、ストロークリストを送信する（Ｓ２）。
【００４５】
電子黒板２Ａの表示部２６には、電子黒板２Ｂから受信したストロークリストに基づくオブジェクトが表示される（Ｓ３）。そして、電子黒板２Ａの表示制御部３５は、電子黒板２Ｃに対して、電子黒板２Ｂから受信したストロークリストを送信する（Ｓ４）。電子黒板２Ｃの表示部２６には、電子黒板２Ａから受信したストロークリストに基づくオブジェクトが表示される（Ｓ５）。
【００４６】
このように複数の電子黒板２がストロークリストを共有し、表示部２６にオブジェクトを表示することができる。マスターである電子黒板２Ａは、ストロークリストを保存し、管理する機能も有する。なお、拠点Ｃにいるユーザーが、電子黒板２Ｃから手書き入力を始めた時も、電子黒板２Ｃ、電子黒板２Ａ、電子黒板２Ｂの順でストロークリストが送信され、各電子黒板２Ａ〜２Ｃに同じオブジェクトが表示される。
【００４７】
しかし、拠点Ｂにいるユーザーが電子黒板２Ｂにオブジェクトを書き込み（Ｓ６）、拠点Ｃにいるユーザーが電子黒板２Ｃにオブジェクトを書き込んだとき（Ｓ７）、各ユーザーが書き込んだタイミングがほぼ同時であったとする。この場合、電子黒板２Ａの入力受付部３１が、電子黒板２Ｂからストロークリストを受信するタイミング（Ｓ８）と、電子黒板２Ｃからストロークリストを受信するタイミング（Ｓ９）とがほぼ同時となる。
【００４８】
この場合、マスターである電子黒板２Ａの重複判定部３３は、電子黒板２Ｂ，２Ｃからストロークリストを受信したタイミングがほぼ同時にオブジェクトが書込まれたと判定する。電子黒板２Ｂ，２Ｃからストロークリストを受信したタイミングがほぼ同時であることは、電子黒板２Ａの入力受付部３１が、電子黒板２Ｂ，２Ｃからストロークリストを受信した時間で決定される。例えば、電子黒板２Ａの入力受付部３１が、電子黒板２Ｂからストロークリストの受信を開始した時間をＴｂ０とし、電子黒板２Ｃからストロークリストの受信を開始した時間をＴｃ０とする。そして、電子黒板２Ａの重複判定部３３は、時間Ｔｂ０と時間Ｔｃ０の時間差｜Ｔｂ０−Ｔｃ０｜を計算する。そして、重複判定部３３は、入力タイミング閾値をＴｆとし、｜Ｔｂ０−Ｔｃ０｜≦Ｔｆが成り立つとき、電子黒板２Ｂ，２Ｃがほぼ同時に書き込まれたと判定する。Ｔｆの値は、例えば１秒としてよく、また、拠点Ａにいるユーザーが不図示の設定画面を通じて決定してもよい。
【００４９】
次に、複数拠点で書き込まれたオブジェクトが同じ位置にあることを判断する処理について説明する。
図８は、２つのオブジェクト枠Ｔ１，Ｔ２の重なりについて示す説明図である。
２つの拠点Ｂ，Ｃに設置された電子黒板２Ｂ，２Ｃから書き込まれたオブジェクトが同じ位置にあるか否かは、電子黒板２Ａの重複判定部３３が、電子黒板２Ｂ，２Ｃから受信したストロークリストから生成するオブジェクト枠Ｔ１，Ｔ２が重なっているか否かに基づいて判断する。
【００５０】
オブジェクト枠Ｔ１の４点の座標をＴ１１（ｘ１１，ｙ１１），Ｔ１２（ｘ１２，ｙ１１），Ｔ１３（ｘ１２，ｙ１２），Ｔ１４（ｘ１１，ｙ１２）とする。また、オブジェクト枠Ｔ２の４点の座標をＴ２１（ｘ２１，ｙ２１），Ｔ２２（ｘ２２，ｙ２１），Ｔ２３（ｘ２２，ｙ２２），Ｔ２４（ｘ２１，ｙ２２）とする。そして、電子黒板２Ａの重複判定部３３は、次式（１）〜（４）のいずれかが成立するとき、オブジェクト枠Ｔ１，Ｔ２が重なっていると判断できる。すなわち、重複判定部３３は、拠点Ｂ，Ｃにいる各ユーザーが電子黒板２Ｂ，２Ｃの同じ位置にオブジェクトを書き込んでいると判断する。
【００５１】
ｘ１１≦ｘ２１≦ｘ１２ ａｎｄ ｙ１１≦ｙ２１≦ｙ１２  …（１）
ｘ１１≦ｘ２２≦ｘ１２ ａｎｄ ｙ１１≦ｙ２１≦ｙ１２  …（２）
ｘ１１≦ｘ２２≦ｘ１２ ａｎｄ ｙ１１≦ｙ２２≦ｙ１２  …（３）
ｘ１１≦ｘ２１≦ｘ１２ ａｎｄ ｙ１１≦ｙ２２≦ｙ１２  …（４）
【００５２】
ここで、式（１）に該当するオブジェクト枠Ｔ１，Ｔ２の重なりが図８の上段に表される。また、式（２），（３），（４）に該当するオブジェクト枠Ｔ１，Ｔ２の重なりが図８の下段の左側、真ん中、右側に表される。
【００５３】
図９は、同時入力リストの構成例を示す説明図である。
同時入力リストは、複数の拠点から同時にオブジェクトが書込まれた場合に、マスターが作成するリストであり、例えば、ＲＡＭ２３又は不揮発性メモリ２４に構成される。この例では、電子黒板２Ｂに書き込まれたオブジェクト（以下、「Ｏｂｊ２」と呼ぶ）の入力時間が、電子黒板２Ｃに書き込まれたオブジェクト（以下、「Ｏｂｊ３」と呼ぶ）の入力時間よりわずかに早かったとする。このため、電子黒板２Ａの重複判定部３３は、Ｏｂｊ２，Ｏｂｊ３の順でオブジェクト名と拠点名（電子黒板２の識別符号等）と、Ｏｂｊ２，Ｏｂｊ３を含むストロークリストを作成する。
【００５４】
図１０は、マスターである電子黒板２Ａがストロークリストを受信したときの処理例を示すフローチャートである。
始めに、マスターである電子黒板２Ａの入力受付部３１は、スレーブである電子黒板２Ｂ，２Ｃからストロークリストを受信したか否かを判定する（Ｓ１１）。ストロークリストを受信していない場合（Ｓ１１のＮＯ）、入力受付部３１は、ステップＳ１１にて引き続き待機する。
【００５５】
ストロークリストを受信した場合（Ｓ１１のＹＥＳ）、入力受付部３１は、受信したストロークリストをオブジェクト管理リストに追加する（Ｓ１２）。オブジェクト管理リストは、電子黒板２Ｂ，２Ｃから同時にオブジェクトが書込まれたか否かに関わらず、ストロークリストが格納されるリストであり、例えば、ＲＡＭ２３又は不揮発性メモリ２４に構成される。入力受付部３１は、電子黒板２Ｂ，２Ｃのいずれかからストロークリストを受信した場合、そのストロークリストだけをオブジェクト管理リストに追加する。なお、オブジェクト管理リストは、入力受付部３１だけでなく、オブジェクト移動部３４によっても編集される場合がある。
【００５６】
次に、識別部３２は、オブジェクト管理リストに追加されたストロークリストに基づいて、オブジェクトの内容、属性を識別する（Ｓ１３）。オブジェクトの内容とは、例えば、オブジェクトがどのような文字で構成されるか、オブジェクトが行頭文字であるかといった情報である。また、オブジェクトの属性とは、例えば、オブジェクトが書き込まれる方向が縦書きであるか横書きであるかといった情報である。
【００５７】
次に、重複判定部３３は、オブジェクト管理リストを参照し、入力受付部３１が複数の電子黒板２から受け付けた最新のストロークリストの時間差が入力タイミング閾値Ｔｆ以下であるか否かを判定する（Ｓ１４）。ここで、判定対象とされるストロークリストは、電子黒板２Ｂ，２Ｃから受信した最新のストロークリストであり、ステップＳ１４の処理で複数のオブジェクトが同時に書き込まれたか否かが判定される。
【００５８】
時間差が一定値Ｔｆ以下である場合（Ｓ１４のＹＥＳ）、重複判定部３３は、オブジェクト管理リストを参照し、受信したストロークリストによるオブジェクト枠Ｔ１，Ｔ２が重なるか否かを判定する（Ｓ１５）。ステップＳ１５の処理で複数のオブジェクトが同じ位置に入力されたか否かが判定される。
【００５９】
オブジェクト枠Ｔ１，Ｔ２が重なる場合、重複判定部３３は、同時入力リストにオブジェクト名と、このオブジェクトのストロークリストを追加して（Ｓ１６）、本処理を終了する。また、ステップＳ１４にてストロークリストの時間差が一定値Ｔｆより大きい場合（Ｓ１４のＮＯ）、ステップＳ１５にてオブジェクト枠Ｔ１，Ｔ２が重ならない場合（Ｓ１５のＮＯ）、本処理を終了する。
【００６０】
図１０のステップＳ１６にて、同時入力リストには、同時かつ同じ位置に書き込まれたオブジェクトが格納される。このため、以降の処理ではオブジェクト移動部３４が、同時入力リストを上から順に参照する。Ｏｂｊ２は、最初に書き込まれたオブジェクトであるため、オブジェクト移動部３４は、Ｏｂｊ２の入力位置を優先して維持するように制御する。このため、Ｏｂｊ２の書込位置、すなわち物理座標は変更しない。
【００６１】
次に、オブジェクト移動部３４は、同時入力リストの次の項目を参照する。ここで、上述した式（１）〜（４）のいずれかに該当することにより、Ｏｂｊ３が入力された位置は、Ｏｂｊ２の入力された位置と重なっているとする。この場合、Ｏｂｊ３は、Ｏｂｊ２よりも後に書き込まれたオブジェクトであるため、オブジェクト移動部３４は、Ｏｂｊ３を移動して表示する制御を行う。
【００６２】
オブジェクト移動部３４は、重複判定部３３により重複したと判定されていない既存のオブジェクトの位置に基づいて、オブジェクトの移動先の座標を演算し、移動先の座標にオブジェクトを移動させる。このとき、オブジェクト移動部３４は、入力されたタイミングが遅い方のオブジェクトの属性、又は、既存のオブジェクトと、入力されたオブジェクトとの間の距離を示すオブジェクト距離が近いオブジェクトの属性に基づいて、オブジェクトの移動先の座標を演算する。
【００６３】
例えば、オブジェクト移動部３４は、移動対象となるＯｂｊ３の移動先の位置を、既存のＯｂｊ１、及び、新規のＯｂｊ３とほぼ同時に書き込まれたＯｂｊ２の位置と高さから決定する。Ｏｂｊ３の移動先を決定するための基準として、既存のＯｂｊ１の位置及び高さが用いられる。ただし、Ｏｂｊ３の位置を決定するための基準としては、Ｏｂｊ１に限らなくてもよい。
【００６４】
図１１は、オブジェクトの関連を示す説明図である。
図１１の上段に示すように、電子黒板２Ａに既に書き込まれたＯｂｊ１の下に、電子黒板２Ｂに新たに書き込まれたＯｂｊ２があるとする。この場合、電子黒板２Ａの識別部３２は、オブジェクトが横書きで入力されたと検知する。ここで、Ｏｂｊ１とＯｂｊ２の間の距離が一定値以下であり、Ｏｂｊ１とＯｂｊ２の左端の座標がほぼ同じ（破線で表す）である場合、オブジェクト移動部３４は、Ｏｂｊ１とＯｂｊ２が関連性のあるオブジェクトとして認識し、Ｏｂｊ１の位置及び高さを、移動先の座標を求めるための基準としてよい。なお、Ｏｂｊ２の代わりにＯｂｊ３を用いても同様である。
【００６５】
図１１の中段に示すように、Ｏｂｊ１とＯｂｊ２の各文字の大きさが一定でなくても、重複判定部３３がＯｂｊ１とＯｂｊ２に対してそれぞれオブジェクト枠Ｔ３，Ｔ４を求めることができる。そして、電子黒板２Ａの重複判定部３３は、２つのオブジェクト枠Ｔ３，Ｔ４を最短で結んだときの距離をオブジェクト距離Ｌとして求める。重複判定部３３は、複数のオブジェクトについてオブジェクト距離Ｌを求め、オブジェクト距離Ｌが最も短いオブジェクトの組が関連性のあるオブジェクトであると認識してもよい。
【００６６】
そして、オブジェクト移動部３４は、重複したオブジェクトのオブジェクト距離Ｌが距離閾値以下であり、かつ、入力されたタイミングが早い方のオブジェクトの入力開始時の座標が一定の範囲内にあるオブジェクトの属性に基づいて、オブジェクトの移動先の座標を演算する。距離閾値として、任意の値が設定される。
【００６７】
なお、Ｏｂｊ１，Ｏｂｊ２，Ｏｂｊ３がｙ方向に箇条書きで入力される場合がある。この場合、識別部３２は、Ｏｂｊ１，Ｏｂｊ２，Ｏｂｊ３の行頭文字（この例では、「・」の記号）を検出し、Ｏｂｊ１，Ｏｂｊ２，Ｏｂｊ３と、各行頭文字を関連性があると認識してもよい。また、識別部３２は、Ｏｂｊ１，Ｏｂｊ２，Ｏｂｊ３が一定間隔で入力された場合に、Ｏｂｊ１，Ｏｂｊ２，Ｏｂｊ３に関連性があると認識してもよい。
【００６８】
図１１の下段に示すように、オブジェクト移動部３４は、Ｏｂｊ１，Ｏｂｊ２，Ｏｂｊ３の文字の高さＨ１に基づいて、文字の中心線Ｃ１を計算する。さらに、オブジェクト移動部３４は、Ｏｂｊ１の中心線Ｃ１のｙ座標を計算し、Ｏｂｊ１の中心線Ｃ１のｙ座標に基づいて、Ｏｂｊ２とＯｂｊ３の移動先の座標を決定する。ここで、Ｏｂｊ３のｘ方向の位置は変更しないものとする。
【００６９】
Ｏｂｊ１が「りんご」である場合、オブジェクト移動部３４は、「りんご」を構成するストロークリストの中で最も大きいｙ座標と、最も小さいｙ座標の差を２分割した値を、Ｏｂｊ１の高さＨ１の中央値として識別される。Ｏｂｊ１の高さＨ１の中央値は、一点鎖線の中心線Ｃ１で表される。ただし、オブジェクト移動部３４は、少なくとも一文字分のオブジェクトが入力された後、Ｏｂｊ１の高さＨ１を識別する。また、オブジェクト移動部３４は、Ｏｂｊ１と同様に、Ｏｂｊ２，Ｏｂｊ３についても高さＨ１の中央値を計算する。Ｏｂｊ２，Ｏｂｊ３の高さＨ１の中央値についても、一点鎖線の中心線Ｃ１で表される。そして、オブジェクト移動部３４は、Ｏｂｊ１とＯｂｊ２の中心線Ｃ１のｙ座標の差分をＯｂｊ１とＯｂｊ２の行間Ｉ１として計算する。このため、オブジェクト移動部３４は、Ｏｂｊ２の中心線Ｃ１のｙ座標に、行間Ｉ１の距離を加えたｙ座標を、移動させるＯｂｊ３の中心線Ｃ１のｙ座標とする。そして、オブジェクト移動部３４は、既存のＯｂｊ１の中心線Ｃ１と、重複したＯｂｊ２の中心線Ｃ１との距離と同じ距離だけ離れた位置にＯｂｊ３の中心線Ｃ１が一致するようにＯｂｊ３を移動させる。
【００７０】
図１２は、電子黒板２Ａの制御部２０がＯｂｊ３の移動先を決定する処理の例を示すフローチャートである。この処理は、同時入力リストに格納されているオブジェクトの数だけ行われる。
【００７１】
始めに、オブジェクト移動部３４は、同時入力リストに格納されているオブジェクトの数を確認する（Ｓ２１）。同時入力リストにオブジェクトが格納されていない場合（Ｓ２１のＮＯ）、本処理を終了する。一方、同時入力リストにオブジェクトが格納されている場合、オブジェクト移動部３４は、同時入力リストに格納された一番上のオブジェクトと、既存のオブジェクトとの間で行間を計算する（Ｓ２２）。
【００７２】
次に、オブジェクト移動部３４は、行間に合わせて、同時入力リストに格納された順でオブジェクトのｙ方向の間隔（例えば、行間）を調整する（Ｓ２３）。そして、表示制御部３５は、スレーブとしての電子黒板２Ｂ，２Ｃに、調整したオブジェクトの更新情報を送信する（Ｓ２４）。この更新情報には、オブジェクトの座標、電子黒板２Ｂ，２Ｃのストロークリストが含まれる。これにより、例えば、電子黒板２Ａ〜２Ｃには、適切な間隔でＯｂｊ１，Ｏｂｊ２，Ｏｂｊ３が表示されるようになる。
【００７３】
図１３に示すフローチャートは、スレーブが３つ以上存在し、同時かつ同じ位置で重なったオブジェクトが３つ以上（つまり同時入力リストに３つ以上）あった場合にも適用できる。この場合においても、同時入力リストに格納されているオブジェクトを先頭から１つずつ座標をずらして、各オブジェクトを等間隔で表示することが可能となる。
【００７４】
このようにオブジェクト移動部３４は、同時入力リストに格納されている全てのオブジェクトを移動することができる。なお、同時入力リストに格納されたオブジェクトは、一定時間以上更新されなかった場合、すなわち各拠点のユーザーがオブジェクトを入力しなかった場合には、オブジェクトが確定したと判断できる。このため、識別部３２は、同時入力リストから、オブジェクトを削除する。これにより、例えば、電子黒板２Ｂ，２Ｃから、過去に同時入力リストに格納されたオブジェクトが入力された位置とは異なる位置でオブジェクトの入力があった場合に、同時入力リストに格納されたオブジェクトが、過去に同時入力リストに格納されたオブジェクトにより移動座標の影響を受けない。
【００７５】
ところで、マスターである電子黒板２Ａの表示制御部３５が、新しく決定したＯｂｊ３の座標を電子黒板２Ｂ，２Ｃに送信すると、電子黒板２Ｂ，２Ｃに表示されるＯｂｊ３の物理座標が変更され、Ｏｂｊ２の下にＯｂｊ３が表示される。しかし、電子黒板２Ｃでは、ユーザーがＯｂｊ３を書き込んでいる途中であるため、Ｏｂｊ３が移動するとＯｂｊ３が変形するおそれがある。このため、電子黒板２Ｃに表示されるＯｂｊ３の位置を変えず、Ｏｂｊ３の書込位置が変わらないように表示領域４２がスクロールされる。
【００７６】
図１３は、スレーブである電子黒板２Ｃにおいて、表示領域４２がスクロールする例を示す説明図である。スレーブが表示領域４２をスクロールする処理は、電子黒板２Ｃの表示制御部３５が行う。
【００７７】
上述したように電子黒板２Ａ〜２Ｃでは、上からＯｂｊ１，Ｏｂｊ２，Ｏｂｊ３の順にオブジェクトが表示される。ここで、現在、拠点Ｃにいるユーザーが物理的なスタイラスペン等を用いて電子黒板２ＣにおけるＯｂｊ３を入力している間、電子黒板２ＣにおけるＯｂｊ３の表示位置を変更しないようにする。このため、電子黒板２Ｃでは、Ｏｂｊ１の「・りんご」、Ｏｂｊ２の「・ぶ」だけを上にスクロールして表示する。これにより、電子黒板２Ｃでは、Ｏｂｊ３の「・み」の書込位置は変わらない。ただし、電子黒板２Ｃにおいて、Ｏｂｊ１，Ｏｂｊ２を移動して表示する際には、Ｏｂｊ１の「・りんご」、Ｏｂｊ２の「・ぶ」を突然移動してもよいし、徐々に移動して表示してもよい。また、電子黒板２Ｃへのオブジェクトの書込が終わって一定時間が経過した後、電子黒板２Ｃのスクロールを元に戻して、電子黒板２Ａ，２Ｂの画面と表示内容を同じにしてもよい。
【００７８】
なお、本実施の形態例では、オブジェクトを横書きとした例について説明したが、オブジェクトが縦書きであった場合も横書きと同様に表示が制御される。オブジェクトが縦書きである場合、重複したオブジェクトが左又は右に移動して表示する制御が行われる。重複したオブジェクトを移動する方向は、ユーザーが任意に選択可能としてもよい。
【００７９】
図１４は、スレーブである電子黒板２Ｃの動作例を示すフローチャートである。この例では、スレーブが電子黒板２Ｃを表し、マスターが電子黒板２Ａを表す。
始めに、スレーブである電子黒板２Ｃの入力受付部３１は、マスターである電子黒板２Ａからオブジェクトの更新情報を受信したか否かを判定する（Ｓ３１）。電子黒板２Ｃの入力受付部３１が、電子黒板２Ａから更新情報を受信していなければ（Ｓ３１のＮＯ）、更新情報を受信するまでステップＳ３１の処理を繰り返す。
【００８０】
電子黒板２Ｃの表示制御部３５は、入力受付部３１が、電子黒板２Ａから更新情報を受信していれば（Ｓ３１のＹＥＳ）、更新対象となるオブジェクトが、電子黒板２Ｃで書き込まれたオブジェクトであるか否かを判定する（Ｓ３２）。電子黒板２Ｃで書き込まれたオブジェクトでないと判定した場合（Ｓ３２のＮＯ）、表示制御部３５は、そのまま本処理を終了する。電子黒板２Ｃで書き込まれたオブジェクトであると判定した場合（Ｓ３２のＹＥＳ）、表示制御部３５は、更新対象となるオブジェクトの移動分だけ表示領域４２をスクロールして、表示部２６にオブジェクトを表示し（Ｓ３３）、本処理を終了する。
【００８１】
以上説明した第１の実施の形態例に係る画面共有システム１では、複数の電子黒板２から同時に同じ位置に重ねてオブジェクトが書込まれた場合に、重複オブジェクトのうち、いずれかのオブジェクトを自動的に移動し、順に表示し直すことができる。このため、複数のオブジェクトに対するユーザーの視認性が向上する。
【００８２】
また、移動されるオブジェクトを書込中の電子黒板２では、オブジェクトの書込位置が変わらないように、オブジェクトの移動方向と同じ方向に表示領域４２がスクロールされる。このため、電子黒板２にオブジェクトを書き込んでいるユーザーは、移動後の位置で改めてオブジェクトを書き直す必要がない。
【００８３】
また、同時に書き込まれたオブジェクトは、既存のオブジェクトとの間で関連性が認識され、この関連性を維持するように同時に書き込まれたオブジェクトが表示される。このため、ユーザーにとって違和感のない並びでオブジェクトが表示される。
【００８４】
このように複数のオブジェクトが重複しても適切にオブジェクトが移動して表示されるため、各拠点のユーザーは、オブジェクトの書込をためらうことなく開始できる。
【００８５】
なお、第１の実施の形態例に係る画面共有システム１では、スレーブである電子黒板２Ｂ，２Ｃから入力されたオブジェクトが重複した場合について説明した。しかし、マスターである電子黒板２Ａから入力されたオブジェクトと、スレーブである電子黒板２Ｂ，２Ｃのいずれかから入力されたオブジェクトが重複する場合もある。この場合であっても、オブジェクトを移動する制御は、上述した実施の形態例に係る処理に基づいて行えばよい。
【００８６】
［第２の実施の形態例］
次に、本発明の第２の実施の形態例に係る画面共有システム１について説明する。ここでは、電子黒板２Ａ〜２Ｃに箇条書きでオブジェクトが書込まれるものとする。
【００８７】
図１５は、箇条書きのオブジェクトの例を示す説明図である。
例えば、会議の主催者である拠点Ａのユーザーが、各拠点にいるユーザーが拠点毎に意見を書きやすくするため、マスターである電子黒板２Ａに、予め箇条書きの行頭文字を拠点数分だけ書いていたとする。この場合、図１５の上段に示すように、電子黒板２Ａ〜２Ｃには、拠点Ａ〜Ｃの数に等しい３つの行頭文字が上から下に並んで表示される。この例では、行頭文字の例を「ｏ」とするが、行頭文字は「□」等の記号や数字（１，２，３．．など）でもよい。
【００８８】
このように電子黒板２Ａにオブジェクトが書込まれると、電子黒板２Ａの識別部３２は、箇条書きで入力される行頭文字、及び、行頭文字に関連付けられたオブジェクトを識別する。行頭文字及びオブジェクトの関連付けは識別部３２により行われるが、オブジェクト移動部３４により行われる場合もある。識別部３２が行う行頭文字の識別は、公知のパターンマッチ技術を使用して行われる。そして、識別部３２は、「ｏ」が縦や横に並んでいることを認識すると、書き込まれたオブジェクトが箇条書きを表していると認識する。そして、拠点Ａにいるユーザーが、箇条書きの一番上の行頭文字の隣りに「りんご」と書き込む。その後、拠点Ａにいるユーザーが、拠点Ｂ，Ｃにいるユーザーに対して、「意見を書いてください。」と呼びかけると、拠点Ｂ，Ｃにいるユーザーは、上から２番目の行頭文字の隣りに、それぞれ「ぶどう」、「みかん」とほぼ同時に書き込んだとする。
【００８９】
このとき、上述した第１の実施の形態例と同様に、マスターである電子黒板２Ａの重複判定部３３は、電子黒板２Ｂ，２Ｃに同時かつ同じ位置にオブジェクトが書き込まれたことを認識する。そして、オブジェクト移動部３４は、２つのオブジェクトが重ならないように、一方のオブジェクトを移動する制御を行う。このとき、オブジェクト移動部３４は、識別部３２により、重複したオブジェクトが行頭文字に関連付けられていると識別された場合に、他の行頭文字にオブジェクトを移動させ、他の行頭文字にオブジェクトを関連付ける。本実施の形態例では、予め行頭文字が表示されているので、行頭文字のｙ座標に、オブジェクトの中心線のｙ座標が合うように、オブジェクトを移動して表示する。ここでは、電子黒板２Ｂにオブジェクトが書込まれたタイミングが、電子黒板２Ｃにオブジェクトが書込まれたタイミングよりわずかに早かったため、電子黒板２Ｃに書き込まれたオブジェクトが移動対象となる。
【００９０】
図１５の中段に示すように、電子黒板２Ｃには、オブジェクトとして、「み」が入力されたとする。拠点Ｃにいるユーザーが電子黒板２Ｂに「み」を書き終えたところで、オブジェクトの文字の高さＨ２と、一点鎖線で示す文字の中心線Ｃ２が決まる。マスターである電子黒板２Ａの識別部３２は、上述したように箇条書きの行頭文字を識別しているため、電子黒板２Ｃに書き込まれた「み」のオブジェクトを、図１５の上段に示すように上から３番目の行頭文字に合わせて移動する制御を行う。このため、オブジェクト移動部３４は、上から３番目の行頭文字の中心線と、電子黒板２Ｃに書き込まれた「み」のオブジェクトの中心線Ｃ２のｙ座標が一致するように、「み」のオブジェクトのｙ座標を求める。なお、オブジェクト移動部３４は、オブジェクトを横方向に移動させないため、オブジェクトのｘ座標は元のままとする。
【００９１】
ここで、オブジェクトの移動先に別のオブジェクトが既に存在していた場合の対応について説明する。
図１６は、オブジェクト管理リストの構成例を示す説明図である。
例えば、図１５に示したように、始めに、拠点Ａにいるユーザーが３つの行頭文字のオブジェクトだけを入力し、次に、拠点Ｂにいるユーザーが、上から２番目の行頭文字に合わせてオブジェクトを書き込んだとする。このとき、図１６に示すオブジェクト管理リストにオブジェクトの情報が格納される。オブジェクト管理リストには、行頭文字に合わせて、項目“１”〜“３”の項目番号に合わせて書き込まれ、行頭文字に関連付けられたオブジェクトが管理される。識別部３２は、行頭文字と、箇条書きされたオブジェクトとの位置関係に基づいて、行頭文字とオブジェクトを関連付ける。例えば、図１５に示した箇条書きの行頭文字は縦に並んでいるため、行頭文字と、この行頭文字の右側に書き込まれたオブジェクトが関連づけられる。
【００９２】
次に、拠点Ａ，Ｃにいるユーザーが、１番上の箇条書きの行頭文字に合わせてほぼ同時にオブジェクトを書き込んだとする。なお、電子黒板２Ａにオブジェクトが書き込まれたタイミングが、電子黒板２Ｃにオブジェクトが書き込まれたタイミングよりわずかに早かったとする。この場合、既に箇条書きの上から２番目の項目にはオブジェクトが書き込まれているため、オブジェクト移動部３４は、電子黒板２Ｃに書き込まれたオブジェクトを、２番目の項目の位置に移動できない。
【００９３】
そこで、オブジェクト移動部３４は、箇条書きの空き項目を検索し、行頭文字以外に書き込まれていない箇条書きの空き項目に、電子黒板２Ｃに書き込まれたオブジェクトを移動する。本実施の形態例では、電子黒板２Ｂに書き込まれたオブジェクトがＯｂｊ１として管理されている。そして、電子黒板２Ａに書き込まれたオブジェクトがＯｂｊ２として管理され、電子黒板２Ｃに書き込まれたオブジェクトがＯｂｊ３として管理される。項目“１”には、ほぼ同時に書き込まれたＯｂｊ２，Ｏｂｊ３が格納される。Ｏｂｊ２，Ｏｂｊ３は、図９に示した同時入力リストにも格納される。そして、オブジェクト移動部３４は、Ｏｂｊ３の中心線Ｃ２が、上から３番目の項目“３”の位置にある行頭文字の中心線と合うようにＯｂｊ３を移動する。これにより項目“１”，“２”，“３”には、順にＯｂｊ２，Ｏｂｊ１，Ｏｂｊ３が表示される。
【００９４】
ところで、図１６に示した例では、同時に入力されたオブジェクトを、箇条書きの空き項目に移動することができたが、箇条書きの空き項目が無い場合、オブジェクト移動部３４は、新たに箇条書きの空き項目を自動で追加してもよい。
【００９５】
図１７は、箇条書きの空き項目を自動で追加する例を示す説明図である。
図１７の上段に示すオブジェクト管理リストには、項目“２”，“３”，“１”の順でＯｂｊ１，Ｏｂｊ２，Ｏｂｊ３，Ｏｂｊ４が格納されたとする。Ｏｂｊ１，Ｏｂｊ２は、拠点Ｂにいるユーザーによって電子黒板２Ｂに書き込まれたオブジェクトであり、項目“２”，“３”に格納されている。そして、拠点Ａにいるユーザーが電子黒板２Ａに書き込んだオブジェクトがＯｂｊ３であり、拠点Ｃにいるユーザーが電子黒板２Ｃに書き込んだオブジェクトがＯｂｊ４である。オブジェクト管理リストにより、項目“１”の空き項目にＯｂｊ３とＯｂｊ４が同時に書き込まれたことが分かる。
【００９６】
項目“２”，“３”には、既にＯｂｊ１とＯｂｊ２があるため、項目“１”において、Ｏｂｊ３と重複するＯｂｊ４の移動先がない。そこで、オブジェクト移動部３４は、オブジェクトの移動先に他の行頭文字を追加して、追加した他の行頭文字にオブジェクトを移動させ、他の行頭文字にオブジェクトを関連付ける。このため、オブジェクト移動部３４は、項目“３”の下に自動的に項目“４”の行頭文字を追加し、項目“４”の行頭文字に移動させたオブジェクトを関連付ける。
【００９７】
図１７の中段には、「・」で示される行頭文字Ｄ１〜Ｄ３の下に、行頭文字Ｄ４を追加して表示した例が示される。オブジェクト移動部３４は、新たに追加する行頭文字の位置を、例えば２番目、３番目の行頭文字の間隔Ｉ２で決める。そして、オブジェクト移動部３４は、３番目の行頭文字の中心線Ｃ２から間隔Ｉ２だけｙ方向に移動させた位置に４番目の行頭文字を追加する。行頭文字Ｄ１〜Ｄ４の中心線Ｃ２は等間隔であるため、行頭文字Ｄ１〜Ｄ４はｙ方向に等間隔に並んでいる。そして、オブジェクト移動部３４は、追加した項目“４”に対応する箇条書きの空き項目に、項目“１”〜“３”に共通する行頭文字（「・」）を追加して表示する。
【００９８】
また、図１７の下段に示すように、オブジェクト移動部３４は、追加した行頭文字に対応する項目“４”をオブジェクト管理リストに追加し、追加した行頭文字と、Ｏｂｊ４を関連付ける。そして、オブジェクト移動部３４は、Ｏｂｊ４を項目“４”に格納すると共に、項目“４”に対応する箇条書きの空き項目にＯｂｊ４を移動する。これによりＯｂｊ４が追加された位置が、新たに追加された項目“４”であることをオブジェクト管理リストで管理することが可能となる。
【００９９】
以上説明した第２の実施の形態例に係る画面共有システム１では、箇条書きの空き項目に書き込まれたオブジェクトを、マスターである電子黒板２Ａのオブジェクト管理リストで管理する。ここで、重なったオブジェクトの移動先に空き項目がない場合、オブジェクト移動部３４は、新たに行頭文字を追加する。そして、移動しようとするオブジェクトの中心線を、追加した行頭文字の中心線Ｃ２に合わせるようにオブジェクトを移動する。その後、電子黒板２Ａは、移動したオブジェクトの更新情報を電子黒板２Ｂ，２Ｃに送信する。このため、電子黒板２Ａ〜２Ｃには、行頭文字の空き項目に書き込まれたＯｂｊ１〜Ｏｂｊ４がｙ方向に等間隔に並んで表示される。電子黒板２Ａ〜２Ｃには、オブジェクトが重複することなく、整列して表示されるため、オブジェクトの視認性が向上する。
【０１００】
［第３の実施の形態例］
次に、本発明の第３の実施の形態例に係る画面共有システム１について説明する。ここでは、移動先に既存オブジェクトが存在しているものとする。
【０１０１】
図１８は、新たに書き込まれたオブジェクトと、既存のオブジェクトを表示する例を示す説明図である。
図１８の上段に示すように、拠点Ａにいるユーザーが電子黒板２Ａに「りんご」と書込み、拠点Ｂ，Ｃにいるユーザーがそれぞれ同時に電子黒板２Ｂ，２Ｃに「ぶどう」、「みかん」と書き込んだとする。この例においても、「りんご」のオブジェクトをＯｂｊ１と表し、「ぶどう」、「みかん」のオブジェクトをＯｂｊ２，Ｏｂｊ３と表す。Ｏｂｊ２が書き込まれたタイミングが、Ｏｂｊ３が書き込まれたタイミングよりわずかに早いため、Ｏｂｊ３がＯｂｊ２の下に移動される。
【０１０２】
しかし、「りんご」のオブジェクトが表示される下の空き領域には、既に楕円で示す図形が書かれていたとする。このように予め表示されている図形等のオブジェクトを「既存オブジェクト」と呼び、Ｏｂｊ１０と表す。既存オブジェクトは、図形以外にも文字等がある。そして、異動対象であるＯｂｊ３が、既存オブジェクトであるＯｂｊ１０の位置に移動すると、Ｏｂｊ３とＯｂｊ１０が重なってしまう。
【０１０３】
そこで、本実施の形態例に係るマスターであるオブジェクト移動部３４は、書込中のＯｂｊ１〜Ｏｂｊ３の行間を詰めるか、Ｏｂｊ３の移動先に表示されているＯｂｊ１０を移動するかの制御を行う。
【０１０４】
＜行間を詰める例＞
ここでは、既存のオブジェクトがある行と、書込中のオブジェクトがある行の行間を詰める例について説明する。始めに、オブジェクト移動部３４は、重複オブジェクトを分ける。そして、既存のオブジェクトと、分けられた重複オブジェクトを行間を詰めながら順にｙ方向に並べて、既存オブジェクトに重ならないように全てのオブジェクトの行が入るか確認する。
【０１０５】
図１８の中段には、行間を詰めたオブジェクトの表示例が示される。ここで、オブジェクト移動部３４は、追加した他の行頭文字、及び他の行頭文字に関連付けられるオブジェクトの高さ又は幅を、移動可能な空き領域に移動可能となるように調整する。例えば、オブジェクト移動部３４は、一番上にある「りんご」のオブジェクトであるＯｂｊ１の最小のｙ座標と、一番下にある「み」のオブジェクトであるＯｂｊ３の最大のｙ座標の差Ｈ３を求める。
【０１０６】
次に、オブジェクト移動部３４は、Ｏｂｊ１〜Ｏｂｊ３のそれぞれの高さＭａ，Ｍｂ，Ｍｃを算出する。この高さは、Ｏｂｊ１〜Ｏｂｊ３の各ストロークリストにおいて、ｙ座標の最小値と最大値の差として求められる。なお、高さＭａ，Ｍｂ，Ｍｃには、いくらかのマージンを加えてもよい。そして、Ｈ３≧Ｍａ＋Ｍｂ＋Ｍｃという式が成立するのであれば、行間を詰めてＯｂｊ１〜Ｏｂｊ３を表示することができる。しかし、この式が成立しなければ、後述するように既存オブジェクトであるＯｂｊ１０を空き領域に移動する処理を行うこととなる。
【０１０７】
オブジェクト移動部３４がＯｂｊ１〜Ｏｂｊ３の行間を詰める制御を行うことを決めると、電子黒板２Ｂ，２Ｃに書込中であるＯｂｊ２，Ｏｂｊ３のいずれも現在の書込位置から移動させる場合がある。このため、オブジェクト移動部３４は、最も下にあるＯｂｊ３の位置を決定する。Ｏｂｊ３の位置は、できるだけ既存オブジェクトであるＯｂｊ３の楕円と重ならない位置であって、ｙ座標が大きい位置が決定される。
【０１０８】
オブジェクト移動部３４は、Ｏｂｊ３の位置を決定した後、Ｏｂｊ３の一つ上にあるＯｂｊ２の位置を決定する。このため、オブジェクト移動部３４は、「りんご」のＯｂｊ１の中心線と、「み」のＯｂｊ３の中心線との中央にあるｙ座標を計算し、このｙ座標に「ぶ」のＯｂｊ２の中心線が合うように「ぶ」のＯｂｊ２の位置を決定する。このようにして決定した位置にＯｂｊ２，Ｏｂｊ３を移動させるため、オブジェクト移動部３４は、スレーブである電子黒板２Ｂ，２ＣにＯｂｊ２，Ｏｂｊ３の移動先の座標を含む更新情報を送信する。そして、電子黒板２Ｂ，２Ｃは、電子黒板２Ａから受信した更新情報に基づいて、書込中であるＯｂｊ２，Ｏｂｊ３の書込位置がずれないように、Ｏｂｊ２，Ｏｂｊ３の移動分だけ表示をスクロールする。このようにして電子黒板２Ａ〜２Ｃは、Ｏｂｊ１〜Ｏｂｊ３の行間を詰めて表示することが可能となる。
【０１０９】
なお、電子黒板２Ａ〜２Ｃが行間を詰めてＯｂｊ１〜Ｏｂｊ３を表示した場合、各拠点にいるユーザーが書き込むことが可能な空き領域の高さが狭まる。このため、図１８の下段に示すように、ガイドラインとして用いられる補助線のオブジェクトであるＯｂｊ１１を電子黒板２Ａ〜２Ｃに表示してもよい。また、「小さめに書いてください」と言った注意事項を示すオブジェクトを電子黒板２Ａ〜２Ｃに表示してもよい。これにより、各拠点のユーザーは、高さを揃えてほぼ同じ大きさの文字等を書き込むことができる。
【０１１０】
＜既存オブジェクトを移動させる例＞
次に、行間を十分に確保できない場合の対応例について説明する。Ｏｂｊ１〜Ｏｂｊ３の行間を詰めても、Ｏｂｊ１〜Ｏｂｊ３が大きいため、Ｏｂｊ１〜Ｏｂｊ３が重複する場合、オブジェクト移動部３４は、既存オブジェクトであるＯｂｊ１０を移動してもよい。
【０１１１】
図１９は、既存オブジェクトを移動させる例を示す説明図である。
図１９の上段に示すように、「み」のＯｂｊ３がある行と、既存オブジェクトのＯｂｊ１０が重なるとする。オブジェクト移動部３４は、調整した行間であっても、既存のオブジェクトと移動させたオブジェクトが重複する場合には、既存のオブジェクトと重複しないように、既存のオブジェクトを移動する。
【０１１２】
例えば、オブジェクト移動部３４は、既存のオブジェクトが存在することにより空き領域がないと判断した場合に、既存のオブジェクトを移動して拡大した空き領域に追加した他の行頭文字、及び他の行頭文字に関連付けられるオブジェクトを移動させる。このとき、オブジェクト移動部３４は、Ｏｂｊ１〜Ｏｂｊ３の行間を計算して、Ｏｂｊ３の移動後の位置を計算し、その後、Ｏｂｊ３のｙ座標の最大値を計算する。そして、オブジェクト移動部３４は、Ｏｂｊ３のｙ座標の最大値と、Ｏｂｊ１０のｙ座標の最小値の差から、Ｏｂｊ３とＯｂｊ１０の重なる高さＨ４を求める。このようにオブジェクト移動部３４は、既存のオブジェクトと重複しないように、移動先のオブジェクトの行間を調整することができる。
【０１１３】
図１９の下段に示すように、Ｏｂｊ３の下にＯｂｊ１０が高さＨ４だけ移動して表示される。そして、マスターである電子黒板２Ａは、電子黒板２Ｂ，２ＣにＯｂｊ１０の移動先の座標を含む更新情報を送信することで、電子黒板２Ａ〜２Ｃに表示されるＯｂｊ１０の位置が移動して表示される。ただし、拠点Ｃにいるユーザーは、Ｏｂｊ３を書込中であるため、書込位置がスクロールして表示される。
【０１１４】
このように複数のオブジェクトの行間を確保できない場合には、オブジェクト移動部３４がＯｂｊ１０を移動したが、行間を確保することなく、Ｏｂｊ１０を先に移動してもよい。また、「りんご」のＯｂｊ１の上に空き領域があれば、オブジェクト移動部３４はＯｂｊ１を上に移動して行間を確保してもよい。
【０１１５】
以上説明した第３の実施の形態例に係る画面共有システム１では、既存オブジェクトであるＯｂｊ１０が表示されている場合に、新たに書き込んだＯｂｊ１〜Ｏｂｊ３がＯｂｊ１０に対して重複オブジェクトにならないようにオブジェクトの移動が制御される。このため、Ｏｂｊ１０とＯｂｊ１〜Ｏｂｊ３が重なって表示されず、視認性を向上することができる。
【０１１６】
［第４の実施の形態例］
次に、本発明の第４の実施の形態例に係る画面共有システム１について説明する。ここでは、重複オブジェクトを書込中のユーザーが一部の文字の大きさを変えてしまった場合の対処について説明する。
【０１１７】
図２０は、拠点Ｂにいるユーザーが一部の文字を大きく書き込んだ例を示す説明図である。
マスターである電子黒板２Ａの重複判定部３３は、ユーザーがそれぞれ電子黒板２Ｂ，２Ｃに文字を書き込んでいる間、電子黒板２Ｂ，２Ｃから受信したストロークリストに基づいて、電子黒板２Ｂ，２Ｃに書き込まれたオブジェクトの重複を判定している。しかし、一旦、重複判定部３３がが、複数のオブジェクトを重複していないと判定していても、時間経過に伴い、複数のオブジェクトが重複することがある。このとき、オブジェクト移動部３４は、重複したと判定されたオブジェクトの移動先の座標を再計算し、移動先の座標にオブジェクトを移動させる。
【０１１８】
例えば、図２０の真ん中に示すように、拠点Ｂにいるユーザーが、「ぶ」のＯｂｊ２に続けて、「ど」のＯｂｊ５を書き込んだとする。しかし、「ど」のＯｂｊ５の大きさが、「ぶ」のＯｂｊ２より大きいため、「ど」のＯｂｊ５が、Ｏｂｊ３に重なったとする。この場合、「ど」のＯｂｊ５の下にＯｂｊ３を移動する制御が行われる。
【０１１９】
図２１は、マスターである電子黒板２Ａの制御部２０により行われる行間を調整する処理の例を示すフローチャートである。
始めに、重複判定部３３は、同時入力リストへのオブジェクトの追加処理を行う（Ｓ４１）。この処理は、上述した第１の実施の形態例における図１０の処理であるため詳細な説明を量略する。
【０１２０】
次に、オブジェクト移動部３４は、同時入力リストに追加されたオブジェクトがあるか否かを判定する（Ｓ４２）。同時入力リストに格納されたオブジェクトは一定時間（例えば、１分間）以上更新されなければ、内容が確定したとして削除される。内容が確定したオブジェクトは、オブジェクト移動部３４による移動対象とはならない。このため、同時入力リストにオブジェクトがなければ（Ｓ４２のＮＯ）、オブジェクト移動部３４はステップＳ４６に処理を移す。
【０１２１】
一方、同時入力リストにオブジェクトがあれば（Ｓ４２のＹＥＳ）、オブジェクト移動部３４は、同時入力リストにある複数のオブジェクトの行間を計算し（Ｓ４３）、行間に合わせて、同時入力リストに格納された順でオブジェクトのｙ方向の間隔を調整する（Ｓ４４）。
【０１２２】
次に、重複判定部３３は、同時入力リストにある更新されたオブジェクトにより他のオブジェクトとの間で重複が発生したか否かを判定する（Ｓ４５）。同時入力リストにあるオブジェクトは、各拠点のユーザーにより書込中の文字等であるため、随時更新される。例えば、間隔が調整されたオブジェクトであっても、書込中の文字の大きさが他のオブジェクトより大きくなると、更新されたオブジェクトにより他のオブジェクトとの間で重複が発生する場合がある。このため、重複判定部３３が、更新されたオブジェクトにより他のオブジェクトとの間で重複が発生したと判定した場合（Ｓ４５のＹＥＳ）、オブジェクト移動部３４は、ステップ４３に戻り、再び行間を計算し、オブジェクトの間隔を調整する。一方、重複判定部３３が、更新されたオブジェクトにより他のオブジェクトとの間で重複が発生していないと判定した場合（Ｓ４５のＮＯ）、ステップＳ４６に移る。
【０１２３】
そして、同時入力リストにオブジェクトがない場合（Ｓ４２のＮＯ）、又は、同時入力リストのオブジェクトに重複が発生していない場合（Ｓ４５のＮＯ）、表示制御部３５は、スレーブとしての電子黒板２Ｂ，２Ｃに、調整したオブジェクトの更新情報を送信する（Ｓ４６）。これにより、例えば、電子黒板２Ａ〜２Ｃには、適切な間隔でＯｂｊ１，Ｏｂｊ２，Ｏｂｊ３が表示されるようになる。
【０１２４】
以上説明した第４の実施の形態例に係る画面共有システム１では、異なる拠点で同時に書き込まれた文字の大きさが、それまでに書き込まれた文字の大きさと異なったり、歪んだり、斜めに書かれたりして、移動したにもかかわらずオブジェクトが重複した場合に対処した。この場合、見やすいようにオブジェクトの行間が再計算され、オブジェクトが重複しないように再表示される。このため、オブジェクトの視認性を高めることができる。
【０１２５】
なお、第２の実施の形態例の図１５に示したように箇条書きとして予め行頭文字が表示されている場合、重複オブジェクトを検出して、いずれかのオブジェクトの移動する際に、オブジェクトに関連づけられた行頭文字を同時に移動させる制御が行われる。これにより、行頭文字の中心と、行頭文字に続くオブジェクトの中心が一致したまま移動する。
【０１２６】
［第５の実施の形態例］
次に、本発明の第５の実施の形態例に係る画面共有システム１について説明する。ここでは、既存オブジェクトとは関連しない位置で追加された複数のオブジェクトが重複した場合の対処について説明する。
【０１２７】
図２２は、既存オブジェクトとは関連しない位置で複数のオブジェクトが追加される例を示す説明図である。
図２２の上段には、最初に「りんご」というＯｂｊ１が既存オブジェクトとして表示されている。ここで、拠点Ｂにいるユーザーにより、電子黒板２Ｂに「日本」と書かれ、拠点Ｃにいるユーザーにより、電子黒板２Ｃに「東京」と書かれるとする。ただし、図２２の上段に示す図では、書込途中である「日」のオブジェクトがＯｂｊ６として表示され、「東」のオブジェクトがＯｂｊ７として表示されているとする。これらＯｂｊ６，Ｏｂｊ７は、「りんご」のＯｂｊ１とは明らかに離れた位置にあり、識別部３２によって関連付けられていない。しかし、重複判定部３３は、同時に同じ位置に書き込まれていたＯｂｊ６，Ｏｂｊ７を重複オブジェクトと判定する。
【０１２８】
このように関連付けされていないオブジェクトがあると、オブジェクト移動部３４は、このオブジェクトをどのように移動させるか判断することが難しくなる。このため、既存のオブジェクトと、重複したと判定された複数のオブジェクトとのオブジェクト距離が所定距離より離れていた場合に、オブジェクト移動部３４は、重複したと判定された複数のオブジェクトのいずれかを規定の方向に移動させるようにする。例えば、オブジェクト移動部３４は、Ｏｂｊ６，Ｏｂｊ７を規定の方向に移動させる。規定の方向とは、マスターである電子黒板２Ａのユーザーにより予め設定される値であり、例えば、「下方向」「上方向」「左方向」といった設定である。
【０１２９】
例えば、重複したオブジェクトのうちいずれかを「下方」に移動することが規定の方向であったとする。この場合、Ｏｂｊ６が入力されたタイミングが、Ｏｂｊ７が入力されたタイミングより早かった場合、「東」のＯｂｊ７は、下方に移動して表示される。
【０１３０】
ところで、「東」のＯｂｊ７が下方に移動した後、実は「日」のＯｂｊ６は縦書きで書き込まれたとする。この場合、下方に移動した「東」のＯｂｊ７が、縦書きされた「日本」のＯｂｊ６と再び重複してしまう。そこで、重複判定部３３が、移動されたオブジェクトの重複を判定した場合、オブジェクト移動部３４は、各オブジェクトが書き込まれる文字の方向（縦書き又は横書き）を確認する。そして、電子黒板２Ｂに書き込まれたＯｂｊ６が縦書き、電子黒板２Ｃに書き込まれたＯｂｊ７が横書きであると判明した場合、電子黒板２Ｃに書き込まれたＯｂｊ７を下方向に移動させても重複し続けてしまう。この場合、オブジェクト移動部３４は、Ｏｂｊ７を下方向ではなく、右方向に移動することを決める。
【０１３１】
図２２の中段には、ユーザーにより設定された規定の方向を示す移動方向管理テーブルが示される。移動方向管理テーブルは、マスターである電子黒板２ＡのＲＡＭ２３又は不揮発性メモリ２４に構成される。この移動方向管理テーブルでは、同時入力リストにある複数のオブジェクトのうち、先に書き込まれたオブジェクトを「先オブジェクト」と呼び、後に書き込まれたオブジェクトを「後オブジェクト」と呼ぶ。そして、先オブジェクトの縦書き又は横書きの属性に応じて、後オブジェクトを移動しても、先オブジェクトと後オブジェクトが互いに重複しない移動方向が示されている。このため、オブジェクト移動部３４は、規定の方向の代わりに、移動方向管理テーブルを参照して、重複したオブジェクトの移動方向を判定してもよい。
【０１３２】
図２３は、重複したオブジェクトの属性に基づいて、オブジェクトの移動方向を決定する処理の例を示すフローチャートである。
図２３に示す処理のステップＳ５１〜Ｓ５６の処理は、上述した第４の実施の形態例に係る図２１に示したステップＳ４１〜Ｓ４５の処理と同様である。
【０１３３】
ただし、同時入力リストにオブジェクトがある場合（Ｓ５２のＹＥＳ）、オブジェクト移動部３４は、同時入力リストの更新されたオブジェクトが関連するか否かを判定する（Ｓ５３）。オブジェクトが離れた位置にあり関連しない場合、ステップＳ５６に移る。一方、オブジェクトが近い位置にあることから関連する場合、オブジェクト移動部３４は、行間を計算し、行間に合わせてオブジェクトの間隔を調整する（Ｓ５４，Ｓ５５）。そして、重複判定部３３は、同時入力リストの更新されたオブジェクトにより重複したか否かを判定する（Ｓ５６）。
【０１３４】
ステップＳ５６にて、重複判定部３３が、更新されたオブジェクトにより他のオブジェクトとの間で重複が発生したと判定した場合（Ｓ５６のＹＥＳ）、例えば、既存オブジェクトから離れた場所で複数のオブジェクトが重複している。このため、オブジェクト移動部３４は、規定の設定値又は移動方向管理テーブルを参照して、重複したオブジェクトのうち、先オブジェクトの属性に応じて後オブジェクトの移動方向を変更する（Ｓ５７）。このようにオブジェクト移動部３４が先オブジェクトと後オブジェクトとして認識し、移動方向が決定された複数のオブジェクトは関連付けられたものとして、オブジェクト管理リストに格納される。その後、オブジェクト移動部３４は、ステップＳ５３に戻り、オブジェクトの行間を計算し、オブジェクトの間隔を調整する。
【０１３５】
そして、同時入力リストにオブジェクトがない場合（Ｓ５２のＮＯ）、又は、同時入力リストのオブジェクトに重複が発生していない場合（Ｓ５６のＮＯ）、表示制御部３５は、スレーブとしての電子黒板２Ｂ，２Ｃに、調整したオブジェクトの更新情報を送信する（Ｓ５８）。これにより、例えば、電子黒板２Ａ〜２Ｃには、適切な間隔でＯｂｊ１，Ｏｂｊ６，Ｏｂｊ７が表示されるようになる。
【０１３６】
以上説明した第５の実施の形態例に係る画面共有システム１では、既存オブジェクトから離れた位置に書き込まれた文字等により複数のオブジェクトが移動した場合に、先オブジェクトの属性に合わせて後オブジェクトの移動方向が決定される。後オブジェクトは、先オブジェクトの文字列の書込方向（縦書き又は横書き）に応じて空き領域の方向に移動される。このため、縦書き又は横書きといった属性が異なる複数のオブジェクトが重複しても、オブジェクト移動部３４は、ユーザーが見やすい位置にオブジェクトを移動して表示するため視認性が向上する。
なお、オブジェクト移動部３４は、オブジェクトの移動方向を、箇条書きの行頭文字が並ぶ方向として、行頭文字に関連付けられたオブジェクトを移動してもよい。
【０１３７】
［第６の実施の形態例］
次に、本発明の第６の実施の形態例に係る画面共有システム１について説明する。ここでは、行頭文字が数字である場合に、箇条書きの行頭文字を変更する例について説明する。
【０１３８】
図２４は、箇条書きの行頭文字を変更する例を示す説明図である。
図２４の上段に示すように電子黒板２Ａには「１．りんご」と書き込まれている。続けて、「１．りんご」のオブジェクトの下の行に、ほぼ同時に電子黒板２Ｂに「２．ぶ」と書き込まれ、電子黒板２Ｃに「２．み」と書き込まれたとする。このように電子黒板２Ａ〜２Ｃで書き込まれる文字の先頭には、数字の行頭文字が付されている。
【０１３９】
このため、マスターである電子黒板２Ａの識別部３２は、電子黒板２Ｂ，２Ｃから取得したオブジェクトのストロークリストに基づいて、電子黒板２Ａに書き込まれた「１．」に続いて、電子黒板２Ｂ，２Ｃでは、連番の数字が箇条書きされたことを識別する。そして、識別部３２は、オブジェクト管理リストにオブジェクトの情報を格納する。
図２４の中段に示すように、オブジェクト管理リストには、数字“１”，“２”で示される項目“１”，“２”の項目番号毎に、書き込まれたオブジェクトが管理される。例えば、項目“１”には、電子黒板２Ａに書き込まれたオブジェクトがＯｂｊ１として管理される。また、項目“２”には、電子黒板２Ｂに書き込まれたオブジェクトがＯｂｊ２として管理され、電子黒板２Ｃに書き込まれたオブジェクトがＯｂｊ３として管理される。
【０１４０】
図２４の下段には、Ｏｂｊ３がＯｂｊ２の下に移動して表示される例が示される。上述したように重複判定部３３が重複オブジェクトであると判定したＯｂｊ２，Ｏｂｊ３のうち、書き込みタイミングがわずかに遅かったＯｂｊ３は、オブジェクト移動部３４により、下に移動する。ここで、単にＯｂｊ２の下に、行頭文字を付けたＯｂｊ３を移動すると、移動後のＯｂｊ３の行頭文字は「２．」のままとなる。
【０１４１】
このため、オブジェクト移動部３４は、重複したと判定された複数のオブジェクトが箇条書きであって、かつ複数のオブジェクトに関連付けられる行頭文字が連続する文字である場合に、移動したオブジェクトに関連付けられる行頭文字を行の位置によって変更する。例えば、オブジェクト移動部３４は、移動後のＯｂｊ３の行頭文字を「３．」に変更する。変更した「３．」の行頭文字は、電子黒板２Ａ〜２Ｃに書かれていない文字であるため、画面表示用のフォント等を用いる。そして、図示しないが、オブジェクト管理リストには、移動後の項目“３”の項目番号と、項目“３”に関連付けられたオブジェクトとしてＯｂｊ３が追加される。このとき、オブジェクト管理リストに格納された項目“２”のＯｂｊ３は削除される。なお、行頭文字は、数字に限らず、一般的に箇条書きで用いられる項目順を表す記号としてアルファベット（Ａ，Ｂ，Ｃ，…）、平仮名（い，ろ，は，…）、片仮名（イ、ロ、ハ、…）等であってもよい。
【０１４２】
以上説明した第６の実施の形態例に係る画面共有システム１では、行頭文字の種類に合わせて追加した行頭文字を変更する。ここで、行頭文字が項目順を表す記号であれば、オブジェクト移動部３４が移動したオブジェクトの行頭文字は、この記号で項目順が表されるように変更して表示される。このため、各拠点にいるユーザーによって書き込まれた行頭文字が、移動先の行と合わなくても、適切な行頭文字に変更して表示されるので、視認性を向上することができる。
【０１４３】
［変形例］
なお、上述した第１〜第６の実施の形態例に係る画面共有システム１では、複数の拠点で、同時かつ同じ位置にオブジェクトが書き込まれたときの動作について規定したものである。つまり、ある拠点でオブジェクトを書き込んだユーザーは、別の拠点のユーザーによって書き込まれたオブジェクトが、ある拠点のユーザーが同じ位置に同時に書き込んだことを知らない。しかし、異なる拠点からオブジェクトが書き込まれたタイミングの差が入力タイミング閾値より大きければ、オブジェクトを書き込んだユーザーは、自身が書き込んでいる位置に表示されるオブジェクトに対して故意に重ねて書き込んでいると考えられる。このような場合には、同じ位置でオブジェクトが重複したとしても、後から書き込まれたオブジェクトを別の位置に移動しなくてよい。
【０１４４】
なお、４つ以上の拠点に４つ以上の電子黒板２が設置されてもよい。また、３つ以上のオブジェクトが重複した場合であっても、上述した実施の形態例に係る処理に基づいてオブジェクトを移動する制御を行えばよい。また、画面共有装置の一例としては、電子黒板２に限らず、タッチパネルを通じて入力可能なタブレット端末、テレビジョン装置等であってもよい。
【０１４５】
また、本発明は上述した実施の形態例に限られるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りその他種々の応用例、変形例を取り得ることは勿論である。
例えば、上述した実施の形態例は本発明を分かりやすく説明するために装置及びシステムの構成を詳細かつ具体的に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されない。また、ここで説明した実施の形態例の構成の一部を他の実施の形態例の構成に置き換えることは可能であり、さらにはある実施の形態例の構成に他の実施の形態例の構成を加えることも可能である。また、各実施の形態例の構成の一部について、他の構成の追加、削除、置換をすることも可能である。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１４６】
１…画面共有システム、２Ａ〜２Ｃ…電子黒板、２０…制御部、２６…表示部、２７…タッチ入力部、２８…通信部、３１…入力受付部、３２…識別部、３３…重複判定部、３４…オブジェクト移動部、３５…表示制御部
【図１】
2018092452.tif 000003
【図２】
2018092452.tif 000004
【図３】
2018092452.tif 000005
【図４】
2018092452.tif 000006
【図５】
2018092452.tif 000007
【図６】
2018092452.tif 000008
【図７】
2018092452.tif 000009
【図８】
2018092452.tif 000010
【図９】
2018092452.tif 000011
【図１０】
2018092452.tif 000012
【図１１】
2018092452.tif 000013
【図１２】
2018092452.tif 000014
【図１３】
2018092452.tif 000015
【図１４】
2018092452.tif 000016
【図１５】
2018092452.tif 000017
【図１６】
2018092452.tif 000018
【図１７】
2018092452.tif 000019
【図１８】
2018092452.tif 000020
【図１９】
2018092452.tif 000021
【図２０】
2018092452.tif 000022
【図２１】
2018092452.tif 000023
【図２２】
2018092452.tif 000024
【図２３】
2018092452.tif 000025
【図２４】
2018092452.tif 000026