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