JP6330397B2 - 画像処理装置、画像形成装置、画像処理方法及びプログラム - Google Patents

画像処理装置、画像形成装置、画像処理方法及びプログラム Download PDF

Info

Publication number
JP6330397B2
JP6330397B2 JP2014054806A JP2014054806A JP6330397B2 JP 6330397 B2 JP6330397 B2 JP 6330397B2 JP 2014054806 A JP2014054806 A JP 2014054806A JP 2014054806 A JP2014054806 A JP 2014054806A JP 6330397 B2 JP6330397 B2 JP 6330397B2
Authority
JP
Japan
Prior art keywords
subband
image
band
memory
preparation
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.)
Active
Application number
JP2014054806A
Other languages
English (en)
Other versions
JP2015174434A (ja
Inventor
淳示 鈴木
淳示 鈴木
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2014054806A priority Critical patent/JP6330397B2/ja
Publication of JP2015174434A publication Critical patent/JP2015174434A/ja
Application granted granted Critical
Publication of JP6330397B2 publication Critical patent/JP6330397B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)
  • Storing Facsimile Image Data (AREA)

Description

この発明は、画像処理装置、画像形成装置、画像処理方法及びプログラムに関する。
画像メモリに画像を描画する場合において、画像メモリに画像全体を格納するための十分な領域が確保できない場合に、画像を短冊状のバンドに区切り、バンド毎に描画処理を行うことにより、一度に必要な画像メモリの最大値を抑える技術が知られている。
例えば、特許文献1には、描画や圧縮の高速化を図るために、プリンタアプリケーションが決定したバンドサイズと別に、メモリ利用効率から判断したバンドサイズを採用することが記載されている。
ところで、画像をバンドに区切って描画する場合、画像データが占めるメモリ容量を低減するため、描画が完了したバンドの画像データを、圧縮してメモリの別の領域やHDD(ハードディスクドライブ)等の別の記憶手段に退避させることが考えられる。この場合、再度同じバンドについて描画する必要が生じた場合、退避させた画像データを伸長して画像メモリに格納し、描画可能な状態にしてから描画を行うことになる。このため、伸長処理を行っている間、描画処理は待機することになり、その分だけ画像全体の描画完了までの所要時間が延びてしまうという問題があった。
また、あるバンドの画像を初めに描画しようとする場合も、上記伸長処理に代えて、バンドの画像データを格納できるだけのメモリ領域を初期化して画像データを書き込み可能とする初期化処理が必要となる。このため、初期化処理を行っている間、描画処理は待機することになり、同様に描画完了までの所要時間が延びてしまうという問題があった。
特許文献1に記載の発明においても、これらの問題に対する特段の解決手段は開示されていない。
この発明は、このような問題を解決し、メモリに画像を描画する際の、画像全体の描画完了までの所要時間を短縮できるようにすることを目的とする。
以上の目的を達成するため、この発明は、画像処理装置において、画像の描画範囲を分割した複数のサブバンドを設定する設定手段と、メモリを初期化するか、または圧縮した画像データを伸長して、上記メモリ上に上記サブバンドの画像データを格納した領域を準備する描画準備手段と、上記描画準備手段が準備した領域に、入力されたデータに基づき対応するサブバンドの画像を描画する描画手段とを設け、上記描画手段が、上記描画準備手段による上記領域の準備が完了したサブバンドについて、上記描画準備手段による次のサブバンドについての上記領域の準備と並行して、上記描画を行い、上記設定手段が、前記メモリの空き容量に基づき、設定するサブバンドのサイズを決定するようにしたものである。
上記構成によれば、メモリに画像を描画する際の、画像全体の描画完了までの所要時間を短縮できるようにすることができる。
この発明の画像処理装置及び画像形成装置の一実施形態である画像形成装置のハードウェア構成を示す図である。 図1に示した画像形成装置が備える、画像の描画に関する機能の構成を示す図である。 図1に示した画像形成装置のCPUが、PDLデータに基づき画像を描画する際に実行する処理のフローチャートである。 図3に示した描画処理のフローチャートである。 1ページ分の画像の例を示す図である。 図5の画像を記述するPDLデータから生成した中間データの例を示す図である。 図1に示した画像形成装置及び比較例における、各バンドに関する処理のタイミング例を示す図である。 画像の描画に要する時間に基づきサブバンドのサイズを決定する場合の、各バンドに関する処理のタイミング例を示す図である。 メモリの空き容量に基づきサブバンドのサイズを決定する場合の、各バンドに関する処理のタイミング例を示す図である。 カラー画像形成に用いる画像の描画処理を行う場合の処理のタイミング例を示す図である。
以下、この発明を実施するための形態について、具体的に説明する。
まず、図1に、この発明の画像処理装置及び画像形成装置の一実施形態である画像形成装置のハードウェア構成を示す。
図1に示す画像形成装置10は、コントローラ100と、エンジン部110と、操作パネル120とを備える。また、コントローラ100は、CPU101、ROM102、RAM103、NVRAM(Non-Volatile RAM)104、ネットワークI/F(インタフェース)105、エンジンI/F106、パネルI/F107、圧縮伸長器108を備え、それらをシステムバス109により接続した構成としている。エンジン部110はエンジンI/F106に接続され、操作パネル120はパネルI/F107に接続される。
そして、CPU101が、RAM103をワークエリアとしてROM102又はNVRAM104に記憶されたプログラムを実行することにより、画像形成装置10全体を制御し、図2を用いて後述するものをはじめとする種々の機能を実現する。例えば、画像を複数のバンド及びサブバンドに分割してサブバンド毎に画像メモリに描画を行う機能である。
RAM103は、一時的に使用する種々のデータを記憶するための記憶手段であり、画像を描画するための画像メモリも、RAM103に設ける。
NVRAM104は、不揮発性記憶媒体(記憶手段)であり、CPU101が実行する各種プログラムや後述する各種データを格納している。描画の完了したバンドの画像データの退避先としても用いる。
ネットワークI/F105は、LAN(ローカルエリアネットワーク)等のネットワークを介して、画像形成装置10に画像形成の指示を行うホスト装置等の外部装置と通信するためのインタフェースである。
エンジンI/F106は、エンジン部110をシステムバス109に接続してCPU101から制御可能とするためのインタフェースである。
パネルI/F107は、操作パネル120をシステムバス109に接続してCPU101から制御可能とするためのインタフェースである。
圧縮伸長器108は、CPU101による制御に従い、画像メモリに描画された画像データを圧縮したり、圧縮済みの画像データを伸長して画像メモリに記憶させたりする機能を備える。また、RAM103の記憶領域を初期化して画像メモリとして使えるように確保する機能も備える。
エンジン部110は、用紙に画像を形成するための画像形成部、画像形成に供する用紙を載置し給紙する給紙部、用紙を搬送する搬送部など、通信及び情報処理以外の各種動作を行うための機構である。
操作パネル120は、ユーザに情報を提示するための表示手段と、ユーザから操作を受け付けるための操作手段とを備える。表示手段としては、液晶ディスプレイやランプ等を用いることができる。操作手段としては、キー、ボタン、タッチパネル等を用いることができる。
以上の画像形成装置10は、例えばデジタル複合機(MFP)やプリンタであり、ホスト装置からの画像形成要求に基づき、用紙に画像を形成することができる。形成すべき画像の情報は、ホスト装置から記述言語(PDL)のデータとして渡される。画像形成装置10は、このデータに基づき画像メモリに画像を描画して、エンジン部110を制御するための画像データを生成する。
次に、図2に、画像形成装置10が備える、画像の描画に関する機能の構成を示す。これらの各部の機能は、CPU101が所要のプログラムを実行することにより図1に示した各種ハードウェアを制御することにより実現されるものである。
図2に示すように、画像形成装置10は、PDLデータ解析部131、中間データ保存部132、中間データメモリ133、描画部134、バンドメモリ制御部135、バンドメモリ136及びプリンタエンジン137の機能を備える。
これらのうちPDLデータ解析部131は、形成すべき画像の情報として受け取ったPDLにより記述されたデータ(PDLデータ)の言語解析を行い、PDLデータに含まれるコマンドを抽出する機能を備える。
中間データ保存部132は、PDLデータ解析部131が抽出したコマンドに基づき中間データとなるDisplayListを作成し、中間データメモリ133に格納する機能を備える。
中間データメモリ133は、RAM103内に設けられた記憶領域であり、中間データ保存部132が作成した中間データを記憶する機能を備える。
描画部134は、中間データメモリ133から中間データを読み出し、その中間データに従ってバンドメモリ136に画像を描画する描画手段の機能を備える。また、この描画に先立って、バンドメモリ制御部135に、バンドメモリ136を準備するよう指示する機能も備える。なお、描画部134は、1ページ分の画像のうち一度に描画処理を行うバンドのサイズを決定し、バンドメモリ制御部135に、そのバンドの画像データが格納できるだけのバンドメモリ136の準備を指示する。また、描画部134は、バンドメモリ制御部135からバンドメモリ136を準備した旨の応答があってから行う。さらに、描画部134は、バンドメモリ136への描画が完了すると、バンドメモリ制御部135に対し、そのバンドメモリの画像を退避させるよう指示する機能も備える。
バンドメモリ制御部135は、描画部134からの指示に基づき、RAM103内にバンドメモリ136の領域を準備する描画準備手段の機能を備える。ただし、バンドメモリ制御部135は、必ずしも描画部134から指示されたサイズのバンドメモリ136を準備するわけではない。バンドメモリ制御部135は、RAM103の断片化情況や空き状況を考慮して、実際に準備するバンドメモリ136のサイズを決定し、そのサイズ分の準備ができると、描画部134に対し、確保できたサイズと共に準備完了を応答する。また、その後も、合計で描画部134から指示されたサイズ分のバンドメモリ136が準備できるまで、準備を続ける。この、バンドメモリ136のサイズを決定する機能は、分割手段の機能に該当するが、この点については後に詳述する。
なお、バンドメモリ136の準備は、まだ画像データの描画を行っていないバンドについては、RAM103内の必要なサイズのメモリ領域を初期化(ゼロクリア)することにより行う。このことにより、まだ何も描画されていない状態の画像データを格納したバンドメモリ136を準備することができる。既に画像データの描画を行ったバンドについては、RAM103内に必要なサイズのメモリ領域を確保すると共に、圧縮してNVRAM104に退避させてある画像データを伸長してそのメモリ領域に格納することにより行う。このことにより、前回までの描画内容を反映した画像データを格納したバンドメモリ136を準備することができる。
また、バンドメモリ制御部135は、描画部134からの指示に基づき、描画の完了したバンドメモリ136の画像データを圧縮してNVRAM104に退避させる機能も備える。再描画を考慮すると、画像をバンドに分割して描画を行っても、結局は1ページ分の画像データを同時に記憶できるだけの領域を確保しなければならない。しかし、描画の完了したバンドのデータを圧縮して退避させれば、その退避させた分だけ、同時に必要となるメモリ容量を低減することができる。
バンドメモリ136は、RAM103内に設けられた記憶領域であり、1つのサブバンド(後述)分の画像データを記憶する機能を備える。
プリンタエンジン137は、描画が完了した1ページ分の画像データを入力し、その画像データに従って用紙に画像を形成する画像形成手段の機能を備える。
次に、図3に、画像形成装置10のCPU101がPDLデータに基づき画像を描画する際に実行する処理のフローチャートを示す。
CPU101は、ホスト装置からの受信等によりPDLデータを取得し、このPDLデータに基づき用紙に画像を形成すべきと判断した場合、初めの1ページ(用紙の1面)分のPDLデータを処理対象として、図3の処理を開始する。次のページがあれば、図3の処理により描画を行ったページの画像データをプリンタエンジン137に入力して画像形成を開始させた後で、次のページのPDLデータを処理対象として再度図3の処理を開始する。
図3の処理において、CPU101はまず、処理対象のPDLデータを解析して未処理のコマンドを抽出する。1つずつでも、複数でもよい(S11)。この処理は、PDLデータ解析部131の機能と対応する。
次に、CPU101は、ステップS11で抽出したコマンドに基づき、中間データを生成して中間データメモリ133に格納する(S12)。この処理は、中間データ保存部132の機能と対応する。
次に、CPU101は、処理対象のPDLデータに含まれる全てのコマンドに係る処理を完了したか否か判断する(S13)。そして、完了していない場合、中間データメモリ133の容量がフル(満杯)になったか否か判断する(S14)。ここでもNoであれば、ステップS11に戻って処理を繰り返す。
ステップS13またはステップS14でYesの場合、すなわち全てのコマンドの係る処理が完了するか中間データメモリ133の容量がフルになると、それまでに生成した中間データに係る描画を行うべく、処理はステップS15以下に進む。
なお、処理対象のPDLデータに含まれるコマンドに基づく中間データを全て中間データメモリ133に格納できた場合(S13でYes)、ステップS15以下の処理を行うのは1回だけである。すなわち、必要なバンドを1回ずつ処理対象とするのみで1ページ分の画像の描画が完了する。しかし、中間データメモリ133が途中で満杯になった場合(S14でYes)、それまでに作成した中間データに係る描画が終わった後で、必要なバンドを処理対象として続きの中間データによる描画を再度行うことになる。
そして、CPU101は、中間データメモリ中の中間データの描画先となるバンドのうち未処理のバンドを1つ処理対象とする(S15)。このバンドのサイズは、描画部134が決定するものである。
ここで、図5及び図6を用いて、中間データとバンドの関係について説明する。
図5は、1ページ分の画像の例であり、ページ内にX〜Zの3つの描画オブジェクトが配置された例である。
図6は、図5の画像を記述するPDLデータから生成した中間データの例である。この例では、描画オブジェクトXの描画を指示するコマンドXと、描画オブジェクトYの描画を指示するコマンドYとを中間データメモリ133に格納した時点で中間データメモリがフルになったとする。そして、ここまでの中間データを、(a)に示す1組の中間データDisplayList1とし、まず各バンドにこのDisplayList1に基づく描画を行う。残りの描画オブジェクトZの描画を指示するコマンドZは、(b)に示す別の1組の中間データDisplayList2とし、DisplayList1に基づく描画を行った後の各バンドに、このDisplayList2に基づく描画を行う。
一方、描画部134は、1ページ分の画像を示す画像データを、予め定めた分割数、ライン数等に従い、複数のバンドに分割して処理する(分割数が1であれば1ページ分の画像データ全体が1つのバンドとなる)。図5では3つのバンドに分割した例を示している。
ここで、1組の中間データを用いた描画処理を行う場合を考える。この場合、まず、中間データに従い描画すべき描画オブジェクトが、どのバンドに配置されるかを調べる。図6(a)のDisplayList1を用いる場合、描画オブジェクトXと描画オブジェクトYとを描画するため、第1バンド〜第3バンドの全てに描画オブジェクトが配置されることになる。従って、第1バンド〜第3バンドの全てについて描画処理を行うべきことがわかる。一方、図6(b)のDisplayList2を用いる場合、描画オブジェクトZを描画するため、第2バンドにのみ描画オブジェクトが配置されることになる。従って、第2バンドのみについて描画処理を行うべきことがわかる。
図3のステップS15における「描画先となるバンド」は、このように、中間データに従い描画すべき描画オブジェクトが配置されるバンドのことである。
図3の説明に戻ると、ステップS15で1つのバンドを処理対象とした後、CPU101は、そのバンドを処理対象とするのは現在のページの描画において1回目であるか(既にそのバンドに関する描画を行っていないか)否か判断する(S16)。
ここでYesであれば、処理対象のバンドの画像データを格納するバンドメモリを新たに準備すべきことがわかる。そこで、CPU101はまず、処理対象のバンド中に今回設定するサブバンドのサイズを決定する(S17)。サブバンドのサイズは、バンドを等分割する、バンドを所定サイズずつに分割する、画像の描画に要する時間に基づき定める、メモリの空き容量に基づき定める、等の、予め定めた適当なアルゴリズムに従って決定すればよい。なお、ステップS17の段階ではサイズを確定させず、所定時間内に確保できた連続するメモリ領域のサイズに応じてサブバンドのサイズを決定する、といったアルゴリズムも採用可能である。
いずれにせよ、サブバンドは、バンドを分割する形で設け、複数のバンドをまたぐサブバンドは設定しないようにする。従って、処理対象のバンドのうち、まだサブバンドを設定していない領域が上記アルゴリズムに基づき決定したサイズより小さい場合は、まだサブバンドを設定していない領域全体を1つのサブバンドとする。
次に、CPU101は、圧縮伸長器108にRAM103中の必要な領域を初期化させ、ステップS17で決定したサイズのサブバンドの画像データを格納するバンドメモリ136を確保する(S18)。CPU101は、圧縮伸長器108が必要サイズを初期化できるまで待機する(S19)。必要サイズを確保できると、今回設定し処理対象となるサブバンドの画像データの初期値を格納した領域を準備できたことになるので、ステップS21に進む。そして、CPU101は、確保したバンドメモリ136に対する描画処理を起動する(S21)。
一方、ステップS16でNoの場合、処理対象のバンドの画像データは、既に設定されたサブバンド毎に圧縮されて退避されていることがわかる。そこで、CPU101は、RAM103中に必要なサイズのバンドメモリ136を確保し、圧縮伸長器108に処理対象のバンド中の未処理のサブバンドのうち最初のサブバンドの圧縮済み画像データを伸長させて、その確保した領域に格納させる(S20)。このことにより、処理対象のサブバンドの描画済みの画像データを格納した領域を準備できる。
なお、図示は省略したが、CPU101はステップS20で伸長した画像データの格納が終わるまで待機する。また、ステップS20で十分なメモリ領域が確保できない場合、確保できるまで待機する。そして、CPU101は次に、確保したバンドメモリ136に対する描画処理を起動する(S21)。
以上のステップS16乃至S21の処理が、バンドメモリ制御部135の機能と対応する処理である。また、ステップS17の処理が設定手順の処理であり、この処理において、CPU101は設定手段として機能する。ステップS18乃至S20の処理が描画準備手順の処理であり、これらの処理において、CPU101及び圧縮伸長器108は描画準備手段として機能する。
ステップS19から進んだ場合もステップS20から進んだ場合も、ステップS21の後、起動した描画処理と並行して、図3の処理を先に進める。そして、CPU101は、処理対象のバンド全体について、バンドメモリ136の確保及び図4の描画処理が完了したか否か判断する(S22)。
そして、ステップS22でNoであれば、ステップS16に戻って処理を繰り返す。全てのサブバンドについてバンドメモリ136の確保が終了した後は、ステップS16乃至S22をループしつつ描画処理の完了を待つことになる。そして、ステップS22でYesとなると、1バンド分の描画処理が完了したことになる。
この場合、CPU101は次に、中間データの描画先となるバンドにまだ未処理のバンドがあるか否か判断する(S23)。ステップS23でYesであれば、ステップS15に戻り、次のバンドを処理対象として処理を繰り返す。ステップS23でNoであれば、今回生成した中間データに関する描画処理が完了したことになる。
この場合、CPU101は次に、処理対象のPDLデータ中の全てのコマンドの処理が完了したか否か判断する(S24)。ステップS24でNoであれば、ステップS11に戻って処理を繰り返し、未処理のコマンドに基づき次の中間データを生成してその中間データに基づく描画を行う。ステップS24でYesであれば、1ページ分のPDLデータに関する描画処理が完了したことになるので、図3の処理を終了する。
CPU101は以後の適当なタイミングで、図3の処理による描画で生成した1ページ分の画像データをプリンタエンジン137に供給し、その画像データに基づく画像を形成させる。
次に、図4に、図3のステップS21で起動される描画処理のフローチャートを示す。この処理は、描画部134の機能と対応する描画手順の処理であり、この処理において、CPU101は描画手段として機能する。
図4の処理において、CPU101はまず、他の描画処理が実行中である場合、それが完了するまで待機する(S31)。その後、図3のステップS18又はS20で確保したバンドメモリ136に対し、中間データメモリ133中の中間データに基づき画像を描画する(S32)。バンドメモリ136は、1つのサブバンドの領域の画像データを格納する領域であり、描画も、その領域の画像についてのみ行う。従って、サブバンドの領域と少なくとも一部が重なる描画オブジェクトを配置するコマンドについてのみ描画処理を行えばよい。
ステップS32の後、CPU101は、描画の完了したバンドメモリ136に関する解放処理を起動して(S33)、図4の処理を終了する。
この解放処理は、図示は省略するが、バンドメモリ136に格納されている画像データを圧縮してNVRAM104等の他の記憶領域に退避させ、バンドメモリ136の領域を開放する処理である。この解放処理も、図3の処理や描画処理と並行して実行可能である。また、圧縮処理は、圧縮伸長器108に実行させる。
以上の処理により、コントローラ100は、描画部134に設定したバンドを、さらにサブバンドに分割して、サブバンド毎に描画処理を行うことができる。特に、サブバンドの画像データを記憶させるバンドメモリ136の確保と並行して、バンドメモリ136を確保済みのサブバンドに関する描画処理を行うことができる。そして、このことにより、1ページ分の画像データの描画に要する時間を短縮することができる。
以下、サブバンドのサイズ設定アルゴリズムのいくつかの具体例及び比較例を用いて、この効果について説明する。
図7乃至図10においては、CPU101が行うPDLデータの言語解析及び描画(再描画も含む)の処理と、圧縮伸長器108が行うメモリの初期化及び画像データの伸長の処理のタイミングを、それぞれ帯で示す。図で横方向(紙面では縦方向)が時間の経過を示す。ただし、描画済み画像データの圧縮の処理は、図示を省略している(バンドメモリの準備や描画の処理と並行して行うことは上述の通り)。帯中のカギ括弧内に示した数字は、該当の帯がどのサブバンドの処理であるかを示す。[x-y]は、x番目のバンド中のy番目のサブバンドを示す。例えば、[1-2]は、第1バンド中の第2サブバンドである。また、図中の破線矢印は、矢印の根元の処理の完了後に、矢印の先の処理を開始することを示す。
図7(a)に示すのは、各バンドを2つのサブバンドに均等に分割した場合の各バンドに関する処理のタイミングである。なお、以下に説明する図7の例において、バンド及び描画オブジェクトの配置と、生成される中間データの内容とは、図5及び図6を用いて説明したものであるとする。(a)の例だけでなく、(b)の例においても同様である。
図7(a)に示すように、CPU101は、PDLデータの言語解析処理(中間データの生成も含む、以下も同様)が完了した後、1組目の中間データDisplayList1に関する描画処理を行うべく、圧縮伸長器108に第1バンドのバンドメモリ136を準備させる。このとき、CPU101は、第1バンドの前半分の領域を第1サブバンドに設定する。従って、圧縮伸長器108はRAM103の初期化によりその第1サブバンドのバンドメモリが準備できると、CPU101にその旨を伝える。CPU101は、これに応じて第1サブバンドの描画処理を開始する。
また、CPU101は、続けて第1バンドの残りの領域を第2サブバンドに設定し、圧縮伸長器108は、第1サブバンドの描画処理と並行して第2サブバンドのバンドメモリの準備を行う。第2サブバンドのバンドメモリが準備できると、圧縮伸長器108はCPU101にその旨を伝える。その後、CPU101は、第1サブバンドの描画処理が終わると、第2サブバンドの描画処理を開始する。
また、CPU101は、第2サブバンドの描画処理が終わったタイミングで、サブバンドを設定し、圧縮伸長器108に、第2バンド中の各サブバンドのバンドメモリの準備を開始させる。以下、第2バンド及び第3バンドについても、第1バンドの場合と同様に、第1サブバンド分のバンドメモリが準備できた時点で、CPU101が第1サブバンドの描画処理を開始し、圧縮伸長器108がこれと並行して第2サブバンドのバンドメモリの準備を行う。
図示は省略したが、CPU101は、第3バンドの第2サブバンドのバンドメモリの準備が終了すると、描画処理と並行して、2組目の中間データDisplayList2の生成を行う。
そして、第3バンドの第2サブバンドの描画処理が終了すると、CPU101は、次に中間データDisplayList2に関する描画処理を行うべく、必要なメモリ領域を確保して、圧縮伸長器108に第2バンドの第1サブバンドのバンドメモリ136を準備させる。DisplayList2に関する描画は、図5及び図6を用いて説明した通り、第2バンドに対してのみ行うためである。
これに対し、圧縮伸長器108は、DisplayList1に関する描画処理の際に設定されたサブバンドの区分に従い、圧縮して退避させてあった第2バンド中の第1サブバンドの画像データを伸長して、CPU101が確保した領域に書き込むことにより、第1サブバンドのバンドメモリを準備する。この準備ができると、CPU101にその旨を伝え、CPU101はこれに応じて第1サブバンドの描画処理を開始する。この描画処理は、既に一度描画がなされた画像データに対して行うことから、再描画と記載している。
また、圧縮伸長器108は、続けて第2サブバンドのバンドメモリも同様に準備し、その準備ができると、CPU101にその旨を伝える。その後、CPU101は、第2サブバンドの描画処理が終わると、第2サブバンドの描画処理を開始する。
第2サブバンドの描画処理が完了すると、1ページ分の描画処理が完了となる。
この実施形態においては、以上のように、1バンド分のバンドメモリが準備できるのを待たず、それより少ない1サブバンド分のバンドメモリが準備できた時点でその分の描画処理を開始する。従って、CPU101がバンドメモリの準備を待って待機している時間が短くて済み、1ページ分の描画処理に要する時間を短縮することができる。
また、描画処理を早く開始できる分、1バンド分の描画処理が完了するタイミング(次のバンドのバンドメモリの準備を開始するタイミング)を早めることができ、1バンド分のバンドメモリが準備できてから次のバンドのバンドメモリの準備を開始するまでの時間も、その分短縮することができる。
なお、2組目以降の中間データに基づく描画の際に、既に設定したサブバンドの区分に従って処理を行うのは、圧縮をサブバンドの単位で行っており、後で区分を変えることが困難であるためである。ただし、圧縮をより細かい単位で行えば、管理上の負担や処理負荷は増すが、圧縮の単位で区分を変えることも考えられる。
次に、図7(b)に、比較例として、各バンドをサブバンドに分割しない場合の各バンドに関する処理のタイミングを示す。この図において、帯中のカギ括弧内に示した数字は、該当の帯がどのバンドの処理であるかを示す。[x]は、x番目のバンド、すなわち第xバンドを示す。
図7(b)の例でも、CPU101は、PDLデータの言語解析処理が完了した後、1組目の中間データDisplayList1に関する描画処理を行うべく、圧縮伸長器108に第1バンドのバンドメモリ136を準備させる。このとき、圧縮伸長器108は、RAM103の初期化により第1バンド全体のバンドメモリが準備できてから、CPU101にその旨を伝え、CPU101はこれに応じて第1バンドの描画処理を開始する。
また、CPU101は、第1バンドの描画処理が終わったタイミングで、圧縮伸長器108に、第2バンドのバンドメモリの準備を開始させる。
以下、第2バンド及び第3バンドについても、第1バンドの場合と同様に、圧縮伸長器108においてバンドメモリが準備できた時点で、CPU101が描画処理を開始し、その完了後に圧縮伸長器108が次のバンドのバンドメモリの準備を行う。
図示は省略したが、CPU101は、第3バンドのバンドメモリの準備が終了すると、描画処理と並行して、2組目の中間データDisplayList2の生成を行う。
そして、第3バンドの描画処理が終了すると、CPU101は、次に中間データDisplayList2に関する描画処理を行うべく、必要なメモリ領域を確保して、圧縮伸長器108に第2バンドのバンドメモリを準備させる。
これに対し、圧縮伸長器108は、圧縮して退避させてあった画像データを伸長してCPU101が確保した領域に書き込むことにより、第2バンドのバンドメモリを準備する。この準備ができると、CPU101にその旨を伝え、第2バンドの描画処理を開始させる。
第2サブバンドの描画処理が完了すると、1ページ分の描画処理が完了となる。
この比較例においては、1バンド分のバンドメモリが準備できるのを待ってから描画処理を開始する。従って、上述の実施形態に比べ、CPU101がバンドメモリの準備を待って待機している時間が長くなり、その分、1ページ分の描画処理に要する時間が長くなる。
また、CPU101が1バンド分の描画処理を行うのに要する時間だけ、圧縮伸長器108は待機しているため、圧縮伸長器108の待機時間も長く、その分、1ページ分の描画処理に要する時間が長くなる。
従って、上述した実施形態の構成により、バンドをサブバンドに分割しない図7(b)のような処理手順を採用する場合に比べ、CPU101及び圧縮伸長器108の待機時間を短縮して、1ページ分の描画処理に要する時間を短縮することができるといえる。
次に、図8に、画像の描画に要する時間に基づきサブバンドのサイズを決定する場合の各バンドに関する処理のタイミングを示す。
図7(a)の例では、バンドを均等に分割したサブバンドを設定していたが、描画処理に時間がかかる場合、第2サブバンドのバンドメモリ準備(初期化)完了までに、第1サブバンドの描画処理を完了できない。このため、図7(a)の例では、第2サブバンドのバンドメモリ準備完了後に、第1サブバンドの描画処理の完了まで、圧縮伸長器108の待機時間が発生してしまっていた。なお、図示はしていないが、圧縮伸長器108は第1サブバンドの描画処理が完了すると、描画済み画像データを圧縮する処理を行うので、図に処理が表れていなくても、第1サブバンドの描画処理が完了後の期間は待機時間ではない(第2バンド中の第1サブバンドの描画処理完了後など)。
この点を考えると、描画に用いる中間データの内容から、均等分割ではサブバンド1つ分の描画処理にサブバンド1つ分のバンドメモリ準備処理よりも時間がかかってしまう場合、第1サブバンドを、第2サブバンドよりも狭い領域に設定するとよい。図8に示すのは、このように設定する例である。
図8の例では、CPU101は、PDLデータの言語解析処理が完了した後、圧縮伸長器108に第1バンドのバンドメモリ136を準備させる際に、中間データの内容に基づき、第1サブバンドのサイズを決定し、圧縮伸長器108にそのサイズを指示する。このとき、第1サブバンドのサイズが、第2サブバンドのサイズよりも小さくなるよう決定する。圧縮伸長器108は、CPU101から指示されたサイズで、第1サブバンドのバンドメモリを準備する。なお、図8の例において、第1バンドの第2サブバンドのサイズは、図7(a)と同じくバンドの半分の領域としており、第3サブバンドは、第1及び第2サブバンドを設定して残った領域に設定している。
この場合、CPU101により第1サブバンドの描画処理は、バンドの幅が狭いため、短時間で終了する。従って、第2サブバンドのバンドメモリ準備完了までに、第1サブバンドの描画処理を終えることができるので、圧縮伸長器108の待機時間を低減できる。なお、描画処理がサブバンド準備処理よりも早く終わっても、圧縮伸長器108の待機時間とはならない。
このように、画像の描画に要する時間に基づきサブバンドのサイズを決定することにより、圧縮伸長器108の待機時間を低減し、1ページの描画に要する時間をさらに短縮することができる。
また、第2バンドについては、中間データの内容から描画処理に時間がかからないと予想されるため、図7(a)の場合と同じくバンドを均等に分割したサブバンドを設定している。また、分割数も2である。このように、バンド毎に、サブバンドのサイズや分割数が異なっていても、問題はない。
第3バンド以降の処理については説明を省略する。
次に、図9に、メモリの空き容量に基づきサブバンドのサイズを決定する場合の各バンドに関する処理のタイミングを示す。
バンドメモリを準備するRAM103の空き容量が少ない場合、ただちに所望のサイズのサブバンドのバンドメモリを確保できない場合がある。この場合、RAM103に十分なサイズの連続した空き領域が生じるまで圧縮伸長器108が待機することになり、処理時間の増加につながる。そこで、メモリの空き容量に基づきサブバンドのサイズを決定し、メモリの空き容量が少ない場合にはサブバンドのサイズを小さくするとよい。
図9には、図7及び図8と同様な処理タイミングの他、各時点でのRAM103の空き容量を模式的に示している。なお、RAM103の空き容量は、描画等の処理以外でも増減し得るので、図9に示した空き容量の推移は、図9に示した処理のみによるものではない。
図9の例では、第1バンドの第1サブバンドを設定する時点では、RAM103の空き容量が十分あるため、CPU101は標準のサイズ(ここではバンドの半分)で第1サブバンドを設定する。しかし、圧縮伸長器108における第1サブバンドのバンドメモリの準備が完了し、第2サブバンドを設定する時点では、RAM103の空き容量が所定の閾値(不図示)よりも少なくなっている。従って、CPU101は標準のサイズよりも小さいサイズで第2サブバンドを設定する。第3サブバンドは、第1及び第2サブバンドを設定して残った領域に設定している。
第1サブバンドのバンドメモリの準備が完了した時点でCPU101が第1サブバンドの描画処理を開始し、その後もバンドメモリの準備と前のサブバンドの描画処理が完了し次第、次のサブバンドの描画処理を開始する点は、図7(a)の例と同様である。
また、第1バンドの全サブバンドの描画処理が完了すると、CPU101からの指示に基づき圧縮伸長器108が第2バンドのバンドメモリの準備を始める点も同様である。また、第2バンドについては、第1サブバンド第2サブバンド共に、準備の開始時点でRAM103の空き容量が十分であるため、CPU101は標準のサイズ(ここではバンドの半分)でサブバンドを設定する。従って、第2バンドは、2つのサブバンドに分割されることになる。
第3バンド以降の処理については説明を省略する。
このように、メモリの空き容量に基づきサブバンドのサイズを決定することにより、バンドメモリの準備に要する時間を低減し、1ページの描画に要する時間をさらに短縮することができる。
図10には、カラー画像形成に用いる画像の描画処理を行う場合の例を示している。
カラー画像形成の場合、画像には例えばKCMYの4色のプレーンがあり、プレーン毎に1ページ分の画像の描画を行う。しかし、プレーンや、プレーンを複数のバンドに分割したものを、ここまでに説明してきたバンドと捉え、各バンドの描画を行う際に必要に応じてサブバンドへの分割を行えば、図3に示したものと同じ処理で、1ページの描画に要する時間を低減することができる。画像の描画に要する時間やメモリの空き容量に応じてサブバンドのサイズを決定するとよいことも、ここまでの例と同様である。
図10には、各プレーンが1つのバンドであり、Mのプレーンのみ2つのサブバンドに分割して処理した例を示した。
以上で実施形態の説明を終了するが、この発明において、各部の具体的な構成や処理の手順、取り扱うデータの構成及び形式等は、実施形態で説明したものに限るものではない。
例えば、上述した実施形態では中間データをページ単位で作成する例について説明したが、バンド単位で作成してもよい。この場合、図5の画像を表現するとすると、第1バンドについてはコマンドXのみの中間データを、第3バンドについてはコマンドYのみの中間データを作成することになる。第2バンドについては、コマンドX〜Zの全ての含む中間データを作成するが、XとYのみで中間データメモリ133が満杯になるとすると、図6の場合と同様、2組の中間データを生成することになる。
このようにした場合、あるバンドについて中間データを生成した後、そのバンドに付いてのバンドメモリの準備と描画処理を、バンドをサブバンドに分割しつつ行う、という手順を、各バンドについて繰り返すことにより、上述した実施形態の場合と同様な効果が得られる。
また、上述した実施形態では、この発明を画像形成装置として実施した例について説明したが、画像形成機能を備えない画像処理装置としてこの発明を実施することも可能である。この場合において、描画した画像の用途も、画像形成には限られない。また、画像を描画する範囲も、1ページ分とは限らない。特に、画像を印刷以外の用途に用いる場合、ページとは関係なく描画範囲を定めることもあり得る。
また、この発明のプログラムの実施形態は、コンピュータに所要のハードウェアを制御させて上述したコントローラ100(特に描画部134及びバンドメモリ制御部135)の機能を実現させるためのプログラムである。
このようなプログラムは、はじめからコンピュータに備えるROMや他の不揮発性記憶媒体(フラッシュメモリ,EEPROM等)などに格納しておいてもよい。しかし、メモリカード、CD、DVD、ブルーレイディスク等の任意の不揮発性記録媒体に記録して提供することもできる。それらの記録媒体に記録されたプログラムをコンピュータにインストールして実行させることにより、上述した各手順を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部装置あるいはプログラムを記憶手段に記憶した外部装置からダウンロードし、コンピュータにインストールして実行させることも可能である。
また、以上説明してきた実施形態及び変形例の構成は、相互に矛盾しない限り任意に組み合わせて実施可能であることは勿論である。
10:画像形成装置、100:コントローラ、101:CPU、102:ROM、103:RAM、104:NVRAM、105:ネットワークI/F、106:エンジンI/F、107:パネルI/F、108:圧縮伸長器、110:エンジン部、120:操作パネル、131:PDLデータ解析部、132:中間データ保存部、133:中間データメモリ、134:描画部、135:バンドメモリ制御部、136:バンドメモリ、137:プリンタエンジン
特開2008−30400号公報

Claims (8)

  1. 画像の描画範囲を分割した複数のサブバンドを設定する設定手段と、
    メモリを初期化するか、または圧縮した画像データを伸長して、前記メモリ上に前記サブバンドの画像データを格納した領域を準備する描画準備手段と、
    前記描画準備手段が準備した領域に、入力されたデータに基づき対応するサブバンドの画像を描画する描画手段とを備え、
    前記描画手段は、前記描画準備手段による前記領域の準備が完了したサブバンドについて、前記描画準備手段による次のサブバンドについての前記領域の準備と並行して、前記描画を行い、
    前記設定手段は、前記メモリの空き容量に基づき、設定するサブバンドのサイズを決定することを特徴とする画像処理装置。
  2. 画像の描画範囲を分割した複数のサブバンドを設定する設定手段と、
    メモリを初期化するか、または圧縮した画像データを伸長して、前記メモリ上に前記サブバンドの画像データを格納した領域を準備する描画準備手段と、
    前記描画準備手段が準備した領域に、入力されたデータに基づき対応するサブバンドの画像を描画する描画手段とを備え、
    前記描画手段は、前記描画準備手段による前記領域の準備が完了したサブバンドについて、前記描画準備手段による次のサブバンドについての前記領域の準備と並行して、前記描画を行い、
    前記設定手段は、所定時間内に確保できた連続するメモリ領域のサイズに応じてサブバンドのサイズを決定することを特徴とする画像処理装置。
  3. 請求項1又は2に記載の画像処理装置であって、
    前記設定手段は、前記描画手段による画像の描画に要する時間に基づき、設定するサブバンドのサイズを決定することを特徴とする画像処理装置。
  4. 請求項1乃至のいずれか一項に記載の画像処理装置であって、
    前記描画準備手段は、圧縮した画像データを伸長して前記サブバンドの画像データを格納した領域を準備する場合には、既に前記設定手段により設定されているサブバンド毎に、領域の準備を行うことを特徴とする画像処理装置。
  5. 請求項1乃至のいずれか一項に記載の画像処理装置と、
    前記描画手段が描画した1ページ分の画像の画像データに基づき用紙に画像を形成する画像形成手段とを備えた画像形成装置。
  6. 画像の描画範囲を分割した複数のサブバンドを設定する設定手順と、
    メモリを初期化するか、または圧縮した画像データを伸長して、前記メモリ上に前記サブバンドの画像データを格納した領域を準備する描画準備手順と、
    前記描画準備手順で準備した領域に、入力されたデータに基づき対応するサブバンドの画像を描画する描画手順とを備え、
    前記描画手順では、前記描画準備手順による前記領域の準備が完了したサブバンドについて、前記描画準備手順による次のサブバンドについての前記領域の準備と並行して、前記描画を行い、
    前記設定手順では、前記メモリの空き容量に基づき、設定するサブバンドのサイズを決定することを特徴とする画像処理方法。
  7. 画像の描画範囲を分割した複数のサブバンドを設定する設定手順と、
    メモリを初期化するか、または圧縮した画像データを伸長して、前記メモリ上に前記サブバンドの画像データを格納した領域を準備する描画準備手順と、
    前記描画準備手順で準備した領域に、入力されたデータに基づき対応するサブバンドの画像を描画する描画手順とを備え、
    前記描画手順では、前記描画準備手順による前記領域の準備が完了したサブバンドについて、前記描画準備手順による次のサブバンドについての前記領域の準備と並行して、前記描画を行い、
    前記設定手順では、所定時間内に確保できた連続するメモリ領域のサイズに応じてサブバンドのサイズを決定することを特徴とする画像処理方法。
  8. コンピュータに所要のハードウェアを制御させて請求項1乃至4のいずれか一項に記載の画像処理装置あるいは請求項5に記載の画像形成装置として機能させるためのプログラム。
JP2014054806A 2014-03-18 2014-03-18 画像処理装置、画像形成装置、画像処理方法及びプログラム Active JP6330397B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014054806A JP6330397B2 (ja) 2014-03-18 2014-03-18 画像処理装置、画像形成装置、画像処理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014054806A JP6330397B2 (ja) 2014-03-18 2014-03-18 画像処理装置、画像形成装置、画像処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2015174434A JP2015174434A (ja) 2015-10-05
JP6330397B2 true JP6330397B2 (ja) 2018-05-30

Family

ID=54254028

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014054806A Active JP6330397B2 (ja) 2014-03-18 2014-03-18 画像処理装置、画像形成装置、画像処理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6330397B2 (ja)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3244745B2 (ja) * 1992-01-29 2002-01-07 キヤノン株式会社 画像処理装置
JP2988820B2 (ja) * 1993-12-28 1999-12-13 キヤノン株式会社 出力制御装置および出力制御方法
JPH08307695A (ja) * 1995-03-08 1996-11-22 Ricoh Co Ltd ページプリンタ及びそのデータ処理方法
JPH08290619A (ja) * 1995-04-24 1996-11-05 Canon Inc 印刷装置
JP3034196B2 (ja) * 1995-12-14 2000-04-17 キヤノン株式会社 印刷装置および印刷装置のデータ処理方法
JP2000293326A (ja) * 1999-04-06 2000-10-20 Nec Software Hokuriku Ltd プリンタ装置とそのプリント方法
JP2003084933A (ja) * 2001-09-14 2003-03-20 Fuji Xerox Co Ltd 画像処理装置およびプログラム
US20030081244A1 (en) * 2001-10-30 2003-05-01 Clouthier Scott C. Method and apparatus for processing data in an imaging device

Also Published As

Publication number Publication date
JP2015174434A (ja) 2015-10-05

Similar Documents

Publication Publication Date Title
US8526049B2 (en) Systems and methods for display list management
US8699047B2 (en) Image processing apparatus, image processing method, and non-transitory computer readable medium that includes plural page description language (PDL) processing units and a job management unit
JP2017154466A (ja) 印刷装置及び印刷装置の制御方法
JP2012148429A (ja) 印刷データ処理装置、キャッシュ処理方法及びプログラム
US9509878B2 (en) Image processing apparatus and method for controlling the same, and storage medium
JP2006268377A (ja) プログラム起動制御装置及びプログラム起動制御方法
JP6748445B2 (ja) 画像形成装置、画像形成装置の制御方法、および、プログラム
JP5482238B2 (ja) 画像処理装置、画像形成装置、画像処理方法、画像形成方法及びプログラム
CN102681800B (zh) 图像处理装置及信息处理方法
US20180101754A1 (en) Image processing apparatus and image processing method
US20110038004A1 (en) Information processing apparatus, information processing method, and program
JP6766598B2 (ja) 画像処理装置、画像処理方法および制御プログラム
US10089561B2 (en) Generating a raster image region by rendering in parallel plural regions of smaller height and segmenting the generated raster image region into plural regions of smaller width
JP6330397B2 (ja) 画像処理装置、画像形成装置、画像処理方法及びプログラム
JP6996189B2 (ja) プリントコントローラー、画像形成システム及び画像形成装置
JP5232728B2 (ja) 画像形成装置
CN107544761B (zh) 图像形成装置及信息处理方法
JP2013119242A (ja) 画像形成装置、画像形成方法、およびプログラム
JP6492948B2 (ja) 情報処理装置、出力システム及びプログラム
JP2017189968A (ja) 画像処理装置及び画像処理方法
US10102458B2 (en) Image processing apparatus for generating intermediate data and processing the intermediate data, method of processing intermediate data generated from print data
JP2009269179A (ja) 印刷装置、プログラム及び記録媒体
EP2293180B1 (en) PDL data processing device and PDL data creating device
JP7086772B2 (ja) 画像形成装置、画像形成装置の制御方法、及び、プログラム
JP2018099804A (ja) 印刷装置および印刷装置の制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180308

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180327

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180409

R151 Written notification of patent or utility model registration

Ref document number: 6330397

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151