(57)【要約】【課題】手書きの画像を表示する装置において、描画する座標を検出してから表示領域に手書きの画像が表示されるまでの時間を短くする。【解決手段】描画する線の始点のＸ座標と終点のＸ座標とが同じ場合、Ｙ軸方向に沿った直線を描画するアルゴリズムで始点と終点とを結ぶ線を描画し、描画する線の始点のＹ座標と終点のＹ座標とが同じ場合、Ｘ軸方向に沿った直線を描画するアルゴリズムで始点と終点とを結ぶ線を描画する。また、描画する線の始点から終点までの線の傾きが１である場合、傾きが１である直線を描画するアルゴリズムで始点と終点とを結ぶ線を描画する。描画する線の始点のＸ座標と終点のＸ座標とが異なり、始点のＹ座標と終点のＹ座標も異なり、描画する線の始点から終点までの線の傾きが１ではない場合、Bresenhamの直線描画アルゴリズムで始点と終点とを結ぶ線を描画する。【選択図】図５
2014154071.tif 000002
【特許請求の範囲】
【請求項１】
画像を表示する表示領域と、
前記表示領域上の座標を指示する指示装置が指示した前記表示領域上の座標を予め定められた周期で取得する取得部と、
前記取得部が取得した前記座標を順次記憶する記憶部と、
前記記憶部に記憶された第１の座標及び第２の座標のうち、一方を始点、他方を終点とし、前記始点と前記終点とを結ぶ線の傾きが零、無限大、１／ｎ、又はｎ（ｎは予め定められた整数）のいずれかである場合、前記始点と前記終点とを結ぶ線を傾きに対応した専用アルゴリズムで前記表示領域に描画し、前記傾きが零、無限大、１／ｎ、又はｎのいずれでもない場合、前記始点と前記終点とを結ぶ線をBresenhamの直線描画アルゴリズムで前記表示領域に描画する描画部と
を備える表示装置。
【請求項２】
前記表示領域は、記憶性を有する請求項１に記載の表示装置。
【請求項３】
前記取得部が座標を取得してから前記描画部で描画した線が表示されるまでの時間が１００ｍｓｅｃ以内である請求項２に記載の表示装置。
【請求項４】
前記描画部においては、前記専用アルゴリズムで描画する線の傾きが、零、無限大、１／ｎ、又はｎの中から複数設定されており、設定されている傾きの数は、前記表示領域の応答速度に応じた数である請求項３に記載の表示装置。
【請求項５】
画像を表示する表示領域上の座標を指示する指示装置が指示した前記表示領域上の座標を予め定められた周期で取得する取得ステップと、
前記取得ステップで取得した前記座標を順次記憶する記憶ステップと、
前記記憶ステップにより記憶された第１の座標及び第２の座標のうち、一方を始点、他方を終点とし、前記始点と前記終点とを結ぶ線の傾きが零、無限大、１／ｎ、又はｎ（ｎは予め定められた整数）のいずれかである場合、前記始点と前記終点とを結ぶ線を傾きに対応した専用アルゴリズムで前記表示領域に描画し、前記傾きが零、無限大、１／ｎ、又はｎのいずれでもない場合、前記始点と前記終点とを結ぶ線をBresenhamの直線描画アルゴリズムで前記表示領域に描画する描画ステップと
を有する表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、手書きの画像を表示する技術に関する。
【背景技術】
【０００２】
特許文献１には、電子ペーパーに対して手書き入力を行うことが可能なシステムが開示されている。具体的には、このシステムは、情報表示用パネルの背面側に電磁誘導方式のタッチパネルが配置された電子ペーパーと、コネクターで電子ペーパーに接続される駆動装置で構成されている。このシステムにおいては、手書き入力の位置情報をタッチパネルで検出し、検出した位置情報に基いて情報表示用パネルを駆動装置で駆動すると、電子ペーパーにおいては、検出した位置情報に応じて画像が表示される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２３８０６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、手書き画像の表示を行う際には、手書きの座標の検出、検出した座標に基づいた画像の生成、生成した画像に応じた表示デバイスの駆動というように、複数のステップを要する。ここで、座標の検出から画像の表示完了までに掛かる時間が長くなると、座標の指定から遅れて線が描画され、使用者が違和感を覚えることとなる。
なお、座標の検出や表示デバイスの駆動に掛かる時間については、ハードウェアの性能に依存するため、これらのステップで表示完了までに掛かる時間を短くするためにはハードウェア構成の変更が必要となる、という問題点がある。このため、座標の検出や表示デバイスの駆動以外に要する時間を、ソフトウェア処理の改良により短縮することが求められている。
【０００５】
本発明は、上述した事情に鑑みてなされたものであり、その目的の一つは、手書きの画像を表示する装置において、描画する座標を検出してから表示領域に手書きの画像が表示されるまでの時間を短くすることにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明に係る表示装置は、画像を表示する表示領域と、前記表示領域上の座標を指示する指示装置が指示した前記表示領域上の座標を予め定められた周期で取得する取得部と、前記取得部が取得した前記座標を順次記憶する記憶部と、前記記憶部に記憶された第１の座標及び第２の座標のうち、一方を始点、他方を終点とし、前記始点と前記終点とを結ぶ線の傾きが零、無限大、１／ｎ、又はｎ（ｎは予め定められた整数）のいずれかである場合、前記始点と前記終点とを結ぶ線を傾きに対応した専用アルゴリズムで前記表示領域に描画し、前記傾きが零、無限大、１／ｎ、又はｎのいずれでもない場合、前記始点と前記終点とを結ぶ線をBresenhamの直線描画アルゴリズムで前記表示領域に描画する描画部とを備える。
この構成によれば、描画する線の傾きが予め定められた傾きである場合には、線が傾きに対応した専用のアルゴリズムによる簡易計算で描画されるため、全ての線を同じアルゴリズムで描画する場合と比較して、表示領域に手書きの画像が表示されるまでの時間を短くすることができる。
【０００７】
本発明において、前記表示領域は、記憶性を有する構成であってもよい。
この構成によれば、応答速度の遅い記憶性を有する表示領域において、手書きの画像が表示されるまでの時間を短くすることができる。
【０００８】
本発明において、前記取得部が座標を取得してから前記描画部で描画した線が表示されるまでの時間が１００ｍｓｅｃ以内である構成としてもよい。
この構成によれば、手書きの画像が表示されるまでの時間を短くすることができる。
【０００９】
本発明においては、前記描画部においては、前記専用アルゴリズムで描画する線の傾きが、零、無限大、１／ｎ、又はｎの中から複数設定されており、設定されている傾きの数は、前記表示領域の応答速度に応じた数である構成としてもよい。
この構成によれば、描画の処理に掛かる時間を抑え、手書きの画像が表示されるまでの時間を短くすることができる。
【００１０】
なお、本発明は、表示装置のほか、表示方法としても概念することが可能である。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係る表示装置とスタイラスペンの外観図。
【図２】表示装置１０のハードウェア構成を示したブロック図。
【図３】表示装置１０において実現する機能の構成を示した機能ブロック図。
【図４】制御部１０１が行う処理の流れを示したフローチャート。
【図５】制御部１０１が行う処理の流れを示したフローチャート。
【図６】制御部１０１が行う処理の流れを示したフローチャート。
【図７】制御部１０１が行う処理の流れを示したフローチャート。
【図８】制御部１０１が行う処理の流れを示したフローチャート。
【発明を実施するための形態】
【００１２】
［実施形態］
図１は、本発明の一実施形態に係る表示システム１を構成する装置を示した図である。図１に示したように、表示システム１は、表示装置１０とスタイラスペン２０とで構成されている。
スタイラスペン２０は、電磁誘導方式のデジタイザーにおいて座標を指示する座標指示装置として機能し、先端にかかる圧力（筆圧）を検知するための電子回路を備えている。
表示装置１０は、表示デバイスとして電気泳動方式の電子ペーパー１０７を有し、文字や写真、図形などの画像を表示する。また、表示装置１０は、スタイラスペン２０の先端の座標や筆圧を検出するセンサー、即ち、電磁誘導方式のデジタイザーにおけるセンサーを表示デバイスの背面側に有している。表示装置１０は、手書きの画像を表示する機能を有しており、スタイラスペン２０を表示装置１０の電子ペーパー１０７上で移動させると、移動したスタイラスペン２０の先端の位置の座標や筆圧をセンサーで検出し、検出した座標や筆圧に基いて、スタイラスペン２０の移動軌跡に応じた手書きの画像を表示する。
なお、本実施形態においてデジタイザーの機能を実現するスタイラスペン２０やセンサーは、例えば、特開２０１０−１１７９４３号公報に開示されている位置指示器や位置検出装置などの周知の構成を適用してもよい。
【００１３】
図２は、表示装置１０のハードウェア構成を示した図である。センサー１０３は、スタイラスペン２０の先端の座標や筆圧を電磁誘導方式で検出する面状のセンサーである。センサー１０３は、電子ペーパー１０７において画像を表示する側の反対側に配置されている。本実施形態においては、センサー１０３が座標や筆圧を検出する領域は、電子ペーパー１０７の表示領域と同じ表示領域であるが、電子ペーパー１０７の表示領域より広い領域でスタイラスペン２０の先端の座標や筆圧を検出してもよい。
【００１４】
検出部１０４は、予め定められた周期でセンサー１０３を駆動し、センサー１０３から出力される信号を解析する。検出部１０４は、センサー１０３から出力される信号を解析することで、スタイラスペン２０の先端が電子ペーパー１０７の表面に接したときの圧力（筆圧）を表す第１データを取得し、当該第１データを制御部１０１へ出力する。また、検出部１０４は、センサー１０３から出力される信号を解析することで、スタイラスペン２０の先端の座標を示す第２データを取得し、当該第２データを制御部１０１へ出力する。
なお、検出部１０４は、予め定められた周期で第１データ及び第２データを取得する。１回の取得タイミングにおいて、第１データと第２データとを含むデータの組が取得される。本実施形態においては、１秒間に第１データ及び第２データを取得する回数は最大で１３３回であるが、この回数に限定されるものではなく、他の回数であってもよい。
【００１５】
本実施形態においては、第１データは、０から２５５までの２５６段階のいずれかの値となる。スタイラスペン２０の先端が電子ペーパー１０７の表面に接していない場合、第１データの値は「０」となり、筆圧が大きくなるにつれて値が大きくなる。
また、第２データは、スタイラスペン２０の先端の座標を表す値となる。本実施形態においては、図１に示した電子ペーパー１０７の表示領域の左下隅を直交座標の原点とし、この原点から右方向に座標のＸ軸の正方向をとり、原点から上方向に座標のＹ軸の正方向をとっている。
【００１６】
電子ペーパー１０７は、画素が複数行複数列で配列された電気泳動方式の電子ペーパーであり、文字や写真、図形などの画像を表示する。なお、本実施形態においては、各画素が表示する階調は白又は黒の２階調となっている。電子ペーパー１０７は、電力を供給しなくとも表示した画像を保持する表示デバイス、即ち、記憶性を有する表示領域を備えた表示デバイスの一例である。
バッファー（画像フレームバッファー）１０５は、各画素の階調を記憶するメモリーである。バッファー１０５は、電子ペーパー１０７の画素毎に画素の階調値を記憶する記憶領域を有している。各画素の記憶領域には、画素の階調を表すデータが制御部１０１により書き込まれる。
駆動部１０６は、電子ペーパー１０７を駆動する駆動回路を有している。駆動部１０６は、バッファー１０５に記憶されている各画素の階調のデータを読み出し、読み出したデータに基いて電子ペーパー１０７を駆動する。例えば、駆動部１０６は、記憶領域に書き込まれたデータの値が０である場合、この記憶領域に対応した画素が白となるように電子ペーパー１０７を駆動し、記憶領域に書き込まれたデータの値が１である場合、この記憶領域に対応した画素が黒となるように電子ペーパー１０７を駆動する。
記憶部１０２は、不揮発性メモリーを有しており、表示装置１０が表示する画像を表す画像データを記憶する。
【００１７】
制御部１０１は、ＣＰＵ（Central Processing Unit）１０１Ａ、ＲＯＭ（Read Only Memory）１０１Ｂ、ＲＡＭ（Random Access Memory）１０１Ｃを備えたマイクロコンピューターである。ＣＰＵ１０１ＡがＲＯＭ１０１Ｂに記憶されているプログラム読み出し、読み出したプログラムをＲＡＭ１０１Ｃを作業領域として実行すると、表示装置１０においては、記憶部１０２に記憶されている画像データの画像を表示する機能が実現する。また、表示装置１０においては、ＲＯＭ１０１Ｂに記憶されているプログラムをＣＰＵ１０１Ａが実行すると、第１データと第２データとを取得し、取得した第１データと第２データに基いて手書きの画像を表示する機能が実現する。
【００１８】
図３は、本実施形態において表示装置１０で実現する機能の構成を示した機能ブロック図である。取得部１００１は、検出部１０４が出力する第１データ及び第２データを取得するものである。アクセス部１００２は、取得部１００１が取得したデータをＲＡＭ１０１Ｃに書き込むものである。描画部１００３は、ＲＡＭ１０１Ｃに記憶された第１データ及び第２データに基いて、ＲＡＭ１０１Ｃに記憶された第１データが表す座標を結ぶ線を描画するブロックである。描画部１００３は、描画する線の傾きが予め定められた傾きである場合、傾きに対応した専用アルゴリズムで線を描画し、予め定められた傾きではなない場合、Bresenhamの直線描画アルゴリズムで線を描画する。
【００１９】
次に本実施形態の動作例について説明する。図４〜８は、表示装置１０が手書きの画像を表示するときの処理の流れを示したフローチャートである。表示装置１０においては、検出部１０４がセンサー１０３を駆動し、予め定められた周期で第１データ及び第２データを取得し、制御部１０１へ出力する。制御部１０１は、検出部１０４から第１データ及び第２データが出力される毎に図４に示した処理を実行する。
【００２０】
まず制御部１０１は、検出部１０４から出力された第１データ及び第２データを取得する（ステップＳＡ１：取得ステップ）。制御部１０１は、ステップＳＡ１で新たに第１データ及び第２データを取得すると、ステップＳＡ１で取得した第１データ及び第２データをＲＡＭ１０１Ｃに記憶させる（ステップＳＡ２：記憶ステップ）。この処理により、ＲＡＭ１０１Ｃには、取得された第１データ及び第２データが取得した順番で記憶される。つまり、ＲＡＭ１０１Ｃは、第１データ及び第２データを記憶する記憶部の一例である。なお、制御部１０１は、取得した第１データ及び第２データを記憶部１０２に記憶させてもよい。
【００２１】
次に制御部１０１は、スタイラスペン２０が電子ペーパー１０７の表面に接しているか判断する。具体的には、制御部１０１は、ステップＳＡ１で取得した第１データの値が１以上である場合、スタイラスペン２０が電子ペーパー１０７の表面に接していると判断する（ステップＳＡ３でＹＥＳ）。また、制御部１０１は、ステップＳＡ１で取得した第１データの値が０である場合、スタイラスペン２０が電子ペーパー１０７の表面に接していないと判断する（ステップＳＡ３でＮＯ）。制御部１０１は、ステップＳＡ３でＮＯと判断した場合、図４の処理を終了する。
【００２２】
制御部１０１は、ステップＳＡ３でＹＥＳと判断した場合、最新の第１データより一つ前にＲＡＭ１０１Ｃに記憶されている第１データの値が１以上であるか、つまり、最新の第１データ及び第２データを取得するより前にスタイラスペン２０が電子ペーパー１０７の表面に接していたか判断する。制御部１０１は、最新の第１データより一つ前にＲＡＭ１０１Ｃに記憶されている第１データの値が０である場合、最新の第１データを取得するより前にスタイラスペン２０が電子ペーパー１０７の表面に接していなかったものと判断する（ステップＳＡ４でＮＯ）。
この場合、制御部１０１は、記憶した最新の第２データの座標の位置にある画素を特定する。そして制御部１０１は、バッファー１０５にアクセスし、特定した画素に対応した記憶領域に画素の階調を黒とするデータを書き込む（ステップＳＡ５）。駆動部１０６は、バッファー１０５の内容が変更されると、バッファー１０５の内容に応じて電子ペーパー１０７を駆動する。これにより、電子ペーパー１０７においては、スタイラスペン２０の先端が触れた位置に黒の点が描画される。
【００２３】
また、制御部１０１は、最新の第１データより一つ前にＲＡＭ１０１Ｃに記憶されている第１データの値が１以上である場合、ステップＳＡ１で第１データ及び第２データを取得するより前にスタイラスペン２０が電子ペーパー１０７の表面に接していたものと判断する（ステップＳＡ４でＹＥＳ）。この場合、制御部１０１は、最新の第２データより一つ前に記憶されている第２データの座標を始点に設定する（ステップＳＡ６）。ここで、最新の第２データより一つ前に記憶されている第２データの座標は、「第１の座標」に相当する。本実施形態においては、始点のＸ座標をＸ１、始点のＹ座標をＹ１とする。また、制御部１０１は、最新の第２データの座標を終点に設定する（ステップＳＡ７）。ここで、最新の第２データの座標は、「第２の座標」に相当する。本実施形態においては、終点のＸ座標をＸ２、終点のＹ座標をＹ２とする。
このように、図４に示すステップＳＡ１からステップＳＡ７が実施されることで、制御部１０１は、記憶部１０２に記憶された第１の座標を始点、第２の座標を終点として設定する。
制御部１０１は、ステップＳＡ７の処理が終了すると、第１サブルーチンの処理を実行する（ステップＳＡ８）。
【００２４】
図５は、制御部１０１が第１サブルーチンで実行する処理の流れを示したフローチャートである。第１サブルーチンは、ステップＳＡ６で設定した始点からステップＳＡ７で設定した終点までを結ぶ線を表示するためのデータをバッファー１０５に書き込む処理である（描画ステップ）。第１サブルーチンにおいては、制御部１０１は、始点のＸ座標（Ｘ１）と、終点のＸ座標（Ｘ２）とが同じである場合（ステップＳＢ１でＹＥＳ）、即ち、始点と終点とを結ぶ線の傾きが無限大の場合、Ｙ軸に沿った線を描画する専用アルゴリズムである第２サブルーチンの処理を実行する（ステップＳＢ２）。
【００２５】
図６は、制御部１０１が第２サブルーチンで実行する処理の流れを示したフローチャートである。第２サブルーチンにおいては、制御部１０１は、座標Ｘの値をＸ１とし、座標Ｙの値をＹ１とする（ステップＳＣ１）。次に制御部１０１は、座標（Ｘ，Ｙ）の位置にある画素を特定する。そして制御部１０１は、バッファー１０５にアクセスし、特定した画素に対応した記憶領域に画素の階調を黒とするデータを書き込む（ステップＳＣ２）。
【００２６】
制御部１０１は、ステップＳＣ２の処理を実行した後、座標Ｙの値がＹ２であるか判断する。制御部１０１は、座標Ｙの値がＹ２ではない場合（ステップＳＣ３でＮＯ）、座標Ｙの値を更新する（ステップＳＣ４）。具体的には、制御部１０１は、Ｙ２＞Ｙ１である場合にはＹの値に１を加算し、Ｙ２＜Ｙ１である場合にはＹの値から１を減算する。制御部１０１は、ステップＳＣ４の処理が終了すると、ステップＳＣ２へ処理の流れを戻す。
【００２７】
制御部１０１は、座標Ｙを更新し、座標ＹがＹ２となった場合（ステップＳＣ３でＹＥＳ）、第２サブルーチンの処理を終了する。この後、駆動部１０６は、バッファー１０５の内容に応じて電子ペーパー１０７を駆動する。第２サブルーチンの処理においては、始点と終点とを結ぶ線のデータをバッファー１０５に書き込む際に、Ｘ座標を変更せず、Ｙ座標だけを変更して書き込みを行うため、電子ペーパー１０７においては、Ｙ軸方向に沿った黒の直線が描画される。第２サブルーチンでは、Ｘ座標を変更せずにＹ座標だけを変更して直線に係る画素を特定するため、Bresenhamの直線描画アルゴリズムを用いる場合と比較して、直線に係る画素を速く特定でき、第２データを取得してからバッファー１０５に対してデータの書き込みが完了するまでの時間を短くすることができる。
【００２８】
図５に戻り、制御部１０１は、始点のＹ座標（Ｙ１）と、終点のＹ座標（Ｙ２）とが同じである場合（ステップＳＢ３でＹＥＳ）、即ち、始点と終点とを結ぶ直線の傾きが零の場合、Ｘ軸に沿った線を描画する専用アルゴリズムである第３サブルーチンの処理を実行する（ステップＳＢ４）。
【００２９】
図７は、制御部１０１が第３サブルーチンで実行する処理の流れを示したフローチャートである。第３サブルーチンにおいては、制御部１０１は、座標Ｘの値をＸ１とし、座標Ｙの値をＹ１とする（ステップＳＤ１）。次に制御部１０１は、座標（Ｘ，Ｙ）の位置にある画素を特定する。そして制御部１０１は、バッファー１０５にアクセスし、特定した画素に対応した記憶領域に画素の階調を黒とするデータを書き込む（ステップＳＤ２）。
【００３０】
制御部１０１は、ステップＳＤ２の処理を実行した後、座標Ｘの値がＸ２であるか判断する。制御部１０１は、座標Ｘの値がＸ２ではない場合（ステップＳＤ３でＮＯ）、座標Ｘの値を更新する（ステップＳＤ４）。具体的には、制御部１０１は、Ｘ２＞Ｘ１である場合にはＸの値に１を加算し、Ｘ２＜Ｘ１である場合にはＸの値から１を減算する。制御部１０１は、ステップＳＤ４の処理が終了すると、ステップＳＤ２へ処理の流れを戻す。
【００３１】
制御部１０１は、座標Ｘを更新し、座標ＸがＸ２となった場合（ステップＳＤ３でＹＥＳ）、第３サブルーチンの処理を終了する。この後、駆動部１０６は、バッファー１０５の内容に応じて電子ペーパー１０７を駆動する。第３サブルーチンの処理においては、始点と終点とを結ぶ線のデータをバッファー１０５に書き込む際に、Ｙ座標を変更せず、Ｘ座標だけを変更して書き込みを行うため、電子ペーパー１０７においては、Ｘ軸方向に沿った黒の直線が描画される。
第３サブルーチンでは、Ｙ座標を変更せずにＸ座標だけを変更して直線に係る画素を特定するため、Bresenhamの直線描画アルゴリズムを用いる場合と比較して、直線に係る画素を速く特定でき、第２データを取得してからバッファー１０５に対してデータの書き込みが完了するまでの時間を短くすることができる。
【００３２】
図５に戻り、制御部１０１は、始点から終点までのＸ座標の増分と、始点から終点までのＹ座標の増分とが同じである場合（ステップＳＢ５でＹＥＳ）、即ち、始点と終点とを結ぶ直線の傾きが１の場合、傾きが１である線を描画する専用アルゴリズムである第４サブルーチンの処理を実行する（ステップＳＢ６）。
【００３３】
図８は、制御部１０１が第４サブルーチンで実行する処理の流れを示したフローチャートである。第４サブルーチンにおいては、制御部１０１は、座標Ｘの値をＸ１とし、座標Ｙの値をＹ１とする（ステップＳＥ１）。次に制御部１０１は、座標（Ｘ，Ｙ）の位置にある画素を特定する。そして制御部１０１は、バッファー１０５にアクセスし、特定した画素に対応した記憶領域に画素の階調を黒とするデータを書き込む（ステップＳＥ２）。
【００３４】
制御部１０１は、ステップＳＥ２の処理を実行した後、座標Ｘの値がＸ２であるか判断する。制御部１０１は、座標Ｘの値がＸ２ではない場合（ステップＳＥ３でＮＯ）、座標Ｘの値と座標Ｙの値を更新する（ステップＳＥ４）。具体的には、制御部１０１は、Ｘ２＞Ｘ１である場合にはＸの値に１を加算し、Ｘ２＜Ｘ１である場合にはＸの値から１を減算する。また、制御部１０１は、Ｙ２＞Ｙ１である場合にはＹの値に１を加算し、Ｙ２＜Ｙ１である場合にはＹの値から１を減算する。制御部１０１は、ステップＳＥ４の処理が終了すると、ステップＳＥ２へ処理の流れを戻す。
【００３５】
制御部１０１は、座標Ｘと座標Ｙとを更新し、ＸがＸ２となった場合（ステップＳＥ３でＹＥＳ）、第４サブルーチンの処理を終了する。この後、駆動部１０６は、バッファー１０５の内容に応じて電子ペーパー１０７を駆動する。第４サブルーチンの処理においては、始点と終点とを結ぶ線分のデータをバッファー１０５に書き込む際に、Ｘ座標とＹ座標とを同じだけを変更して書き込みを行うため、電子ペーパー１０７においては、傾きが１である黒の直線が描画される。
第４サブルーチンでは、Ｘ座標とＹ座標と同じだけを変更して直線に係る画素を特定するため、Bresenhamの直線描画アルゴリズムを用いる場合と比較して、直線に係る画素を速く特定でき、第２データを取得してからバッファー１０５に対してデータの書き込みが完了するまでの時間を短くすることができる。
【００３６】
図５に戻り、制御部１０１は、ステップＳＢ５でＮＯと判断した場合、始点に対応した画素と終点に対応した画素とを結ぶ線分に係る画素を、Bresenhamの直線描画アルゴリズムを用いて特定する。そして制御部１０１は、バッファー１０５へアクセスし、特定した画素に対応した記憶領域に画素の階調を黒とするデータを書き込む（ステップＳＢ７）。駆動部１０６は、ステップＳＢ７でバッファー１０５の内容が変更されると、バッファー１０５の内容に応じて電子ペーパー１０７を駆動する。
ステップＳＢ７の処理においては、Bresenhamの直線描画アルゴリズムを用いているため、黒にする画素を特定するための演算は、除算を行わず整数の演算となる。このため、除算を行い少数の演算となる構成と比較すると、黒にする画素を高速に特定する事が可能であり、バッファー１０５の書き換えの時間を短くすることができるため、始点から終点までの描画にかかる時間を短くすることができる。
【００３７】
検出部１０４がスタイラスペン２０の座標を検出し、検出した座標を制御部１０１へ出力するまでにかかる時間や、駆動部１０６がバッファー１０５の内容に基いて電子ペーパー１０７の駆動が完了するまでに係る時間は、ハードウェアの性能により決まるため、これらの時間を短くするのは難しい。特に電気泳動方式の電子ペーパー１０７は、白の粒子と黒の粒子を移動させるための制御に時間が掛かり、駆動時間を短くすることが困難となっている。
しかしながら、本実施形態においては、第２サブルーチン〜第４サブルーチンの処理により、スタイラスペン２０の座標を取得してからバッファー１０５に対してデータの書き込みが終了するまでの時間を、ソフトウェア処理の改良により短くしているため、手書きの線を目視できるまでに掛かる時間を１００ｍｓｅｃ以内に抑えることができる。
【００３８】
［変形例］
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、他の様々な形態で実施可能である。例えば、上述の実施形態を以下のように変形して本発明を実施してもよい。なお、上述した実施形態及び以下の変形例は、各々を組み合わせてもよい。
【００３９】
図５に示したフローチャートにおいては、ステップＳＢ５の処理とステップＳＢ６の処理を削除してもよい。また、さらにステップＳＢ１とステップＳＢ２の処理を削除してステップＳＢ３とステップＳＢ４の処理を残してもよく、ステップＳＢ３とステップＳＢ４の処理を削除してステップＳＢ１とステップＳＢ２の処理を残してもよい。
【００４０】
上述した実施形態においては、ステップＳＡ６で設定した始点とステップＳＡ７で設定した終点とを結ぶ直線の傾きが無限大の場合、零の場合及び１の場合には、Bresenhamの直線描画アルゴリズムを用いずに専用アルゴリズムで直線の描画を行なっているが、Bresenhamの直線描画アルゴリズムを用いずに直線の描画を行うのは、これらの傾きに限定されるものではない。
例えば、ステップＳＡ６で設定した始点とステップＳＡ７で設定した終点とを結ぶ直線の傾きが１／ｎ、又はｎの場合（ただしｎは整数）、Bresenhamの直線描画アルゴリズムを用いずに傾きに対応した専用アルゴリズムで直線の描画を行うようにしてもよい。
例えば、図５の処理において、ステップＳＢ５でＮＯと判断した後、直線の傾きが１／２の場合、Ｘ軸の方向へ座標を２ピクセル分変化させる毎にＹ軸方向の座標を１ピクセル分変化させ、バッファー１０５においては、変化後の座標に対応する記憶領域にデータを書き込むようにしてもよい。また、例えば、図５の処理において、ステップＳＢ５でＮＯと判断した後、直線の傾きが２の場合、Ｙ軸の方向へ２ピクセル分変化させる毎にＸ軸方向の座標を１ピクセル分変化させ、バッファー１０５においては、変化後の座標に対応する記憶領域にデータを書き込むようにしてもよい。
【００４１】
なお、図５の処理において、直線の傾きを判断して分岐する処理の数は、その数が多くなるにつれて判断を行う回数が増え、処理時間が長くなる。つまり、直線の傾きを判断して分岐する処理の数を増やしすぎると、直線の描画に掛かる時間が長くなってしまう場合が生じ得る。
このため、直線の傾きを判断して分岐する処理の数は、検出部１０４がスタイラスペン２０の座標を検出し、検出した座標を制御部１０１へ出力するまでに係る時間や、駆動部１０６がバッファー１０５の内容に基いて電子ペーパー１０７の駆動が完了するまでに係る時間を含めて１００ｍｓｅｃ以内に収まるように調整するのが好ましい。
【００４２】
上述した実施形態においては、画像を表示する表示デバイスは電気泳動方式の電子ペーパーであるが、表示デバイスは電気泳動方式の電子ペーパーに限定されるものではない。例えば、表示デバイスは、電子粉流体を用いた電子ペーパーであってもよく、また液晶ディスプレイ又は有機ＥＬ（ElectroLuminescence）ディスプレイであってもよい。
【００４３】
上述した実施形態においては、最新の第２データの座標（第２の座標）を終点、最新の第２データより一つ前の第２データの座標（第１の座標）を始点としているが、最新の第２データの座標（第２の座標）を始点、最新の第２データより一つ前の第２データの座標（第１の座標）を終点として線を描画するようにしてもよい。
【符号の説明】
【００４４】
１…表示システム、１０…表示装置、２０…スタイラスペン、１０１…制御部、１０１Ａ…ＣＰＵ、１０１Ｂ…ＲＯＭ、１０１Ｃ…ＲＡＭ、１０２…記憶部、１０３…センサー、１０４…検出部、１０５…バッファー、１０６…駆動部、１０７…電子ペーパー、１００１…取得部、１００２…アクセス部、１００３…描画部
【図１】
2014154071.tif 000003
【図２】
2014154071.tif 000004
【図３】
2014154071.tif 000005
【図４】
2014154071.tif 000006
【図５】
2014154071.tif 000007
【図６】
2014154071.tif 000008
【図７】
2014154071.tif 000009
【図８】
2014154071.tif 000010