以下、本発明を実施するための形態の一例として、データ共有システムとデータ共有システムが行うデータ共有方法について図面を参照しながら説明する。
<本実施形態のデータ共有システムの概要>
本実施形態のデータ共有システム100は、説明者8が説明する説明資料の画像データを聴衆者9が持つ端末装置30に配信することで説明者8と聴衆者9が説明資料を共有する。聴衆者9は説明資料の画像データに対して、位置と属性を特定して、説明資料に関する印象を説明者8に対しフィードバックすることができる。
図1は、本実施形態のデータ共有システム100の概略を説明する図の一例である。説明者8の説明者端末10は説明資料の画像データを表示しているが、図示する資料は一例に過ぎず、説明資料の内容は情報を共有する状況によって変わりうる。
(1)説明者8の説明者端末10は説明資料の画像データをサーバ50に送信する。
(2)サーバ50は画像データを各聴衆者9の端末装置30にリアルタイムに送信する。
(3)各聴衆者9は説明資料に任意のストローク7(手書き情報)を記入する。聴衆者9はストローク7の太さを簡単な操作で調整できる。なお、ストローク7は半透明であることが好ましい。図1では、聴衆者9Bが手書きしたものとする。なお、複数の聴衆者9のうち所定の聴衆者9を、アルファベットを付して示す。聴衆者9Bの端末装置30はストローク7をサーバ50に送信する。
(4)聴衆者9Bのストローク7はサーバ50に蓄積されると共に、聴衆者9Bのストローク7を自端末に表示させるという設定を行っている説明者端末10に送信される。図1では説明者端末10にのみストローク7が送信されているが、他の聴衆者9Aに送信されることも可能である。
以上のような手順で、説明者端末10の説明資料には各聴衆者9のストローク7が表示される。このように、説明者8はリアルタイムに説明資料に対する聴衆者からのフィードバックを得ることができる。
聴衆者9は例えば、フィードバックが目立つように又はそれほど目立たないように太さを変更できる。説明者8は太さという属性で説明資料に対するフィードバックの程度(強さ)を把握することができる。また、説明資料に対する良いというフィードバックを青系の色で、悪いというフィードバックを赤系の色のストローク7で記入するという規則がある場合、説明者8は色という属性で説明資料に対するフィードバックの内容を把握することができる。また、「○」などの形状という属性によっても説明者8は資料に対するフィードバックを把握することができる。
このように、本実施形態のデータ共有システム100は、説明者8の説明資料に対し聴衆者が位置と属性を有するストローク7を記入するので、聴衆者9が説明資料の任意のポイントを指し示して、どのようによいか又は悪いか等の意思をフィードバックすることができる。
<用語について>
位置とは単なる点ではなく、代名詞「ここ」で示すことのできる部分・エリアという意味に近い。
また、ストローク7の属性は太さ、色、形状などの他、点滅の有無、点線などの線種、透明度などでもよい。
また、手書きとは、フリーハンドで描画された情報をいう。直接、指で描画された情報を含む他、マウスやペンで描画された情報を含む。
<システム構成例>
図2は、本実施例のデータ共有システム100の概略構成図の一例である。データ共有システム100は、ネットワークNを介して接続されたサーバ50、説明者端末10、及び、1つ以上の端末装置30を有する。
ネットワークNは、説明者端末10、及び端末装置30が設置されている拠点などに構築されているLAN、LANをインターネットに接続するプロバイダのプロバイダネットワーク、及び、回線事業者が提供する回線等により構築されている。ネットワークNが複数のLANを有する場合、ネットワークはWANやインターネットと呼ばれる。ネットワークNがどの程度の規模かはサーバ50が施設内と施設外のどちらに設置されているかにも影響される。この他、VPN(Virtual Private Network)や広域イーサネット(登録商標)が含まれていてもよい。ネットワークNは有線又は無線のどちらで構築されてもよく、また、有線と無線が組み合わされていてもよい。また、3G、LTE(Long Term Evolution)、4Gなどの携帯電話網により接続される場合、LANはなくてもよい。
サーバ50は説明者端末10と端末装置30から取得した情報を処理して説明者端末10と端末装置30に送信する情報処理装置である。一般にサーバ50とは、ネットワークを介して接続されたクライアント装置(図2では説明者端末10と端末装置30)からの要求に応じて、何らかのデータ又は何らかの処理結果を提供する装置である。サーバ50は、説明者端末10から取得した画像データを各端末装置30が要求する態様に加工して端末装置30に送信し、更に、端末装置30から取得したストローク7を説明者端末10と端末装置30のうちストローク7を表示するものに送信する。
説明者端末10は、説明資料の画像データをサーバ50に送信する情報処理装置である。また、説明者端末10を操作する者が説明者8であり、実際に説明するかどうかまでは問われない。説明者端末10は、説明資料の画像データを送信する機能を有すればよく、例えば、一般的なPC(Personal Computer)、タブレット端末、スマートフォン、腕時計型やサングラス型などのウェアラブルPC等である。また、説明者端末10は電子黒板でもよいし、説明者端末10に電子黒板が接続されていてもよい。電子黒板は少なくともタッチパネルを有しておりユーザが描いた手書き内容を点の座標として取り込んで大型のディスプレイに表示する。この他、PCと接続されPCが表示する画面を電子黒板が表示する機能、電子黒板が表示するPCの画面と手書き内容を保存する機能、手書き内容を遠隔地にある他の電子黒板と共有する機能などを有している。
説明者端末10が電子黒板の場合、電子黒板に説明者8のPCが接続されてこのPCが表示する画像データが電子黒板に表示される。電子黒板はこの画像データをサーバ50に送信する。したがって、説明者端末10が電子黒板であっても画像データを共有できる。
端末装置30は、サーバ50から説明資料の画像データを受信する情報処理装置である。端末装置30を操作する者を聴衆者9という。すなわち、端末装置30は、説明者端末10及び他の端末装置30と画像データを共有する。端末装置30は、更に、画像データに対する手書きを受け付けストローク7としてサーバ50に送信する。端末装置30は、説明資料の画像データを表示して手書きを受け付け、ストロークデータをサーバ50に送信する機能を有すればよく、例えば、一般的なPC、タブレット端末、スマートフォン、腕時計型やサングラス型などのウェアラブルPC等でよい。また、端末装置30が電子黒板でもよい。
このように、説明者端末10と端末装置30は共に情報処理装置であればよく、端末装置30の1つが説明者端末10となりうる。また、会議や授業の途中で説明者端末10と端末装置30とが切り替わってもよく、画像データを送信する端末装置30が説明者端末10となる場合がある。
<ハードウェア構成例>
<<サーバ>>
図3は、サーバ50の概略的なハードウェア構成図の一例である。サーバ50は、CPU201と、CPU201が使用するデータの高速アクセスを可能とするメモリ202とを備える。CPU201及びメモリ202は、システム・バス203を介して、サーバ50の他のハードウェア要素、例えば、グラフィックス・ドライバ204及びネットワーク・ドライバ(NIC)205へと接続されている。
グラフィックス・ドライバ204は、バスを介してLCD(Liquid Crystal Display)206に接続されて、CPU201による処理結果をモニタする。LCD260は表示装置の一例である。また、ネットワーク・ドライバ205は、トランスポート層レベル及び物理層レベルでサーバ50をネットワークNへと接続して、説明者端末10と端末装置30との間にセッションを確立させている。
システム・バス203には、更にI/Oバス・ブリッジ207が接続されている。I/Oバス・ブリッジ207の下流側には、PCIなどのI/Oバス208を介して、IDE、ATA、ATAPI、シリアルATA、SCSI、USBなどにより、HDD(ハードディスクドライブ)209などの記憶装置が接続されている。HDD209はサーバ50の全体を制御するプログラム209pを記憶している。HDD209はSSD(Solid State Drive)でもよい。
また、I/Oバス208には、USBなどのバスを介して、キーボード及びマウス(ポインティング・デバイスと呼ばれる)などの入力装置210が接続され、システム管理者などのオペレータによる入力及び指令を受け付けている。
なお、図示したサーバ50のハードウェア構成は、1つの筐体に収納されていたりひとまとまりの装置として備えられていたりする必要はなく、サーバ50が備えていることが好ましいハード的な要素を示す。また、クラウドコンピューティングに対応するため、本実施例のサーバ50の物理的な構成は固定的でなくてもよく、負荷に応じてハード的なリソースが動的に接続・切断されることで構成されてよい。
<<電子黒板のハードウェア構成>>
続いて、図4を用いて、本実施形態の説明者端末10が電子黒板2である場合に電子黒板のハードウェア構成を説明する。なお、図4は、電子黒板2のハードウェア構成図である。
図4に示されているように、電子黒板2は、電子黒板2全体の動作を制御するCPU101、IPL等のCPU101の駆動に用いられるプログラムを記憶したROM102、CPU101のワークエリアとして使用されるRAM103、電子黒板2用のプログラム等の各種データを記憶するSSD104、ネットワークNとの通信を制御するネットワークコントローラ105、及び、USBメモリ5との通信を制御する外部記憶コントローラ106を備えている。
また、電子黒板2は、ノートPC6のディスプレイに対して映像情報を静止画又は動画として表示させるキャプチャデバイス111、グラフィックスを専門に扱うGPU(Graphics Processing Unit)112、及び、GPUからの出力画像をディスプレイ3やテレビ会議端末70へ出力するために画面表示の制御及び管理を行うディスプレイコントローラ113を備えている。
更に、電子黒板2は、接触センサ115の処理を制御するセンサコントローラ114、ディスプレイ3上に電子ペン4やユーザの手H等が接触したことを検知する接触センサ115を備えている。この接触センサ115は、赤外線遮断方式による座標の入力及び座標の検出を行う。この座標の入力及び座標の検出する方法は、ディスプレイ3の上側両端部に設置された2つ受発光装置が、ディスプレイ3に平行して複数の赤外線を放射し、ディスプレイ3の周囲に設けられた反射部材によって反射されて、受光素子が放射した光の光路と同一の光路上を戻って来る光を受光する方法である。接触センサ115は、物体によって遮断された2つの受発光装置が放射した赤外線のID(Identification)をセンサコントローラ114に出力し、センサコントローラ114が、物体の接触位置である座標位置を特定する。なお、以下に示す全ての各IDは、識別情報の一例である。
また、接触センサ115としては、赤外線遮断方式に限らず、静電容量の変化を検知することにより接触位置を特定する静電容量方式のタッチパネル、対向する2の抵抗膜の電圧変化によって接触位置を特定する抵抗膜方式のタッチパネル、接触物体が表示部に接触することによって生じる電磁誘導を検知して接触位置を特定する電磁誘導方式のタッチパネルなどの種々の検出手段を用いてもよい。
また、電子黒板2は、電子ペンコントローラ116を備えている。この電子ペンコントローラ116は、電子ペン4と通信することで、ディスプレイ3へのペン先のタッチやペン尻のタッチの有無を判断する。なお、電子ペンコントローラ116が、電子ペン4のペン先及びペン尻だけでなく、電子ペン4のユーザが握る部分や、その他の電子ペンの部分のタッチの有無を判断するようにしてもよい。
更に、電子黒板2は、CPU101、ROM102、RAM103、SSD104、ネットワークコントローラ105、外部記憶コントローラ106、キャプチャデバイス111、GPU112、センサコントローラ114、及び電子ペンコントローラ116を、電気的に接続するためのアドレスバスやデータバス等のバスライン120を備えている。
なお、電子黒板2用のプログラムは、CD−ROM等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよいし、プログラム配信用のサーバ50から配信されてもよい。
説明者端末10又は端末装置30が汎用的な情報処理装置である場合のハードウェア構成はサーバ50と同じであるか又はサーバ50と異なっていても本実施形態の説明の上では支障がないものとする。
<機能について>
図5を用いて説明者端末10、端末装置30、及び、サーバ50が有する機能を説明する。図5は、データ共有システム100における説明者端末10、端末装置30、及び、サーバ50の機能をブロック状に示す機能ブロック図の一例である。
<<説明者端末>>
説明者端末10は、操作受付部11、ストローク生成部12、表示制御部13、画像取得部14、及び、通信部15を有する。説明者端末10が有するこれらの各機能は、図4に示した電子黒板2が有するCPU101がSSD104等に記憶されたプログラムを実行して電子黒板2が有するハードウェア要素と協働することで実現される機能又は手段である。あるいは、図4に示したHDD209からメモリ202に展開されたプログラム209pをCPU201が実行することにより実現されている機能又は手段である。なお、プログラム209pは、プログラム配信用のサーバ50から配信されてもよいし、USBメモリや光記憶媒体などの可搬性の記憶媒体に記憶された状態で配布されてもよい。
操作受付部11は、説明者端末10に対する説明者8の操作を受け付ける。例えば、ページの切り替え、説明資料の拡大、縮小等の画像に対する操作だけでなく、手書きによるストローク7の描画を受け付ける。この他、説明者8がポインティングデバイスとしてマウスを操作した場合は、クリック、ダブルクリック、ドラッグ&ドロップ、クリックキーの長押しなどマウスにより可能な操作を受け付ける。説明者8がポインティングデバイスとしてタッチパネルと指(又はペン)を操作した場合は、タップ、ダブルタップ、スワイプ、フリック、長押し等を受け付ける。
ストローク生成部12は、操作受付部11が受け付けた手書きによる座標点を取得してストロークデータを生成する。ストローク7とは、説明者8又は聴衆者9が手書きを始めてから終えるまでの1回の描画データをいう。すなわち、マウスの場合はマウスダウンイベントからマウスアップイベントまでが1つのストローク7であり、タッチパネルの場合はタッチダウンイベントからタッチアップイベントまでが1つのストローク7である。後述するように、ストロークデータは位置を示す座標の他、太さ、色などの属性を有する。ストローク生成部12は、例えば0.1秒などの短い時間ごとにストロークデータを生成する。これにより、説明者8が手書きしたストローク7が短時間に聴衆者9の端末装置30に反映される。
表示制御部13は、説明資料DB19に記憶されている説明資料をディスプレイ3又はLCD206に表示する。説明資料は例えば、プレゼンテーションソフトが作成したファイル、ワープロソフトが作成したファイル、ブラウザソフトが表示したWebページ、又は、PDFファイル等、説明者端末10が表示できる電子データであればよい。表示制御部13は説明者8の操作に応じて1画面に説明資料の1ページを表示したり、2ページ以上を表示したり、1ページを拡大して表示したり、縮小して表示したりする。
また、表示制御部13はストローク生成部12が生成したストロークデータに基づいてストローク7を画面に表示する。すでに、説明資料の画面が表示中なので、説明資料にストローク7が上書きされた状態で表示される。つまり、説明者8が描画したストローク7を、サーバ50を介さずに表示する。説明者8が描画するストローク7は、説明者8の説明資料に対するフィードバックではなく、聴衆者9に対する説明のためのストローク7である。
更に、表示制御部13は、通信部15がサーバ50から受信したストロークデータに基づいてストローク7をディスプレイ3又はLCD206に表示する。つまり、聴衆者9が描画したストローク7を、サーバ50から取得して表示する。聴衆者9が描画するストローク7は、説明者8の説明資料に対する印象を表すフィードバックである。
表示制御部13は、説明者8のストローク7と聴衆者9のストローク7を異なる態様で表示することが好適である。例えば、説明者8のストローク7は画面が切り替わるまで永続的に表示し、聴衆者9のストローク7は所定時間(数十秒)でフェードアウトさせる。こうすることで、説明者8のストローク7は残しながら、聴衆者9のストローク7で説明資料が隠れてしまうことを抑制できる。
画像取得部14は、表示制御部13がディスプレイ3又はLCD206に表示した1画面を1つの画像データとして取り込む。例えば、画面用のメモリに記憶されているデータから画像データを生成する。画像取得部14は、自動的に画像データを生成する。例えば、ディスプレイ3又はLCD206に表示された画面に何らか変化がない場合は、10秒間隔などの定期的な間隔で画像データを生成する。ディスプレイ3又はLCD206に表示された画面に変化がある場合は、0.1秒間隔などの短い間隔で画像データを生成する。画面の変化が大きいほど短い間隔で画像データを生成してもよい。画面に変化があるかどうかは、操作受付部11がページを切り替える操作、拡大、縮小の操作などを受け付け、表示制御部13が画面を更新したか否かにより判断できる。この他、画像取得部14は説明者8の操作を受け付けて画像を取得してもよい。
通信部15は、サーバ50と各種のデータを送受信する。本実施形態では、サーバ50に画像データを送信し、サーバ50からストロークデータを受信する。
説明者端末10は、図3に示したHDD209又はメモリ202等により構築される説明資料DB19を有する。説明資料DB19には上記した説明資料が記憶される。
<<端末装置>>
端末装置30は、ストローク生成部31、操作受付部32、通信部33、及び、表示制御部34を有する。端末装置30が有するこれらの各機能は、図3に示したHDD209からメモリ202に展開されたプログラム209pをCPU201が実行することにより実現されている機能又は手段である。
なお、端末装置30のストローク生成部31と操作受付部32の機能は説明者端末10のストローク生成部12と操作受付部11と同じであるものとする。
通信部33は、サーバ50と各種のデータを送受信する。本実施形態では、
a.サーバ50から画像データを受信する、
b.サーバ50から説明のためのストロークデータを受信する、
c.サーバ50に聴衆者9が手書きしたストロークデータを送信する、
d.サーバ50から他の聴衆者9が手書きしたストロークデータを受信する、
を行う。なお、b.dは本実施形態では必須ではない。
通信部33は、これら受信すべきデータがあるか否かを定期的にサーバ50に問い合わせてもよいし、サーバ50からプッシュ通信で受信してもよい。
表示制御部34は、通信部33が受信した画像データをLCD206に表示する。この他、聴衆者9が手書きしたストローク7をLCD206に表示し、通信部33が受信した説明者8又は他の聴衆者9のストローク7をLCD206に表示する。表示制御部13は、説明者8のストローク7と、自分が記入したストローク7と、他の聴衆者9のストローク7とをそれぞれ適切な態様で表示することが好適である。例えば、説明者8のストローク7は説明のストロークなので画面が切り替わるまで永続的に表示し、自分が記入したストローク7は忘れないように画面が切り替わるまで永続的に表示し、他の聴衆者9のストローク7は所定時間(数十秒)でフェードアウトさせる。こうすることで、説明者8と自分のストローク7は残しながら、他の聴衆者9がどのようなフィードバックを行ったのかを把握できる。
<<サーバ>>
サーバ50は、通信部51、画像データ蓄積部52、画面作成部53、画像データ配信部54、ストローク蓄積部55、ストローク配信部56、及び、検索部57を有する。サーバ50が有するこれらの各機能は、図3に示したHDD209からメモリ202に展開されたプログラム209pをCPU201が実行することにより実現されている機能又は手段である。なお、プログラム209pは、プログラム配信用のサーバ50から配信されてもよいし、USBメモリや光記憶媒体などの可搬性の記憶媒体に記憶された状態で配布されてもよい。
また、サーバ50は、図3に示したHDD209又はメモリ202等により構築される記憶部59を有する。記憶部59には、画像データ記憶部61、ユーザ情報記憶部62、ストロークデータ記憶部63、及び、配信制御情報記憶部64が構築されている。まず、これらについて説明する。
表1は画像データ記憶部61に記憶される画像データに関する情報の一例を示す。画像データ記憶部61では、画像ID、授業ID、時刻、端末ID、ファイルパス、及び、ページ番号の各項目が管理される。画像IDは、画像データを一意に識別又は特定するための識別情報である。IDはIdentificationの略であり識別子や識別情報という意味である。IDは複数の対象から、ある特定の対象を一意的に区別するために用いられる名称、符号、文字列、数値又はこれらのうち1つ以上の組み合わせをいう。他のIDについても同様である。
授業IDは授業を識別又は特定するための識別情報である。この授業は、説明資料が学校の講義で使用された場合にどの授業の画像データであるかを特定するための情報になる。したがって、説明資料が会議で説明されれば会議ID、学会で説明されれば発表IDやセッションIDなどになる。時刻は画像データが生成された時刻である(サーバが受信した時刻でもよい)。端末IDは画像データを生成した説明者端末10を識別又は特定するための識別情報である。例えば、IPアドレス、MACアドレス、説明者8のID、説明者端末10の端末名(コンピュータ名)等でよい。ファイルパスは画像データが記憶されているリソースのURL等である。
ページ番号は、説明資料の1ページ目から順にふられた連番である。例えば、10ページからなる説明資料は1から10までページ番号を有することになる。このページ番号自体は説明資料にふられている必要はなく説明者端末10が説明資料に対するページの切り替え操作に基づいて設定する。一般のプレゼンテーションソフトであれば、ページの切り替わりはユーザが明示的に操作できるのでストローク生成部12が現在のページ番号を特定できる。説明者端末10が電子黒板の場合は、電子黒板がページの切替信号又はページ番号をPCから受信する。Webページのようにページに明確な区切りがない場合、説明資料の先頭を基準として現在の表示位置までのスクロール量(画素数)によりページに相当する表示範囲を特定する。
画像IDはサーバ50が付与し、授業IDは固有値であるため説明者端末10又はサーバ50が設定し、時刻は説明者端末10が設定し、端末IDは説明者端末10が設定し、ファイルパスはサーバ50が設定し、ページ番号は説明者端末10が設定する。
表2は、ストロークデータ記憶部63に記憶されるストロークデータの一例を示す。ストロークデータ記憶部63では、ストロークID、授業ID、時刻、端末ID、色、位置情報、太さ、画像ID、及び、ページ番号の各項目が管理される。授業ID、端末ID及び画像IDについては画像データ記憶部61と同様でよい。
ストロークIDはストローク7を一意に識別又は特定するための識別情報である。マウスダウン(タッチダウン)からマウスアップ(タッチアップ)まで1つのストローク7には同じストロークIDが付与される。時刻は、ストロークデータが生成された時刻である。色は、説明者8又は聴衆者9が設定したストローク7の色である。位置情報は1つのストロークデータが生成される間に取得されたポインティングデバイスの1つ以上の座標である。いくつの座標が含まれるかは座標の取得速度と、ストロークデータの生成間隔に影響される。太さは説明者8又は聴衆者9が設定したストローク7の太さである。画像IDとページ番号はサーバ50から端末装置30に送信された値である。
ストロークIDはサーバ50が付与し、時刻は端末装置30が設定し、端末IDは端末装置30が設定し、色、位置情報及び太さは説明者8又は聴衆者9の操作に応じて設定され、画像IDとページ番号はサーバ50から取得される。
表2に示すようにページ番号に対しストロークIDが対応付けられているので、サーバ50は説明資料のあるページに対し手書きされたストローク7を特定して説明者端末10等に送信できる。
表3は、ユーザ情報記憶部62に記憶されるユーザ情報の一例を示す。ユーザ情報記憶部62では、説明者名・聴衆者名、端末ID、パスワード、ログイン済み、説明者、画面スタイル、及び配信モードの各目が管理される。説明者名・聴衆者名はユーザ名に相当するものであり、説明者8又は聴衆者9が互いを認識するための氏名やニックネームである。端末IDは上記のように説明者8が使用する説明者端末10又は各聴衆者名が使用する端末装置30の識別情報である。パスワードは説明者8又は聴衆者9がサーバ50から認証を受けるために秘密にしておく情報である。例えば、説明者8は授業ごとにパスワードを決定してメール等で聴衆者9に配信しておき、聴衆者9はこのパスワードでサーバ50にログインする。これにより、説明者8は授業に端末をログインさせて参加している聴衆者9を特定できる。聴衆者9は端末IDで特定できるため、パスワードは聴衆者9の全員に共通でもよい。あるいは、厳密に個人を認証するために聴衆者9ごとにパスワードを設定する。
ログイン済みの項目は授業に参加できる説明者8及び聴衆者9がログインしているか否かを示す。あるいは、ログインしている説明者8及び聴衆者9のみを示してもよい。したがって、ログインしている説明者8及び聴衆者9が特定される。説明者8の項目は誰が説明者8であるかを示す。説明者8の画像データが端末装置30に配信され共有されるためである。画面スタイルは説明者8又は聴衆者9ごとに説明資料を表示するための画面の態様を設定するための項目である。配信モードはリアルタイムモードと過去モードがあり、リアルタイムモードは自動的に画像データとストロークデータが送信又は受信される配信モードであり、過去モードは説明者8又は聴衆者9が過去の画像データとストロークデータを指定して表示させる配信モードである。
表4は、配信制御情報記憶部64に記憶される配信制御情報の一例を示す。配信制御情報はストロークデータの配信に関する設定である。配信制御情報記憶部64には、説明者名・聴衆者名、ストローク表示聴衆者1、ストローク表示聴衆者2、ストローク表示聴衆者3…の各項目が管理される。
説明者名・聴衆者名はこの者に関する配信設定であることを示す。つまり、説明者名・聴衆者名の配信制御情報が1行ごとに設定されている。例えば、「yamada」は全ての聴衆者9のストロークデータをサーバ50から配信されることが設定されている。一方、「suzuki」には「yamada」のストローク7しか配信されず、「satou」には「yamada」の他に「suzuki」のストローク7が配信される。
このように、本実施形態のデータ共有システム100は、説明者8及び各聴衆者9ごとにどの端末装置30のストロークデータを表示させるかを制御できる。説明者8の場合は各聴衆者9からフィードバックを得られ、一般の聴衆者9であれば原則的に説明者8のストロークデータのみを表示することができる。
配信制御情報記憶部64へのアクセスは、説明者8のみが行う権限を有することにより、聴衆者9が勝手に他の聴衆者9のストロークデータ(フィードバック)を盗み見ることを制限できる。例えば、リアルタイムのテスト(試験)やアンケートなどで回答の漏洩を抑制できる。一方、優秀な聴衆者9のストロークデータ(フィードバック)を他の聴衆者9も参考にできるように、説明者8は任意の聴衆者9に対応付けて、任意の聴衆者9を「ストローク表示聴衆者1」等に設定できる。
図5に戻って説明する。まず、通信部51は、説明者端末10から画像データとストロークデータを、端末装置30からストロークデータを受信する。画像データ蓄積部52は通信部51が受信した画像データを画像データ記憶部61に記憶させる。上記のように、画像IDを採番し、必要であればログインにより決まっている授業IDを設定し、画像データの記憶場所を示すファイルパスを設定する。
画面作成部53は、Webアプリを提供する為の処理を行う。Webアプリとは、Webブラウザ上で動作するスクリプト言語(たとえばJavaScript(登録商標))によるプログラムとWebサーバ側のプログラムが協調することによって動作し、Webブラウザ上で使用されるソフトウェア又はその仕組みを言う。例えば、少なくともストロークの描画を受け付ける画面情報をHTMLとJavaScript等で生成する。また、説明者8又は聴衆者9の画面スタイルに応じたWebページを表示させるための画面情報を生成する。
画面作成部53は画像データ記憶部61に新しい画像データが記憶されると、画面スタイルに応じた処理を行い、画像データを画像データ配信部54に送出する。画像データ配信部54は、ログインによりセッションが確立している聴衆者9の端末装置30に通信部51を介して画像データを配信する。ログインしている聴衆者9はユーザ情報記憶部62から明らかなので、ログインしている全ての聴衆者9に対し画像データを送信する。画像データを送信する方法には、HTMLなどの画面情報に画像データを含めて送信する方法と、一度、画面情報を送信した後は新しい画像データのみを送信する方法がある。本実施形態ではどちらの送信方法を採用してもよいが、画像データのみを送信する方法が通信負荷を低減できる。なお、画像データのみを更新する通信の仕組みとしてAjax,Comet、又はWeb Socketなどが知られている。
ストローク蓄積部55は、通信部51が説明者端末10又は端末装置30から受信したストロークデータをストロークデータ記憶部63に記憶させる。上記のように、ストロークIDを採番する。
ストローク配信部56はストロークデータ記憶部63に記憶されたストロークデータを説明者端末10及び端末装置30に配信する。まず、端末装置30から送信されたストロークデータを、配信制御情報記憶部64を参照して(allの設定に基づいて)、端末装置のストロークデータである旨と共に説明者端末10に送信する。配信制御情報記憶部64において、他の端末装置30のストロークデータを受信する設定になっている端末装置に対しては端末装置30から送信されたストロークデータを端末装置のストロークデータである旨と共に送信する。また、説明者端末10から送信されたストロークデータを、配信制御情報記憶部64で受信する設定になっている端末装置30に説明者端末10のストロークデータである旨と共に送信する。当然ながら、送信先の端末装置30又は説明者端末10はログインしていることが前提になる。
<サーバが作成する画面例>
聴衆者9としては全画面で説明資料を見たい場合もあるし、テキストを入力しながら見たい場合もある。このため、説明者8及び聴衆者9は画面スタイルを選択できるようになっている。
図6は、画面スタイルに応じてサーバ50の画面作成部53が作成する配信画面501を説明する図の一例である。一例として本実施形態では3つの画面スタイルがあるものとする。図6(a)は配信画面501a(画面スタイル1)を、図6(b)は配信画面501b(画面スタイル2)を、図6(c)は配信画面501c(画面スタイル3)をそれぞれ示す。画面スタイル1は配信画面501aの全体に説明資料が表示される画面スタイルであり、画面スタイル2は説明資料を一部に表示しながらテキストの入力を受け付ける画面であり、画面スタイル3は常にテキスト入力のみを行うための画面である。
説明者8又は聴衆者9は各配信画面501から画面スタイルを選択できるようになっている。なお、図6(a)の画面スタイル1からは右クリックなどにより画面スタイル1〜3を選択するメニューが表示される。
説明者8又は聴衆者9による画面スタイルの選択結果はサーバ50に送信され、各ユーザに対応付けてユーザ情報記憶部62に登録される。
図6では説明者端末10と端末装置30で配信画面501が区別されていないが、説明者端末10と端末装置30で配信画面501が異なっていてもよい。端末装置30と説明者端末10が同じ画面スタイルが適用されるとしても少なくとも機能は異なっていてもよく、サーバ50は説明者端末10に説明者端末用の画面情報(HTML,JavaScript、CSS)を送信する。
また、説明者8又は聴衆者9は説明資料の画像データとストロークデータの配信モードを選択できる。図6(d)は配信モードの選択画面502の一例を示す。配信モードにはリアルタイムモードと過去モードがあり、説明者8又は聴衆者9は任意に配信モードを選択できる。初期設定はリアルタイムモードである。
説明者8又は聴衆者9による配信モードの選択結果はサーバ50に送信され、各ユーザに対応付けてユーザ情報記憶部62に登録される。
図7は、過去モードにおいて説明者8又は聴衆者9が説明資料を指定するための説明資料指定画面511である。説明資料指定画面511は、授業ID欄512、ページ番号欄513、端末ID欄514、時刻欄515、OKボタン516、及び、キャンセルボタン517を有する。説明者8又は聴衆者9は少なくとも授業ID欄512に授業IDを入力することで、過去の説明資料の画像データとストロークデータを表示させることができる。
ページ番号欄513、端末ID欄514、時刻欄515はそれぞれページ番号、端末ID、及び、時刻を入力するための欄であり、説明者8又は聴衆者9が画像データとストロークデータを絞り込むために入力できる。このように、説明者8又は聴衆者9は過去の画像データとストロークデータを指定して閲覧することができる。
<ストロークについて>
図8を用いて説明資料に対するフィードバックとしてストローク7の手書き方法を説明する。図8は、ストローク7の手書き方法を説明する図の一例である。なお、図8ではポインティングデバイスとしてタッチパネルを用いる例を説明するが、マウスでもよいし、ペンでもよい。
(1)説明者8又は聴衆者9はエリアをなぞる。このエリアとはフィードバックを通知したい説明資料の場所である(図8(a))。操作受付部32は座標を取得するので、ストローク生成部31がタッチダウン以降の座標を取得する。なお、説明者8又は聴衆者9が色を選択する前のストロークの色はグレーなどの中立色でよい。
(2)説明者8又は聴衆者9がタッチパネルから手を離さずに手の動きを止めると、手を止めた時間に比例して、ストローク7が太くなる(図8(b))。ストローク生成部31は指が停止して留まっている時間(座標の変化がない時間)を測定し、時間に比例してストロークデータの太さを大きくする。また、太さを表示制御部34に通知するので、表示制御部34がストローク7の太さを太くする。
(3)説明者8又は聴衆者9がタッチパネルから手を離すと、色の選択欄521が表示される(図8(c))。操作受付部32がタッチアップイベントを検出すると、表示制御部34が色の選択欄521を表示する。どの色を表示するかは予め決まっているものとする。図8(c)では二色だがより多くの色を表示してよい。
(4)説明者8又は聴衆者9が色を選択する(図8(d))。操作受付部32はタッチ位置から色の選択を受け付け、ストローク生成部31と表示制御部34に通知する。
(5)ストローク7に色がつく(図8(e))。表示制御部34はストローク7の色を通知された色に変更する。
このように、説明者8又は聴衆者9は簡単な操作で太さや色を指定できる。色は例えば「良い・悪い」の区別を意味し、太さは良さ悪さの強調の程度を示す。なお、ストロークの書き始めに色を選択してもよい。また、いったんタッチアップした後に説明者8又は聴衆者9が太さを変更してもよい。
なお、説明者8又は聴衆者9は太さを数値で入力してもよい。あるいは、手を離した後のストローク7に対するタッチ回数が多くなるほどで太さが徐々に太くなってもよい。また、説明者8又は聴衆者9が手を止めている間、順番にストローク7の色が変化し、手を離した瞬間の色に決定されてもよい。あるいは、手を離した後のストローク7に対するタッチに応じて順番にストローク7の色が変化してもよい。
次に、図9を用いてストローク7の位置情報について説明する。図9はストローク7の位置情報を説明する図の一例である。位置情報(XRate、YRate)は、画像データのサイズの変更(拡大、縮小)があっても画像データの同じ位置にストローク7が表示されるように、座標(ピクセル)ではなく、画像データの幅と高さに対する比率で表さわれる。
画像データの左上コーナーを原点(0,0)とする。ポインティングデバイスがタッチした座標を(x,y)、画像データの幅をwidth、高さをheightとすると、位置情報(XRate、YRate)は以下のようになる。
XRate = width/x
YRate = height/y
上記のようにストローク生成部は、0.1秒などの短い時間ごとにストロークデータを生成する。例えば、ストローク生成部が0.1秒に2点、位置情報を取り込むとすると、1つのストロークデータには2点の位置情報が含まれることになる。したがって、0.4秒間の位置情報をJSON形式で表すと以下のようにある。
{"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"},
ストロークデータにはストロークIDが付されているので、説明者端末10及び端末装置30は同じ1つのストローク7を構成する位置情報を1つのストローク7として描画できる。
図10は、ストローク7の形状を聴衆者9が指定する方法について説明する図の一例である。図10(a)は円の形状のストローク7の生成方法を説明する図の一例である。説明者8又は聴衆者9が指の動きを停止すると、徐々に太さが増し、円ができる。円は長さがないストロークである。表示制御部34は1点に留まる座標から周囲に均等に太さ分だけ描画範囲を広げるので円が表示される。
図10(b)は空洞のある形状のストローク7の生成方法を説明する図の一例である。説明者8又は聴衆者9が始点と終点を一致させた状態で指の動きを停止すると、徐々に太さが増し空洞をもった形状になる。このような形状は空洞があってもストロークにより構成されているため、線などのストロークと同様に容易に描画できる。
図10(c)は波形など、任意の形状のストローク7を示す。図10(a)〜(c)において太さに一定の上限が設けられてよい。例えば、空洞がつぶれないような太さに制限される。また、太さが数値で分かるように、説明者8又は聴衆者9の手が停止している間、表示制御部34が太さを表す数値を徐々に大きくして表示してもよい。更に、ダブルタップなどで説明者端末10及び端末装置30がメニューを表示し、丸、三角、四角などの決まった図形の選択を受け付けて表示してもよい。
単なる点や線だと説明者8が気づきにくいが、本実施形態のように円や太線でストローク7が手書きされることで、聴衆者9の興味の対象をアピールしやすくなる。また、ストローク7は文字ではなくマークなど絵に分類されるため、意思表示を簡単に行うことができる。また、人によって様々な形状でストローク7を描画できる。
<動作手順>
図11は、リアルタイムモードにおけるデータ共有システム100の全体的な動作手順を示すシーケンス図の一例である。
S1〜S3:まず、少なくとも説明者端末10がサーバ50にログインする。学校であればチャイムが鳴って授業が開始される。大部分の生徒もログインする。ログインによりサーバ50と説明者端末10、サーバ50と端末装置30との間にはセッションが確立する。
S4:まず、説明者8が説明者端末10の画像データを端末装置30と共有するために、共有の操作を行う。説明者端末10の操作受付部11はこの操作を受け付けて、通信部15が共有要求をサーバ50に送信する。サーバ50の通信部51は共有要求を受信するので、画像データ蓄積部52がユーザ情報記憶部62の説明者端末10に対応付けて「説明者8」を登録する。これにより、説明者端末10の画像データが複数の端末装置30との間で共有される。
S5:説明者端末10の画像取得部14は画像データを生成する。上記のように、少なくとも定期的に画像データを生成し、説明者端末10の画面に変化があると短い間隔で画像データを生成する。
S6:説明者端末10の通信部15は画像データをサーバ50に送信する。画像データには、時刻、端末ID、及びページ番号が設定されている。
S7:サーバ50の通信部51は画像データを受信し、画像データ蓄積部52が画像データを画像データ記憶部61に蓄積する。画像データ蓄積部52は画像ID、授業ID、及びファイルパスを設定する。画像データ蓄積部52は端末IDに基づいて説明者8が画像データを送信したことを検出して画面作成部53に画像データの共有を要求する。
S8,S9: 画面作成部53は画像データ記憶部61に画像データが蓄積されたことを検出して画面情報を作成する。画面作成部53はログイン時などに少なくとも1回は画面スタイルに対応した画面情報を作成する。作成後は、聴衆者9が画面スタイルを変更したタイミングで画面スタイルに対応した画面情報を作成する。画面スタイルに変更がない場合、画面作成部53はログインしておりかつリアルタイムモードの聴衆者9の画面スタイルに応じた画像データを生成する。例えば、サイズを変更したり、OSやブラウザの種類に即した画像データを生成したりする。画像データ配信部54はログインしておりかつリアルタイムモードの端末装置30に順番に又は並行して画像データを配信する。
S10、S11:端末装置30の通信部33は画像データを受信する。これにより、表示制御部34はLCD206に画像データを表示する。つまり、ブラウザの画像データの表示欄の画像データを更新する。
S12:次に、端末装置30Bの聴衆者9がストローク7を手書きした。操作受付部32はストローク7の入力を受け付け、ストローク生成部31がストロークデータを生成する。また、表示制御部34がストローク7を表示する。自分が手書きしたストローク7は時間が経過しても消えないが、聴衆者9が自分の操作で消すことができる。
S13:端末装置30Bの通信部33は、ストロークデータをサーバ50に送信する。このストロークデータには、時刻、端末ID、色、位置情報、太さ、画像ID、及びページ番号が設定されている。
S14:サーバ50の通信部51はストロークデータを受信し、ストローク蓄積部55がストロークデータをストロークデータ記憶部63に蓄積する。ストローク蓄積部55はストロークIDを設定する。
S15:ストローク配信部56はストロークデータの蓄積を検出して、送信元の端末装置30Bのストロークデータを受信すると指定している説明者端末10及び他の端末装置30を、配信制御情報記憶部64を参照して特定する。例えば、説明者端末10に送信することが分かるので、ストローク配信部56はストロークデータを説明者端末10に送信する。この時、ストロークデータが端末装置30からのものである旨を共に送信してよい。これにより、説明者端末10はストロークデータを一定時間、表示した後、消去できる。なお、端末装置30Aにも送信されてもよい。
S16:説明者端末10の通信部15はストロークデータを受信するので、表示制御部13がストローク7を表示する。表示制御部13は、現在、表示中のページ番号がストロークデータのページ番号と同じかどうかを判断し、同じであればストローク7を表示する。これにより、説明者8がページを切り替えた後に切り替える前のページに対するストローク7が表示されることを抑制できる。
このように、説明者端末10は各端末装置30が送信したストロークデータをリアルタイムに表示できる。授業では多くの端末装置30からストロークデータが送信されるので、それらをまとめて確認できる。また、画面情報が含むJavaScriptの機能により、説明者端末10が複数の端末装置30のストロークデータを受信しても、説明者8は任意の聴衆者9を個別に又は複数指定してストローク7を表示できる。更に、聴衆者9ごとに画像データをサムネイル表示して一人一人のストローク7を表示することもできる。
このように、例えば説明者8は複数の聴衆者9のストロークデータを重ねて表示したり、任意の聴衆者9のストロークデータだけを表示したりして、フィードバックを検討し補足説明したり説明資料を修正したりすることができる。
図12は、過去モードにおけるデータ共有システム100の概略の動作手順を示すシーケンス図の一例である。図12の処理は、授業中の任意のタイミングにスタートしてもよいし、授業以外の任意のタイミングにスタートしてもよい。
S21:説明者8があるページに対するフィードバックを見たいと考え、過去モードに切り替える操作を行う、操作受付部11がこの操作を受け付け、通信部15が過去モードへの切り替えを要求する。
S22:説明者8は説明資料指定画面511で授業ID、ページ番号、及び端末IDを入力したとする。授業ID以外の指定は任意である。端末IDはある聴衆者9(生徒)を指定してもよいし、全ての聴衆者9(all)を指定してもよい。説明者端末10の通信部15は授業ID、ページ番号、及び端末ID、を含む検索要求をサーバ50に送信する。
S23:サーバ50の通信部51は検索要求を受信し、検索部57が端末IDの指定が許可されているか否かを判断する。すなわち、説明者端末10がストローク7を表示することが許可された端末IDが指定されているか否かを、配信制御情報記憶部64を参照して判断する。仮に許可されていない端末IDが含まれている場合は、該当する端末IDとエラーメッセージを説明者端末10に送信することが好ましい。図12の説明では、説明者端末10がストローク7を表示することが許可された端末IDが指定されていたとして説明する。
S24:サーバ50の通信部51は検索要求を受信し、検索部57が画像データ記憶部61を検索する。まず、検索要求に含まれる授業IDとページ番号を有する画像データを画像データ記憶部61から検索する。次に、検索要求の端末IDが特定の個人であればこの端末IDで画像データを絞り込む。端末IDが全ての聴衆者9であれば授業IDとページ番号で検索された画像データのままでよい。
S25:次に、サーバ50の検索部57はストロークデータ記憶部63を検索する。同様に、授業ID、ページ番号、及び端末IDで検索してもよい。あるいは、ストロークデータは画像IDと対応付けられているので、ステップS23で検索された画像データの画像IDでストロークデータ記憶部63を検索してもよい。
S26:画面作成部53は画像データとストロークデータを含む画面情報を生成する。ストロークデータを画像データに上書きすれば良いためストロークデータは後から送信してもよい。
S27:サーバ50の通信部51は画像データとストロークデータを含む画面情報を説明者端末10に送信する。
S28:説明者端末10の通信部15は画像データとストロークデータを含む画面情報を受信して、表示制御部13が画像データとストロークデータを表示する。過去モードでは時間経過によりストローク7が消えないことが好ましい。これにより説明者8はフィードバックを十分に吟味できる。
<ストロークデータの表示例>
図13は、説明者端末10が表示した画像データとストローク7の一例を示す。図13の表示例はリアルタイムモードでも過去モードでも可能である。画像データに2つのストローク7A、7Bが表示されている。ストローク7の色は半透明なので、ストローク7が表示されても、説明者8は元の画像データを見ることができる。
図13では2つのストローク7しか重なっていないが、多くの端末装置30からストロークデータが送信されるほど、重複部分が統計的な性質を有するようになるので、分かりにくい箇所、分かりやすい箇所を説明者8が把握しやすくなる。特に、重複部分は濃くなるので同じ位置にフィードバックされるほどその位置が目立つようになる。
図13のように複数のストローク7が含まれる場合、説明者8又は聴衆者9は生徒のリストを表示させ、任意の生徒のストロークのみを表示させることもできる。
図14は、聴衆者9ごとのストローク7がサムネイル表示された画像データと共に表示された画面例を示す図である。説明者端末10は端末装置30が送信したストローク7を端末装置30ごとに別々に、端末装置30に送信した画像データに重ねて表示する。図14では6つの画像データが表示されているが、説明者8は画面をスクロールさせることで全ての聴衆者9のストロークデータを表示できる。したがって、個別の聴衆者9がどのようなフィードバックを送ったかも容易に確認できる。
次に、ストロークの重複について説明する。ストローク7は重なれば重なるほど色が濃くなるため、説明者8は指摘が多い箇所をひと目で把握することができる。
一方、単に重なったストローク7の色が濃くなると本来、強調されるべきでない部分まで強調されるおそれがある。図15を用いて説明する。
図15は、重複したストローク7の色を説明する図の一例である。なお、図15は各ストローク7の色が同色の場合を示す。図15(a)では2つの円形状のストローク7が描画されているが、2つの円の重心の距離Lが小さい。距離Lが小さい場合は、別の聴衆者9が同じ場所にフィードバックしていると考えてよいので、重複部分を強調すべき(色を濃くすべき)である。
これに対し、図15(b)では円形状のストローク7とドーナツ形状のストローク7が描画されているが、円の重心とドーナツの重心との距離Lが大きい。距離Lが大きい場合、ストローク7が重なっていても、それぞれの聴衆者9は別の場所にフィードバックしていると考えられるので、重複部分を強調すべき(色を濃くすべき)でない。
このように、本実施形態では、重複しているストローク7間の距離を算出して閾値と比較して、重複部分の色を決定できる。なお、重複している部分は、2つのストローク7の画素位置により判断でき、表示制御部13は重複している部分の色を制御できる。
3つ以上のストローク7が重複している場合は、1つのストローク7に着目し、これと重複する他のストローク7について重心の距離に基づき色を濃くするか否か決定し色濃くしていけばよい。図15(c)は3つのストローク7の重複を説明する図の一例である。ストローク7Aとストローク7Bの重複部分を重複部分AB、ストローク7Bとストローク7Cの重複部分を重複部分BC、ストローク7Aとストローク7Cの重複部分を重複部分AC、とする。また、3つのストローク7の重複部分を重複部分ABCとする。また、互いの重心の距離は閾値未満である。
重複部分AB−ABC(ABのうちABCを含まない部分)、重複部分AC−ABC、重複部分BC−ABC、はそれぞれ1段階濃くなる。重複部分ABCは2段階濃くなる。
色が異なる複数のストローク7が重複するとフィードバックの意味が分かりにくくなる。このため、重心間の距離に関わらず、重複させないことも有効である。図16は、色が異なるストローク7の重複を説明する図の一例である。色が異なる場合、例えばストローク7の面積の大きい方の色を優先する。面積が大きい場合、聴衆者9のフィードバックの意志が強いと考えられるためである。図16では赤のストローク7Aの方が青のストローク7Bよりも面積が大きいため、重複部分が赤で表示される。なお、重複部分を赤と青の混色で表示してもよいし、黒など別の色で表示してもよい。
図17は、表示制御部が重複部分の色を決定する手順を示すフローチャート図の一例である。図17の処理は説明者端末10がストロークデータを受信することでスタートする。
表示制御部13は1つのストローク7に着目し、重複している他のストローク7があるか否かを判断する(S101)。ステップS101の判断がNoの場合、図17の処理は終了する。
ステップS101の判断がYesの場合、表示制御部13は2つのストローク7が同じ色か否かを判断する(S102)。
同じ色でない場合(S102のNo)、表示制御部13は重複部分を面積の大きい方のストローク7の色に決定する(S103)。
同じ色である場合(S102のYes)、表示制御部13は2つのストローク7の重心間の距離が閾値以上か否かを判断する(S104)。
閾値以上の場合、表示制御部13は重複部分を元の色の濃さに決定する(S105)。閾値未満の場合、表示制御部13は重複部分の色を1段階濃くする(S106)。
なお、表示制御部13は各ストローク7について図17の処理を実行するが、ステップS101で他のストローク7として判断されたストローク7は処理しなくてよい。すでに重複部分の色が決定されているからである。
<まとめ>
以上説明したように、本実施形態のデータ共有システムでは、各聴衆者9が説明資料の任意の位置に対して意思表示を示し、それを説明者にフィードバックすることができる。説明者は各聴衆者9から集計されたフィードバックをまとめて表示させることができる。また、各聴衆者9は意思表示に際し、意思の強弱や内容を簡単な操作で示すことができる。
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
例えば、本実施形態では説明者端末10と端末装置30がブラウザで画像データを表示したが、説明者端末10と端末装置30の一方又は両方がアプリで画像データを表示してもよい。
また、本実施形態では主に良さと悪さをフィードバックしたが、色や太さに意味を持たせて、見やすい・見にくい、美しい・美しくない、分かりやすい・分かりにくい、等のフィードバックを行うことも可能である。
また、本実施形態では説明者端末10と端末装置30がサーバ50を介して通信したが、サーバ50はなくてもよい。この場合、説明者端末10がサーバ50の機能を有すればよい。
また、端末装置30はストロークデータの他、音声データを説明者端末10に送信してもよい。説明者端末10も同様に音声データを送信できる。
また、図5などの構成例は、説明者端末10、端末装置30、及びサーバ50の処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。また、説明者端末10、端末装置30、及びサーバ50の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
また、サーバ50は複数存在してもよく。1つのサーバ50の機能が複数の情報処理装置に分散されていてもよい。
なお、説明者端末10は第一の装置の一例であり、端末装置30は第二の装置の一例であり、操作受付部32は操作受付手段の一例であり、ストローク生成部31はストロークデータ生成手段の一例であり、表示制御部34は第二の表示制御手段の一例であり、通信部33は第二の通信手段の一例である。通信部15は第一の通信手段の一例であり、表示制御部13は第一の表示制御手段の一例である。