JP7234312B2 - 情報処理装置、情報処理システム、及び制御方法 - Google Patents

情報処理装置、情報処理システム、及び制御方法 Download PDF

Info

Publication number
JP7234312B2
JP7234312B2 JP2021130037A JP2021130037A JP7234312B2 JP 7234312 B2 JP7234312 B2 JP 7234312B2 JP 2021130037 A JP2021130037 A JP 2021130037A JP 2021130037 A JP2021130037 A JP 2021130037A JP 7234312 B2 JP7234312 B2 JP 7234312B2
Authority
JP
Japan
Prior art keywords
processing
smoothing
position data
smoothing process
screen
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021130037A
Other languages
English (en)
Other versions
JP2023024007A (ja
Inventor
▲強▼ 要
充弘 山▲ざき▼
圭一 吉冨
義従 鈴木
誠一 河野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Singapore Pte Ltd
Original Assignee
Lenovo Singapore Pte Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lenovo Singapore Pte Ltd filed Critical Lenovo Singapore Pte Ltd
Priority to JP2021130037A priority Critical patent/JP7234312B2/ja
Priority to US17/859,285 priority patent/US11768561B2/en
Priority to EP22186315.2A priority patent/EP4130965A1/en
Priority to CN202210937170.7A priority patent/CN115705112A/zh
Publication of JP2023024007A publication Critical patent/JP2023024007A/ja
Application granted granted Critical
Publication of JP7234312B2 publication Critical patent/JP7234312B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/0418Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03545Pens or stylus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/16Image preprocessing
    • G06V30/168Smoothing or thinning of the pattern; Skeletonisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • G06V30/333Preprocessing; Feature extraction
    • G06V30/347Sampling; Contour coding; Stroke extraction

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、情報処理装置、情報処理システム、及び制御方法に関する。
近年、パーソナルコンピュータなどの情報処理装置では、手書き入力を行う入力デバイスを備えるものがある。このような情報処理装置では、入力デバイスによる手書き入力において、検出された検出位置データをノイズ除去して滑らかな描画にするスムージング処理を行って、描画品質を向上させる技術が知られている(例えば、特許文献1を参照)。
特開平5-165598号公報
しかしながら、従来の情報処理装置では、スムージング処理により描画品質を向上させる程、検出位置データの出力に遅延が発生するため、許容可能な入力遅延を維持しつつ、スムージング処理を適切に行うことが困難であった。
本発明は、上記問題を解決すべくなされたもので、その目的は、許容可能な入力遅延を維持しつつ、スムージング処理を適切に行うことができる情報処理装置、情報処理システム、及び制御方法を提供することにある。
上記問題を解決するために、本発明の一態様は、表示部と、前記表示部の画面上に配置され、前記画面上における物体との接触を検出するタッチセンサ部と、操作媒体が前記画面上に接触することで、前記タッチセンサ部によって所定の検出間隔で検出された前記画面上の複数の第1検出位置データを取得する取得処理と、前記複数の第1検出位置データに基づいて、前記複数の第1検出位置データの検出中における前記操作媒体の移動を表す移動パラメータを算出する算出処理と、ノイズ除去して描画する移動軌跡を滑らかにするスムージング処理のアルゴリズムであって、検出される特定の前記第1検出位置データと、対応する前記スムージング処理された第2検出位置データとの間の遅延を示す処理遅延量が異なる複数のスムージング処理のアルゴリズムのうちから、前記移動パラメータに基づいて、特定のスムージング処理のアルゴリズムを選択して実行する選択処理とを実行する入力処理部と、前記入力処理部が出力した前記第2検出位置データに基づいて、前記操作媒体が前記画面上に接触して移動した前記画面上の移動軌跡を、前記表示部に表示させる表示処理部とを備え、前記移動パラメータには、前記操作媒体の前記画面上の移動速度が含まれ、前記入力処理部は、前記移動速度に応じて、サンプル遅延数の異なる前記スムージング処理のアルゴリズムを選択して実行し、前記複数の第1検出位置データの所定のサンプル数単位で、前記移動速度を算出し、前記所定のサンプル数単位で、前記サンプル遅延数の異なる前記スムージング処理のアルゴリズムを切り替え、前記スムージング処理には、第1スムージング処理と、前記第1スムージング処理より前記サンプル遅延数が少ない第2スムージング処理とが含まれ、前記入力処理部は、前記第1スムージング処理から前記第2スムージング処理に変更する際に、前記所定のサンプル数の移行期間を設け、当該所定のサンプル数の移行期間において、前記第1スムージング処理の処理結果と、前記第2スムージング処理の処理結果との加重平均値であって、移行の経過とともに、前記第2スムージング処理の重み付けを増加させた加重平均値を、前記第2検出位置データとして出力し、前記第2スムージング処理から前記第1スムージング処理に変更する際に、前記所定のサンプル数に1サンプル数を加算した移行期間を設け、前記所定のサンプル数に1サンプル数を加算した移行期間において、前記第2スムージング処理の処理結果と、前記第1スムージング処理の処理結果との加重平均値であって、移行の経過とともに、前記第1スムージング処理の重み付けを増加させた加重平均値を、前記第2検出位置データとして出力する情報処理装置である。
である。
また、本発明の一態様は、上記の情報処理装置において、前記入力処理部は、前記移動速度が、第1閾値以上である場合に、現在選択されている前記スムージング処理のアルゴリズムより前記サンプル遅延数が少ない前記スムージング処理のアルゴリズムに変更し、前記移動速度が、第2閾値より小さい場合に、現在選択されている前記スムージング処理のアルゴリズムより前記サンプル遅延数が多い前記スムージング処理のアルゴリズムに変更するようにしてもよい。
また、本発明の一態様は、上記の情報処理装置において、前記第1閾値は、前記第2閾値より大きいようにしてもよい。
また、本発明の一態様は、上記の情報処理装置において、OS(オペレーティングシステム)に基づく処理を実行するメイン制御部を備え、前記メイン制御部は、前記入力処理部と、前記表示処理部とを含み、前記入力処理部は、前記OSに付加されたデバイスドライバによって実現されるようにしてもよい。
また、本発明の一態様は、上記の情報処理装置において、OS(オペレーティングシステム)に基づく処理を実行するメイン制御部と、前記メイン制御部とは異なる組込み制御部とを備え、前記入力処理部は、前記組込み制御部に含まれ、前記表示処理部は、前記メイン制御部に含まれ、前記入力処理部は、前記第2検出位置データを、前記メイン制御部に出力するようにしてもよい。
また、本発明の一態様は、表示部と、前記表示部の画面上に配置され、前記画面上における物体との接触を検出するタッチセンサ部と、プログラムを一時的に記憶するメモリと、前記メモリに記憶された前記プログラムを実行するプロセッサとを備え、前記プロセッサは、前記メモリに記憶された前記プログラムを実行することにより、操作媒体が前記画面上に接触することで、前記タッチセンサ部によって所定の検出間隔で検出された前記画面上の複数の第1検出位置データを取得する取得処理と、前記複数の第1検出位置データに基づいて、前記複数の第1検出位置データの検出中における前記操作媒体の移動を表す移動パラメータを算出する算出処理と、ノイズ除去して描画する移動軌跡を滑らかにするスムージング処理のアルゴリズムであって、検出される特定の前記第1検出位置データと、対応する前記スムージング処理された第2検出位置データとの間の遅延を示す処理遅延量が異なる複数のスムージング処理のアルゴリズムのうちから、前記移動パラメータに基づいて、特定のスムージング処理のアルゴリズムを選択して実行する選択処理とを実行する入力処理と、前記入力処理により出力された前記第2検出位置データに基づいて、前記操作媒体が前記画面上に接触して移動した前記画面上の移動軌跡を、前記表示部に表示させる表示処理とを行い、前記移動パラメータには、前記操作媒体の前記画面上の移動速度が含まれ、前記プロセッサは、前記入力処理において、前記移動速度に応じて、サンプル遅延数の異なる前記スムージング処理のアルゴリズムを選択して実行し、前記複数の第1検出位置データの所定のサンプル数単位で、前記移動速度を算出し、前記所定のサンプル数単位で、前記サンプル遅延数の異なる前記スムージング処理のアルゴリズムを切り替え、前記スムージング処理には、第1スムージング処理と、前記第1スムージング処理より前記サンプル遅延数が少ない第2スムージング処理とが含まれ、前記プロセッサは、前記入力処理において、前記第1スムージング処理から前記第2スムージング処理に変更する際に、前記所定のサンプル数の移行期間を設け、当該所定のサンプル数の移行期間において、前記第1スムージング処理の処理結果と、前記第2スムージング処理の処理結果との加重平均値であって、移行の経過とともに、前記第2スムージング処理の重み付けを増加させた加重平均値を、前記第2検出位置データとして出力し、前記第2スムージング処理から前記第1スムージング処理に変更する際に、前記所定のサンプル数に1サンプル数を加算した移行期間を設け、前記所定のサンプル数に1サンプル数を加算した移行期間において、前記第2スムージング処理の処理結果と、前記第1スムージング処理の処理結果との加重平均値であって、移行の経過とともに、前記第1スムージング処理の重み付けを増加させた加重平均値を、前記第2検出位置データとして出力する情報処理装置である。
また、本発明の一態様は、表示部と、前記表示部の画面上に配置され、前記画面上における物体との接触を検出するタッチセンサ部と、操作媒体が前記画面上に接触することで、前記タッチセンサ部によって所定の検出間隔で検出された前記画面上の複数の第1検出位置データを取得する取得処理と、前記複数の第1検出位置データに基づいて、前記複数の第1検出位置データの検出中における前記操作媒体の移動を表す移動パラメータを算出する算出処理と、ノイズ除去して描画する移動軌跡を滑らかにするスムージング処理のアルゴリズムであって、検出される特定の前記第1検出位置データと、対応する前記スムージング処理された第2検出位置データとの間の遅延を示す処理遅延量が異なる複数のスムージング処理のアルゴリズムのうちから、前記移動パラメータに基づいて、特定のスムージング処理のアルゴリズムを選択して実行する選択処理とを実行する入力処理部と、前記入力処理部が出力した前記第2検出位置データに基づいて、前記操作媒体が前記画面上に接触して移動した前記画面上の移動軌跡を、前記表示部に表示させる表示処理部とを備え、前記移動パラメータには、前記操作媒体の前記画面上の移動速度が含まれ、前記入力処理部は、前記移動速度に応じて、サンプル遅延数の異なる前記スムージング処理のアルゴリズムを選択して実行し、前記複数の第1検出位置データの所定のサンプル数単位で、前記移動速度を算出し、前記所定のサンプル数単位で、前記サンプル遅延数の異なる前記スムージング処理のアルゴリズムを切り替え、前記スムージング処理には、第1スムージング処理と、前記第1スムージング処理より前記サンプル遅延数が少ない第2スムージング処理とが含まれ、前記入力処理部は、前記第1スムージング処理から前記第2スムージング処理に変更する際に、前記所定のサンプル数の移行期間を設け、当該所定のサンプル数の移行期間において、前記第1スムージング処理の処理結果と、前記第2スムージング処理の処理結果との加重平均値であって、移行の経過とともに、前記第2スムージング処理の重み付けを増加させた加重平均値を、前記第2検出位置データとして出力し、前記第2スムージング処理から前記第1スムージング処理に変更する際に、前記所定のサンプル数に1サンプル数を加算した移行期間を設け、前記所定のサンプル数に1サンプル数を加算した移行期間において、前記第2スムージング処理の処理結果と、前記第1スムージング処理の処理結果との加重平均値であって、移行の経過とともに、前記第1スムージング処理の重み付けを増加させた加重平均値を、前記第2検出位置データとして出力する情報処理システムである。
また、本発明の一態様は、表示部と、前記表示部の画面上に配置され、前記画面上における物体との接触を検出するタッチセンサ部とを備える情報処理装置の制御方法であって、入力処理部が、操作媒体が前記画面上に接触することで、前記タッチセンサ部によって所定の検出間隔で検出された前記画面上の複数の第1検出位置データを取得する取得処理と、前記複数の第1検出位置データに基づいて、前記複数の第1検出位置データの検出中における前記操作媒体の移動を表す移動パラメータを算出する算出処理と、ノイズ除去して描画する移動軌跡を滑らかにするスムージング処理のアルゴリズムであって、検出される特定の前記第1検出位置データと、対応する前記スムージング処理された第2検出位置データとの間の遅延を示す処理遅延量が異なる複数のスムージング処理のアルゴリズムのうちから、前記移動パラメータに基づいて、特定のスムージング処理のアルゴリズムを選択して実行する選択処理とを実行する入力処理ステップと、表示処理部が、前記入力処理ステップによって出力された前記第2検出位置データに基づいて、前記操作媒体が前記画面上に接触して移動した前記画面上の移動軌跡を、前記表示部に表示させる表示処理ステップとを含み、前記移動パラメータには、前記操作媒体の前記画面上の移動速度が含まれ、前記入力処理ステップにおいて、前記入力処理部が、前記移動速度に応じて、サンプル遅延数の異なる前記スムージング処理のアルゴリズムを選択して実行し、前記複数の第1検出位置データの所定のサンプル数単位で、前記移動速度を算出し、前記所定のサンプル数単位で、前記サンプル遅延数の異なる前記スムージング処理のアルゴリズムを切り替え、前記スムージング処理には、第1スムージング処理と、前記第1スムージング処理より前記サンプル遅延数が少ない第2スムージング処理とが含まれ、前記入力処理ステップにおいて、前記入力処理部が、前記第1スムージング処理から前記第2スムージング処理に変更する際に、前記所定のサンプル数の移行期間を設け、当該所定のサンプル数の移行期間において、前記第1スムージング処理の処理結果と、前記第2スムージング処理の処理結果との加重平均値であって、移行の経過とともに、前記第2スムージング処理の重み付けを増加させた加重平均値を、前記第2検出位置データとして出力し、前記第2スムージング処理から前記第1スムージング処理に変更する際に、前記所定のサンプル数に1サンプル数を加算した移行期間を設け、前記所定のサンプル数に1サンプル数を加算した移行期間において、前記第2スムージング処理の処理結果と、前記第1スムージング処理の処理結果との加重平均値であって、移行の経過とともに、前記第1スムージング処理の重み付けを増加させた加重平均値を、前記第2検出位置データとして出力する制御方法である。
本発明の上記態様によれば、許容可能な入力遅延を維持しつつ、スムージング処理を適切に行うことができる。
第1の実施形態によるノートPCの主要なハードウェア構成の一例を示す図である。 第1の実施形態によるノートPCの機能構成の一例を示すブロック図である。 第1の実施形態におけるスムージング処理の処理遅延の一例を示す図である。 第1の実施形態におけるペンの位相速度の生成例を示す図である。 第1の実施形態におけるスムージング処理のスピードモードの一例を示す図である。 第1の実施形態におけるスピードモードのアップ変更処理の一例を示す図である。 第1の実施形態におけるスピードモードのダウン変更処理の一例を示す図である。 第1の実施形態によるノートPCのペン入力処理の一例を示すフローチャートである。 第1の実施形態によるノートPCのスピードモードの変更処理の一例を示すフローチャートである。 第1の実施形態によるノートPCのスピードモードの変更処理の変形例を示す図である。 第1の実施形態におけるペンの移動速度とノイズとの関係を示す図である。 第2の実施形態によるノートPCの機能構成の一例を示すブロック図である。 第3の実施形態によるPCシステムの主要なハードウェア構成の一例を示す図である。
以下、本発明の一実施形態による情報処理装置、情報処理システム、及び制御方法について、図面を参照して説明する。
[第1の実施形態]
図1は、第1の実施形態によるノートPC1(ノートブック型パーソナルコンピュータ)の主要なハードウェア構成の一例を示す図である。なお、本実施形態において、情報処理装置の一例として、ノートPC1について説明する。
図1に示すように、ノートPC1は、CPU11と、メインメモリ12と、ビデオサブシステム13と、表示部14と、チップセット21と、BIOSメモリ22と、HDD23と、USBコネクタ24と、オーディオシステム25と、WLANカード26と、エンベデッドコントローラ31と、キー入力部32と、ポインティングデバイス33と、電源回路34と、タッチセンサ部35とを備える。
CPU(Central Processing Unit)11は、プログラム制御により種々の演算処理を実行し、ノートPC1全体を制御する。
メインメモリ12は、CPU11の実行プログラムの読み込み領域として、又は、実行プログラムの処理データを書き込む作業領域として利用される書き込み可能メモリである。メインメモリ12は、例えば、複数個のDRAM(Dynamic Random Access Memory)チップで構成される。この実行プログラムには、OS(Operating System:オペレーティングシステム)、周辺機器類をハードウェア操作するための各種デバイスドライバ、各種サービス/ユーティリティ、アプリケーションプログラム等が含まれる。
ビデオサブシステム13は、画像表示に関連する機能を実現するためのサブシステムであり、ビデオコントローラを含んでいる。このビデオコントローラは、CPU11からの描画命令を処理し、処理した描画情報をビデオメモリに書き込むとともに、ビデオメモリからこの描画情報を読み出して、表示部14に描画データ(表示データ)として出力する。
表示部14は、例えば、液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイであり、ノートPC1のメイン画面として、ビデオサブシステム13から出力された描画データ(表示データ)に基づく表示画面を表示する。
チップセット21は、USB(Universal Serial Bus)、シリアルATA(AT Attachment)、SPI(Serial Peripheral Interface)バス、PCI(Peripheral Component Interconnect)バス、PCI-Expressバス、及びLPC(Low Pin Count)バスなどのコントローラを備えており複数のデバイスが接続される。図1では、デバイスの例示として、BIOSメモリ22と、HDD23と、USBコネクタ24と、オーディオシステム25と、WLANカード26と、エンベデッドコントローラ31とが、チップセット21に接続されている。
BIOS(Basic Input Output System)メモリ22は、例えば、EEPROM(Electrically Erasable Programmable Read Only Memory)やフラッシュROMなどの電気的に書き換え可能な不揮発性メモリで構成される。BIOSメモリ22は、BIOS、及びエンベデッドコントローラ31などを制御するためのシステムファームウェアなどを記憶する。
HDD(Hard Disk Drive)23(不揮発性記憶装置の一例)は、OS、各種ドライバ、各種サービス/ユーティリティ、アプリケーションプログラム、及び各種データを記憶する。
USBコネクタ24は、USBを利用した周辺機器類を接続するためのコネクタである。
オーディオシステム25は、音データの記録、再生、出力を行う。
WLAN(Wireless Local Area Network)カード26は、ワイヤレス(無線)LANにより、ネットワークに接続して、データ通信を行う。
エンベデッドコントローラ31(組込み制御部の一例)は、ノートPC1のシステム状態に関わらず、各種デバイス(周辺装置やセンサ等)を監視し制御するワンチップマイコン(One-Chip Microcomputer)である。また、エンベデッドコントローラ31は、電源回路34を制御する電源管理機能を有している。なお、エンベデッドコントローラ31は、不図示のCPU、ROM、RAMなどで構成されるとともに、複数チャネルのA/D入力端子、D/A出力端子、タイマ、及びデジタル入出力端子を備えている。エンベデッドコントローラ31には、それらの入出力端子を介して、例えば、キー入力部32、ポインティングデバイス33、電源回路34、及びタッチセンサ部35などが接続されており、エンベデッドコントローラ31は、これらの動作を制御する。
キー入力部32は、例えば、キーボードやタッチパネルなどの入力デバイスであり、利用者からのキー入力を受け付ける。また、ポインティングデバイス33は、マウスやタッチパッドなどの入力デバイスであり、主に表示画面上の位置の指定や、操作ボタンなどの操作対象(オブジェクト)の指定又は選択などを受け付ける。
電源回路34は、例えば、DC/DCコンバータ、充放電ユニット、電池ユニット、AC/DCアダプタなどを含んでおり、AC/DCアダプタ、又は電池ユニットから供給される直流電圧を、ノートPC1を動作させるために必要な複数の電圧に変換する。また、電源回路34は、エンベデッドコントローラ31からの制御に基づいて、ノートPC1の各部に電力を供給する。
なお、本実施形態において、上述したCPU11及びチップセット21は、メイン制御部10に対応する。メイン制御部10は、OS(例えば、Windows(登録商標))に基づく処理を実行する。
また、表示部14と、タッチセンサ部35とは、タッチスクリーン20に対応する。
タッチセンサ部35は、例えば、タッチパネルなどの入力デバイスであり、表示部14と重ねて配置されている。タッチセンサ部35は、表示部14の画面上に配置され、表示部14の画面上における物体との接触を検出する。タッチセンサ部35は、例えば、ペンなどの操作媒体が画面上に接触することで、表示部14の画面上の位置を示す検出位置データと、操作媒体が画面上に接触した接触圧力を検出する。
次に、図2を参照して、本実施形態によるノートPC1の機能構成について説明する。
図2は、本実施形態によるノートPC1の機能構成の一例を示すブロック図である。
図2に示すように、ノートPC1は、メイン制御部10と、タッチスクリーン20と、エンベデッドコントローラ(EC)31と、メイン記憶部40とを備える。なお、図2において、ノートPC1の構成として、本実施形態の発明に関する主要な機能構成のみを記載している。
メイン記憶部40は、メインメモリ12、又はHDD23などにより実現される記憶部であり、ノートPC1が利用する各種情報を記憶する。メイン記憶部40は、例えば、後述するペン入力ドライバ110やアプリケーション130による処理に用いるワークデータ、及びペン入力設定部120の設定情報などを記憶する。メイン記憶部40は、速度情報記憶部41と、モード情報記憶部42とを備える。
速度情報記憶部41は、例えば、メインメモリ12により実現される記憶部であり、ペンなどの操作媒体の移動速度を記憶する。ここでの移動速度は、所定のサンプル数のグループ単位の平均移動速度である。ペンなどの操作媒体の移動速度の詳細については後述する。
モード情報記憶部42は、例えば、メインメモリ12により実現される記憶部であり、後述するスムージング処理のスピードモードを示すモード情報を記憶する。スムージング処理のスピードモードには、低速モード、中速モード、及び高速モードが含まれ、モード情報記憶部42は、低速モード、中速モード、及び高速モードのうちの1つを示すモード情報を記憶する。スピードモードの詳細については、後述する。
エンベデッドコントローラ31は、メイン制御部10とは異なる組込み制御部である。エンベデッドコントローラ31は、ペンなどの操作媒体が表示部14の画面上に接触することで、タッチセンサ部35によって所定の検出間隔で検出された画面上の複数の検出位置データ(第1検出位置データ)を取得し、取得した複数の検出位置データをペン入力バッファ部311に記憶させる。また、エンベデッドコントローラ31は、ペン入力バッファ部311に記憶している検出位置データ(第1検出位置データ)を後述するメイン制御部10のペン入力ドライバ110の要求に応じて、ペン入力ドライバ110に出力する。
また、エンベデッドコントローラ31は、ペン入力バッファ部311を備える。
ペン入力バッファ部311は、例えば、エンベデッドコントローラ31内のRAMにより構成され、タッチスクリーン20のタッチセンサ部35が所定の検出間隔で検出した検出位置データを時系列に記憶する。ペン入力バッファ部311は、例えば、検出位置データである表示部14の画面上の2次元座標データと、接触圧力とを対応付けて記憶する。
メイン制御部10は、CPU11及びチップセット21が、メインメモリ12が記憶するプログラムを実行することで実現される機能部であり、OSに基づく各種処理を実行する。メイン制御部10は、例えば、エンベデッドコントローラ31が出力した検出位置データに基づいて、ペンなどの操作媒体が画面上に接触して移動した画面上の移動軌跡を、表示部14に表示させる。また、メイン制御部10は、ペン入力ドライバ110と、ペン入力設定部120と、アプリケーション130とを備える。
ペン入力ドライバ110(入力処理部の一例)は、CPU11とチップセット21とにより実現される機能部であり、タッチスクリーン20によるペン入力処理(手書き入力処理)を制御する。ペン入力ドライバ110は、エンベデッドコントローラ31から、タッチセンサ部35が検出した表示部14の画面上の検出位置データ(第1検出位置データ)を取得し、アプリケーション130に出力する。ペン入力ドライバ110は、OS(例えば、Windows(登録商標))に付加されたデバイスドライバである。
ペン入力ドライバ110は、タッチセンサ部35によって所定の検出間隔で検出された画面上の複数サンプルの検出位置データ(第1検出位置データ)に基づいて、スムージング処理を実行し、当該スムージング処理結果である検出位置データ(第2検出位置データ)を出力する。ここで、スムージング処理は、ノイズ除去して描画する移動軌跡を滑らかにするフィルタリング処理である。スムージング処理には、ノイズ除去の性能(描画品質)に応じて、所定のサンプル数の遅延(処理遅延)が生じる。ここで、図3を参照して、スムージング処理の処理遅延について説明する。
図3は、本実施形態におけるスムージング処理の処理遅延の一例を示す図である。
図3に示すように、ペン入力ドライバ110は、タッチセンサ部35によって検出された所定のサンプル数の検出位置データDI(第1検出位置データ)をスムージング処理することにより、N番目のスムージング処理後の検出位置データDO(第2検出位置データ)を生成する。この場合、生成に用いたサンプル数の検出位置データDIよりも、2サンプル数の遅延DLYが発生する一例である。
また、ペン入力ドライバ110は、検出位置データによる描画の状況に応じて、処理性能及び処理遅延量が異なるスムージング処理を選択的に実行する。ここで、描画の状況とは、例えば、ペンの移動速度(例えば、複数の検出位置データによる平均速度など)、移動速度の変化(移動加速度など)、画面上の移動角度の変化、及び描画形状(曲線、直線、文字など)、等である。描画の状況には、移動パラメータと、描画形状(曲線、直線、文字など)とが含まれる。移動パラメータとは、複数の検出位置データ(第1検出位置データ)の検出中におけるペンなどの操作媒体の移動を表すパラメータであり、操作媒体の移動に関するパラメータである。移動パラメータには、例えば、ペンの移動速度(例えば、複数の検出位置データによる平均速度など)、移動速度の変化(移動加速度など)、画面上の移動角度の変化、及び描画形状(曲線、直線、文字など)、等が含まれる。
ペン入力ドライバ110は、例えば、ペンの移動速度(操作媒体の画面上の移動速度)に応じて、サンプル遅延数の異なるスムージング処理を選択的に実行する。ペン入力ドライバ110は、例えば、取得処理と、算出処理と、選択処理とを実行する。ペン入力ドライバ110は、取得処理として、タッチセンサ部35によって所定の検出間隔で検出された複数の検出位置データ(第1検出位置データ)を取得する。ペン入力ドライバ110は、算出処理として、複数の検出位置データ(第1検出位置データ)に基づいて、移動パラメータを算出する。ペン入力ドライバ110は、選択処理として、ノイズ除去して描画する移動軌跡を滑らかにするスムージング処理のアルゴリズムであって、検出される特定の検出位置データ(第1検出位置データ)と、対応するスムージング処理された検出位置データ(第2検出位置データ)との間の遅延を示す処理遅延量が異なる複数のスムージング処理のアルゴリズムのうちから、移動パラメータに基づいて、特定のスムージング処理のアルゴリズムを選択して実行する。
また、ペン入力ドライバ110は、速度検出処理部111と、スムージング処理部112とを備える。
速度検出処理部111は、CPU11及びチップセット21が、メインメモリ12が記憶するプログラムを実行することで実現される機能部であり、ペンなどの操作媒体の表示部14の画面上の移動速度検出する処理を実行する。
速度検出処理部111は、例えば、図4に示すように、検出位置データ(第1検出位置データ)を、所定のサンプル数(例えば、4サンプル)でグループ化し、各グループ(GP、GP、GP)における平均移動速度を、ペンの移動速度として生成する。ここで、4サンプルにおける各サンプルの距離を、距離d1、距離d2、距離d3、及び距離d4とすると、サンプルtにおける移動速度vtは、下記の式(1)により表される。
Figure 0007234312000001
但し、変数Tstartは、1サンプル目の検出時刻であり、変数Tendは、4サンプル目の検出時刻である。したがって、(Tend-Tstart)は、4サンプルのグループの検出位置データを検出するための時間間隔であり、(サンプル時間間隔×3)に対応する。
速度検出処理部111は、上述した式(1)を用いて、グループ単位(所定のサンプル数単位)で、移動速度Vtを生成し、生成した移動速度Vtを、速度情報記憶部41に記憶させる。
スムージング処理部112は、CPU11及びチップセット21が、メインメモリ12が記憶するプログラムを実行することで実現される機能部であり、移動速度Vtに応じて異なるスムージング処理を実行する。スムージング処理部112は、移動速度Vtに応じて、サンプル遅延数及び行が品質(処理性能)の異なる2つのスピードモードのスムージング処理うちの1つを選択して実行する。ここで、図5を参照して、移動速度Vt及びスピードモードの一例について説明する。
図5は、本実施形態におけるスムージング処理のスピードモードの一例を示す図である。
図5において、ペン移動速度は、上述したペンの移動速度Vtの範囲を示し、スピードモードは、各移動速度Vtの範囲に対応するスピードモードを示す。また、サンプル遅延数及び描画品質は、各スピードモードにおけるサンプル遅延数及び描画品質を示している。
図5に示す例では、スムージング処理部112は、移動速度Vtが、所定の閾値Vth1より小さい場合(Vt<Vth1)に、低速スピードモードのスムージング処理を実行する。この低速スピードモードは、サンプル遅延数が“2”であり、描画品質が“高”であるスムージング処理である。
また、スムージング処理部112は、移動速度Vtが、所定の閾値Vth1以上、所定の閾値Vth2より小さい場合(Vth1≦Vt<Vth2)に、中速スピードモードのスムージング処理を実行する。ここで、閾値Vth2は、閾値Vth1より大きい。また、この中速スピードモードは、サンプル遅延数が“1”であり、描画品質が“中”であるスムージング処理である。
また、スムージング処理部112は、移動速度Vtが、所定の閾値Vth2以上である場合(Vth2≦Vt)に、高速スピードモードのスムージング処理を実行する。この高速スピードモードは、サンプル遅延数が“0”であり、描画品質が“低”であるスムージング処理である。
スムージング処理部112は、速度情報記憶部41が記憶する移動速度Vtを取得し、取得した移動速度Vtが、上述した図5に示すペン移動速度のどの範囲に対応するのか判定し、対応するスピードモードを決定する。スムージング処理部112は、決定したスピードモードを示すモード情報を、モード情報記憶部42に記憶させる。なお、スムージング処理部112は、このスピードモードを変更する処理を、移動速度Vtが生成されるごとに実行するため、検出位置データのグループ単位(所定のサンプル数単位、例えば、4サンプル毎)に、実行する。
また、スムージング処理部112は、検出位置データ(第1検出位置データ)の各サンプルをペン入力バッファ部311から取得するごとに、モード情報記憶部42が記憶するモード情報を取得し、取得したモード情報が示すスピードモードに対応するスムージング処理を実行する。すなわち、スムージング処理部112は、複数の検出位置データ(第1検出位置データ)の所定のサンプル数単位で、移動速度を生成(算出)し、所定のサンプル数単位で、サンプル遅延数の異なるスムージング処理(のアルゴリズム)を切り替える。スムージング処理部112は、スムージング処理結果の検出位置データ(第2検出位置データ)を、例えば、OSを介して、アプリケーション130に出力する。
また、スムージング処理部112は、スピードモードを変更する際に、所定のサンプル数の移行期間を設けて、スピードモードの変更を実行する。ここで、図6を参照して、低速モード(第1スムージング処理)がら中速モード(第2スムージング処理)へのスピードモードのアップ変更処理の詳細について説明する。
図6は、本実施形態におけるスピードモードのアップ変更処理の一例を示す図である。
図6において、上から順に、(a)処理前の検出位置データ(第1検出位置データ)、(b)低速モード処理結果、(c)中速モード処理結果、及び(d)処理後の検出位置データ(第2検出位置データ)を示し、各丸印は、各サンプルを示している。
また、図6において、低速モードのスムージング処理は、サンプル遅延数が“2”であり、中速モードのスムージング処理は、サンプル遅延数が“1”である。
また、スピードモードのアップ変更処理において、スムージング処理部112は、グループのサンプル数と等しいサンプル数(4サンプル数)の移行期間CT1を設けている。
まず、低速モードの期間LST1において、スムージング処理部112は、(b)低速モード処理結果を、(d)処理後の検出位置データとして出力する。
また、移行期間CT1において、スムージング処理部112は、(b)低速モード処理結果と、(c)中速モード処理結果との加重平均値を、(d)処理後の検出位置データとして、出力する。なお、この場合のサンプルTにおける処理後の検出位置データPOは、下記の式(2)により表される。
Figure 0007234312000002
ここで、検出位置データP1は、低速モード処理結果であり、検出位置データP2は、中速モード処理結果である。また、変数wは、重み付けパラメータを示し、0~1の間の値である。
スムージング処理部112は、移行期間CT1において、上述した式(2)を用いて、低速モードの処理結果と、中速モードの処理結果との加重平均値を、処理後の検出位置データPOとして生成する。なお、スムージング処理部112は、移行の経過とともに、重み付けwを、1~0に変化させて、中速モードの重み付けを増加させた加重平均値を、スムージング処理結果の検出位置データPOとして出力する。
次に、移行後の中速モードの期間MST1において、スムージング処理部112は、(c)中速モード処理結果を、(d)処理後の検出位置データとして出力する。なお、移行期間CT1が終了した直後の検出位置データは、サンプル遅延数が減るため、2つの値(図6に示すサンプルP2T-5及びサンプルP2T-5)が存在する。そのため、スムージング処理部112は、これらの2つのサンプルのうちのいずれか、又は平均値を、(d)処理後の検出位置データとして出力するようにしてもよい。
次に、図7を参照して、中速モード(第2スムージング処理)がら低速モード(第1スムージング処理)へのスピードモードのだうん変更処理の詳細について説明する。
図7は、本実施形態におけるスピードモードのダウン変更処理の一例を示す図である。
図7において、上から順に、(a)処理前の検出位置データ、(b)中速モード処理結果、(c)低速モード処理結果、及び(d)処理後の検出位置データを示し、各丸印は、各サンプルを示している。
また、図7において、図6と同様に、低速モードのスムージング処理は、サンプル遅延数が“2”であり、中速モードのスムージング処理は、サンプル遅延数が“1”である。
また、スピードモードのダウン変更処理において、スムージング処理部112は、グループのサンプル数+“1”(5サンプル数)の移行期間CT2を設けている。
まず、中速モードの期間MST2において、スムージング処理部112は、(b)中速モード処理結果を、(d)処理後の検出位置データとして出力する。
また、移行期間CT2において、スムージング処理部112は、(b)中速モード処理結果と、(c)低速モード処理結果との加重平均値を、(d)処理後の検出位置データとして、出力する。なお、この場合のサンプルTにおける処理後の検出位置データPOは、下記の式(3)により表される。
Figure 0007234312000003
ここで、検出位置データP1は、低速モード処理結果であり、検出位置データP2は、中速モード処理結果である。また、変数wは、重み付けパラメータを示し、0~1の間の値である。
スムージング処理部112は、移行期間CT2において、上述した式(3)を用いて、低速モードの処理結果と、中速モードの処理結果との加重平均値を、処理後の検出位置データPOとして生成する。なお、スムージング処理部112は、移行の経過とともに、重み付けwを、0~1に変化させて、低速モードの重み付けを増加させた加重平均値を、スムージング処理結果の検出位置データPOとして出力する。
なお、移行期間CT2において、低速モードのスムージング処理では、中速モードに比べて、サンプル遅延数が増えるため、図7に示すスキップサンプルSTP1が設けられている。スムージング処理部112は、スキップサンプルSTP1として、移行期間CT2の最初のサンプルにおいて、検出位置データPOの出力を行わない。なお、スムージング処理部112は、スキップサンプルSTP1において、(b)中速モード処理結果を、(d)処理後の検出位置データとして出力するようにしてもよい。
次に、移行後の低速モードの期間LST2において、スムージング処理部112は、(c)低速モード処理結果を、(d)処理後の検出位置データとして出力する。
図2の説明に戻り、ペン入力設定部120は、CPU11とチップセット21とにより実現される機能部である。ペン入力設定部120は、利用者からの変更要求に応じて、例えば、上述したスピードモードを強制的に変更する。
アプリケーション130は、CPU11とチップセット21とにより実現される機能部である。アプリケーション130は、OS上で実行されるアプリケーションであり、例えば、タッチスクリーン20を利用したペン入力処理(手書き入力処理)を実行するアプリケーションである。
アプリケーション130は、ペン入力ドライバ110を介して、エンベデッドコントローラ31が出力した表示部14の検出位置データを取得し、取得した検出位置データに基づいて、ペンなどの操作媒体が画面上に接触して移動した画面上の移動軌跡を、表示部14に表示させる。アプリケーション130は、表示処理部131を備える。
表示処理部131は、ペン入力ドライバ110が出力した検出位置データに基づいて、ペンなどの操作媒体が画面上に接触して移動した画面上の移動軌跡を、表示部14に表示させる。
次に、図面を参照して、本実施形態によるノートPC1の動作について説明する。
図8は、本実施形態によるノートPC1のペン入力処理の一例を示すフローチャートである。
図8に示すように、ノートPC1は、まず、ペンの接触が、表示部14の画面上(タッチセンサ部35のパネル上)にあるか否かを判定する(ステップS101)。ノートPC1のエンベデッドコントローラ31は、タッチセンサ部35にペンの接触があるか否かを判定する。エンベデッドコントローラ31は、タッチセンサ部35にペンの接触がある場合(ステップS101:YES)に、処理をステップS102に進める。また、エンベデッドコントローラ31は、タッチセンサ部35にペンの接触がない場合(ステップS101:NO)に、処理をステップS101に戻す。
ステップS102において、エンベデッドコントローラ31は、位置データを取得する。エンベデッドコントローラ31は、タッチセンサ部35が検出した検出位置データを取得し、ペン入力バッファ部311に記憶させる。また、エンベデッドコントローラ31は、タッチセンサ部35によって検出位置データが検出されたことを示すイベント情報を、メイン制御部10のペン入力ドライバ110に出力する。
次に、ノートPC1のペン入力ドライバ110は、スピードモードの変更があるか、又はモード移行中(モード変更中)であるか否かを判定する(ステップS103)。ペン入力ドライバ110のスムージング処理部112は、モード情報記憶部42のモード情報を取得し、前回から変更されているか否か、又は、不図示のモード移行中を示すフラグ情報などにより、モード移行中であるか否かを判定する。スムージング処理部112は、スピードモードの変更がある場合、又はモード移行中である場合(ステップS103:YES)に、処理をステップS107に進める。また、スムージング処理部112は、スピードモードの変更がない場合、及びモード移行中でない場合(ステップS103:NO)に、処理をステップS104に進める。
ステップS104において、スムージング処理部112は、スピードモードに応じたスムージング処理を実行する。すなわち、スムージング処理部112は、取得したモード情報が示すスピードモードに対応するスムージング処理を実行する。スムージング処理部112は、ペンの移動速度に応じて、例えば、図5に示す、低速モード、中速モード、及び高速モードのうちの1つに対応するスムージング処理を実行する。
次に、スムージング処理部112は、処理結果の検出位置データを出力する(ステップS105)。すなわち、ペン入力ドライバ110のスムージング処理部112は、処理結果の検出位置データを、OSを介してアプリケーション130に出力する。
次に、ペン入力ドライバ110は、ペンが画面上に接触中であるか否かを判定する(ステップS106)。ペン入力ドライバ110は、ペンが画面上に接触中である場合(ステップS106:YES)に、処理をステップS203に戻し、次のサンプルについて処理する。また、ペン入力ドライバ110は、ペンが画面上に接触中でない場合(ステップS106:NO)に、処理をステップS201に戻す。
また、ステップS107において、スムージング処理部112は、スピードモードのアップ変更であるか否かを判定する。スムージング処理部112は、スピードモードのアップ変更である場合(ステップS107:YES)に、処理をステップS108に進める。また、スムージング処理部112は、スピードモードのアップ変更でない(ダウン変更である)場合(ステップS107:NO)に、処理をステップS109に進める。
ステップS108において、スムージング処理部112は、モードアップの移行処理を実行する。スムージング処理部112は、上述した図6に示すような、スピードモードのアップ変更処理を実行する。スムージング処理部112は、移行期間を設けて、当該移行期間において、上述した式(2)を用いて加重平均値を処理後の検出位置データとして生成する。なお、スムージング処理部112は、移行の経過とともに、重み付けwを、1~0に変化させて、移行後のスピードモードの重み付けを増加させた加重平均値を生成する。ステップS108の処理後に、スムージング処理部112は、処理をステップS105に進める。
また、ステップS109において、スムージング処理部112は、モードダウンの移行処理を実行する。スムージング処理部112は、上述した図7に示すような、スピードモードのダウン変更処理を実行する。スムージング処理部112は、移行期間を設けて、当該移行期間において、上述した式(3)を用いて加重平均値を処理後の検出位置データとして生成する。なお、スムージング処理部112は、移行の経過とともに、重み付けwを、1~0に変化させて、移行後のスピードモードの重み付けを増加させた加重平均値を生成する。ステップS109の処理後に、スムージング処理部112は、処理をステップS105に進める。
次に、図9を参照して、本実施形態によるノートPC1のスピードモードの変更処理について説明する。
図9は、本実施形態によるノートPC1のスピードモードの変更処理の一例を示すフローチャートである。
図9に示すように、ノートPC1のペン入力ドライバ110は、まず、1グループ分の位置データを取得する(ステップS201)。ペン入力ドライバ110は、例えば、4サンプル分の検出位置データを、ペン入力バッファ部311から取得する。
次に、ペン入力ドライバ110は、検出位置データをグループ化する(ステップS202)。ペン入力ドライバ110の速度検出処理部111は、取得した4サンプル分の検出位置データを1つのグループに設定する。
次に、速度検出処理部111は、移動速度Vtを算出する(ステップS203)。速度検出処理部111は、上述した式(1)を用いて、例えば、4サンプルのグループにおける平均移動速度Vtを算出する。速度検出処理部111は、算出した移動速度Vtを速度情報記憶部41に記憶させる。
次に、ペン入力ドライバ110のスムージング処理部112は、移動速度Vtが0から閾値Vth1の範囲内(0<Vt<Vth1)であるか否かを判定する(ステップS204)。スムージング処理部112は、移動速度Vtが閾値Vth1より小さい場合(ステップS204:YES)に、処理をステップS205に進める。また、スムージング処理部112は、移動速度Vtが閾値Vth1以上である場合(ステップS204:NO)に、処理をステップS206に進める。
ステップS205において、スムージング処理部112は、スムージング処理を低速モードに設定する。スムージング処理部112は、低速モードを示すモード情報を、モード情報記憶部42に記憶させて、低速モードを設定する。ステップS205の処理後に、スムージング処理部112は、処理をステップS201に戻す。
ステップS206において、スムージング処理部112は、移動速度Vtが閾値Vth1以上、閾値Vth2未満の範囲内(Vth1≦Vt<Vth2)であるか否かを判定する。スムージング処理部112は、移動速度Vtが閾値Vth1以上、閾値Vth2未満の範囲内である場合(ステップS206:YES)に、処理をステップS207に進める。また、スムージング処理部112は、移動速度Vtが閾値Vth2より大きい場合(ステップS206:NO)に、処理をステップS208に進める。
ステップS207において、スムージング処理部112は、スムージング処理を中速モードに設定する。スムージング処理部112は、中速モードを示すモード情報を、モード情報記憶部42に記憶させて、中速モードを設定する。ステップS207の処理後に、スムージング処理部112は、処理をステップS201に戻す。
また、ステップS208において、スムージング処理部112は、スムージング処理を高速モードに設定する。スムージング処理部112は、高速モードを示すモード情報を、モード情報記憶部42に記憶させて、高速モードを設定する。ステップS208の処理後に、スムージング処理部112は、処理をステップS201に戻す。
次に、図10を参照して、本実施形態によるノートPC1のスピードモードの変更処理の変形例について説明する。
図10は、本実施形態によるノートPC1のスピードモードの変更処理の変形例を示す図である。
図10に示す変形例は、スピードモードの変更処理において、アップ変更と、ダウン変更とで、異なる閾値を使用する変形例である。
図10は、スピードモードの変更処理のためのステートマシンを示している。
図10において、低速モードST1から中速モードST2に変更するアップ変更処理では、スムージング処理部112は、移動速度Vtが、閾値Vth1_up以上(第1閾値以上)である場合に、低速モードST1から中速モードST2に変更させる。また、中速モードST2から低速モードST1に変更するダウン変更処理では、スムージング処理部112は、移動速度Vtが、閾値Vth1_dw(第2閾値)より小さいである場合に、中速モードST2から低速モードST1に変更させる。ここで、閾値Vth1_up(第1閾値)は、閾値Vth1_dw(第2閾値)より大きい。
また、中速モードST2から高速モードST3に変更するアップ変更処理では、スムージング処理部112は、移動速度Vtが、閾値Vth2_up以上(第1閾値以上)である場合に、中速モードST2から高速モードST3に変更させる。また、高速モードST3から中速モードST2に変更するダウン変更処理では、スムージング処理部112は、移動速度Vtが、閾値Vth2_dw(第2閾値)より小さいである場合に、高速モードST3から中速モードST2に変更させる。ここで、閾値Vth2_up(第1閾値)は、閾値Vth2_dw(第2閾値)より大きい。
このように、スムージング処理部112は、図10に示すようなステートマシンを用いて、スピードモードを変更するようにしてもよい。スムージング処理部112は、ステートマシンを用いて変更したスピードモードを示すモード情報を、モード情報記憶部42に記憶させる。
以上説明したように、本実施形態によるノートPC1(情報処理装置)は、表示部14と、タッチセンサ部35と、ペン入力ドライバ110(入力処理部)と、表示処理部131とを備える。タッチセンサ部35は、表示部14の画面上に配置され、画面上における物体との接触を検出する。ペン入力ドライバ110は、スムージング処理を実行し、当該スムージング処理結果である検出位置データ(第2検出位置データ)を出力する。ここで、スムージング処理とは、ペンなどの操作媒体が画面上に接触することで、タッチセンサ部35によって所定の検出間隔で検出された画面上の複数サンプルの検出位置データ(第1検出位置データ)に基づいて、ノイズ除去して描画する移動軌跡を滑らかにする処理である。また、ペン入力ドライバ110は、検出位置データ(第1検出位置データ)による描画の状況(例えば、ペンの移動速度など)に応じて、処理性能及び処理遅延量が異なるスムージング処理を選択的に実行する。ペン入力ドライバ110は、例えば、取得処理と、算出処理と、選択処理とを実行する。ペン入力ドライバ110は、取得処理として、タッチセンサ部35によって所定の検出間隔で検出された複数の検出位置データ(第1検出位置データ)を取得する。ペン入力ドライバ110は、算出処理として、複数の検出位置データ(第1検出位置データ)に基づいて、移動パラメータを算出する。ペン入力ドライバ110は、選択処理として、検出される特定の検出位置データ(第1検出位置データ)と、対応するスムージング処理された検出位置データ(第2検出位置データ)との間の遅延を示す処理遅延量が異なる複数のスムージング処理のアルゴリズムのうちから、移動パラメータに基づいて、特定のスムージング処理のアルゴリズムを選択して実行する。
表示処理部131は、ペン入力ドライバ110が出力した検出位置データ(第2検出位置データ)に基づいて、操作媒体が画面上に接触して移動した画面上の移動軌跡を、表示部14に表示させる。
これにより、本実施形態によるノートPC1は、描画の状況(例えば、ペンの移動速度など)に応じて、処理性能及び処理遅延量が異なるスムージング処理を選択するため、許容可能な入力遅延を維持しつつ、スムージング処理を適切に行うことができる。すなわち、本実施形態によるノートPC1は、描画品質の向上と、入力レスポンスの向上とバランス良く行うことができる。
なお、図11は、本実施形態におけるペンの移動速度とノイズとの関係を示す図である。
図11に示す例は、ペンの移動速度が速い場合(高速の場合)のノイズを含まない検出位置データのサンプル列Dhs1、及びノイズを含む検出位置データのサンプル列Dhs2と、ペンの移動速度が遅い場合(低速の場合)のノイズを含まない検出位置データのサンプル列Dls1、及びノイズを含む検出位置データのサンプル列Dls2とを示している。
ペンの移動速度が速い場合(高速の場合)と、ペンの移動速度が遅い場合(低速の場合)とを比較すると、ペンの移動速度が速い場合(高速の場合)は、ノイズが目立ち難く、処理性能が低いスムージング処理でも許容される。これに対して、ペンの移動速度が遅い場合(低速の場合)は、ノイズが目立ち易く、処理性能が高いスムージング処理でが要求される。これらのことから、本実施形態によるノートPC1は、ペンの移動速度が速い場合(高速の場合)に、処理性能が低く、処理遅延量が少ないスムージング処理を選択して実行することで、許容可能な入力遅延を維持しつつ、スムージング処理を適切に行うことができる。また、本実施形態によるノートPC1は、ペンの移動速度が遅い場合(低速の場合)に、処理性能が高く、処理遅延量が多いスムージング処理を選択して実行することで、許容可能な入力遅延を維持しつつ、スムージング処理を適切に行うことができる。
また、本実施形態では、描画の状況(移動パラメータ)には、ペンなどの操作媒体の画面上の移動速度が含まれる。ペン入力ドライバ110は、移動速度に応じて、サンプル遅延数の異なるスムージング処理(のアルゴリズム)を選択して実行する。
これにより、本実施形態によるノートPC1は、ペンなどの操作媒体の移動速度を用いるという簡易な手法により、許容可能な入力遅延を維持しつつ、スムージング処理をより適切に行うことができる。
また、本実施形態では、ペン入力ドライバ110は、移動速度(例えば、移動速度vt)が、第1閾値以上(例えば、閾値Vth1_up以上)である場合に、現在選択されているスムージング処理(のアルゴリズム)よりサンプル遅延数が少ないスムージング処理(のアルゴリズム)に変更する。ペン入力ドライバ110は、移動速度が、第2閾値(例えば、閾値Vth2_dw)より小さい場合に、現在選択されているスムージング処理(のアルゴリズム)よりサンプル遅延数が多いスムージング処理(のアルゴリズム)に変更する。ここで、第1閾値(例えば、閾値Vth1_up)は、第2閾値(例えば、閾値Vth2_dw)より大きい(Vth1_up>Vth2_dw)。
これにより、本実施形態によるノートPC1は、移動速度が速い場合のスムージング処理への変更と、移動速度が遅い場合のスムージング処理への変更とで、閾値を変更する(例えば、Vth1_up>Vth2_dw)ことで、閾値付近で、短時間に連続してスムージング処理が変更されるなど、無駄にスムージング処理が変更されることを防止することができる。
また、本実施形態では、スムージング処理には、第1スムージング処理(例えば、低速モードのスムージング処理)と、第1スムージング処理よりサンプル遅延数が少ない第2スムージング処理(例えば、中速モードのスムージング処理)とが含まれる。ペン入力ドライバ110は、第1スムージング処理から第2スムージング処理に変更する際に、所定のサンプル数(例えば、4サンプル数)の移行期間(例えば、移行期間CT1)を設ける。ペン入力ドライバ110は、当該所定のサンプル数の移行期間(例えば、移行期間CT1)において、第1スムージング処理の処理結果と、第2スムージング処理の処理結果との加重平均値であって、移行の経過とともに、第2スムージング処理の重み付けを増加させた加重平均値を、スムージング処理結果の検出位置データ(第2検出位置データ)として出力する。また、ペン入力ドライバ110は、第2スムージング処理(例えば、中速モードのスムージング処理)から第1スムージング処理(例えば、低速モードのスムージング処理)に変更する際に、所定のサンプル数(例えば、4サンプル数)に1サンプル数を加算した移行期間CT2を設ける。ペン入力ドライバ110は、所定のサンプル数に1サンプル数を加算した移行期間CT2において、第2スムージング処理の処理結果と、第1スムージング処理の処理結果との加重平均値であって、移行の経過とともに、第1スムージング処理の重み付けを増加させた加重平均値を、スムージング処理結果の検出位置データ(第2検出位置データ)として出力する。
これにより、本実施形態によるノートPC1は、移行期間を設けることで、スムージング処理に変更する際に、不自然で不連続な描画が発生することを低減することができる。
また、本実施形態におけるノートPC1は、OSに基づく処理を実行するメイン制御部10を備える。メイン制御部10は、ペン入力ドライバ110と、表示処理部131とを含む。また、ペン入力ドライバ110は、OSに付加されたデバイスドライバによって実現される。
これにより、本実施形態によるノートPC1は、手書き入力において、OS上で実行されるアプリケーション130に依存せずに、許容可能な入力遅延を維持しつつ、スムージング処理を適切に行うことができる。
また、本実施形態による制御方法は、表示部14と、表示部14の画面上に配置され、画面上における物体との接触を検出するタッチセンサ部35とを備えるノートPC1の制御方法であって、入力処理ステップと、表示処理ステップとを含む。上述したスムージング処理を実行し、当該スムージング処理結果の検出位置データ(第2検出位置データ)を出力する入力処理ステップにおいて、ペン入力ドライバ110が、検出位置データ(第1検出位置データ)による描画の状況に応じて、処理性能及び処理遅延量が異なるスムージング処理を選択的に実行する。表示処理ステップにおいて、表示処理部131が、入力処理ステップによって出力された検出位置データ(第2検出位置データ)に基づいて、操作媒体が画面上に接触して移動した画面上の移動軌跡を、表示部14に表示させる。
これにより、本実施形態による制御方法は、上述したノートPC1と同様の効果を奏し、手書き入力において、許容可能な入力遅延を維持しつつ、スムージング処理を適切に行うことができる。
なお、本実施形態によるノートPC1(情報処理装置)は、以下の形態であってもよい。本実施形態によるノートPC1(情報処理装置)は、表示部14と、表示部14の画面上に配置され、画面上における物体との接触を検出するタッチセンサ部35と、プログラムを一時的に記憶するメモリ(例えば、メインメモリ12)と、メモリ(例えば、メインメモリ12)に記憶されたプログラムを実行するプロセッサ(例えば、CPU11及びチップセット21)とを備える。このプロセッサは、メモリに記憶されたプログラムを実行することにより、入力処理と、表示処理とを行う。ここで、入力処理は、上述したスムージング処理を実行し、当該スムージング処理結果の検出位置データ(第2検出位置データ)を出力する入力処理であって、検出位置データ(第1検出位置データ)による描画の状況(例えば、ペンの移動速度)に応じて、処理性能及び処理遅延量が異なるスムージング処理を選択的に実行する処理である。表示処理は、入力処理により出力された検出位置データ(第2検出位置データ)に基づいて、ペンなどの操作媒体が画面上に接触して移動した画面上の移動軌跡を、表示部14に表示させる処理である。なお、入力処理は、例えば、取得処理と、算出処理と、選択処理とを実行する処理である。ここで、取得処理は、タッチセンサ部35によって所定の検出間隔で検出された複数の検出位置データ(第1検出位置データ)を取得する処理である。算出処理は、複数の検出位置データ(第1検出位置データ)に基づいて、移動パラメータを算出する処理。選択処理は、検出される特定の検出位置データ(第1検出位置データ)と、対応するスムージング処理された検出位置データ(第2検出位置データ)との間の遅延を示す処理遅延量が異なる複数のスムージング処理のアルゴリズムのうちから、移動パラメータに基づいて、特定のスムージング処理のアルゴリズムを選択して実行する処理である。
これにより、本実施形態によるノートPC1は、手書き入力において、許容可能な入力遅延を維持しつつ、スムージング処理を適切に行うことができる。
[第2の実施形態]
次に、図面を参照して、第2の実施形態によるノートPC1aについて説明する。
図12は、第2の実施形態によるノートPC1aの機能構成の一例を示すブロック図である。なお、本実施形態によるノートPC1aの主要なハード構成は、上述した図1に示す第1の実施形態と同様であるため、ここではその説明を省略する。
また、図12において、上述した図2と同様の構成には同一の符号を付与してもの説明を省略する。
本実施形態では、第1の実施形態において、ペン入力ドライバ110が実行していた、スムージング処理を、エンベデッドコントローラ31aが実行する変形例について説明する。
図12に示すように、ノートPC1aは、メイン制御部10aと、タッチスクリーン20と、エンベデッドコントローラ(EC)31aと、メイン記憶部40aとを備える。なお、図12において、ノートPC1aの構成として、本実施形態の発明に関する主要な機能構成のみを記載している。
エンベデッドコントローラ31aは、ペン入力バッファ部311と、ペン入力処理部320とを備える。
ペン入力処理部320(入力処理部の一例)は、第1の実施形態における速度検出処理部111、スムージング処理部112、速度情報記憶部41、及びモード情報記憶部42の機能を、ペン入力ドライバ110及びメイン記憶部40から、エンベデッドコントローラ31aに移動した機能部である。ペン入力処理部320は、エンベデッドコントローラ31a内部のCPU及びメモリに、メモリが記憶するプログラムを実行させることで実現される機能部である。ペン入力処理部320は、速度検出処理部321と、スムージング処理部322と、速度情報記憶部323と、モード情報記憶部324とを備える。
速度検出処理部321と、スムージング処理部322と、速度情報記憶部323と、モード情報記憶部324とのそれぞれは、第1の実施形態における速度検出処理部111と、スムージング処理部112と、速度情報記憶部41と、モード情報記憶部42とのそれぞれに対応する。なお、速度検出処理部321と、スムージング処理部322と、速度情報記憶部323と、モード情報記憶部324とのそれぞれの機能は、第1の実施形態と同様であるため、ここではその説明を省略する。
ペン入力処理部320(のスムージング処理部322)は、スムージング処理の処理結果の検出位置データ(第2検出位置データ)を、メイン制御部10aに出力する。
メイン制御部10aは、CPU11及びチップセット21が、メインメモリ12が記憶するプログラムを実行することで実現される機能部であり、OSに基づく各種処理を実行する。メイン制御部10aは、ペン入力ドライバ110aと、ペン入力設定部120と、アプリケーション130とを備える。
ペン入力ドライバ110aは、CPU11とチップセット21とにより実現される機能部であり、タッチスクリーン20によるペン入力処理(手書き入力処理)を制御する。ペン入力ドライバ110aは、エンベデッドコントローラ31aから、ペン入力処理部320による処理後に検出位置データ(第2検出位置データ)を取得し、アプリケーション130に出力する。ペン入力ドライバ110aは、OS(例えば、Windows(登録商標))に付加されたデバイスドライバである。
メイン記憶部40aは、速度情報記憶部41、及びモード情報記憶部42を備えていない点を除いて、第1の実施形態におけるメイン記憶部40と同様である。
以上説明したように、本実施形態によるノートPC1aは、OSに基づく処理を実行するメイン制御部10aと、メイン制御部10aとは異なる組込み制御部であるエンベデッドコントローラ31aとを備えている。ペン入力処理部320(入力処理部)は、エンベデッドコントローラ31a(組込み制御部)に含まれる。ペン入力処理部320(入力処理部)は、検出位置データ(第1検出位置データ)による描画の状況に応じて、処理性能及び処理遅延量が異なるスムージング処理を選択的に実行し、選択的に実行したスムージング処理の処理結果の検出位置データ(第2検出位置データ)をメイン制御部10aに出力する。なお、表示処理部131は、メイン制御部10aに含まれる。表示処理部131は、ペン入力処理部320がペン入力ドライバ110aを介して出力した検出位置データ(第2検出位置データ)に基づいて、ペンなどの操作媒体が画面上に接触して移動した画面上の移動軌跡を、表示部14に表示させる。
これにより、本実施形態によるノートPC1aは、手書き入力において、OS上で実行されるデバイスドライバ(ペン入力ドライバ110a)及びアプリケーション130に依存せずに、許容可能な入力遅延を維持しつつ、スムージング処理を適切に行うことができる。
[第3の実施形態]
次に、図面を参照して、第3の実施形態によるPCシステム100について説明する。
上述した第1及び第2の実施形態では、ノートPC1(1a)の内部に、タッチスクリーン20を備えて、ペン入力などの手書き入力を行う場合について説明したが、第3の実施形態では、タッチスクリーン52を有する外付けのペンタブレット50と、ノートPC1bとを備えたPCシステム100によりペン入力などの手書き入力を行う場合の変形例について説明する。
図13は、本実施形態によるPCシステム100の主要なハードウェア構成の一例を示す図である。
図13に示すように、PCシステム100(情報処理システムの一例)は、ノートPC1bと、ペンタブレット50とを備える。
なお、図13において、図1と同一の構成には同一の符号を付与して、その説明を省略する。
ノートPC1b(情報処理装置の一例)は、タッチスクリーン20(タッチセンサ部35)を備えていない点を除いて、上述したノートPC1(1a)と同様のハード構成である。
ペンタブレット50は、ペン入力などの手書き入力が可能なタブレット端末であり、コントローラ51と、タッチスクリーン52とを備える。
コントローラ51(組込み制御部の一例)は、例えば、CPUを含むプロセッサであり、ペンタブレット50を統括的に制御する。コントローラ51は、ペン入力などの手書き入力の処理を行う場合に、上述するエンベデッドコントローラ31(31a)と同様の処理を実行する。すなわち、コントローラ51は、上述したペン入力バッファ部311及びペン入力処理部320と同様の機能を有するようにしてもよい。
また、コントローラ51は、USBコネクタ24を介して、チップセット21(メイン制御部10(10a))に接続される。コントローラ51は、USBインターフェースを用いて、タッチセンサ部522による検出位置データ(第1検出位置データ)をスムージング処理し、処理結果の検出位置データ(第2検出位置データ)を、メイン制御部10(10a)に出力する。
タッチスクリーン52は、表示部521及びタッチセンサ部522を備え、上述したタッチスクリーン20と同様に機能する。本実施形態における表示部521及びタッチセンサ部522は、第1及び第2の実施形態の表示部14及びタッチセンサ部35に対応する。
表示部521は、例えば、HDMI(High-Definition Multimedia Interface(登録商標))やDP(Display Port)により、ビデオサブシステム13を介して、メイン制御部10(10a)に接続されている。メイン制御部10(10a)は、HDMI(登録商標)やDPにより、コントローラ51が出力した検出位置データに基づいて、操作媒体が表示部521の画面上に接触して移動した画面上の移動軌跡を、表示部521に表示させる。
次に、本実施形態によるPCシステム100の動作について説明する。
本実施形態では、第2の実施形態のエンベデッドコントローラ31aの代わりに、コントローラ51が、ペン入力処理部320と同様の機能を有し、スムージング処理を実行してもよいし、第1の実施形態と同様に、ペン入力ドライバ110が、スムージング処理を実行してもよい。なお、スムージングの詳細については、第1及び第2の実施形態と同様であるため、ここではその説明を省略する。
以上説明したように、本実施形態によるPCシステム100(情報処理システム)は、表示部521と、タッチセンサ部522と、入力処理部(ペン入力ドライバ110、又はコントローラ51)と、表示処理部131とを備える。タッチセンサ部522は、表示部521の画面上に配置され、画面上における物体との接触を検出する。入力処理部(ペン入力ドライバ110、又はコントローラ51)は、検出位置データ(第1検出位置データ)による描画の状況に応じて、処理性能及び処理遅延量が異なるスムージング処理を選択的に実行し、スムージング処理を実行した処理結果の検出位置データ(第2検出位置データ)を出力する。
これにより、本実施形態によるPCシステム100は、上述したノートPC1(1a)と同様の効果を奏し、許容可能な入力遅延を維持しつつ、スムージング処理を適切に行うことができる。また、本実施形態によるPCシステム100は、手書き入力において、アプリケーションに依存せずに、描画品質の向上と、入力レスポンスの向上とをバランス良く行うことができる。
なお、本発明は、上記の各実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で変更可能である。
例えば、上記の各実施形態において、情報処理装置がノートPC1(1a、1b)である例を説明したが、これに限定されるものではなく、例えば、タブレット端末装置、デスクトップPC、スマートフォンなどの他の情報処理装置であってもよい。また、情報処理システムは、ノートPC1bを備えたPCシステム100に限定されるものではなく、上記のような他の情報処理装置を備えるものであってもよい。
また、上記の各実施形態において、描画の状況の一例として、移動速度を用いる例を説明したが、これに限定されるものではなく、例えば、ペンの移動速度(例えば、複数の検出位置データによる平均速度など)、移動速度の変化(移動加速度など)、画面上の移動角度の変化、所定の時間間隔における移動距離、及び描画形状(曲線、直線、文字など)、であってもよい。
例えば、描画の状況が、移動速度の変化(移動加速度など)である場合には、入力処理部(ペン入力ドライバ110、ペン入力処理部320、又はコントローラ51)は、移動速度の変化が上昇している場合に、より遅延量(サンプル遅延数)の少ないスムージング処理を実行し、移動速度の変化が減少している場合に、より遅延量(サンプル遅延数)の多いスムージング処理を実行するようにしてもよい。
また、例えば、描画の状況が、画面上の移動角度の変化である場合には、入力処理部(ペン入力ドライバ110、ペン入力処理部320、又はコントローラ51)は、移動角度の変化が大きい場合に、より遅延量(サンプル遅延数)の多いスムージング処理を実行し、移動角度の変化が小さい場合に、より遅延量(サンプル遅延数)の少ないスムージング処理を実行するようにしてもよい。
また、例えば、描画の状況が、所定の時間間隔における移動距離である場合には、入力処理部(ペン入力ドライバ110、ペン入力処理部320、又はコントローラ51)は、移動距離が大きい場合に、より遅延量(サンプル遅延数)の少ないスムージング処理を実行し、移動距離が小さい場合に、より遅延量(サンプル遅延数)の多いスムージング処理を実行するようにしてもよい。
また、例えば、描画の状況が、描画形状(曲線、直線、文字など)である場合には、入力処理部(ペン入力ドライバ110、ペン入力処理部320、又はコントローラ51)は、直線の場合に、より遅延量(サンプル遅延数)の少ないスムージング処理を実行し、曲線、又は文字の場合に、より遅延量(サンプル遅延数)の多いスムージング処理を実行するようにしてもよい。
また、描画の状況は、ペンの移動速度、及び上述した各描画の状況を組み合わせて用いてもよい。
また、上記の各実施形態において、手書き入力の操作媒体の一例として、ペンを用いる例を説明したが、これに限定されるものではなく、例えば、利用者の指や、専用の電子ペンなどの他の操作媒体であってもよい。
また、上記の各実施形態において、グループを構成する所定のサンプル数を一例として、4サンプル数である例を説明したが、これに限定されるものではなく、3サンプル数以下、又は5サンプル数以上を1グループとして処理してもよい。
また、上記の各実施形態において、スムージング処理の手法については、処理性能及び処理遅延量が異なるスムージング処理であれば、特に限定されるものではない。
また、上記の各実施形態において、本発明におけるスムージング処理は、ペン入力ドライバ110、エンベデッドコントローラ31aのペン入力処理部320、又はコントローラ51が実行する例を説明したが、これに限定されるものではなく、例えば、アプリケーション130において、本発明のスムージング処理が実行されるようにしてもよい。
なお、上述したノートPC1(1a)及びPCシステム100が備える各構成は、内部に、コンピュータシステムを有している。そして、上述したノートPC1(1a)及びPCシステム100が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述したノートPC1(1a)及びPCシステム100が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD-ROM等の非一過性の記録媒体であってもよい。
また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後にノートPC1(1a)及びPCシステム100が備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
また、上述した機能の一部又は全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
1、1a、1b ノートPC
10、10a メイン制御部
20、52 タッチスクリーン
11 CPU
12 メインメモリ
13 ビデオサブシステム
14、521 表示部
21 チップセット
22 BIOSメモリ
23 HDD
24 USBコネクタ
25 オーディオシステム
26 WLANカード
31、31a エンベデッドコントローラ
32 キー入力部
33 ポインティングデバイス
34 電源回路
35、522 タッチセンサ部
40、40a メイン記憶部
41、323 速度情報記憶部
42、324 モード情報記憶部
50 ペンタブレット
51 コントローラ
100 PCシステム
110、110a ペン入力ドライバ
111、321 速度検出処理部
112、322 スムージング処理部
120 ペン入力設定部
130 アプリケーション
131 表示処理部
311 ペン入力バッファ部
320 ペン入力処理部

Claims (8)

  1. 表示部と、
    前記表示部の画面上に配置され、前記画面上における物体との接触を検出するタッチセンサ部と、
    操作媒体が前記画面上に接触することで、前記タッチセンサ部によって所定の検出間隔で検出された前記画面上の複数の第1検出位置データを取得する取得処理と、前記複数の第1検出位置データに基づいて、前記複数の第1検出位置データの検出中における前記操作媒体の移動を表す移動パラメータを算出する算出処理と、ノイズ除去して描画する移動軌跡を滑らかにするスムージング処理のアルゴリズムであって、検出される特定の前記第1検出位置データと、対応する前記スムージング処理された第2検出位置データとの間の遅延を示す処理遅延量が異なる複数のスムージング処理のアルゴリズムのうちから、前記移動パラメータに基づいて、特定のスムージング処理のアルゴリズムを選択して実行する選択処理とを実行する入力処理部と、
    前記入力処理部が出力した前記第2検出位置データに基づいて、前記操作媒体が前記画面上に接触して移動した前記画面上の移動軌跡を、前記表示部に表示させる表示処理部と
    を備え
    前記移動パラメータには、前記操作媒体の前記画面上の移動速度が含まれ、
    前記入力処理部は、
    前記移動速度に応じて、サンプル遅延数の異なる前記スムージング処理のアルゴリズムを選択して実行し、
    前記複数の第1検出位置データの所定のサンプル数単位で、前記移動速度を算出し、前記所定のサンプル数単位で、前記サンプル遅延数の異なる前記スムージング処理のアルゴリズムを切り替え、
    前記スムージング処理には、第1スムージング処理と、前記第1スムージング処理より前記サンプル遅延数が少ない第2スムージング処理とが含まれ、
    前記入力処理部は、
    前記第1スムージング処理から前記第2スムージング処理に変更する際に、前記所定のサンプル数の移行期間を設け、当該所定のサンプル数の移行期間において、前記第1スムージング処理の処理結果と、前記第2スムージング処理の処理結果との加重平均値であって、移行の経過とともに、前記第2スムージング処理の重み付けを増加させた加重平均値を、前記第2検出位置データとして出力し、
    前記第2スムージング処理から前記第1スムージング処理に変更する際に、前記所定のサンプル数に1サンプル数を加算した移行期間を設け、前記所定のサンプル数に1サンプル数を加算した移行期間において、前記第2スムージング処理の処理結果と、前記第1スムージング処理の処理結果との加重平均値であって、移行の経過とともに、前記第1スムージング処理の重み付けを増加させた加重平均値を、前記第2検出位置データとして出力する
    報処理装置。
  2. 前記入力処理部は、
    前記移動速度が、第1閾値以上である場合に、現在選択されている前記スムージング処理のアルゴリズムより前記サンプル遅延数が少ない前記スムージング処理のアルゴリズムに変更し、
    前記移動速度が、第2閾値より小さい場合に、現在選択されている前記スムージング処理のアルゴリズムより前記サンプル遅延数が多い前記スムージング処理のアルゴリズムに変更する
    請求項に記載の情報処理装置。
  3. 前記第1閾値は、前記第2閾値より大きい
    請求項に記載の情報処理装置。
  4. OS(オペレーティングシステム)に基づく処理を実行するメイン制御部を備え、
    前記メイン制御部は、前記入力処理部と、前記表示処理部とを含み、
    前記入力処理部は、前記OSに付加されたデバイスドライバによって実現される
    請求項1から請求項のいずれか一項に記載の情報処理装置。
  5. OS(オペレーティングシステム)に基づく処理を実行するメイン制御部と、
    前記メイン制御部とは異なる組込み制御部と
    を備え、
    前記入力処理部は、前記組込み制御部に含まれ、
    前記表示処理部は、前記メイン制御部に含まれ、
    前記入力処理部は、前記第2検出位置データを、前記メイン制御部に出力する
    請求項1から請求項のいずれか一項に記載の情報処理装置。
  6. 表示部と、
    前記表示部の画面上に配置され、前記画面上における物体との接触を検出するタッチセンサ部と、
    プログラムを一時的に記憶するメモリと、
    前記メモリに記憶された前記プログラムを実行するプロセッサと
    を備え、
    前記プロセッサは、
    前記メモリに記憶された前記プログラムを実行することにより、
    操作媒体が前記画面上に接触することで、前記タッチセンサ部によって所定の検出間隔で検出された前記画面上の複数の第1検出位置データを取得する取得処理と、
    前記複数の第1検出位置データに基づいて、前記複数の第1検出位置データの検出中における前記操作媒体の移動を表す移動パラメータを算出する算出処理と、
    ノイズ除去して描画する移動軌跡を滑らかにするスムージング処理のアルゴリズムであって、検出される特定の前記第1検出位置データと、対応する前記スムージング処理された第2検出位置データとの間の遅延を示す処理遅延量が異なる複数のスムージング処理のアルゴリズムのうちから、前記移動パラメータに基づいて、特定のスムージング処理のアルゴリズムを選択して実行する選択処理と
    を実行する入力処理と、
    前記入力処理により出力された前記第2検出位置データに基づいて、前記操作媒体が前記画面上に接触して移動した前記画面上の移動軌跡を、前記表示部に表示させる表示処理と
    を行い、
    前記移動パラメータには、前記操作媒体の前記画面上の移動速度が含まれ、
    前記プロセッサは、前記入力処理において、
    前記移動速度に応じて、サンプル遅延数の異なる前記スムージング処理のアルゴリズムを選択して実行し、
    前記複数の第1検出位置データの所定のサンプル数単位で、前記移動速度を算出し、前記所定のサンプル数単位で、前記サンプル遅延数の異なる前記スムージング処理のアルゴリズムを切り替え、
    前記スムージング処理には、第1スムージング処理と、前記第1スムージング処理より前記サンプル遅延数が少ない第2スムージング処理とが含まれ、
    前記プロセッサは、前記入力処理において、
    前記第1スムージング処理から前記第2スムージング処理に変更する際に、前記所定のサンプル数の移行期間を設け、当該所定のサンプル数の移行期間において、前記第1スムージング処理の処理結果と、前記第2スムージング処理の処理結果との加重平均値であって、移行の経過とともに、前記第2スムージング処理の重み付けを増加させた加重平均値を、前記第2検出位置データとして出力し、
    前記第2スムージング処理から前記第1スムージング処理に変更する際に、前記所定のサンプル数に1サンプル数を加算した移行期間を設け、前記所定のサンプル数に1サンプル数を加算した移行期間において、前記第2スムージング処理の処理結果と、前記第1スムージング処理の処理結果との加重平均値であって、移行の経過とともに、前記第1スムージング処理の重み付けを増加させた加重平均値を、前記第2検出位置データとして出力する
    報処理装置。
  7. 表示部と、
    前記表示部の画面上に配置され、前記画面上における物体との接触を検出するタッチセンサ部と、
    操作媒体が前記画面上に接触することで、前記タッチセンサ部によって所定の検出間隔で検出された前記画面上の複数の第1検出位置データを取得する取得処理と、前記複数の第1検出位置データに基づいて、前記複数の第1検出位置データの検出中における前記操作媒体の移動を表す移動パラメータを算出する算出処理と、ノイズ除去して描画する移動軌跡を滑らかにするスムージング処理のアルゴリズムであって、検出される特定の前記第1検出位置データと、対応する前記スムージング処理された第2検出位置データとの間の遅延を示す処理遅延量が異なる複数のスムージング処理のアルゴリズムのうちから、前記移動パラメータに基づいて、特定のスムージング処理のアルゴリズムを選択して実行する選択処理とを実行する入力処理部と、
    前記入力処理部が出力した前記第2検出位置データに基づいて、前記操作媒体が前記画面上に接触して移動した前記画面上の移動軌跡を、前記表示部に表示させる表示処理部と
    を備え
    前記移動パラメータには、前記操作媒体の前記画面上の移動速度が含まれ、
    前記入力処理部は、
    前記移動速度に応じて、サンプル遅延数の異なる前記スムージング処理のアルゴリズムを選択して実行し、
    前記複数の第1検出位置データの所定のサンプル数単位で、前記移動速度を算出し、前記所定のサンプル数単位で、前記サンプル遅延数の異なる前記スムージング処理のアルゴリズムを切り替え、
    前記スムージング処理には、第1スムージング処理と、前記第1スムージング処理より前記サンプル遅延数が少ない第2スムージング処理とが含まれ、
    前記入力処理部は、
    前記第1スムージング処理から前記第2スムージング処理に変更する際に、前記所定のサンプル数の移行期間を設け、当該所定のサンプル数の移行期間において、前記第1スムージング処理の処理結果と、前記第2スムージング処理の処理結果との加重平均値であって、移行の経過とともに、前記第2スムージング処理の重み付けを増加させた加重平均値を、前記第2検出位置データとして出力し、
    前記第2スムージング処理から前記第1スムージング処理に変更する際に、前記所定のサンプル数に1サンプル数を加算した移行期間を設け、前記所定のサンプル数に1サンプル数を加算した移行期間において、前記第2スムージング処理の処理結果と、前記第1スムージング処理の処理結果との加重平均値であって、移行の経過とともに、前記第1スムージング処理の重み付けを増加させた加重平均値を、前記第2検出位置データとして出力する
    報処理システム。
  8. 表示部と、前記表示部の画面上に配置され、前記画面上における物体との接触を検出するタッチセンサ部とを備える情報処理装置の制御方法であって、
    入力処理部が、操作媒体が前記画面上に接触することで、前記タッチセンサ部によって所定の検出間隔で検出された前記画面上の複数の第1検出位置データを取得する取得処理と、前記複数の第1検出位置データに基づいて、前記複数の第1検出位置データの検出中における前記操作媒体の移動を表す移動パラメータを算出する算出処理と、ノイズ除去して描画する移動軌跡を滑らかにするスムージング処理のアルゴリズムであって、検出される特定の前記第1検出位置データと、対応する前記スムージング処理された第2検出位置データとの間の遅延を示す処理遅延量が異なる複数のスムージング処理のアルゴリズムのうちから、前記移動パラメータに基づいて、特定のスムージング処理のアルゴリズムを選択して実行する選択処理とを実行する入力処理ステップと、
    表示処理部が、前記入力処理ステップによって出力された前記第2検出位置データに基づいて、前記操作媒体が前記画面上に接触して移動した前記画面上の移動軌跡を、前記表示部に表示させる表示処理ステップと
    を含み、
    前記移動パラメータには、前記操作媒体の前記画面上の移動速度が含まれ、
    前記入力処理ステップにおいて、前記入力処理部が、
    前記移動速度に応じて、サンプル遅延数の異なる前記スムージング処理のアルゴリズムを選択して実行し、
    前記複数の第1検出位置データの所定のサンプル数単位で、前記移動速度を算出し、前記所定のサンプル数単位で、前記サンプル遅延数の異なる前記スムージング処理のアルゴリズムを切り替え、
    前記スムージング処理には、第1スムージング処理と、前記第1スムージング処理より前記サンプル遅延数が少ない第2スムージング処理とが含まれ、
    前記入力処理ステップにおいて、前記入力処理部が、
    前記第1スムージング処理から前記第2スムージング処理に変更する際に、前記所定のサンプル数の移行期間を設け、当該所定のサンプル数の移行期間において、前記第1スムージング処理の処理結果と、前記第2スムージング処理の処理結果との加重平均値であって、移行の経過とともに、前記第2スムージング処理の重み付けを増加させた加重平均値を、前記第2検出位置データとして出力し、
    前記第2スムージング処理から前記第1スムージング処理に変更する際に、前記所定のサンプル数に1サンプル数を加算した移行期間を設け、前記所定のサンプル数に1サンプル数を加算した移行期間において、前記第2スムージング処理の処理結果と、前記第1スムージング処理の処理結果との加重平均値であって、移行の経過とともに、前記第1スムージング処理の重み付けを増加させた加重平均値を、前記第2検出位置データとして出力する
    御方法。
JP2021130037A 2021-08-06 2021-08-06 情報処理装置、情報処理システム、及び制御方法 Active JP7234312B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2021130037A JP7234312B2 (ja) 2021-08-06 2021-08-06 情報処理装置、情報処理システム、及び制御方法
US17/859,285 US11768561B2 (en) 2021-08-06 2022-07-07 Apparatus, system, and method for data smoothing
EP22186315.2A EP4130965A1 (en) 2021-08-06 2022-07-21 Information processing apparatus, information processing system, and control method
CN202210937170.7A CN115705112A (zh) 2021-08-06 2022-08-05 信息处理装置、信息处理系统以及控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021130037A JP7234312B2 (ja) 2021-08-06 2021-08-06 情報処理装置、情報処理システム、及び制御方法

Publications (2)

Publication Number Publication Date
JP2023024007A JP2023024007A (ja) 2023-02-16
JP7234312B2 true JP7234312B2 (ja) 2023-03-07

Family

ID=82656341

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021130037A Active JP7234312B2 (ja) 2021-08-06 2021-08-06 情報処理装置、情報処理システム、及び制御方法

Country Status (4)

Country Link
US (1) US11768561B2 (ja)
EP (1) EP4130965A1 (ja)
JP (1) JP7234312B2 (ja)
CN (1) CN115705112A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230097340A (ko) * 2021-12-24 2023-07-03 주식회사 엘엑스세미콘 터치센싱장치 및 좌표 보정 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120047193A1 (en) 2010-08-19 2012-02-23 Chip Goal Electronics Corporation, R.O.C. Locus smoothing method
JP2012185694A (ja) 2011-03-07 2012-09-27 Elmo Co Ltd 描画システム
JP2015203955A (ja) 2014-04-14 2015-11-16 株式会社ユビキタスエンターテインメント デジタイザペンによる描画制御装置、描画制御方法および描画制御用プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05165598A (ja) 1991-12-17 1993-07-02 Hitachi Ltd 表示制御icおよび情報処理装置
JP3497587B2 (ja) * 1994-12-20 2004-02-16 株式会社リコー 手書き入力表示装置
JP2010262460A (ja) * 2009-05-07 2010-11-18 Panasonic Corp 静電容量方式タッチパネル装置及びそのタッチ入力位置検出方法
JP2015072534A (ja) 2013-10-02 2015-04-16 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
EP3103005B1 (en) 2014-02-04 2019-06-19 Sony Corporation Predictive input system for touch and touchless displays
US20170060241A1 (en) * 2015-08-26 2017-03-02 Fujitsu Ten Limited Input device, display device, method of controlling input device, and program
KR20210078900A (ko) 2019-12-19 2021-06-29 주식회사 실리콘웍스 드로잉 라인 피팅을 위한 터치센싱장치 및 이를 이용한 터치센싱방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120047193A1 (en) 2010-08-19 2012-02-23 Chip Goal Electronics Corporation, R.O.C. Locus smoothing method
JP2012185694A (ja) 2011-03-07 2012-09-27 Elmo Co Ltd 描画システム
JP2015203955A (ja) 2014-04-14 2015-11-16 株式会社ユビキタスエンターテインメント デジタイザペンによる描画制御装置、描画制御方法および描画制御用プログラム

Also Published As

Publication number Publication date
EP4130965A1 (en) 2023-02-08
JP2023024007A (ja) 2023-02-16
CN115705112A (zh) 2023-02-17
US11768561B2 (en) 2023-09-26
US20230045137A1 (en) 2023-02-09

Similar Documents

Publication Publication Date Title
JP4384242B1 (ja) 情報処理装置および画像処理方法
JP7234312B2 (ja) 情報処理装置、情報処理システム、及び制御方法
JP6918886B2 (ja) 情報処理装置、及び制御方法
US20130318381A1 (en) Electronic apparatus and start method for electronic apparatus
EP4080337A1 (en) Information processing apparatus and control method
CN111008079A (zh) 进程管理方法、装置、存储介质及电子设备
JP7098799B1 (ja) 情報処理装置、情報処理システム、及び制御方法
US11449176B2 (en) Information processing system and method for avoiding execution of unintentional drawing operations
JP6998436B1 (ja) 情報処理装置、情報処理システム、及び制御方法
WO2021115257A1 (zh) 应用切换方法、装置、存储介质及电子设备
US20210132794A1 (en) Systems, apparatus, and methods for overlaying a touch panel with a precision touch pad
JP2019185114A (ja) 情報処理装置、表示制御方法、及びプログラム
JP6982649B2 (ja) 情報処理装置、及び制御方法
JP7176067B1 (ja) 情報処理装置、及び制御方法
JP7348360B1 (ja) 情報処理装置、タッチデバイス、及び制御方法
JP7265048B1 (ja) 情報処理装置、及び制御方法
WO2023274125A1 (zh) 一种指令处理方法及其相关设备
JP7444939B1 (ja) 情報処理装置、及び制御方法
JP7014874B1 (ja) 情報処理装置及び情報処理方法
JP2023179072A (ja) 情報処理装置、及び制御方法
JP2023162919A (ja) 情報処理装置
JP2021071959A (ja) 情報処理装置、及び制御方法
TW201510841A (zh) 可攜式個人終端及其圖示設定方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210806

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20211213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221026

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230222

R150 Certificate of patent or registration of utility model

Ref document number: 7234312

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350