JP2019130772A - 画像形成装置およびプログラム - Google Patents

画像形成装置およびプログラム Download PDF

Info

Publication number
JP2019130772A
JP2019130772A JP2018014653A JP2018014653A JP2019130772A JP 2019130772 A JP2019130772 A JP 2019130772A JP 2018014653 A JP2018014653 A JP 2018014653A JP 2018014653 A JP2018014653 A JP 2018014653A JP 2019130772 A JP2019130772 A JP 2019130772A
Authority
JP
Japan
Prior art keywords
buffer
line
line width
print data
image forming
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
JP2018014653A
Other languages
English (en)
Inventor
渉 長谷川
Wataru Hasegawa
渉 長谷川
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.)
Brother Industries Ltd
Original Assignee
Brother Industries 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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2018014653A priority Critical patent/JP2019130772A/ja
Publication of JP2019130772A publication Critical patent/JP2019130772A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)
  • Memory System (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】画像形成装置における印刷データのバッファの管理技術であって、処理の高速化と省メモリとの両立を図る技術を提供すること。【解決手段】プリンタ100は、画処理部303にてラインデータを生成し、ラインメモリ333への書込開始の指示を出力する。プリンタ100は、印刷制御部305にてラインメモリ333を構成し、ラインメモリ333のライン幅と、書込開始の指示のライン幅とが同じか否かを判断する。そして、プリンタ100は、ラインメモリ333のライン幅と書込開始の指示のライン幅とが同じであると判断した場合、全ての先行ページのラインデータの読み出しが終了する前から、画処理部303によるラインメモリ333への書き込みを許可する。一方、ラインメモリ333のライン幅と、書込開始の指示のライン幅とが異なると判断した場合、プリンタ100は、ラインメモリ333を再構成する。【選択図】図5

Description

本発明は、画像形成装置およびプログラムに関する。さらに詳細には、印刷データを記憶するバッファの管理技術に関するものである。
従来、画像形成に用いる印刷データを記憶するバッファを、所定ラインごとに区分して管理する技術が知られている。データの管理を所定サイズごとに管理する技術を開示した文献としては、例えば特許文献1がある。特許文献1には、受信したデータを、複数のブロックからなるリングバッファに記憶する構成が開示されている。
特開2001−184191号公報
複数ページのジョブを印刷する場合、ページごとに1ライン分のサイズが異なる場合がある。そのため、印刷データを記憶するバッファをライン単位で区分して構成する場合、そのバッファを1ページごとにメモリ内に生成し、そのページの利用が終了する度に次のページ用にバッファを構成し直している。つまり、1ページ分のメモリの利用が終了するまで、次のページのメモリの利用を制限している。そのため、処理の遅延が問題になり、メモリの利用効率も低い。
仮に、メモリ内にライン幅ごとのバッファを予め構成すれば、異なるサイズのページを同時に処理できるため、先行ページのメモリの利用終了を待つことなく次のページがメモリを利用できるため、メモリの利用効率を高められる。しかしながら、複数のバッファの構成に必要な大容量のメモリが必要となり、コストアップを招く。また、メモリ容量が大きくなる分、空きメモリの検索に時間がかかるようになり、かえって処理遅延を招く可能性がある。
本発明は、前記した従来の技術が有する問題点を解決するためになされたものである。すなわちその課題とするところは、画像形成装置における印刷データのバッファの管理技術であって、処理の高速化と省メモリとの両立を図る技術を提供することにある。
この課題の解決を目的としてなされた画像形成装置は、印刷データ生成手段と、記憶手段と、メモリ制御手段と、画像形成手段と、を備え、前記印刷データ生成手段は、印刷データを生成する生成処理と、前記記憶手段に構成されて前記印刷データを記憶するバッファへの前記印刷データの書き込みを開始する書込み開始指示であって、前記印刷データのライン幅に関する情報であるライン幅情報を含む前記書込み開始指示を、前記印刷データのページごとに、前記メモリ制御手段に出力する書込み開始指示処理と、前記書込み開始指示処理の後、前記記憶手段への書き込みが許可されていることを条件として、前記印刷データを前記記憶手段の前記バッファに書き込む書込み処理と、を実行し、前記メモリ制御手段は、前記記憶手段の前記印刷データの記憶用の領域を所定ラインごとに区分した前記バッファを構成するバッファ構成処理と、前記印刷データ生成手段からページごとの前記書込み開始指示を受け付けた場合に、前記書込み開始指示に含まれる前記ライン幅情報に基づいて、今回のページのライン幅が、構成されている前記バッファの前記所定ラインに対応するライン幅と同じか否かを判断する判断処理と、前記判断処理にて今回のページのライン幅が前記バッファの前記所定ラインに対応するライン幅と同じと判断された場合、前記画像形成手段による全ての先行ページの印刷データの読み出しが終了する前から、前記印刷データ生成手段による前記記憶手段の前記バッファへの書き込みを許可する第1許可処理と、前記判断処理にて今回のページのライン幅が前記バッファの前記所定ラインに対応するライン幅と異なると判断された場合、前記印刷データ生成手段による前記記憶手段の前記バッファへの書き込みを禁止する禁止処理と、前記判断処理にて今回のページのライン幅が前記バッファの前記所定ラインに対応するライン幅と異なると判断された場合、前記画像形成手段による前記全ての先行ページの印刷データの読み出しが終了した後に、前記書込み開始指示に含まれる前記ライン幅情報に基づいて、前記バッファを再構成するバッファ再構成処理と、前記バッファ再構成処理によるバッファの再構成が終了した後に、前記印刷データ生成手段による前記記憶手段の前記バッファへの書き込みを許可する第2許可処理と、を実行することを特徴としている。
本明細書に開示される画像形成装置は、所定ラインごとに区分したバッファに印刷データを記憶する。そして、本画像形成装置は、印刷データの書き込み開始指示に含まれるライン幅情報に基づいて、今回のページとバッファの所定ラインに対応するライン幅とが同じであると判断した場合、全ての先行ページの印刷データの読み出しが終了する前から、印刷データのバッファへの書き込みを許可する。つまり、同じライン幅のページが連続する場合には、バッファを再構成することなく、読み出し終了を待つ必要もない。また、本画像形成装置では、ライン幅ごとのバッファを予め構成する必要はない。従って、処理の高速化と省メモリとの両立が期待できる。
上記画像形成装置の機能を実現するための制御方法、コンピュータプログラム、および当該コンピュータプログラムを格納するコンピュータにて読取可能な記憶媒体も、新規で有用である。
本発明によれば、画像形成装置における印刷データのバッファの管理技術であって、処理の高速化と省メモリとの両立を図る技術が実現される。
実施の形態にかかるプリンタの電気的構成を示すブロック図である。 プリンタによるデータ生成の手順を示す説明図である。 インデックス情報の例を示す説明図である。 ページ管理情報の例を示す説明図である。 ラインデータの生成手順を示すシーケンス図である。 プリンタのラインデータ生成処理の手順を示すフローチャートである。 インデックス生成処理の手順を示すフローチャートである。 印刷エンジン制御処理の手順を示すフローチャートである。
以下、本発明にかかる画像形成装置を具体化した実施の形態について、添付図面を参照しつつ詳細に説明する。本形態は、画像形成機能を備えたプリンタに本発明を適用したものである。
本形態のプリンタ100の電気的構成について説明する。本形態のプリンタ100は、図1に示すように、CPU31と、ROM32と、RAM33と、不揮発性メモリ34と、を含むコントローラ30を備えている。また、プリンタ100は、画像形成部10と、ネットワークインターフェース(ネットワークIF)37と、USBインターフェース(USB−IF)38と、操作パネル40と、を備え、これらがコントローラ30に電気的に接続されている。
ROM32には、プリンタ100を動作するための動作プログラム等が記憶されている。RAM33は、各種の処理が実行される際の作業領域として、あるいは、データを一時的に記憶する記憶領域として利用される。不揮発性メモリ34は、例えば、HDD、フラッシュメモリであり、各種のプログラムや画像データ等のデータや各種設定を記憶する領域として利用される。RAM33は、記憶手段の一例である。
CPU31は、ROM32や不揮発性メモリ34から読み出したプログラムに従って、その処理結果をRAM33または不揮発性メモリ34に記憶させながら、プリンタ100の各構成要素を制御する。なお、図1中のコントローラ30は、CPU31等、プリンタ100の制御に利用されるハードウェアまたはソフトウェアを纏めた総称であって、実際にプリンタ100に存在する単一のハードウェアを表すとは限らない。
画像形成部10は、シートに画像を形成するための構成およびシートを搬送するための構成を含む。本形態のプリンタ100は、例えば、インクジェット方式で画像を形成するプリンタであり、画像形成部10は、インクの吐出ノズルを備えた印字ヘッドを有している。画像形成部10は、印字ヘッドをキャリッジにて走査させて1走査分の画像形成を行い、1走査分の画像形成と1走査分のシートの搬送とを交互に繰り返すことで、1ページ分の印刷を完了させる。なお、画像形成部10の印刷方式は、インクジェット方式に限らず、電子写真方式、熱転写方式等であってもよい。また、プリンタ100は、カラー画像の印刷が可能な装置であっても、モノクロ印刷専用の装置であってもよい。
ネットワークIF37は、ネットワークを介して接続された外部装置と通信を行うためのハードウェアを含む。通信方法は、有線であっても無線であってもよい。プリンタ100は、例えば、ネットワークIF37を介して、PC等の外部装置から送信された印刷ジョブを受け付ける。USB−IF38は、USBメモリ等のUSB接続機器が接続されるハードウェアを含む。プリンタ100は、例えば、USB−IF38に接続されたUSBメモリに記憶されている画像データに基づく印刷を行うことができる。操作パネル40は、動作状況の表示やユーザによる入力操作の受付を行う。
本形態のプリンタ100は、例えば、ネットワークIF37を介して、PCから印刷ジョブを受信し、印刷ジョブの画像データを受信する。あるいは、プリンタ100は、操作パネル40の操作により、USB−IF38に挿入されたUSBメモリに保存されている画像データの印刷指示を受け付ける。
続いて、本形態のプリンタ100における印刷ジョブの処理手順について説明する。プリンタ100は、受け付けた印刷ジョブの画像データを、例えば、図2に示すように、順次処理して、最終的に画像形成部10にて使用するデータ形式であるラインデータを生成する。ラインデータは、印刷データの一例である。
画像データの処理を行う構成として、プリンタ100のコントローラ30は、図2に示すように、データ受信部301と、ラスタライズ部302と、画処理部303と、印刷エンジン制御部304と、印刷制御部305と、を備えている。画処理部303は、印刷データ生成手段の一例であり、印刷エンジン制御部304は、画像形成手段の一例であり、印刷制御部305は、メモリ制御手段の一例である。
プリンタ100では、データ受信部301とラスタライズ部302と画処理部303と印刷エンジン制御部304と印刷制御部305とは、それぞれCPU等の制御機能を有し、並行してそれぞれの処理を実行可能である。図1のCPU31は、各部の制御機能をまとめた概念であり、1つのハードウェアで構成されていても良いし、複数個のハードウェアの協働にて動作するものでも良い。
また、プリンタ100は、各種のデータを一時的に記憶するために、図2に示すように、画像メモリ331と、ページメモリ332と、ラインメモリ333と、をそれぞれ必要に応じてRAM33に構成する。ラインメモリ333は、バッファの一例である。図1のRAM33は、1つのハードウェアで構成されていても良いし、複数個のハードウェアを含んでいても良い。
データ受信部301は、図2に示すように、PC200等の外部装置から画像データを受信し、受信した画像データを画像メモリ331に書き込む。画像データは、例えば、ページ記述言語(PDL)によって記述されたデータである。PDLとしては、例えば、Print Control Language、PostScript(登録商標)、AirPrint(登録商標)がある。
ラスタライズ部302は、図2に示すように、画像メモリ331から画像データを読み出し、ラスタライズ処理を行ってページデータを生成し、生成したページデータをページメモリ332に書き込む。ページデータは、画像の各ドットの色情報などを含むドットデータであり、1ページ単位で処理される。ラスタライズ部302は、画像データの種類に応じて、RGB形式、または、CMYK形式のドット単位のデータであるページデータを生成する。また、ラスタライズ部302は、読み出しの終了した画像データを、画像メモリ331から破棄する。
画処理部303は、図2に示すように、ページメモリ332からページデータを読み出して、誤差拡散処理等の画処理を行ってラインデータを生成し、生成したラインデータをラインメモリ333に書き込む。ラインデータは、各吐出ノズルからのインクの吐出量などの情報を含み、画像形成部10の印字ヘッドを制御するためのデータであり、所定の処理単位である1ライン単位で処理される。
印刷エンジン制御部304は、図2に示すように、ラインメモリ333からラインデータを読み出して画像形成部10に受け渡すことで、画像形成部10に印刷を実行させる。印刷エンジン制御部304は、読み出しが終了したラインデータを、ラインメモリ333から破棄する。なお、ラインデータは、ランダムアクセス可能なデータであり、1ラインごとに読み出しや破棄が可能である。一方、ページメモリ332に記憶されるページデータは、シーケンシャル構造のデータであり、その読み出しや破棄は、ページの先頭から順に行われる。
印刷制御部305は、図2に示すように、画像形成部10の状態を監視し、ラスタライズ部302と画処理部303と印刷エンジン制御部304とを制御する。また、印刷制御部305は、画像形成部10から、例えば、ジャムの発生等のエラー情報、印刷完了情報を含む状態情報を受け取る。
なお、プリンタ100は、ページデータやラインデータの生成に際して、まず、RAM33に記憶領域を確保する。印刷制御部305は、保存しようとしているデータのデータ量に見合う空き領域がRAM33に有るか否かを判断し、空き領域が不足している場合には、メモリ不足と判断して、ラスタライズ部302や画処理部303によるデータの生成を中断させる。
続いて、本形態のプリンタ100におけるラインメモリ333の管理について説明する。ラインメモリ333は、ラインデータの記億用の領域を1ライン分のデータ量ごとに区分したバッファである。1ライン分のデータ量は、所定ラインの一例である。ラインデータは、前述したように、画処理部303によって1ライン分ごとにラインメモリ333に書き込まれ、印刷エンジン制御部304によって1ライン分ごとにラインメモリ333から読み出される。プリンタ100は、印刷ジョブを受け付けた際に、RAM33にラインメモリ333が構成されていない場合には、必要な記憶領域を確保し、ラインメモリ333を構成する。
具体的に、プリンタ100は、受け付けた印刷ジョブの印刷設定または印刷ページのページ設定に基づいて、印刷媒体であるシートのサイズを取得する。そして、プリンタ100は、シートのサイズから、印字ヘッドをスキャンする方向(主走査方向)についての画像の長さを取得し、取得した画像の長さに基づいて、ラインデータの1ライン分のデータ量を取得する。そして、プリンタ100は、1ライン分のデータ量ごとに区分した記憶領域であるラインメモリ333を、RAM33に構成する。以下では、ラインデータの1ライン分のデータ量を、ライン幅とする。
プリンタ100は、ラインメモリ333に記憶されるラインデータを管理するために、図3に示すように、ラインメモリ333のラインごとに、インデックス番号とアドレス情報とを関連付けて記憶するインデックス情報334を利用する。アドレス情報は、例えば、各ラインデータの記憶されるアドレスを示す情報であり、インデックス番号は、例えば、各アドレス情報に付与された連番の符号である。本形態のプリンタ100で用いるインデックス情報334は、図3に模式的に示すように、リングバッファ形式の情報であり、順に参照することで、終わりなく次々と参照できる。
さらに、プリンタ100は、ページ単位のラインデータを管理するために、図4に示すように、各ページの先端のラインのインデックス番号と、そのページの終端のラインのインデックス番号と、そのページのライン幅情報と、を組み合わせて記憶するページ管理情報335を利用する。ライン幅情報は、ライン幅に関する情報である。なお、プリンタ100は、インデックス情報334やページ管理情報335を記憶するための領域を、RAM33に予め確保しており、その領域に、インデックス情報334やページ管理情報335は記憶される。
ライン幅情報は、ライン幅そのものであっても良いし、ライン幅と関係づけられる情報であっても良い。ライン幅と関係づけられる情報としては、例えば、印字ヘッドをスキャンする方向の画像の長さ、同方向のシートの幅、シートの種別が挙げられる。シートの種別とは、例えば、定型サイズのシートであれば、A4、A3等のサイズを示す名称が該当する。また、ライン幅情報は、印刷媒体のシートの種別をサイズに基づいてグループ分けしたグループを示す情報であっても良い。例えば、A3とA4であっても、印刷向きを変えてシートをセットすることで同じグループになり得る。この場合、ライン幅情報が同じグループであるシートは、同じライン幅であると判断できる。
印刷用の画像データに基づくラインデータの生成に際して、印刷制御部305は、RAM33にラインメモリ333を構成して、ページの先端のラインのインデックス番号を決定し、ページ管理情報335のページの先端の情報として、そのインデックス番号を書き込む。画処理部303は、ラインデータを生成し、ページ管理情報335のページの先端の情報の位置からインデックス情報334を参照して、ラインデータをラインメモリ333の所定の位置に書き込む。つまり、画処理部303は、1ラインごとのラインデータを、ページの先端のインデックス番号から、各インデックス番号に対応するアドレス情報によって示されるアドレスに順に書き込む。そして、画像データにページの終端を示す情報が現れたら、印刷制御部305は、ページ管理情報335に、ページの終端のラインのインデックス番号を書き込む。
印刷エンジン制御部304は、インデックス情報334を参照して、必要なラインのラインデータを読み出し、画像形成部10に受け渡すことで印刷を実行させる。印刷エンジン制御部304は、読み出しの終わったラインデータをラインメモリ333から破棄する。さらに、印刷エンジン制御部304は、ページの終端まで読み出し終わったら、ページ管理情報335のうち、読み出しの終わったページの情報を破棄する。
次に、本形態のプリンタ100における、印刷ジョブを受け付けた際のラインデータの生成手順について、図5のシーケンス図を参照して説明する。前述したように、プリンタ100は、印刷ジョブを受け付けると、受信した画像データをラスタライズ部302にてラスタライズし、ページデータを生成してページメモリ332に書き込む。
画処理部303は、ページメモリ332からページデータを読み出して、ラインデータを生成する。画処理部303は、ラインデータの生成に際して、インデックス情報334が生成されていない場合には、まず、印刷制御部305に、ラインメモリ333の構成と、インデックス情報334の生成とを指示する(D1)。D1の指示は、構成指示の一例である。D1の指示には、ページデータの情報として、ライン幅情報、例えば、シートのサイズの情報が含まれる。
印刷制御部305は、D1に含まれるライン幅情報に基づいてライン幅を決定し、決定したライン幅ごとに区分したラインメモリ333をRAM33に構成する。さらに、印刷制御部305は、インデックス情報334を生成し、各区分の先頭アドレスに対応するアドレス情報を、連番のインデックス番号に対応させて書き込む(D2)。
インデックス情報334が生成されたら、プリンタ100は、以下の動作を、印刷ジョブの全ページのラインデータの書き込みが終了するまで繰り返す(F1)。画処理部303は、まず、ページ開始指示を印刷制御部305に送信する(D3)。つまり、画処理部303は、印刷制御部305に、ページの先端のラインデータを書き込むアドレスに対応するインデックス番号を要求する。ページ開始指示には、開始するページのライン幅情報が含まれる。例えば、D3が先頭ページのページ開始指示であれば、先頭ページのライン幅情報が含まれる。D3の指示は、書込み開始指示の一例である。
印刷制御部305は、受信したページ開始指示に基づいて、今回のページのライン幅が、書き込みの終了している前ページのライン幅と、同じであるか否かに応じて、異なる動作を行う(F2)。今回のページのライン幅が前ページのライン幅と同じである場合には、印刷制御部305は、今回のページの先端位置を応答する(D4)。今回のページの先端位置は、例えば、前ページの終端位置のインデックス番号の次のインデックス番号である。
つまり、プリンタ100は、これから形成する今回のページのライン幅が、前ページのライン幅と同じであれば、ラインメモリ333の再構成やインデックス情報334の再生成を行わない。構成済みのラインメモリ333をそのまま利用し、前ページの続きのインデックス番号から参照して、該当するアドレスにラインデータを書き込む。
一方、今回のページのライン幅が前ページのライン幅と異なる場合には、印刷制御部305は、さらに、印刷エンジン制御部304による全ての先行ページのラインデータの読み出しが、終了しているか否かに応じて異なる動作を行う(F3)。
全ての先行ページのラインデータの読み出しが終了している場合、印刷制御部305は、インデックス情報334を再度生成する(D5)。つまり、前ページにて使用したインデックス情報334を破棄し、今回のページのライン幅に基づいてラインメモリ333を区切り直し、各区切りの先頭のアドレスを示すアドレス情報にインデックス番号を付けたインデックス情報334を生成する。そして、印刷制御部305は、再生成したインデックス情報334に基づいて、今回のページの先端位置を応答する(D6)。一方、全ての先行ページのラインデータの読み出しが終了していない場合、印刷制御部305は、ページ開始の失敗を応答する(D7)。
そして、ページ開始に成功した場合(F4)、つまり、D4またはD6にて先端位置の応答を受け付けた場合、画処理部303は、1ページ分のラインデータの書き込みが終了するまで(F5)、インデックス情報334を参照して、ラインデータをラインメモリ333に書き込む(D8)。また、書き込みが開始されたことに応じて、印刷エンジン制御部304は、ラインメモリ333からラインデータの読み出しを開始する。印刷エンジン制御部304は、ラインデータを読み出し(D9)、読み出したラインデータを画像形成部10に受け渡す(D10)。画像形成部10は、受け渡されたラインデータに基づいて、印刷を実行する。
画処理部303は、1ページ分のラインデータの書き込みが終了したら、書き込み終了を印刷制御部305に通知する(D11)。また、印刷エンジン制御部304は、1ページの読み出しが終了したら(F6)、印刷制御部305に1ページの読み出しが終了した旨の通知を行う(D12)。D12の通知に基づいて、印刷制御部305は、F3にて、全ての先行ページの読み出しが終了したか否かの判断を行う。
なお、D7にて失敗の通知を受け付けた場合、画処理部303は、条件を満たさないことからF4に進まず、F1のループを繰り返す。すなわち、画処理部303は、D3のページ開始指示を繰り返す。画処理部303は、全ての先行ページの読み出しが終了するまで、例えば、定期的にページ開始指示をリトライする。
次に、本形態のプリンタ100における印刷ジョブを受信した場合の処理の手順について、図6〜図8のフローチャートを参照して説明する。前述したように、印刷ジョブを受信すると、プリンタ100は、ラスタライズ部302にてページデータを生成する。そして、プリンタ100のCPU31は、図6のラインデータ生成処理と、図7のインデックス生成処理と、図8の印刷エンジン制御処理とを並行して実行する。以下では、ラインデータ生成処理とインデックス生成処理と印刷エンジン制御処理とを、いずれもCPU31が行うものとして説明する。これらの処理は、1つのCPU31にて行われても良いし、複数のCPUにて分担して行われても良い。
具体的には、図6のラインデータ生成処理は、ページデータの生成が開始されたことを契機に、画処理部303の処理としてCPU31にて実行される。図7のインデックス生成処理は、画処理部303から書込開始の指示が出力されたことを契機に、印刷制御部305の処理としてCPU31にて実行される。図8の印刷エンジン制御処理は、ページ管理情報が生成されたことを契機に、印刷エンジン制御部304の処理としてCPU31にて実行される。なお、以下のフローチャートの各処理ステップは、基本的に、プログラムに記述された命令に従ったCPU31の処理を示す。CPU31の処理には、プリンタ100のOSのAPIを用いたハードウェア制御も含む。
まず、図6のラインデータ生成処理について説明する。ラインデータ生成処理では、画処理部303の処理としてCPU31は、生成されたページデータに基づいて、ページに関する情報であるページ情報を取得する(S101)。ページ情報は、印刷対象のシートのサイズの情報、ページの画像のサイズの情報、ライン幅に関する情報の少なくとも1つを含む。そして、CPU31は、取得したページ情報に基づいて、ライン幅を取得する(S102)。
CPU31は、ライン幅ごとに区分したラインメモリ333の構成と、構成したラインメモリ333のインデックスの生成との指示を出力する(S103)。S103は、バッファ構成指示処理の一例である。この指示により、印刷制御部305にてラインメモリ333が構成され、インデックス情報334が生成される。既にラインメモリ333が構成済みであれば、S103をスキップしても良い。
そして、CPU31は、印刷制御部305に、書込開始の指示を出力する(S104)。S104は、書込み開始指示処理の一例である。つまり、CPU31は、ラインメモリ333への、書き込み開始位置の情報を求める。CPU31は、S104の指示に書き込みを開始するページのライン幅の情報を付加して出力し、書込開始位置であるページ先端のインデックス番号を要求する。
そして、CPU31は、印刷制御部305から、ページ先端のインデックス番号を受け付けたか否かを判断する(S105)。インデックス番号を受け付けていないと判断した場合(S105:NO)、CPU31は、S104に戻って、書込開始の指示を出力する。CPU31は、インデックス番号を受け付けたと判断するまで、定期的にS104を繰り返して実行する。CPU31は、ページ先端のインデックス番号を受け付けるまで、ラインメモリ333への書き込みを行わない。
インデックス番号を受け付けたと判断した場合(S105:YES)、CPU31は、受け付けたインデックス番号を、ページ先端の情報としてページ管理情報335に書き込む(S106)。さらに、CPU31は、ページデータからラインデータを生成する(S107)。S107は、生成処理の一例である。そして、CPU31は、生成したラインデータを、インデックス情報334を参照してラインメモリ333の所定のアドレスに書き込む(S108)。S108は、書込み処理の一例である。
そして、CPU31は、ページデータのページ終端に到達したか否かを判断する(S109)。ページデータの終端に到達していないと判断した場合(S109:NO)、CPU31は、ラインデータの生成と書き込みとを継続する。ページデータの終端に到達したと判断した場合(S109:YES)、CPU31は、ページデータの終端に対応するインデックス番号を、ページ終端の情報としてページ管理情報335に書き込む(S110)。
そして、CPU31は、次のページのページデータが有るか否かを判断する(S111)。次のページが有ると判断した場合(S111:YES)、CPU31は、S101に戻って、次のページのページ情報を取得する。一方、次のページが無いと判断した場合(S111:NO)、CPU31は、ラインデータ生成処理を終了する。
次に、図7のインデックス生成処理について説明する。インデックス生成処理では、印刷制御部305の処理としてCPU31は、インデックス情報334が有るか否かを判断する(S201)。インデックス情報334が無いと判断した場合(S201:NO)、CPU31は、受け付けた書込開始の指示に含まれるライン幅に基づいて、ラインメモリ333を構成する(S202)。S202は、バッファ構成処理の一例である。インデックス情報334が無い場合には、ラインメモリ333が構成されていない可能性が高いことから、CPU31は、今回のページのライン幅を用いて、ラインメモリ333を構成する。
CPU31は、構成したラインメモリ333に基づいて、インデックス情報334を生成する(S203)。さらに、CPU31は、生成したインデックス情報334に基づいて、構成したラインメモリ333のうち、例えば、インデックス情報334の先頭位置のインデックス番号をページ先端に決定し、決定したページ先端のインデックス番号を通知して(S204)、インデックス生成処理を終了する。この通知によって、CPU31は、画処理部303によるラインメモリ333への書き込みを許可する。なお、S204にて通知するページ先端のインデックス番号は、インデックス情報334の先頭位置に限らず、所定の空き領域を確保できる位置であればよい。
インデックス情報334が有ると判断した場合(S201:YES)、CPU31は、受け付けた書込開始の指示に含まれるライン幅が、インデックス情報334のライン幅と同じであるか否かを判断する(S210)。S210は、判断処理の一例である。
書込開始の指示に含まれるライン幅が、インデックス情報334のライン幅と同じであると判断した場合(S210:YES)、CPU31は、前のページのページ終端のインデックス番号の次のインデックス番号を、今回のページのページ先端のインデックス番号として通知し(S211)、インデックス生成処理を終了する。この通知によって、CPU31は、画処理部303によるラインメモリ333への書き込みを許可する。S211は、第1許可処理の一例である。S211の通知は、ラインメモリ333にラインデータが残っていても行われる。つまり、CPU31は、全ての先行ページのラインデータの読み出しが終了する前であっても、今回のページのラインデータの書き込みを許可する。
一方、書込開始の指示に含まれるライン幅が、インデックス情報334のライン幅と同じではないと判断した場合(S210:NO)、CPU31は、印刷エンジン制御部304から全ての先行ページのラインデータの読み出しが終了した旨の通知を受け付けたか否かを判断する(S212)。
全ての先行ページのラインデータの読出終了の通知を受け付けていないと判断した場合(S212:NO)、CPU31は、画処理部303によるラインメモリ333への書き込み禁止を通知して(S213)、インデックス生成処理を終了する。S213は、禁止処理の一例である。S213では、CPU31は、例えば、書込開始の失敗、インデックス番号の未決定を通知することで、書き込み禁止の通知としても良い。
一方、印刷エンジン制御部304から全ての先行ページのラインデータの読出終了の通知を受け付けたと判断した場合(S212:YES)、CPU31は、構成されているラインメモリ333を一旦全て解放し、受け付けた書込開始の指示に含まれるライン幅に基づいて、ラインメモリ333を再度構成する(S202)。この場合のS202は、バッファ再構成処理の一例である。
さらに、CPU31は、構成したラインメモリ333に基づいて、インデックス情報334を生成し(S203)、生成したインデックス情報334に基づいて、先頭のインデックス番号を通知して(S204)、インデックス生成処理を終了する。この通知によって、CPU31は、画処理部303によるラインメモリ333への書き込みを許可する。この場合のS204は、第2許可処理の一例である。
次に、図8の印刷エンジン制御処理について説明する。印刷エンジン制御処理では、印刷エンジン制御部304の処理としてCPU31は、画像形成部10に1枚のシートを給紙させる(S301)。そして、CPU31は、ラインメモリ333から1ライン分のラインデータを読み出し(S302)、読み出したラインデータを画像形成部10に受け渡すことで、1ライン分の印刷を行わせる(S303)。そして、CPU31は、読み出しの終わったラインデータを破棄する(S304)。なお、S302からS304までの処理は、複数ラインずつまとめて行うようにしても良い。
そして、CPU31は、ページの終端までラインデータを読み出したか否かを判断する(S305)。ページの終端まで読み出し終わっていないと判断した場合(S305:NO)、CPU31は、S302に戻って、さらにラインデータの読み出し、印刷、ラインデータの破棄を繰り返す。
ページの終端まで読み出したと判断した場合(S305:YES)、CPU31は、ページ読出終了の通知を出力する(S306)。CPU31は、画像形成部10に、印刷の終わったシートを排紙させ(S307)、読み出しの終わったページのページデータを破棄する(S308)。さらに、CPU31は、ページ管理情報335の該当ページに関する情報も破棄する。
そして、CPU31は、ページ管理情報335に次のページの情報が有るか否かを判断する(S309)。次のページが有ると判断した場合(S309:YES)、CPU31は、S301に戻り、画像形成部10に次のページの印刷を開始させる。一方、次のページが無いと判断した場合(S309:NO)、CPU31は、印刷エンジン制御処理を終了する。
以上、詳細に説明したように、本形態のプリンタ100は、ライン幅ごとに区分したラインメモリ333を構成し、ライン幅ごとにラインデータの書き込み及び読み出しを行う。そして、ページの書込開始の指示に基づいて、プリンタ100は、今回のページのライン幅が、構成済みのラインメモリ333のライン幅と同じであれば、ラインメモリ333を再構成することなく、そのまま使用する。この場合、プリンタ100は、印刷エンジン制御部304による全ての先行ページのラインデータの読み出しが終了していなくても書込みを許可し、構成済みのラインメモリ333をそのまま用いて空き領域に今回のページのラインデータを記憶する。一方、今回のページのライン幅が、構成済みのラインメモリ333のライン幅と異なれば、印刷エンジン制御部304による全ての先行ページのラインデータの読み出し終了を待って、構成済みのラインメモリ333を破棄し、新たなライン幅のラインメモリ333を構成する。つまり、今回のページのライン幅とラインメモリ333のライン幅とが同じであれば、構成済みのラインメモリ333を継続して利用し、ラインデータの読み出しの終了を待つ必要もないため、処理の遅延が生じ難い。また、異なるライン幅ごとのバッファを予め構成する必要はないため、省メモリで実現できる。
なお、本実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本発明は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、プリンタに限らず、複合機、複写機、FAX装置等、画像形成機能を備えるものであれば適用可能である。
また、本形態では、1ラインごとにラインメモリ333を区切るとしたが、ラインメモリ333の区切りは、1ラインに限らず、2ライン以上であっても良い。ただし、1ラインごとの方が、画像形成部10でのデータの使用に適していることから好ましい。
また、本形態では、書込開始の指示に対して、インデックス生成処理のS213では書き込み禁止などを通知するとしたが、通知しなくても良い。ラインデータ生成処理のS105では、例えば、所定時間が経過してもインデックス番号を受け付けなかった場合に、書き込み禁止状態であると判断しても良い。また、書き込み禁止と判断した場合に、定期的に書込開始の指示を出力するとしたが、定期的でなくても良い。例えば、処理負荷の小さいタイミングで行うとしても良い。
また、例えば、印刷媒体のシートの種別をグループ分けしてライン幅情報として用いる場合、僅かなライン幅の違いであれば、同じグループとしても良い。例えば、レターサイズとA4とを同じグループとしても良い。
また、例えば、電源投入直後などの処理の開始時は、ページ情報を用いず、デフォルトのページサイズに基づいて、印刷制御部305にてラインメモリ333を構成するとしても良い。
また、実施の形態に開示されている処理は、単一のCPU、複数のCPU、ASICなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
31 CPU
33 RAM
100 プリンタ
303 画処理部
304 印刷エンジン制御部
305 印刷制御部
333 ラインメモリ
334 インデックス情報

Claims (8)

  1. 印刷データ生成手段と、
    記憶手段と、
    メモリ制御手段と、
    画像形成手段と、
    を備え、
    前記印刷データ生成手段は、
    印刷データを生成する生成処理と、
    前記記憶手段に構成されて前記印刷データを記憶するバッファへの前記印刷データの書き込みを開始する書込み開始指示であって、前記印刷データのライン幅に関する情報であるライン幅情報を含む前記書込み開始指示を、前記印刷データのページごとに、前記メモリ制御手段に出力する書込み開始指示処理と、
    前記書込み開始指示処理の後、前記記憶手段への書き込みが許可されていることを条件として、前記印刷データを前記記憶手段の前記バッファに書き込む書込み処理と、
    を実行し、
    前記メモリ制御手段は、
    前記記憶手段の前記印刷データの記憶用の領域を所定ラインごとに区分した前記バッファを構成するバッファ構成処理と、
    前記印刷データ生成手段からページごとの前記書込み開始指示を受け付けた場合に、前記書込み開始指示に含まれる前記ライン幅情報に基づいて、今回のページのライン幅が、構成されている前記バッファの前記所定ラインに対応するライン幅と同じか否かを判断する判断処理と、
    前記判断処理にて今回のページのライン幅が前記バッファの前記所定ラインに対応するライン幅と同じと判断された場合、前記画像形成手段による全ての先行ページの印刷データの読み出しが終了する前から、前記印刷データ生成手段による前記記憶手段の前記バッファへの書き込みを許可する第1許可処理と、
    前記判断処理にて今回のページのライン幅が前記バッファの前記所定ラインに対応するライン幅と異なると判断された場合、前記印刷データ生成手段による前記記憶手段の前記バッファへの書き込みを禁止する禁止処理と、
    前記判断処理にて今回のページのライン幅が前記バッファの前記所定ラインに対応するライン幅と異なると判断された場合、前記画像形成手段による前記全ての先行ページの印刷データの読み出しが終了した後に、前記書込み開始指示に含まれる前記ライン幅情報に基づいて、前記バッファを再構成するバッファ再構成処理と、
    前記バッファ再構成処理によるバッファの再構成が終了した後に、前記印刷データ生成手段による前記記憶手段の前記バッファへの書き込みを許可する第2許可処理と、
    を実行することを特徴とする画像形成装置。
  2. 請求項1に記載する画像形成装置において、
    前記印刷データ生成手段は、
    前記バッファを前記記憶手段に構成する構成指示であって前記印刷データの情報である印刷データ情報を含む前記構成指示を、前記メモリ制御手段に出力するバッファ構成指示処理、
    をさらに実行し、
    前記メモリ制御手段は、
    前記バッファ構成処理および前記バッファ再構成処理では、前記印刷データ生成手段から前記構成指示を受け付けた場合に、前記構成指示に含まれる前記印刷データ情報に基づいて、前記バッファを構成する、
    ことを特徴とする画像形成装置。
  3. 請求項1または請求項2に記載する画像形成装置において、
    前記記憶手段に構成される前記バッファはリングバッファである、
    ことを特徴とする画像形成装置。
  4. 請求項1から請求項3のいずれか1つに記載する画像形成装置において、
    前記所定ラインは、1ラインである、
    ことを特徴とする画像形成装置。
  5. 請求項1から請求項4のいずれか1つに記載する画像形成装置において、
    前記ライン幅情報は、印刷媒体の種別を特定する情報であり、
    前記メモリ制御手段は、
    前記判断処理では、
    前記書込み開始指示に含まれる前記ライン幅情報に基づく印刷媒体が、前記バッファの前記所定ラインに対応するライン幅に対応した印刷媒体と同じグループに含まれる場合、今回のページのライン幅がバッファの前記所定ラインに対応するライン幅と同じと判断する、
    ことを特徴とする画像形成装置。
  6. 請求項1から請求項5のいずれか1つに記載する画像形成装置において、
    前記印刷データ生成手段は、
    前記書込み開始指示処理の後、前記バッファへの書き込みが禁止された場合、前記バッファへの書き込みが許可されるまで定期的に、前記書込み開始指示を前記メモリ制御手段に出力する、
    ことを特徴とする画像形成装置。
  7. 請求項1から請求項6のいずれか1つに記載する画像形成装置において、
    前記メモリ制御手段は、
    前記バッファを構成した場合、前記バッファの各領域にインデックスを割り当て、
    前記インデックスを用いて前記バッファへの前記印刷データの書き込みおよび読み出しの制御を行う、
    ことを特徴とする画像形成装置。
  8. 印刷データを生成する印刷データ生成手段と、
    記憶手段と、
    メモリ制御手段と、
    画像形成手段と、
    を備える画像形成装置の前記メモリ制御手段に、
    前記記憶手段の前記印刷データの記憶用の領域を所定ラインごとに区分したバッファを構成するバッファ構成処理と、
    前記印刷データ生成手段からページごとの書込み開始指示を受け付けた場合に、前記書込み開始指示に含まれるライン幅情報に基づいて、今回のページのライン幅が、構成されている前記バッファの前記所定ラインに対応するライン幅と同じか否かを判断する判断処理と、
    前記判断処理にて今回のページのライン幅が前記バッファの前記所定ラインに対応するライン幅と同じと判断された場合、前記画像形成手段による全ての先行ページの印刷データの読み出しが終了する前から、前記印刷データ生成手段による前記記憶手段の前記バッファへの書き込みを許可する第1許可処理と、
    前記判断処理にて今回のページのライン幅が前記バッファの前記所定ラインに対応するライン幅と異なると判断された場合、前記印刷データ生成手段による前記記憶手段の前記バッファへの書き込みを禁止する禁止処理と、
    前記判断処理にて今回のページのライン幅が前記バッファの前記所定ラインに対応するライン幅と異なると判断された場合、前記画像形成手段による前記全ての先行ページの印刷データの読み出しが終了した後に、前記書込み開始指示に含まれる前記ライン幅情報に基づいて、前記バッファを再構成するバッファ再構成処理と、
    前記バッファ再構成処理によるバッファの再構成が終了した後に、前記印刷データ生成手段による前記記憶手段の前記バッファへの書き込みを許可する第2許可処理と、
    を実行させることを特徴とするプログラム。
JP2018014653A 2018-01-31 2018-01-31 画像形成装置およびプログラム Pending JP2019130772A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018014653A JP2019130772A (ja) 2018-01-31 2018-01-31 画像形成装置およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018014653A JP2019130772A (ja) 2018-01-31 2018-01-31 画像形成装置およびプログラム

Publications (1)

Publication Number Publication Date
JP2019130772A true JP2019130772A (ja) 2019-08-08

Family

ID=67545378

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018014653A Pending JP2019130772A (ja) 2018-01-31 2018-01-31 画像形成装置およびプログラム

Country Status (1)

Country Link
JP (1) JP2019130772A (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63296968A (ja) * 1987-05-29 1988-12-05 Ricoh Co Ltd プリンタ
JPH07195741A (ja) * 1994-01-06 1995-08-01 Canon Inc シリアルプリンタのフォント展開方法およびフォント格納方法
JPH10129050A (ja) * 1996-10-31 1998-05-19 Fuji Xerox Co Ltd 印刷処理装置
JP2000330761A (ja) * 1999-05-18 2000-11-30 Canon Inc リングバッファ制御装置およびリングバッファ制御方法
JP2003015835A (ja) * 2001-06-29 2003-01-17 Matsushita Electric Ind Co Ltd 印字システム
JP2003341152A (ja) * 2002-05-29 2003-12-03 Canon Inc 印刷制御装置、印刷制御方法、印刷システム、及びプログラム
JP2004098636A (ja) * 2002-07-16 2004-04-02 Seiko Epson Corp 複数のデータ処理装置を備えたプリンタ
JP2006272557A (ja) * 2005-03-28 2006-10-12 Seiko Epson Corp 画像処理装置及び画像処理プログラム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63296968A (ja) * 1987-05-29 1988-12-05 Ricoh Co Ltd プリンタ
JPH07195741A (ja) * 1994-01-06 1995-08-01 Canon Inc シリアルプリンタのフォント展開方法およびフォント格納方法
JPH10129050A (ja) * 1996-10-31 1998-05-19 Fuji Xerox Co Ltd 印刷処理装置
JP2000330761A (ja) * 1999-05-18 2000-11-30 Canon Inc リングバッファ制御装置およびリングバッファ制御方法
JP2003015835A (ja) * 2001-06-29 2003-01-17 Matsushita Electric Ind Co Ltd 印字システム
JP2003341152A (ja) * 2002-05-29 2003-12-03 Canon Inc 印刷制御装置、印刷制御方法、印刷システム、及びプログラム
JP2004098636A (ja) * 2002-07-16 2004-04-02 Seiko Epson Corp 複数のデータ処理装置を備えたプリンタ
JP2006272557A (ja) * 2005-03-28 2006-10-12 Seiko Epson Corp 画像処理装置及び画像処理プログラム

Similar Documents

Publication Publication Date Title
US9058142B2 (en) Inspecting for errors in print data and conditionally saving the print data dependent upon memory space
JP2011148242A (ja) 画像形成装置及びプログラム
US10230857B2 (en) Image forming apparatus having controlled conveyance speed, image forming method, and storage medium
JP2015231204A (ja) 処理装置及び処理方法
JP4976971B2 (ja) 画像形成システム、画像形成装置及びプログラム
US9081525B2 (en) Image processing apparatus, information processing method, and storage medium for reducing image formation time after a fireware update
US8767247B2 (en) Print data generation device, print data generation method and computer-readable medium for controlling rasterization processing
JP2014061638A (ja) 印刷装置及びその制御方法、並びにプログラム
US8988723B2 (en) Printing apparatus for executing print processing based upon print data
JP6235774B2 (ja) 印刷装置及びその制御方法とプログラム
JP7115191B2 (ja) 印刷装置およびプログラム
JP2019130772A (ja) 画像形成装置およびプログラム
JP6996884B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2009086989A (ja) 画像形成システム、画像形成装置及びプログラム
JP2018185652A (ja) プリンタドライバ
US10911609B2 (en) Image forming apparatus, image forming method, and storage medium
JP2017071159A (ja) 画像形成装置及び印刷制御プログラム並びに印刷制御方法
JP6922607B2 (ja) 画像形成装置、ジョブ処理方法及びジョブ処理制御プログラム
JP2016035639A (ja) 画像形成装置、画像形成装置の制御方法及び制御プログラム
US9569150B2 (en) Server controlling job management by a plurality of image forming devices
JP6347161B2 (ja) 印刷制御装置、印刷制御装置の制御方法および記録媒体
JP2018122463A (ja) 画像形成装置、画像形成方法及び画像形成装置のプログラム
JP2012165229A (ja) 画像形成方法および画像形成装置
US20230126389A1 (en) Image forming apparatus, method for controlling image forming apparatus, and storage medium
JP2011083914A (ja) 画像形成装置、その制御方法及び制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211215

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220607