(57)【要約】【課題】複数の画像処理手段で個別に処理され生成された記録データを少ないメモリ容量で効率よく集約して１つの記録データに合成することである。【解決手段】まず、ホストから送信される印刷ジョブに基づいて記録媒体に画像を記録するために用いる画像データを生成する。次に、生成された画像データの一部を画像処理して第１の記録データを生成して第１のメモリに格納し、画像データの残りを画像処理して第２の記録データを生成して第２のメモリに格納する。そして、前記第１の記録データを第１のメモリから第２のメモリに転送し、第２のメモリに格納された第１の記録データと第２の記録データとを合成し、該合成したデータを記録データとして第３のメモリの連続領域に転送する。【選択図】  図８
2019166816.tif 000002
【特許請求の範囲】
【請求項１】
ホストから送信される印刷ジョブに基づいて記録媒体に画像を記録するために用いる画像データを生成する生成手段と、
前記生成手段により生成された画像データの一部を画像処理して第１の記録データを生成して第１のメモリに格納する第１の画像処理手段と、
前記画像データの残りを画像処理して第２の記録データを生成して第２のメモリに格納する第２の画像処理手段と、
前記第１の記録データと前記第２の記録データとを合成して外部に出力する記録データを生成し、第３のメモリに格納する合成手段と、
前記第１の記録データを前記第１のメモリから前記第２の画像処理手段の前記第２のメモリに転送する第１の転送手段と、
前記第２のメモリに格納された前記第１の記録データと前記第２の記録データとを前記合成手段の前記第３のメモリの連続領域に転送する第２の転送手段と、を有することを特徴とする画像処理装置。
【請求項２】
前記第１のメモリは２つのバッファから構成され、前記２つのバッファの１つが記録データ生成のために用いられ、もう１つのバッファが前記第２のメモリへのデータ転送に用いられ、
前記第２のメモリは５つのバッファから構成され、前記５つのバッファの１つが記録データ生成のために用いられ、別の１つのバッファが前記第１のメモリからの前記第１の記録データの受信のために用いられ、さらに別の１つのバッファが前記第１のメモリからのデータ待ちのために用いられ、残りの２つのバッファが前記第３のメモリへのデータ転送のために用いられることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第２の転送手段は前記第３のメモリへのデータ転送のためにＤＭＡを用い、
前記第２の転送手段は前記残りの２つのバッファそれぞれからのＤＭＡ転送のために、第１のＤＭＡＣと第２のＤＭＡＣとを備えることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記第２の転送手段は、前記第２のメモリに格納された前記第１の記録データと前記第２の記録データとに基づいて、前記ＤＭＡ転送のために前記第１のＤＭＡＣと前記第２のＤＭＡＣとに転送先となる前記第３のメモリの転送先アドレスが連続アドレスとなるように設定することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記記録媒体はカットシートであって、
前記生成手段は、前記カットシートの１ページに相当する画像データを生成することを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記第１の画像処理手段と前記第２の画像処理手段はそれぞれ、ＡＳＩＣで構成されることを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
請求項１乃至６のいずれか１項に記載の画像処理装置と、
前記画像処理装置から出力された記録データに基づいて記録媒体に記録を行う記録手段と、を有することを特徴とする記録装置。
【請求項８】
前記記録手段は、
前記記録媒体を搬送する搬送手段と、
前記搬送手段により搬送された前記記録媒体に対して、前記記録データに基づいてインクを吐出して画像を記録する記録ヘッドとを有することを特徴とする請求項７に記載の記録装置。
【請求項９】
前記記録ヘッドは、インクを吐出する複数のノズルを備え、
前記第１の記録データは前記複数のノズルのうち一部の連続するノズルによる記録に用いられ、
前記第２の記録データは前記複数のノズルのうち残りの連続するノズルによる記録に用いられることを特徴とする請求項８に記載の記録装置。
【請求項１０】
前記記録ヘッドは、前記記録媒体の幅に相当する記録幅をもつフルライン記録ヘッドであることを特徴とする請求項８又は９に記載の記録装置。
【請求項１１】
ホストから送信される印刷ジョブに基づいて記録媒体に画像を記録するために用いる画像データを生成する生成工程と、
前記生成工程において生成された画像データの一部を画像処理して第１の記録データを生成して第１のメモリに格納する第１の画像処理工程と、
前記画像データの残りを画像処理して第２の記録データを生成して第２のメモリに格納する第２の画像処理工程と、
前記第１の記録データを前記第１のメモリから前記第２のメモリに転送する第１の転送工程と、
前記第２のメモリに格納された前記第１の記録データと前記第２の記録データとを合成し、該合成したデータを記録データとして第３のメモリの連続領域に転送する第２の転送工程と、を有することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置、記録装置及び画像処理方法に関し、特に、例えば、インクジェット方式に従う記録ヘッドを記録に用いた記録装置に適用される画像処理に関する。
【背景技術】
【０００２】
特許文献１には、画像データを領域分割し、該領域分割した画像データを２つの画像処理用ＡＳＩＣで並列処理させることが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１９８９６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら特許文献１は、並列処理された画像データを、２つの画像処理用ＡＳＩＣを経由して記録ヘッドの動作を制御する方法を開示しているに過ぎない。そのため、並列分散処理後に１つの画像処理用ＡＳＩＣで記録ヘッドの制御を行う場合には、画像データを１つの画像処理用ＡＳＩＣに集約させることが必要である。このデータ集約のためには必要とされるメモリの容量が増大する可能性がある。例えば、記録ヘッドを搭載するキャリッジの走査方向とは垂直方向になるように画像データが連続的にメモリ上に配置されていないと、効率良く記録ヘッドへ画像データを転送することができなくなり、高速記録を実現することができない。
【０００５】
そのため、複数のＡＳＩＣで個別に処理された画像データを１つの画像データとしてメモリ上に連続的な配置で合成する必要がある。これを単純に実現しようとする場合、集約する画像処理用ＡＳＩＣのメモリに予め空き容量を確保すればよいが、常にそのＡＳＩＣでの処理に必要なメモリ容量以外のメモリ容量を確保する必要がありメモリ使用の観点からすれば無駄が多くなる。
【０００６】
また、データ集約後にデータ並び替えに必要なデータコピーを行うためには、その処理に必要なメモリの確保とコピーによるＤＭＡ処理が増加する。ＤＭＡ処理の増大は、処理負荷の増大を意味し、システム性能を維持する上で好ましくない。
【０００７】
本発明は上記従来例に鑑みてなされたもので、複数の画像処理手段で個別に処理された記録データを少ないメモリ容量で効率よく集約して１つの記録データに合成することが可能な画像処理装置、記録装置、画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために本発明の画像処理装置は次のような構成からなる。
【０００９】
即ち、ホストから送信される印刷ジョブに基づいて記録媒体に画像を記録するために用いる画像データを生成する生成手段と、前記生成手段により生成された画像データの一部を画像処理して第１の記録データを生成して第１のメモリに格納する第１の画像処理手段と、前記画像データの残りを画像処理して第２の記録データを生成して第２のメモリに格納する第２の画像処理手段と、前記第１の記録データと前記第２の記録データとを合成して外部に出力する記録データを生成し、第３のメモリに格納する合成手段と、前記第１の記録データを前記第１のメモリから前記第２の画像処理手段の前記第２のメモリに転送する第１の転送手段と、前記第２のメモリに格納された前記第１の記録データと前記第２の記録データとを前記合成手段の前記第３のメモリの連続領域に転送する第２の転送手段と、を有することを特徴とする。
【００１０】
また本発明を別の側面から見れば、上記構成の画像処理装置と、前記画像処理装置から出力された記録データに基づいて記録媒体に記録を行う記録手段と、を有することを特徴とする記録装置を備える。
【００１１】
さらに本発明を別の側面から見れば、ホストから送信される印刷ジョブに基づいて記録媒体に画像を記録するために用いる画像データを生成する生成工程と、前記生成工程において生成された画像データの一部を画像処理して第１の記録データを生成して第１のメモリに格納する第１の画像処理工程と、前記画像データの残りを画像処理して第２の記録データを生成して第２のメモリに格納する第２の画像処理工程と、前記第１の記録データを前記第１のメモリから前記第２のメモリに転送する第１の転送工程と、前記第２のメモリに格納された前記第１の記録データと前記第２の記録データとを合成し、該合成したデータを記録データとして第３のメモリの連続領域に転送する第２の転送工程と、を有することを特徴とする画像処理方法を備える。
【発明の効果】
【００１２】
本発明によれば、複数の画像処理手段で個別に処理された記録データを、メモリ使用量を増やすことなく集約して、少ないメモリ容量で効率よく集約して１つの記録データに合成することができるという効果がある。
【図面の簡単な説明】
【００１３】
【図１】本発明の代表的な実施例である記録ヘッドを備えた記録装置の構造を示す側断面図である。
【図２】図１に示した記録装置の制御構成を示すブロック図である。
【図３】図２に示した制御構成のうち、画像処理に係る詳細な制御構成を示すブロック図である。
【図４】図２〜図３に画像処理コントローラで実行される一連の画像処理を示すフローチャートである。
【図５】２つの画像処理コントローラによる分散処理を説明する図である。
【図６】画像処理コントローラ２０５’での１ページ分の記録のための画像データの並びとプリントコントローラでの画像データ並びを模式的に示した図である。
【図７】２つ画像処理コントローラそれぞれのバッファ数と、各画像処理コントローラでのバッファ管理時のバッファの状態と状態遷移を示す図である。
【図８】カットシート５ページ分の印刷に用いる画像データを処理した場合の２つの画像処理コントローラの各バッファの状態遷移を例示する図である。
【図９】画像処理コントローラ２０５のバッファ管理の状態を変化させるバッファ制御とバッファステータス制御を示すフローチャートである。
【図１０】画像処理コントローラ２０５’のバッファ管理の状態を変化させるバッファ制御を示すフローチャートである。
【図１１】画像処理コントローラ２０５’のバッファステータス制御を示すフローチャートである。
【図１２】画像処理コントローラ２０５’がプリントコントローラ２０２へ記録データを転送する際の処理を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下添付図面を参照して本発明の好適な実施例について、さらに具体的かつ詳細に説明する。
【００１５】
なお、この明細書において、「記録」（「プリント」という場合もある）とは、文字、図形等有意の情報を形成する場合のみならず、有意無意を問わない。また人間が視覚で知覚し得るように顕在化したものであるか否かを問わず、広く記録媒体上に画像、模様、パターン等を形成する、または媒体の加工を行う場合も表すものとする。
【００１６】
また、「記録媒体」とは、一般的な記録装置で用いられる紙のみならず、広く、布、プラスチック・フィルム、金属板、ガラス、セラミックス、木材、皮革等、インクを受容可能なものも表すものとする。
【００１７】
さらに、「インク」（「液体」と言う場合もある）とは、上記「記録（プリント）」の定義と同様広く解釈されるべきものである。従って、記録媒体上に付与されることによって、画像、模様、パターン等の形成または記録媒体の加工、或いはインクの処理（例えば記録媒体に付与されるインク中の色剤の凝固または不溶化）に供され得る液体を表すものとする。
【００１８】
またさらに、「ノズル（「記録素子」という場合もある）」とは、特にことわらない限り吐出口ないしこれに連通する液路およびインク吐出に利用されるエネルギーを発生する素子を総括して言うものとする。
【００１９】
以下に用いる記録ヘッド用の素子基板（ヘッド基板）とは、シリコン半導体からなる単なる基体を指し示すものではなく、各素子や配線等が設けられた構成を差し示すものである。
【００２０】
さらに、基板上とは、単に素子基板の上を指し示すだけでなく、素子基板の表面、表面近傍の素子基板内部側をも示すものである。また、本発明でいう「作り込み（built-in）」とは、別体の各素子を単に基体表面上に別体として配置することを指し示している言葉ではなく、各素子を半導体回路の製造工程等によって素子板上に一体的に形成、製造することを示すものである。
【００２１】
＜フルライン記録ヘッドを搭載した記録装置（図１）＞
図１は本発明の代表的な実施例であるインクジェット記録装置（以下、記録装置）の内部構成を示す側断面図である。図１において、Ｙ方向は水平方向、Ｘ方向（紙面垂直方向）はインクジェット記録ヘッド（以下、記録ヘッド）８に備えられた複数のノズルの配列方向、Ｚ方向は鉛直方向をそれぞれ示す。
【００２２】
記録装置１は、プリント部２とスキャナ部３を備える複合機であり、記録動作と読取動作に関する様々な処理を、プリント部２とスキャナ部３で個別にあるいは連動して実行することができる。スキャナ部３は、ＡＤＦ（オートドキュメントフィーダ）とＦＢＳ（フラットベッドスキャナ）を備えており、ＡＤＦで自動給紙される原稿の読取りと、ユーザによってＦＢＳの原稿台に搭載された原稿の読取り（スキャン）を行うことができる。なお、この実施例では、プリント部２とスキャナ部３を併せ持った複合機を例として説明しているが、スキャナ部３を備えない形態であってもよい。図１は、記録装置１が記録動作も読取動作も行っていない待機状態にあるときを示す。
【００２３】
プリント部２において、筐体４の鉛直方向下方の底部には、記録媒体（カットシート）Ｓを収容するための第１カセット５Ａと第２カセット５Ｂが着脱可能に設置されている。第１カセット５ＡにはＡ４サイズまでの比較的小さな記録媒体が、第２カセット５ＢにはＡ３サイズまでの比較的大きな記録媒体が、平積みに収容されている。第１カセット５Ａ近傍には、収容されている記録媒体を１枚ずつ分離して給送するための第１給送ユニット６Ａが設けられている。同様に、第２カセット５Ｂ近傍には、第２給送ユニット６Ｂが設けられている。記録動作が行われる際にはいずれか一方のカセットから選択的に記録媒体Ｓが給送される。
【００２４】
搬送ローラ７、排出ローラ１２、ピンチローラ７ａ、拍車７ｂ、ガイド１８、インナーガイド１９およびフラッパ１１は、記録媒体Ｓを所定の方向に導くための搬送機構である。搬送ローラ７は記録媒体の搬送方向に関し記録ヘッド８の上流側および下流側に配置され、搬送モータ（不図示）によって駆動される。ピンチローラ７ａは、搬送ローラ７と共に記録媒体Ｓをニップして回転する従動ローラである。排出ローラ１２は、記録媒体の搬送方向に関し、搬送ローラ７の下流側に配置され、搬送モータ（不図示）によって駆動される。拍車７ｂは、記録媒体の搬送方向に関して記録ヘッド８の下流側に配される搬送ローラ７及び排出ローラ１２と共に記録媒体Ｓを挟持して搬送する。
【００２５】
ガイド１８は記録媒体Ｓの搬送経路に設けられ、記録媒体Ｓを所定の方向に案内する。インナーガイド１９は、ｙ方向に延在する部材で湾曲した側面を有し、当該側面に沿って記録媒体Ｓを案内する。フラッパ１１は、両面記録動作の際に、記録媒体Ｓが搬送される方向を切替えるための部材である。排出トレイ１３は記録動作が完了し排出ローラ１２によって排出された記録媒体Ｓを積載保持するためのトレイである。
【００２６】
記録ヘッド８は、インクジェット方式に従ってカラー記録が可能なフルライン記録ヘッドであり、記録データに従ってインクを吐出する吐出口が、図１におけるｙ方向に沿って記録媒体Ｓの幅に相当する分だけ複数配列されている。記録ヘッド８が待機位置にあるとき、記録ヘッド８の吐出口面８ａは、図１のように鉛直下方を向きキャップユニット１０によってキャップされている。記録動作を行う際は、後述するプリントコントローラ２０２によって、吐出口面８ａがプラテン９と対向するように記録ヘッド８の向きが変更される。プラテン９は、ｙ方向に延在する平板によって構成され、記録ヘッド８によって記録動作が行われる記録媒体Ｓを背面から支持する。
【００２７】
インクタンクユニット１４は、記録ヘッド８へ供給される４色のインクをそれぞれ貯留する。インク供給ユニット１５は、インクタンクユニット１４と記録ヘッド８を接続する流路の途中に設けられ、記録ヘッド８内のインクの圧力及び流量を適切な範囲に調整する。ここではインク供給方法として循環型のインク供給を採用しており、インク供給ユニット１５は記録ヘッド８へ供給されるインクの圧力と記録ヘッド８から回収されるインクの流量を適切な範囲に調整する。
【００２８】
メンテナンスユニット１６はキャップユニット１０とワイピングユニット１７を備え、所定のタイミングでこれらを作動させて記録ヘッド８に対するメンテナンスを実行する。
【００２９】
図２は記録装置１における制御構成を示すブロック図である。
【００３０】
記録装置１の制御は、主にプリント部２を統括するプリントエンジンユニット２００と、スキャナ部３を統括するスキャナエンジンユニット３００と、記録装置１全体を統括するコントローラユニット１００とが協働することで実現される。プリントコントローラ２０２は、コントローラユニット１００のメインコントローラ１０１の指示に従ってプリントエンジンユニット２００の各種機構を制御する。スキャナエンジンユニット３００の各種機構はコントローラユニット１００のメインコントローラ１０１によって制御される。
【００３１】
以下に制御構成の詳細について説明する。
【００３２】
コントローラユニット１００において、ＣＰＵにより構成されるメインコントローラ１０１は、ＲＯＭ１０７に記憶されているプログラムや各種パラメータに従って、ＲＡＭ１０６を作業領域としながら記録装置１全体を制御する。例えば、ホストＩ／Ｆ１０２またはワイヤレスＩ／Ｆ１０３を介してホスト装置４００から印刷ジョブが入力されると、メインコントローラ１０１の指示に従って、画像処理部１０８が受信した画像データに対して所定の画像処理を施す。そして、メインコントローラ１０１はプリントエンジンＩ／Ｆ１０５を介して、画像処理を施した画像データをプリントエンジンユニット２００へ送信する。
【００３３】
なお、記録装置１は無線通信や有線通信を介してホスト装置４００から画像データを取得しても良いし、記録装置１に接続された外部記憶装置（ＵＳＢメモリ等）から画像データを取得しても良い。無線通信や有線通信に利用される通信方式は限定されない。例えば、無線通信に利用される通信方式として、Ｗｉ−Ｆｉ（Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ）（登録商標）やＢｌｕｅｔｏｏｔｈ（登録商標）が適用可能である。また、有線通信に利用される通信方式としては、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等が適用可能である。また、例えば、ホスト装置４００から読取コマンドが入力されると、メインコントローラ１０１は、スキャナエンジンＩ／Ｆ１０９を介してこのコマンドをスキャナ部３に送信する。
【００３４】
操作パネル１０４は、ユーザが記録装置１に対して入出力を行うための機構である。ユーザは、操作パネル１０４を介してコピーやスキャン等の動作を指示したり、印刷モードを設定したり、記録装置１の情報を認識したりすることができる。
【００３５】
プリントエンジンユニット２００において、ＣＰＵにより構成されるプリントコントローラ２０２は、ＲＯＭ２０３に記憶されているプログラムや各種パラメータに従って、ＲＡＭ２０４を作業領域としながら、プリント部２が備える各種機構を制御する。コントローラＩ／Ｆ２０１を介して各種コマンドや画像データが受信されると、プリントコントローラ２０２は、これを一旦ＲＡＭ２０４に保存する。記録ヘッド８が記録動作に利用できるように、プリントコントローラ２０２は画像処理コントローラ２０５、２０５’に、保存した画像データを記録データへ変換させる。記録データが生成されると、プリントコントローラ２０２は、ヘッドＩ／Ｆ２０６を介して記録ヘッド８に記録データに基づく記録動作を実行させる。この際、プリントコントローラ２０２は、搬送制御部２０７を介して図１に示す給送ユニット６Ａ、６Ｂ、搬送ローラ７、排出ローラ１２、フラッパ１１を駆動して、記録媒体Ｓを搬送する。プリントコントローラ２０２の指示に従って、記録媒体Ｓの搬送動作に連動して記録ヘッド８による記録動作が実行され、印刷処理が行われる。
【００３６】
尚、ここでは、プリントエンジンユニット２００が２つの画像処理コントローラ（ＡＳＩＣ）２０５、２０５’１つのＲＯＭ２０３、及び１つのＲＡＭ２０４を備える例を示している。しかし、プリントエンジンユニット２００が備える画像処理コントローラ（ＡＳＩＣ）、ＲＯＭ、ＲＡＭの数はこの例に限定されるものではない。例えば、画像処理コントローラの数は３つ以上の複数ユニットであっても良い。
【００３７】
ヘッドキャリッジ制御部２０８は、記録装置１のメンテナンス状態や記録状態といった動作状態に応じて記録ヘッド８の向きや位置を変更する。インク供給制御部２０９は、記録ヘッド８へ供給されるインクの圧力が適切な範囲に収まるように、インク供給ユニット１５を制御する。メンテナンス制御部２１０は、記録ヘッド８に対するメンテナンス動作を行う際に、メンテナンスユニット１６におけるキャップユニット１０やワイピングユニット１７の動作を制御する。
【００３８】
スキャナエンジンユニット３００においては、メインコントローラ１０１が、ＲＯＭ１０７に記憶されているプログラムや各種パラメータに従って、ＲＡＭ１０６を作業領域としながら、スキャナコントローラ３０２のハードウェア資源を制御する。これにより、スキャナ部３が備える各種機構は制御される。例えば、コントローラＩ／Ｆ３０１を介してメインコントローラ１０１がスキャナコントローラ３０２内のハードウェア資源を制御することにより、ユーザによってＡＤＦに搭載された原稿を、搬送制御部３０４を介して搬送し、センサ３０５によって読取る。そして、スキャナコントローラ３０２は読取った画像データをＲＡＭ３０３に保存する。
【００３９】
なお、プリントコントローラ２０２は、上述のように取得された画像データを記録データに変換することで、記録ヘッド８に、スキャナコントローラ３０２で読取った画像データに基づく記録動作を実行させることが可能である。
【００４０】
以下、以上説明したようにプリントエンジンユニットが２つの画像処理コントローラを備えた構成において、コントローラユニットで生成した画像データを分割し、２つの画像処理コントローラ夫々で並列に画像処理を実行する例について説明する。
【００４１】
＜画像処理に係る詳細な制御構成について＞
図３は画像処理に係る詳細な制御構成を示すブロック図である。
【００４２】
図３（ａ）に示すように、記録装置１は、コントローラユニット１０１、画像処理コントローラ２０５、画像処理コントローラ２０５’、及びプリントコントローラ２０２から成るプリントエンジンユニット２００を備える。このように、記録装置１は画像処理に関係する４つのコントローラを備えている。まず、コントローラユニット１０１は、画像処理コントローラ２０５、画像処理コントローラ２０５’で画像処理を行う画像データを生成するメインコントローラとして機能する。また、画像処理コントローラ２０５及び画像処理コントローラ２０５’は、コントローラユニット１０１に対するサブコントローラとして機能する。
【００４３】
コントローラユニット１０１では、入力された印刷ジョブに基づき、画像処理コントローラ２０５、画像処理コントローラ２０５’で処理可能な画像データを生成する処理が実行される。例えば、コントローラユニット１０１のレンダラ処理部９０２は、ホスト装置４００からホストＩＦ制御部９０４を介して送られたページ記述言語（以下、ＰＤＬ）データに基づき、１ページ分の画像データを生成する。また、例えば、スキャナ画像処理部９０３は、スキャナエンジンユニット３００からスキャナＩＦ制御部９０５を介して送られたスキャンデータに基づき、１ページ分の画像データを生成する。レンダラ処理部９０２又はスキャナ画像処理部９０３で生成された画像データは、コントローラユニット１０１のＲＡＭ９０８に一時的に格納され、画像処理コントローラ２０５又は画像処理コントローラ２０５’に分割して送信される。
【００４４】
以降、送信対象の画像データが格納されるＲＡＭ内の領域を送信バッファ領域と呼ぶ。
【００４５】
送信バッファ領域に格納された画像データは、ＡＳＩＣ間ＩＦ制御部９０６を介して画像処理コントローラ２０５に送信され、画像処理コントローラ２０５のＲＡＭ９１８に格納される。以降、受信した画像データが格納されるＲＡＭの領域を、受信バッファ領域と呼ぶ。なお、ここでは、ＡＳＩＣ間ＩＦにＰＣＩＥｘｐｒｅｓｓ（ＰＣＩｅ）を採用し、ＰＣＩｅにおけるプロトコル処理及びＤＭＡ制御をＡＳＩＣ間ＩＦ制御部で行うものとする。
【００４６】
ＲＡＭ９１８の受信バッファ領域に格納された画像データに関して、画像処理コントローラ２０５のＣＰＵ９１１は、画像処理コントローラ２０５で記録データを生成する画像処理（記録データ生成処理）を行うべき画像データであるか判定する。ここで、画像処理コントローラ２０５で記録データ生成処理を行うべき画像データであると判定した場合、ＣＰＵ９１１は、ＲＡＭ９１８の受信バッファ領域に格納されている画像データに基づき記録データを生成するよう画像処理部９１２に命令する。一方、画像処理コントローラ２０５で記録データ生成処理を行うべき画像データではないと判定した場合、ＲＡＭ９１８の受信バッファ領域に格納されている画像データを、ＡＳＩＣ間ＩＦ制御部９１４を介して画像処理コントローラ２０５’に転送する。この画像データは、画像処理コントローラ２０５’のＲＡＭ９２８の受信バッファ領域に格納される。
【００４７】
ＲＡＭ９１８の受信バッファ領域に格納された画像データに基づいて、画像処理部９１２が生成した記録データは、ＲＡＭ９１８に格納される。以降、記録データが格納されるＲＡＭの領域を、プリントバッファ領域と呼ぶ。ＲＡＭ９１８のプリントバッファ領域に格納された記録データは、ＡＳＩＣ間ＩＦ制御部９１４を介して画像処理コントローラ２０５’に送信され、ＲＡＭ９２８のプリントバッファ領域に格納される。
【００４８】
画像処理コントローラ２０５’の画像処理部９２２は、ＲＡＭ９２８の受信バッファ領域に格納されている画像データに基づき記録データを生成する。画像処理部９２２で生成された記録データは、ＲＡＭ９２８のプリントバッファ領域に格納される。上述したように、ＲＡＭ９２８のプリントバッファ領域には、画像処理コントローラ２０５で生成された記録データも格納されるので、最終的に、該プリントバッファ領域において、１ページ分の記録データが生成されることとなる。
【００４９】
ＲＡＭ９２８のプリントバッファ領域において１ページ分の記録データの生成が完了した場合、ＣＰＵ９２１は、該１ページ分の記録データに基づく記録開始を、プリントコントローラ２０２に通知する。かかる通知の後に、ＣＰＵ９２１は、ＲＡＭ９２８のプリントバッファ領域に格納されている記録データを、ＡＳＩＣ間ＩＦ制御部９２４を介してプリントコントローラ２０２に転送する。ここでのデータ転送はＤＭＡ転送を用い、そのためにＤＭＡコントローラ（ＤＭＡＣ）が内蔵されている。プリントコントローラ２０２に送信された記録データは、ＲＡＭ９３８に格納される。
【００５０】
プリントコントローラ２０２は、画像処理コントローラ２０５’から記録開始を通知された後、記録データを受信し、該受信した記録データをＲＡＭ９３８に格納する。その後、ＨＶ処理部９３１は、ＲＡＭ９３８に格納された記録データに対してＨＶ変換処理を実行する。ＨＶ変換処理によって並び替えられた記録データは、再びＲＡＭ９３８に格納される。記録制御部９３４は、ＲＡＭ９３８に格納されたＨＶ変換処理後の記録データを記録ヘッド８に送信することで記録媒体に画像を形成する記録動作を制御する。
【００５１】
＜画像処理コントローラで実行される記録データ生成のための画像処理について＞
ここでは、画像処理コントローラ２０５や画像処理コントローラ２０５’で実行される、記録データを生成するための一連の画像処理について説明する。
【００５２】
図３（ｂ）は画像処理コントローラ２０５と画像処理コントローラ２０５’との夫々が備える構成を示している。図３（ｂ）に示すように、各画像処理コントローラは、入力色変換処理部９９１と、ＭＣＳ処理部９９２と、インク色変換処理部９９３と、ＨＳ処理部９９４と、ＯＰＧ処理部と９９５と、量子化処理部９９６と、インデックス展開処理部９９７とを備える。各構成要素が実行する処理の詳細は、図４を用いて後述する。
【００５３】
図４は各画像処理コントローラで実行される一連の画像処理を示すフローチャートである。
【００５４】
まず、ステップＳ１００１において、入力色変換処理部９９１は、入力画像データを、記録装置１の色再現域に対応した画像データに変換する入力色変換処理を実行する。入力画像データは、例えば、モニタの表現色であるｓＲＧＢ等の色空間座標中の色座標（Ｒ，Ｇ，Ｂ）を示すデータである。入力色変換処理部９９１は、例えば、各色成分８ビットのＲＧＢの入力画像データをマトリクス演算処理や三次元ルックアップテーブル（以下、３ＤＬＵＴ）を用いた処理等の既知の手法により記録装置１の色再現域の画像データ（Ｒ’，Ｇ’，Ｂ’）に変換する。ここでは、３ＤＬＵＴを用い、これに補間演算を併用して入力色変換処理を行う。
【００５５】
ステップ１００２において、マルチカラーシェーデシング（ＭＣＳ）処理部９９２は、入力色変換処理部９９１で変換された画像データ、即ち、記録装置１の色再現域の画像データ（Ｒ’，Ｇ’，Ｂ’）に対して色味の差を補正するＭＣＳ処理を実行する。ＭＣＳ処理とは単位領域毎に画像データを変換する処理であり、言い換えると、連続する複数ノズル間で同一のパラメータを適用することで、数ノズル単位でＲＧＢ信号を補正する処理である。ＭＣＳ処理の結果、記録装置１の色再現域の画像データ（Ｒ’，Ｇ’，Ｂ’）は、画像データ（Ｒ”，Ｇ”，Ｂ”）に変換される。このＭＣＳ処理では、複数の３ＤＬＵＴの中から各単位領域に対応する３ＤＬＵＴを用いた変換処理を実行することで、単位領域毎に画像データを変換している。ＭＣＳ処理を実行することで、後続のステップＳ１００４におけるＨＳ処理のみでは補正しきれない、記録ヘッド８におけるノズルの吐出特性のばらつきに起因する色差を低減することが可能となる。
【００５６】
ステップＳ１００３において、インク色変換処理部９９３は、ＭＣＳ処理部９９２によって処理されたＲＧＢ各色成分８ビットの画像データ（Ｒ”，Ｇ”，Ｂ”）を、インクの色信号データによる画像データに変換するインク色変換処理を実行する。記録装置１はブラック（Ｋ）、シアン（Ｃ）、マゼンタ（Ｍ）、イエロ（Ｙ）のインクを用いることから、ＲＧＢ信号の画像データは、ＫＣＭＹ各色成分８ビットの色信号からなる画像データに変換される。なお、ステップＳ１００３のインク色変換処理もステップＳ１００１の入力色変換処理部と同様、３ＤＬＵＴを用い、これに補間演算を併用して行う。
【００５７】
ステップＳ１００４では、ヘッドシェーディング（ＨＳ）処理部９９４はＫＣＭＹ各色成分８ビットの色信号の画像データを、記録ヘッド８を構成する各ノズルのインク吐出量に応じたインク色信号の画像データに変換するヘッドシェーディング処理を実行する。ＨＳ処理では、インク色とノズル配列方向の位置とに応じて決まる一次元ルックアップテーブル（以下、１ＤＬＵＴ）を用いる変換処理を実行する。
ステップＳ１００５において、アウトプットガンマ（ＯＰＧ）処理部９９５は、ＨＳ処理された各８ビットのインク色信号からなる画像データに対して、インク色毎にＯＰＧ処理用の１ＤＬＵＴを用いたガンマ補正処理を実行する。
【００５８】
ステップＳ１００６において、量子化処理部９９６は、ガンマ補正処理された各８ビット２５６値のインク色の画像データを低階調化する量子化処理を実行する。なお、ステップＳ１００６で実行する量子化処理に用いる方法は特に限定されない。例えば、誤差拡散法を用いても良いし、又は、閾値マトリクスを用いたディザ法等の他の疑似中間調処理を用いても良い。
【００５９】
ステップＳ１００７において、インデックス展開処理部９９７は、ステップＳ１００６で低階調化された画像データに基づき、記録「１」または非記録「０」を表す１ビットの２値データを生成するインデックス展開処理を実行する。
【００６０】
以上が、この実施例における画像処理コントローラで実行される記録データを生成するための一連の画像処理の内容である。
【００６１】
＜コントローラユニットから画像処理コントローラに画像データを
転送する時の制約について＞
これまで述べてきたように、プリントエンジンユニット２００は２つの画像処理コントローラを備えている。そして、コントローラユニット１０１で生成した画像データを分割して、２つの画像処理コントローラ夫々で並列に分割した画像データに対する一連の画像処理を行う。ここで、コントローラユニット１０１で生成した画像データを分割して２つの画像処理コントローラに転送する際、２つの画像処理コントローラを遊休させることなく効率的な処理を実現するために注意すべき２つの制約がある。
【００６２】
まず、１つ目の制約について説明する。
【００６３】
図５は２つの画像処理コントローラによる分散処理を説明する図である。
【００６４】
図５（ａ）は、記録ヘッド８における各色インクのノズルの配列方向と理想的なＨＳ処理方向との位置関係を示す図である。上述したように、ＨＳ処理は、連続する複数ノズル（ここでは４ノズル）単位で各インク色の信号値を補正する画像処理である。つまりＨＳ処理では、連続する複数ノズル単位で同一のテーブルのパラメータを適用していることから、ＨＳ処理における理想的な処理方向とは、途中でテーブルを切り替える必要が無い方向、つまりノズルの配列方向（ｙ方向）に垂直な方向（ｘ方向）となる。尚、ここで述べたことはＭＣＳ処理に対しても適用される。つまり、ＭＣＳ処理における理想的な処理方向も、ノズルの配列方向（ｙ方向）に垂直な方向（ｘ方向）となる。
【００６５】
従って、図５（ａ）におけるｘ方向に沿ってＨＳ処理（又はＭＣＳ処理）を上から順に実行した場合に、テーブルを切り替える回数は最も少なくなるため、処理効率が最良になる。よって、コントローラユニット１０１は、生成した画像データを、複数ノズル単位、つまりバンド単位で、画像処理コントローラ２０５又は画像処理コントローラ２０５’に送信することが望ましい。
【００６６】
続いて、２つ目の制約について説明する。
【００６７】
図５（ｂ）は、記録ヘッド８における各色インクのノズルの配列方向と、記録方向と、画像処理コントローラ２０５で画像処理を行う領域及び画像処理コントローラ２０５’で画像処理を行う領域との位置関係を示す図である。以降、画像処理コントローラ２０５で画像処理を行う領域を、画像処理コントローラ２０５の担当領域と呼び、画像処理コントローラ２０５’で画像処理を行う領域を、画像処理コントローラ２０５’の担当領域と呼ぶ。
【００６８】
画像処理コントローラ２０５、画像処理コントローラ２０５’で実行する処理の中には、誤差拡散を用いた量子化処理等の周辺画素を参照する処理が含まれる。従って、処理効率の観点から、コントローラユニット１０１が画像処理コントローラに転送する画像データは連続性を有すること、つまり、連続領域の画像データであることが望ましい。このため、この実施例では、図５（ｂ）に示すように、１ページ分の画像データの内の上半分の領域を画像処理コントローラ２０５の担当領域とし、下半分の領域を画像処理コントローラ２０５’の担当領域としている。
【００６９】
＜プリントコントローラでＨＶ変換処理する制約について＞
プリントコントローラ２０２は、ＲＡＭ９３８に格納された記録データに対して、画像処理コントローラ２０５と画像処理コントローラ２０５’で２つに分割された領域の境界を気にすることなく、ＨＶ変換処理することが望ましい。具体的には、記録データは領域の境界に関係なく、ＲＡＭ９３８上には連続アドレスとなり、連続的にＤＭＡ処理とＨＶ変換処理を行うことが望ましい。これに対応しない場合、ＤＭＡ処理やＨＶ変換処理の起動回数が増え、ソフトウェアによるオーバヘッドが大きくなり、システム性能を満たすことが難しくなる。
【００７０】
図６は画像処理コントローラ２０５’での１ページ分の記録のための画像データの並びとプリントコントローラでの画像データ並びを模式的に示した図である。
【００７１】
図６（ａ）は記録データのデータ並び２００１が上半分の領域と下半分の領域とでＲＡＭ９３８で連続アドレスの配置になっていない様子を示している。
【００７２】
従って、領域を分散した処理を施した後だとしても、可能な限りメモリ容量やデータ処理の負荷を最小限に抑えた上で、ＲＡＭ９３８上には連続した記録画像を配置することが望ましい。
【００７３】
図６（ｂ）は記録データのデータ並び２００２の全体がＲＡＭ９３８で連続アドレスの配置となっている様子を示している。
【００７４】
＜２つの画像処理コントローラでの記録データのバッファ制御について＞
この実施例に従う画像処理コントローラ２０５と画像処理コントローラ２０５’は、上記の制約を受けつつ、記録データのバッファ管理制御を実行し記録データをプリントコントローラに送信する点に特徴がある。以下、そのバッファ管理制御と記録データの送信に係る一連の処理について説明する。
【００７５】
図７は２つ画像処理コントローラ２０５、２０５’のバッファ数と、各画像処理コントローラでのバッファ管理時のバッファの状態と状態遷移を示す図である。
【００７６】
ここでは、画像処理コントローラ２０３’がカットシート３ページ分の印刷に相当する記録データを一時的にバッファリングできる例を示す。ここでは、１ページを２つの画像処理コントローラ２０５、２０５’で分担しているため、その分担する単位を１つのバッファ管理単位とする。この単位の場合、図７に示すように、画像処理コントローラ２０５ではバッファは２個（バッファ１、２）、画像処理コントローラ２０５’ではバッファは５個（バッファ１〜５）とする。
【００７７】
画像処理コントローラ２０５のバッファ管理は、バッファの状態遷移１であり状態遷移は“記録データ生成中”と“画像処理コントローラ２０５’へ転送中”の２つである。画像処理コントローラ２０５’のバッファ管理は、バッファの状態遷移２と３である。状態遷移２は“記録データ生成中”と“画像処理コントローラ２０５からのデータ待ち”と“プリントコントローラへ転送中”の３つである。状態遷移３は“画像処理コントローラ２０５からのデータ受信中”と“プリントコントローラへ転送中”の２つである。
【００７８】
図８はカットシート５ページ分の印刷に用いる画像データを処理した場合の画像処理コントローラ２０５、２０５’の各バッファの状態遷移を例示する図である。
【００７９】
図８によれば、１ページ目の処理で、ほとんどのバッファはＥｍｐｔｙ（空）の状態から始まり、各コントローラでは１つのみ状態が変わる。具体的には、Ｅｍｐｔｙから“記録データ生成中”に変化する。次のページでは、他のバッファが“記録データ生成中”に変化し、先ほどの“記録データ生成中”となっていたバッファは、“画像処理コントローラ２０５’へ転送中”あるいは“画像処理コントローラ２０５からデータ受信中”に変化する。さらに次のページでは、画像処理コントローラ２０５’には１ページ分の記録データが集まったため、“プリントコントローラへ転送中”の状態へ変わる。このようにして、各バッファがページ単位でバッファの役割が順次変わっていく。
【００８０】
図５〜図６に示した構成によれば、記録ヘッド８のノズル配列方向をその記録幅としている。そして、その記録幅に関し、上半分での記録に用いる記録データは画像処理コントローラ２０５で生成され、下半分での記録に用いる記録データは画像処理コントローラ２０５’で生成される。そして、カットシート１ページ分の上半分と下半分にそれぞれ相当する画像処理が終了した段階で、上半分についての記録データは画像処理コントローラ２０５のバッファに下半分についての記録データは画像処理コントローラ２０５’のバッファに格納される。
【００８１】
ここで、図８に戻って説明を続けると、画像処理コントローラ２０５のバッファに格納された記録データは次のページの画像データについて画像処理を実行して記録データを生成中に画像処理コントローラ２０５’のバッファへと転送される。そして、さらに次のページの処理の画像データについて画像処理を実行して記録データを生成中に、画像処理コントローラ２０５’は上半分と下半分のデータを合わせた記録データを２つのバッファから同時にプリントコントローラ２０２へ転送する。
【００８２】
そして、図８によれば、画像処理コントローラ２０５’は各ページの処理において、５つのバッファのうち２つのバッファの状態が同時に“プリントコントローラへ転送中”という状態をとることができる。このため、画像処理コントローラ２０５’に内蔵する上述したＤＭＡＣは２つのバッファからのＤＭＡデータ転送のためＤＭＡＣ１とＤＭＡＣ２という２つのＤＭＡＣを備える。
【００８３】
なお、この実施例では、記録ヘッドの記録幅を上半分と下半分に均等に２分割し、２つの画像処理コントローラが上半分と下半分とに対応する画像データについての画像処理を実行しているが処理と画像データの分割の方法は、これに限定されるものではない。各画像処理コントローラの処理能力に合わせて一部の画像データと残りの画像データのように不均等に分割しても良く、また、３つ以上の画像処理コントローラを用いて、並列処理を行っても良い。いずれにしても、複数の画像処理コントローラのいずれか１つにある複数のバッファに各画像処理によって生成された記録データを集約し、その記録データをプリントコントローラのＲＡＭにＤＭＡ転送可能な構成であれば良い。
【００８４】
図９は画像処理コントローラ２０５のバッファ管理の状態を変化させるバッファ制御（バッファ制御Ａ）とバッファステータス制御（バッファステータス制御Ａ）を示すフローチャートである。
【００８５】
まず、ステップＳ１６０１では印刷ジョブを解析しページ枚数を取得する。ステップＳ１６０２では、バッファ制御パラメータｐａｇｅを“０”に設定し、ｐａｇｅ＿ｍａｘを“５”に設定する。さらにステップＳ１６０３で画像処理コントローラ２０５の全てのバッファのうち１つがＥｍｐｔｙになるまで処理を待ち合わせる（ＷＡＩＴ）。そして、バッファの状態がＥｍｐｔｙになれば、ステップＳ１６０４へ進む。ステップＳ１６０４ではバッファ１の状態がＥｍｐｔｙかどうかをチェックする。ここで、バッファ１の状態がＥｍｐｔｙであれば処理はステップＳ１６０５へ進み、そうでなければ処理はステップＳ１６０６へ進む。ステップ１６０５では、バッファ管理対象Ａをバッファ１と指定する。一方、ステップ１６０６では、バッファ管理対象Ａをバッファ２と指定する。
【００８６】
ステップＳ１６０７では、バッファ管理対象Ａが指定済なので、その該当バッファに対して、バッファステータス制御Ａの処理を行うように指示する。その指示後、処理はそのままステップＳ１６０８へ進む。ステップＳ１６０８では、バッファ制御パラメータｐａｇｅに“１”を加算し、ステップＳ１６０９へ進む。ステップＳ１６０９では、ｐａｇｅ＿ｍａｘがバッファ制御パラメータｐａｇｅよりも大きいかどうかをチェックする。ここで、ｐａｇｅ＿ｍａｘがｐａｇｅより大きいなら、処理はステップＳ１６０３へ戻る。これに対して、ｐａｇｅ＿ｍａｘがｐａｇｅ以下（実際にはｐａｇｅ＿ｍａｘとｐａｇｅが同じ値）となり、処理が最終ページに達していると判断されれば、処理はそのまま終了する。
【００８７】
ここで、バッファステータス制御Ａの処理の詳細を説明する。
【００８８】
図９の右側に示したフローチャートによれば、ステップＳ１６１１で管理対象のバッファＡのステータスを“記録データ生成中”に変更する。ステップＳ１６１２では記録データ生成処理が完了するまで処理を待ち合わせる（ＷＡＩＴ）。さらにステップＳ１６１３では、管理対象のバッファＡの状態を“画像処理コントローラ２０５’へ転送中”に変更する。ステップＳ１６１４では、画像処理コントローラ２０５’への転送が完了するまで処理を待ち合わせる（ＷＡＩＴ）。そして、ステップＳ１６１５では、管理対象のバッファＡの状態を“Ｅｍｐｔｙ”に変更する。このようにして、バッファの状態遷移１を実現する。
【００８９】
図１０は画像処理コントローラ２０５’のバッファ管理の状態を変化させるバッファ制御を示すフローチャートである。
【００９０】
まず、ステップＳ１７０１では印刷ジョブを解析し、ページ枚数を取得する。ステップＳ１７０２では、バッファ制御パラメータｐａｇｅに“０”に設定し、ｐａｇｅ＿ｍａｘを“５”に設定する。ステップＳ１７０３では画像処理コントローラ２０５’の全てのバッファのうち２つがＥｍｐｔｙになるまで処理を待ち合わせる（ＷＡＩＴ）。ここで、これらバッファの状態がＥｍｐｔｙになれば、処理はステップＳ１７０４へ進む。
【００９１】
ステップ１７０４では、バッファ１の状態がＥｍｐｔｙかどうかをチェックする。ここで、バッファ１の状態がＥｍｐｔｙであれば、処理はステップＳ１７０８へ進み、そうでなければ、処理はステップＳ１７０５へ進む。ステップＳ１７０８ではバッファ管理対象Ｂをバッファ１と指定する。一方、ステップＳ１７０５でバッファ２の状態がＥｍｐｔｙかどうかをチェックする。ここで、バッファ２の状態がＥｍｐｔｙであれば、処理はステップＳ１７０９へ進み、そうでなければ、処理はステップＳ１７０６へ進む。ステップＳ１７０９では、バッファ管理対象Ｂをバッファ２と指定する。一方、ステップＳ１７０６ではバッファ３の状態がＥｍｐｔｙかどうかをチェックする。
【００９２】
ここで、バッファ３の状態がＥｍｐｔｙであれば、処理はステップＳ１７１０へ進み、そうでなければ、処理はステップＳ１７０７へ進む。ステップＳ１７１０ではバッファ管理対象Ｂをバッファ３と指定する。一方、ステップＳ１７０７では、バッファ４の状態がＥｍｐｔｙかどうかをチェックする。ここで、バッファ４の状態がＥｍｐｔｙであれば、処理はステップＳ１７１１へ進み、そうでなければ、処理はステップＳ１７１２へ進む。そして、ステップＳ１７１１ではバッファ管理対象Ｂをバッファ４と指定し、ステップＳ１７１２ではバッファ管理対象Ｂをバッファ５と指定する。
【００９３】
ステップＳ１７０８〜Ｓ１７１２のいずれの処理の後も、処理はステップＳ１７１３に進む。ステップＳ１７１３では、バッファ管理対象Ｇが既に指定済なのでその該当するバッファに対してバッファステータス制御Ｂの処理を行うように指示する。その指示後、処理はそのままステップＳ１７１４へ進む。
【００９４】
ステップＳ１７１４ではバッファ１の状態がＥｍｐｔｙかどうかをチェックする。ここで、バッファ１の状態がＥｍｐｔｙであれば、処理はステップＳ１７１８へ進み、そうでなければ、処理はステップＳ１７１５へ進む。ステップＳ１７１８ではバッファ管理対象Ｃをバッファ１と指定する。一方、ステップＳ１７１５ではバッファ２の状態がＥｍｐｔｙかどうかをチェックする。ここで、バッファ２の状態がＥｍｐｔｙであれば、処理はステップＳ１７１９へ進み、そうでなければ、処理はステップＳ１７１６へ進む。ステップＳ１７１９ではバッファ管理対象Ｃをバッファ２と指定する。一方、ステップＳ１７１６ではバッファ３の状態がＥｍｐｔｙかどうかをチェックする。ここで、バッファ３の状態がＥｍｐｔｙであれば、処理はステップＳ１７２０へ進み、そうでなければ、処理はステップＳ１７１７へ進む。ステップＳ１７２０ではバッファ管理対象Ｃをバッファ３と指定する。一方、ステップ１７１７ではバッファ４の状態がＥｍｐｔｙかどうかをチェックする。
【００９５】
ここで、バッファ４の状態がＥｍｐｔｙであれば処理はステップＳ１７２１へ進み、そうでなければ、処理はステップＳ１７２２へ進む。ステップＳ１７２１ではバッファ管理対象Ｃをバッファ４と指定する。一方、ステップＳ１７２２ではバッファ管理対象Ｃをバッファ５と指定する。
【００９６】
ステップＳ１７１８〜Ｓ１７２２のいずれの処理の後も、処理はステップＳ１７２３に進む。ステップＳ１７２３では、バッファ管理対象Ｃが既に指定済なので、その該当するバッファに対してバッファステータス制御Ｃの処理を行うように指示する。その指示後、処理はステップＳ１７２４へ進む。ステップＳ１７２４では、バッファ制御パラメータｐａｇｅに“１”を加算し、処理はステップＳ１７２５へ進む。
【００９７】
ステップＳ１７２５では、ｐａｇｅ＿ｍａｘがバッファ制御パラメータｐａｇｅよりも大きいかどうかをチェックする。ここで、ｐａｇｅ＿ｍａｘがｐａｇｅより大きいなら、処理はステップＳ１７０３へ戻る。これに対して、ｐａｇｅ＿ｍａｘがｐａｇｅ以下（実際にはｐａｇｅ＿ｍａｘとｐａｇｅが同じ値）となり、処理が最終ページに達していると判断されれば、処理はそのまま終了する。
【００９８】
図１１は図１０で言及した画像処理コントローラ２０５’のバッファステータス制御ＢとＣを示すフローチャートである。
【００９９】
まず、バッファステータス制御Ｂについて説明する。
【０１００】
ステップＳ１８０１では、管理対象のバッファＢの状態を“記録データ生成中”に変更する。ステップＳ１８０２では記録データ生成処理が完了するまで処理を待ち合わせる（ＷＡＩＴ）。ステップＳ１８０３では、管理対象のバッファＢのステータスを“画像処理コントローラ２０５からデータ待ち”に変更する。ステップＳ１８０４では、画像処理コントローラ２０５からの記録データの受信が完了するまで処理を待ち合わせる（ＷＡＩＴ）。
【０１０１】
さらに、ステップ１８０５では、管理対象のバッファＢの状態を“プリントコントローラへ転送中”に変更する。ステップＳ１８０６では、プリントコントローラへのデータ転送が完了するまで処理を待ち合わせる（ＷＡＩＴ）。そして、ステップＳ１８０７では、管理対象のバッファＢの状態を“Ｅｍｐｔｙ”に変更する。このようにして、バッファの状態遷移２を実現する。
【０１０２】
次に、バッファステータス制御Ｃについて説明する。
【０１０３】
図１１によれば、ステップＳ１８１１では管理対象のバッファＣの状態を“画像処理コントローラ２０５からデータ受信中”に変更する。ステップＳ１８１２では画像処理コントローラ２０５からのデータの受信が完了するまで処理を待ち合わせる（ＷＡＩＴ）。ステップＳ１８１３では、管理対象のバッファＣのステータスを“プリントコントローラへ転送中”に変更する。ステップＳ１８１４では、プリントコントローラへのデータ転送が完了するまで処理を待ち合わせる（ＷＡＩＴ）。ステップＳ１８１５では、管理対象のバッファＣの状態を“Ｅｍｐｔｙ”に変更する。このようにして、バッファの状態遷移３を実現する。
【０１０４】
以上説明した図９〜図１１に示す制御を実行することで、分散処理された記録データの格納に必要な領域を画像処理コントローラ２０５’のＲＡＭに予め物理アドレスとして確保しなくても、画像処理コントローラ２０５’のＲＡＭに集約することができる。これにより、画像処理コントローラ２０５’のＲＡＭとしては管理対象バッファを１つ分減らすことができる。
【０１０５】
続けて、このバッファを実際にプリントコントローラ２０２のＲＡＭ９３８にどのようにして連続アドレスとして格納するかについて説明する。
【０１０６】
図１２は画像処理コントローラ２０５’がプリントコントローラ２０２へ記録データを転送する際の処理を示すフローチャートである。
【０１０７】
まず、ステップＳ１９０１では、管理対象バッファＣの転送先アドレスを設定する。具体的には、ＤＭＡ先頭アドレスＡに図６（ｂ）に示す記録データ並び２００２の記録制御アドレスＡを設定し、ＤＭＡオフセットアドレスＡに記録制御アドレスＣを設定する。
【０１０８】
次に、ステップＳ１９０２では、管理対象バッファＢの転送先アドレスを設定する。具体的には、ＤＭＡ先頭アドレスＢに図６（ｂ）に示す記録データ並び２００２の記録制御アドレスＢを設定し、ＤＭＡオフセットアドレスＢに記録制御アドレスＤを設定する。
【０１０９】
ステップＳ１９０３では、ＤＭＡＣ１にＤＭＡ先頭アドレスＡとＤＭＡオフセットアドレスＡを設定する。さらに、ステップＳ１９０４で、ＤＭＡＣ２にＤＭＡ先頭アドレスＢとＤＭＡオフセットアドレスＢを設定する。
【０１１０】
最後に、ステップＳ１９０５で、ＤＭＡＣ１とＤＭＡＣ２をスタートさせて、記録データをプリントコントローラのＲＡＭ９３８へのデータ転送を開始する。これにより、図６（ａ）に示す記録データ並び２００１のように、ページの上と下の半分の領域が連続したアドレスに配置されていなかったデータが図６（ｂ）に示す記録データ並び２００２のように上半分と下半分の領域が連続したアドレスに配置される。
【０１１１】
従って以上説明した実施例に従えば、１ページ分の画像データを２つの画像処理コントローラで処理領域を分割して並列処理した場合でも少ない容量のメモリを効率的に利用してデータを集約し、記録ヘッドへ転送前に１つの記録データに合成することができる。
【符号の説明】
【０１１２】
１  記録装置、８  記録ヘッド、１０１  コントローラユニット、１０５  カセット、
２００  プリントエンジンユニット、２０２  プリントコントローラ、
２０５、２０５’  画像処理コントローラ、Ｓ  記録媒体（カットシート）
【図１】
2019166816.tif 000003
【図２】
2019166816.tif 000004
【図３】
2019166816.tif 000005
【図４】
2019166816.tif 000006
【図５】
2019166816.tif 000007
【図６】
2019166816.tif 000008
【図７】
2019166816.tif 000009
【図８】
2019166816.tif 000010
【図９】
2019166816.tif 000011
【図１０】
2019166816.tif 000012
【図１１】
2019166816.tif 000013
【図１２】
2019166816.tif 000014