(57)【特許請求の範囲】
【請求項１】
物理画面のサイズを超えた複数ページ領域を仮想的に有するカンバスを共有画面として表示するディスプレイを有し、複数の外部電子機器と互いにネットワーク接続される電子機器であって、
自機器において前記ディスプレイから入力されたテキスト又は手書きデータを含む前記カンバスの少なくとも一部の第１表示領域を前記ディスプレイに表示する処理手段を具備し、
前記処理手段は、
前記ディスプレイに表示されるプレビューボタンが操作された時、前記ディスプレイに前記カンバス全体のプレビュー画像を表示すると共に、前記第１表示領域および前記複数の外部電子機器が表示対象としている複数の表示領域を視覚的に識別可能に表示し、
前記カンバス全体のプレビュー画像中の前記外部電子機器の一つが表示対象としている第２表示領域を指定する操作が前記プレビュー画像を用いて行われた場合、前記第１表示領域から前記第２表示領域に切り換えて前記ディスプレイに表示する
電子機器。
【請求項２】
物理画面のサイズを超えた複数ページ領域を仮想的に有するカンバスを共有画面として表示するディスプレイを有し、複数の外部電子機器と互いにネットワーク接続される電子機器の処理方法であって、
自機器において前記ディスプレイから入力されたテキスト又は手書きデータを含む前記カンバスの少なくとも一部の第１表示領域を前記ディスプレイに表示した状態で前記ディスプレイに表示されるプレビューボタンが操作された時、前記ディスプレイに前記カンバス全体のプレビュー画像を表示すると共に、前記第１表示領域および前記複数の外部電子機器が表示対象としている複数の表示領域を視覚的に識別可能に表示し、
前記カンバス全体のプレビュー画像中の前記外部電子機器の一つが表示対象としている第２表示領域を指定する操作が前記プレビュー画像を用いて行われた場合、前記第１表示領域から前記第２表示領域に切り換えて前記ディスプレイに表示する
処理方法。
【請求項３】
物理画面のサイズを超えた複数ページ領域を仮想的に有するカンバスを共有画面として表示するディスプレイを有し、複数の外部電子機器と互いにネットワーク接続される電子機器のコンピュータに実行させるプログラムであって、
自機器において前記ディスプレイから入力されたテキスト又は手書きデータを含む前記カンバスの少なくとも一部の第１表示領域を前記ディスプレイに表示した状態で前記ディスプレイに表示されるプレビューボタンが操作された時、前記ディスプレイに前記カンバス全体のプレビュー画像を表示すると共に、前記第１表示領域および前記複数の外部電子機器が表示対象としている複数の表示領域を視覚的に識別可能に表示する手順と、
前記カンバス全体のプレビュー画像中の前記外部電子機器の一つが表示対象としている第２表示領域を指定する操作が前記プレビュー画像を用いて行われた場合、前記第１表示領域から前記第２表示領域に切り換えて前記ディスプレイに表示する手順と、
を前記コンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、電子機器、処理方法およびプログラムに関する。
【背景技術】
【０００２】
近年、タブレット、ＰＤＡ、スマートフォンといった種々の電子機器が広く普及している。この種の電子機器の多くは、ユーザによる入力操作を容易にするために、タッチスクリーンディスプレイを備えている。
【０００３】
また、最近では、電子情報ボード、インテリジェントホワイトボード等の技術を使用して、何人かのユーザ間で情報を共有するシステムも開発されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１６８７９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、従来では、ユーザが別のユーザが注目している部分と同じ部分を容易に閲覧できるようにするための技術については考慮されていないのが現状である。
【０００６】
本発明の一形態が解決しようとする課題は、別のユーザが注目している部分をユーザに提示することができる電子機器、処理方法およびプログラムを提供することである。
【課題を解決するための手段】
【０００７】
実施形態によれば、電子機器は、物理画面のサイズを超えた複数ページ領域を仮想的に有するカンバスを共有画面として表示するディスプレイを有し、複数の外部電子機器と互いにネットワーク接続される。電子機器は、自機器において前記ディスプレイから入力されたテキスト又は手書きデータを含む前記カンバスの少なくとも一部の第１表示領域を前記ディスプレイに表示する処理手段を具備する。前記処理手段は、前記ディスプレイに表示されるプレビューボタンが操作された時、前記ディスプレイに前記カンバス全体のプレビュー画像を表示すると共に、前記第１表示領域および前記複数の外部電子機器が表示対象としている複数の表示領域を視覚的に識別可能に表示し、前記カンバス全体のプレビュー画像中の前記外部電子機器の一つが表示対象としている第２表示領域を指定する操作が前記プレビュー画像を用いて行われた場合、前記第１表示領域から前記第２表示領域に切り換えて前記ディスプレイに表示する。
【図面の簡単な説明】
【０００８】
【図１】実施形態に係る電子機器の外観を示す例示的な斜視図。
【図２】手書き共有サービスを利用する電子機器間の接続を示す例示的な図。
【図３】図１の電子機器（手書きコラボレーションサーバシステム）と他の各電子機器との間のデータの流れの概要を説明するための例示的な図。
【図４】複数の電子機器間で情報を共有する画面（カンバス）を示す例示的な図。
【図５】図１の電子機器のタッチスクリーンディスプレイ上に手書きされる手書き文書を示す例示的な図。
【図６】手書き共有サービスによって実行される処理を説明するための例示的な図。
【図７】複数の電子機器間で情報を共有するためのカンバスを示す例示的な図。
【図８】主催者と参加者が異なる表示エリアを見ている様子を示す例示的な図。
【図９】画面上に表示されるメニューを説明するための例示的な図。
【図１０】図１の電子機器によって実行されるプレビュー処理を説明するための例示的な図。
【図１１】カンバス全体を表示するプレビュー画面を示す例示的な図。
【図１２】表示エリアがプレビュー処理によって別の表示エリアに変更される様子を示す例示的な図。
【図１３】図１の電子機器の構成を示す例示的なブロック図。
【図１４】図１の電子機器によって実行される手書き共有アプリケーションプログラムの構成を示す例示的なブロック図。
【図１５】図１の電子機器によって実行されるプレビュー処理の手順を示す例示的なフローチャート。
【発明を実施するための形態】
【０００９】
以下、実施の形態について図面を参照して説明する。
【００１０】
図１は、一実施形態に係る電子機器の外観を示す斜視図である。この電子機器は、例えば、ペン（スタイラス）または指を使用した手書き入力を実行することが可能なペン・ベースの携帯型電子機器である。この電子機器は、タブレットコンピュータ、ノートブック型パーソナルコンピュータ、スマートフォン、ＰＤＡ等として実現され得る。以下では、この電子機器がタブレットコンピュータ１０として実現されている場合を想定する。タブレットコンピュータ１０は、タブレットまたはスレートコンピュータとも称される携帯型電子機器である。タブレットコンピュータ１０は、図１に示すように、本体１１とタッチスクリーンディスプレイ１７とを備える。タッチスクリーンディスプレイ１７は、本体１１の上面に重ね合わされるように取り付けられている。
【００１１】
本体１１は、薄い箱形の筐体を有している。タッチスクリーンディスプレイ１７には、フラットパネルディスプレイと、センサとが組み込まれている。センサは、ペンまたは指と接触されるフラットパネルディスプレイの画面上の位置（接触位置）を検出する。フラットパネルディスプレイは、例えば、液晶表示装置（ＬＣＤ）であってもよい。センサとしては、例えば、静電容量方式のタッチパネル、電磁誘導方式のデジタイザなどを使用することができる。以下では、デジタイザとタッチパネルの２種類のセンサの双方がタッチスクリーンディスプレイ１７に組み込まれている場合を想定する。
【００１２】
このタッチスクリーンディスプレイ１７は、指と接触される画面上の位置を検出することができ、またペンと接触される画面上の位置を検出することもできる。ペン１００は例えば電磁誘導ペン（デジタイザペン）であってもよい。ユーザは、ペン１００を使用してタッチスクリーンディスプレイ１７の画面上に文字等を書くことができる。この手書き入力操作中においては、画面上のペン１００の動きの軌跡、つまり手書き入力されるストロークが、リアルタイムに画面上に描画される。ペン１００が画面に接触されている間のペン１００の動きの軌跡が１ストロークに相当する。手書き入力された文字または図形などに対応する多数のストロークの集合が手書き文書を構成する。
【００１３】
一つのストロークは、このストローク上の複数の点それぞれに対応する複数の点データの集合によって表現される。各点データは、対応する点の座標（Ｘ座標、Ｙ座標）を示す。
【００１４】
さらに、タブレットコンピュータ１０は、手書きコラボレーション機能を有している。この手書きコラボレーション機能は、様々な電子文書を複数の電子機器間で共有することが可能な手書き共有サービスを実行する。様々な電子文書は、例えば、手書き文書、テキストデータ、プレゼンテーションデータ、ワードプロセッシングデータ、イメージデータ、スプレッドシートデータ、これら組み合わせ、等であってもよい。手書き共有サービスは、各電子機器のユーザが、共有される情報を閲覧すること、情報を電子機器間で交換すること、他の電子機器のユーザとの協同作業によって、手書き情報を含む電子文書を編集することを可能にする。
【００１５】
この手書き共有サービスは、このサービスに参加（ログイン）している電子機器において入力される情報（手書きデータを含む）を、このサービスに参加（ログイン）している他の各電子機器にリアルタイムに配信する。これによって、これら電子機器の表示画面に表示される電子文書の内容を同期させることができる。異なるユーザによって入力された情報、例えば、テキスト、手書き入力されたストローク等は、異なる形態（例えば、異なる色）で表示されてもよい。また、入力中のストロークまたは最も新しく入力されたストロークが、その他のストロークと異なる形態で表示されてもよいし、一定期間内（例えば１０秒前まで）に入力されたストロークが、その他のストロークと異なる形態で表示されてもよい。
【００１６】
手書き共有サービスは、複数人のグループによって利用される。手書き共有サービスを利用する複数人のグループは、一人のグループオーナ（主催者）と、一人以上の参加者とを含んでもよい。
【００１７】
図２は、手書き共有サービスを利用する電子機器間の接続例を示す。
【００１８】
電子機器１０Ａは、ユーザＡによって使用されるタブレットコンピュータである。電子機器１０Ｂは、ユーザＢによって使用されるタブレットコンピュータである。電子機器１０Ｃは、ユーザＣによって使用されるタブレットコンピュータである。これら電子機器１０Ａ、１０Ｂ、１０Ｃの各々は、本実施形態のタブレットコンピュータ１０と同等の手書きコラボレーション機能を有している。
【００１９】
電子機器１０Ａ、１０Ｂ、１０Ｃは有線ネットワークまたは無線ネットワークを介して互いに接続される。以下では、電子機器１０Ａ、１０Ｂ、１０Ｃが無線ネットワークを介して互いに接続される場合を想定する。電子機器１０Ａ、１０Ｂ、１０Ｃを互いに無線接続するための方法としては、複数の機器を互いに無線接続することが可能な任意の無線接続規格を使用し得る。例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）、またはＷｉ−Ｆｉ  Ｄｉｒｅｃｔ（登録商標）、等が使用されてもよい。
【００２０】
電子機器１０Ａ、１０Ｂ、１０Ｃのいずれか１つは、手書き共有サービスを管理するように構成されたサーバ（手書きコラボレーションサーバシステム）として機能することができる。グループオーナの電子機器が、サーバ（手書きコラボレーションサーバシステム）の役割をしてもよい。グループオーナは手書き共有サービスの主催者に相当する。
【００２１】
このサーバ（手書きコラボレーションサーバシステム）は、手書き共有サービスへの参加を要求している各電子機器が手書き共有サービス（グループ）に参加すること、つまり手書きコラボレーションサーバシステム（手書き共有サービス）にログインすること、を許可するか否かを決定してもよい。手書きコラボレーションサーバシステムから参加（ログイン）の許可を受け取った機器だけが、手書き共有サービスにログインすること、つまりこのグループに参加することが許可されてもよい。
【００２２】
ここで、各機器が手書きコラボレーションサーバシステム（手書き共有サービス）へログインする方法としては、この機器自体のＩＤ（アカウント）を使用して手書き共有サービスにログインする方法を使用してもよい。あるいは、この機器を使用するユーザのＩＤ（アカウント）を使用して手書き共有サービスにログインする方法を使用してもよい。つまり、手書き共有サービスに対するログインおよびログアウトは、電子機器自体のＩＤ（アカウント）を使用したログインおよびログアウト、またはユーザのＩＤ（アカウント）を使用したログインおよびログアウトのどちらであってもよい。
【００２３】
いま、電子機器１０Ａ、１０Ｂ、１０Ｃが手書き共有サービスにログインしている状態である場合、つまり電子機器１０Ａ、１０Ｂ、１０Ｃが同じ手書き共有サービスに参加している場合を想定する。電子機器１０Ａ、１０Ｂ、１０Ｃの各々においては、共有される情報を閲覧可能な共有画面（カンバス）が表示される。この画面（カンバス）は電子機器１０Ａ、１０Ｂ、１０Ｃに共通の表示エリア（編集領域）として使用される。この画面（カンバス）は、電子機器１０Ａ、１０Ｂ、１０Ｃ間のビジュアル通信を可能にする。ビジュアル通信は、テキスト、イメージ、手書き文字、手書き図形、ダイアグラム等のような情報を、機器間でリアルタイムに共有、交換することを可能にする。
【００２４】
ユーザＡ，Ｂ，Ｃの各々が自身の電子機器のカンバスに入力したデータ（テキスト、手書きデータ、等）は、自身の電子機器の共有画面（カンバス）に表示されるだけでなく、他の各ユーザの電子機器の共有画面（カンバス）にもリアルタイムに反映される。この結果、ユーザＡ，Ｂ，Ｃの各々がタイプ入力または手書き入力した情報（テキスト、手書きデータ、等）をユーザＡ，Ｂ，Ｃ間で交換・共有することができる。
【００２５】
さらに、電子機器１０Ａ、１０Ｂ、１０Ｃは、会議資料のような同じコンテンツをカンバス上に表示することもできる。この場合、各電子機器において手書き入力される手書きデータは、このコンテンツ上に表示される。ユーザＡ，Ｂ，Ｃは、同じコンテンツを見ながら、このコンテンツ上に手書きされる手書き文字、手書き図形等をユーザＡ，Ｂ，Ｃ間で交換・共有することができる。
【００２６】
なお、ビジュアル通信は、必ずしも双方向通信である必要は無く、電子機器１０Ａから電子機器１０Ｂ、１０Ｃへ情報が送信される片方向送信であってもよい。この場合、各電子機器に表示されるカンバスは、他の電子機器において入力された情報を表示可能な表示エリアとして機能する。カンバスのサイズは任意に設定することができ、各電子機器の物理画面のサイズ（解像度）を超えて設定することも可能である。
【００２７】
図３は、手書きコラボレーションサーバシステムと各電子機器との間のデータの流れを示す。
【００２８】
図３では、電子機器１０Ａが、手書きコラボレーションサーバシステムとして動作する場合が想定されている。つまり、電子機器１０ＡのユーザＡがグループオーナであり、電子機器１０ＢのユーザＢが参加者（参加者１）であり、電子機器１０ＣのユーザＣが別の参加者（参加者２）である。
【００２９】
以下では、限定されないが、電子機器間で手書きデータを交換・共有する場合を例示して、手書きコラボレーションサーバシステムと各電子機器との間のデータの流れを説明する。
【００３０】
手書きコラボレーションサーバシステム（電子機器１０Ａ）は、電子機器１０Ｂにおいて手書き入力される手書きデータを電子機器１０Ｂから受信する。また、手書きコラボレーションサーバシステム（電子機器１０Ａ）は、電子機器１０Ｃにおいて手書き入力される手書きデータを電子機器１０Ｃから受信する。
【００３１】
さらに、手書きコラボレーションサーバシステム（電子機器１０Ａ）は、電子機器１０Ａにおいて手書き入力される手書きデータと電子機器１０Ｃから受信された手書きデータとを電子機器１０Ｂに送信する。またさらに、手書きコラボレーションサーバシステム（電子機器１０Ａ）は、電子機器１０Ａにおいて手書き入力される手書きデータと電子機器１０Ｂから受信された手書きデータとを電子機器１０Ｃに送信する。
【００３２】
したがって、電子機器１０Ａのディスプレイにおいては、グループオーナの手書きデータが表示されるだけでなく、参加者１の手書きデータ、さらには参加者２の手書きデータも表示される。
【００３３】
同様にして、電子機器１０Ｂのディスプレイにおいても、参加者１の手書きデータが表示されるだけでなく、グループオーナの手書きデータ、さらには参加者２の手書きデータも表示される。
【００３４】
また同様に、電子機器１０Ｃのディスプレイにおいても、参加者２の手書きデータが表示されるだけでなく、グループオーナの手書きデータ、さらには参加者１の手書きデータも表示される。
【００３５】
電子機器１０Ａは、各電子機器において手書き入力される手書きデータをデータベース１２に格納する。このデータベース１２は、共同作業によって作成および編集される手書き情報を管理するために使用される。
【００３６】
図４は、共有画面（カンバス）の例を示している。各電子機器のカンバス３０Ａにおいては、手書き入力可能な透明のレイヤ（手書きレイヤ）３０Ｂが設定される。この手書きレイヤ３０Ｂ上に、各ユーザの手書きデータが表示される。
【００３７】
電子機器１０Ｂに関しては、この電子機器１０Ｂのカンバス３０Ａにおいては、カンバス３０Ａ上でペン１００Ｂを使用して参加者１によって手書き入力される手書きデータ４０が表示される。さらに、カンバス３０Ａ上においては、他の各電子機器において手書き入力される手書きデータが表示される。他の各電子機器において手書き入力される手書きデータには、参加者２の電子機器１０Ｃにおいて手書き入力された手書きデータ４２と、グループオーナの電子機器１０Ａにおいて手書き入力された手書きデータ４４とが含まれる。
【００３８】
なお、手書きコラボレーションサーバシステムと各電子機器との間で交換・共有される情報は、手書きデータに限られず、プレゼンテーションデータやワードプロセッサデータであってもよい。
【００３９】
次に、図５を参照して、ストロークと点データについて説明する。
【００４０】
図５においては、「ＡＢＣ」の手書き文字列が「Ａ」、「Ｂ」、「Ｃ」の順番で手書きされた場合が想定されている。
【００４１】
手書き文字「Ａ」は、ペン１００などを使用して手書きされる２つのストローク（「∧」形状の軌跡、「−」形状の軌跡）によって表現される。
【００４２】
ペン１００が移動している間に、「∧」形状のペン１００の軌跡がリアルタイムにサンプリングされる。これによって、「∧」形状のペン１００の軌跡上の複数の点それぞれに対応する複数の点データ（複数の座標データ）ＰＤ１１、ＰＤ１２、…ＰＤ１ｍが次々と得られる。例えば、画面上のペン１００の位置が所定量移動する度に、新たな位置を示す点データが得られてもよい。図５においては、図示の簡単化のために点データの密度が粗く描かれているが、実際には、より高い密度で複数の点データが得られる。これら点データＰＤ１１、ＰＤ１２、…ＰＤ１ｍは、「∧」形状のペン１００の軌跡を画面上に描画するために使用される。ペン１００の動きに追従するように、「∧」形状のペン１００の軌跡がリアルタイムに画面上に描画される。
【００４３】
同様に、「−」形状のペン１００の軌跡も、ペン１００が移動している間に、リアルタイムにサンプリングされる。これによって「−」形状のペン１００の軌跡上の複数の点それぞれに対応する複数の点データ（複数の座標データ）ＰＤ２１、ＰＤ２２、…ＰＤ２ｎが次々と得られる。
【００４４】
手書き文字「Ｂ」は、ペン１００などを使用して手書きされた２つのストロークによって表現される。手書き文字「Ｃ」は、ペン１００などを使用して手書きされた１つのストロークによって表現される。
【００４５】
次に、図６を参照して、手書き情報共有サービスのためのデータの流れについて説明する。
【００４６】
図６では、グループオーナ（電子機器１０Ａ）、参加者１（電子機器１０Ｂ）、参加者２（電子機器１０Ｃ）の３人のグループで議論を行う場合が想定されている。グループオーナ、参加者１、参加者２は、自身の電子機器１０Ａ、１０Ｂ、１０Ｃを持って会議室に集合してもよい。そして、グループオーナ、参加者１、参加者２は、自身の電子機器のカンバスを見ながら、あるいはカンバス上にテキストまたは手書きデータを書き込みながら、議論を行うことができる。
【００４７】
参加者１によって電子機器１０Ｂのカンバス上に入力されたデータ（テキスト、手書き文字、手書き図形等）は、電子機器１０Ａに送信される。さらに、参加者１によって入力されたデータは、電子機器１０Ａによって、電子機器１０Ｃに転送される。よって、参加者１によって入力されたデータは、電子機器１０Ｂ、電子機器１０Ａ、電子機器１０Ｃの各々のカンバス上に表示される。
【００４８】
同様にして、参加者２によって電子機器１０Ｃのカンバス上に入力されたデータ（テキスト、手書き文字、手書き図形等）も、電子機器１０Ａに送信され、さらに、電子機器１０Ａによって電子機器１０Ｂに転送される。よって、参加者２によって入力されたデータは、電子機器１０Ｂ、電子機器１０Ａ、電子機器１０Ｃの各々のカンバス上に表示される。
【００４９】
さらに、グループオーナによって電子機器１０Ａのカンバス上に入力されたデータ（テキスト、手書き文字、手書き図形等）は、電子機器１０Ｂおよび電子機器１０Ｃに送信される。よって、グループオーナによって入力されたデータも、電子機器１０Ａ、電子機器１０Ｂ、電子機器１０Ｃの各々のカンバス上に表示される。
【００５０】
このようにして、３人のグループは、これら３人によって書き込まれたデータが反映されるカンバスの内容を見ながら、議論（会議）を行うことができる。
【００５１】
以下では、ある電子機器のカンバス上に入力される手書きデータを他の電子機器に送信する処理について説明する。
【００５２】
ある電子機器において手書き入力された手書きデータを別の電子機器に送信するための方法としては、一つのストロークが手書き入力される度にそのストロークのデータ（ストロークデータ）全体を一度に送信するという方法を使用することができる。
【００５３】
あるいは、手書きデータは、ストローク単位では無く、点データ単位で送信されてもよい。この場合、例えば、電子機器１０Ｂにおいて手書き入力されるストロークに対応する複数の点データは、このストロークが手書き入力されている間に、電子機器１０Ｂから手書きコラボレーションサーバシステム（電子機器１０Ａ）に時系列順に順次送信される。つまり、ストロークに対応する複数の点データが入力された順に、これら複数の点データが電子機器１０Ｂから手書きコラボレーションサーバシステム（電子機器１０Ａ）に１つずつ転送される。
【００５４】
手書きデータをストロークデータ単位で送信するという前者の方法を使用した場合には、必要な通信回数を減らすことを可能にする。
【００５５】
しかし、ストロークの手書き入力が完了するまでは、つまりペンが画面からリフトアップされることによってペンと画面との接触が解除されるまでは、ストロークデータは送信されない。したがって、例えば、ある電子機器において３つのストロークが順番に手書き入力された場合には、まず、最初のストロークの手書き入力が完了した後に、その最初のストローク全体の形状が別の電子機器のカンバス上に一度に表示される。そして、２番目のストロークの手書き入力が完了した後に、その２番目のストローク全体の形状が別の電子機器のカンバス上に一度に表示される。そして、３番目のストロークの手書き入力が完了した後に、その３番目のストローク全体の形状が別の電子機器のカンバス上に一度に表示される。
【００５６】
このように、別の電子機器のカンバス上においては、個々のストロークが書かれる様子（線が延びていく様子）は再現されず、手書き入力が完了した各ストロークの形状だけが一度に表示される。
【００５７】
一方、ストロークの手書き入力が実際に行われている電子機器においては、そのストロークが書かれる様子（線が延びていく様子）がリアルタイムに表示される。
【００５８】
手書きデータを点データ単位で送信するという後者の方法を使用した場合には、通信回数は増加するが、どの電子機器においてストロークが手書き入力された場合でも、そのストロークが書かれる様子を他の全ての電子機器のカンバス上において再現することが可能となる。
【００５９】
以下、手書きデータを点データ単位で送信する場合を想定して、手書きデータの具体的な流れについて説明する。
【００６０】
（１）参加者１の電子機器１０Ｂにおいてストロークが手書き入力される。このストロークは電子機器１０Ｂのカンバス上にリアルタイムに表示される。つまり、電子機器１０Ｂのカンバス上のペンの動きに追従するようにストローク（線）が描画される。
【００６１】
（２）ストロークは、その始点から終点までの複数の点データ（複数の座標）の集合として表現される。
【００６２】
（３）このストロークのデータ（ストロークデータ）は、点データ単位でグループオーナ（電子機器１０Ａ）に送信される。つまり、電子機器１０Ｂにおいてはストロークが手書き入力されている間に、このストロークに対応する多数の点データがグループオーナ（電子機器１０Ａ）に時系列順に順次送信される。各点データは、ストロークＩＤ、ユーザＩＤ（またはデバイスＩＤ）、点種別（始点／中点／終点）、ペン属性（ペン種、色、等）等と一緒に、グループオーナ（電子機器１０Ａ）に送信されてもよい。ストロークＩＤは、手書き入力されたストロークを識別可能な情報である。各電子機器は、乱数などを使用して複数桁のユニークＩＤを生成し、このユニークＩＤの値を、最初に手書き入力されたストロークを識別するためのストロークＩＤとして使用してもよい。２番目以降に手書きされたストロークについては、ユニークＩＤをインクリメントすることによって得られる値が、対応するストロークＩＤとして使用されてもよい。同一のストロークに対応する点データの各々には、同じストロークＩＤが与えられる。
【００６３】
（４）グループオーナ（電子機器１０Ａ）は、電子機器１０Ｂから時系列順に順次送信される複数の点データを受信する。そして、グループオーナ（電子機器１０Ａ）は、これら複数の点データを、これら複数の点データの受信時刻（受信タイミング）をそれぞれ示すタイムスタンプと共に、データベース１２に格納する。各タイムスタンプは、対応する点データがグループオーナ（電子機器１０Ａ）によって受信された時刻を示してもよいし、同一のストローク内の先頭の点データが受信された時点から対応する点データが受信される時点までの相対時間を示してもよい。あるいは、各タイムスタンプは、対応する点データが入力された入力時刻を示してもよい。この場合、電子機器１０Ｂは、各点データをその点データが入力された入力時刻を示す時間情報と共にグループオーナ（電子機器１０Ａ）に送信してもよい。
【００６４】
（５）グループオーナ（電子機器１０Ａ）は、電子機器１０Ｂから受信された複数の点データを電子機器１０Ｃに送信する。
【００６５】
この場合、これら複数の点データは、これら複数の点データに対応するタイムスタンプに基づくタイミングで、電子機器１０Ｃに時系列順に順次送信されてもよい。これにより、複数の点データが受信された間隔と同じ間隔で、これら複数の点データを電子機器１０Ｃに送信することができる。
【００６６】
送信される各点データには、ストロークＩＤ、ユーザＩＤ（またはデバイスＩＤ）、点種別（始点／中点／終点）、ペン属性（ペン種、色、等）等が付加される。
【００６７】
あるいは、グループオーナ（電子機器１０Ａ）が電子機器１０Ｂから一つの点データを受信した時に、グループオーナ（電子機器１０Ａ）が、その点データを電子機器１０Ｃに即座に送信してもよい。
【００６８】
さらに、グループオーナ（電子機器１０Ａ）は、電子機器１０Ｂからの複数の点データに基づいて、電子機器１０Ａにおいて手書き入力されたストロークに対応する軌跡をグループオーナのカンバス上にリアルタイムに描画することもできる。
【００６９】
図７は、本実施形態で使用されるカンバス３０Ａを示す。
【００７０】
前述したように、カンバス３０Ａのサイズは、物理画面のサイズ（解像度）を超えて設定することが可能である。グループオーナ（主催者）の物理画面のサイズを仮に１ページとして、ここでは、カンバス３０Ａが、仮想的に（横方向に３つ並べた）３ページ分の領域を持つものと想定する。カンバス３０Ａは、機器間のビジュアル通信を可能にするための共有画面（カンバスエリア）として使用される。例えば、グループオーナ（主催者）によってカンバス３０Ａ内のいずれかの部分に入力された情報は、各参加者のカンバス３０Ａ内の該当部分に反映（表示）される。同様に、ある参加者によってカンバス３０Ａ内のいずれかの部分に入力された情報は、グループオーナのカンバス３０Ａ内の該当部分および他の各参加者のカンバス３０Ａ内の該当部分に反映（表示）される。
【００７１】
各電子機器のユーザは、例えばスワイプのような指ジェスチャによって、カンバス３０Ａ内の任意のエリアをディスプレイに表示することができる。例えば、表示エリアをカンバス３０Ａ内で移動させることができ、また、表示エリアのサイズを拡大・縮小することができる。各ユーザ（参加者、オーナ）は、現在の表示エリアにテキストや手書きデータを書き込むこともできる。また、各ユーザは、現在の表示エリアに自身によってあるいは他のユーザによって書かれた情報を閲覧することができる。
【００７２】
各電子機器が手書き共有サービスにログインした時に各電子機器に表示されるデフォルトの表示エリアは、例えば、カンバス３０Ａの左端部を基準に決定される。各電子機器の物理画面のサイズは異なっていてもよく、各電子機器において各々の物理画面のサイズに応じた表示が行われる。
【００７３】
次に、本実施形態の手書きコラボレーション機能が有するプレビュー機能について説明する。
【００７４】
前述したように、各電子機器のユーザは、例えば、スワイプのような指ジェスチャによって、カンバス３０Ａ内の任意のエリアをディスプレイに表示することができる。したがって、図８に示されているように、あるユーザ（ユーザＡ）が見ている表示エリアと別のユーザ（ユーザＢ）が見ている表示エリアとが異なる可能性がある。そのため、各ユーザから、他のユーザがどの表示エリアを見ているのかを把握したい、表示エリアを他のユーザが見ている表示エリアと一致させたい、といった要望が生じ得る。プレビュー機能は、この要望に応えるものである。
【００７５】
ここでは、電子機器１０Ｂがプレビュー機能を作動させる場合、つまりプレビュー処理を実行する場合を想定する。参加者２は、電子機器１０Ｂのタッチスクリーンディスプレイ１７に図９に示されるようなメニューを表示することができる。このメニューは「プレビュー」ボタンを含む。「プレビュー」ボタンは、カンバス３０Ａ全体をカンバス３０Ａのどの表示エリアが個々の電子機器によって現在表示されているかを識別可能な形態で表示するためのプレビュー処理を起動するためのソフトウェアボタンである。図１０に、各ユーザの電子機器によって実行されるプレビュー処理の流れを示す。
【００７６】
「プレビュー」ボタンがユーザによってタップされると、電子機器１０Ｂは、全ユーザの現在の表示エリアに関する情報をグループオーナの電子機器１０Ａに要求する（図１０の（１））。現在の表示エリアに関する情報は、例えば、カンバス３０Ａ内における表示エリアの左上端部の位置情報と右下端部の位置情報とである。さらに表示倍率を含んでいてもよい。この要求を受けた電子機器１０Ａは、現在の表示エリアに関する情報を他の参加者の電子機器１０Ｃに要求する（図１０の（２））。
【００７７】
この要求を受けた電子機器１０Ｃは、現在の表示エリアに関する情報をグループオーナの電子機器１０Ａに返却する（図１０の（３））。電子機器１０Ａは、電子機器１０Ｃから受け取った現在の表示エリアに関する情報と、自機器における現在の表示エリアに関する情報とを電子機器１０Ｂに返却する（図１０の（４））。
【００７８】
電子機器１０Ｂは、電子機器１０Ａから受け取った情報に基づき、他の各電子機器において現在表示されている表示エリアを特定する。そして、電子機器１０Ｂは、図１１に示すように、例えばカンバス３０Ａ全体を縮小表示することによって得られるカンバス３０Ａのプレビュー画像を電子機器１０Ｂのディスプレイに表示する。図１１に示すように、電子機器１０Ｂは、各ユーザによって見られている表示エリアを囲む枠を表示する。枠には、枠によって囲まれた表示エリアを見ているユーザを識別するためのインジケータとして機能するタグが付けられていてもよい。タグには、ユーザＩＤやユーザの機器の機器ＩＤを表示してもよい。また、枠は、ユーザ毎に異なる形態（例えば、異なる色）で表示されてもよい。このように、各ユーザは、カンバス３０Ａ全体を俯瞰でき、かつ、全ユーザの現在の表示エリアを確認できる。なお、プレビュー画像の表示中も表示倍率は変更可能である。そのため、倍率によっては、カンバス３０Ａ全体を拡大表示してプレビュー画面を表示する場合もある。
【００７９】
また、電子機器１０Ｂのユーザ（ユーザＢ）が、例えばタッチまたはタップのような指ジェスチャによって、カンバス３０Ａのプレビュー画像上の例えば電子機器１０Ａの表示エリアを選択すると、図１２に示されるように、電子機器１０Ｂに表示される表示エリアは、そのプレビュー画像上で選択された電子機器１０Ａの表示エリアに変更される。このように、各ユーザは、必要に応じて、自機器に表示される表示エリアを他のユーザが見ている表示エリアと容易に一致させること（他のユーザが見ている表示エリアに容易に移動させること）ができる。
【００８０】
図１３は、タブレットコンピュータ１０のシステム構成を示す。
【００８１】
タブレットコンピュータ１０は、図１３に示されるように、ＣＰＵ１０１、システムコントローラ１０２、主メモリ１０３、グラフィクスプロセッシングユニット（ＧＰＵ）１０４、ＢＩＯＳ−ＲＯＭ１０５、不揮発性メモリ１０６、無線通信デバイス１０７、エンベデッドコントローラ（ＥＣ）１０８等を備える。
【００８２】
ＣＰＵ１０１は、タブレットコンピュータ１０内の様々なコンポーネントの動作を制御するプロセッサである。ＣＰＵ１０１は、ストレージデバイスである不揮発性メモリ１０６から主メモリ１０３にロードされる様々なプログラムを実行する。これらプログラムには、オペレーティングシステム（ＯＳ）２０１、および様々なアプリケーションプログラムが含まれている。アプリケーションプログラムには、手書き共有アプリケーションプログラム２０２が含まれている。この手書き共有アプリケーションプログラム２０２は、手書き情報を複数の電子機器間で共有するための前述の手書きコラボレーション機能を実行することができる。
【００８３】
また、ＣＰＵ１０１は、ＢＩＯＳ−ＲＯＭ１０５に格納された基本入出力システム（ＢＩＯＳ）も実行する。ＢＩＯＳは、ハードウェア制御のためのプログラムである。
【００８４】
システムコントローラ１０２は、ＣＰＵ１０１のローカルバスと各種コンポーネントとの間を接続するデバイスである。システムコントローラ１０２には、主メモリ１０３をアクセス制御するメモリコントローラも内蔵されている。また、システムコントローラ１０２は、ＰＣＩ  ＥＸＰＲＥＳＳ規格のシリアルバスなどを介してグラフィクスプロセッシングユニット（ＧＰＵ）１０４との通信を実行する機能も有している。
【００８５】
ＧＰＵ１０４は、本タブレットコンピュータ１０のディスプレイモニタとして使用されるＬＣＤ１７Ａを制御する表示プロセッサである。このＧＰＵ１０４によって生成される表示信号はＬＣＤ１７Ａに送られる。ＬＣＤ１７Ａは、表示信号に基づいて画面イメージを表示する。このＬＣＤ１７Ａの上面側にはタッチパネル１７Ｂが配置されている。ＬＣＤ１７Ａの下面側にはデジタイザ１７Ｃが配置されている。タッチパネル１７Ｂは、ＬＣＤ１７Ａの画面上で入力を行うための静電容量式のポインティングデバイスである。指が接触される画面上の接触位置および接触位置の動き等はタッチパネル１７Ｂによって検出される。デジタイザ１７ＣはＬＣＤ１７Ａの画面上で入力を行うための電磁誘導式のポインティングデバイスである。ペン１００が接触される画面上の接触位置および接触位置の動き等はデジタイザ１７Ｃによって検出される。
【００８６】
無線通信デバイス１０７は、無線通信を実行するように構成されたデバイスである。ＥＣ１０８は、電力管理のためのエンベデッドコントローラを含むワンチップマイクロコンピュータである。ＥＣ１０８は、ユーザによるパワーボタンの操作に応じて本タブレットコンピュータ１０を電源オンまたは電源オフする機能を有している。
【００８７】
次に、図１４を参照して、手書き共有アプリケーションプログラム２０２の構成について説明する。
【００８８】
手書き共有アプリケーションプログラム２０２は、手書き情報を共有するための機能実行モジュールとして、手書き入力インタフェース３００、表示処理部３０１、処理部３０２、送信制御部３０３、および受信制御部３０４等を含む。
【００８９】
手書き共有アプリケーションプログラム２０２は、タッチスクリーンディスプレイ１７を用いて入力されるストロークデータを使用することによって、手書きページデータの作成、表示、編集等を行う。タッチスクリーンディスプレイ１７のデジタイザ１７Ｃは、「タッチ」、「移動（スライド）」、「リリース」等のイベントの発生を検出するように構成されている。「タッチ」は、画面上にペンが接触したことを示すイベントである。「移動（スライド）」は、画面上にペンが接触されている間に接触位置が移動されたことを示すイベントである。「リリース」は、画面からペンが離されたことを示すイベントである。
【００９０】
手書き入力インタフェース３００は、タッチスクリーンディスプレイ１７のデジタイザ１７Ｃと協働して手書き入力を行うように構成されたインタフェースである。手書き入力インタフェース３００は、タッチスクリーンディスプレイ１７のデジタイザ１７Ｃから「タッチ」または「移動（スライド）」のイベントを受信し、これによって手書き入力操作を検出する。「タッチ」イベントには、接触位置の座標が含まれている。「移動（スライド）」イベントにも、移動先の接触位置の座標が含まれている。したがって、手書き入力インタフェース３００は、タッチスクリーンディスプレイ１７から、接触位置の動きの軌跡に対応する座標列（複数の点データ）を受信することができる。
【００９１】
表示処理部３０１は、カンバス３０Ａ内の一部または全体をＬＣＤ１７Ａに表示する。また、表示処理部３０１は、手書き入力インタフェース３００からの座標列に基づいて、ペン１００を使用した手書き入力操作によって手書き入力される各ストロークをＬＣＤ１７Ａに表示する。さらに、表示処理部３０１は、処理部３０２の制御の下、他の電子機器においてカンバス３０Ａ内に書かれた情報をＬＣＤ１７Ａに表示する。
【００９２】
送信制御部３０３は、処理部３０２の制御の下、無線通信デバイス１０７を使用して、ＬＣＤ１７Ａ上の表示エリアに入力された情報を他の電子機器に送信するための処理を実行する。受信制御部３０４は、処理部３０２の制御の下、無線通信デバイス１０７を使用して、他の電子機器の表示エリアに入力された情報を他の電子機器から受信するための処理を実行する。
【００９３】
処理部３０２は、複数の電子機器間で手書き情報を共有するための処理を実行する。この処理部３０２は、メンバ管理部３１１、保存処理部３１２、プレビュー処理部３１３等を含む。
【００９４】
メンバ管理部３１１は、手書き共有サービスにログインしているメンバ（電子機器）それぞれを管理する。メンバ管理部３１１は、手書き共有サービスへのログインを要求している電子機器に、ログインすることを許可するか否かを決定することができる。メンバ管理部３１１から許可を受け取った電子機器は、手書き共有サービスにログインすることが許可され、これによって手書き共有サービスにログインしている他の各電子機器と接続される。メンバ管理部３１１の機能は、手書きコラボレーションサーバシステムとして動作する電子機器（グループオーナの電子機器）においてのみ実行されてもよい。
【００９５】
保存処理部３１２は、他の電子機器から受信されるデータをデータベース１２に保存するための処理を実行する。各データは、表示エリアに関連付けられた状態でデータベース１２に保存されてもよい。手書きデータに関しては、各点データは、タイムスタンプと共に、データベース１２に保存される。
【００９６】
プレビュー処理部３１３は、前述のプレビュー処理を実行する。ＬＣＤ１７Ａ上に表示される「プレビュー」ボタンがユーザによって操作されたならば、プレビュー処理部３１３は、どの表示エリアが各電子機器によって現在表示されているかを識別可能な形態で、カンバス３０Ａ全体のプレビュー画像をＬＣＤ１７Ａ上に表示する。また、プレビュー画像上のいずれかの表示エリアが選択されたならば、自機器の表示エリアを当該選択された表示エリアに切り換える。
【００９７】
図１５は、プレビュー処理の手順を示すフローチャートである。
【００９８】
「プレビュー」ボタンがユーザによって操作された時、処理部３０２は、例えばカンバス３０Ａ全体を縮小表示することによりカンバス３０Ａのプレビュー画像を生成する（ブロックＡ１）。なお、前述したように、プレビュー画像の表示中も表示倍率は変更可能であるため、倍率によっては、カンバス３０Ａ全体を拡大表示してプレビュー画面を表示する場合もある。
【００９９】
さらに、処理部３０２は、現在表示されている表示エリアをグループオーナの電子機器に問い合わせることによって、他の各電子機器において現在表示されている表示エリアを特定する。そして、処理部３０２は、プレビュー画像を、カンバス３０Ａのどの表示エリアが個々の電子機器によって現在表示されているかを識別可能な形態で、ＬＣＤ１７Ａ上に表示する。例えば、処理部３０２は、各ユーザが見ている表示エリアを囲む枠をプレビュー画像上に表示してもよい。また、処理部３０２は、各表示エリアを見ているユーザを識別可能な情報（例えば、図１１で説明したタグ等）をプレビュー画像上に表示してもよい。
【０１００】
処理部３０２は、ユーザによってプレビュー画像上のある表示エリア（枠で囲まれたエリア）が選択されたか否かを判定する（ブロックＡ２）。プレビュー画像上のある表示エリアがユーザによって選択されたならば（ブロックＡ２のＹＥＳ）、処理部３０２は、プレビュー画像を表示する処理を終了し、ＬＣＤ１７Ａ上に、選択された表示エリアを通常サイズで表示する（ブロックＡ３）。
【０１０１】
以上説明したように、本実施形態においては、各ユーザは、カンバス３０Ａ全体を俯瞰でき、かつ、全ユーザの現在の表示エリアを確認できる。また、各ユーザは、必要に応じて、自機器に表示される表示エリアを他のユーザが見ている表示エリアと容易に一致させること（他のユーザが見ている表示エリアに容易に移動させること）ができる。
【０１０２】
なお、本実施形態の手書きコラボレーションサーバシステム（電子機器１０Ａ）の機能は１以上のプロセッサによって実現できる。
【０１０３】
また、本実施形態の手書きコラボレーションサーバシステム（電子機器１０Ａ）の機能はコンピュータプログラムによって実現することができるので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのコンピュータプログラムをコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【０１０４】
本実施形態に記載された様々な機能の各々は、処理回路によって実現されてもよい。処理回路の例には、中央処理装置（ＣＰＵ）のような、プログラムされたプロセッサが含まれる。このプロセッサは、メモリに格納されたプログラムを実行することによって、記載された機能それぞれを実行する。このプロセッサは、電気回路を含むマイクロプロセッサであってもよい。処理回路の例は、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、マイクロコントローラ、コントローラ、他の電気回路部品も含む。
【０１０５】
本実施形態の各種処理はコンピュータプログラムによって実現することができるので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのコンピュータプログラムを通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【０１０６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１０７】
１０…タブレットコンピュータ、１１…本体、１２…データベース、１７…タッチスクリーンディスプレイ、１７Ａ…ＬＣＤ、１７Ｂ…タッチパネル、１７Ｃ…デジタイザ、３０Ａ…カンバス、１０１…ＣＰＵ、１０２…システムコントローラ、１０３…主メモリ、１０４…グラフィクスプロセッシングユニット（ＧＰＵ）、１０５…ＢＩＯＳ−ＲＯＭ、１０６…不揮発性メモリ、１０７…無線通信デバイス、１０８…エンベデッドコントローラ（ＥＣ）、２０１…オペレーティングシステム、２０２…手書き共有アプリケーションプログラム、３００…手書き入力インタフェース、３０１…表示処理部、３０２…処理部、３０３…送信制御部、３０４…受信制御部、３１１…メンバ管理部、３１２…保存処理部、３１３…プレビュー処理部
【図１】
0006465277.tif 000002
【図２】
0006465277.tif 000003
【図３】
0006465277.tif 000004
【図４】
0006465277.tif 000005
【図５】
0006465277.tif 000006
【図６】
0006465277.tif 000007
【図７】
0006465277.tif 000008
【図８】
0006465277.tif 000009
【図９】
0006465277.tif 000010
【図１０】
0006465277.tif 000011
【図１１】
0006465277.tif 000012
【図１２】
0006465277.tif 000013
【図１３】
0006465277.tif 000014
【図１４】
0006465277.tif 000015
【図１５】
0006465277.tif 000016