(57)【要約】【課題】限られたメモリ領域の中で、スプール用領域におけるスプール／デスプール処理回数を改善し、描画処理の高速化を図る。【解決手段】描画処理手段４３は、実行した各種の画像処理に関する情報を学習データとして記憶部５１に記憶する学習データ記憶手段と、この学習データ記憶手段により記憶部５１に記憶されている学習データに基づいてスプール用領域の領域量を決定するスプール用領域計算手段５０と、を有している。これにより、各ページの描画処理で実行した各種の画像処理に関する情報を学習データとして記憶部に記憶し、この記憶部５１に記憶されている学習データに基づいてスプール用領域の領域量を決定することにより、限られたメモリ領域の中で、スプール用領域におけるスプール／デスプール処理回数を改善することができ、描画処理の高速化を図ることができる。【選択図】        図４
2006218819.tif 000002
【特許請求の範囲】
【請求項１】
画像出力制御装置から画像データを構成する図形描画命令の入力を受け付けるデータ入力手段と、
このデータ入力手段で入力された前記図形描画命令を解析して、所定の共通図形描画命令に変換するコマンド解析手段と、
このコマンド解析手段が解析した共通図形描画命令について、領域量を学習データに基づいて調整したスプール用領域に対して記憶・抽出するスプール／デスプール処理を行ないつつ各種の画像処理を実行して印刷描画イメージに変換し、ページメモリに格納する描画処理を行なう描画処理手段と、
この描画処理手段で前記ページメモリに格納された前記印刷描画イメージを記録媒体に形成する画像形成手段と、
を備えることを特徴とする画像形成装置。
【請求項２】
前記描画処理手段は、
実行した各種の画像処理に関する情報を学習データとして記憶部に記憶する学習データ記憶手段と、
この学習データ記憶手段により前記記憶部に記憶されている前記学習データに基づいて前記スプール用領域の領域量を決定するスプール用領域計算手段と、
を有していることを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記学習データは、過去に実行した各種の画像処理情報及び前記スプール用領域への記憶情報であるスプール用領域使用量である、
ことを特徴とした請求項１または２記載の画像形成装置。
【請求項４】
前記学習データは、印刷ジョブの基となったファイルの種類に関する情報である、
ことを特徴とした請求項１または２記載の画像形成装置。
【請求項５】
前記学習データは、現在処理している描画命令に係るページよりも前のページに関するデータである、
ことを特徴とした請求項３または４記載の画像形成装置。
【請求項６】
前記学習データは、同一の印刷ジョブ内において処理を行ったページに関するデータである、
ことを特徴とした請求項３または４記載の画像形成装置。
【請求項７】
前記学習データは、過去の前記学習データを統計した統計情報である、
ことを特徴とした請求項３ないし６のいずれか一記載の画像形成装置。
【請求項８】
描画処理中に前記スプール用領域が満杯になった場合に、前記記憶部に記憶されている前記学習データや前記共通図形描画命令のスプール用領域使用量を基に、前記スプール用領域の領域を拡張するスプール用領域拡張手段を更に備える、
ことを特徴とした請求項１ないし７のいずれか一記載の画像形成装置。
【請求項９】
前記共通図形描画命令の種類に応じて、前記スプール用領域拡張手段で前記スプール用領域の領域を拡張するか否かを判断する判断手段を更に備える、
ことを特徴とする請求項８記載の画像形成装置。
【請求項１０】
画像データを構成する図形描画命令の入力を受け付けるデータ入力手段と、
このデータ入力手段で入力された前記図形描画命令を解析して、所定の共通図形描画命令に変換するコマンド解析手段と、
このコマンド解析手段が解析した共通図形描画命令について、領域量を学習データに基づいて調整したスプール用領域に対して記憶・抽出するスプール／デスプール処理を行ないつつ各種の画像処理を実行して印刷描画イメージに変換し、ページメモリに格納する描画処理を行なう描画処理手段と、
この描画処理手段で前記ページメモリに格納された前記印刷描画イメージを画像形成装置に出力するデータ出力手段と、
を備えることを特徴とする画像処理装置。
【請求項１１】
前記描画処理手段は、
実行した各種の画像処理に関する情報を学習データとして記憶部に記憶する学習データ記憶手段と、
この学習データ記憶手段により前記記憶部に記憶されている前記学習データに基づいて前記スプール用領域の領域量を決定するスプール用領域計算手段と、
を有していることを特徴とする請求項１０記載の画像処理装置。
【請求項１２】
前記学習データは、過去に実行した各種の画像処理情報及び前記スプール用領域への記憶情報であるスプール用領域使用量である、
ことを特徴とした請求項１０または１１記載の画像処理装置。
【請求項１３】
前記学習データは、印刷ジョブの基となったファイルの種類に関する情報である、
ことを特徴とした請求項１０または１１記載の画像処理装置。
【請求項１４】
前記学習データは、現在処理している描画命令に係るページよりも前のページに関するデータである、
ことを特徴とした請求項１２または１３記載の画像処理装置。
【請求項１５】
前記学習データは、同一の印刷ジョブ内において処理を行ったページに関するデータである、
ことを特徴とした請求項１２または１３記載の画像処理装置。
【請求項１６】
前記学習データは、過去の前記学習データを統計した統計情報である、
ことを特徴とした請求項１２ないし１５のいずれか一記載の画像処理装置。
【請求項１７】
描画処理中に前記スプール用領域が満杯になった場合に、前記記憶部に記憶されている前記学習データや前記共通図形描画命令のスプール用領域使用量を基に、前記スプール用領域の領域を拡張するスプール用領域拡張手段を更に備える、
ことを特徴とした請求項１１ないし１６のいずれか一記載の画像処理装置。
【請求項１８】
前記共通図形描画命令の種類に応じて、前記スプール用領域拡張手段で前記スプール用領域の領域を拡張するか否かを判断する判断手段を更に備える、
ことを特徴とする請求項１７記載の画像処理装置。
【請求項１９】
画像データを構成する図形描画命令の入力を受け付けるデータ入力機能と、
このデータ入力機能で入力された前記図形描画命令を解析して、所定の共通図形描画命令に変換するコマンド解析機能と、
このコマンド解析機能が解析した共通図形描画命令について、領域量を学習データに基づいて調整したスプール用領域に対して記憶・抽出するスプール／デスプール処理を行ないつつ各種の画像処理を実行して印刷描画イメージに変換し、ページメモリに格納する描画処理を行なう描画処理機能と、
この描画処理機能で前記ページメモリに格納された前記印刷描画イメージを画像形成装置に出力するデータ出力機能と、
をコンピュータに実行させることを特徴とする前記コンピュータに読み取り可能なプログラム。
【請求項２０】
前記描画処理機能は、
実行した各種の画像処理に関する情報を学習データとして記憶部に記憶する学習データ記憶機能と、
この学習データ記憶機能により前記記憶部に記憶されている前記学習データに基づいて前記スプール用領域の領域量を決定するスプール用領域計算機能と、
を有していることを特徴とする請求項１９記載のプログラム。
【請求項２１】
前記学習データは、過去に実行した各種の画像処理情報及び前記スプール用領域への記憶情報であるスプール用領域使用量である、
ことを特徴とした請求項１９または２０記載のプログラム。
【請求項２２】
前記学習データは、印刷ジョブの基となったファイルの種類に関する情報である、
ことを特徴とした請求項１９または２０記載のプログラム。
【請求項２３】
前記学習データは、現在処理している描画命令に係るページよりも前のページに関するデータである、
ことを特徴とした請求項２１または２２記載のプログラム。
【請求項２４】
前記学習データは、同一の印刷ジョブ内において処理を行ったページに関するデータである、
ことを特徴とした請求項２１または２２記載のプログラム。
【請求項２５】
前記学習データは、過去の前記学習データを統計した統計情報である、
ことを特徴とした請求項２１ないし２４のいずれか一記載のプログラム。
【請求項２６】
描画処理中に前記スプール用領域が満杯になった場合に、前記記憶部に記憶されている前記学習データや前記共通図形描画命令のスプール用領域使用量を基に、前記スプール用領域の領域を拡張するスプール用領域拡張機能を更に前記コンピュータに実行させる、
ことを特徴とした請求項２０ないし２５のいずれか一記載のプログラム。
【請求項２７】
前記共通図形描画命令の種類に応じて、前記スプール用領域拡張機能で前記スプール用領域の領域を拡張するか否かを判断する判断機能を更に前記コンピュータに実行させる、
ことを特徴とする請求項２６記載のプログラム。
【請求項２８】
画像データを構成する図形描画命令の入力を受け付けるデータ入力工程と、
このデータ入力工程で入力された前記図形描画命令を解析して、所定の共通図形描画命令に変換するコマンド解析工程と、
このコマンド解析工程が解析した共通図形描画命令について、領域量を学習データに基づいて調整したスプール用領域に対して記憶・抽出するスプール／デスプール処理を行ないつつ各種の画像処理を実行して印刷描画イメージに変換し、ページメモリに格納する描画処理を行なう描画処理工程と、
この描画処理工程で前記ページメモリに格納された前記印刷描画イメージを画像形成装置に出力するデータ出力工程と、
を含むことを特徴とする画像処理方法。
【請求項２９】
前記描画処理工程は、
実行した各種の画像処理に関する情報を学習データとして記憶部に記憶する学習データ記憶工程と、
この学習データ記憶工程により前記記憶部に記憶されている前記学習データに基づいて前記スプール用領域の領域量を決定するスプール用領域計算工程と、
を含んでいることを特徴とする請求項２８記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、画像処理装置、プログラムおよび画像処理方法に関する。
【背景技術】
【０００２】
従来、例えば、レーザプリンタやインクジェットプリンタ等のページプリンタでは、ページ記述言語（ＰＤＬ：Page Description Language）を利用して、印刷する画像データを記述することができる。
【０００３】
例えば、レーザプリンタのように高機能な処理機能を有するページプリンタでは、ページ記述言語を用いて記述された画像データを直接入力し、その画像データを構成するページ記述言語の図形描画命令を解析し、その解析により認識された描画オブジェクトで構成される印刷描画イメージを生成してページメモリに保存するようにしている（例えば、特許文献１参照）。
【０００４】
一方、インクジェットプリンタのように高機能な処理機能を有さないページプリンタでは、インクジェットプリンタを利用するパーソナルコンピュータ等に実装されるプリンタドライバでページ記述言語の解析機能を実行させ、その解析機能により生成され、ページメモリに保存された印刷描画イメージを、インクジェットプリンタへ転送するようにしている。
【０００５】
ここで、ページ記述言語の図形描画命令の解析からその解析により認識された描画オブジェクトで構成される印刷描画イメージの生成からページメモリへの保存までの流れを図１７の機能ブロック図を参照して説明する。図１７は、レーザプリンタの機能ブロックの一例を示したものである。図１７に示すように、ＰＤＬ解析処理部２０１は、入力したページ記述言語を解析し、描画オブジェクトのそれぞれの種類（文字、グラフィック、イメージ）に対応した描画命令ＣＭ１および印刷を指令する印刷命令ＣＭ２を形成して、描画処理部２０２へ出力する。ここで、描画命令ＣＭ１および印刷命令ＣＭ２は、それぞれ描画処理部２０２が解析可能な共通図形描画命令である。
【０００６】
描画処理部２０２は、ＰＤＬ解析処理部２０１から出力された描画命令ＣＭ１を、メモリに形成されるスプール用領域である中間メモリ２０３に記憶する（スプール処理）。その後、１ページ分の描画命令ＣＭ１の記憶が終了した場合、描画処理部２０２は、中間メモリ２０３に記憶された描画命令ＣＭ１を順次抽出し（デスプール処理）、この抽出された描画命令ＣＭ１に対してプリンタエンジン２０４の印刷機能、用紙サイズおよび用紙方向等の種々のデバイス情報データＤＤに従った画像処理を実行して印刷描画イメージを形成し、その印刷描画イメージをページメモリ２０５に格納する。さらに、描画処理部２０２は、プリンタエンジン２０４に対して、適宜なタイミングで印刷要求ＰＰを出力し、ページメモリ２０５の印刷描画イメージをプリンタエンジン２０４により記録出力させる。
【０００７】
描画処理部２０２においては、上述したように描画命令を中間メモリ２０３に対してスプール／デスプール処理を行ないつつ描画処理を実行することにより、描画処理の効率化が図られている。
【０００８】
【特許文献１】特開２００１−２８２４９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ところで、前述したような中間メモリを用いたスプール／デスプール処理で多くの描画命令を処理するには、中間メモリ（すなわち、描画命令をスプールする領域）のサイズを大きくする必要がある。
【００１０】
しかしながら、メモリ領域は有限であり、また他の処理領域（例えば、描画オブジェクトをページ内で再利用するためのオブジェクト領域やフォントを高速に印字するためのフォントキャッシュ領域など）と共有するため、中間メモリの領域量を必要以上に大きくするのは得策ではない。
【００１１】
本発明は、上記に鑑みてなされたものであって、限られたメモリ領域の中で、スプール用領域におけるスプール／デスプール処理回数を改善することができ、描画処理の高速化を図ることができる画像形成装置、画像処理装置、プログラムおよび画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明の画像形成装置は、画像出力制御装置から画像データを構成する図形描画命令の入力を受け付けるデータ入力手段と、このデータ入力手段で入力された前記図形描画命令を解析して、所定の共通図形描画命令に変換するコマンド解析手段と、このコマンド解析手段が解析した共通図形描画命令について、領域量を学習データに基づいて調整したスプール用領域に対して記憶・抽出するスプール／デスプール処理を行ないつつ各種の画像処理を実行して印刷描画イメージに変換し、ページメモリに格納する描画処理を行なう描画処理手段と、この描画処理手段で前記ページメモリに格納された前記印刷描画イメージを記録媒体に形成する画像形成手段と、を備える。
【００１３】
また、請求項２にかかる発明は、請求項１記載の画像形成装置において、前記描画処理手段は、実行した各種の画像処理に関する情報を学習データとして記憶部に記憶する学習データ記憶手段と、この学習データ記憶手段により前記記憶部に記憶されている前記学習データに基づいて前記スプール用領域の領域量を決定するスプール用領域計算手段と、を有している。
【００１４】
また、請求項３にかかる発明は、請求項１または２記載の画像形成装置において、前記学習データは、過去に実行した各種の画像処理情報及び前記スプール用領域への記憶情報であるスプール用領域使用量である。
【００１５】
また、請求項４にかかる発明は、請求項１または２記載の画像形成装置において、前記学習データは、印刷ジョブの基となったファイルの種類に関する情報である。
【００１６】
また、請求項５にかかる発明は、請求項３または４記載の画像形成装置において、前記学習データは、現在処理している描画命令に係るページよりも前のページに関するデータである。
【００１７】
また、請求項６にかかる発明は、請求項３または４記載の画像形成装置において、前記学習データは、同一の印刷ジョブ内において処理を行ったページに関するデータである。
【００１８】
また、請求項７にかかる発明は、請求項３ないし６のいずれか一記載の画像形成装置において、前記学習データは、過去の前記学習データを統計した統計情報である。
【００１９】
また、請求項８にかかる発明は、請求項１ないし７のいずれか一記載の画像形成装置において、描画処理中に前記スプール用領域が満杯になった場合に、前記記憶部に記憶されている前記学習データや前記共通図形描画命令のスプール用領域使用量を基に、前記スプール用領域の領域を拡張するスプール用領域拡張手段を更に備える。
【００２０】
また、請求項９にかかる発明は、請求項８記載の画像形成装置において、前記共通図形描画命令の種類に応じて、前記スプール用領域拡張手段で前記スプール用領域の領域を拡張するか否かを判断する判断手段を更に備える。
【００２１】
また、請求項１０にかかる発明の画像処理装置は、画像データを構成する図形描画命令の入力を受け付けるデータ入力手段と、このデータ入力手段で入力された前記図形描画命令を解析して、所定の共通図形描画命令に変換するコマンド解析手段と、このコマンド解析手段が解析した共通図形描画命令について、領域量を学習データに基づいて調整したスプール用領域に対して記憶・抽出するスプール／デスプール処理を行ないつつ各種の画像処理を実行して印刷描画イメージに変換し、ページメモリに格納する描画処理を行なう描画処理手段と、この描画処理手段で前記ページメモリに格納された前記印刷描画イメージを画像形成装置に出力するデータ出力手段と、を備える。
【００２２】
また、請求項１１にかかる発明は、請求項１０記載の画像処理装置において、前記描画処理手段は、実行した各種の画像処理に関する情報を学習データとして記憶部に記憶する学習データ記憶手段と、この学習データ記憶手段により前記記憶部に記憶されている前記学習データに基づいて前記スプール用領域の領域量を決定するスプール用領域計算手段と、を有している。
【００２３】
また、請求項１２にかかる発明は、請求項１０または１１記載の画像処理装置において、前記学習データは、過去に実行した各種の画像処理情報及び前記スプール用領域への記憶情報であるスプール用領域使用量である。
【００２４】
また、請求項１３にかかる発明は、請求項１０または１１記載の画像処理装置において、前記学習データは、印刷ジョブの基となったファイルの種類に関する情報である。
【００２５】
また、請求項１４にかかる発明は、請求項１２または１３記載の画像処理装置において、前記学習データは、現在処理している描画命令に係るページよりも前のページに関するデータである。
【００２６】
また、請求項１５にかかる発明は、請求項１２または１３記載の画像処理装置において、前記学習データは、同一の印刷ジョブ内において処理を行ったページに関するデータである。
【００２７】
また、請求項１６にかかる発明は、請求項１２ないし１５のいずれか一記載の画像処理装置において、前記学習データは、過去の前記学習データを統計した統計情報である。
【００２８】
また、請求項１７にかかる発明は、請求項１１ないし１６のいずれか一記載の画像処理装置において、描画処理中に前記スプール用領域が満杯になった場合に、前記記憶部に記憶されている前記学習データや前記共通図形描画命令のスプール用領域使用量を基に、前記スプール用領域の領域を拡張するスプール用領域拡張手段を更に備える。
【００２９】
また、請求項１８にかかる発明は、請求項１７記載の画像処理装置において、前記共通図形描画命令の種類に応じて、前記スプール用領域拡張手段で前記スプール用領域の領域を拡張するか否かを判断する判断手段を更に備える。
【００３０】
また、請求項１９にかかる発明のプログラムは、画像データを構成する図形描画命令の入力を受け付けるデータ入力機能と、このデータ入力機能で入力された前記図形描画命令を解析して、所定の共通図形描画命令に変換するコマンド解析機能と、このコマンド解析機能が解析した共通図形描画命令について、領域量を学習データに基づいて調整したスプール用領域に対して記憶・抽出するスプール／デスプール処理を行ないつつ各種の画像処理を実行して印刷描画イメージに変換し、ページメモリに格納する描画処理を行なう描画処理機能と、この描画処理機能で前記ページメモリに格納された前記印刷描画イメージを画像形成装置に出力するデータ出力機能と、をコンピュータに実行させる。
【００３１】
また、請求項２０にかかる発明は、請求項１９記載のプログラムにおいて、前記描画処理機能は、実行した各種の画像処理に関する情報を学習データとして記憶部に記憶する学習データ記憶機能と、この学習データ記憶機能により前記記憶部に記憶されている前記学習データに基づいて前記スプール用領域の領域量を決定するスプール用領域計算機能と、を有している。
【００３２】
また、請求項２１にかかる発明は、請求項１９または２０記載のプログラムにおいて、前記学習データは、過去に実行した各種の画像処理情報及び前記スプール用領域への記憶情報であるスプール用領域使用量である。
【００３３】
また、請求項２２にかかる発明は、請求項１９または２０記載のプログラムにおいて、前記学習データは、印刷ジョブの基となったファイルの種類に関する情報である。
【００３４】
また、請求項２３にかかる発明は、請求項２１または２２記載のプログラムにおいて、前記学習データは、現在処理している描画命令に係るページよりも前のページに関するデータである。
【００３５】
また、請求項２４にかかる発明は、請求項２１または２２記載のプログラムにおいて、前記学習データは、同一の印刷ジョブ内において処理を行ったページに関するデータである。
【００３６】
また、請求項２５にかかる発明は、請求項２１ないし２４のいずれか一記載のプログラムにおいて、前記学習データは、過去の前記学習データを統計した統計情報である。
【００３７】
また、請求項２６にかかる発明は、請求項２０ないし２５のいずれか一記載のプログラムにおいて、描画処理中に前記スプール用領域が満杯になった場合に、前記記憶部に記憶されている前記学習データや前記共通図形描画命令のスプール用領域使用量を基に、前記スプール用領域の領域を拡張するスプール用領域拡張機能を更に前記コンピュータに実行させる。
【００３８】
また、請求項２７にかかる発明は、請求項２６記載のプログラムにおいて、前記共通図形描画命令の種類に応じて、前記スプール用領域拡張機能で前記スプール用領域の領域を拡張するか否かを判断する判断機能を更に前記コンピュータに実行させる。
【００３９】
また、請求項２８にかかる発明の画像処理方法は、画像データを構成する図形描画命令の入力を受け付けるデータ入力工程と、このデータ入力工程で入力された前記図形描画命令を解析して、所定の共通図形描画命令に変換するコマンド解析工程と、このコマンド解析工程が解析した共通図形描画命令について、領域量を学習データに基づいて調整したスプール用領域に対して記憶・抽出するスプール／デスプール処理を行ないつつ各種の画像処理を実行して印刷描画イメージに変換し、ページメモリに格納する描画処理を行なう描画処理工程と、この描画処理工程で前記ページメモリに格納された前記印刷描画イメージを画像形成装置に出力するデータ出力工程と、を含む。
【００４０】
また、請求項２９にかかる発明は、請求項２８記載の画像処理方法において、前記描画処理工程は、実行した各種の画像処理に関する情報を学習データとして記憶部に記憶する学習データ記憶工程と、この学習データ記憶工程により前記記憶部に記憶されている前記学習データに基づいて前記スプール用領域の領域量を決定するスプール用領域計算工程と、を含んでいる。
【発明の効果】
【００４１】
請求項１にかかる発明によれば、共通図形描画命令について、領域量を学習データに基づいて調整したスプール用領域に対して記憶・抽出するスプール／デスプール処理を行ないつつ各種の画像処理を実行して印刷描画イメージに変換し、ページメモリに格納する描画処理を行なうことにより、限られたメモリ領域の中で、スプール用領域におけるスプール／デスプール処理回数を改善することができ、描画処理の高速化を図ることができるという効果を奏する。
【００４２】
また、請求項２にかかる発明によれば、各ページの描画処理で実行した各種の画像処理に関する情報を学習データとして記憶部に記憶し、この記憶部に記憶されている学習データに基づいてスプール用領域の領域量を決定することにより、限られたメモリ領域の中で、スプール用領域におけるスプール／デスプール処理回数を改善することができ、描画処理の高速化を図ることができるという効果を奏する。
【００４３】
また、請求項３にかかる発明によれば、学習データは、過去に実行した各種の画像処理情報及びスプール用領域への記憶情報であるスプール用領域使用量であることにより、過去の処理データはこれから処理するデータとの関連がある可能性が高いことから、過去のデータを利用することで、より適切なスプール用領域量を求めることができるという効果を奏する。
【００４４】
また、請求項４にかかる発明によれば、学習データは、印刷ジョブの基となったファイルの種類に関する情報であることにより、ファイルの種類により印刷データ内容やアプリケーションの作成する印刷データに特徴があることから、ファイル種類に依存した学習データを作成することで、ファイル毎により適切なスプール用領域量を求めることができるという効果を奏する。例えば、製図およびダイアグラム作成ソフトウェアにより作成されたファイルではスプール用領域が多く必要となる描画命令が多いため、このような製図およびダイアグラム作成ソフトウェアにより作成されたファイルの学習データは、「スプール用領域を多く取る方が良い」となる。
【００４５】
また、請求項５にかかる発明によれば、学習データは、現在処理している描画命令に係るページよりも前のページに関するデータであることにより、現在処理している描画命令に係るページの前のページは関連がある可能性がより高いことから、前ページのデータを利用することで、より適切なスプール用領域量を求めることができるという効果を奏する。
【００４６】
また、請求項６にかかる発明によれば、学習データは、同一の印刷ジョブ内において処理を行ったページに関するデータであることにより、同一の印刷ジョブでは、同じアプリケーション、同じフォーマットや目的で作成されている可能性が高く、各ページ間の関連性が非常に高いことが多いことから、同一印刷ジョブのデータを利用することで、より適切なスプール用領域量を求めることができるという効果を奏する。
【００４７】
また、請求項７にかかる発明によれば、学習データは、過去の学習データを統計した統計情報であることにより、これまでの学習データを保存し、統計をとったデータを利用することで、更に適切なスプール用領域量を求めることができるという効果を奏する。また、学習データ容量も削減されるという効果も奏する。
【００４８】
また、請求項８にかかる発明によれば、描画処理中にスプール用領域が満杯になった場合に、記憶部に記憶されている学習データや共通図形描画命令のスプール用領域使用量を基に、スプール用領域の領域を拡張することにより、求めたスプール用領域量は推定量であるため、実際に処理を行った際にスプール用領域から溢れる場合があるが、このような場合に使用されていないメモリを利用してスプール用領域を拡張することで、スプールできる描画命令の量が増加し、処理が高速化されるという効果を奏する。
【００４９】
また、請求項９にかかる発明によれば、描画命令毎にスプール用領域から溢れた際のオーバーヘッドが異なることから、共通図形描画命令の種類に応じて、スプール用領域の領域を拡張するか否かを判断することにより、より効果的にスプール用領域の拡張処理を行うことができるという効果を奏する。例えば、描画命令がグラフィックオブジェクトの場合には、それほど大きな量を拡張しなくても良いことから拡張を許可し、描画命令がイメージオブジェクトでは、大きな量を拡張しなくてはならないことから拡張を不許可とする、ことが考えられる。
【００５０】
また、請求項１０にかかる発明によれば、共通図形描画命令について、領域量を学習データに基づいて調整したスプール用領域に対して記憶・抽出するスプール／デスプール処理を行ないつつ各種の画像処理を実行して印刷描画イメージに変換し、ページメモリに格納する描画処理を行なうことにより、限られたメモリ領域の中で、スプール用領域におけるスプール／デスプール処理回数を改善することができ、描画処理の高速化を図ることができるという効果を奏する。
【００５１】
また、請求項１１にかかる発明によれば、各ページの描画処理で実行した各種の画像処理に関する情報を学習データとして記憶部に記憶し、この記憶部に記憶されている学習データに基づいてスプール用領域の領域量を決定することにより、限られたメモリ領域の中で、スプール用領域におけるスプール／デスプール処理回数を改善することができ、描画処理の高速化を図ることができるという効果を奏する。
【００５２】
また、請求項１２にかかる発明によれば、学習データは、過去に実行した各種の画像処理情報及びスプール用領域への記憶情報であるスプール用領域使用量であることにより、過去の処理データはこれから処理するデータとの関連がある可能性が高いことから、過去のデータを利用することで、より適切なスプール用領域量を求めることができるという効果を奏する。
【００５３】
また、請求項１３にかかる発明によれば、学習データは、印刷ジョブの基となったファイルの種類に関する情報であることにより、ファイルの種類により印刷データ内容やアプリケーションの作成する印刷データに特徴があることから、ファイル種類に依存した学習データを作成することで、ファイル毎により適切なスプール用領域量を求めることができるという効果を奏する。例えば、製図およびダイアグラム作成ソフトウェアにより作成されたファイルではスプール用領域が多く必要となる描画命令が多いため、このような製図およびダイアグラム作成ソフトウェアにより作成されたファイルの学習データは、「スプール用領域を多く取る方が良い」となる。
【００５４】
また、請求項１４にかかる発明によれば、学習データは、現在処理している描画命令に係るページよりも前のページに関するデータであることにより、現在処理している描画命令に係るページの前のページは関連がある可能性がより高いことから、前ページのデータを利用することで、より適切なスプール用領域量を求めることができるという効果を奏する。
【００５５】
また、請求項１５にかかる発明によれば、学習データは、同一の印刷ジョブ内において処理を行ったページに関するデータであることにより、同一の印刷ジョブでは、同じアプリケーション、同じフォーマットや目的で作成されている可能性が高く、各ページ間の関連性が非常に高いことが多いことから、同一印刷ジョブのデータを利用することで、より適切なスプール用領域量を求めることができるという効果を奏する。
【００５６】
また、請求項１６にかかる発明によれば、学習データは、過去の学習データを統計した統計情報であることにより、これまでの学習データを保存し、統計をとったデータを利用することで、更に適切なスプール用領域量を求めることができるという効果を奏する。また、学習データ容量も削減されるという効果も奏する。
【００５７】
また、請求項１７にかかる発明によれば、描画処理中にスプール用領域が満杯になった場合に、記憶部に記憶されている学習データや共通図形描画命令のスプール用領域使用量を基に、スプール用領域の領域を拡張することにより、求めたスプール用領域量は推定量であるため、実際に処理を行った際にスプール用領域から溢れる場合があるが、このような場合に使用されていないメモリを利用してスプール用領域を拡張することで、スプールできる描画命令の量が増加し、処理が高速化されるという効果を奏する。
【００５８】
また、請求項１８にかかる発明によれば、描画命令毎にスプール用領域から溢れた際のオーバーヘッドが異なることから、共通図形描画命令の種類に応じて、スプール用領域の領域を拡張するか否かを判断することにより、より効果的にスプール用領域の拡張処理を行うことができるという効果を奏する。例えば、描画命令がグラフィックオブジェクトの場合には、それほど大きな量を拡張しなくても良いことから拡張を許可し、描画命令がイメージオブジェクトでは、大きな量を拡張しなくてはならないことから拡張を不許可とする、ことが考えられる。
【００５９】
また、請求項１９にかかる発明によれば、共通図形描画命令について、領域量を学習データに基づいて調整したスプール用領域に対して記憶・抽出するスプール／デスプール処理を行ないつつ各種の画像処理を実行して印刷描画イメージに変換し、ページメモリに格納する描画処理を行なうことにより、限られたメモリ領域の中で、スプール用領域におけるスプール／デスプール処理回数を改善することができ、描画処理の高速化を図ることができるという効果を奏する。
【００６０】
また、請求項２０にかかる発明によれば、各ページの描画処理で実行した各種の画像処理に関する情報を学習データとして記憶部に記憶し、この記憶部に記憶されている学習データに基づいてスプール用領域の領域量を決定することにより、限られたメモリ領域の中で、スプール用領域におけるスプール／デスプール処理回数を改善することができ、描画処理の高速化を図ることができるという効果を奏する。
【００６１】
また、請求項２１にかかる発明によれば、学習データは、過去に実行した各種の画像処理情報及びスプール用領域への記憶情報であるスプール用領域使用量であることにより、過去の処理データはこれから処理するデータとの関連がある可能性が高いことから、過去のデータを利用することで、より適切なスプール用領域量を求めることができるという効果を奏する。
【００６２】
また、請求項２２にかかる発明によれば、学習データは、印刷ジョブの基となったファイルの種類に関する情報であることにより、ファイルの種類により印刷データ内容やアプリケーションの作成する印刷データに特徴があることから、ファイル種類に依存した学習データを作成することで、ファイル毎により適切なスプール用領域量を求めることができるという効果を奏する。例えば、製図およびダイアグラム作成ソフトウェアにより作成されたファイルではスプール用領域が多く必要となる描画命令が多いため、このような製図およびダイアグラム作成ソフトウェアにより作成されたファイルの学習データは、「スプール用領域を多く取る方が良い」となる。
【００６３】
また、請求項２３にかかる発明によれば、学習データは、現在処理している描画命令に係るページよりも前のページに関するデータであることにより、現在処理している描画命令に係るページの前のページは関連がある可能性がより高いことから、前ページのデータを利用することで、より適切なスプール用領域量を求めることができるという効果を奏する。
【００６４】
また、請求項２４にかかる発明によれば、学習データは、同一の印刷ジョブ内において処理を行ったページに関するデータであることにより、同一の印刷ジョブでは、同じアプリケーション、同じフォーマットや目的で作成されている可能性が高く、各ページ間の関連性が非常に高いことが多いことから、同一印刷ジョブのデータを利用することで、より適切なスプール用領域量を求めることができるという効果を奏する。
【００６５】
また、請求項２５にかかる発明によれば、学習データは、過去の学習データを統計した統計情報であることにより、これまでの学習データを保存し、統計をとったデータを利用することで、更に適切なスプール用領域量を求めることができるという効果を奏する。また、学習データ容量も削減されるという効果も奏する。
【００６６】
また、請求項２６にかかる発明によれば、描画処理中にスプール用領域が満杯になった場合に、記憶部に記憶されている学習データや共通図形描画命令のスプール用領域使用量を基に、スプール用領域の領域を拡張することにより、求めたスプール用領域量は推定量であるため、実際に処理を行った際にスプール用領域から溢れる場合があるが、このような場合に使用されていないメモリを利用してスプール用領域を拡張することで、スプールできる描画命令の量が増加し、処理が高速化されるという効果を奏する。
【００６７】
また、請求項２７にかかる発明によれば、描画命令毎にスプール用領域から溢れた際のオーバーヘッドが異なることから、共通図形描画命令の種類に応じて、スプール用領域の領域を拡張するか否かを判断することにより、より効果的にスプール用領域の拡張処理を行うことができるという効果を奏する。例えば、描画命令がグラフィックオブジェクトの場合には、それほど大きな量を拡張しなくても良いことから拡張を許可し、描画命令がイメージオブジェクトでは、大きな量を拡張しなくてはならないことから拡張を不許可とする、ことが考えられる。
【００６８】
また、請求項２８にかかる発明によれば、共通図形描画命令について、領域量を学習データに基づいて調整したスプール用領域に対して記憶・抽出するスプール／デスプール処理を行ないつつ各種の画像処理を実行して印刷描画イメージに変換し、ページメモリに格納する描画処理を行なうことにより、限られたメモリ領域の中で、スプール用領域におけるスプール／デスプール処理回数を改善することができ、描画処理の高速化を図ることができるという効果を奏する。
【００６９】
また、請求項２９にかかる発明によれば、各ページの描画処理で実行した各種の画像処理に関する情報を学習データとして記憶部に記憶し、この記憶部に記憶されている学習データに基づいてスプール用領域の領域量を決定することにより、限られたメモリ領域の中で、スプール用領域におけるスプール／デスプール処理回数を改善することができ、描画処理の高速化を図ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００７０】
（第１の実施の形態）
図１は、本発明の第１の実施の形態にかかる画像形成装置を含む印刷システムの構成を示すブロック図である。本実施の形態は、画像形成装置としてレーザプリンタを適用した例である。
【００７１】
図１に示すように、この印刷システム１００は、印刷文書を作成処理する画像出力制御装置であるパーソナルコンピュータ１０１と、印刷文書を印刷するレーザプリンタであるプリンタ装置１０２とで構成されており、プリンタ装置１０２はパーソナルコンピュータ１０１に対してＵＳＢ（Universal Serial Bus）ケーブル１０３により直接接続されている。このようなパーソナルコンピュータ１０１は、ＬＡＮ（Local Area Network）１０４に接続されており、ＬＡＮ１０４を介して電子メール等を利用したデータ通信が可能である。
【００７２】
まず、パーソナルコンピュータ１０１について説明する。図２は、パーソナルコンピュータ１０１の構成の一例を示すブロック図である。図２に示すように、パーソナルコンピュータ１０１は、このパーソナルコンピュータ１０１の動作制御を行うＣＰＵ（Central Processing Unit：中央処理装置）１を備えている。このＣＰＵ１には、ＣＰＵ１が起動時に実行するプログラムや必要なデータ等を記憶するためのＲＯＭ（Read Only Memory）２と、ＣＰＵ１のワークエリア等を構成するためのＲＡＭ（Random Access Memory）３とが内部バス１７を介して接続されている。
【００７３】
さらに、ＣＰＵ１には、キャラクタジェネレータ４、時計回路５、ＬＡＮ伝送制御部７、磁気ディスク装置８、ＣＤ−ＲＯＭ装置９、表示制御部１２、入力制御部１５およびプリンタインタフェース回路１６が、内部バス１７を介して接続されており、これらの各要素間のデータのやりとりは、主としてこの内部バス１７を介して行われる。
【００７４】
キャラクタジェネレータ４は、図形文字の表示データを発生するためのものである。時計回路５は、現在日時情報を出力するためのものである。
【００７５】
ＬＡＮインタフェース回路６は、このパーソナルコンピュータ１０１をＬＡＮ１０４に接続するためのものであり、ＬＡＮ伝送制御部７は、ＬＡＮ１０４を介して、他のデータ端末装置との間で種々のデータをやりとりするための各種所定のプロトコルスイートの通信制御処理を実行するためのものである。
【００７６】
磁気ディスク装置８は、ＯＳ（Operating System）、ＯＳ上で走る種々のアプリケーションプログラム、ワークデータ、ファイルデータ、画情報データなどの種々のデータを記憶するためのものである。ＣＤ−ＲＯＭ装置９は、交換可能な記録媒体であるＣＤ−ＲＯＭ１０に記憶されているデータ（種々のアプリケーションプログラム、ワークデータ、ファイルデータ、画情報データなどの種々のデータ）を読み込むためのものである。
【００７７】
このようなパーソナルコンピュータ１０１では、ユーザが電源を投入するとＣＰＵ１がＲＯＭ２内のローダーというプログラムを起動させ、磁気ディスク装置８よりＯＳをＲＡＭ３に読み込み、このＯＳを起動させる。このようなＯＳは、ユーザの操作に応じてアプリケーションプログラムを起動したり、情報を読み込んだり、保存を行ったりする。なお、記録媒体はＣＤ−ＲＯＭ１０に限るものではなく、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ、半導体メモリ等のコンピュータで読み取り可能な記録媒体であれば良い。この場合、ＣＤ−ＲＯＭ装置９を記憶媒体のデータを読み込み可能なものに変更することはいうまでもない。また、アプリケーションプログラムは、所定のＯＳ上で動作するものに限らず、後述の各種処理の一部の実行をＯＳに肩代わりさせるものであってもよいし、所定のアプリケーションソフトやＯＳなどを構成する一群のプログラムファイルの一部として含まれているものであってもよい。
【００７８】
なお、一般的には、パーソナルコンピュータ１０１の磁気ディスク装置８にインストールされるアプリケーションプログラムは、ＣＤ−ＲＯＭ１０などの記憶媒体に記録され、この記憶媒体に記録された動作プログラムが磁気ディスク装置８にインストールされる。このため、ＣＤ−ＲＯＭ１０等の可搬性を有する記憶媒体も、アプリケーションプログラムを記憶する記憶媒体となり得る。さらには、アプリケーションプログラムは、例えばＬＡＮインタフェース回路６を介して外部から取り込まれ、磁気ディスク装置８にインストールされても良い。
【００７９】
ＣＲＴなどの表示装置１１は、このパーソナルコンピュータ１０１を操作するための画面を表示するためのものであり、表示制御部１２は、表示装置１１の表示内容を制御するためのものである。
【００８０】
キーボード装置１３は、このパーソナルコンピュータ１０１に対する各種の指示を種々のキー操作により行わせるためのものであり、画面指示装置１４は、表示装置１１の任意の点を指示する等の操作作業を行うためのもの（例えば、マウス等のポインティングデバイス）であり、入力制御部１５は、キーボード装置１３および画面指示装置１４の入力情報を取り込む等するためのものである。
【００８１】
プリンタインタフェース回路１６は、ＵＳＢケーブル１０３を介してプリンタ装置１０２を接続し、プリンタ装置１０２へ印刷ジョブデータ等を送信したり、プリンタ装置１０２より印刷結果情報等を受信する等の動作を行うためのものである。
【００８２】
また、印刷文書情報は、このパーソナルコンピュータ１０１で適宜なアプリケーションプログラムが起動され、当該アプリケーションプログラムにより作成されて磁気ディスク装置８に保存されたり、ＣＤ−ＲＯＭ１０に保存されているものがＣＤ−ＲＯＭ装置９により読み出されて、パーソナルコンピュータ１０１に取り込まれたり、ＬＡＮ１０４を介して電子メール等で受信した情報から再構築されてパーソナルコンピュータ１０１に取り込まれたりすることで、パーソナルコンピュータ１０１に保存される。
【００８３】
次に、プリンタ装置１０２について説明する。図３は、プリンタ装置１０２の構成の一例を示すブロック図である。図３に示すように、プリンタ装置１０２は、このプリンタ装置１０２の各部の制御処理および画像形成処理などの各種制御処理を行うシステム制御部２１を備えている。このシステム制御部２１には、システムメモリ２２、パラメータメモリ２３、時計回路２４、操作表示部２５、ページメモリ２６、プリンタエンジン２７、搬送系ユニット２８、外部装置インタフェース回路２９および磁気ディスク装置３０が内部バス３１を介して接続されており、これらの各要素間でのデータのやりとりは、主としてこの内部バス３１を介して行われている。
【００８４】
システムメモリ２２は、システム制御部２１が実行する制御処理プログラムおよび処理プログラムを実行するときに必要な各種データなどを記憶するとともに、システム制御部２１のワークエリアを構成するものであり、パラメータメモリ２３は、このプリンタ装置１０２に固有な各種の情報を記憶するためのものである。
【００８５】
時計回路２４は、現在時刻情報を出力するものである。操作表示部２５は、このプリンタ装置１０２を操作するためのもので、各種の操作キーおよび各種の表示装置からなる。
【００８６】
ページメモリ２６は、印刷する画像データ（印刷描画イメージ）を格納するものであり、プリンタエンジン２７は、ページメモリ２６に格納されている画像データの画像を記録用紙に記録出力するためのものである。給紙搬送系ユニット２８は、記録用紙を保持している用紙カセット等（図示略）から記録用紙を分離してプリンタエンジン２７の画像記録位置へと給紙搬送し、最終的に排紙トレイ（図示略）へと排出するためのものである。なお、本実施の形態のプリンタ装置１０２はレーザプリンタであるので、プリンタエンジン２７は、電子写真プロセス方式により画像を形成して記録用紙に記録出力する。
【００８７】
外部装置インタフェース回路２９は、ＵＳＢケーブル１０３を介してパーソナルコンピュータ１０１に接続し、印刷ジョブデータ等を受信したり、パーソナルコンピュータ１０１に対して印刷結果等をあらわすデータを送信したりするためのものである。
【００８８】
磁気ディスク装置３０は、種々の印刷文書情報を格納したり、それ以外の適宜な情報ファイル等を保存するためのものである。
【００８９】
ここで、本実施の形態のプリンタ装置１０２のシステム制御部２１が発揮する特徴的な機能について説明する。レーザプリンタ等のページプリンタでは、ページ記述言語（ＰＤＬ：Page Description Language）を利用して、印刷する画像データを記述することができる。また、レーザプリンタのように高機能な処理機能を有するページプリンタでは、ページ記述言語を用いて記述された画像データを直接入力し、その画像データを構成するページ記述言語の図形描画命令を解析し、その解析により認識された描画オブジェクトで構成される印刷描画イメージを生成してページメモリ２６に保存するようにしている。この点に関するプリンタ装置１０２のシステム制御部２１が発揮する特徴的な機能について説明する。
【００９０】
図４は、プリンタ装置１０２が備えるシステム制御部２１が発揮する特徴的な機能にかかる機能ブロック図である。図４に示すように、システム制御部２１は、データ入力手段として機能するデータ入力処理部４１、コマンド解析手段として機能するＰＤＬ解析処理部４２、描画処理手段として機能する描画処理部４３、画像形成手段として機能する出力処理部４４を備えている。
【００９１】
データ入力処理部４１は、外部装置インタフェース回路２９を介して入力したページ記述言語（ＰＤＬ）で記述された印刷情報ＰＬの入力を受け付けるものであり、受け付けられた印刷情報ＰＬは、ＰＤＬ解析処理部４２へ送られる。
【００９２】
ＰＤＬ解析処理部４２は、印刷情報ＰＬを構成するページ記述言語（ＰＤＬ）を解析し、描画オブジェクトのそれぞれの種類（文字、グラフィック、イメージ）に対応した描画命令ＣＭ１および印刷を指令する印刷命令ＣＭ２を形成して、描画処理部４３へ出力する。ここで、描画命令ＣＭ１および印刷命令ＣＭ２は、それぞれ描画処理部４３が解析可能な共通図形描画命令である。描画命令ＣＭ１としては、例えば、描画範囲指定命令や描画色指定命令などが挙げられる。
【００９３】
描画処理部４３は、ＰＤＬ解析処理部４２から送られた描画命令ＣＭ１を受け取り、各種の画像処理を実行して印刷描画イメージを形成し、その印刷描画イメージをページメモリ２６に格納する。ここで、描画処理部４３で行なわれる画像処理は、ＲＧＢからＣＭＹへの色変換処理、ＢＧ／ＵＣＲ処理、ガンマ補正処理、総量規制処理、描画オブジェクトの回転処理、データ形式の変換処理、スキャン変換処理（座標で表した図形データのランへの変更）、ディザリング処理、ＲＯＰ（色の論理演算処理）、ビットマップイメージへの展開処理などである。なお、ＢＧ／ＵＣＲ処理は、黒（グレー）色の文字や罫線などのグラフィックをブラックトナーのみを使用して光沢のない白黒プリンタと同等な画像とし、イメージを４色トナーによる光沢のある画像とするものである。
【００９４】
本実施の形態の描画処理部４３は、図４に示すように、描画命令ＣＭ１に対して所定の画像処理を行なう前処理部４５と、描画命令ＣＭ１のスプール用領域である中間メモリ４６と、中間メモリ４６に対する描画命令ＣＭ１のスプール／デスプール処理を行なうスプール／デスプール処理部４７と、中間メモリ４６から抽出した描画命令ＣＭ１（描画命令ＣＭ１の中間データ）に対して所定の画像処理を行なう後処理部４８と、描画命令ＣＭ１（描画命令ＣＭ１の中間データ）に対する各種の画像処理後にページメモリ２６に描画を行なうメモリ描画処理部４９とを備えている。ここで、中間メモリ４６は、描画処理部４３の動作によりシステムメモリ２２に形成される領域である。また、スプール処理は描画命令ＣＭ１を中間メモリ４６に記憶する処理、デスプール処理は中間メモリ４６に記憶された描画命令ＣＭ１（描画命令ＣＭ１の中間データ）を順次抽出する処理である。前処理部４５は、例えば、ＲＧＢからＣＭＹへの色変換処理、ＢＧ／ＵＣＲ処理、ガンマ補正処理、総量規制処理、描画オブジェクトの回転処理、データ形式の変換処理を行なう。一方、後処理部４８は、例えば、スキャン変換処理（座標で表した図形データのランへの変更）、ディザリング処理、ＲＯＰ（色の論理演算処理）、ビットマップイメージへの展開処理を行なう。より詳細には、前処理部４５は、ＰＤＬ解析処理部４２からの描画命令ＣＭ１と出力処理部（プリンタエンジン２７の処理部）４５からプリンタエンジン２７の印刷機能、用紙サイズおよび用紙方向等の種々のデバイス情報データＤＤとを取得し、取得した描画命令ＣＭ１に対してデバイス情報データＤＤに従って所定の画像処理を行ない、画像処理後の描画命令ＣＭ１を中間メモリ４６に記憶する。その際、前処理部４５で行なった画像処理を情報として付加する。その後、１ページ分の描画処理が終了したら、後処理部４８は、中間メモリ４６に記憶された描画命令ＣＭ１を順次抽出し、デバイス情報データＤＤに従って、付加された前処理部４５で行なった画像処理情報に基づいて残りの画像処理を描画命令ＣＭ１に対して行なう。
【００９５】
その後、描画処理部４３は、メモリ描画処理部４９において印刷描画イメージを形成し、その印刷描画イメージをページメモリ２６に格納した後、出力処理部４４に対して、適宜なタイミングで印刷要求ＰＰを出力し、ページメモリ２６の印刷描画イメージをプリンタエンジン２７により記録出力させる。
【００９６】
ここで、図５は描画処理部４３における描画処理の概要を示す説明図である。図５に示すように、描画処理は、１〜複数回のスプール／デスプール処理で構成され、１つのスプール／デスプール処理はスプールフェーズ、デスプールフェーズに分かれる。スプールフェーズでは、中間メモリ４６に記憶できるだけ描画命令ＣＭ１を処理し、中間メモリ４６に記憶する。中間メモリ４６が満杯になると、デスプールフェーズに移行する。デスプールフェーズでは、中間メモリ４６に記憶された描画命令ＣＭ１（描画命令ＣＭ１の中間データ）に対して、後処理を行い、印刷描画イメージをページメモリ２６の各バンドメモリに書き込んでいく。ページメモリ２６の各バンドメモリは、１ページ分の画像領域を副走査方向に複数に分割したものである。これは、例えばレーザプリンタでは記録解像度が１２００ｄｐｉと非常に高い解像度であるため、１ページを構成するデータ量が膨大となり、ページメモリ２６にページ１面分の連続したメモリ領域を確保できないため、バンドメモリとして管理するようにしている。すなわち、１回の描画処理の度に、該当ページのバンドメモリに対して、圧縮、解凍や書き込み準備などの処理が発生する。ここで、例えば１回の描画処理で１ページ分のデータが記憶できた場合には、１回の描画処理で１ページ分の処理が可能となる。
【００９７】
加えて、本実施の形態の描画処理部４３は、図４に示すように、描画命令のスプール用領域である中間メモリ４６の領域量を決定するスプール用領域計算部５０と、前処理部４５および後処理部４８で実行した各種の画像処理情報を学習データとして記憶する記憶部である学習データメモリ５１とを備えている。学習データメモリ５１は、描画処理部４３の動作によりシステムメモリ２２に形成される領域である。スプール用領域計算部５０は、学習データメモリ５１に記憶されている学習データを基に、適正な中間メモリ４６の領域量を計算して設定する。
【００９８】
ここで、学習データメモリ５１に記憶される学習データについて説明する。図６−１は前処理部４５における学習データ例を示す説明図、図６−２は後処理部４８における学習データ例を示す説明図である。
【００９９】
図６−１に示すように、前処理部４５における学習データ例としては、描画オブジェクトに関する学習データと、描画オブジェクト以外に関する学習データとが挙げられる。まず、描画オブジェクトに関する学習データについて説明する。描画オブジェクトに関する学習データとしては、描画オブジェクトのそれぞれの種類（グラフィック、イメージ、文字）についての「頻度」や１ページあたりの描画命令ＣＭ１の「スプール用領域使用量」
が挙げられる。加えて、描画オブジェクトがグラフィックの場合には、「曲線図形」であるか「直線図形」であるかで分類され、それぞれについての「頻度」や１ページあたりの描画命令ＣＭ１の「スプール用領域使用量」が学習データとして記憶される。また、「曲線図形」である場合には、「単数」であるか「複数」であるかで分類され、それぞれについての「頻度」や１ページあたりの描画命令ＣＭ１の「スプール用領域使用量」が学習データとして記憶される。描画オブジェクトがイメージの場合には、「写真」であるか「写真以外」であるかで分類され、それぞれについての「頻度」や１ページあたりの描画命令ＣＭ１の「スプール用領域使用量」が学習データとして記憶される。また、「写真」である場合には、「イメージ回転なし」であるか「イメージ回転あり」であるかで分類され、それぞれについての「頻度」や１ページあたりの描画命令ＣＭ１の「スプール用領域使用量」が学習データとして記憶される。描画オブジェクトが文字の場合には、「ダウンロードフォント」であるか「デバイスフォント」であるかで分類され、それぞれについての「頻度」や１ページあたりの描画命令ＣＭ１の「スプール用領域使用量」が学習データとして記憶される。また、「ダウンロードフォント」である場合には、「アウトラインフォント」であるか「ビットマップフォント」であるかで分類され、それぞれについての「頻度」や１ページあたりの描画命令ＣＭ１の「スプール用領域使用量」が学習データとして記憶される。このように描画命令を細かく分類することにより、アプリケーションプログラムの特徴に合わせた学習データとすることができる。
【０１００】
一方、描画オブジェクト以外に関する学習データとしては、「画像サイズ」、「同時にスプールしなければならないデータの有無」、「ページ回転の有無」などが挙げられる。「画像サイズ」を学習データとするのは、ページのデータ量は画像サイズに比例すると考えられるからである。「同時にスプールしなければならないデータの有無」を学習データとするのは、次の理由による。処理上、必ず同じスプールフェーズで処理を行なわなければならないデータがあり、このような場合には、スプール用領域を多めにとらなければならないからである。「ページ回転の有無」を学習データとするのは、次の理由による。小型のプリンタでは給紙方向が決まっていることが多い。例えば、Ａ４縦のみを給紙できるプリンタの場合に表計算ソフトウェアばかりを使用するケースではページの回転処理が多くなり、このような場合には、スプール用領域を多めにとらなければならないからである。
【０１０１】
図６−２に示すように、後処理部４８における学習データ例としては、描画命令ＣＭ１の中間データ毎の「頻度」や１ページあたりの描画命令ＣＭ１の「スプール用領域使用量」が挙げられる。加えて、描画命令ＣＭ１の中間データがグラフィックの場合には、「描画」であるか「クリップ」であるかで分類され、それぞれについての「頻度」や１ページあたりの描画命令ＣＭ１の「スプール用領域使用量」が学習データとして記憶される。また、描画命令ＣＭ１の中間データが写真イメージの場合には、「描画」のみが分類され、「頻度」や１ページあたりの描画命令ＣＭ１の「スプール用領域使用量」が学習データとして記憶される。描画命令ＣＭ１の中間データが文字の場合には、「描画」であるか「クリップ」であるかで分類され、それぞれについての「頻度」や１ページあたりの描画命令ＣＭ１の「スプール用領域使用量」が学習データとして記憶される。描画命令ＣＭ１の中間データが透過を指定するマスクの場合には、「クリップ」のみが分類され、「頻度」や１ページあたりの描画命令ＣＭ１の「スプール用領域使用量」が学習データとして記憶される。このように「描画」の「頻度」や「スプール用領域使用量」を学習データとするのは、スプール用領域と空き領域との必要な割合を得るためである。「クリップ」の「頻度」や「スプール用領域使用量」を学習データとするのは、描画とクリップでは作業メモリ量が大きく異なる場合があるからである。
【０１０２】
なお、学習データとしては、過去の学習データを統計した統計情報を用いるようにしても良い。これにより、これまでの学習データを保存し、統計をとったデータを利用することで、更に適切なスプール用領域量を求めることができる。また、学習データ容量も削減される。
【０１０３】
ここで、図７は学習データメモリ５１に記憶される学習データの形式例を示す模式図である。図７に示す学習データの形式例は、学習データである１ページあたりの描画命令ＣＭ１の「スプール用領域使用量」の正規分布の平均、正規分布の分散および母集団数、さらに、全ての学習データを統計した情報の正規分布の平均、正規分布の分散およびページ数で構成されている。
【０１０４】
ここで、適正な中間メモリ４６の領域量の計算・設定処理を含む描画処理の流れについて説明する。図８は、描画処理の流れを概略的に示すフローチャートである。図８に示すように、各ページの描画処理開始時には、適正な中間メモリ４６の領域量の計算／設定処理を行う（ステップＳ１）。適正な中間メモリ４６の領域量の計算／設定処理は、学習データメモリ５１に記憶される学習データに基づいて行なわれる。
【０１０５】
ここで、適正な中間メモリ４６の領域量の計算／設定処理について説明する。例えば、図７に示したような学習データを学習データメモリ５１に記憶している場合には、図９に示すように、過去の学習データを統計した情報の正規分布において、９０％の確率で全スプールが可能となる大きさのスプール用領域の設定を行なう。このように、学習データとして過去の学習データの統計情報として記憶し、この過去の学習データの統計情報に基づくことにより、適正な中間メモリ４６の領域量を求めることができる。
【０１０６】
続くスプールフェーズにおいては、ＰＤＬ解析処理部４２から送られた描画命令ＣＭ１を読み取り（ステップＳ２）、描画命令ＣＭ１に対してデバイス情報データＤＤに従って所定の画像処理（例えば、ＲＧＢからＣＭＹへの色変換処理、ＢＧ／ＵＣＲ処理、ガンマ補正処理、総量規制処理、描画オブジェクトの回転処理、データ形式の変換処理など）を行ない（ステップＳ３）、前処理で実行した各種の画像処理情報及びスプール用領域への記憶情報（スプール用領域使用量）を学習データとして学習データメモリ５１に書き込むとともに（ステップＳ４：学習データ記憶手段）、画像処理（前処理）後の描画命令ＣＭ１をスプール用領域である中間メモリ４６に記憶する（ステップＳ５）。
【０１０７】
以上のステップＳ２〜Ｓ５の処理は、スプール用領域である中間メモリ４６が満杯になったと判断されるまで（ステップＳ６のＹ）、繰り返される。そして、スプール用領域である中間メモリ４６が満杯になったと判断された場合には（ステップＳ６のＹ）、デスプールフェーズに移行する。
【０１０８】
デスプールフェーズにおいては、中間メモリ４６に記憶された描画命令ＣＭ１（描画命令ＣＭ１の中間データ）を読み込み（ステップＳ７）、描画命令ＣＭ１（描画命令ＣＭ１の中間データ）に対して所定の画像処理（例えば、スキャン変換処理（座標で表した図形データのランへの変更）、ディザリング処理、ＲＯＰ（色の論理演算処理）、ビットマップイメージへの展開処理など）を行ない（ステップＳ８）、後処理で実行した各種の画像処理情報を学習データとして学習データメモリ５１に書き込むとともに（ステップＳ９：学習データ記憶手段）、印刷描画イメージをページメモリ２６の各バンドメモリに書き込んでいく（ステップＳ８）。
【０１０９】
以上のステップＳ７〜Ｓ１０の処理は、スプール用領域である中間メモリ４６が空になったと判断されるまで（ステップＳ１１のＹ）、繰り返される。
【０１１０】
そして、スプール用領域である中間メモリ４６が空になったと判断された場合には（ステップＳ１１のＹ）、ページ内の描画データが残っていれば（ステップＳ１２のＹ）、ページ内の残りの描画データについてステップＳ１からの処理を繰り返す。また、ページ内の描画データが残っていなくとも（ステップＳ１２のＮ）、次のページがある場合は（ステップＳ１３のＹ）、次のページについてステップＳ１からの処理を繰り返す。
【０１１１】
このように本実施の形態によれば、各ページの処理では、「前処理」「スプール用領域への記憶」「後処理」において実行した各種の画像処理に関する情報を学習データとして、スプール用領域である中間メモリ４６に記憶することにより、この中間メモリ４６に記憶されている学習データに基づいて中間メモリ４６の領域量を決定することにより、限られたメモリ領域の中で、中間メモリ４６におけるスプール／デスプール処理回数を改善することができ、描画処理の高速化を図ることができる。また、学習データは、過去に実行した各種の画像処理情報及び中間メモリ４６への記憶情報であるスプール用領域使用量であることにより、過去に実行した各種の画像処理情報及び中間メモリ４６への記憶情報であるスプール用領域使用量などの過去の処理データはこれから処理するデータとの関連がある可能性が高いことから、過去のデータを利用することで、より適切なスプール用領域量を求めることができる。さらに、学習データは、現在処理している描画命令に係るページよりも前のページに関するデータであることにより、現在処理している描画命令に係るページの前のページは、関連がある可能性がより高いことから、前ページのデータを利用することで、より適切なスプール用領域量を求めることができる。さらにまた、学習データは、同一の印刷ジョブ（同一ファイルから作成された１〜複数ページからなる描画データ）内において処理を行ったページに関するデータであることにより、同一の印刷ジョブでは、同じアプリケーション、同じフォーマットや目的で作成されている可能性が高く、各ページ間の関連性が非常に高いことが多いことから、同一印刷ジョブのデータを利用することで、より適切なスプール用領域量を求めることができる。
【０１１２】
なお、本実施の形態においては、パーソナルコンピュータ１０１に対してＵＳＢケーブル１０３により直接接続されているプリンタ装置１０２を適用したが、これに限るものではなく、図１０に示すように、ＬＡＮ１０４を介してパーソナルコンピュータ１０１に接続されるネットワーク型のプリンタ装置についても適用することができる。
【０１１３】
また、文書印刷機能のみを備えたプリンタ装置１０２またはネットワーク型のプリンタ装置のみならず、いわゆる複合機についても適用することができる。
【０１１４】
（第２の実施の形態）
本発明の第２の実施の形態を図１１および図１２に基づいて説明する。なお、前述した第１の実施の形態と同一部分は同一符号で示し説明も省略する。第１の実施の形態では、過去に画像処理を行なった描画命令に関する情報を学習データとして学習データメモリ５１に記憶するようにしたが、本実施の形態は、印刷ジョブの基になったファイルの種類に関する情報を学習データとして学習データメモリ５１に記憶するようにした点で異なるものである。
【０１１５】
図１１は、本実施の形態の描画処理の流れを概略的に示すフローチャートである。図１１に示すように、本実施の形態においては、印刷ジョブ開始時に、ファイル種類の判別処理を行い（ステップＳ２１）、その判別結果（ファイル種類）を学習データに記憶するとともに、判別結果（ファイル種類）に応じた学習データを設定し（ステップＳ２２）、ステップＳ１における適正な中間メモリ４６の領域量の計算／設定処理時に、ファイル種類に関する学習結果を取り入れる点が第１の実施の形態とは異なっている。
【０１１６】
ここで、ファイル種類の学習例について説明する。図１２は、学習データメモリ５１に記憶されるファイル種類の学習データの形式例を示す模式図である。図１２に示すように、学習データはファイル種類毎に分かれている。例えば、JPEGのようなイメージファイルならばイメージオブジェクトのみ、Visio（Microsoft Corporation の商標）のような製図およびダイアグラム作成ソフトウェアにより作成されたファイルならばグラフィックオブジェクトが多いといった特徴がある。すなわち、製図およびダイアグラム作成ソフトウェアにより作成されたファイルではスプール用領域が多く必要となる描画命令が多いため、このような製図およびダイアグラム作成ソフトウェアにより作成されたファイルの学習データは、「スプール用領域を多く取る方が良い」となる。なお、ファイルの種類については、印刷データ作成時に、印刷するファイル名をＰＪＬ（プリンタジョブ言語）に記載し、そのＰＪＬを読み込むこと取得することができる。
【０１１７】
このように本実施の形態によれば、学習データは、印刷ジョブの基となったファイルの種類に関する情報であることにより、ファイルの種類により、印刷データ内容やアプリケーションの作成する印刷データに特徴があることから、ファイル種類に依存した学習データを作成することで、ファイル毎により適切なスプール用領域量を求めることができる。
【０１１８】
（第３の実施の形態）
本発明の第３の実施の形態を図１３および図１４に基づいて説明する。なお、前述した第１の実施の形態と同一部分は同一符号で示し説明も省略する。第１の実施の形態では、スプールフェーズ時におけるスプール用領域である中間メモリ４６の領域量は一定であったが、本実施の形態は、スプールフェーズ時にスプール用領域である中間メモリ４６が満杯になった場合、スプール用領域拡張処理を行ない、動的にスプール用領域である中間メモリ４６を拡張するようにした点で異なるものである。
【０１１９】
図１３は、本実施の形態のプリンタ装置１０２が備えるシステム制御部２１が発揮する特徴的な機能にかかる機能ブロック図である。図１３に示すように、本実施の形態の描画処理部４３は、第１の実施の形態で説明した構成に加えて、スプール用領域拡張手段として機能するスプール用領域拡張部６０を備えている。スプール用領域拡張部６０は、学習データメモリ５１に記憶されている学習データやスプール／デスプール処理部４７からのスプール用領域への記憶情報（スプール用領域使用量）を基に、スプール用領域である中間メモリ４６の領域を拡張するスプール用領域拡張処理を実行する。
【０１２０】
図１４は、本実施の形態の描画処理の流れを概略的に示すフローチャートである。図１４に示すように、本実施の形態においては、スプールフェーズで画像処理（前処理）後の描画命令ＣＭ１をスプール用領域である中間メモリ４６に記憶し（ステップＳ５）、中間メモリ４６が満杯になったと判断した場合には（ステップＳ３１のＹ）、既に中間メモリ４６が拡張済である場合を除き（ステップＳ３２のＮ）、スプール用領域である中間メモリ４６を拡張するスプール用領域拡張処理を行い（ステップＳ３３）、動的にスプール用領域を拡張する点が第１の実施の形態とは異なっている。
【０１２１】
拡張する領域量の計算方法としては、下記式に示すように、描画命令ＣＭ１毎のメモリ使用量のバランスから、システムメモリ２２の未使用メモリ領域の確保割合を求める方法がある。
【数１】
2006218819.tif 000003
【０１２２】
なお、スプール用領域拡張部６０においては、描画命令ＣＭ１の種類に応じて拡張するか否かを判断するようにしても良い。ここに、判断手段が実現されている。例えば、描画命令ＣＭ１がグラフィックオブジェクトの場合には、それほど大きな量を拡張しなくても良いことから拡張を許可し、描画命令ＣＭ１がイメージオブジェクトでは、大きな量を拡張しなくてはならないことから拡張を不許可とする、ことが考えられる。
【０１２３】
このように本実施の形態によれば、描画処理中に中間メモリ４６が満杯になった場合に、学習データメモリ５１に記憶されている学習データや共通図形描画命令のスプール用領域使用量を基に、中間メモリ４６の領域を拡張することにより、求めたスプール用領域量は推定量であるため、実際に処理を行った際にスプール用領域から溢れる場合があるが、このような場合に使用されていないメモリを利用してスプール用領域を拡張することで、スプールできる描画命令の量が増加し、処理を高速化することができる。
【０１２４】
また、本実施の形態によれば、描画命令毎に中間メモリ４６から溢れた際のオーバーヘッドが異なることから、共通図形描画命令の種類に応じて、中間メモリ４６の領域を拡張するか否かを判断することにより、より効果的に中間メモリ４６の拡張処理を行うことができる。
【０１２５】
（第４の実施の形態）
本発明の第４の実施の形態を図１５に基づいて説明する。なお、前述した第１の実施の形態または第２の実施の形態と同一部分は同一符号で示し説明も省略する。第１の実施の形態または第２の実施の形態では、ページ記述言語（ＰＤＬ）を用いて記述された印刷情報ＰＬをプリンタ装置１０２に直接入力し、プリンタ装置１０２の描画処理部４３においてページ記述言語（ＰＤＬ）の図形描画命令を解析し、その解析により認識された描画オブジェクトで構成される印刷描画イメージを生成してページメモリに保存する方法を説明した。本実施の形態は、インクジェットプリンタのように高機能な処理機能を有さないページプリンタを用いる場合を想定したものであって、インクジェットプリンタを利用するパーソナルコンピュータに実装されるプリンタドライバにページ記述言語（ＰＤＬ）の解析機能を実行させ、その解析機能により生成されてページメモリに保存された印刷描画イメージを、パーソナルコンピュータからインクジェットプリンタへ転送する方法を説明する。
【０１２６】
このようにインクジェットプリンタをプリンタ装置１０２に適用した場合には、当然のことながら、プリンタ装置１０２のプリンタエンジン２７は、周知のインクジェット方式の印刷技術を利用してデータを記録媒体上に印刷出力するものである。
【０１２７】
本実施の形態のパーソナルコンピュータ１０１は、第１の実施の形態で説明したパーソナルコンピュータ１０１と基本的には同一であるため、その説明は省略する。ただし、磁気ディスク装置８には、アプリケーションプログラムであるインクジェットプリンタ用のプリンタドライバが記憶されている点で異なるものである。このようなプリンタドライバは、ＣＤ−ＲＯＭ１０に保存されているものがＣＤ−ＲＯＭ装置９により読み出されて、パーソナルコンピュータ１０１に取り込まれたり、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることによりパーソナルコンピュータ１０１に取り込まれる。
【０１２８】
このようなプリンタドライバに従ってパーソナルコンピュータ１０１のＣＰＵ１が動作することにより、パーソナルコンピュータ１０１は画像処理装置として機能することになる。
【０１２９】
ここで、磁気ディスク装置８に記憶されているプリンタドライバがＣＰＵ１に実行させる特徴的な機能について説明する。
【０１３０】
図１５は、本実施の形態のパーソナルコンピュータ１０１にインストールされているプリンタドライバがＣＰＵ１に実行させる特徴的な機能にかかる機能ブロック図である。図１５に示すように、パーソナルコンピュータ１０１は、ＣＰＵ１が磁気ディスク装置８に記憶されているプリンタドライバに従うことにより、データ入力手段として機能するＰＤＬ入力処理部７１と、コマンド解析手段として機能するＰＤＬ解析処理部７２と、描画処理手段として機能する描画処理部７３と、データ出力手段として機能するデータ出力部６５とを実現する。
【０１３１】
ＰＤＬ入力処理部７１は、アプリケーションプログラム（ワードプロセッサソフトやページレイアウトソフト）で作成されたページ記述言語（ＰＤＬ）で記述された印刷情報の入力を受け付けるものであり、受け付けられた印刷情報は、ＰＤＬ解析処理部７２へ送られる。
【０１３２】
ＰＤＬ解析処理部７２は、印刷情報ＰＬを構成するページ記述言語（ＰＤＬ）を解析し、描画オブジェクトのそれぞれの種類（文字、グラフィック、イメージ）に対応した描画命令ＣＭ１および印刷を指令する印刷命令ＣＭ２を形成して、描画処理部６３へ出力する。ここで、描画命令ＣＭ１および印刷命令ＣＭ２は、描画処理部６３が解析可能な共通図形描画命令である。描画命令ＣＭ１としては、例えば、描画範囲指定コマンドや描画色指定コマンドなどが挙げられる。
【０１３３】
描画処理部７３は、ＰＤＬ解析処理部７２から送られた描画命令ＣＭ１を受け取り、各種の画像処理を実行して印刷描画イメージを形成し、その印刷描画イメージをページメモリ（図示せず）に格納する。ここで、描画処理部７３で行なわれる画像処理は、ＲＧＢからＣＭＹへの色変換処理、ＢＧ／ＵＣＲ処理、ガンマ補正処理、総量規制処理、描画オブジェクトの回転処理、データ形式の変換処理、スキャン変換処理（座標で表した図形データのランへの変更）、ディザリング処理、ＲＯＰ（色の論理演算処理）、ビットマップイメージへの展開処理などである。
【０１３４】
本実施の形態の描画処理部７３は、図１５に示すように、描画命令ＣＭ１に対して所定の画像処理を行なう前処理部７５と、描画命令ＣＭ１のスプール用領域である中間メモリ７６と、中間メモリ７６に対する描画命令ＣＭ１のスプール／デスプール処理を行なうスプール／デスプール処理部７７と、中間メモリ７６から抽出した描画命令ＣＭ１（描画命令ＣＭ１の中間データ）に対して所定の画像処理を行なう後処理部７８と、描画命令ＣＭ１（描画命令ＣＭ１の中間データ）に対する各種の画像処理後にページメモリ（図示せず）に描画を行なうメモリ描画処理部７９とを備えている。ここで、中間メモリ７６及びページメモリは、描画処理部７３の動作によりＲＡＭ３に形成される領域である。また、スプール処理は描画命令ＣＭ１を中間メモリ７６に記憶する処理、デスプール処理は中間メモリ７６に記憶された描画命令ＣＭ１（描画命令ＣＭ１の中間データ）を順次抽出する処理である。前処理部７５は、例えば、ＲＧＢからＣＭＹへの色変換処理、ＢＧ／ＵＣＲ処理、ガンマ補正処理、総量規制処理、描画オブジェクトの回転処理、データ形式の変換処理を行なう。一方、後処理部４８は、例えば、スキャン変換処理（座標で表した図形データのランへの変更）、ディザリング処理、ＲＯＰ（色の論理演算処理）、ビットマップイメージへの展開処理を行なう。より詳細には、前処理部７５は、ＰＤＬ解析処理部７２からの描画命令ＣＭ１とプリンタエンジン２７の印刷機能、用紙サイズおよび用紙方向等の種々のデバイス情報データＤＤとを取得し、取得した描画命令ＣＭ１に対してデバイス情報データＤＤに従って所定の画像処理を行ない、画像処理後の描画命令ＣＭ１を中間メモリ７６に記憶する。その際、前処理部７５で行なった画像処理を情報として付加する。その後、１ページ分の描画処理が終了したら、後処理部７８は、中間メモリ７６に記憶された描画命令ＣＭ１を順次抽出し、デバイス情報データＤＤに従って、付加された前処理部７５で行なった画像処理情報に基づいて残りの画像処理を描画命令ＣＭ１に対して行なう。
【０１３５】
その後、描画処理部７３は、データ出力部７４に対して、適宜なタイミングで印刷要求ＰＰを出力し、ページメモリの印刷描画イメージをプリンタ装置１０２に送信する。
【０１３６】
加えて、本実施の形態の描画処理部７３は、図１５に示すように、描画命令のスプール用領域である中間メモリ７６の領域量を決定するスプール用領域計算部８０と、前処理部７５および後処理部７８で実行した各種の画像処理情報を学習データとして記憶する記憶部である学習データメモリ８１とを備えている。学習データメモリ８１は、描画処理部７３の動作によりＲＡＭ３に形成される領域である。スプール用領域計算部８０は、学習データメモリ８１に記憶されている学習データを基に、適正な中間メモリ７６の領域量を計算して設定する。
【０１３７】
なお、学習データメモリ５１に記憶される学習データ、中間メモリ７６の領域量の計算・設定処理を含む描画処理については、第１の実施の形態または第２の実施の形態で説明したので、ここでの説明は省略する。
【０１３８】
このように本実施の形態によれば、各ページの処理では、「前処理」「スプール用領域への記憶」「後処理」において実行した各種の画像処理に関する情報を学習データとして、スプール用領域である中間メモリ４６に記憶することにより、この中間メモリ４６に記憶されている学習データに基づいて中間メモリ４６の領域量を決定することにより、限られたメモリ領域の中で、中間メモリ４６におけるスプール／デスプール処理回数を改善することができ、描画処理の高速化を図ることができる。また、学習データは、過去に実行した各種の画像処理情報及び中間メモリ４６への記憶情報であるスプール用領域使用量であることにより、過去に実行した各種の画像処理情報及び中間メモリ４６への記憶情報であるスプール用領域使用量などの過去の処理データはこれから処理するデータとの関連がある可能性が高いことから、過去のデータを利用することで、より適切なスプール用領域量を求めることができる。さらに、学習データは、現在処理している描画命令に係るページよりも前のページに関するデータであることにより、現在処理している描画命令に係るページの前のページは、関連がある可能性がより高いことから、前ページのデータを利用することで、より適切なスプール用領域量を求めることができる。さらにまた、学習データは、同一の印刷ジョブ（同一ファイルから作成された１〜複数ページからなる描画データ）内において処理を行ったページに関するデータであることにより、同一の印刷ジョブでは、同じアプリケーション、同じフォーマットや目的で作成されている可能性が高く、各ページ間の関連性が非常に高いことが多いことから、同一印刷ジョブのデータを利用することで、より適切なスプール用領域量を求めることができる。
【０１３９】
（第５の実施の形態）
本発明の第５の実施の形態を図１６に基づいて説明する。なお、前述した第１ないし第４の実施の形態と同一部分は同一符号で示し説明も省略する。第４の実施の形態では、スプールフェーズ時におけるスプール用領域である中間メモリ７６の領域量は一定であったが、本実施の形態は、スプールフェーズ時にスプール用領域である中間メモリ７６が満杯になった場合、スプール用領域拡張処理を行ない、動的にスプール用領域である中間メモリ７６を拡張するようにした点で異なるものである。
【０１４０】
図１６は、本実施の形態のパーソナルコンピュータ１０１にインストールされているプリンタドライバがＣＰＵ１に実行させる特徴的な機能にかかる機能ブロック図である。図１６に示すように、本実施の形態の描画処理部７３は、第４の実施の形態で説明した構成に加えて、スプール用領域拡張手段として機能するスプール用領域拡張部９０を備えている。スプール用領域拡張部９０は、学習データメモリ８１に記憶されている学習データやスプール／デスプール処理部７７からのスプール用領域への記憶情報（スプール用領域使用量）を基に、スプール用領域である中間メモリ７６のスプール用領域拡張処理を実行する。
【０１４１】
なお、中間メモリ７６の領域量の計算・設定処理を含む描画処理については、第３の実施の形態で説明したので、ここでの説明は省略する。
【０１４２】
このように本実施の形態によれば、描画処理中に中間メモリ４６が満杯になった場合に、学習データメモリ５１に記憶されている学習データや共通図形描画命令のスプール用領域使用量を基に、中間メモリ４６の領域を拡張することにより、求めたスプール用領域量は推定量であるため、実際に処理を行った際にスプール用領域から溢れる場合があるが、このような場合に使用されていないメモリを利用してスプール用領域を拡張することで、スプールできる描画命令の量が増加し、処理を高速化することができる。
【０１４３】
また、本実施の形態によれば、描画命令毎に中間メモリ４６から溢れた際のオーバーヘッドが異なることから、共通図形描画命令の種類に応じて、中間メモリ４６の領域を拡張するか否かを判断することにより、より効果的に中間メモリ４６の拡張処理を行うことができる。
【図面の簡単な説明】
【０１４４】
【図１】本発明の第１の実施の形態にかかる画像形成装置を含む印刷システムの構成を示すブロック図である。
【図２】パーソナルコンピュータの構成の一例を示すブロック図である。
【図３】プリンタ装置の構成の一例を示すブロック図である。
【図４】プリンタ装置が備えるシステム制御部が発揮する特徴的な機能にかかる機能ブロック図である。
【図５】描画処理部における描画処理の概要を示す説明図である。
【図６−１】前処理部における学習データ例を示す説明図である。
【図６−２】後処理部における学習データ例を示す説明図である。
【図７】学習データメモリに記憶される学習データの形式例を示す模式図である。
【図８】描画処理の流れを概略的に示すフローチャートである。
【図９】過去の学習データを統計した情報の正規分布を示す図である。
【図１０】印刷システムの構成の変形例を示すブロック図である。
【図１１】本発明の第２の実施の形態にかかる描画処理の流れを概略的に示すフローチャートである。
【図１２】学習データメモリに記憶されるファイル種類の学習データの形式例を示す模式図である。
【図１３】本発明の第３の実施の形態にかかるプリンタ装置が備えるシステム制御部が発揮する特徴的な機能にかかる機能ブロック図である。
【図１４】描画処理の流れを概略的に示すフローチャートである。
【図１５】本発明の第４の実施の形態にかかるパーソナルコンピュータにインストールされているプリンタドライバがＣＰＵに実行させる特徴的な機能にかかる機能ブロック図である。
【図１６】本発明の第５の実施の形態にかかるパーソナルコンピュータにインストールされているプリンタドライバがＣＰＵに実行させる特徴的な機能にかかる機能ブロック図である。
【図１７】レーザプリンタにおけるページ記述言語の図形描画命令の解析からその解析により認識された描画オブジェクトで構成される印刷描画イメージの生成からページメモリへの保存までの流れを示す機能ブロック図である。
【符号の説明】
【０１４５】
２６      ページメモリ
４１      データ入力手段
４２      コマンド解析手段
４３      描画処理手段
４４      画像形成手段
４６      スプール用領域
５０      スプール用領域計算手段
５１      記憶部
６０      スプール用領域拡張手段
７１      データ入力手段
７２      コマンド解析手段
７３      描画処理手段
７４      データ出力手段
７６      スプール用領域
８０      スプール用領域計算手段
８１      記憶部
９０      スプール用領域拡張手段
１０１    画像処理装置、画像出力制御装置
１０２    画像形成装置
【図１】
2006218819.tif 000004
【図２】
2006218819.tif 000005
【図３】
2006218819.tif 000006
【図４】
2006218819.tif 000007
【図５】
2006218819.tif 000008
【図６−１】
2006218819.tif 000009
【図６−２】
2006218819.tif 000010
【図７】
2006218819.tif 000011
【図８】
2006218819.tif 000012
【図９】
2006218819.tif 000013
【図１０】
2006218819.tif 000014
【図１１】
2006218819.tif 000015
【図１２】
2006218819.tif 000016
【図１３】
2006218819.tif 000017
【図１４】
2006218819.tif 000018
【図１５】
2006218819.tif 000019
【図１６】
2006218819.tif 000020
【図１７】
2006218819.tif 000021