(57)【要約】【課題】２回目以降の再印刷のための処理時間を短縮させることができる印刷制御装置を提供する。【解決手段】プリンタ制御部１００は、非圧縮データであるビットマップを格納する複数のバッファ１０−３０と、ビットマップに対するバッファの割り当てを管理するバッファマネジャ１とを備えている。バッファマネジャ１は、印刷要求されたビットマップデータに付随したビットマップ識別子に基づき、複数のバッファ１０−３０から１つを選ぶ。【選択図】図１
2008130085.tif 000002
【特許請求の範囲】
【請求項１】
非圧縮データであるビットマップデータを格納する複数のビットマップバッファと、
上記ビットマップデータに対する上記ビットマップバッファの割り当てを管理するバッファマネジャと、を備え、
上記バッファマネジャは、印刷要求されたビットマップデータに付随したビットマップ識別子に基づき、上記複数のビットマップバッファから１つを呼び出す、ことを特徴とする印刷制御装置。
【請求項２】
ビットマップ識別子に対応し、複数のビットマップバッファからなる連続したグループを有することを特徴とする請求項１に記載の印刷制御装置。
【請求項３】
上記バッファマネジャは、最も古くに使用されたビットマップバッファから順に、上記ビットマップバッファを割り当てることを特徴とする請求項１に記載の印刷制御装置。
【請求項４】
上記ビットマップ識別子は、上記ビットマップバッファのアドレスに対応していることを特徴とする請求項１に記載の印刷制御装置。
【請求項５】
圧縮データとしてビットマップデータを保存する圧縮モジュールを備え、
上記バッファマネジャは、印刷要求されたビットマップデータがビットマップバッファに格納されているか、および、印刷要求されたビットマップデータが圧縮データの解凍により再生されていないか、を確認することを特徴とする請求項１に記載の印刷制御装置。
【請求項６】
上記ビットマップ識別子は、ページ番号およびビットマップデータの１つに付随する色の両方を識別するものであることを特徴とする請求項１に記載の印刷制御装置。
【請求項７】
ビットマップ識別子とビットマップバッファの割り当て状態とを保持するデータテーブルを有することを特徴とする請求項１に記載の印刷制御装置。
【請求項８】
印刷装置でのバッファ割り当ての管理方法であって、
ビットマップデータに、１以上のバッファを割り当てるステップと、
１以上のバッファに、ビットマップ識別子を割り当てるステップと、
上記バッファに格納されたビットマップデータを印刷するステップと、
１以上のバッファを解放するステップと、
ビットマップ識別子を含む印刷要求を受け付けるステップと、
上記格納されているビットマップデータに１以上のバッファを再度割り当てて繰り返し再利用するステップと、
を含むことを特徴とするバッファ割り当ての管理方法。
【請求項９】
圧縮データとして上記ビットマップデータを保存するステップと、
第２ビットマップデータを印刷するステップと、
上記圧縮されたビットマップデータを解凍せずに、上記バッファに格納されたビットマップデータを再印刷するステップと、
をさらに含むことを特徴とする請求項８に記載のバッファ割り当ての管理方法。
【請求項１０】
上記ビットマップデータは、１以上のバッファ内の非圧縮データとして、および、メモリ内あるいはハードドライブ上の圧縮データとして、共存することを特徴とする請求項９に記載のバッファ割り当ての管理方法。
【請求項１１】
１以上のバッファを再充填せずに、上記格納されたビットマップデータが再印刷されることを特徴とする請求項９に記載のバッファ割り当ての管理方法。
【請求項１２】
上記１以上のバッファが最も古くに使用されたものとして識別されることを特徴とする請求項８に記載のバッファ割り当ての管理方法。
【請求項１３】
残っている全てのバッファが割り当てられて、そして解放された後、１以上のバッファを新たなビットマップデータに割り当てるステップを、含むことを特徴とする請求項１２に記載のバッファ割り当ての管理方法。
【請求項１４】
１以上のバッファに新たなビットマップ識別子を割り当てるステップを、含むことを特徴とする請求項１２に記載のバッファ割り当ての管理方法。
【請求項１５】
１以上の記録媒体にエンコードされたロジックであって、
ビットマップデータに、１以上のバッファセクションを割り当て、
上記１以上のバッファセクションに、ビットマップ識別子を割り当て、
上記ビットマップデータを印刷し、
１以上のバッファセクションを割り当てから解放し、
上記ビットマップデータの再印刷要求を受け付け、
上記ビットマップ識別子を参照して１以上のバッファセクションを分析する、
ことが実施可能なロジック。
【請求項１６】
上記ビットマップ識別子に基づき１以上のバッファセクションを決定し、
上記ビットマップデータに１以上のバッファセクションを再び割り当て、
上記ビットマップデータを再印刷する、
ことが実施可能な請求項１５のロジック。
【請求項１７】
圧縮データとして上記ビットマップデータを保存し、
１以上のバッファセクションが、ビットマップ識別子を参照していないことを確認し、
上記圧縮データを解凍し、
１以上のバッファセクションを上記ビットマップデータで再充填し、
上記ビットマップデータを再印刷する、
ことが実施可能な請求項１５のロジック。
【請求項１８】
最も古くに使用されたバッファセクションから順に、１以上のバッファセクションを、上記ビットマップデータに対して割り当てる、ことが実施可能な請求項１５のロジック。
【請求項１９】
上記ビットマップデータのサイズに応じて、連続したバッファセクションの数を選択する、ことが実施可能な請求項１５のロジック。
【請求項２０】
上記ビットマップデータに付随している連続したバッファセクションの番号を用いて、第１のバッファセクションのメモリアドレスを確認する、ことが実施可能な請求項１９に記載のロジック。
【請求項２１】
請求項１〜７の何れか１項に記載の印刷制御装置を有することを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタやコピー機のインテリジェントページバッファ割り当てシステムに関するものである。
【背景技術】
【０００２】
従来のプリンタおよびコピー機は、データあるいはプリントジョブに含まれる画像ビットマップを記憶するメモリバッファを有している。このようなプリンタあるいはコピー機は、いくつかのプリントジョブからなる複合コピーを行うことを要求されることもある。プリントジョブが、多数のビットマップあるいはページを含んでいることもある。ビットマップ（ビットマップデータ）は、８・１／２×１１インチ、レジャーサイズ、リーガルサイズ、１１×１７インチ、Ａ３、Ａ４、Ａ５などの、さまざまな幅のページサイズにて、印刷される。あるビットマップが、小さいサイズのページと比較して、大きなサイズのページに関連するさらなるデータを保存する大きなメモリバッファを要求することもある。ビットマップについてのメモリバッファ条件は、各ピクセルを識別するために要求されるビットの数にも影響される。１以上のビットマップを含むページもあり、例えば、シアン、マゼンタ、あるいはイエローといった、異なる色を表す各ビットマップがある。別個のビットマップは、ブラックビットマップに対応していてもよい。シアン、マゼンタ、イエロー及びブラックのビットマップを含むページは、４つ（各ビットマップに１つ）あるいはそれ以上のメモリバッファを必要とする。
【０００３】
電子文書は、１以上のビットマップ（ビットマップデータ）からなっている場合がある。１つのビットマップは、ピクセルあるいはドットのパターンにより記述され、１つのページに印刷されるデータを含んでいる。ビットマップは、各ピクセルを記述するためのデータのビットの固定番号を含んでいる場合もある。ビットは、ピクセルの彩度及び色の両方を記述するのに使用される場合もある。例えば、２ビットピクセルは、［００］のビット表示により色が無いことを記述し、［１１］のビット表示により黒色ピクセルを記述している。より明るい及びより暗いグレーは、それぞれ［０１］及び［１０］のビット表示により記述される。ピクセルに対するビットの数は、彩度及び色のバリエーションによるより莫大な種類の数と同等にするには、１から８あるいはそれ以上と多様である。さらにピクセルに割り当てられるビットが増えると、ビットマップが要求するメモリの量も増える。
【０００４】
メモリバッファは、ビットマップを印刷するため、予め、印刷ジョブのビットマップに割り当てられ、そして、ビットマップが印刷された後に解放される。コピー機は、印刷ジョブに含まれる複数のビットマップを処理するために、あるいは、様々なサイズのビットマップを処理するために、複数のメモリバッファを有することもある。メモリバッファは、解放されると、同じ印刷ジョブの新たなビットマップに割り当てられ、あるいは、連続した印刷ジョブに関するビットマップに割り当てられる。印刷ジョブの２回目のコピーが要求されると、メモリあるいはハードディスクからビットマップは解凍（減圧）され、メモリバッファに再度保存される。再提示されたビットマップは、メモリバッファ内の前回のデータを書き換える。データの解凍は、プロセッサ資源を消費し、時間の長さを延ばす処理時間、言い換えれば、印刷ジョブの２回目のコピー印刷に要求される処理時間、を要求する。
【０００５】
ここで、特許文献１には、印刷情報の各ページの処理に先だって、そのページのための圧縮データバッファ記憶域を割り当て、その時に既に所定ページ数分の圧縮データバッファ記憶域が割当て済みの場合は最も古いページの圧縮データバッファ記憶域を解放し、新たに割り当てる圧縮データバッファ記憶域のメモリ量を、少なくとも１ページ分の割当て済み圧縮データバッファ記憶域に格納されているデータ量に基づいて決定し、新たな圧縮データバッファ記憶域を割り当てる都度、ビットマップデータのバッファ記憶域をその時に割当て可能な最大バンド数分割り当てる画像形成装置が開示されている。
【特許文献１】特開２００３−１１４４０号報（２００３年１月1５日公開）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来の技術では、圧縮データバッファ記憶域が割り当てられているため、結局、圧縮データを解凍（圧縮解除）してから印刷を行わなければならい。よって、印刷のための処理時間を短縮することはできない。
【０００７】
本発明は、上記課題に鑑みてなされたものであり、その目的は、印刷ジョブの２回目の印刷に要求される処理時間を短縮できる、印刷制御装置等を提供することにある。
【課題を解決するための手段】
【０００８】
本発明に係る印刷制御装置は、上記仮題を解決するために、非圧縮データであるビットマップデータを格納する複数のビットマップバッファと、ビットマップデータに対するビットマップバッファの割り当てを管理するバッファマネジャと、を備え、上記バッファマネジャは、印刷要求されたビットマップデータに付随したビットマップ識別子に基づき、上記複数のビットマップバッファから１つを呼び出す、ことを特徴としている。
【０００９】
上記構成によると、バッファマネジャは、印刷要求を受けると、非圧縮データであるビットマップデータを、ビットマップバッファに割り当てる。そして、再び同じビットマップデータについての印刷要求があると、このビットマップデータに付随するビットマップ識別子に基づき、ビットマップバッファを呼び出し、このビットマップバッファに格納されている非圧縮データであるビットマップデータを印刷に再利用する。よって、非圧縮データを印刷処理に利用できるので、２回目以降の再印刷のための処理時間を短縮させることができる。
【００１０】
また、バッファマネジャは、ページ単位で印刷要求を受ける度に、非圧縮データであるビットマップデータを、確保されたビットマップバッファに割り当て、繰り返し再利用する。そのため、ビットマップバッファとして利用しない外部メモリの残メモリ領域を、非圧縮データであるビットマップデータを格納するためのビットマップバッファとして確保して使用するような場合、ビットマップデータの印刷中に、スキャナで読み取ったデータを受信するなどのマルチ制御が可能となる。
【００１１】
本発明に係る印刷管理装置は、上記構成に加え、ビットマップ識別子に対応し、複数のビットマップバッファからなる連続したグループを有していてもよい。ビットマップバッファがグループとしてまとめられ、それらが連続している。
【００１２】
本発明に係る印刷管理装置は、上記構成に加え、上記バッファマネジャは、最も古くに使用されたビットマップバッファから順に、上記ビットマップバッファを割り当ててもよい。
【００１３】
上記構成によると、最も古くに使用されたバッファから順に、ビットマップデータに割り当て、効率的にバッファを使用することができる。
【００１４】
本発明に係る印刷管理装置は、上記構成に加え、上記ビットマップ識別子は、上記ビットマップバッファのアドレスに対応していてもよい。
【００１５】
本発明に係る印刷管理装置は、上記構成に加え、圧縮データとしてビットマップデータを保存する圧縮モジュールを備え、上記バッファマネジャは、印刷要求されたビットマップデータがビットマップバッファに格納されているか、および、印刷要求されたビットマップデータが圧縮データの解凍により再生されていないか、を確認してもよい。
【００１６】
上記構成によると、ビットマップデータは圧縮モジュールにより圧縮されてメモリ等に保存される。そして、バッファマネジャは、印刷要求されたビットマップデータがビットマップバッファに格納されている場合、印刷要求されたビットマップデータが圧縮データの解凍により再生されていないことを確認して、格納されたビットマップデータを用いて印刷を行うことができる。
【００１７】
本発明に係る印刷管理装置は、上記構成に加え、上記ビットマップ識別子は、ページ番号およびビットマップデータの１つに付随する色の両方を識別するものであってもよい。
【００１８】
上記構成によると、ページ番号およびビットマップデータの１つに付随する色の両方により、ビットマップデータを識別することができる。
【００１９】
本発明に係る印刷管理装置は、上記構成に加え、ビットマップ識別子とビットマップバッファの割り当て状態とを保持するデータテーブルを有していてもよい。
【００２０】
上記構成によると、データテーブルにて、ビットマップ識別子とビットマップバッファの割り当て状態とが管理される。
【００２１】
本発明に係るバッファ割り当ての管理方法は、上記課題を解決するために、印刷装置でのバッファ割り当ての管理方法であって、ビットマップデータに、１以上のバッファを割り当てるステップと、１以上のバッファに、ビットマップ識別子を割り当てるステップと、上記バッファに格納されたビットマップデータを印刷するステップと、１以上のバッファを解放するステップと、ビットマップ識別子を含む印刷要求を受け付けるステップと、上記格納されているビットマップデータに１以上のバッファを再度割り当てて繰り返し再利用するステップと、を含んでいることを特徴としている。
【００２２】
上記方法によると、上記印刷制御装置と同様の効果を奏し、２回目以降の印刷処理の時間を短縮することができる。
【００２３】
本発明に係るバッファ割り当ての管理方法は、上記方法に加え、圧縮データとして上記ビットマップデータを保存するステップと、第２ビットマップデータを印刷するステップと、上記圧縮されたビットマップデータを解凍せずに、上記バッファに格納されたビットマップデータを再印刷するステップと、をさらに含んでいてもよい。
【００２４】
上記方法によると、圧縮データとしてビットマップデータが保存された後でも、バッファにそのビットマップデータが格納されている場合、その格納されたビットマップデータを用いて、再印刷を行うことができるため、印刷時間の短縮を図ることができる。なお、この場合、ビットマップデータは、１以上のバッファ内の非圧縮データとして、および、メモリ内あるいはハードドライブ上の圧縮データとして、共存することになる。
【００２５】
また、本発明に係るバッファ割り当ての管理方法では、１以上のバッファを再充填せずに、上記格納されたビットマップデータが再印刷されるようになっていてもよい。
【００２６】
本発明に係るバッファ割り当ての管理方法は、上記方法に加え、上記１以上のバッファが最も古くに使用されたものとして識別されてもよい。最も古くに使用されたものとして識別されると、最も古くに使用されたバッファから順に、ビットマップデータに割り当てることができる。
【００２７】
本発明に係るバッファ割り当ての管理方法は、上記方法に加え、残っている全てのバッファが割り当てられて、そして解放された後、１以上のバッファを新たなビットマップデータに割り当てるステップを、含んでもよい。
【００２８】
上記方法によると、残っている全てのバッファが割り当てられて、そして解放された後に、新たなビットマップデータにバッファが割り当てられるので、全てのバッファを繰り返し効率よく使用することができる。
【００２９】
本発明に係るバッファ割り当ての管理方法は、上記方法に加え、１以上のバッファに新たなビットマップ識別子を割り当てるステップを、含んでいてもよい。
【００３０】
上記方法によると、新たなビットマップ識別子を割り当てられることで、新たなビットマップデータを、再度印刷に回すことができる。
【００３１】
本発明に係るロジックは、上記課題を解決するために、１以上の記録媒体にエンコードされたロジックであって、ビットマップデータに、１以上のバッファセクションを割り当て、上記１以上のバッファセクションに、ビットマップ識別子を割り当て、上記ビットマップデータを印刷し、１以上のバッファセクションを割り当てから解放し、上記ビットマップデータの再印刷要求を受け付け、上記ビットマップ識別子を参照して１以上のバッファセクションを分析する、ことが実施可能である。
【００３２】
上記ロジックによると、上記印刷制御装置と同様の効果を奏し、２回目以降の印刷処理の時間を短縮することができる。
【００３３】
また、本発明に係るロジックでは、上記に加え、上記ビットマップ識別子に基づき１以上のバッファセクションを決定し、上記ビットマップデータに１以上のバッファセクションを再び割り当て、上記ビットマップデータを再印刷してもよい。
【００３４】
上記ロジックによると、ビットマップデータを再印刷する際に、ビットマップ識別子に基づき１以上のバッファセクションを決定し、ビットマップデータに１以上のバッファセクションを再び割り当てる。
【００３５】
また、本発明に係るロジックでは、上記に加え、圧縮データとして上記ビットマップデータを保存し、１以上のバッファセクションが、ビットマップ識別子を参照していないことを確認し、上記圧縮データを解凍し、１以上のバッファセクションを上記ビットマップデータで再充填し、上記ビットマップデータを再印刷してもよい。
【００３６】
上記ロジックによると、ビットマップデータを再印刷する際に、１以上のバッファセクションが、ビットマップ識別子を参照していない場合、圧縮されたビットマップデータを解凍し、１以上のバッファセクションをビットマップデータで再充填する。
【００３７】
また、本発明に係るロジックでは、上記に加え、最も古くに使用されたバッファセクションから順に、１以上のバッファセクションを、上記ビットマップデータに対して割り当ててもよい。
【００３８】
上記ロジックによると、割り当てに使用するビットマップバッファの順序を、最も古くに使用されたバッファセクションからにすることができる。
【００３９】
また、本発明に係るロジックでは、上記に加え、上記ビットマップデータのサイズに応じて、連続したバッファセクションの数を選択してもよい。
【００４０】
様々なサイズのビットマップデータが印刷要求されることがあるが、上記ロジックによると、ビットマップデータのサイズに応じて、連続したバッファセクションの数を選択することができる、印刷要求に確実に応じることができる。
【００４１】
また、本発明に係るロジックでは、上記に加え、上記ビットマップデータに付随している連続したバッファセクションの番号を用いて、第１のバッファセクションのメモリアドレスを確認してもよい。
【００４２】
上記ロジックによると、上記ビットマップデータに付随している連続したバッファセクションの番号を用いることで、特別な手段を要さず容易に、第１のバッファセクションのメモリアドレスを確認することができる。
【００４３】
また、本発明に係る画像形成装置は、上記何れか１つの印刷制御装置を有すること特徴とする。この画像形成装置は、上記印刷制御装置と同様の効果を奏し、印刷処理時間を短縮することができる。
【００４４】
なお、上記印刷制御装置をコンピュータによって実現してもよい。この場合には、コンピュータを上記印刷制御装置として機能させるための印刷制御プログラム、また、それを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に含まれる。
【００４５】
上記制御プログラムおよび上記コンピュータ読み取り可能な記録媒体も、上記した印刷制御装置と同様の効果を奏する。
【００４６】
本願発明に係る、印刷制御装置は、上記課題を解決するために、非圧縮データとしてビットマップ（ビットマップデータ）を格納するビットマップバッファと、およびビットマップにビットマップバッファを割り当てる管理をするバッファマネジャとを有している。バッファマネジャは、印刷要求されたビットマップに付随したビットマップ識別子を基に、ビットマップバッファの１つを呼び出すように構成されている。印刷装置でのバッファ割り当ての管理方法は、ビットマップ（ビットマップデータ）に１以上のバッファを割り当てるステップと、１以上のバッファにビットマップ識別子を割り当てるステップと、格納されたビットマップを印刷するステップとを含んでいる。この管理方法は、さらに、１以上のバッファを解放するステップと、ビットマップ識別子を含む要求を受け付けるステップと、格納されたビットマップに１以上のバッファを再割り当てするステップとを含む。
【００４７】
本発明は、添付の図面を参照しながら以下の本発明の詳細な説明を考慮すれば、容易に明確となるであろう。
【発明の効果】
【００４８】
本発明に係る印刷制御装置は、上記のように、非圧縮データであるビットマップデータを格納する複数のビットマップバッファと、ビットマップデータに対するビットマップバッファの割り当てを管理するバッファマネジャと、を備え、上記バッファマネジャは、印刷要求されたビットマップデータに付随したビットマップ識別子に基づき、上記複数のビットマップバッファから１つを呼び出す。
【００４９】
上記構成によると、バッファマネジャは、印刷要求を受けると、非圧縮データであるビットマップデータを、ビットマップバッファに割り当てる。そして、再び同じビットマップデータについての印刷要求があると、このビットマップデータに付随するビットマップ識別子に基づき、ビットマップバッファを呼び出し、このビットマップバッファに格納されている非圧縮データであるビットマップデータを印刷に再利用する。よって、非圧縮データを印刷処理に利用できるので、２回目以降の再印刷のための処理時間を短縮させることができる。
【発明を実施するための最良の形態】
【００５０】
本発明の一実施形態について図１〜７に基づいて説明すると以下の通りである。
【００５１】
プリンタ及びコピー機は、文書の１つのコピーあるいは複数のコピーを印刷するのに用いられている。例えば、ユーザは、電子文書の１以上のページを送り、そして、プリンタで印刷される文書のコピー枚数を選択することがある。それゆえ、ユーザは、再度電子文書を送ったり、文書のコピーを複数回要求したりすることなしに、文書の複数のコピーを手にすることができる。
【００５２】
１つのページが複数のビットマップ（ビットマップデータ）を含んでいてもよい。例えば、カラーページは、ブラックビットマップを、シアン、マゼンタ、あるいはイエローとして識別される１以上のカラービットマップと同様に含んでいる。
【００５３】
付加的なカラービットマップも、必要となる場合がある。要求（印刷要求）されるカラービットマップの数に応じて、１，２，３あるいは４あるいはそれ以上のビットマップが、同じページに含まれてもよい。ページが印刷されると、各ビットマップは、１以上のメモリバッファに、互いに離されて保存される。各ビットマップは、離れたメモリバッファに保存されてもよい。ここでは、説明を簡単にするために、プリンタおよびコピー機の両方は、単なるプリンタとして参照するものとする。このプリンタは、電子画像を印刷する装置、あるいは、グラフィック画像を含む印刷された文書のコピーを行う装置である。
【００５４】
図１に示すように、プリンタは、バッファマネジャ１を備えている。バッファマネジャ１は、ビットマップ５を格納するバッファ（ビットマップバッファ）１０を備えているか、このバッファ１０と接続している。プリンタが受信したデータ、例えば、ページ記述言語、コマンド、及びデータを含むデータストリームは、ビットマップ５のようなビットマップとして変換される。受信したデータは、プリンタによって、あるいは、パーソナルコンピュータのような外部装置によって、ビットマップに変換される。バッファマネジャ１は、プリンタ制御ソフトウエアに含まれる複数のアプリケーションの１つであってもよい。
【００５５】
バッファ１０は、印刷のために非圧縮データとしてビットマップ５を格納する。バッファマネジャ１は、プリントジョブに含まれるビットマップ５のような１以上のビットマップを、バッファ１０のようなビットマップバッファへ割り当てる。バッファマネジャ１は、要求（印刷要求）されたビットマップ５に付随したビットマップ識別子１５に基づき、１以上のビットマップバッファを呼び出すように、構成されている。バッファ１０は、１ビットマップを保持するサイズであり、それゆえ、ビットマップバッファとして参照される。一実施形態では、バッファ１０は、プリンタで印刷されるページに最も頻繁に使用されるサイズに対応しているビットマップを保持するサイズとなっていてもよい。例えば、プチンタは、主に、デフォルトのプリンタトレイに供給されるＡ４サイズの用紙に印刷を行ってもよい。プリンタが、頻繁に使用されるサイズより大きなページの印刷要求を受信すると、バッファマネジャ１は、ビットマップ５に１より多くのバッファを割り当てる。
【００５６】
バッファマネジャ１によりバッファ１０がビットマップに割り当てられているときに、ビットマップ識別子１５は、初めの印刷時、どのビットマップがバッファ１０に格納されたかを識別するために、バッファマネジャ１によって使用される。ビットマップ識別子１５は、タグ、ラベル、あるいはソフトウエア変数であってもよい。ビットマップ識別子１５は、ビットマップ５のメモリ位置を定めるために、バッファ１０のアドレスと対応していてもよい。ビットマップ５の印刷要求は、それゆえ、バッファマネジャ１により、バッファ１０に最後に存在するビットマップ５の要求として識別される。バッファ１０にビットマップ５を再度従わせることなしに、ビットマップ５が再度印刷されるように、バッファマネジャ１は、その後、既にバッファにある同じビットマップ５に、バッファ１０を再度割り当てる。
【００５７】
図２は、図１のバッファマネジャ１を含むプリンタ制御部（印刷制御装置）１００のブロック図の一例を示す図である。プリンタ制御部１００は、プリントジョブの受信、ビットマップの要求、およびデータ記憶部（ストレージ）の制御に使用されるアプリケーションを含むソフトウエアから構成されていてもよい。バッファ割り当て部８０が、まるで図書館司書（ライブラリアン）が図書館（ライブラリ）から借り出された本（ブック）をたどるように、中で使用されるバッファの細部を扱うために、プリンタ制御部１００の中にあってもよい。バッファ割り当て部８０は、バッファマネジャ１の一部として示されている。バッファ（ビットマップバッファ）１０，２０，３０のように複数のバッファが、図１のビットマップ５のようなビットマップを格納するために、バッファマネジャ１に対して使用可能になっていてもよい。プリンタ制御部１００は、バッファ１０−３０の１つの中の１つのビットマップを、印刷エンジン５０に送ることができる。印刷エンジン５０は、ページ上のトナーあるいはインクドットを出力するハードウエアを、ハードウエアを操作するのに必要なソフトウエアと共に、備えている。ハードウエアは、ローラ、トナー、転写ベルト、ヒューザ、レーザ、及び他の電子機器を備えていてもよい。
【００５８】
ビットマップデータは、圧縮される。この圧縮データ（圧縮デジタルデータ）は、ビットマップより小さなビットの記憶部（ストレージ）を必要とする。この圧縮データは、データ圧縮モジュール６０に保存されてもよく、データ圧縮モジュール６０は、複数の圧縮セルを有していてもよい。データ圧縮モジュール６０は、ソフトウエアアプリケーションとして、あるいは、デジタルデータを圧縮する圧縮装置として与えられてもよい。圧縮デジタルデータは、例えば、プロセッサメモリに、あるいは、ハード装置に保存されてもよい。バッファに格納される第１ビットマップは、データ圧縮モジュール６０により、圧縮データとして保存されてもよい。１つの実施形態として、ビットマップデータは、印刷エンジン５０にビットマップが送られた後、圧縮される。バッファマネジャ１は、要求されたビットマップがバッファ１０−３０の１つにあり、圧縮ビットマップデータとして保存された要求されたビットマップを解凍あるいは再生しないことを、初めに確認するように構成されてもよい。
【００５９】
呼び出し部４０は、プリンタ制御部１００に含まれており、バッファマネジャ１のサービスを使用する。バッファマネジャ１のサービスは、例えば、ビットマップの印刷要求中に、呼び出し部４０により呼び出され、あるいは引き出される。呼び出し部４０は、ソフトウエアモジュールあるいは、ソフトウエアアプリケーションであってもよい。ある実施形態では、呼び出し部４０は、プリンタ制御部１００の一部として与えられていてもよい。バッファマネジャサービスは、例えば、Ｃ言語ステートメントを含んでいてもよい。テーブル７０は、バッファマネジャ１に接続可能になっており、プリンタ制御部１００の一部として与えられてもよく、バッファ１０−３０に関連した情報を保持する。ビットマップ識別子は、テーブル７０内に保存されていてもよい。
【００６０】
ある実施形態では、バッファ１０−３０は、バッファセクション（バッファ断片）を含んでいる。図３に、それぞれバッファセクションを有する複数のバッファのブロック図の一例を示す。例えば、バッファ１０は、３つのバッファセクション１１，１２，１３を有している。また、バッファ２０は、３つのバッファセクション２１，２２，２３、バッファ３０は、３つのバッファセクション３１，３２，３３を有しているものとして記載されている。もちろん、バッファマネージメントシステムで利用可能なバッファは、３つよりも、少なくても多くても構わず、バッファＮで表すものとする。また、１つのバッファにつき、バッファセクションが３つより少なくあっても、多くあってもても構わない。ここでは、各バッファ１０−３０は、同じ数のバッファセクションを有しているが、印刷ジョブは、それぞれ異なる数のバッファセクションを有するバッファを使用する場合があってもよい。
【００６１】
ある実施形態では、各バッファセクションは、プリンタでの印刷で最も頻繁に使用されるページのサイズに関連したビットマップを保持するのに充分な、同じようなメモリサイズを有している。より大きなビットマップは、それゆえ、バッファセクションを１より多く有するバッファに格納される。バッファセクションへの供給は、それゆえ、バッファマネージメントシステムでのメモリの割り当ての１つとなっており、異なる大きさのストレージ（記憶部）を必要とするビットマップを収容する。バッファの１つと結び付いたバッファセクションは、バッファセクションのメモリ位置を参酌して構成されていてもよく、ビットマップを用いたバッファセクションの分類を手助ける。例えば、バッファマネジャ１は、バッファ１０のバッファセクション１１を呼び出し、３つのバッファセクション１１−１３に格納されたビットマップにアクセスする。ある実施形態では、第１のバッファセクション１１のメモリアドレスにより、バッファ１０に格納されたビットマップを十分呼び出すことができる。
【００６２】
ある実施形態では、図１のバッファ割り当て部８０は、バッファマネジャ１がバッファ１０，２０，３０を扱うのと同様に、バッファセクション１１−１３，２１−２３，３１−３３の詳細について扱う機能があってもよい。
【００６３】
各バッファは、異なるビットマップを含んでおり、各ビットマップは、それぞれ、異なるカラー面におけるピクセルを含んでいる。それゆえ、バッファは、代わりに、プレーンバッファとして参照されてもよい。今後、バッファおよびプレーンバッファは、バッファとして、共通に参照されるものとし、また、バッファセクションとプレーンバッファセクションも、バッファセクションとして、共通に参照されるものとする。
【００６４】
図４は、バッファセクション識別子４１０、ビットマップＩＤ４２０、バッファセクションシークエンス（ＳＥＱ）、および割り当てステータス（状態）４４０のための領域を有するデータテーブルのブロック図である。このテーブルは、図３のバッファセクション１１−１３，２１−２３，３１−３３のための見出しを含んでいる。バッファセクション識別子４１０は、例えば、バッファセクションを個々に識別する、バッファセクション名、あるいは、メモリアドレスを含んでいてもよい。ビットマップＩＤ４２０は、ビットマップ名、あるいは、バッファに格納されたビットマップに付随した識別番号を含んでいてもよい。例えば、バッファ１０のバッファセクション１１−１３は、ビットマップ５に割り当てられていることが示されている。バッファ２０のバッファセクション２１−２３は、第２ビットマップ２に割り当てられていることが示されている。バッファセクション３１−３３は、どのビットマップにも割り当てられてないことが示されている。バッファセクション３１−３３は、全てゼロに設定されたビットを含んでいる。このビットは、ビットマップに割り当てるバッファセクションがもうないため、リセットされても、あるいは、ゼロに設定されてもよい。ある実施形態では、図２のテーブル７０は、図４のテーブルと同じあるいは似た領域を有していてもよい。
【００６５】
図４のバッファセクションシークエンス（ＳＥＱ）４３０は、バッファセクションがビットマップを格納するのに使用できる順序を示すものである。例えば、ビットマップ５が、３つのバッファセクション１１−１３のそれぞれに格納されているとする。ビットマップ５の第１部分は、バッファセクション１１に、第２部分はバッファセクション１２に、第３部分はバッファセクション１３に格納されているとする。同じように、ビットマップ２が、３つのバッファセクション２１−２３に格納されているとする。バッファセクションシークエンス４３０を管理することにより、バッファの割り当ておよび解放が、ビットマップがバッファに格納されているあるいはバッファから解放されているとして、管理される。ある実施形態では、バッファセクションシークエンスは、どのバッファあるいはどのバッファセクションが、最も古くに使用されたかを決定するのに利用される。ビットマップバッファの連続したグループは、通常のビットマップＩＤ４２０に対応しており、例えば、バッファセクション１１−１３に対して、図４のビットマップ５として示される。
【００６６】
図４のテーブル内の割り当てステータス４４０は、バッファがビットマップに現在割り当てられているかどうか、あるいは、バッファが利用できるかあるいは解放されているかを、示すのに使用される。例えば、図４では、ビットマップ５に対応したバッファセクション１１−１３は解放されており、それに対して、ビットマップ２に対応したバッファセクション２１−２３は割り当てられていることが、示されている。バッファセクション１−１３は、前に、ビットマップ５に割り当てられ、ビットマップ５が印刷された後、解放された、という場合であってもよい。バッファセクション１１−１３が解放されているが、ビットマップ５がバッファセクション１１−１３に、続けて存在する場合がある。この場合、バッファセクション１１−１３は、ビットマップ５をバッファセクション１１−１３に再送することなしに、および、ビットマップ５を再生成することなしに、ビットマップ５に再び割り当てられる。バッファセクション２１−２３は、第２ビットマップ２を含む印刷ジョブの処理を待つために、現在、第２ビットマップ２に割り当てられている。印刷ジョブが実行された後、図２のバッファマネジャ１は、バッファセクション２１−２３が解放されたこと示すように、割り当てステータス４４０をアップデートしてもよい。
【００６７】
バッファマネジャ１は、各バッファセクションの使用時間を、管理あるいは記録するように構成されていてもよい。例えば、図２のテーブル７０は、バッファセクションが最後に割り当てられた、あるいは、最後に解放されたのに提供された時間の情報を含んでいてもよい。ある実施形態では、バッファマネジャ１は、最も古くに使用された（一番初めに使用された、一番最近でないときに使用された）バッファセクションに基づき、バッファあるいはバッファセクションを割り当ててもよい。例えば、図４のビットマップＩＤ４２０が、印刷期間に印刷される第１ビットマップとしてビットマップ５を識別し、印刷される第２ビットマップとしてビットマップ２を識別する場合、これら２つの間では、ビットマップ５に対応したバッファセクション１１−１３が、最も古くに使用される、あるいは最も古くに割り当てられる。しかし、バッファセクション３１−３３がまだビットマップに割り当てられてない場合、これらが、バッファ１０，２０および３０に付随するバッファセクションの３つのグループ間で、最も古くに使用されたと判断される。３つのバッファ１０，２０，３０のみがバッファマネジャ１に利用できる場合、バッファセクション３１−３３が第３ビットマップに割り当てられた後、バッファセクション１１−１３は、現段階で、最も古くに使用されたバッファセクションということになる。バッファマネジャ１は、その後、例えば、更なるビットマップに対してバッファセクション１１−１３を割り当てることを決定してもよい。
【００６８】
他の実施形態では、図４のビットマップＩＤ４２０は、ビットマップの１つに対応したページ番号と色との両方を識別する。この情報は、他の実施形態では、分離された領域で管理されてもよい。ページ番号と色の情報との管理は、さらに、複数ページのあるいはカラーの印刷ジョブにための、バッファ割り当て管理の能力を与えてもよい。
【００６９】
図５は、バッファの割り当て処理の方法の一例を示している。この方法は、印刷装置あるいは、印刷装置により利用されるソフトウエアで実施される。Ｓ５１０では、図１のバッファ１０のような１以上のバッファが、図１のビットマップ５のようなビットマップに割り当てられる。図３を参照して上記したように、バッファ１０は、バッファセクション１１−１３を含んでいる。
【００７０】
Ｓ５２０では、図１のビットマップ識別子１５のようなビットマップ識別子は、１以上のバッファに割り当てられる。ビットマップ識別子１５は、ビットマップのページ番号あるいはカラーを含んでいてもよい。図４のバッファセクション識別子４１０、バッファセクションシークエンス４３０、および割り当てステータス４４０は、バッファに割り当てられてもよい。バッファがビットマップに割り当てられると、割り当てステータス４４０は、割り当てられた状態を含む。バッファの割り当て時間は、バッファマネジャ１により管理されるか、図２のテーブル７０によって管理される。
【００７１】
ビットマップ５のビットマップデータは、図２のデータ圧縮モジュール６０により圧縮される。圧縮データは、バッファ１０がビットマップ５に割り当てられるより、先に、同時に、あるいは後に、データ圧縮モジュール６０によって保存される。圧縮データは、例えば、プロセッサメモリ、あるいはディスクドライブに保存される。
【００７２】
Ｓ５３０では、バッファ１０に格納されたビットマップ５は、図２の印刷エンジン５０に送られる。Ｓ５４０では、バッファ１０は、図４でさらに記載されているように、バッファセクション１１−１３を考慮して解放されてもよい。
【００７３】
複数ページのあるいはカラーを含む印刷ジョブでは、印刷ジョブは、１より多くのビットマップを含んでいる。例えば、ビットマップ２のような第２ビットマップは、印刷のため、バッファ２０のようなバッファに格納され、印刷エンジン５０に送られる。第２ビットマップ２は、印刷ジョブの第２ページと関連していてもよいし、ビットマップ５の同じページに対応する第２カラーのビットマップであってもよい。第２ビットマップのビットマップデータは、バッファ２０が第２ビットマップ２に割り当てられるのに、前もって、同時に、あるいは、後で、格納される。
【００７４】
Ｓ５５０では、図１のビットマップ識別子１５のような識別子を含んだ要求を受け付ける。要求は、図２の呼び出し部４０によってバッファマネジャ１に対してなされてもよい。バッファマネジャ１は、ビットマップ識別子に対応したバッファセクションを検索する。例えば、呼び出し部４０が、ビットマップ５に対応する１つのバッファあるいは複数のバッファを要求すると、バッファマネジャ１は、ビットマップ５に対してビットマップ識別子１５により識別されるバッファセクション１１−１３を求めて、図２のテーブル７０を検索する。ビットマップに対応した連続したバッファセクションの番号における第１バッファセクションのメモリアドレスは、ビットマップのメモリ位置を識別するのに使用されてもよい。Ｓ５５０におけるビットマップ５の印刷要求は、第２ビットマップ２と同様にビットマップ５を含んでいる印刷ジョブの、２回目のコピーの印刷要求を含んでいると理解されてもよい。
【００７５】
Ｓ５６０では、バッファ１０と、それに付随したバッファセクション１１−１３とは、格納されたビットマップ５に再割り当てられる。Ｓ５７０では、ビットマップが再印刷される。ビットマップ５は、データ圧縮モジュール６０により保存された圧縮データを解凍することなしに、バッファ１０に格納されたまま再印刷されてもよい。ビットマップ５は、バッファ１０にファイルされることなく再印刷されてもよい。同様に、第２ビットマップ２は、例えば、圧縮データの解凍または第２ビットマップ２の再生成なしに、バッファ２０が第２ビットマップ２に割り当てられるとき、バッファ２０から再印刷される。この場合、ビットマップ５及びビットマップ２を両方含む印刷ジョブは、圧縮データの解凍なしに、および、ビットマップの再生なしに、２回以上再印刷される。
【００７６】
場合によっては、ビットマップ５は、バッファ１０内での非圧縮データとしてのものと、圧縮データとしてのものとが共存する。バッファ１０は、続けて異なるビットマップに割り当てられると、ビットマップ５は、バッファ１０内には格納されなくなるが、圧縮データとしてハードドライブ上か、メモリ内に存在する。ある実施形態では、Ｓ５８０で、バッファ１０は、他のビットマップに割り当てられてもよい。ゆえに、新たなビットマップ識別子が、図１０のバッファセクション１１−１３に割り当てられ、ビットマップ５に付随した前のビットマップ識別子は、変換される。バッファマネジャ１は、続けて、例えばビットマップ５に対して、バッファ３０の割り当てを決定する。ビットマップ５に対応した圧縮データは、解凍され、ビットマップとして再生され、非圧縮データとしてバッファ３０に格納される。バッファセクション３１−３３のビットマップ識別子は、それゆえ、ビットマップ５に割り当てられる。
【００７７】
Ｓ５９０では、ビットマップ５は、バッファ１０−３０の１つに格納される。ビットマップ５は、そのうちの最も古くに使用されたバッファに格納される。例えば、全ての存在するバッファセクションが、バッファ１０が最後に解放された後に印刷されたビットマップに続けて割り当てられて、解放される場合には、バッファ１０が、最も古くに使用されたバッファである。ある実施形態では、最も古くに使用したバッファは、解凍されたビットマップに割り当てられ、あるいは、印刷ジョブの一部として別に生成された新たなビットマップに割り当てられる。バッファの１つにビットマップ５を格納した後、ビットマップ５は、Ｓ５７０で示されるように、再度印刷される。
【００７８】
図６は、図３のバッファセクション１１−１３，２１−２３，３１−３３のようなバッファセクションを割り当てる方法の一例を示す図である。Ｓ６１０では、図１のビットマップ５のような既に印刷されたビットマップに対応するバッファの再割り当て要求を受信する。要求は、図２の呼び出し部４０によりバッファマネジャに送られる。要求は、図１のビットマップ識別子１５のようなビットマップ識別子を含んでいる。また、要求は、ビットマップを保持するのに必要なバッファセクションの数を決定するのに使用するため、バッファセクションの数、あるいは、ビットマップのサイズを含んでいてもよい。
【００７９】
Ｓ６３０では、バッファセクションＩＤを一定量増加させた検索に従って、バッファセクション１２を含む図４の第２の見出し（登録、記入）が、次に検索される。ビットマップＩＤ４２０は、ビットマップ５として記載されている。見出しが次のバッファセクションの見出しに対して増加された後、バッファセクション１３を含む図４の第３の見出し（登録、記入）が、次に検索される。ビットマップＩＤ４２０は、ビットマップ５として記載されており、要求に含まれるビットマップ識別子１５に対応している。
【００８０】
Ｓ６４０では、ビットマップ識別子１５に応じて確認される図２のテーブル７０のセクションの数と、要求されたビットマップに対応するセクションの数とを比較する。図４のテーブルにおいて確認された数の番号が、要求されたビットマップに対応するセクションの数と同じ場合、図１のバッファ１０に格納されたビットマップは、許可される。Ｓ６５０では、第１のバッファセクションのメモリアドレス位置が確認され、例えば、バッファセクション１１のメモリアドレス位置は、ビットマップ５に対して確認される。要求に対する成功応答、あるいは、要求ステータスコードは、図２の呼び出し部４０に与えられる。
【００８１】
Ｓ６３０で、代わりに、ビットマップ５の要求が失敗あるいは十分でないと決まった場合、Ｓ６６０で要求への失敗応答が確認される。例えば、図２のテーブル７０のセクションの数が、要求されたビットマップに対応するセクションの数と同じでない場合がある。この場合、例えば、以上のバッファセクションが、異なるビットマップに続けて割り当てられる。失敗応答は、図２のコントローラ４０に与えられる。失敗応答があると、要求は、プリンタ制御部１００からデータ圧縮モジュール６０に送られ、要求ビットマップに対応したビットマップデータが解凍される。
【００８２】
図７は、図３に示す、バッファセクション１１−１３、２１−２３、３１−３３のようなバッファセクションの割り当ての方法を説明する図である。バッファセクションの割り当ては、新たな印刷ジョブの一部として生成されたビットマップへの応答として行われてもよく、あるいは、それは、存在するあるいは既に解放された印刷ジョブに含まれるビットマップへのバッファセクションの割り当て、あるいは再割り当てを含んでいてもよい。従来と同様に、要求は、ビットマップ識別子、多数のバッファセクション、あるいはメモリサイズの、ビットマップへの割り当てを含んでいてもよい。
【００８３】
Ｓ７１０では、要求されたビットマップのサイズに、あるいは、要求の中に含まれるバッファセクションの数に対応した数のバッファセクションを含んだバッファが、検索される。バッファセクションの番号の検索の基準のひとつが、バッファセクションがメモリ位置において全て連続している、ということであってもよい。ある実施形態では、要求されたビットマップと同じ数のバッファセクションを有するバッファが、見つからない、あるいは、利用可能でない場合、要求された以上のバッファセクションを有しているバッファが、検索あるいは確認されてもよい。
【００８４】
Ｓ７２０のでは、Ｓ７１０での操作において検索された１より多くのバッファがある場合、それらバッファのうち最も古くに使用されたバッファが選択される。ある実施形態では、最も古くに使用された１つのバッファ、あるいは複数のバッファは、初めに確認され、そして、要求されたビットマップに一致するバッファセクションの番号と比較される。
【００８５】
Ｓ７３０の操作では、選択されたバッファセクションは、要求されたバッファに割り当てられ、そして、図２のテーブル７０は、アップデートされ、選択されたバッファセクションの現在のバッファステータスを与える。例えば、選択されたバッファセクションは、割り当てされたものとして、バッファステータスフィールドにおいて、識別（確認）される。
【００８６】
Ｓ７４０の操作では、選択されたバッファセクションのバッファシークエンス番号の連続番号が、図２のテーブル７０にてアップデートされる。Ｓ７５０の操作では、選択されたバッファセクションのビットマップ識別子が図２のテーブル７０にてアップデートされる。
【００８７】
Ｓ７３０−７５０の操作で確認（識別）される、バッファステータス、バッファシークエンス番号、およびバッファ識別子は、図４のテーブルに示されるフィールドと似ていても同じであってもよく、バッファステータス４４０、バッファシークエンス４３０、およびビットマップ識別子４２０として確認される。
【００８８】
成功応答は、バッファの割り当て完了が成功したとき、図２の呼び出し部４０に与えられる。失敗応答は、バッファ割り当てが失敗すると、図２の呼び出し部４０に与えられる。例えば、利用可能なバッファセクションの数が、要求されたビットマップに対応する分検索できなければ、失敗としてバッファマネジャシステムにより検知される。
【００８９】
ある実施形態では、利用できるバッファセクションの数が要求される分ない場合、例えば、要求されたビットマップに対応する１つのバッファに含まれる連続したバッファセクションの数が十分になく、２以上のバッファが、Ｓ７６０の操作で組み合わされる。ある実施形態では、２以上の組み合わされたバッファが連続している。図２のテーブル７０は、Ｓ７３０とＳ７４０の操作で記載されているように、２以上のバッファのそれぞれに対して、ビットマップ識別子とバッファ状態とを参照して、アップデートされる。組み合わされたバッファは、Ｓ７５０の操作で記載されているように、テーブル７０において増加する連続した数字にて識別されるバッファセクションを含んでいる。
【００９０】
ある実施形態では、要求されたビットマップに割り当てるためのバッファの検索あるいは選択に、最も古くに使用されたアルゴリズムを使用するよりも、図１のバッファマネジャ１は、直近に（一番最近に）使用されたバッファセクションの再割り当てを決定してもよい。例えば、印刷ジョブが、バッファマネージメントシステムのメモリバッファサイズよりも大きなメモリ要求と結びついたビットマップを含んでいると、バッファマネジャ１は、一旦現在の印刷ジョブに関連した他のビットマップにバッファが割り当てられたままでいると、一番最近に使用されたバッファセクションを、再割り当てることを決定してもよい。この場合、印刷ジョブの最後のビットマップが、一番最近に使用されたバッファセクションに一旦格納されると、バッファマネジャ１は、印刷ジョブの最初の印刷のときに最も早くファイルされたビットマップに、バッファセクションのうちで最も古くに使用されたバッファセクションを、再割り当てする。連続した印刷ジョブのコピーは、バッファマネジャにより。最初にファイルされたビットマップを再生あるいは解凍することなしに、処理される。
【００９１】
上記したシステムは、いくつかのあるいは全ての操作を実行する、プロセッサシステム、マイクロコントローラ、プログラム可能なロジック装置、あるいはマイクロプロセッサを使用することができる。上記操作手段（処理手段）のあるものが、ソフトウエアにて実行され、他のものが、ハードウエアにて実行されてもよい。
【００９２】
ここでは、説明を簡単にするため、操作手段は、様々な、相互連結した機能ブロックあるいは異なるソフトウエアモジュールとして記載されている。必須ではないが、機能ブロックあるいはモジュールが、境界がはっきりしない、シングルロジック装置、プログラム、あるいは、操作手段に、同等に統合されているような場合があってもよい。どんな場合でも、機能ブロックおよびソフトウエアモジュール、あるいは、フレキシブルインターフェイスの特質は、それら自身によって遂行されてもよいし、ハードウエアあるいはソフトウエアのどちらかにある他の操作手段と組み合わされていてもよい。
【００９３】
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態、実施例についても本発明の技術的範囲に含まれる。
【００９４】
最後に、プリンタ制御部１００は、ハードウェアロジックによって構成してもよいし、次のようにＣＰＵを用いてソフトウエアによって実現してもよい。つまり、プリンタ制御部１００は、各機能を実現する制御プログラムの命令を実行するＣＰＵ（central processing unit）、上記プログラムを格納したＲＯＭ（read only memory）、上記プログラムを展開するＲＡＭ（random access memory）、上記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウエアであるプリンタ制御部１００の制御プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、上記プリンタ制御部１００に供給し、そのコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【００９５】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒ等の光ディスクを含むディスク系、ＩＣカード（メモリカードを含む）／光カード等のカード系、あるいはマスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ／フラッシュＲＯＭ等の半導体メモリ系などを用いることができる。
【００９６】
また、プリンタ制御部１００を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（virtual private network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、ＩＥＥＥ１３９４、ＵＳＢ、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ回線等の有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、８０２．１１無線、ＨＤＲ、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【００９７】
本発明は上述した実施形態、実施例に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態、実施例についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【００９８】
本発明は、例えば、画像処理機能を有するプリンタ、コピー機、スキャナ、ファックス等を備えたシステムに適用することができる。
【図面の簡単な説明】
【００９９】
【図１】本発明の一実施形態に係るバッファ管理システムの構成を示すブロック図である。
【図２】図１のバッファ管理システム含む本発明の一実施形態に係るプリンタ制御部の構成を示すブロック図である。
【図３】それぞれバッファセクションを有する複数のバッファの構成の一例を示す図である。
【図４】バッファセクション識別子と割り当て状態とを含むデータテーブルの構成の一例を示す図である。
【図５】バッファ割り当て管理の処理の流れを示す図である。
【図６】バッファセクションの再割り当ての処理の流れを示す図である。
【図７】バッファセクションの割り当て処理の流れを示す図である。
【符号の説明】
【０１００】
１      バッファマネジャ
１０，２０，３０  バッファ
１１，１２，１３，２１，２２，２３，３１，３２，３３  バッファセクション
６０    データ圧縮モジュール
７０    テーブル
１００  プリンタ制御部（印刷制御装置）
【図１】
2008130085.tif 000003
【図２】
2008130085.tif 000004
【図３】
2008130085.tif 000005
【図４】
2008130085.tif 000006
【図５】
2008130085.tif 000007
【図６】
2008130085.tif 000008
【図７】
2008130085.tif 000009