(57)【要約】【課題】手書きの情報を他の装置と共有する。【解決手段】表示装置１０Ａは、表示領域上で移動したスタイラスペンの座標を検出する。表示装置１０Ａは、表示装置１０Ｂが、表示装置１０Ａと同じページを表示している場合、検出したスタイラスペンの座標を圧縮して表示装置１０Ｂへ送信する。表示装置１０Ｂは、圧縮されている座標を復元し、復元した座標に基づいて、手書きの線を表示する。表示装置１０Ｂは、表示装置１０Ｂが同じページを表示していない場合、手書きの線のベクター形式のデータを表示装置１０Ｂへ送信する。表示装置１０Ｂは、表示装置１０Ｂと同じページを表示する場合、ベクター形式のデータに基づいて手書きの線を表示する。【選択図】図１
2015201035.tif 000002
【特許請求の範囲】
【請求項１】
表示領域を指示した指示体の位置を検出するセンサーと、
前記センサーが検出した位置を記憶する記憶部と、
前記記憶部に記憶された位置について、検出順番が前の位置との位置差分を演算する演算部と、
前記演算部が演算した位置差分を、送信先の装置が表示している画像に応じて送信する送信部と、
を有する送信装置。
【請求項２】
前記送信部は、前記送信先の装置が表示している画像と前記表示領域が表示している画像とが同じである場合、前記複数の位置差分を送信する
請求項１の送信装置。
【請求項３】
前記記憶部に記憶された位置に基づいて線のオブジェクトのデータを生成するデータ生成部を有し、
前記送信部は、前記表示領域に表示されている画像と、前記送信先の装置が表示している画像とが異なる場合、前記データ生成部が生成したデータを送信する
請求項１または請求項２に記載の送信装置。
【請求項４】
前記記憶部に記憶された位置に基づいて線のオブジェクトのデータを生成するデータ生成部を有し、
前記送信部は、前記表示領域に表示されているページが他のページに変更されたことを契機にして、前記データ生成部が生成したデータを送信する
請求項１または請求項２に記載の送信装置。
【請求項５】
前記送信部は、前記送信先の装置が表示しているページが、前記表示部が表示しているページに変更されたことを契機にして、前記データ生成部が生成したデータを送信する
請求項４に記載の送信装置。
【請求項６】
前記表示領域に表示されているページが他のページに変更されたことを契機にして、前記記憶部に記憶された位置に基づいて線のオブジェクトのデータを生成するデータ生成部を有し、
前記送信部は、前記データ生成部が生成したデータを送信する
請求項１または請求項２に記載の送信装置。
【請求項７】
表示部と、
前記表示部の表示領域を指示した指示体の位置を検出するセンサーと、
前記センサーが検出した位置を記憶する記憶部と、
前記記憶部に記憶された位置について、検出順番が前の位置との位置差分を演算する演算部と、
前記演算部が演算した位置差分を、送信先の装置が表示している画像に応じて送信する送信部と、
を有する表示装置。
【請求項８】
表示領域を指示した指示体の位置を検出するセンサーが検出した位置を記憶する記憶ステップと、
前記記憶ステップで記憶された位置について、検出順番が前の位置との位置差分を演算する演算ステップと、
前記演算ステップで演算した位置差分を、送信先の装置が表示している画像に応じて送信する送信ステップと、
を有する送信方法。
【請求項９】
コンピューターに、
表示領域を指示した指示体の位置を検出するセンサーが検出した位置を記憶する記憶ステップと、
前記記憶ステップで記憶された位置について、検出順番が前の位置との位置差分を演算する演算ステップと、
前記演算ステップで演算した位置差分を、送信先の装置が表示している画像に応じて送信する送信ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送信装置、表示装置、送信方法およびプログラムに関する。
【背景技術】
【０００２】
２台のコンピューターで同じ画面を表示する発明として、例えば特許文献１に開示された発明がある。この発明においては、講師端末で行われた操作に基づく操作情報をネットワークを介して受講生端末へ送信する。受講生端末は、講師端末が送信した操作情報を受信すると、受信した操作情報を再生する。例えば、講師端末でマウスを移動させた場合、マウスの座標を含み、マウスの移動を示す操作情報が講師端末から受講生端末へ送信される。受講生端末は、送信された操作情報を受信すると、操作情報に含まれる座標にマウスカーソルを移動させる。また、受講生端末が複数台ある場合、受講生端末から講師端末へ操作情報を送信すると、講師端末で操作情報が再生され、操作情報を送信した受講生端末の画面が講師端末で表示される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−２９８６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の技術によれば、例えば、講師端末でスタイラスペンにより描画された手書きの線を受講生端末に表示することも可能となる。しかしながら、受講生端末においては、講師端末が表示している画面と異なる画面が表示されている場合があり得る。この場合、スタイラスペンの移動軌跡の情報を講師端末から受講生端末へ送信すると、表示されている画面とは関係のない手書きの線が描画されることとなる。
【０００５】
本発明は、上述した事情に鑑みてなされたものであり、その目的の一つは、手書きの情報を他の装置と共有することにある。
【課題を解決するための手段】
【０００６】
本発明は、表示領域を指示した指示体の位置を所定周期で検出するセンサーと、前記センサーが検出した位置を記憶する記憶部と、前記記憶部に記憶された位置について、検出順番が前の位置との位置差分を演算する演算部と、前記演算部が演算した位置差分を、送信先の装置が表示している画像に応じて送信する送信部と、を有する送信装置を提供する。
この構成によれば、手書き線に係る情報を他の装置へ送信し、手書きの情報を他の装置と共有することができる。
【０００７】
本発明においては、前記送信部は、前記送信先の装置が表示している画像と前記表示領域が表示している画像とが同じである場合、前記複数の位置差分を送信する構成としてもよい。
この構成によれば、送信側と送信先の装置とで同じ画像を表示している場合、手書きの線を表示するための位置の情報を送信し、他の装置で表示されている画像に手書きの線を表示することができる。
【０００８】
また、本発明においては、前記記憶部に記憶された位置に基づいて線のオブジェクトのデータを生成するデータ生成部を有し、前記送信部は、前記表示領域に表示されている画像と、前記送信先の装置が表示している画像とが異なる場合、前記データ生成部が生成したデータを送信する構成としてもよい。
この構成によれば、手書きの線についてオブジェクトのデータを送信し、送信先では、オブジェクトのデータに基づいて、手書きの線を表示することができる。
【０００９】
また、本発明においては、前記記憶部に記憶された位置に基づいて線のオブジェクトのデータを生成するデータ生成部を有し、前記送信部は、前記表示領域に表示されているページが他のページに変更されたことを契機にして、前記データ生成部が生成したデータを送信する構成としてもよい。
この構成によれば、手書きの線についてオブジェクトのデータを送信し、送信先では、オブジェクトのデータに基づいて、手書きの線を表示することができる。
【００１０】
また、本発明においては、前記送信部は、前記送信先の装置が表示しているページが、前記表示部が表示しているページに変更されたことを契機にして、前記データ生成部が生成したデータを送信する構成としてもよい。
この構成によれば、手書きの線についてオブジェクトのデータを送信し、送信先では、オブジェクトのデータに基づいて、手書きの線を表示することができる。
【００１１】
また、本発明においては、前記表示領域に表示されているページが他のページに変更されたことを契機にして、前記記憶部に記憶された位置に基づいて線のオブジェクトのデータを生成するデータ生成部を有し、前記送信部は、前記データ生成部が生成したデータを送信する構成としてもよい。
この構成によれば、送信側で表示しているページが他のページに変更されたときに手書きの線についてオブジェクトのデータを送信し、送信先では、表示するページを変更したときに、オブジェクトのデータに基づいて、手書きの線を表示することができる。
【００１２】
また、本発明は、表示部と、前記表示部の表示領域を指示した指示体の位置を検出するセンサーと、前記センサーが検出した位置を記憶する記憶部と、前記記憶部に記憶された位置について、検出順番が前の位置との位置差分を演算する演算部と、前記演算部が演算した位置差分を、送信先の装置が表示している画像に応じて送信する送信部と、を有する表示装置を提供する。
この構成によれば、手書き線に係る情報を他の装置へ送信し、手書きの情報を他の装置と共有することができる。
【００１３】
また、本発明は、表示領域を指示した指示体の位置を検出するセンサーが検出した位置を記憶する記憶ステップと、前記記憶ステップで記憶された位置について、検出順番が前の位置との位置差分を演算する演算ステップと、前記演算ステップで演算した位置差分を、送信先の装置が表示している画像に応じて送信する送信ステップと、を有する送信装置を提供する。
この構成によれば、手書き線に係る情報を他の装置へ送信し、手書きの情報を他の装置と共有することができる。
【００１４】
また、本発明は、コンピューターに、表示領域を指示した指示体の位置を検出するセンサーが検出した位置を記憶する記憶ステップと、前記記憶ステップで記憶された位置について、検出順番が前の位置との位置差分を演算する演算ステップと、前記演算ステップで演算した位置差分を、送信先の装置が表示している画像に応じて送信する送信ステップと、を実行させるためのプログラムを提供する。
この構成によれば、手書き線に係る情報を他の装置へ送信し、手書きの情報を他の装置と共有することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態に係る表示システム１を構成する装置を示した図。
【図２】表示装置１０Ａ，１０Ｂのハードウェア構成を示したブロック図。
【図３】表示装置１０Ａ，１０Ｂの機能ブロック図。
【図４】表示部１０７に表示される画面の一例を示した図。
【図５】第２アプリ１２００が行う処理の流れを示したフローチャート。
【図６】実施形態の動作を説明するための図。
【図７】第２アプリ１２００が行う処理の流れを示したフローチャート。
【図８】圧縮データを説明するための図。
【発明を実施するための形態】
【００１６】
［実施形態］
図１は、本発明の一実施形態に係る表示システム１を構成する装置を示した図である。スタイラスペンＰＥは、表示装置１０の表示領域の座標を指示する指示体の一例である。スタイラスペンＰＥは、先端にかかる圧力（筆圧）を検知するための電子回路を備えている。表示装置１０Ａ，１０Ｂは、表示デバイスとして電気泳動方式の電子ペーパーを有し、文書ファイルに対応する文書を表示する装置である。表示装置１０Ａ，１０Ｂの構成はそれぞれ同じであるため、以下、各々を区別する必要がない場合は、表示装置１０と記載する。表示装置１０は、スタイラスペンＰＥの先端の座標や先端に掛かる圧力をセンサーで検出する。表示装置１０は、手書きの画像を表示する機能を有しており、スタイラスペンＰＥを表示装置１０の表示領域上で移動させると、センサーで検出した座標や圧力に基づいて、スタイラスペンＰＥの移動軌跡に応じた手書きの線の画像を表示する。
【００１７】
（表示装置１０の構成）
図２は、表示装置１０のハードウェア構成を示した図である。表示部１０７は、画素が複数行複数列で配列された電気泳動方式の電子ペーパーであり、多階調のモノクロの画像（グレースケール）を表示する。表示部１０７は、電力を供給しなくとも表示した画像を保持する表示デバイス、即ち、記憶性を有する表示領域を備えた表示デバイスの一例である。なお、表示部１０７は、電子粉粒体（登録商標）方式の電子ペーパーであってもよい。また、表示部１０７は、電子ペーパーに限定さるものではなく、液晶ディスプレイまたは有機ＥＬディスプレイであってもよい。
【００１８】
センサー１０３は、スタイラスペンＰＥの先端の座標や筆圧を検出するセンサーである。なお、本実施形態のスタイラスペンＰＥやセンサー１０３は、例えば、特開２０１０−１１７９４３号公報に開示されている位置指示器や位置検出装置などの周知の構成を適用してもよい。センサー１０３は、表示部１０７の表示領域上にあるスタイラスペンＰＥの先端の座標と、スタイラスペンＰＥの先端にかかる圧力（筆圧）を周期的に検出する。センサー１０３は、検出した座標を示す第１データと、検出した圧力を示す第２データとを組にして制御部１００へ出力する。
【００１９】
バッファー１０５は、表示部１０７に表示させる画像に対応する画像データを記憶するメモリーである。バッファー１０５は、表示部１０７の画素毎に画素の階調値を記憶する記憶領域を有している。各画素の記憶領域には、画素の階調値を表すデータが制御部１００により書き込まれる。コントローラー１０６は、表示部１０７の表示を制御する制御部である。コントローラー１０６は、バッファー１０５に記憶されている階調値の画像データを取得し、取得した画像データに基づいて表示部１０７の各画素を駆動する。
【００２０】
記憶部１０２は、不揮発性メモリーを有しており、文書ファイルを記憶する。本実施形態においては、文書ファイルのフォーマットは、文書がページ毎に区切られるＰＤＦ（Portable Document Format）であるが、文書ファイルのフォーマットは、ＰＤＦに限定されるものではなく、他のフォーマットであってもよい。また、記憶部１０２は、文書ファイルに対応する文書を表示するアプリケーションプログラム（以下、第２アプリと称する）と、表示部１０７の表示を他の表示装置１０と同期させるアプリケーションプログラム（以下、第１アプリと称する）とを記憶している。
【００２１】
操作部１０１は、表示装置１０を操作するための複数のボタンを有している。通信部１０８は、無線通信を行う通信インターフェースである。通信部１０８は、無線ＬＡＮ（Local Area Network）の通信規格に従った通信を行い、他の装置への情報の送信や、他の装置から送信された情報の受信を行う。例えば、通信部１０８は、所謂Ｗｉｆｉ  Ｄｉｒｅｃｔと呼ばれる通信方式により他の装置と通信を行う。
【００２２】
制御部１００は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）を備えたマイクロコンピューターである。ＣＰＵがＲＯＭに記憶されているプログラム読み出し、読み出したプログラムを実行すると、表示装置１０のオペレーティングシステムが動作し、アプリケーションプログラムの実行が可能となる。
【００２３】
図３は、表示装置１０の機能を示した機能ブロック図である。本実施形態においては、オペレーティングシステム１０００が動作し、オペレーティングシステム１０００上でアプリケーションプログラムが動作する。オペレーティングシステム１０００は、ファイルの処理やハードウェアの制御など基本的な処理を行う。例えば、オペレーティングシステム１０００は、センサー１０３から供給される第１データと第２データとを取得する。オペレーティングシステム１０００は、取得した第１データと第２データを第２アプリ１２００へ送る。また、オペレーティングシステム１０００は、取得した第２データに基づいて発行するイベントを第２アプリ１２００へ送る。
【００２４】
具体的には、オペレーティングシステム１０００は、センサー１０３から送られた第２データに基づいてスタイラスペンＰＥの動作を示すイベントを発行する。例えば、オペレーティングシステム１０００は、新たに送られた第２データの値が圧力が掛かっていることを示す値である場合、新たに送られた第２データの一つ前に送られた第２データの値を確認する。オペレーティングシステム１０００は、一つ前に送られた第２データの値が圧力が掛かっていないことを示す値である場合、スタイラスペンＰＥが表示領域に接触したことを通知するペンタッチイベントを発行する。
また、オペレーティングシステム１０００は、新たに送られた第２データが圧力が掛かっていないことを示す値である場合、新たに送られた第２データの一つ前に送られた第２データの値を確認する。オペレーティングシステム１０００は、一つ前に送られた第２データの値が圧力が掛かっていることを示す値である場合、スタイラスペンＰＥが表示領域から離れたことを通知するペンリリースイベントを発行する。また、オペレーティングシステム１０００は、センサー１０３から新たに送られた第２データの値と、新たに送られた第２データより一つ前に送られた第２データの値がいずれも圧力が掛かっていることを示す値である場合、スタイラスペンＰＥが表示領域上で移動したことを通知するペン移動イベントを発行する。
【００２５】
また、オペレーティングシステム１０００は、第２アプリ１２００から送られる画像データと画像の更新命令を取得する。オペレーティングシステム１０００は、取得した画像データをバッファー１０５へ書き込み、取得した更新命令をコントローラー１０６へ送る。コントローラー１０６は、更新命令を受け取ると、画像データをバッファー１０５から取得し、取得した画像データに基づいて表示部１０７を駆動する。
また、オペレーティングシステム１０００は、第１アプリ１１００から送られた指示を通信部１０８を介して他の装置へ送り、他の装置から送られて通信部１０８が受信した指示を第１アプリ１１００へ送る。また、オペレーティングシステム１０００は、第１アプリ１１００から送られた指示を第２アプリ１２００へ送る。
【００２６】
第１アプリ１１００は、表示部１０７の表示と他の表示装置１０の表示とを同期させるための処理を実行するアプリケーションプログラムである。第１アプリ１１００は、後述する同期指示を他の表示装置１０へ送信し、他の表示装置１０から送信された同期指示を受信する。
【００２７】
第２アプリ１２００は、記憶部１０２に記憶されている文書ファイルに対応する文書を表示する機能、表示する文書のページを変更する機能、表示された文書に対して手書きの線を追記する機能などを有するアプリケーションプログラムである。
第２アプリ１２００は、演算部１２１０、送信部１２２０及びデータ生成部１２３０を有する。演算部１２１０は、センサー１０３が検出した座標や圧力の差分を演算する機能を有する。送信部１２２０は、演算部１２１０が演算した差分を送信する機能を有する。データ生成部１２３０は、センサー１０３が検出した座標や圧力に基づいた、ベクター形式である線のオブジェクトのデータを生成する機能を有する。
【００２８】
なお、表示装置１０Ａ，１０Ｂの構成は同じであるが、以下、表示装置１０Ａ，１０Ｂの各部を区別する必要がある場合、説明の便宜上、表示装置１０Ａの各部の符号の末尾には「Ａ」を付し、表示装置１０Ｂの各部の符号の末尾には「Ｂ」を付して説明を行う。
【００２９】
（実施形態の動作例）
次に、本実施形態の動作例について説明する。なお、以下の説明においては、表示装置１０Ａと表示装置１０Ｂとがペアリングされて接続済みであり、表示装置１０Ａ，１０Ｂに同じ文書ファイルが記憶されている場合を想定して動作例の説明を行う。
【００３０】
（文書を表示するときの動作例）
表示装置１０Ａのユーザーが、記憶部１０２Ａに記憶されている文書ファイルを開く操作を行うと、第２アプリ１２００Ａは、記憶部１０２Ａから文書ファイルを取得する。第２アプリ１２００Ａは、取得した文書ファイルに基づいて画像データを生成し、生成した画像データをオペレーティングシステム１０００Ａへ送る。オペレーティングシステム１０００Ａは、第２アプリ１２００Ａから送られた画像データをバッファー１０５Ａへ書き込む。また、第２アプリ１２００Ａは、画像の更新命令をオペレーティングシステム１０００Ａへ送る。オペレーティングシステム１０００Ａは、更新命令を取得すると、取得した更新命令をコントローラー１０６Ａへ送る。コントローラー１０６Ａが、更新命令を受け取り、バッファー１０５Ａへ書き込まれた画像データに基づいて表示部１０７Ａを駆動すると、図４に例示したように、文書ファイルに対応する文書が表示される。なお、表示部１０７Ａにおいては、表示されている文書に対して各種処理を施すためのツールバーＴＢ１も表示される。ツールバーＴＢ１には、各種処理を実行するためのアイコンＴ１〜Ｔ１６が含まれている。
【００３１】
表示装置１０Ａのユーザーは、表示装置１０Ｂの表示を表示装置１０Ａの表示と同期させる場合、スタイラスペンＰＥでアイコンＴ１６をタップする。第２アプリ１２００Ａは、同期モードがオフのときにアイコンＴ１６がタップされると、同期モードをオンとする。なお、同期モードがオンのときにアイコンＴ１６がタップされると、第２アプリ１２００Ａは、同期モードをオフとする。
【００３２】
第２アプリ１２００Ａは、同期モードをオンとすると、表示されている文書の文書ファイル名と、表示されている文書のページ番号とを含み、表示の同期を指示する第１同期指示を第１アプリ１１００Ａへ発行する。第１アプリ１１００Ａは、第２アプリ１２００Ａが発行した第１同期指示を取得する。第１アプリ１１００Ａは、取得した第１同期指示の宛先を接続済みの表示装置１０Ｂとして、第１同期指示をオペレーティングシステム１０００Ａへ送る。オペレーティングシステム１０００Ａは、第１アプリ１１００Ａから送られた第１同期指示を、通信部１０８Ａを制御して表示装置１０Ｂへ送信する。
【００３３】
表示装置１０Ａが転送した第１同期指示を通信部１０８Ｂが受信すると、オペレーティングシステム１０００Ｂは、通信部１０８Ｂが受信した第１同期指示を第１アプリ１１００Ｂへ送る。第１アプリ１１００Ｂは、第１同期指示を取得し、取得した第１同期指示をオペレーティングシステム１０００Ｂを介して第２アプリ１２００Ｂへ送る。なお、表示装置１０のオペレーティングシステムがＡｎｄｒｏｉｄ（登録商標）である場合、第１同期指示は、第２アプリ１２００を示す識別情報を含む。この場合、第１アプリ１１００Ｂは、第１同期指示に含まれる識別情報で特定される第２アプリ１２００Ｂを送り先とし、取得した第１同期指示を明示的Ｉｎｔｅｎｔによってオペレーティングシステム１０００Ｂへ送る。オペレーティングシステム１０００Ｂは、送り先として指定された第２アプリ１２００Ｂへ第１同期指示を送る。オペレーティングシステム１０００Ｂは、識別情報で特定される第２アプリ１２００Ｂが実行されていない場合、第２アプリ１２００Ｂを実行してから第１同期指示を第２アプリ１２００Ｂへ送る。なお、取得した第１同期指示を暗黙的Ｉｎｔｅｎｔによってオペレーティングシステム１０００Ｂを介して第２アプリ１２００Ｂへ送る構成であってもよい。第２アプリ１２００Ｂは、第１アプリ１１００Ｂからオペレーティングシステム１０００Ｂを介して送られた第１同期指示を取得する。
【００３４】
第２アプリ１２００Ｂは、第１同期指示を取得すると、第１同期指示に含まれている文書ファイル名の文書ファイルを記憶部１０２Ｂから取得する。第２アプリ１２００Ｂは、第１同期指示に含まれているページ番号のページの画像データを、取得した文書ファイルに基づいて生成する。第２アプリ１２００Ｂは、生成した画像データをオペレーティングシステム１０００Ｂへ送る。オペレーティングシステム１０００Ｂは、第２アプリ１２００Ｂから送られた画像データをバッファー１０５Ｂへ書き込む。また、第２アプリ１２００Ｂは、表示の更新を指示する更新命令を発行する。オペレーティングシステム１０００Ｂは、更新命令を取得すると、取得した更新命令をコントローラー１０６Ｂへ送る。更新命令を受け取ったコントローラー１０６が、バッファー１０５Ｂへ書き込まれた画像データに基づいて表示部１０７Ｂを駆動すると、表示装置１０Ａに表示された文書のページと同じページが表示部１０７Ｂに表示される。
【００３５】
（手書きの線を追記したときの動作例）
次に、表示された文書にユーザーが手書きの線を追記するときの動作例について説明する。ユーザーが、例えばスタイラスペンＰＥでアイコンＴ１をタップすると、表示されている文書に手書きの線を追記することが可能となる。周期的に座標を検出しているセンサー１０３Ａは、座標を検出するタイミングのときに、スタイラスペンＰＥが表示部１０７Ａの表示領域に接触してないときは、圧力が掛かっていないことを示す値の第２データを出力する。ユーザーが表示部１０７Ａの表示領域上にスタイラスペンＰＥを接触させると、センサー１０３Ａは、第１データ（座標データ）と、スタイラスペンＰＥの先端に掛かる圧力を示す第２データとを出力する。オペレーティングシステム１０００Ａは、センサー１０３Ａが出力した第１データと第２データとを取得する。
【００３６】
なお、オペレーティングシステム１０００は、第１データと第２データとを浮動小数点型（例えば、double型（８バイト））で処理する。つまり、オペレーティングシステム１０００においては、Ｘ座標が８バイトのデータ、Ｙ座標が８バイトのデータ、圧力が８バイトのデータとなる。オペレーティングシステム１０００Ａは、新たに取得した第２データの一つ前に取得した第２データの値が圧力が掛かっていないことを示す値であり、新たに取得した第２データの値が圧力が掛かっていることを示す値である場合、ペンタッチイベントを発行し、発行したペンタッチイベントと、取得した第１データ及び第２データを第２アプリ１２００Ａへ送る。
【００３７】
第２アプリ１２００Ａは、オペレーティングシステム１０００Ａから送られたペンタッチイベント、第１データ及び第２データを取得する。
【００３８】
第２アプリ１２００Ａは、ペンタッチイベントの取得を契機にして、図５に示した処理を実行する。ペンタッチイベントを取得した第２アプリ１２００Ａは、まず、第１データ及び第２データの取得回数を示すカウンターｎの値を初期化して１にする（ステップＳＡ１）。次に第２アプリ１２００Ａは、取得した第１データと第２データをＲＡＭに記憶させ（ステップＳＡ２）、取得した第１データの座標に点を描画する画像データを生成する（ステップＳＡ３）。なお、画像データでの点の大きさは、第２データの値に対応した大きさとなる。
【００３９】
第２アプリ１２００Ａは、生成した画像データをオペレーティングシステム１０００Ａへ送る（ステップＳＡ４）。オペレーティングシステム１０００Ａは、第２アプリ１２００Ａから送られた画像データをバッファー１０５Ａへ書き込む。また、第２アプリ１２００Ａは、表示の更新を指示する更新命令を発行する（ステップＳＡ５）。オペレーティングシステム１０００Ａは、更新命令を取得すると、取得した更新命令をコントローラー１０６Ａへ送る。コントローラー１０６Ａが、更新命令を受け取り、バッファー１０５Ａへ書き込まれた画像データに基づいて表示部１０７Ａを駆動すると、スタイラスペンＰＥが指示した位置に点が表示される。
【００４０】
ユーザーがスタイラスペンＰＥを表示領域に接触させたまま移動させると、センサー１０３Ａは、スタイラスペンＰＥの移動に応じた第１データと第２データとを出力する。オペレーティングシステム１０００Ａは、センサー１０３Ａが出力した第１データと第２データとを取得する。オペレーティングシステム１０００Ａは、圧力が掛かっていることを示す値の第２データを取得すると、取得した第２データの一つ前に取得した第２データの値が圧力が掛かっていることを示す値である場合、ペン移動イベントを発行し、発行したペン移動イベントと、取得した第１データ及び第２データを第２アプリ１２００Ａへ送る。
【００４１】
第２アプリ１２００Ａは、ペン移動イベントを取得すると（ステップＳＡ６でＹＥＳ）、取得した第１データと第２データをＲＡＭに記憶させ（ステップＳＡ７）、新たに取得した第１データの座標と、新たに取得した第１データの一つ前に取得した第１データの座標とを結ぶ線の画像データを生成する（ステップＳＡ８）。なお、この線の太さは、取得した第２データの値に対応した太さとなる。第２アプリ１２００Ａは、生成した画像データをオペレーティングシステム１０００Ａへ送る（ステップＳＡ９）。オペレーティングシステム１０００Ａは、第２アプリ１２００Ａから送られた画像データをバッファー１０５Ａへ書き込む。また、第２アプリ１２００Ａは、表示の更新を指示する更新命令を発行する（ステップＳＡ１０）。オペレーティングシステム１０００Ａは、更新命令を取得すると、取得した更新命令をコントローラー１０６Ａへ送る。コントローラー１０６Ａが、更新命令を受け取り、バッファー１０５Ａへ書き込まれたデータに基づいて表示部１０７Ａを駆動すると、スタイラスペンＰＥの移動軌跡に対応した線が表示部１０７Ａに表示される。
【００４２】
次に第２アプリ１２００Ａは、カウンターｎの値をインクリメントし（ステップＳＡ１１）、カウンターｎの値が予め定められた閾値であるか（即ち、位置及び圧力の検出回数が所定値に達したか）判断する（ステップＳＡ１２）。なお、カウンターｎの値は、通信部１０８Ａと通信部１０８Ｂとが行う一回の通信で送信できるデータの最大量（ＭＴＵ：Maximum Transmission Unit）に基づいて設定され、後述する第２同期指示のデータ量が通信部１０８ＡのＭＴＵを超えない値、即ち、ＩＰフラグメンテーションが発生しない値に設定される。第２アプリ１２００Ａは、カウンターｎの値が閾値ではない場合（ステップＳＡ１２でＮＯ）、処理の流れをステップＳＡ６へ戻す。この後、第２アプリ１２００Ａは、ペン移動イベントが発行されると、カウンターｎの値が閾値になるまでは、ステップＳＡ７〜ステップＳＡ１１の処理を実行する。
【００４３】
第２アプリ１２００Ａ（送信部１２２０）は、カウンターｎの値が閾値である場合（ステップＳＡ１２でＹＥＳ）、同期モードがオンであると（ステップＳＡ１３でＹＥＳ）、表示の同期を指示する第２同期指示を第１アプリ１１００Ａへ発行する（ステップＳＡ１４）。なお、ペンタッチイベントが発行されてから最初に発行される第２同期指示は、手書きの線の描画の開始を指示する描画開始コマンド、表示されている文書の文書ファイル名、表示されている文書のページ番号、およびＲＡＭに記憶された複数の第１データと第２データとを圧縮した圧縮データを含む。第２アプリ１２００Ａは、ステップＳＡ１４の後、カウンターｎの値を初期化して０とし（ステップＳＡ１５）、処理の流れをステップＳＡ６へ戻す。
【００４４】
なお、ペンタッチイベントが発行されてから最初に発行される第２同期指示に含められる圧縮データは、ペンタッチイベントが発行されてから最初の第２同期指示が発行されるまでにＲＡＭに記憶された第１データおよび第２データを圧縮したデータである。
第２アプリ１２００Ａは、圧縮したデータを生成する際には、浮動小数点型であった第１データを整数型（例えば、符号有りのint型（４バイト））に型変換し、浮動小数点型であった第２データを整数型（例えば、符号有りのint型（４バイト））に型変換する。よって、第２アプリ１２００Ａにおいては、Ｘ座標が４バイトのデータ、Ｙ座標が４バイトのデータ、圧力が４バイトのデータとなる。なお、第２アプリ１２００Ａは、整数型に変換する際には、浮動小数点型の小数点以下が切り捨てられないように型変換を行う。
【００４５】
図６は、第２同期指示に含められる圧縮データを説明するための図である。図６の（ａ）に示した座標Ｐ１は、スタイラスペンＰＥが表示領域に接触したときに検出した座標を示しており、座標Ｐ２、Ｐ３、・・・、座標Ｐγは、スタイラスペンＰＥが移動したときに検出した座標を示している。第２アプリ１２００Ａは、座標Ｐαの第１データを取得した後にカウンターｎの値が閾値となった場合、最初に送られる第２同期指示に、座標Ｐ１〜座標Ｐαの第１データを圧縮した圧縮データと、座標Ｐ１〜座標Ｐαの第１データとともに取得した第２データを圧縮した圧縮データとを含める。
【００４６】
図６の（ｂ）は、ペンタッチイベントの後で最初に送られる第２同期指示に含められる圧縮データのフォーマットの一例を示した図である。圧縮データは、第１データを圧縮した第１グループと、第２データを圧縮した第２グループとで構成される。
ペンタッチイベントの後で最初に送られる第２同期指示において、第１グループの先頭は、ペンタッチイベントと共に取得した第１データの座標Ｐ１（Ｘ１，Ｙ１）となる。なお、座標Ｐ１のＸ座標のデータは、整数型（符号有りのint型（４バイト））のデータであり、座標Ｐ１のＹ座標のデータも整数型（符号有りのint型（４バイト））のデータとなる。
第１グループのデータの２番目以降のデータは、時間軸上で前後して取得した第１データの差分（位置差分）となり、差分のデータは整数型（符号有りのshort型（２バイト））となる。例えば、第１グループの２番目のデータは、座標Ｐ２のＸ座標と座標Ｐ１のＸ座標との差分と、座標Ｐ２のＹ座標と座標Ｐ１のＹ座標との差分となり、第１グループの３番目のデータは、座標Ｐ３のＸ座標と座標Ｐ２のＸ座標との差分と、座標Ｐ３のＹ座標と座標Ｐ２のＹ座標との差分になる。なお、この差分は、演算部１２１０が演算する。
【００４７】
また、ペンタッチイベントの後で最初に送られる第２同期指示において、第２グループの先頭は、ペンタッチイベントと共に取得した第２データの圧力Ｐｒｅ１となる。なお、圧力Ｐｒｅ１のデータは、整数型（符号有りのint型（４バイト））のデータである。第２グループのデータの２番目以降は、時間軸上で前後して取得した第２データの差分（圧力差分）となり、この差分のデータは整数型（符号有りのshort型（２バイト））となる。例えば、第２グループの２番目のデータは、座標Ｐ２の第１データと共に取得した第２データ（圧力Ｐｒｅ２）と、座標Ｐ１の第１データと共に取得した第２データ（圧力Ｐｒｅ１）との差分となり、第２グループの３番目のデータは、座標Ｐ３の第１データと共に取得した第２データ（圧力Ｐｒｅ３）と、座標Ｐ２の第１データと共に取得した第２データ（圧力Ｐｒｅ２）との差分となる。
このように、圧縮データは、座標や圧力、複数の差分がまとめられた（パッキングされた）データである。
【００４８】
第１アプリ１１００Ａは、第２アプリ１２００Ａが発行した第２同期指示を取得し、取得した第２同期指示をオペレーティングシステム１０００Ａへ送る。オペレーティングシステム１０００Ａは、第１アプリ１１００Ａから送られた第２同期指示を、通信部１０８Ａを制御して表示装置１０Ｂへ送信する。つまり、表示装置１０Ａは、座標や圧力の差分を送信する送信装置である。この第２同期指示を通信部１０８Ｂが受信すると、オペレーティングシステム１０００Ｂは、通信部１０８Ｂが受信した第２同期指示を第１アプリ１１００Ｂへ送る。第１アプリ１１００Ｂは、第２同期指示を取得し、取得した第２同期指示を第２アプリ１２００Ｂへ送る。第２アプリ１２００Ｂは、第１アプリ１１００Ｂから送られた第２同期指示を取得する。
【００４９】
第２アプリ１２００Ｂは、第２同期指示を取得すると、図７に示した処理を実行する。まず、第２アプリ１２００Ｂは、取得した第２同期指示が描画開始コマンドを含むものであるか判断する。第２アプリ１２００Ｂは、取得した第２同期指示が描画開始コマンドを含むものである場合（ステップＳＢ１でＹＥＳ）、第２同期指示に含まれている文書ファイル名の文書ファイルを記憶部１０２Ｂから取得する（ステップＳＢ２）。第２アプリ１２００Ｂは、第２同期指示に含まれているページ番号のページを、取得した文書ファイルにおいて特定し、特定したページの画像データを生成する（ステップＳＢ３）。また、第２アプリ１２００Ｂは、第２同期指示に含まれている圧縮データから第１データと第２データとを復元する（ステップＳＢ４）。
【００５０】
ここで、第２同期指示に含まれている圧縮データが図７の（ｂ）の場合、第２アプリ１２００Ｂは、まず、第１グループの先頭にある座標Ｐ１を取得する。次に、第２アプリ１２００Ｂは、第１グループの２番目にある座標Ｐ２と座標Ｐ１の差分を取得し、取得した差分と座標Ｐ１の座標とから座標Ｐ２の座標を復元する。また、第２アプリ１２００Ｂは、第１グループの３番目にある座標Ｐ３と座標Ｐ２の差分を取得し、取得した差分と復元した座標Ｐ２の座標とから座標Ｐ３の座標を復元する。このように、第２アプリ１２００Ｂは、第１グループに含められているデータを順次取得し、座標Ｐαまでの座標を復元する。
【００５１】
また、第２アプリ１２００Ｂは、第２グループの先頭にある第２データ（座標Ｐ１とともに取得した圧力Ｐｒｅ１）を取得する。次に、第２アプリ１２００Ｂは、第２グループの２番目にある座標Ｐ２とともに取得した圧力と座標Ｐ１と共に取得した圧力との差分を取得し、取得した差分と座標Ｐ１とともに取得した圧力とから座標Ｐ２とともに取得した圧力を復元する。また、第２アプリ１２００Ｂは、座標Ｐ３とともに取得した圧力と座標Ｐ２とともに取得した圧力との差分を取得し、取得した差分と復元した座標Ｐ２とともに取得した圧力とから座標Ｐ３とともに取得した圧力を復元する。このように、第２アプリ１２００Ｂは、第２グループにあるデータを順次取得し、座標Ｐ１から座標Ｐαまでの座標とともに取得した圧力を復元する。
【００５２】
第２アプリ１２００Ｂは、復元した第１データと第２データに基づいて、復元した第１データの座標を結ぶ線の画像データを生成する（ステップＳＢ５）。第２アプリ１２００Ｂは、生成したページの画像データと生成した線の画像データとをマージし（ステップＳＢ６）、マージ後の画像データをオペレーティングシステム１０００Ｂへ送る（ステップＳＢ７）。
【００５３】
オペレーティングシステム１０００Ｂは、第２アプリ１２００Ａから送られた画像データをバッファー１０５Ｂへ書き込む。また、第２アプリ１２００Ｂは、表示の更新を指示する更新命令を発行する（ステップＳＢ８）。第２アプリ１２００Ｂは、取得した第２同期指示が描画終了コマンドを含むものではない場合（ステップＳＢ９でＮＯ）、処理を終了する。
オペレーティングシステム１０００Ｂは、更新命令を取得すると、取得した更新命令をコントローラー１０６Ｂへ送る。コントローラー１０６Ｂが、更新命令を受け取り、バッファー１０５Ｂへ書き込まれたデータに基づいて表示部１０７Ｂを駆動すると、表示装置１０Ａに表示されたページ及び手書きの線と同じページ及び手書きの線（座標Ｐ１から座標Ｐαまでを結ぶ線）が表示部１０７Ｂに表示される。
【００５４】
この後、表示装置１０Ａにおいて、ユーザーが座標Ｐαから座標ＰβまでスタイラスペンＰＥを移動させると、取得した第１データの座標間を結ぶ線を表示する処理を実行する（ステップＳＡ７〜ステップＳＡ１１）。また、第２アプリ１２００Ａは、座標Ｐβを取得した後にカウンターｎの値が閾値となった場合（ステップＳＡ１２でＹＥＳ）、同期モードがオンであると（ステップＳＡ１３でＹＥＳ）、第２同期指示を第１アプリ１１００Ａへ発行する（ステップＳＡ１４）。
なお、第２同期指示は、ペンタッチイベントが発行されてから最初に発行される第２同期指示ではなく、ペンリリースイベントが発行されたときに発行する第２同期指示ではない場合、手書きの線の描画の継続を指示する描画指示コマンドを含む。
【００５５】
図６の（ｃ）は、ここで送信される第２同期指示に含められる圧縮データを示した図である。この第２同期指示においては、先行の第２同期指示に含められた第１グループの最後の差分のデータから得られる座標が第１グループの先頭となり、先行の第２同期指示に含められた第２グループの最後の差分のデータから得られる圧力が第２グループの先頭になる。なお、第１グループの先頭と第２グループの先頭は、ステップＳＡ７でＲＡＭに記憶したデータを使用してもよい。
このため、図６の（ａ）のようにスタイラスペンＰＥを移動させた場合、ここで送られる第２同期指示においては、図６（ｃ）に示したように、第１グループの先頭は、座標Ｐα（Ｘα，Ｙα）となる。また、第１グループのデータの２番目以降は、時間軸上で前後して取得した第１データの差分となる。例えば、２番目のデータは、座標Ｐα＋１のＸ座標と座標ＰαのＸ座標との差分と、座標Ｐα＋１のＹ座標と座標ＰαのＹ座標との差分となり、３番目のデータは、座標Ｐα＋２のＸ座標と座標Ｐα＋１のＸ座標との差分と、座標Ｐα＋２のＹ座標と座標Ｐα＋１のＹ座標との差分となる。
【００５６】
また、ここで送られる第２同期指示において、第２グループの先頭は、座標Ｐαの第１データと共に取得した第２データの圧力Ｐｒｅαとなる。また、第２グループのデータの２番目以降は、時間軸上で前後して取得した第２データの差分となる。例えば、第２グループの２番目のデータは、圧力Ｐｒｅα＋１と圧力Ｐｒｅαとの差分となり、３番目のデータは、圧力Ｐｒｅα＋２と圧力Ｐｒｅα＋１との差分となる。
【００５７】
この第２同期指示を第１アプリ１１００Ａが取得し、取得した第２同期指示をオペレーティングシステム１０００Ａへ送ると、第２同期指示が通信部１０８Ａから表示装置１０Ｂへ送信される。表示装置１０Ｂでは、送信された第２同期指示が、第２アプリ１２００Ｂへ送られる。
この第２同期指示は、描画開始コマンドを含んでいないため、第２アプリ１２００Ｂは、ステップＳＢ１でＮＯと判断し、ステップＳＢ４〜ステップＳＢ８の処理を実行する。これにより、表示部１０７Ｂにおいては、座標Ｐαから座標Ｐβまでを結ぶ線の画像が表示される。
【００５８】
次に、座標Ｐγの座標が検出された後、ユーザーが座標Ｐγにおいて表示領域上からスタイラスペンＰＥを離すと、センサー１０３Ａは、座標を検出するタイミングにおいて、圧力が掛かっていなことを示す値の第２データを出力する。オペレーティングシステム１０００Ａは、センサー１０３Ａが出力した第２データを取得する。オペレーティングシステム１０００Ａは、圧力が掛かっていなことを示す値の第２データを取得すると、取得した第２データの一つ前に取得した第２データの内容が圧力が掛かっていることを示す値である場合、ペンリリースイベントを発行し、発行したペンリリースイベントを第２アプリ１２００Ａへ送る。
【００５９】
第２アプリ１２００Ａは、ペンリリースイベントを取得すると（ステップＳＡ１６でＹＥＳ）、同期モードがオンである場合（ステップＳＡ１７でＹＥＳ）、第２同期指示を第１アプリ１１００Ａへ発行し（ステップＳＡ１８）、座標Ｐ１から座標Ｐγまでの手書きの線を示すベクター形式のデータを文書ファイルに付加する（ステップＳＡ１９）。なお、このベクター形式のデータは、データ生成部１２３０が生成する。
なお、ここで発行される第２同期指示には、描画終了を指示する描画終了コマンドを含む。また、ここで発行される第２同期指示においては、先行の第２同期指示に含められた第１グループの最後の差分のデータから得られる座標が第１グループの先頭に含められ、先行の第２同期指示に含められた第２グループの最後の差分のデータから得られる圧力が第２グループの先頭に含められる。
【００６０】
このため、ここで送られる第２同期指示において、第１グループの先頭は、座標Ｐβ（Ｘβ，Ｙβ）となる。また、第１グループのデータの２番目は、座標Ｐβ＋１のＸ座標と座標ＰβのＸ座標との差分と、座標Ｐβ＋１のＹ座標と座標ＰβのＹ座標との差分となり、第１グループのデータの３番目は、座標Ｐβ＋２のＸ座標と座標Ｐβ＋１のＸ座標との差分と、座標Ｐβ＋２のＹ座標と座標Ｐβ＋１のＹ座標との差分となる。また、ここで送られる第２同期指示において、第２グループの先頭は、圧力Ｐｒｅβとなる。また、第２グループのデータの２番目は、圧力Ｐｒｅβ＋１と圧力Ｐｒｅβとの差分となり、３番目に含められるデータは、圧力Ｐｒｅβ＋２と圧力Ｐｒｅβ＋１との差分となる。
【００６１】
第１アプリ１１００Ａが、この第２同期指示を取得し、取得した第２同期指示をオペレーティングシステム１０００Ａへ送ると、第２同期指示が通信部１０８Ａから表示装置１０Ｂへ送信される。表示装置１０Ｂでは、送信された第２同期指示が、第２アプリ１２００Ｂへ送られ、第２アプリ１２００Ｂは、第１アプリ１１００Ｂから送られた第２同期指示を取得する。
【００６２】
第２アプリ１２００Ｂは、第２同期指示を取得すると、図７に示した処理を実行する。まず、第２アプリ１２００Ｂは、取得した第２同期指示が描画開始コマンドを含むものであるか判断する。第２アプリ１２００Ｂは、取得した第２同期指示が描画開始コマンドを含むものでない場合（ステップＳＢ１でＮＯ）、ステップＳＢ４〜ステップＳＢ８の処理を実行する。これにより、表示部１０７Ｂにおいては、座標Ｐβから座標Ｐγまでを結ぶ線の画像が表示される。
第２アプリ１２００Ｂは、取得した第２同期指示が、描画終了コマンドを含むものである場合（ステップＳＢ９でＹＳＥ）、座標Ｐ１から座標Ｐγまでの手書きの線を示すデータを文書ファイルに付加する（ステップＳＢ１０）。
【００６３】
以上説明したように、本実施形態によれば、複数の座標のデータを送信するときに、座標データを圧縮して送信するため、データの送信にかかる時間を短くすることができる。また、通信速度の遅い表示装置であってもデータの送信にかかる時間を短くすることができるため、表示装置１０Ａで描画された手書きの線が表示装置１０Ｂで描画されるまでの時間を短くすることができ、表示装置１０Ｂでは、表示装置１０Ａでの描画への追従性がよく、ユーザーが違和感を覚えるのを防ぐことができる。また、本実施形態によれば、浮動小数点型の第１データと第２データを整数型に型変換してデータのサイズを小さくするため、浮動小数点型のまま座標のデータを送信する場合と比較すると、送信するデータ量が少なくなり、データの送信にかかる時間を短くすることができる。
【００６４】
なお、上述した実施形態においては、第２同期指示に含められる圧縮データのフォーマットは、上述したフォーマットに限定されるものではない。例えば、図８に示したように、座標を圧縮したデータと圧力を圧縮したデータとを交互に含む構成としてもよい。
具体的には、例えば、図６の（ａ）のようにスタイラスペンＰＥを移動させた場合、最初に送られる第２同期指示に含められる圧縮データの先頭は、ペンタッチイベントと共に取得した第１データの座標Ｐ１（Ｘ１，Ｙ１）となり、次に、ペンタッチイベントと共に取得した第２データの圧力Ｐｒｅ１となる。この後は、時間軸上で前後して取得した第１データの差分と第２データの差分となり、例えば、次のデータは、座標Ｐ２のＸ座標と座標Ｐ１のＸ座標との差分と、座標Ｐ２のＹ座標と座標Ｐ１のＹ座標との差分となり、この後に、座標Ｐ２の第１データと共に取得した第２データ（圧力Ｐｒｅ２）と、座標Ｐ１の第１データと共に取得した第２データ（圧力Ｐｒｅ１）との差分となる。
この構成においても、複数の座標のデータを送信するときに、座標データを圧縮して送信するため、データの送信にかかる時間を短くすることができる。
【００６５】
また、上述した実施形態においては、カウンターｎの値が閾値に達する前に第２同期指示を送信する構成としてもよい。
具体的には、上述した実施形態では、第２同期指示に含められる圧縮データにおいて、差分のデータは、符号有りのshort型であり、扱う数値の範囲は、−３２７６８から３２７６７の範囲となる。時間軸上で前後して取得した第１データの差分は、スタイラスペンＰＥの移動速度が速い場合、この範囲を超える場合が生じ得る。差分の値が符号有りのshort型で扱う数値の範囲を超えてしまうと、正しい差分の値を他の表示装置１０へ送信できないこととなる。
よって、第２アプリ１２００は、ステップＳＡ１２でＮＯと判断した後、新たに取得した第１データと、新たに取得した第１データの一つ前に取得した第１データとの差分の値が、符号有りのshort型で扱う数値の範囲を超えるか否か判断する。
【００６６】
例えば、図６の（ａ）のようにスタイラスペンＰＥを移動させ、座標Ｐβ−１の第１データを取得したときに、座標Ｐβ−１と座標Ｐβ−２の差分が、符号有りのshort型で扱う数値の範囲を超えた場合を想定する。
この場合、第２アプリ１２００は、座標Ｐαから座標Ｐβ−２までの座標を圧縮した圧縮データを第２同期指示に含め、他の表示装置１０へ送信する。
また、第２アプリ１２００Ｂは、次に第２同期指示を送信する際には、第１グループの先頭を座標Ｐβ−１の座標とする。なお、この第２同期指示には、先行した第２同期指示で描画した線の終端と、第１グループの先頭にある座標とを結ぶ線の描画を指示する描画指示が含められる。
この第２同期指示を取得した他の表示装置の第２アプリ１２００は、取得した第２同期指示に含められている圧縮データから座標データを復元し、復元した座標データから得られる座標を結び、座標Ｐβ−２と座標Ｐβ−１とを結ぶ線の画像データを生成する。第２アプリ１２００が、この画像データをオペレーティングシステム１０００へ送り、画像の更新命令を発行すると、表示装置１０Ａに表示された手書きの線と同じ線が表示装置１０Ｂで表示される。
【００６７】
また、上述した実施形態においては、第２同期指示を受信する側の表示装置１０は、１ストロークに係る全ての第２同期指示を受信し終えた後で、線の描画を開始するようにしてもよい。
【００６８】
［変形例］
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、他の様々な形態で実施可能である。例えば、上述の実施形態を以下のように変形して本発明を実施してもよい。なお、上述した実施形態及び以下の変形例は、各々を組み合わせてもよい。
【００６９】
上述した実施形態においては、第２同期指示には第１グループと第２グループが含まれるが、第２グループを含まない構成、即ち、圧力のデータの差分を含まない構成としてもよい。
【００７０】
上述した実施形態においては、表示装置１０において、スタイラスペンＰＥの表示領域上の座標と、スタイラスペンＰＥの先端に掛かる圧力とを検出しているが、スタイラスペンＰＥ側で、スタイラスペンＰＥの表示領域上の座標と、スタイラスペンＰＥの先端に掛かる圧力とを検出する構成であってもよい。この構成にあっては、表示面上に符号が設けられ、その符号をペンに設けられたセンサーで検出することにより、座標を検出する符号検出方式であってもよい。また、上述した実施形態においては、接触の有無により指示体の移動を検出していたが、指示体から表示面までの距離や、接触したときの圧力が所定の圧力以上のときに、指示体の移動を検出するようにしてもよい。
また、センサー１０３は、静電容量方式や感圧式であってもよく、この場合、スタイラスペンＰＥに替えて指で手書きの線の描画を行うようにしてもよい。また、手書きの線の描画を行う際に座標を取得する構成としては、ユーザーの視線を検出し、検出した視線が指し示す表示部１０７上の位置を取得する構成としてもよい。また、ユーザーの指の動きをカメラで撮影して表示部１０７上の指の位置を検出する構成としてもよい。
【００７１】
上述した実施形態においては、ペンタッチイベントからペンリリースイベントまで（即ち、１ストロークの開始から終了まで）に取得する座標データが多い場合、１ストロークが終了する前に複数回に分けて送信する構成となっているが、この構成に限定されるものではない。例えば、上述した実施形態においては、ペンタッチイベントが発行されてからペンリリースイベントが発行されるまでは、第２同期指示を発行せず、ペンリリースイベントが発行されると、第２同期指示を発行する構成としてもよい。
ペンリリースイベントが発行されてから第２同期指示を発行する場合、第２アプリ１２００は、第１データをＭＴＵに基づいて複数のグループに分割する。例えば、図６の（ａ）のようにスタイラスペンＰＥを動かした場合、座標Ｐ１から座標Ｐαのグループと、座標Ｐαから座標Ｐβのグループと、座標Ｐβから座標Ｐγのグループに分割する。第２アプリ１２００は、分割されたグループ毎に圧縮データを生成し、座標Ｐ１から座標Ｐαのグループの圧縮データを含む第２同期指示と、座標Ｐαから座標Ｐβのグループの圧縮データを含む第２同期指示と、座標Ｐβから座標Ｐγのグループの圧縮データを含む第２同期指示とを発行する。
この構成によれば、表示装置１０Ａで１ストロークの手書きの線の描画が終了した後、表示装置１０Ｂにおいて、１ストロークの手書きの線の描画が行われる。
【００７２】
表示装置１０同士は、通信を行い、他の表示装置１０が表示している文書の文書ファイル名と、表示しているページのページ番号とを取得するようにしてもよい。また、表示装置１０は、表示しているページがユーザーの操作により切り替えられると、表示している文書の文書ファイル名とページ番号とを他の表示装置１０へ送信する構成としてもよい。
また、表示装置１０同士が、他の表示装置１０が表示している文書の文書ファイル名と、表示しているページのページ番号とを取得する構成の場合、以下の構成を採用してもよい。
例えば、表示装置１０Ｂが表示装置１０Ａと同じページを表示している場合、上述した実施形態の動作を行う。また、表示装置１０Ｂが表示装置１０Ａと異なるページを表示しているときに、ユーザーが表示装置１０Ａにおいて上述したように座標Ｐ１から手書きの線の描画を開始すると、第２アプリ１２００Ａは、ペンリリースイベントが発行されるまで、取得した第１データをＲＡＭに格納する。第２アプリ１２００Ａは、ペンリリースイベントが発行されると、座標Ｐ１から座標Ｐγまでを結ぶ手書きの線について、ベクター形式のデータを生成する。第２アプリ１２００Ａは、表示している文書の文書ファイル名と、表示しているページのページ番号と、生成したベクター形式のデータを含む第３同期指示を発行する。この第３同期指示を第２アプリ１２００Ｂが取得すると、第２アプリ１２００Ｂは、第３同期指示に含まれている文書ファイル名の文書ファイルにおいて、第３同期指示に含まれているページに、第３同期指示に含まれているベクター形式のデータを付加する。この構成によれば、表示装置１０Ｂにおいて、表示装置１０Ａと同じページを表示すると、表示装置１０Ａにおいて追記された手書きの線が表示装置１０Ｂにおいても表示される。
【００７３】
なお、この第３同期指示は、表示装置１０Ａにおいて表示しているページが切り替えられたときに送信するようにしてもよい。
また、この第３同期指示は、表示装置１０Ｂが表示しているページが表示装置１０Ａと同じページとなったときに送信するようにしてもよい。なお、表示装置１０Ｂが表示装置１０Ａと異なるページを表示しているときに表示装置１０Ａにおいて複数のベクター形式のデータが生成されている場合、表示装置１０Ａは、生成された複数のベクター形式のデータを第３同期指示に含めて送信する。
また、手書きの線の描画処理を行った第２アプリ１２００は、表示するページの切り替えを行うまでは、ベクター形式のデータを生成せず、表示するページの切り替えが発生すると、ベクター形式のデータを生成し、上述の第３同期指示を発行するようにしてもよい。
【００７４】
上述した実施形態においては、表示装置１０同士が直接通信を行っているが、この構成に限定されるものではない。例えば、表示システム１にサーバー装置を設け、表示装置１０は、各種同期指示をサーバー装置へ送信し、サーバー装置が各種同期指示を表示装置１０へ転送する構成としてもよい。
また、表示システム１にサーバー装置を設ける場合、サーバー装置は、各表示装置１０が表示している文書の文書ファイル名と表示しているページ番号を取得する構成としてもよい。また、表示装置１０が表示している文書の文書ファイル名と表示しているページ番号をサーバー装置が把握する構成においては、以下の構成を採用してもよい。
例えば、表示装置１０Ａで手書きの線の描画をユーザーが行うと、第２アプリ１２００Ａは、１ストロークの手書きの線の描画が終了した後、第２同期指示をサーバー装置へ送信する。サーバー装置は、第２同期指示を受信すると、表示装置１０Ｂが表示装置１０Ａと同じページを表示している場合、受信した第２同期指示を表示装置１０Ｂへ転送する。また、サーバー装置は、表示装置１０Ｂが表示装置１０Ａと同じページを表示していない場合、受信した第２同期指示に含まれている圧縮データを復元して座標データを取得し、取得した座標データから手書きの線のベクター形式のデータを生成する。サーバー装置は、生成したベクター形式のデータを表示装置１０Ｂへ送信する。表示装置１０Ｂは、送信されたベクター形式のデータを、表示している文書の文書ファイルに付加する。
なお、表示装置１０Ｂが表示しているページが表示装置１０Ａと同じになったことをサーバー装置が把握したときに、サーバー装置がベクター形式のデータを転送するようにしてもよい。
【００７５】
上述した実施形態においては、表示システム１には、表示装置１０Ａ，１０Ｂが含まれているが、表示システム１には、３台以上の表示装置１０が含まれる構成であってもよい。この場合、一の表示装置１０は、他の２台以上の表示装置１０へ各種同期指示を送信する。
【００７６】
例えば、表示装置１０Ａと表示装置１０Ｂとで同じページを見ている場合、表示装置１０Ｂでは、表示装置１０Ａで手書きの線が描画された部分とは異なる部分を拡大して見ている場合がある。表示装置１０Ａは、表示装置１０Ｂが拡大して表示している領域を表す情報を取得し、同じページであっても表示装置１０Ｂで拡大して見ている領域と表示装置１０Ａにおいて表示している領域とが異なる場合、表示装置１０Ａと表示装置１０Ｂは、上述した表示装置１０Ａと表示装置１０Ｂとで異なるページを表示しているときの動作と同じ動作を行い、表示装置１０Ｂで拡大して見ている領域と表示装置１０Ａで表示している領域とが同じ場合、表示装置１０Ａと表示装置１０Ｂは、上述した表示装置１０Ａと表示装置１０Ｂとで同じページを表示しているときの動作と同じ動作を行うようにしてもよい。
【００７７】
上述した実施形態においては、第２アプリ１２００は、カウンターｎが予め定められた閾値となると第２同期指示を発行しているが、この構成に限定されるものではない。例えば、第２アプリ１２００は、スタイラスペンＰＥに係るイベントが発行される毎に各イベントと、各イベントと共に取得した第１データ及び第２データを他の表示装置へ送るようにし、各イベント、第１データ及び第２データを送られた表示装置は、送られたイベント、第１データ及び第２データに基づいて手書きの線を描画するようにしてもよい。また、上述した実施形態では、複数の位置差分や圧力差分をまとめて送信しているが、位置差分や圧力差分を第１グループや第２グループにまとめずに、各々別個の通信で送信するようにしてもよい。
【００７８】
表示装置１０が実行するプログラムは、磁気記録媒体（磁気テープ、磁気ディスク（ＨＤＤ（Hard Disk Drive）、ＦＤ（Flexible Disk））など）、光記録媒体（光ディスクなど）、光磁気記録媒体、半導体メモリーなどのコンピューター読取り可能な記録媒体に記憶した状態で提供し、インストールしてもよい。また、通信回線を介してプログラムをダウンロードしてインストールしてもよい。
【符号の説明】
【００７９】
１０，１０Ａ、１０Ｂ…表示装置、１００…制御部、１０１…操作部、１０２…記憶部、１０３…センサー、１０５…バッファー、１０６…コントローラー、１０７…表示部、１０８…通信部、１０００…オペレーティングシステム、１１００…第１アプリ、１２００…第２アプリ、１２１０…演算部、１２２０…送信部、１２３０…データ生成部、ＰＥ…スタイラスペン
【図１】
2015201035.tif 000003
【図２】
2015201035.tif 000004
【図３】
2015201035.tif 000005
【図４】
2015201035.tif 000006
【図５】
2015201035.tif 000007
【図６】
2015201035.tif 000008
【図７】
2015201035.tif 000009
【図８】
2015201035.tif 000010