(57)【特許請求の範囲】
【請求項１】
コンピュータがソフトウェアを実行する際の実行環境に関連するシステム・パラメータの適正値を、コンピュータによって実行される個々のアプリケーション・プログラム毎に設定する設定手段と、
複数のウインドウを表示するアプリケーション・プログラムのファーカスを得るアプリケーション・プログラムのウインドウがトップレベル・ウインドウかを判断し、前記ウインドウがトップレベル・ウインドウでない場合には前記ウインドウと関連付けられたより上位のウインドウがトップレベル・ウインドウかを判断することでトップレベル・ウインドウを特定し、
前記トップレベル・ウインドウのウインドウ・ハンドルを取得することによりコンピュータが実行するアプリケーション・プログラムを検出する検出手段と、
前記検出手段によって検出されたアプリケーション・プログラムに対応して設定されているシステム・パラメータの適正値に基づいてアプリケーション・プログラムの実行環境を制御する制御手段と、
を含むコンピュータ。
【請求項２】
前記アプリケーション・プログラムの実行環境に関連するシステム・パラメータは、コンピュータの音声出力装置からの音声出力時の音量を規定する音量制御パラメータ、前記音声出力時の音量バランスを規定する音量バランス制御パラメータ、出力音声の音質を規定する音質制御パラメータ、コンピュータの表示装置の表示画面の明度を規定する明度制御パラメータ、及びコンピュータのＣＰＵの動作速度を規定する動作速度制御パラメータの少なくとも１つを含むことを特徴とする請求項１記載のコンピュータ。
【請求項３】
前記設定手段は、前記コンピュータが特定のアプリケーション・プログラムを実行しているときにユーザからの指示に応じてシステム・パラメータが変更された場合に、変更後のシステム・パラメータの値を前記特定のアプリケーション・プログラムのシステム・パラメータの適正値として自動的に設定することを特徴とする請求項１記載のコンピュータ。
【請求項４】
前記設定手段は、ユーザによって特定のアプリケーション・プログラムが選択されてシステム・パラメータの適正値が指定された場合に、指定された適正値を前記特定のアプリケーション・プログラムのシステム・パラメータの適正値として設定することを特徴とする請求項１記載のコンピュータ。
【請求項５】
前記設定手段は、前記システム・パラメータの適正値を前記個々のアプリケーション・プログラム毎に設定した設定テーブルを複数種登録可能とされており、
前記制御手段は、前記設定テーブルが複数種登録されている場合には、前記複数種の設定テーブルのうち指定された設定テーブルに設定されているシステム・パラメータの適正値に基づいてアプリケーション・プログラムの実行環境を制御する
ことを特徴とする請求項２記載のコンピュータ。
【請求項６】
コンピュータがアプリケーション・プログラムを実行する際の実行環境に関連するシステム・パラメータの適正値を、コンピュータによって実行される個々のアプリケーション・プログラム毎に設定し、
ファーカスを得る複数のウインドウを表示するアプリケーション・プログラムのファーカスを得るアプリケーション・プログラムのウインドウがトップレベル・ウインドウかを判断し、前記ウインドウがトップレベル・ウインドウでない場合には前記ウインドウと関連付けられたより上位のウインドウがトップレベル・ウインドウかを判断することでトップレベル・ウインドウを特定し、前記トップレベル・ウインドウのウインドウ・ハンドルを取得することによりコンピュータが実行するアプリケーション・プログラムを検出し、
前記検出したアプリケーション・プログラムに対応して設定されているシステム・パラメータの適正値に基づいてアプリケーション・プログラムの実行環境を制御する
コンピュータの制御方法。
【請求項７】
コンピュータがアプリケーション・プログラムを実行する際の実行環境に関連するシステム・パラメータの適正値を、コンピュータによって実行される個々のアプリケーション・プログラム毎に設定する第１のステップ、
ファーカスを得る複数のウインドウを表示するアプリケーション・プログラムのファーカスを得るアプリケーション・プログのウインドウがトップレベル・ウインドウかを判断し、前記ウインドウがトップレベル・ウインドウでない場合には前記ウインドウと関連付けられたより上位のウインドウがトップレベル・ウインドウかを判断することでトップレベル・ウインドウを特定し、前記トップレベル・ウインドウのウインドウ・ハンドルを取得することによりコンピュータが実行するアプリケーション・プログラムを検出する第２のステップ、
前記検出したアプリケーション・プログラムに対応して設定されているシステム・パラメータの適正値に基づいてアプリケーション・プログラムの実行環境を制御する第３のステップ
を含む処理をコンピュータに実行させるためのプログラムが記録された記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はコンピュータ、その制御方法、記録媒体及び伝送媒体に係り、特に、コンピュータがソフトウェアを実行する際の実行環境を制御する制御方法、該制御方法を適用可能なコンピュータ、コンピュータによって前記制御方法を実現するためのプログラムが記録された記録媒体、コンピュータによって前記制御方法を実現するためのプログラムを伝送する伝送媒体に関する。
【０００２】
【従来の技術】
パーソナルコンピュータ（ＰＣ）で実行可能な様々なソフトウェアの中には、実行時に、コンピュータの音声出力装置によって効果音等の音声を出力させるものが多数存在している。例えばオペレーティング・システム（ＯＳ）の中には、システムの起動や終了、或いはフォルダを開く等の特定の処理を行ったときに効果音を出力させる機能を備えているものがある。また、例えばゲームソフトでは臨場感を高めるために効果音を出力させることが一般的である。
【０００３】
しかし、ＯＳによる効果音とゲームソフトによる効果音は目的が異なるため、双方の効果音の適正な音量は必ずしも同一ではない。また、モデム等を使用する場合に発せられる通信音についても、通信状態を確認するために音量を大きめに設定したいユーザがいる一方、通信音を聞きたくないと感じているユーザも存在しており、通信音の音量の適正値もユーザによって相違している。従って、単一のＰＣで実行される種々のソフトウェアの中にも、実行時に出力される音声の音量の適正値が本来は異なるソフトウェアが混在している。
【０００４】
【発明が解決しようとする課題】
これに対し、ＰＣの備えている音量調整機構、及び一部のＯＳが備えている音量調整機能は、何れもユーザからの指示に応じてＰＣのスピーカから発せられる音声の音量を一律に調整するだけのものであり、音量の自動調整等の機能は備えていない。このため、ユーザは或るソフトウェアを起動する毎に、そのときの音量の設定値が起動したソフトウェアに適した値になっているか否かを確認し、音量の設定値が不適である場合には手動で音量を調整する、という煩雑な作業を行う必要があった。
【０００５】
上記に関連して特開平６−１３１１４９号公報には、ディスプレイ上に仮想の音量調整、左右バランスの制御機構を設け、画像ウインドウのディスプレイ上の位置情報に基づいて出力音声の音量や左右バランスを制御する技術が開示されている。この技術では、ディスプレイ上での画像ウインドウの表示位置を移動させることで出力音声の音量や左右バランスを変更することができるが、本来はユーザが自由に変更可能な画像ウインドウの位置を出力音声の音量や左右バランスと関連付けているために、音量や左右バランスを変更することなく画像ウインドウの位置のみを自由に変更することが困難である、という欠点がある。
【０００６】
また、出力音声の音質やＰＣの表示装置の明るさ、ＣＰＵの動作速度等のように、ソフトウェアを実行する際の実行環境を規定する他のパラメータの制御においても、上述した音量等の制御と同様に、ＰＣで実行されるソフトウェアを単位として制御することができない、という問題があった。
【０００７】
本発明は上記事実を考慮して成されたもので、コンピュータがソフトウェアを実行する際の実行環境を、コンピュータが実行するソフトウェアに応じて適正に制御することができるコンピュータ、コンピュータの制御方法、記録媒体及び伝送媒体を得ることが目的である。
【０００８】
【課題を解決するための手段】
上記目的を達成するために本発明に係るコンピュータは、コンピュータがソフトウェアを実行する際の実行環境に関連するシステム・パラメータの適正値を、コンピュータによって実行される個々のソフトウェア毎に設定する設定手段を備えている。なお、設定手段によって適正値が設定されるソフトウェアの実行環境に関連するシステム・パラメータとしては、例えばコンピュータの音声出力装置からの音声出力時の音量を規定する音量制御パラメータ、前記音声出力時の音量バランス（例えば右チャンネルと左チャンネルの音量バランスや、前チャンネルと後チャンネルの音量バランス）を規定する音量バランス制御パラメータ、出力音声の音質を規定する音質制御パラメータ（例えば複数の周波数帯域の各々における音量を制御するためのパラメータや、デジタルの音声データからアナログの音声信号への変換に用いるパラメータ）、コンピュータの表示装置の表示画面の明度を規定する明度制御パラメータ、及びコンピュータのＣＰＵの動作速度を規定する動作速度制御パラメータの少なくとも１つを含むことができる。
【０００９】
また、本発明に係る検出手段は、コンピュータが実行するソフトウェアを検出し、制御手段は、検出手段によって検出されたソフトウェアに対応して設定されているシステム・パラメータの適正値に基づいてソフトウェアの実行環境を制御する。これにより、コンピュータが特定のソフトウェアを実行する際には、ソフトウェアの実行環境が前記特定のソフトウェアに応じて適正に制御され（例えば出力音声の音量、音量バランス、音質、表示画面の明度、ＣＰＵの動作速度の少なくとも１つが適正値に制御され）、コンピュータが他のソフトウェアを実行する際には、ソフトウェアの実行環境が前記他のソフトウェアに応じて適正に制御される。従って本発明によれば、コンピュータがソフトウェアを実行する際の実行環境を、コンピュータが実行するソフトウェアに応じて適正に制御することができる。
【００１０】
なお、本発明に係るコンピュータが、複数種のソフトウェアを同時に起動可能な構成である場合、コンピュータが実行するソフトウェアの検出は、例えばコンピュータの表示装置に表示されている対応するウインドウがアクティブになっている（フォアグラウンドに表示されている、或いはフォーカスを得ている）ソフトウェアを検出することで行うことができる。これにより、コンピュータが実行するソフトウェアの検出・ソフトウェアの実行環境を検出したソフトウェアに応じて適正に制御することを容易に実現することができる。
【００１１】
また、設定手段によるシステム・パラメータの適正値の設定は、例えばコンピュータが特定のソフトウェアを実行しているときにユーザからの指示に応じてシステム・パラメータが変更された場合に、変更後のシステム・パラメータの値を特定のソフトウェアのシステム・パラメータの適正値として保存し、次にそのソフトウェアが実行された時に自動的に設定することにより行うことができる。これにより、システム・パラメータの適正値として、ユーザの好みを反映した値を設定することができると共に、システム・パラメータの適正値を設定するためのユーザの負担を軽減することができる。
【００１２】
なお、上記の態様における適正値の自動設定は、例えばシステム・パラメータの変更を指示したユーザに対し、自動設定するか否かを確認した後に行うようにしてもよいし、ユーザによるシステム・パラメータの変更の指示が特定の情報入力操作を伴って行われた場合（例えばキーボードの特定のキーが押された等）にのみ自動設定を行うようにしてもよい。
【００１３】
また、設定手段によるシステム・パラメータの設定は、例えばユーザによって特定のソフトウェアが選択されてシステム・パラメータの適正値が指定された場合に、指定された適正値を特定のソフトウェアのシステム・パラメータの適正値として設定することによって行うようにしてもよい。これにより、システム・パラメータの適正値として、ユーザの好みを反映した値を設定することができる。
【００１４】
また、本発明において、システム・パラメータの適正値を個々のソフトウェア毎に設定した設定テーブルを複数種登録可能とし、設定テーブルが複数種登録されている場合に、複数種の設定テーブルのうち指定された設定テーブルに設定されているシステム・パラメータの適正値に基づいてソフトウェアの実行環境を制御するようにしてもよい。これにより、例えば本発明に係るコンピュータのユーザが複数存在している場合に、個々のユーザに対応する設定テーブルを各々生成し、現在のユーザに対応する設定テーブルをユーザが指定するようにすれば、現在のユーザの好みを反映した実行環境でソフトウェアを実行させることを容易に実現できる。
【００１５】
また、例えば本発明に係るコンピュータをユーザが利用する場面（例えば職場、自宅、通勤時等）毎に設定テーブルを各々生成し、現在の利用場面に対応する設定テーブルをユーザが指定するようにすれば、現在の利用場面に適した実行環境でソフトウェアを実行させることができる。
【００１６】
本発明に係るコンピュータの制御方法は、コンピュータがソフトウェアを実行する際の実行環境に関連するシステム・パラメータの適正値を、コンピュータによって実行される個々のソフトウェア毎に設定し、コンピュータが実行するソフトウェアを検出し、検出したソフトウェアに対応して設定されているシステム・パラメータの適正値に基づいてソフトウェアの実行環境を制御するので、本発明に係るコンピュータと同様に、コンピュータがソフトウェアを実行する際の実行環境を、コンピュータが実行するソフトウェアに応じて適正に制御することができる。
【００１７】
本発明に係る記録媒体には、コンピュータがソフトウェアを実行する際の実行環境に関連するシステム・パラメータの適正値を、コンピュータによって実行される個々のソフトウェア毎に設定する第１のステップ、コンピュータが実行するソフトウェアを検出する第２のステップ、及び、検出したソフトウェアに対応して設定されているシステム・パラメータの適正値に基づいてソフトウェアの実行環境を制御する第３のステップ、すなわち本発明に係る制御方法をコンピュータによって実現するためのプログラムが記録されているので、コンピュータが前記記録媒体に記録されたプログラムを読み出して実行することにより、本発明に係る制御方法と同様に、コンピュータがソフトウェアを実行する際の実行環境を、コンピュータが実行するソフトウェアに応じて適正に制御することができる。
【００１８】
本発明に係る伝送媒体は、コンピュータがソフトウェアを実行する際の実行環境に関連するシステム・パラメータの適正値を、コンピュータによって実行される個々のソフトウェア毎に設定する第１のステップ、コンピュータが実行するソフトウェアを検出する第２のステップ、及び、検出したソフトウェアに対応して設定されているシステム・パラメータの適正値に基づいてソフトウェアの実行環境を制御する第３のステップ、すなわち本発明に係る制御方法をコンピュータによって実現するためのプログラムを伝送するので、コンピュータが前記伝送媒体によって伝送されたプログラムを記憶手段に一時記憶した後に前記記憶手段から読み出して実行することにより、本発明に係る制御方法と同様に、コンピュータがソフトウェアを実行する際の実行環境を、コンピュータが実行するソフトウェアに応じて適正に制御することができる。
【００１９】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態の一例を詳細に説明する。図１には、本発明を実現するのに適した典型的なパーソナル・コンピュータ（ＰＣ）から成るコンピュータ・システム１０のハードウェア構成がサブシステム毎に模式的に示されている。本発明を実現するＰＣの一例は、ＯＡＤＧ（PC Open Architecture Developer's Group）仕様に準拠し、オペレーティング・システム（ＯＳ）として米マイクロソフト社の”Ｗｉｎｄｏｗｓ９８又はＮＴ”又は米ＩＢＭ社の”ＯＳ／２”を搭載したＰＣ１２（図２参照）である。なお、図２には一例としてノートブック型のＰＣを示しているが、本発明はデスクトップ型のＰＣにも適用可能である。以下、コンピュータ・システム１０の各部について説明する。
【００２０】
コンピュータ・システム１０全体の頭脳であるＣＰＵ１４は、ＯＳの制御下で、各種プログラムを実行する。ＣＰＵ１４は、例えば米インテル社製のＣＰＵチップ”Ｐｅｎｔｉｕｍ”、”ＭＭＸテクノロジＰｅｎｔｉｕｍ”、”Ｐｅｎｔｉｕｍ  Ｐｒｏ”や、ＡＭＤ社等の他社製のＣＰＵでも良いし、ＩＢＭ社製の”ＰｏｗｅｒＰＣ”でも良い。
【００２１】
ＣＰＵ１４は、自身の外部ピンに直結されたプロセッサ直結バスとしてのＦＳＢ１８、高速のＩ／Ｏ装置用バスとしてのＰＣＩ（Peripheral Component Interconnect）バス２０、及び低速のＩ／Ｏ装置用バスとしてのＩＳＡ（Industry Standard Architecture）バス等から成るＩ／Ｏバス２２という３階層のバスを介して、後述の各ハードウェア構成要素と相互接続されている。
【００２２】
ＦＳＢ１８とＰＣＩバス２０は、一般にメモリ／ＰＣＩ制御チップ２４と呼ばれるブリッジ回路（ホスト−ＰＣＩブリッジ）によって連絡されている。本実施形態のメモリ／ＰＣＩ制御チップ２４は、メイン・メモリ１６へのアクセス動作を制御するためのメモリ・コントローラ機能や、ＦＳＢ１８とＰＣＩバス２０の間のデータ転送速度の差を吸収するためのデータ・バッファ等を含んだ構成となっており、例えばインテル社製の４４０ＥＸや４４０ＧＸ等を用いることができる。メイン・メモリ１６は、ＣＰＵ１４の実行プログラムの読み込み領域として、或いは実行プログラムの処理データを書き込む作業領域として利用される書き込み可能メモリである。
【００２３】
なお、ここでいう実行プログラムには、Ｗｉｎｄｏｗｓ９８等のＯＳ、周辺機器類をハードウェア操作するための各種デバイス・ドライバ、特定業務に向けられたアプリケーション・プログラムや、フラッシュＲＯＭ５６（詳細は後述）に格納されたＢＩＯＳ（Basic Input/Output System：キーボードやフロッピーディスク・ドライブ等の各ハードウェアの入出力操作を制御するためのプログラム）等のファームウェアが含まれる。
【００２４】
ビデオ・サブシステム２６は、ビデオに関連する機能を実現するためのサブシステムであり、ＣＰＵ１４からの描画命令を実際に処理し、処理した描画情報をビデオメモリ（ＶＲＡＭ）に一旦書き込むと共に、ＶＲＡＭから描画情報を読み出して液晶ディスプレイ（ＬＣＤ）２８（図２参照）に描画データとして出力するビデオ・コントローラを含む。
【００２５】
また、ＰＣＩバス２０にはカードバス・コントローラ３０、モデム・サブシステム３２及びオーディオ・コントローラ３４が各々接続されている。モデム・サブシステム３２にはＬＡＮや電話回線等の通信回線が接続される。また、オーディオ・コントローラ３４にはオーディオ・ハードウェア回路６２（以下、オーディオＨ／Ｗ６２という）が接続されており、オーディオＨ／Ｗ６２には、一対のスピーカ６４Ｌ，６４Ｒが接続されている。オーデオＨ／Ｗ６２はＤ／Ａ変換器及び増幅器（何れも図示省略）を内蔵しており、オーディオ・コントローラ３４から音声データが入力されると、入力された音声データをアナログの音声信号に変換して増幅しスピーカ６４Ｌ，６４Ｒへ出力する。
【００２６】
ＰＣＩバス２０とＩ／Ｏバス２２は多機能ＰＣＩデバイス３８によって相互に接続されている。多機能ＰＣＩデバイス３８は、ＰＣＩバス２０とＩ／Ｏバス２２とのブリッジ機能、ＤＭＡコントローラ機能、プログラマブル割り込みコントローラ（ＰＩＣ）機能、及びプログラマブル・インターバル・タイマ（ＰＩＴ）機能、ＩＤＥ（Integrated Drive Electronics）インタフェース機能、ＵＳＢ（Universal Serial Bus）機能、ＳＭＢ（System Management Bus）インタフェース機能を備えており、例えばインテル社製のＰＩＩＸ４というデバイスを用いることができる。
【００２７】
ＩＤＥインタフェース機能によって実現されるＩＤＥインタフェースには、ＩＤＥハードディスク・ドライブ（ＨＤＤ）４０が接続される他、ＩＤＥ  ＣＤ−ＲＯＭドライブ４２がＡＴＡＰＩ（AT Attachment Packet Interface）接続される。また、多機能ＰＣＩデバイス３８にはＵＳＢポートが設けられており、このＵＳＢポートは、例えばＰＣ本体の壁面等に設けられたＵＳＢコネクタ４４と接続されている。更に、多機能ＰＣＩデバイス３８にはＳＭバスを介してＥＥＰＲＯＭ５０が接続されている。ＥＥＰＲＯＭはユーザによって登録されたパスワードやスーパーバイザー・パスワード、製品シリアル番号等の情報を保持するためのメモリであり、不揮発性で記憶内容を電気的に書き替え可能とされている。
【００２８】
Ｉ／Ｏバス２２は、ＰＣＩバス２０よりもデータ転送速度が低いバスであり（例えばバス幅１６ビット、最大データ転送速度４ＭＢｐｓ）、Ｓｕｐｅｒ  Ｉ／Ｏコントローラ４６、電源コントローラ４８、ＥＥＰＲＯＭ等から成るフラッシュＲＯＭ５６、ＣＭＯＳ５８に加え、リアルタイム・クロック（ＲＴＣ）や、キーボード／マウス・コントローラのような比較的低速で動作する周辺機器類（何れも図示省略）を接続するのに用いられる。
【００２９】
Ｓｕｐｅｒ  Ｉ／Ｏコントローラ４６にはＩ／Ｏポート５２が接続されており、フロッピーディスク・ドライブ（ＦＤＤ）の駆動、パラレル・ポートを介したパラレル・データの入出力（ＰＩＯ）、シリアル・ポートを介したシリアル・データの入出力（ＳＩＯ）を制御するための周辺コントローラである。電源コントローラ４８は主にコンピュータ・システム１０のパワー・マネージメントやサーマル・マネージメントを行うものであり、ＭＰＵ，ＲＡＭ，ＲＯＭ及びタイマ等を備えたシングルチップ・マイコンで構成することができる。
【００３０】
フラッシュＲＯＭ５６は、ＢＩＯＳやブート・ストラップ・コード等のファームウェアのプログラムを保持するためのメモリであり、不揮発性で記憶内容を電気的に書き替え可能とされている。また、ＣＭＯＳ５８は揮発性の半導体メモリがバックアップ電源に接続されて構成されており、不揮発性でかつ高速の記憶手段として機能する。
【００３１】
なお、コンピュータ・システム１０を構成するためには、図１に示した以外にも多くの電気回路が必要である。但し、これらは当業者には周知であり、また、本発明の要旨を構成するものではないので、本明細書中では説明を省略する。また、図面の錯綜を回避するため、図中の各ハードウェアブロック間の接続も一部しか図示していないことを付記しておく。
【００３２】
次に、本発明に係るコンピュータの制御方法をコンピュータ・システム１０のスピーカ６４Ｌ，６４Ｒから発せられる出力音声の音量及び左右の音量バランスの制御に適用した場合を例に、本実施形態の作用を説明する。本実施形態では、本発明に係る音量制御プログラムが、その他のアプリケーションプログラムと共に、当初は情報記録媒体７０（図１参照）に記憶されている。なお、図１では情報記憶媒体７０をフロッピーディスクとして示しているが、ＣＤ−ＲＯＭ等の他の情報記憶媒体であってもよい。情報記憶媒体７０が対応するドライブ（フロッピーディスク・ドライブやＣＤ−ＲＯＭドライブ）に装填されている状態で、情報記憶媒体からのインストールが指示されると、情報記憶媒体が装填されているドライブによって情報記憶媒体から音量制御プログラム等が読み出され、ＨＤＤ４０に記憶される。
【００３３】
本実施形態に係る音量制御プログラムは、コンピュータ・システム１０の電源が投入されてＯＳが起動されると、コンピュータ・システム１０の電源投入時に起動される他のアプリケーション・プログラムと共にＨＤＤ４０から自動的に読み出されてメイン・メモリ１６にロードされ、音量制御プログラムを含むロードされた各プログラムがＣＰＵ１４によって順に実行される。これにより、ＰＣ１２が本発明に係るコンピュータとして機能する。このように、音量制御プログラム等を記憶している情報記憶媒体は本発明に係る記録媒体に対応している。
【００３４】
続いて、音量制御プログラムによって実現される処理の説明に先立ち、まずスピーカ６４Ｌ，６４Ｒからの音声の出力、及び出力音声の音量等の変更について説明する。
【００３５】
図３には、コンピュータ・システム１０にインストールされているアプリケーション・プログラムを「アプリケーションＡ」「アプリケーションＢ」として示している。例えば「アプリケーションＡ」のプログラムによって実現される処理が、スピーカ６４Ｌ，６４Ｒからの音声の出力を伴う処理であった場合、ＣＰＵ１４による「アプリケーションＡ」のプログラムの実行に伴って、スピーカ６４Ｌ，６４Ｒから出力すべき音声を表す音声データが出力される。
【００３６】
この音声データは、ＯＳ及びオーディオ・デバイス・ドライバ８６を介してオーディオＨ／Ｗ６２へ転送される。またＯＳは、出力音声の音量及び左右の音量バランスの現在の設定値に基づき、オーディオ・デバイス・ドライバ８６に対して出力音声の音量及び音量バランスを指示する。なお、上記の出力音声の音量及び音量バランスの設定値はＯＳが管理している設定値であり、当初はデフォルト値が設定されている。
【００３７】
オーディオＨ／Ｗ６２は、音声データが入力されると、入力された音声データを指示された音量かつ音量バランスのアナログの音声信号に変換（Ｄ／Ａ変換）してスピーカ６４Ｌ，６４Ｒへ各々出力し、オーディオ・デバイス・ドライバ８６は出力音声が指示された音量及び音量バランスとなるようにオーディオＨ／Ｗ６２を制御する。これにより、「アプリケーションＡ」のプログラムによって出力された音声データが、スピーカ６４Ｌ，６４Ｒにより、現在の設定値に応じた音量及び音量バランスの実音声として出力され、ユーザに聴取される。
【００３８】
また、スピーカ６４Ｌ，６４Ｒから出力される音声の音量や左右の音量バランスが適正でないと判断した場合、ＰＣ１２のユーザは、音量調整用のウインドウの表示を指示する操作を行う。これによりＯＳは、例として図４（Ａ）に示すような音量調整ウインドウ９０をＬＣＤ２８の表示画面に表示させる。この音量調整ウインドウ９０には、出力音声の音量を変更するための図形９０Ａ及び左右の音量バランスを変更するための図形９０Ｂが各々表示されている。
【００３９】
音量調整ウインドウ９０内の図形９０Ａの表示位置は、出力音声の音量の現在の設定値を表しており、ユーザがマウス等のポインディングデバイスやキーボードを操作して図形９０Ａの表示位置を移動させることで出力音声の音量の変更を指示すると、ＯＳは、出力音声の音量が移動後の図形９０Ａの表示位置に対応する値になるように、オーディオ・デバイス・ドライバ８６に対して音量の変更を指示する。これにより、スピーカ６４Ｌ，６４Ｒからの出力音声の音量がユーザの指示に応じて変更される。
【００４０】
また、音量調整ウインドウ９０内の図形９０Ｂの表示位置は、出力音声の左右の音量バランスの現在の設定値を表しており、ユーザが図形９０Ｂの表示位置を移動させることで出力音声の音量バランスの変更を指示すると、ＯＳは、出力音声の左右の音量バランスが移動後の図形９０Ｂの表示位置に対応する値になるように、オーディオ・デバイス・ドライバ８６に対して音量バランスの変更を指示する。これにより、スピーカ６４Ｌ，６４Ｒからの出力音声の左右の音量バランスがユーザの指示に応じて変更される。
【００４１】
また、上記のように出力音声の音量又は音量バランスの変更が指示されると、ＯＳは、ＯＳ自身が管理している出力音声の音量設定値又は出力音声の音量バランス設定値を変更設定する。これらの設定値は、次に音量又は音量バランスの少なくとも一方の変更が指示される迄保持され、次に音量又は音量バランスの少なくとも一方の変更が指示される迄の間は、ＣＰＵ１４が実行しているアプリケーション・プログラムの種類に拘わらず、設定値に応じた音量及び音量バランスで音声が出力される。
【００４２】
次に、ＣＰＵ１４が音量制御プログラムを実行することによって実現される音量制御処理について、図５のフローチャートを参照して説明する。音量制御プログラムはＯＳの起動時に起動するようプログラムされ、更にメイン・メモリ１６上に常駐するようプログラムされている。ステップ１５０へは、ＯＳが発行するイベントの発生に伴って制御が移る（制御遷移する）ようプログラムされており、ステップ１５０，１５２で音量制御プログラムに関する初期設定（音量制御プログラムの動作環境のセットアップ）が行われる
【００４３】
すなわちステップ１５０では、ＬＣＤ２８の表示画面に表示しているウインドウのフォーカスが切り替わる（フォアグラウンドに表示するウインドウが切り替わる）際に（例として図４（Ｂ）及び（Ｃ）参照）、音量制御プログラムに制御遷移するように処理を行う。Ｗｉｎｄｏｗｓ９８やＮＴ等のＯＳが提供するＡＰＩ(Application Program Interface)では、ウインドウのフォーカスを切り替える際に、新たにフォーカスを得る（フォアグラウンド表示に切り替える）ウインドウに対応するアプリケーションに対し、対応するウインドウが新たにフォーカスを得たことをメッセージ（例えばWM#SETFOCUS等のウインドウ・メッセージ）によって通知するようになっている。
【００４４】
このため、ステップ１５０の処理は、ウインドウのフォーカスの切り替え時にＯＳから任意のアプリケーション・プログラムへ通知されるメッセージがフックされるようにすることによって実現できる。これにより、ＯＳがウインドウのフォーカスの切り替える毎に、ウインドウのフォーカスの切り替えを通知するメッセージがＯＳから音量制御プログラムへ送信される度に音量制御プログラムに制御が遷移することになる。
【００４５】
次のステップ１５２では、スピーカ６４Ｌ，６４Ｒからの出力音声の音量が変更された場合に音量制御プログラムに制御遷移するように処理を行う。Ｗｉｎｄｏｗｓ９８やＮＴ等のＯＳのＡＰＩでは、音量調整ウインドウ９０によって出力音声の音量や音量バランスの設定が変更された場合に制御遷移すべきプログラムを登録するためのインタフェースが提供されており（上記プログラムの登録は、具体的には「mixerOpen()」を用いることで実現できる）、ステップ１５２の処理はこのインタフェースを利用することで実現できる。これにより、音量調整ウインドウ９０によって出力音声の音量や音量バランスの設定が変更される毎に、音量制御プログラムに制御が遷移することになる。
【００４６】
上記のようにステップ１５０，１５２で音量制御プログラムに関する初期設定処理（音量制御プログラムの動作環境のセットアップ）を完了すると、音量制御処理への制御遷移を待つ状態（ステップ１５３）に移る。
【００４７】
また、特定のアプリケーション・プログラムが起動されたり、或いはＬＣＤ２８の表示画面に表示されているウインドウのうちバックグラウンドに表示されているウインドウがクリックされた等により、ＯＳがウインドウのフォーカスの切り替えを行う場合には、ＯＳから特定のアプリケーション・プログラムへのウインドウのフォーカスの切り替えを通知するメッセージがフックされ、ウインドウのフォーカスの切り替えを通知するメッセージがＯＳから音量制御プログラムへ送信されることで音量制御プログラムへ制御遷移する。この場合には、ステップ１５３からステップ１５４へ移行し、今回、音量制御プログラムに制御が遷移した要因を判定し、制御遷移要因の判定結果に応じて分岐する。
【００４８】
音量制御プログラムに制御が遷移した要因が、ウインドウフォーカスの切り替えであると判断した場合にはステップ１５６へ移行し、ステップ１５６以降において、新たにフォーカスを得るウインドウに対応するアプリケーション・プログラムを特定する情報を取得するための処理を行う。すなわち、まずステップ１５６では、新たにフォーカスを得るウインドウのウインドウ・ハンドル（個々のウインドウを識別するためのＩＤ）を取得する。
【００４９】
Ｗｉｎｄｏｗｓ９８やＮＴ等のＯＳが提供するＡＰＩでは、或るアプリケーション・プログラムが表示画面にウインドウを表示させたい場合、まずアプリケーション・プログラムはＯＳに対し、クラス名（詳細は後述）を指定してウインドウの生成を依頼する。ＯＳは前記依頼に応じてウインドウを生成する（表示画面上にウインドウを表示するための領域の確保等の前処理を行う）と共に、生成したウインドウに任意のＩＤ（ウインドウ・ハンドル）を付与し、付与したウインドウ・ハンドルをアプリケーション・プログラムに通知する。そして、生成されたウインドウについて何らかの処理（例えばウインドウ内に表示すべき文字や背景色等の指定）を行うためのアプリケーション・プログラムとＯＳとのメッセージの交換においては、ウインドウ・ハンドルを用いて処理対象のウインドウが識別される。
【００５０】
このため、ステップ１５６では、ＯＳから受信したメッセージ（ウインドウのフォーカスの切り替えを通知するメッセージ）の送り先を参照することで、新たにフォーカスを持ったウインドウのウインドウ・ハンドルを取得することができる。次のステップ１５８では、取得したウインドウ・ハンドルに対応するウインドウがトップレベル・ウインドウか否かを、ＯＳに問い合わせることによって判定する。
【００５１】
アプリケーション・プログラムが複数のウインドウを表示し管理する場合、ウインドウ間に親子関係が存在するのが一般的である。一つの例は、複数のウインドウを表示しているアプリケーションで、ある一つのウインドウをマウスでクリックすると、複数のウインドウが同時に前面表示されることがある。これは、ウインドウ間の親子関係を利用したＯＳによる振る舞いである。別の例は、アプリケーション・プログラムのワーク・スペース上に存在するスクロール・バーやボタン等である。これらはウインドウの一つの表示形態であり、そのウインドウはワーク・スペース全体を表示しているウインドウの子孫である。このように、一般的に、アプリケーション・プログラムのウインドウには階層構造が存在する。
【００５２】
また全てのウインドウには、ＯＳによってウインドウ・ハンドルが各々付与されると共に、アプリケーション・プログラムによってクラス名が各々指定され、ＯＳは全てのウインドウのウインドウ・ハンドル及びクラス名を、各ウインドウの関係（上下関係）と共に管理している。そして、各ウインドウに対しては任意のクラス名を指定可能であるが、トップレベル・ウインドウに対しては個々のアプリケーション・プログラム固有の名称が設定されることが一般的である。
【００５３】
本実施形態では、個々のアプリケーション・プログラムの識別をクラス名に基づいて行うので、先のステップ１５８では、個々のアプリケーション・プログラム固有のクラス名を取得するためにトップレベル・ウインドウか否かを判定している。ステップ１５８の判定が否定された場合にはステップ１６０へ移行し、現在取得しているウインドウ・ハンドルに対応するウインドウの親に相当するウインドウ（前記ウインドウと関連付けられたより上位のウインドウ）のウインドウ・ハンドルを取得した後にステップ１５８に戻る。従って、ステップ１５８，１６０はステップ１５８の判定が肯定される迄繰り返される。
【００５４】
トップレベル・ウインドウのウインドウ・ハンドルを取得すると、ステップ１５８の判定が肯定されてステップ１６２へ移行し、トップレベル・ウインドウのウインドウ・ハンドルに基づき、ＯＳに問い合わせることによって前記トップレベル・ウインドウに付与されているクラス名を取得すると共に、取得したクラス名を現在フォーカスを得ているウインドウに対応するアプリケーション・プログラムを識別する情報（以下、単にアプリケーション識別情報という）としてメイン・メモリ１６に記憶する。なお、上述したステップ１５６〜１６２は本発明の検出手段に対応している。
【００５５】
次のステップ１６４では、音量設定データベース（設定テーブル）に対してアプリケーション識別情報をキーとして検索を行うことにより、対応する音量値及び音量バランス値が登録されているか否か判定する。なお、音量設定データベースについては後述する。ステップ１６４の判定が否定された場合にはＯＳに制御を戻し、音量制御プログラムに再び制御遷移する迄待機する（ステップ１５３）ので、出力音声の音量及び音量バランスは変更されない。上記の処理により、ウインドウフォーカスの切り替えが発生する毎に、メイン・メモリ１６に記憶しているアプリケーション識別情報が更新されると共に、音量設定データベースに対応する音量値が登録されているか否かがチェックされることになる。
【００５６】
また、ＣＰＵ１４が特定のアプリケーション・プログラムを実行している状態で、例えばスピーカ６４Ｌ，６４Ｒから出力される音声の音量や左右の音量バランスが適正でないと判断した等の理由により、ユーザによって音量調整ウインドウ９０の表示が指示され、スピーカ６４Ｌ，６４Ｒから出力される音声が適正な音量でかつ適正な音量バランスとなるように図形９０Ａ又は図形９０Ｂの表示位置が移動されることで、出力音声の音量や音量バランスの設定がユーザによって変更された場合には、前述のステップ１５２の処理の結果により、ＯＳによって音量制御プログラムに制御が遷移する。この場合は制御遷移の要因が音量や音量バランスの変更であるので、ステップ１５４からステップ１７０へ移行する。
【００５７】
ステップ１７０では、変更後の音量値及び音量バランス値を、現在実行中のアプリケーション・プログラムを実行するときの適正な音量値及び音量バランス値として登録するか否かをユーザに確認するメッセージをＬＣＤ２８の表示画面に表示させ、変更後の音量値（又は音量バランス値）を登録するか否かをユーザに選択させる。ステップ１７２では変更後の音量値及び音量バランス値の登録が指示されたか否かを判定する。上記判定が否定された場合には、何ら処理を行うことなくＯＳに制御を戻し、音量制御プログラムに再び制御遷移する迄待機する（ステップ１５３）。
【００５８】
なお、上記のように変更後の音量値（又は音量バランス値）を登録するか否かの確認を、音量又は音量バランスが変更された後に表示画面にメッセージを表示することで行うことに代えて、例えば音量調整ウインドウ９０を、音量や音量バランス値の変更に加え、及び変更後の音量値及び音量バランス値の登録をユーザが指示可能に構成し、音量調整ウインドウ９０上で前記登録が指示されたか否かを確認するようにしてもよい。
【００５９】
一方、変更後の音量値及び音量バランス値の登録が指示された場合には、ステップ１７２の判定が肯定されてステップ１７４へ移行し、メイン・メモリ１６に記憶しているアプリケーション識別情報（クラス名：先に説明したように、このアプリケーション識別情報はウインドウフォーカスの切り替えが発生する毎に前述のステップ１６２によって更新される）を取り込む。次のステップ１７６では、取り込んだアプリケーション識別情報が音量設定データベースに登録されているか否か判定する。
【００６０】
音量制御プログラムにおいて、音量設定データベース（設定テーブル）は不揮発性情報として扱われる。音量設定データベースをシステムに記憶させるために、ＨＤＤ４０に格納しても良いし、ＣＭＯＳ５８を利用しても構わないし、外部記憶媒体７０を利用しても構わない。或いは情報の性質や内容に応じて格納場所をそれぞれ分けても構わない。音量設定データベースは、アプリケーション識別情報と、該アプリケーション識別情報に対応するアプリケーション・プログラムが実行されるときの適正な音量値及び音量バランス値と、を対応させて多数記憶可能とされている。当初は何らデータが記憶されていないので、ステップ１７６の判定が否定されてステップ１７８へ移行し、アプリケーション識別情報と音量値及び音量バランス値を記憶するための領域（エントリ）を作成した後にステップ１８０へ移行する。
【００６１】
ステップ１８０では現在の音量値及び音量バランス値（ユーザによって適正と判断された変更後の音量値及び音量バランス値）を取得し、次のステップ１８２では、音量設定データベースのうちステップ１７８で作成したエントリに、取得した音量値及び音量バランス値を、ステップ１７４で取り込んだアプリケーション識別情報と対応させて登録する。ステップ１８２の処理を行うと、音量制御処理を終了してＯＳに制御を戻す。なお、上述したステップ１７０〜１８２は本発明の設定手段に対応している。
【００６２】
これにより、上記のようにして音量設定データベースに音量値及び音量バランス値が登録されたアプリケーション・プログラムに対応するウインドウが、一旦フォーカスを失った後に再度フォーカスを得た場合、或いはコンピュータ・システム１０の電源が切断された後に再度投入されて前記アプリケーション・プログラムが起動された場合には、ステップ１６４の判定が肯定されてステップ１６６へ移行する。
【００６３】
ステップ１６６では、アプリケーション識別情報と対応されて音量設定データベースに登録されている音量値及び音量バランス値を取得し、次のステップ１６８では、取得した音量値及び音量バランス値に基づき、ＯＳに対して出力音声の音量及び左右の音量バランスの設定の変更を指示する。これにより、ＯＳ、オーディオ・デバイス・ドライバ８６及びオーディオＨ／Ｗ６２を介し、スピーカ６４Ｌ，６４Ｒから出力される音声が、新たにフォーカスを得たウインドウに対応するアプリケーション・プログラムに適した音量及び音量バランスに自動的に制御されることになる。このように、ステップ１６４〜１６８は本発明の制御手段に対応している。
【００６４】
また、音量設定データベースに音量値及び音量バランス値が既に登録されているアプリケーション・プログラムを実行中に、出力音声の音量や音量バランスの設定がユーザによって変更され、かつ変更後の音量値及び音量バランス値の音量設定データベースへの登録が指示された場合には、ステップ１７６の判定が肯定されることで、音量設定データベースに既に登録されている現在実行中のアプリケーション・プログラムの音量値及び音量バランス値が、変更後の音量値及び音量バランス値で上書きされて更新されることになる。
【００６５】
なお、上記では特定のアプリケーション・プログラムの実行中に出力音声の音量値や音量バランス値が変更された場合に、変更後の音量値や音量バランス値を登録するか否かをユーザに確認した後に、登録が指示された場合にのみ変更後の音量値や音量バランス値を登録するようにしていたが、これに限定されるものではなく、例えばユーザによる音量値や音量バランス値の変更の指示が特定の情報入力操作を伴って行われた場合（例えばキーボードのctrlキー等の特定のキーが押されながら行われた等）に、変更後の音量値や音量バランス値を自動的に登録するようにしてもよいし、コンピュータ・システム１０にインストールされている各アプリケーション・プログラムの名称を一覧表示し、個々のアプリケーション・プログラムについて音量や音量バランスの適正値をユーザに各々指定させるようにしてもよい。
【００６６】
また、上記ではアプリケーション・プログラム毎の音量及び音量バランスの適正値を登録した単一の音量設定データベースを用いて出力音声の音量及び音量バランスを制御する場合を説明したが、これに限定されるものではなく、例えばコンピュータ・システム１０を使用する個々のユーザ毎、或いはコンピュータ・システム１０をユーザが使用する場面（例えば職場、自宅、通勤時等）毎に音量設定データベースを各々作成し、音量制御処理に使用する音量設定データベースを、コンピュータ・システム１０を現在使用中のユーザ、或いは現在の使用場面に応じて切替えるようにしてもよい。
【００６７】
また、上記ではコンピュータ・システム１０にインストールされているアプリケーション・プログラムを、システム・パラメータの変更・制御の対象としていたが、これに限定されるものではなく、例えばＯＳ、ＢＩＯＳ、デバイス・ドライバ等のソフトウェアもシステム・パラメータの変更・制御の対象としても良いことは言うまでもない。
【００６８】
更に、上記では図６（Ａ）に示すように、本発明を実現するための各種機能、すなわちアプリケーションの切替えを検知する機能（機能Ａ）、変更された音量等の音量データベースへの登録／非登録をユーザに確認する機能（機能Ｂ）、音量データベースを管理する機能（機能Ｃ）、音量等が変更されたことを検知する機能（機能Ｄ）、及び出力音声の音量等の変更を指示する機能（機能Ｅ）を、アプリケーション・レイヤのプログラム（音量制御プログラム）によって実現する場合を説明したが、本発明はこれに限定されるものではなく、例えばＯＳのプログラム自体を修正することが可能であれば、図６（Ｂ）に示すように、本発明を実現するための機能Ａ〜機能Ｅを全てＯＳに埋め込むようにしてもよい。
【００６９】
またＰＣには、ＯＳが備えている音量調整機能と別に音量調節機構が設けられていることもある。この音量調節機構は、例えば音量を調節するための特定のキー（例えば「Ctrl」キーと「Page Up」キー又は「Page Down」キー）が押されるとＢＩＯＳが起動され、キー操作に応じてＯＳを経由することなく音量を変更すると共に、変更後の音量値をディスプレイに表示するものである。上記の音量調節機構は、例えば前記特定のキーが押されたか否かの監視及び検知をデバイス・ドライバによって行い、ＢＩＯＳが提供する特殊な（通常は非公開の）インタフェースを利用してＢＩＯＳ経由で音量を変更する構成によって実現されるが、この態様において、例として図６（Ｃ）に示すように機能Ｄ及び機能Ｅをデバイス・ドライバに埋め込み、前記特殊なインタフェースを利用して本発明を実現することも可能である。
【００７０】
更に、ＯＳのプログラム自体を修正することが可能であれば、図６（Ｃ）に示した機能Ｄ及び機能Ｅと同等の機能を、図６（Ｂ）のように他の機能Ａ〜機能Ｃと共にＯＳに埋め込み、前記特殊なインタフェースを利用して本発明を実現することも可能である。
【００７１】
また、上記ではソフトウェアを実行する際の実行環境に関連するシステム・パラメータとして、スピーカ６４Ｌ，６４Ｒからの出力音声の音量値（音量制御パラメータ）及び左右の音量バランス値（音量バランス制御パラメータ）を用いていたが、これに限定されるものではなく、例えば複数の音声周波数帯域の各々における音量や、デジタルの音声データからアナログの音声信号への変換に用いるパラメータ等のように、出力音声の音質に関連するパラメータ（音質制御パラメータ）やＬＣＤ２８の表示画面の明るさを規定するパラメータ（明度制御パラメータ）、ＣＰＵ１４の動作速度を規定するパラメータ（動作速度制御パラメータ）等を本発明に係るシステム・パラメータとして用いてもよい。
【００７２】
また、上記では本発明に係るコンピュータの制御方法を実現するための音量制御プログラムが、当初は、本発明に係る記録媒体としての情報記憶媒体７０に記憶されており、情報記憶媒体７０から本実施形態に係るコンピュータ・システム１０へ前記プログラムがインストールされて実行されることにより、コンピュータ・システム１０が本発明に係るコンピュータとして機能する態様について説明したが、前記プログラムを、当初は公衆電話回線やコンピュータネットワーク（例えばＬＡＮ、インターネット、無線通信ネットワーク等）システムにおける通信媒体（光ファイバや無線回線）を介してコンピュータ・システム１０と接続される他の情報処理機器（例えばネットワークサーバ）の記憶装置に記憶しておき、コンピュータ・システム１０が前記情報処理機器と通信することで、前記情報処理機器から前記通信媒体（本発明に係る伝送媒体）によって前記プログラムがコンピュータ・システム１０へ伝送され、伝送されたプログラムをコンピュータ・システム１０がＨＤＤ４０等の記憶手段にインストールして実行することにより、コンピュータ・システム１０が本発明に係るコンピュータとして機能するようにしてもよい。
【００７３】
【発明の効果】
以上説明したように本発明は、コンピュータがソフトウェアを実行する際の実行環境に関連するシステム・パラメータの適正値を、コンピュータによって実行される個々のソフトウェア毎に設定し、コンピュータが実行するソフトウェアを検出し、検出したソフトウェアに対応して設定されているシステム・パラメータの適正値に基づいてソフトウェアの実行環境を制御するので、コンピュータがソフトウェアを実行する際の実行環境を、コンピュータが実行するソフトウェアに応じて適正に制御することができる、という優れた効果を有する。
【図面の簡単な説明】
【図１】  本実施形態に係るコンピュータ・システムの概略構成を示すブロック図である。
【図２】  ノートブック型ＰＣの外観を示す斜視図である。
【図３】  音声の出力、出力音声の音量等の調整に係るソフトウェア及びハードウェアを示す概念図である。
【図４】  （Ａ）は音量調整ウインドウの一例、（Ｂ）及び（Ｃ）はウインドウフォーカスの切り替えの一例を各々示すイメージ図である。
【図５】  音量制御処理の内容を示すフローチャートである。
【図６】  （Ａ）は本発明をアプリケーション・プログラムによって実現する態様、（Ｂ）は本発明をＯＳによって実現する態様、（Ｃ）は本発明に係る機能の一部をＢＩＯＳが提供しているインタフェースを利用して実現する態様を各々示す概念図である。
【符号の説明】
１０    コンピュータ・システム
１４    ＣＰＵ
６２    オーディオＨ／Ｗ
６４Ｌ，６４Ｒ    スピーカ
８６    オーディオ・デバイス・ドライバ
【図１】
0004005293.tif 000002
【図２】
0004005293.tif 000003
【図３】
0004005293.tif 000004
【図４】
0004005293.tif 000005
【図５】
0004005293.tif 000006
【図６】
0004005293.tif 000007