(57)【要約】【課題】省メモリで高速な透明オブジェクトを含む印刷データを印刷可能な印刷装置を提供する。【解決手段】ページメモリ領域６４を第１バンド６４ａ乃至第５バンド６４ｅに分割して捉え、付随情報を用いて、第１オブジェクトＡ及び第２オブジェクトＢがどのバンドに配置されるかを判断する配置バンド判断手段を備え、配置バンド判断手段に、透明オブジェクトである第２オブジェクトＢが配置されると判断されたバンドについて、透明処理手段は、透明処理を行い、透明処理済みデータを生成し、透明処理バッファ６３ａは、透明処理済みデータを記憶し、画像データ生成手段は、画像データを生成し、配置バンド判断手段に、透明オブジェクトである第２オブジェクトＢが配置されないと判断されたバンドについて、画像データ生成手段は、ＰＤＬデータ６０に含まれる第１オブジェクトＡ及び第２オブジェクトＢを用いて画像データを生成することを特徴とする。【選択図】図５
2008001068.tif 000002
【特許請求の範囲】
【請求項１】
外部から入力される複数のオブジェクトと、前記オブジェクトのうち少なくとも１つに対応する付随情報を含む印刷データを受取る印刷データ受取手段と、
前記オブジェクトに対応する前記付随情報を用いて、前記オブジェクトが透明属性を持つ透明オブジェクトかを判断する透明属性判断手段と、
前記オブジェクトを用いて透明処理を行い、透明処理済みデータを生成する透明処理手段と、
前記透明処理済みデータを記憶する透明処理バッファと、
前記透明処理済みデータ又は前記オブジェクトを基に画像データを生成する画像データ生成手段と、
前記画像データをページメモリに記憶させる画像データ記憶制御手段と、
前記ページメモリに記憶された前記画像データを用いて印刷媒体に画像を印刷する印刷エンジンと、
を備える印刷装置において、
前記ページメモリを所定の領域であるバンドの集合であると捉え、前記付随情報を用いて、前記オブジェクトがどのバンドに配置されるかを判断する配置バンド判断手段を備え、
前記配置バンド判断手段に、前記透明オブジェクトが配置されると判断されたバンドであることを第１条件として、
前記透明処理手段は、前記第１条件を満足するバンドに配置される前記オブジェクトを用いて前記透明処理を行い、前記透明処理済みデータを生成し、
前記透明処理バッファは、前記透明処理済みデータを記憶し、
前記画像データ生成手段は、前記透明処理バッファに記憶された前記透明処理済みデータを用いて前記画像データを生成する一方、
前記配置バンド判断手段に、前記透明オブジェクトが配置されないと判断されたバンドであることを第２条件として、
前記画像データ生成手段は、前記第２条件を満足するバンドに配置される前記オブジェクトを用いて前記画像データを生成する
ことを特徴とする印刷装置。
【請求項２】
請求項１に記載の印刷装置において、
前記バンド毎に、前記配置バンド判断手段により判断された、前記バンドに配置される前記オブジェクトの数を示すオブジェクト数と、前記透明属性判断手段により判断された、前記バンドに配置される前記透明オブジェクトの有無を示す透明オブジェクト有無情報を記憶するバンド情報記憶手段を備え、
前記透明処理手段は、前記バンド情報記憶手段により記憶された情報に基づき、前記オブジェクト数が２以上であり、かつ前記透明オブジェクト有無情報により、前記透明オブジェクトが少なくとも１つあるバンドについて透明処理を行うことを特徴とする印刷装置。
【請求項３】
外部から入力される複数のオブジェクトと、前記オブジェクトのうち少なくとも１つに対応する付随情報を含む印刷データを受取る印刷データ受取手段と、
前記オブジェクトに対応する前記付随情報を用いて、前記オブジェクトが透明属性を持つ透明オブジェクトかを判断する透明属性判断手段と、
前記オブジェクトを用いて透明処理を行い、透明処理済みデータを生成する透明処理手段と、
前記透明処理済みデータを記憶する透明処理バッファと、
前記透明処理済みデータ又は前記オブジェクトを基に画像データを生成する画像データ生成手段と、
前記画像データをページメモリに記憶させる画像データ記憶制御手段と、
前記ページメモリに記憶された前記画像データを用いて印刷媒体に画像を印刷する印刷エンジンと、
を備える印刷装置において、
前記ページメモリを所定の領域であるバンドの集合であると捉え、前記付随情報を用いて、前記オブジェクトがどのバンドに配置されるかを判断する配置バンド判断手段と、
前記配置バンド判断手段に基づき、前記透明オブジェクトの含まれた領域であり、前記画像の１辺と平行なＸ辺とＸ辺に垂直なＹ辺とからなる矩形のうち、最小の面積を持つ矩形である透明矩形領域と、他の前記オブジェクトが含まれた領域であり、前記画像の１辺と平行なＸ辺とＸ辺に垂直なＹ辺とからなる矩形のうち、最小の面積を持つ矩形であるベース矩形領域が重なるか否かを、前記付随情報を用いてバンド単位で判断する重なり判断手段と、
を備え、
前記重なり判断手段に、前記透明矩形領域と前記ベース矩形領域が重なって配置されると判断されたバンドであることを第３条件として、
前記透明処理手段は、前記第３条件を満足するバンドに配置される前記オブジェクトを用いて前記透明処理を行い、前記透明処理済みデータを生成し、
前記透明処理バッファは、前記透明処理済みデータを記憶し、
前記画像データ生成手段は、前記透明処理バッファに記憶された前記透明処理済みデータを用いて前記画像データを生成する一方、
前記重なり判断手段に、前記透明矩形領域と前記ベース矩形領域が重なって配置されないと判断されたバンドであることを第４条件として、
前記画像データ生成手段は、前記第４条件を満足するバンドに配置される前記オブジェクトを用いて前記画像データを生成する
ことを特徴とする印刷装置。
【請求項４】
請求項３に記載の印刷装置において、
前記バンド毎に、前記重なり判断手段によって判断された、前記透明矩形領域と前記ベース矩形領域が重なるか否かを示す重なりフラグを記憶するバンド情報記憶手段を備え、
前記透明処理手段は、前記バンド情報記憶手段で記憶された情報に基づき、前記重なりフラグが、前記透明矩形領域と前記ベース矩形領域が重なることを示しているバンドについて、透明処理を行うことを特徴とする印刷装置。
【請求項５】
請求項１乃至請求項４のいずれかに記載の印刷装置において、
前記透明処理手段による透明処理に先立って前記透明処理バッファを確保し、
前記透明処理手段による透明処理の終了を条件として前記透明処理バッファを開放することを特徴とする印刷装置。
【請求項６】
請求項３に記載の印刷装置において、
前記透明矩形領域と前記ベース矩形領域とを含む重複矩形領域の大きさを基に透明処理バッファを確保する透明処理バッファ確保手段を備え、
前記重なり判断手段に、前記透明矩形領域と前記ベース矩形領域が重なって配置されると判断されたバンドであることを第５条件として、
前記透明処理手段は、前記第５条件を満足するバンドに配置されるオブジェクトを用いて前記透明処理を行い、前記重複矩形領域分の透明処理済みデータを生成し、
前記透明処理バッファは、前記透明処理済みデータを記憶し、
前記画像データ生成手段は、前記透明処理バッファに記憶された前記透明処理済みデータを用いて前記画像データを生成することを特徴とする印刷装置。
【請求項７】
請求項６に記載の印刷装置において、
前記バンド毎に、前記重なり判断手段によって判断された、前記透明矩形領域と前記ベース矩形領域が重なるか否かを示す重なりフラグと、前記重複矩形領域の大きさを示す矩形領域情報とを記憶するバンド情報記憶手段を備え、
前記透明処理手段は、前記バンド情報記憶手段で記憶された情報に基づき、前記重なりフラグが、前記透明矩形領域と前記ベース矩形領域が重なることを示しているバンドを、前記矩形領域情報に基づいて、前記重複矩形領域分について透明処理を行い、前記矩形領域情報に基づいて前記透明処理バッファ確保手段が確保した前記透明処理バッファに記憶することを特徴とする印刷装置。
【請求項８】
請求項６に記載の印刷装置において、
前記透明処理バッファ確保手段は、
前記透明処理手段による透明処理に先立って前記透明処理バッファを確保し、
前記透明処理手段による透明処理の終了を条件として前記透明処理バッファを開放することを特徴とする印刷装置。
【請求項９】
請求項１乃至請求項８のいずれかに記載の印刷装置において、
前記オブジェクトの色を示す数値の範囲外の数値を全体に配置することで、前記透明処理バッファを初期化する透明処理バッファ初期化手段を備えることを特徴とする印刷装置。
【請求項１０】
請求項９に記載の印刷装置において、
前記画像データ生成手段が、前記透明処理バッファ初期化手段によって書き込まれた範囲外の数値で表された部分を、前記オブジェクトが存在しないとして処理することを特徴とする印刷装置。
【請求項１１】
請求項１乃至請求項８のいずれかに記載の印刷装置において、
前記オブジェクトを基にした前記画像データを前記ページメモリのいずれの記憶領域に記憶しているか否かを示すデータ有無情報を、前記ページメモリのアドレスに対応して記憶する画像データ有無判定バッファと、
前記画像データ記憶制御手段が前記画像データを前記ページメモリに記憶させる毎に、前記データ有無情報を前記画像データ有無判定バッファに記憶させるデータ有無情報記憶制御手段を備え、
前記透明処理手段は、
前記画像データを記憶していないことを前記データ有無情報により示されているアドレスについては、前記オブジェクトを用いて透明処理を行う一方、
前記画像データを記憶していることを前記データ有無情報により示されているアドレスについては、前記オブジェクト及びそのアドレスに記憶されている画像データを用いて透明処理を行うことを特徴とする印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷を行う際に、透明属性が付加されたオブジェクトを合成して印刷する処理の高速化及び省メモリ化に関するものである。
【背景技術】
【０００２】
コンピュータは多様な出力装置へデータを出力することが可能であり、プリンタへの出力も行う。
近年ではＰＤＦ（Portable Document Format（登録商標））などの、ＰＤＬ（Page Description Language）で記述されるデータも増加してきた。
これは、ＰＤＬが装置独立性を持つからである。つまり、コンピュータにインストールされているＯＳ（Operating System）に左右されず、ビュアーによって出力装置への出力が可能となる点が優れている。これによって、ＰＤＬで作成した文章は、ビュアーさえ備えていれば、多くのコンピュータで、同じように出力が可能となる。また、同様に多様なプリンタで同じように印刷が可能となる。
このＰＤＬとは、印刷したり表示したりする対象となる「ページ」に関して、ページ単位で文字や図形をどのように配置するかを指定するものである。
【０００３】
このような、ＰＤＬで作成されたＰＤＬデータには、フォントや画像などのオブジェクトが重ねられ、上に重ねるオブジェクトが透明属性を持っているものが少なくない。
２つのオブジェクトがあって、下のオブジェクトの上に、透明属性を持つ上のオブジェクトを重ねると、上のオブジェクトに設定された透明度によって、重なり部分の色が変化することとなる。
したがって、出力装置にこのＰＤＬで記載された、透明属性を持つオブジェクトが重なる部分があるようなＰＤＬデータを出力するには、下に配置されるオブジェクトと上に配置されるオブジェクトの透明処理を行う必要がある。
【０００４】
簡単にその方法を模式化すると図１７及び図１８のようになる。
図１７は、２つのオブジェクトからなるＰＤＬデータを印刷する場合の概念図を示している。
ＰＤＬデータ６０は、第１オブジェクトＡと第２オブジェクトＢという２つのオブジェクトから構成されているものとし、第１オブジェクトＡの上に、透明属性を持つ第２オブジェクトＢを描画する際、重なる部分Ｃは第１オブジェクトＡの色に、第２オブジェクトＢに設定された透明度で重ねられることによって発色する色で表現される。このため、このような重ね合わせ処理は、透明処理を行うことで実現する。
この結果、紙にＰＤＬデータ６０が印刷される段階では、第１オブジェクトＡに第２オブジェクトＢが重ねられた状態で印刷されることになる。
【０００５】
図１８は、ＰＤＬデータを透明処理する場合に行われる作業の概念図を示している。
まず、ＰＤＬデータ６０は、中間データとして、メモリ内に確保された中間データ記憶領域６１に格納される。この場合は、第１オブジェクトＡと第２オブジェクトＢという２つの中間データが生成されることになる。
そして、次に、透明処理バッファ６３というメモリ内に確保された領域で、Ｃ（シアン）、Ｍ（マゼンダ）、Ｙ（イエロー）、Ｋ（クロ）の４つのレイヤに分けられて、第１オブジェクトＡと第２オブジェクトＢの透明処理を行う。この場合の各レイヤは、８ビットで２５６階調のデータであることが多い。
そして、透明処理バッファ６３はページメモリ領域６４に展開され、展開された画像データが印刷エンジンに渡されて印刷される。このページメモリ領域６４は印刷エンジンが処理可能なフォーマットである必要があり、ページメモリ領域６４の各レイヤは１ビット深さの２階調データであることが多い。
これらの方法について詳しい内容は、特許文献１及び特許文献２などに詳細に説明されている。
【特許文献１】特開平１１−２７２２５２号公報
【特許文献２】特開平１１−２８６１５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術では透明オブジェクトを含むＰＤＬデータを印刷する場合、印刷速度が遅くなってしまうという問題点があった。
前述したように、ＰＤＬデータ６０は透明属性を持った第２オブジェクトＢを含んでいるので、ＰＤＬデータ６０をそのままページメモリ領域６４に展開することはできず、プリンタ内でＰＤＬデータ６０を透明処理してページメモリ領域６４に展開する必要がある。
すなわち、前述した図１８のような処理を、プリンタ内で行う必要がある。
ところで、ＰＤＬデータ６０の特性上、データはページ単位で扱う。
しかし、一般的なプリンタに搭載されるメモリは、１ビット深さで構成されるページメモリ領域６４を保存することを考えて設定されているので、中間データ記憶領域６１及び透明処理バッファ６３のように、８ビット深さのデータを扱う領域をメモリ内に確保しようとすると、透明処理バッファ６３を確保するだけでも、１ページあたりページメモリ領域６４の８倍の領域が必要となる。
このため、プリンタには多くのメモリを搭載する必要があると考えられる。
【０００７】
したがって、一般的なプリンタに搭載されるメモリやＣＰＵによって印刷するとなると、印刷にかかる時間が非常に遅くなると考えられる。
印刷速度の向上を求めるのであれば、単位時間あたりのデータ処理速度の速い、高性能なＣＰＵを搭載し、多くのメモリを搭載すればよいのだが、コストがかかる。特に、ＣＰＵやメモリの価格は高いため、必要な性能を発揮するＣＰＵやメモリを搭載することは困難である。
【０００８】
このように、従来の特許文献１及び特許文献２の方法では、透明オブジェクトを含むＰＤＬデータを印刷する場合に、印刷速度が遅くなるという問題があった。
【０００９】
そこで、本発明ではこのような問題を解決するためになされたものであり、透明オブジェクトを含む印刷データを印刷可能な印刷装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
前記目的を達成するために、本発明による印刷装置は以下のような特徴を有する。
（１）外部から入力される複数のオブジェクトと、前記オブジェクトのうち少なくとも１つに対応する付随情報を含む印刷データを受取る印刷データ受取手段と、前記オブジェクトに対応する前記付随情報を用いて、前記オブジェクトが透明属性を持つ透明オブジェクトかを判断する透明属性判断手段と、前記オブジェクトを用いて透明処理を行い、透明処理済みデータを生成する透明処理手段と、前記透明処理済みデータを記憶する透明処理バッファと、前記透明処理済みデータ又は前記オブジェクトを基に画像データを生成する画像データ生成手段と、前記画像データをページメモリに記憶させる画像データ記憶制御手段と、前記ページメモリに記憶された前記画像データを用いて印刷媒体に画像を印刷する印刷エンジンと、を備える印刷装置において、前記ページメモリを所定の領域であるバンドの集合であると捉え、前記付随情報を用いて、前記オブジェクトがどのバンドに配置されるかを判断する配置バンド判断手段を備え、前記配置バンド判断手段に、前記透明オブジェクトが配置されると判断されたバンドであることを第１条件として、前記透明処理手段は、前記第１条件を満足するバンドに配置される前記オブジェクトを用いて前記透明処理を行い、前記透明処理済みデータを生成し、前記透明処理バッファは、前記透明処理済みデータを記憶し、前記画像データ生成手段は、前記透明処理バッファに記憶された前記透明処理済みデータを用いて前記画像データを生成する一方、前記配置バンド判断手段に、前記透明オブジェクトが配置されないと判断されたバンドであることを第２条件として、前記画像データ生成手段は、前記第２条件を満足するバンドに配置される前記オブジェクトを用いて前記画像データを生成することを特徴とする。
【００１１】
（２）（１）に記載の印刷装置において、前記バンド毎に、前記配置バンド判断手段により判断された、前記バンドに配置される前記オブジェクトの数を示すオブジェクト数と、前記透明属性判断手段により判断された、前記バンドに配置される前記透明オブジェクトの有無を示す透明オブジェクト有無情報を記憶するバンド情報記憶手段を備え、前記透明処理手段は、前記バンド情報記憶手段により記憶された情報に基づき、前記オブジェクト数が２以上であり、かつ前記透明オブジェクト有無情報により、前記透明オブジェクトが少なくとも１つあるバンドについて透明処理を行うことを特徴とする。
【００１２】
（３）外部から入力される複数のオブジェクトと、前記オブジェクトのうち少なくとも１つに対応する付随情報を含む印刷データを受取る印刷データ受取手段と、前記オブジェクトに対応する前記付随情報を用いて、前記オブジェクトが透明属性を持つ透明オブジェクトかを判断する透明属性判断手段と、前記オブジェクトを用いて透明処理を行い、透明処理済みデータを生成する透明処理手段と、前記透明処理済みデータを記憶する透明処理バッファと、前記透明処理済みデータ又は前記オブジェクトを基に画像データを生成する画像データ生成手段と、前記画像データをページメモリに記憶させる画像データ記憶制御手段と、前記ページメモリに記憶された前記画像データを用いて印刷媒体に画像を印刷する印刷エンジンと、を備える印刷装置において、前記ページメモリを所定の領域であるバンドの集合であると捉え、前記付随情報を用いて、前記オブジェクトがどのバンドに配置されるかを判断する配置バンド判断手段と、前記配置バンド判断手段に基づき、前記透明オブジェクトの含まれた領域であり、前記画像の１辺と平行なＸ辺とＸ辺に垂直なＹ辺とからなる矩形のうち、最小の面積を持つ矩形である透明矩形領域と、他の前記オブジェクトが含まれた領域であり、前記画像の１辺と平行なＸ辺とＸ辺に垂直なＹ辺とからなる矩形のうち、最小の面積を持つ矩形であるベース矩形領域が重なるか否かを、前記付随情報を用いてバンド単位で判断する重なり判断手段と、を備え、前記重なり判断手段に、前記透明矩形領域と前記ベース矩形領域が重なって配置されると判断されたバンドであることを第３条件として、前記透明処理手段は、前記第３条件を満足するバンドに配置される前記オブジェクトを用いて前記透明処理を行い、前記透明処理済みデータを生成し、前記透明処理バッファは、前記透明処理済みデータを記憶し、前記画像データ生成手段は、前記透明処理バッファに記憶された前記透明処理済みデータを用いて前記画像データを生成する一方、前記重なり判断手段に、前記透明矩形領域と前記ベース矩形領域が重なって配置されないと判断されたバンドであることを第３条件として、前記画像データ生成手段は、前記第３条件を満足するバンドに配置される前記オブジェクトを用いて前記画像データを生成することを特徴とする。
【００１３】
（４）（３）に記載の印刷装置において、前記バンド毎に、前記重なり判断手段によって判断された、前記透明矩形領域と前記ベース矩形領域が重なるか否かを示す重なりフラグを記憶するバンド情報記憶手段を備え、前記透明処理手段は、前記バンド情報記憶手段で記憶された情報に基づき、前記重なりフラグが、前記透明矩形領域と前記ベース矩形領域が重なることを示しているバンドについて、透明処理を行うことを特徴とする。
（５）（１）乃至（４）のいずれかに記載の印刷装置において、前記透明処理手段による透明処理に先立って前記透明処理バッファを確保し、前記透明処理手段による透明処理の終了を条件として前記透明処理バッファを開放することを特徴とする。
【００１４】
（６）（３）に記載の印刷装置において、前記透明矩形領域と前記ベース矩形領域とを含む重複矩形領域の大きさを基に透明処理バッファを確保する透明処理バッファ確保手段を備え、前記重なり判断手段に、前記透明矩形領域と前記ベース矩形領域が重なって配置されると判断されたバンドであることを第５条件として、前記透明処理手段は、前記第５条件を満足するバンドに配置されるオブジェクトを用いて前記透明処理を行い、前記重複矩形領域分の透明処理済みデータを生成し、前記透明処理バッファは、前記透明処理済みデータを記憶し、前記画像データ生成手段は、前記透明処理バッファに記憶された前記透明処理済みデータを用いて前記画像データを生成することを特徴とする。
【００１５】
（７）（６）に記載の印刷装置において、前記バンド毎に、前記重なり判断手段によって判断された、前記透明矩形領域と前記ベース矩形領域が重なるか否かを示す重なりフラグと、前記重複矩形領域の大きさを示す矩形領域情報とを記憶するバンド情報記憶手段を備え、前記透明処理手段は、前記バンド情報記憶手段で記憶された情報に基づき、前記重なりフラグが、前記透明矩形領域と前記ベース矩形領域が重なることを示しているバンドを、前記矩形領域情報に基づいて、前記重複矩形領域分について透明処理を行い、前記矩形領域情報に基づいて前記透明処理バッファ確保手段が確保した前記透明処理バッファに記憶することを特徴とする。
【００１６】
（８）（６）に記載の印刷装置において、前記透明処理バッファ確保手段は、前記透明処理手段による透明処理に先立って前記透明処理バッファを確保し、前記透明処理手段による透明処理の終了を条件として前記透明処理バッファを開放することを特徴とする印刷装置。
（９）（１）乃至（８）のいずれかに記載の印刷装置において、前記オブジェクトの色を示す数値の範囲外の数値を全体に配置することで、前記透明処理バッファを初期化する透明処理バッファ初期化手段を備えることを特徴とする。
（１０）（９）に記載の印刷装置において、前記画像データ生成手段が、前記透明処理バッファ初期化手段によって書き込まれた範囲外の数値で表された部分を、前記オブジェクトが存在しないとして処理することを特徴とする。
【００１７】
（１１）（１）乃至（８）のいずれかに記載の印刷装置において、前記オブジェクトを基にした前記画像データを前記ページメモリのいずれの記憶領域に記憶しているか否かを示すデータ有無情報を、前記ページメモリのアドレスに対応して記憶する画像データ有無判定バッファと、前記画像データ記憶制御手段が前記画像データを前記ページメモリに記憶させる毎に、前記データ有無情報を前記画像データ有無判定バッファに記憶させるデータ有無情報記憶制御手段を備え、前記透明処理手段は、前記画像データを記憶していないことを前記データ有無情報により示されているアドレスについては、前記オブジェクトを用いて透明処理を行う一方、前記画像データを記憶していることを前記データ有無情報により示されているアドレスについては、前記オブジェクト及びそのアドレスに記憶されている画像データを用いて透明処理を行うことを特徴とする。
【発明の効果】
【００１８】
このような特徴を有する本発明による印刷装置により、以下のような作用、効果が得られる。
（１）配置バンド判断手段によって配置されるオブジェクトをバンド単位で捉え、透明処理が必要な透明属性を持つオブジェクトを含むバンドのみ透明処理し、透明処理バッファに記憶し、画像データ生成手段によって生成した画像データを画像データ記憶手段によりページメモリに保存し、透明属性を持つオブジェクトを含まないバンドは、印刷データに含まれるオブジェクトから画像データ生成手段によって生成した画像データを画像データ記憶手段によりページメモリに保存する。
このように、バンド毎に透明処理が必要なバンドと、そうでないバンドにわけることで、透明処理が必要でないバンドを早く処理することができるため、透明オブジェクトを含む印刷データを高速に処理可能である。
すなわち、透明属性を持つオブジェクトが配置されないバンドについては、透明処理を行わないために、１ページ分の領域全てに対して透明処理を行う方式に対して、印刷開始から印刷終了までの時間が短くできる可能性がある。
また、透明処理に必要なメモリは、バンド単位で済むために、例えば１ページを２０個のバンドに分割した場合は、約２０分の１の領域のメモリで、透明処理バッファをまかなえるため、省メモリな処理が可能となる。
【００１９】
（２）バンド情報記憶手段によってオブジェクト数と透明オブジェクト有無情報を管理することで、（１）の効果を奏し、かつ透明処理とオブジェクトが配置されるべきバンドが何れであるか判断する処理や、オブジェクトが透明属性を持つか否かを判断する処理が同時期に起こり、それぞれの処理時間が遅くなったりリソースの使用が重なったりすることを防ぐことができる。
【００２０】
（３）配置バンド判断手段によって配置されるオブジェクトをバンド単位で捉え、オブジェクトがバンドに重なる部分の矩形領域を設定し、透明オブジェクトの透明矩形領域とその他のオブジェクトのベース矩形領域が重なるかどうかを重なり判断手段で判断し、実際に透明処理が必要な透明属性を持つオブジェクトを含むバンドのみ透明処理し、透明処理バッファに記憶し、画像データ生成手段によって生成した画像データを画像データ記憶手段によりページメモリに保存し、透明属性を持つオブジェクトを含まないバンドや、透明属性を持つオブジェクトを含んだ場合でも、透明矩形領域がベース矩形領域に重ならないバンドは、印刷データに含まれるオブジェクトから画像データ生成手段によって生成した画像データを画像データ記憶手段によりページメモリに保存する。
【００２１】
このように、透明オブジェクトのレイヤと他のオブジェクトのレイヤを重ねる場合であっても、実際にはオブジェクト同士は重ならない場合が存在するため、バンド単位で、オブジェクトを矩形領域で示し、その重なりを判断してより具体的に透明処理が必要であるかどうかを判断する。
こうすることで、実際には透明オブジェクトが他のオブジェクトに重ならない場合に透明処理を行わないことで、印刷の高速化を図ることが可能である。
【００２２】
（４）バンド情報記憶手段によって重なりフラグを管理することで、（３）の効果を奏し、かつ透明処理と、透明矩形領域とベース矩形領域が重なるか否かを判断する処理が同時期におき、それぞれの処理時間が遅くなったりリソースの使用が重なったりすることを防ぐことができる。
（５）透明処理バッファの確保、及びその開放のタイミングを、透明処理の開始、終了のタイミングに合わせ、透明処理に必要なバッファが確保される時間を最小限にすることで、他の処理でのメモリ不足のおそれを少なくできる。
【００２３】
（６）重なり判断手段によって、実際に透明処理が必要な透明属性を持つオブジェクトを含むバンドに対して、透明処理バッファ確保手段によって、透明矩形領域とベース矩形領域とを含む重複領域の大きさを基に確保された透明処理バッファを用いて、重複矩形領域分の透明処理済みデータを生成し、画像データ生成手段によって、透明処理バッファに記憶された透明処理済みデータを用いて画像データを生成しページメモリに展開する。
このように、重複矩形領域分の透明処理を行うため高速に処理可能である。
また、透明処理バッファを必要最小限で確保するので、省メモリな処理が可能となる。
【００２４】
（７）バンド情報記憶手段によって、重なりフラグと重複矩形領域の大きさを示す矩形領域情報とを管理することで、（６）の効果を奏し、かつ透明処理と、透明矩形領域とベース矩形領域が重なるか否かを判断する処理が同時期に置き、それぞれの処理時間が遅くなったりリソースの使用が重なったりすることを防ぐことができる。
（８）透明処理バッファ確保手段による透明処理バッファの確保、及びその開放のタイミングを、透明処理の開始、終了のタイミングに合わせ、透明処理に必要な透明処理バッファが確保される時間を最小限にすることで、他の処理でのメモリ不足のおそれを少なくできる。
【００２５】
（９）透明処理バッファ又は透明処理バッファを、オブジェクトの色を示す数値の範囲外の数値で初期化し、透明処理済みデータを透明処理バッファに書き込んだ場合、範囲外の数値で示されている箇所はオブジェクトが存在しないことが明確になる。
その後の画像データ生成手段において、範囲外の数値で示される位置についてはオブジェクトが存在しないとして処理することで、無駄な処理を減らすことが可能であり、処理の高速化を図ることができる。
また、仮に透明処理バッファを値「０」で初期化した場合、値「０」を持つ白色のオブジェクトと区別がつかず、このことによりうまく透明処理できない場合もあり、範囲外の数値で初期化することはこの問題を回避できる効果がある。
【００２６】
（１０）ページメモリに、透明処理済みデータを基に画像データ生成手段によって画像データを生成する際に、オブジェクトの色を表す数値の範囲外の数値で表された部分はオブジェクトが存在しないものとし、ページメモリに展開する。したがって、範囲外の数値で示されている箇所はオブジェクトが存在しないことが明確になる。これによって（９）と同等の効果が得られ、透明処理済みデータが持つ値と、バッファが初期化されたままの値が確実に異なるものとなるので、必要ない座標に透明処理済みデータを基にした画像が配置されることが無くなる。
【００２７】
（１１）画像データ有無判定バッファを備えることで、（９）及び（１０）のように、オブジェクトの色を表す数値の範囲外の数値で表すことと、同じ効果が得られる。
この場合画像データ有無判定バッファを確保する必要があるが、ＣＭＫＹのレイヤ全て共通で１つの画像データ有無判定バッファを確保すれば良いので、多くのメモリを占有することもない。
【発明を実施するための最良の形態】
【００２８】
以下、本発明の実施例について図面を用いて説明する。
（第１実施例）
まず、第１実施例の構成について説明する。
最初に、プリンタ１０の構成を説明する。
図１には、第１実施例のプリンタの立体斜視図を示している。
プリンタ１０は、一般的なプリンタ複合機であり、カラー印刷機能の他にコピー機能やスキャナ機能、ＦＡＸ機能を備えたものである。ただし、第１実施例は、これらの機能に係る発明ではないので、これらの機能の説明については省略する。
プリンタ１０には、操作パネル１１が上面に備えられ、操作パネル１１にはパスワード入力手段にあたる入力部１２ａ、操作部１２ｂ、及び表示手段にあたる液晶パネル表示部１３が備えられている。
また、プリンタ１０の前面には、ＵＳＢポート１４とスロット部１５が備えられている。
【００２９】
図２には、第１実施例のプリンタの構成図を示す。
プリンタ１０の構成は、図２に示すようにＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、ＥＥＰＲＯＭ２４はバス２５に接続されており、バス２５と接続されているＡＳＩＣ２６は、印刷エンジン３１、スキャナ部３２、パネルＧＡ３３、ＬＣＤコントローラ３４、スロット部１５、パラレルＩ／Ｆ３５、ＵＳＢポート１４、ＮＣＵ３６等に接続されている。
また、パネルＧＡ３３には、入力部１２ａ及び操作部１２ｂ、ＬＣＤコントローラ３４には液晶パネル表示部１３、ＮＣＵ３６にはモデム３７が接続され構成されている。
同種の一般的なプリンタと同様に、第１実施例のプリンタ１０も、使用者が操作パネル１１に備えられる入力部１２ａ、操作部１２ｂ及び液晶パネル表示部１３によって、印刷操作を行う。
【００３０】
また、プリンタ１０は、プリンタ１０の備えるデータ読み出し手段にあたるＵＳＢポート１４に、複数のデータを記憶するストレージデバイスにあたる、図示しないＵＳＢメモリのようなストレージデバイスを差し、又はスロット部１５に、図示しないメモリカードのようなストレージデバイスを差し、ストレージデバイス内に記録されているデータの印刷をダイレクトプリントが可能である。
ここで用いるストレージデバイスは、様々なものが考えられるがプリンタ１０が起動している最中に、抜き差しが可能なメディアであれば何でも良い。ここでは、説明のためストレージデバイスとして、ＵＳＢメモリを使用することとする。
そして、カラー印刷が行える印刷エンジン３１は、例えばレーザー光を用いたプリンタエンジンを備えているものとする。ただし、その他の方式のプリンタエンジンであっても本発明には影響しないので、適宜選択できるものとする。
【００３１】
なお、ダイレクトプリントについて、ＵＳＢポート１４又はスロット部１５にストレージデバイスが直接差し込まれる形態だけでなく、パラレルＩ／Ｆ３５に接続されるＬＡＮ等のネットワークから送られてくるデータを、そのまま印刷する形態も含むものとする。すなわち、従来技術のようにコンピュータからそのまま印刷可能なビットマップデータが送られてくるわけではなく、ＰＤＬデータのまま送られてきて印刷する形態も、ダイレクトプリントのカテゴリーに含むものとする。
【００３２】
次に、第１実施例の作用について説明する。
まず、データをバンドに分割して処理する概念について説明する。
図３に、データ処理の流れについて概念的な模式図を示す。
ＰＤＬデータ６０は、例えばストレージデバイスをＵＳＢポート１４や、スロット部１５に接続して、データをプリンタ１０側に渡したり、パラレルＩ／Ｆ３５に接続されたＬＡＮ等のネットワークから送られてきたりすることで、プリンタ１０側に渡されるカラーのデータであるとする。
このＰＤＬデータ６０には、話を単純化するために、第１オブジェクトＡと、第２オブジェクトＢが含まれているものとし、第１オブジェクトＡの上に、第２オブジェクトＢが重ねられるものとする。また、第２オブジェクトＢは付随情報として透明属性を持っている透明オブジェクトであるものとする。
【００３３】
このＰＤＬデータ６０が、プリンタ１０に渡される場合に、プリンタ１０のＲＡＭ２３内部に確保される中間データ記憶領域６１に、第１オブジェクトＡ及び第２オブジェクトＢとして記憶される。この段階では、中間データ記憶領域６１に格納される第１オブジェクトＡ及び第２オブジェクトＢのデータはビット深さの深いデータとなっている。具体的には、例えば２５６階調で表すものとして、８ビットのデータで管理されていることとする。
なお、この中間データ記憶領域６１は必ず必要というものではないが、中間データを生成するにあたり有利となるので、本実施例ではこの領域を確保することとする。
その後、バンド情報記憶手段としてバンド情報を管理するバンド管理テーブル６２を記憶する領域をＲＡＭ２３に確保する。
このバンド管理テーブル６２は、最終的に印刷するデータが展開されるページメモリ領域６４を複数本のバンドに分割したバンド幅ａのバンド単位に、第１オブジェクトＡ及び第２オブジェクトＢの管理ポインタ、そのバンドに描画される描画箇所、描画位置などの情報を管理している。
【００３４】
そして、その後、バンドサイズに従って透明処理バッファ６３ａの領域をＲＡＭ２３に確保し、バンド管理テーブル６２にしたがって、バンド単位に中間データ記憶領域６１に格納された第１オブジェクトＡ及び第２オブジェクトＢのデータを処理する。
ここで、ＰＤＬデータ６０は第１オブジェクトＡと透明属性を持つ第２オブジェクトＢからなるので、透明処理をする必要がある。そして、第１オブジェクトＡと第２オブジェクトＢが重なる部分では、第２オブジェクトＢが透明オブジェクトであるために、色が重なることになる。したがって、ＣＭＹＫの４つのレイヤに、第１オブジェクトＡに第２オブジェクトＢが重なった２５６階調データとして処理される。
処理された透明処理バッファ６３ａのデータは、ページメモリ領域６４にビット深さの浅いデータに２値化して展開される。ページメモリ領域６４に、中間データ記憶領域６１に格納された第１オブジェクトＡ及び第２オブジェクトＢのデータが展開終了すれば、ページメモリ領域６４に画像データが印刷可能な状態で形成されるため、印刷エンジン３１に渡して印刷を行う。
このような形で、バンド毎に透明処理を行うことで、透明処理バッファ６３ａのＲＡＭ２３占有率は、前述で説明したようなページ単位で処理するよりも小さくて済む。
【００３５】
ここで、図３のような処理をした場合の効果について簡単に説明する。
このようなバンド単位の透明処理では、ＲＡＭ２３の占有率が低くなるために、省メモリでの運用に対しては有効である。
ＲＡＭ２３は高価であるため、その容量を減らすだけでプリンタ１０の製造コストの削減が可能になる。前述したようにビット深さの浅いデータである２値データに比べて、ビット深さの深いデータである２５６階調データは、メモリ容量を多く必要とする。
そして、透明処理を行う場合には、ビット深さの深いデータを必要とし、例えば、２５６階調のデータで処理をする必要がある。
２値データであれば、１ピクセルにつき１ビットで済むが、２５６階調データでは、１ピクセルに付き８ビット必要となる。つまり８倍のデータ容量を必要とする。
したがって、透明処理バッファ６３が小さくなれば、その処理に必要とするメモリも少なくて済むことになる。
【００３６】
次に、第１実施例のバンド情報を記憶するバンド管理テーブル６２の内容について説明する。
図４に、バンド管理テーブルとページメモリの関係についての模式図を示す。
この場合は、ページメモリ領域６４を５分割している。この分割数に対応してバンド管理テーブル６２にも５つの管理領域が形成されて、各バンドで処理すべきオブジェクトの情報が格納される。
なお、ページメモリ領域６４の分割数については、プリンタ１０の設計等によって左右されるものであるので、特に５分割に限定する必要はない。
バンド管理テーブル６２についてであるが、まず、処理すべきオブジェクトの数と透明オブジェクト有無情報、そして、オブジェクトの管理ポインタ、そのバンドに描画される描画箇所、描画位置などの情報を管理している。
バンド管理テーブル６２が５つの管理領域を持っているので、第１行６２ａ、第２行６２ｂ、第３行６２ｃ、第４行６２ｄ、及び第５行６２ｅから構成されているものとする。
一方、これに対応するページメモリ領域６４についても、第１バンド６４ａ、第２バンド６４ｂ、第３バンド６４ｃ、第４バンド６４ｄ、及び第５バンド６４ｅに分割して考える。
【００３７】
そうすると、バンド管理テーブル６２の第１行６２ａのオブジェクト数は、対応するページメモリ領域６４の第１バンド６４ａに描画されるのが第２オブジェクトＢのみであるので「１」と記録される。また、描画されるべきオブジェクトは「Ｂ」であるので、第１バンド６４ａに描画される第２オブジェクトＢの情報が記録される。また、第２オブジェクトＢは透明属性を持っているので、透明オブジェクト有無情報は「ＯＮ」と登録される。
同じく、第２行６２ｂのオブジェクト数は、「１」と記録される。描画されるべきオブジェクトは「Ｂ」で、透明オブジェクト有無情報は「ＯＮ」と記録される。
次に、バンド管理テーブル６２の第３行６２ｃのオブジェクト数は、ページメモリ領域６４の第３バンド６４ｃに描画されるのが第１オブジェクトＡ、及び第２オブジェクトＢの２つのオブジェクトであるので「２」と記録される。また、描画されるべきオブジェクトは「Ａ」と「Ｂ」であり、第２オブジェクトは透明属性を持っているので透明オブジェクト有無情報は「ＯＮ」と記録される。
【００３８】
そして、バンド管理テーブル６２の第４行６２ｄのオブジェクト数は、ページメモリ領域６４の第４バンド６４ｄに描画されるのが、第１オブジェクトＡのみであるので「１」となる。
描かれるべきオブジェクトは「Ａ」であり、第１オブジェクトＡは、透明属性を持っていないので、透明オブジェクト有無情報は「ＯＦＦ」と記録される。
最後に、バンド管理テーブル６２の第５行６２ｅのオブジェクト数は、ページメモリ領域６４の第５バンド６４ｅに何も含まれないので「０」、描かれるべきオブジェクトは無く、透明オブジェクト有無情報も「ＯＦＦ」のままである。
【００３９】
このような対応関係になるので、透明処理する対象になるバンドは、バンド管理テーブル６２のオブジェクト数が２以上で、透明オブジェクト有無情報が「ＯＮ」であるバンドであることが分かる。
つまり、本当に透明処理が必要なバンドは、第３バンド６４ｃのみと言うことになる。
したがって、第１バンド６４ａは、バンド管理テーブル６２の第１行６２ａで管理される情報を用いて、中間データ記憶領域６１から直接２値データに展開されれば良く、第２バンド６４ｂ及び第４バンド６４ｄも同様である。また、第５バンド６４ｅについては描画オブジェクトが存在しないため展開しなくてよい。
第３バンド６４ｃのみ透明処理バッファ６３ａで処理してやれば、必要なページメモリ領域６４のデータは得られることになる。
図３の処理の流れでは、バンド管理テーブル６２の、第１行６２ａ、第２行６２ｂ、第３行６２ｃ、第４行６２ｄについて、同じように透明処理バッファ６３ａを介して処理を行っているが、前記のようにバンド管理テーブル６２の条件によって、その対応を変えれば高速に処理することが可能となる。
【００４０】
このような点を踏まえ、図４の内容を図３の流れと対応させて示したのが図５である。
図５には、第１実施例のデータ処理の流れについて具体的に示した模式図を示す。
そして、図６には、第１実施例のプリンタ内部での処理を示した全体のフローチャートを示す。
ＰＤＬデータを受信し処理が開始されると、まずＳ１でページ毎のバンド管理テーブル６２をＲＡＭ２３内に確保し初期化を行う。そしてＳ２で、ＰＤＬコマンドが終了したかどうかを確認する。
Ｓ２で、ＰＤＬコマンドが終了すれば（Ｓ２：Ｙｅｓ）、このルーチンを終了する。
終了していなければ（Ｓ２：Ｎｏ）、Ｓ３で、印刷コマンドを確認し、印刷コマンドが指示されていなければ（Ｓ３：Ｎｏ）、Ｓ４で中間データ作成に入る。印刷コマンドが指示されていれば（Ｓ３：Ｙｅｓ）、Ｓ１０に移行する。
【００４１】
Ｓ４では、予めＲＡＭ２３に確保された中間データ格納領域に中間データを作成する。前述したように図５に示す通り、ＰＤＬデータ６０に含まれるデータは第１オブジェクトＡ及び第２オブジェクトＢであるので、これら第１オブジェクトＡ及び第２オブジェクトＢについて、２５６階調の情報を持った各種中間データに成形する。ただし、処理はオブジェクト単位で行うので、最初は第１オブジェクトＡの中間データを作成し、Ｓ５に移行する。
Ｓ５では、バンドカウンタＮを初期化する。ここではバンドカウンタＮに１を代入し、１番目のバンドを処理できるようにする。そして、Ｓ６に移行する。
Ｓ６では、中間データの作成元となるオブジェクトがＮ番目のバンドに配置されるかについてチェックを行う。最初は第１オブジェクトＡであるので、バンドカウンタＮが１であれば、第１バンド６４ａに配置されず（Ｓ６：Ｎｏ）、Ｓ８に移行する。一方、例えばバンドカウンタＮが３であれば、第１オブジェクトＡが第３バンド６４ｃに配置されるので（Ｓ６：Ｙｅｓ）、Ｓ７に移行する。
Ｓ７では、「オブジェクトの登録」のサブルーチンを実行する。このサブルーチンについては後で詳しく説明する。実行終了後Ｓ８に移行する。
Ｓ８では、バンドカウンタＮをカウントアップする。そしてＳ９に移行する。
Ｓ９では、全バンドを調査完了したか、バンドカウンタＮの値と比較してチェックを行う。全バンド調査が終了していなければ（Ｓ９：Ｎｏ）、Ｓ６に移行して、再びオブジェクトがＮ番目と重なるかについてチェックを行う。全バンド調査が終了していれば（Ｓ９：Ｙｅｓ）、Ｓ２に移行し、次のオブジェクトに対して処理を行うことになる。
【００４２】
このようにループして、ＰＤＬデータ６０に含まれる全てのオブジェクトである、第１オブジェクトＡ及び第２オブジェクトＢについて、オブジェクトの登録が終われば、印刷コマンドが指示されるので（Ｓ３：Ｙｅｓ）、Ｓ１０に移行する。
Ｓ１０では、「ページメモリへの展開」のサブルーチンを実行する。このサブルーチンについては後で詳しく説明する。実行が終了すればＳ１１に移行する。
Ｓ１１では、ページメモリ領域６４に展開された画像データが印刷エンジン３１に渡されて、印刷が行われる。そしてＳ１２に移行する。
Ｓ１２では、中間データ、バンド管理テーブル、及びページメモリの開放を行う。すなわち、ＲＡＭ２３上に占有していた領域を開放し、情報をクリアするのである。そしてＳ１に移行する。
このように印刷が行われ、全印刷処理が終了するとＰＤＬコマンドが終了し（Ｓ２：Ｙｅｓ）、このルーチンを終了する。
このように図６に示されるフローチャートにしたがって、図５に模式的に示された処理が進められる。
【００４３】
次に、サブルーチンについて説明する。
前述の、図６のＳ７で実行される「オブジェクトの登録」のサブルーチンは、図７に示されている。
図７は、「オブジェクトの登録」のサブルーチンを示すフローチャートを表している。
この「オブジェクトの登録」のサブルーチンでは、オブジェクトをバンド単位で調査して、バンド管理テーブル６２の対応するバンドを管理する領域に、オブジェクトについての情報を記録していく作業を行う。
Ｓ１５では、バンド管理テーブル６２にオブジェクトを登録する。この様子は図４に示されており、例えば、図６のＳ５で設定されたバンドカウンタＮが３で、第１オブジェクトＡについて「オブジェクトの登録」のサブルーチンが実行されている場合、第３行６２ｃの領域に第１オブジェクトＡの中間データへのポインタ、中間データ内の描画箇所、ページメモリへの描画位置が登録される。そして、Ｓ１６に移行する。
Ｓ１６では、バンド管理テーブル６２に登録されたオブジェクト数を増加させる。初期値は０で、Ｓ１６を通過するためオブジェクト数を１増やす。図６のＳ６で、オブジェクトが重なるかのチェックが行われるので、Ｎ番目のバンドにオブジェクトが重ならない場合はこのサブルーチンは通過しない。したがって、通過する場合は必ずオブジェクトが配置されることになる。そして、Ｓ１７に移行する。
【００４４】
Ｓ１７では、透明フラグがＯＮになっているかどうか確認する。すなわち、バンド管理テーブル６２のＮ番目のバンド、例えば、バンドカウンタＮが３であれば、第３行６２ｃの透明オブジェクト有無情報を示す透明フラグが「ＯＮ」になっているかどうかを確認する。最初に通過する場合は、必ず「ＯＦＦ」に初期化されているので（Ｓ１７：Ｎｏ）、Ｓ１８に移行する。透明フラグが「ＯＮ」であれば（Ｓ１７：Ｙｅｓ）、サブルーチンを終了する。
Ｓ１８では、オブジェクトが透明オブジェクトかどうかを調査する。例えば、第１オブジェクトＡは、透明属性を持たないので（Ｓ１８：Ｎｏ）、サブルーチンは終了する。一方、第２オブジェクトＢは、透明属性を持っているので（Ｓ１８：Ｙｅｓ）、Ｓ１９に移行する。
Ｓ１９では、透明フラグを「ＯＮ」にする。
このように、オブジェクトの登録を行う。
【００４５】
次に、図６のＳ１０で実行される「ページメモリへの展開」のサブルーチンについて説明する。
図８には、「ページメモリへの展開」のサブルーチンを表すフローチャートを示す。
この「ページメモリへの展開」のサブルーチンでは、バンド管理テーブル６２に登録された情報に基づいて、中間データ記憶領域６１に記憶される、ＰＤＬデータ６０の中間データを、透明処理が必要な場合は、透明処理バッファ６３ａを通して透明処理を行い、透明処理が必要でなければ、直接２値化してページメモリ領域６４への展開を行う。
Ｓ２０では、ページメモリ領域６４用の領域をＲＡＭ２３に確保し、初期化を行う。そして、Ｓ２１に移行する。
Ｓ２１では、バンドカウンタＭの初期化を行う。ここではバンドカウンタＭに１を代入している。そして、Ｓ２４に移行する。
【００４６】
Ｓ２４では、バンド管理テーブル６２に登録されたＭ番目のバンドのオブジェクト数をチェックする。バンドカウンタＭが１であれば、第１行６２ａのオブジェクト数をチェックすることになる。ここでは、オブジェクト数が０の場合（Ｓ２４：０）、Ｓ２６に移行する。オブジェクト数が１の場合（Ｓ２４：１）、Ｓ２５に移行する。オブジェクト数が２以上の場合は（Ｓ２４：２以上）、Ｓ２８に移行する。
Ｓ２５では、バンドカウンタＭのバンド管理テーブルに登録されている全てのオブジェクトを直接ページメモリ領域６４に展開する。ここで、例えば、バンドカウンタＭが１であれば、バンド管理テーブル６２の第１行６２ａを調べ、第２オブジェクトＢが登録されているので、第２オブジェクトＢが第１バンド６４ａに配置される領域を、ページメモリ領域６４の第１バンド６４ａの部分に展開する。この時、第２オブジェクトＢは透明属性を持つが、第１行６２ａに登録されているオブジェクト数が１であるため、合成処理が不要となり、透明処理バッファ６３ａを使うことなく、直接ページメモリ領域６４に展開することとなる。
また、例えば、バンドカウンタＭが４であれば、バンド管理テーブル６２の第４行６２ｄを調べ、第１オブジェクトＡが登録されているので、第１オブジェクトＡが第４バンド６４ｄに配置される領域を、ページメモリ領域６４の第４バンド６４ｄの部分に展開する。そして、Ｓ２６に移行する。
【００４７】
Ｓ２６では、バンドカウンタＭのカウントアップを行う。そしてＳ２７に移行する。
Ｓ２７では、全バンド処理が終了したかをチェックする。具体的にはバンドカウンタＭと全バンド数を比較し、バンドカウンタＭが全バンド数を越えていなければ（Ｓ２７：Ｎｏ）、Ｓ２４に戻り、越えていれば（Ｓ２７：Ｙｅｓ）、処理を終了する。
前述したＳ２４で、バンド管理テーブル６２を調査して、Ｍ番目のバンドのオブジェクト数が２以上であった場合、Ｓ２８に移行する。ＰＤＬデータ６０で考えれば、バンドカウンタＭが３であれば、図４に示されるように、バンド管理テーブル６２の第３行６２ｃに登録されたオブジェクト数が「２」であるので、これに該当する。
【００４８】
Ｓ２８では、バンド管理テーブル６２を調査して、透明フラグが「ＯＮ」になっているかを確認する。透明フラグが「ＯＮ」になっていなければ（Ｓ２８：Ｎｏ）、Ｓ２５に移行する。一方、透明化フラグが「ＯＮ」になっていれば（Ｓ２８：Ｙｅｓ）、Ｓ２９に移行する。バンドカウンタＭが３であれば、図４に示されるように、Ｓ２４を通過しＳ２８に移行する場合は、バンド管理テーブル６２の第３行６２ｃを調査した場合に限られ、第３行６２ｃは「ＯＮ」になっているので、Ｓ２９に移行することになる。
Ｓ２９では、透明処理バッファ６３ａの領域をＲＡＭ２３に確保し、初期化を行う。そしてＳ３０に移行する。
Ｓ３０では、Ｍ番目のバンド管理テーブルで管理されるオブジェクトを透明処理する。バンドカウンタＭが３であれば、第２オブジェクトＢが透明属性を持っているので、下に描かれる第１オブジェクトＡの上に、第２オブジェクトＢが重なる部分、すなわち第３バンド６４ｃの部分で、第１オブジェクトＡと第２オブジェクトＢの色が混じった部分が描かれる必要があるので、ここで透明処理を行った後、Ｓ３１に移行する。
Ｓ３１では、透明処理バッファ６３ａに透明処理されたデータを、ページメモリ領域６４に展開する。第１実施例では、第３バンド６４ｃに展開されることになる。そして、Ｓ３２に移行する。
Ｓ３２では、ＲＡＭ２３の１部の領域を占有している透明処理バッファ６３ａを開放する。
【００４９】
次に、第１実施例の効果について説明を行う。
第１実施例のプリンタ１０は、上述のように構成され、ページメモリ領域６４を複数のバンド単位に分割し、そのバンド単位で透明処理するため、透明処理バッファ６３ａがＲＡＭ２３を占有する領域は少なくて済む。
また、バンド管理テーブル６２で、オブジェクト数と透明フラグによって透明処理が必要な部分が管理され、オブジェクト数が２以上で、透明フラグが「ＯＮ」になっている場合に、透明処理を行い、それ以外の場合には、直接ページメモリ領域６４に２値化して展開する。
このため、第１実施例のＰＤＬデータ６０であれば、ページメモリ領域６４の第３バンド６４ｃ以外は、中間データ記憶領域６１から中間データが直接２値化して展開され、第３バンド６４ｃのみ、透明処理をおこなうことになり、余分な透明処理を必要としないので、処理速度が向上する。
【００５０】
一般的に、プリンタ１０に積まれるＣＰＵ２１は、コストの関係で処理能力はパーソナルコンピュータに搭載されるものよりも低いことが実情である。また、ＲＡＭ２３についても、コスト的な面もあって大容量のものを搭載することは難しい。
つまり、ＣＰＵ２１及びＲＡＭ２３の制限によって、ＰＤＬデータ６０の透明処理を行うような印刷には時間がかかることになる。
このため、省メモリかつ高速に処理可能な第１実施例の発明によれば、ＰＤＬデータ６０の印刷時間が短縮されることが期待される。
今後、プリンタ１０に搭載されるＣＰＵ２１及びＲＡＭ２３については、高速化、大容量化が進むと予想されるが、処理に時間がかからず、メモリへの負担が少ない第１実施例の発明によって、ＰＤＬデータ６０のような透明属性を持つＰＤＬデータを、高速に処理可能であれば、同じ時間で多くのファイルの印刷が可能となり、メリットが高い。
【００５１】
以上に説明した、第１実施例の印刷装置によれば、以下のような優れた作用、効果が得られる。
（１）外部から入力される第１オブジェクトＡ及び第２オブジェクトＢと、オブジェクトのうち少なくとも１つに対応する付随情報を含むＰＤＬデータ６０を受取る、モデム３７、パラレルＩ／Ｆ３５、ＵＳＢポート１４、及びスロット部１５と、第１オブジェクトＡ及び第２オブジェクトＢに対応する付随情報を用いて、第１オブジェクトＡ及び第２オブジェクトＢが透明属性を持つ透明オブジェクトかを判断する、透明属性判断手段（Ｓ１８で処理）と、第１オブジェクトＡ及び第２オブジェクトＢを用いて透明処理を行い、透明処理済みデータを生成する、透明処理手段（Ｓ３０で処理）と、透明処理済みデータを記憶する、透明処理バッファ６３と、透明処理済みデータ又は第１オブジェクトＡ及び第２オブジェクトＢを基に画像データを生成する画像データ生成手段、及び、作成した画像データをページメモリ領域６４に記憶する画像データ記憶手段（Ｓ２５及びＳ３１で処理）と、ページメモリ領域６４上に記憶された画像データを用いて印刷媒体に画像を印刷する印刷エンジン３１と、を備える印刷装置において、ページメモリ領域６４を例えば第１バンド６４ａ乃至第５バンド６４ｅに分割して捉え、付随情報を用いて、第１オブジェクトＡ及び第２オブジェクトＢがどのバンドに配置されるかを判断する配置バンド判断手段（Ｓ５からＳ９で処理）を備え、配置バンド判断手段に、透明オブジェクトである第２オブジェクトＢが配置されると判断されたバンドであることを第１条件として、透明処理手段は、前記第１条件を満足するバンドに配置されるオブジェクトを用いて、透明処理を行い、透明処理済みデータを生成し、透明処理バッファ６３ａは、透明処理済みデータを記憶し、画像データ生成手段は、透明処理バッファ６３ａに記憶された、透明処理済みデータを用いて前記画像データを生成（Ｓ２８乃至Ｓ３２で処理）する一方、配置バンド判断手段に、透明オブジェクトである第２オブジェクトＢが配置されないと判断されたバンドであることを第２条件として、画像データ生成手段は、前記第２条件を満足するＰＤＬデータ６０に含まれる第１オブジェクトＡ及び第２オブジェクトＢを用いて画像データを、生成する（Ｓ２５で処理）ことを特徴とするので、バンド毎に透明処理が必要なバンドと、そうでないバンドにわけることで、透明処理が必要でないバンドを早く処理することができるため、透明オブジェクトを含むＰＤＬデータ６０のような印刷データを高速に処理可能である。
すなわち、透明属性を持つオブジェクトが配置されないバンドについては、透明処理を行わないために、１ページ分の領域全てに対して透明処理を行う方式に対して、印刷開始から印刷終了までの時間が短くできる可能性がある。
また、透明処理に必要なメモリは、バンド単位で済むために、例えば１ページを２０個のバンドに分割した場合は、約２０分の１の領域のメモリで、透明処理バッファをまかなえるため、省メモリな処理が可能となる。
【００５２】
（２）（１）に記載の印刷装置において、バンド毎に、配置バンド判断手段により判断された、バンドに配置されるオブジェクトの数を示すオブジェクト数と、透明属性判断手段により判断された、バンドに配置される透明オブジェクトの有無を示す透明オブジェクト有無情報を記憶するバンド管理テーブル６２を備え、透明処理手段は、バンド管理テーブル６２の情報に基づき、オブジェクト数が２以上であり（Ｓ２４で処理）、かつ透明属性情報により、透明オブジェクトが少なくとも１つある（Ｓ２８で処理）バンドについて透明処理を行うことを特徴とするので、バンド管理テーブル６２でオブジェクト数と透明オブジェクト有無情報を管理することで、（１）の効果を奏し、かつ透明処理とオブジェクトが配置されるべきバンドが何れであるか判断する処理や、オブジェクトが透明属性を持つか否かを判断する処理が同時期に起こり、それぞれの処理時間が遅くなったりリソースの使用が重なったりすることを防ぐことができる。
【００５３】
（３）（１）又は（２）に記載の印刷装置において、透明処理手段による透明処理に先立って透明処理バッファを確保（Ｓ２９で処理）し、透明処理手段による透明処理の終了を条件として透明処理バッファを開放（Ｓ３２で処理）する透明処理バッファ確保手段を備えたことを特徴とするので、透明処理バッファ６３の確保、及びその開放のタイミングを、透明処理の開始、終了のタイミングに合わせ、透明処理に必要な透明処理バッファ６３が確保される時間を最小限にすることで、他の処理でのメモリ不足のおそれを少なくできる。
【００５４】
（第２実施例）
次に、第２実施例について説明する。
第２実施例においても、図１及び図２に示す第１実施例のプリンタ１０の構成と同じであるので、説明を省略する。
第１実施例では、透明処理バッファ６３をバンド単位で処理するための透明処理バッファ６３ａとすることで、省メモリ化を実現し、バンド単位で透明処理の必要性を判断して、透明処理が不要なバンドは透明処理を行わないことで、印刷処理の高速化を図った。
しかし、第１実施例ではバンド領域に透明属性を持つ第２オブジェクトＢが存在するか判断しているが、第１オブジェクトＡと透明属性を持つ第２オブジェクトＢが実際に重なっているかどうかを判断してはいないため、実際には重ならない場合であっても透明処理を実施してしまうことがあり、この点を解消するのが第２実施例となる。
図９には、第２実施例のオブジェクト登録に関する概念図を示す。
第２実施例のバンド管理テーブル６２は、図９に示したように重複矩形領域と、重なりフラグの２つを持ち、第１実施例で登録したオブジェクト数や透明オブジェクト有無情報は使用しない。但し、オブジェクトを描画するために必要な、オブジェクトの管理ポインタ、そのバンドに描画される描画箇所、描画位置などの情報は引き続き持つものとする。
【００５５】
図９に示すようにページメモリ領域６４の領域の左下を（０，０）、左上を（５０，０）、右下を（０，５０）として定義し、バンドの高さａを１０すると、第１オブジェクトＡは、第３行６２ｃの（１０，２０）−（４０，２８）領域と、第４行６２ｄの（１０，１２）−（４０，２０）領域に描画されるので、これらの領域がそれぞれベース矩形領域となり、そして重複矩形領域として登録される。すなわち、第３行６２ｃ、第４行６２ｄで管理されるバンドには、第１オブジェクトＡが１つ目に登録されるオブジェクトであり、第１オブジェクトＡは透明属性を持たないため、ベース矩形領域がそのまま重複矩形領域となるのである。
また、透明属性を有する第２オブジェクトＢは、第１行６２ａの（２０，４０）−（２５，４５）領域と、第２行６２ｂの（１５，３０）−（３５，４０）領域と、第３行６２ｃの（２０，２１）−（２５，３０）領域に描画される。この場合、第２オブジェクトＢは菱形であるが、処理を単純化するためにバンド単位で区切られた第２オブジェクトＢを包含する最小の矩形領域を、そのバンドでのオブジェクトの描画領域とし、透明属性を持つためにこの矩形領域は透明矩形領域となる。
続いて、これら透明矩形領域と、バンド管理テーブル６２にすでに登録されている重複領域が重なるかを調査する。第３行６２ｃで管理される領域において、第１オブジェクトＡと第２オブジェクトＢが重なるので、この第３行６２ｃの重なりフラグのみ「ＯＮ」となり、他の部分は重ならないので「ＯＦＦ」のままである。
【００５６】
この重複矩形領域は、オブジェクトを登録する都度更新され、そのバンドに登録されている全てのオブジェクトを包含する最小の矩形領域となる。
また、この重なりフラグは、登録されるオブジェクトが透明属性を持つ透明オブジェクトである場合に、バンド単位で区切られたこの透明オブジェクトを包含する最小の矩形領域が、すでに登録されている重複矩形領域と重なる場合に「ＯＮ」となり、重ならない場合や、透明属性を持たないオブジェクトの場合にはフラグを更新しない。
【００５７】
このような処理を実現するために、第１実施例とは、「オブジェクトの登録」と「ページメモリへの展開」のサブルーチンが異なる。
全体フローに関しては、図６に表される第１実施例のものと同様であるが、そのサブルーチンとなる「オブジェクトの登録」と「ページメモリへの展開」が異なる。
そこで、基本フローの説明は省略し、サブルーチンの説明を以下に行う。
なお、基本フローは図６と同じではあるが、前述したようにバンド管理テーブル６２の要素が異なるので、初期化の内容は異なる。
【００５８】
まず、図６のＳ７で実行する「オブジェクトの登録」のサブルーチンについて説明する。
図１０には、第２実施例の「オブジェクトの登録」のサブルーチンを表すフローチャートを示す。
この「オブジェクトの登録」のサブルーチンでは、オブジェクトをバンド単位で調査して、バンド管理テーブル６２の対応するバンドを記録する領域に、オブジェクトについての情報を記録していく作業を行う。第１実施例と第２実施例とでは、バンド管理テーブル６２に登録される情報が異なるため、ここでのルーチンも異なったフローとなる。
Ｓ３５では、バンド管理テーブル６２にオブジェクトを登録する。この様子は図９に示されており、例えば、図６のＳ５、およびＳ８で設定されたバンドカウンタＮが３で、第１オブジェクトＡについて「オブジェクトの登録」のサブルーチンが実行されている場合、第３行６２ｃの領域に第１オブジェクトＡの描かれるべき部分が登録される。そして、Ｓ３６に移行する。
【００５９】
Ｓ３６では、Ｎ番目のバンドのバンド管理テーブル６２の重なりフラグが「ＯＮ」であるかどうかをチェックする。第１オブジェクトＡについて調査されている場合は、バンド管理テーブル６２に記録されている情報は、初期状態のままであるので「ＯＦＦ」になっており（Ｓ３６：Ｎｏ）、Ｓ３７に移行する。一方、該当するバンド管理テーブル６２の重なりフラグが「ＯＮ」である場合には（Ｓ３６：Ｙｅｓ）、Ｓ４０に移行する。
Ｓ３７では、処理中のオブジェクトが透明属性を持つ透明オブジェクトかどうかを調査する。処理中のオブジェクトが、第１オブジェクトＡであった場合は、透明属性を持たないので（Ｓ３７：Ｎｏ）、Ｓ４０に移行する。一方、第２オブジェクトＢであった場合は、透明属性を持っているので（Ｓ３７：Ｙｅｓ）、Ｓ３８に移行する。
【００６０】
Ｓ３９では、透明オブジェクトのバンド単位で区切られた領域を包含する最小の矩形領域が、バンド管理テーブル６２に登録されている重複矩形領域と重なるかどうかを調査する。例えば、第２オブジェクトＢを調査している段階で、バンドカウンタＮが３であれば、第３行６２ｃに事前に登録された第１オブジェクトＡの重複矩形領域と照合され、重なっていると判定される（Ｓ３８：Ｙｅｓ）。そして、Ｓ３９に移行する。一方、他のバンド管理テーブル６２では重なっていないと判定され（Ｓ３８：Ｎｏ）、Ｓ４０に移行する。
Ｓ３９では、バンド管理テーブル６２の対応するバンド管理テーブルの重なりフラグを「ＯＮ」に変更する。
Ｓ４０では、重複矩形領域を更新する。重複矩形領域については前述した通りであり、対応するバンドに描画されるオブジェクトの矩形領域を座標で指定することになる。そして、サブルーチンを終了する。
このようにして、「オブジェクトの登録」のサブルーチンは、ＰＤＬデータ６０に含まれる全てのオブジェクトを対象に実行される。
【００６１】
次に、図６のＳ１０で実行される「ページメモリへの展開」のサブルーチンについて説明する。
図１１には、「ページメモリへの展開」のサブルーチンを表すフローチャートを示す。
この「ページメモリへの展開」のサブルーチンでは、バンド管理テーブル６２に登録される情報に基づいて、中間データ記憶領域６１に記憶される、ＰＤＬデータ６０の中間データを、透明処理が必要な場合は、透明処理バッファ６３ａを通して透明処理を行い、透明処理が必要でなければ、直接２値化してページメモリへの展開を行う。
第２実施例では、第１実施例とバンド管理テーブル６２に保存される情報が異なるため、そのサブルーチンのフローも異なる。
Ｓ５０では、ページメモリ領域６４用の領域をＲＡＭ２３に確保し、初期化する。そして、Ｓ５２に移行する。
Ｓ５２では、バンドカウンタＭの初期化を行う。ここではバンドカウンタＭに１を代入している。そして、Ｓ５４に移行する。
【００６２】
Ｓ５４では、バンド管理テーブル６２に登録されたＭ番目のバンドの重なりフラグをチェックする。バンドカウンタＭが１であれば、第１行６２ａの重なりフラグをチェックすることになる。このとき、重なりフラグがＯＮになっていれば（Ｓ５４：Ｙｅｓ）、Ｓ５８に移行する。一方、重なりフラグがＯＦＦのままであれば（Ｓ５４：Ｎｏ）、Ｓ５５に移行する。
Ｓ５５では、バンドカウンタＭのバンド管理テーブルに登録されている全てのオブジェクトをページメモリ領域６４に展開する。ここで、例えばバンドカウンタＭが１であれば、バンド管理テーブル６２の第１行６２ａを調べ、第２オブジェクトＢが登録されているので、第２オブジェクトＢが第１バンド６４ａに配置される領域をページメモリ領域６４の第１バンド６４ａの部分に展開する。
また、例えば、バンドカウンタＭが４であれば、バンド管理テーブル６２の第４行６２ｄを調べ、第１オブジェクトＡが登録されているので、第１オブジェクトＡが第４バンド６４ｄに配置される領域を、ページメモリ領域６４の第４バンド６４ｄの部分に展開する。そして、Ｓ５６に移行する。
【００６３】
Ｓ５６では、バンドカウンタＭのカウントアップを行う。そして、Ｓ５７に移行する。
Ｓ５７では、全バンド処理が終了したかどうかをチェックする。具体的にはバンドカウンタＭと全バンド数を比較し、バンドカウンタＭが全バンド数を越えていなければ（Ｓ５７：Ｎｏ）、Ｓ５４に戻り、越えていれば（Ｓ５７：Ｙｅｓ）、処理を終了する。
前述したＳ５４から分岐してきた場合に（Ｓ５４：Ｙｅｓ）、Ｓ５８では、透明処理バッファ６３ａの領域をＲＡＭ２３に確保し、初期化を行う。そして、Ｓ５９に移行する。
Ｓ５９では、Ｍ番目のバンド管理テーブルで管理されるオブジェクトを透明処理する。第２実施例では、バンド管理テーブル６２の第３行６２ｃが、重なりフラグが「ＯＮ」となっているため、そのバンドに対して透明処理を行う。そして、Ｓ６０に移行する。
Ｓ６０では、透明処理バッファ６３ａに透明処理されたデータを、ページメモリ領域６４に展開する。第２実施例では、第３バンド６４ｃが展開されることになる。そして、Ｓ６１に移行する。
Ｓ６１では、ＲＡＭ２３の１部の領域を占有している透明処理バッファ６３ａを開放する。
【００６４】
上記第２実施例における透明処理バッファ６３ａのサイズは、各バンドの大きさを基にしたサイズであるが、重複矩形領域を基にしたサイズにしてもよい。
例えば、Ｓ５８において透明処理バッファ６３ａを確保する場合、バンドカウンタＭが３であった場合、第３行６２ｃで管理するバンドの大きさを基にしたサイズで透明処理バッファ６３ａを確保するのではなく、重複矩形領域を基にしたサイズで透明処理バッファ６３ａを確保するのである。すなわち、（０，２０）−（５０，３０）の領域を透明処理するだけの領域を確保するのではなく、重複矩形領域の（１０，２０）−（４０，３０）の領域を透明処理するだけの領域を確保するのである。
Ｓ５９では、重複矩形領域に対して透明処理を行い、重複矩形領域を基にしたサイズを持つ透明処理バッファ６３ａに記録することになる。
Ｓ６０では、透明処理バッファ６３ａに透明処理されたデータを、重複矩形領域に対応するページメモリ領域６４に展開することになる。
【００６５】
次に、第２実施例の効果について説明を行う。
第２実施例のプリンタ１０は、上記のように構成され、ページメモリ領域６４の複数のバンド単位に分割して、そのバンド単位で透明処理をするため、透明処理バッファ６３ａがＲＡＭ２３を占有する領域は少なくて済む。
第２実施例が、第１実施例と異なる点は、バンド管理テーブル６２を新たに定義し直し、重複矩形領域と重なりフラグを管理する点にある。
【００６６】
第１実施例及び第２実施例のＰＤＬデータ６０に含まれる第１オブジェクトＡ及び第２オブジェクトＢは、実際に重なっているので、バンドサイズを基にした透明処理バッファ６３ａを使用する場合は、第１実施例と第２実施例でその効果に差は出ないが、仮に第１オブジェクトＡと第２オブジェクトＢの座標がずれており、重ならないような場合には、効果に差が生まれる。
すなわち、第１実施例では、透明オブジェクト有無情報は、第２オブジェクトＢが透明属性を持っていることで「ＯＮ」となる。しかし、実質は第１オブジェクトＡと第２オブジェクトＢは重なる保証はない。したがって、第１オブジェクトＡと第２オブジェクトＢが重ならない場合でも透明処理を行うことになる。しかし、実際に重ならないにもかかわらず、透明処理を行ったのでは、透明処理を行うステップだけ無駄となってしまう。
【００６７】
そこで、第２実施例では、実際のオブジェクトの描画位置を、重複矩形領域として管理することでこの問題を解決する。
すなわち、図１０のＳ３３で、矩形領域で区切ったオブジェクト同士をバンド単位で比較し、重なる場合を検出することで、第１オブジェクトＡと第２オブジェクトＢが重なることを検出するのである。この場合、透明処理が必要なバンドは必ず重なりフラグが「ＯＮ」となっていることになる。
このように矩形領域を調査し、バンド管理テーブル６２に重なりフラグを設けることで、無駄に透明処理をするような事態を防ぐことができ、結果としてＰＤＬデータ６０の印刷時間を短縮することができる可能性がある。
特に、オブジェクト数が増えてきた場合には、透明処理に時間がかかるため、有効な手段であると考える。
【００６８】
さらに、第２実施例において、透明処理バッファ６３ａのサイズを、バンドの大きさを基にしたサイズではなく、重複矩形領域を基にしたサイズにすることで、より省メモリで、高速に処理が可能となる。
これは、第３行６３ｃのバンド管理領域で管理されるオブジェクトを透明処理する場合で考えれば、はっきする。
バンドの大きさを基にしたサイズで処理する場合は、（０，２０）−（５０，３０）の大きさを処理できるだけの領域をＲＡＭ２３に確保する必要がある。一方、重複矩形領域を基にしたサイズで処理する場合は、（１０，２０）−（４０，３０）の大きさを処理できるだけの領域をＲＡＭ２３に確保すれば良く、前者よりも確保する領域が小さくなっていることが理解できる。
このように、ＲＡＭ２３の占有領域を小さくできるため、省メモリでプログラムを実行でき、透明処理を行う範囲が小さくなる分、透明処理の演算量やページメモリへの展開データ量が小さくなるため、処理の高速化を図ることも可能である。
【００６９】
以上に説明した、第２実施例の印刷装置によれば、以下のような優れた作用、効果が得られる。
（１）外部から入力される第１オブジェクトＡ及び第２オブジェクトＢと、オブジェクトのうち少なくとも１つに対応する付随情報を含むＰＤＬデータ６０を受取る、モデム３７、パラレルＩ／Ｆ３５、ＵＳＢポート１４、及びスロット部１５と、オブジェクトに対応する付随情報を用いて、第１オブジェクトＡ及び第２オブジェクトＢが透明属性を持つ透明オブジェクトかを判断する、透明属性判断手段（Ｓ３７で処理）と、オブジェクトを用いて透明処理を行い、透明処理済みデータを生成する、透明処理手段（Ｓ５７で処理）と、透明処理済みデータを記憶する透明処理バッファ６３と、透明処理済みデータ又は第１オブジェクトＡ及び第２オブジェクトＢを基に画像データを生成する画像データ生成手段、及び、作成した画像データをページメモリ領域６４に記憶する画像データ記憶手段（Ｓ５５及びＳ６０で処理）と、ページメモリ領域６４上に記憶された画像データを用いて印刷媒体に画像を印刷する印刷エンジン３１と、を備える印刷装置において、ページメモリ領域６４を例えば第１バンド６４ａ乃至第５バンド６４ｅに分割して捉え、付随情報を用いて、第１オブジェクトＡ及び第２オブジェクトＢがどのバンドに配置されるかを判断する配置バンド判断手段（Ｓ５からＳ９で処理）と、配置バンド判断手段に基づき、透明オブジェクトの含まれた領域であり、画像の１辺と平行なＸ辺とＸ辺に垂直なＹ辺とからなる矩形のうち、最小の面積を持つ矩形である透明矩形領域と、他のオブジェクトが含まれた領域であり、画像の１辺と平行なＸ辺とＸ辺に垂直なＹ辺とからなる矩形のうち、最小の面積を持つ矩形であるベース矩形領域が重なるか否かを判断する重なり判断手段（Ｓ３８で処理）を備え、重なり判断手段に、透明オブジェクトである第２オブジェクトＢと、第１オブジェクトＡが重なって配置されると判断されたバンドであることを第３条件として、透明処理手段は、前記第３条件を満足するバンドに配置される第１オブジェクトＡ及び第２オブジェクトＢを用いて透明処理を行い、透明処理済みデータを生成し、透明処理バッファ６３ａは、透明処理済みデータを記憶し、画像データ生成手段は、透明処理バッファ６３ａに記憶された、透明処理済みデータを用いて前記画像データを生成（Ｓ５８乃至Ｓ６１で処理）する一方、重なり判断手段に、透明オブジェクトである第２オブジェクトＢと、第１オブジェクトＡが重ならないと判断されたバンドであることを第４条件として、画像データ生成手段は、前記第４条件を満足するＰＤＬデータ６０に含まれる第１オブジェクトＡ及び第２オブジェクトＢを用いて画像データを生成する（Ｓ５５で処理）ことを特徴とするので、バンド単位で、オブジェクトを矩形領域で示し、その重なりを判断してより具体的に透明処理が必要であるかどうかを判断する。
こうすることで、実際には透明オブジェクトが他のオブジェクトに重ならない場合に透明処理を行わないことで、印刷の高速化を図ることが可能である。
【００７０】
（２）（１）に記載の印刷装置において、バンド毎に、重なり判断手段によって判断された、透明オブジェクトが他のオブジェクトと重なるか否かを示す重なりフラグを記憶するバンド管理テーブル６２であり、透明処理手段は、バンド管理テーブル６２の情報に基づき、重なりフラグが「ＯＮ」であるバンドについて、透明処理を行うことを特徴とするので、バンド管理テーブル６２で重なりフラグを管理することで（１）の効果を奏し、かつ透明処理と、透明オブジェクトが他のオブジェクトと重なるか否かを判断する処理が同時期におき、それぞれの処理時間が遅くなったりリソースの使用が重なったりすることを防ぐことができる。
【００７１】
（３）（１）に記載の印刷装置において、重なり判断手段によって、透明オブジェクトである第２オブジェクトＢと第１オブジェクトＡが重なると判断されたバンドに対して、そのバンドにおける第２オブジェクトＢと第１オブジェクトＡを含む重複矩形領域の大きさを基に、透明処理バッファ６３ａを確保し（Ｓ５８で処理）、その重複矩形領域分の透明処理を行い、透明処理済みデータを生成し、透明処理バッファ６３ａは透明処理済みデータを記憶し、画像データ生成手段は、透明処理バッファ６３ａに記憶された、透明処理済みデータを用いて前記画像データを生成する（Ｓ５９で処理）ことを特徴とするので、透明処理バッファ６３ａは（１）に記載の透明処理バッファ６３ａよりも小さくなる場合が多く、省メモリで高速な処理が可能となる。
【００７２】
（４）（３）に記載の印刷装置において、バンド毎に、重なり判断手段によって判断された、透明オブジェクトが他のオブジェクトと重なるか否かを示す重なりフラグと、重複矩形領域を記憶するバンド管理テーブル６２であり、透明処理手段は、バンド管理テーブル６２の情報に基づき、重なりフラグが「ＯＮ」であるバンドについて、重複矩形領域に基づいて透明処理バッファ確保手段が確保した透明処理バッファ６３ａを用いて、重複矩形領域分について透明処理を行うことを特徴とするので、（３）の効果を奏し、かつ透明処理と、透明オブジェクトが他のオブジェクトと重なるか否かを判断する処理が同時期におき、それぞれの処理時間が遅くなったりリソースの使用が重なったりすることを防ぐことができる。
【００７３】
（５）（１）乃至（４）のいずれかに記載の印刷装置において、透明処理手段による透明処理に先立って透明処理バッファ６３ａを確保（Ｓ５８で処理）し、前記透明処理手段による透明処理の終了を条件として透明処理バッファ６３ａを開放する透明処理バッファ確保手段（Ｓ６１で処理）を備えたことを特徴とするので、透明処理バッファの確保、及びその開放のタイミングを、透明処理の開始、終了のタイミングに合わせ、透明処理に必要なバッファが確保される時間を最小限にすることで、他の処理でのメモリ不足のおそれを少なくできる。
【００７４】
（第３実施例）
次に、第３実施例について説明する。
第３実施例においても、図１及び図２に示す第１実施例のプリンタ１０の構成と同じであるので、説明を省略する。
また、フローチャートについても、基本フロー及び「オブジェクトの登録」のサブルーチンに関しては、第２実施例と同じであるので、説明を省略する。
第２実施例と異なるのは、「ページメモリへの展開」のサブルーチンであり、以下にその異なる部分について説明を行う。
【００７５】
図１２には、第３実施例の「ページメモリへの展開」のサブルーチンを表すフローチャートを示す。
このフローチャートは、第２実施例の図１１とほぼ同じ流れであるが、Ｓ５８乃至Ｓ６０の部分が図１１の対応する部分と異なる。よってこの部分だけ説明を行う。
Ｓ８４は、Ｓ５８に対応し、バンド管理テーブル６２のＭ番目のバンド管理領域に記憶される重複矩形領域を基に、その大きさに合わせた透明処理バッファ６３ａを確保する。
例えば、バンドカウンタＭの値が３で、ページメモリ領域６４の第３バンド６４ｃの透明処理を行う場合、対応するバンド管理テーブル６２の第３行６２ｃには、第１オブジェクトＡ及び透明オブジェクトである第２オブジェクトＢの描画情報が記憶されており、第１オブジェクトＡの矩形領域は（１０，２０）−（４０，２８）であり、第２オブジェクトＢの矩形領域は（２０，２１）−（２５，３０）であるため、重複矩形領域は（１０，２０）−（４０，３０）となる。したがって、この重複矩形領域に合わせて透明処理バッファ６３ａを確保することになる。
そして、透明処理バッファ６３ａを初期化する。ここで、透明処理バッファ６３ａを初期化する値を「−１」とする点が、Ｓ５８と異なる。
この数字は、特に「−１」に限定されるものではないが、例えば、透明処理バッファ６３ａのデータを８ビットで表す場合であれば、０から２５５の値以外を設定する。そして、Ｓ８５に移行する。
【００７６】
Ｓ８５は、Ｓ５９に対応し、透明処理バッファ６３ａでＭ番目のバンドの透明処理を行う。
ここで、Ｓ８５がＳ５９と異なる点は、「−１」が与えられている領域は、オブジェクトが存在しないとして処理をする点にある。
例えば、バンドカウンタＭの値が３の場合、まず、第１オブジェクトＡが、透明処理バッファ６３ａの対応する箇所に描画され「−１」の値が変更される。続いて透明オブジェクトである第２オブジェクトＢを透明処理するが、第２オブジェクトＢの透明処理バッファ６３ａの対応する箇所が「−１」以外の値を持つ場合は、重ね合わせるオブジェクトが存在するとして透明処理を行う。「−１」の値を持つ場合は、重ね合わせるオブジェクトが存在しないとして透明処理を行う。
ただし、本例では、第２オブジェクトＢの透明処理バッファ６３ａの対応する箇所は全て「−１」以外の値が記録されている。
そして、第２オブジェクトＢが、透明処理バッファ６３ａの対応する箇所に描画される。
【００７７】
Ｓ８６は、Ｓ６０に対応し、透明処理の終わったＭ番目のバンドに関する透明処理バッファ６３ａのデータを、ページメモリ領域６４のＭ番目のバンドに展開する。なお、Ｓ８５の透明処理において、オブジェクトを描画していない箇所の透明処理バッファ６３ａの値は「−１」のままである。従って、値が「−１」の箇所はオブジェクトが存在しないとしてページメモリ領域６４へ展開する必要はない。そしてＳ８７に移行する。
【００７８】
次に、第３実施例の効果について説明を行う。
第３実施例のプリンタ１０は、上記のように構成され、ページメモリ領域６４の複数のバンド単位に分割して、そのバンド単位で透明処理をするため、第２実施例同様に、透明処理バッファ６３である透明処理バッファ６３ａがＲＡＭ２３を占有する領域は少なくて済む。
第３実施例が、第２実施例と異なる点は、透明処理バッファ６３ａのデータ領域に「−１」の値を定義する点である。この値は、前述した通り「−１」に限定されるものではなく、色のレンジ外に設定してあればよい。すなわち、８ビットのデータで２５６階調の色を持つ場合は、０〜２５５以外の数字を使用するということである。
もっとも、透明処理バッファ６３ａを８ビットで管理している場合、１階調分をこのレンジ外の値に使用するため、２５５階調しか使えないことになる。逆に色の値を２５６階調とする場合は、透明処理バッファ６３ａを９ビット以上で管理することになる。
【００７９】
通常、透明処理を行う場合の、透明処理バッファ６３の初期値は「０」である。これは、ＣＭＹＫベースでは、「０」が白色を表すからであり、オブジェクトがない位置の透明処理バッファ６３は「０」のままとなるが、そのままページメモリへ、オブジェクトのデータを展開しても変わらず白色のままなので問題は発生しない。
しかし、透明処理に用いる演算方法によっては、白色のオブジェクトに透明オブジェクトを重ねた時に、白色のオブジェクトの影響を受ける場合がある。例えば、下絵となるオブジェクトの色を反転させた色を用いて透明処理するような場合がこれにあたる。
このような場合、透明処理バッファ６３の初期値が「０」だと、初期値を表す「０」なのか、白色オブジェクトの色を表す「０」なのかが判断できず、正しく透明処理できないことになる。
【００８０】
よって、色のレンジ外の値に初期化しておけばこのような不都合が無くなり、正確に透明処理できるというメリットがある。
また、ページメモリ領域６４へ展開する場合には、例えば「−１」に設定した初期値のままの部分は、ページメモリ領域６４へ展開する必要が無いので、この部分をページメモリ領域６４に展開しないことで、処理を高速化できるメリットもある。
【００８１】
以上に説明した、第３実施例の印刷装置によれば、以下のような優れた作用、効果が得られる。
（１）外部から入力される第１オブジェクトＡ及び第２オブジェクトＢとオブジェクトのうち少なくとも１つに対応する付随情報を含むＰＤＬデータ６０を受取る、モデム３７、パラレルＩ／Ｆ３５、ＵＳＢポート１４、及びスロット部１５と、オブジェクトに対応する付随情報を用いて、第１オブジェクトＡ及び第２オブジェクトＢが透明属性を持つ透明オブジェクトかを判断する、透明属性判断手段（Ｓ３７で処理）と、オブジェクトを用いて透明処理を行い、透明処理済みデータを生成する、透明処理手段（Ｓ８５で処理）と、透明処理済みデータを記憶する透明処理バッファ６３と、透明処理済みデータ又は第１オブジェクトＡ及び第２オブジェクトＢを基に画像データを生成する画像データ生成手段、及び作成した画像データをページメモリ領域６４に記憶する画像データ記憶手段（Ｓ８３及びＳ８６で処理）と、ページメモリ領域６４上に記憶された画像データを用いて印刷媒体に画像を印刷する印刷エンジン３１と、を備える印刷装置において、ページメモリ領域６４を例えば第１バンド６４ａ乃至第５バンド６４ｅに分割して捉え、付随情報を用いて、第１オブジェクトＡ及び第２オブジェクトＢがどのバンドに配置されるかを判断する配置バンド判断手段（Ｓ５からＳ９で処理）と、配置バンド判断手段に基づき、バンド単位で、透明オブジェクトである第２オブジェクトＢと、第１オブジェクトＡが重なるか否かを、判断する重なり判断手段（Ｓ３８で処理）と、重なり判断手段によって、重なると判断されたバンドに対して重複矩形領域の大きさを基に矩形領域単位透明処理バッファ（Ｓ５８で処理）を確保する透明処理バッファ確保手段（Ｓ８４で処理）と、を備え、重なり判断手段に、透明オブジェクトである第２オブジェクトＢと、第１オブジェクトＡが重なって配置されると判断されたバンドについて、透明処理手段は、そのバンドに配置される第１オブジェクトＡ及び第２オブジェクトＢを用いて透明処理を行い、重複矩形領域分の透明処理済みデータを生成し、透明処理バッファ６３ａは、透明処理済みデータを記憶し、画像データ生成手段は、透明処理バッファ６３ａに記憶された透明処理済みデータを用いて前記画像データを生成（Ｓ８４乃至Ｓ８７で処理）する一方、重なり判断手段に、透明オブジェクトである第２オブジェクトＢと、第１オブジェクトＡが重ならないと判断されたバンドについて、画像データ生成手段は、ＰＤＬデータ６０に含まれる第１オブジェクトＡ及び第２オブジェクトＢを用いて画像データを生成する（Ｓ８３で処理）ことを特徴とするので、バンド単位で、オブジェクトを矩形領域で示し、その重なりを判断してより具体的に透明処理が必要であるかどうかを判断する。
こうすることで、実際には透明オブジェクトが他のオブジェクトに重ならない場合に透明処理を行わないことで、印刷の高速化を図ることが可能である。
また、透明バッファ確保手段によって、透明処理バッファ６３ａを必要最小限で確保するので、省メモリな処理が可能となる。
【００８２】
（２）（１）に記載の印刷装置において、オブジェクトの色を示す数値の範囲外の数値を、透明処理バッファ６３ａの全体に配置することで、透明処理バッファ６３ａを初期化する（Ｓ８４で処理）、透明処理バッファ初期化手段を備えることを特徴とするので、範囲外の数値で示されている箇所はオブジェクトが存在しないことが明確になる。
その後の画像データ生成手段において、範囲外の数値で示される位置についてはオブジェクトが存在しないとして取り扱うことで、無駄な処理を減らすことが可能であり、処理の高速化を図ることができる。
画像データ生成手段において、白色を表す箇所は「０」であるため、「０」の値を持つ箇所が、白色のオブジェクトが存在する箇所なのか、何もオブジェクトが存在しない箇所なのか区別できないため、透明処理を行う場合は、このことによりうまく透明処理できない場合もあるが、範囲外の数値で初期化することにより、オブジェクトの有無を判断でき、適切に透明処理が可能となる。
また、そのオブジェクトの存在しない箇所に対して不必要な処理を減らす効果がある。
【００８３】
（第４実施例）
次に、第４実施例について説明する。
第４実施例においても、図１及び図２に示す第１実施例のプリンタ１０の構成と同じであるので、説明を省略する。
また、フローチャートについても、基本フロー及び「オブジェクトの登録」のサブルーチンに関しては、第３実施例と同じであるので、説明を省略する。
第３実施例と異なるのは、「ページメモリへの展開」のサブルーチンの一部分であり、以下にその異なる部分について説明を行う。
【００８４】
図１３には、第４実施例の「ページメモリへの展開」のサブルーチンを表すフローチャートを示す。
このフローチャートは、第２実施例の図１１とほぼ同じ流れであるが、図１４のＳ９４乃至Ｓ９８の部分が図１１の対応する部分と異なる。よってこの部分だけ説明を行う。
Ｓ９４は、Ｓ８４に対応し、バンド管理テーブル６２のＭ番目のバンドの情報が格納されている部分に記憶される重複矩形領域を基に、その大きさに合わせた透明処理バッファ６３ａを確保する。そして、透明処理バッファ６３ａを初期化する。
ここで、Ｓ９４がＳ８４と異なる点は、透明処理バッファ６３ａを初期化する値を「０」とする点である。つまり、第１実施例乃至第２実施例と同様に初期化を行う。そして、Ｓ９５に移行する。
【００８５】
Ｓ９５は、Ｓ８４に対応し、バンド管理テーブル６２のＭ番目のバンドの情報が格納されている部分に記憶される重複矩形領域を基に、その大きさに応じた画像データ有無判定バッファ６３ｂ（図示しない）を確保する。ここでは、透明処理バッファ６３ａを「−１」で初期化する必要はない点が、Ｓ８４とは異なる。そして画像データ有無判定バッファ６３ｂを初期化する。
この画像データ有無判定バッファ６３ｂには、ページメモリ領域６４のアドレスに対して、第１オブジェクトＡ及び第２オブジェクトＢに記憶される付記情報を基にした画像データを記憶しているか否かを示すデータ有無情報が格納される。具体的には、画像データ有無判定バッファ６３ｂを「０」の値で初期化し、第１オブジェクトＡ及び第２オブジェクトＢの存在する部分に、「１」を与えれば、第１オブジェクトＡ及び第２オブジェクトＢが存在していない部分は、「０」となり、画像データ有無判定バッファ６３ｂによって、対応するページメモリ領域６４のアドレスに描画される画像データが存在するか否かを判断できることになる。
したがって、画像データ有無判定バッファ６３ｂという、透明処理バッファ６３ａとは別のデータを持つこととなるが、透明処理バッファ６３ａが８ビットデータで、ＣＭＹＫの４つのレイヤ分だけデータを持つ必要があるのに対し、画像データ有無判定バッファ６３ｂは、透明処理バッファ６３ａに画像データが存在するか否かを表すデータ有無情報を表す２値データで済み、ＣＭＹＫ共通で使用できるため、ＲＡＭ２３を占有する領域は少なくて済む。
この処理を終了した後、Ｓ９６に移行する。
【００８６】
Ｓ９６は、Ｓ８５に対応し、透明処理バッファ６３ａでＭ番目のバンドの透明処理を行う。また、同時に画像データ有無判定バッファ６３ｂの更新も行う。
ここで、Ｓ９６がＳ８５と異なる点は、画像データ有無判定バッファ６３ｂにおける、透明処理バッファ６３ａに新たに描画したオブジェクトに対応するデータ有無情報を例えば「１」に更新する点にある。
例えば、バンドカウンタＭの値が３の場合、まず、第１オブジェクトＡが、透明処理バッファ６３ａの対応する箇所に描画され、続いて、対応するデータ有無情報の値が「１」に変更される。続いて透明オブジェクトである第２オブジェクトＢを透明処理するが、第２オブジェクトＢの透明処理バッファ６３ａの対応する箇所についてのデータ有無情報が「１」の値を持つ場合は、重ね合わせるオブジェクトが存在するとして透明処理を行う。「０」の値を持つ場合は、重ね合わせるオブジェクトが存在しないとして透明処理を行う。ただし、本例では、第２オブジェクトＢの透明処理バッファ６３ａの対応する箇所についてのデータ有無情報には「１」の値が記録されている。
そして、第２オブジェクトＢが、透明処理バッファ６３ａの対応する箇所に描画され、対応する画像データ有無判定バッファ６３ｂにおけるデータ有無情報が「１」に更新される。
【００８７】
Ｓ９７は、Ｓ８６に対応し、透明処理の終わったＭ番目のバンドのデータを、ページメモリ領域６４のＭ番目のバンドに展開する。なお、この際に、オブジェクト有無判定バッファ６３ｃの情報を参考にして、オブジェクトが存在しないと定義されている部分は、ページメモリ領域６４に展開しない。そして、Ｓ９８に移行する。
Ｓ９８は、Ｓ８７に対応し、透明処理バッファａの開放に加えて、画像データ有無判定バッファ６３ｂを開放する。
【００８８】
次に、第４実施例の効果について説明を行う。
第４実施例のプリンタ１０は、上記のように構成され、ページメモリ領域６４の複数のバンド単位に分割して、そのバンド単位で透明処理をするため、第２実施例同様に、透明処理バッファ６３である透明処理バッファ６３ａがＲＡＭ２３を占有する領域は少なくて済む。
第４実施例の、第２実施例に対する優位点は第３実施例と同様であるが、第４実施例が、第３実施例と異なる点は、透明処理バッファ６３ａに「−１」の初期値を設定する代わりに、画像データ有無判定バッファ６３ｂを設ける点にある。
この画像データ有無判定バッファ６３ｂは、画像データの有無を定義しておくためのものであり、働きとしては、第３実施例の透明処理バッファ６３ａを「−１」で初期化する場合と同じである。
【００８９】
また、第４実施例では、オブジェクトの有無を表すデータを、画像データ有無判定バッファ６３ｂに格納する別データとしてＣＭＹＫ共通で持つ点が第３実施例と異なるが、オブジェクトの色を示す数値の範囲を同じにした場合は、第３実施例では「−１」を格納する分の領域がＣＭＹＫの全レイヤに対して増えることになるため、第３実施例よりも、ＲＡＭ２３を占有する領域は少なくて済む。
さらに、透明処理において、第４実施例では、画像データ有無判定バッファ６３ｂを参照しながら処理する点が第３実施例と異なるが、第３実施例ではＣＭＹＫ各レイヤ単位で透明処理バッファ６３ａのオブジェクトの有無を表す「−１」を参照しながら処理するが、第４実施例ではＣＭＹＫ共通の画像データ有無判定バッファ６３ｂを参照するため、参照箇所が少なく処理を高速化できるメリットもある。
【００９０】
以上に説明した、第４実施例の印刷装置によれば、以下のような優れた作用、効果が得られる。
（１）外部から入力される第１オブジェクトＡ及び第２オブジェクトＢとオブジェクトのうち少なくとも１つに対応する付随情報を含むＰＤＬデータ６０を受取る、モデム３７、パラレルＩ／Ｆ３５、ＵＳＢポート１４、及びスロット部１５と、オブジェクトに対応する付随情報を用いて、第１オブジェクトＡ及び第２オブジェクトＢが透明属性を持つ透明オブジェクトかを判断する、透明属性判断手段（Ｓ３７で処理）と、オブジェクトを用いて透明処理を行い、透明処理済みデータを生成する、透明処理手段（Ｓ９６で処理）と、透明処理済みデータを記憶する透明処理バッファ６３と、透明処理済みデータ又は第１オブジェクトＡ及び第２オブジェクトＢを基に画像データを生成する画像データ生成手段、及び作成した画像データをページメモリ領域６４に記憶する画像データ記憶手段（Ｓ９３及びＳ９７で処理）と、ページメモリ領域６４上に記憶された画像データを用いて印刷媒体に画像を印刷する印刷エンジン３１と、を備える印刷装置において、ページメモリ領域６４を例えば第１バンド６４ａ乃至第５バンド６４ｅに分割して捉え、付随情報を用いて、第１オブジェクトＡの及び第２オブジェクトＢがどのバンドに配置されるかを判断する配置バンド判断手段（Ｓ５からＳ９で処理）と、配置バンド判断手段に基づき、バンド単位で、透明オブジェクトである第２オブジェクトＢと、第１オブジェクトＡが重なるか否かを、判断する重なり判断手段（Ｓ３８で処理）と、重なり判断手段によって、重なると判断されたバンドに対して重複矩形領域の大きさを基に矩形領域単位透明処理バッファ（Ｓ５８で処理）を確保する透明処理バッファ確保手段（Ｓ６９で処理）と、を備え、重なり判断手段に、透明オブジェクトである第２オブジェクトＢと、第１オブジェクトＡが重なって配置されると判断されたバンドについて、透明処理手段は、そのバンドに配置される第１オブジェクトＡ及び第２オブジェクトＢを用いて透明処理を行い、重複矩形領域分の透明処理済みデータを生成し、透明処理バッファ６３ａは、透明処理済みデータを記憶し、画像データ生成手段は、透明処理バッファ６３ａに記憶された透明処理済みデータを用いて画像データを生成（Ｓ９４乃至Ｓ９８で処理）する一方、重なり判断手段に、透明オブジェクトである第２オブジェクトＢと、第１オブジェクトＡが重ならないと判断されたバンドについて、画像データ生成手段は、ＰＤＬデータ６０に含まれる第１オブジェクトＡ及び第２オブジェクトＢを用いて画像データを生成する（Ｓ９３で処理）ことを特徴とするので、バンド単位で、オブジェクトを矩形領域で示し、その重なりを判断してより具体的に透明処理が必要であるかどうかを判断する。
こうすることで、実際には透明オブジェクトが他のオブジェクトに重ならない場合に透明処理を行わないことで、印刷の高速化を図ることが可能である。
また、透明バッファ確保手段によって、透明処理バッファ６３ａを必要最小限で確保するので、省メモリな処理が可能となる。
【００９１】
（２）（１）に記載の印刷装置において、画像データの有無を示すデータを格納する、画像データ有無判定バッファ６３ｂを備え（Ｓ９４で処理）、透明処理バッファ６３ａにオブジェクトを展開する際に、オブジェクトの存在する部分について、画像データ有無判定バッファ６３ｂに画像データの存在を示すフラグを立てることで（Ｓ９６で処理）、画像データ有無判定バッファ６３ｂに格納されたフラグが立っていない箇所は、オブジェクトが存在しないとして処理する（Ｓ９７）ことを特徴とするので、第３実施例のように、オブジェクトの色を表す数値の範囲外の数値で表すことと、同じ効果が得られる。
この場合画像データ有無判定バッファ６３ｂを確保する必要があるが、ＣＭＫＹのレイヤ全て共通で１つの画像データ有無判定バッファ６３ｂを確保すれば良いので、多くのメモリを占有することもない。
【００９２】
なお、本発明は前記実施形態に限定されるものではなく、その趣旨を逸脱しない範囲で様々な変更が可能である。
また、記載したフローチャートはあくまで一例であるので、カウンタのタイミングや運用方法を変えることはもとより、サブルーチンの内容など設計事項の範囲内で変更することを妨げない。
例えば、第１実施例及び第２実施例で示す「ページメモリへの展開」のフローチャートにおいて、バンド単位で透明処理を行う毎に、透明処理バッファの確保（Ｓ２９及びＳ５８）と、透明処理バッファの開放（Ｓ３２及びＳ６１）を行っている。しかし、バンド単位の透明処理において必要とする透明処理バッファの大きさが同じ場合は、毎回、透明処理バッファを確保、開放する必要がない。
【００９３】
例えば、図４において、バンド管理テーブル６２で管理されるページメモリ領域６４ａ乃至６４ｅの各ページメモリ領域の大きさが全て同じである場合は、ページメモリへの展開時に使用する透明処理バッファ６３ａのサイズは、毎回同じ大きさとなるため、最初の透明処理を行うときに確保し、最後のバンドの透明処理を終了したときに解放すれば良い。
また、最後のバンドに対するページメモリへの展開時に透明処理が行われない可能性もあるため、バンド管理テーブル６２の情報より最後に透明処理されるバンドを調査し、透明処理バッファを開放するタイミングを変更しても良い。透明処理を必要とするか否かは、第１実施例では、バンド管理テーブル６２の透明フラグから判断し、第２実施例では、バンド管理テーブル６２の重なりフラブから判断することができる。
さらに、図４において、バンド管理テーブル６２で管理されるページメモリ領域６４の大きさを均等に分割するが、完全に均等に分割できないときは、最後のページメモリ領域６４ｅだけが異なる大きさになる場合がある。その場合は、最初の透明処理を行うときに透明処理バッファ６３ａを確保し、最後のバンドに対するページメモリへの展開時に、透明処理バッファ６３ａの大きさを変更しても良い。
【００９４】
また、第１実施例乃至第４実施例の説明において、中間データ記憶領域６１をＲＡＭ２３上に確保して処理を行っているが、本発明を実施するにあたって必要な構成要件ではないので、中間データ記憶領域６１を設けずに、透明処理バッファ６３又はページメモリ領域６４にＰＤＬデータ６０から直接オブジェクトデータを加工して展開しても構わない。
ただし、第１実施例乃至第４実施例では、中間データ記憶領域６１を設けた方が処理上で処理速度が速くなるなどのメリットも考えられるため、中間データ記憶領域６１を用いた構成で説明をしている。
したがって、中間データ記憶領域６１を用いない構成で発明を実施することを妨げない。
また、第１実施例乃至第４実施例の説明において、バンド管理テーブル６２を使用しているが、必ずしもテーブルという形態でデータを管理する必要はない。それぞれの処理に必要なデータをプリンタ１０が利用できる状態に保持していれば足りる。
したがって、バンド管理テーブル６２に管理するデータを他の手段によって記憶することを妨げない。
【００９５】
また、第１実施例乃至第４実施例の説明において、中間データ記憶領域６１、及び透明処理バッファ６３はビット深さの深いデータで処理を行うとし、ページメモリ領域６４はビット深さの浅いデータで処理を行うとしているが、必ずしもこのような構成でなくても良い。ページメモリ領域６４においてもビット深さの深いデータで表現する場合もあり、又、中間データ記憶領域６１及び透明処理バッファ６３でビット深さの浅いデータとして処理するようなプリンタも存在するからである。
このような場合であっても、ページメモリ領域６４をバンド単位に分割して、バンド毎に透明処理が必要かどうかを判断し、透明処理が必要なバンドに対して透明処理を行えば、省メモリ化又は高速化のうち少なくとも１つの実現は可能となる。したがって、中間データ記憶領域６１、及び透明処理バッファ６３はビット深さの深いデータで、ページメモリ領域６４はビット深さの浅いデータで処理を行わない場合であっても、本発明の本質を逸脱するものではない。
【図面の簡単な説明】
【００９６】
【図１】第１実施例の、プリンタの立体斜視図を示している。
【図２】第１実施例の、プリンタの構成図を示している。
【図３】第１実施例の、データ処理の流れについて概念的な模式図を示している。
【図４】第１実施例の、バンド管理テーブルとページメモリの関係について模式的に示している。
【図５】第１実施例の、データ処理の流れについて具体的に示した模式図を示している。
【図６】第１実施例の、プリンタ内部での処理を示した全体のフローチャートを示している。
【図７】第１実施例の、オブジェクトの登録のサブルーチンを表すフローチャートを示している。
【図８】第１実施例の、ページメモリへの展開のサブルーチンを表すフローチャートを示している。
【図９】第２実施例の、オブジェクト登録に関する概念図を示している。
【図１０】第２実施例の、オブジェクトの登録のサブルーチンを表すフローチャートに示している。
【図１１】第２実施例の、ページメモリへの展開のサブルーチンを表すフローチャートを示している。
【図１２】第３実施例の、ページメモリへの展開のサブルーチンを表すフローチャートを示している。
【図１３】第４実施例の、ページメモリへの展開のサブルーチンを表すフローチャートを示している。
【図１４】出願人が示した、２つのオブジェクトからなるＰＤＬデータを印刷する場合の概念図を示している。
【図１５】出願人が示した、ＰＤＬデータを透明処理する場合に行われる作業の概念図を示している。
【符号の説明】
【００９７】
１０      プリンタ
１１      操作パネル
１２ａ      入力パネル
１２ｂ      操作部
１３      液晶パネル表示部
１４      ＵＳＢポート
１５      スロット部
２１      ＣＰＵ
２２      ＲＯＭ
２３      ＲＡＭ
２４      ＥＥＰＲＯＭ
２５      バス
２６      ＡＳＩＣ
３１      プリンタ部
３４      ＬＣＤコントローラ
【図１】
2008001068.tif 000003
【図２】
2008001068.tif 000004
【図３】
2008001068.tif 000005
【図４】
2008001068.tif 000006
【図５】
2008001068.tif 000007
【図６】
2008001068.tif 000008
【図７】
2008001068.tif 000009
【図８】
2008001068.tif 000010
【図９】
2008001068.tif 000011
【図１０】
2008001068.tif 000012
【図１１】
2008001068.tif 000013
【図１２】
2008001068.tif 000014
【図１３】
2008001068.tif 000015
【図１４】
2008001068.tif 000016
【図１５】
2008001068.tif 000017