(57)【要約】【課題】複数の画像処理コントローラを遊休させることなく並列に動作させる。【解決手段】本発明は、１ページ分の画像データを生成する生成手段と、該画像データに基づき記録データを生成する画像処理を夫々が実行する複数の画像処理手段であって、該夫々が、記録媒体と記録手段との相対移動方向と交差する方向における位置が異なる、複数の連続領域の夫々に対応する、前記複数の画像処理手段とを備える画像処理装置であって、前記生成手段は、前記生成した画像データを、前記相対移動方向に並ぶ画素で構成される１バンド分ずつ、前記複数の画像処理手段の夫々に順番に送信することを繰り返す繰り返し送信処理であって、前記複数の連続領域の夫々における第１のバンドに対応する画像データの送信が完了した後、該夫々における該第１のバンドに隣接する第２のバンドに対応する画像データを送信する処理を含む、前記繰り返し送信処理を実行する。【選択図】図１０
2019048422.tif 000002
【特許請求の範囲】
【請求項１】
印刷ジョブに基づき１ページ分の画像データを生成する生成手段と、
前記画像データに基づき記録データを生成する画像処理を夫々が実行する複数の画像処理手段であって、該複数の画像処理手段の夫々が、記録媒体と記録手段との相対移動方向と交差する方向における位置が異なる、前記１ページ分の画像データを分割した複数の連続領域の夫々に対応する、前記複数の画像処理手段と
を備える画像処理装置であって、
前記生成手段は、前記生成した画像データを、前記相対移動方向に並ぶ画素で構成される１バンド分ずつ、前記複数の画像処理手段の夫々に順番に送信することを繰り返す繰り返し送信処理であって、前記複数の連続領域の夫々における第１のバンドに対応する画像データの送信が完了した後、該複数の連続領域の夫々における該第１のバンドに隣接する第２のバンドに対応する画像データを送信する処理を含む、前記繰り返し送信処理を実行することを特徴とする画像処理装置。
【請求項２】
前記生成手段は、前記生成した画像データを、一時的に記憶する記憶手段を備えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記記憶手段に、前記１ページ分の画像データが記憶されることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記複数の画像処理手段は、第１画像処理手段と第２画像処理手段とを含み、
前記繰り返し送信処理とは、前記記憶手段に記憶された前記１ページ分の画像データの内の１バンド分の画像データを、前記第１画像処理手段と前記第２画像処理手段とに交互に送信することを繰り返す処理であることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記生成手段は、第１モードで前記繰り返し送信処理を実行する一方、該第１モードより高解像度で印刷する第２モードでは、前記繰り返し送信処理を実行することなく、前記複数の連続領域の内の１つの連続領域分の画像データを、該画像データを担当する画像処理手段に送信した後、別の連続領域分の画像データを、該画像データを担当する別の画像処理手段に送信することを特徴とする請求項２に記載の画像処理装置。
【請求項６】
前記生成手段は、前記１ページ分の画像データの容量が所定の閾値以下の場合、前記繰り返し送信処理を実行する一方、前記容量が前記所定の閾値より多い場合、前記繰り返し送信処理を実行することなく、前記複数の連続領域の内の１つの連続領域分の画像データを、該画像データを担当する画像処理手段に送信した後、別の連続領域分の画像データを、該画像データを担当する別の画像処理手段に送信することを特徴とする請求項２に記載の画像処理装置。
【請求項７】
前記複数の画像処理手段は、第１画像処理手段と第２画像処理手段とを含み、
前記生成手段は、前記生成した画像データを１バンド分ずつ前記第１画像処理手段に送信し、その後、前記生成した画像データを１バンド分ずつ前記第２画像処理手段に送信することを特徴とする請求項５又は６に記載の画像処理装置。
【請求項８】
前記複数の連続領域は、隣接する連続領域間で重複しないことを特徴とする請求項１乃至７の何れか１項に記載の画像処理装置。
【請求項９】
前記複数の連続領域は、隣接する連続領域間で一部重複し、
前記画像処理は、周辺画素を参照する文字品位向上処理を含むことを特徴とする請求項１乃至７の何れか１項に記載の画像処理装置。
【請求項１０】
前記記録手段はノズルであり、前記画像処理は、インク色の信号値を、該ノズルの吐出量に応じて変換するヘッドシェーディング処理を含むことを特徴とする請求項１乃至９の何れか１項に記載の画像処理装置。
【請求項１１】
前記画像処理は、インク色の多値画像データを低階調化する量子化処理を含むことを特徴とする請求項１乃至１０の何れか１項に記載の画像処理装置。
【請求項１２】
請求項１乃至１１の何れか１項に記載の画像処理装置と、
前記記録データに基づき記録媒体に記録する記録ヘッドと
を備える記録装置。
【請求項１３】
前記画像処理は、前記記録ヘッドにおけるノズルの配列方向と垂直な方向に実行する処理を含むことを特徴とする請求項１２に記載の記録装置。
【請求項１４】
印刷ジョブに基づき１ページ分の画像データを生成する生成手段と、前記画像データに基づき記録データを生成する画像処理を夫々が実行する複数の画像処理手段であって、該複数の画像処理手段の夫々が、記録媒体と記録手段との相対移動方向と交差する方向における位置が異なる、前記１ページ分の画像データを分割した複数の連続領域の夫々に対応する、前記複数の画像処理手段とを備える画像処理装置で実行される画像処理方法であって、前記生成手段が、前記生成した画像データを、前記相対移動方向に並ぶ画素で構成される１バンド分ずつ、前記複数の画像処理手段の夫々に順番に送信することを繰り返す繰り返し送信処理であって、前記複数の連続領域の夫々における第１のバンドに対応する画像データの送信が完了した後、該複数の連続領域の夫々における該第１のバンドに隣接する第２のバンドに対応する画像データを送信する処理を含む、前記繰り返し送信処理を実行するステップを有することを特徴とする画像処理方法。
【請求項１５】
コンピュータに、請求項１４に記載の方法を実行させるための、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、記録装置、画像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、画像データを領域分割し、該領域分割した画像データを２つの画像処理用ＡＳＩＣで並列処理させることが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１９８９６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１には、領域分割した画像データを、２つの画像処理用ＡＳＩＣにどのように送信するか開示されていない。そのため、効率的な並列処理を実現できない虞がある。
【０００５】
そこで本発明は、上記の課題に鑑み、複数の画像処理コントローラを遊休させることなく並列に動作させて、記録データを早く生成することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、印刷ジョブに基づき１ページ分の画像データを生成する生成手段と、前記画像データに基づき記録データを生成する画像処理を夫々が実行する複数の画像処理手段であって、該複数の画像処理手段の夫々が、記録媒体と記録手段との相対移動方向と交差する方向における位置が異なる、前記１ページ分の画像データを分割した複数の連続領域の夫々に対応する、前記複数の画像処理手段とを備える画像処理装置であって、前記生成手段は、前記生成した画像データを、前記相対移動方向に並ぶ画素で構成される１バンド分ずつ、前記複数の画像処理手段の夫々に順番に送信することを繰り返す繰り返し送信処理であって、前記複数の連続領域の夫々における第１のバンドに対応する画像データの送信が完了した後、該複数の連続領域の夫々における該第１のバンドに隣接する第２のバンドに対応する画像データを送信する処理を含む、前記繰り返し送信処理を実行することを特徴とする画像処理装置である。
【発明の効果】
【０００７】
本発明により、複数の画像処理コントローラを遊休させることなく並列に動作させて、記録データを早く生成することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】記録装置が待機状態にあるときの図である。
【図２】記録装置の制御構成図である。
【図３】記録装置が記録状態にあるときの図である。
【図４】（ａ）は実施例１における記録装置の制御構成図であり、（ｂ）は実施例１における画像処理コントローラの制御構成図である。
【図５】実施例１における画像処理コントローラで実行される一連の画像処理のフローチャートである。
【図６】（ａ）および（ｂ）は、ヘッドシェーディング処理の説明図である。
【図７】カラーシェーディング処理の説明図である。
【図８】（ａ）〜（ｃ）は、実施例１における処理の説明図である。
【図９】実施例１におけるコントローラユニットで実行される処理のフローチャートである。
【図１０】（ａ）は実施例１における画像データの送信順を示し、（ｂ）は実施例２における画像データの送信順を示す図である。
【図１１】実施例２におけるコントローラユニットで実行される処理のフローチャートである。
【発明を実施するための形態】
【０００９】
図１は、本実施形態で使用するインクジェット記録装置１（以下、記録装置１）の内部構成図である。図において、ｘ方向は水平方向、ｙ方向（紙面垂直方向）は後述する記録ヘッド８において吐出口が配列される方向、ｚ方向は鉛直方向をそれぞれ示す。
【００１０】
記録装置１は、プリント部２とスキャナ部３を備える複合機であり、記録動作と読取動作に関する様々な処理を、プリント部２とスキャナ部３で個別にあるいは連動して実行することができる。スキャナ部３は、ＡＤＦ（オートドキュメントフィーダ）とＦＢＳ（フラットベッドスキャナ）を備えており、ＡＤＦで自動給紙される原稿の読み取りと、ユーザによってＦＢＳの原稿台に置かれた原稿の読み取り（スキャン）を行うことができる。なお、本実施形態はプリント部２とスキャナ部３を併せ持った複合機であるが、スキャナ部３を備えない形態であってもよい。図１は、記録装置１が記録動作も読取動作も行っていない待機状態にあるときを示す。
【００１１】
プリント部２において、筐体４の鉛直方向下方の底部には、記録媒体（カットシート）Ｓを収容するための第１カセット５Ａと第２カセット５Ｂが着脱可能に設置されている。第１カセット５ＡにはＡ４サイズまでの比較的小さな記録媒体が、第２カセット５ＢにはＡ３サイズまでの比較的大きな記録媒体が、平積みに収容されている。第１カセット５Ａ近傍には、収容されている記録媒体を１枚ずつ分離して給送するための第１給送ユニット６Ａが設けられている。同様に、第２カセット５Ｂ近傍には、第２給送ユニット６Ｂが設けられている。記録動作が行われる際にはいずれか一方のカセットから選択的に記録媒体Ｓが給送される。
【００１２】
搬送ローラ７、排出ローラ１２、ピンチローラ７ａ、拍車７ｂ、ガイド１８、インナーガイド１９およびフラッパ１１は、記録媒体Ｓを所定の方向に導くための搬送機構である。搬送ローラ７は、記録ヘッド８の上流側および下流側に配され、不図示の搬送モータによって駆動される駆動ローラである。ピンチローラ７ａは、搬送ローラ７と共に記録媒体Ｓをニップして回転する従動ローラである。排出ローラ１２は、搬送ローラ７の下流側に配され、不図示の搬送モータによって駆動される駆動ローラである。拍車７ｂは、記録ヘッド８の下流側に配される搬送ローラ７及び排出ローラ１２と共に記録媒体Ｓを挟持して搬送する。
【００１３】
ガイド１８は、記録媒体Ｓの搬送経路に設けられ、記録媒体Ｓを所定の方向に案内する。インナーガイド１９は、ｙ方向に延在する部材で湾曲した側面を有し、当該側面に沿って記録媒体Ｓを案内する。フラッパ１１は、両面記録動作の際に、記録媒体Ｓが搬送される方向を切り替えるための部材である。排出トレイ１３は、記録動作が完了し排出ローラ１２によって排出された記録媒体Ｓを積載保持するためのトレイである。
【００１４】
本実施形態の記録ヘッド８は、フルラインタイプのカラーインクジェット記録ヘッドであり、記録データに従ってインクを吐出する吐出口が、図１におけるｙ方向に沿って記録媒体Ｓの幅に相当する分だけ複数配列されている。記録ヘッド８が待機位置にあるとき、記録ヘッド８の吐出口面８ａは、図１のように鉛直下方を向きキャップユニット１０によってキャップされている。記録動作を行う際は、後述するプリントコントローラ２０２によって、吐出口面８ａがプラテン９と対向するように記録ヘッド８の向きが変更される。プラテン９は、ｙ方向に延在する平板によって構成され、記録ヘッド８によって記録動作が行われる記録媒体Ｓを背面から支持する。記録ヘッド８の待機位置から記録位置への移動については、後に詳しく説明する。
【００１５】
インクタンクユニット１４は、記録ヘッド８へ供給される４色のインクをそれぞれ貯留する。インク供給ユニット１５は、インクタンクユニット１４と記録ヘッド８を接続する流路の途中に設けられ、記録ヘッド８内のインクの圧力及び流量を適切な範囲に調整する。本実施形態では循環型のインク供給系を採用しており、インク供給ユニット１５は記録ヘッド８へ供給されるインクの圧力と記録ヘッド８から回収されるインクの流量を適切な範囲に調整する。
【００１６】
メンテナンスユニット１６は、キャップユニット１０とワイピングユニット１７を備え、所定のタイミングにこれらを作動させて、記録ヘッド８に対するメンテナンス動作を行う。メンテナンス動作については後に詳しく説明する。
【００１７】
図２は、記録装置１における制御構成を示すブロック図である。制御構成は、主にプリント部２を統括するプリントエンジンユニット２００と、スキャナ部３を統括するスキャナエンジンユニット３００と、記録装置１全体を統括するコントローラユニット１００によって構成されている。プリントコントローラ２０２は、コントローラユニット１００のメインコントローラ１０１の指示に従ってプリントエンジンユニット２００の各種機構を制御する。スキャナエンジンユニット３００の各種機構は、コントローラユニット１００のメインコントローラ１０１によって制御される。以下に制御構成の詳細について説明する。
【００１８】
コントローラユニット１００において、ＣＰＵにより構成されるメインコントローラ１０１は、ＲＯＭ１０７に記憶されているプログラムや各種パラメータに従って、ＲＡＭ１０６をワークエリアとしながら記録装置１全体を制御する。例えば、ホストＩ／Ｆ１０２またはワイヤレスＩ／Ｆ１０３を介してホスト装置４００から印刷ジョブが入力されると、メインコントローラ１０１の指示に従って、画像処理部１０８が受信した画像データに対して所定の画像処理を施す。そして、メインコントローラ１０１はプリントエンジンＩ／Ｆ１０５を介して、画像処理を施した画像データをプリントエンジンユニット２００へ送信する。
【００１９】
なお、記録装置１は無線通信や有線通信を介してホスト装置４００から画像データを取得しても良いし、記録装置１に接続された外部記憶装置（ＵＳＢメモリ等）から画像データを取得しても良い。無線通信や有線通信に利用される通信方式は限定されない。例えば、無線通信に利用される通信方式として、Ｗｉ−Ｆｉ（Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ）（登録商標）やＢｌｕｅｔｏｏｔｈ（登録商標）が適用可能である。また、有線通信に利用される通信方式としては、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等が適用可能である。また、例えばホスト装置４００から読取コマンドが入力されると、メインコントローラ１０１は、スキャナエンジンＩ／Ｆ１０９を介してこのコマンドをスキャナ部３に送信する。
【００２０】
操作パネル１０４は、ユーザが記録装置１に対して入出力を行うための機構である。ユーザは、操作パネル１０４を介してコピーやスキャン等の動作を指示したり、印刷モードを設定したり、記録装置１の情報を認識したりすることができる。
【００２１】
プリントエンジンユニット２００において、ＣＰＵにより構成されるプリントコントローラ２０２は、ＲＯＭ２０３に記憶されているプログラムや各種パラメータに従って、ＲＡＭ２０４をワークエリアとしながら、プリント部２が備える各種機構を制御する。コントローラＩ／Ｆ２０１を介して各種コマンドや画像データが受信されると、プリントコントローラ２０２は、これを一旦ＲＡＭ２０４に保存する。記録ヘッド８が記録動作に利用できるように、プリントコントローラ２０２は画像処理コントローラ２０５に、保存した画像データを記録データへ変換させる。記録データが生成されると、プリントコントローラ２０２は、ヘッドＩ／Ｆ２０６を介して記録ヘッド８に記録データに基づく記録動作を実行させる。この際、プリントコントローラ２０２は、搬送制御部２０７を介して図１に示す給送ユニット６Ａ、６Ｂ、搬送ローラ７、排出ローラ１２、フラッパ１１を駆動して、記録媒体Ｓを搬送する。プリントコントローラ２０２の指示に従って、記録媒体Ｓの搬送動作に連動して記録ヘッド８による記録動作が実行され、印刷処理が行われる。尚、ここでは、プリントエンジンユニット２００が１つの画像処理コントローラ（ＣＰＵ）２０５、１つのＲＯＭ２０３、及び１つのＲＡＭ２０４を備える場合を示している。しかし、プリントエンジンユニット２００が備える画像処理コントローラ（ＣＰＵ）、ＲＯＭ、ＲＡＭの数は夫々１に限らず、複数であっても良い。
【００２２】
ヘッドキャリッジ制御部２０８は、記録装置１のメンテナンス状態や記録状態といった動作状態に応じて記録ヘッド８の向きや位置を変更する。インク供給制御部２０９は、記録ヘッド８へ供給されるインクの圧力が適切な範囲に収まるように、インク供給ユニット１５を制御する。メンテナンス制御部２１０は、記録ヘッド８に対するメンテナンス動作を行う際に、メンテナンスユニット１６におけるキャップユニット１０やワイピングユニット１７の動作を制御する。
【００２３】
スキャナエンジンユニット３００においては、メインコントローラ１０１が、ＲＯＭ１０７に記憶されているプログラムや各種パラメータに従って、ＲＡＭ１０６をワークエリアとしながら、スキャナコントローラ３０２のハードウェアリソースを制御する。これにより、スキャナ部３が備える各種機構は制御される。例えばコントローラＩ／Ｆ３０１を介してメインコントローラ１０１がスキャナコントローラ３０２内のハードウェアリソースを制御することにより、ユーザによってＡＤＦに搭載された原稿を、搬送制御部３０４を介して搬送し、センサ３０５によって読み取る。そして、スキャナコントローラ３０２は読み取った画像データをＲＡＭ３０３に保存する。なお、プリントコントローラ２０２は、上述のように取得された画像データを記録データに変換することで、記録ヘッド８に、スキャナコントローラ３０２で読み取った画像データに基づく記録動作を実行させることが可能である。
【００２４】
図３は、記録装置１が記録状態にあるときを示す。図１に示した待機状態と比較すると、キャップユニット１０が記録ヘッド８の吐出口面８ａから離間し、吐出口面８ａがプラテン９と対向している。本実施形態において、プラテン９の平面は水平方向に対して約４５度傾いており、記録位置における記録ヘッド８の吐出口面８ａも、プラテン９との距離が一定に維持されるように水平方向に対して約４５度傾いている。
【００２５】
記録ヘッド８を図１に示す待機位置から図３に示す記録位置に移動する際、プリントコントローラ２０２は、メンテナンス制御部２１０を用いて、キャップユニット１０を図３に示す退避位置まで降下させる。これにより、記録ヘッド８の吐出口面８ａは、キャップ部材１０ａと離間する。その後、プリントコントローラ２０２は、ヘッドキャリッジ制御部２０８を用いて記録ヘッド８の鉛直方向の高さを調整しながら４５度回転させ、吐出口面８ａをプラテン９と対向させる。記録動作が完了し、記録ヘッド８が記録位置から待機位置に移動する際は、プリントコントローラ２０２によって上記と逆の工程が行われる。
【００２６】
次に、プリント部２における記録媒体Ｓの搬送経路について説明する。記録コマンドが入力されると、プリントコントローラ２０２は、まず、メンテナンス制御部２１０およびヘッドキャリッジ制御部２０８を用いて、記録ヘッド８を図３に示す記録位置に移動する。その後、プリントコントローラ２０２は搬送制御部２０７を用い、記録コマンドに従って第１給送ユニット６Ａおよび第２給送ユニット６Ｂのいずれかを駆動し、記録媒体Ｓを給送する。
【００２７】
以下、これまで説明してきた基本構成を踏まえ、本発明の好適な実施例について説明する。
【００２８】
［実施例１］
本実施例では、プリントエンジンユニットが複数の画像処理コントローラを備えており、コントローラユニットで生成した画像データを分けて、この複数の画像処理コントローラの夫々で並列に画像処理を行う。
【００２９】
＜記録装置の構成について＞
図４（ａ）は、本実施例における記録装置１の制御構成を示すブロック図である。図４（ａ）に示すように、記録装置１は、コントローラユニット９００、並びに、第１画像処理コントローラ９１０、第２画像処理コントローラ９２０、及び印字制御コントローラ９３０から成るプリントエンジンユニット９４０を備える。このように本実施例における記録装置１は、４つのコントローラを備えている。このうちコントローラユニット９００は、第１画像処理コントローラ９１０、第２画像処理コントローラ９２０で画像処理を行う画像データを生成するメインコントローラとして機能する。また、第１画像処理コントローラ９１０及び第２画像処理コントローラ９２０は、コントローラユニット９００に対するサブコントローラとして機能する。
【００３０】
コントローラユニット９００では、入力された印刷ジョブに基づき、第１画像処理コントローラ９１０、第２画像処理コントローラ９２０で処理可能な画像データを生成する処理が実行される。例えば、コントローラユニット９００のレンダラ処理部９０２は、ホスト装置４００からホストＩＦ制御部９０４を介して送られたページ記述言語（以下ＰＤＬ）データに基づき、１ページ分の画像データを生成する。また例えば、スキャナ画像処理部９０３は、スキャナエンジンユニット３００からスキャナＩＦ制御部９０５を介して送られたスキャンデータに基づき、１ページ分の画像データを生成する。レンダラ処理部９０２又はスキャナ画像処理部９０３で生成された画像データは、コントローラユニット９００のＲＡＭ９０８に一時的に格納され、第１画像処理コントローラ９１０又は第２画像処理コントローラ９２０に分けて送信される。以降、送信対象の画像データが格納されるＲＡＭ内の領域を、送信バッファ領域と呼ぶ。
【００３１】
送信バッファ領域に格納された画像データは、ＡＳＩＣ間ＩＦ制御部９０６を介して第１画像処理コントローラ９１０に送信され、第１画像処理コントローラ９１０のＲＡＭ９１８に格納される。以降、受信した画像データが格納されるＲＡＭの領域を、受信バッファ領域と呼ぶ。尚、本実施例では、ＡＳＩＣ間ＩＦをＰＣＩＥｘｐｒｅｓｓ（ＰＣＩｅ）とし、ＰＣＩｅにおけるプロトコル処理及びＤＭＡ制御を、ＡＳＩＣ間ＩＦ制御部で行うものとする。
【００３２】
ＲＡＭ９１８の受信バッファ領域に格納された画像データに関して、第１画像処理コントローラ９１０のＣＰＵ９１１は、第１画像処理コントローラ９１０で記録データを生成する画像処理（記録データ生成処理とする）を行うべき画像データであるか判定する。その結果、第１画像処理コントローラ９１０で記録データ生成処理を行うべき画像データであると判定した場合、ＣＰＵ９１１は、ＲＡＭ９１８の受信バッファ領域に格納されている画像データに基づき記録データを生成するよう画像処理部９１２に命令する。一方、第１画像処理コントローラ９１０で記録データ生成処理を行うべき画像データではないと判定した場合、ＲＡＭ９１８の受信バッファ領域に格納されている画像データを、ＡＳＩＣ間ＩＦ制御部９１４を介して第２画像処理コントローラ９２０に転送する。この画像データは、第２画像処理コントローラ９２０のＲＡＭ９２８の受信バッファ領域に格納される。
【００３３】
ＲＡＭ９１８の受信バッファ領域に格納された画像データに基づいて、画像処理部９１２が生成した記録データは、ＲＡＭ９１８に格納される。以降、記録データが格納されるＲＡＭの領域を、プリントバッファ領域と呼ぶ。ＲＡＭ９１８のプリントバッファ領域に格納された記録データは、ＡＳＩＣ間ＩＦ制御部９１４を介して第２画像処理コントローラ９２０に送信され、ＲＡＭ９２８のプリントバッファ領域に格納される。
【００３４】
第２画像処理コントローラ９２０の画像処理部９２２は、ＲＡＭ９２８の受信バッファ領域に格納されている画像データに基づき記録データを生成する。画像処理部９２２で生成された記録データは、ＲＡＭ９２８のプリントバッファ領域に格納される。上述したように、ＲＡＭ９２８のプリントバッファ領域には、第１画像処理コントローラ９１０で生成された記録データも格納されるので、最終的に、該プリントバッファ領域において、１ページ分の記録データが生成されることとなる。
【００３５】
ＲＡＭ９２８のプリントバッファ領域において１ページ分の記録データの生成が完了した場合、ＣＰＵ９２１は、該１ページ分の記録データに基づく記録開始を、記録制御コントローラ９３０に通知する。かかる通知の後に、ＣＰＵ９２１は、ＲＡＭ９２８のプリントバッファ領域に格納されている記録データを、ＡＳＩＣ間ＩＦ制御部９２４を介して記録制御コントローラ９３０に送信する。記録制御コントローラ９３０に送信された記録データは、ＲＡＭ９３８に格納される。
【００３６】
記録制御コントローラ９３０は、第２画像処理コントローラ９２０から記録開始を通知された後、記録データを受信し、該受信した記録データをＲＡＭ９３８に格納する。その後、ＨＶ変換処理部９３１は、ＲＡＭ９３８に格納された記録データに対してＨＶ変換処理を実行する。ＨＶ変換処理によって並び替えられた記録データは、再びＲＡＭ９３８に格納される。記録制御部９３４は、ＲＡＭ９３８に格納されたＨＶ変換処理後の記録データを記録ヘッド８に送信することで、用紙等の記録媒体に画像を形成する記録動作を制御する。
【００３７】
＜画像処理コントローラで実行される、記録データを生成するための一連の画像処理について＞
以下、画像処理コントローラ９１０や画像処理コントローラ９２０で実行される、記録データを生成するための一連の画像処理について説明する。
【００３８】
図４（ｂ）は、第１画像処理コントローラ９１０と第２画像処理コントローラ９２０との夫々が備える構成を示すブロック図である。図４（ｂ）に示すように、各画像処理コントローラは、入力色変換処理部９９１と、ＭＣＳ処理部９９２と、インク色変換処理部９９３と、ＨＳ処理部９９４と、ＯＰＧ処理部と９９５と、量子化処理部９９６と、インデックス展開処理部９９７とを備える。各構成要素の詳細は、図５を用いて後述する。
【００３９】
図５は、画像処理コントローラで実行される、一連の画像処理のフローチャートである。
【００４０】
ステップＳ１００１において、入力色変換処理部９９１は、入力画像データを、記録装置１の色再現域に対応した画像データに変換する入力色変換処理を実行する。入力画像データは、例えば、モニタの表現色であるｓＲＧＢ等の色空間座標中の色座標（Ｒ，Ｇ，Ｂ）を示すデータである。入力色変換処理部９９１は、例えば、各８ビットのＲ，Ｇ，Ｂの入力画像データを、マトリクス演算処理や三次元ルックアップテーブル（以下、３ＤＬＵＴ）を用いた処理等の既知の手法により、記録装置１の色再現域の画像データ（Ｒ´，Ｇ´，Ｂ´）に変換する。本実施例では、３ＤＬＵＴを用い、これに補間演算を併用して入力色変換処理を行う。
【００４１】
ステップ１００２において、マルチカラーシェーデシング（ＭＣＳ）処理部９９２は、入力色変換処理部９９１で変換された画像データ、即ち記録装置１の色再現域の画像データ（Ｒ´，Ｇ´，Ｂ´）に対して色味の差を補正するＭＣＳ処理を実行する。ＭＣＳ処理の結果、記録装置１の色再現域の画像データ（Ｒ´，Ｇ´，Ｂ´）は、画像データ（Ｒ´´，Ｇ´´，Ｂ´´）に変換される。このＭＣＳ処理では、複数の３ＤＬＵＴの中から各単位領域に対応する３ＤＬＵＴを用いた変換処理を実行することで、単位領域毎に画像データを変換している。ＭＣＳ処理を実行することで、後続のステップＳ１００４におけるＨＳ処理のみでは補正しきれない、記録ヘッド８におけるノズルの吐出特性のばらつきに起因する色差を低減することが可能となる。尚、ＭＣＳ処理については、図７を用いて後述する。
【００４２】
ステップＳ１００３において、インク色変換処理部９９３は、ＭＣＳ処理部９９２によって処理されたＲ、Ｇ、Ｂ各８ビットの画像データ（Ｒ´´，Ｇ´´，Ｂ´´）を、インクの色信号データによる画像データに変換するインク色変換処理を実行する。本実施例における記録装置１はブラック（Ｋ）、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）のインクを用いることから、ＲＧＢ信号の画像データは、Ｋ、Ｃ、Ｍ、Ｙの各８ビットの色信号からなる画像データに変換される。尚、本ステップのインク色変換処理もステップＳ１００１の入力色変換処理部と同様、３ＤＬＵＴを用い、これに補間演算を併用して行う。
【００４３】
ステップＳ１００４において、ヘッドシェーディング（ＨＳ）処理部９９４は、Ｋ、Ｃ、Ｍ、Ｙ各８ビットの色信号からなる画像データを、記録ヘッドを構成する各ノズルの吐出量に応じたインク色信号の画像データに変換するヘッドシェーディング処理を実行する。ＨＳ処理では、インク色とノズル配列方向の位置とに応じて決まる一次元ルックアップテーブル（以下、１ＤＬＵＴ）を用いる変換処理を実行する。尚、ＨＳ処理については、図６を用いて後述する。
【００４４】
ステップＳ１００５において、アウトプットガンマ（ＯＰＧ）処理部９９５は、ＨＳ処理された各８ビットのインク色信号からなる画像データに対して、インク色毎に、ＯＰＧ処理用の１ＤＬＵＴを用いたガンマ補正処理を実行する。
【００４５】
ステップＳ１００６において、量子化処理部９９６は、ガンマ補正処理後のインク色の多値画像データ（本実施例では、各画素がＣＭＹＫの夫々に対する８ビットの値を持つ画像データ）を低階調化する量子化処理を実行する。尚、本ステップで実行する量子化処理の手法は特に限定されない。例えば、誤差拡散法を用いても良いし、又は、閾値マトリクスを用いたディザ法等の他の疑似中間調処理を用いても良い。
【００４６】
ステップＳ１００７において、インデックス展開処理部９９７は、ステップＳ１００６で低階調化された画像データに基づき、記録「１」または非記録「０」を表す１ビットの２値データを生成するインデックス展開処理を実行する。以上が、本実施例における画像処理コントローラで実行される、記録データを生成するための一連の画像処理の内容である。
【００４７】
＜ヘッドシェーディング処理について＞
以下、上述のステップＳ１００４で実行されるヘッドシェーディング（ＨＳ）処理について、図６を用いて説明する。
【００４８】
図６（ａ）は、ＨＳ処理の概要を説明する図である。
【００４９】
符号１１０１及び符号１１０２は、ＨＳ処理を行うことなく記録した場合に、単色カラー画像がどのように出力されるかを示す。詳細には、符号１１０１は、ＨＳ処理を行うことなく記録した場合に、シアン（Ｃ）画像がどのように出力されるかを示している。図示するように、同一のＣ信号値に従って記録しているにもかかわらず、中央やや左側において濃度の低い部分が発生してしまっている。また符号１１０２は、ＨＳ処理を行うことなく記録した場合に、マゼンダ（Ｍ）画像がどのように出力されるかを示している。図示するように、同一のＭ信号値に従って記録しているにもかかわらず、周期的な濃度ムラが発生してしまっている。このように、吐出口径の違い等に由来する各ノズルにおける吐出量の誤差が、濃度ムラとして現われてしまうので、インク色毎に信号値を補正して濃度ムラを抑制する必要がある。従って、本実施例ではＨＳ処理を行っている。
【００５０】
符号１１０３及び符号１１０４は、ＨＳ処理を行って記録した場合に、単色カラー画像がどのように出力されるかを示す。詳細には、符号１１０３は、ＨＳ処理を行った画像データに基づき記録した場合に、シアン（Ｃ）画像がどのように出力されるかを示している。ＨＳ処理によりＣ信号値を補正、具体的には、濃度が低い箇所のＣ信号値を高くしたことで、図示するように、濃度ムラが発生しなくなっている。また符号１１０４は、ＨＳ処理を行った画像データに基づき記録した場合に、マゼンダ（Ｍ）画像がどのように出力されるかを示している。ＨＳ処理によりＭ信号値を補正、具体的には、Ｍ信号値を周期的に変化する値に変えたことで、図示するように、濃度ムラが発生しなくなっている。
【００５１】
図６（ｂ）は、ＨＳ処理の説明図であり、ＨＳ処理を行うことで、連続する複数ノズル（本例では４ノズル）単位でドット数が補正されることを示している。
【００５２】
まず、シアン（Ｃ）のノズル列について説明する。符号１１１１及び符号１１１２は、シアン（Ｃ）のノズル列を示す。本例では図示するように、第１ノズル群１１１１の各ノズルの吐出口径は、第２ノズル群１１１２の各ノズルの吐出口径より大きい。従って、第１ノズル群１１１１の各ノズルにおける吐出量は、第２ノズル群１１１２の各ノズルにおける吐出量より多くなる。
【００５３】
符号１１１５及び符号１１１６は、ノズルの配列方向に依らない一定のＣ信号値をＨＳ処理で変換した結果得られる、ノズル群毎に異なるＣ信号値に従って、第１ノズル群１１１１及び第２ノズル群１１１２によって記録媒体に吐出した結果を示す。ここで領域１１１５は第１ノズル群１１１１に対応し、領域１１１６は第２ノズル群１１１２に対応している。図示するように、領域１１１５におけるドット数は、領域１１１６におけるドット数より少なくなっている。
【００５４】
続けて、マゼンダ（Ｍ）のノズル列について説明する。符号１１１３及び符号１１１４は、マゼンダ（Ｍ）のノズル列を示す。本例では図示するように、第３ノズル群１１１３のノズル配列方向における位置は、第１ノズル群１１１１のそれと同一であり、第４ノズル群１１１４のノズル配列方向における位置は、第２ノズル群１１１２のそれと同一である。また、第３ノズル群１１１３の各ノズルの吐出口径は、第４ノズル群１１１４の各ノズルの吐出口径より小さい。従って、第３ノズル群１１１３の各ノズルにおける吐出量は、第４ノズル群１１１４の各ノズルにおける吐出量より少なくなる。
【００５５】
符号１１１７及び符号１１１８は、ノズルの配列方向に依らない一定のＭ信号値をＨＳ処理で変換した結果得られる、ノズル群毎に異なるＭ信号値に従って、第３ノズル群１１１３及び第４ノズル群１１１４によって記録媒体に吐出した結果を示す。ここで領域１１１７は第３ノズル群１１１３に対応し、領域１１１８は第４ノズル群１１１４に対応している。図示するように、領域１１１７におけるドット数は、領域１１１８におけるドット数より多くなっている。
【００５６】
このように、ＨＳ処理によりインク色毎に信号値を補正し、ノズル群毎にドット数を変えることで、濃度ムラを低減することが可能になる。尚、図６（ｂ）では、ドット数を補正する単位が４ノズルの場合を説明したが、この単位は４ノズルに限らず、２ノズル以上であれば良い。
【００５７】
＜マルチカラーシェーディング処理について＞
以下、上述のステップＳ１００２で実行されるマルチカラーシェーディング（ＭＣＳ）処理について説明する。上述したように、ＭＣＳ処理は、単位領域毎に画像データを変換する処理であり、言い換えると、連続する複数ノズル間で同一のパラメータを適用することで、数ノズル単位でＲＧＢ信号を補正する処理である。ここで、ＭＣＳ処理でＲＧＢ信号を補正する際の単位、即ちノズル群に含まれるノズルの数は、上述のＨＳ処理でＣＭＹＫ信号を補正する際の単位（ノズル数）と同一であっても良いし、同一でなくても良い。
【００５８】
図７は、ＭＣＳ処理の効果を示す図であり、シアン（Ｃ）インクとマゼンダ（Ｍ）インクとを用いてブルー画像を出力するケースを示している。図示するように、ＨＳ処理に加えてＭＣＳ処理を実行することで、インク色毎のＨＳ処理だけでは補正しきれない色ムラを除去できる。
【００５９】
＜コントローラユニットから画像処理コントローラに画像を送信する際の制約について＞
これまで述べてきたように本例では、プリントエンジンユニット９４０が２つの画像処理コントローラを備えている。そして、コントローラユニット９００で生成した画像データを分けて、２つの画像処理コントローラの夫々で並列に、該分けた画像データに対する、一連の画像処理を行う。ここで、コントローラユニット９００で生成した画像データを分けて２つの画像処理コントローラに送信する際、２つの画像処理コントローラを遊休させることなく効率的な処理を実現するために注意すべき２つの制約がある。
【００６０】
まず、１つ目の制約について説明する。図８（ａ）は、記録ヘッド８における各色インクのノズルの配列方向と理想的なＨＳ処理方向との位置関係を示す図である。上述したように、ＨＳ処理は、連続する複数ノズル（本例では４ノズル）単位で各インク色の信号値を補正する画像処理である。つまりＨＳ処理では、連続する複数ノズル単位で同一のテーブルのパラメータを適用していることから、ＨＳ処理における理想的な処理方向とは、途中でテーブルを切り替える必要が無い方向、つまりノズルの配列方向（ｙ方向）に垂直な方向（ｘ方向）となる。尚、ここで述べたことはＭＣＳ処理に対してもあてはまる。つまり、ＭＣＳ処理における理想的な処理方向も、ノズルの配列方向（ｙ方向）に垂直な方向（ｘ方向）となる。
【００６１】
従って、図中のｘ方向に沿ってＨＳ処理（又はＭＣＳ処理）を上から順に実行した場合に、テーブルを切り替える回数は最も少なくなるため、処理効率が最良になる。よって、コントローラユニット９００は、生成した画像データを、複数ノズル単位、つまりバンド単位で、第１画像処理コントローラ９１０又は第２画像処理コントローラ９２０に送信することが望ましい。
【００６２】
続いて、２つ目の制約について説明する。図８（ｂ）は、記録ヘッド８における各色インクのノズルの配列方向と、記録方向と、第１画像処理コントローラ９１０で画像処理を行う領域及び第２画像処理コントローラ９２０で画像処理を行う領域との位置関係を示す図である。以降、第１画像処理コントローラ９１０で画像処理を行う領域を、第１画像処理コントローラ９１０の担当領域と呼び、第２画像処理コントローラ９２０で画像処理を行う領域を、第２画像処理コントローラ９２０の担当領域と呼ぶ。
【００６３】
第１画像処理コントローラ９１０、第２画像処理コントローラ９２０で実行する処理の中には、誤差拡散を用いた量子化処理等の周辺画素を参照する処理が含まれる。従って、処理効率の観点から、コントローラユニット９００が画像処理コントローラに渡す画像データは連続性を有すること、つまり、連続領域の画像データであることが望ましい。従って本例では、図８（ｂ）に示すように、１ページ分の画像データの内の上半分の領域を第１画像処理コントローラ９１０の担当領域とし、下半分の領域を第２画像処理コントローラ９２０の担当領域としている。このように、画像処理コントローラの夫々は、記録媒体と記録手段（ノズル）との相対移動方向と直角に交差する方向における位置が異なる、１ページ分の画像データを分割した複数の連続領域の夫々に対応する。
【００６４】
＜コントローラユニットで実行される処理について＞
本実施例におけるコントローラユニット９００は、上記の制約を受けつつ、画像データを画像処理コントローラに送信する点で特徴的である。以下、本実施例におけるコントローラユニット９００で実行される一連の処理について、図９を用いて説明する。
【００６５】
ステップＳ１４０１において、ＣＰＵ９０１は、印刷ジョブを解析することで、該印刷ジョブがＰＤＬジョブか又はＣＯＰＹジョブであるかを判定するとともに、印刷モード情報を取得する。印刷モード情報には、解像度を示す情報（即ち、高解像度モードか、普通モードか、又は低解像度モードかを示す情報）、モノクロモードか又はカラーモードかを示す情報、用紙幅の情報等が含まれる。ここで、高解像度モードとは１２００ｄｐｉｘ１２００ｄｐｉの解像度で印刷するモードであり、普通モードとは６００ｄｐｉｘ６００ｄｐｉの解像度で印刷するモードであり、低解像度モードとは３００ｄｐｉｘ３００ｄｐｉの解像度で印刷するモードである。そしてＣＰＵ９０１は、取得した印刷モード情報に応じて、画像処理コントローラでの処理に必要なパラメータ情報を生成する。本ステップで生成するパラメータ情報には、拡大／縮小の倍率、上述のインク色変換処理で用いる３ＤＬＵＴで保持する値が含まれる。また、パラメータ情報には、１ページ分の画像データの送信を完了するために全部で何バンド分の画像データを送信するかを示す情報、１バンド分の画像データの夫々について、いずれの画像処理コントローラで画像処理するかを示すラベル番号の情報も含まれる。
【００６６】
ステップＳ１４０２において、ＣＰＵ９０１は、画像処理コントローラに送信する１ページ分の画像データを格納する送信バッファ領域を、ＲＡＭ９０８内に確保する。
【００６７】
ステップＳ１４０３において、ＣＰＵ９０１は、印刷ジョブに基づき画像処理コントローラで処理可能な画像データを生成する。具体的には、印刷ジョブがＰＤＬジョブの場合、ＣＰＵ９０１はレンダラ処理部９０２に、印刷ジョブに含まれるＰＤＬデータに基づくレンダリング処理（ラスタライズ処理、ＲＩＰ処理とも呼ぶ）を実行するよう命令する。一方、印刷ジョブがＣＯＰＹジョブの場合、ＣＰＵ９０１はスキャナ画像処理部９０３に、印刷ジョブに含まれる画像データに対する画像補正処理を実行するよう命令する。本ステップでは、図８（ｃ）に示すように、上部からラスタ単位で、画像処理コントローラで処理可能な１ページ分の画像データが生成され、ＲＡＭ９０８の送信バッファ領域に格納される。
【００６８】
ステップＳ１４０４において、ＣＰＵ９０１はＲＡＭ９０８の送信バッファ領域に格納されている画像データの上半分の領域、つまり第１画像処理コントローラ９１０の担当領域の内の１バンド分の画像データを、第１画像処理コントローラ９１０に送信する。具体的には、ＣＰＵ９０１は、ＡＳＩＣ間ＩＦ制御部９０６内のＤＭＡコントローラ（以下ＤＭＡＣ）に、ＤＭＡ（ＤｉｒｅｃｔＭｅｍｏｒｙＡｃｃｅｓｓ）方式で、１バンド分の画像データを第１画像処理コントローラ９１０に転送するよう命令する。命令を受けたＤＭＡＣは、１バンド分の画像データ、及び、ラベル番号の情報を、第１画像処理コントローラ９１０に転送する。ここでラベル番号の情報とは、本ステップで送信する１バンド分の画像データに対して、上述の画像処理（図５参照）を行う画像処理コントローラを識別するのに用いられる情報である。本ステップでは、転送するラベル番号の情報として、第１画像処理コントローラ９１０であること示すパラメータが用いられる。本ステップで送信する１バンド分の画像データは、第１画像処理コントローラ９１０が画像処理を担当する画像データであるから、最終的にＲＡＭ９１８の受信バッファ領域に格納される。
【００６９】
ステップＳ１４０５において、ＣＰＵ９０１はＲＡＭ９０８の送信バッファ領域に格納されている画像データの下半分の領域、つまり第２画像処理コントローラ９２０の担当領域の内の１バンド分の画像データを、第２画像処理コントローラ９２０に送信する。具体的には、ＣＰＵ９０１は、ＡＳＩＣ間ＩＦ制御部９０６内のＤＭＡＣに、ＤＭＡ方式で、１バンド分の画像データを第２画像処理コントローラ９２０に転送するよう命令する。命令を受けたＤＭＡＣは、１バンド分の画像データ、及び、ラベル番号の情報を、第１画像処理コントローラ９１０経由で第２画像処理コントローラ９２０に転送する。本ステップでは、転送するラベル番号の情報として、第２画像処理コントローラ９２０であること示すパラメータが用いられる。本ステップで送信する１バンド分の画像データは、第２画像処理コントローラ９２０が画像処理を担当する画像データであるから、最終的にＲＡＭ９２８の受信バッファ領域に格納される。
【００７０】
このように本実施例では、ステップＳ１４０４及びステップＳ１４０５において、１バンド分の画像データを、第１画像処理コントローラ９１０と第２画像処理コントローラ９２０とに交互に転送する（交互転送と呼ぶ）。図１０（ａ）は、本実施例における画像データの転送形態、即ち１バンド分の画像データを、第１画像処理コントローラ９１０と第２画像処理コントローラ９２０とに交互に転送する場合を示す図である。
【００７１】
ステップＳ１４０６において、ＣＰＵ９０１は、送信バッファ領域に格納される１ページ分の画像データの送信が完了したか判定する。具体的には、ステップＳ１４０１で生成した１ページ分の画像データの送信を完了するために全部で何バンド分の画像データを送信するかを示す情報、及び、１バンド分の画像データの転送が完了したことを示すＤＭＡＣの割り込みの回数に基づき、判定する。つまり、割り込み回数の累計が、１ページ分の画像データの送信が完了したことを示す閾値に達した場合に、１ページ分の画像データの送信が完了したと判定される。ステップＳ１４０６の判定結果が真の場合、一連の処理は終了する一方、該判定結果が偽の場合、ステップＳ１４０４に戻って画像データの送信を続ける。このようにコントローラユニット９００は、生成した画像データを１バンド分ずつ、第１画像処理コントローラ９１０から昇順に各画像処理コントローラに送信することを繰り返す、繰り返し送信処理を実行する。昇順に送信することを繰り返すとは、プリントエンジンユニットがＮ個の画像処理コントローラを備える場合、第１画像処理コントローラ、第２画像処理コントローラ・・・第Ｎ画像処理コントローラの順に画像データを送信することを繰り返すという意味である。尚、降順に（第Ｎ画像処理コントローラ・・・第２画像処理コントローラ、第１画像処理コントローラの順に）送信することを繰り返しても良い。要は、１バンド分の画像データ（バンド画像ともいう）が全ての画像処理コントローラに送信された後に、次のバンド画像が全ての画像処理コントローラに送信されることが繰り返されれば良い。以上が、本実施例におけるコントローラユニット９００で実行される処理の内容である。
【００７２】
＜本実施例の変形例について＞
上述の例では、プリントエンジンユニットが２個の画像処理コントローラを備え、１ページ分の画像データを２つの連続領域に分ける場合について説明した。しかし、本実施例はこの場合に限定されない。例えば、プリントエンジンユニットが３個の画像処理コントローラを備え、１ページ分の画像データを３つの連続領域に分けても良い。または、プリントエンジンユニットが４個の画像処理コントローラを備え、１ページ分の画像データを４つの連続領域に分けても良い。つまり本実施例は、プリントエンジンユニットが複数（Ｎ個）の画像処理コントローラを備え、１ページ分の画像データをＮ個の連続領域に分けるような場合に適用することが可能である。
【００７３】
或いは、プリントエンジンユニットが２個の画像処理コントローラを備え、１ページ分の画像データを４つの連続領域に分けて、２個の画像処理コントローラがそれぞれ２つの連続領域を担当するような実施形態も考えられる。
【００７４】
また、上述の例では、記録装置が、コントローラユニットと複数の画像処理コントローラとを備える場合について説明したが、本実施例はこの場合に限定されない。例えば、記録装置に印刷ジョブを送信するホスト装置側で図５や図９に示した処理を実行しても良い。つまり、記録装置ではなく情報処理装置が、コントローラユニットと複数の画像処理コントローラとの内の一部又は全部を備えていても良い。
【００７５】
＜本実施例の効果について＞
本実施例により、画像処理コントローラを遊休させることなく、並列に動作させることが可能になる。また、画像処理コントローラで確保しなければならない受信バッファ領域が画像データ１バンド分と少なくて済むので、画像処理コントローラのＲＡＭ容量が少ない場合にも画像処理の並列処理を可能とし、高速印刷を実現することが可能になる。
【００７６】
［実施例２］
実施例１では、１ページ分の画像データを格納する送信バッファ領域を、コントローラユニットのＲＡＭ内に確保し、画像データを１バンド分ずつ、異なる画像処理コントローラに交互に転送することで、効率的な並列処理を実現した。これに対し本実施例では、１ページ分の画像データの容量が極端に大きいために、該画像データを格納する送信バッファ領域を、コントローラユニットのＲＡＭ内に確保することが困難な場合を想定している。本実施例ではこのような場合に、コントローラユニットの送信バッファ領域を節約しつつ、画像データを複数の画像処理コントローラに送信する。尚、以下では既述の実施例との差分について主に説明し、既述の実施例と同様の内容については説明を適宜省略する。
【００７７】
＜コントローラユニットで実行される処理について＞
以下、本実施例におけるコントローラユニット９００で実行される処理について、図１１を用いて説明する。
【００７８】
ステップＳ１６０１において、ＣＰＵ９０１は、印刷ジョブを解析する。本ステップは、実施例１のステップＳ１４０１と同様である。
【００７９】
ステップＳ１６０２において、ＣＰＵ９０１は、ステップＳ１６０１の解析結果に基づき、印刷ジョブで高解像度モードが指定されているか判定する。ステップＳ１６０２の判定結果が真の場合、ステップＳ１６０８に進む。一方、この判定結果が偽の場合、ステップＳ１６０３に進む。高解像度モードとは、１２００ｄｐｉｘ１２００ｄｐｉの解像度で印刷するモードである。尚、記録装置１は、６００ｄｐｉｘ６００ｄｐｉの解像度で印刷する普通モード、又は、３００ｄｐｉｘ３００ｄｐｉの解像度で印刷する低解像度モードでも動作可能である。また、本ステップでは、高解像度モードかを判定しているが、生成する画像データの容量が所定の閾値より多いかを判定しても良い。この場合、生成する画像データの容量が所定の閾値より多い場合、ステップＳ１６０８に進む一方、該容量が該所定の閾値以下の場合、ステップＳ１６０３に進む。
【００８０】
高解像度モードではない場合（ステップＳ１６０２でＮＯの場合）に進むステップＳ１６０３〜ステップＳ１６０７は、実施例１のステップＳ１４０２〜ステップＳ１４０６と同様であるため、説明を省略する。以下、高解像度モードの場合（ステップＳ１６０２でＹＥＳの場合）について説明する。
【００８１】
ステップＳ１６０８において、ＣＰＵ９０１は、画像処理コントローラに送信する１バンド分の画像データを格納する送信バッファ領域を、ＲＡＭ９０８内に確保する。このように本実施例では、１ページ分の画像データを格納可能な送信バッファ領域を、ＲＡＭ９０８内に確保しておらず、ＲＡＭ９０８の使用領域を節約している。
【００８２】
ステップＳ１６０９において、ＣＰＵ９０１は、印刷ジョブに基づき画像処理コントローラで処理可能な画像データを生成する。実施例１のステップＳ１４０３では１ページ分の画像データを生成するのに対し、本ステップでは１バンド分の画像データを生成し、ＲＡＭ９０８の送信バッファ領域に格納する。また、本ステップで生成する１バンド分の画像データには、第１画像処理コントローラ９１０と第２画像処理コントローラ９２０との何れで画像処理を実行するかを識別するためのラベル番号が対応付けされる。このラベル番号の情報も、ＲＡＭ９０８に格納される。
【００８３】
ステップＳ１６１０において、ＣＰＵ９０１は、直近のステップＳ１６０９で送信バッファ領域に格納された１バンド分の画像データが、第１画像処理コントローラ９１０で画像処理を行う画像データであるか、ラベル番号に基づき判定する。ステップＳ１６１０の判定結果が真の場合、ステップＳ１６１１に進む一方、該判定結果が偽の場合、ステップＳ１６１２に進む。
【００８４】
ステップＳ１６１０でＹＥＳの場合、ステップＳ１６１１において、ＣＰＵ９０１は直近のステップＳ１６０９で送信バッファ領域に格納された１バンド分の画像データを、第１画像処理コントローラ９１０に送信する。具体的には、ＣＰＵ９０１は、ＡＳＩＣ間ＩＦ制御部９０６内のＤＭＡＣに、ＤＭＡ方式で、１バンド分の画像データを第１画像処理コントローラ９１０に転送するよう命令する。命令を受けたＤＭＡＣは、１バンド分の画像データ、及び、ラベル番号の情報を、第１画像処理コントローラ９１０に転送する。本ステップでは、転送するラベル番号の情報として、第１画像処理コントローラ９１０であること示すパラメータが用いられる。本ステップで送信する１バンド分の画像データは、第１画像処理コントローラ９１０が画像処理を担当する画像データであるから、最終的にＲＡＭ９１８の受信バッファ領域に格納される。
【００８５】
ステップＳ１６１０でＮＯの場合、ステップＳ１６１２において、ＣＰＵ９０１は直近のステップＳ１６０９で送信バッファ領域に格納された１バンド分の画像データを、第２画像処理コントローラ９２０に送信する。具体的には、ＣＰＵ９０１は、ＡＳＩＣ間ＩＦ制御部９０６内のＤＭＡＣに、ＤＭＡ方式で、１バンド分の画像データを第２画像処理コントローラ９２０に転送するよう命令する。命令を受けたＤＭＡＣは、１バンド分の画像データ、及び、ラベル番号の情報を、第１画像処理コントローラ９１０経由で第２画像処理コントローラ９２０に転送する。本ステップでは、転送するラベル番号の情報として、第２画像処理コントローラ９２０であること示すパラメータが用いられる。本ステップで送信する１バンド分の画像データは、第２画像処理コントローラ９２０が画像処理を担当する画像データであるから、最終的にＲＡＭ９２８の受信バッファ領域に格納される。
【００８６】
このように本実施例では、コントローラユニット９００で上から順に生成したバンド画像（図８（ｃ）参照）を順次、画像処理コントローラに転送する（順次転送と呼ぶ）。従って、まず、第１画像処理コントローラ９１０で画像処理を行う画像データが１バンドずつ第１画像処理コントローラ９１０に転送される結果、第１画像処理コントローラ９１０で担当する連続領域分の画像データが第１画像処理コントローラ９１０に転送される。その後、第２画像処理コントローラ９２０で画像処理を行う画像データが１バンドずつ第２画像処理コントローラ９２０に転送される結果、第２画像処理コントローラ９２０で担当する連続領域分の画像データが第２画像処理コントローラ９２０に転送される。図１０（ｂ）は、本実施例における画像データの送信形態を示す図である。
【００８７】
ステップＳ１６１３は、ステップＳ１６０７と同様であるため、説明を省略する。以上が、本実施例におけるコントローラユニット９００で実行される処理の内容である。
【００８８】
＜本実施例の効果について＞
本実施例により、コントローラユニットで生成する１ページ分の画像データの容量が大きいために、該画像データを格納する送信バッファ領域を確保することが困難な場合であっても、順次転送方式を採用することで、印刷処理を実行することが可能になる。
【００８９】
［実施例３］
本実施例は、上述の実施例と組み合わせて適用するものである。上述の実施例では、画像処理部９１２および画像処理部９２２は、記録データを生成するための処理として、図１０に示す一連の画像処理を実行した。これに対し本実施例では、これらの画像処理部が、インデックス展開処理（ステップＳ１００７）を実行した後に、印刷モードの内容に応じた文字品位向上処理を更に実行するような場合を想定している。文字品位向上処理とは、着目画素に対する周辺画素を参照する処理（例えばスムージング等）を実行することで、文字領域のみ文字品位を向上させる処理である。文字品位向上処理は、周辺画素を参照する処理であるため、第１画像処理コントローラ９１０が担当する連続領域と、第２画像処理コントローラ９２０が担当する連続領域とを、一部重複させて処理を実行することで、文字品位をより向上させることが可能である。
【００９０】
このような場合に、プリントエンジンユニットが画像処理コントローラに画像データを送信する形態が、上述の実施例（図１０参照）とは異なってくる。以下、具体的に説明する。
【００９１】
上述の実施例では、コントローラユニット９００は第１画像処理コントローラ９１０に、第１画像処理コントローラ９１０の担当領域の画像、つまり図１０中の第１画像処理コントローラ９１０の担当領域のバンド♯０〜♯Ｎを送信している。これに対し本実施例では、コントローラユニット９００は第１画像処理コントローラ９１０に、第１画像処理コントローラ９１０の担当領域のバンド♯０〜バンド♯Ｎを順番に送信した後、第２画像処理コントローラ９２０の担当領域のバンド♯０を送信する。
【００９２】
一方、上述の実施例では、コントローラユニット９００は第２画像処理コントローラ９２０に、第２画像処理コントローラ９２０の担当領域の画像、つまり図１０中の第２画像処理コントローラ９２０の担当領域のバンド♯０〜♯Ｎを送信している。これに対し本実施例では、コントローラユニット９００は第２画像処理コントローラ９２０に、まず第１画像処理コントローラ９１０の担当領域のバンド♯Ｎを送信し、次いで、第２画像処理コントローラ９２０の担当領域のバンド♯０〜♯Ｎを送信する。
【００９３】
このように本実施例では、第１画像処理コントローラ９１０の担当領域と第２画像処理コントローラ９２０の担当領域とが一部重複するように（隣接する連続領域間で一部重複するように）、コントローラユニット９００は画像データを送信する。但しこの場合、第１画像処理コントローラ９１０において、重複部分の画像データについて、第１画像処理コントローラ９１０と第２画像処理コントローラ９２０との何れで画像処理を実行するかを正確に判定させる必要がある。しかし、上述のラベル番号を用いるだけではその判定は困難である。従って本実施例では、重複部分の画像データを送信する際に、第１画像処理コントローラ９１０と第２画像処理コントローラ９２０と何れで画像処理を実行するかを識別するためのフラグを新たに設定する。これにより、重複部分の１バンド分の画像データを受け取った場合に、第１画像処理コントローラ９１０がフラグに基づき、第１画像処理コントローラ９１０で画像処理を実行するか、または、第２画像処理コントローラ９２０に渡すかを判定することが可能になる。
【００９４】
＜本実施例の効果について＞
本実施例により、文字品位向上処理を実行する場合にも、画像処理コントローラを遊休させることなく並列に動作させることが可能になるので、高速印刷を実現することが可能になる。
【００９５】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００９６】
９００  コントローラユニット
９１０  第１画像処理コントローラ
９２０  第２画像処理コントローラ
【図１】
2019048422.tif 000003
【図２】
2019048422.tif 000004
【図３】
2019048422.tif 000005
【図４】
2019048422.tif 000006
【図５】
2019048422.tif 000007
【図６】
2019048422.tif 000008
【図７】
2019048422.tif 000009
【図８】
2019048422.tif 000010
【図９】
2019048422.tif 000011
【図１０】
2019048422.tif 000012
【図１１】
2019048422.tif 000013