(57)【要約】【課題】会議中あるいは授業で、ホワイトボード上で行なわれた操作を再現し、映像との同期再生も実現する。【解決手段】  ホワイトボードにアクセスしているクライアント２上またはサーバ１上で、該ホワイトボード上で行なわれた各操作を、履歴を保存し始めてからの経過時間とともに履歴にファイルとして保存する。ファイルに履歴として記録された各操作を、当該操作に対応する経過時間と当該操作の１つ前の操作に対応する経過時間との時間差があらかじめ設定した時間ｔlimより長い場合は、当該操作の１つ前の操作を再現した時刻から時間ｔlimが経過した時点で再現し、そうでない場合は、当該操作の１つ前の操作を再現した時刻から前記時間差が経過した時点で再現する。【選択図】図１
2007066315.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークで互いに接続されたサーバとクライアントを利用した共有ホワイトボードシステムにおいて、
ホワイトボードにアクセスしているクライアント上またはサーバ上で、該ホワイトボード上で行なわれた各操作を、履歴を保存し始めてからの経過時間とともに履歴にファイルとして保存する操作保存ステップと、
前記ファイルに履歴として記録された各操作を、当該操作に対応する前記経過時間と当該操作の１つ前の操作に対応する前記経過時間との時間差があらかじめ設定した時間より長い場合は、当該操作の１つ前の操作を再現した時刻から前記あらかじめ設定した時間が経過した時点で再現し、そうでない場合は、当該操作の１つ前の操作を再現した時刻から前記時間差が経過した時点で再現する再現ステップと、
を有することを特徴とする共有ホワイトボード履歴再現方法。
【請求項２】
前記再現ステップは、あらかじめｎ倍の速度で再現すると設定されている場合は、前記ファイルに記録された各操作を、当該操作に対応する前記経過時間と当該操作の１つ前の操作に対応する前記経過時間との時間差が予め設定した時間より長い場合は、当該操作の１つ前の操作を再現した時刻から前記予め設定した時間をｎで割った時間が経過した時点で再現し、そうでない場合は、当該操作の１つ前の操作を再現した時刻から前記時間差をｎで割った時間が経過した時点で再現することを特徴とする、請求項１に記載の共有ホワイトボード履歴再現方法。
【請求項３】
ネットワーク上で互いに接続されたサーバとクライアントを利用した共有ホワイトボードシステムにおいて、
ホワイトボードにアクセスしているクライアント上またはサーバ上で、該ホワイトボード上で行なわれた各操作を、履歴を保存し始めてからの経過時間とともに履歴にファイルとして保存する操作保存手段と、
前記ファイルに履歴として記録された各操作を、当該操作に対応する前記経過時間と当該操作の１つ前の操作に対応する前記経過時間との時間差があらかじめ設定した時間より長い場合は、当該操作の１つ前の操作を再現した時刻から前記あらかじめ設定した時間が経過した時点で再現し、そうでない場合は、当該操作の１つ前の操作を再現した時刻から前記時間差が経過した時点で再現する再現手段と、
を有することを特徴とする共有ホワイトボードシステム。
【請求項４】
前記再現手段は、あらかじめｎ倍の速度で再現すると設定されている場合は、前記ファイルに記録された各操作を、当該操作に対応する前記経過時間と当該操作の１つ前の操作に対応する前記経過時間との時間差が予め設定した時間より長い場合は、当該操作の１つ前の操作を再現した時刻から前記予め設定した時間をｎで割った時間が経過した時点で再現し、そうでない場合は、当該操作の１つ前の操作を再現した時刻から前記時間差をｎで割った時間が経過した時点で再現することを特徴とする、請求項３に記載の共有ホワイトボードシステム。
【請求項５】
請求項１または２に記載の共有ホワイトボード履歴再現方法をコンピュータに実行させるためのプログラム。
【請求項６】
請求項５に記載のプログラムを記録した、コンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークで互いに接続されたサーバとクライアントを利用した共有ホワイトボードシステムに関する。
【背景技術】
【０００２】
テキスト、動画、音声などのメディアを同期させながら表示させる方法を記述するための規格として、ＳＭＩＬ（Synchronized Multimedia Integration Language、非特許文献１）が挙げられる。ＳＭＩＬは、「リアルネットワークス社（登録商標）」で開発したシステム（非特許文献２）を使うことにより、動画や音声、「マクロメディア社（登録商標）」が開発したシステム（非特許文献３）や画像ファイルなどを組み合わせて、観光案内や企業案内を支援するプレゼンテーションツールとして用いられている。
【非特許文献１】http://www.w3.org/TR/smil20/
【非特許文献２】http://www.jp.real.com/
【非特許文献３】http://www.macromedia.com/jp/software/flash/
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記従来技術では、観光案内や企業案内などの定型業務、聴講による教育といった分野で威力を発揮する。一方、ネットワーク経由で会議をした場合や遠隔授業などでホワイトボードに書いたものと会議や授業の映像とを同期再生させることはできない。
【０００４】
同期再生させるためには、実際の会議や授業で使ったホワイトボードの描画結果を、アニメーションを実現できるフォーマットに作り替える作業が必要となる。
【０００５】
本発明の目的は、会議中あるいは授業でホワイトボード上で行なわれた操作を再現するとともに、映像との同期再生も実現するホワイトボード履歴再現方法と共有ホワイトボードシステムを提供することである。
【課題を解決するための手段】
【０００６】
ネットワークを介して映像配信技術を用いて行う会議として、パソコンで動作するビデオ会議ソフトを使う、あるいは市販されているＴＶ会議システムを使って実現するなど、いくつか方法が考えられる。ネットワーク経由で接続している人が書き込み／編集ができるホワイトボードをコンピュータ上で実現し、ＴＶ会議と併用して会議の議論を進める目的で使用する。
【０００７】
本発明者らは、今までホワイトボード（特開２００１−１６６７５６号公報、特開２００１−２２８８４２号公報、特開２００１−２２８８４３号公報）を開発してきた。これらホワイトボードでは、そこに書かれた図形や文字列（以下、オブジェクトと略す）は、例えば次の情報を持っている。
・オブジェクト識別子
・オブジェクトの種類
・座標値
・色情報
・オブジェクトを作成した利用者の識別子
・オブジェクトが作成された日時
・オブジェクトを修正した利用者の識別子
・オブジェクトが修正された日時
これらの情報をＸＭＬ（Extensible Markup Language, http://www.w3.org/XML/）などのマークアップ言語を用いて保存する。これは、オブジェクトがホワイトボードに書かれた順に記録されるため、履歴として保存することと同等である。また、ホワイトボードの書き込みを開始した時刻を用いることにより、オブジェクトが作成された、あるいは修正された相対時間も履歴として保存することが可能である。さらに、書き込みを終了した時刻を用いることにより、ホワイトボードの使用時間も履歴として保存することができる。
【０００８】
スナップショットとは、利用者が履歴を保存したときに、ホワイトボードに書き込みがされていた状態を保存したファイルを指す。再生するときは、最初にスナップショットを読み込み、クライアントに表示させる。次に、履歴として保存したファイルから、オブジェクトが作成された時間もしくはオブジェクトが修正された時間を読み出し、記録開始時刻との差分を計算する。あるいは、相対時間を読み出すことにすれば、差分の計算が不要となる。クライアントのタイマーの機能を使って当該経過時間になった時点で、スナップショットの書き換えを実行する。
【０００９】
また、履歴として保存したファイルからホワイトボード上での操作が発生した時間を記憶しておく。動画を再生しながら、該当時間が来た時にはスナップショットの書き換えを実施すれば、動画と同期を取ることができる。
【発明の効果】
【００１０】
以上説明したように、本発明によれば、クライアントもしくはサーバに、ホワイトボードに書いたもののスナップショットと履歴をファイルとして保存したものを用いて、会議あるいは遠隔授業でホワイトボード上の作業を再現する機能を実現することが可能となる。ホワイトボード上で共有したファイルは、ネットワーク接続することによりクライアントもしくはサーバに蓄積された履歴ファイルに基づき、履歴再生で表示することも可能であるし、あるいはクライアントの端末に格納することによって、ネットワークに接続していない状態でも履歴再生で表示することが可能となる。また、映像を再生するときの時間情報にあわせて、履歴ファイルに保存されている時間情報を用いてオブジェクト操作を実行することにより、映像との同期再生も実現することが可能となる。利用者情報を用いる
ことにより、履歴を再生するときに特定の利用者が書いたオブジェクトを強調表示することが可能となる。さらに、オブジェクトの書かれた時間間隔を利用して、再生速度を可変にすることが可能となる。
【発明を実施するための最良の形態】
【００１１】
次に、本発明の実施の形態について図面を参照して説明する。
【００１２】
図１は本発明の一実施形態の共有ホワイトボードシステムの構成図である。
【００１３】
本実施形態の共有ホワイトボードシステムはサーバ１とクライアント２とネットワーク３で構成されている。
【００１４】
サーバ１はデータ管理部１１とクライアント情報管理部１２と配信管理部１３と通信管理部１４を有している。データ管理部１１はデータを管理している。クライアント情報管理部１２は利用者がどのクライアントからサーバ１に接続しているのかを管理している。配信管理部１３はサーバ１から、接続されているクライアントにデータを配信するかどうかを管理する。通信管理部１４はクライアント２との通信を管理する。
【００１５】
クライアント２は通信管理部２１とデータ管理部２２とデータ表示制御部２３とデータ表示部２４を有している。通信管理部２１はサーバ１との通信を管理する。データ管理部２２はホワイトボードに書き込む情報を履歴として保存する処理を行う。データ表示部２４はサーバ１から送られてきたオブジェクトのデータを表示する。データ表示制御部２３はデータ表示部２４のデータの表示を制御する。
【００１６】
ネットワーク３はサーバ１とクライアント２を接続する、公衆通信網、インターネット等である。
【００１７】
図２は、クライアントのデータ管理部２２における履歴保存処理を示したフローチャートである。ホワイトボードに書き込む情報を履歴として保存したい場合には、最初に、該当するホワイトボードのスナップショットをファイルに保存する（ステップ１０１）。その後、ホワイトボード上でオブジェクトを作成／編集／移動／削除したり、複数のオブジェクトをグループ化したり、グループ化されているオブジェクトをグループ解除したり、オブジェクトの上下順序を入れ替えたり、ホワイトボード上のある領域を拡大表示したり、もしくは縮小表示したり、あるいはドラッグアンドドロップにより同じホワイトボードを共有しているクライアントにファイルを共有するなどの操作を行う（ステップ１０２）。
【００１８】
オブジェクトが新規に作成された場合は、オブジェクトの種類、線分ならば座標値列、円ならば中心の座標値および半径の長さといったオブジェクトを描画する時に必要となる情報、線の太さや色、塗りつぶしの度合いといった属性情報が保存される。座標値は、回転／平行移動／拡大／縮小を組み合わせることにより、移動先の座標値に変換することができる。これにより、オブジェクトが編集／移動された場合は、該当オブジェクトＩＤ、座標値変換情報、属性情報が保存される。オブジェクトが削除された場合は、該当オブジェクトＩＤ、削除情報が保存される。ホワイトボード上のある領域の拡大／縮小表示された場合は、拡大／縮小を実行する領域の中心の座標値とその倍率が保存される。ドラッグアンドドロップで共有したファイルの場合は、オブジェクトＩＤ、座標値、格納情報、属性情報が保存される。
【００１９】
ホワイトボードの書き込みが終了し、かつ履歴保存を終了する場合は（ステップ１０３）、操作履歴を操作の時間情報とともにファイルに保存して（ステップ１０４）、処理を終了する。ドラッグアンドドロップで共有したファイルは、サーバ１にあるデータベースに格納されるため、格納先の情報が履歴として保存されることになる。このため、履歴を再生するときには、ドラッグアンドドロップしたファイルについては格納情報を手がかりとして表示するため、クライアント２はサーバ１に接続している必要がある。サーバ１では、データ管理部１１に履歴が保存される。保存されるファイルがサーバ１にあるという違いだけであり、処理手順はクライアント２の処理手順と違いはない。
【００２０】
図３は、クライアント２がサーバ１に接続していない状態で履歴を再生できるようにするための処理を示すフローチャートである。履歴を保存するところまでは図２と同じ処理を行う（ステップ２０１〜２０３）。ドラッグアンドドロップで共有したファイルは、保存時にすべてクライアント２にダウンロードされ（ステップ２０４）、実体はある特定のディレクトリに格納される。操作履歴を操作の時間情報とともにファイルに保存する。そのとき、ドラッグアンドドロップで共有したファイルについては、サーバ１の格納先情報からクライアント２の格納ディレクトリの情報に書き換えを行い（ステップ２０５）、処理を終了する。
【００２１】
図４は、履歴として保存されたファイルの内容の例を表示した図である。履歴はＸＭＬとして保存するため、最初にＸＭＬであることを宣言したものが書き込まれ、次に文書の構造を定義したものが記述される。ページとは、コンピュータとネットワークを利用した共有ホワイトボード上で表示される複数の空間のことを指す。ホワイトボードは１枚以上のページから生成されるものである。ページごとに独立しており、また、ページは利用者全員に共有されるものである。レイヤとは、全体に共有すべき情報と、ある個人またはグループごとに必要な情報とを併用して画面に表示する際に用いられる共有データ空間のことを示す。ページには複数のレイヤが含まれるため、レイヤを重ね合わせたものがページに表示される。履歴に関する情報は、その後に記述される。図４に示す用語は、固定され
るものではない。ここではあくまでも例として用いている。
＜ＷＢＲＥＣＯＲＤ＞〜＜／ＷＢＲＥＣＯＲＤ＞で挟まれた記述が、履歴保存に関する全ての情報を表す。履歴として保存される情報として、初めに使用するスナップショットのファイル名を宣言する。
＜ｏｐｅｒａｔｉｏｎ＞〜＜／ｏｐｅｒａｔｉｏｎ＞で挟まれた記述が、ホワイトボード上でのオブジェクトの操作内容を表したものである。以下に、内容の概略を示す。
"ｅｌａｐｓｅｄ＿ｔｉｍｅ"：履歴を保存しはじめてからの経過時間
"ｗｈｉｔｅｂｏａｒｄ  ｉｄ"：オブジェクトが操作されたホワイトボードに関する情報
"ｐａｇｅ  ｉｄ"：オブジェクトが操作されたホワイトボードにおけるページに関する情報
"ｌａｙｅｒ  ｉｄ"：オブジェクトが操作されたホワイトボードのページにおけるレイヤに関する情報
"ｏｂｊｅｃｔ  ｉｄ"：実際に操作されたオブジェクトに関する情報で、ｔｉｍｅ＝"ｈｈ1：ｍｍ1：ｓｓ1"が操作の時間を示す。
"ｐｒｏｐｅｒｔｉｅｓ"："ｌａｙｅｒ  ｉｄ"で指定された場合は、拡大／縮小を実行する領域の中心の座標値とその倍率の情報が、"ｏｂｊｅｃｔ  ｉｄ"で指定された場合は、該当オブジェクトの、経過時間における属性情報オブジェクトの状態、色や線の太さなど、様々な情報が格納される。
オブジェクトの操作が行われるごとに、＜ｏｐｅｒａｔｉｏｎ＞〜＜／ｏｐｅｒ
ａｔｉｏｎ＞がファイルに追加されている。
履歴保存を終了するときに、ファイルに＜／ＷＢＲＥＣＯＲＤ＞が書き込まれて履歴ファイルが保存される。
【００２２】
なお、ホワイトボードが１つのページを有し、かつレイヤを有している場合、レイヤだけが切り替わったときは、＜ｌａｙｅｒ  ｉｄ＞が直前のものと違う値が設定され、かつ＜ｏｂｊｅｃｔ  ｉｄ＝．．．＞〜＜／ｏｂｊｅｃｔ＞がない状態で履歴ファイルに格納される。この情報を用いることにより、２つのファイル（スナップショットのファイルと履歴ファイル）を用いてホワイトボードに書いた状態をレイヤ切り替えまで含めて再現できる。ホワイトボードが複数ページを有し、かつ複数のレイヤを有している場合は、レイヤだけが切り替わった時は、＜ｌａｙｅｒ  ｉｄ＞が直前のものと違う値が設定され、かつ＜ｏｂｊｅｃｔ  ｉｄ＝．．．＞〜＜／ｏｂｊｅｃｔ＞がない状態で履歴ファイルに格納される。ページが切り替わった時は、＜ｐａｇｅ  ｉｄ＞が直前のものと違う値が設定
され、かつ＜ｏｂｊｅｃｔ  ｉｄ＝．．．＞〜＜／ｏｂｊｅｃｔ＞がない状態で履歴ファイルに格納される。これらの情報を用いることにより、２つのファイルを用いてホワイトボードに書いた状態をページかつレイヤ切り替えまで含めて再現する。
【００２３】
図５は履歴を再生するための前処理を示すフローチャートである。再生するときには、初めに履歴ファイルとスナップショットを読み込む（ステップ３０１，３０２）。スナップショットから、全てのページやレイヤに書き込まれているオブジェクトのＩＤや属性情報を読み出す（ステップ３０３）。また、履歴ファイルから、この履歴にかかった総時間の情報や、ホワイトボード、ページ、レイヤに関する情報を取り出し、変数に設定する。
【００２４】
図６は履歴を再生するときの処理のフローチャートである。＜ｏｐｅｒａｔｉｏｎ＞に書かれている時間情報を元に、履歴保存開始から、オブジェクトへの操作が行われた相対時間を求める。次に、＜ｏｂｊｅｃｔ  ｉｄ＞から、実際に操作したオブジェクトの情報を設定する。＜ｐｒｏｐｅｒｔｉｅｓ＞から、このオブジェクトの属性を読み出す。＜ｏｐｅｒａｔｉｏｎ＞が表示されるまでに同じオブジェクトＩＤをもつものがあれば、＜ｏｐｅｒａｔｉｏｎ＞〜＜／ｏｐｅｒａｔｉｏｎ＞の間に指定された情報に基づき、現在表示しているものに変更情報を加えたオブジェクトを描画する。これを繰り返すことにより、ホワイトボード上でオブジェクトを操作した内容を再現することが可能となる。
【００２５】
再生するにあたり、倍速を設定することも可能である。ｎ倍に設定された場合は、再生時間が履歴ファイルに書かれている経過時間（ｅｌａｐｓｅｄ＿ｔｉｍｅ）をｎで割った値になったときにオブジェクトの操作を実行すれば目的は達せられる。同様にして、１／ｎ倍の設定がされた場合も実現できる。利用者によって、途中で再生を止めることもできる。そのときは、再生時間を０にし、画面に表示するものはスナップショットが読み込まれた状態に戻せばよい。一時停止の場合は、再生時間を一時停止が指示された時間のまま保持する。再生が実行された場合は、保持された値に実行開始時間を加えて処理を続ける。停止が実行された場合は、再生時間を０にし初期状態に戻す。
【００２６】
また、ホワイトボードを使用して会議や遠隔授業を行っている映像とあわせて表示させる場合には、映像の再生時間にあわせて、ホワイトボードの履歴ファイルから情報を読み込み、オブジェクトの操作を実行し、その結果を画面に表示することで、同期再生を実現することが可能となる。
【００２７】
図７は履歴情報再生イメージ、図８は参加者リストで特定の人を選択した場合の履歴情報再生イメージを示したものである。オブジェクトには、オブジェクトを作成した利用者の情報、オブジェクトを修正した利用者の情報が付与される。履歴を再生する際に、オブジェクトに付与された利用者情報から参加者のリストを作成することが可能である。ある特定の参加者をチェックすると、利用者情報から該当するオブジェクトを選び、選択されていない参加者が作成したもしくは修正したオブジェクトとは表示方法を変えることが可能となる。表示方法は、例えば図８にあるように、オブジェクトをアウトライン表示にする方法、あるいは点滅にする、色を変えるといった方法が考えられる。
【００２８】
図９は履歴保存の時間経過を図で示したものである。実現方法の一例を説明する。ｏiは、書かれたオブジェクトを示す。ｔiは、オブジェクトｏi-1からオブジェクトｏiが書かれるまでにかかった時間を示す。履歴保存にかかった時間をＴallとする。ある一定時間をｔlimとし、ｔiがｔlimよりも大きい場合は、ｏi-1とｏiは連続して描画されていないオブジェクトであると判断する。図９では、ｔ2とｔk-1がｔlimよりも超えているとする。このとき、ｏ3からｏk-1までをひとかたまりとして扱い、Ｏ[3,k-1]とする。時間はＴ[3,k-2]で表す。それを表したのが図１０である。このとき、Ｔ[0,1]＋Ｔ[2,k-2]＋．．．＋Ｔ[#,n-1]をＳで表すと、Ｓ＜Ｔallとなる。ｔlimを超えた範囲を全てｔlimで置き換え、かつＴ[1,m]をＴＳ[1,m]＝Ｔall×Ｔ[1,m]／Ｓで置き換えたものが図１１である。これを適用することにより、可変速度で履歴を再生することが可能となる。また、上記の機能をすべて組み合わせて履歴再生することも可能となる。再生速度は、履歴再生するときに可変モードにするか倍速モードにするかを選択するようにすればよい。
【００２９】
なお、クライアント２の機能は専用のハードウェアにより実現されるもの以外に、その機能を実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するものであってもよい。コンピュータ読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ等の記録媒体、コンピュータシステムに内蔵されるハードディスク装置等の記憶装置を指す。さらに、コンピュータ読み取り可能な記録媒体は、インターネットを介してプログラムを送信する場合のように、短時間の間、動的にプログラムを保持するもの（伝送媒体もしくは伝送波）、その場合のサーバとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含む。
【図面の簡単な説明】
【００３０】
【図１】本発明の一実施形態の共有ホワイトボードシステムの構成図である。
【図２】クライアント２のデータ管理部２２における履歴保存処理のフローチャートである。
【図３】クライアント２がサーバ１に接続していない状態で履歴を再生できるようにするための処理のフローチャートである。
【図４】履歴ファイルの内容を示した図である。
【図５】履歴を再生するための前処理のフローチャートである。
【図６】履歴を再生するための処理のフローチャートである。
【図７】履歴情報再生イメージを示した図である。
【図８】参加者リストで特定の人を選択した場合の履歴情報再生イメージを示した図である。
【図９】履歴保存の時間経過を示した図である。
【図１０】履歴保存の時間経過を取りまとめたものを示した図である。
【図１１】履歴保存の時間経過を可変にした結果を示した図である。
【符号の説明】
【００３１】
１    サーバ
２    クライアント
３    ネットワーク
１１    データ管理部
１２    クライアント情報管理部
１３    配信管理部
１４    通信管理部
２１    通信管理部
２２    データ管理部
２３    データ表示制御部
２４    データ表示部
１０１〜１０４，２０１〜２０５，３０１〜３１３    ステップ
【図１】
2007066315.tif 000003
【図２】
2007066315.tif 000004
【図３】
2007066315.tif 000005
【図４】
2007066315.tif 000006
【図５】
2007066315.tif 000007
【図６】
2007066315.tif 000008
【図７】
2007066315.tif 000009
【図８】
2007066315.tif 000010
【図９】
2007066315.tif 000011
【図１０】
2007066315.tif 000012
【図１１】
2007066315.tif 000013