(57)【要約】【課題】  限られたメモリ容量内でフォールバック処理を行う際、空きメモリ待ち解消後の圧縮処理時間を、圧縮率が高い場合でも最小限に抑える。【解決手段】    描画情報からイメージデータを生成した後、イメージデータを圧縮してメモリに記憶させる画像処理装置において、イメージデータのデータ容量がメモリに確保できる空き容量とメモリで使用できるメモリ容量から決定される第１のしきい値との差分量を超えるかどうかを判断する（Ｓ４０４）。そして、ＣＰＵが第１のしきい値との差分量を超えると判断した場合、背景圧縮データをメモリに記憶させることなく、圧縮部によりイメージデータを圧縮させる空圧縮処理を実行する（Ｓ４０５）。一方、第１のしきい値との差分量を超えないとＣＰＵが判断した場合、圧縮部による空圧縮処理を実行することなく背景圧縮データをメモリに記憶させる（Ｓ４０６）。【選択図】  図４
2012070304.tif 000002
【特許請求の範囲】
【請求項１】
描画情報からイメージデータを生成する生成手段と、
前記イメージデータを圧縮する圧縮手段と、
前記描画情報と、前記イメージデータと、前記圧縮手段が前記イメージデータを描画情報として圧縮した背景圧縮データとを記憶する記憶手段と、
前記イメージデータのデータ容量が、前記記憶手段に確保できる空き容量と前記記憶手段で使用できるメモリ容量から決定される第１のしきい値との差分量を超えるかどうかを判断する判断手段と、
前記第１のしきい値との差分量を超えると前記判断手段が判断した場合、前記背景圧縮データを前記記憶手段に記憶させることなく、前記圧縮手段により前記イメージデータを圧縮させる空圧縮処理を実行し、
前記第１のしきい値との差分量を超えないと前記判断手段が判断した場合、前記圧縮手段による空圧縮処理を実行することなく前記背景圧縮データを前記記憶手段に記憶させる制御手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
描画情報からイメージデータを生成する生成手段と、
前記イメージデータを圧縮する圧縮手段と、
前記描画情報と、前記イメージデータと、前記圧縮手段が前記イメージデータを描画情報として圧縮した背景圧縮データとを記憶する記憶手段と、
前記背景圧縮データのデータ容量が、前記記憶手段に確保できる空き容量と前記記憶手段で使用できるメモリ容量から決定される第１のしきい値との差分量を超えるかどうかを判断する判断手段と、
前記第１のしきい値との差分量を超えると前記判断手段が判断した場合、前記背景圧縮データを前記記憶手段に記憶させることなく、前記圧縮手段により前記データを圧縮させる空圧縮処理を実行し、
前記第１のしきい値との差分量を超えないと前記判断手段が判断した場合、前記圧縮手段による空圧縮処理を実行することなく前記背景圧縮データを前記記憶手段に記憶させる制御手段と、
を備えることを特徴とする画像処理装置。
【請求項３】
描画情報からイメージデータを生成する生成手段と、
前記イメージデータを圧縮する圧縮手段と、
前記描画情報と、前記圧縮手段が前記イメージデータを圧縮した印刷待ち圧縮データと、前記圧縮手段が前記イメージデータを描画情報として圧縮した背景圧縮データとを記憶する記憶手段と、
前記背景圧縮データのデータ容量が、前記記憶手段に確保できる空き容量と前記記憶手段で使用できるメモリ容量から決定される第１のしきい値との差分量を超えるかどうかを判断する第１の判断手段と、
前記背景圧縮データと前記印刷待ち圧縮データとを合算したデータ容量が、前記記憶手段で使用できるメモリ容量から決定される第２のしきい値を超えるかどうかを判断する第２の判断手段と、
前記背景圧縮データのデータ容量が前記差分量を超えると第１の判断手段が判断した場合、または、前記背景圧縮データのデータ容量が前記差分量を超ないと第１の判断手段が判断し、かつ、前記背景圧縮データと前記印刷待ち圧縮データとを合算したデータ容量が第２のしきい値を超えると前記第２の判断手段が判断した場合、前記背景圧縮データを前記記憶手段に記憶させることなく、前記圧縮手段により前記イメージデータを圧縮させる空圧縮処理を実行し、
前記背景圧縮データのデータ容量が前記差分量を超ないと第１の判断手段が判断し、かつ、前記背景圧縮データと前記印刷待ち圧縮データとを合算したデータ容量が第２のしきい値を超えないと前記第２の判断手段が判断した場合、前記圧縮手段による空圧縮処理を実行することなく前記背景圧縮データを前記記憶手段に記憶させる制御手段と、
を備えることを特徴とする画像処理装置。
【請求項４】
描画情報からイメージデータを生成する生成手段と、
前記イメージデータを圧縮する圧縮手段と、
前記描画情報と、前記圧縮手段が前記イメージデータを圧縮した印刷待ち圧縮データと、前記圧縮手段が前記イメージデータを描画情報として圧縮した背景圧縮データとを記憶する記憶手段と、
記録紙に前記イメージデータを出力するエンジン手段と、
前記エンジン手段が前記記録紙に前記イメージデータを出力できる状態であるかどうかを判別する判別手段と、
前記背景圧縮データのデータ容量が、前記記憶手段に確保できる空き容量と前記記憶手段で使用できるメモリ容量から決定される第１のしきい値との差分量を超えるかどうかを判断する第１の判断手段と、
前記背景圧縮データと前記印刷待ち圧縮データとを合算したデータ容量が、前記記憶手段で使用できるメモリ容量から決定される第２のしきい値を超えるかどうかを判断する第２の判断手段と、
前記記録紙に前記イメージデータを出力できる状態でないと前記判別手段が判別した場合、前記背景圧縮データと前記印刷待ち圧縮データとを合算したデータ容量が、前記記憶手段で使用できるメモリ容量から決定される第２のしきい値を超えると第２の判断手段が判断した場合、前記背景圧縮データを前記記憶手段に記憶させることなく、前記圧縮手段により前記イメージデータを圧縮させる空圧縮処理を実行し、前記背景圧縮データと前記印刷待ち圧縮データとを合算したデータ容量が、前記記憶手段で使用できるメモリ容量から決定される第２のしきい値を超えないと第２の判断手段が判断した場合、前記圧縮手段による空圧縮処理を実行することなく前記背景圧縮データを前記記憶手段に記憶させる第１の制御手段と、
前記記録紙に前記イメージデータを出力できる状態であると前記判別手段が判別した場合、さらに、前記背景圧縮データのデータ容量が、前記記憶手段に確保できる空き容量と前記記憶手段で使用できるメモリ容量から決定される第１のしきい値との差分量を超えないと前記第１の判断手段が判断し、かつ、前記背景圧縮データと前記印刷待ち圧縮データとを合算したデータ容量が、前記記憶手段で使用できるメモリ容量から決定される第２のしきい値を超えると第２の判断手段が判断した場合は、前記背景圧縮データを前記記憶手段に記憶させることなく、前記圧縮手段により前記イメージデータを圧縮させる空圧縮処理を実行し、
前記記録紙に前記イメージデータを出力できる状態であると判別した場合、さらに、前記背景圧縮データのデータ容量が、前記記憶手段に確保できる空き容量と前記記憶手段で使用できるメモリ容量から決定される第１のしきい値との差分量を超えないと前記第１の判断手段が判断し、かつ、前記背景圧縮データと前記印刷待ち圧縮データとを合算したデータ容量が、前記記憶手段で使用できるメモリ容量から決定される第２のしきい値を超えないと第２の判断手段が判断した場合は、前記圧縮手段による空圧縮処理を実行することなく前記背景圧縮データを前記記憶手段に記憶させる第２の制御手段と、
を備えることを特徴とする画像処理装置。
【請求項５】
描画情報からイメージデータを生成する生成手段と、前記イメージデータを圧縮する圧縮手段と、前記描画情報と、前記イメージデータと、前記圧縮手段が前記イメージデータを描画情報として圧縮した背景圧縮データとを記憶する記憶手段とを備える画像処理装置のデータ処理方法であって、
前記イメージデータのデータ容量が、前記記憶手段に確保できる空き容量と前記記憶手段で使用できるメモリ容量から決定される第１のしきい値との差分量を超えるかどうかを判断する判断工程と、
前記判断工程が前記第１のしきい値との差分量を超えると判断した場合、前記背景圧縮データを前記記憶手段に記憶させることなく、前記圧縮手段により前記イメージデータを圧縮させる空圧縮処理を実行し、
前記判断工程が前記第１のしきい値との差分量を超えないと判断した場合、前記圧縮手段による空圧縮処理を実行することなく前記背景圧縮データを前記記憶手段に記憶させる制御工程と、
を備えることを特徴とする画像処理装置のデータ処理方法。
【請求項６】
描画情報からイメージデータを生成する生成手段と、前記イメージデータを圧縮する圧縮手段と、前記描画情報と、前記イメージデータと、前記圧縮手段が前記イメージデータを描画情報として圧縮した背景圧縮データとを記憶する記憶手段とを備える画像処理装置のデータ処理方法であって、
前記背景圧縮データのデータ容量が、前記記憶手段に確保できる空き容量と前記記憶手段で使用できるメモリ容量から決定される第１のしきい値との差分量を超えるかどうかを判断する判断工程と、
前記第１のしきい値との差分量を超えると前記判断工程が判断した場合、前記背景圧縮データを前記記憶手段に記憶させることなく、前記圧縮手段により前記データを圧縮させる空圧縮処理を実行し、
前記第１のしきい値との差分量を超えないと前記判断工程が判断した場合、前記圧縮手段による空圧縮処理を実行することなく前記背景圧縮データを前記記憶手段に記憶させる制御工程と、
を備えることを特徴とする画像処理装置のデータ処理方法。
【請求項７】
描画情報からイメージデータを生成する生成手段と、前記イメージデータを圧縮する圧縮手段と、前記描画情報と、前記圧縮手段が前記イメージデータを圧縮した印刷待ち圧縮データと、前記圧縮手段が前記イメージデータを描画情報として圧縮した背景圧縮データとを記憶する記憶手段とを備える画像処理装置のデータ処理方法であって、
前記背景圧縮データのデータ容量が、前記記憶手段に確保できる空き容量と前記記憶手段で使用できるメモリ容量から決定される第１のしきい値との差分量を超えるかどうかを判断する第１の判断工程と、
前記背景圧縮データと前記印刷待ち圧縮データとを合算したデータ容量が、前記記憶手段で使用できるメモリ容量から決定される第２のしきい値を超えるかどうかを判断する第２の判断工程と、
前記背景圧縮データのデータ容量が前記差分量を超えると第１の判断工程が判断した場合、または、前記背景圧縮データのデータ容量が前記差分量を超ないと第１の判断工程が判断し、かつ、前記背景圧縮データと前記印刷待ち圧縮データとを合算したデータ容量が第２のしきい値を超えると前記第２の判断工程が判断した場合、前記背景圧縮データを前記記憶手段に記憶させることなく、前記圧縮手段により前記イメージデータを圧縮させる空圧縮処理を実行し、
前記背景圧縮データのデータ容量が前記差分量を超ないと第１の判断工程が判断し、かつ、前記背景圧縮データと前記印刷待ち圧縮データとを合算したデータ容量が第２のしきい値を超えないと前記第２の判断工程が判断した場合、前記圧縮手段による空圧縮処理を実行することなく前記背景圧縮データを前記記憶手段に記憶させる制御工程と、
を備えることを特徴とする画像処理装置のデータ処理方法。
【請求項８】
描画情報からイメージデータを生成する生成手段と、前記イメージデータを圧縮する圧縮手段と、前記描画情報と、前記圧縮手段が前記イメージデータを圧縮した印刷待ち圧縮データと、前記圧縮手段が前記イメージデータを描画情報として圧縮した背景圧縮データとを記憶する記憶手段と、記録紙に前記イメージデータを出力するエンジン手段とを備える画像処理装置のデータ処理方法であって、
前記エンジン手段が前記記録紙に前記イメージデータを出力できる状態であるかどうかを判別する判別工程と、
前記背景圧縮データのデータ容量が、前記記憶手段に確保できる空き容量と前記記憶手段で使用できるメモリ容量から決定される第１のしきい値との差分量を超えるかどうかを判断する第１の判断工程と、
前記背景圧縮データと前記印刷待ち圧縮データとを合算したデータ容量が、前記記憶手段で使用できるメモリ容量から決定される第２のしきい値を超えるかどうかを判断する第２の判断工程と、
前記記録紙に前記イメージデータを出力できる状態でないと前記判別工程が判別した場合、前記背景圧縮データと前記印刷待ち圧縮データとを合算したデータ容量が、前記記憶手段で使用できるメモリ容量から決定される第２のしきい値を超えると第２の判断工程が判断した場合、前記背景圧縮データを前記記憶手段に記憶させることなく、前記圧縮手段により前記イメージデータを圧縮させる空圧縮処理を実行し、前記背景圧縮データと前記印刷待ち圧縮データとを合算したデータ容量が、前記記憶手段で使用できるメモリ容量から決定される第２のしきい値を超えないと第２の判断工程が判断した場合、前記圧縮手段による空圧縮処理を実行することなく前記背景圧縮データを前記記憶手段に記憶させる第１の制御工程と、
前記記録紙に前記イメージデータを出力できる状態であると前記判別工程が判別した場合、さらに、前記背景圧縮データのデータ容量が、前記記憶手段に確保できる空き容量と前記記憶手段で使用できるメモリ容量から決定される第１のしきい値との差分量を超えないと前記第１の判断手段が判断し、かつ、前記背景圧縮データと前記印刷待ち圧縮データとを合算したデータ容量が、前記記憶手段で使用できるメモリ容量から決定される第２のしきい値を超えると第２の判断手段が判断した場合は、前記背景圧縮データを前記記憶手段に記憶させることなく、前記圧縮手段により前記イメージデータを圧縮させる空圧縮処理を実行し、
前記記録紙に前記イメージデータを出力できる状態であると判別した場合、さらに、前記背景圧縮データのデータ容量が、前記記憶手段に確保できる空き容量と前記記憶手段で使用できるメモリ容量から決定される第１のしきい値との差分量を超えないと前記第１の判断手段が判断し、かつ、前記背景圧縮データと前記印刷待ち圧縮データとを合算したデータ容量が、前記記憶手段で使用できるメモリ容量から決定される第２のしきい値を超えないと第２の判断手段が判断した場合は、前記圧縮手段による空圧縮処理を実行することなく前記背景圧縮データを前記記憶手段に記憶させる第２の制御工程と、
を備えることを特徴とする画像処理装置のデータ処理方法。
【請求項９】
請求項４乃至８のいずれか１項に記載のデータ処理方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストコンピュータより印刷情報を受信して処理する画像処理装置、画像処理装置のデータ処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、カラー画像処理装置と複数のホストコンピュータとが通信可能な情報処理システムは一般化され広く使われるようになってきている。このような状況の中、情報処理システム上で作成される多くの電子ドキュメントが作成され、カラー画像処理装置への出力要求は増大する傾向にあり、高速かつ安価なカラー画像処理装置が望まれている。
【０００３】
従来、印刷システムでは、ホストコンピュータから送信されてきたページ記述言語（ＰＤＬ）を解釈した上で中間言語であるディスプレイリスト（ＤＬ）を作成し、このＤＬからラスタイメージ変換（レンダリング）を行うのが一般的である。
【０００４】
この際、上記ＰＤＬデータのサイズは限定されていないため、このＰＤＬデータから作成されるＤＬのサイズが非常に大きくなることがある。また、ＤＬが複雑になり、そのサイズが大きくなると、このＤＬをレンダリングするレンダラの使用するワーク領域も大きなものとなる。
【０００５】
しかしながら、画像処理装置に搭載されるメモリ量は有限であり、且つコスト的な制約から、前記ＤＬを格納するのに十分な量が無いことが多い。したがって、上記ＤＬを格納する領域及びレンダラの使用できるワーク領域のサイズは限定されており、定められた一定サイズ以上のＤＬを処理できないといった制約がでてくる。
【０００６】
この制約を回避する為にフォールバックと呼ばれる処理が行われる。フォールバックは、ＤＬのサイズやそのＤＬを処理するためのワーク領域が、一定のサイズを超えるとわかった場合に、一度そこまでに生成されたＤＬをレンダリングしてラスタイメージとし、そこまで作成したＤＬを一度クリアする。
【０００７】
このラスタイメージを描画エリアのバックグラウンドイメージとして再びＤＬの一部に追加する。通常、このバックグラウンドイメージは圧縮されるため、追加されるＤＬのサイズは元のＤＬサイズよりも小さくなる。
そこで、この空いた領域に残りのＤＬを作成していくことにより限定されたメモリ空間で大きなサイズのＤＬを処理できる。
【０００８】
また、フォールバック時のレンダリング終了時にレンダラのワーク領域もクリアされるため、このワーク領域のサイズ制限も回避することができ、かつ低コストな画像処理装置を提供することができる。
【０００９】
一方で、前述のようにフォールバック処理を行う過程で作成されたラスタイメージは圧縮されてＤＬリストに追加されるが、このとき作成される圧縮イメージも所定のサイズに収めなければならない。
【００１０】
特に、カラー画像ではレンダリング時に作成されるラスタイメージのサイズは非常に大きく、可逆圧縮では前記圧縮イメージを所定のサイズ内に収めることができないことが多く、通常非可逆圧縮が使用される。
【００１１】
しかしながら、非可逆圧縮を使用すると圧縮された画像は劣化してしまう。この画像劣化を最小限に抑える手法としては、レンダリングされた画像に対して低圧縮率から高圧縮率へ（画像劣化の小さい圧縮から画像劣化の大きい圧縮へ）順次圧縮率を変えながら、前記所定のサイズに圧縮イメージが収まるまで、複数回繰り返す。このようにすることにより、所定のサイズが収まる最低の圧縮率で圧縮され、最小限の画像劣化で済む。
従来の画像処理装置は、圧縮時におけるラスタ画像情報の劣化状態を判別するためのしきい値を指定し、該指定されたしきい値を超えているか否かを判別している。
【００１２】
このことにより、画像劣化の大きな圧縮画像を含む印刷出力を、印刷するか否かをユーザが選択できるようにしている。このことにより、ユーザの意図しない印刷出力は出力しないようにして、ユーザビリティを向上させている（例えば特許文献１参照。）。
【００１３】
また、従来の画像処理装置は、メモリ出力を行わずに圧縮率を算出する空圧縮処理を予め行うことによって、圧縮率確定後にラスタ画像情報の圧縮処理を行っている。このことによって、ラスタ画像情報の圧縮処理がメモリ空き待ちになることを防いでいる。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２００４−１５２１４１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
従来の画像処理装置では、メモリの使用状況によらず、一律フォールバック処理を実行していた。このため、空圧縮を行わない画像処理装置では、空きメモリが不足している場合、メモリ空き待ちが発生していた。
また、空圧縮を行う画像処理装置では、メモリが充分にある場合も、空圧縮処理を行っていたため、無駄に空圧縮処理を実行していた。
【００１６】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、限られたメモリ容量内でフォールバック処理を行う際、空きメモリ待ち解消後の圧縮処理時間を、圧縮率が高い場合でも最小限に抑えることができる仕組みを提供することである。
また、限られたメモリ容量内でフォールバック処理を行う際、空きメモリが充分にある場合は、無駄な空圧縮処理を省くことができ、圧縮処理時間を短縮できる仕組みを提供することである。
【課題を解決するための手段】
【００１７】
上記目的を達成する本発明の画像処理装置は以下に示す構成を備える。
【００１８】
描画情報からイメージデータを生成する生成手段と、前記イメージデータを圧縮する圧縮手段と、前記描画情報と、前記イメージデータと、前記圧縮手段が前記イメージデータを描画情報として圧縮した背景圧縮データとを記憶する記憶手段と、前記イメージデータのデータ容量が、前記記憶手段に確保できる空き容量と前記記憶手段で使用できるメモリ容量から決定される第１のしきい値との差分量を超えるかどうかを判断する判断手段と、前記判断手段が前記第１のしきい値との差分量を超えると判断した場合、前記背景圧縮データを前記記憶手段に記憶させることなく、前記圧縮手段により前記イメージデータを圧縮させる空圧縮処理を実行し、前記判断手段が前記第１のしきい値との差分量を超えないと判断した場合、前記圧縮手段による空圧縮処理を実行することなく前記背景圧縮データを前記記憶手段に記憶させる制御手段とを備えることを特徴とする。
【発明の効果】
【００１９】
本発明によれば、限られたメモリ容量内でフォールバック処理を行う際、空きメモリが不足している場合、メモリ空き待ち時間を利用して、空圧縮処理を実行することで、空きメモリ待ち解消後の圧縮処理時間を、圧縮率が高い場合でも最小限に抑えられる。
また、限られたメモリ容量内でフォールバック処理を行う際、空きメモリが充分にある場合は、無駄な空圧縮処理を省くことができ、圧縮処理時間を短縮できる。
【図面の簡単な説明】
【００２０】
【図１】画像処理装置の構成を説明するブロック図である。
【図２】図１に示したコントローラの詳細構成を説明するブロック図である。
【図３】画像処理装置の制御手順を示すフローチャートである。
【図４】画像処理装置の制御手順を示すフローチャートである。
【図５】図１に示したメモリにおける第１のメモリ使用状況を示す図である。
【図６】画像処理装置の制御手順を示すフローチャートである。
【図７】画像処理装置の制御手順を示すフローチャートである。
【図８】画像処理装置の制御手順を示すフローチャートである。
【図９】図１に示したメモリにおける第２のメモリ使用状況を示す図である。
【図１０】画像処理装置の制御手順を示すフローチャートである。
【図１１】図１に示したメモリにおける第３のメモリ使用状況を示す図である。
【図１２】画像処理装置の制御手順を示すフローチャートである。
【発明を実施するための形態】
【００２１】
次に本発明を実施するための最良の形態について図面を参照して説明する。
＜システム構成の説明＞
〔第１実施形態〕
【００２２】
図１は、本実施形態を示す画像処理装置の構成を説明するブロック図である。本例は、画像処理装置としてスキャン、プリント、コピーを行うデジタル複合機システム（以降ＭＦＰと称する）の例を示す。
【００２３】
図１において、コントローラ１０１は、画像入力デバイスであるスキャナ１０２や画像出力デバイスであるプリンタ１０３、ＬＡＮや公衆回線（ＷＡＮ）等ネットワーク１０４と接続している。このことで、画像情報やデバイス情報の入出力、ＰＤＬデータのイメージ展開を行う。なお、プリンタ１０３は、図示しないエンジン手段を備え、搬送される記録紙に画像を出力するデバイスを備える。また、エンジン手段は、用紙切れ、トナー切れ等を検知するセンサを備え、コントローラ１０１を介してＣＰＵ１０５がそれらのセンサ情報を受け取り、エンジン手段が現在画像を出力できる状況であるのかどうかを判断することが可能に構成されている。
【００２４】
１０５はＣＰＵで、バスに接続されるデバイスを含むシステム全体を制御するプロセッサとして機能する。１０６はメモリで、ＣＰＵ１０５が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリとして機能し、ＲＡＭ等の揮発性メモリで構成される。
１０７は記憶部で、ハードディスクドライブ（ＨＤＤ）で構成され、ＣＰＵ１０５が実行可能なシステムソフトウェア、画像データを格納する。
図２は、図１に示したコントローラ１０１の詳細構成を説明するブロック図である。
以下、スキャンデータを読み込む場合を例として構成を説明する。
【００２５】
図２において、スキャナ１０２からＲＧＢ（ＲＥＤ、ＧＲＥＥＮ、ＢＬＵＥ）３色の読み取り画像データを受け取ったコントローラ１０１は、まずスキャナ用画像処理部２０１にてシェーディング処理やフィルタ処理等の画像処理を行う。画像処理を行ったデータを圧縮部２０２にて画像圧縮処理を行う。その圧縮データをＤＭＡＣ（DIRECT MEMORY ACCESS CONTROLLER）２０３を介してメモリ１０６へ格納する。
【００２６】
ここで、メモリ１０６は、描画情報と、前記イメージデータと圧縮部２５２がレンダリング部２５１により展開されたイメージデータを描画情報として圧縮した背景圧縮データとを記憶するメモリとして使用される。
【００２７】
スキャンデータをプリントする場合は、メモリ１０６に格納されている圧縮データをＤＭＡＣ２１１を介して画像処理部２１２へ入力しＣＭＹＫ（ＣＹＡＮ、ＭＡＧＥＮＴＡ、ＹＥＬＬＯＷ、ＢＬＡＣＫ）色空間へ変換する。その後、それらＣＭＹＫの値に対して濃度調整、プリンタガンマ補正等の調整の色処理を行った後、ＤＭＡＣ２１１を介して再度メモリ１０６へ格納する。
【００２８】
その後、プリント用の画像処理を行うために、ＤＭＡＣ２２１を介して、メモリ１０６に格納されている圧縮データを読み込み、展開部２２２にてラスタ画像データへ展開する。ラスタのＣＭＹＫ画像データをプリント用画像処理部２２３に入力し、そこでディザ法や誤差拡散法による面積階調処理を行い、プリンタ１０３へ出力する。
スキャンデータをネットワークへ送信する場合には、メモリ１０６に格納されている圧縮データをＤＭＡＣ２１１を介して画像処理部２１２へ入力し色変換を行う。
【００２９】
具体的には、ディスプレイガンマ調整や用紙地色調整等を行った後にＹＣｂＣｒ（輝度、ＢＬＵＥ色差、ＲＥＤ色差）色空間へ変換する。その後再度ＤＭＡＣ２１１を介してメモリ１０６へ格納する。その後、送信用の画像処理を行うために、ＤＭＡＣ２３１を介して、メモリ１０６に格納されている圧縮データを読み込み、展開部２３２にてラスタ画像データへ展開する。ラスタのＹＣｂＣｒ画像データに対して送信処理部２３３ではカラー画像送信であればＪＰＥＧ圧縮処理を行い、モノクロ２値画像送信であればＹデータに対して２値化を行いＪＢＩＧ圧縮等を行い、ネットワーク１０４へ出力する。
【００３０】
スキャンデータを保存する場合には、メモリ１０６に格納されている圧縮データをＤＭＡＣ２４１を介してディスクスプール高圧縮／展開部２４２へ入力する。ディスクスプール高圧縮／展開部では、ＨＤＤの記憶部１０７に対する書き込みスピードがメモリ１０６に対して遅いため、さらに高圧縮のＪＰＥＧ圧縮を施す。その後、ディスクアクセスコントローラ２４３を介してＨＤＤの記憶部１０７へ圧縮データを保存する。
なお、保存されているデータを再度メモリ１０６へ展開する場合はその逆処理を行う。
以下、ＰＤＬのデータをメモリ１０６へ書き込む場合を説明する。
【００３１】
図２では図示していないが、図１にてネットワーク１０４から送られてきたＰＤＬデータをＣＰＵ１０５にてインタープリットしメモリ１０６へディスプレイリストを出力する。その後、メモリ１０６に格納されているディスプレイリストをレンダリング部２５１でラスタのＲＧＢ画像データへレンダリングを行い、圧縮部２５２にて画像圧縮処理を行う。その圧縮データをＤＭＡＣ２５３を介してメモリ１０６へ格納する。
ＰＤＬ画像データをプリント、ネットワークへ送信、保存する場合はスキャンデータのそれと同様の処理を行うことで実現する事が可能になる。
【００３２】
圧縮部２５２は、前記ラスタイメージに非可逆圧縮を施し、ＤＭＡＣ２５３を経由して、メモリ１０６へ記憶する。本実施形態による圧縮部２５２はＪＰＥＧを採用している。ＪＰＥＧは圧縮時に使用するＱテーブルを変更することにより、圧縮対象となる画像の圧縮率を変更することが可能であり、圧縮率が高くなるほど画像劣化が大きくなる。
区ここでは、非可逆圧縮としてＪＰＥＧを使用するとしているが、圧縮率を変更可能な非可逆圧縮方法であれば、本発明を適用できることはいうまでもない。
後述するレンダリング時に生成されるラスタイメージを圧縮する際に、圧縮部２５２のＪＰＥＧに設定するＱテーブルを、例えば６種類持っている。
【００３３】
各Ｑテーブルは１から６までの識別子をもっており、この識別子を便宜上ＱテーブルＩＤと呼ぶ。各Ｑテーブルは大きなＱテーブルＩＤを持つほど圧縮率が高くなるように設定されており、したがって大きなＱテーブルＩＤを持つＱテーブルを使用するほど画像劣化が大きくなる。
なお、ここではＱテーブルの種類を６種類としているが、この数は限定されるものではないことは言うまでもない。
以降では本発明の特徴となるＰＤＬのデータをメモリへ書き込む圧縮部のデータ処理の詳細に関して説明を行う。
【００３４】
図３は、本実施形態を示す画像処理装置の制御手順を示すフローチャートである。本例は、ＰＤＬデータ受信時に、ＣＰＵ１０５が処理するＰＤＬデータの印刷処理手順に対応する。なお、各ステップは、ＣＰＵ１０５がメモリ１０６にロードする制御プログラムをロードして実行することで実現される。
【００３５】
コントローラ１０１が、ネットワーク１０４からＰＤＬデータを受信すると（Ｓ３０１）、Ｓ３０２へ進み、ＣＰＵ１０５が、現在設定中のＱテーブルＩＤを示す変数カレントＱＩＤを「１」に設定し、Ｓ３０３へ進む。
【００３６】
そして、Ｓ３０３では、ＣＰＵ１０５が、ＰＤＬデータの解析処理を行いながらディスプレイリスト（ＤＬ）をメモリ１０６上に生成（作成）とともに、Ｓ３０４へ進む。なお、Ｓ３０３でのＤＬの生成時には通常１ページ分のＤＬが生成される。
【００３７】
ただし、常にレンダリング部２５１用のローカルメモリのサイズ、ワーク用テーブルのサイズをそれぞれ検査している。そして、生成中のＤＬがローカルメモリのサイズを超える場合、また生成中のＤＬをレンダリング時に使用するワーク用テーブルのサイズが、レンダリング部２５１に搭載されているテーブルサイズを超えた場合には、フォールバックが発生する。
【００３８】
このとき、ＣＰＵ１０５が、フォールバックフラグを立て、その時点でＳ３０４へ進む。そして、Ｓ３０４では、ＣＰＵ１０５が、フォールバックフラグを検査し、フォールバックの有無を検査する。ここで、フォールバックが発生しているとＣＰＵ１０５が判定した場合は、Ｓ３０５へ進む。
そして、Ｓ３０５では、ＣＰＵ１０５が、フォールバック処理を行い、メモリ１０６に圧縮イメージが格納される。なお、当該処理の詳細については後述する。
ＣＰＵ１０５が、この圧縮イメージを背景イメージとしてＤＬへ登録し、Ｓ３０３へ戻り、ＰＤＬデータの解析及びＤＬの生成を続ける。
一方、Ｓ３０４でフォールバックが発生していないとＣＰＵ１０５が判断した場合、Ｓ３０７のレンダリング処理へ進む。
【００３９】
そして、Ｓ３０７のレンダリング処理は、ＣＰＵ１０５が、生成されたＤＬをレンダリング部２５１を使用してレンダリングしてラスタイメージを生成する。その後、ＣＰＵ１０５が、圧縮部２５２を使用して、ラスタイメージから圧縮イメージを生成し、ＤＭＡＣ２５３を経由して、メモリ１０６に格納する。
【００４０】
そして、ＣＰＵ１０５は、Ｓ３０７でのレンダリング処理の後、Ｓ３０８へ進み、Ｓ３０７で、ＣＰＵ１０５が、メモリ１０６に格納されている圧縮イメージをＤＭＡＣ２２１へ転送する。転送された圧縮イメージを、ＣＰＵ１０５が、展開部２２２を使用して、圧縮イメージをラスタイメージへ解凍しながら、プリンタ用画像処理部２２３を使用して、画像処理を施し、Ｓ３０９へ進む。
そして、Ｓ３０９では、ＣＰＵ１０５が、Ｓ３０８で画像処理を施されたラスタイメージをプリンタ１０３へ転送し紙上へ印刷を行い、Ｓ３１０へ進む。
【００４１】
Ｓ３１０では、ＣＰＵ１０５が、Ｓ３０１で受信したＰＤＬデータの全ページの処理が終了したか否かを判断し、全ページの処理が終了しているとＣＰＵ１０５が判断した場合は、ＤＬデータの印刷処理を終了する。
【００４２】
一方、Ｓ３１０で、まだ処理すべきＰＤＬデータが残っているとＣＰＵ１０５が判断した場合は、Ｓ３０２へ戻り、ＣＰＵ１０５が、カレントＱＩＤを「１」に初期化した後、ＰＤＬデータの解析およびＤＬ生成処理（ＤＬ作成処理）を続ける。
【００４３】
図４は、本実施形態を示す画像処理装置の制御手順を示すフローチャートである。本例は、フォールバック処理例である。これは、図３に示したＳ３０５の詳細手順に対応する。なお、各ステップは、ＣＰＵ１０５がメモリ１０６にロードする制御プログラムをロードして実行することで実現される。
【００４４】
上述した図３に示したＳ３０５が実行されると本処理が開始され、Ｓ３０３で、ＣＰＵ１０５が、メモリ１０６上に生成されたＤＬをレンダリング部２５１のローカルメモリへ転送し（Ｓ４０１）、Ｓ４０２へ進む。
Ｓ４０２では、ＣＰＵ１０５が、変数カレントＱＩＤに設定さているＱテーブルＩＤのＱテーブルを圧縮部２５２へ設定する。Ｓ３０３で、ＣＰＵ１０５が、メモリの使用状況の判定を行う。なお、Ｓ４０４でＮＯと判定される場合とは、本処理開始時点では使用できるメモリ領域が、他の処理、例えば複合機能処理要求に応じてメモリが使用されている等の要因が発生した場合が含まれる。
【００４５】
本実施形態では、ＣＰＵ１０５がイメージデータのデータ容量が、メモリ１０６に確保できる空き容量と前記記憶手段で使用できるメモリ容量から決定される第１のしきい値との差分量を超えるかどうかを判断する。この際、第１のしきい値との差分量を超えるとＣＰＵ１０５が判断した場合、背景圧縮データをメモリ１０６に記憶させることなく、圧縮部２５２によりイメージデータを圧縮させる空圧縮処理を実行する。これにより、メモリ空き待ち時間を利用して、ＣＰＵ１０５はメモリ１０６に収容できる程度に圧縮した背景圧縮データを生成することができる。
【００４６】
また、第１のしきい値との差分量を超えないとＣＰＵ１０５が判断した場合、圧縮部２５２による空圧縮処理を実行することなく背景圧縮データをメモリ１０６に記憶させる。これにより、メモリ１０６に空きメモリが十分に確保できる場合には、無駄な空圧縮処理を実行させずに済み、圧縮処理時間を短縮することができる。
図５は、図１に示したメモリ１０６における第１のメモリ使用状況を示す図である。
【００４７】
図５において、１００２が第１のしきい値の容量を示す。ラスタ画像情報を格納可能な全メモリ容量と第１のしきい値の容量の差１００３より、ラスタ画像情報の容量１００１が大きいと判定した場合、ＣＰＵ１０５は図４に示すＳ４０５へ進み、第１の圧縮処理を行う。
【００４８】
ラスタ画像情報を格納可能な全メモリ容量と第１のしきい値の容量の差１００３より、ラスタ画像情報の容量１００１が小さいと判定した場合、
ＣＰＵ１０５はＳ４０６へ進み、第２の圧縮処理を行う。なお、当該処理の詳細については後述する。
第１の圧縮処理及び第２の圧縮処理では、メモリ１０６に生成されたＤＬを圧縮イメージに変換して、フォールバック処理を終了する。
【００４９】
図６は、本実施形態を示す画像処理装置の制御手順を示すフローチャートである。本例は、第１の圧縮処理の詳細手順に対応する。以下、図４に示したＳ４０５でＤＬをレンダリングし生成されたラスタイメージが圧縮されて、メモリに格納されるまでの詳細手順を説明する。なお、各ステップは、ＣＰＵ１０５がメモリ１０６にロードする制御プログラムをロードして実行することで実現される。
【００５０】
上述した図４に示したＳ４０５が実行されると本処理が開始され、Ｓ５０１で、ＣＰＵ１０５が、メモリ出力なしの設定を圧縮部２５２に行う。そして、Ｓ５０２では、ＣＰＵ１０５が、レンダリング部２５１のレジスタ設定等、各種初期化処理を行った後、レンダリングスタートの信号を送りＤＬのレンダリングを開始する。
【００５１】
次に、Ｓ５０３では、ＣＰＵ１０５が、Ｓ５０２で生成された前記ラスタイメージを圧縮部２５２へ転送しＳ４０２で設定されているＱテーブルでＪＰＥＧ圧縮を施す。Ｓ５０１で、ＣＰＵ１０５が、圧縮部の出力をなしに設定されているので、圧縮部はメモリに出力を行わない。
【００５２】
そして、Ｓ５０４では、ＣＰＵ１０５が、圧縮部２５２のＪＰＥＧ圧縮の出力カウンタを参照して、ラスタイメージの圧縮後の容量を取得する。そして、Ｓ５０５で、この容量が第１のしきい値の容量未満であるかどうかをＣＰＵ１０５が判断する。ここで、この容量が第１のしきい値の容量未満であるとＣＰＵ１０５が判断した場合、Ｓ５０６へ進み、ＣＰＵ１０５が、メモリ出力なしの設定を圧縮部２５２に行う。
そして、再度、Ｓ５０７では、ＣＰＵ１０５が、レンダリング部２５１のレジスタ設定等、各種初期化処理を行った後、レンダリングスタートの信号を送りＤＬのレンダリングを開始する。
次に、Ｓ５０８では、ＣＰＵ１０５は、Ｓ５０７で生成された前記ラスタイメージを圧縮部２５２へ転送し設定されているＱテーブルでＪＰＥＧ圧縮を施す。
【００５３】
一方、Ｓ５０５で、ラスタイメージの圧縮後の容量が第１のしきい値の容量より大きいとＣＰＵ１０５が判断した場合、Ｓ５０９へ進み、ＣＰＵ１０５が、変数カレントＱＩＤの値をインクリメントしてＳ５０２へ戻る。そして、ＣＰＵ１０５が、変数カレントＱＩＤに設定されているＱテーブルＩＤのＱテーブルを圧縮部２５２へ再設定してレンダリングを再スタートする。
【００５４】
図７は、本実施形態を示す画像処理装置の制御手順を示すフローチャートである。本例は、第２の圧縮処理の詳細手順に対応する。第２の圧縮処理を示すフローチャートである。以下、図４に示したＳ４０６でＤＬをレンダリングし生成されたラスタイメージが圧縮されて、メモリに格納されるまでの詳細手順を説明する。なお、各ステップは、ＣＰＵ１０５がメモリ１０６にロードする制御プログラムをロードして実行することで実現される。
上述した図４に示したＳ４０６が実行されると本処理が開始され、Ｓ６０１で、ＣＰＵ１０５が、メモリ出力ありの設定を圧縮部２５２に行う。
そして、Ｓ６０２では、ＣＰＵ１０５が、レンダリング部２５１のレジスタ設定等、各種初期化処理を行った後、レンダリングスタートの信号を送りＤＬのレンダリングを開始する。
【００５５】
次に、Ｓ６０３では、ＣＰＵ１０５が、Ｓ５０２で生成された前記ラスタイメージを圧縮部２５２へ転送し設定されているＱテーブルでＪＰＥＧ圧縮を施す。Ｓ６０２で圧縮部の出力をありに設定されているので、圧縮部２５２はＤＭＡＣ２５３を経由してメモリに出力を行う。
【００５６】
そして、Ｓ６０４では、圧縮部２５２のＪＰＥＧ圧縮の出力カウンタが第１のしきい値の容量未満で出力が完了しているかどうかをＣＰＵ１０５が判断する。ここで、第１のしきい値の容量未満で出力が完了しているとＣＰＵ１０５が判断した場合、圧縮イメージはメモリに正常に格納され、Ｓ６０６へ進み、第２の圧縮処理は終了となる。
【００５７】
一方、Ｓ６０４で、ＪＰＥＧ圧縮の出力カウンタが第１のしきい値の容量に達しているとＣＰＵ１０５が判断した場合は、Ｓ６０５へ進み、圧縮部２５２が、圧縮処理の中断を行う（Ｓ６０５）。そして、ＣＰＵ１０５が、メモリに格納された圧縮イメージの残骸を破棄して、Ｓ６０６へ進み、変数カレントＱＩＤの値をインクリメントして、Ｓ６０２へ戻る。そして、ＣＰＵ１０５が、変数カレントＱＩＤに設定されているＱテーブルＩＤのＱテーブルを圧縮部２５２へ再設定してレンダリングを再スタートする。なお、S
【００５８】
第１実施形態に示す画像処理装置では、空きメモリが不足している場合、メモリ空き待ち時間を利用して、空圧縮処理を実行するため、空きメモリ待ち解消後の圧縮処理時間を、圧縮率が高い場合でも最小限に抑えることが可能である。
また、空きメモリが充分にある場合は、無駄な空圧縮処理を省くことができ、圧縮処理時間を短縮することが可能である。
〔第２実施形態〕
【００５９】
第１実施形態に示した画像処理装置では、空きメモリの容量だけでメモリの使用状況を判断していたが、即座に解消される見込みの圧縮イメージの容量を空きメモリと同等に扱うことも可能である。ここでの説明は前述の第１実施形態の図３とほぼ同様なため、異なる部分のみを以下説明する。より具体的には、ＣＰＵ１０５が背景圧縮データのデータ容量が、メモリ１０６に確保できる空き容量とメモリ１０６で使用できるメモリ容量から決定される第１のしきい値との差分量を超えるかどうかを判断する。そして、第１のしきい値との差分量を超えるとＣＰＵ１０５が判断した場合、背景圧縮データをメモリ１０６に記憶させることなく、圧縮部２５２よりイメージデータを圧縮させる空圧縮処理を実行する。一方、第１のしきい値との差分量を超えないとＣＰＵ１０５が判断した場合、圧縮部２５２による空圧縮処理を実行することなく背景圧縮データをメモリ１０６に記憶させる例である。
【００６０】
図８は、本実施形態を示す画像処理装置の制御手順を示すフローチャートである。本例は、フォールバック処理であって、図３に示したＳ３０５の詳細手順に対応する。なお、各ステップは、ＣＰＵ１０５がメモリ１０６にロードする制御プログラムをロードして実行することで実現される。
【００６１】
上述した図３に示したＳ３０５が実行されると本処理が開始される。ＣＰＵ１０５が、メモリ１０６上に生成されたＤＬをレンダリング部２５１のローカルメモリへ転送する（Ｓ７０１）。Ｓ７０２へ進み、ＣＰＵ１０５が、変数カレントＱＩＤに設定されているＱテーブルＩＤのＱテーブルを圧縮部２５２へ設定する。Ｓ７０３で、メモリの使用状況の判定を行う。
図９は、図１に示したメモリ１０６における第２のメモリ使用状況を示す図である。
図９において、１１０２が第１のしきい値の容量を示す。
【００６２】
Ｓ７０４において、ラスタ画像情報を格納可能な全メモリ容量と第１のしきい値の容量の差１１０３より、フォールバックの背景画像の容量１１０１が大きいとＣＰＵ１０５が判断した場合、Ｓ７０５へ進み、第１の圧縮処理を行う。
【００６３】
一方、Ｓ７０４で、ラスタ画像情報を格納可能な全メモリ容量と第１のしきい値の容量の差１１０３より、フォールバックの背景画像の容量１１０１以下であるとＣＰＵ１０５が判断した場合、Ｓ７０６へ進み、ＣＰＵ１０５が、第２の圧縮処理を行う。
そして、第１の圧縮処理及び第２の圧縮処理では、メモリ１０６に生成されたＤＬを圧縮イメージに変換してフォールバック処理を終了する。
第２実施形態を示す画像処理装置では、即座に解消される見込みの圧縮イメージの容量を空きメモリと同等に扱うことにより、より適切にメモリ使用状況を判定している。
このことによって、メモリ空き待ちが発生しそうな状況では、空圧縮処理を実行するため、空きメモリ待ち解消後の圧縮処理時間を、圧縮率が高い場合でも最小限に抑えることが可能である。
また、メモリ空き待ちが発生しなさそうな状況では、無駄な空圧縮処理を省くことができ、圧縮処理時間を短縮することが可能である。
〔第３実施形態〕
【００６４】
第２実施形態に示した画像処理装置では、即座に解消される見込みの圧縮イメージの容量を空きメモリと同等に扱っていたが、即座に解消される見込みの圧縮イメージを印刷待ち圧縮イメージと限定して取り扱うことも可能である。
【００６５】
ここでの説明は前述の第１実施形態に示した図３とほぼ同様なため、異なる部分のみを以下説明する。より具体的には、ＣＰＵ１０５が第１の判断手段、第２の判断手段、制御手段として機能する。そして、ＣＰＵ１０５が背景圧縮データのデータ容量が、メモリ１０６に確保できる空き容量とメモリ１０６で使用できるメモリ容量から決定される第１のしきい値との差分量を超えるかどうかを判断する。また、ＣＰＵ１０５は背景圧縮データと印刷待ち圧縮データとを合算したデータ容量が、メモリ１０６で使用できるメモリ容量から決定される第２のしきい値を超えるかどうかを判断する。
【００６６】
そして、背景圧縮データのデータ容量が差分量を超えるとＣＰＵ１０５が判断した場合、または、背景圧縮データのデータ容量が差分量を超ないとＣＰＵ１０５が判断した場合は、さらに続けて以下の判断を行う。ここで、背景圧縮データと印刷待ち圧縮データとを合算したデータ容量が第２のしきい値を超えるとＣＰＵ１０５が判断した場合、背景圧縮データをメモリ１０６に記憶させることなく、以下の処理を行う。ここで、ＣＰＵ１０５は圧縮部２５２によりイメージデータを圧縮させる空圧縮処理を実行する。
一方、背景圧縮データのデータ容量が前記差分量を超ないとＣＰＵ１０５が判断し、かつ、背景圧縮データと印刷待ち圧縮データとを合算したデータ容量が第２のしきい値を超えないとＣＰＵ１０５が判断した場合、以下の処理を行う。ここで、ＣＰＵ１０５は、圧縮部２５２による空圧縮処理を実行することなく背景圧縮データをメモリ１０６に記憶させる例である。
【００６７】
図１０は、本実施形態を示す画像処理装置の制御手順を示すフローチャートである。本例は、フォールバック処理であって、図３に示したＳ３０５の詳細手順に対応する。なお、各ステップは、ＣＰＵ１０５がメモリ１０６にロードする制御プログラムをロードして実行することで実現される。
【００６８】
上述した図３に示したＳ３０５が実行されると本処理が開始される。Ｓ３０３で、ＣＰＵ１０５が、メモリ１０６上に生成されたＤＬをレンダリング部２５１のローカルメモリへ転送する（Ｓ８０１）。そして、Ｓ８０２へ進み、ＣＰＵ１０５が、変数カレントＱＩＤに設定さているＱテーブルＩＤのＱテーブルを圧縮部２５２へ設定する。Ｓ８０３で、ＣＰＵ１０５はメモリの使用状況の判定を行う。
図１１は、図１に示したメモリ１０６における第３のメモリ使用状況を示す図である。なお、本例は、後述する第４実施形態においても援用する。
図１１において、１２０２は第１のしきい値の容量を示す。
【００６９】
Ｓ８０４において、ラスタ画像情報を格納可能な全メモリ容量と第１のしきい値の容量の差１２０３より、フォールバックの背景画像の容量１２０１が大きいとＣＰＵ１０５が判断した場合、Ｓ８０５へ進み、ＣＰＵ１０５が、第１の圧縮処理を行う。
【００７０】
一方、Ｓ８０４で、ラスタ画像情報を格納可能な全メモリ容量と第１のしきい値の容量の差１２０３より、フォールバックの背景画像の容量１２０１以下であるとＣＰＵ１０５が判断した場合は、Ｓ８０６へ進む。そして、Ｓ８０６で、ＣＰＵ１０５が、メモリの使用状況の判定を行うＳ８０６）。
【００７１】
そして、印刷待ち圧縮イメージの容量とフォールバックの背景圧縮イメージの容量の合算が、第２のしきい値１２０４の容量より大きいかどうかをＣＰＵ１０５が判断する（Ｓ８０７）。ここで、印刷待ち圧縮イメージの容量とフォールバックの背景圧縮イメージの容量の合算値が、第２のしきい値１２０４の容量より大きいとＣＰＵ１０５が判断した場合は、Ｓ８０５へ進み、ＣＰＵ１０５が、第１の圧縮処理を行う。
【００７２】
一方、Ｓ８０７で、印刷待ち圧縮イメージの容量とフォールバックの背景圧縮イメージの容量の合算値が、第２のしきい値１２０４の容量以下であるとＣＰＵ１０５が判断した場合、Ｓ８０８へ進み、第２の圧縮処理を行う。
そして、第１の圧縮処理及び第２の圧縮処理では、メモリ１０６に生成されたＤＬを圧縮イメージに変換してフォールバック処理を終了する。
第３実施形態に示す画像処理装置では、即座に解消される見込みの印刷待ち圧縮イメージの容量を空きメモリと同等に扱うことにより、より適切にメモリ使用状況を判定している。
このことによって、メモリ空き待ちが発生しそうな状況では、空圧縮処理を実行するため、空きメモリ待ち解消後の圧縮処理時間を、圧縮率が高い場合でも最小限に抑えることが可能である。
また、メモリ空き待ちが発生しなさそうな状況では、無駄な空圧縮処理を省くことができ、圧縮処理時間を短縮することが可能である。
〔第４実施形態〕
【００７３】
上記第３実施形態に示した画像処理装置では、紙なしや紙ジャムのように印刷できない状態にプリンタが陥った場合は、印刷待ち圧縮イメージは即座に消去されず、想定どおりメモリが空かない状態が続いてしまう。
【００７４】
プリンタの状態は確認することによって、前述の問題を解消することが可能である。ここでの説明は前述の実施形態１の図３とほぼ同様なため、異なる部分のみを以下説明する。より具体的には、ＣＰＵ１０５が第１の判断手段、第２の判断手段と、第１の制御手段、第２の制御手段として機能する。つまり、ＣＰＵ１０５が背景圧縮データのデータ容量が、メモリ１０６に確保できる空き容量とメモリ１０６で使用できるメモリ容量から決定される第１のしきい値との差分量を超えるかどうかを判断する第１の判断手段として機能する。同様に、ＣＰＵ１０５が背景圧縮データと前記印刷待ち圧縮データとを合算したデータ容量が、メモリ１０６で使用できるメモリ容量から決定される第２のしきい値を超えるかどうかを判断する第２の判断手段として機能する。
【００７５】
そして、プリンタ１０３が記録紙にイメージデータを出力できる状態であるとＣＰＵ１０５が判別した場合、以下の判断を行う。ここで、ＣＰＵ１０５は、背景圧縮データのデータ容量が、メモリ１０６に確保できる空き容量とメモリ１０６で使用できるメモリ容量から決定される第１のしきい値との差分量を超えるかどうかを判断する。ここで、第１のしきい値との差分量を超えないとＣＰＵ１０５が判断した場合（後述するＳ９１０でＮＯと判断した場合）、さらに以下の判断を行う。ここで、ＣＰＵ１０５は背景圧縮データと印刷待ち圧縮データとを合算したデータ容量が、メモリ１０６で使用できるメモリ容量から決定される第２のしきい値を超えるかどうかを判断する。ここで、データ容量が、第２のしきい値を超えるとＣＰＵ１０５が判断した場合、背景圧縮データをメモリ１０６に記憶させることなく、後述するＳ９１１でメモリ１０６によりイメージデータを圧縮させる空圧縮処理を実行する。
一方、ＣＰＵ１０５は、プリンタ１０３が記録紙にイメージデータを出力できる状態であるとＣＰＵ１０５が判別した場合で、かつ、第２のしきい値を超えないとＣＰＵ１０５が判断した場合、以下の処理を行う。ここで、ＣＰＵ１０５は圧縮部２５２による空圧縮処理を実行することなく背景圧縮データをメモリ１０６に記憶させる。この処理は、後述するＳ９０９，Ｓ９１３でともにＮＯと判別される場合にＣＰＵ１０５により実行される。
一方、プリンタ１０３が記録紙にイメージデータを出力できる状態でないとＣＰＵ１０５が判別した場合、さらに以下の判断を行う。ここで、ＣＰＵ１０５は、背景圧縮データと前記印刷待ち圧縮データとを合算したデータ容量が、メモリ１０６で使用できるメモリ容量から決定される第２のしきい値を超えるかどうかを判断する。ここで、データ容量が、第２のしきい値を超えるとＣＰＵ１０５が判断した場合、後述するＳ９０７で、圧縮部２５２によりイメージデータを空圧縮処理を実行する。一方、背景圧縮データと印刷待ち圧縮データとを合算したデータ容量が、第２のしきい値を超えないとＣＰＵ１０５が判断した場合、後述するＳ９０８を実行する。つまり、ＣＰＵ１０５は圧縮部２５２により背景圧縮データを空圧縮処理させることなくメモリ１０６に記憶させる。以下、図１２に従って各処理を説明する。なお、第２のしきい値は図１１に示した通りであり、第１のしきい値は、図９にしめした通りである。
【００７６】
図１２は、本実施形態を示す画像処理装置の制御手順を示すフローチャートである。本例は、フォールバック処理であって、図３に示したＳ３０５の詳細手順に対応する。なお、各ステップは、ＣＰＵ１０５がメモリ１０６にロードする制御プログラムをロードして実行することで実現される。
【００７７】
上述した図３に示したＳ３０５が実行されると本処理が開始され、Ｓ３０３で、ＣＰＵ１０５が、メモリ１０６上に生成されたＤＬをレンダリング部２５１のローカルメモリへ転送し（Ｓ９０１）、Ｓ９０２へ進む。Ｓ９０２では、ＣＰＵ１０５が変数カレントＱＩＤに設定さているＱテーブルＩＤのＱテーブルを圧縮部２５２へ設定する。
【００７８】
そして、Ｓ９０３で、ＣＰＵ１０５はプリンタの状態を判定する。そして、プリンタ１０３が紙なしや紙ジャムなどが発生していて出力不可状態であるかどうかをＣＰＵ１０５が判断する（Ｓ９０４）。ここで、プリンタ１０３が紙なしや紙ジャムなどが発生していて出力不可状態であるとＣＰＵ１０５が判断した場合は、Ｓ９０５へ進む。
これ以降の説明は、第３実施形態の図１０に示したＳ８０６以降と同様のため、省略する。
一方、Ｓ９０４で、プリンタが紙なしや紙ジャムなど発生していなく、出力可能状態であるとＣＰＵ１０５が判断した場合は、Ｓ９０９へ進む。
これ以降の説明は、第３実施形態における図１０に示したＳ８０３以降と同様のため、省略する。
【００７９】
上記第４実施形態に示した画像処理装置では、プリンタの状態は確認することによって、印刷待ち圧縮イメージは、即座に消去されるか否かを判定することができるので、より適切にメモリ使用状況を判定している。
このことによって、メモリ空き待ちが発生しそうな状況では、空圧縮処理を実行するため、空きメモリ待ち解消後の圧縮処理時間を、圧縮率が高い場合でも最小限に抑えることが可能である。
また、メモリ空き待ちが発生しなさそうな状況では、無駄な空圧縮処理を省くことができ、圧縮処理時間を短縮することが可能である。
【００８０】
以上、詳細に説明した本発明を適用できる本実施形態により、アプリケーションで扱うデータが異なる場合でも、インストール時にデータ定義ファイルによる不要なデータの削除を伴った移行を行うことが出来る。
【００８１】
本発明の各工程は、ネットワーク又は各種記憶媒体を介して取得したソフトウエア（プログラム）をパソコン（コンピュータ）等の処理装置（ＣＰＵ、プロセッサ）にて実行することでも実現できる。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。
【符号の説明】
【００８２】
１０１  コントローラ
１０５  ＣＰＵ
１０６  メモリ
１０７  記憶部
【図１】
2012070304.tif 000003
【図２】
2012070304.tif 000004
【図３】
2012070304.tif 000005
【図４】
2012070304.tif 000006
【図５】
2012070304.tif 000007
【図６】
2012070304.tif 000008
【図７】
2012070304.tif 000009
【図８】
2012070304.tif 000010
【図９】
2012070304.tif 000011
【図１０】
2012070304.tif 000012
【図１１】
2012070304.tif 000013
【図１２】
2012070304.tif 000014