(57)【要約】【課題】  ドラッグ操作時にタッチ位置を示す座標の検出が遅れることにより画面の滑らかなスクロール表示が損なわれるのを抑制する。【解決手段】  情報処理装置は、タッチパネルへのユーザによるタッチ位置を示す座標を検出し、前記検出手段により検出された少なくとも２点の座標間の変化量に基づいて、所定の表示領域に表示された画像をスクロールさせる。また、該情報処理装置は、座標を検出してから、次の座標を検出するまでの時間を計測し、該計測された時間に従って、順次検出された少なくとも２点の座標を用いて算出された補間座標に基づき、前記所定の表示領域に表示された画像のスクロールを制御する。【選択図】  図７
2017049849.tif 000002
【特許請求の範囲】
【請求項１】
タッチパネルを有する情報処理装置であって、
前記タッチパネルへのユーザによるタッチ位置を示す座標を検出する検出手段と、
前記検出手段により検出された少なくとも２点の座標間の変化量に基づいて、所定の表示領域に表示された画像をスクロールさせる表示制御手段と、
前記検出手段により座標を検出してから、次の座標を検出するまでの時間を計測する計測手段と、
前記検出手段により順次検出された少なくとも２点の座標を用いて、補間座標を算出する算出手段と、を有し、
前記表示制御手段は、前記計測手段により計測された時間に従って、前記算出手段により算出された補間座標に基づき、前記所定の表示領域に表示された画像のスクロールを制御することを特徴とする情報処理装置。
【請求項２】
前記算出手段は、前記検出手段により順次検出された少なくとも２点の座標と、前記検出手段により計測された該少なくとも２点の座標の検出時間間隔と、を用いて前記補間座標を算出することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記表示制御手段は、前記計測手段により計測された時間が所定の時間を超えたことに従って、前記算出手段により算出された補間座標に基づく、前記所定の表示領域に表示された画像のスクロールを制御することを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記算出手段は、前記表示制御手段により表示画像の更新をしてから前記所定時間が経過する毎に前記補間座標を算出することを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記所定の時間は、前記表示制御手段により表示画像を更新する際のフレーム間隔であることを特徴とする請求項３又は４記載の情報処理装置。
【請求項６】
前記情報処理装置の動作を制御する第１の制御手段と、
前記タッチパネルを含む操作部の動作を制御する第２の制御手段と、を有し、
前記第２の制御手段が、前記検出手段により検出された座標、及び、前記算出手段により算出された補間座標を前記第１の制御手段に通知し、
前記第１の制御手段が、前記第２の制御手段から通知された前記座標、及び、前記補間座標に基づいて前記表示制御手段による表示制御を行うことを特徴とする請求項１から５のいずれか１項に記載の情報処理装置。
【請求項７】
原稿の画像を読み取って画像データを生成する読み取り手段を有することを特徴とする請求項１から６のいずれか１項に記載の情報処理装置。
【請求項８】
画像データに基づいて用紙上に画像を印刷する印刷手段を有することを特徴とする請求項１から７のいずれか１項に記載の情報処理装置。
【請求項９】
タッチパネルを有する情報処理装置の制御方法であって、
前記タッチパネルへのユーザによるタッチ位置を示す座標を検出する検出工程と、
前記検出工程において検出された少なくとも２点の座標間の変化量に基づいて、所定の表示領域に表示された画像をスクロールさせる表示制御工程と、
前記検出工程において座標を検出してから、次の座標を検出するまでの時間を計測する計測工程と、
前記検出工程において順次検出された少なくとも２点の座標を用いて、補間座標を算出する算出工程と、を有し、
前記表示制御工程は、前記計測工程において計測された時間に従って、前記算出工程において算出された補間座標に基づき、前記所定の表示領域に表示された画像のスクロールを制御することを特徴とする制御方法。
【請求項１０】
コンピュータを、請求項１から８のいずれか１項に記載の情報処理装置として動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タッチパネルを有する情報処理装置、情報処理装置の制御方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、携帯電話やスマートフォン、タブレット、ノートＰＣ、複合機、ＡＴＭ、券売機、自動販売機など、様々なコンテンツ表示を行うディスプレイを備えるものが数多く見られるようになってきた。また、各々の機器ではタッチパネルを搭載することで、キーボードやテンキー、マウス等の入力デバイスを削減し、同時に先進的なデザイン、直感的な操作性を提供することが可能となってきている。
【０００３】
タッチパネルは、通常ディスプレイ上に重ねて設けられ、指先やタッチペン等によるタッチ位置を検出することが可能なデバイスであり、タッチ位置情報に応じて画面の遷移や切り替えを行うことを可能としている。そしてこのタッチ位置情報の検出を具現化するための１つとして、静電容量センサを用いた静電容量方式のタッチパネルが挙げられる。
【０００４】
静電容量方式タッチパネルは、行配線と列配線のマトリクス形態で構成され、各々の交差点に、タッチ位置を検出するためのセンサ（静電容量）が設けてある。行配線に感知信号を入力し、感知信号により列配線に注入される電荷の量が、タッチによる静電容量の増加分に比例するため、タッチ位置を識別することが可能となっている。
【０００５】
一般的には、それぞれの行配線に特定の周波数を有する駆動信号を入力した後、それぞれの列配線を介して該当周波数の信号を感知することにより、タッチの有無及びタッチ位置を識別する。しかし、様々な理由で該当周波数帯域にノイズが存在すると、駆動信号との判別がつかず、タッチ位置を誤って検出してしまうなど、タッチ位置検出の精度が落ちてしまう。
【０００６】
このような問題に対して、特許文献１には、駆動信号の周波数帯域におけるノイズの有無を検出し、ノイズが存在する場合は、駆動信号の周波数を変更することで、ノイズの影響を最小化する技術が開示されている。この技術によれば、行配線に駆動信号を印加しない状態で列配線の信号を感知するダミースキャンを複数回繰り返し、得られた信号レベルを評価してノイズの有無を確認する。この結果、ノイズが存在すると判断した場合は、現在の周波数帯域とは異なる、他の周波数で駆動信号を印加することで、ノイズによるタッチ位置検出精度の低下を防ぐことが可能となる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１３−２０６４６３
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ノイズ環境下において、特許文献１のような、タッチ座標データ検出時に常にノイズ影響を抑える処理を行うと、その処理時間分、目的である座標データの検出が遅れてしまう。その結果、特にドラッグ操作時の画面のスクロール（スライド）が滑らかに見えなくなる、という課題がある。
【０００９】
ドラッグ操作とは、タッチパネルにタッチしたまま指をスライドさせることで、指の動きに追従して画面を上下左右に動かす操作のことを指す。一般的にタッチパネル制御においては、タッチ開始時の第一のタッチ座標データ、及びタッチされ続けて移動した先の第二のタッチ座標データ、の移動距離が所定値以上であれば、ドラッグ操作であると判断する。そして、第一から第二の座標に指先が移動した変化量分、画面を平行移動させて表示する。この先、さらにタッチされ続けたままの状態で第三、第四、・・・、の座標データが検出されると、その都度移動した変化量分、平行移動した画面を表示させる。よって、ドラッグ操作が可能なタッチパネル制御においては、画面のスクロールが滑らかに見えるよう、座標データの検出時間間隔を短くし、検出座標間の距離を短くすることが望ましい。
【００１０】
しかしながら、特許文献１のようなノイズ抑制処理を行うことでタッチ座標データ検出が遅れる状況下だと、ドラッグ操作時に検出座標の時間間隔が広がってしまう。そのため、画面が飛び飛びで表示されることになり、滑らかにスクロールして表示させることができなくなってしまう。特にドラッグ操作の指の動きが早いほど、その影響が顕著に表れることとなる。
【００１１】
本発明は、ドラッグ操作時にタッチ位置を示す座標の検出が遅れることにより画面の滑らかなスクロール表示が損なわれるのを抑制することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、タッチパネルを有する情報処理装置であって、
前記タッチパネルへのユーザによるタッチ位置を示す座標を検出する検出手段と、
前記検出手段により検出された少なくとも２点の座標間の変化量に基づいて、所定の表示領域に表示された画像をスクロールさせる表示制御手段と、
前記検出手段により座標を検出してから、次の座標を検出するまでの時間を計測する計測手段と、
前記検出手段により順次検出された少なくとも２点の座標を用いて、補間座標を算出する算出手段と、を有し、
前記表示制御手段は、前記計測手段により計測された時間に従って、前記算出手段により算出された補間座標に基づき、前記所定の表示領域に表示された画像のスクロールを制御することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、ドラッグ操作時にタッチ位置を示す座標の検出が遅れることにより画面の滑らかなスクロール表示が損なわれるのを抑制することができる。
【図面の簡単な説明】
【００１４】
【図１】画像形成装置１００のブロック図
【図２】操作部１２のブロック図
【図３】操作部１２の外観の例
【図４】タッチパネル４０５のタッチ位置検出の仕組みを示す図
【図５】タッチパネル４０５へのドラッグ操作による画像のスクロール表示の例を示す図
【図６】タッチ位置情報が遅れて検出される場合の画像のスクロール表示の例を示す図
【図７】第１の実施形態におけるドラッグ操作時のタッチパネル４０５の制御を示す図
【図８】第１の実施形態における補間座標データの算出方法を示す図
【図９】第１の実施形態におけるＣＰＵ４０１の処理を示すフローチャート
【図１０】第２の実施形態における補間座標データの算出方法を示す図
【図１１】第２の実施形態におけるＣＰＵ４０１の処理を示すフローチャート
【図１２】本発明を適用可能な表示画像の例を示す図
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための形態について図面を用いて説明する。
【００１６】
図１は、本発明に関わるタッチパネル制御を搭載した画像形成装置１００のハードブロック図である。図１に示すように、画像形成装置１００は、画像形成装置１００の動作を統括するコントローラ１１、操作部１２、スキャナ部１３、プリンタ部１４、電源ユニット１５、電源コンセント１６、アース線１７、を備えている。
【００１７】
コントローラ１１は、操作部１２、スキャナ部１３、およびプリンタ部１４と通信可能に接続されている。このコントローラ１１は、ＣＰＵ３０１、ＲＡＭ３０２、ＲＯＭ３０３、電源制御部３０４、入出力Ｉ／Ｆ３０５、およびＬＡＮコントローラ３０６を備えている。そして、ＣＰＵ３０１、ＲＡＭ３０２、ＲＯＭ３０３、電源制御部３０４、入出力Ｉ／Ｆ３０５、およびＬＡＮコントローラ３０６は、システムバス３０７に接続されている。また、コントローラ１１は、ＨＤＤ３０８、画像処理部３０９、スキャナＩ／Ｆ３１０およびプリンタＩ／Ｆ３１１を備えている。そして、ＨＤＤ３０８、画像処理部３０９、スキャナＩ／Ｆ３１０およびプリンタＩ／Ｆ３１１は、画像バス３１２に接続されている。
【００１８】
ＣＰＵ３０１は、画像形成装置１００全体の動作を制御するプロセッサである。ＣＰＵ３０１は、ＲＯＭ３０３に記憶された制御プログラム等に基づいて接続中の各種デバイスとのアクセスを統括的に制御すると共に、コントローラ１１で実行される各種処理についても統括的に制御する。ＲＡＭ３０２は、ＣＰＵ３０１が動作するためのシステムワークメモリである。このＲＡＭ３０２は、画像データを一時記憶するためのメモリでもある。ＲＯＭ３０３には、装置のブートプログラムなどが格納されている。
【００１９】
電源制御部３０４は、画像形成装置１００の各部への電力供給を制御する。入出力Ｉ／Ｆ３０５は、システムバス３０７と操作部１２との間で情報の受け渡しを行うインターフェース部である。ＬＡＮコントローラ３０６は、ネットワーク３０に接続される外部装置２０と情報の送受信を行う。
【００２０】
ＨＤＤ３０８は、ハードディスクドライブであり、システムソフトウェアや画像データを格納する。画像処理部３０９は、画像処理を行うためのものであり、ＲＡＭ３０２に記憶された画像データを読み出し、ＪＰＥＧ、ＪＢＩＧなどの拡大または縮小および、色調整などの画像処理を行う。スキャナＩ／Ｆ３１０は、スキャナ部１３のスキャナ制御部３３１と通信するためのインターフェース部である。プリンタＩ／Ｆ３１１は、プリンタ部１４のプリンタ制御部３４１と通信するためのインターフェース部である。画像バス３１２は、画像データをやり取りするための伝送路であり、ＰＣＩバスやＩＥＥＥ１３９４等のバスで構成されている。
【００２１】
スキャナ部１３は、原稿上の画像を光学的に読み取り画像データを生成する。スキャナ部１３はスキャナ制御部３３１とスキャナ駆動部３３２とを有している。スキャナ駆動部３３２は、原稿を読み取る読取ヘッドを移動させるための駆動部、原稿を読取位置まで搬送するための駆動部などを含む。スキャナ制御部３３１は、スキャナ駆動部３３２の動作を制御する。スキャナ制御部３３１は、スキャナ処理を行う際にユーザによって設定された設定情報をＣＰＵ３０１との通信により受信し、当該設定情報に基づいてスキャナ駆動部３３２の動作を制御する。
【００２２】
プリンタ部１４は、電子写真方式に従って記録媒体上（用紙上）に画像を形成する。このプリンタ部１４は、プリンタ制御部３４１とプリンタ駆動部３４２とを有している。プリンタ駆動部３４２は、図示しない感光ドラムを回転させるモータ、定着器を加圧するための機構部、ヒータなどを含む。プリンタ制御部３４１は、プリンタ駆動部３４２の動作を制御する。プリンタ制御部３４１は、プリント処理を行う際にユーザによって設定された設定情報をＣＰＵ３０１との通信により受信し、当該設定情報に基づいてプリンタ駆動部３４２の動作を制御する。
【００２３】
電源ユニット１５は、商用交流電源４０から電源の供給を受けると共に、直流化、降圧して、画像形成装置１００内に供給する。電源を供給するタイミングや、ＯＮ／ＯＦＦ制御は、電源制御部３０４が行う。
【００２４】
アース線１７は、図示しない商用交流電源のアース端子と接続することで、画像形成装置１００の筺体と商用交流電源との、電位の基準を合わせることができるため、人への漏電を防ぐことができる。また、商用交流電源４０から混入するノイズや、画像形成装置１００内で発生するノイズの電流を逃がす役割も果たす。なお、アース線１７がアース端子と接続されていなくても、画像形成装置１００は動作可能である。
【００２５】
図２は、本発明に関わるタッチパネル制御を実現するための、操作部１２のブロック図を示している。図２に示すように、操作部１２は、ＣＰＵ４０１、ＬＥＤ４０２、ハードキー４０３、タッチパネル制御部４０４、タッチパネル４０５、ＬＣＤ４０６、ＬＣＤ４０６のバックライト４０７、音声合成部４０８、スピーカー４０９、から成る。
【００２６】
ＣＰＵ４０１は、操作部１２全体の動作を統括的に制御するプロセッサである。ＣＰＵ４０１コントローラ１１のＣＰＵ３０１からの指示に基づき、ＬＥＤ４０２の点灯・消灯制御、スピーカー４０９への音声出力制御、ＬＣＤ４０６のバックライト点灯・消灯制御、等を行う。また、ＣＰＵ４０１は、ハードキー４０３の押下検出情報、タッチパネル制御部４０４を介したタッチパネル４０５のタッチ位置情報等をＣＰＵ３０１に対して通知する。
【００２７】
ＬＥＤ４０２は、画像形成装置１００に関して、主電源がＯＮされていることを示す電源ＬＥＤ、エラーが発生したことを示すエラーＬＥＤ、処理中であることを示す実行中ＬＥＤ、などが備えられている。
【００２８】
ハードキー４０３には、値数や電話番号等を入力するためのテンキー、省電力モードへ移行させるためのスリープキーが備えられている。また、ハードキー４０３には。コピーやスキャンの開始を指示するためのスタートキー、処理を停止するためのストップキー、各種設定画面に移行するための設定キー、などが備えられている。
【００２９】
タッチパネル制御部４０４は、指又はペンなどの指示入力体によるタッチパネル４０５へのタッチを検出した場合、タッチ位置を示す座標データと合わせて、タッチ内容を示すタッチ識別情報を取得し、ＣＰＵ４０１に通知する。タッチ識別情報としては、タッチ開始（タッチダウン）、タッチ継続中（ムーブ）、タッチ終了（タッチアップ）がある。タッチパネル４０５に入力指示体が触れたときに「タッチ開始」が検出され、タッチパネル４０５に入力指示体が接触したままのときに「タッチ継続中」が検出される。タッチパネル４０５に接触していた入力指示体が離れたときに「タッチ終了」が検出される。タッチパネル４０５は静電容量式のタッチパネルである。
【００３０】
ＬＣＤ４０６は、コントローラ１１から送信されてくる画像データを液晶画面に出力する。その際、バックライト４０７を点灯させないと視覚的に表示できないため、コントローラ１１は画面表示の後にバックライトを点灯させる制御を行う。
【００３１】
音声合成部４０８は、様々な音色データを備えており、コントローラ１１からの指示でＣＰＵ４０１の制御によりスピーカー４０９に対して指定の音色データを出力し、音声を出す。音声の例としては、タッチパネル４０５のタッチ音や、画像形成装置１００でエラーが生じた時の警告音、コピーが終了した際の終了音、などがある。
【００３２】
図３は、操作部１２の外観を示す例である。
【００３３】
操作部１２を利用するユーザから見て右側には、ハードキー４０３、下側にはＬＥＤ４０２が配置されている。また、タッチパネル４０５は、ＬＣＤ４０６の上に重ねて設置されている。タッチパネル４０５をタッチすることで、ＬＣＤ４０６に表示されている画面の操作を直感的に行うことが可能となるように構成されている。
【００３４】
図４は、タッチパネル４０５のタッチ位置（座標データ）の検出の仕組みを示す図である。タッチパネル４０５は、横方向（ｘ軸）に等間隔でｎ分割、縦方向（ｙ軸）に等間隔でｍ分割されている。タッチパネル制御部４０４はタッチの有無を監視しており、タッチを検出したら、具体的な座標データを取得する。図４では、Ｐ（ｘ３，ｙ２）が座標データとして検出された場合を示しており、タッチパネル制御部４０４は取得した座標データをＣＰＵ４０１に通知する。また、タッチパネル制御部４０４は座標データと合わせて、タッチ開始、タッチ継続中、タッチ終了、のいずれかのタッチ識別情報をＣＰＵ４０１に通知する。
【００３５】
さらに、タッチパネル制御部４０４は、タッチ検出毎に外部から受けるノイズを抑制するための処理（以下、ノイズ抑制処理）を行っており、ノイズ状況により、タッチ検出からタッチ座標データ取得までの時間が変動する。ノイズ抑制処理の詳細は特許文献１を参照されたい。
【００３６】
次に、図１〜図４を踏まえて、タッチパネル４０５の操作から画面が切り替わるまでの処理動作を説明する。まずＬＣＤ４０６に表示する画像データはＨＤＤ３０８に格納されている。ＣＰＵ３０１は入出力Ｉ／Ｆ３０５を制御し、表示させたい画像データをＨＤＤ３０８から読み出し、操作部１２のＬＣＤ４０６に転送するように指示する。
【００３７】
一方、タッチパネル４０５がタッチされると、タッチパネル制御部４０４が座標データ及びタッチ識別情報を検出し、ＣＰＵ４０１がこれを取得して、コントローラ１１に入力データとして転送する。コントローラ１１のＣＰＵ３０１は、取得した座標データ及びタッチ識別情報に基づき、ＬＣＤ４０６に表示させる画像データの切り替え（例えば、スイッチ領域の押下や、画面のスライドなど）が必要か否かを判断する。必要だと判断した場合は、ＣＰＵ３０１は入出力Ｉ／Ｆ３０５を制御して所望の表示画像データをＨＤＤ３０８から読みだして、ＬＣＤ４０６に転送する。
【００３８】
図５は、タッチパネル４０５に対するドラッグ操作により、ＬＣＤ４０６上の表示画面を横方向（ｘ軸方向）にスクロールさせる場合について示した図である。上述した通り、ドラッグ操作とは、タッチパネルにタッチしたまま指をスライドさせることで、指の動きに追従して画面を移動させる操作である。図５では、ＬＣＤ４０６には始めは画面全体に“Ａ”で示される画像が表示されており、画面に向かって左側へのドラッグ操作が行われる例を示している。これにより、画像“Ａ”を徐々に非表示とするとともに、最初は表示されていない“Ｂ”の画像が徐々に表示されるようになり、表示画像が左側方向へスクロール表示される。
【００３９】
図５（ａ）は、タッチパネル４０５へのタッチが開始され（指が触れられ）、タッチ位置としてＰ０（ｘ０，ｙ０）の座標データが検出された場合を示している。
【００４０】
図５（ｂ）は、タッチパネル４０５上のＰ０の位置にタッチした後、指を離さずにスライドさせるドラッグ操作が行われ、次に検出された座標データがＰ１（ｘ１，ｙ１）であった場合を示している。この時、検出された座標データＰ１（ｘ１，ｙ１）はＣＰＵ４０１からＣＰＵ３０１に送信される。ＣＰＵ３０１は、Ｐ０→Ｐ１の移動量を算出し、移動量及び移動方向に従って“Ａ”の画像の一部を非表示とし、“Ｂ”の画像の一部を表示するように制御する。
【００４１】
図５（ｃ）、（ｄ）では、それぞれドラッグ操作を続けた結果、Ｐ０→Ｐ１→Ｐ２→Ｐ３、の順に座標データが検出された場合を示している。ＣＰＵ３０１は、ＣＰＵ４０１から通知された座標データに基づいて移動量を算出し、移動量、及び移動方向に応じて“Ａ”の画像を少しずつ非表示とするとともに、“Ｂ”の画像を少しずつ表示していく様子を示している。
【００４２】
ドラック操作に対してこのように画面表示制御を行っているため、座標データを取得してから次の座標データの取得までの時間間隔が短いほど、“Ａ”の画面が“Ｂ”の画面に滑らかにスクロールしているように見える。
【００４３】
図６は、タッチパネル４０５上で図５と同様のドラッグ操作を行ったが、ノイズ抑制処理の影響により、図５と比較して座標データの検出が遅れた場合について示した図である。
【００４４】
図６（ａ）は、タッチパネル４０５へのタッチが開始され、タッチ位置としてＰ０（ｘ０，ｙ０）の座標データが検出された場合を示している。
【００４５】
図６（ｂ）は、Ｐ０にタッチした後、ドラッグ操作が行われたものの、ノイズ抑制処理の影響により座標データが検出されないために、図６−１から画面表示が切り替わらない状況を示している。
【００４６】
図６（ｃ）では、図６（ｂ）よりもさらに指をスライドさせているが、まだ座標データが検出されないために、画面表示が切り替わらない状況を示している。
【００４７】
図６（ｄ）では、ドラッグ操作を続けてようやく座標データＰ１（ｘ１，ｙ１）が検出され、Ｐ０→Ｐ１の座標の変化量に合わせて表示画面が切り替わった様子を示している。図６では、図５と同様のドラッグ操作が行われているのにも拘わらず、最初に座標データを検出してから次に座標データを検出するまでの時間間隔が長いために、図６（ａ）で示す表示状態から図６（ｄ）で示す表示状態に急に画面が切り替わることになる。このように、順次検出される座標データの検出時間間隔が長いほど、時間が空いたのちに画面が大きく切り替わってしまうため、滑らかなスクロール感覚は失われ、ガタついた操作性の低いスクロール表示となってしまう。これは、ドラッグ操作する際の指のスライド速度が速いほどその影響が大きくなる。以下の各実施形態では、座標データの検出時間間隔が長くなることによりスクロール表示が滑らかでなくなるのをできるだけ防止する方法について説明する。
【００４８】
＜第１の実施形態＞
図７は、本実施形態におけるドラッグ操作時のタッチパネル４０５の制御を示した図である。図７では、図６と同様にノイズを抑制する処理の影響で、座標データの検出が遅れる状況下にある。
【００４９】
図７（ａ）は、タッチパネル４０５へのタッチが開始され、タッチ位置としてＰ０（ｘ０，ｙ０）の座標データが検出された場合を示している。
【００５０】
図７（ｂ）は、図６（ｄ）と同様に、ドラッグ操作を続けてようやく座標データＰ１（ｘ１，ｙ１）が検出された場合を示している。操作部１２のＣＰＵ４０１は、Ｐ０→Ｐ１の２点検出でドラッグ操作であると認識すると共に、座標データ検出の時間間隔を計測し、所定時間を超えたか否かを評価する。もし超えていた場合は、タッチパネル４０５がノイズ環境下にあるため、座標検出に時間を要しているものとみなす。そして、次回以降の座標データは、ＣＰＵ４０１が所定時間間隔で補間座標を算出し、コントローラ１１に転送する。これを一連のドラッグ操作が終了するまで行う。補間座標データの算出方法については図８を用いて後述する。
【００５１】
図７（ｃ）は、ＣＰＵ４０１が算出した補間座標データＰ１’（ｘ１’，ｙ１’）を基に、画面表示を切り替えた場合を示している。ここでは、Ｐ１→Ｐ１’の変化量分だけ画像“Ａ”及び“Ｂ”移動した場合を示している。
【００５２】
また、図７（ｄ）も同様に、ＣＰＵ４０１が算出した補間座標データＰ１”（ｘ１”，ｙ１”）を基に、画像“Ａ”及び“Ｂ”が、Ｐ１’→Ｐ１”の変化量分だけ移動した場合を示している。
【００５３】
このように、図７（ａ）の状態から図７（ｂ）の状態へ急に画面が切り替わることになるが、それ以降は補間座標データに基づいて画面を切り替えることにより、スムーズに画面が動いて見えるようになる。
【００５４】
図８は、本実施形態におけるドラッグ操作時の座標データ補間方法を示す図である。Ｐ０、Ｐ１、Ｐ２、は、それぞれタッチパネル制御部４０４で座標データが検出されたポイントである。また、Ｐ１’、Ｐ１”、Ｐ２’、は、ＣＰＵ４０１が座標データを算出した補間座標データである。本実施形態では、ドラッグ操作において、座標データ検出の時間間隔が所定の時間ｔｄを超えていた場合、以降の座標データは実際に検出された座標データＰ０、Ｐ１、Ｐ２、・・・、に基づいてＣＰＵ４０１が算出する。
【００５５】
図８では、ＣＰＵ４０１は、Ｐ０の位置で「タッチ開始」が検出され、Ｐ１の位置で「タッチ継続中」が検出されたことに基づいて、ドラッグ操作であると判断する。同時に、ＣＰＵ４０１は、Ｐ０→Ｐ１の検出時間間隔Ｔ１を計測し、所定の時間ｔｄを超えていた場合、現在行われているドラッグ操作が終了（タッチ終了）するまで、Ｐ１以降の座標データを時間ｔｄ毎に算出して、コントローラ１１に転送する。
【００５６】
ここで所定の時間ｔｄは、本実施例ではコントローラ１１がＬＣＤ４０６に対して表示画像の更新を行う際の更新時間間隔であるフレーム間隔とする。タッチ座標検出の時間間隔がフレーム間隔を超えてしまうと、次フレームでは画面が変化せず、次々フレーム以降で画面変化が生じるため、スクロール表示の際の滑らかさが失われることになる。フレーム間隔はフレームレートから算出可能である。一般的にフレームレートは６０Ｈｚであるため、例えばｔｄ＝１６．７ｍｓに設定する。
【００５７】
以下に具体的な補間座標データの算出方法を示す。ＣＰＵ４０１は、Ｐ０→Ｐ１の検出でドラッグ操作、且つ時間間隔Ｔ１がｔｄを超えている、と判断すると、座標データＰ０（ｘ０，ｙ０）、Ｐ１（ｘ１，ｙ１）より、次式で補間座標データＰ１’（ｘ１’，ｙ１’）を算出する。
ｘ１’＝ｘ１＋（（ｘ１−ｘ０）×（ｔｄ／Ｔ１））
ｙ１’＝ｙ１＋（（ｙ１−ｙ０）×（ｔｄ／Ｔ１））
ドラッグ操作は一般的にページ送りやコマ送りに用いられるため、タッチした指先の方向や速度が急激に変わることは稀である。その習性を利用し、上記式は、直前に得られた座標データＰ０、Ｐ１のベクトル量Ｐ０→Ｐ１を、所定時間ｔｄ分のベクトル量に換算して、次の座標データとする。
【００５８】
また、ＣＰＵ４０１は補間座標データＰ１’をコントローラ１１に送った後、所定時間ｔｄ以内に次の実座標データが検出できなければ、再び補間座標データＰ１”を算出し、コントローラ１１に送信する。この場合も上記式と同様に、Ｐ１→Ｐ１’のベクトル量（すなわち、Ｐ０→Ｐ１のベクトル量を、所定時間ｔｄ分のベクトル量に換算したもの）をＰ１’座標に加算して、Ｐ１”座標を算出する。
ｘ１”＝ｘ１’＋（（ｘ１−ｘ０）×（ｔｄ／Ｔ１））
ｙ１”＝ｙ１’＋（（ｙ１−ｙ０）×（ｔｄ／Ｔ１））
座標Ｐ１”を算出してコントローラ１１に転送した後、Ｔ２’（＜ｔｄ）後にタッチパネル制御部４０４が実座標データＰ２を検出した場合、Ｐ２’以降の補間座標データは、Ｐ１→Ｐ２のベクトル量を用いて算出する。これにより、実際のドラッグ操作の向き、速さに極力近づけることができる。
ｘ２’＝ｘ１”＋（（ｘ２−ｘ１）×（ｔｄ／Ｔ２））
ｙ２’＝ｙ１”＋（（ｙ２−ｙ１）×（ｔｄ／Ｔ２））
以上より、ドラッグ操作であり、且つ座標データの検出時間間隔が長いと、以後はドラッグ操作が終わるまで、座標データをＣＰＵ４０１が算出して補間する。その際、実際に検出される座標データを基に補間する座標データを算出する。
【００５９】
図９は、本実施形態における、ＣＰＵ４０１の処理を示すフローチャートである。
【００６０】
ＣＰＵ４０１は、タッチパネル制御部４０４から通知されるタッチ位置情報とタッチ識別情報とに基づいて、ドラッグ操作が行われたか否かを判断する（Ｓ９０１）。例えば、タッチパネル制御部４０４により「タッチ開始」の情報と共に座標データが通知され、次に「タッチ継続中」の情報と共に座標データが通知され、これら２点の座標データの変化量が所定値以上であれば、ドラッグ操作と判断される。同様に、「タッチ継続中」の情報と共に２点の座標データが通知され、これら２点の座標データの変化量が所定値以上であれば、ドラッグ操作と判断される。ＣＰＵ４０１によりドラッグ操作が行われたと判断されず、タッチ終了と判断された場合には（Ｓ９１１のＹｅｓ）、この制御フローを終了させる。例えば、ＬＣＤ４０６上に表示されるボタンを押下してすぐに指を離す操作を行った場合、最初に「タッチ開始」の情報と共にそのボタン位置を示す座標データが通知され、続いて「タッチ終了」の情報が通知されることになる。この場合はドラッグ操作が行われていないため、処理終了となる。なお、ＣＰＵ４０１は、座標データを検出する毎に、検出した座標データ及びタッチ識別情報をコントローラ１１へ転送する。コントローラ１１のＣＰＵ３０１は、ＣＰＵ４０１から受信した座標データ及びタッチ識別情報に基づいて、ＬＣＤ４０６への画像の表示を制御する。また、ＣＰＵ４０１は座標データが検出されてから、次の座標データが検出されるまでの時間間隔を常に計測している。ＣＰＵ４０１は、ドラッグ操作が行われるか（Ｓ９０１）、タッチが終了するまで（Ｓ９１１）待機する。
【００６１】
Ｓ９０１でドラッグ操作が行われたと判定された場合、ＣＰＵ４０１は、計測した最新の２点の座標間の検出時間間隔Ｔａが、ＬＣＤ４０６のフレーム間隔ｔｄ超えているか否かを判定する（Ｓ９０２）。超えていなければ、タッチパネル制御部４０４のタッチ検出処理は遅れていないため、ドラッグ操作に影響ないものとみなし、座標データの補間は不要としてＳ９０１に戻る。
【００６２】
ＣＰＵ４０１は、Ｓ９０２で最新の座標２点間の検出時間間隔がｔｄを超えていた場合、該２点の座標データ、及び、検出時間間隔、を記憶しておく（Ｓ９０３）。
【００６３】
ＣＰＵ４０１は、以後タッチパネル制御部４０４で、座標データが検出されてから、次の座標データが検出されるまでの時間間隔を計測するためのタイマー１をセットする（Ｓ９０４）。
【００６４】
また、ＣＰＵ４０１は、以後ＣＰＵ４０１がコントローラ１１に対して、座標データを転送してから、次の座標データを転送するまでの時間間隔Ｔｂを計測するためのタイマー２をセットする（Ｓ９０５）。
【００６５】
次にＣＰＵ４０１は、タッチパネル制御部４０４で座標データが検出されたか否かを確認する（Ｓ９０６）。ここで、もし座標データが検出された場合は、ＣＰＵ４０１は、前回検出された座標データと、今回新たに検出された座標データとを、新たな２点座標データとして更新する。また、前回から今回の検出にかかった時間（タイマー１の値）を、新たな２点の座標データの検出時間間隔として更新する（Ｓ９１２）。そして、ＣＰＵ４０１はタイマー１をセットし直し、次の座標データが検出されるまでの時間間隔を計測する（Ｓ９１３）。
【００６６】
Ｓ９０６でＮｏの場合、もしくは、Ｓ９０６でＹｅｓの場合であって、Ｓ９１２、Ｓ９１３の処理をした後、ＣＰＵ４０１は、タイマー２の値Ｔｂが、フレーム間隔ｔｄに達したか否かを判定する（Ｓ９０７）。すなわち、座標データをコントローラ１１に対して転送してからの経過時間がフレーム間隔に達したか否かが判定される。タイマー２の値Ｔｂが、フレーム間隔ｔｄに達した場合、座標データをコントローラ１１に転送するための座標データ補間処理フロー（Ｓ９０８、Ｓ９０９）に移る。
【００６７】
ＣＰＵ４０１は、Ｓ９０３、Ｓ９１２で記憶した、直近で検出した２点の座標データとその検出時間間隔に基づいて、補間座標データを算出する（Ｓ９０８）。算出方法は、図８の説明で述べた通りである。
【００６８】
ＣＰＵ４０１は、Ｓ９０８で算出した補間座標データをコントローラ１１に転送する（Ｓ９０９）。なお、補間座標データを転送する際、「タッチ継続中」を示すタッチ識別情報を合わせて転送してもよい。コントローラ１１のＣＰＵ３０１は、受信した補間座標データに基づいてＬＣＤ４０６の表示を制御することにより、図７−３、図７−４で示すように画像をスクロール表示させる。
【００６９】
ＣＰＵ４０１は、Ｓ９０６で座標データを検出した際に、「タッチ終了」の情報を合わせて取得していた場合、処理を終了する（Ｓ９１０）。そうでない場合はＳ９０５に戻り、タイマー２をセットし直して、次の座標データを転送するまでの時間間隔Ｔｂを再び計測する（Ｓ９０５）。
【００７０】
本実施形態によれば、タッチパネル制御部４０４のタッチ座標データの検出が遅れる環境下においても、ＣＰＵ４０１は、所定の時間間隔で補間するタッチ座標を算出し、算出したタッチ位置に基づいて画像の表示を制御することができる。それにより、ドラッグ操作時の画面の切り替えを所定の時間間隔で行えるため、極力滑らかな画面のスクロールを維持することが可能となる。
【００７１】
また、ＣＰＵ４０１は、タッチパネル制御部４０４が検出するタッチ座標データに基づいてタッチ座標を算出するため、実際のドラッグ操作時の指の軌跡上に近い座標で補間することが可能となる。
【００７２】
＜第２の実施形態＞
本実施形態では、第１の実施形態と同様に、タッチパネル制御部４０４の座標データ検出時間間隔がフレーム間隔ｔｄよりも遅れた場合に座標データを補間する。実施例１と異なる部分は、補間座標データをコントローラ１１に転送した後、フレーム間隔ｔｄ以内にタッチパネル制御部４０４が次の座標データを検出したら、該実座標データを転送する点である。以下、図を用いて詳細を説明する。
【００７３】
図１０は、本実施形態におけるドラッグ操作時の座標データ補間方法を示す図である。Ｐ０、Ｐ１、Ｐ２、は、それぞれタッチパネル制御部４０４で座標データが検出されたポイントである。また、Ｐ１’、Ｐ１”、Ｐ２’、は、ＣＰＵ４０１が座標データを算出した補間座標データである。本実施形態では、ドラッグ操作において、座標データ検出の時間間隔が所定の時間ｔｄを超えていた場合、以降はＰ０、Ｐ１、Ｐ２、・・・、より算出した座標データで補間するが、実座標データが検出された場合は、こちらを優先的に用いる。
【００７４】
図１０では、ＣＰＵ４０１は、Ｐ０の位置で「タッチ開始」が検出され、Ｐ１の位置で「タッチ継続中」が検出されたことに基づいて、ドラッグ操作が行われたと判断する。同時に、ＣＰＵ４０１は、Ｐ０→Ｐ１の検出時間間隔Ｔ１を計測し、所定の時間ｔｄを超えていた場合、現在行われているドラッグ操作が終了（タッチが終了）するまで、Ｐ１以降の座標データを時間ｔｄ毎に算出して、コントローラ１１に転送する。しかしながら、Ｐ２のように実座標データが検出された場合は、こちらの座標データをコントローラ１１に転送する。
【００７５】
以下に具体的に補間座標データの算出方法を示す。
【００７６】
Ｐ１’、Ｐ１”の算出までは実施形態１と同じである。Ｐ１”を算出してコントローラ１１に転送した後、タッチパネル制御部４０４は、Ｔ２’（＜ｔｄ）後に実座標データＰ２を検出したため、Ｐ２を座標データとしてコントローラ１１に転送する。座標Ｐ２をコントローラ１１に転送した後、Ｐ１→Ｐ２の軌道（実際の指の動き）に合わせるため、Ｐ２’の補間座標データは、Ｐ１→Ｐ２のベクトル量を用いて算出する。
ｘ２’＝ｘ２＋（（ｘ２−ｘ１）×（ｔｄ／Ｔ２））
ｙ２’＝ｙ２＋（（ｙ２−ｙ１）×（ｔｄ／Ｔ２））
以上より、ドラッグ操作であり、且つ座標データの検出時間間隔が長いと、以後はドラッグ操作が終わるまで、座標データをＣＰＵ４０１が算出して補間する。一方、その間にも実際の座標データが検出されたら優先して採用すると共に、該座標データを基に補間する座標データを算出することで、実際の指の軌道と補間座標の軌道とのずれを抑える。
【００７７】
図１１は、本実施形態における、ＣＰＵ４０１の処理を示すフローチャートである。
【００７８】
Ｓ１１０１〜Ｓ１１１３は、実施形態１における図９のＳ９０１〜Ｓ９１３に対応しており、各々のステップでの処理内容は同じとなる。よって図１１では図９との差分のみを説明する。
【００７９】
ＣＰＵ４０１は、Ｓ１１０６において、実座標データを検出した場合はＳ１１１２、Ｓ１１１３と進むが、この後、Ｓ１１０７（図９だとＳ９０７）ではなく、Ｓ１１０９に遷移して、検出した実座標データをコントローラ１１に転送する。
【００８０】
一方でＣＰＵ４０１は、Ｓ１１０６において実座標データを検出できず、Ｓ１１０７でタイマー２の値がフレーム間隔ｔｄを超えてしまった場合、Ｓ１１０８に進む。ＣＰＵ４０１は、Ｓ１１０８では図１０で説明した算出方法で補間座標を算出し、Ｓ１１０９で、該座標データをコントローラ１１に対して転送する。
【００８１】
このように、図９での処理フローとは異なり、実座標データが検出された場合には、そちらの座標を優先して採用することで、実座標を織り交ぜながら座標を補間して画像の表示を制御する。
【００８２】
本実施形態によると、タッチパネル制御部４０４のタッチ座標データの検出が遅れる環境下においても、ＣＰＵ４０１は、所定の時間間隔で補間するタッチ座標を算出し、し、算出したタッチ位置に基づいて画像の表示を制御することができる。それにより、ドラッグ操作時の画面の切り替えを所定の時間間隔で行えるため、極力滑らかな画面のスクロールを維持することが可能となる。
【００８３】
また、ＣＰＵ４０１は、タッチパネル制御部４０４の検出する実際のタッチ座標データを優先し、検出が遅れた場合のみ、タッチパネル制御部４０４が検出するタッチ座標データに基づいて算出した座標で補間する。そのため、実際のドラッグ操作時の指の軌跡に近い座標の補間が可能となる。
【００８４】
＜その他の実施形態＞
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。また、上述の実施形態の一部を適宜組み合わせてもよい。
【００８５】
図９のＳ９０１、図１１のＳ１１０２において、直前に検出された２点の座標データの変化量に基づいてドラッグ操作が行われたことを判定するものとして説明したが、直前の３点、もしくはそれ以上の座標データに基づいて判定するようにしてもよい。
【００８６】
同様に図９のＳ９０８、図１１のＳ１１０８では、直前に検出された２点の座標データ、及びその検出時間間隔に基づいて補間座標データを算出していたが、直前の３点、もしくはそれ以上の座標データに基づいて補間座標データを算出するようにしても構わない。より多くの座標データを用いることにより、実際の指の軌跡に近い座標の補間が可能となる。
【００８７】
また、上記説明では補間座標データとしてｘ座標、ｙ座標の両方とも算出するものとして説明したが、スクロール方向に対応する軸の座標のみ算出しても構わない。すなわち、図５〜７の例では、ｘ軸方向に画像がスクロールされるが、ＣＰＵ３０１はＣＰＵ４０１から通知された座標データに基づいてスクロール量を算出する際に、ｘ座標のみを使用し、ｙ座標は使用しない。よって補間座標データを算出する場合にも、ｘ座標のみ算出し、ｙ座標は０、もしくは予め決められた値を設定するようにしてもよい。
【００８８】
また、図５〜図７では、ＬＣＤ４０６の画面全体がスクロール表示される例について説明したが、ＬＣＤ４０６の画面のうち一部の表示領域に表示されているコンテンツのみスクロール表示する場合にも本発明は適用可能である。例えば、スキャナ部１３により複数ページからなる原稿をスキャンして生成された画像データを所定の表示領域に１ページ毎にプレビュー表示し、ドラッグ操作により他のページの画像の表示に切り替える場合（図１２（ａ））にも適用可能である。
【００８９】
また、図５〜７では左右方向にコンテンツがスクロールされる例について説明したが、上下方向や斜め方向にスクロールされる場合にも本発明は適用可能である。例えば、所定の表示領域にアドレス帳や印刷ジョブのリストを表示し、これらのリストをドラッグ操作により上下方向にスクロール表示する場合（図１２（ｂ））にも適用可能である。また、プレビュー画像の一部を拡大表示し、表示位置を変更するために、ドラッグ操作によって上下左右斜め方向へスクロール表示する場合にも適用可能である。
【００９０】
また、上記実施形態では、ノイズ抑制処理の影響で座標データの検出が遅れた場合について説明したが、座標データの検出が遅れる理由はこれに限ったものではなく、他の理由によって座標データの検出が遅れた場合でも本発明は適用可能である。
【００９１】
また、上記実施形態ではコピー機能、スキャナ機能等の複数の機能を有する画像形成装置を例として説明したが、このうち一部の機能のみを有する画像処理装置にも本発明は適用可能である。また、パーソナルコンピュータやＰＤＡ、携帯電話、ＦＡＸ、カメラ、ビデオカメラ、その他の画像ビューワ等、他の情報処理装置に適用しても構わない。
【００９２】
以上のように、本実施形態における情報処理装置は、タッチパネルへのユーザによるタッチ位置を示す座標を検出し、検出した少なくとも２点の座標間の変化量に基づいて、所定の表示領域に表示された画像をスクロールさせることが可能である。そして、当該情報処理装置は座標を検出してから次の座標を検出するまでの時間を計測し、所定の時間を超えた場合には、直前に検出した少なくとも２点の座標とその検出時間間隔とを用いて補間座標を算出する。そして、当該情報処理装置は、算出した補間座標に基づいてスクロール表示を制御する。これにより、ユーザによるドラッグ操作時にタッチ位置を示す座標の検出が遅れた場合であっても、算出した補間座標に基づいて画像がスクロールされるため、滑らかなスクロール表示が損なわれるのを抑制することが可能となる。
【００９３】
そして、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム又は装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【図１】
2017049849.tif 000003
【図２】
2017049849.tif 000004
【図３】
2017049849.tif 000005
【図４】
2017049849.tif 000006
【図５】
2017049849.tif 000007
【図６】
2017049849.tif 000008
【図７】
2017049849.tif 000009
【図８】
2017049849.tif 000010
【図９】
2017049849.tif 000011
【図１０】
2017049849.tif 000012
【図１１】
2017049849.tif 000013
【図１２】
2017049849.tif 000014