(57)【要約】【課題】  連続したメモリ空間の消費を抑え、新たな描画用に連続したメモリ空間を確保しやすくした印刷装置を提供する。【解決手段】  新規描画のために連続したメモリ空間を確保し、非圧縮の画像データを配置する手段と、保存のために非圧縮の画像データを圧縮する手段と、圧縮した画像データが元の画像データよりも大きなサイズとなったか否かを判断する手段と、圧縮した画像データが元の画像データよりも大きなサイズとなった場合に、分断された状態を含むメモリ空間に非圧縮の元の画像データを再配置する手段とを備える。【選択図】  図４
2006231570.tif 000002
【特許請求の範囲】
【請求項１】
新規描画のために連続したメモリ空間を確保し、非圧縮の画像データを配置する手段と、
保存のために非圧縮の画像データを圧縮する手段と、
圧縮した画像データが元の画像データよりも大きなサイズとなったか否かを判断する手段と、
圧縮した画像データが元の画像データよりも大きなサイズとなった場合に、分断された状態を含むメモリ空間に非圧縮の元の画像データを再配置する手段とを備えたことを特徴とする印刷装置。
【請求項２】
再描画時に、上記の分断された状態を含むメモリ空間に配置された非圧縮の元の画像データを連続したメモリ空間に再配置する手段を備えたことを特徴とする請求項１に記載の印刷装置。
【請求項３】
メモリ空間上で分断された非圧縮の画像データ、メモリ空間上で分断された圧縮された画像データ、および、メモリ空間上で連続した非圧縮の画像データの３つの状態の画像データを管理することを特徴とする請求項１または２のいずれか一項に記載の印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタ画像の描画メモリ制御を改良した印刷装置に関する。
【背景技術】
【０００２】
高レベルのページ制御機能を持たない印刷装置（ドットマトリクスプリンタのようなラスタプリンタ、一部のページプリンタ等）では、ページイメージ全体を描画メモリに配置すると莫大なサイズになってしまうため、印刷処理において１ページ分のページイメージを描画メモリに配置するのではなく、ページをいくつかの矩形領域に分割し、この領域単位にイメージの構成を行うバンディング（banding）と呼ばれる技術が採用されている。この際の分割の単位（描画単位）はバンド（band）と呼ばれている。このようなバンディング技術を用いることにより、部分的なイメージの連続として印刷処理を行い、システムに大きな負荷をかけないで印刷処理を行うことができる。
【０００３】
図１は一般的な印刷装置における描画メモリ制御の処理を示すシーケンス図であり、プリンタアプリケーション２から印刷装置１に対してページのオープンを要求し（ステップＳ１）、ページオープンが成功すると（ステップＳ２）、続いてバンド＃１のオープンを要求し（ステップＳ３）、描画メモリの確保が行われることでバンドのオープンが成功する（ステップＳ４）。同様に、バンド＃２のオープンが行われ（ステップＳ５、Ｓ６）、印刷処理が終わった場合は、描画メモリの開放を伴うバンド＃１のクローズ（ステップＳ７、Ｓ８）、バンド＃２のクローズ（ステップＳ９、Ｓ１０）、ページのクローズ（ステップＳ１１、Ｓ１２）が行われる。
【０００４】
ところで、効率よくプリンタ画像を描画するためには、１バンドが入る連続したメモリ空間の確保が必要である。これは高速かつ安定したタイミングで描画データの読み出しを行えるようにする必要からである。
【０００５】
また、再描画のためにプリンタ画像を描画メモリ上に保存する場合、描画されたプリンタ画像はそのままではメモリ量を多く消費するため、各種の圧縮形式で圧縮が行われる（例えば、特許文献１〜３参照。）。なお、再描画のために圧縮された状態で保存されるプリンタ画像は、再描画時に伸張され連続したメモリ空間に配置されて用いられるものであるため、圧縮された状態では連続したメモリ空間に配置する必要はなく、一般に分断された状態で保存されるものである。
【特許文献１】特開平５−２０７２９６号公報
【特許文献２】特開平９−２７０９１９号公報
【特許文献３】特開２０００−２３２５８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来における描画メモリの制御は上述したように行われるものであったが、次のような問題点が指摘されていた。
【０００７】
すなわち、圧縮形式および対象となる画像によっては、元の画像サイズより圧縮した結果（符号）のサイズがかえって大きくなってしまう場合がある。このような場合、圧縮する意味はないため、従来は圧縮結果を破棄し、非圧縮の画像データを残すという処理を行っていた。
【０００８】
しかし、非圧縮の画像データをそのままメモリに残すということは、画像保存にも連続したメモリ空間を消費してしまうということになる。連続したメモリ空間が必要なのは、描画の際であって、保存には連続したメモリ空間は必要としない。このため、連続したメモリ空間を必要以上に消費してしまい、メモリの分断化（圧縮符号で虫食い状態にメモリが使われてしまうこと）が進むと、小さなメモリの隙間は多数あるが、連続したエリアがなくなったスポンジ状になり、新たな描画用のメモリが確保できなくなってしまう。
【０００９】
なお、圧縮（符号化）はもともと連続したメモリ空間を確保せず、メモリの空いているところを順次使用するので、圧縮した画像データが対応するページの印刷が終わってメモリが開放された場合、もしくは圧縮失敗（サイズが元よりも大きくなった場合）時に圧縮した画像データが破棄された場合に、メモリの分断化が進む。
【００１０】
本発明は上記の従来の問題点に鑑み提案されたものであり、その目的とするところは、連続したメモリ空間の消費を抑え、新たな描画用に連続したメモリ空間を確保しやすくした印刷装置を提供することにある。
【課題を解決するための手段】
【００１１】
上記の課題を解決するため、本発明にあっては、請求項１に記載されるように、新規描画のために連続したメモリ空間を確保し、非圧縮の画像データを配置する手段と、保存のために非圧縮の画像データを圧縮する手段と、圧縮した画像データが元の画像データよりも大きなサイズとなったか否かを判断する手段と、圧縮した画像データが元の画像データよりも大きなサイズとなった場合に、分断された状態を含むメモリ空間に非圧縮の元の画像データを再配置する手段とを備えた印刷装置を要旨としている。
【００１２】
また、請求項２に記載されるように、再描画時に、上記の分断された状態を含むメモリ空間に配置された非圧縮の元の画像データを連続したメモリ空間に再配置する手段を備えるものとすることができる。
【００１３】
また、請求項３に記載されるように、メモリ空間上で分断された非圧縮の画像データ、メモリ空間上で分断された圧縮された画像データ、および、メモリ空間上で連続した非圧縮の画像データの３つの状態の画像データを管理するものとすることができる。
【発明の効果】
【００１４】
本発明の印刷装置にあっては、保存のために圧縮した画像データが元の画像データよりも大きなサイズとなった場合に、非圧縮の元の画像データを分断された状態を含むメモリ空間に再配置するようにしているので、連続したメモリ空間の消費を抑えることができ、新たな描画用に連続したメモリ空間を確保しやすくなるという効果がある。また、再描画時に、分断された非圧縮の画像データを連続したメモリ空間に再配置するので、問題なく再描画を行うことができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の好適な実施形態につき説明する。
【００１６】
図２は本発明の一実施形態にかかる印刷装置の構成図であり、印刷装置１にはプリンタアプリケーション２から要求されるページおよびバンドのオープン／クローズの要求に応じて描画メモリの割り当て、圧縮、再配置等の制御を行う描画メモリ制御部１１が設けられている。
【００１７】
図３はバンドオープンの処理を示すフローチャートである。
【００１８】
バンドオープンの要求に応じて、先ず、連続した空きメモリが要求サイズ分あるか否かを判断し（ステップＳ２１）、ある場合はバンド描画のメモリを確保し（ステップＳ２２）、バンドオープンを成功とする（ステップＳ２３）。
【００１９】
また、連続した空きメモリが要求サイズ分ない場合（ステップＳ２１のＮｏ）は、クローズ処理中のバンドがあるか否か判断し（ステップＳ２４）、ない場合は続いて印刷が完了すればメモリが開放されるページがあるか否か判断し（ステップＳ２５）、ない場合はメモリフルによるバンドオープンの失敗とする（ステップＳ２６）。
【００２０】
また、クローズ処理中のバンドがある場合（ステップＳ２４のＹｅｓ）もしくは印刷が完了すればメモリが開放されるページがある場合（ステップＳ２５のＹｅｓ）は、メモリビジーによるバンドオープンの失敗とする（ステップＳ２７）。この場合はリトライによりメモリの確保が行える可能性がある。
【００２１】
図４はバンドクローズの処理を示すフローチャートである。
【００２２】
バンドクローズの要求に応じて、先ず、非圧縮の画像データと同じサイズになるようにメモリを確保する（ステップＳ３１）。この場合、メモリ空間が分断された状態であるか否かにかかわらず、合計が非圧縮の元の画像データと同じサイズになるようにメモリを確保する。
【００２３】
次いで、描画用に連続したメモリ空間に配置された非圧縮の画像データを圧縮し、分断された圧縮エリアに配置する（ステップＳ３２）。そして、圧縮した画像データが元の画像データよりも大きなサイズとなっていないか否かにより符号化が成功したかどうか判断し（ステップＳ３３）、成功しなかった場合はステップＳ３１で確保した分断されたエリアに非圧縮の元の画像データをコピーして再配置し（ステップＳ３４）、どこにどの部分の画像データが保管されているのかを記録する（ステップＳ３５）。また、符号化が成功した場合（ステップＳ３３のＹｅｓ）は、分断されたエリアへの再配置（ステップＳ３４）はスキップする。
【００２４】
次いで、描画時に確保した非圧縮の元の画像データの配置されている連続したメモリ空間のバンドを開放し（ステップＳ３６）、処理を終了する（ステップＳ３７）。
【００２５】
図５は再描画のためのバンドオープンの処理を示すフローチャートである。
【００２６】
再描画のためのバンドオープンの要求に応じて、先ず、連続したメモリ空間からバンドサイズ分を確保する（ステップＳ４１）。次いで、分断されたメモリ空間に配置された画像データを伸張する（ステップＳ４２）。この場合、分断されたメモリ空間に配置された画像データが圧縮されたものである場合には圧縮形式に応じた伸張を行い、非圧縮の画像データである場合には単純にコピーによる再配置となる。
【００２７】
そして、バンドオープン成功とし（ステップＳ４３）、処理を終了する（ステップＳ４４）。
【００２８】
以上のように、従来は連続したメモリ空間でしか非圧縮の画像データを管理していなかったのに対し、圧縮結果のサイズの方が大きくなる圧縮失敗（符号化失敗）時に、非圧縮の画像データを分断して保管（非圧縮の画像データを分断したメモリ空間に移動）するようにしているので、連続したメモリ空間を次の描画に明け渡すことができ、連続したメモリが保存用として消費されてしまうことがなく、メモリを効率よく利用できるようになる。
【００２９】
また、画像の再描画を行うには、画像データはいつでも連続した非圧縮状態に戻せないといけないが、分断した非圧縮の画像データをいつでも連続した非圧縮の画像データに戻すことができ、問題なく再描画を行うことができる。
【００３０】
更に、メモリ空間上で分断された非圧縮の画像データ、メモリ空間上で分断された圧縮された画像データ、および、メモリ空間上で連続した非圧縮の画像データの３つの状態の画像データが存在することになるが（メモリ空間上で連続した圧縮された画像データという状態はメモリ使用効率が悪いので存在意義がない）、このような３つの状態の画像データを管理することで、トータルでのメモリ使用効率を向上することができる。
【００３１】
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。
【図面の簡単な説明】
【００３２】
【図１】一般的な印刷装置における描画メモリ制御の処理を示すシーケンス図である。
【図２】本発明の一実施形態にかかる印刷装置の構成図である。
【図３】バンドオープンの処理を示すフローチャートである。
【図４】バンドクローズの処理を示すフローチャートである。
【図５】再描画のためのバンドオープンの処理を示すフローチャートである。
【符号の説明】
【００３３】
１      印刷装置
１１    描画メモリ制御部
２      プリンタアプリケーション
【図１】
2006231570.tif 000003
【図２】
2006231570.tif 000004
【図３】
2006231570.tif 000005
【図４】
2006231570.tif 000006
【図５】
2006231570.tif 000007