(57)【特許請求の範囲】
【請求項１】
タッチパネルを備え、入力された画像データに従って印刷ジョブを実行する印刷装置であって、
ユーザによるタッチ操作に従って前記印刷装置への指示を入力するための複数のボタンを表示する表示手段と、
前記表示手段によって表示される複数のボタンのうち、前記印刷装置で実行すべきジョブに対する設定を入力するための第１のボタンをタッチしている状態で、更に当該ジョブに対する別の設定を入力するための第２のボタンがタッチされた場合は、当該第２のボタンが示す設定を行わないように制御し、
前記第１のボタンをタッチしている状態で、更に前記印刷装置で実行中の印刷ジョブを中断するための第３のボタンがタッチされた場合は、当該第３のボタンへのタッチ操作に基づいて実行中の印刷ジョブを中断するよう制御する制御手段と、
を有する印刷装置。
【請求項２】
前記表示手段によって表示が行われる表示領域は、第１の領域と第２の領域とを含み、
前記第１のボタンと前記第２のボタンは、前記第１の領域に表示され、
前記第３のボタンは、前記第２の領域に表示される請求項１記載の印刷装置。
【請求項３】
前記第１の領域は、非優先領域であり、
前記第２の領域は、優先領域である請求項２記載の印刷装置。
【請求項４】
前記表示手段に表示される複数のボタンのうち、前記第２の領域に表示すべきボタンをユーザが選択可能である請求項２記載の印刷装置。
【請求項５】
前記表示手段によって表示が行われる表示領域に前記第２の領域を設けるか否かをユーザが選択可能である請求項２記載の印刷装置。
【請求項６】
前記印刷装置は、スキャナによって入力された画像データを印刷するコピー処理を実行する請求項１から５のいずれか１項に記載の印刷装置。
【請求項７】
前記第３のボタンは、実行中のコピージョブを中断するためのボタンである請求項６記載の印刷装置。
【請求項８】
前記タッチパネルは、マルチタッチを検知可能である請求項１から７のいずれか１項に記載の印刷装置。
【請求項９】
タッチパネルを備え、入力された画像データに従って印刷ジョブを実行する印刷装置の制御方法であって、
ユーザによるタッチ操作に従って前記印刷装置への指示を入力するための複数のボタンを表示する表示工程と、
前記表示工程において表示される複数のボタンのうち、前記印刷装置で実行すべきジョブに対する設定を入力するための第１のボタンをタッチしている状態で、更に当該ジョブに対する別の設定を入力するための第２のボタンがタッチされた場合は、当該第２のボタンが示す設定は行わないように制御し、
前記第１のボタンをタッチしている状態で、更に前記印刷装置で実行中の印刷ジョブを中断するための第３のボタンがタッチされた場合は、当該第３のボタンへのタッチ操作に基づいて実行中の印刷ジョブを中断するよう制御する制御工程と、
を有する印刷装置の制御方法。
【請求項１０】
請求項９に記載の制御方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置、その制御方法、及びプログラムに関するものである。
【背景技術】
【０００２】
従来の画像形成装置では、入力操作部としてメカ機構を有するボタン（以下では、ハードウェアボタンと称する）が一般的に利用されている。しかし、最近では、よりグラフィカルな液晶表示部と、液晶上に作られたグラフィカルな画像で形成されたボタン（以下では、ソフトウェアボタンと称する。）を指やタッチペン等で操作・入力を行うことが可能なタッチパネル（タブレット装置を含む。）を有する装置が知られている。
【０００３】
特許文献１には、ハードウェアボタンをほとんど備えないタッチパネルだけによる操作部で構成された装置が提案されている。また、このようなタッチパネルにおける同時入力数は、同時に１ポイントしかユーザ入力を受け付けないシングルタッチパネルが一般的であったが、近年は複数のポイントを同時に入力することが可能なマルチタッチパネルも存在する。マルチタッチパネルを用いた場合、画面のズーム等の感覚的な操作を入力するために同時多入力を適用することができる。タッチパネル上のボタンを操作する場合、特許文献１にも開示があるように、ユーザインタフェースの向上のために、不要な入力は捨てて同時に１つの入力しか受け付けないように制御することが望ましい。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２１１７０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術には以下に記載する問題がある。上述したように、ユーザ入力をタッチパネルで実現する装置が増加しているが、一方でタッチパネルと独立したハードウェアボタンは、いかなる状態においても常にユーザが押下できるという優位性を持っている。つまり、常に押したいもの、緊急に停止するためのスイッチ等、重要な機能を有するボタンについては、タッチパネル上に配置せず、独立したハードウェアボタンとして設けることが望ましい。例えば、タッチパネルにユーザが入力操作を行っている入力継続中であっても、仮に何からの障害でタッチパネルが押されたままの状態になったとしても、物理的なボタンは「常に押せる」という特徴を有しているため、ユーザビリティの向上に貢献している。
【０００６】
しかし、このハードウェアボタンを削除することができれば、装置のよりスマートなビジュアル表現を行うことが可能であり、コストを削減することもできる。ハードウェアボタンを削除するには、タッチパネル上に物理的なボタンを常に押せる位置に表示するだけでよい。しかし、通常タッチパネルは１つの指でのみボタン入力するように作られているため、このままでは物理的なボタンが持っている「常に押せる」という特徴が満たせないことになる。
【０００７】
本発明は、上述の問題に鑑みて成されたものであり、ソフトウェアボタンよりも優先的に押下可能なハードウェアボタンを、その優位性を損なうことなくソフトウェアボタンで実現する印刷装置、及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、タッチパネルを備え、入力された画像データに従って印刷ジョブを実行する印刷装置であって、ユーザによるタッチ操作に従って前記印刷装置への指示を入力するための複数のボタンを表示する表示手段と、前記表示手段によって表示される複数のボタンのうち、前記印刷装置で実行すべきジョブに対する設定を入力するための第１のボタンをタッチしている状態で、更に当該ジョブに対する別の設定を入力するための第２のボタンがタッチされた場合は、当該第２のボタンが示す設定を行わないように制御し、前記第１のボタンをタッチしている状態で、更に前記印刷装置で実行中の印刷ジョブを中断するための第３のボタンがタッチされた場合は、当該第３のボタンへのタッチ操作に基づいて実行中の印刷ジョブを中断するよう制御する制御手段と、を有する。
【発明の効果】
【０００９】
本発明は、ソフトウェアボタンよりも優先的に押下可能なハードウェアボタンを、その優位性を損なうことなくソフトウェアボタンで実現する画像形成装置、及びその制御方法を提供できる。
【００１０】
これにより、よりスマートなビジュアル的な装置表現を実現することが可能となり、より魅力的な製品をデザインすることが可能となる。
【図面の簡単な説明】
【００１１】
【図１】画像形成装置の構成例を示すブロック図である。
【図２】コントローラの構成例を示すブロック図である。
【図３】操作部の構成例を示す図である。
【図４】タッチパネル上のボタン制御を示す図である。
【図５】本実施形態におけるタッチパネルのみの操作部を示す図である。
【図６】本実施形態における動作フローを示すフローチャートである。
【図７】ジョブ制御の詳細を説明する図である。
【図８】優先領域への押下に対する制御を示すフローチャートである。
【図９】変形例となるシングルタッチ入力のタッチパネルにおける優先領域の判定方法を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を用いて説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１３】
＜画像形成装置の構成＞
まず、図１を参照して、本実施形態における画像形成装置１の構成例について説明する。画像形成装置１は、スキャナ装置２、コントローラ３、プリンタ装置４、操作部５、ハードディスク６及びＦＡＸ装置７を備える。スキャナ装置２は、原稿から光学的に画像を読み取りデジタル画像に変換する。プリンタ装置４は、デジタル画像を記録材に出力する。操作部５は、画像形成装置１の操作を行なうためのユーザインタフェースである。ハードディスク６は、デジタル画像や制御プログラム等を記憶する。また、ＦＡＸ装置７は、電話回線等にデジタル画像を送信する。コントローラ３は、各コンポーネントと接続され、各モジュールに指示を出すことで画像形成装置１上でジョブを実行する。
【００１４】
画像形成装置１は、ＬＡＮ８経由でコンピュータ９からデジタル画像の入出力、ジョブの発行や機器の指示等も行なうことが可能である。スキャナ装置２は、自動的に原稿束を逐次入れ替えることが可能な原稿給紙ユニット２１と、原稿を光学スキャンしデジタル画像に変換することが可能なスキャナユニット２２とを備え、変換された画像データをコントローラ３に送出する。プリンタ装置４は、紙束から一枚ずつ逐次給紙可能な給紙ユニット４２と、給紙した紙に画像データを印刷するためのマーキングユニット４１と、印刷後の紙を排紙するための排紙ユニット４３とを備える。
【００１５】
画像形成装置１は多彩なジョブを実行可能である。一例を以下に記載する。
・複写機能
スキャナ装置２から読み込んだ画像をハードディスク６に記録し、同時にプリンタ装置４を使用して印刷を行なう。
・画像送信機能
スキャナ装置２から読み込んだ画像をＬＡＮ８を介してコンピュータ９に送信する。
・画像保存機能
スキャナ装置２から読み込んだ画像をハードディスク６に記録し、必要に応じて画像送信や画像印刷を行なう。
・画像印刷機能
コンピュータ９から送信された例えばページ記述言語を解析し、プリンタ装置４で印刷する。
【００１６】
＜コントローラの構成＞
次に、図２を参照して、コントローラの構成例について説明する。コントローラ３はメインボード２００と、サブボード２２０とを備える。メインボード２００は、いわゆる汎用的なＣＰＵシステムである。メインボード２００は、ボード全体を制御するＣＰＵ２０１、ブートプログラムが含まれるブートロム２０２、ＣＰＵがワークメモリとして使用するメモリ２０３、外部バスとのブリッジ機能を持つバスコントローラ２０４、及び電源断された場合でも消えない不揮発性メモリ２０５を備える。さらに、メインボード２００は、ストレージ装置を制御するディスクコントローラ２０６、半導体デバイスで構成された比較的小容量なストレージ装置であるフラッシュディスク（ＳＳＤ等）２０７、ＵＳＢを制御することが可能なＵＳＢコントローラ２０８等を備える。メインボード２００には外部に、ＵＳＢメモリ２０９、操作部５、及びハードディスク６等が接続される。
【００１７】
サブボード２２０は、比較的小さな汎用ＣＰＵシステムと、画像処理ハードウェアから構成される。具体的には、サブボード２２０は、ボード全体を制御するＣＰＵ２２１、ＣＰＵがワークメモリとして使用するメモリ２２３、外部バスとのブリッジ機能を持つバスコントローラ２２４、及び電源断された場合でも消えない不揮発性メモリ２２５を備える。さらに、サブボード２２０は、リアルタイムデジタル画像処理を行なう画像処理プロセッサ２２７とデバイスコントローラ２２６とを備える。外部のスキャナ装置２とプリンタ装置４はデバイスコントローラ２２６を介してデジタル画像データの受け渡しを行なう。ＦＡＸ装置７はＣＰＵ２２１が直接制御を行なう。なお、図２はブロック図であり簡略化している。例えばＣＰＵ２０１、ＣＰＵ２２１等にはチップセット、バスブリッジ、クロックジェネレータ等のＣＰＵ周辺ハードウェアが多数含まれているが、本発明を説明する上で必須の構成ではないため説明を省略する。
【００１８】
ここで、コントローラ３の動作について、記録材への画像複写（コピージョブ）を一例に説明する。ユーザが操作部５から画像複写を指示すると、ＣＰＵ２０１は、ＣＰＵ２２１を介してスキャナ装置２に画像読取命令を送る。スキャナ装置２は、紙原稿を光学スキャンしデジタル画像データに変換して、デバイスコントローラ２２６を介して当該画像データを画像処理プロセッサ２２７に入力する。画像処理プロセッサ２２７は、ＣＰＵ２２１を介してメモリ２２３にＤＭＡ転送を行いデジタル画像データの一時保存を行なう。
【００１９】
ＣＰＵ２０１は、デジタル画像データがメモリ２２３に一定量もしくは全て格納されたことが確認できると、ＣＰＵ２２１を介してプリンタ装置４に画像出力指示を出す。ＣＰＵ２２１は、画像処理プロセッサ２２７にメモリ２２３の画像データの位置を教える。プリンタ装置４からの同期信号に従ってメモリ２２３上の画像データは、画像処理プロセッサとデバイスコントローラ２２６を介してプリンタ装置４に送信され、プリンタ装置４によって記録材にデジタル画像データに基づいた画像が印刷される。複数部の記録材に対して印刷を行なう場合、ＣＰＵ２０１がメモリ２２３の画像データをハードディスク６へ保存することにより、２部目以降はスキャナ装置２から画像を受信することなく、ハードディスク６からプリンタ装置４に画像を送ることが可能である。
【００２０】
＜操作部の構成＞
次に、図３を参照して、ユーザインタフェースである操作部５の構成例について説明する。なお、ここでは、一般的な操作部について説明し、本実施形態に係る操作部についての詳細は図５を参照して後述する。３０１は操作部５の外観である。３０２はＬＥＤが含まれ、例えばエラー時に点滅してユーザにエラーを通知するタリーランプである。３０３はＬＣＤタッチパネル領域であり、ビットマップを表示可能なＬＣＤ装置（表示部）の上にタッチパネルを重ねたものである。３０４ハードキー領域である。３０５は数字ボタンである。ジョブの実行数や電話番号等の数字を入力する際に使用される。３０６は省電力移行・復帰ボタンである。これを押下することで、装置を省電力状態に移行したり復帰したりすることが可能である。３０７はジョブ開始ボタンである。このボタンを押すことでジョブを開始することが可能である。３０８は停止ボタンであり、実行中のジョブを終了させることが可能である。
【００２１】
次に操作部５の内部について説明する。３０９で囲った領域が３０１操作部外観に含まれるブロックである。まず操作部５の入力経路について説明する。３１０はハードキー領域を示し、３０４に相当する領域である。３１１、３１２、３１３、３１４は各々３０６、３０８、３０５、３０７に対応したボタンである。３１５はキーマトリクスである。通常このようにある程度の個数を持つボタンの場合、すべてに検出リソースを割り当てるのではなく、キーマトリクスを構成してコストを抑える。キーマトリクスはキーエンコーダ３１６でコート化され、ＣＰＵ３１９が何のキーが押されたか、離されたのかを知ることが可能である。
【００２２】
３１７はＬＣＤ（液晶画面）を含むタッチパネルである。タッチパネルからの入力は、タッチパネルエンコーダ３１８によりコード化され、ＣＰＵ３１９は、タッチパネル上のどの座標が押されたか・離されたか・押され続けているかを知ることができる。ＣＰＵ３１９は操作部５を制御する小さなＣＰＵであり、先に述べたキーおよびタッチパネル入力から、通信用パケットを作成する。そしてインタフェース３２０を介して入力情報を操作部５から機外へ出力する。３２１は３２０に対応したインタフェースである。
【００２３】
以上の経路により、操作部５のハードキーもしくはタッチパネルの入力情報をＣＰＵ２０１は知ることが可能である。ＣＰＵ２０１は全体を制御するマスタＣＰＵであるため、キー入力に応じてジョブを生成したり、ジョブを削除したりする。
【００２４】
次に操作部５の出力経路について説明する。ＣＰＵ２０１がＬＣＤに対して画面出力を行う場合、表示制御手段として機能し、不図示のＶＲＡＭに対して描画を行う。ＶＲＡＭはビデオＲＡＭであり、ＶＲＡＭに書かれたデータはＬＣＤのリフレッシュレートに応じて、インタフェース３２１、インタフェース３２０、ＬＣＤＣ（ＬＣＤコントローラ）３２２により定期的に読みだされ、ＬＣＤ画面表示を行う。画面のデータは非常に大きいため、ビデオ系標準技術でＣＰＵは初期化を行った後は、ＤＲＡＭ上に仮想的に作られたＶＲＡＭ領域にビットマップを書き込むだけでＬＣＤ出力が可能な構成を持つものが一般的なものとなる。このようにＣＰＵ２０１は好きな画像をタッチパネル３１７上に表示することが可能である。装置異常等の情報をＣＰＵ２０１が検出した場合、インタフェース３２１、インタフェース３２０を介しＣＰＵ３１９に通知される。ＣＰＵ３１９は、異常を報知するために、ドライバ３２３を介してタリーランプ３２４を点滅させたり、ブザー３２５を鳴らしたりすることが可能である。以上が操作部５の詳細説明であり、図２コントローラ部の外部に位置し、ユーザ操作・ユーザ通知を行うための重要なユニットとなる。
【００２５】
３２６はＬＣＤ上に描画されたボタンである。多くのＬＣＤ上のボタンは、ビットマップで影をつける等を行い、膨らんだように見せることで、その領域が独立したボタンのように見せている。ＣＰＵ２０１はこのボタンを描画した座標位置を覚えておき、その領域内がタッチパネルから入力された場合にそのボタンが押されたように制御する。例えば、触った時にボタンがへこんだように描画することでユーザはそのボタンを押したことを目で認識でき、また、離したときにボタンが膨らんだように描画することで手を離したことをビジュアル的に把握することが可能である。なお、本実施例ではタッチパネルを用いるが、タブレットのようにペンのように専用の入力装置を持つものについても本発明を適用することが可能である。
【００２６】
＜ボタン制御＞
次に、図４を参照して、タッチパネル上のボタン制御について説明する。通常、タッチパネル上のソフトウェアボタンは、図３のボタン３２６のように２次元で構成されるため、押下位置を検出する際には、Ｘ方向、Ｙ方向両方の判定を行う必要がある。しかし、これらの判定は同様に扱われるため、説明を簡略化するために１次元による表現を図４では用いている。つまり、図３に示す３２７のラインでＬＣＤパネルを切って断面図を見た場合、３２８の断面が図４の４３５のライン、ＬＣＤ上に描画されているボタン３２６のＸ方向である幅３２９が図４の通常ボタン４３６に相当する。矢印は操作者の指がＬＣＤ画面上をタッチした（下向き矢印）・離した（上向き矢印）ことを意味する。なお、図４には、押下パターンのケース４００、４０３、４０６、４１０、４１５、４２０、４２５を示す。
【００２７】
ボタンの判定方法にはおおよそ２つの一般的な判定方法がある。
Ａ．ボタン領域内で押下した時点で、検出するパターン。
Ｂ．ボタン領域内で押下し、かつ、ボタン領域内で手を離したときに検出するパターン。
【００２８】
ケース４００は最もスタンダードなタッチケースである。４０１で通常ボタン４３６領域内を手で押下する、そして、４０２では通常ボタン４３６領域内で手を離す行為を行うものである。ケース４００の場合、上記判定方法Ａ、Ｂともにボタン押下を判定できる。
【００２９】
ケース４０３は、４０４で通常ボタン領域を押下し、押下したまま通常ボタンの領域外まで手を移動させ、４０５の地点で手を離す操作を行うものである。この場合、上記判定方法Ａは押下を判定できるが、判定方法Ｂでは押下を判定することができない。
【００３０】
これらの違いはユーザにとって以下のような感覚を持たせる。具体的には、Ａの場合、触った時点で即入力であるため、タッチ入力を軽快に感じることが可能である。例えば大きなボタンの電卓等をＬＣＤ上に表示した場合、操作感を向上させることが可能である。しかし、判定方法Ａの場合は間違って触ってしまった場合でも、その時点で入力されてしまう。つまり、タッチパネルはパネル自体に凹凸がなく、ボタンを押しこむ、という操作を行うことがあるため、意識せずに触れてしまっただけで入力されたことになる。この問題を解決させるため、押下に正確性を持ちたい場合はＢのようにボタン領域内で押されて離されたことを検出し、「離された時にボタンが押された」と判断する方法が用いられる。この場合間違って押した場合、ボタンの領域外まで指を持って行って離すことで、ボタン入力を無かったことにすることが可能である。これがケース４０３の操作に相当する。
【００３１】
ケース４０６は、４０７でボタン外を押下したままボタン内まで手を持っていき、４０８においてボタン内で手を離した場合である。この場合は「離した時にボタン入力が有り」という判定をすればボタン入力を有効とすることも可能であるが、ユーザにとっては違和感を覚えるため通常はこのような入力を許可しない。以上、ＬＣＤ上のボタン入力の基本的なパターンについて説明した。これ以外の入力方法もあるが、本発明はこのアルゴリズムに言及するものではないため省略する。
【００３２】
次に、複数の指でＬＣＤにタッチした場合のケースについて説明する。ＬＣＤタッチパネルはシングルタッチのもの、マルチタッチのものに別れる。これはタッチパネル３１７と、タッチパネルエンコーダ３１８、ＣＰＵ３１９の構成により作り分けることが可能である。近年マルチタッチを入力することが可能な装置も出てきている。
【００３３】
先に述べたように通常タッチパネルは一本の指で操作するものである。これは複数本の指で操作する（多点押し）と誤入力が起こりやすいためであり、複数の入力が有った時点で入力を無効化するように制御することが一般的である。例えば、従来技術においては、マルチタッチを有するタッチパネルを有する装置において、画面のビュー（領域）を構成するクラス毎にシングルタッチ、マルチタッチを許可・不許可するような構成が提案されている。これはボタンの押下についてはシングルタッチで構成した方が入力ミスを防ぐことが可能であり、ユーザインタフェースの操作性を向上させることが可能だからである。マルチタッチはその動作により画面の拡大・縮小等、画面上の領域を指定するために使用するのではなく、タッチパネルに対する「ジェスチャ」の入力方法として用いるのが好ましいと考えているからである。
【００３４】
以下では、複数ポイントが同時に入力された場合の好ましい制御について図４を参照して説明する。ケース４１０は、４１１でボタン内領域が第１押下され、この指が離される前に、４１２で異なる指によりボタン外領域が第２押下される。その後、４１３で第１押下が解除され、４１４で第２押下が解除されたことを意味する。このケースでは４１１の第１押下は不正な第２押下４１２発生により、押下をキャンセル（無かったことに）する制御が一般的に多く用いられる。つまり、４１３の手が離されたイベントは「ボタン領域内で押された」というイベントがキャンセルされているため、通常ボタンは押されていないことになる。このような制御がボタン押下の正確性を向上させ、ユーザの操作性向上につながっている。
【００３５】
同様に４１５のケースでは、４１６で第１ボタンを押下、４１７で第２ボタンを押下、４１８で第１ボタンを離す、４１９で第２ボタンを離す、という動作を行った場合を示す。このケース４１５では、第１ボタンも第２ボタンも、押されてから離されるまでの間で異なる不正なタッチパネル入力を検知したため、ボタン押下を有効としないことが望ましい。このように、ＬＣＤの画面に表示したボタンに対して、複数のタッチ入力が有った場合、入力をキャンセルすることで操作性を向上させてもよい。
【００３６】
＜タッチパネルのみの操作部の構成＞
次に、図５を参照して、本発明をより効果的に適用するために有効な、タッチパネルのみの操作部の構成例について説明する。図３がメカ機構を持つ物理的なボタンを有する操作部に対し、図５は５０１で示す全領域がタッチパネル液晶となる。５０２はＬＣＤタッチパネル５０１上に描画した３０４に相当するビットマップであり、物理的な機構を持たず、タッチパネルによって従来互換で操作できるようにしたボタン領域である。ボタン５０３、５０４、５０５は、それぞれボタン３０７、３０８、３０６に相当するソフトウェアボタンである。５０６は、既存の描画領域であり、３０３で表示していたものが表示される。
【００３７】
このように物理的なボタンを無くすことにより、３１０内のハードキーユニット及び３１６キーエンコーダを無くすことが可能であり、コストダウンを実現できる。また、５０２の領域のボタンを表示しないようにし、５０１の全領域を使用して、例えば画像を大きく表示したりと、広い画面を用いてさまざまな用途に使用することが可能となる。さらに、シンプル・スマートな形態となるためビジュアル的な向上も期待できる。
【００３８】
しかし、図５に示す操作部の構成においても問題がある。人間はこのような装置入力を感覚的にとらえるものであり、押下した感触を持たないタッチパネルはクリック感が無いため操作に不快感を覚える場合がある。これを回避するための発明も多く出されている。また、物理的なボタンと異なり「常に押せなくなる」という問題もあり、本発明はこの問題を解決する手法を提案する。
【００３９】
図３に示す操作部はタッチパネル（ソフトウェアボタン）と物理的なボタン（ハードウェアボタン）が独立した構成になっており、タッチパネルを押下したままの状態でも、３１０に含まれる物理的なボタン３１１〜３１４を常に押下することが可能である。つまり、物理的なボタンは、タッチパネルの状態に関わらず、「常に押せる」という優位性を有している。この優位性は全てをタッチパネルで入力するＩ／Ｆにしてしまうと失われることになる。具体的な問題は先のケース４１５で説明したパターンであり、第１の押下中に第２の押下が発生した場合、押下を無効とする制御がなされてしまうことになる。
【００４０】
この特性により問題が発生するのは停止ボタン３１２となる。停止ボタン３１２は常に押下することが可能であり、ジョブの停止イベントを発行することができる。一方、タッチパネル上のソフトウェアボタンとして上記停止ボタンを実現する場合、タッチパネル上の任意の場所に、指を一本置いたままにするだけで停止ボタンが押せない状態が発生してしまう。操作者自身が２本の指でこのような操作を行う可能性は低いが、例えばタッチパネルを枠部材が押したままの状態になったり、ピンのような気付かないゴミが接触している場合等も同様に停止ボタンが押せなくなってしまう。
【００４１】
また感覚的な問題もある。コンピュータの世界は年々物理世界をシミュレーションしてきている。タッチパネルも物理ボタンをシミュレーションしている一例であり、このような一見通常発生しないような事象であっても、元の構成が持っている「性質」が失われる場合、これに違和感を覚えることになる。先に述べた「クリック感が無くなる」も同様の例である。これらを向上させることでよりマンマシンインタフェースを向上させることができる。
【００４２】
＜動作フロー＞
次に、図６を参照して、上記感覚的な問題を解決するための本発明の具体的な動作フローについて説明する。なお、以下で説明する処理は、コントローラ３のＣＰＵ２０１によって統括的に制御される。タッチパネルはシングルタッチ／マルチタッチの物に分類されるが、以下の図６のフローは例えば、
１．マルチタッチ入力装置を有するが、ユーザビリティのためにシングルタッチエミュレーションを行い、同時に一つの入力しか有効にしないケース（ケース４１５の４１７）。
２．シングルタッチ入力装置を有するが、第１の押下中に第２の押下が発生した場合で、かつ、ＣＰＵ３１９は第２の押下を破棄せずに処理し、ＣＰＵ２０１へ座標情報を送ってくるケース（ケース４１５の４１７）
で採用可能なケースである。
【００４３】
本フローチャートでは、インタフェース３２０、３２１を介して送られてきたタッチパネル座標を処理する。まず、Ｓ６０１において、ＣＰＵ２０１は、タッチ入力待ち処理を実行する。タッチ入力待ち処理において、タッチ入力を検出すると、Ｓ６０２に進む。Ｓ６０２において、ＣＰＵ２０１は、入力種別を判定する。ここで、入力種別とは、当該入力が操作者によるタッチパネルに対しての押下と、押下中のタッチパネルからの解放とを含む。したがって、ＣＰＵ２０１は、操作者の入力に従って、操作者がタッチパネルに対して押下したことを示す押下情報又は操作者がタッチパネルに対して解放したことを示す解放情報を、タッチパネルにおける表示部の座標位置とともにＣＰＵ３１９から通知される。入力種別が「押下」の場合、Ｓ６０３に進み、ＣＰＵ２０１は、第１入力（第１押下）か否かを判定する。ここで、第１入力とは、現在他の入力が操作中ではなく、最初の入力であることを示す。第１入力であればＳ６０４に進み、ＣＰＵ２０１は、第１ボタンのボタン種別／押下座標を保持し、処理をＳ６０１に戻し入力変化を待つ。
【００４４】
次に、Ｓ６０２において入力種別が「解放」と判定した場合、Ｓ６０５に進み、ＣＰＵ２０１は、第１ボタンのボタン種別に応じた領域内で手が解放されたか否かを判定する。具体的には、ＣＰＵ２０１は、Ｓ６０４で保持された押下座標に対応するボタンの領域内又は領域近傍で解放が行われたか否かを判定する。違う場合はボタンをはみ出して離したとみなし（ケース４０３）、即ち、入力がキャンセルされたとみなし、Ｓ６０７に進み、ＣＰＵ２０１は、Ｓ６０４で行う第１の保持情報を削除し、Ｓ６０６に進む。一方、Ｓ６０５で同じ領域内だったと判定した場合もＳ６０６に進む。Ｓ６０６において、ＣＰＵ２０１は、解放されたボタン種別のイベントを発行し、処理をＳ６０１に戻す。イベントが発生されると、イベントに応じた処理が動作する（ケース４００）。
【００４５】
第１の入力中、即ち、Ｓ６０４の後にＳ６０１で入力を待っている場合にタッチ入力があり、Ｓ６０２でキー入力種別が「押下」であった場合、Ｓ６０３において、ＣＰＵ２０１は、第１入力でないと判定し、Ｓ６０８に進む。Ｓ６０８において、ＣＰＵ２０１は、優先領域判定手段として機能し、第２入力（第２押下）されたボタンが優先領域か否かを判定する。ここで、優先領域とは、他のソフトウェアボタンよりも優先的に押下可能なソフトウェアボタンが表示されている領域を示し、例えば、実行中のジョブを停止させる停止ボタンや、装置自体を停止させる停止ボタンが表示されている領域を示す。第２入力が優先領域ではない場合は、Ｓ６０９に進み、ＣＰＵ２０１は、第１ボタンのタッチが優先領域か否かを判定して、優先領域でない場合は第１ボタンの保持をキャンセルする（ケース４１５）。
【００４６】
一方、Ｓ６０８で第２ボタンが優先領域であると判定した場合はＳ６１０に進み、ＣＰＵ２０１は、第１ボタンの入力が優先領域であるか否かを判定する。優先領域である場合は第２ボタンの入力を無かったことにして、処理をＳ６０１に戻す。一方、第１ボタンが優先領域では無い場合は、第２ボタンが優先であるため、Ｓ６１１に進み、ＣＰＵ２０１は、第１ボタンの保持をキャンセルして、Ｓ６１２で第２ボタンのイベントを発行（ケース４２０の４２２）する。（ケース４２０の４２３の解放されたタイミングでイベントを発行したい場合は、Ｓ６１２の処理をＳ６０４と同様「第２のボタンのボタン種別と座標を保持」とすればよい。次回、手が解放された場合にＳ６０２乃至Ｓ６０４、Ｓ６０６の経路で第２のタッチイベントが優先的に処理される。
【００４７】
このようなフローを用いることにより、優先的なボタンを特別な判定で優先順位を高く入力することが可能となる。したがって、本フローを用いれば、ケース４２０の４２２の時点で優先ボタン押下を検出することが可能であり、また、４２２ではなく同一ボタン内における解放された４２３時に優先ボタン押下とすることも可能である。また、４２４ケースにおける４２７で優先ボタンをキャンセルすることも可能である。
【００４８】
なお、実際にタッチパネルからはもっと多くの情報が送られてくる。例えば移動して座標が更新された等の情報がこれに当たる。これら全てのパターンを書くと非常に膨大な量となるため、ここでは、本発明のポイントである第１入力中における第２入力の制御フローについてピックアップして説明した。
【００４９】
＜ジョブ制御＞
次に、図７を参照して、ジョブ制御の詳細について説明する。図７に示す各ブロック７０１〜７０９は、コントローラ３によって実現される機能ブロックを示す。７０１はジョブ管理部である。例えば３１４コピーボタンが押下された場合にこのジョブ管理部７０１にコピージョブ開始のイベントが通知される。ジョブ管理部７０１は、７０２のリソース管理部に対してリソースの確保を行う。マルチファンクションの画像形成装置１においては、例えばネットワークスキャナとプリンタ出力は独立して動作するため、当該ジョブがどのデバイスを用いて動作するのかを仕様として持っておき、ジョブの種類に応じてデバイスをロックする仕組みが必要となる。デバイスのロックが完了すると、コピージョブ管理部７０３にイベントを送信する。コピージョブ管理部７０３はデバイスのクラスであるスキャナ管理部７０４とプリンタ管理部７０５に各々指示を出し、スキャナエンジン７０６から入力した画像をプリンタエンジン７０７に出力することになる。
【００５０】
ここで、リソース管理部７０２で管理される情報について説明する。７１０はリソースであり、メモリやポート等の物理的可動部を持たないものもあるが、本実施例では物理的な装置のみを記載する。７１１はデバイス状態を示す。ＯＦＦは電源ＯＦＦ、Ｓｌｅｅｐは省電力状態、Ｉｄｌｅは待機状態、Ｒｕｎｎｉｎｇは動作中状態、Ｅｒｒｏｒはエラー中状態である。これらの状態は各デバイスからのステータスから変化するもの、７０４〜７０９の各デバイス管理部が管理している状態が一括に管理されている。
【００５１】
例えば、先ほどのコピージョブでスキャン処理が完了してプリント出力だけが残っている状態であった場合、７１２に示すようにスキャナはＩｄｌｅ状態になっており、７１３に示すようにプリンタはＲｕｎｎｉｎｇ状態になっている。また、デバイスのロック状態７１４はプリンタだけであり、この状態ではスキャナのジョブは投入可能であることが分かる。
【００５２】
また、コピージョブ７１５は、スキャナとプリンタのデバイスを用いる、という仕様を持っており、この仕様を元にジョブの投入可否を判断できる。例えば、現在プリンタはロック状態なので即座にコピー動作を行うことができず、コピーでもスキャンだけなら動作することも可能である。
【００５３】
このようにマルチファンクションで動作する操作画面は、例えば、画面７１６のようになる。７１７はファンクションタブであり、ファンクションを指定することにより複数のファンクション画面を瞬時に切り替えるためのボタンである。７１８はファンクション画面外に配置した、全体停止ボタンである。７１９は特定ファンクション内に配置したファンクション停止ボタンである。
【００５４】
物理的なスイッチをタッチパネル上のソフトウェアボタンで実現する場合に最も影響が大きいのは停止ボタンである。停止ボタンは７１９のように特定ジョブを停止する場合、７１８のように装置全体を停止させる場合がある。本発明は、タッチパネル上のボタンを一つしか押せない状態に制御するために、このような重要なボタンを押せない状況を作り出せてしまうという問題を解決するものである。具体的には、本発明はこのように装置動作を伴うボタン（停止ボタン７１８など）を優先的に制御することにより、より安全な構成にすることが可能となる。
【００５５】
＜優先領域への押下に対する制御＞
次に、図８を参照して、優先領域への押下に対する制御について説明する。なお、以下で説明する処理は、コントローラ３のＣＰＵ２０１によって統括的に制御される。８０１のフローチャートは、強制的に全てを停止するフローである。これは緊急度の高いものについて採用するのが効果的である。第２タッチが優先領域であると判断した時点で、優先領域に入力された第２タッチを有効とし、即座に全ジョブを停止させるものである。
【００５６】
具体的には、Ｓ８１１において、ＣＰＵ２０１は、第２タッチが優先領域への押下であるか否かを判定する。優先領域以外への押下の場合はそのまま処理を終了する。一方、優先領域への押下である場合は、Ｓ８１２において、ＣＰＵ２０１は、第２タッチを受理し、Ｓ８１３で全ジョブを停止する。ここでは、押下された優先領域が停止ボタン７１８であることを想定しているため、Ｓ８１３で全ジョブを停止している。
【００５７】
８０２のフローチャートは、動作しているデバイスを停止するフローである。動作しているデバイスがあるかどうかを判定し、動作デバイスが有る場合、優先領域に入力された第２タッチを受理し、例えば７１３から逆引きできる７１５のジョブ種類に対して、ジョブの停止イベントを発行する。具体的には、Ｓ８２１において、ＣＰＵ２０１は、第２タッチが優先領域への押下であるか否かを判定する。優先領域以外への押下の場合はそのまま処理を終了する。一方、優先領域への押下である場合は、Ｓ８２２において、ＣＰＵ２０１は、デバイスが動作中であるか否かを判定する。デバイスが動作中でない場合はそのまま処理を終了する。一方、デバイスが動作中である場合は、Ｓ８２３において、ＣＰＵ２０１は、第２タッチを受理し、Ｓ８２４で動作中のデバイスを停止するとともに、関連するジョブを停止する。
【００５８】
８０３のフローチャートは、特定ジョブだけを停止するフローである。動作しているジョブもしくは特定のファンクション配下に配置された停止ボタン（停止ボタン７１９など）に対しての入力に関する制御であり、優先領域に割り当てられた停止ボタンに対応したコピージョブ７１５を検出し、当該ジョブだけを停止させる。具体的には、Ｓ８３１において、ＣＰＵ２０１は、第２タッチが優先領域への押下であるか否かを判定する。優先領域以外への押下の場合はそのまま処理を終了する。一方、優先領域への押下である場合は、Ｓ８３２において、ＣＰＵ２０１は、当該ジョブが動作中であるか否かを判定する。当該ジョブが動作中でなければそのまま処理を終了する。一方、当該ジョブが動作中であればＳ８３３に進み、ＣＰＵ２０１は、当該ジョブを終了させる。
【００５９】
なお、本発明は停止ボタンだけでは無く、さまざまな入力に応用できる。例えば、常に押下可能な優位性を有している現行のハードウェアボタン、例えば、コピーボタン、省電力ボタン等をソフトウェアボタンで実現する場合には、上述した停止ボタンと同様の制御を適用することができる。また、音量調整や画面の明度変更等の入力にも応用することが可能である。更には、その時にタッチパネル画面上に表示されている内容に対応する機能やソフトウェアに対して何らかの指示をするためのボタン以外のボタン、即ち機能やソフトウェアに関係なく、タッチパネルを備える装置そのものに対して実行すべき処理を指示するためのボタンに適用することができる。その一例が停止ボタンであり、停止ボタンが押下されれば、その時にタッチパネル画面上に表示されている内容に関係なく停止の処理が実行されることになる。
【００６０】
＜変形例＞
＜シングルタッチ入力のタッチパネル＞
次に、シングルタッチ入力を採用するタッチパネルに対して、本発明を適用する場合の例について説明する。シングルタッチ入力のタッチパネルの場合、操作部５のＣＰＵ３１９は、第１の入力を検出した後に、ＯＦＦになるのを待つ一方で、第２のタッチが発生してもＣＰＵ２０１に通知しないように制御する。このような制御を採用する場合、ＣＰＵ３１９上で優先領域の押下に基づいて制御を変更する必要がある。以下では、図９を参照して、ＣＰＵ３１９上の制御フローについて説明する。なお、以下で説明するＣＰＵ３１９は、優先領域判定手段、入力制御手段、通知手段として機能する。
【００６１】
Ｓ９０１において、ＣＰＵ３１９は、各Ｈ／Ｗを初期化する。続いて、Ｓ９０２において、ＣＰＵ３１９は、各種エラーチェックを行い制御プログラムを実行する。Ｓ９０３において、ＣＰＵ３１９は、受信スレッドを起動する。受信スレッドはインタフェース３２０に対して常にリードを行いＣＰＵ２０１からの命令を受信するためのスレッドである。受信スレッドではＳ９０８乃至Ｓ９１２の処理が実行される。
【００６２】
Ｓ９０８において、ＣＰＵ３１９は、パケットの受信待ちを行う。パケットを受信すると、Ｓ９０９に進み、ＣＰＵ３１９は、パケット種別を判定する。判定したパケット種別に基づいて各種処理を実行し、Ｓ９０８に処理を戻す。具体的には、ＣＰＵ３１９は、Ｓ９１０でブザーを鳴らし、Ｓ９１１ではタリーランプを制御し、Ｓ９１２では優先領域の設定又は解除を行う。
【００６３】
Ｓ９０３で受信スレッドを起動させると、Ｓ９０４に進み、ＣＰＵ３１９は、そのまま送信スレッドとして制御を行い、キー・タッチパネルからのイベント待ちに遷移する。操作部５は、電源が投入されるとこのように起動して独立してスタンバイ状態になる。ＣＰＵ２０１はタッチパネル３１７に対して優先ボタンを配置する場合があるが、その際にインタフェース３２０、３２１を介して優先領域を通知する。
【００６４】
タッチパネル３１７が押下されるとＳ９０５に進み、ＣＰＵ３１９は、優先領域への入力であるか否かを判定する。この優先領域の判定は図６のフローチャートをそのまま用いれば良く、優先領域に対する、優先領域判定に従ってＳ９０６で、ＣＰＵ３１９は、パケットを生成し、生成したパケットをＳ９０７でＣＰＵ２０１へ送信する。このように操作部５の内部で優先領域の判定処理を行うことにより、このようなシングルタッチ入力のタッチパネルにおいても本発明を適用することが可能である。なお、ＣＰＵ２０１は、従来からタリーランプ３２４やブザー３２５を制御するパケットも通知しており、各々Ｓ９１０、Ｓ９１１でパケットの解析・Ｈ／Ｗ制御を行うため既存のＩ／Ｆを追加するだけでよく、Ｈ／Ｗのコストアップ無しに実現することができる。
【００６５】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005735841.tif 000002
【図２】
0005735841.tif 000003
【図３】
0005735841.tif 000004
【図４】
0005735841.tif 000005
【図５】
0005735841.tif 000006
【図６】
0005735841.tif 000007
【図７】
0005735841.tif 000008
【図８】
0005735841.tif 000009
【図９】
0005735841.tif 000010