(57)【要約】      （修正有）【課題】画像形成装置を低消費電力な状態に維持しつつ先行レンダリング処理を実行可能な仕組みを提供する。【解決手段】画像形成装置は、ユーザからの印刷指示前に、留め置きしたＰＤＬデータの少なくとも一部のページを処理して該ページに対応する画像データを生成する先行レンダリング処理を行い、記憶しておく。そして、画像形成装置は、ユーザからの印刷指示に応じて、ＰＤＬデータの印刷処理を、先行レンダリング処理により生成した画像データの情報を用いて実行する。先行レンダリング処理では、ハードウェアレンダリング部ＲＩＰ２５３の起動状態等に応じてハードウェアレンダリング部ＲＩＰ２５３又はソフトウェアレンダリング部（画像データ生成部）を選択し、先行レンダリング処理を行う。【選択図】図８
2019038186.tif 000002
【特許請求の範囲】
【請求項１】
受信した印刷データを保存しておき、ユーザからの印刷指示が入力された場合に前記保存されている印刷データに基づく画像形成を行う画像形成装置であって、
印刷データをハードウェアによりレンダリング処理する第１レンダリング手段と、
印刷データをソフトウェアによりレンダリング処理する第２レンダリング手段と、
前記印刷指示が入力される前に、前記第１レンダリング手段又は前記第２レンダリング手段を用いて、前記保存されている印刷データの少なくとも一部のページを処理して該ページに対応する画像データを生成する先行処理を行う先行処理手段と、
前記先行処理により生成された画像データを、前記印刷データに対応可能に記憶する記憶手段と、
前記保存されている印刷データに対するユーザからの印刷指示に応じて、該印刷データの印刷処理を、該印刷データに対応する画像データを用いて実行する印刷実行手段と、を有し、
前記先行処理手段は、前記画像形成装置の電力状態に応じて前記第１レンダリング手段又は前記第２レンダリング手段を選択して前記先行処理を行うことを特徴とする画像形成装置。
【請求項２】
前記第１レンダリング手段の起動を制御する第１制御手段を有し、
前記先行処理手段は、前記第１レンダリング手段が起動している電力状態では、前記第１レンダリング手段を選択し、前記第１レンダリング手段が起動していない電力状態では、前記第２レンダリング手段を選択することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記先行処理手段は、前記第１レンダリング手段が起動している電力状態であっても、実行中又は実行予定の他のジョブにより前記第１レンダリング手段が使用される場合には、前記第２レンダリング手段を選択することを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記先行処理において、前記第１レンダリング手段により生成された画像データをハードウェアにより所定の形式に圧縮する複数の第１圧縮手段と、
前記先行処理において、前記第１レンダリング手段又は前記第２レンダリング手段により生成された画像データをソフトウェアにより所定の形式に圧縮する第２圧縮手段と、を有し、
前記先行処理手段は、前記第２レンダリング手段が選択されている場合には、前記第２圧縮手段の使用を選択し、前記第１レンダリング手段が選択されている場合には、前記各第１圧縮手段の起動状態に基づき前記いずれかの第１圧縮手段又は前記第２圧縮手段を選択することを特徴とする請求項１〜３のいずれか１項に記載の画像形成装置。
【請求項５】
省電力設定に基づいて前記画像形成装置の電力状態を、第１電力状態、前記第１電力状態よりも省電力の第２電力状態を含む複数の電力状態に遷移させる第２制御手段を有し、
前記第２電力状態において、前記先行処理手段は、前記省電力設定として前記第２電力状態において前記第１レンダリング手段の使用を許可する設定がされている場合には、前記第１レンダリング手段を選択し、前記省電力設定として前記第２電力状態において前記第１レンダリング手段の使用を許可しない設定がされている場合には、前記第２レンダリング手段を選択することを特徴とする請求項１〜４のいずれか１項に記載の画像形成装置。
【請求項６】
前記第２電力状態において印刷データを受信した場合、前記省電力設定として前記第２電力状態において前記先行処理を許可する設定がされている場合に、前記先行処理の実行を予約する予約手段と、を有し、
前記第２電力状態において、前記先行処理手段は、前記予約手段により先行処理の実行が予約されている場合、前記先行処理を行うことを特徴とする請求項５に記載の画像形成装置。
【請求項７】
省電力設定に基づいて前記画像形成装置の電力状態を第１電力状態、前記第１電力状態よりも省電力の第２電力状態を含む複数の電力状態に制御する第２制御手段を有し、
前記第１電力状態において、前記先行処理手段は、前記印刷データから画像データを生成するために必要な時間をページ単位で予測し、前記第２電力状態に移行するまでに、前記第１レンダリング手段を使用した対象ページのレンダリングが完了可能か否かを判定し、完了不可能な場合には、前記第２レンダリング手段を選択し、完了可能な場合には、前記第１レンダリング手段の起動状態に応じて前記第１レンダリング手段又は前記第２レンダリング手段を選択することを特徴とする請求項１〜６のいずれか１項に記載の画像形成装置。
【請求項８】
印刷データをハードウェアによりレンダリング処理する第１レンダリング手段と、印刷データをソフトウェアによりレンダリング処理する第２レンダリング手段を有し、受信した印刷データを保存しておき、ユーザからの印刷指示が入力された場合に前記保存されている印刷データに基づく画像形成を行う画像形成装置の制御方法であって、
前記印刷指示が入力される前に、前記第１レンダリング手段又は前記第２レンダリング手段を用いて、前記保存されている印刷データの少なくとも一部のページを処理して該ページに対応する画像データを生成する先行処理を行う先行処理ステップと、
前記先行処理により生成された画像データを、前記印刷データに対応可能に記憶手段に記憶させるステップと、
前記保存されている印刷データに対するユーザからの印刷指示に応じて、該印刷データの印刷処理を、該印刷データに対応する画像データを用いて実行する印刷実行ステップと、を有し、
前記先行処理ステップでは、前記画像形成装置の電力状態に応じて前記第１レンダリング手段又は前記第２レンダリング手段を選択し、前記先行処理を行うことを特徴とする画像形成装置の制御方法。
【請求項９】
コンピュータに、請求項８に記載の制御方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷ジョブを一度蓄積した後に印刷可能な画像形成装置に関し、特に、画像形成装置の状態に応じたレンダリング処理の制御に関する。
【背景技術】
【０００２】
近年、ネットワーク環境の普及に伴い、複数のユーザで複数の画像形成装置を共有して利用することが一般的になってきた。それに伴い、機密性の高い印刷物を出力する際に、他ユーザに見られないように、画像形成装置でユーザ認証を実行してから印刷実行を行う「留め置き印刷」の要望が高まっている。
【０００３】
留め置き印刷では、ユーザからの印刷指示が入力された後に印刷ジョブのレンダリング処理を開始するため、ユーザの出力待ちが発生する。そのため、ユーザの出力待ちを少なくする仕組みとして、印刷指示が入力される前に、印刷ジョブ内のページ記述言語で記載される印刷データを処理して画像データを生成しておく「先行レンダリング処理」を行う技術がある。
【０００４】
特許文献１には、ソフトウェアによる描画を行うソフトウェアレンダリング処理部と、ハードウェアによる描画を行うハードウェアレンダリング処理部を有する画像形成装置が提案されている。この構成の場合、画像形成装置は内部に有するソフトウェアレンダリング処理部とハードウェアレンダリング処理部のいずれかに先行レンダリング処理を割り当てることができる。
【０００５】
また、特許文献２では、所定の機能を実行可能である場合に、処理に影響を及ぼさない消費電力を低減するモードに画像形成装置を適切に移行させる技術が提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２６９１７９号公報
【特許文献２】特開２０１６−８２２５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、画像形成装置は、スリープ状態の時に印刷ジョブを受ける場合もあり、ハードウェアレンダリング処理部を使用するためには、ハードウェアレンダリング処理部とそれに接続されるハードウェアを起動させる必要がある。一方、画像形成装置は、省エネルギーの観点から、ユーザが一定時間操作しなかった場合などに省電力状態に移行する機能を有するのが一般的になっている。先行レンダリング処理のために画像形成装置をスリープ状態から復帰させると、ユーザの意図しない電力消費が発生してしまうといった課題があった。
【０００８】
本発明は、上記の課題を解決するためになされたものである。本発明の目的は、画像形成装置を低消費電力な状態に維持しつつ先行レンダリング処理を実行可能な仕組みを提供することである。
【課題を解決するための手段】
【０００９】
本発明は、受信した印刷データを保存しておき、ユーザからの印刷指示が入力された場合に前記保存されている印刷データに基づく画像形成を行う画像形成装置であって、印刷データをハードウェアによりレンダリング処理する第１レンダリング手段と、印刷データをソフトウェアによりレンダリング処理する第２レンダリング手段と、前記印刷指示が入力される前に、前記第１レンダリング手段又は前記第２レンダリング手段を用いて、前記保存されている印刷データの少なくとも一部のページを処理して該ページに対応する画像データを生成する先行処理を行う先行処理手段と、前記先行処理により生成された画像データを、前記印刷データに対応可能に記憶する記憶手段と、前記保存されている印刷データに対するユーザからの印刷指示に応じて、該印刷データの印刷処理を、該印刷データに対応する画像データを用いて実行する印刷実行手段と、を有し、前記先行処理手段は、前記画像形成装置の電力状態に応じて前記第１レンダリング手段又は前記第２レンダリング手段を選択して前記先行処理を行うことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、画像形成装置を低消費電力な状態に維持しつつ先行レンダリング処理を実行することができる。
【図面の簡単な説明】
【００１１】
【図１】実施例１のシステム構成及び画像形成装置のハードウェア構成を示す図
【図２】実施例１の画像形成装置が備えるコントローラのハードウェア構成図
【図３】本実施例の印刷システムの印刷処理を示すシーケンス図
【図４】実施例１の印刷ジョブ留め置き処理を説明するフローチャート
【図５】実施例１の先行処理を説明するフローチャート
【図６】実施例１の印刷実行処理を説明するフローチャート
【図７】ユーザ認証後に操作部に表示されるUIの一例を説明する図
【図８】実施例１の対象ページ先行レンダリング処理を説明するフローチャート
【図９】本実施例の画像データ画像圧縮形式選択処理を説明するフローチャート
【図１０】実施例２のシステム構成及び画像形成装置のハードウェア構成を示す図
【図１１】Connected Sleep状態での給電状態を示すブロック図
【図１２】スリープ状態での給電状態を示すブロック図
【図１３】実施例２の印刷ジョブ留め置き処理を説明するフローチャート
【図１４】実施例２の先行処理を説明するフローチャート
【図１５】実施例２の対象ページ先行レンダリング処理を説明するフローチャート
【図１６】実施例２の省電力設定に関わる操作部に表示されるUIの一例を説明する図
【図１７】実施例３の対象ページ先行レンダリング処理を説明するフローチャート
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を用いて説明する。なお、各図において、同一の部材ないし要素については同一の参照番号を付し、重複する説明は省略する。
【実施例１】
【００１３】
図１は、実施例１の画像形成装置を含むシステムの構成及び画像形成装置のハードウェア構成を例示する図である。
【００１４】
図１（Ａ）に示すように、本実施例のシステムでは、ホストコンピュータ101と画像形成装置110とがLAN102を介して接続されている。なお、図１（Ａ）に示すシステムにおいて複数台のコンピュータや画像形成装置が、LAN102に接続されていてもよい。ユーザは、印刷するページ情報を示すPDLデータをホストコンピュータ101において生成し、ホストコンピュータ101からLAN102を介して画像形成装置110に送信する。本実施例の画像形成装置110は、MFP（Multi Function Printer）の構成をとり、スキャナ部118を有する。なお、画像形成装置110は、MFP以外のプリンタ（例えば、SFP（Single Function Printer）などスキャナ部を備えていないプリンタ）であってもよい。
【００１５】
［画像形成装置におけるハードウェア構成について］
以下、図１（Ａ）を用いて、実施例１の画像形成装置110のハードウェア構成例を説明する。
画像形成装置110は、例えば、画像出力デバイスであるプリンタ部119を含む。また、画像形成装置110は、ネットワークI/F113を有し、ホストコンピュータ101からLAN102を介してPDLデータ（ページ記述言語で記述された印刷データ）を取得（受信）する。
【００１６】
電源スイッチ部111は、コントローラ201に接続されている。電源スイッチ部111がオン状態であると、コントローラ201、操作部115、コントローラ201のメインボード210（図２）の少なくとも一部に対して給電される。
【００１７】
ハードディスク（以下「HDD」）112は、画像データや各種プログラム等を記憶する。プログラムには、以下の各実施例の動作を実行するためのプログラムが含まれる。操作部115は、画像形成装置110に対するユーザ設定操作を受け付け、ジョブの処理状態や装置状態等を表示するためのタッチパネルやハードキーを備えている。操作部I/F114は、コントローラ201と操作部115とを接続するためのインタフェースである。FAX部117は、電話回線等を介して画像データ等の送受信を行う。
【００１８】
スキャナ部118は、原稿束を画像読取位置に連続的に給紙可能な原稿給紙ユニットと、原稿台の読取位置の画像を光学的に読み取って画像データに変換するスキャナユニットとを含む。スキャナ部118で変換された画像データは、デバイスI/F116を介して、コントローラ201に送信される。
【００１９】
プリンタ部119は、スキャナ部118で変換された画像データや、コンピュータ101から受信した画像データ等に基づいて、用紙等の記録媒体（以下「用紙」）に画像を印刷する。
FAX部117は、電話回線を介してファクシミリデータの送受信を行う。
デバイスI/F116は、コントローラ201とFAX部117、スキャナ部118、プリンタ部119操作部115を接続するためのインタフェースである。
【００２０】
コントローラ201は、スキャナ部118、プリンタ部119、操作部115、HDD112、FAX部117の各モジュールと接続されている。コントローラ201は、各モジュールを制御して、画像形成装置110の各機能に対応するジョブ（例えば印刷ジョブやスキャンジョブ等）を実行する。
【００２１】
＜システムの機能＞
以下、画像形成装置110の実行可能なジョブ（機能）の一例を説明する。
〔複写機能〕
画像形成装置110は、スキャナ部118から読み込んだ画像をHDD112に記録し、同時にプリンタ部119を使用して印刷を行なう複写機能を備える。
〔画像送信機能〕
画像形成装置110は、スキャナ部118から読み込んだ画像を、LAN102を介してホストコンピュータ101に送信する画像送信機能を備える。
〔画像保存機能〕
画像形成装置110は、スキャナ部118から読み込んだ画像をHDD112に記録し、必要に応じて画像送信や画像印刷を行なう画像保存機能を備える。
〔画像印刷機能〕
画像形成装置110は、ホストコンピュータ101から送信された、例えばページ記述言語を解析し、プリンタ部119で印刷する画像印刷機能を備える。以降、ホストコンピュータ101から送信される本機能を使用する指示のことを「印刷ジョブ」という。
【００２２】
図１（Ｂ）は、実施例１の画像印刷機能を実行する画像形成装置110の動作を制御するコントローラ201のソフトウェア構成を例示する図である。図１（Ｂ）に示す構成は、後述する図２に示すメインプロセッサ（CPU）211において実行されるソフトウェア構成に対応する。
【００２３】
コントローラ201は、ソフトウェア構成として、認証部131、設定部132、書誌管理部133、印刷制御部134、ジョブ解析部135、留め置き制御部136、先行処理部137、印刷実行部138、PDL解析部139、中間データ生成部140、画像データ生成部141を実現する。すなわち、これら各部131〜141は、CPU211がブートROM212（図２）又はHDD112に記憶されたプログラムを必要に応じメモリ213に読み出して実行することにより実現される機能部である。
【００２４】
画像データ生成部141は、中間データ生成部140の生成する中間データ（ディスプレイリスト）から画像データ（ラスターデータ）を生成するソフトウェア機能部である。また、画像データ生成部141は、中間データに含まれる所定のファイル形式（例えば、JPEGやTIFF、PackBits形式）の画像の伸長機能と、画像データを所定のファイル形式に圧縮してメモリに出力する機能も有する。なお、本実施例の画像形成装置110は、画像データ生成部141の他に、中間データから画像データを生成するハードウェアとしてRIP（ラスタイメージプロセッサ）253（後述する図２（Ｂ）〜（Ｃ））を有する。即ち、本実施例の画像形成装置110は、ハードウェアレンダリング部（RIP253）と、ソフトウェアレンダリング部（画像データ生成部141）を有する。
【００２５】
認証部131は、操作部115から操作部I/F114を通じて認証情報を受け取り、留め置き制御部136へ通知する。設定部132は、操作部I/F114を通じて操作部115への設定情報の入出力の制御を行う。書誌管理部133は、留め置き制御部136が受信した印刷ジョブや印刷ジョブに関する情報を制御し管理する。印刷制御部134は、ネットワークI/F113を通じて入力された印刷指示や印刷ジョブの情報を取得し、留め置き制御部136や印刷実行部138に対して印刷ジョブの処理を指示する。
【００２６】
留め置き制御部136は、印刷制御部134から受け取った印刷ジョブに対して印刷ジョブの解析、管理、先行処理の制御や印刷実行部138への印刷指示を行う。ジョブ解析部135は、留め置き制御部136が受信した印刷ジョブの解析を行う。先行処理部137は、留め置き制御部136が受信した印刷ジョブのジョブ解析部135による解析結果に応じて、印刷ジョブのレンダリング指示を画像データ生成部141に行う。より厳密には、先行処理部137は、ジョブ解析部135による解析結果に応じて、PDL解析部139、中間データ生成部140、画像データ生成部141を制御する。
【００２７】
印刷実行部138は、印刷制御部134や留め置き制御部136より受け取った印刷ジョブに対して、PDL解析部139、中間データ生成部140、画像データ生成部141、RIP253、画像処理部254等の制御を行って画像の生成を行う。さらに、印刷実行部138は、該生成した画像を、デバイスI/F116を通じてプリンタ部119へ出力し、印刷処理を実行させる。
【００２８】
PDL解析部139は、印刷実行部138より指示を受けた印刷ジョブのPDL解析を行う。なお、PDLは、Page Description Languageの略語であり、ページ記述言語を示す。中間データ生成部140は、PDL解析部139が解析した情報を基に、中間データを生成する。画像データ生成部141は、中間データ生成部140が生成した中間データから画像データを生成する。
【００２９】
［コントローラ201のブロック構成］
コントローラ201のブロック構成について、図２を参照しながら説明する。
図２は、コントローラ201のハードウェア構成を例示するブロック図である。以下、図２に示すコントローラ201の全てのデバイス（モジュール若しくはユニット）に電力が供給されている電力供給状態を、「スタンバイ状態」と呼ぶ。
【００３０】
図２（Ａ）において、コントローラ201はメインボード210とサブボード230を有する。メインボード210とサブボード230はいわゆる汎用的なCPUシステムである。
【００３１】
メインボード210は、CPU211、BootROM212、メモリ213、USBコントローラ214、Busコントローラ215、Diskコントローラ216、Flash Disk217、Networkコントローラを有する。
【００３２】
CPU211は、メインボード210全体を制御するメインプロセッサである。BootROM212は、ブートプログラムを記憶する。メモリ213は、CPU211のワークメモリとして使用される。Busコントローラ215は、外部バスとのブリッジ機能を有する。Diskコントローラ216は、HDD112等のストレージ装置を制御する。フラッシュディスク217は、半導体デバイスで構成された、比較的小容量なストレージ装置であり、例えばSSD（Solid State Drive）である。USBコントローラ214は、画像形成装置110に接続される各種USB装置へのアクセスを制御する。電源スイッチ部111、HDD112、操作部115はメインボード210に接続される。
【００３３】
サブボード230は、メインボード210と比較し小規模な汎用CPUシステムと、各デバイスを制御するデバイスコントローラ234、235、236を有する。
サブプロセッサ231は、サブボード230全体を制御する。メモリ233は、サブプロセッサ231のワークメモリとして使用される。Busコントローラ232は、外部バスとのブリッジ機能を有する。デバイスコントローラ234、235、236は、それぞれ、FAX部117、スキャナ部118、プリンタ部119をリアルタイムに制御する制御部であり、サブプロセッサ231の指示に基づき、各制御対象のデバイスを制御する。
【００３４】
［サブプロセッサ231のブロック構成］
サブプロセッサ231のブロック構成について、図２（Ｂ）を参照しながら説明する。
図２（Ｂ）は、図２（Ｂ）のサブプロセッサ231の内部構成を示すブロック図である。本実施例では、サブプロセッサ231は、基本的な機能を備えるCPUコア（中央制御部251）を有する。サブプロセッサ231は、CPUコア以外にも各画像処理機能に特化した複雑な演算機能を備える専用回路を有する形態をとる。
【００３５】
中央制御部251は、サブプロセッサ231内部にある各ブロックに対して制御指示を出すモジュールである。例えば、中央制御部251は、メモリ制御部263に指示を出すことでメモリ233から所定のアドレスにある値を取得する。
【００３６】
メモリ制御部263は、メモリ233とサブプロセッサ231内部にある各ブロックとの仲介役である。前述のように、中央制御部251がメモリ制御部263に指示を出すことで所定のアドレスにある値の取得や書き換えを行うが、他の各ブロックも同様の指示が可能である。例えば、中央制御部251とRIP253が、各々からメモリ制御部263に指示を出すことも可能である。メモリ制御部263は、指示の受け付け順に各指示を実行する。
【００３７】
クロック制御部252は、各ブロックへのクロック供給を制御する。クロック供給の指示は、中央制御部251が行う。具体席には、中央制御部251が、システムの機能として画像形成装置110の実行可能なジョブ（機能）を実行する際に、必要となる各ブロックへクロックを供給する設定をクロック制御部252に施す。クロック供給を遮断されたブロック（演算回路セル）には、クロックゲート制御が行われ動的に消費電力を削減する。即ち、クロック制御部252は、クロックの供給制御によりブロックの起動／停止を制御し、使用しないブロックを停止させて消費電力を低減させる電力制御を行う。
【００３８】
RIP253は、中央制御部251の指示に基づき、PDLデータコードや中間データを解析して画像データ（ラスターデータ）に展開するハードウェアである。このとき本実施例では、中央制御部251からの指示の方法として、RIP253が実行可能な一連の命令セット（ファームウェア）を中央制御部251がメモリ233に展開し、RIP253にその命令を実行する割り込み信号を送る方法を用いる。他に、中央制御部251がRIP253の内部SRAMに対し一連の命令セットを書き込む方法や、一連の命令セットを予めRIP253が有しており、中央制御部251は割り込み信号を送るだけとする方法も当然本実施例において可能である。
【００３９】
RIP253は、前述の一連の命令セットとメモリ233に展開された中間データを基に、所定の専用回路を使用しながら中間データを解析して画像データに展開する。RIP253が展開する画像データは非圧縮の状態であり、画像圧縮部255、257を用いて所定のファイル形式（例えばJPEGやTIFF、PackBits形式）に圧縮される。本実施例では、RIP253を用いて展開する画像データを印刷する場合、該画像データの色空間に応じて所定のファイル形式が選択されるものとする。また、RIP253が展開する画像データ自体が前述のJPEGやTIFF、PackBits形式で圧縮された状態となるようにすることも当然可能である。
【００４０】
画像処理部254は、RIP253が展開する画像データやスキャナ部118が読み込んだ画像データに対し、プリンタ部119や設定に合わせた処理を行う。例えば、RIP253が展開する画像データがRGBの色空間で表現される場合、画像処理部254は色空間をCMYKに変換する。また、画像処理部254は、ユーザが操作部115やホストコンピュータ101を経由して指示するジョブに施した設定に応じた処理（例えば、写真や文字の輪郭補正など）を実行する。
【００４１】
画像圧縮部255、257は、印刷処理に応じてRIP253が展開した画像データを所定のファイル形式に圧縮し、メモリ制御部263を介してメモリ233に格納する。画像圧縮部255、257はそれぞれ異なる圧縮形式を担当する。例えば、システムの機能として画像送信機能をユーザが利用する場合、ユーザが指定する画像のファイル形式（画像フォーマット）に応じて、中央制御部251により画像圧縮部255、257が選択される。
【００４２】
画像伸長部256、258は、印刷処理に応じて前述した圧縮画像を、メモリ制御部263を介して伸長した画像データを、メモリ233に展開する。
【００４３】
バスアクセス制御部265は、外部バスとのブリッジ機能を持つ。画像形成装置110の実行するジョブに応じた処理内容と処理データが、CPU211からBusコントローラ215、232を経由して、サブプロセッサ231に送られる。中央制御部251は、バスアクセス制御部265を介して、処理内容と処理データを受け取り、関係するブロックへのクロック供給についての指示を、クロック制御部252を介して行い、各ブロックに対しジョブに応じた指示を行う。
【００４４】
FAX制御部267は、FAX部117を制御するブロックであり、中央制御部251の指示に基づき、デバイスコントローラ234に対する制御指示を行う。同様に、スキャナ制御部268は、スキャナ部118を制御するブロックであり、中央制御部251の指示に基づき、デバイスコントローラ235に対する制御指示を行う。また、プリンタ制御部269は、プリンタ部119を制御するブロックであり、中央制御部251の指示に基づき、デバイスコントローラ236に対する制御指示を行う。例えば、中央制御部251がプリンタ制御部269にメモリに展開する画像データの印刷指示を出すと、プリンタ制御部269は所定の画像データを印刷指示とともにメモリ制御部263を介してデバイスコントローラ236に送信する。
【００４５】
なお、図１、図２は簡略化された図である。例えばCPU211、サブプロセッサ231等にはチップセット、バスブリッジ、クロックジェネレータ等のCPU周辺ハードウェアが多数含まれているが、説明の粒度的に不必要であるため簡略化記載している。これらのブロック構成が本発明を制限するものではない。
【００４６】
また、図２の例では、Diskコントローラ216にHDD112とFlash Disk217が接続されるが、いずれかのみ、あるいは複数のHDDとFlash Diskが接続される形態も当然とりうる。また、CPU211及びサブプロセッサ231は、汎用CPUに限らず、ASIC（Application Specific Integrated Circuit）や、ASSP（Application Specific Standard Produce）で構成することも可能である。また、CPU211及びサブプロセッサ231は、FPGA（Field-Programmable Gate Array）や他のダイナミック・リコンフィギャラブルプロセッサとなる構成も当然可能である。
【００４７】
以上のように、本実施例の画像形成装置110は、ソフトウェアによるレンダリング処理を行う画像データ生成部141と、ハードウェアによるレンダリング処理を行うRIP253を有する。RIP253は、レンダリングのための専用回路を有しており、レンダリング処理を画像データ生成部141よりも高速に実行できる。RIP253は、専用回路を使用するように中央制御部251から指示され動作する。しかし、前述するクロック制御部252により、クロックの供給を止められている状態では専用回路が動作しないためRIP253を使用することができない。なお、クロック制御部252によりクロックを供給すると当該回路を使用する分の電力を消費する。
【００４８】
図２（Ｃ）に、画像保存機能使用時のサブプロセッサ231内の電力供給状態を示す。
RIP253、画像圧縮部257、画像伸長部258、FAX制御部267、プリンタ制御部269以外のブロックに対しクロックが供給される。
図２（Ｄ）に、印刷ジョブ実行時のサブプロセッサ231内の電力供給状態を示す。
画像圧縮部255、画像伸長部256、FAX制御部267、スキャナ制御部268以外のブロックに対しクロックが供給される。
図２（Ｃ）、図２（Ｄ）では、図中の網掛け箇所を除いた回路にクロックが供給され、これらの回路は給電された状態であり、電力を消費する。
【００４９】
図３は、本実施例の画像形成装置110を有する印刷システムにおいてホストコンピュータ101から印刷ジョブを受信して画像形成装置110で印刷する時のシーケンスの一例を示す図である。図中、各ステップには「S」を付してある。なお、図３中の画像形成装置110が実行する処理は、画像形成装置110のCPU211、サブプロセッサ231がBootROM212又はHDD112に記憶されたプログラムを必要に応じてメモリ213、233に読み出して実行することにより実現される。また、図３中のホストコンピュータ101が実行する処理は、ホストコンピュータ101の不図示のCPUがHDD等に記憶されたプログラムを必要に応じてRAMに読み出して実行することにより実現される。
【００５０】
ユーザがホストコンピュータ101にログインし（S301）、ホストコンピュータ101を操作して任意のアプリケーションからデータの印刷を要求すると（S302）、まずホストコンピュータ101は、ユーザ情報を取得する（S303）。そして、ホストコンピュータ101は、上記S303で取得したユーザ情報を印刷ジョブに付与して印刷ジョブを生成し（S304）、該印刷ジョブを 画像形成装置110に送信する（S305）。
【００５１】
画像形成装置110は、印刷ジョブを受信すると、該印刷ジョブをHDD112に保存する（S306）。そして、画像形成装置110は、該印刷ジョブに付与されたユーザ情報を抽出し、書誌情報を作成し（S307）、該書誌情報をHDD112に保存（登録）する（S308）。画像形成装置110は、書誌情報の保存を終えると、先行処理を開始し（S309）、先行処理の結果を逐次HDD112に保存する（S310）。先行処理では、さらに印刷ジョブについてページ単位でレンダリング処理時間を予測し、先行してレンダリング処理が必要なページをレンダリングする。該先行処理については図５で詳述する。
【００５２】
ユーザが画像形成装置110にログインすると（S311）、画像形成装置110は、該ユーザのユーザ情報を取得し（S312）、該ユーザの書誌情報に基づいて該ユーザの印刷ジョブ一覧を操作部115に表示する（S313）。
【００５３】
さらに、画像形成装置110は、ユーザからの印刷指示を受けると（S314）、上記S310で保存していた先行処理の結果を印刷ジョブに付加する（S315）。なお、先行処理の結果の印刷ジョブへの付加についての詳細は後述する。さらに、画像形成装置110は、先行処理結果が付加された印刷ジョブの先行処理結果を使って、仕上げのレンダリング処理を行い（S316）、印刷を行う（S317）。
【００５４】
図４は、実施例１の画像形成装置110が備えるコントローラ201が実行する印刷ジョブ留め置き処理を説明する図である。図４（Ａ）は、コントローラ201が実行する印刷ジョブ留め置き処理の一例を説明するフローチャートである。図４（Ｂ）は、画像形成装置110が受信する印刷ジョブの構成の一例を説明する図である。図４（Ｃ）は、コントローラ201がHDD112に記憶するユーザの印刷ジョブリストの一例を説明する図である。
【００５５】
なお、図４（Ａ）及び後述する図５、図６、図８、図９に示す処理は、CPU211、サブプロセッサ231がBootROM212又はHDD112に記憶されたプログラムを必要に応じてメモリ213、233に読み出して実行することにより実現される。
【００５６】
S401において、印刷制御部134は、ネットワークI/F113を通じてホストコンピュータ101などから送信された印刷ジョブを受信すると、S402に処理を進める。印刷ジョブは、例えば図４（Ｂ）のような構成になっており、データの最初に各種設定情報を含むヘッダ情報を持ち、その後に各ページのデータ（PDLデータ）が含まれる。各ページの情報内の「P1」、「Line1」、「Text1」、「Rect1」、「Image1」、「Rect2」などは、ページを構成するための描画コマンドの例である。
【００５７】
S402において、印刷制御部134は、上記S401で受信した印刷ジョブが「留め置きジョブ」か「そのまま印刷を行うジョブ」かを判断する。「留め置きジョブ」か否かの判断方法は、画像形成装置内で記憶しているパラメータが留め置きを指し示すものであるかに基づく方法や、印刷ジョブのヘッダ内に情報が埋め込まれているものを解析するなどの方法で行うものとするが、公知のため詳細は省略する。そして、上記S402において、「そのまま印刷を行うジョブ」と判断した場合（S402でNoの場合）、印刷制御部134は、S403に処理を進める。
【００５８】
S403において、印刷制御部134は、サブボード230に対し印刷ジョブが発生したことを通知する。サブボード230側では、中央制御部251がバスコントローラ232、バスアクセス制御部265を介して前述の通知を受け取り、サブプロセッサ231内の各ブロックの起動処理を行う。サブプロセッサ231内の各ブロックの起動処理は、前述のようにクロック制御部252に対し、中央制御部251が設定を施すことで実行される。該設定にも基づいて、クロック制御部252がクロックゲート制御を行うことにより、ジョブ実行に必要なモジュールが動作可能となる。本実施例における印刷ジョブの場合、画像圧縮部255、画像伸長部256、FAX制御部267、スキャナ制御部268以外のブロックに対しクロックが供給される。印刷ジョブを実行する場合におけるサブプロセッサ231の状態を図２（Ｄ）に示す。また、クロックの供給に伴い起動したプリンタ制御部269により、デバイスコントローラ236を介してプリンタ部119の起動処理（定着器の温度調整など）が実行され、印刷のための準備が行われる。
【００５９】
次にS404において、印刷制御部134は、印刷実行部138に対して上記印刷ジョブ印刷ジョブの処理を指示する。印刷実行部138は、PDL解析部139や中間データ生成部140を制御して上記印刷ジョブの解析や中間データの生成を行い、生成された中間データについてバスコントローラ215、235を介してメモリ233に展開する。また、印刷制御部134は、同様の方法で、RIP253へのレンダリング処理依頼を中央制御部251に送る。中央制御部251は、受け取った指示をもとにRIP253へのレンダリング処理指示を出し、画像データを生成する。また、中央制御部251は、画像処理部254に対し上記S404で生成された画像データの画像補正をした後、画像圧縮部257を用いて圧縮し、メモリ制御部263を介して圧縮画像をメモリ233に格納するように制御する。
【００６０】
前述したように、上記S404で生成された画像データはJPEGやTIFF、PackBits形式に圧縮される。本実施例では、RIP253を用いて展開する画像データを印刷する場合は、該画像データの色空間に応じて所定のファイル形式が選択されるものとする。また、RIP253が展開した画像データ自体が前述のJPEGやTIFF、PackBits形式で圧縮されたものであることも当然可能である。
【００６１】
本実施例では、RIP253、画像処理部254、画像圧縮部257はそれぞれに、各ブロックと直接データの受け渡しが可能なように接続され、RIP253の生成画像データを直接メモリ233に展開することがないように構成される。これにより、画像データの格納に必要なメモリサイズと格納時の書き込み処理に要するメモリ帯域を削減する。
【００６２】
次にS405において、印刷実行部138は、上記S404で生成された画像データの圧縮画像の印刷依頼を中央制御部251に送る。中央制御部251は、圧縮画像を画像伸長部258で伸長させ、プリンタ制御部269を通じて、プリンタ部119へ転送を行い印刷実行する。
【００６３】
また、上記S402において、上記S401で受信した印刷ジョブが「留め置きジョブ」であると判断した場合（S402でYesの場合）、印刷制御部134は、S406に処理を進める。
S406において、印刷制御部134は、留め置き制御部136に対して上記S401で受信した印刷ジョブの処理を指示する。留め置き制御部136は、印刷ジョブ内に含まれるユーザ情報の取得を行う。図４（Ｂ）の例では、ユーザ情報は「ユーザ名：ユーザA」で示される。なお、このユーザ情報は、印刷ジョブのヘッダ情報内に含まれていなくても、送信元のホストコンピュータ101からユーザ情報を別途送る構成でも構わない。ユーザ情報とは、ユーザ名やユーザIDなど印刷実行を行ったユーザを識別可能な情報であればどのような情報でもよい。
【００６４】
次にS407において、留め置き制御部136は、ジョブ解析部135に上記印刷ジョブの解析を指示する。ジョブ解析部135は、上記印刷ジョブに含まれる印刷設定情報と文書名等の情報（例えばページ数も含む）を取得する。この印刷設定情報には、例えば片面印刷か両面印刷かを示す情報、カラーで印刷するかモノクロで印刷するかの情報、出力する用紙サイズに関する情報などが含まれる。図４（Ｂ）は一例であり、印刷設定情報の一部が無い印刷データであってもよく、その時はHDD112やBootROM212が持つ初期設定値とするか、印刷実行時にユーザから設定してもらう構成であってもよい。
【００６５】
次にS408において、留め置き制御部136は、上記S406により取得したユーザ情報と、上記S407により取得した印刷設定情報と文書名等の情報とを関連付ける。そして、留め置き制御部136は、これら関連付けられた情報を、１レコードとする、そのユーザ情報に対応する書誌情報を作成する（例えば図４（Ｃ））。なお、ファイル情報に含まれる保存先には、当該処理を実行している画像形成装置自身を特定する情報が含まれる。
【００６６】
図４（Ｃ）は、本実施例のユーザ毎の書誌情報の一例を示す図である。ここでは、ユーザＡの書誌情報を例示する。本実施例の書誌情報は、例えば、ジョブID、ファイル情報、印刷設定情報、ページ数、レンダリング予測時間、先行処理情報等を有する。なお、ジョブIDには、ジョブ毎に固有の値が設定される。
【００６７】
次にS409において、留め置き制御部136は、上記S408において１レコードが追加された書誌情報の登録を、書誌管理部133に指示する。書誌管理部133は、該S408において１レコードが追加された書誌情報をHDD112に保存（登録）する。また、留め置き制御部136は、上記S401で受信した印刷ジョブを、今回追加された１レコードに対応する印刷ジョブとしてHDD112に保存する。なお、S409の書誌情報登録時点では、レンダリング予測時間は未設定、先行処理情報については、先行処理は「未」、先行処理結果は未設定の状態で登録される。
【００６８】
図５は、実施例１における画像形成装置110が備えるコントローラ201が備えるソフトフェア（135、136等）が実行する先行処理の一例を説明するフローチャートである。図５の先行処理は、図４の印刷ジョブ留め置き処理により印刷ジョブがHDD112に留め置かれた後に実行される処理である。
【００６９】
S501において、ジョブ解析部135は、HDD112内に留め置かれた印刷ジョブに対して印刷ジョブに含まれる各ページのレンダリング処理にかかる時間を予測する。予測方法は、印刷ジョブのサイズや印刷ジョブ内に含まれるPDLコマンドの内容などレンダリング処理時間を推測できる方法であればよい。なお、ジョブ解析部135は、書誌管理部133に指示し、該予測結果を、当該先行処理している印刷ジョブに関連付けられている書誌情報に登録する。
【００７０】
S502において、先行処理部137は、上記S501の予測の結果に基づき、印刷ジョブに含まれるページのうちレンダリング処理に時間がかかるページを、先行してレンダリング処理が必要なページとして判断する。例えば、「ジョブID：1」の文書のレンダリング予測時間は図４（Ｃ）のようになっているとする。この場合、先行処理部137は、時間がかかるページを1page、9pageと判断する。該時間がかかるページの判断の基準については、印刷を行う画像形成装置の印刷スピードに応じて判断してもよいし、先行処理部が保持しているしきい値（例えば「10秒」等）としてもよいし、全ページをレンダリングが必要と判断してもよい。すなわち、先行処理部137は、印刷ジョブに含まれるPDLデータからレンダリングに必要な時間をページ単位で予測し、該予測の結果に基づいて先行処理を行うページを決定する。なお、レンダリング予測時間は、例えば予測するページのPDLデータのサイズに基づき予測してもよいし、該ページに含まれるPDLコマンド数や種類に基づき予測してもよいし、他の方法を用いて予測してもよい。
【００７１】
次にS503において、先行処理部137は、上記S502の判断の結果に基づき、先行してレンダリング処理が必要なページが存在するか否かを判断する。そして、先行してレンダリング処理が必要なページが存在しないと判断した場合（S503でNoの場合）、先行処理部137は、本フローチャートの処理を終了する。一方、先行してレンダリング処理が必要なページが存在すると判断した場合（S503でYesの場合）、先行処理部137は、S504に処理を進める。なお、ここで、対応する書誌情報の先行処理情報に、先行処理中であることを示す情報「中」を付加し「先行処理：中」とするようにしてもよい。
【００７２】
S504において、先行処理部137は、上記S502で先行してレンダリング処理が必要だと判断された１つのページのレンダリング処理（先行レンダリング処理）を行い画像データの生成を行う。なお、上記S502で先行してレンダリング処理が必要だと判断されたページが複数ある場合は、先行処理部137は、印刷ジョブのページ順にレンダリング処理を実行するように制御してもよい。また、レンダリング処理に時間がかかるページから順にレンダリング処理を実行するように制御してもよい。また、レンダリング処理に時間がかからないページから順にレンダリング処理を実行するように制御してもよい。本ステップの処理については図８に詳述する（後述）。
【００７３】
次にS505において、先行処理部137は、上記S504で生成した画像データをページ単位にHDD112に保存する。なお、先行処理部137は、該保存したページ単位の画像データを、当該先行処理している印刷ジョブに関連付けられている書誌情報に関連付けておき、該印刷ジョブの各ページと対応可能に管理する。
【００７４】
次にS506において、先行処理部137は、上記S502で先行してレンダリング処理が必要だと判断されたページ（対象ページ）全ての先行レンダリング処理が終了したか否かを判断する。未だ全対象ページの先行レンダリング処理が終了していないと判断した場合（S506でNoの場合）、先行処理部137は、S508に処理を進める。
【００７５】
S508において、先行処理部137は、レンダリング処理を実行している印刷ジョブに対してユーザから印刷実行指示があるか否かを判断する。そして、印刷実行指示が無いと判断した場合（S508でNoの場合）、先行処理部137は、S504に処理を戻し、次の対象ページの処理に移行させる。一方、印刷実行指示が有ったと判断した場合（S508でYesの場合）、先行処理部137は、先行処理を中断して本フローチャートの処理を終了する。なお、印刷実行指示については後述する図６において詳細に説明する。
【００７６】
一方、上記S506において、全対象ページの先行レンダリング処理が終了したと判断した場合（S506でYesの場合）、先行処理部137は、S507に処理を進める。
【００７７】
S507において、先行処理部137は、書誌管理部133に指示し、上記S505で先行レンダリング処理した結果を保存した情報を、対応する書誌情報に付加する。例えば図４（Ｃ）の書誌情報中の先行処理情報のように、先行処理が済んでいるかどうかの情報「済」と、先行処理した結果がどこに記憶されているかの情報「/xxx/yyy/image1」及び「/xxx/yyy/image2」等を付加する。S507の後、先行処理部137は、本フローチャートの処理を終了する。
【００７８】
図６は、本実施例の画像形成装置110が備えるコントローラ201が実行する印刷実行処理の一例を説明するフローチャートである。
【００７９】
S601において、認証部131は、操作部115等からユーザ情報とパスワードを入力してユーザ認証を行う方式など公知の認証方法を用いてユーザを認証する。認証処理に成功した場合、認証部131は、該ユーザ情報を設定部132に通知する。
【００８０】
次にS602において、設定部132は、上記S601で取得したユーザ情報と同じユーザ情報に対応する書誌情報を、書誌管理部133より受け取り、該書誌情報を基に印刷ジョブリストを生成し、操作部I/F114を通じて操作部115へ表示する。
【００８１】
図７は、ユーザ認証後に操作部115に表示されるユーザインタフェース（UI）の一例を説明する図である。
操作部115に表示される情報は、例えば図７の701に示したものであり、印刷ジョブリストは一例として図７の702のように表示される。ユーザは、印刷ジョブリスト702から所望の印刷ジョブを選択し、プリント開始ボタン703を押下することにより、該選択した印刷ジョブの印刷指示を行うことが可能である。また、ユーザは、印刷ジョブリスト702から所望の印刷ジョブを選択し、印刷設定ボタン704を押下することにより、該選択した印刷ジョブの印刷設定を変更することが可能である。なお、ログアウトボタン705は、ログアウトするためのものである。
【００８２】
次にS603において、設定部132は、ユーザから印刷ジョブリスト702に表示している印刷ジョブに対して印刷実行指示があったか否かを判断する。例えばユーザが印刷ジョブリスト702から印刷ジョブを選択してプリント開始ボタン703を押下した場合、印刷実行指示があったと判断する。また、プリント開始ボタン703を押下することなく、例えばユーザがログアウトボタン705を押下した場合、印刷実行指示が無かったと判断する。そして、印刷実行指示がないと判断した場合（S603でNoの場合）、設定部132は、本フローチャートの処理を終了する。一方、印刷実行指示があったと判断した場合（S603でYesの場合）、設定部132は、S604に処理を進める。
【００８３】
S604において、設定部132は、印刷実行指示されたことを留め置き制御部136に通知する。留め置き制御部136は、印刷実行指示された印刷ジョブが先行処理済みであるか否かを判断する。この判断は、書誌情報を参照し、図５のS507で付加された先行処理済みの情報を取得して判断する。そして、上記S604において、印刷ジョブが先行処理済みであると判断した場合（S604でYesの場合）、留め置き制御部136は、S605に処理を進める。
【００８４】
S605において、留め置き制御部136は、先行処理結果の情報をPDLデータに付加する処理を行い、印刷ジョブの生成を行う。さらに、留め置き制御部136は、印刷ジョブの印刷指示を、印刷実行部138に行う。該指示に応じて、印刷実行部138は、後述するS608の処理を実行する。また、上記S604において、印刷ジョブが先行処理済みでないと判断した場合（S604でNoの場合）、留め置き制御部136は、S606に処理を進める。
【００８５】
S606において、留め置き制御部136は、印刷実行指示された印刷ジョブが先行処理中であるか否かを判断する。この判断は、上記S604と同様に書誌情報を参照し、先行処理中であるか否かで判断してもよいし、図５のS505で書誌情報に関連付けされた先行レンダリング処理済みの画像データが存在するか否かで判断してもよい。
そして、上記S606において、印刷実行指示された印刷ジョブが先行処理中であると判断した場合（S606でYesの場合）、留め置き制御部136は、S607に処理を進める。
【００８６】
S607において、留め置き制御部136は、先行処理中の印刷ジョブに対して先行処理の中断を行う。先行処理の中断の情報は、先行処理部137へ通知され、図５のS508で説明した印刷実行指示があるかどうかの判断に使用される。上記S607の後、留め置き制御部136は、先行処理を中断した時点でHDD112に保存されている先行処理結果（図５のS505で対応する書誌情報に関連付けされた画像データ）を先行処理情報として取得し、S605において、印刷ジョブに付加する。該S605の後、留め置き制御部136は、印刷ジョブの印刷指示を、印刷実行部138に行う。該指示に応じて、印刷実行部138は、後述するS608の処理を実行する。
【００８７】
一方、上記S606において、印刷実行指示された印刷ジョブが先行処理中でないと判断した場合（S606でNoの場合）、留め置き制御部136は、印刷ジョブの印刷指示を、印刷実行部138に行う。該指示に応じて、印刷実行部138はS608の処理を実行する。
【００８８】
S608において、印刷実行部138は、仕上げのレンダリング処理を行う。仕上げのレンダリング処理は、印刷ジョブに先行処理結果の情報を付加して生成された印刷ジョブに対しての、図４のS404と同様の処理である。
【００８９】
次にS609において、留め置き制御部136が印刷実行部138に印刷を指示し、印刷実行部138が印刷を実行する。印刷実行部138による印刷の実行は図４のS405と同様の処理である。S609の後、印刷実行部138は、本フローチャートの処理を終了する。
【００９０】
図８は、実施例１の対象ページ先行レンダリング処理（図５のS504内での処理）を説明するフローチャートである。
S801において、先行処理部137は、バスコントローラ215を介して中央制御部251にサブボード側で起動している（クロックを供給されている）ブロックの情報を問い合わせる。中央制御部251は、クロック制御部252の設定情報についてバスコントローラ232を介して先行処理部137に通知する。
【００９１】
S802において、先行処理部137は、上記S801で取得した情報に基づいて、RIP253が起動（クロック供給）済みかどうか判定する。RIP253が起動（クロック供給）していない状態と判断した場合（S802でNoの場合）、先行処理部137は、S808に処理を進める。
S808において、先行処理部137は、先行レンダリング処理の画像データ生成に画像データ生成部141を使用すると選択し、後述するS806に処理を進める。
【００９２】
一方、上記S802において、RIP253が起動済み（起動した状態）と判断した場合（S802でYesの場合）、先行処理部137は、S803に処理を進める。
S803において、先行処理部137は、画像形成装置110内の留め置き以外の実行中、及び、実行予定のジョブの内容を取得する。
【００９３】
S804において、先行処理部137は、上記S803で取得した実行中、及び、実行予定のジョブの内容から、それらにRIP253を使用するジョブが有るか否かを判定し、先行レンダリングにRIP253を使用可能か否か判断する。例えば、本実施例の画像形成装置では、複写機能、画像送信機能又は画像保存機能を実行中あるいは実行予定である場合でもRIP253を使用する必要はないが、画像印刷機能を使用する場合にはRIP253を使用する必要がある。本実施例では、RIP253を使用する機能を含むジョブをRIP253を使用するジョブと判断する。実行中及び実行予定のジョブにRIP253を使用するジョブがあると判定した場合、先行レンダリングにRIP253を使用不可能と判断する。また、実行中及び実行予定のジョブにRIP253を使用するジョブがない場合、先行レンダリングにRIP253を使用可能と判断する。
【００９４】
上記S804において、先行レンダリングにRIP253使用不可能と判断した場合（S804でNoの場合）、先行処理部137は、S808に処理を進める。
S808において、先行処理部137は、先行レンダリング処理の画像データ生成に画像データ生成部141を使用すると選択し、S806に処理を進める。
【００９５】
一方、上記S804において、先行レンダリングにRIP253使用可能と判断した場合（S804でYesの場合）、先行処理部137は、S805に処理を進める。
S805において、先行処理部137は、先行レンダリング処理の画像データ生成にRIP253を使用すると選択し、S806に処理を進める。
なお、上記S803、S804を省略し、RIP253が起動済みの場合（上記S802でYesの場合）には、S805において、先行レンダリング処理にRIP253を使用することを選択するようにしてもよい。
【００９６】
S806において、先行処理部137は、上記S805又は上記S808で選択した方法で生成される先行レンダリング処理の画像データの画像圧縮形式を選択する。なお、このS806の処理は図９を用いて後述する。
【００９７】
次にS807において、先行処理部137は、上記S805又は上記S808で選択したレンダリング方法を用いてレンダリング処理を行い、該レンダリング処理された画像データを上記S806で選択した圧縮形式で保存する先行レンダリング処理を実行する。S807の処理の後、先行処理部137は、本フローチャートの処理を終了する。
【００９８】
図９は、本実施例の画像データ画像圧縮形式選択処理（図８のS806内での処理）を示すフローチャートである。
S901において、先行処理部137は、先行レンダリングにRIP253を使用することが選択されているか否かを判断する。先行レンダリングにRIP253を使用することが選択されている（図８のS805）と判断した場合（S901でYesの場合）、先行処理部137は、S902に処理を進め、使用できる画像圧縮処理部が存在するか否かの判定処理に移行する。
【００９９】
S902において、先行処理部137は、先行レンダリングに画像圧縮部257を使用可能か否か判断する。まず、先行処理部137は、図８のS801で取得した情報を基に、画像圧縮部257が起動済みか否かを判定する。画像圧縮部257が起動済みでない場合、先行処理部137は、先行レンダリングに画像圧縮部257を使用不可能と判断する。一方、画像圧縮部257が起動済みの場合、先行処理部137は、図８のS803で取得した情報を基に、画像圧縮部257を使用する実行中及び実行予定のジョブの有無を判定する。例えば、本実施例の画像形成装置では、画像送信機能や画像保存機能においてユーザが選択する画像形式に応じて、画像圧縮部255、257のいずれかが選択される。ユーザが選択する画像形式としては、JPEGやTIFFといった形式があり、他にもPDF、XPSを選択できる。また、ユーザがPDF、XPSを選択する場合、画像圧縮部255、257は使用しない。実行中及び実行予定のジョブに画像圧縮部257を使用するジョブがあると判定した場合、先行レンダリングに画像圧縮部257を使用不可能と判断する。また、実行中及び実行予定のジョブに画像圧縮部257を使用するジョブがない場合、先行レンダリングに画像圧縮部257を使用可能と判断する。
【０１００】
上記S902において、画像圧縮部257が使用可能であると判断した場合（S902でYesの場合）先行処理部137は、S903に処理を進める。
S903において、先行処理部137は、画像圧縮部257の使用を選択し、本フローチャートの処理を終了する。
【０１０１】
一方、上記S902において、画像圧縮部257が使用不可能であると判断した場合（S902でNoの場合）先行処理部137は、S904に処理を進める。
S904において、先行処理部137は、画像圧縮部255についてS902、S903と同様の判断を行う。
【０１０２】
上記S904において、画像圧縮部255が使用可能であると判断した場合（S904でYesの場合）先行処理部137は、S905に処理を進める。
S905において、先行処理部137は、画像圧縮部255の使用を選択し、本フローチャートの処理を終了する。
【０１０３】
一方、上記S904において、画像圧縮部255が使用不可能であると判断した場合（S904でNoの場合）先行処理部137は、S906に処理を進める。
また、上記S901において、先行処理部137は、先行レンダリングに画像データ生成部141を使用することが選択されている（図８のS808）と判断した場合（S901でNoの場合）、サブボード側の画像圧縮部255、257は使用できないため、S906に処理を勧める。
【０１０４】
S906以降は、画像圧縮部255、257を使用できない場合の画像データの圧縮方法を選択する処理である。
S906において、先行処理部137は、RIP253や画像データ生成部141がメモリ213、233に非圧縮の画像データを展開させ、ソフトウェアで画像圧縮を行うように制御する。
【０１０５】
S907以降は、画像圧縮形式を選択する処理であり、先行レンダリングの対象ページで指定される出力色空間に応じて選択する。
S907において、先行処理部137は、先行レンダリングの対象ページで指定される出力色空間がカラー（対象ページがカラー出力指定）か否かを判断する。先行レンダリングの対象ページで指定される出力色空間がモノクロ（対象ページがモノクロ出力指定）と判断した場合（S907でNoの場合）、先行処理部137は、S908に処理を進める。
S908において、先行処理部137は、モノクロ画像のためのPackBits圧縮を選択し、本フローチャートの処理を終了する。
【０１０６】
一方、上記S907において、先行レンダリングの対象ページで指定される出力色空間がカラー（対象ページがカラー出力指定）と判断した場合（S907でYesの場合）、先行処理部137は、S909に処理を進める。
【０１０７】
S909において、先行処理部137は、先行レンダリングの対象ページで指定される出力色空間がカラーRGB（対象ページがRGB出力指定）か否かを判断する。先行レンダリングの対象ページで指定される出力色空間がカラーRGB（対象ページがRGB出力指定）と判断した場合（S909でYesの場合）、先行処理部137は、S910に処理を進める。
S910において、先行処理部137は、JPEG圧縮を選択し、本フローチャートの処理を終了する。
【０１０８】
一方、上記S909において、先行レンダリングの対象ページで指定される出力色空間がカラーRGB（対象ページがRGB出力指定）でないと判断した場合（S909でNoの場合）、先行処理部137は、S911に処理を進める。
【０１０９】
S911において、先行処理部137は、先行レンダリングの対象ページで指定される出力色空間がカラーCMYK（対象ページがCMYK出力指定）か否かを判断する。先行レンダリングの対象ページで指定される出力色空間がカラーCMYK（対象ページがCMYK出力指定）と判断した場合（S911でYesの場合）、先行処理部137は、S912に処理を進める。
S912において、先行処理部137は、TIFF圧縮を選択し、本フローチャートの処理を終了する。
【０１１０】
一方、上記S911において、先行レンダリングの対象ページで指定される出力色空間がカラーCMYK（対象ページがCMYK出力指定）でないと判断した場合（S911でNoの場合）、例えばCMYK＋αなどを指定された場合、先行処理部137は、S913に処理を進める。S913において、先行処理部137は、圧縮することなく画像データを保持することを選択し、本フローチャートの処理を終了する。
【０１１１】
なお、図８に示した対象ページの先行レンダリング処理では、RIP253の起動状態に応じてレンダリング部を選択する構成について説明した。しかし、画像圧縮部255、257の起動状態に応じてレンダリング部を選択するように構成してもよい。即ち、画像圧縮部255、257のいずれかが起動している場合にはRIP253を選択し、画像圧縮部255、257のいずれも起動していない場合には画像データ生成部141を選択するように構成してもよい。
【０１１２】
以上のように、実施例１では、先行レンダリング処理実行時における画像形成装置110の状態（特にRIP253の起動状態等）に応じて、先行レンダリング処理で使用するレンダリング部を選択制御する。これにより、サブボード230上の各ハードウェアについて、先行レンダリング処理時にクロック供給を止められていたハードウェア（RIP253、画像圧縮部255、257等）への供給を再開することなく、先行レンダリング処理を実行可能になる。これにより、画像形成装置110の電力消費の増加を防ぎつつ使用可能な各ハードウェアを用いて先行レンダリング処理を行うことができる。
【実施例２】
【０１１３】
本実施例の画像形成装置の省電力設定は、ユーザによって設定の変更が可能である。本実施例では、ユーザの設定に応じて先行レンダリング処理方法の切り替えを行う。
図１０は、実施例２の画像形成装置を含むシステムの構成及び画像形成装置のハードウェア構成を例示する図である。図１０（Ａ）については図１（Ａ）と構成に差分がないため説明を省略する。
図１０（Ｂ）は、実施例２の画像印刷機能を実行する画像形成装置110の動作を制御するコントローラ201のソフトウェア構成を例示する図であり、図１（Ｂ）に省電力設定制御部142が追加された構成である。なお、図１０（Ｂ）に示す構成は、メインプロセッサ（CPU）211において実行されるソフトウェア構成に対応する。
【０１１４】
省電力設定制御部142は、ユーザが操作部115を用いて設定する省電力設定を取得・保持し、画像形成装置110を条件に応じた省電力状態に移行・復帰させる。なお、省電力状態への移行・復帰については公知の技術であるため詳細な説明を省略する。
省電力設定制御部142は、留め置き制御部136や先行処理部137の問い合わせに応じて、省電力設定内容を先行処理部137に通知する機能も有する。
以下で、本実施例において、画像形成装置110の取り得る省電力状態について説明する。
【０１１５】
［コントローラ201の電力供給状態１：スタンバイ状態］
以下、図２（Ａ）に示した全てのデバイス（モジュール若しくはユニット）に電力が供給されている電力供給状態を、「消費電力１：スタンバイ状態」と呼ぶ。ここで、消費電力Nは、Nの数字が小さい方が、電力消費が多いことを表わしている。また、スタンバイ状態より消費電力が低い、図１１、図１２の電力状態を総称して省電力状態ともいう。
【０１１６】
［コントローラ201の電力供給状態２：Connected Sleep状態］
図１１は、コントローラ201のConnected Sleep状態を示す図である。以下、図１１のコントローラ201の電力供給状態を、「消費電力２：Connected Sleep状態」と呼ぶ。なお、コントローラ201のブロック構成は図２と差分がないため説明を省略する。
【０１１７】
図１１では、外部からネットワークを介して受信した通信に対する応答（ネットワーク応答）に必要な機能の実行に関するデバイスに通電した電力供給状態を示す。図中の網掛け部分は、電力が供給されていない部分を示す。なお、本実施例において、Connected Sleep状態とは、電力消費量を抑えつつ、 画像形成装置110がネットワーク上の装置とのネットワーク送受信機能を実行することができる状態をいう。Connected Sleep状態では、特定の回路に電源電力を供給し、他の部分に対する電源電力の供給を停止している。
【０１１８】
例えば、画像形成装置110は、ネットワーク送受信機能等、ネットワーク機能の一部が有効であって、ユーザが操作しない状態が一定時間経過した場合に、Connected Sleep状態に遷移する。
【０１１９】
図１１に示すように、Connected Sleep状態では、サブボード230、スキャナ部118、プリンタ部119へは給電されない。つまり、Connected Sleep状態の時では、図１１中の網掛け箇所を除いたデバイスに給電される。ただし、ネットワーク機能により提供されるサービスはシステムによって異なるので、Connected Sleep状態における電力供給箇所は、図１１に示す構成に限定されず、システム個々に応じて電力供給箇所が設定されるようにしてもよい。
【０１２０】
［コントローラ201の電力供給状態３：スリープ状態］
図１２は、図２のコントローラ201のスリープ状態を示す図である。図中の網掛け部分は、電力が供給されていない部分を示す。以下、図１２のコントローラ201の電力供給状態を、「消費電力３：スリープ状態」と呼ぶ。
【０１２１】
スリープ状態では、コントローラ201上の、メモリ213、ネットワークコントローラ218などの最低限必要な個所のみに電力供給され、スリープ復帰のための割込みを受ける部分に電力供給される。つまり、ネットワークコントローラ218、USBコントローラ214、操作部115上の節電キー、各種センサ、FAX部117、電源スイッチ部111に電力供給される。ただし、スリープ復帰要因はシステムによって異なるので、スリープ状態における電力供給箇所」は、図１２に示す構成に限定されず、システム個々に応じて電力供給箇所が設定されるようにしてもよい。
【０１２２】
図１６は、操作部115からの操作により操作部115に表示される省電力設定に関わるUIの一例を説明する図である。
省電力設定に関わるUI1601において、タイマー／電力設定1602は、タイマーと電力設定を行うためのメニューである。このタイマー／電力設定1602が選択されると、1603〜1606に示すようなメニューが表示される。
【０１２３】
オートスリープ移行時間1603は、自動でスリープ状態に移行するまでの時間を設定するためのものである。スリープ中に許可する処理1604は、スリープ状態において許可する処理（例えば「留め置きジョブの先行処理」等）を設定するためのものである。スリープ時の消費電力1605は、スリープ状態時の消費電力（例えば「多く」／「少なく」等）を設定するためのものである。オートスリープ時刻の設定1606は、自動でスリープ状態に移行する時刻を設定するためのものである。ユーザは、1603〜1606で所望の設定を行い、OKボタン1607を押下することにより、タイマー／電力設定（省電力設定）を変更することが可能である。なお、省電力設定内容は、CPU211の制御によりHDD112等に記憶される。
【０１２４】
図１３は、実施例２の画像形成装置110が備えるコントローラ201がスリープ状態のときにユーザの設定に応じて実行する印刷ジョブ留め置き処理を説明するフローチャートである。スリープ状態のときにホストコンピュータ101から留め置きに限らずジョブを受け取ると、省電力設定制御部142はスリープ状態からConnected Sleep状態に状態を移行する。従って、厳密には、スリープ状態の画像形成装置110が印刷ジョブ留め置き処理を実行することはなく、スリープ状態からConnected Sleep状態に状態を移行した状態で、留め置き制御部136等が印刷ジョブ留め置き処理を実行する。即ち、図１３の処理は、省電力状態における処理である。前述の通り、省電力状態への移行・復帰について公知の技術であるため詳細な説明を省略する。なお、図１３、及び、後述する図１４、図１５に示す処理は、CPU211、サブプロセッサ231がBootROM212又はHDD112に記憶されたプログラムを必要に応じてメモリ213、233に読み出して実行することにより実現される。
【０１２５】
まず、S1301〜S1309については、図４（Ａ）のS401〜S409と差異がないため説明を省略する。
次にS1310において、留め置き制御部136は、省電力設定制御部142に対し省電力設定内容を問い合わせる。より具体的には、ユーザにより画像形成装置110がスリープ状態の場合に許可されている処理（図１６の「スリープ中に許可する処理1604」で許可設定されている処理）を問い合わせる。
【０１２６】
次にS1311において、留め置き制御部136は、画像形成装置110がスリープ状態の場合に留め置きジョブの先行処理が許可されているかどうかを判断する。留め置きジョブの先行処理が許可されていると判断した場合（S1311でYesの場合）、留め置き制御部136は、S1312に処理を進める。
S1312において、留め置き制御部136は、該留め置きジョブの先行処理を予約し、本フローチャートの処理を終了する。
【０１２７】
一方、S1311において、画像形成装置110がスリープ状態の場合に留め置きジョブの先行処理が許可されていないと判断した場合（S1311でNoの場合）、留め置き制御部136は、前述の予約処理を行わずに本フローチャートの処理を終了する。
【０１２８】
図１４は、実施例２における画像形成装置110が備えるコントローラ201が備えるソフトフェア（135、136等）が実行する先行処理の一例を説明するフローチャートである。図１４の先行処理は、図１３の印刷ジョブ留め置き処理により印刷ジョブがHDD112に留め置かれた後に実行される処理である。即ち、図１４の処理は、スリープ状態のときに印刷ジョブを受信してスリープ状態からConnected Sleep状態に状態に移行し、印刷ジョブがHDD112に留め置かれた後に実行される省電力状態における処理である。
【０１２９】
S1401において、先行処理部137は、HDD112内に留め置かれた印刷ジョブに対して先行処理が予約されているか否かを判断する。予約されていないと判断した場合（S1401でNoの場合）、先行処理部137は、本フローチャートの処理を終了する。
【０１３０】
一方、上記S1401において、HDD112内に留め置かれた印刷ジョブに対して先行処理が予約されていると判断した場合（S1401でYesの場合）、先行処理部137は、S1402に処理を進める。なお、S1402〜S1409については、S1405の対象ページの先行レンダリング処理以外は、図５のS501〜S508と差異がないため説明を省略する。なお、S1405の対象ページの先行レンダリング処理については図１５に詳述する（後述）。
【０１３１】
図１５は、実施例２の対象ページ先行レンダリング処理（図１４のS1405内での処理）を説明するフローチャートである。
S1501において、先行処理部137は、省電力設定制御部142に対し省電力設定内容を問い合わせる。より具体的には、ユーザにより画像形成装置110がスリープ状態中に消費電力が多くなることを許可されている（後述する図１６の「スリープ時の消費電力1605」が「少なく」以外に設定されている）かを問い合わせる。
【０１３２】
次にS1502において、先行処理部137は、上記S1501で取得した省電力設定内容に基づいて、スリープ状態中にRIP253の使用許可があるか否かを判定する。後述する図１６の「スリープ時の消費電力1605」が「少なく」以外に設定されている場合には、スリープ状態中にRIP253の使用許可があると判定し、それ以外の場合には、スリープ状態中にRIP253の使用許可がないと判定する。
【０１３３】
上記S1502において、スリープ状態中にRIP253の使用許可がないと判定した場合（S1502でNoの場合）、先行処理部137は、S1503以降の処理を実行する。
一方、上記S1502において、スリープ状態中にRIP253の使用許可があると判定した場合（S1502でYesの場合）、先行処理部137は、先行レンダリングにRIP253を使用するように、S1507以降の処理を実行する。
【０１３４】
S1503〜S1510は、図８のS801〜S808と同様の処理になるため説明を省略するが、画像形成装置110がConnected Sleep状態やスリープ状態の場合、図１１、図１２に示した通りRIP253は起動していない。したがって、先行処理部137は、先行レンダリングに画像データ生成部141を使用するよう選択することになる。よって、上記S1502でNoの場合、そのままS1510に移行し、先行レンダリング処理に画像データ生成部141を使用することを選択するようにしてもよい。また、S1508についても同様であり、Connected Sleep状態やスリープ状態の場合には画像圧縮部255、257は起動していないため、画像データ生成部141を使用して圧縮することとなる。S1508の処理の詳細は図９と差異がないため説明を省略する。
【０１３５】
以上のように、実施例２では、省電力状態においては、省電力設定でのスリープ中のRIP253使用許可の有無に基づいて、先行レンダリング処理で使用するレンダリング部を選択制御する。これにより、ユーザによって設定の変更が可能な省電力設定を有する画像形成装置110において、ユーザの設定に応じた先行レンダリング処理時のレンダリング部の切り替えが可能になる。ユーザの設定に応じて消費電力に違いのあるレンダリング部を選択できることにより、ユーザの意図しない消費電力の発生を防ぐことができる。
【０１３６】
また、実施例２のサブプロセッサ231は、図２に示したように、内部の回路についてもクロック制御部252により電力制御が可能である。Connected Sleep状態について、さらに状態を細分化し、図２（Ｄ）に示す状態や、さらに一部の回路のみ使用可能な状態でも、状態に応じたレンダリング部の選択を可能とする。
【実施例３】
【０１３７】
画像形成装置110の省電力設定には、スリープ状態への移行時間がユーザにより設定可能である。より、具体的には、図１１、図１２に示した通り、RIP253はConnected Sleep状態やスリープ状態では起動していない。したがって、RIP253の先行レンダリング処理中にいずれかの省電力状態に移行した場合、途中で処理が止まってしまい先行レンダリング処理が不正な状態となってしまう。また、RIP253動作中はいずれかの省電力状態にも移行しないような制御をすると、操作部115の無操作状態から所定の時間が経過したにもかかわらず、スリープ状態への移行が行われなくなってしまう。
【０１３８】
実施例３では、スリープへの移行時間も加味した先行レンダリング処理方法の切り替えを行う。本実施例は、実施例１と同様に、画像形成装置110がスタンバイ状態の場合での処理であり、図８に相当する処理にスリープへの移行時間を加味する処理が追加される。したがって、本実施例のシステム構成例および画像形成装置のハードウェア構成例については実施例２と差異がなく、コントローラ201についても図２と差異がないため説明を省略する。また、印刷ジョブ留め置き処理や先行処理、印刷実行処理を説明するフローチャートも図４、図５、図６と差異がないため説明を省略する。
【０１３９】
図１７は、実施例３の対象ページ先行レンダリング処理を説明するフローチャートである。なお、図１７に示す処理は、CPU211、サブプロセッサ231がBootROM212又はHDD112に記憶されたプログラムを必要に応じてメモリ213、233に読み出して実行することにより実現される。
【０１４０】
S1701において、先行処理部137は、省電力設定制御部142に対し省電力設定内容を問い合わせる。より具体的には、ユーザにより画像形成装置110に設定されるスタンバイ状態からスリープに移行するまでの時間（図１６の「オートスリープ移行時間1603」）と、スリープ移行までの残り時間を問い合わせる。
【０１４１】
次にS1702において、先行処理部137は、上記S1701で取得した情報に基づいて、対象ページのRIP253を使用した先行レンダリング処理を、スリープ移行までの残り時間内に完了可能か否かを判断する。
【０１４２】
上記S1702において、対象ページのRIP253を使用した先行レンダリング処理を、スリープ移行までの残り時間内に完了できない（完了不可能）と判断した場合（S1702でNoの場合）、先行処理部137は、S1710に処理を進める。S1710において、先行処理部137は、先行レンダリング処理に画像データ生成部141を使用するよう選択する。
【０１４３】
一方、上記S1702において、対象ページのRIP253を使用した先行レンダリング処理を、スリープ移行までの残り時間内に完了できる（完了可能）と判断した場合（S1702でYesの場合）、先行処理部137は、S1703に処理を進める。S1703〜S1707において、先行処理部137は、先行レンダリング処理にRIP253を使用するよう選択する。S1703〜S1710は、図８のS801からS808と同様の処理になるため説明を省略する。
【０１４４】
これにより、ユーザによりスリープへの移行時間が設定された場合でも、スリープへの移行時間までに、安全に先行レンダリング処理を完了することができる。
【０１４５】
以上のように、各実施例によれば、ユーザによる省電力設定と画像形成装置の省電力状態に応じて、画像形成装置を低消費電力な状態に維持しつつ先行レンダリング処理を実施することができる。従って、先行レンダリング処理のためにRIP253等の起動を行って画像形成装置110をスリープ状態から復帰させる等の、ユーザの意図しない電力消費の発生を防止し、省電力を維持したまま先行レンダリングを行うことができる。
【０１４６】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されていてもよい。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
【０１４７】
（その他の実施例）
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路（例えば、ASIC）によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１４８】
110    画像形成装置
141    画像データ生成部
201    コントローラ
253    RIP
【図１】
2019038186.tif 000003
【図２】
2019038186.tif 000004
【図３】
2019038186.tif 000005
【図４】
2019038186.tif 000006
【図５】
2019038186.tif 000007
【図６】
2019038186.tif 000008
【図７】
2019038186.tif 000009
【図８】
2019038186.tif 000010
【図９】
2019038186.tif 000011
【図１０】
2019038186.tif 000012
【図１１】
2019038186.tif 000013
【図１２】
2019038186.tif 000014
【図１３】
2019038186.tif 000015
【図１４】
2019038186.tif 000016
【図１５】
2019038186.tif 000017
【図１６】
2019038186.tif 000018
【図１７】
2019038186.tif 000019