(57)【要約】【課題】ハイバネーション制御装置を備えた画像処理装置において、ハイバネーションモードへの移行や復帰の処理時間を短縮することができるようにする。【解決手段】印刷イメージを圧縮する印刷イメージ圧縮部３２６　と対応した伸張処理をする印刷イメージ伸張部３２８　と、メインメモリ１３０　に記憶されている記憶内容が印刷イメージ圧縮部３２６　にて処理できるか否かを解析して圧縮方法テーブルを作成するメモリイメージ保存制御部３００　を設ける。メモリイメージ保存制御部３００　は、圧縮方法テーブルを参照し、ＣＰＵ圧縮部３２２　と印刷イメージ圧縮部３２６　とを切り替えながら、メモリイメージを圧縮してＨＤＤ５４に保存する。メモリイメージ回復制御部３１０　は、圧縮処理に使用したＣＰＵ圧縮部３２２　と印刷イメージ圧縮部３２６　に対応して、ＣＰＵ伸張部３２４　と印刷イメージ伸張部３２８　とを切り替えながら、ＨＤＤ５４から読み出した情報を伸張しメインメモリ１３０　に戻す。【選択図】　　　　図１０
2004038545.tif 000002
【特許請求の範囲】
【請求項１】
電源供給時にのみ記憶内容を保持する主記憶部と、前記電源供給が切断されても記憶内容を保持する補助記憶部とを備えた装置において、所定の処理実行中における前記電源供給の切断時の前記装置の作動状態を示す作動状態データを前記補助記憶部に保存し、電源の再供給時に前記補助記憶部に保存しておいた前記作動状態データを読み出して前記装置の作動状態を復元するハイバネーション処理を実施するハイバネーション制御方法であって、
前記主記憶部に記憶されている前記記憶内容が、前記装置の主要な情報処理機能を有するとともに圧縮処理可能な中央演算処理部とは別個に設けられた圧縮処理部にて圧縮処理可能であるか否かを解析する記憶内容解析工程と、
前記記憶内容解析工程において解析した結果に応じて、前記中央演算処理部と前記圧縮処理部とを切り替えながら、前記記憶内容を圧縮して前記補助記憶部に保存する圧縮保存工程と、
前記圧縮に使用した前記中央演算処理部および前記圧縮処理部に対応して、伸張処理可能な前記中央演算処理部と当該中央演算処理部とは別個に設けられた伸張処理部とを切り替えながら、前記補助記憶部から読み出した前記圧縮された記憶内容を伸張して前記装置の作動状態を復元する伸張回復工程と
を有することを特徴とするハイバネーション制御方法。
【請求項２】
前記記憶内容解析工程は、前記記憶内容を所定の単位に分けて、この所定の単位ごとに前記圧縮処理部にて圧縮処理可能であるか否かを解析することを特徴とする請求項１に記載のハイバネーション制御方法。
【請求項３】
電源供給時にのみ記憶内容を保持する主記憶部と、前記電源供給が切断されても記憶内容を保持する補助記憶部とを備えた装置において、所定の処理実行中における前記電源供給の切断時の前記装置の作動状態を示す作動状態データを前記補助記憶部に保存し、電源の再供給時に前記補助記憶部に保存しておいた前記作動状態データを読み出して前記装置の作動状態を復元するハイバネーション処理を実施するハイバネーション制御装置であって、
前記装置の主要な情報処理機能を有するとともに前記主記憶部の記憶内容を圧縮処理可能でかつ前記補助記憶部に保存しておいた情報を伸張処理可能である中央演算処理部と、
前記中央演算処理部とは別個に設けられ、所定の圧縮処理をする圧縮処理部と、
前記圧縮処理部における前記圧縮処理に対応した伸張処理をする伸張処理部と、
前記主記憶部に記憶されている前記記憶内容が前記圧縮処理部にて圧縮処理可能であるか否かを解析する記憶内容解析部と、
前記圧縮処理部にて圧縮処理可能であると前記記憶内容解析部の解析結果が示していることを条件として前記記憶内容を前記圧縮処理部にて圧縮して前記補助記憶部に保存させる圧縮保存制御部と、
前記補助記憶部に保存しておいた前記圧縮された記憶内容が前記圧縮処理部により圧縮されたものであることを条件として、前記補助記憶部に保存しておいた前記圧縮された記憶内容を前記伸張処理部にて伸張処理して前記装置の作動状態を復元する伸張回復制御部と
を備えたことを特徴とするハイバネーション制御装置。
【請求項４】
前記圧縮保存制御部は、前記主記憶部に記憶されている前記記憶内容の内、前記圧縮処理部にて圧縮処理可能であるものを除く前記記憶内容については、前記中央演算処理部にて圧縮して前記補助記憶部に保存させ、
前記伸張回復制御部は、前記補助記憶部に保存しておいた情報が前記中央演算処理部により圧縮されたものであることを条件として、前記補助記憶部に保存しておいた情報を前記中央演算処理部にて伸張処理して前記装置の作動状態を復元する
ことを特徴とする請求項３に記載のハイバネーション制御装置。
【請求項５】
前記記憶内容解析部は、前記記憶内容を所定の単位に分けて、この所定の単位ごとに前記圧縮処理部にて圧縮処理可能であるか否かを解析することを特徴とする請求項３または４に記載のハイバネーション制御装置。
【請求項６】
電源供給時にのみ記憶内容を保持する主記憶部と、前記電源供給が切断されても記憶内容を保持する補助記憶部と、画像処理をする画像処理部とを備えた画像処理装置であって、前記画像処理部における所定の画像処理実行中における前記電源供給の切断時の装置の作動状態を示す作動状態データを前記補助記憶部に保存し、電源の再供給時に前記補助記憶部に保存しておいた前記作動状態データを読み出して前記画像処理装置の作動状態を復元するハイバネーション処理を実施する画像処理装置において、
前記画像処理装置の全体を制御するとともに前記主記憶部の記憶内容を圧縮処理可能でかつ前記補助記憶部に保存しておいた情報を伸張処理可能である中央演算処理部と、
前記中央演算処理部とは別個に設けられ、画像を圧縮処理をする圧縮処理部と、
前記圧縮処理部における前記圧縮処理に対応する伸張処理をする伸張処理部と、
前記主記憶部に記憶されている前記記憶内容が、前記圧縮処理部にて圧縮処理可能であるか否かを解析する記憶内容解析部と、
前記圧縮処理部にて圧縮処理可能であると前記記憶内容解析部の解析結果が示していることを条件として前記記憶内容を前記圧縮処理部にて圧縮して前記補助記憶部に保存させる圧縮保存制御部と、
前記補助記憶部に保存しておいた前記圧縮された記憶内容が前記圧縮処理部により圧縮されたものであることを条件として、前記補助記憶部に保存しておいた前記圧縮された記憶内容を前記伸張処理部にて伸張処理して前記装置の作動状態を復元する伸張回復制御部と
を備えたことを特徴とする画像処理装置。
【請求項７】
前記圧縮保存制御部は、前記主記憶部に記憶されている前記記憶内容の内、前記圧縮処理部にて圧縮処理可能であるものを除く前記記憶内容については、前記中央演算処理部にて圧縮して前記補助記憶部に保存させ、
前記伸張回復制御部は、前記補助記憶部に保存しておいた情報が前記中央演算処理部により圧縮されたものであることを条件として、前記補助記憶部に保存しておいた情報を前記中央演算処理部にて伸張処理して前記装置の作動状態を復元する
ことを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記記憶内容解析部は、前記記憶内容を所定の単位に分けて、この所定の単位ごとに前記圧縮処理部にて圧縮処理可能であるか否かを解析することを特徴とする請求項６または７に記載の画像処理装置。
【請求項９】
原稿画像を読み取る画像読取部を備え、
前記画像処理部は、前記画像読取部により読み取られた原稿画像に対して前記画像処理を施す
ことを特徴とする請求項６から８のうちの何れか１項に記載の画像処理装置。
【請求項１０】
所定の画像入力端末から送信された画像データを受け取る画像受取部を備え、
前記画像処理部は、前記画像受取部が受け取った画像に対して前記画像処理を施す
ことを特徴とする請求項６から９のうちの何れか１項に記載の画像処理装置。
【請求項１１】
前記画像受取部は、前記画像データとして、印刷データもしくはファクシミリデータを受け取ることを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記画像処理部により前記画像処理が施された画像を可視画像として所定の出力媒体に出力する画像形成部を備えたことを特徴とする請求項６から１１のうちの何れか１項に記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電源オフ時に装置の主記憶部の内容を、その装置の補助記憶部にセーブするハイバネーション（Ｈｉｂｅｒｎａｔｉｏｎ）機能の制御方法および制御装置、並びにこのハイバネーション機能を備えた画像処理装置に関する。
【０００２】
【従来の技術】
装置のメイン電源をオフにすることで作業を中断する際、電源供給時にのみ記憶内容を保持する揮発性の主記憶部（メインメモリ）の実メモリ内の現在の作業を、電源供給が切断されても記憶内容を保持するハードディスク装置などの不揮発性の補助記憶部に記憶し、電源をオンにすることで電源をオフにする前に補助記憶部に記憶した内容を主記憶部の実メモリ内へ読み戻すことで、一旦中断した作業を再開するハイバネーション／ウェークアップ動作を行なう仕組みが知られている。
【０００３】
また、ソフトウェアの肥大化は当然の流れとし、肥大化したソフトウェアを実行できる環境を構築するために、組込み型のオペレーティングシステム（組込みＯＳ／ＯＳ；Ｏｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍ）では当然とされてきた実記憶システムを捨て、仮想記憶システムを採用する装置がある。
【０００４】
実記憶システムの利点は、プログラムのイメージがＲＯＭ（ｒｅａｄ　ｏｎｌｙ　ｍｅｍｏｒｙ）化されているため、プログラムをロードする時間が必要ないあるいは短い時間で済み、ブート時間（装置起動時間）が非常に短い点にある。一方、仮想記憶システムは、メモリを事実上無限に使用できる反面、プログラムのロード時間が長くブート時間が長い。
【０００５】
近年、仮想記憶を使用している情報処理装置（たとえばパソコンなど）では、ブート時間をより短くしたり、作業の継続性を保つためにハイバネーションモードを採用している。ハイバネーションモードでは、システム電源オフ時に装置の主要な情報処理機能や演算処理機能を有するＣＰＵ（ｃｅｎｔｒａｌ　ｐｒｏｃｅｓｓｉｎｇ　ｕｎｉｔ　；中央演算処理部）および各種周辺ＬＳＩ（Ｌａｒｇｅ　Ｓｃａｌｅ　ＩＣ　）の状態、および主メモリの内容などをハードディスクなどの記録媒体にセーブした後に、主記憶部を含むシステム内のほとんどすべてのデバイスをパワーダウンさせるモードであり、システム電源オン時に保存した状態を復帰させる。
【０００６】
このようなハイバネーション処理においては、電源スイッチオフ時の作動状態に関する情報として主記憶部の内容を補助記憶部に対してその記憶のために転送する処理に要する時間が、この全処理時間の大部分を占めている。すなわち、ハイバネーションモードにおいてシステム電源オフ時の保存時間や、オン時の復帰時間（ブート時間）を左右するのが、主記憶部の内容をハードディスク装置などの補助記憶部に保存したり、保持させておいた情報を補助記憶部から読み込む時間である。
【０００７】
そのため、最近では、必要最小限の主記憶部の内容を保存するようにしたり、主記憶部の内容を圧縮して保存することで、補助記憶部に対するアクセス（ハードディスク装置の場合にはディスクＩ／Ｏ）を少なくする工夫が施されることもある。
【０００８】
またたとえば、近年の装置の高性能化、高機能化にともない装置に組み込まれているソフトウェアの肥大化が問題となっている。このため組み込む機能を見直して制限したり、コスト増になるのを覚悟でＲＯＭの容量を増やすなどの工夫が施されている。たとえば、印刷装置や複写装置など画像を処理対象として取り扱う画像処理装置においては、単一機能の装置に限らず、複数の機能を備えた複合機といわれるものがあるなどである。
【０００９】
【発明が解決しようとする課題】
しかしながら、ＲＯＭの容量を増やしても、ハイバネーションモードを使用しない単純な起動処理では、電源起動時（ブート時）にはソフトウェアの増大分だけ起動時間が掛かってしまう。
【００１０】
一方、仮想記憶システム上に、たとえば印刷装置や複写装置の組み込みソフトウェアを作成する場合、ブート時間の短縮のためハイバネーションモードを備えることが考えられる。しかしながら、パソコンなどに使用されている一般的なハイバネーション制御の方法でハイバネーションモードを実現し圧縮保存したのでは、ＣＰＵの処理能力の関係で、ソフトウェアの増大に対する圧縮処理時間がネックとなり、通常モードからハイバネーションモードへの移行時間が遅くなる。
【００１１】
同様に、ＣＰＵの処理能力の関係で、ソフトウェアの増大に対する伸張処理時間がネックとなり、電源再起動後のハイバネーションモードから通常モードへの復帰時間も遅くなる。
【００１２】
本発明は、上記事情に鑑みてなされたものであり、ソフトウェアが増大するようなケースであっても、通常モードからハイバネーションモードへの移行時間やハイバネーションモードから通常モードへの復帰時間を従来よりも短縮することのできるハイバネーション制御方法およびハイバネーション制御装置、並びにハイバネーション機能を持つ画像処理装置を提供することを目的とする。
【００１３】
【課題を解決するための手段】
情報を取り扱う装置においては、その情報を圧縮したり伸張したりする専用の処理部（プロセッサ）を、装置の全体を制御する中央演算処理部とは別個に備えているものがある。たとえば、印刷装置や複写装置などでは、紙媒体などへの画像出力のスループットをあげるために、出力イメージの入った画像メモリの内容を圧縮してハードディスク装置などの記録媒体に保存し、画像メモリを解放し、それを次の出力イメージの生成に使用するといったスプール装置を備えているものがある。印刷イメージの圧縮は、ＣＰＵを用いて行なう場合もあるが、印刷イメージの生成と圧縮処理を並列に行なうため専用のプロセッサをＣＰＵとは別個に設けて、この専用のプロセッサにて圧縮処理を行なうものもある。また並列処理を除いても、通常専用プロセッサでの圧縮保存処理はＣＰＵを用いて行なう場合に比較して高速である。
【００１４】
仮想記憶システム上に印刷装置や複写装置などの組み込みソフトウェアを作成する場合、ブート時間の短縮のためハイバネーションモードを備えることが考えられる。また主記憶部の内容を圧縮保存する場合に、前述した画像出力に用いた圧縮保存専用のプロセッサを用いれば高速化できることが考えられる。たとえば、圧縮保存しなければならない主ページに印刷イメージが入っている場合は、圧縮保存専用のプロセッサを用いれば高速かつ圧縮率のよい主記憶部内容の保存が可能になると考えられる。
【００１５】
本願発明は上記の技術的知見に基づいてなされたものである。
【００１６】
すなわち、本発明に係るハイバネーション制御方法は、電源供給時にのみ記憶内容を保持する主記憶部と、電源供給が切断されても記憶内容を保持する補助記憶部とを備えた装置において、所定の処理実行中における電源供給の切断時の装置の作動状態を示す作動状態データを補助記憶部に保存し、電源の再供給時に補助記憶部に保存しておいた作動状態データを読み出して装置の作動状態を復元するハイバネーション処理を実施するハイバネーション制御方法であって、主記憶部に記憶されている記憶内容が、装置の主要な情報処理機能を有するとともに圧縮処理可能な中央演算処理部とは別個に設けられた圧縮処理部にて圧縮処理可能であるか否かを解析する記憶内容解析工程と、記憶内容解析工程において解析した結果に応じて、中央演算処理部と圧縮処理部とを切り替えながら、記憶内容を圧縮して補助記憶部に保存する圧縮保存工程と、圧縮に使用した中央演算処理部および圧縮処理部に対応して、伸張処理可能な中央演算処理部とこの中央演算処理部とは別個に設けられた伸張処理部とを切り替えながら、補助記憶部から読み出した圧縮された記憶内容を伸張して装置の作動状態を復元する伸張回復工程とを備えた。
【００１７】
本発明に係るハイバネーション制御装置は、本発明に係るハイバネーション制御方法を実施するのに好適な装置であって、装置の主要な情報処理機能を有するとともに主記憶部の記憶内容を圧縮処理可能でかつ補助記憶部に保存しておいた情報を伸張処理可能である中央演算処理部と、中央演算処理部とは別個に設けられ所定の圧縮処理をする圧縮処理部と、圧縮処理部における圧縮処理に対応する伸張処理をする伸張処理部と、主記憶部に記憶されている記憶内容が圧縮処理部にて圧縮処理可能であるか否かを解析する記憶内容解析部とを備えた。
【００１８】
また、本発明に係るハイバネーション制御装置は、圧縮処理部にて圧縮処理可能であると記憶内容解析部の解析結果が示していることを条件として記憶内容を圧縮処理部にて圧縮して補助記憶部に保存させる圧縮保存制御部と、補助記憶部に保存しておいた圧縮された記憶内容が圧縮処理部により圧縮されたものであることを条件として、補助記憶部に保存しておいた記憶内容を伸張処理部にて伸張処理して装置の作動状態を復元する伸張回復制御部とを備えた。
【００１９】
本発明に係る画像処理装置は、画像処理をする画像処理部と、前述の本発明に係るハイバネーション制御装置の構成とを備えたものである。本発明に係る画像処理装置は、たとえば、原稿画像を読み取る画像読取部を備えたいわゆるスキャナ装置として展開されてもよい。また、画像処理部により画像処理が施された画像を可視画像として所定の出力媒体に出力する画像形成部を備えた装置、たとえば、画像入力端末の一例であるパソコンなどから送信された画像データを受け取って印刷出力する印刷装置、あるいは画像入力端末の他の一例であるファクシミリ送信装置からファクシミリデータを受け取ってファクシミリ画像を出力するファクシミリ受信装置として展開されてもよい。また、画像読取部と画像形成部とを備え、画像読取部により読み取った原稿画像を所定の出力媒体上に印刷出力する複写装置として展開されてもよい。また、スキャナ装置、印刷装置、ファクシミリ受信装置、あるいは複写装置を任意に組み合わせたいわゆる複合機として展開されてもよい。
【００２０】
また従属項に記載された発明は、本発明に係るハイバネーション制御方法および装置並びに画像処理装置のさらなる有利な具体例を規定する。
【００２１】
なお、本発明に係るハイバネーション制御方法および装置並びに画像処理装置を、電子計算機（コンピュータ）を用いてソフトウェアで実現するために好適なプログラムあるいはこのプログラムを格納したコンピュータ読取可能な記憶媒体を発明として抽出することもできる。なお、プログラムは、コンピュータ読取り可能な記憶媒体に格納されて提供されてもよいし、有線あるいは無線による通信手段を介して配信されてもよい。
【００２２】
【作用】
本発明の上記構成においては、先ず、中央演算処理部とは別個に、所定の圧縮処理をする圧縮処理部と、この圧縮処理部における圧縮処理に対応した伸張処理をする伸張処理部とを用意する。
【００２３】
そして、主記憶部に記憶されている記憶内容が中央演算処理部とは別個に設けられた圧縮処理部にて圧縮処理可能であるか否かを記憶内容解析部が解析する。
【００２４】
そして、圧縮可能であれば、電源オフ時に通常モードからハイバネーションモードに移行させる際、その圧縮可能な分の記憶内容に関しては、圧縮処理部にて圧縮する。電源再起動時にハイバネーションモードから通常モードに回復させる際には、中央演算処理部とは別個に設けられた伸張処理部にて伸張処理する。
【００２５】
この結果、圧縮処理部にて圧縮可能な分だけ、圧縮処理や伸張処理の各処理時間の制約を、ＣＰＵ処理能力から開放することができる。
【００２６】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
【００２７】
図１は、本発明に係るハイバネーション制御装置や画像処理装置の一実施形態を有する画像出力端末を備えた画像処理システムを示す概略図である。この画像処理システム１は、画像入力端末３および画像出力端末７を備える。
【００２８】
画像入力端末３は、デジタルドキュメント（以下単にドキュメントという）ＤＯＣを作成したり編集などの処理する、たとえばパソコン（パーソナルコンピュータ）３ａ、カラースキャナ３ｂ、デジタルカメラ３ｃ、またはハードディスク装置や光磁気ディスク装置あるいは光ディスク装置などのデータ格納装置３ｄ、さらにはＦＡＸ装置３ｅなど、任意数の画像入力ソースを含み得る。画像入力端末３は、これらに限らず、たとえば、図示しない通信網を介して画像を電子データとして取得する通信機能を備えた端末装置であってもよい。これらの各端末装置には、ドキュメントＤＯＣ作成用のアプリケーションプログラムなどが組み込まれる。画像入力端末３は、ドキュメントＤＯＣを、画像処理システム１の一部を構成する画像出力端末７に入力する。
【００２９】
画像出力端末７は、たとえば複写機能、ページプリンタ機能、およびファクシミリ送受信機能を備えたいわゆる複合機（マルチファンクション機）で、デジタルプリント装置として構成されている。
【００３０】
画像入力端末３側にて用意されるドキュメントＤＯＣを表す電子データは、画像出力端末７で処理可能な画像フォーマット（たとえば、ＪＰＥＧ、ＢＭＰ、ＰＮＧなど）で記述される。またたとえば、パソコン３ａで作成された文書ファイルは、たとえばプリンタなどで印刷出力するために、図形、文字などの拡大、回転、変形などが自由に制御できるページ記述言語（ＰＤＬ：Ｐａｇｅ　Ｄｅｓｃｒｉｐｔｉｏｎ　Ｌａｎｇｕａｇｅ　）で記載されたデータとして画像出力端末７に送られる。ＰＤＬで作成されているデータ（ＰＤＬデータ）は、ページ内の任意位置の画像、図形、文字を表現する描画命令およびデータを任意の順で配置した命令およびデータ列で構成されている。このＰＤＬデータを受け取った画像出力端末７は、印字前に出力単位ごと（１ページごと）に画像データをレンダリング（描画展開）してからプリンタエンジン部にそのラスタデータを出力する。
【００３１】
画像出力端末７は、大まかに、画像読取装置１０、画像形成装置３０、および給紙装置８０から構成されている。また画像出力端末７は、接続ケーブル９０を介してネットワークに接続可能になっている。たとえば、接続ケーブル９０は、ＬＡＮ（Ｌｏｃａｌ　Ａｒｅａ　Ｎｅｔｗｏｒｋ）８によりパソコン３ａなどの画像入力端末３に接続されたり、あるいは電話回線９によりＦＡＸ装置３ｅなどの画像入力端末３に接続される。
【００３２】
画像読取装置１０は、原稿を図示しない読取台（プラテンガラス）上の読取位置まで搬送し排紙するドキュメントフィーダ１２と、表示機能も備えた操作パネル（ユーザインタフェース）１４と、装置に対する種々の設定をする操作キー１６とを含む。
【００３３】
操作パネル１４には、印刷枚数や用紙サイズなどの装置の使用条件が表示されるようになっており、ユーザはその表示を見ながら操作キー１６により使用条件を変更することができる。好ましい条件が操作パネル１４や操作キー１６で入力された後、操作キー１６のスタートキー（図示せず）が押下されると、ドキュメントフィーダ１２は、原稿を画像読取装置１０上の予め定められた読取位置へ原稿をフィードし、その原稿が読み取られた後に読取位置からその原稿をドキュメントフィーダ１２の所定位置まで移動させる。
【００３４】
画像読取装置１０は、画像入力端末の機能を備えており、たとえばＣＣＤ固体撮像素子の全幅アレイを使用して、読取位置へ送られた原稿に光を照射することで、原稿上の画像を読み取り、この読み取った画像を表すアナログビデオ信号をデジタル信号へ変換し、画像形成装置３０へ送る。
【００３５】
画像形成装置３０は、画像形成ユニット３２と、両面複写ユニット３４と、排紙ユニット３６と、１枚もしくは複数枚（図は複数枚で例示）の処理基板３８とを含む。画像形成ユニット３２は、画像読取装置１０にて得られた画像信号により表される画像を、電子写真式、感熱式、熱転写式、インクジェット式、あるいは同様な従来の画像形成処理を利用して、普通紙や感熱紙上に可視画像を形成する（印刷する）すなわち複写する。このため、画像形成ユニット３２は、たとえば画像処理システム１をデジタル印刷システムとして稼働させるためのラスタ出力スキャン（ＲＯＳ）ベースのプリントエンジンを備える。
【００３６】
両面複写ユニット３４は、たとえば、用紙を即時に、あるいは一方の面に画像が形成されスタックされた複数の用紙を底の用紙から上部の用紙の順に連続的に、画像形成ユニット３２側に再給紙するように構成される。
【００３７】
処理基板３８には、画像形成装置３０用の処理部（特に画像処理部）だけでなく、画像出力端末７全体の種々の処理をするための回路が搭載される。たとえば、画像出力端末７内に構築された資源であるドキュメントフィーダ１２、操作パネル１４、図示しない画像読取ユニット、画像形成ユニット３２、両面複写ユニット３４、排紙ユニット３６、あるいは給紙トレイ８２など制御する回路が搭載される。
【００３８】
この処理基板３８には、半導体製の記憶媒体が搭載され、たとえば、複写アプリケーション、プリンタアプリケーション、ファクシミリ（ＦＡＸ）アプリケーション、あるいは他のアプリケーション用の処理プログラムが格納される。
【００３９】
給紙装置８０は、給紙トレイ８２を含む。図示した例では、Ａ４，Ｂ４，Ａ３の３種類の用紙サイズに対応した３つの給紙トレイ８２が用意されている。
【００４０】
用紙が複数の給紙トレイ８２の内の何れかから画像形成装置３０へ給紙されると、画像形成装置３０の画像形成ユニット３２は、その用紙の一方の面に画像を形成する。両面複写ユニット３４は、一方の面に画像が形成された用紙を裏返し、再び画像形成ユニット３２にその用紙を給紙するように構成されている。これにより、画像が用紙の他方の面に形成され、両面複写が完了される。
【００４１】
画像形成ユニット３２から排出される用紙、あるいは両面複写済み用紙は、排紙ユニット３６により、ページ順に連続的に、あるいは１ページごとにソートされる。
【００４２】
なお、画像出力端末７は、画像読取装置１０にて読み取った画像の印刷機能すなわち複写機能に限らず、ＬＡＮ８および接続ケーブル９０を介してパソコン３ａなどの画像入力端末３から取得した文書データや画像ファイルなどに基づいて画像を印刷するいわゆるプリント機能や、電話回線９および接続ケーブル９０を介して受信したＦＡＸデータに基づいて印刷出力するＦＡＸ機能も備える。
【００４３】
図２は、画像出力端末７における画像処理機能を示すブロック図である。画像読取装置１０は、スキャナ部２０と読取信号処理部２２とを有する。
【００４４】
スキャナ部２０は、読取台上に載置された原稿を読み取って得た入力画像を赤Ｒ、緑Ｇ、青Ｂの各色成分のデジタル画像データに変換する。たとえばハロゲンランプを有する光源からの光が読取台上に載置された原稿を照射し、反対光が光学系を介して赤、緑、青の各色に分光される。そして各色光が、各色光用に分けられた、たとえばＣＣＤ（電荷転送型の固体撮像素子）からなるラインセンサ（イメージセンサ）に入射し、入力画像が所定解像度で読み取られることによって、赤、緑、青の各色成分のアナログの画像信号が得られ、読取信号処理部２２に送られる。
【００４５】
読取信号処理部２２は、たとえばシェーディング補正部２４や入力階調補正部２６を有する。なお、読取信号処理部２２は、これらの他に、たとえば図示しない増幅部やＡ／Ｄ変換部などを有する。
【００４６】
この読取信号処理部２２においては、図示しない増幅部がラインセンサからの赤、緑、青のアナログの各画像信号を所定のレベルまで増幅し、さらに図示しないＡ／Ｄ変換回路がアナログの各画像信号をデジタル画像データに変換する。そして、シェーディング補正部２４は、Ａ／Ｄ変換回路から出力されたデジタル画像データに対し、ラインセンサの画素感度バラツキの補正や、光学系の光量分布特性に対応したシェーディング補正を施す。入力階調補正部２６は、シェーディング補正されたデジタル画像データに対して階調特性を調整し、処理済の画像データを、画像形成装置３０の前段色信号処理部４０に入力する。
【００４７】
画像形成装置３０は、プリント出力信号処理系統として、前段色信号処理部４０と、イメージ圧縮伸張処理部（イメージ圧縮伸長プロセッサ）５０と、後段色信号処理部６０と、プリントエンジン７０とを有する。これらが処理基板３８（図１参照）上に載置される。
【００４８】
前段色信号処理部４０は、たとえば入力色変換部４２、画像受取部の一例である外部インタフェース部４３、画像情報領域分離部４４、出力色変換部４６、および下色除去部４８を有する。
【００４９】
この前段色信号処理部４０においては、先ず画像読取装置１０の読取信号処理部２２からの赤、緑、青のデジタル画像データ（色信号）を一旦図示しないページメモリに記憶する。そして、画像形成ユニット３２にて使用する色材の分光特性に対する色補正処理（これを特に前段階の色補正処理という）を施すことで、色濁りを防止する。
【００５０】
そして、入力色変換部４２は、デジタル画像データを、外部機器との色情報交換に適した色信号、たとえば均等色空間の明度信号Ｌ＊並びに彩度および色相を表す色度信号ａ＊，ｂ＊（以下纏めてＬａｂ信号ともいう）に変換する。
【００５１】
画像出力端末７をプリンタとして使う場合には、外部インタフェース部４３は、画像入力端末３側にて用意されたドキュメントＤＯＣを表すＰＤＬデータを、出力単位ごと（１ページごと）にＬａｂ信号でレンダリング（描画展開）する。同様に、画像出力端末７をカラーＦＡＸ装置として使用する場合には、外部インタフェース部４３は、ＦＡＸ装置３ｅからＦＡＸデータを受信し、ＦＡＸ画像をＬａｂ信号にてラスタライズする。次いで、このＬａｂ信号に基づいて、たとえば画像情報領域分離部４４は画像領域（絵文字）分離処理を施し、編集処理部４５は色編集処理やモアレを除去したり中間調データを平滑化する平滑化処理あるいは画像拡大や画像縮小などの画像編集処理を施す。
【００５２】
その後、出力色変換部４６は、Ｌａｂ信号を、減法混色用に適した色信号に変換する。たとえば、出力色変換部４６は、Ｌａｂ信号で表されるＬａｂ表色系から、最低３つ（好ましくは４つ）、たとえばイエロー（Ｙ）、マゼンタ（Ｍ）、およびシアン（Ｃ）の各色信号で表されるＹＭＣ表色系、あるいはこれにブラック（Ｋ）を加えたＣＭＹＫ表色系へのマッピング処理をし、プリント出力用に色分解されたラスタデータを生成する。
【００５３】
また、下色除去部４８は、このようなラスタデータ化の処理に際して、カラー画像のＣＭＹ成分を減色するアンダーカラー除去処理（ＵＣＲ；Ｕｎｄｅｒ　Ｃｏｌｏｒ　Ｒｅｍｏｖａｌ　）をする。なお、下色除去部４８は、さらに減色されたＣＭＹ成分を部分的にＫ成分と交換するグレー成分交換（墨生成）処理（ＧＣＲ；Ｇｒａｙ　ＣｏｍｐｏｎｅｎｔＲｅｐｌａｃｅｍｅｎｔ）をする。また、下色除去部４８は、入力画像の下地濃度に応じて、ＹＭＣＫの各色の画像データのうちの所定の下地濃度以下の画像データをカット（無効化）する下地除去処理を施す。なお、このグレー成分交換処理を含めてアンダーカラー除去処理ということもある。
【００５４】
そして、これら一連の処理（前段色信号処理）が施されたデジタル画像データは、イメージ圧縮伸張処理部５０に入力される。
【００５５】
イメージ圧縮伸張処理部５０は、印刷イメージをたとえばＪＰＥＧやＰＮＧなどの圧縮画像フォーマットで圧縮し、不揮発性の記憶媒体の一例であるハードディスク装置（ＨＤＤ）５４に一時的に格納（圧縮保存）したり、圧縮保存された印刷イメージを伸長するために使用する。このため、イメージ圧縮伸張処理部５０は、たとえば、パラメータ設定部５１、符号化部５２、書込部５３、復号化部５６、および読出部５７を備える。
【００５６】
パラメータ設定部５１は、符号化部５２における符号化の際の圧縮パラメータを決定する。次にパラメータ設定部５１は、決定した各色成分用の符号化パラメータを、対応する色成分用の符号化部５２およびに復号化部５６に入力する。
【００５７】
符号化部５２は、設定された符号化パラメータを用い、たとえばＤＣＴ（Ｄｉｓｃｒｅｔｅ　Ｃｏｓｉｎｅ　Ｔｒａｎｓｆｏｒｍ　）などの直行変換符号化やベクトル量子化などの方法により符号化して非可逆圧縮して符号化画像データ（符号化色信号）を生成する。この後、書込部８３は、符号化部５２により非可逆圧縮されたＹ，Ｍ，Ｃ，Ｋの各色の符号化画像データを、画像格納部の一例であるハードディスク装置５４に略同時に書き込む。
【００５８】
次いで、プリントエンジン７０の図示しない先端検出器からの先端検出信号（副走査方向の印字始点を示す信号）に同期して、読出部５７がハードディスク装置５４からＹ，Ｍ，Ｃ，Ｋの各色の符号化画像データを順次一定間隔をおいて読み出して復号化部５６に入力する。復号化部５６は、ハードディスク装置５４から順次一定間隔をおいて読み出されたＹ，Ｍ，Ｃ，Ｋの各色の符号化画像データを、パラメータ設定部５１により設定された符号化パラメータを用い、符号化部５２における符号化に対応する復号化をして、元の画像データ（復号化色信号）に戻す。
【００５９】
後段色信号処理部６０は、イメージ圧縮伸張処理部５０からのデジタル画像データに対して印刷出力用の色補正処理を施し（これを特に後段の色補正処理という）、この色補正処理が施されたデジタル画像データに基づいて、印刷用の２値化データを生成し画像形成ユニット３２に渡す。このため、後段色信号処理部６０は、画像編集部６２、ＭＴＦ補正部６４、出力階調補正部６６、および中間調生成部６８を有する。
【００６０】
画像編集部６２は、イメージ圧縮伸張処理部５０からのデジタル画像データ（ＣＭＹＫなど）に応答して作成される出力画像のトナー像を調整するために、色分解の直線化または同様の処理をする。また、画像編集部６２は、エッジ強調用空間フィルタを用いて、復号化部５６から順次一定間隔をおいて読み出されたＹ，Ｍ，Ｃ，Ｋの各色の復号化画像データを、エッジ強調処理することで、画像のシャープネスを調整する。
【００６１】
ＭＴＦ補正部６４は、画像の空間周波数特性を補正する。出力階調補正部６６は、エッジ強調およびＭＴＦ補正されたＹ，Ｍ，Ｃ，Ｋの各色のデジタル画像データを、たとえばルックアップテーブルを参照しガンマ補正する。また、出力階調補正部６６は、プリント出力信号処理系統の内部の特性値である濃度あるいは明度を表す各色の画像データＹ，Ｍ，Ｃ，Ｋを、プリントエンジン７０の特性値の面積率に応じて、色補正処理（ＴＲＣ処理；Ｔｏｎｅ　Ｒｅｐｒｏｄｕｃｔｉｏｎ　Ｃｏｒｒｅｃｔｉｏｎ）する。
【００６２】
中間調生成部６８は、前述の各処理が施されたデジタル画像データに基づいて、ハーフトーニング処理をして疑似中間調画像を表す２値化データを得、この２値化データを画像形成ユニット３２に渡す。
【００６３】
画像形成ユニット３２は、その主要部であるプリントエンジン７０と、このプリントエンジン７０の主にメカニカルな動作を制御するためのＩＯＴコントローラ７２とを有する。
【００６４】
画像形成ユニット３２の主要部であるプリントエンジン７０は、たとえば電子写真プロセスを利用するものであるのがよい。電子写真プロセスを利用するものの場合、プリントエンジン７０は、光走査装置を備える。たとえばプリントエンジン７０は、光ビームを発するレーザ光源７４と、後段色信号処理部６０から出力された印刷用の２値化データに従ってレーザ光源７４を制御すなわち変調するレーザ駆動部７６と、レーザ光源７４から発せられた光ビームを感光性部材（たとえば感光体ドラム）７９に向けて反射させるポリゴンミラー（回転多面鏡）７８とを有する。
【００６５】
この構成により、プリントエンジン７０は、レーザ光源７４が発生する光ビームをポリゴンミラー７８上の複数の面で反射させて感光性部材７９を露光し、スキャン走査によって感光性部材７９上に潜像を形成する。潜像が形成されると、当該技術分野で公知の多数の方法のうち任意の方法に従って像を現像し、さらに所定の印刷媒体に転写してカラー画像を可視像として出力する。
【００６６】
得られた印刷物は、図示しない定着器により定着され、印刷用紙は両面複写のために両面複写ユニット３４（図１参照）により裏返されるか、または直ぐに排紙ユニット３６（図１参照）へ引き渡され排紙される。
【００６７】
なお、プリントエンジン７０は、前述のように、電子写真方式のものに限らず、たとえば感熱式プリンタやインクジェットプリンタまたは粒子線写真プリンタなどで実施することもできる。
【００６８】
図３は、図１に示した画像出力端末７における、画像の圧縮／伸張処理に関わる機能部分と、電源管理に関わる機能部分とに着目した、ハードウェア構成のブロック図である。
【００６９】
画像出力端末７の処理基板３８（１枚とは限らない）上には、システムバス１１０、中央演算処理部の一例であるＣＰＵ１２０、電源供給時にのみ記憶内容を保持する揮発性の記憶媒体の一例であるメインメモリ（主記憶部）１３０、不揮発性の記憶媒体の一例であるＲＯＭ１３２、ＤＭＡ（Ｄｉｒｅｃｔ　ｍｅｍｏｒｙ　Ａｃｃｅｓｓ　）コントローラ（ＤＭＡＣ）１５０、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）コントローラ１５２、割込コントローラ１５４、発振器（ＯＳＣ）１６０、リアルタイムクロック（ＲＴＣ）１６２、ＥＥＰＲＯＭ（電気的消去可能なプログラマブルメモリ）１７０などが搭載されている。また、処理基板３８上には、電源管理（Ｐｏｗｅｒ　Ｍａｎａｇｅｍｅｎｔ）処理制御部２００が搭載されている。また、処理基板３８の近傍には、ハードディスク装置５４が設けられる。
【００７０】
ＣＰＵ１２０は、この画像出力端末７全体の動作制御およびデータ処理を実行するメインコントローラであり、オペレーティングシステムＯＳの制御下で、各種プログラムを実行するようになっている。このＣＰＵ１２０としては、パワーマネージメント割込ＰＭＩ（Ｐｏｗｅｒ　Ｍａｎａｇｅｍｅｎｔ　Ｉｎｔｅｒｒｕｐｔ）をサポートするものが使用される。この場合、ＣＰＵ１２０は、アプリケーションプログラムやオペレーティングシステムＯＳなどのプログラムを実行するための動作モードとして通常動作モードの他、パワーマネージメント管理モードＰＭＭ（Ｐｏｗｅｒ　Ｍａｎａｇｅｍｅｎｔ　ｍｏｄｅ　）と称される電源管理機能を実現するための動作モードを有している。
【００７１】
メインメモリ１３０は、ＣＰＵ１２０が実行するプログラムをロードしたり、作業領域として使用するためのＲＡＭ（ｒａｎｄｏｍ　ａｃｃｅｓｓ　ｍｅｍｏｒｙ）などの揮発性の半導体メモリである。メインメモリ１３０内にプログラムコードやデータが収まりきらなくなった場合には、仮想メモリシステムとファイルシステムとの協調動作によって、ハードディスクなどの補助記憶装置との間で入れ替え（スワッピング）が行なわれるようになっている。
【００７２】
ＲＯＭ１３２は、システムＢＩＯＳ（Ｂａｓｉｃ　Ｉ／Ｏ　Ｓｙｓｔｅｍ）など不揮発性を要するデータを記憶するためのものであり、プログラム書替えが可能なようにフラッシュメモリなどの不揮発性の半導体メモリによって構成されている。
【００７３】
また、ＲＯＭ１３２には、ＢＩＯＳドライバ群の他に、ＰＭ（Ｐｏｗｅｒ　Ｍａｎａｇｅｍｅｎｔ）イベントハンドラやハイバネーションルーチンあるいは再起動ルーチンなどのパワーマネージメント管理モードＰＭＭの中で実行される電源管理プログラム（後述する図８を参照）など、不揮発性を必要とするプログラムが格納されている。ＰＭイベントハンドラは、割込コントローラ１５４からのパワーマネージメント割込ＰＭＩの発生要因に応じて各種ＰＭＩサービスルーチンを起動するためのものである。
【００７４】
ハードディスク装置５４は、図２にても述べたように、データ圧縮された印刷イメージデータを保存する画像記憶部としても使用される他に、この画像出力端末７の補助記憶装置（２次記憶部）としても使用されるものである。このハードディスク装置５４の記憶エリアの一部にはハイバネーションボリュームとハイバネーションパワーオフシグネチャ設定エリアとハイバネーション完了フラグ設定エリアとが確保される。ハードディスク装置５４へのアクセスは、オペレーティングシステムＯＳの一部であるファイルシステムの制御下に置かれる。
【００７５】
ハイバネーションボリュームとハイバネーションパワーオフシグネチャ設定エリアとハイバネーション完了フラグ設定エリアとは、ハードディスク装置５４の初期化およびテスト時にシステムＢＩＯＳによって確保され、これらハイバネーションボリュームなどを除く他の記憶領域がＯＳに解放される。
【００７６】
ＤＭＡコントローラ１５０は、ＣＰＵ１２０の介在無しにメインメモリ１３０と周辺デバイスとの間でのデータ転送を行なわせるための周辺コントローラである。
【００７７】
Ｉ／Ｏコントローラ１５２は、シリアルポートやパラレルポート経由で、図示しないパソコン（図１参照）などのホスト装置としての画像入力端末３のデータ入出力を制御するための周辺コントローラである。
【００７８】
発振器１６０は、ＣＰＵ１２０などのような同期駆動するデバイスや、タイマ機能を持ったデバイスに対してクロック信号を与えるための機能部である。
【００７９】
リアルタイムクロック１６２は、一定時間間隔の信号を発生する、実時間計測のための機能部（時計モジュール）である。このリアルタイムクロック１６２は、図中点線で示すように、独自の電池によりバックアップされたＣＭＯＳメモリ１６４を有する構成としてもよい。この場合、ＣＭＯＳメモリ１６４には、パワーアップモードとしてブートモードとレジュームモードを選択するための情報などを含むシステムコンフィグレーション情報と、ハイバネーション完了フラグなどを設定することができる。なお、ＣＭＯＳメモリ１６４を備えない構成とする場合、このＣＭＯＳメモリ１６４のメモリ機能をハードディスク装置５４にて実行する。
【００８０】
ブートモードは、画像出力端末７がパワーオンされたときに通常通りオペレーティングシステムを立ち上げるためのブートストラップ（Ｂｏｏｔｓｔｒａｐ　）処理を起動するモードである。また本実施形態のレジューム（Ｒｅｓｕｍｅ）モードは、電源オフ時にハイバネーション処理を実行し、画像出力端末７がパワーオンされたときに、ハードディスク装置５４にセーブされている内容を元のメインメモリ１３０およびＣＰＵ１２０などにリストアするモード（ハイバネーション機能による再起動モード）である。
【００８１】
本実施形態においては、パワーマネージメント管理モードＰＭＭにおいて、ハイバネーションルーチンなどの電源管理プログラムが実行される。また、パワーマネージメント割込ＰＭＩは、優先度の高い最優先度の割り込みである。このパワーマネージメント割込ＰＭＩを発行することによって、電源管理プログラムを、実行中のアプリケーションプログラムやオペレーティングシステムＯＳの環境に依存せずに起動することができる。
【００８２】
たとえば、ＰＭイベントハンドラは、電源オフ操作に起因するパワーマネージメント割込ＰＭＩが発生した場合にはハイバネーションルーチンを起動し、他の要因によるパワーマネージメント割込ＰＭＩが発生した場合にはその要因に対応するＰＭＩサービスルーチン、たとえば通常の電源オン／オフ処理ルーチンを起動する。すなわち、電源管理管理割込みＰＭＩがＣＰＵ１２０に発行されたとき、ＣＰＵ１２０の動作モードは、そのときの動作モードである通常動作モードから、ＰＭイベントハンドラに制御がスイッチされる。
【００８３】
電源管理管理割込みＰＭＩによってパワーマネージメント管理モードＰＭＭにスイッチすると、ＣＰＵ１２０は、その時点のＣＰＵレジスタの内容であるＣＰＵステータスをメインメモリ１３０の予め定められている記憶領域（ワークエリア）にセーブする。そして、ハイバネーションルーチンを起動し、メインメモリ１３０の前記ワークエリアにセーブした内容を、ハードディスク装置５４の予め定められているハイバネーション記憶領域に格納する。
【００８４】
このように、メインメモリ１３０にハイバネーション処理用のワークエリアを設けるのは、ハイバネーションルーチン処理の際にもメインメモリ１３０を利用可能とするためである。なお、ＣＰＵ１２０内の内部メモリだけでハイバネーションルーチン処理が可能であれば、電源管理管理割込みＰＭＩがあった時点のメインメモリ１３０の全内容を、ハードディスク装置５４のハイバネーション記憶領域に直ちに格納すればよい。
【００８５】
なお本実施形態では、パワーマネージメント管理モードＰＭＭにおいて復帰命令が実行されると、ＣＰＵ１２０はハードディスク装置５４の前記ハイバネーション記憶領域からＣＰＵレジスタにＣＰＵステータスをリストアし、パワーマネージメント割込ＰＭＩ発生前の動作モードに復帰するようにする。
【００８６】
ＥＥＰＲＯＭ１７０は、再書き込み可能な不揮発性半導体メモリであり、システムの機密保全に必要な情報を保管するために設けられている。
【００８７】
電源管理処理制御部２００は、パワーマネージメント割込ＰＭＩ発生制御のためのハードウェア部分であり、電源コントローラ（ＰＳＣ；Ｐｏｗｅｒ　Ｓｕｐｐｌｙ　Ｃｏｎｔｒｏｌｌｅｒ　）２１０、電源管理起動部２２０、および電力制御レジスタ２３０を有する。電源コントローラ２１０には、メカニカルな電源スイッチ２１２や操作パネル１４（図１参照）を介したソフト的な電源スイッチ（パネルスイッチ）２１４から電源オンオフ信号が入力される。
【００８８】
電源管理起動部２２０は、電源コントローラ２１０を介して電源スイッチ２１２の押下または操作パネル１４上のソフト的な電源スイッチ２１４によって電源のオンオフ操作があったことを通知されたとき、電源管理処理を起動するためのパワーマネージメント割込ＰＭＩ信号を発生する。
【００８９】
なお、この電源管理起動部２２０は、電源コントローラ２１０を介したパワーマネージメント割込ＰＭＩ発生制御だけでなく、他の要因によるパワーマネージメント割込ＰＭＩ信号も発する。たとえば、ソフトウェアからのパワーマネージメント割込ＰＭＩや外部入力パワーマネージメント割込ＰＭＩなどである。
【００９０】
電力制御レジスタ２３０は、パワーマネージメント割込ＰＭＩ発生要因を示すステータスデータを保持するためのものである。この電力制御レジスタ２３０は、パワーマネージメント割込ＰＭＩ信号が発せられると、そのパワーマネージメント割込ＰＭＩ信号をＣＰＵ１２０に供給する。そして、電力制御レジスタ２３０は、ＣＰＵ１２０がパワーマネージメント管理モードＰＭＭを抜けるまでパワーマネージメント割込ＰＭＩ信号をアクティブステートに維持し続ける。
【００９１】
図４は、ソフトウェアの構成との関係におけるＣＰＵ１２０の働きを説明する図である。この図４に示すようなソフトウェア構成自体は、よく知られた技術である。
【００９２】
たとえば、デバイスドライバは、最下層のソフトウェアである。デバイスドライバは上位のソフトウェア（オペレーティングシステムなど）が発行するコマンドを各デバイスドライバ固有のハードウェアを駆動するのに適した形式に変換する。デバイスドライバは、通常周辺のハードウェア装置（デバイス）、たとえばＨＤＤコントローラやプリントエンジンごとに設けられている。
【００９３】
デバイスドライバの中には、対応するデバイスをタイムクリティカルに駆動する部分が含まれている。そのため、デバイスドライバの内のタイムクリティカルに駆動する部分は、通常メインメモリ１３０上に常駐するようになっている。そして、このタイムクリティカルに駆動する部分を除く各デバイスドライバは、補助記憶装置としてのハードディスク装置５４から適宜メインメモリ１３０にロードされる。
【００９４】
システムＢＩＯＳは、画像出力端末７内の各種ハードウェアをアクセスするファンクション実行ルーチンを体系化したものである。システムＢＩＯＳには、画像出力端末７の通常のパワーオンオフ時に実行される起動停止処理ルーチンや、その時点の状態から再起動させるためのハイバネーション処理ルーチンと、各種ハードウェア制御のためのＢＩＯＳドライバ群などが含まれている。各ＢＩＯＳドライバは、ハードウェア制御のための複数の機能をオペレーティングシステムＯＳやアプリケーションプログラムに提供するためにそれら機能に対応する複数のファンクション実行ルーチン群を含んでいる。
【００９５】
オペレーティングシステムＯＳは、ハードウェアおよびソフトウェアを総合的に管理するための基本ソフトウェアである。オペレーティングシステムＯＳは、通常カーネル領域とユーザ領域で構成される。
【００９６】
カーネル領域とは、システム全体の動作を監視して、アプリケーションなどの各種プログラムの実行を支援するための各基本機能が集まった部分である。カーネル領域のコア部分（カーネルコア）には、補助記憶装置としてのハードディスク装置５４へのファイル記録などを管理するためのファイルシステム、タスク実行の順序や優先度を管理するタスク管理、メモリ領域の割当て行なうためのメモリ管理などを含んでいる。
【００９７】
カーネルコアの部分は、タイムクリティカルな処理を行なうので、その作業データとともに物理メモリに常駐するようになっている。これらは仮想記憶システム下でも、常にメインメモリ１３０に常駐する。
【００９８】
一方、ユーザ領域とは、主にユーザが選択したアプリケーションを支援するための機能からなる。ユーザの指令を解釈してカーネルコアに伝えるとともに、カーネルコアからの応答をユーザに伝えるためのコマンド言語インタプリタは、このユーザ領域に含まれる。
【００９９】
ユーザ領域は、カーネルとユーザの間に介在する部分であり、タイムクリティカルなプログラムはない。したがって、メインメモリ１３０上に常駐させておく必要はない。これらは補助記憶装置としてのハードディスク装置５４に適宜スワップアウトされてもよい。
【０１００】
最上位層のアプリケーションプログラムは、システムの実務的な目的のために使用するプログラムである。たとえば、画像出力端末７を印刷装置として利用する場合においては、ＰＤＬデータなどのページ記述言語を解釈し印刷イメージに変換するデコンポーザ（描画展開部）などがこれに含まれる。これらアプリケーションは物理メモリ上に常駐する必要はなく適宜補助記憶装置としてのハードディスク装置５４へスワップアウトさせてもよい。
【０１０１】
また、本実施形態の画像出力端末７は、前述のように複合機として構成されているとともに、現在市販されている他の多くのＰＣと同様に、仮想記憶なる技術を採用している。
【０１０２】
仮想記憶とは、ハードディスク装置５４などの補助記憶装置に対して論理的なアドレス（仮想アドレス）を割り振ることによって、その論理的なアドレスを、限られた空間（領域）しかないメインメモリ１３０の一部の領域であるかごとく扱う技術である。仮想メモリ空間は、たとえば４ＧＢ程度などの広い領域を持つ。仮想記憶によって、アプリケーション側から見たメインメモリ１３０の容量を現実の物理的大きさ（たとえば３２ＭＢ）よりも見かけ上大幅に超える領域にまで拡大させることができ、大規模プログラムやデータを扱うことができる。上述したプログラムやその作業データは、仮想記憶システム下では仮想アドレスが割り当てられている。
【０１０３】
図５は、仮想記憶システムの一例を示した模式図である。メインメモリ１３０の物理的な容量はたとえば３２ＭＢ程度であり、これに対し仮想メモリは４ＧＢ程度の広大な空間である。当然仮想アドレスの一部の領域しかメインメモリ１３０上には存在できない。すなわち、仮想アドレスはメインメモリ１３０上に存在している場合もあるし補助記憶装置に既にスワップアウトされたページもある。
【０１０４】
仮想メモリアーキテクチャにおいて、これを利用するアプリケーションに対しては、仮想アドレスである論理アドレスを提供する。つまり、アプリケーション側がメインメモリ１３０に対しての読み書きを行なう場合には、この論理アドレスを用いる。そして、論理アドレスによって構成される空間を仮想メモリ空間という。これに対して、実際にメインメモリ１３０の素子に付けられている物理アドレス（実アドレス）の存在も必要不可欠となる。この実アドレスによって構成される空間を実メモリ（ｒｅａｌ　ｍｅｍｏｒｙ　）空間という。アプリケーション側は、この実アドレスを知る必要はない。
【０１０５】
このように、論理アドレスと物理アドレスという２つのアドレスが存在することによって仮想メモリが実現する。２つのアドレスの関連づけをメモリマッピング（ｍｅｍｏｒｙ　ｍａｐｐｉｎｇ）という。仮想メモリへのアクセスは、ＣＰＵ１２０の果たす重要な機能の１つであるメモリ管理とオペレーティングシステムＯＳが協調して実現する。殆どのＣＰＵ１２０はメモリ管理ユニットＭＭＵ（Ｍｅｍｏｒｙ　Ｍａｎａｇｅｍｅｎｔ　Ｕｎｉｔ）を内蔵、または別チップで用意する。
【０１０６】
メモリ管理ユニットＭＭＵには２つの機能がある。メモリマッピング（写像／アドレス変換ともいう）を利用した仮想アドレスの参照という形態で行なわれる仮想記憶制御機能と、メモリ保護機能である。メモリマッピングとは、仮想アドレスをデータが実際に入っている物理アドレスに変換して、仮想メモリ空間へアクセスを可能にすることである。
【０１０７】
メモリ管理の他の機能であるメモリ保護は、仮想メモリ空間の各ページフレームのメモリ使用情報を管理することである。ここでメモリ使用情報とは、ページフレームが有効かあるいは無効かいうことを示す。仮想アドレスに対応する物理アドレスや、ページフレームデータベースの内容は、ページのスワッピングの際に変動する場合がある。メモリ管理では変更が生じる都度、これらの内容を更新するようになっている。
【０１０８】
メモリマッピングにおいては、たとえば、プログラムが論理アドレス空間にアクセスしようとすると、ＣＰＵ１２０は、論理アドレスを物理アドレスに変換し（マッピングし）、変換した物理アドレスを含むブロックが物理メモリ上に存在するかどうかチェックする。そして、マッピングの結果参照されたブロックが存在するときは、メモリ管理ユニットＭＭＵに主記憶アクセスを要求する。このようにして、マッピングの結果参照された仮想アドレスが物理メモリ上にあれば、物理メモリ上の該当アドレスのデータをそのまま要求元に渡してやる。
【０１０９】
一方、物理メモリに存在しないとき（フォールトという）は、ＣＰＵ１２０は、オペレーティングシステムＯＳに制御を渡す。オペレーティングシステムＯＳは、必要なブロックを補助記憶装置（本例ではハードディスク装置５４）から物理メモリに持ってきてから制御をＣＰＵ１２０に戻す。つまり、仮想アドレスがメインメモリ上に存在しない場合には、ファイルシステムに対して対応のアドレスデータをメインメモリ上にスワップインすることを要求する。
【０１１０】
このときメインメモリ１３０が既に他の有効ページで溢れている状態であれば、オペレーティングシステムＯＳは、スワップインのためのページを確保するべく、他の幾つかのページを補助記憶装置にスワップアウトする（不必要なブロックと入れ替える）ようファイルシステムに要求する。
【０１１１】
またメモリマッピングにおいては、仮想メモリ空間（論理アドレス空間）を複数のブロック（小片）に分割して管理することが多く、一般的には可変長サイズのページ（ｐａｇｅ）、あるいはページを複数組み合わせた可変長サイズのセグメント（ｓｅｇｍｅｎｔ　；複数のページの集合体）という単位で分割されて取り扱われる。
【０１１２】
そして、メモリマッピング手法には、たとえば、ページング（ｐａｇｉｎｇ）方式、セグメンテーション（ｓｅｇｍｅｎｔａｔｉｏｎ）方式、ページセグメンテーション（ｐａｇｅｄ　ｓｅｇｍｅｎｔａｔｉｏｎ）方式の３つの方式が代表的なものである。ページング方式とセグメンテーション方式は、一長一短があり、セグメント方式はプログラムからは扱いやすいが、物理メモリの使用効率が落ちる一方、ページング方式はその逆である。このため両方式を併用するようにした方式がページセグメンテーション方式である。
【０１１３】
たとえばページング方式は、プログラムをその論理的意味とは無関係に、仮想メモリ内をページという固定長の単位で区分けし、この単位にマッピングを行なう手法である。スワッピングはページ単位で行なう。ページング方式は、構造的にシンプルであるためメモリ管理を容易に行なうことができ、メインメモリサイズを超えた仮想メモリ空間も複数ページを組み合わせて実現することができる。
【０１１４】
図６は、ページング方式を使用したメモリマッピングの仕組みを説明する図である。ページング方式を採用した場合の仮想記憶システム下では、仮想ページの物理メモリ中の位置を掌握するために、たとえば図６のような構造のページテーブルを生成する。図６において、１つの仮想アドレスは、３２Ｂｉｔで形成されるが、上位１０ビットはディレクトリオフセットを、次の１０ビットはページテーブルオフセットを、残りの１２ビットはページオフセットをそれぞれ格納するためのフィールドである。
【０１１５】
ディレクトリオフセットはページディレクトリの先頭アドレスに対するオフセット値であり、ページディレクトリ中の該当するレコードには対応するページテーブルの先頭アドレスが記録されている。
【０１１６】
ページテーブルオフセットは、ページテーブルの先頭アドレスに対するオフセット値であり、ページテーブルの中の該当するレコードに対応するページフレームの先頭アドレスと、該ページのフレームの属性情報とが記録されている。
【０１１７】
ページオフセットは、ページフレームの先頭に対するオフセット値であり、物理アドレスの下位ビットそのものである。つまり、“ページフレームの先頭アドレス”＋“ページオフセット”が現実の物理アドレスを表す。
【０１１８】
ページフレームは、物理アドレス上のページそのものであり、その内容は実際のコードやデータである。
【０１１９】
ディレクトリオフセットには１０ビットが割り当てられているので、１０２４（＝２１０）個のページテーブルをアドレス可能である。また、ページテーブルには１０ビット割り当てられているので１０２４（＝２１０）個のページフレームをアドレス可能である。また、１個のページフレームは、４ＫＢの大きさを持っている。オペレーティングシステムのカーネルの一部であるメモリ管理では、上述したページテーブルを適宜利用できるようになっている。
【０１２０】
図７は、図１に示した画像出力端末７における電源管理手法において、ハイバネーションルーチンで実行されるハイバネーション処理の原理を説明する図である。
【０１２１】
ハードディスク装置５４には、メインメモリ１３０の内容が格納される領域であるハイバネーションボリュームが確保される。また、ハイバネーション処理では、ワークエリア１３０ａを含むメインメモリ１３０の内容が補助記憶装置としてのハードディスク装置５４のハイバネーションボリュームにセーブされるが、このとき、セーブ対象となる全メモリ空間（メモリイメージ）は、複数のメモリブロック（本実施形態ではメインメモリ１３０のページ単位相当）に分割され、ページ単位でハードディスク装置５４にデータ転送が行なわれる。
【０１２２】
図７においては、説明を簡単にするために、セーブ対象となる全メモリ空間がメモリページ＃１からメモリページ＃７の７個のメモリページに分割されている場合を例示している。メモリページ＃６および＃７は、ハイバネーション処理時のワークエリア１３０ａである。ハードディスク装置５４へのデータ転送処理は、メモリページ＃１からメモリページ＃７の順番で実行される。１つのメモリページの転送が完了すると、次のメモリページのデータをハードディスク装置５４に転送する処理を開始する前に、ハードウェアステータスのチェックを行なう。このハードウェアステータスのチェックは、ユーザから所定の入力イベントがハイバネーション処理期間中に発生されたか否かを検出するためのものである。
【０１２３】
所定の入力イベントの発生が検出されたときは、ハイバネーション処理はその時点で中断され、ＣＰＵ１２０および他のハードウェアは全てパワーマネージメント割込ＰＭＩ信号発生前の状態に復元され、割込み元のプログラムに制御が戻される。入力イベントとしては、図示しないキーボードからのキー入力、ポインティングデバイスの操作、操作パネル１４へのタッチなどを利用することができる。これらは、それぞれキーボードコントローラのキーバッファをリードしたり、電源コントローラ２１０のステータスレジスタをリードすることなどによって検知することができる。
【０１２４】
図８および図９は、ハイバネーション処理におけるパワーマネージメント割込ＰＭＩ信号の発生からハイバネーションルーチンが起動されるまでの一連の動作を説明する図である。ここで、図８は、ハイバネーション処理に関わるメインメモリ１３０とＲＯＭ１３２との関係を示した図、図９ハイバネーション処理手順の一例を示したフローチャートである。
【０１２５】
複写装置や印刷装置などの機能を備えた画像出力端末７におけるハイバネーションモードへの移行は、メイン電源のスイッチのオフにより発行されるイベントであるパワーマネージメント割込ＰＭＩによって始まる。
【０１２６】
なお、本実施形態においては、ジャンプコードの実行によって呼び出されたＰＭイベントハンドラは、どのような要因でパワーマネージメント割込ＰＭＩ信号が発生されたかを決定するために、ＰＭＩ発生要因をチェックする。この処理では、電力制御レジスタ２３０にセットされているＰＭＩステータス情報が参照される。電源オフに起因するパワーマネージメント割込ＰＭＩ信号であれば、ＰＭイベントハンドラは、ＲＯＭ１３２のハイバネーションルーチンの実行をリクエストする。これにより、ハイバネーションルーチンがパワーマネージメント管理モードＰＭＭの中で実行されるようになる。
【０１２７】
たとえば、電源コントローラ２１０は、電源オフ指令の有無を監視する（Ｓ２００）。電源コントローラ２１０は、ユーザによって電源スイッチ２１２がオフされたり、またはユーザによって操作パネル１４上の表示されている電源スイッチ２１４が操作され電源オフ指令があったことを検知すると、電源オフ要因が発生したことを電源管理起動部２２０に通知する（Ｓ２００−ＹＥＳ，Ｓ２０２）。電源管理起動部２２０は、この通知に応答してパワーマネージメント割込ＰＭＩ信号を発生し、このパワーマネージメント割込ＰＭＩ信号を電力制御レジスタ２３０を介してＣＰＵ１２０に供給する（Ｓ２０４）。
【０１２８】
ＣＰＵ１２０がパワーマネージメント割込ＰＭＩ信号を電力制御レジスタ２３０から受け取ると、システムの制御権は実行中のオペレーティングシステムＯＳまたはアプリケーションから一旦ＰＭ（パワーマネージメント）イベントハンドラに移され、パワーマネージメント管理モードＰＭＭに切り替わる（Ｓ２０６）。ＰＭイベントハンドラは、オペレーティングシステムＯＳのユーザ領域にあるＰＭサーバにハイバネーションモードへの移行を知らせる（Ｓ２０８）。
【０１２９】
ＰＭサーバでは、アプリケーションプログラムに対して、ハイバネーションモードの通知と認証応答を行なう（Ｓ２２０）。ハイバネーションモードの移行を知らされたアプリケーションプログラムでは、直ちに処理を中断できないときにはＰＭサーバへのハイバネーションモードへの移行を一時的に拒否することもできる。またアプリケーションプログラムが使用している領域のメモリ情報をオペレーティングシステムＯＳのカーネルに知らせることもできる（Ｓ２２２−ＮＯ）。
【０１３０】
ＰＭサーバでは、アプリケーションプログラムがハイバネーションモードへの移行を拒否しなかった場合（Ｓ２２２−ＹＥＳ）、オペレーティングシステムＯＳのカーネル領域にあるＰＭシステムコールを呼び出す（Ｓ２２４）。これにより制御権はパワーマネージメント管理モードＰＭＭのコア部分に移る。
【０１３１】
たとえば、図８に示すように、パワーマネージメント管理モードＰＭＭに入ると、ＰＭコアは、先ず、メインメモリ１３０上のハイバネーション処理用のワークエリア１３０ａに所定のメモリアドレスをマッピングする。これにより、ワークエリア１３０ａがアクセス可能となる。
【０１３２】
ワークエリア１３０ａには、ＣＰＵステートセーブエリア、ＣＰＵ１２０以外の他のハードウェアに関するステータスを格納するハードウェアステータスセーブエリアなどが設けられており、またＲＯＭ１３２のＰＭイベントハンドラを割り込み先として指定するジャンプコードがセットされている。ＲＯＭ１３２には、再起動ルーチン、ＰＭイベントハンドラ、ハイバネーションルーチン、および複数のＢＩＯＳドライバ群を含むシステムＢＩＯＳが格納されている。
【０１３３】
次いで、ＣＰＵ１２０は、パワーマネージメント割込ＰＭＩ信号が入力された時点のＣＰＵ１２０の各種レジスタの内容であるＣＰＵステータス（コンテキストともいう）をワークエリア１３０ａのＣＰＵステートセーブエリアにスタック形式でセーブする（Ｓ２２６）。そしてＣＰＵ１２０は、パワーマネージメント管理モードＰＭＭのスタートアドレスのコード、つまりワークエリア１３０ａにセットされているジャンプコードをフェッチし、そのジャンプコードで指定されるＲＯＭ１３２のＰＭ（パワーマネージメント）イベントハンドラを実行する。
【０１３４】
たとえば、ＰＭコアでは、先ず、システム内のメモリおよびハードウェアをチェックして、メモリおよびハードウェアについてのテストおよび初期化を実行する（Ｓ２３０，Ｓ２３２）。これらテストおよび初期化処理においては、たとえば、メインメモリ１３０の物理サイズおよびハードディスク装置５４の構成（ヘッド数、シリンダ数、セクタ数）を調べる。そして、ＰＭコアは、メインメモリ１３０のメモリサイズに相当するハイバネーションボリュームを、ハードディスク装置（ＨＤＤ）５４上に確保する（Ｓ２３４）。
【０１３５】
この場合、実際には、ハードディスク装置５４の全記憶サイズ（ヘッド数、シリンダ数、セクタ数によって決定される）の中からメインメモリ１３０のメモリサイズに相当するサイズがハードディスク装置５４の記憶エリアの最後尾側にハイバネーションボリューム（ハイバネーション完了フラグエリアを含む）として確保され、そのハイバネーションボリュームのサイズを差し引いた残りの記憶エリア（ヘッド数、シリンダ数、セクタ数）がハードディスク装置５４の構成としてオペレーティングシステムＯＳに通知される。これにより、ハイバネーションボリュームはハイバネーションルーチンによって排他的に使用され、オペレーティングシステムＯＳによって使用されることはない。このことは、ハイバネーション処理の実行によるシステムデータおよびユーザデータの破壊、およびハイバネーション処理でセーブされた内容の破壊を防止できることを意味する。
【０１３６】
次にＰＭコアは、各デバイスドライバとの間でハイバネーション要求の通知と認証応答を行なう（Ｓ２４０）。通知を受けた各デバイスドライバは、必要なハードウェアコンテキストをメインメモリ１３０上の自己の作業領域であるワークエリア１３０ａ（詳しくはハードウェアステートセーブエリア）にセーブする（Ｓ２４２）。
【０１３７】
次にＰＭコアは、ハイバネーション処理の中断要因として予め決められているユーザからの入力イベント（キー入力や電源スイッチ２１２の操作、あるいは操作パネル１４へのタッチなど）の発生の有無を調べる（Ｓ２４４）。
【０１３８】
いずれの入力イベントも発生してない場合には（Ｓ２４４−ＮＯ）、ＰＭコアは、図７で示したように、ワークエリア１３０ａを含むメインメモリ１３０の内容であるセーブ対象の全メモリ空間（メモリイメージ）を、メモリページ単位で、補助記憶装置の一例であるハードディスク装置５４のハイバネーションボリュームに転送してセーブする（Ｓ２５０）。この際、必要に応じて、ページデータを、そのページデータの内容に応じた方法により圧縮してからセーブする。
【０１３９】
ＰＭコアは、１メモリページ分の転送が完了すると、全メモリページ分の転送が完了したか否かを調べ（Ｓ２５２）、完了していない場合には、完了するまでステップＳ２４４〜Ｓ２５２の処理を繰り返し実行する。
【０１４０】
一方、ＰＭコアは、ステップＳ２４４において入力イベントの発生を検出すると（Ｓ２４４−ＹＥＳ）、ハイバネーション中断処理を開始し、ワークエリア１３０ａのＣＰＵステートおよびハードウェアステートをそれぞれＣＰＵ１２０のレジスタおよび該当するハードウェアのレジスタにリストアする（Ｓ２６０）。これにより、復帰命令が実行され、パワーマネージメント割込ＰＭＩによって割り込まれたプログラムに制御が戻される。これにより、パワーマネージメント割込ＰＭＩ発生前の動作環境が復元される。
【０１４１】
これに対して、ハイバネーション処理中に入力イベントが発生せずに全てのメモリページの転送が完了した場合には、ＰＭコアは、最後に、システムのコンフィグレーションデータ（ハードウェア情報）をハードディスク装置５４に転送して、ハイバネーションモードによるパワーオフであることをハードディスク装置５４のハイバネーションパワーオフシグネチャ設定エリア（図７参照）に記録する（Ｓ２７０）。また、ＰＭコアは、リアルタイムクロック１６２がＣＭＯＳメモリ１６４を備えていれば、このＣＭＯＳメモリ１６４にハイバネーション完了フラグをセットし（Ｓ２７２）、そうでないときにはハードディスク装置５４のハイバネーション完了フラグ設定エリア（図７参照）にハイバネーション完了フラグをセットした後（Ｓ２７４）、電源コントローラ２１０にパワーオフコマンドを送って画像出力端末７をパワーオフさせる（Ｓ２７６）。
【０１４２】
このように、本実施形態では、ハイバネーション期間中に定期的にハードウェアステータスをチェックすることによりユーザからの所定の入力イベントの有無を調査し、入力イベントの発生が検出された時点でハイバネーション処理を中断して画像出力端末７をパワーマネージメント割込ＰＭＩ信号発生前の作業状態に復元するようにした。このことにより、ユーザは、一旦ハイバネーション処理が開始された後においても、キー入力などを行なうことにより、ハイバネーション処理の完了を待つことなく即座にそれまでの作業を継続することが可能となる。
【０１４３】
図１０は、本実施形態におけるハイバネーション装置を説明する図である。ここで、図１０（Ａ）は、その機能ブロック図、図１０（Ｂ）は、メインメモリ１３０の内容と圧縮方法とを対応付けた表の一例を示す図である。
【０１４４】
図１０（Ａ）に示すように、ハイバネーション装置は、メモリイメージを格納するハードディスク装置５４と、メインメモリ１３０と、圧縮保存制御部の一例であるメモリイメージ保存制御部３００と、伸張回復制御部の一例であるメモリイメージ回復制御部３１０と、圧縮伸張処理部３２０とを備える。
【０１４５】
圧縮伸張処理部３２０は、ＣＰＵ１２０を使用して圧縮処理をするＣＰＵ圧縮部３２２と、これに対応して、ＣＰＵ１２０を使用して伸張処理をするＣＰＵ伸張部３２４とを有する。
【０１４６】
また圧縮伸張処理部３２０は、イメージ圧縮伸張処理部５０の符号化部５２（図２参照）を使用して圧縮処理をする印刷イメージ圧縮部３２６と、これに対応して、イメージ圧縮伸張処理部５０の復号化部５６を使用して伸張処理をする印刷イメージ伸張部３２８とを有する。
【０１４７】
メモリイメージ保存制御部３００は、圧縮伸張処理部３２０のＣＰＵ圧縮部３２２や印刷イメージ圧縮部３２６を制御して、メインメモリ１３０の内容をページごとにハードディスク装置５４にセーブする。また、メモリイメージ回復制御部３１０は、圧縮伸張処理部３２０のＣＰＵ伸張部３２４や印刷イメージ伸張部３２８を制御して、ハードディスク装置５４からメモリイメージを読み出してメインメモリ１３０に戻す。本実施形態では、オペレーティングシステムＯＳのカーネルコア部が、メモリイメージ保存制御部３００やメモリイメージ回復制御部３１０の機能をなす。ただし、これに限らず、専用のハードウェアにてこれらを構成してもよい。
【０１４８】
メモリイメージ保存制御部３００は、記憶内容解析部の機能も備えており、メインメモリ１３０に記憶されている記憶内容がイメージ圧縮伸張処理部５０の符号化部５２にて圧縮処理可能であるか否かをメモリページごとに解析し、その結果を纏めた表（圧縮方法テーブル）を作成する。
【０１４９】
圧縮効率を考えた場合、メインメモリ１３０の内容に応じて圧縮方法を選択できることが望ましい。特に印刷装置などの専用システムでは、メインメモリ１３０の内容の一部は、予測が可能であり、記憶内容に応じてＣＰＵ圧縮や印刷イメージ圧縮を切り替える、あるいは圧縮フォーマットを切り替えることが容易にできる。
【０１５０】
なお、本実施形態においては、メインメモリ１３０中の所望のデータを補助記憶装置の一例であるハードディスク装置５４にセーブする際には、メインメモリ１３０中のデータが、たとえばプログラムのテキスト部分のように、セーブしなくてもハイバネーションモードから復帰した後に再読み込み可能なページはセーブしない。
【０１５１】
このため、オペレーティングシステムＯＳのカーネルコア部は、セーブされるメモリページに対し、仮想アドレスを管理しているメモリ管理からのページ属性情報とアプリケーションプログラムからのページ情報とに基づいて、図１０（Ｂ）に示す圧縮方法の表を作成する。圧縮方法としては、メインメモリ１３０のページごとに、圧縮不要、ＣＰＵ圧縮、印刷イメージ圧縮の３種類に区分けする。
【０１５２】
そして、メモリイメージのハードディスク装置５４への転送格納の際には、メモリイメージ保存制御部３００は、作成した圧縮方法テーブルを参照して、ＣＰＵ圧縮部３２２と印刷イメージ圧縮部３２６とを切り替えながら、メモリイメージを圧縮してハードディスク装置５４に保存する。
【０１５３】
また、メモリイメージ回復制御部３１０は、圧縮処理に使用したＣＰＵ圧縮部３２２と印刷イメージ圧縮部３２６に対応して、伸張処理可能なＣＰＵ伸張部３２４と印刷イメージ伸張部３２８とを切り替えながら、ハードディスク装置５４から読み出した情報を伸張してメインメモリ１３０にメモリイメージを戻すことで、画像出力端末７の作動状態を復元する。
【０１５４】
図１１は、図１０に示した構成における圧縮処理手順の一例を示すフローチャートである。
【０１５５】
カーネルコア部は、先ず、処理対象のページデータが圧縮を要するか否かを判定する（Ｓ３００）。そして、圧縮を必要としない場合には、ＣＰＵ１２０は、「圧縮不要」を指定し、表に書き込む（Ｓ３００−ＮＯ，Ｓ３１０）。一方、圧縮した方がデータ量が少なくなるデータである場合には、「圧縮する」ことを選択する（Ｓ３００−ＹＥＳ，Ｓ３２０）。
【０１５６】
そして、「圧縮する」ことを選択する場合において、ページデータが、このページデータの圧縮処理に画像出力端末７が備えるイメージ圧縮伸張処理部５０を利用可能なデータである場合には、圧縮方法として印刷イメージの圧縮方法と同じ方法を指定する（Ｓ３２２−ＹＥＳ，Ｓ３２４）。それ以外の「圧縮する」ことを選択するページデータについては、ＣＰＵ圧縮を指定する（Ｓ３２４−ＮＯ，Ｓ３２６）。こうすることで、たとえばメインメモリ１３０のページデータが画像データである場合には、印刷イメージ圧縮の専用プロセッサを圧縮処理に使用することができるようになる。
【０１５７】
ハイバネーション処理におけるメモリページのセーブに際しては、メインメモリ１３０の内容（メモリデータ）のページ圧縮方法を表に従って切り替えながらハードディスク装置５４にメインメモリ１３０の内容をページごとにセーブする。このとき、圧縮方法として印刷イメージの圧縮方法と同じ方法が指定されることがあり、その場合は印刷イメージ圧縮の専用プロセッサを圧縮に使用する（図１０（Ｂ）参照）。
【０１５８】
すなわち、ＣＰＵ１２０は、先ず、前述のようにして作成した表を参照して、処理対象のページデータの圧縮の要否を判定する（Ｓ３３０）。「圧縮不要」が指定されていると、カーネルコア部は、そのページデータをそのままハードディスク装置５４に格納する（Ｓ３３０−ＮＯ，Ｓ３４０）。
【０１５９】
一方、「圧縮要」が指定されていると、カーネルコア部は、さらに、圧縮方法として印刷イメージの圧縮が指定されているか否かを判定する（Ｓ３３０−ＹＥＳ，Ｓ３５０）。
【０１６０】
ＣＰＵ１２０による圧縮処理を示す「ＣＰＵ圧縮」が指定されていると、ＣＰＵ１２０を使用してページデータを圧縮する（Ｓ３５０−ＮＯ，Ｓ３６０）。次に、カーネルコア部は、圧縮データが非圧縮データより大きくなったか否かを判定する（Ｓ３８０）。そして、圧縮データが非圧縮データより小さくなった場合には、ＣＰＵ１２０により圧縮処理された圧縮済のページデータをハードディスク装置５４に格納し（Ｓ３８０−ＹＥＳ，Ｓ３８４）、圧縮データが非圧縮データより小さくなった場合には、非圧縮データすなわち元のページデータそのものをハードディスク装置５４に格納する（Ｓ３８０−ＮＯ，Ｓ３８６）。
【０１６１】
一方、イメージ圧縮伸張処理部５０による圧縮処理を示す「印刷イメージ圧縮」が指定されていると、イメージ圧縮伸張処理部５０の符号化部５２を使用してページデータを圧縮する（Ｓ３５０−ＹＥＳ，Ｓ３７０）。次に、カーネルコア部は、圧縮データが非圧縮データより大きくなったか否かを判定する（Ｓ３８０）。そして、圧縮データが非圧縮データより小さくなった場合には、符号化部５２により圧縮処理された圧縮済のページデータをハードディスク装置５４に格納する（Ｓ３８０−ＹＥＳ，Ｓ３８４）。逆に、圧縮データが非圧縮データより小さくなった場合には、非圧縮データすなわち元のページデータそのものをハードディスク装置５４に格納する（Ｓ３８０−ＮＯ，Ｓ３８６）。こうすることで、メインメモリ１３０に印刷イメージが入っている場合に圧縮率を高めることができる。
【０１６２】
なお、ページデータの回復処理の際には、圧縮方法に対応した伸張処理をする必要がある。この場合、ハードディスク装置５４から読み出したデータ内容を解析することで圧縮方法を特定してもよい。あるいは、圧縮方法を示す情報をページデータと対応付けてハードディスク装置５４にセーブしたり、あるいは図１０（Ｂ）で示す表をハードディスク装置５４にセーブしてもよい。これらの場合、セーブしておいた情報を基にして簡単に圧縮方法を特定することができる。
【０１６３】
なお、圧縮保存方法では、ページデータの内容を圧縮保存時に調べながら、そのデータ形式に適した圧縮方法を決定する適応的（ａｄａｐｔｉｖｅ）な方法を選択するとよい。たとえば、パソコン３ａで生成された文書ファイルの印刷イメージであれば、ＪＰＥＧ形式で圧縮し、ＦＡＸ装置３ｅから受信したＦＡＸ画像であれば、ＴＩＦＦ形式で圧縮するなど適応的な方法を選択する。
【０１６４】
図１２は、パワーオン時に、ハイバネーション処理でセーブされた内容を復元するレジューム処理手順の一例を示すフローチャートである。
【０１６５】
ハイバネーションモードからの復帰は、メイン電源をオンすることによって始まる。すなわち、画像出力端末７がパワーオンされると、システムＢＩＯＳは、ブート直後にＲＯＭ１３２に書かれたブートストラッププログラムを実行する（Ｓ４００）。ブートストラッププログラムは、ＣＭＯＳメモリ１６４もしくはハードディスク装置５４のハイバネーション完了フラグ設定エリアをアクセスして、ハイバネーションモードによるパワーオフかどうかをチェックする（Ｓ４０２）。すなわち、現在のパワーアップモードがレジュームモードとブートモードのどちらに設定されているかを判断する。
【０１６６】
システムＢＩＯＳは、レジュームモードであれば、ＣＭＯＳメモリ１６４やハードディスク装置５４のハイバネーション完了フラグ設定エリアにハイバネーション完了フラグがセットされているか否かを調べることができる（Ｓ４０４）。
【０１６７】
ハイバネーションモードでない場合、すなわちパワーアップモードがブートモードの場合あるいはレジュームモードであってもハイバネーション完了フラグがセットされていない場合には、通常のブート処理を実施する、つまりオペレーティングシステムＯＳを起動するブートストラップ処理を実行する（Ｓ４０４−ＮＯ，Ｓ４０６）。
【０１６８】
一方、ハイバネーションモードによる電源再起動（パワーオン）であった場合、システムＢＩＯＳは、そのハイバネーション完了フラグ設定エリアのシグネチャ（データ内容やフラグ）を消す（Ｓ４０４−ＹＥＳ，Ｓ４０８）。
【０１６９】
次にシステムＢＩＯＳは、ハードディスク装置５４のハイバネーションボリュームにセーブしておいたメインメモリ１３０の内容をメインメモリ１３０に書き込む処理（セーブ内容のロード処理）を起動する（Ｓ４１０）。このとき全ての内容を一度に復帰するのではなく、たとえばセーブしておいたコンフィグレーションデータ（ハードウェア情報）やオペレーティングシステムＯＳの常駐を必要とする部分など一部必要な部分のみを最初に復帰させる。さらにこのとき、セーブしておいたメインメモリ１３０の内容が圧縮されている場合は、圧縮方法に対応する解凍方法によって、ＣＰＵ伸張部３２４もしくは印刷イメージ伸張部３２８により伸長しながらメインメモリ１３０へ書き込む（Ｓ４１２−ＹＥＳ，Ｓ４１４，Ｓ４１６）。圧縮されていない場合は、ハードディスク装置５４から読み出したデータをそのままメインメモリ１３０へ書き込む（Ｓ４１２−ＮＯ，Ｓ４１６）。
【０１７０】
次にシステムＢＩＯＳは、パワーオン後のコンフィグレーションデータを調べる（Ｓ４２０）。そして、セーブしておいたコンフィグレーションデータ（ハードウェア情報）とパワーオン後に調べたコンフィグレーションデータを比較する（Ｓ４２２）。もし両者が違っている場合には、システムＢＩＯＳは、通常のブートを行なうようにする（Ｓ４２２−ＮＯ，Ｓ４０６）。
【０１７１】
両者が合致している場合には、システムＢＩＯＳは、次に、セーブしておいたメインメモリ１３０の内容全て（全ページデータ）を復帰させる（Ｓ４２２−ＹＥＳ，Ｓ４３０）。すなわち、システムＢＩＯＳは、ハードディスク装置５４のハイバネーションボリュームの内容をそれぞれＣＰＵ１２０、各種ハードウェア、メインメモリ１３０にリストアしてハイバネーション処理を起動したパワーマネージメント割込ＰＭＩ発生前の作業状態を復元し、パワーマネージメント割込ＰＭＩによって割り込まれたプログラムに制御を戻す。
【０１７２】
この後、ＰＭコアは、デバイスドライバとの間で、ウェークアップ（ｗａｋｅ　ｕｐ　）の通知および認証応答を行なう（Ｓ４３２）。次いでＰＭサーバから呼び出されていたＰＭシステムコールがリターンされる（Ｓ４３４）。そしてＰＭサーバは、アプリケーションプログラムとの間で、ウェークアップの通知および認証応答を行なう（Ｓ４３６）。これにより、ユーザは、パワーオフ直前の状態から画像出力端末７を使用することができるようになる。
【０１７３】
以上説明したように、本実施形態においては、ハイバネーションモードでの電源オフ時には、メインメモリ１３０のページデータの内容に応じて、ＣＰＵ１２０と、このＣＰＵ１２０とは別個に設けた圧縮処理部の一例であるイメージ圧縮伸張処理部５０とを切り替えてページデータを圧縮処理するようにした。
【０１７４】
従来のように、ＣＰＵ１２０を用いて画像データを圧縮処理するのでは通常モードからハイバネーションモードへの移行が遅い。これに対して、印刷イメージ処理用のイメージ圧縮伸張処理部５０を利用することで、イメージ圧縮伸張処理部５０にて圧縮可能な分だけ、圧縮処理や伸張処理の各処理時間の制約を、ＣＰＵ１２０の処理能力から開放することができ、ハイバネーションモードへの移行を高速化することができる。加えて、圧縮処理や伸張処理の手段として印刷イメージを圧縮したり伸張する手段と同一の手段を使用することにより、ハイバネーション専用の圧縮伸張処理部を備える必要がない。
【０１７５】
また、メインメモリ１３０の内容を補助記憶装置（本例ではハードディスク装置５４）にセーブする際に、ページあるいはセグメントごとに圧縮方法を指定するようにしたので、より効率的にメインメモリ１３０の内容を圧縮し補助記憶装置に退避することができる。これにより、ハイバネーションモードへの移行が速くなる。
【０１７６】
またメモリイメージを圧縮して補助記憶装置に保存しているので、ハイバネーションからの復帰時には、解凍するデータの量が少なく、補助記憶装置へのアクセス時間を短縮することができる。圧縮データを伸張する処理時間は、補助記憶装置へのアクセス時間に比べれば十分に短い。これにより、通常モードへの復帰時間を短くすることができる。
【０１７７】
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。発明の要旨を逸脱しない範囲で上記実施形態に多様な変更または改良を加えることができ、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれる。
【０１７８】
また、上記の実施形態は、クレーム（請求項）にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組合せの全てが発明の解決手段に必須であるとは限らない。前述した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜の組合せにより種々の発明を抽出できる。実施形態に示される全構成要件から幾つかの構成要件が削除されても、効果が得られる限りにおいて、この幾つかの構成要件が削除された構成が発明として抽出され得る。
【０１７９】
たとえば、上記実施形態では、画像情報に対する情報処理機能を備えた画像処理装置の一例としての複写装置や印刷装置あるいはファクシミリ装置において、ハイバネーション機能を利用して装置を初期起動することを説明したが、画像処理装置は、複写装置などに限らない。すなわち画像を取り扱う装置であればよく、たとえばデジタルカメラなどに適用することもできる。
【０１８０】
また、画像入力端末３側のカラースキャナ３ｂと組み合わせたネットワークスキャナや、このカラースキャナ３ｂと画像出力端末７における印刷機能とを組み合わせたネットワーク複写システムとして構成することもできる。
【０１８１】
また上記実施形態では、画像情報に対する情報処理機能を備えた画像処理装置にハイバネーション機能を設けた場合についての本願発明の適用を説明したが、装置における情報処理機能は、画像情報に対するものに限定されない。この場合、その装置が取り扱う情報に応じた圧縮処理部や伸張処理部を中央演算処理部と別個に用意する。そして、上記実施形態で説明したように　主記憶部に記憶されている記憶内容が圧縮処理部にて圧縮処理可能であるか否かを記憶内容解析部で解析し、圧縮可能であれば、電源オフ時に通常モードからハイバネーションモードに移行させる際、その圧縮可能な分の記憶内容に関しては、圧縮処理部にて圧縮する。また、電源再起動時にハイバネーションモードから通常モードに回復させる際は、中央演算処理部とは別個に設けられた伸張処理部にて伸張処理する。
【０１８２】
【発明の効果】
以上のように、本発明によれば、ハイバネーションモードでの電源オフ時には、主記憶部の記憶内容（メモリイメージ）に応じて、中央演算処理部を利用した圧縮と、中央演算処理部とは別に設けられた圧縮処理部（前例ではイメージ圧縮伸張処理部５０）を利用した圧縮とを切り替えて記憶内容を圧縮処理するようにした。中央演算処理部とは別に設けられた圧縮処理部にて圧縮処理できるメモリデータの場合、中央演算処理部にて圧縮処理するよりも処理時間を短縮することができる。
【０１８３】
このため、全てのメモリデータを中央演算処理部を利用して圧縮する場合に比べて、ハイバネーションモードへの移行を高速化することができる。また圧縮して保存しているので、ハイバネーションからの復帰時に、解凍するデータの量が少なく補助記憶装置へのアクセス時間を短縮することができ、通常モードへの復帰時間を短くすることができる。
【図面の簡単な説明】
【図１】本発明に係る画像処理装置の一実施形態を有する画像出力端末を備えた画像処理システムを示す概略図である。
【図２】画像出力端末における画像処理機能を示すブロック図である。
【図３】図１に示した画像出力端末における、画像の圧縮／伸張処理に関わる機能部分と、電源管理に関わる機能部分とに着目した、ハードウェア構成のブロック図である。
【図４】ソフトウェアの構成との関係におけるＣＰＵの働きを説明する図である。
【図５】仮想記憶システムの一例を示した模式図である。
【図６】ページング方式を使用したメモリマッピングの仕組みを説明する図である。
【図７】図１に示した画像出力端末における電源管理手法において、ハイバネーションルーチンで実行されるハイバネーション処理の原理を説明する図である。
【図８】ハイバネーション処理に関わるメインメモリとＲＯＭとの関係を示した図である。
【図９】ハイバネーション処理手順の一例を示すフローチャートである。
【図１０】ハイバネーション装置を説明する図である。
【図１１】図１０に示した構成における圧縮処理手順の一例を示すフローチャートである。
【図１２】パワーオン時に、ハイバネーション処理でセーブされた内容を復元するレジューム処理手順の一例を示すフローチャートである。
【符号の説明】
１…画像処理システム、３…画像入力端末、７…画像出力端末、１０…画像読取装置、２０…スキャナ部、２２…読取信号処理部、３０…画像形成装置、３２…画像形成ユニット、４０…前段色信号処理部、５０…イメージ圧縮伸張処理部、５１…パラメータ設定部、５２…符号化部（圧縮処理部）、５４…ハードディスク装置、５６…復号化部（伸張処理部）、６０…後段色信号処理部、７０…プリントエンジン、７２…ＩＯＴコントローラ、８０…給紙装置、１１０…システムバス、１２０…ＣＰＵ（中央演算処理部）、１３０…メインメモリ（主記憶部）、２００…電源管理処理制御部、２１０…電源コントローラ、２１２，２１４…電源スイッチ、２２０…電源管理起動部、２３０…電力制御レジスタ、３００…メモリイメージ保存制御部、３１０…メモリイメージ回復制御部、３２０…圧縮伸張処理部、３２２…ＣＰＵ圧縮部、３２４…ＣＰＵ伸張部、３２６…印刷イメージ圧縮部、３２８…印刷イメージ伸張部
【図１】
2004038545.tif 000003
【図２】
2004038545.tif 000004
【図３】
2004038545.tif 000005
【図４】
2004038545.tif 000006
【図５】
2004038545.tif 000007
【図６】
2004038545.tif 000008
【図７】
2004038545.tif 000009
【図８】
2004038545.tif 000010
【図９】
2004038545.tif 000011
【図１０】
2004038545.tif 000012
【図１１】
2004038545.tif 000013
【図１２】
2004038545.tif 000014