JP2011201153A - 印刷装置 - Google Patents
印刷装置 Download PDFInfo
- Publication number
- JP2011201153A JP2011201153A JP2010071020A JP2010071020A JP2011201153A JP 2011201153 A JP2011201153 A JP 2011201153A JP 2010071020 A JP2010071020 A JP 2010071020A JP 2010071020 A JP2010071020 A JP 2010071020A JP 2011201153 A JP2011201153 A JP 2011201153A
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- unit
- setting
- usage
- printer
- 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.)
- Withdrawn
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Control Or Security For Electrophotography (AREA)
Abstract
【課題】複数の動作周波数で動作可能な複数の演算処理部を備えた印刷装置において、ユーザー環境に適するように、演算処理部の消費電力を削減する。
【解決手段】複数の動作周波数で動作可能な複数のCPU11a〜11cにより構成された制御部11を備えたプリンター100において、プリンター100の使用指針を受付ける受付部M1と、使用指針に基づいて動作させるCPUの数と動作周波数との少なくとも一方を設定する設定部M2と、制御部11を設定部M2により設定された数と動作周波数で動作させる駆動部M3と、を備える。
【選択図】図3
【解決手段】複数の動作周波数で動作可能な複数のCPU11a〜11cにより構成された制御部11を備えたプリンター100において、プリンター100の使用指針を受付ける受付部M1と、使用指針に基づいて動作させるCPUの数と動作周波数との少なくとも一方を設定する設定部M2と、制御部11を設定部M2により設定された数と動作周波数で動作させる駆動部M3と、を備える。
【選択図】図3
Description
本発明は、印刷装置に関し、特に、複数の動作周波数で動作可能な複数の演算処理部を備えた印刷装置に関する。
従来、印刷装置では、演算処理能力が高く消費電力が多い第1のCPUと、演算処理能力が低く消費電力の少ない第2のCPUとを搭載し、第1のCPUを動作させる第1のモードと、第1のCPUを停止させて第2のCPUでインターフェース通信等を行う第2のモードとを必要に応じて使い分けることにより、高機能・高速化を実現しつつ、電力消費の低減を図っていた(例えば特許文献1参照)。
ところで、近年、ポラックの法則等で予見されていたシングルCPUによる演算能力向上の限界を打破するため、マルチコアやマルチCPUにより演算処理能力の向上が模索されている。印刷装置においても、このようなマルチコアのCPUやマルチCPUを搭載されつつある。
複数のCPUコアもしくは複数のCPUを搭載した印刷装置においては、CPUで行う処理をどのように選択していくかが大きな課題となる。印刷装置に求められる処理速度は、一般的なワードプロセッサにより作成された文書の印刷データと、図面を含む複雑な文書の印刷データとで、異なるのが一般的である。そこで、一般的な印刷装置では、どのような印刷データが入力されたときでも処理できるようにCPUパフォーマンスを最大にしている。しかしながら、省電力化の要求の厳しい昨今にあっては、印刷装置のコントロールICの中でも消費電力の大きいCPUも省電力を実現する必要がある。
複数のCPUコアもしくは複数のCPUを搭載した印刷装置においては、CPUで行う処理をどのように選択していくかが大きな課題となる。印刷装置に求められる処理速度は、一般的なワードプロセッサにより作成された文書の印刷データと、図面を含む複雑な文書の印刷データとで、異なるのが一般的である。そこで、一般的な印刷装置では、どのような印刷データが入力されたときでも処理できるようにCPUパフォーマンスを最大にしている。しかしながら、省電力化の要求の厳しい昨今にあっては、印刷装置のコントロールICの中でも消費電力の大きいCPUも省電力を実現する必要がある。
本発明は、上記課題に鑑みてなされたもので、複数の動作周波数で動作可能な複数の演算処理部を備えた印刷装置において、ユーザーの利用状況に適した形で演算処理部の高速化と消費電力の削減を実現することを目的とする。
上記課題を解決するために、本発明の請求項1にかかる発明では、複数の動作周波数で動作可能な複数の演算処理部を備えた印刷装置であって、印刷装置の使用指針を受付ける受付部と、上記使用指針に基づいて動作させる演算処理部の数と動作周波数との少なくとも一方を設定する設定部と、上記複数の演算処理部を、上記設定部により設定された数と動作周波数で動作させる駆動部と、を備える構成としてある。
上記構成において、使用指針は演算処理部の演算負荷を示す指標である。受付部は、ユーザーが自身の利用状況に基づいて入力する使用指針を受付ける。この使用指針としては、例えば、印刷の内容と印刷の解像度と使用するインターフェースの種類と使用する表示部の種類との少なくとも1つを含んで構成することができる。これらの使用指針は、演算処理部の行う演算の中でも演算負荷が高く、印刷装置の利用状況をかんがみたときに、総合的な演算負荷を判断するのに適するためである。
上記設定部は、上述のように演算負荷を示す指標である使用指針に基づいて、上記複数の演算処理部の中でいずれを動作させるかもしくはいずれを停止させるかを設定したり、上記演算処理部のそれぞれについて動作周波数を設定したりする。なお、上記演算処理部は、複数の演算処理中枢を備えた演算処理部の各演算処理中枢を指してもよいし、単一の演算処理中枢を備えた複数の演算処理部の各演算処理部を指してもよいし、これらの組合せであってもよい。
上記駆動部は、上記設定部の設定した演算処理部の数と動作周波数で動作するように、上記複数の演算処理部を駆動する。このように、ユーザーが利用状況に基づいて入力する使用指針に基づいて、複数の演算処理部で実現されうる演算処理能力を適宜に調整することにより、ユーザーの利用状況に最適な処理能力で印刷装置を動作させることができる。すなわち、ユーザーの利用状況に最適な処理能力を実現することにより、オーバースペックな状態での動作を防止して消費電力の低減を効果的に実現し、さらに十分な処理速度も実現できる。
また本発明の選択的な一態様として、上記受付部は、複数の使用指針を受付け、上記設定部は、上記受付部の受付けた各使用指針について演算負荷を評価し、最も高い演算負荷を要する使用指針に基づいて動作させる演算処理部の数と動作周波数との少なくとも一方を設定する構成としてもよい。
該構成では、受付部が複数の使用指針を受付けており、設定部は、各使用指針について演算負荷を評価している。そして、評価された演算負荷の中で最も演算負荷の高い使用指針に適合するように演算処理能力を決定する。すなわち、最も高い演算負荷を要する使用指針に基づいて動作させる演算処理部の数と動作周波数との少なくとも一方を設定する。
このように構成することにより、複数の使用指針の中で最も演算負荷の高い使用指針により表される利用状況が発生しても、無理なく処理できる演算処理環境を実現できる。よって、ユーザーの利用状況に、演算処理能力を最適化することができる。
該構成では、受付部が複数の使用指針を受付けており、設定部は、各使用指針について演算負荷を評価している。そして、評価された演算負荷の中で最も演算負荷の高い使用指針に適合するように演算処理能力を決定する。すなわち、最も高い演算負荷を要する使用指針に基づいて動作させる演算処理部の数と動作周波数との少なくとも一方を設定する。
このように構成することにより、複数の使用指針の中で最も演算負荷の高い使用指針により表される利用状況が発生しても、無理なく処理できる演算処理環境を実現できる。よって、ユーザーの利用状況に、演算処理能力を最適化することができる。
また、本発明の選択的な一態様として、上記受付部は、複数の使用指針を受付け、上記設定部は、上記受付部の受付けた各使用指針について演算負荷を評価し、各使用指針の演算負荷の評価に基づいて全使用指針の総合的な演算負荷を評価し、該総合的な演算負荷に基づいて動作させる演算処理部の数と動作周波数との少なくとも一方を設定する構成としてもよい。
該構成でも、受付部が複数の使用指針を受付けており、設定部は、各使用指針について演算負荷を評価している。そして、各使用指針の演算負荷の評価に基づいて全使用指針の総合的な演算負荷を評価する。総合的な演算負荷は、例えば、各使用指針の演算負荷の評価を単純加算したり加重加算したりすることにより評価できる。加重加算の重みは、各使用指針の表す利用状況の発生率や、各使用指針の示す利用状況の演算負荷の種類(浮動小数点演算、整数演算等)、等に応じて適宜選択することができる。そして、総合的に評価された演算負荷に最適となるように、動作させる演算処理部の数と動作周波数との少なくとも一方を設定する。
このように構成することにより、複数の使用指針を総合的判断して、いずれの利用状況にも最適な演算処理環境を実現できる。よって、ユーザーの利用状況に最適化された演算処理能力を実現することができる。
該構成でも、受付部が複数の使用指針を受付けており、設定部は、各使用指針について演算負荷を評価している。そして、各使用指針の演算負荷の評価に基づいて全使用指針の総合的な演算負荷を評価する。総合的な演算負荷は、例えば、各使用指針の演算負荷の評価を単純加算したり加重加算したりすることにより評価できる。加重加算の重みは、各使用指針の表す利用状況の発生率や、各使用指針の示す利用状況の演算負荷の種類(浮動小数点演算、整数演算等)、等に応じて適宜選択することができる。そして、総合的に評価された演算負荷に最適となるように、動作させる演算処理部の数と動作周波数との少なくとも一方を設定する。
このように構成することにより、複数の使用指針を総合的判断して、いずれの利用状況にも最適な演算処理環境を実現できる。よって、ユーザーの利用状況に最適化された演算処理能力を実現することができる。
また、本発明の他の態様として、複数の動作周波数で動作可能な複数の演算処理部を備えた印刷装置であって、処理に使用する演算処理部の数と動作周波数との少なくとも一方をユーザーから受付けて設定する設定部と、上記複数の演算処理部を上記設定部により設定された数と動作周波数で動作させる駆動部と、を備える構成とすることができる。
該構成においては、上記設定部は、複数の演算処理部について、各々を動作させるか否かの入力、各演算処理部の動作周波数、等をユーザーから受付けて印刷装置に設定する。むろん、本態様においても、上記演算処理部は、複数の演算処理中枢を備えた演算処理部の各演算処理中枢を指してもよいし、単一の演算処理中枢を備えた複数の演算処理部の各演算処理部を指してもよいし、これらの組合せであってもよい。
上記駆動部は、上記設定部の設定した演算処理部の数と動作周波数で動作するように、上記複数の演算処理部を駆動する。このように、ユーザーが直接に入力する演算処理部の数や動作周波数に基づいて、複数の演算処理部で実現されうる演算処理能力を適宜に調整することにより、ユーザーの希望する処理能力で印刷装置を動作させることができる。すなわち、オーバースペックな状態での動作を防止して消費電力の低減を効果的に実現し、さらに十分な処理速度も実現できる。
なお、以上説明した印刷装置は、他の機器に組み込まれた状態で実施されたり他の方法とともに実施されたりする等の各種の態様を含む。また、本発明は上記印刷装置を備える印刷システム、上述した装置の構成に対応した工程を有する印刷制御方法、上述した装置の構成に対応した機能をコンピューターに実現させる印刷制御プログラム、該印刷制御プログラムを記録したコンピューター読み取り可能な記録媒体、等としても実現可能である。これら印刷システム、印刷制御方法、印刷制御プログラム、該印刷制御プログラムを記録した媒体、の発明も、上述した作用、効果を奏する。
以下、下記の順序に従って本発明の実施形態を説明する。
(1)本実施例の構成:
(2)CPU設定処理:
(3)各種変形例:
(4)まとめ:
(1)本実施例の構成:
(2)CPU設定処理:
(3)各種変形例:
(4)まとめ:
(1)本実施例の構成:
図1は本実施例にかかる印刷装置としてのプリンター100の構成を示すブロック図である。同図に示すように、プリンター100は、プリンター100全体を制御するための制御部11を備えており、制御部11は、複数の演算処理部としてのCPU(Central Processing Unit)11a〜11cの組合せで構成されている。制御部11は、ユーザーの設定に基づいて、動作させるCPUの数と各CPUの動作周波数との少なくも一方を変更できるようになっている。制御部11は、設定された数のCPUと各CPUに対して設定された動作周波数によりプリンター100全体の制御を行う。よって、ユーザーの設定した処理速度ならびに消費電力で、プリンター100の全体を制御することができる。以下、図を参照しつつ、実施例について、より具体的に説明していく。
図1は本実施例にかかる印刷装置としてのプリンター100の構成を示すブロック図である。同図に示すように、プリンター100は、プリンター100全体を制御するための制御部11を備えており、制御部11は、複数の演算処理部としてのCPU(Central Processing Unit)11a〜11cの組合せで構成されている。制御部11は、ユーザーの設定に基づいて、動作させるCPUの数と各CPUの動作周波数との少なくも一方を変更できるようになっている。制御部11は、設定された数のCPUと各CPUに対して設定された動作周波数によりプリンター100全体の制御を行う。よって、ユーザーの設定した処理速度ならびに消費電力で、プリンター100の全体を制御することができる。以下、図を参照しつつ、実施例について、より具体的に説明していく。
プリンター100は、制御IC10、ROM20、RAM30、操作パネル40、印刷エンジン50、等を備えている。制御IC(Integrated Circuit)10は、制御部11と、メモリーコントローラー12と、パネルコントローラー13と、画像処理回路14と、通信I/F15と、を備えており、CPU11a〜11cは、制御IC10の内部バスを介してメモリーコントローラー12、パネルコントローラー13、画像処理回路14、通信I/F15と通信可能になっている。
制御部11は、上述したように複数の演算処理部としてCPU11a〜11cを備える。CPU11a〜11cは、複数の演算処理中枢(いわゆる、CPUコア等)を備えたマルチコアの演算処理部として実現されてもよいし、単一の演算処理中枢を備えたシングルコアの演算処理部を複数組み合わせて実現されてもよいし、マルチコアの演算処理部とシングルコアの演算処理部の組合せで実現されてもよい。制御部11は、メモリーコントローラー12を介してROM20やRAM30に情報を読み書き可能になっている。
RAM(Random Access Memory)30は、コマンド解釈前の印刷データ、コマンド解釈して作成されたビットマップ画像データ、色変換後のビットマップ画像データの圧縮データ、等を格納する。印刷データは、ホストコンピューター200から印刷ドキュメント単位で送信され、プリンター100に印刷を実行させるための印刷ジョブである。
プリンター100は、ホストコンピューター200から入力されたと印刷データに基づいて、C(シアン)、M(マゼンタ)、Y(イエロー)、K(ブラック)のトナーを印刷媒体に付着させ、所定のページ記述言語で記述された印刷データに含まれる印刷コマンドに従って印刷媒体上にカラーもしくはモノクロで印刷画像を形成する。なお、本実施例のプリンター100は、カラー印刷可能なページプリンターであるレーザープリンターを例にとり説明するが、むろん、LED(発光ダイオード)プリンター、インクジェットプリンター、スキャナーやファクシミリとの複合機、等でもよいし、モノクロ印刷のみ可能なプリンターであってもよい。
制御部11は、印刷データに含まれるコマンドを解釈し、ビットマップ展開により作成したビットマップ画像データをRAM30に格納する。ここで、ビットマップ展開は、印刷コマンドを有する印刷データをビットマップ画像データに展開することをいうものとする。コマンド解釈前の印刷データには、ビットマップ展開するための複数の印刷コマンドが含まれている。印刷コマンドは、文字の描画、ベクターグラフィックスの描画、写真画像等の画像の描画、等、オブジェクトの種類毎に設けられている。
画像処理回路14は、制御部がビットマップ展開したビットマップ画像データに対し、色変換処理とスクリーン処理とを順に行う。制御部11の作成したビットマップ画像データは、印刷データの内容に依存する色空間の階調値で表現されており、画像処理回路14は、まず、色変換処理によりビットマップ画像データの色空間をプリンター100の搭載するトナーにより再現可能なCMYK色空間の各階調値に変換させる。次に、画像処理回路14は、色変換後のビットマップ画像データをスクリーン処理してスクリーン画像データを生成する。そして、画像処理回路14は、スクリーン画像データを印刷エンジン50へ出力する。例えば、印刷エンジン50にPWM(Pulse Width Modulation;パルス幅変調)処理部があるレーザープリンターの場合、スクリーン画像データをレーザービームによるドット形成に適したパルス信号に変換して出力する。印刷エンジン50は、上記スクリーン画像データに従って印刷用紙といった印刷媒体にトナーのドットを配置し、印刷画像を印刷媒体上に形成する。
通信I/F15は、制御部11の制御によりホストコンピューター200に対して情報を入出力可能であり、ホストコンピューター200から印刷データを受信したり、ホストコンピューター200と各種の通信を行ったりする。
操作パネル40は、プリンター100のユーザーから操作入力を受付けるための操作部と、プリンター100の状態やユーザーもしくはホストコンピューター200から受付けた操作入力内容等の各種情報を表示するための表示部とを備えている。操作部は、例えば、複数の操作ボタンで構成することができる。表示部は、例えば、液晶ディスプレイとLED(Light Emitting Diode)で構成することができる。
操作パネル40は、プリンター100のユーザーから操作入力を受付けるための操作部と、プリンター100の状態やユーザーもしくはホストコンピューター200から受付けた操作入力内容等の各種情報を表示するための表示部とを備えている。操作部は、例えば、複数の操作ボタンで構成することができる。表示部は、例えば、液晶ディスプレイとLED(Light Emitting Diode)で構成することができる。
以上の各処理を実行・制御する制御部11の演算負荷は、プリンター100の利用状況に応じて変動する。
まず、ビットマップ展開にかかる制御部11の演算負荷は、印刷データの内容に応じて変動する。例えば、印刷データには、上述したように印刷データの内容に応じて各種の印刷コマンドが含まれるが、一般に、文字の描画の印刷コマンド、ベクターグラフィックスを描画する印刷コマンド、画像を描画する印刷コマンド、の順に演算負荷が増加する傾向がある。また、例えば、印刷コマンドにより指定される印刷解像度が高いほど、多くの演算と高い処理能力が要求されるため、演算負荷が高くなる。
まず、ビットマップ展開にかかる制御部11の演算負荷は、印刷データの内容に応じて変動する。例えば、印刷データには、上述したように印刷データの内容に応じて各種の印刷コマンドが含まれるが、一般に、文字の描画の印刷コマンド、ベクターグラフィックスを描画する印刷コマンド、画像を描画する印刷コマンド、の順に演算負荷が増加する傾向がある。また、例えば、印刷コマンドにより指定される印刷解像度が高いほど、多くの演算と高い処理能力が要求されるため、演算負荷が高くなる。
また、制御部11が通信I/F15の制御に要する演算負荷は、通信I/F15を接続して利用するネットワーク環境に応じて異なる。例えば、通信I/F15が備えるLAN(Local Area Network)I/Fを、最大転送速度が10Mbpsのネットワークに接続する場合と1Gbpsのネットワークに接続する場合とでは、後者の方が制御部11の演算負荷は高くなる。また、通信I/F15が備えているUSB(Universal Serial Bus)I/Fを使用する場合と使用しない場合とでは、USB I/Fを使用する方が制御部11の演算負荷は高くなる。
また、制御部11が操作パネル40の制御に要する演算負荷は、使用する表示部の種類に応じて異なる。例えば、表示部に液晶ディスプレイを使用して表示を行う場合は、液晶ディスプレイを使用せずにLEDのみで表示を行った場合よりも演算負荷が高くなる。
また、プリンター100は、通常モードと省電力モードとを選択可能になっていることがあり、省電力モードでは通常モードに比べてCPU11a〜11cの動作周波数を低下させたり、動作させるCPUの数を減少させたりしている。さらに、通常モードで制御部が保持していた各種変数等の情報を所定の記憶媒体にバックアップすることもある。そこで、省電力モードから通常モードに復帰するときは、低下していたCPUの動作周波数を上昇させたり停止させていたCPUを起動したりするために、CPUの初期化処理やCPUの動作状況の変更に伴って行われる各部の初期化、さらにはバックアップされていた情報の書き戻し等の復帰処理が必要となる。このとき、制御部11が省電力モードから短時間で復帰するには、高速で演算を行う必要があるため演算負荷が高くなり、逆に、省電力モードからの復帰を省電力で実行しようとするには、処理を低速で実行可能であるため演算負荷が低くなる。
また、プリンター100は、通常モードと省電力モードとを選択可能になっていることがあり、省電力モードでは通常モードに比べてCPU11a〜11cの動作周波数を低下させたり、動作させるCPUの数を減少させたりしている。さらに、通常モードで制御部が保持していた各種変数等の情報を所定の記憶媒体にバックアップすることもある。そこで、省電力モードから通常モードに復帰するときは、低下していたCPUの動作周波数を上昇させたり停止させていたCPUを起動したりするために、CPUの初期化処理やCPUの動作状況の変更に伴って行われる各部の初期化、さらにはバックアップされていた情報の書き戻し等の復帰処理が必要となる。このとき、制御部11が省電力モードから短時間で復帰するには、高速で演算を行う必要があるため演算負荷が高くなり、逆に、省電力モードからの復帰を省電力で実行しようとするには、処理を低速で実行可能であるため演算負荷が低くなる。
以上のように、利用状況に応じてプリンター100に要求される演算処理能力は変動する。そこで、本実施例では、ユーザーが、利用状況に応じて制御部11の演算処理能力を適宜に変更できるようになっている。制御部11は、ROM20に格納されているCPU設定プログラムを実行することにより、プリンター100の使用指針を受付ける受付部M1と、該使用指針に基づいて動作させるCPUの数と動作周波数との少なくとも一方を設定する設定部M2と、CPU11a〜11cを設定部M2により設定された数と動作周波数で動作させる駆動部M3と、に相当する機能を実現する。
図2は、動作させるCPUの数、各CPUの動作周波数、の変更にかかる構成を説明するブロック図である。同図に示すようにプリンター100は電源回路60を備えており、電源回路60は、制御IC10を含むプリンター100の各構成要素に動作電圧を供給している。ここで、CPU11a〜11cへ供給される電源は電源分離されている。電源分離とは、各CPUへの電源供給経路を分離することにより、各CPUの電源を個別に制御できるようすることである。なお、電源分離は、いったん制御IC11に供給された電源を制御IC11の内部で分離することにより実現してもよいし、制御IC11の外部で各CPUへの電源供給経路を分離してから制御IC11へ入力することにより実現してもよい。
本実施例では、図2に示すように、各CPUへの電源供給ラインにそれぞれ切替スイッチSW1〜SW3を介装してある。制御部11は、切替スイッチSW1〜SW3を制御することにより各CPUに対する電源供給をオン/オフすることにより各CPUの電源をオン/オフ切替え可能である。
また、本実施例では、図2に示すように、プリンター100は、各CPUの動作に関する設定値を記憶する動作設定記憶部Regを備えている。動作設定記憶部Regは、例えば、レジスターで構成することができる。本実施例では、動作に関する設定値は、各CPUを動作させるか停止させるかを示す設定値と、各CPUの動作周波数に関する設定値との少なくとも一方を含む。むろん、これらを組み合わせれば、より詳細にCPUの処理能力と制御部11における消費電力とを調整することができる。
制御部11の処理能力を動作させるCPUの数で変更する場合は、設定部M2は、上記使用指針に基づいて動作させるCPUの数を決定し、動作設定記憶部Regに各CPUを動作させるか停止させるかを示す設定値を設定する。すると、駆動部M3は、動作設定記憶部Regを参照して切替スイッチSW1〜SW3を制御する。例えば、CPU11a,11bを動作させ、CPU11cを停止させるのであれば駆動部M3は、切替スイッチSW1,SW2をオンにし、切替スイッチSW3をオフにする。すると、制御部11は、動作させるCPU数に応じた処理能力と消費電力とに調整される。
また、制御部11の処理能力を各CPUの動作周波数数で変更する場合は、設定部M2は、上記使用指針に基づいて各CPUの動作周波数を決定し、動作設定記憶部Regに各CPUの動作周波数に関する設定値を設定する。すると、駆動部M3は、動作設定記憶部Regを参照して各CPUの動作周波数を制御する。例えば、制御部11は、各CPUをシステムバスクロックの何倍で動作させるかを示すPLL設定を変更したりシステムバスクロックを変更したりすることにより、PLLクロックジェネレータが各CPUに供給するCPUクロックを変更する。すると、制御部11の各CPUは動作周波数に応じた処理能力と消費電力に調整される。
以上のように、本実施例では、プリンター100のユーザーが各自の利用状況に合わせて使用指針を設定することにより、制御部11の処理能力を適宜に調節できるようになっている。以下に説明する実施例では、CPUの数で制御部11の処理能力を動作させる変更する場合を例にとって説明する。なお、複数のCPUを利用して処理を行う際の各CPUに対する処理割り当ては、各プログラムにて制御される。以下、ユーザーの行うプリンター100のCPU設定処理について説明する。
(2)CPU設定処理:
図3は、CPU設定処理の流れを示すフローチャートである。同図に示す処理は、ユーザーが操作パネル40を操作して制御部11の処理能力や電力消費を調整するための設定項目を選択したときに、受付部M1、設定部M2、駆動部M3によって実行される。処理が開始されると、受付部M1は、プリンター100の使用指針を受付けるための設定画面を操作パネル40の表示部に表示する(S100)。使用指針は、ユーザーの希望するプリンター100の利用状況を示す指標であり、使用指針はユーザーがプリンター100に要求する処理能力や電力消費量を示す指標になる。
図3は、CPU設定処理の流れを示すフローチャートである。同図に示す処理は、ユーザーが操作パネル40を操作して制御部11の処理能力や電力消費を調整するための設定項目を選択したときに、受付部M1、設定部M2、駆動部M3によって実行される。処理が開始されると、受付部M1は、プリンター100の使用指針を受付けるための設定画面を操作パネル40の表示部に表示する(S100)。使用指針は、ユーザーの希望するプリンター100の利用状況を示す指標であり、使用指針はユーザーがプリンター100に要求する処理能力や電力消費量を示す指標になる。
図4は、使用指針の設定画面の一例を示す図である。同図に示す使用指針の設定画面では、ユーザーの想定する利用状況において最も印刷する可能性の高い種類の印刷物を表す指標として、「印刷物の種類」と「印刷物の解像度」の指標を設定することができる。
同図では、「印刷物の種類」として「軽い文章」、「複雑な文章」、「写真等の画像が多い」の3種類の選択可能になっており、この順で制御部11に要求される演算負荷が高くなり且つ電力消費が増加する。ユーザーは、自身の利用状況にかんがみて最適な「印刷物の種類」を選択する。むろん、指標の名称は一例であり、「軽い文章」、「複雑な文章」、「より複雑な文章」などとしても構わない。なお、本実施例では、「印刷物の種類」が印刷の内容を構成し、「印刷物の解像度」が印刷の解像度を構成する。
同図では、「印刷物の種類」として「軽い文章」、「複雑な文章」、「写真等の画像が多い」の3種類の選択可能になっており、この順で制御部11に要求される演算負荷が高くなり且つ電力消費が増加する。ユーザーは、自身の利用状況にかんがみて最適な「印刷物の種類」を選択する。むろん、指標の名称は一例であり、「軽い文章」、「複雑な文章」、「より複雑な文章」などとしても構わない。なお、本実施例では、「印刷物の種類」が印刷の内容を構成し、「印刷物の解像度」が印刷の解像度を構成する。
また、図4では、「印刷物の解像度」として「300dpi」、「600dpi」、「1200dpi」の3種類から選択可能になっており、この順で制御部11に要求される演算負荷が高くなり且つ消費電力が増加する。ユーザーは、自身の利用状況にかんがみて最適な「印刷物の解像度」を選択する。むろん、プリンター100の印刷解像度が3種類以上ある場合には、4つ以上の解像度を選択可能にしてもよいし、プリンター100の印刷解像度が3種類未満のときは選択肢を減らすことになる。
また、図4では、ネットワークやインターフェースの使用指針を表す指標として、USBインターフェースの使用の有無やネットワークインターフェースを介して行う通信速度を設定可能になっている。同図では、「USBを使用する」、「USBを使用しない」のいずれかを選択するとともに、「100bps」、「1000bps」のいずれかを選択するようになっている。USBを使用する方が制御部11の演算負荷は高くなるし、より高速な通信が可能になる「1000bps」の方が制御部11の演算負荷は高くなる。なお、本実施例では、USBインターフェースやネットワークインターフェースが、使用するインターフェースの種類を構成する。
また、図4では、ユーザーインターフェースの使用指針を示す指標として、表示部としての液晶ディスプレイの使用有無を設定可能になっている。同図では、操作パネル40をスイッチとLEDのみで使用するか、液晶ディスプレイを使用するか、を選択可能になっている。液晶ディスプレイの駆動処理を要するため液晶ディスプレイを使用する方が演算負荷が高くなる。なお、本実施例では、液晶ディスプレイとLEDが、使用する表示部の種類を構成する。
また、図4では、省電力からの復帰時間を表す指標として、復帰時間と省電力とのいずれを優先するかを設定可能になっている。復帰時間を優先する場合は、上述した各部の初期化処理等の復帰処理を高速で実行する必要があり、高い演算処理能力を要するし消費電力も上昇する。一方、省電力を優先するのであれば、消費電力を抑えつつ復帰処理を実行するため、演算処理能力を低くすることができる。すなわち、復帰時間を優先する場合は、制御部11の演算負荷は高くなり、省電力を優先する場合は、制御部11の演算負荷は低くなる。
ユーザーは、使用指針の設定画面において、操作パネル40を操作して自身の利用状況に基づいて各指標を選択し、選択した指標に基づく設定をプリンター100に適用する場合は「設定」ボタンを選択入力し、選択した設定を適用しない場合は「キャンセル」ボタンを選択入力する。そして、受付部M1は、「設定」ボタンが選択入力されると、使用指針の設定画面でユーザーの選択した各指標を受付けてステップS110に処理を進め(S105:Yes)、「キャンセル」ボタンが選択入力されるとCPU設定処理を終了する(S105:No)。
ステップS110では、設定部M2が、ステップS105で受付部M1の受付けた各指標に基づいて各CPUの動作を決定する。設定部M2は、各指標とCPUの動作との対応関係を保持しており、この対応関係に基づいてユーザーの使用指針に合致する各CPUの動作を決定する。なお、本実施例では、各指標とCPUの動作との対応関係に基づいて、決定されるCPUの数が演算負荷の評価を構成する。
図5、図6は、各指標とCPUの動作との対応関係の一例を示す図である。図5には、通常モードにおける各指標の選択肢ごとに各CPUの動作の要否が規定されている。図6には、省電力モードにおける各指標の選択肢ごとに各CPUの動作の要否が規定されている。設定部M2は、各指標に対応付けられたCPUの動作の要否の中から、最も動作CPU数の多い組合せを選択する。例えば、図4のように、印刷物の種類として「軽い文章」が選択され、印刷物の解像度として「600dpi」が選択され、使用するインターフェースとして「100bps」が選択され、操作パネルとして「SW/LED」が選択されている場合は、通常モードでは、CPU11a,11bを動作させ、CPU11cを停止させる組合せを選択する。
また、図4のように、省電力モードおける指標として「復帰時間優先」が選択されている場合は、省電力モードでは、CPU11a〜11cの全てを停止させる。なお、このようにすべてのCPUが停止する場合は、省電力モードに移行するときにプリンター100の制御をサブCPUに移行し、省電力モード中のパネル表示や印刷データの入力の監視や省電力モードから通常モードへの復帰処理等をサブCPUが行う。このサブCPUは、制御部11を最小の消費電力となるように動作させた場合よりも、処理能力や消費電力が低いものとする。
設定部M2は、動作させるCPUの組合せを決定すると、この組合せに基づいて動作設定記憶部Regに設定値を記憶する(S115)。設定部M2が動作設定記憶部Regに設定値を記憶させると、駆動部M3は、CPUを起動させたり停止させたりするために必要な所定の手順にしたがって、起動中のCPUを停止させたり、停止中のCPUを起動したりする。そして、動作するCPUの数が設定どおりに変更されると、駆動部M3は、CPU設定処理を終了する。
以上のCPU設定処理によれば、ユーザーの利用状況を示す使用指針をユーザーに設定させ、その使用指針に基づいて必要な演算処理能力を判断するため、制御部11の処理能力を、ユーザーの利用状況に最適化することができる。
(3)各種変形例:
上述した実施例は、以下のように変形することも可能である。
(3−1)変形例1:
図7は、変形例1にかかるCPU設定処理の流れを示すフローチャートである。同図に示す処理も、ユーザーが操作パネル40を操作してプリンター100の処理能力の設定項目を選択したときに、受付部M1、設定部M2、駆動部M3によって実行される。なお、図7のステップS200,S205,S215は、図3のS100,S105,S115と同様であるため、以下では説明を省略する。
上述した実施例は、以下のように変形することも可能である。
(3−1)変形例1:
図7は、変形例1にかかるCPU設定処理の流れを示すフローチャートである。同図に示す処理も、ユーザーが操作パネル40を操作してプリンター100の処理能力の設定項目を選択したときに、受付部M1、設定部M2、駆動部M3によって実行される。なお、図7のステップS200,S205,S215は、図3のS100,S105,S115と同様であるため、以下では説明を省略する。
図8(a)は、本変形例1にかかる各指標と重み付け点数との対応関係の一例を示す図であり、図8(b)は、重み付け点数の合計と各CPUの動作の要否との対応関係の一例を示す図である。図8(a)では、通常モードにおける各指標の選択肢ごとに重み付け点数が規定されている。重み付け点数は、各指標の選択肢ごとに必要な演算能力を数値化したものである。設定部M2は、図8(a)の対応関係を参照しつつステップS200でユーザーによって選択された各指標に対応付けられた重み付け点数を順次取得して加算し、図8(b)の対応関係を参照して重み付け点数の合計に対応するCPUの動作の要否を決定する(S210)。なお、本変形例1において、各指標の選択肢に対応付けられた重み付け点数が各使用指針についての演算負荷の評価を構成し、重み付け点数の合計が全使用指針の総合的な演算負荷の評価を構成する。
以上のように、本変形例1にかかるCPU設定処理によれば、ユーザーの使用指針をユーザーに設定させ、その使用指針を数値化して総合的にユーザーの利用状況において必要な演算処理能力を判断するため、制御部11の処理能力をユーザーの利用状況に最適化することができる。
(3−2)変形例2:
図9は、変形例2にかかるCPU設定処理の流れを示すフローチャートである。同図に示す処理も、ユーザーが操作パネル40を操作してプリンター100の処理能力の設定項目を選択したときに、受付部M1、設定部M2、駆動部M3によって実行される。処理が開始されると、受付部M1は、各CPUの動作を設定するための設定画面を、操作パネル40の表示部に表示する(S300)。すなわち、本変形例2で、各CPUの動作を直接ユーザーが設定する。
図9は、変形例2にかかるCPU設定処理の流れを示すフローチャートである。同図に示す処理も、ユーザーが操作パネル40を操作してプリンター100の処理能力の設定項目を選択したときに、受付部M1、設定部M2、駆動部M3によって実行される。処理が開始されると、受付部M1は、各CPUの動作を設定するための設定画面を、操作パネル40の表示部に表示する(S300)。すなわち、本変形例2で、各CPUの動作を直接ユーザーが設定する。
図10は、CPUの動作の設定画面の一例を示す図である。同図おけるCPU0,CPU1,CPU2は、それぞれCPU11a,11b,11cに対応する。本変形例2では、各CPUの動作の有無に関する設定と、各CPUの動作周波数を設定する。図10では、各CPUの動作の有無として各CPUのオン/オフを設定し、各CPUの動作周波数として100MHz〜600MHzの間で設定可能である。ユーザーは操作パネル40を操作してスライドバーを左右に移動させることにより各CPUの動作周波数を設定することができる。
ユーザーは、各CPUの動作の設定画面において、各CPUの動作のオン/オフと動作周波数とを設定し、この設定をプリンター100に適用する場合は「設定」ボタンを選択入力し、設定を適用しない場合は「キャンセル」ボタンを選択入力する。受付部M1は、「設定」ボタンが選択入力されると、動作の設定画面でユーザーの設定した各CPUのオン/オフと動作周波数とを受付けてステップS310に処理を進め(S305:Yes)、「キャンセル」ボタンが選択入力されるとCPU設定処理を終了する(S305:No)。
ステップS310では、設定部M2が、受付部M1がステップS305で受付けたオン/オフの設定や動作周波数の設定に基づいて動作設定記憶部Regに設定値を記憶させる。動作設定記憶部Regに設定値を記憶させると、駆動部M3は、CPUを起動させたり停止させたりするために必要な所定の手順にしたがって、起動中のCPUを停止させたり、停止中のCPUを起動したりする。また、駆動部M3は、各CPUの動作周波数を変更するために必要な所定の手順にしたがって、各CPUの動作周波数を変更する。そして、動作するCPUの数や各CPUの動作周波数が設定どおりに変更されると、駆動部M3は、CPU設定処理を終了する。
以上のように、本変形例2にかかるCPU設定処理によれば、直接にユーザーが各CPUの動作を設定することができるため、コンピューターの設定に詳しいユーザーは、プリンター100をより自身の利用形態に最適化させることができる。
(3−3)変形例3:
図11は、変形例3にかかるプリンター100の外観を示す図である。同図に示すプリンター100は、解除スイッチBを備えている。解除スイッチBを操作すると、各CPUの動作設定は、購入時の設定に戻る。よって、ユーザーは、上述した実施例や他の変形例のように使用指針や動作の設定により各CPUの動作状況を変更しても、容易に設定をリセットすることができる。むろん、解除スイッチBではなく、操作パネル40等で特殊な操作入力を行ったときに、各CPUの動作設定が購入時の設定に戻るようにしてもよい。
図11は、変形例3にかかるプリンター100の外観を示す図である。同図に示すプリンター100は、解除スイッチBを備えている。解除スイッチBを操作すると、各CPUの動作設定は、購入時の設定に戻る。よって、ユーザーは、上述した実施例や他の変形例のように使用指針や動作の設定により各CPUの動作状況を変更しても、容易に設定をリセットすることができる。むろん、解除スイッチBではなく、操作パネル40等で特殊な操作入力を行ったときに、各CPUの動作設定が購入時の設定に戻るようにしてもよい。
(3−4)変形例4:
上述した実施例や変形例では、各CPUの電源分離を行い、各CPUへの電源供給をオン/オフ切替えてCPUを動作させたり停止させたりすることにより消費電力を低減していたが、各CPUに対するクロックの供給を停止することによりCPUを停止する構成としてもよい。本変形例4の構成でも、制御部11の演算処理能力を調整したり、制御部11の消費電力を調整したりすることができる。
上述した実施例や変形例では、各CPUの電源分離を行い、各CPUへの電源供給をオン/オフ切替えてCPUを動作させたり停止させたりすることにより消費電力を低減していたが、各CPUに対するクロックの供給を停止することによりCPUを停止する構成としてもよい。本変形例4の構成でも、制御部11の演算処理能力を調整したり、制御部11の消費電力を調整したりすることができる。
(3−5)変形例5:
上述した実施例や変形例では、プリンター100の操作パネル40からCPU設定処理の使用指針や動作の設定を行っていたが、これらの設定は、ホストコンピューター200等のように、ネットワークを介してプリンター100と通信可能な外部コンピューターから行うことも可能である。図12は、本変形例5にかかる印刷システムSを構成するプリンター100とホストコンピューター200の構成を示すブロック図である。プリンター100の構成は、上述した実施例と同様である。
上述した実施例や変形例では、プリンター100の操作パネル40からCPU設定処理の使用指針や動作の設定を行っていたが、これらの設定は、ホストコンピューター200等のように、ネットワークを介してプリンター100と通信可能な外部コンピューターから行うことも可能である。図12は、本変形例5にかかる印刷システムSを構成するプリンター100とホストコンピューター200の構成を示すブロック図である。プリンター100の構成は、上述した実施例と同様である。
図12は、変形例5にかかる印刷システムの構成を示すブロック図である。同図に示すように、ホストコンピューター200は、CPU111、半導体メモリー112,113、各種装置114〜116、通信インターフェース(I/F)117、等がバスに接続されて互いに情報を入出力可能とされている。記憶装置114は、オペレーティングシステム、プリンタードライバー(印刷制御プログラム)、等を記憶している。入力装置115は、キーボードやポインティングデバイスといった操作入力装置等で構成される。出力装置116は、ディスプレイ等の画像出力装置や音声出力装置等で構成される。通信I/F117は、印刷装置の通信I/F15に接続され、プリンター100に対して情報を入出力する。
以上のように構成されたホストコンピューター200においてプリンタードライバーを実行することにより、上述した実施例や変形例の受付部M1と同様の機能や、使用指針に基づいて動作させるCPUの組合せや各CPUの動作周波数を決定する設定部M2と同様の機能を実現する。ホストコンピューター200は、決定した動作させるCPUの組合せや各CPUの動作周波数をプリンター100に通知する。
プリンター100の制御部11は、動作設定記憶部Regに設定値を記憶させるための設定部M2の機能や、駆動部M3の機能を実現する。プリンター100の設定部M2や駆動部M3は、各CPUの動作有無や動作周波数に関する設定値を動作設定記憶部Regに記憶させ、設定値された値に基づいて各CPUの動作を変更させる。
以上のように、本変形例5にかかる構成によれば、ホストコンピューター200からCPU設定処理を実行可能になるため、ユーザーの利便性が向上する。
プリンター100の制御部11は、動作設定記憶部Regに設定値を記憶させるための設定部M2の機能や、駆動部M3の機能を実現する。プリンター100の設定部M2や駆動部M3は、各CPUの動作有無や動作周波数に関する設定値を動作設定記憶部Regに記憶させ、設定値された値に基づいて各CPUの動作を変更させる。
以上のように、本変形例5にかかる構成によれば、ホストコンピューター200からCPU設定処理を実行可能になるため、ユーザーの利便性が向上する。
(4)まとめ:
以上説明した実施例では、複数の動作周波数で動作可能な複数のCPU11a〜11cにより構成された制御部11を備えたプリンター100において、プリンター100の使用指針を受付ける受付部M1と、使用指針に基づいて動作させるCPUの数と動作周波数との少なくとも一方を設定する設定部M2と、制御部11を設定部M2により設定された数と動作周波数で動作させる駆動部M3と、を備える。よって、複数の動作周波数で動作可能な複数の演算処理部を備えた印刷装置において、ユーザー環境に適するように、演算処理部の消費電力を削減することが可能となる。
以上説明した実施例では、複数の動作周波数で動作可能な複数のCPU11a〜11cにより構成された制御部11を備えたプリンター100において、プリンター100の使用指針を受付ける受付部M1と、使用指針に基づいて動作させるCPUの数と動作周波数との少なくとも一方を設定する設定部M2と、制御部11を設定部M2により設定された数と動作周波数で動作させる駆動部M3と、を備える。よって、複数の動作周波数で動作可能な複数の演算処理部を備えた印刷装置において、ユーザー環境に適するように、演算処理部の消費電力を削減することが可能となる。
なお、本発明は上述した実施形態や変形例に限られず、上述した実施形態および変形例の中で開示した各構成を相互に置換したり組合せを変更したりした構成、公知技術並びに上述した実施形態および変形例の中で開示した各構成を相互に置換したり組合せを変更したりした構成、等も含まれる。
10…制御IC、11…制御部、11a〜11c…CPU、12…メモリーコントローラー、13…パネルコントローラー、14…画像処理回路、15…通信I/F、20…ROM、30…RAM、40…操作パネル、50…印刷エンジン、60…電源回路、100…プリンター、111…CPU、112…半導体メモリー、113…半導体メモリー、114…記憶装置、115…入力装置、116…出力装置、117…通信I/F、200…ホストコンピューター、B…解除スイッチ、M1…受付部、M2…設定部、M3…駆動部、Reg…動作設定記憶部、S…印刷システム、SW1〜SW3…切替スイッチ
Claims (5)
- 複数の動作周波数で動作可能な複数の演算処理部を備えた印刷装置であって、
印刷装置の使用指針を受付ける受付部と、
上記使用指針に基づいて動作させる演算処理部の数と動作周波数との少なくとも一方を設定する設定部と、
上記複数の演算処理部を、上記設定部により設定された数と動作周波数で動作させる駆動部と、
を備えることを特徴とする印刷装置。 - 上記使用指針は、印刷の内容と印刷の解像度と使用するインターフェースの種類と使用する表示部の種類との少なくとも1つを含んで構成される請求項1に記載の印刷装置。
- 上記受付部は、複数の使用指針を受付け、
上記設定部は、上記受付部の受付けた各使用指針について演算負荷を評価し、最も高い演算負荷を要する使用指針に基づいて動作させる演算処理部の数と動作周波数との少なくとも一方を設定する請求項1又は請求項2に記載の印刷装置。 - 上記受付部は、複数の使用指針を受付け、
上記設定部は、上記受付部の受付けた各使用指針について演算負荷を評価し、各使用指針の演算負荷の評価に基づいて全使用指針の総合的な演算負荷を評価し、該総合的な演算負荷に基づいて動作させる演算処理部の数と動作周波数との少なくとも一方を設定する請求項1〜請求項3の何れか1項に記載の印刷装置。 - 複数の動作周波数で動作可能な複数の演算処理部を備えた印刷装置であって、
処理に使用する演算処理部の数と動作周波数との少なくとも一方をユーザーから受付けて設定する設定部と、
上記複数の演算処理部を上記設定部により設定された数と動作周波数で動作させる駆動部と、
を備えることを特徴とする印刷装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010071020A JP2011201153A (ja) | 2010-03-25 | 2010-03-25 | 印刷装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010071020A JP2011201153A (ja) | 2010-03-25 | 2010-03-25 | 印刷装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011201153A true JP2011201153A (ja) | 2011-10-13 |
Family
ID=44878374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010071020A Withdrawn JP2011201153A (ja) | 2010-03-25 | 2010-03-25 | 印刷装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011201153A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014030991A (ja) * | 2012-08-06 | 2014-02-20 | Canon Inc | 画像形成装置、画像形成装置の制御方法及びプログラム |
-
2010
- 2010-03-25 JP JP2010071020A patent/JP2011201153A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014030991A (ja) * | 2012-08-06 | 2014-02-20 | Canon Inc | 画像形成装置、画像形成装置の制御方法及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8498011B2 (en) | Image forming apparatus and control method for dynamically adjusting rendering speed and printing speed | |
JP3977356B2 (ja) | 情報処理装置およびその制御方法 | |
JP4708869B2 (ja) | 情報処理装置およびその制御方法 | |
US9348546B2 (en) | Image forming apparatus, image forming method, and image forming system with rewritable print and permanent print function | |
JP5171461B2 (ja) | 情報処理装置および情報処理方法並びに情報処理システム及びプログラム | |
US11537345B2 (en) | Printing apparatus, print producing method, and program | |
JPH10285421A (ja) | プリンタ色処理モード自動制御装置、その方法、その受信装置、システム及びその記憶媒体 | |
US20070133030A1 (en) | Image processing apparatus, control method thereof, program, and storage medium | |
JP2007105917A (ja) | プリンタ装置 | |
JP5929431B2 (ja) | 画像記録装置、画像記録装置の制御方法、及び制御プログラム | |
JP2007133778A (ja) | 印刷装置及び印刷システム | |
JP2012119955A (ja) | 印刷データ生成装置及び印刷データ生成方法 | |
JP2011201153A (ja) | 印刷装置 | |
JP4858792B2 (ja) | 画像処理装置およびプログラム | |
JP4095581B2 (ja) | 情報処理装置およびその制御方法 | |
JPH1026874A (ja) | 画像出力装置及び方法 | |
US8576453B2 (en) | Method of printing document based on black optimization printing option and image forming apparatus and host device to perform the same | |
JP6185745B2 (ja) | 印刷制御装置、印刷制御方法、およびプログラム | |
US9061523B2 (en) | Image forming apparatus, control method thereof, and computer readable information recording medium | |
JP2005056294A (ja) | プリンタドライバプログラム、それを備えた印刷システム、及びプリンタ選択方法 | |
JP2011143576A (ja) | 印刷データ生成装置、画像形成装置及びプログラム | |
US20110102825A1 (en) | Image processing device having a plurality of control units | |
US11816376B1 (en) | Information processing apparatus, image forming system, and image forming method for expanding unpresented jobs and adjusting printing order | |
US11537344B2 (en) | Printing apparatus and printing method for displaying operation histories | |
JP2007108861A (ja) | プリンタ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20130604 |