JP2004038545A - Hibernation control process, hibernation controller unit, and image processor - Google Patents
Hibernation control process, hibernation controller unit, and image processor Download PDFInfo
- Publication number
- JP2004038545A JP2004038545A JP2002194482A JP2002194482A JP2004038545A JP 2004038545 A JP2004038545 A JP 2004038545A JP 2002194482 A JP2002194482 A JP 2002194482A JP 2002194482 A JP2002194482 A JP 2002194482A JP 2004038545 A JP2004038545 A JP 2004038545A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- image
- compression
- processing unit
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Power Sources (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Storing Facsimile Image Data (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、電源オフ時に装置の主記憶部の内容を、その装置の補助記憶部にセーブするハイバネーション(Hibernation)機能の制御方法および制御装置、並びにこのハイバネーション機能を備えた画像処理装置に関する。
【0002】
【従来の技術】
装置のメイン電源をオフにすることで作業を中断する際、電源供給時にのみ記憶内容を保持する揮発性の主記憶部(メインメモリ)の実メモリ内の現在の作業を、電源供給が切断されても記憶内容を保持するハードディスク装置などの不揮発性の補助記憶部に記憶し、電源をオンにすることで電源をオフにする前に補助記憶部に記憶した内容を主記憶部の実メモリ内へ読み戻すことで、一旦中断した作業を再開するハイバネーション/ウェークアップ動作を行なう仕組みが知られている。
【0003】
また、ソフトウェアの肥大化は当然の流れとし、肥大化したソフトウェアを実行できる環境を構築するために、組込み型のオペレーティングシステム(組込みOS/OS;Operating System)では当然とされてきた実記憶システムを捨て、仮想記憶システムを採用する装置がある。
【0004】
実記憶システムの利点は、プログラムのイメージがROM(read only memory)化されているため、プログラムをロードする時間が必要ないあるいは短い時間で済み、ブート時間(装置起動時間)が非常に短い点にある。一方、仮想記憶システムは、メモリを事実上無限に使用できる反面、プログラムのロード時間が長くブート時間が長い。
【0005】
近年、仮想記憶を使用している情報処理装置(たとえばパソコンなど)では、ブート時間をより短くしたり、作業の継続性を保つためにハイバネーションモードを採用している。ハイバネーションモードでは、システム電源オフ時に装置の主要な情報処理機能や演算処理機能を有するCPU(central processing unit ;中央演算処理部)および各種周辺LSI(Large Scale IC )の状態、および主メモリの内容などをハードディスクなどの記録媒体にセーブした後に、主記憶部を含むシステム内のほとんどすべてのデバイスをパワーダウンさせるモードであり、システム電源オン時に保存した状態を復帰させる。
【0006】
このようなハイバネーション処理においては、電源スイッチオフ時の作動状態に関する情報として主記憶部の内容を補助記憶部に対してその記憶のために転送する処理に要する時間が、この全処理時間の大部分を占めている。すなわち、ハイバネーションモードにおいてシステム電源オフ時の保存時間や、オン時の復帰時間(ブート時間)を左右するのが、主記憶部の内容をハードディスク装置などの補助記憶部に保存したり、保持させておいた情報を補助記憶部から読み込む時間である。
【0007】
そのため、最近では、必要最小限の主記憶部の内容を保存するようにしたり、主記憶部の内容を圧縮して保存することで、補助記憶部に対するアクセス(ハードディスク装置の場合にはディスクI/O)を少なくする工夫が施されることもある。
【0008】
またたとえば、近年の装置の高性能化、高機能化にともない装置に組み込まれているソフトウェアの肥大化が問題となっている。このため組み込む機能を見直して制限したり、コスト増になるのを覚悟でROMの容量を増やすなどの工夫が施されている。たとえば、印刷装置や複写装置など画像を処理対象として取り扱う画像処理装置においては、単一機能の装置に限らず、複数の機能を備えた複合機といわれるものがあるなどである。
【0009】
【発明が解決しようとする課題】
しかしながら、ROMの容量を増やしても、ハイバネーションモードを使用しない単純な起動処理では、電源起動時(ブート時)にはソフトウェアの増大分だけ起動時間が掛かってしまう。
【0010】
一方、仮想記憶システム上に、たとえば印刷装置や複写装置の組み込みソフトウェアを作成する場合、ブート時間の短縮のためハイバネーションモードを備えることが考えられる。しかしながら、パソコンなどに使用されている一般的なハイバネーション制御の方法でハイバネーションモードを実現し圧縮保存したのでは、CPUの処理能力の関係で、ソフトウェアの増大に対する圧縮処理時間がネックとなり、通常モードからハイバネーションモードへの移行時間が遅くなる。
【0011】
同様に、CPUの処理能力の関係で、ソフトウェアの増大に対する伸張処理時間がネックとなり、電源再起動後のハイバネーションモードから通常モードへの復帰時間も遅くなる。
【0012】
本発明は、上記事情に鑑みてなされたものであり、ソフトウェアが増大するようなケースであっても、通常モードからハイバネーションモードへの移行時間やハイバネーションモードから通常モードへの復帰時間を従来よりも短縮することのできるハイバネーション制御方法およびハイバネーション制御装置、並びにハイバネーション機能を持つ画像処理装置を提供することを目的とする。
【0013】
【課題を解決するための手段】
情報を取り扱う装置においては、その情報を圧縮したり伸張したりする専用の処理部(プロセッサ)を、装置の全体を制御する中央演算処理部とは別個に備えているものがある。たとえば、印刷装置や複写装置などでは、紙媒体などへの画像出力のスループットをあげるために、出力イメージの入った画像メモリの内容を圧縮してハードディスク装置などの記録媒体に保存し、画像メモリを解放し、それを次の出力イメージの生成に使用するといったスプール装置を備えているものがある。印刷イメージの圧縮は、CPUを用いて行なう場合もあるが、印刷イメージの生成と圧縮処理を並列に行なうため専用のプロセッサをCPUとは別個に設けて、この専用のプロセッサにて圧縮処理を行なうものもある。また並列処理を除いても、通常専用プロセッサでの圧縮保存処理はCPUを用いて行なう場合に比較して高速である。
【0014】
仮想記憶システム上に印刷装置や複写装置などの組み込みソフトウェアを作成する場合、ブート時間の短縮のためハイバネーションモードを備えることが考えられる。また主記憶部の内容を圧縮保存する場合に、前述した画像出力に用いた圧縮保存専用のプロセッサを用いれば高速化できることが考えられる。たとえば、圧縮保存しなければならない主ページに印刷イメージが入っている場合は、圧縮保存専用のプロセッサを用いれば高速かつ圧縮率のよい主記憶部内容の保存が可能になると考えられる。
【0015】
本願発明は上記の技術的知見に基づいてなされたものである。
【0016】
すなわち、本発明に係るハイバネーション制御方法は、電源供給時にのみ記憶内容を保持する主記憶部と、電源供給が切断されても記憶内容を保持する補助記憶部とを備えた装置において、所定の処理実行中における電源供給の切断時の装置の作動状態を示す作動状態データを補助記憶部に保存し、電源の再供給時に補助記憶部に保存しておいた作動状態データを読み出して装置の作動状態を復元するハイバネーション処理を実施するハイバネーション制御方法であって、主記憶部に記憶されている記憶内容が、装置の主要な情報処理機能を有するとともに圧縮処理可能な中央演算処理部とは別個に設けられた圧縮処理部にて圧縮処理可能であるか否かを解析する記憶内容解析工程と、記憶内容解析工程において解析した結果に応じて、中央演算処理部と圧縮処理部とを切り替えながら、記憶内容を圧縮して補助記憶部に保存する圧縮保存工程と、圧縮に使用した中央演算処理部および圧縮処理部に対応して、伸張処理可能な中央演算処理部とこの中央演算処理部とは別個に設けられた伸張処理部とを切り替えながら、補助記憶部から読み出した圧縮された記憶内容を伸張して装置の作動状態を復元する伸張回復工程とを備えた。
【0017】
本発明に係るハイバネーション制御装置は、本発明に係るハイバネーション制御方法を実施するのに好適な装置であって、装置の主要な情報処理機能を有するとともに主記憶部の記憶内容を圧縮処理可能でかつ補助記憶部に保存しておいた情報を伸張処理可能である中央演算処理部と、中央演算処理部とは別個に設けられ所定の圧縮処理をする圧縮処理部と、圧縮処理部における圧縮処理に対応する伸張処理をする伸張処理部と、主記憶部に記憶されている記憶内容が圧縮処理部にて圧縮処理可能であるか否かを解析する記憶内容解析部とを備えた。
【0018】
また、本発明に係るハイバネーション制御装置は、圧縮処理部にて圧縮処理可能であると記憶内容解析部の解析結果が示していることを条件として記憶内容を圧縮処理部にて圧縮して補助記憶部に保存させる圧縮保存制御部と、補助記憶部に保存しておいた圧縮された記憶内容が圧縮処理部により圧縮されたものであることを条件として、補助記憶部に保存しておいた記憶内容を伸張処理部にて伸張処理して装置の作動状態を復元する伸張回復制御部とを備えた。
【0019】
本発明に係る画像処理装置は、画像処理をする画像処理部と、前述の本発明に係るハイバネーション制御装置の構成とを備えたものである。本発明に係る画像処理装置は、たとえば、原稿画像を読み取る画像読取部を備えたいわゆるスキャナ装置として展開されてもよい。また、画像処理部により画像処理が施された画像を可視画像として所定の出力媒体に出力する画像形成部を備えた装置、たとえば、画像入力端末の一例であるパソコンなどから送信された画像データを受け取って印刷出力する印刷装置、あるいは画像入力端末の他の一例であるファクシミリ送信装置からファクシミリデータを受け取ってファクシミリ画像を出力するファクシミリ受信装置として展開されてもよい。また、画像読取部と画像形成部とを備え、画像読取部により読み取った原稿画像を所定の出力媒体上に印刷出力する複写装置として展開されてもよい。また、スキャナ装置、印刷装置、ファクシミリ受信装置、あるいは複写装置を任意に組み合わせたいわゆる複合機として展開されてもよい。
【0020】
また従属項に記載された発明は、本発明に係るハイバネーション制御方法および装置並びに画像処理装置のさらなる有利な具体例を規定する。
【0021】
なお、本発明に係るハイバネーション制御方法および装置並びに画像処理装置を、電子計算機(コンピュータ)を用いてソフトウェアで実現するために好適なプログラムあるいはこのプログラムを格納したコンピュータ読取可能な記憶媒体を発明として抽出することもできる。なお、プログラムは、コンピュータ読取り可能な記憶媒体に格納されて提供されてもよいし、有線あるいは無線による通信手段を介して配信されてもよい。
【0022】
【作用】
本発明の上記構成においては、先ず、中央演算処理部とは別個に、所定の圧縮処理をする圧縮処理部と、この圧縮処理部における圧縮処理に対応した伸張処理をする伸張処理部とを用意する。
【0023】
そして、主記憶部に記憶されている記憶内容が中央演算処理部とは別個に設けられた圧縮処理部にて圧縮処理可能であるか否かを記憶内容解析部が解析する。
【0024】
そして、圧縮可能であれば、電源オフ時に通常モードからハイバネーションモードに移行させる際、その圧縮可能な分の記憶内容に関しては、圧縮処理部にて圧縮する。電源再起動時にハイバネーションモードから通常モードに回復させる際には、中央演算処理部とは別個に設けられた伸張処理部にて伸張処理する。
【0025】
この結果、圧縮処理部にて圧縮可能な分だけ、圧縮処理や伸張処理の各処理時間の制約を、CPU処理能力から開放することができる。
【0026】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
【0027】
図1は、本発明に係るハイバネーション制御装置や画像処理装置の一実施形態を有する画像出力端末を備えた画像処理システムを示す概略図である。この画像処理システム1は、画像入力端末3および画像出力端末7を備える。
【0028】
画像入力端末3は、デジタルドキュメント(以下単にドキュメントという)DOCを作成したり編集などの処理する、たとえばパソコン(パーソナルコンピュータ)3a、カラースキャナ3b、デジタルカメラ3c、またはハードディスク装置や光磁気ディスク装置あるいは光ディスク装置などのデータ格納装置3d、さらにはFAX装置3eなど、任意数の画像入力ソースを含み得る。画像入力端末3は、これらに限らず、たとえば、図示しない通信網を介して画像を電子データとして取得する通信機能を備えた端末装置であってもよい。これらの各端末装置には、ドキュメントDOC作成用のアプリケーションプログラムなどが組み込まれる。画像入力端末3は、ドキュメントDOCを、画像処理システム1の一部を構成する画像出力端末7に入力する。
【0029】
画像出力端末7は、たとえば複写機能、ページプリンタ機能、およびファクシミリ送受信機能を備えたいわゆる複合機(マルチファンクション機)で、デジタルプリント装置として構成されている。
【0030】
画像入力端末3側にて用意されるドキュメントDOCを表す電子データは、画像出力端末7で処理可能な画像フォーマット(たとえば、JPEG、BMP、PNGなど)で記述される。またたとえば、パソコン3aで作成された文書ファイルは、たとえばプリンタなどで印刷出力するために、図形、文字などの拡大、回転、変形などが自由に制御できるページ記述言語(PDL:Page Description Language )で記載されたデータとして画像出力端末7に送られる。PDLで作成されているデータ(PDLデータ)は、ページ内の任意位置の画像、図形、文字を表現する描画命令およびデータを任意の順で配置した命令およびデータ列で構成されている。このPDLデータを受け取った画像出力端末7は、印字前に出力単位ごと(1ページごと)に画像データをレンダリング(描画展開)してからプリンタエンジン部にそのラスタデータを出力する。
【0031】
画像出力端末7は、大まかに、画像読取装置10、画像形成装置30、および給紙装置80から構成されている。また画像出力端末7は、接続ケーブル90を介してネットワークに接続可能になっている。たとえば、接続ケーブル90は、LAN(Local Area Network)8によりパソコン3aなどの画像入力端末3に接続されたり、あるいは電話回線9によりFAX装置3eなどの画像入力端末3に接続される。
【0032】
画像読取装置10は、原稿を図示しない読取台(プラテンガラス)上の読取位置まで搬送し排紙するドキュメントフィーダ12と、表示機能も備えた操作パネル(ユーザインタフェース)14と、装置に対する種々の設定をする操作キー16とを含む。
【0033】
操作パネル14には、印刷枚数や用紙サイズなどの装置の使用条件が表示されるようになっており、ユーザはその表示を見ながら操作キー16により使用条件を変更することができる。好ましい条件が操作パネル14や操作キー16で入力された後、操作キー16のスタートキー(図示せず)が押下されると、ドキュメントフィーダ12は、原稿を画像読取装置10上の予め定められた読取位置へ原稿をフィードし、その原稿が読み取られた後に読取位置からその原稿をドキュメントフィーダ12の所定位置まで移動させる。
【0034】
画像読取装置10は、画像入力端末の機能を備えており、たとえばCCD固体撮像素子の全幅アレイを使用して、読取位置へ送られた原稿に光を照射することで、原稿上の画像を読み取り、この読み取った画像を表すアナログビデオ信号をデジタル信号へ変換し、画像形成装置30へ送る。
【0035】
画像形成装置30は、画像形成ユニット32と、両面複写ユニット34と、排紙ユニット36と、1枚もしくは複数枚(図は複数枚で例示)の処理基板38とを含む。画像形成ユニット32は、画像読取装置10にて得られた画像信号により表される画像を、電子写真式、感熱式、熱転写式、インクジェット式、あるいは同様な従来の画像形成処理を利用して、普通紙や感熱紙上に可視画像を形成する(印刷する)すなわち複写する。このため、画像形成ユニット32は、たとえば画像処理システム1をデジタル印刷システムとして稼働させるためのラスタ出力スキャン(ROS)ベースのプリントエンジンを備える。
【0036】
両面複写ユニット34は、たとえば、用紙を即時に、あるいは一方の面に画像が形成されスタックされた複数の用紙を底の用紙から上部の用紙の順に連続的に、画像形成ユニット32側に再給紙するように構成される。
【0037】
処理基板38には、画像形成装置30用の処理部(特に画像処理部)だけでなく、画像出力端末7全体の種々の処理をするための回路が搭載される。たとえば、画像出力端末7内に構築された資源であるドキュメントフィーダ12、操作パネル14、図示しない画像読取ユニット、画像形成ユニット32、両面複写ユニット34、排紙ユニット36、あるいは給紙トレイ82など制御する回路が搭載される。
【0038】
この処理基板38には、半導体製の記憶媒体が搭載され、たとえば、複写アプリケーション、プリンタアプリケーション、ファクシミリ(FAX)アプリケーション、あるいは他のアプリケーション用の処理プログラムが格納される。
【0039】
給紙装置80は、給紙トレイ82を含む。図示した例では、A4,B4,A3の3種類の用紙サイズに対応した3つの給紙トレイ82が用意されている。
【0040】
用紙が複数の給紙トレイ82の内の何れかから画像形成装置30へ給紙されると、画像形成装置30の画像形成ユニット32は、その用紙の一方の面に画像を形成する。両面複写ユニット34は、一方の面に画像が形成された用紙を裏返し、再び画像形成ユニット32にその用紙を給紙するように構成されている。これにより、画像が用紙の他方の面に形成され、両面複写が完了される。
【0041】
画像形成ユニット32から排出される用紙、あるいは両面複写済み用紙は、排紙ユニット36により、ページ順に連続的に、あるいは1ページごとにソートされる。
【0042】
なお、画像出力端末7は、画像読取装置10にて読み取った画像の印刷機能すなわち複写機能に限らず、LAN8および接続ケーブル90を介してパソコン3aなどの画像入力端末3から取得した文書データや画像ファイルなどに基づいて画像を印刷するいわゆるプリント機能や、電話回線9および接続ケーブル90を介して受信したFAXデータに基づいて印刷出力するFAX機能も備える。
【0043】
図2は、画像出力端末7における画像処理機能を示すブロック図である。画像読取装置10は、スキャナ部20と読取信号処理部22とを有する。
【0044】
スキャナ部20は、読取台上に載置された原稿を読み取って得た入力画像を赤R、緑G、青Bの各色成分のデジタル画像データに変換する。たとえばハロゲンランプを有する光源からの光が読取台上に載置された原稿を照射し、反対光が光学系を介して赤、緑、青の各色に分光される。そして各色光が、各色光用に分けられた、たとえばCCD(電荷転送型の固体撮像素子)からなるラインセンサ(イメージセンサ)に入射し、入力画像が所定解像度で読み取られることによって、赤、緑、青の各色成分のアナログの画像信号が得られ、読取信号処理部22に送られる。
【0045】
読取信号処理部22は、たとえばシェーディング補正部24や入力階調補正部26を有する。なお、読取信号処理部22は、これらの他に、たとえば図示しない増幅部やA/D変換部などを有する。
【0046】
この読取信号処理部22においては、図示しない増幅部がラインセンサからの赤、緑、青のアナログの各画像信号を所定のレベルまで増幅し、さらに図示しないA/D変換回路がアナログの各画像信号をデジタル画像データに変換する。そして、シェーディング補正部24は、A/D変換回路から出力されたデジタル画像データに対し、ラインセンサの画素感度バラツキの補正や、光学系の光量分布特性に対応したシェーディング補正を施す。入力階調補正部26は、シェーディング補正されたデジタル画像データに対して階調特性を調整し、処理済の画像データを、画像形成装置30の前段色信号処理部40に入力する。
【0047】
画像形成装置30は、プリント出力信号処理系統として、前段色信号処理部40と、イメージ圧縮伸張処理部(イメージ圧縮伸長プロセッサ)50と、後段色信号処理部60と、プリントエンジン70とを有する。これらが処理基板38(図1参照)上に載置される。
【0048】
前段色信号処理部40は、たとえば入力色変換部42、画像受取部の一例である外部インタフェース部43、画像情報領域分離部44、出力色変換部46、および下色除去部48を有する。
【0049】
この前段色信号処理部40においては、先ず画像読取装置10の読取信号処理部22からの赤、緑、青のデジタル画像データ(色信号)を一旦図示しないページメモリに記憶する。そして、画像形成ユニット32にて使用する色材の分光特性に対する色補正処理(これを特に前段階の色補正処理という)を施すことで、色濁りを防止する。
【0050】
そして、入力色変換部42は、デジタル画像データを、外部機器との色情報交換に適した色信号、たとえば均等色空間の明度信号L*並びに彩度および色相を表す色度信号a*,b*(以下纏めてLab信号ともいう)に変換する。
【0051】
画像出力端末7をプリンタとして使う場合には、外部インタフェース部43は、画像入力端末3側にて用意されたドキュメントDOCを表すPDLデータを、出力単位ごと(1ページごと)にLab信号でレンダリング(描画展開)する。同様に、画像出力端末7をカラーFAX装置として使用する場合には、外部インタフェース部43は、FAX装置3eからFAXデータを受信し、FAX画像をLab信号にてラスタライズする。次いで、このLab信号に基づいて、たとえば画像情報領域分離部44は画像領域(絵文字)分離処理を施し、編集処理部45は色編集処理やモアレを除去したり中間調データを平滑化する平滑化処理あるいは画像拡大や画像縮小などの画像編集処理を施す。
【0052】
その後、出力色変換部46は、Lab信号を、減法混色用に適した色信号に変換する。たとえば、出力色変換部46は、Lab信号で表されるLab表色系から、最低3つ(好ましくは4つ)、たとえばイエロー(Y)、マゼンタ(M)、およびシアン(C)の各色信号で表されるYMC表色系、あるいはこれにブラック(K)を加えたCMYK表色系へのマッピング処理をし、プリント出力用に色分解されたラスタデータを生成する。
【0053】
また、下色除去部48は、このようなラスタデータ化の処理に際して、カラー画像のCMY成分を減色するアンダーカラー除去処理(UCR;Under Color Removal )をする。なお、下色除去部48は、さらに減色されたCMY成分を部分的にK成分と交換するグレー成分交換(墨生成)処理(GCR;Gray ComponentReplacement)をする。また、下色除去部48は、入力画像の下地濃度に応じて、YMCKの各色の画像データのうちの所定の下地濃度以下の画像データをカット(無効化)する下地除去処理を施す。なお、このグレー成分交換処理を含めてアンダーカラー除去処理ということもある。
【0054】
そして、これら一連の処理(前段色信号処理)が施されたデジタル画像データは、イメージ圧縮伸張処理部50に入力される。
【0055】
イメージ圧縮伸張処理部50は、印刷イメージをたとえばJPEGやPNGなどの圧縮画像フォーマットで圧縮し、不揮発性の記憶媒体の一例であるハードディスク装置(HDD)54に一時的に格納(圧縮保存)したり、圧縮保存された印刷イメージを伸長するために使用する。このため、イメージ圧縮伸張処理部50は、たとえば、パラメータ設定部51、符号化部52、書込部53、復号化部56、および読出部57を備える。
【0056】
パラメータ設定部51は、符号化部52における符号化の際の圧縮パラメータを決定する。次にパラメータ設定部51は、決定した各色成分用の符号化パラメータを、対応する色成分用の符号化部52およびに復号化部56に入力する。
【0057】
符号化部52は、設定された符号化パラメータを用い、たとえばDCT(Discrete Cosine Transform )などの直行変換符号化やベクトル量子化などの方法により符号化して非可逆圧縮して符号化画像データ(符号化色信号)を生成する。この後、書込部83は、符号化部52により非可逆圧縮されたY,M,C,Kの各色の符号化画像データを、画像格納部の一例であるハードディスク装置54に略同時に書き込む。
【0058】
次いで、プリントエンジン70の図示しない先端検出器からの先端検出信号(副走査方向の印字始点を示す信号)に同期して、読出部57がハードディスク装置54からY,M,C,Kの各色の符号化画像データを順次一定間隔をおいて読み出して復号化部56に入力する。復号化部56は、ハードディスク装置54から順次一定間隔をおいて読み出されたY,M,C,Kの各色の符号化画像データを、パラメータ設定部51により設定された符号化パラメータを用い、符号化部52における符号化に対応する復号化をして、元の画像データ(復号化色信号)に戻す。
【0059】
後段色信号処理部60は、イメージ圧縮伸張処理部50からのデジタル画像データに対して印刷出力用の色補正処理を施し(これを特に後段の色補正処理という)、この色補正処理が施されたデジタル画像データに基づいて、印刷用の2値化データを生成し画像形成ユニット32に渡す。このため、後段色信号処理部60は、画像編集部62、MTF補正部64、出力階調補正部66、および中間調生成部68を有する。
【0060】
画像編集部62は、イメージ圧縮伸張処理部50からのデジタル画像データ(CMYKなど)に応答して作成される出力画像のトナー像を調整するために、色分解の直線化または同様の処理をする。また、画像編集部62は、エッジ強調用空間フィルタを用いて、復号化部56から順次一定間隔をおいて読み出されたY,M,C,Kの各色の復号化画像データを、エッジ強調処理することで、画像のシャープネスを調整する。
【0061】
MTF補正部64は、画像の空間周波数特性を補正する。出力階調補正部66は、エッジ強調およびMTF補正されたY,M,C,Kの各色のデジタル画像データを、たとえばルックアップテーブルを参照しガンマ補正する。また、出力階調補正部66は、プリント出力信号処理系統の内部の特性値である濃度あるいは明度を表す各色の画像データY,M,C,Kを、プリントエンジン70の特性値の面積率に応じて、色補正処理(TRC処理;Tone Reproduction Correction)する。
【0062】
中間調生成部68は、前述の各処理が施されたデジタル画像データに基づいて、ハーフトーニング処理をして疑似中間調画像を表す2値化データを得、この2値化データを画像形成ユニット32に渡す。
【0063】
画像形成ユニット32は、その主要部であるプリントエンジン70と、このプリントエンジン70の主にメカニカルな動作を制御するためのIOTコントローラ72とを有する。
【0064】
画像形成ユニット32の主要部であるプリントエンジン70は、たとえば電子写真プロセスを利用するものであるのがよい。電子写真プロセスを利用するものの場合、プリントエンジン70は、光走査装置を備える。たとえばプリントエンジン70は、光ビームを発するレーザ光源74と、後段色信号処理部60から出力された印刷用の2値化データに従ってレーザ光源74を制御すなわち変調するレーザ駆動部76と、レーザ光源74から発せられた光ビームを感光性部材(たとえば感光体ドラム)79に向けて反射させるポリゴンミラー(回転多面鏡)78とを有する。
【0065】
この構成により、プリントエンジン70は、レーザ光源74が発生する光ビームをポリゴンミラー78上の複数の面で反射させて感光性部材79を露光し、スキャン走査によって感光性部材79上に潜像を形成する。潜像が形成されると、当該技術分野で公知の多数の方法のうち任意の方法に従って像を現像し、さらに所定の印刷媒体に転写してカラー画像を可視像として出力する。
【0066】
得られた印刷物は、図示しない定着器により定着され、印刷用紙は両面複写のために両面複写ユニット34(図1参照)により裏返されるか、または直ぐに排紙ユニット36(図1参照)へ引き渡され排紙される。
【0067】
なお、プリントエンジン70は、前述のように、電子写真方式のものに限らず、たとえば感熱式プリンタやインクジェットプリンタまたは粒子線写真プリンタなどで実施することもできる。
【0068】
図3は、図1に示した画像出力端末7における、画像の圧縮/伸張処理に関わる機能部分と、電源管理に関わる機能部分とに着目した、ハードウェア構成のブロック図である。
【0069】
画像出力端末7の処理基板38(1枚とは限らない)上には、システムバス110、中央演算処理部の一例であるCPU120、電源供給時にのみ記憶内容を保持する揮発性の記憶媒体の一例であるメインメモリ(主記憶部)130、不揮発性の記憶媒体の一例であるROM132、DMA(Direct memory Access )コントローラ(DMAC)150、I/O(Input/Output)コントローラ152、割込コントローラ154、発振器(OSC)160、リアルタイムクロック(RTC)162、EEPROM(電気的消去可能なプログラマブルメモリ)170などが搭載されている。また、処理基板38上には、電源管理(Power Management)処理制御部200が搭載されている。また、処理基板38の近傍には、ハードディスク装置54が設けられる。
【0070】
CPU120は、この画像出力端末7全体の動作制御およびデータ処理を実行するメインコントローラであり、オペレーティングシステムOSの制御下で、各種プログラムを実行するようになっている。このCPU120としては、パワーマネージメント割込PMI(Power Management Interrupt)をサポートするものが使用される。この場合、CPU120は、アプリケーションプログラムやオペレーティングシステムOSなどのプログラムを実行するための動作モードとして通常動作モードの他、パワーマネージメント管理モードPMM(Power Management mode )と称される電源管理機能を実現するための動作モードを有している。
【0071】
メインメモリ130は、CPU120が実行するプログラムをロードしたり、作業領域として使用するためのRAM(random access memory)などの揮発性の半導体メモリである。メインメモリ130内にプログラムコードやデータが収まりきらなくなった場合には、仮想メモリシステムとファイルシステムとの協調動作によって、ハードディスクなどの補助記憶装置との間で入れ替え(スワッピング)が行なわれるようになっている。
【0072】
ROM132は、システムBIOS(Basic I/O System)など不揮発性を要するデータを記憶するためのものであり、プログラム書替えが可能なようにフラッシュメモリなどの不揮発性の半導体メモリによって構成されている。
【0073】
また、ROM132には、BIOSドライバ群の他に、PM(Power Management)イベントハンドラやハイバネーションルーチンあるいは再起動ルーチンなどのパワーマネージメント管理モードPMMの中で実行される電源管理プログラム(後述する図8を参照)など、不揮発性を必要とするプログラムが格納されている。PMイベントハンドラは、割込コントローラ154からのパワーマネージメント割込PMIの発生要因に応じて各種PMIサービスルーチンを起動するためのものである。
【0074】
ハードディスク装置54は、図2にても述べたように、データ圧縮された印刷イメージデータを保存する画像記憶部としても使用される他に、この画像出力端末7の補助記憶装置(2次記憶部)としても使用されるものである。このハードディスク装置54の記憶エリアの一部にはハイバネーションボリュームとハイバネーションパワーオフシグネチャ設定エリアとハイバネーション完了フラグ設定エリアとが確保される。ハードディスク装置54へのアクセスは、オペレーティングシステムOSの一部であるファイルシステムの制御下に置かれる。
【0075】
ハイバネーションボリュームとハイバネーションパワーオフシグネチャ設定エリアとハイバネーション完了フラグ設定エリアとは、ハードディスク装置54の初期化およびテスト時にシステムBIOSによって確保され、これらハイバネーションボリュームなどを除く他の記憶領域がOSに解放される。
【0076】
DMAコントローラ150は、CPU120の介在無しにメインメモリ130と周辺デバイスとの間でのデータ転送を行なわせるための周辺コントローラである。
【0077】
I/Oコントローラ152は、シリアルポートやパラレルポート経由で、図示しないパソコン(図1参照)などのホスト装置としての画像入力端末3のデータ入出力を制御するための周辺コントローラである。
【0078】
発振器160は、CPU120などのような同期駆動するデバイスや、タイマ機能を持ったデバイスに対してクロック信号を与えるための機能部である。
【0079】
リアルタイムクロック162は、一定時間間隔の信号を発生する、実時間計測のための機能部(時計モジュール)である。このリアルタイムクロック162は、図中点線で示すように、独自の電池によりバックアップされたCMOSメモリ164を有する構成としてもよい。この場合、CMOSメモリ164には、パワーアップモードとしてブートモードとレジュームモードを選択するための情報などを含むシステムコンフィグレーション情報と、ハイバネーション完了フラグなどを設定することができる。なお、CMOSメモリ164を備えない構成とする場合、このCMOSメモリ164のメモリ機能をハードディスク装置54にて実行する。
【0080】
ブートモードは、画像出力端末7がパワーオンされたときに通常通りオペレーティングシステムを立ち上げるためのブートストラップ(Bootstrap )処理を起動するモードである。また本実施形態のレジューム(Resume)モードは、電源オフ時にハイバネーション処理を実行し、画像出力端末7がパワーオンされたときに、ハードディスク装置54にセーブされている内容を元のメインメモリ130およびCPU120などにリストアするモード(ハイバネーション機能による再起動モード)である。
【0081】
本実施形態においては、パワーマネージメント管理モードPMMにおいて、ハイバネーションルーチンなどの電源管理プログラムが実行される。また、パワーマネージメント割込PMIは、優先度の高い最優先度の割り込みである。このパワーマネージメント割込PMIを発行することによって、電源管理プログラムを、実行中のアプリケーションプログラムやオペレーティングシステムOSの環境に依存せずに起動することができる。
【0082】
たとえば、PMイベントハンドラは、電源オフ操作に起因するパワーマネージメント割込PMIが発生した場合にはハイバネーションルーチンを起動し、他の要因によるパワーマネージメント割込PMIが発生した場合にはその要因に対応するPMIサービスルーチン、たとえば通常の電源オン/オフ処理ルーチンを起動する。すなわち、電源管理管理割込みPMIがCPU120に発行されたとき、CPU120の動作モードは、そのときの動作モードである通常動作モードから、PMイベントハンドラに制御がスイッチされる。
【0083】
電源管理管理割込みPMIによってパワーマネージメント管理モードPMMにスイッチすると、CPU120は、その時点のCPUレジスタの内容であるCPUステータスをメインメモリ130の予め定められている記憶領域(ワークエリア)にセーブする。そして、ハイバネーションルーチンを起動し、メインメモリ130の前記ワークエリアにセーブした内容を、ハードディスク装置54の予め定められているハイバネーション記憶領域に格納する。
【0084】
このように、メインメモリ130にハイバネーション処理用のワークエリアを設けるのは、ハイバネーションルーチン処理の際にもメインメモリ130を利用可能とするためである。なお、CPU120内の内部メモリだけでハイバネーションルーチン処理が可能であれば、電源管理管理割込みPMIがあった時点のメインメモリ130の全内容を、ハードディスク装置54のハイバネーション記憶領域に直ちに格納すればよい。
【0085】
なお本実施形態では、パワーマネージメント管理モードPMMにおいて復帰命令が実行されると、CPU120はハードディスク装置54の前記ハイバネーション記憶領域からCPUレジスタにCPUステータスをリストアし、パワーマネージメント割込PMI発生前の動作モードに復帰するようにする。
【0086】
EEPROM170は、再書き込み可能な不揮発性半導体メモリであり、システムの機密保全に必要な情報を保管するために設けられている。
【0087】
電源管理処理制御部200は、パワーマネージメント割込PMI発生制御のためのハードウェア部分であり、電源コントローラ(PSC;Power Supply Controller )210、電源管理起動部220、および電力制御レジスタ230を有する。電源コントローラ210には、メカニカルな電源スイッチ212や操作パネル14(図1参照)を介したソフト的な電源スイッチ(パネルスイッチ)214から電源オンオフ信号が入力される。
【0088】
電源管理起動部220は、電源コントローラ210を介して電源スイッチ212の押下または操作パネル14上のソフト的な電源スイッチ214によって電源のオンオフ操作があったことを通知されたとき、電源管理処理を起動するためのパワーマネージメント割込PMI信号を発生する。
【0089】
なお、この電源管理起動部220は、電源コントローラ210を介したパワーマネージメント割込PMI発生制御だけでなく、他の要因によるパワーマネージメント割込PMI信号も発する。たとえば、ソフトウェアからのパワーマネージメント割込PMIや外部入力パワーマネージメント割込PMIなどである。
【0090】
電力制御レジスタ230は、パワーマネージメント割込PMI発生要因を示すステータスデータを保持するためのものである。この電力制御レジスタ230は、パワーマネージメント割込PMI信号が発せられると、そのパワーマネージメント割込PMI信号をCPU120に供給する。そして、電力制御レジスタ230は、CPU120がパワーマネージメント管理モードPMMを抜けるまでパワーマネージメント割込PMI信号をアクティブステートに維持し続ける。
【0091】
図4は、ソフトウェアの構成との関係におけるCPU120の働きを説明する図である。この図4に示すようなソフトウェア構成自体は、よく知られた技術である。
【0092】
たとえば、デバイスドライバは、最下層のソフトウェアである。デバイスドライバは上位のソフトウェア(オペレーティングシステムなど)が発行するコマンドを各デバイスドライバ固有のハードウェアを駆動するのに適した形式に変換する。デバイスドライバは、通常周辺のハードウェア装置(デバイス)、たとえばHDDコントローラやプリントエンジンごとに設けられている。
【0093】
デバイスドライバの中には、対応するデバイスをタイムクリティカルに駆動する部分が含まれている。そのため、デバイスドライバの内のタイムクリティカルに駆動する部分は、通常メインメモリ130上に常駐するようになっている。そして、このタイムクリティカルに駆動する部分を除く各デバイスドライバは、補助記憶装置としてのハードディスク装置54から適宜メインメモリ130にロードされる。
【0094】
システムBIOSは、画像出力端末7内の各種ハードウェアをアクセスするファンクション実行ルーチンを体系化したものである。システムBIOSには、画像出力端末7の通常のパワーオンオフ時に実行される起動停止処理ルーチンや、その時点の状態から再起動させるためのハイバネーション処理ルーチンと、各種ハードウェア制御のためのBIOSドライバ群などが含まれている。各BIOSドライバは、ハードウェア制御のための複数の機能をオペレーティングシステムOSやアプリケーションプログラムに提供するためにそれら機能に対応する複数のファンクション実行ルーチン群を含んでいる。
【0095】
オペレーティングシステムOSは、ハードウェアおよびソフトウェアを総合的に管理するための基本ソフトウェアである。オペレーティングシステムOSは、通常カーネル領域とユーザ領域で構成される。
【0096】
カーネル領域とは、システム全体の動作を監視して、アプリケーションなどの各種プログラムの実行を支援するための各基本機能が集まった部分である。カーネル領域のコア部分(カーネルコア)には、補助記憶装置としてのハードディスク装置54へのファイル記録などを管理するためのファイルシステム、タスク実行の順序や優先度を管理するタスク管理、メモリ領域の割当て行なうためのメモリ管理などを含んでいる。
【0097】
カーネルコアの部分は、タイムクリティカルな処理を行なうので、その作業データとともに物理メモリに常駐するようになっている。これらは仮想記憶システム下でも、常にメインメモリ130に常駐する。
【0098】
一方、ユーザ領域とは、主にユーザが選択したアプリケーションを支援するための機能からなる。ユーザの指令を解釈してカーネルコアに伝えるとともに、カーネルコアからの応答をユーザに伝えるためのコマンド言語インタプリタは、このユーザ領域に含まれる。
【0099】
ユーザ領域は、カーネルとユーザの間に介在する部分であり、タイムクリティカルなプログラムはない。したがって、メインメモリ130上に常駐させておく必要はない。これらは補助記憶装置としてのハードディスク装置54に適宜スワップアウトされてもよい。
【0100】
最上位層のアプリケーションプログラムは、システムの実務的な目的のために使用するプログラムである。たとえば、画像出力端末7を印刷装置として利用する場合においては、PDLデータなどのページ記述言語を解釈し印刷イメージに変換するデコンポーザ(描画展開部)などがこれに含まれる。これらアプリケーションは物理メモリ上に常駐する必要はなく適宜補助記憶装置としてのハードディスク装置54へスワップアウトさせてもよい。
【0101】
また、本実施形態の画像出力端末7は、前述のように複合機として構成されているとともに、現在市販されている他の多くのPCと同様に、仮想記憶なる技術を採用している。
【0102】
仮想記憶とは、ハードディスク装置54などの補助記憶装置に対して論理的なアドレス(仮想アドレス)を割り振ることによって、その論理的なアドレスを、限られた空間(領域)しかないメインメモリ130の一部の領域であるかごとく扱う技術である。仮想メモリ空間は、たとえば4GB程度などの広い領域を持つ。仮想記憶によって、アプリケーション側から見たメインメモリ130の容量を現実の物理的大きさ(たとえば32MB)よりも見かけ上大幅に超える領域にまで拡大させることができ、大規模プログラムやデータを扱うことができる。上述したプログラムやその作業データは、仮想記憶システム下では仮想アドレスが割り当てられている。
【0103】
図5は、仮想記憶システムの一例を示した模式図である。メインメモリ130の物理的な容量はたとえば32MB程度であり、これに対し仮想メモリは4GB程度の広大な空間である。当然仮想アドレスの一部の領域しかメインメモリ130上には存在できない。すなわち、仮想アドレスはメインメモリ130上に存在している場合もあるし補助記憶装置に既にスワップアウトされたページもある。
【0104】
仮想メモリアーキテクチャにおいて、これを利用するアプリケーションに対しては、仮想アドレスである論理アドレスを提供する。つまり、アプリケーション側がメインメモリ130に対しての読み書きを行なう場合には、この論理アドレスを用いる。そして、論理アドレスによって構成される空間を仮想メモリ空間という。これに対して、実際にメインメモリ130の素子に付けられている物理アドレス(実アドレス)の存在も必要不可欠となる。この実アドレスによって構成される空間を実メモリ(real memory )空間という。アプリケーション側は、この実アドレスを知る必要はない。
【0105】
このように、論理アドレスと物理アドレスという2つのアドレスが存在することによって仮想メモリが実現する。2つのアドレスの関連づけをメモリマッピング(memory mapping)という。仮想メモリへのアクセスは、CPU120の果たす重要な機能の1つであるメモリ管理とオペレーティングシステムOSが協調して実現する。殆どのCPU120はメモリ管理ユニットMMU(Memory Management Unit)を内蔵、または別チップで用意する。
【0106】
メモリ管理ユニットMMUには2つの機能がある。メモリマッピング(写像/アドレス変換ともいう)を利用した仮想アドレスの参照という形態で行なわれる仮想記憶制御機能と、メモリ保護機能である。メモリマッピングとは、仮想アドレスをデータが実際に入っている物理アドレスに変換して、仮想メモリ空間へアクセスを可能にすることである。
【0107】
メモリ管理の他の機能であるメモリ保護は、仮想メモリ空間の各ページフレームのメモリ使用情報を管理することである。ここでメモリ使用情報とは、ページフレームが有効かあるいは無効かいうことを示す。仮想アドレスに対応する物理アドレスや、ページフレームデータベースの内容は、ページのスワッピングの際に変動する場合がある。メモリ管理では変更が生じる都度、これらの内容を更新するようになっている。
【0108】
メモリマッピングにおいては、たとえば、プログラムが論理アドレス空間にアクセスしようとすると、CPU120は、論理アドレスを物理アドレスに変換し(マッピングし)、変換した物理アドレスを含むブロックが物理メモリ上に存在するかどうかチェックする。そして、マッピングの結果参照されたブロックが存在するときは、メモリ管理ユニットMMUに主記憶アクセスを要求する。このようにして、マッピングの結果参照された仮想アドレスが物理メモリ上にあれば、物理メモリ上の該当アドレスのデータをそのまま要求元に渡してやる。
【0109】
一方、物理メモリに存在しないとき(フォールトという)は、CPU120は、オペレーティングシステムOSに制御を渡す。オペレーティングシステムOSは、必要なブロックを補助記憶装置(本例ではハードディスク装置54)から物理メモリに持ってきてから制御をCPU120に戻す。つまり、仮想アドレスがメインメモリ上に存在しない場合には、ファイルシステムに対して対応のアドレスデータをメインメモリ上にスワップインすることを要求する。
【0110】
このときメインメモリ130が既に他の有効ページで溢れている状態であれば、オペレーティングシステムOSは、スワップインのためのページを確保するべく、他の幾つかのページを補助記憶装置にスワップアウトする(不必要なブロックと入れ替える)ようファイルシステムに要求する。
【0111】
またメモリマッピングにおいては、仮想メモリ空間(論理アドレス空間)を複数のブロック(小片)に分割して管理することが多く、一般的には可変長サイズのページ(page)、あるいはページを複数組み合わせた可変長サイズのセグメント(segment ;複数のページの集合体)という単位で分割されて取り扱われる。
【0112】
そして、メモリマッピング手法には、たとえば、ページング(paging)方式、セグメンテーション(segmentation)方式、ページセグメンテーション(paged segmentation)方式の3つの方式が代表的なものである。ページング方式とセグメンテーション方式は、一長一短があり、セグメント方式はプログラムからは扱いやすいが、物理メモリの使用効率が落ちる一方、ページング方式はその逆である。このため両方式を併用するようにした方式がページセグメンテーション方式である。
【0113】
たとえばページング方式は、プログラムをその論理的意味とは無関係に、仮想メモリ内をページという固定長の単位で区分けし、この単位にマッピングを行なう手法である。スワッピングはページ単位で行なう。ページング方式は、構造的にシンプルであるためメモリ管理を容易に行なうことができ、メインメモリサイズを超えた仮想メモリ空間も複数ページを組み合わせて実現することができる。
【0114】
図6は、ページング方式を使用したメモリマッピングの仕組みを説明する図である。ページング方式を採用した場合の仮想記憶システム下では、仮想ページの物理メモリ中の位置を掌握するために、たとえば図6のような構造のページテーブルを生成する。図6において、1つの仮想アドレスは、32Bitで形成されるが、上位10ビットはディレクトリオフセットを、次の10ビットはページテーブルオフセットを、残りの12ビットはページオフセットをそれぞれ格納するためのフィールドである。
【0115】
ディレクトリオフセットはページディレクトリの先頭アドレスに対するオフセット値であり、ページディレクトリ中の該当するレコードには対応するページテーブルの先頭アドレスが記録されている。
【0116】
ページテーブルオフセットは、ページテーブルの先頭アドレスに対するオフセット値であり、ページテーブルの中の該当するレコードに対応するページフレームの先頭アドレスと、該ページのフレームの属性情報とが記録されている。
【0117】
ページオフセットは、ページフレームの先頭に対するオフセット値であり、物理アドレスの下位ビットそのものである。つまり、“ページフレームの先頭アドレス”+“ページオフセット”が現実の物理アドレスを表す。
【0118】
ページフレームは、物理アドレス上のページそのものであり、その内容は実際のコードやデータである。
【0119】
ディレクトリオフセットには10ビットが割り当てられているので、1024(=210)個のページテーブルをアドレス可能である。また、ページテーブルには10ビット割り当てられているので1024(=210)個のページフレームをアドレス可能である。また、1個のページフレームは、4KBの大きさを持っている。オペレーティングシステムのカーネルの一部であるメモリ管理では、上述したページテーブルを適宜利用できるようになっている。
【0120】
図7は、図1に示した画像出力端末7における電源管理手法において、ハイバネーションルーチンで実行されるハイバネーション処理の原理を説明する図である。
【0121】
ハードディスク装置54には、メインメモリ130の内容が格納される領域であるハイバネーションボリュームが確保される。また、ハイバネーション処理では、ワークエリア130aを含むメインメモリ130の内容が補助記憶装置としてのハードディスク装置54のハイバネーションボリュームにセーブされるが、このとき、セーブ対象となる全メモリ空間(メモリイメージ)は、複数のメモリブロック(本実施形態ではメインメモリ130のページ単位相当)に分割され、ページ単位でハードディスク装置54にデータ転送が行なわれる。
【0122】
図7においては、説明を簡単にするために、セーブ対象となる全メモリ空間がメモリページ#1からメモリページ#7の7個のメモリページに分割されている場合を例示している。メモリページ#6および#7は、ハイバネーション処理時のワークエリア130aである。ハードディスク装置54へのデータ転送処理は、メモリページ#1からメモリページ#7の順番で実行される。1つのメモリページの転送が完了すると、次のメモリページのデータをハードディスク装置54に転送する処理を開始する前に、ハードウェアステータスのチェックを行なう。このハードウェアステータスのチェックは、ユーザから所定の入力イベントがハイバネーション処理期間中に発生されたか否かを検出するためのものである。
【0123】
所定の入力イベントの発生が検出されたときは、ハイバネーション処理はその時点で中断され、CPU120および他のハードウェアは全てパワーマネージメント割込PMI信号発生前の状態に復元され、割込み元のプログラムに制御が戻される。入力イベントとしては、図示しないキーボードからのキー入力、ポインティングデバイスの操作、操作パネル14へのタッチなどを利用することができる。これらは、それぞれキーボードコントローラのキーバッファをリードしたり、電源コントローラ210のステータスレジスタをリードすることなどによって検知することができる。
【0124】
図8および図9は、ハイバネーション処理におけるパワーマネージメント割込PMI信号の発生からハイバネーションルーチンが起動されるまでの一連の動作を説明する図である。ここで、図8は、ハイバネーション処理に関わるメインメモリ130とROM132との関係を示した図、図9ハイバネーション処理手順の一例を示したフローチャートである。
【0125】
複写装置や印刷装置などの機能を備えた画像出力端末7におけるハイバネーションモードへの移行は、メイン電源のスイッチのオフにより発行されるイベントであるパワーマネージメント割込PMIによって始まる。
【0126】
なお、本実施形態においては、ジャンプコードの実行によって呼び出されたPMイベントハンドラは、どのような要因でパワーマネージメント割込PMI信号が発生されたかを決定するために、PMI発生要因をチェックする。この処理では、電力制御レジスタ230にセットされているPMIステータス情報が参照される。電源オフに起因するパワーマネージメント割込PMI信号であれば、PMイベントハンドラは、ROM132のハイバネーションルーチンの実行をリクエストする。これにより、ハイバネーションルーチンがパワーマネージメント管理モードPMMの中で実行されるようになる。
【0127】
たとえば、電源コントローラ210は、電源オフ指令の有無を監視する(S200)。電源コントローラ210は、ユーザによって電源スイッチ212がオフされたり、またはユーザによって操作パネル14上の表示されている電源スイッチ214が操作され電源オフ指令があったことを検知すると、電源オフ要因が発生したことを電源管理起動部220に通知する(S200−YES,S202)。電源管理起動部220は、この通知に応答してパワーマネージメント割込PMI信号を発生し、このパワーマネージメント割込PMI信号を電力制御レジスタ230を介してCPU120に供給する(S204)。
【0128】
CPU120がパワーマネージメント割込PMI信号を電力制御レジスタ230から受け取ると、システムの制御権は実行中のオペレーティングシステムOSまたはアプリケーションから一旦PM(パワーマネージメント)イベントハンドラに移され、パワーマネージメント管理モードPMMに切り替わる(S206)。PMイベントハンドラは、オペレーティングシステムOSのユーザ領域にあるPMサーバにハイバネーションモードへの移行を知らせる(S208)。
【0129】
PMサーバでは、アプリケーションプログラムに対して、ハイバネーションモードの通知と認証応答を行なう(S220)。ハイバネーションモードの移行を知らされたアプリケーションプログラムでは、直ちに処理を中断できないときにはPMサーバへのハイバネーションモードへの移行を一時的に拒否することもできる。またアプリケーションプログラムが使用している領域のメモリ情報をオペレーティングシステムOSのカーネルに知らせることもできる(S222−NO)。
【0130】
PMサーバでは、アプリケーションプログラムがハイバネーションモードへの移行を拒否しなかった場合(S222−YES)、オペレーティングシステムOSのカーネル領域にあるPMシステムコールを呼び出す(S224)。これにより制御権はパワーマネージメント管理モードPMMのコア部分に移る。
【0131】
たとえば、図8に示すように、パワーマネージメント管理モードPMMに入ると、PMコアは、先ず、メインメモリ130上のハイバネーション処理用のワークエリア130aに所定のメモリアドレスをマッピングする。これにより、ワークエリア130aがアクセス可能となる。
【0132】
ワークエリア130aには、CPUステートセーブエリア、CPU120以外の他のハードウェアに関するステータスを格納するハードウェアステータスセーブエリアなどが設けられており、またROM132のPMイベントハンドラを割り込み先として指定するジャンプコードがセットされている。ROM132には、再起動ルーチン、PMイベントハンドラ、ハイバネーションルーチン、および複数のBIOSドライバ群を含むシステムBIOSが格納されている。
【0133】
次いで、CPU120は、パワーマネージメント割込PMI信号が入力された時点のCPU120の各種レジスタの内容であるCPUステータス(コンテキストともいう)をワークエリア130aのCPUステートセーブエリアにスタック形式でセーブする(S226)。そしてCPU120は、パワーマネージメント管理モードPMMのスタートアドレスのコード、つまりワークエリア130aにセットされているジャンプコードをフェッチし、そのジャンプコードで指定されるROM132のPM(パワーマネージメント)イベントハンドラを実行する。
【0134】
たとえば、PMコアでは、先ず、システム内のメモリおよびハードウェアをチェックして、メモリおよびハードウェアについてのテストおよび初期化を実行する(S230,S232)。これらテストおよび初期化処理においては、たとえば、メインメモリ130の物理サイズおよびハードディスク装置54の構成(ヘッド数、シリンダ数、セクタ数)を調べる。そして、PMコアは、メインメモリ130のメモリサイズに相当するハイバネーションボリュームを、ハードディスク装置(HDD)54上に確保する(S234)。
【0135】
この場合、実際には、ハードディスク装置54の全記憶サイズ(ヘッド数、シリンダ数、セクタ数によって決定される)の中からメインメモリ130のメモリサイズに相当するサイズがハードディスク装置54の記憶エリアの最後尾側にハイバネーションボリューム(ハイバネーション完了フラグエリアを含む)として確保され、そのハイバネーションボリュームのサイズを差し引いた残りの記憶エリア(ヘッド数、シリンダ数、セクタ数)がハードディスク装置54の構成としてオペレーティングシステムOSに通知される。これにより、ハイバネーションボリュームはハイバネーションルーチンによって排他的に使用され、オペレーティングシステムOSによって使用されることはない。このことは、ハイバネーション処理の実行によるシステムデータおよびユーザデータの破壊、およびハイバネーション処理でセーブされた内容の破壊を防止できることを意味する。
【0136】
次にPMコアは、各デバイスドライバとの間でハイバネーション要求の通知と認証応答を行なう(S240)。通知を受けた各デバイスドライバは、必要なハードウェアコンテキストをメインメモリ130上の自己の作業領域であるワークエリア130a(詳しくはハードウェアステートセーブエリア)にセーブする(S242)。
【0137】
次にPMコアは、ハイバネーション処理の中断要因として予め決められているユーザからの入力イベント(キー入力や電源スイッチ212の操作、あるいは操作パネル14へのタッチなど)の発生の有無を調べる(S244)。
【0138】
いずれの入力イベントも発生してない場合には(S244−NO)、PMコアは、図7で示したように、ワークエリア130aを含むメインメモリ130の内容であるセーブ対象の全メモリ空間(メモリイメージ)を、メモリページ単位で、補助記憶装置の一例であるハードディスク装置54のハイバネーションボリュームに転送してセーブする(S250)。この際、必要に応じて、ページデータを、そのページデータの内容に応じた方法により圧縮してからセーブする。
【0139】
PMコアは、1メモリページ分の転送が完了すると、全メモリページ分の転送が完了したか否かを調べ(S252)、完了していない場合には、完了するまでステップS244〜S252の処理を繰り返し実行する。
【0140】
一方、PMコアは、ステップS244において入力イベントの発生を検出すると(S244−YES)、ハイバネーション中断処理を開始し、ワークエリア130aのCPUステートおよびハードウェアステートをそれぞれCPU120のレジスタおよび該当するハードウェアのレジスタにリストアする(S260)。これにより、復帰命令が実行され、パワーマネージメント割込PMIによって割り込まれたプログラムに制御が戻される。これにより、パワーマネージメント割込PMI発生前の動作環境が復元される。
【0141】
これに対して、ハイバネーション処理中に入力イベントが発生せずに全てのメモリページの転送が完了した場合には、PMコアは、最後に、システムのコンフィグレーションデータ(ハードウェア情報)をハードディスク装置54に転送して、ハイバネーションモードによるパワーオフであることをハードディスク装置54のハイバネーションパワーオフシグネチャ設定エリア(図7参照)に記録する(S270)。また、PMコアは、リアルタイムクロック162がCMOSメモリ164を備えていれば、このCMOSメモリ164にハイバネーション完了フラグをセットし(S272)、そうでないときにはハードディスク装置54のハイバネーション完了フラグ設定エリア(図7参照)にハイバネーション完了フラグをセットした後(S274)、電源コントローラ210にパワーオフコマンドを送って画像出力端末7をパワーオフさせる(S276)。
【0142】
このように、本実施形態では、ハイバネーション期間中に定期的にハードウェアステータスをチェックすることによりユーザからの所定の入力イベントの有無を調査し、入力イベントの発生が検出された時点でハイバネーション処理を中断して画像出力端末7をパワーマネージメント割込PMI信号発生前の作業状態に復元するようにした。このことにより、ユーザは、一旦ハイバネーション処理が開始された後においても、キー入力などを行なうことにより、ハイバネーション処理の完了を待つことなく即座にそれまでの作業を継続することが可能となる。
【0143】
図10は、本実施形態におけるハイバネーション装置を説明する図である。ここで、図10(A)は、その機能ブロック図、図10(B)は、メインメモリ130の内容と圧縮方法とを対応付けた表の一例を示す図である。
【0144】
図10(A)に示すように、ハイバネーション装置は、メモリイメージを格納するハードディスク装置54と、メインメモリ130と、圧縮保存制御部の一例であるメモリイメージ保存制御部300と、伸張回復制御部の一例であるメモリイメージ回復制御部310と、圧縮伸張処理部320とを備える。
【0145】
圧縮伸張処理部320は、CPU120を使用して圧縮処理をするCPU圧縮部322と、これに対応して、CPU120を使用して伸張処理をするCPU伸張部324とを有する。
【0146】
また圧縮伸張処理部320は、イメージ圧縮伸張処理部50の符号化部52(図2参照)を使用して圧縮処理をする印刷イメージ圧縮部326と、これに対応して、イメージ圧縮伸張処理部50の復号化部56を使用して伸張処理をする印刷イメージ伸張部328とを有する。
【0147】
メモリイメージ保存制御部300は、圧縮伸張処理部320のCPU圧縮部322や印刷イメージ圧縮部326を制御して、メインメモリ130の内容をページごとにハードディスク装置54にセーブする。また、メモリイメージ回復制御部310は、圧縮伸張処理部320のCPU伸張部324や印刷イメージ伸張部328を制御して、ハードディスク装置54からメモリイメージを読み出してメインメモリ130に戻す。本実施形態では、オペレーティングシステムOSのカーネルコア部が、メモリイメージ保存制御部300やメモリイメージ回復制御部310の機能をなす。ただし、これに限らず、専用のハードウェアにてこれらを構成してもよい。
【0148】
メモリイメージ保存制御部300は、記憶内容解析部の機能も備えており、メインメモリ130に記憶されている記憶内容がイメージ圧縮伸張処理部50の符号化部52にて圧縮処理可能であるか否かをメモリページごとに解析し、その結果を纏めた表(圧縮方法テーブル)を作成する。
【0149】
圧縮効率を考えた場合、メインメモリ130の内容に応じて圧縮方法を選択できることが望ましい。特に印刷装置などの専用システムでは、メインメモリ130の内容の一部は、予測が可能であり、記憶内容に応じてCPU圧縮や印刷イメージ圧縮を切り替える、あるいは圧縮フォーマットを切り替えることが容易にできる。
【0150】
なお、本実施形態においては、メインメモリ130中の所望のデータを補助記憶装置の一例であるハードディスク装置54にセーブする際には、メインメモリ130中のデータが、たとえばプログラムのテキスト部分のように、セーブしなくてもハイバネーションモードから復帰した後に再読み込み可能なページはセーブしない。
【0151】
このため、オペレーティングシステムOSのカーネルコア部は、セーブされるメモリページに対し、仮想アドレスを管理しているメモリ管理からのページ属性情報とアプリケーションプログラムからのページ情報とに基づいて、図10(B)に示す圧縮方法の表を作成する。圧縮方法としては、メインメモリ130のページごとに、圧縮不要、CPU圧縮、印刷イメージ圧縮の3種類に区分けする。
【0152】
そして、メモリイメージのハードディスク装置54への転送格納の際には、メモリイメージ保存制御部300は、作成した圧縮方法テーブルを参照して、CPU圧縮部322と印刷イメージ圧縮部326とを切り替えながら、メモリイメージを圧縮してハードディスク装置54に保存する。
【0153】
また、メモリイメージ回復制御部310は、圧縮処理に使用したCPU圧縮部322と印刷イメージ圧縮部326に対応して、伸張処理可能なCPU伸張部324と印刷イメージ伸張部328とを切り替えながら、ハードディスク装置54から読み出した情報を伸張してメインメモリ130にメモリイメージを戻すことで、画像出力端末7の作動状態を復元する。
【0154】
図11は、図10に示した構成における圧縮処理手順の一例を示すフローチャートである。
【0155】
カーネルコア部は、先ず、処理対象のページデータが圧縮を要するか否かを判定する(S300)。そして、圧縮を必要としない場合には、CPU120は、「圧縮不要」を指定し、表に書き込む(S300−NO,S310)。一方、圧縮した方がデータ量が少なくなるデータである場合には、「圧縮する」ことを選択する(S300−YES,S320)。
【0156】
そして、「圧縮する」ことを選択する場合において、ページデータが、このページデータの圧縮処理に画像出力端末7が備えるイメージ圧縮伸張処理部50を利用可能なデータである場合には、圧縮方法として印刷イメージの圧縮方法と同じ方法を指定する(S322−YES,S324)。それ以外の「圧縮する」ことを選択するページデータについては、CPU圧縮を指定する(S324−NO,S326)。こうすることで、たとえばメインメモリ130のページデータが画像データである場合には、印刷イメージ圧縮の専用プロセッサを圧縮処理に使用することができるようになる。
【0157】
ハイバネーション処理におけるメモリページのセーブに際しては、メインメモリ130の内容(メモリデータ)のページ圧縮方法を表に従って切り替えながらハードディスク装置54にメインメモリ130の内容をページごとにセーブする。このとき、圧縮方法として印刷イメージの圧縮方法と同じ方法が指定されることがあり、その場合は印刷イメージ圧縮の専用プロセッサを圧縮に使用する(図10(B)参照)。
【0158】
すなわち、CPU120は、先ず、前述のようにして作成した表を参照して、処理対象のページデータの圧縮の要否を判定する(S330)。「圧縮不要」が指定されていると、カーネルコア部は、そのページデータをそのままハードディスク装置54に格納する(S330−NO,S340)。
【0159】
一方、「圧縮要」が指定されていると、カーネルコア部は、さらに、圧縮方法として印刷イメージの圧縮が指定されているか否かを判定する(S330−YES,S350)。
【0160】
CPU120による圧縮処理を示す「CPU圧縮」が指定されていると、CPU120を使用してページデータを圧縮する(S350−NO,S360)。次に、カーネルコア部は、圧縮データが非圧縮データより大きくなったか否かを判定する(S380)。そして、圧縮データが非圧縮データより小さくなった場合には、CPU120により圧縮処理された圧縮済のページデータをハードディスク装置54に格納し(S380−YES,S384)、圧縮データが非圧縮データより小さくなった場合には、非圧縮データすなわち元のページデータそのものをハードディスク装置54に格納する(S380−NO,S386)。
【0161】
一方、イメージ圧縮伸張処理部50による圧縮処理を示す「印刷イメージ圧縮」が指定されていると、イメージ圧縮伸張処理部50の符号化部52を使用してページデータを圧縮する(S350−YES,S370)。次に、カーネルコア部は、圧縮データが非圧縮データより大きくなったか否かを判定する(S380)。そして、圧縮データが非圧縮データより小さくなった場合には、符号化部52により圧縮処理された圧縮済のページデータをハードディスク装置54に格納する(S380−YES,S384)。逆に、圧縮データが非圧縮データより小さくなった場合には、非圧縮データすなわち元のページデータそのものをハードディスク装置54に格納する(S380−NO,S386)。こうすることで、メインメモリ130に印刷イメージが入っている場合に圧縮率を高めることができる。
【0162】
なお、ページデータの回復処理の際には、圧縮方法に対応した伸張処理をする必要がある。この場合、ハードディスク装置54から読み出したデータ内容を解析することで圧縮方法を特定してもよい。あるいは、圧縮方法を示す情報をページデータと対応付けてハードディスク装置54にセーブしたり、あるいは図10(B)で示す表をハードディスク装置54にセーブしてもよい。これらの場合、セーブしておいた情報を基にして簡単に圧縮方法を特定することができる。
【0163】
なお、圧縮保存方法では、ページデータの内容を圧縮保存時に調べながら、そのデータ形式に適した圧縮方法を決定する適応的(adaptive)な方法を選択するとよい。たとえば、パソコン3aで生成された文書ファイルの印刷イメージであれば、JPEG形式で圧縮し、FAX装置3eから受信したFAX画像であれば、TIFF形式で圧縮するなど適応的な方法を選択する。
【0164】
図12は、パワーオン時に、ハイバネーション処理でセーブされた内容を復元するレジューム処理手順の一例を示すフローチャートである。
【0165】
ハイバネーションモードからの復帰は、メイン電源をオンすることによって始まる。すなわち、画像出力端末7がパワーオンされると、システムBIOSは、ブート直後にROM132に書かれたブートストラッププログラムを実行する(S400)。ブートストラッププログラムは、CMOSメモリ164もしくはハードディスク装置54のハイバネーション完了フラグ設定エリアをアクセスして、ハイバネーションモードによるパワーオフかどうかをチェックする(S402)。すなわち、現在のパワーアップモードがレジュームモードとブートモードのどちらに設定されているかを判断する。
【0166】
システムBIOSは、レジュームモードであれば、CMOSメモリ164やハードディスク装置54のハイバネーション完了フラグ設定エリアにハイバネーション完了フラグがセットされているか否かを調べることができる(S404)。
【0167】
ハイバネーションモードでない場合、すなわちパワーアップモードがブートモードの場合あるいはレジュームモードであってもハイバネーション完了フラグがセットされていない場合には、通常のブート処理を実施する、つまりオペレーティングシステムOSを起動するブートストラップ処理を実行する(S404−NO,S406)。
【0168】
一方、ハイバネーションモードによる電源再起動(パワーオン)であった場合、システムBIOSは、そのハイバネーション完了フラグ設定エリアのシグネチャ(データ内容やフラグ)を消す(S404−YES,S408)。
【0169】
次にシステムBIOSは、ハードディスク装置54のハイバネーションボリュームにセーブしておいたメインメモリ130の内容をメインメモリ130に書き込む処理(セーブ内容のロード処理)を起動する(S410)。このとき全ての内容を一度に復帰するのではなく、たとえばセーブしておいたコンフィグレーションデータ(ハードウェア情報)やオペレーティングシステムOSの常駐を必要とする部分など一部必要な部分のみを最初に復帰させる。さらにこのとき、セーブしておいたメインメモリ130の内容が圧縮されている場合は、圧縮方法に対応する解凍方法によって、CPU伸張部324もしくは印刷イメージ伸張部328により伸長しながらメインメモリ130へ書き込む(S412−YES,S414,S416)。圧縮されていない場合は、ハードディスク装置54から読み出したデータをそのままメインメモリ130へ書き込む(S412−NO,S416)。
【0170】
次にシステムBIOSは、パワーオン後のコンフィグレーションデータを調べる(S420)。そして、セーブしておいたコンフィグレーションデータ(ハードウェア情報)とパワーオン後に調べたコンフィグレーションデータを比較する(S422)。もし両者が違っている場合には、システムBIOSは、通常のブートを行なうようにする(S422−NO,S406)。
【0171】
両者が合致している場合には、システムBIOSは、次に、セーブしておいたメインメモリ130の内容全て(全ページデータ)を復帰させる(S422−YES,S430)。すなわち、システムBIOSは、ハードディスク装置54のハイバネーションボリュームの内容をそれぞれCPU120、各種ハードウェア、メインメモリ130にリストアしてハイバネーション処理を起動したパワーマネージメント割込PMI発生前の作業状態を復元し、パワーマネージメント割込PMIによって割り込まれたプログラムに制御を戻す。
【0172】
この後、PMコアは、デバイスドライバとの間で、ウェークアップ(wake up )の通知および認証応答を行なう(S432)。次いでPMサーバから呼び出されていたPMシステムコールがリターンされる(S434)。そしてPMサーバは、アプリケーションプログラムとの間で、ウェークアップの通知および認証応答を行なう(S436)。これにより、ユーザは、パワーオフ直前の状態から画像出力端末7を使用することができるようになる。
【0173】
以上説明したように、本実施形態においては、ハイバネーションモードでの電源オフ時には、メインメモリ130のページデータの内容に応じて、CPU120と、このCPU120とは別個に設けた圧縮処理部の一例であるイメージ圧縮伸張処理部50とを切り替えてページデータを圧縮処理するようにした。
【0174】
従来のように、CPU120を用いて画像データを圧縮処理するのでは通常モードからハイバネーションモードへの移行が遅い。これに対して、印刷イメージ処理用のイメージ圧縮伸張処理部50を利用することで、イメージ圧縮伸張処理部50にて圧縮可能な分だけ、圧縮処理や伸張処理の各処理時間の制約を、CPU120の処理能力から開放することができ、ハイバネーションモードへの移行を高速化することができる。加えて、圧縮処理や伸張処理の手段として印刷イメージを圧縮したり伸張する手段と同一の手段を使用することにより、ハイバネーション専用の圧縮伸張処理部を備える必要がない。
【0175】
また、メインメモリ130の内容を補助記憶装置(本例ではハードディスク装置54)にセーブする際に、ページあるいはセグメントごとに圧縮方法を指定するようにしたので、より効率的にメインメモリ130の内容を圧縮し補助記憶装置に退避することができる。これにより、ハイバネーションモードへの移行が速くなる。
【0176】
またメモリイメージを圧縮して補助記憶装置に保存しているので、ハイバネーションからの復帰時には、解凍するデータの量が少なく、補助記憶装置へのアクセス時間を短縮することができる。圧縮データを伸張する処理時間は、補助記憶装置へのアクセス時間に比べれば十分に短い。これにより、通常モードへの復帰時間を短くすることができる。
【0177】
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。発明の要旨を逸脱しない範囲で上記実施形態に多様な変更または改良を加えることができ、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれる。
【0178】
また、上記の実施形態は、クレーム(請求項)にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組合せの全てが発明の解決手段に必須であるとは限らない。前述した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜の組合せにより種々の発明を抽出できる。実施形態に示される全構成要件から幾つかの構成要件が削除されても、効果が得られる限りにおいて、この幾つかの構成要件が削除された構成が発明として抽出され得る。
【0179】
たとえば、上記実施形態では、画像情報に対する情報処理機能を備えた画像処理装置の一例としての複写装置や印刷装置あるいはファクシミリ装置において、ハイバネーション機能を利用して装置を初期起動することを説明したが、画像処理装置は、複写装置などに限らない。すなわち画像を取り扱う装置であればよく、たとえばデジタルカメラなどに適用することもできる。
【0180】
また、画像入力端末3側のカラースキャナ3bと組み合わせたネットワークスキャナや、このカラースキャナ3bと画像出力端末7における印刷機能とを組み合わせたネットワーク複写システムとして構成することもできる。
【0181】
また上記実施形態では、画像情報に対する情報処理機能を備えた画像処理装置にハイバネーション機能を設けた場合についての本願発明の適用を説明したが、装置における情報処理機能は、画像情報に対するものに限定されない。この場合、その装置が取り扱う情報に応じた圧縮処理部や伸張処理部を中央演算処理部と別個に用意する。そして、上記実施形態で説明したように 主記憶部に記憶されている記憶内容が圧縮処理部にて圧縮処理可能であるか否かを記憶内容解析部で解析し、圧縮可能であれば、電源オフ時に通常モードからハイバネーションモードに移行させる際、その圧縮可能な分の記憶内容に関しては、圧縮処理部にて圧縮する。また、電源再起動時にハイバネーションモードから通常モードに回復させる際は、中央演算処理部とは別個に設けられた伸張処理部にて伸張処理する。
【0182】
【発明の効果】
以上のように、本発明によれば、ハイバネーションモードでの電源オフ時には、主記憶部の記憶内容(メモリイメージ)に応じて、中央演算処理部を利用した圧縮と、中央演算処理部とは別に設けられた圧縮処理部(前例ではイメージ圧縮伸張処理部50)を利用した圧縮とを切り替えて記憶内容を圧縮処理するようにした。中央演算処理部とは別に設けられた圧縮処理部にて圧縮処理できるメモリデータの場合、中央演算処理部にて圧縮処理するよりも処理時間を短縮することができる。
【0183】
このため、全てのメモリデータを中央演算処理部を利用して圧縮する場合に比べて、ハイバネーションモードへの移行を高速化することができる。また圧縮して保存しているので、ハイバネーションからの復帰時に、解凍するデータの量が少なく補助記憶装置へのアクセス時間を短縮することができ、通常モードへの復帰時間を短くすることができる。
【図面の簡単な説明】
【図1】本発明に係る画像処理装置の一実施形態を有する画像出力端末を備えた画像処理システムを示す概略図である。
【図2】画像出力端末における画像処理機能を示すブロック図である。
【図3】図1に示した画像出力端末における、画像の圧縮/伸張処理に関わる機能部分と、電源管理に関わる機能部分とに着目した、ハードウェア構成のブロック図である。
【図4】ソフトウェアの構成との関係におけるCPUの働きを説明する図である。
【図5】仮想記憶システムの一例を示した模式図である。
【図6】ページング方式を使用したメモリマッピングの仕組みを説明する図である。
【図7】図1に示した画像出力端末における電源管理手法において、ハイバネーションルーチンで実行されるハイバネーション処理の原理を説明する図である。
【図8】ハイバネーション処理に関わるメインメモリとROMとの関係を示した図である。
【図9】ハイバネーション処理手順の一例を示すフローチャートである。
【図10】ハイバネーション装置を説明する図である。
【図11】図10に示した構成における圧縮処理手順の一例を示すフローチャートである。
【図12】パワーオン時に、ハイバネーション処理でセーブされた内容を復元するレジューム処理手順の一例を示すフローチャートである。
【符号の説明】
1…画像処理システム、3…画像入力端末、7…画像出力端末、10…画像読取装置、20…スキャナ部、22…読取信号処理部、30…画像形成装置、32…画像形成ユニット、40…前段色信号処理部、50…イメージ圧縮伸張処理部、51…パラメータ設定部、52…符号化部(圧縮処理部)、54…ハードディスク装置、56…復号化部(伸張処理部)、60…後段色信号処理部、70…プリントエンジン、72…IOTコントローラ、80…給紙装置、110…システムバス、120…CPU(中央演算処理部)、130…メインメモリ(主記憶部)、200…電源管理処理制御部、210…電源コントローラ、212,214…電源スイッチ、220…電源管理起動部、230…電力制御レジスタ、300…メモリイメージ保存制御部、310…メモリイメージ回復制御部、320…圧縮伸張処理部、322…CPU圧縮部、324…CPU伸張部、326…印刷イメージ圧縮部、328…印刷イメージ伸張部[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a control method and a control device for a hibernation function for saving the contents of a main storage unit of an apparatus in an auxiliary storage unit of the apparatus when the power is turned off, and an image processing apparatus having the hibernation function.
[0002]
[Prior art]
When the work is interrupted by turning off the main power supply of the apparatus, the current work in the real memory of the volatile main storage unit (main memory) that retains the stored content only when the power is supplied is cut off. Even when the power is turned on, the contents stored in the auxiliary storage unit are stored in the real memory of the main storage unit before the power is turned off. There is known a mechanism for performing a hibernation / wake-up operation for resuming a temporarily interrupted work by reading back to a work.
[0003]
In addition, the enlargement of software is assumed to be a natural flow, and in order to construct an environment in which the enlarged software can be executed, a real storage system, which has been taken for granted in an embedded operating system (embedded OS / OS), is used. There are devices that discard and adopt a virtual storage system.
[0004]
The advantage of the real storage system is that since the image of the program is read only memory (ROM), the time for loading the program is not necessary or short, and the boot time (device start time) is very short. is there. On the other hand, the virtual storage system can use the memory indefinitely, but has a long program load time and a long boot time.
[0005]
2. Description of the Related Art In recent years, an information processing apparatus (for example, a personal computer) using a virtual memory employs a hibernation mode in order to shorten a boot time and maintain continuity of work. In the hibernation mode, the state of a central processing unit (CPU) and various peripheral LSIs (Large Scale ICs) having main information processing functions and arithmetic processing functions of the apparatus when the system power is turned off, the contents of main memory, and the like. Is a mode in which almost all devices in the system including the main storage unit are powered down after the data is saved in a recording medium such as a hard disk, and the saved state is restored when the system power is turned on.
[0006]
In such hibernation processing, the time required to transfer the contents of the main storage unit to the auxiliary storage unit for storage as information on the operation state when the power switch is turned off is a large part of the total processing time. Occupy. That is, in the hibernation mode, the storage time when the system power is turned off and the recovery time when the system is turned on (boot time) are determined by storing or holding the contents of the main storage unit in an auxiliary storage unit such as a hard disk device. This is the time for reading the stored information from the auxiliary storage unit.
[0007]
Therefore, recently, by storing the minimum necessary contents of the main storage unit or compressing and storing the contents of the main storage unit, access to the auxiliary storage unit (disk I / O in the case of a hard disk device) is performed. O) may be reduced.
[0008]
In addition, for example, with the recent increase in performance and function of devices, enlargement of software incorporated in the devices has become a problem. For this reason, various measures have been taken, such as reviewing and limiting the functions to be incorporated, and increasing the capacity of the ROM in anticipation of an increase in cost. For example, an image processing apparatus such as a printing apparatus or a copying apparatus that handles an image as an object to be processed is not limited to a single-function apparatus, but may be an MFP having a plurality of functions.
[0009]
[Problems to be solved by the invention]
However, even if the capacity of the ROM is increased, a simple startup process that does not use the hibernation mode requires a startup time corresponding to the increase in software when the power is started (at the time of booting).
[0010]
On the other hand, when creating embedded software for, for example, a printing apparatus or a copying apparatus on a virtual storage system, it is conceivable to provide a hibernation mode to reduce boot time. However, if the hibernation mode is realized by a general hibernation control method used in personal computers and compressed and saved, the compression processing time for the increase in software becomes a bottleneck due to the processing capacity of the CPU. The transition time to the hibernation mode is delayed.
[0011]
Similarly, the expansion processing time due to the increase in software becomes a bottleneck due to the processing capacity of the CPU, and the return time from the hibernation mode to the normal mode after restarting the power supply is also delayed.
[0012]
The present invention has been made in view of the above circumstances, and even in a case where software is increased, the transition time from the normal mode to the hibernation mode and the return time from the hibernation mode to the normal mode are longer than before. It is an object of the present invention to provide a hibernation control method and a hibernation control device that can be shortened, and an image processing device having a hibernation function.
[0013]
[Means for Solving the Problems]
Some devices that handle information include a dedicated processing unit (processor) for compressing and decompressing the information separately from a central processing unit that controls the entire device. For example, in a printing device or a copying device, in order to increase the throughput of image output to a paper medium or the like, the content of an image memory containing an output image is compressed and stored in a recording medium such as a hard disk device, and the image memory is saved. Some have a spool device that releases it and uses it to generate the next output image. The compression of the print image may be performed using a CPU, but a dedicated processor is separately provided from the CPU for performing the generation of the print image and the compression process in parallel, and the compression process is performed by the dedicated processor. There are also things. In addition, even if parallel processing is omitted, the compression / save processing by the dedicated processor is usually faster than the case of using a CPU.
[0014]
When creating embedded software such as a printing device or a copying device on a virtual storage system, it is conceivable to provide a hibernation mode to reduce boot time. Further, when the contents of the main storage unit are compressed and stored, it is conceivable that the speed can be increased by using the processor dedicated to the compression and storage used for the image output described above. For example, when a print image is contained in a main page that needs to be compressed and stored, it is considered that the content of the main storage unit can be stored at high speed and with a good compression ratio by using a processor dedicated to compression and storage.
[0015]
The present invention has been made based on the above technical knowledge.
[0016]
That is, the hibernation control method according to the present invention can be implemented in a device including a main storage unit that retains storage contents only when power is supplied and an auxiliary storage unit that retains storage contents even when power supply is cut off. The operation state data indicating the operation state of the device when the power supply is cut off during execution is stored in the auxiliary storage unit, and the operation state data stored in the auxiliary storage unit is read out when the power is supplied again, and the operation state of the device is read out. A hibernation control method for performing a hibernation process for restoring the data, wherein a storage content stored in a main storage unit is provided separately from a central processing unit having a main information processing function of the apparatus and capable of performing compression processing. A storage content analysis step of analyzing whether compression processing can be performed by the compression processing unit, and a central processing unit according to a result analyzed in the storage content analysis step. A compression / storing step of compressing and storing the storage contents in the auxiliary storage unit while switching between the arithmetic processing unit and the compression processing unit, and a decompression process corresponding to the central processing unit and the compression processing unit used for compression. A decompression recovery step of decompressing the compressed storage contents read from the auxiliary storage unit and restoring the operation state of the device while switching between the central processing unit and a decompression processing unit provided separately from the central processing unit And with.
[0017]
The hibernation control device according to the present invention is a device suitable for implementing the hibernation control method according to the present invention, has a main information processing function of the device, and is capable of compressing the storage content of a main storage unit; A central processing unit capable of decompressing information stored in the auxiliary storage unit, a compression processing unit provided separately from the central processing unit and performing a predetermined compression process, and a compression processing unit. A decompression processing unit that performs a corresponding decompression process, and a storage content analysis unit that analyzes whether the storage content stored in the main storage unit can be compressed by the compression processing unit.
[0018]
Further, the hibernation control device according to the present invention compresses the storage content by the compression processing unit on condition that the analysis result of the storage content analysis unit indicates that the compression processing can be performed by the compression processing unit. And a storage unit stored in the auxiliary storage unit on condition that the compressed storage contents stored in the auxiliary storage unit are compressed by the compression processing unit. A decompression recovery control unit is provided for decompressing the contents by a decompression processing unit and restoring the operation state of the apparatus.
[0019]
An image processing device according to the present invention includes an image processing unit that performs image processing, and the above-described configuration of the hibernation control device according to the present invention. The image processing apparatus according to the present invention may be developed, for example, as a so-called scanner apparatus including an image reading unit that reads a document image. Further, an apparatus provided with an image forming unit that outputs an image subjected to image processing by the image processing unit as a visible image to a predetermined output medium, for example, image data transmitted from a personal computer or the like which is an example of an image input terminal, It may be developed as a facsimile receiving apparatus that receives facsimile data from a facsimile transmitting apparatus, which is another example of a printing apparatus that receives and prints out, and outputs a facsimile image. Further, the present invention may be developed as a copying apparatus that includes an image reading unit and an image forming unit and prints out a document image read by the image reading unit on a predetermined output medium. Further, the present invention may be developed as a so-called multifunction machine in which a scanner device, a printing device, a facsimile receiving device, or a copying device is arbitrarily combined.
[0020]
The invention described in the dependent claims defines further advantageous specific examples of the hibernation control method and apparatus and the image processing apparatus according to the present invention.
[0021]
In addition, a program suitable for realizing the hibernation control method and apparatus and the image processing apparatus according to the present invention by software using an electronic computer (computer) or a computer-readable storage medium storing the program is extracted as an invention. You can also. The program may be provided by being stored in a computer-readable storage medium, or may be distributed via a wired or wireless communication unit.
[0022]
[Action]
In the above configuration of the present invention, first, separately from the central processing unit, a compression processing unit for performing a predetermined compression process and an expansion processing unit for performing an expansion process corresponding to the compression process in the compression processing unit are prepared. I do.
[0023]
Then, the storage content analysis unit analyzes whether or not the storage content stored in the main storage unit can be compressed by a compression processing unit provided separately from the central processing unit.
[0024]
If the data can be compressed, when the power is turned off, the mode is switched from the normal mode to the hibernation mode. When recovering from the hibernation mode to the normal mode when the power supply is restarted, the expansion processing is performed by an expansion processing unit provided separately from the central processing unit.
[0025]
As a result, the restriction on the processing time of each of the compression processing and the decompression processing can be released from the CPU processing capacity by the amount that can be compressed by the compression processing unit.
[0026]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[0027]
FIG. 1 is a schematic diagram illustrating an image processing system including an image output terminal having an embodiment of a hibernation control device and an image processing device according to the present invention. The image processing system 1 includes an
[0028]
The
[0029]
The image output terminal 7 is, for example, a so-called multifunction device (multifunction device) having a copy function, a page printer function, and a facsimile transmission / reception function, and is configured as a digital printing device.
[0030]
The electronic data representing the document DOC prepared by the
[0031]
The image output terminal 7 roughly includes an image reading device 10, an image forming device 30, and a paper feeding device 80. The image output terminal 7 can be connected to a network via a
[0032]
The image reading apparatus 10 transports a document to a reading position on a reading table (platen glass) (not shown) and discharges the document, an operation panel (user interface) 14 having a display function, and various settings for the apparatus. And an operation key 16 for performing the operation.
[0033]
The
[0034]
The image reading device 10 has the function of an image input terminal, and reads an image on a document by irradiating the document sent to the reading position with light using, for example, a full-width array of CCD solid-state imaging devices. The analog video signal representing the read image is converted into a digital signal and sent to the image forming apparatus 30.
[0035]
The image forming apparatus 30 includes an
[0036]
The double-
[0037]
On the processing board 38, not only a processing unit (especially an image processing unit) for the image forming apparatus 30 but also circuits for performing various processes of the entire image output terminal 7 are mounted. For example, the
[0038]
The processing board 38 has a semiconductor storage medium mounted thereon, and stores, for example, a processing program for a copying application, a printer application, a facsimile (FAX) application, or another application.
[0039]
The paper feeding device 80 includes a paper feeding tray 82. In the illustrated example, three paper feed trays 82 corresponding to three types of paper sizes A4, B4, and A3 are prepared.
[0040]
When a sheet is fed to the image forming apparatus 30 from any of the plurality of sheet feed trays 82, the
[0041]
The paper discharged from the
[0042]
The image output terminal 7 is not limited to a printing function, that is, a copying function, of an image read by the image reading device 10, but may be a document data or an image obtained from the
[0043]
FIG. 2 is a block diagram illustrating an image processing function of the image output terminal 7. The image reading device 10 has a
[0044]
The
[0045]
The read
[0046]
In the read
[0047]
The image forming apparatus 30 includes a pre-stage color signal processing unit 40, an image compression / decompression processing unit (image compression / decompression processor) 50, a post-stage color
[0048]
The pre-stage color signal processing unit 40 includes, for example, an input
[0049]
In the pre-stage color signal processing unit 40, first, red, green, and blue digital image data (color signals) from the read
[0050]
The
[0051]
When the image output terminal 7 is used as a printer, the
[0052]
After that, the output
[0053]
Further, the under
[0054]
Then, the digital image data subjected to the series of processes (pre-stage color signal processing) is input to the image compression /
[0055]
The image compression /
[0056]
The parameter setting unit 51 determines a compression parameter at the time of encoding in the
[0057]
The
[0058]
Next, in synchronization with a leading edge detection signal (a signal indicating a print start point in the sub-scanning direction) from a leading edge detector (not shown) of the
[0059]
The second-stage color
[0060]
The
[0061]
The
[0062]
The halftone generation unit 68 performs a halftoning process based on the digital image data subjected to the above-described processes to obtain binarized data representing a pseudo halftone image, and converts the binarized data into an image forming unit. Pass to 32.
[0063]
The
[0064]
The
[0065]
With this configuration, the
[0066]
The obtained printed matter is fixed by a fixing device (not shown), and the printing paper is turned over by a duplex copying unit 34 (see FIG. 1) for duplex copying, or is immediately delivered to a delivery unit 36 (see FIG. 1). Is discharged.
[0067]
The
[0068]
FIG. 3 is a block diagram of a hardware configuration of the image output terminal 7 shown in FIG. 1, focusing on a function part related to image compression / decompression processing and a function part related to power management.
[0069]
On the processing board 38 (not limited to one) of the image output terminal 7, a system bus 110, a
[0070]
The
[0071]
The
[0072]
The
[0073]
In addition to the BIOS driver group, the
[0074]
As described with reference to FIG. 2, the
[0075]
The hibernation volume, the hibernation power-off signature setting area, and the hibernation completion flag setting area are secured by the system BIOS when the
[0076]
The
[0077]
The I /
[0078]
The
[0079]
The real-
[0080]
The boot mode is a mode in which, when the image output terminal 7 is powered on, a bootstrap (Bootstrap) process for starting an operating system as usual is started. In the resume mode of the present embodiment, the hibernation process is executed when the power is turned off, and when the image output terminal 7 is powered on, the contents saved in the
[0081]
In the present embodiment, a power management program such as a hibernation routine is executed in the power management management mode PMM. The power management interrupt PMI is a highest-priority interrupt having a high priority. By issuing the power management interrupt PMI, the power management program can be started without depending on the application program being executed or the environment of the operating system OS.
[0082]
For example, the PM event handler activates a hibernation routine when a power management interrupt PMI caused by a power-off operation occurs, and responds to a power management interrupt PMI caused by another factor when the PMI occurs. A PMI service routine, for example, a normal power on / off processing routine is started. That is, when the power management interrupt PMI is issued to the
[0083]
When the mode is switched to the power management management mode PMM by the power management interrupt PMI, the
[0084]
The reason why the work area for the hibernation process is provided in the
[0085]
In this embodiment, when the return command is executed in the power management management mode PMM, the
[0086]
The
[0087]
The power management
[0088]
The power
[0089]
The
[0090]
The
[0091]
FIG. 4 is a diagram for explaining the operation of the
[0092]
For example, a device driver is the lowest layer of software. The device driver converts a command issued by higher-level software (such as an operating system) into a format suitable for driving hardware unique to each device driver. The device driver is usually provided for each peripheral hardware device (device), for example, an HDD controller or a print engine.
[0093]
The device driver includes a portion that drives the corresponding device in a time-critical manner. Therefore, the portion of the device driver that is driven in a time-critical manner is usually resident on the
[0094]
The system BIOS systematizes a function execution routine for accessing various hardware in the image output terminal 7. The system BIOS includes a start / stop processing routine executed when the image output terminal 7 is normally powered on / off, a hibernation processing routine for restarting from the state at that time, and a group of BIOS drivers for controlling various hardware. It is included. Each BIOS driver includes a plurality of function execution routine groups corresponding to the functions for providing a plurality of functions for hardware control to the operating system OS and application programs.
[0095]
The operating system OS is basic software for comprehensively managing hardware and software. The operating system OS usually includes a kernel area and a user area.
[0096]
The kernel area is a portion where basic functions for monitoring the operation of the entire system and supporting execution of various programs such as applications are collected. In the core part of the kernel area (kernel core), a file system for managing file recording on the
[0097]
Since the kernel core performs time-critical processing, it resides in the physical memory together with its work data. These always reside in the
[0098]
On the other hand, the user area mainly includes functions for supporting the application selected by the user. A command language interpreter for interpreting a user's command and transmitting it to the kernel core and transmitting a response from the kernel core to the user is included in the user area.
[0099]
The user area is a part interposed between the kernel and the user, and has no time-critical program. Therefore, it does not need to be resident on the
[0100]
The uppermost layer application program is a program used for the practical purpose of the system. For example, when the image output terminal 7 is used as a printing device, it includes a decomposer (rendering unit) that interprets a page description language such as PDL data and converts it into a print image. These applications do not need to reside on the physical memory, and may be appropriately swapped out to the
[0101]
Further, the image output terminal 7 of the present embodiment is configured as a multifunction peripheral as described above, and employs the technology of virtual storage, like many other PCs currently on the market.
[0102]
The virtual storage means that a logical address (virtual address) is allocated to an auxiliary storage device such as the
[0103]
FIG. 5 is a schematic diagram illustrating an example of the virtual storage system. The physical capacity of the
[0104]
In a virtual memory architecture, a logical address that is a virtual address is provided to an application that uses the virtual memory architecture. That is, when the application reads and writes from and to the
[0105]
Thus, a virtual memory is realized by the presence of two addresses, a logical address and a physical address. The association between the two addresses is called memory mapping. Access to the virtual memory is realized by memory management, which is one of the important functions performed by the
[0106]
The memory management unit MMU has two functions. A virtual storage control function performed in the form of referring to a virtual address using memory mapping (also referred to as mapping / address conversion), and a memory protection function. The memory mapping is to convert a virtual address into a physical address where data is actually stored, thereby enabling access to a virtual memory space.
[0107]
Memory protection, another function of memory management, is to manage memory usage information for each page frame in the virtual memory space. Here, the memory usage information indicates whether the page frame is valid or invalid. The physical address corresponding to the virtual address and the contents of the page frame database may change at the time of page swapping. In the memory management, these contents are updated each time a change occurs.
[0108]
In the memory mapping, for example, when a program attempts to access a logical address space, the
[0109]
On the other hand, when it does not exist in the physical memory (called a fault), the
[0110]
At this time, if the
[0111]
In the memory mapping, a virtual memory space (logical address space) is often divided into a plurality of blocks (small pieces) and managed. Generally, a variable-size page (page) or a combination of a plurality of pages is used. The data is divided and handled in units of a variable-size segment (segment; an aggregate of a plurality of pages).
[0112]
Typical examples of the memory mapping method include a paging method, a segmentation method, and a page segmentation method. The paging method and the segmentation method have advantages and disadvantages. The segment method is easy to handle from a program, but the use efficiency of the physical memory is reduced, while the paging method is the opposite. For this reason, a method in which both methods are used together is a page segmentation method.
[0113]
For example, the paging method is a method in which a program is divided into fixed-length units called pages in a virtual memory irrespective of its logical meaning, and mapping is performed in this unit. Swapping is performed in page units. Since the paging method is structurally simple, memory management can be easily performed, and a virtual memory space exceeding the main memory size can be realized by combining a plurality of pages.
[0114]
FIG. 6 is a diagram illustrating a mechanism of memory mapping using a paging method. Under the virtual storage system employing the paging method, a page table having a structure as shown in FIG. 6, for example, is generated to control the position of the virtual page in the physical memory. In FIG. 6, one virtual address is formed of 32 bits. The upper 10 bits are a directory offset, the next 10 bits are a page table offset, and the remaining 12 bits are fields for storing a page offset. is there.
[0115]
The directory offset is an offset value with respect to the head address of the page directory, and the corresponding record in the page directory records the head address of the corresponding page table.
[0116]
The page table offset is an offset value with respect to the start address of the page table, and records the start address of the page frame corresponding to the corresponding record in the page table and the attribute information of the frame of the page.
[0117]
The page offset is an offset value with respect to the head of the page frame, and is the lower bit itself of the physical address. That is, “the start address of the page frame” + “the page offset” represents the actual physical address.
[0118]
A page frame is a page itself on a physical address, and its contents are actual codes and data.
[0119]
Since 10 bits are assigned to the directory offset, 1024 (= 210) page tables can be addressed. Further, since 10 bits are allocated to the page table, 1024 (= 210) page frames can be addressed. One page frame has a size of 4 KB. In the memory management which is a part of the kernel of the operating system, the above-mentioned page table can be used as appropriate.
[0120]
FIG. 7 is a diagram for explaining the principle of the hibernation process executed in the hibernation routine in the power management method in the image output terminal 7 shown in FIG.
[0121]
In the
[0122]
FIG. 7 illustrates a case where the entire memory space to be saved is divided into seven memory pages from memory page # 1 to memory page # 7, for the sake of simplicity.
[0123]
When the occurrence of a predetermined input event is detected, the hibernation process is interrupted at that point, and the
[0124]
FIGS. 8 and 9 are diagrams illustrating a series of operations from the generation of the power management interrupt PMI signal in the hibernation process to the start of the hibernation routine. Here, FIG. 8 is a diagram showing the relationship between the
[0125]
The transition to the hibernation mode in the image output terminal 7 having functions such as a copying apparatus and a printing apparatus is started by a power management interrupt PMI which is an event issued when the main power switch is turned off.
[0126]
In the present embodiment, the PM event handler called by the execution of the jump code checks the PMI occurrence factor to determine what factor caused the power management interrupt PMI signal. In this process, the PMI status information set in the
[0127]
For example, the
[0128]
When the
[0129]
The PM server sends a notification of the hibernation mode and an authentication response to the application program (S220). The application program notified of the transition to the hibernation mode can temporarily refuse the transition to the hibernation mode to the PM server when the processing cannot be interrupted immediately. Also, the memory information of the area used by the application program can be notified to the kernel of the operating system OS (S222-NO).
[0130]
When the application program has not refused the transition to the hibernation mode (S222-YES), the PM server calls a PM system call in the kernel area of the operating system OS (S224). This transfers control to the core part of the power management management mode PMM.
[0131]
For example, as shown in FIG. 8, when entering the power management management mode PMM, the PM core first maps a predetermined memory address to a
[0132]
The
[0133]
Next, the
[0134]
For example, in the PM core, first, the memory and hardware in the system are checked, and the memory and hardware are tested and initialized (S230, S232). In these tests and initialization processing, for example, the physical size of the
[0135]
In this case, in practice, the size corresponding to the memory size of the
[0136]
Next, the PM core performs notification of a hibernation request and an authentication response with each device driver (S240). Each device driver that has received the notification saves the necessary hardware context in a
[0137]
Next, the PM core checks whether or not an input event (such as a key input, an operation of the power switch 212, or a touch on the operation panel 14) from the user, which is predetermined as a cause of the interruption of the hibernation process, has occurred (S244). .
[0138]
If no input event has occurred (S244-NO), the PM core, as shown in FIG. 7, saves all memory spaces (memory areas) of the
[0139]
When the transfer for one memory page is completed, the PM core checks whether or not the transfer for all memory pages has been completed (S252). If the transfer has not been completed, the PM core performs the processing of steps S244 to S252 until the transfer is completed. Execute repeatedly.
[0140]
On the other hand, when detecting the occurrence of the input event in step S244 (S244-YES), the PM core starts the hibernation suspending process, and changes the CPU state and the hardware state of the
[0141]
On the other hand, when the transfer of all memory pages is completed without an input event occurring during the hibernation process, the PM core finally transmits the system configuration data (hardware information) to the
[0142]
As described above, in the present embodiment, the presence or absence of a predetermined input event from the user is checked by periodically checking the hardware status during the hibernation period, and the hibernation process is performed when the occurrence of the input event is detected. The operation is interrupted and the image output terminal 7 is restored to the working state before the power management interrupt PMI signal is generated. As a result, even after the hibernation process is started once, the user can immediately continue the work by waiting for the completion of the hibernation process by performing a key input or the like.
[0143]
FIG. 10 is a diagram illustrating the hibernation device according to the present embodiment. Here, FIG. 10A is a functional block diagram, and FIG. 10B is a diagram showing an example of a table in which the contents of the
[0144]
As shown in FIG. 10A, the hibernation device includes a
[0145]
The compression /
[0146]
The compression /
[0147]
The memory image
[0148]
The memory image
[0149]
In consideration of the compression efficiency, it is desirable that the compression method can be selected according to the contents of the
[0150]
In the present embodiment, when the desired data in the
[0151]
For this reason, the kernel core unit of the operating system OS determines the memory page to be saved based on the page attribute information from the memory management managing the virtual address and the page information from the application program, as shown in FIG. Create a table of the compression method described in (2). The compression method is classified into three types of compression unnecessary, CPU compression, and print image compression for each page of the
[0152]
Then, when transferring and storing the memory image to the
[0153]
Further, the memory image
[0154]
FIG. 11 is a flowchart illustrating an example of a compression processing procedure in the configuration illustrated in FIG.
[0155]
The kernel core unit first determines whether or not the page data to be processed requires compression (S300). Then, when the compression is not required, the
[0156]
When selecting “compress”, if the page data is data that can use the image compression /
[0157]
When saving a memory page in the hibernation process, the contents of the
[0158]
That is, first, the
[0159]
On the other hand, if "compression required" is specified, the kernel core unit further determines whether or not print image compression is specified as a compression method (S330-YES, S350).
[0160]
If "CPU compression" indicating the compression processing by the
[0161]
On the other hand, when “print image compression” indicating the compression processing by the image compression /
[0162]
In the process of recovering the page data, it is necessary to perform a decompression process corresponding to the compression method. In this case, the compression method may be specified by analyzing the data content read from the
[0163]
In the compression storage method, it is preferable to select an adaptive method for determining a compression method suitable for the data format while checking the contents of the page data at the time of compression storage. For example, an adaptive method is selected such that a print image of a document file generated by the personal computer 3a is compressed in the JPEG format, and a fax image received from the fax device 3e is compressed in the TIFF format.
[0164]
FIG. 12 is a flowchart illustrating an example of a resume processing procedure for restoring the contents saved in the hibernation processing when the power is turned on.
[0165]
Return from the hibernation mode is started by turning on the main power supply. That is, when the image output terminal 7 is powered on, the system BIOS executes the bootstrap program written in the
[0166]
In the resume mode, the system BIOS can check whether the hibernation completion flag is set in the hibernation completion flag setting area of the CMOS memory 164 or the hard disk device 54 (S404).
[0167]
When the hibernation mode is not set, that is, when the power-up mode is the boot mode or when the hibernation completion flag is not set even in the resume mode, the normal boot process is performed, that is, the bootstrap that starts the operating system OS is performed. The process is executed (S404-NO, S406).
[0168]
On the other hand, when the power is restarted (power-on) in the hibernation mode, the system BIOS erases the signature (data content and flag) in the hibernation completion flag setting area (S404-YES, S408).
[0169]
Next, the system BIOS starts a process of writing the contents of the
[0170]
Next, the system BIOS checks the configuration data after power-on (S420). Then, the saved configuration data (hardware information) is compared with the configuration data checked after power-on (S422). If they are different, the system BIOS performs a normal boot (S422-NO, S406).
[0171]
If both match, the system BIOS then restores all saved contents (all page data) of the main memory 130 (S422-YES, S430). That is, the system BIOS restores the contents of the hibernation volume of the
[0172]
Thereafter, the PM core performs a wake-up notification and an authentication response with the device driver (S432). Next, the PM system call called from the PM server is returned (S434). Then, the PM server performs a wakeup notification and an authentication response with the application program (S436). Thereby, the user can use the image output terminal 7 from the state immediately before the power-off.
[0173]
As described above, the present embodiment is an example of the
[0174]
If the image data is compressed using the
[0175]
When the contents of the
[0176]
Further, since the memory image is compressed and stored in the auxiliary storage device, the amount of data to be decompressed is small when returning from hibernation, and the access time to the auxiliary storage device can be reduced. The processing time for expanding the compressed data is sufficiently shorter than the access time to the auxiliary storage device. Thereby, the return time to the normal mode can be shortened.
[0177]
As described above, the present invention has been described using the embodiment. However, the technical scope of the present invention is not limited to the scope described in the embodiment. Various changes or improvements can be made to the above-described embodiment without departing from the spirit of the invention, and embodiments with such changes or improvements are also included in the technical scope of the present invention.
[0178]
Further, the above embodiments do not limit the invention according to the claims (claims), and all combinations of the features described in the embodiments are not necessarily essential to the means for solving the invention. Absent. The embodiments described above include inventions at various stages, and various inventions can be extracted by appropriately combining a plurality of disclosed constituent features. Even if some components are deleted from all the components shown in the embodiment, as long as the effect is obtained, a configuration from which some components are deleted can be extracted as an invention.
[0179]
For example, in the above-described embodiment, it has been described that in a copying apparatus, a printing apparatus, or a facsimile apparatus as an example of an image processing apparatus having an information processing function for image information, the apparatus is initially activated using a hibernation function. The image processing device is not limited to a copying device or the like. That is, any device that handles images can be used, and can be applied to, for example, a digital camera.
[0180]
Further, it can be configured as a network scanner combining the color scanner 3b of the
[0181]
Further, in the above embodiment, the application of the present invention in the case where the hibernation function is provided in the image processing apparatus having the information processing function for the image information has been described. However, the information processing function in the apparatus is not limited to the image information. . In this case, a compression processing unit and a decompression processing unit corresponding to information handled by the device are prepared separately from the central processing unit. Then, as described in the above embodiment, the storage content analysis unit analyzes whether or not the storage content stored in the main storage unit can be compressed by the compression processing unit. When the mode is switched from the normal mode to the hibernation mode when the power is off, the compression processing unit compresses the stored contents that can be compressed. When the power supply is restarted, the mode is restored from the hibernation mode to the normal mode by performing a decompression process by a decompression processing unit provided separately from the central processing unit.
[0182]
【The invention's effect】
As described above, according to the present invention, when the power is turned off in the hibernation mode, the compression using the central processing unit and the compression using the central processing unit are performed separately according to the storage contents (memory image) of the main storage unit. The stored contents are compressed by switching between the compression using the provided compression processing unit (the image compression /
[0183]
Therefore, the transition to the hibernation mode can be speeded up as compared with the case where all the memory data is compressed using the central processing unit. Further, since the data is compressed and stored, the amount of data to be decompressed is small when returning from hibernation, so that the access time to the auxiliary storage device can be reduced, and the return time to the normal mode can be shortened.
[Brief description of the drawings]
FIG. 1 is a schematic diagram illustrating an image processing system including an image output terminal having an embodiment of an image processing apparatus according to the present invention.
FIG. 2 is a block diagram illustrating an image processing function in the image output terminal.
FIG. 3 is a block diagram of a hardware configuration of the image output terminal shown in FIG. 1, focusing on a function part related to image compression / decompression processing and a function part related to power management.
FIG. 4 is a diagram illustrating the operation of a CPU in relation to the configuration of software.
FIG. 5 is a schematic diagram illustrating an example of a virtual storage system.
FIG. 6 is a diagram illustrating a mechanism of memory mapping using a paging method.
FIG. 7 is a diagram illustrating the principle of hibernation processing executed in a hibernation routine in the power management method in the image output terminal shown in FIG.
FIG. 8 is a diagram illustrating a relationship between a main memory and a ROM related to a hibernation process.
FIG. 9 is a flowchart illustrating an example of a hibernation processing procedure.
FIG. 10 is a diagram illustrating a hibernation device.
FIG. 11 is a flowchart illustrating an example of a compression processing procedure in the configuration illustrated in FIG. 10;
FIG. 12 is a flowchart illustrating an example of a resume processing procedure for restoring the contents saved in the hibernation processing when the power is turned on.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 ... Image processing system, 3 ... Image input terminal, 7 ... Image output terminal, 10 ... Image reading apparatus, 20 ... Scanner part, 22 ... Reading signal processing part, 30 ... Image forming apparatus, 32 ... Image forming unit, 40 ... Pre-stage color signal processing unit, 50: image compression / decompression processing unit, 51: parameter setting unit, 52: encoding unit (compression processing unit), 54: hard disk device, 56: decoding unit (decompression processing unit), 60: rear stage Color signal processing unit, 70 print engine, 72 IOT controller, 80 paper feeder, 110 system bus, 120 CPU (central processing unit), 130 main memory (main storage unit), 200 power supply management Processing control unit, 210: power controller, 212, 214: power switch, 220: power management start unit, 230: power control register, 300: memory image storage Control unit, 310 ... memory image recovery control unit, 320 ... decompression section, 322 ... CPU compression unit, 324 ... CPU expansion unit, 326 ... print image compression unit, 328 ... print image decompression unit
Claims (12)
前記主記憶部に記憶されている前記記憶内容が、前記装置の主要な情報処理機能を有するとともに圧縮処理可能な中央演算処理部とは別個に設けられた圧縮処理部にて圧縮処理可能であるか否かを解析する記憶内容解析工程と、
前記記憶内容解析工程において解析した結果に応じて、前記中央演算処理部と前記圧縮処理部とを切り替えながら、前記記憶内容を圧縮して前記補助記憶部に保存する圧縮保存工程と、
前記圧縮に使用した前記中央演算処理部および前記圧縮処理部に対応して、伸張処理可能な前記中央演算処理部と当該中央演算処理部とは別個に設けられた伸張処理部とを切り替えながら、前記補助記憶部から読み出した前記圧縮された記憶内容を伸張して前記装置の作動状態を復元する伸張回復工程と
を有することを特徴とするハイバネーション制御方法。In a device including a main storage unit that retains stored contents only when power is supplied, and an auxiliary storage unit that retains stored contents even when the power supply is cut off, when the power supply is disconnected during execution of a predetermined process, Hibernation that stores operation state data indicating the operation state of the device in the auxiliary storage unit, reads out the operation state data stored in the auxiliary storage unit when power is supplied again, and restores the operation state of the device. A hibernation control method for performing a process,
The storage content stored in the main storage unit can be subjected to compression processing by a compression processing unit provided separately from a central processing unit that has a main information processing function of the device and can perform compression processing. A memory content analysis step of analyzing whether or not
A compression storage step of compressing the storage content and storing it in the auxiliary storage unit while switching between the central processing unit and the compression processing unit in accordance with a result analyzed in the storage content analysis step;
Corresponding to the central processing unit and the compression processing unit used for the compression, while switching between the central processing unit capable of decompression processing and the decompression processing unit provided separately from the central processing unit, A decompression recovery step of decompressing the compressed storage content read from the auxiliary storage unit to restore the operating state of the device.
前記装置の主要な情報処理機能を有するとともに前記主記憶部の記憶内容を圧縮処理可能でかつ前記補助記憶部に保存しておいた情報を伸張処理可能である中央演算処理部と、
前記中央演算処理部とは別個に設けられ、所定の圧縮処理をする圧縮処理部と、
前記圧縮処理部における前記圧縮処理に対応した伸張処理をする伸張処理部と、
前記主記憶部に記憶されている前記記憶内容が前記圧縮処理部にて圧縮処理可能であるか否かを解析する記憶内容解析部と、
前記圧縮処理部にて圧縮処理可能であると前記記憶内容解析部の解析結果が示していることを条件として前記記憶内容を前記圧縮処理部にて圧縮して前記補助記憶部に保存させる圧縮保存制御部と、
前記補助記憶部に保存しておいた前記圧縮された記憶内容が前記圧縮処理部により圧縮されたものであることを条件として、前記補助記憶部に保存しておいた前記圧縮された記憶内容を前記伸張処理部にて伸張処理して前記装置の作動状態を復元する伸張回復制御部と
を備えたことを特徴とするハイバネーション制御装置。In a device including a main storage unit that retains stored contents only when power is supplied, and an auxiliary storage unit that retains stored contents even when the power supply is cut off, when the power supply is disconnected during execution of a predetermined process, Hibernation that stores operation state data indicating the operation state of the device in the auxiliary storage unit, reads out the operation state data stored in the auxiliary storage unit when power is supplied again, and restores the operation state of the device. A hibernation control device that performs a process,
A central processing unit having a main information processing function of the device and capable of compressing the storage content of the main storage unit and expanding the information stored in the auxiliary storage unit;
A compression processing unit that is provided separately from the central processing unit and performs a predetermined compression process;
An expansion processing unit that performs expansion processing corresponding to the compression processing in the compression processing unit;
A storage content analysis unit that analyzes whether the storage content stored in the main storage unit is compressible by the compression processing unit,
Compressed storage in which the storage content is compressed by the compression processing unit and stored in the auxiliary storage unit on condition that the analysis result of the storage content analysis unit indicates that compression processing can be performed by the compression processing unit. A control unit;
The compressed storage content stored in the auxiliary storage unit is provided on condition that the compressed storage content stored in the auxiliary storage unit is compressed by the compression processing unit. A hibernation control device, comprising: a decompression recovery control unit that performs decompression processing by the decompression processing unit and restores the operation state of the device.
前記伸張回復制御部は、前記補助記憶部に保存しておいた情報が前記中央演算処理部により圧縮されたものであることを条件として、前記補助記憶部に保存しておいた情報を前記中央演算処理部にて伸張処理して前記装置の作動状態を復元する
ことを特徴とする請求項3に記載のハイバネーション制御装置。The compression / save control unit is configured to compress the storage contents of the storage contents stored in the main storage unit, excluding those that can be compressed by the compression processing unit, by the central processing unit. And stored in the auxiliary storage unit,
The decompression / recovery control unit stores the information stored in the auxiliary storage unit in the central storage unit on condition that the information stored in the auxiliary storage unit is compressed by the central processing unit. The hibernation control device according to claim 3, wherein the operation state of the device is restored by performing an expansion process in an arithmetic processing unit.
前記画像処理装置の全体を制御するとともに前記主記憶部の記憶内容を圧縮処理可能でかつ前記補助記憶部に保存しておいた情報を伸張処理可能である中央演算処理部と、
前記中央演算処理部とは別個に設けられ、画像を圧縮処理をする圧縮処理部と、
前記圧縮処理部における前記圧縮処理に対応する伸張処理をする伸張処理部と、
前記主記憶部に記憶されている前記記憶内容が、前記圧縮処理部にて圧縮処理可能であるか否かを解析する記憶内容解析部と、
前記圧縮処理部にて圧縮処理可能であると前記記憶内容解析部の解析結果が示していることを条件として前記記憶内容を前記圧縮処理部にて圧縮して前記補助記憶部に保存させる圧縮保存制御部と、
前記補助記憶部に保存しておいた前記圧縮された記憶内容が前記圧縮処理部により圧縮されたものであることを条件として、前記補助記憶部に保存しておいた前記圧縮された記憶内容を前記伸張処理部にて伸張処理して前記装置の作動状態を復元する伸張回復制御部と
を備えたことを特徴とする画像処理装置。An image processing apparatus comprising: a main storage unit that holds storage contents only when power is supplied; an auxiliary storage unit that holds storage contents even when the power supply is cut off; and an image processing unit that performs image processing. Saving the operation state data indicating the operation state of the device when the power supply is cut off during the execution of the predetermined image processing in the image processing unit in the auxiliary storage unit, and storing the operation state data in the auxiliary storage unit when power is resupplied. In the image processing apparatus for performing the hibernation process of reading the set operation state data and restoring the operation state of the image processing apparatus,
A central processing unit that controls the entire image processing apparatus and is capable of compressing the storage contents of the main storage unit and decompressing information stored in the auxiliary storage unit;
A compression processing unit that is provided separately from the central processing unit and performs a compression process on an image;
An expansion processing unit that performs expansion processing corresponding to the compression processing in the compression processing unit;
A storage content analysis unit that analyzes whether the storage content stored in the main storage unit is compressible by the compression processing unit,
Compressed storage in which the storage content is compressed by the compression processing unit and stored in the auxiliary storage unit on condition that the analysis result of the storage content analysis unit indicates that compression processing can be performed by the compression processing unit. A control unit;
On the condition that the compressed storage content stored in the auxiliary storage unit is compressed by the compression processing unit, the compressed storage content stored in the auxiliary storage unit is An image processing device, comprising: a decompression recovery control unit that performs decompression processing by the decompression processing unit and restores an operation state of the device.
前記伸張回復制御部は、前記補助記憶部に保存しておいた情報が前記中央演算処理部により圧縮されたものであることを条件として、前記補助記憶部に保存しておいた情報を前記中央演算処理部にて伸張処理して前記装置の作動状態を復元する
ことを特徴とする請求項6に記載の画像処理装置。The compression / save control unit is configured to compress the storage contents of the storage contents stored in the main storage unit, excluding those that can be compressed by the compression processing unit, by the central processing unit. And stored in the auxiliary storage unit,
The decompression recovery control unit stores the information stored in the auxiliary storage unit in the central storage unit on condition that the information stored in the auxiliary storage unit is compressed by the central processing unit. The image processing apparatus according to claim 6, wherein the operation state of the apparatus is restored by performing a decompression process in an arithmetic processing unit.
前記画像処理部は、前記画像読取部により読み取られた原稿画像に対して前記画像処理を施す
ことを特徴とする請求項6から8のうちの何れか1項に記載の画像処理装置。An image reading unit that reads the original image is provided,
The image processing apparatus according to claim 6, wherein the image processing unit performs the image processing on a document image read by the image reading unit.
前記画像処理部は、前記画像受取部が受け取った画像に対して前記画像処理を施す
ことを特徴とする請求項6から9のうちの何れか1項に記載の画像処理装置。An image receiving unit that receives image data transmitted from a predetermined image input terminal,
The image processing apparatus according to claim 6, wherein the image processing unit performs the image processing on the image received by the image receiving unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002194482A JP2004038545A (en) | 2002-07-03 | 2002-07-03 | Hibernation control process, hibernation controller unit, and image processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002194482A JP2004038545A (en) | 2002-07-03 | 2002-07-03 | Hibernation control process, hibernation controller unit, and image processor |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004038545A true JP2004038545A (en) | 2004-02-05 |
Family
ID=31703167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002194482A Pending JP2004038545A (en) | 2002-07-03 | 2002-07-03 | Hibernation control process, hibernation controller unit, and image processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004038545A (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006092481A (en) * | 2004-09-27 | 2006-04-06 | Fuji Xerox Co Ltd | Information processing apparatus |
JP2009151789A (en) * | 2007-12-19 | 2009-07-09 | Arm Ltd | Device for storing hardware driven processor state prior to entering low power mode |
JP2010250512A (en) * | 2009-04-14 | 2010-11-04 | Canon Inc | Information processing device, control method therefor and computer program |
JP2011061603A (en) * | 2009-09-11 | 2011-03-24 | Toshiba Corp | Image processing device, and method for processing image |
US8200135B2 (en) | 2007-02-15 | 2012-06-12 | Ricoh Company, Ltd. | Transfer-fixing devices with heating and temperature equalizing capabilities, and apparatuses and methods using the same |
US8438377B2 (en) | 2009-04-17 | 2013-05-07 | Ricoh Company, Limited | Information processing apparatus, method and computer-readable storage medium that encrypts and decrypts data using a value calculated from operating-state data |
US9274808B2 (en) | 2010-07-08 | 2016-03-01 | Konica Minolta Business Technologies, Inc. | Image processing apparatus and hibernation start-up method |
US9454216B2 (en) | 2013-07-18 | 2016-09-27 | Kyocera Document Solutions Inc. | Electronic device that selectively stores image data in a nonvolatile storage device or memory upon hibernation |
-
2002
- 2002-07-03 JP JP2002194482A patent/JP2004038545A/en active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006092481A (en) * | 2004-09-27 | 2006-04-06 | Fuji Xerox Co Ltd | Information processing apparatus |
US8200135B2 (en) | 2007-02-15 | 2012-06-12 | Ricoh Company, Ltd. | Transfer-fixing devices with heating and temperature equalizing capabilities, and apparatuses and methods using the same |
JP2009151789A (en) * | 2007-12-19 | 2009-07-09 | Arm Ltd | Device for storing hardware driven processor state prior to entering low power mode |
JP2010250512A (en) * | 2009-04-14 | 2010-11-04 | Canon Inc | Information processing device, control method therefor and computer program |
US8438377B2 (en) | 2009-04-17 | 2013-05-07 | Ricoh Company, Limited | Information processing apparatus, method and computer-readable storage medium that encrypts and decrypts data using a value calculated from operating-state data |
US8782388B2 (en) | 2009-04-17 | 2014-07-15 | Ricoh Company, Limited | Information processing apparatus, method, and computer-readable storage medium that encrypt data in a blob based on a hash value |
JP2011061603A (en) * | 2009-09-11 | 2011-03-24 | Toshiba Corp | Image processing device, and method for processing image |
US9274808B2 (en) | 2010-07-08 | 2016-03-01 | Konica Minolta Business Technologies, Inc. | Image processing apparatus and hibernation start-up method |
US9454216B2 (en) | 2013-07-18 | 2016-09-27 | Kyocera Document Solutions Inc. | Electronic device that selectively stores image data in a nonvolatile storage device or memory upon hibernation |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004038546A (en) | Start control method, start control system, and image processor | |
US8762750B2 (en) | Information processing apparatus and method of controlling the same | |
US7673165B2 (en) | Image processing device, method for saving power consumption of the image processing device, and a computer product | |
US8949641B2 (en) | Information processing apparatus and method for controlling information processing apparatus restoration order of images that reduces the waiting time when restoration from a hibernation state | |
JP4849536B2 (en) | Image processing system, control method, and program | |
JP2008017441A (en) | Data processing apparatus, data processing method, and program | |
US20130104142A1 (en) | Information processing apparatus and information processing method | |
JP2004038545A (en) | Hibernation control process, hibernation controller unit, and image processor | |
JP3798353B2 (en) | Electronic equipment | |
US20120191989A1 (en) | Information processing apparatus with power saving mode, and control method and communication apparatus therefor | |
JP2007116457A (en) | Image forming apparatus | |
JP2003274156A (en) | Method and device for image processing | |
JP2007106079A (en) | Image output device | |
US8582153B2 (en) | Image forming apparatus and method | |
US11327769B2 (en) | Control device, image forming apparatus, and start-up method thereof | |
US20180213103A1 (en) | Image processing apparatus, method of controlling the same, and storage medium | |
US20070127070A1 (en) | Image forming apparatus | |
JP2010124236A (en) | Image forming device, method for transferring image data, and program | |
JP2004074621A (en) | Image formation apparatus | |
JP2009140069A (en) | Printing system | |
JP2004153568A (en) | Image forming device | |
JP2001325129A (en) | File system | |
JP2004357154A (en) | Data processing unit | |
JP2004229127A (en) | Department administration control system of digital composite machine | |
JP2006121438A (en) | Compound machine |