(57)【要約】【課題】発表に対する具体的なフィードバックが可能なシステムを提供すること。【解決手段】第一の装置１０が１つ以上の第二の装置３０に画像データを送信するデータ共有システム１００であって、前記第二の装置は、前記第一の装置から受信した前記画像データに対してポインティングデバイスによる描画を受け付ける操作受付手段３２と、前記ポインティングデバイスの位置が留まっている時間が長いほど太くなるストロークデータであって、少なくとも前記位置を含むストロークデータを生成するストロークデータ生成手段３１と、前記太さのストロークを前記画像データに重ねて表示装置に表示する第二の表示制御手段と、前記ストロークデータ生成手段が生成した前記ストロークデータを前記第一の装置に送信する第二の通信手段３３と、を有する。【選択図】図１
2019114123.tif 000002
【特許請求の範囲】
【請求項１】
第一の装置が１つ以上の第二の装置に画像データを送信するデータ共有システムであって、
前記第二の装置は、
前記第一の装置から受信した前記画像データに対してポインティングデバイスによる描画を受け付ける操作受付手段と、
前記ポインティングデバイスの位置が留まっている時間が長いほど太くなるストロークデータであって、少なくとも前記位置を含むストロークデータを生成するストロークデータ生成手段と、
前記太さのストロークを前記画像データに重ねて表示装置に表示する第二の表示制御手段と、
前記ストロークデータ生成手段が生成した前記ストロークデータを前記第一の装置に送信する第二の通信手段と、
を有するデータ共有システム。
【請求項２】
前記ストロークデータ生成手段は、
前記ポインティングデバイスが前記ストロークの終点において留まっている時間に基づき、前記ストロークの太さが変更される前記ストロークデータを生成することを特徴とする請求項１に記載のデータ共有システム。
【請求項３】
前記第二の表示制御手段は、前記ストロークの終点でタッチアップ又はマウスアップイベントを検出すると、前記ストロークの色の選択欄を表示し、
前記ストロークデータ生成手段は、前記操作受付手段が受け付けた色を前記ストロークデータに設定し、
前記第二の表示制御手段は、前記操作受付手段が受け付けた色で前記ストロークを表示することを特徴とする請求項１又は２に記載のデータ共有システム。
【請求項４】
前記第一の装置は、
前記第二の装置のそれぞれから前記ストロークデータを受信する第一の通信手段と、
前記第一の通信手段が受信した前記ストロークデータに基づいて、前記第二の装置に送信した前記画像データに重ねて、１つ以上の前記ストロークを表示する第一の表示制御手段と、
を有することを特徴とする請求項１〜３のいずれか１項に記載のデータ共有システム。
【請求項５】
前記第一の表示制御手段は、前記第二の装置が送信した前記ストロークデータに基づく前記ストロークを前記第二の装置ごとに別々に、前記第二の装置に送信した前記画像データに重ねて表示することを特徴とする請求項４に記載のデータ共有システム。
【請求項６】
複数の前記第二の装置から送信された前記ストロークが重複する場合、前記第一の表示制御手段は、重複した部分の色を濃くすることを特徴とする請求項４に記載のデータ共有システム。
【請求項７】
複数の前記第二の装置から送信された前記ストロークが重複する場合、
前記第一の表示制御手段は、重複する２つのストロークの重心の距離を閾値と比較して、閾値未満の場合は重複した部分を濃くし、閾値以上の場合は重複した部分を元のストロークの濃さで表示することを特徴とする請求項６に記載のデータ共有システム。
【請求項８】
前記第一の装置から送信された画像データと、前記第二の装置から送信され前記画像データと対応付けられている前記ストロークデータを蓄積する情報処理装置を有し、
前記第一の装置は、前記画像データの識別情報を指定して前記情報処理装置に対し前記画像データと前記ストロークデータを要求し、
前記第一の通信手段は、前記情報処理装置が前記画像データの識別情報で検索した前記画像データ、及び、検索された前記画像データに対応付けられている前記ストロークデータを受信して、
前記第一の表示制御手段が前記画像データに重ねて前記ストロークデータに基づくストロークを表示することを特徴とする請求項４〜７のいずれか１項に記載のデータ共有システム。
【請求項９】
第一の装置と画像データを共有する情報処理装置であって、
前記第一の装置から受信した前記画像データに対してポインティングデバイスによる描画を受け付ける操作受付手段と、
前記ポインティングデバイスの位置が留まっている時間が長いほど太くなるストロークデータであって、少なくとも前記位置を含むストロークデータを生成するストロークデータ生成手段と、
前記太さのストロークを前記画像データに重ねて表示装置に表示する第二の表示制御手段と、
前記ストロークデータ生成手段が生成した前記ストロークデータを前記第一の装置に送信する第二の通信手段と、
を有する情報処理装置。
【請求項１０】
第一の装置と画像データを共有する情報処理装置を、
前記第一の装置から受信した前記画像データに対してポインティングデバイスによる描画を受け付ける操作受付手段と、
前記ポインティングデバイスの位置が留まっている時間が長いほど太くなるストロークデータであって、少なくとも前記位置を含むストロークデータを生成するストロークデータ生成手段と、
前記太さのストロークを前記画像データに重ねて表示装置に表示する第二の表示制御手段と、
前記ストロークデータ生成手段が生成した前記ストロークデータを前記第一の装置に送信する第二の通信手段、
として機能させるためのプログラム。
【請求項１１】
第一の装置が１つ以上の第二の装置に画像データを送信するデータ共有システムが行うデータ共有方法であって、
操作受付手段が、前記第一の装置から受信した前記画像データに対してポインティングデバイスによる描画を受け付けるステップと、
ストロークデータ生成手段が、前記ポインティングデバイスの位置が留まっている時間が長いほど太くなるストロークデータであって、少なくとも前記位置を含むストロークデータを生成するステップと、
第二の表示制御手段が、前記太さのストロークを前記画像データに重ねて表示装置に表示するステップと、
第二の通信手段が、前記ストロークデータ生成手段が生成した前記ストロークデータを前記第一の装置に送信するステップと、を有するデータ共有方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ共有システム、情報処理装置、プログラム、及び、データ共有方法に関する。
【背景技術】
【０００２】
高性能化なＩＣＴ（Information and Communication Technology）機器が各個人に普及しており、講義や会議などの情報を共有する状況においてもＩＣＴ機器を持ち込むユーザが増えている。ＩＣＴ機器には講義や会議の資料が配信されるので、ユーザは電子媒体の資料を手元で閲覧するという形態で情報の共有が可能になる。また、ユーザはＩＣＴ機器のタッチパネル機能を利用して、資料に補足情報を書き込んだりすることもできる。
【０００３】
このようなＩＣＴ機器の利用方法として発表者に対しフィードバックを送信する形態がある（例えば、特許文献１参照。）。特許文献１には、発表者の様子をリアルタイムに収録し、参加者がリアルタイムにフィードバックして、フィードバックの内容を発表者がリアルタイムに把握できるフィードバック情報処理システムが開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術では、発表に対する具体的なフィードバックが困難であるという問題がある。すなわち、特許文献１では、良い又は悪いといった画一的な指摘がフィードバックされるに過ぎず、参加者が資料の任意のポイントを指し示して、どのようによいか又は悪いか等の意思をフィードバックすることができない。
【０００５】
本発明は、上記課題に鑑み、発表に対する具体的なフィードバックが可能なシステムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、第一の装置が１つ以上の第二の装置に画像データを送信するデータ共有システムであって、前記第二の装置は、前記第一の装置から受信した前記画像データに対してポインティングデバイスによる描画を受け付ける操作受付手段と、前記ポインティングデバイスの位置が留まっている時間が長いほど太くなるストロークデータであって、少なくとも前記位置を含むストロークデータを生成するストロークデータ生成手段と、前記太さのストロークを前記画像データに重ねて表示装置に表示する第二の表示制御手段と、前記ストロークデータ生成手段が生成した前記ストロークデータを前記第一の装置に送信する第二の通信手段と、を有する。
【発明の効果】
【０００７】
発表に対する具体的なフィードバックが可能なシステムを提供することができる。
【図面の簡単な説明】
【０００８】
【図１】データ共有システムの概略を説明する図の一例である。
【図２】データ共有システムの概略構成図の一例である。
【図３】サーバの概略的なハードウェア構成図の一例である。
【図４】電子黒板のハードウェア構成図の一例である。
【図５】データ共有システムにおける説明者端末、端末装置、及び、サーバの機能をブロック状に示す機能ブロック図の一例である。
【図６】画面スタイルに応じてサーバの画面作成部が作成する配信画面を説明する図の一例である。
【図７】過去モードにおいて説明者又は聴衆者が説明資料を指定するための説明資料指定画面の一例を示す図である。
【図８】ストロークの手書き方法を説明する図の一例である。
【図９】ストロークの位置情報を説明する図の一例である。
【図１０】ストロークの形状を聴衆者が指定する方法について説明する図の一例である。
【図１１】リアルタイムモードにおけるデータ共有システムの全体的な動作手順を示すシーケンス図の一例である。
【図１２】過去モードにおけるデータ共有システム１００の概略の動作手順を示すシーケンス図の一例である
【図１３】説明者端末が表示した画像データとストロークの一例を示す図である。
【図１４】聴衆者ごとのストロークがサムネイル表示された画像データと共に表示された画面例を示す図である。
【図１５】重複したストロークの色を説明する図の一例である。
【図１６】色が異なるストロークの重複を説明する図の一例である。
【図１７】表示制御部が重複部分の色を決定する手順を示すフローチャート図の一例である。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための形態の一例として、データ共有システムとデータ共有システムが行うデータ共有方法について図面を参照しながら説明する。
【００１０】
＜本実施形態のデータ共有システムの概要＞
本実施形態のデータ共有システム１００は、説明者８が説明する説明資料の画像データを聴衆者９が持つ端末装置３０に配信することで説明者８と聴衆者９が説明資料を共有する。聴衆者９は説明資料の画像データに対して、位置と属性を特定して、説明資料に関する印象を説明者８に対しフィードバックすることができる。
【００１１】
図１は、本実施形態のデータ共有システム１００の概略を説明する図の一例である。説明者８の説明者端末１０は説明資料の画像データを表示しているが、図示する資料は一例に過ぎず、説明資料の内容は情報を共有する状況によって変わりうる。
（１）説明者８の説明者端末１０は説明資料の画像データをサーバ５０に送信する。
（２）サーバ５０は画像データを各聴衆者９の端末装置３０にリアルタイムに送信する。
（３）各聴衆者９は説明資料に任意のストローク７（手書き情報）を記入する。聴衆者９はストローク７の太さを簡単な操作で調整できる。なお、ストローク７は半透明であることが好ましい。図１では、聴衆者９Ｂが手書きしたものとする。なお、複数の聴衆者９のうち所定の聴衆者９を、アルファベットを付して示す。聴衆者９Ｂの端末装置３０はストローク７をサーバ５０に送信する。
（４）聴衆者９Ｂのストローク７はサーバ５０に蓄積されると共に、聴衆者９Ｂのストローク７を自端末に表示させるという設定を行っている説明者端末１０に送信される。図１では説明者端末１０にのみストローク７が送信されているが、他の聴衆者９Ａに送信されることも可能である。
【００１２】
以上のような手順で、説明者端末１０の説明資料には各聴衆者９のストローク７が表示される。このように、説明者８はリアルタイムに説明資料に対する聴衆者からのフィードバックを得ることができる。
【００１３】
聴衆者９は例えば、フィードバックが目立つように又はそれほど目立たないように太さを変更できる。説明者８は太さという属性で説明資料に対するフィードバックの程度（強さ）を把握することができる。また、説明資料に対する良いというフィードバックを青系の色で、悪いというフィードバックを赤系の色のストローク７で記入するという規則がある場合、説明者８は色という属性で説明資料に対するフィードバックの内容を把握することができる。また、「○」などの形状という属性によっても説明者８は資料に対するフィードバックを把握することができる。
【００１４】
このように、本実施形態のデータ共有システム１００は、説明者８の説明資料に対し聴衆者が位置と属性を有するストローク７を記入するので、聴衆者９が説明資料の任意のポイントを指し示して、どのようによいか又は悪いか等の意思をフィードバックすることができる。
【００１５】
＜用語について＞
位置とは単なる点ではなく、代名詞「ここ」で示すことのできる部分・エリアという意味に近い。
【００１６】
また、ストローク７の属性は太さ、色、形状などの他、点滅の有無、点線などの線種、透明度などでもよい。
【００１７】
また、手書きとは、フリーハンドで描画された情報をいう。直接、指で描画された情報を含む他、マウスやペンで描画された情報を含む。
【００１８】
＜システム構成例＞
図２は、本実施例のデータ共有システム１００の概略構成図の一例である。データ共有システム１００は、ネットワークＮを介して接続されたサーバ５０、説明者端末１０、及び、１つ以上の端末装置３０を有する。
【００１９】
ネットワークＮは、説明者端末１０、及び端末装置３０が設置されている拠点などに構築されているＬＡＮ、ＬＡＮをインターネットに接続するプロバイダのプロバイダネットワーク、及び、回線事業者が提供する回線等により構築されている。ネットワークＮが複数のＬＡＮを有する場合、ネットワークはＷＡＮやインターネットと呼ばれる。ネットワークＮがどの程度の規模かはサーバ５０が施設内と施設外のどちらに設置されているかにも影響される。この他、ＶＰＮ（Virtual Private Network）や広域イーサネット（登録商標）が含まれていてもよい。ネットワークＮは有線又は無線のどちらで構築されてもよく、また、有線と無線が組み合わされていてもよい。また、３Ｇ、ＬＴＥ（Long Term Evolution）、４Ｇなどの携帯電話網により接続される場合、ＬＡＮはなくてもよい。
【００２０】
サーバ５０は説明者端末１０と端末装置３０から取得した情報を処理して説明者端末１０と端末装置３０に送信する情報処理装置である。一般にサーバ５０とは、ネットワークを介して接続されたクライアント装置（図２では説明者端末１０と端末装置３０）からの要求に応じて、何らかのデータ又は何らかの処理結果を提供する装置である。サーバ５０は、説明者端末１０から取得した画像データを各端末装置３０が要求する態様に加工して端末装置３０に送信し、更に、端末装置３０から取得したストローク７を説明者端末１０と端末装置３０のうちストローク７を表示するものに送信する。
【００２１】
説明者端末１０は、説明資料の画像データをサーバ５０に送信する情報処理装置である。また、説明者端末１０を操作する者が説明者８であり、実際に説明するかどうかまでは問われない。説明者端末１０は、説明資料の画像データを送信する機能を有すればよく、例えば、一般的なＰＣ（Personal Computer）、タブレット端末、スマートフォン、腕時計型やサングラス型などのウェアラブルＰＣ等である。また、説明者端末１０は電子黒板でもよいし、説明者端末１０に電子黒板が接続されていてもよい。電子黒板は少なくともタッチパネルを有しておりユーザが描いた手書き内容を点の座標として取り込んで大型のディスプレイに表示する。この他、ＰＣと接続されＰＣが表示する画面を電子黒板が表示する機能、電子黒板が表示するＰＣの画面と手書き内容を保存する機能、手書き内容を遠隔地にある他の電子黒板と共有する機能などを有している。
【００２２】
説明者端末１０が電子黒板の場合、電子黒板に説明者８のＰＣが接続されてこのＰＣが表示する画像データが電子黒板に表示される。電子黒板はこの画像データをサーバ５０に送信する。したがって、説明者端末１０が電子黒板であっても画像データを共有できる。
【００２３】
端末装置３０は、サーバ５０から説明資料の画像データを受信する情報処理装置である。端末装置３０を操作する者を聴衆者９という。すなわち、端末装置３０は、説明者端末１０及び他の端末装置３０と画像データを共有する。端末装置３０は、更に、画像データに対する手書きを受け付けストローク７としてサーバ５０に送信する。端末装置３０は、説明資料の画像データを表示して手書きを受け付け、ストロークデータをサーバ５０に送信する機能を有すればよく、例えば、一般的なＰＣ、タブレット端末、スマートフォン、腕時計型やサングラス型などのウェアラブルＰＣ等でよい。また、端末装置３０が電子黒板でもよい。
【００２４】
このように、説明者端末１０と端末装置３０は共に情報処理装置であればよく、端末装置３０の１つが説明者端末１０となりうる。また、会議や授業の途中で説明者端末１０と端末装置３０とが切り替わってもよく、画像データを送信する端末装置３０が説明者端末１０となる場合がある。
【００２５】
＜ハードウェア構成例＞
＜＜サーバ＞＞
図３は、サーバ５０の概略的なハードウェア構成図の一例である。サーバ５０は、ＣＰＵ２０１と、ＣＰＵ２０１が使用するデータの高速アクセスを可能とするメモリ２０２とを備える。ＣＰＵ２０１及びメモリ２０２は、システム・バス２０３を介して、サーバ５０の他のハードウェア要素、例えば、グラフィックス・ドライバ２０４及びネットワーク・ドライバ（ＮＩＣ）２０５へと接続されている。
【００２６】
グラフィックス・ドライバ２０４は、バスを介してＬＣＤ（Liquid Crystal Display）２０６に接続されて、ＣＰＵ２０１による処理結果をモニタする。ＬＣＤ２６０は表示装置の一例である。また、ネットワーク・ドライバ２０５は、トランスポート層レベル及び物理層レベルでサーバ５０をネットワークＮへと接続して、説明者端末１０と端末装置３０との間にセッションを確立させている。
【００２７】
システム・バス２０３には、更にＩ／Ｏバス・ブリッジ２０７が接続されている。Ｉ／Ｏバス・ブリッジ２０７の下流側には、ＰＣＩなどのＩ／Ｏバス２０８を介して、ＩＤＥ、ＡＴＡ、ＡＴＡＰＩ、シリアルＡＴＡ、ＳＣＳＩ、ＵＳＢなどにより、ＨＤＤ（ハードディスクドライブ）２０９などの記憶装置が接続されている。ＨＤＤ２０９はサーバ５０の全体を制御するプログラム２０９ｐを記憶している。ＨＤＤ２０９はＳＳＤ（Solid State Drive）でもよい。
【００２８】
また、Ｉ／Ｏバス２０８には、ＵＳＢなどのバスを介して、キーボード及びマウス（ポインティング・デバイスと呼ばれる）などの入力装置２１０が接続され、システム管理者などのオペレータによる入力及び指令を受け付けている。
【００２９】
なお、図示したサーバ５０のハードウェア構成は、１つの筐体に収納されていたりひとまとまりの装置として備えられていたりする必要はなく、サーバ５０が備えていることが好ましいハード的な要素を示す。また、クラウドコンピューティングに対応するため、本実施例のサーバ５０の物理的な構成は固定的でなくてもよく、負荷に応じてハード的なリソースが動的に接続・切断されることで構成されてよい。
【００３０】
＜＜電子黒板のハードウェア構成＞＞
続いて、図４を用いて、本実施形態の説明者端末１０が電子黒板２である場合に電子黒板のハードウェア構成を説明する。なお、図４は、電子黒板２のハードウェア構成図である。
【００３１】
図４に示されているように、電子黒板２は、電子黒板２全体の動作を制御するＣＰＵ１０１、ＩＰＬ等のＣＰＵ１０１の駆動に用いられるプログラムを記憶したＲＯＭ１０２、ＣＰＵ１０１のワークエリアとして使用されるＲＡＭ１０３、電子黒板２用のプログラム等の各種データを記憶するＳＳＤ１０４、ネットワークＮとの通信を制御するネットワークコントローラ１０５、及び、ＵＳＢメモリ５との通信を制御する外部記憶コントローラ１０６を備えている。
【００３２】
また、電子黒板２は、ノートＰＣ６のディスプレイに対して映像情報を静止画又は動画として表示させるキャプチャデバイス１１１、グラフィックスを専門に扱うＧＰＵ(Graphics Processing Unit)１１２、及び、ＧＰＵからの出力画像をディスプレイ３やテレビ会議端末７０へ出力するために画面表示の制御及び管理を行うディスプレイコントローラ１１３を備えている。
【００３３】
更に、電子黒板２は、接触センサ１１５の処理を制御するセンサコントローラ１１４、ディスプレイ３上に電子ペン４やユーザの手Ｈ等が接触したことを検知する接触センサ１１５を備えている。この接触センサ１１５は、赤外線遮断方式による座標の入力及び座標の検出を行う。この座標の入力及び座標の検出する方法は、ディスプレイ３の上側両端部に設置された２つ受発光装置が、ディスプレイ３に平行して複数の赤外線を放射し、ディスプレイ３の周囲に設けられた反射部材によって反射されて、受光素子が放射した光の光路と同一の光路上を戻って来る光を受光する方法である。接触センサ１１５は、物体によって遮断された２つの受発光装置が放射した赤外線のＩＤ(Identification)をセンサコントローラ１１４に出力し、センサコントローラ１１４が、物体の接触位置である座標位置を特定する。なお、以下に示す全ての各ＩＤは、識別情報の一例である。
【００３４】
また、接触センサ１１５としては、赤外線遮断方式に限らず、静電容量の変化を検知することにより接触位置を特定する静電容量方式のタッチパネル、対向する２の抵抗膜の電圧変化によって接触位置を特定する抵抗膜方式のタッチパネル、接触物体が表示部に接触することによって生じる電磁誘導を検知して接触位置を特定する電磁誘導方式のタッチパネルなどの種々の検出手段を用いてもよい。
【００３５】
また、電子黒板２は、電子ペンコントローラ１１６を備えている。この電子ペンコントローラ１１６は、電子ペン４と通信することで、ディスプレイ３へのペン先のタッチやペン尻のタッチの有無を判断する。なお、電子ペンコントローラ１１６が、電子ペン４のペン先及びペン尻だけでなく、電子ペン４のユーザが握る部分や、その他の電子ペンの部分のタッチの有無を判断するようにしてもよい。
【００３６】
更に、電子黒板２は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、ＳＳＤ１０４、ネットワークコントローラ１０５、外部記憶コントローラ１０６、キャプチャデバイス１１１、ＧＰＵ１１２、センサコントローラ１１４、及び電子ペンコントローラ１１６を、電気的に接続するためのアドレスバスやデータバス等のバスライン１２０を備えている。
【００３７】
なお、電子黒板２用のプログラムは、ＣＤ−ＲＯＭ等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよいし、プログラム配信用のサーバ５０から配信されてもよい。
【００３８】
説明者端末１０又は端末装置３０が汎用的な情報処理装置である場合のハードウェア構成はサーバ５０と同じであるか又はサーバ５０と異なっていても本実施形態の説明の上では支障がないものとする。
【００３９】
＜機能について＞
図５を用いて説明者端末１０、端末装置３０、及び、サーバ５０が有する機能を説明する。図５は、データ共有システム１００における説明者端末１０、端末装置３０、及び、サーバ５０の機能をブロック状に示す機能ブロック図の一例である。
【００４０】
＜＜説明者端末＞＞
説明者端末１０は、操作受付部１１、ストローク生成部１２、表示制御部１３、画像取得部１４、及び、通信部１５を有する。説明者端末１０が有するこれらの各機能は、図４に示した電子黒板２が有するＣＰＵ１０１がＳＳＤ１０４等に記憶されたプログラムを実行して電子黒板２が有するハードウェア要素と協働することで実現される機能又は手段である。あるいは、図４に示したＨＤＤ２０９からメモリ２０２に展開されたプログラム２０９ｐをＣＰＵ２０１が実行することにより実現されている機能又は手段である。なお、プログラム２０９ｐは、プログラム配信用のサーバ５０から配信されてもよいし、ＵＳＢメモリや光記憶媒体などの可搬性の記憶媒体に記憶された状態で配布されてもよい。
【００４１】
操作受付部１１は、説明者端末１０に対する説明者８の操作を受け付ける。例えば、ページの切り替え、説明資料の拡大、縮小等の画像に対する操作だけでなく、手書きによるストローク７の描画を受け付ける。この他、説明者８がポインティングデバイスとしてマウスを操作した場合は、クリック、ダブルクリック、ドラッグ＆ドロップ、クリックキーの長押しなどマウスにより可能な操作を受け付ける。説明者８がポインティングデバイスとしてタッチパネルと指（又はペン）を操作した場合は、タップ、ダブルタップ、スワイプ、フリック、長押し等を受け付ける。
【００４２】
ストローク生成部１２は、操作受付部１１が受け付けた手書きによる座標点を取得してストロークデータを生成する。ストローク７とは、説明者８又は聴衆者９が手書きを始めてから終えるまでの１回の描画データをいう。すなわち、マウスの場合はマウスダウンイベントからマウスアップイベントまでが１つのストローク７であり、タッチパネルの場合はタッチダウンイベントからタッチアップイベントまでが１つのストローク７である。後述するように、ストロークデータは位置を示す座標の他、太さ、色などの属性を有する。ストローク生成部１２は、例えば０．１秒などの短い時間ごとにストロークデータを生成する。これにより、説明者８が手書きしたストローク７が短時間に聴衆者９の端末装置３０に反映される。
【００４３】
表示制御部１３は、説明資料ＤＢ１９に記憶されている説明資料をディスプレイ３又はＬＣＤ２０６に表示する。説明資料は例えば、プレゼンテーションソフトが作成したファイル、ワープロソフトが作成したファイル、ブラウザソフトが表示したＷｅｂページ、又は、ＰＤＦファイル等、説明者端末１０が表示できる電子データであればよい。表示制御部１３は説明者８の操作に応じて１画面に説明資料の１ページを表示したり、２ページ以上を表示したり、１ページを拡大して表示したり、縮小して表示したりする。
【００４４】
また、表示制御部１３はストローク生成部１２が生成したストロークデータに基づいてストローク７を画面に表示する。すでに、説明資料の画面が表示中なので、説明資料にストローク７が上書きされた状態で表示される。つまり、説明者８が描画したストローク７を、サーバ５０を介さずに表示する。説明者８が描画するストローク７は、説明者８の説明資料に対するフィードバックではなく、聴衆者９に対する説明のためのストローク７である。
【００４５】
更に、表示制御部１３は、通信部１５がサーバ５０から受信したストロークデータに基づいてストローク７をディスプレイ３又はＬＣＤ２０６に表示する。つまり、聴衆者９が描画したストローク７を、サーバ５０から取得して表示する。聴衆者９が描画するストローク７は、説明者８の説明資料に対する印象を表すフィードバックである。
【００４６】
表示制御部１３は、説明者８のストローク７と聴衆者９のストローク７を異なる態様で表示することが好適である。例えば、説明者８のストローク７は画面が切り替わるまで永続的に表示し、聴衆者９のストローク７は所定時間（数十秒）でフェードアウトさせる。こうすることで、説明者８のストローク７は残しながら、聴衆者９のストローク７で説明資料が隠れてしまうことを抑制できる。
【００４７】
画像取得部１４は、表示制御部１３がディスプレイ３又はＬＣＤ２０６に表示した１画面を１つの画像データとして取り込む。例えば、画面用のメモリに記憶されているデータから画像データを生成する。画像取得部１４は、自動的に画像データを生成する。例えば、ディスプレイ３又はＬＣＤ２０６に表示された画面に何らか変化がない場合は、１０秒間隔などの定期的な間隔で画像データを生成する。ディスプレイ３又はＬＣＤ２０６に表示された画面に変化がある場合は、０．１秒間隔などの短い間隔で画像データを生成する。画面の変化が大きいほど短い間隔で画像データを生成してもよい。画面に変化があるかどうかは、操作受付部１１がページを切り替える操作、拡大、縮小の操作などを受け付け、表示制御部１３が画面を更新したか否かにより判断できる。この他、画像取得部１４は説明者８の操作を受け付けて画像を取得してもよい。
【００４８】
通信部１５は、サーバ５０と各種のデータを送受信する。本実施形態では、サーバ５０に画像データを送信し、サーバ５０からストロークデータを受信する。
【００４９】
説明者端末１０は、図３に示したＨＤＤ２０９又はメモリ２０２等により構築される説明資料ＤＢ１９を有する。説明資料ＤＢ１９には上記した説明資料が記憶される。
【００５０】
＜＜端末装置＞＞
端末装置３０は、ストローク生成部３１、操作受付部３２、通信部３３、及び、表示制御部３４を有する。端末装置３０が有するこれらの各機能は、図３に示したＨＤＤ２０９からメモリ２０２に展開されたプログラム２０９ｐをＣＰＵ２０１が実行することにより実現されている機能又は手段である。
【００５１】
なお、端末装置３０のストローク生成部３１と操作受付部３２の機能は説明者端末１０のストローク生成部１２と操作受付部１１と同じであるものとする。
【００５２】
通信部３３は、サーバ５０と各種のデータを送受信する。本実施形態では、
a.サーバ５０から画像データを受信する、
b.サーバ５０から説明のためのストロークデータを受信する、
c.サーバ５０に聴衆者９が手書きしたストロークデータを送信する、
d.サーバ５０から他の聴衆者９が手書きしたストロークデータを受信する、
を行う。なお、ｂ．ｄは本実施形態では必須ではない。
【００５３】
通信部３３は、これら受信すべきデータがあるか否かを定期的にサーバ５０に問い合わせてもよいし、サーバ５０からプッシュ通信で受信してもよい。
【００５４】
表示制御部３４は、通信部３３が受信した画像データをＬＣＤ２０６に表示する。この他、聴衆者９が手書きしたストローク７をＬＣＤ２０６に表示し、通信部３３が受信した説明者８又は他の聴衆者９のストローク７をＬＣＤ２０６に表示する。表示制御部１３は、説明者８のストローク７と、自分が記入したストローク７と、他の聴衆者９のストローク７とをそれぞれ適切な態様で表示することが好適である。例えば、説明者８のストローク７は説明のストロークなので画面が切り替わるまで永続的に表示し、自分が記入したストローク7は忘れないように画面が切り替わるまで永続的に表示し、他の聴衆者９のストローク７は所定時間（数十秒）でフェードアウトさせる。こうすることで、説明者８と自分のストローク７は残しながら、他の聴衆者９がどのようなフィードバックを行ったのかを把握できる。
【００５５】
＜＜サーバ＞＞
サーバ５０は、通信部５１、画像データ蓄積部５２、画面作成部５３、画像データ配信部５４、ストローク蓄積部５５、ストローク配信部５６、及び、検索部５７を有する。サーバ５０が有するこれらの各機能は、図３に示したＨＤＤ２０９からメモリ２０２に展開されたプログラム２０９ｐをＣＰＵ２０１が実行することにより実現されている機能又は手段である。なお、プログラム２０９ｐは、プログラム配信用のサーバ５０から配信されてもよいし、ＵＳＢメモリや光記憶媒体などの可搬性の記憶媒体に記憶された状態で配布されてもよい。
【００５６】
また、サーバ５０は、図３に示したＨＤＤ２０９又はメモリ２０２等により構築される記憶部５９を有する。記憶部５９には、画像データ記憶部６１、ユーザ情報記憶部６２、ストロークデータ記憶部６３、及び、配信制御情報記憶部６４が構築されている。まず、これらについて説明する。
【００５７】
【表１】
2019114123.tif 000003
表１は画像データ記憶部６１に記憶される画像データに関する情報の一例を示す。画像データ記憶部６１では、画像ＩＤ、授業ＩＤ、時刻、端末ＩＤ、ファイルパス、及び、ページ番号の各項目が管理される。画像ＩＤは、画像データを一意に識別又は特定するための識別情報である。ＩＤはIdentificationの略であり識別子や識別情報という意味である。ＩＤは複数の対象から、ある特定の対象を一意的に区別するために用いられる名称、符号、文字列、数値又はこれらのうち１つ以上の組み合わせをいう。他のＩＤについても同様である。
【００５８】
授業ＩＤは授業を識別又は特定するための識別情報である。この授業は、説明資料が学校の講義で使用された場合にどの授業の画像データであるかを特定するための情報になる。したがって、説明資料が会議で説明されれば会議ＩＤ、学会で説明されれば発表ＩＤやセッションＩＤなどになる。時刻は画像データが生成された時刻である（サーバが受信した時刻でもよい）。端末ＩＤは画像データを生成した説明者端末１０を識別又は特定するための識別情報である。例えば、ＩＰアドレス、ＭＡＣアドレス、説明者８のＩＤ、説明者端末１０の端末名（コンピュータ名）等でよい。ファイルパスは画像データが記憶されているリソースのＵＲＬ等である。
【００５９】
ページ番号は、説明資料の１ページ目から順にふられた連番である。例えば、１０ページからなる説明資料は１から１０までページ番号を有することになる。このページ番号自体は説明資料にふられている必要はなく説明者端末１０が説明資料に対するページの切り替え操作に基づいて設定する。一般のプレゼンテーションソフトであれば、ページの切り替わりはユーザが明示的に操作できるのでストローク生成部１２が現在のページ番号を特定できる。説明者端末１０が電子黒板の場合は、電子黒板がページの切替信号又はページ番号をＰＣから受信する。Ｗｅｂページのようにページに明確な区切りがない場合、説明資料の先頭を基準として現在の表示位置までのスクロール量（画素数）によりページに相当する表示範囲を特定する。
【００６０】
画像ＩＤはサーバ５０が付与し、授業ＩＤは固有値であるため説明者端末１０又はサーバ５０が設定し、時刻は説明者端末１０が設定し、端末ＩＤは説明者端末１０が設定し、ファイルパスはサーバ５０が設定し、ページ番号は説明者端末１０が設定する。
【００６１】
【表２】
2019114123.tif 000004
表２は、ストロークデータ記憶部６３に記憶されるストロークデータの一例を示す。ストロークデータ記憶部６３では、ストロークＩＤ、授業ＩＤ、時刻、端末ＩＤ、色、位置情報、太さ、画像ＩＤ、及び、ページ番号の各項目が管理される。授業ＩＤ、端末ＩＤ及び画像ＩＤについては画像データ記憶部６１と同様でよい。
【００６２】
ストロークＩＤはストローク７を一意に識別又は特定するための識別情報である。マウスダウン（タッチダウン）からマウスアップ（タッチアップ）まで１つのストローク７には同じストロークＩＤが付与される。時刻は、ストロークデータが生成された時刻である。色は、説明者８又は聴衆者９が設定したストローク７の色である。位置情報は１つのストロークデータが生成される間に取得されたポインティングデバイスの１つ以上の座標である。いくつの座標が含まれるかは座標の取得速度と、ストロークデータの生成間隔に影響される。太さは説明者８又は聴衆者９が設定したストローク７の太さである。画像ＩＤとページ番号はサーバ５０から端末装置３０に送信された値である。
【００６３】
ストロークＩＤはサーバ５０が付与し、時刻は端末装置３０が設定し、端末ＩＤは端末装置３０が設定し、色、位置情報及び太さは説明者８又は聴衆者９の操作に応じて設定され、画像ＩＤとページ番号はサーバ５０から取得される。
【００６４】
表２に示すようにページ番号に対しストロークＩＤが対応付けられているので、サーバ５０は説明資料のあるページに対し手書きされたストローク７を特定して説明者端末１０等に送信できる。
【００６５】
【表３】
2019114123.tif 000005
表３は、ユーザ情報記憶部６２に記憶されるユーザ情報の一例を示す。ユーザ情報記憶部６２では、説明者名・聴衆者名、端末ＩＤ、パスワード、ログイン済み、説明者、画面スタイル、及び配信モードの各目が管理される。説明者名・聴衆者名はユーザ名に相当するものであり、説明者８又は聴衆者９が互いを認識するための氏名やニックネームである。端末ＩＤは上記のように説明者８が使用する説明者端末１０又は各聴衆者名が使用する端末装置３０の識別情報である。パスワードは説明者８又は聴衆者９がサーバ５０から認証を受けるために秘密にしておく情報である。例えば、説明者８は授業ごとにパスワードを決定してメール等で聴衆者９に配信しておき、聴衆者９はこのパスワードでサーバ５０にログインする。これにより、説明者８は授業に端末をログインさせて参加している聴衆者９を特定できる。聴衆者９は端末ＩＤで特定できるため、パスワードは聴衆者９の全員に共通でもよい。あるいは、厳密に個人を認証するために聴衆者９ごとにパスワードを設定する。
【００６６】
ログイン済みの項目は授業に参加できる説明者８及び聴衆者９がログインしているか否かを示す。あるいは、ログインしている説明者８及び聴衆者９のみを示してもよい。したがって、ログインしている説明者８及び聴衆者９が特定される。説明者８の項目は誰が説明者８であるかを示す。説明者８の画像データが端末装置３０に配信され共有されるためである。画面スタイルは説明者８又は聴衆者９ごとに説明資料を表示するための画面の態様を設定するための項目である。配信モードはリアルタイムモードと過去モードがあり、リアルタイムモードは自動的に画像データとストロークデータが送信又は受信される配信モードであり、過去モードは説明者８又は聴衆者９が過去の画像データとストロークデータを指定して表示させる配信モードである。
【００６７】
【表４】
2019114123.tif 000006
表４は、配信制御情報記憶部６４に記憶される配信制御情報の一例を示す。配信制御情報はストロークデータの配信に関する設定である。配信制御情報記憶部６４には、説明者名・聴衆者名、ストローク表示聴衆者１、ストローク表示聴衆者２、ストローク表示聴衆者３…の各項目が管理される。
【００６８】
説明者名・聴衆者名はこの者に関する配信設定であることを示す。つまり、説明者名・聴衆者名の配信制御情報が１行ごとに設定されている。例えば、「yamada」は全ての聴衆者９のストロークデータをサーバ５０から配信されることが設定されている。一方、「suzuki」には「yamada」のストローク７しか配信されず、「satou」には「yamada」の他に「suzuki」のストローク７が配信される。
【００６９】
このように、本実施形態のデータ共有システム１００は、説明者８及び各聴衆者９ごとにどの端末装置３０のストロークデータを表示させるかを制御できる。説明者８の場合は各聴衆者９からフィードバックを得られ、一般の聴衆者９であれば原則的に説明者８のストロークデータのみを表示することができる。
【００７０】
配信制御情報記憶部６４へのアクセスは、説明者８のみが行う権限を有することにより、聴衆者９が勝手に他の聴衆者９のストロークデータ（フィードバック）を盗み見ることを制限できる。例えば、リアルタイムのテスト（試験）やアンケートなどで回答の漏洩を抑制できる。一方、優秀な聴衆者９のストロークデータ（フィードバック）を他の聴衆者９も参考にできるように、説明者８は任意の聴衆者９に対応付けて、任意の聴衆者９を「ストローク表示聴衆者１」等に設定できる。
【００７１】
図５に戻って説明する。まず、通信部５１は、説明者端末１０から画像データとストロークデータを、端末装置３０からストロークデータを受信する。画像データ蓄積部５２は通信部５１が受信した画像データを画像データ記憶部６１に記憶させる。上記のように、画像ＩＤを採番し、必要であればログインにより決まっている授業ＩＤを設定し、画像データの記憶場所を示すファイルパスを設定する。
【００７２】
画面作成部５３は、Ｗｅｂアプリを提供する為の処理を行う。Ｗｅｂアプリとは、Ｗｅｂブラウザ上で動作するスクリプト言語（たとえばJavaScript（登録商標））によるプログラムとＷｅｂサーバ側のプログラムが協調することによって動作し、Ｗｅｂブラウザ上で使用されるソフトウェア又はその仕組みを言う。例えば、少なくともストロークの描画を受け付ける画面情報をＨＴＭＬとJavaScript等で生成する。また、説明者８又は聴衆者９の画面スタイルに応じたＷｅｂページを表示させるための画面情報を生成する。
【００７３】
画面作成部５３は画像データ記憶部６１に新しい画像データが記憶されると、画面スタイルに応じた処理を行い、画像データを画像データ配信部５４に送出する。画像データ配信部５４は、ログインによりセッションが確立している聴衆者９の端末装置３０に通信部５１を介して画像データを配信する。ログインしている聴衆者９はユーザ情報記憶部６２から明らかなので、ログインしている全ての聴衆者９に対し画像データを送信する。画像データを送信する方法には、ＨＴＭＬなどの画面情報に画像データを含めて送信する方法と、一度、画面情報を送信した後は新しい画像データのみを送信する方法がある。本実施形態ではどちらの送信方法を採用してもよいが、画像データのみを送信する方法が通信負荷を低減できる。なお、画像データのみを更新する通信の仕組みとしてＡｊａｘ，Ｃｏｍｅｔ、又はWeb Socketなどが知られている。
【００７４】
ストローク蓄積部５５は、通信部５１が説明者端末１０又は端末装置３０から受信したストロークデータをストロークデータ記憶部６３に記憶させる。上記のように、ストロークＩＤを採番する。
【００７５】
ストローク配信部５６はストロークデータ記憶部６３に記憶されたストロークデータを説明者端末１０及び端末装置３０に配信する。まず、端末装置３０から送信されたストロークデータを、配信制御情報記憶部６４を参照して（allの設定に基づいて）、端末装置のストロークデータである旨と共に説明者端末１０に送信する。配信制御情報記憶部６４において、他の端末装置３０のストロークデータを受信する設定になっている端末装置に対しては端末装置３０から送信されたストロークデータを端末装置のストロークデータである旨と共に送信する。また、説明者端末１０から送信されたストロークデータを、配信制御情報記憶部６４で受信する設定になっている端末装置３０に説明者端末１０のストロークデータである旨と共に送信する。当然ながら、送信先の端末装置３０又は説明者端末１０はログインしていることが前提になる。
【００７６】
＜サーバが作成する画面例＞
聴衆者９としては全画面で説明資料を見たい場合もあるし、テキストを入力しながら見たい場合もある。このため、説明者８及び聴衆者９は画面スタイルを選択できるようになっている。
【００７７】
図６は、画面スタイルに応じてサーバ５０の画面作成部５３が作成する配信画面５０１を説明する図の一例である。一例として本実施形態では３つの画面スタイルがあるものとする。図６（ａ）は配信画面５０１ａ（画面スタイル１）を、図６（ｂ）は配信画面５０１ｂ（画面スタイル２）を、図６（ｃ）は配信画面５０１ｃ（画面スタイル３）をそれぞれ示す。画面スタイル１は配信画面５０１ａの全体に説明資料が表示される画面スタイルであり、画面スタイル２は説明資料を一部に表示しながらテキストの入力を受け付ける画面であり、画面スタイル３は常にテキスト入力のみを行うための画面である。
【００７８】
説明者８又は聴衆者９は各配信画面５０１から画面スタイルを選択できるようになっている。なお、図６（ａ）の画面スタイル１からは右クリックなどにより画面スタイル１〜３を選択するメニューが表示される。
【００７９】
説明者８又は聴衆者９による画面スタイルの選択結果はサーバ５０に送信され、各ユーザに対応付けてユーザ情報記憶部６２に登録される。
【００８０】
図６では説明者端末１０と端末装置３０で配信画面５０１が区別されていないが、説明者端末１０と端末装置３０で配信画面５０１が異なっていてもよい。端末装置３０と説明者端末１０が同じ画面スタイルが適用されるとしても少なくとも機能は異なっていてもよく、サーバ５０は説明者端末１０に説明者端末用の画面情報（ＨＴＭＬ，JavaScript、ＣＳＳ）を送信する。
【００８１】
また、説明者８又は聴衆者９は説明資料の画像データとストロークデータの配信モードを選択できる。図６（ｄ）は配信モードの選択画面５０２の一例を示す。配信モードにはリアルタイムモードと過去モードがあり、説明者８又は聴衆者９は任意に配信モードを選択できる。初期設定はリアルタイムモードである。
【００８２】
説明者８又は聴衆者９による配信モードの選択結果はサーバ５０に送信され、各ユーザに対応付けてユーザ情報記憶部６２に登録される。
【００８３】
図７は、過去モードにおいて説明者８又は聴衆者９が説明資料を指定するための説明資料指定画面５１１である。説明資料指定画面５１１は、授業ＩＤ欄５１２、ページ番号欄５１３、端末ＩＤ欄５１４、時刻欄５１５、ＯＫボタン５１６、及び、キャンセルボタン５１７を有する。説明者８又は聴衆者９は少なくとも授業ＩＤ欄５１２に授業ＩＤを入力することで、過去の説明資料の画像データとストロークデータを表示させることができる。
【００８４】
ページ番号欄５１３、端末ＩＤ欄５１４、時刻欄５１５はそれぞれページ番号、端末ＩＤ、及び、時刻を入力するための欄であり、説明者８又は聴衆者９が画像データとストロークデータを絞り込むために入力できる。このように、説明者８又は聴衆者９は過去の画像データとストロークデータを指定して閲覧することができる。
【００８５】
＜ストロークについて＞
図８を用いて説明資料に対するフィードバックとしてストローク７の手書き方法を説明する。図８は、ストローク７の手書き方法を説明する図の一例である。なお、図８ではポインティングデバイスとしてタッチパネルを用いる例を説明するが、マウスでもよいし、ペンでもよい。
（１）説明者８又は聴衆者９はエリアをなぞる。このエリアとはフィードバックを通知したい説明資料の場所である（図８（ａ））。操作受付部３２は座標を取得するので、ストローク生成部３１がタッチダウン以降の座標を取得する。なお、説明者８又は聴衆者９が色を選択する前のストロークの色はグレーなどの中立色でよい。
（２）説明者８又は聴衆者９がタッチパネルから手を離さずに手の動きを止めると、手を止めた時間に比例して、ストローク７が太くなる（図８（ｂ））。ストローク生成部３１は指が停止して留まっている時間（座標の変化がない時間）を測定し、時間に比例してストロークデータの太さを大きくする。また、太さを表示制御部３４に通知するので、表示制御部３４がストローク７の太さを太くする。
（３）説明者８又は聴衆者９がタッチパネルから手を離すと、色の選択欄５２１が表示される（図８（ｃ））。操作受付部３２がタッチアップイベントを検出すると、表示制御部３４が色の選択欄５２１を表示する。どの色を表示するかは予め決まっているものとする。図８（ｃ）では二色だがより多くの色を表示してよい。
（４）説明者８又は聴衆者９が色を選択する（図８（ｄ））。操作受付部３２はタッチ位置から色の選択を受け付け、ストローク生成部３１と表示制御部３４に通知する。
（５）ストローク７に色がつく（図８（ｅ））。表示制御部３４はストローク７の色を通知された色に変更する。
【００８６】
このように、説明者８又は聴衆者９は簡単な操作で太さや色を指定できる。色は例えば「良い・悪い」の区別を意味し、太さは良さ悪さの強調の程度を示す。なお、ストロークの書き始めに色を選択してもよい。また、いったんタッチアップした後に説明者８又は聴衆者９が太さを変更してもよい。
【００８７】
なお、説明者８又は聴衆者９は太さを数値で入力してもよい。あるいは、手を離した後のストローク7に対するタッチ回数が多くなるほどで太さが徐々に太くなってもよい。また、説明者８又は聴衆者９が手を止めている間、順番にストローク７の色が変化し、手を離した瞬間の色に決定されてもよい。あるいは、手を離した後のストローク7に対するタッチに応じて順番にストローク７の色が変化してもよい。
【００８８】
次に、図９を用いてストローク７の位置情報について説明する。図９はストローク７の位置情報を説明する図の一例である。位置情報（XRate、YRate）は、画像データのサイズの変更（拡大、縮小）があっても画像データの同じ位置にストローク７が表示されるように、座標（ピクセル）ではなく、画像データの幅と高さに対する比率で表さわれる。
【００８９】
画像データの左上コーナーを原点（０，０）とする。ポインティングデバイスがタッチした座標を（x,y）、画像データの幅をwidth、高さをheightとすると、位置情報（XRate、YRate）は以下のようになる。
XRate = width/x
YRate = height/y
上記のようにストローク生成部は、０．１秒などの短い時間ごとにストロークデータを生成する。例えば、ストローク生成部が０．１秒に２点、位置情報を取り込むとすると、１つのストロークデータには２点の位置情報が含まれることになる。したがって、０．４秒間の位置情報をＪＳＯＮ形式で表すと以下のようにある。
{"startXRate":"0.4781","startYRate":"0.7359","endXRate":"0.4794","endYRate":"0.7359"},
{"startXRate":"0.4794","startYRate":"0.7359","endXRate":"0.4812","endYRate":"0.7371"},
{"startXRate":"0.4812","startYRate":"0.7371","endXRate":"0.4831","endYRate":"0.7383"},
{"startXRate":"0.4831","startYRate":"0.7383","endXRate":"0.4875","endYRate":"0.7395"},
{"startXRate":"0.4875","startYRate":"0.7395","endXRate":"0.4931","endYRate":"0.7419"},
ストロークデータにはストロークＩＤが付されているので、説明者端末１０及び端末装置３０は同じ１つのストローク７を構成する位置情報を１つのストローク７として描画できる。
【００９０】
図１０は、ストローク７の形状を聴衆者９が指定する方法について説明する図の一例である。図１０（ａ）は円の形状のストローク７の生成方法を説明する図の一例である。説明者８又は聴衆者９が指の動きを停止すると、徐々に太さが増し、円ができる。円は長さがないストロークである。表示制御部３４は１点に留まる座標から周囲に均等に太さ分だけ描画範囲を広げるので円が表示される。
【００９１】
図１０（ｂ）は空洞のある形状のストローク７の生成方法を説明する図の一例である。説明者８又は聴衆者９が始点と終点を一致させた状態で指の動きを停止すると、徐々に太さが増し空洞をもった形状になる。このような形状は空洞があってもストロークにより構成されているため、線などのストロークと同様に容易に描画できる。
【００９２】
図１０（ｃ）は波形など、任意の形状のストローク７を示す。図１０（ａ）〜（ｃ）において太さに一定の上限が設けられてよい。例えば、空洞がつぶれないような太さに制限される。また、太さが数値で分かるように、説明者８又は聴衆者９の手が停止している間、表示制御部３４が太さを表す数値を徐々に大きくして表示してもよい。更に、ダブルタップなどで説明者端末１０及び端末装置３０がメニューを表示し、丸、三角、四角などの決まった図形の選択を受け付けて表示してもよい。
【００９３】
単なる点や線だと説明者８が気づきにくいが、本実施形態のように円や太線でストローク７が手書きされることで、聴衆者９の興味の対象をアピールしやすくなる。また、ストローク７は文字ではなくマークなど絵に分類されるため、意思表示を簡単に行うことができる。また、人によって様々な形状でストローク７を描画できる。
【００９４】
＜動作手順＞
図１１は、リアルタイムモードにおけるデータ共有システム１００の全体的な動作手順を示すシーケンス図の一例である。
【００９５】
S1〜S3：まず、少なくとも説明者端末１０がサーバ５０にログインする。学校であればチャイムが鳴って授業が開始される。大部分の生徒もログインする。ログインによりサーバ５０と説明者端末１０、サーバ５０と端末装置３０との間にはセッションが確立する。
【００９６】
S4：まず、説明者８が説明者端末１０の画像データを端末装置３０と共有するために、共有の操作を行う。説明者端末１０の操作受付部１１はこの操作を受け付けて、通信部１５が共有要求をサーバ５０に送信する。サーバ５０の通信部５１は共有要求を受信するので、画像データ蓄積部５２がユーザ情報記憶部６２の説明者端末１０に対応付けて「説明者８」を登録する。これにより、説明者端末１０の画像データが複数の端末装置３０との間で共有される。
【００９７】
S5：説明者端末１０の画像取得部１４は画像データを生成する。上記のように、少なくとも定期的に画像データを生成し、説明者端末１０の画面に変化があると短い間隔で画像データを生成する。
【００９８】
S6:説明者端末１０の通信部１５は画像データをサーバ５０に送信する。画像データには、時刻、端末ＩＤ、及びページ番号が設定されている。
【００９９】
S7：サーバ５０の通信部５１は画像データを受信し、画像データ蓄積部５２が画像データを画像データ記憶部６１に蓄積する。画像データ蓄積部５２は画像ＩＤ、授業ＩＤ、及びファイルパスを設定する。画像データ蓄積部５２は端末ＩＤに基づいて説明者８が画像データを送信したことを検出して画面作成部５３に画像データの共有を要求する。
【０１００】
S8,S9： 画面作成部５３は画像データ記憶部６１に画像データが蓄積されたことを検出して画面情報を作成する。画面作成部５３はログイン時などに少なくとも１回は画面スタイルに対応した画面情報を作成する。作成後は、聴衆者９が画面スタイルを変更したタイミングで画面スタイルに対応した画面情報を作成する。画面スタイルに変更がない場合、画面作成部５３はログインしておりかつリアルタイムモードの聴衆者９の画面スタイルに応じた画像データを生成する。例えば、サイズを変更したり、ＯＳやブラウザの種類に即した画像データを生成したりする。画像データ配信部５４はログインしておりかつリアルタイムモードの端末装置３０に順番に又は並行して画像データを配信する。
【０１０１】
S10、S11：端末装置３０の通信部３３は画像データを受信する。これにより、表示制御部３４はＬＣＤ２０６に画像データを表示する。つまり、ブラウザの画像データの表示欄の画像データを更新する。
【０１０２】
S12：次に、端末装置３０Ｂの聴衆者９がストローク７を手書きした。操作受付部３２はストローク７の入力を受け付け、ストローク生成部３１がストロークデータを生成する。また、表示制御部３４がストローク７を表示する。自分が手書きしたストローク７は時間が経過しても消えないが、聴衆者９が自分の操作で消すことができる。
【０１０３】
S13：端末装置３０Ｂの通信部３３は、ストロークデータをサーバ５０に送信する。このストロークデータには、時刻、端末ＩＤ、色、位置情報、太さ、画像ＩＤ、及びページ番号が設定されている。
【０１０４】
S14：サーバ５０の通信部５１はストロークデータを受信し、ストローク蓄積部５５がストロークデータをストロークデータ記憶部６３に蓄積する。ストローク蓄積部５５はストロークＩＤを設定する。
【０１０５】
S15：ストローク配信部５６はストロークデータの蓄積を検出して、送信元の端末装置３０Ｂのストロークデータを受信すると指定している説明者端末１０及び他の端末装置３０を、配信制御情報記憶部６４を参照して特定する。例えば、説明者端末１０に送信することが分かるので、ストローク配信部５６はストロークデータを説明者端末１０に送信する。この時、ストロークデータが端末装置３０からのものである旨を共に送信してよい。これにより、説明者端末１０はストロークデータを一定時間、表示した後、消去できる。なお、端末装置３０Ａにも送信されてもよい。
【０１０６】
S16：説明者端末１０の通信部１５はストロークデータを受信するので、表示制御部１３がストローク７を表示する。表示制御部１３は、現在、表示中のページ番号がストロークデータのページ番号と同じかどうかを判断し、同じであればストローク７を表示する。これにより、説明者８がページを切り替えた後に切り替える前のページに対するストローク７が表示されることを抑制できる。
【０１０７】
このように、説明者端末１０は各端末装置３０が送信したストロークデータをリアルタイムに表示できる。授業では多くの端末装置３０からストロークデータが送信されるので、それらをまとめて確認できる。また、画面情報が含むJavaScriptの機能により、説明者端末１０が複数の端末装置３０のストロークデータを受信しても、説明者８は任意の聴衆者９を個別に又は複数指定してストローク７を表示できる。更に、聴衆者９ごとに画像データをサムネイル表示して一人一人のストローク７を表示することもできる。
【０１０８】
このように、例えば説明者８は複数の聴衆者９のストロークデータを重ねて表示したり、任意の聴衆者９のストロークデータだけを表示したりして、フィードバックを検討し補足説明したり説明資料を修正したりすることができる。
【０１０９】
図１２は、過去モードにおけるデータ共有システム１００の概略の動作手順を示すシーケンス図の一例である。図１２の処理は、授業中の任意のタイミングにスタートしてもよいし、授業以外の任意のタイミングにスタートしてもよい。
【０１１０】
S21：説明者８があるページに対するフィードバックを見たいと考え、過去モードに切り替える操作を行う、操作受付部１１がこの操作を受け付け、通信部１５が過去モードへの切り替えを要求する。
【０１１１】
S22：説明者８は説明資料指定画面５１１で授業ＩＤ、ページ番号、及び端末ＩＤを入力したとする。授業ＩＤ以外の指定は任意である。端末ＩＤはある聴衆者９（生徒）を指定してもよいし、全ての聴衆者９（all）を指定してもよい。説明者端末１０の通信部１５は授業ＩＤ、ページ番号、及び端末ＩＤ、を含む検索要求をサーバ５０に送信する。
【０１１２】
S23：サーバ５０の通信部５１は検索要求を受信し、検索部５７が端末ＩＤの指定が許可されているか否かを判断する。すなわち、説明者端末１０がストローク７を表示することが許可された端末ＩＤが指定されているか否かを、配信制御情報記憶部６４を参照して判断する。仮に許可されていない端末ＩＤが含まれている場合は、該当する端末ＩＤとエラーメッセージを説明者端末１０に送信することが好ましい。図１２の説明では、説明者端末１０がストローク７を表示することが許可された端末ＩＤが指定されていたとして説明する。
【０１１３】
S24：サーバ５０の通信部５１は検索要求を受信し、検索部５７が画像データ記憶部６１を検索する。まず、検索要求に含まれる授業ＩＤとページ番号を有する画像データを画像データ記憶部６１から検索する。次に、検索要求の端末ＩＤが特定の個人であればこの端末ＩＤで画像データを絞り込む。端末ＩＤが全ての聴衆者９であれば授業ＩＤとページ番号で検索された画像データのままでよい。
【０１１４】
S25：次に、サーバ５０の検索部５７はストロークデータ記憶部６３を検索する。同様に、授業ＩＤ、ページ番号、及び端末ＩＤで検索してもよい。あるいは、ストロークデータは画像ＩＤと対応付けられているので、ステップＳ２３で検索された画像データの画像ＩＤでストロークデータ記憶部６３を検索してもよい。
【０１１５】
S26：画面作成部５３は画像データとストロークデータを含む画面情報を生成する。ストロークデータを画像データに上書きすれば良いためストロークデータは後から送信してもよい。
【０１１６】
S27：サーバ５０の通信部５１は画像データとストロークデータを含む画面情報を説明者端末１０に送信する。
【０１１７】
S28：説明者端末１０の通信部１５は画像データとストロークデータを含む画面情報を受信して、表示制御部１３が画像データとストロークデータを表示する。過去モードでは時間経過によりストローク７が消えないことが好ましい。これにより説明者８はフィードバックを十分に吟味できる。
【０１１８】
＜ストロークデータの表示例＞
図１３は、説明者端末１０が表示した画像データとストローク７の一例を示す。図１３の表示例はリアルタイムモードでも過去モードでも可能である。画像データに２つのストローク７Ａ、７Ｂが表示されている。ストローク７の色は半透明なので、ストローク７が表示されても、説明者８は元の画像データを見ることができる。
【０１１９】
図１３では２つのストローク７しか重なっていないが、多くの端末装置３０からストロークデータが送信されるほど、重複部分が統計的な性質を有するようになるので、分かりにくい箇所、分かりやすい箇所を説明者８が把握しやすくなる。特に、重複部分は濃くなるので同じ位置にフィードバックされるほどその位置が目立つようになる。
【０１２０】
図１３のように複数のストローク７が含まれる場合、説明者８又は聴衆者９は生徒のリストを表示させ、任意の生徒のストロークのみを表示させることもできる。
【０１２１】
図１４は、聴衆者９ごとのストローク７がサムネイル表示された画像データと共に表示された画面例を示す図である。説明者端末１０は端末装置３０が送信したストローク７を端末装置３０ごとに別々に、端末装置３０に送信した画像データに重ねて表示する。図１４では６つの画像データが表示されているが、説明者８は画面をスクロールさせることで全ての聴衆者９のストロークデータを表示できる。したがって、個別の聴衆者９がどのようなフィードバックを送ったかも容易に確認できる。
【０１２２】
次に、ストロークの重複について説明する。ストローク７は重なれば重なるほど色が濃くなるため、説明者８は指摘が多い箇所をひと目で把握することができる。
【０１２３】
一方、単に重なったストローク７の色が濃くなると本来、強調されるべきでない部分まで強調されるおそれがある。図１５を用いて説明する。
【０１２４】
図１５は、重複したストローク７の色を説明する図の一例である。なお、図１５は各ストローク７の色が同色の場合を示す。図１５（ａ）では２つの円形状のストローク７が描画されているが、２つの円の重心の距離Ｌが小さい。距離Ｌが小さい場合は、別の聴衆者９が同じ場所にフィードバックしていると考えてよいので、重複部分を強調すべき（色を濃くすべき）である。
【０１２５】
これに対し、図１５（ｂ）では円形状のストローク７とドーナツ形状のストローク７が描画されているが、円の重心とドーナツの重心との距離Ｌが大きい。距離Ｌが大きい場合、ストローク７が重なっていても、それぞれの聴衆者９は別の場所にフィードバックしていると考えられるので、重複部分を強調すべき（色を濃くすべき）でない。
【０１２６】
このように、本実施形態では、重複しているストローク７間の距離を算出して閾値と比較して、重複部分の色を決定できる。なお、重複している部分は、２つのストローク７の画素位置により判断でき、表示制御部１３は重複している部分の色を制御できる。
【０１２７】
３つ以上のストローク７が重複している場合は、１つのストローク７に着目し、これと重複する他のストローク７について重心の距離に基づき色を濃くするか否か決定し色濃くしていけばよい。図１５（ｃ）は３つのストローク７の重複を説明する図の一例である。ストローク７Ａとストローク７Ｂの重複部分を重複部分ＡＢ、ストローク７Ｂとストローク７Ｃの重複部分を重複部分ＢＣ、ストローク７Ａとストローク７Ｃの重複部分を重複部分ＡＣ、とする。また、３つのストローク７の重複部分を重複部分ＡＢＣとする。また、互いの重心の距離は閾値未満である。
【０１２８】
重複部分ＡＢ−ＡＢＣ（ＡＢのうちＡＢＣを含まない部分）、重複部分ＡＣ−ＡＢＣ、重複部分ＢＣ−ＡＢＣ、はそれぞれ１段階濃くなる。重複部分ＡＢＣは２段階濃くなる。
【０１２９】
色が異なる複数のストローク７が重複するとフィードバックの意味が分かりにくくなる。このため、重心間の距離に関わらず、重複させないことも有効である。図１６は、色が異なるストローク７の重複を説明する図の一例である。色が異なる場合、例えばストローク７の面積の大きい方の色を優先する。面積が大きい場合、聴衆者９のフィードバックの意志が強いと考えられるためである。図１６では赤のストローク７Ａの方が青のストローク７Ｂよりも面積が大きいため、重複部分が赤で表示される。なお、重複部分を赤と青の混色で表示してもよいし、黒など別の色で表示してもよい。
【０１３０】
図１７は、表示制御部が重複部分の色を決定する手順を示すフローチャート図の一例である。図１７の処理は説明者端末１０がストロークデータを受信することでスタートする。
【０１３１】
表示制御部１３は１つのストローク７に着目し、重複している他のストローク７があるか否かを判断する（Ｓ１０１）。ステップＳ１０１の判断がＮｏの場合、図１７の処理は終了する。
【０１３２】
ステップＳ１０１の判断がＹｅｓの場合、表示制御部１３は２つのストローク７が同じ色か否かを判断する（Ｓ１０２）。
【０１３３】
同じ色でない場合（Ｓ１０２のＮｏ）、表示制御部１３は重複部分を面積の大きい方のストローク７の色に決定する（Ｓ１０３）。
【０１３４】
同じ色である場合（Ｓ１０２のＹｅｓ）、表示制御部１３は２つのストローク７の重心間の距離が閾値以上か否かを判断する（Ｓ１０４）。
【０１３５】
閾値以上の場合、表示制御部１３は重複部分を元の色の濃さに決定する（Ｓ１０５）。閾値未満の場合、表示制御部１３は重複部分の色を１段階濃くする（Ｓ１０６）。
【０１３６】
なお、表示制御部１３は各ストローク７について図１７の処理を実行するが、ステップＳ１０１で他のストローク７として判断されたストローク７は処理しなくてよい。すでに重複部分の色が決定されているからである。
【０１３７】
＜まとめ＞
以上説明したように、本実施形態のデータ共有システムでは、各聴衆者９が説明資料の任意の位置に対して意思表示を示し、それを説明者にフィードバックすることができる。説明者は各聴衆者９から集計されたフィードバックをまとめて表示させることができる。また、各聴衆者９は意思表示に際し、意思の強弱や内容を簡単な操作で示すことができる。
【０１３８】
＜その他の適用例＞
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【０１３９】
例えば、本実施形態では説明者端末１０と端末装置３０がブラウザで画像データを表示したが、説明者端末１０と端末装置３０の一方又は両方がアプリで画像データを表示してもよい。
【０１４０】
また、本実施形態では主に良さと悪さをフィードバックしたが、色や太さに意味を持たせて、見やすい・見にくい、美しい・美しくない、分かりやすい・分かりにくい、等のフィードバックを行うことも可能である。
【０１４１】
また、本実施形態では説明者端末１０と端末装置３０がサーバ５０を介して通信したが、サーバ５０はなくてもよい。この場合、説明者端末１０がサーバ５０の機能を有すればよい。
【０１４２】
また、端末装置３０はストロークデータの他、音声データを説明者端末１０に送信してもよい。説明者端末１０も同様に音声データを送信できる。
【０１４３】
また、図５などの構成例は、説明者端末１０、端末装置３０、及びサーバ５０の処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。また、説明者端末１０、端末装置３０、及びサーバ５０の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、１つの処理単位が更に多くの処理を含むように分割することもできる。
【０１４４】
また、サーバ５０は複数存在してもよく。１つのサーバ５０の機能が複数の情報処理装置に分散されていてもよい。
【０１４５】
なお、説明者端末１０は第一の装置の一例であり、端末装置３０は第二の装置の一例であり、操作受付部３２は操作受付手段の一例であり、ストローク生成部３１はストロークデータ生成手段の一例であり、表示制御部３４は第二の表示制御手段の一例であり、通信部３３は第二の通信手段の一例である。通信部１５は第一の通信手段の一例であり、表示制御部１３は第一の表示制御手段の一例である。
【符号の説明】
【０１４６】
７            ：ストローク
８            ：説明者
９            ：聴衆者
１０          ：説明者端末
３０          ：端末装置
５０          ：サーバ
１００        ：データ共有システム
【先行技術文献】
【特許文献】
【０１４７】
【特許文献１】特開２００９−０４８３８１号公報
【図１】
2019114123.tif 000007
【図２】
2019114123.tif 000008
【図３】
2019114123.tif 000009
【図４】
2019114123.tif 000010
【図５】
2019114123.tif 000011
【図６】
2019114123.tif 000012
【図７】
2019114123.tif 000013
【図８】
2019114123.tif 000014
【図９】
2019114123.tif 000015
【図１０】
2019114123.tif 000016
【図１１】
2019114123.tif 000017
【図１２】
2019114123.tif 000018
【図１３】
2019114123.tif 000019
【図１４】
2019114123.tif 000020
【図１５】
2019114123.tif 000021
【図１６】
2019114123.tif 000022
【図１７】
2019114123.tif 000023