(57)【特許請求の範囲】
【請求項１】
描画データを画像に展開する展開手段と、該展開手段で展開された画像を圧縮する圧縮手段と、圧縮手段で圧縮された圧縮画像を記憶する圧縮画像記憶手段と、該圧縮画像記憶手段に記憶された圧縮画像を伸張して出力する伸張手段と、特定の画像について圧縮画像を記憶するキャッシュ記憶手段を有し、前記展開手段は、前記描画データに従って展開される画像が前記特定の画像になるか否かを判断し、展開される画像が前記特定の画像であった場合にはさらに前記キャッシュ記憶手段に前記特定の画像についての圧縮画像が記憶されているか否かを判断し、前記特定の画像についての圧縮画像が記憶されている場合には、画像の展開を行わずに該圧縮画像に対する参照情報を前記圧縮画像記憶手段に記憶させ、前記特定の画像についての圧縮画像が記憶されていない場合には前記描画データを画像に展開して前記圧縮手段に渡し、前記圧縮画像記憶手段は、前記圧縮画像とともに前記展開手段からの前記キャッシュ記憶手段に記憶されている圧縮画像に対する参照情報を記憶し、前記伸張手段は、前記参照情報を前記圧縮画像記憶手段から読み出した場合には該参照情報に従って前記キャッシュ記憶手段に記憶されている圧縮画像を読み出して伸張して出力することを特徴とする画像処理装置。
【請求項２】
前記圧縮手段は、圧縮した画像が前記特定の画像であった場合に、該画像の圧縮画像を前記キャッシュ記憶手段に記憶させることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記特定の画像は、すべてが白画素で構成される画像であることを特徴とする請求項１または請求項２に記載の画像処理装置。
【請求項４】
前記展開手段は、前記描画データに従って１ページを複数の帯状領域に分割したバンドごとに画像に展開することを特徴とする請求項１ないし請求項３のいずれか１項に記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像を一旦圧縮して蓄積し、伸張して出力する画像処理装置に関するものである。
【０００２】
【従来の技術】
近年のデータ処理機能の向上に伴い、画像を取り扱う機会が増加しており、さらに取り扱う画像も、高解像度のカラー画像を扱うようになってきている。例えばプリンタなどの機器においても、カラー化、高画質化が急速に進んでおり、さらなる高速化が望まれている。しかし、カラー、高画質の画像はデータ量が非常に多く、画像処理装置では大量のデータを高速に処理しなければならない。例えば描画データから画像を描画する際には、描画される画像を記憶するメモリ領域をクリアしなければならないが、このクリアの処理を行うだけでも、画像のデータ量が多いと時間がかかる処理となってしまう。
【０００３】
また、大量のデータを処理する際に、一旦、メモリに記憶させてから出力することが行われるが、画像のカラー化、高画質化のためにデータ量が増加すると、画像を記憶しておくために、大量のメモリを必要とするという問題も発生する。もちろん、画像だけでなく、例えば画像に付加された様々なデータも記憶する必要があり、必要とされるメモリ量はさらに多くなる。
【０００４】
必要とするメモリ量を削減するため、例えば画像を圧縮してメモリに記憶し、必要に応じて伸張して出力することが行われるようになってきている。このように圧縮処理を行うことによって、蓄積する画像のデータ量が削減されるため、メモリ量を低減することが可能になる。しかし、圧縮処理のために時間がかかるため、全体の処理速度が低下してしまうという問題を有していた。
【０００５】
一方、例えば特開平１０−８６４５１号公報に記載されているように、描画成分を有しない画像については展開処理をスキップして、描画に要する時間を短縮し、高速化することが考えられている。しかし、実際に画像を出力する際には描画成分を有しない画像であっても、例えば白の画像を出力する必要がある。そのためには、出力の際に白の画像を生成することになり、メモリ量は減少しない。
【０００６】
出力の際に白の画像をメモリに展開しないものとして、例えば特開平１１−２０３０７０号公報に記載されているように、白データを生成するための機構を出力部分に設けておく構成が考えられる。この構成によれば、白の画像をメモリに展開せず、出力される画像としては白の画像を出力することが可能である。しかし、白データを発生させるための特別な機構を出力部分に設ける必要があり、コスト高となるといった問題がある。また、このような特別な機構では、白のデータを発生させるのであれば、強制的に出力させる画像は白画像に限定されてしまい、汎用性に欠けるといった問題もあった。
【０００７】
【発明が解決しようとする課題】
本発明は、上述した事情に鑑みてなされたもので、特別な装置を付加することなく、メモリ量を削減できるとともに、高速な処理が可能な汎用性のある画像処理装置を提供することを目的とするものである。
【０００８】
【課題を解決するための手段】
本発明は、描画データを画像に展開し、展開した画像を圧縮して記憶しておき、出力の際に圧縮した画像を伸張して出力することによって、記憶するメモリ量を削減する。本発明ではさらに、特定の画像、例えばすべてが白画素の画像や、すべてが黒画素の画像などについては、圧縮された画像をキャッシュ記憶手段に記憶しておく。これを用い、描画データを展開する際には展開される画像が特定の画像であった場合についてはキャッシュ記憶手段に圧縮された画像が記憶されているか否かを判断し、記憶されている場合には、展開処理及び圧縮処理を行わずに、その圧縮された画像に対する参照情報を記憶させ、、特定の画像についての圧縮画像が記憶されていない場合には描画データを画像に展開して圧縮手段に渡し、圧縮して記憶させる。そして、伸長手段が参照情報を読み出した場合にはキャッシュ記憶手段に記憶されている圧縮された画像を読み出して、出力の際に伸張する。例えば特定の画像については、キャッシュ記憶手段に圧縮された画像が記憶されている場合には、その圧縮画像を参照する参照情報を圧縮画像の代わりに記憶しておく。伸張手段は、参照情報が記憶されていた場合には、キャッシュ記憶手段から圧縮された画像を読み出し、他の画像と同様に伸張して出力すればよい。
【０００９】
このような構成によって、特定の画像については展開及び圧縮の処理が省略されるので、処理の高速化を図ることができる。また、上述のように特定の画像は白画像に限られず、サイズも任意であり、汎用性を確保できる。さらに、出力の際にはキャッシュ記憶手段に記憶されている圧縮された画像を伸張すればよいので、特別な構成は必要なく、コストが上昇することもない。
【００１０】
なお、キャッシュ記憶手段が記憶する圧縮された特定の画像は、例えば特定の画像を圧縮した際にキャッシュ記憶手段へも記憶させるようにしてもよいし、あるいは、特定の画像がある程度決まっている状況においては予め記憶させておくこともできる。
【００１１】
【発明の実施の形態】
図１は、本発明の画像処理装置の実施の一形態を示すブロック図である。図中、１はＰＤＬ解釈部、２は展開部、３は圧縮部、４は記憶部、５はスプール記憶領域、６はキャッシュ記憶領域、７は伸張部である。この例では、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ：ページ記述言語）によって記述されたデータが入力され、例えばビットマップデータに展開して出力する例を示している。なお、出力する画像は、１ページ分の画像を複数の帯状の領域（以下、バンドと呼ぶ）ごとに分割して出力するものとする。
【００１２】
ＰＤＬ解釈部１は、ＰＤＬで記述された１ページ分のデータから、バンドごとの中間フォーマットデータを生成し、展開部へ送る。
【００１３】
展開部２は、バンドごとの中間フォーマットデータを描画データとして受け取り、レンダリング処理を行ってそれぞれのバンドの画像に展開し、圧縮部３へ送る。展開の際には、展開するバンドに対応する中間フォーマットデータから、展開される画像が特定の画像か否かを判定し、特定の画像である場合には記憶部４内のキャッシュ記憶領域６に対応する圧縮された特定の画像が記憶されているか否かを判断する。キャッシュ記憶領域６に記憶されていれば、当該バンドの画像を展開せず、従って画像を圧縮部３へ送らず、キャッシュ記憶領域６に記憶されている当該特定の画像に対応する圧縮画像を参照するための参照情報を、スプール記憶領域５に記憶させる。このような展開処理を、１ページ分の中間フォーマットデータについて繰り返す。
【００１４】
圧縮部３は、展開部２から渡される１バンド分の画像を圧縮し、圧縮画像を記憶部４内のスプール記憶領域５に記憶させる。また、特定の画像については、圧縮画像をキャッシュ記憶領域６にも記憶させるように構成してもよい。
【００１５】
記憶部４は、スプール記憶領域５及びキャッシュ記憶領域６の領域を有している。スプール記憶領域５は、圧縮画像記憶手段として機能し、圧縮部３で圧縮されたバンドごとの圧縮画像を記憶する。なお、キャッシュ記憶領域６に記憶されている圧縮された特定の画像を利用する際には、その圧縮画像を参照するための参照情報を記憶する。また、キャッシュ記憶領域６は、キャッシュ記憶手段として機能し、特定の画像について圧縮画像を記憶する。なお、キャッシュ記憶領域６には、圧縮画像とともにその圧縮画像を検索するための各種の属性情報を付加しておくことができる。また、キャッシュ記憶領域６に記憶された圧縮画像は、少なくとも電源が切断されたりリセットされるまでは有効である。
【００１６】
伸張部７は、記憶部４のスプール記憶領域５に蓄積されているバンドごとの圧縮画像を順に読み出し、伸張して出力する。なお、スプール記憶領域５に参照情報が記憶されていた場合には、その参照情報によりキャッシュ記憶領域６内の圧縮画像を読み出し、同様に伸張して出力する。スプール記憶領域５あるいはキャッシュ記憶手段６からの圧縮画像の読み出しは、例えばＤＭＡなどによって行うことが可能である。
【００１７】
なお、上述の例ではＰＤＬで記述されたデータが入力され、一旦、中間フォーマットデータに変換してからバンドごとの画像に展開しているが、入力される描画データはこれに限られるものではない。また、処理単位はバンドごとでなくてもよく、例えばページごとの処理を行ってもよい。
【００１８】
図２は、キャッシュ記憶領域６に記憶される圧縮画像を含む蓄積情報の一例の説明図である。上述のように、キャッシュ記憶領域６には、特定の画像を圧縮した圧縮画像が記憶される。そして展開部２は、展開する画像が特定の画像であることを検出したとき、対応する圧縮画像がキャッシュ記憶領域６に記憶されているか否かを検索する。このとき、検索しやすいように、各圧縮画像には属性情報が付加されている。図２に示す例では、展開部２が参照する属性情報として、圧縮した画像の大きさを示すバンド幅、バンド高の属性情報を付加している。また、ここでは圧縮部３で圧縮処理を行ったときに用いた圧縮パラメータも属性情報として付加されている。
【００１９】
キャッシュ記憶領域６に圧縮画像が記憶される特定の画像は、例えばすべて白画素からなるバンドの画像が代表的である。すべて白画素からなるバンドは多く発生するため、展開処理及び圧縮処理を行わずに参照情報のみをスプール記憶領域５に記憶させることによる処理時間の短縮効果は大きい。しかしこれに限らず、すべて黒画素からなる画像や、その他、よく出現する画像などについて、圧縮画像をキャッシュ記憶領域６に記憶させておくことができる。
【００２０】
例えばすべて白画素からなる画像について、圧縮画像をキャッシュ記憶領域６に記憶する場合でも、画像の大きさやバンドの位置によってその圧縮画像は異なってしまう。図３は、ページとバンドの関係の一例の説明図である。ここでは、バンド高を一定としてページを分割する例を示している。バンド高（ライン数）は、一般には２のべき乗に設定され、例えば５１２画素とすることができる。
【００２１】
図３（Ａ）に示した画像と図３（Ｂ）に示した画像では幅及び高さとも異なっている。このような画像を、バンド高を一定としてバンドに分割すると、各バンドの幅は異なってしまう。このようにバンド幅が異なる画像を圧縮部３で圧縮した場合、圧縮方式にもよるが、圧縮後のデータは異なったものになる。そのため、特定の画像であって異なる幅の画像については、それぞれのバンド幅に応じた圧縮データをキャッシュ記憶領域６に記憶させる必要がある。また、展開部２でキャッシュ記憶領域６に記憶されている圧縮画像を探す際にも、バンド幅の情報が必要になる。そのため、図２に示すように、キャッシュ記憶領域６に圧縮画像を記憶させる際には、属性情報としてバンド幅の情報を付加している。
【００２２】
また、一定のバンド高で１ページを分割してゆくと、図３においてハッチングを施して示した最終のバンドのバンド高は、ページ高をバンド高で割った余りとなる。そのため、最終のバンドのバンド高は、他のバンドと同じである場合もあるが、それ以下となる場合も発生する。このようにバンド高が他と異なるバンドについても、圧縮部３で圧縮した場合、圧縮方式にもよるが、圧縮後のデータは異なったものになる。そのため、例えば最終のバンドなどのように、バンド高が異なる位置のバンドの画像については、特定の画像であれば圧縮データをキャッシュ記憶領域６に記憶させる必要がある。この場合も、展開部２でキャッシュ記憶領域６に記憶されている圧縮画像を探すため、図２に示すように、キャッシュ記憶領域６に圧縮画像を記憶させる際には、属性情報としてバンド高の情報を付加しておく。
【００２３】
上述のように、例えば白画素のみの画像など、ある特定の画像について圧縮画像をキャッシュ記憶領域６に記憶させる場合、バンド幅やバンド高ごとに圧縮画像を記憶させることになる。特定の画像が白画素のみの画像などのように１種類のみである場合にはバンド幅及びバンド高の情報で圧縮画像を探すことができるが、例えば白画素のみの画像と黒画素のみの画像といったように、２種類以上の画像を特定の画像として圧縮画像をキャッシュ記憶領域６に記憶させる場合には、さらに特定の画像の種類を示す情報などを属性情報として付加しておくとよい。
【００２４】
このようにキャッシュ記憶領域６に記憶させる圧縮画像は、バンド幅やバンド高が異なるごとに異なったデータとなる。そのため、展開部２で特定の画像を検出し、キャッシュ記憶領域６に記憶されている圧縮画像を検索したとき、バンド幅及びバンド高が一致する圧縮画像がなければ、その特定画像については展開処理を行い、また圧縮処理を行って、得られた圧縮画像をキャッシュ記憶領域６に記憶させればよい。次に同じバンド幅及びバンド高の特定の画像が現れた場合に、キャッシュ記憶領域６に記憶した圧縮画像を利用することができる。
【００２５】
例えば画像の大きさがＡ４、Ｂ４などといった特定のサイズに決まっている場合には、バンド幅及びバンド高の組の種類は限定される。そのため、バンド幅及びバンド高の組ごとに、特定の画像について圧縮処理を施し、圧縮画像（及び属性情報）をキャッシュ記憶領域６に予め記憶させておくことができる。これによって、定型の画像については、特定の画像が現れた最初からキャッシュ記憶領域６に記憶されている圧縮画像を利用でき、最初の展開処理及び圧縮処理の分だけ高速化することができる。この場合、キャッシュ記憶領域６についてはＲＯＭ化してもよい。もちろん、ある程度のバンド幅及びバンド高の組についてだけ圧縮画像をキャッシュ記憶領域６に記憶させておき、そのほかの画像サイズについては展開処理及び圧縮処理後のキャッシュ記憶領域６に記憶させるように構成してもよい。
【００２６】
さらに、例えば画質などによって圧縮部３における圧縮パラメータを変更する場合がある。圧縮パラメータを変更した場合、圧縮画像のデータも異なってくる。そのため、上述のバンド幅やバンド高と同様に、圧縮パラメータについても属性情報として特定の画像に対する圧縮画像とともにキャッシュ記憶領域６に記憶させておき、展開部２において検索可能にしておくことができる。
【００２７】
図２に示した例では、属性情報としてバンド幅、バンド高、圧縮パラメータを属性情報として付加する例を示しているが、これに限らず、バンド幅とバンド高のみとしたり、あるいは、他の種々の情報を属性情報として付加しておくことが可能である。
【００２８】
図４は、本発明の画像処理装置の実施の一形態における動作の一例を示すフローチャートである。この例では、特定の画像の種類が白画素のみからなる画像であるものとする。ＰＤＬによって記述されたデータが入力されると、まずＳ１１において、ＰＤＬ解釈部１は入力されたデータを解釈し、バンドごとの中間フォーマットデータを作成する。このとき、例えば描画すべきオブジェクトがバンドに存在するか否かを示すフラグをバンドごとに設けておくことができる。
【００２９】
１ページ分のデータについてバンドごとの中間フォーマットデータが作成されたら、バンドごとに展開部２は展開処理を行う。このとき、まずＳ１２において、処理対象のバンドに描画すべきオブジェクトが存在するか否かを判定する。例えば上述のフラグを設けている場合には、そのフラグを参照すればよい。また、フラグを設けていない場合でも、当該バンドに中間フォーマットデータが対応付けられているか否かを判定すればよい。
【００３０】
描画すべきオブジェクトが存在する場合には、そのバンドは白画素のみの特定の画像とはならないので、通常の処理を行う。すなわち、Ｓ１３において、当該バンドに対応付けられている中間フォーマットデータに従ってレンダリング処理を行い、１バンド分の画像に展開する。そして、展開された画像は圧縮部３に渡され、Ｓ１４において圧縮されて圧縮画像が生成される。
【００３１】
圧縮部３は、Ｓ１５において、圧縮した画像が特定の画像であったか否かを判定する。圧縮した画像が特定の画像であった場合には、Ｓ１６において圧縮画像をキャッシュ記憶領域６に記憶させる。通常の描画オブジェクトが存在するバンドの場合には、Ｓ１６はスキップされ、Ｓ１７に進む。圧縮部３は、Ｓ１７において、圧縮した画像をスプール記憶領域５に記憶させる。
【００３２】
一方、Ｓ１２において、処理対象のバンドに描画すべきオブジェクトが存在しないと判断された場合には、さらにＳ２１において、キャッシュ記憶領域６から同じ属性の圧縮画像を検索する。例えば図２に示すような属性情報が圧縮画像に付加されている場合には、当該バンドと同じバンド幅、バンド高を有し、同じ圧縮パラメータで圧縮した圧縮画像を検索する。Ｓ２２において、キャッシュ記憶領域６に記憶されている圧縮画像から、同じ属性を有する圧縮画像が検索されたか否かを判定する。同じ属性の圧縮画像が検索された場合には、Ｓ２３において、キャッシュ記憶領域６に記憶されている、同じ属性の圧縮画像を参照するためのポインタを参照情報としてスプール記憶領域５に記憶させ、そのバンドの処理を終える。この場合、実際の展開処理や圧縮処理は行わないので、その分の処理時間を短縮することができる。これによって、圧縮画像がスプール記憶領域５に揃うまでの時間が短縮され、従って装置全体の処理時間を短縮することができる。また、スプール記憶領域５には参照情報のみが記憶され、同じ圧縮情報を重複して記憶しないので、メモリを節約することができる。もちろん、特定の画像に対応する圧縮画像をキャッシュ記憶領域６からスプール記憶領域５にコピーするように構成してもよい。
【００３３】
キャッシュ記憶領域６から同じ属性の圧縮画像を検索できなかった場合には、Ｓ２４において、１バンド分の白画素のみの画像を作成する。これは、描画する領域をクリアすればよい。そしてＳ１４へ進み、圧縮部３において圧縮処理を行う。この場合、圧縮した画像は白画素のみの特定の画像であるので、Ｓ１６において圧縮画像を属性情報を付加してキャッシュ記憶領域６に記憶させ、それ以降のバンドで同じ属性を有する場合に利用可能にする。それとともに、Ｓ１７においてスプール記憶領域５にも圧縮画像を記憶させる。このように、キャッシュ記憶領域６に記憶されていない特定の画像を圧縮した場合には、スプール記憶領域５に記憶させるとともに、キャッシュ記憶領域６にも記憶させる。
【００３４】
このようにしてバンドごとに処理を行ってゆく。Ｓ１８において、１ページ分のすべてのバンドについて処理を終えたか否かを判定し、未処理のバンドが存在している場合にはＳ１２へ戻り、未処理のバンドについての処理を行う。
【００３５】
１ページ分のすべてのバンドについての処理が終了し、スプール記憶領域５に圧縮画像あるいは参照情報が格納されたら、Ｓ１９において、伸張部７はスプール記憶領域５からバンドごとに圧縮画像あるいは参照情報を読み出して伸張処理し、伸張した画像をＳ２０において出力する。なお伸張部７は、スプール記憶領域５から参照情報を読み出した場合には、その参照情報によって指し示されているキャッシュ記憶領域６に記憶されている圧縮情報を読み出し、同様にして伸張処理を行う。
【００３６】
このようにして、特定の画像については展開処理や圧縮処理を行わずに全体の処理時間を短縮するとともに、特定の画像についても特別な構成を用いずに伸張部７から出力することができる。
【００３７】
伸張部７から出力される画像は、例えばプリンタであればプリントエンジンなどに転送される。上述の構成では１ページ分の圧縮画像をスプール記憶領域５に記憶してから伸張処理を開始するので、リアルタイムの出力が可能である。例えば処理速度に応じて記録速度を変更できないプリントエンジンに対しても適用可能である。もちろん、プリンタ以外の用途にも応用が可能である。
【００３８】
なお、上述の例においてカラー画像を扱うことももちろん可能である。例えば展開部２では、色要素毎の画像をバンドごとに生成し、圧縮部３で圧縮して色要素毎に１ページ分の圧縮画像（あるいは参照情報）をスプール記憶領域５に記憶させればよい。カラー画像の場合、特定の画像は色要素ごとの画像について判断すればよい。例えば、ある色要素について、その色要素によって何も描画されていない画像（上述の白画素のみの画像に対応）、あるいはその色要素によりすべて塗りつぶされる画像（上述の黒画素のみの画像）を特定の画像とすることができる。もちろん、その他の画像を特定の画像としてもよい。
【００３９】
例えば文字線画程度のカラー画像の場合、使用している色も限られ、色要素によっては何も描画されるオブジェクトがない場合も多く存在する。そのような場合には、本発明によって多くのバンドについて展開処理及び圧縮処理が省略されるので、圧縮画像がスプール記憶領域５に揃うまでの時間を大幅に短縮することができる。そのため、描画データを受け取ってから画像が出力されるまでの時間を短縮して、高速な画像処理装置を実現することができる。
【００４０】
【発明の効果】
以上の説明から明らかなように、本発明によれば、特定の画像についてはキャッシュ記憶手段に圧縮画像を記憶しておくので、展開及び圧縮の処理を省略することができ、処理の高速化を図ることができる。また、圧縮して画像を蓄積するとともに、キャッシュ記憶手段に記憶しておく特定の画像も圧縮された画像であり、メモリ量を低減することができる。さらに特定の画像についてはキャッシュ記憶手段に記憶されている圧縮画像を参照する参照情報のみを格納するだけであるので、さらにメモリ量を節約することができる。さらに、このような構成において、特定の画像を出力するための特別な装置は必要なく、コストの上昇を抑えることができるなど、種々の効果がある。
【図面の簡単な説明】
【図１】  本発明の画像処理装置の実施の一形態を示すブロック図である。
【図２】  キャッシュ記憶領域６に記憶される圧縮画像を含む蓄積情報の一例の説明図である。
【図３】  ページとバンドの関係の一例の説明図である。
【図４】  本発明の画像処理装置の実施の一形態における動作の一例を示すフローチャートである。
【符号の説明】
１…ＰＤＬ解釈部、２…展開部、３…圧縮部、４…記憶部、５…スプール記憶領域、６…キャッシュ記憶領域、７…伸張部。
【図１】
0004320497.tif 000002
【図２】
0004320497.tif 000003
【図３】
0004320497.tif 000004
【図４】
0004320497.tif 000005