(57)【要約】【課題】ページ画像を構成するバンドから展開するビットマップ画像データのデータ量を調節し，メモリ資源の節約と処理負荷の軽減を図る。【解決手段】1ページごとに画像オブジェクトの印刷コマンドを有する印刷データを，ページ画像の一部であるバンド領域ごとに中間コードに変換し，当該バンドで使用される色データを有するパレットを作成する変換手段と，前記バンドごとの中間コードに基づき前記パレットの色データを参照する参照データをビットマップ画像データとしてビットマップメモリに展開する展開手段とを有する画像処理装置を提供する。【選択図】図５
2007216675.tif 000002
【特許請求の範囲】
【請求項１】
印刷データに基づいてビットマップ画像データを生成する画像処理装置において，
画像オブジェクトの印刷コマンドを有する印刷データを，所定の印刷領域ごとに中間コードに変換し，当該印刷領域で使用される色データを有するパレットを作成する変換手段と，
前記印刷領域ごとの中間コードに基づき，前記パレットの色データを参照する参照データをビットマップ画像データとしてビットマップメモリに展開する展開手段とを有することを特徴とする画像処理装置。
【請求項２】
請求項１において，  
前記パレットが有する色データの色空間を第１の色空間から第２の色空間へ変換する色空間変換手段をさらに有することを特徴とする画像処理装置。
【請求項３】
請求項１において，
前記参照データを圧縮する圧縮手段をさらに有することを特徴とする画像処理装置。
【請求項４】
請求項１において，
前記印刷領域ごとに使用される色数が所定の基準値を上回る場合は，
前記展開手段は，当該印刷領域において画素ごとの色データをビットマップ画像データとして展開することを特徴とする画像処理装置。
【請求項５】
請求項１において，  
前記画像オブジェクトの画像合成方法が背景色との論理演算により当該画像オブジェクトの色を設定する場合は，
前記展開手段は，当該印刷領域において画素ごとの色データをビットマップ画像データとして展開することを特徴とする画像処理装置。
【請求項６】
請求項１乃至５のいずれかにおいて，
複数の前記印刷領域が共通のパレットを有することを特徴とする画像処理装置。
【請求項７】
印刷データに基づいてビットマップ画像データを生成する画像処理プログラムにおいて，
画像オブジェクトの印刷コマンドを有する印刷データを，所定の印刷領域ごとに中間コードに変換し，当該印刷領域で使用される色データを有するパレットを作成する変換工程と，
前記印刷領域ごとの中間コードに基づき，前記パレットの色を参照する参照データをビットマップ画像データとしてビットマップメモリに展開する展開工程とをコンピュータに実行させることを特徴とする画像処理プログラム。
【請求項８】
請求項７において，  
前記パレットが有する色データの色空間を，第１の色空間から第２の色空間へ変換する色空間変換工程をさらにコンピュータに実行させることを特徴とする画像処理プログラム。
【請求項９】
請求項７において，
前記参照データを圧縮する圧縮工程をさらにコンピュータに実行させることを特徴とする画像処理プログラム。
【請求項１０】
請求項７において，
前記印刷領域ごとに使用される色数が所定の基準値を上回る場合は，
前記展開工程は，当該印刷領域において画素ごとの色データをビットマップ画像データとして展開することを特徴とする画像処理プログラム。
【請求項１１】
請求項７において，  
前記画像オブジェクトの画像合成方法が背景色との論理演算により当該画像オブジェクトの色を設定する場合は，
前記展開工程は，当該印刷領域において画素ごとの色データをビットマップ画像データとして展開することを特徴とする画像処理プログラム。
【請求項１２】
印刷データに基づいてビットマップ画像データを生成する画像処理方法において，
画像オブジェクトの印刷コマンドを有する印刷データを，所定の印刷領域ごとに中間コードに変換し，当該印刷領域で使用される色データを有するパレットを作成する変換工程と，
前記印刷領域ごとの中間コードに基づき，前記パレットの色を参照する参照データをビットマップ画像データとしてビットマップメモリに展開する展開工程とを有することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，プリンタ記述言語で記載された印刷データをビットマップ画像データに展開する画像処理装置，画像処理プログラム及び画像処理方法に関し，特に，所定の印刷領域ごとに使用する色データを有するパレットを作成し，パレットを参照するデータを画像データとして展開することを特徴とする画像処理装置，画像処理プログラム，及び画像処理方法に関する。
【背景技術】
【０００２】
プリンタなどの画像形成装置は，印刷データを処理する画像処理装置と，画像処理装置により形成された画像データに基づき画像を印刷する印刷エンジンとを有する。画像処理装置は，ページ記述言語で記述された印刷コマンドから成る印刷データをホストコンピュータから受け取り，ビットマップ画像データへの展開が容易な中間コードに変換し，中間コードに基づき複数色で多階調のビットマップ画像データをビットマップメモリ上に展開する。そして，画像処理装置は必要に応じて階調値変換（スクリーン処理）などの処理を行った後，ビットマップ画像データを画像再生信号として印刷エンジンに出力する。
【０００３】
かかる画像処理装置が中間コードから展開するビットマップ画像データのデータ量は，例えば１画素につきＲＧＢ各８ビットの２４ビットという大量なデータ量となる。よって，こうしたビットマップ画像データを展開するためには多くのメモリ資源も必要となり，展開後の色空間変換や階調値変換，または印刷エンジンへ出力する際の圧縮などの処理の負荷も大きなものとなる。
【０００４】
そこで，メモリ資源を節約し処理の負荷を軽減するための方法が種々提案されている。例えば，特許文献１には，ページ画像を分割したバンド領域ごとに中間コードからビットマップ画像データへ展開し，その際に，バンドごとの画像の色がカラーかモノクロかにより展開するビットマップ画像データのデータ量を調節する方法が記載されている。この方法では，カラー画像を含むバンドはＣ（シアン），Ｍ（マゼンタ），Ｙ（イエロー），Ｋ（ブラック）の４プレーン分のビットマップ画像データを展開するが，モノクロ画像のみのバンドは，Ｋのみのビットマップ画像データを展開するので，メモリ資源の節約と処理の負荷を軽減することができる。  
【特許文献１】特開２００１−１３８５７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
かかる従来の技術では，モノクロの部位が多い画像を処理する場合にはメモリ資源の節約や処理の負荷軽減に効果が期待できる。しかし，バンド内の画像に白と黒以外の色が１色でも使われていればカラー画像として一律に１画素２４ビットのビットマップ画像データが展開され，さらにＣ，Ｍ，Ｙ，Ｋの印刷プレーンごとのビットマップ画像データに展開されてしまう。よって，カラーの部位が多い場合には顕著な効果が得られないという問題がある。
【０００６】
そこで，本発明の目的は，カラーまたはモノクロいずれのバンドであっても展開するビットマップ画像データのデータ量を抑制し，メモリ資源の節約と処理負荷の軽減を図るような画像処理装置等を提供することにある。
【課題を解決するための手段】
【０００７】
上記の目的を達成するために，本発明の第１の側面によれば，印刷データに基づいてビ 
ットマップ画像データを生成する画像処理装置において，画像オブジェクトの印刷コマンドを有する印刷データを，所定の印刷領域ごとに中間コードに変換し，当該印刷領域で使用される色データを有するパレットを作成する変換手段と，前記印刷領域ごとの中間コードに基づき，前記パレットの色データを参照する参照データをビットマップ画像データとしてビットマップメモリに展開する展開手段とを有することを特徴とする画像処理装置を提供する。
【０００８】
上記第１の側面によれば，画素ごとの色データの代わりにパレット参照用のインデックス番号を有する参照データをビットマップ画像データとして展開するので，展開するデータのビット数を減少させることができる。よって，展開のために必要なメモリが節約でき，処理負担も軽減できる。
【０００９】
上記第１の側面において好ましい実施例によれば，前記画像処理装置は，前記パレットが有する色データの色空間を第１の色空間から第２の色空間へ変換する色空間変換手段をさらに有することを特徴とする。よって，画素ごとの色データであるビットマップ画像データの各画素の色空間を変換する場合と比べ，処理の負担を軽減できる。
【００１０】
上記第１の側面において好ましい実施例によれば，前記画像処理装置は前記参照データを圧縮する圧縮手段を有することを特徴とする。よって，画素ごとの色データであるビットマップ画像データを圧縮する場合と比べ，よりデータ量が少ない参照データを圧縮するので，処理の負荷を軽減できる。
【００１１】
上記第１の側面においてより好ましい実施例によれば，前記印刷領域ごとに使用する色数が所定の基準値を上回る場合は，前記展開手段は，当該印刷領域において画素ごとの色データをビットマップ画像データとして展開することを特徴とする。
【００１２】
所定の印刷領域で使用する色数の増加にともないパレットに格納する色データの量も増加し，パレットを確保するためにより多くのメモリ資源が必要となる。そこで，上記実施例によれば，所定の色数の範囲内でのみパレットを用いて参照データを展開するので，処理全体としてのメモリ資源の配分と処理の負担を最適化することができる。
【００１３】
上記第１の側面においてより好ましい実施例によれば，前記画像オブジェクトの画像合成方法が背景色との論理演算により前記画像オブジェクトの色を設定する場合は，前記展開手段は，前記参照データの代わりに画素ごとの色データをビットマップ画像データとして展開することを特徴とする。
【００１４】
画像オブジェクトを描画する画像合成方法が論理演算を要する場合には，中間コードからビットマップ画像データを展開する段階で色が算出されるため，中間コードが生成された段階ではパレットに登録すべき画像オブジェクトの色データを特定できない。よって，上記実施例によれば，かかる場合にはパレットを用いて参照データを展開するという処理を省略し，画像処理全体としての効率低下を防止することができる。
【発明を実施するための最良の形態】
【００１５】
以下，図面にしたがって本発明の実施の形態について説明する。但し，本発明の技術的範囲はこれらの実施の形態に限定されず，特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【００１６】
図１は，ページ画像を所定の印刷領域であるバンドに分割した場合の，画像オブジェクト例とバンドとの関係を説明する図である。（ページ画像とは、たとえば印刷用紙１枚の所定面に印刷される画像のことで、印刷プレーンともいう。印刷エンジンが１回の印刷処理（露光、現像、転写、定着）で印刷できる画像単位である。）
【００１７】
ページ画像ＰＧ１内には，赤色（#ff0000）の文字「Ｔ」，緑色（#00ff00）の文字「ｅ」，青色（#0000ff）の文字「ｘ」，及び黒色（#000000）の文字「ｔ」から成る文字列１と，黄色（#ffff00）の矩形である図形２と，カラーの自然画イメージ３と，青色（#0000ff）から黄色（#ffff00）へグラデーションする複数の矩形であるグラデーション図形４と，赤色（#ff0000）から白色（#ffffff）へグラデーションする複数の矩形であるグラデーション図形５と，赤色（#ff00000）から黄色（#ffff00）へグラデーションするグラデーション図形６という画像オブジェクトが存在する。括弧内の数字は，それぞれの画像オブジェクトの色をＲ（赤），Ｇ（緑），Ｂ（青）の階調値を各８ビットの２４ビットで表現し１６進表記したものである。
【００１８】
このページ画像を６つのバンドＢＮＤ１〜ＢＮＤ６に分割すると，第１バンドＢＮＤ１は文字列１の上部を，第２バンドＢＮＤ２は文字列１の下部と図形２の上部を，第３バンドＢＮＤ３は図形２の下部と自然画イメージ３を，第４バンドＢＮＤ４はグラデーション図形４の上部を，第５バンドＢＮＤ５はグラデーション図形４の下部とグラデーション図形５を，そして第６バンドＢＮＤ６はグラデーション図形６をそれぞれ含んでいることになる。
【００１９】
次に，バンドごとに使用されている色数について説明する。例えば，第１バンドＢＮＤ１には，赤色（#ff0000）の「Ｔ」，緑色（#00ff00）の「ｅ」，青色（#0000ff）の「ｘ」及び黒色（#000000）の「ｔ」から構成される文字列１の上部が含まれているので，文字列１で使用される色数は４色であり，背景色の白色（#ffffff）を加えると合計５色になる。第２バンドＢＮＤ２には，文字列１の下部と図形２の上部が含まれているので，文字列１の４色に図形２の黄色（#ffff00）１色と背景の白色（#ffffff）１色を加え，合計６色となる。第３バンドＢＮＤ３には，図形２の下部と２５６色を超えるカラーの自然画イメージ３が含まれており，色数は２５６色超となる。
【００２０】
第４バンドＢＮＤ４，第５バンドＢＮＤ５に含まれているグラデーション図形４，５はそれぞれ色が段階的に異なる複数の矩形により構成されグラデーションを表現しているので，個々の図形の色をカウントすることにより色数をカウントする。ここでは，グラデーション図形４，５ともに色数は１６色超かつ２５６色以下とし，２つの図形の色数を加えると２５６色超になるものとする。したがって，第４バンドＢＮＤ４にはグラデーション図形４の上部が含まれるので色数は２５６色以下となり，第５バンドＢＮＤ５にはグラデーション図形４の下部及び図形５が含まれるので色数は２５６色超となる。そして，第６バンドＢＮＤ６には，グラデーション図形６が含まれており，その描画方法は，後述するように排他的論理和を利用して描画されるので，色数の特定ができないものとされ色数は２５６色超とされる。
【００２１】
上述のように，第１〜６バンドで使用される色数は５色から２５６色超まで幅がある。従来の技術では，例えば５色の第１バンドＢＮＤ１においても２５６色超の第５バンドＢＮＤ５においても，画像オブジェクトは，一律に１画素あたりＲＧＢ各８ビットの２４ビットで色を表現するビットマップ画像データを展開していた。
【００２２】
そこで，本実施の形態における画像処理装置では，まず上記バンドごとに，ページ記述言語で記述された各画像オブジェクトの印刷コマンドをビットマップ画像データに展開しやすい中間コードに変換する段階で，バンドごとに使用する色データを要素とする配列である，パレットなるものを作成する。そして，バンドごとの中間コードに基づきビットマップ画像データを展開する段階で，画素ごとの色データではなく，パレットの色データが対応づけられたインデックス番号を参照する参照データを展開する。さらに，このようにビットマップ画像が参照データで展開されるときには，パレットに登録されたバンドで使用される色の数に応じたデータ量で展開する。そうすることにより，メモリ資源の節約と画像処理の負荷軽減を図ることが可能となる。
【００２３】
図２は，パレットとバンド単位に変換されるビットマップ画像データのデプスの関係について説明する図である。ここで，デプスとは，ビットマップ画像データに展開した場合に１画素あたりに要するビット数をいう。パレットには参照データに相当するインデックス番号０，１，…，４と，各インデックス番号に対応づけられたＲＧＢ階調値が登録される。図２（Ａ）に第１バンドＢＮＤ１のパレットの例を示す。インデックスの括弧内はインデックス番号を４ビットの２進数で表現したものであり，ＲＧＢ階調値はそれぞれ８ビットを１６進数で表現したものである。
【００２４】
図２（Ｂ）は，中間コードからパレットの色データに対応つけられたインデックス番号で展開され，１画素４ビットで表現された，第１バンドＢＮＤ１のビットマップ画像データを概念的に説明する図である。文字列１の一部である各画素Ｐ１〜Ｐ４及び背景の一部である画素Ｐ５は，４ビットで表現された図２（Ａ）のパレットのインデックス番号を有しており，ＲＧＢ階調値は有していない。すなわち，パレットを参照する参照データがビットマップ画像データとして展開されたことを示している。例えば，文字「Ｔ」の一部である画素Ｐ１は，図２（Ａ）のパレットの赤色（#ff0000）に対応するインデックス１（０００１）で展開されている。このように，第１バンドＢＮＤ１の各画素はパレットに登録された色のインデックス番号０（２進数で００００）〜４（２進数で０１００）を参照するために必要なビット数を持てばよく，１画素あたり４ビットの参照データをビットマップ画像データとして展開することができる。そして，参照データによって，パレットを参照することにより，実際の色のデータを得ることができる。
【００２５】
図２（Ｃ）は，バンドで使用される色数，ビットマップ画像データの展開に必要なデプス，及びパレットの要素数を対応づけた表である。パレットを参照する参照データをビットマップ画像データとして展開する場合は，バンドごとに使用される色データを登録したパレットの要素数を表現することのできるビット数が，そのバンドに必要なデプスである。よって，上述の第１バンドＢＮＤ１で使用される色数は５色であるので，２色超１６色以下に対応する４ビットのデプスが割り当てられている。この対応関係に基づくと，図３で示すように，各バンドの色数に応じて，パレットの色データを参照する参照データをビットマップ画像データとして展開するのに必要なデプスが割り当てられる。
【００２６】
図３は，図１のページ画像ＰＧ１の各バンドで使用される色数と，色数に応じて展開されるビットマップ画像データのデータ量の対応関係を説明する図である。例えば第１バンドＢＮＤ１には５色が使用されているので，５色を登録したパレットの要素数を表現するのに十分な４ビットのデプスが対応付けられている。６色の第２バンドＢＮＤ２には４ビットのデプスが，２５６色以下の第４バンドＢＮＤ４には８ビットのデプスが，２５６色超の第３，５，６バンドには２４ビットのデプスが対応づけられる。
【００２７】
上述のようにして，バンドごとに使用される色データを有するパレットを作成し，パレットの色データの要素数に応じたデプスで参照データをビットマップ画像データとして展開すれば，すべてのカラーバンドに一律２４ビットのデプスを使用する従来の技術に比べて，メモリ資源を節約することができる。また，ビットマップ画像データとして展開するデータの量も少量にできるので，各種処理の負荷も軽減することが可能になる。
【００２８】
ただし，本実施の形態では，次のような理由によりバンドごとの色数が基準値である２５６色を上回った場合にはパレットを用いない。まず，パレットの要素数が増加すれば，パレットを格納するためにより多くのメモリ資源が必要となる。また，２５６色までパレットに登録した場合はインデックス番号０〜２５５を８ビットで表現できるので，バンドに必要なデプスは８ビットである。しかし，２５６を超える要素数を持つパレットを作成すると，その分参照すべきインデックス番号を表現するのに必要な画素あたりのビット数，つまりデプスが増加してしまう。よって，参照データと，それに対応づけられた色のデータを記憶するために多くのメモリ資源が必要となる。すると，画像処理全体としてのメモリ資源の節約という効果が減少してしまう。
【００２９】
よって，バンドで使用される色数が２５６色を上回る場合は，パレットを用いずに，１画素あたりＲＧＢ各８ビットの色データでビットマップ画像データを表現し，従って，ビットマップ画像データを２４ビットのデプスで展開する。これにより，画像処理工程全体としてのメモリ資源の最適な配分を図ることができる。
【００３０】
ただし，かかる基準値は画像処理全体としてのメモリ資源の最適化や処理効率の観点から設定されたものであり，前記２５６色に限定されるものではない。
【００３１】
また，画像オブジェクトの印刷コマンドにおける画像合成方法が，排他的論理和など，背景や複数の画像オブジェクトとの論理演算により色を決定するものである場合は，次のような理由により，バンドで使用される色数は２５６色を上回るものとし，パレットを用いずに１画素あたり２４ビットのデプスで画素ごとの色データをビットマップ画像データとして展開する。
【００３２】
印刷コマンドに含まれる画像合成方法は，マイクロソフト社のウインドウズ（登録商標）ＯＳが提供するＲＯＰ（ＲａｓｔｅｒＯｐｅｒａｔｉｏｎ ）や，アルファブレンド方式などの画像合成方法を用いることができ，これらの画像合成方法には「上書き」による方法と，「論理演算」あるいは「算術演算」による方法が存在する。「上書き」による画像合成方法の場合は，画像オブジェクトが描かれる位置の背景や既存の画像オブジェクトに対して，描き込もうとする画像オブジェクトの有する色を上書きする。つまり，ビットマップ画像に変換する対象の中間コードがビットマップ画像データとして書き込まれるところに，背景やビットマップ画像として既に中間コードから変換されている既存の画像オブジェクトなどがあったとき，既存の描き込み先の画素が有している色，つまり背景色を，書き込み対象の中間コードが指定する色で置換する処理を行う。このため，その画像オブジェクトが描かれている位置の画素の色データは，印刷コマンドを中間コードに変換する時点で特定でき，従って，色データをパレットに登録することが可能である。
【００３３】
一方，「論理演算」および「算術演算」による画像合成方法は，ビットマップ展開時に，背景や既存の画像オブジェクトの色，つまり背景色と，書き込もうとするオブジェクトの色との排他的論理和などの論理演算あるいは算術演算により，描画する色が算出される。よって，中間コードを登録する時点では，その画像オブジェクトを描画する色，すなわち，ビットマップメモリに書き込む色がわからないので，パレットに色を登録できず，従って，パレットを作成することができない。よって，論理演算あるいは算術演算による画像合成方法を指定した画像オブジェクトを含むときには，最終的にそのバンドで使用する色数が基準値を超えない場合でも，パレットの生成を省略する。この場合，バンドで使用される色数は２５６色超であるとして扱う。
【００３４】
図１で説明したページ画像ＰＧ１上の画像オブジェクトについて画像合成方法を説明しておくと，文字列１，図形２，自然画イメージ３，グラデーション図形４及び５については，「上書き」による画像合成方法を用いている。よって，これらの画像オブジェクトについては色が特定できるので色数のカウントも可能であり，それぞれの色数は図１の説明において述べたとおりである。しかし，グラデーション図形６は背景や複数の画像オブジェクトとの論理演算により色を指定する画像合成方法により描画されるので，色数が特定できず，上記のとおり２５６色超として処理される。
【００３５】
図４は，上述した画像処理を行う画像処理装置の概略構成図である。図４（Ａ）では，ページ記述言語で記述された一連の印刷コマンドから成る印刷データＰＤＬが，ホストコンピュータＨＯＳＴから画像形成装置の一例であるプリンタ１０のコントローラ１２に供給される。コントローラ１２は印刷データＰＤＬの印刷コマンドを中間コードに変換し，中間コードからビットマップ画像データをビットマップメモリ領域であるバンドバッファＢ−ＢＵＦ内に展開し，展開されたビットマップ画像データから生成した画像再生信号１６を印刷エンジン２６に供給する。この場合，コントローラ１２が画像処理装置に対応する。また，コントローラ１２内のメモリユニットに格納されコントローラ１２の処理内容を記述したプログラムは画像処理プログラムに対応する。さらに，コントローラ１２による処理の方法は，画像処理方法に対応する。
【００３６】
図４（Ｂ）では，ホストコンピュータＨＯＳＴ内のプリンタドライバＰ−ＤＲが，印刷データからバンド領域ごとに中間コードを生成し，その中間コードＩＣ，バンドで使用される色データを有するパレットＢＰをプリンタ１０のコントローラ１２に供給する。コントローラ１２は，供給された中間コードＩＣ等に基づいてビットマップ画像データをバンドバッファＢ−ＢＵＦに展開し，展開されたビットマップ画像データから生成した画像再生信号１６を印刷エンジン２６に供給する。この場合は，ホストコンピュータＨＯＳＴとコントローラ１２が画像処理装置に対応する。また，プリンタドライバＰ−ＤＲが実行する工程とコントローラ１２が実行する工程とが画像処理方法に対応する。 
【００３７】
さらに，図４（Ｃ）では，ホストコンピュータＨＯＳＴ内のプリンタドライバＰ−ＤＲが，印刷データからバンド領域内の中間コードを生成し，その中間コードに基づいてビットマップ画像データをバンドバッファＢ−ＢＵＦ内に展開し，必要に応じて色空間変換，圧縮をして，圧縮されたビットマップ画像データＢＭをプリンタ１０内のコントローラ１２に出力する。コントローラ１２は，必要に応じて色空間変換，階調値変換処理を行い，画像再生信号１６を印刷エンジン２６に出力する。この場合は，プログラムであるプリンタドライバＰ−ＤＲが画像処理プログラムに対応する。また，ホストコンピュータＨＯＳＴが、あるいは、ホストコンピュータＨＯＳＴとコントローラ１２とが画像処理装置に対応する。さらに，プリンタドライバＰ−ＤＲがホストコンピュータＨＯＳＴに実行させる方法は画像処理方法に対応する。
【００３８】
図５は，本実施の形態におけるプリンタの構成図である。図５のプリンタ１０は，図４（Ａ）のプリンタ１０に対応する。プリンタ１０は，画像処理装置に対応するコントローラ１２と，印刷エンジン２６とで構成される。
【００３９】
コントローラ１２は，ホストコンピュータから画像オブジェクトの印刷コマンドから成る印刷データＰＤＬを受信するインターフェースＩＦと，印刷データをバンド領域ごとの中間コードＩＣに変換する中央処理ユニットＣＰＵと，中間コードに基づいてビットマップ画像データを展開する展開ユニット１８と，ビットマップ画像データをＲＧＢ色空間からＣＭＹＫ色空間に変換する色変換ユニット２０と，ビットマップ画像データを圧縮・解凍する圧縮・解凍ユニット２２と，ビットマップ画像データを階調値変換する階調値変換ユニット２４と，階調値変換されたビットマップ画像データを画像再生信号であるパルス信号に変換するパルス幅変調ユニットＰＷＭとを有し，パルス幅変調ユニットにより生成される画像処理信号１６が印刷エンジン２６に供給される。
【００４０】
さらに，コントローラ１２は，メモリユニット１４を有し，メモリユニット１４には，中間コードが格納される中間コードバッファＩＣ−ＢＵＦと，ビットマップ画像データとしての参照データや画素ごとの色データが展開されるビットマップメモリとしてバンドバッファＢ−ＢＵＦとが確保される。さらに，メモリユニット１４には，バンド毎の色データを格納するパレット用の領域ＰＬＴと，コントローラ１２による画像処理に用いられ図７で詳述する各種変数を格納するテーブルＴＢＬとが確保される。
【００４１】
図５のプリンタ１０が，図４（Ｂ）のプリンタ１０に対応する場合は，コントローラ１２のインターフェースＩＦがホストコンピュータから中間コードＩＣおよびバンド毎の色データを有するパレットＢＰを受信し，中間コードバッファＩＣ−ＢＵＦとパレット用の領域ＰＬＴにそれぞれ格納する。そして，コントローラ１２は，展開ユニット１８により中間コードに基づいてバンドバッファＢ−ＢＵＦ内にビットマップ画像データを展開する。
【００４２】
図５のプリンタ１０が，図４（Ｃ）のプリンタ１０に対応する場合は，コントローラ１２には，展開ユニット１８，色変換ユニット２０などは設けられておらず，受信したビットマップ画像データ階調値変換して，画像再生信号１６を印刷エンジンに出力するだけである。
【００４３】
図６以降では，本実施の形態における画像処理の内容について詳述する。まず，ページ記述言語で記述された画像オブジェクトの印刷コマンドと，画像処理に用いられる各種の変数を図６，７で説明する。
【００４４】
図６は，画像オブジェクトの印刷コマンドを説明する図である。図１で示したページ画像ＰＧ１の画像オブジェクトの文字列１とグラデーション図形５についての印刷コマンド、また、改ページコマンドを例示してある。
【００４５】
コマンドＣ１０１〜Ｃ１２０は文字列１の印刷コマンドである。文字列１は，文字「Ｔ」，「ｅ」，「ｘ」，「ｔ」ごとに，色設定コマンド，フォント選択コマンド，文字サイズ設定コマンド，テキスト描画位置指定コマンド，そして描画コマンドの各コマンドによって描画される。例えば，文字「Ｔ」については，色設定コマンドＣ１０１，フォント選択コマンドＣ１０２，文字サイズ設定コマンドＣ１０３，テキスト描画位置指定コマンドＣ１０４，及び文字描画コマンドＣ１０５により描画される。図６に示すように，この例では，コマンドＣ１０１が，後述する図９の処理に用いられる「設定コマンド」であり，コマンドＣ１０２〜Ｃ１０５が，後述する図８の工程S４００で判定される「描画コマンド」に相当する。
【００４６】
コマンドＣ５１１〜Ｃ（ｎ＋２）はグラデーション図形５の印刷コマンドである。グラデーション図形５は，段階的に色が赤色（#FF0000）から白色（#ffffff）に変化する複数の矩形により構成されており，各矩形ごとの印刷コマンドにより描画される。よって，まず赤色の矩形が色設定コマンドＣ５１１，矩形塗りつぶしコマンドＣ５１２，矩形描画コマンドＣ５１３により描画される。同様のコマンドにより赤色（#ff0000）と白色（#ffffff）の中間の色の複数の矩形が描画され，最後は白色（#ffffff）の矩形が色設定コマンドＣｎ，矩形塗りつぶしコマンドＣ（ｎ＋１），矩形描画コマンドＣ（ｎ＋２）により描画される。ここでは，コマンドＣ５１１及びＣｎが「設定コマンド」であり，コマンドＣ５１２，Ｃ５１３，Ｃ（ｎ＋１），及びＣ（ｎ＋２）が後述する図８の工程Ｓ４００で判定される「描画コマンド」に相当する。
【００４７】
また、上記「設定コマンド」には，文字，図形，イメージの画像合成方法を設定するものがあり，これにより，前述した「上書き」や各種論理演算の内容が設定される。なお，これらの「設定コマンド」は，画像オブジェクト毎，１文字毎に必ず発行されなければならないものではなく，以前に発行されたコマンドの設定内容と同じである場合には発行されない。言い換えれば，以前に発行されたコマンドの設定内容と異なる場合に発行される。従って，図６に示した例において，文字“ｅ”の色が文字“Ｔ”の色と同じ場合は，Ｃ１０６の文字色設定コマンドは発行されない。また，上記画像合成方法に関する設定は，後述するように，初期値として「上書き」が与えられるので，図１に示した図形６の印刷コマンドにおいては，所定の論理演算による画像合成方法の設定コマンドが発行されることになる。コントローラ１２では，以上のような印刷コマンドの列を順次解析して中間コードに変換する。そして，ページ画像ＰＧ１を作成するための印刷コマンド列は改ページコマンドＣｅｎｄで終了する。
【００４８】
図７は，印刷コマンドを中間コードに変換し，パレットを作成する際に用いられる各種変数について説明する図である。図７（Ａ）に示す文字色Ｇ１，図形色Ｇ２，文字の画像合成方法Ｇ３，図形の画像合成方法Ｇ４，及びイメージの画像合成方法Ｇ５は，一種のグローバル変数として，印刷コマンドの設定コマンドにより設定される画像オブジェクトの色と画像合成方法を格納する。これらの変数Ｇ１〜Ｇ５は，新たに中間コードをバンドごとの中間コードバッファＩＣ−ＢＵＦに登録する時に，各バンドにおいて新たに登録される中間コードの前に最後に登録された中間コードの文字色，または図形色等と比較するために参照される。なお，これらの変数Ｇ１〜Ｇ５は，メモリユニット１４内のテーブルＴＢＬに格納されている。
【００４９】
また，文字色Ｇ１，図形色Ｇ２はいずれも，後述する図８の工程Ｓ１００で「黒色（#000000）」が初期値設定され，図８の工程Ｓ７００では適宜初期値が上書きされる。画像合成方法Ｇ３〜Ｇ５には文字色や図形色による「上書き」による画像合成方法が初期設定されており，画像オブジェクトの印刷コマンドにより画像合成方法が設定されなければ，初期設定の「上書き」による画像合成が行われる。
【００５０】
図７（Ｂ）に示すバンド文字色Ｂ１，バンド図形色Ｂ２，バンド文字の画像合成方法Ｂ３，バンド図形の画像合成方法Ｂ４，バンドイメージの画像合成方法Ｂ５，パレットの登録色数Ｂ６，及びパレットＢ７の各変数は，バンドごとに用意される変数である。バンド文字色Ｂ１，バンド図形色Ｂ２，バンド文字の画像合成方法Ｂ３，バンド図形の画像合成方法Ｂ４，及びバンドイメージの画像合成方法Ｂ５は，そのバンドで最後に中間コード登録された文字・図形の色や画像合成方法を格納する。パレットの登録色数Ｂ６は，そのバンドのパレットＢ７に登録された色数（配列の要素数）を，パレットＢ７は，図２（Ａ）のパレットに相当し，そのバンドで使用される色とインデックス番号を格納する。
【００５１】
これらの変数Ｂ１〜Ｂ７は，当該バンド内の新たな画像オブジェクトに対する中間コードを中間コードバッファＩＣ−ＢＵＦへ登録する時に参照される。図７（Ａ）の各変数Ｇ１〜Ｇ５に格納される，バンド内で新たに登録される画像オブジェクトの中間コードの色，画像合成方法等が，変数Ｂ１〜Ｂ５の内容と異なっていれば，新たな画像オブジェクトの中間コードを中間コードバッファＩＣ−ＢＵＦに登録した後に，変数Ｂ１〜Ｂ５の内容を新たな色・画像合成方法等に変更し，色が追加されれば，パレット登録色数Ｂ６を更新するとともにパレットＢ７に色を追加する。
【００５２】
各変数Ｂ１〜Ｂ７は，メモリユニット１４内のテーブルＴＢＬに格納されており，後述する図８の工程Ｓ２００では次のような初期値が設定される。バンド文字色Ｂ１，バンド図形色Ｂ２には「黒色（#000000）」が，画像合成方法についての変数Ｂ３〜Ｂ５には，「上書き」が，パレットＢ７には第１の要素として各バンドの背景色「白色（#ffffff）」が，パレット登録色数Ｂ６の初期値にはパレットの初期設定に応じて１が，初期設定される。新たに中間コードを登録しようとする画像オブジェクトの色や画像合成方法が，各変数Ｂ１〜Ｂ７の初期値や最後に設定された値に等しければ，変数の書き換えや更新，追加等の処理を省略する。そうすることにより，処理の効率化を図ることができる。
【００５３】
図８〜図１６では，画像処理全体の手順を説明する。以下に示す手順は，図４（Ａ）に示した構成を例としてコントローラ１２の動作について説明するが，図４（Ｂ）または図４（Ｃ）における構成にも適用できる。
【００５４】
図８は，１ページの印刷について，印刷コマンドを中間コードに変換して登録する手順を含む画像処理手順全体を説明するフローチャート図である。まず，文字色Ｇ１，図形色Ｇ２及び各画像合成方法Ｇ３〜Ｇ５の各変数に初期値を設定する（Ｓ１００）。次に，全バンドのバンド文字色Ｂ１，バンド図形色Ｂ２，各画像合成方法Ｂ３〜Ｂ５，パレット登録色数Ｂ６，及びパレットＢ７の第１要素に初期値を設定する（Ｓ２００）。
【００５５】
次に，ページ画像内の各画像オブジェクトについて図６に示したような印刷コマンドを順次読み込み中間コードに変換するために解析する（Ｓ３００）。画像オブジェクトの印刷コマンドのうち，前述した「描画コマンド」に相当するものではないときには（Ｓ４００のＮＯ），工程Ｓ６００へ進む。そして，さらに改ページコマンドでない場合には（Ｓ６００のＮＯ），すなわち，前述した「設定コマンド」である場合には，工程Ｓ７００へ進む。例えば，色設定コマンドのときには，工程Ｓ６００へ進み，さらに工程Ｓ７００へ進む。
【００５６】
そして，工程Ｓ４００で描画コマンドが来たら（Ｓ４００のＹＥＳ），画像オブジェクトの色や画像合成方法が設定された図７（Ａ）の各変数Ｇ１〜Ｇ５を参照しながら処理中の画像オブジェクトに対する中間コードを中間コードバッファＩＣ−ＢＵＦに登録するとともに，各バンドのパレットを生成する（Ｓ５００）。
【００５７】
さらに，ページ内の全ての印刷コマンドの処理を終了して改ページコマンドが来たら，（Ｓ６００のＹＥＳ），当該ページについて登録された中間コードをビットマップ画像データに変換し，ビットマップ画像をバンドバッファＢ−ＢＵＦに書き込む。中間コードが登録された時点では，バンド内に使用された色数に応じたパレットが作成されているので，バンドバッファＢ−ＢＵＦには，バンド毎に必要なデプス（ビット数）でパレットを参照する参照データ，もしくは画素ごとの色データがビットマップ画像データとして展開される。
【００５８】
その後，ビットマップ画像データに対し、必要に応じて色空間の変換，圧縮・解凍処理を行う（Ｓ８００）。最後に，バンドバッファＢ−ＢＵＦに展開されたビットマップ画像データは画像形成信号として印刷エンジンに出力される（Ｓ９００）。
【００５９】
上記手順を，図１で示した文字列１を例に説明する。文字列１は，文字「Ｔ」，「ｅ」，「ｘ」，「ｔ」ごとに，文字色設定、フォント選択，文字サイズ設定，テキスト描画位置指定，文字の描画などのコマンドが順次解析され，中間コードに変換される。すなわち，まず文字「Ｔ」について，図６の印刷コマンドＣ１０１〜Ｃ１０５までが解析され，中間コードに変換される（Ｓ３００）。文字色設定コマンドＣ１０１は文字「Ｔ」の描画コマンドではなく（Ｓ４００のＮＯ），改ページコマンドでもない（Ｓ６００のＮＯ）ので，各種設定工程Ｓ７００へ進む。そして，フォント選択コマンドＣ１０２以降のコマンドが来たら描画コマンドと判定されて（Ｓ４００のＹＥＳ），中間コード登録工程Ｓ５００へ進む。
【００６０】
以上の工程が文字「Ｔ」について実行されてから，同じ工程が文字「ｅ」についても実行され，以降文字「ｘ」，「ｔ」についても順次実行される。その後，他の画像オブジェクトについての処理がなされ，最後に改ページコマンドＣｅｎｄが来たら（Ｓ６００のＹＥＳ），画像展開・色空間変換・圧縮処理工程Ｓ８００に進み，最後に印刷工程Ｓ９００へ進む。
【００６１】
図９は，各画像オブジェクトの各種変数の設定の手順を説明するフローチャート図である。図８の工程Ｓ７００に対応する。ここでは，解析した印刷コマンド（「設定コマンド」）に基づき，各画像オブジェクトについての色及び画像合成方法を図７（Ａ）で示した各変数Ｇ１〜Ｇ５に設定する。すなわち，図８の工程Ｓ３００で読み込まれた印刷コマンドが文字の画像オブジェクトの印刷コマンドである場合は，文字色設定コマンドが来たら（Ｓ７２０のＹＥＳ）図７（Ｂ）の文字色Ｇ１を、文字色設定コマンドで設定されている設定色に変更する（Ｓ７２２）。また，図形オブジェクトについての印刷コマンドである場合は，図形色設定コマンドが来たら（Ｓ７４０のＹＥＳ），図形色Ｇ２を図形色設定コマンドで設定されている設定色に変更する（Ｓ７４２）。さらに，画像オブジェクトの種類によらず画像合成方法設定コマンドが来たら（Ｓ７６０のＹＥＳ），画像合成方法Ｇ３〜Ｇ５のいずれかを画像合成法設定コマンドの指定する画像合成方法に変更する（Ｓ７６２）。
【００６２】
図１の文字列１の文字「Ｔ」の例では，文字色設定コマンドＣ１０１は文字「Ｔ」の文字色設定コマンドであるので（Ｓ７２０のＹＥＳ），図７（Ａ）に示した文字色Ｇ１に文字色設定コマンドＣ１０１が指定する文字色「赤色（#ff0000）」を設定する（Ｓ７２２）。また，グラデーション図形５の例では，図形色設定コマンドＣ５１１は，文字色設定コマンドではなく（Ｓ７２０のＮＯ），図形色設定コマンドであるので（Ｓ７４０のＹＥＳ），図７（Ａ）に示した図形色Ｇ２に図形色設定コマンドＣ５１１が指定する図形色「赤色（#ff0000）」を設定する（Ｓ７４２）。さらに，グラデーション図形６の例では，図６には示さない画像合成方法設定コマンドが来るので，工程Ｓ７６２に進み，図７（Ａ）に示した図形の画像合成方法Ｇ４に「排他的論理和（ＰＡＴＩＮＶＥＲＴ）」を設定する。
【００６３】
図１０は，中間コード登録の手順を説明するフローチャート図である。図８の工程Ｓ５００に対応する。コントローラ１２は，まず受け取った画像オブジェクトの「描画コマンド」から中間コードとして登録される対象の画像オブジェクトが文字であるかを判断し（Ｓ５０２），文字であれば中間コードバッファＩＣ−ＢＵＦに，文字中間コード登録を行う（Ｓ５２０）。次に，文字でない場合，画像オブジェクトが図形であるかを判断し（Ｓ５０４），図形であれば図形中間コード登録を行う（Ｓ５４０）。最後に，文字でも図形でもない場合は（Ｓ５０４のＮＯ），画像オブジェクトをイメージと判断し，イメージ中間コード登録を行う（Ｓ５６０）。 
【００６４】
ここで，図８，図９及び図１０で説明した工程に，再度，図１に示した画像オブジェクトの例を当てはめてみる。
【００６５】
まず，文字列１の例では，文字「Ｔ」について図６の印刷コマンドＣ１０１〜Ｃ１０５が解析される（図８のＳ３００）。文字色設定コマンドＣ１０１は文字「Ｔ」の「描画コマンド」ではなく（図８のＳ４００のＮＯ），改ページコマンドでもない（Ｓ６００のＮＯ）ので，各種設定工程Ｓ７００（図９）へ進む。
【００６６】
図９の各種設定工程において，印刷コマンドＣ１０１は文字「Ｔ」の文字色設定コマンドであるので（Ｓ７２０のＹＥＳ），図７（Ａ）に示した文字色Ｇ１に文字色設定コマンドＣ１０１が指定する文字色「赤色（#ff0000）」を設定する（Ｓ７２２）。
【００６７】
図８へ戻ると，文字「Ｔ」の「描画コマンド」に相当するフォント選択コマンドＣ１０２が来た時点で（Ｓ４００のＹＥＳ），中間コード登録工程Ｓ５００へ進む。そして，図１０の中間コード登録工程において，処理中のオブジェクトは文字「Ｔ」であるので（Ｓ５０２のＹＥＳ），文字中間コード登録工程Ｓ５２０へ進む。
【００６８】
上記のように，文字「Ｔ」について各種設定工程Ｓ７００（図９）と中間コード登録工程Ｓ５００（図１０）が実行された後，文字「ｅ」について，各種設定Ｓ７００（図９）と中間コード登録工程Ｓ５００（図１０）の処理がされる。以降文字「ｘ」，「ｔ」についても同様である。
【００６９】
次に，グラデーション図形５の例では，段階的に色が変化する複数の矩形ごとに印刷コマンドが解析される。まず，赤色の矩形を描画するための色設定コマンドＣ５１１，矩形塗りつぶしコマンドＣ５１２，矩形描画コマンドＣ５１３が順に解析される（図８のＳ３００）。印刷コマンドＣ５１１は図形色設定コマンドであって矩形の「描画コマンド」ではなく（図８のＳ４００のＮＯ），改ページコマンドでもない（Ｓ６００のＮＯ）ので，各種設定工程Ｓ７００（図９）へ進む。
【００７０】
図９の各種設定工程において，図形色設定Ｃ５１１は矩形の図形色設定コマンドであるので（Ｓ７４０のＹＥＳ），図７（Ａ）に示した図形色Ｇ２に図形色設定コマンドＣ５１１が指定する図形色「赤色（#ff0000）」を設定する（Ｓ７４２）。
【００７１】
図８へ戻ると，「描画コマンド」に相当する矩形塗りつぶしコマンドＣ５１２が来た時点で（Ｓ４００のＹＥＳ），中間コード登録工程Ｓ５００（図１０）へ進む。そして，図１０の中間コード登録工程において，処理中のオブジェクトは図形であるので（Ｓ５０４のＹＥＳ），図形中間コード登録工程Ｓ５４０へ進む。
【００７２】
上記のような手順で，ページ画像ＰＧ１の全ての画像オブジェクトについてグラデーション図形６の印刷コマンドにいたるまで中間コードへの変換，登録がなされる。そして，最後に改ページコマンドＣｅｎｄが来たら（Ｓ６００のＹＥＳ），画像展開・色空間変換・圧縮処理工程Ｓ８００に進み，最後に印刷工程Ｓ９００へ進む。
【００７３】
図１１は，文字中間コード登録の手順を説明するフローチャート図である。図１０の工程Ｓ５２０に対応する。まず，コントローラ１２は，１つの文字オブジェクトごとに文字中間コードが登録されるべき登録先頭バンド番号と登録最終バンド番号を算出する（Ｓ５ ２１）。次に，登録先頭バンドから登録最終バンドについて順番に，当該バンドのバンド文字色Ｂ１の判断（Ｓ５２３〜Ｓ５２５），バンド文字の画像合成方法の判断（Ｓ５２６〜５２８），当該バンドで使用される色データのパレットへの登録（Ｓ５２９〜５３５），及び中間コードバッファＩＣ−ＢＵＦへの文字中間コードの登録（Ｓ５３６）を行う。
【００７４】
まず解析された文字オブジェクトの色設定コマンドにより文字色Ｇ１に設定された色をバンド文字色Ｂ１の色と比較する（Ｓ５２３）。両者が同じなら工程Ｓ５２６に進む。両者が異なれば，当該バンドに文字色Ｇ１に格納された色を設定する文字色設定中間コードを登録し（Ｓ５２４），バンド文字色Ｂ１を文字色Ｇ１に設定された色に変更する（Ｓ５２５）。例えば，図１の文字列１の文字“Ｔ”がページの中で一番最初に読み込まれた印刷コマンドであるとすると，文字色設定コマンドＣ１０１により文字色Ｇ１に設定された色とバンド文字色Ｂ１の初期値「黒色（#000000）」とは異なるので，バンドに文字色Ｇ１に格納された色を設定する文字色設定中間コードを登録する。
【００７５】
次に，文字“Ｔ”の画像合成方法の変数Ｇ３（図７（Ａ））に格納された画像合成方法を，バンド文字の画像合成方法の変数Ｂ３と比較する（Ｓ５２６）。両者が同じなら工程Ｓ５２９に進む。両者が異なれば，当該バンドに文字の画像合成方法を設定する中間コードを登録し（Ｓ５２７），バンド文字の画像合成方法Ｂ３を文字の画像合成方法Ｇ３（図７（Ａ））に設定された画像合成方法に変更する（Ｓ５２８）。
【００７６】
そして，バンド文字の画像合成方法変数Ｂ３に格納された画像合成方法が，バンドバッファの背景色や複数の画像オブジェクトとの論理演算により色を指定するものであるかを判断する（Ｓ５２９）。工程Ｓ５２９の判断結果がＹＥＳの場合は，工程Ｓ５３４に進み，処理中のバンドのパレット登録色数Ｂ６を「２５７」に設定し，そのバンドに文字中間コードを登録する（Ｓ５３５）。これにより、当該バンドについては，後述する画像展開処理において，パレットを用いずに，画素ごとの色データを直接ビットマップ画像データとして展開することになる。
【００７７】
なお，この時点で，当該バンドについて，既にパレットが作成されている場合には，そのパレットを削除してもよい。
【００７８】
工程Ｓ５２９の判断結果がＮＯの場合は，バンド文字色Ｂ１の色がそのバンドのパレットにすでに格納された色であるかを，パレットＢ７を参照して判断する（Ｓ５３０）。工程Ｓ５３０の判断結果がＹＥＳの場合は，工程Ｓ５３５に進み，そのバンドに文字中間コードを登録する。工程Ｓ５３０の判断結果がＮＯの場合は，そのバンドのパレットの登録色数Ｂ６が２５６色以上であるかを判断する（Ｓ５３１）。
【００７９】
工程Ｓ５３１の判断結果がＹＥＳの場合は，工程Ｓ５３４に進み，処理中のバンドのパレット登録色数を「２５７」に設定し，そのバンドに文字中間コードを登録する（Ｓ５３５）。この場合は，後の工程で画素ごとの色データをビットマップ画像データとして展開することになる。工程Ｓ５３１の判断結果がＮＯの場合は，そのバンドのパレットＢ７にバンド文字色Ｂ１の色を新たに登録し（Ｓ５３２），バンドのパレット登録数変数Ｂ６の値を１つ増やす（Ｓ５３３）。そして，そのバンドに文字中間コードを登録する（Ｓ５３５）。以上の手順を，文字中間コードを登録しようとする最終バンドまで繰り返す。
【００８０】
上述した手順を，図１で示したページ画像ＰＧ１の文字の画像オブジェクトに当てはめてみる。例えば，文字列１「Ｔｅｘｔ」の文字「Ｔ」については，各種設定工程（図９）で文字色Ｇ１に「赤色（#ff0000）」を設定した後（図９のＳ７２２），フォント選択コマンドＣ１０２を「描画コマンド」と判定し（図８のＳ４００のＹＥＳ），それ以降，文字「Ｔ」を描画する中間コードを登録する処理を行う。
【００８１】
図１１において，文字「Ｔ」は第１バンドＢＮＤ１と第２バンドＢＮＤ２に位置するので，文字中間コード登録先頭バンド番号「１」（第１バンドＢＮＤ１），登録最終バンド番号「２」（第２バンドＢＮＤ２）が算出される（Ｓ５２１）。そして，登録先頭バンド番号「１」から登録最終バンド番号「２」について各々工程Ｓ５２３からＳ５３５が実行される。まず、第１バンドＢＮＤ１のバンド文字色Ｂ１と，文字色Ｇ１に格納された文字列１の「Ｔ」の文字色とが比較される（Ｓ５２３）。
【００８２】
ここで，文字列１の「Ｔ」は「赤色（#ff0000）」であるので，文字色Ｇ１には図９の工程Ｓ７２２において「赤色（#ff0000）」が格納されている。一方，バンド文字色Ｂ１は図８の工程Ｓ２００で「黒色（#000000）」に初期値設定されている。すると第１バンドＢＮＤ１のバンド文字色Ｂ１と文字色Ｇ１は異なるので，第１バンドＢＮＤ１の中間コードバッファＩＣ−ＢＵＦに「赤色（#ff0000）」の文字色設定中間コードが登録され（Ｓ５２４），第１バンドＢＮＤ１のバンド文字色Ｂ１は，文字色Ｇ１の「赤色（#ff0000）」に変更される（Ｓ５２５）。
【００８３】
次に，第１バンドＢＮＤ１のバンド文字の画像合成方法Ｂ３と，文字列「Ｔ」についての画像合成方法とが比較される（Ｓ５２６）。ここで，文字の画像合成方法Ｇ３は図９の各種設定工程で変更されず初期設定「上書き」による画像合成方法であり，一方バンド文字の画像合成方法Ｂ３も「上書き」に初期値設定されている。すると第１バンドＢＮＤ１のバンド文字の画像合成方法Ｂ３と文字の画像合成方法Ｇ３は等しいので，バンド文字の画像合成方法Ｂ３の値は変更されず，工程Ｓ５２９へ進む。
【００８４】
すると，バンド文字の画像合成方法Ｂ３に格納された画像合成方法は「上書き」であるので，バンドバッファの背景色や複数の画像オブジェクトとの論理演算により色を指定するものではなく工程Ｓ５２９の判断結果はＮＯとなる。工程Ｓ５３０では，パレットＢ７の第１要素は「白色（#ffffff）」が初期設定されている（図８の工程Ｓ２００）が，バンド文字色Ｂ１の色である「赤色（#ff0000）」は登録されていないので，判断結果はＮＯとなる。工程Ｓ５３１では，第１バンドＢＮＤ１のパレットの登録色数Ｂ６は「１」に初期設定されており（図８の工程Ｓ２００），２５６以上ではないので，判断結果はＮＯとなる。
【００８５】
そこで，第１バンドＢＮＤ１のパレットＢ７にバンド文字色Ｂ１の「赤色（#ff0000）」を初期設定された白に加えて登録し（Ｓ５３２），第１バンドＢＮＤ１のパレットの登録色数Ｂ６を「２」に増加させ上書きする（Ｓ５３３）。最後に，第１バンドＢＮＤ１に文字中間コードを登録する（Ｓ５３５）。
【００８６】
次に、Ｓ５２１で、文字“Ｔ”はバンド２にも属していると判断されているので、中間コード登録ループ工程Ｓ５２２〜工程Ｓ５３７が，バンド２についても同様に実行される。
【００８７】
上記の手順を，文字列１の全ての文字について実行する。すなわち，文字「ｅ」についても第１バンドＢＮＤ１に中間コードを登録し，さらに第２バンドＢＮＤ２にも中間コードを登録する。文字「ｘ」，「ｔ」についても同じ処理を行う。
【００８８】
図１２は，図形中間コード登録の手順を説明するフローチャート図である。図１０の工程Ｓ５４０に対応する。まず，コントローラ１２は，１つの図形オブジェクトごとに図形中間コードが登録されるべき登録先頭バンド番号と登録最終バンド番号を算出し（Ｓ５４１），登録先頭バンドから登録最終バンドについて順番に，バンド図形色Ｂ２の判断（Ｓ５４３〜Ｓ５４５），バンド図形の画像合成方法の判断（Ｓ５４６〜５４８），そのバンドで使用される色データのパレットへの登録（Ｓ５４９〜５５５），及び中間コードバッファＩＣ−ＢＵＦへの図形中間コードの登録（Ｓ５５６）を行う。なお，グラデーション図形５のように複数の図形により構成される図形オブジェクトの場合には，それぞれの構成単位の図形オブジェクトごとに前記手順を実行する。
【００８９】
各工程の詳細については，対象となる画像オブジェクトが「文字」から「図形」に変わっただけで図１１と同様であるので説明を省略し，図１で示したページ画像ＰＧ１の図
形の画像オブジェクトに当てはめてみる。
【００９０】
例えば，グラデーション図形５については，グラデーション図形５は，段階的に色が変化する複数の矩形により構成されており，各矩形ごと１つの画像オブジェクトとして印刷コマンドが解析され中間コードに変換される。まず，第１の赤色（#ff0000）の矩形について各種設定工程（図９）で図形色Ｂ２（図７（Ａ））に「赤色（#ff0000）」を設定した後（図９のＳ７４２），矩形塗りつぶしコマンドＣ５１２が来たら「描画コマンド」と判定し（図８のＳ４００のＹＥＳ），工程Ｓ５００へ進み，赤色の矩形を描画する中間コードを登録する処理を実行する。
【００９１】
赤色の矩形は第５バンドＢＮＤ５に位置するので，図形中間コード登録先頭バンド番号，登録最終バンド番号ともに「５」（第５バンドＢＮＤ５）が算出される（図１２のＳ５４１）。よって，バンド番号「５」についてのみ（Ｓ５４１，Ｓ５５７），工程Ｓ５４３からＳ５５５が実行される。
【００９２】
まず，第５バンドＢＮＤ５のバンド図形色Ｂ２と，図形色Ｇ２の色とが比較される（Ｓ５４４）。上述のとおり図形色Ｇ２は図９の各種設定工程Ｓ７４２において「赤色（#ff0000）」に設定されている。ここで，同一バンドにはグラデーション図形４が含まれており，グラデーション図形５の印刷コマンドに先んじてグラデーション図形４の印刷コマンドが処理されているので，グラデーション図形４を構成する最後の矩形の設定色がバンド図形色Ｂ２に最後に設定されていることになる。
【００９３】
すると，グラデーション図形４の最後に中間コード登録された矩形はグラデーション図形５の最初に中間コード登録される矩形（赤の矩形）とは異なる色で構成されているので，第５バンドＢＮＤ５のバンド図形色Ｂ２と図形色Ｇ２に格納された色は異なることになる（Ｓ５４３のＮＯ）。よって，第５バンドＢＮＤ５に「赤色（#ff0000）」の図形色設定中間コードが登録され（Ｓ５４４），第５バンドＢＮＤ５のバンド図形色Ｂ２は，図形色Ｇ２の「赤色（#ff0000）」に変更される（Ｓ５４５）。
【００９４】
次に，第５バンドＢＮＤ５のバンド図形の画像合成方法Ｂ４と，グラデーション図形５の第１の矩形（最初に中間コード登録される矩形）についての画像合成方法とが比較される（Ｓ５４６）。ここで，グラデーション図形５の第１の矩形は背景に対して上書きされるものである。一方，バンド図形の画像合成方法Ｂ４については，同一バンドに含まれるグラデーション図形４の画像合成方法「上書き」が最後に設定されている。すると第５バンドＢＮＤ５のバンド図形の画像合成方法Ｂ４と図形の画像合成方法Ｇ４は等しいので（Ｓ５４６のＹＥＳ），バンド図形の画像合成方法Ｂ４の値は変更されず，工程Ｓ５４９へ進む。
【００９５】
すると，バンド図形の画像合成方法Ｂ４に格納された画像合成方法は「上書き」であるので，バンドバッファの背景色や複数の画像オブジェクトとの論理演算により色を指定するものではない（Ｓ５４９のＮＯ）。そして，バンドのパレットＢ７には，すでにグラデーション図形４に使用される色が登録されているが，グラデーション図形４はグラデーション図形５と異なる色を用いているため，バンド図形色Ｂ２の色である「赤色（#ff0000）」は登録されていない（Ｓ５５０のＮＯ）。さらに，第５バンドＢＮＤ５のパレットの登録色数Ｂ６は，グラデーション図形４に使用される色数である２５６以下のいずれかの値に設定されているが，２５６以上ではない（Ｓ５３１のＮＯ）。
【００９６】
そこで，第５バンドＢＮＤ５のパレットＢ７にバンド図形色Ｂ２の「赤色（#ff0000）」を登録し（Ｓ５５２），第５バンドＢＮＤ５のパレットの登録色数Ｂ６を１つ増加させて上書きする（Ｓ５５３）。そして，第５バンドＢＮＤ５の図形中間コードを登録する（Ｓ５５５）。
【００９７】
上述の手順を，グラデーション図形５を構成する全ての矩形について実行すると，工程 Ｓ５５１において，当該バンド番号「５」について，登録色数Ｂ６が２５６を上回る時点がある。その場合には（Ｓ５５１のＹＥＳ），パレットに図形色を登録せずに中間コードを登録する処理に切り替わる（Ｓ５５５）。
【００９８】
別の図形オブジェクト例として，グラデーション図形６について見てみると，第６バンドＢＮＤ６について上記同様の処理が行われる。ただし，図形の画像合成方法Ｇ４には，背景色や複数の図形の色の論理演算により色が設定される画像合成方法が設定される。よって，工程Ｓ５４６の判断結果はＮＯとなり，第６バンドの中間コードバッファＩＣ−ＢＵＦに「論理演算」による画像合成方法を設定する画像合成方法設定中間コードが登録され（Ｓ５４７），第６バンドＢＮＤ６のバンド図形の画像合成方法Ｂ４は，初期設定された「上書き」から，図形の画像合成方法Ｇ４に設定された画像合成方法に書き換えられる（Ｓ５２７）。すると，工程Ｓ５４９の判断結果はＹＥＳとなり，処理中のバンドのパレット登録色数を「２５７」に設定するとともに（Ｓ５５４），そのバンドに図形中間コードを登録する（Ｓ５５５）。
【００９９】
図１３は，イメージ中間コード登録の手順を説明するフローチャート図である。図１０の工程Ｓ５６０に対応する。イメージの印刷コマンドの一例としては，上書きのイメージ画像合成方法設定コマンド，イメージ描画位置指定コマンド，イメージ描画コマンドからなるコマンド列が順次図８の工程Ｓ３００において解析される。イメージ画像合成方法設定コマンドは，「描画コマンド」ではなく（図８のＳ４００のＮＯ），改ページコマンドでもないため（図８のＳ６００のＮＯ），図９の各種設定工程に進む。図９の各種設定工程ではＳ７６２の画像合成方法設定に進み，イメージの画像合成方法Ｇ５に「上書き」による画像合成方法が設定される。
【０１００】
続くイメージ描画位置指定コマンド，イメージ描画コマンドは図８のＳ４００で「描画コマンド」と判定されるので，中間コード登録工程（図１０）に進み，図１０の中間コード登録工程ではＳ５６０のイメージ中間コード登録工程に進み，以下の手順が実行される。
【０１０１】
図１３においては，まず，イメージ中間コードが登録されるべき登録先頭バンド番号と登録最終バンド番号を算出する（Ｓ５６０）。次に，登録先頭バンドから登録最終バンドについて順番に，当該バンドのバンドイメージの画像合成方法の判断（Ｓ５６３），当該バンドで使用される色データのパレットへの登録（Ｓ５６４〜５６８），及び中間コードバッファＩＣ−ＢＵＦへのイメージ中間コードの登録（Ｓ５６９）を行う。
【０１０２】
バンドのイメージ画像合成方法の判断においては，イメージの画像合成方法Ｇ５に格納された画像合成方法が，バンドバッファの背景色や複数の画像オブジェクトとの論理演算により色を指定するものであるかを判断する（Ｓ５６３）。工程Ｓ５６３の判断結果がＹＥＳの場合は，工程Ｓ５７０に進み処理中のバンドのパレット登録色数Ｂ６を「２５７」に設定し，そのバンドの中間コードバッファＩＣ−ＢＵＦにイメージ中間コードを登録する（Ｓ５６９）。
【０１０３】
工程Ｓ５６３の判断結果がＮＯの場合は，イメージを構成するすべての画素について，パレットの登録色数Ｂ６が２５６以下の間は次の処理を行う。まず，画素の色がそのバンドのパレットにすでに格納された色であるかを判断する（Ｓ５６５）。工程Ｓ５６５の判断結果がＹＥＳの場合は，次の画素についてパレットに格納された色であるかを判断する。工程Ｓ５６５の判断結果がＮＯの場合は，そのバンドのパレットＢ７に画素で使用される色を新たに登録し（Ｓ５６６），バンドのパレット登録色数Ｂ６の値を１つ増やす（Ｓ５６７）。
【０１０４】
そして，全ての画素について処理を終えたら，そのバンド中間コードバッファＩＣ−Ｂ ＵＦにイメージ中間コードを登録する（Ｓ５６９）。以上の手順を，イメージ中間コードを登録しようとする最終バンドまで繰り返す。なお，パレット登録色数が２５７以上になった場合、２５７に設定された場合には，当該バンドについては，後述する画像展開処理において，パレットを用いずに，画素ごとの色データを直接ビットマップ画像データとして展開することになる。この時点で，当該バンドについて，既にパレットが作成されている場合には，そのパレットを削除してもよい。
【０１０５】
上述した手順を，図１で示したページ画像ＰＧ１の自然画イメージ３の例に当てはめてみる。自然画イメージ３は，第３バンドＢＮＤ３に位置するので，イメージ中間コード登録先頭バンド番号，登録最終バンド番号ともに「３」（第３バンドＢＮＤ３）が算出される（Ｓ５６１）。よって，バンド番号「３」についてのみ（Ｓ５６２），工程Ｓ５６３からＳ５６９が実行される。
【０１０６】
まず，イメージの画像合成方法Ｇ５に格納された画像合成方法はバンドバッファの背景色や複数の画像オブジェクトとの論理演算により色を指定するものではなく「上書き」であるので（Ｓ５６３のＮＯ），イメージを構成するすべての画素について，色を判断する。パレット登録色数Ｂ６が２５６以内である間は，画素の色がそのバンドのパレットにすでに格納された色であるかを判断しつつ（Ｓ５６５），登録がされていなければ，第３バンドＢＮＤ３のパレットＢ７に色を新たに登録し（Ｓ５６６），バンドのパレット登録数変数Ｂ６の値を１つ増やす（Ｓ５６７）。そして，全ての画素について処理を終えたら，第３バンドＢＮＤ３の中間コードバッファＩＣ−ＢＵＦにイメージ中間コードを登録する（Ｓ５６９）。
【０１０７】
以上のようにして中間コードバッファＩＣ−ＢＵＦには中間コードが登録され，バンドごとのパレットもメモリユニット１４に記憶される。
【０１０８】
図１４は，中間コードバッファＩＣ−ＢＵＦに登録された中間コードとパレット登録色数をバンドごとに例示した図である。例として，第１，第３，第５及び第６バンドの中間コードを図示している。第１バンドＢＮＤ１には，文字列１を構成する「Ｔ」，「ｅ」，「ｘ」，「ｔ」の各文字の色を設定する文字色設定中間コードと，それぞれの文字の上部を生成する文字中間コードが登録されており，パレットへは背景色の白色（#ffffff）に各文字の色を加えた合計５色が登録されている。
【０１０９】
第３バンドＢＮＤ３は，図形２の色を設定する図形色設定中間コードと矩形の上部を生成する矩形中間コード，及びカラーの自然画イメージ３を生成するイメージ中間コードが登録されており，パレット登録色数は２５６超となっている。
【０１１０】
第５バンドＢＮＤ５は，グラデーション図形４を構成する色毎の矩形の各々につき，各々の色を設定する図形色設定中間コードとそれぞれの矩形の下部を生成する矩形中間コードが登録され，同様にグラデーション図形５を構成する色毎の矩形の各々につき，各々の色を設定する図形色設定中間コードとそれぞれの矩形を生成する矩形中間コードが登録されている。パレット登録色数は図１２において説明したとおり２５６超となっている。
【０１１１】
第６バンドＢＮＤ６は，複数の図形の画像合成によるグラデーション図形６の色を生成するために，図形色設定中間コードや排他的論理和による画像合成を設定する中間コードなどが登録されており，バンドで使用される色は中間コードに基づきビットマップ画像データを展開する時点で論理演算により決まるので，パレット登録色数は特定できず２５６超となっている。
【０１１２】
上記のような中間コードに基づきビットマップ画像データを展開する時点で，パレット登録色数に応じたデプスでビットマップメモリ領域であるバンドバッファＢ−ＢＵＦを確保し，パレットを参照するインデックスを有する参照データまたは画素ごとの色データをビットマップ画像データとして展開する。そうすることにより処理全体としてメモリ資源と処理負荷の最適配分を図ることができる。
【０１１３】
図１５は，ビットマップ画像データ展開のフローチャート図である。図８の工程Ｓ８００に対応する。展開ユニット１８は，ページ画像内のすべてのバンドについて（Ｓ８１０，Ｓ８１２），中間コードを順次ビットマップ画像データに展開しバンドごとに確保したバンドバッファＢ−ＢＵＦに登録する。
【０１１４】
まず，各バンドのパレットの登録色数からバンドごとに割り当てるデプスを判断する（Ｓ８２０，Ｓ８４０，Ｓ８６０）。パレットの登録色数が２の場合は（Ｓ８２０のＹＥＳ），１画素当たり１ビットのデプスを割り当て，工程Ｓ８２１へ進む。パレットの登録色数が２５６色超の場合は（Ｓ８４０のＹＥＳ），１画素当たり２４ビットのデプスを割り当て，工程Ｓ８４１へ進む。パレットの登録色数が２５６以下で１６色超の場合は（Ｓ８６０のＹＥＳ），１画素当たり８ビットのデプスを割り当て，工程Ｓ８６１へ進む。そして，パレットの登録色数が１６色以下の場合は（Ｓ８６０のＮＯ），１画素当たり４ビットのデプスを割り当て，工程Ｓ８７１へ進む。
【０１１５】
上記のようにしてパレットの登録色数により工程が分岐するが，パレットの登録色数が２５６以下の場合は，同様の工程が実行される。まず，割り当てられたデプスのビットマップメモリを確保し初期化する（Ｓ８２１，Ｓ８６１，Ｓ８７１）。そして確保したビットマップメモリへ中間コードに基づくビットマップ画像データを展開する。つまり，各画素がパレットのインデックス番号を有するように，パレットの色データを参照する参照データを各画素に展開する（Ｓ８２２，Ｓ８６２，Ｓ８７２）。次に，色変換ユニット２０がパレットに登録された色をＲＧＢ色空間からＣＭＹＫ色空間へ変換する（Ｓ８２３，Ｓ８６３，Ｓ８７３）。そして，圧縮・解凍ユニット２２は展開した参照データを圧縮しメモリユニット１４に記憶させる（Ｓ８２４，Ｓ８６４，Ｓ８７４）。
【０１１６】
パレットの登録色数が２５６超の場合は，割り当てられた１画素２４ビットのデプスのビットマップメモリを確保し初期化する（Ｓ８４１）。そして確保したビットマップメモリへ中間コードに基づくビットマップ画像データ，つまり画素ごとのＲＧＢ各８ビットの色データによるビットマップ画像データを展開する（Ｓ８４２）。次に，色変換ユニット２０がパレットに登録された色ではなく，展開された画素ごとの色データをＲＧＢ色空間からＣＭＹＫ色空間へ変換する（Ｓ８４３）。そして，圧縮・解凍ユニット２２はＣＭＹＫのビットマップ画像データを圧縮しメモリユニット１４に記憶させる（Ｓ８４４）。ここで，上記の工程Ｓ８２３，Ｓ８６３，またはＳ８７３において，色変換ユニット２０が色空間変換するパレットについて図１６を用いて説明する。
【０１１７】
図１６は，色空間変換前後のパレットの対応関係を説明する図である。図１６（Ａ）は中間コード登録時に作成されるパレットを例示している。このパレットは，インデックス番号０から（ｎ−１）までの要素数ｎのパレットであり，インデックスに対応付けられて，ＲＧＢ階調値が登録されている。このパレットの色空間を変換すると，図１６（Ｂ）に示すＣＭＹＫ値を有するパレットとなる。つまり，各インデックス番号に対応する色の値がＲＧＢ階調値からＣＭＹＫ階調値に変換される。例えば，インデックス番号「０」に対応するＲＧＢ階調値（Ｒ０，Ｇ０，Ｂ０）は，インデックス番号を変えずに，ＣＭＹＫ階調値（Ｃ０，Ｍ０，Ｙ０，Ｋ０）に変換される。
【０１１８】
ここで，色空間変換の前後でインデックス番号は変化しないので，参照データの画素が変換前のＲＧＢ階調値による色データを指すインデックスと同じインデックスを変換後に参照すれば，そのＲＧＢ階調値に対応するＣＭＹＫ階調値による色データを参照することができる。従って，画素が有する参照データを変更する必要はない。すなわち，色データを有するパレットを参照する参照データを展開することにより，色空間変換処理はパレットのみを対象とすればよくなる。よって，画素ごとの色データであるビットマップ画像データの全ての画素についての色空間変換処理を行う場合と比べて，処理の負荷を軽減することが可能となる。 
【０１１９】
図１５に戻り，上述の手順を具体的にページ画像ＰＧ１のバンドに当てはめて見ると次のとおりとなる。
【０１２０】
例えば，第１バンドＢＮＤ１は５色のパレットを有するので（Ｓ８６０のＮＯ），１画素当たり４ビットのデプスのビットマップメモリが確保されて初期化される（Ｓ８７１）。そして，確保されたビットマップメモリには，図１４で示したような中間コードに基づき５色が登録されたパレットの色データを参照する参照データがビットマップ画像データとして展開される（Ｓ８７２）。そして，このパレットの各要素がＲＧＢ色空間からＣＭＹＫ色空間へ変換される（Ｓ８７３）。そして，色空間変換後のパレットにおける同一のインデックス番号を参照する参照データを圧縮し記憶する（Ｓ８７４）。
【０１２１】
また，第６バンドＢＮＤ６について見てみると，パレット登録色数は２５６色超であるので（Ｓ８４０のＹＥＳ），１画素当たり２４ビットのデプスのビットマップメモリが確保されて初期化される（Ｓ８４１）。そして，確保されたビットマップメモリに図１４で示したような中間コードに基づくビットマップ画像データが展開される（Ｓ８４２）。その際，グラデーション図形６の色は論理演算により設定され，展開されたビットマップ画像の各画素は，ＲＧＢ階調値により表現される色データである。そして，すべての画素の色データについてＲＧＢ階調値がＣＭＹＫ階調値に変換される（Ｓ８４３）。そして，色空間変換後のＣＭＹＫビットマップ画像データを圧縮し記憶する（Ｓ８４４）。
【０１２２】
なお，以上説明した実施の形態においては，１つのページ画像を６つのバンドに分割した例を用いているが，バンドの数は前記に限られない。また，複数のバンドが共通のパレットを用いることができる。すなわち，複数のバンドにおいて使用される色が同一である場合または重複する色が多い場合などに，パレットを共有することによりパレットを確保するためのメモリ資源を節約することができる。
【０１２３】
以上のように，本実施の形態によれば，バンド単位でビットマップ画像データのデータ量を抑制することができ，画像処理全体としてメモリ資源と処理負担の最適配分が可能となる。
【図面の簡単な説明】
【０１２４】
【図１】ページ画像を所定の印刷領域であるバンドに分割した場合の，画像オブジェクト例とバンドとの関係を説明する図である。
【図２】パレットとバンド単位に変換されるビットマップ画像データのデプスの関係について説明する図である。
【図３】各バンドで使用される色数と，色数に応じて展開されるビットマップ画像データのデータ量の対応関係を説明する図である。
【図４】画像処理を行う画像処理装置の概略構成図である。
【図５】本実施の形態におけるプリンタの構成図である。
【図６】画像オブジェクトの印刷コマンドを説明する図である。
【図７】印刷コマンドを中間コードに変換する際に用いられる各種変数について説明する図である。
【図８】１ページの印刷に際しての画像処理手順全体を説明するフローチャート図である。
【図９】各画像オブジェクトの各種設定の手順を説明するフローチャート図である。
【図１０】中間コード登録の手順を説明するフローチャート図である。
【図１１】文字中間コード登録の手順を説明するフローチャート図である。
【図１２】図形中間コード登録の手順を説明するフローチャート図である。
【図１３】イメージ中間コード登録の手順を説明するフローチャート図である。
【図１４】中間コードバッファＩＣ−ＢＵＦに登録された中間コードとパレット登録色数をバンドごとに例示した図である。
【図１５】ビットマップ画像データ展開のフローチャート図である。
【図１６】色空間変換前後のパレットの対応関係を説明する図である。
【符号の説明】
【０１２５】
ＢＮＤ１：第１バンド    １２：  コントローラ
Ｇ１：文字色            Ｂ１：バンド文字色
【図１】
2007216675.tif 000003
【図２】
2007216675.tif 000004
【図３】
2007216675.tif 000005
【図４】
2007216675.tif 000006
【図５】
2007216675.tif 000007
【図６】
2007216675.tif 000008
【図７】
2007216675.tif 000009
【図８】
2007216675.tif 000010
【図９】
2007216675.tif 000011
【図１０】
2007216675.tif 000012
【図１１】
2007216675.tif 000013
【図１２】
2007216675.tif 000014
【図１３】
2007216675.tif 000015
【図１４】
2007216675.tif 000016
【図１５】
2007216675.tif 000017
【図１６】
2007216675.tif 000018