JP2008001068A - 印刷装置 - Google Patents

印刷装置 Download PDF

Info

Publication number
JP2008001068A
JP2008001068A JP2006175419A JP2006175419A JP2008001068A JP 2008001068 A JP2008001068 A JP 2008001068A JP 2006175419 A JP2006175419 A JP 2006175419A JP 2006175419 A JP2006175419 A JP 2006175419A JP 2008001068 A JP2008001068 A JP 2008001068A
Authority
JP
Japan
Prior art keywords
transparent
band
image data
processing
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006175419A
Other languages
English (en)
Other versions
JP4306698B2 (ja
Inventor
Nobuo Mizutani
宣夫 水谷
Kunihiko Sakurai
功仁彦 櫻井
Kosuke Fukaya
浩祐 深谷
Sadaaki Miyazaki
貞明 宮▲崎▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2006175419A priority Critical patent/JP4306698B2/ja
Priority to US11/768,451 priority patent/US8289560B2/en
Publication of JP2008001068A publication Critical patent/JP2008001068A/ja
Application granted granted Critical
Publication of JP4306698B2 publication Critical patent/JP4306698B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1849Generation of the printable image using an intermediate representation, e.g. a list of graphical primitives
    • G06K15/1851Generation of the printable image using an intermediate representation, e.g. a list of graphical primitives parted in a plurality of segments per page
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1852Generation of the printable image involving combining data of different types

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

【課題】省メモリで高速な透明オブジェクトを含む印刷データを印刷可能な印刷装置を提供する。
【解決手段】ページメモリ領域64を第1バンド64a乃至第5バンド64eに分割して捉え、付随情報を用いて、第1オブジェクトA及び第2オブジェクトBがどのバンドに配置されるかを判断する配置バンド判断手段を備え、配置バンド判断手段に、透明オブジェクトである第2オブジェクトBが配置されると判断されたバンドについて、透明処理手段は、透明処理を行い、透明処理済みデータを生成し、透明処理バッファ63aは、透明処理済みデータを記憶し、画像データ生成手段は、画像データを生成し、配置バンド判断手段に、透明オブジェクトである第2オブジェクトBが配置されないと判断されたバンドについて、画像データ生成手段は、PDLデータ60に含まれる第1オブジェクトA及び第2オブジェクトBを用いて画像データを生成することを特徴とする。
【選択図】図5

Description

本発明は、印刷を行う際に、透明属性が付加されたオブジェクトを合成して印刷する処理の高速化及び省メモリ化に関するものである。
コンピュータは多様な出力装置へデータを出力することが可能であり、プリンタへの出力も行う。
近年ではPDF(Portable Document Format(登録商標))などの、PDL(Page Description Language)で記述されるデータも増加してきた。
これは、PDLが装置独立性を持つからである。つまり、コンピュータにインストールされているOS(Operating System)に左右されず、ビュアーによって出力装置への出力が可能となる点が優れている。これによって、PDLで作成した文章は、ビュアーさえ備えていれば、多くのコンピュータで、同じように出力が可能となる。また、同様に多様なプリンタで同じように印刷が可能となる。
このPDLとは、印刷したり表示したりする対象となる「ページ」に関して、ページ単位で文字や図形をどのように配置するかを指定するものである。
このような、PDLで作成されたPDLデータには、フォントや画像などのオブジェクトが重ねられ、上に重ねるオブジェクトが透明属性を持っているものが少なくない。
2つのオブジェクトがあって、下のオブジェクトの上に、透明属性を持つ上のオブジェクトを重ねると、上のオブジェクトに設定された透明度によって、重なり部分の色が変化することとなる。
したがって、出力装置にこのPDLで記載された、透明属性を持つオブジェクトが重なる部分があるようなPDLデータを出力するには、下に配置されるオブジェクトと上に配置されるオブジェクトの透明処理を行う必要がある。
簡単にその方法を模式化すると図17及び図18のようになる。
図17は、2つのオブジェクトからなるPDLデータを印刷する場合の概念図を示している。
PDLデータ60は、第1オブジェクトAと第2オブジェクトBという2つのオブジェクトから構成されているものとし、第1オブジェクトAの上に、透明属性を持つ第2オブジェクトBを描画する際、重なる部分Cは第1オブジェクトAの色に、第2オブジェクトBに設定された透明度で重ねられることによって発色する色で表現される。このため、このような重ね合わせ処理は、透明処理を行うことで実現する。
この結果、紙にPDLデータ60が印刷される段階では、第1オブジェクトAに第2オブジェクトBが重ねられた状態で印刷されることになる。
図18は、PDLデータを透明処理する場合に行われる作業の概念図を示している。
まず、PDLデータ60は、中間データとして、メモリ内に確保された中間データ記憶領域61に格納される。この場合は、第1オブジェクトAと第2オブジェクトBという2つの中間データが生成されることになる。
そして、次に、透明処理バッファ63というメモリ内に確保された領域で、C(シアン)、M(マゼンダ)、Y(イエロー)、K(クロ)の4つのレイヤに分けられて、第1オブジェクトAと第2オブジェクトBの透明処理を行う。この場合の各レイヤは、8ビットで256階調のデータであることが多い。
そして、透明処理バッファ63はページメモリ領域64に展開され、展開された画像データが印刷エンジンに渡されて印刷される。このページメモリ領域64は印刷エンジンが処理可能なフォーマットである必要があり、ページメモリ領域64の各レイヤは1ビット深さの2階調データであることが多い。
これらの方法について詳しい内容は、特許文献1及び特許文献2などに詳細に説明されている。
特開平11−272252号公報 特開平11−286150号公報
しかしながら、従来技術では透明オブジェクトを含むPDLデータを印刷する場合、印刷速度が遅くなってしまうという問題点があった。
前述したように、PDLデータ60は透明属性を持った第2オブジェクトBを含んでいるので、PDLデータ60をそのままページメモリ領域64に展開することはできず、プリンタ内でPDLデータ60を透明処理してページメモリ領域64に展開する必要がある。
すなわち、前述した図18のような処理を、プリンタ内で行う必要がある。
ところで、PDLデータ60の特性上、データはページ単位で扱う。
しかし、一般的なプリンタに搭載されるメモリは、1ビット深さで構成されるページメモリ領域64を保存することを考えて設定されているので、中間データ記憶領域61及び透明処理バッファ63のように、8ビット深さのデータを扱う領域をメモリ内に確保しようとすると、透明処理バッファ63を確保するだけでも、1ページあたりページメモリ領域64の8倍の領域が必要となる。
このため、プリンタには多くのメモリを搭載する必要があると考えられる。
したがって、一般的なプリンタに搭載されるメモリやCPUによって印刷するとなると、印刷にかかる時間が非常に遅くなると考えられる。
印刷速度の向上を求めるのであれば、単位時間あたりのデータ処理速度の速い、高性能なCPUを搭載し、多くのメモリを搭載すればよいのだが、コストがかかる。特に、CPUやメモリの価格は高いため、必要な性能を発揮するCPUやメモリを搭載することは困難である。
このように、従来の特許文献1及び特許文献2の方法では、透明オブジェクトを含むPDLデータを印刷する場合に、印刷速度が遅くなるという問題があった。
そこで、本発明ではこのような問題を解決するためになされたものであり、透明オブジェクトを含む印刷データを印刷可能な印刷装置を提供することを目的とする。
前記目的を達成するために、本発明による印刷装置は以下のような特徴を有する。
(1)外部から入力される複数のオブジェクトと、前記オブジェクトのうち少なくとも1つに対応する付随情報を含む印刷データを受取る印刷データ受取手段と、前記オブジェクトに対応する前記付随情報を用いて、前記オブジェクトが透明属性を持つ透明オブジェクトかを判断する透明属性判断手段と、前記オブジェクトを用いて透明処理を行い、透明処理済みデータを生成する透明処理手段と、前記透明処理済みデータを記憶する透明処理バッファと、前記透明処理済みデータ又は前記オブジェクトを基に画像データを生成する画像データ生成手段と、前記画像データをページメモリに記憶させる画像データ記憶制御手段と、前記ページメモリに記憶された前記画像データを用いて印刷媒体に画像を印刷する印刷エンジンと、を備える印刷装置において、前記ページメモリを所定の領域であるバンドの集合であると捉え、前記付随情報を用いて、前記オブジェクトがどのバンドに配置されるかを判断する配置バンド判断手段を備え、前記配置バンド判断手段に、前記透明オブジェクトが配置されると判断されたバンドであることを第1条件として、前記透明処理手段は、前記第1条件を満足するバンドに配置される前記オブジェクトを用いて前記透明処理を行い、前記透明処理済みデータを生成し、前記透明処理バッファは、前記透明処理済みデータを記憶し、前記画像データ生成手段は、前記透明処理バッファに記憶された前記透明処理済みデータを用いて前記画像データを生成する一方、前記配置バンド判断手段に、前記透明オブジェクトが配置されないと判断されたバンドであることを第2条件として、前記画像データ生成手段は、前記第2条件を満足するバンドに配置される前記オブジェクトを用いて前記画像データを生成することを特徴とする。
(2)(1)に記載の印刷装置において、前記バンド毎に、前記配置バンド判断手段により判断された、前記バンドに配置される前記オブジェクトの数を示すオブジェクト数と、前記透明属性判断手段により判断された、前記バンドに配置される前記透明オブジェクトの有無を示す透明オブジェクト有無情報を記憶するバンド情報記憶手段を備え、前記透明処理手段は、前記バンド情報記憶手段により記憶された情報に基づき、前記オブジェクト数が2以上であり、かつ前記透明オブジェクト有無情報により、前記透明オブジェクトが少なくとも1つあるバンドについて透明処理を行うことを特徴とする。
(3)外部から入力される複数のオブジェクトと、前記オブジェクトのうち少なくとも1つに対応する付随情報を含む印刷データを受取る印刷データ受取手段と、前記オブジェクトに対応する前記付随情報を用いて、前記オブジェクトが透明属性を持つ透明オブジェクトかを判断する透明属性判断手段と、前記オブジェクトを用いて透明処理を行い、透明処理済みデータを生成する透明処理手段と、前記透明処理済みデータを記憶する透明処理バッファと、前記透明処理済みデータ又は前記オブジェクトを基に画像データを生成する画像データ生成手段と、前記画像データをページメモリに記憶させる画像データ記憶制御手段と、前記ページメモリに記憶された前記画像データを用いて印刷媒体に画像を印刷する印刷エンジンと、を備える印刷装置において、前記ページメモリを所定の領域であるバンドの集合であると捉え、前記付随情報を用いて、前記オブジェクトがどのバンドに配置されるかを判断する配置バンド判断手段と、前記配置バンド判断手段に基づき、前記透明オブジェクトの含まれた領域であり、前記画像の1辺と平行なX辺とX辺に垂直なY辺とからなる矩形のうち、最小の面積を持つ矩形である透明矩形領域と、他の前記オブジェクトが含まれた領域であり、前記画像の1辺と平行なX辺とX辺に垂直なY辺とからなる矩形のうち、最小の面積を持つ矩形であるベース矩形領域が重なるか否かを、前記付随情報を用いてバンド単位で判断する重なり判断手段と、を備え、前記重なり判断手段に、前記透明矩形領域と前記ベース矩形領域が重なって配置されると判断されたバンドであることを第3条件として、前記透明処理手段は、前記第3条件を満足するバンドに配置される前記オブジェクトを用いて前記透明処理を行い、前記透明処理済みデータを生成し、前記透明処理バッファは、前記透明処理済みデータを記憶し、前記画像データ生成手段は、前記透明処理バッファに記憶された前記透明処理済みデータを用いて前記画像データを生成する一方、前記重なり判断手段に、前記透明矩形領域と前記ベース矩形領域が重なって配置されないと判断されたバンドであることを第3条件として、前記画像データ生成手段は、前記第3条件を満足するバンドに配置される前記オブジェクトを用いて前記画像データを生成することを特徴とする。
(4)(3)に記載の印刷装置において、前記バンド毎に、前記重なり判断手段によって判断された、前記透明矩形領域と前記ベース矩形領域が重なるか否かを示す重なりフラグを記憶するバンド情報記憶手段を備え、前記透明処理手段は、前記バンド情報記憶手段で記憶された情報に基づき、前記重なりフラグが、前記透明矩形領域と前記ベース矩形領域が重なることを示しているバンドについて、透明処理を行うことを特徴とする。
(5)(1)乃至(4)のいずれかに記載の印刷装置において、前記透明処理手段による透明処理に先立って前記透明処理バッファを確保し、前記透明処理手段による透明処理の終了を条件として前記透明処理バッファを開放することを特徴とする。
(6)(3)に記載の印刷装置において、前記透明矩形領域と前記ベース矩形領域とを含む重複矩形領域の大きさを基に透明処理バッファを確保する透明処理バッファ確保手段を備え、前記重なり判断手段に、前記透明矩形領域と前記ベース矩形領域が重なって配置されると判断されたバンドであることを第5条件として、前記透明処理手段は、前記第5条件を満足するバンドに配置されるオブジェクトを用いて前記透明処理を行い、前記重複矩形領域分の透明処理済みデータを生成し、前記透明処理バッファは、前記透明処理済みデータを記憶し、前記画像データ生成手段は、前記透明処理バッファに記憶された前記透明処理済みデータを用いて前記画像データを生成することを特徴とする。
(7)(6)に記載の印刷装置において、前記バンド毎に、前記重なり判断手段によって判断された、前記透明矩形領域と前記ベース矩形領域が重なるか否かを示す重なりフラグと、前記重複矩形領域の大きさを示す矩形領域情報とを記憶するバンド情報記憶手段を備え、前記透明処理手段は、前記バンド情報記憶手段で記憶された情報に基づき、前記重なりフラグが、前記透明矩形領域と前記ベース矩形領域が重なることを示しているバンドを、前記矩形領域情報に基づいて、前記重複矩形領域分について透明処理を行い、前記矩形領域情報に基づいて前記透明処理バッファ確保手段が確保した前記透明処理バッファに記憶することを特徴とする。
(8)(6)に記載の印刷装置において、前記透明処理バッファ確保手段は、前記透明処理手段による透明処理に先立って前記透明処理バッファを確保し、前記透明処理手段による透明処理の終了を条件として前記透明処理バッファを開放することを特徴とする印刷装置。
(9)(1)乃至(8)のいずれかに記載の印刷装置において、前記オブジェクトの色を示す数値の範囲外の数値を全体に配置することで、前記透明処理バッファを初期化する透明処理バッファ初期化手段を備えることを特徴とする。
(10)(9)に記載の印刷装置において、前記画像データ生成手段が、前記透明処理バッファ初期化手段によって書き込まれた範囲外の数値で表された部分を、前記オブジェクトが存在しないとして処理することを特徴とする。
(11)(1)乃至(8)のいずれかに記載の印刷装置において、前記オブジェクトを基にした前記画像データを前記ページメモリのいずれの記憶領域に記憶しているか否かを示すデータ有無情報を、前記ページメモリのアドレスに対応して記憶する画像データ有無判定バッファと、前記画像データ記憶制御手段が前記画像データを前記ページメモリに記憶させる毎に、前記データ有無情報を前記画像データ有無判定バッファに記憶させるデータ有無情報記憶制御手段を備え、前記透明処理手段は、前記画像データを記憶していないことを前記データ有無情報により示されているアドレスについては、前記オブジェクトを用いて透明処理を行う一方、前記画像データを記憶していることを前記データ有無情報により示されているアドレスについては、前記オブジェクト及びそのアドレスに記憶されている画像データを用いて透明処理を行うことを特徴とする。
このような特徴を有する本発明による印刷装置により、以下のような作用、効果が得られる。
(1)配置バンド判断手段によって配置されるオブジェクトをバンド単位で捉え、透明処理が必要な透明属性を持つオブジェクトを含むバンドのみ透明処理し、透明処理バッファに記憶し、画像データ生成手段によって生成した画像データを画像データ記憶手段によりページメモリに保存し、透明属性を持つオブジェクトを含まないバンドは、印刷データに含まれるオブジェクトから画像データ生成手段によって生成した画像データを画像データ記憶手段によりページメモリに保存する。
このように、バンド毎に透明処理が必要なバンドと、そうでないバンドにわけることで、透明処理が必要でないバンドを早く処理することができるため、透明オブジェクトを含む印刷データを高速に処理可能である。
すなわち、透明属性を持つオブジェクトが配置されないバンドについては、透明処理を行わないために、1ページ分の領域全てに対して透明処理を行う方式に対して、印刷開始から印刷終了までの時間が短くできる可能性がある。
また、透明処理に必要なメモリは、バンド単位で済むために、例えば1ページを20個のバンドに分割した場合は、約20分の1の領域のメモリで、透明処理バッファをまかなえるため、省メモリな処理が可能となる。
(2)バンド情報記憶手段によってオブジェクト数と透明オブジェクト有無情報を管理することで、(1)の効果を奏し、かつ透明処理とオブジェクトが配置されるべきバンドが何れであるか判断する処理や、オブジェクトが透明属性を持つか否かを判断する処理が同時期に起こり、それぞれの処理時間が遅くなったりリソースの使用が重なったりすることを防ぐことができる。
(3)配置バンド判断手段によって配置されるオブジェクトをバンド単位で捉え、オブジェクトがバンドに重なる部分の矩形領域を設定し、透明オブジェクトの透明矩形領域とその他のオブジェクトのベース矩形領域が重なるかどうかを重なり判断手段で判断し、実際に透明処理が必要な透明属性を持つオブジェクトを含むバンドのみ透明処理し、透明処理バッファに記憶し、画像データ生成手段によって生成した画像データを画像データ記憶手段によりページメモリに保存し、透明属性を持つオブジェクトを含まないバンドや、透明属性を持つオブジェクトを含んだ場合でも、透明矩形領域がベース矩形領域に重ならないバンドは、印刷データに含まれるオブジェクトから画像データ生成手段によって生成した画像データを画像データ記憶手段によりページメモリに保存する。
このように、透明オブジェクトのレイヤと他のオブジェクトのレイヤを重ねる場合であっても、実際にはオブジェクト同士は重ならない場合が存在するため、バンド単位で、オブジェクトを矩形領域で示し、その重なりを判断してより具体的に透明処理が必要であるかどうかを判断する。
こうすることで、実際には透明オブジェクトが他のオブジェクトに重ならない場合に透明処理を行わないことで、印刷の高速化を図ることが可能である。
(4)バンド情報記憶手段によって重なりフラグを管理することで、(3)の効果を奏し、かつ透明処理と、透明矩形領域とベース矩形領域が重なるか否かを判断する処理が同時期におき、それぞれの処理時間が遅くなったりリソースの使用が重なったりすることを防ぐことができる。
(5)透明処理バッファの確保、及びその開放のタイミングを、透明処理の開始、終了のタイミングに合わせ、透明処理に必要なバッファが確保される時間を最小限にすることで、他の処理でのメモリ不足のおそれを少なくできる。
(6)重なり判断手段によって、実際に透明処理が必要な透明属性を持つオブジェクトを含むバンドに対して、透明処理バッファ確保手段によって、透明矩形領域とベース矩形領域とを含む重複領域の大きさを基に確保された透明処理バッファを用いて、重複矩形領域分の透明処理済みデータを生成し、画像データ生成手段によって、透明処理バッファに記憶された透明処理済みデータを用いて画像データを生成しページメモリに展開する。
このように、重複矩形領域分の透明処理を行うため高速に処理可能である。
また、透明処理バッファを必要最小限で確保するので、省メモリな処理が可能となる。
(7)バンド情報記憶手段によって、重なりフラグと重複矩形領域の大きさを示す矩形領域情報とを管理することで、(6)の効果を奏し、かつ透明処理と、透明矩形領域とベース矩形領域が重なるか否かを判断する処理が同時期に置き、それぞれの処理時間が遅くなったりリソースの使用が重なったりすることを防ぐことができる。
(8)透明処理バッファ確保手段による透明処理バッファの確保、及びその開放のタイミングを、透明処理の開始、終了のタイミングに合わせ、透明処理に必要な透明処理バッファが確保される時間を最小限にすることで、他の処理でのメモリ不足のおそれを少なくできる。
(9)透明処理バッファ又は透明処理バッファを、オブジェクトの色を示す数値の範囲外の数値で初期化し、透明処理済みデータを透明処理バッファに書き込んだ場合、範囲外の数値で示されている箇所はオブジェクトが存在しないことが明確になる。
その後の画像データ生成手段において、範囲外の数値で示される位置についてはオブジェクトが存在しないとして処理することで、無駄な処理を減らすことが可能であり、処理の高速化を図ることができる。
また、仮に透明処理バッファを値「0」で初期化した場合、値「0」を持つ白色のオブジェクトと区別がつかず、このことによりうまく透明処理できない場合もあり、範囲外の数値で初期化することはこの問題を回避できる効果がある。
(10)ページメモリに、透明処理済みデータを基に画像データ生成手段によって画像データを生成する際に、オブジェクトの色を表す数値の範囲外の数値で表された部分はオブジェクトが存在しないものとし、ページメモリに展開する。したがって、範囲外の数値で示されている箇所はオブジェクトが存在しないことが明確になる。これによって(9)と同等の効果が得られ、透明処理済みデータが持つ値と、バッファが初期化されたままの値が確実に異なるものとなるので、必要ない座標に透明処理済みデータを基にした画像が配置されることが無くなる。
(11)画像データ有無判定バッファを備えることで、(9)及び(10)のように、オブジェクトの色を表す数値の範囲外の数値で表すことと、同じ効果が得られる。
この場合画像データ有無判定バッファを確保する必要があるが、CMKYのレイヤ全て共通で1つの画像データ有無判定バッファを確保すれば良いので、多くのメモリを占有することもない。
以下、本発明の実施例について図面を用いて説明する。
(第1実施例)
まず、第1実施例の構成について説明する。
最初に、プリンタ10の構成を説明する。
図1には、第1実施例のプリンタの立体斜視図を示している。
プリンタ10は、一般的なプリンタ複合機であり、カラー印刷機能の他にコピー機能やスキャナ機能、FAX機能を備えたものである。ただし、第1実施例は、これらの機能に係る発明ではないので、これらの機能の説明については省略する。
プリンタ10には、操作パネル11が上面に備えられ、操作パネル11にはパスワード入力手段にあたる入力部12a、操作部12b、及び表示手段にあたる液晶パネル表示部13が備えられている。
また、プリンタ10の前面には、USBポート14とスロット部15が備えられている。
図2には、第1実施例のプリンタの構成図を示す。
プリンタ10の構成は、図2に示すようにCPU21、ROM22、RAM23、EEPROM24はバス25に接続されており、バス25と接続されているASIC26は、印刷エンジン31、スキャナ部32、パネルGA33、LCDコントローラ34、スロット部15、パラレルI/F35、USBポート14、NCU36等に接続されている。
また、パネルGA33には、入力部12a及び操作部12b、LCDコントローラ34には液晶パネル表示部13、NCU36にはモデム37が接続され構成されている。
同種の一般的なプリンタと同様に、第1実施例のプリンタ10も、使用者が操作パネル11に備えられる入力部12a、操作部12b及び液晶パネル表示部13によって、印刷操作を行う。
また、プリンタ10は、プリンタ10の備えるデータ読み出し手段にあたるUSBポート14に、複数のデータを記憶するストレージデバイスにあたる、図示しないUSBメモリのようなストレージデバイスを差し、又はスロット部15に、図示しないメモリカードのようなストレージデバイスを差し、ストレージデバイス内に記録されているデータの印刷をダイレクトプリントが可能である。
ここで用いるストレージデバイスは、様々なものが考えられるがプリンタ10が起動している最中に、抜き差しが可能なメディアであれば何でも良い。ここでは、説明のためストレージデバイスとして、USBメモリを使用することとする。
そして、カラー印刷が行える印刷エンジン31は、例えばレーザー光を用いたプリンタエンジンを備えているものとする。ただし、その他の方式のプリンタエンジンであっても本発明には影響しないので、適宜選択できるものとする。
なお、ダイレクトプリントについて、USBポート14又はスロット部15にストレージデバイスが直接差し込まれる形態だけでなく、パラレルI/F35に接続されるLAN等のネットワークから送られてくるデータを、そのまま印刷する形態も含むものとする。すなわち、従来技術のようにコンピュータからそのまま印刷可能なビットマップデータが送られてくるわけではなく、PDLデータのまま送られてきて印刷する形態も、ダイレクトプリントのカテゴリーに含むものとする。
次に、第1実施例の作用について説明する。
まず、データをバンドに分割して処理する概念について説明する。
図3に、データ処理の流れについて概念的な模式図を示す。
PDLデータ60は、例えばストレージデバイスをUSBポート14や、スロット部15に接続して、データをプリンタ10側に渡したり、パラレルI/F35に接続されたLAN等のネットワークから送られてきたりすることで、プリンタ10側に渡されるカラーのデータであるとする。
このPDLデータ60には、話を単純化するために、第1オブジェクトAと、第2オブジェクトBが含まれているものとし、第1オブジェクトAの上に、第2オブジェクトBが重ねられるものとする。また、第2オブジェクトBは付随情報として透明属性を持っている透明オブジェクトであるものとする。
このPDLデータ60が、プリンタ10に渡される場合に、プリンタ10のRAM23内部に確保される中間データ記憶領域61に、第1オブジェクトA及び第2オブジェクトBとして記憶される。この段階では、中間データ記憶領域61に格納される第1オブジェクトA及び第2オブジェクトBのデータはビット深さの深いデータとなっている。具体的には、例えば256階調で表すものとして、8ビットのデータで管理されていることとする。
なお、この中間データ記憶領域61は必ず必要というものではないが、中間データを生成するにあたり有利となるので、本実施例ではこの領域を確保することとする。
その後、バンド情報記憶手段としてバンド情報を管理するバンド管理テーブル62を記憶する領域をRAM23に確保する。
このバンド管理テーブル62は、最終的に印刷するデータが展開されるページメモリ領域64を複数本のバンドに分割したバンド幅aのバンド単位に、第1オブジェクトA及び第2オブジェクトBの管理ポインタ、そのバンドに描画される描画箇所、描画位置などの情報を管理している。
そして、その後、バンドサイズに従って透明処理バッファ63aの領域をRAM23に確保し、バンド管理テーブル62にしたがって、バンド単位に中間データ記憶領域61に格納された第1オブジェクトA及び第2オブジェクトBのデータを処理する。
ここで、PDLデータ60は第1オブジェクトAと透明属性を持つ第2オブジェクトBからなるので、透明処理をする必要がある。そして、第1オブジェクトAと第2オブジェクトBが重なる部分では、第2オブジェクトBが透明オブジェクトであるために、色が重なることになる。したがって、CMYKの4つのレイヤに、第1オブジェクトAに第2オブジェクトBが重なった256階調データとして処理される。
処理された透明処理バッファ63aのデータは、ページメモリ領域64にビット深さの浅いデータに2値化して展開される。ページメモリ領域64に、中間データ記憶領域61に格納された第1オブジェクトA及び第2オブジェクトBのデータが展開終了すれば、ページメモリ領域64に画像データが印刷可能な状態で形成されるため、印刷エンジン31に渡して印刷を行う。
このような形で、バンド毎に透明処理を行うことで、透明処理バッファ63aのRAM23占有率は、前述で説明したようなページ単位で処理するよりも小さくて済む。
ここで、図3のような処理をした場合の効果について簡単に説明する。
このようなバンド単位の透明処理では、RAM23の占有率が低くなるために、省メモリでの運用に対しては有効である。
RAM23は高価であるため、その容量を減らすだけでプリンタ10の製造コストの削減が可能になる。前述したようにビット深さの浅いデータである2値データに比べて、ビット深さの深いデータである256階調データは、メモリ容量を多く必要とする。
そして、透明処理を行う場合には、ビット深さの深いデータを必要とし、例えば、256階調のデータで処理をする必要がある。
2値データであれば、1ピクセルにつき1ビットで済むが、256階調データでは、1ピクセルに付き8ビット必要となる。つまり8倍のデータ容量を必要とする。
したがって、透明処理バッファ63が小さくなれば、その処理に必要とするメモリも少なくて済むことになる。
次に、第1実施例のバンド情報を記憶するバンド管理テーブル62の内容について説明する。
図4に、バンド管理テーブルとページメモリの関係についての模式図を示す。
この場合は、ページメモリ領域64を5分割している。この分割数に対応してバンド管理テーブル62にも5つの管理領域が形成されて、各バンドで処理すべきオブジェクトの情報が格納される。
なお、ページメモリ領域64の分割数については、プリンタ10の設計等によって左右されるものであるので、特に5分割に限定する必要はない。
バンド管理テーブル62についてであるが、まず、処理すべきオブジェクトの数と透明オブジェクト有無情報、そして、オブジェクトの管理ポインタ、そのバンドに描画される描画箇所、描画位置などの情報を管理している。
バンド管理テーブル62が5つの管理領域を持っているので、第1行62a、第2行62b、第3行62c、第4行62d、及び第5行62eから構成されているものとする。
一方、これに対応するページメモリ領域64についても、第1バンド64a、第2バンド64b、第3バンド64c、第4バンド64d、及び第5バンド64eに分割して考える。
そうすると、バンド管理テーブル62の第1行62aのオブジェクト数は、対応するページメモリ領域64の第1バンド64aに描画されるのが第2オブジェクトBのみであるので「1」と記録される。また、描画されるべきオブジェクトは「B」であるので、第1バンド64aに描画される第2オブジェクトBの情報が記録される。また、第2オブジェクトBは透明属性を持っているので、透明オブジェクト有無情報は「ON」と登録される。
同じく、第2行62bのオブジェクト数は、「1」と記録される。描画されるべきオブジェクトは「B」で、透明オブジェクト有無情報は「ON」と記録される。
次に、バンド管理テーブル62の第3行62cのオブジェクト数は、ページメモリ領域64の第3バンド64cに描画されるのが第1オブジェクトA、及び第2オブジェクトBの2つのオブジェクトであるので「2」と記録される。また、描画されるべきオブジェクトは「A」と「B」であり、第2オブジェクトは透明属性を持っているので透明オブジェクト有無情報は「ON」と記録される。
そして、バンド管理テーブル62の第4行62dのオブジェクト数は、ページメモリ領域64の第4バンド64dに描画されるのが、第1オブジェクトAのみであるので「1」となる。
描かれるべきオブジェクトは「A」であり、第1オブジェクトAは、透明属性を持っていないので、透明オブジェクト有無情報は「OFF」と記録される。
最後に、バンド管理テーブル62の第5行62eのオブジェクト数は、ページメモリ領域64の第5バンド64eに何も含まれないので「0」、描かれるべきオブジェクトは無く、透明オブジェクト有無情報も「OFF」のままである。
このような対応関係になるので、透明処理する対象になるバンドは、バンド管理テーブル62のオブジェクト数が2以上で、透明オブジェクト有無情報が「ON」であるバンドであることが分かる。
つまり、本当に透明処理が必要なバンドは、第3バンド64cのみと言うことになる。
したがって、第1バンド64aは、バンド管理テーブル62の第1行62aで管理される情報を用いて、中間データ記憶領域61から直接2値データに展開されれば良く、第2バンド64b及び第4バンド64dも同様である。また、第5バンド64eについては描画オブジェクトが存在しないため展開しなくてよい。
第3バンド64cのみ透明処理バッファ63aで処理してやれば、必要なページメモリ領域64のデータは得られることになる。
図3の処理の流れでは、バンド管理テーブル62の、第1行62a、第2行62b、第3行62c、第4行62dについて、同じように透明処理バッファ63aを介して処理を行っているが、前記のようにバンド管理テーブル62の条件によって、その対応を変えれば高速に処理することが可能となる。
このような点を踏まえ、図4の内容を図3の流れと対応させて示したのが図5である。
図5には、第1実施例のデータ処理の流れについて具体的に示した模式図を示す。
そして、図6には、第1実施例のプリンタ内部での処理を示した全体のフローチャートを示す。
PDLデータを受信し処理が開始されると、まずS1でページ毎のバンド管理テーブル62をRAM23内に確保し初期化を行う。そしてS2で、PDLコマンドが終了したかどうかを確認する。
S2で、PDLコマンドが終了すれば(S2:Yes)、このルーチンを終了する。
終了していなければ(S2:No)、S3で、印刷コマンドを確認し、印刷コマンドが指示されていなければ(S3:No)、S4で中間データ作成に入る。印刷コマンドが指示されていれば(S3:Yes)、S10に移行する。
S4では、予めRAM23に確保された中間データ格納領域に中間データを作成する。前述したように図5に示す通り、PDLデータ60に含まれるデータは第1オブジェクトA及び第2オブジェクトBであるので、これら第1オブジェクトA及び第2オブジェクトBについて、256階調の情報を持った各種中間データに成形する。ただし、処理はオブジェクト単位で行うので、最初は第1オブジェクトAの中間データを作成し、S5に移行する。
S5では、バンドカウンタNを初期化する。ここではバンドカウンタNに1を代入し、1番目のバンドを処理できるようにする。そして、S6に移行する。
S6では、中間データの作成元となるオブジェクトがN番目のバンドに配置されるかについてチェックを行う。最初は第1オブジェクトAであるので、バンドカウンタNが1であれば、第1バンド64aに配置されず(S6:No)、S8に移行する。一方、例えばバンドカウンタNが3であれば、第1オブジェクトAが第3バンド64cに配置されるので(S6:Yes)、S7に移行する。
S7では、「オブジェクトの登録」のサブルーチンを実行する。このサブルーチンについては後で詳しく説明する。実行終了後S8に移行する。
S8では、バンドカウンタNをカウントアップする。そしてS9に移行する。
S9では、全バンドを調査完了したか、バンドカウンタNの値と比較してチェックを行う。全バンド調査が終了していなければ(S9:No)、S6に移行して、再びオブジェクトがN番目と重なるかについてチェックを行う。全バンド調査が終了していれば(S9:Yes)、S2に移行し、次のオブジェクトに対して処理を行うことになる。
このようにループして、PDLデータ60に含まれる全てのオブジェクトである、第1オブジェクトA及び第2オブジェクトBについて、オブジェクトの登録が終われば、印刷コマンドが指示されるので(S3:Yes)、S10に移行する。
S10では、「ページメモリへの展開」のサブルーチンを実行する。このサブルーチンについては後で詳しく説明する。実行が終了すればS11に移行する。
S11では、ページメモリ領域64に展開された画像データが印刷エンジン31に渡されて、印刷が行われる。そしてS12に移行する。
S12では、中間データ、バンド管理テーブル、及びページメモリの開放を行う。すなわち、RAM23上に占有していた領域を開放し、情報をクリアするのである。そしてS1に移行する。
このように印刷が行われ、全印刷処理が終了するとPDLコマンドが終了し(S2:Yes)、このルーチンを終了する。
このように図6に示されるフローチャートにしたがって、図5に模式的に示された処理が進められる。
次に、サブルーチンについて説明する。
前述の、図6のS7で実行される「オブジェクトの登録」のサブルーチンは、図7に示されている。
図7は、「オブジェクトの登録」のサブルーチンを示すフローチャートを表している。
この「オブジェクトの登録」のサブルーチンでは、オブジェクトをバンド単位で調査して、バンド管理テーブル62の対応するバンドを管理する領域に、オブジェクトについての情報を記録していく作業を行う。
S15では、バンド管理テーブル62にオブジェクトを登録する。この様子は図4に示されており、例えば、図6のS5で設定されたバンドカウンタNが3で、第1オブジェクトAについて「オブジェクトの登録」のサブルーチンが実行されている場合、第3行62cの領域に第1オブジェクトAの中間データへのポインタ、中間データ内の描画箇所、ページメモリへの描画位置が登録される。そして、S16に移行する。
S16では、バンド管理テーブル62に登録されたオブジェクト数を増加させる。初期値は0で、S16を通過するためオブジェクト数を1増やす。図6のS6で、オブジェクトが重なるかのチェックが行われるので、N番目のバンドにオブジェクトが重ならない場合はこのサブルーチンは通過しない。したがって、通過する場合は必ずオブジェクトが配置されることになる。そして、S17に移行する。
S17では、透明フラグがONになっているかどうか確認する。すなわち、バンド管理テーブル62のN番目のバンド、例えば、バンドカウンタNが3であれば、第3行62cの透明オブジェクト有無情報を示す透明フラグが「ON」になっているかどうかを確認する。最初に通過する場合は、必ず「OFF」に初期化されているので(S17:No)、S18に移行する。透明フラグが「ON」であれば(S17:Yes)、サブルーチンを終了する。
S18では、オブジェクトが透明オブジェクトかどうかを調査する。例えば、第1オブジェクトAは、透明属性を持たないので(S18:No)、サブルーチンは終了する。一方、第2オブジェクトBは、透明属性を持っているので(S18:Yes)、S19に移行する。
S19では、透明フラグを「ON」にする。
このように、オブジェクトの登録を行う。
次に、図6のS10で実行される「ページメモリへの展開」のサブルーチンについて説明する。
図8には、「ページメモリへの展開」のサブルーチンを表すフローチャートを示す。
この「ページメモリへの展開」のサブルーチンでは、バンド管理テーブル62に登録された情報に基づいて、中間データ記憶領域61に記憶される、PDLデータ60の中間データを、透明処理が必要な場合は、透明処理バッファ63aを通して透明処理を行い、透明処理が必要でなければ、直接2値化してページメモリ領域64への展開を行う。
S20では、ページメモリ領域64用の領域をRAM23に確保し、初期化を行う。そして、S21に移行する。
S21では、バンドカウンタMの初期化を行う。ここではバンドカウンタMに1を代入している。そして、S24に移行する。
S24では、バンド管理テーブル62に登録されたM番目のバンドのオブジェクト数をチェックする。バンドカウンタMが1であれば、第1行62aのオブジェクト数をチェックすることになる。ここでは、オブジェクト数が0の場合(S24:0)、S26に移行する。オブジェクト数が1の場合(S24:1)、S25に移行する。オブジェクト数が2以上の場合は(S24:2以上)、S28に移行する。
S25では、バンドカウンタMのバンド管理テーブルに登録されている全てのオブジェクトを直接ページメモリ領域64に展開する。ここで、例えば、バンドカウンタMが1であれば、バンド管理テーブル62の第1行62aを調べ、第2オブジェクトBが登録されているので、第2オブジェクトBが第1バンド64aに配置される領域を、ページメモリ領域64の第1バンド64aの部分に展開する。この時、第2オブジェクトBは透明属性を持つが、第1行62aに登録されているオブジェクト数が1であるため、合成処理が不要となり、透明処理バッファ63aを使うことなく、直接ページメモリ領域64に展開することとなる。
また、例えば、バンドカウンタMが4であれば、バンド管理テーブル62の第4行62dを調べ、第1オブジェクトAが登録されているので、第1オブジェクトAが第4バンド64dに配置される領域を、ページメモリ領域64の第4バンド64dの部分に展開する。そして、S26に移行する。
S26では、バンドカウンタMのカウントアップを行う。そしてS27に移行する。
S27では、全バンド処理が終了したかをチェックする。具体的にはバンドカウンタMと全バンド数を比較し、バンドカウンタMが全バンド数を越えていなければ(S27:No)、S24に戻り、越えていれば(S27:Yes)、処理を終了する。
前述したS24で、バンド管理テーブル62を調査して、M番目のバンドのオブジェクト数が2以上であった場合、S28に移行する。PDLデータ60で考えれば、バンドカウンタMが3であれば、図4に示されるように、バンド管理テーブル62の第3行62cに登録されたオブジェクト数が「2」であるので、これに該当する。
S28では、バンド管理テーブル62を調査して、透明フラグが「ON」になっているかを確認する。透明フラグが「ON」になっていなければ(S28:No)、S25に移行する。一方、透明化フラグが「ON」になっていれば(S28:Yes)、S29に移行する。バンドカウンタMが3であれば、図4に示されるように、S24を通過しS28に移行する場合は、バンド管理テーブル62の第3行62cを調査した場合に限られ、第3行62cは「ON」になっているので、S29に移行することになる。
S29では、透明処理バッファ63aの領域をRAM23に確保し、初期化を行う。そしてS30に移行する。
S30では、M番目のバンド管理テーブルで管理されるオブジェクトを透明処理する。バンドカウンタMが3であれば、第2オブジェクトBが透明属性を持っているので、下に描かれる第1オブジェクトAの上に、第2オブジェクトBが重なる部分、すなわち第3バンド64cの部分で、第1オブジェクトAと第2オブジェクトBの色が混じった部分が描かれる必要があるので、ここで透明処理を行った後、S31に移行する。
S31では、透明処理バッファ63aに透明処理されたデータを、ページメモリ領域64に展開する。第1実施例では、第3バンド64cに展開されることになる。そして、S32に移行する。
S32では、RAM23の1部の領域を占有している透明処理バッファ63aを開放する。
次に、第1実施例の効果について説明を行う。
第1実施例のプリンタ10は、上述のように構成され、ページメモリ領域64を複数のバンド単位に分割し、そのバンド単位で透明処理するため、透明処理バッファ63aがRAM23を占有する領域は少なくて済む。
また、バンド管理テーブル62で、オブジェクト数と透明フラグによって透明処理が必要な部分が管理され、オブジェクト数が2以上で、透明フラグが「ON」になっている場合に、透明処理を行い、それ以外の場合には、直接ページメモリ領域64に2値化して展開する。
このため、第1実施例のPDLデータ60であれば、ページメモリ領域64の第3バンド64c以外は、中間データ記憶領域61から中間データが直接2値化して展開され、第3バンド64cのみ、透明処理をおこなうことになり、余分な透明処理を必要としないので、処理速度が向上する。
一般的に、プリンタ10に積まれるCPU21は、コストの関係で処理能力はパーソナルコンピュータに搭載されるものよりも低いことが実情である。また、RAM23についても、コスト的な面もあって大容量のものを搭載することは難しい。
つまり、CPU21及びRAM23の制限によって、PDLデータ60の透明処理を行うような印刷には時間がかかることになる。
このため、省メモリかつ高速に処理可能な第1実施例の発明によれば、PDLデータ60の印刷時間が短縮されることが期待される。
今後、プリンタ10に搭載されるCPU21及びRAM23については、高速化、大容量化が進むと予想されるが、処理に時間がかからず、メモリへの負担が少ない第1実施例の発明によって、PDLデータ60のような透明属性を持つPDLデータを、高速に処理可能であれば、同じ時間で多くのファイルの印刷が可能となり、メリットが高い。
以上に説明した、第1実施例の印刷装置によれば、以下のような優れた作用、効果が得られる。
(1)外部から入力される第1オブジェクトA及び第2オブジェクトBと、オブジェクトのうち少なくとも1つに対応する付随情報を含むPDLデータ60を受取る、モデム37、パラレルI/F35、USBポート14、及びスロット部15と、第1オブジェクトA及び第2オブジェクトBに対応する付随情報を用いて、第1オブジェクトA及び第2オブジェクトBが透明属性を持つ透明オブジェクトかを判断する、透明属性判断手段(S18で処理)と、第1オブジェクトA及び第2オブジェクトBを用いて透明処理を行い、透明処理済みデータを生成する、透明処理手段(S30で処理)と、透明処理済みデータを記憶する、透明処理バッファ63と、透明処理済みデータ又は第1オブジェクトA及び第2オブジェクトBを基に画像データを生成する画像データ生成手段、及び、作成した画像データをページメモリ領域64に記憶する画像データ記憶手段(S25及びS31で処理)と、ページメモリ領域64上に記憶された画像データを用いて印刷媒体に画像を印刷する印刷エンジン31と、を備える印刷装置において、ページメモリ領域64を例えば第1バンド64a乃至第5バンド64eに分割して捉え、付随情報を用いて、第1オブジェクトA及び第2オブジェクトBがどのバンドに配置されるかを判断する配置バンド判断手段(S5からS9で処理)を備え、配置バンド判断手段に、透明オブジェクトである第2オブジェクトBが配置されると判断されたバンドであることを第1条件として、透明処理手段は、前記第1条件を満足するバンドに配置されるオブジェクトを用いて、透明処理を行い、透明処理済みデータを生成し、透明処理バッファ63aは、透明処理済みデータを記憶し、画像データ生成手段は、透明処理バッファ63aに記憶された、透明処理済みデータを用いて前記画像データを生成(S28乃至S32で処理)する一方、配置バンド判断手段に、透明オブジェクトである第2オブジェクトBが配置されないと判断されたバンドであることを第2条件として、画像データ生成手段は、前記第2条件を満足するPDLデータ60に含まれる第1オブジェクトA及び第2オブジェクトBを用いて画像データを、生成する(S25で処理)ことを特徴とするので、バンド毎に透明処理が必要なバンドと、そうでないバンドにわけることで、透明処理が必要でないバンドを早く処理することができるため、透明オブジェクトを含むPDLデータ60のような印刷データを高速に処理可能である。
すなわち、透明属性を持つオブジェクトが配置されないバンドについては、透明処理を行わないために、1ページ分の領域全てに対して透明処理を行う方式に対して、印刷開始から印刷終了までの時間が短くできる可能性がある。
また、透明処理に必要なメモリは、バンド単位で済むために、例えば1ページを20個のバンドに分割した場合は、約20分の1の領域のメモリで、透明処理バッファをまかなえるため、省メモリな処理が可能となる。
(2)(1)に記載の印刷装置において、バンド毎に、配置バンド判断手段により判断された、バンドに配置されるオブジェクトの数を示すオブジェクト数と、透明属性判断手段により判断された、バンドに配置される透明オブジェクトの有無を示す透明オブジェクト有無情報を記憶するバンド管理テーブル62を備え、透明処理手段は、バンド管理テーブル62の情報に基づき、オブジェクト数が2以上であり(S24で処理)、かつ透明属性情報により、透明オブジェクトが少なくとも1つある(S28で処理)バンドについて透明処理を行うことを特徴とするので、バンド管理テーブル62でオブジェクト数と透明オブジェクト有無情報を管理することで、(1)の効果を奏し、かつ透明処理とオブジェクトが配置されるべきバンドが何れであるか判断する処理や、オブジェクトが透明属性を持つか否かを判断する処理が同時期に起こり、それぞれの処理時間が遅くなったりリソースの使用が重なったりすることを防ぐことができる。
(3)(1)又は(2)に記載の印刷装置において、透明処理手段による透明処理に先立って透明処理バッファを確保(S29で処理)し、透明処理手段による透明処理の終了を条件として透明処理バッファを開放(S32で処理)する透明処理バッファ確保手段を備えたことを特徴とするので、透明処理バッファ63の確保、及びその開放のタイミングを、透明処理の開始、終了のタイミングに合わせ、透明処理に必要な透明処理バッファ63が確保される時間を最小限にすることで、他の処理でのメモリ不足のおそれを少なくできる。
(第2実施例)
次に、第2実施例について説明する。
第2実施例においても、図1及び図2に示す第1実施例のプリンタ10の構成と同じであるので、説明を省略する。
第1実施例では、透明処理バッファ63をバンド単位で処理するための透明処理バッファ63aとすることで、省メモリ化を実現し、バンド単位で透明処理の必要性を判断して、透明処理が不要なバンドは透明処理を行わないことで、印刷処理の高速化を図った。
しかし、第1実施例ではバンド領域に透明属性を持つ第2オブジェクトBが存在するか判断しているが、第1オブジェクトAと透明属性を持つ第2オブジェクトBが実際に重なっているかどうかを判断してはいないため、実際には重ならない場合であっても透明処理を実施してしまうことがあり、この点を解消するのが第2実施例となる。
図9には、第2実施例のオブジェクト登録に関する概念図を示す。
第2実施例のバンド管理テーブル62は、図9に示したように重複矩形領域と、重なりフラグの2つを持ち、第1実施例で登録したオブジェクト数や透明オブジェクト有無情報は使用しない。但し、オブジェクトを描画するために必要な、オブジェクトの管理ポインタ、そのバンドに描画される描画箇所、描画位置などの情報は引き続き持つものとする。
図9に示すようにページメモリ領域64の領域の左下を(0,0)、左上を(50,0)、右下を(0,50)として定義し、バンドの高さaを10すると、第1オブジェクトAは、第3行62cの(10,20)−(40,28)領域と、第4行62dの(10,12)−(40,20)領域に描画されるので、これらの領域がそれぞれベース矩形領域となり、そして重複矩形領域として登録される。すなわち、第3行62c、第4行62dで管理されるバンドには、第1オブジェクトAが1つ目に登録されるオブジェクトであり、第1オブジェクトAは透明属性を持たないため、ベース矩形領域がそのまま重複矩形領域となるのである。
また、透明属性を有する第2オブジェクトBは、第1行62aの(20,40)−(25,45)領域と、第2行62bの(15,30)−(35,40)領域と、第3行62cの(20,21)−(25,30)領域に描画される。この場合、第2オブジェクトBは菱形であるが、処理を単純化するためにバンド単位で区切られた第2オブジェクトBを包含する最小の矩形領域を、そのバンドでのオブジェクトの描画領域とし、透明属性を持つためにこの矩形領域は透明矩形領域となる。
続いて、これら透明矩形領域と、バンド管理テーブル62にすでに登録されている重複領域が重なるかを調査する。第3行62cで管理される領域において、第1オブジェクトAと第2オブジェクトBが重なるので、この第3行62cの重なりフラグのみ「ON」となり、他の部分は重ならないので「OFF」のままである。
この重複矩形領域は、オブジェクトを登録する都度更新され、そのバンドに登録されている全てのオブジェクトを包含する最小の矩形領域となる。
また、この重なりフラグは、登録されるオブジェクトが透明属性を持つ透明オブジェクトである場合に、バンド単位で区切られたこの透明オブジェクトを包含する最小の矩形領域が、すでに登録されている重複矩形領域と重なる場合に「ON」となり、重ならない場合や、透明属性を持たないオブジェクトの場合にはフラグを更新しない。
このような処理を実現するために、第1実施例とは、「オブジェクトの登録」と「ページメモリへの展開」のサブルーチンが異なる。
全体フローに関しては、図6に表される第1実施例のものと同様であるが、そのサブルーチンとなる「オブジェクトの登録」と「ページメモリへの展開」が異なる。
そこで、基本フローの説明は省略し、サブルーチンの説明を以下に行う。
なお、基本フローは図6と同じではあるが、前述したようにバンド管理テーブル62の要素が異なるので、初期化の内容は異なる。
まず、図6のS7で実行する「オブジェクトの登録」のサブルーチンについて説明する。
図10には、第2実施例の「オブジェクトの登録」のサブルーチンを表すフローチャートを示す。
この「オブジェクトの登録」のサブルーチンでは、オブジェクトをバンド単位で調査して、バンド管理テーブル62の対応するバンドを記録する領域に、オブジェクトについての情報を記録していく作業を行う。第1実施例と第2実施例とでは、バンド管理テーブル62に登録される情報が異なるため、ここでのルーチンも異なったフローとなる。
S35では、バンド管理テーブル62にオブジェクトを登録する。この様子は図9に示されており、例えば、図6のS5、およびS8で設定されたバンドカウンタNが3で、第1オブジェクトAについて「オブジェクトの登録」のサブルーチンが実行されている場合、第3行62cの領域に第1オブジェクトAの描かれるべき部分が登録される。そして、S36に移行する。
S36では、N番目のバンドのバンド管理テーブル62の重なりフラグが「ON」であるかどうかをチェックする。第1オブジェクトAについて調査されている場合は、バンド管理テーブル62に記録されている情報は、初期状態のままであるので「OFF」になっており(S36:No)、S37に移行する。一方、該当するバンド管理テーブル62の重なりフラグが「ON」である場合には(S36:Yes)、S40に移行する。
S37では、処理中のオブジェクトが透明属性を持つ透明オブジェクトかどうかを調査する。処理中のオブジェクトが、第1オブジェクトAであった場合は、透明属性を持たないので(S37:No)、S40に移行する。一方、第2オブジェクトBであった場合は、透明属性を持っているので(S37:Yes)、S38に移行する。
S39では、透明オブジェクトのバンド単位で区切られた領域を包含する最小の矩形領域が、バンド管理テーブル62に登録されている重複矩形領域と重なるかどうかを調査する。例えば、第2オブジェクトBを調査している段階で、バンドカウンタNが3であれば、第3行62cに事前に登録された第1オブジェクトAの重複矩形領域と照合され、重なっていると判定される(S38:Yes)。そして、S39に移行する。一方、他のバンド管理テーブル62では重なっていないと判定され(S38:No)、S40に移行する。
S39では、バンド管理テーブル62の対応するバンド管理テーブルの重なりフラグを「ON」に変更する。
S40では、重複矩形領域を更新する。重複矩形領域については前述した通りであり、対応するバンドに描画されるオブジェクトの矩形領域を座標で指定することになる。そして、サブルーチンを終了する。
このようにして、「オブジェクトの登録」のサブルーチンは、PDLデータ60に含まれる全てのオブジェクトを対象に実行される。
次に、図6のS10で実行される「ページメモリへの展開」のサブルーチンについて説明する。
図11には、「ページメモリへの展開」のサブルーチンを表すフローチャートを示す。
この「ページメモリへの展開」のサブルーチンでは、バンド管理テーブル62に登録される情報に基づいて、中間データ記憶領域61に記憶される、PDLデータ60の中間データを、透明処理が必要な場合は、透明処理バッファ63aを通して透明処理を行い、透明処理が必要でなければ、直接2値化してページメモリへの展開を行う。
第2実施例では、第1実施例とバンド管理テーブル62に保存される情報が異なるため、そのサブルーチンのフローも異なる。
S50では、ページメモリ領域64用の領域をRAM23に確保し、初期化する。そして、S52に移行する。
S52では、バンドカウンタMの初期化を行う。ここではバンドカウンタMに1を代入している。そして、S54に移行する。
S54では、バンド管理テーブル62に登録されたM番目のバンドの重なりフラグをチェックする。バンドカウンタMが1であれば、第1行62aの重なりフラグをチェックすることになる。このとき、重なりフラグがONになっていれば(S54:Yes)、S58に移行する。一方、重なりフラグがOFFのままであれば(S54:No)、S55に移行する。
S55では、バンドカウンタMのバンド管理テーブルに登録されている全てのオブジェクトをページメモリ領域64に展開する。ここで、例えばバンドカウンタMが1であれば、バンド管理テーブル62の第1行62aを調べ、第2オブジェクトBが登録されているので、第2オブジェクトBが第1バンド64aに配置される領域をページメモリ領域64の第1バンド64aの部分に展開する。
また、例えば、バンドカウンタMが4であれば、バンド管理テーブル62の第4行62dを調べ、第1オブジェクトAが登録されているので、第1オブジェクトAが第4バンド64dに配置される領域を、ページメモリ領域64の第4バンド64dの部分に展開する。そして、S56に移行する。
S56では、バンドカウンタMのカウントアップを行う。そして、S57に移行する。
S57では、全バンド処理が終了したかどうかをチェックする。具体的にはバンドカウンタMと全バンド数を比較し、バンドカウンタMが全バンド数を越えていなければ(S57:No)、S54に戻り、越えていれば(S57:Yes)、処理を終了する。
前述したS54から分岐してきた場合に(S54:Yes)、S58では、透明処理バッファ63aの領域をRAM23に確保し、初期化を行う。そして、S59に移行する。
S59では、M番目のバンド管理テーブルで管理されるオブジェクトを透明処理する。第2実施例では、バンド管理テーブル62の第3行62cが、重なりフラグが「ON」となっているため、そのバンドに対して透明処理を行う。そして、S60に移行する。
S60では、透明処理バッファ63aに透明処理されたデータを、ページメモリ領域64に展開する。第2実施例では、第3バンド64cが展開されることになる。そして、S61に移行する。
S61では、RAM23の1部の領域を占有している透明処理バッファ63aを開放する。
上記第2実施例における透明処理バッファ63aのサイズは、各バンドの大きさを基にしたサイズであるが、重複矩形領域を基にしたサイズにしてもよい。
例えば、S58において透明処理バッファ63aを確保する場合、バンドカウンタMが3であった場合、第3行62cで管理するバンドの大きさを基にしたサイズで透明処理バッファ63aを確保するのではなく、重複矩形領域を基にしたサイズで透明処理バッファ63aを確保するのである。すなわち、(0,20)−(50,30)の領域を透明処理するだけの領域を確保するのではなく、重複矩形領域の(10,20)−(40,30)の領域を透明処理するだけの領域を確保するのである。
S59では、重複矩形領域に対して透明処理を行い、重複矩形領域を基にしたサイズを持つ透明処理バッファ63aに記録することになる。
S60では、透明処理バッファ63aに透明処理されたデータを、重複矩形領域に対応するページメモリ領域64に展開することになる。
次に、第2実施例の効果について説明を行う。
第2実施例のプリンタ10は、上記のように構成され、ページメモリ領域64の複数のバンド単位に分割して、そのバンド単位で透明処理をするため、透明処理バッファ63aがRAM23を占有する領域は少なくて済む。
第2実施例が、第1実施例と異なる点は、バンド管理テーブル62を新たに定義し直し、重複矩形領域と重なりフラグを管理する点にある。
第1実施例及び第2実施例のPDLデータ60に含まれる第1オブジェクトA及び第2オブジェクトBは、実際に重なっているので、バンドサイズを基にした透明処理バッファ63aを使用する場合は、第1実施例と第2実施例でその効果に差は出ないが、仮に第1オブジェクトAと第2オブジェクトBの座標がずれており、重ならないような場合には、効果に差が生まれる。
すなわち、第1実施例では、透明オブジェクト有無情報は、第2オブジェクトBが透明属性を持っていることで「ON」となる。しかし、実質は第1オブジェクトAと第2オブジェクトBは重なる保証はない。したがって、第1オブジェクトAと第2オブジェクトBが重ならない場合でも透明処理を行うことになる。しかし、実際に重ならないにもかかわらず、透明処理を行ったのでは、透明処理を行うステップだけ無駄となってしまう。
そこで、第2実施例では、実際のオブジェクトの描画位置を、重複矩形領域として管理することでこの問題を解決する。
すなわち、図10のS33で、矩形領域で区切ったオブジェクト同士をバンド単位で比較し、重なる場合を検出することで、第1オブジェクトAと第2オブジェクトBが重なることを検出するのである。この場合、透明処理が必要なバンドは必ず重なりフラグが「ON」となっていることになる。
このように矩形領域を調査し、バンド管理テーブル62に重なりフラグを設けることで、無駄に透明処理をするような事態を防ぐことができ、結果としてPDLデータ60の印刷時間を短縮することができる可能性がある。
特に、オブジェクト数が増えてきた場合には、透明処理に時間がかかるため、有効な手段であると考える。
さらに、第2実施例において、透明処理バッファ63aのサイズを、バンドの大きさを基にしたサイズではなく、重複矩形領域を基にしたサイズにすることで、より省メモリで、高速に処理が可能となる。
これは、第3行63cのバンド管理領域で管理されるオブジェクトを透明処理する場合で考えれば、はっきする。
バンドの大きさを基にしたサイズで処理する場合は、(0,20)−(50,30)の大きさを処理できるだけの領域をRAM23に確保する必要がある。一方、重複矩形領域を基にしたサイズで処理する場合は、(10,20)−(40,30)の大きさを処理できるだけの領域をRAM23に確保すれば良く、前者よりも確保する領域が小さくなっていることが理解できる。
このように、RAM23の占有領域を小さくできるため、省メモリでプログラムを実行でき、透明処理を行う範囲が小さくなる分、透明処理の演算量やページメモリへの展開データ量が小さくなるため、処理の高速化を図ることも可能である。
以上に説明した、第2実施例の印刷装置によれば、以下のような優れた作用、効果が得られる。
(1)外部から入力される第1オブジェクトA及び第2オブジェクトBと、オブジェクトのうち少なくとも1つに対応する付随情報を含むPDLデータ60を受取る、モデム37、パラレルI/F35、USBポート14、及びスロット部15と、オブジェクトに対応する付随情報を用いて、第1オブジェクトA及び第2オブジェクトBが透明属性を持つ透明オブジェクトかを判断する、透明属性判断手段(S37で処理)と、オブジェクトを用いて透明処理を行い、透明処理済みデータを生成する、透明処理手段(S57で処理)と、透明処理済みデータを記憶する透明処理バッファ63と、透明処理済みデータ又は第1オブジェクトA及び第2オブジェクトBを基に画像データを生成する画像データ生成手段、及び、作成した画像データをページメモリ領域64に記憶する画像データ記憶手段(S55及びS60で処理)と、ページメモリ領域64上に記憶された画像データを用いて印刷媒体に画像を印刷する印刷エンジン31と、を備える印刷装置において、ページメモリ領域64を例えば第1バンド64a乃至第5バンド64eに分割して捉え、付随情報を用いて、第1オブジェクトA及び第2オブジェクトBがどのバンドに配置されるかを判断する配置バンド判断手段(S5からS9で処理)と、配置バンド判断手段に基づき、透明オブジェクトの含まれた領域であり、画像の1辺と平行なX辺とX辺に垂直なY辺とからなる矩形のうち、最小の面積を持つ矩形である透明矩形領域と、他のオブジェクトが含まれた領域であり、画像の1辺と平行なX辺とX辺に垂直なY辺とからなる矩形のうち、最小の面積を持つ矩形であるベース矩形領域が重なるか否かを判断する重なり判断手段(S38で処理)を備え、重なり判断手段に、透明オブジェクトである第2オブジェクトBと、第1オブジェクトAが重なって配置されると判断されたバンドであることを第3条件として、透明処理手段は、前記第3条件を満足するバンドに配置される第1オブジェクトA及び第2オブジェクトBを用いて透明処理を行い、透明処理済みデータを生成し、透明処理バッファ63aは、透明処理済みデータを記憶し、画像データ生成手段は、透明処理バッファ63aに記憶された、透明処理済みデータを用いて前記画像データを生成(S58乃至S61で処理)する一方、重なり判断手段に、透明オブジェクトである第2オブジェクトBと、第1オブジェクトAが重ならないと判断されたバンドであることを第4条件として、画像データ生成手段は、前記第4条件を満足するPDLデータ60に含まれる第1オブジェクトA及び第2オブジェクトBを用いて画像データを生成する(S55で処理)ことを特徴とするので、バンド単位で、オブジェクトを矩形領域で示し、その重なりを判断してより具体的に透明処理が必要であるかどうかを判断する。
こうすることで、実際には透明オブジェクトが他のオブジェクトに重ならない場合に透明処理を行わないことで、印刷の高速化を図ることが可能である。
(2)(1)に記載の印刷装置において、バンド毎に、重なり判断手段によって判断された、透明オブジェクトが他のオブジェクトと重なるか否かを示す重なりフラグを記憶するバンド管理テーブル62であり、透明処理手段は、バンド管理テーブル62の情報に基づき、重なりフラグが「ON」であるバンドについて、透明処理を行うことを特徴とするので、バンド管理テーブル62で重なりフラグを管理することで(1)の効果を奏し、かつ透明処理と、透明オブジェクトが他のオブジェクトと重なるか否かを判断する処理が同時期におき、それぞれの処理時間が遅くなったりリソースの使用が重なったりすることを防ぐことができる。
(3)(1)に記載の印刷装置において、重なり判断手段によって、透明オブジェクトである第2オブジェクトBと第1オブジェクトAが重なると判断されたバンドに対して、そのバンドにおける第2オブジェクトBと第1オブジェクトAを含む重複矩形領域の大きさを基に、透明処理バッファ63aを確保し(S58で処理)、その重複矩形領域分の透明処理を行い、透明処理済みデータを生成し、透明処理バッファ63aは透明処理済みデータを記憶し、画像データ生成手段は、透明処理バッファ63aに記憶された、透明処理済みデータを用いて前記画像データを生成する(S59で処理)ことを特徴とするので、透明処理バッファ63aは(1)に記載の透明処理バッファ63aよりも小さくなる場合が多く、省メモリで高速な処理が可能となる。
(4)(3)に記載の印刷装置において、バンド毎に、重なり判断手段によって判断された、透明オブジェクトが他のオブジェクトと重なるか否かを示す重なりフラグと、重複矩形領域を記憶するバンド管理テーブル62であり、透明処理手段は、バンド管理テーブル62の情報に基づき、重なりフラグが「ON」であるバンドについて、重複矩形領域に基づいて透明処理バッファ確保手段が確保した透明処理バッファ63aを用いて、重複矩形領域分について透明処理を行うことを特徴とするので、(3)の効果を奏し、かつ透明処理と、透明オブジェクトが他のオブジェクトと重なるか否かを判断する処理が同時期におき、それぞれの処理時間が遅くなったりリソースの使用が重なったりすることを防ぐことができる。
(5)(1)乃至(4)のいずれかに記載の印刷装置において、透明処理手段による透明処理に先立って透明処理バッファ63aを確保(S58で処理)し、前記透明処理手段による透明処理の終了を条件として透明処理バッファ63aを開放する透明処理バッファ確保手段(S61で処理)を備えたことを特徴とするので、透明処理バッファの確保、及びその開放のタイミングを、透明処理の開始、終了のタイミングに合わせ、透明処理に必要なバッファが確保される時間を最小限にすることで、他の処理でのメモリ不足のおそれを少なくできる。
(第3実施例)
次に、第3実施例について説明する。
第3実施例においても、図1及び図2に示す第1実施例のプリンタ10の構成と同じであるので、説明を省略する。
また、フローチャートについても、基本フロー及び「オブジェクトの登録」のサブルーチンに関しては、第2実施例と同じであるので、説明を省略する。
第2実施例と異なるのは、「ページメモリへの展開」のサブルーチンであり、以下にその異なる部分について説明を行う。
図12には、第3実施例の「ページメモリへの展開」のサブルーチンを表すフローチャートを示す。
このフローチャートは、第2実施例の図11とほぼ同じ流れであるが、S58乃至S60の部分が図11の対応する部分と異なる。よってこの部分だけ説明を行う。
S84は、S58に対応し、バンド管理テーブル62のM番目のバンド管理領域に記憶される重複矩形領域を基に、その大きさに合わせた透明処理バッファ63aを確保する。
例えば、バンドカウンタMの値が3で、ページメモリ領域64の第3バンド64cの透明処理を行う場合、対応するバンド管理テーブル62の第3行62cには、第1オブジェクトA及び透明オブジェクトである第2オブジェクトBの描画情報が記憶されており、第1オブジェクトAの矩形領域は(10,20)−(40,28)であり、第2オブジェクトBの矩形領域は(20,21)−(25,30)であるため、重複矩形領域は(10,20)−(40,30)となる。したがって、この重複矩形領域に合わせて透明処理バッファ63aを確保することになる。
そして、透明処理バッファ63aを初期化する。ここで、透明処理バッファ63aを初期化する値を「−1」とする点が、S58と異なる。
この数字は、特に「−1」に限定されるものではないが、例えば、透明処理バッファ63aのデータを8ビットで表す場合であれば、0から255の値以外を設定する。そして、S85に移行する。
S85は、S59に対応し、透明処理バッファ63aでM番目のバンドの透明処理を行う。
ここで、S85がS59と異なる点は、「−1」が与えられている領域は、オブジェクトが存在しないとして処理をする点にある。
例えば、バンドカウンタMの値が3の場合、まず、第1オブジェクトAが、透明処理バッファ63aの対応する箇所に描画され「−1」の値が変更される。続いて透明オブジェクトである第2オブジェクトBを透明処理するが、第2オブジェクトBの透明処理バッファ63aの対応する箇所が「−1」以外の値を持つ場合は、重ね合わせるオブジェクトが存在するとして透明処理を行う。「−1」の値を持つ場合は、重ね合わせるオブジェクトが存在しないとして透明処理を行う。
ただし、本例では、第2オブジェクトBの透明処理バッファ63aの対応する箇所は全て「−1」以外の値が記録されている。
そして、第2オブジェクトBが、透明処理バッファ63aの対応する箇所に描画される。
S86は、S60に対応し、透明処理の終わったM番目のバンドに関する透明処理バッファ63aのデータを、ページメモリ領域64のM番目のバンドに展開する。なお、S85の透明処理において、オブジェクトを描画していない箇所の透明処理バッファ63aの値は「−1」のままである。従って、値が「−1」の箇所はオブジェクトが存在しないとしてページメモリ領域64へ展開する必要はない。そしてS87に移行する。
次に、第3実施例の効果について説明を行う。
第3実施例のプリンタ10は、上記のように構成され、ページメモリ領域64の複数のバンド単位に分割して、そのバンド単位で透明処理をするため、第2実施例同様に、透明処理バッファ63である透明処理バッファ63aがRAM23を占有する領域は少なくて済む。
第3実施例が、第2実施例と異なる点は、透明処理バッファ63aのデータ領域に「−1」の値を定義する点である。この値は、前述した通り「−1」に限定されるものではなく、色のレンジ外に設定してあればよい。すなわち、8ビットのデータで256階調の色を持つ場合は、0〜255以外の数字を使用するということである。
もっとも、透明処理バッファ63aを8ビットで管理している場合、1階調分をこのレンジ外の値に使用するため、255階調しか使えないことになる。逆に色の値を256階調とする場合は、透明処理バッファ63aを9ビット以上で管理することになる。
通常、透明処理を行う場合の、透明処理バッファ63の初期値は「0」である。これは、CMYKベースでは、「0」が白色を表すからであり、オブジェクトがない位置の透明処理バッファ63は「0」のままとなるが、そのままページメモリへ、オブジェクトのデータを展開しても変わらず白色のままなので問題は発生しない。
しかし、透明処理に用いる演算方法によっては、白色のオブジェクトに透明オブジェクトを重ねた時に、白色のオブジェクトの影響を受ける場合がある。例えば、下絵となるオブジェクトの色を反転させた色を用いて透明処理するような場合がこれにあたる。
このような場合、透明処理バッファ63の初期値が「0」だと、初期値を表す「0」なのか、白色オブジェクトの色を表す「0」なのかが判断できず、正しく透明処理できないことになる。
よって、色のレンジ外の値に初期化しておけばこのような不都合が無くなり、正確に透明処理できるというメリットがある。
また、ページメモリ領域64へ展開する場合には、例えば「−1」に設定した初期値のままの部分は、ページメモリ領域64へ展開する必要が無いので、この部分をページメモリ領域64に展開しないことで、処理を高速化できるメリットもある。
以上に説明した、第3実施例の印刷装置によれば、以下のような優れた作用、効果が得られる。
(1)外部から入力される第1オブジェクトA及び第2オブジェクトBとオブジェクトのうち少なくとも1つに対応する付随情報を含むPDLデータ60を受取る、モデム37、パラレルI/F35、USBポート14、及びスロット部15と、オブジェクトに対応する付随情報を用いて、第1オブジェクトA及び第2オブジェクトBが透明属性を持つ透明オブジェクトかを判断する、透明属性判断手段(S37で処理)と、オブジェクトを用いて透明処理を行い、透明処理済みデータを生成する、透明処理手段(S85で処理)と、透明処理済みデータを記憶する透明処理バッファ63と、透明処理済みデータ又は第1オブジェクトA及び第2オブジェクトBを基に画像データを生成する画像データ生成手段、及び作成した画像データをページメモリ領域64に記憶する画像データ記憶手段(S83及びS86で処理)と、ページメモリ領域64上に記憶された画像データを用いて印刷媒体に画像を印刷する印刷エンジン31と、を備える印刷装置において、ページメモリ領域64を例えば第1バンド64a乃至第5バンド64eに分割して捉え、付随情報を用いて、第1オブジェクトA及び第2オブジェクトBがどのバンドに配置されるかを判断する配置バンド判断手段(S5からS9で処理)と、配置バンド判断手段に基づき、バンド単位で、透明オブジェクトである第2オブジェクトBと、第1オブジェクトAが重なるか否かを、判断する重なり判断手段(S38で処理)と、重なり判断手段によって、重なると判断されたバンドに対して重複矩形領域の大きさを基に矩形領域単位透明処理バッファ(S58で処理)を確保する透明処理バッファ確保手段(S84で処理)と、を備え、重なり判断手段に、透明オブジェクトである第2オブジェクトBと、第1オブジェクトAが重なって配置されると判断されたバンドについて、透明処理手段は、そのバンドに配置される第1オブジェクトA及び第2オブジェクトBを用いて透明処理を行い、重複矩形領域分の透明処理済みデータを生成し、透明処理バッファ63aは、透明処理済みデータを記憶し、画像データ生成手段は、透明処理バッファ63aに記憶された透明処理済みデータを用いて前記画像データを生成(S84乃至S87で処理)する一方、重なり判断手段に、透明オブジェクトである第2オブジェクトBと、第1オブジェクトAが重ならないと判断されたバンドについて、画像データ生成手段は、PDLデータ60に含まれる第1オブジェクトA及び第2オブジェクトBを用いて画像データを生成する(S83で処理)ことを特徴とするので、バンド単位で、オブジェクトを矩形領域で示し、その重なりを判断してより具体的に透明処理が必要であるかどうかを判断する。
こうすることで、実際には透明オブジェクトが他のオブジェクトに重ならない場合に透明処理を行わないことで、印刷の高速化を図ることが可能である。
また、透明バッファ確保手段によって、透明処理バッファ63aを必要最小限で確保するので、省メモリな処理が可能となる。
(2)(1)に記載の印刷装置において、オブジェクトの色を示す数値の範囲外の数値を、透明処理バッファ63aの全体に配置することで、透明処理バッファ63aを初期化する(S84で処理)、透明処理バッファ初期化手段を備えることを特徴とするので、範囲外の数値で示されている箇所はオブジェクトが存在しないことが明確になる。
その後の画像データ生成手段において、範囲外の数値で示される位置についてはオブジェクトが存在しないとして取り扱うことで、無駄な処理を減らすことが可能であり、処理の高速化を図ることができる。
画像データ生成手段において、白色を表す箇所は「0」であるため、「0」の値を持つ箇所が、白色のオブジェクトが存在する箇所なのか、何もオブジェクトが存在しない箇所なのか区別できないため、透明処理を行う場合は、このことによりうまく透明処理できない場合もあるが、範囲外の数値で初期化することにより、オブジェクトの有無を判断でき、適切に透明処理が可能となる。
また、そのオブジェクトの存在しない箇所に対して不必要な処理を減らす効果がある。
(第4実施例)
次に、第4実施例について説明する。
第4実施例においても、図1及び図2に示す第1実施例のプリンタ10の構成と同じであるので、説明を省略する。
また、フローチャートについても、基本フロー及び「オブジェクトの登録」のサブルーチンに関しては、第3実施例と同じであるので、説明を省略する。
第3実施例と異なるのは、「ページメモリへの展開」のサブルーチンの一部分であり、以下にその異なる部分について説明を行う。
図13には、第4実施例の「ページメモリへの展開」のサブルーチンを表すフローチャートを示す。
このフローチャートは、第2実施例の図11とほぼ同じ流れであるが、図14のS94乃至S98の部分が図11の対応する部分と異なる。よってこの部分だけ説明を行う。
S94は、S84に対応し、バンド管理テーブル62のM番目のバンドの情報が格納されている部分に記憶される重複矩形領域を基に、その大きさに合わせた透明処理バッファ63aを確保する。そして、透明処理バッファ63aを初期化する。
ここで、S94がS84と異なる点は、透明処理バッファ63aを初期化する値を「0」とする点である。つまり、第1実施例乃至第2実施例と同様に初期化を行う。そして、S95に移行する。
S95は、S84に対応し、バンド管理テーブル62のM番目のバンドの情報が格納されている部分に記憶される重複矩形領域を基に、その大きさに応じた画像データ有無判定バッファ63b(図示しない)を確保する。ここでは、透明処理バッファ63aを「−1」で初期化する必要はない点が、S84とは異なる。そして画像データ有無判定バッファ63bを初期化する。
この画像データ有無判定バッファ63bには、ページメモリ領域64のアドレスに対して、第1オブジェクトA及び第2オブジェクトBに記憶される付記情報を基にした画像データを記憶しているか否かを示すデータ有無情報が格納される。具体的には、画像データ有無判定バッファ63bを「0」の値で初期化し、第1オブジェクトA及び第2オブジェクトBの存在する部分に、「1」を与えれば、第1オブジェクトA及び第2オブジェクトBが存在していない部分は、「0」となり、画像データ有無判定バッファ63bによって、対応するページメモリ領域64のアドレスに描画される画像データが存在するか否かを判断できることになる。
したがって、画像データ有無判定バッファ63bという、透明処理バッファ63aとは別のデータを持つこととなるが、透明処理バッファ63aが8ビットデータで、CMYKの4つのレイヤ分だけデータを持つ必要があるのに対し、画像データ有無判定バッファ63bは、透明処理バッファ63aに画像データが存在するか否かを表すデータ有無情報を表す2値データで済み、CMYK共通で使用できるため、RAM23を占有する領域は少なくて済む。
この処理を終了した後、S96に移行する。
S96は、S85に対応し、透明処理バッファ63aでM番目のバンドの透明処理を行う。また、同時に画像データ有無判定バッファ63bの更新も行う。
ここで、S96がS85と異なる点は、画像データ有無判定バッファ63bにおける、透明処理バッファ63aに新たに描画したオブジェクトに対応するデータ有無情報を例えば「1」に更新する点にある。
例えば、バンドカウンタMの値が3の場合、まず、第1オブジェクトAが、透明処理バッファ63aの対応する箇所に描画され、続いて、対応するデータ有無情報の値が「1」に変更される。続いて透明オブジェクトである第2オブジェクトBを透明処理するが、第2オブジェクトBの透明処理バッファ63aの対応する箇所についてのデータ有無情報が「1」の値を持つ場合は、重ね合わせるオブジェクトが存在するとして透明処理を行う。「0」の値を持つ場合は、重ね合わせるオブジェクトが存在しないとして透明処理を行う。ただし、本例では、第2オブジェクトBの透明処理バッファ63aの対応する箇所についてのデータ有無情報には「1」の値が記録されている。
そして、第2オブジェクトBが、透明処理バッファ63aの対応する箇所に描画され、対応する画像データ有無判定バッファ63bにおけるデータ有無情報が「1」に更新される。
S97は、S86に対応し、透明処理の終わったM番目のバンドのデータを、ページメモリ領域64のM番目のバンドに展開する。なお、この際に、オブジェクト有無判定バッファ63cの情報を参考にして、オブジェクトが存在しないと定義されている部分は、ページメモリ領域64に展開しない。そして、S98に移行する。
S98は、S87に対応し、透明処理バッファaの開放に加えて、画像データ有無判定バッファ63bを開放する。
次に、第4実施例の効果について説明を行う。
第4実施例のプリンタ10は、上記のように構成され、ページメモリ領域64の複数のバンド単位に分割して、そのバンド単位で透明処理をするため、第2実施例同様に、透明処理バッファ63である透明処理バッファ63aがRAM23を占有する領域は少なくて済む。
第4実施例の、第2実施例に対する優位点は第3実施例と同様であるが、第4実施例が、第3実施例と異なる点は、透明処理バッファ63aに「−1」の初期値を設定する代わりに、画像データ有無判定バッファ63bを設ける点にある。
この画像データ有無判定バッファ63bは、画像データの有無を定義しておくためのものであり、働きとしては、第3実施例の透明処理バッファ63aを「−1」で初期化する場合と同じである。
また、第4実施例では、オブジェクトの有無を表すデータを、画像データ有無判定バッファ63bに格納する別データとしてCMYK共通で持つ点が第3実施例と異なるが、オブジェクトの色を示す数値の範囲を同じにした場合は、第3実施例では「−1」を格納する分の領域がCMYKの全レイヤに対して増えることになるため、第3実施例よりも、RAM23を占有する領域は少なくて済む。
さらに、透明処理において、第4実施例では、画像データ有無判定バッファ63bを参照しながら処理する点が第3実施例と異なるが、第3実施例ではCMYK各レイヤ単位で透明処理バッファ63aのオブジェクトの有無を表す「−1」を参照しながら処理するが、第4実施例ではCMYK共通の画像データ有無判定バッファ63bを参照するため、参照箇所が少なく処理を高速化できるメリットもある。
以上に説明した、第4実施例の印刷装置によれば、以下のような優れた作用、効果が得られる。
(1)外部から入力される第1オブジェクトA及び第2オブジェクトBとオブジェクトのうち少なくとも1つに対応する付随情報を含むPDLデータ60を受取る、モデム37、パラレルI/F35、USBポート14、及びスロット部15と、オブジェクトに対応する付随情報を用いて、第1オブジェクトA及び第2オブジェクトBが透明属性を持つ透明オブジェクトかを判断する、透明属性判断手段(S37で処理)と、オブジェクトを用いて透明処理を行い、透明処理済みデータを生成する、透明処理手段(S96で処理)と、透明処理済みデータを記憶する透明処理バッファ63と、透明処理済みデータ又は第1オブジェクトA及び第2オブジェクトBを基に画像データを生成する画像データ生成手段、及び作成した画像データをページメモリ領域64に記憶する画像データ記憶手段(S93及びS97で処理)と、ページメモリ領域64上に記憶された画像データを用いて印刷媒体に画像を印刷する印刷エンジン31と、を備える印刷装置において、ページメモリ領域64を例えば第1バンド64a乃至第5バンド64eに分割して捉え、付随情報を用いて、第1オブジェクトAの及び第2オブジェクトBがどのバンドに配置されるかを判断する配置バンド判断手段(S5からS9で処理)と、配置バンド判断手段に基づき、バンド単位で、透明オブジェクトである第2オブジェクトBと、第1オブジェクトAが重なるか否かを、判断する重なり判断手段(S38で処理)と、重なり判断手段によって、重なると判断されたバンドに対して重複矩形領域の大きさを基に矩形領域単位透明処理バッファ(S58で処理)を確保する透明処理バッファ確保手段(S69で処理)と、を備え、重なり判断手段に、透明オブジェクトである第2オブジェクトBと、第1オブジェクトAが重なって配置されると判断されたバンドについて、透明処理手段は、そのバンドに配置される第1オブジェクトA及び第2オブジェクトBを用いて透明処理を行い、重複矩形領域分の透明処理済みデータを生成し、透明処理バッファ63aは、透明処理済みデータを記憶し、画像データ生成手段は、透明処理バッファ63aに記憶された透明処理済みデータを用いて画像データを生成(S94乃至S98で処理)する一方、重なり判断手段に、透明オブジェクトである第2オブジェクトBと、第1オブジェクトAが重ならないと判断されたバンドについて、画像データ生成手段は、PDLデータ60に含まれる第1オブジェクトA及び第2オブジェクトBを用いて画像データを生成する(S93で処理)ことを特徴とするので、バンド単位で、オブジェクトを矩形領域で示し、その重なりを判断してより具体的に透明処理が必要であるかどうかを判断する。
こうすることで、実際には透明オブジェクトが他のオブジェクトに重ならない場合に透明処理を行わないことで、印刷の高速化を図ることが可能である。
また、透明バッファ確保手段によって、透明処理バッファ63aを必要最小限で確保するので、省メモリな処理が可能となる。
(2)(1)に記載の印刷装置において、画像データの有無を示すデータを格納する、画像データ有無判定バッファ63bを備え(S94で処理)、透明処理バッファ63aにオブジェクトを展開する際に、オブジェクトの存在する部分について、画像データ有無判定バッファ63bに画像データの存在を示すフラグを立てることで(S96で処理)、画像データ有無判定バッファ63bに格納されたフラグが立っていない箇所は、オブジェクトが存在しないとして処理する(S97)ことを特徴とするので、第3実施例のように、オブジェクトの色を表す数値の範囲外の数値で表すことと、同じ効果が得られる。
この場合画像データ有無判定バッファ63bを確保する必要があるが、CMKYのレイヤ全て共通で1つの画像データ有無判定バッファ63bを確保すれば良いので、多くのメモリを占有することもない。
なお、本発明は前記実施形態に限定されるものではなく、その趣旨を逸脱しない範囲で様々な変更が可能である。
また、記載したフローチャートはあくまで一例であるので、カウンタのタイミングや運用方法を変えることはもとより、サブルーチンの内容など設計事項の範囲内で変更することを妨げない。
例えば、第1実施例及び第2実施例で示す「ページメモリへの展開」のフローチャートにおいて、バンド単位で透明処理を行う毎に、透明処理バッファの確保(S29及びS58)と、透明処理バッファの開放(S32及びS61)を行っている。しかし、バンド単位の透明処理において必要とする透明処理バッファの大きさが同じ場合は、毎回、透明処理バッファを確保、開放する必要がない。
例えば、図4において、バンド管理テーブル62で管理されるページメモリ領域64a乃至64eの各ページメモリ領域の大きさが全て同じである場合は、ページメモリへの展開時に使用する透明処理バッファ63aのサイズは、毎回同じ大きさとなるため、最初の透明処理を行うときに確保し、最後のバンドの透明処理を終了したときに解放すれば良い。
また、最後のバンドに対するページメモリへの展開時に透明処理が行われない可能性もあるため、バンド管理テーブル62の情報より最後に透明処理されるバンドを調査し、透明処理バッファを開放するタイミングを変更しても良い。透明処理を必要とするか否かは、第1実施例では、バンド管理テーブル62の透明フラグから判断し、第2実施例では、バンド管理テーブル62の重なりフラブから判断することができる。
さらに、図4において、バンド管理テーブル62で管理されるページメモリ領域64の大きさを均等に分割するが、完全に均等に分割できないときは、最後のページメモリ領域64eだけが異なる大きさになる場合がある。その場合は、最初の透明処理を行うときに透明処理バッファ63aを確保し、最後のバンドに対するページメモリへの展開時に、透明処理バッファ63aの大きさを変更しても良い。
また、第1実施例乃至第4実施例の説明において、中間データ記憶領域61をRAM23上に確保して処理を行っているが、本発明を実施するにあたって必要な構成要件ではないので、中間データ記憶領域61を設けずに、透明処理バッファ63又はページメモリ領域64にPDLデータ60から直接オブジェクトデータを加工して展開しても構わない。
ただし、第1実施例乃至第4実施例では、中間データ記憶領域61を設けた方が処理上で処理速度が速くなるなどのメリットも考えられるため、中間データ記憶領域61を用いた構成で説明をしている。
したがって、中間データ記憶領域61を用いない構成で発明を実施することを妨げない。
また、第1実施例乃至第4実施例の説明において、バンド管理テーブル62を使用しているが、必ずしもテーブルという形態でデータを管理する必要はない。それぞれの処理に必要なデータをプリンタ10が利用できる状態に保持していれば足りる。
したがって、バンド管理テーブル62に管理するデータを他の手段によって記憶することを妨げない。
また、第1実施例乃至第4実施例の説明において、中間データ記憶領域61、及び透明処理バッファ63はビット深さの深いデータで処理を行うとし、ページメモリ領域64はビット深さの浅いデータで処理を行うとしているが、必ずしもこのような構成でなくても良い。ページメモリ領域64においてもビット深さの深いデータで表現する場合もあり、又、中間データ記憶領域61及び透明処理バッファ63でビット深さの浅いデータとして処理するようなプリンタも存在するからである。
このような場合であっても、ページメモリ領域64をバンド単位に分割して、バンド毎に透明処理が必要かどうかを判断し、透明処理が必要なバンドに対して透明処理を行えば、省メモリ化又は高速化のうち少なくとも1つの実現は可能となる。したがって、中間データ記憶領域61、及び透明処理バッファ63はビット深さの深いデータで、ページメモリ領域64はビット深さの浅いデータで処理を行わない場合であっても、本発明の本質を逸脱するものではない。
第1実施例の、プリンタの立体斜視図を示している。 第1実施例の、プリンタの構成図を示している。 第1実施例の、データ処理の流れについて概念的な模式図を示している。 第1実施例の、バンド管理テーブルとページメモリの関係について模式的に示している。 第1実施例の、データ処理の流れについて具体的に示した模式図を示している。 第1実施例の、プリンタ内部での処理を示した全体のフローチャートを示している。 第1実施例の、オブジェクトの登録のサブルーチンを表すフローチャートを示している。 第1実施例の、ページメモリへの展開のサブルーチンを表すフローチャートを示している。 第2実施例の、オブジェクト登録に関する概念図を示している。 第2実施例の、オブジェクトの登録のサブルーチンを表すフローチャートに示している。 第2実施例の、ページメモリへの展開のサブルーチンを表すフローチャートを示している。 第3実施例の、ページメモリへの展開のサブルーチンを表すフローチャートを示している。 第4実施例の、ページメモリへの展開のサブルーチンを表すフローチャートを示している。 出願人が示した、2つのオブジェクトからなるPDLデータを印刷する場合の概念図を示している。 出願人が示した、PDLデータを透明処理する場合に行われる作業の概念図を示している。
符号の説明
10 プリンタ
11 操作パネル
12a 入力パネル
12b 操作部
13 液晶パネル表示部
14 USBポート
15 スロット部
21 CPU
22 ROM
23 RAM
24 EEPROM
25 バス
26 ASIC
31 プリンタ部
34 LCDコントローラ

Claims (11)

  1. 外部から入力される複数のオブジェクトと、前記オブジェクトのうち少なくとも1つに対応する付随情報を含む印刷データを受取る印刷データ受取手段と、
    前記オブジェクトに対応する前記付随情報を用いて、前記オブジェクトが透明属性を持つ透明オブジェクトかを判断する透明属性判断手段と、
    前記オブジェクトを用いて透明処理を行い、透明処理済みデータを生成する透明処理手段と、
    前記透明処理済みデータを記憶する透明処理バッファと、
    前記透明処理済みデータ又は前記オブジェクトを基に画像データを生成する画像データ生成手段と、
    前記画像データをページメモリに記憶させる画像データ記憶制御手段と、
    前記ページメモリに記憶された前記画像データを用いて印刷媒体に画像を印刷する印刷エンジンと、
    を備える印刷装置において、
    前記ページメモリを所定の領域であるバンドの集合であると捉え、前記付随情報を用いて、前記オブジェクトがどのバンドに配置されるかを判断する配置バンド判断手段を備え、
    前記配置バンド判断手段に、前記透明オブジェクトが配置されると判断されたバンドであることを第1条件として、
    前記透明処理手段は、前記第1条件を満足するバンドに配置される前記オブジェクトを用いて前記透明処理を行い、前記透明処理済みデータを生成し、
    前記透明処理バッファは、前記透明処理済みデータを記憶し、
    前記画像データ生成手段は、前記透明処理バッファに記憶された前記透明処理済みデータを用いて前記画像データを生成する一方、
    前記配置バンド判断手段に、前記透明オブジェクトが配置されないと判断されたバンドであることを第2条件として、
    前記画像データ生成手段は、前記第2条件を満足するバンドに配置される前記オブジェクトを用いて前記画像データを生成する
    ことを特徴とする印刷装置。
  2. 請求項1に記載の印刷装置において、
    前記バンド毎に、前記配置バンド判断手段により判断された、前記バンドに配置される前記オブジェクトの数を示すオブジェクト数と、前記透明属性判断手段により判断された、前記バンドに配置される前記透明オブジェクトの有無を示す透明オブジェクト有無情報を記憶するバンド情報記憶手段を備え、
    前記透明処理手段は、前記バンド情報記憶手段により記憶された情報に基づき、前記オブジェクト数が2以上であり、かつ前記透明オブジェクト有無情報により、前記透明オブジェクトが少なくとも1つあるバンドについて透明処理を行うことを特徴とする印刷装置。
  3. 外部から入力される複数のオブジェクトと、前記オブジェクトのうち少なくとも1つに対応する付随情報を含む印刷データを受取る印刷データ受取手段と、
    前記オブジェクトに対応する前記付随情報を用いて、前記オブジェクトが透明属性を持つ透明オブジェクトかを判断する透明属性判断手段と、
    前記オブジェクトを用いて透明処理を行い、透明処理済みデータを生成する透明処理手段と、
    前記透明処理済みデータを記憶する透明処理バッファと、
    前記透明処理済みデータ又は前記オブジェクトを基に画像データを生成する画像データ生成手段と、
    前記画像データをページメモリに記憶させる画像データ記憶制御手段と、
    前記ページメモリに記憶された前記画像データを用いて印刷媒体に画像を印刷する印刷エンジンと、
    を備える印刷装置において、
    前記ページメモリを所定の領域であるバンドの集合であると捉え、前記付随情報を用いて、前記オブジェクトがどのバンドに配置されるかを判断する配置バンド判断手段と、
    前記配置バンド判断手段に基づき、前記透明オブジェクトの含まれた領域であり、前記画像の1辺と平行なX辺とX辺に垂直なY辺とからなる矩形のうち、最小の面積を持つ矩形である透明矩形領域と、他の前記オブジェクトが含まれた領域であり、前記画像の1辺と平行なX辺とX辺に垂直なY辺とからなる矩形のうち、最小の面積を持つ矩形であるベース矩形領域が重なるか否かを、前記付随情報を用いてバンド単位で判断する重なり判断手段と、
    を備え、
    前記重なり判断手段に、前記透明矩形領域と前記ベース矩形領域が重なって配置されると判断されたバンドであることを第3条件として、
    前記透明処理手段は、前記第3条件を満足するバンドに配置される前記オブジェクトを用いて前記透明処理を行い、前記透明処理済みデータを生成し、
    前記透明処理バッファは、前記透明処理済みデータを記憶し、
    前記画像データ生成手段は、前記透明処理バッファに記憶された前記透明処理済みデータを用いて前記画像データを生成する一方、
    前記重なり判断手段に、前記透明矩形領域と前記ベース矩形領域が重なって配置されないと判断されたバンドであることを第4条件として、
    前記画像データ生成手段は、前記第4条件を満足するバンドに配置される前記オブジェクトを用いて前記画像データを生成する
    ことを特徴とする印刷装置。
  4. 請求項3に記載の印刷装置において、
    前記バンド毎に、前記重なり判断手段によって判断された、前記透明矩形領域と前記ベース矩形領域が重なるか否かを示す重なりフラグを記憶するバンド情報記憶手段を備え、
    前記透明処理手段は、前記バンド情報記憶手段で記憶された情報に基づき、前記重なりフラグが、前記透明矩形領域と前記ベース矩形領域が重なることを示しているバンドについて、透明処理を行うことを特徴とする印刷装置。
  5. 請求項1乃至請求項4のいずれかに記載の印刷装置において、
    前記透明処理手段による透明処理に先立って前記透明処理バッファを確保し、
    前記透明処理手段による透明処理の終了を条件として前記透明処理バッファを開放することを特徴とする印刷装置。
  6. 請求項3に記載の印刷装置において、
    前記透明矩形領域と前記ベース矩形領域とを含む重複矩形領域の大きさを基に透明処理バッファを確保する透明処理バッファ確保手段を備え、
    前記重なり判断手段に、前記透明矩形領域と前記ベース矩形領域が重なって配置されると判断されたバンドであることを第5条件として、
    前記透明処理手段は、前記第5条件を満足するバンドに配置されるオブジェクトを用いて前記透明処理を行い、前記重複矩形領域分の透明処理済みデータを生成し、
    前記透明処理バッファは、前記透明処理済みデータを記憶し、
    前記画像データ生成手段は、前記透明処理バッファに記憶された前記透明処理済みデータを用いて前記画像データを生成することを特徴とする印刷装置。
  7. 請求項6に記載の印刷装置において、
    前記バンド毎に、前記重なり判断手段によって判断された、前記透明矩形領域と前記ベース矩形領域が重なるか否かを示す重なりフラグと、前記重複矩形領域の大きさを示す矩形領域情報とを記憶するバンド情報記憶手段を備え、
    前記透明処理手段は、前記バンド情報記憶手段で記憶された情報に基づき、前記重なりフラグが、前記透明矩形領域と前記ベース矩形領域が重なることを示しているバンドを、前記矩形領域情報に基づいて、前記重複矩形領域分について透明処理を行い、前記矩形領域情報に基づいて前記透明処理バッファ確保手段が確保した前記透明処理バッファに記憶することを特徴とする印刷装置。
  8. 請求項6に記載の印刷装置において、
    前記透明処理バッファ確保手段は、
    前記透明処理手段による透明処理に先立って前記透明処理バッファを確保し、
    前記透明処理手段による透明処理の終了を条件として前記透明処理バッファを開放することを特徴とする印刷装置。
  9. 請求項1乃至請求項8のいずれかに記載の印刷装置において、
    前記オブジェクトの色を示す数値の範囲外の数値を全体に配置することで、前記透明処理バッファを初期化する透明処理バッファ初期化手段を備えることを特徴とする印刷装置。
  10. 請求項9に記載の印刷装置において、
    前記画像データ生成手段が、前記透明処理バッファ初期化手段によって書き込まれた範囲外の数値で表された部分を、前記オブジェクトが存在しないとして処理することを特徴とする印刷装置。
  11. 請求項1乃至請求項8のいずれかに記載の印刷装置において、
    前記オブジェクトを基にした前記画像データを前記ページメモリのいずれの記憶領域に記憶しているか否かを示すデータ有無情報を、前記ページメモリのアドレスに対応して記憶する画像データ有無判定バッファと、
    前記画像データ記憶制御手段が前記画像データを前記ページメモリに記憶させる毎に、前記データ有無情報を前記画像データ有無判定バッファに記憶させるデータ有無情報記憶制御手段を備え、
    前記透明処理手段は、
    前記画像データを記憶していないことを前記データ有無情報により示されているアドレスについては、前記オブジェクトを用いて透明処理を行う一方、
    前記画像データを記憶していることを前記データ有無情報により示されているアドレスについては、前記オブジェクト及びそのアドレスに記憶されている画像データを用いて透明処理を行うことを特徴とする印刷装置。
JP2006175419A 2006-06-26 2006-06-26 印刷装置 Expired - Fee Related JP4306698B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006175419A JP4306698B2 (ja) 2006-06-26 2006-06-26 印刷装置
US11/768,451 US8289560B2 (en) 2006-06-26 2007-06-26 Transparency and overlay processing for print data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006175419A JP4306698B2 (ja) 2006-06-26 2006-06-26 印刷装置

Publications (2)

Publication Number Publication Date
JP2008001068A true JP2008001068A (ja) 2008-01-10
JP4306698B2 JP4306698B2 (ja) 2009-08-05

Family

ID=38873132

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006175419A Expired - Fee Related JP4306698B2 (ja) 2006-06-26 2006-06-26 印刷装置

Country Status (2)

Country Link
US (1) US8289560B2 (ja)
JP (1) JP4306698B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009232266A (ja) * 2008-03-24 2009-10-08 Seiko Epson Corp 画像処理装置及び画像処理プログラム
JP2010004220A (ja) * 2008-06-19 2010-01-07 Konica Minolta Business Technologies Inc 画像形成装置、プログラム及び画像形成処理方法
JP2010171682A (ja) * 2009-01-22 2010-08-05 Konica Minolta Business Technologies Inc 画像処理装置、プログラム及びデータ処理方法
JP2013111824A (ja) * 2011-11-28 2013-06-10 Kyocera Document Solutions Inc 画像形成装置
JP2016141042A (ja) * 2015-02-02 2016-08-08 コニカミノルタ株式会社 画像処理装置、画像形成装置、画像処理方法及びコンピュータープログラム
JP2016144033A (ja) * 2015-02-02 2016-08-08 コニカミノルタ株式会社 画像処理装置、画像形成装置、画像処理方法及びコンピュータープログラム
US9613301B2 (en) 2015-04-01 2017-04-04 Fuji Xerox Co., Ltd. Print data processing apparatus and non-transitory computer readable medium storing program for deforming image elements of a watermark from intermediate print data
US11132588B2 (en) 2019-11-15 2021-09-28 Brother Kogyo Kabushiki Kaisha Data generating apparatus, computer-readable medium, and method for suppressing adverse influences on image data generation due to insufficient memory capacity

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4441562B2 (ja) * 2007-10-31 2010-03-31 キヤノン株式会社 画像処理装置および画像処理方法
JP2009239399A (ja) * 2008-03-26 2009-10-15 Brother Ind Ltd 画像処理装置および画像処理プログラム
JP6205742B2 (ja) * 2013-02-13 2017-10-04 株式会社リコー 画像処理装置、画像処理方法、及び画像処理プログラム
JP5800849B2 (ja) * 2013-04-04 2015-10-28 キヤノン株式会社 情報処理装置、情報処理方法、プログラム
JP6171591B2 (ja) * 2013-06-06 2017-08-02 株式会社リコー 画像処理装置及び画像処理方法
JP6344064B2 (ja) * 2014-05-30 2018-06-20 ブラザー工業株式会社 画像処理装置およびコンピュータプログラム
CN112399196B (zh) * 2019-08-16 2022-09-02 阿里巴巴集团控股有限公司 图像处理方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10243210A (ja) * 1997-02-25 1998-09-11 Canon Inc 画像処理装置及びその方法
US6020897A (en) 1997-12-22 2000-02-01 Adobe Systems Incorporated Dehalftoning of digital images
US6313847B1 (en) 1997-12-22 2001-11-06 Adobe Systems Incorporated Blending graphics objects in a frame buffer
JP4095166B2 (ja) 1998-06-04 2008-06-04 キヤノン株式会社 画像処理装置およびその方法
JP2000022943A (ja) * 1998-06-30 2000-01-21 Minolta Co Ltd 画像領域判別装置および方法ならびに画像領域判別プログラムを記録した記録媒体
JP4476405B2 (ja) 2000-01-18 2010-06-09 株式会社市川ソフトラボラトリー 画像処理装置、画像処理方法、および画像処理に関するプログラムを記録した記録媒体
JP4525880B2 (ja) 2000-10-16 2010-08-18 富士ゼロックス株式会社 画像処理装置
TWI221262B (en) * 2002-07-25 2004-09-21 Via Tech Inc Device and method for alpha blending overlay frame
JP2007122621A (ja) 2005-10-31 2007-05-17 Canon Inc 情報処理装置、情報処理方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009232266A (ja) * 2008-03-24 2009-10-08 Seiko Epson Corp 画像処理装置及び画像処理プログラム
JP2010004220A (ja) * 2008-06-19 2010-01-07 Konica Minolta Business Technologies Inc 画像形成装置、プログラム及び画像形成処理方法
JP4561883B2 (ja) * 2008-06-19 2010-10-13 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置、プログラム及び画像形成処理方法
US8253962B2 (en) 2008-06-19 2012-08-28 Konica Minolta Business Technologies, Inc. Image forming apparatus, computer readable storage medium and image formation processing method
JP2010171682A (ja) * 2009-01-22 2010-08-05 Konica Minolta Business Technologies Inc 画像処理装置、プログラム及びデータ処理方法
JP2013111824A (ja) * 2011-11-28 2013-06-10 Kyocera Document Solutions Inc 画像形成装置
JP2016141042A (ja) * 2015-02-02 2016-08-08 コニカミノルタ株式会社 画像処理装置、画像形成装置、画像処理方法及びコンピュータープログラム
JP2016144033A (ja) * 2015-02-02 2016-08-08 コニカミノルタ株式会社 画像処理装置、画像形成装置、画像処理方法及びコンピュータープログラム
US9613301B2 (en) 2015-04-01 2017-04-04 Fuji Xerox Co., Ltd. Print data processing apparatus and non-transitory computer readable medium storing program for deforming image elements of a watermark from intermediate print data
US11132588B2 (en) 2019-11-15 2021-09-28 Brother Kogyo Kabushiki Kaisha Data generating apparatus, computer-readable medium, and method for suppressing adverse influences on image data generation due to insufficient memory capacity

Also Published As

Publication number Publication date
JP4306698B2 (ja) 2009-08-05
US8289560B2 (en) 2012-10-16
US20070296749A1 (en) 2007-12-27

Similar Documents

Publication Publication Date Title
JP4306698B2 (ja) 印刷装置
KR100725195B1 (ko) 정보 처리 장치, 정보 처리 방법 및 인쇄 제어 프로그램을 기록한 기록 매체
US8208169B2 (en) Method and system for rendering a transparent object in an image
US8339667B2 (en) Optimizing to-be printed objects during print job processing
JP4135195B2 (ja) 印刷処理システム及び印刷処理方法並びに印刷処理制御プログラムが記録されたコンピュータ読み取り可能な記録媒体
US8867066B2 (en) Print processing apparatus and control method
US8223391B2 (en) System and method for producing print instruction information to be transmitted to a printing device
JP2009159494A (ja) 画像処理方法および画像処理装置
JP2006244248A (ja) 画像処理装置及び画像処理方法ならびに画像処理方法を実行するプログラム
US11807026B2 (en) Card issuing system, computer-readable storage medium storing print program for card issuing system, and printing method of card issuing system
US8526064B2 (en) Computer readable storage medium storing a program, image processing apparatus and image processing method for creating a tint block image
US8035846B2 (en) Print attribute setting apparatus, print attribute setting method, and print attribute setting program
JP2006235933A (ja) 画像処理装置及び印刷ジョブ生成装置
JP2004106192A (ja) 描画処理装置、情報処理装置、画像形成装置、描画処理方法およびプログラム
JP5915091B2 (ja) 画像形成装置、画像形成システム、出力用画像データ処理方法、プログラム及び記録媒体
JP4998421B2 (ja) 画像形成装置、画像形成プログラム
JP2006019931A (ja) 画像処理装置及び画像処理方法、並びにコンピュータプログラム及び記憶媒体
JP3636891B2 (ja) カラー画像出力方法
JP3420457B2 (ja) 文書処理方法及び装置
US5579448A (en) Printing apparatus for printing of quarter em-size
JP2004062431A (ja) 情報処理装置及び方法及び印刷制御プログラム
JPH01258976A (ja) ページプリンタ
US20090316210A1 (en) Image forming apparatus, image forming method and computer readable medium
US20110096355A1 (en) Printing image metadata
JP3862460B2 (ja) 情報処理方法及び装置と記憶媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080520

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080722

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090414

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090427

R150 Certificate of patent or registration of utility model

Ref document number: 4306698

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130515

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130515

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140515

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees