(57)【特許請求の範囲】
【請求項１】
印刷データに含まれる命令を実行するためのコードを所定の描画プログラムから呼び出して実行する画像形成装置であって、
実行されたコードのうち、その実行頻度が所定値を超える一又は二以上のコードを特定するコード特定手段と、
特定した各コードを高速アクセスが可能な第一のメモリに保持するとともに、そのコードの識別情報を第二のメモリに保持する特定コード保持手段と、
対象の印刷データに含まれる命令を実行するためのコードを示す識別情報が前記第二のメモリに保持されている場合に、対応するコードを前記第一のメモリから呼び出して実行するコード実行制御手段と、を備え、
前記コード特定手段は、
実行されたコードのうち、予め指定した所定のアプリケーションによって生成された印刷データに係るコードであって、かつ、その実行頻度が所定値を超えるコードを特定する
ことを特徴とする画像形成装置。
【請求項２】
前記コード特定手段は、
実行されたコードのうち、その実行頻度が所定値を超え、かつ、その実行頻度の高い順に選択される一又は二以上のコードを特定する請求項１記載の画像形成装置。
【請求項３】
前記コード特定手段は、
実行されたコードのうち、その実行頻度が所定値を超え、かつ、その使用頻度の高い順で、所定のデータ量を超えない範囲内において選択される一又は二以上のコード特定する請求項１又は２記載の画像形成装置。
【請求項４】
前記コードは、前記描画プログラムを構成する関数である請求項１乃至３のいずれか一項記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、出力遅延を解消するとともに高速化を図る画像形成装置に関する。
【背景技術】
【０００２】
プリンタ等の画像形成装置において印刷遅延が発生した場合、ログ等の履歴情報を参照することによってその原因や傾向を特定できることが多い。
このため、ログの解析は、有効な遅延対策として従来から利用されている。
しかしながら、ログの解析は、通常、技術者等、人間によって行われるため、その効果は技術レベルや経験に左右されやすく、必ずしも正確で合理的な方法ではない。
そこで、エラーログにもとづくエラー頻度に応じて印刷データの出力順序を制御する印刷制御装置が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−２４８５４号公報（第１−２頁、第６図）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の印刷制御装置は、接続された複数のデータ処理装置の出力順序を制御するシステムの技術であるため、データ処理装置単体で発生する遅延を解消するものではなく、さらなる高速化が求められていた。
【０００５】
本発明は、上記の事情にかんがみなされたものであり、使用頻度の高いコードを高速アクセスが可能なメモリに保持し、その後、同様の描画処理の際、対応するコードを前記メモリから呼び出して実行することにより高速化を図る画像形成システムの提供を目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の画像形成装置は、印刷データに含まれる命令を実行するためのコードを所定の描画プログラムから呼び出して実行するものであって、コード特定手段と、特定コード保持手段と、コード実行制御手段とを備える。
コード特定手段は、実行されたコードのうち、その実行頻度が所定値を超える一又は二以上のコードを特定する。特定コード保持手段は、特定した各コードを第一のメモリに保持するとともに、そのコードの識別情報を第二のメモリに保持する。コード実行制御手段は、対象の印刷データに含まれる命令を実行するためのコードを示す識別情報が前記第一のメモリに保持されている場合に、対応するコードを前記第二のメモリから呼び出して実行する。
【発明の効果】
【０００７】
本発明の画像形成装置によれば、効果的に出力遅延を解消するとともに高速化することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態に係る画像形成装置の構成を示すブロック図である。
【図２】本発明の一実施形態に係る画像形成装置の動作手順を示したフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の一実施形態に係る画像形成装置１の構成について図面を参照しながら説明する。
図１は、本発明の一実施形態に係る画像形成装置の構成を示すブロック図である。
なお、本実施形態の画像形成装置１は、図示しないホストコンピュータと電気的に接続されることにより画像形成システムを構成するものとする。
すなわち、ホストコンピュータから送られた印刷データを画像形成装置１が受け取り、この印刷データに描画処理を施して印刷出力を行うシステムとなっている。
【００１０】
画像形成装置１は、図１に示すように、通信インタフェース１０１、データ受信部１０２、データ解析部１０３、描画データ処理部１０４、描画部１０５、出力部１０６、システム制御部１０７、コードキャッシュ制御部１０８、処理頻度情報制御部１０９、処理頻度情報保持部１１０及びＣＰＵ１１１によって構成される。
【００１１】
通信インタフェース１０１は、ＮＩＣ（Network  Interface  Card）等からなり、図示しないホストコンピュータとの間で通信ケーブル等を介して接続される制御ボードを備える。
データ受信部１０２は、通信インタフェース１０１を介して印刷データを受信するための制御ボードを備える。
【００１２】
データ解析部１０３は、データ解析に使用するコードを描画プログラムから呼び出して実行するための制御ボードを備え、データ受信部１０２が受信した印刷データを解析する。つまり、「コード」とは、描画プログラムを構成する内部関数のことをいう。
具体的には、制御ボードは、受信した印刷データに含まれる各オブジェクトが、文字データか、ベクターデータか、イメージデータかを判別し、各オブジェクトの描画データを描画データ処理部１０４に出力する。
また、制御ボードは、各オブジェクトに対応する描画命令を抽出する。
例えば、ある印刷データに、線の描画命令が含まれている場合、線を引くための描画命令、線の色、位置等を指定するための描画命令が、抽出される。
なお、データ解析部１０３は、ここで使用されたコードを抽出し、その情報を、処理頻度情報制御部１０９に通知する。
【００１３】
描画データ処理部１０４は、データ解析部１０３から受け渡された各オブジェクトデータを中間形式の描画データ（ディスプレイリスト）に変換するコードを描画プログラムから呼び出すための制御ボードを備える。
描画データ処理部１０４は、ここで使用されたコードを抽出し、その情報を、処理頻度情報制御部１０９に通知する。
【００１４】
描画部１０５は、描画データ処理部１０４によって生成されたディスプレイリストをビットマップデータに変換するコードを描画プログラムから呼び出すための制御ボードを備える。
この制御ボードは、変換後のビットマップデータを出力部１０６に出力する処理を行う。
また、描画部１０５は、ここで使用されたコードを抽出し、その情報を、処理頻度情報制御部１０９に通知する。
【００１５】
出力部１０６は、制御ボードを備え、ビットマップデータに基づいて印刷処理を行う。
具体的には、描画部１０５を介して得たビットマップデータを紙媒体等にトナーやインク等の着色剤を転写して顕像化する処理を印刷エンジンによって実行する。
【００１６】
システム制御部１０７は、装置全体の共有情報を管理し、各構成部の制御を行う描画プログラムを有し、この描画プログラムにもとづき、ＣＰＵ（Central  Processing  Unit）１１１が稼働することによって描画処理が行われる。
【００１７】
コードキャッシュ制御部（コード実行制御手段）１０８は、いわゆる、コードキャッシュを実行するためのプログラムを有する。コードキャッシュ制御部１０８は、このプログラムにもとづき、描画プログラムの実行を制御してコードキャッシュを実行する。
コードキャッシュ制御部１０８は、描画処理に用いたコードの識別情報を一時的に高速アクセスが可能なメモリに保持させる。コードキャッシュに係るコードそのものはＣＰＵ１１１内のＲＡＭ（Random  Access  Memory：第一のメモリ）に一時的に格納する（本発明の特定コード保持手段に含まれる一の動作）。
なお、ＣＰＵ１１１は、描画処理に際してこのメモリを参照し、その描画処理に用いるコードと同一の識別情報が保持されているかどうかを確認する。ＣＰＵ１１１は、メモリから描画処理に用いるコードと同一コードの識別情報を検出すると、そのコードをＲＡＭから呼び出し、描画部１０５に対し描画を実行させる。
【００１８】
特に、本実施形態のコードキャッシュ制御部１０８は、後述する処理頻度情報保持部１１０により保持された使用回数の多いコードを優先的にコードキャッシュの対象とするようにしている。
このため、描画処理に用いるコードを、その度に描画プログラムから呼び出して実行する通常の描画方式よりも速く処理を行うことができる。
【００１９】
処理頻度情報制御部（コード特定手段）１０９は、制御ボードを備え、データ解析部１０３、描画データ処理部１０４及び描画部１０５によって使用された各コードの使用回数を収集する。
また、この制御ボードは、使用されたコードの中から、使用頻度の高いコードを特定する。
具体的には、使用されたコードのうち、その使用頻度が所定値を超え、かつ、使用頻度が高い一又は二以上のコードを特定することができる。
また、使用されたコードのうち、その使用頻度が所定値を超え、かつ、その使用頻度の高い順で、所定のデータ量を超えない範囲内において選択される一又は二以上のコードを特定することができる。
例えば、入力操作により、集計時、最も使用頻度の高いコードから５番目までに該当するコードの識別情報を処理頻度情報保持部１１０に通知し、保持するように制御することができる。
また、入力操作により、１ＭＢに収まる範囲において使用頻度の高いコードの識別情報を処理頻度情報保持部１１０に通知し、保持するように制御することができる。
【００２０】
使用頻度（単位時間あたりの使用回数）は、例えば、月ごと、装置としての一定使用回数ごとに自動的に計測し、この計測した期間単位又は累計にもとづいて求めることができる。
また、使用頻度の集計のタイミングは、画像形成装置（出力デバイス）の出力性能やユーザの使用態様に応じて予め設定し、または、変更することができる。
【００２１】
また、特定のアプリケーションによって生成された印刷データに係るコードについてのみ、本実施形態に係るコードキャッシュを実行するように制限することができる。
これは、例えば、ＣＡＤデータなど、「線を引く」命令が極端に多いアプリケーションについては問題ないが、一般のビジネス文書等、命令に偏りが無いアプリケーションの場合に、単に使用頻度の高いコードを保持するようにすると、多くのコードがキャッシュ対象となり、却って処理速度の低下を招くおそれがあるからである。
このため、処理頻度情報制御部１０９は、予め指定した所定のアプリケーションによって生成された印刷データに係るコードであって、かつ、その実行頻度が所定値を超えるコードを特定するようにすることもできる。
【００２２】
処理頻度情報保持部（第二のメモリ）１１０は、メモリ等の記憶媒体によって構成され、処理頻度情報制御部１０９によって特定されたコードの識別情報を保持する（本発明の特定コード保持手段に含まれる他の動作）。
メモリ等の記憶媒体は、高速アクセスが可能なものが好ましい。
【００２３】
なお、通信インタフェース１０１、データ受信部１０２、データ解析部１０３、描画データ処理部１０４、描画部１０５、出力部１０６、システム制御部１０７、コードキャッシュ制御部１０８、処理頻度情報制御部１０９及び処理頻度情報保持部１１０にそれぞれ備えられている制御ボードは、ＣＰＵ１１１の制御要素、ＲＯＭ（Read  Only  Memory）及びＲＡＭ（Random  Access  Memory）を有する。各制御ボードは、互いに連携し、画像形成装置１０のコンピュータを構成する。ＣＰＵ１１１は、プログラムに記述された処理を実行する演算処理装置である。本実施形態においては、システム制御部１０７が有するプログラムを読み込んで、上記各構成部に必要な処理を実行させることによって、コードキャッシュを実現するものである。また、ＲＯＭは、プログラム及びデータを予め記憶した不揮発性のメモリである。
ＲＡＭは、プログラムを実行する際にそのプログラム及びデータを一時的に記憶して、作業領域として用いるメモリである。
本実施形態においては、コードキャッシュの対象となるコードそのものを一時的に保持する。
プログラムが実行されることにより、各制御ボードは、ＣＰＵ内にデータ受信部１０２、データ解析部１０３、描画データ処理部１０４、描画部１０５、システム制御部１０７、コードキャッシュ制御部１０８及び処理頻度情報制御部１０９を機能ブロックとして構成し、各部のハード要素を通信インタフェース１０１、出力部１０６及び処理頻度情報保持部１１０として機能させる。
【００２４】
例えば、ある印刷データを画像形成装置１０が受信した場合、その印刷データの描画命令を実行するためのコードが、処理頻度情報保持部１１０に保持されている場合には、当該処理頻度情報保持部１１０から当該コードを呼び出して描画処理を実行する。
ここで、処理頻度情報保持部１１０には、使用頻度の高いコードに限定して保持するようにしているため、通常のコードキャッシュに比べキャッシュヒット率が高くなる。
したがって、本実施形態に係る画像形成装置１０によれば、描画〜印刷に係る処理時間をより短縮し、さらなる高速化を図っている。
【００２５】
次に、以上のような構成からなる本実施形態の画像形成装置における動作手順について図面を参照しながら説明する。
図２は、本実施形態の画像形成装置の動作手順を示したフローチャートである。
【００２６】
同図に示すように、まず、データ受信部１０２が、図示しないホストコンピュータからの印刷データを受信したものとする（Ｓ１）。
印刷データの受信に応じ、データ解析部１０３は、印刷データを解析する（Ｓ２）。
具体的には、対応するコードを呼び出して、オブジェクトを解釈し、描画命令を抽出する。
【００２７】
次に、描画データ処理部１０４が、対応するコードを呼び出し、各オブジェクトデータをディスプレイリストに変換し、描画部１０５が、ディスプレイリストをビットマップデータに変換する。
また、出力部１０６が、ビットマップデータにもとづいて印刷処理を行う（Ｓ３）。
続いて、処理頻度情報制御部１０９が、Ｓ２及びＳ３において使用した各コードの使用回数を計測する（Ｓ４）。
すなわち、データ解析部１０３、描画データ処理部１０４及び描画部１０５において使用したコードの回数を計測する。
なお、Ｓ３〜Ｓ４は、各々、ページ排出命令まで繰り返して実行するとともに（ループ２）、データ終了命令まで繰り返して実行する（ループ１）。
【００２８】
次いで、処理頻度情報制御部１０９は、コードごとの使用累計を算出し、使用頻度の高いコードを特定する（Ｓ５）。処理頻度情報制御部１０９は、特定したコードの識別情報を処理頻度情報保持部１１０に通知する。
そして、処理頻度情報保持部１１０は、特定されたコードの識別情報を保持する（Ｓ６）。
【００２９】
以上説明したように、本実施形態の画像形成装置１０によれば、コードキャッシュ機能を備え、描画処理に用いるコードのうち使用頻度の高いコードを保持し、その後、同様の描画処理を行う場合にはそのコードを取り出して描画処理を行うようにしている。
このため、出力の遅延を効果的に防ぎ、高速化を実現することができる。
【００３０】
以上、本発明の画像形成装置について、好ましい実施形態を示して説明したが、本発明にかかる画像形成装置は、上述した実施形態にのみ限定されるものではなく、本発明の範囲で種々の変更実施が可能であることは言うまでもない。
例えば、条規実施形態では、各構成部の制御ボードが互いに連携して画像形成装置１０のコンピュータを構成するものとしたが、画像形成装置の例えば、システム制御部１０７に主制御ボードを備えて、この主制御ボードによりコンピュータを構成し、各要素を制御してもよい。
【００３１】
また、キャッシュするコードについては、単に使用（実行）頻度のみならず、コードサイズにもとづく重み付けを考慮して対象のコードを特定することもできる。
例えば、同じ頻度のコードが複数ある場合には、コードサイズの小さなコードを優先的にコードキャッシュの対象とする。
これにより、コードの読み込み時間を短縮し、コードキャッシュに係る描画の処理時間をより高速化することができる。
【産業上の利用可能性】
【００３２】
本発明は、コードキャッシュ機能を有する画像形成装置に好適に利用することができる。
【符号の説明】
【００３３】
１０  画像形成装置
１０８  コードキャッシュ制御部（コード実行制御手段）
１０９  処理頻度情報制御部（コード特定手段）
１１０  処理頻度情報保持部
【図１】
0005409232.tif 000002
【図２】
0005409232.tif 000003