(57)【特許請求の範囲】
【請求項１】
表示装置を有するコンピュータにおいて、前記表示装置に表示を行うための基本クロック信号であるビデオ・クロックの周波数を下げる方法であって、
前記コンピュータが、前記ビデオ・クロックの周波数を下げる契機を検出するステップと、
前記コンピュータが、表示装置のスクリーン上の表示色をフリッカが目立たないような色に変更するステップと、
前記コンピュータが、前記ビデオ・クロックの周波数を下げるステップを含み、
前記契機が、表示装置のスクリーン上に表示され且つ予め指定された注目ウインドウの大きさの変更により検出される、
ビデオ・クロックの周波数を下げる方法。
【請求項２】
表示装置を有するコンピュータであって、
前記表示装置に表示を行うための基本クロック信号であるビデオ・クロックの周波数を下げる契機を検出する検出器と、
前記表示装置のスクリーン上の表示色をフリッカが目立たないような色に変更し、前記ビデオ・クロックの周波数を下げるコントローラを有し、
前記契機が、表示装置のスクリーン上に表示され且つ予め指定された注目ウインドウの大きさの変更により検出される、
コンピュータ。
【請求項３】
前記表示装置に表示を行うための基本クロック信号であるビデオ・クロックの周波数をコンピュータに下げさせるプログラムを格納した記憶媒体であって、前記プログラムは、
前記ビデオ・クロックの周波数を下げる契機を検出するステップと、
表示装置のスクリーン上の表示色をフリッカが目立たないような色に変更するステップと、
前記ビデオ・クロックの周波数を下げるステップをコンピュータに実行させ、
前記契機が、表示装置のスクリーン上に表示され且つ予め指定された注目ウインドウの大きさの変更により検出される、
記憶媒体。
【発明の詳細な説明】
【０００１】
本発明は、パワーマネージメントに関し、より詳しくは、ビデオ・クロック（ｖｉｄｅｏ  ｃｌｏｃｋ；  Ｖｃｌｋ）の周波数を下げることにより省電力を可能にする技術に関する。なお、Ｖｃｌｋは、表示装置に表示を行うための基本クロック信号であり、例えばＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）への表示データを画素単位で出力するためのクロック信号を含む。
【０００２】
【従来の技術】
クロックの周波数を下げる又は止めることにより電子回路の消費電力を減らす技術は従来から用いられていた。近年特にＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の消費電力が多くなったため、ＣＰＵについては必要とされる処理量に応じてクロックの周波数の低下又は停止ということが実施されている。一方、ＬＣＤなどの表示装置に関連するビデオ・クロックの周波数は、解像度や表示色数の増加により増加傾向にあり、それに伴い消費電力も増加している。しかし、ビデオ・クロックの周波数を下げるとフリッカ等が発生し、表示品質が低下するため、通常の表示装置では行われていない。ビデオ・クロックを下げる又は表示装置のリフレッシュ・レートを下げる技術には、以下のようなものがある。なお、リフレッシュ・レートを下げることとＶｃｌｋを下げることとは均等ではない。Ｖｃｌｋをそのままにしておき水平又は垂直帰線期間を長くすることや、水平・垂直帰線期間にあてるクロック数を一定にしたまま表示に関係する全てのクロックの根本となるＶｃｌｋの周波数を下げることにより、リフレッシュ・レートを下げることができる。しかし、消費電力を減少させるためにはＶｃｌｋの周波数を下げることが効果的であり、本願ではＶｃｌｋを下げることによりリフレッシュ・レートを下げることを前提としている。
【０００３】
米国特許第５５２４２４９号は、サスペンド状態やスタンバイ状態等で表示装置の電力供給を停止する際に、Ｐｃｌｋ（ビデオ・クロックとほぼ同じ）を止め、Ｍｃｌｋ（メモリ・クロック：ビデオ・コントローラの駆動周波数）の周波数を下げるという技術を開示している。しかし、サスペンド状態やスタンバイ状態等の省電力モード以外の通常状態においてＰｃｌｋを下げる又は止めること、合わせて通常状態においてＰｃｌｋ及びＭｃｌｋを同時に下げるということは何等記載されていない。
【０００４】
米国特許第５６１５３７６号は、ＶＣＬＫ（ビデオ・クロック）を水平及び垂直帰線期間に止めること、ＭＣＬＫをフレーム・バッファへのアクセスがない場合には下げるという事項を開示している。しかし、ＶＣＬＫを通常の表示期間に下げるということ、及び通常状態においてＶＣＬＫとＭＣＬＫを同時に下げるということは何等記載していない。
【０００５】
特開平７−６４６６５号公報は、表示用メモリに対し所定時間内に各種情報データの書き込みが行われず記憶内容が変更されない場合や、電源電圧の低下が検出された場合、スリープ状態になった場合、ＬＣＤへの表示タイミングを遅くすることを開示している。しかし、表示タイミイングを遅くすることにより生ずるフリッカ等の対応策や、表示内容に影響を与えないように表示タイミングを遅くすることについては何等記載されていない。
【０００６】
特開平７−２３９４６３号公報は、アクティブマトリクス型表示装置において、リフレッシュ操作を、１フレームにつき表示装置の一部の行（例えば全２０行のうち４行おき）を対象にして、数フレーム（上の例では４フレーム）にかけて行うことを開示している。ここではフリッカ対策として上記のようなリフレッシュ操作を実施しているが、このような操作だけでは十分でない。さらに、パネル側の回路を変更する必要とする。
【０００７】
特開平６−３４２１４８号公報は、強誘電性液晶表示装置において、低フレーム周波数においても、カーソルの移動、スムーズ・スクロールやマルチウインドウ等の動画表示又はビデオ動画表示を実質的に高速化するため、画像情報の変更があった走査線のみをリフレッシュすることを開示している。これは強誘電性液晶表示装置特有の性質を用いたものである。
【０００８】
特開平９−５７８９号公報は、全画素中任意の１画素を書替え可能な液晶表示装置を用意し、当該表示装置の駆動周波数を下げる技術について開示している。当該駆動周波数は、表示色により又は動画か静止画により選択される。また、静止画又は動画にかかわらず、フリッカの生じやすい画像と生じにくい画像で駆動周波数を変更して、表示画像ごとに消費電力を最適化することも開示している。表示色は、輝度についても考慮されている。しかし、全画素中任意の１画素を書替え可能な、特別な液晶表示装置を必要としている。
【０００９】
特開平８−１７９２６９号公報は、フリッカ発生を防止するため、背景の色が明るいポジ表示と背景の色が暗いネガ表示とを表示データから区別し、ポジ表示ではフレーム周波数を増加し、ネガ表示ではフレーム周波数を減少させることが開示されている。しかし、ネガ又はポジの２段階しか判断できず、さらにフレーム周波数を変更する具体的時期、変更の具体的な仕方については詳しく記載されていない。
【００１０】
【発明が解決しようとする課題】
本発明は、ビデオ・クロックの周波数を表示品質に影響を与えないように変更することを目的とする。
【００１１】
また、より消費電力を減少させることを目的とする。
【００１２】
【課題を解決するための手段】
ビデオ・クロックの周波数を下げるため本発明は以下のステップを実施する。すなわち、ビデオ・クロックの周波数を下げる契機を検出するステップと、ビデオ・クロックを使用する回路（実施例ではＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋ  Ｌｏｏｐ）回路）が当該周波数変動に追従できる範囲においてビデオ・クロックの周波数を下げるステップと、ビデオ・クロックの周波数を下げるステップを、当該ステップにより変更されたビデオ・クロックの周波数が所定の周波数になるまで繰り返すステップとを含む。ＰＬＬ回路等の動作が乱れることによる表示内容の乱れを防止することができる。
【００１３】
本発明の他の態様では、ビデオ・クロックの周波数を下げるため、ビデオ・クロックの周波数を下げる契機を検出するステップと、ビデオ・クロックを使用する表示装置の垂直帰線期間中に、ビデオ・クロックの周波数を所定の周波数まで下げるステップと、ビデオ・クロックの周波数を変更する必要が生じるまで、下げられたビデオ・クロックの周波数を所定の周波数に保持するステップとを実施する。液晶表示装置を用いる携帯型コンピュータであってもＣＲＴに接続される場合に備え垂直帰線期間が存在する。この間は何等表示動作を実施しないので、この間にビデオ・クロックの周波数を変更すれば、表示内容に乱れを生じることなく、省電力を達成することができる。
【００１４】
本発明の第３の態様では、ビデオ・クロックの周波数を下げるために、ビデオ・クロックの周波数を下げる契機を検出するステップと、表示装置のスクリーン上の表示色をフリッカが目立たないような色に変更するステップと、ビデオ・クロックの周波数を下げるステップとを実行する。従来、表示色を基準に駆動周波数を変更する技術は存在したが（特開平９−５７８９号公報）、これではいつまでもビデオ・クロックの周波数を下げることができない。というのは、例えばＷｉｎｄｏｗｓ  ９５（Ｍｉｓｃｒｏｓｏｆｔ社の商標）の環境では、ビデオ・クロックの周波数を下げるとフリッカが目立ってしまうような表示色が多く用いられており、表示色を基準にしては省電力を達成することができない。よって、省電力を達成するためには、逆に、フリッカが目立たないような色に表示画面を変更した上で、ビデオ・クロックの周波数を下げることが必要である。これは、ワード・プロセッサのような比較的静的なアプリケーションを実行している際に、携帯型コンピュータのバッテリ残量が少なくなってしまった場合等に特に有効であると考えられる。
【００１５】
ビデオ・クロックの周波数を下げる契機は、表示装置のスクリーン上に表示されるウインドウのアプリケーションの種類により検出されるようにすることも考えられる。例えば、表示内容が頻繁に変わらないようなアプリケーションを実行しており、そのアプリケーションのウインドウが最前面で且つ表示内容が頻繁に変わるようなアプリケーションのウインドウが表示されていないような場合である。
【００１６】
また上記契機は、表示装置のスクリーン上に表示され且つ予め指定された注目ウインドウの大きさの変更により検出されるようにすることも考えられる。例えば、表示内容が頻繁に変わるようなアプリケーションのウインドウが最小化された場合には、ビデオ・クロックの周波数を下げることができる。
【００１７】
さらに上記契機は、ユーザ操作頻度の変化によって検出されるようにすることも考えられる。例えば、マウスやキーボード入力が頻繁に行われている場合には、マウス・カーソルなどの動きがユーザにストレスを感じさせないようにする必要があるため、ビデオ・クロックの周波数を下げることができない。しかし、マウスやキーボード入力が所定のレベル以下である場合には、ビデオ・クロックの周波数を下げることができる。
【００１８】
また上記契機は、プロセッサの処理内容の変化によって検出されるようにすることも可能である。通常、プロセッサの実行命令数が減少すると表示画面の変更も減少する。よって、このことを検出することによりビデオ・クロックの周波数を下げることができる。
【００１９】
また、ビデオ・コントローラの駆動周波数を、ビデオ・クロックの周波数と共に下げることも考えられる。従来技術には、Ｍｃｌｋの周波数をビデオ・クロックの停止と共に下げることを開示したものもあるが、これは通常の表示動作を実施している場合ではない。本発明の主たる対象である通常表示期間中のビデオ・クロックの周波数の低下及びビデオ・コントローラの駆動周波数の低下を示しているものではない。
【００２０】
以上は、本発明における処理のステップについて説明したものであるが、本発明は、以上の処理ステップを実行するプログラム又は回路又はそれらの組み合わせにおいて実施可能である。また、プログラムは、ＣＤ−ＲＯＭやフロッピー・ディスク、ＲＯＭなどの記憶媒体に記憶される。
【００２１】
【発明の実施の形態】
本発明の処理の一例を図１を用いて説明する。ここでは、現在多く用いられているウインドウ・システムを採用したコンピュータにおける処理の一例を示す。最初に、Ｖｃｌｋの周波数を変更する契機を検出する（ステップ１１０）。具体的には、ウインドウ・メッセージをフックし、このウインドウ・メッセージを検査することにより、アプリケーションの起動等を検出する。ウインドウ・メッセージは、ウインドウ・プロシジャにより処理される、アプリケーションの仕事の単位に関連するものである。例えばＷｉｎｄｏｗｓ  ９５のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）である  ＳｅｔＷｉｎｄｏｗｓＨｏｏｋＥｘ（）を使用することで、特定のメッセージに応答して特定の処理をするためのメッセージ・フィルタ関数（フック関数）をシステムに導入できる。この機能を使用することで、ウインドウ・プロシジャにＳｅｎｄＭｅｓｓａｇｅ（）を用いて送られてきたエッセージをモニタしたり（フック・タイプ  ＷＨ＿ＣＡＬＬＷＮＤＰＲＯＣ  のフック）、ＧｅｔＭｅｓｓａｇｅ（）又はＰｅｅｋＭｅｓｓａｇｅ（）を呼び出した直後のメッセージをモニタしたり（フック・タイプ  ＷＨ−ＧＥＴＭＥＳＳＡＧＥのフック）することができる。アクティブ・ウィンドウの切り替えは、ＷＭ＿ＡＣＴＩＶＡＴＥ  メッセージやＷＭ＿ＡＣＴＩＶＥＡＰＰメッセージをモニタすることで検出できる。
【００２２】
最初の実施例としては、スクリーン上に表示されるウインドウのアプリケーションの名前により、Ｖｃｌｋの周波数を変更するか判断する（ステップ１２０）。なお、Ｖｃｌｋの周波数を変更しない場合にはステップ１１０に戻る。Ｗｉｎｄｏｗｓ  ９５では、各ウインドウに対してウインドウ・クラスがシステムにおいて一意になるように定義されており、アプリケーションの名前は、ウインドウ・クラス名とアプリケーション名との対応表を用いれば簡単に分かる。また、ダイアログ・ボックス等で対応表に登録されていないものであっても、ウインドウの所有関係をたどり、より上位のウインドウを検査することによりアプリケーション名を判別することができる。このことは下で詳しく述べる。最初にスクリーン上に表示されているウインドウを調べる場合には、デスクトップ上に開かれているウインドウのタイトル又はウインドウ・クラス名を検査していることでアプリケーション名を知ることができる。ウインドウのタイトルは、Ｗｉｎｄｏｗｓ  ９５のＡＰＩのＧｅｔＷｉｎｄｏｗＴｅｘｔ（）を用いれば分かる。ウインドウ・クラス名は、同じくＡＰＩのＧｅｔＣｌａｓｓＮａｍｅ（）で知ることができる。また、本ステップの２回目以降の処理では、ウインドウ・メッセージを検査すれば、新たに起動されたウインドウ又は終了されたウインドウなどのアプリケーション名を知ることができる。
【００２３】
アプリケーションの名前が分かると、当該アプリケーションの性質により、高速なＶｃｌｋを必要とするか否かを判断することができる。すなわち、動画を伴うゲームやビデオを表示するアプリケーションなどは高速なＶｃｌｋを必要とするが、ワードプロセッサやスプレッド・シートのような比較的静的なアプリケーションにおいては、フリッカを生じない程度のＶｃｌｋでよい。よって、一例としては、各アプリケーションごとにＶｃｌｋの周波数を定義しておき、表示されるウインドウのアプリケーションのうち最も高速なＶｃｌｋを必要とするアプリケーションのＶｃｌｋを採用することが考えられる。
【００２４】
また、他の例としては、高速なＶｃｌｋを必要とするアプリケーション群と低速なＶｃｌｋで構わないアプリケーション群に、実行する可能性のあるアプリケーションを予め分類しておき、表示されるアプリケーションが全て低速なＶｃｌｋで構わないアプリケーションである場合には、低速なＶｃｌｋに変更する。一方、一つでも表示されるアプリケーションに高速なＶｃｌｋを必要とする場合には、高速なＶｃｌｋを採用する。
【００２５】
このような定義は、ユーザが実施してもよいし、コンピュータを出荷する際にプリ・インストールするアプリケーションについてメーカーが予め登録しておくことも可能である。
【００２６】
上ではアプリケーションごとにＶｃｌｋを規定するということを述べたが、ウインドウ・クラス名で判断する場合には、あるアプリケーションが幾つかのウインドウを所有している場合や子供のウインドウを生成した場合、アプリケーションが何であるかという問題が生じる。この際には、Ｗｉｎｄｏｗｓ  ９５のＡＰＩである  ＧｅｔＷｉｎｄｏｗ（）  や  ＧｅｔＰａｒｅｎｔ（）  を用いることにより、ダイアログボックスなどの子ウィンドウから、呼び出し元の親ウィンドウを調べることができる。これを用いてアプリケーション名を知ることができる。
【００２７】
このようにして、Ｖｃｌｋの周波数を変更する場合には、周波数が増加する場合と減少する場合があり、いずれかによって処理が異なる（ステップ１３０）。当然、動画などを表示するウインドウがスクリーン上に新たに発生したり、前面に出されると、Ｖｃｌｋの周波数を増加しなければならない（ステップ１６０）。この場合には、なるべく早くＶｃｌｋの周波数を増加させないと、フリッカが生じたり、表示内容がとぎれたりして、ユーザビリティが低下する。
【００２８】
一方、Ｖｃｌｋの周波数を減少させる場合には、すぐさま周波数を減少させなくともユーザビリティの低下はない。よって、ここでユーザにＶｃｌｋの周波数を下げることを通知する（ステップ１４０）。このステップは任意である。当該通知は、ユーザにポップアップ・ウインドウを表示することにより行っても、音声によっておこなってもよい。単にＶｃｌｋの周波数を削減するだけでなく、さらに表示色の変更を行うとさらにＶｃｌｋの周波数を下げることができ、それにより消費電力を削減することができることを通知するようにしてもよい。Ｖｃｌｋの周波数を下げると副作用としてフリッカを生じるが、人間がフリッカを感じるのは特定の場合であり、フリッカを感じにくい配色も存在する。例えば、中間調を含まないＲＧＢ（赤・緑・青）三原色のみの組み合わせで作成される色や白黒は、フリッカを感じさせにくい。また、Ｗｉｎｄｏｗｓ  ９５における画面のデザインでハイコントラスト（白）と呼ばれる配色もフリッカを感じさせにくい。よって、表示されているウインドウの各パーツの色を、フリッカを感じさせにくい色の組み合わせに変更すれば、よりＶｃｌｋの周波数を下げることができる。色の変更を実施する場合の処理の概略を図２に示す。なお、ユーザに予告することなく色の変更を実施してもよいが、故障等と誤解される場合もあるので、少なくとも１度は通知することが好ましい。
＃ｄ
なお、図２の処理は独立して実施可能であり、例えば図２における契機は、ユーザの命令、ユーザ・インタラクションが所定時間なかったということ、画面の更新が所定時間なかったということ、予め指定された注目ウインドウがバックグランドになったこと等が考えられる。
【００２９】
そして、Ｖｃｌｋの周波数を実際に下げる処理を実施する（ステップ１５０）。この処理については後ほど詳しく述べる。そして、処理が終了するか否か判断し、終了しない場合にはステップ１１０に戻る（ステップ１７０）。
【００３０】
以上では、ウインドウのアプリケーション名によってＶｃｌｋの周波数を変化させる場合を述べたが、これだけがＶｃｌｋの周波数を変化させる契機ではない。例えば、ウインドウ・メッセージのうちマウスやキーボードに関するものをフック（ＷＭ＿ＫＥＹＤＯＷＮメッセージやＷＭ＿ＬＢＯＴＴＯＮＤＯＷＮなど）して、ユーザの操作頻度を検出し、頻繁に操作を実施していると判断できる場合には、Ｖｃｌｋの周波数を高速に保ち、あまり操作を実施していないと判断された場合には、Ｖｃｌｋの周波数を低速にするということが考えられる。マウスやキーボードのイベントを監視するのは、ウインドウ・メッセージのみならず、デバイス・ドライバのレベルでハードウエア割り込みを監視することでも実現することができる。
【００３１】
さらに、予め指定された注目すべきウインドウのミニマイズやマキシマイズなどのウインドウの大きさの変更も、ウインドウ・メッセージＷＭ＿ＳＩＺＥを監視することにより、検出することができる。そして、注目ウインドウが例えば動画を表示するようなアプリケーションのウインドウである場合には、ウインドウが所定以下の大きさになった場合には、Ｖｃｌｋの周波数を下げることも考えられる。また、注目ウインドウが例えばワードプロセッサようなアプリケーションのウインドウである場合、ウインドウがマキシマイズされた場合には、Ｖｃｌｋの周波数を下げることも考えられる。
【００３２】
さらに、デスクトップ画面全体又はフォアグラウンドのアプリケーション・ウインドウのビットマップを調べて、その内容によってフリッカを生じないようなＶｃｌｋの周波数を設定することも可能である。
【００３３】
さらに、Ｐｅｎｔｉｕｍ（Ｉｎｔｅｌ社の商標）プロセッサにおいては、ＭＳＲ（Ｍｏｄｅｌ  Ｓｐｅｃｉｆｉｃ  Ｒｅｇｉｓｔｅｒ）というレジスタが用意されており、このレジスタからプロセッサの実行命令数や実行Ｉ／Ｏ命令数などが分かる。この実行命令数や実行Ｉ／Ｏ命令数等をＭＳＲから取得することにより、プロセッサの処理内容、実行状況、負荷状態を検出することができる。例えば、実行命令数が少ない場合には、通常は描画命令の実効数も少ないばずであるので、Ｖｃｌｋの周波数を下げることができると考えられる。よって、プロセッサの実行状況等を契機として、Ｖｃｌｋの周波数を変更することも可能である。
【００３４】
では、Ｖｃｌｋの周波数を実際に下げる処理（ステップ１５０）について述べる前に、図３を用いてコンピュータ１の構成を説明しておく。コンピュータ１では、プロセッサ３とビデオ・コントローラ７がバス５に接続している。プロセッサ３は、周辺回路を介してバス５に接続する場合もある。バス５は、バス・クロック（Ｂｕｓ  ＣＬＫ）で動作している。ビデオ・コントローラ７は、フレーム・バッファ２９とＬＶＤＳ１（Ｌｏｗ  Ｖｏｌｔａｇｅ  Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｓｉｇｎａｌ１９）とに接続している。また、ビデオ・コントローラ７は外部からベース・クロックが供給されている。ビデオ・コントローラ７に接続されているＬＶＤＳ１（１９）は送信側であり、受信側のＬＶＤＳ２（２５）に接続されている。なお、ＬＶＤＳ１（１９）にはＰＬＬ３（２１）が、ＬＶＤＳ２（２３）にはＰＬＬ４（２３）が接続されている。ＬＶＤＳ２（２５）の出力は、ゲート・ドライバ３１とデータ・ドライバ３３に接続され、これらゲート・ドライバ３１及びデータ・ドライバ３３によりＬＣＤパネル２７が駆動されるようになっている。なお、ＬＶＤＳ１及びＬＶＤＳ２は、ＰａｎｅｌＬｉｎｋ（Ｓｉｌｉｃｏｎ  Ｉｍａｇｅ  Ｉｎｃ．  社の商標）など、複数ビットの画素データをシリアル化してＬＣＤパネル２７へ送信する、同等なデバイスで代替可能である。
【００３５】
また、ビデオ・コントローラ７内は、ＰＬＬ１（９）とＰＬＬ２（１１）と、バス・インターフェース１３と、ＬＣＤ出力回路１７と、それ以外の制御回路１５がある。ＰＬＬ１（９）はメモリ・クロックＭｃｌｋを制御回路１５に供給し、ＰＬＬ２（１１）はＶｃｌｋをＬＣＤ出力回路１７に供給しており、制御回路１５はＭｃｌｋで、ＬＣＤ出力回路１７はＶｃｌｋで動作する。バス・インターフェース１３はバス・クロックにて動作している。バス・インターフェース１３と制御回路１５、制御回路１５とＬＣＤ出力回路１７は接続されている。
【００３６】
では、図３のコンピュータ１の動作を説明する。プロセッサ１はバス５を介してビデオ・コントローラ７に描画に必要なデータ及び命令を送信する。ビデオ・コントローラ７のバス・インターフェース１３は、バス５とやり取りをして必要な情報を制御回路１５に渡す。制御回路１５は、フレーム・バッファ２９の読み書き、描画処理及びビデオ・コントローラ７の制御を実施する。制御回路１５はＬＣＤパネル２７の定期的なリフレッシュを行うため、フレーム・バッファ２９の内容をＬＣＤ出力回路１７に出力する。そして、ＬＣＤ出力回路１７は、表示されるＲＧＢデータをＶｃｌｋで出力し、水平同期信号Ｈｓｙｎｃ、垂直同期信号Ｖｓｙｎｃも出力する。ＬＶＤＳ１（１９）は、ＥＭＩ対策のためＲＧＢのディジタル信号をＲ・Ｇ・Ｂそれぞれ１本のシリアルな差動電圧信号に変換し且つ送信するものであって、ＰＬＬ３（２１）から供給されるクロックで動作している。一方、受信側のＬＶＤＳ２（２５）は、ＬＶＤＳ１（１９）からの信号を受信し、データ・ドライバにＶｃｌｋでＲＧＢデータを出力する。さらに、ゲート・ドライバ３１に、Ｈｓｙｎｃ信号及びＶｓｙｎｃ信号を出力する。ここで、ＬＶＤＳ２（２５）は、ＬＶＤＳ１（１９）から送られてくる信号を正確に取り込み、Ｖｃｌｋで信号を出力するため、ＰＬＬ４（２３）からのクロック信号を使用する。
【００３７】
データ・ドライバ３３及びゲート・ドライバ３１及びＬＣＤ２７の動作は、通常と同様であって、ゲート・ドライバ３１がＬＣＤパネル２７をゲート線１本ずつ走査していき、それに合わせてデータ・ドライバ３３は、ゲート線１本ずつデータを書き込んでいき、全体として必要なデータをＬＣＤパネル２７に書き込む。
【００３８】
以上のように、Ｖｃｌｋが用いられるのは、ＬＣＤ出力回路１７及びＬＶＤＳ１（１９）及びＬＶＤＳ２（２５）及びデータ・ドライバ３３においてである。この図３のような構成において、Ｖｃｌｋの周波数を下げると、ＰＬＬ３（２１）及びＰＬＬ４（２３）の動作に影響が及ぶ。これは、ＰＬＬ３（２１）はＶｃｌｋ又はＶｃｌｋに同期した信号を用いて発振しているからである。特にＬＶＤＳ１（１９）に接続されるＰＬＬ３（２１）の発振が乱れると、その影響が後ろの回路に及ぶ。よって、ＰＬＬ３（２１）の発振が安定していないと、表示される画像にも影響が生じてしまう。
【００３９】
そこで、本発明では、ＰＬＬ３（２１）が追従できる範囲で少しずつ、Ｖｃｌｋが所望の周波数となるように変更していく。この処理を図４に示す。上で述べたようにＶｃｌｋの周波数を下げる契機を検出し（ステップ２１０）、ＰＬＬが追従できる幅でＶｃｌｋの周波数を下げる（ステップ２２０）。例えば、最大５％の振れまで追従できるようなＰＬＬであれば、１回当たり５％以下の幅でＶｃｌｋの周波数を下げる。例えば、このステップ２２０を１フレーム当たり１回行う。そして、この下げられたＶｃｌｋの周波数が、所望の周波数になるまで繰り返す（ステップ２３０）。なお、ステップ２２０及びステップ２３０は、ソフトウエアによって実施することも、制御回路１５にて実施することも可能である。
【００４０】
このようにすれば、ＰＬＬ３（２１）の発振は乱れることがないので、ＬＶＤＳ２（２３）以降の回路に混乱が伝搬されず、表示内容も乱れずに、ユーザビリティの低下はない。なお、ＰＬＬの周波数は、分子と分母と分周器の３パラメータで指定するのが一般的で、次にセットする値を現在のパラメータ構成となるべく近い値にすれば、各パラメータがＰＬＬの位相検出器にロードされるタイミングの時間差に起因するＰＬＬの大きな動揺を抑えることができる。例えば、「分子＝１５、分母＝２３」でリフレッシュ・レート６０Ｈｚだとすると、５９Ｈｚを達成するために「分子＝３０、分母＝４３」をセットするのではなく、近似的に「分子＝１５、分母＝２２」の方が好ましい。
【００４１】
図３はコンピュータ１の一例であって、特に解像度の高い（例えばＸＧＡ）コンピュータについての例である。このような解像度の場合、例えばＶｃｌｋは６５ＭＨｚであり、Ｍｃｌｋは８４ＭＨｚである。
【００４２】
また、図５に示すようにコンピュータ１’ビデオ・コントローラ以降の回路を構成することも可能である。図３に表されたものと機能的に同様のものには同じ参照番号が付されている。ここでは、ＬＣＤ出力回路１７の出力がそのままデータ・ドライバ３３及びゲート・ドライバ３１に出力されている。このＬＣＤ出力回路１７の出力はＶｃｌｋに従う。図３の回路と異なる点には、ビデオ・コントローラ４１がフレーム・バッファ２９を内蔵している点もあるが、これは本発明では大きな問題ではない。このような構成では、解像度は図３の場合のように高くなく、例えばＳＶＧＡ（８００×６００）程度であり、例えばＶｃｌｋ＝４０ＭＨｚ、Ｍｃｌｋ＝５８ＭＨｚである。
【００４３】
図５のような構成においては、ＬＣＤ出力回路１７のＲＧＢデータはデータ・ドライバ３３に、Ｈｓｙｎｃ信号及びＶｓｙｎｃ信号はゲート・ドライバ３１に直接出力される。このような構成においては、ＬＶＤＳのＰＬＬの心配をする必要はないが、データ・ドライバ３３及びゲート・ドライバ３１が描画動作を実施している間にＶｃｌｋの周波数を下げると、制御回路１５からＬＣＤ出力回路１７へのデータの受渡しが乱れ、その結果表示内容が乱れてしまう。よって、本発明では、Ｖｃｌｋの変更を垂直帰線期間に行う。なお、Ｈｓｙｎｃ信号Ｖｓｙｎｃ信号はＶｃｌｋをカウンタで分周することにより生成されるので、Ｖｃｌｋが連続的に変化する限りＶｃｌｋに追従できる。
【００４４】
すなわち、Ｖｃｌｋの周波数を下げる契機を検出しても（図６、ステップ３１０）、直ぐには周波数を下げず、垂直帰線期間を検出して、その期間中に、所定の周波数にＶｃｌｋの周波数を下げる（ステップ３２０）。そして、次の周波数変更までＶｃｌｋの周波数を保持する（ステップ３３０）。なお、ステップ３２０及び３３０は、ソフトウエアで実施することも可能であり、また制御回路１５が実施してもよい。
【００４５】
ステップ３２０をさらに詳しく説明すると、図７における垂直帰線期間中、Ｖｓｙｎｃ信号より前をフロント・ポーチ期間、後ろをバック・ポーチ期間といい、好ましくはフロント・ポーチ期間中にＶｃｌｋの周波数の変更を実施する。但し、ソフトウエアで実施する場合には、Ｖｓｙｎｃ信号のタイミングしか分からないような場合もあるので、Ｈｓｙｎｃ信号を乱さないように、バック・ポーチ期間に変更することでも構わない。制御回路１５で行う場合又は他の別の回路で行う場合には、各タイミングを検出するようにすることが可能である。
【００４６】
また、上で述べたようにＶｃｌｋの周波数はＭｃｌｋの周波数より低く、通常Ｍｃｌｋは、Ｖｃｌｋに必要な帯域幅（周波数）に加えて、フレーム・バッファのリフレッシュやプロセッサ及びビデオ・コントローラに必要な帯域幅（周波数）を加えて設計される。よって、Ｖｃｌｋの周波数が下げられる場合には、Ｍｃｌｋには余裕が生じる。この余裕を、プロセッサやビデオ・コントローラに振り分けることもできるが、実際にＶｃｌｋの周波数を下げる場合には描画が頻繁に行われる期間ではないので、Ｖｃｌｋの周波数を減らした分はＭｃｌｋを減らすことも可能である。さらに、描画が頻繁に行われる期間ではないので、Ｖｃｌｋの周波数を減らした分以上にＭｃｌｋの周波数を減らすことも可能である。
【００４７】
【効果】
ビデオ・クロックを表示品質に影響を与えないように変更することができた。
【００４８】
また、より消費電力を減少させることもできた。
【図面の簡単な説明】
【図１】本発明の処理フローを表した図である。
【図２】図１のステップ１３０の詳細な処理フローを示した図である。
【図３】本発明におけるコンピュータの第１の構成例の図である。
【図４】図１のステップ１４０の詳細な処理フローを示した図である。
【図５】本発明のにおけるコンピュータの第２の構成例の図である。
【図６】図１のステップ１４０の詳細な処理フローを示した図である。
【図７】（ａ）は表示タイミングを表し、（ｂ）は水平同期信号を表す図であり、（ｃ）は垂直同期信号を表す図であり、フロント・ポーチ期間とバック・ポーチ期間を説明するための図である。
【符号の説明】
１  コンピュータ
３  プロセッサ
５  バス
７  ビデオ・コントローラ
９  ＰＬＬ１
１１  ＰＬＬ２
１３  バス・インターフェース
１５  制御回路
１７  ＬＣＤ出力回路
１９  ＬＶＤＳ１
２１  ＰＬＬ３
２３  ＰＬＬ４
２５  ＬＶＤＳ２
２７  ＬＣＤパネル
２９  フレーム・バッファ
３１  ゲート・ドライバ
３３  データ・ドライバ
４１  ビデオ・コントローラ
【図１】
0003586369.tif 000002
【図２】
0003586369.tif 000003
【図３】
0003586369.tif 000004
【図４】
0003586369.tif 000005
【図５】
0003586369.tif 000006
【図６】
0003586369.tif 000007
【図７】
0003586369.tif 000008