(57)【特許請求の範囲】
【請求項１】
ページ記述言語形式のデータを解析して中間言語データを生成する解析処理と、前記解析処理により生成された中間言語データに基づいて描画用のデータを生成する描画処理のいずれも実行可能であって、前記解析処理と前記描画処理とを切り替えていずれか一方を実行する複数のコアと、
前記中間言語データ及び描画用のデータを記憶する記憶部と、を備え、
前記複数のコアは、各コアによる前記解析処理又は前記描画処理を並行して実行し、
前記複数のコアのうち、前記解析処理を実行する少なくともいずれか一つのコアは、前記記憶部の空き容量に関する情報を取得し、前記記憶部の空き容量に関する情報及び所定の設定値に基づいて、実行中の前記解析処理を中断して前記描画処理を実行することを特徴とする画像処理装置。
【請求項２】
前記ページ記述言語形式のデータは、複数のページを有し、
前記複数のコアはそれぞれ、異なるページの前記解析処理を実行し、
前記複数のコアのうち、前記解析処理を実行する少なくともいずれか一つのコアは、前記複数のコアがそれぞれ実行する解析処理のページ番号を取得し、取得したページ番号のうち、先頭のページ番号以外のページの解析処理を実行中である場合、前記記憶部の空き容量に関する情報及び所定の設定値に基づいて、実行中の前記解析処理を中断して前記描画処理を実行することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記複数のコアのうち、前記解析処理を中断した第２のコアは、前記解析処理を中断後、前記取得したページ番号のうち先頭のページ番号である第１のページの描画処理を実行し、
前記第２のコアが前記解析処理を中断した際、前記第１のページの解析処理を実行中であった第１のコアと、前記第２のコアが、前記第１のページの解析処理と前記第１のページの描画処理とをそれぞれ並行して実行することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記第２のコアは、前記第１のコアによる前記第１のページの解析処理によって前記記憶部に記憶された前記中間言語データの描画処理を完了すると、中断時に実行中であった前記先頭のページ番号以外のページである第２のページの解析処理を再開し、
前記第１のコアと前記第２のコアが、前記第１のページの解析処理と前記第２のページの解析処理とをそれぞれ並行して実行することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記第１のコアは、前記第１のページの解析処理を完了すると、当該第１のページの描画処理を実行し、
前記第２のコアは、前記第１のコアによる前記第１のページの解析処理が完了すると、実行中の前記第２のページの解析処理を中断して前記第１のページの描画処理を実行し、
前記第１のコアと前記第２のコアが、前記第１のページの描画処理をそれぞれ並行して実行することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記記憶部の空き容量に関する情報は、前記中間言語データを記憶するために使用されている前記記憶部の記憶容量に関する情報を含み、前記所定の設定値は、前記中間言語データを記憶するために割り当て可能な前記記憶部の記憶容量における閾値を示すことを特徴とする請求項１〜５のいずれか一項に記載の画像処理装置。
【請求項７】
前記記憶部の空き容量に関する情報は、前記解析処理によって生成された全ての前記中間言語データのデータ容量の合計値と、前記描画処理を施された後に削除された全ての前記中間言語データのデータ容量の合計値と、を含み、
前記複数のコアのうち、前記解析処理を実行する少なくともいずれか一つのコアは、前記解析処理によって生成された全ての前記中間言語データのデータ容量の合計値と、前記描画処理を施された後に削除された全ての前記中間言語データのデータ容量の合計値と、に基づいて、前記中間言語データを記憶するために使用されている前記記憶部の記憶容量を算出し、算出された前記中間言語データを記憶するために使用されている前記記憶部の記憶容量と前記所定の設定値とを比較することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
ページ記述言語形式のデータを解析して中間言語データを生成する解析処理と、前記解析処理により生成された中間言語データに基づいて描画用のデータを生成する描画処理のいずれも実行可能であって、前記解析処理と前記描画処理とを切り替えていずれか一方を実行する複数のコアを備えたコンピュータを、
前記複数のコアにより、各コアによる前記解析処理又は前記描画処理を並行して実行させる第１の手段、
前記複数のコアのうち、前記解析処理を実行する少なくともいずれか一つのコアにより、前記中間言語データ及び描画用のデータを記憶する記憶部の空き容量に関する情報を取得し、前記記憶部の空き容量に関する情報及び所定の設定値に基づいて、実行中の前記解析処理を中断して前記描画処理を実行させる第２の手段、
として機能させるためのプログラム。
【請求項９】
前記ページ記述言語形式のデータは、複数のページを有し、
前記第１の手段は、前記複数のコアのそれぞれにより、異なるページの前記解析処理を実行させ、
前記第２の手段は、前記複数のコアのうち、前記解析処理を実行する少なくともいずれか一つのコアにより、前記複数のコアがそれぞれ実行する解析処理のページ番号を取得し、取得したページ番号のうち、先頭のページ番号以外のページの解析処理を実行中である場合、前記記憶部の空き容量に関する情報及び所定の設定値に基づいて、実行中の前記解析処理を中断して前記描画処理を実行させることを特徴とする請求項８に記載のプログラム。
【請求項１０】
前記第２の手段は、前記複数のコアのうち、前記解析処理を中断した第２のコアにより、前記解析処理を中断後、前記取得したページ番号のうち先頭のページ番号である第１のページの描画処理を実行させ、
前記第１の手段は、前記第２のコアが前記解析処理を中断した際、前記第１のページの解析処理を実行中であった第１のコアと、前記第２のコアにより、前記第１のページの解析処理と前記第１のページの描画処理とをそれぞれ並行して実行させることを特徴とする請求項９に記載のプログラム。
【請求項１１】
前記第２の手段は、前記第２のコアにより、前記第１のコアによる前記第１のページの解析処理によって前記記憶部に記憶された前記中間言語データの描画処理を完了すると、中断時に実行中であった前記先頭のページ番号以外のページである第２のページの解析処理を再開させ、
前記第１の手段は、前記第１のコアと前記第２のコアにより、前記第１のページの解析処理と前記第２のページの解析処理とをそれぞれ並行して実行させることを特徴とする請求項１０に記載のプログラム。
【請求項１２】
前記第２の手段は、前記第１のページの解析処理が完了すると、前記第１のコアにより当該第１のページの描画処理を実行させ、前記第２のコアにより実行中の前記第２のページの解析処理を中断して前記第１のページの描画処理を実行させ、
前記第１の手段は、前記第１のコアと前記第２のコアにより、前記第１のページの描画処理をそれぞれ並行して実行させることを特徴とする請求項１１に記載のプログラム。
【請求項１３】
前記記憶部の空き容量に関する情報は、前記中間言語データを記憶するために使用されている前記記憶部の記憶容量に関する情報を含み、前記所定の設定値は、前記中間言語データを記憶するために割り当て可能な前記記憶部の記憶容量における閾値を示すことを特徴とする請求項８〜１２のいずれか一項に記載のプログラム。
【請求項１４】
前記記憶部の空き容量に関する情報は、前記解析処理によって生成された全ての前記中間言語データのデータ容量の合計値と、前記描画処理を施された後に削除された全ての前記中間言語データのデータ容量の合計値と、を含み、
前記第２の手段は、前記複数のコアのうち、前記解析処理を実行する少なくともいずれか一つのコアにより、前記解析処理によって生成された全ての前記中間言語データのデータ容量の合計値と、前記描画処理を施された後に削除された全ての前記中間言語データのデータ容量の合計値と、に基づいて、前記中間言語データを記憶するために使用されている前記記憶部の記憶容量を算出し、算出された前記中間言語データを記憶するために使用されている前記記憶部の記憶容量と前記所定の設定値とを比較させることを特徴とする請求項１３に記載のプログラム。
【請求項１５】
ページ記述言語形式のデータを解析して中間言語データを生成する解析処理と、前記解析処理により生成された中間言語データに基づいて描画用のデータを生成する描画処理のいずれも実行可能であって、前記解析処理と前記描画処理とを切り替えていずれか一方を実行する複数のコアが、各コアによる前記解析処理又は前記描画処理を並行して実行する工程と、
記憶部が前記中間言語データ及び描画用のデータを記憶する工程と、
前記複数のコアのうち、前記解析処理を実行する少なくともいずれか一つのコアが、前記記憶部の空き容量に関する情報を取得し、前記記憶部の空き容量に関する情報及び所定の設定値に基づいて、実行中の前記解析処理を中断して前記描画処理を実行する工程と、
を有することを特徴とする画像処理方法。
【請求項１６】
前記ページ記述言語形式のデータは、複数のページを有し、
前記複数のコアはそれぞれ、異なるページの前記解析処理を実行し、
前記複数のコアのうち、前記解析処理を実行する少なくともいずれか一つのコアは、前記複数のコアがそれぞれ実行する解析処理のページ番号を取得し、取得したページ番号のうち、先頭のページ番号以外のページの解析処理を実行中である場合、前記記憶部の空き容量に関する情報及び所定の設定値に基づいて、実行中の前記解析処理を中断して前記描画処理を実行することを特徴とする請求項１５に記載の画像処理方法。
【請求項１７】
前記複数のコアのうち、前記解析処理を中断した第２のコアは、前記解析処理を中断後、前記取得したページ番号のうち先頭のページ番号である第１のページの描画処理を実行し、
前記第２のコアが前記解析処理を中断した際、前記第１のページの解析処理を実行中であった第１のコアと、前記第２のコアが、前記第１のページの解析処理と前記第１のページの描画処理とをそれぞれ並行して実行することを特徴とする請求項１６に記載の画像処理方法。
【請求項１８】
前記第２のコアは、前記第１のコアによる前記第１のページの解析処理によって前記記憶部に記憶された前記中間言語データの描画処理を完了すると、中断時に実行中であった前記先頭のページ番号以外のページである第２のページの解析処理を再開し、
前記第１のコアと前記第２のコアが、前記第１のページの解析処理と前記第２のページの解析処理とをそれぞれ並行して実行することを特徴とする請求項１７に記載の画像処理方法。
【請求項１９】
前記第１のコアは、前記第１のページの解析処理を完了すると、当該第１のページの描画処理を実行し、
前記第２のコアは、前記第１のコアによる前記第１のページの解析処理が完了すると、実行中の前記第２のページの解析処理を中断して前記第１のページの描画処理を実行し、
前記第１のコアと前記第２のコアが、前記第１のページの描画処理をそれぞれ並行して実行することを特徴とする請求項１８に記載の画像処理方法。
【請求項２０】
前記記憶部の空き容量に関する情報は、前記中間言語データを記憶するために使用されている前記記憶部の記憶容量に関する情報を含み、前記所定の設定値は、前記中間言語データを記憶するために割り当て可能な前記記憶部の記憶容量における閾値を示すことを特徴とする請求項１５〜１９のいずれか一項に記載の画像処理方法。
【請求項２１】
前記記憶部の空き容量に関する情報は、前記解析処理によって生成された全ての前記中間言語データのデータ容量の合計値と、前記描画処理を施された後に削除された全ての前記中間言語データのデータ容量の合計値と、を含み、
前記複数のコアのうち、前記解析処理を実行する少なくともいずれか一つのコアが、前記解析処理によって生成された全ての前記中間言語データのデータ容量の合計値と、前記描画処理を施された後に削除された全ての前記中間言語データのデータ容量の合計値と、に基づいて、前記中間言語データを記憶するために使用されている前記記憶部の記憶容量を算出し、算出された前記中間言語データを記憶するために使用されている前記記憶部の記憶容量と前記所定の設定値とを比較することを特徴とする請求項２０に記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、プログラム及び画像処理方法に関する。
【背景技術】
【０００２】
近年、プロセッサコア等の演算部（以下、コアと称す）が一つのパッケージ内に複数集積されて構成され、各コアに処理を分散させて並列処理を行うことにより、処理性能を向上させたマルチコアプロセッサが開発されている。
【０００３】
特に、ＭＦＰ（Multi Function Printer）やプリンタ等の画像形成装置において、このマルチコアプロセッサを用いて各処理を各コアに割り当てて並列処理を実行することにより、プリント処理の高速化を図ることが提案されている。
例えば、中間言語データに基づいて描画用のデータを生成する描画処理（ラスタライズ処理）を、複数のコアによって並列処理する画像形成装置が開示されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−８７１３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の画像形成装置は、中間言語データを生成する解析処理を一つのコアで行っている。このため、中間言語データの生成を完了するまで他のコアが処理待ち状態となり、複数のコアを有効活用することができない場合がある。
【０００６】
そこで、解析処理を複数のコアで並行させることが考えられる。解析処理は、ページ記述言語（以下、ＰＤＬ：Page Description Language）形式のデータを、ページ単位で解析して中間言語データを生成する処理である。
【０００７】
複数のコアによって解析処理を行った場合、コア数に応じたページ分の中間言語データが生成されるため、中間言語データを記憶するために必要なメモリ容量が大きくなることが想定される。
しかし、大容量メモリの採用やメモリの増設は、画像形成装置のコスト増をもたらす。
メモリ容量を補うため、メモリに比して記憶容量に対するコストが安価な記憶装置（例えばハードディスクドライブ等）を用い、生成された中間言語データを当該記憶装置に退避する方法も考えられる。しかし、退避処理は画像形成に関係しない割り込み処理であり、画像形成装置の処理速度低下を招く。加えて、このような記憶装置は書き込み／読み出し速度がメモリに比して非常に遅いため、データの書き込み／読み出しに多大な時間を要することにより、画像形成装置のさらなる処理速度低下を招く。
よって、画像形成装置のコスト増や処理速度低下を生じさせずに解析処理を複数のコアで並行させるためには、メモリを有効活用する仕組みが要求されるものと想定される。
【０００８】
本発明は、メモリを有効活用して解析処理を複数のコアで並行させることを目的とする。
【課題を解決するための手段】
【０００９】
請求項１の記載の発明による画像処理装置は、ページ記述言語形式のデータを解析して中間言語データを生成する解析処理と、前記解析処理により生成された中間言語データに基づいて描画用のデータを生成する描画処理のいずれも実行可能であって、前記解析処理と前記描画処理とを切り替えていずれか一方を実行する複数のコアと、前記中間言語データ及び描画用のデータを記憶する記憶部と、を備え、前記複数のコアは、各コアによる前記解析処理又は前記描画処理を並行して実行し、前記複数のコアのうち、前記解析処理を実行する少なくともいずれか一つのコアは、前記記憶部の空き容量に関する情報を取得し、前記記憶部の空き容量に関する情報及び所定の設定値に基づいて、実行中の前記解析処理を中断して前記描画処理を実行することを特徴とする。
【００１０】
請求項２に記載の発明は、請求項１に記載の画像処理装置であって、前記ページ記述言語形式のデータは、複数のページを有し、前記複数のコアはそれぞれ、異なるページの前記解析処理を実行し、前記複数のコアのうち、前記解析処理を実行する少なくともいずれか一つのコアは、前記複数のコアがそれぞれ実行する解析処理のページ番号を取得し、取得したページ番号のうち、先頭のページ番号以外のページの解析処理を実行中である場合、前記記憶部の空き容量に関する情報及び所定の設定値に基づいて、実行中の前記解析処理を中断して前記描画処理を実行することを特徴とする。
請求項３に記載の発明は、請求項２に記載の画像処理装置であって、前記複数のコアのうち、前記解析処理を中断した第２のコアは、前記解析処理を中断後、前記取得したページ番号のうち先頭のページ番号である第１のページの描画処理を実行し、前記第２のコアが前記解析処理を中断した際、前記第１のページの解析処理を実行中であった第１のコアと、前記第２のコアが、前記第１のページの解析処理と前記第１のページの描画処理とをそれぞれ並行して実行することを特徴とする。
請求項４に記載の発明は、請求項３に記載の画像処理装置であって、前記第２のコアは、前記第１のコアによる前記第１のページの解析処理によって前記記憶部に記憶された前記中間言語データの描画処理を完了すると、中断時に実行中であった前記先頭のページ番号以外のページである第２のページの解析処理を再開し、前記第１のコアと前記第２のコアが、前記第１のページの解析処理と前記第２のページの解析処理とをそれぞれ並行して実行することを特徴とする。
請求項５に記載の発明は、請求項４に記載の画像処理装置であって、前記第１のコアは、前記第１のページの解析処理を完了すると、当該第１のページの描画処理を実行し、前記第２のコアは、前記第１のコアによる前記第１のページの解析処理が完了すると、実行中の前記第２のページの解析処理を中断して前記第１のページの描画処理を実行し、前記第１のコアと前記第２のコアが、前記第１のページの描画処理をそれぞれ並行して実行することを特徴とする。
【００１１】
請求項６に記載の発明は、請求項１〜５のいずれか一項に記載の画像処理装置であって、前記記憶部の空き容量に関する情報は、前記中間言語データを記憶するために使用されている前記記憶部の記憶容量に関する情報を含み、前記所定の設定値は、前記中間言語データを記憶するために割り当て可能な前記記憶部の記憶容量における閾値を示すことを特徴とする。
【００１２】
請求項７に記載の発明は、請求項６に記載の画像処理装置であって、前記記憶部の空き容量に関する情報は、前記解析処理によって生成された全ての前記中間言語データのデータ容量の合計値と、前記描画処理を施された後に削除された全ての前記中間言語データのデータ容量の合計値と、を含み、前記複数のコアのうち、前記解析処理を実行する少なくともいずれか一つのコアは、前記解析処理によって生成された全ての前記中間言語データのデータ容量の合計値と、前記描画処理を施された後に削除された全ての前記中間言語データのデータ容量の合計値と、に基づいて、前記中間言語データを記憶するために使用されている前記記憶部の記憶容量を算出し、算出された前記中間言語データを記憶するために使用されている前記記憶部の記憶容量と前記所定の設定値とを比較することを特徴とする。
【００１３】
請求項８に記載の発明によるプログラムは、ページ記述言語形式のデータを解析して中間言語データを生成する解析処理と、前記解析処理により生成された中間言語データに基づいて描画用のデータを生成する描画処理のいずれも実行可能であって、前記解析処理と前記描画処理とを切り替えていずれか一方を実行する複数のコアを備えたコンピュータを、前記複数のコアにより、各コアによる前記解析処理又は前記描画処理を並行して実行させる第１の手段、前記複数のコアのうち、前記解析処理を実行する少なくともいずれか一つのコアにより、前記中間言語データ及び描画用のデータを記憶する記憶部の空き容量に関する情報を取得し、前記記憶部の空き容量に関する情報及び所定の設定値に基づいて、実行中の前記解析処理を中断して前記描画処理を実行させる第２の手段、として機能させることを特徴とする。
【００１４】
請求項９に記載の発明は、請求項８に記載のプログラムであって、前記ページ記述言語形式のデータは、複数のページを有し、前記第１の手段は、前記複数のコアのそれぞれにより、異なるページの前記解析処理を実行させ、前記第２の手段は、前記複数のコアのうち、前記解析処理を実行する少なくともいずれか一つのコアにより、前記複数のコアがそれぞれ実行する解析処理のページ番号を取得し、取得したページ番号のうち、先頭のページ番号以外のページの解析処理を実行中である場合、前記記憶部の空き容量に関する情報及び所定の設定値に基づいて、実行中の前記解析処理を中断して前記描画処理を実行させることを特徴とする。
請求項１０に記載の発明は、請求項９に記載のプログラムであって、前記第２の手段は、前記複数のコアのうち、前記解析処理を中断した第２のコアにより、前記解析処理を中断後、前記取得したページ番号のうち先頭のページ番号である第１のページの描画処理を実行させ、前記第１の手段は、前記第２のコアが前記解析処理を中断した際、前記第１のページの解析処理を実行中であった第１のコアと、前記第２のコアにより、前記第１のページの解析処理と前記第１のページの描画処理とをそれぞれ並行して実行させることを特徴とする。
請求項１１に記載の発明は、請求項１０に記載のプログラムであって、前記第２の手段は、前記第２のコアにより、前記第１のコアによる前記第１のページの解析処理によって前記記憶部に記憶された前記中間言語データの描画処理を完了すると、中断時に実行中であった前記先頭のページ番号以外のページである第２のページの解析処理を再開させ、前記第１の手段は、前記第１のコアと前記第２のコアにより、前記第１のページの解析処理と前記第２のページの解析処理とをそれぞれ並行して実行させることを特徴とする。
請求項１２に記載の発明は、請求項１１に記載のプログラムであって、前記第２の手段は、前記第１のページの解析処理が完了すると、前記第１のコアにより当該第１のページの描画処理を実行させ、前記第２のコアにより実行中の前記第２のページの解析処理を中断して前記第１のページの描画処理を実行させ、前記第１の手段は、前記第１のコアと前記第２のコアにより、前記第１のページの描画処理をそれぞれ並行して実行させることを特徴とする。
【００１５】
請求項１３に記載の発明は、請求項８〜１２のいずれか一項に記載のプログラムであって、前記記憶部の空き容量に関する情報は、前記中間言語データを記憶するために使用されている前記記憶部の記憶容量に関する情報を含み、前記所定の設定値は、前記中間言語データを記憶するために割り当て可能な前記記憶部の記憶容量における閾値を示すことを特徴とする。
【００１６】
請求項１４に記載の発明は、請求項１３に記載のプログラムであって、前記記憶部の空き容量に関する情報は、前記解析処理によって生成された全ての前記中間言語データのデータ容量の合計値と、前記描画処理を施された後に削除された全ての前記中間言語データのデータ容量の合計値と、を含み、前記第２の手段は、前記複数のコアのうち、前記解析処理を実行する少なくともいずれか一つのコアにより、前記解析処理によって生成された全ての前記中間言語データのデータ容量の合計値と、前記描画処理を施された後に削除された全ての前記中間言語データのデータ容量の合計値と、に基づいて、前記中間言語データを記憶するために使用されている前記記憶部の記憶容量を算出し、算出された前記中間言語データを記憶するために使用されている前記記憶部の記憶容量と前記所定の設定値とを比較させることを特徴とする。
【００１７】
請求項１５に記載の発明による画像処理方法は、ページ記述言語形式のデータを解析して中間言語データを生成する解析処理と、前記解析処理により生成された中間言語データに基づいて描画用のデータを生成する描画処理のいずれも実行可能であって、前記解析処理と前記描画処理とを切り替えていずれか一方を実行する複数のコアが、各コアによる前記解析処理又は前記描画処理を並行して実行する工程と、記憶部が前記中間言語データ及び描画用のデータを記憶する工程と、前記複数のコアのうち、前記解析処理を実行する少なくともいずれか一つのコアが、前記記憶部の空き容量に関する情報を取得し、前記記憶部の空き容量に関する情報及び所定の設定値に基づいて、実行中の前記解析処理を中断して前記描画処理を実行する工程と、を有することを特徴とする。
【００１８】
請求項１６に記載の発明は、請求項１５に記載の画像処理方法であって、前記ページ記述言語形式のデータは、複数のページを有し、前記複数のコアはそれぞれ、異なるページの前記解析処理を実行し、前記複数のコアのうち、前記解析処理を実行する少なくともいずれか一つのコアは、前記複数のコアがそれぞれ実行する解析処理のページ番号を取得し、取得したページ番号のうち、先頭のページ番号以外のページの解析処理を実行中である場合、前記記憶部の空き容量に関する情報及び所定の設定値に基づいて、実行中の前記解析処理を中断して前記描画処理を実行することを特徴とする。
請求項１７に記載の発明は、請求項１６に記載の画像処理方法であって、前記複数のコアのうち、前記解析処理を中断した第２のコアは、前記解析処理を中断後、前記取得したページ番号のうち先頭のページ番号である第１のページの描画処理を実行し、前記第２のコアが前記解析処理を中断した際、前記第１のページの解析処理を実行中であった第１のコアと、前記第２のコアが、前記第１のページの解析処理と前記第１のページの描画処理とをそれぞれ並行して実行することを特徴とする。
請求項１８に記載の発明は、請求項１７に記載の画像処理方法であって、前記第２のコアは、前記第１のコアによる前記第１のページの解析処理によって前記記憶部に記憶された前記中間言語データの描画処理を完了すると、中断時に実行中であった前記先頭のページ番号以外のページである第２のページの解析処理を再開し、前記第１のコアと前記第２のコアが、前記第１のページの解析処理と前記第２のページの解析処理とをそれぞれ並行して実行することを特徴とする。
請求項１９に記載の発明は、請求項１８に記載の画像処理方法であって、前記第１のコアは、前記第１のページの解析処理を完了すると、当該第１のページの描画処理を実行し、前記第２のコアは、前記第１のコアによる前記第１のページの解析処理が完了すると、実行中の前記第２のページの解析処理を中断して前記第１のページの描画処理を実行し、前記第１のコアと前記第２のコアが、前記第１のページの描画処理をそれぞれ並行して実行することを特徴とする。
【００１９】
請求項２０に記載の発明は、請求項１５〜１９のいずれか一項に記載の画像処理方法であって、前記記憶部の空き容量に関する情報は、前記中間言語データを記憶するために使用されている前記記憶部の記憶容量に関する情報を含み、前記所定の設定値は、前記中間言語データを記憶するために割り当て可能な前記記憶部の記憶容量における閾値を示すことを特徴とする。
【００２０】
請求項２１に記載の発明は、請求項２０に記載の画像処理方法であって、前記記憶部の空き容量に関する情報は、前記解析処理によって生成された全ての前記中間言語データのデータ容量の合計値と、前記描画処理を施された後に削除された全ての前記中間言語データのデータ容量の合計値と、を含み、前記複数のコアのうち、前記解析処理を実行する少なくともいずれか一つのコアが、前記解析処理によって生成された全ての前記中間言語データのデータ容量の合計値と、前記描画処理を施された後に削除された全ての前記中間言語データのデータ容量の合計値と、に基づいて、前記中間言語データを記憶するために使用されている前記記憶部の記憶容量を算出し、算出された前記中間言語データを記憶するために使用されている前記記憶部の記憶容量と前記所定の設定値とを比較することを特徴とする。
【発明の効果】
【００２１】
本発明によれば、メモリを有効活用して解析処理を複数のコアで並行させることができる。
【図面の簡単な説明】
【００２２】
【図１】本発明による画像処理装置を有する画像形成装置を含むネットワーク構成図である。
【図２】コンピュータの主要構成を示すブロック図である。
【図３】画像形成装置の主要構成を示すブロック図である。
【図４】画像形成装置による画像処理の工程及び機能の一例を示す機能ブロック図である。
【図５】情報管理テーブルの一例を示す図である。
【図６】解析処理の中断を生じる経過の一例を示す図である。図６（Ａ）は、コアＡが１ページ目の解析処理を開始し、コアＢが２ページ目の解析処理を開始する例を示す図である。図６（Ｂ）は、コアＢが解析処理を中断して１ページ目のＤＬデータ６１に基づくラスタライズ処理を行う例を示す図である。図６（Ｃ）は、コアＡが１ページ目のＤＬデータ６１に基づくラスタライズ処理をコアＢと並行して実行する例を示す図である。
【図７】情報管理テーブルに基づく解析処理の中断判定処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下、図を参照して本発明の実施の形態の例を詳細に説明する。
図１は、本発明による画像処理装置を有する画像形成装置１を含むネットワーク構成図である。
【００２４】
画像形成装置１、１、１は、回線３を介してコンピュータ２、２と通信可能に接続されている。
回線３は、画像形成装置１、１、１及びコンピュータ２、２によるネットワークを構成する。回線３は、コンピュータ２、２及び画像形成装置１、１、１を通信可能に接続するものであればその形態を問わない。例えば、回線３は、イーサネット（登録商標）、同軸ケーブル、光ファイバー等の有線接続回線や、無線通信を実現するための各種規格等、そのいずれか又は複数の組み合わせによってよい。また、回線３は、ＬＡＮ（Local Area Network）、インターネット、その他のネットワーク規模を問わない。
【００２５】
図２は、コンピュータ２の主要構成を示すブロック図である。
コンピュータ２、２はそれぞれ、ＣＰＵ１１、ＲＡＭ１２、ＲＯＭ１３、ストレージデバイス１４、入力インタフェース（Ｉ／Ｆ）１５、出力Ｉ／Ｆ１６及び通信装置１７を備え、これらの各構成はバス２０により接続される。
【００２６】
ＣＰＵ１１は、ＲＯＭ１３内に記憶されたプログラムと協働し、ＲＡＭ１２に展開されたプログラムやデータ等に従ってコンピュータ２の動作制御を行う。
ＲＡＭ１２は、ＣＰＵ１１の処理によって展開されたデータや、当該処理によって一時的に生じたデータ等を格納する。
ＲＯＭ１３は、ＣＰＵ１１によって読み出されるプログラムやデータ等を記憶する。
【００２７】
ストレージデバイス１４は、ＣＰＵ１１によって読み出されるプログラムやデータ等を記憶する。ストレージデバイス１４は、プログラムやデータ等を書き換え可能な記憶装置である。ストレージデバイス１４は、例えばフラッシュメモリやハードディスクドライブ、その他の書き換え可能な記憶装置又はそれらの記憶装置の組合せ等によって構成される。
【００２８】
入力Ｉ／Ｆ１５は、外部入力装置１８による入力を受け付けるインタフェースである。外部入力装置１８は、例えばキーボードやマウス等であり、ユーザの手動操作により入力指示が行われる。
【００２９】
出力Ｉ／Ｆ１６は、外部出力装置１９に対する出力を行うインタフェースである。外部出力装置１９は、例えばＣＲＴや液晶ディスプレイ等の表示装置等であり、ＣＰＵ１１の処理結果に基づいた出力画面を表示する。
【００３０】
通信装置１７は、コンピュータ２を外部の通信回線（例えば回線３）と接続し、外部の機器との通信を可能とする。通信装置１７は、例えばＮＩＣ（Network Interface Card）等であり、通信回線の種類に応じた接続を可能とする装置を用いることができる。
【００３１】
図３は、画像形成装置１の主要構成を示すブロック図である。図１に示す画像形成装置１、１、１は全て同じ構成によるので、以下一つの画像形成装置１について説明する。
画像形成装置１は、ＣＰＵ２１、ＲＡＭ２２、ＲＯＭ２３、ストレージデバイス２４、入力Ｉ／Ｆ２５、画像印刷部２６、通信装置２７を備え、これらの各構成はバス３０により接続される。
【００３２】
ＣＰＵ２１は、ＲＯＭ２３内に記憶されたプログラムと協働し、ＲＡＭ２２に展開されたプログラムやデータ等に従って画像形成装置１の動作制御を行う。ＣＰＵ２１は、複数の演算部（コア）を有する。本実施形態のＣＰＵ２１は、二つのコア（コアＡ、コアＢ）を有する。
ＲＡＭ２２は、ＣＰＵ２１の処理によって展開されたデータや、当該処理によって一時的に生じたデータ等を格納する記憶部として機能する。
ＲＯＭ２３は、ＣＰＵ２１によって読み出されるプログラムやデータ等を記憶する。
【００３３】
ストレージデバイス２４は、ＣＰＵ２１によって読み出されるプログラムやデータ等を記憶する。ストレージデバイス２４は、プログラムやデータ等を書き換え可能な記憶装置である。ストレージデバイス２４は、例えばフラッシュメモリやハードディスクドライブ、その他の書き換え可能な記憶装置又はそれらの記憶装置の組合せ等によって構成される。
【００３４】
入力Ｉ／Ｆ２５は、外部入力装置２９等の入力装置による入力を受け付けるインタフェースである。外部入力装置２９は、例えばタッチパネルディスプレイを有する入力パネル等であり、ユーザの手動操作により入力指示が行われる。
【００３５】
画像印刷部２６は、後述する印字データ６２に基づいて画像形成（印刷）を行う。
画像印刷部２６に採用可能な印刷方式として、例えば電子写真方式やインクジェット方式、熱転写方式、オフセット等が挙げられる。本実施形態では、画像印刷部２６は、電子写真方式による画像形成を行うための構成を有する。
【００３６】
通信装置２７は、画像形成装置１を外部の通信回線（例えば回線３）と接続し、外部の機器との通信を可能とする。通信装置２７は、例えばＮＩＣ（Network Interface Card）等であり、通信回線の種類に応じた接続を可能とする装置を用いることができる。
【００３７】
次に、画像形成装置１による画像処理について説明する。
図４は、画像形成装置１による画像処理の工程及び機能の一例を示す機能ブロック図である。ＣＰＵ２１は、ＲＯＭ２３内に記憶されたプログラムと協働し、解析処理部５２や描画処理部５３として機能する。
まず、コンピュータ２からプリントジョブが送信される（図４の３１）。プリントジョブは、ＰＤＬ形式のデータを含む。複数のページに渡る印刷を行うためのプリントジョブのＰＤＬ形式のデータは、ページ単位に区切ることができる。
プリントジョブはネットワーク５０を介して転送され、画像形成装置１のネットワーク受信処理部５１によって受信される（図４の３２）。ネットワーク５０は、回線３によるコンピュータ２と画像形成装置１との通信接続により構築される。ネットワーク受信処理部５１は、画像形成装置１の通信装置２７による機能である。
【００３８】
ネットワーク受信処理部５１によって受信されたプリントジョブは、解析処理部５２に対して入力され（図４の３３）、解析処理部５２によって解析処理を施される。解析処理部５２は、ＰＤＬ形式のデータに基づいて中間言語データを生成する。本実施形態の解析処理部５２は、中間言語データとしてディスプレイリスト（以下、ＤＬ：Display List）データ６１を生成する。
解析処理部５２は、生成したＤＬデータ６１をＲＡＭ２２へ格納する（図４の３４）。
【００３９】
ＲＡＭ２２に１ページ分の印刷内容に対応した分のＤＬデータ６１が格納されると、解析処理部５２による処理から描画処理部５３による処理へと移行する（図４の３５）。なお、１ページ分の印刷内容とは、例えば所定サイズ（例えばＡ４サイズ等）の用紙１ページ分の印刷内容等を指す。
【００４０】
描画処理部５３は、中間言語データに基づいて描画用のデータを生成する描画処理（ラスタライズ処理）を行う（図４の３６）。本実施形態の描画処理部５３は、ＤＬデータ６１に基づき、描画用のデータとして印字データ６２を生成する。
印字データ６２は、それ以上の加工や処理を要することなく画像印刷部２６による印刷出力を可能とする印刷用のビットマップデータ、或いはこのビットマップデータを圧縮した圧縮ビットマップデータである。印字データ６２は、１ページを所定のバンド数に分割したバンド単位で生成される。１ページ分の印字データ６２の生成完了後、当該ページに対応するＤＬデータ６１は削除される。
描画処理部５３は、生成した印字データ６２をＲＡＭ２２へ格納する（図４の３７）。
【００４１】
ＲＡＭ２２に格納された印字データ６２は、画像印刷部２６へ入力され（図４の３８）、印刷出力される（図４の３９）。印字データ６２の印刷出力が終了すると、印刷出力された内容に対応する印字データ６２がＲＡＭ２２から削除される。
【００４２】
プリントジョブによる印刷内容が複数ページにわたる場合、ページ数に応じて解析処理以降の処理が繰り返される。
このように、画像形成装置１のＣＰＵ２１、ＲＡＭ２２及びＲＯＭ２３は、協働により、画像処理装置として機能する。
ＣＰＵ２１が有する複数のコアのそれぞれは、解析処理部５２又は描画処理部５３として機能することができる。つまり、複数のコアのそれぞれが行う解析処理同士、ラスタライズ処理同士又は解析処理とラスタライズ処理とを並行させることができる。
【００４３】
次に、解析処理に伴うＲＡＭ２２の記憶容量の管理について説明する。
ＣＰＵ２１は、情報管理テーブルを生成する。情報管理テーブルは、各コアが解析処理部５２として機能するにあたり各コアが解析処理を行うページのページ番号と、ＲＡＭ２２の空き容量に関する情報とを管理するためのテーブルデータである。
【００４４】
図５は、情報管理テーブルの一例を示す図である。
情報管理テーブルは、処理ページ番号、ＤＬ合計サイズ及び処理済みＤＬ合計サイズのレコードを有する。
処理ページ番号は、各コアに割り当てているページ番号を示す。図５に示す例では、コアＡが１ページ目の解析処理を割り当てられ、コアＢが２ページ目の解析処理を割り当てられている。
ＤＬ合計サイズ及び処理済みＤＬ合計サイズは、ＤＬデータ６１を記憶するために使用されているＲＡＭ２２の記憶容量に関する情報を含む。ＤＬ合計サイズは、現在処理中のプリントジョブに基づいて生成された全てのＤＬデータ６１のデータ容量の合計値である。処理済みＤＬ合計サイズは、ラスタライズ処理を完了した全てのＤＬデータ６１のデータ容量の合計値を示す。処理済みＤＬ合計サイズは、削除されたＤＬデータ６１のデータ容量の合計値を示す。
図５に示す例では、メガバイト（ＭＢ）単位でＤＬ合計サイズ及び処理済ＤＬ合計サイズを管理しているが、単位は適宜変更することができる。
【００４５】
ＣＰＵ２１の各コアはそれぞれ、解析処理部５２として機能させるにあたり、異なるページの解析処理を行う。そして、各コアはそれぞれ、解析処理を行うページのページ番号を処理ページ番号に設定する。
各コアの解析処理に伴い、各コアが行う解析処理によって生成された全てのＤＬデータ６１のデータ容量の合計値が、ＤＬ合計サイズに設定される。
また、各コアのラスタライズ処理に伴い、ラスタライズ処理を完了した全てのＤＬデータ６１のデータ容量の合計値が、処理済みＤＬ合計サイズに設定される。
【００４６】
各コアはそれぞれ、ＤＬ合計サイズの値と処理済みＤＬ合計サイズの値との差分を、ＤＬデータ６１を記憶するために使用されているＲＡＭ２２の記憶容量（以下「ＤＬ使用領域サイズ」と記載）として算出する。
そして、各コアはそれぞれ、算出されたＤＬ使用領域サイズと、所定の設定値とを比較する。
【００４７】
所定の設定値は、ＤＬデータ６１を記憶するために割り当て可能なＲＡＭ２２の記憶容量における閾値を示す値である。
所定の設定値には、任意の値を用いることができるが、ＲＡＭ２２の記憶容量以下であって、ＣＰＵ２１が行う他の処理に支障をきたさないＤＬデータ６１の記憶容量の最大値（最大容量）に基づいて決定されることが望ましい。例えば、本実施形態では、ＤＬデータ６１を記憶するために割り当て可能なＲＡＭ２２の最大容量として５０[ＭＢ]が設定され、所定の設定値として３０[ＭＢ]が設定されている。
ＤＬ使用領域サイズは、ＤＬデータ６１を記憶するために使用されているＲＡＭ２２の記憶容量を示す値であるので、ＤＬ使用領域サイズの値の大小はＲＡＭ２２の空き容量の大小と対応する。よって、ＤＬ使用領域サイズ算出の基となるＤＬ合計サイズ及び処理済みＤＬ合計サイズは、ＲＡＭ２２の空き容量に関する情報である。
【００４８】
各コアはそれぞれ、ＤＬ使用領域サイズと所定の設定値との比較結果に基づいて、各コア自身（以下「自コア」と記載）が実行する解析処理を中断させてラスタライズ処理を実行させるための処理を行う。本実施形態では、ＤＬ使用領域サイズが所定の設定値以上となった場合に、処理ページ番号に設定されたページ番号のうち最も先頭のページ番号以外に対応するページの解析処理を行っているコアが、自コアの実行する解析処理を中断してラスタライズ処理を実行する。本実施形態では、解析処理を中断したコアは、ＲＡＭ２２に記憶されているＤＬデータ６１のうち、最も先頭のページ番号に対応するＤＬデータ６１の解析処理を行う。
【００４９】
図６は、解析処理の中断を生じる経過の一例を示す図である。図６（Ａ）は、コアＡが１ページ目の解析処理を開始し、コアＢが２ページ目の解析処理を開始する例を示す図である。図６（Ｂ）は、コアＢが解析処理を中断して１ページ目のＤＬデータ６１に基づくラスタライズ処理を行う例を示す図である。図６（Ｃ）は、コアＡが１ページ目のＤＬデータ６１に基づくラスタライズ処理をコアＢと並行して実行する例を示す図である。
例えば、図６（Ａ）に示すように、コアＡが１ページ目の解析処理を開始し、コアＢが２ページ目の解析処理を開始する場合について例示する。この場合、コアが二つであり、コアＡは１ページ目、コアＢは２ページ目の解析処理を行っているので、最も先頭のページ番号以外に対応するページの解析処理を行っているコアはコアＢとなる。情報管理テーブルにおいて、コアＡの処理ページ番号には１が、コアＢの処理ページ番号には２が設定される。開始時点でのＤＬ合計サイズ及び処理済みＤＬ合計サイズは共に０[ＭＢ]である。
【００５０】
各コアが並行して行う解析処理によって各ページのＤＬデータ６１が生成され、ＲＡＭ２２に記憶される。ＤＬデータ６１はページ単位のデータとして生成されるが、生成途中のＤＬデータはリアルタイムにＲＡＭ２２に記憶される。各コアによって生成されてＲＡＭ２２に記憶されたＤＬデータ６１のデータ容量は、情報管理テーブルのＤＬ合計サイズに反映される。この時点では、処理済みＤＬ合計サイズが０[MB]なので、ＤＬ使用領域サイズはＤＬ合計サイズに等しい。
【００５１】
ＤＬ使用領域サイズが所定の設定値（例えば３０[ＭＢ]）以上になると、図６（Ｂ）に示すように、コアＢは、解析処理を中断して、既にＲＡＭ２２に記憶されている１ページ目のＤＬデータ６１に基づくラスタライズ処理を実行する。
また、既にＲＡＭ２２に記憶されている１ページ目のＤＬデータ６１に基づくラスタライズ処理の完了後、コアＢは、当該ラスタライズ処理の実行前に行っていた解析処理を再開する。
【００５２】
その後、コアＡによる１ページ目の解析処理が完了すると、図６（Ｃ）に示すように、コアＡは、当該１ページ目のＤＬデータ６１に基づくラスタライズ処理を行う。このとき、コアＢは、コアＡと並行してラスタライズ処理を実行する。
【００５３】
その後、１ページ目のラスタライズ処理が完了すると、１ページ目のＤＬデータ６１が削除され、削除された１ページ目のＤＬデータ６１のデータ容量が処理済みＤＬ合計サイズに反映される。これによってＤＬ使用領域サイズが所定の設定値を下回った場合、コアＢは、行っていた２ページ目の解析処理を再開する。コアＡは、３ページ目の解析処理を開始し、情報管理テーブルにおけるコアＡの処理ページ番号を３とする。
以後、全てのページの印刷が完了するまで上記と同様の判定及び処理が繰り返される。
【００５４】
図７のフローチャートを用いて、情報管理テーブルに基づく解析処理の中断判定処理の流れを示す。
中断判定処理は、解析処理中、ＣＰＵ２１の各コアのそれぞれによって行われる。
各コアはそれぞれ、解析処理に伴い、情報管理テーブルの各レコードを更新する（ステップＳ１）。各コアはそれぞれ、情報管理テーブルから全てのコアの処理ページ番号を取得する（ステップＳ２）。各コアはそれぞれ、ステップＳ２で取得した処理ページ番号のうち、自コアの処理ページ番号が最も先頭のページ番号以外であるか否かを判定する（ステップＳ３）。
【００５５】
ステップＳ３の判定において、自コアの処理ページ番号が最も先頭のページ番号以外である場合（ステップＳ３：ＹＥＳ）、そのコアは、情報管理テーブルからＤＬ合計サイズ及び処理済みＤＬ合計サイズを取得する（ステップＳ４）。そのコアは、ステップＳ４で取得したＤＬ合計サイズ及び処理済みＤＬ合計サイズからＤＬ使用領域サイズを算出する（ステップＳ５）。そして、そのコアは、ステップＳ５で算出したＤＬ使用領域サイズが所定の設定値以上であるか否か判定する（ステップＳ６）。ＤＬ使用領域サイズが所定の設定値以上である場合（ステップＳ６：ＹＥＳ）、そのコアは、自コアの解析処理を中断し、ＲＡＭ２２に記憶されているＤＬデータ６１のうち最も先頭のページ番号に対応するＤＬデータ６１のラスタライズ処理へ移行し（ステップＳ７）、中断判定処理を終了する。
【００５６】
ステップＳ３の判定において、自コアの処理ページ番号が最も先頭のページ番号である場合（ステップＳ３：ＮＯ）及びステップＳ６の判定において、ＤＬ使用領域サイズが所定の設定値以上でない場合（ステップＳ６）、中断判定処理を終了する。
【００５７】
以上、本実施形態によれば、ＣＰＵ２１の各コアはそれぞれ、ＲＡＭ２２の空き容量に関する情報としてＤＬ合計サイズ及び処理済みＤＬ合計サイズを取得してＤＬ使用領域サイズを算出し、ＤＬ使用領域サイズ及び所定の設定値に基づいて、コアの一つが解析処理を中断してラスタライズ処理を実行する。
これによって、各コアが並列して行う解析処理により生成されるＤＬデータ６１のデータ容量は、コアの一つが解析処理を中断することにより、時間当たりのデータ量増加の度合いが低減される。よって、各コアが並列して行う解析処理により生成されるＤＬデータ６１によってＲＡＭ２２の空き容量が逼迫する可能性が大幅に低減される。
さらに、解析処理を中断したコアはラスタライズ処理を行う。これによって、既にＲＡＭ２２に記憶されているＤＬデータ６１に対するラスタライズ処理の完了を早めることができる。ラスタライズ処理を完了したＤＬデータ６１は削除されるので、ラスタライズ処理の完了を早めることは、ＲＡＭ２２の空き領域を大きくすることに繋がる。
このように、コアの一つが解析処理を中断し、ラスタライズ処理を行うことにより、ＤＬデータ６１の生成に伴うＲＡＭ２２の空き領域の減少スピードを緩和し、かつ、ＤＬデータ６１の削除を促進することができる。
このため、ＲＡＭ２２が大容量でなくとも、退避処理を生じさせずに、複数のコアが並行して解析処理を開始することができる。つまり、メモリを有効活用して解析処理を複数のコアで並行させることができる。
【００５８】
さらに、ＣＰＵ２１の各コアはそれぞれ、全てのコアの処理ページ番号を取得し、最も先頭のページ番号以外に対応するページの解析処理を行っているコアが解析処理を中断してラスタライズ処理を実行する。
これによって、最も先頭のページ番号以外に対応するページの解析処理を行っているコアの解析処理が中断される。一方で、最も先頭のページ番号に対応するページの解析処理を行っているコアの解析処理は継続される。このように、各コアが自律して解析処理の中断の是非を判定することができる。
【００５９】
さらに、所定の設定値は、ＤＬデータ６１を記憶するために割り当て可能なＲＡＭ２２の記憶容量における閾値を示す。これによって、解析処理を中断させる基準値となるＲＡＭ２２の記憶容量を予め定めることができる。
そして、情報管理テーブルには、ＤＬ使用領域サイズを算出することができるＤＬ合計サイズ及び処理済みＤＬ合計サイズが設定されている。これによって、残存するＤＬデータ６１の記憶容量と所定の設定値とに基づいて、ＤＬデータ６１を生成する解析処理を中断するか否かの判定を行うことができる。
【００６０】
さらに、最も先頭のページ番号以外に対応するページの解析処理を行っているコアが、ＤＬ合計サイズの値と処理済みＤＬ合計サイズの値との差分をＤＬ使用領域サイズとして算出し、算出されたＤＬ使用領域サイズと所定の設定値とを比較する。
これによって、残存するＤＬデータ６１の記憶容量と所定の設定値とに基づいて、ＤＬデータ６１を生成する解析処理を中断するか否かの判定を行うことができる。
また、ＤＬ使用領域サイズを算出するのは最も先頭のページ番号以外に対応するページの解析処理を行っているコアのみであるので、他のコアに割り込み処理を生じさせず、その処理能力を解析処理により多く割り振ることができる。
【００６１】
なお、本発明の実施の形態は、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【００６２】
以下、本実施形態の変形例の一例を示す。
例えば、コアの数は二つに限らず、三つ以上でもよい。情報管理テーブルでは、コアの数に応じた処理ページ番号の管理がなされる。例えば、三つのコアを有するＣＰＵの場合、ＤＬ使用領域サイズが所定の設定値以上になると、当該三つのコアにより解析処理を施されているページのページ番号のうち最も先頭のページ番号以外に対応するページの解析処理を行っている二つのコアが解析処理を中断してラスタライズ処理を行う。
また、一つのＣＰＵが複数のコアを有する構成に限らず、複数のＣＰＵを有する画像処理装置に本発明を適用することもできる。複数のＣＰＵの一部又は全部が複数のコアを有していてもよい。
【００６３】
最も先頭のページ番号以外に対応するページの解析処理を行っているコアの判別を、複数のコアのうち一部のコア、例えば特定の一つのコアに行わせるようにしてもよい。さらに、一部のコアに、ＲＡＭ２２の空き容量に関する情報及び所定の設定値に基づく解析処理の中断判定や、解析処理を行っている自コア又は他のコアの解析処理を中断させてラスタライズ処理を実行させる制御をさせるようにしてもよい。
【００６４】
ＲＡＭ２２の空き容量に関する情報は、ＤＬ合計サイズ及び処理済みＤＬ合計サイズに限らない。例えば、ＲＡＭ２２の空き容量そのものを示す情報でもよいし、ＤＬデータ６１に割り当て可能なＲＡＭ２２の記憶容量に対する空き容量を示す情報でもよい。所定の設定値は、ＲＡＭ２２の空き容量に関する情報に応じたものを適宜設定することができる。
これらの変形例は、組み合わせて用いることができる。
【００６５】
以上の説明では、本発明に係るプログラムのコンピュータ読み取り可能な媒体としてＲＯＭを使用した例を開示したが、この例に限定されない。その他のコンピュータ読み取り可能な媒体として、フラッシュメモリ等の不揮発性メモリ、ＣＤ−ＲＯＭ等の可搬型記録媒体を適用することが可能である。
また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウエーブ(搬送波)も本発明に適用される。
【符号の説明】
【００６６】
１     画像形成装置
２     コンピュータ
３     回線
２１   ＣＰＵ
２２   ＲＡＭ
２３   ＲＯＭ
２４   ストレージデバイス
２５   入力Ｉ／Ｆ
２６   画像印刷部
２７   通信装置
２９   外部入力装置
５０   ネットワーク
５１   ネットワーク受信処理部
５２   解析処理部
５３   描画処理部
６１   ＤＬデータ
６２   印字データ
【図１】
0005545050.tif 000002
【図２】
0005545050.tif 000003
【図３】
0005545050.tif 000004
【図４】
0005545050.tif 000005
【図５】
0005545050.tif 000006
【図６】
0005545050.tif 000007
【図７】
0005545050.tif 000008