IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ レノボ・シンガポール・プライベート・リミテッドの特許一覧

特開2022-66874情報処理装置、情報処理システム、及び制御方法
<>
  • 特開-情報処理装置、情報処理システム、及び制御方法 図1
  • 特開-情報処理装置、情報処理システム、及び制御方法 図2
  • 特開-情報処理装置、情報処理システム、及び制御方法 図3
  • 特開-情報処理装置、情報処理システム、及び制御方法 図4
  • 特開-情報処理装置、情報処理システム、及び制御方法 図5
  • 特開-情報処理装置、情報処理システム、及び制御方法 図6
  • 特開-情報処理装置、情報処理システム、及び制御方法 図7
  • 特開-情報処理装置、情報処理システム、及び制御方法 図8
  • 特開-情報処理装置、情報処理システム、及び制御方法 図9
  • 特開-情報処理装置、情報処理システム、及び制御方法 図10
  • 特開-情報処理装置、情報処理システム、及び制御方法 図11
  • 特開-情報処理装置、情報処理システム、及び制御方法 図12
  • 特開-情報処理装置、情報処理システム、及び制御方法 図13
  • 特開-情報処理装置、情報処理システム、及び制御方法 図14
  • 特開-情報処理装置、情報処理システム、及び制御方法 図15
  • 特開-情報処理装置、情報処理システム、及び制御方法 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022066874
(43)【公開日】2022-05-02
(54)【発明の名称】情報処理装置、情報処理システム、及び制御方法
(51)【国際特許分類】
   G06F 3/041 20060101AFI20220422BHJP
   G06F 3/0488 20220101ALI20220422BHJP
【FI】
G06F3/041 595
G06F3/0488
G06F3/041 600
【審査請求】有
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2020175460
(22)【出願日】2020-10-19
(11)【特許番号】
(45)【特許公報発行日】2022-01-18
(71)【出願人】
【識別番号】505205731
【氏名又は名称】レノボ・シンガポール・プライベート・リミテッド
(74)【代理人】
【識別番号】100161207
【弁理士】
【氏名又は名称】西澤 和純
(74)【代理人】
【識別番号】100169764
【弁理士】
【氏名又は名称】清水 雄一郎
(74)【代理人】
【識別番号】100175824
【弁理士】
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100206081
【弁理士】
【氏名又は名称】片岡 央
(72)【発明者】
【氏名】要 ▲強▼
(72)【発明者】
【氏名】鈴木 義従
(72)【発明者】
【氏名】野村 良太
(72)【発明者】
【氏名】河野 誠一
【テーマコード(参考)】
5E555
【Fターム(参考)】
5E555AA26
5E555BA01
5E555BB01
5E555BC04
5E555BC18
5E555CA12
5E555CB10
5E555CB55
5E555CB59
5E555CC11
5E555DA01
5E555DB56
5E555DC83
5E555EA20
5E555FA00
(57)【要約】
【課題】手書き入力において、アプリケーションに依存せずに、入力に対する表示の遅延を低減する。
【解決手段】情報処理装置は、表示部と、表示部の画面上に配置され、画面上における物体との接触を検出するタッチセンサ部と、OS(オペレーティングシステム)に基づく処理を実行するメイン制御部と、メイン制御部とは異なる組込み制御部であって、操作媒体が画面上に接触することで、タッチセンサ部によって所定の検出間隔で検出された画面上の複数の検出位置データに基づいて、次回の検出位置データを予測し、予測した次回の検出位置データを、タッチセンサ部が検出した検出位置データとして、メイン制御部に出力する組込み制御部とを備え、メイン制御部は、組込み制御部が出力した検出位置データに基づいて、操作媒体が画面上に接触して移動した画面上の移動軌跡を表示部に表示させる。
【選択図】図2
【特許請求の範囲】
【請求項1】
表示部と、
前記表示部の画面上に配置され、前記画面上における物体との接触を検出するタッチセンサ部と、
OS(オペレーティングシステム)に基づく処理を実行するメイン制御部と、
前記メイン制御部とは異なる組込み制御部であって、操作媒体が前記画面上に接触することで、前記タッチセンサ部によって所定の検出間隔で検出された前記画面上の複数の検出位置データに基づいて、次回の検出位置データを予測し、予測した前記次回の検出位置データを、前記タッチセンサ部が検出した検出位置データとして、前記メイン制御部に出力する組込み制御部と
を備え、
前記メイン制御部は、前記組込み制御部が出力した前記検出位置データに基づいて、前記操作媒体が前記画面上に接触して移動した前記画面上の移動軌跡を、前記表示部に表示させる
情報処理装置。
【請求項2】
前記組込み制御部は、予め定められた実行可否条件に応じて、予測した前記次回の検出位置データを前記検出位置データとして出力するか否かを切り替える
請求項1に記載の情報処理装置。
【請求項3】
前記実行可否条件には、前記複数の検出位置データにおける検出位置間の距離が、所定の閾値距離以上である場合が含まれ、
前記組込み制御部は、前記検出位置間の距離が所定の閾値距離以上である場合に、予測した前記次回の検出位置データを前記検出位置データとして出力する
請求項2に記載の情報処理装置。
【請求項4】
前記実行可否条件には、前記複数の検出位置データに基づく前記所定の検出間隔における前記操作媒体の移動角度変化が、所定の閾値以上である場合が含まれ、
前記組込み制御部は、前記移動角度変化が前記所定の閾値以上である場合に、前記タッチセンサ部が検出した最新の検出位置データを前記検出位置データとして出力し、予測した前記次回の検出位置データを前記検出位置データとして出力しない
請求項2又は請求項3に記載の情報処理装置。
【請求項5】
前記タッチセンサ部は、前記検出位置データとともに、前記操作媒体が前記画面上に接触した接触圧力を検出し、
前記実行可否条件には、前記複数の検出位置データに対応する前記接触圧力の低下が、所定の基準値以上である場合が含まれ、
前記組込み制御部は、前記接触圧力の低下が前記所定の基準値以上である場合に、前記タッチセンサ部が検出した最新の検出位置データを前記検出位置データとして出力し、予測した前記次回の検出位置データを前記検出位置データとして出力しない
請求項2から請求項4のいずれか一項に記載の情報処理装置。
【請求項6】
前記メイン制御部は、前記OS上で実行されるアプリケーションを監視し、前記アプリケーションの内部で次回の検出位置データの予測を行う前記アプリケーションが起動された場合に、前記次回の検出位置データを予測する予測処理を制限する通知を、前記組込み制御部に送信し、
前記組込み制御部は、前記予測処理を制限する通知に応じて、前記予測処理を制限する
請求項1から請求項5のいずれか一項に記載の情報処理装置。
【請求項7】
前記予測処理を制限する通知には、前記予測処理を停止する通知が含まれ、
前記組込み制御部は、前記予測処理の機能を停止する通知に応じて、前記予測処理を停止し、前記タッチセンサ部が検出した最新の検出位置データを前記検出位置データとして出力する
請求項6に記載の情報処理装置。
【請求項8】
表示部と、
前記表示部の画面上に配置され、前記画面上における物体との接触を検出するタッチセンサ部と、
OS(オペレーティングシステム)に基づく処理を実行するメイン制御部と、
前記メイン制御部とは異なる組込み制御部であって、操作媒体が前記画面上に接触することで、前記タッチセンサ部によって所定の検出間隔で検出された前記画面上の複数の検出位置データに基づいて、次回の検出位置データを予測し、予測した前記次回の検出位置データを、前記タッチセンサ部が検出した検出位置データとして、前記メイン制御部に出力する組込み制御部と
を備え、
前記メイン制御部は、前記組込み制御部が出力した前記検出位置データに基づいて、前記操作媒体が前記画面上に接触して移動した前記画面上の移動軌跡を、前記表示部に表示させる
情報処理システム。
【請求項9】
表示部と、前記表示部の画面上に配置され、前記画面上における物体との接触を検出するタッチセンサ部と、OS(オペレーティングシステム)に基づく処理を実行するメイン制御部と、前記メイン制御部とは異なる組込み制御部とを備える情報処理装置の制御方法であって、
前記組込み制御部が、操作媒体が前記画面上に接触することで、前記タッチセンサ部によって所定の検出間隔で検出された前記画面上の複数の検出位置データに基づいて、次回の検出位置データを予測し、予測した前記次回の検出位置データを、前記タッチセンサ部が検出した検出位置データとして、前記メイン制御部に出力するステップと、
前記メイン制御部は、前記組込み制御部が出力した前記検出位置データに基づいて、前記操作媒体が前記画面上に接触して移動した前記画面上の移動軌跡を、前記表示部に表示させるステップと
を含む制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理システム、及び制御方法に関する。
【背景技術】
【0002】
近年、パーソナルコンピュータなどの情報処理装置では、手書き入力を行う入力デバイスを備えるものがある。このような入力デバイスでは、入力に対する表示の遅れを低減するために、予測した入力を表示する技術が知られている(例えば、特許文献1を参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許第9529525号明細書
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の情報処理装置では、上述したような手書き入力を予測する処理を、OS(オペレーティングシステム)上で実行されるアプリケーションプログラム(以下アプリケーションという)により実行している。そのため、従来の情報処理装置では、アプリケーションに依存して、入力に対する表示の遅延が大きい場合があった。
【0005】
本発明は、上記問題を解決すべくなされたもので、その目的は、手書き入力において、アプリケーションに依存せずに、入力に対する表示の遅延を低減することができる情報処理装置、情報処理システム、及び制御方法を提供することにある。
【課題を解決するための手段】
【0006】
上記問題を解決するために、本発明の一態様は、表示部と、前記表示部の画面上に配置され、前記画面上における物体との接触を検出するタッチセンサ部と、OS(オペレーティングシステム)に基づく処理を実行するメイン制御部と、前記メイン制御部とは異なる組込み制御部であって、操作媒体が前記画面上に接触することで、前記タッチセンサ部によって所定の検出間隔で検出された前記画面上の複数の検出位置データに基づいて、次回の検出位置データを予測し、予測した前記次回の検出位置データを、前記タッチセンサ部が検出した検出位置データとして、前記メイン制御部に出力する組込み制御部とを備え、前記メイン制御部は、前記組込み制御部が出力した前記検出位置データに基づいて、前記操作媒体が前記画面上に接触して移動した前記画面上の移動軌跡を、前記表示部に表示させる情報処理装置である。
【0007】
また、本発明の一態様は、上記の情報処理装置において、前記組込み制御部は、予め定められた実行可否条件に応じて、予測した前記次回の検出位置データを前記検出位置データとして出力するか否かを切り替えるようにしてもよい。
【0008】
また、本発明の一態様は、上記の情報処理装置において、前記実行可否条件には、前記複数の検出位置データにおける検出位置間の距離が、所定の閾値距離以上である場合が含まれ、前記組込み制御部は、前記検出位置間の距離が所定の閾値距離以上である場合に、予測した前記次回の検出位置データを前記検出位置データとして出力するようにしてもよい。
【0009】
また、本発明の一態様は、上記の情報処理装置において、前記実行可否条件には、前記複数の検出位置データに基づく前記所定の検出間隔における前記操作媒体の移動角度変化が、所定の閾値以上である場合が含まれ、前記組込み制御部は、前記移動角度変化が前記所定の閾値以上である場合に、前記タッチセンサ部が検出した最新の検出位置データを前記検出位置データとして出力し、予測した前記次回の検出位置データを前記検出位置データとして出力しないようにしてもよい。
【0010】
また、本発明の一態様は、上記の情報処理装置において、前記タッチセンサ部は、前記検出位置データとともに、前記操作媒体が前記画面上に接触した接触圧力を検出し、前記実行可否条件には、前記複数の検出位置データに対応する前記接触圧力の低下が、所定の基準値以上である場合が含まれ、前記組込み制御部は、接触圧力の低下が前記所定の基準値以上である場合に、前記タッチセンサ部が検出した最新の検出位置データを前記検出位置データとして出力し、予測した前記次回の検出位置データを前記検出位置データとして出力しないようにしてもよい。
【0011】
また、本発明の一態様は、上記の情報処理装置において、前記メイン制御部は、前記OS上で実行されるアプリケーションを監視し、前記アプリケーションの内部で次回の検出位置データの予測を行う前記アプリケーションが起動された場合に、前記次回の検出位置データを予測する予測処理を制限する通知を、前記組込み制御部に送信し、前記組込み制御部は、前記予測処理を制限する通知に応じて、前記予測処理を制限するようにしてもよい。
【0012】
また、本発明の一態様は、上記の情報処理装置において、前記予測処理を制限する通知には、前記予測処理を停止する通知が含まれ、前記組込み制御部は、前記予測処理の機能を停止する通知に応じて、前記予測処理を停止し、前記タッチセンサ部が検出した最新の検出位置データを前記検出位置データとして出力するようにしてもよい。
【0013】
また、本発明の一態様は、表示部と、前記表示部の画面上に配置され、前記画面上における物体との接触を検出するタッチセンサ部と、OS(オペレーティングシステム)に基づく処理を実行するメイン制御部と、前記メイン制御部とは異なる組込み制御部であって、操作媒体が前記画面上に接触することで、前記タッチセンサ部によって所定の検出間隔で検出された前記画面上の複数の検出位置データに基づいて、次回の検出位置データを予測し、予測した前記次回の検出位置データを、前記タッチセンサ部が検出した検出位置データとして、前記メイン制御部に出力する組込み制御部とを備え、前記メイン制御部は、前記組込み制御部が出力した前記検出位置データに基づいて、前記操作媒体が前記画面上に接触して移動した前記画面上の移動軌跡を、前記表示部に表示させる情報処理システムである。
【0014】
また、本発明の一態様は、表示部と、前記表示部の画面上に配置され、前記画面上における物体との接触を検出するタッチセンサ部と、OS(オペレーティングシステム)に基づく処理を実行するメイン制御部と、前記メイン制御部とは異なる組込み制御部とを備える情報処理装置の制御方法であって、前記組込み制御部が、操作媒体が前記画面上に接触することで、前記タッチセンサ部によって所定の検出間隔で検出された前記画面上の複数の検出位置データに基づいて、次回の検出位置データを予測し、予測した前記次回の検出位置データを、前記タッチセンサ部が検出した検出位置データとして、前記メイン制御部に出力するステップと、前記メイン制御部は、前記組込み制御部が出力した前記検出位置データに基づいて、前記操作媒体が前記画面上に接触して移動した前記画面上の移動軌跡を、前記表示部に表示させるステップとを含む制御方法である。
【発明の効果】
【0015】
本発明の上記態様によれば、手書き入力において、アプリケーションに依存せずに、入力に対する表示の遅延を低減することができる。
【図面の簡単な説明】
【0016】
図1】第1の実施形態によるノートPCの主要なハードウェア構成の一例を示す図である。
図2】第1の実施形態によるノートPCの機能構成の一例を示すブロック図である。
図3】第1の実施形態におけるアプリケーション情報記憶部のデータ例を示す図である。
図4】第1の実施形態における検出位置間の距離の一例を説明する図である。
図5】第1の実施形態における検出位置の角度変化の一例を説明する図である。
図6】第1の実施形態における検出位置の角度変化と予測処理の関係を示す図である。
図7】第1の実施形態における検出位置と圧力との関係を示す第1の図である。
図8】第1の実施形態における検出位置と圧力との関係を示す第2の図である。
図9】第1の実施形態におけるメイン制御部の動作の一例を示すフローチャートである。
図10】第1の実施形態におけるエンベデッドコントローラの動作の一例を示すフローチャートである。
図11】第1の実施形態における手書き入力の予測処理の動作の一例を示す図である。
図12】第2の実施形態によるノートPCの機能構成の一例を示すブロック図である。
図13】第2の実施形態におけるアプリケーション情報記憶部のデータ例を示す図である。
図14】第2の実施形態におけるメイン制御部の動作の一例を示すフローチャートである。
図15】第2の実施形態におけるエンベデッドコントローラの動作の一例を示すフローチャートである。
図16】第3の実施形態によるPCシステムの主要なハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0017】
以下、本発明の一実施形態による情報処理装置、情報処理システム、及び制御方法について、図面を参照して説明する。
【0018】
[第1の実施形態]
図1は、第1の実施形態によるノートPC1(ノートブック型パーソナルコンピュータ)の主要なハードウェア構成の一例を示す図である。なお、本実施形態において、情報処理装置の一例として、ノートPC1について説明する。
【0019】
図1に示すように、ノートPC1は、CPU11と、メインメモリ12と、ビデオサブシステム13と、表示部14と、チップセット21と、BIOSメモリ22と、HDD23と、USBコネクタ24と、オーディオシステム25と、WLANカード26と、エンベデッドコントローラ31と、キー入力部32と、ポインティングデバイス33と、電源回路34と、タッチセンサ部35とを備える。
【0020】
CPU(Central Processing Unit)11は、プログラム制御により種々の演算処理を実行し、ノートPC1全体を制御する。
メインメモリ12は、CPU11の実行プログラムの読み込み領域として、又は、実行プログラムの処理データを書き込む作業領域として利用される書き込み可能メモリである。メインメモリ12は、例えば、複数個のDRAM(Dynamic Random Access Memory)チップで構成される。この実行プログラムには、OS(Operating System:オペレーティングシステム)、周辺機器類をハードウェア操作するための各種デバイスドライバ、各種サービス/ユーティリティ、アプリケーションプログラム等が含まれる。
【0021】
ビデオサブシステム13は、画像表示に関連する機能を実現するためのサブシステムであり、ビデオコントローラを含んでいる。このビデオコントローラは、CPU11からの描画命令を処理し、処理した描画情報をビデオメモリに書き込むとともに、ビデオメモリからこの描画情報を読み出して、表示部14に描画データ(表示データ)として出力する。
【0022】
表示部14は、例えば、液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイであり、ノートPC1のメイン画面として、ビデオサブシステム13から出力された描画データ(表示データ)に基づく表示画面を表示する。
【0023】
チップセット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に接続されている。
【0024】
BIOS(Basic Input Output System)メモリ22は、例えば、EEPROM(Electrically Erasable Programmable Read Only Memory)やフラッシュROMなどの電気的に書き換え可能な不揮発性メモリで構成される。BIOSメモリ22は、BIOS、及びエンベデッドコントローラ31などを制御するためのシステムファームウェアなどを記憶する。
【0025】
HDD(Hard Disk Drive)23(不揮発性記憶装置の一例)は、OS、各種ドライバ、各種サービス/ユーティリティ、アプリケーションプログラム、及び各種データを記憶する。
USBコネクタ24は、USBを利用した周辺機器類を接続するためのコネクタである。
【0026】
オーディオシステム25は、音データの記録、再生、出力を行う。
WLAN(Wireless Local Area Network)カード26は、ワイヤレス(無線)LANにより、ネットワークに接続して、データ通信を行う。
【0027】
エンベデッドコントローラ31(組込み制御部の一例)は、ノートPC1のシステム状態に関わらず、各種デバイス(周辺装置やセンサ等)を監視し制御するワンチップマイコン(One-Chip Microcomputer)である。また、エンベデッドコントローラ31は、電源回路34を制御する電源管理機能を有している。なお、エンベデッドコントローラ31は、不図示のCPU、ROM、RAMなどで構成されるとともに、複数チャネルのA/D入力端子、D/A出力端子、タイマ、及びデジタル入出力端子を備えている。エンベデッドコントローラ31には、それらの入出力端子を介して、例えば、キー入力部32、ポインティングデバイス33、電源回路34、及びタッチセンサ部35などが接続されており、エンベデッドコントローラ31は、これらの動作を制御する。
【0028】
キー入力部32は、例えば、キーボードやタッチパネルなどの入力デバイスであり、利用者からのキー入力を受け付ける。また、ポインティングデバイス33は、マウスやタッチパッドなどの入力デバイスであり、主に表示画面上の位置の指定や、操作ボタンなどの操作対象(オブジェクト)の指定又は選択などを受け付ける。
【0029】
電源回路34は、例えば、DC/DCコンバータ、充放電ユニット、電池ユニット、AC/DCアダプタなどを含んでおり、AC/DCアダプタ、又は電池ユニットから供給される直流電圧を、ノートPC1を動作させるために必要な複数の電圧に変換する。また、電源回路34は、エンベデッドコントローラ31からの制御に基づいて、ノートPC1の各部に電力を供給する。
【0030】
なお、本実施形態において、上述したCPU11及びチップセット21は、メイン制御部10に対応する。メイン制御部10は、OS(例えば、Windows(登録商標))に基づく処理を実行する。
【0031】
また、表示部14と、タッチセンサ部35とは、タッチスクリーン20に対応する。
タッチセンサ部35は、例えば、タッチパネルなどの入力デバイスであり、表示部14と重ねて配置されている。タッチセンサ部35は、表示部14の画面上に配置され、表示部14の画面上における物体との接触を検出する。タッチセンサ部35は、例えば、ペンなどの操作媒体が画面上に接触することで、表示部14の画面上の位置を示す検出位置データと、操作媒体が画面上に接触した接触圧力を検出する。
【0032】
次に、図2を参照して、本実施形態によるノートPC1の機能構成について説明する。
図2は、本実施形態によるノートPC1の機能構成の一例を示すブロック図である。
図2に示すように、ノートPC1は、メイン制御部10と、タッチスクリーン20と、エンベデッドコントローラ(EC)31と、メイン記憶部40とを備える。なお、図2において、ノートPC1の構成として、本実施形態の発明に関する主要な機能構成のみを記載している。
【0033】
メイン記憶部40は、メインメモリ12、又はHDD23などにより実現される記憶部であり、ノートPC1が利用する各種情報を記憶する。メイン記憶部40は、アプリケーション情報記憶部41を備える。
【0034】
アプリケーション情報記憶部41は、OS上で実行されるアプリケーションに関する情報を記憶する。ここで、図3を参照して、アプリケーション情報記憶部41のデータ例について説明する。
【0035】
図3は、本実施形態におけるアプリケーション情報記憶部41のデータ例を示す図である。
図3に示すように、アプリケーション情報記憶部41は、APIDと、AP名と、予測機能とを対応付けて記憶する。ここで、APIDは、アプリケーションを識別する識別情報であり、アプリケーションIDである。また、AP名は、アプリケーション名を示している。また、予測機能は、アプリケーションが、ペン入力処理(手書き入力処理)を行う場合に、アプリケーションの内部で、検出位置データの予測処理を実行する機能があるか否かを示している。予測機能が“有り”の場合に、アプリケーションの内部で検出位置データの予測処理を実行することを示し、予測機能が“無し”の場合に、アプリケーションの内部で検出位置データの予測処理を実行しないことを示している。
【0036】
例えば、図3に示す例では、APID及びAP名が、“AP001”及び“XYZ”であるアプリケーションは、予測機能が“有り”(予測処理を実行する)ことを示している。また、APID及びAP名が、“AP002”及び“ZZZZ”であるアプリケーションは、予測機能が“無し”(予測処理を実行しない)ことを示している。
【0037】
図2の説明に戻り、メイン制御部10は、CPU11及びチップセット21が、メインメモリ12が記憶するプログラムを実行することで実現される機能部であり、OSに基づく各種処理を実行する。メイン制御部10は、例えば、エンベデッドコントローラ31が出力した検出位置データに基づいて、ペンなどの操作媒体が画面上に接触して移動した画面上の移動軌跡を、表示部14に表示させる。また、メイン制御部10は、ペン入力ドライバ101と、ペン入力設定部102と、アプリケーション管理部103と、アプリケーション104とを備える。
【0038】
ペン入力ドライバ101は、CPU11とチップセット21とにより実現される機能部であり、タッチスクリーン20によるペン入力処理(手書き入力処理)を制御する。ペン入力ドライバ101は、エンベデッドコントローラ31から、タッチセンサ部35が検出した表示部14の画面上の検出位置データを取得し、アプリケーション104に出力する。
【0039】
ペン入力設定部102は、利用者からの変更要求に応じて、例えば、後述する位置検出データの予測処理の設定(例えば、許可や無効、及び予測処理のパラメータやレベル設定など)の変更を、エンベデッドコントローラ31に送信する。
【0040】
アプリケーション管理部103は、OS上で実行されるアプリケーションを監視し、アプリケーションの内部で検出位置データの予測処理(例えば、次回の検出位置データの予測)を行うアプリケーションが起動された場合に、予測処理を制限する通知を、エンベデッドコントローラ31に送信する。アプリケーション管理部103は、OS上で実行されるアプリケーションの起動があった場合に、上述したアプリケーション情報記憶部41を参照して、起動したアプリケーション(APID及びAP名)に対応する予測機能を確認し、予測機能が“有り”である場合に、予測処理を停止する通知(例えば、予測処理を無効にする無効通知)をエンベデッドコントローラ31に送信する。
【0041】
また、アプリケーション管理部103は、アプリケーション情報記憶部41を参照して、起動したアプリケーション(APID及びAP名)に対応する予測機能を確認し、予測機能が“無し”である場合に、予測処理を動作させる通知(例えば、予測処理を有効にする有効通知)をエンベデッドコントローラ31に送信する。
【0042】
アプリケーション104は、OS上で実行されるアプリケーションであり、例えば、タッチスクリーン20を利用したペン入力処理(手書き入力処理)を実行するアプリケーションである。なお、アプリケーション104は、内部で検出位置データを予測する予測機能を有する場合と、予測機能のない場合とが考えられる。
【0043】
アプリケーション104は、ペン入力ドライバ101を介して、エンベデッドコントローラ31が出力した表示部14の検出位置データを取得し、取得した検出位置データに基づいて、ペンなどの操作媒体が画面上に接触して移動した画面上の移動軌跡を、表示部14に表示させる。
【0044】
エンベデッドコントローラ31は、メイン制御部10とは異なる組込み制御部である。エンベデッドコントローラ31は、ペンなどの操作媒体が表示部14の画面上に接触することで、タッチセンサ部35によって所定の検出間隔で検出された画面上の複数の検出位置データに基づいて、次回の検出位置データを予測する。エンベデッドコントローラ31は、予測した次回の検出位置データを、タッチセンサ部35が検出した検出位置データとして、メイン制御部10に出力する。
また、エンベデッドコントローラ31は、ペン入力バッファ部311と、ペン入力処理部312とを備える。
【0045】
ペン入力バッファ部311は、タッチスクリーン20のタッチセンサ部35が所定の検出間隔で検出した検出位置データを時系列に記憶する。ペン入力バッファ部311は、例えば、位置検出データである表示部14の画面上の2次元座標データと、接触圧力とを対応付けて記憶する。
【0046】
ペン入力処理部312は、タッチセンサ部35によって所定の検出間隔で検出された検出位置データ及び接触圧力をペン入力バッファ部311に記憶させる。
また、ペン入力処理部312は、メイン制御部10のペン入力設定部102による、設定変更要求に応じて、位置検出データの予測処理の設定(例えば、許可や無効、及び予測処理のパラメータやレベル設定など)の変更する。
【0047】
ペン入力処理部312は、ペン入力バッファ部311が記憶する複数の検出位置データに基づいて、次回の検出位置データを予測し、予測した次回の検出位置データを、タッチセンサ部35が検出した検出位置データとして、メイン制御部10に出力する。なお、ペン入力処理部312は、検出位置データの予測処理を行わない場合には、ペン入力バッファ部311が記憶する最新の位置検出データを、タッチセンサ部35が検出した検出位置データとして、メイン制御部10に出力する。ここで、ペン入力処理部312は、以下の予め定められた実行可否条件(クライテリア)に応じて、予測した次回の検出位置データを検出位置データとして出力するか否かを切り替える。すなわち、ペン入力処理部312は、以下の実行可否条件(クライテリア)に応じて、検出位置データの予測処理を行うか否かを切り替える。
【0048】
第1の実行可否条件は、複数の検出位置データにおける検出位置間の距離が、所定の閾値距離以上である場合である。ペン入力処理部312は、ペン入力バッファ部311が記憶する複数の検出位置データにおける検出位置間の距離が、所定の閾値距離以上である場合に、予測処理を実行し、予測した次回の検出位置データを検出位置データとして出力する。ここで、図4を参照して、第1の実行可否条件に関する処理の詳細について説明する。
【0049】
図4は、本実施形態における検出位置間の距離の一例を説明する図である。
図4において、グラフは、表示部14の画面の2次元空間を示しており、ペン入力バッファ部311には、検出位置P(1)~P(4)の検出位置データが記憶されているものとする。
ここでは、検出位置P(i)における検出位置データを、(P(i),P(i))として表している。
【0050】
ペン入力処理部312は、下記の式(1)により、例えば、P(1)~P(4)の検出位置データから、検出位置間の距離Dを生成する。
【0051】
【数1】
【0052】
検出位置間の距離Dは、例えば、ペン入力バッファ部311が記憶する複数(例えば、4個)の検出位置データのトータル移動距離に対応する。
ペン入力処理部312は、式(1)により生成した検出位置間の距離Dが、所定の閾値距離以上(閾値距離Th以上)であるか否かを判定し、検出位置間の距離Dが、所定の閾値距離以上(閾値距離Th以上)である場合に、複数(例えば、4個)の検出位置データに基づいて、次回の検出位置データを予測する予測処理を実行する。この場合、ペン入力処理部312は、予測した次回の検出位置データを、検出位置データとして、メイン制御部10に出力する。
【0053】
なお、ペン入力処理部312は、検出位置間の距離Dが、所定の閾値距離未満(閾値距離Th未満)である場合に、予測処理を実行せずに、ペン入力バッファ部311が記憶する複数(例えば、4個)の検出位置データのうちの最新の検出位置データを、検出位置データとして、メイン制御部10に出力する。
【0054】
また、第2の実行可否条件は、複数の検出位置データに基づく所定の検出間隔における操作媒体の移動角度変化である。ペン入力処理部312は、ペン入力バッファ部311が記憶する複数の検出位置データに基づく、ペンなど操作媒体の移動角度変化が、所定の閾値以上である場合に、タッチセンサ部35が検出した最新の検出位置データを検出位置データとして出力し、予測した次回の検出位置データを検出位置データとして出力しない。ここで、図5及び図6を参照して、第2の実行可否条件に関する処理の詳細について説明する。
【0055】
図5は、本実施形態における検出位置の角度変化の一例を説明する図である。
図5において、角度α~角度αは、検出位置P(1)~P(3)におけるペン入力の角度を表している。
【0056】
ペン入力処理部312は、下記の式(2)により、例えば、角度α~角度αを生成する。また、ペン入力処理部312は、下記の式(3)及び式(4)を用いて、角度変化のバラツキである角度変化の分散VAを生成する。
【0057】
【数2】
【0058】
なお、上述の式(3)及び式(4)において、μは、角度変化の平均値を示し、Δαは、角度変化量(αi+1-α)を示している。また、Nは、検出位置データのサンプル数を示している。
【0059】
ペン入力処理部312は、式(2)~式(4)を用いて生成した角度変化の分散VAが、所定の閾値以上(閾値Thangle以上)であるか否かを判定する。ペン入力処理部312は、角度変化の分散VAが、所定の閾値以上(閾値Thangle以上)である場合に、タッチセンサ部35が検出した最新の検出位置データを検出位置データとして出力し、予測した次回の検出位置データを検出位置データとして出力しない。すなわち、ペン入力処理部312は、検出位置データの角度変化が所定の閾値以上である場合に、予測処理を実行せずに、ペン入力バッファ部311が記憶する複数(例えば、4個)の検出位置データのうちの最新の検出位置データを、検出位置データとして、メイン制御部10に出力する。
【0060】
また、ペン入力処理部312は、角度変化の分散VAが、所定の閾値未満(閾値Thangle未満)である場合に、予測処理を実行し、予測した次回の検出位置データを検出位置データとしてメイン制御部10に出力する。
【0061】
図6は、本実施形態における検出位置の角度変化と予測処理の関係を示す図である。
図6において、×印点は、検出位置データの実測データを示し、黒丸点は、予測処理による予測データを示している。ペン入力における範囲A1に示すように、角度変化が大きい場合に、予測データ(黒丸点)が、実測データ(×印点)から大きく外れることが考えられることから、本実施形態におけるペン入力処理部312は、角度変化の分散VAが、所定の閾値以上(閾値Thangle以上)である場合に、予測処理の実行を停止する。
【0062】
また、第3の実行可否条件は、複数の検出位置データに対応する接触圧力の低下が、所定の基準値以上である場合である。ペン入力処理部312は、接触圧力の低下が所定の基準値以上である場合に、タッチセンサ部35が検出した最新の検出位置データを検出位置データとして出力し、予測した次回の検出位置データを検出位置データとして出力しない。ここで、図7及び図8を参照して、第3の実行可否条件に関する処理の詳細について説明する。
【0063】
図7及び図8は、本実施形態における検出位置と圧力との関係を示す図である。図7に示すペン入力の例は、反時計回りに円状にペン入力を行った場合の検出位置を示している。また、図8に示すグラフは、図7に示すペン入力に対応する接触圧力を示している。図8に示すグラフに示すように、図7に示す円状にペン入力を行った終点部分の範囲A2において、接触圧力が低下している。このように、ペン入力の終点部分において、接触圧力が低下することから、ペン入力処理部312は、接触圧力の低下が所定の基準値以上である場合に、ペン入力の終点部分と判定して、検出位置データの予測処理の実行を停止する。
【0064】
具体的に、ペン入力処理部312は、下記の式(5)により、例えば、ペン入力バッファ部311が記憶する複数の接触圧力値Aから接触圧力低下の平均値Adiffを生成する。
【0065】
【数3】
【0066】
ペン入力処理部312は、式(5)により生成した接触圧力低下の平均値Adiffが、所定の基準値以上であるか否かを判定する。ペン入力処理部312は、接触圧力低下の平均値Adiffが、所定の基準値以上である場合に、ペン入力の終点付近であると判定して、予測処理を停止し、ペン入力バッファ部311が記憶する複数(例えば、4個)の検出位置データのうちの最新の検出位置データを、検出位置データとして、メイン制御部10に出力する。
【0067】
また、ペン入力処理部312は、接触圧力低下の平均値Adiffが、所定の基準値未満である場合に、予測処理を実行し、予測した次回の検出位置データを検出位置データとしてメイン制御部10に出力する。
このように、ペン入力処理部312は、上述した第1の実行可否条件~第3の実行可否条件などの実行可否条件に応じて、予測処理を実行して、予測した次回の検出位置データを検出位置データとして出力するか否かを切り替える。
【0068】
また、ペン入力処理部312は、予測処理を制限する通知に応じて、予測処理を制限する。例えば、予測処理を制限する通知には、予測処理を停止する通知(予測無効通知)が含まれる。エンベデッドコントローラ31は、メイン制御部10から受信した予測処理の機能を停止する通知(予測無効通知)に応じて、予測処理を停止し、タッチセンサ部35が検出した最新の検出位置データを検出位置データとして出力する。すなわち、ペン入力処理部312は、例えば、アプリケーション104が、内部で検出位置データの予測機能を有している場合に、予測処理の重複を回避するために、予測処理を停止する。
【0069】
次に、図面を参照して、本実施形態によるノートPC1の動作について説明する。
図9は、本実施形態におけるメイン制御部10の動作の一例を示すフローチャートである。ここでは、図9を参照して、メイン制御部10がアプリケーションを監視して、エンベデッドコントローラ31側で、検出位置データの予測処理を行うか否かを指示する通知を送信する処理について説明する。
【0070】
図9に示すように、メイン制御部10は、まず、実行されるアプリケーションがあるか否かを判定する(ステップS101)。メイン制御部10のアプリケーション管理部103は、OS上で実行されるアプリケーションを監視し、実行されるアプリケーションがあるか否かを判定する。アプリケーション管理部103は、実行されるアプリケーションがある(起動されるアプリケーションがある)場合(ステップS101:YES)に、処理をステップS102に進める。また、アプリケーション管理部103は、実行されるアプリケーションがない(起動されるアプリケーションがない)場合(ステップS101:NO)に、処理をステップS101に戻す。
【0071】
ステップS102において、アプリケーション管理部103は、実行(起動)されるアプリケーション(例えば、アプリケーション104)に、検出位置データの予測機能があるか否かを判定する。ここで、アプリケーション管理部103は、図3に示すようなアプリケーション情報記憶部41を参照して、検出位置データの予測機能があるか否かを判定する。アプリケーション管理部103は、実行(起動)されるアプリケーション104に予測機能がある場合(ステップS102:YES)に、処理をステップS103に進める。また、アプリケーション管理部103は、実行(起動)されるアプリケーション104に予測機能がない場合(ステップS102:NO)に、処理をステップS104に進める。
【0072】
ステップS103において、アプリケーション管理部103は、エンベデッドコントローラ31での予測処理を無効にする無効通知(予測無効通知)を、エンベデッドコントローラ31に送信する。ステップS103の処理後に、アプリケーション管理部103は、処理をステップS101に戻す。
【0073】
また、ステップS104において、アプリケーション管理部103は、エンベデッドコントローラ31での予測処理を有効にする有効通知を、エンベデッドコントローラ31に送信する。ステップS103の処理後に、アプリケーション管理部103は、処理をステップS101に戻す。
【0074】
次に、図10を参照して、本実施形態におけるエンベデッドコントローラ31の動作について説明する。
図10は、本実施形態におけるエンベデッドコントローラ31の動作の一例を示すフローチャートである。なお、ここでは、操作媒体としてペンを用いて、タッチスクリーン20にペン入力を行う場合の一例について説明する。
【0075】
図10に示すように、エンベデッドコントローラ31は、まず、タッチセンサ部35にペンの接触があるか否かを判定する(ステップS201)。エンベデッドコントローラ31のペン入力処理部312は、タッチセンサ部35にペンの接触があるか否かを判定する。ペン入力処理部312は、タッチセンサ部35にペンの接触がある場合(ステップS201:YES)に、処理をステップS202に進める。また、ペン入力処理部312は、タッチセンサ部35にペンの接触がない場合(ステップS201:NO)に、処理をステップS201に戻す。
【0076】
ステップS202において、ペン入力処理部312は、検出位置データ及び圧力値(接触圧力値)をタッチセンサ部35から受信する。
次に、ペン入力処理部312は、受信した検出位置データ及び圧力値をペン入力バッファ部311に記憶させる(ステップS203)。
【0077】
次に、ペン入力処理部312は、予測検出の基準(実行可否条件)をチェックする(ステップS204)。ペン入力処理部312は、例えば、上述した第1の実行可否条件~第3の実行可否条件の3つの実行可否条件に応じて、検出位置データの予測処理(予測検出)を実行するか否かを確認する。
【0078】
次に、ペン入力処理部312は、予測検出を実行するのか否かを判定する(ステップS205)。ペン入力処理部312は、第1の実行可否条件~第3の実行可否条件に応じて、検出位置データの予測処理を実行するか否かを判定する。ペン入力処理部312は、検出位置データの予測処理を実行する場合(ステップS205:YES)に、処理をステップS206に進める。また、ペン入力処理部312は、検出位置データの予測処理を実行しない場合(ステップS205:NO)に、処理をステップS208に進める。
【0079】
ステップS206において、ペン入力処理部312は、次回の検出位置データの予測処理を実行する。ペン入力処理部312は、ペン入力バッファ部311が記憶する複数の検出位置データに基づいて、次回の検出位置データ(表示部14の画面上の座標データ)を生成する。
【0080】
次に、ペン入力処理部312は、予測無効通知を受信したか否かを判定する(ステップS207)。ペン入力処理部312は、例えば、メイン制御部10から直前に予測無効通知を受信している場合に予測無効通知を受信したと判定し、メイン制御部10から直前に予測有効通知を受信している場合に予測無効通知を受信していないと判定する。ペン入力処理部312は、予測無効通知を受信した場合(ステップS207:YES)に、処理をステップS208に進める。また、ペン入力処理部312は、予測無効通知を受信していない場合(ステップS207:NO)に、処理をステップS209に進める。
【0081】
ステップS208において、ペン入力処理部312は、最新の検出位置データを検出位置データとしてメイン制御部10に出力する。すなわち、ペン入力処理部312は、ペン入力バッファ部311が記憶する複数の検出位置データのうちの最新の検出位置データを、メイン制御部10に出力する。ステップS208の処理後に、ペン入力処理部312は、処理をステップS201に戻す。
【0082】
また、ステップS209において、ペン入力処理部312は、予測した検出位置データを検出位置データとしてメイン制御部10に出力する。なお、予測処理が有効になった直後などである場合には、ペン入力処理部312は、ペン入力バッファ部311が記憶する複数の検出位置データのうちの最新の検出位置データと、予測した検出位置データとを、検出位置データとしてメイン制御部10に出力する。ステップS209の処理後に、ペン入力処理部312は、処理をステップS201に戻す。
【0083】
図11は、本実施形態における手書き入力の予測処理の動作の一例を示す図である。
図11(a)は、エンベデッドコントローラ31による検出位置データの予測処理を実行しない場合のペン入力の表示例を示している。図11(a)において、表示線L1は、タッチスクリーン20の画面上を、ペンで移動した軌跡の線を示しており、実際のペンの位置と、最新の表示線L1の表示位置との間にタイムラグとして、距離ΔL1が生じている。
【0084】
また、図11(b)は、エンベデッドコントローラ31による検出位置データの予測処理を実行した場合のペン入力の表示例を示している。図11(b)において、表示線L1は、タッチスクリーン20の画面上を、ペンで移動した軌跡の線を示しており、実際のペンの位置と、最新の表示線L2の表示位置との間にタイムラグとして、距離ΔL2が生じている。図11(b)に示す例では、距離PDの部分を、エンベデッドコントローラ31が、予測処理により生成しており、タイムラグである距離ΔL2は、図11(a)に示す予測処理を実行しない場合の距離ΔL1に比べて、短くなり、表示の遅延を低減することができる。
【0085】
以上説明したように、本実施形態によるノートPC1(情報処理装置)は、表示部14と、タッチセンサ部35と、メイン制御部10と、エンベデッドコントローラ31(組込み制御部)とを備える。タッチセンサ部35は、表示部14の画面上に配置され、表示部14の画面上における物体との接触を検出する。メイン制御部10は、OSに基づく処理を実行する。エンベデッドコントローラ31は、メイン制御部10とは異なる組込み制御部であって、操作媒体(例えば、ペンや指)が画面上に接触することで、タッチセンサ部35によって所定の検出間隔で検出された画面上の複数の検出位置データに基づいて、次回の検出位置データを予測し、予測した次回の検出位置データを、タッチセンサ部35が検出した検出位置データとして、メイン制御部10に出力する。メイン制御部10は、エンベデッドコントローラ31が出力した検出位置データに基づいて、操作媒体(例えば、ペンや指)が画面上に接触して移動した画面上の移動軌跡を、表示部14に表示させる。
【0086】
これにより、本実施形態によるノートPC1は、メイン制御部10とは異なる組込み制御部であるエンベデッドコントローラ31が、検出位置データの予測を行い、OS側(メイン制御部10)で検出位置データの予測を行う必要がない。そのため、本実施形態によるノートPC1は、手書き入力において、OS上で実行されるアプリケーションに依存せずに、入力に対する表示の遅延を低減することができる。
【0087】
また、本実施形態では、エンベデッドコントローラ31は、予め定められた実行可否条件(例えば、上述した第1の実行可否条件~第3の実行可否条件)に応じて、予測した次回の検出位置データを検出位置データとして出力するか否かを切り替える。すなわち、エンベデッドコントローラ31は、実行可否条件(例えば、上述した第1の実行可否条件~第3の実行可否条件)に応じて、予測処理を実行するか否かを切り替える。
【0088】
これにより、本実施形態によるノートPC1は、実行可否条件に応じて適切に予測処理を実行するか否かを切り替えることができ、例えば、予測処理の効果の大きい場合に予測処理を実行し、予測処理の効果の小さい、又は予測精度が低い場合などに、予測処理を実行しないようにすることができる。よって、本実施形態によるノートPC1は、適切に予測処理を利用することができる。
【0089】
また、本実施形態では、実行可否条件には、複数の検出位置データにおける検出位置間の距離が、所定の閾値距離以上である場合(第1の実行可否条件)が含まれる。エンベデッドコントローラ31は、検出位置間の距離が所定の閾値距離以上である場合に、予測した次回の検出位置データを検出位置データとして出力する。
これにより、本実施形態によるノートPC1は、検出位置間の距離が大きい場合に、適切に予測処理を実行することができる。
【0090】
また、本実施形態では、実行可否条件には、複数の検出位置データに基づく所定の検出間隔における操作媒体の移動角度変化が、所定の閾値以上である場合(第2の実行可否条件)が含まれる。エンベデッドコントローラ31は、移動角度変化が所定の閾値以上である場合に、タッチセンサ部35が検出した最新の検出位置データを検出位置データとして出力し、予測した次回の検出位置データを検出位置データとして出力しない。
これにより、本実施形態によるノートPC1は、手書き入力において、例えば、大きく描画角度が変化する場合など、予測精度が低い場合に、予測処理を実行せずに、適切に対応することができる。
【0091】
また、本実施形態では、タッチセンサ部35は、検出位置データとともに、操作媒体が画面上に接触した接触圧力を検出する。実行可否条件には、複数の検出位置データに対応する接触圧力の低下が、所定の基準値以上である場合(第3の実行可否条件)が含まれる。エンベデッドコントローラ31は、接触圧力の低下が、所定の基準値以上である場合に、タッチセンサ部35が検出した最新の検出位置データを検出位置データとして出力し、予測した次回の検出位置データを検出位置データとして出力しない。
これにより、本実施形態によるノートPC1は、手書き入力(ペン入力)において、例えば、接触圧力の低下が大きくなる終点付近など、予測精度が低い場合に、予測処理を実行せずに、適切に対応することができる。
【0092】
また、本実施形態では、メイン制御部10は、OS上で実行されるアプリケーションを監視し、アプリケーションの内部で次回の検出位置データの予測を行うアプリケーションが起動された場合に、次回の検出位置データを予測する予測処理を制限する通知を、エンベデッドコントローラ31に送信する。エンベデッドコントローラ31は、予測処理を制限する通知に応じて、予測処理を制限する。
【0093】
これにより、本実施形態によるノートPC1は、アプリケーションに応じて、予測処理を制限することができ、例えば、アプリケーションの内部で、予測処理を実行するような場合であっても、適切な手書き入力(ペン入力)を実現することができる。
【0094】
また、本実施形態では、予測処理を制限する通知には、予測処理を停止する通知が含まれる。エンベデッドコントローラ31は、予測処理の機能を停止する通知(予測無効通知)に応じて、予測処理を停止し、タッチセンサ部35が検出した最新の検出位置データを検出位置データとして出力する。
【0095】
これにより、本実施形態によるノートPC1は、例えば、エンベデッドコントローラ31と、アプリケーション(例えば、アプリケーション104)とで、重複して検出位置データの予測処理を実行して、手書き入力(ペン入力)の表示に異常が生じることを抑制あうることができる。
【0096】
また、本実施形態による制御方法は、表示部14と、表示部14の画面上に配置され、画面上における物体との接触を検出するタッチセンサ部35と、OSに基づく処理を実行するメイン制御部10と、メイン制御部10とは異なるエンベデッドコントローラ31とを備えるノートPC1(情報処理装置)の制御方法であって、第1のステップと、第2のステップとを含む。第1のステップにおいて、エンベデッドコントローラ31が、操作媒体が画面上に接触することで、タッチセンサ部35によって所定の検出間隔で検出された画面上の複数の検出位置データに基づいて、次回の検出位置データを予測し、予測した次回の検出位置データを、タッチセンサ部35が検出した検出位置データとして、メイン制御部10に出力する。第2のステップにおいて、メイン制御部10は、エンベデッドコントローラ31が出力した検出位置データに基づいて、操作媒体が画面上に接触して移動した画面上の移動軌跡を、表示部14に表示させる。
【0097】
これにより、本実施形態による制御方法は、上述したノートPC1と同様の効果を奏し、手書き入力において、OS上で実行されるアプリケーションに依存せずに、入力に対する表示の遅延を低減することができる。
【0098】
[第2の実施形態]
次に、図面を参照して、第2の実施形態によるノートPC1aについて説明する。
本実施形態では、アプリケーションに応じて、予測処理の設定を変更する場合の変形例について説明する。
【0099】
図12は、第2の実施形態によるノートPC1aの機能構成の一例を示すブロック図である。なお、本実施形態によるノートPC1aの主要なハード構成は、上述した図1に示す第1の実施形態と同様であるため、ここではその説明を省略する。
【0100】
図12に示すように、ノートPC1aは、メイン制御部10aと、タッチスクリーン20と、エンベデッドコントローラ(EC)31aと、メイン記憶部40aとを備える。なお、図12において、ノートPC1aの構成として、本実施形態の発明に関する主要な機能構成のみを記載している。
なお、図12において、図2に示す第1の実施形態のノートPC1の構成と同一の構成には、同一の符号を付与してその説明を省略する。
【0101】
メイン記憶部40aは、メインメモリ12、又はHDD23などにより実現される記憶部であり、ノートPC1aが利用する各種情報を記憶する。メイン記憶部40aは、アプリケーション情報記憶部41aを備える。
【0102】
アプリケーション情報記憶部41aは、OS上で実行されるアプリケーションに関する情報を記憶する。ここで、図13を参照して、アプリケーション情報記憶部41aのデータ例について説明する。
【0103】
図13は、本実施形態におけるアプリケーション情報記憶部41aのデータ例を示す図である。
図13に示すように、アプリケーション情報記憶部41aは、APIDと、AP名と、予測設定とを対応付けて記憶する。ここで、APIDは、アプリケーションを識別する識別情報であり、アプリケーションIDである。また、AP名は、アプリケーション名を示している。また、予測設定は、アプリケーションを実行する際の、エンベデッドコントローラ31aにおける予測処理の設定を示している。
【0104】
例えば、予測設定が“弱”である場合には、エンベデッドコントローラ31aにおける予測処理の設定を弱い設定(例えば、短い距離の予測を行うなど)を示し、予測設定が“強”である場合には、エンベデッドコントローラ31aにおける予測処理の設定を強い設定(例えば、長い距離の予測を行うなど)を示している。また、予測設定が“無効”である場合には、予測処理を無効にして、予測処理を実行しないことを示している。
【0105】
例えば、図13に示す例では、APID及びAP名が、“AP001”及び“XYZ”であるアプリケーションは、予測設定が“弱”(短距離の予測処理)ことを示している。また、APID及びAP名が、“AP002”及び“ZZZZ”であるアプリケーションは、予測設定が“強”(長距離の予測処理)ことを示している。また、APID及びAP名が、“AP003”及び“ABCD”であるアプリケーションは、予測設定が“無効” (予測処理を実行しない)ことを示している。
【0106】
図12の説明に戻り、メイン制御部10aは、CPU11及びチップセット21が、メインメモリ12が記憶するプログラムを実行することで実現される機能部であり、OSに基づく各種処理を実行する。メイン制御部10aの基本的な機能は、第1の実施形態のメイン制御部10と同様である。メイン制御部10aは、ペン入力ドライバ101と、ペン入力設定部102aと、アプリケーション管理部103aと、アプリケーション104とを備える。
【0107】
ペン入力設定部102aの基本的な機能は、第1の実施形態のペン入力設定部102と同様である。ペン入力設定部102aは、利用者からの変更要求に応じて、例えば、予測処理の設定(例えば、許可や無効、及び予測処理のパラメータや上述した“強”、“弱”などのレベル設定など)の変更を、エンベデッドコントローラ31aに送信する。
【0108】
アプリケーション管理部103aの基本的な機能は、第1の実施形態のアプリケーション管理部103と同様である。アプリケーション管理部103aは、OS上で実行されるアプリケーションの起動があった場合に、上述したアプリケーション情報記憶部41aを参照して、起動したアプリケーション(APID及びAP名)に対応する予測設定を確認し、予測設定に対応した設定情報を通知して、予測処理の設定を変更する通知(例えば、設定変更通知)をエンベデッドコントローラ31aに送信する。
【0109】
エンベデッドコントローラ31aは、メイン制御部10aとは異なる組込み制御部であり、エンベデッドコントローラ31aの基本的な機能は、第1の実施形態のエンベデッドコントローラ31と同様である。エンベデッドコントローラ31aは、ペン入力バッファ部311と、ペン入力処理部312aとを備える。
【0110】
ペン入力処理部312aの基本的な機能は、第1の実施形態のペン入力処理部312と同様である。ペン入力処理部312は、メイン制御部10のペン入力設定部102による設定変更要求、又は、アプリケーション管理部103aによる設定変更通知により設定された設定により、位置検出データの予測処理を実行する。ペン入力処理部312aは、アプリケーション管理部103aによる設定変更通知により、アプリケーション104に応じた設定変更に対応した予測処理を実行する点が、第1の実施形態のペン入力処理部312と異なる。ペン入力処理部312aのその他の機能は、第1の実施形態のペン入力処理部312と同様であるため、ここではその説明を省略する。
【0111】
次に、図面を参照して、本実施形態によるノートPC1aの動作について説明する。
図14は、本実施形態におけるメイン制御部10aの動作の一例を示すフローチャートである。ここでは、図14を参照して、メイン制御部10aがアプリケーションを監視して、エンベデッドコントローラ31a側行う、検出位置データの予測処理を設定情報を指示する通知を送信する処理について説明する。
【0112】
図14に示すように、メイン制御部10aは、まず、実行されるアプリケーションがあるか否かを判定する(ステップS301)。メイン制御部10aのアプリケーション管理部103aは、OS上で実行されるアプリケーションを監視し、実行されるアプリケーションがあるか否かを判定する。アプリケーション管理部103aは、実行されるアプリケーションがある(起動されるアプリケーションがある)場合(ステップS301:YES)に、処理をステップS302に進める。また、アプリケーション管理部103aは、実行されるアプリケーションがない(起動されるアプリケーションがない)場合(ステップS301:NO)に、処理をステップS301に戻す。
【0113】
ステップS102において、アプリケーション管理部103aは、アプリケーションに応じた予測処理の設定情報をエンベデッドコントローラ31aに送信する。アプリケーション管理部103aは、図13に示すようなアプリケーション情報記憶部41aを参照して、実行されるアプリケーションに対応する予測処理の設定情報を取得する。アプリケーション管理部103aは、取得した設定情報を含む設定変更通知をエンベデッドコントローラ31aに送信する。ステップS302の処理後に、アプリケーション管理部103aは、処理をステップS301に戻す。
【0114】
次に、図15を参照して、本実施形態におけるエンベデッドコントローラ31aの動作について説明する。
図15は、本実施形態におけるエンベデッドコントローラ31aの動作の一例を示すフローチャートである。なお、ここでは、操作媒体としてペンを用いて、タッチスクリーン20にペン入力を行う場合の一例について説明する。
【0115】
図15において、ステップS401からステップS405までの処理は、上述した図10に示すステップS201からステップS205までの処理と同様であるため、ここではその説明を省略する。
なお、ステップS401において、ペン入力処理部312aは、検出位置データの予測処理を実行する場合(ステップS405:YES)に、処理をステップS406に進める。また、ペン入力処理部312aは、検出位置データの予測処理を実行しない場合(ステップS405:NO)に、処理をステップS408に進める。
【0116】
ステップS406において、ペン入力処理部312aは、設定情報に応じた、次回の検出位置データの予測処理を実行する。ペン入力処理部312aは、ペン入力バッファ部311が記憶する複数の検出位置データに基づいて、例えば、アプリケーション104に応じた設定、又は、利用者に指定された設定にいより、予測処理を実行し、次回の検出位置データ(表示部14の画面上の座標データ)を生成する。
【0117】
次に、ペン入力処理部312aは、予測した検出位置データを検出位置データとしてメイン制御部10aに出力する(ステップS407)。なお、予測処理が有効になった直後などである場合には、ペン入力処理部312aは、ペン入力バッファ部311が記憶する複数の検出位置データのうちの最新の検出位置データと、予測した検出位置データとを、検出位置データとしてメイン制御部10aに出力する。ステップS407の処理後に、ペン入力処理部312aは、処理をステップS401に戻す。
【0118】
また、ステップS408において、ペン入力処理部312aは、最新の検出位置データを検出位置データとしてメイン制御部10aに出力する。すなわち、ペン入力処理部312aは、ペン入力バッファ部311が記憶する複数の検出位置データのうちの最新の検出位置データを、メイン制御部10aに出力する。ステップS408の処理後に、ペン入力処理部312aは、処理をステップS401に戻す。
【0119】
以上説明したように、本実施形態では、メイン制御部10aは、OS上で実行されるアプリケーション104を監視し、アプリケーション104が起動された場合に、アプリケーション104に応じた予測処理の設定情報を、エンベデッドコントローラ31aに送信する。エンベデッドコントローラ31aは、アプリケーション104に応じた予測処理の設定情報を用いて、予測処理を実行する。
これにより、本実施形態によるノートPC1aは、アプリケーション104に応じて、適切な予測処理を行くことができ、入力に対する表示の遅延を低減することができる。
【0120】
[第3の実施形態]
次に、図面を参照して、第3の実施形態によるPCシステム100について説明する。
上述した第1及び第2の実施形態では、ノートPC1(1a)の内部に、タッチスクリーン20を備えて、ペン入力などの手書き入力を行う場合について説明したが、第3の実施形態では、タッチスクリーン52を有する外付けのペンタブレット50と、ノートPC1bとを備えたPCシステム100によりペン入力などの手書き入力を行う場合の変形例について説明する。
【0121】
図16は、本実施形態によるPCシステム100の主要なハードウェア構成の一例を示す図である。
図16に示すように、PCシステム100(情報処理システムの一例)は、ノートPC1bと、ペンタブレット50とを備える。
なお、図16において、図1と同一の構成には同一の符号を付与して、その説明を省略する。
【0122】
ノートPC1b(情報処理装置の一例)は、タッチスクリーン20(タッチセンサ部35)を備えていない点を除いて、上述したノートPC1(1a)と同様のハード構成である。
【0123】
ペンタブレット50は、ペン入力などの手書き入力が可能なタブレット端末であり、コントローラ51と、タッチスクリーン52とを備える。
コントローラ51(組込み制御部の一例)は、例えば、CPUを含むプロセッサであり、ペンタブレット50を統括的に制御する。コントローラ51は、ペン入力などの手書き入力の処理を行う場合に、上述するエンベデッドコントローラ31(31a)と同様の処理を実行する。すなわち、コントローラ51は、上述したペン入力バッファ部311及びペン入力処理部312(312a)と同様の機能を有する。
【0124】
また、コントローラ51は、USBコネクタ24を介して、チップセット21(メイン制御部10(10a))に接続される。コントローラ51は、USBインターフェースを用いて、タッチセンサ部35による検出位置データを、メイン制御部10(10a)に出力する。
【0125】
タッチスクリーン52は、表示部521及びタッチセンサ部522を備え、上述したタッチスクリーン20と同様に機能する。本実施形態における表示部521及びタッチセンサ部522は、第1及び第2の実施形態の表示部14及びタッチセンサ部35に対応する。
【0126】
表示部521は、例えば、HDMI(High-Definition Multimedia Interface(登録商標))やDP(Display Port)により、ビデオサブシステム13を介して、メイン制御部10(10a)に接続されている。メイン制御部10(10a)は、HDMI(登録商標)やDPにより、コントローラ51が出力した検出位置データに基づいて、操作媒体が表示部521の画面上に接触して移動した画面上の移動軌跡を、表示部521に表示させる。
【0127】
次に、本実施形態によるPCシステム100の動作について説明する。
本実施形態では、第1及び第2の実施形態のエンベデッドコントローラ31(31a)の代わりに、コントローラ51が、予測処理を実行し、予測処理の詳細は、第1及び第2の実施形態と同様であるので、ここではその説明を省略する。
【0128】
以上説明したように、本実施形態によるPCシステム100(情報処理システム)は、表示部521と、タッチセンサ部522と、メイン制御部10(10a)と、コントローラ51とを備える。タッチセンサ部522は、表示部521の画面上に配置され、画面上における物体との接触を検出する。メイン制御部10(10a)は、OSに基づく処理を実行する。コントローラ51は、メイン制御部10(10a)とは異なる組込み制御部であって、操作媒体が画面上に接触することで、タッチセンサ部522によって所定の検出間隔で検出された画面上の複数の検出位置データに基づいて、次回の検出位置データを予測し、予測した次回の検出位置データを、タッチセンサ部522が検出した検出位置データとして、メイン制御部10(10a)に出力する。
【0129】
これにより、本実施形態によるPCシステム100は、上述したノートPC1(1a)と同様の効果を奏し、アプリケーションに依存せずに、入力に対する表示の遅延を低減することができる。
【0130】
なお、本発明は、上記の各実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で変更可能である。
例えば、上記の各実施形態において、情報処理装置がノートPC1(1a、1b)である例を説明したが、これに限定されるものではなく、例えば、タブレット端末装置、デスクトップPCなどの他の情報処理装置であってもよい。また、情報処理システムは、ノートPC1bを備えたPCシステム100に限定されるものではなく、上記のような他の情報処理装置を備えるものであってもよい。
【0131】
また、上記の各実施形態において、第1の実行可否条件の一例として、式(1)の検出位置間の距離D(トータル移動距離)が、所定の閾値距離以上である場合に、予測処理を実行する例を説明したが、これに限定されるものではない。第1の実行可否条件では、式(1)の検出位置間の距離Dの代わりに、複数の検出位置データ間の平均距離などの他の指標を基に、検出位置間の距離を判定するようにしてもよい。
【0132】
また、上記の各実施形態において、第2の実行可否条件の一例として、式(4)の角度変化の分散VAが、所定の閾値以上である場合に、予測処理をしない例を説明したが、これに限定されるものではない。第2の実行可否条件では、式(4)の角度変化の分散VAの代わりに、複数の検出位置データ間の角度変化の平均値などの他の指標を基に、操作媒体の移動角度変化を判定するようにしてもよい。
【0133】
また、上記の各実施形態において、第3の実行可否条件の一例として、式(5)の接触圧力低下の平均値Adiffが、所定の基準値以上である場合に、予測処理をしない例を説明したが、これに限定されるものではない。第3の実行可否条件では、式(5)の接触圧力低下の平均値Adiffの代わりに、複数の検出位置データ間の圧力の低下が判定できるものであれば、他の指標を用いるようにしてもよい。
【0134】
なお、上述したノートPC1(1a)及びPCシステム100が備える各構成は、内部に、コンピュータシステムを有している。そして、上述したノートPC1(1a)及びPCシステム100が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述したノートPC1(1a)及びPCシステム100が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD-ROM等の非一過性の記録媒体であってもよい。
【0135】
また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後にノートPC1(1a)及びPCシステム100が備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0136】
また、上述した機能の一部又は全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【符号の説明】
【0137】
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 エンベデッドコントローラ
32 キー入力部
33 ポインティングデバイス
34 電源回路
35、522 タッチセンサ部
40、40a メイン記憶部
41、41a アプリケーション情報記憶部
50 ペンタブレット
51 コントローラ
100 PCシステム
101 ペン入力ドライバ
102、102a ペン入力設定部
103、103a アプリケーション管理部
104 アプリケーション
311 ペン入力バッファ部
312、312a ペン入力処理部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16