(57)【要約】      （修正有）【課題】      ハードウエアユニットが処理可能な最大バンド幅を超える画像データを，画像処理の効率を低下させずに処理可能な画像処理装置を提供する。【解決手段】  第１のラスタ数をＮ（＝２）等分した第２のラスタ数(h/2)の単位で順次読み出し，当該読み出した画像データを第１のバンド幅をＮ（＝２）等分した第２のバンド幅(Wb/2)であって第１のラスタ数(h)の画像データとして，画像処理ユニットに順次入力して処理させ，画像処理ユニットにより処理された第２のバンド幅(Wb/2)であって第１のラスタ数(h)の処理済み画像データを，内部メモリに第１のバンド幅(Wb)で第１のラスタ数(h)の画像データとして書き込む。最大バンド幅を超えるバンド幅の画像データを，ラスタ方向にＮ等分して分割し，ラスタ長さをＮ等分した画像データとして画像処理ユニットに供給する。画像処理済みの画像データは，合成して元のサイズの画像データにする。【選択図】    図９
2006264257.tif 000002
【特許請求の範囲】
【請求項１】
印刷ページを複数のラスタ毎に分割したバンド単位で，画像データに所定の画像処理を行う画像処理装置であって，
前記処理対象のバンド単位の画像データが第１のバンド幅で第１のラスタ数の容量を有し，
処理可能な最大バンド幅を有し前記所定の画像処理を行う画像処理ユニットと，
前記画像データを格納する内蔵メモリと，
前記内蔵メモリに格納された前記処理対象のバンド単位の画像データについて，前記第１のラスタ数をＮ等分した第２のラスタ数の単位で順次読み出し，当該読み出した画像データを前記第１のバンド幅をＮ等分した第２のバンド幅であって前記第１のラスタ数の画像データとして，前記画像処理ユニットに順次入力して処理させ，前記画像処理ユニットにより処理された前記第２のバンド幅であって第１のラスタ数の処理済み画像データを，前記内部メモリに前記第１のバンド幅で第１のラスタ数の画像データとして書き込む制御手段とを有する画像処理装置。
【請求項２】
請求項１において，
前記内蔵メモリ内のアドレスについてのテーブルであって，前記第１のバンド幅であって第１のラスタ数の画像データ単位を，前記第２のバンド幅であって第１のラスタ数の画像データ単位に変換するアドレス群を有する第１のラスタアドレステーブル（ＲＡＴ２）と，前記第２のバンド幅で第１のラスタ数の処理済み画像データ単位を，前記第１のバンド幅で第１のラスタ数の画像データ単位に変換するアドレス群を有する第２のラスタアドレステーブル（ＲＡＴ３）とが生成され，
前記制御手段は，前記第１のラスタアドレステーブル（ＲＡＴ２）に基づいて，前記内蔵メモリから前記処理対象の画像データの読み出しを行い，前記第２のラスタアドレステーブル（ＲＡＴ３）に基づいて，前記処理済みの画像データを前記内蔵メモリに書き込む画像処理装置。
【請求項３】
請求項１において，
前記制御手段は，前記内蔵メモリ内に書き込んだ処理済みの画像データを，前記第１のバンド幅で第１のラスタ数の画像データとして読み出し，画像再生信号として印刷エンジンに出力する画像処理装置。
【請求項４】
請求項１において，
前記画像処理ユニットは，第１の色空間から第２の色空間に色変換する処理ユニットであり，
前記処理対象の画像データは，第１の色空間の各色に対応するプレーン毎に前記第１のバンド幅であって第１のラスタ数の画像データを有し，
前記処理済みの画像データは，前記第２の色空間の各色に対応するプレーン毎に前記第２のバンド幅であって第１のラスタ数の画像データを有する画像処理装置。
【請求項５】
印刷ページを複数のラスタ毎に分割したバンド単位で，画像データに所定の画像処理を行う画像処理装置であって，
前記処理対象のバンド単位の画像データが第１のバンド幅で第１のラスタ数の容量を有し，
処理可能な最大バンド幅を有し前記所定の画像処理を行う画像処理ユニットと，
前記画像データを格納する内蔵メモリと，
前記内蔵メモリに格納された前記処理対象のバンド単位の画像データについて，前記第１のラスタ数をＮ等分した第２のラスタ数の単位で順次読み出し，当該読み出した画像データを前記第１のバンド幅をＮ等分した第２のバンド幅の画像データとして，前記画像処理ユニットに順次入力して処理させ，前記画像処理ユニットにより処理された前記第２のバンド幅の処理済み画像データを，前記内部メモリに前記第１のバンド幅で第１のラスタ数の画像データとして書き込む制御手段とを有する画像処理装置。
【請求項６】
印刷ページを複数のラスタ毎に分割したバンド単位で，画像データに所定の画像処理を行う画像処理装置であって，
前記処理対象のバンド単位の画像データが第１のバンド幅で第１のラスタ数の容量を有し，
処理可能な最大バンド幅を有し前記所定の画像処理を行う画像処理ユニットと，
前記画像データを格納する内蔵メモリと，
前記内蔵メモリに格納された前記処理対象のバンド単位の画像データについて，前記最大バンド幅で前記第１のラスタ数の単位で順次読み出し，当該読み出した画像データを前記最大バンド幅の画像データとして，前記画像処理ユニットに順次入力して処理させ，前記画像処理ユニットにより処理された前記最大バンド幅の処理済み画像データを，前記内部メモリに前記第１のバンド幅で第１のラスタ数の画像データとして書き込む制御手段とを有する画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，バンド単位で画像処理を行う画像処理装置に関し，特に，画像処理ユニットの処理可能なバンド幅を超える画像データに対する画像処理を行う画像処理装置に関する。
【背景技術】
【０００２】
プリンタなどの画像形成装置は，ホストコンピュータからの印刷データを受信して印刷用の画像再生信号を生成する画像処理装置（所謂コントローラ）と，画像処理装置からの画像再生信号を受信して印刷データに対応する画像を形成する印刷エンジンとを有する。一般的な画像形成装置では，ホストコンピュータからページ記述言語（ＰＤＬ）で記述された印刷データを受信し，印刷データからビットマップ画像データを展開し，ビットマップ画像データから印刷エンジンの画像形成に直接利用可能な画像再生信号を生成し，印刷エンジンに出力する。通常，１印刷ページ分のビットマップ画像データを内部メモリ内に展開すると，そのデータ量が膨大になり，画像処理装置のコストアップを招く。そこで，１印刷ページを複数のバンド領域に分割し，印刷データからビットマップ画像データの展開に適した中間コードをバンド単位で生成し，その中間コードからビットマップ画像データへの展開処理，印刷エンジンのトナー色への色変換処理，二値化処理などの各種画像処理をバンド単位で行う。バンド単位で画像処理を行うことで，一時的に展開された画像データの容量を小さくすることができ，メモリの大容量化を回避することができる。
【０００３】
このように印刷データから中間コードをバンド単位で生成し，その後，バンド単位で画像処理を行うことは，例えば特許文献１に記載されている。
【０００４】
画像処理装置は，色変換処理などを専門に行うハードウエアユニットと，展開処理や二値化処理などをソフトウエアの実行により行うと共に，ハードウエアユニットの制御を行う中央処理ユニットと，内部メモリとで構成される。そして，色変換処理ユニットなどのハードウエアユニットは，バンド単位で画像処理するよう構成される。
【０００５】
その場合に，近年において問題となっている点は，画像処理装置の低コスト化の要請から，色変換処理ユニットなどのハードウエアユニットの処理単位が，より高度な画像処理の要請と乖離していることにある。低コスト化の要請からハードウエアユニットの１回の処理単位が制限的になるのに対して，より高度な画像処理が要求される画像処理装置において，コストダウンの要請から，上記の処理単位が制限的なハードウエアユニットを使用することが求められている。例えば，６００ｄｐｉでＡ４版の印刷データをバンド単位で処理可能なハードウエアユニットを利用して，それより高い解像度（例えば１２００ｄｐｉ）のＡ４版の印刷データのビットマップ画像データをバンド単位で処理する画像処理装置がある。このような場合，処理対象のビットマップ画像データがハードウエアユニットの処理可能なバンド幅を超えることがある。その場合，一般的な方法として，１バンド単位のビットマップ画像データを，複数のバンド幅に分割してそれぞれ別のバンドの画像データを生成し，その画像データをバンド単位で処理し，生成された画像データを合成して，元のバンド幅のビットマップ画像データにすることが行われる。
【０００６】
図１は，従来におけるバンド単位のビットマップ画像データの処理を示す図である。この例は，バンドバッファＢ−ＢＵＦ１内の１バンド分のＲＧＢの画像データＢＮＤａが，ハードウエアユニットで処理可能な最大バンド幅Ｗｂｍａｘを超えるバンド幅Ｗｂを有している。この画像データＢＮＤａは，バンド幅Ｗｂ，ラスタ数ｈのデータ量を有する。これに対して，色変換を行うハードウエアユニットの処理可能なバンド幅Ｗｂｍａｘが，処理単位の画像データＢＮＤａのバンド幅Ｗｂより小さい。そのため，画像データＢＮＤａを１回で色変換処理することができない。
【０００７】
そこで，処理可能な最大バンド幅Ｗｂｍａｘで分割して，バンド幅Ｗｂｍａｘの画像データＢＮＤａ１と，残りの画像データに架空の画像データ（図中破線部）を加えたバンド幅Ｗｂｍａｘの画像データＢＮＤａ２を生成する。そして，それぞれの画像データＢＮＤａ１，ＢＮＤａ２を色変換ユニットで色変換処理を行い，ＣＭＹＫの画像データＢＮＤｂ１，ＢＮＤｂ２を生成する。そして，画像データＢＮＤｂ１と画像データＢＮＤｂ２の一部とを合成して，ＣＭＹＫの画像データＢＮＤｂを生成する。
【特許文献１】特開平１０−４００３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
図１に示した方法では，ハードウエアユニットが処理可能な最大バンド幅を超える画像データの処理を行うために，それを分割した中間的な画像データＢＮＤａ１，ＢＮＤａ２を生成する必要があり，さらに，色変換処理された画像データＢＮＤｂ１，ＢＮＤｂ２を合成する必要がある。これらの中間的画像データを生成するためには，画像処理内の内蔵メモリに画像データを書き込む必要があると共に，中間的画像データを合成するためには，内蔵メモリから中間的画像データを読み出し，合成した画像データを書き込む必要がある。したがって，中間的画像データの生成と合成のための処理が伴い，そのための画像処理の負担が大きくなる。特に，画像処理ユニット内では，中央処理ユニットがこれらの画像データのリードとライトを制御するので，そのような画像処理は中央処理ユニットの負荷を重くするという課題を有する。
【０００９】
そこで，本発明の目的は，ハードウエアユニットが処理可能な最大バンド幅を超える画像データを，画像処理の効率を低下させずに処理可能な画像処理装置を提供することにある。
【課題を解決するための手段】
【００１０】
上記の目的を達成するために，本発明の第１の側面によれば，
印刷ページを複数のラスタ毎に分割したバンド単位で，画像データに所定の画像処理を行う画像処理装置であって，
前記処理対象のバンド単位の画像データが第１のバンド幅で第１のラスタ数の容量を有し，
処理可能な最大バンド幅を有し前記所定の画像処理を行う画像処理ユニットと，
前記画像データを格納する内蔵メモリと，
前記内蔵メモリに格納された前記処理対象のバンド単位の画像データについて，前記第１のラスタ数をＮ等分した第２のラスタ数の単位で順次読み出し，当該読み出した画像データを前記第１のバンド幅をＮ等分した第２のバンド幅であって前記第１のラスタ数の画像データとして，前記画像処理ユニットに順次入力して処理させ，前記画像処理ユニットにより処理された前記第２のバンド幅であって第１のラスタ数の処理済み画像データを，前記内部メモリに前記第１のバンド幅で第１のラスタ数の画像データとして書き込む制御手段とを有する。
【００１１】
上記の第１の側面によれば，画像処理ユニットが処理可能な最大バンド幅を超えるバンド幅の画像データに対して，１つのバンドの画像データを，ラスタ数をＮ等分した画像データの単位で内蔵メモリから読み出し，各ラスタのデータをＮ等分して最大バンド幅より小さい第２のバンド幅で第１のラスタ数の画像データ単位で画像処理ユニットに供給して画像処理を行わせ，画像処理済みの画像データ単位を元の第１のバンド幅で第１のラスタ数の画像データとして内蔵メモリに書き込む。したがって，画像処理ユニットの処理可能な最大バンド幅を超える画像データに対して，画像処理ユニットに入力可能な画像データの単位を新たに内部メモリ内に生成する必要がなく，画像処理の負担を軽減することができる。
【００１２】
上記の第１の側面において，好ましい態様によれば，前記内蔵メモリ内のアドレスについてのテーブルであって，前記第１のバンド幅であって第１のラスタ数の画像データ単位を，前記第２のバンド幅であって第１のラスタ数の画像データ単位に変換するアドレス群を有する第１のラスタアドレステーブル（ＲＡＴ２）と，前記第２のバンド幅で第１のラスタ数の処理済み画像データ単位を，前記第１のバンド幅で第１のラスタ数の画像データ単位に変換するアドレス群を有する第２のラスタアドレステーブル（ＲＡＴ３）とが生成され，前記制御手段は，前記第１のラスタアドレステーブルに基づいて，前記内蔵メモリから前記処理対象の画像データの読み出しを行い，前記第２のラスタアドレステーブル（ＲＡＴ３）に基づいて，前記処理済みの画像データを前記内蔵メモリに書き込む。
【００１３】
第１及び第２のラスタアドレステーブルを利用することにより，内蔵メモリ内の画像処理対象の画像データの読み出し時に第１のバンド幅の画像データ単位を第２のバンド幅の画像データ単位に変換し，内蔵メモリ内への画像処理済み画像データの書き込み時に第２のバンド幅の画像データ単位を第１のバンド幅の画像データ単位に変換することができ，内蔵メモリへの追加のコピー処理を伴うことなく，画像処理ユニットが処理可能な最大バンド幅を超えるバンド幅の画像データを処理することができる。
【００１４】
さらに，上記の側面において，好ましい態様によれば，前記制御手段は，前記内蔵メモリ内に書き込んだ処理済みの画像データを，前記第１のバンド幅で第１のラスタ数の画像データとして読み出し，画像再生信号として印刷エンジンに出力する。
【発明を実施するための最良の形態】
【００１５】
以下，図面にしたがって本発明の実施の形態について説明する。但し，本発明の技術的範囲はこれらの実施の形態に限定されず，特許請求の範囲に記載された事項とその均等物まで及ぶものである。
［バンド単位での画像データの処理］
図２は，本実施の形態における画像形成装置であるプリンタの概略構成図である。図２（Ａ）では，ホストコンピュータＨＯＳＴからページ記述言語で記述された印刷データＰＤＬが，画像形成装置の一例であるプリンタ１０のコントローラ１２に供給される。コントローラ１２は，印刷データＰＤＬを中間コードに変換し，中間コードからビットマップ画像データ（多値の階調データ）をバンドバッファＢ−ＢＵＦ内に展開し，展開されたビットマップ画像データについて色変換などの所定の画像処理を行い，それから生成した画像再生信号１６を印刷エンジン２４に供給する。この場合，コントローラ１２が画像処理装置に対応する。
【００１６】
図２（Ｂ）では，ホストコンピュータＨＯＳＴ内のプリンタドライバＰ−ＤＲが，印刷データＰＤＬからバンド領域毎の中間コードＩＣを生成し，その中間コードＩＣをプリンタ１０のコントローラ１２に供給する。コントローラ１２は，供給された中間コードＩＣに基づいてビットマップ画像データをバンドバッファＢ−ＢＵＦに展開し，展開されたビットマップ画像データについて色変換などの所定の画像処理を行い，それから生成した画像再生信号１６を印刷エンジン２４に供給する。この場合もコントローラ１２が画像処理装置に対応する。
【００１７】
図３は，本実施の形態における画像形成装置であるプリンタの詳細構成図である。プリンタ１０は，画像処理装置に対応するコントローラ１２と，印刷エンジン２４とで構成される。プリンタ１０が図２（Ａ）のプリンタ１０に対応する場合であれば，コントローラ１２は，ホストコンピュータからプリント制御言語の印刷データＰＤＬを受信するインターフェースＩＦと，印刷データＰＤＬをバンド領域毎の中間コードＩＣに変換するとともに，中間コードに基づいてビットマップ画像データを展開する中央処理ユニットＣＰＵと，ビットマップ画像データをＲＧＢの色空間からからＣＭＹＫの色空間に色変換を行う色変換ユニット１８と，中央処理ユニットＣＰＵによりビットマップ画像データが二値化されたデータを画像再生信号１６であるパルス信号に変換するパルス変調ユニットＰＷＭとを有する。これらは内部バス２２により接続される。そして，パルス変調ユニットにより生成される画像再生信号１６が印刷エンジン２４に供給される。さらに，コントローラ１２は，メモリユニット１４を有し，メモリユニット１４には，中間コードが格納される中間コードバッファＩＣ−ＢＵＦと，ビットマップ画像データが格納されるバンドバッファＢ−ＢＵＦ１，Ｂ−ＢＵＦ２とが確保される。バンドバッファＢ−ＢＵＦ１には中間コードから展開されたＲＧＢのビットマップ画像データが格納され，バンドバッファＢ−ＢＵＦ２にはＣＭＹＫに色変換されたビットマップ画像データが格納される。
【００１８】
プリンタ１０が図２（Ｂ）のプリンタ１０に対応する場合は，コントローラ１２のインターフェースＩＦがホストコンピュータから中間コードＩＣを受信し，中間コードバッファＩＣ−ＢＵＦに格納する。そして，コントローラ１２は，中間コードに基づいてバンドバッファＢ−ＢＵＦ１内にビットマップ画像データを展開し，色変換した画像データをバンドバッファＢ−ＢＵＦ２内に格納する。
【００１９】
図４は，本実施の形態における画像処理のフローチャート図である。図２（Ａ）のプリンタを例にして，画像処理について説明する。まず，ホストコンピュータＨＯＳＴが印刷データＰＤＬを生成し，プリンタ１０に供給する（Ｓ１０）。プリンタ１０では，中央処理ユニットＣＰＵが印刷データから中間コードをバンド毎に生成し，中間コードバッファＩＣ−ＢＵＦに格納する（Ｓ１２）。
【００２０】
図５は，画像処理におけるバンドと中間コードを示す図である。図５では，印刷ページ１が７つのバンド領域ＢＮＤ１〜ＢＮＤ７に分割されている。各バンドは，複数のラスタ（行）で構成される。図５の例では，印刷ページ１内に，円図形２と矩形図形３とイメージ４とが形成される。印刷データＰＤＬは，円や矩形の図形オブジェクト２，３について，その識別コードと印刷ページ内の位置とサイズ，描画の色などのデータで記述する。また，イメージ４は，その識別コードと印刷ページ内の位置とサイズなどで記述され，さらに，ＲＧＢの各プレーンについて多値の階調データからなるビットマップ画像データファイルを有する。
【００２１】
図５には，バンドＢＮＤ３内の図形オブジェクト２ａ，３ａを展開するための中間コードＩｃｏｄｅの一例が示される。円２ａの中間コードは，識別コード「ＣＩＲ」と，バンドＢＮＤ３内のオブジェクト２ａの左上の座標値「Ｘ１，Ｙ１」と，幅及び高さ「Ｗ１，Ｈ１」とを有する。これに加えて，図示しないが，円２ａの色データや模様データも付加される。また，矩形３ａの中間コードは，識別コード「ＲＥＣ」と，バンドＢＮＤ３内のオブジェクト３ａの左上の座標値「Ｘ２，Ｙ２」と，幅及び高さ「Ｗ２，Ｈ２」とを有する。さらに，図示しない色データや模様データも付加される。
【００２２】
図６は，コントローラ内のメモリユニットの構成図である。コントローラ１２は，メモリユニット１４内にバンド領域に対応したポインタ列の領域ＰＬと，中間コードバッファＩＣ−ＢＵＦとを確保し，ポインタ列領域ＰＬに初期値としてＮＵＬＬコードを書き込んでおく。
【００２３】
印刷データは，各印刷ページ内の図形オブジェクトのコードを有し，コントローラ１２の中央処理ユニットＣＰＵは，印刷データを解釈し，印刷ページ内のどこの領域にどのような文字，図形，イメージを形成すべきかを検出し，バンド領域毎に印刷すべき文字，図形，イメージに対応する中間コードを生成する（Ｓ１２）。そして，その中間コードを中間コードバッファＩＣ−ＢＵＦに書き込む。その時，図６に示すように，生成された中間コードのバンド領域に対応するポインタ列領域ＰＬ内に，中間コードバッファＩＣ−ＢＵＦ内のアドレスＡＤＤ２〜ＡＤＤ６が書き込まれる。
【００２４】
図５，６の例では，印刷ページ１内に形成される図形及びイメージオブジェクト２，３，４は，バンドＢＮＤ２〜ＢＮＤ６に位置し，バンドＢＮＤ１，ＢＮＤ７には存在しない。したがって，ポインタ列ＰＬのバンドＢＮＤ１，ＢＮＤ７は，初期値ＮＵＬＬコードのままであり，それ以外のところにアドレスが書き込まれる。
【００２５】
ＰＤＬ形式の印刷データは，通常１印刷ページ毎に区切られており，その印刷プレーン内の印刷データを解釈して中間コードに変換することで，１印刷ページ内の図形オブジェクトに対応する中間コードが全て中間コードバッファＩＣ−ＢＵＦに格納される。この中間コードは，ビットマップ画像データに比較して容量が小さいので，１ページ分を生成しても中間コードバッファＩＣ−ＢＵＦの容量はそれほど大きくない。
【００２６】
次に，コントローラ１２は，バンド単位で画像処理を行う。まず，中央処理ユニットＣＰＵがポインタ列ＰＬのアドレスＡＤＤ２に基づいて，中間コードバッファＩＣ−ＢＵＦからバンドＢＮＤ２の中間コードを読み出し，その中間コードからＲＧＢのビットマップ画像データを生成し，バンドバッファＢ−ＢＵＦ１内に書き込む（Ｓ１４）。これがビットマップ画像データへの展開処理である。
【００２７】
このＲＧＢのビットマップ画像データは，ＲＧＢの３つのプレーン別の，画素毎の多値階調データであり，例えば，それぞれ８ビット，２５６階調のデータである。したがって，解像度と印刷ページの幅に応じて，バンド単位のビットマップ画像データは，そのデータ容量が異なる。したがって，解像度が高くなればなるほど，または印刷ページの幅が大きくなればなるほど，ビットマップ画像データのバンド幅も大きくなる。
【００２８】
ビットマップ画像データは，多値の階調データでありデータ容量が大きくなるが，バンド単位であればそのデータ容量は比較的小さくなる。したがって，以後，バンド単位で画像データについて必要な画像処理を行うことで，メモリユニット１４内に大容量のバッファ領域を確保する必要がない。
【００２９】
次に，コントローラ１２は，色変換ユニット１８によりバンドバッファＢ−ＢＵＦ１内のＲＧＢビットマップ画像データを色変換し，ＣＭＹＫのビットマップ画像データに変換し，バンドバッファＢ−ＢＵＦ２内に書き込む（Ｓ１６）。このＣＭＹＫのビットマップ画像データも同様に画素毎の多値階調データであり，ＣＭＹＫの４つのプレーンについてそれぞれ８ビット，２５６階調のデータである。
【００３０】
さらに，コントローラ１２は，メモリユニット１４のバンドバッファＢ−ＢＵＦ２内のＣＭＹＫビットマップ画像データを読み出し，中央処理ユニットＣＰＵにより二値化して，ＣＭＹＫの二値化ビットマップ画像データをパルス幅変調器ＰＷＭに供給し，パルス幅変調させる（Ｓ１８）。そして，画像再生信号１６が印刷エンジン２４に供給される（Ｓ２０）。上記の二値化処理は，中央処理ユニットに代えて，専用ハードウエアからなる二値化ユニットによって行われても良い。
【００３１】
図７は，本実施の形態における画像処理ユニットの一例である色変換ユニットの構成図である。色変換ユニット１８は，専用ハードウエアからなり，バンド単位のＲＧＢビットマップ画像データを入力バッファ２６に入力し，色変換モジュール２８がＣＭＹＫのビットマップ画像データを生成する。メモリユニットのバンドバッファＢ−ＢＵＦ１には，バンド単位でＲＧＢの３つのプレーンのビットマップ画像データが格納されている。色変換ユニット１８は，それらの画像データを，順次入力バッファ２６内の対応する入力バッファＲ，Ｇ，Ｂに格納すると，各画素のＲＧＢ画像データを色変換モジュール２８に供給し，ＣＭＹＫの画像データに変換する。この画像データは，ＣＭＹＫの４プレーンの多値階調データである。
【００３２】
入力バッファ２６は，そのメモリ容量から処理可能な最大バンド幅を有する。つまり，バンド単位の画像データは，その解像度や印刷ページサイズに応じて，異なるバンド幅を有する。そして，色変換ユニット１８が１回の処理で処理可能なＲＧＢビットマップ画像データには，所定のバンド幅限界がある。これが色変換モジュール２８の処理可能な最大バンド幅に該当する。
【００３３】
図８は，画像処理対象の画像データ単位を示す図である。コントローラ１２の中央処理ユニットＣＰＵは，中間コードバッファＩＣ−ＢＵＦ内の中間コードをバンド単位でビットマップ画像データに展開する（Ｓ１４）。そして，展開されたＲＧＢのビットマップ画像データは，バンドバッファＢ−ＢＵＦ１内に書き込まれる。このＲＧＢのビットマップ画像データは，ＲＧＢの３色のプレーンについて，それぞれ画素毎に例えば８ビットの多値階調データであり，あるバンド幅Ｗｂを有し，バンド高さに対応するラスタ数ｈからなる。したがって，中央処理ユニットＣＰＵは，バンドバッファＢ−ＢＵＦ１内のアドレスを有するラスタアドレステーブルＲＡＴ１に基づいて，バンドバッファＢ−ＢＵＦ１内のアドレスＡｄｄ１１，Ａｄｄ１２〜Ａｄｄ１ｈに，ラスタ１，２〜ｈのビットマップ画像データを書き込む。
【００３４】
図８の例では，バンドバッファＢ−ＢＵＦ１内に展開された画像データのバンド幅Ｗｂが，色変換ユニット１８が１回の色変換処理で処理可能な最大バンド幅を超えていない。したがって，バンドバッファＢ−ＢＵＦ１に展開されたＲＧＢの画像データが，そのままの状態（バンド幅）で色変換ユニット１８に供給される。具体的には，中央処理ユニットＣＰＵが，バンドバッファＢ−ＢＵＦ１内の各ラスタの先頭アドレスＡｄｄ１１〜Ａｄｄ１ｈからなるラスタアドレステーブルＲＡＴ２に基づいて，バンドバッファＢ−ＢＵＦ１から画像データを読み出し，色変換ユニット１８に供給する。
【００３５】
さらに，色変換ユニット１８で色変換されたＣＭＹＫのビットマップ画像データは，ラスタ１〜ｈからなるバンドの画像データとして，バンドバッファＢ−ＢＵＦ２に格納される（Ｓ１６）。具体的には，中央処理ユニットＣＰＵが，色変換ユニット１８が生成したＣＭＹＫの画像データを，バンドバッファ内の各ラスタの先頭アドレスＡｄｄ２１〜Ａｄｄ２ｈからなるラスタアドレステーブルＲＡＴ３に基づいて，バンドバッファＢ−ＢＵＦ２に書き込む。色変換ユニット１８で生成されるＣＭＹＫのビットマップ画像データは，４色のプレーン別の画像データであり，それぞれの画像データは，色変換ユニット１８に供給された画像データと同じバンド幅，ラスタ数を有する。
【００３６】
その後，中央処理ユニットＣＰＵは，バンドバッファＢ−ＢＵＦ２内のＣＭＹＫ画像データをラスタアドレステーブルＲＡＴ４に基づいて読み出し，二値化処理をし，パルス幅変調ユニットＰＷＭに供給し，印刷エンジン２４に出力する（Ｓ１８，Ｓ２０）。印刷エンジンに出力する時のラスタアドレステーブルＲＡＴ４は，ＲＡＴ３と同じである。
【００３７】
以上のとおり，バンド単位で画像データが色変換処理や二値化処理などが行われるが，画像データのバンド幅が，色変換ユニット等のハードウエアユニットが処理可能な最大バンド幅を超えていない場合は，バンドバッファＢ−ＢＵＦ１に展開された画像データのバス幅やラスタ構成を変えることなく，色変換ユニットに供給し，バンドバッファＢ−ＢＵＦ２に格納し，印刷エンジンに出力することができる。したがって，その画像処理に伴うバンドバッファＢ−ＢＵＦ１のリードとライト，またはバンドバッファＢ−ＢＵＦ２のライトとリードは，ともに同じラスタアドレステーブルＲＡＴ１，２とＲＡＴ３，４でそれぞれ行うことができる。
【００３８】
図９は，本実施の形態における画像処理対象の画像データ単位を示す図である。この例では，バンド内の画像データのバンド幅Ｗｂが色変換ユニットの処理可能な最大バンド幅を超えている。コントローラ１２の中央処理ユニットＣＰＵは，あるバンドの中間コードを展開して，バンド幅Ｗｂでラスタ数ｈのＲＧＢビットマップ画像データをバンドバッファＢ−ＦＵ１内に書き込む。この書き込みは，各ラスタの先頭アドレスＡｄｄ１１〜Ａｄｄ１ｈを有するラスタアドレステーブルＲＡＴ１に基づく。このテーブルＲＡＴ１は，図８の例と同じである。
【００３９】
このバンドバッファＢ−ＢＵＦ１内に展開されたＲＧＢ画像データは，ラスタ数ｈであるが，そのバンド幅Ｗｂは色変換ユニットの最大バンド幅を超えている。そこで，本実施の形態では，ＲＧＢ画像データをラスタ方向にＮ等分し，それに対応して各ラスタの幅もＮ等分し，Ｎ等分されたバンド幅Ｗｂ／Ｎでラスタ数ｈの画像データ単位に分割する。図９には，分割数Ｎ＝２の場合が示され，ラスタ１〜ｈ／２の画像データと，ラスタ（ｈ／２＋１）〜ｈの画像データとに分割される。そして，この分割されるＲＧＢ画像データを，分割態様に応じたラスタのアドレスＡｄｄ１１，Ａｄｄ１１．５〜を有するラスタアドレステーブルＲＡＴ２に基づいて，バンドバッファＢ−ＢＵＦ１から読み出し，色変換ユニット１８に供給する。この分割された画像データのバンド幅Ｗｂ／２は，色変換ユニットの最大バンド幅より小さいので，色変換ユニットは１回で色変換処理可能である。
【００４０】
そして，色変換ユニット１８により色変換されたＣＭＹＫ画像データは，分割された画像データと同様にバンド幅Ｗｂ／２，ラスタ数ｈからなる４プレーン分のデータであるが，バンド幅Ｗｂ，ラスタ数ｈ／２になるようにバンドバッファＢ−ＢＵＦ２に格納される。具体的には，バンドバッファＢ−ＢＵＦ２内のラスタ毎のアドレスを有するラスタアドレステーブルＲＡＴ３に基づき，色変換済みのＣＭＹＫ画像データがバンドバッファＢ−ＢＵＦ２内に書き込まれる。上記の分割された画像データの処理が繰り返されて，全ての画像データについて色変換処理が完了する。そして，最後に，バンド幅Ｗｂ，ラスタ数ｈの態様で，ＣＭＹＫの画像データがバンドバッファＢ−ＢＵＦ２から読み出され，エンジンへの出力処理Ｓ１８，Ｓ２０が行われる。この読み出しは，各ラスタのアドレスＡｄｄ２１〜Ａｄｄ２ｈを有するラスタアドレステーブルＲＡＴ４に基づいて行われる。
【００４１】
図１０，図１１は，図９の画像データ単位を詳細に示す図である。図１０は，図９における展開済みの画像データを分割して読み出す時の画像データ単位を示し，図１１は，図９における色変換済みの画像データを合成して書き込む時の画像データ単位を示す。ここでも，分割数Ｎ＝２を例にして示している。
【００４２】
図１０に示されるように，バンドバッファＢ−ＢＵＦ１内に展開されたバンド幅Ｗｂ，ラスタ数ｈの画像データ１００は，ラスタ方向に２等分され，太枠の画像データとそれ以外の画像データとに分割される。この分割数Ｎは，分割バンド幅Ｗｂ／Ｎが色変換ユニットで処理可能な最大バンド幅を超えない範囲で最大の幅になるように設定される。但し，画像データ１００の２分割は，バンドバッファＢ−ＢＵＦ１からの読み出し時に参照するラスタアドレステーブルＲＡＴ２により制御される。つまり，ラスタアドレステーブルＲＡＴ２は，バンド幅Ｗｂ，ラスタ数ｈの画像データ１００から，バンド幅Ｗｂ／２，ラスタ数ｈの画像データ１０２への変換を特定するものである。そして，ここでは２分割の例であるので，ラスタアドレステーブルＲＡＴ２は，図９に示したとおり，ラスタ１の先頭アドレスＡｄｄ１１と同ラスタ１の１／２のアドレスＡｄｄ１１．５と，ラスタ２の先頭アドレスＡｄｄ１２と同ラスタ１の１／２のアドレスＡｄｄ１２．５〜ラスタｈ／２の先頭アドレスＡｄｄ１（ｈ／２）と同ラスタの１／２アドレスＡｄｄ１（ｈ・２）．５を有する。
【００４３】
このテーブルＲＡＴ２に基づいてバンドバッファＢ−ＢＵＦ１から画像データを読み出すことにより，実質的に分割された画像データ１０２，１０４が生成される。すなわち，中央処理ユニットＣＰＵは，バンドバッファＢ−ＢＵＦ１のアドレスＡｄｄ１からラスタ数ｈ／２までの画像データを点順次で読み出し，テーブルＲＡＴ２に対応するデータ構成で色変換処理ユニット１８に供給する。その結果，バンド幅Ｗｂ／２でラスタ数ｈの画像データ１０２が色変換ユニット１８に供給される。さらに，中央処理ユニットＣＰＵは，バンドバッファＢ−ＢＵＦ１のアドレスＡｄｄ（ｈ／２＋１）からラスタ数ｈまでの画像データを点順次で読み出し，テーブルＲＡＴ２に対応するデータ構成で色変換処理ユニット１８に供給する。その結果，バンド幅Ｗｂ／２でラスタ数ｈの画像データ１０４が色変換ユニット１８に供給される。上記のバンドバッファＢ−ＢＵＦ１からの画像データの読み出しは，画像データを展開した時の順番で連続して行われるので，読み出し処理は通常の読み出しと同様に点順次に行われる。
【００４４】
次に，図１１に示されるように，色変換ユニットにより色変換されたＣＭＹＫの画像データ１０６，１０８が，順次，バンドバッファＢ−ＢＵＦ２にバンド幅Ｗｂ，ラスタ数ｈの態様で書き込まれる。この場合に参照されるラスタアドレステーブルＲＡＴ３は，色変換された画像データ１０６，１０８の各ラスタの先頭が格納されるべきバンドバッファＢ−ＢＵＦ２内のアドレスＡｄｄ２１，Ａｄｄ２１．５〜Ａｄｄ２ｈ，Ａｄｄ２ｈ．５を有する。このテーブルＲＡＴ３を参照して，色変化された画像データ１０６，１０８をバンドバッファＢ−ＢＵＦ２に順次書き込むことで，２つの画像データ１０６，１０８が合体されて，バンド幅Ｗｂ，ラスタ数ｈのＣＭＹＫ画像データ１１０が生成される。
【００４５】
以上，２等分する場合で説明したが，３等分またはそれより大きいＮ等分する場合も同様にリード時のテーブルＲＡＴ２とライト時のテーブルＲＡＴ３を利用することで，分割と合成をリードと読み出しにより行うことができる。
【００４６】
上記の画像データの分割と合成は，バンド幅Ｗｂが分割数Ｎで割り切れる時に単純に適用可能である。一方，バンド幅Ｗｂが分割数Ｎで割り切れない場合は，元のバンド幅Ｗｂに画素数ｍを追加して，分割数Ｎの倍数のバンド幅（Ｗｂ＋ｍ）にしてから，分割することが望ましい。その場合，画像データ１００の各ラスタの最後にダミーの画素ｍのデータが追加される。したがって，Ｎ分割された最後の分割画像データにダミー画素ｍのデータが追加されて，色変化ユニット１８に供給される。そして，色変換後の画像データからダミー画素ｍの色変換されたデータを除いて，バンドバッファＢ−ＢＵＦ２に書き込みが行われる。したがって，かかるダミー画素に対する画像データの取り扱いが別途必要になる。
【００４７】
上記の方法によれば，バンドバッファＢ−ＢＵＦ１に展開された画像データ１００をＮ等分するので，それに伴ってリードとライト時の参照テーブルＲＡＴ２，ＲＡＴ３の生成を簡単に行うことができる。そして，最大バンド幅を有する色変換ユニットであっても，その最大バンド幅を超えるバンド幅の画像データを複数回に分けて色変換処理することができ，しかも，それに伴う処理は，画像データのリード時とライト時に参照するアドレステーブルＲＡＴを変更するのみである。
図１２，図１３は，本実施の形態における別の画像処理対象の画像データ単位を示す図である。図１２は，バンドバッファＢ−ＢＵＦ１内に展開済みの画像データを分割して読み出す時の画像データ単位を示し，図１３は，色変換済みの画像データを合成してバンドバッファＢ−ＢＵＦ２に書き込む時の画像データ単位を示す。
【００４８】
この画像処理では，図１２に示すとおり，バンドバッファＢ−ＢＵＦ１内の画像データ２００のラスタ１〜ｈのデータを，色変換ユニット１８の最大バンド幅Ｗｂｍａｘのラスタからなりラスタ数ｈの画像データ２０２として読み出し，さらに残りの画像データについても，バンド幅Ｗｂｍａｘのラスタからなる画像データ２０４として読み出し，それぞれ色変換ユニット１８に供給する。
【００４９】
それに伴い，リード時のラスタアドレステーブルＲＡＴ２は，ラスタ１の先頭アドレスＡｄｄ１１，ラスタ１のバンド幅Ｗｂｍａｘ分の画素の次のアドレスＡｄｄ１１．２，さらにバンド幅Ｗｂｍａｘ分の画素の次のアドレスＡｄｄ１２．２，乃至，ラスタｉのアドレスＡｄｄ１ｉ．２からバンド幅Ｗｂｍａｘ分の画素だけ手前のアドレスを有する。このテーブルのアドレスは，中央処理ユニットＣＰＵにより，展開済みの画像データのバンド幅Ｗｂと最大バンド幅Ｗｂｍａｘとから演算により求められる。但し，Ｎ等分する場合に比較して，このアドレスを求める演算処理は複雑である。
【００５０】
このようなラスタアドレステーブルＲＡＴ２によりバンドバッファＢ−ＢＵＦ１から読み出された画像データ２０２は，バンド幅Ｗｂｍａｘ，ラスタ数ｈの画像データ単位であり，色変換ユニット１８により処理可能なバンド幅である。さらに，次に読み出された画像データ２０４は，バンド幅Ｗｂｍａｘ，ラスタ数ｊ（＜ｈ）の画像データ単位であり，これも色変換ユニット１８により処理可能なバンド幅である。但し，バンド内の総画素数Ｗｂ×ｈが最大バンド幅Ｗｂｍａｘで割り切れない場合は，ダミーデータ２０１が２番目の画素データ２０４に付加される。
【００５１】
さらに，図１３に示すとおり，色変化ユニット１８により色変換された４プレーン分のＣＭＹＫの画像データ２０６は，色変換前の３プレーン分のＲＧＢ画像データ２０２と同じバンド幅Ｗｂｍａｘで同じラスタ数ｈからなる。なお，各プレーンの画像データのバンド幅とラスタ数が同じという意味である。そして，色変換後の画像データ２０６は，バンドバッファＢ−ＢＵＦ２内にバンド幅Ｗｂ，ラスタ数ｈの画像データとして格納するために，ラスタアドレステーブルＲＡＴ３に基づいて，バンドバッファＢ−ＢＵＦ２に順次書き込まれる。画像データ２０６の書き込みに参照されるテーブルＲＡＴ３は図１３に示される通りである。また，次の画像データ２０８についても，同様にテーブルＲＡＴ３に基づき，バンドバッファＢ−ＢＵＦ２に書き込まれる。但し，ダミーデータ２０９は，書き込まれない。この書き込み動作により，２つの画像データ２０６，２０８が合成され，バンド幅Ｗｂでラスタ数ｈのＣＭＹＫ画像データになる。
【００５２】
この図１２，１３の変形例においても，ラスタアドレステーブルＲＡＴ２，ＲＡＴ３を生成して，それを参照して画像データの読み出しと書き込みを行うことで，バンド幅Ｗｂが処理可能な最大バンド幅Ｗｂｍａｘを超えていても，色変換ユニット１８により色変換処理を行うことができる。
【００５３】
以上，画像処理装置に対応するコントローラ１２内のハードウエアユニットとして色変換ユニット１８を例にして説明した。ハードウエアユニットとしては，それ以外に，例えば二値化ユニットや，圧縮ユニットなどの場合も，同様に本実施の形態を適用することができる。さらに，上記の実施の形態では，図２（Ａ）のプリンタのコントローラについて説明した。しかしながら，本実施の形態は，図２（Ｂ）のプリンタのコントローラについても同様に適用することができる。
【図面の簡単な説明】
【００５４】
【図１】従来におけるバンド単位のビットマップ画像データの処理を示す図である。
【図２】本実施の形態における画像形成装置であるプリンタの概略構成図である。
【図３】本実施の形態における画像形成装置であるプリンタの詳細構成図である。
【図４】本実施の形態における画像処理のフローチャート図である。
【図５】画像処理におけるバンドと中間コードを示す図である。
【図６】コントローラ内のメモリユニットの構成図である。
【図７】本実施の形態における画像処理ユニットの一例である色変換ユニットの構成図である。
【図８】画像処理対象の画像データ単位を示す図である。
【図９】本実施の形態における画像処理対象の画像データ単位を示す図である。
【図１０】図９の画像データ単位を詳細に示す図である。
【図１１】図９の画像データ単位を詳細に示す図である。
【図１２】本実施の形態における別の画像処理対象の画像データ単位を示す図である。
【図１３】本実施の形態における別の画像処理対象の画像データ単位を示す図である。
【符号の説明】
【００５５】
ＩＣ−ＢＵＦ：中間コードバッファ      Ｂ−ＢＵＦ１：バンドバッファ
Ｂ−ＢＵＦ２：バンドバッファ          ＲＡＴ１，２，３，４：ラスタアドレステーブル
【図１】
2006264257.tif 000003
【図２】
2006264257.tif 000004
【図３】
2006264257.tif 000005
【図４】
2006264257.tif 000006
【図５】
2006264257.tif 000007
【図６】
2006264257.tif 000008
【図７】
2006264257.tif 000009
【図８】
2006264257.tif 000010
【図９】
2006264257.tif 000011
【図１０】
2006264257.tif 000012
【図１１】
2006264257.tif 000013
【図１２】
2006264257.tif 000014
【図１３】
2006264257.tif 000015