(57)【要約】【課題】複数ページ処理での処理の高速化およびエラーリカバリー可能な画像処理装置および方法を提供する。【解決手段】第１変換手段は入力された描画データを中間コード画像データに変換し、管理手段にブロックメモリを要求し、未使用ブロックメモリ管理リストを確認し、未使用のブロックメモリに中間コード画像データを保持することを第１変換手段に対して許可するとともに、未使用ブロックメモリ管理リストから外し、第１変換手段は許可されたブロックメモリに中間コード画像データを保持する。管理手段が管理する印刷待ちキューに１ページ分が設定されると、管理手段は第２変換手段に１ページ分を供給する。第２変換手段は解析を行い、ビットマップデータに展開して第２記憶領域に保持し、順次印字装置７に出力する。【選択図】図１
2006130776.tif 000002
【特許請求の範囲】
【請求項１】
描画データを中間コード画像データに変換する第１の変換手段と、
前記第１の変換手段で変換した中間コード画像データを記憶する記憶手段と、
前記記憶手段に記憶した中間コード画像データを解析してビットマップデータに展開する第２の変換手段と、
前記第１の変換手段、前記記憶手段および前記第２の変換手段の管理を行う管理手段と
を具備し、
前記管理手段は、
前記第２の変換手段の処理速度に基づき、前記記憶手段に記憶する中間コード画像データの制限量を決定し、
前記記憶手段に記憶した中間コード画像データの量が前記制限量を下回る場合は前記第１の変換手段に対して処理を許可する
ことを特徴とする画像処理装置。
【請求項２】
前記制限量は、
前記第２の変換手段の処理を待つ最大のページ数である
ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記管理手段は、
前記記憶手段が有する複数の領域における領域管理リスト
を具備し、
前記領域管理リストに対して、前記中間コード画像データが記憶されている領域を使用領域として設定し、前記中間コード画像データが記憶されていない領域を未使用領域として設定し、
前記第２の変換手段で展開したビットマップデータの処理が正常終了した際に、該ビットマップデータに対応する中間コード画像データが記憶されている領域を前記未使用領域に変更する
ことを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記管理手段は、
前記第２の変換手段が展開したビットマップデータを圧縮する場合、前記第２の変換手段がビットマップデータの展開を終了した際に、該ビットマップデータに対応する中間コード画像データが記憶されている領域を前記未使用領域に変更する
ことを特徴とする請求項３記載の画像処理装置。
【請求項５】
前記管理手段は、
前記第２の変換手段で展開したビットマップデータの処理が正常終了できなかった際に、該ビットマップデータに対応する中間コード画像データを該第２の変換手段に再提供する
ことを特徴とする請求項１記載の画像処理装置。
【請求項６】
前記管理手段は、
前記記憶手段に記憶した中間コード画像データの量が前記制限量を下回る際に前記記憶手段が有する領域が不足した場合、システムメモリ領域から前記中間コード画像データを記憶する領域を獲得する
ことを特徴とする請求項１記載の画像処理装置。
【請求項７】
描画データを中間コード画像データに変換する第１の変換処理を行い、前記第１の変換処理で変換した中間コード画像データを記憶手段に記憶し、該記憶した中間コード画像データを解析してビットマップデータに展開する第２の変換処理を行う際に、
前記第２の変換処理の処理速度に基づき、前記記憶手段に記憶する中間コード画像データの制限量を決定し、
前記記憶手段に記憶した中間コード画像データの量が前記制限量を下回る場合は前記第１の変換処理を許可する
ことを特徴とする画像処理方法。
【請求項８】
前記制限量は、
前記第２の変換処理を待つ最大のページ数である
ことを特徴とする請求項７記載の画像処理方法。
【請求項９】
前記記憶手段が有する複数の領域における領域管理リストに対して、前記中間コード画像データが記憶されている領域を使用領域として設定し、前記中間コード画像データが記憶されていない領域を未使用領域として設定し、
前記第２の変換処理で展開したビットマップデータの処理が正常終了した際に、該ビットマップデータに対応する中間コード画像データが記憶されている領域を前記未使用領域に変更する
ことを特徴とする請求項７記載の画像処理方法。
【請求項１０】
前記第２の変換処理が展開したビットマップデータを圧縮する場合、前記第２の変換処理がビットマップデータの展開を終了した際に、該ビットマップデータに対応する中間コード画像データが記憶されている領域を前記未使用領域に変更する
ことを特徴とする請求項９記載の画像処理方法。
【請求項１１】
前記第２の変換処理で展開したビットマップデータの処理が正常終了できなかった際に、該ビットマップデータに対応する中間コード画像データの前記第２の変換処理を再び行う
ことを特徴とする請求項７記載の画像処理方法。
【請求項１２】
前記記憶手段に記憶した中間コード画像データの量が前記制限量を下回る際に前記記憶手段が有する領域が不足した場合、システムメモリ領域から前記中間コード画像データを記憶する領域を獲得する
ことを特徴とする請求項７記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および方法に関し、特に、入力された描画データをバンド毎に中間コード画像データに変換し、変換された中間コード画像データをレンダリング機構に供給してレンダリング処理（ビットマップへの変換）を行う画像処理装置および方法に関する。
【背景技術】
【０００２】
１ページ分、或いは複数ページ分に相当する出力画像であるビットマップデータを展開するメモリを保有しておらず、その代わりに１ページを複数のバンドに分割して、そのバンドのサイズに相当するバッファ（以下、バンドバッファと称する）を複数備えた画像処理装置においては、入力された画像データを一旦中間コード画像データの形式に変換する必要がある。
【０００３】
当初は、１つのＣＰＵ（Central Processing Unit）により、入力された描画データを中間コード画像データに変換し、１ページ分の中間コード画像データの生成後に、引き続きバンド単位で中間コード画像データを解析してバンドバッファにビットマップデータを展開するといった処理を行っていた。
【０００４】
しかし、プリンタエンジンの高速化に伴い、入力された描画データを中間コード画像データに変換する変換手段と、中間コード画像データを解析してビットマップデータに展開する変換手段とを別々の処理手段で行わせる必要が発生し、また、入力された描画データを中間コード画像データに変換する変換手段の処理速度が中間コード画像データを解析してビットマップデータに展開する変換手段の処理速度より遅いことから、例えば、図９に示すように、描画データ８を中間コード画像データ９に変換して出力する第１変換手段２と、第１変換手段２により出力された中間コード画像データ９を記憶する第１記憶領域３と、第１変換手段２の動作とは独立に、第１記憶領域３に記憶された中間コード画像データ９を読み出して、中間コード画像データ９をビットマップデータ１０に変換して出力する第２変換手段４を有するプリンタ制御装置がある（例えば、特許文献１参照。）。
【０００５】
また、例えば、両面印刷機構による両面印刷モード時に、展開処理手段によりいずれかのデータメモリに記憶された中間データに基づくビットマップ処理開始後、他のデータメモリに対して分割手段により分割された後続するページの中間データの書き込みを開始させるデータ処理を実行させるデータ処理手段を具備する印刷装置および印刷装置のデータ処理方法がある（例えば、特許文献２参照。）。
【０００６】
また、単にそれぞれの処理手段を独立に高速に動作させるものとして、例えば、ソースファイルから印刷のための画素情報を得るラスタライズ処理機能を有する複数の情報処理機器を含む情報処理群を粗結合した情報処理システムで、上記のいずれかの情報処理機器がソースファイルから生成した中間コードファイルをラスタライズ処理が可能な他の情報処理機器に転送する転送手段を有するページ記述言語インタープリタがある（例えば、特許文献３参照。）。
【０００７】
また、例えば、印刷データを中間段階のデータに変換する処理を制御する第１のＣＰＵを備えた第１の制御区間と、前記中間段階のデータを印刷機構に出力可能な２値化データに変換する処理を制御する第２のＣＰＵを備えた第２の処理区間を備える印刷装置およびその制御方法がある（例えば、特許文献４参照。）。
【０００８】
また、例えば、記憶手段から中間データを読み出して、プレーンおよびバンド単位にイメージデータを生成する複数のレンダリング手段と、前記複数のレンダリング手段それぞれがレンダリングすべきバンドを決定する制御手段を有する画像処理装置およびその方法がある（例えば、特許文献５参照。）。
【特許文献１】特許第３１６６１５６号
【特許文献２】特許第２９８１４４０号
【特許文献３】特許第３１６８５８０号
【特許文献４】特開２０００−１９８２４０号公報
【特許文献５】特開２００１−４５３０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし、特許文献１に記載の技術では、入力された描画データを中間コード画像データに変換する変換手段の処理速度が、中間コード画像データを解析してビットマップデータに展開する変換手段の処理速度より遅いという前提であれば、ＦＩＦＯ（First-In First-Out）のような記憶手段を設け、それぞれの処理手段を独立に動作させることにより処理効率の向上が望めるが、最近の急激なＣＰＵ性能の向上により、中間コード画像データを解析してビットマップデータに展開する変換手段の処理速度の方が中間コード画像データを解析してビットマップデータに展開する変換手段の処理速度より早くなっており、そのためＦＩＦＯのような記憶手段ではオーバーフローが発生してしまう。
【００１０】
また、例え入力された描画データを中間コード画像データに変換する変換手段の処理速度が、中間コード画像データを解析してビットマップデータに展開する変換手段の処理速度より遅いという条件下であっても、上記の構成では、それぞれの処理手段が独立に動作していることにより、ジャム等のエラーが発生した場合でのリカバリー処理において問題（例えば、どの部分でエラーが発生したのかが判定できない）となる。
【００１１】
上記を鑑みて提供された特許文献２に記載の技術では、それぞれの処理手段が同期していることにより、ジャム等のエラーが発生した場合でのリカバリー処理には対応可能であるが、複数ページを高速に処理するという点で見ると、両面印刷モード時という制約があり、また少なくとも１ページ目の中間コード画像データのビットマップへの展開処理が開始されるまでは、後続のページの処理ができないという欠点がある。
【００１２】
そこで、本発明は、複数ページ処理での処理の高速化およびエラーリカバリー可能な画像処理装置および方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するため、請求項１の発明は、描画データを中間コード画像データに変換する第１の変換手段と、前記第１の変換手段で変換した中間コード画像データを記憶する記憶手段と、前記記憶手段に記憶した中間コード画像データを解析してビットマップデータに展開する第２の変換手段と、前記第１の変換手段、前記記憶手段および前記第２の変換手段の管理を行う管理手段とを具備し、前記管理手段は、前記第２の変換手段の処理速度に基づき、前記記憶手段に記憶する中間コード画像データの制限量を決定し、前記記憶手段に記憶した中間コード画像データの量が前記制限量を下回る場合は前記第１の変換手段に対して処理を許可することを特徴とする。
【００１４】
また、請求項２の発明は、請求項１の発明において、前記制限量は、前記第２の変換手段の処理を待つ最大のページ数であることを特徴とする。
【００１５】
また、請求項３の発明は、請求項１の発明において、前記管理手段は、前記記憶手段が有する複数の領域における領域管理リストを具備し、前記領域管理リストに対して、前記中間コード画像データが記憶されている領域を使用領域として設定し、前記中間コード画像データが記憶されていない領域を未使用領域として設定し、前記第２の変換手段で展開したビットマップデータの処理が正常終了した際に、該ビットマップデータに対応する中間コード画像データが記憶されている領域を前記未使用領域に変更することを特徴とする。
【００１６】
また、請求項４の発明は、請求項３の発明において、前記管理手段は、前記第２の変換手段が展開したビットマップデータを圧縮する場合、前記第２の変換手段がビットマップデータの展開を終了した際に、該ビットマップデータに対応する中間コード画像データが記憶されている領域を前記未使用領域に変更することを特徴とする。
【００１７】
また、請求項５の発明は、請求項１の発明において、前記管理手段は、前記第２の変換手段で展開したビットマップデータの処理が正常終了できなかった際に、該ビットマップデータに対応する中間コード画像データを該第２の変換手段に再提供することを特徴とする。
【００１８】
また、請求項６の発明は、請求項１の発明において、前記管理手段は、前記記憶手段に記憶した中間コード画像データの量が前記制限量を下回る際に前記記憶手段が有する領域が不足した場合、システムメモリ領域から前記中間コード画像データを記憶する領域を獲得することを特徴とする。
【００１９】
また、請求項７の発明は、描画データを中間コード画像データに変換する第１の変換処理を行い、前記第１の変換処理で変換した中間コード画像データを記憶手段に記憶し、該記憶した中間コード画像データを解析してビットマップデータに展開する第２の変換処理を行う際に、前記第２の変換処理の処理速度に基づき、前記記憶手段に記憶する中間コード画像データの制限量を決定し、前記記憶手段に記憶した中間コード画像データの量が前記制限量を下回る場合は前記第１の変換処理を許可することを特徴とする。
【００２０】
また、請求項８の発明は、請求項７の発明において、前記制限量は、前記第２の変換処理を待つ最大のページ数であることを特徴とする。
【００２１】
また、請求項９の発明は、請求項７の発明において、前記記憶手段が有する複数の領域における領域管理リストに対して、前記中間コード画像データが記憶されている領域を使用領域として設定し、前記中間コード画像データが記憶されていない領域を未使用領域として設定し、前記第２の変換処理で展開したビットマップデータの処理が正常終了した際に、該ビットマップデータに対応する中間コード画像データが記憶されている領域を前記未使用領域に変更することを特徴とする。
【００２２】
また、請求項１０の発明は、請求項９の発明において、前記第２の変換処理が展開したビットマップデータを圧縮する場合、前記第２の変換処理がビットマップデータの展開を終了した際に、該ビットマップデータに対応する中間コード画像データが記憶されている領域を前記未使用領域に変更することを特徴とする。
【００２３】
また、請求項１１の発明は、請求項７の発明において、前記第２の変換処理で展開したビットマップデータの処理が正常終了できなかった際に、該ビットマップデータに対応する中間コード画像データの前記第２の変換処理を再び行うことを特徴とする。
【００２４】
また、請求項１２の発明は、請求項７の発明において、前記記憶手段に記憶した中間コード画像データの量が前記制限量を下回る際に前記記憶手段が有する領域が不足した場合、システムメモリ領域から前記中間コード画像データを記憶する領域を獲得することを特徴とする。
【発明の効果】
【００２５】
本発明によれば、中間コード画像データを保持する記憶領域を管理する管理手段を介して、独立に動作する入力された描画データを中間コード画像データに変換する第１変換手段と中間コード画像データを解析してビットマップデータに展開する第２変換手段とで同期がとれるため、複数ページ処理での高速化およびエラーリカバリーが可能になるという効果を奏する。
【発明を実施するための最良の形態】
【００２６】
以下、本発明に係る画像処理装置および方法の実施の形態について添付図面を参照して詳細に説明する。
【００２７】
図１は、本発明を適用した画像処理装置１の機能的な構成の一例を示す図である。
【００２８】
図１に示すように、画像処理装置１は、入力された描画データ８を中間コード画像データ９に変換する第１変換手段２、第１変換手段２で変換した中間コード画像データ９を保持する第１記憶領域３、中間コード画像データ９を解析してビットマップデータ１０に展開する第２変換手段４、第１変換手段２、第１記憶領域３および第２変換手段４を管理する管理手段５、第２変換手段４で展開したビットマップデータ１０を保持する第２記憶領域６、ビットマップデータ１０を紙等に印字して出力する印字装置７を具備して構成される。なお、第１変換手段２および第２変換手段４の形態には触れていないが、それは、本発明がそれぞれの変換手段の形態には依存しないことによるためであり、簡単な例として、第１変換手段２はＣＰＵ上で動作するソフトウェア、第２変換手段４は専用のハードウェアで構成されているものとして説明する。
【００２９】
ここで、印字装置７の出力がリアルタイム性を要求される場合には、第２変換手段４においてバンド単位で展開したビットマップデータ１０を圧縮し、それを第２記憶領域６に保持し、１ページ分の圧縮コードが第２記憶領域６に保持された後に、バンド単位に伸長しながらビットマップデータ１０を印字装置７に送る構成としても良い。
【００３０】
第１記憶領域３は、中間コード画像データ９を保持する専用の領域として、システム起動時に一定のサイズが割り振られる。
【００３１】
第１変換領域３は入力された描画データ８を中間コード画像データ９に変換する際に、１ページを複数のバンドで分割し、それぞれのバンド領域における描画データ８に対して中間コード画像データ９を生成するため、今後中間コード画像データ９はバンド単位で管理されることになる。そして、バンドによって中間コード画像データ９の量はまちまちであることから、第１記憶領域３を一定サイズ（以後、ブロックメモリと称する）に分割して管理すると非常に効率が良い。
【００３２】
第１変換手段２は入力された描画データ８を順次中間コード画像データ９に変換すると、管理手段５にブロックメモリを要求し、管理手段５はブロックメモリの要求を受け付けると、
図２（ａ）は、ブロックメモリ１１の一例を示す図である。
【００３３】
図２（ａ）に示すように、１つのブロックメモリ１１は、ヘッダ領域と中間コード画像データを保持する領域とから構成され、システム起動時においては、第１記憶領域３の全てのブロックメモリ１１は未使用状態である。
【００３４】
ここで、管理手段５は第１記憶領域３のブロックメモリ１１の使用／未使用を管理する未使用ブロックメモリ管理リスト１２を有している。
【００３５】
図２（ｂ）は、未使用ブロックメモリ管理リスト１２と第１記憶領域３のブロックメモリの関連について説明する図である。
【００３６】
未使用ブロックメモリはそれぞれのヘッダ領域のポインタによってリンクされた状態で保持されており、未使用ブロックメモリ管理リスト１２には、その先頭の未使用ブロックメモリのアドレスが保持されている。つまり、図２（ｂ）に示すように、例えば、未使用であるブロックメモリに中間コード画像データ９を保持する場合、未使用ブロックメモリ管理リスト１２が保持する先頭の未使用ブロックメモリのアドレスに対応する未使用ブロックメモリ（１）を提供し、これにより未使用ブロックメモリ管理リスト１２が保持する未使用ブロックメモリのアドレスは、未使用ブロックメモリ（１）のヘッダ領域のポインタによってリンクされている次の未使用ブロックメモリである（３）のアドレスが保持される。
【００３７】
ここで、第１変換手段２および管理手段５とが行う機能的な動作について説明する。
【００３８】
第１変換手段２に描画データ８が入力されると、第１変換手段２は入力された描画データ８を順次中間コード画像データ９に変換し、管理手段５にブロックメモリを要求し、管理手段５はブロックメモリの要求を受け付けると、未使用ブロックメモリ管理リストから未使用のブロックメモリが登録されているか否か確認する。
【００３９】
未使用ブロックメモリ管理リストに未使用のブロックメモリが登録されている場合、管理手段５は未使用のブロックメモリに中間コード画像データ９を保持することを第１変換手段２に対して許可するとともに、そのブロックメモリを未使用ブロックメモリ管理リストから外し、第１変換手段２は中間コード画像データ９の保持の許可を受け付けると、許可されたブロックメモリに中間コード画像データ９を保持する。
【００４０】
また、未使用ブロックメモリ管理リストに未使用のブロックメモリが登録されていない場合、管理手段５は一時的にシステムメモリからブロックメモリを獲得し、獲得したブロックメモリに中間コード画像データ９を保持することを第１変換手段２に対して許可し、第１変換手段２は中間コード画像データ９の保持の許可を受け付けると、許可されたブロックメモリに中間コード画像データ９を保持する。なお、システムメモリからブラックメモリを獲得できない場合には、後述する第２変換手段４の処理終了によるブロックメモリの開放を待機する。
【００４１】
通常、入力される描画データ８は事前にバンド単位にソーティングされていることはないので、従来方式のように、第１変換手段２により生成された中間コード画像データ９が即座に第２変換手段４により処理されるということはなく、第１変換手段２が１ページ分の描画データ８を全て中間コード画像データ９に変換するまでは、少なくとも第２変換手段４にそのページの中間コード画像データ９が渡されることはない。
【００４２】
第１変換手段２は１ページ分の中間コード画像データ９への変換を完了すると、バンド毎にそれぞれのヘッダ領域のポインタによってリンクされたブロックメモリを、更にバンド間でリンクすることにより一つにまとめて管理手段５が管理する印刷キュー待ちに設定する。
【００４３】
図３は、管理手段５による印刷待ちキュー１３の管理を説明する図である。
【００４４】
図３に示すように、管理手段５により管理されている印刷待ちキュー１３に、第１変換手段２により生成された中間コード画像データ９がページ毎に設定されている。例えば、１ページ目の中間コード画像データ９は８個のブロックメモリに保持され、第１のバンド分の中間コード画像データ９は４個のブロックメモリに保持され、これら４個のブロックメモリはリンクされ、第２のバンド分の中間コード画像データ９は４個のブロックメモリに保持され、これら４個のブロックメモリはリンクされ、更に第１のバンド分の４個のブロックメモリと第２のバンド分の４個のブロックメモリとがリンクされている。同様に２ページ目もバンド分のブロック同士がリンクされ、更にバンド同士がリンクされている。
【００４５】
そして、第１変換手段２は入力される描画データ（次のページ）８が存在し、且つ第２変換手段４の処理速度から算出された印刷待ちキュー１３として保持可能なページ数（以後、先行処理可能ページ数と称する）に達するまで、処理を継続する。
【００４６】
ここで、最近の急激なＣＰＵ性能の向上により、第１変換手段２の処理速度が第２変換手段４の処理速度より速くなり、また、入力される描画データ８の量はページ毎にまちまちで、ブロックメモリ数個分しか使用しないページもあれば、第１記憶領域３の全てのブロックメモリを使用しても足りないためにシステムメモリからブロックメモリを獲得しなければならないページもある。そこで、第１変換手段２による先行処理可能ページ数を事前に決定することにより、例えば、第１変換手段２による無制限なメモリの使用を防ぐことが可能となる。なお、先行処理可能ページ数を決定する方法としては、第１変換手段２の処理速度が第２変換手段４の処理速度より速いという前提から、それぞれの処理速度の関係および使用可能なメモリ量から求める。
【００４７】
一方、中間コード画像データ９を解析してビットマップデータ１０に展開する第２変換手段４は、管理手段が管理する印刷待ちキュー１３が空の間は処理するページが無いため待ち状態となる。
【００４８】
ここで、第２変換手段４および管理手段５とが行う機能的な動作について説明する。
【００４９】
管理手段５が管理する印刷待ちキュー１３に１ページ分の中間コード画像データ９が設定されると、管理手段５は第２変換手段４に第１記憶領域３上に存在する１ページ分の中間コード画像データ９を供給する。
【００５０】
ここで、中間コード画像データ９を保持するブロックメモリは、第１記憶領域３上にそれぞれ非連続的に存在しており、第１変換手段２にできる限りＣＰＵを占有させるためには、中間コード画像データ９を保持するブロックメモリを効率良く供給する方法であるＤＭＡ（Direct Memory Access）により第２変換手段４に対して１ページ分の中間コード画像データ９を供給するのが最善である。
【００５１】
ＤＡＭによる１ページ分の中間コード画像データ９の供給に対し、第２変換手段４はバンド単位に解析を行い、ビットマップデータ１０に展開して第２記憶領域６に保持し、順次印字装置７に出力する。また、展開されたバンド単位のビットマップデータ１０を圧縮して第２記憶領域６に保持し、全てのバンドに対する圧縮コード生成後にバンド単位に圧縮コードを伸長しながら印字装置７に出力する。
【００５２】
第２変換手段４は印字装置７から正常にプリントアウトが確認できた時点、若しくは全てのバンドの圧縮コードを第２記憶領域６に保持した時点で、第１記憶領域３上に存在する解析を行った１ページ分の中間コード画像データ９を保持するブロックメモリは不要となるので、管理手段５に対してそのブロックメモリが不要になった旨を通知し、管理手段５はブロックメモリが不要になった通知を受け付けると、印刷待ちキュー１３から不要になった１ページ分のブロックメモリをリンクから外し、そのブロックメモリを未使用ブロックメモリ管理リストにリンクさせることによりブロックメモリの回収を行う。ここで、ブロックメモリのヘッダ情報から判別し、回収されたブロックメモリの中にシステムメモリから一時的に獲得したものが含まれている場合、該当するブロックメモリを未使用ブロックメモリ管理リストから外してシステムメモリに開放する。
【００５３】
また、ジャム等によりプリントアウトが異常終了した場合には、第２変換手段４は管理手段５に対して１ページ分の中間コード画像データ９の再送を要求する。
【００５４】
そして、管理手段５は印刷待ちキュー１３が空でない場合には、引き続き次のページの中間コード画像データ９を第２変換手段４に対して供給する。
【００５５】
次に、第１変換手段の処理手順について図４に示すフローチャートを参照して説明する。
【００５６】
初めに、先行処理ページ数を「０」に設定し（ステップＳ４０１）、描画データが有る場合（ステップＳ４０２でＹＥＳ）、ステップＳ４０３に進み、描画データが無い場合（ステップＳ４０２でＮＯ）、描画データの入力を待つ（ステップＳ４０２）。
【００５７】
描画データが有る場合（ステップＳ４０２でＹＥＳ）、中間コード画像データを生成し（ステップＳ４０３）、ブロックメモリが有る場合（ステップＳ４０４でＹＥＳ）、ステップＳ４０５に進み、ブロックメモリが無い場合（ステップＳ４０４でＮＯ）、ステップＳ４０６に進む。
【００５８】
ブロックメモリが有る場合（ステップＳ４０４でＹＥＳ）、保存領域が有る場合（ステップＳ４０５でＹＥＳ）、ステップＳ４０７に進み、保存領域が無い場合（ステップＳ４０５でＮＯ）、ステップＳ４０６に進む。
【００５９】
ブロックメモリが無い場合（ステップＳ４０４でＮＯ）、若しくは保存領域が無い場合（ステップＳ４０５でＮＯ）、管理手段がブロックメモリを獲得し（ステップＳ４０６）、ステップＳ４０７に進む。
【００６０】
そして、中間コード画像データをブロックメモリに格納し（ステップＳ４０７）、ページの最後の命令である場合（ステップＳ４０８でＹＥＳ）、ステップＳ４０９に進み、ページの最後の命令でない場合（ステップＳ４０８でＮＯ）、ステップＳ４０２に戻る。
【００６１】
ページの最後の命令である場合（ステップＳ４０８でＹＥＳ）、バンド毎のブロックメモリ群を一つにリンクし（ステップＳ４０９）、先行処理ページ数を「１」増加し（ステップＳ４１０）、管理手段が印刷待ちキューへのキューイングを行い（ステップＳ４１１）、「先行処理ページ数≠先行処理可能ページ数」である場合（ステップ４１２でＮＯ
）、ステップＳ４０２に戻る。
【００６２】
なお、「先行処理ページ数＝先行処理可能ページ数」である場合（ステップＳ４１２でＹＥＳ）、先行処理ページ数が「１」減少するまでステップＳ４０２には戻れない。
【００６３】
次に、第２変換手段の処理手順について図５に示すフローチャートを参照して説明する。
【００６４】
ビットマップデータ展開領域を獲得し（ステップＳ５０１）、中間コード画像データが有る場合（ステップＳ５０２でＹＥＳ）、ステップＳ５０３に進み、中間コード画像データが無い場合（ステップＳ５０２でＮＯ）、中間コード画像データの入力を待つ（ステップＳ５０２）。
【００６５】
中間コード画像データが有る場合（ステップＳ５０２でＹＥＳ）、ビットマップデータを生成し（ステップＳ５０３）、バンドの最後の命令である場合（ステップＳ５０４でＹＥＳ）、ステップＳ５０５に進み、バンドの最後の命令でない場合（ステップＳ５０４でＮＯ）、ステップＳ５０２に戻る。
【００６６】
バンドの最後の命令である場合（ステップＳ５０４でＹＥＳ）、ビットマップデータを印字装置に出力し（ステップＳ５０５）、ページの最後の命令である場合（ステップＳ５０６でＹＥＳ）、ステップＳ５０７に進み、ページの最後の命令でない場合（ステップＳ５０６でＮＯ）、ステップＳ５０２に戻る。
【００６７】
ページの最後の命令である場合（ステップＳ５０６でＹＥＳ）、印字が正常終了した場合（ステップＳ５０７でＹＥＳ）、ステップＳ５０８に進み、印字が正常終了しなかった場合（ステップＳ５０７でＮＯ）、ステップＳ５０９に進む。
【００６８】
印字が正常終了した場合（ステップＳ５０７でＹＥＳ）、管理手段に処理済みのブロックメモリの開放を要求し（ステップＳ５０８）、ステップＳ５０２に戻る。
【００６９】
印字が正常終了しなかった場合（ステップＳ５０７でＮＯ）、管理手段に処理済みのブロックメモリの再送を要求し（ステップＳ５０９）、ステップＳ５０２に戻る。
【００７０】
次に、ビットマップデータを圧縮して保持する場合の第２変換手段の処理手順について図６に示すフローチャートを参照して説明する。
【００７１】
ビットマップデータ展開領域を獲得し（ステップＳ６０１）、中間コード画像データが有る場合（ステップＳ６０２でＹＥＳ）、ステップＳ６０３に進み、中間コード画像データが無い場合（ステップＳ６０２でＮＯ）、中間コード画像データの入力を待つ（ステップＳ６０２）。
【００７２】
中間コード画像データが有る場合（ステップＳ６０２でＹＥＳ）、ビットマップデータを生成し（ステップＳ６０３）、バンドの最後の命令である場合（ステップＳ６０４でＹＥＳ）、ステップＳ６０５に進み、バンドの最後の命令でない場合（ステップＳ６０４でＮＯ）、ステップＳ６０２に戻る。
【００７３】
バンドの最後の命令である場合（ステップＳ６０４でＹＥＳ）、ビットマップデータを圧縮して記憶領域に保持し（ステップＳ６０５）、ページの最後の命令である場合（ステップＳ６０６でＹＥＳ）、ステップＳ６０７に進み、ページの最後の命令でない場合（ステップＳ６０６でＮＯ）、ステップＳ６０２に戻る。
【００７４】
ページの最後の命令である場合（ステップＳ６０６でＹＥＳ）、管理手段に処理済みのブロックメモリの開放を要求し（ステップＳ６０７）、圧縮コードを伸長し（ステップＳ６０８）、印字が正常終了した場合（ステップＳ６０９でＹＥＳ）、ステップＳ６１０に進み、印字が正常終了しなかった場合（ステップＳ６０９でＮＯ）、ステップＳ６０８に戻る。
【００７５】
印字が正常終了した場合（ステップＳ６０９でＹＥＳ）、記憶領域の圧縮コードを削除し（ステップＳ６１０）、ステップＳ６０２に戻る。
【００７６】
次に、第１変換手段に対する管理手段の処理手順について図７に示すフローチャートを参照して説明する。
【００７７】
未使用のブロックメモリが有る場合（ステップＳ７０１でＹＥＳ）、ステップＳ７０５に進み、未使用のブロックメモリが無い場合（ステップＳ７０１でＮＯ）、ステップＳ７０２に進む。
【００７８】
未使用のブロックメモリが無い場合（ステップＳ７０１でＮＯ）、システムに未使用メモリが有る場合（ステップＳ７０２でＹＥＳ）、ステップＳ７０３に進み、システムに未使用メモリが無い場合（ステップＳ７０２でＮＯ）、ステップＳ７０４に進む。
【００７９】
システムに未使用メモリが有る場合（ステップＳ７０２でＹＥＳ）、システムからブロックメモリを獲得し（ステップＳ７０３）、ステップＳ７０５に進む。
【００８０】
システムに未使用メモリが無い場合（ステップＳ７０２でＮＯ）、ブロックメモリが開放された場合（ステップＳ７０４でＹＥＳ）、ステップＳ７０５に進む。
【００８１】
そして、第１変換手段にブロックメモリを提供し（ステップＳ７０５）、処理手順を終了する。
【００８２】
次に、第２変換手段に対する管理手段の処理手順について図８に示すフローチャートを参照して説明する。
【００８３】
印刷待ちキューが空ではない場合（ステップＳ８０１でＮＯ）、ステップＳ８０２に進み、印刷待ちキューが空である場合（ステップＳ８０１でＹＥＳ）、処理手順を終了する。
【００８４】
キューの先頭のブロックメモリ群をＤＭＡで第２変換手段に転送し（ステップＳ８０２）、第２変換手段からブロックメモリ群の解放メッセージが無い場合（ステップＳ８０３でＮＯ）、ステップＳ８０４に進み、第２変換手段からブロックメモリ群の開放メッセージが有る場合（ステップＳ８０３でＹＥＳ）、ステップＳ８０５に進む。
【００８５】
第２変換手段からブロックメモリ群の解放メッセージが無い場合（ステップＳ８０３でＮＯ）、第２変換手段からブロックメモリ群の再送メッセージが有る場合（ステップＳ８０４でＹＥＳ）、ステップＳ８０２に戻り、第２変換手段からブロックメモリ群の再送メッセージが無い場合（ステップＳ８０４でＮＯ）、ステップＳ８０３に戻る。
【００８６】
第２変換手段からブロックメモリ群の開放メッセージが有る場合（ステップＳ８０３でＹＥＳ）、印刷待ちキューから転送済みのブロックメモリのリストを外し（ステップＳ８０５）、未使用ブロックメモリ管理リストに転送済みのブロックメモリをリンクし（ステップＳ８０６）、先行処理ページ数を「１」減少し（ステップＳ８０７）、ステップＳ８０１に戻る。
【図面の簡単な説明】
【００８７】
【図１】本発明を適用した画像処理装置１の機能的な構成の一例を示す図である。
【図２】ブロックメモリ１１の一例および未使用ブロックメモリ管理リスト１２と第１記憶領域３のブロックメモリの関連について説明する図である。
【図３】管理手段５による印刷待ちキュー１３の管理を説明する図である。
【図４】第１変換手段の処理手順を示すフローチャートである。
【図５】第２変換手段の処理手順を示すフローチャートである。
【図６】ビットマップデータを圧縮して保持する場合の第２変換手段の処理手順を示すフローチャートである。
【図７】第１変換手段に対する管理手段の処理手順を示すフローチャートである。
【図８】第２変換手段に対する管理手段の処理手順を示すフローチャートである。
【図９】従来技術の一例を示す図である。
【符号の説明】
【００８８】
１    画像処理装置
２    第１変換手段
３    第１記憶領域
４    第２変換手段
５    管理手段
６    第２記憶領域
７    印字装置
８    描画データ
９    中間コード画像データ
１０    ビットマップデータ
１１    ブロックメモリ
１２    未使用ブロックメモリ管理リスト
１３    印刷待ちキュー
１４    プリンタ制御装置
【図１】
2006130776.tif 000003
【図２】
2006130776.tif 000004
【図３】
2006130776.tif 000005
【図４】
2006130776.tif 000006
【図５】
2006130776.tif 000007
【図６】
2006130776.tif 000008
【図７】
2006130776.tif 000009
【図８】
2006130776.tif 000010
【図９】
2006130776.tif 000011