(57)【要約】【課題】連続して高速で入力されたステップ信号に対してディスプレイの輝度変化を良好に追従させるためのステップ信号の処理方法を提供する。【解決手段】操作ステップ値生成部３５１は、キーボード１７から連続するステップ信号を受け取り、制御輝度値生成部３５７がそれに対応する制御輝度値を輝度情報格納部３５３に格納する。格納された制御輝度値は後続のステップ信号が入力されるたびに更新される。出力制御部３５５は制御輝度値をコンバータ５９に送出した後につぎの制御輝度値を送出できる状態になるまで待機する。出力制御部は、待機時間中に制御輝度値が更新されたと判断したときには、更新された最新の制御輝度値をコンバータに送出する。待機時間中に更新された途中の制御輝度値はスキップされて送出されるため、輝度はステップ信号に良好に追従して変化する。【選択図】図４
2010139586.tif 000002
【特許請求の範囲】
【請求項１】
ディスプレイの輝度をキーボードから入力されたステップ信号で変更するコンピュータが、前記ステップ信号を処理する方法であって、
前記キーボードから連続するステップ信号を受け取り該ステップ信号に対応する制御輝度値を生成する生成工程と、
新たな制御輝度値を生成するたびに前記制御輝度値を更新する更新工程と、
前記制御輝度値を前記ディスプレイの輝度設定デバイスに送出する第１の送出工程と、
前記第１の送出工程から前記輝度設定デバイスにつぎの制御輝度値を送出できる状態になるまで待機する待機工程と、
前記待機工程が完了したことを認識する認識工程と、
前記認識工程に応答して前記待機工程の間に前記制御輝度値が更新されたか否かを判断する判断工程と、
前記判断工程において前記制御輝度値が更新されたと判断したときには前記待機工程の間に更新された最新の前記制御輝度値を前記輝度設定デバイスに送出する第２の送出工程と
を有する処理方法。
【請求項２】
前記判断工程において前記制御輝度値が更新されていないと判断したときにはそれ以後に最初に更新された制御輝度値を前記輝度設定デバイスに送出する第３の送出工程を有する請求項１に記載の処理方法。
【請求項３】
前記更新工程は、古い制御輝度値をそれ以後に生成された制御輝度値で置換する工程を含む請求項１または請求項２に記載の処理方法。
【請求項４】
前記輝度設定デバイスが、前記制御輝度値に対応する大きさのＰＷＭ信号を前記ディスプレイのバックライト制御回路に出力する請求項１から請求項３のいずれかに記載の処理方法。
【請求項５】
前記待機工程の間に前記制御輝度値が更新されたことを示す更新フラグを設定する工程と、前記待機工程が実行されていることを示す応答待ちフラグを設定する工程を有する請求項１から請求項４のいずれかに記載の処理方法。
【請求項６】
前記第１の送出工程と前記第２の送出工程がそれぞれ前記更新フラグを前記制御輝度値が更新されていない状態に設定し前記応答待ちフラグを前記待機工程が実行されている状態に設定する工程を含む請求項５に記載の処理方法。
【請求項７】
前記判断工程が前記更新フラグを参照する工程を含む請求項５に記載の処理方法。
【請求項８】
デバイスの制御量をユーザが操作する入力装置から入力されたステップ信号で変更する電子機器が、前記ステップ信号を処理する方法であって、
前記入力装置から連続するステップ信号を受け取り該ステップ信号に対応するデバイス制御値を生成する生成工程と、
新たなデバイス制御値を生成するたびに前記デバイス制御値を更新する更新工程と、
前記デバイス制御値を前記デバイスに送出する第１の送出工程と、
前記第１の送出工程から前記デバイスにつぎのデバイス制御値を送出できる状態になるまで待機する待機工程と、
前記待機工程が完了したことを認識する認識工程と、
前記認識工程に応答して前記待機工程の間に前記デバイス制御値が更新されたか否かを判断する判断工程と、
前記判断工程において前記デバイス制御値が更新されたと判断したときには前記待機工程の間に更新された最新の前記デバイス制御値を前記デバイスに送出する第２の送出工程と
を有する処理方法。
【請求項９】
デバイスの状態をユーザが操作する入力装置から入力されたデバイス制御信号で変更する電子機器が、前記デバイス制御信号を処理する方法であって、
前記入力装置から連続するデバイス制御信号を受け取り該デバイス制御信号に対応するデバイス制御値を生成する生成工程と、
新たなデバイス制御値を生成するたびに前記デバイス制御値を更新する更新工程と、
前記デバイス制御値を前記デバイスに送出する第１の送出工程と、
前記第１の送出工程から前記デバイスにつぎのデバイス制御値を送出できる状態になるまで待機する待機工程と、
前記待機工程が完了したことを認識する認識工程と、
前記認識工程に応答して前記待機工程の間に前記デバイス制御値が更新されたか否かを判断する判断工程と、
前記判断工程において前記デバイス制御値が更新されたと判断したときには前記待機工程の間に更新された最新の前記デバイス制御値を前記デバイスに送出する第２の送出工程と
を有する処理方法。
【請求項１０】
キーボードから入力されたステップ信号でディスプレイの輝度を変更するコンピュータであって、
プロセッサと、
前記プロセッサが実行するプログラムを記憶するメイン・メモリと、
前記ディスプレイのバックライト制御回路の電圧値または電流値を設定する輝度設定デバイスと、
前記キーボードから入力されたステップ信号に対応する制御輝度値を生成する輝度値生成部と、
新たに生成された制御輝度値で古い制御輝度値を更新しながら格納する前記メイン・メモリ上の情報格納部と、
前記情報格納部に格納された制御輝度値を前記輝度設定デバイスに送出する出力制御部とを有し、
前記出力制御部は、前記輝度設定デバイスに対して前記制御輝度値を送出してからつぎの制御輝度値を送出できる状態になったと判断したときに前記情報格納部に格納された前記制御輝度値が更新されたか否かを判断し、前記制御輝度値が更新されたと判断したときには前記更新された最新の制御輝度値を前記輝度設定デバイスに送出するコンピュータ。
【請求項１１】
前記輝度設定デバイスに対して制御輝度値を送出してからつぎの制御輝度値を送出できるようになるまでの状態を示す応答待ちフラグの記憶領域が前記メイン・メモリ上に確保された請求項１０に記載のコンピュータ。
【請求項１２】
前記応答待ちフラグが設定されている間に前記情報格納部に格納された前記制御輝度値が更新されたことを示す更新フラグの記憶領域が前記メイン・メモリ上に確保された請求項１０または請求項１１に記載のコンピュータ。
【請求項１３】
前記輝度設定デバイスは前記ディスプレイに画像データを出力するグラフィカル・プロセッシング・ユニットと前記ディスプレイとの間に接続されたプロトコル・コンバータである請求項１０から請求項１２のいずれかに記載のコンピュータ。
【請求項１４】
ユーザが操作する入力装置から入力されたステップ信号でデバイスの制御量を変更する電子機器であって、
プロセッサと、
前記入力装置から入力されたステップ信号に対応するデバイス制御値を生成する制御値生成手段と、
新たに生成されたデバイス制御値を古いデバイス制御値に上書きしながら格納する記憶手段と、
前記記憶手段に格納されたデバイス制御値を前記デバイスに送出する出力制御手段とを有し、
前記出力制御手段は、前記デバイスに対して前記デバイス制御値を送出してからつぎのデバイス制御値を送出できる状態になったと判断したときに前記記憶手段に格納された前記デバイス制御値が上書きされたか否かを判断し、前記デバイス制御値が上書きされたと判断したときには最新の前記デバイス制御値を前記デバイスに送出する電子機器。
【請求項１５】
ユーザが操作する入力装置から入力されたデバイス制御信号でデバイスの状態を変更する電子機器であって、
プロセッサと、
前記入力装置から入力されたデバイス制御信号に対応するデバイス制御値を生成する制御値生成手段と、
新たに生成されたデバイス制御値を古いデバイス制御値に上書きしながら格納する記憶手段と、
前記記憶手段に格納されたデバイス制御値を前記デバイスに送出する出力制御手段とを有し、
前記出力制御手段は、前記デバイスに対して前記デバイス制御値を送出してからつぎのデバイス制御値を送出できる状態になったと判断したときに前記記憶手段に格納された前記デバイス制御値が上書きされたか否かを判断し、前記デバイス制御値が上書きされたと判断したときには最新の前記デバイス制御値を前記デバイスに送出する電子機器。
【請求項１６】
ディスプレイの輝度をキーボードから入力されたステップ信号で変更するコンピュータに、
前記キーボードから連続するステップ信号を受け取り該ステップ信号に対応する制御輝度値を生成する生成手順と、
新たな制御輝度値を生成するたびに前記制御輝度値を更新する更新手順と、
前記制御輝度値を前記ディスプレイの輝度設定デバイスに送出する第１の送出手順と、
前記第１の送出手順から前記輝度設定デバイスにつぎの制御輝度値を送出できる状態になるまで待機する待機手順と、
前記待機手順が完了したことを認識する認識手順と、
前記認識手順に応答して前記待機手順の間に前記制御輝度値が更新されたか否かを判断する判断手順と、
前記判断手順において前記制御輝度値が更新されたと判断したときには前記待機手順の間に更新された最新の前記制御輝度値を前記輝度設定デバイスに送出する第２の送出手順と
を実行させるコンピュータ・プログラム。
【請求項１７】
前記認識手順が、前記ディスプレイに対するアクセスを制御するビデオ・ドライバからレディ・イベントの通知を受け取る手順を含む請求項１６に記載のコンピュータ・プログラム。
【請求項１８】
前記コンピュータ・プログラムが単一のスレッドで実行される請求項１６または請求項１７に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はユーザがコンピュータのキーボードまたはボタンを押下してデバイスの制御量またはデバイスの状態を変化させる技術に関し、さらに詳細には連続して高速にキーボードまたはボタンが押下されることに対してデバイスの制御量またはデバイスの状態変化を良好に追従させる技術に関する。
【背景技術】
【０００２】
ノートブック型パーソナル・コンピュータ（以下、ノートＰＣという。）は、軽量かつ小型であるため携帯性に優れている一方、ドッキング・ステーションやポート・リプリケータなどの機能拡張装置に接続することでデスクトップ型のコンピュータと同等の機能を実現することができる。ノートＰＣは通常１つのディスプレイしか搭載していないため、２つ以上のディスプレイを使用するためには、機能拡張装置を通じて外部ディスプレイに接続したり、外部端子に外部ディスプレイを接続したりする必要がある。
【０００３】
多くのウインドウを開いて作業するような場合に、ディスプレイが一つしかない場合は、各ウインドウが重なってしまったり、同時に表示するために縮小せざるを得なかったりして作業に不便である。近年ノートＰＣに２つのディスプレイが装備されたいわゆるデュアル・ディスプレイ式のノートＰＣが開発されている。特許文献１および特許文献２は、キーボードのキーを操作してディスプレイの輝度を変更する技術を開示する。これらの技術では、人間がキーを入力した回数に応じて輝度がステップ状に変化する。
【特許文献１】特開平０６−１０２９７４号公報
【特許文献２】特開２０００−２６７７９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ノートＰＣに組み込まれたディスプレイには、一般に輝度調整用のボタンが装備されていないため、輝度の調整をキーボードからステップ信号を入力して行う場合がある。そして、ディユアル・ディスプレイ式のノートＰＣでは、プライマリとセカンダリの２つのディスプレイの輝度をそれぞれ単独で変更する方法もあるが、操作の負担を軽くするためには同一のキー操作で輝度を同時に変更することが有効である。同一のキーを連続的に高速で操作して輝度を変更する場合に、ソフトウエアおよびハードウエアで構成されたプライマリ・ディスプレイとセカンダリ・ディスプレイに関するそれぞれの輝度制御系が相違すると、一方の輝度の追従速度が他方に比べて遅い場合がある。
【０００５】
たとえば、プライマリ・ディスプレイにグラフィック・プロセッシング・ユニット（ＧＰＵ）が輝度データを設定し、セカンダリ・ディスプレイにはプロトコル・コンバータが輝度データを設定するような場合には、ユーザがセカンダリ・ディスプレイの輝度の追従速度が遅いと感じる場合がある。ユーザは２つの画面を同時に見ているので、キー入力に対する輝度の追従速度をいずれのディスプレイに対してもユーザが同等に感じることが望ましい。そして追従速度の遅い輝度制御系のソフトウエアを改良して追従速度を速くすることができれば、ハードウエアの変更を回避できるので一層望ましい。
【０００６】
キーボードのキーをユーザが操作して入力したステップ信号は、コンピュータの内部で輝度制御用ソフトウエアにより制御輝度値に変換されてＧＰＵやプロトコル・コンバータなどの輝度設定デバイスに設定される。輝度設定デバイスは制御輝度値をそれに対応する大きさの電圧または電流に変換してディスプレイに供給する。ディスプレイでは入力された制御輝度値に応じて輝度がステップ状に変化する。ユーザが連続して高速にキーを操作した場合には、それに対応する制御輝度値が連続して輝度設定デバイスに設定される。このとき、デバイス・ドライバは、最初の制御輝度値を輝度設定デバイスに設定してから次の制御輝度値を設定することができる状態になるまで一定の時間を必要とする。たとえば、操作ステップ値１に対応する輝度で表示しているディスプレイに、キーボードから４個のステップ信号を連続して高速に入力しても、輝度制御用ソフトウエアは、ユーザが操作ステップ値を５まで変化させた時点で輝度設定デバイスに操作ステップ値３までしか設定できない場合がある。
【０００７】
連続して高速に入力されたステップ信号に遅延しないようにディスプレイの輝度を変化させるために、輝度制御用ソフトウエアがステップ信号を操作ステップ値に変換するスレッドとは別のスレッドを生成してポーリングまたはイベント発行により処理する方法が考えられる。ポーリングによる方法では、入力されたステップ信号に対応する操作ステップ値をメイン・スレッドで生成して格納部に格納し、さらに、新たな操作ステップ値が生成された場合は格納部を更新する。そして、別スレッドで格納部のデータをポーリングしたときに格納部の操作ステップ値が更新されていればその値をデバイス・ドライバに送る。
【０００８】
その結果、ビデオ・ドライバが新たな制御輝度値を受け取ることができる状態になった時点で、格納部の更新された最新の操作ステップに対応する制御輝度値をビデオ・ドライバに送ることができる。具体的には、別スレッドは最初に操作ステップ１に対応する制御輝度値をビデオ・ドライバに送り、ビデオ・ドライバが新たな制御輝度値を受け取ることができる時点で格納部をポーリングしたときに格納部に格納されていた操作ステップ値が３に更新されていれば、それをデバイス・ドライバに送ることができるので操作ステップ値２をスキップすることで輝度変化の追従速度は速くなる。
【０００９】
イベント発行による方法では、デバイス・ドライバに制御輝度値を送るための別スレッドに、デバイス・ドライバが新たな制御輝度値を受け取ることができるイベント待ちの状態を形成する。具体的には、メイン・スレッドが実行されて格納部の操作ステップ値が更新されるたびに別スレッドにイベントを発行することで、別スレッドがイベント待ちのときに限りデバイス・ドライバに更新された操作ステップ値に対応する制御輝度値を送る。この場合もポーリングによる方法と同じように、操作ステップ値２をスキップして操作ステップ値１の次に操作ステップ値３を送ることができる。
【００１０】
しかし、いずれの方法でも輝度制御用ソフトウエアは、ステップ信号により制御データを更新するメイン・スレッドとは別に新たな制御データを送ることができる時点を判断してデバイス・ドライバに制御データを送る別スレッドを生成する必要がある。輝度の変更のために別スレッドを生成する方法では、そのためにＣＰＵやメモリなどのリソースを浪費することになり好ましくない。また、そのような方法はマルチ・スレッドに対応しないコンピュータ環境には適用することができない。
【００１１】
そこで本発明の目的は、連続して高速に入力されたステップ信号または数値に対してデバイスの制御量またはデバイスの状態を良好に追従させるためのステップ信号または数値の処理方法を提供することにある。さらに本発明の目的は、ソフトウエアが単一のスレッドで連続して高速に入力されたステップ信号または数値の処理をすることができる処理方法を提供することにある。さらに本発明の目的は、そのような処理方法を実現する電子機器およびコンピュータを提供することにある。
【課題を解決するための手段】
【００１２】
本発明の一の態様では、ディスプレイの輝度をキーボードから入力されたステップ信号で変更するコンピュータが、ステップ信号の処理をする方法を提供する。ディスプレイはコンピュータに組み込まれていても、また、コンピュータの外部端子に接続されていてもよい。ステップ信号は輝度に関する絶対値に相当する大きさは備えておらず、単位量だけ操作ステップ値を上昇方向または下降方向に変化させる信号である。ユーザは、輝度設定デバイスに所定の操作ステップに対応する制御輝度値を設定するため、キーボードから所定の個数のステップ信号を上昇方向または下降方向に入力する。具体的には、現在の操作ステップ値が１のときに操作ステップ値を５まで変化させるためには、４個の上昇方向のステップ信号を入力する。
【００１３】
本発明においては、ユーザがキーボードから上昇方向、下降方向または上昇方向から下降方向またはその逆方向の転換というように連続して高速にステップ信号を入力する場合のステップ信号の処理を行う。制御輝度値は、ディスプレイの輝度に対応して構成された離散的なデータである。１個の上昇方向のステップ信号を入力すると制御輝度値が現在よりも１段階上昇し、１個の下降方向のステップ信号を入力すると制御輝度値が現在よりも１段階下降する。制御輝度値間の間隔は均等である必要はない。また、制御輝度値は、ユーザが制御するステップ数に対応する操作ステップ値でマッピングしてもよい。制御輝度値を操作ステップ値でマッピングすれば、操作ステップ値はユーザの操作に適した比較的少ないステップ数で構成し、制御輝度値を数の多いステップ数で構成してディスプレイの特性に合わせて適切に調整された輝度の設定をすることができる。
【００１４】
制御輝度値はデバイス・ドライバを経由して輝度設定デバイスに送出される。輝度設定デバイスは、ディスプレイのバックライト制御回路に対して制御された電圧または電流を供給するＧＰＵまたはプロトコル・コンバータとすることができる。輝度設定デバイスは、設定された制御輝度値に対応する大きさの電圧または電流をバックライトに供給してディスプレイの輝度を変更することができる。輝度設定デバイスが、動作速度の遅いプロトコル・コンバータである場合は本発明を適用することが特に有効である。
【００１５】
輝度設定デバイスに最初の制御輝度値を送出してからつぎの制御輝度値を送出できる状態になるまでの待機時間は、ユーザがステップ信号を高速で入力する時間よりも長くなる。したがって、ステップ信号に応じて段階的に変化する制御輝度値を順番に輝度設定デバイスに送出しても、輝度設定デバイスの処理に遅れが生じディスプレイの輝度の変化にも遅れが生ずる。
【００１６】
本発明では、ステップ信号の入力のたびに生成された新たな制御輝度値により古い制御輝度値が更新される。更新は、メイン・メモリに確保した情報格納部に格納された制御輝度値を後続の制御輝度値で上書きすることにより行うことができる。更新された制御輝度値は、輝度設定デバイスに送出されて設定される。待機時間がキーボードからの入力速度に比較して長い場合は、待機時間中に後続のステップ信号が入力されて新たな制御輝度値が生成されそれまでの制御輝度値が更新される。
【００１７】
待機時間中は更新された制御輝度値を輝度設定デバイスに送出することができないので、待機時間中に生成された制御輝度値は後続の制御輝度値で置換されて破棄される。そして待機時間が終了したときに更新された制御輝度値が存在する場合には、更新された最新の制御輝度値を輝度設定デバイスに送出する。この結果、キーボードから連続して高速にステップ信号が入力される場合には、待機時間が終了するたびに待機時間中に破棄された制御輝度値がスキップされて最新の制御輝度値だけが送出され、ユーザの意図を反映するように輝度が追従する。
【００１８】
待機時間が終了したときに、制御輝度値が更新されていないときは、ユーザが待機時間に対してゆっくりとした操作でステップ信号を入力したことになり、それ以後に最初に更新された制御輝度値が輝度設定デバイスに送出される。上記の処理に際しては、待機時間中に制御輝度値が更新されたことを示す更新フラグを設定したり、待機時間中であることを示す応答待ちフラグを設定したりすると都合がよい。
【００１９】
本発明にかかるプログラムは、単一のスレッドで実行することができるので、プロセッサおよびメモリなどのリソースの浪費を避けることができる。また、マルチ・スレッドに対応しないコンピュータ環境でも実現することができる。本発明はコンピュータのディスプレイの輝度の変更だけでなく、スピーカの音量に適用することもできる。また、コンピュータのデバイスだけでなく、テレビ受像機やゲーム機などの手動でステップ信号を入力する電子機器全般に適用することもできる。
【発明の効果】
【００２０】
本発明により、連続して高速に入力されたステップ信号または数値に対してデバイスの制御量またはデバイスの状態を良好に追従させるためのステップ信号または数値の処理方法を提供することができた。さらに本発明により、ソフトウエアが単一のスレッドで連続して高速に入力されたステップ信号または数値の処理をすることができる処理方法を提供することができた。さらに本発明により、そのような処理方法を実現する電子機器およびコンピュータを提供することができた。
【発明を実施するための最良の形態】
【００２１】
［ノートＰＣの構成］
図１は、本実施の形態にかかるノートＰＣ１０の外形を示す図である。ノートＰＣ１０は、デュアル・ディスプレイ方式を採用しており、プライマリ・ディスプレイ１５とセカンダリ・ディスプレイ２１が筐体に組み込まれている。図１（Ａ）は、プライマリ・ディスプレイ１５だけを使用している状態を示し、図１（Ｂ）はセカンダリ・ディスプレイ２１を展開して、プライマリ・ディスプレイ１５とセカンダリ・ディスプレイ２１を同時に使用している状態を示す。ノートＰＣ１０は、ディスプレイ筐体１１とシステム筐体１３が、ヒンジで開閉可能に結合されている。
【００２２】
ディスプレイ筐体１１は、システム筐体１３から開いたときにプライマリ・ディスプレイ１５を表示面が前面を向くように収納すると同時に、背面にはセカンダリ・ディスプレイ２１を引き出し可能に収納する。セカンダリ・ディスプレイ２１を使用する時には、ディスプレイ筐体１１から引き出して表示面をプライマリ・ディスプレイ１５と同じ方向に設定する。システム筐体１３は、内部にさまざまな機能デバイスを収納するとともに表面にキーボード１７およびポインティング・デバイス１９を搭載している。
【００２３】
図２は、ノートＰＣ１０の構成を示す概略のブロック図である。ＣＰＵ５１は、ノートＰＣ１０の中枢機能を担う演算処理装置で、オペレーティング・システム（ＯＳ）、ＢＩＯＳ、デバイス・ドライバ、あるいはアプリケーション・プログラムなどを実行する。ＣＰＵ５１は、メモリ・コントローラ・ハブ（ＭＣＨ）５３に接続されている。ＭＣＨ５３は、ノートＰＣ１０のなかでの高速なデータ転送を処理するデバイスで、メイン・メモリ５５へのアクセス動作を制御するためのメモリ・コントローラ機能、およびＣＰＵ５１と他のデバイスとの間のデータ転送速度の差を吸収するためのデータ・バッファ機能を含む。ＭＣＨ５３はまた、グラフィックス・カード５７を接続するためのＰＣＩ  Ｅｘｐｒｅｓｓ  ｘ１６ポートを備えている。
【００２４】
メイン・メモリ５５は、ＣＰＵ５１が実行するプログラムの読み込み領域、処理データを書き込む作業領域として利用される揮発性のＲＡＭである。グラフィックス・カード５７はＭＣＨ５３に接続され、ＧＰＵ、ビデオＢＩＯＳおよびビデオ・メモリ（ＶＲＡＭ）を備えており、ＣＰＵ５１からの命令を受けて描画すべき画像ファイルのイメージを生成してＶＲＡＭに書き込み、ＶＲＡＭから所定のタイミングで読み出したイメージをプライマリ・ディスプレイ１５およびセカンダリ・ディスプレイ２１に出力する。ＧＰＵは、ＣＰＵ５１から受け取った描画命令に基づいてＶＲＡＭにイメージを書き込む専用プロセッサで、グラフィックス・アクセラレータともいう。
【００２５】
グラフィックス・カード５７には、プライマリ・ディスプレイ１５およびプロトコル・コンバータ５９が接続されている。プロトコル・コンバータ５９には、セカンダリ・ディスプレイ２１が接続されている。図３は、グラフィックス・カード５７に搭載されたＧＰＵ７１とプライマリ・ディスプレイ１５およびセカンダリ・ディスプレイ２１の接続を示すブロック図である。ＧＰＵ７１は、プライマリ・ディスプレイ１５に対するプライマリ系統とセカンダリ・ディスプレイ２１に対するセカンダリ系統の２系統の画像データを出力することができる。
【００２６】
ＧＰＵ７１は、プライマリ・ディスプレイ１５の輝度を制御するための制御輝度値とセカンダリ・ディスプレイ２１の輝度を制御するための制御輝度値をＣＰＵ５１から受け取る。プライマリ系統は、ＬＶＤＳ（Low voltage differential signaling）規格の画像信号およびバックライト１１１を制御するＰＷＭ信号をプライマリ・ディスプレイ１５に出力する。ＰＷＭ信号のデューティ比は、制御ステップ値に対応して決定される。セカンダリ系統は、ＤＶＩ（Digital Visual Interface）規格の画像信号を出力する。
【００２７】
なお、本発明は、ＧＰＵ７１が出力する画像信号の規格はＬＶＤＳやＤＶＩに限定されるものではなく他の規格でもよい。プロトコル・コンバータ５９は、ＧＰＵ７１から受け取ったＤＶＩ規格の画像信号をＬＶＤＳ規格の画像信号に変換してセカンダリ・ディスプレイ２１に出力する。さらにＧＰＵ７１は、ＣＰＵ５１から受け取った制御輝度値をＤＶＩ信号線の一部であるＤＤＣチャネルを通じてプロトコル・コンバータ５９に転送する。プロトコル・コンバータ５９は、制御輝度値に対応するように決定したデューティ比のＰＷＭ信号を生成してセカンダリ・ディスプレイ２１に出力し、バックライト２１１を制御する。
【００２８】
プライマリ・ディスプレイ１５とセカンダリ・ディスプレイ２１は、ほぼ同じ構造になっており、液晶パネル１０７、２０７、バックライト１１１、２１１、データ線駆動回路１０５、２０５、走査線駆動回路１０３、２０３、液晶パネル制御回路１０１、２０１、およびバックライト制御回路１０９、２０９を含んで構成されている。液晶パネル１０７、２０７は、アクティブ・マトリックス方式を採用しており、各画素を構成する液晶アレイのセルはＴＦＴ（Thin Film Transistor）、画素容量、および蓄積容量を含んでいる。
【００２９】
バックライト１１１は、冷陰極蛍光ランプ（ＣＣＦＬ）を光源とするサイドエッジ型であり、バックライト２１１は発光ダイオード（ＬＥＤ）を光源とするサイドエッジ型である。サイドエッジ型のバックライトは、直下型のバックライトに比べて液晶ディスプレイの厚さを薄くすることができ、セカンダリ・ディスプレイ２１は、光源にＬＥＤを使用することでさらに薄くすることができる。バックライト制御回路１０９は、液晶パネル１０７の輝度を制御するために、ＧＰＵ７１から受け取ったＰＷＭ信号のディユーティ比でバックライト１１１に印加する電圧を制御し、バックライト制御回路２０９は、液晶パネル２０７の輝度を制御するために、プロトコル・コンバータ５９から受け取ったＰＷＭ信号のデューティ比でバックライト２１１に供給する電流を制御する。ＧＰＵ７１およびプロトコル・コンバータ５９は、０％から１００％までのデューティ比を、それぞれ２５６段階での制御輝度値で設定するように構成されている。
【００３０】
バックライト１１１とバックライト２１１は、バックライト制御回路１０９、２０９から出力されるＰＷＭ信号に対応した電圧または電流のデューティ比に基づいて液晶パネル１０７、２０７の輝度を制御する。液晶パネル１０７、２０７の輝度は、バックライト制御回路１０９、２０９のディユーティ比が０％のときに０になり、ディユーティ比が１００％のときにバックライト１１１、２１１の性能に基づいて定まる最大値となる。
【００３１】
液晶パネル制御回路１０１、２０１は、液晶パネル１０７、２０７に画像を表示するための赤色、緑色、青色の画像データをＧＰＵ７１から受け取り、時間軸上にシリアルな画像データを作成して、データ線駆動回路１０５、２０５および走査線駆動回路１０３、２０３に供給する。データ線駆動回路１０５、２０５および走査線駆動回路１０３、２０３は、液晶アレイのＴＦＴに対して１フレーム期間ごとに線順次走査を行って、シリアルな画像データを画素容量に順番に書き込むことで液晶パネル１０７、２０７に平面的な画像を表示する。
【００３２】
図２に戻って、アイオー・コントローラ・ハブ（ＩＣＨ）６１はＭＣＨ５３に接続されており、周辺入出力デバイスに関するデータ転送を処理する。ＩＣＨ６１は、ＵＳＢ（Universal Serial Bus）、シリアルＡＴＡ（AT Attachment）、ＳＰＩ (Serial Peripheral Interface)バス、 ＰＣＩ（Peripheral Component Interconnect）バス、ＰＣＩ−Ｅｘｐｒｅｓｓバス、およびＬＰＣ（Low Pin Count）などのポートを備え、それらに対応したデバイスが接続される。図２では、ＩＣＨ６１のシリアルＡＴＡポートに接続されたＨＤＤ６３だけを示し、他のデバイスは省略している。ＨＤＤ６３は図４に示した、ＯＳ３０７、キーボード・ドライバ３０９、ビデオ・ドライバ３１１、およびユーティリティ・プログラム３０１などを格納する。
【００３３】
さらにＩＣＨ６１はＬＰＣバス６５を介して、従来からノートＰＣ１０に使用されているレガシー・デバイス、あるいは高速なデータ転送を要求しないデバイスに接続される。図２ではＬＰＣバス６５に接続されるデバイスとして、エンベデッド・コントローラ（ＥＣ）６７およびフラッシュＲＯＭ６９だけを示している。ＥＣ６７は、８〜１６ビットのＣＰＵ、ＲＯＭ、ＲＡＭなどで構成されたマイクロ・コンピュータであり、さらに複数チャネルのＡ／Ｄ入力端子、Ｄ／Ａ出力端子、タイマー、およびディジタル入出力端子を備えている。ＥＣ６７は、ノートＰＣ１０に実装されるデバイスに供給する電力を制御する。ＥＣ６７は、キーボード・コントローラの機能を搭載しており、キーボード１７およびポインティング・デバイス１９が接続されている。
【００３４】
フラッシュＲＯＭ６９は不揮発性で記憶内容の電気的な書き替えが可能なメモリであり、入出力デバイスを制御するためのデバイス・ドライバ、ＡＣＰＩ（Advanced Configuration and Power Interface）の規格に適合し電源およびシステム筐体１３内の温度などを管理するシステムＢＩＯＳ、およびノートＰＣ１０の起動時にハードウエアの試験や初期化を行うＰＯＳＴ（Power-On Self Test）などのプログラムを格納する。
【００３５】
なお、図１〜図３は本実施の形態を説明するために、本実施の形態に関連する主要なハードウエアの構成および接続関係を簡略化して記載したに過ぎないものである。ここまでの説明で言及した以外にも、ノートＰＣ１０を構成するには多くのデバイスが使われる。しかしそれらは当業者には周知であるので、ここでは詳しく言及しない。図２、図３に記載した複数のブロックを１個の集積回路もしくは装置としたり、逆に１個のブロックを複数の集積回路もしくは装置に分割して構成したりすることも、当業者が任意に選択することができる範囲においては本発明の範囲に含まれる。
【００３６】
図４は、本実施の形態にかかるディスプレイの輝度調整を行うためにノートＰＣ１０に実装された輝度調整システムの構成を示すブロック図である。輝度調整システム３００は、ノートＰＣ１０に実装されたハードウエアおよびソフトウエアで構成されている。図４は、プロトコル・コンバータ５９に制御輝度値を設定して輝度調整を行うセカンダリ・ディスプレイ２１の輝度調整を行う構成を示している。ただし、本発明は、ＧＰＵ７１に制御輝度値を設定して輝度調整を行うプライマリ・ディスプレイ１５の輝度調整に適用することもできる。
【００３７】
キーボード１７は、ユーザがコンピュータ１０にステップ信号を入力するための入力デバイスである。ステップ信号は、イベントを発行するだけの信号であり大きさの情報を保有しない。本実施の形態では、キーボード１７の特殊キーを所定の回数だけ操作することでステップ信号により操作ステップ値を変更し、プライマリ・ディスプレイ１５およびセカンダリ・ディスプレイ２１の輝度を１ステップずつ制御することができる。特殊キーは、たとえば、輝度増加のためにＦｎキーとＨｏｍｅキーを同時に押下することで構成し、輝度減少のためにＦｎキーとＥｎｄキーを同時に押下することで構成することができる。以後、同時に操作された２つのキーを特殊キーということにする。
【００３８】
ＥＣ６７は、キーボード・コントローラとしてキーボード１７から入力されたステップ信号を処理する。ユーザがキーボード１７の特殊キーを押下するごとに、ＥＣ６７はＢＩＯＳ３０９に上昇方向のステップ信号に対応する上昇方向のイベントまたは下降方向のステップ信号に対応する下降方向のイベントを送る。プログラム３０１は、ＯＳ３０７上で動作するアプリケーション・プログラムで、セカンダリ・ディスプレイ２１の輝度調整に関する処理を行う。プログラム３０１は、輝度情報格納部３５３、出力制御部３５５、制御輝度値生成部３５７、輝度テーブル３５９、応答待ちフラグ３６１および更新フラグ３６３からなる複数の機能ブロックで構成されている。各機能ブロックは、プログラム３０１がメイン・メモリ５５にロードされることにより、主としてプログラム３０１、メイン・メモリ５５、およびＣＰＵ５１で構成される。
【００３９】
ＢＩＯＳ３０９は操作ステップ値生成部３５１を保有し、セカンダリ・ディスプレイ２１に対する現在の操作ステップ値を保持している。操作ステップ値は、最も輝度が低い０から最も輝度の高い１５までの間の１６個の整数値で構成されている。操作ステップ値生成部３５１は、ＥＣ６７から上昇方向のイベントを１個受け取ったときは現在の操作ステップ値を１増大させ、下降方向のイベントを１個受け取ったときは現在の操作ステップ値を１減少させる。
【００４０】
制御輝度値生成部３５７は、輝度テーブル３５９を参照して、０〜１５の操作ステップ値を０〜２５５の制御輝度値に変換する。輝度テーブル３５９は、操作ステップ値を制御輝度値に対応付けするためのマッピング・テーブルである。輝度情報格納部３５３は、制御輝度値生成部３５７から送られた制御輝度値を格納し、制御輝度値生成部３５７から新たな制御輝度値を受け取ったときは、それまで格納していた制御輝度値を新たな制御輝度値で上書きして更新する。輝度情報格納部３５３は、制御輝度値が更新されるたびに出力制御部３５５に制御を移すことで出力制御部３５５に更新を通知する。
【００４１】
出力制御部３５５は、ビデオ・ドライバ３１１が制御輝度値の受け入れが可能な状態であることを判断して、輝度情報格納部３５３から制御輝度値を取り出しビデオ・ドライバ３１１に送出する。応答待ちフラグ３６１および更新フラグ３６３はともにメイン・メモリ５５の１ビットの記憶領域で形成されている。出力制御部３５５は、ビデオ・ドライバ３１１に制御輝度値を送ってからビデオ・ドライバ３１１からレディ・イベントを受け取るまでの待機時間中に輝度情報格納部３５３から制御輝度値が更新されたことの通知を受け取ったときに更新フラグ３６３を１に設定し、ビデオ・ドライバ３１１に制御輝度値を送出するときに更新フラグ３６３を０に設定する。出力制御部３５５は、ビデオ・ドライバ３１１に制御輝度値を出力するときに応答待ちフラグを１に設定し、待機時間が経過したときに輝度情報格納部３５３の制御輝度値が更新されていないと判断したとき（更新フラグが０に設定されているとき）に応答待ちフラグを０に設定する。
【００４２】
応答待ちフラグ３６１が１に設定されている状態は、出力制御部３５５からビデオ・ドライバ３１１に出力された制御輝度値が、ビデオ・ドライバ３１１によりプロトコル・コンバータ５９に設定されてビデオ・ドライバ３１１が新たな制御輝度値を受け入れることができるようになるまでの待機状態であることを示す。更新フラグ３６３が１に設定されている状態は、応答待ちフラグが１に設定されている間に輝度情報格納部３５３に格納された操作輝度値が更新されたことを示す。なお、制御輝度値生成部３５７を出力制御部３５５に接続し、輝度情報格納部３５３には操作ステップ値を格納するようにして、出力制御部３５５はビデオ・ドライバ３１１に出力する直前に操作ステップ値を制御輝度値に変換するようにしてもよい。
【００４３】
つぎに、輝度調整システム３００がステップ信号を処理する手順を説明する。図５は、輝度調整システム３００がセカンダリ・ディスプレイ２１の輝度を調整する手順を示すフローチャートである。ノートＰＣ１０に電源が投入され、ＰＯＳＴが終了するとプログラム３０１、ＯＳ３０７、およびビデオ・ドライバ３１１がメイン・メモリ５５にロードされる。ブロック４０１で出力制御部３５５は、プログラム３０１がメイン・メモリ５５にロードされると応答待ちフラグ３６１および更新フラグ３６３を０に設定する。ＯＳ３０７がＷｉｎｄｏｗｓ（登録商標）である場合は、プログラム３０１はＡＰＩ関数を呼び出してプロセスの生成要求をするが、当該プロセスには１つのメイン・スレッドだけが生成される。すなわち、プログラム３０１は、シングル・スレッド・プロセスで実行される。セカンダリ・ディスプレイ２１は前回電源を遮断したときの制御輝度値に対応する輝度で表示しているものとする。
【００４４】
ここでは、現在の操作ステップ値は、１であると仮定する。ブロック４０３で、ユーザは、セカンダリ・ディスプレイ２１の輝度を上昇させるために、上昇方向の特殊キーを１回押下する。ＥＣ６７は、操作ステップ値生成部３５１に上昇方向のイベントを送る。ブロック４０５で操作ステップ値生成部３５１は、現在の操作ステップ値（１）を１ステップ上昇させた操作ステップ値（２）を生成して制御輝度値生成部３５７に送る。制御輝度値生成部３５７は受け取った操作ステップ値（２）を輝度テーブル３５９で対応付けられた制御輝度値（ｆ（２））に変換して、輝度情報格納部３５３に格納する。ここで関数ｆ（ｘ）は、操作ステップ値ｘに応じて制御輝度値に変換する輝度テーブル３５９上の値を表す。制御輝度値を更新した輝度情報格納部３５３は、出力制御部３５５に制御を移すことで、出力制御部３５５に更新通知をする。
【００４５】
ブロック４０７では、更新通知を受け取った出力制御部３５５は、応答待ちフラグ３６１が１に設定されているか否かを判断する。最初の操作ステップ値の更新では、ブロック４０１で応答待ちフラグ３６１は０に設定されているのでブロック４１１に移行する。ブロック４１１では、出力制御部３５５はこれから制御輝度値をビデオ・ドライバ３１１に送るので更新フラグ３６３を０に設定する。この設定処理は、輝度情報格納部３５３に格納された操作ステップ値（２）はこれからビデオ・ドライバ３１１に送出されるので現在輝度情報格納部３５３に格納されているデータは最新のものではないことを宣言する意義を有する。
【００４６】
ブロック４１３では、出力制御部３５５は、応答待ちフラグ３６１を１に設定する。この設定処理は、これからビデオ・ドライバ３１１に制御ステップ値を送るので、ビデオ・ドライバ３１１からレディ・イベントを受け取るまでは、新たな制御輝度値をビデオ・ドライバ３１１に出力することができないことを宣言する意義を有する。ブロック４１５では、出力制御部３５５は輝度情報格納部３５３から制御輝度値（ｆ（２））を取得してビデオ・ドライバ３１１に送出する。ブロック４１７では、ビデオ・ドライバ３１１がプロトコル・コンバータ５９に制御輝度値（ｆ（２））を設定する。
【００４７】
プロトコル・コンバータ５９は、制御輝度値（ｆ（２））に対応するデューティ比のＰＷＭ信号を生成して、バックライト制御回路２０９に送る。バックライト制御回路２０９は、ＰＷＭ信号に対応する電圧または電流をセカンダリ・ディスプレイ２１のバックライト１１１に出力する。ビデオ・ドライバ３１１がプロトコル・コンバータ５９に対する制御輝度値（ｆ（２））の設定を完了して、新たな制御輝度値を受け取ることができるようになるまで、数百ミリ秒の時間（これを待機時間という。）を費やす。ブロック４１９では、待機時間が終了してビデオ・ドライバ３１１が新たな制御輝度値をプロトコル・コンバータ５９に設定することができる状態になったために、出力制御部３５５にレディ・イベントを発行する。
【００４８】
ここで一旦説明をブロック４０７に戻す。ブロック４１５からブロック４１９までは、前述のように数百ミリ秒の待機時間を必要とするが、この間はブロック４１３で設定された応答待ちフラグが１に維持されている。待機時間中に特殊キーが操作されて新たな制御輝度値が生成され輝度情報格納部３５３が更新されることがある。そのときはブロック４０９で更新フラグを１に設定しブロック４２７に移行する。
【００４９】
ブロック４２１に戻って、レディ・イベントを受け取った出力制御部３５５は更新フラグ３６３を参照する。ブロック４２３で出力制御部３５５が更新フラグ３６３は０であると判断した場合は、輝度情報格納部３５３には、ブロック４１１〜ブロック４１５を通じてビデオ・ドライバ３１１にいまだ送出されていない未処理の制御ステップ値が存在していないことになるためブロック４２５に移行して、出力制御部３５５は応答待ちフラグ３６１を０に設定してブロック４２７に移行する。つぎにユーザが２回目の特殊キーの操作をすると、ブロック４０５で操作ステップ値生成部３５１は、現在の操作ステップ値（２）を１ステップ上昇させた操作ステップ値（３）を生成する。つづいて制御輝度値生成部３５７が輝度情報格納部３５３を更新し、輝度情報格納部３５３が出力制御部３５５に更新通知をする。
【００５０】
ブロック４０７では、更新通知を受け取った出力制御部３５５は、応答待ちフラグ３６１が１に設定されているか否かを判断する。１回目の上昇ステップ信号から２回目の上昇ステップ信号が生成されるまでの時間が待機時間に対して長い場合は、２回目の上昇ステップ信号が入力されたときにブロック４２５を経由して応答待ちフラグ３６１が０に設定されているので、制御輝度値（ｆ（３））は、ブロック４１１からブロック４２１を経由して処理される。以後、ユーザが特殊キーを操作する時間間隔がゆっくりしているために応答待ちフラグが０に設定されている間に更新された制御ステップ値は、順番にビデオ・ドライバ３１１に送出される。
【００５１】
つぎに、セカンダリ・ディスプレイ２１の輝度が制御輝度値（ｆ（３））に設定された状態から、ユーザがステップ信号を入力して操作ステップ値を短時間で８に変更する場合を検討する。ユーザは操作ステップ値（８）を生成するために、特殊キーを連続して高速に５回押下する。ブロック４０３で入力されたステップ信号は、制御輝度値生成部３５７で順番に制御輝度値に変換され、ブロック４０５では、操作ステップ値生成部３５１が上昇方向のイベントを受け取るたびに、輝度情報格納部３５３の制御輝度値が更新される。操作ステップ値（４）に対しては、ブロック４１１を経由してブロック４２３までの処理が行われるが、ブロック４２３で出力制御部３５５が更新フラグ３６３を参照したときには、ブロック４１３により応答フラグが１に設定された状態であるので、ブロック４０３による後続の操作ステップ（５）はブロック４０７での判断の結果、ブロック４０９で更新フラグ３６３を１に設定する。
【００５２】
したがって、処理はブロック４１１に移行し、出力制御部３５５は、ブロック４１１で更新フラグを０に設定し、さらにブロック４１３で応答待ちフラグを１に設定する。出力制御部３５５は、ブロック４１５でその時点で輝度情報格納部３５３に格納された制御ステップ値を送出する。この時点で操作ステップ値（４）を置換した操作ステップ値（５）がさらにそれに続く操作ステップ値（６）で置換されているとすれば、出力制御部３５５はブロック４１５では操作ステップ値（６）に対応した制御ステップ値（６）をビデオ・ドライバ３１１送出する。
【００５３】
したがって、出力制御部３５５は操作ステップ値（５）に対応する制御ステップ値（５）をビデオ・ドライバ３１１に送出しない。つづいて、ブロック４２３で出力制御部３５５が更新フラグを参照したときに１であれば、ブロック４１１に戻り、ブロック４１５ではたとえば操作ステップ値（７）がスキップされて操作ステップ値（８）が処理される。ブロック４２３からブロック４１１へのループ処理は、キーボード１７からステップ信号が連続して高速に入力されたときに、ブロック４１５からブロック４１９までの待機時間が終了するたびに、その時点で更新されている最新の操作ステップ値が処理され、中間の操作ステップ値は破棄される。中間の操作ステップ値が破棄されることで、ビデオ・ドライバ３１１は待機時間が終了して新たな制御ステップ値を受け取ることができる状態になるたびに、その時点で更新されている最新の制御ステップ値でセカンダリ・ディスプレイ２１の輝度を設定することができる。
【００５４】
以上、ディスプレイの輝度調整を例にして本発明の実施の形態を説明したが、本発明は、ディスプレイの輝度設定に適用できるだけでなく、デバイスの制御量またはデバイスの状態をステップ信号または数値で変化させる電子機器一般に適用することができる。制御量は、スピーカの音量であってもよい。また、電子機器は、遠隔操作器からステップ信号または数値を入力して番組表を移動したり、データの入力源を変更したりするテレビ受像機であってもよい。テレビ・チャンネルを遠隔操作器により変更する場合に、ユーザによりチャンネル・ボタンが、１→９→６→２のように高速で連続的に押されることがあるが、このような場合本発明により、最後の入力である２ャンネルが最終的な制御状態として処理され、所望のチャンネルに短時間で切り換えることができる。この場合は、入力データをステップ信号ではなくチャンネルに対応した数値とすることができる。本発明では、輝度情報格納部３５３を静的変数で構成することで、プログラム３０１は待機時間中に制御ステップ値が更新されても最新の制御輝度値の送出を１つのスレッドで実行でき、リソースの節約を図り、かつ、マルチ・スレッドに対応していないコンピュータ環境に適用することも可能になる。
【００５５】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
【図面の簡単な説明】
【００５６】
【図１】本実施の形態にかかるノートＰＣの外形を示す図である。
【図２】本実施の形態にかかるノートＰＣの構成を示す概略のブロック図である。
【図３】グラフィックス・カードに搭載されたＧＰＵとプライマリ・ディスプレイおよびセカンダリ・ディスプレイの接続を示すブロック図である。
【図４】ステップ信号の処理を行うためにノートＰＣに実装されたソフトウエアおよびハードウエアの構成を示すブロック図である。
【図５】ステップ信号の処理を行う手順を示したフローチャートである。
【符号の説明】
【００５７】
３００…輝度調整システム
３０１…ユーティリティ・プログラム
【図１】
2010139586.tif 000003
【図２】
2010139586.tif 000004
【図３】
2010139586.tif 000005
【図４】
2010139586.tif 000006
【図５】
2010139586.tif 000007