説明

画像形成装置、画像形成制御方法、画像形成制御プログラム及び記録媒体

【課題】本発明は、スキップ処理を伴うバンド画像を形成する際のデータ転送を効率的に行う画像形成装置、画像形成制御方法、画像形成制御プログラム及び記録媒体に関する。
【解決手段】複合装置1は、スキャナ部101で読み取った画像データを、画像処理コントロール部120のWDMAC122によって、メモリ400にディスクリプタに基づいて転送した後、該ディスクリプタに基づいてプロッタ部201に転送する場合に、WDMAC122が、ディスクリプタバンドを分割したスキップバンド毎に無効スキップバンドと有効スキップバンドを判定する白判定を画像データに対して行って得た白判定結果情報をディスクリプタに書き戻して、メモリ400からプロッタ部201に該画像データを転送する際に、該ディスクリプタの白判定結果情報に無効スキップバンドについてはスキップ通知を出力してプロッタ部201にスキップ動作を行わせる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像形成装置、画像形成制御方法、画像形成制御プログラム及び記録媒体に関し、詳細には、バンド毎にドット画像を形成するとともにスキップ処理を行う際のデータ転送を効率的に行う画像形成装置、画像形成制御方法、画像形成制御プログラム及び記録媒体に関する。
【背景技術】
【0002】
プリンタ装置、複写装置、ファクシミリ装置、複合装置等の画像形成装置においては、従来から、画像形成処理をページ単位で行うレーザプリンタ等のページ画像形成装置とライン単位で画像形成処理を行うインクジェットプリンタ等のライン画像形成装置とがある。ページ画像形成装置は、画像処理を行うシステムコントローラが、スキャナ部で原稿を読み取った読み取り画像データや外部コンピュータ等から受信した受信画像データを処理する画像処理部から画像データを受け取ってメモリに1ページ分の画像データを蓄積すると、必要な画像処理を行った後、画像形成を制御するエンジンコントローラに画像データを転送し、エンジンコントローラが、1ページ分の画像データを受け取ると、必要な画像処理を施して実際に画像形成する画像形成エンジンに適切なタイミングで該1ページ分の画像データを出力してページ単位で画像形成する。
【0003】
ライン画像形成装置は、システムコントローラが、読み取り画像データや受信画像データを処理する画像処理部から画像データを受け取ってメモリに所定量の画像データを蓄積すると、必要な画像処理を行った後、画像形成を制御するエンジンコントローラに画像データを転送し、エンジンコントローラが、受け取った画像データをバンド単位(ライン単位または複数ライン単位)で画像形成エンジンに適切なタイミングで出力して、バンド単位で画像形成させる。
【0004】
また、ライン画像形成装置においては、従来から、画像形成速度の高速化を図るために、画像データに基づいて画素毎に印刷ヘッドを主走査方向に往復移動させつつ印字する際に、1ライン以上の連続した空白ドットの画像データが存在すると、次に空白以外の画像データが存在するまで、印刷ヘッドの往復移動を停止し、空白ライン分用紙搬送を行う、いわゆる副走査方向のスキップ処理を行うことにより、画像形成速度の高速化を図った技術が提案されている(特許文献1、特許文献2等参照)。
【0005】
また、画像形成速度の高速化を図るためには、画像データの転送を効率的に行う必要がある。そして、従来、画像データの転送を行うDMAC(Direct Memory Access Controller :DMAコントローラ)が画像データの転送に際して参照するメモリ上のディスクリプタ情報に、該ディスクリプタの分割単位で、該分割単位のディスクリプタの示す画像データが全白の無効データであるのか、白以外の有効データが存在するのかの白判定情報を持たせ、該白判定情報に基づいてデータ転送を行う技術が提案されている(特許文献3参照)。
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記従来技術にあっては、ディスクリプタに白判定情報を持たせてデータ転送を指示しているが、白判定情報がディスクリプタの分割単位において画像データが無効データであるのか有効データであるのかの情報を持たせているため、このデータ転送技術を、ライン画像形成装置におけるスキップ処理に利用する場合、ディスクリプタの分割単位は、コントローラのソフトウェアやメモリ容量等によって決定されるが、一般的に、スキップ処理の単位よりも大きいため、ディスクリプタが占有するメモリ容量が増大してメモリの利用効率が低下したり、処理が煩雑になるおそれがある。
【0007】
すなわち、スキップ処理を行うためにはスキップ処理を行う単位での白判定情報が必要となる。この白判定情報は白判定を行う箇所から実際にスキップ制御を行う箇所へ伝達する必要がある。この伝達方法としては、白判定結果を、白判定を行うASIC(Application Specific Integrated Circuit)のレジスタに格納する方法やメモリに書き出す方法等も考ええられるが、これらの方法では画像データの転送に加えて白判定情報を個別に扱わなくてはならず、処理効率が悪い。そこで、上記従来技術を利用して、白判定情報をDMACのディスクリプタ情報に持たせることで、データ転送と同時に白判定結果を後段の処理部へ伝達することができる。
【0008】
この場合、従来技術を適用すると、ディスクリプタの分割単位の画像に対する白判定情報を該分割単位で持たせることになるが、このディスクリプタの分割単位は、上述のように、コントローラのソフトウェアやメモリ容量等によって決定され、スキップ処理の単位は、インクジェットヘッドの幅等のライン画像形成装置におけるエンジン側の要因で決定されるため、ディスクリプタの分割単位とスキップ処理の単位は異なる値となり、一般的に、ディスクリプタの分割単位の方が、スキップ処理の単位よりも大きい。その結果、スキップ処理の単位でのデータ転送に対応させるためにディスクリプタの単位を小さくすると、ディスクリプタの数が多くなり、ディスクリプタに必要なメモリ領域が増大する。また、DMA転送する際にも、ディスクリプタリードの回数が増え、データ転送のオーバヘッドが大きくなって、データ転送効率が悪化するおそれがある。
【0009】
逆に、ディスクリプタの分割単位に合わせてスキップ処理を行うと、スキップ処理単位のライン数が多くなり、形成画像におけるスキップ処理の対象となる確立が少なくなって、生産性、処理速度が低下することとなる。
【0010】
また、スキップ処理単位は、一般的に、動作モード(カラー/モノクロ、解像度等)によって異なる処理単位に設定されるが、この場合、ディスクリプタの分割単位をスキップの処理単位に設定すると、動作モードによって異なる分割単位や数のディスクリプタを用意する必要があり、ソフトウェア処理が煩雑となるという問題がある。
【0011】
そこで、本発明は、ディスクリプタバンド単位よりもバンド数の少ないスキップバンド毎の画像データに対する白判定結果情報をディスクリプタに登録して、スキップ処理に必要な白判定結果情報を画像データの転送に伴って伝達可能とするとともに、スキップ処理効率を向上させることのできる画像形成装置、画像形成制御方法、画像形成制御プログラム及び記録媒体を提供することを目的としている。
【課題を解決するための手段】
【0012】
本発明は、上記目的を達成するために、バンド毎に記録ヘッドを主走査方向に移動させて画像形成媒体に画像形成して画像形成後に画像形成媒体のみを該バンド分だけ副走査方向に搬送する画像形成手段で画像形成させるために、画像データを一旦データ記憶手段に、1バンドのライン数を所定整数倍したライン数からなるディスクリプタバンド毎の該画像データの転送情報を有するディスクリプタに基づいて書き込んだ後、該ディスクリプタに基づいて画像形成手段に画像データを転送する場合に、前記画像データをデータ記憶手段に転送する際に、白判定を行って、連続白画素数が該ディスクリプタバンドを所定の整数で分割したスキップバンドになると、無効スキップバンドとし、該スキップバンドに白画素以外の有効画素が存在すると、有効スキップバンドとする白判定結果情報を生成して該ディスクリプタに書き戻して、該データ記憶手段から該画像形成手段に該画像データを該ディスクリプタに基づいて転送する際に、該ディスクリプタの該白判定結果情報に該無効スキップバンドとして登録されているスキップバンドについては、スキップ通知を出力して、記録ヘッドの主走査移動を停止させて前記画像形成媒体のみを前記スキップバンド分搬送させるスキップ動作を行わせることを特徴としている。
【0013】
また、本発明は、前記白判定結果情報と前記データ記憶手段のイメージ幅に基づいて、前記有効スキップバンドの画像データの格納されている該データ記憶手段のアドレスを算出し、該有効スキップバンドの画像データのみを前記画像形成手段に転送することを特徴としてもよい。
【0014】
さらに、本発明は、前記データ記憶手段の前記画像データを前記ディスクリプタに基づいて読み出して、該画像データに対して所定の画像処理を施した後に、該ディスクリプタに基づいて該データ記憶手段に書き戻す場合に、画像処理後の画像データに対して白判定を行って、該データ記憶手段から読み取った該ディスクリプタの白判定結果情報と異なる白判定結果となったスキップバンドについては、新たな白判定結果を該ディスクリプタの該白判定結果情報に書き戻すことを特徴としてもよい。
【発明の効果】
【0015】
本発明によれば、ディスクリプタバンド単位よりもバンド数の少ないスキップバンド毎の画像データに対する白判定結果情報をディスクリプタに登録して、スキップ処理に必要な白判定結果情報を画像データの転送に伴って伝達可能とすることができるとともに、スキップ処理効率を向上させることができる。
【図面の簡単な説明】
【0016】
【図1】本発明の一実施例を適用した複合装置のブロック構成図。
【図2】1単位のディスクリプタを4分割する場合のディスクリプタフォーマットの一例を示す図。
【図3】1単位のディスクリプタを8分割する場合のディスクリプタフォーマットの一例を示す図。
【図4】白判定と白判定結果のディスクリプタへの書き戻しを伴う画像データ転送処理を示すフローチャート。
【図5】有効バンドの画像データのみを転送する画像データ転送処理を示すフローチャート。
【図6】有効バンドの画像データのみを転送する画像データ転送処理の説明図。
【発明を実施するための形態】
【0017】
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるので、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明によって不当に限定されるものではなく、また、本実施の形態で説明される構成の全てが本発明の必須の構成要件ではない。
【実施例1】
【0018】
図1〜図5は、本発明の画像形成装置、画像形成制御方法、画像形成制御プログラム及び記録媒体の一実施例を示す図であり、図1は、本発明の画像形成装置、画像形成制御方法、画像形成制御プログラム及び記録媒体の一実施例を適用した複合装置1のブロック構成図である。
【0019】
図1において、複合装置1は、コントローラASIC100、エンジンASIC200、コントローラCPU(Central Processing Unit )300及びメモリ400を主要部として備えており、コントローラCPU300には、ネットワークI/F2が接続されている。複合装置1は、図示しないが、さらに、外部公衆回線等を利用してファクシミリ通信を行うファクシミリ通信部、操作表示部等を備えており、ネットワークI/F2には、LAN(Local Area Network)等のネットワークを介して画像データの転送を行う外部装置としてのホストコンピュータPcが接続される。
【0020】
コントローラASIC100には、スキャナ部101及び外部記憶部102等が接続され、エンジンASIC200には、プロッタ部201とエンジンCPU202等が接続されている。コントローラASIC100及びエンジンASIC200とコントローラCPU300とは、要求と応答が分離されていて応答を待たずに次の要求を発行できる高速スプリットトランザクションのバスであるPCIe(Peripheral Component Interconnect Express)3によって接続されている。PCIe3は、複数のレーン(伝送路)が束ねられることによってシリアル信号で高速なデータ転送が可能であり、片方向で2.5Gbps、双方向で5.0Gbpsの全二重通信を行うことができる。
【0021】
コントローラASIC100は、入力制御部110、画像処理コントローラ部120、外部記憶制御部130、機能モジュール140及びバスアービタ150等を搭載しており、エンジンASIC200は、出力制御部210、その他の機能モジュール220、230、エンジンCPU I/F240及びバスアービタ250等を搭載している。
【0022】
スキャナ部(読取手段)101は、例えば、CCD(Charge Coupled Device )を利用したカラーイメージスキャナ等が利用されており、一般に、ADF(自動原稿送り装置)を備えている。ADFには、複数枚の原稿がセットされ、ADFは、セットされた原稿を1枚ずつスキャナ部101の原稿読取位置に送給する。スキャナ部101は、ADFから搬送されてきた原稿を走査し、原稿のカラー画像を所定の解像度で読み取って、RGBのカラー画像信号をデジタル変換した後、コントローラASIC100の入力制御部110に出力する。
【0023】
外部記憶部(外部記憶装置)102は、ハードディスク、SSD(Solid State Drive)、SD(Secure Digital)カード等が用いられ、コントローラASIC100の外部記憶制御部130の制御下で画像データ等が書き込まれ、また、読み出される。
【0024】
プロッタ部201は、ライン印刷装置、例えば、インク噴射方式のプロッタ部が用いられており、本実施例では、以下の説明において、このインク噴射方式のプロッタ部が用いられているものとする。プロッタ部201は、C(シアン)、M(マゼンタ)、Y(イエロー)、K(ブラック)の各色のインクを吐出するインクジェットヘッド、該インクジェットヘッドを搭載して主走査方向に往復移動するキャリッジ、該キャリッジを主走査方向に往復移動させるキャリッジ駆動部、インクジェットヘッドからのインクが噴射されて画像の形成される用紙(画像形成媒体)を副走査方向に搬送する用紙搬送機構部等を備えており、エンジンASIC200の出力制御部210から送られてくる画像データを、エンジンCPU202の制御下で、インクジェットヘッドから所定ラインを1バンドとして、該1バンド分同時にインクを噴射しつつ該インクジェットヘッドを主走査方向に移動させて1バンド分を同時に用紙に画像形成する。また、プロッタ部201は、後述するように、白判定情報に基づき、白バンド(無効スキップバンド)については、インクジェットヘッドの主走査移動を停止させて用紙のみを該スキップバンド分搬送させるスキップ動作を行う。
【0025】
エンジンCPU202は、エンジンCPU202とエンジンASIC200とのインターフェイス(I/F)であるエンジンCPU I/F240を介してエンジンASIC200の各機能モジュール210〜230のレジスタのリード/ライトを行い、また、エンジンASIC200内の各機能モジュール210〜230で発生した割り込みが、エンジンCPU I/F240を介して通知されると、該割り込みに対応する処理を実行する。
【0026】
コントローラASIC100の入力制御部110は、スキャナ部101の読み取った原稿の画像データをスキャナ部101から受け取り、画像処理コントローラ部120に渡す。
【0027】
画像処理コントローラ部120は、入力制御部110及びバスアービタ150に接続され、バスアービタ150、PCIe3及びコントローラCPU300を介してデータを読み取るRDMAC(Read Direct Memory Access Controller)121及び画像処理コントローラ部120で処理済みの画像データをバスアービタ150、PCIe3及びコントローラCPU300を介してメモリ(データ記憶手段)400に書き込むWDMAC(Write Direct Memory Access Controller)122を搭載している。画像処理コントローラ部120は、入力制御部110から渡される画像データに対して、フィルタ処理や孤立点除去、編集、変倍処理、RGB→CMYK変換等の種々の画像処理を行って、画像処理後のデータをWDMAC122によってメモリ400に書き出す。また、画像処理コントローラ部120は、外部記憶制御部130との接続パスを介して外部記憶部102から読み出された画像データやRDMAC121によってメモリ400から読み取った画像データに対しても必要な画像処理を施して、画像処理後の画像データをWDMAC122によってメモリ400に書き込む。
【0028】
RDMAC121は、メモリ400上にコントローラCPU300によって用意されたディスクリプタ情報に基づいて、メモリ400上の画像データを読み込む。
【0029】
WDMAC(データ転送制御手段、ライトDMAC)122は、メモリ400上にコントローラCPU300によって用意されたディスクリプタ情報に基づいて、メモリ400へのデータライト(データ書き込み)を行う。また、WDMAC122は、白判定部を内蔵しており、この白判定部で、後述するスキップバンド単位で画像データの白判定を行って、白判定結果をディスクリプタ情報に書き戻す。
【0030】
外部記憶制御部130は、外部記憶部102及びバスアービタ150に接続されており、RDMAC131とWDMAC132を搭載している。外部記憶制御部130は、画像処理コントローラ部120と外部記憶部102との直接転送パスを有して、画像処理コントローラ120による外部記憶部102との間のデータの授受を可能とし、また、RDMAC131及びWDMAC132によってメモリ400と外部記憶部102との間での画像データを授受を行う。
【0031】
モジュール(画像処理手段)140は、バスアービタ150に接続されており、データ転送制御手段としてRDMAC141及びWDMAC142を搭載している。モジュール140は、RDMAC141によってメモリ400上の画像データを読み取って、必要な画像処理を施した後、WDMAC142によって画像処理後の画像データをメモリ400に書き込む。RDMAC141は、メモリ400のディスクリプタを読み取って該ディスクリプタに基づいてメモリ400上の画像データを読み込むが、このとき、該ディスクリプタの白判定結果情報をも読み込み、RDMAC141の読み込んだ白判定結果情報をWDMAC142に渡して、WDMAC142が、メモリ400のディスクリプタを読み取って、読み取ったディスクリプタに基づいて画像処理後の画像データをメモリ400に書き込む際に、RDMAC141から渡された白判定結果もディスクリプタに書き込む。すなわち、モジュール140が画像処理を行う画像データに対する白判定結果情報を、RDMAC141とWDMAC142の間で受け渡して、該画像データのメモリ400のディスクリプタに書き戻すことで、白判定結果情報を伝達する。また、モジュール140は、RDMAC141によってメモリ400から読み込んだ画像データに対して施した画像処理の処理結果が白判定結果の内容を変更してしまう場合には、WDMAC142に対して、その旨を通知し、WDMAC142が該変更後の白判定結果でRDMAC141から渡された白判定結果情報を書き換えて、メモリ400のディスクリプタに書き戻す。
【0032】
バスアービタ150は、コントローラASIC100内の各機能モジュール120〜140が接続されており、各機能モジュール120〜140からのデータ転送要求を調停する。
【0033】
エンジンASIC200の出力制御部210は、バスアービタ250及びプロッタ部201に接続されており、RDMAC211を搭載している。出力制御部210は、RDMAC(データ転送制御手段、リードDMAC)211によって、バスアービタ250、PCIe3及びコントローラCPU300を介して、メモリ400上のディスクリプタを読み込んで、このディスクリプタに基づいてメモリ400上に蓄積されている印刷対象の画像データを読み取り、プロッタ部201へ出力する。この出力制御部210のRDMAC211は、メモリ400から読み取ったディスクリプタに格納されている白判定情報に基づいて、有効バンドのみの読み取りやスキップ制御のための割り込み通知(スキップ通知)をエンジンCPU202に出力する。
【0034】
モジュール(画像処理手段)220及びモジュール(画像処理手段)230は、それぞれバスアービタ250に接続されており、また、それぞれデータ転送制御手段としてRDMAC221とWDMAC222及びRDMAC231とWDMAC232を搭載している。モジュール220、230は、RDMAC221、231によってメモリ400上の画像データを読み取って、必要な画像処理を施した後、WDMAC222、232によって画像処理後の画像データをメモリ400に書き込む。RDMAC221、231は、メモリ400のディスクリプタを読み取って該ディスクリプタに基づいてメモリ400上の画像データを読み込むが、このとき、該ディスクリプタの白判定結果情報をも読み込み、RDMAC221、231の読み込んだ白判定結果情報をWDMAC222、232に渡して、WDMAC222、232が、メモリ400のディスクリプタを読み取って、読み取ったディスクリプタに基づいて画像処理後の画像データをメモリ400に書き込む際に、RDMAC221、231から渡された白判定結果もディスクリプタに書き込む。すなわち、モジュール220、230が画像処理を行う画像データに対する白判定結果情報を、RDMAC221とWDMAC222の間及びRDMAC231とWDMAC232で受け渡して、該画像データのメモリ400のディスクリプタに書き戻すことで、白判定結果情報を伝達する。また、モジュール220、230は、RDMAC221、231によってメモリ400から読み込んだ画像データに対して施した画像処理の処理結果が白判定結果の内容を変更してしまう場合には、WDMAC222、232に対して、その旨を通知し、WDMAC222、232が該変更後の白判定結果でRDMAC221、231から渡された白判定結果情報を書き換えて、メモリ400のディスクリプタに書き戻す。
【0035】
バスアービタ250は、エンジンASIC200内の各機能モジュール210〜230が接続されており、各機能モジュール210〜230からのデータ転送要求を調停する。
【0036】
コントローラCPU300は、メモリ400等に搭載されているプログラムに基づいてメモリ400の一部をワークメモリとして利用しつつ複合装置1の各部を制御して複合装置1としての処理を実行するとともに、本発明のスキップ処理を伴う画像形成制御処理を実行する。また、コントローラCPU300には、ネットワークI/F2が接続されており、ネットワークI/F2には、ホストコンピュータPcの接続されている有線または無線のネットワークが接続されている。なお、ネットワークI/F2には、ネットワークを介してホストコンピュータPcが接続されているものに限るものではなく、その他のネットワーク機器であってもよい。コントローラ300は、ホストコンピュータPcでユーザによって作成されたPDL(Page Description Language)データがネットワークI/F2を介して送られてきた画像データをメモリ400に書き込み、このPDLデータをビットマップイメージへレンダリングするが、この際に、バンド毎(lライン毎)に白判定を行って、その白判定結果をディスクリプタに書き込む。したがって、コントローラCPU300は、データ転送制御手段としても機能する。
【0037】
そして、コントローラCPU300は、メモリ400上にディスクリプタを書き込んで、DMA転送を行わせるが、このディスクリプタは、図2または図3に示すように、所定ライン数のディスクリプタライン数Lからなる分割単位(ディスクリプタバンド)に分割されており、このディスクリプタバンドのライン数Lが、所定ライン数からなるスキップバンドのライン数mに分割されている。複合装置1は、このスキップバンドのライン数mをスキップ処理単位として、スキップ処理する。なお、図2は、ディスクリプタバンドのライン数Lを4分割したライン数をスキップバンドのライン数mとしている場合を示しており、図3は、ディスクリプタバンドのライン数Lを8分割したライン数をスキップバンドのライン数mとしている場合を示している。
【0038】
すなわち、ディスクリプタの分割単位であるディスクリプタバンドのライン数Lは、上述のように、コントローラCPU300の実行するソフトウェア(プログラム)やメモリ400の容量等によって決定され、効率的なスキップ処理を実行する単位となるスキップバンドのライン数mよりも多いライン数であることが多い。
【0039】
そこで、本実施例の複合装置1では、図2及び図3に示したように、ディスクリプタバンドのライン数Lをスキップバンドのライン数mに分割して、DMA転送管理を行う。なお、図2及び図3において、ディスクリプタフォーマットの「ネクストディスクリプタアドレス」には、チェーンする次のディスクリプタのアドレス、「画像データ格納先アドレス」には、画像データの保存されているメモリ400上のスタートアドレス、「ディスクリプタライン数(L)」は、1ディスクリプタ当たりのライン数、「バンドライン数(m)」は、1スキップバンド当たりのライン数(すなわち、スキップ処理する際のライン数=白検知を行う単位のライン数)、「白判定結果」には、該ディスクリプタのデータが有効バンド(有効スキップバンド)「1」または空白バンド(無効スキップバンド)「0」のいずれであるかの複数の情報が、それぞれ格納され。白判定情報は、メモリ400上にディスクリプタを用意する段階では、白判定情報は不明であるため、初期値として「1」が格納されている。また、「モード情報」には、DMACの動作設定が設定される。また、1つのディスクリプタを分割してスキップバンドとする分割数Nの値は、ディスクリプタバンドのライン数Lとスキップバンドのライン数mから計算可能であるが、「モード情報」の中に埋め込むと、回路規模を削減することができる。
【0040】
そして、白判定結果情報は、図2及び図3では、ディスクリプタのビット幅が32bitであるため、32(N=32)まで可能であるが、白判定結果のbit数を何bit用意するかは、複合装置1のシステム構成に応じて最適な値を適宜決定することができる。図2の場合は、N=4であり、白検知結果は、bit0〜bit3までの4bit分が有効で、bit4〜bit31は無効な領域となる。また、図3の場合は、N=8であり、白検知結果は、bit0〜bit7までの8bit分が有効で、bit8〜bit31は無効な領域となる。
【0041】
なお、複合装置1は、ROM、EEPROM(Electrically Erasable and Programmable Read Only Memory )、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory )、CD−RW(Compact Disc Rewritable )、DVD(Digital Versatile Disk)、SD(Secure Digital)カード、MO(Magneto-Optical Disc)等のコンピュータが読み取り可能な記録媒体に記録されている本発明の画像形成制御方法を実行する画像形成制御プログラムを読み込んでメモリ400等に導入することで、後述する白判定に基づく画像データ転送の効率化と該白判定に基づくスキップ処理を伴う画像形成制御方法を実行する画像形成装置として構築されている。この画像形成制御プログラムは、アセンブラ、C、C++、C#、Java(登録商標)等のレガシープログラミング言語やオブジェクト指向ブログラミング言語等で記述されたコンピュータ実行可能なプログラムであり、上記記録媒体に格納して頒布することができる。
【0042】
次に、本実施例の作用を説明する。本実施例の複合装置1は、メモリ400上への画像データの書き込みとメモリ400上からの画像データの読み出しをメモリ400上のディスクリプタに基づいてDMACによって行うが、WDMAC122、WDMAC132またはコントローラCPU300が画像データの白判定を行って、白判定結果情報をディスクリプタに書き込み、このディスクリプタに基づいて出力制御部21のRDMAC211がメモリ400上の画像データを読み出す際に、ディスクリプタの白判定結果情報に基づいて画像データの読み出しを制御するとともに、スキップ処理に必要な割り込み処理を行ってスキップ処理を実行させる。
【0043】
まず、コピー処理の場合の画像形成制御処理について、説明する。コピー処理の場合、複合装置1は、スキャナ部101で読み取った原稿の画像データを、図1に画像転送ラインDL1及び画像転送ラインDL2によって画像データを転送して、プロッタ部201で、画像形成する。
【0044】
すなわち、複合装置1は、スキャナ部101で読み取った原稿の画像データを、コントローラASIC100の入力制御部110を介して画像処理コントローラ部120に転送し、画像処理コントローラ部120が、必要な画像処理を施した後、WDMAC122によって、メモリ400上のディスクリプタに従ってメモリ400にDMA転送する。
【0045】
このとき、WDMAC122は、図4に示すように、白判定を行って、白判定結果をディスクリプタに書き戻す白判定処理を伴うデータ転送処理を実行する。
【0046】
すなわち、コントローラCPU300は、図4に示すように、メモリ上に画像データ用のディスクリプタを用意し(ステップS101)、WDMAC122に先頭ディスクリプタのアドレスをセットしてWDMAC122を起動させる(ステップS102)。
【0047】
WDMAC122は、起動されると、メモリ400上の先頭ディスクリプタを読み取り(ステップS103)、該ディスクリプタに基づいて、画像処理コントローラ部120によって画像処理された画像データをディスクリプタバンドのライン数分(Lライン分)だけメモリ400にDMA転送してディスクリプタの画像スタートアドレスで指定されるメモリ400上に書き込むとともに、転送するLライン分の画像データに対して、スキップ処理単位であるスキップバンド毎(mライン毎)に白判定を行って、該スキップバンド毎の白判定結果を該白判定結果がディスクリプタバンド分になるまで内部レジスタに保持し(ステップS104)、白判定結果が、Lライン分、すなわち、ディスクリプタバンドのライン数Lをスキップバンドのライン数mで除算した個数になると、1回のDMA転送分の画像データに対する白判定が完了したとして、白判定結果を該画像データに対するディスクリプタの白判定結果に書き戻す(ステップS105)。
【0048】
白判定結果の書き戻しを完了すると、WDMAC122は、ディスクリプタのチェーン先アドレスであるネクストディスクリプタアドレスが最後のディスクリプタであることを示すNULLであるかチェックし(ステップS106)、NULLでないときには、ネクストディスクリプタに移動して(ステップS107)、ステップS103に戻って、該ネクストディスクリプタの情報をリードする処理から上記同様に処理することで、画像データのDMA転送と白判定及び白判定結果のディスクリプタへの書き戻しを行う(ステップS103〜S107)。
【0049】
このWDMAC122の白判定部による白判定は、単純に1ディスクリプタの分割領域である1スキップバンド中に白以外の画像が1つでもあれば有効バンドとする単純白判定だけでなく、他の白判定手法を用いてもよい。例えば、白判定部は、有効画素と判定する画素値や有効画素の連続量、1スキップバンド中の有効画素の総量等に閾値を設けて、それらの情報を総合して白判定を行ってもよい。また、画像処理コントローラ部120内に孤立点除去機能部を備えているときには、スキャナ部101で原稿画像を読み取る際のノイズやゴミ等を予め孤立点除去処理によって除去した後、白判定を行ってもよい。
【0050】
そして、ステップS106で、ディスクリプタのネクストディスクリプタアドレスがNULLであると、全ての画像データの転送を完了したと判断して、処理を終了する。
【0051】
次に、コントローラCPU300は、プロッタ部201での画像データの画像形成タイミングになると、図5に示すように、有効バンドのみを画像データを読み取る画像データ転送処理を行う。このとき、複合装置1は、画像データを、画像転送ラインDL2によってメモリ400からプロッタ部201に転送する。
【0052】
すなわち、コントローラCPU300は、プロッタ部201での画像形成タイミングになると、出力制御部210のRDMAC211にメモリ400の先頭ディスクリプタのアドレスをセットしてRDMAC211を起動する(ステップS201)。RDMAC211は、起動されると、セットされたディスクリプタの情報を読み取り(ステップS202)、読み取ったディスクリプタ情報をRDMAC211内部のレジスタ(例えば、図6に示すアドレス情報レジスタ212、白判定結果レジスタ213)に格納して(ステップS203)、バンド数をカウントするための変数iを「1」にセットする(ステップS204)。
【0053】
次に、RDMAC211は、i番目のバンドが白バンドであるか否かをディスクリプタ情報の白判定結果情報を格納した白判定結果レジスタ213の情報から判断し(ステップS205)、i番目のバンドが白バンドではなく、有効バンドであると、アドレス情報レジスタ212を順次インクリメントして、メモリ400上から該アドレスの有効な画像データをリードして(読み出して)、プロッタ部201に転送出力する(ステップS206)。プロッタ部201は、出力制御部210からバンド毎に転送されてくる画像データに基づいて、バンド毎に用紙に画像形成して、1バンド画像形成すると、画像形成した1バンド分だけ用紙を搬送する(ステップS207)。
【0054】
次に、RDMAC211は、iバンドはそのディスクリプタ内の最終バンド(i=N)であるかチェックし(ステップS208)、最終バンドでないときには、ステップS205に戻って、i番目のバンドが白バンドであるかの判定から、上記同様に処理する(ステップS205〜S208)。
【0055】
ステップS205で、RDMAC211は、i番目のバンドが白バンドであると、アドレス情報レジスタ212を1バンド分インクリメントし、白バンドを含むスキップバンドのデータリードを行わずに(ステップS209)、エンジンCPU202に白バンド(無効スキップバンド)である旨を割り込み通知する(ステップS210)。
【0056】
エンジンCPU202は、RDMAC211から白バンドの割り込み通知が入ると、プロッタ部201に動作指示を行って、該白バンドについては、インクジェットヘッドの主走査移動を停止させて用紙のみを該スキップバンド分搬送させるスキップ動作を行わせる(ステップS211)。
【0057】
RDMAC211は、スキップ処理(白バンド)を通知すると、iバンドはディスクリプタ内の最終バンドであるかチェックし(ステップS208)、最終バンドでないときには、ステップS205に戻って、上記同様に処理する(ステップS205〜S211)。
【0058】
ステップS208で、iバンドがそのディスクリプタの最終バンドであると、ディスクリプタのネクストディスクリプタアドレス(チェーン先アドレス)がNULLであるかチェックし(ステップS212)、NULLでないときには、ネクストディスクリプタに移動して(ステップS213)、ステップS202に戻って、ネクストディスクリプタの情報をリードする処理から上記同様に処理することで、有効バンドの画像データのみをメモリ400からプロッタ201に転送するデータ転送処理を行う(ステップS202〜S213)。
【0059】
複合装置1は、出力制御部210のRDMAC211による有効バンドの画像データのみをメモリ400からプロッタ部201に転送し、白バンドについては、スキップ通知を行って、エンジンCPU202の制御下でスキップ処理を行わせる画像データ転送処理を行う。
【0060】
ステップS212で、ディスクリプタのチェーン先アドレス(ネクストディスクリプタアドレス)がNULLであると、画像データの最後まで画像データの転送を完了したと判断して、画像データ転送処理を終了する。
【0061】
RDMAC211は、図6に示すように、メモリ400上のディスクリプタ情報をリードして、画像データスタートアドレスや白判定結果をRDMAC211内部のレジスタ(アドレス情報レジスタ212、白判定結果レジスタ213)へ格納する。このアドレス情報レジスタ212は、メモリ400上のデータ転送元のアドレスである。RDMAC211は、該ディスクリプタ内の1バンド目の白判定結果を参照し、該バンドが有効バンドであると、アドレス情報レジスタ212を順次インクリメントして、メモリ400上から有効な画像データをリードしてプロッタ部201へ転送する。RDMAC211は、該バンドが白バンドであると、アドレス情報レジスタ212に設定されているメモリイメージ幅(MWIDTH)とディスクリプタに格納されている1バンドのライン数から次のバンドの格納先アドレスを計算し、白バンドのデータリードを行わずに、アドレス情報レジスタ212に設定することで、白バンドを転送せずに、有効な画像データが格納されているメモリ400上のアドレスを知ることができる。そして、RDMAC211は、エンジンCPU202に対して該バンドが白バンドである旨を割り込み通知し、エンジンCPU202がプロッタ部201に対してスキップ処理を指示する。この動作を1ディスクリプタの転送が完了するまで繰り返し行い、1ディスクリプタの転送が完了すると、ネクストディスクリプタアドレスの情報に基づき次のディスクリプタを読み込んで、上記同様に処理する。
【0062】
そして、図6の場合、出力制御部210のRDMAC211は、ディスクリプタを読み込んでレジスタに格納すると、アドレス情報レジスタ212には、画像のスタートアドレスであるアドレス「B1_START」が設定される。ここで、図6の場合、最初のバンド(バンド1)は有効バンドと判定されているため、RDMAC211は、アドレスB1_STARTから転送元アドレスを示すアドレス情報レジスタ212の値を、B1_START+4、B1_START+8、B1_START+12・・・というように、順次インクリメントしながらバンド1のデータ転送を行う。なお、RDMAC211は、画像データをバースト転送を行う場合は、アドレスをバーストの単位でインクリメントする。
【0063】
図6の場合、次のバンド2は白バンドであるため、RDMAC211は、上述のように、レジスタに設定されているメモリイメージ幅(MWIDTH)とバンド幅mから次のバンド(バンド3)の転送開始アドレス「B3_START」を計算し、アドレス情報レジスタ212に設定する。これによって、白バンドであるバンド2のデータ転送が行われないことになる。
【0064】
図6の場合、バンド3はバンド2と同様に白バンドであるため、RDMAC211は、データ転送を行わずに、転送開始アドレス「B4_START」を計算し、アドレス情報レジスタ212に設定する。
【0065】
さらに、図6の場合、バンド4は、有効バンドであるため、バンド4ではバンド1と同様に、アドレスB4_STARTから転送元アドレスを示すアドレス情報レジスタ212の値を順次インクリメントしながらバンド4の画像データの転送を行う。
【0066】
次に、図1に、画像転送ラインDL3で示すように、外部記憶部102上に記憶されている画像データをプロッタ部201に転送して画像形成する場合の白判定と画像データ転送処理について説明する。
【0067】
外部記憶制御部130は、RDMAC131とWDMAC132を搭載しており、WDMAC132は、画像処理コントローラ部120のWDMAC122と同様の機能を有している。すなわち、外部記憶制御部130は、外部記憶部102に蓄積された画像データを読み出してメモリ400に転送する場合、外部記憶制御部130の搭載するWDMAC132が、メモリ400上のディスクリプタを読み出して、該ディスクリプタに基づいて、外部記憶部102から読み出された画像データをメモリ400に転送するとともに、画像処理コントローラ部120のWDMAC122と同様に、WDMAC132内部の白判定部が、該画像データの白判定を行って、白判定結果をディスクリプタに書き戻す。
【0068】
したがって、外部記憶部102に蓄積された画像データに対しても、外部記憶制御部130のWDMAC132で白判定を行って、読み取り原稿画像データと同様に、メモリ400のディスクリプタに白判定結果情報として、書き込むことができる。
【0069】
この外部記憶部102から読み出してメモリ400に書き込まれた画像データを、プロッタ部201に転送して画像形成する場合には、スキャナ部101で読み取った画像データの場合と同様であって、RDMAC211は、ディスクリプタに基づいて該ディスクリプタの白判定結果に有効スキップバンドとして登録されているスキップバンドの画像データのみをプロッタ部201に転送し、無効スキップバンド(白バンド)につては、エンジンCPU202にスキップ通知を出して、エンジンCPU202の制御下で、プロッタ部201にスキップ動作を行わせる。
【0070】
次に、図1に画像転送ラインDL4で示すように、ネットワークI/F2を介してホストコンピュータPc等から送信されてくるPDLデータを、プロッタ部201に転送して画像形成する場合の白判定と画像データ転送処理について説明する。
【0071】
複合装置1は、ホストコンピュータPc等からPDLデータが送信されてくると、コントローラ300の制御下で、ネットワークI/F2が受け取って、コントローラCPU300が、該PDLデータをビットマップイメージへレンダリングするが、このPDLデータのビットマップイメージへのレンダリングの際に、スキップバンド毎(mライン毎)に白判定を行い、その白判定結果をディスクリプタに書き込む。
【0072】
このホストコンピュータPc等からのPDLデータをレンダリングしてメモリ400に書き込まれた画像データを、プロッタ部201に転送して画像形成する場合も、スキャナ部101で読み取った画像データの場合と同様である。
【0073】
そして、複合装置1は、一旦メモリ400に保管した画像データに対して、モジュール140、モジュール220、モジュール230等において、再度必要な画像処理を施すことがある。
【0074】
このような場合、各モジュール140、220、230は、その搭載するRDMAC141、221、231によってメモリ400上の画像データを読み取って、必要な画像処理を施した後、WDMAC142、222、232によって画像処理後の画像データをメモリ400に書き込む。RDMAC141、221、232は、メモリ400のディスクリプタを読み取って該ディスクリプタに基づいてメモリ400上の画像データを読み込むが、このとき、該ディスクリプタの白判定結果情報をも読み込み、RDMAC141、221、231の読み込んだ白判定結果情報をWDMAC142、222、232に渡して、WDMAC142、222、232が、メモリ400のディスクリプタを読み取って、読み取ったディスクリプタに基づいて画像処理後の画像データをメモリ400に書き込む際に、RDMAC141、221、231から渡された白判定結果もディスクリプタに書き込む。すなわち、モジュール140、220、230が画像処理を行う画像データに対する白判定結果情報を、RDMAC141とWDMAC142、RDMAC221とWDMAC222及びRDMAC231とWDMAC232の間で受け渡して、該画像データのメモリ400のディスクリプタに書き戻すことで、白判定結果情報を伝達する。また、モジュール140、220、230は、RDMAC141、221、231によってメモリ400から読み込んだ画像データに対して施した画像処理の処理結果が白判定結果の内容を変更してしまう場合には、WDMAC142、222、232に対して、その旨を通知し、WDMAC142、222、232が該変更後の白判定結果でRDMAC141、221、231から渡された白判定結果情報を書き換えて、メモリ400のディスクリプタに書き戻す。
【0075】
このように、本実施例の複合装置1は、バンド毎に記録ヘッドを主走査方向に移動させて用紙に画像形成して画像形成後に用紙のみを該バンド分だけ副走査方向に搬送するプロッタ部201で画像形成させるために、データ転送制御手段であるWDMAC122によって、画像データを一旦メモリ400に、1バンドのライン数を所定整数倍したライン数からなるディスクリプタバンド毎の画像データの転送情報を有するディスクリプタに基づいて書き込んだ後、該ディスクリプタに基づいて画像データをプロッタ部201に転送する場合に、画像データをメモリ400に転送する際に、WDMAC122によって白判定を行って、連続白画素数が該ディスクリプタバンドを所定の整数で分割したスキップバンドになると、無効スキップバンドとし、該スキップバンドに白画素以外の有効画素が存在すると、有効スキップバンドとする白判定結果情報を生成して該ディスクリプタに書き戻して、メモリ400からプロッタ部201に該画像データを該ディスクリプタに基づいて転送する際に、該ディスクリプタの該白判定結果情報に該無効スキップバンドとして登録されているスキップバンドについては、エンジンCPU202にスキップ通知を出力して、記録ヘッドの主走査移動を停止させて用紙のみをスキップバンド分搬送させるスキップ動作を行わせている。
【0076】
したがって、ディスクリプタバンド単位よりもバンド数の少ないスキップバンド毎の画像データに対する白判定結果情報をディスクリプタに登録して、スキップ処理に必要な白判定結果情報を画像データの転送に伴って伝達可能とすることができるとともに、スキップ処理効率を向上させることができる。
【0077】
また、本実施例の複合装置1は、ディスクリプタの白判定結果情報とメモリ400のイメージ幅に基づいて、有効スキップバンドの画像データの格納されているメモリ400のアドレスを算出し、該有効スキップバンドの画像データのみをメモリ400に転送している。
【0078】
したがって、メモリ400から有効画像データのみを読み出してプロッタ部201へ転送して、処理速度を向上させることができ、生産性を向上させることができる。
【0079】
さらに、本実施例の複合装置1は、画像処理コントローラ部120のWDMAC122が、画像データを前記ディスクリプタに基づいて前記データ記憶手段に書き込むとともに、該画像データに対して前記白判定を行って、前記白判定結果情報を該ディスクリプタに書き戻し、出力制御部210のRDMAC211が、メモリ400からプロッタ部201に画像データをディスクリプタに基づいて転送する際に、該ディスクリプタの白判定結果情報に無効スキップバンドとして登録されているスキップバンドについては、スキップ通知を出力する。
【0080】
したがって、既存のハードウェア構成を利用して、安価にディスクリプタバンド単位よりもバンド数の少ないスキップバンド毎の画像データに対する白判定結果情報をディスクリプタに登録して、スキップ処理に必要な白判定結果情報を画像データの転送に伴って伝達可能とすることができるとともに、スキップ処理効率を安価に向上させることができる。
【0081】
また、本実施例の複合装置1は、原稿画像を読み取るスキャナ部101から入力される画像データ、外部記憶部102から入力される画像データ及びホストコンピュータPcから転送されてくる画像データを、処理対象の画像データとして処理している。
【0082】
したがって、スキャナ部101で読み取った画像データだけでなく、外部記憶部102に保管されている画像データを外部記憶制御部130のRDMAC131によってメモリ400に転送して保管することができるとともに、画像データの白判定を行って白判定結果情報をメモリ400のディスクリプタに記録することができ、また、ホストコンピュータPcからの画像データを、コントローラCPU300がメモリ400に保管するとともに、画像データの白判定を行って白判定結果をメモリ400のディスクリプタに記録することができる。その結果、各種入力形態で入力される画像データに対して、スキップ処理に必要な白判定結果情報を画像データの転送に伴って伝達可能とすることができるとともに、スキップ処理効率を安価に向上させることができる。
【0083】
さらに、本実施例の複合装置1は、コントローラ300が、ネットワークI/F2を介してホストコンピュータPcから送られてくる画像データがPDLデータであると、該PDLデータをレンダリングする際に、1ライン毎に白判定を行って、白判定結果をメモリ400のディスクリプタに書き込んでいる。
【0084】
したがって、ホストコンピュータPcからのプリント要求に対しても、安価にディスクリプタバンド単位よりもバンド数の少ないスキップバンド毎の画像データに対する白判定結果情報をディスクリプタに登録して、スキップ処理に必要な白判定結果情報を画像データの転送に伴って伝達可能とすることができるとともに、スキップ処理効率を安価に向上させることができる。
【0085】
また、本実施例の複合装置1は、モジュール140、220、230が、その搭載するRDMAC141、221、231によってメモリ400上の画像データを読み取って、必要な画像処理を施した後、WDMAC142、222、232によって画像処理後の画像データをメモリ400に書き込む際に、RDMAC141、221、232が、メモリ400のディスクリプタを読み取って該ディスクリプタに基づいてメモリ400上の画像データを読み込むときに、該ディスクリプタの白判定結果情報をも読み込み、RDMAC141、221、231の読み込んだ白判定結果情報をWDMAC142、222、232に渡して、WDMAC142、222、232が、メモリ400のディスクリプタを読み取って、読み取ったディスクリプタに基づいて画像処理後の画像データをメモリ400に書き込む際に、RDMAC141、221、231から渡された白判定結果もディスクリプタに書き込む。また、モジュール140、220、230は、RDMAC141、221、231によってメモリ400から読み込んだ画像データに対して施した画像処理の処理結果が白判定結果の内容を変更してしまう場合には、WDMAC142、222、232に対して、その旨を通知し、WDMAC142、222、232が該変更後の白判定結果でRDMAC141、221、231から渡された白判定結果情報を書き換えて、メモリ400のディスクリプタに書き戻す。
【0086】
したがって、一旦メモリ400に書き込んだ画像データに画像処理を施す場合にも、白判定結果を適切に受け渡すことができるとともに、画像処理によって白判定結果が変化する場合にも変化後の白判定結果をディスクリプタに登録して受け継ぐことができ、スキップ処理を適切に行うことができる。
【0087】
なお、上記説明においては、スキップ処理単位が1バンド(プロッタ部201で記録ヘッドが1回主走査移動して書き込むライン数と同じライン数(mライン)である、すなわち、スキップバンドと1バンドが同じライン数であるとしているが、スキップバンドは、1バンドである必要はなく、複数バンドをスキップバンドとしてもよいが、スキップバンドが、ディスクリプタのライン数L、すなわち、ディスクリプタのバンド数と同じバンド数になると、通常、スキップの利用効率が悪いバンド数になるので、スキップバンド数は、ディスクリプタのバンド(ディスクリプタバンド)数を2以上の整数で分割したバンド数であることが望ましい。
【0088】
また、上記各説明においては、画像データをメモリ400に書き込む際、無効バンドについても全ての画像データを書き込むことを前提として、ディスクリプタの生成を行っているが、無効スキップバンドの画像データについては、メモリ400への書き込みを行わずに、有効スキップバンドの画像データのみをメモリ400に書き込むようにしてもよい。
【0089】
すなわち、例えば、画像処理コントローラ部120のWDMAC122の場合、WDMAC122は、スキップバンドのライン数mとレジスタに設定されるメモリ400のメモリ幅からmライン毎にアドレス管理を行い、白判定によって無効スキップバンドであると判定したスキップバンドの画像データは、メモリ400への書き込みを行わないか、白判定によって有効スキップバンドであると判定された次の有効スキップバンドの画像データによって上書きすることで、メモリ400上には、有効スキップバンドの画像データのみを格納する。
【0090】
このようにして有効スキップバンドの画像データのみを格納したメモリ400から画像データを復元する際、すなわち、RDMAC211等で読み出すときには、ディスクリプタの白判定結果に、スキップバンド毎の白判定結果情報が記録されているため、このディスクリプタの白判定結果情報とメモリ400のアドレス管理に基づいて、無効スキップバンドの画像データを再現することができる。
【0091】
このようにすると、メモリ400のメモリ容量を削減することができ、メモリ400の利用効率を向上させることができる。
【0092】
また、本実施例の複合装置1は、ディスクリプタの分割単位であるディスクリプタバンドのライン数Lを所定の整数Nで除算したライン数を、スキップ処理の処理単位であるスキップバンドのライン数であるスキップライン数mとし、白判定をスキップバンドのライン数m毎に行って、DMAのデータ転送については、ディスクリプタバンドのライン数L毎に分割されたディスクリプタをもとに行っている。
【0093】
そして、ディスクリプタの白判定結果情報に、1ディスクリプタ当たり、1bitの情報ではなく、複数bitを用意し、0〜N−1bit目までの情報を有効としている。
【0094】
したがって、ディスクリプタ数を増やすことなく、ディスクリプタバンドよりも細かい単位でスキップ処理を行うことができるとともに、L=Nxlの条件の範囲であればディスクリプタの分割単位Lを固定した状態で、スキップ処理単位mの変動に対応することができる。
【0095】
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記実施例で説明したものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【0096】
本発明は、スキップ処理を行うプリンタ装置、複合装置、複写装置等の画像形成装置、画像形成制御方法、画像形成制御プログラム及び記録媒体に利用することができる。
【符号の説明】
【0097】
1 複合装置
2 ネットワークI/F
100 コントローラASIC
101 スキャナ部
102 外部記憶部
110 入力制御部
120 画像処理コントローラ部
130 外部記憶制御部
140 機能モジュール
141 RDMAC
142 WDMAC
150 バスアービタ
200 エンジンASIC
201 プロッタ部
202 エンジンCPU
210 出力制御部
211 RDMAC
220、230 機能モジュール
221 RDMAC
222 WDMAC
231 RDMAC
232 WDMAC
240 エンジンCPU I/F
250 バスアービタ
300 コントローラCPU
400 メモリ
Pc ホストコンピュータ
【先行技術文献】
【特許文献】
【0098】
【特許文献1】特公平6−36546号公報
【特許文献2】2000−127510号公報
【特許文献3】特開2002−140288号公報

【特許請求の範囲】
【請求項1】
記録ヘッドを主走査方向に移動させて入力される画像データの所定ライン数を1バンドとして該バンド毎に該画像データに基づいて画像形成媒体にドット画像を形成し該バンドの画像形成が完了すると該画像形成媒体を該バンド分だけ副走査方向に搬送する画像形成手段と、
画像データ及び該画像データを前記1バンドのライン数を所定整数倍したライン数からなるディスクリプタバンド毎に該画像データの転送情報を有するディスクリプタを保管するデータ記憶手段と、
画像データを前記ディスクリプタに基づいて前記データ記憶手段に書き込んだ後、前記画像形成手段に転送するとともに、該データ記憶手段に書き込む画像データに対して白画素であるか否かの白判定を画素毎に順次行って連続白画素数が前記ディスクリプタバンドを所定の整数で分割したスキップバンドになると、無効スキップバンドとし、前記スキップバンドに白画素以外の有効画素が存在すると、有効スキップバンドとする白判定結果情報を生成して該ディスクリプタに書き戻して、該データ記憶手段から該画像形成手段に該画像データを該ディスクリプタに基づいて転送する際に、該ディスクリプタの該白判定結果情報に該無効スキップバンドとして登録されているスキップバンドについては、スキップ通知を出力するデータ転送制御手段と、
前記画像形成手段の動作を制御して画像形成を行わせるとともに、前記データ転送制御手段から前記スキップ通知があると、該画像形成手段に前記記録ヘッドの主走査移動を停止させて前記画像形成媒体のみを前記スキップバンド分搬送させるスキップ動作を行わせる画像形成制御手段と、
を備えていることを特徴とする画像形成装置。
【請求項2】
前記データ転送制御手段は、前記白判定結果情報と前記データ記憶手段のイメージ幅に基づいて、前記有効スキップバンドの画像データの格納されている該データ記憶手段のアドレスを算出し、該有効スキップバンドの画像データのみを前記画像形成手段に転送することを特徴とする請求項1記載の画像形成装置。
【請求項3】
前記データ転送制御手段は、
画像データを前記ディスクリプタに基づいて前記データ記憶手段に書き込むとともに、該画像データに対して前記白判定を行って、前記白判定結果情報を該ディスクリプタに書き戻すライトDMACと、
前記データ記憶手段から前記画像形成手段に前記画像データを前記ディスクリプタに基づいて転送する際に、該ディスクリプタの前記白判定結果情報に前記無効スキップバンドとして登録されているスキップバンドについては、スキップ通知を出力するリードDMACと、
を備えていることを特徴とする請求項1または請求項2記載の画像形成装置。
【請求項4】
前記データ転送制御手段は、原稿画像を読み取る読取手段から入力される画像データ、外部記憶装置から入力される画像データ、または/及び、外部装置から転送されてくる画像データを、前記画像データとして処理することを特徴とする請求項1から請求項3のいずれかに記載の画像形成装置。
【請求項5】
前記データ転送制御手段は、前記画像データがPDLデータであると、該PDLデータをレンダリングする際に、1ライン毎に前記白判定を行うことを特徴とする請求項1から請求項4のいずれかに記載の画像形成装置。
【請求項6】
前記画像形成装置は、
前記データ転送制御手段によって、前記データ記憶手段の前記画像データを前記ディスクリプタに基づいて読み出させて、該画像データに対して所定の画像処理を施した後に、前記データ転送制御手段によって、該ディスクリプタに基づいて該データ記憶手段に書き戻させる画像処理手段を備えており、
前記データ転送制御手段は、前記データ記憶手段から前記画像データを読み出す際に読み取る前記ディスクリプタから前記白判定結果情報をも読み出し、前記画像処理後の画像データに対して白判定を行って、該データ記憶手段から読み取った該ディスクリプタの白判定結果情報と異なる白判定結果となった前記スキップバンドについては、新たな白判定結果を該ディスクリプタの該白判定結果情報に書き戻すことを特徴とする請求項1から請求項5のいずれかに記載の画像形成装置。
【請求項7】
前記データ転送制御手段は、前記白判定結果情報と前記データ記憶手段のイメージ幅に基づいて、前記スキップバンドの該データ記憶手段におけるアドレスを管理し、前記無効スキップバンドの画像データの該データ記憶手段への書き込みを禁止し、前記有効スキップバンドの画像データのみを該アドレス管理に応じて該データ記憶手段に書き込むことを特徴とする請求項1から請求項6のいずれかに記載の画像形成装置。
【請求項8】
記録ヘッドを主走査方向に移動させて入力される画像データの所定ライン数を1バンドとして該バンド毎に該画像データに基づいて画像形成媒体にドット画像を形成し該バンドの画像形成が完了すると該画像形成媒体を該バンド分だけ副走査方向に搬送する画像形成処理ステップと、
画像データ及び該画像データを前記1バンドのライン数を所定整数倍したライン数からなるディスクリプタバンド毎の該画像データの転送情報を有するディスクリプタを保管するデータ記憶手段に、該画像データを該ディスクリプタに基づいて前記データ記憶手段に書き込んだ後、前記画像形成処理ステップに転送するとともに、該データ記憶手段に書き込む画像データに対して白画素であるか否かの白判定を画素毎に順次行って連続白画素数が該ディスクリプタバンドを所定の整数で分割したスキップバンドになると、無効スキップバンドとし、該スキップバンドに白画素以外の有効画素が存在すると、有効スキップバンドとする白判定結果情報を生成して該ディスクリプタに書き戻して、該データ記憶手段から該画像形成処理ステップに該画像データを該ディスクリプタに基づいて転送する際に、該ディスクリプタの該白判定結果情報に該無効スキップバンドとして登録されているスキップバンドについては、スキップ通知を出力するデータ転送制御処理ステップと、
前記画像形成処理ステップの動作を制御して画像形成を行わせるとともに、前記データ転送制御処理ステップから前記スキップ通知があると、該画像形成処理ステップに前記記録ヘッドの主走査移動を停止させて前記画像形成媒体のみを前記スキップバンド分搬送させるスキップ動作を行わせる画像形成制御処理ステップと、
を有していることを特徴とする画像形成制御方法。
【請求項9】
コンピュータに、
記録ヘッドを主走査方向に移動させて入力される画像データの所定ライン数を1バンドとして該バンド毎に該画像データに基づいて画像形成媒体にドット画像を形成し該バンドの画像形成が完了すると該画像形成媒体を該バンド分だけ副走査方向に搬送する画像形成処理と、
画像データ及び該画像データを前記1バンドのライン数を所定整数倍したライン数からなるディスクリプタバンド毎の該画像データの転送情報を有するディスクリプタを保管するデータ記憶手段に、該画像データを該ディスクリプタに基づいて前記データ記憶手段に書き込んだ後、前記画像形成処理に転送するとともに、該データ記憶手段に書き込む画像データに対して白画素であるか否かの白判定を画素毎に順次行って連続白画素数が該ディスクリプタバンドを所定の整数で分割したスキップバンドになると、無効スキップバンドとし、該スキップバンドに白画素以外の有効画素が存在すると、有効スキップバンドとする白判定結果情報を生成して該ディスクリプタに書き戻して、該データ記憶手段から該画像形成処理に該画像データを該ディスクリプタに基づいて転送する際に、該ディスクリプタの該白判定結果情報に該無効スキップバンドとして登録されているスキップバンドについては、スキップ通知を出力するデータ転送制御処理と、
前記画像形成処理の動作を制御して画像形成を行わせるとともに、前記データ転送制御処理から前記スキップ通知があると、該画像形成処理に前記記録ヘッドの主走査移動を停止させて前記画像形成媒体のみを前記スキップバンド分搬送させるスキップ動作を行わせる画像形成制御処理と、
を実行させることを特徴とする画像形成制御プログラム。
【請求項10】
請求項9記載の画像形成制御プログラムを記録したことを特徴とするコンピュータが読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2011−56728(P2011−56728A)
【公開日】平成23年3月24日(2011.3.24)
【国際特許分類】
【出願番号】特願2009−207567(P2009−207567)
【出願日】平成21年9月8日(2009.9.8)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】