(57)【要約】【課題】  画像情報を所定の分割単位で連続して処理する複数の画像処理手段により、複数の画像処理を実行する場合に、複数の画像処理を実行する処理時間を抑えつつ、画像処理にかかる消費電力を抑えることである。【解決手段】  入力した画像を所定の分割単位で連続して処理する手段であって、第１の画像処理または第２の画像処理を実行可能なコーデック４０と、入力した前記画像を前記所定の分割単位で連続して処理する手段であって、前記第１の画像処理または前記第２の画像処理をコーデック４０とは異なる処理速度で実行可能なＣＰＵ３３とを備え、第１の画像処理および前記第２の画像処理を、前記コーデック４０またはＣＰＵ３３のいずれで処理するべきかを決定する構成を特徴とする。【選択図】  図３
2006197049.tif 000002
【特許請求の範囲】
【請求項１】
画像を入力する画像入力手段と、
前記画像入力手段が入力した前記画像を所定の分割単位で連続して処理する第１の画像処理手段であって、第１の画像処理または第２の画像処理を実行可能な第１の画像処理手段と、
前記画像入力手段が入力した前記画像を前記所定の分割単位で連続して処理する第２の画像処理手段であって、前記第１の画像処理または前記第２の画像処理を前記第１の画像処理手段とは異なる処理速度で実行可能な第２の画像処理手段と、
前記第１の画像処理および前記第２の画像処理を、前記第１の画像処理手段または前記第２の画像処理手段のいずれで処理するべきかを決定する決定手段とを有し、
前記画像に前記第１の画像処理および前記第２の画像処理を実行する場合、前記決定手段は、前記第１の画像処理を前記第１の画像処理手段または前記第２の画像処理手段のいずれで実行するかに応じて、前記第２の画像処理を前記第１の画像処理手段または前記第２の画像処理手段のいずれで実行するかを決定することを特徴とする画像処理装置。
【請求項２】
前記第２の画像処理手段は、前記第１の画像処理または前記第２の画像処理を前記第１の画像処理手段より低速度で実行し、
前記決定手段は、前記第１の画像処理の処理時間が、前記第２の画像処理を前記第２の画像処理手段で実行するのに要する処理時間より短い場合、前記第２の画像処理を前記第１の画像処理手段で実行することを決定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第２の画像処理手段は、前記第１の画像処理または前記第２の画像処理を前記第１の画像処理手段より低速度で実行し、
前記決定手段は、前記第１の画像処理の処理時間が、前記第２の画像処理を前記第２の画像処理手段で実行するのに要する処理時間より長い場合、前記第２の画像処理を前記第２の画像処理手段で実行することを決定することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記第１の画像処理を前記第１の画像処理手段で実行するのに要する第１の処理時間、前記第１の画像処理を前記第２の画像処理手段で実行するのに要する第２の処理時間、前記第２の画像処理を前記第２の画像処理手段で実行するのに要する第３の処理時間及び前記第２の画像処理を前記第２の画像処理手段で実行するのに要する第４の処理時間に関する処理時間情報を管理する管理手段を有し、
前記決定手段は、前記管理手段が管理する前記処理時間情報に基づいて、前記第２の画像処理を前記第１の画像処理手段または前記第２の画像処理手段のいずれで実行するかを決定することを特徴とする請求項１乃至３のいずれかに記載の画像処理装置。
【請求項５】
前記第１の画像処理手段及び前記第２の画像処理手段は、１ページにかかる画像を前記所定の分割単位で分割した分割画像毎に連続して処理し、
前記決定手段は、前記第１の画像処理の処理時間が、前記第２の画像処理を前記第２の画像処理手段で実行するのに要する処理時間より長い場合であっても、前記１ページにかかる分割画像のうち最後に処理する分割画像についての前記第２の画像処理を前記第１の画像処理手段で実行することを決定することを特徴とする請求項３に記載の画像処理装置。
【請求項６】
画像を入力する画像入力ステップと、
前記画像入力ステップにて入力した前記画像を所定の分割単位で連続して処理する第１の画像処理ステップであって、第１の画像処理部または前記第１の画像処理部とは処理速度の異なる第２の画像処理部のいずれかで実行可能な第１の画像処理ステップと、
前記画像入力ステップにて入力した前記画像を前記所定の分割単位で連続して処理する第２の画像処理ステップであって、前記第１の画像処理部または前記第２の画像処理部のいずれかで実行可能な第２の画像処理ステップと、
前記第１の画像処理ステップおよび前記第２の画像処理ステップを、前記第１の画像処理部または前記第２の画像処理部のいずれで実行するべきかを決定する決定ステップとを有し、
前記画像に対して前記第１の画像処理ステップおよび前記第２の画像処理ステップを実行する場合、前記決定ステップは、前記第１の画像処理ステップを前記第１の画像処理部または前記第２の画像処理部のいずれで実行するかに応じて、前記第２の画像処理ステップを前記第１の画像処理部または前記第２の画像処理部のいずれで実行するかを決定することを特徴とする画像処理方法。
【請求項７】
請求項６に記載の画像処理方法を実行させるためのプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【請求項８】
請求項６に記載の画像処理方法を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および画像処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラムに関するものである。
【背景技術】
【０００２】
従来から、原稿を読み取って画像を入力するとともに、入力された画像に対して種々の画像処理（例えば圧縮（符号化）処理、伸張（復号化）処理、回転処理、変倍処理、スムージング処理）を施す画像処理装置が知られている。
【０００３】
そして、各種の画像処理は、所望の画像処理のみを行う専用ＬＳＩなどのハードウェアによって行う方式や、汎用プロセッサによりソフトウェアを実行することで所望の画像処理を行う方式が知られている。
【０００４】
一般には同じ画像を処理するのに要する処理時間はソフトウェアによる画像処理よりハードウェアによる画像処理の方が短いため、高速な圧縮を行う必要性があればハードウェアによる画像処理を行い、処理速度がそれほど重要でない場合やコストを安価に抑える必要がある場合にはソフトウェアによる画像処理を行うというように使い分けることが知られている。
【０００５】
また、画像処理装置においては、画像の高画質化の要求に対応するため画像処理装置が取り扱う画像の解像度が増加しており、それに伴い画像処理装置における画像処理に必要なメモリ容量は増大する傾向にある。
【０００６】
このメモリ容量の増大に対して、画像処理装置内部では画像データをバンド単位（例えば、所定ライン数単位）等の所定の分割単位で扱う技術が知られており、例えば、下記特許文献１に記載の発明では、画像処理装置での画像データのバンド処理をより効率化するための手法が記載されている。
【特許文献１】特開平１０−７４２６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、画像データを所定の分割単位で連続して処理する場合には、以下のような問題が生じる可能性がある。
【０００８】
まず、画像データを所定の分割単位で連続して処理する場合に画像データに複数の画像処理を施すには第１の画像処理が終了した後でなければ、引き続く第２の画像処理を開始させることはできない。そうすると第１の画像処理をソフトウェアによる画像処理で低速に処理していた場合には、第２の画像処理をハードウェアによる画像処理で高速に処理することはできるが、第１の画像処理に要する処理時間毎に分割画像が順次処理されるので、第２の画像処理をハードウェアによる画像処理で高速化することのメリットは少ない。そして、ハードウェアによる画像処理は、高速で処理できる分だけ画像処理回路が発する熱量も多くなってしまう可能性もある。
【０００９】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、画像情報を所定の分割単位で連続して処理する複数の画像処理手段により、複数の画像処理を実行する場合に、複数の画像処理を実行する処理時間を抑えつつ、画像処理にかかる消費電力を抑えることができる画像処理装置および画像処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラムを提供することである。
【課題を解決するための手段】
【００１０】
上記目的を達成する本発明の画像処理装置は以下に示す構成を備える。
【００１１】
画像を入力する画像入力手段と、前記画像入力手段が入力した前記画像を所定の分割単位で連続して処理する第１の画像処理手段であって、第１の画像処理または第２の画像処理を実行可能な第１の画像処理手段と、前記画像入力手段が入力した前記画像を前記所定の分割単位で連続して処理する第２の画像処理手段であって、前記第１の画像処理または前記第２の画像処理を前記第１の画像処理手段とは異なる処理速度で実行可能な第２の画像処理手段と、前記第１の画像処理および前記第２の画像処理を、前記第１の画像処理手段または前記第２の画像処理手段のいずれで処理するべきかを決定する決定手段とを有し、前記画像に前記第１の画像処理および前記第２の画像処理を実行する場合、前記決定手段は、前記第１の画像処理を前記第１の画像処理手段または前記第２の画像処理手段のいずれで実行するかに応じて、前記第２の画像処理を前記第１の画像処理手段または前記第２の画像処理手段のいずれで実行するかを決定することを特徴とする。
【００１２】
上記目的を達成する本発明の画像処理方法は以下に示す構成を備える。
【００１３】
画像を入力する画像入力ステップと、前記画像入力ステップにて入力した前記画像を所定の分割単位で連続して処理する第１の画像処理ステップであって、第１の画像処理部または前記第１の画像処理部とは処理速度の異なる第２の画像処理部のいずれかで実行可能な第１の画像処理ステップと、前記画像入力ステップにて入力した前記画像を前記所定の分割単位で連続して処理する第２の画像処理ステップであって、前記第１の画像処理部または前記第２の画像処理部のいずれかで実行可能な第２の画像処理ステップと、前記第１の画像処理ステップおよび前記第２の画像処理ステップを、前記第１の画像処理部または前記第２の画像処理部のいずれで実行するべきかを決定する決定ステップとを有し、前記画像に対して前記第１の画像処理ステップおよび前記第２の画像処理ステップを実行する場合、前記決定ステップは、前記第１の画像処理ステップを前記第１の画像処理部または前記第２の画像処理部のいずれで実行するかに応じて、前記第２の画像処理ステップを前記第１の画像処理部または前記第２の画像処理部のいずれで実行するかを決定することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、画像情報を所定の分割単位で連続して処理する複数の画像処理手段により、複数の画像処理を実行する場合に、複数の画像処理を実行する処理時間を抑えつつ、画像処理にかかる消費電力を抑えることができる画像処理装置および画像処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラムを提供することができる。
【発明を実施するための最良の形態】
【００１５】
次に本発明を実施するための最良の形態について図面を参照して説明する。
【００１６】
＜システム構成の説明＞
以下、本発明の実施の形態を図面に基づいて詳説する。
【００１７】
〔第１実施形態〕
図１は、本発明の第１実施形態を示す画像情報入出力装置を適用可能な画像入出力システムの構成を説明するブロック図であり、電子部品としてのコントローラ部が搭載された画像処理装置（データ処理装置）がイーサネット（登録商標）等のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）４００にてのホストコンピュータ（本実施の形態では第１、第２のホストコンピュータ３，４に接続されているシステム例に対応する。
【００１８】
図１において、上記画像入出力システム（装置）１は、画像データの読取処理を行うリーダ部２と、画像データの出力処理を行うプリンタ部６と、画像データの入出力操作を行うキーボード、及び画像データや各種機能の表示などを行う液晶パネルを備えた操作部７と、制御プログラムや画像データ等が予め書き込まれたハードディスクドライブ８を装着し、これら各構成要素に接続されて該構成要素に接続されて該構成要素を制御する単一の電子部品からなるコントローラ部１１０とから構成されている。
【００１９】
さらに、リーダ部２は原稿用紙を搬送する原稿給紙ユニット（部）１０と、原稿画像を光学的に読み取って電気信号としての画像データに変換するスキャナ部１１とを有し、プリンタ部６は記録用紙を収容する複数段の給紙カセットを備えた給紙ユニット（部）１２と画像データを記録用紙に転写、定着するマーキングユニット（部）１３と印字された記録用紙にソート処理やステイプル処理を施して、外部に排出する排紙ユニット（部）１４とを有している。
【００２０】
図２は、図１のリーダ部２及びプリンタ部６の内部構造を説明する断面図であり、リーダ部２はプリンタ部６に載置されている。
【００２１】
図２において、リーダ部５では、原稿給送ユニット１０に積層された原稿用紙がその積層順にしたがって、先頭から順次１枚ずつプラテンガラス１５上に給送され、スキャナユニット１１で所定の読取動作が終了した後、該読み取られた原稿用紙はプラテンガラス１５上から原稿給送ユニット１０に排出される。
【００２２】
また、上記スキャナユニット１１では、原稿用紙がプラテンガラス１５上に搬送されて来ると原稿照明用のランプ１６が点灯し、次いで光学ユニット１７の移動を開始させ、読み取り位置で固定する。
【００２３】
光学ユニット１７は、搬送される原稿用紙を下方から照射し、走査する。そして、原稿用紙からの反射光は、複数のミラー１８〜２０、及びレンズ２１を介してＣＣＤイメージセンサ（以下、単に「ＣＣＤ」と記す）２２へと導かれ、走査された原稿画像はＣＣＤ２２によって読み取られる。そして、ＣＣＤ２２で読み取られた画像データは、所定の処理が施された後、コントローラユニット１１０（図２では図示省略）に転送される。
【００２４】
なお、本実施形態におけるリーダ部２は、プラテンガラス１５上に載置された原稿を同様にランプ１６を点灯し、次いで光学ユニット１７の走査移動を開始させ、原稿用紙を下方から照射し、走査することで、走査された原稿画像をＣＣＤ２２によって読み取ることも可能に構成されている。
【００２５】
以上の手順で送出されたリーダ部２から出力される画像データは、コネクタを介してコントローラ部１１０に送出される。
【００２６】
次いで、プリント部６では、コントローラ部１１０から出力された画像データに対応するレーザ光が、レーザドライバにより駆動されるレーザ発光部２４から発光され、該レーザ光はマーキング部１３の感光ドラム２５にはレーザ光に応じた静電潜像が形成され、現像器２６により前記静電潜像の部分に現像材が付着する。
【００２７】
一方、コントローラ部１１０からの制御でレーザ光の照射開始と同期したタイミングで、給紙ユニット１２（図２に示す給紙カセット１２ａ，１２ｂ）から記録用紙が給紙されて転写部２７に搬送され、感光ドラム２５に付着している現像剤を記録用紙に転写する。そして、画像データに基づいて現像された画像が転写された記録用紙は定着部２８に搬送され、定着部２８における加熱・加圧処理により転写画像が記録紙に定着される。
【００２８】
そして、画像データを記録用紙に片面記録する場合は、定着部２８を通過した記録用紙が排出ローラ２９によって、そのまま排紙ユニット１４に排出され、排紙ユニット１４は排出された記録用紙を束ねて記録用紙の仕分けを行い、また、仕分けされた記録用紙のステイプル処理を行う。
【００２９】
また、画像データを記録用紙に両面記録する場合は、排出ローラ２９まで記録用紙を搬送した後、該は移出ローラ２９の回転方向を逆転させ、フラッパ３０によって再給紙搬送路３１へと導かれ、該再給紙搬送路３１に導かれた記録用紙は上述と同様にして転写部２７に搬送される。
【００３０】
コントローラ部１１０は、上述したように単一の電子部品で構成され、リーダ部２が読み取った画像データをコードに変換し、ＬＡＮ４００を介して第１及び第２のホストコンピュータ３、４に送信するスキャナ機能、及びホストコンピュータ３、４からＬＡＮ２を介して受信したコードデータを画像データに変換し、プリンタ部６に出力するプリンタ機能、その他の機能ブロックを有している。
【００３１】
図３は、図１に示したコントローラ部１１０の詳細を示すブロック図である。
【００３２】
図３において、メインコントローラ３２は、ＣＰＵ３３とバスコントローラ３４と後述する各種コントローラ回路を含む機能ブロックとを内蔵すると共に、ＲＯＭＩ／Ｆ３５を介してＲＯＭ３６と接続され、ＤＲＡＭＩ／Ｆ３７を介してＤＲＡＭ３８と接続され、コーデックＩ／Ｆ３９を介してコーデック４０と接続され、また、ネットワークＩ／Ｆ４１を介してネットワークコントローラ４２と接続されている。
【００３３】
ＲＯＭ３６は、メインコントローラ３２のＣＰＵ３３で実行される各種制御プログラムや演算データが格納されている。ＤＲＡＭ３８は、ＣＰＵ３３が動作するための作業領域や画像データを蓄積するための領域として使用される。コーデック４０は、ＤＲＡＭ３８に蓄積されたラスタイメージデータをＭＨ／ＭＲ／ＭＭＲ／ＪＢＩＧなどの周知の圧縮方式で圧縮し、また圧縮されたデータをラスターイメージに伸長する。また、コーデック４０にはＳＲＡＭ４３が接続されており、該ＳＲＡＭ４３は前記コーデック４０の一時的な作業領域として使用される。
【００３４】
ネットワークコントローラ４２は、ネットワークコネクタ４４を介してＬＡＮ２との間で所定の制御動作を行う。
【００３５】
また、メインコントローラ３２は、スキャナバス４５を介してスキャナＩ／Ｆ４６に接続され、プリンタバス４７を介してプリンタＩ／Ｆ４８に接続され、さらにＰＣＩバス等の汎用高速バス４９を介して拡張ボードを接続するための拡張コネクタ５０及び入出力制御部（Ｉ／Ｏ制御部）５１に接続されている。
【００３６】
Ｉ／Ｏ制御部５１は、リーダ部２やプリンタ部６との間で制御コマンドを送受信するための調歩同期式のシリアル通信コントローラ５２が２チャンネル装備されており、該シリアル通信コントローラ５２はＩ／Ｏバス５３を介してスキャナＩ／Ｆ４６及びプリンタＩ／Ｆ４８に接続されている。
【００３７】
スキャナＩ／Ｆ４８は、第１の調歩同期シリアルＩ／Ｆ５４及び第１のビデオＩ／Ｆ５５を介してスキャナコネクタ５６に接続され、さらに該スキャナコネクタ５６はリーダ部２のスキャナユニット１１に接続されている。
【００３８】
そして、スキャナＩ／Ｆ４６は、スキャナ部１１から受信した画像データに対し所望の２値化処理や、主走査方向及び／又は副走査方向の変倍処理を行い、またスキャナ部１１から送られてきたビデオ信号に基づいて制御信号を生成し、スキャナバス４５を介してメインコントローラ３２に転送する。
【００３９】
また、プリンタＩ／Ｆ４８は、第２の調歩同期シリアルＩ／Ｆ５７及び第２のビデオＩ／Ｆ５８を介してプリンタコネクタ５９に接続され、さらに該プリンタコネクタ５９はプリンタ部６のマーキングユニット１３に接続されている。
【００４０】
そして、プリンタＩ／Ｆ４８はメインコントローラ３２から出力された画像データにスムージング処理を施して該画像データをマーキングユニット１３に出力し、さらにマーキングユニット１３から送られたビデオ信号に基づいて、生成された制御信号をプリンタバス４７に出力する。
【００４１】
そして、ＣＰＵ３３は、ＲＯＭ３６からＲＯＭＩ／Ｆ３５を介して読み込まれた制御プログラムに基づいて動作し、例えば、第１及び第２のホストコンピュータ３、４から受信したＰＤＬ（ページ記述言語）データを解釈し、ラスタイメージデータに展開処理を行う。
【００４２】
また、バスコントローラ３４は、スキャナＩ／Ｆ４６プリンタＩ／Ｆ４８、その他拡張コネクタ５０等に接続された外部機器から入出力されるデータ転送を制御するものであり、バス競合時のアービトレーション（調停）やＤＭＡデータ転送の制御を行う。
【００４３】
即ち、例えば、上述したＤＲＡＭ３８とコーデック４０との間のデータ転送や、スキャナ部５からＤＲＡＭ３８へのデータ転送、ＤＲＡＭ３８からマーキングユニット１３へのデータ転送等は、バスコントローラ３４によって制御され、ＤＭＡ転送される。
【００４４】
また、Ｉ／Ｏ制御部５１は、ＬＣＤコントローラ６０などを介してパネルＩ／Ｆ６２に接続されている。また、前記Ｉ／Ｏ制御部５１は不揮発性メモリとしてのＥＥＰＲＯＭに接続され、またＥ−ＩＤＥコネクタ６３を介してハードディスクドライブ８に接続され、さらに、機器内で管理する日付と時刻を更新／保存するリアルタイムクロックモジュール６４に接続されている。尚、リアルタイムクロックモジュール６４はバックアップ用電池６５に接続されて該バックアップ用電池６５によりバックアップされている。
【００４５】
図４は、図３に示したメインコントローラ３２の内部詳細を示すブロック構成図である。
【００４６】
図４において、バスコントローラ３４は、例えば４×４の６４ビットクロスバススイッチで構成され、６４ビットのプロセッサバス（Ｐバス）６７を介してＣＰＵ３３に接続され、またメモリ専用のローカルバス（Ｍバス）６８０を介してキャッシュメモリを備えたメモリコントローラ６９に接続されている。尚、メモリコントローラ６９はＲＯＭ３６やＤＲＡＭ３８などのメモリ類と接続され、これらのメモリ類の動作を制御する。
【００４７】
さらに、バスコントローラ３４は、グラフィックスバス（Ｇバス）７０を介してＧバスアービタ７１及びスキャン・プリンタコントローラ７２と接続され、また入出力バス（Ｂバス）７３を介して、Ｂバスアービタ７４、Ｇバスアービタ７１、インタラプトコントローラ、及び各種機能ブロック（電力管理ユニット（ＰＭＵ）７６、ＵＡＲＴなどのシリアルＩ／Ｆコントローラ７７、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）コントローラ７８、ＩＥＥＥ１２８４等のパラレルＩ／Ｆコントローラ７９、ＬＡＮコントローラ（ＬＡＮＣ）８０汎用入出力コントローラ８１、Ｂバス７３と外部バスであるＰＣＩバスとの間でＩ／Ｆ動作を司るＰＣＩバスＩ／Ｆ８２、及びスキャナ・プリンタコントローラ７２）と接続されている。
【００４８】
Ｂバスアービタ７４は、Ｂバス７３を協調制御するアービトレーションであり、Ｂバス７３のバス使用要求を受け付け、調停の後、使用許可が選択された一つのマスタに与えられ、これにより同時に２つ以上のマスタがバスアクセスを行うのを禁止している。尚、アービトレーション方式は３段階の優先権を有し、それぞれの優先権に複数のマスタが割り当てられる。
【００４９】
インタラプトコントローラ７５は、上述した各機能ブロック及びコントローラユニット１１０の外部からインタラプトを集積し、ＣＰＵ３３がサポートするコントローラ類７２、７７〜８２及びノンマスカブルインタラプト（ＮＭＩ）に再配分する。
【００５０】
電力管理ユニット７６は、機能ブロック毎に電力を管理し、さらに１チップで構成されている電子部品としてコントローラユニット１１０の消費電力量の監視を行う。すなわち、コントローラユニット１１０は、ＣＰＵ３３を内蔵した大規模なＡＳＩＣ（特定用途向けＩＣ）で構成されており、このため全ての機能ブロックが同時に動作すると大量の熱を発生してしまうおそれがある。
【００５１】
そこで、このような事態を防止するために各に機能ブロック毎に消費電力を管理し、各機能ブロックの消費電力量はパワーマネージメントレベルとして電力管理ユニット７６に集積される。
【００５２】
そして、該電力管理ユニット７６では各機能ブロックの消費電力量を合計し、該消費電力量が限界消費電力を超えないように各機能ブロックの消費電力量を一括して、監視する。
【００５３】
Ｇバスアービタ７１は、中央アービトレーション方式によりＧバス７０を協調制御しており、各バスマスタに対して専用の要求信号と許可信号とを有する。なお、バスマスタへの優先権の付与方式として、全てのバスマスタを同じ優先権として、公平にバス権を付与する公平アービトレーションモードといずれか１つのバスマスタに対して優先的にバスを使用させる優先アービトレーションモードのいずれかを指定することができる。
【００５４】
図５は、図１に示したリーダ部２の原稿給送状態を説明する図であり、（ａ）はリーダ部２の側断面側を示し、（ｂ）は原稿給紙ユニット１０の平面側を示す。
【００５５】
図５において、原稿給送ユニット１０に積載された原稿は、スキャン時に原稿搬送方向（１）〜（４）の順路に従い搬送される。リーダ部２はコントローラユニット１１０から原稿の読み取りの要求があると、原稿給送ユニット１０に積載された原稿の引き込みを実行し、前述のように光学ユニット１７の走査移動を開始させ、読み取り位置で固定し原稿を搬送移動させることで原稿画像を走査する。
【００５６】
まず、原稿移動式のスキャンを行わない場合の原稿の入力方向及びメモリ上の画像書き込み方向について説明する。
【００５７】
図６〜図９は、図１に示したリーダ部２の原稿読取りと画像データの書き込み処理とを説明する図であり、図６，図７は、載置される原稿の搬送方向と画像入力方向が一致する場合に対応し、図８，図９は、載置される原稿の搬送方向と画像入力方向が一致しない場合に対応する。
【００５８】
この場合、図６に示すような原稿中の原稿突き当て位置を図５のリーダ部２の上図に記述される原稿突き当て位置に合わせて、ユーザは原稿を原稿用紙はプラテンガラス１５に配置することになる。
【００５９】
リーダ部２は、光学ユニット１７を走査移動させることで、プラテンガラス１５上に配置された原稿を読み取ることになるので、リーダ部２の原稿の入力方向、及びコントローラ部２のＤＲＡＭ３８に入力されるデータの方向は、図６に示すような方向となる。そして、ＤＲＡＭ３８に入力されるデータは、スキャナＩ／Ｆ４６内のＤＭＡコントローラ（図示しない）によってＤＲＡＭ３８に書き込みを行うが、リーダ部２からの画像は原稿先端から転送されるため、メモリアドレスの小さい方から正順にアクセスするようにすることで、図７のような破線矢印のような走査に従って読み取られる画像データをＤＲＡＭ３８に対して書き込みを行うこととなる。
【００６０】
一方、原稿移動式のスキャンを行う場合の画像の入力方向を、図８及び図９に示した。図８では原稿を原稿給紙ユニット１０に積載したときの搬送方向を、図９では図８の原稿がコントローラ部のＤＲＡＭ３８に入力される場合のメモリ入力方向を示している。このとき、リーダ部２から転送される原稿画像の向きは搬送搬送方向に関係し、副走査方向に前記の場合と全く逆になる。このため、スキャナＩ／Ｆ４６内のＤＭＡコントローラをメモリアドレスに逆向きにアクセスするように制御することで原稿の向きがプラテンガラス１５上の原稿を光学ユニット１７の移動によりスキャンした場合と同じ向きになるように制御を行う。
【００６１】
上述のような制御を行うことにより、原稿移動式でスキャンする、しないに関係なくＤＲＡＭ３８上の原稿の向きは同じ向きとすることが出来る。
【００６２】
次に、バンド単位で画像を圧縮する場合の基本的な処理について説明する。
【００６３】
図１０は、本実施形態に係る画像情報入出力装置における第１のデータ処理手順の一例を示すフローチャートであり、図３に示したメインコントローラ３２がＲＯＭ３６等に記憶される制御プログラムを実行することで実現される。なお、（１２０１）〜（１２０５）は各ステップを示す。
【００６４】
原稿をスキャンする場合には、ステップ（１２０１）で、ＣＰＵ３３はパネルＩ／Ｆ６２を介して、操作部７より原稿の読み取りが指示されたことを認識し、ステップ（１２０２）に処理を進める。
【００６５】
このとき、画像入出力システム１がサポートする様々な入力モード（両面読み込み、濃度指定等）をＣＰＵ３３は認識、ＤＲＡＭ３３上に保持する。
【００６６】
そして、ステップ（１２０２）で、ＣＰＵ３３は原稿給紙ユニット１０上に原稿が積載されているか否かを、スキャナＩ／Ｆ４６を介してリーダ部２に問い合わせることで判定し、この結果、原稿給紙ユニット１０上に原稿が積載されていると判定した場合には処理をステップ（１２０３）へ、原稿給紙ユニット１０上に原稿が積載されていると判定した場合には処理をステップ（１２０５）へ進め、プラテンガラス１５からの読み込み動作を指示して、処理を終了する。
【００６７】
ＳＴＥＰ１２０３、ＳＴＥＰ１２０５では共にＣＰＵ３３は原稿の読み込みをスキャナＩ／Ｆ４６を介してリーダ部２に要求する。
【００６８】
一方、ステップ（１２０３）では、原稿給紙ユニット１０から原稿を引き込みながらの読み込み動作を指示し、その後、ステップ（１２０４）では原稿給紙ユニット１０に続けて処理する原稿頁があるか、否かを問い合わせて判定し、その結果によって、原稿があると判定した場合は、ステップ（１２０３）へ戻り、原稿がないと判定した場合は、本処理を終了する。
【００６９】
この際、原稿画像読み取り時にはリーダ部２とコントローラ部１１０のＣＰＵ３３との通信は上記のような処理となるが、ステップ（１２０３），及びステップ（１２０５）では、読み取り頁の単位で図１１に示すような処理が、また頁中のバンド単位では図１２に示す処理が行われる。
【００７０】
図１１は、本実施形態に係る画像情報入出力装置における第２のデータ処理手順の一例を示すフローチャートであり、図３に示したメインコントローラ３２がＲＯＭ３６等に記憶される制御プログラムを実行することで実現される。なお、（１３０１）〜（１３０３）は各ステップを示す。
【００７１】
図１０に示したのフローチャートでＣＰＵ３３はステップ（１２０３）及びステップ（１２０５）でリーダ部２に原稿の読み取りを要求するが、この場合ＣＰＵ３３は、ステップ（１３０１）で、まずリーダ部２に原稿サイズを問い合わせ、原稿読み取りに必要なメモリ容量を計算し、頁のデータが収まる容量をＤＲＡＭ３８中に確保する。そして、ＤＲＡＭ３８中にメモリが確保されると、ＣＰＵ３３はスキャナＩ／Ｆ４６内のＤＭＡコントローラのレジスタにスキャン画像の書き込みの設定等のスキャン入力準備を行う。なお、ここで、設定される内容は確保されたメモリのアドレスや、スキャンする画像の主走査，副走査のサイズ等である。そして、ＣＰＵ３３はレジスタ設定が完了すると、リーダ部２へその旨を通知する。これを受けて、ステップ（１３０２）で、ページ入力が完了するまで、リーダ部２は画像転送を実行し、読み取られる画像データをハードディスク８に書き込む処理を実行して（１３０３）、処理を終了する。その後、処理は図１２に示すフローチャートへと移行する。
【００７２】
具体的には、後述する図１２に示したフローチャートをリーダ部２から入力された画像データを所定ライン毎に分割したバンド数分繰り返すとＣＰＵ３３は処理を、図１１に示したステップ（１３０２）で頁の処理が完了したことを検知する。そして、ＣＰＵ３３はステップ（１３０３）に処理を移行して、ハードディスクドライブ８に圧縮したデータの書き込みを行って、本処理を終了する。
【００７３】
図１２は、本実施形態に係る画像情報入出力装置における第３のデータ処理手順の一例を示すフローチャートであり、図３に示したメインコントローラ３２がＲＯＭ３６等に記憶される制御プログラムを実行することで実現される。なお、（１４０１）〜（１４０３）は各ステップを示す。
【００７４】
リーダ部２が画像転送を実行して、所定容量分の画像データの転送が完了すると（１４０１）、それを示す割り込みが、スキャナＩ／Ｆ４６内のＤＭＡコントローラからＣＰＵ３３に通知される。
【００７５】
それを受けて、ＣＰＵ３３はコーデック４０に指示を出し、スキャン画像の書き込みが完了したメモリ内のデータの圧縮処理を行う（１４０２）。
【００７６】
図１３は、本発明に係る画像情報入出力装置における第１のバンド圧縮処理例を示す図であり、（ａ）はバンド分割例を示し、（ｂ）は符号メモリ中の圧縮データを示し、（ｃ）はバンド圧縮処理のタイミングチャートを示すなお、図中のＢ１〜Ｂ５は、１頁が分割されたバンドを示す。
【００７７】
具体的には、例えばステップ（１２０５）でプラテンガラス１５からスキャンする場合には頁内を、図８−１に示すように５分割するものとする。この場合バンドＢ１〜Ｂ５によって頁が構成され、プラテンガラス１５から画像入力された場合には、バンドＢ１〜Ｂ５まで正順に原稿画像データが書き込まれ、バンドＢ１〜Ｂ５間でのスキャン画像の入力が各々完了するたびにスキャナＩ／Ｆ４６内のＤＭＡコントローラからの割り込みが発生する。ＣＰＵ３３はこの割り込みを受けてコーデック４０（ハードウェア資源）を動作させる。
【００７８】
図１３の（ｃ）に示すように、スキャン画像の入力とコーデック４０の動作を行う。例えばＣＰＵ３３はバンドＢ１のスキャン入力が完了するタイミングａでコーデック４０を起動し画像圧縮を開始する。
【００７９】
また同様に、タイミングｃではバンドＢ２のバンドのスキャン入力が完了するので、同様に画像圧縮を開始する。
【００８０】
このようにしてＣＰＵ３３はスキャン画像の圧縮動作をバンド毎に逐次圧縮する。
【００８１】
ステップ（１４０２）により、バンド１つに対してコーデック４０の画像圧縮処理が完了すると、圧縮前のバンドのメモリは不要となるので解放することが出来る。解放したメモリは、次の処理や画像入出力システムの提供する全く別の処理に利用することが出来るのでシステム全体のメモリ効率が向上する。
【００８２】
具体的には、図１３のタイミングチャートで、バンドＢ１の圧縮が完了するタイミングｂあるいはバンドＢ２の圧縮が完了するタイミングｄでそれぞれ圧縮前のデータの書き込まれたメモリを解放することが出来る。
【００８３】
このような処理を行うことで、ステップ（１２０５）で、プラテンガラス１５上の画像を読み込んだ際の圧縮処理はバンドＢ１〜Ｂ５まで順番に行われる。
【００８４】
また、このとき圧縮されたデータは圧縮順、すなわちバンドＢ１〜Ｂ５のバンド順に隙間無くＤＲＡＭ３８中に別管理されている符号メモリ領域に書き込みを行う（図１３の（ｂ）参照）。
【００８５】
一方、ステップ（１２０３）で、原稿移動式にてスキャンする場合には原稿の入力順が逆になる。
【００８６】
図１４は、本実施形態に係る画像情報入出力装置における第２のバンド圧縮処理例を示す図であり、（ａ）はバンド分割例を示し、（ｂ）は符号メモリ中の圧縮データを示し、（ｃ）はバンド圧縮処理のタイミングチャートを示すなお、図中のＢ１〜Ｂ５は、１頁が分割されたバンドを示す。
【００８７】
図１４に示すような原稿の入力順に対して、同様に図１４中に示すような原稿圧縮順序となる。この場合は、画像の入力がバンドＢ５〜Ｂ１の順で実行されるため、メモリを早く解放するためにはバンドＢ５から圧縮する必要が在る。
【００８８】
具体的には、ステップ（１４０１）でバンドＢ５の入力が完了したタイミング（ｅ）で、ＣＰＵ３３はコーデック４０を起動し、画像の圧縮処理を開始する（１４０２）。
【００８９】
コーデック４０がバンドＢ５の圧縮を完了すると、ＣＰＵ３３はタイミングｆでバンドＢ５の圧縮前の画像メモリを解放して（１４０３）、本処理を終了する
このような処理を行うことで原稿移動式の場合であっても、プラテンガラス１５上の画像を読み込んだ場合と同じタイミングでメモリ解放が行える。
【００９０】
図１４の（ｂ）に図示するように原稿移動式で原稿をスキャンした場合には、圧縮画像データの順番がバンドＢ５〜Ｂ１へ降順となり、プラテンガラス１５からスキャンした場合と圧縮データの順番が全く逆となる。
【００９１】
図１２に図示したフローチャートをバンド数分繰り返すとＣＰＵ３３は処理を図１１に示したステップ（１３０２）で頁の処理が完了したことを検知する。ＣＰＵ３３はステップ（１３０３）に処理を移行する。
【００９２】
ＣＰＵ３３は、図１１に示したステップ（１３０３）でハードディスクドライブ８に圧縮したデータの書き込みを行って、図１１に示す処理を終了する。
【００９３】
なお、ＣＰＵ３３は、圧縮データをハードディスクドライブ８に保存する際に、図１０に示したステップ（１２０３）で実行した原稿移動式のスキャン実行時のように、圧縮順序が逆となるデータがある場合には圧縮順序の情報を圧縮した画像データと関連付けてハードディスクドライブ８に保存する。
【００９４】
上述の処理を行うことで、原稿移動式のスキャンを行った場合であっても、通常時（プラテンガラス１５からのスキャン）と全く同じメモリ効率を実現すると共に、ハードディスクドライブ８からデータを読み出す際には、圧縮データと関連付けて保存した圧縮順序の情報を読み出すことで正順にハードディスクドライブ８から画像を読み出すことが出来る。
【００９５】
次に、前述した画像データの読み取り処理に並行して、読み取った画像に対して複数の画像処理（例えば、変倍処理、回転処理、スムージング処理）をソフトウェア資源（第２の画像処理手段）またはハードウェア資源（第１の画像処理手段）のいずれかで行う場合について説明する。
【００９６】
図１５は、本実施形態に係る画像処理装置における第４のデータ処理手順の一例を示すフローチャートであり、図３に示したメインコントローラ３２がＲＯＭ３６等に記憶される制御プログラムを実行することで実現される。なお、（１５０１）〜（１５０６）は各ステップを示す。
【００９７】
次に図１５のフローチャートを用い、上述のバンド単位で画像圧縮した場合に、画像を読み出し時の処理において画像を１８０度回転する場合の処理について説明する。
【００９８】
図１１による処理を終了すると、図３に示したハードディスクドライブ８にはバンド単位で圧縮された画像データが関連付けられて，正順（バンドＢ１〜Ｂ５の昇順）に圧縮されたデータであるか、もしくは逆順（バンドＢ５〜Ｂ１の降順）に圧縮されたデータであるかの情報が保存されている。
【００９９】
今、ＣＰＵ３３に画像の読み出し要求が発生したとする。画像の読み出し要求は画像入出力システム１の備える、例えばプリント機能による画像プリント時、あるいは画像データを読み出して画像処理等を実行した後にネットワークＩ／Ｆ４１を介してネットワークコントローラ４２から外部に送信するとき等に発生する。
【０１００】
画像読み出し要求が発生した場合に、ＣＰＵ３３は、まず圧縮画像データに関連付けて保存されている画像の圧縮順序の情報を参照し（１５０１）、ＣＰＵ３３はＳＴＥＰ１５０１で画像の圧縮順序が正順であるか否かを判断して（１５０２）、正順でないと判定した場合には、ステップ（１５０３）に進み、正順であると判定した場合には、そうでない場合は処理をステップ（１５０４）に進める。
【０１０１】
ＣＰＵ３３は、ステップ（１５０３）またはステップ（１５０４）で、画像入出力システム１の動作モードによって画像の１８０度回転が必要であるか否かの判断を行う。
【０１０２】
なお、画像の１８０度回転は、例えばプリント部６に接続される排紙ユニット１４によるステイプル位置を画像に対して変更する場合や表面の原稿上方向で見開くような両面プリント時には裏面画像は１８０度、画像を回転する必要がある。
【０１０３】
そして、ＣＰＵ３３は、ステップ（１５０３）で１８０度回転する必要があると判断した場合は、処理をステップ（１５０５）に進み、１８０度回転する必要がないと判断した場合は処理をステップ（１５０６）に移行する。
【０１０４】
一方、ＣＰＵ３３は、ステップ（１５０４）で１８０度回転する必要があると判断した場合は、ステップ（１５０６）に進み、必要がないと判断した場合は処理をステップ（１５０５）に進める。
【０１０５】
一方、ステップ（１５０５）では圧縮された画像データをハードディスク８に書き込まれた順番で読み出し、ステップ（１５０６）では圧縮された画像データをハードディスク８に書き込まれた順番と逆順に読み出しを実行し、処理を終了する。
【０１０６】
実際に１８０度回転した画像を得るためにはバンド単位で画像をコーデック４０で伸張し、同時にコーデック４０の持つ回転機能を用いてバンド単位のデータを回転する必要があるが、読み出し順を圧縮画像データと関連付けて保存されている圧縮順序の情報を参照し上述の制御を行うことで、原稿の先頭から処理を行うことが出来るため、１ページ分のメモリを必要とせずに処理を行うことが出来る。
【０１０７】
このため後続の処理をダブルバッファにて行う場合には処理実行の速度，及びメモリ使用率のパフォーマンスを向上させることが可能となる。
【０１０８】
図１６は、本実施形態に係る画像処理装置におけるバンドの伸長処理と変倍処理との動作を説明するタイミングチャートである。なお、本例では、あるページ画像が３つのバンドに分割されており、それぞれ伸長処理と変倍処理をしているもとのする。
【０１０９】
なお、バンドの伸長処理は、ハードウェア資源（第１の画像処理手段）としてのコーデック４０が処理し、伸長されたバンドデータの変倍処理は、ハードウェア資源（第１の画像処理手段）としてのコーデック４０またはハードディスク８に記憶される回転処理プログラムをＤＲＡＭ３８にロードしてＣＰＵ３３が実行するソフトウェア資源（第２の画像処理手段）のいずれかで実行されるものとする。
【０１１０】
バンドＢ１を処理する場合、バンドＢ１の変倍処理ｂ１はバンドＢ１の伸長処理Ｂ１の終了時（時刻ｂ）から開始する。また、バンドＢ２の伸長処理Ｂ２も時刻ｂから開始する。バンドＢ２の変倍処理ｂ２はＢ２が終了してからでないと開始できないため、時間ｂｃは変倍処理の空き時間となる。
【０１１１】
すなわち、ｂｃ＜ｂｄであればバンドＢ１の変倍処理ｂ１は処理の高速化を必要としない。したがって、ｂｃ＜ｂｄという条件内で変倍処理ｂ１をソフトウェア処理手段（ソフトウェア資源）で処理する。
【０１１２】
ただし、バンドＢ３の変倍処理ｂ３は、終了時間（時刻ｇ）がそのままページ画像の終了時間となり処理の高速化が必要になるため、最終バンド（変倍処理ｂ３）のみハードウェア処理手段か、ソフトウェア処理手段とハードウェア処理手段の処理の早い手段で処理するようコントローラ部１１０がスケジューリングする。
【０１１３】
図１７は、本実施形態に係る画像処理装置における画像処理別の相対処理速度を説明する図であり、ハードウェア処理手段（Ｈ／Ｗ）とソフトウェア処理手段（Ｓ／Ｗ）で同一の処理を行う場合の対比例である。なお、本例では、例えば読み取られる原稿の画像データに対して変倍、回転、スムージングの一連の処理を施す例に対応する。
【０１１４】
なお、図中の数値は、処理として同じものをハードウェア処理手段（Ｈ／Ｗ）とソフトウェア処理手段（Ｓ／Ｗ）とで行ったときの処理速度を示す。数値は一例であり、一般的なものではない。
【０１１５】
今、あるページ画像に対して変倍→回転→スムージングという一連の処理を施すとする。
【０１１６】
変倍処理時のハードウェア／ソフトウェア処理速度が「２」と「４」、回転処理時のハードウェア／ソフトウェア処理速度が「２」と「３」、スムージング処理時のハードウェア／ソフトウェア処理速度が「１」と「２」だった場合、変倍処理をソフトウェア資源で行うと、そこがボトルネックとなり、回転処理、スムージング処理はハードウェア資源／ソフトウェア資源いずれを用いてもトータルの処理時間は変わらない。なお、ここで挙げた数字は、数値が小さいほど画像処理に要する処理時間が短く、数値が大きいほど画像処理に要する処理時間が長いことを意味する。
【０１１７】
そこで、変倍処理を第１の画像処理手段としてのハードウェア処理手段（Ｈ／Ｗ）で行うと、少なくとも回転処理はハードウェアで行わないとトータルの処理時間が遅くなる。したがって、個々の処理の組み合わせ、およびハードウェア／ソフトウェア各々での処理に要する時間に応じて、個々の処理をハードウエアで行うのかソフトウェアで行うのかの最適な組み合わせを決めて相対速度比テーブルとしてハードディスク８あるいはＲＯＭ３６等に記憶し、コントローラ部１１０が一連の画像処理時に参照して、ハードウェア資源（第１の画像処理手段）とソフトウェア資源（第２の画像処理手段）のいずれかを選択して、ハードウェア資源に画像処理が集中しないように分散し、それぞれの画像処理プロセスを並行処理可能としている。
【０１１８】
例えば、変倍処理するハードウェアの故障など、変倍処理をソフトウェア資源で行わざるを得ない場合は、回転処理やスムージング処理もソフトで行うようスケジューリングし、反対に変倍処理をハードウェア資源で行う場合は回転処理、スムージング処理も必ずハードウェア資源で処理するようスケジューリングする。
【０１１９】
上記実施形態によれば、所定のデータ処理をソフトウェア資源で行うソフトウェア処理部と、ハードウェア資源で行うハードウェア処理部とを設けるとともに処理の内容や処理部の使用状況などによって使用する処理部を選択することにより、効率の良い処理部の選択が可能になり、処理全体が完了するまでの時間を最適化できるという効果を有する。特に、一連の処理の中でハードウェア資源を用いて部分的に高速化しても意味がない処理についてはソフトウェア資源を使い、これにより高速な処理が行えるハードウェア資源を別の処理に用いることができるため、システム全体としてハードウェア資源の有効活用がなされることになる。
【０１２０】
図１８は、本実施形態に係る画像処理装置における第５のデータ処理手順の一例を示すフローチャートであり、図３に示したＣＰＵ３３がＲＯＭ３６等に記憶されている制御プログラムをＤＲＡＭ３８に読み出して実行することで実現される。ここでは、画像データに対して変倍処理及び回転処理の双方を施す例について説明する。なお、（１）〜（１０）は各ステップを示す。
【０１２１】
先ず、ＣＰＵ３３は、ＤＲＡＭ３８上の所定領域に、スキャナ部２にて読み取られた原稿の画像をバンド（所定ライン数の画像データ）毎に分割してコーデック４０により圧縮処理が終了してＳＲＡＭ４３上に格納されているどうかを判断し（１）、圧縮処理が終了していないと判断した場合は、圧縮終了を待つ。
【０１２２】
一方、ステップ（１）で、ＣＰＵ３３は、圧縮処理が終了していると判定した場合には、ＤＲＡＭ３８に確保するバンドカウントパラメータＮを分割されるバンド数（例えば５）に設定する（２）。そして、ＣＰＵ３３は、圧縮バンドデータＮをＳＲＡＭ４３から読み出して（３）、圧縮バンドデータＮをコーデック４０で伸長する（４）。
【０１２３】
次に、ハードディスク８等に記憶されている、図１７に示すような相対速度比情報（変倍処理に関する情報）を参照して（５）、変倍処理すべき資源はソフトウェアであるかどうかをＣＰＵ３３が判断して、図１６に示すタイミングｂにおいて、伸長されたバンドデータＮに対して変倍処理を実行すべき資源がハードウェア（コーデック４０）であると判断した場合には、ステップ（９）へ進み、ハードディスクウエア資源（コーデック４０）で変倍処理を実行して、ステップ（８）へ進む。ここで、変倍処理は伸長したバンドデータＮに対して初めて施す画像処理であるので、基本的には処理速度の速いハードウェア資源（コーデック４０）を用いることとするが、本フローにて処理中の画像データにかかる他のバンドデータを処理するためにハードウェア資源が使用中であるとか、本フローとは関係のない画像データにかかるバンドデータを処理するためにハードウェア資源が使用中であるような場合には、ソフトウェア資源で処理をするべくステップ（７）を実行させるものとする。
【０１２４】
一方、ステップ（６）で、変倍処理すべき資源はソフトウェアであると決定した場合には、ソフトウェア資源（ＲＯＭ３６の変倍処理プログラムを実行するＣＰＵ３３）で変倍処理するようにＣＰＵ３３がハードディスク８から変倍処理プログラムを読み出して実行する（７）。
【０１２５】
ステップ（８）で、ＣＰＵ３３は、変倍処理がされたバンドデータＮに対して更に回転処理を施すために、図１７に示すような相対速度比情報（回転処理に関する情報）を参照して（８）、回転処理すべき資源はソフトウェアであるかどうかをＣＰＵ３３が判断して、変倍処理されたバンドデータＮに対して回転処理を実行すべき資源がハードウェア（コーデック４０）であると判断した場合には、ステップ（１１）へ進み、ハードウェア資源（コーデック４０）で回転処理を実行して、ステップ（１２）へ進む。ここで、回転処理は変倍処理されたバンドデータＮに対して施す画像処理であるので、ＣＰＵ３３は、変倍処理をハードウェア資源（コーデック４０）またはソフトウェア資源（ＲＯＭ３６の変倍処理プログラムを実行するＣＰＵ３３）のいずれで実行したかに応じて、回転処理をハードウェア資源（コーデック４０）またはソフトウェア資源（ＲＯＭ３６の変倍処理プログラムを実行するＣＰＵ３３）のいずれで実行するかを決定する。そして、図１７に示すような相対速度比情報を元にすれば、変倍処理をハードウェア資源で実行した場合は、ハードウェア資源で実行した変倍処理に要する時間（“２”に相当する時間）が、回転処理をソフトウェア資源で実行するのに要する処理時間（“３”に相当する時間）より短い。そこで、ＣＰＵ３３は、回転処理をハードウェア資源（コーデック４０）で実行することを決定する。一方、変倍処理をソフトウェア資源で実行した場合は、ソフトウェア資源で実行した変倍処理に要する処理時間（“４”に相当する時間）が、回転処理をソフトウェア資源で実行するのに要する処理時間（“３”に相当する時間）より長い。そこで、ＣＰＵ３３は、回転処理をソフトウェア資源（ＲＯＭ３６の回転処理プログラムを実行するＣＰＵ３３）で実行することを決定する。
【０１２６】
次に、バンドカウントパラメータＮをディクリメントし（１２）、Ｎ＝０になったかどうかを判断して（１３）、「０」でないと判断した場合は、ステップ（２）へ戻る。
【０１２７】
一方、ステップ（１３）において、Ｎ＝「０」であると判断した場合は、本処理を終了する。
【０１２８】
これにより、図１６に示すようなバンド伸長処理とバンド回転処理とを連続して実行する場合には、バンド処理はハードウェア資源により高速に処理し、回転処理はソフトウェア資源で処理するように、画像処理プロセスを決定して、画像処理時におけるハードウェア間のメモリアクセスのためのバスサイクルを調整して、全体として画像処理効率を格段に向上させることができる。
【０１２９】
以下、図１９に示すメモリマップを参照して本発明に係る画像処理装置で読み取り可能なデータ処理プログラムの構成について説明する。
【０１３０】
図１９は、本発明に係る画像処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【０１３１】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１３２】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１３３】
本実施形態における図１０，図１１，図１２，図１５，図１７，図１８に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１３４】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１３５】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１３６】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１３７】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【０１３８】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１３９】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバやｆｔｐサーバ等も本発明の請求項に含まれるものである。
【０１４０】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１４１】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１４２】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１４３】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から排除するものではない。
【０１４４】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではなく、以下の実施態様も含まれることはいうまでもない。
【図面の簡単な説明】
【０１４５】
【図１】本発明の第１実施形態を示す画像情報入出力装置を適用可能な画像入出力システムの構成を説明するブロック図である。
【図２】図１のリーダ部及びプリンタ部の内部構造を説明する断面図図である。
【図３】図１に示したコントローラ部の詳細を示すブロック図である。
【図４】図３に示したメインコントローラの内部詳細を示すブロック構成図である。
【図５】図１に示したリーダ部の原稿給送状態を説明する図である。
【図６】図１に示したリーダ部の原稿読取りと画像データの書き込み処理とを説明する図である。
【図７】図１に示したリーダ部の原稿読取りと画像データの書き込み処理とを説明する図である。
【図８】図１に示したリーダ部の原稿読取りと画像データの書き込み処理とを説明する図である。
【図９】図１に示したリーダ部の原稿読取りと画像データの書き込み処理とを説明する図である。
【図１０】本発明の一実施形態に係る画像処理装置における第１のデータ処理手順の一例を示すフローチャートである。
【図１１】本発明の一実施形態に係る画像処理装置における第２のデータ処理手順の一例を示すフローチャートである。
【図１２】本発明の一実施形態に係る画像処理装置における第３のデータ処理手順の一例を示すフローチャートである。
【図１３】本発明の一実施形態に係る画像処理装置における第１のバンド圧縮処理例を示す図である。
【図１４】本発明の一実施形態に係る画像処理装置における第２のバンド圧縮処理例を示す図である。
【図１５】本発明の一実施形態に係る画像処理装置における第４のデータ処理手順の一例を示すフローチャートである。
【図１６】本発明の一実施形態に係る画像処理装置におけるバンドの伸長処理と変倍処理との動作を説明するタイミングチャートである。
【図１７】本発明の一実施形態に係る画像処理装置における画像処理別の相対処理速度を説明する図である。
【図１８】本発明の一実施形態に係る画像処理装置における第５のデータ処理手順の一例を示すフローチャートである。
【図１９】本発明の一実施形態に係る画像処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
【０１４６】
３２  メインコントローラ
３３  ＣＰＵ
３６  ＲＯＭ
３８  ＤＲＡＭ
４０  コーデック
【図１】
2006197049.tif 000003
【図２】
2006197049.tif 000004
【図３】
2006197049.tif 000005
【図４】
2006197049.tif 000006
【図５】
2006197049.tif 000007
【図６】
2006197049.tif 000008
【図７】
2006197049.tif 000009
【図８】
2006197049.tif 000010
【図９】
2006197049.tif 000011
【図１０】
2006197049.tif 000012
【図１１】
2006197049.tif 000013
【図１２】
2006197049.tif 000014
【図１３】
2006197049.tif 000015
【図１４】
2006197049.tif 000016
【図１５】
2006197049.tif 000017
【図１６】
2006197049.tif 000018
【図１７】
2006197049.tif 000019
【図１８】
2006197049.tif 000020
【図１９】
2006197049.tif 000021
【手続補正書】
【提出日】平成17年2月14日(2005.2.14)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０１２０
【補正方法】変更
【補正の内容】
【０１２０】
図１８は、本実施形態に係る画像処理装置における第５のデータ処理手順の一例を示すフローチャートであり、図３に示したＣＰＵ３３がＲＯＭ３６等に記憶されている制御プログラムをＤＲＡＭ３８に読み出して実行することで実現される。ここでは、画像データに対して変倍処理及び回転処理の双方を施す例について説明する。なお、（１）〜（１４）は各ステップを示す。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１２５
【補正方法】変更
【補正の内容】
【０１２５】
ステップ（８）で、ＣＰＵ３３は、変倍処理がされたバンドデータＮに対して更に回転処理を施すために、図１７に示すような相対速度比情報（回転処理に関する情報）を参照して、ステップ（１０）で、回転処理すべき資源はソフトウエアであるかどうかをＣＰＵ３３が判断して、変倍処理されたバンドデータＮに対して回転処理を実行すべき資源がハードウェア（コーデック４０）であると判断した場合には、ステップ（１１）へ進み、ハードウェア資源（コーデック４０）で回転処理を実行して、ステップ（１３）へ進む。
ここで、回転処理は変倍処理されたバンドデータＮに対して施す画像処理であるので、ＣＰＵ３３は、変倍処理をハードウェア資源（コーデック４０）またはソフトウェア資源（ＲＯＭ３６の変倍処理プログラムを実行するＣＰＵ３３）のいずれで実行したかに応じて、回転処理をハードウェア資源（コーデック４０）またはソフトウェア資源（ＲＯＭ３６の変倍処理プログラムを実行するＣＰＵ３３）のいずれで実行するかを決定する。
そして、図１７に示すような相対速度比情報を元にすれば、変倍処理をハードウェア資源で実行した場合は、ハードウェア資源で実行した変倍処理に要する時間（“２”に相当する時間）が、回転処理をソフトウェア資源で実行するのに要する処理時間（“３”に相当する時間）より短い。そこで、ＣＰＵ３３は、回転処理をハードウェア資源（コーデック４０）で実行することを決定する。
一方、変倍処理をソフトウェア資源で実行した場合は、ソフトウェア資源で実行した変倍処理に要する処理時間（“４”に相当する時間）が、回転処理をソフトウェア資源で実行するのに要する処理時間（“３”に相当する時間）より長い。そこで、ステップ（１２）で、ＣＰＵ３３は、回転処理をソフトウェア資源（ＲＯＭ３６の回転処理プログラムを実行するＣＰＵ３３）で実行することを決定する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０１２６
【補正方法】変更
【補正の内容】
【０１２６】
次に、バンドカウントパラメータＮをディクリメントし（１３）、Ｎ＝０になったかどうかを判断して（１４）、「０」でないと判断した場合は、ステップ（２）へ戻る。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０１２７
【補正方法】変更
【補正の内容】
【０１２７】
一方、ステップ（１４）において、Ｎ＝「０」であると判断した場合は、本処理を終了する。
【手続補正５】
【補正対象書類名】図面
【補正対象項目名】図４
【補正方法】変更
【補正の内容】
【図４】
2006197049.tif 000022
【手続補正６】
【補正対象書類名】図面
【補正対象項目名】図１６
【補正方法】変更
【補正の内容】
【図１６】
2006197049.tif 000023
【手続補正７】
【補正対象書類名】図面
【補正対象項目名】図１８
【補正方法】変更
【補正の内容】
【図１８】
2006197049.tif 000024