JP2004038546A - 起動制御方法、起動制御装置、画像処理装置 - Google Patents
起動制御方法、起動制御装置、画像処理装置 Download PDFInfo
- Publication number
- JP2004038546A JP2004038546A JP2002194483A JP2002194483A JP2004038546A JP 2004038546 A JP2004038546 A JP 2004038546A JP 2002194483 A JP2002194483 A JP 2002194483A JP 2002194483 A JP2002194483 A JP 2002194483A JP 2004038546 A JP2004038546 A JP 2004038546A
- Authority
- JP
- Japan
- Prior art keywords
- image
- unit
- data
- initial
- hibernation
- 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
Abstract
【課題】装置を初期状態で起動させる起動制御装置において、電源再起動時の処理時間を短縮することができるようにする。
【解決手段】メモリイメージ保存制御部300は、従来のような手順を踏んで初期起動した直後のメインメモリ130の記憶内容(メモリイメージ)や初期起動処理時のハードディスク装置54へのスワップデータなどを示す初期起動データを、ハイバネーション機能を利用してハードディスク装置54に保存する。メモリイメージ回復制御部310は、電源の再供給時に、ハイバネーション機能を利用してハードディスク装置54に保存した初期起動データをメインメモリ130に読み戻すことにより初期状態で起動する。
【選択図】 図11
【解決手段】メモリイメージ保存制御部300は、従来のような手順を踏んで初期起動した直後のメインメモリ130の記憶内容(メモリイメージ)や初期起動処理時のハードディスク装置54へのスワップデータなどを示す初期起動データを、ハイバネーション機能を利用してハードディスク装置54に保存する。メモリイメージ回復制御部310は、電源の再供給時に、ハイバネーション機能を利用してハードディスク装置54に保存した初期起動データをメインメモリ130に読み戻すことにより初期状態で起動する。
【選択図】 図11
Description
【0001】
【発明の属する技術分野】
本発明は、装置を初期状態で起動させる起動制御方法および装置、並びにこの起動制御装置を備えた画像処理装置に関する。
【0002】
【従来の技術】
たとえば、ソフトウェアの肥大化は当然の流れとし、肥大化したソフトウェアを実行できる環境を構築するために、組込み型のオペレーティングシステム(組込みOS/OS;Operating System)では当然とされてきた実記憶システムを捨て、仮想記憶システムを採用する装置がある。
【0003】
実記憶システムの利点は、プログラムのイメージがROM(read only memory)化されているため、プログラムをロードする時間が必要ないあるいは短い時間で済み、ブート時間(装置起動時間)が非常に短い点にある。一方、仮想記憶システムは、メモリを事実上無限に使用できる反面、プログラムのロード時間が長くブート時間が長い。
【0004】
またたとえば、近年の装置の高性能化、高機能化にともない装置に組み込まれているソフトウェアの肥大化が問題となっている。このため組み込む機能を見直して制限したり、コスト増になるのを覚悟でROMの容量を増やすなどの工夫が施されている。たとえば、印刷装置や複写装置など画像を処理対象として取り扱う画像処理装置においては、単一機能の装置に限らず、複数の機能を備えた複合機といわれるものがあるなどである。
【0005】
【発明が解決しようとする課題】
しかしながら、ROMの容量を増やしても、仮想記憶システムを利用する場合、初期状態で電源起動(初期起動という)させるには、ソフトウェアの増大分だけ起動時間が掛かってしまう。すなわち、仮想記憶システム下においける初期起動時には、先ず不揮発性の記憶媒体に保持されているシステムBIOS(Basic I/O System)が初期化ルーチンを稼働させ、その後オペレーティングシステムOSに処理を引き渡すが、この際には、補助記憶部に保持されているプログラムデータや処理データを適宜主記憶部にロードする。このとき主記憶部が既に他の有効データで溢れている状態の場合、スワップインのための領域を確保するべく、他の幾つかのデータを補助記憶部にスワップアウトする(不必要なブロックと入れ替える)ようファイルシステムに要求する。そしてこのような補助記憶部に対するアクセスを何度も繰り返して初期化が完了する。
【0006】
このため、初期起動の際には、補助記憶部に対するアクセスに要する時間が、この初期起動時間の大部分を占めている。すなわち、初期起動においてシステム電源オン時のブート時間を左右するのが、主記憶部の内容をハードディスク装置などの補助記憶部に一時待避させたり、この補助記憶部から所望データを読み込む時間である。
【0007】
本発明は、上記事情に鑑みてなされたものであり、仮想記憶システム下においてソフトウェアが増大するようなケースであっても、初期起動時間を短縮することのできる起動制御方法および起動制御装置、並びにこの起動制御装置を備えた画像処理装置を提供することを目的とする。
【0008】
【課題を解決するための手段】
装置のメイン電源をオフにすることで作業を中断する際、電源供給時にのみ記憶内容を保持する揮発性の主記憶部(メインメモリ)の実メモリ内の現在の作業を、電源供給が切断されても記憶内容を保持するハードディスク装置などの不揮発性の補助記憶部に記憶し、電源をオンにすることで電源をオフにする前に補助記憶部に記憶した内容を主記憶部の実メモリ内へ読み戻すことで、中断した作業を再開するハイバネーション/ウェークアップ動作を行なう仕組みがある。
【0009】
装置の中にはブート時間の問題を除けば、ハイバネーションモードを必要としないケースもある。たとえば印刷装置や複写装置などの場合、パソコンなどと違って作業の継続性は少なく、毎回初期状態から開始しても問題ないからである。しかしながら、前述のように、仮想記憶システム下においてソフトウェアが増大するようなケースでは、初期起動時間の長大化が問題となる。
【0010】
一方、前述のハイバネーション機能を利用して、初期化した直後の主記憶部の内容や初期化処理の際に補助記憶部にスワップアウトさせたデータを初期起動データとして補助記憶部に保持しておき、初期起動の際には、補助記憶部に保持しておいた初期化後の主記憶部の内容をその主記憶部に読み戻してやると、従来から知られているハイバネーションモードでの起動による効果を享受でき、初期起動時間を短縮することができると考えられる。
【0011】
本願発明は上記の技術的知見に基づいてなされたものである。
【0012】
すなわち、本発明に係る起動制御方法は、電源供給時にのみ記憶内容を保持する主記憶部と、電源供給が切断されても記憶内容を保持する補助記憶部とを備えた装置において、当該装置を予め定められている初期状態で起動する起動制御方法であって、ハイバネーション機能を利用して初期状態で起動した略直後における装置の作動状態を示す初期起動データを補助記憶部に保存する初期起動データ保存工程と、電源の再供給時に補助記憶部に保存しておいた初期起動データを読み出して装置の初期状態を復元する初期起動データ回復工程とを備えた。
【0013】
本発明に係るハイバネーション制御装置は、本発明に係るハイバネーション制御方法を実施するのに好適な装置であって、ハイバネーション機能を利用して初期状態で起動した略直後における作動状態を示す初期起動データを補助記憶部に保存する初期起動データ保存制御部と、電源の再供給時に補助記憶部に保存しておいた初期起動データを読み出して初期状態を復元する初期起動データ回復制御部とを備えた。
【0014】
本発明に係る画像処理装置は、画像処理をする画像処理部と、前述の本発明に係る起動制御装置の構成とを備えたものである。本発明に係る画像処理装置は、たとえば、原稿画像を読み取る画像読取部を備えたいわゆるスキャナ装置として展開されてもよい。また、画像処理部により画像処理が施された画像を可視画像として所定の出力媒体に出力する画像形成部を備えた装置、たとえば、画像入力端末の一例であるパソコンなどから送信された画像データを受け取って印刷出力する印刷装置、あるいは画像入力端末の他の一例であるファクシミリ送信装置からファクシミリデータを受け取ってファクシミリ画像を出力するファクシミリ受信装置として展開されてもよい。また、画像読取部と画像形成部とを備え、画像読取部により読み取った原稿画像を所定の出力媒体上に印刷出力する複写装置として展開されてもよい。また、スキャナ装置、印刷装置、ファクシミリ受信装置、あるいは複写装置を任意に組み合わせたいわゆる複合機として展開されてもよい。
【0015】
また従属項に記載された発明は、本発明に係る起動制御方法および装置並びに画像処理装置のさらなる有利な具体例を規定する。
【0016】
なお、本発明に係る起動制御方法および装置並びに画像処理装置を、電子計算機(コンピュータ)を用いてソフトウェアで実現するために好適なプログラムあるいはこのプログラムを格納したコンピュータ読取可能な記憶媒体を発明として抽出することもできる。なお、プログラムは、コンピュータ読取り可能な記憶媒体に格納されて提供されてもよいし、有線あるいは無線による通信手段を介して配信されてもよい。
【0017】
【作用】
本発明の上記構成においては、初期起動データ保存制御部は、従来のような手順を踏んで初期起動した略直後の主記憶部の記憶内容(メモリイメージ)や初期起動処理時の補助記憶部へのスワップデータなどの初期起動データを、ハイバネーション機能を利用して補助記憶部に保存しておく。初期起動データ回復制御部は、電源の再供給時に、ハイバネーション機能を利用して、補助記憶部に保存した初期起動データを主記憶部に読み戻すことにより初期状態で起動する。ハイバネーション機能を用いない従来のようなブート処理と比較して、電源の再供給時の補助記憶部に対するアクセスを少なくすることができる。
【0018】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
【0019】
図1は、本発明に係るハイバネーション制御装置や画像処理装置の一実施形態を有する画像出力端末を備えた画像処理システムを示す概略図である。この画像処理システム1は、画像入力端末3および画像出力端末7を備える。
【0020】
画像入力端末3は、デジタルドキュメント(以下単にドキュメントという)DOCを作成したり編集などの処理する、たとえばパソコン(パーソナルコンピュータ)3a、カラースキャナ3b、デジタルカメラ3c、またはハードディスク装置や光磁気ディスク装置あるいは光ディスク装置などのデータ格納装置3d、さらにはFAX装置3eなど、任意数の画像入力ソースを含み得る。画像入力端末3は、これらに限らず、たとえば、図示しない通信網を介して画像を電子データとして取得する通信機能を備えた端末装置であってもよい。これらの各端末装置には、ドキュメントDOC作成用のアプリケーションプログラムなどが組み込まれる。画像入力端末3は、ドキュメントDOCを、画像処理システム1の一部を構成する画像出力端末7に入力する。
【0021】
画像出力端末7は、たとえば複写機能、ページプリンタ機能、およびファクシミリ送受信機能を備えたいわゆる複合機(マルチファンクション機)で、デジタルプリント装置として構成されている。
【0022】
画像入力端末3側にて用意されるドキュメントDOCを表す電子データは、画像出力端末7で処理可能な画像フォーマット(たとえば、JPEG、BMP、PNGなど)で記述される。またたとえば、パソコン3aで作成された文書ファイルは、たとえばプリンタなどで印刷出力するために、図形、文字などの拡大、回転、変形などが自由に制御できるページ記述言語(PDL:Page Description Language )で記載されたデータとして画像出力端末7に送られる。PDLで作成されているデータ(PDLデータ)は、ページ内の任意位置の画像、図形、文字を表現する描画命令およびデータを任意の順で配置した命令およびデータ列で構成されている。このPDLデータを受け取った画像出力端末7は、印字前に出力単位ごと(1ページごと)に画像データをレンダリング(描画展開)してからプリンタエンジン部にそのラスタデータを出力する。
【0023】
画像出力端末7は、大まかに、画像読取装置10、画像形成装置30、および給紙装置80から構成されている。また画像出力端末7は、接続ケーブル90を介してネットワークに接続可能になっている。たとえば、接続ケーブル90は、LAN(Local Area Network)8によりパソコン3aなどの画像入力端末3に接続されたり、あるいは電話回線9によりFAX装置3eなどの画像入力端末3に接続される。
【0024】
画像読取装置10は、原稿を図示しない読取台(プラテンガラス)上の読取位置まで搬送し排紙するドキュメントフィーダ12と、表示機能も備えた操作パネル(ユーザインタフェース)14と、装置に対する種々の設定をする操作キー16とを含む。
【0025】
操作パネル14には、印刷枚数や用紙サイズなどの装置の使用条件が表示されるようになっており、ユーザはその表示を見ながら操作キー16により使用条件を変更することができる。好ましい条件が操作パネル14や操作キー16で入力された後、操作キー16のスタートキー(図示せず)が押下されると、ドキュメントフィーダ12は、原稿を画像読取装置10上の予め定められた読取位置へ原稿をフィードし、その原稿が読み取られた後に読取位置からその原稿をドキュメントフィーダ12の所定位置まで移動させる。
【0026】
画像読取装置10は、画像入力端末の機能を備えており、たとえばCCD固体撮像素子の全幅アレイを使用して、読取位置へ送られた原稿に光を照射することで、原稿上の画像を読み取り、この読み取った画像を表すアナログビデオ信号をデジタル信号へ変換し、画像形成装置30へ送る。
【0027】
画像形成装置30は、画像形成ユニット32と、両面複写ユニット34と、排紙ユニット36と、1枚もしくは複数枚(図は複数枚で例示)の処理基板38とを含む。画像形成ユニット32は、画像読取装置10にて得られた画像信号により表される画像を、電子写真式、感熱式、熱転写式、インクジェット式、あるいは同様な従来の画像形成処理を利用して、普通紙や感熱紙上に可視画像を形成する(印刷する)すなわち複写する。このため、画像形成ユニット32は、たとえば画像処理システム1をデジタル印刷システムとして稼働させるためのラスタ出力スキャン(ROS)ベースのプリントエンジンを備える。
【0028】
両面複写ユニット34は、たとえば、用紙を即時に、あるいは一方の面に画像が形成されスタックされた複数の用紙を底の用紙から上部の用紙の順に連続的に、画像形成ユニット32側に再給紙するように構成される。
【0029】
処理基板38には、画像形成装置30用の処理部(特に画像処理部)だけでなく、画像出力端末7全体の種々の処理をするための回路が搭載される。たとえば、画像出力端末7内に構築された資源であるドキュメントフィーダ12、操作パネル14、図示しない画像読取ユニット、画像形成ユニット32、両面複写ユニット34、排紙ユニット36、あるいは給紙トレイ82など制御する回路が搭載される。
【0030】
この処理基板38には、半導体製の記憶媒体が搭載され、たとえば、複写アプリケーション、プリンタアプリケーション、ファクシミリ(FAX)アプリケーション、あるいは他のアプリケーション用の処理プログラムが格納される。
【0031】
給紙装置80は、給紙トレイ82を含む。図示した例では、A4,B4,A3の3種類の用紙サイズに対応した3つの給紙トレイ82が用意されている。
【0032】
用紙が複数の給紙トレイ82の内の何れかから画像形成装置30へ給紙されると、画像形成装置30の画像形成ユニット32は、その用紙の一方の面に画像を形成する。両面複写ユニット34は、一方の面に画像が形成された用紙を裏返し、再び画像形成ユニット32にその用紙を給紙するように構成されている。これにより、画像が用紙の他方の面に形成され、両面複写が完了される。
【0033】
画像形成ユニット32から排出される用紙、あるいは両面複写済み用紙は、排紙ユニット36により、ページ順に連続的に、あるいは1ページごとにソートされる。
【0034】
なお、画像出力端末7は、画像読取装置10にて読み取った画像の印刷機能すなわち複写機能に限らず、LAN8および接続ケーブル90を介してパソコン3aなどの画像入力端末3から取得した文書データや画像ファイルなどに基づいて画像を印刷するいわゆるプリント機能や、電話回線9および接続ケーブル90を介して受信したFAXデータに基づいて印刷出力するFAX機能も備える。
【0035】
図2は、画像出力端末7における画像処理機能を示すブロック図である。画像読取装置10は、スキャナ部20と読取信号処理部22とを有する。
【0036】
スキャナ部20は、読取台上に載置された原稿を読み取って得た入力画像を赤R、緑G、青Bの各色成分のデジタル画像データに変換する。たとえばハロゲンランプを有する光源からの光が読取台上に載置された原稿を照射し、反対光が光学系を介して赤、緑、青の各色に分光される。そして各色光が、各色光用に分けられた、たとえばCCD(電荷転送型の固体撮像素子)からなるラインセンサ(イメージセンサ)に入射し、入力画像が所定解像度で読み取られることによって、赤、緑、青の各色成分のアナログの画像信号が得られ、読取信号処理部22に送られる。
【0037】
読取信号処理部22は、たとえばシェーディング補正部24や入力階調補正部26を有する。なお、読取信号処理部22は、これらの他に、たとえば図示しない増幅部やA/D変換部などを有する。
【0038】
この読取信号処理部22においては、図示しない増幅部がラインセンサからの赤、緑、青のアナログの各画像信号を所定のレベルまで増幅し、さらに図示しないA/D変換回路がアナログの各画像信号をデジタル画像データに変換する。そして、シェーディング補正部24は、A/D変換回路から出力されたデジタル画像データに対し、ラインセンサの画素感度バラツキの補正や、光学系の光量分布特性に対応したシェーディング補正を施す。入力階調補正部26は、シェーディング補正されたデジタル画像データに対して階調特性を調整し、処理済の画像データを、画像形成装置30の前段色信号処理部40に入力する。
【0039】
画像形成装置30は、プリント出力信号処理系統として、前段色信号処理部40と、イメージ圧縮伸張処理部(イメージ圧縮伸長プロセッサ)50と、後段色信号処理部60と、プリントエンジン70とを有する。これらが処理基板38(図1参照)上に載置される。
【0040】
前段色信号処理部40は、たとえば入力色変換部42、画像受取部の一例である外部インタフェース部43、画像情報領域分離部44、出力色変換部46、および下色除去部48を有する。
【0041】
この前段色信号処理部40においては、先ず画像読取装置10の読取信号処理部22からの赤、緑、青のデジタル画像データ(色信号)を一旦図示しないページメモリに記憶する。そして、画像形成ユニット32にて使用する色材の分光特性に対する色補正処理(これを特に前段階の色補正処理という)を施すことで、色濁りを防止する。
【0042】
そして、入力色変換部42は、デジタル画像データを、外部機器との色情報交換に適した色信号、たとえば均等色空間の明度信号L*並びに彩度および色相を表す色度信号a*,b*(以下纏めてLab信号ともいう)に変換する。
【0043】
画像出力端末7をプリンタとして使う場合には、外部インタフェース部43は、画像入力端末3側にて用意されたドキュメントDOCを表すPDLデータを、出力単位ごと(1ページごと)にLab信号でレンダリング(描画展開)する。同様に、画像出力端末7をカラーFAX装置として使用する場合には、外部インタフェース部43は、FAX装置3eからFAXデータを受信し、FAX画像をLab信号にてラスタライズする。次いで、このLab信号に基づいて、たとえば画像情報領域分離部44は画像領域(絵文字)分離処理を施し、編集処理部45は色編集処理やモアレを除去したり中間調データを平滑化する平滑化処理あるいは画像拡大や画像縮小などの画像編集処理を施す。
【0044】
その後、出力色変換部46は、Lab信号を、減法混色用に適した色信号に変換する。たとえば、出力色変換部46は、Lab信号で表されるLab表色系から、最低3つ(好ましくは4つ)、たとえばイエロー(Y)、マゼンタ(M)、およびシアン(C)の各色信号で表されるYMC表色系、あるいはこれにブラック(K)を加えたCMYK表色系へのマッピング処理をし、プリント出力用に色分解されたラスタデータを生成する。
【0045】
また、下色除去部48は、このようなラスタデータ化の処理に際して、カラー画像のCMY成分を減色するアンダーカラー除去処理(UCR;Under Color Removal )をする。なお、下色除去部48は、さらに減色されたCMY成分を部分的にK成分と交換するグレー成分交換(墨生成)処理(GCR;Gray ComponentReplacement)をする。また、下色除去部48は、入力画像の下地濃度に応じて、YMCKの各色の画像データのうちの所定の下地濃度以下の画像データをカット(無効化)する下地除去処理を施す。なお、このグレー成分交換処理を含めてアンダーカラー除去処理ということもある。
【0046】
そして、これら一連の処理(前段色信号処理)が施されたデジタル画像データは、イメージ圧縮伸張処理部50に入力される。
【0047】
イメージ圧縮伸張処理部50は、印刷イメージをたとえばJPEGやPNGなどの圧縮画像フォーマットで圧縮し、不揮発性の記憶媒体の一例であるハードディスク装置(HDD)54に一時的に格納(圧縮保存)したり、圧縮保存された印刷イメージを伸長するために使用する。このため、イメージ圧縮伸張処理部50は、たとえば、パラメータ設定部51、符号化部52、書込部53、復号化部56、および読出部57を備える。
【0048】
パラメータ設定部51は、符号化部52における符号化の際の圧縮パラメータを決定する。次にパラメータ設定部51は、決定した各色成分用の符号化パラメータを、対応する色成分用の符号化部52およびに復号化部56に入力する。
【0049】
符号化部52は、設定された符号化パラメータを用い、たとえばDCT(Discrete Cosine Transform )などの直行変換符号化やベクトル量子化などの方法により符号化して非可逆圧縮して符号化画像データ(符号化色信号)を生成する。この後、書込部83は、符号化部52により非可逆圧縮されたY,M,C,Kの各色の符号化画像データを、画像格納部の一例であるハードディスク装置54に略同時に書き込む。
【0050】
次いで、プリントエンジン70の図示しない先端検出器からの先端検出信号(副走査方向の印字始点を示す信号)に同期して、読出部57がハードディスク装置54からY,M,C,Kの各色の符号化画像データを順次一定間隔をおいて読み出して復号化部56に入力する。復号化部56は、ハードディスク装置54から順次一定間隔をおいて読み出されたY,M,C,Kの各色の符号化画像データを、パラメータ設定部51により設定された符号化パラメータを用い、符号化部52における符号化に対応する復号化をして、元の画像データ(復号化色信号)に戻す。
【0051】
後段色信号処理部60は、イメージ圧縮伸張処理部50からのデジタル画像データに対して印刷出力用の色補正処理を施し(これを特に後段の色補正処理という)、この色補正処理が施されたデジタル画像データに基づいて、印刷用の2値化データを生成し画像形成ユニット32に渡す。このため、後段色信号処理部60は、画像編集部62、MTF補正部64、出力階調補正部66、および中間調生成部68を有する。
【0052】
画像編集部62は、イメージ圧縮伸張処理部50からのデジタル画像データ(CMYKなど)に応答して作成される出力画像のトナー像を調整するために、色分解の直線化または同様の処理をする。また、画像編集部62は、エッジ強調用空間フィルタを用いて、復号化部56から順次一定間隔をおいて読み出されたY,M,C,Kの各色の復号化画像データを、エッジ強調処理することで、画像のシャープネスを調整する。
【0053】
MTF補正部64は、画像の空間周波数特性を補正する。出力階調補正部66は、エッジ強調およびMTF補正されたY,M,C,Kの各色のデジタル画像データを、たとえばルックアップテーブルを参照しガンマ補正する。また、出力階調補正部66は、プリント出力信号処理系統の内部の特性値である濃度あるいは明度を表す各色の画像データY,M,C,Kを、プリントエンジン70の特性値の面積率に応じて、色補正処理(TRC処理;Tone Reproduction Correction)する。
【0054】
中間調生成部68は、前述の各処理が施されたデジタル画像データに基づいて、ハーフトーニング処理をして疑似中間調画像を表す2値化データを得、この2値化データを画像形成ユニット32に渡す。
【0055】
画像形成ユニット32は、その主要部であるプリントエンジン70と、このプリントエンジン70の主にメカニカルな動作を制御するためのIOTコントローラ72とを有する。
【0056】
画像形成ユニット32の主要部であるプリントエンジン70は、たとえば電子写真プロセスを利用するものであるのがよい。電子写真プロセスを利用するものの場合、プリントエンジン70は、光走査装置を備える。たとえばプリントエンジン70は、光ビームを発するレーザ光源74と、後段色信号処理部60から出力された印刷用の2値化データに従ってレーザ光源74を制御すなわち変調するレーザ駆動部76と、レーザ光源74から発せられた光ビームを感光性部材(たとえば感光体ドラム)79に向けて反射させるポリゴンミラー(回転多面鏡)78とを有する。
【0057】
この構成により、プリントエンジン70は、レーザ光源74が発生する光ビームをポリゴンミラー78上の複数の面で反射させて感光性部材79を露光し、スキャン走査によって感光性部材79上に潜像を形成する。潜像が形成されると、当該技術分野で公知の多数の方法のうち任意の方法に従って像を現像し、さらに所定の印刷媒体に転写してカラー画像を可視像として出力する。
【0058】
得られた印刷物は、図示しない定着器により定着され、印刷用紙は両面複写のために両面複写ユニット34(図1参照)により裏返されるか、または直ぐに排紙ユニット36(図1参照)へ引き渡され排紙される。
【0059】
なお、プリントエンジン70は、前述のように、電子写真方式のものに限らず、たとえば感熱式プリンタやインクジェットプリンタまたは粒子線写真プリンタなどで実施することもできる。
【0060】
図3は、図1に示した画像出力端末7における、画像の圧縮/伸張処理に関わる機能部分と、電源管理に関わる機能部分とに着目した、ハードウェア構成のブロック図である。
【0061】
画像出力端末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が設けられる。
【0062】
CPU120は、この画像出力端末7全体の動作制御およびデータ処理を実行するメインコントローラであり、オペレーティングシステムOSの制御下で、各種プログラムを実行するようになっている。このCPU120としては、パワーマネージメント割込PMI(Power Management Interrupt)をサポートするものが使用される。この場合、CPU120は、アプリケーションプログラムやオペレーティングシステムOSなどのプログラムを実行するための動作モードとして通常動作モードの他、パワーマネージメント管理モードPMM(Power Management mode )と称される電源管理機能を実現するための動作モードを有している。
【0063】
メインメモリ130は、CPU120が実行するプログラムをロードしたり、作業領域として使用するためのRAM(random access memory)などの揮発性の半導体メモリである。メインメモリ130内にプログラムコードやデータが収まりきらなくなった場合には、仮想メモリシステムとファイルシステムとの協調動作によって、ハードディスクなどの補助記憶装置との間で入れ替え(スワッピング)が行なわれるようになっている。
【0064】
ROM132は、システムBIOSなど不揮発性を要するデータを記憶するためのものであり、プログラム書替えが可能なようにフラッシュメモリなどの不揮発性の半導体メモリによって構成されている。
【0065】
また、ROM132には、BIOSドライバ群の他に、PM(Power Management)イベントハンドラやハイバネーションルーチンあるいは再起動ルーチンなどのパワーマネージメント管理モードPMMの中で実行される電源管理プログラム(後述する図8や図9などを参照)など、不揮発性を必要とするプログラムが格納されている。PMイベントハンドラは、割込コントローラ154からのパワーマネージメント割込PMIの発生要因に応じて各種PMIサービスルーチンを起動するためのものである。
【0066】
ハードディスク装置54は、図2にても述べたように、データ圧縮された印刷イメージデータを保存する画像記憶部としても使用される他に、この画像出力端末7の補助記憶装置(2次記憶部)としても使用されるものである。このハードディスク装置54の記憶エリアの一部にはハイバネーションボリュームとハイバネーションパワーオフシグネチャ設定エリアとハイバネーション完了フラグ設定エリアとが確保される。ハードディスク装置54へのアクセスは、オペレーティングシステムOSの一部であるファイルシステムの制御下に置かれる。
【0067】
ハイバネーションボリュームとハイバネーションパワーオフシグネチャ設定エリアとハイバネーション完了フラグ設定エリアとは、ハードディスク装置54の初期化およびテスト時にシステムBIOSによって確保され、これらハイバネーションボリュームなどを除く他の記憶領域がOSに解放される。
【0068】
DMAコントローラ150は、CPU120の介在無しにメインメモリ130と周辺デバイスとの間でのデータ転送を行なわせるための周辺コントローラである。
【0069】
I/Oコントローラ152は、シリアルポートやパラレルポート経由で、図示しないパソコン(図1参照)などのホスト装置としての画像入力端末3のデータ入出力を制御するための周辺コントローラである。
【0070】
発振器160は、CPU120などのような同期駆動するデバイスや、タイマ機能を持ったデバイスに対してクロック信号を与えるための機能部である。
【0071】
リアルタイムクロック162は、一定時間間隔の信号を発生する、実時間計測のための機能部(時計モジュール)である。このリアルタイムクロック162は、図中点線で示すように、独自の電池によりバックアップされたCMOSメモリ164を有する構成としてもよい。この場合、CMOSメモリ164には、パワーアップモードとしてブートモードとレジュームモードを選択するための情報などを含むシステムコンフィグレーション情報と、ハイバネーション完了フラグなどを設定することができる。なお、CMOSメモリ164を備えない構成とする場合、このCMOSメモリ164のメモリ機能をハードディスク装置54にて実行する。
【0072】
ブートモードは、画像出力端末7がパワーオンされたときに通常通りオペレーティングシステムを立ち上げるためのブートストラップ(Bootstrap )処理を起動するモードである。また本実施形態のレジューム(Resume)モードは、電源オフ時にハイバネーション処理を実行し、画像出力端末7がパワーオンされたときに、ハードディスク装置54にセーブされている内容を元のメインメモリ130およびCPU120などにリストアするモード(ハイバネーション機能による再起動モード)である。
【0073】
本実施形態においては、パワーマネージメント管理モードPMMにおいて、ハイバネーションルーチンなどの電源管理プログラムが実行される。また、パワーマネージメント割込PMIは、優先度の高い最優先度の割り込みである。このパワーマネージメント割込PMIを発行することによって、電源管理プログラムを、実行中のアプリケーションプログラムやオペレーティングシステムOSの環境に依存せずに起動することができる。
【0074】
たとえば、PMイベントハンドラは、電源オフ操作に起因するパワーマネージメント割込PMIが発生した場合にはハイバネーションルーチンを起動し、他の要因によるパワーマネージメント割込PMIが発生した場合にはその要因に対応するPMIサービスルーチン、たとえば通常の電源オン/オフ処理ルーチンを起動する。すなわち、電源管理管理割込みPMIがCPU120に発行されたとき、CPU120の動作モードは、そのときの動作モードである通常動作モードから、PMイベントハンドラに制御がスイッチされる。
【0075】
電源管理管理割込みPMIによってパワーマネージメント管理モードPMMにスイッチすると、CPU120は、その時点のCPUレジスタの内容であるCPUステータスをメインメモリ130の予め定められている記憶領域(ワークエリア)にセーブする。そして、ハイバネーションルーチンを起動し、メインメモリ130の前記ワークエリアにセーブした内容を、ハードディスク装置54の予め定められているハイバネーション記憶領域に格納する。
【0076】
このように、メインメモリ130にハイバネーション処理用のワークエリアを設けるのは、ハイバネーションルーチン処理の際にもメインメモリ130を利用可能とするためである。なお、CPU120内の内部メモリだけでハイバネーションルーチン処理が可能であれば、電源管理管理割込みPMIがあった時点のメインメモリ130の全内容を、ハードディスク装置54のハイバネーション記憶領域に直ちに格納すればよい。
【0077】
なお本実施形態では、パワーマネージメント管理モードPMMにおいて復帰命令が実行されると、CPU120はハードディスク装置54の前記ハイバネーション記憶領域からCPUレジスタにCPUステータスをリストアし、パワーマネージメント割込PMI発生前の動作モードに復帰するようにする。
【0078】
EEPROM170は、再書き込み可能な不揮発性半導体メモリであり、システムの機密保全に必要な情報を保管するために設けられている。
【0079】
電源管理処理制御部200は、パワーマネージメント割込PMI発生制御のためのハードウェア部分であり、電源コントローラ(PSC;Power Supply Controller )210、電源管理起動部220、および電力制御レジスタ230を有する。電源コントローラ210には、メカニカルな電源スイッチ212や操作パネル14(図1参照)を介したソフト的な電源スイッチ(パネルスイッチ)214から電源オンオフ信号が入力される。
【0080】
電源管理起動部220は、電源コントローラ210を介して電源スイッチ212の押下または操作パネル14上のソフト的な電源スイッチ214によって電源のオンオフ操作があったことを通知されたとき、電源管理処理を起動するためのパワーマネージメント割込PMI信号を発生する。
【0081】
なお、この電源管理起動部220は、電源コントローラ210を介したパワーマネージメント割込PMI発生制御だけでなく、他の要因によるパワーマネージメント割込PMI信号も発する。たとえば、ソフトウェアからのパワーマネージメント割込PMIや外部入力パワーマネージメント割込PMIなどである。
【0082】
電力制御レジスタ230は、パワーマネージメント割込PMI発生要因を示すステータスデータを保持するためのものである。この電力制御レジスタ230は、パワーマネージメント割込PMI信号が発せられると、そのパワーマネージメント割込PMI信号をCPU120に供給する。そして、電力制御レジスタ230は、CPU120がパワーマネージメント管理モードPMMを抜けるまでパワーマネージメント割込PMI信号をアクティブステートに維持し続ける。
【0083】
図4は、ソフトウェアの構成との関係におけるCPU120の働きを説明する図である。この図4に示すようなソフトウェア構成自体は、よく知られた技術である。
【0084】
たとえば、デバイスドライバは、最下層のソフトウェアである。デバイスドライバは上位のソフトウェア(オペレーティングシステムなど)が発行するコマンドを各デバイスドライバ固有のハードウェアを駆動するのに適した形式に変換する。デバイスドライバは、通常周辺のハードウェア装置(デバイス)、たとえばHDDコントローラやプリントエンジンごとに設けられている。
【0085】
デバイスドライバの中には、対応するデバイスをタイムクリティカルに駆動する部分が含まれている。そのため、デバイスドライバの内のタイムクリティカルに駆動する部分は、通常メインメモリ130上に常駐するようになっている。そして、このタイムクリティカルに駆動する部分を除く各デバイスドライバは、補助記憶装置としてのハードディスク装置54から適宜メインメモリ130にロードされる。
【0086】
システムBIOSは、画像出力端末7内の各種ハードウェアをアクセスするファンクション実行ルーチンを体系化したものである。システムBIOSには、画像出力端末7の通常のパワーオンオフ時に実行される起動停止処理ルーチンや、その時点の状態から再起動させるためのハイバネーション処理ルーチンと、各種ハードウェア制御のためのBIOSドライバ群などが含まれている。各BIOSドライバは、ハードウェア制御のための複数の機能をオペレーティングシステムOSやアプリケーションプログラムに提供するためにそれら機能に対応する複数のファンクション実行ルーチン群を含んでいる。
【0087】
オペレーティングシステムOSは、ハードウェアおよびソフトウェアを総合的に管理するための基本ソフトウェアである。オペレーティングシステムOSは、通常カーネル領域とユーザ領域で構成される。
【0088】
カーネル領域とは、システム全体の動作を監視して、アプリケーションなどの各種プログラムの実行を支援するための各基本機能が集まった部分である。カーネル領域のコア部分(カーネルコア)には、補助記憶装置としてのハードディスク装置54へのファイル記録などを管理するためのファイルシステム、タスク実行の順序や優先度を管理するタスク管理、メモリ領域の割当て行なうためのメモリ管理などを含んでいる。
【0089】
カーネルコアの部分は、タイムクリティカルな処理を行なうので、その作業データとともに物理メモリに常駐するようになっている。これらは仮想記憶システム下でも、常にメインメモリ130に常駐する。
【0090】
一方、ユーザ領域とは、主にユーザが選択したアプリケーションを支援するための機能からなる。ユーザの指令を解釈してカーネルコアに伝えるとともに、カーネルコアからの応答をユーザに伝えるためのコマンド言語インタプリタは、このユーザ領域に含まれる。
【0091】
ユーザ領域は、カーネルとユーザの間に介在する部分であり、タイムクリティカルなプログラムはない。したがって、メインメモリ130上に常駐させておく必要はない。これらは補助記憶装置としてのハードディスク装置54に適宜スワップアウトされてもよい。
【0092】
最上位層のアプリケーションプログラムは、システムの実務的な目的のために使用するプログラムである。たとえば、画像出力端末7を印刷装置として利用する場合においては、PDLデータなどのページ記述言語を解釈し印刷イメージに変換するデコンポーザ(描画展開部)などがこれに含まれる。これらアプリケーションは物理メモリ上に常駐する必要はなく適宜補助記憶装置としてのハードディスク装置54へスワップアウトさせてもよい。
【0093】
また、本実施形態の画像出力端末7は、前述のように複合機として構成されているとともに、現在市販されている他の多くのPCと同様に、仮想記憶なる技術を採用している。
【0094】
仮想記憶とは、ハードディスク装置54などの補助記憶装置に対して論理的なアドレス(仮想アドレス)を割り振ることによって、その論理的なアドレスを、限られた空間(領域)しかないメインメモリ130の一部の領域であるかごとく扱う技術である。仮想メモリ空間は、たとえば4GB程度などの広い領域を持つ。仮想記憶によって、アプリケーション側から見たメインメモリ130の容量を現実の物理的大きさ(たとえば32MB)よりも見かけ上大幅に超える領域にまで拡大させることができ、大規模プログラムやデータを扱うことができる。上述したプログラムやその作業データは、仮想記憶システム下では仮想アドレスが割り当てられている。
【0095】
図5は、仮想記憶システムの一例を示した模式図である。メインメモリ130の物理的な容量はたとえば32MB程度であり、これに対し仮想メモリは4GB程度の広大な空間である。当然仮想アドレスの一部の領域しかメインメモリ130上には存在できない。すなわち、仮想アドレスはメインメモリ130上に存在している場合もあるし補助記憶装置に既にスワップアウトされたページもある。
【0096】
仮想メモリアーキテクチャにおいて、これを利用するアプリケーションに対しては、仮想アドレスである論理アドレスを提供する。つまり、アプリケーション側がメインメモリ130に対しての読み書きを行なう場合には、この論理アドレスを用いる。そして、論理アドレスによって構成される空間を仮想メモリ空間という。これに対して、実際にメインメモリ130の素子に付けられている物理アドレス(実アドレス)の存在も必要不可欠となる。この実アドレスによって構成される空間を実メモリ(real memory )空間という。アプリケーション側は、この実アドレスを知る必要はない。
【0097】
このように、論理アドレスと物理アドレスという2つのアドレスが存在することによって仮想メモリが実現する。2つのアドレスの関連づけをメモリマッピング(memory mapping)という。仮想メモリへのアクセスは、CPU120の果たす重要な機能の1つであるメモリ管理とオペレーティングシステムOSが協調して実現する。殆どのCPU120はメモリ管理ユニットMMU(Memory Management Unit)を内蔵、または別チップで用意する。
【0098】
メモリ管理ユニットMMUには2つの機能がある。メモリマッピング(写像/アドレス変換ともいう)を利用した仮想アドレスの参照という形態で行なわれる仮想記憶制御機能と、メモリ保護機能である。メモリマッピングとは、仮想アドレスをデータが実際に入っている物理アドレスに変換して、仮想メモリ空間へアクセスを可能にすることである。
【0099】
メモリ管理の他の機能であるメモリ保護は、仮想メモリ空間の各ページフレームのメモリ使用情報を管理することである。ここでメモリ使用情報とは、ページフレームが有効かあるいは無効かいうことを示す。仮想アドレスに対応する物理アドレスや、ページフレームデータベースの内容は、ページのスワッピングの際に変動する場合がある。メモリ管理では変更が生じる都度、これらの内容を更新するようになっている。
【0100】
メモリマッピングにおいては、たとえば、プログラムが論理アドレス空間にアクセスしようとすると、CPU120は、論理アドレスを物理アドレスに変換し(マッピングし)、変換した物理アドレスを含むブロックが物理メモリ上に存在するかどうかチェックする。そして、マッピングの結果参照されたブロックが存在するときは、メモリ管理ユニットMMUに主記憶アクセスを要求する。このようにして、マッピングの結果参照された仮想アドレスが物理メモリ上にあれば、物理メモリ上の該当アドレスのデータをそのまま要求元に渡してやる。
【0101】
一方、物理メモリに存在しないとき(フォールトという)は、CPU120は、オペレーティングシステムOSに制御を渡す。オペレーティングシステムOSは、必要なブロックを補助記憶装置(本例ではハードディスク装置54)から物理メモリに持ってきてから制御をCPU120に戻す。つまり、仮想アドレスがメインメモリ上に存在しない場合には、ファイルシステムに対して対応のアドレスデータをメインメモリ上にスワップインすることを要求する。
【0102】
このときメインメモリ130が既に他の有効ページで溢れている状態であれば、オペレーティングシステムOSは、スワップインのためのページを確保するべく、他の幾つかのページを補助記憶装置にスワップアウトする(不必要なブロックと入れ替える)ようファイルシステムに要求する。
【0103】
またメモリマッピングにおいては、仮想メモリ空間(論理アドレス空間)を複数のブロック(小片)に分割して管理することが多く、一般的には可変長サイズのページ(page)、あるいはページを複数組み合わせた可変長サイズのセグメント(segment ;複数のページの集合体)という単位で分割されて取り扱われる。
【0104】
そして、メモリマッピング手法には、たとえば、ページング(paging)方式、セグメンテーション(segmentation)方式、ページセグメンテーション(paged segmentation)方式の3つの方式が代表的なものである。ページング方式とセグメンテーション方式は、一長一短があり、セグメント方式はプログラムからは扱いやすいが、物理メモリの使用効率が落ちる一方、ページング方式はその逆である。このため両方式を併用するようにした方式がページセグメンテーション方式である。
【0105】
たとえばページング方式は、プログラムをその論理的意味とは無関係に、仮想メモリ内をページという固定長の単位で区分けし、この単位にマッピングを行なう手法である。スワッピングはページ単位で行なう。ページング方式は、構造的にシンプルであるためメモリ管理を容易に行なうことができ、メインメモリサイズを超えた仮想メモリ空間も複数ページを組み合わせて実現することができる。
【0106】
図6は、ページング方式を使用したメモリマッピングの仕組みを説明する図である。ページング方式を採用した場合の仮想記憶システム下では、仮想ページの物理メモリ中の位置を掌握するために、たとえば図6のような構造のページテーブルを生成する。図6において、1つの仮想アドレスは、32Bitで形成されるが、上位10ビットはディレクトリオフセットを、次の10ビットはページテーブルオフセットを、残りの12ビットはページオフセットをそれぞれ格納するためのフィールドである。
【0107】
ディレクトリオフセットはページディレクトリの先頭アドレスに対するオフセット値であり、ページディレクトリ中の該当するレコードには対応するページテーブルの先頭アドレスが記録されている。
【0108】
ページテーブルオフセットは、ページテーブルの先頭アドレスに対するオフセット値であり、ページテーブルの中の該当するレコードに対応するページフレームの先頭アドレスと、該ページのフレームの属性情報とが記録されている。
【0109】
ページオフセットは、ページフレームの先頭に対するオフセット値であり、物理アドレスの下位ビットそのものである。つまり、“ページフレームの先頭アドレス”+“ページオフセット”が現実の物理アドレスを表す。
【0110】
ページフレームは、物理アドレス上のページそのものであり、その内容は実際のコードやデータである。
【0111】
ディレクトリオフセットには10ビットが割り当てられているので、1024(=210)個のページテーブルをアドレス可能である。また、ページテーブルには10ビット割り当てられているので1024(=210)個のページフレームをアドレス可能である。また、1個のページフレームは、4KBの大きさを持っている。オペレーティングシステムのカーネルの一部であるメモリ管理では、上述したページテーブルを適宜利用できるようになっている。
【0112】
図7は、図1に示した画像出力端末7における電源管理手法において、ハイバネーションルーチンで実行されるハイバネーション処理の原理を説明する図である。
【0113】
ハードディスク装置54には、メインメモリ130の内容が格納される領域であるハイバネーションボリュームが確保される。また、ハイバネーション処理では、ワークエリア130aを含むメインメモリ130の内容が補助記憶装置としてのハードディスク装置54のハイバネーションボリュームにセーブされるが、このとき、セーブ対象となる全メモリ空間(メモリイメージ)は、複数のメモリブロック(本実施形態ではメインメモリ130のページ単位相当)に分割され、ページ単位でハードディスク装置54にデータ転送が行なわれる。
【0114】
また、本実施形態においては、装置の作動状態から復帰させるための通常のハイバネーションモードの他に、ハイバネーション機能を利用して初期状態で電源起動するための拡張ハイバネーションモードが用意されている。通常のハイバネーションモード時には、ハードディスク装置54上の通常のハイバネーションボリュームが記録領域として利用されるのに対して、拡張ハイバネーションモード時には、初期起動用のハイバネーションボリュームや初期起動スワップデータエリアや関連するデータエリアが初期起動データを格納する記録領域として利用される。初期起動データは、装置を従来と同様の手順に従って初期起動した略直後における装置の作動状態を示すデータであって、初期起動した略直後におけるメインメモリ130の記憶内容や初期起動時にハードディスク装置54にスワップアウトされたデータなどである。
【0115】
初期起動データ領域は、装置における一般的なデータ処理時や通常のハイバネーションモード時にはアクセスされないよう保護する。また、この初期起動データ領域に保持されるデータは、装置のハードウェア環境やインストールされているソフトウェアに変更が生じた際には、適宜更新されるようにする。
【0116】
図7においては、説明を簡単にするために、セーブ対象となる全メモリ空間がメモリページ#1からメモリページ#7の7個のメモリページに分割されている場合を例示している。メモリページ#6および#7は、ハイバネーション処理時のワークエリア130aである。ハードディスク装置54へのデータ転送処理は、メモリページ#1からメモリページ#7の順番で実行される。1つのメモリページの転送が完了すると、次のメモリページのデータをハードディスク装置54に転送する処理を開始する前に、ハードウェアステータスのチェックを行なう。このハードウェアステータスのチェックは、ユーザから所定の入力イベントがハイバネーション処理期間中に発生されたか否かを検出するためのものである。
【0117】
所定の入力イベントの発生が検出されたときは、ハイバネーション処理はその時点で中断され、CPU120および他のハードウェアは全てパワーマネージメント割込PMI信号発生前の状態に復元され、割込み元のプログラムに制御が戻される。入力イベントとしては、図示しないキーボードからのキー入力、ポインティングデバイスの操作、操作パネル14へのタッチなどを利用することができる。これらは、それぞれキーボードコントローラのキーバッファをリードしたり、電源コントローラ210のステータスレジスタをリードすることなどによって検知することができる。
【0118】
図8は、電源制御処理手順の一例を示すフローチャートである。CPU120は、電源オフ指令の割込みがあるまで電源制御処理を待機している(S100−NO)。任意の稼働状態ある画像出力端末7に対してユーザからの電源オフ指令の割込みがあると、あるいはタイマ設定などにより自動的に電源オフ指令の割込みがあると、CPU120は、電源オフ処理ルーチンを起動する(S100−YES,S102)。電源オフ処理ルーチンを起動したCPU120は、最初に、次の電源オン時のパワーアップモードを判定する(S104)。
【0119】
そして、装置の作動状態からの復帰である通常のハイバネーションモード(通常HBモード)の場合には、CPU120は、ハイバネーション機能を利用した電源オフ処理ルーチンを起動し(S110)、所定の手順を経た後画像出力端末7のパワーをオフする(S112)。そして、次に電源オン指令があるまで待機する(S114−NO)。電源オン指令があると、CPU120は、通常ハイバネーションモードの電源オン処理ルーチンを起動する(S114−YES,S116)。
【0120】
また、ハイバネーション機能を利用して装置を初期状態に起動する拡張ハイバネーションモード(拡張HBモード)の場合には、CPU120は、ハードディスク装置54上の初期起動データ領域の初期起動ハイバネーション完了フラグをセットする。そして、画像出力端末7のパワーをオフし(S122)、次に電源オン指令があるまで待機する(S124−NO)。電源オン指令があると、CPU120は、拡張ハイバネーションモードの電源オン処理ルーチンを起動する(S124−YES,S126)。
【0121】
また、従来から行なわれているように、基本的な手順を踏んで装置を初期状態に起動する初期化モードの場合には、CPU120は、通常の電源オフ処理ルーチンを起動し(S130)、通常の手順を経た後画像出力端末7のパワーをオフする(S132)。そして、次に電源オン指令があるまで待機する(S134−NO)。電源オン指令があると、CPU120は、通常の電源オン処理ルーチンを起動を起動して装置を初期化する(S134−YES,S136)。つまり、従来と同様の手順に従って、オペレーティングシステムOSを起動する。
【0122】
この初期化の後、装置のハードウェア環境やインストールされているソフトウェアに変更が生じていないか否かを判定する(S138)。変更がある場合には、CPU120は、ハイバネーション機能を利用した初期化イメージデータ更新処理ルーチンを起動する(S138−YES,S140)。
【0123】
すなわち、通常ハイバネーションモードにおける処理と略同様にして、初期化直後のメインメモリ130のメモリイージをハードディスク装置54の初期起動データ領域におけるハイバネーションボリュームに記録する(図7参照)。また、この通常の初期化起動の際に、メインメモリ130からハードディスク装置54にスワップアウトさせたデータを、初期起動データ領域における初期起動スワップデータエリアにコピーする(図7参照)。さらに、この通常の初期化起動の際のシステムのコンフィグレーションデータ(ハードウェア情報)をハードディスク装置54に転送して、初期起動データ領域における初期起動ハイバネーションパワーオフシグネチャ設定エリア(図7参照)に記録する。
【0124】
図9および図10は、ハイバネーション処理、すなわち通常もしくは拡張ハイバネーションモードにおけるパワーマネージメント割込PMI信号の発生からハイバネーションルーチンが起動されるまでの一連の動作を説明する図である。ここで、図9は、ハイバネーション処理に関わるメインメモリ130とROM132との関係を示した図、図10ハイバネーション処理手順の一例を示したフローチャートである。
【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】
たとえば、図9に示すように、パワーマネージメント管理モード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)。この際、通常HBモードであるのか拡張HBモードであるのかに応じて、ハイバネーションボリュームを確保する領域を切り替える(図7参照)。
【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】
これに対して、通常HBモードや初期起動データの更新時におけるハイバネーション処理中に入力イベントが発生せずに全てのメモリページの転送が完了した場合には、PMコアは、最後に、システムのコンフィグレーションデータ(ハードウェア情報)をハードディスク装置54に転送して、ハイバネーションモードによるパワーオフが有効であることをハードディスク装置54のハイバネーションパワーオフシグネチャ設定エリア(図7参照)に記録する(S270)。拡張HBモードの際には、この処理をパスする。
【0142】
また、通常HBモードにおけるハイバネーション処理中であれば、PMコアは、リアルタイムクロック162がCMOSメモリ164を備えているときには、このCMOSメモリ164にハイバネーション完了フラグをセットし(S272)、そうでないときにはハードディスク装置54のハイバネーション完了フラグ設定エリア(図7参照)にハイバネーション完了フラグをセットした後(S274)、電源コントローラ210にパワーオフコマンドを送って画像出力端末7をパワーオフさせる(S276)。
【0143】
このように、本実施形態では、ハイバネーション期間中に定期的にハードウェアステータスをチェックすることによりユーザからの所定の入力イベントの有無を調査し、入力イベントの発生が検出された時点でハイバネーション処理を中断して画像出力端末7をパワーマネージメント割込PMI信号発生前の作業状態に復元するようにした。このことにより、ユーザは、一旦ハイバネーション処理が開始された後においても、キー入力などを行なうことにより、ハイバネーション処理の完了を待つことなく即座にそれまでの作業を継続することが可能となる。
【0144】
図11は、本実施形態におけるハイバネーション機能を利用した電源起動制御装置を説明する図である。ここで、図11(A)は、その機能ブロック図、図11(B)は、メインメモリ130の内容と圧縮方法とを対応付けた表の一例を示す図である。
【0145】
図11(A)に示すように、電源起動制御装置は、メモリイメージを格納するハードディスク装置54と、メインメモリ130と、初期起動データ保存制御部および圧縮保存制御部の一例であるメモリイメージ保存制御部300と、初期起動データ回復制御部および伸張回復制御部の一例であるメモリイメージ回復制御部310と、圧縮伸張処理部320と、初期起動データ更新制御部330とを備える。
【0146】
圧縮伸張処理部320は、CPU120を使用して圧縮処理をするCPU圧縮部322と、これに対応して、CPU120を使用して伸張処理をするCPU伸張部324とを有する。
【0147】
また圧縮伸張処理部320は、イメージ圧縮伸張処理部50の符号化部52(図2参照)を使用して圧縮処理をする印刷イメージ圧縮部326と、これに対応して、イメージ圧縮伸張処理部50の復号化部56を使用して伸張処理をする印刷イメージ伸張部328とを有する。
【0148】
メモリイメージ保存制御部300は、圧縮伸張処理部320のCPU圧縮部322や印刷イメージ圧縮部326を制御して、メインメモリ130の内容をページごとにハードディスク装置54にセーブする。また、メモリイメージ回復制御部310は、圧縮伸張処理部320のCPU伸張部324や印刷イメージ伸張部328を制御して、ハードディスク装置54からメモリイメージを読み出してメインメモリ130に戻す。
【0149】
本実施形態では、オペレーティングシステムOSのカーネルコア部が、メモリイメージ保存制御部300やメモリイメージ回復制御部310あるいは初期起動データ更新制御部330の各機能をなす。ただし、これに限らず、専用のハードウェアにてこれらを構成してもよい。
【0150】
メモリイメージ保存制御部300は、記憶内容解析部の機能も備えており、メインメモリ130に記憶されている記憶内容がイメージ圧縮伸張処理部50の符号化部52にて圧縮処理可能であるか否かをメモリページごとに解析し、その結果を纏めた表(圧縮方法テーブル)を作成する。
【0151】
圧縮効率を考えた場合、メインメモリ130の内容に応じて圧縮方法を選択できることが望ましい。特に印刷装置などの専用システムでは、メインメモリ130の内容の一部は、予測が可能であり、記憶内容に応じてCPU圧縮や印刷イメージ圧縮を切り替える、あるいは圧縮フォーマットを切り替えることが容易にできる。
【0152】
なお、本実施形態においては、メインメモリ130中の所望のデータを補助記憶装置の一例であるハードディスク装置54にセーブする際には、メインメモリ130中のデータが、たとえばプログラムのテキスト部分のように、セーブしなくてもハイバネーションモードから復帰した後に再読み込み可能なページはセーブしない。
【0153】
このため、オペレーティングシステムOSのカーネルコア部は、セーブされるメモリページに対し、仮想アドレスを管理しているメモリ管理からのページ属性情報とアプリケーションプログラムからのページ情報とに基づいて、図11(B)に示す圧縮方法の表を作成する。圧縮方法としては、メインメモリ130のページごとに、圧縮不要、CPU圧縮、印刷イメージ圧縮の3種類に区分けする。
【0154】
そして、メモリイメージのハードディスク装置54への転送格納の際には、メモリイメージ保存制御部300は、作成した圧縮方法テーブルを参照して、CPU圧縮部322と印刷イメージ圧縮部326とを切り替えながら、メモリイメージを圧縮してハードディスク装置54に保存する。
【0155】
また、メモリイメージ回復制御部310は、圧縮処理に使用したCPU圧縮部322と印刷イメージ圧縮部326に対応して、伸張処理可能なCPU伸張部324と印刷イメージ伸張部328とを切り替えながら、ハードディスク装置54から読み出した情報を伸張してメインメモリ130にメモリイメージを戻すことで、画像出力端末7の作動状態を復元する。
【0156】
なお、図7の説明にても述べたように、本実施形態においては、装置の作動状態から復帰させるための通常のハイバネーションモードの他に、ハイバネーション機能を利用して初期状態で電源起動するための拡張ハイバネーションモードが用意されており、何れのハイバネーションモードであるのかに応じて、ハードディスク装置54におけるハイバネーションボリュームなどの記録領域を切り替えて使用する。
【0157】
初期起動データ更新制御部330は、ハードディスク装置54上の拡張ハイバネーションモード時に利用される初期起動データ領域が、装置における一般的なデータ処理時や通常のハイバネーションモード時にはアクセスされないよう保護する。また、初期起動データ更新制御部330は、装置のハードウェア環境やインストールされているソフトウェアに変更が生じた際には、初期起動データ領域に保持されるデータを適宜更新するよう制御する。
【0158】
図12は、図11に示した構成における圧縮処理手順の一例を示すフローチャートである。
【0159】
カーネルコア部は、先ず、処理対象のページデータが圧縮を要するか否かを判定する(S300)。そして、圧縮を必要としない場合には、CPU120は、「圧縮不要」を指定し、表に書き込む(S300−NO,S310)。一方、圧縮した方がデータ量が少なくなるデータである場合には、「圧縮する」ことを選択する(S300−YES,S320)。
【0160】
そして、「圧縮する」ことを選択する場合において、ページデータが、このページデータの圧縮処理に画像出力端末7が備えるイメージ圧縮伸張処理部50を利用可能なデータである場合には、圧縮方法として印刷イメージの圧縮方法と同じ方法を指定する(S322−YES,S324)。それ以外の「圧縮する」ことを選択するページデータについては、CPU圧縮を指定する(S324−NO,S326)。こうすることで、たとえばメインメモリ130のページデータが画像データである場合には、印刷イメージ圧縮の専用プロセッサを圧縮処理に使用することができるようになる。
【0161】
ハイバネーション処理におけるメモリページのセーブに際しては、メインメモリ130の内容(メモリデータ)のページ圧縮方法を表に従って切り替えながらハードディスク装置54にメインメモリ130の内容をページごとにセーブする。このとき、圧縮方法として印刷イメージの圧縮方法と同じ方法が指定されることがあり、その場合は印刷イメージ圧縮の専用プロセッサを圧縮に使用する(図11(B)参照)。
【0162】
すなわち、CPU120は、先ず、前述のようにして作成した表を参照して、処理対象のページデータの圧縮の要否を判定する(S330)。「圧縮不要」が指定されていると、カーネルコア部は、そのページデータをそのままハードディスク装置54に格納する(S330−NO,S340)。
【0163】
一方、「圧縮要」が指定されていると、カーネルコア部は、さらに、圧縮方法として印刷イメージの圧縮が指定されているか否かを判定する(S330−YES,S350)。
【0164】
CPU120による圧縮処理を示す「CPU圧縮」が指定されていると、CPU120を使用してページデータを圧縮する(S350−NO,S360)。次に、カーネルコア部は、圧縮データが非圧縮データより大きくなったか否かを判定する(S380)。そして、圧縮データが非圧縮データより小さくなった場合には、CPU120により圧縮処理された圧縮済のページデータをハードディスク装置54に格納し(S380−YES,S384)、圧縮データが非圧縮データより小さくなった場合には、非圧縮データすなわち元のページデータそのものをハードディスク装置54に格納する(S380−NO,S386)。
【0165】
一方、イメージ圧縮伸張処理部50による圧縮処理を示す「印刷イメージ圧縮」が指定されていると、イメージ圧縮伸張処理部50の符号化部52を使用してページデータを圧縮する(S350−YES,S370)。次に、カーネルコア部は、圧縮データが非圧縮データより大きくなったか否かを判定する(S380)。そして、圧縮データが非圧縮データより小さくなった場合には、符号化部52により圧縮処理された圧縮済のページデータをハードディスク装置54に格納する(S380−YES,S384)。逆に、圧縮データが非圧縮データより小さくなった場合には、非圧縮データすなわち元のページデータそのものをハードディスク装置54に格納する(S380−NO,S386)。こうすることで、メインメモリ130に印刷イメージが入っている場合に圧縮率を高めることができる。
【0166】
なお、ページデータの回復処理の際には、圧縮方法に対応した伸張処理をする必要がある。この場合、ハードディスク装置54から読み出したデータ内容を解析することで圧縮方法を特定してもよい。あるいは、圧縮方法を示す情報をページデータと対応付けてハードディスク装置54にセーブしたり、あるいは図11(B)で示す表をハードディスク装置54にセーブしてもよい。これらの場合、セーブしておいた情報を基にして簡単に圧縮方法を特定することができる。
【0167】
なお、圧縮保存方法では、ページデータの内容を圧縮保存時に調べながら、そのデータ形式に適した圧縮方法を決定する適応的(adaptive)な方法を選択するとよい。たとえば、パソコン3aで生成された文書ファイルの印刷イメージであれば、JPEG形式で圧縮し、FAX装置3eから受信したFAX画像であれば、TIFF形式で圧縮するなど適応的な方法を選択する。
【0168】
図13は、パワーオン時に、ハイバネーション処理でセーブされた内容を復元するレジューム処理手順の一例を示すフローチャートである。
【0169】
ハイバネーション処理(通常HBモードおよび拡張HBモードのいずれでもよい)に従った電源再起動は、メイン電源をオンすることによって始まる。すなわち、画像出力端末7がパワーオンされると、システムBIOSは、ブート直後にROM132に書かれたブートストラッププログラムを実行する(S400)。ブートストラッププログラムは、CMOSメモリ164もしくはハードディスク装置54のハイバネーション完了フラグ設定エリアをアクセスして、ハイバネーションモードによるパワーオフが有効かどうかをチェックする(S402)。すなわち、現在のパワーアップモードがレジュームモードとブートモード(従来同様の初期起動)のどちらに設定されているかを判断する。
【0170】
システムBIOSは、レジュームモードであれば、CMOSメモリ164やハードディスク装置54のハイバネーション完了フラグ設定エリアにハイバネーション完了フラグがセットされているか否かを調べることができる(S404)。
【0171】
ハイバネーションモードでない場合、すなわちパワーアップモードがブートモードの場合あるいはレジュームモードであってもハイバネーション完了フラグがセットされていない場合には、通常のブート処理(図8に示したS136〜S140の処理)を実施する。つまり、従来と同様の手順に従って、オペレーティングシステムOSを起動するブートストラップ処理を実行する(S404−NO,S406)。
【0172】
一方、通常のハイバネーションモードによる電源再起動(パワーオン)であった場合、システムBIOSは、そのハイバネーション完了フラグ設定エリアのシグネチャ(データ内容やフラグ)を消す(S404−YES,S408)。拡張ハイバネーションモードで再起動した場合には、この処理をパスする。
【0173】
次にシステムBIOSは、ハードディスク装置54のハイバネーションボリュームにセーブしておいたメインメモリ130の内容をメインメモリ130に書き込む処理(セーブ内容のロード処理)を起動する(S410)。この際、通常HBモードであるのか拡張HBモードであるのかに応じて、読み込むべきハイバネーションボリュームの位置を切り替える(図7参照)。
【0174】
また、このとき全ての内容を一度に復帰するのではなく、たとえばセーブしておいたコンフィグレーションデータ(ハードウェア情報)やオペレーティングシステムOSの常駐を必要とする部分など一部必要な部分のみを最初に復帰させる。さらにこのとき、セーブしておいたメインメモリ130の内容が圧縮されている場合は、圧縮方法に対応する解凍方法によって、CPU伸張部324もしくは印刷イメージ伸張部328により伸長しながらメインメモリ130へ書き込む(S412−YES,S414,S416)。圧縮されていない場合は、ハードディスク装置54から読み出したデータをそのままメインメモリ130へ書き込む(S412−NO,S416)。
【0175】
次にシステムBIOSは、パワーオン後のコンフィグレーションデータを調べる(S420)。そして、セーブしておいたコンフィグレーションデータ(ハードウェア情報)とパワーオン後に調べたコンフィグレーションデータを比較する(S422)。もし両者が違っている場合には、システムBIOSは、通常のブート(図8に示したS136〜S140の処理)を行なうようにする(S422−NO,S406)。
【0176】
両者が合致している場合には、システムBIOSは、次に、セーブしておいたメインメモリ130の内容全て(全ページデータ)を復帰させる(S422−YES,S430)。すなわち、システムBIOSは、ハードディスク装置54のハイバネーションボリュームの内容をそれぞれCPU120、各種ハードウェア、メインメモリ130にリストアする。
【0177】
通常HBモードによる電源再起動の場合には、装置使用時の作業途中でハイバネーション処理を起動したパワーマネージメント割込PMI発生前の作業状態を復元し、パワーマネージメント割込PMIによって割り込まれたプログラムに制御を戻す。また、拡張HBモードによる電源再起動の場合には、初期起動直後にハイバネーション処理を起動したパワーマネージメント割込PMI発生前の状態(つまり初期起動直後の状態)を復元し、パワーマネージメント割込PMIによって割り込まれたプログラムに制御を戻す。
【0178】
この後、PMコアは、デバイスドライバとの間で、ウェークアップ(wake up )の通知および認証応答を行なう(S432)。次いでPMサーバから呼び出されていたPMシステムコールがリターンされる(S434)。そしてPMサーバは、アプリケーションプログラムとの間で、ウェークアップの通知および認証応答を行なう(S436)。これにより、ユーザは、初期起動直後の状態もしくは作業途中のパワーオフ直前の状態から画像出力端末7を使用することができるようになる。
【0179】
以上説明したように、本実施形態においては、ハイバネーション機能を利用して装置の初期状態に起動するモードを設けた。すなわち、起動直後のメインメモリの記憶内容(メモリイメージ)やスワップデータなどの初期起動データをハイバネーション機能を利用してハードディスク装置54に保存しておき、ブート時に常にそのメモリイメージやスワップデータを初期状態で使用する起動モードを設けた。ハイバネーション機能を利用して起動すれば、ハイバネーション機能を用いない従来のようなブート処理と比較して、補助記憶装置に対するアクセスを少なくすることができる。これにより、ハイバネーション機能を用いない従来のようなブート処理と比較して、電源オフからのブート時間を短縮することができる。
【0180】
また、装置のハードウェア環境やインストールされているソフトウェアに変更が生じた際には、初期起動データを更新するようにしたので、装置の機能変更があった場合にも柔軟に対応することができる。
【0181】
また、本実施形態においては、ハイバネーションモードでの電源オフ時には、メインメモリ130のページデータの内容に応じて、CPU120と、このCPU120とは別個に設けた圧縮処理部の一例であるイメージ圧縮伸張処理部50とを切り替えてページデータを圧縮処理するようにした。
【0182】
従来のように、CPU120を用いて画像データを圧縮処理するのでは通常モードからハイバネーションモードへの移行が遅い。これに対して、印刷イメージ処理用のイメージ圧縮伸張処理部50を利用することで、イメージ圧縮伸張処理部50にて圧縮可能な分だけ、圧縮処理や伸張処理の各処理時間の制約を、CPU120の処理能力から開放することができ、ハイバネーションモード(通常HBモードおよび拡張HBモードの何れでもよい)への移行を高速化することができる。加えて、圧縮処理や伸張処理の手段として印刷イメージを圧縮したり伸張する手段と同一の手段を使用することにより、ハイバネーション専用の圧縮伸張処理部を備える必要がない。
【0183】
また、メインメモリ130の内容を補助記憶装置(本例ではハードディスク装置54)にセーブする際に、ページあるいはセグメントごとに圧縮方法を指定するようにしたので、より効率的にメインメモリ130の内容を圧縮し補助記憶装置に退避することができる。これにより、ハイバネーションモード(通常HBモードおよび拡張HBモードの何れでもよい)への移行が速くなる。
【0184】
またメモリイメージを圧縮して補助記憶装置に保存しているので、ハイバネーション(通常HBモードおよび拡張HBモードの何れでもよい)からの復帰時には、解凍するデータの量が少なく、補助記憶装置へのアクセス時間を短縮することができる。圧縮データを伸張する処理時間は、補助記憶装置へのアクセス時間に比べれば十分に短い。これにより、通常モードへの復帰時間を短くすることができる。
【0185】
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。発明の要旨を逸脱しない範囲で上記実施形態に多様な変更または改良を加えることができ、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれる。
【0186】
また、上記の実施形態は、クレーム(請求項)にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組合せの全てが発明の解決手段に必須であるとは限らない。前述した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜の組合せにより種々の発明を抽出できる。実施形態に示される全構成要件から幾つかの構成要件が削除されても、効果が得られる限りにおいて、この幾つかの構成要件が削除された構成が発明として抽出され得る。
【0187】
たとえば、上記実施形態では、画像情報に対する情報処理機能を備えた画像処理装置の一例としての複写装置や印刷装置あるいはファクシミリ装置において、ハイバネーション機能を利用して装置を初期起動することを説明したが、画像処理装置は、複写装置などに限らない。すなわち画像を取り扱う装置であればよく、たとえばデジタルカメラなどに適用することもできる。
【0188】
また、画像入力端末3側のカラースキャナ3bと組み合わせたネットワークスキャナや、このカラースキャナ3bと画像出力端末7における印刷機能とを組み合わせたネットワーク複写システムとして構成することもできる。
【0189】
また上記実施形態では、画像情報に対する情報処理機能を備えた画像処理装置にハイバネーション機能を設けた場合についての本願発明の適用を説明したが、装置における情報処理機能は、画像情報に対するものに限定されない。この場合、その装置が取り扱う情報に応じた圧縮処理部や伸張処理部を中央演算処理部と別個に用意するとよい。なお、圧縮処理部や伸張処理部を中央演算処理部と別個に用意することは必須ではない。
【0190】
また、上記実施形態で説明したように 主記憶部に記憶されている記憶内容が圧縮処理部にて圧縮処理可能であるか否かを記憶内容解析部で解析し、圧縮可能であれば、電源オフ時に通常モードからハイバネーションモードに移行させる際、その圧縮可能な分の記憶内容に関しては、圧縮処理部にて圧縮する。また、電源再起動時にハイバネーションモードから通常モードに回復させる際は、中央演算処理部とは別個に設けられた伸張処理部にて伸張処理する。
【0191】
【発明の効果】
以上のように、本発明によれば、装置起動後の略直後の主記憶部の記憶内容(メモリイメージ)や初期起動処理の際に補助記憶部にスワップアウトさせたデータをハイバネーション機能を利用して補助記憶部に保存しておき、電源起動時には、そのメモリイメージやスワップデータを初期状態で使用するようにした。ハイバネーション機能を利用して起動すれば、ハイバネーション機能を用いない従来のようなブート処理と比較して、補助記憶部に対するアクセスを少なくすることができる。これにより、ハイバネーション機能を用いない従来のような起動処理と比較して、電源オフからの初期起動時間を短縮することができる。
【図面の簡単な説明】
【図1】本発明に係る画像処理装置の一実施形態を有する画像出力端末を備えた画像処理システムを示す概略図である。
【図2】画像出力端末における画像処理機能を示すブロック図である。
【図3】図1に示した画像出力端末における、画像の圧縮/伸張処理に関わる機能部分と、電源管理に関わる機能部分とに着目した、ハードウェア構成のブロック図である。
【図4】ソフトウェアの構成との関係におけるCPUの働きを説明する図である。
【図5】仮想記憶システムの一例を示した模式図である。
【図6】ページング方式を使用したメモリマッピングの仕組みを説明する図である。
【図7】図1に示した画像出力端末における電源管理手法において、ハイバネーションルーチンで実行されるハイバネーション処理の原理を説明する図である。
【図8】電源制御処理手順の一例を示すフローチャートである。
【図9】ハイバネーション処理に関わるメインメモリとROMとの関係を示した図である。
【図10】ハイバネーション処理手順の一例を示すフローチャートである。
【図11】電源起動制御装置を説明する図である。
【図12】図11に示した構成における圧縮処理手順の一例を示すフローチャートである。
【図13】パワーオン時に、ハイバネーション処理でセーブされた内容を復元するレジューム処理手順の一例を示すフローチャートである。
【符号の説明】
1…画像処理システム、3…画像入力端末、7…画像出力端末、10…画像読取装置、20…スキャナ部、22…読取信号処理部、30…画像形成装置、32…画像形成ユニット、40…前段色信号処理部、50…イメージ圧縮伸張処理部、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…印刷イメージ伸張部、330…初期起動データ更新制御部
【発明の属する技術分野】
本発明は、装置を初期状態で起動させる起動制御方法および装置、並びにこの起動制御装置を備えた画像処理装置に関する。
【0002】
【従来の技術】
たとえば、ソフトウェアの肥大化は当然の流れとし、肥大化したソフトウェアを実行できる環境を構築するために、組込み型のオペレーティングシステム(組込みOS/OS;Operating System)では当然とされてきた実記憶システムを捨て、仮想記憶システムを採用する装置がある。
【0003】
実記憶システムの利点は、プログラムのイメージがROM(read only memory)化されているため、プログラムをロードする時間が必要ないあるいは短い時間で済み、ブート時間(装置起動時間)が非常に短い点にある。一方、仮想記憶システムは、メモリを事実上無限に使用できる反面、プログラムのロード時間が長くブート時間が長い。
【0004】
またたとえば、近年の装置の高性能化、高機能化にともない装置に組み込まれているソフトウェアの肥大化が問題となっている。このため組み込む機能を見直して制限したり、コスト増になるのを覚悟でROMの容量を増やすなどの工夫が施されている。たとえば、印刷装置や複写装置など画像を処理対象として取り扱う画像処理装置においては、単一機能の装置に限らず、複数の機能を備えた複合機といわれるものがあるなどである。
【0005】
【発明が解決しようとする課題】
しかしながら、ROMの容量を増やしても、仮想記憶システムを利用する場合、初期状態で電源起動(初期起動という)させるには、ソフトウェアの増大分だけ起動時間が掛かってしまう。すなわち、仮想記憶システム下においける初期起動時には、先ず不揮発性の記憶媒体に保持されているシステムBIOS(Basic I/O System)が初期化ルーチンを稼働させ、その後オペレーティングシステムOSに処理を引き渡すが、この際には、補助記憶部に保持されているプログラムデータや処理データを適宜主記憶部にロードする。このとき主記憶部が既に他の有効データで溢れている状態の場合、スワップインのための領域を確保するべく、他の幾つかのデータを補助記憶部にスワップアウトする(不必要なブロックと入れ替える)ようファイルシステムに要求する。そしてこのような補助記憶部に対するアクセスを何度も繰り返して初期化が完了する。
【0006】
このため、初期起動の際には、補助記憶部に対するアクセスに要する時間が、この初期起動時間の大部分を占めている。すなわち、初期起動においてシステム電源オン時のブート時間を左右するのが、主記憶部の内容をハードディスク装置などの補助記憶部に一時待避させたり、この補助記憶部から所望データを読み込む時間である。
【0007】
本発明は、上記事情に鑑みてなされたものであり、仮想記憶システム下においてソフトウェアが増大するようなケースであっても、初期起動時間を短縮することのできる起動制御方法および起動制御装置、並びにこの起動制御装置を備えた画像処理装置を提供することを目的とする。
【0008】
【課題を解決するための手段】
装置のメイン電源をオフにすることで作業を中断する際、電源供給時にのみ記憶内容を保持する揮発性の主記憶部(メインメモリ)の実メモリ内の現在の作業を、電源供給が切断されても記憶内容を保持するハードディスク装置などの不揮発性の補助記憶部に記憶し、電源をオンにすることで電源をオフにする前に補助記憶部に記憶した内容を主記憶部の実メモリ内へ読み戻すことで、中断した作業を再開するハイバネーション/ウェークアップ動作を行なう仕組みがある。
【0009】
装置の中にはブート時間の問題を除けば、ハイバネーションモードを必要としないケースもある。たとえば印刷装置や複写装置などの場合、パソコンなどと違って作業の継続性は少なく、毎回初期状態から開始しても問題ないからである。しかしながら、前述のように、仮想記憶システム下においてソフトウェアが増大するようなケースでは、初期起動時間の長大化が問題となる。
【0010】
一方、前述のハイバネーション機能を利用して、初期化した直後の主記憶部の内容や初期化処理の際に補助記憶部にスワップアウトさせたデータを初期起動データとして補助記憶部に保持しておき、初期起動の際には、補助記憶部に保持しておいた初期化後の主記憶部の内容をその主記憶部に読み戻してやると、従来から知られているハイバネーションモードでの起動による効果を享受でき、初期起動時間を短縮することができると考えられる。
【0011】
本願発明は上記の技術的知見に基づいてなされたものである。
【0012】
すなわち、本発明に係る起動制御方法は、電源供給時にのみ記憶内容を保持する主記憶部と、電源供給が切断されても記憶内容を保持する補助記憶部とを備えた装置において、当該装置を予め定められている初期状態で起動する起動制御方法であって、ハイバネーション機能を利用して初期状態で起動した略直後における装置の作動状態を示す初期起動データを補助記憶部に保存する初期起動データ保存工程と、電源の再供給時に補助記憶部に保存しておいた初期起動データを読み出して装置の初期状態を復元する初期起動データ回復工程とを備えた。
【0013】
本発明に係るハイバネーション制御装置は、本発明に係るハイバネーション制御方法を実施するのに好適な装置であって、ハイバネーション機能を利用して初期状態で起動した略直後における作動状態を示す初期起動データを補助記憶部に保存する初期起動データ保存制御部と、電源の再供給時に補助記憶部に保存しておいた初期起動データを読み出して初期状態を復元する初期起動データ回復制御部とを備えた。
【0014】
本発明に係る画像処理装置は、画像処理をする画像処理部と、前述の本発明に係る起動制御装置の構成とを備えたものである。本発明に係る画像処理装置は、たとえば、原稿画像を読み取る画像読取部を備えたいわゆるスキャナ装置として展開されてもよい。また、画像処理部により画像処理が施された画像を可視画像として所定の出力媒体に出力する画像形成部を備えた装置、たとえば、画像入力端末の一例であるパソコンなどから送信された画像データを受け取って印刷出力する印刷装置、あるいは画像入力端末の他の一例であるファクシミリ送信装置からファクシミリデータを受け取ってファクシミリ画像を出力するファクシミリ受信装置として展開されてもよい。また、画像読取部と画像形成部とを備え、画像読取部により読み取った原稿画像を所定の出力媒体上に印刷出力する複写装置として展開されてもよい。また、スキャナ装置、印刷装置、ファクシミリ受信装置、あるいは複写装置を任意に組み合わせたいわゆる複合機として展開されてもよい。
【0015】
また従属項に記載された発明は、本発明に係る起動制御方法および装置並びに画像処理装置のさらなる有利な具体例を規定する。
【0016】
なお、本発明に係る起動制御方法および装置並びに画像処理装置を、電子計算機(コンピュータ)を用いてソフトウェアで実現するために好適なプログラムあるいはこのプログラムを格納したコンピュータ読取可能な記憶媒体を発明として抽出することもできる。なお、プログラムは、コンピュータ読取り可能な記憶媒体に格納されて提供されてもよいし、有線あるいは無線による通信手段を介して配信されてもよい。
【0017】
【作用】
本発明の上記構成においては、初期起動データ保存制御部は、従来のような手順を踏んで初期起動した略直後の主記憶部の記憶内容(メモリイメージ)や初期起動処理時の補助記憶部へのスワップデータなどの初期起動データを、ハイバネーション機能を利用して補助記憶部に保存しておく。初期起動データ回復制御部は、電源の再供給時に、ハイバネーション機能を利用して、補助記憶部に保存した初期起動データを主記憶部に読み戻すことにより初期状態で起動する。ハイバネーション機能を用いない従来のようなブート処理と比較して、電源の再供給時の補助記憶部に対するアクセスを少なくすることができる。
【0018】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
【0019】
図1は、本発明に係るハイバネーション制御装置や画像処理装置の一実施形態を有する画像出力端末を備えた画像処理システムを示す概略図である。この画像処理システム1は、画像入力端末3および画像出力端末7を備える。
【0020】
画像入力端末3は、デジタルドキュメント(以下単にドキュメントという)DOCを作成したり編集などの処理する、たとえばパソコン(パーソナルコンピュータ)3a、カラースキャナ3b、デジタルカメラ3c、またはハードディスク装置や光磁気ディスク装置あるいは光ディスク装置などのデータ格納装置3d、さらにはFAX装置3eなど、任意数の画像入力ソースを含み得る。画像入力端末3は、これらに限らず、たとえば、図示しない通信網を介して画像を電子データとして取得する通信機能を備えた端末装置であってもよい。これらの各端末装置には、ドキュメントDOC作成用のアプリケーションプログラムなどが組み込まれる。画像入力端末3は、ドキュメントDOCを、画像処理システム1の一部を構成する画像出力端末7に入力する。
【0021】
画像出力端末7は、たとえば複写機能、ページプリンタ機能、およびファクシミリ送受信機能を備えたいわゆる複合機(マルチファンクション機)で、デジタルプリント装置として構成されている。
【0022】
画像入力端末3側にて用意されるドキュメントDOCを表す電子データは、画像出力端末7で処理可能な画像フォーマット(たとえば、JPEG、BMP、PNGなど)で記述される。またたとえば、パソコン3aで作成された文書ファイルは、たとえばプリンタなどで印刷出力するために、図形、文字などの拡大、回転、変形などが自由に制御できるページ記述言語(PDL:Page Description Language )で記載されたデータとして画像出力端末7に送られる。PDLで作成されているデータ(PDLデータ)は、ページ内の任意位置の画像、図形、文字を表現する描画命令およびデータを任意の順で配置した命令およびデータ列で構成されている。このPDLデータを受け取った画像出力端末7は、印字前に出力単位ごと(1ページごと)に画像データをレンダリング(描画展開)してからプリンタエンジン部にそのラスタデータを出力する。
【0023】
画像出力端末7は、大まかに、画像読取装置10、画像形成装置30、および給紙装置80から構成されている。また画像出力端末7は、接続ケーブル90を介してネットワークに接続可能になっている。たとえば、接続ケーブル90は、LAN(Local Area Network)8によりパソコン3aなどの画像入力端末3に接続されたり、あるいは電話回線9によりFAX装置3eなどの画像入力端末3に接続される。
【0024】
画像読取装置10は、原稿を図示しない読取台(プラテンガラス)上の読取位置まで搬送し排紙するドキュメントフィーダ12と、表示機能も備えた操作パネル(ユーザインタフェース)14と、装置に対する種々の設定をする操作キー16とを含む。
【0025】
操作パネル14には、印刷枚数や用紙サイズなどの装置の使用条件が表示されるようになっており、ユーザはその表示を見ながら操作キー16により使用条件を変更することができる。好ましい条件が操作パネル14や操作キー16で入力された後、操作キー16のスタートキー(図示せず)が押下されると、ドキュメントフィーダ12は、原稿を画像読取装置10上の予め定められた読取位置へ原稿をフィードし、その原稿が読み取られた後に読取位置からその原稿をドキュメントフィーダ12の所定位置まで移動させる。
【0026】
画像読取装置10は、画像入力端末の機能を備えており、たとえばCCD固体撮像素子の全幅アレイを使用して、読取位置へ送られた原稿に光を照射することで、原稿上の画像を読み取り、この読み取った画像を表すアナログビデオ信号をデジタル信号へ変換し、画像形成装置30へ送る。
【0027】
画像形成装置30は、画像形成ユニット32と、両面複写ユニット34と、排紙ユニット36と、1枚もしくは複数枚(図は複数枚で例示)の処理基板38とを含む。画像形成ユニット32は、画像読取装置10にて得られた画像信号により表される画像を、電子写真式、感熱式、熱転写式、インクジェット式、あるいは同様な従来の画像形成処理を利用して、普通紙や感熱紙上に可視画像を形成する(印刷する)すなわち複写する。このため、画像形成ユニット32は、たとえば画像処理システム1をデジタル印刷システムとして稼働させるためのラスタ出力スキャン(ROS)ベースのプリントエンジンを備える。
【0028】
両面複写ユニット34は、たとえば、用紙を即時に、あるいは一方の面に画像が形成されスタックされた複数の用紙を底の用紙から上部の用紙の順に連続的に、画像形成ユニット32側に再給紙するように構成される。
【0029】
処理基板38には、画像形成装置30用の処理部(特に画像処理部)だけでなく、画像出力端末7全体の種々の処理をするための回路が搭載される。たとえば、画像出力端末7内に構築された資源であるドキュメントフィーダ12、操作パネル14、図示しない画像読取ユニット、画像形成ユニット32、両面複写ユニット34、排紙ユニット36、あるいは給紙トレイ82など制御する回路が搭載される。
【0030】
この処理基板38には、半導体製の記憶媒体が搭載され、たとえば、複写アプリケーション、プリンタアプリケーション、ファクシミリ(FAX)アプリケーション、あるいは他のアプリケーション用の処理プログラムが格納される。
【0031】
給紙装置80は、給紙トレイ82を含む。図示した例では、A4,B4,A3の3種類の用紙サイズに対応した3つの給紙トレイ82が用意されている。
【0032】
用紙が複数の給紙トレイ82の内の何れかから画像形成装置30へ給紙されると、画像形成装置30の画像形成ユニット32は、その用紙の一方の面に画像を形成する。両面複写ユニット34は、一方の面に画像が形成された用紙を裏返し、再び画像形成ユニット32にその用紙を給紙するように構成されている。これにより、画像が用紙の他方の面に形成され、両面複写が完了される。
【0033】
画像形成ユニット32から排出される用紙、あるいは両面複写済み用紙は、排紙ユニット36により、ページ順に連続的に、あるいは1ページごとにソートされる。
【0034】
なお、画像出力端末7は、画像読取装置10にて読み取った画像の印刷機能すなわち複写機能に限らず、LAN8および接続ケーブル90を介してパソコン3aなどの画像入力端末3から取得した文書データや画像ファイルなどに基づいて画像を印刷するいわゆるプリント機能や、電話回線9および接続ケーブル90を介して受信したFAXデータに基づいて印刷出力するFAX機能も備える。
【0035】
図2は、画像出力端末7における画像処理機能を示すブロック図である。画像読取装置10は、スキャナ部20と読取信号処理部22とを有する。
【0036】
スキャナ部20は、読取台上に載置された原稿を読み取って得た入力画像を赤R、緑G、青Bの各色成分のデジタル画像データに変換する。たとえばハロゲンランプを有する光源からの光が読取台上に載置された原稿を照射し、反対光が光学系を介して赤、緑、青の各色に分光される。そして各色光が、各色光用に分けられた、たとえばCCD(電荷転送型の固体撮像素子)からなるラインセンサ(イメージセンサ)に入射し、入力画像が所定解像度で読み取られることによって、赤、緑、青の各色成分のアナログの画像信号が得られ、読取信号処理部22に送られる。
【0037】
読取信号処理部22は、たとえばシェーディング補正部24や入力階調補正部26を有する。なお、読取信号処理部22は、これらの他に、たとえば図示しない増幅部やA/D変換部などを有する。
【0038】
この読取信号処理部22においては、図示しない増幅部がラインセンサからの赤、緑、青のアナログの各画像信号を所定のレベルまで増幅し、さらに図示しないA/D変換回路がアナログの各画像信号をデジタル画像データに変換する。そして、シェーディング補正部24は、A/D変換回路から出力されたデジタル画像データに対し、ラインセンサの画素感度バラツキの補正や、光学系の光量分布特性に対応したシェーディング補正を施す。入力階調補正部26は、シェーディング補正されたデジタル画像データに対して階調特性を調整し、処理済の画像データを、画像形成装置30の前段色信号処理部40に入力する。
【0039】
画像形成装置30は、プリント出力信号処理系統として、前段色信号処理部40と、イメージ圧縮伸張処理部(イメージ圧縮伸長プロセッサ)50と、後段色信号処理部60と、プリントエンジン70とを有する。これらが処理基板38(図1参照)上に載置される。
【0040】
前段色信号処理部40は、たとえば入力色変換部42、画像受取部の一例である外部インタフェース部43、画像情報領域分離部44、出力色変換部46、および下色除去部48を有する。
【0041】
この前段色信号処理部40においては、先ず画像読取装置10の読取信号処理部22からの赤、緑、青のデジタル画像データ(色信号)を一旦図示しないページメモリに記憶する。そして、画像形成ユニット32にて使用する色材の分光特性に対する色補正処理(これを特に前段階の色補正処理という)を施すことで、色濁りを防止する。
【0042】
そして、入力色変換部42は、デジタル画像データを、外部機器との色情報交換に適した色信号、たとえば均等色空間の明度信号L*並びに彩度および色相を表す色度信号a*,b*(以下纏めてLab信号ともいう)に変換する。
【0043】
画像出力端末7をプリンタとして使う場合には、外部インタフェース部43は、画像入力端末3側にて用意されたドキュメントDOCを表すPDLデータを、出力単位ごと(1ページごと)にLab信号でレンダリング(描画展開)する。同様に、画像出力端末7をカラーFAX装置として使用する場合には、外部インタフェース部43は、FAX装置3eからFAXデータを受信し、FAX画像をLab信号にてラスタライズする。次いで、このLab信号に基づいて、たとえば画像情報領域分離部44は画像領域(絵文字)分離処理を施し、編集処理部45は色編集処理やモアレを除去したり中間調データを平滑化する平滑化処理あるいは画像拡大や画像縮小などの画像編集処理を施す。
【0044】
その後、出力色変換部46は、Lab信号を、減法混色用に適した色信号に変換する。たとえば、出力色変換部46は、Lab信号で表されるLab表色系から、最低3つ(好ましくは4つ)、たとえばイエロー(Y)、マゼンタ(M)、およびシアン(C)の各色信号で表されるYMC表色系、あるいはこれにブラック(K)を加えたCMYK表色系へのマッピング処理をし、プリント出力用に色分解されたラスタデータを生成する。
【0045】
また、下色除去部48は、このようなラスタデータ化の処理に際して、カラー画像のCMY成分を減色するアンダーカラー除去処理(UCR;Under Color Removal )をする。なお、下色除去部48は、さらに減色されたCMY成分を部分的にK成分と交換するグレー成分交換(墨生成)処理(GCR;Gray ComponentReplacement)をする。また、下色除去部48は、入力画像の下地濃度に応じて、YMCKの各色の画像データのうちの所定の下地濃度以下の画像データをカット(無効化)する下地除去処理を施す。なお、このグレー成分交換処理を含めてアンダーカラー除去処理ということもある。
【0046】
そして、これら一連の処理(前段色信号処理)が施されたデジタル画像データは、イメージ圧縮伸張処理部50に入力される。
【0047】
イメージ圧縮伸張処理部50は、印刷イメージをたとえばJPEGやPNGなどの圧縮画像フォーマットで圧縮し、不揮発性の記憶媒体の一例であるハードディスク装置(HDD)54に一時的に格納(圧縮保存)したり、圧縮保存された印刷イメージを伸長するために使用する。このため、イメージ圧縮伸張処理部50は、たとえば、パラメータ設定部51、符号化部52、書込部53、復号化部56、および読出部57を備える。
【0048】
パラメータ設定部51は、符号化部52における符号化の際の圧縮パラメータを決定する。次にパラメータ設定部51は、決定した各色成分用の符号化パラメータを、対応する色成分用の符号化部52およびに復号化部56に入力する。
【0049】
符号化部52は、設定された符号化パラメータを用い、たとえばDCT(Discrete Cosine Transform )などの直行変換符号化やベクトル量子化などの方法により符号化して非可逆圧縮して符号化画像データ(符号化色信号)を生成する。この後、書込部83は、符号化部52により非可逆圧縮されたY,M,C,Kの各色の符号化画像データを、画像格納部の一例であるハードディスク装置54に略同時に書き込む。
【0050】
次いで、プリントエンジン70の図示しない先端検出器からの先端検出信号(副走査方向の印字始点を示す信号)に同期して、読出部57がハードディスク装置54からY,M,C,Kの各色の符号化画像データを順次一定間隔をおいて読み出して復号化部56に入力する。復号化部56は、ハードディスク装置54から順次一定間隔をおいて読み出されたY,M,C,Kの各色の符号化画像データを、パラメータ設定部51により設定された符号化パラメータを用い、符号化部52における符号化に対応する復号化をして、元の画像データ(復号化色信号)に戻す。
【0051】
後段色信号処理部60は、イメージ圧縮伸張処理部50からのデジタル画像データに対して印刷出力用の色補正処理を施し(これを特に後段の色補正処理という)、この色補正処理が施されたデジタル画像データに基づいて、印刷用の2値化データを生成し画像形成ユニット32に渡す。このため、後段色信号処理部60は、画像編集部62、MTF補正部64、出力階調補正部66、および中間調生成部68を有する。
【0052】
画像編集部62は、イメージ圧縮伸張処理部50からのデジタル画像データ(CMYKなど)に応答して作成される出力画像のトナー像を調整するために、色分解の直線化または同様の処理をする。また、画像編集部62は、エッジ強調用空間フィルタを用いて、復号化部56から順次一定間隔をおいて読み出されたY,M,C,Kの各色の復号化画像データを、エッジ強調処理することで、画像のシャープネスを調整する。
【0053】
MTF補正部64は、画像の空間周波数特性を補正する。出力階調補正部66は、エッジ強調およびMTF補正されたY,M,C,Kの各色のデジタル画像データを、たとえばルックアップテーブルを参照しガンマ補正する。また、出力階調補正部66は、プリント出力信号処理系統の内部の特性値である濃度あるいは明度を表す各色の画像データY,M,C,Kを、プリントエンジン70の特性値の面積率に応じて、色補正処理(TRC処理;Tone Reproduction Correction)する。
【0054】
中間調生成部68は、前述の各処理が施されたデジタル画像データに基づいて、ハーフトーニング処理をして疑似中間調画像を表す2値化データを得、この2値化データを画像形成ユニット32に渡す。
【0055】
画像形成ユニット32は、その主要部であるプリントエンジン70と、このプリントエンジン70の主にメカニカルな動作を制御するためのIOTコントローラ72とを有する。
【0056】
画像形成ユニット32の主要部であるプリントエンジン70は、たとえば電子写真プロセスを利用するものであるのがよい。電子写真プロセスを利用するものの場合、プリントエンジン70は、光走査装置を備える。たとえばプリントエンジン70は、光ビームを発するレーザ光源74と、後段色信号処理部60から出力された印刷用の2値化データに従ってレーザ光源74を制御すなわち変調するレーザ駆動部76と、レーザ光源74から発せられた光ビームを感光性部材(たとえば感光体ドラム)79に向けて反射させるポリゴンミラー(回転多面鏡)78とを有する。
【0057】
この構成により、プリントエンジン70は、レーザ光源74が発生する光ビームをポリゴンミラー78上の複数の面で反射させて感光性部材79を露光し、スキャン走査によって感光性部材79上に潜像を形成する。潜像が形成されると、当該技術分野で公知の多数の方法のうち任意の方法に従って像を現像し、さらに所定の印刷媒体に転写してカラー画像を可視像として出力する。
【0058】
得られた印刷物は、図示しない定着器により定着され、印刷用紙は両面複写のために両面複写ユニット34(図1参照)により裏返されるか、または直ぐに排紙ユニット36(図1参照)へ引き渡され排紙される。
【0059】
なお、プリントエンジン70は、前述のように、電子写真方式のものに限らず、たとえば感熱式プリンタやインクジェットプリンタまたは粒子線写真プリンタなどで実施することもできる。
【0060】
図3は、図1に示した画像出力端末7における、画像の圧縮/伸張処理に関わる機能部分と、電源管理に関わる機能部分とに着目した、ハードウェア構成のブロック図である。
【0061】
画像出力端末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が設けられる。
【0062】
CPU120は、この画像出力端末7全体の動作制御およびデータ処理を実行するメインコントローラであり、オペレーティングシステムOSの制御下で、各種プログラムを実行するようになっている。このCPU120としては、パワーマネージメント割込PMI(Power Management Interrupt)をサポートするものが使用される。この場合、CPU120は、アプリケーションプログラムやオペレーティングシステムOSなどのプログラムを実行するための動作モードとして通常動作モードの他、パワーマネージメント管理モードPMM(Power Management mode )と称される電源管理機能を実現するための動作モードを有している。
【0063】
メインメモリ130は、CPU120が実行するプログラムをロードしたり、作業領域として使用するためのRAM(random access memory)などの揮発性の半導体メモリである。メインメモリ130内にプログラムコードやデータが収まりきらなくなった場合には、仮想メモリシステムとファイルシステムとの協調動作によって、ハードディスクなどの補助記憶装置との間で入れ替え(スワッピング)が行なわれるようになっている。
【0064】
ROM132は、システムBIOSなど不揮発性を要するデータを記憶するためのものであり、プログラム書替えが可能なようにフラッシュメモリなどの不揮発性の半導体メモリによって構成されている。
【0065】
また、ROM132には、BIOSドライバ群の他に、PM(Power Management)イベントハンドラやハイバネーションルーチンあるいは再起動ルーチンなどのパワーマネージメント管理モードPMMの中で実行される電源管理プログラム(後述する図8や図9などを参照)など、不揮発性を必要とするプログラムが格納されている。PMイベントハンドラは、割込コントローラ154からのパワーマネージメント割込PMIの発生要因に応じて各種PMIサービスルーチンを起動するためのものである。
【0066】
ハードディスク装置54は、図2にても述べたように、データ圧縮された印刷イメージデータを保存する画像記憶部としても使用される他に、この画像出力端末7の補助記憶装置(2次記憶部)としても使用されるものである。このハードディスク装置54の記憶エリアの一部にはハイバネーションボリュームとハイバネーションパワーオフシグネチャ設定エリアとハイバネーション完了フラグ設定エリアとが確保される。ハードディスク装置54へのアクセスは、オペレーティングシステムOSの一部であるファイルシステムの制御下に置かれる。
【0067】
ハイバネーションボリュームとハイバネーションパワーオフシグネチャ設定エリアとハイバネーション完了フラグ設定エリアとは、ハードディスク装置54の初期化およびテスト時にシステムBIOSによって確保され、これらハイバネーションボリュームなどを除く他の記憶領域がOSに解放される。
【0068】
DMAコントローラ150は、CPU120の介在無しにメインメモリ130と周辺デバイスとの間でのデータ転送を行なわせるための周辺コントローラである。
【0069】
I/Oコントローラ152は、シリアルポートやパラレルポート経由で、図示しないパソコン(図1参照)などのホスト装置としての画像入力端末3のデータ入出力を制御するための周辺コントローラである。
【0070】
発振器160は、CPU120などのような同期駆動するデバイスや、タイマ機能を持ったデバイスに対してクロック信号を与えるための機能部である。
【0071】
リアルタイムクロック162は、一定時間間隔の信号を発生する、実時間計測のための機能部(時計モジュール)である。このリアルタイムクロック162は、図中点線で示すように、独自の電池によりバックアップされたCMOSメモリ164を有する構成としてもよい。この場合、CMOSメモリ164には、パワーアップモードとしてブートモードとレジュームモードを選択するための情報などを含むシステムコンフィグレーション情報と、ハイバネーション完了フラグなどを設定することができる。なお、CMOSメモリ164を備えない構成とする場合、このCMOSメモリ164のメモリ機能をハードディスク装置54にて実行する。
【0072】
ブートモードは、画像出力端末7がパワーオンされたときに通常通りオペレーティングシステムを立ち上げるためのブートストラップ(Bootstrap )処理を起動するモードである。また本実施形態のレジューム(Resume)モードは、電源オフ時にハイバネーション処理を実行し、画像出力端末7がパワーオンされたときに、ハードディスク装置54にセーブされている内容を元のメインメモリ130およびCPU120などにリストアするモード(ハイバネーション機能による再起動モード)である。
【0073】
本実施形態においては、パワーマネージメント管理モードPMMにおいて、ハイバネーションルーチンなどの電源管理プログラムが実行される。また、パワーマネージメント割込PMIは、優先度の高い最優先度の割り込みである。このパワーマネージメント割込PMIを発行することによって、電源管理プログラムを、実行中のアプリケーションプログラムやオペレーティングシステムOSの環境に依存せずに起動することができる。
【0074】
たとえば、PMイベントハンドラは、電源オフ操作に起因するパワーマネージメント割込PMIが発生した場合にはハイバネーションルーチンを起動し、他の要因によるパワーマネージメント割込PMIが発生した場合にはその要因に対応するPMIサービスルーチン、たとえば通常の電源オン/オフ処理ルーチンを起動する。すなわち、電源管理管理割込みPMIがCPU120に発行されたとき、CPU120の動作モードは、そのときの動作モードである通常動作モードから、PMイベントハンドラに制御がスイッチされる。
【0075】
電源管理管理割込みPMIによってパワーマネージメント管理モードPMMにスイッチすると、CPU120は、その時点のCPUレジスタの内容であるCPUステータスをメインメモリ130の予め定められている記憶領域(ワークエリア)にセーブする。そして、ハイバネーションルーチンを起動し、メインメモリ130の前記ワークエリアにセーブした内容を、ハードディスク装置54の予め定められているハイバネーション記憶領域に格納する。
【0076】
このように、メインメモリ130にハイバネーション処理用のワークエリアを設けるのは、ハイバネーションルーチン処理の際にもメインメモリ130を利用可能とするためである。なお、CPU120内の内部メモリだけでハイバネーションルーチン処理が可能であれば、電源管理管理割込みPMIがあった時点のメインメモリ130の全内容を、ハードディスク装置54のハイバネーション記憶領域に直ちに格納すればよい。
【0077】
なお本実施形態では、パワーマネージメント管理モードPMMにおいて復帰命令が実行されると、CPU120はハードディスク装置54の前記ハイバネーション記憶領域からCPUレジスタにCPUステータスをリストアし、パワーマネージメント割込PMI発生前の動作モードに復帰するようにする。
【0078】
EEPROM170は、再書き込み可能な不揮発性半導体メモリであり、システムの機密保全に必要な情報を保管するために設けられている。
【0079】
電源管理処理制御部200は、パワーマネージメント割込PMI発生制御のためのハードウェア部分であり、電源コントローラ(PSC;Power Supply Controller )210、電源管理起動部220、および電力制御レジスタ230を有する。電源コントローラ210には、メカニカルな電源スイッチ212や操作パネル14(図1参照)を介したソフト的な電源スイッチ(パネルスイッチ)214から電源オンオフ信号が入力される。
【0080】
電源管理起動部220は、電源コントローラ210を介して電源スイッチ212の押下または操作パネル14上のソフト的な電源スイッチ214によって電源のオンオフ操作があったことを通知されたとき、電源管理処理を起動するためのパワーマネージメント割込PMI信号を発生する。
【0081】
なお、この電源管理起動部220は、電源コントローラ210を介したパワーマネージメント割込PMI発生制御だけでなく、他の要因によるパワーマネージメント割込PMI信号も発する。たとえば、ソフトウェアからのパワーマネージメント割込PMIや外部入力パワーマネージメント割込PMIなどである。
【0082】
電力制御レジスタ230は、パワーマネージメント割込PMI発生要因を示すステータスデータを保持するためのものである。この電力制御レジスタ230は、パワーマネージメント割込PMI信号が発せられると、そのパワーマネージメント割込PMI信号をCPU120に供給する。そして、電力制御レジスタ230は、CPU120がパワーマネージメント管理モードPMMを抜けるまでパワーマネージメント割込PMI信号をアクティブステートに維持し続ける。
【0083】
図4は、ソフトウェアの構成との関係におけるCPU120の働きを説明する図である。この図4に示すようなソフトウェア構成自体は、よく知られた技術である。
【0084】
たとえば、デバイスドライバは、最下層のソフトウェアである。デバイスドライバは上位のソフトウェア(オペレーティングシステムなど)が発行するコマンドを各デバイスドライバ固有のハードウェアを駆動するのに適した形式に変換する。デバイスドライバは、通常周辺のハードウェア装置(デバイス)、たとえばHDDコントローラやプリントエンジンごとに設けられている。
【0085】
デバイスドライバの中には、対応するデバイスをタイムクリティカルに駆動する部分が含まれている。そのため、デバイスドライバの内のタイムクリティカルに駆動する部分は、通常メインメモリ130上に常駐するようになっている。そして、このタイムクリティカルに駆動する部分を除く各デバイスドライバは、補助記憶装置としてのハードディスク装置54から適宜メインメモリ130にロードされる。
【0086】
システムBIOSは、画像出力端末7内の各種ハードウェアをアクセスするファンクション実行ルーチンを体系化したものである。システムBIOSには、画像出力端末7の通常のパワーオンオフ時に実行される起動停止処理ルーチンや、その時点の状態から再起動させるためのハイバネーション処理ルーチンと、各種ハードウェア制御のためのBIOSドライバ群などが含まれている。各BIOSドライバは、ハードウェア制御のための複数の機能をオペレーティングシステムOSやアプリケーションプログラムに提供するためにそれら機能に対応する複数のファンクション実行ルーチン群を含んでいる。
【0087】
オペレーティングシステムOSは、ハードウェアおよびソフトウェアを総合的に管理するための基本ソフトウェアである。オペレーティングシステムOSは、通常カーネル領域とユーザ領域で構成される。
【0088】
カーネル領域とは、システム全体の動作を監視して、アプリケーションなどの各種プログラムの実行を支援するための各基本機能が集まった部分である。カーネル領域のコア部分(カーネルコア)には、補助記憶装置としてのハードディスク装置54へのファイル記録などを管理するためのファイルシステム、タスク実行の順序や優先度を管理するタスク管理、メモリ領域の割当て行なうためのメモリ管理などを含んでいる。
【0089】
カーネルコアの部分は、タイムクリティカルな処理を行なうので、その作業データとともに物理メモリに常駐するようになっている。これらは仮想記憶システム下でも、常にメインメモリ130に常駐する。
【0090】
一方、ユーザ領域とは、主にユーザが選択したアプリケーションを支援するための機能からなる。ユーザの指令を解釈してカーネルコアに伝えるとともに、カーネルコアからの応答をユーザに伝えるためのコマンド言語インタプリタは、このユーザ領域に含まれる。
【0091】
ユーザ領域は、カーネルとユーザの間に介在する部分であり、タイムクリティカルなプログラムはない。したがって、メインメモリ130上に常駐させておく必要はない。これらは補助記憶装置としてのハードディスク装置54に適宜スワップアウトされてもよい。
【0092】
最上位層のアプリケーションプログラムは、システムの実務的な目的のために使用するプログラムである。たとえば、画像出力端末7を印刷装置として利用する場合においては、PDLデータなどのページ記述言語を解釈し印刷イメージに変換するデコンポーザ(描画展開部)などがこれに含まれる。これらアプリケーションは物理メモリ上に常駐する必要はなく適宜補助記憶装置としてのハードディスク装置54へスワップアウトさせてもよい。
【0093】
また、本実施形態の画像出力端末7は、前述のように複合機として構成されているとともに、現在市販されている他の多くのPCと同様に、仮想記憶なる技術を採用している。
【0094】
仮想記憶とは、ハードディスク装置54などの補助記憶装置に対して論理的なアドレス(仮想アドレス)を割り振ることによって、その論理的なアドレスを、限られた空間(領域)しかないメインメモリ130の一部の領域であるかごとく扱う技術である。仮想メモリ空間は、たとえば4GB程度などの広い領域を持つ。仮想記憶によって、アプリケーション側から見たメインメモリ130の容量を現実の物理的大きさ(たとえば32MB)よりも見かけ上大幅に超える領域にまで拡大させることができ、大規模プログラムやデータを扱うことができる。上述したプログラムやその作業データは、仮想記憶システム下では仮想アドレスが割り当てられている。
【0095】
図5は、仮想記憶システムの一例を示した模式図である。メインメモリ130の物理的な容量はたとえば32MB程度であり、これに対し仮想メモリは4GB程度の広大な空間である。当然仮想アドレスの一部の領域しかメインメモリ130上には存在できない。すなわち、仮想アドレスはメインメモリ130上に存在している場合もあるし補助記憶装置に既にスワップアウトされたページもある。
【0096】
仮想メモリアーキテクチャにおいて、これを利用するアプリケーションに対しては、仮想アドレスである論理アドレスを提供する。つまり、アプリケーション側がメインメモリ130に対しての読み書きを行なう場合には、この論理アドレスを用いる。そして、論理アドレスによって構成される空間を仮想メモリ空間という。これに対して、実際にメインメモリ130の素子に付けられている物理アドレス(実アドレス)の存在も必要不可欠となる。この実アドレスによって構成される空間を実メモリ(real memory )空間という。アプリケーション側は、この実アドレスを知る必要はない。
【0097】
このように、論理アドレスと物理アドレスという2つのアドレスが存在することによって仮想メモリが実現する。2つのアドレスの関連づけをメモリマッピング(memory mapping)という。仮想メモリへのアクセスは、CPU120の果たす重要な機能の1つであるメモリ管理とオペレーティングシステムOSが協調して実現する。殆どのCPU120はメモリ管理ユニットMMU(Memory Management Unit)を内蔵、または別チップで用意する。
【0098】
メモリ管理ユニットMMUには2つの機能がある。メモリマッピング(写像/アドレス変換ともいう)を利用した仮想アドレスの参照という形態で行なわれる仮想記憶制御機能と、メモリ保護機能である。メモリマッピングとは、仮想アドレスをデータが実際に入っている物理アドレスに変換して、仮想メモリ空間へアクセスを可能にすることである。
【0099】
メモリ管理の他の機能であるメモリ保護は、仮想メモリ空間の各ページフレームのメモリ使用情報を管理することである。ここでメモリ使用情報とは、ページフレームが有効かあるいは無効かいうことを示す。仮想アドレスに対応する物理アドレスや、ページフレームデータベースの内容は、ページのスワッピングの際に変動する場合がある。メモリ管理では変更が生じる都度、これらの内容を更新するようになっている。
【0100】
メモリマッピングにおいては、たとえば、プログラムが論理アドレス空間にアクセスしようとすると、CPU120は、論理アドレスを物理アドレスに変換し(マッピングし)、変換した物理アドレスを含むブロックが物理メモリ上に存在するかどうかチェックする。そして、マッピングの結果参照されたブロックが存在するときは、メモリ管理ユニットMMUに主記憶アクセスを要求する。このようにして、マッピングの結果参照された仮想アドレスが物理メモリ上にあれば、物理メモリ上の該当アドレスのデータをそのまま要求元に渡してやる。
【0101】
一方、物理メモリに存在しないとき(フォールトという)は、CPU120は、オペレーティングシステムOSに制御を渡す。オペレーティングシステムOSは、必要なブロックを補助記憶装置(本例ではハードディスク装置54)から物理メモリに持ってきてから制御をCPU120に戻す。つまり、仮想アドレスがメインメモリ上に存在しない場合には、ファイルシステムに対して対応のアドレスデータをメインメモリ上にスワップインすることを要求する。
【0102】
このときメインメモリ130が既に他の有効ページで溢れている状態であれば、オペレーティングシステムOSは、スワップインのためのページを確保するべく、他の幾つかのページを補助記憶装置にスワップアウトする(不必要なブロックと入れ替える)ようファイルシステムに要求する。
【0103】
またメモリマッピングにおいては、仮想メモリ空間(論理アドレス空間)を複数のブロック(小片)に分割して管理することが多く、一般的には可変長サイズのページ(page)、あるいはページを複数組み合わせた可変長サイズのセグメント(segment ;複数のページの集合体)という単位で分割されて取り扱われる。
【0104】
そして、メモリマッピング手法には、たとえば、ページング(paging)方式、セグメンテーション(segmentation)方式、ページセグメンテーション(paged segmentation)方式の3つの方式が代表的なものである。ページング方式とセグメンテーション方式は、一長一短があり、セグメント方式はプログラムからは扱いやすいが、物理メモリの使用効率が落ちる一方、ページング方式はその逆である。このため両方式を併用するようにした方式がページセグメンテーション方式である。
【0105】
たとえばページング方式は、プログラムをその論理的意味とは無関係に、仮想メモリ内をページという固定長の単位で区分けし、この単位にマッピングを行なう手法である。スワッピングはページ単位で行なう。ページング方式は、構造的にシンプルであるためメモリ管理を容易に行なうことができ、メインメモリサイズを超えた仮想メモリ空間も複数ページを組み合わせて実現することができる。
【0106】
図6は、ページング方式を使用したメモリマッピングの仕組みを説明する図である。ページング方式を採用した場合の仮想記憶システム下では、仮想ページの物理メモリ中の位置を掌握するために、たとえば図6のような構造のページテーブルを生成する。図6において、1つの仮想アドレスは、32Bitで形成されるが、上位10ビットはディレクトリオフセットを、次の10ビットはページテーブルオフセットを、残りの12ビットはページオフセットをそれぞれ格納するためのフィールドである。
【0107】
ディレクトリオフセットはページディレクトリの先頭アドレスに対するオフセット値であり、ページディレクトリ中の該当するレコードには対応するページテーブルの先頭アドレスが記録されている。
【0108】
ページテーブルオフセットは、ページテーブルの先頭アドレスに対するオフセット値であり、ページテーブルの中の該当するレコードに対応するページフレームの先頭アドレスと、該ページのフレームの属性情報とが記録されている。
【0109】
ページオフセットは、ページフレームの先頭に対するオフセット値であり、物理アドレスの下位ビットそのものである。つまり、“ページフレームの先頭アドレス”+“ページオフセット”が現実の物理アドレスを表す。
【0110】
ページフレームは、物理アドレス上のページそのものであり、その内容は実際のコードやデータである。
【0111】
ディレクトリオフセットには10ビットが割り当てられているので、1024(=210)個のページテーブルをアドレス可能である。また、ページテーブルには10ビット割り当てられているので1024(=210)個のページフレームをアドレス可能である。また、1個のページフレームは、4KBの大きさを持っている。オペレーティングシステムのカーネルの一部であるメモリ管理では、上述したページテーブルを適宜利用できるようになっている。
【0112】
図7は、図1に示した画像出力端末7における電源管理手法において、ハイバネーションルーチンで実行されるハイバネーション処理の原理を説明する図である。
【0113】
ハードディスク装置54には、メインメモリ130の内容が格納される領域であるハイバネーションボリュームが確保される。また、ハイバネーション処理では、ワークエリア130aを含むメインメモリ130の内容が補助記憶装置としてのハードディスク装置54のハイバネーションボリュームにセーブされるが、このとき、セーブ対象となる全メモリ空間(メモリイメージ)は、複数のメモリブロック(本実施形態ではメインメモリ130のページ単位相当)に分割され、ページ単位でハードディスク装置54にデータ転送が行なわれる。
【0114】
また、本実施形態においては、装置の作動状態から復帰させるための通常のハイバネーションモードの他に、ハイバネーション機能を利用して初期状態で電源起動するための拡張ハイバネーションモードが用意されている。通常のハイバネーションモード時には、ハードディスク装置54上の通常のハイバネーションボリュームが記録領域として利用されるのに対して、拡張ハイバネーションモード時には、初期起動用のハイバネーションボリュームや初期起動スワップデータエリアや関連するデータエリアが初期起動データを格納する記録領域として利用される。初期起動データは、装置を従来と同様の手順に従って初期起動した略直後における装置の作動状態を示すデータであって、初期起動した略直後におけるメインメモリ130の記憶内容や初期起動時にハードディスク装置54にスワップアウトされたデータなどである。
【0115】
初期起動データ領域は、装置における一般的なデータ処理時や通常のハイバネーションモード時にはアクセスされないよう保護する。また、この初期起動データ領域に保持されるデータは、装置のハードウェア環境やインストールされているソフトウェアに変更が生じた際には、適宜更新されるようにする。
【0116】
図7においては、説明を簡単にするために、セーブ対象となる全メモリ空間がメモリページ#1からメモリページ#7の7個のメモリページに分割されている場合を例示している。メモリページ#6および#7は、ハイバネーション処理時のワークエリア130aである。ハードディスク装置54へのデータ転送処理は、メモリページ#1からメモリページ#7の順番で実行される。1つのメモリページの転送が完了すると、次のメモリページのデータをハードディスク装置54に転送する処理を開始する前に、ハードウェアステータスのチェックを行なう。このハードウェアステータスのチェックは、ユーザから所定の入力イベントがハイバネーション処理期間中に発生されたか否かを検出するためのものである。
【0117】
所定の入力イベントの発生が検出されたときは、ハイバネーション処理はその時点で中断され、CPU120および他のハードウェアは全てパワーマネージメント割込PMI信号発生前の状態に復元され、割込み元のプログラムに制御が戻される。入力イベントとしては、図示しないキーボードからのキー入力、ポインティングデバイスの操作、操作パネル14へのタッチなどを利用することができる。これらは、それぞれキーボードコントローラのキーバッファをリードしたり、電源コントローラ210のステータスレジスタをリードすることなどによって検知することができる。
【0118】
図8は、電源制御処理手順の一例を示すフローチャートである。CPU120は、電源オフ指令の割込みがあるまで電源制御処理を待機している(S100−NO)。任意の稼働状態ある画像出力端末7に対してユーザからの電源オフ指令の割込みがあると、あるいはタイマ設定などにより自動的に電源オフ指令の割込みがあると、CPU120は、電源オフ処理ルーチンを起動する(S100−YES,S102)。電源オフ処理ルーチンを起動したCPU120は、最初に、次の電源オン時のパワーアップモードを判定する(S104)。
【0119】
そして、装置の作動状態からの復帰である通常のハイバネーションモード(通常HBモード)の場合には、CPU120は、ハイバネーション機能を利用した電源オフ処理ルーチンを起動し(S110)、所定の手順を経た後画像出力端末7のパワーをオフする(S112)。そして、次に電源オン指令があるまで待機する(S114−NO)。電源オン指令があると、CPU120は、通常ハイバネーションモードの電源オン処理ルーチンを起動する(S114−YES,S116)。
【0120】
また、ハイバネーション機能を利用して装置を初期状態に起動する拡張ハイバネーションモード(拡張HBモード)の場合には、CPU120は、ハードディスク装置54上の初期起動データ領域の初期起動ハイバネーション完了フラグをセットする。そして、画像出力端末7のパワーをオフし(S122)、次に電源オン指令があるまで待機する(S124−NO)。電源オン指令があると、CPU120は、拡張ハイバネーションモードの電源オン処理ルーチンを起動する(S124−YES,S126)。
【0121】
また、従来から行なわれているように、基本的な手順を踏んで装置を初期状態に起動する初期化モードの場合には、CPU120は、通常の電源オフ処理ルーチンを起動し(S130)、通常の手順を経た後画像出力端末7のパワーをオフする(S132)。そして、次に電源オン指令があるまで待機する(S134−NO)。電源オン指令があると、CPU120は、通常の電源オン処理ルーチンを起動を起動して装置を初期化する(S134−YES,S136)。つまり、従来と同様の手順に従って、オペレーティングシステムOSを起動する。
【0122】
この初期化の後、装置のハードウェア環境やインストールされているソフトウェアに変更が生じていないか否かを判定する(S138)。変更がある場合には、CPU120は、ハイバネーション機能を利用した初期化イメージデータ更新処理ルーチンを起動する(S138−YES,S140)。
【0123】
すなわち、通常ハイバネーションモードにおける処理と略同様にして、初期化直後のメインメモリ130のメモリイージをハードディスク装置54の初期起動データ領域におけるハイバネーションボリュームに記録する(図7参照)。また、この通常の初期化起動の際に、メインメモリ130からハードディスク装置54にスワップアウトさせたデータを、初期起動データ領域における初期起動スワップデータエリアにコピーする(図7参照)。さらに、この通常の初期化起動の際のシステムのコンフィグレーションデータ(ハードウェア情報)をハードディスク装置54に転送して、初期起動データ領域における初期起動ハイバネーションパワーオフシグネチャ設定エリア(図7参照)に記録する。
【0124】
図9および図10は、ハイバネーション処理、すなわち通常もしくは拡張ハイバネーションモードにおけるパワーマネージメント割込PMI信号の発生からハイバネーションルーチンが起動されるまでの一連の動作を説明する図である。ここで、図9は、ハイバネーション処理に関わるメインメモリ130とROM132との関係を示した図、図10ハイバネーション処理手順の一例を示したフローチャートである。
【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】
たとえば、図9に示すように、パワーマネージメント管理モード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)。この際、通常HBモードであるのか拡張HBモードであるのかに応じて、ハイバネーションボリュームを確保する領域を切り替える(図7参照)。
【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】
これに対して、通常HBモードや初期起動データの更新時におけるハイバネーション処理中に入力イベントが発生せずに全てのメモリページの転送が完了した場合には、PMコアは、最後に、システムのコンフィグレーションデータ(ハードウェア情報)をハードディスク装置54に転送して、ハイバネーションモードによるパワーオフが有効であることをハードディスク装置54のハイバネーションパワーオフシグネチャ設定エリア(図7参照)に記録する(S270)。拡張HBモードの際には、この処理をパスする。
【0142】
また、通常HBモードにおけるハイバネーション処理中であれば、PMコアは、リアルタイムクロック162がCMOSメモリ164を備えているときには、このCMOSメモリ164にハイバネーション完了フラグをセットし(S272)、そうでないときにはハードディスク装置54のハイバネーション完了フラグ設定エリア(図7参照)にハイバネーション完了フラグをセットした後(S274)、電源コントローラ210にパワーオフコマンドを送って画像出力端末7をパワーオフさせる(S276)。
【0143】
このように、本実施形態では、ハイバネーション期間中に定期的にハードウェアステータスをチェックすることによりユーザからの所定の入力イベントの有無を調査し、入力イベントの発生が検出された時点でハイバネーション処理を中断して画像出力端末7をパワーマネージメント割込PMI信号発生前の作業状態に復元するようにした。このことにより、ユーザは、一旦ハイバネーション処理が開始された後においても、キー入力などを行なうことにより、ハイバネーション処理の完了を待つことなく即座にそれまでの作業を継続することが可能となる。
【0144】
図11は、本実施形態におけるハイバネーション機能を利用した電源起動制御装置を説明する図である。ここで、図11(A)は、その機能ブロック図、図11(B)は、メインメモリ130の内容と圧縮方法とを対応付けた表の一例を示す図である。
【0145】
図11(A)に示すように、電源起動制御装置は、メモリイメージを格納するハードディスク装置54と、メインメモリ130と、初期起動データ保存制御部および圧縮保存制御部の一例であるメモリイメージ保存制御部300と、初期起動データ回復制御部および伸張回復制御部の一例であるメモリイメージ回復制御部310と、圧縮伸張処理部320と、初期起動データ更新制御部330とを備える。
【0146】
圧縮伸張処理部320は、CPU120を使用して圧縮処理をするCPU圧縮部322と、これに対応して、CPU120を使用して伸張処理をするCPU伸張部324とを有する。
【0147】
また圧縮伸張処理部320は、イメージ圧縮伸張処理部50の符号化部52(図2参照)を使用して圧縮処理をする印刷イメージ圧縮部326と、これに対応して、イメージ圧縮伸張処理部50の復号化部56を使用して伸張処理をする印刷イメージ伸張部328とを有する。
【0148】
メモリイメージ保存制御部300は、圧縮伸張処理部320のCPU圧縮部322や印刷イメージ圧縮部326を制御して、メインメモリ130の内容をページごとにハードディスク装置54にセーブする。また、メモリイメージ回復制御部310は、圧縮伸張処理部320のCPU伸張部324や印刷イメージ伸張部328を制御して、ハードディスク装置54からメモリイメージを読み出してメインメモリ130に戻す。
【0149】
本実施形態では、オペレーティングシステムOSのカーネルコア部が、メモリイメージ保存制御部300やメモリイメージ回復制御部310あるいは初期起動データ更新制御部330の各機能をなす。ただし、これに限らず、専用のハードウェアにてこれらを構成してもよい。
【0150】
メモリイメージ保存制御部300は、記憶内容解析部の機能も備えており、メインメモリ130に記憶されている記憶内容がイメージ圧縮伸張処理部50の符号化部52にて圧縮処理可能であるか否かをメモリページごとに解析し、その結果を纏めた表(圧縮方法テーブル)を作成する。
【0151】
圧縮効率を考えた場合、メインメモリ130の内容に応じて圧縮方法を選択できることが望ましい。特に印刷装置などの専用システムでは、メインメモリ130の内容の一部は、予測が可能であり、記憶内容に応じてCPU圧縮や印刷イメージ圧縮を切り替える、あるいは圧縮フォーマットを切り替えることが容易にできる。
【0152】
なお、本実施形態においては、メインメモリ130中の所望のデータを補助記憶装置の一例であるハードディスク装置54にセーブする際には、メインメモリ130中のデータが、たとえばプログラムのテキスト部分のように、セーブしなくてもハイバネーションモードから復帰した後に再読み込み可能なページはセーブしない。
【0153】
このため、オペレーティングシステムOSのカーネルコア部は、セーブされるメモリページに対し、仮想アドレスを管理しているメモリ管理からのページ属性情報とアプリケーションプログラムからのページ情報とに基づいて、図11(B)に示す圧縮方法の表を作成する。圧縮方法としては、メインメモリ130のページごとに、圧縮不要、CPU圧縮、印刷イメージ圧縮の3種類に区分けする。
【0154】
そして、メモリイメージのハードディスク装置54への転送格納の際には、メモリイメージ保存制御部300は、作成した圧縮方法テーブルを参照して、CPU圧縮部322と印刷イメージ圧縮部326とを切り替えながら、メモリイメージを圧縮してハードディスク装置54に保存する。
【0155】
また、メモリイメージ回復制御部310は、圧縮処理に使用したCPU圧縮部322と印刷イメージ圧縮部326に対応して、伸張処理可能なCPU伸張部324と印刷イメージ伸張部328とを切り替えながら、ハードディスク装置54から読み出した情報を伸張してメインメモリ130にメモリイメージを戻すことで、画像出力端末7の作動状態を復元する。
【0156】
なお、図7の説明にても述べたように、本実施形態においては、装置の作動状態から復帰させるための通常のハイバネーションモードの他に、ハイバネーション機能を利用して初期状態で電源起動するための拡張ハイバネーションモードが用意されており、何れのハイバネーションモードであるのかに応じて、ハードディスク装置54におけるハイバネーションボリュームなどの記録領域を切り替えて使用する。
【0157】
初期起動データ更新制御部330は、ハードディスク装置54上の拡張ハイバネーションモード時に利用される初期起動データ領域が、装置における一般的なデータ処理時や通常のハイバネーションモード時にはアクセスされないよう保護する。また、初期起動データ更新制御部330は、装置のハードウェア環境やインストールされているソフトウェアに変更が生じた際には、初期起動データ領域に保持されるデータを適宜更新するよう制御する。
【0158】
図12は、図11に示した構成における圧縮処理手順の一例を示すフローチャートである。
【0159】
カーネルコア部は、先ず、処理対象のページデータが圧縮を要するか否かを判定する(S300)。そして、圧縮を必要としない場合には、CPU120は、「圧縮不要」を指定し、表に書き込む(S300−NO,S310)。一方、圧縮した方がデータ量が少なくなるデータである場合には、「圧縮する」ことを選択する(S300−YES,S320)。
【0160】
そして、「圧縮する」ことを選択する場合において、ページデータが、このページデータの圧縮処理に画像出力端末7が備えるイメージ圧縮伸張処理部50を利用可能なデータである場合には、圧縮方法として印刷イメージの圧縮方法と同じ方法を指定する(S322−YES,S324)。それ以外の「圧縮する」ことを選択するページデータについては、CPU圧縮を指定する(S324−NO,S326)。こうすることで、たとえばメインメモリ130のページデータが画像データである場合には、印刷イメージ圧縮の専用プロセッサを圧縮処理に使用することができるようになる。
【0161】
ハイバネーション処理におけるメモリページのセーブに際しては、メインメモリ130の内容(メモリデータ)のページ圧縮方法を表に従って切り替えながらハードディスク装置54にメインメモリ130の内容をページごとにセーブする。このとき、圧縮方法として印刷イメージの圧縮方法と同じ方法が指定されることがあり、その場合は印刷イメージ圧縮の専用プロセッサを圧縮に使用する(図11(B)参照)。
【0162】
すなわち、CPU120は、先ず、前述のようにして作成した表を参照して、処理対象のページデータの圧縮の要否を判定する(S330)。「圧縮不要」が指定されていると、カーネルコア部は、そのページデータをそのままハードディスク装置54に格納する(S330−NO,S340)。
【0163】
一方、「圧縮要」が指定されていると、カーネルコア部は、さらに、圧縮方法として印刷イメージの圧縮が指定されているか否かを判定する(S330−YES,S350)。
【0164】
CPU120による圧縮処理を示す「CPU圧縮」が指定されていると、CPU120を使用してページデータを圧縮する(S350−NO,S360)。次に、カーネルコア部は、圧縮データが非圧縮データより大きくなったか否かを判定する(S380)。そして、圧縮データが非圧縮データより小さくなった場合には、CPU120により圧縮処理された圧縮済のページデータをハードディスク装置54に格納し(S380−YES,S384)、圧縮データが非圧縮データより小さくなった場合には、非圧縮データすなわち元のページデータそのものをハードディスク装置54に格納する(S380−NO,S386)。
【0165】
一方、イメージ圧縮伸張処理部50による圧縮処理を示す「印刷イメージ圧縮」が指定されていると、イメージ圧縮伸張処理部50の符号化部52を使用してページデータを圧縮する(S350−YES,S370)。次に、カーネルコア部は、圧縮データが非圧縮データより大きくなったか否かを判定する(S380)。そして、圧縮データが非圧縮データより小さくなった場合には、符号化部52により圧縮処理された圧縮済のページデータをハードディスク装置54に格納する(S380−YES,S384)。逆に、圧縮データが非圧縮データより小さくなった場合には、非圧縮データすなわち元のページデータそのものをハードディスク装置54に格納する(S380−NO,S386)。こうすることで、メインメモリ130に印刷イメージが入っている場合に圧縮率を高めることができる。
【0166】
なお、ページデータの回復処理の際には、圧縮方法に対応した伸張処理をする必要がある。この場合、ハードディスク装置54から読み出したデータ内容を解析することで圧縮方法を特定してもよい。あるいは、圧縮方法を示す情報をページデータと対応付けてハードディスク装置54にセーブしたり、あるいは図11(B)で示す表をハードディスク装置54にセーブしてもよい。これらの場合、セーブしておいた情報を基にして簡単に圧縮方法を特定することができる。
【0167】
なお、圧縮保存方法では、ページデータの内容を圧縮保存時に調べながら、そのデータ形式に適した圧縮方法を決定する適応的(adaptive)な方法を選択するとよい。たとえば、パソコン3aで生成された文書ファイルの印刷イメージであれば、JPEG形式で圧縮し、FAX装置3eから受信したFAX画像であれば、TIFF形式で圧縮するなど適応的な方法を選択する。
【0168】
図13は、パワーオン時に、ハイバネーション処理でセーブされた内容を復元するレジューム処理手順の一例を示すフローチャートである。
【0169】
ハイバネーション処理(通常HBモードおよび拡張HBモードのいずれでもよい)に従った電源再起動は、メイン電源をオンすることによって始まる。すなわち、画像出力端末7がパワーオンされると、システムBIOSは、ブート直後にROM132に書かれたブートストラッププログラムを実行する(S400)。ブートストラッププログラムは、CMOSメモリ164もしくはハードディスク装置54のハイバネーション完了フラグ設定エリアをアクセスして、ハイバネーションモードによるパワーオフが有効かどうかをチェックする(S402)。すなわち、現在のパワーアップモードがレジュームモードとブートモード(従来同様の初期起動)のどちらに設定されているかを判断する。
【0170】
システムBIOSは、レジュームモードであれば、CMOSメモリ164やハードディスク装置54のハイバネーション完了フラグ設定エリアにハイバネーション完了フラグがセットされているか否かを調べることができる(S404)。
【0171】
ハイバネーションモードでない場合、すなわちパワーアップモードがブートモードの場合あるいはレジュームモードであってもハイバネーション完了フラグがセットされていない場合には、通常のブート処理(図8に示したS136〜S140の処理)を実施する。つまり、従来と同様の手順に従って、オペレーティングシステムOSを起動するブートストラップ処理を実行する(S404−NO,S406)。
【0172】
一方、通常のハイバネーションモードによる電源再起動(パワーオン)であった場合、システムBIOSは、そのハイバネーション完了フラグ設定エリアのシグネチャ(データ内容やフラグ)を消す(S404−YES,S408)。拡張ハイバネーションモードで再起動した場合には、この処理をパスする。
【0173】
次にシステムBIOSは、ハードディスク装置54のハイバネーションボリュームにセーブしておいたメインメモリ130の内容をメインメモリ130に書き込む処理(セーブ内容のロード処理)を起動する(S410)。この際、通常HBモードであるのか拡張HBモードであるのかに応じて、読み込むべきハイバネーションボリュームの位置を切り替える(図7参照)。
【0174】
また、このとき全ての内容を一度に復帰するのではなく、たとえばセーブしておいたコンフィグレーションデータ(ハードウェア情報)やオペレーティングシステムOSの常駐を必要とする部分など一部必要な部分のみを最初に復帰させる。さらにこのとき、セーブしておいたメインメモリ130の内容が圧縮されている場合は、圧縮方法に対応する解凍方法によって、CPU伸張部324もしくは印刷イメージ伸張部328により伸長しながらメインメモリ130へ書き込む(S412−YES,S414,S416)。圧縮されていない場合は、ハードディスク装置54から読み出したデータをそのままメインメモリ130へ書き込む(S412−NO,S416)。
【0175】
次にシステムBIOSは、パワーオン後のコンフィグレーションデータを調べる(S420)。そして、セーブしておいたコンフィグレーションデータ(ハードウェア情報)とパワーオン後に調べたコンフィグレーションデータを比較する(S422)。もし両者が違っている場合には、システムBIOSは、通常のブート(図8に示したS136〜S140の処理)を行なうようにする(S422−NO,S406)。
【0176】
両者が合致している場合には、システムBIOSは、次に、セーブしておいたメインメモリ130の内容全て(全ページデータ)を復帰させる(S422−YES,S430)。すなわち、システムBIOSは、ハードディスク装置54のハイバネーションボリュームの内容をそれぞれCPU120、各種ハードウェア、メインメモリ130にリストアする。
【0177】
通常HBモードによる電源再起動の場合には、装置使用時の作業途中でハイバネーション処理を起動したパワーマネージメント割込PMI発生前の作業状態を復元し、パワーマネージメント割込PMIによって割り込まれたプログラムに制御を戻す。また、拡張HBモードによる電源再起動の場合には、初期起動直後にハイバネーション処理を起動したパワーマネージメント割込PMI発生前の状態(つまり初期起動直後の状態)を復元し、パワーマネージメント割込PMIによって割り込まれたプログラムに制御を戻す。
【0178】
この後、PMコアは、デバイスドライバとの間で、ウェークアップ(wake up )の通知および認証応答を行なう(S432)。次いでPMサーバから呼び出されていたPMシステムコールがリターンされる(S434)。そしてPMサーバは、アプリケーションプログラムとの間で、ウェークアップの通知および認証応答を行なう(S436)。これにより、ユーザは、初期起動直後の状態もしくは作業途中のパワーオフ直前の状態から画像出力端末7を使用することができるようになる。
【0179】
以上説明したように、本実施形態においては、ハイバネーション機能を利用して装置の初期状態に起動するモードを設けた。すなわち、起動直後のメインメモリの記憶内容(メモリイメージ)やスワップデータなどの初期起動データをハイバネーション機能を利用してハードディスク装置54に保存しておき、ブート時に常にそのメモリイメージやスワップデータを初期状態で使用する起動モードを設けた。ハイバネーション機能を利用して起動すれば、ハイバネーション機能を用いない従来のようなブート処理と比較して、補助記憶装置に対するアクセスを少なくすることができる。これにより、ハイバネーション機能を用いない従来のようなブート処理と比較して、電源オフからのブート時間を短縮することができる。
【0180】
また、装置のハードウェア環境やインストールされているソフトウェアに変更が生じた際には、初期起動データを更新するようにしたので、装置の機能変更があった場合にも柔軟に対応することができる。
【0181】
また、本実施形態においては、ハイバネーションモードでの電源オフ時には、メインメモリ130のページデータの内容に応じて、CPU120と、このCPU120とは別個に設けた圧縮処理部の一例であるイメージ圧縮伸張処理部50とを切り替えてページデータを圧縮処理するようにした。
【0182】
従来のように、CPU120を用いて画像データを圧縮処理するのでは通常モードからハイバネーションモードへの移行が遅い。これに対して、印刷イメージ処理用のイメージ圧縮伸張処理部50を利用することで、イメージ圧縮伸張処理部50にて圧縮可能な分だけ、圧縮処理や伸張処理の各処理時間の制約を、CPU120の処理能力から開放することができ、ハイバネーションモード(通常HBモードおよび拡張HBモードの何れでもよい)への移行を高速化することができる。加えて、圧縮処理や伸張処理の手段として印刷イメージを圧縮したり伸張する手段と同一の手段を使用することにより、ハイバネーション専用の圧縮伸張処理部を備える必要がない。
【0183】
また、メインメモリ130の内容を補助記憶装置(本例ではハードディスク装置54)にセーブする際に、ページあるいはセグメントごとに圧縮方法を指定するようにしたので、より効率的にメインメモリ130の内容を圧縮し補助記憶装置に退避することができる。これにより、ハイバネーションモード(通常HBモードおよび拡張HBモードの何れでもよい)への移行が速くなる。
【0184】
またメモリイメージを圧縮して補助記憶装置に保存しているので、ハイバネーション(通常HBモードおよび拡張HBモードの何れでもよい)からの復帰時には、解凍するデータの量が少なく、補助記憶装置へのアクセス時間を短縮することができる。圧縮データを伸張する処理時間は、補助記憶装置へのアクセス時間に比べれば十分に短い。これにより、通常モードへの復帰時間を短くすることができる。
【0185】
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。発明の要旨を逸脱しない範囲で上記実施形態に多様な変更または改良を加えることができ、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれる。
【0186】
また、上記の実施形態は、クレーム(請求項)にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組合せの全てが発明の解決手段に必須であるとは限らない。前述した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜の組合せにより種々の発明を抽出できる。実施形態に示される全構成要件から幾つかの構成要件が削除されても、効果が得られる限りにおいて、この幾つかの構成要件が削除された構成が発明として抽出され得る。
【0187】
たとえば、上記実施形態では、画像情報に対する情報処理機能を備えた画像処理装置の一例としての複写装置や印刷装置あるいはファクシミリ装置において、ハイバネーション機能を利用して装置を初期起動することを説明したが、画像処理装置は、複写装置などに限らない。すなわち画像を取り扱う装置であればよく、たとえばデジタルカメラなどに適用することもできる。
【0188】
また、画像入力端末3側のカラースキャナ3bと組み合わせたネットワークスキャナや、このカラースキャナ3bと画像出力端末7における印刷機能とを組み合わせたネットワーク複写システムとして構成することもできる。
【0189】
また上記実施形態では、画像情報に対する情報処理機能を備えた画像処理装置にハイバネーション機能を設けた場合についての本願発明の適用を説明したが、装置における情報処理機能は、画像情報に対するものに限定されない。この場合、その装置が取り扱う情報に応じた圧縮処理部や伸張処理部を中央演算処理部と別個に用意するとよい。なお、圧縮処理部や伸張処理部を中央演算処理部と別個に用意することは必須ではない。
【0190】
また、上記実施形態で説明したように 主記憶部に記憶されている記憶内容が圧縮処理部にて圧縮処理可能であるか否かを記憶内容解析部で解析し、圧縮可能であれば、電源オフ時に通常モードからハイバネーションモードに移行させる際、その圧縮可能な分の記憶内容に関しては、圧縮処理部にて圧縮する。また、電源再起動時にハイバネーションモードから通常モードに回復させる際は、中央演算処理部とは別個に設けられた伸張処理部にて伸張処理する。
【0191】
【発明の効果】
以上のように、本発明によれば、装置起動後の略直後の主記憶部の記憶内容(メモリイメージ)や初期起動処理の際に補助記憶部にスワップアウトさせたデータをハイバネーション機能を利用して補助記憶部に保存しておき、電源起動時には、そのメモリイメージやスワップデータを初期状態で使用するようにした。ハイバネーション機能を利用して起動すれば、ハイバネーション機能を用いない従来のようなブート処理と比較して、補助記憶部に対するアクセスを少なくすることができる。これにより、ハイバネーション機能を用いない従来のような起動処理と比較して、電源オフからの初期起動時間を短縮することができる。
【図面の簡単な説明】
【図1】本発明に係る画像処理装置の一実施形態を有する画像出力端末を備えた画像処理システムを示す概略図である。
【図2】画像出力端末における画像処理機能を示すブロック図である。
【図3】図1に示した画像出力端末における、画像の圧縮/伸張処理に関わる機能部分と、電源管理に関わる機能部分とに着目した、ハードウェア構成のブロック図である。
【図4】ソフトウェアの構成との関係におけるCPUの働きを説明する図である。
【図5】仮想記憶システムの一例を示した模式図である。
【図6】ページング方式を使用したメモリマッピングの仕組みを説明する図である。
【図7】図1に示した画像出力端末における電源管理手法において、ハイバネーションルーチンで実行されるハイバネーション処理の原理を説明する図である。
【図8】電源制御処理手順の一例を示すフローチャートである。
【図9】ハイバネーション処理に関わるメインメモリとROMとの関係を示した図である。
【図10】ハイバネーション処理手順の一例を示すフローチャートである。
【図11】電源起動制御装置を説明する図である。
【図12】図11に示した構成における圧縮処理手順の一例を示すフローチャートである。
【図13】パワーオン時に、ハイバネーション処理でセーブされた内容を復元するレジューム処理手順の一例を示すフローチャートである。
【符号の説明】
1…画像処理システム、3…画像入力端末、7…画像出力端末、10…画像読取装置、20…スキャナ部、22…読取信号処理部、30…画像形成装置、32…画像形成ユニット、40…前段色信号処理部、50…イメージ圧縮伸張処理部、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…印刷イメージ伸張部、330…初期起動データ更新制御部
Claims (10)
- 電源供給時にのみ記憶内容を保持する主記憶部と、前記電源供給が切断されても記憶内容を保持する補助記憶部とを備えた装置において、当該装置を予め定められている初期状態で起動する起動制御方法であって、
ハイバネーション機能を利用して前記初期状態で起動した略直後における前記装置の作動状態を示す初期起動データを前記補助記憶部に保存する初期起動データ保存工程と、
電源の再供給時に前記補助記憶部に保存しておいた前記初期起動データを読み出して前記装置の初期状態を復元する初期起動データ回復工程と
を有することを特徴とする起動制御方法。 - 前記装置のハードウェア環境およびソフトウェア環境の内の少なくとも一方に変更が生じたことを条件として、前記補助記憶部に保存した初期起動データを更新する初期起動データ更新工程を有することを特徴とする請求項1に記載の起動制御方法。
- 電源供給時にのみ記憶内容を保持する主記憶部と、前記電源供給が切断されても記憶内容を保持する補助記憶部とを備え、予め定められている初期状態で電源起動する起動制御装置であって、
ハイバネーション機能を利用して前記初期状態で起動した略直後における作動状態を示す初期起動データを前記補助記憶部に保存する初期起動データ保存制御部と、
電源の再供給時に前記補助記憶部に保存しておいた前記初期起動データを読み出して前記初期状態を復元する初期起動データ回復制御部と
を有することを特徴とする起動制御装置。 - 前記装置のハードウェア環境およびソフトウェア環境の内の少なくとも一方に変更が生じたことを条件として、前記補助記憶部に保存した初期起動データを更新する初期起動データ更新部を有することを特徴とする請求項3に記載の起動制御装置。
- 電源供給時にのみ記憶内容を保持する主記憶部と、前記電源供給が切断されても記憶内容を保持する補助記憶部と、画像処理をする画像処理部とを備え、予め定められている初期状態で電源起動する画像処理装置であって、
ハイバネーション機能を利用して前記初期状態で起動した略直後における作動状態を示す初期起動データを前記補助記憶部に保存する初期起動データ保存制御部と、
電源の再供給時に前記補助記憶部に保存しておいた前記初期起動データを読み出して前記初期状態を復元する初期起動データ回復制御部と
を有することを特徴とする画像処理装置。 - 前記装置のハードウェア環境およびソフトウェア環境の内の少なくとも一方に変更が生じたことを条件として、前記補助記憶部に保存した初期起動データを更新する初期起動データ更新部を有することを特徴とする請求項5に記載の画像処理装置。
- 原稿画像を読み取る画像読取部を備え、
前記画像処理部は、前記画像読取部により読み取られた原稿画像に対して前記画像処理を施す
ことを特徴とする請求項5または6に記載の画像処理装置。 - 所定の画像入力端末から送信された画像データを受け取る画像受取部を備え、
前記画像処理部は、前記画像受取部が受け取った画像に対して前記画像処理を施す
ことを特徴とする請求項5から7のうちの何れか1項に記載の画像処理装置。 - 前記画像受取部は、前記画像データとして、印刷データもしくはファクシミリデータを受け取ることを特徴とする請求項8に記載の画像処理装置。
- 前記画像処理部により前記画像処理が施された画像を可視画像として所定の出力媒体に出力する画像形成部を備えたことを特徴とする請求項5から9のうちの何れか1項に記載の画像処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002194483A JP2004038546A (ja) | 2002-07-03 | 2002-07-03 | 起動制御方法、起動制御装置、画像処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002194483A JP2004038546A (ja) | 2002-07-03 | 2002-07-03 | 起動制御方法、起動制御装置、画像処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004038546A true JP2004038546A (ja) | 2004-02-05 |
Family
ID=31703168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002194483A Pending JP2004038546A (ja) | 2002-07-03 | 2002-07-03 | 起動制御方法、起動制御装置、画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004038546A (ja) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005316809A (ja) * | 2004-04-30 | 2005-11-10 | Nec Corp | 計算機、計算機起動方法、管理サーバ装置およびプログラム |
JP2007065753A (ja) * | 2005-08-29 | 2007-03-15 | Fujitsu Ten Ltd | 起動方法およびナビゲーション装置 |
JP2007149003A (ja) * | 2005-11-30 | 2007-06-14 | Olympus Corp | ソフトウェア動作装置 |
JP2007334383A (ja) * | 2006-06-12 | 2007-12-27 | Sony Corp | 情報処理装置とその起動方法およびプログラム |
JP2008502988A (ja) * | 2004-06-15 | 2008-01-31 | ティー1 テクノロジーズ リミテッド | コンピュータシステムのブート方法および装置 |
JP2008209265A (ja) * | 2007-02-27 | 2008-09-11 | Yokogawa Electric Corp | 双方向光モジュールおよび光パルス試験器 |
JP2009295003A (ja) * | 2008-06-06 | 2009-12-17 | Ricoh Co Ltd | 電子機器、画像形成装置、電子機器の起動制御方法、起動制御プログラム及び記録媒体 |
JP2011013853A (ja) * | 2009-06-30 | 2011-01-20 | Toshiba Corp | 情報処理装置 |
JP2011138531A (ja) * | 2011-02-15 | 2011-07-14 | Toshiba Corp | 情報処理装置およびデータ転送速度設定方法 |
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 |
JP2012526322A (ja) * | 2009-05-05 | 2012-10-25 | マイクロソフト コーポレーション | オペレーティングシステム状態の取込み及びローディング |
JP2012212269A (ja) * | 2011-03-30 | 2012-11-01 | Kyocera Document Solutions Inc | 画像形成装置 |
JP2013004044A (ja) * | 2011-06-22 | 2013-01-07 | Canon Inc | 画像形成装置、画像形成装置の起動制御方法及びプログラム |
JP2013077225A (ja) * | 2011-09-30 | 2013-04-25 | Toshiba Corp | 情報処理装置及びメモリ管理方法 |
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 |
JP2013218510A (ja) * | 2012-04-09 | 2013-10-24 | Canon Inc | 情報処理装置、情報処理装置のプログラム更新方法、及びプログラム |
US9065953B2 (en) | 2012-04-09 | 2015-06-23 | Canon Kabushiki Kaisha | Image forming apparatus, method for controlling the image forming apparatus, and program, with mode shifting based on duration required for shifting and amount of information to be stored |
US9274808B2 (en) | 2010-07-08 | 2016-03-01 | Konica Minolta Business Technologies, Inc. | Image processing apparatus and hibernation start-up method |
CN107179902A (zh) * | 2016-03-10 | 2017-09-19 | 富士通株式会社 | 智能设备以及交换方法 |
JP2018005683A (ja) * | 2016-07-05 | 2018-01-11 | コニカミノルタ株式会社 | 画像形成装置、起動方法、およびコンピュータプログラム |
JP2019185717A (ja) * | 2018-03-30 | 2019-10-24 | 株式会社リコー | 情報処理装置及び起動方法 |
-
2002
- 2002-07-03 JP JP2002194483A patent/JP2004038546A/ja active Pending
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7844810B2 (en) | 2004-04-30 | 2010-11-30 | Nec Corporation | Computer system and booting method therefor and server used for streaming on-demand a remaining part of a boot-up main memory image that includes an operating system |
JP4604543B2 (ja) * | 2004-04-30 | 2011-01-05 | 日本電気株式会社 | 計算機、計算機起動方法、管理サーバ装置およびプログラム |
JP2005316809A (ja) * | 2004-04-30 | 2005-11-10 | Nec Corp | 計算機、計算機起動方法、管理サーバ装置およびプログラム |
JP2008502988A (ja) * | 2004-06-15 | 2008-01-31 | ティー1 テクノロジーズ リミテッド | コンピュータシステムのブート方法および装置 |
JP2007065753A (ja) * | 2005-08-29 | 2007-03-15 | Fujitsu Ten Ltd | 起動方法およびナビゲーション装置 |
JP2007149003A (ja) * | 2005-11-30 | 2007-06-14 | Olympus Corp | ソフトウェア動作装置 |
US7937571B2 (en) | 2006-06-12 | 2011-05-03 | Sony Corporation | Information-processing apparatus and activation method and program for activating an operating system in a short period of time |
JP2007334383A (ja) * | 2006-06-12 | 2007-12-27 | Sony Corp | 情報処理装置とその起動方法およびプログラム |
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 |
JP2008209265A (ja) * | 2007-02-27 | 2008-09-11 | Yokogawa Electric Corp | 双方向光モジュールおよび光パルス試験器 |
US8195969B2 (en) | 2008-06-06 | 2012-06-05 | Ricoh Company, Limited | Electronic equipment, image forming apparatus, starting method of electronic equipment, and computer program product |
JP2009295003A (ja) * | 2008-06-06 | 2009-12-17 | Ricoh Co Ltd | 電子機器、画像形成装置、電子機器の起動制御方法、起動制御プログラム及び記録媒体 |
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 |
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 |
JP2012526322A (ja) * | 2009-05-05 | 2012-10-25 | マイクロソフト コーポレーション | オペレーティングシステム状態の取込み及びローディング |
US8108581B2 (en) | 2009-06-30 | 2012-01-31 | Kabushiki Kaisha Toshiba | Information processing apparatus |
JP2011013853A (ja) * | 2009-06-30 | 2011-01-20 | Toshiba Corp | 情報処理装置 |
JP4691180B2 (ja) * | 2009-06-30 | 2011-06-01 | 株式会社東芝 | 情報処理装置 |
US9274808B2 (en) | 2010-07-08 | 2016-03-01 | Konica Minolta Business Technologies, Inc. | Image processing apparatus and hibernation start-up method |
JP2011138531A (ja) * | 2011-02-15 | 2011-07-14 | Toshiba Corp | 情報処理装置およびデータ転送速度設定方法 |
JP2012212269A (ja) * | 2011-03-30 | 2012-11-01 | Kyocera Document Solutions Inc | 画像形成装置 |
JP2013004044A (ja) * | 2011-06-22 | 2013-01-07 | Canon Inc | 画像形成装置、画像形成装置の起動制御方法及びプログラム |
JP2013077225A (ja) * | 2011-09-30 | 2013-04-25 | Toshiba Corp | 情報処理装置及びメモリ管理方法 |
US9065953B2 (en) | 2012-04-09 | 2015-06-23 | Canon Kabushiki Kaisha | Image forming apparatus, method for controlling the image forming apparatus, and program, with mode shifting based on duration required for shifting and amount of information to be stored |
JP2013218510A (ja) * | 2012-04-09 | 2013-10-24 | Canon Inc | 情報処理装置、情報処理装置のプログラム更新方法、及びプログラム |
US9317281B2 (en) | 2012-04-09 | 2016-04-19 | Canon Kabushiki Kaisha | Information processing apparatus, program update method for information processing apparatus, and storage medium |
CN107179902A (zh) * | 2016-03-10 | 2017-09-19 | 富士通株式会社 | 智能设备以及交换方法 |
JP2018005683A (ja) * | 2016-07-05 | 2018-01-11 | コニカミノルタ株式会社 | 画像形成装置、起動方法、およびコンピュータプログラム |
JP2019185717A (ja) * | 2018-03-30 | 2019-10-24 | 株式会社リコー | 情報処理装置及び起動方法 |
JP7107069B2 (ja) | 2018-03-30 | 2022-07-27 | 株式会社リコー | 情報処理装置及び起動方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004038546A (ja) | 起動制御方法、起動制御装置、画像処理装置 | |
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 | |
US8705078B2 (en) | Image output system and method for logging image data storage location | |
JP4849536B2 (ja) | 画像処理システム、制御方法、及びプログラム | |
US20120137087A1 (en) | Storage area management apparatus for managing storage areas provided from upper apparatuses, and control method and storage medium therefor | |
JP2008017441A (ja) | データ処理装置とデータ処理方法とプログラム | |
US20130104142A1 (en) | Information processing apparatus and information processing method | |
JP2006301856A (ja) | 文書管理システム及びその履歴管理方法並びにプログラム | |
JP2004038545A (ja) | ハイバネーション制御方法、ハイバネーション制御装置、画像処理装置 | |
JP3798353B2 (ja) | 電子装置 | |
US20120191989A1 (en) | Information processing apparatus with power saving mode, and control method and communication apparatus therefor | |
JP2007116457A (ja) | 画像形成装置 | |
JP2003274156A (ja) | 画像処理装置および方法 | |
JP2007106079A (ja) | 画像出力装置 | |
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 (ja) | 画像形成装置、画像データ転送方法、及びプログラム | |
JP2009140069A (ja) | 印刷システム | |
JP2004074621A (ja) | 画像形成装置 | |
JP2001325129A (ja) | ファイルシステム | |
JP2004153568A (ja) | 画像形成装置 | |
JP2006121438A (ja) | 複合機 |