以下、図面を参照して、本発明の情報処理装置の実施の形態について説明する。
図1は、本実施の形態の情報処理装置の構成例を表している。
図1の情報処理装置において、CPU1は、例えば、インテル(Intel)社製のペンティアム(登録商標)プロセッサ等で構成され、フロントサイドバス(FSB)41に接続されている。FSB41には、さらに、ノースブリッジ4が接続されている。このノースブリッジ4は、AGP(Accelerated Graphics Port)42を有しているとともに、バス43(インテル社製の場合、ハブインタフェース43)に接続されている。
ノースブリッジ4は、例えば、インテル社製のAGP Host Bridge Controllerである440BXなどで構成されており、RAM(Random Access Memory)3やROM(Read Only Memory)2(いわゆる、メインメモリ)等を制御する。
RAM3は、例えば、DRAM(Dynamic RAM)で構成され、CPU1が実行するプログラム、またはCPU1の動作に必要なデータを記憶する。具体的には、例えば、RAM3は、起動が完了した時点において、HDD8からロードされたOS(Operating System)やインターネットプログラムなどを記憶する。なお、OSは、例えば、マイクロソフト社のいわゆるWindows(登録商標)XP、またはアップルコンピュータ社のいわゆるMac OS(登録商標)等に代表される、コンピュータの基本的な動作を制御するプログラムである。即ち、OSとは、基本制御ソフトウエアの一形態である。
さらに、ノースブリッジ4は、AGP42を介して表示制御部5を制御する。表示制御部5は、LCD(Liquid Crystal Display)またはVGA(Video Graphics Array)方式のディスプレイ等から構成される表示部6の表示を制御する。
ノースブリッジ4は、ハブインタフェース43を介して、サウスブリッジ7とも接続されている。サウスブリッジ7は、例えば、インテル社製のPIIX4Eなどで構成されており、ACリンクバス44、USBバス(図示せず)、または、IDEバス45に接続されるデバイスの制御等、各種のI/O(Input / Output)を制御する。
具体的には、ここでは、ACリンクバス44には、オーディオコーディック9が接続されている。オーディオコーディック9には、スピーカ11またはヘッドフォン12に音声信号を出力するオーディオアンプ10が接続されている。オーディオコーディック9は、例えば、AC'97と称される規格に従って、サウスブリッジ7内のAC'97コントローラ(図示せず)から送られる圧縮音声信号(PCM(Pulse Code Modulation)データ)を、アナログの音声信号に変換し、オーディオアンプ10に出力する。なお、オーディオコーディック9から出力される音声信号の振幅(即ち、オーディオアンプ10に入力される音声信号のレベル)は、後述する図3のOSオーディオ制御部63により設定される。オーディオアンプ10は、ハードウエア上の音声出力部に相当し、入力された音声信号のレベルのゲイン(利得)調整を行った後、スピーカ11またはヘッドフォン12に出力する。スピーカ11またはヘッドフォン12は、入力された音声信号を音声に変換して出力する。このときの音声は、音声信号のレベル(ゲイン調整されたレベル)に対応した音量で出力される。
即ち、本実施の形態の情報処理装置においても、出力音声の音量の設定レベルは従来と同様に2つ存在する。即ち、1つ目の設定レベル(第1の設定レベル)は、ソフトウエア的に設定される(後述する図3のオーディオ制御部63により設定される)設定レベルであって、この第1の設定レベルに応じて、オーディオコーディック9から出力される音声信号の振幅(レベル)が調整される。一方、2つ目のレベル(第2の設定レベル)は、ハードウエア的に設定される設定レベル(音声調節ダイヤル17のダイヤル位置に応じてオーディオアンプ10により設定されるゲインの設定値)であって、この第2の設定レベルに応じて、オーディオアンプ10から出力される音声信号のレベルがゲイン調整される。
上述したように、従来においては、これらの第1の設定レベルと第2の設定レベルとのそれぞれは完全に独立していたため、いずれか一方が更新されると、第1の設定レベルと第2の設定レベルとの整合性が取れなくなってしまうという課題が発生した。そこで、本実施の形態においては、この課題を解決するために、即ち、第1の設定レベルと第2の設定レベルとの整合を取るために、EC13(および、後述する図3に示されるように、そのEC13とOSオーディオ制御部63との橋渡しをするユティリティ62等)は特別な機能(従来にはない機能)を有している。ただし、EC13のこの機能については後述する。
サウスブリッジ7のIDEバス45には、HDD(Hard Disk Drive)8が接続されている。また、IDEバス45には必要に応じて、いわゆるIDEデバイスと称されるドライブ21が電気的に接続されることもある。この場合、ドライブ21には、磁気ディスク、光ディスク、或いは光磁気ディスク等からなるリムーバブル記録媒体33が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じてHDD8にインストールされる。
サウスブリッジ7にはまた、PCI(Peripheral Component Interconnect)バス47、および、LPC(Low Pin Count)バス46が接続されている。
PCIバス47には、ドライブ20が必要に応じて接続され、半導体メモリ等からなるリムーバブル記録媒体32が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じてHDD8にインストールされる。
LPCバス46には、EC(Embedded Controller)13が接続されている。EC13には、消音ボタン14、消音表示部15、キーボード16、オーディオアンプ10、可変抵抗18、および、ステッピングモータ19が接続されている。
EC13は、例えば、マイクロコンピュータ等で構成され、一般的には(従来においては)、大別して次の第1の機能乃至第3の機能を有している。即ち、第1の機能とは、キーボード16を制御する機能である。第2の機能とは、ACPI(Advance Configuration and Power Interface)に対応した電源管理を行う機能である。第3の機能とは、いわゆるユティリティソフトウエア(ここでは、後述する図3のユティリティ62)とのインタフェースを提供する機能である。
EC13は、基本制御ソフトウエア(OSやBIOS(Basic Input Output System))との通信を行うためのインタフェースも有しており、コマンドやデータの授受を行うこともできる。なお、BIOSとは、情報処理装置の基本動作命令を集めたプログラム群であり、OSまたはアプリケーションソフトウエアと周辺機器や内蔵するデバイスとの間でのデータの受け渡し(入出力)を制御する。
さらに、本実施の形態のEC13は、ソフトウエア的に設定される出力音声の音量の第1の設定レベルと、ハードウエア的に設定される出力音声の音量の第2の設定レベルとの整合を取るべく、即ち、従来の課題を解決すべく、次のような新たな第4の機能乃至第8の機能も有している。
即ち、第4の機能とは、音量調節ダイヤル17からの入力信号(可変抵抗18からの出力)を検出する機能である。第5の機能とは、音量調節ダイヤル17のダイヤル位置の制御を行う機能である。第6の機能とは、オーディオアンプ10に対する消音要求信号を出力する制御である。なお、消音要求信号については後述する。第7の機能とは、消音ボタン14が押下操作されたことを検出する機能である。第8の機能とは、消音表示部15の表示、即ち、消音状態を示す表示の制御を行う機能である。
以下、これらの第4の機能乃至第8の機能の詳細についてその順番に個別に説明する。
はじめに、第4の機能の詳細について説明する。
即ち、可変抵抗18は、音量調節ダイヤル17のダイヤル位置に応じて抵抗値が可変する。また、情報処理装置の一部分の外観の構成を示す図2に示されるように、音量調節ダイヤル17は、例えば、キーボード16が配置される面と垂直な面に設けられるハードウエアのダイヤルである。従って、ユーザが音量調節ダイヤル17を動かす(回転させる)と、可変抵抗18を通じてEC13とオーディオアンプ10とに接続されている信号線48の電圧のレベルが変動する。すると、オーディオアンプ10は、その変化した電圧レベルに基づいて、音声信号のレベルの増幅量(ゲイン)を変動させる。即ち、オーディオアンプ10は、信号線48の電圧レベル(音量調節ダイヤル17のダイヤル位置)に基づいて上述した第2の設定レベルを決定し、この第2の設定レベルに応じて、出力信号(音声信号)のレベルのゲイン調整を行う。これにより、スピーカ11またはヘッドフォン12から出力される音声の音量が変化する。
このとき、EC13は、第4の機能に対応する処理を実行する。即ち、EC13も、この信号線48の電圧のレベル変動を検出し、その検出結果に基づいて、音量調節ダイヤル17のダイヤル位置の変化、即ち、ダイヤルの位置情報を得る。そして、EC13は、このようにして得たダイヤルの位置情報を、後述する図3のオーディオ制御部63にユティリティ62等を介して提供する。
なお、可変抵抗18の機能は、上述したように、信号線48の電圧のレベルを、音声調節ダイヤル17のダイヤル位置に応じて可変させることである。従って、この機能を有するものであれば、可変抵抗18に限定されず、例えば、ロータリーエンコーダ等を適用してもよい。即ち、ロータリーエンコーダ等を適用しても第4の機能を実現することができる。
また、音量調節ダイヤル17自身またはその近傍に、現在のダイヤル位置を示す情報を印字または刻字等するとよい。例えば、音量調節ダイヤル17のダイヤル上に、音量目盛り(そのダイヤル位置のときに出力される音声の音量を示す数字等)を印字または刻字するとよい。具体的には、例えば、最小音量を0とし、最大音量を10として、均等な間隔で0乃至10のそれぞれを印字するとよい。ユーザが、複雑な手順を踏む事なしに、現在のダイヤル位置(即ち、現在の出力音声の音量)を容易に理解することができるからである。
次に、第5の機能の詳細について説明する。
即ち、ステッピングモータ19は、デジタル制御可能な高精度の位置決め用モータであり、入力信号(一般的には、パルス信号)に同期かつ比例して所定のステップ角毎に回転することで、外部デバイス(いまの場合は音量調節ダイヤル17のダイヤル)にトルクを与えることができる。このように、本実施の形態においては、音量調節ダイヤル17のダイヤル位置は、外部からの力(ユーザの操作)以外にも、内部的な力(情報処理装置の内部に搭載されたステッピングモータ19のトルク)によっても調整が可能である。
従って、第5の機能とは、この内部の力により音量ダイヤル17のダイヤル位置を制御する機能、即ち、ステッピングモータ19に対して入力信号を与えることでそのトルクを制御する機能である。換言すると、第5の機能とは、内部的な力で音量ダイヤル17のダイヤル位置を制御することにより、オーディオアンプ10に音声信号のゲイン調整を行わせ(第2の設定レベルを変化させ)、その結果、スピーカ11やヘッドフォン12から出力される音声の音量を変化させる機能である。従って、この第5の機能を実現するために、EC13の所定の出力端子(図示せず)とステッピングモータ19の入力端子(図示せず)とを信号線49により物理的に接続させる。
なお、ここでは、第5の機能を実現するために、ステッピングモータ19が適用されたが、第5の機能を実現することが可能な駆動装置、即ち、ユーザの手動操作を介在することなく、音量ダイヤル17のダイヤル位置を可変させる駆動力を発生することが可能な駆動装置であれば、ステッピングモータ19に限定されない。
次に、第6の機能の詳細について説明する。
即ち、本実施の形態のオーディオアンプ10は、外部からの信号により出力音をMUTE(消音)するMUTE機能を有している。この信号が上述した消音要求信号であり、この消音要求信号を制御する機能が第6の機能である。即ち、この第6の機能を実現するために、EC13の所定の出力端子(図示せず)とオーディオアンプ10のMUTE制御入力端子(図示せず)とを信号線50により物理的に接続させる。その結果、EC13が、第6の機能を利用して消音要求信号をアクティブにすると(オーディオアンプ10に供給すると)、オーディオアンプ10は、オーディオコーディック9より入力される音声信号に拘わらず、その音声信号の出力の禁止、或いは、その音声信号の増幅率を略0倍にまで下げた出力を行うことができる。即ち、スピーカ11やヘッドフォン12から出力される音声がMUTE(消音)される。
このように、ここでは、消音(MUTE)とは、スピーカ11やヘッドフォン12に対する音声信号の出力自体の停止と、増幅率が略0倍まで下げられた音声信号の出力とを含む概念である。従って、以下、音声信号の増幅率を略0倍にまで下げる処理、または、音声信号の出力の禁止の処理を、消音処理と適宜称する。
なお、オーディオアンプ10がMUTE機能を有していない場合、オーディオアンプ10の前段または後段にFET(Field-Effect Transistor )等のスイッチを介在させ、それを制御することで、電気信号的にオーディオパスを切断する方法や、或いは、上述した第5の機能を利用して音量調節ダイヤル17のダイヤル位置を強制的に消音(音量値ゼロ)の位置にする方法等を利用しても、第6の機能を実現することができる。
次に、第7の機能の詳細について説明する。
即ち、消音ボタン14は、スピーカ11またはヘッドフォン12から現在出力されている音声をMUTE(消音)したいと所望した場合にユーザが押下するハードウエアのボタンやキーである。この消音ボタン14の状態(押下状態またはリリース状態)を検出する機能が第7の機能である。即ち、この第7の機能を実現するために、EC13の所定の入力端子(図示せず)と消音ボタン14の出力端子(図示せず)とを信号線51により物理的に接続させる。これにより、EC13は、消音ボタン14の状態の変化を、信号線51の信号の電気的な電圧レベルの変動として検出することができる。
なお、EC13は、第7の機能により消音ボタン14の状態を検出すると、その検出結果に応じて、第6の機能により消音要求信号を制御するとともに、その検出結果を、後述する図3のOSオーディオ制御部63に対してユティリティ62等を介して供給する。
次に、第8の機能の詳細について説明する。
即ち、消音表示部15は、例えば、LED(Light Emitting Diode)やLCD (Liquid Crystal Display)等からなる表示デバイスである。第8の機能とは、この消音表示部15を制御する機能であり、具体的には、消音状態(第6の機能の実行結果)を消音表示部15に表示させる機能である。即ち、この第8の機能を実現するために、EC13の所定の出力端子(図示せず)と消音表示部15の入力端子(図示せず)とを信号線52により物理的に接続させる。これにより、EC13は、消音の状態信号(LEDの場合、例えば、点灯指令または消灯指令であり、LCDの場合、例えば、消音の有無を示す画像に対応する画像信号)を、消音表示部15に供給することが可能になる。
ところで、本実施の形態においては、キーボード16にホットキー31が設けられている。ホットキーとは、特定の機能(例えば、表示部6に表示されたメニューからマウス(図示せず)等で選択して実行する命令と等価の命令を入力させる機能や、特定の文字列の入力等の利用頻度が高い連続したキー操作に対応する入力を行う機能等)を実行するために利用できるキーまたはキー群をいう。なお、ホットキーは、ショートカットキーとも称される。従って、ここでは、ホットキー31とは、音量変更命令または消音命令の入力機能を実行するためのキーまたはキー群をいう。例えば、ホットキー31は、キーボード16上のFunction(Fn)キーと、Fxキー(xは、1乃至12程度までの整数値のうちのいずれかの値)とからなり、これらのキーが同時に押下されることにより音量変更命令または消音命令がEC13に入力される。
従って、EC13は、このホットキー31が押下されたことを検出すると、第5の機能に対応する処理を実行したり、或いは、第6の機能と第8の機能に対応する処理を実行するとともに、その検出結果を、後述する図3のOSオーディオ制御部63に対してユティリティ62等を介して供給する。
以上、EC13が有する8つの機能(第1の機能乃至第8の機能)について説明した。
次に、図3を参照して、図1の情報処理装置が有する機能のうちの、スピーカ11またはヘッドフォン12から出力される音声の音量を調整する機能(以下、音量調整機能と称する)について説明する。即ち、図3は、音量調整機能のレイヤ構成図を表している。
図3に示されるように、音量調整機能のレイヤ構成は第1層乃至第3層のそれぞれに区分される。即ち、最上位の第1層は、OS上で動作するソフトウエアで構成される層である。その下層の第2層と、さらにその下層(最下層)の第3層とは、ハードウエアで構成される層である。即ち、第1層は、OSの管理下に置かれる層であって、OSが起動されていない場合には機能しない層である。これに対して、第2層と第3層とは、OSの管理外の層であって、OSが起動されていない場合であっても機能する層である。
詳細には、第3層には、上述した図1のハードウエアのうちの、オーディオアンプ10、消音ボタン14、消音表示部15、音量調節ダイヤル17、およびホットキー31が含まれる。
第2層には、上述した図1のハードウエアのうちのサウスブリッジ7、EC13、およびオーディオコーディック9が含まれる。
第1層には、中継部61、ユティリティ62、および、OSオーディオ制御部63が含まれる。
中継部61は、EC13とOS上で働くユティリティ62との橋渡しをするためのソフトウエアである。即ち、中継部61は、EC13の上述した第3の機能を実現するために設けられている。
ユティリティ62は、OSや他のアプリケーションソフトウエアが有する機能を補うためのいわゆるユティリティソフトウエアであり、ここでは、OSオーディオ制御部63の機能や性能、或いは、操作性を向上させるソフトウエアである。
OSオーディオ制御部63は、従来の音量調整を行うためのいわゆる音量管理ソフトウエアであり、例えば、オーディオドライバ、API(Application Program Interface)、ユーザインタフェース等からなる。なお、APIは、例えば、OSがWindows(登録商標)の場合、Windows(登録商標) APIである。具体的には、例えば、音量のコントロールのために、Windows(登録商標) APIのうちのAudio Mixer Functions等の関数が利用される。即ち、上述したように、このOSオーディオ制御部63が、出力音声の音量の第1の設定レベルを決定し、その第1の設定レベルに応じてオーディオコーディック9から出力される音声信号(即ち、オーディオアンプ10の入力信号)の振幅を調整する。
次に、この図3と、図4乃至図8のフローチャートを参照して、音量調整機能を実現するための具体的な処理について説明する。
即ち、図4乃至図8のそれぞれには、EC13、ユティリティ62、および、OSオーディオ制御部63のそれぞれの処理を説明するフローチャートが示されている。なお、第1のフローチャート(EC13、ユティリティ62、またはOSオーディオ制御部63のうちのいずれかの処理を説明するフローチャート)から、それに隣接する第2のフローチャートに引かれた矢印は、所定の情報が、第1のフローチャートに対応するブロック(EC13、ユティリティ62、またはOSオーディオ制御部63のうちのいずれか)から第2のフローチャートに対応するブロック(EC13、ユティリティ62、またはOSオーディオ制御部63のうちのいずれか)に送信されることを示している。
具体的には、図4の各フローチャートのそれぞれは、音量調節ダイヤル17により音量変更の指示がなされた場合の音量調整の処理(以下、ダイヤル音量変更処理と称する)を説明するフローチャートである。図5の各フローチャートのそれぞれは、ホットキー31により音量変更の指示がなされた場合の音量調整の処理(以下、ホットキー音量変更処理と称する)を説明するフローチャートである。図6の各フローチャートのそれぞれは、マウス等によりソフトウエア的に音量変更の指示がなされ、OSオーディオ制御部63が先に処理を行う場合の音量調整の処理(以下、ソフトウエア音量変更処理と称する)を説明するフローチャートである。
また、図7の各フローチャートのそれぞれは、消音ボタン14により消音設定の変更の指示がなされた場合の消音状態の変更の処理(以下、消音ボタン消音状態変更処理と称する)を説明するフローチャートである。図8の各フローチャートのそれぞれは、マウス等によりソフトウエア的に消音設定の変更の指示がなされ、OSオーディオ制御部63が先に処理を行う場合の消音状態の変更の処理(以下、ソフトウエア消音状態変更処理と称する)を説明するフローチャートである。
なお、ここでは、消音状態とは、消音が設定されている状態(以下、消音ON状態と称する)と消音の設定が解除されている状態(以下、消音OFF状態)とを含む概念である。即ち、消音状態の変更とは、消音ON状態から消音OFF状態への変更と、消音OFF状態から消音ON状態への変更といった2つの変更を指す。
はじめに、図4を参照して、ダイヤル音量変更処理について説明する。
ステップS1において、図3のEC13は、音量調節ダイヤル17のダイヤル位置が変更されたか否かを判定する。
詳細には、EC13は、定期的な音量調節ダイヤル17の監視(Polling処理)または外部割り込みにより、音量調節ダイヤル17のダイヤル位置を示す電気信号(即ち、信号線48(図1)から供給されるアナログの電圧信号)のレベルを、音量レベルを示す数値に変換する。そこで、EC13は、ステップS1において、いま変換した数値と直前に変換した数値とを比較することで、音量調節ダイヤル17のダイヤル位置が変更されたか否かを判定する。
例えば、その比較の結果、数値の変化が特に無かった場合、ステップS1において、音量調節ダイヤル17のダイヤル位置が変更されていないと判定され、処理はステップS1に戻され、音量調節ダイヤル17のダイヤル位置が変更されたか否かが再度判定される。即ち、EC13は、所定のタイミング毎に、音量調節ダイヤル17のダイヤル位置に対応する数値(音量レベルを示す数値)を検出し、その数値と、直前に検出した数値との比較を行う。
例えば、いま、ユーザが音量調節ダイヤル17のダイヤルを回転させたとする。この場合、そのダイヤル位置の変化に応じて、信号線48から供給されるアナログの電圧信号のレベルも変化する。このような場合、EC13は、音量レベルを示す数値が変化したことを検出するので、ステップS1において、音量調節ダイヤルのダイヤル位置が変更されたと判定する。そして、ステップS2において、EC13は、OSが起動されているか否かを判定する。
この場合、例えば、OSが起動されていないと、ステップS2において、OSが起動されていないと判定され、処理はステップS2に戻され、OSが起動されているか否かが再度判定される。
ところで、このとき、オーディオアンプ10(図1)も、信号線48から供給されるアナログの電圧信号のレベルが変化したことを検出しているので、スピーカ11またはヘッドフォン12から出力される音声の設定レベル(即ち、オーディオコーディック9から供給された音声信号の出力レベルの増幅率)を、その電圧信号の変化に応じて(即ち、音量調節ダイヤル17のダイヤル位置の変化に応じて)変更する。
従って、音量調節ダイヤル17のダイヤル位置が変更されると(ステップS1の処理で音量調節ダイヤル17のダイヤル位置が変更されたと判定されると)、その直後においては、音量調節ダイヤル17のダイヤル位置(オーディオアンプ10による上述した音量の第2の設定レベル)と、OSオーディオ制御部63の音量設定(上述した音量の第1の設定レベル)とは一致しなくなる。そこで、EC13は、音量調節ダイヤル17のダイヤル位置(即ち、音量の第2の設定レベル)と、OS上で動作するOSオーディオ制御部63の音量の第2の設定レベルとの整合を取るための処理(後述するステップS3の処理)を実行する必要がある。ところが、このステップS3の処理は、OSが起動されていないと実行不可能である。そこで、EC13は、OSが起動されるまで、ステップS2の判定処理を繰り返すことで、このステップS3の処理の実行を待機するのである。
従って、OSが起動されると、EC13は、ステップS2において、OSが起動されたと判定し、ステップS3において、OSオーディオ制御部63における音量の設定レベルを変更する要求(以下、音量設定要求と称する)を、OS上で動作するユティリティ62に送信する。これにより、EC13のダイヤル音量変更処理が終了となる。なお、このとき、EC13は、音量調節ダイヤル17のダイヤル位置に対応する音量レベルをパラメータとして、音量設定要求に付加して送信するとよい。メッセージ送受回数を少なく抑えることができるからである。
EC13から送信された音量設定要求は、サウスブリッジ7と中継部61を介してユティリティ62に供給される。すると、ユティリティ62は、ステップS11において、この音量設定要求を受信し、ステップS12において、この音量設定要求をOSオーディオ制御部63に送信する。これにより、ユティリティ62のダイヤル音量変更処理が終了となる。
このとき、OSオーディオ制御部63は、ステップS21において、音量設定要求を受信し、ステップS22において、ソフトウエア上の音量設定(音量の第1の設定レベルであって、オーディオコーディック9から出力される音声信号の振幅の設定レベル)を更新する。具体的には、例えば、「サウンドとオーディオデバイスのプロバティ」などで表示される音量情報等が更新される。
なお、ユティリティ62とOSオーディオ制御部63との間での音量設定要求の送受信処理(ステップS12とS21との処理)は、例えば、Windows(登録商標) APIのような汎用的なインタフェースの利用により実現可能である。
このように、本実施の形態においては、OS上で動作するOSオーディオ制御部63が、第1の指令に基づいて、スピーカ11またはヘッドフォン12から出力される音声の音量の第1の設定レベル(オーディオコーディック9から出力される音声信号の振幅の設定レベルであって、以下、ソフトウエア上の音量の設定レベルと称する)を調整する機能を有している。即ち、図1のCPU1が、このOSオーディオ制御部63を実行することで、その機能を実現させる。
一方、オーディオアンプ10が、第2の指令に基づいて、スピーカ11またはヘッドフォン12から出力される音声の音量の第2の設定レベル(オーディオアンプ10から出力される音声信号のレベルの増幅率(ゲイン)の設定値であって、以下、ハードウエア上の音量の設定レベルと称する)を調整する。
即ち、例えば、ダイヤル音量変更処理においては、音量調節ダイヤル17により音量調整が指示される。この場合、オーディオアンプ10は、ハードウエア上の音量の設定レベルを、音量調節ダイヤル17に対応するレベルに設定する。
このとき、EC13は、OSが起動中であることを条件として、ソフトウエア上の音量の設定レベルを、いま設定されたハードウエア上の音量の設定レベルと対応するレベルに更新させる指令(音量設定要求)を、ユティリティ62を介してOSオーディオ制御部63に提供する。
すると、OSオーディオ制御部63は、その指令に基づいて、ソフトウエア上の音量の設定レベルを、ハードウエア上の音量の設定レベルと対応するレベルに更新する。
換言すると、音量調節ダイヤル17により音量調整が指示される場合、従来においては、オーディオアンプ10のゲイン(ハードウエア上の音量の設定レベル)が単に調整されるのみであり、OS上で動作するOSオーディオ制御部63の音量設定(ソフトウエア上の音量の設定レベル)は更新されなかった。
これに対して、本実施の形態においては、OSの起動完了の直後に、EC13が、音量調節ダイヤル17の最新のダイヤル位置(ハードウエア上の音量の設定レベル)を、ユティリティ62等を介してOSオーディオ制御部63に通知し、OSオーディオ制御部63が、そのハードウエア上の音量の設定レベルに対応させて、ソフトウエア上の音量の設定レベルを更新する。
従って、本実施の形態の情報処理装置は、次のような効果を奏することが可能となる。
即ち、オーディオアンプ10が管理する、ハードウエア上の音量の設定レベル(音量調節ダイヤル17のダイヤル位置)と、OSが管理する、ソフトウエア上の音量の設定レベルとの整合が取れるという効果を奏することが可能になる。また、スピーカ11またはヘッドフォン12から実際に出力される音声(以下、単に出力音声と称する)の音量は、ハードウエア的に音量調節ダイヤル17のダイヤル位置と連動しているため、結果として、音量調節ダイヤル17のダイヤル位置(ハードウエア上の音量の設定レベル)、OSが管理する、ソフトウエア上の音量の設定レベル、および、出力音声の音量といった三者の整合が保たれるという効果を奏することが可能となる。
即ち、図1の情報処理装置の電源(図示せず)が落ちている場合、或いは、OSの起動プロセス中の場合に、音量調節ダイヤル17のダイヤル位置がたとえ動かされたとしても、その前後で、ソフトウエア上の音量の設定レベルとハードウエア上の音量の設定レベルとの“ずれ”が発生しないという効果を奏することが可能となる。
さらに、上述したように、音量調節ダイヤル17のダイヤル位置と、出力音声の音量とは、ハードウエア的に連動しているため、OSの起動プロセス中等OSが動き出す前であっても、ユーザが音量調節ダイヤル17のダイヤル位置を単に動かすだけで、出力音声の音量の制御ができるという効果を奏することも可能となる。
次に、図5を参照してホットキー音量変更処理について説明する。
なお、ホットキー音量変更処理は、OSの起動が前提とされる処理である。即ち、ここでは、OSが起動済みであるとする。
この場合、ステップS31において、図3のEC13は、ホットキー31が押下されたか否かを判定する。
ステップS31において、ホットキー31が押下されていないと判定された場合、処理はステップS31に戻され、ホットキー31が押下されたか否かが再度判定される。即ち、EC13は、定期的なホットキー31の監視(Polling処理)または外部割り込みにより、ホットキー31の状態を監視している。
例えば、いま、ユーザがホットキー31を押下した(具体的には、例えば、キーボード16上のFxキーとFunction(Fn)キーとを同時に押下した)とする。この場合、ステップS31において、ホットキー31が押下されたと判定し、EC13は、ステップS32において、ホットキー31が押下されたことを示す情報(以下、ホットキー押下通知と称する)をユティリティ62に送信する。
EC13から送信されたホットキー押下通知は、サウスブリッジ7と中継部61を介してユティリティ62に供給される。すると、ユティリティ62は、ステップS41において、このホットキー押下通知を受信し、ステップS42において、音量設定要求を生成し、OSオーディオ制御部63に送信する。
すると、OSオーディオ制御部63は、ステップS51において、音量設定要求を受信し、ステップS52において、ソフトウエア上の音量設定(ソフトウエア上の音量の設定レベル)を更新する。具体的には、例えば、「サウンドとオーディオデバイスのプロバティ」などで表示される音量情報等が更新される。これにより、OSオーディオ制御部63のホットキー音量変更処理は終了となる。
なお、ユティリティ62とOSオーディオ制御部63との間での音量設定要求の送受信処理(ステップS42とS51との処理)は、上述したように、例えば、Windows(登録商標) APIのような汎用的なインタフェースの利用により実現可能である。
さらに、ユティリティ62は、ステップS43において、音量調節ダイヤル17のダイヤル位置を更新させる要求(以下、音量調節ダイヤル位置変更要求と称する)をEC13に対して送信する。これにより、ユティリティ62のホットキー音量変更処理は終了となる。なお、このとき、ユティリティ62は、OSオーディオ制御部63における(ソフトウエア上の)音量の設定レベルをパラメータとして、音量調節ダイヤル位置変更要求に付加して送信するとよい。メッセージ送受回数を少なく抑えることができるからである。
ユティリティ62から送信された音量調節ダイヤル位置変更要求は、中継部61とサウスブリッジ7とを介してEC13に供給される。すると、EC13は、ステップS33において、この音量調節ダイヤル位置変更要求を受信し、ステップS34において、音量調節ダイヤル位置17のダイヤル位置を、ユティリティ62から指定された音量のレベル(上述したように、例えば、音量調節ダイヤル位置変更要求に付加されたソフトウエア上の音量の設定レベル)に対応する位置に変更させる指令(以下、音量ダイヤル位置変更指令)をステッピングモータ19(図1)に入力させる。これにより、EC13のホットキー音量変更処理は終了となる。
ステッピングモータ19は、入力された音量ダイヤル位置変更指令(即ち、パルス信号)に従ってその軸を回転させ、その回転により発生したトルクで音量調節ダイヤル17のダイヤルを所定の位置(ソフトウエア上の音量の設定レベルに対応する位置)まで回転させる。これにより、ハードウエア上の音量の設定レベル(オーディオアンプ10のゲインの設定値)も更新されて、ソフトウエア上の音量の設定レベルと一致し、さらに、出力音声も、それらの設定レベルに対応する音量に変化する。
このように、ホットキー音量変更処理においては、ホットキー31により音量調整が指示される。この場合、OSオーディオ制御部63は、ホットキー31が押下操作されたことを、EC13とユティリティ62とを介して検出すると、ソフトウエア上の音量の設定レベルを、予め設定された所定のレベルに設定(更新)する。
このとき、EC13は、ソフトウエア上の音量の設定レベルが設定(更新)されたことをユティリティ62を介して検出し、ハードウエア上の音量の設定レベルを、いま設定されたソフトウエア上の音量の設定レベルと対応するレベルに更新させる指令を、音量調節ダイヤル17を介してオーディオアンプ10に提供する。
即ち、EC13は、音量ダイヤル位置変更指令(パルス信号)をステッピングモータ19に入力させてその軸のトルクを制御することで、音量調節ダイヤル17のダイヤル位置を、いま設定されたソフトウエア上の音量の設定レベルと対応する位置に更新させる。従って、EC13は、このようなステッピングモータ19の制御を行うことで、図1の可変抵抗18を通じて信号線48に発生される所定のレベルの電圧信号を、ハードウエア上の音量の設定レベルの変更指令(ハードウエア上の音量の設定レベルを、いま設定されたソフトウエア上の音量の設定レベルと対応するレベルに更新させる指令)としてオーティオアンプ10に入力させているともいえる。
このとき、オーディオアンプ10は、そのハードウエア上の音量の設定レベルの変更指令(信号線48の電圧レベルの変化)に基づいて、ハードウエア上の音量の設定レベルを、ソフトウエア上の音量の設定レベルと対応するレベル(信号線48の変化した電圧レベルに対応するレベル)に更新する。
換言すると、ホットキー31の押下操作により音量調整が指示される場合、従来においては、ソフトウエア上の音量の設定レベル(OS上で動作するOSオーディオ制御部63の音量設定)が調整(更新)されるのみであり、ハードウエア上の音量の設定レベル(オーディオアンプ10のゲインの設定値)は更新されなかった。
これに対して、本実施の形態においては、ソフトウエア上の音量の設定レベルが更新されると、その更新に追従して音量調節ダイヤル17のダイヤル位置も更新される。即ち、ハードウエア上の音量の設定レベルも更新される。
従って、ソフトウエア上の音量の設定レベルと、ハードウエア上の音量の設定レベルとの整合が取れるという効果を奏することが可能となる。また、上述したように、出力音声の音量は、ハードウエア的に音量調節ダイヤル17のダイヤル位置と連動しているため、結果として、音量調節ダイヤル17のダイヤル位置(ハードウエア上の音量の設定レベル)、OSが管理する、ソフトウエア上の音量の設定レベル、および、出力音声の音量といった三者の整合が保たれるという効果を奏することが可能となる。
なお、ここでは、キーボード16(図1)上のホットキー31が利用されたが、それ以外の特殊なボタン(図示せず)にホットキー31と同様の機能を持たせてもよい。この場合、ステップS31の処理が「その特殊なボタンが押下されたか?」という処理に変更されるが、それ以外の処理は、上述したホットキー音量変更処理と全く同様の処理となる。
次に、図6を参照してソフトウエア音量変更処理について説明する。
なお、ソフトウエア音量変更処理は、OSの起動が前提とされる処理である。即ち、ここでは、OSが起動済であるとする。
この場合、ステップS81において、図3のOSオーディオ制御部63は、音量変更の指示がなされたか否かを判定する。
ユーザ等により音量変更の指示が特になされていない場合(ステップS81において、音量変更の指示がなされていないと判定された場合)、処理はステップS81に戻され、音量変更の指示がなされたか否かが再度判定される。即ち、OSオーディオ制御部63は、音量変更の指示がなされることを常時監視している。
例えば、いま、OSとしてWindows(登録商標)XPが起動されており、上述したように、ユーザが、表示部6(図1)に表示されたコントロールパネル上にある「サウンドとオーディオデバイス」から「サウンドとオーディオデバイスのプロパティ」を起動させ、その画像(画面)上からマウス(図示せず)、タッチパッド(図示せず)、或いは、キーボード16(図1)等の入力機器を用いて音量調節を指示したとする。
この場合、OSオーディオ制御部63は、ステップS81において、音量変更の指示がなされたと判定し、ステップS82において、音量の設定レベルを変更するイベント通知(以下、音量変更通知と称する)をユティリティ62に送信し、ステップS83において、ソフトウエア上の音量設定(ソフトウエア上の音量の設定レベル)を更新する。具体的には、例えば、「サウンドとオーディオデバイスのプロバティ」などで表示される音量情報等が更新される。これにより、OSオーディオ制御部63のソフトウエア音量変更処理は終了となる。
このとき、ユティリティ62は、ステップS71において、OSオーディオ制御部63から供給された音量変更通知を受信し、ステップS72において、音量調節ダイヤル位置変更要求を生成し、EC13に対して送信する。これにより、ユティリティ62のソフトウエア音量変更処理は終了となる。なお、このとき、上述したホットキー音量変更処理(図5)のときと同様に、ユティリティ62は、ソフトウエア上の音量の設定レベル(OSオーディオ制御部63の音量設定)をパラメータとして、音量調節ダイヤル位置変更要求に付加して送信するとよい。メッセージ送受回数を少なく抑えることができるからである。
ユティリティ62から送信された音量調節ダイヤル位置変更要求は、中継部61とサウスブリッジ7とを介してEC13に供給される。すると、EC13は、ステップS61とS62のそれぞれにおいて、上述したホットキー音量変更処理(図5)のステップS33とS34のそれぞれと同様の処理を実行する。即ち、EC13は、ステップS61において、この音量調節ダイヤル位置変更要求を受信し、ステップS62において、音量ダイヤル位置変更指令をステッピングモータ19(図1)に入力させる。これにより、EC13のソフトウエア音量変更処理は終了となる。
ステッピングモータ19は、入力された音量ダイヤル位置変更指令(即ち、パルス信号)に従ってその軸を回転させ、その回転により発生したトルクで音量調節ダイヤル17のダイヤルを所定の位置(ソフトウエア上の音量の設定レベルに対応する位置)まで回転させる。これにより、ハードウエア上の音量の設定レベル(オーディオアンプ10のゲインの設定値)も更新されて、ソフトウエア上の音量の設定レベルと一致し、さらに、出力音声も、それらの設定レベルに対応する音量に変化する。
このように、ソフトウエア音量変更処理においては、図示せぬマウス等により音量調整がソフトウエア的に指示される。この場合、OSオーディオ制御部63は、そのソフトウエア的な指示に基づいて、ソフトウエア上の音量の設定レベルを所定のレベルに設定(更新)する。
このとき、EC13は、ソフトウエア上の音量の設定レベルが設定(更新)されたことをユティリティ62を介して検出し、ハードウエア上の音量の設定レベルを、いま設定されたソフトウエア上の音量の設定レベルと対応するレベルに更新させる指令を、音量調節ダイヤル17を介してオーディオアンプ10に提供する。
即ち、EC13は、音量ダイヤル位置変更指令(パルス信号)をステッピングモータ19に入力させてその軸のトルクを制御することで、音量調節ダイヤル17のダイヤル位置を、いま設定されたソフトウエア上の音量の設定レベルと対応する位置に更新させる。従って、EC13は、このようなステッピングモータ19の制御を行うことで、可変抵抗18を通じて信号線48に発生される所定のレベルの電圧信号を、ハードウエア上の音量の設定レベルの変更指令(ハードウエア上の音量の設定レベルを、いま設定されたソフトウエア上の音量の設定レベルと対応するレベルに更新させる指令)としてオーティオアンプ10に入力させているともいえる。
このとき、オーディオアンプ10は、そのハードウエア上の音量の設定レベルの変更指令(信号線48の電圧レベルの変化)に基づいて、ハードウエア上の音量の設定レベルを、ソフトウエア上の音量の設定レベルと対応するレベル(信号線48の変化した電圧レベルに対応するレベル)に更新する。
換言すると、ソフトウエア的に音量調整が指示される場合(OS上で動作するOSオーディオ制御部63の音量設定が更新される場合)、従来においては、ソフトウエア上の音量の設定レベル(OS上で動作するOSオーディオ制御部63の音量設定)が調整(更新)されるのみであり、ハードウエア上の音量の設定レベル(オーディオアンプ10のゲインの設定値)は更新されなかった。
これに対して、本実施の形態においては、ソフトウエア上の音量の設定レベルが更新されると、その更新に追従して音量調節ダイヤル17のダイヤル位置も更新される。即ち、ハードウエア上の音量の設定レベルも更新される。
従って、ソフトウエア上の音量の設定レベルと、ハードウエア上の音量の設定レベルとの整合が取れるという効果を奏することが可能となる。また、上述したように、出力音声の音量は、ハードウエア的に音量調節ダイヤル17のダイヤル位置と連動しているため、結果として、音量調節ダイヤル17のダイヤル位置(ハードウエア上の音量の設定レベル)、OSが管理する音量の設定レベル(ソフトウエア上の音量の設定レベル)、および、出力音声の音量といった三者の整合が保たれるという効果を奏することが可能となる。
以上、本実施の形態における各種の音量調整処理(消音除く)のそれぞれと、その結果奏する効果のそれぞれについて説明した。これらの効果を要約すると次の通りとなる。
即ち、音量変更の指示方法は、音量調節ダイヤル17による指示、ホットキー31による指示、および、ソフトウエア的な指示(ユーザにとっては、マウス等による指示)といった複数の方法が存在する。
従来においては、これらの各指示方法のそれぞれに応じて、ハードウエア上の音量の設定レベルと、ソフトウエア上の音量の設定レベルとのうちのいずれか一方が更新された場合、他方が更新されないため、両者の整合が取れないという課題が発生した。
これに対して、本実施の形態においては、いずれの方法で音量の変更が指示されても、ハードウエア上の音量の設定レベルと、ソフトウエア上の音量の設定レベルとが共に更新されるため、ハードウエア上の音量の設定レベル、ソフトウエア上の音量の設定レベル、および、出力音声の音量といった三者の整合が保たれるという効果、即ち、従来の課題を解決できるという効果を奏することが可能となる。
次に、図7を参照して消音ボタン消音状態変更処理について説明する。
ステップS91において、図3のEC13は、消音ボタン14が押下されたか否かを判定する。
ステップS91において、消音ボタン14が押下されていないと判定された場合、処理はステップS91に戻され、消音ボタン14が押下されたか否かが再度判定される。即ち、EC13は、定期的な消音ボタン14の監視(Polling処理)または外部割り込みにより、消音ボタン14の状態を示す電気信号(即ち、信号線51(図1)の電圧信号のレベル)を常時監視している。
例えば、いま、ユーザが消音ボタン14を押下したとすると、その押下操作により信号線51から供給される電圧信号のレベルも変化する。すると、EC13は、ステップS91において、この変化を検出することで、消音ボタン14が押下されたと判定し、ステップS92において、消音ON指令または消音OFF指令をオーディオアンプ10に入力させる。なお、ここでは、消音ON指令とは、例えば、上述した消音要求信号の出力を指す。従って、消音OFF指令とは、例えば、この消音要求信号の出力停止を指す。
即ち、EC13は、消音要求信号をオーディオアンプ10に出力していない状態で、消音ボタン14の押下操作を検出すると(ステップS91の処理で消音ボタンが押下されたと判定すると)、ステップS92において、消音要求信号の出力を開始することで、消音ON指令をオーディオアンプ10に入力させる。
すると、オーディオアンプ10は、オーディオコーディック9から供給されてくる音声信号に対して消音処理(出力の禁止処理、或いは、増幅率を略0倍にする処理)を実行する。即ち、スピーカ11またはヘッドフォン12(図1)からの音声が消音される。
これに対して、EC13は、消音要求信号をオーディオアンプ10に出力している状態で、消音ボタン14の押下操作を検出すると(ステップS91の処理で消音ボタンが押下されたと判定すると)、ステップS92において、消音要求信号の出力を禁止する(停止する)ことで、消音OFF指令をオーディオアンプ10に入力させる。
すると、オーディオアンプ10は、オーディオコーディック9から供給されてくる音声信号の消音処理の実行を禁止する。即ち、オーディオアンプ10は、ゲインの設定値を元の値に戻し、オーディオコーディック9から供給されてくる音声信号のレベルをその元の設定値で増幅して、スピーカ11またはヘッドフォン12に出力する(出力を再開する)。即ち、スピーカ11またはヘッドフォン12からの音声出力が再開される(元の音量の音声が出力される)。
このとき、EC13は、ステップS93において、消音表示部15の表示内容を更新し、ステップS94において、OSが起動されているか否かを判定する。
この場合、例えば、OSが起動されていないと、ステップS94において、OSが起動されていないと判定され、処理はステップS94に戻され、OSが起動されているか否かが再度判定される。
即ち、消音ボタン14の操作により、ステップS92の処理が実行されて、EC13側で管理している消音状態(消音要求信号の出力状態)が変更された場合、その直後においては、EC13側で管理しているその消音状態と、OS上で動作するOSオーディオ制御部63側で管理している消音状態(ソフトウエア上の消音状態であって、消音の設定有無を示す状態)とは一致しなくなる。そこで、EC13は、自分自身で管理している消音状態と、OSオーディオ制御部63側で管理している消音状態との整合を取るための処理(後述するステップS95の処理)を実行する必要がある。ところが、このステップS95の処理は、OSが起動されていないと実行不可能である。そこで、EC13は、OSが起動されるまで、ステップS94の判定処理を繰り返すことで、このステップS95の処理の実行を待機するのである。
従って、OSが起動されると、EC13は、ステップS94において、OSが起動されたと判定し、ステップS95において、消音の実行(ON)または解除(OFF)を示す情報(以下、消音ONまたは消音OFF通知と称する)を、OS上で動作するユティリティ62に送信する。これにより、EC13の消音ボタン消音状態処理が終了となる。
EC13から送信された消音ONまたは消音OFF通知は、サウスブリッジ7と中継部61を介してユティリティ62に供給される。すると、ユティリティ62は、ステップS101において、この消音ONまたは消音OFF通知を受信し、その通知が、消音の実行(ON)を示す情報であるのか、或いは、消音の解除(OFF)を示す情報であるのかを判断する。そして、ステップS102において、ユティリティ62は、その判断結果に応じて、消音の設定(ON)の要求、または、消音の解除(OFF)の要求(以下、これらの要求をまとめて、単に消音設定要求と称する)をOSオーディオ制御部63に送信する。これにより、ユティリティ62の消音ボタン消音処理が終了となる。
OSオーディオ制御部63は、ステップS111において、消音設定要求を受信すると、ステップS112において、その消音設定要求の内容に応じて、ソフトウエア上の音量設定を更新する。具体的には、例えば、「サウンドとオーディオデバイスのプロバティ」などで表示される音量情報等が更新される。
即ち、消音設定要求が消音の設定(ON)の要求であった場合、OSオーディオ制御部63は、消音の設定(例えば、ソフトウエア上の音量の設定レベルを最低レベル(略0)にしたり、図1のオーディオコーディック9からの出力を禁止する設定)を行う。一方、消音設定要求が消音の解除(OFF)の要求であった場合、OSオーディオ制御部63は、消音の設定の解除(例えば、ソフトウエア上の音量の設定レベルを元のレベルに戻したり、オーディオコーディック9からの出力を再開させる設定)を行う。
これにより、OSオーディオ制御部63の消音ボタン消音状態変更処理は終了となる。
なお、ユティリティ62とOSオーディオ制御部63との間での消音設定要求の送受信処理(ステップS102とS111との処理)は、例えば、Windows(登録商標) APIのような汎用的なインタフェースの利用により実現可能である。
このように、消音ボタン消音状態変更処理においては、消音ボタン14が押下されると、EC13は次のような処理を実行する。
即ち、現在の出力音声の状態が通常の状態(消音OFF状態)で、消音ボタン14が押下された場合、EC13は、その消音ボタン14の押下操作を消音の設定を示す指令であると判断し、ハードウエア上の音量の設定レベルを、現在のレベルから消音に相当するレベルに更新させる指令、即ち、消音ON指令を、オーディオアンプ10に提供するとともに、OSが起動中のとき、ソフトウエア上の音量の設定レベルを、現在のレベルから消音に相当するレベルに更新させる指令を、ユティリティ62を介してOSオーディオ制御部63に提供する。
これに対して、現在の出力音声の状態が消音されている状態(消音ON状態)で、消音ボタン14が押下された場合、EC13は、その消音ボタン14の押下操作を消音の設定の解除を示す指令であると判断し、ハードウエア上の音量の設定レベルを、消音に相当するレベル(現在のレベル)から元のレベルに更新させる指令、即ち、消音OFF指令を、オーディオアンプ10に提供するとともに、OSが起動中のとき、ソフトウエア上の音量の設定レベルを、消音に相当するレベル(現在のレベル)から元のレベルに更新させる指令を、ユティリティ62を介してOSオーディオ制御部63に提供する。
このようにして、EC13が、消音状態の管理を行い、それに応じてオーディオアンプ10に対する消音要求信号の出力の制御を行うので、図1の情報処理装置の電源(図示せず)が落ちている場合、或いは、OSの起動プロセス中の場合であっても(即ち、OSが動き出す前であっても)、出力音声の消音の制御ができるという効果を奏することが可能となる。
また、本実施の形態においては、EC13が、自分自身が管理している消音状態を変更した場合、変更したその消音状態等をOSオーディオ制御部63に対してユティリティ62等を介して通知し、OSオーディオ制御部63が、通知された消音状態に応じて音量設定を更新する。これにより、その前後で、ソフトウエア上の消音状態(OSオーディオ制御部63の音量設定)と、ハードウエア上の消音状態(消音ボタン14の操作により変化する、信号線50の消音要求信号の出力状態)との“ずれ”が発生しないという効果を奏することが可能となる。
なお、ここでは、消音ボタン14が利用されたが、それ以外のスイッチ等の入力機器に同様の機能を持たせてもよい。この場合、ステップS91の処理が「その入力機器が操作されたか?」という処理に変更されるが、それ以外の処理は、上述した消音ボタン消音状態変更処理と全く同様の処理となる。
具体的には、例えば、ホットキー31に、消音ボタン14の機能を持たせることも勿論可能である。ただし、この場合、ホットキー31の押下操作に対する処理として、図5の処理ではなく、この図7の処理が実行されることになる。もっとも、ホットキー31以外のホットキー(図示せず)を設けてもよい。即ち、音量変更用のホットキー31と、消音状態変更用のホットキーとのそれぞれを個別に設けてもよい。
次に、図8を参照してソフトウエア消音状態変更処理について説明する。
なお、ソフトウエア消音状態変更処理は、OSの起動が前提とされる処理である。即ち、ここでは、OSが起動済であるとする。
この場合、ステップS141において、図3のOSオーディオ制御部63は、消音設定変更の指示がなされたか否かを判定する。
ユーザ等により消音設定変更の指示がなされていない場合(ステップS141において、消音設定変更の指示がなされていないと判定された場合)、処理はステップS141に戻され、消音設定変更の指示がなされたか否かが再度判定される。即ち、OSオーディオ制御部63は、消音設定変更の指示がなされることを常時監視している。
例えば、いま、OSとしてWindows(登録商標)XPが起動されており、上述したように、ユーザが、表示部6(図1)に表示されたコントロールパネル上にある「サウンドとオーディオデバイス」から「サウンドとオーディオデバイスのプロパティ」を起動させ、その画像(画面)上からマウス(図示せず)、タッチパッド(図示せず)、或いは、キーボード16(図1)等の入力機器を用いて消音設定の変更を指示したとする。
この場合、OSオーディオ制御部63は、ステップS141において、消音設定変更の指示がなされたと判定し、ステップS142において、消音状態を変更させるイベント通知(以下、消音状態変更通知と称する)をユティリティ62に送信し、ステップS143において、ソフトウエア上の音量設定を更新する。具体的には、例えば、「サウンドとオーディオデバイスのプロバティ」などで表示される音量情報等が更新される。
即ち、ソフトウエア上の消音状態が、消音の設定がなされている状態(消音ON状態)で、消音設定変更の指示がなされた場合、OSオーディオ制御部63は消音の設定を解除する(消音OFF状態に遷移させる)。一方、ソフトウエア上の消音状態が、消音の設定が解除されている状態(消音OFF状態)で、消音設定変更の指示がなされた場合、OSオーディオ制御部63は消音を設定する(消音ON状態に遷移させる)。
これにより、OSオーディオ制御部63のソフトウエア消音状態変更処理は終了となる。
このとき、ユティリティ62は、ステップS131において、OSオーディオ制御部63から供給された消音状態変更通知を受信し、ステップS132において、ハードウエア上の消音状態(信号線50の消音要求信号の出力状態)を変更させる要求(以下、消音状態変更要求と称する)を生成し、EC13に対して送信する。これにより、ユティリティ62のソフトウエア音量変更処理は終了となる。なお、このとき、ユティリティ62は、OSオーディオ制御部63における消音状態(消音ON状態または消音OFF状態)をパラメータとして、消音設定要求に付加して送信するとよい。メッセージ送受回数を少なく抑えることができるからである。
ユティリティ62から送信された消音状態変更要求は、中継部61とサウスブリッジ7とを介してEC13に供給される。すると、EC13は、ステップS121において、この消音状態変更要求を受信し、ステップS122において、消音ON指令または消音OFF指令をオーディオアンプ10に入力させ、ステップS123において、消音表示部15の表示内容を更新する。
即ち、例えば、ソフトウエア上の消音状態が消音ON状態である場合(ソフトウエア上の消音状態を示す情報は、上述したように、例えば、消音状態変更要求に付加されている)、EC13は、ステップS122において、消音要求信号の出力を開始することで、消音ON指令をオーディオアンプ10に入力させる。そして、ステップS123において、EC13は、消音ON状態であることを示す情報を消音表示部15に表示させる(必要に応じて、消音OFF状態であることを示す情報の、消音表示部15への表示を禁止する)。これにより、EC13のソフトウエアの消音状態変更処理は終了となる。
このとき、オーディオアンプ10は、オーディオコーディック9から供給されてくる音声信号に対して消音処理(出力の禁止処理、或いは、増幅率を略0倍にする処理)を実行する。即ち、スピーカ11またはヘッドフォン12(図1)からの音声が消音される。
これに対して、例えば、ソフトウエア上の消音状態が消音OFF状態の場合、EC13は、ステップS122において、消音要求信号の出力を禁止する(停止する)ことで、消音OFF指令をオーディオアンプ10に入力させる。そして、ステップS123において、EC13は、消音ON状態であることを示す情報の、消音表示部15への表示を禁止する(必要に応じて、消音OFF状態であることを示す情報を消音表示部15に表示させる)。これにより、EC13のソフトウエアの消音状態変更処理は終了となる。
このとき、オーディオアンプ10は、オーディオコーディック9から供給されてくる音声信号の消音処理の実行を禁止する。即ち、オーディオアンプ10は、ゲインの設定値を元の値に戻し、オーディオコーディック9から供給されてくる音声信号のレベルをその元の設定値で増幅して、スピーカ11またはヘッドフォン12に出力する(出力を再開する)。即ち、スピーカ11またはヘッドフォン12からの音声出力が再開される(元の音量の音声が出力される)。
このように、ソフトウエア消音状態変更処理においては、図示せぬマウス等により消音設定変更の指示がソフトウエア的に指示される。
この場合、OSオーディオ制御部63は、そのソフトウエア的な指示が消音の設定であったとき、ソフトウエア上の音量の設定レベルを、現在のレベルから消音に相当するレベルに更新する。すると、EC13は、消音の設定がなされたことをユティリティ62を介して検出し、ハードウエア上の音量の設定レベルを、現在のレベルから消音に相当するレベルに更新させる指令(消音ON指令)を、オーディオアンプ10に提供する。
これに対して、そのソフトウエア的な指示が消音の設定の解除であったとき、OSオーディオ制御部63は、ソフトウエア上の音量の設定レベルを、消音に相当するレベル(現在のレベル)から元のレベルに更新する。すると、EC13は、消音の設定の解除がなされたことをユティリティ62を介して検出し、ハードウエア上の音量の設定レベルを、消音に相当するレベル(現在のレベル)から元のレベルに更新させる指令(消音OFF指令)を、オーディオアンプ10に提供する。
換言すると、OSオーディオ制御部63が、自分自身が管理している消音状態を変更した場合、変更したその消音状態等をEC13に対してユティリティ62等を介して通知し、EC13が、通知された消音状態に応じて、自分自身の消音状態も更新する。
従って、その前後で、ソフトウエア上の消音状態(OSオーディオ制御部63の音量設定)と、ハードウエア上の消音状態(信号線50の消音要求信号の出力状態)との“ずれ”が発生しないという効果を奏することが可能となる。
以上、本実施の形態における各種の消音状態変更処理のそれぞれと、その結果奏する効果のそれぞれについて説明した。これらの効果を要約すると次の通りとなる。
即ち、消音状態の変更の指示方法は、消音ボタン14による指示、および、ソフトウエア的な指示(ユーザにとっては、マウス等による指示)といった複数の方法が存在する。
従来においては、これらの指示方法のそれぞれに応じて、ハードウエア上の消音状態と、ソフトウエア上の消音状態とのうちのいずれか一方が更新された場合、他方が更新されないので、両者の整合が取れないという課題が発生した。
これに対して、本実施の形態においては、いずれの方法で消音状態の変更が指示されても、ハードウエア上の消音状態と、ソフトウエア上の消音状態とがともに更新されるので、ハードウエア上の消音状態、ソフトウエア上の消音状態、および、出力音声の消音状態といった三者の整合が保たれるという効果、即ち、従来の課題を解決できるという効果を奏することが可能となる。
以上、本発明の情報処理装置として、図1に示されるようなパーソナルコンピュータについて説明したが、本発明の情報処理装置は、この図1の形態に限定さない。即ち、音声出力機能を有し、さらにWindows(登録商標)などの基本OS(Operating System)上にある特定のソフトウエアにてその音量の第1の設定レベルを調節する第1の機構(消音機構も含む)とともに、ハードウエアにてその音量の第2の設定レベルを調節する第2の機構(消音機構も含む)を有し、さらに、このソフトウエアによる第1の設定レベルと、ハードウエアによる第2の設定レベルとを連動させる(即ち、第1の設定レベルと第2の設定レベルのいずれも、実際の出力音声の音量に連動させる)第3の機構を有する装置であれば、その形態は特に限定されない。
さらに、上述した従来の第1の課題を解決する(ユーザビリティを上げる)ために、音量調節や消音インタフェースが搭載されていると好適である。
具体的には、例えば、音量調節ダイヤル、または、音量変更用の専用入力装置(ボタン等)が搭載されているとよい。音量変更の操作性を向上させることができるからである。なお、第3の機構を実現させるために、音量調節ダイヤル、または、音量変更用のボタン等は、Windows(登録商標)XPのようなOS上で管理される「デバイスの音量設定」に連動させるとよい。
さらに、上述したように、音量調節ダイヤルには、音量目盛等現状の音量値を示す情報が記されているとよい。複雑な手順を踏むこと無しに、ユーザが現状の設定を確認できるからである。
また、音量調節ダイヤル、または、音量変更用のボタン以外に、消音ボタンが搭載されていると好適である。消音ボタンの押下といった簡単な操作で消音の操作が可能になるからである。このとき、第3の機構を実現させるために、即ち、Windows(登録商標)XPのようなOSの状態に依存せず、消音またはその解除を行うことができるようにするために、消音ボタンは、Windows(登録商標)XPのようなOS上で管理される「デバイスの音量設定」に連動させるとよい。
さらに、消音、あるいはその解除を示す表示機構(LED等)が搭載されると好適である。ユーザが消音、あるいはその解除を容易に確認することができるからである。
このような本発明の効果については上述したとおりであるが、再度、その効果を4つの効果(第1の効果乃至第4の効果)に要約して説明する。
即ち、第1の効果とは、OSの動作状態(即ち、OSが立ち上がっているか否か)に影響せずに、音量の変更を行うことができるという効果である。第2の効果とは、OSの動作状態(即ち、OSが立ち上がっているか否か)に影響せずに、消音設定の変更を行うことができるという効果である。第3の効果とは、OS等のソフトウエアが持つ音量情報、オーディオアンプ等のハードウエアが持つ音量情報(例えば、音量調節ダイヤルの状態等)、および、出力音声の音量といった三者の整合性を保つことができるという効果である。第4の効果とは、OS等のソフトウエアが持つ消音状態、オーディオアンプやLED等のハードウエアが持つ消音状態、および、出力音声の消音の有無の状態といった三者の整合性を保つことができるという効果である。
ところで、上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
このようなプログラムを含む記録媒体は、例えば、図1に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク(フロッピディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、若しくは光磁気ディスク(MD(Mini-Disk)を含む)などよりなるリムーバブル記録媒体33、または、半導体メモリなどよりなるリムーバブル記録媒体32により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM2、EC13内のROM(図示せず)、またはHDD8などで構成される。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
1 CPU, 2 ROM, 3 RAM, 8 HDD, 9 オーディオコーディック, 10 オーディオアンプ, 11 スピーカ, 12 ヘッドフォン, 13 EC(Embedded Controller), 14 消音ボタン, 15 消音表示部, 16 キーボード, 17 音量調節ダイヤル, 18 可変抵抗, 19 ステッピングモータ, 31 ホットキー, 32 ドライブ, 62 ユティリティ, 63 OSオーディオ制御部