(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、背景技術では、音声入力機能を準備する必要があるため、回路構成が複雑化するという問題がある。
【0005】
それゆえに、この発明の主たる目的は、回路構成を簡略化でき、かつ筆記によって描画される線の多様性を確保することができる、筆記入力装置を提供することである。
【課題を解決するための手段】
【0006】
この発明に従う筆記入力装置(20:実施例で相当する参照符号。以下同じ)は、先端の動きを検知する動き検知手段(12)を備える筆記具(10)によって筆記面(26)が筆記される筆記入力装置であって、筆記面上の接触位置を繰り返し検出する検出手段(S7, S51~S55)、検出手段によって検出された位置に沿って線を描画する描画手段(S11, S61~S69)、および筆記面への接触が中断された期間における動き検知手段の検知結果を参照して描画手段の設定を調整する調整手段(S5, S17~S31)を備える。
【0007】
好ましくは、調整手段は、筆記具を既定方向に振る動作の回数を検知結果に基づいて測定する測定手段(S17~S27, S31)、および測定手段によって測定された回数に応じて異なる要領で描画手段の設定を調整する調整処理手段(S29)を含む。
【0008】
さらに好ましくは、測定手段は既定期間における動作回数を測定し、調整処理手段は、測定手段によって測定された回数に応じて異なる描画パラメータを複数の描画パラメータの中から選択するパラメータ選択手段(S41)、およびパラメータ選択手段によって選択された描画パラメータの値を変更するパラメータ値変更手段(S43, S45)を含む。
【0009】
より好ましくは、複数の描画パラメータは描画される線の色および太さを含む。
【0010】
この発明に従う筆記制御プログラムは、先端の動きを検知する動き検知手段(12)を備える筆記具(10)によって筆記面(26)が筆記される筆記入力装置(20)のプロセッサ(24p)に、筆記面上の接触位置を繰り返し検出する検出ステップ(S7, S51~S55)、検出ステップによって検出された位置に沿って線を描画する描画ステップ(S11, S61~S69)、および筆記面への接触が中断された期間における動き検知手段の検知結果を参照して描画ステップの設定を調整する調整ステップ(S5, S17~S31)を実行させるための、筆記制御プログラムである。
【0011】
この発明に従う筆記制御方法は、先端の動きを検知する動き検知手段(12)を備える筆記具(10)によって筆記面(26)が筆記される筆記入力装置(20)によって実行される筆記制御方法であって、筆記面上の接触位置を繰り返し検出する検出ステップ(S7, S51~S55)、検出ステップによって検出された位置に沿って線を描画する描画ステップ(S11, S61~S69)、および筆記面への接触が中断された期間における動き検知手段の検知結果を参照して描画ステップの設定を調整する調整ステップ(S5, S17~S31)を備える。
【0012】
この発明に従う外部制御プログラムは、先端の動きを検知する動き検知手段(12)を備える筆記具(10)によって筆記される筆記面(26)、およびメモリ(34)に保存された内部制御プログラムに従う処理を実行するプロセッサ(24p)を備える筆記入力装置(20)に供給される外部制御プログラムであって、筆記面上の接触位置を繰り返し検出する検出ステップ(S7, S51~S55)、検出ステップによって検出された位置に沿って線を描画する描画ステップ(S11, S61~S69)、および筆記面への接触が中断された期間における動き検知手段の検知結果を参照して描画ステップの設定を調整する調整ステップ(S5, S17~S31)を内部制御プログラムと協働してプロセッサに実行させるための、外部制御プログラムである。
【0013】
この発明に従う筆記入力装置(20)は、先端の動きを検知する動き検知手段(12)を備える筆記具(10)によって筆記される筆記面(26)、外部制御プログラムを取り込む取り込み手段(22)、および取り込み手段によって取り込まれた外部制御プログラムとメモリ(34)に保存された内部制御プログラムとに従う処理を実行するプロセッサ(24p)を備える筆記入力装置であって、外部制御プログラムは、筆記面上の接触位置を繰り返し検出する検出ステップ(S7, S51~S55)、検出ステップによって検出された位置に沿って線を描画する描画ステップ(S11, S61~S69)、および筆記面への接触が中断された期間における動き検知手段の検知結果を参照して描画ステップの設定を調整する調整ステップ(S5, S17~S31)を内部制御プログラムと協働して実行するプログラムに相当する。
【発明の効果】
【0014】
この発明によれば、線は筆記面上の接触位置に沿って描画されるところ、描画設定は筆記面への接触が中断された特定期間における筆記具の先端の動きに基づいて調整される。これによって、回路構成が簡略化されるとともに、筆記によって描画される線の多様性が確保される。
【0015】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【0016】
【
図1】この発明の一実施例の基本的構成を示すブロック図である。
【
図2】この発明の一実施例の構成を示すブロック図である。
【
図3】
図2実施例の外観の一例を示す斜視図である。
【
図4】タッチパネルに設けられたマトリクススイッチの構成の一例を示す図解図である。
【
図5】
図2実施例に適用される座標レジスタの構成の一例を示す図解図である。
【
図6】
図2実施例に適用される描画設定レジスタの構成の一例を示す図解図である。
【
図7】(A)は色変更操作の一例を示す図解図であり、(B)は線幅変更操作の一例を示す図解図である。
【
図8】
図2に示すタブレットに適用されるCPUの動作の一部を示すフロー図である。
【
図9】
図2に示すタブレットに適用されるCPUの動作の他の一部を示すフロー図である。
【
図10】
図2に示すタブレットに適用されるCPUの動作のその他の一部を示すフロー図である。
【
図11】
図2に示すタブレットに適用されるCPUの動作のさらにその他の一部を示すフロー図である。
【
図12】
図2に示すタブレットに適用されるCPUの動作の他の一部を示すフロー図である。
【
図13】この発明の他の実施例に適用されるペンの構成を示すブロック図である。
【
図14】他の実施例のタブレットに適用されるCPUの動作の一部を示すフロー図である。
【発明を実施するための形態】
【0017】
以下、この発明の実施の形態を図面を参照しながら説明する。
[基本的構成]
【0018】
図1を参照して、筆記具1は、先端の動きを検知する動き検知手段1aを備える。筆記入力装置2の筆記面2aは、筆記具1によって筆記される。筆記入力装置2において、検出手段2bは、筆記面2a上の接触位置を繰り返し検出する。描画手段2cは、検出手段2bによって検出された位置に沿って線を描画する。調整手段2dは、筆記面2aへの接触が中断された期間における動き検知手段1aの検知結果を参照して描画手段2cの設定を調整する。
【0019】
線は筆記面2a上の接触位置に沿って描画されるところ、描画設定は筆記面2aへの接触が中断された特定期間における筆記具1の先端の動きに基づいて調整される。これによって、回路構成が簡略化されるとともに、筆記によって描画される線の多様性が確保される。
[実施例]
【0020】
図2および
図3を参照して、この実施例の手書き入力システム100は、尖ったペン先を有するペン10と、筆記面つまりタッチパネル26を有するタブレット20とによって形成される。なお、ペン10およびタブレット20はいずれも、図示しないバッテリによって駆動される。
【0021】
ペン10において、ペン先の動きを示す動きベクトルは加速度センサ12によって検知される。通信I/F14は、加速度センサ12によって検知された動きベクトルを繰り返し取り込み、取り込まれた動きベクトルをタブレット20に向けて繰り返し転送する。一方、タブレット20において、タッチパネル26の表面には、
図4に示すマトリクススイッチMSWが設けられる。
図4によれば、複数のスイッチSW,SW,…がX軸方向およびY軸方向の各々にマトリクス状に配置される。
【0022】
ペン先が筆記面にタッチされると、タッチ座標の近傍に設けられたスイッチSWの出力がLレベルからHレベルに更新する。つまり、
図4に○で示す位置にペン先がタッチされると、この座標のスイッチSWの出力が更新される。これによって、ペン先の筆記面へのタッチとタッチされた筆記面上の座標とが判明する。
【0023】
また、ペン先が筆記面上をX方向および/またはY方向に移動すると、移動前の座標の近傍のスイッチSWの出力がHレベルからLレベルに更新され、移動後の座標の近傍のスイッチSWがLレベルからHレベルに更新される。
【0024】
ASIC24に設けられたCPU24pは、ペン先が筆記面にタッチされたとき、タッチ座標をマトリクススイッチMSWの出力に基づいて繰り返し検出する。検出されたタッチ座標は、
図5に示す要領で座標レジスタ30に設けられた複数のカラムに順に登録される。変数Kはタッチ座標の登録が完了する毎に“0”からインクリメントされ、登録先のカラムは変数Kによって識別される。
【0025】
CPU24pは続いて、変数LおよびMを“0”および“1”に設定し、座標レジスタ30のL番目のカラムに登録されたタッチ座標を始点座標として検出するとともに、正規レジスタ30のM番目のカラムに登録されたタッチ座標を終点座標として検出する。CPU24pはさらに、検出された始点座標および終点座標を結ぶ線を筆記面つまり表示装置28に描画する。
【0026】
描画される線の色は、変数CLの値と
図6に示す描画設定レジスタ32の記述とに基づいて決定される。また、描画される線の幅は、変数LWの値と描画設定レジスタ32の記述とに基づいて決定される。
【0027】
変数CLおよびLWはいずれも初期状態において“0”を示し、後述する色変更操作または線幅変更操作に応答して“0”〜“3”の間で循環的に更新される。また、描画設定レジスタ32においては、0番目のカラムに“黒”および“3pt”が記述され、1番目のカラムに“赤”および“5pt”が記述され、2番目のカラムに“青”および“7pt”が記述され、3番目のカラムに“緑”および“9pt”が記述される。
【0028】
したがって、線の色は、CL=0に対応して“黒”に設定され、CL=1に対応して“赤”に設定され、CL=2に対応して“青”に設定され、そしてCL=3に対応して“緑”に設定される。また、線幅は、LW=0に対応して“3pt”に設定され、LW=1に対応して“5pt”に設定され、LW=2に対応して“7pt”に設定され、そしてLW=3に対応して“9pt”に設定される。
【0029】
変数LおよびMは始点座標および終点座標を結ぶ線が描画される毎にインクリメントされ、上述した処理はインクリメントされた変数LおよびMに注目して実行される。これによって、ペン先がタッチされた座標に沿って延びる線が筆記面に現れる。
【0030】
ペン先が筆記面から離れると、CPU24pは、ペン10から転送された動きベクトルを通信I/F22を通して繰り返し取得する。なお、ペン先が筆記面から離れたか否かは、タッチパネル26の出力に基づいて判別される。
【0031】
通信I/F22を通して取得された動きベクトルが軸方向へのペン10の振動の発生を示せば、CPU24pは変数CNTをインクリメントし、タイマ24tのリセット&スタートを実行する。したがって、変数CNTは軸方向へのペン10の振動が検出される毎に“0”→“1”→“2”→…の要領で更新され、タイマ24tは軸方向へのペン10の信号が検出される毎にリセット&スタートを施される。なお、タイマ24tは、スタートから1秒が経過した時点でタイムアウトとなる。
【0032】
変数CNTが“0”を上回る値を示し、かつタイマ24tにタイムアウトが発生すると、CPU24pは、色変更操作または線幅変更操作が行われたとみなし、変数CLまたはLWをインクリメントする。具体的には、変数CNTが“1”を示せば、色変更操作が行われたとみなされ、変数CLがインクリメントされる。これに対して、変数CNTが“2”以上の値を示せば、線幅変更操作が行われたとみなされ、数LWがインクリメントされる。変数CNTは、こうして変数CLまたはLWが更新される毎に“0”に戻される。
【0033】
したがって、描画される線の色は、ペン10が軸方向に1回振られる毎に、“黒”→“赤”→“青”→“緑”→“黒”→…の要領で更新される(
図7(A)参照)。また、描画される線の幅は、ペン10が軸方向に連続2回振られる毎に、“3pt”→“5pt”→“7pt”→“9pt”→“3pt”→…の要領で更新される(
図7(B)参照)。
【0034】
CPU24pは、
図8〜
図10に示すメインタスク,
図11に示す座標登録タスク,および
図12に示す描画タスクを含む複数のタスクをマルチタスクOSの下で並列的に実行する。なお、これらのタスクに対応する制御プログラムは、ROM34に記憶される。
【0035】
図8を参照して、ステップS1では描画設定を初期化する。線の色を識別する変数CLは“0”に設定され、線幅を識別する変数LWもまた“0”に設定される。ステップS3では、ペン10が軸方向に振られた回数を識別する変数CNTを“0”に設定する。
【0036】
ステップS5ではペン先が筆記面にタッチされているか否かをタッチパネル26の出力に基づいて判別する。判別結果がYESであればステップS7に進み、判別結果がNOであればステップS17に進む。
【0037】
ステップS7では座標登録タスクを起動し、ステップS9では既定時間(=数十ミリ秒)の待機を行い、ステップS11では描画タスクを起動する。ステップS13ではペン先のタッチが解除されたか否かをタッチパネル26の出力に基づいて判別する。判別結果がNOからYESに更新されると、起動中のタスクをステップS15で停止し、その後にステップS5に戻る。
【0038】
ステップS17では、ペン10から転送された動きベクトルを通信I/F22を通して取得する。ステップS19では、軸方向へのペン10の振動が発生したか否かを取得された動きベクトルに基づいて判別する。判別結果がYESであればステップS21に進み、判別結果がNOであればステップS25に進む。
【0039】
ステップS21では変数CNTをインクリメントし、ステップS23ではタイマ24tのリセット&スタートを実行する。ステップS23の処理が完了すると、ステップS5に戻る。
【0040】
ステップS25では変数CNTが“0”を示すか否かを判別し、ステップS27ではタイマ24tにタイムアウトが発生したか否か(=タイマ24tのスタートから1秒が経過したか否か)を判別する。ステップS25の判別結果がYESであるか、或いはステップS25の判別結果およびステップS27の判別結果がいずれもNOであれば、そのままステップS5に戻る。ステップS25の判別結果がNOでかつステップS27の判別結果がYESであれば、ステップS29で描画設定変更処理を実行し、ステップS31で変数CNTを“0”に設定し、その後にステップS5に戻る。
【0041】
ステップS29の描画設定変更処理は、
図10に示すサブルーチンに従って実行される。まずステップS41で変数CNTが“1”を示すか否かを判別する。判別結果がYESであればステップS43で変数CLをインクリメントし、判別結果がNOであればステップS45で変数LWをインクリメントする。変数CLは、ステップS43の処理によって“0”〜“3”の間で循環的に更新される。変数LWも、ステップS45の処理によって“0”〜“3”の間で循環的に更新される。ステップS43またはS45の処理が完了すると、上階層のルーチンに復帰する。
【0042】
図11を参照して、ステップS51では、座標レジスタ30をクリアし、変数Kを“0”に設定する。ステップS53では、タッチパネル26の出力に基づいてタッチ座標を検出し、検出されたタッチ座標を座標レジスタ30のK番目のカラムに登録する。ステップS55では変数Kをインクリメントし、その後にステップS53に戻る。
【0043】
図12を参照して、ステップS61では変数LおよびMを“0”および“1”に設定する。ステップS63では、座標レジスタ30のL番目のカラムに登録されたタッチ座標を始点座標として設定する。ステップS65では、座標レジスタ30のM番目のカラムに登録されたタッチ座標を終点座標として設定する。ステップS67では、こうして設定された始点座標および終点座標を結ぶ線を筆記面に描画する。
【0044】
描画される線の色は変数CLの値と描画設定レジスタ32の記述とを参照して決定され、描画される線の幅は変数LWの値と描画設定レジスタ32の記述とを参照して決定される。ステップS69では変数LおよびMをインクリメントし、インクリメントが完了するとステップS63に戻る。
【0045】
以上の説明から分かるように、タッチパネル26は、ペン先の動きを検知する加速度センサ12が設けられたペン10によって筆記される。CPU24pは、タッチパネル26上のタッチ座標を繰り返し検出し(S7, S51~S55)、検出されたタッチ座標に沿って線を描画する(S11, S61~S69)。CPU24pはまた、タッチパネル26へのタッチが中断された期間における加速度センサ12の出力を参照して描画設定を調整する(S5, S17~S31)。
【0046】
このように、線はタッチパネル26上のタッチ位置に沿って描画されるところ、描画設定はタッチパネル26へのタッチが中断された期間におけるペン先の動きに基づいて調整される。これによって、筆記によって描画される線の多様性が確保される。
【0047】
なお、この実施例では、ペン先がタッチパネル26から離れた期間をタッチパネル26の出力にのみ基づいて定義するようにしている(
図8のステップS5参照)。しかし、ペン先への加圧を検知する加圧センサ16をペン10に設け(
図13参照)、加圧センサ16の出力をさらに参照してペン先がタッチパネル26から離れた期間を定義するようにしてもよい。この場合、好ましくは、通信I/F14は加圧センサ16の検知結果をタブレット20に向けて繰り返し転送する。また、CPU24pは、
図8に示すステップS7およびS9の間で
図14に示すステップS71およびS73の処理を実行する。
【0048】
図14を参照して、ステップS71では加圧センサ16の検知結果を通信I/22を通して取得する。ステップS73では、ペン先が加圧されているか否かをステップS71で取得された検知結果を参照して判別する。判別結果がYESであればステップS7に進み、判別結果がNOであればステップS17に進む。
【0049】
なお、この実施例では、マルチタスクOSおよびこれによって実行される複数のタスクに相当する制御プログラムは、ROM34に予め記憶される。しかし、一部の制御プログラムを内部制御プログラムとしてROM34に当初から準備する一方、他の一部の制御プログラムを外部制御プログラムとして外部サーバから取得するようにしてもよい。この場合、外部制御プログラムは通信I/F22によって取得され、上述の動作は、内部制御プログラムおよび外部制御プログラムの協働によって実現される。
【0050】
また、この実施例では、CPU24tによって実行される処理を上述の要領で複数のタスクに区分するようにしている。しかし、各々のタスクをさらに複数の小タスクに区分してもよく、さらには区分された複数の小タスクの一部を他のタスクに統合するようにしてもよい。また、各々のタスクを複数の小タスクに区分する場合、その全部または一部を外部サーバから取得するようにしてもよい。