JPWO2016024329A1 - 手書き情報を共有するためのシステムおよび方法 - Google Patents

手書き情報を共有するためのシステムおよび方法 Download PDF

Info

Publication number
JPWO2016024329A1
JPWO2016024329A1 JP2016542462A JP2016542462A JPWO2016024329A1 JP WO2016024329 A1 JPWO2016024329 A1 JP WO2016024329A1 JP 2016542462 A JP2016542462 A JP 2016542462A JP 2016542462 A JP2016542462 A JP 2016542462A JP WO2016024329 A1 JPWO2016024329 A1 JP WO2016024329A1
Authority
JP
Japan
Prior art keywords
electronic device
point data
handwriting
time
stroke
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016542462A
Other languages
English (en)
Other versions
JP6235723B2 (ja
Inventor
山口 達夫
達夫 山口
俊之 山上
俊之 山上
池田 彰吾
彰吾 池田
友樹 神戸
友樹 神戸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Publication of JPWO2016024329A1 publication Critical patent/JPWO2016024329A1/ja
Application granted granted Critical
Publication of JP6235723B2 publication Critical patent/JP6235723B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

実施形態によれば、システムは、第1の電子機器において手書き入力されるストロークに対応する複数の点データを前記第1の電子機器から受信する。前記複数の点データは、前記ストロークが手書き入力されている間に、前記第1の電子機器から時系列順に順次送信される。前記システムは、前記複数の点データを、タイムスタンプと共に記憶媒体に格納する。第3の電子機器がサービスに途中からログインした場合、前記システムは、前記記憶媒体に格納されている複数の第1点データを、前記複数の第1点データにそれぞれ対応するタイムスタンプに基づくタイミングで、前記第3の電子機器に時系列順に順次送信する。

Description

ここに記載される実施形態は、手書き情報を共有するための技術に関する。
近年、タブレット、PDA、スマートフォンといった種々の電子機器が開発されている。この種の電子機器の多くは、ユーザによる入力操作を容易にするために、タッチスクリーンディスプレイを備えている。
また最近では、手書き情報を共有するための技術も開発されている。手書き情報を共有する技術は、会議のようなビジネスシーンでの利用に有用である。
特開2014−44471号公報
しかし、従来では、別の電子機器からの手書き情報を違和感なくユーザに提示するための技術については考慮されていないのが現状である。
本発明の一形態の目的は、手書き情報を違和感なくユーザに提示することができるシステムおよび方法を提供することである。
実施形態によれば、システムは、受信手段と、処理手段と、送信手段とを具備する。前記受信手段は、手書き情報を共有可能なサービスにログインしている第1の電子機器において手書き入力されるストロークに対応する複数の点データを前記第1の電子機器から受信する。前記複数の点データは、前記ストロークが手書き入力されている間に、前記第1の電子機器から時系列順に順次送信される。前記処理手段は、前記複数の点データを、前記複数の点データの入力時刻または受信時刻をそれぞれ示すタイムスタンプと共に、記憶媒体に格納するための処理を実行する。前記送信手段は、前記サービスにログインしている第2の電子機器に前記複数の点データを時系列順に順次送信する。第3の電子機器が前記サービスに途中からログインした場合、前記処理手段は、前記第3の電子機器のログイン前に前記記憶媒体に格納された複数の第1点データを、前記複数の第1点データにそれぞれ対応するタイムスタンプに基づくタイミングで、前記第3の電子機器に時系列順に順次送信するための処理を実行する。
図1は実施形態に係る電子機器の外観を示す例示的な斜視図である。 図2は手書き共有サービスを利用する電子機器間の接続を示す例示的な図である。 図3は図1の電子機器(手書きコラボレーションサーバシステム)と他の各電子機器との間のデータの流れの概要を説明するための例示的な図である。 図4は複数の電子機器間で手書き情報を共有する画面(カンバス)を示す例示的な図である。 図5は図1の電子機器のタッチスクリーンディスプレイ上に手書きされる手書き文書を示す例示的な図である。 図6は手書き共有サービスに別のユーザが途中から参加した時に実行されるべき処理を説明するための例示的な図である。 図7は図1の電子機器と他の各電子機器との間の手書きデータの流れを説明するための例示的な図である。 図8はストロークの手書き入力中に複数の点データが一ずつ送信される様子を示す例示的な図である。 図9はカンバス上に描画される手書きデータの例を示す例示的な図である。 図10は図1の電子機器のデータベースに格納される手書きデータを示す例示的な図である。 図11は図1の電子機器のデータベースのデータ構造を示す例示的な図である。 図12はデータベースに格納された複数の点データが2倍速でリプレイされる様子を示す例示的な図である。 図13は受信レートに対する送信レートの倍率を決定する処理を示す例示的な図である。 図14は図1の電子機器の構成を示す例示的なブロック図である。 図15は図1の電子機器によって実行される手書き共有アプリケーションプログラムの構成を示す例示的なブロック図である。 図16は図1の電子機器によって実行される手書きデータ配信処理の手順を示す例示的なフローチャートである。 図17は図1の電子機器によって実行される点データ保存処理の手順を示す例示的なフローチャートである。 図18は図1の電子機器によって実行されるリプレイ処理の手順を示す例示的なフローチャートである。 図19は図1の電子機器によって実行される、リプレイのための点データ送信処理の手順を示す例示的なフローチャートである。 図20は各参加者の機器によって実行される処理の手順を示す例示的なフローチャートである。 図21はカンバス上に表示されるメニューを説明するための例示的な図である。 図22はカンバス上に表示されるタイムラインを説明するための例示的な図である。 図23はロークバック処理を説明するための例示的な図である。
以下、実施の形態について図面を参照して説明する。
図1は、一実施形態に係る電子機器の外観を示す斜視図である。この電子機器は、例えば、ペン(スタイラス)または指を使用した手書き入力を実行することが可能なペン・ベースの携帯型電子機器である。この電子機器は、タブレットコンピュータ、ノートブック型パーソナルコンピュータ、スマートフォン、PDA等として実現され得る。以下では、この電子機器がタブレットコンピュータ10として実現されている場合を想定する。タブレットコンピュータ10は、タブレットまたはスレートコンピュータとも称される携帯型電子機器である。タブレットコンピュータ10は、図1に示すように、本体11とタッチスクリーンディスプレイ17とを備える。タッチスクリーンディスプレイ17は、本体11の上面に重ね合わされるように取り付けられている。
本体11は、薄い箱形の筐体を有している。タッチスクリーンディスプレイ17には、フラットパネルディスプレイと、センサとが組み込まれている。センサは、ペンまたは指と接触されるフラットパネルディスプレイの画面上の位置(接触位置)を検出する。フラットパネルディスプレイは、例えば、液晶表示装置(LCD)であってもよい。センサとしては、例えば、静電容量方式のタッチパネル、電磁誘導方式のデジタイザなどを使用することができる。以下では、デジタイザとタッチパネルの2種類のセンサの双方がタッチスクリーンディスプレイ17に組み込まれている場合を想定する。
このタッチスクリーンディスプレイ17は、指と接触される画面上の位置を検出することができ、またペンと接触される画面上の位置を検出することもできる。ペン100は例えば電磁誘導ペン(デジタイザペン)であってもよい。ユーザは、ペン100を使用してタッチスクリーンディスプレイ17の画面上に文字等を書くことができる。この手書き入力操作中においては、画面上のペン100の動きの軌跡、つまり手書き入力されるストロークが、リアルタイムに画面上に描画される。ペン100が画面に接触されている間のペン100の動きの軌跡が1ストロークに相当する。手書き入力された文字または図形などに対応する多数のストロークの集合が手書き文書を構成する。
一つのストロークは、このストローク上の複数の点それぞれに対応する複数の点データの集合によって表現される。各点データは、対応する点の座標(X座標、Y座標)を示す。
さらに、タブレットコンピュータ10は、手書きコラボレーション機能を有している。この手書きコラボレーション機能は、手書き情報を複数の電子機器間で共有することが可能な手書き共有サービスを実行する。手書き共有サービスは、各電子機器のユーザが、共有される手書き情報を閲覧すること、他の電子機器のユーザとの協同作業によって手書き情報を編集することを可能にする。
この手書き共有サービスは、このサービスに参加(ログイン)している電子機器において手書き入力される手書きデータを、このサービスに参加(ログイン)している他の各電子機器にリアルタイムに配信する。これによって、これら電子機器の表示画面に表示される手書き文書の内容を同期させることができる。異なるユーザによって手書き入力されたストロークは、異なる形態(例えば、異なる色、異なるペン種、等)で表示されてもよい。
手書き共有サービスは、複数人のグループによって利用される。手書き共有サービスを利用する複数人のグループは、一人のグループオーナ(主催者)と、一人以上の参加者とを含んでも良い。
図2は、手書き共有サービスを利用する電子機器間の接続例を示す。
電子機器10Aは、ユーザAによって使用されるタブレットコンピュータである。電子機器10Bは、ユーザBによって使用されるタブレットコンピュータである。電子機器10Cは、ユーザCによって使用されるタブレットコンピュータである。これら電子機器10A、10B、10Cの各々は、本実施形態のタブレットコンピュータ10と同等の手書きコラボレーション機能を有している。
電子機器10A、10B、10Cは有線ネットワークまたは無線ネットワークを介して互いに接続される。以下では、電子機器10A、10B、10Cが無線ネットワークを介して互いに接続される場合を想定する。電子機器10A、10B、10Cを互いに無線接続するための方法としては、複数の機器を互いに無線接続することが可能な任意の無線接続規格を使用し得る。例えば、Bluetooth(登録商標)、またはWi−Fi Direct(登録商標)、等が使用されてもよい。
電子機器10A、10B、10Cのいずれか1つは、手書き共有サービスを管理するように構成されたサーバ(手書きコラボレーションサーバシステム)として機能することができる。グループオーナの電子機器が、サーバ(手書きコラボレーションサーバシステム)の役割をしてもよい。グループオーナは手書き共有サービスの主催者に相当する。
このサーバ(手書きコラボレーションサーバシステム)は、手書き共有サービスへの参加を要求している各電子機器が手書き共有サービス(グループ)に参加すること、つまり手書きコラボレーションサーバシステム(手書き共有サービス)にログインすること、を許可するか否かを決定してもよい。手書きコラボレーションサーバシステムから参加(ログイン)の許可を受け取った機器だけが、手書き共有サービスにログインすること、つまりこのグループに参加することが許可されても良い。
ここで、各機器が手書きコラボレーションサーバシステム(手書き共有サービス)へログインする方法としては、この機器自体のID(アカウント)を使用して手書き共有サービスにログインする方法を使用してもよい。あるいは、この機器を使用するユーザのID(アカウント)を使用して手書き共有サービスにログインする方法を使用してもよい。つまり、手書き共有サービスに対するログインおよびログアウトは、電子機器自体のID(アカウント)を使用したログインおよびログアウト、またはユーザのID(アカウント)を使用したログインおよびログアウトのどちらであってもよい。
いま、電子機器10A、10B、10Cが手書き共有サービスにログインしている状態である場合、つまり電子機器10A、10B、10Cが同じ手書き共有サービスに参加している場合を想定する。電子機器10A、10B、10Cの各々においては、共有される手書き情報を見るための手書き共有画面(カンバス)が表示される。手書き共有画面(カンバス)は電子機器10A、10B、10Cに共通の表示エリアとして使用される。この手書き共有画面(カンバス)は、電子機器10A、10B、10C間のビジュアル通信を可能にする。ビジュアル通信は、手書き情報、および他の様々な電子文書を機器間で交換することを可能にする。
ユーザA,B,Cの各々が自身の電子機器において手書き入力した手書きデータは、自身の電子機器の手書き共有画面(カンバス)に表示されるだけでなく、他の各ユーザの電子機器の手書き共有画面(カンバス)にもリアルタイムに反映される。この結果、ユーザA,B,Cの各々が手書き入力した情報(手書き文字、手書き図形等)をユーザA,B,C間で交換・共有することができる。
さらに、電子機器10A、10B、10Cは、会議資料のような同じコンテンツをカンバス上に表示することもできる。この場合、各電子機器において手書き入力される手書きデータは、このコンテンツ上に表示される。ユーザA,B,Cは、同じコンテンツを見ながら、このコンテンツ上に手書きされる手書き文字、手書き図形等をユーザA,B,C間で交換・共有することができる。
図3は、手書きコラボレーションサーバシステムと各電子機器との間のデータの流れを示す。
図3では、電子機器10Aが、手書きコラボレーションサーバシステムとして動作する場合が想定されている。つまり、電子機器10AのユーザAがグループオーナであり、電子機器10BのユーザBが参加者(参加者1)であり、電子機器10CのユーザCが別の参加者(参加者2)である。
手書きコラボレーションサーバシステム(電子機器10A)は、電子機器10Bにおいて手書き入力される手書きデータを電子機器10Bから受信する。また、手書きコラボレーションサーバシステム(電子機器10A)は、電子機器10Cにおいて手書き入力される手書きデータを電子機器10Cから受信する。
さらに、手書きコラボレーションサーバシステム(電子機器10A)は、電子機器10Aにおいて手書き入力される手書きデータと電子機器10Cから受信された手書きデータとを電子機器10Bに送信する。またさらに、手書きコラボレーションサーバシステム(電子機器10A)は、電子機器10Aにおいて手書きに入力される手書きデータと電子機器10Bから受信された手書きデータとを電子機器10Cに送信する。
したがって、電子機器10Aのディスプレイにおいては、グループオーナの手書きデータが表示されるだけでなく、参加者1の手書きデータ、さらには参加者2の手書きデータも表示される。
同様にして、電子機器10Bのディスプレイにおいても、参加者1の手書きデータが表示されるだけでなく、グループオーナの手書きデータ、さらには参加者2の手書きデータも表示される。
また同様に、電子機器10Cのディスプレイにおいても、参加者2の手書きデータが表示されるだけでなく、グループオーナの手書きデータ、さらには参加者1の手書きデータも表示される。
電子機器10Aは、各電子機器において手書き入力される手書きデータをデータベース12に格納する。このデータベース12は、共同作業によって作成および編集される手書き情報を管理するために使用される。
図4は、手書き共有画面(カンバス)の例を示している。各電子機器のカンバス30Aにおいては、手書き入力可能な透明のレイヤ(手書きレイヤ)30Bが設定される。この手書きレイヤ30B上に、各ユーザの手書きデータが表示される。
電子機器10Bに関しては、この電子機器10Bのカンバス30Aにおいては、カンバス30A上でペン100Bを使用して参加者1によって手書き入力される手書きデータ40が表示される。さらに、カンバス30A上においては、他の各電子機器において手書き入力される手書きデータが表示される。他の各電子機器において手書き入力される手書きデータには、参加者2の電子機器10Cにおいて手書き入力された手書きデータ42と、グループオーナの電子機器10Aにおいて手書き入力された手書きデータ44とが含まれる。
次に、図5を参照して、ストロークと点データについて説明する。
図5においては、「ABC」の手書き文字列が「A」、「B」、「C」の順番で手書きされた場合が想定されている。
手書き文字「A」は、ペン100などを使用して手書きされる2つのストローク(「∧」形状の軌跡、「−」形状の軌跡)によって表現される。
ペン100が移動している間に、「∧」形状のペン100の軌跡がリアルタイムにサンプリングされる。これによって、「∧」形状のペン100の軌跡上の複数の点それぞれに対応する複数の点データ(複数の座標データ)PD11、PD12、…PD1mが次々と得られる。例えば、画面上のペン100の位置が所定量移動する度に、新たな位置を示す点データが得られてもよい。図5においては、図示の簡単化のために点データの密度が粗く描かれているが、実際には、より高い密度で複数の点データが得られる。これら点データPD11、PD12、…PD1mは、「∧」形状のペン100の軌跡を画面上に描画するために使用される。ペン100の動きに追従するように、「∧」形状のペン100の軌跡がリアルタイムに画面上に描画される。
同様に、「−」形状のペン100の軌跡も、ペン100が移動している間に、リアルタイムにサンプリングされる。これによって「−」形状のペン100の軌跡上の複数の点それぞれに対応する複数の点データ(複数の座標データ)PD21、PD22、…PD2nが次々と得られる。
手書き文字「B」は、ペン100などを使用して手書きされた2つのストロークによって表現される。手書き文字「C」は、ペン100などを使用して手書きされた1つのストロークによって表現される。
次に、図6を参照して、手書き情報共有サービスのためのデータの流れについて説明する。
図6では、グループオーナ(電子機器10A)、参加者1(電子機器10B)、参加者2(電子機器10C)の3人のグループで議論を行う場合が想定されている。グループオーナ、参加者1、参加者2は、自身の電子機器10A、10B、10Cを持って会議室に集合しても良い。そして、グループオーナ、参加者1、参加者2は、自身の電子機器のカンバスを見ながら、あるいはカンバス上に手書きしながら、議論を行うことができる。
(1)3人のグループで手書きによる議論
参加者1によって電子機器10Bのカンバス上に手書き入力された手書きデータ(手書き文字、手書き図形等)は、電子機器10Aに送信される。さらに、参加者1の手書きデータは、電子機器10Aによって、電子機器10Cに転送される。よって、参加者1の手書きデータは、電子機器10B、電子機器10A、電子機器10Cの各々のカンバス上に表示される。
同様にして、参加者2によって電子機器10Cのカンバス上に手書き入力された手書きデータも、電子機器10Aに送信され、さらに、電子機器10Aによって電子機器10Bに転送される。よって、参加者2の手書きデータは、電子機器10B、電子機器10A、電子機器10Cの各々のカンバス上に表示される。
さらに、グループオーナによって電子機器10Aのカンバス上に手書き入力された手書きデータは、電子機器10Bおよび電子機器10Cに送信される。よって、グループオーナの手書き情報も、電子機器10A、電子機器10B、電子機器10Cの各々のカンバス上に表示される。
このようにして、3人のグループは、これら3人の手書きが反映されるカンバスの内容を見ながら、議論(会議)を行うことができる。
(2)議論中のグループに参加依頼
手書き情報共有サービスが開始された後に、別のユーザ(参加者3)の電子機器10Dが、この手書き情報共有サービスへの参加(ログイン)を要求するかもしれない。このような状況は、例えば、参加者3が後から会議室に到着して、既に開始されている議論に加わるような場合に発生し得る。
(3)この参加(ログイン)の要求を受信したグループオーナ(電子機器10A)は、参加者3がこの手書き情報共有サービスのグループに参加(ログイン)することを許可することができる。この場合、電子機器10Aは、現在の手書き情報の内容(これまでの議論の内容)を電子機器10Dに送信してもよい。
(4)この結果、電子機器10Dは、現在の手書き情報の内容を電子機器10Dのカンバス上に描画することができる。
(5)しかし、現在の手書き情報の内容をみただけでは、参加者3は、これまでの議論の経過、つまりどの様な経緯を辿って現在の手書き情報が構築されたかを、把握できない可能性がある。
そこで、本実施形態の手書きコラボレーション機能は、手書き情報共有サービスに途中から参加した参加者に、現在の手書き情報がどのような経緯を辿って構築されたかを分かりやすく提示するための新たな機能を備えている。
以下、この新たな機能の概要について説明する。
ある電子機器において手書き入力された手書きデータを別の電子機器に送信するための方法としては、一つのストロークが手書き入力される度にそのストロークのデータ(ストロークデータ)全体を一度に送信するという方法を使用することができる。
しかし、この場合には、ストロークの手書き入力が完了するまでは、つまりペンが画面からリフトアップされることによってペンと画面との接触が解除されるまでは、ストロークデータは送信されない。したがって、例えば、ある電子機器において3つのストロークが順番に手書き入力された場合には、まず、最初のストロークの手書き入力が完了した後に、その最初のストローク全体の形状が別の電子機器のカンバス上に一度に表示される。そして、2番目のストロークの手書き入力が完了した後に、その2番目のストローク全体の形状が別の電子機器のカンバス上に一度に表示される。そして、3番目のストロークの手書き入力が完了した後に、その3番目のストローク全体の形状が別の電子機器のカンバス上に一度に表示される。
このように、別の電子機器のカンバス上においては、個々のストロークが書かれる様子(線が延びていく様子)は再現されず、手書き入力が完了した各ストロークの形状だけが一度に表示される。
一方、ストロークの手書き入力が実際に行われている電子機器においては、そのストロークが書かれる様子(線が延びていく様子)がリアルタイムに表示される。
本実施形態では、どの電子機器においてストロークが手書き入力された場合でも、そのストロークが書かれる様子を他の全ての電子機器のカンバス上において再現できるようにするために、手書きデータは、ストローク単位では無く、点データ単位で送信される。
手書きコラボレーションサーバシステム(電子機器10A)は、手書き情報共有サービスにログインしている電子機器(例えば、電子機器10B)において手書き入力されるストロークに対応する複数の点データを、電子機器10Bから受信する。これら複数の点データは、このストロークが手書き入力されている間に、電子機器10Bから手書きコラボレーションサーバシステム(電子機器10A)に時系列順に順次送信される。つまり、ストロークに対応する複数の点データが入力された順に、これら複数の点データが電子機器10Bから手書きコラボレーションサーバシステム(電子機器10A)に1つずつ転送される。
手書きコラボレーションサーバシステム(電子機器10A)は、これら複数の点データを、これら複数の点データの受信時刻をそれぞれ示すタイムスタンプと共に、データベース12に格納するための処理を実行する。各点データに対応するタイムスタンプは、その点データの入力時刻を示してもよい。この場合、電子機器10Bは、各点データをその点データが入力された入力時刻を示す時間情報と共に手書きコラボレーションサーバシステム(電子機器10A)に送信してもよい。
そして、手書きコラボレーションサーバシステム(電子機器10A)は、手書き情報共有サービスにログインしている別の電子機器(例えば、電子機器10C)に、これら複数の点データを時系列順に順次送信する。この場合、手書きコラボレーションサーバシステム(電子機器10A)は、一つの点データが電子機器10Aから受信される度に、この受信された点データを電子機器10Cに送信するという処理を実行してもよい。
電子機器10Cは、電子機器10Cの画面上で手書き入力が行われた場合と同様に、複数の点データを電子機器10Aから順番に受信することができる。電子機器10Cは、これら受信された複数の点データに基づいて、電子機器10Aにおいて手書き入力されたストロークに対応する軌跡を電子機器10Cのカンバス上にリアルタイムに描画することができる。このため、電子機器10Cのカンバス上においても、電子機器10Aにおいて手書き入力されたストロークが書かれる様子(線が延びていく様子)を再現することができる。
電子機器10Dが手書き情報共有サービスに途中からログインした場合、手書きコラボレーションサーバシステム(電子機器10A)は、電子機器10Dのログイン前にデータベース12に格納された全ての点データ(複数の第1点データ)を、これら複数の第1点データにそれぞれ対応するタイムスタンプに基づくタイミングで、電子機器10Dに時系列順に順次送信するための処理を実行する。
これにより、既に書かれた多数のストロークが、それらストロークの各々が書かれる様子がリプレイされるかのように電子機器10Dのカンバス上に表示される。よって、電子機器10Dのユーザ(途中参加者)は、どの様な経緯を辿って現在の手書き情報が構築されたかを、容易に把握することができる。
ある一つのストロークに関しては、電子機器10Dは、電子機器10Dの画面上で手書き入力が行われた場合と同様に、このストロークに対応する複数の点データを順番に受信することができる。電子機器10Dは、これら受信された複数の点データに基づいて、電子機器10Aにおいて手書き入力されたストロークに対応する軌跡を電子機器10Dのカンバス上にリアルタイムに描画することができる。よって、各ストロークが書かれる様子(線が延びていく様子)を再現することができる。
さらに、各ストロークに対応する複数の点データは、これら点データが書かれたタイミングに対応する送信タイミングで、電子機器10Dに順次送信される。このため、書かれたストローク(線)の速度も再現することが可能となる。
図7は、電子機器間の手書きデータの流れを示している。
図7では、図6と同様に、グループオーナ(電子機器10A)、参加者1(電子機器10B)、参加者2(電子機器10C)の3人のグループで議論を行う場合が想定されている。
(1)参加者1の電子機器10Bにおいてストロークが手書き入力される。このストロークは電子機器10Bのカンバス上にリアルタイムに表示される。つまり、電子機器10Bのカンバス上のペンの動きに追従するようにストローク(線)が描画される。
(2)上述したように、ストロークは、その始点から終点までの複数の点データ(複数の座標)の集合として表現される。
(3)このストロークのデータ(ストロークデータ)は、点データ単位でグループオーナ(電子機器10A)に送信される。この様子を図8に示す。図8に示されているように、電子機器10Bにおいては、ペン100Bによってストロークが手書き入力されている間に、このストロークに対応する複数の点データPD1、PD2、…、PD8が次々と得られる。そして、これら点データPD1、PD2、…、PD8はグループオーナ(電子機器10A)に一つずつ送信される。つまり、これら点データPD1、PD2、…、PD8はグループオーナ(電子機器10A)に時系列順に順次送信される。例えば、点データPD1が得られた時には、点データPD1に基づく描画処理が電子機器10Bによって実行され、さらに点データPD1をグループオーナ(電子機器10A)に送信する処理も電子機器10Bによって実行される。そして、次の点データPD2が得られた時には、点データPD2に基づく描画処理が電子機器10Bによって実行され、さらに点データPD2をグループオーナ(電子機器10A)に送信する処理も電子機器10Bによって実行される。
このようにして、ストロークが手書き入力されている間に、多数の点データが連続的にグループオーナ(電子機器10A)に送信される。各点データは、ストロークID、ユーザID(またはデバイスID)、点種別(始点/中点/終点)、ペン属性(ペン種、色、等)等と一緒に、グループオーナ(電子機器10A)に送信されてもよい。ストロークIDは、手書き入力されたストロークを識別可能な情報である。各電子機器は、乱数などを使用して複数桁のユニークIDを生成し、このユニークIDの値を、最初に手書き入力されたストロークを識別するためのストロークIDとして使用しても良い。2番目以降に手書きされたストロークについては、ユニークIDをインクリメントすることによって得られる値が、対応するストロークIDとして使用されてもよい良い。同一のストロークに対応する点データの各々には、同じストロークIDが与えられる。
(4)グループオーナ(電子機器10A)は、電子機器10Bから時系列順に順次送信される複数の点データを受信する。そして、グループオーナ(電子機器10A)は、これら複数の点データを、これら複数の点データの受信時刻(受信タイミング)または入力時刻(入力タイミング)をそれぞれ示すタイムスタンプと共に、データベース12に格納する。各タイムスタンプは、対応する点データがグループオーナ(電子機器10A)によって受信された時刻を示してもよいし、同一のストローク内の先頭の点データが受信された時点から対応する点データが受信される時点までの相対時間を示してもよい。あるいは、各タイムスタンプは、対応する点データが入力された時刻を示してもよいし、同一のストローク内の先頭の点データが入力された時点から対応する点データが入力される時点までの相対時間を示してもよい。
(5)グループオーナ(電子機器10A)は、電子機器10Bから受信された複数の点データを電子機器10Cに送信する。
この場合、これら複数の点データは、これら複数の点データに対応するタイムスタンプに基づくタイミングで、電子機器10Cに時系列順に順次送信されてもよい。これにより、複数の点データが受信された間隔と同じ間隔で、これら複数の点データを電子機器10Cに送信することができる。
送信される各点データには、ストロークID、ユーザID(またはデバイスID)、点種別(始点/中点/終点)、ペン属性(ペン種、色、等)等が付加される。
あるいは、グループオーナ(電子機器10A)が電子機器10Bから一つの点データを受信した時に、グループオーナ(電子機器10A)が、その点データを電子機器10Cに即座に送信しても良い。
さらに、グループオーナ(電子機器10A)は、電子機器10Bからの複数の点データに基づいて、電子機器10Aにおいて手書き入力されたストロークに対応する軌跡をグループオーナのカンバス上にリアルタイムに描画することもできる。
(6)電子機器10Dが手書き情報共有サービスに途中からログインした場合、グループオーナ(電子機器10A)は、これまでにデータベース12に格納された全ての点データを電子機器10Dに送信する。この場合、これら全ての点データは、これら全てのデータにそれぞれ対応するタイムスタンプに基づくタイミングで、電子機器10Dに時系列順に順次送信される。送信される各点データには、ストロークID、ユーザID(またはデバイスID)、点種別(始点/中点/終点)、ペン属性(ペン種、色、等)等が付加される。
これらの点データは、これら点データが受信されたレート(速度)よりも速いレート(速度)で、電子機器10Dに送信されても良い。これら点データが受信されたレート(速度)は、これら点データに対応するタイムスタンプによって得ることができる。ある基準時間当たりに受信された点データの数が多い密の期間の受信レートは高く、基準時間当たりに受信された点データの数が少ない粗の期間の受信レートは低い。
複数の点データを受信レートよりも速い送信レートで送信するための方法としては、複数の点データを、これら複数の点データ間の受信間隔よりも短い送信間隔で、送信するという方法を使用しても良い。これら複数の点データ間の受信間隔は、これら点データに対応するタイムスタンプによって容易に得ることができる。
例えば、これら点データ間の受信間隔の1/2の送信間隔でこれら点データを送信することにより、これら点データを、これら点データの受信レートの2倍の送信レートで、電子機器10Dに送信することができる。
図7の説明では、電子機器10Bにおいてストロークが手書き入力された場合に実行される処理について説明したが、電子機器10Cまたはグループオーナ(電子機器10A)においてストロークが手書き入力された場合も、同様の処理が実行される。
例えば、電子機器10Cにおいてストロークが手書き入力された場合には、このストロークに対応する複数の点データが点データ単位でグループオーナ(電子機器10A)に送信される。つまり、このストロークが手書き入力されている間に、これら複数の点データは時系列順に順次グループオーナ(電子機器10A)に送信される。そして、これら複数の点データがタイムスタンプと共にデータベース12に格納される。そして、これら複数の点データが点データ単位で電子機器10Bに送信される。
グループオーナ(電子機器10A)においてストロークが手書き入力された場合には、このストロークに対応する複数の点データがタイムスタンプと共にデータベース12に格納され、さらに、これら複数の点データが点データ単位で電子機器10Bおよび電子機器10Cに送信される。
次に、図9〜図11を参照して、各点データをデータベース12に格納する処理について説明する。
図9は、電子機器10Bのカンバスに表示される手書き情報の例を示す。図9では、ストローク50、ストローク52、ストローク53が、グループオーナ、参加者1、参加者2の3人のグループで共有されている場合が想定されている。
ストローク50は参加者1によって電子機器10Bにおいて手書き入力されたストロークである。ストローク52は参加者2によって電子機器10Cにおいて手書き入力されたストロークである。ストローク54はグループオーナによって電子機器10Aにおいて手書き入力されたストロークである。
図10はデータベース12に格納される手書きデータの例を示す。データベース12においては、ストローク50に対応する各点データがタイムスタンプと共に格納される。またストローク52に対応する各点データもタイムスタンプと共に格納され、さらに、ストローク54に対応する各点データもタイムスタンプと共に格納される。
図11はデータベース12のデータ構造を示す。
データベース12においては、例えば、ストローク管理テーブル121と点管理テーブル122とが構築される。
ストローク管理テーブル121は、複数のストロークに対応する複数の行(レコード)を含む。各レコードには、「ストロークID」フィールド、「始点時刻」フィールド、「ユーザID」フィールド、「ペン種」フィールド、「カラー」フィールド、等が定義されている。
点管理テーブル122は、複数の点データに対応する複数の行(レコード)を含む。各レコードには、「ストロークID」フィールド、「時刻」フィールド、「点種別」フィールド、「座標x」フィールド、「座標y」フィールド、等が定義されている。
電子機器10Aがあるストロークの始点に対応する点データを受信した時、電子機器10Aは、ストローク管理テーブル121に1レコードを追加し、その追加されたレコードに、ストロークIDを示す値、始点時刻を示す値、ユーザIDを示す値、ペン種を示す値、カラーを示す値を格納する。上述したように、受信される点データには、ストロークID、ユーザID、ペン種、カラーを示す追加情報が付加されている。よって、電子機器10Aは、この追加情報を使用して、ストロークIDを示す値、ユーザIDを示す値、ペン種を示す値、カラーを示す値を、レコードに格納することができる。始点時刻を示す値は、ストロークの始点に対応する点データの受信時刻(受信タイミング)を示すタイムスタンプである。このタイムスタンプとしては、点データが受信されたタイミングを識別可能な任意の値を使用することができる。例えば、このタイムスタンプは絶対時間であってもよいし、ある基準時間に対する相対時間であってもよい。
あるいは、始点時刻を示す値は、ストロークの始点に対応する点データの入力時刻を示すタイムスタンプであってもよい。このタイムスタンプとしては、点データが入力されたタイミングを識別可能な任意の値を使用することができる。
電子機器10Aがあるストロークの始点に対応する点データを受信した時、さらに、電子機器10Aは、点管理テーブル122に1レコードを追加し、その追加されたレコードに、ストロークIDを示す値、時刻(入力時刻または受信時刻)を示す値、点種別を示す値、座標xを示す値、座標yを示す値を格納する。上述したように、点データは座標xおよび座標yを示す情報だけでなく、ストロークID、点種別、を示す追加情報も含む。したがって、電子機器10Aは、この追加情報を使用して、ストロークIDを示す値、点種別を示す値をレコードに格納することができる。時刻を示す値は、この点データの入力時刻または受信時刻を示すタイムスタンプである。
電子機器10Aがあるストロークの2番目以降のある点データを受信した時、電子機器10Aは、点管理テーブル122に1レコードを追加して、その追加されたレコードに、ストロークIDを示す値、時刻(入力時刻または受信時刻)を示す値、点種別を示す値、座標xを示す値、座標yを示す値を格納する処理を実行する。
図11のデータベース12は、手書き共有サービスにログインしている全ての電子機器から参照可能な共有データであってもよい。この場合、各電子機器は、データベース12の内容に基づいて、カンバスに表示されている現在の手書き情報を、任意の時点の手書き情報にロールバックすることができる。
あるいは、図11のデータベース12の内容が各参加者の電子機器のローカルストレージにコピーされても良い。この場合でも、上述のロールバックを実現できる。
図12はデータベース12に格納された複数の点データが2倍速でリプレイされる様子を示す。
ストローク50に対応する複数の点データは、これら複数の点データ間の受信間隔の1/2の時間間隔で、電子機器10Aから電子機器10Dに送信される。例えば、最初の点データと2番目の点データとの間の受信間隔がT1であり、2番目の点データと3番目の点データとの間の受信間隔がT2である場合を想定する。この場合、最初の点データが電子機器10Dに送信されてからT1/2の時間間隔だけ経過した時に、2番目の点データが電子機器10Dに送信される。そして、2番目の点データが電子機器10Dに送信されてからT2/2の時間間隔だけ経過した時に、3番目の点データが電子機器10Dに送信される。
これにより、電子機器10Dのカンバス上においては、ストローク50は2倍速でリプレイされる。同様に、ストローク52に対応する複数の点データも、これら複数の点データの受信間隔の1/2の時間間隔で、電子機器10Aから電子機器10Dに送信される。これにより、電子機器10Dのカンバス上においては、ストローク52は2倍速でリプレイされる。よって、途中からサービスにログインした参加者3は、これまでの議論の経過、つまりどの様な経緯を辿って現在の手書き情報が構築されたかを、短い時間で把握することができる。
受信レートに対する送信レート(リプレイ速度)の倍率は、2倍に限らず、例えば、1倍、1.5倍、3倍、4倍、…30倍のような、任意の倍率に可変設定可能である。受信レートに対する送信レートの倍率を可変設定可能とするために、ユーザの操作に応じてリプレイ速度を増減可能なユーザインタフェースを使用しても良い。あるいは、多くの点データが存在する密の期間と点データの数が少ない粗の期間との間で、受信レートに対する送信レートの倍率を変化させても良い。この場合、粗の期間では受信レートに対する送信レートの倍率を1に近い低い倍率に設定し、密の期間では受信レートに対する送信レートの倍率を1よりも高い倍率に設定してもよい。
あるいは、受信レートに対する送信レート(リプレイ速度)の倍率は、手書き共有サービスが開始される時点から電子機器10D(途中参加者)がログインする時点までの期間(遅れ期間)の長さに基づいて決定してもよい。
図13は受信レートに対する送信レートの倍率を決定する処理を示す。
図13において、t0は手書き共有サービスが開始される時点を表し、t1は電子機器10D(途中参加者)がログインする時点を表している。ここでは、リプレイ時間Rtが固定である場合を想定する。リプレイ時間Rtは、遅れ期間Dtの間にデータベース12に蓄積された全ての点データをリプレイするための時間間隔である。リプレイ時間Rtは、例えば、30秒、または1分に設定されても良い。
受信レート(オリジナル速度)に対する送信レートの倍率Nは、
N=Dt/Rt
によって与えられる。
なお、リプレイ時間Rtは必ずしも固定でなくてもよい。この場合、例えば、遅れ期間Dtがしきい時間未満であれば、予め決められた第1倍速(例えば2倍速)でリプレイが実行されても良い。一方、遅れ期間Dtがしきい時間以上であれば、予め決められた第2倍速(例えば10倍速)でリプレイが実行されても良い。また、一つ前の点データの受信時刻(または入力時刻)から次の点データの受信時刻(または入力時刻)までの時間間隔がある基準時間を超えている場合には、この時間間隔だけ待つこと無く、一つ前の点データを送信した直後に、次の点データを送信してもよい。
図14は、タブレットコンピュータ10のシステム構成を示す。
タブレットコンピュータ10は、図14に示されるように、CPU101、システムコントローラ102、主メモリ103、グラフィクスプロセッシングユニット(GPU)104、BIOS−ROM105、不揮発性メモリ106、無線通信デバイス107、エンベデッドコントローラ(EC)108等を備える。
CPU101は、タブレットコンピュータ10内の様々なコンポーネントの動作を制御するプロセッサである。CPU101は、ストレージデバイスである不揮発性メモリ106から主メモリ103にロードされる様々なプログラムを実行する。これらプログラムには、オペレーティングシステム(OS)201、および様々なアプリケーションプログラムが含まれている。アプリケーションプログラムには、手書き共有アプリケーションプログラム202が含まれている。この手書き共有アプリケーションプログラム202は、手書き情報を複数の電子機器間で共有するための上述の手書きコラボレーション機能を実行することができる。
また、CPU101は、BIOS−ROM105に格納された基本入出力システム(BIOS)も実行する。BIOSは、ハードウェア制御のためのプログラムである。
システムコントローラ102は、CPU101のローカルバスと各種コンポーネントとの間を接続するデバイスである。システムコントローラ102には、主メモリ103をアクセス制御するメモリコントローラも内蔵されている。また、システムコントローラ102は、PCI EXPRESS規格のシリアルバスなどを介してグラフィクスプロセッシングユニット(GPU)104との通信を実行する機能も有している。
GPU104は、本タブレットコンピュータ10のディスプレイモニタとして使用されるLCD17Aを制御する表示プロセッサである。このGPU104によって生成される表示信号はLCD17Aに送られる。LCD17Aは、表示信号に基づいて画面イメージを表示する。このLCD17Aの上面側にはタッチパネル17Bが配置されている。LCD17Aの下面側にはデジタイザ17Cが配置されている。タッチパネル17Bは、LCD17Aの画面上で入力を行うための静電容量式のポインティングデバイスである。指が接触される画面上の接触位置および接触位置の動き等はタッチパネル17Bによって検出される。デジタイザ17CはLCD17Aの画面上で入力を行うための電磁誘導式のポインティングデバイスである。ペン100が接触される画面上の接触位置および接触位置の動き等はデジタイザ17Cによって検出される。
無線通信デバイス107は、無線通信を実行するように構成されたデバイスである。EC108は、電力管理のためのエンベデッドコントローラを含むワンチップマイクロコンピュータである。EC108は、ユーザによるパワーボタンの操作に応じて本タブレットコンピュータ10を電源オンまたは電源オフする機能を有している。
次に、図15を参照して、手書き共有アプリケーションプログラム202の構成について説明する。
手書き共有アプリケーションプログラム202は、手書き情報を共有するための機能実行モジュールとして、手書き入力インタフェース300、表示処理部301、処理部302、送信制御部303、および受信制御部304等を含む。
手書き共有アプリケーションプログラム202は、タッチスクリーンディスプレイ17を用いて入力されるストロークデータを使用することによって、手書きページデータの作成、表示、編集等を行う。タッチスクリーンディスプレイ17のデジタイザ17Cは、「タッチ」、「移動(スライド)」、「リリース」等のイベントの発生を検出するように構成されている。「タッチ」は、画面上にペンが接触したことを示すイベントである。「移動(スライド)」は、画面上にペンが接触されている間に接触位置が移動されたことを示すイベントである。「リリース」は、画面からペンが離されたことを示すイベントである。
手書き入力インタフェース300は、タッチスクリーンディスプレイ17のデジタイザ17Cと協同して手書き入力を行うように構成されたインタフェースである。手書き入力インタフェース300は、タッチスクリーンディスプレイ17のデジタイザ17Cから「タッチ」または「移動(スライド)」のイベントを受信し、これによって手書き入力操作を検出する。「タッチ」イベントには、接触位置の座標が含まれている。「移動(スライド)」イベントにも、移動先の接触位置の座標が含まれている。したがって、手書き入力インタフェース300は、タッチスクリーンディスプレイ17から、接触位置の動きの軌跡に対応する座標列(複数の点データ)を受信することができる。
表示処理部301は、手書き入力インタフェース300からの座標列に基づいて、ペン100を使用した手書き入力操作によって手書き入力される各ストロークをLCD17Aの画面上に表示する。さらに、表示処理部301は、処理部302の制御の下、他の電子機器から受信された座標列に基づいて、各ストロークをLCD17Aの画面上に表示する。
送信制御部303は、処理部302の制御の下、無線通信デバイス107を使用して複数の点データを時系列順に順次他の電子機器に送信するための処理を実行する。受信制御部304は、処理部302の制御の下、無線通信デバイス107を使用して他の電子機器から複数の点データを時系列順に順次受信するための処理を実行する。
処理部302は、複数の電子機器間で手書き情報を共有するための処理を実行する。この処理部302は、メンバ管理部311、保存処理部312、およびリプレイ処理部313等を含む。
メンバ管理部311は、手書き共有サービスにログインしているメンバ(電子機器)それぞれを管理する。メンバ管理部311は、手書き共有サービスへのログインを要求している電子機器に、ログインすることを許可するか否かを決定することができる。メンバ管理部311から許可を受け取った電子機器は、手書き共有サービスにログインすることが許可され、これによって手書き共有サービスにログインしている他の各電子機器と接続される。メンバ管理部311の機能は、手書きコラボレーションサーバシステムとして動作する電子機器(グループオーナの電子機器)においてのみ実行されても良い。
保存処理部312は、他の電子機器から受信される各点データを、タイムスタンプと共に、データベース12に保存するための処理を実行する。リプレイ処理部313は、第3の電子機器が前記サービスに途中からログインした場合、上述のリプレイのための処理を実行する。つまり、ある電子機器が手書き共有サービスに途中からログインした場合、リプレイ処理部313は、この電子機器のログイン前にデータベース12に格納された複数の点データを、これら点データにそれぞれ対応するタイムスタンプに基づくタイミングで、この電子機器に時系列順に順次送信するための処理を実行する。この場合、これら点データの送信はN倍速(Nは1以上)で実行することができる。
参加者(クライアント)として動作する電子機器においては、リプレイ処理部313は、グループオーナの電子機器から時系列順に順次送信される点データを受信しながらそれら点データを表示する処理を実行する。
図16のフローチャートは、本実施形態の手書きデータ配信処理の手順を示す。
手書きコラボレーションサーバシステム(電子機器10A)の処理部302は、ログイン状態である複数の参加者の電子機器のいずれかにおいて手書き入力されるストロークに対応する複数の点データを、この電子機器から受信する(ブロックB11)。上述したように、これら複数の点データは、この電子機器から手書きコラボレーションサーバシステム(電子機器10A)に時系列順に順次送信される。
処理部302は、受信された各点データをこの点データの入力時刻または受信時刻を示すタイムスタンプとともにデータベース12に格納するための点データ保存処理を実行する(ブロックB12)。
処理部302は、受信された複数の点データを、他の各参加者の電子機器に送信する(ブロックB13)。ブロックB13では、複数の点データは、他の各参加者の電子機器に、時系列順に順次送信される。
図17のフローチャートは、図16のブロックB12で行われる点データ保存処理の手順を示す。
処理部302が点データを受信した時(ブロックB21のYES)、処理部302は、点データに付加されている点種別に基づいて、この点データがストロークの始点の点データであるか否かを判定する(ブロックB22)。
この点データがストロークの始点の点データであるならば(ブロックB22のYES)、処理部302は、ストローク管理テーブル121に1レコードを追加し、その追加されたレコードに、ストロークIDを示す値、始点時刻を示す値、ユーザIDを示す値、ペン種を示す値、カラーを示す値を格納する(ブロックB23)。そして、処理部302は、点管理テーブル122に1レコードを追加し、その追加されたレコードに、ストロークIDを示す値、時刻を示す値、点種別を示す値、座標xを示す値、座標yを示す値を格納する(ブロックB24)。そして、処理部302は、受信された点データを、他の各参加者の電子機器に送信する(ブロックB25)。
受信された点データがストロークの中点または終点の点データであるならば(ブロックB22のYES)、処理部302は、ブロックB23の処理をスキップして、ブロックB24、ブロックB25の処理のみを実行する。
図18のフローチャートは、リプレイ処理の手順を示す。
新たな参加者が手書き共有サービスに途中から参加(ログイン)したならば(ブロックB31のYES)、処理部302は、新たな参加者の参加の前にデータベース12に格納された全ての点データを新たな参加者の電子機器に送信するための点データ送信処理を実行する(ブロックB32)。ブロックB32では、これら全ての点データは、対応するタイムスタンプによって指定されるタイミングで、新たな参加者の電子機器に時系列順に順次送信される。
ブロックB33で全ての点データの送信が完了したと判定されるまで、点データ送信処理は繰り返し実行される。
図19のフローチャートは、点データ送信処理の手順を示す。
ここでは、遅れ期間Dtの長さに基づいて、リプレイをN倍速で実行する場合を想定する。
まず、処理部302は、オリジナル速度の何倍の速度でリプレイすべきかを決定する(ブロックB41)。ブロックB41では、処理部302は、遅れ期間Dtの長さに基づいて、受信レート(オリジナル速度)に対する送信レートの倍率Nを算出する。固定のリプレイ時間Rtを使用する場合においては、倍率Nは、
N=Dt/Rt
によって与えられる。
処理部302は、最初の点データを、新たな参加者の電子機器に送信する(ブロックB42)。次に、処理部302は、最初の点データの受信時刻(または入力時刻)と次の点データの受信時刻(または入力時刻)との間の時間間隔と、倍率Nとに基づいて、次の点データが送信されるべき送信タイミングを決定する(ブロックB43)。処理部302は、次の点データの送信タイミングが到来したか否かを判定する(ブロックB44)。次の点データの送信タイミングが到来しならば(ブロックB44のYES)、処理部302は、最初の点データを、新たな参加者の電子機器に送信する(ブロックB45)。そして、処理部302は、全ての点データの送信が完了したか否かを判定する(ブロックB46)。
全ての点データの送信が完了するまで、送信対象の次の点データを更新しながら、ブロックB43〜B45の処理が繰り返される。
図20のフローチャートは、参加者の電子機器によって実行される処理の手順を示す。
参加者の電子機器の処理部302は、手書きコラボレーションサーバシステムにログイン要求(参加要求)を送信して手書き共有サービスにログインする(ステップB51)。データベース12に既に蓄積されている点データが存在する場合には(ブロックB52のYES)、処理部302は、リプレイ処理モードに遷移する。
リプレイ処理モードである間は、処理部302は、参加者の電子機器におけるストロークの手書き入力を禁止する。
リプレイ処理モードでは、処理部302は、手書きコラボレーションサーバシステムから送信される点データを受信する。手書きコラボレーションサーバシステムから点データが受信された時(ブロックB53のYES)、処理部302は、受信された点データに基づいて謬画処理を実行する(ブロックB54)。既に蓄積されている全ての点データの受信及び描画が完了するまでは(ブロックB54のNO)、ブロックB53、B54の処理が繰り返される。
既に蓄積されている全ての点データの受信及び描画が完了すると(ブロックB54のYES)、処理部302は、リプレイ処理モードを抜け、手書き共有モードに遷移する。手書き共有モードでは、処理部302は、参加者の電子機器におけるストロークの手書き入力を許可する。
手書き共有モードにおいて、ユーザ(参加者)によってストロークの手書き入力が開始されたならば(ブロックB56のYES)、処理部302は、このストロークに対応する複数の点データに基づいてストロークを描画する処理を実行し(ブロックB57)、さらに、複数の点データを時系列順に順次手書きコラボレーションサーバシステムに送信する処理を実行する(ブロックB58)。
手書き共有モードにおいて、手書きコラボレーションサーバシステムから点データが受信されたならば(ブロックB59のYES)、処理部302は、受信された点データに基づいて描画処理を実行する(ブロックB60)。
次に、図21〜図23を参照して、ロールバック処理を説明する。
図21に示されているように、カンバス上には、共有されている現在の手書き情報の内容が表示される。ここでは、手書きデータ401、手書きデータ402、手書きデータ403、手書きデータ404がカンバス上に表示されている。これら各手書きデータは、手書き共有サービスにログインしているいずれかの電子機器において手書き入力された1以上のストロークから構成される。
ユーザはカンバス上にメニューを表示することもできる。このメニューは、「タイムライン」ボタンを含む。「タイムライン」ボタンはロールバック処理を起動するためのソフトウェアボタンである。
「タイムライン」ボタンがユーザによってタップされると、図22に示すように、タイムライン501と、タイムライン501上を移動可能なスライダ502、再生ボタン504等がカンバス上に表示される。
タイムライン501の左端は、手書き共有サービスが開始された時点に対応する。タイムライン501の右端は現時点に対応する。スライダ502のデフォルト位置はタイムライン501の右端である。
図23に示されているように、スライダ502がタイムライン501の例えば中央位置にユーザによって移動されると、カンバス上の手書き情報の内容は、中央位置に対応する時時点の手書き情報に更新される。
中央位置に対応する時時点よりも後に手書きされたデータはカンバスから消える。ここでは、手書きデータ403、手書きデータ404がカンバス上から消えている。
再生ボタン504がユーザによってタップされると、スライダ502によって指定される時点から現時点までの手書き情報がリプレイされる開始される。
なお、以上の説明では、手書き共有サービスにログインしている複数の電子機器の1つが手書きコラボレーションサーバシステムとして機能する場合を例示したが、手書きコラボレーションサーバシステムは、これら電子機器以外の1以上のサーバによって実現されても良い。
以上説明したように、本実施形態においては、手書きデータは、ストロークデータ単位では無く、点データ単位で送信される。よって、どの電子機器においてストロークが手書き入力された場合でも、そのストロークが書かれる様子を他の全ての電子機器のカンバス上において再現することができる。よって、よりリアルタイムに手書き情報の共有が可能となる。
さらに、電子機器10Dが手書き情報共有サービスに途中からログインした場合、手書きコラボレーションサーバシステム(電子機器10A)は、電子機器10Dのログイン前にデータベース12に格納された全ての点データ(複数の第1点データ)を、これら複数の第1点データにそれぞれ対応するタイムスタンプに基づくタイミングで、電子機器10Dに時系列順に順次送信する。
これにより、既に書かれた多数のストロークが、それらストロークが書かれる様子がリプレイされるかのように電子機器10Dのカンバス上に表示される。よって、電子機器10Dのユーザ(途中参加者)は、どの様な経緯を辿って現在の手書き情報が構築されたかを、容易に把握することができる。
また、会議は数日に跨がって実行される場合もある。この場合、翌日の会議の冒頭で、前日の会議終了時までの手書き情報を格納しているデータベース12を使用することによって、前日の会議において手書き情報が構築された過程をリプレイしてもよい。
データベース12の内容は、会議終了時などに、各電子機器のローカルストレージに格納しても良い。
なお、本実施形態の手書きコラボレーションサーバシステム(電子機器10A)の機能は1以上のプロセッサによって実現できる。
また、本実施形態の手書きコラボレーションサーバシステム(電子機器10A)の機能はコンピュータプログラムによって実現することができるので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのコンピュータプログラムをコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。

Claims (15)

  1. 手書き情報を共有可能なサービスにログインしている第1の電子機器において手書き入力されるストロークに対応する複数の点データを前記第1の電子機器から受信する受信手段であって、前記複数の点データは、前記ストロークが手書き入力されている間に、前記第1の電子機器から時系列順に順次送信される、受信手段と、
    前記複数の点データを、前記複数の点データの入力時刻又は受信時刻をそれぞれ示すタイムスタンプと共に、記憶媒体に格納するための処理を実行する処理手段と、
    前記サービスにログインしている第2の電子機器に前記複数の点データを時系列順に順次送信する送信手段とを具備し、
    第3の電子機器が前記サービスに途中からログインした場合、前記処理手段は、前記第3の電子機器のログイン前に前記記憶媒体に格納された複数の第1点データを、前記複数の第1点データにそれぞれ対応するタイムスタンプに基づくタイミングで、前記第3の電子機器に時系列順に順次送信するための処理を実行する、システム。
  2. 前記処理手段は、前記複数の第1点データを、前記複数の第1点データが受信されたレートよりも速い第1レートで、前記第3の電子機器に時系列順に順次送信する請求項1記載のシステム。
  3. 前記複数の第1点データが受信されたレートに対する前記第1レートの倍率は、可変設定可能である請求項2記載のシステム。
  4. 前記複数の第1点データが受信されたレートに対する前記第1レートの倍率は、前記サービスが開始される時点から前記第3の電子機器がログインする時点までの期間の長さに基づいて決定される請求項2記載のシステム。
  5. 前記第3の電子機器への前記複数の第1点データの送信が完了するまで、前記第3の電子機器におけるストロークの手書き入力が禁止される請求項1記載のシステム。
  6. 手書き情報を共有可能なサービスにログインしている第1の電子機器において手書き入力されるストロークに対応する複数の点データを前記第1の電子機器から受信することであって、前記複数の点データは、前記ストロークが手書き入力されている間に、前記第1の電子機器から時系列順に順次送信される、受信することと、
    前記複数の点データを、前記複数の点データの入力時刻又は受信時刻をそれぞれ示すタイムスタンプと共に、記憶媒体に格納することと、
    前記サービスにログインしている第2の電子機器に前記複数の点データを時系列順に順次送信することと、
    第3の電子機器が前記サービスに途中からログインした場合、前記第3の電子機器のログイン前に前記記憶媒体に格納された複数の第1点データを、前記複数の第1点データにそれぞれ対応するタイムスタンプに基づくタイミングで、前記第3の電子機器に時系列順に順次送信することとを具備する方法。
  7. 前記複数の第1点データを送信することは、前記複数の第1点データを、前記複数の第1点データが受信されたレートよりも速い第1レートで、前記第3の電子機器に時系列順に順次送信することを含む請求項6記載の方法。
  8. 前記複数の第1点データが受信されたレートに対する前記第1レートの倍率は、可変設定可能である請求項7記載の方法。
  9. 前記複数の第1点データが受信されたレートに対する前記第1レートの倍率は、前記サービスが開始される時点から前記第3の電子機器がログインする時点までの期間の長さに基づいて決定される請求項7記載の方法。
  10. 前記第3の電子機器への前記複数の第1点データの送信が完了するまで、前記第3の電子機器におけるストロークの手書き入力が禁止される請求項6記載の方法。
  11. コンピュータによって実行されるプログラムであって、
    手書き情報を共有可能なサービスにログインしている第1の電子機器において手書き入力されるストロークに対応する複数の点データを前記第1の電子機器から受信することであって、前記複数の点データは、前記ストロークが手書き入力されている間に、前記第1の電子機器から時系列順に順次送信される、受信することと、
    前記複数の点データを、前記複数の点データの入力時刻又は受信時刻をそれぞれ示すタイムスタンプと共に、記憶媒体に格納することと、
    前記サービスにログインしている第2の電子機器に前記複数の点データを時系列順に順次送信することと、
    第3の電子機器が前記サービスに途中からログインした場合、前記第3の電子機器のログイン前に前記記憶媒体に格納された複数の第1点データを、前記複数の第1点データにそれぞれ対応するタイムスタンプに基づくタイミングで、前記第3の電子機器に時系列順に順次送信すること
    の機能を実行するように前記コンピュータを制御するプログラム。
  12. 前記複数の第1点データを送信することは、前記複数の第1点データを、前記複数の第1点データが受信されたレートよりも速い第1レートで、前記第3の電子機器に時系列順に順次送信することを含む請求項11記載のプログラム。
  13. 前記複数の第1点データが受信されたレートに対する前記第1レートの倍率は、可変設定可能である請求項12記載のプログラム。
  14. 前記複数の第1点データが受信されたレートに対する前記第1レートの倍率は、前記サービスが開始される時点から前記第3の電子機器がログインする時点までの期間の長さに基づいて決定される請求項12記載のプログラム。
  15. 前記第3の電子機器への前記複数の第1点データの送信が完了するまで、前記第3の電子機器におけるストロークの手書き入力が禁止される請求項11記載のプログラム。
JP2016542462A 2014-08-12 2014-08-12 手書き情報を共有するためのシステムおよび方法 Active JP6235723B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/071303 WO2016024329A1 (ja) 2014-08-12 2014-08-12 手書き情報を共有するためのシステムおよび方法

Publications (2)

Publication Number Publication Date
JPWO2016024329A1 true JPWO2016024329A1 (ja) 2017-05-25
JP6235723B2 JP6235723B2 (ja) 2017-11-22

Family

ID=55303973

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016542462A Active JP6235723B2 (ja) 2014-08-12 2014-08-12 手書き情報を共有するためのシステムおよび方法

Country Status (2)

Country Link
JP (1) JP6235723B2 (ja)
WO (1) WO2016024329A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020190922A (ja) * 2019-05-22 2020-11-26 株式会社リコー 表示装置、表示方法、表示プログラム、表示システム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017022090A1 (ja) 2015-08-04 2017-02-09 株式会社ワコム 手書きデータ描画方法及び手書きデータ描画装置
JP6562853B2 (ja) * 2016-02-22 2019-08-21 Dynabook株式会社 電子機器及び方法
JP6619308B2 (ja) * 2016-09-07 2019-12-11 株式会社ワコム 手書きデータ描画方法、手書きデータ描画装置、及びプログラム
JP6421805B2 (ja) * 2016-09-26 2018-11-14 ブラザー工業株式会社 管理プログラム、及び会議管理方法
JP7172775B2 (ja) * 2019-03-18 2022-11-16 株式会社リコー 通信管理システム、通信システム、通信管理装置、通信管理方法、及びプログラム
JP6849774B2 (ja) * 2019-11-14 2021-03-31 株式会社ワコム 方法、プログラム、及びコンピュータ

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006091938A (ja) * 2004-09-16 2006-04-06 Ricoh Co Ltd 電子会議システム
JP2006163760A (ja) * 2004-12-07 2006-06-22 Canon Inc 描画システム
JP2012058799A (ja) * 2010-09-06 2012-03-22 Ricoh Co Ltd 画像表示システム、画像表示方法およびプログラム
JP2012227745A (ja) * 2011-04-20 2012-11-15 Konica Minolta Business Technologies Inc 会議支援装置、会議支援装置の制御方法、および会議支援装置の制御プログラム
JP2013222324A (ja) * 2012-04-17 2013-10-28 Ricoh Co Ltd 情報共有装置、情報共有システム、描画処理方法及びプログラム
JP2014110061A (ja) * 2014-01-09 2014-06-12 Toshiba Corp システムおよびデータ提供方法並びに電子機器

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006091938A (ja) * 2004-09-16 2006-04-06 Ricoh Co Ltd 電子会議システム
JP2006163760A (ja) * 2004-12-07 2006-06-22 Canon Inc 描画システム
JP2012058799A (ja) * 2010-09-06 2012-03-22 Ricoh Co Ltd 画像表示システム、画像表示方法およびプログラム
JP2012227745A (ja) * 2011-04-20 2012-11-15 Konica Minolta Business Technologies Inc 会議支援装置、会議支援装置の制御方法、および会議支援装置の制御プログラム
JP2013222324A (ja) * 2012-04-17 2013-10-28 Ricoh Co Ltd 情報共有装置、情報共有システム、描画処理方法及びプログラム
JP2014110061A (ja) * 2014-01-09 2014-06-12 Toshiba Corp システムおよびデータ提供方法並びに電子機器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020190922A (ja) * 2019-05-22 2020-11-26 株式会社リコー 表示装置、表示方法、表示プログラム、表示システム

Also Published As

Publication number Publication date
JP6235723B2 (ja) 2017-11-22
WO2016024329A1 (ja) 2016-02-18

Similar Documents

Publication Publication Date Title
JP6235723B2 (ja) 手書き情報を共有するためのシステムおよび方法
US10311383B2 (en) Device, method, and graphical user interface for meeting space management and interaction
US20200226501A1 (en) Device, method, and graphical user interface for meeting space management and interaction
US20230004264A1 (en) User interface for multi-user communication session
US10567481B2 (en) Work environment for information sharing and collaboration
US10705783B2 (en) Showing interactions as they occur on a whiteboard
US20200296147A1 (en) Systems and methods for real-time collaboration
US9372543B2 (en) Presentation interface in a virtual collaboration session
US9608950B2 (en) Systems and methods for sharing videos and images in a texting environment
CA2962706C (en) Methods and systems for obscuring text in a conversation
US9398059B2 (en) Managing information and content sharing in a virtual collaboration session
CN112243583B (zh) 多端点混合现实会议
US20110307800A1 (en) Methodology for Creating an Easy-To-Use Conference Room System Controller
CA2913711A1 (en) Method for conducting a collaborative event and system employing same
CN106062794A (zh) 显示和导航隐式和显式企业人员关系
ES2790827T3 (es) Grabación y reproducción en una conferencia
JP6354421B2 (ja) 情報処理装置、情報処理システム、プログラム、及び記録媒体
JP6465277B6 (ja) 電子機器、処理方法およびプログラム
WO2022116033A1 (zh) 协同操作方法、装置、终端及存储介质
JP2013232123A (ja) 電子会議システム、端末、およびファイル提供サーバ
WO2016024330A1 (ja) 情報を表示するための電子機器および方法
US20170201721A1 (en) Artifact projection
JP2015045945A (ja) 情報処理装置、プログラム及び情報処理システム
CA2815724C (en) System and method for sharing data across multiple electronic devices
US20220179516A1 (en) Collaborative displays

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170203

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170926

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171026

R151 Written notification of patent or utility model registration

Ref document number: 6235723

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313121

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350