(57)【要約】【課題】画像入力装置及び画像出力装置に最適な画像処理プログラムを選択・利用する。【解決手段】ソフトウェアサーバ２１００には、あらかじめそれら装置に適した画像処理プログラム２０７０Ｐ，２０９５Ｐが保持されている。コピー動作を行う際には、まずスキャナ１０７０及びプリンタ２０９５を使用する装置として決定し、それぞれの画像処理プログラムをロードして、コピー動作を開始する。【選択図】図１４
2010011468.tif 000002
【特許請求の範囲】
【請求項１】
サーバと、画像入力装置及び画像出力装置あるいはそれらのいずれかと情報の通信が可能な画像処理装置であって、
画像処理を開始する前に、前記画像処理で使用する画像入力装置及び画像出力装置あるいはそのいずれかを決定する決定手段と、
前記決定手段により決定された装置に対応する画像処理プログラムを前記サーバから前記画像処理装置に受信する手段と、
前記決定手段により決定された前記装置を使用して画像の入出力を行うと共に、前記受信された画像処理プログラムにより前記画像に対し画像処理を行う画像処理手段と
を備えることを特徴とする画像処理装置。
【請求項２】
サーバと、画像入力装置及び画像出力装置あるいはそれらのいずれかと情報の通信が可能な画像処理装置の制御方法であって、
画像処理を開始する前に、前記画像処理で使用する画像入力装置及び画像出力装置あるいはそのいずれかを決定する決定工程と、
前記決定工程により決定された装置に対応する画像処理プログラムを前記サーバから前記画像処理装置に受信する工程と、
前記決定工程により決定された前記装置を使用して画像の入出力を行うと共に、前記受信された画像処理プログラムにより前記画像に対し画像処理を行う画像処理工程と
を備えることを特徴とする画像処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばプリンタ部とスキャナ部などの画像入出力デバイスを接続し、画像処理を遂行する画像処理装置及びその制御方法に関する。
【背景技術】
【０００２】
画像入力装置（画像読み取り装置）と画像出力装置とをその構成に含む画像処理装置において、複写処理等の画像読み取りと画像出力を伴う処理を行う場合に、所望の出力画像を得るために、画像読み取り後、画像出力前に適切な画像処理を行うのが通常である。
【０００３】
従来、この画像処理は、画像入力装置に対して１つの画像出力装置、あるいは既存かつ少数の画像出力装置に限定した系で所望の出力画像が得られるように作り込まれていた。多くの場合、一種類の画像入力装置と一種類の画像出力装置とを組み合わせた閉じた系において最も高品質の得られる画像処理を専用に設計し、その画像処理を専用ＬＳＩ等を用いたハードウェアによって実現していた。
【０００４】
ところが、画像処理装置がネットワークスキャナやネットワークプリンタとしての機能を持つことにより、画像入力装置はネットワークを介した画像出力装置等に、また逆に、画像出力装置はネットワークを介した画像入力装置等、様々な画質特性と画像形式を持った装置に接続されることとなり、一対一の系に対して作り込んだ画像処理だけでは高品質を得られない場合や、接続相手となる画像入出力装置の使用する圧縮形式等の画像形式に対応していないために、画像情報を正しく受け渡しできない場合が生じるようになった。接続先の画質特性と画像形式に対応し、常に高品質な結果を得るために、接続先に応じて画像処理の内容を変化させる必要が生じたのである。
【０００５】
この問題を解決するために考えられている仕組みの１つとして、ソフトウェアによる画像処理がある。
【０００６】
一般的に、内部の複数の処理の順序や種類を柔軟に変更することのできないハードウェアによる画像処理でも構成を工夫することにより、パラメータ設定によってその処理を変化させることができるが、高品質な画像処理と様々な画像形式への対応処理を複数用意することは技術やコストの面で限界がある。またハードウェアは装置設計の時点ですべてを作り込んでしまう必要があり、未知の画像処理への対応は実現不可能である。
【０００７】
それに対し、ソフトウェアによれば、一つの汎用演算装置に対して、高品質かつ様々な画像形式に対応した画像処理ソフトウェアを複数用意して、その中から一つを選択して実行するといったことが容易に、ハードウェアによるものよりもより低いコストと短い設計期間とで実現できる。これは、実行時に命令を順番に読み込みながら処理を行うために、一つの構成で様々な処理を選択して実行可能というソフトウェアの特徴が利用できるためである。
【０００８】
またソフトウェアは、装置のハードウェアが完成した後で設計し直すことができる。つまり新規の画像入出力装置が登場して、それに対する新規の画像処理が必要になった時点でソフトウェアだけを設計し直してその画像入出力装置に対応できるため、少ないコストと短い再設計時間で新規の画像入出力装置への対応が可能といえる。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、画像処理プログラム自体を画像入力装置あるいは画像出力装置に対応させて作成・変更することは容易であっても、画像処理装置に接続された画像入力装置及び画像出力装置に合わせて、適切な画像処理プログラムを画像処理装置に用意しておく必要があった。このために、接続された画像入力／出力装置に最適な画像処理プログラムを利用者が選択し、それをロードすると入った手間が、画像入力／出力装置の使用に際しては不可欠であった。
【００１０】
本発明は上記従来例に鑑みて成されたもので、利用者が介在することなく、接続された画像入力装置及び／または画像出力装置に適した画像処理プログラムを選択して実行させることができる画像処理装置及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために本発明は次のような構成からなる。すなわち、サーバと、画像入力装置及び画像出力装置あるいはそれらのいずれかと情報の通信が可能な画像処理装置であって、
画像処理を開始する前に、前記画像処理で使用する画像入力装置及び画像出力装置あるいはそのいずれかを決定する決定手段と、
前記決定手段により決定された装置に対応する画像処理プログラムを前記サーバから前記画像処理装置に受信する手段と、
前記決定手段により決定された前記装置を使用して画像の入出力を行うと共に、前記受信された画像処理プログラムにより前記画像に対し画像処理を行う画像処理手段とを備える。
【発明の効果】
【００１２】
以上述べたように、本発明によれば、画像入力装置と画像出力装置の組み合わせに対して最適な画像処理プログラムを、利用者の介在なしに選択し、画像処理を実行することができる。このため、利用者の労力を軽減できるとともに、様々な画像入力装置と画像出力装置との組み合わせに対して高品質な画像処理を実現することができる。また、新規の画像処理に対しても、システムの構成を変えることなく、必要に応じて新規の画像処理ソフトウェアだけを前記サーバに追加あるいは置き換えすることにより低コストかつ短設計時間で容易に対応できる。
【００１３】
あるいは、サーバに画像処理プログラムを格納し、画像処理装置に接続された画像入力装置と画像出力装置に対して正確に対応した画像処理プログラムをそこからロードすることで、膨大な数の画像処理ソフトウェアを装置内にあらかじめ記録しておく必要なしに、さらに、画像処理ソフトウェアのバージョンアップ等変更の際に各装置個別に書き換え作業をする必要なしに、画像処理ソフトウェアをサーバで集中管理させることができる。
【図面の簡単な説明】
【００１４】
【図１】第１実施形態におけるシステムの全体ブロック図である。
【図２】スキャナ部、プリンタ部、及び操作部の外形図である。
【図３】操作部を示す図である。
【図４】画像処理部のブロック図である。
【図５】画像圧縮処理部のブロック図である。
【図６】画像処理部内部のブロック図である。
【図７】画像回転部のブロック図である。
【図８】画像回転処理の説明図である。
【図９】画像回転処理の説明図である。
【図１０】デバイスＩ／Ｆ部のブロック図である。
【図１１】第１実施形態における画像処理手順を示すフローチャートである。
【図１２】第２実施形態におけるシステムの全体ブロック図である。
【図１３】第２実施形態における画像処理手順を示すフローチャートである。
【図１４】第３，第４実施形態におけるシステムの全体ブロック図である。
【図１５】第３実施形態における画像処理手順を示すフローチャートである。
【図１６】第３実施形態における画像処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態を添付図面にしたがって説明する。
【００１６】
［第１実施形態］
第１実施形態の画像処理システムの全体構成図を図１に示す。
【００１７】
＜画像処理装置＞
図１において、コントローラユニット２０００は画像入力装置であるスキャナ２０７０や画像出力装置であるプリンタ２０９５と接続し、一方ではＬＡＮ２０１１や公衆回線（ＷＡＮ）２０５１接続することで、画像情報やデバイス情報の入出力を行う為のコントローラである。ＣＰＵ２００１はシステム全体を制御するコントローラである。ＲＡＭ２００２はＣＰＵ２００１が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリでもある。ＲＯＭ２００３はブートＲＯＭであり、システムのブートプログラムが格納されている。ＨＤＤ２００４はハードディスクドライブで、システムソフトウェア、画像データの他、後述する画像処理プログラムなどを格納する。操作部Ｉ／Ｆ２００６は操作部（ＵＩ）２０１２とインターフェース部で、操作部２０１２に表示する画像データを操作部２０１２に対して出力する。また、操作部２０１２から本システム使用者が入力した情報を、ＣＰＵ２００１に伝える役割をする。ネットワークＩＦ２０１０はＬＡＮ２０１１に接続し、情報の入出力を行う。モデム２０５０は公衆回線２０５１に接続し、情報の入出力を行う。以上のデバイスがシステムバス２００７上に配置される。
【００１８】
画像バスＩＦ２００５は、システムバス２００７と画像データを高速で転送する画像バス２００８を接続し、データ構造を変換するバスブリッジである。画像バス２００８は、ＰＣＩバスまたはＩＥＥＥ１３９４で構成される。画像バス２００８上には以下のデバイスが配置される。ラスタイメージプロセッサ（ＲＩＰ）２０６０はＰＤＬコードをビットマップイメージに展開する。デバイスＩ／Ｆ部２０２０は、画像入出力デバイスであるスキャナ２０７０やプリンタ２０９５とコントローラ２０００を接続し、画像データの同期系／非同期系の変換を行う。画像処理部２０８３は、後述する入力画像処理プログラムや出力画像処理プログラムを実行することで、入力画像データ及び出力画像データに対する補正を行うほか、画像の加工や編集等のソフトウェア画像処理を行う。画像回転部２０３０は画像データの回転を行う。画像圧縮部２０４０は、多値画像データはＪＰＥＧ，２値画像データはＪＢＩＧ，ＭＭＲ，ＭＨの圧縮伸張処理を行う。
【００１９】
また、スキャナ２０７０及びプリンタ２０９５は、それぞれ、最適な画像処理プログラム２０７０Ｐ及び２０９５Ｐを保持している。これらプログラムは、後述するように、それぞれの装置から画像処理装置２０００へとロードされる。
【００２０】
＜画像入出力部＞
次に画像入出力部の説明をする。画像入出力デバイスを図２に示す。画像入力デバイスであるスキャナ部２０７０は、原稿となる紙上の画像を照明し、ＣＣＤラインセンサ（図示せず）を走査することで、ラスターイメージデータ２０７１として電気信号に変換する。原稿用紙は原稿フィーダ２０７２のトレイ２０７３にセットし、装置使用者が操作部２０１２から読み取り起動指示することにより、コントローラＣＰＵ２００１がスキャナ２０７０に指示を与え（２０７１）、フィーダ２０７２は原稿用紙を１枚ずつフィードし原稿画像の読み取り動作を行う。
【００２１】
画像出力デバイスであるプリンタ部２０９５は、ラスターイメージデータ２０９６を用紙上の画像に変換する部分であり、その方式は感光体ドラムや感光体ベルトを用いた電子写真方式、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式でも構わない。プリント動作の起動は、コントローラＣＰＵ２００１からの指示２０９６によって開始する。プリンタ部２０９５には、異なる用紙サイズまたは異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセット２１０１、２１０２、２１０３、２１０４がある。また、排紙トレイ２１１１は印字し終わった用紙を受けるものである。
【００２２】
次に操作部の説明をする。操作部２０１２の構成を図３に示す。ＬＣＤ表示部２０１３は、ＬＣＤ上にタッチパネルシートが貼られており、システムの操作画面を表示するとともに、表示してあるキーが押されるとその位置情報をコントローラＣＰＵ２００１に伝える。スタートキー２０１４は原稿画像の読み取り動作を開始する時などに用いる。スタートキー２０１４中央部には、緑と赤の２色ＬＥＤ２０１８があり、その色によってスタートキー２０１４が使える状態にあるかどうかを示す。ストップキー２０１５は稼働中の動作を止める働きをする。ＩＤキー２０１６は、使用者のユーザＩＤを入力する時に用いる。リセットキー２０１７は操作部からの設定を初期化する時に用いる。
【００２３】
＜画像処理部＞
次に画像処理部の説明をする。画像処理部２０８３の構成を図４に示す。画像バスＩ／Ｆコントローラ２０８１は、画像バス２００８と接続し、そのバスアクセスシーケンスを制御する働きと、画像処理コントローラ２０８４内のデバイスの制御及びタイミングを発生させる。この画像処理部では、例えば、フィルタ処理、編集処理、変倍処理、テーブル変換処理、２値化処理、解像度変換、スムージング処理等の画像処理を行う。なお、ここでの画像処理には画像処理用の汎用プロセッサを用い、ソフトウェアで画像処理を行うが、実際の処理手順については後述する。また、ここでのフィルタ処理とは、空間フィルタでコンボリューション演算を行うことで、編集処理とは、入力画像データからマーカーペンで囲まれた閉領域を認識して、その閉領域内の画像データに対して、フィルタ処理、影つけ、網掛け、ネガポジ反転等の画像加工処理を行うことを示す。また、変倍処理とは、読み取り画像の解像度を変える場合にラスターイメージの主走査方向について補間演算を行い拡大、縮小を行うことを示す。なお副走査方向の変倍については、画像読み取りラインセンサ（図示せず）を走査する速度を変えることで行う。また、テーブル変換処理とは、読み取った輝度データである画像データを濃度データに変換するために行うテーブル変換のことであり、２値化処理とは、多値のグレースケール画像データを、誤差拡散処理やスクリーン処理によって２値化する処理を示す。また解像度変換とは、Network２０１１あるいは公衆回線２０５１から来た画像データを、プリンタ２０９５やNetwork２０１１を介して出力する配信先の解像度に変換する処理であり、スムージング処理とは、解像度変換後の画像データのジャギー（斜め線等の白黒境界部に現れる画像のがさつき）を滑らかにする処理を示す。
【００２４】
処理が終了した画像データは、再び画像バスコントローラ２０８１を介して、画像バス２００８上に転送される。
【００２５】
画像処理コントローラ２０８４内部の構成を図６に示す。画像バスＩ／Ｆコントローラ２０８１から出力された画像データは汎用プロセッサ２０８３１およびデータ記憶装置２０８３２に入力される。また、汎用プロセッサ２０８３１の要求により、データ記憶装置２０８３２に記憶されているデータの出力と、データの記憶ができる構成をとっている。
【００２６】
汎用プロセッサの処理内容はプログラム記憶装置２０８３３に記憶されており、汎用プロセッサが逐次読み出して、プログラムされた処理の実行をする。プログラム記憶装置には、処理内容をあらかじめプログラムしておくか、ＣＰＵ２００１から画像バス２００８、画像バスＩ／Ｆコントローラ、汎用プロセッサ経由でプログラムの実行前に書き込んでもよい構成をとっている。汎用プロセッサはＣＰＵからこの信号を画像バス、画像バスコントローラ経由で受信して、動作モードを切り替えるプログラムとし、実行開始信号を受けてから実行する。画像処理の種類に関しても、ＣＰＵからの信号で切り替えることのできる構成である。そして、汎用プロセッサは、実行開始信号をＣＰＵから受信したときにプログラムの実行を開始して、その後はプログラム記憶装置に記憶されている処理内容にしたがって動作する。基本的には、画像バスＩ／Ｆコントローラ２０８１とデータ記憶装置から出力された画像データを処理して、画像バスＩ／Ｆコントローラ２０８１へ出力するという動作である。汎用プロセッサには、様々な画像処理がプログラム可能である。
【００２７】
＜画像圧縮部＞
次に画像圧縮部の説明をする。画像圧縮部２０４０の構成を図５に示す。画像バスＩ／Ｆコントローラ２０４１は、画像バス２００８と接続し、そのバスアクセスシーケンスを制御する働き、入力バッファ２０４２・出力バッファ２０４５とのデータのやりとりを行うためのタイミング制御及び、画像圧縮部２０４３に対するモード設定などの制御を行う。以下に画像圧縮処理部の処理手順を示す。
【００２８】
画像バス２００８を介して、ＣＰＵ２００１から画像バスＩ／Ｆコントローラ２０４１に画像圧縮制御のための設定を行う。この設定により画像バスＩ／Ｆコントローラ２０４１は画像圧縮コントローラ２０４３に対して画像圧縮に必要な設定（たとえばＭＭＲ圧縮・ＪＢＩＧ伸長等の）を行う。必要な設定を行った後に、再度ＣＰＵ２００１から画像バスＩ／Ｆコントローラ２０４１に対して画像データ転送の許可を行う。この許可にしたがい、画像バスＩ／Ｆコントローラ２０４１はＲＡＭ２００２もしくは画像バス２００８上の各デバイスから画像データの転送を開始する。受け取った画像データは入力バッファ２０４２に一時格納され、画像圧縮部２０４３の画像データ要求に応じて一定のスピードで画像を転送する。この際、入力バッファは画像バスＩ／Ｆコントローラ２０４１と、画像圧縮コントローラ２０４３両者の間で、画像データを転送できるかどうかを判断し、画像バス２００８からの画像データの読み込み及び、画像圧縮コントローラ２０４３への画像の書き込みが不可能である場合は、データの転送を行わないような制御を行う（以後このような制御をハンドシェークと呼称する）。
【００２９】
画像圧縮コントローラ２０４３は受け取った画像データを、一旦ＲＡＭ２０４４に格納する。これは画像圧縮を行う際には行う画像圧縮処理の種類によって、数ライン分のデータを要するためであり、最初の１ライン分の圧縮を行うためには数ライン分の画像データを用意してからでないと画像圧縮が行えないためである。画像圧縮を施された画像データは直ちに出力バッファ２０４５に送られる。出力バッファ２０４５では、画像バスＩ／Ｆコントローラ２０４１及び画像圧縮コントローラ２０４３とのハンドシェークを行い、画像データを画像バスＩ／Ｆコントローラ２０４１に転送する。画像バスＩ／Ｆコントローラ２０４１では転送された圧縮（もしくは伸長）された画像データをＲＡＭ２００２もしくは画像バス２００８上の各デバイスにデータを転送する。こうした一連の処理は、ＣＰＵ２００１からの処理要求が無くなるまで（必要なページ数の処理が終わったとき）、もしくはこの画像圧縮部から停止要求が出るまで（圧縮及び伸長時のエラー発生時等）繰り返される。
【００３０】
＜画像回転部＞
次に画像回転部の説明をする。画像回転部２０３０の構成を図７に示す。画像バスＩ／Ｆコントローラ２０３１は、画像バス２００８と接続し、そのバスシーケンスを制御する働き、画像回転コントローラ２０３２にモード等を設定する制御及び、画像回転コントローラ２０３２に画像データを転送するためのタイミング制御を行う。以下に画像回転コントローラの処理手順を示す。
【００３１】
画像バス２００８を介して、ＣＰＵ２００１から画像バスＩ／Ｆコントローラ２０３１に画像回転制御のための設定を行う。この設定により画像バスＩ／Ｆコントローラ２０４１は画像回転コントローラ２０３２に対して画像回転に必要な設定（たとえば画像サイズや回転方向・角度等）を行う。必要な設定を行った後に、再度ＣＰＵ２００１から画像バスＩ／Ｆコントローラ２０４１に対して画像データ転送の許可を行う。この許可にしたがい、画像バスＩ／Ｆコントローラ２０３１はＲＡＭ２００２もしくは画像バス２００８上の各デバイスから画像データの転送を開始する。尚、ここでは３２ｂｉｔをそのサイズとし回転を行う画像サイズを３２×３２（ｂｉｔ）とし、又、画像バス２００８上に画像データを転送させる際に３２ｂｉｔを単位とする画像転送を行うものとする（扱う画像は２値を想定する）。
【００３２】
上述のように、３２×３２（ｂｉｔ）の画像を得るためには、上述の単位データ転送を３２回行う必要があり、且つ不連続なアドレスから画像データを転送する必要がある（図８参照）。
【００３３】
不連続アドレッシングにより転送された画像データは、読み出し時に所望の角度に回転されているように、ＲＡＭ２０３３に書き込まれる。例えば、９０度反時計方向珂転であれば、最初に転送された３２ｂｉｔの画像データを、図９のようにＹ方向に書き込んでいく。読み出し時にＸ方向に読み出すことで、画像が回転される。
【００３４】
３２×３２（ｂｉｔ）の画像回転（ＲＡＭ２０３３への書き込み）が完了した後、画像回転コントローラ２０３２はＲＡＭ２０３３から上述した読み出し方法で画像データを読み出し、画像バスＩ／Ｆコントローラ２０３１に画像を転送する。
【００３５】
回転処理された画像データを受け取った画像バスＩ／Ｆコントローラ２０３１は、連続アドレッシングを以て、ＲＡＭ２００２もしくは画像バス２００８上の各デバイスにデータを転送する。
【００３６】
こうした一連の処理は、ＣＰＵ２００１からの処理要求が無くなるまで（必要なページ数の処理が終わったとき）繰り返される。
【００３７】
次にデバイスＩ／Ｆ部の説明をする。デバイスＩ／Ｆ部２０２０の構成を図１０に示す。画像バスＩ／Ｆコントローラ２０２１は、画像バス２００８と接続し、そのバスアクセスシーケンスを制御する働きと、デバイスＩ／Ｆ部２０２０内の各デバイスの制御及びタイミングを発生させる。また、外部のスキャナ２０７０及びプリンタ２０９５への制御信号を発生させ、スキャナとプリンタからの情報を受信する。スキャンバッファ２０２２は、スキャナ２０７０から送られてくる画像データを一時保存し、画像バス２００８に同期させて画像データを出力する。シリアルパラレル・パラレルシリアル変換２０２３は、スキャンバッファ２０２２に保存された画像データを順番に並べて、あるいは分解して、画像バス２００８に転送できる画像データのデータ幅に変換する。パラレルシリアル・シリアルパラレル変換２０２４は、画像バス２００８から転送された画像データを分解して、あるいは順番に並べて、プリントバッファ２０２５に保存できる画像データのデータ幅に変換する。プリントバッファ２０２５は、画像バス２００８から送られてくる画像データを一時保存し、プリンタ２０９５に同期させて画像データを出力する。
【００３８】
画像スキャン時の処理手順を以下に示す。スキャナ２０７０から送られてくる画像データをスキャナ２０７０から送られてくるタイミング信号に同期させて、スキャンバッファ２０２２に保存する。そして、画像バス２００８がＰＣＩバスの場合には、バッファ内に画像データが３２ビット以上入ったときに、画像データを先入れ先出しで３２ビット分、バッファからシリアルパラレル・パラレルシリアル変換２０２３に送り、３２ビットの画像データに変換し、画像バスＩ／Ｆコントローラ２０２１を通して画像バス２００８上に転送する。また、画像バス２００８がＩＥＥＥ１３９４の場合には、バッファ内の画像データを先入れ先出しで、バッファからシリアルパラレル・パラレルシリアル変換２０２３に送り、シリアル画像データに変換し、画像バスＩ／Ｆコントローラ２０２１を通して画像バス２００８上に転送する。
【００３９】
画像プリント時の処理手順を以下に示す。画像バス２００８がＰＣＩバスの場合には、画像バスから送られてくる３２ビットの画像データを画像バスＩ／Ｆコントローラで受け取り、パラレルシリアル・シリアルパラレル変換２０２４に送り、プリンタ２０９５の入力データビット数の画像データに分解し、プリントバッファ２０２５に保存する。また、画像バス２００８がＩＥＥＥ１３９４の場合には、画像バスからおくられてくるシリアル画像データを画像バスＩ／Ｆコントローラで受け取り、パラレルシリアル・シリアルパラレル変換２０２４に送り、プリンタ２０９５の入力データビット数の画像データに変換し、プリントバッファ２０２５に保存する。そして、プリンタ２０９５から送られてくるタイミング信号に同期させて、バッファ内の画像データを先入れ先出しで、プリンタ２０９５に送る。
【００４０】
＜画像処理の詳細＞
以下に、本発明における汎用プロセッサによる画像処理の手順について説明をする。
【００４１】
ここで、スキャナ２０７０を初めとし、ＬＡＮ２０１１を介して接続された画像入力装置や画像記憶装置、それから公衆回線２０５１を介して接続された画像入力装置や画像記憶装置等の入力画像の発信元をまとめて画像入力装置と呼び、プリンタ２０９５を初めとし、ＬＡＮ２０１１を介して接続された画像出力装置や画像記憶装置、それから公衆回線２０５１を介して接続された画像出力装置や画像記憶装置等の出力画像の行き先をまとめて画像出力装置と呼ぶことにする。
【００４２】
画像入力装置の画質特性を補正して使用する画像形式を変換する画像処理プログラムは、あらかじめ画像入力装置によって保持され、画像出力装置の画質特性を補正して使用する画像形式に変換する画像処理プログラムは、あらかじめ画像出力装置によって保持されている。最適な画像処理プログラムを画像入出力装置が持っていない場合には、画像処理装置内のＨＤＤ２００４に記憶させてある標準の画像処理を使用する。
【００４３】
操作部２０１２の操作で、コピー動作等、動作の開始が指示されると、操作部Ｉ／Ｆ２００６を通じてＣＰＵ２００１に動作開始の信号が送られる。また、ＬＡＮ２０１１からネットワークＩＦ２０１０を通じて、または公衆回線２０５１からモデム２０５０を通じて、コピー動作等、動作の開始要求信号がＣＰＵ２００１に送られる場合もある。このときに、使用する画像入力装置と画像出力装置は決定される。どの装置を使用するかは、操作部によるユーザの指示か、または、ＬＡＮや公衆回線での接続先の指示によるものである。例えば、ユーザが操作部を使いコピー動作を指示した場合には、スキャナ２０７０とプリンタ２０９５をそれぞれ画像入力装置と画像出力装置として使用することになる。
【００４４】
そして、使用される画像入力装置と画像出力装置とから画像処理プログラムを受信するために、ＣＰＵ２００１はプログラム要求信号をネットワークＩ／Ｆ２０１０を通じて送信する。そして、画像入出力装置から送信された画像処理プログラムをネットワークＩ／Ｆ２０１０を介し、システムバス２００７を通じて一旦ＲＡＭ２００２に記憶し、その後、画像バスＩ／Ｆ２００５、画像バス２００８、画像バスＩ／Ｆコントローラ２０８１、汎用プロセッサ２０８３１経由でプログラム記憶装置２０８３３に記憶させる。このとき、ＨＤＤ２００４にも画像処理プログラムを記録しておき、画像入出力装置がなんらかの理由により画像処理プログラムを送信できない場合には、その画像入出力装置の構成に最も適する画像処理プログラムを選択して、それを画像処理部２０８３に記憶する構成である。なお、コピー動作の場合画像入力装置はスキャナ２０７０であり、画像出力装置はプリンタ２０９５であるので、画像処理プログラム２０７０Ｐ，２０９５Ｐを、ネットワークＩ／Ｆ２０１０経由ではなく、プログラムを記録してあるスキャナやプリンタからデバイスＩ／Ｆ２０２０、画像バスＩ／Ｆ２００５、システムバス２００７を経由してＲＡＭ２００２に一旦記憶し、その後、画像バスＩ／Ｆ２００５、画像バス２００８、画像バスＩ／Ｆコントローラ２０８１、汎用プロセッサ２０８３１経由でプログラム記憶装置２０８３３に記憶させる。また、モデム２０５０を経由して画像の入出力を行う場合には、モデムが画像入出力装置となる。この場合にはＨＤＤ２００４に記録しておいたモデム用の画像処理プログラムを画像処理部２０８３に記憶させる。
【００４５】
以下は、コピー動作を例にとって、図１１を参照して説明する。ＣＰＵ２００１が操作部２０１２から操作部Ｉ／Ｆ２００６を通じてコピー開始命令を受信すると図１１の手順が開始される。
【００４６】
コピー動作の場合、前記の通り、まず、画像入力装置及び画像出力装置として、それぞれスキャナ２０７０とプリンタ２０９５を利用するものと決定する（ステップＳ１１０１）。それらに対して、ＣＰＵ２００１はプログラム要求信号を送信する（ステップＳ１１０２）。そして、スキャナ２０７０から送信された画像処理プログラム２０７０Ｐ、及び、プリンタ２０９５から送られてくる画像処理プログラム２０９５Ｐを、ネットワークＩ／Ｆ２０１０及びシステムバス２００７を通じて一旦ＲＡＭ２００２に記憶し、その後、画像バスＩＦ２００５、画像バス２００８、画像バスＩ／Ｆコントローラ２０８１、汎用プロセッサ２０８３１経由で、画像処理コントローラ２０８４のプログラム記憶装置２０８３３に記憶する（ステップＳ１１０３）。なお、いずれか一方の画像処理プログラムしかない場合には、その画像処理プログラムのみを受信し、記憶するものとする。
【００４７】
次に、ＣＰＵ２００１は、デバイスＩ／Ｆ２０２０を通してスキャナ２０７０に起動要求信号を送る。前記起動要求信号を受信したスキャナ２０７０は前記した画像スキャン時の処理手順にしたがってスキャン動作を行う（ステップＳ１１０４）。
【００４８】
画像バス２００８に転送された前記シリアル画像データは、画像処理部２０８３に転送され、前記の通りあらかじめプログラム記憶装置２０８３３に記憶させた画像処理プログラムを使用して、前記画像処理の手順にしたがって画像処理が施される。そして前記画像処理の施された画像データは画像バス２００８上を経由して、ＲＡＭ２００２内の連続領域に記憶される。
【００４９】
また、スキャナ２０７０から送られてくるタイミング信号に同期させて、ＣＰＵ２００１はデバイスＩ／Ｆ２０２０を通してプリンタ２０９５に起動要求信号を送り、プリント動作が開始される（ステップＳ１１０５）。このときＲＡＭ２００２内の連続領域に記憶された前記シリアル画像データは画像バス２００８上を経由してデバイスＩ／Ｆ２０２０に渡り、前記プリント時の処理手順にしたがってプリント出力される。
【００５０】
コピー動作以外における画像処理に関しても、画像処理プログラムをネットワークＩ／Ｆ２０１０経由またはＨＤＤ２００４から受信すること、画像入出力装置に対する起動要求信号と画像信号の送信、および、画像入出力装置からの画像信号や情報の受信をネットワークＩ／Ｆ２０１０経由で行うこと以外は、前記のコピー動作の手順と共通である。
【００５１】
以上のようにして、画像入力装置あるいは画像出力装置に、それらに適した画像処理プログラムを格納しておき、画像処理装置がそれら画像入力装置及び画像出力装置を利用する際には、それらに格納された画像処理プログラムをロードして画像処理を行うことで、利用者が介在することなく画像入力装置及び画像出力装置に適した画像処理を行うことが可能となる。
【００５２】
また、画像入力装置及び画像出力装置それぞれに画像処理プログラムを格納しておくために、膨大な数の画像処理プログラムを装置内にあらかじめ記録しておく必要なく、接続された画像入力装置と画像出力装置に対して正確に対応した画像処理を実現することができる。
【００５３】
なお、本実施形態において、画像圧縮・展開部、および、画像回転部に関しては、画像処理と切り離して別個に用意してあるが、当然ながら、これらの処理も画像処理の一つであり、ソフトウェア化することができる。したがって、これらの圧縮伸張回転処理を含むその他の画像処理に関しても、前述したように管理することもできる。
【００５４】
［第２実施形態］
第２の実施形態の画像処理装置は、第１の実施形態のそれとほぼ同じ構成を有している。ただし、本実施形態では、画像処理プログラムを画像入力装置あるいは画像出力装置から獲得するのではなく、あらかじめ画像処理装置に用意しておく。
【００５５】
すなわち、あらかじめ、画像入力装置と画像出力装置の種々の組み合わせに対して、高品質な画像出力となるような画像処理プログラムをそれぞれ設計・作成しておき、それら画像処理プログラムをＨＤＤ２００４に記憶しておく。「画像入力装置と画像出力装置の組み合わせ」と「画像処理プログラム」との関連付け情報もＨＤＤ２００４に記憶しておく。なおこの関連付け情報は完全な一対一の対応情報である必要はなく、実際の処理時に、画像入力装置や画像出力装置とＣＰＵ２００１が通信を行うことで、使用する画像処理プログラムを決定できるだけの情報があればよい。また、第１の実施形態では、画像入力装置と画像出力装置それぞれに対して画像処理プログラムを格納していたが、本実施形態では画像入力装置と画像出力装置の各組み合わせについて１つの画像処理プログラムを用意しておいても良い。
【００５６】
図１２は本実施形態の画像処理装置の構成を示すブロック図である。図１と異なる点は、画像入力装置と画像出力装置とに画像処理プログラムが格納されていなくともかまわないことと、ＨＤＤ２００４に、「画像入力装置と画像出力装置の組み合わせ」と「画像処理プログラム」との関連付け情報２００４Ｔが格納されていることである。図２〜図１０の構成は第１実施形態と同様である。
【００５７】
図１２において、操作部２０１２の操作で、コピー動作等、動作の開始が指示されると、操作部Ｉ／Ｆ２００６を通じてＣＰＵ２００１に動作開始の信号が送られる。また、ＬＡＮ２０１１からネットワークＩ／Ｆ２０１０を通じて、または公衆回線２０５１からモデム２０５０を通じて、コピー動作等、動作の開始要求信号がＣＰＵ２００１に送られる場合もある。このときに、使用する画像入力装置と画像出力装置は決定される。どの装置を使用するかは、操作部によるユーザの指示か、または、ＬＡＮや公衆回線での接続先の指示によるものである。例えば、ユーザが操作部を使いコピー動作を指示した場合には、スキャナ２０７０とプリンタ２０９５をそれぞれ画像入力装置と画像出力装置として使用することになる。
【００５８】
そして、使用される画像入力装置と画像出力装置の組み合わせと、ＨＤＤ２００４に記憶されている「画像入力装置と画像出力装置の組み合わせ」と「画像処理プログラム」との関連付け情報２００４Ｔとを用いて、ＣＰＵ２００１はＨＤＤに記憶されている画像処理プログラムの中から実際に使用するものを選択し、選択したプログラムを画像バス２００８、画像バスＩ／Ｆコントローラ２０８１、汎用プロセッサ２０８３１経由でプログラム記憶装置２０８３３に記憶させる。なお、このときに必要があれば、ＣＰＵ２００１が画像入出力装置と通信を行い使用するプログラムやパラメータを選択することになる。その通信内容は、装置名、装置の画像解像度、装置がカラーか白黒か、といったことから、画像処理部がフィルタ処理に用いるべき最適な係数等が挙げられる。
【００５９】
＜画像処理の詳細＞
以下は、コピー動作を例にとって、図１３のフローチャートを参照して説明する。
【００６０】
ＣＰＵ２００１は操作部２０１２から操作部Ｉ／Ｆ２００６を通じてコピー開始命令を受信すると、使用する画像入力装置と画像出力装置とを決定してコピー動作に入り（ステップＳ１３０１）、決定された画像入力装置と画像出力装置の組み合わせと、「画像入力装置と画像出力装置の組み合わせ」と「画像処理プログラム」との関連付け情報２００４Ｔとを参照して、ＨＤＤ２００４に格納されている画像処理プログラムのなかから最適な画像処理プログラムを選択し、画像処理コントローラ２０８４のプログラム記憶装置２０８３３にロードする（ステップＳ１３０２）。
【００６１】
次にデバイスＩ／Ｆ２０２０を通してスキャナ２０７０に起動要求信号を送る（ステップＳ１３０３）。前記起動要求信号を受信したスキャナ２０７０は前記した画像スキャン時の処理手順にしたがってスキャン動作を行う。画像バス２００８に転送された前記シリアル画像データは、画像処理部２０８０に転送され、あらかじめプログラム記憶装置２０８３３に記憶させた画像処理プログラムを使用して、前記画像処理の手順にしたがって画像処理が施される。そして前記画像処理の施された画像データは画像バス２００８上を経由して、ＲＡＭ２００２内の連続領域に記憶される。
【００６２】
また、スキャナ２０７０から送られてくるタイミング信号に同期させて、ＣＰＵ２００１はデバイスＩ／Ｆ２０２０を通してプリンタ２０９５に起動要求信号を送り、プリント動作が開始される（ステップＳ１３０４）。このときＲＡＭ２００２内の連続領域に記憶された前記シリアル画像データは画像バス２００８上を経由してデバイスＩ／Ｆ２０２０に渡り、前記プリント時の処理手順にしたがってプリント出力される。
【００６３】
コピー動作以外における画像処理に関しても同様に、画像入出力と連携させて画像処理部で画像処理を行う。
【００６４】
なお、常に高品質な画像処理を行うためには、ＨＤＤ２００４に記憶しておく画像処理プログラムは、入力装置と出力装置とのあらゆる考え得る組み合わせに対してあらかじめ用意しておく必要がある。あらかじめ用意していない接続先に対する画像処理は、その品質が保証できないものとなるからである。しかし、このＨＤＤに新たな画像処理プログラムを追加していくことで、新規の接続先に対しても高品質な画像処理を実現することができるようになる。この画像処理プログラムを追加するタイミングとしては、ＬＡＮに接続するネットワークスキャナやネットワークプリンタを新設したとき、また、画像処理で対応できる画像の規格（ＪＰＥＧ圧縮方式等）を増やしたい場合、等が考えられ、画像処理プログラムを置き換えるタイミングとしては、さらに高品質な画像処理プログラムにする場合等が考えられる。
【００６５】
以上のように、本実施形態の画像処理装置によれば、画像入力装置と画像出力装置の実際の組み合わせに対して最適な画像処理プログラムを、利用者の介在成しに選択し、画像処理を実行することができる。このため、利用者の労力を軽減できるとともに、様々な画像入力装置と画像出力装置との組み合わせに対して高品質な画像処理を実現することができる。また、新規の画像処理に対しても、システムの構成を変えることなく、必要に応じて新規の画像処理ソフトウェアだけを前記ソフトウェア記憶手段に追加あるいは置き換えすることにより低コスト短設計時間で容易に対応できる。
【００６６】
［第３の実施の形態］
第３の実施形態の画像処理装置は、第１の実施形態のそれとほぼ同じ構成を有している。ただし、本実施形態では、画像処理プログラムをソフトウェアサーバから獲得する。
【００６７】
すなわち、あらかじめ、画像入力装置と画像出力装置のそれぞれあるいはそれらの組み合わせに対して、高品質な画像出力となるような画像処理プログラムを設計・作成しておき、それら画像処理プログラムをソフトウェアサーバ２１００に記憶しておく。
【００６８】
図１３は本実施形態の画像処理装置の構成を示すブロック図である。図１と異なる点は、画像入力装置と画像出力装置とに画像処理プログラムが格納されていなくともかまわないことと、ソフトウェアサーバ２１００に画像処理プログラムが格納されていることである。図２〜図１０の構成は第１実施形態と同様である。ソフトウェアサーバ２１００は、モデム２０５０を経由してＷＡＮに接続されてもよい。
【００６９】
本実施形態においては、画像入力装置および画像出力装置の画質特性を補正して使用する画像形式を変換する画像処理プログラムを、ＬＡＮ２０１１で構成されるネットワーク上のソフトウェアサーバにあらかじめ持たせておく。
【００７０】
操作部２０１２の操作で、コピー動作等、動作の開始が指示されると、操作部Ｉ／Ｆ２００６を通じてＣＰＵ２００１に動作開始の信号が送られる。また、ＬＡＮ２０１１からネットワークＩ／Ｆ２０１０を通じて、または公衆回線２０５１からモデム２０５０を通じて、コピー動作等、動作の開始要求信号がＣＰＵ２００１に送られる場合もある。このときに、使用する画像入力装置と画像出力装置は決定される。どの装置を使用するかは、操作部によるユーザの指示か、または、ＬＡＮや公衆回線での接続先の指示によるものである。例えば、ユーザが操作部を使いコピー動作を指示した場合には、スキャナ２０７０とプリンタ２０９５をそれぞれ画像入力装置と画像出力装置として使用することになる。
【００７１】
そして、使用される画像入力装置と画像出力装置に対応する画像処理プログラムを受信するために、ＣＰＵ２００１はプログラム要求信号をネットワークＩ／Ｆ２０１０を通じてＬＡＮ２０１１上の図示しないソフトウェアサーバに送信する。そして、ソフトウェアサーバから送信された画像処理プログラムをネットワークＩ／Ｆ２０１０を介し、システムバス２００７を通じて一旦ＲＡＭ２００２に記憶し、その後、画像バスＩ／Ｆ２００５、画像バス２００８、画像バスＩ／Ｆコントローラ２０８１、汎用プロセッサ２０８３１経由でプログラム記憶装置２０８３３に記憶させる。例えば、コピー動作の場合画像入力装置はスキャナ２０７０であり、画像出力装置はプリンタ２０９５であるので、前述のようにＣＰＵ２００１はソフトウェアサーバ２１００に対してスキャナ２０７０とプリンタ２０９５の識別番号を通知すると共に、対応する画像処理プログラムのプログラム要求信号を送信し、ネットワークＩ／Ｆ２０１０経由で画像処理プログラムを受信することになる。また、モデム２０５０を経由して画像の入力を行う場合には、モデムが画像入力装置となる。また同様に、モデム２０５０を経由して画像の出力を行う場合には、モデムが画像出力装置となる。これら場合にも同様に、ソフトウェアサーバにモデム２０５０の識別番号を通知して画像処理プログラム要求信号を送信する。
【００７２】
＜画像処理の詳細＞
以下は、コピー動作を例にとって、図１５のフローチャートを参照して説明する。
【００７３】
ＣＰＵ２００１は操作部２０１２から操作部Ｉ／Ｆ２００６を通じてコピー開始命令を受信すると、スキャナ２０７０及びプリンタ２０９５を使用する画像入力装置及び画像出力装置として決定し（ステップＳ１５０１）、コピー動作に入る。
【００７４】
前記の通り、ＣＰＵ２００１はソフトウェアサーバ２１００に対してネットワークＩ／Ｆ２０１０経由でプログラム要求信号を送信し（ステップＳ１５０２）、画像処理プログラムをネットワークＩ／Ｆ２０１０経由で受信し、それを画像処理部２０８３内のプログラム記憶装置２０８３３に記憶させ、画像処理実行の準備をする（ステップＳ１５０３）。
【００７５】
次に、ＣＰＵ２００１は、デバイスＩ／Ｆ２０２０を通してスキャナ２０７０に起動要求信号を送る（ステップＳ１５０４）。前記起動要求信号を受信したスキャナ２０７０は前記した画像スキャン時の処理手順にしたがってスキャン動作を行う。
【００７６】
画像バス２００８に転送された前記シリアル画像データは、画像処理部２０８３に転送され、前記の通りあらかじめプログラム記憶装置２０８３３に記憶させた画像処理プログラムを使用して、前記画像処理の手順にしたがって画像処理が施される。そして前記画像処理の施された画像データは画像バス２００８上を経由して、ＲＡＭ２００２内の連続領域に記憶される。
【００７７】
また、スキャナ２０７０から送られてくるタイミング信号に同期させて、ＣＰＵ２００１はデバイスＩ／Ｆ２０２０を通してプリンタ２０９５に起動要求信号を送り、プリント動作が開始される（ステップＳ１５０５）。このときＲＡＭ２００２内の連続領域に記憶された前記シリアル画像データは画像バス２００８上を経由してデバイスＩ／Ｆ２０２０に渡り、前記プリント時の処理手順にしたがってプリント出力される。
【００７８】
コピー動作以外における画像処理の場合、画像入力装置および画像出力装置は、モデム２０５０であるか、ネットワークＩ／Ｆ２０１０を介して接続される図示しないネットワーク機器かのどちらかとなる。このときも、プログラム要求信号を図示しないソフトウェアサーバに対して送信するときの付随情報、画像入力装置の識別番号と画像出力装置の識別番号、が実際の画像入力装置と画像出力装置に応じて変わることと、起動要求信号をスキャナ２０７０とプリンタ２０９５の代わりに実際の画像入力装置と画像出力装置に対して送信すること、また、画像の入力元と出力先がスキャナ２０７０とプリンタ２０９５ではなく実際の画像入力装置と画像出力装置になること以外の手順は、前記のコピー動作の手順と共通である。
【００７９】
このような構成により、ソフトウェアサーバに画像処理プログラムを格納し、画像処理装置に接続された画像入力装置と画像出力装置に対して正確に対応した画像処理プログラムをそこからロードすることで、膨大な数の画像処理ソフトウェアを装置内にあらかじめ記録しておく必要なしに、さらに、画像処理ソフトウェアのバージョンアップ等変更の際に各装置個別に書き換え作業をする必要なしに、画像処理ソフトウェアをソフトウェアサーバで集中管理させることができる。
【００８０】
なお、本実施例において、画像圧縮・展開部、および、画像回転部に関しては、画像処理と切り離して別個に用意してあるが、当然ながら、これらの処理も画像処理の一つであり、ソフトウェア化することができる。したがって、これらの圧縮伸張回転処理を含むその他の画像処理に関しても、前述したように管理することもできる。
【００８１】
［第４実施形態］
第４の実施形態の画像処理装置は、第４の実施形態のそれと同じ構成を有している。ただし、本実施形態では、画像処理プログラムをソフトウェアサーバからダウンロードする際の手順が異なっている。
【００８２】
すなわち、あらかじめ、画像入力装置と画像出力装置のそれぞれあるいはそれらの組み合わせに対して、高品質な画像出力となるような画像処理プログラムを設計・作成しておき、それら画像処理プログラムをソフトウェアサーバ２１００に記憶しておく。それをダウンロードする際に、画像処理装置に既に保持された画像処理プログラムと比較し、より適したプログラムを選択して利用する。
【００８３】
本実施形態では、あらかじめ、画像入力装置および画像出力装置の画質特性を補正して使用する画像形式を変換する画像処理プログラムを、ＬＡＮ２０１１で構成されるネットワーク上のソフトウェアサーバ２１００に持たせておく。
【００８４】
操作部２０１２の操作で、コピー動作等、動作の開始が指示されると、操作部Ｉ／Ｆ２００６を通じてＣＰＵ２００１に動作開始の信号が送られる。また、ＬＡＮ２０１１からネットワークＩ／Ｆ２０１０を通じて、または公衆回線２０５１からモデム２０５０を通じて、コピー動作等、動作の開始要求信号がＣＰＵ２００１に送られる場合もある。このときに、使用する画像入力装置と画像出力装置は決定される。どの装置を使用するかは、操作部によるユーザの指示か、または、ＬＡＮや公衆回線での接続先の指示によるものである。例えば、ユーザが操作部を使いコピー動作を指示した場合には、スキャナ２０７０とプリンタ２０９５をそれぞれ画像入力装置と画像出力装置として使用することになる。
【００８５】
そして、使用される画像入力装置と画像出力装置に対応する画像処理プログラムを受信するために、ＣＰＵ２００１はプログラム要求信号をネットワークＩ／Ｆ２０１０を通じてＬＡＮ２０１１上のソフトウェアサーバ２１００に送信する。このときＣＰＵ２００１は同時に、ＨＤＤ２００４に記録されている、使用される画像入力装置と画像出力装置に対応する画像処理プログラムを検索し、そのバージョン番号を把握する。そして、それと、ソフトウェアサーバから受信した画像処理プログラムのバージョン番号とを比較し、ソフトウェアサーバの持つ画像処理プログラムのバージョンが、ＨＤＤに格納された画像処理プログラムのバージョンに対して同じかまたは古いバージョンであるときに、プログラム非要求信号をソフトウェアサーバに送信して画像処理ソフトウェアのダウンロード処理を停止させる。また、ソフトウェアサーバ２１００の稼働状態を検知して、サーバ２１００が停止している場合、および、稼働率から計算したダウンロードに要する時間が、規定時間よりも長い場合にも同様に画像処理プログラムのダウンロード処理を停止させる。なお、このときの規定時間は、操作部の操作でユーザによってあらかじめ設定することができる構成をとっている。
【００８６】
このようにしてＣＰＵ２００１は、画像処理に使用する画像処理プログラムを選択する。なお、ダウンロード時間が規定時間に収まらないと判断されたときには、ＨＤＤ２００４に記録されている画像処理プログラムを選択することになる。
【００８７】
使用する画像処理プログラムをソフトウェアサーバからダウンロードする場合には、受信した画像処理プログラムをネットワークＩ／Ｆ２０１０を介し、システムバス２００７を通じて一旦ＲＡＭ２００２に記憶し、その後、画像バスＩ／Ｆ２００５、画像バス２００８、画像バスＩ／Ｆコントローラ２０８１、汎用プロセッサ２０８３１経由でプログラム記憶装置２０８３３に記憶させる。また、使用する画像処理プログラムをＨＤＤ２００４から読み出す場合には、システムバス２００７を通じて、画像バスＩ／Ｆ２００５、画像バス２００８、画像バスＩ／Ｆコントローラ２０８１、汎用プロセッサ２０８３１経由でプログラム記憶装置２０８３３に記憶させる。例えば、コピー動作の場合画像入力装置はスキャナ２０７０であり、画像出力装置はプリンタ２０９５であるので、前述のようにＣＰＵ２００１はソフトウェアサーバに対してスキャナ２０７０とプリンタ２０９５の識別番号を通知すると共に、対応する画像処理プログラムのプログラム要求信号を送信、かつ、ソフトウェアサーバの稼働状態情報を読み出す。そして前記の通り、ソフトウェアサーバの稼働状態により、ネットワークＩ／Ｆ２０１０経由またはＨＤＤ２００４から画像処理プログラムを受信または読み出しすることになる。なお、モデム２０５０を経由して画像の入力を行う場合には、モデムが画像入力装置となる。また同様に、モデム２０５０を経由して画像の出力を行う場合には、モデムが画像出力装置となる。これら場合にも同様に、ソフトウェアサーバにモデム２０５０の識別番号を通知して画像処理プログラム要求信号を送信する。
【００８８】
ソフトウェアサーバから画像処理プログラムをダウンロードした場合には、その画像処理プログラムをＨＤＤ２００４に記録する処理を行う。このとき、その画像処理プログラムのバージョン番号と、対応する画像入力装置と画像出力装置といった付随情報も記録する。このとき古いバージョンの画像処理ソフトウェアがすでに記録されている場合には、それを消去する。このようにして、ＨＤＤ２００４にはソフトウェアサーバの持つ最新のバージョンの画像処理ソフトウェアが常に記録されることになる。しかし、ＨＤＤ２００４にダウンロードしたすべての最新画像処理プログラムを記録するだけの充分な容量がない場合には、画像処理プログラムに対して優先順位を付けて、優先順位の低いものを消去する制御を行い、ＨＤＤ２００４の容量が小さい場合にも対応させている。このときの優先順位の付け方は、操作部からユーザによって指定することができ、最近使用した画像処理プログラムを優先する、最も多くの回数使用した画像処理プログラムを優先する、指定した画像処理プログラムは常に記録しておく、等が選択できる。また、この、常に記録しておく画像処理プログラムとしては、コピー動作に使用する画像処理プログラム、モデム２０５０を使用するときの画像処理プログラム等を指定することで、ＬＡＮを介さない画像処理の高速化を実現することができる。
【００８９】
＜画像処理の詳細＞
以下、コピー動作を例にとって画像処理装置の動作について、図１６のフローチャートを参照して説明する。
【００９０】
ＣＰＵ２００１は操作部２０１２から操作部Ｉ／Ｆ２００６を通じてコピー開始命令を受信すると、スキャナ２０７０とプリンタ２０９５をそれぞれ使用する画像入力装置及び画像出力装置として決定し（ステップＳ１６０１）、コピー動作に入る。
【００９１】
前記の通り、ＣＰＵ２００１はソフトウェアサーバ２１００に対してネットワークＩ／Ｆ２０１０経由でプログラム要求信号を送信し（ステップＳ１６０２）、画像処理プログラムをネットワークＩ／Ｆ２０１０経由で受信し、それを画像処理部２０８３内のプログラム記憶装置２０８３３に記憶させ、画像処理実行の準備をする（ステップＳ１６０３）。
【００９２】
このときＣＰＵ２００１は同時に、ＨＤＤ２００４に記録されている、スキャナ２０７０及びプリンタ２０９５（あるいはそれらの組み合わせ）に対応する画像処理プログラムを検索し、そのバージョン番号を把握する。そして、それと、ソフトウェアサーバ２１００から受信した画像処理プログラムのバージョン番号とを比較し、ソフトウェアサーバ２１００の持つ画像処理プログラムのバージョンが、ＨＤＤに格納された画像処理プログラムのバージョンに対して同じかまたは古いバージョンであるかを判定する（ステップＳ１６０４）。判定の結果がＹＥＳであれば、プログラム非要求信号をソフトウェアサーバに送信して画像処理ソフトウェアのダウンロード処理を停止させる（ステップＳ１６０８）。
【００９３】
また、フローチャートには記載していないが、ソフトウェアサーバ２１００の稼働状態を検知して、サーバ２１００が停止している場合、および、稼働率から計算したダウンロードに要する時間が規定時間よりも長い場合には、同様に画像処理プログラムのダウンロード処理を停止させる。なお、このときの規定時間は、操作部の操作でユーザによってあらかじめ設定することができる構成をとっている。このように、ソフトウェアサーバからダウンロードする画像処理プログラムが古い場合や、サーバが正常動作していない場合、あるいは、ダウンロード時間が規定時間に収まらないと判断されたときには、ＨＤＤ２００４に記録されている画像処理プログラムを選択して画像処理コントローラ２０８４にロードする（ステップＳ１６０９）。
【００９４】
使用する画像処理プログラムをソフトウェアサーバからダウンロードする場合には、受信した画像処理プログラムをネットワークＩ／Ｆ２０１０を介し、システムバス２００７を通じて一旦ＲＡＭ２００２に記憶し、その後、画像バスＩ／Ｆ２００５、画像バス２００８、画像バスＩ／Ｆコントローラ２０８１、汎用プロセッサ２０８３１経由でプログラム記憶装置２０８３３に記憶させる。一方、ソフトウェアサーバ２１００からの画像処理プログラムが画像処理装置２０００が保持するそれよりも新しく、かつ、ダウンロードが順調に進めば、ダウンロードは続行される（ステップＳ１６０６）。
【００９５】
使用する画像処理プログラムをＨＤＤ２００４から読み出す場合には、システムバス２００７を通じて、画像バスＩ／Ｆ２００５、画像バス２００８、画像バスＩ／Ｆコントローラ２０８１、汎用プロセッサ２０８３１経由でプログラム記憶装置２０８３３に記憶させる。
【００９６】
次に、ＣＰＵ２００１は、デバイスＩ／Ｆ２０２０を通してスキャナ２０７０に起動要求信号を送る（ステップＳ１６０６）。前記起動要求信号を受信したスキャナ２０７０は前記した画像スキャン時の処理手順にしたがってスキャン動作を行う。
【００９７】
画像バス２００８に転送された前記シリアル画像データは、画像処理部２０８３に転送され、前記の通りあらかじめプログラム記憶装置２０８３３に記憶させた画像処理プログラムを使用して、前記画像処理の手順にしたがって画像処理が施される。そして前記画像処理の施された画像データは画像バス２００８上を経由して、ＲＡＭ２００２内の連続領域に記憶される。
【００９８】
また、スキャナ２０７０から送られてくるタイミング信号に同期させて、ＣＰＵ２００１はデバイスＩ／Ｆ２０２０を通してプリンタ２０９５に起動要求信号を送り、プリント動作が開始される（ステップＳ１６０７）。このときＲＡＭ２００２内の連続領域に記憶された前記シリアル画像データは画像バス２００８上を経由してデバイスＩ／Ｆ２０２０に渡り、前記プリント時の処理手順にしたがってプリント出力される。
【００９９】
コピー動作以外における画像処理の場合、画像入力装置および画像出力装置は、モデム２０５０であるか、ネットワークＩ／Ｆ２０１０を介して接続される図示しないネットワーク機器かのどちらかとなる。このときも、プログラム要求信号を図示しないソフトウェアサーバに対して送信するときの付随情報、画像入力装置の識別番号と画像出力装置の識別番号、が実際の画像入力装置と画像出力装置に応じて変わることと、起動要求信号をスキャナ２０７０とプリンタ２０９５の代わりに実際の画像入力装置と画像出力装置に対して送信すること、また、画像の入力元と出力先がスキャナ２０７０とプリンタ２０９５ではなく実際の画像入力装置と画像出力装置になること以外の手順は、前記のコピー動作の手順と共通である。
【０１００】
このように、本実施形態によれば、第３の実施形態の効果に加えて、無条件にソフトウェアサーバから画像処理プログラムをダウンロードせず、最新のプログラムに限ってロードするために、無用な負荷をサーバにかけずに済む。
【０１０１】
また、ソフトウェアサーバに処理が集中して稼働状態が悪くなっているときでも、画像処理装置内に保存してある画像処理プログラムを使用することにより、不必要なソフトウェアの転送時間を省いて高速に画像処理動作を開始することが可能である。
【０１０２】
また、万が一、ソフトウェアサーバに障害が発生してその機能を停止しているような場合にも、同時に画像処理装置の機能が停止してしまうという危険を回避することができる。
【０１０３】
なお、本実施例において、画像圧縮・展開部、および、画像回転部に関しては、画像処理と切り離して別個に用意してあるが、当然ながら、これらの処理も画像処理の一つであり、ソフトウェア化することができる。したがって、これらの圧縮伸張回転処理を含むその他の画像処理に関しても、前述したように管理することもできる。
【０１０４】
［他の実施形態］
なお、本発明は、複数の機器（例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０１０５】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１０６】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１０７】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した（図１１または図１３または図１５または図１６に示す）フローチャートに対応するプログラムコードが格納されることになる。
【図１】
2010011468.tif 000003
【図２】
2010011468.tif 000004
【図３】
2010011468.tif 000005
【図４】
2010011468.tif 000006
【図５】
2010011468.tif 000007
【図６】
2010011468.tif 000008
【図７】
2010011468.tif 000009
【図８】
2010011468.tif 000010
【図９】
2010011468.tif 000011
【図１０】
2010011468.tif 000012
【図１１】
2010011468.tif 000013
【図１２】
2010011468.tif 000014
【図１３】
2010011468.tif 000015
【図１４】
2010011468.tif 000016
【図１５】
2010011468.tif 000017
【図１６】
2010011468.tif 000018