次に本発明を実施するための最良の形態について図面を参照して説明する。
〔第1実施形態〕
図1は、本発明の第1実施形態を示す拡張画像処理システムを適用可能な画像処理システム構成を説明する図である。
図1において、拡張画像処理システム10は、画像処理装置100(本実施形態では、ディスプレイユニットを具備する操作部と、スキャナ部、ハードディスク等のメモリユニット、画像処理ユニット、データ通信ユニット、プリント部等を具備する画像形成装置を、画像処理装置100の一例として説明する)と、拡張コントローラ103(本実施形態では、ディスプレイユニット、ハードディスク等のメモリユニット、データ処理ユニット、データ通信ユニット、制御ユニットを有するコンピュータ等の情報処理装置を、拡張コントローラ103の一例として説明する)と、画像処理装置100と拡張コントローラ103とを接続するLAN400等の所定のデータ通信媒体等を有するシステムであり、プリンタ、画像入力、文書ファイリング、文書送受信、画像変換等の機能を有する画像処理装置100に対してさらに拡張された機能を提供する。画像処理装置100と拡張コントローラ103はそれぞれLAN400に接続され、LAN400を介して他のネットワークノードと通信する。
クライアントパーソナルコンピュータ(クライアントPC)11は個人向けの情報処理装置であり、いわゆるCPU,RAM,ROM等を含むコントローラ部を備え、入力デバイスをユーザが操作することで、主にユーザの机上に置かれ各種のアプリケーションプログラムが実行される。クライアントPC11はLAN400に接続され、LAN400を介して他のネットワークノードが提供するサービスを利用したり、他のネットワークノードにサービスを提供したりする。
サーバコンピュータ12は大規模な情報処理装置であり、LAN400に接続され、LAN400を介して主に他のネットワークノードに対するサービスを提供する。
プリンタ13はネットワーク対応した周辺機器であり、LAN400に接続され、LAN400を介して他のネットワークノードに対して画像形成装置のサービスを提供する。
ルータ15はネットワークとネットワークを接続するネットワークノードであり、インターネットやバーチャルプライベートネットワークなどの広域ネットワーク16とLAN400とを接続する。
LAN400はユーザのオフィスなどに敷設されたローカルエリアネットワークである。
図2は、図1に示した拡張画像処理システム10の構成を説明するブロック図であり、拡張画像処理システム10が画像処理装置100と拡張コントローラ103の組み合わせによってシステムが構成される場合に対応する。
図2において、画像処理装置100は、プリンタ、画像入力、文書ファイリング、文書送受信、画像変換など各種の基本的な画像処理機能を提供する。
リーダ部(画像入力装置)200は、原稿画像を光学的に読み取り、画像データに変換する。リーダ部200は、原稿を読取るための機能を持つスキャナユニット210と、原稿用紙を搬送するための機能を持つ原稿給紙ユニット250とで構成される。
プリンタ部(画像出力装置)300は、記録紙を搬送し、その上に画像データを可視画像として印刷して装置外に排紙する。プリンタ部300は、複数種類の記録紙カセットを持つ給紙ユニット360と、画像データを記録紙に転写、定着させる機能を持つマーキングユニット310と、印刷された記録紙をソート、ステイプルして機外へ出力する機能を持つ排紙ユニット370とで構成される。
制御装置110は、リーダ部200、プリンタ部300と電気的に接続され、さらにLAN400にと接続されている。制御装置110は、リーダ部200を制御して、原稿の画像データを読込み、プリンタ部300を制御して画像データを記録用紙に出力してコピー機能を提供する。
また、リーダ部200から読取った画像データを、コードデータに変換し、LAN400を介して図示しないホストコンピュータへ送信するスキャナ機能、ホストコンピュータからLAN400を介して受信したコードデータを画像データに変換し、プリンタ部300に出力するプリンタ機能を提供する。
なお、画像処理装置100には、複数ページのデータを格納可能なハードディスク等のメモリユニットを具備し、制御部110は、画像処理装置100が具備するリーダ部200からの画像データや、情報処理装置等の外部装置からの画像データを上記メモリユニットに格納可能に制御する。そして、該メモリユニットから読み出した画像データのプリント処理をプリンタ部300に実行可能に制御する。このように、制御部110は、画像処理装置100が具備する各ユニットを統括的に制御する。
画像処理装置100が具備するタッチパネル形式のディスプレイユニットやハードキー群を具備する操作部150(本システムの第1の操作部とも呼ぶ)は、制御装置110に接続され、液晶タッチパネルで構成され、画像入出力システムを操作するためのユーザI/Fを提供する。
拡張コントローラ103は制御装置170とタッチパネル形式のディスプレイユニットを具備する操作部171(本システムの第2の操作部とも呼ぶ)と周辺機器172を有する。
拡張コントローラ170は、よく知られているパーソナルコンピュータ等の情報処理装置と同等のハードウェアアーキテクチャで構成され、汎用オペレーティングシステムや各種デバイスドライバや各種アプリケーションプログラムを含む一般的なソフトウエアを実行することができる。
操作部171は、ユーザが拡張コントローラ103を操作するためのユーザインタフェースを提供する。周辺機器172は一般的なパーソナルコンピュータ等の情報処理装置用に提供されている各種の周辺機器であり、拡張コントローラ170のハードウェアを拡張する。
画像処理装置100と拡張コントローラ103はLAN400を介して接続され相互に通信できる。ローカルインタフェース201は両者の間に専用の通信経路を提供するためのオプションインタフェースであり、USBや専用バスなどによって実装される。
図3は、図1に示した拡張画像処理システムの外観を示す斜視図であり、画像処理装置と拡張コントローラの組み合わせによって構成された拡張画像処理システムの外観に対応し、特に(a)は操作部側から視た状態に対応し、(b)は背面側から視た状態に対応する。
図3において、画像処理装置100は各種の画像処理機能(コピー機能や、スキャン機能や、ファクシミリ機能や、プリント機能等の少なくとも何れかの機能を含む複数の機能)を提供するデジタル複合機である。画像処理装置の操作部150(図2の操作部150に相当)は、画像処理装置の画像処理機能を操作するためのユーザインタフェースを提供する。
これは、メカ的なハードキーで構成しても良いが、ソフトキーで構成されても良い)は、画像処理装置の機能を利用不能なオフ状態と機能を利用可能なオン状態とをユーザ操作に応答し切り替えるためのスイッチである。画像処理装置100がオン状態にあるときには、操作部150の表示や入力を介してユーザが画像処理装置100の機能を利用できたり、ネットワークを介して他のネットワークノードから画像処理装置100が提供するネットワークサービス(たとえばプリントサーバ機能など)を利用できたりする。
拡張コントローラ103は画像処理装置100の背面に設置される。操作部171は図3に示すように透明タッチパネルを表面に貼った液晶ディスプレイであり、拡張コントローラ103と電気的に接続されている。周辺機器172は拡張コントローラ103と電気的に接続されたI/O装置であり、例えば操作者を特定する為のユーザ認証機能を具備するICカードリーダライタユニットや、メモリメディアドライブなどで構成される。
拡張コントローラ103の操作部171と周辺機器172は専用スタンドに設置され、画像処理装置100の前に立ったユーザによって容易に操作できるように配置されている。
拡張コントローラ103の電源スイッチ302は拡張コントローラ103の機能を利用不能なオフ状態と機能を利用可能なオン状態とをユーザ操作に応答し切り替えるためのスイッチ(メカ的なハードキーで構成しているが、ソフトキーでも良い)である。なお、この情報処理装置等に相当する拡張コントローラ103が具備するユーザにより押下可能な電源キー(電源スイッチ302)を、本システムにおける第2の電源キーとも称する。
これは、メカ的なハードキーで構成しても良いが、ソフトキーで構成されても良い。
拡張コントローラ103がオン状態にあるときには、操作部171の表示や入力を介してユーザが拡張コントローラ103の機能を利用できたり、ネットワークを介して他のネットワークノードから拡張コントローラ103が提供するネットワークサービス(例えば暗号化プリントアプリケーションのジョブ受け付け)を利用できたりする。
ここで、本実施形態で述べている、本画像処理システム(画像形成システムとも呼ぶ)の存在意義、及び、本システムにより提供できる作用効果、およびそれらに係る背景、開発設計検討事項等の一例を紹介する。
まず、上記の如く、本システムが具備する画像処理装置100(画像形成装置とも呼ぶ)は、自装置にてコピー機能、ネットワークスキャナ機能、プリント機能、ボックス機能、ファクシミリ機能等の各種の機能を具備しており、拡張コントローラ103が接続されていなくとも、該拡張コントローラ103無しに、独立して動作可能な装置であり、この画像処理装置100だけでも十分に高性能且つ高機能のサービス、付加価値を顧客に提供可能に構成している。
一方、拡張コントローラ103(例えばPC等の情報処理装置)は、この装置のみだけでは存在意義はなく、本画像処理装置100のオプションとして、本画像処理装置100と協働することで、本画像処理装置100だけでは提供できない更なる高機能高性能高付加価値を提供するために存在する。
ここで、本画像処理装置100内部に本拡張コントローラ103を内蔵せずに、図3に示すが如く、別筐体、別売りで、拡張コントローラ103を提供可能に本システムを構成している理由は、上記の如く、本画像処理装置100単独でも高機能、高性能、高付加価値を提供可能に構成されているので、これでも十分に満足する顧客が存在することに起因する。
例えば、画像処理装置100だけでも十分満足する顧客に対しては画像処理装置100のみを提供し、一方、更なる高機能、高性能高付加価値を望む顧客に対しては、画像処理装置100と拡張コントローラ103とをセットにして高機能な画像処理システムとして提供することで、無駄な生産開発コストを防止できる。
予め、拡張コントローラ103の機能を内蔵した画像処理装置を生産してしまうと、本来ならば画像処理装置100の機能だけでも十分に満足する顧客に対しても、このような装置を提供することになり、無駄なコストがかかるし、その分、生産期間の延長なども発生する。
本実施形態のように、本画像処理装置100と別売りで拡張コントローラ103を提供すれば、顧客が必要としている分だけを受注生産でき、その分、無駄な在庫も発生させずに済む。このような効果を奏すべく、本実施形態は、例えば図3のような、画像処理装置100と拡張コントローラ103とが互いに独立した(別筐体にした)システム構成としている。そして、本実施形態は、このようなシステム構成を前提としたうえで、更に、コンパクト化、デザイン性、安全性等を考慮して、例えば本システム内にて、画像処理装置100と拡張コントローラ103とを、例えば図3に示すような物理的な配設関係で設計している。
そして、このような背景、構成、効果を前提として、本実施形態が提供するシステムでは、本システムが具備する拡張コントローラ103自身が有する電源スイッチ302をユーザが押下することで、該拡張コントローラ103を起動可能に構成する(第1の起動モードとも呼ぶ)と共に、尚且つ、後述する本システムの画像処理装置100における該画像処理装置100が具備する操作部150におけるユーザ操作に応答した制御により、該拡張コントローラ103を起動可能に構成する(第2の起動モードとも呼ぶ)ようにしている。
これは、例えば、ユーザが拡張コントローラ103の電源を立ち上げたいと考えた場合に、図3のように、わざわざ、立ち姿勢から体等を屈めるような動作を必要としてはじめて操作可能な、拡張コントローラ103が具備する電源スイッチ302を押下することなく、ユーザが、より操作しやすい位置に配備している画像処理装置100の操作部150の電源キー301を操作することで拡張コントローラ103を起動可能とすることで、ユーザの使い勝手を向上させる為の設計としているからである。
なお、且つ、例えば、第2の起動モードは、単に、画像処理装置100の電源を立ち上げたからといって、一律的且つ自動的に拡張コントローラ103の電源を立ち上げるのではなく、拡張コントローラ103のステータス情報や、画像処理装置100と拡張コントローラ103との接続状況や、画像処理装置100のユーザ操作等に基づいて、画像処理装置100から拡張コントローラ103に対して起動させるよう制御している。
このように構成することで、ユーザが望んでもいないのに、画像処理装置100の制御装置110の独断で勝手に拡張コントローラ103を起動させることを禁止して、これらの装置に無駄な動作をさせたり、不必要なデータのやり取りをさせたり、不必要な消費電力の発生などの各種の不具合を防止できるようにしており、このような不具合の発生防止とユーザの操作性向上との両立を実現できるようなシステム設計としている。
図4は、図2に示した画像処理装置100の制御装置110のハードウェア構成を示すブロック図である。
図4において、メインコントローラ111は、主にCPU112と、バスコントローラ113、各種I/Fコントローラ回路を有する。
CPU112とバスコントローラ113は制御装置110全体の動作を制御するものであり、CPU112はROM114からROM I/F115を経由して読込んだプログラムに基づいて動作する。また、ホストコンピュータから受信したPDL(ページ記述言語)コードデータを解釈し、ラスタイメージデータに展開する動作も、このプログラムに記述されており、ソフトウエアによって処理される。バスコントローラ113は各I/Fから入出力されるデータ転送を制御するものであり、バス競合時の調停やDMAデータ転送の制御を行う。
DRAM116はDRAM I/F117によってメインコントローラ111と接続されており、CPU112が動作するためのワークエリアや、画像データを蓄積するためのエリアとして使用される。
Codec118は、DRAM116に蓄積されたラスタイメージデータをMH/MR/MMR/JBIG/JPEG等の方式で圧縮し、また逆に圧縮され蓄積されたコードデータをラスタイメージデータに伸長する。SRAM119はCodec118の一時的なワーク領域として使用される。Codec118はI/F120を介してメインコントローラ111と接続され、DRAM116との間のデータの転送は、バスコントローラ113によって制御されDMA転送される。
Graphic Processor(Graphic)135は、画像回転、変倍処理、色空間変換等の画像処理を行う。
外部装置とのデータ通信処理が可能な通信ユニットとしての外部通信I/F121はコネクタ122によってメインコントローラ111と接続され、コネクタ122によって外部ネットワークと接続される。
汎用高速バス125には、拡張ボードを接続するための拡張コネクタ124とI/O制御部126とが接続される。汎用高速バス125としては、一般的にPCIバスがあげられる。
I/O制御部126には、リーダ部200、プリンタ部300の各CPUと制御コマンドを送受信するための調歩同期のシリアル通信コントローラ127が2チャンネル装備されており、I/Oバス128によって外部I/F回路140,145に接続されている。
パネルI/F132は、LCDコントローラ131に接続され、操作部150上の液晶画面に表示を行うためのI/Fと、ハードキーやタッチパネルキーの入力を行うためのキー入力I/F130とから構成される。
操作部150は液晶表示部と液晶表示部上に張り付けられたタッチパネル入力装置と、複数個のハードキーを有する。タッチパネルまたはハードキーにより入力された信号は前述したパネルI/F132を介してCPU112に伝えられ、液晶表示部はパネルI/F132から送られてきた画像データを表示するものである。液晶表示部には、本画像処理装置の操作における機能表示や画像データ等を表示する。
リアルタイムクロックモジュール133は、機器内で管理する日付と時刻を更新/保存するためのもので、バックアップ電池134によってバックアップされている。
E−IDEコネクタ161は、外部記憶装置を接続するためのものである。本実施形態においては、このE−IDEコネクタ161を介してハードディスクドライブ160を接続し、ハードディスク162へ画像データを記憶させたり、ハードディスク162から画像データを読み込ませたりする動作を行う。
コネクタ142とコネクタ147は、それぞれリーダ部200とプリンタ部300とに接続され、同調歩同期シリアルI/F143,148とビデオI/F144,149とから構成される。
スキャナI/F140は、コネクタ142を介してリーダ部200と接続され、また、スキャナバス141によってメインコントローラ111と接続されており、リーダ部200から受け取った画像に対して所定の処理を施す機能を有し、さらに、リーダ部200から送られたビデオ制御信号をもとに生成した制御信号を、スキャナバス141に出力する機能も有する。
スキャナバス141からDRAM116へのデータ転送は、バスコントローラ113によって制御される。
プリンタI/F145は、コネクタ147を介してプリンタ部300と接続され、また、プリンタバス146によってメインコントローラ111と接続されており、メインコントローラ111から出力された画像データに所定の処理を施して、プリンタ部300へ出力する機能を有し、さらに、プリンタ部300から送られたビデオ制御信号をもとに生成した制御信号を、プリンタバス146に出力する機能も有する。
DRAM116上に展開されたラスタイメージデータのプリンタ部300への転送は、バスコントローラ113によって制御され、プリンタバス146、ビデオI/F149を経由して、プリンタ部300へDMA転送される。
図5は、図2に示した画像処理装置100のコントローラ部110のソフトウエアのモジュール構造を示すブロック図である。
図5において、画像処理装置100に内蔵されるコントローラ部110によって処理されるソフトウエアは、いわゆるファームウェアとして実装されており、図4に示したCPU112によって実行される。
リアルタイムOS5001はリアルタイムオペレーティングシステムであり、組み込みシステムの制御に最適化された各種資源管理のサービスと枠組みをその上で動作するソフトウエアのために提供する。リアルタイムOS5001が提供する各種資源管理のサービスと枠組みには、CPU112による処理の実行コンテクストを複数管理することによって複数の処理を実質的に並行動作させるマルチタスク管理(スレッド管理)、タスク間の同期やデータ交換を実現するタスク間通信、メモリ管理、割り込み管理、各種のデバイスドライバ、ローカルインタフェースやネットワークや通信などの各種プロトコルの処理を実装したプロトコルスタックなどがある。
ファイルシステム5002は、ハードディスク162やメモリなどの記憶装置上に構築されたデータを格納するための機構である。画像処理装置100のコントローラ部110が扱うジョブをスプールしたり各種データを保存したりするために用いる。
ジョブ制御・装置制御モジュール5003は、画像処理装置100のハードウェアを制御し、また、画像処理装置100の主にハードウェアが提供する基本機能(プリント、スキャン、通信、画像変換など)を利用するジョブを制御する。これにより、リーダ部200や外部装置から入力された画像データのプリント処理やデータ送信処理等を実行可能に制御している。
管理モジュール5004はコントローラ部110の動作に係る内部状態を制御するなど、コントローラの動作を管理する。制御API5005は、この層よりも下位のソフトウエアモジュール群が提供するサービスをこの層よりも上位の組み込みアプリケーション群が利用するために設けられたアプリケーションプログラミングインタフェースである。
ネットワークサービス5006は、制御API5005とネットワークプロトコルとを相互変換することによって、クライアントPCなど外部のネットワークノードから装置の基本機能を利用可能とする。また、特にネットワークプリントのための各種プロトコル(LPR、NetWare、SMB、PAP、IPPなど)を実装したネットワークサーバ機能を備え、クライアントPCなど外部のネットワークノードからのプリントジョブの投入を可能とする。
組み込みアプリケーションロジック5007、プレゼンテーションインタフェース5008、組み込みアプリケーションUI5009は、組み込みアプリケーションを構成する。
ここで、組み込みアプリケーションは、画像処理装置100の基本機能に加えてさらにコピー、画像スキャン、文書送受信、文書ファイリングなどの上位機能を、制御APIの基本機能を利用して実現する。組み込みアプリケーションロジック5007は、組み込みアプリケーションのビジネスロジック部分に相当する。
プレゼンテーションインタフェース5008は組み込みアプリケーションのビジネスロジックとプレゼンテーションロジックを分離するために設けられたインタフェースである。組み込みアプリケーションUI5009は組み込みアプリケーションのプレゼンテーションロジックに相当し、ユーザによる組み込みアプリケーションの操作を可能とするためにグラフィカルユーザインタフェース(GUI)の表示や入力の制御を行う。
組み込みアプリケーションUI5009は、画像処理装置100の操作部150上にローカルなユーザインタフェースを提供するだけでなく、HTMLなどのマークアップ言語とHTTPなどのWeb技術を用いて実現したWebアプリケーションも提供する。ユーザはクライアントPCなどの上で動作するWebブラウザからこのWebアプリケーションに接続して、画像処理装置100を遠隔操作できる。Webアプリケーションとして実装した組み込みアプリケーションのプレゼンテーション層のことをここではリモートUIと呼ぶ。
組み込みJava(登録商標)環境5010は、Java(登録商標)仮想機械を中心に構成されるインタプリタ環境である。組み込みJava(登録商標)環境5010はJava(登録商標)のバイトコードで記述された命令列データを実行時に読み込み結合し、Java(登録商標)仮想機械が命令を逐次的に読み込み解釈し実行するように構成されている。
したがって、リアルタイムOSも含めてあらかじめ全体が単一のロードモジュールに静的結合されているファームウェア上にあって、ごく部分的ながらソフトウエアを動的に追加したり入れ替えたりできる拡張性や柔軟性を確保できる。リアルタイムOSやジョブ制御・装置制御APIなどを含むファームウェア(ネイティブシステム)の資源やサービスをJava(登録商標)のプログラムから利用可能なように構成したJava(登録商標)のクラスライブラリ群が、Java(登録商標) Native Interface(JNI)によって提供されている。組み込みJava(登録商標)環境5010の基本部分は、よく知られているJava(登録商標) 2 Platform, Micro Editionによって構築されている。
図6は、図2に示した画像処理装置100の操作部150の表示部に表示させる基本画面を説明する図であり、画像処理装置100の制御装置110による表示制御により表示される画面に対応する。
尚、この画面はタッチパネルとなっており、それぞれ表示される機能の枠内(ソフトキー)をユーザが触れることにより、その機能が実行される。コピーモードキー524は、複写動作を行う場合に押すキーである。そして、このコピーモードキー524が押されたときに、後述する図12に示すコピーモードの画面530を表示させるよう制御する。拡張機能キー501は、このキー501を押すことによって両面複写、多重複写、移動、綴じ代の設定、枠消しの設定等のモードに入るよう制御している。
540はステータスラインであり、制御装置110は、機器の状態や印刷情報を示すメッセージを表示させるよう制御する。本図の場合、自装置のステータス状況を獲得した結果、コピー待機中「コピーできます」であることを通知させている。
画像モードキー502は、複写画像に対して網掛け、影付け、トリミング、マスキングを行うための設定モードに入る為の指示をユーザにより入力させる為のキーである。ユーザモードキー503は、モードメモリの登録、標準モード画面の設定が行える。応用ズームキー504は、原稿のX方向、Y方向を独立に変倍するモード、原稿サイズと複写サイズから変倍率を計算するズームプログラムのモードに入る。
M1キー505、M2キー506、M3キー507は、それぞれに登録されたモードメモリを呼び出す際に押すキーである。オプションキー509は、フィルムから直接複写するため、フィルムプロジェクタ等のオプション機能の設定を行うキーである。508はコールキーである。
ソータキー510は、ソート、ノンソート、グループの設定を行うキーである。原稿混載キー511は、原稿フィーダにA4サイズとA3サイズ、またはB5サイズとB4サイズの原稿を一緒にセットする際に押すキーである。
等倍キー512は、複写倍率を100%にする際に押すキーである。縮小キー514、拡大キー515は、定型の縮小、拡大を行う際に押すキーである。516は所望の倍率を指定するズームキーである。用紙選択キー513は、複写用紙の選択を行う際に押すキーである。
濃度キー518、520は、キー518を押す毎に濃く複写され、キー520を押す毎に薄く複写される。濃度表示517は、濃度キー518、520を押すと表示が左右に変化する。AEキー519は、新聞のように地肌の濃い原稿を自動濃度調整複写するときに押すキーである。HiFiキー521は、写真原稿のように中間調の濃度が濃い原稿の複写の際に押すキーである。
文字強調キー522は、文字原稿の複写で文字を際だたせたい場合に押すキーである。560は履歴キーであり、これを押下することで、印刷済みのジョブの履歴情報を表示する。例えば、印刷ジョブの、終了時刻、ユーザ名、ファイル名、印刷枚数等の情報を表示する。600はプリンタ選択キーであり、リモートコピーや重連コピーを行う場合の受信側複写機を選択する際に押すキーである。
ガイドキー523は、あるキーの機能がわからないとき押すキーであり、そのキーの説明が表示される。ファックスキー525は、ファックスを行うときに押すキーであり、Boxキー526は、Box機能を表示させたいときに押すキーである。プリンタキー527は、プリントの濃度を変更する、あるいは、リモートのホストコンピュータからのPDLデータのプリント出力詳細情報を参照したい場合に押すキーである。528はIDキーである。
本画像処理装置100の制御装置110による表示制御により操作部150の表示部の操作画面上に表示させるシステム状況キーは、画像処理装置100のハードウェアおよびファームウェアを含むシステムとしての装置状況をユーザが確認したり、各種機能のジョブの状態や履歴をユーザが参照したり、ユーザ操作によりジョブを中止させたりするための操作画面を表示部に表示させる指示をユーザにより入力可能にする為のソフトキーである。ユーザがこのキーを押すと、該制御部は、後述する図17のデバイス状況表示ダイアログ画面を操作部150の表示部に表示させるよう制御する。
図7は、図2に示した拡張コントローラ103のハードウェア構成を示すブロック図である。
図7において、メインCPU(CPU)4101は、全体の制御を行う中央演算装置であり、ROM4105およびハードディスクユニット4106に記憶されたプログラムを実行する。ネットワークインタフェース4102は、他の機器との間でネットワークを介したデータ通信を行うための制御部である。
CPU4101によって実行されるソフトウエアは、LAN400を介して、印刷デバイスや他のネットワーク機器、あるいは他のコンピュータと双方向のデータのやり取りを行うことができる。周辺インタフェース4103は、周辺機器の制御を行うための制御部である。
メモリ4104は、CPU4101で実行する命令や、データなどを保存するための、一般的には揮発性の記憶部である。ROM4105は、基本的なハードウェア制御を行うためのプログラムやデータなどを保存するための読み取り専用記憶部である。ハードディスクユニット4106は、拡張コントローラ103で実行されるプログラムや演算されたデータなどを保存するための、一般的には不揮発性の記憶部であり、ブートプログラム(起動プログラム:ハードやソフトの実行(動作)を開始するプログラム)、複数のアプリケーション、編集ファイル、ユーザファイルそしてネットワーク管理プログラム等を記憶する。
ディスプレイインタフェース4107は、拡張コントローラ103の内部状態や、実行状態などを表示するための表示部(図3の拡張コントローラ103が具備する操作部171の表示部)を接続するため制御部である。キーボードインタフェース4108やマウスインタフェース4109は、拡張コントローラ103に対してユーザがデータや命令を入力するための入力装置を接続できる。周辺機器インタフェース4103は、USB、RS−232Cシリアル、IEEE1394などの仕様を実装した周辺機器172を接続するための制御部である。周辺機器172は、例えば、CD−ROMドライブやメモリメディアドライブなどの外部記憶装置や、ユーザを特定するためのユーザ認証装置などである。
拡張コントローラ103が具備する操作部171は液晶ディスプレイ4203とその表面に透明なシート状に貼られたタッチパネル4202とから構成される。タッチパネル4202はマウスと同様のポインティングデバイスである。CPU4101で実行されるソフトウエアはタッチパネル4202によってユーザがポイントした表示上の位置を座標データとして検出することができる。タッチパネル4202は周辺機器インタフェース4103によって駆動される。
液晶ディスプレイ4203は拡張コントローラ103の内部状態や、実行状態などを表示するための表示部である。CPU4101で実行されるソフトウエアは液晶ディスプレイ4203上にグラフィカルユーザインタフェースを描画できる。液晶ディスプレイ4203はディスプレイインタフェース4107によって駆動される。
図8は、図2に示した拡張コントローラ103内のアプリケーションが画像処理装置100とインタフェースするためのAPIを示す図であり、各インタフェースは、拡張コントローラ103のCPU4101によって実行されるソフトウエアのプログラム的なモジュールに対応する。
図8において、アプリケーション8001は拡張コントローラ103で実行される各種アプリケーションに対応する。API8002はアプリケーション8001が画像処理装置100のコントローラ部110上のソフトウエアとインタフェースするためのアプリケーションプログラムインタフェースである。
プリンタドライバ8003はアプリケーション8001によるプリントを可能とするモジュールである。プリントを実現するために、プリントサービスのプロトコルに従って実装されたクライアントとして、画像処理装置100のネットワークサービス5006とインタフェースする。
スキャナドライバ8004はアプリケーション8001による画像スキャンを可能とするモジュールである。スキャンを実現するために、画像処理装置100内の制御API5005に相当するプロトコルにしたがって実装されたクライアントとして、制御API5005とインタフェースする。
ジョブ制御・装置制御インタフェース8005はアプリケーション8001による基本的なジョブ制御と装置制御を可能とするモジュールである。基本的なジョブ制御と装置制御を実現するために、画像処理装置100内の制御API5005に相当するプロトコルにしたがって実装されたクライアントとして、制御API5005とインタフェースする。プレゼンテーション拡張インタフェース8006は、アプリケーション8001による画像処理装置100内組み込みアプリケーションUI5009の拡張を可能とするためのモジュールである。
このモジュールは、プレゼンテーションインタフェース5008に相当するプロトコルにしたがって実装されたクライアントとして、プレゼンテーションインタフェース5008とインタフェースする。このモジュールが提供するAPIによって、拡張コントローラ103内のアプリケーション8001は、画像処理装置100に組み込まれた組み込みアプリケーションのUI5009に相当するプレゼンテーションロジック(つまりアプリケーションのUI)を実装することができる。また、アプリケーション8001の実装次第で、組み込みアプリケーションUI5009にはない機能を拡張したりカスタマイズしたりすることもできる。
組み込みアプリケーション拡張インタフェース8007は、アプリケーション8001による画像処理装置100内組み込みアプリケーションロジック5007のカスタマイズを可能とするためのモジュールである。このモジュールは、組み込みアプリケーションロジック内部が備えるプラグインのためのインタフェース(不図示)に相当するプロトコルにしたがって実装されたクライアントであり、組み込みアプリケーションロジック5007とインタフェースする。
このモジュールが提供するAPIによって、拡張コントローラ103内のアプリケーション8001は、画像処理装置100に組み込まれた組み込みアプリケーションロジック5007の一部を置き換えたり拡張したりするプラグインを実装することができる。
画像ジョブ制御インタフェース8008は、アプリケーション8001による特に高速の画像処理を可能とするためのモジュールである。このモジュールは、ジョブ制御・装置制御モジュール内部の内部APIに相当するプロトコルにしたがって実装されたクライアントであり、また、ローカルインタフェース201による画像転送を組み合わせることによって、拡張コントローラ103と画像処理装置100の間で画像や文書をやり取りするジョブの高速化を達成する。
図9は、図2に示した拡張コントローラ103のソフトウエアのモジュール群の階層構造を示すブロック図である。
図9において、汎用オペレーティングシステム(OS)9001は拡張コントローラ103のオペレーティングシステムである。リアルタイムOSと異なり汎用OSは主に情報処理装置やコンピュータの土台を提供するソフトウエアとして開発されてきている。汎用OSの例として、Windows(登録商標)、Mac(登録商標)OS、Solaris(登録商標)、Linux(登録商標)、FreeBSD、NetBSD、OpenBSDなどがある。
汎用OS9001は拡張コントローラ103が備えるハードウェア的およびソフトウエア的な各種資源を抽象化して、より上位のソフトウエアから容易かつ効率的に利用可能とする。汎用OSが提供する機構にはたとえば以下のものがある。すなわち、CPUによる処理の実行コンテクストを複数管理することによって複数の処理を実質的に並行動作させるマルチプロセス機構やスレッド機構、プロセス間およびスレッド間の同期やデータ交換を実現するプロセス間通信やスレッド間通信、プロセスごとに保護されたメモリ管理、割り込み管理、各種のデバイスドライバ、ローカルインタフェースやネットワークや通信などの各種プロトコルの処理を実装したプロトコルスタックなどが提供される。
特筆すべきは、市販されている一般のコンピュータ周辺機器のデバイスドライバは汎用OS用のものが多く提供されていることである。この理由は、一般にコンピュータ周辺機器は汎用OSが稼動するパーソナルコンピュータなど汎用の情報処理装置のために開発されるためである。
汎用OSを採用することで、市場に出回っている多種多様なコンピュータ周辺機器のハードウェアとデバイスドライバをそのまま、または比較的容易に、拡張コントローラ103のために流用することができる。拡張コントローラ103は画像処理装置100の拡張性や柔軟性を補うために付加されるアクセサリであるが、その目的は汎用の情報処理装置と同等のハードウェア構成を採用するだけでなくさらにソフトウエア的には汎用のOSを採用することによってより効率的に達成される。
拡張コントローラプラットフォーム9002は拡張コントローラ103のソフトウエアの動作環境を提供する土台となるソフトウエア(ライブラリ、フレームワーク、およびランタイムモジュールなど)である。また、画像処理装置100に内蔵された組み込みアプリケーションと連携するアプリケーションを拡張コントローラ103内に容易に構築可能とするために用意されたユーティリティライブラリ、フレームワーク、およびランタイムモジュール群を含む。
システムアプリケーション9004は拡張コントローラ103に標準搭載され、ユーザによる拡張画像処理システムの利用や管理を助けるためのユーティリティアプリケーション群である。システムアプリケーション9004に分類されるアプリケーション群はどれもアプリケーション8001に対応し、アプリケーションの実装においてAPI8002を利用することができる。
ユーザランドアプリケーション9005に分類されるアプリケーション群は、拡張画像処理システムの拡張された機能をユーザに提供するためのアプリケーション群である。ユーザランドアプリケーション9005に分類されるアプリケーションはアプリケーションを単位としてインストールによって追加することもアンインストールによって削除することも可能である。
また、アプリケーションプログラムの実体だけでなく、ユーザがそのアプリケーションプログラムを実行する許諾(ライセンス)を購入したときのみアプリケーションを活性化(アクティベート)するように制御することもできる。ユーザランドアプリケーション9005に分類されるアプリケーション群はどれもアプリケーション8001に対応し、アプリケーションの実装においてAPI8002を利用することができる。
MFP統合アプリケーション9006は画像処理装置100の組み込みアプリケーションに対応するユーザランドアプリケーションであり、画像処理装置100が提供する上位機能や基本機能を拡張コントローラ103から利用可能とする。MFP統合アプリケーション9006はプレゼンテーション拡張インタフェース8006や組み込みアプリケーション拡張インタフェース8007によって、画像処理装置100の組み込みアプリケーションとインタフェースする。
MFP統合アプリケーション9006は単に画像処理装置100の組み込みアプリケーションとまったく同様な機能性やユーザインタフェースを提供するだけでなくそれらを拡張して提供することもできる。MFP統合アプリケーション9006は9007〜9012のアプリケーション部品を内部に含み統合している。
コピー9007は画像処理装置100の組み込みアプリケーションの一機能であるコピー機能に相当するアプリケーション部品である。ボックス9008は画像処理装置100の組み込みアプリケーションの一機能である文書ファイリング機能に相当するアプリケーション部品である。
送信9009は画像処理装置100の組み込みアプリケーションの一機能である文書送受信機能に相当するアプリケーション部品である。ポータル9010はユーザの好みに応じてよく使う機能や定型処理を簡単に呼び出すための入り口を提供するアプリケーション部品である。MFP統合アプリケーション9006はアプリケーション部品をまたがって動作パラメータの設定や一連の操作などをマクロ化し、複数のマクロを実行するためのカスタマイズボタン群を自在に配置可能なユーザインタフェースを提供する。
本体ジョブモニタ9011は画像処理装置100内部で実行中のジョブの状況や完了したジョブの履歴などを参照するためのアプリケーション部品である。
デバイス管理9012は画像処理装置100のハードウェアを管理するためのユーザインタフェースを提供するアプリケーション部品である。
メモリメディア操作9013は拡張コントローラ103に周辺機器として接続された各種のリムーバブルストレージ(光磁気メディアドライブ、USBストレージ、スマートカードやコンパクトフラッシュ(登録商標)に代表されるメモリカードなど)の操作を行うためのユーザランドアプリケーションである。
メモリメディア内部に格納された文書を画像処理装置100に引き渡してプリント、送信、またはファイリングしたり、画像処理装置100が画像スキャンまたは受信した文書やファイリングされていた文書を受け取ってメモリメディアに格納したりすることができる。
暗号化セキュアプリント9014は、クライアントPCから暗号化されたプリント要求を受信して暗号化されたままいったん格納し、許可されたユーザによる操作であることがユーザ認証された場合のみ複合化して実際の画像処理装置100へのプリントを行うという、暗号化留め置きプリント機能を提供するユーザランドアプリケーションである。
ブラウザ9015は拡張コントローラ103の操作部でWebなどのブラウジング機能を提供するユーザランドアプリケーションである。9016、9017、9018は他のユーザランドアプリケーションである。前述したように、ユーザランドアプリケーションは柔軟に追加や削除または活性化や不活性化することができる。
図10は、図9に示したシステムアプリケーション9004のアプリケーション群を説明するブロック図である。
図10において、拡張コントローラ103のシステムアプリケーション9004として分類されるソフトウエアモジュール(パッケージ)には以下のユーティリティプログラムやランタイムモジュールなどが含まれる。
ファンクションキーパネル10001は機能メニューやソフトウエアキー等を拡張コントローラ操作部表示部のデスクトップに配置するフレームワークとコンテナである。ファンクションキーとして以下を配置することができる。システム既定のキー(例えばログアウト、シャットダウン、カウンタ確認、余熱、システム状況、システム設定、スクリーンキーボード呼び出し)等である。
選択中のアプリケーションに応じて動作が切り替わるアプリケーションコンテキストキー(たとえばガイド、アプリケーション設定、アプリケーション状況)、選択中のアプリケーションがその操作を助けるために追加配置するカレントアプリケーション追加キー(たとえばアプリケーション内部の固有メニューの一部をキーとして展開配置したもの)など、キーのレイアウトとルック&フィールはユーザの好みに応じてカスタマイズ(パーソナライズ)できる。
ファンクションキーパネルのルック&フィールは、システム全体のテーマと連動して切り替わる。例えば高コントラストや反転などのテーマが選ばれると、ファンクションキーパネルの表示もそれぞれの特性を反映するように切り替わる。ファンクションキーパネルにはソフトウエアキーやメニューだけでなく時計やメール着信フラグなどのアプリケーションコンポーネントも配置できる。あるユーザの利用状況においては、ファンクションキーパネルには「ユーザモード」、「キーボード」、「操作パネル」、「ガイド」、「アバウト」および「リセット」と名づけられたキーが配置される。
「ユーザモード」は、選択中のカレントアプリケーションに対して環境設定ダイアログを開くことを指示するか、または、システムアプリケーションのひとつであるシステム環境設定10009を起動する。
「キーボード」はシステムアプリケーションのひとつであるスクリーンキーボード10002の起動を指示する。「操作パネル」はシステムアプリケーションのひとつである操作パネルエミュレータ10003の起動を指示する。
「ガイド」は、選択中のカレントアプリケーションに対して、システムアプリケーションのひとつであるヘルプを用いて、アプリケーションの動作状況に応じたオンラインマニュアルを表示することを指示する。「アバウト」は、選択中のカレントアプリケーションに対して、バージョン、開発元、著作権などのアプリケーション情報を表示することを指示するか、あるいは、システム全体に関するモジュールごとのバージョンや著作権情報などを表示する。
「リセット」は選択中のカレントアプリケーションに対して、ユーザが途中まで行った一連の操作を取り消してその時点の状況に応じたひとつ前のチェックポイントまでロールバックすることを指示する。たとえばユーザがテキスト入力フィールドに文字列を入力にリセットを押下すると入力途中の文字列がクリアされたり、あるいは文字列の仮名漢字変換途中にリセットを押下すると変換候補選択状態が解除されて仮名に戻ったり、画像処理ジョブの動作パラメータを設定するためのダイアログに対して設定値の変更を施している最中にリセットを押下すると変更途中の設定はキャンセルされて当初の値に戻ったりする。
スクリーンキーボード10002は物理的なフルキーボードをエミュレーションするためのソフトウエアキーボードである。タッチパネルを指で操作するために操作性を最適化してある。拡張コントローラ103にはオプションで物理的なキーボードが装着される場合もあることを考慮して、システムのできるだけ低レベルで物理キーボードをエミュレートする(すなわちシステムのほとんどのレベルで、物理キーボードと区別する必要がないように構成される)。
スクリーンキーボードの表示が前面を覆うことによって、入力の宛先となるアプリケーションの操作性は低下してしまうが、できるだけ邪魔にならないように配慮され、たとえば、表示・非表示の切り替えや表示位置の移動が指で簡単に操作できる。またディスプレイがより高解像度化したとき指での操作にむかないほどキートップが小さくならないように、解像度独立に構成される。スクリーンキーボードは国際化の対象であり、拡張コントローラ103の出荷される仕向けのローカル(locale)に応じて入力言語などが切り替わる。
操作パネルエミュレータ10003は、画像処理装置100の物理的な操作パネルをエミュレーションするためのソフトウエアパネルである。操作パネルを構成するスタートキー・ストップキー・テンキーなどをソフトウエアによってエミュレートする。各種キーのコンポーネントが押されたとき生成するキーコードは、拡張コントローラにオプションとして接続される物理的なキーボードが生成するキーコードにマッピングされる。
例えば、テンキーのキーが押されたとき、各キーに相当する物理フルキーボードのキーコードが生成される。操作パネルエミュレータのGUIはアプリケーションからの要求に応じて表示される。また、ユーザの明示的な操作によって表示させることもできる。操作パネルエミュレータは、画像処理装置100の機種依存な差異を選択するために複数のモードを持つ。
例えば画像処理装置100がファクス対応機である場合はファクス用キー(*や#など)を備えたモードで動作する。また、アプリケーションが操作パネルエミュレータを呼び出す場合には、アプリケーションからキーごとの表示・非表示を選択できる。
アイコンボックス10004は、カレントアプリケーションを切り替えるためのシステムアプリケーションである。その時点で操作対象とするユーザランドアプリケーションをユーザが選択するためのアプリケーション選択リストのプレゼンテーションロジックを提供する。アイコンボックス10004には、アイコン画像、および/または、アプリケーション名がリスト表示され、ユーザが選択するとカレントアプリケーションがそのアプリケーションに切り替わる。
アプリケーション名はテキスト、または、画像のどちらの形式で与えられても表示できる。テキストは国際化フレームワークに連動したローカライズ対象である。アイコン画像やアプリケーション名のリソースは、各ユーザランドアプリケーションモジュールの中に含まれるリソースを利用する。ユーザがアイコンの表示順序を編集することができる。ルック&フィールはテーマと連動して切り替わる。アイコンボックスそのものはアプリケーションのセレクタであってラウンチャではない。ただし、ライフサイクル管理の遅延起動機構を提供することにより、アプリケーションは最初に選択されたときにはじめて起動されるように登録することもできる。アプリケーションごとの強制終了やアラート表示などの機能を追加してもよい。
インストーラ10005は拡張コントローラ103を構成する各種のソフトウエアをインストールするためのインストーラである。インストール対象のソフトウエアは、ユーザランドアプリケーション、システムアプリケーション、ライブラリ、ドライバ、拡張コントローラプラットフォームのモジュール群などがある。インストールするソフトウエアモジュールはリムーバブルメディアなどローカルファイルシステムから供給するだけでなく、ネットワーク経由で供給することもできる。
アップデータ10006は拡張コントローラ103を構成する各種のソフトウエアをアップデートするためのシステムアプリケーションである。アップデート対象のソフトウエアはインストーラ10005のインストール対象と同様である。アップデートするソフトウエアモジュールはローカルファイルシステム(リムーバブルメディアも含む)から供給するだけでなく、ネットワーク経由で供給することもできる。サーバに存在するアップデータの更新をネットワーク経由で検出し、更新されていれば管理者ユーザにアップデートを促す機能も有する。
カウンタ参照10007は、カウンタ値を参照するためのシステムアプリケーションである。画像処理装置100のカウンタと拡張コントローラ103のアプリケーション利用をカウントするカウンタの両方を参照できる。
アンチウィルス10008はウィルス感染の予防と検出、および、感染時の修復を行うシステムアプリケーションである。
システム環境設定10009は拡張コントローラ103のシステムソフトウエアやハードウェアの各種の環境設定項目(プリファレンス、プロパティ)を参照したり編集したりするためのシステムアプリケーションである。システム環境設定は複数のコンポーネントをプラグイン可能なコンテナであり、各種の環境設定項目はそのカテゴリにしたがってそれぞれを設定するためのコンポーネントによって処理される。設定対象(設定項目)によって、たとえばシステム管理者のみが参照可能であったり設定可能であったりというように適切にアクセス制御される。
テーマ10010は、アプリケーションごとに有するカスタマイズ項目(プリファレンス)を、統一感を維持して一元的に設定するための機構を提供するシステムアプリケーションである。たとえば、ユーザが自身の好みや身体的特性に合わせて全体的な色調設定やコンポーネントの表示サイズ設定などをテーマとして指定すると、各種アプリケーションはテーマに連動した動作モードで動作する。
起動アプリケーション選択10011は、ユーザ毎に、アプリケーションの起動と停止を制御するシステムアプリケーションである。ユーザはシステムにインストールされているアプリケーションの一覧から、アプリケーションを選択し、実行状態に状態遷移させることができる。実際に実行が許可されるかどうかはユーザの権限に基づく。また、実行状態にあるアプリケーションの中からアプリケーションを選択し停止状態に状態遷移させることができる。システム管理者は、全ユーザに共通の共通設定を行うこともできる。
ログインダイアログ10012はログイン機構に対応するシステムアプリケーションである。拡張画像処理システムをユーザが利用するユーザセッションの開始に必要なユーザとの対話を行う。必要な対話とは、たとえば、システムがユーザに対してユーザ認証に必要な情報(ドメイン名、ユーザ名、パスワード)のエントリを求める。ユーザ名のエントリは、テキスト入力だけでなく、より簡易にユーザリストから選択可能なように設定できる。
特にゲストユーザ(認証不要のユーザ)による操作を許す運用を行う場合、ゲストユーザによるログイン操作は簡易に行えるように設定できる。ログイン方法の設定変更はシステム管理者ユーザが行う。ユーザがログインしていない状態(ユーザセッション中ではないシステムセッション中)に表示されるユーザインタフェースを備えるので、システムセッションの管理操作(シャットダウンなど)を行うための機能を付加したり、画像処理装置100の状態表示を行う機能を付加したりする場合もある。
ユーザセッションの開始に際して、ICカード(スマートカード)や生体認証などに基づくユーザ認証を行う場合、専用のログインダイアログ実装で置き換えられるように構成されている(ログイン機構の実装も同様に置き換えられる)。
ユーザ管理10013は拡張画像処理システムを利用するユーザの管理とユーザの権限の管理を行うシステムアプリケーションである。
アドレス帳10014はシステム内部または外部のディレクトリサービスに接続しディレクトリ情報を編集操作するためのシステムアプリケーションである。
アドレス情報は、宛先情報を含むが、これに限定されず、ユーザ、組織、デバイス、あるいはサービスなどの各種エンティティごとにその諸属性をディレクトリ情報として扱う。
ステータスティッカ10015はシステムとアプリケーションが通知するステータス情報やメッセージを表示するためのシステムアプリケーションである。テキストやアイコン画像などを表示することができる。ステータスティッカ10015は、並行する複数のメッセージ表示要求に対し優先度ベースの調停や時分割表示なども行う。ステータスティッカのメッセージ表示はアニメーションなどによるさまざまな表示効果に対応している。
システム状況モニタ10016は拡張コントローラ103のハードウェアおよびソフトウエアの両面に関するシステムの状況とアプリケーションの状況を監視するためのシステムアプリケーションである。拡張画像処理システム10を構成する各種モジュール群のバージョンや著作権などの情報を確認することもできる。
ログビューア10017は拡張コントローラ103および画像処理装置100のそれぞれのシステムや組み込みアプリケーションが残すログ情報を参照したり管理したりするためのシステムアプリケーションである。
システムセットアップ10018は拡張画像処理システム10を設置する際の初期セットアップ手順や、画像処理装置100を新機種に交換する際のリプレース処理手順、何らかのトラブルによって拡張コントローラ103のシステムが破壊され復旧する必要が生じた際の回復手順などを補助するためのユーティリティシステムアプリケーションである。
バックアップ10019は拡張コントローラ103と画像処理装置100のそれぞれが持つハードディスクや不揮発性メモリに格納されたデータを、拡張コントローラ103に接続されたリムーバブルメディア、外部記憶装置、またはネットワークストレージなどの安全な記憶手段に退避し、また退避したデータを元に戻すリストアを行うためのシステムアプリケーションである。
スクリーンセーバ10020はユーザが拡張コントローラ103の操作部を利用していないときに表示部の焼きつきを防ぐために表示の制御を行うシステムアプリケーションである。スクリーンセーバ10020では拡張画像処理システム10の便利な使い方などを紹介するアニメーションを再生することもできる。また、画像処理装置100の紙なしなどのアラーム情報を表示したり、システム管理者などが設定したメッセージ(たとえば「定期メンテナンス日時のお知らせ」など)などを掲載した仮想的な伝言板を表示したり、ネットワーク経由でサーバから最新の情報(天気予報やニュースなど)を取得して表示したりすることもできる。複数のユーザが交互にログインして拡張コントローラ103を用いる運用形態においては、スクリーンセーバ10020はログアウトし忘れて装置の前を離れたユーザを自動的にログアウトさせるためのオートログアウト処理を行う。
ヘルプシステム10021は、拡張画像処理システム10のシステム全体の利用方法などを解説する文書を表示したり、それぞれのユーザランドアプリケーションがその解説文書を表示することを助けたりするためのシステムアプリケーションである。システムのモジュールや各アプリケーションモジュールなどがそれぞれモジュール単位で供給した解説文書コンテンツを、システム全体として統合するポータル機能を備える。
アプリケーションプログラムからヘルプシステム10021に対してコンテンツ内の任意の箇所をユーザに提示するように指示することが可能である。したがって、アプリケーションはその動作状況に応じて最適な情報をユーザに提示できる。ヘルプシステム10021はWebアプリケーションとして構成されているため、拡張コントローラ103の操作部171に解説文書を表示するだけでなく、クライアントPC11などで稼動するWebブラウザ上に解説文書を表示することもできる。
文書ビューア1022は、テキスト、画像、およびアプリケーション固有形式など各種フォーマットの文書データを表示するためのシステムアプリケーションである。表示する文書の形式の例には、テキスト、HTMLやXMLやSGMLなどのマークアップ言語で記述された文書、JPEGやPNGやTIFFやJBIGなどの画像、LIPS(登録商標)やPostScript(登録商標)などのページ記述言語、PDFなどの文書、Macromedia FlashやSun Java(登録商標) Appletなどの表示を伴うプログラム、アニメーション、あるいは、ワードプロセッサやプレゼンテーションや表計算など各種アプリケーションプログラム固有のプロプラエタリなフォーマットに基づく文書データなどがある。文書ビューア1022が扱う文書の一部または全部は、画像処理装置100によってプリント、スキャン、送受信、ファイリングなどが可能である。
ファイル操作10023は、拡張コントローラ103に内蔵または接続された各種記憶手段の上に構築されたファイルシステム、画像処理装置100が持つファイルシステム、または、ネットワーク経由でサーバコンピュータ12やクライアントPC11などが提供するネットワーク共有のファイルシステムを操作するシステムアプリケーションである。
文書管理10024は、拡張コントローラ103に搭載された文書管理システム(document management system)である。文書管理10024は拡張コントローラ103のファイルシステムや外部サーバのデータベース管理システムなどを用いて各種の文書データの蓄積、検索、管理などを実現するための機能を提供する。
図11は、図2に示した拡張コントローラ103のソフトウエアプラットフォームを構成するソフトウエアパッケージ群を説明するブロック図である。
図11において、システムセッション管理11001は拡張コントローラ103のブートアップからシャットダウンまで、システム全体のセッション管理を行うためにシステム全体の構成および設定を管理する。デーモン型サービス(常駐型アプリケーションとして実装されたシステムアプリケーションとユーザアプリケーション)のライフサイクル管理も行う。
電源制御11002は拡張コントローラ103の省電力設定など電力制御の管理を行う。Wake On LAN、ACPIなどハードウェアシステムとBIOS設定を管理する。
ユーザセッション管理11003はログインからログアウトまで、ユーザによるログインセッションを管理する。コンソール型アプリケーション(ユーザのログインセッション中に動作するシステムアプリケーションとユーザアプリケーション)のライフサイクル管理を行う。またWebアプリケーションのログインセッション管理機構を助ける。
ログイン機構11004はユーザがユーザセッションを開始する機構である。ユーザ管理およびユーザ認証パッケージによりユーザの特定を行う。ユーザ環境へのインテグレーションのために、個別のニーズに合わせたログイン機構がプラグイン可能である。たとえばICカード(スマートカード)によるユーザ認証や生体認証に基づくログイン機構を統合することができる。
アクセス制御11005はユーザ毎に、および、ユーザが所属するグループ毎に、拡張画像処理システム10を構成する各種リソースのアクセス権限を管理する。
ユーザ管理・ユーザ認証11006はシステムを利用するユーザアカウントの管理とユーザの特定(識別)を行う。パスワードなどによるwhat−you−know型の認証だけなくICカード(スマートカード)などによるwhat−you−have型や生体認証などによるwhat−you−are型の認証も利用できる。
ディレクトリサービス連携11007は拡張コントローラ103のユーザ管理、ユーザ認証、またはディレクトリ情報の管理を外部のディレクトリサービスに委譲する。
ディレクトリ11008は拡張コントローラ103が備えるローカルディレクトリサービスであり、ユーザ、および、各種リソースの情報を管理する。管理する情報は、ディレクトリサービスが管理対象とするあらゆるエンティティの属性とエンティティ間の関係である。たとえばNDSなどのディレクトリサービスが管理するエンティティの例には、ユーザ、プリンタ、ファイルサーバなどがあげられる。管理対象は、拡張コントローラ103システム内部のリソースと画像処理装置100内部のリソースの両者である。
アプリケーションライフサイクル管理11009はシステムアプリケーションおよびユーザランドアプリケーションのライフサイクル(インストール、アップデート、アンインストール、起動、中断、停止)を管理する。ライセンス管理11010は拡張コントローラ103における各アプリケーションの利用許諾を管理する。
アプリケーションカウンタ11011は拡張コントローラ103に搭載された各アプリケーションの利用量と、アプリケーションの利用に伴うシステムリソースの利用量をカウントする。システムトータルのカウントだけでなくユーザ毎のカウントも可能である。
環境設定管理11012はシステム全体やアプリケーション毎の環境設定(プリファレンス、プロパティ、構成)を保持するデータベースである。ユーザに依存しない共通設定と、ユーザごとのユーザ固有設定とがそれぞれ管理される。
なお、後述するように、図18に示すスクリーンキーボードの表示設定による情報は、ハードディスクで記憶され、かつ、環境設定管理11012によりその設定値が参照されることで、拡張コントローラ103が図16または図17に示す表示制御に従い、液晶ディスプレイ4203へのスクリーンキーボードの表示が制御される。
リソース管理11013はアプリケーションを構成する各種リソース(ローカライズ可能文字列、アイコン画像、サウンド、プラグイン、GUI記述、補助データなど)の構造化と管理を助ける。
パーソナライズフレームワーク11014は複数のアプリケーションのアプリケーション固有設定に対し横断的にユーザの好みを反映するための枠組みを提供する。テーマ(例えば画面全体の色調を選択すると個々のアプリケーションの色調が連動するなど)や、ユーザ固有で複数のアプリケーションから共通に参照される汎用の環境設定(POPサーバ情報など)を実現する。
ユーザアシスタンス11015は拡張コントローラ103のシステム全体およびアプリケーション群のドキュメンテーション(ガイド・ヘルプ、マニュアル、チュートリアルなど)を登録管理し、ユーザによるシステムやアプリケーションの利用を補助するための機構である。
インプット11016はユーザからの入力イベントを処理する。ユーザと拡張コントローラ103システム間のインタラクションにおいてユーザからのイベント入力源は、物理的なキーボードや操作部ハードキー、マウスなどのポインティングデバイス、スクリーンキーボードや操作部エミュレータ、ファンクションキーパネル上のスクリーンファンクションキーなどがある。インプットメソッド(各国語の文字入力のための入力手段あるいはフロントエンドプロセッサ)に関連する処理も行う。
ステータスメッセージ管理11017は各アプリケーションが表明する状態あるいはメッセージを受け付け管理する。ユーザや他のアプリケーションがその状態またはメッセージを取得するための機構を提供する。たとえばステータスティッカ10015がメッセージを取得する。
国際化フレームワーク11018はシステムとアプリケーションの国際化を助ける。
ロギング11019は各アプリケーションがログを残すための機構を提供する。アプリケーションがアプリケーションステータスメッセージ管理に対して送信した状態やメッセージの一部は自動的にロギングされる。エンドユーザのためのログだけでなく、開発者がアプリケーションをデバグするためのログも扱う。
ウィンドウマネージャ11020はネイティブの汎用OS9001用ウィンドウマネージャとの連携によって実装される、拡張コントローラ103に最適化されOS独立なウィンドウマネージャである。各種アプリケーションが開くGUIウィンドウの表示や重なりを制御する。また、指で操作しやすいウィンドウタイトル、メニュー、スライダなどを提供する。
GUIツールキット11021は拡張コントローラ103システム用にルック&フィールをデザインしたGUIフレームワーク、GUI部品(コンポーネント)、および、ランタイムモジュールである。
サウンド11022はタップ音、警告音など音による、システムやアプリケーションからユーザへの情報提示を制御する。拡張コントローラ103システム用にデザインしたサウンドデータのライブラリが用意される。サウンドの設定はパーソナライズの対象である。
セキュア通信チャネル1023は暗号化などの技術により実現される安全なネットワークコネクションを提供する。IETFのSecure Shell(secshまたはSSH)を用いて、セキュアでないTCPコネクションを簡単にトネリングする機構も提供する。
セキュアファイルシステム11024は安全なファイルシステムを提供する。暗号化などの技術によって実現される。暗号処理11025は暗号処理のための機構を提供する。鍵管理11026は各種の暗号処理のために必要な鍵を安全に管理する機構を提供する。
画像処理11027は各種画像処理のための機構を提供する。画像処理装置100が内蔵する画像処理ハードウェアなどを用いた専用の画像処理機能を分散サービスとして拡張コントローラ103のアプリケーションから利用するための分散イメージング機構も提供される。またOCRやブロックセレクションの技術も画像処理の一環として扱われる。
プレゼンテーション拡張インタフェース11028は拡張コントローラ103システム内アプリケーションによって実装されるプレゼンテーションロジックから、画像処理装置100内の組み込みアプリケーションのビジネスロジックへの、通信機構を提供する。
組み込みアプリケーション拡張インタフェース11029は画像処理装置100内の組み込みアプリケーションのビジネスロジックを分散コンポーネント化するためのフレームワークとアプリケーションプロトコルによって実現されるインタフェースである。
ジョブ制御・装置制御インタフェース11030は画像処理装置の製品シリーズをまたがって共通で統一的な制御モデルを提供するプリミティブなインタフェースである。ジョブ制御・装置制御インタフェース1103は、拡張コントローラ103システムのアプリケーションが画像処理装置100のデバイス機能を制御することを可能とする。ジョブ制御・装置制御インタフェース11030によって、拡張コントローラ103内のソフトウエアと画像処理装置100内の組み込みアプリケーション層とがインタフェースすることはできない。
画像ジョブ制御インタフェース11031は画像処理装置100によってプリントやスキャンなどの画像転送を伴う処理を高速に行うための高水準インタフェースである。画像ジョブ制御インタフェース11031は拡張コントローラ103システム内のアプリケーションが画像処理装置100本体のデバイス機能を利用することを可能とする。このインタフェースによって画像処理装置100本体内の組み込みアプリケーション層とインタフェースすることはできない。
プリンタドライバ11032はネイティブの汎用OS9001が提供するプリントフレームワークによって、拡張コントローラ103のアプリケーションから画像処理装置100に対するプリントジョブやファクス送信ジョブや文書ファイル格納ジョブなどを投入する機構である。
スキャナドライバ11033はネイティブの汎用OS9001が提供する画像スキャンフレームワークによって、拡張コントローラ103のアプリケーションから画像処理装置100に対するプルスキャンジョブの投入とスキャン画像の取得を行う機構である。
アプリケーション間通信11034は拡張コントローラ103で動作するソフトウエアのプロセス間およびスレッド間の通信機構を提供する。拡張コントローラ103の汎用OS9001はその上で動作する各プロセスに対してそれぞれ独立した保護されたメモリ空間を提供するため、異なるプロセスとして動作するアプリケーション間で通信を行うためには特別な機構を必要とする。
上記アプリケーション間通信11034は汎用OS9001が提供する共有メモリ、パイプ、ソケットなどの機構を用いて、プロセス間通信のトランスポート層を実装している。プロセス間通信のアプリケーションプロトコル層はXMLプロトコル(SOAP)を用いたXMLベースのメッセージ交換を基本とし、XMLプロトコルの扱いを助けるツールキット、フレームワーク、エンジンが提供される。
また、アプリケーション間通信11034は、拡張コントローラ103と画像処理装置100、および、拡張コントローラ103と外部システムなど、複数のノードに分散しネットワークを介した協調を行う複数のソフトウエア群による分散システムの構築を助けるためのフレームワークも含む。この枠組みには、前記のプログラミング言語独立なXMLプロトコルに基づくものと、Java(登録商標)の分散オブジェクト技術であるRMIに基づくものとが提供される。
マクロ・スクリプティング11035はエンドユーザプログラミングやスクリプティング、あるいは、例題学習(ユーザが行った動作を記録して、再生可能とする)などの技巧によって、ソフトウエアにおける一連の処理を単一の処理にまとめるマクロ機構である。
マクロ・スクリプティング11035によって、ユーザは単一のアプリケーションの中で行う一連の処理をマクロ化するだけでなく、複数のアプリケーションの処理を組み合わせた処理を定型業務のようなマクロとして登録し利用することもできる。
実行スケジューリング11036は定時実行(UNIX(登録商標)のユーティリティであるcronに類似している)、および、システムセッションのイベント(たとえばブートアップ、シャットダウン)やユーザセッションのイベント(たとえばログイン、ログアウト)などに同期して所望の処理を自動的に実行するための機構である。
Webサーバ11037は、よく知られたネットワークプロトコルであるHTTP(あるいはそれをセキュアにしたHTTPSなども同様)に基づく要求に応えて要求元との間でデータの送受信を行うサービスである。
アプリケーションサーバ11038はWebサーバ11037と連動し、クライアントとの間で動的なデータの交換を行うWebアプリケーションのために動作環境を提供する。Webサーバ11037が受信したHTTPの要求メッセージをその要求メッセージに応じた適切なアプリケーションに対して要求として引渡し、アプリケーションの処理結果に基づくアプリケーションからの応答を受け取って対応するHTTP応答メッセージとして元のHTTP要求の要求元へと返送する。
アプリケーションサーバ11038は、Webアプリケーションを効率的に開発し動作させるために、テンプレートとテンプレート言語に基づくプログラムとの組み合わせによって動的にメッセージを生成するテンプレートエンジンを含む。またアプリケーションサーバ11038は、Webアプリケーションを効率的に開発し動作させるために、MVC(Model−View−Controller)アーキテクチャに基づくアプリケーションフレームワークを備える。
SOAPエンジン11039は、よく知られているXMLプロトコルを処理するプロセッサの開発を容易にするためのエンジンである。SOAPエンジン11039はアプリケーションサーバ11038と連動するように構成している。SOAPエンジン11039はSOAPクライアントから送られてきたSOAP要求メッセージを処理し、メッセージを処理するための適切なソフトウエアに引き渡す。SOAP要求メッセージを処理するソフトウエアが適切な処理を完了してリターンするとSOAPエンジンはそのリターンに相当するSOAP応答メッセージを生成して要求元のSOAPクライアントに返送する。
XMLツールキット11040は、拡張コントローラ103上のソフトウエア群が、XMLやその応用として規定された各種マークアップ言語の解釈、生成、変換などの処理を実行することを助けるためのツールキットである。
Java(登録商標)プラットフォーム11041の基本部分はJava(登録商標) 2 Platform, Standard EditionまたはJava(登録商標) 2 Runtime Environmentとしてよく知られているJava(登録商標)プラットフォームによって構築されている。このように、本システムが具備する拡張コントローラ103は、本システムの画像処理装置100に各種の動作を実行させる為の機能を含む複数種類の機能を実行可能に構成している。
図12は、図2に示した拡張コントローラ103が具備する操作部171の表示部に表示させる表示画面の一例を示す図である。
図12において、拡張コントローラ103は、例えばPC等の情報処理装置を使用しており、拡張コントローラ103が具備する操作部171の表示モニタは1024ドット×768ドットの解像度のLCDタッチパネルを使用するよう構成している。
また、本システムでは、該拡張コントローラ103の操作部171を介して、画像処理装置100の操作部150を介してユーザにより指示操作可能な操作と同等の操作をユーザにより実行可能にすると共に、画像処理装置100側には具備していない機能を拡張コントローラ103を用いて実行させる為の指示操作をも実行可能にするように、各種のユーザインタフェース画面を操作部171に提供させるよう制御している。
画面中央付近がアプリケーション表示エリア12001であり、図示するようにコピー画面をはじめとして、複数のウィンドウが同じサイズに重なっている。ユーザから見た場合は最前面のウィンドウが1つだけ動いているように見える。
また、画面左端のアイコンボックス12002は、前述のウィンドウ切り替え手段に該当する。各ウィンドウに1対1で対応したアプリケーション名とアイコンが表示されており、利用可能なアプリケーションが多数存在し画面内に収まりきらない場合は、スクロールして表示を行うことが出来る。
アイコンボックス上の任意のアイコンを押すことで、アプリケーション表示エリア上に該当するウィンドウが表示される。画面上部のファンクションキーパネル12003は拡張コントローラ操作部で共通に利用する機能ボタンの集合である。ユーザモードボタン12004は、ボタンを押下することにより本拡張コントローラ全体またはアプリケーション表示エリアに表示されているアプリケーションの設定画面を呼び出すメニューが表示され、それぞれの設定を行うことが出来る。スクリーンキーボードボタン12005は、後述するスクリーンキーボードを起動することが出来る。
操作部パネルエミュレータボタン12006は、後述する操作部パネルエミュレータを起動することが出来る。ガイドボタン12007は、ボタンを押下することにより本拡張コントローラ103全体またはアプリケーション表示エリアに表示されているアプリケーションのガイド画面を呼び出すメニューが表示され、それぞれのガイドを閲覧することが出来る。
アバウトボタン12008は、ボタンを押下することにより本拡張コントローラ全体またはアプリケーション表示エリアに表示されているアプリケーションのアバウト画面を呼び出すメニューが表示され、それぞれのアバウト情報を閲覧することが出来る。リセットキー12009は、アプリケーション表示エリアに表示されているアプリケーションに対してリセットキーのキーコードを送信することが可能であり、リセットキーを受けたアプリケーションは、アプリケーション既定のリセット動作を行う。
画面下部のログオフボタン12010は、ログイン中ユーザのログオフまたは本拡張コントローラ103のシャットダウンを行うことが出来る。ソフトタリー12011は、画像処理装置のタリーランプをエミュレートしたものであり、本拡張コントローラ103の状態(例えば正常、警告、エラーなど)を赤および青の点滅、点灯、消灯によって通知することが出来る。ステータスティッカ12012はアプリケーションが発生するメッセージを表示するエリアであり、複数のアプリケーションから送られるメッセージのうち優先度の最も高いメッセージを表示する。メッセージはスクロール表示可能であるため長いメッセージに関しても全てを確認することが可能である。履歴ボタン12013は本拡張コントローラ103の履歴画面を表示することが出来る。デバイス状況ボタン12014は画像処理装置の状況、履歴画面を表示することが出来る。
シングルユーザモードで運用している場合、ログオフボタン12010によって拡張コントローラ103のシャットダウンを指示できる。マルチユーザモードで運用している場合は、ログオフボタン12010によって利用中のユーザのログオフ(すなわちユーザセッションの終了)と、拡張コントローラ103のシャットダウン(すなわちシステムセッションの終了)とを、選択して指示することができる。ユーザがシャットダウンを指示すると、拡張コントローラプラットフォーム9002から各アプリケーションに対してシステムセッション終了のイベントが通知され終了処理を促す。
さらに、拡張コントローラプラットフォーム9002は汎用オペレーティングシステム9001が備えるシャットダウン手続きを呼び出して、OSレベルの終了処理を促す。この結果として、よく知られたPCアーキテクチャのコンピュータと同様に、拡張コントローラ103のソフトウエアシステム全体が停止し、ハードウェアシステムも電源部とネットワークインタフェース部など一部のモジュールを除いてほとんど電力を消費しない状態に遷移する。画像処理装置100が単体で持つ機能性を最大限維持しながら、拡張コントローラ103による柔軟な拡張性の付加を可能とするために、両者は基本的に疎結合に構成されている。そのため拡張コントローラ103の電源部と画像処理装置100の電源部は相互にまったく独立しており、それぞれが単体で動作可能である。すなわち、拡張コントローラ103をシャットダウンしても画像処理装置100は動作し続けることができる。
図13は、図12に示したファンクションキーパネル12003から起動されるスクリーンキーボードの構成を説明する図である。
スクリーンキーボードは、LCDタッチパネル上での文字入力を可能にするものである。キーボード設定に応じて、101キーボードや106キーボードのようにレイアウトを変更することが可能である。
図14は、図12に示したファンクションキーパネル12003から起動される画像処理装置の操作部パネルエミュレータを構成を説明する図である。
図14に示すように、本実施形態における操作部パネルエミュレータは、画像処理装置のハード操作部のテンキーやスタートキー、ストップキーと同様の入力を可能にするものである。
図15は、図2に示した拡張コントローラ103に搭載されるユーザランドアプリケーションの一つである暗号化セキュアプリントの画面を示す図である。
本実施形態において、暗号化セキュアプリントは、出力装置において排紙された印刷原稿が第三者の目に触れないようにする機密保持、およびネットワーク上を流れる印刷データの機密保持を目的としたアプリケーションである。
ユーザはクライアントPCにおいて印刷ジョブを発行する際に、任意の暗証番号やパスワードの入力や、ICカードを利用して、印刷データを暗号化し拡張コントローラ103へ送信する。暗号化された印刷データは拡張コントローラ103上において暗号化された状態でスプールされる。
その後、ユーザは拡張コントローラ103において、任意の暗証番号やパスワードの入力やICカードを挿入することにより、暗号化された印刷データを復号化し、所望の印刷原稿の機密性を保持して入手することが可能となる。
ここで、BKDは仮想キーボードで、メニュー上の暗号プリントボタンBT10が押下指示されて、ID入力画面15001が表示されることを拡張コントローラ103が検出した場合で、かつ、後述するような仮想キーボード表示に対する表示設定を判定して、表示または非表示が制御される構成となっている。
本実施形態では、入力フォーカスが入力領域にあたったことを検知するとは、フォアグラウンドのウィンドウを取得し、さらにそのウィンドウ内のフォーカスを持つウィンドウのハンドルを取得し、更にそのウィンドウのクラス名および入力タイプが入力可能条件を満たすか否かで判定している。図15のWorkplace Gatewayと表示されているダイアログがフォアグラウンドのウィンドウであり、その中のIDと表示されている入力領域を前記手順で検知し、キーボードが表示されることになる。
なお、本実施形態では、外部接続可能なキーボードが所定のインタフェースを介して接続される場合には、非表示とする設定を行うことが可能に構成され、該設定に関する情報は、ハードディスク等に記憶することができる。
図16は、本発明に係る画像処理システムにおける第1のデータ処理手順の一例を示すフローチャートであり、スクリーンキーボード表示制御のアルゴリズムに対応する。なお、S1601〜S1611は各ステップを示す。また、本処理は、本画像処理装置100の拡張コントローラ103が実行するステップに対応する。
ハードウエアキーボードの接続状態に応じて、スクリーンキーボード自動表示するしないを切り換える処理を示すフローチャートである。
ステップS1601において、拡張コントローラ103は、システムが起動した後、ステップS1602においてスクリーンキーボードの初期化処理を行い、非表示状態とする。次に、ステップS1603において、入力領域に入力フォーカスがあるかを検知する検知ループに入り、入力領域に入力フォーカスがないと拡張コントローラ103が判断した場合は、ステップS1603における検知処理を継続し、入力領域に入力フォーカスがあると判断した場合は、ステップS1604に進む。
そして、ステップS1604において、例えば図4に示した拡張コネクタ124を介してハードウエアキーボードが接続状態となっているかどうかを拡張コントローラ103が判定し、ハードウエアキーボードが接続されていると判断した場合は、ステップS1603に処理を戻し続行し、ハードウエアキーボードが接続されていないと判定した場合は、ステップS1605に進む。
ここで、ハードウエアキーボードの接続状態は、公知であるUSBのプラグアンドプレイ機構を利用するため詳細は省略する。
次に、ステップS1605においては、スクリーンキーボードが既に表示中であるかを拡張コントローラ103が判定し、表示されていないと判定した場合は、ステップS1606において、スクリーンキーボードを液晶ディスプレイ4203上に表示し、ステップS1607に進む。
一方、ステップS1605で、すでにスクリーンキーボードが液晶ディスプレイ4203上に表示されていると判断した場合は、ステップS1607に進む。
そして、ステップS1607においては、スクリーンキーボード表示状態の、入力領域から入力フォーカスが外れているのかを行う検知ループに入り、入力フォーカスが外れていると拡張コントローラ103が判断した場合は、ステップS1609に進み、スクリーンキーボードを液晶ディスプレイ4203上に非表示にした後、ステップS1610に進む。
一方、ステップS1607で、入力フォーカスが外れていないと判断した場合は、ステップS1608に進む。
そして、ステップS1608では、ユーザからの意図的なスクリーンキーボード非表示指示があるかを拡張コントローラ103が判定する。
なお、本実施形態において、非表示指示とは、図13に示した右下に表示されている「閉じる」ボタンCBの押下である。
そして、ステップS1608で、非表示指示があったと拡張コントローラ103が判断した場合はステップS1609に進み、スクリーンキーボードを液晶ディスプレイ4203上で非表示にした後、ステップS1610に進み、非表示指示がなかったと判断した場合は、スクリーンキーボードを液晶ディスプレイ4203上で表示したまま、ステップS1610に進む。
そして、ステップS1610においては、システム終了指示があるかどうかを拡張コントローラ103が判断して、システム終了指示がないと判断した場合は、ステップS1603において前記手順を繰り返し、システム終了指示があると判断した場合は、ステップS1611に進み終了する。
上記実施形態によれば、ハードウエアキーボードが接続されていることを拡張コントローラ103が検出している場合には、通常のスクリーンキーボードの表示が制限されることなり、表示画面上に煩わしくスクリーンキーボードの表示、非表示が繰り返される事態が回避され、ユーザはハードウエアキーボードによる入力操作に専念することができる。
〔第2実施形態〕
図17は、本発明に係る画像処理システムにおける第2のデータ処理手順の一例を示すフローチャートであり、スクリーンキーボード表示制御(スクリーンキーボード自動表示機能の設定値に応じて、スクリーンキーボード自動表示するしないを切り換える処理)のアルゴリズムに対応する。なお、S1701〜S1711は各を示す。また、本処理は、本画像処理装置100の拡張コントローラ103が実行するステップに対応する。
先ず、ステップS1701においてシステムが起動した後、ステップS1702において、拡張コントローラ103はスクリーンキーボードの初期化処理を行い、液晶ディスプレイ4203上でスクリーンキーボードを非表示状態とする。次に、ステップS1703において、入力領域に入力フォーカスがあるかを検知する検知ループに入り、入力領域に入力フォーカスがないと拡張コントローラ103が判定した場合は、ステップS1703における検知処理を継続し、入力領域に入力フォーカスがあると判定した場合は、ステップS1704に進み、スクリーンキーボードの自動表示設定を拡張コントローラ103が記憶されている設定フラグ等より判定し、スクリーンキーボード自動表示が無効とされていたと判定した場合は、ステップS1703に処理を戻し続行し、スクリーンキーボード自動表示が有効とされていた場合は、ステップS1705に進む。
そして、ステップS1705においては、スクリーンキーボードが液晶ディスプレイ4203上で既に表示中であるかを拡張コントローラ103が判定し、表示されていないと判定した場合は、ステップS1706においてスクリーンキーボードを液晶ディスプレイ4203上で表示する制御を拡張コントローラ103が行い、ステップS1707に進む。
一方、すでに液晶ディスプレイ4203上でスクリーンキーボードが表示されていると判断した場合は、そのままステップS1707に進む。
そして、S1707においては、スクリーンキーボード表示状態で入力領域から入力フォーカスが外れているか否かの検知ループに入り、入力フォーカスが外れていると拡張コントローラ103が判定した場合は、ステップS1709に進み、スクリーンキーボードを液晶ディスプレイ4203上で非表示にした後、ステップS1710に進む。
一方、ステップS1707で、入力フォーカスが外れていないと拡張コントローラ103が判定した場合は、ステップS1708に進む。そして、ステップS1708では、ユーザからの意図的なスクリーンキーボード非表示指示があるかを拡張コントローラ103が判定する。
ここで、非表示指示とは、図13の右下に表示されている「閉じる」ボタンの押下である。
そして、非表示指示があったと拡張コントローラ103が判定した場合は、ステップS1709に進み、拡張コントローラ103は、スクリーンキーボードを液晶ディスプレイ4203上で非表示にした後、ステップS1710に進み、非表示指示がなかったと判定した場合は、スクリーンキーボードを液晶ディスプレイ4203上で表示したまま、ステップS1710に進む。
そして、ステップS1710においては、システム終了指示があるかどうかを拡張コントローラ103が判定して、システム終了指示がないと判定した場合は、ステップS1703において前記手順を繰り返し、システム終了指示があると判定した場合は、ステップS1711に進み、本処理を終了する。
図18は、図7に示した液晶ディスプレイ4203に表示されるスクリーンキーボード自動表示機能の設定値の画面例を示す図である。
なお、図18に示すスクリーンキーボード自動表示機能の設定値の画面において、キーボード自動表示が「ON」に設定された場合、該設定値は拡張コントローラ103の環境設定管理11012で設定可能であり、設定値はハードディスクに記録される。
上記実施形態では、画像形成に関する複数の機能を有し、各機能を操作するための情報を入力することが可能な画像処理装置、または前記画像処理装置の拡張制御装置であって、仮想的なスクリーンキーボードを表示して、入力フォーカスが入力領域に当たったことを検知し、スクリーンキーボード自動表示に関わる特定の状態に応じて、自動表示するしないを切り換える制御をするので、スクリーンキーボードの自動表示に関して、ユーザのユースケースに応じた構成を提供することが可能になる。
さらに、前記スクリーンキーボード自動表示に関わる特定の状態が、ハードウエアキーボードの接続状態であって、ハードウエアキーボードが接続されていればスクリーンキーボード自動表示を行わないとともに、ハードウエアキーボードが接続されていなければスクリーンキーボード自動表示を行うので、ハードウエアキーボードを接続したにも関わらず、不要になったスクリーンキーボードが従来通り表示されてしまい、表示画面の一部を隠してしまう、入力領域に入力フォーカスが当たるたびに表示、非表示を繰り返し煩わしい、という問題を回避することが可能になる。
さらに、スクリーンキーボード自動表示に関わる特定の状態が、スクリーンキーボード自動表示機能の設定値であって、スクリーンキーボード自動表示有効であればスクリーンキーボード自動表示を行うとともに、スクリーンキーボード自動表示無効であればスクリーンキーボード自動表示を行わないので、ユーザが操作に慣れてくるとかえって煩わしい、という問題を回避することが可能になる。
さらに、スクリーンキーボードが、入力フォーカスが入力領域から外れたことを検知した場合スクリーンキーボードを自動非表示にするので、ユーザが意図して「閉じる」キーを押下せずとも、スクリーンキーボードを非表示にすることが可能であり、キータッチを減らすことが可能になる。
以下、図19に示すメモリマップを参照して本発明に係る画像処理システムで読み取り可能なデータ処理プログラムの構成について説明する。
図19は、本発明に係る画像処理システムで読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
本実施形態における図16、図17に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやftpサーバ等も本発明の請求項に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から排除するものではない。
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるものではない。
なお、本発明は、上記した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。以下、その実施態様1〜12について説明する。
〔実施態様1〕
画像形成に関する複数の機能を有し、各機能を設定するための設定情報を表示手段に表示された情報入力画面を用いて操作入力することが可能な画像処理装置において、前記情報入力画面上に仮想的なスクリーンキーボードを表示するキーボード表示手段(図2に示す拡張コントローラ103による図16に示すステップS1606あるいは図17に示すステップS1706)と、前記スクリーンキーボードの表示を制限すべき特定状態かどうかを判定する判定手段(図2に示す拡張コントローラ103による図16に示すステップS1604)と、入力フォーカスが入力領域に当たったことを検知する検知手段(図2に示す拡張コントローラ103による図16に示すステップS1603、あるいは図17に示すステップS1703)と、前記検知手段により入力フォーカスが検知された場合に、前記判定手段による判定結果に基づいて、前記キーボード表示手段による前記情報入力画面上での仮想的なスクリーンキーボードの表示、非表示を制御する制御手段(図2に示す拡張コントローラ103による図16に示すステップS1606,S1609,図17に示すステップS1706,S1709)とを有することを特徴とする画像処理装置。
これにより、画像処理装置における仮想的なスクリーンキーボードの表示、非表示が有効に制御される状態であっても、スクリーンキーボードの表示を制限すべき特定状態である場合には、スクリーンキーボードの表示、非表示が制限されることで、表示装置上の情報入力画面にスクリーンキーボードが頻繁に表示、非表示が繰り返されることがなくなり、情報入力画面の視認性が向上した状態で入力操作を行える。
〔実施態様2〕
前記判定手段は、特定のデバイスの拡張接続状態に基づいて前記スクリーンキーボードの表示を制限すべき特定状態であるかどうかを判定する(図16に示すステップS1604)ことを特徴とする実施態様1記載の画像処理装置。
これにより、画像処理装置における仮想的なスクリーンキーボードの表示、非表示が有効に制御される状態であっても、スクリーンキーボードの表示を制限すべき、特定のデバイスが接続されている状態である場合には、スクリーンキーボードの表示、非表示が制限されることで、表示装置上の情報入力画面にスクリーンキーボードが頻繁に表示、非表示が繰り返されることがなくなり、情報入力画面の視認性が向上した状態で特定のデバイスから入力操作を行える。
〔実施態様3〕
前記拡張接続されるデバイスは、ハードウエアキーボードであることを特徴とする実施態様2記載の画像処理装置。
これにより、画像処理装置における仮想的なスクリーンキーボードの表示、非表示が有効に制御される状態であっても、スクリーンキーボードの表示を制限すべき、ハードウエアキーボードが接続されている状態である場合には、スクリーンキーボードの表示、非表示が制限されることで、表示装置上の情報入力画面にスクリーンキーボードが頻繁に表示、非表示が繰り返されることがなくなり、情報入力画面の視認性が向上した状態でハードウエアキーボードから入力操作を行える。
〔実施態様4〕
前記スクリーンキーボードの自動表示の可否を設定する設定手段(図18に示す設定画面により設定され、該設定状態が拡張コントローラ103により図17に示すステップS1704)を有し、前記判定手段は、前記設定手段による設定状態に基づいて前記スクリーンキーボードの表示を制限すべき特定状態であるかどうかを判定する(拡張コントローラ103により図17に示すステップS1704)ことを特徴とする実施態様1記載の画像処理装置。
これにより、画像処理装置における仮想的なスクリーンキーボードの表示、非表示が有効に制御される状態そのものをユーザの操作環境に適応して変更し、スクリーンキーボードの表示を制限としたり、非表示としたりするようにスクリーンキーボードの表示環境をカスタマイズできる。
〔実施態様5〕
前記制御手段は、前記検知手段により入力フォーカスが入力領域から外れたことを検知した場合に、前記スクリーンキーボードを自動非表示とすることを特徴とする実施態様1記載の画像処理装置。
これにより、情報入力画面上で入力フォーカスが入力領域に入出するかどうかを検知するという簡単な構成で、適時にスクリーンキーボードが表示され、操作入力状態に応じて、自動的にスクリーンキーボードが情報入力画面から消失するので、スクリーンキーボードの表示、非表示を要求する操作が不要となり、ユーザの入力操作負担が軽減されて、必要な情報の入力操作に専念できる。
〔実施態様6〕
画像形成に関する複数の機能を有し、各機能を設定するための設定情報を表示手段に表示された情報入力画面を用いて操作入力することが可能な画像処理装置における表示制御方法において、前記情報入力画面上に仮想的なスクリーンキーボードを表示するキーボード表示ステップ(図2に示す拡張コントローラ103による図16に示すステップS1606あるいは図17に示すステップS1706)と、前記スクリーンキーボードの表示を制限すべき特定状態かどうかを判定する判定ステップ(図2に示す拡張コントローラ103による図16に示すステップS1604)と、入力フォーカスが入力領域に当たったことを検知する検知ステップ(図2に示す拡張コントローラ103による図16に示すステップS1603、あるいは図17に示すステップS1703)と、前記検知ステップにより入力フォーカスが検知された場合に、前記判定ステップによる判定結果に基づいて、前記キーボード表示ステップによる前記情報入力画面上での仮想的なスクリーンキーボードの表示、非表示を制御する制御ステップ(図2に示す拡張コントローラ103による図16に示すステップS1606,S1609,図17に示すステップS1706,S1709)とを有することを特徴とする表示制御方法。
これにより、画像処理装置における仮想的なスクリーンキーボードの表示、非表示が有効に制御される状態であっても、スクリーンキーボードの表示を制限すべき特定状態である場合には、スクリーンキーボードの表示、非表示が制限されることで、表示装置上の情報入力画面にスクリーンキーボードが頻繁に表示、非表示が繰り返されることがなくなり、情報入力画面の視認性が向上した状態で入力操作を行える。
〔実施態様7〕
前記判定ステップは、特定のデバイスの拡張接続状態に基づいて前記スクリーンキーボードの表示を制限すべき特定状態であるかどうかを判定することを特徴とする実施態様6記載の表示制御方法。
これにより、画像処理装置における仮想的なスクリーンキーボードの表示、非表示が有効に制御される状態であっても、スクリーンキーボードの表示を制限すべき、特定のデバイスが接続されている状態である場合には、スクリーンキーボードの表示、非表示が制限されることで、表示装置上の情報入力画面にスクリーンキーボードが頻繁に表示、非表示が繰り返されることがなくなり、情報入力画面の視認性が向上した状態で特定のデバイスから入力操作を行える。
〔実施態様8〕
前記拡張接続されるデバイスは、ハードウエアキーボードであることを特徴とする請求項7記載の表示制御方法。
これにより、画像処理装置における仮想的なスクリーンキーボードの表示、非表示が有効に制御される状態であっても、スクリーンキーボードの表示を制限すべき、ハードウエアキーボードが接続されている状態である場合には、スクリーンキーボードの表示、非表示が制限されることで、表示装置上の情報入力画面にスクリーンキーボードが頻繁に表示、非表示が繰り返されることがなくなり、情報入力画面の視認性が向上した状態でハードウエアキーボードから入力操作を行える。
〔実施態様9〕
前記スクリーンキーボードの自動表示の可否を設定する設定ステップを有し、前記判定ステップは、前記設定ステップによる設定状態に基づいて前記スクリーンキーボードの表示を制限すべき特定状態であるかどうかを判定することを特徴とする実施態様6記載の表示制御方法。
これにより、画像処理装置における仮想的なスクリーンキーボードの表示、非表示が有効に制御される状態そのものをユーザの操作環境に適応して変更し、スクリーンキーボードの表示を制限としたり、非表示としたりするようにスクリーンキーボードの表示環境をカスタマイズできる。
〔実施態様10〕
前記制御ステップは、前記検知ステップにより入力フォーカスが入力領域から外れたことを検知した場合に、前記スクリーンキーボードを自動非表示とすることを特徴とする実施態様6記載の表示制御方法。
これにより、情報入力画面上で入力フォーカスが入力領域に入出するかどうかを検知するという簡単な構成で、適時にスクリーンキーボードが表示され、操作入力状態に応じて、自動的にスクリーンキーボードが情報入力画面から消失するので、スクリーンキーボードの表示、非表示を要求する操作が不要となり、ユーザの入力操作負担が軽減されて、必要な情報の入力操作に専念できる。
〔実施態様11〕
実施態様6〜10のいずれかに記載の表示制御方法を実行させるためのプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
これにより、実施態様6〜10における効果を奏する。
〔実施態様12〕
実施態様6〜10のいずれかに記載の表示制御方法を実行させることを特徴とするプログラム。
これにより、実施態様6〜10における効果を奏する。