以下に、本発明の実施の形態に係るタッチパネル装置を、いわゆるタッチパネルの機能を有する電子ホワイトボードに適用した場合を例として、図面に基づいて詳述する。
(実施の形態1)
図1は本発明の実施の形態1に係る電子ホワイトボード100を概念的に表示した概念図であり、図2は本発明の実施の形態1に係る電子ホワイトボード100の要部構成を示す機能ブロック図である。
本発明の実施の形態1に係る電子ホワイトボード100は、表示部100Aとタッチパネル部100B(位置検出部)とを有しており、タッチパネル部100Bは、赤外線を発光する発光素子及び赤外線を受光する受光素子を備え、遮光物の位置を検出する、いわゆる赤外線遮断式タッチパネルである。電子ホワイトボード100においては、例えば、表示部100AはHDMI(登録商標)を介して、タッチパネル部100BはUSBを介してパーソナルコンピュータ(以下、PC部と言う。)100Cと接続されている。本実施例では、表示部100Aとタッチパネル部100Bとは映像表示と座標指示との機能別に、各々独立した形で構成しているが、表示と座標指示との同期を図る等の目的で、統合的に構成・制御しても良い。また、映像表示、座標指示のI/Fは、HDMI(登録商標)、USBに限らず、他の方式を用いても良い。更に、PC部100Cがタッチパネル部100B内に内装され、又は合体された構成であっても良い。
表示部100Aは、例えばLCD又はEL(Electroluminescence)パネル等からなり、PC部100Cからの映像出力及び、タッチパネル部100BとPC部100Cを介して利用者から受け付ける文字、線画等が表示される。また、表示部100Aの表示面101を囲むようにタッチパネル部100Bが設けられている。
タッチパネル部100Bは、走査部9と、走査制御部10と、I/F部11とを備えている。また、走査制御部10は、走査部9の発光素子及び受光素子の制御を行なう。
タッチパネル部100Bは、上記したように、赤外線遮断式タッチパネルである。すなわち、ペン形入力装置200(接触検知装置)の先端が表示部100Aの表示面101の近傍に近づいて、又は表示面101に接触して光遮断が検出されることによって、斯かる遮光物(ペン形入力装置200)との接触位置を検出する。すなわち、走査結果、受光素子から得られる信号(強度信号)がPC部100Cに送出され、後述するPC部100Cの制御部1は斯かる遮光物の座標を算出する。このようにして、タッチパネル部100Bは、利用者から表示部100Aの表示面101上の文字、線画等の描画に係る座標の入力を受け付ける。
タッチパネル部100Bは、表示部100Aの表示面101に沿って赤外線の光(以下、赤外光という)を走査する走査部9を備えており、走査部9は、赤外光を照射する複数の発光素子を有する発光部91と、対応する発光素子からの赤外光を受光する複数の受光素子を有する受光部92と、走査制御部10からの発光信号及び受光信号を夫々の発光部91及び受光部92に割り当てるアドレスデコーダ93と、光遮断の検出に用いられる受光部92からのアナログ信号をデジタル信号に変換するA/Dコンバータ94とを備えている。
I/F部11は、上述したようにPC部100Cと各種データの送受信を行ない、例えば、前記強度信号をPC部100Cに送信する。
図3は本発明の実施の形態1に係る電子ホワイトボード100における、光の走査の処理を説明する機能ブロック図である。
発光部91は、図示しないマルチプレクサを有しており、発光素子の夫々は該マルチプレクサに接続されている。また、受光部92も、図示しないマルチプレクサを有しており、受光素子の夫々は該マルチプレクサに接続されている。更に、発光部91の各発光素子は、受光部92の何れか一つ受光素子と対応(対向)するように構成されている。
走査制御部10は、複数の発光素子を発光させるための発光信号をアドレスデコーダ93Aへ出力すると共に、複数の受光素子を受光させるための受光信号をアドレスデコーダ93Bへ出力する。アドレスデコーダ93Aは、走査制御部10からの信号に応じて、発光素子のうち、発光に係る何れかの発光素子を特定する信号を発光部91に出力し、またアドレスデコーダ93Bは、走査制御部10からの信号に応じて、受光素子の中で、前記特定された発光素子に対応する受光素子を特定する信号を受光部92に出力する。
このように特定された発光素子は赤外光を発光し、対応する受光素子は赤外光を受光する。この際、該受光素子によって受光した赤外光の強度を電圧値で示す強度信号がA/Dコンバータ94に出力される。A/Dコンバータ94は前記強度信号を例えば、8ビットのデジタル信号に変換し、変換後の強度信号を走査制御部10に出力する。制御部1は、全ての受光素子からの強度信号を取得するために、各受光素子から強度信号を取得する処理を順次繰り返す。
走査制御部10は、各受光素子から取得した強度信号をI/F部11を介してPC部100Cに送信する。後述するPC部100Cの制御部1では、前記強度信号に基づいて該受光素子での受光量を計算する。制御部1は、計算された受光量が予め定められている閾値を超過している場合は、当該受光素子が受光する赤外光の光路は遮断されていないと判定する。また、計算された受光量が、予め定められている閾値以下である場合は、当該受光素子が受光する赤外光の光路が遮断されていると判定する。
一方、PC部100Cは、制御部1と、ROM2と、RAM3、通信部4とを備えている。
PC部100Cの制御部1は、タッチパネル部100Bの走査部9による走査結果に係る座標に基づき、後述する描画部16に文字、線画等の筆記・描画の描画命令を出力し、描画部16は表示部100Aの表示面101に文字、線画等の表示(描画)を行う。
ROM2には制御プログラムが予め格納されており、RAM3はデータを一時的に記憶し、記憶順、記憶位置等に関係なく読み出すことが可能である。また、RAM3は、例えば、ROM2から読み出されたプログラム、該プログラムを実行することにより発生する各種データ等を記憶する。
通信部4は、後述するペン形入力器200の通信部240に対応しており、例えば、Bluetooth(登録商標)、ZigBee(登録商標)等の無線通信を行なうように構成されている。通信部4は、例えば、ペン形入力器200の通信部240から、後述する接触検知データを受信する。
図4は本発明の実施の形態1に係る電子ホワイトボード100のPC部100Cにおける、制御部1の要部構成を示す機能ブロック図である。制御部1は、CPU11、座標算出部12、遮光物管理部13、取得部14、間隔判定部15、描画部16、シフト部17、第1判定部18、及び、第2判定部19を備えている。
CPU11は、ROM2に予め格納されている制御プログラムをRAM3上にロードして実行することによって、バスを介して上述した各種ハードウェアの制御を行い、電子ホワイトボード100を機能させる。
座標算出部12は、ペン形入力器200のような遮光物の表示部100Aの表示面101上の座標(接触の座標)を算出する。詳しくは、タッチパネル部100Bによって、表示部100Aの表示面101上の光遮断が検出された場合に送られる強度信号に基づき、斯かる遮光物の座標(接触の座標)を算出する。すなわち、座標算出部12は、赤外光の光路が遮断されている受光素子を特定し、特定された受光素子の位置に基づき、表示部100Aの表示面101上の遮光物の座標を算出する処理を行う。
遮光物管理部13は、走査部9の走査によって検出される遮光物の位置(座標)を管理する。例えば、遮光物管理部13は、斯かる遮光物が移動する場合、遮光物の移動軌跡を表す座標履歴を記憶する。以降、この処理をバッファリングと記載する。また、遮光物管理部13は、後述する、接触検知データのバッファリングも共に行う。これによって、遮光物が移動する場合は、該遮光物の移動軌跡に係る座標履歴に基づいて描画が行なわれる。
取得部14は、タッチパネル部100Bから位置検出データを取得し、ペン形入力器200から接触検知データを取得する。ここで、位置検出データは、タッチパネル部100Bによって検出された遮光物の位置(ペン形入力器200との接触位置)を表す検出結果のデータである。また、接触検知データは、ペン形入力器200が、表示部100Aの表示面101と接触していることを示す検知結果のデータである。
間隔判定部15は、位置データ取得期間と、接触データ取得期間との間隔が特定の閾値以内であるか否かを判定する。ここで位置データ取得期間は、取得部14がタッチパネル部100Bから前記位置検出データの取得を開始して終了するまでの時間である。また、接触データ取得期間は、取得部14がペン形入力器200から前記接触検知データの取得を開始して終了するまでの時間である。また、前記閾値は、例えば、30msである。
すなわち、前記位置検出データが先に取得され、後に前記接触検知データが取得された場合は、間隔判定部15は、位置検出データの取得終了から接触検知データの取得開始までの間隔が30ms以内であるか否かを判定する。また、前記接触検知データが先に取得され、後に前記位置検出データが取得された場合は、間隔判定部15は、接触検知データの取得終了から位置検出データの取得開始までの間隔が30ms以内であるか否かを判定する。以下、斯かる特定の閾値をThCともいう。
描画部16は、間隔判定部15によって、位置データ取得期間と、接触データ取得期間との間隔が特定の閾値以内であると判定された場合、遮断物管理部13によるバッファリングに係る位置検出データ及び接触検知データに基づいて、描画を行う。
詳しくは、位置データ取得期間と、接触データ取得期間との間隔が特定の閾値以内である場合は、位置データ取得期間に係る位置検出データ、及び、接触データ取得期間に係る接触検知データの取得においてズレが発生したものとみなされるので、前記位置データ取得期間に係る位置検出データ、及び、前記接触データ取得期間に係る接触検知データに基づいて描画を行う。以降、この処理を追加描画と記載する。
シフト部17は、位置データ取得期間と、接触データ取得期間との間隔が特定の閾値以内であり、描画部16が追加描画行う際、位置データ取得期間及び接触データ取得期間のうち、何れか一方を他方の方に、時系列においてシフトさせて、これらが重複するようにする。
すなわち、前記位置検出データ及び接触検知データの取得においてズレが発生しなかった場合を仮定し、前記位置データ取得期間内に前記接触データ取得期間が含まれ、又は、前記接触データ取得期間内に前記位置データ取得期間が含まれるように、シフト部17が一方を他方の方に、シフトさせる処理を行う。
例えば、シフト部17は、時系列において、前記位置データ取得期間の中間点と、前記接触データ取得期間の中間点とが一致するように前記シフト処理を行う。この際、描画部16は、重複している位置データ取得期間に係る位置検出データ、及び、重複している接触データ取得期間に係る接触検知データに基づいて追加描画を行う。
また、以上のように、前記位置データ取得期間及び接触データ取得期間のズレが発生した場合、間隔判定部15による前記判定に先立って、第1判定部18は、該位置データ取得期間が第1閾値以内であるか否かを判定する。また、第2判定部19は、前記接触データ取得期間が第2閾値以内であるか否かを判定する。
第1判定部18によって、前記位置データ取得期間が第1閾値以内であると判定され、かつ第2判定部19によって、前記接触データ取得期間が第2閾値以内であると判定された場合、間隔判定部15による前記判定が行なわれる。前記第1閾値及び第2閾値は、例えば、30msである。
これによって、ユーザの意図的不正操作により、前記位置データ取得期間及び接触データ取得期間のズレが発生した場合を、上述した追加描画の対象から除外することができる。
例えば、ユーザがペン形入力器200以外のものを用いて表示部100Aの表示面101上をなぞることによって前記ズレが発生した場合、ユーザがペン形入力器200の先端を指で押し続けることによって前記ズレが発生した場合などは、前記第1閾値及び第2閾値の範囲外となるので、描画部16は前記追加描画を行わない。以下、第1閾値をThAといい、第2閾値をThBという。
以下に、前記走査及び遮光物の検出について詳しく説明する。図5は本発明の実施の形態1に係る電子ホワイトボード100における、走査及び遮光物の検出を説明する説明図である。
表示部100Aの表示面101は矩形状であり、表示面101の図面視右側及び下側には、表示部100Aの縁に沿って複数の発光素子911、911、…の列が並設されている。発光素子911は、例えば、赤外光を発光する発光ダイオード(LED)である。図中には、各発光素子911が発光する赤外光の光路を実線の矢印にて示している。
右側の複数の発光素子911、911、…は、夫々の発光素子911が発光する赤外光の光路が表示面101に沿って互いに平行をなすように設けられており、下側の発光素子911、911、…も同様に設けられている。
すなわち、図5における左右方向(x軸方向)たる右側の発光素子911、911、…の光路と、上下方向(y軸方向)たる下側の複数の発光素子911、911、…の光路とは相互直交(交差)するように設けられている。
また、表示部100Aの表示面101上であって、発光素子911、911、…と対向する位置には、受光素子921、921、…が設けられている。
すなわち、表示部100Aの表示面101の左側及び上側には、縁に沿って複数の受光素子921、921、…の列が並設されている。受光素子921は、赤外光を受光するフォトダイオードである。発光素子911が発する赤外光は、対向配置された受光素子921によって受光されるように構成されている。
また、発光素子の場合と同様に、上側の受光素子921、921、…と、左側の受光素子921、921、…とは、受光すべき赤外光の光路が相互直交するように設けられている。
走査部9は、表示部100Aの表示面101における、X軸方向の一端から他端まで、またY軸方向の一端から他端まで、1つずつ発光素子911を順次発光させていき、表示部100Aの表示面101上における、ペン形入力器200との接触位置が上述したように検出される。
図6は本発明の実施の形態1に係るペン形入力器200の要部構成を示す機能ブロック図である。ペン型入力器200は、タッチパネル部100Bと通信可能に構成されており、電子ホワイトボード100の通信部4に前記接触検知データを送信する。
また、ペン型入力器200は、ユーザによる描画の際、表示部100Aの表示面101と接触する柱状の接触部201と、該接触部201を突出方向及び反対方向に移動可能に保持するペン型のケーシング202とを備えている。
更に、ペン型入力器200は、筆圧検知部210と、制御部220と、記憶部230と、通信部240とを備えており、これらはケーシング202内に収容されている。
筆圧検知部210は、ユーザがペン型入力器200を握って表示部100Aの表示面101に描画を行なう際、接触部201の先端と、表示面101との接触による圧力を測定する。換言すれば、該接触の際、接触部201にかかる圧力(以下、筆圧という)を測定する。例えば、筆圧検知部210はいわゆる歪みセンサを用いて前記筆圧を検知し、該筆圧が所定閾値以上である場合、制御部220は、ペン形入力器200(接触部201)が表示面101と接触していると判定する。
記憶部230は、例えば、フラッシュメモリ、EEPROM(登録商標)、HDD、MRAM(磁気抵抗メモリ)、FeRAM(強誘電体メモリ)、又は、OUM等の不揮発性の記憶媒体により構成されている。例えば、記憶部230は、自器の識別データ、筆圧に係る所定閾値、電子ホワイトボード100のMAC(Media Access Control)アドレス等を記憶している。
制御部220は、筆圧検知部210による検知結果を取得し、検知された筆圧が所定閾値以上である場合、通信部240を介して、電子ホワイトボード100の通信部4に、前記接触検知データを送信する。
通信部240は、制御部220からの指示に応じて、前記接触検知データを例えば、電子ホワイトボード100の通信部4に送信する。通信部240は、例えば、Bluetooth(登録商標)、ZigBee(登録商標)等の無線通信を行なうように構成されている。
図7は本発明の実施の形態1に係る電子ホワイトボード100における、接触検知データの取得を説明する説明図である。取得部14は、通信部4を介してペン型入力器200から接触検知データを取得する。
斯かる接触検知データには、筆圧検知部210によって検出された筆圧、ペン型入力器200の識別データ、接触検知データ事象が含まれている。ここで、接触検知データ事象とは、接触検知データ検知開始、接触検知データ更新、接触検知データ検知終了のいずれかである。
接触検知データ検知開始とは、接触検知データが検知されていない状態(無効)から接触検知データが検知された状態(有効)に変化することである。接触検知データ更新とは、前記有効の状態から接触検知データが継続して発生することである。接触検知データ検知終了は、前記有効の状態から無効に変化することである(例えば、筆圧検知部210によって検知された筆圧が前記所定閾値以下となる場合)。
例えば、ユーザが表示面101にP1の時点で触り始め、P2及びP3の時点においても触り続け、P4の時点で触り終わった場合、P1の時点が接触検知データ検知開始、P2及びP3の時点が接触検知データ更新、P4の時点が接触検知データ検知終了となる。
図8は本発明の実施の形態1に係る電子ホワイトボード100における、位置検出データの取得を説明する説明図である。取得部14は、タッチパネル部100Bから位置検出データを取得する。また、座標検出部12は取得部14によって取得された位置検出データに基づいて、ペン型入力器200と表示面101との接触位置の座標を検出する。
位置検出データには、位置検出データ事象が含まれている。位置検出データ事象は、位置検出データ検出開始、位置検出データ更新、位置検出データ検出終了のいずれかである。
位置検出データ検出開始とは、位置検出データが検出されていない状態(無効)から位置検出データが検出された状態(有効)に変化することである。位置検出データ更新とは、前記有効の状態から位置検出データが継続して発生することである。位置検出データ検出終了は、前記有効の状態から無効に変化することである。
例えば、ユーザがタッチパネルにT1の時点で触り始め、T2及びT3の時点においても触り続け、T4の時点で触り終わった場合、T1の時点が位置検出データ検出開始、T2及びT3の時点が位置検出データ更新、T4の時点が位置検出データ検出終了となる。
このような、接触検知データ事象及び位置検出データ事象に基づき、電子ホワイトボード100での描画処理においては、4つの状態が想定できる。すなわち、接触検知データ及び位置検出データの何れも無効である「初期状態」と、接触検知データ及び位置検出データの何れも有効である「描画状態」と、位置検出データのみが有効であって、接触検知データは無効である「位置検出データのみ有効状態」と、接触検知データのみが有効であって、位置検出データは無効である「接触検知データのみ有効状態」とである。以下、説明の便宜上、「初期状態」、「位置検出データのみ有効状態」、「接触検知データのみ有効状態」、及び、「描画状態」を各々、「I状態」、「II状態」、「III状態」、及び「IV状態」という。
図9は本発明の実施の形態1に係る電子ホワイトボード100において、I状態〜IV状態の間の遷移を概略的に説明する説明図である。図9に示すように、各々の状態は、接触検知データ事象及び位置検出データ事象に基づいて遷移する。
例えば、「I状態」にて、位置検出データ検出開始の事象が発生した場合は、「I状態」から「II状態」に遷移する。また、「II状態」にて、接触検知データ検知開始の事象が発生した場合は、「II状態」から「IV状態」に遷移する。また、「IV状態」にて、位置検出データ検出終了の事象が発生した場合は、「IV状態」から「III状態」に遷移する。更に、「III状態」にて、接触検知データ検知終了の事象が発生した場合は、「III状態」から「I状態」に遷移する。
通常の描画処理の場合について説明する。通常の描画処理はIV状態である場合に行なわれる。以下、説明の便宜上、図10のような状態遷移の場合を例として説明する。すなわち、I状態、II状態、IV状態、III状態、I状態の順に状態遷移が行われ、IV状態の描画状態で通常の描画処理が行われる。
通常の描画は、位置検出データ及び接触検知データの両方が揃った時点で行われる。この際、例では、以下のデータを取得部14から描画部16に対して送信する。
(1)T2の時点で、T2に係る位置検出データと、P1に係る接触検知データとを合わせて送信する。(IV状態になってから最初に送信するデータには、描画開始の指示も付加する。)
(2)T3の時点で、T3に係る位置検出データと、P2に係る接触検知データとを合わせて送信する。
(3)T4の時点で、T4に係る位置検出データと、P3に係る接触検知データとを合わせて送信する。(このとき、IV状態から別の状態に遷移するので、描画終了の指示も付加する。)
例えば、T2の時点では、T2の時点以前で最も近い接触検知データはP1時点のものなので、T2に係る位置検出データと、最新のP1時点に係る接触検知データとを組み合わせた描画に必要なデータとして構成される。
なお、以上の説明では、位置検出データに係るT2〜T4の時点で、取得部14から描画部16に対して所定のデータを送信するとしているが、取得部14の処理状態によっては、描画部16が使用できるのであれば、データ自体をまとめて送信する仕組みでも構わないし、分割して送信する仕組みでも構わない。
以下、追加描画の処理の場合について説明する。以下、説明の便宜上、図11のような状態遷移の場合を例として説明する。すなわち、I状態、III状態、I状態、II状態、I状態の順に状態遷移が行われ、IV状態への遷移はない。従って、IV状態での通常の描画処理は行われていないが、所定の条件を満たす場合は、追加描画の処理が行なわれる。図12は本発明の実施の形態1に係る電子ホワイトボード100における、追加描画の処理を説明する説明図である。
すなわち、接触データ取得期間の開始時間をTpsとし、終了時間をTpeとする。位置データ取得期間の開始時間をTtsとし、終了時間をTteとする。また、II状態及びIII状態のうち、何れか先行する状態の開始時間をTfsとし、終了時間をTfeとする。更に、後方のII状態又はIII状態の開始時間をTssとし、終了時間をTseとする。
図11の例の場合では、先行するのはIII状態なのでTfs=Tpsであり、Tfe=Tpeとなる。また、後方はII状態なのでTss=Ttsであり、Tse=Tteとなる。ここで、追加描画の処理を実施する条件は、下記の通りである。
条件A: Tte−Tts<ThA(例えば30ms)
条件B: Tpe−Tps<ThB(例えば30ms)
条件C: Tss−Tfe<ThC(例えば30ms)
追加描画の処理のためには、条件A及び条件B及び条件Cを全て満たすことが必要である。
追加描画の処理では、先行するII状態又はIII状態(図11の場合はIII状態)と、後方のIII状態又はII状態(図11の場合はII状態)の時間から、制御部1(取得部14)での取得におけるタイミングのズレ量を算出する。
すなわち、前記タイミングのズレ量は、図11の例の場合は、後方(II状態)の中央時刻から先行(III状態)の中央時刻を引いたものであり、下記のようになる。
タイミングのズレ量=(Tss+Tse)/2−(Tfs+Tfe)/2
電子ホワイトボード100においては、このようなズレ量が、描画処理におけるタイミングのズレと想定し、例えば、先行する状態をズレ量だけ遅らせて追加描画の処理を行う。以下、図12に基づいて、詳しく説明する。
斯かるズレを補正するために、先行(III状態)の中央時刻と、後方(II状態)の中央時刻とが一致するように、先行する状態をズレ量だけ遅らせば良い。すなわち、追加描画の処理のために、取得部14から描画部16に送信すべきデータとして、先行する状態をズレ量だけ遅らせた場合の状態遷移を再計算し、そのときのIV状態において、通常の描画処理と同様の方式で、送信するデータを決定する。
図12の例は、先行するIII状態をズレ量だけ遅らせた場合に、状態遷移を再計算したものである。図12の例によれば、III状態をズレ量だけ遅らせることにより、状態遷移はI状態、III状態、IV状態、III状態、I状態の順となる。すなわち、接触データ取得期間及び位置データ取得期間が重複する期間が生じるのでIV状態が現れる。
また、取得部14から描画部16へ送信するデータは、通常の描画処理と同様の方式により決定され、下記の通りになる。
(1)T1時点の位置検出データと、P1時点の接触検知データとを合わせて送信。
(IV状態になってから最初に送信するデータには、描画開始の指示も付加する。)
(2)T2時点の位置検出データと、P2時点の接触検知データとを合わせて送信。
(この際、IV状態から別の状態になるので、描画終了の指示を送信する。)
但し、斯かるデータを送信できる最も早い時間は、追加描画の処理が実行される時間である。すなわち、本例では、後方のII状態の終了時間Tseである。
以後、描画部16は、T1時点の位置検出データ及びP1時点の接触検知データ、並びに、T2時点の位置検出データ及びP2時点の接触検知データに基づいて、表示部100Aの表示面101に文字、線画等の描画を行う。
図13は本発明の実施の形態1に係る電子ホワイトボード100における、描画の処理を説明するフローチャートである。以下、説明の便宜上、図9に基づいて、説明を行う。
まず、「I状態」、「II状態」、「IV状態」、「III状態」、「I状態」の順に遷移が行なわれた場合、すなわち、通常の描画処理が行われる場合を説明する。まず、I状態からII状態への状態遷移の場合を説明する。
CPU11は、デフォルトとして、接触検知データ事象及び位置検出データ事象の何れかが発生したか否かを判定する(ステップS101)。斯かる判定は、CPU11が、取得部14が接触検知データ及び位置検出データの何れかを取得したかを監視することにより行われる。
以下、このように、接触検知データ事象及び位置検出データ事象の両方を監視する場合を両方探索モードといい、接触検知データ事象のみを監視する場合をペン探索モードといい、位置検出データ事象のみを監視する場合を位置探索モードという。
前提したように、現在は「I状態」であるので、CPU11は何れの事象も発生していないと判定し(ステップS101:NO)、何れかの事象が発生するまで待機する。
例えば、位置検出データ検出開始事象が発生した場合、CPU11は、何れかの事象が発生したと判定し(ステップS101:YES)、現在バッファリング中であるか否かを判定する(ステップS102)。
CPU11によって現在バッファリング中であると判定された場合(ステップS102:YES)、遮光物管理部13はバッファリング内容の更新を行う(ステップS103)。
一方、現在、バッファリング中でない場合(ステップS102:NO)、CPU11は、直前状態を前状態としてRAM3に記憶しておく(ステップS104)。
すなわち、本例では、I状態から位置検出データ検出開始事象が発生したので、「I状態」が前状態として記憶される。次いで、I状態からII状態に状態遷移される(ステップS105)。
この際、CPU11は、状態遷移後の現在の状態が初期状態(I状態)であるか否かを判定する(ステップS106)。CPU11によって現在の状態が初期状態であると判定された場合(ステップS106:YES)、処理はステップS107に進む。しかし、現在はII状態であるので、CPU11によって現在の状態が初期状態でないと判定され(ステップS106:NO)、処理はステップS110に進む。
次いで、CPU11は、現在の状態が描画状態(IV状態)であるか否かを判定する(ステップS110)。CPU11によって現在の状態が描画状態であると判定された場合(ステップS110:YES)、処理はステップS111に進む。しかし、現在はII状態であるので、CPU11によって現在の状態が描画状態でないと判定され(ステップS110:NO)、処理はステップS115に進む。
CPU11は、前状態が初期状態(I状態)であるか否かを判定する(ステップS115)。斯かる判定は、RAM3の記憶内容を確認することにより行なわれる。
CPU11によって前状態が初期状態でないと判定された場合(ステップS115:NO)、処理は終了する。一方、今回の例においては、前状態が初期状態であるので、前状態が初期状態であると判定され(ステップS115:YES)、CPU11は遮光物管理部13にバッファリングの開始を指示する。CPU11の指示に応じて遮光物管理部13はバッファリングを開始する(ステップS116)。以降、処理は終了する。
次に、II状態で接触検知データ検知開始事象が発生し、IV状態に状態遷移した場合を説明する。
CPU11は、接触検知データ事象及び位置検出データ事象の何れかが発生したか否かを判定する(ステップS101)。CPU11は何れの事象も発生していないと判定した場合(ステップS101:NO)、何れかの事象が発生するまで待機する。
例えば、前提したように、接触検知データ検知開始事象が発生した場合、CPU11は、何れかの事象が発生したと判定し(ステップS101:YES)、現在バッファリング中であるか否かを判定する(ステップS102)。以降、ステップS102〜ステップS105までの処理については、上述した通りであるので、詳しい説明を省略する。
今回の例では、II状態からIV状態に状態遷移され(ステップS105)、CPU11は、状態遷移後の現在の状態が初期状態(I状態)であるか否かを判定する(ステップS106)。現在はIV状態であるので、CPU11によって現在の状態が初期状態でないと判定され(ステップS106:NO)、処理はステップS110に進む。
次いで、CPU11は、現在の状態が描画状態(IV状態)であるか否かを判定する(ステップS110)。現在はIV状態であるので、CPU11によって現在の状態が描画状態であると判定され(ステップS110:YES)、処理はステップS111に進む。
CPU11は描画部16に描画を指示し、描画部16はCPU11の指示に応じて、遮光物管理部13によるバッファリングの結果に基づき、通常の描画処理を行う(ステップS111)。通常の描画処理については既に説明しており、詳しい説明を省略する。
次いで、CPU11は、前状態が描画状態(IV状態)であるか否かを判定する(ステップS112)。斯かる判定は、RAM3の記憶内容を確認することにより行なわれる。
前状態が描画状態であると判定された場合(ステップS112:YES)、CPU11は遷移フラグを有効にする(ステップS113)。これは、正常に描画処理が行なわれたことを表すものである。以降、処理は終了する。
一方、CPU11によって前状態が描画状態でないと判定された場合(ステップS112:NO)、遮光物管理部13はバッファリングを終了し、CPU11は探索モードを両方探索モードにする(ステップS114)。以降、処理は終了する。
次に、IV状態で位置検出データ検出終了事象が発生し、III状態へ状態遷移した場合を説明する。
CPU11は、接触検知データ事象及び位置検出データ事象の何れかが発生したか否かを判定する(ステップS101)。例えば、前提したように、位置検出データ検出終了事象が発生した場合、CPU11は、何れかの事象が発生したと判定し(ステップS101:YES)、現在バッファリング中であるか否かを判定する(ステップS102)。以降、ステップS102〜ステップS105までの処理については、上述した通りであるので、詳しい説明を省略する。
今回の例では、IV状態からIII状態に状態遷移され(ステップS105)、CPU11は、状態遷移後の現在の状態が初期状態(I状態)であるか否かを判定する(ステップS106)。現在はIII状態であるので、CPU11によって現在の状態が初期状態でないと判定され(ステップS106:NO)、処理はステップS110に進む。
次いで、CPU11は、現在の状態が描画状態(IV状態)であるか否かを判定する(ステップS110)。現在はIV状態でないので、CPU11によって現在の状態が描画状態でないと判定され(ステップS110:NO)、処理はステップS115に進む。
CPU11は、前状態が初期状態(I状態)であるか否かを判定する(ステップS115)。ここでは前状態はIV状態であるので、CPU11によって前状態が初期状態でないと判定され(ステップS115:NO)、処理は終了する。
次に、III状態で接触検知データ検知終了事象が発生し、I状態に状態遷移した場合を説明する。
CPU11は、接触検知データ事象及び位置検出データ事象の何れかが発生したか否かを判定する(ステップS101)。例えば、前提したように、接触検知データ検知終了事象が発生した場合、CPU11は、何れかの事象が発生したと判定し(ステップS101:YES)、現在バッファリング中であるか否かを判定する(ステップS102)。以降、ステップS102〜ステップS105までの処理については、上述した通りであるので、詳しい説明を省略する。
今回の例では、III状態からI状態に状態遷移され(ステップS105)、CPU11は、状態遷移後の現在の状態が初期状態(I状態)であるか否かを判定する(ステップS106)。現在はI状態であるので、CPU11は現在の状態が初期状態であると判定し(ステップS106:YES)、遷移フラグが有効になっているか否かを判定する(ステップS107)。
CPU11によって遷移フラグが有効になっていないと判定された場合(ステップS107:NO)、ステップS109に進み追加描画の処理が行われる。しかし、現在、上述したように、遷移フラグが有効になっているので、CPU11は、遷移フラグが有効になっていると判定する(ステップS107:YES)。
この際、CPU11は、遷移フラグを無効にし(ステップS108)、処理を終了する。
次に、「I状態」、「II状態」、「I状態」、「III状態」、「I状態」の順に遷移が行なわれた場合、すなわち、追加描画の処理が行われる場合を説明する。また、説明の便宜上、条件A、条件B及び条件Cをすべて満たすものとする。
まず、I状態からII状態への状態遷移については、既に説明しているので、詳しい説明を省略する。続いて、II状態で位置検出データ検出終了事象が発生し、I状態に状態遷移した場合について説明する。
CPU11は、接触検知データ事象及び位置検出データ事象の何れかが発生したか否かを判定する(ステップS101)。例えば、前提したように、位置検出データ検出終了事象が発生した場合、CPU11は、何れかの事象が発生したと判定し(ステップS101:YES)、現在バッファリング中であるか否かを判定する(ステップS102)。以降、ステップS102〜ステップS105までの処理については、上述した通りであるので、詳しい説明を省略する。
今回の例では、II状態からI状態に状態遷移され(ステップS105)、CPU11は、状態遷移後の現在の状態が初期状態(I状態)であるか否かを判定する(ステップS106)。現在はI状態であるので、CPU11は現在の状態が初期状態であると判定し(ステップS106:YES)、遷移フラグが有効になっているか否かを判定する(ステップS107)。
現在、遷移フラグが有効になっていないので、CPU11によって遷移フラグが有効になっていないと判定され(ステップS107:NO)、追加描画の処理が行われる(ステップS109)。
以下、追加描画の処理について説明する。図14及び図15は本発明の実施の形態1に係る電子ホワイトボード100における、追加描画の処理を説明するフローチャートである。
まず、CPU11は現在の探索モードがペン探索モードであるか否かを判定する(ステップS201)。CPU11によって現在の探索モードがペン探索モードであると判定された場合(ステップS201:YES)、処理はステップS210に進む。しかし、現在はデフォルトの両方探索モードであるので、CPU11によって現在の探索モードはペン探索モードでないと判定される(ステップS201:NO)。
この際、第1判定部18は、遮断物管理部13によるバッファリングに係る位置検出データについて、条件Aを満たしているか否かを判定する(ステップS202)。すなわち、第1判定部18は位置データ取得期間(Tte−Tts)が閾値ThAより小さいか否かを判定する。
斯かる操作が上述したようなユーザの意図的不正操作であり、第1判定部18によって条件Aを満たしていないと判定された場合(ステップS202:NO)、CPU11は現在探索モードが両方探索モードであるか否かを判定する(ステップS206)。
CPU11によって現在探索モードが両方探索モードであると判定された場合(ステップS206:YES)、処理はステップS210に進む。一方、CPU11は、現在探索モードが両方探索モードでないと判定した場合(ステップS206:NO)、遮光物管理部13にバッファリングの終了を指示する。遮光物管理部13はCPU11の指示に応じてバッファリングを終了し(ステップS207)、また、バッファを削除して(ステップS208)、バッファリングした内容を削除する。
以降、CPU11は、探索モードを両方に設定し(ステップS209)、処理を終了する。
一方、今回の例においては、前提したように、条件Aを満たしているので、第1判定部18によって条件Aを満たしていると判定され(ステップS202:YES)、CPU11は現在の探索モードが両方探索モードであるか否かを判定する(ステップS203)。
また、現在においては、探索モードが両方探索モードであるので、CPU11は、現在の探索モードが両方探索モードであると判定し(ステップS203:YES)、探索モードをペン探索モードに設定し(ステップS204)、遮光物管理部13にバッファリングの終了を指示する。遮光物管理部13はCPU11の指示に応じてバッファリングを終了し(ステップS205)。以降、処理は終了する。
また、CPU11によって現在の探索モードが両方探索モードでないと判定された場合(ステップS203:NO)、間隔判定部15は条件Cを満たしているか否かを判定する(ステップS220)。すなわち、位置データ取得期間及び接触データ取得期間の間隔(Tss−Tfe)が閾値ThCより小さいか否かを判定する。以下の処理については後で詳しく説明する。
次に、I状態で接触検知データ検知開始事象が発生し、III状態に状態遷移した場合を説明する。
CPU11は、接触検知データ事象及び位置検出データ事象の何れかが発生したか否かを判定する(ステップS101)。例えば、前提したように、接触検知データ検知開始事象が発生した場合、CPU11は、何れかの事象が発生したと判定し(ステップS101:YES)、現在バッファリング中であるか否かを判定する(ステップS102)。以降、ステップS102〜ステップS105までの処理については、上述した通りであるので、詳しい説明を省略する。
今回の例では、I状態からIII状態に状態遷移され(ステップS105)、CPU11は、状態遷移後の現在の状態が初期状態(I状態)であるか否かを判定する(ステップS106)。現在はIII状態であるので、CPU11によって現在の状態が初期状態でないと判定され(ステップS106:NO)、処理はステップS110に進む。
次いで、CPU11は、現在の状態が描画状態(IV状態)であるか否かを判定する(ステップS110)。現在はIII状態であるので、CPU11によって現在の状態が描画状態でないと判定され(ステップS110:NO)、処理はステップS115に進む。
CPU11は、前状態が初期状態(I状態)であるか否かを判定する(ステップS115)。今回の例においては、前状態が初期状態であるので、前状態が初期状態であると判定され(ステップS115:YES)、CPU11は遮光物管理部13にバッファリングの開始を指示する。CPU11の指示に応じて遮光物管理部13はバッファリングを開始する(ステップS116)。以降、処理は終了する。
続いて、III状態で接触検知データ検知終了事象が発生し、I状態に状態遷移した場合について説明する。
CPU11は、接触検知データ事象及び位置検出データ事象の何れかが発生したか否かを判定する(ステップS101)。例えば、前提したように、接触検知データ検知終了事象が発生した場合、CPU11は、何れかの事象が発生したと判定し(ステップS101:YES)、現在バッファリング中であるか否かを判定する(ステップS102)。以降、ステップS102〜ステップS105までの処理については、上述した通りであるので、詳しい説明を省略する。
今回の例では、III状態からI状態に状態遷移され(ステップS105)、CPU11は、状態遷移後の現在の状態が初期状態(I状態)であるか否かを判定する(ステップS106)。現在はI状態であるので、CPU11は現在の状態が初期状態であると判定し(ステップS106:YES)、遷移フラグが有効になっているか否かを判定する(ステップS107)。
現在、遷移フラグが有効になっていないので、CPU11によって遷移フラグが有効になっていないと判定され(ステップS107:NO)、追加描画の処理が行われる(ステップS109)。
以降の追加描画の処理は、図14及び図15のフローチャートを用いて説明する。
まず、CPU11は現在の探索モードがペン探索モードであるか否かを判定する(ステップS201)。上述したように、II状態からI状態への状態遷移の際、探索モードがペン探索モードに設定されているので、CPU11によって現在の探索モードがペン探索モードであると判定され(ステップS201:YES)、処理はステップS210に進む。
この際、第2判定部19は、遮断物管理部13によるバッファリングに係る接触検知データについて、条件Bを満たしているか否かを判定する(ステップS210)。すなわち、第2判定部19は接触データ取得期間(Tpe−Tps)が閾値ThBより小さいか否かを判定する。
斯かる操作が上述したようなユーザの意図的不正操作であり、第2判定部19によって条件Bを満たしていないと判定された場合(ステップS210:NO)、CPU11は現在探索モードが両方探索モードであるか否かを判定する(ステップS214)。
CPU11によって現在探索モードが両方探索モードでないと判定された場合(ステップS214:NO)、ステップS215〜ステップS217の処理が行われるが、これら処理は、既に説明したステップS207〜ステップS209の処理と同一であり、詳しい説明を省略する。
また、CPU11によって現在探索モードが両方探索モードであると判定された場合(ステップS214:YES)、ステップS218及びステップS219の処理が行われるが、これら処理は、既に説明したステップS207及びステップS208の処理と同一であり、詳しい説明を省略する。
一方、今回の例においては、前提したように、条件Bを満たしているので、第2判定部19によって条件Bを満たしていると判定され(ステップS210:YES)、CPU11は現在の探索モードが両方探索モードであるか否かを判定する(ステップS211)。
CPU11は、現在の探索モードが両方探索モードであると判定した場合(ステップS211:YES)、探索モードを位置探索モードに設定し(ステップS212)、遮光物管理部13にバッファリングの終了を指示する。遮光物管理部13はCPU11の指示に応じてバッファリングを終了し(ステップS213)。以降、処理は終了する。
しかし、現在においては、探索モードがペン探索モードであるので、CPU11によって現在の探索モードが両方探索モードでないと判定され(ステップS211:NO)、間隔判定部15は条件Cを満たしているか否かを判定する(ステップS220)。
上述した前提に基づいて、条件Cを満たしているので、間隔判定部15は条件Cを満たしていると判定する(ステップS220:YES)。
次いで、描画部16は、追加描画の処理を実行すると共にバッファを削除してバッファリングした内容を削除する(ステップS221)。また、描画部16による追加描画の処理については既に説明しており、詳しい説明を省略する。
以降、CPU11は、探索モードを両方に設定し(ステップS222)、処理を終了する。
一方、間隔判定部15によって条件Cを満たしていないと判定された場合(ステップS220:NO)、CPU11は現在の探索モードがペン探索モードであるか否かを判定する(ステップS223)。
CPU11は、現在の探索モードがペン探索モードであると判定した場合(ステップS223:YES)、探索モードを位置探索モードに設定すると共に、位置検出データに係るバッファを削除する(ステップS224)。以降、処理は終了する。
また、CPU11は、現在の探索モードがペン探索モードでないと判定した場合(ステップS223:NO)、探索モードをペン探索モードに設定すると共に、接触検知データに係るバッファを削除する(ステップS225)。以降、処理は終了する。
なお、上述した座標算出部12と、遮光物管理部13と、取得部14と、間隔判定部15と、描画部16と、シフト部17と、第1判定部18と、第2判定部19とは、ハードウェアロジックによって構成してもよいし、CPU11が所定のプログラムを実行することにより、ソフトウェア的に構築されてもよい。
(実施の形態2)
実施の形態1においては、本発明に係る電子ホワイトボード100が赤外線遮断式タッチパネルである場合を例として説明したが、本発明はこれに限るものでない。
本発明は、例えば、静電容量方式、又は、表示部100Aの表示面101に赤外線を照射する赤外線照射部及び赤外線イメージセンサを組み合わせたものを少なくとも2個配置して三角測量によって座標を検出する方式などにも適用することができる。また、所定タイミングで回転して赤外線の方向を変更するポリゴンミラーで赤外線をスキャンして対象物を検出する構成にも適用することができる。以下に、赤外線をポリゴンミラーでスキャンして対象物を検出する構成例を示す。
図16は本発明の実施の形態2に係る電子ホワイトボード100の要部構成を示す説明図である。
前記電子ホワイトボード100は、例えば、表示面101の四隅枠に再帰性反射体を配置し、前記表示画101の長辺、又は、短辺の両端部に各々光学ユニットが設けられている。該光学ユニットは、赤外線レーザ光を出射するレーザダイオード、レーザ光を平行光にするコリメーションレンズ、再帰性反射体からの反射光を受光するフォトダイオード、ポリゴンミラーを介した再帰性反射体からの反射光をフォトダイオードへ反射するアパーチャミラー等が設けられている。前記レーザダイオードから出射されたレーザ光は、前記コリメーションレンズで平行光にされ、前記ポリゴンミラーにより表示面101と実質的に平行な面内を、角度を変えて走査され前記再帰性反射体に照射される。前記再帰性反射体で反射された光は、前記ポリゴンミラー、前記アパーチャミラーで反射され、前記フォトダイオードで受光される。このように走査される光路上に指又はペンがあると、前記フォトダイオードで検出される光量が低下し、指又はペンによって光線が遮断されるタイミングから、指又はペンの存在角度を求め、求めた角度から三角測量の原理にて斯かる指又はペンの位置座標を検出する。
本発明は、上述した実施の形態1、実施の形態2に記載した内容に限定されるものではない。
本発明の実施の形態1における追加描画の処理においては、位置検出データ及び接触検知データを取得する際、タイミングのズレ量を算出するが、ズレ量を蓄積し、ズレ量の平均値に基づいて、実際の処理に遅延を与え、タイミングのズレを補正するようにしても良い。このようにすることで、位置検出データ及び接触検知データの発生タイミングの同期をとることができ、追加描画の処理を行う回数を減らし、処理負荷を低減することができる。
更に、通信障害等により、なんらかの遅延が接触検知データ又は位置検出データの取得に対して起きた時は、追加描画の処理でタイミングのズレ量を計算し、補正を行うようにしても良い。
タイミングのズレを補正する具体的方法の例を以下に示す。
(1)接触検知データを遅らせる場合は、接触検知データ送信側(ペン形入力装置200)、接触検知データ受信側(取得部14)、制御部1(状態遷移をする前に遅延を与えることが可能な箇所)のいずれかに接触検知データ遅延付加部を設け、接触検知データ遅延付加部に対して遅延量をCPU11より設定する。
(2)位置検出データを遅らせる場合は、位置検出データ検出側(タッチパネル部100B)、制御部1(状態遷移をする前に遅延を与えることが可能な箇所)のいずれかに位置検出データ遅延付加部を設け、位置検出データ遅延付加部に対して遅延量をCPU11より設定する。
さらに、ペン形入力器200を複数備え、複数人が表示部100Aの表示面101に描画を行うマルチタッチのタッチパネルシステムに本発明を適用するようにしても良い。マルチタッチのタッチパネルシステムにおいては、図10に示した状態遷移を、複数のペン形入力器200毎に設定し、追加描画処理における複数の探索モードを複数のペン形入力器200毎に対応させて設定すれば良い。
本発明の、位置データ取得期間に係る位置検出データ及び接触データ取得期間に係る接触検知データに基づく描画処理は、CPUを用いてソフトウェアによって実現してもよい。
この場合、制御部1は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、前記プログラム及び各種データがコンピュータ(又はCPU)で読み取り可能に記録されたROM又は記憶装置(これらを「記録媒体」と称する)、前記プログラムを展開するRAMなどを備えている。そして、コンピュータ(又はCPU)が上記プログラムを前記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、前記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワーク又は放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明は、前記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本発明の実施態様1においては、描画が行われる表示面101及び該表示面101上の接触位置を検出する位置検出部100Bを備え、前記表示面101との接触を検知する接触検知装置200から接触したことを表す接触検知データを受け付け、前記表示面101での該接触検知装置200との接触位置を描画に係る座標として受け付けるタッチパネル装置100において、前記位置検出部100Bから検出結果に係る位置検出データを取得し、前記接触検知装置200から前記接触検知データを取得する取得手段14と、前記位置検出データの取得開始から終了までの位置データ取得期間と、前記接触検知データの取得開始から終了までの接触データ取得期間との間隔が所定の閾値以内であるか否かを判定する判定手段15と、前記間隔が前記閾値以内である場合、前記位置データ取得期間及び接触データ取得期間に係る位置検出データ及び接触検知データに基づいて描画を行なう描画手段16とを備えることを特徴とする。
本発明によれば、前記位置検出部から取得される位置検出データと、前記接触検知装置から取得される接触検知データとを前記取得手段が取得し、前記位置データ取得期間と、前記接触データ取得期間との間隔が所定の閾値以内であるか否かを前記判定手段が判定して、閾値以内である場合、前記描画手段が前記位置データ取得期間及び接触データ取得期間に係る位置検出データ及び接触検知データに基づいて描画を行なうことができる。
本発明の実施態様2においては、前記間隔が前記閾値以内である場合、前記位置データ取得期間及び接触データ取得期間のうち、一方を、時系列にて、他方側にシフトさせて重複させる処理を行うシフト手段17を備え、前記描画手段16は重複する期間に係る位置検出データ及び接触検知データに基づいて描画を行なうように構成されていることを特徴とする。
本発明によれば、前記判定手段によって前記間隔が閾値以内であると判定された場合、前記シフト手段が、時系列にて、前記位置データ取得期間を接触データ取得期間側にシフトさせ、又は、前記接触データ取得期間を位置データ取得期間側にシフトさせて重複させる処理を行い、これによって重複する期間に係る位置検出データ及び接触検知データに基づいて前記描画手段が描画を行なうことができる。
本発明の実施態様3においては、前記シフト手段17は、時系列における、前記位置データ取得期間及び接触データ取得期間の中間点が一致するようにシフトさせることを特徴とする。
本発明によれば、前記シフト手段が、時系列にて、前記位置データ取得期間の中心点が接触データ取得期間の中心点と一致するようにシフトさせ、又は、前記接触データ取得期間の中心点が位置データ取得期間の中心点と一致するようにシフトさせることができる。
本発明の実施態様4においては、前記位置データ取得期間が第1閾値以内か判定する第1判定手段18と、前記接触データ取得期間が第2閾値以内か判定する第2判定手段19とを備え、前記位置データ取得期間が前記第1閾値以内であって、前記接触データ取得期間が前記第2閾値以内である場合、前記描画手段16が描画を行なうように構成されていることを特徴とする。
本発明によれば、第1判定手段によって前記位置データ取得期間が前記第1閾値以内であると判定され、第2判定手段によって、前記接触データ取得期間が前記第2閾値以内であると判定された場合、前記描画手段が描画を行なうことにより、ユーザの意図的な不正操作を除外して描画を行うことができる。
本発明の実施態様5においては、前記位置データ取得期間が前記第1閾値以内であって、前記接触データ取得期間が前記第2閾値以内であり、かつ前記間隔が前記閾値以内である場合、前記描画手段が描画を行なうように構成されていることを特徴とする。
本発明によれば、第1判定手段によって前記位置データ取得期間が前記第1閾値以内であると判定され、第2判定手段によって、前記接触データ取得期間が前記第2閾値以内であると判定され、かつ、前記判定手段によって前記位置データ取得期間及び接触データ取得期間との間隔が所定の閾値以内であると判定された場合、前記描画手段が描画を行なうことにより、ユーザの意図的な不正操作を除外し、位置検出データ及び接触検知データを取得するタイミングがずれる場合であっても精度よく描画を行うことができる。