(57)【要約】【課題】本発明は、スキップ処理を伴うバンド画像を形成する際のデータ転送を効率的に行う画像形成装置、画像形成制御方法、画像形成制御プログラム及び記録媒体に関する。【解決手段】複合装置１は、スキャナ部１０１で読み取った画像データを、画像処理コントロール部１２０のＷＤＭＡＣ１２２によって、メモリ４００にディスクリプタに基づいて転送した後、該ディスクリプタに基づいてプロッタ部２０１に転送する場合に、ＷＤＭＡＣ１２２が、ディスクリプタバンドを分割したスキップバンド毎に無効スキップバンドと有効スキップバンドを判定する白判定を画像データに対して行って得た白判定結果情報をディスクリプタに書き戻して、メモリ４００からプロッタ部２０１に該画像データを転送する際に、該ディスクリプタの白判定結果情報に無効スキップバンドについてはスキップ通知を出力してプロッタ部２０１にスキップ動作を行わせる。【選択図】          図１
2011056728.tif 000002
【特許請求の範囲】
【請求項１】
記録ヘッドを主走査方向に移動させて入力される画像データの所定ライン数を１バンドとして該バンド毎に該画像データに基づいて画像形成媒体にドット画像を形成し該バンドの画像形成が完了すると該画像形成媒体を該バンド分だけ副走査方向に搬送する画像形成手段と、
画像データ及び該画像データを前記１バンドのライン数を所定整数倍したライン数からなるディスクリプタバンド毎に該画像データの転送情報を有するディスクリプタを保管するデータ記憶手段と、
画像データを前記ディスクリプタに基づいて前記データ記憶手段に書き込んだ後、前記画像形成手段に転送するとともに、該データ記憶手段に書き込む画像データに対して白画素であるか否かの白判定を画素毎に順次行って連続白画素数が前記ディスクリプタバンドを所定の整数で分割したスキップバンドになると、無効スキップバンドとし、前記スキップバンドに白画素以外の有効画素が存在すると、有効スキップバンドとする白判定結果情報を生成して該ディスクリプタに書き戻して、該データ記憶手段から該画像形成手段に該画像データを該ディスクリプタに基づいて転送する際に、該ディスクリプタの該白判定結果情報に該無効スキップバンドとして登録されているスキップバンドについては、スキップ通知を出力するデータ転送制御手段と、
前記画像形成手段の動作を制御して画像形成を行わせるとともに、前記データ転送制御手段から前記スキップ通知があると、該画像形成手段に前記記録ヘッドの主走査移動を停止させて前記画像形成媒体のみを前記スキップバンド分搬送させるスキップ動作を行わせる画像形成制御手段と、
を備えていることを特徴とする画像形成装置。
【請求項２】
前記データ転送制御手段は、前記白判定結果情報と前記データ記憶手段のイメージ幅に基づいて、前記有効スキップバンドの画像データの格納されている該データ記憶手段のアドレスを算出し、該有効スキップバンドの画像データのみを前記画像形成手段に転送することを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記データ転送制御手段は、
画像データを前記ディスクリプタに基づいて前記データ記憶手段に書き込むとともに、該画像データに対して前記白判定を行って、前記白判定結果情報を該ディスクリプタに書き戻すライトＤＭＡＣと、
前記データ記憶手段から前記画像形成手段に前記画像データを前記ディスクリプタに基づいて転送する際に、該ディスクリプタの前記白判定結果情報に前記無効スキップバンドとして登録されているスキップバンドについては、スキップ通知を出力するリードＤＭＡＣと、
を備えていることを特徴とする請求項１または請求項２記載の画像形成装置。
【請求項４】
前記データ転送制御手段は、原稿画像を読み取る読取手段から入力される画像データ、外部記憶装置から入力される画像データ、または／及び、外部装置から転送されてくる画像データを、前記画像データとして処理することを特徴とする請求項１から請求項３のいずれかに記載の画像形成装置。
【請求項５】
前記データ転送制御手段は、前記画像データがＰＤＬデータであると、該ＰＤＬデータをレンダリングする際に、１ライン毎に前記白判定を行うことを特徴とする請求項１から請求項４のいずれかに記載の画像形成装置。
【請求項６】
前記画像形成装置は、
前記データ転送制御手段によって、前記データ記憶手段の前記画像データを前記ディスクリプタに基づいて読み出させて、該画像データに対して所定の画像処理を施した後に、前記データ転送制御手段によって、該ディスクリプタに基づいて該データ記憶手段に書き戻させる画像処理手段を備えており、
前記データ転送制御手段は、前記データ記憶手段から前記画像データを読み出す際に読み取る前記ディスクリプタから前記白判定結果情報をも読み出し、前記画像処理後の画像データに対して白判定を行って、該データ記憶手段から読み取った該ディスクリプタの白判定結果情報と異なる白判定結果となった前記スキップバンドについては、新たな白判定結果を該ディスクリプタの該白判定結果情報に書き戻すことを特徴とする請求項１から請求項５のいずれかに記載の画像形成装置。
【請求項７】
前記データ転送制御手段は、前記白判定結果情報と前記データ記憶手段のイメージ幅に基づいて、前記スキップバンドの該データ記憶手段におけるアドレスを管理し、前記無効スキップバンドの画像データの該データ記憶手段への書き込みを禁止し、前記有効スキップバンドの画像データのみを該アドレス管理に応じて該データ記憶手段に書き込むことを特徴とする請求項１から請求項６のいずれかに記載の画像形成装置。
【請求項８】
記録ヘッドを主走査方向に移動させて入力される画像データの所定ライン数を１バンドとして該バンド毎に該画像データに基づいて画像形成媒体にドット画像を形成し該バンドの画像形成が完了すると該画像形成媒体を該バンド分だけ副走査方向に搬送する画像形成処理ステップと、
画像データ及び該画像データを前記１バンドのライン数を所定整数倍したライン数からなるディスクリプタバンド毎の該画像データの転送情報を有するディスクリプタを保管するデータ記憶手段に、該画像データを該ディスクリプタに基づいて前記データ記憶手段に書き込んだ後、前記画像形成処理ステップに転送するとともに、該データ記憶手段に書き込む画像データに対して白画素であるか否かの白判定を画素毎に順次行って連続白画素数が該ディスクリプタバンドを所定の整数で分割したスキップバンドになると、無効スキップバンドとし、該スキップバンドに白画素以外の有効画素が存在すると、有効スキップバンドとする白判定結果情報を生成して該ディスクリプタに書き戻して、該データ記憶手段から該画像形成処理ステップに該画像データを該ディスクリプタに基づいて転送する際に、該ディスクリプタの該白判定結果情報に該無効スキップバンドとして登録されているスキップバンドについては、スキップ通知を出力するデータ転送制御処理ステップと、
前記画像形成処理ステップの動作を制御して画像形成を行わせるとともに、前記データ転送制御処理ステップから前記スキップ通知があると、該画像形成処理ステップに前記記録ヘッドの主走査移動を停止させて前記画像形成媒体のみを前記スキップバンド分搬送させるスキップ動作を行わせる画像形成制御処理ステップと、
を有していることを特徴とする画像形成制御方法。
【請求項９】
コンピュータに、
記録ヘッドを主走査方向に移動させて入力される画像データの所定ライン数を１バンドとして該バンド毎に該画像データに基づいて画像形成媒体にドット画像を形成し該バンドの画像形成が完了すると該画像形成媒体を該バンド分だけ副走査方向に搬送する画像形成処理と、
画像データ及び該画像データを前記１バンドのライン数を所定整数倍したライン数からなるディスクリプタバンド毎の該画像データの転送情報を有するディスクリプタを保管するデータ記憶手段に、該画像データを該ディスクリプタに基づいて前記データ記憶手段に書き込んだ後、前記画像形成処理に転送するとともに、該データ記憶手段に書き込む画像データに対して白画素であるか否かの白判定を画素毎に順次行って連続白画素数が該ディスクリプタバンドを所定の整数で分割したスキップバンドになると、無効スキップバンドとし、該スキップバンドに白画素以外の有効画素が存在すると、有効スキップバンドとする白判定結果情報を生成して該ディスクリプタに書き戻して、該データ記憶手段から該画像形成処理に該画像データを該ディスクリプタに基づいて転送する際に、該ディスクリプタの該白判定結果情報に該無効スキップバンドとして登録されているスキップバンドについては、スキップ通知を出力するデータ転送制御処理と、
前記画像形成処理の動作を制御して画像形成を行わせるとともに、前記データ転送制御処理から前記スキップ通知があると、該画像形成処理に前記記録ヘッドの主走査移動を停止させて前記画像形成媒体のみを前記スキップバンド分搬送させるスキップ動作を行わせる画像形成制御処理と、
を実行させることを特徴とする画像形成制御プログラム。
【請求項１０】
請求項９記載の画像形成制御プログラムを記録したことを特徴とするコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、画像形成制御方法、画像形成制御プログラム及び記録媒体に関し、詳細には、バンド毎にドット画像を形成するとともにスキップ処理を行う際のデータ転送を効率的に行う画像形成装置、画像形成制御方法、画像形成制御プログラム及び記録媒体に関する。
【背景技術】
【０００２】
プリンタ装置、複写装置、ファクシミリ装置、複合装置等の画像形成装置においては、従来から、画像形成処理をページ単位で行うレーザプリンタ等のページ画像形成装置とライン単位で画像形成処理を行うインクジェットプリンタ等のライン画像形成装置とがある。ページ画像形成装置は、画像処理を行うシステムコントローラが、スキャナ部で原稿を読み取った読み取り画像データや外部コンピュータ等から受信した受信画像データを処理する画像処理部から画像データを受け取ってメモリに１ページ分の画像データを蓄積すると、必要な画像処理を行った後、画像形成を制御するエンジンコントローラに画像データを転送し、エンジンコントローラが、１ページ分の画像データを受け取ると、必要な画像処理を施して実際に画像形成する画像形成エンジンに適切なタイミングで該１ページ分の画像データを出力してページ単位で画像形成する。
【０００３】
ライン画像形成装置は、システムコントローラが、読み取り画像データや受信画像データを処理する画像処理部から画像データを受け取ってメモリに所定量の画像データを蓄積すると、必要な画像処理を行った後、画像形成を制御するエンジンコントローラに画像データを転送し、エンジンコントローラが、受け取った画像データをバンド単位（ライン単位または複数ライン単位）で画像形成エンジンに適切なタイミングで出力して、バンド単位で画像形成させる。
【０００４】
また、ライン画像形成装置においては、従来から、画像形成速度の高速化を図るために、画像データに基づいて画素毎に印刷ヘッドを主走査方向に往復移動させつつ印字する際に、１ライン以上の連続した空白ドットの画像データが存在すると、次に空白以外の画像データが存在するまで、印刷ヘッドの往復移動を停止し、空白ライン分用紙搬送を行う、いわゆる副走査方向のスキップ処理を行うことにより、画像形成速度の高速化を図った技術が提案されている（特許文献１、特許文献２等参照）。
【０００５】
また、画像形成速度の高速化を図るためには、画像データの転送を効率的に行う必要がある。そして、従来、画像データの転送を行うＤＭＡＣ（Direct Memory Access Controller ：ＤＭＡコントローラ）が画像データの転送に際して参照するメモリ上のディスクリプタ情報に、該ディスクリプタの分割単位で、該分割単位のディスクリプタの示す画像データが全白の無効データであるのか、白以外の有効データが存在するのかの白判定情報を持たせ、該白判定情報に基づいてデータ転送を行う技術が提案されている（特許文献３参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来技術にあっては、ディスクリプタに白判定情報を持たせてデータ転送を指示しているが、白判定情報がディスクリプタの分割単位において画像データが無効データであるのか有効データであるのかの情報を持たせているため、このデータ転送技術を、ライン画像形成装置におけるスキップ処理に利用する場合、ディスクリプタの分割単位は、コントローラのソフトウェアやメモリ容量等によって決定されるが、一般的に、スキップ処理の単位よりも大きいため、ディスクリプタが占有するメモリ容量が増大してメモリの利用効率が低下したり、処理が煩雑になるおそれがある。
【０００７】
すなわち、スキップ処理を行うためにはスキップ処理を行う単位での白判定情報が必要となる。この白判定情報は白判定を行う箇所から実際にスキップ制御を行う箇所へ伝達する必要がある。この伝達方法としては、白判定結果を、白判定を行うＡＳＩＣ（Application Specific Integrated Circuit）のレジスタに格納する方法やメモリに書き出す方法等も考ええられるが、これらの方法では画像データの転送に加えて白判定情報を個別に扱わなくてはならず、処理効率が悪い。そこで、上記従来技術を利用して、白判定情報をＤＭＡＣのディスクリプタ情報に持たせることで、データ転送と同時に白判定結果を後段の処理部へ伝達することができる。
【０００８】
この場合、従来技術を適用すると、ディスクリプタの分割単位の画像に対する白判定情報を該分割単位で持たせることになるが、このディスクリプタの分割単位は、上述のように、コントローラのソフトウェアやメモリ容量等によって決定され、スキップ処理の単位は、インクジェットヘッドの幅等のライン画像形成装置におけるエンジン側の要因で決定されるため、ディスクリプタの分割単位とスキップ処理の単位は異なる値となり、一般的に、ディスクリプタの分割単位の方が、スキップ処理の単位よりも大きい。その結果、スキップ処理の単位でのデータ転送に対応させるためにディスクリプタの単位を小さくすると、ディスクリプタの数が多くなり、ディスクリプタに必要なメモリ領域が増大する。また、ＤＭＡ転送する際にも、ディスクリプタリードの回数が増え、データ転送のオーバヘッドが大きくなって、データ転送効率が悪化するおそれがある。
【０００９】
逆に、ディスクリプタの分割単位に合わせてスキップ処理を行うと、スキップ処理単位のライン数が多くなり、形成画像におけるスキップ処理の対象となる確立が少なくなって、生産性、処理速度が低下することとなる。
【００１０】
また、スキップ処理単位は、一般的に、動作モード（カラー／モノクロ、解像度等）によって異なる処理単位に設定されるが、この場合、ディスクリプタの分割単位をスキップの処理単位に設定すると、動作モードによって異なる分割単位や数のディスクリプタを用意する必要があり、ソフトウェア処理が煩雑となるという問題がある。
【００１１】
そこで、本発明は、ディスクリプタバンド単位よりもバンド数の少ないスキップバンド毎の画像データに対する白判定結果情報をディスクリプタに登録して、スキップ処理に必要な白判定結果情報を画像データの転送に伴って伝達可能とするとともに、スキップ処理効率を向上させることのできる画像形成装置、画像形成制御方法、画像形成制御プログラム及び記録媒体を提供することを目的としている。
【課題を解決するための手段】
【００１２】
本発明は、上記目的を達成するために、バンド毎に記録ヘッドを主走査方向に移動させて画像形成媒体に画像形成して画像形成後に画像形成媒体のみを該バンド分だけ副走査方向に搬送する画像形成手段で画像形成させるために、画像データを一旦データ記憶手段に、１バンドのライン数を所定整数倍したライン数からなるディスクリプタバンド毎の該画像データの転送情報を有するディスクリプタに基づいて書き込んだ後、該ディスクリプタに基づいて画像形成手段に画像データを転送する場合に、前記画像データをデータ記憶手段に転送する際に、白判定を行って、連続白画素数が該ディスクリプタバンドを所定の整数で分割したスキップバンドになると、無効スキップバンドとし、該スキップバンドに白画素以外の有効画素が存在すると、有効スキップバンドとする白判定結果情報を生成して該ディスクリプタに書き戻して、該データ記憶手段から該画像形成手段に該画像データを該ディスクリプタに基づいて転送する際に、該ディスクリプタの該白判定結果情報に該無効スキップバンドとして登録されているスキップバンドについては、スキップ通知を出力して、記録ヘッドの主走査移動を停止させて前記画像形成媒体のみを前記スキップバンド分搬送させるスキップ動作を行わせることを特徴としている。
【００１３】
また、本発明は、前記白判定結果情報と前記データ記憶手段のイメージ幅に基づいて、前記有効スキップバンドの画像データの格納されている該データ記憶手段のアドレスを算出し、該有効スキップバンドの画像データのみを前記画像形成手段に転送することを特徴としてもよい。
【００１４】
さらに、本発明は、前記データ記憶手段の前記画像データを前記ディスクリプタに基づいて読み出して、該画像データに対して所定の画像処理を施した後に、該ディスクリプタに基づいて該データ記憶手段に書き戻す場合に、画像処理後の画像データに対して白判定を行って、該データ記憶手段から読み取った該ディスクリプタの白判定結果情報と異なる白判定結果となったスキップバンドについては、新たな白判定結果を該ディスクリプタの該白判定結果情報に書き戻すことを特徴としてもよい。
【発明の効果】
【００１５】
本発明によれば、ディスクリプタバンド単位よりもバンド数の少ないスキップバンド毎の画像データに対する白判定結果情報をディスクリプタに登録して、スキップ処理に必要な白判定結果情報を画像データの転送に伴って伝達可能とすることができるとともに、スキップ処理効率を向上させることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施例を適用した複合装置のブロック構成図。
【図２】１単位のディスクリプタを４分割する場合のディスクリプタフォーマットの一例を示す図。
【図３】１単位のディスクリプタを８分割する場合のディスクリプタフォーマットの一例を示す図。
【図４】白判定と白判定結果のディスクリプタへの書き戻しを伴う画像データ転送処理を示すフローチャート。
【図５】有効バンドの画像データのみを転送する画像データ転送処理を示すフローチャート。
【図６】有効バンドの画像データのみを転送する画像データ転送処理の説明図。
【発明を実施するための形態】
【００１７】
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるので、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明によって不当に限定されるものではなく、また、本実施の形態で説明される構成の全てが本発明の必須の構成要件ではない。
【実施例１】
【００１８】
図１〜図５は、本発明の画像形成装置、画像形成制御方法、画像形成制御プログラム及び記録媒体の一実施例を示す図であり、図１は、本発明の画像形成装置、画像形成制御方法、画像形成制御プログラム及び記録媒体の一実施例を適用した複合装置１のブロック構成図である。
【００１９】
図１において、複合装置１は、コントローラＡＳＩＣ１００、エンジンＡＳＩＣ２００、コントローラＣＰＵ（Central Processing Unit ）３００及びメモリ４００を主要部として備えており、コントローラＣＰＵ３００には、ネットワークＩ／Ｆ２が接続されている。複合装置１は、図示しないが、さらに、外部公衆回線等を利用してファクシミリ通信を行うファクシミリ通信部、操作表示部等を備えており、ネットワークＩ／Ｆ２には、ＬＡＮ（Local Area Network）等のネットワークを介して画像データの転送を行う外部装置としてのホストコンピュータＰｃが接続される。
【００２０】
コントローラＡＳＩＣ１００には、スキャナ部１０１及び外部記憶部１０２等が接続され、エンジンＡＳＩＣ２００には、プロッタ部２０１とエンジンＣＰＵ２０２等が接続されている。コントローラＡＳＩＣ１００及びエンジンＡＳＩＣ２００とコントローラＣＰＵ３００とは、要求と応答が分離されていて応答を待たずに次の要求を発行できる高速スプリットトランザクションのバスであるＰＣＩｅ（Peripheral Component Interconnect Express）３によって接続されている。ＰＣＩｅ３は、複数のレーン（伝送路）が束ねられることによってシリアル信号で高速なデータ転送が可能であり、片方向で２．５Ｇｂｐｓ、双方向で５．０Ｇｂｐｓの全二重通信を行うことができる。
【００２１】
コントローラＡＳＩＣ１００は、入力制御部１１０、画像処理コントローラ部１２０、外部記憶制御部１３０、機能モジュール１４０及びバスアービタ１５０等を搭載しており、エンジンＡＳＩＣ２００は、出力制御部２１０、その他の機能モジュール２２０、２３０、エンジンＣＰＵ  Ｉ／Ｆ２４０及びバスアービタ２５０等を搭載している。
【００２２】
スキャナ部（読取手段）１０１は、例えば、ＣＣＤ（Charge Coupled Device ）を利用したカラーイメージスキャナ等が利用されており、一般に、ＡＤＦ（自動原稿送り装置）を備えている。ＡＤＦには、複数枚の原稿がセットされ、ＡＤＦは、セットされた原稿を１枚ずつスキャナ部１０１の原稿読取位置に送給する。スキャナ部１０１は、ＡＤＦから搬送されてきた原稿を走査し、原稿のカラー画像を所定の解像度で読み取って、ＲＧＢのカラー画像信号をデジタル変換した後、コントローラＡＳＩＣ１００の入力制御部１１０に出力する。
【００２３】
外部記憶部（外部記憶装置）１０２は、ハードディスク、ＳＳＤ（Solid State Drive）、ＳＤ（Secure Digital）カード等が用いられ、コントローラＡＳＩＣ１００の外部記憶制御部１３０の制御下で画像データ等が書き込まれ、また、読み出される。
【００２４】
プロッタ部２０１は、ライン印刷装置、例えば、インク噴射方式のプロッタ部が用いられており、本実施例では、以下の説明において、このインク噴射方式のプロッタ部が用いられているものとする。プロッタ部２０１は、Ｃ（シアン）、Ｍ（マゼンタ）、Ｙ（イエロー）、Ｋ（ブラック）の各色のインクを吐出するインクジェットヘッド、該インクジェットヘッドを搭載して主走査方向に往復移動するキャリッジ、該キャリッジを主走査方向に往復移動させるキャリッジ駆動部、インクジェットヘッドからのインクが噴射されて画像の形成される用紙（画像形成媒体）を副走査方向に搬送する用紙搬送機構部等を備えており、エンジンＡＳＩＣ２００の出力制御部２１０から送られてくる画像データを、エンジンＣＰＵ２０２の制御下で、インクジェットヘッドから所定ラインを１バンドとして、該１バンド分同時にインクを噴射しつつ該インクジェットヘッドを主走査方向に移動させて１バンド分を同時に用紙に画像形成する。また、プロッタ部２０１は、後述するように、白判定情報に基づき、白バンド（無効スキップバンド）については、インクジェットヘッドの主走査移動を停止させて用紙のみを該スキップバンド分搬送させるスキップ動作を行う。
【００２５】
エンジンＣＰＵ２０２は、エンジンＣＰＵ２０２とエンジンＡＳＩＣ２００とのインターフェイス（Ｉ／Ｆ）であるエンジンＣＰＵ  Ｉ／Ｆ２４０を介してエンジンＡＳＩＣ２００の各機能モジュール２１０〜２３０のレジスタのリード／ライトを行い、また、エンジンＡＳＩＣ２００内の各機能モジュール２１０〜２３０で発生した割り込みが、エンジンＣＰＵ  Ｉ／Ｆ２４０を介して通知されると、該割り込みに対応する処理を実行する。
【００２６】
コントローラＡＳＩＣ１００の入力制御部１１０は、スキャナ部１０１の読み取った原稿の画像データをスキャナ部１０１から受け取り、画像処理コントローラ部１２０に渡す。
【００２７】
画像処理コントローラ部１２０は、入力制御部１１０及びバスアービタ１５０に接続され、バスアービタ１５０、ＰＣＩｅ３及びコントローラＣＰＵ３００を介してデータを読み取るＲＤＭＡＣ（Read Direct Memory Access Controller）１２１及び画像処理コントローラ部１２０で処理済みの画像データをバスアービタ１５０、ＰＣＩｅ３及びコントローラＣＰＵ３００を介してメモリ（データ記憶手段）４００に書き込むＷＤＭＡＣ（Write Direct Memory Access Controller）１２２を搭載している。画像処理コントローラ部１２０は、入力制御部１１０から渡される画像データに対して、フィルタ処理や孤立点除去、編集、変倍処理、ＲＧＢ→ＣＭＹＫ変換等の種々の画像処理を行って、画像処理後のデータをＷＤＭＡＣ１２２によってメモリ４００に書き出す。また、画像処理コントローラ部１２０は、外部記憶制御部１３０との接続パスを介して外部記憶部１０２から読み出された画像データやＲＤＭＡＣ１２１によってメモリ４００から読み取った画像データに対しても必要な画像処理を施して、画像処理後の画像データをＷＤＭＡＣ１２２によってメモリ４００に書き込む。
【００２８】
ＲＤＭＡＣ１２１は、メモリ４００上にコントローラＣＰＵ３００によって用意されたディスクリプタ情報に基づいて、メモリ４００上の画像データを読み込む。
【００２９】
ＷＤＭＡＣ（データ転送制御手段、ライトＤＭＡＣ）１２２は、メモリ４００上にコントローラＣＰＵ３００によって用意されたディスクリプタ情報に基づいて、メモリ４００へのデータライト（データ書き込み）を行う。また、ＷＤＭＡＣ１２２は、白判定部を内蔵しており、この白判定部で、後述するスキップバンド単位で画像データの白判定を行って、白判定結果をディスクリプタ情報に書き戻す。
【００３０】
外部記憶制御部１３０は、外部記憶部１０２及びバスアービタ１５０に接続されており、ＲＤＭＡＣ１３１とＷＤＭＡＣ１３２を搭載している。外部記憶制御部１３０は、画像処理コントローラ部１２０と外部記憶部１０２との直接転送パスを有して、画像処理コントローラ１２０による外部記憶部１０２との間のデータの授受を可能とし、また、ＲＤＭＡＣ１３１及びＷＤＭＡＣ１３２によってメモリ４００と外部記憶部１０２との間での画像データを授受を行う。
【００３１】
モジュール（画像処理手段）１４０は、バスアービタ１５０に接続されており、データ転送制御手段としてＲＤＭＡＣ１４１及びＷＤＭＡＣ１４２を搭載している。モジュール１４０は、ＲＤＭＡＣ１４１によってメモリ４００上の画像データを読み取って、必要な画像処理を施した後、ＷＤＭＡＣ１４２によって画像処理後の画像データをメモリ４００に書き込む。ＲＤＭＡＣ１４１は、メモリ４００のディスクリプタを読み取って該ディスクリプタに基づいてメモリ４００上の画像データを読み込むが、このとき、該ディスクリプタの白判定結果情報をも読み込み、ＲＤＭＡＣ１４１の読み込んだ白判定結果情報をＷＤＭＡＣ１４２に渡して、ＷＤＭＡＣ１４２が、メモリ４００のディスクリプタを読み取って、読み取ったディスクリプタに基づいて画像処理後の画像データをメモリ４００に書き込む際に、ＲＤＭＡＣ１４１から渡された白判定結果もディスクリプタに書き込む。すなわち、モジュール１４０が画像処理を行う画像データに対する白判定結果情報を、ＲＤＭＡＣ１４１とＷＤＭＡＣ１４２の間で受け渡して、該画像データのメモリ４００のディスクリプタに書き戻すことで、白判定結果情報を伝達する。また、モジュール１４０は、ＲＤＭＡＣ１４１によってメモリ４００から読み込んだ画像データに対して施した画像処理の処理結果が白判定結果の内容を変更してしまう場合には、ＷＤＭＡＣ１４２に対して、その旨を通知し、ＷＤＭＡＣ１４２が該変更後の白判定結果でＲＤＭＡＣ１４１から渡された白判定結果情報を書き換えて、メモリ４００のディスクリプタに書き戻す。
【００３２】
バスアービタ１５０は、コントローラＡＳＩＣ１００内の各機能モジュール１２０〜１４０が接続されており、各機能モジュール１２０〜１４０からのデータ転送要求を調停する。
【００３３】
エンジンＡＳＩＣ２００の出力制御部２１０は、バスアービタ２５０及びプロッタ部２０１に接続されており、ＲＤＭＡＣ２１１を搭載している。出力制御部２１０は、ＲＤＭＡＣ（データ転送制御手段、リードＤＭＡＣ）２１１によって、バスアービタ２５０、ＰＣＩｅ３及びコントローラＣＰＵ３００を介して、メモリ４００上のディスクリプタを読み込んで、このディスクリプタに基づいてメモリ４００上に蓄積されている印刷対象の画像データを読み取り、プロッタ部２０１へ出力する。この出力制御部２１０のＲＤＭＡＣ２１１は、メモリ４００から読み取ったディスクリプタに格納されている白判定情報に基づいて、有効バンドのみの読み取りやスキップ制御のための割り込み通知（スキップ通知）をエンジンＣＰＵ２０２に出力する。
【００３４】
モジュール（画像処理手段）２２０及びモジュール（画像処理手段）２３０は、それぞれバスアービタ２５０に接続されており、また、それぞれデータ転送制御手段としてＲＤＭＡＣ２２１とＷＤＭＡＣ２２２及びＲＤＭＡＣ２３１とＷＤＭＡＣ２３２を搭載している。モジュール２２０、２３０は、ＲＤＭＡＣ２２１、２３１によってメモリ４００上の画像データを読み取って、必要な画像処理を施した後、ＷＤＭＡＣ２２２、２３２によって画像処理後の画像データをメモリ４００に書き込む。ＲＤＭＡＣ２２１、２３１は、メモリ４００のディスクリプタを読み取って該ディスクリプタに基づいてメモリ４００上の画像データを読み込むが、このとき、該ディスクリプタの白判定結果情報をも読み込み、ＲＤＭＡＣ２２１、２３１の読み込んだ白判定結果情報をＷＤＭＡＣ２２２、２３２に渡して、ＷＤＭＡＣ２２２、２３２が、メモリ４００のディスクリプタを読み取って、読み取ったディスクリプタに基づいて画像処理後の画像データをメモリ４００に書き込む際に、ＲＤＭＡＣ２２１、２３１から渡された白判定結果もディスクリプタに書き込む。すなわち、モジュール２２０、２３０が画像処理を行う画像データに対する白判定結果情報を、ＲＤＭＡＣ２２１とＷＤＭＡＣ２２２の間及びＲＤＭＡＣ２３１とＷＤＭＡＣ２３２で受け渡して、該画像データのメモリ４００のディスクリプタに書き戻すことで、白判定結果情報を伝達する。また、モジュール２２０、２３０は、ＲＤＭＡＣ２２１、２３１によってメモリ４００から読み込んだ画像データに対して施した画像処理の処理結果が白判定結果の内容を変更してしまう場合には、ＷＤＭＡＣ２２２、２３２に対して、その旨を通知し、ＷＤＭＡＣ２２２、２３２が該変更後の白判定結果でＲＤＭＡＣ２２１、２３１から渡された白判定結果情報を書き換えて、メモリ４００のディスクリプタに書き戻す。
【００３５】
バスアービタ２５０は、エンジンＡＳＩＣ２００内の各機能モジュール２１０〜２３０が接続されており、各機能モジュール２１０〜２３０からのデータ転送要求を調停する。
【００３６】
コントローラＣＰＵ３００は、メモリ４００等に搭載されているプログラムに基づいてメモリ４００の一部をワークメモリとして利用しつつ複合装置１の各部を制御して複合装置１としての処理を実行するとともに、本発明のスキップ処理を伴う画像形成制御処理を実行する。また、コントローラＣＰＵ３００には、ネットワークＩ／Ｆ２が接続されており、ネットワークＩ／Ｆ２には、ホストコンピュータＰｃの接続されている有線または無線のネットワークが接続されている。なお、ネットワークＩ／Ｆ２には、ネットワークを介してホストコンピュータＰｃが接続されているものに限るものではなく、その他のネットワーク機器であってもよい。コントローラ３００は、ホストコンピュータＰｃでユーザによって作成されたＰＤＬ（Page Description Language）データがネットワークＩ／Ｆ２を介して送られてきた画像データをメモリ４００に書き込み、このＰＤＬデータをビットマップイメージへレンダリングするが、この際に、バンド毎（ｌライン毎）に白判定を行って、その白判定結果をディスクリプタに書き込む。したがって、コントローラＣＰＵ３００は、データ転送制御手段としても機能する。
【００３７】
そして、コントローラＣＰＵ３００は、メモリ４００上にディスクリプタを書き込んで、ＤＭＡ転送を行わせるが、このディスクリプタは、図２または図３に示すように、所定ライン数のディスクリプタライン数Ｌからなる分割単位（ディスクリプタバンド）に分割されており、このディスクリプタバンドのライン数Ｌが、所定ライン数からなるスキップバンドのライン数ｍに分割されている。複合装置１は、このスキップバンドのライン数ｍをスキップ処理単位として、スキップ処理する。なお、図２は、ディスクリプタバンドのライン数Ｌを４分割したライン数をスキップバンドのライン数ｍとしている場合を示しており、図３は、ディスクリプタバンドのライン数Ｌを８分割したライン数をスキップバンドのライン数ｍとしている場合を示している。
【００３８】
すなわち、ディスクリプタの分割単位であるディスクリプタバンドのライン数Ｌは、上述のように、コントローラＣＰＵ３００の実行するソフトウェア（プログラム）やメモリ４００の容量等によって決定され、効率的なスキップ処理を実行する単位となるスキップバンドのライン数ｍよりも多いライン数であることが多い。
【００３９】
そこで、本実施例の複合装置１では、図２及び図３に示したように、ディスクリプタバンドのライン数Ｌをスキップバンドのライン数ｍに分割して、ＤＭＡ転送管理を行う。なお、図２及び図３において、ディスクリプタフォーマットの「ネクストディスクリプタアドレス」には、チェーンする次のディスクリプタのアドレス、「画像データ格納先アドレス」には、画像データの保存されているメモリ４００上のスタートアドレス、「ディスクリプタライン数（Ｌ）」は、１ディスクリプタ当たりのライン数、「バンドライン数（ｍ）」は、１スキップバンド当たりのライン数（すなわち、スキップ処理する際のライン数＝白検知を行う単位のライン数）、「白判定結果」には、該ディスクリプタのデータが有効バンド（有効スキップバンド）「１」または空白バンド（無効スキップバンド）「０」のいずれであるかの複数の情報が、それぞれ格納され。白判定情報は、メモリ４００上にディスクリプタを用意する段階では、白判定情報は不明であるため、初期値として「１」が格納されている。また、「モード情報」には、ＤＭＡＣの動作設定が設定される。また、１つのディスクリプタを分割してスキップバンドとする分割数Ｎの値は、ディスクリプタバンドのライン数Ｌとスキップバンドのライン数ｍから計算可能であるが、「モード情報」の中に埋め込むと、回路規模を削減することができる。
【００４０】
そして、白判定結果情報は、図２及び図３では、ディスクリプタのビット幅が３２ｂｉｔであるため、３２（Ｎ＝３２）まで可能であるが、白判定結果のｂｉｔ数を何ｂｉｔ用意するかは、複合装置１のシステム構成に応じて最適な値を適宜決定することができる。図２の場合は、Ｎ＝４であり、白検知結果は、ｂｉｔ０〜ｂｉｔ３までの４ｂｉｔ分が有効で、ｂｉｔ４〜ｂｉｔ３１は無効な領域となる。また、図３の場合は、Ｎ＝８であり、白検知結果は、ｂｉｔ０〜ｂｉｔ７までの８ｂｉｔ分が有効で、ｂｉｔ８〜ｂｉｔ３１は無効な領域となる。
【００４１】
なお、複合装置１は、ＲＯＭ、ＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory ）、ＥＰＲＯＭ、フラッシュメモリ、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory ）、ＣＤ−ＲＷ（Compact Disc Rewritable ）、ＤＶＤ（Digital Versatile Disk）、ＳＤ（Secure Digital）カード、ＭＯ（Magneto-Optical Disc）等のコンピュータが読み取り可能な記録媒体に記録されている本発明の画像形成制御方法を実行する画像形成制御プログラムを読み込んでメモリ４００等に導入することで、後述する白判定に基づく画像データ転送の効率化と該白判定に基づくスキップ処理を伴う画像形成制御方法を実行する画像形成装置として構築されている。この画像形成制御プログラムは、アセンブラ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）等のレガシープログラミング言語やオブジェクト指向ブログラミング言語等で記述されたコンピュータ実行可能なプログラムであり、上記記録媒体に格納して頒布することができる。
【００４２】
次に、本実施例の作用を説明する。本実施例の複合装置１は、メモリ４００上への画像データの書き込みとメモリ４００上からの画像データの読み出しをメモリ４００上のディスクリプタに基づいてＤＭＡＣによって行うが、ＷＤＭＡＣ１２２、ＷＤＭＡＣ１３２またはコントローラＣＰＵ３００が画像データの白判定を行って、白判定結果情報をディスクリプタに書き込み、このディスクリプタに基づいて出力制御部２１のＲＤＭＡＣ２１１がメモリ４００上の画像データを読み出す際に、ディスクリプタの白判定結果情報に基づいて画像データの読み出しを制御するとともに、スキップ処理に必要な割り込み処理を行ってスキップ処理を実行させる。
【００４３】
まず、コピー処理の場合の画像形成制御処理について、説明する。コピー処理の場合、複合装置１は、スキャナ部１０１で読み取った原稿の画像データを、図１に画像転送ラインＤＬ１及び画像転送ラインＤＬ２によって画像データを転送して、プロッタ部２０１で、画像形成する。
【００４４】
すなわち、複合装置１は、スキャナ部１０１で読み取った原稿の画像データを、コントローラＡＳＩＣ１００の入力制御部１１０を介して画像処理コントローラ部１２０に転送し、画像処理コントローラ部１２０が、必要な画像処理を施した後、ＷＤＭＡＣ１２２によって、メモリ４００上のディスクリプタに従ってメモリ４００にＤＭＡ転送する。
【００４５】
このとき、ＷＤＭＡＣ１２２は、図４に示すように、白判定を行って、白判定結果をディスクリプタに書き戻す白判定処理を伴うデータ転送処理を実行する。
【００４６】
すなわち、コントローラＣＰＵ３００は、図４に示すように、メモリ上に画像データ用のディスクリプタを用意し（ステップＳ１０１）、ＷＤＭＡＣ１２２に先頭ディスクリプタのアドレスをセットしてＷＤＭＡＣ１２２を起動させる（ステップＳ１０２）。
【００４７】
ＷＤＭＡＣ１２２は、起動されると、メモリ４００上の先頭ディスクリプタを読み取り（ステップＳ１０３）、該ディスクリプタに基づいて、画像処理コントローラ部１２０によって画像処理された画像データをディスクリプタバンドのライン数分（Ｌライン分）だけメモリ４００にＤＭＡ転送してディスクリプタの画像スタートアドレスで指定されるメモリ４００上に書き込むとともに、転送するＬライン分の画像データに対して、スキップ処理単位であるスキップバンド毎（ｍライン毎）に白判定を行って、該スキップバンド毎の白判定結果を該白判定結果がディスクリプタバンド分になるまで内部レジスタに保持し（ステップＳ１０４）、白判定結果が、Ｌライン分、すなわち、ディスクリプタバンドのライン数Ｌをスキップバンドのライン数ｍで除算した個数になると、１回のＤＭＡ転送分の画像データに対する白判定が完了したとして、白判定結果を該画像データに対するディスクリプタの白判定結果に書き戻す（ステップＳ１０５）。
【００４８】
白判定結果の書き戻しを完了すると、ＷＤＭＡＣ１２２は、ディスクリプタのチェーン先アドレスであるネクストディスクリプタアドレスが最後のディスクリプタであることを示すＮＵＬＬであるかチェックし（ステップＳ１０６）、ＮＵＬＬでないときには、ネクストディスクリプタに移動して（ステップＳ１０７）、ステップＳ１０３に戻って、該ネクストディスクリプタの情報をリードする処理から上記同様に処理することで、画像データのＤＭＡ転送と白判定及び白判定結果のディスクリプタへの書き戻しを行う（ステップＳ１０３〜Ｓ１０７）。
【００４９】
このＷＤＭＡＣ１２２の白判定部による白判定は、単純に１ディスクリプタの分割領域である１スキップバンド中に白以外の画像が１つでもあれば有効バンドとする単純白判定だけでなく、他の白判定手法を用いてもよい。例えば、白判定部は、有効画素と判定する画素値や有効画素の連続量、１スキップバンド中の有効画素の総量等に閾値を設けて、それらの情報を総合して白判定を行ってもよい。また、画像処理コントローラ部１２０内に孤立点除去機能部を備えているときには、スキャナ部１０１で原稿画像を読み取る際のノイズやゴミ等を予め孤立点除去処理によって除去した後、白判定を行ってもよい。
【００５０】
そして、ステップＳ１０６で、ディスクリプタのネクストディスクリプタアドレスがＮＵＬＬであると、全ての画像データの転送を完了したと判断して、処理を終了する。
【００５１】
次に、コントローラＣＰＵ３００は、プロッタ部２０１での画像データの画像形成タイミングになると、図５に示すように、有効バンドのみを画像データを読み取る画像データ転送処理を行う。このとき、複合装置１は、画像データを、画像転送ラインＤＬ２によってメモリ４００からプロッタ部２０１に転送する。
【００５２】
すなわち、コントローラＣＰＵ３００は、プロッタ部２０１での画像形成タイミングになると、出力制御部２１０のＲＤＭＡＣ２１１にメモリ４００の先頭ディスクリプタのアドレスをセットしてＲＤＭＡＣ２１１を起動する（ステップＳ２０１）。ＲＤＭＡＣ２１１は、起動されると、セットされたディスクリプタの情報を読み取り（ステップＳ２０２）、読み取ったディスクリプタ情報をＲＤＭＡＣ２１１内部のレジスタ（例えば、図６に示すアドレス情報レジスタ２１２、白判定結果レジスタ２１３）に格納して（ステップＳ２０３）、バンド数をカウントするための変数ｉを「１」にセットする（ステップＳ２０４）。
【００５３】
次に、ＲＤＭＡＣ２１１は、ｉ番目のバンドが白バンドであるか否かをディスクリプタ情報の白判定結果情報を格納した白判定結果レジスタ２１３の情報から判断し（ステップＳ２０５）、ｉ番目のバンドが白バンドではなく、有効バンドであると、アドレス情報レジスタ２１２を順次インクリメントして、メモリ４００上から該アドレスの有効な画像データをリードして（読み出して）、プロッタ部２０１に転送出力する（ステップＳ２０６）。プロッタ部２０１は、出力制御部２１０からバンド毎に転送されてくる画像データに基づいて、バンド毎に用紙に画像形成して、１バンド画像形成すると、画像形成した１バンド分だけ用紙を搬送する（ステップＳ２０７）。
【００５４】
次に、ＲＤＭＡＣ２１１は、ｉバンドはそのディスクリプタ内の最終バンド（ｉ＝Ｎ）であるかチェックし（ステップＳ２０８）、最終バンドでないときには、ステップＳ２０５に戻って、ｉ番目のバンドが白バンドであるかの判定から、上記同様に処理する（ステップＳ２０５〜Ｓ２０８）。
【００５５】
ステップＳ２０５で、ＲＤＭＡＣ２１１は、ｉ番目のバンドが白バンドであると、アドレス情報レジスタ２１２を１バンド分インクリメントし、白バンドを含むスキップバンドのデータリードを行わずに（ステップＳ２０９）、エンジンＣＰＵ２０２に白バンド（無効スキップバンド）である旨を割り込み通知する（ステップＳ２１０）。
【００５６】
エンジンＣＰＵ２０２は、ＲＤＭＡＣ２１１から白バンドの割り込み通知が入ると、プロッタ部２０１に動作指示を行って、該白バンドについては、インクジェットヘッドの主走査移動を停止させて用紙のみを該スキップバンド分搬送させるスキップ動作を行わせる（ステップＳ２１１）。
【００５７】
ＲＤＭＡＣ２１１は、スキップ処理（白バンド）を通知すると、ｉバンドはディスクリプタ内の最終バンドであるかチェックし（ステップＳ２０８）、最終バンドでないときには、ステップＳ２０５に戻って、上記同様に処理する（ステップＳ２０５〜Ｓ２１１）。
【００５８】
ステップＳ２０８で、ｉバンドがそのディスクリプタの最終バンドであると、ディスクリプタのネクストディスクリプタアドレス（チェーン先アドレス）がＮＵＬＬであるかチェックし（ステップＳ２１２）、ＮＵＬＬでないときには、ネクストディスクリプタに移動して（ステップＳ２１３）、ステップＳ２０２に戻って、ネクストディスクリプタの情報をリードする処理から上記同様に処理することで、有効バンドの画像データのみをメモリ４００からプロッタ２０１に転送するデータ転送処理を行う（ステップＳ２０２〜Ｓ２１３）。
【００５９】
複合装置１は、出力制御部２１０のＲＤＭＡＣ２１１による有効バンドの画像データのみをメモリ４００からプロッタ部２０１に転送し、白バンドについては、スキップ通知を行って、エンジンＣＰＵ２０２の制御下でスキップ処理を行わせる画像データ転送処理を行う。
【００６０】
ステップＳ２１２で、ディスクリプタのチェーン先アドレス（ネクストディスクリプタアドレス）がＮＵＬＬであると、画像データの最後まで画像データの転送を完了したと判断して、画像データ転送処理を終了する。
【００６１】
ＲＤＭＡＣ２１１は、図６に示すように、メモリ４００上のディスクリプタ情報をリードして、画像データスタートアドレスや白判定結果をＲＤＭＡＣ２１１内部のレジスタ（アドレス情報レジスタ２１２、白判定結果レジスタ２１３）へ格納する。このアドレス情報レジスタ２１２は、メモリ４００上のデータ転送元のアドレスである。ＲＤＭＡＣ２１１は、該ディスクリプタ内の１バンド目の白判定結果を参照し、該バンドが有効バンドであると、アドレス情報レジスタ２１２を順次インクリメントして、メモリ４００上から有効な画像データをリードしてプロッタ部２０１へ転送する。ＲＤＭＡＣ２１１は、該バンドが白バンドであると、アドレス情報レジスタ２１２に設定されているメモリイメージ幅（MWIDTH）とディスクリプタに格納されている１バンドのライン数から次のバンドの格納先アドレスを計算し、白バンドのデータリードを行わずに、アドレス情報レジスタ２１２に設定することで、白バンドを転送せずに、有効な画像データが格納されているメモリ４００上のアドレスを知ることができる。そして、ＲＤＭＡＣ２１１は、エンジンＣＰＵ２０２に対して該バンドが白バンドである旨を割り込み通知し、エンジンＣＰＵ２０２がプロッタ部２０１に対してスキップ処理を指示する。この動作を１ディスクリプタの転送が完了するまで繰り返し行い、１ディスクリプタの転送が完了すると、ネクストディスクリプタアドレスの情報に基づき次のディスクリプタを読み込んで、上記同様に処理する。
【００６２】
そして、図６の場合、出力制御部２１０のＲＤＭＡＣ２１１は、ディスクリプタを読み込んでレジスタに格納すると、アドレス情報レジスタ２１２には、画像のスタートアドレスであるアドレス「B1_START」が設定される。ここで、図６の場合、最初のバンド（バンド１）は有効バンドと判定されているため、ＲＤＭＡＣ２１１は、アドレスB1_STARTから転送元アドレスを示すアドレス情報レジスタ２１２の値を、B1_START+4、B1_START+8、B1_START+12・・・というように、順次インクリメントしながらバンド１のデータ転送を行う。なお、ＲＤＭＡＣ２１１は、画像データをバースト転送を行う場合は、アドレスをバーストの単位でインクリメントする。
【００６３】
図６の場合、次のバンド２は白バンドであるため、ＲＤＭＡＣ２１１は、上述のように、レジスタに設定されているメモリイメージ幅（MWIDTH）とバンド幅ｍから次のバンド（バンド３）の転送開始アドレス「B3_START」を計算し、アドレス情報レジスタ２１２に設定する。これによって、白バンドであるバンド２のデータ転送が行われないことになる。
【００６４】
図６の場合、バンド３はバンド２と同様に白バンドであるため、ＲＤＭＡＣ２１１は、データ転送を行わずに、転送開始アドレス「B4_START」を計算し、アドレス情報レジスタ２１２に設定する。
【００６５】
さらに、図６の場合、バンド４は、有効バンドであるため、バンド４ではバンド１と同様に、アドレスB4_STARTから転送元アドレスを示すアドレス情報レジスタ２１２の値を順次インクリメントしながらバンド４の画像データの転送を行う。
【００６６】
次に、図１に、画像転送ラインＤＬ３で示すように、外部記憶部１０２上に記憶されている画像データをプロッタ部２０１に転送して画像形成する場合の白判定と画像データ転送処理について説明する。
【００６７】
外部記憶制御部１３０は、ＲＤＭＡＣ１３１とＷＤＭＡＣ１３２を搭載しており、ＷＤＭＡＣ１３２は、画像処理コントローラ部１２０のＷＤＭＡＣ１２２と同様の機能を有している。すなわち、外部記憶制御部１３０は、外部記憶部１０２に蓄積された画像データを読み出してメモリ４００に転送する場合、外部記憶制御部１３０の搭載するＷＤＭＡＣ１３２が、メモリ４００上のディスクリプタを読み出して、該ディスクリプタに基づいて、外部記憶部１０２から読み出された画像データをメモリ４００に転送するとともに、画像処理コントローラ部１２０のＷＤＭＡＣ１２２と同様に、ＷＤＭＡＣ１３２内部の白判定部が、該画像データの白判定を行って、白判定結果をディスクリプタに書き戻す。
【００６８】
したがって、外部記憶部１０２に蓄積された画像データに対しても、外部記憶制御部１３０のＷＤＭＡＣ１３２で白判定を行って、読み取り原稿画像データと同様に、メモリ４００のディスクリプタに白判定結果情報として、書き込むことができる。
【００６９】
この外部記憶部１０２から読み出してメモリ４００に書き込まれた画像データを、プロッタ部２０１に転送して画像形成する場合には、スキャナ部１０１で読み取った画像データの場合と同様であって、ＲＤＭＡＣ２１１は、ディスクリプタに基づいて該ディスクリプタの白判定結果に有効スキップバンドとして登録されているスキップバンドの画像データのみをプロッタ部２０１に転送し、無効スキップバンド（白バンド）につては、エンジンＣＰＵ２０２にスキップ通知を出して、エンジンＣＰＵ２０２の制御下で、プロッタ部２０１にスキップ動作を行わせる。
【００７０】
次に、図１に画像転送ラインＤＬ４で示すように、ネットワークＩ／Ｆ２を介してホストコンピュータＰｃ等から送信されてくるＰＤＬデータを、プロッタ部２０１に転送して画像形成する場合の白判定と画像データ転送処理について説明する。
【００７１】
複合装置１は、ホストコンピュータＰｃ等からＰＤＬデータが送信されてくると、コントローラ３００の制御下で、ネットワークＩ／Ｆ２が受け取って、コントローラＣＰＵ３００が、該ＰＤＬデータをビットマップイメージへレンダリングするが、このＰＤＬデータのビットマップイメージへのレンダリングの際に、スキップバンド毎（ｍライン毎）に白判定を行い、その白判定結果をディスクリプタに書き込む。
【００７２】
このホストコンピュータＰｃ等からのＰＤＬデータをレンダリングしてメモリ４００に書き込まれた画像データを、プロッタ部２０１に転送して画像形成する場合も、スキャナ部１０１で読み取った画像データの場合と同様である。
【００７３】
そして、複合装置１は、一旦メモリ４００に保管した画像データに対して、モジュール１４０、モジュール２２０、モジュール２３０等において、再度必要な画像処理を施すことがある。
【００７４】
このような場合、各モジュール１４０、２２０、２３０は、その搭載するＲＤＭＡＣ１４１、２２１、２３１によってメモリ４００上の画像データを読み取って、必要な画像処理を施した後、ＷＤＭＡＣ１４２、２２２、２３２によって画像処理後の画像データをメモリ４００に書き込む。ＲＤＭＡＣ１４１、２２１、２３２は、メモリ４００のディスクリプタを読み取って該ディスクリプタに基づいてメモリ４００上の画像データを読み込むが、このとき、該ディスクリプタの白判定結果情報をも読み込み、ＲＤＭＡＣ１４１、２２１、２３１の読み込んだ白判定結果情報をＷＤＭＡＣ１４２、２２２、２３２に渡して、ＷＤＭＡＣ１４２、２２２、２３２が、メモリ４００のディスクリプタを読み取って、読み取ったディスクリプタに基づいて画像処理後の画像データをメモリ４００に書き込む際に、ＲＤＭＡＣ１４１、２２１、２３１から渡された白判定結果もディスクリプタに書き込む。すなわち、モジュール１４０、２２０、２３０が画像処理を行う画像データに対する白判定結果情報を、ＲＤＭＡＣ１４１とＷＤＭＡＣ１４２、ＲＤＭＡＣ２２１とＷＤＭＡＣ２２２及びＲＤＭＡＣ２３１とＷＤＭＡＣ２３２の間で受け渡して、該画像データのメモリ４００のディスクリプタに書き戻すことで、白判定結果情報を伝達する。また、モジュール１４０、２２０、２３０は、ＲＤＭＡＣ１４１、２２１、２３１によってメモリ４００から読み込んだ画像データに対して施した画像処理の処理結果が白判定結果の内容を変更してしまう場合には、ＷＤＭＡＣ１４２、２２２、２３２に対して、その旨を通知し、ＷＤＭＡＣ１４２、２２２、２３２が該変更後の白判定結果でＲＤＭＡＣ１４１、２２１、２３１から渡された白判定結果情報を書き換えて、メモリ４００のディスクリプタに書き戻す。
【００７５】
このように、本実施例の複合装置１は、バンド毎に記録ヘッドを主走査方向に移動させて用紙に画像形成して画像形成後に用紙のみを該バンド分だけ副走査方向に搬送するプロッタ部２０１で画像形成させるために、データ転送制御手段であるＷＤＭＡＣ１２２によって、画像データを一旦メモリ４００に、１バンドのライン数を所定整数倍したライン数からなるディスクリプタバンド毎の画像データの転送情報を有するディスクリプタに基づいて書き込んだ後、該ディスクリプタに基づいて画像データをプロッタ部２０１に転送する場合に、画像データをメモリ４００に転送する際に、ＷＤＭＡＣ１２２によって白判定を行って、連続白画素数が該ディスクリプタバンドを所定の整数で分割したスキップバンドになると、無効スキップバンドとし、該スキップバンドに白画素以外の有効画素が存在すると、有効スキップバンドとする白判定結果情報を生成して該ディスクリプタに書き戻して、メモリ４００からプロッタ部２０１に該画像データを該ディスクリプタに基づいて転送する際に、該ディスクリプタの該白判定結果情報に該無効スキップバンドとして登録されているスキップバンドについては、エンジンＣＰＵ２０２にスキップ通知を出力して、記録ヘッドの主走査移動を停止させて用紙のみをスキップバンド分搬送させるスキップ動作を行わせている。
【００７６】
したがって、ディスクリプタバンド単位よりもバンド数の少ないスキップバンド毎の画像データに対する白判定結果情報をディスクリプタに登録して、スキップ処理に必要な白判定結果情報を画像データの転送に伴って伝達可能とすることができるとともに、スキップ処理効率を向上させることができる。
【００７７】
また、本実施例の複合装置１は、ディスクリプタの白判定結果情報とメモリ４００のイメージ幅に基づいて、有効スキップバンドの画像データの格納されているメモリ４００のアドレスを算出し、該有効スキップバンドの画像データのみをメモリ４００に転送している。
【００７８】
したがって、メモリ４００から有効画像データのみを読み出してプロッタ部２０１へ転送して、処理速度を向上させることができ、生産性を向上させることができる。
【００７９】
さらに、本実施例の複合装置１は、画像処理コントローラ部１２０のＷＤＭＡＣ１２２が、画像データを前記ディスクリプタに基づいて前記データ記憶手段に書き込むとともに、該画像データに対して前記白判定を行って、前記白判定結果情報を該ディスクリプタに書き戻し、出力制御部２１０のＲＤＭＡＣ２１１が、メモリ４００からプロッタ部２０１に画像データをディスクリプタに基づいて転送する際に、該ディスクリプタの白判定結果情報に無効スキップバンドとして登録されているスキップバンドについては、スキップ通知を出力する。
【００８０】
したがって、既存のハードウェア構成を利用して、安価にディスクリプタバンド単位よりもバンド数の少ないスキップバンド毎の画像データに対する白判定結果情報をディスクリプタに登録して、スキップ処理に必要な白判定結果情報を画像データの転送に伴って伝達可能とすることができるとともに、スキップ処理効率を安価に向上させることができる。
【００８１】
また、本実施例の複合装置１は、原稿画像を読み取るスキャナ部１０１から入力される画像データ、外部記憶部１０２から入力される画像データ及びホストコンピュータＰｃから転送されてくる画像データを、処理対象の画像データとして処理している。
【００８２】
したがって、スキャナ部１０１で読み取った画像データだけでなく、外部記憶部１０２に保管されている画像データを外部記憶制御部１３０のＲＤＭＡＣ１３１によってメモリ４００に転送して保管することができるとともに、画像データの白判定を行って白判定結果情報をメモリ４００のディスクリプタに記録することができ、また、ホストコンピュータＰｃからの画像データを、コントローラＣＰＵ３００がメモリ４００に保管するとともに、画像データの白判定を行って白判定結果をメモリ４００のディスクリプタに記録することができる。その結果、各種入力形態で入力される画像データに対して、スキップ処理に必要な白判定結果情報を画像データの転送に伴って伝達可能とすることができるとともに、スキップ処理効率を安価に向上させることができる。
【００８３】
さらに、本実施例の複合装置１は、コントローラ３００が、ネットワークＩ／Ｆ２を介してホストコンピュータＰｃから送られてくる画像データがＰＤＬデータであると、該ＰＤＬデータをレンダリングする際に、１ライン毎に白判定を行って、白判定結果をメモリ４００のディスクリプタに書き込んでいる。
【００８４】
したがって、ホストコンピュータＰｃからのプリント要求に対しても、安価にディスクリプタバンド単位よりもバンド数の少ないスキップバンド毎の画像データに対する白判定結果情報をディスクリプタに登録して、スキップ処理に必要な白判定結果情報を画像データの転送に伴って伝達可能とすることができるとともに、スキップ処理効率を安価に向上させることができる。
【００８５】
また、本実施例の複合装置１は、モジュール１４０、２２０、２３０が、その搭載するＲＤＭＡＣ１４１、２２１、２３１によってメモリ４００上の画像データを読み取って、必要な画像処理を施した後、ＷＤＭＡＣ１４２、２２２、２３２によって画像処理後の画像データをメモリ４００に書き込む際に、ＲＤＭＡＣ１４１、２２１、２３２が、メモリ４００のディスクリプタを読み取って該ディスクリプタに基づいてメモリ４００上の画像データを読み込むときに、該ディスクリプタの白判定結果情報をも読み込み、ＲＤＭＡＣ１４１、２２１、２３１の読み込んだ白判定結果情報をＷＤＭＡＣ１４２、２２２、２３２に渡して、ＷＤＭＡＣ１４２、２２２、２３２が、メモリ４００のディスクリプタを読み取って、読み取ったディスクリプタに基づいて画像処理後の画像データをメモリ４００に書き込む際に、ＲＤＭＡＣ１４１、２２１、２３１から渡された白判定結果もディスクリプタに書き込む。また、モジュール１４０、２２０、２３０は、ＲＤＭＡＣ１４１、２２１、２３１によってメモリ４００から読み込んだ画像データに対して施した画像処理の処理結果が白判定結果の内容を変更してしまう場合には、ＷＤＭＡＣ１４２、２２２、２３２に対して、その旨を通知し、ＷＤＭＡＣ１４２、２２２、２３２が該変更後の白判定結果でＲＤＭＡＣ１４１、２２１、２３１から渡された白判定結果情報を書き換えて、メモリ４００のディスクリプタに書き戻す。
【００８６】
したがって、一旦メモリ４００に書き込んだ画像データに画像処理を施す場合にも、白判定結果を適切に受け渡すことができるとともに、画像処理によって白判定結果が変化する場合にも変化後の白判定結果をディスクリプタに登録して受け継ぐことができ、スキップ処理を適切に行うことができる。
【００８７】
なお、上記説明においては、スキップ処理単位が１バンド（プロッタ部２０１で記録ヘッドが１回主走査移動して書き込むライン数と同じライン数（ｍライン）である、すなわち、スキップバンドと１バンドが同じライン数であるとしているが、スキップバンドは、１バンドである必要はなく、複数バンドをスキップバンドとしてもよいが、スキップバンドが、ディスクリプタのライン数Ｌ、すなわち、ディスクリプタのバンド数と同じバンド数になると、通常、スキップの利用効率が悪いバンド数になるので、スキップバンド数は、ディスクリプタのバンド（ディスクリプタバンド）数を２以上の整数で分割したバンド数であることが望ましい。
【００８８】
また、上記各説明においては、画像データをメモリ４００に書き込む際、無効バンドについても全ての画像データを書き込むことを前提として、ディスクリプタの生成を行っているが、無効スキップバンドの画像データについては、メモリ４００への書き込みを行わずに、有効スキップバンドの画像データのみをメモリ４００に書き込むようにしてもよい。
【００８９】
すなわち、例えば、画像処理コントローラ部１２０のＷＤＭＡＣ１２２の場合、ＷＤＭＡＣ１２２は、スキップバンドのライン数ｍとレジスタに設定されるメモリ４００のメモリ幅からｍライン毎にアドレス管理を行い、白判定によって無効スキップバンドであると判定したスキップバンドの画像データは、メモリ４００への書き込みを行わないか、白判定によって有効スキップバンドであると判定された次の有効スキップバンドの画像データによって上書きすることで、メモリ４００上には、有効スキップバンドの画像データのみを格納する。
【００９０】
このようにして有効スキップバンドの画像データのみを格納したメモリ４００から画像データを復元する際、すなわち、ＲＤＭＡＣ２１１等で読み出すときには、ディスクリプタの白判定結果に、スキップバンド毎の白判定結果情報が記録されているため、このディスクリプタの白判定結果情報とメモリ４００のアドレス管理に基づいて、無効スキップバンドの画像データを再現することができる。
【００９１】
このようにすると、メモリ４００のメモリ容量を削減することができ、メモリ４００の利用効率を向上させることができる。
【００９２】
また、本実施例の複合装置１は、ディスクリプタの分割単位であるディスクリプタバンドのライン数Ｌを所定の整数Ｎで除算したライン数を、スキップ処理の処理単位であるスキップバンドのライン数であるスキップライン数ｍとし、白判定をスキップバンドのライン数ｍ毎に行って、ＤＭＡのデータ転送については、ディスクリプタバンドのライン数Ｌ毎に分割されたディスクリプタをもとに行っている。
【００９３】
そして、ディスクリプタの白判定結果情報に、１ディスクリプタ当たり、１ｂｉｔの情報ではなく、複数ｂｉｔを用意し、０〜Ｎ−１ｂｉｔ目までの情報を有効としている。
【００９４】
したがって、ディスクリプタ数を増やすことなく、ディスクリプタバンドよりも細かい単位でスキップ処理を行うことができるとともに、Ｌ＝Ｎｘｌの条件の範囲であればディスクリプタの分割単位Ｌを固定した状態で、スキップ処理単位ｍの変動に対応することができる。
【００９５】
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記実施例で説明したものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【００９６】
本発明は、スキップ処理を行うプリンタ装置、複合装置、複写装置等の画像形成装置、画像形成制御方法、画像形成制御プログラム及び記録媒体に利用することができる。
【符号の説明】
【００９７】
１  複合装置
２  ネットワークＩ／Ｆ
１００  コントローラＡＳＩＣ
１０１  スキャナ部
１０２  外部記憶部
１１０  入力制御部
１２０  画像処理コントローラ部
１３０  外部記憶制御部
１４０  機能モジュール
１４１  ＲＤＭＡＣ
１４２  ＷＤＭＡＣ
１５０  バスアービタ
２００  エンジンＡＳＩＣ
２０１  プロッタ部
２０２  エンジンＣＰＵ
２１０  出力制御部
２１１  ＲＤＭＡＣ
２２０、２３０  機能モジュール
２２１  ＲＤＭＡＣ
２２２  ＷＤＭＡＣ
２３１  ＲＤＭＡＣ
２３２  ＷＤＭＡＣ
２４０  エンジンＣＰＵ  Ｉ／Ｆ
２５０  バスアービタ
３００  コントローラＣＰＵ
４００  メモリ
Ｐｃ  ホストコンピュータ
【先行技術文献】
【特許文献】
【００９８】
【特許文献１】特公平６−３６５４６号公報
【特許文献２】２０００−１２７５１０号公報
【特許文献３】特開２００２−１４０２８８号公報
【図１】
2011056728.tif 000003
【図２】
2011056728.tif 000004
【図３】
2011056728.tif 000005
【図４】
2011056728.tif 000006
【図５】
2011056728.tif 000007
【図６】
2011056728.tif 000008