JP2008130085A - 印刷制御装置、バッファ割り当ての管理方法、ロジック、および画像形成装置 - Google Patents

印刷制御装置、バッファ割り当ての管理方法、ロジック、および画像形成装置 Download PDF

Info

Publication number
JP2008130085A
JP2008130085A JP2007247555A JP2007247555A JP2008130085A JP 2008130085 A JP2008130085 A JP 2008130085A JP 2007247555 A JP2007247555 A JP 2007247555A JP 2007247555 A JP2007247555 A JP 2007247555A JP 2008130085 A JP2008130085 A JP 2008130085A
Authority
JP
Japan
Prior art keywords
bitmap
buffer
data
buffers
bitmap data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007247555A
Other languages
English (en)
Inventor
Gary Lin Gaebel
リン ゲーベル ゲーリー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Publication of JP2008130085A publication Critical patent/JP2008130085A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/181Receiving print data characterized by its formatting, e.g. particular page description languages
    • G06K15/1814Receiving print data characterized by its formatting, e.g. particular page description languages including print-ready data, i.e. data already matched to the printing process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1817Buffers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32358Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter
    • H04N1/32486Storage for making a plurality of copies or reproductions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0082Image hardcopy reproducer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3285Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter
    • H04N2201/3295Deletion of stored data; Preventing such deletion

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

【課題】2回目以降の再印刷のための処理時間を短縮させることができる印刷制御装置を提供する。
【解決手段】プリンタ制御部100は、非圧縮データであるビットマップを格納する複数のバッファ10−30と、ビットマップに対するバッファの割り当てを管理するバッファマネジャ1とを備えている。バッファマネジャ1は、印刷要求されたビットマップデータに付随したビットマップ識別子に基づき、複数のバッファ10−30から1つを選ぶ。
【選択図】図1

Description

本発明は、プリンタやコピー機のインテリジェントページバッファ割り当てシステムに関するものである。
従来のプリンタおよびコピー機は、データあるいはプリントジョブに含まれる画像ビットマップを記憶するメモリバッファを有している。このようなプリンタあるいはコピー機は、いくつかのプリントジョブからなる複合コピーを行うことを要求されることもある。プリントジョブが、多数のビットマップあるいはページを含んでいることもある。ビットマップ(ビットマップデータ)は、8・1/2×11インチ、レジャーサイズ、リーガルサイズ、11×17インチ、A3、A4、A5などの、さまざまな幅のページサイズにて、印刷される。あるビットマップが、小さいサイズのページと比較して、大きなサイズのページに関連するさらなるデータを保存する大きなメモリバッファを要求することもある。ビットマップについてのメモリバッファ条件は、各ピクセルを識別するために要求されるビットの数にも影響される。1以上のビットマップを含むページもあり、例えば、シアン、マゼンタ、あるいはイエローといった、異なる色を表す各ビットマップがある。別個のビットマップは、ブラックビットマップに対応していてもよい。シアン、マゼンタ、イエロー及びブラックのビットマップを含むページは、4つ(各ビットマップに1つ)あるいはそれ以上のメモリバッファを必要とする。
電子文書は、1以上のビットマップ(ビットマップデータ)からなっている場合がある。1つのビットマップは、ピクセルあるいはドットのパターンにより記述され、1つのページに印刷されるデータを含んでいる。ビットマップは、各ピクセルを記述するためのデータのビットの固定番号を含んでいる場合もある。ビットは、ピクセルの彩度及び色の両方を記述するのに使用される場合もある。例えば、2ビットピクセルは、[00]のビット表示により色が無いことを記述し、[11]のビット表示により黒色ピクセルを記述している。より明るい及びより暗いグレーは、それぞれ[01]及び[10]のビット表示により記述される。ピクセルに対するビットの数は、彩度及び色のバリエーションによるより莫大な種類の数と同等にするには、1から8あるいはそれ以上と多様である。さらにピクセルに割り当てられるビットが増えると、ビットマップが要求するメモリの量も増える。
メモリバッファは、ビットマップを印刷するため、予め、印刷ジョブのビットマップに割り当てられ、そして、ビットマップが印刷された後に解放される。コピー機は、印刷ジョブに含まれる複数のビットマップを処理するために、あるいは、様々なサイズのビットマップを処理するために、複数のメモリバッファを有することもある。メモリバッファは、解放されると、同じ印刷ジョブの新たなビットマップに割り当てられ、あるいは、連続した印刷ジョブに関するビットマップに割り当てられる。印刷ジョブの2回目のコピーが要求されると、メモリあるいはハードディスクからビットマップは解凍(減圧)され、メモリバッファに再度保存される。再提示されたビットマップは、メモリバッファ内の前回のデータを書き換える。データの解凍は、プロセッサ資源を消費し、時間の長さを延ばす処理時間、言い換えれば、印刷ジョブの2回目のコピー印刷に要求される処理時間、を要求する。
ここで、特許文献1には、印刷情報の各ページの処理に先だって、そのページのための圧縮データバッファ記憶域を割り当て、その時に既に所定ページ数分の圧縮データバッファ記憶域が割当て済みの場合は最も古いページの圧縮データバッファ記憶域を解放し、新たに割り当てる圧縮データバッファ記憶域のメモリ量を、少なくとも1ページ分の割当て済み圧縮データバッファ記憶域に格納されているデータ量に基づいて決定し、新たな圧縮データバッファ記憶域を割り当てる都度、ビットマップデータのバッファ記憶域をその時に割当て可能な最大バンド数分割り当てる画像形成装置が開示されている。
特開2003−11440号報(2003年1月15日公開)
しかしながら、上記従来の技術では、圧縮データバッファ記憶域が割り当てられているため、結局、圧縮データを解凍(圧縮解除)してから印刷を行わなければならい。よって、印刷のための処理時間を短縮することはできない。
本発明は、上記課題に鑑みてなされたものであり、その目的は、印刷ジョブの2回目の印刷に要求される処理時間を短縮できる、印刷制御装置等を提供することにある。
本発明に係る印刷制御装置は、上記仮題を解決するために、非圧縮データであるビットマップデータを格納する複数のビットマップバッファと、ビットマップデータに対するビットマップバッファの割り当てを管理するバッファマネジャと、を備え、上記バッファマネジャは、印刷要求されたビットマップデータに付随したビットマップ識別子に基づき、上記複数のビットマップバッファから1つを呼び出す、ことを特徴としている。
上記構成によると、バッファマネジャは、印刷要求を受けると、非圧縮データであるビットマップデータを、ビットマップバッファに割り当てる。そして、再び同じビットマップデータについての印刷要求があると、このビットマップデータに付随するビットマップ識別子に基づき、ビットマップバッファを呼び出し、このビットマップバッファに格納されている非圧縮データであるビットマップデータを印刷に再利用する。よって、非圧縮データを印刷処理に利用できるので、2回目以降の再印刷のための処理時間を短縮させることができる。
また、バッファマネジャは、ページ単位で印刷要求を受ける度に、非圧縮データであるビットマップデータを、確保されたビットマップバッファに割り当て、繰り返し再利用する。そのため、ビットマップバッファとして利用しない外部メモリの残メモリ領域を、非圧縮データであるビットマップデータを格納するためのビットマップバッファとして確保して使用するような場合、ビットマップデータの印刷中に、スキャナで読み取ったデータを受信するなどのマルチ制御が可能となる。
本発明に係る印刷管理装置は、上記構成に加え、ビットマップ識別子に対応し、複数のビットマップバッファからなる連続したグループを有していてもよい。ビットマップバッファがグループとしてまとめられ、それらが連続している。
本発明に係る印刷管理装置は、上記構成に加え、上記バッファマネジャは、最も古くに使用されたビットマップバッファから順に、上記ビットマップバッファを割り当ててもよい。
上記構成によると、最も古くに使用されたバッファから順に、ビットマップデータに割り当て、効率的にバッファを使用することができる。
本発明に係る印刷管理装置は、上記構成に加え、上記ビットマップ識別子は、上記ビットマップバッファのアドレスに対応していてもよい。
本発明に係る印刷管理装置は、上記構成に加え、圧縮データとしてビットマップデータを保存する圧縮モジュールを備え、上記バッファマネジャは、印刷要求されたビットマップデータがビットマップバッファに格納されているか、および、印刷要求されたビットマップデータが圧縮データの解凍により再生されていないか、を確認してもよい。
上記構成によると、ビットマップデータは圧縮モジュールにより圧縮されてメモリ等に保存される。そして、バッファマネジャは、印刷要求されたビットマップデータがビットマップバッファに格納されている場合、印刷要求されたビットマップデータが圧縮データの解凍により再生されていないことを確認して、格納されたビットマップデータを用いて印刷を行うことができる。
本発明に係る印刷管理装置は、上記構成に加え、上記ビットマップ識別子は、ページ番号およびビットマップデータの1つに付随する色の両方を識別するものであってもよい。
上記構成によると、ページ番号およびビットマップデータの1つに付随する色の両方により、ビットマップデータを識別することができる。
本発明に係る印刷管理装置は、上記構成に加え、ビットマップ識別子とビットマップバッファの割り当て状態とを保持するデータテーブルを有していてもよい。
上記構成によると、データテーブルにて、ビットマップ識別子とビットマップバッファの割り当て状態とが管理される。
本発明に係るバッファ割り当ての管理方法は、上記課題を解決するために、印刷装置でのバッファ割り当ての管理方法であって、ビットマップデータに、1以上のバッファを割り当てるステップと、1以上のバッファに、ビットマップ識別子を割り当てるステップと、上記バッファに格納されたビットマップデータを印刷するステップと、1以上のバッファを解放するステップと、ビットマップ識別子を含む印刷要求を受け付けるステップと、上記格納されているビットマップデータに1以上のバッファを再度割り当てて繰り返し再利用するステップと、を含んでいることを特徴としている。
上記方法によると、上記印刷制御装置と同様の効果を奏し、2回目以降の印刷処理の時間を短縮することができる。
本発明に係るバッファ割り当ての管理方法は、上記方法に加え、圧縮データとして上記ビットマップデータを保存するステップと、第2ビットマップデータを印刷するステップと、上記圧縮されたビットマップデータを解凍せずに、上記バッファに格納されたビットマップデータを再印刷するステップと、をさらに含んでいてもよい。
上記方法によると、圧縮データとしてビットマップデータが保存された後でも、バッファにそのビットマップデータが格納されている場合、その格納されたビットマップデータを用いて、再印刷を行うことができるため、印刷時間の短縮を図ることができる。なお、この場合、ビットマップデータは、1以上のバッファ内の非圧縮データとして、および、メモリ内あるいはハードドライブ上の圧縮データとして、共存することになる。
また、本発明に係るバッファ割り当ての管理方法では、1以上のバッファを再充填せずに、上記格納されたビットマップデータが再印刷されるようになっていてもよい。
本発明に係るバッファ割り当ての管理方法は、上記方法に加え、上記1以上のバッファが最も古くに使用されたものとして識別されてもよい。最も古くに使用されたものとして識別されると、最も古くに使用されたバッファから順に、ビットマップデータに割り当てることができる。
本発明に係るバッファ割り当ての管理方法は、上記方法に加え、残っている全てのバッファが割り当てられて、そして解放された後、1以上のバッファを新たなビットマップデータに割り当てるステップを、含んでもよい。
上記方法によると、残っている全てのバッファが割り当てられて、そして解放された後に、新たなビットマップデータにバッファが割り当てられるので、全てのバッファを繰り返し効率よく使用することができる。
本発明に係るバッファ割り当ての管理方法は、上記方法に加え、1以上のバッファに新たなビットマップ識別子を割り当てるステップを、含んでいてもよい。
上記方法によると、新たなビットマップ識別子を割り当てられることで、新たなビットマップデータを、再度印刷に回すことができる。
本発明に係るロジックは、上記課題を解決するために、1以上の記録媒体にエンコードされたロジックであって、ビットマップデータに、1以上のバッファセクションを割り当て、上記1以上のバッファセクションに、ビットマップ識別子を割り当て、上記ビットマップデータを印刷し、1以上のバッファセクションを割り当てから解放し、上記ビットマップデータの再印刷要求を受け付け、上記ビットマップ識別子を参照して1以上のバッファセクションを分析する、ことが実施可能である。
上記ロジックによると、上記印刷制御装置と同様の効果を奏し、2回目以降の印刷処理の時間を短縮することができる。
また、本発明に係るロジックでは、上記に加え、上記ビットマップ識別子に基づき1以上のバッファセクションを決定し、上記ビットマップデータに1以上のバッファセクションを再び割り当て、上記ビットマップデータを再印刷してもよい。
上記ロジックによると、ビットマップデータを再印刷する際に、ビットマップ識別子に基づき1以上のバッファセクションを決定し、ビットマップデータに1以上のバッファセクションを再び割り当てる。
また、本発明に係るロジックでは、上記に加え、圧縮データとして上記ビットマップデータを保存し、1以上のバッファセクションが、ビットマップ識別子を参照していないことを確認し、上記圧縮データを解凍し、1以上のバッファセクションを上記ビットマップデータで再充填し、上記ビットマップデータを再印刷してもよい。
上記ロジックによると、ビットマップデータを再印刷する際に、1以上のバッファセクションが、ビットマップ識別子を参照していない場合、圧縮されたビットマップデータを解凍し、1以上のバッファセクションをビットマップデータで再充填する。
また、本発明に係るロジックでは、上記に加え、最も古くに使用されたバッファセクションから順に、1以上のバッファセクションを、上記ビットマップデータに対して割り当ててもよい。
上記ロジックによると、割り当てに使用するビットマップバッファの順序を、最も古くに使用されたバッファセクションからにすることができる。
また、本発明に係るロジックでは、上記に加え、上記ビットマップデータのサイズに応じて、連続したバッファセクションの数を選択してもよい。
様々なサイズのビットマップデータが印刷要求されることがあるが、上記ロジックによると、ビットマップデータのサイズに応じて、連続したバッファセクションの数を選択することができる、印刷要求に確実に応じることができる。
また、本発明に係るロジックでは、上記に加え、上記ビットマップデータに付随している連続したバッファセクションの番号を用いて、第1のバッファセクションのメモリアドレスを確認してもよい。
上記ロジックによると、上記ビットマップデータに付随している連続したバッファセクションの番号を用いることで、特別な手段を要さず容易に、第1のバッファセクションのメモリアドレスを確認することができる。
また、本発明に係る画像形成装置は、上記何れか1つの印刷制御装置を有すること特徴とする。この画像形成装置は、上記印刷制御装置と同様の効果を奏し、印刷処理時間を短縮することができる。
なお、上記印刷制御装置をコンピュータによって実現してもよい。この場合には、コンピュータを上記印刷制御装置として機能させるための印刷制御プログラム、また、それを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に含まれる。
上記制御プログラムおよび上記コンピュータ読み取り可能な記録媒体も、上記した印刷制御装置と同様の効果を奏する。
本願発明に係る、印刷制御装置は、上記課題を解決するために、非圧縮データとしてビットマップ(ビットマップデータ)を格納するビットマップバッファと、およびビットマップにビットマップバッファを割り当てる管理をするバッファマネジャとを有している。バッファマネジャは、印刷要求されたビットマップに付随したビットマップ識別子を基に、ビットマップバッファの1つを呼び出すように構成されている。印刷装置でのバッファ割り当ての管理方法は、ビットマップ(ビットマップデータ)に1以上のバッファを割り当てるステップと、1以上のバッファにビットマップ識別子を割り当てるステップと、格納されたビットマップを印刷するステップとを含んでいる。この管理方法は、さらに、1以上のバッファを解放するステップと、ビットマップ識別子を含む要求を受け付けるステップと、格納されたビットマップに1以上のバッファを再割り当てするステップとを含む。
本発明は、添付の図面を参照しながら以下の本発明の詳細な説明を考慮すれば、容易に明確となるであろう。
本発明に係る印刷制御装置は、上記のように、非圧縮データであるビットマップデータを格納する複数のビットマップバッファと、ビットマップデータに対するビットマップバッファの割り当てを管理するバッファマネジャと、を備え、上記バッファマネジャは、印刷要求されたビットマップデータに付随したビットマップ識別子に基づき、上記複数のビットマップバッファから1つを呼び出す。
上記構成によると、バッファマネジャは、印刷要求を受けると、非圧縮データであるビットマップデータを、ビットマップバッファに割り当てる。そして、再び同じビットマップデータについての印刷要求があると、このビットマップデータに付随するビットマップ識別子に基づき、ビットマップバッファを呼び出し、このビットマップバッファに格納されている非圧縮データであるビットマップデータを印刷に再利用する。よって、非圧縮データを印刷処理に利用できるので、2回目以降の再印刷のための処理時間を短縮させることができる。
本発明の一実施形態について図1〜7に基づいて説明すると以下の通りである。
プリンタ及びコピー機は、文書の1つのコピーあるいは複数のコピーを印刷するのに用いられている。例えば、ユーザは、電子文書の1以上のページを送り、そして、プリンタで印刷される文書のコピー枚数を選択することがある。それゆえ、ユーザは、再度電子文書を送ったり、文書のコピーを複数回要求したりすることなしに、文書の複数のコピーを手にすることができる。
1つのページが複数のビットマップ(ビットマップデータ)を含んでいてもよい。例えば、カラーページは、ブラックビットマップを、シアン、マゼンタ、あるいはイエローとして識別される1以上のカラービットマップと同様に含んでいる。
付加的なカラービットマップも、必要となる場合がある。要求(印刷要求)されるカラービットマップの数に応じて、1,2,3あるいは4あるいはそれ以上のビットマップが、同じページに含まれてもよい。ページが印刷されると、各ビットマップは、1以上のメモリバッファに、互いに離されて保存される。各ビットマップは、離れたメモリバッファに保存されてもよい。ここでは、説明を簡単にするために、プリンタおよびコピー機の両方は、単なるプリンタとして参照するものとする。このプリンタは、電子画像を印刷する装置、あるいは、グラフィック画像を含む印刷された文書のコピーを行う装置である。
図1に示すように、プリンタは、バッファマネジャ1を備えている。バッファマネジャ1は、ビットマップ5を格納するバッファ(ビットマップバッファ)10を備えているか、このバッファ10と接続している。プリンタが受信したデータ、例えば、ページ記述言語、コマンド、及びデータを含むデータストリームは、ビットマップ5のようなビットマップとして変換される。受信したデータは、プリンタによって、あるいは、パーソナルコンピュータのような外部装置によって、ビットマップに変換される。バッファマネジャ1は、プリンタ制御ソフトウエアに含まれる複数のアプリケーションの1つであってもよい。
バッファ10は、印刷のために非圧縮データとしてビットマップ5を格納する。バッファマネジャ1は、プリントジョブに含まれるビットマップ5のような1以上のビットマップを、バッファ10のようなビットマップバッファへ割り当てる。バッファマネジャ1は、要求(印刷要求)されたビットマップ5に付随したビットマップ識別子15に基づき、1以上のビットマップバッファを呼び出すように、構成されている。バッファ10は、1ビットマップを保持するサイズであり、それゆえ、ビットマップバッファとして参照される。一実施形態では、バッファ10は、プリンタで印刷されるページに最も頻繁に使用されるサイズに対応しているビットマップを保持するサイズとなっていてもよい。例えば、プチンタは、主に、デフォルトのプリンタトレイに供給されるA4サイズの用紙に印刷を行ってもよい。プリンタが、頻繁に使用されるサイズより大きなページの印刷要求を受信すると、バッファマネジャ1は、ビットマップ5に1より多くのバッファを割り当てる。
バッファマネジャ1によりバッファ10がビットマップに割り当てられているときに、ビットマップ識別子15は、初めの印刷時、どのビットマップがバッファ10に格納されたかを識別するために、バッファマネジャ1によって使用される。ビットマップ識別子15は、タグ、ラベル、あるいはソフトウエア変数であってもよい。ビットマップ識別子15は、ビットマップ5のメモリ位置を定めるために、バッファ10のアドレスと対応していてもよい。ビットマップ5の印刷要求は、それゆえ、バッファマネジャ1により、バッファ10に最後に存在するビットマップ5の要求として識別される。バッファ10にビットマップ5を再度従わせることなしに、ビットマップ5が再度印刷されるように、バッファマネジャ1は、その後、既にバッファにある同じビットマップ5に、バッファ10を再度割り当てる。
図2は、図1のバッファマネジャ1を含むプリンタ制御部(印刷制御装置)100のブロック図の一例を示す図である。プリンタ制御部100は、プリントジョブの受信、ビットマップの要求、およびデータ記憶部(ストレージ)の制御に使用されるアプリケーションを含むソフトウエアから構成されていてもよい。バッファ割り当て部80が、まるで図書館司書(ライブラリアン)が図書館(ライブラリ)から借り出された本(ブック)をたどるように、中で使用されるバッファの細部を扱うために、プリンタ制御部100の中にあってもよい。バッファ割り当て部80は、バッファマネジャ1の一部として示されている。バッファ(ビットマップバッファ)10,20,30のように複数のバッファが、図1のビットマップ5のようなビットマップを格納するために、バッファマネジャ1に対して使用可能になっていてもよい。プリンタ制御部100は、バッファ10−30の1つの中の1つのビットマップを、印刷エンジン50に送ることができる。印刷エンジン50は、ページ上のトナーあるいはインクドットを出力するハードウエアを、ハードウエアを操作するのに必要なソフトウエアと共に、備えている。ハードウエアは、ローラ、トナー、転写ベルト、ヒューザ、レーザ、及び他の電子機器を備えていてもよい。
ビットマップデータは、圧縮される。この圧縮データ(圧縮デジタルデータ)は、ビットマップより小さなビットの記憶部(ストレージ)を必要とする。この圧縮データは、データ圧縮モジュール60に保存されてもよく、データ圧縮モジュール60は、複数の圧縮セルを有していてもよい。データ圧縮モジュール60は、ソフトウエアアプリケーションとして、あるいは、デジタルデータを圧縮する圧縮装置として与えられてもよい。圧縮デジタルデータは、例えば、プロセッサメモリに、あるいは、ハード装置に保存されてもよい。バッファに格納される第1ビットマップは、データ圧縮モジュール60により、圧縮データとして保存されてもよい。1つの実施形態として、ビットマップデータは、印刷エンジン50にビットマップが送られた後、圧縮される。バッファマネジャ1は、要求されたビットマップがバッファ10−30の1つにあり、圧縮ビットマップデータとして保存された要求されたビットマップを解凍あるいは再生しないことを、初めに確認するように構成されてもよい。
呼び出し部40は、プリンタ制御部100に含まれており、バッファマネジャ1のサービスを使用する。バッファマネジャ1のサービスは、例えば、ビットマップの印刷要求中に、呼び出し部40により呼び出され、あるいは引き出される。呼び出し部40は、ソフトウエアモジュールあるいは、ソフトウエアアプリケーションであってもよい。ある実施形態では、呼び出し部40は、プリンタ制御部100の一部として与えられていてもよい。バッファマネジャサービスは、例えば、C言語ステートメントを含んでいてもよい。テーブル70は、バッファマネジャ1に接続可能になっており、プリンタ制御部100の一部として与えられてもよく、バッファ10−30に関連した情報を保持する。ビットマップ識別子は、テーブル70内に保存されていてもよい。
ある実施形態では、バッファ10−30は、バッファセクション(バッファ断片)を含んでいる。図3に、それぞれバッファセクションを有する複数のバッファのブロック図の一例を示す。例えば、バッファ10は、3つのバッファセクション11,12,13を有している。また、バッファ20は、3つのバッファセクション21,22,23、バッファ30は、3つのバッファセクション31,32,33を有しているものとして記載されている。もちろん、バッファマネージメントシステムで利用可能なバッファは、3つよりも、少なくても多くても構わず、バッファNで表すものとする。また、1つのバッファにつき、バッファセクションが3つより少なくあっても、多くあってもても構わない。ここでは、各バッファ10−30は、同じ数のバッファセクションを有しているが、印刷ジョブは、それぞれ異なる数のバッファセクションを有するバッファを使用する場合があってもよい。
ある実施形態では、各バッファセクションは、プリンタでの印刷で最も頻繁に使用されるページのサイズに関連したビットマップを保持するのに充分な、同じようなメモリサイズを有している。より大きなビットマップは、それゆえ、バッファセクションを1より多く有するバッファに格納される。バッファセクションへの供給は、それゆえ、バッファマネージメントシステムでのメモリの割り当ての1つとなっており、異なる大きさのストレージ(記憶部)を必要とするビットマップを収容する。バッファの1つと結び付いたバッファセクションは、バッファセクションのメモリ位置を参酌して構成されていてもよく、ビットマップを用いたバッファセクションの分類を手助ける。例えば、バッファマネジャ1は、バッファ10のバッファセクション11を呼び出し、3つのバッファセクション11−13に格納されたビットマップにアクセスする。ある実施形態では、第1のバッファセクション11のメモリアドレスにより、バッファ10に格納されたビットマップを十分呼び出すことができる。
ある実施形態では、図1のバッファ割り当て部80は、バッファマネジャ1がバッファ10,20,30を扱うのと同様に、バッファセクション11−13,21−23,31−33の詳細について扱う機能があってもよい。
各バッファは、異なるビットマップを含んでおり、各ビットマップは、それぞれ、異なるカラー面におけるピクセルを含んでいる。それゆえ、バッファは、代わりに、プレーンバッファとして参照されてもよい。今後、バッファおよびプレーンバッファは、バッファとして、共通に参照されるものとし、また、バッファセクションとプレーンバッファセクションも、バッファセクションとして、共通に参照されるものとする。
図4は、バッファセクション識別子410、ビットマップID420、バッファセクションシークエンス(SEQ)、および割り当てステータス(状態)440のための領域を有するデータテーブルのブロック図である。このテーブルは、図3のバッファセクション11−13,21−23,31−33のための見出しを含んでいる。バッファセクション識別子410は、例えば、バッファセクションを個々に識別する、バッファセクション名、あるいは、メモリアドレスを含んでいてもよい。ビットマップID420は、ビットマップ名、あるいは、バッファに格納されたビットマップに付随した識別番号を含んでいてもよい。例えば、バッファ10のバッファセクション11−13は、ビットマップ5に割り当てられていることが示されている。バッファ20のバッファセクション21−23は、第2ビットマップ2に割り当てられていることが示されている。バッファセクション31−33は、どのビットマップにも割り当てられてないことが示されている。バッファセクション31−33は、全てゼロに設定されたビットを含んでいる。このビットは、ビットマップに割り当てるバッファセクションがもうないため、リセットされても、あるいは、ゼロに設定されてもよい。ある実施形態では、図2のテーブル70は、図4のテーブルと同じあるいは似た領域を有していてもよい。
図4のバッファセクションシークエンス(SEQ)430は、バッファセクションがビットマップを格納するのに使用できる順序を示すものである。例えば、ビットマップ5が、3つのバッファセクション11−13のそれぞれに格納されているとする。ビットマップ5の第1部分は、バッファセクション11に、第2部分はバッファセクション12に、第3部分はバッファセクション13に格納されているとする。同じように、ビットマップ2が、3つのバッファセクション21−23に格納されているとする。バッファセクションシークエンス430を管理することにより、バッファの割り当ておよび解放が、ビットマップがバッファに格納されているあるいはバッファから解放されているとして、管理される。ある実施形態では、バッファセクションシークエンスは、どのバッファあるいはどのバッファセクションが、最も古くに使用されたかを決定するのに利用される。ビットマップバッファの連続したグループは、通常のビットマップID420に対応しており、例えば、バッファセクション11−13に対して、図4のビットマップ5として示される。
図4のテーブル内の割り当てステータス440は、バッファがビットマップに現在割り当てられているかどうか、あるいは、バッファが利用できるかあるいは解放されているかを、示すのに使用される。例えば、図4では、ビットマップ5に対応したバッファセクション11−13は解放されており、それに対して、ビットマップ2に対応したバッファセクション21−23は割り当てられていることが、示されている。バッファセクション1−13は、前に、ビットマップ5に割り当てられ、ビットマップ5が印刷された後、解放された、という場合であってもよい。バッファセクション11−13が解放されているが、ビットマップ5がバッファセクション11−13に、続けて存在する場合がある。この場合、バッファセクション11−13は、ビットマップ5をバッファセクション11−13に再送することなしに、および、ビットマップ5を再生成することなしに、ビットマップ5に再び割り当てられる。バッファセクション21−23は、第2ビットマップ2を含む印刷ジョブの処理を待つために、現在、第2ビットマップ2に割り当てられている。印刷ジョブが実行された後、図2のバッファマネジャ1は、バッファセクション21−23が解放されたこと示すように、割り当てステータス440をアップデートしてもよい。
バッファマネジャ1は、各バッファセクションの使用時間を、管理あるいは記録するように構成されていてもよい。例えば、図2のテーブル70は、バッファセクションが最後に割り当てられた、あるいは、最後に解放されたのに提供された時間の情報を含んでいてもよい。ある実施形態では、バッファマネジャ1は、最も古くに使用された(一番初めに使用された、一番最近でないときに使用された)バッファセクションに基づき、バッファあるいはバッファセクションを割り当ててもよい。例えば、図4のビットマップID420が、印刷期間に印刷される第1ビットマップとしてビットマップ5を識別し、印刷される第2ビットマップとしてビットマップ2を識別する場合、これら2つの間では、ビットマップ5に対応したバッファセクション11−13が、最も古くに使用される、あるいは最も古くに割り当てられる。しかし、バッファセクション31−33がまだビットマップに割り当てられてない場合、これらが、バッファ10,20および30に付随するバッファセクションの3つのグループ間で、最も古くに使用されたと判断される。3つのバッファ10,20,30のみがバッファマネジャ1に利用できる場合、バッファセクション31−33が第3ビットマップに割り当てられた後、バッファセクション11−13は、現段階で、最も古くに使用されたバッファセクションということになる。バッファマネジャ1は、その後、例えば、更なるビットマップに対してバッファセクション11−13を割り当てることを決定してもよい。
他の実施形態では、図4のビットマップID420は、ビットマップの1つに対応したページ番号と色との両方を識別する。この情報は、他の実施形態では、分離された領域で管理されてもよい。ページ番号と色の情報との管理は、さらに、複数ページのあるいはカラーの印刷ジョブにための、バッファ割り当て管理の能力を与えてもよい。
図5は、バッファの割り当て処理の方法の一例を示している。この方法は、印刷装置あるいは、印刷装置により利用されるソフトウエアで実施される。S510では、図1のバッファ10のような1以上のバッファが、図1のビットマップ5のようなビットマップに割り当てられる。図3を参照して上記したように、バッファ10は、バッファセクション11−13を含んでいる。
S520では、図1のビットマップ識別子15のようなビットマップ識別子は、1以上のバッファに割り当てられる。ビットマップ識別子15は、ビットマップのページ番号あるいはカラーを含んでいてもよい。図4のバッファセクション識別子410、バッファセクションシークエンス430、および割り当てステータス440は、バッファに割り当てられてもよい。バッファがビットマップに割り当てられると、割り当てステータス440は、割り当てられた状態を含む。バッファの割り当て時間は、バッファマネジャ1により管理されるか、図2のテーブル70によって管理される。
ビットマップ5のビットマップデータは、図2のデータ圧縮モジュール60により圧縮される。圧縮データは、バッファ10がビットマップ5に割り当てられるより、先に、同時に、あるいは後に、データ圧縮モジュール60によって保存される。圧縮データは、例えば、プロセッサメモリ、あるいはディスクドライブに保存される。
S530では、バッファ10に格納されたビットマップ5は、図2の印刷エンジン50に送られる。S540では、バッファ10は、図4でさらに記載されているように、バッファセクション11−13を考慮して解放されてもよい。
複数ページのあるいはカラーを含む印刷ジョブでは、印刷ジョブは、1より多くのビットマップを含んでいる。例えば、ビットマップ2のような第2ビットマップは、印刷のため、バッファ20のようなバッファに格納され、印刷エンジン50に送られる。第2ビットマップ2は、印刷ジョブの第2ページと関連していてもよいし、ビットマップ5の同じページに対応する第2カラーのビットマップであってもよい。第2ビットマップのビットマップデータは、バッファ20が第2ビットマップ2に割り当てられるのに、前もって、同時に、あるいは、後で、格納される。
S550では、図1のビットマップ識別子15のような識別子を含んだ要求を受け付ける。要求は、図2の呼び出し部40によってバッファマネジャ1に対してなされてもよい。バッファマネジャ1は、ビットマップ識別子に対応したバッファセクションを検索する。例えば、呼び出し部40が、ビットマップ5に対応する1つのバッファあるいは複数のバッファを要求すると、バッファマネジャ1は、ビットマップ5に対してビットマップ識別子15により識別されるバッファセクション11−13を求めて、図2のテーブル70を検索する。ビットマップに対応した連続したバッファセクションの番号における第1バッファセクションのメモリアドレスは、ビットマップのメモリ位置を識別するのに使用されてもよい。S550におけるビットマップ5の印刷要求は、第2ビットマップ2と同様にビットマップ5を含んでいる印刷ジョブの、2回目のコピーの印刷要求を含んでいると理解されてもよい。
S560では、バッファ10と、それに付随したバッファセクション11−13とは、格納されたビットマップ5に再割り当てられる。S570では、ビットマップが再印刷される。ビットマップ5は、データ圧縮モジュール60により保存された圧縮データを解凍することなしに、バッファ10に格納されたまま再印刷されてもよい。ビットマップ5は、バッファ10にファイルされることなく再印刷されてもよい。同様に、第2ビットマップ2は、例えば、圧縮データの解凍または第2ビットマップ2の再生成なしに、バッファ20が第2ビットマップ2に割り当てられるとき、バッファ20から再印刷される。この場合、ビットマップ5及びビットマップ2を両方含む印刷ジョブは、圧縮データの解凍なしに、および、ビットマップの再生なしに、2回以上再印刷される。
場合によっては、ビットマップ5は、バッファ10内での非圧縮データとしてのものと、圧縮データとしてのものとが共存する。バッファ10は、続けて異なるビットマップに割り当てられると、ビットマップ5は、バッファ10内には格納されなくなるが、圧縮データとしてハードドライブ上か、メモリ内に存在する。ある実施形態では、S580で、バッファ10は、他のビットマップに割り当てられてもよい。ゆえに、新たなビットマップ識別子が、図10のバッファセクション11−13に割り当てられ、ビットマップ5に付随した前のビットマップ識別子は、変換される。バッファマネジャ1は、続けて、例えばビットマップ5に対して、バッファ30の割り当てを決定する。ビットマップ5に対応した圧縮データは、解凍され、ビットマップとして再生され、非圧縮データとしてバッファ30に格納される。バッファセクション31−33のビットマップ識別子は、それゆえ、ビットマップ5に割り当てられる。
S590では、ビットマップ5は、バッファ10−30の1つに格納される。ビットマップ5は、そのうちの最も古くに使用されたバッファに格納される。例えば、全ての存在するバッファセクションが、バッファ10が最後に解放された後に印刷されたビットマップに続けて割り当てられて、解放される場合には、バッファ10が、最も古くに使用されたバッファである。ある実施形態では、最も古くに使用したバッファは、解凍されたビットマップに割り当てられ、あるいは、印刷ジョブの一部として別に生成された新たなビットマップに割り当てられる。バッファの1つにビットマップ5を格納した後、ビットマップ5は、S570で示されるように、再度印刷される。
図6は、図3のバッファセクション11−13,21−23,31−33のようなバッファセクションを割り当てる方法の一例を示す図である。S610では、図1のビットマップ5のような既に印刷されたビットマップに対応するバッファの再割り当て要求を受信する。要求は、図2の呼び出し部40によりバッファマネジャに送られる。要求は、図1のビットマップ識別子15のようなビットマップ識別子を含んでいる。また、要求は、ビットマップを保持するのに必要なバッファセクションの数を決定するのに使用するため、バッファセクションの数、あるいは、ビットマップのサイズを含んでいてもよい。
S630では、バッファセクションIDを一定量増加させた検索に従って、バッファセクション12を含む図4の第2の見出し(登録、記入)が、次に検索される。ビットマップID420は、ビットマップ5として記載されている。見出しが次のバッファセクションの見出しに対して増加された後、バッファセクション13を含む図4の第3の見出し(登録、記入)が、次に検索される。ビットマップID420は、ビットマップ5として記載されており、要求に含まれるビットマップ識別子15に対応している。
S640では、ビットマップ識別子15に応じて確認される図2のテーブル70のセクションの数と、要求されたビットマップに対応するセクションの数とを比較する。図4のテーブルにおいて確認された数の番号が、要求されたビットマップに対応するセクションの数と同じ場合、図1のバッファ10に格納されたビットマップは、許可される。S650では、第1のバッファセクションのメモリアドレス位置が確認され、例えば、バッファセクション11のメモリアドレス位置は、ビットマップ5に対して確認される。要求に対する成功応答、あるいは、要求ステータスコードは、図2の呼び出し部40に与えられる。
S630で、代わりに、ビットマップ5の要求が失敗あるいは十分でないと決まった場合、S660で要求への失敗応答が確認される。例えば、図2のテーブル70のセクションの数が、要求されたビットマップに対応するセクションの数と同じでない場合がある。この場合、例えば、以上のバッファセクションが、異なるビットマップに続けて割り当てられる。失敗応答は、図2のコントローラ40に与えられる。失敗応答があると、要求は、プリンタ制御部100からデータ圧縮モジュール60に送られ、要求ビットマップに対応したビットマップデータが解凍される。
図7は、図3に示す、バッファセクション11−13、21−23、31−33のようなバッファセクションの割り当ての方法を説明する図である。バッファセクションの割り当ては、新たな印刷ジョブの一部として生成されたビットマップへの応答として行われてもよく、あるいは、それは、存在するあるいは既に解放された印刷ジョブに含まれるビットマップへのバッファセクションの割り当て、あるいは再割り当てを含んでいてもよい。従来と同様に、要求は、ビットマップ識別子、多数のバッファセクション、あるいはメモリサイズの、ビットマップへの割り当てを含んでいてもよい。
S710では、要求されたビットマップのサイズに、あるいは、要求の中に含まれるバッファセクションの数に対応した数のバッファセクションを含んだバッファが、検索される。バッファセクションの番号の検索の基準のひとつが、バッファセクションがメモリ位置において全て連続している、ということであってもよい。ある実施形態では、要求されたビットマップと同じ数のバッファセクションを有するバッファが、見つからない、あるいは、利用可能でない場合、要求された以上のバッファセクションを有しているバッファが、検索あるいは確認されてもよい。
S720のでは、S710での操作において検索された1より多くのバッファがある場合、それらバッファのうち最も古くに使用されたバッファが選択される。ある実施形態では、最も古くに使用された1つのバッファ、あるいは複数のバッファは、初めに確認され、そして、要求されたビットマップに一致するバッファセクションの番号と比較される。
S730の操作では、選択されたバッファセクションは、要求されたバッファに割り当てられ、そして、図2のテーブル70は、アップデートされ、選択されたバッファセクションの現在のバッファステータスを与える。例えば、選択されたバッファセクションは、割り当てされたものとして、バッファステータスフィールドにおいて、識別(確認)される。
S740の操作では、選択されたバッファセクションのバッファシークエンス番号の連続番号が、図2のテーブル70にてアップデートされる。S750の操作では、選択されたバッファセクションのビットマップ識別子が図2のテーブル70にてアップデートされる。
S730−750の操作で確認(識別)される、バッファステータス、バッファシークエンス番号、およびバッファ識別子は、図4のテーブルに示されるフィールドと似ていても同じであってもよく、バッファステータス440、バッファシークエンス430、およびビットマップ識別子420として確認される。
成功応答は、バッファの割り当て完了が成功したとき、図2の呼び出し部40に与えられる。失敗応答は、バッファ割り当てが失敗すると、図2の呼び出し部40に与えられる。例えば、利用可能なバッファセクションの数が、要求されたビットマップに対応する分検索できなければ、失敗としてバッファマネジャシステムにより検知される。
ある実施形態では、利用できるバッファセクションの数が要求される分ない場合、例えば、要求されたビットマップに対応する1つのバッファに含まれる連続したバッファセクションの数が十分になく、2以上のバッファが、S760の操作で組み合わされる。ある実施形態では、2以上の組み合わされたバッファが連続している。図2のテーブル70は、S730とS740の操作で記載されているように、2以上のバッファのそれぞれに対して、ビットマップ識別子とバッファ状態とを参照して、アップデートされる。組み合わされたバッファは、S750の操作で記載されているように、テーブル70において増加する連続した数字にて識別されるバッファセクションを含んでいる。
ある実施形態では、要求されたビットマップに割り当てるためのバッファの検索あるいは選択に、最も古くに使用されたアルゴリズムを使用するよりも、図1のバッファマネジャ1は、直近に(一番最近に)使用されたバッファセクションの再割り当てを決定してもよい。例えば、印刷ジョブが、バッファマネージメントシステムのメモリバッファサイズよりも大きなメモリ要求と結びついたビットマップを含んでいると、バッファマネジャ1は、一旦現在の印刷ジョブに関連した他のビットマップにバッファが割り当てられたままでいると、一番最近に使用されたバッファセクションを、再割り当てることを決定してもよい。この場合、印刷ジョブの最後のビットマップが、一番最近に使用されたバッファセクションに一旦格納されると、バッファマネジャ1は、印刷ジョブの最初の印刷のときに最も早くファイルされたビットマップに、バッファセクションのうちで最も古くに使用されたバッファセクションを、再割り当てする。連続した印刷ジョブのコピーは、バッファマネジャにより。最初にファイルされたビットマップを再生あるいは解凍することなしに、処理される。
上記したシステムは、いくつかのあるいは全ての操作を実行する、プロセッサシステム、マイクロコントローラ、プログラム可能なロジック装置、あるいはマイクロプロセッサを使用することができる。上記操作手段(処理手段)のあるものが、ソフトウエアにて実行され、他のものが、ハードウエアにて実行されてもよい。
ここでは、説明を簡単にするため、操作手段は、様々な、相互連結した機能ブロックあるいは異なるソフトウエアモジュールとして記載されている。必須ではないが、機能ブロックあるいはモジュールが、境界がはっきりしない、シングルロジック装置、プログラム、あるいは、操作手段に、同等に統合されているような場合があってもよい。どんな場合でも、機能ブロックおよびソフトウエアモジュール、あるいは、フレキシブルインターフェイスの特質は、それら自身によって遂行されてもよいし、ハードウエアあるいはソフトウエアのどちらかにある他の操作手段と組み合わされていてもよい。
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態、実施例についても本発明の技術的範囲に含まれる。
最後に、プリンタ制御部100は、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウエアによって実現してもよい。つまり、プリンタ制御部100は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウエアであるプリンタ制御部100の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記プリンタ制御部100に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
また、プリンタ制御部100を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
本発明は上述した実施形態、実施例に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態、実施例についても本発明の技術的範囲に含まれる。
本発明は、例えば、画像処理機能を有するプリンタ、コピー機、スキャナ、ファックス等を備えたシステムに適用することができる。
本発明の一実施形態に係るバッファ管理システムの構成を示すブロック図である。 図1のバッファ管理システム含む本発明の一実施形態に係るプリンタ制御部の構成を示すブロック図である。 それぞれバッファセクションを有する複数のバッファの構成の一例を示す図である。 バッファセクション識別子と割り当て状態とを含むデータテーブルの構成の一例を示す図である。 バッファ割り当て管理の処理の流れを示す図である。 バッファセクションの再割り当ての処理の流れを示す図である。 バッファセクションの割り当て処理の流れを示す図である。
符号の説明
1 バッファマネジャ
10,20,30 バッファ
11,12,13,21,22,23,31,32,33 バッファセクション
60 データ圧縮モジュール
70 テーブル
100 プリンタ制御部(印刷制御装置)

Claims (21)

  1. 非圧縮データであるビットマップデータを格納する複数のビットマップバッファと、
    上記ビットマップデータに対する上記ビットマップバッファの割り当てを管理するバッファマネジャと、を備え、
    上記バッファマネジャは、印刷要求されたビットマップデータに付随したビットマップ識別子に基づき、上記複数のビットマップバッファから1つを呼び出す、ことを特徴とする印刷制御装置。
  2. ビットマップ識別子に対応し、複数のビットマップバッファからなる連続したグループを有することを特徴とする請求項1に記載の印刷制御装置。
  3. 上記バッファマネジャは、最も古くに使用されたビットマップバッファから順に、上記ビットマップバッファを割り当てることを特徴とする請求項1に記載の印刷制御装置。
  4. 上記ビットマップ識別子は、上記ビットマップバッファのアドレスに対応していることを特徴とする請求項1に記載の印刷制御装置。
  5. 圧縮データとしてビットマップデータを保存する圧縮モジュールを備え、
    上記バッファマネジャは、印刷要求されたビットマップデータがビットマップバッファに格納されているか、および、印刷要求されたビットマップデータが圧縮データの解凍により再生されていないか、を確認することを特徴とする請求項1に記載の印刷制御装置。
  6. 上記ビットマップ識別子は、ページ番号およびビットマップデータの1つに付随する色の両方を識別するものであることを特徴とする請求項1に記載の印刷制御装置。
  7. ビットマップ識別子とビットマップバッファの割り当て状態とを保持するデータテーブルを有することを特徴とする請求項1に記載の印刷制御装置。
  8. 印刷装置でのバッファ割り当ての管理方法であって、
    ビットマップデータに、1以上のバッファを割り当てるステップと、
    1以上のバッファに、ビットマップ識別子を割り当てるステップと、
    上記バッファに格納されたビットマップデータを印刷するステップと、
    1以上のバッファを解放するステップと、
    ビットマップ識別子を含む印刷要求を受け付けるステップと、
    上記格納されているビットマップデータに1以上のバッファを再度割り当てて繰り返し再利用するステップと、
    を含むことを特徴とするバッファ割り当ての管理方法。
  9. 圧縮データとして上記ビットマップデータを保存するステップと、
    第2ビットマップデータを印刷するステップと、
    上記圧縮されたビットマップデータを解凍せずに、上記バッファに格納されたビットマップデータを再印刷するステップと、
    をさらに含むことを特徴とする請求項8に記載のバッファ割り当ての管理方法。
  10. 上記ビットマップデータは、1以上のバッファ内の非圧縮データとして、および、メモリ内あるいはハードドライブ上の圧縮データとして、共存することを特徴とする請求項9に記載のバッファ割り当ての管理方法。
  11. 1以上のバッファを再充填せずに、上記格納されたビットマップデータが再印刷されることを特徴とする請求項9に記載のバッファ割り当ての管理方法。
  12. 上記1以上のバッファが最も古くに使用されたものとして識別されることを特徴とする請求項8に記載のバッファ割り当ての管理方法。
  13. 残っている全てのバッファが割り当てられて、そして解放された後、1以上のバッファを新たなビットマップデータに割り当てるステップを、含むことを特徴とする請求項12に記載のバッファ割り当ての管理方法。
  14. 1以上のバッファに新たなビットマップ識別子を割り当てるステップを、含むことを特徴とする請求項12に記載のバッファ割り当ての管理方法。
  15. 1以上の記録媒体にエンコードされたロジックであって、
    ビットマップデータに、1以上のバッファセクションを割り当て、
    上記1以上のバッファセクションに、ビットマップ識別子を割り当て、
    上記ビットマップデータを印刷し、
    1以上のバッファセクションを割り当てから解放し、
    上記ビットマップデータの再印刷要求を受け付け、
    上記ビットマップ識別子を参照して1以上のバッファセクションを分析する、
    ことが実施可能なロジック。
  16. 上記ビットマップ識別子に基づき1以上のバッファセクションを決定し、
    上記ビットマップデータに1以上のバッファセクションを再び割り当て、
    上記ビットマップデータを再印刷する、
    ことが実施可能な請求項15のロジック。
  17. 圧縮データとして上記ビットマップデータを保存し、
    1以上のバッファセクションが、ビットマップ識別子を参照していないことを確認し、
    上記圧縮データを解凍し、
    1以上のバッファセクションを上記ビットマップデータで再充填し、
    上記ビットマップデータを再印刷する、
    ことが実施可能な請求項15のロジック。
  18. 最も古くに使用されたバッファセクションから順に、1以上のバッファセクションを、上記ビットマップデータに対して割り当てる、ことが実施可能な請求項15のロジック。
  19. 上記ビットマップデータのサイズに応じて、連続したバッファセクションの数を選択する、ことが実施可能な請求項15のロジック。
  20. 上記ビットマップデータに付随している連続したバッファセクションの番号を用いて、第1のバッファセクションのメモリアドレスを確認する、ことが実施可能な請求項19に記載のロジック。
  21. 請求項1〜7の何れか1項に記載の印刷制御装置を有することを特徴とする画像形成装置。
JP2007247555A 2006-11-22 2007-09-25 印刷制御装置、バッファ割り当ての管理方法、ロジック、および画像形成装置 Pending JP2008130085A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/562,815 US8085426B2 (en) 2006-11-22 2006-11-22 Intelligent page buffer allocation

Publications (1)

Publication Number Publication Date
JP2008130085A true JP2008130085A (ja) 2008-06-05

Family

ID=39416630

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007247555A Pending JP2008130085A (ja) 2006-11-22 2007-09-25 印刷制御装置、バッファ割り当ての管理方法、ロジック、および画像形成装置

Country Status (3)

Country Link
US (1) US8085426B2 (ja)
JP (1) JP2008130085A (ja)
CN (1) CN101187854B (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5171458B2 (ja) * 2008-07-28 2013-03-27 キヤノン株式会社 印刷制御装置、印刷制御方法、及びコンピュータプログラム
US20120194853A1 (en) * 2011-02-01 2012-08-02 Price Stephen G Page Validation Mechanism
US9229791B1 (en) * 2012-08-24 2016-01-05 Qlogic, Corporation System and method for high speed multiple buffer allocation
JP5902128B2 (ja) * 2013-07-10 2016-04-13 京セラドキュメントソリューションズ株式会社 画像形成装置
US10146473B2 (en) 2016-05-10 2018-12-04 Ge Aviation Systems Llc Systems and methods of subject state change notification
US10725911B2 (en) * 2018-12-10 2020-07-28 Sap Se Non-Uniform pagination of columnar data

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05201075A (ja) * 1992-01-24 1993-08-10 Nec Corp ページプリンタ装置
JPH06106813A (ja) * 1992-08-14 1994-04-19 Fuji Xerox Co Ltd プリンタ制御方法および装置
JPH10208392A (ja) * 1997-01-22 1998-08-07 Yamaha Corp 記録再生装置
JP2002264404A (ja) * 2001-03-07 2002-09-18 Ricoh Co Ltd 画像形成装置
JP2004188943A (ja) * 2002-12-13 2004-07-08 Seiko Epson Corp 印刷システム及び印刷制御方法
JP2006027055A (ja) * 2004-07-15 2006-02-02 Ricoh Co Ltd 画像形成方法及び画像形成装置
JP2006139770A (ja) * 2004-10-15 2006-06-01 Dymo Corp 双対印刷機構の制御

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6092171A (en) 1991-09-16 2000-07-18 Advanced Micro Devices, Inc. System and method for using a memory management unit to reduce memory requirements
US5479587A (en) 1992-09-03 1995-12-26 Hewlett-Packard Company Page printer having adaptive data compression for memory minimization
US5638498A (en) * 1992-11-10 1997-06-10 Adobe Systems Incorporated Method and apparatus for reducing storage requirements for display data
US5602976A (en) 1993-02-23 1997-02-11 Adobe Systems Incorporated Method and apparatus for saving printer memory
US5592594A (en) * 1994-04-26 1997-01-07 Hewlett-Packard Company Method and apparatus for allocating cache memory space for font data
JPH08212020A (ja) 1995-02-08 1996-08-20 Canon Inc 出力装置及び情報処理装置及び出力システム
WO1996027258A1 (fr) 1995-02-28 1996-09-06 Sony Corporation Dispositif d'impression de donnees d'image et dispositif permettant de produire des donnees d'image
US5682249A (en) 1995-05-11 1997-10-28 Xerox Corporation Method of encoding an image at full resolution for storing in a reduced image buffer
US6137589A (en) * 1995-09-20 2000-10-24 Hewlett-Packard Company Efficient storage of dithered raster image data in a printer or the like
US5793937A (en) 1996-03-29 1998-08-11 Peerless Systems Corporation Fallback processing for page generation using memory reduction techniques
JP3608314B2 (ja) * 1996-09-30 2005-01-12 ブラザー工業株式会社 プリンタ装置、プリントデータ送信装置および記憶媒体
US6870633B1 (en) * 1996-09-30 2005-03-22 Brother Kogyo Kabushiki Kaisha Printing device
JPH10198229A (ja) * 1996-12-30 1998-07-31 Canon Inc 画像処理装置および方法
US6038033A (en) * 1997-08-20 2000-03-14 Lexmark International, Inc. Method and apparatus for compressing and decompressing print data in the background operations of a printer
WO1999012337A2 (de) * 1997-08-29 1999-03-11 OCé PRINTING SYSTEMS GMBH Verfahren und gerät zur elektronischen archivierung eines computer-datenstroms
JP3997504B2 (ja) * 1998-05-29 2007-10-24 リコープリンティングシステムズ株式会社 文書印刷方法、文書処理方法及びプリンタ
US20010015820A1 (en) 1998-07-13 2001-08-23 Hewlett-Packard Company Method and apparatus for conservation of memory in a printer through selective compression of a display list
US6711294B1 (en) * 1999-03-31 2004-03-23 International Business Machines Corporation Method and apparatus for reducing image data storage and processing based on device supported compression techniques
JP3588005B2 (ja) * 1999-04-28 2004-11-10 シャープ株式会社 印刷システムにおける印刷方法
JP3487255B2 (ja) * 2000-03-23 2004-01-13 日本電気株式会社 カラー印刷装置及びそのビデオデータ出力方法
US6564305B1 (en) 2000-09-20 2003-05-13 Hewlett-Packard Development Company Lp Compressing memory management in a device
US20020093506A1 (en) * 2001-01-16 2002-07-18 Hobson Jay A. Apparatus and method for storing and retrieving images for transmission to an output device
JP4035339B2 (ja) 2002-02-06 2008-01-23 キヤノン株式会社 原稿読取装置
JP2004080520A (ja) 2002-08-20 2004-03-11 Ricoh Co Ltd 画像処理装置、画像読取装置及び画像形成装置
DE60316856T2 (de) * 2002-08-26 2008-07-03 Seiko Epson Corp. Datenübertragungsvorrichtung zur Übertragung von Flüssigkeitsausstoßdaten und Flüssigkeitsausstoßvorrichtung
US20050057780A1 (en) * 2002-11-19 2005-03-17 Canon Denshi Kabushiki Kaisha Network scanning system
FR2850181B1 (fr) 2003-01-16 2005-07-08 Canon Europa Nv Procede et dispositif de gestion d'images
JP4054688B2 (ja) 2003-01-30 2008-02-27 キヤノン株式会社 印刷システム並びに情報処理装置及びその制御方法、プリンタドライバプログラム及びコンピュータ可読記憶媒体
JP2005144843A (ja) * 2003-11-14 2005-06-09 Konica Minolta Business Technologies Inc 画像処理装置、画像処理方法ならびに画像処理プログラムおよびこれを記録したコンピュータ読み取り可能な記録媒体
US7189016B2 (en) * 2004-08-30 2007-03-13 Sharp Laboratories Of America, Inc. System and method for expedited reprinting
JP2006180243A (ja) * 2004-12-22 2006-07-06 Fuji Photo Film Co Ltd データ移送システム
JP2006231873A (ja) * 2005-02-28 2006-09-07 Oki Data Corp 画像形成装置
US20070070377A1 (en) * 2005-09-22 2007-03-29 Kabushiki Kaisha Toshiba Image forming apparatus and image forming method
JP4614394B2 (ja) * 2005-10-26 2011-01-19 キヤノン株式会社 画像形成装置及びその制御方法、画像形成システム、プログラム
US20070097395A1 (en) * 2005-10-27 2007-05-03 Akira Kaminogo Image forming device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05201075A (ja) * 1992-01-24 1993-08-10 Nec Corp ページプリンタ装置
JPH06106813A (ja) * 1992-08-14 1994-04-19 Fuji Xerox Co Ltd プリンタ制御方法および装置
JPH10208392A (ja) * 1997-01-22 1998-08-07 Yamaha Corp 記録再生装置
JP2002264404A (ja) * 2001-03-07 2002-09-18 Ricoh Co Ltd 画像形成装置
JP2004188943A (ja) * 2002-12-13 2004-07-08 Seiko Epson Corp 印刷システム及び印刷制御方法
JP2006027055A (ja) * 2004-07-15 2006-02-02 Ricoh Co Ltd 画像形成方法及び画像形成装置
JP2006139770A (ja) * 2004-10-15 2006-06-01 Dymo Corp 双対印刷機構の制御

Also Published As

Publication number Publication date
US20080117462A1 (en) 2008-05-22
CN101187854B (zh) 2010-07-21
CN101187854A (zh) 2008-05-28
US8085426B2 (en) 2011-12-27

Similar Documents

Publication Publication Date Title
JP4393076B2 (ja) 画像処理方法及びその装置
JP4738948B2 (ja) 情報処理装置、画像処理方法、及びコンピュータプログラム
JP4854309B2 (ja) データ格納制御装置
US7697772B2 (en) Apparatus, method and computer program product for performing image compression of image data
JP2008130085A (ja) 印刷制御装置、バッファ割り当ての管理方法、ロジック、および画像形成装置
JPH08297560A (ja) ページ記述言語データストリームの並列処理
JPH10340165A (ja) 情報処理装置及びその方法並びにメモリ媒体
US8687223B2 (en) Image processing apparatus and image processing method utilizing efficient memory regions
US7746494B2 (en) Data processing apparatus, data processing method, printer driver, print control apparatus, print control method, and printing system
JP3962606B2 (ja) 印刷命令生成装置及び方法、印刷装置及びその制御方法、情報処理装置及び印刷システム
JP4218582B2 (ja) 画像形成装置
US7050191B2 (en) Sub-banding of display list and video buffer for page rendering in a digital signal processor
US7764394B2 (en) Data processing apparatus, data processing method, and data processing program
JP2009143124A (ja) 画像処理装置
JP2007219576A (ja) プリンタドライバ選択プログラム及び記録媒体
JP3878599B2 (ja) 画像形成装置及びその制御プログラム
JP2005349768A (ja) 印刷装置及び印刷方法
JP2001018493A (ja) プリンタ、プリンタの制御方法、及び、そのための処理を記録した記録媒体
CN101588431B (zh) 图像形成装置及其控制方法
KR101235216B1 (ko) 하드 디스크 드라이브 보안 기능을 구비한 화상형성시스템
JP3483464B2 (ja) 画像処理システム及びその制御方法
JP2004021329A (ja) プリントプログラム
JPH09218763A (ja) 印刷処理システム
JP3873476B2 (ja) 描画処理システム、描画処理制御装置、及び描画処理方法
JP5082741B2 (ja) 印刷システム、印刷プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100223

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100421

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100706