(58)【調査した分野】(Int.Cl.,DB名)
前記第1ボリウム値同期処理は、前記ホスト機器に対して指示値を1ステップ下降させることを要求する信号を出力して前記ホスト機器から新たな指示値を受信する処理を繰り返す指示値下降処理を含む請求項1に記載のオーディオ機器。
前記制御部は、前記比較結果が「指示値<設定値」であった場合は、前記ホスト機器に対してボリウム値を上げることを要求する信号を送信して前記ホスト機器から新たな指示値を受信する第2ボリウム値同期処理をさらに実行する請求項1乃至請求項3のいずれかに記載のオーディオ機器。
前記第2ボリウム値同期処理は、前記ホスト機器に対して指示値を1ステップ上昇させることを要求する信号を出力して前記ホスト機器から新たな指示値を受信する処理を繰り返す指示値上昇処理を含む請求項4に記載のオーディオ機器。
前記第2ボリウム値同期処理は、指示値が設定値よりも大きくなったとき、前記ホスト機器に対して指示値を1ステップ下降させることを要求する信号を送信して前記ホスト機器から新たな指示値を受信する処理を1回行う請求項6に記載のオーディオ機器。
前記制御部は、前記ホスト機器が接続されていない場合に、前記第1ボタンが操作されたとき、前記設定値を1ステップ上昇させ、前記第2ボタンが操作されたとき、前記設定値を1ステップ下降させる請求項8に記載のオーディオ機器。
【発明の開示】
【発明が解決しようとする課題】
【0004】
ホスト(パーソナルコンピュータ)とオーディオデバイスがUSBで接続されたときにボリウム値を自動変更するものとして、例えば特許文献1のシステムがある。このシステムは、ホスト機器にオーディオデバイスが接続されたとき、システムに設定されている音量値が最大値と等しいか否かを判別し、最大値でない場合に、その音量値を最大値に変更し、アプリケーションで正常に音量制御を可能にするものである。しかし、このシステムではホスト側のプログラムでホスト(システム)のボリウム値を変更するものであり、オーディオデバイス(オーディオ機器)がボリウム値を変更するものではない。
【0005】
この発明は、接続されたホスト機器からボリウム値が設定されるオーディオ機器において、ホストと同期をとりつつ、接続前のボリウム設定を維持することを目的とする。
【課題を解決するための手段】
【0006】
本発明のオーディオ機器は、ボリウム制御部を含む増幅器と、ホスト機器と通信する通信部と、ボリウム制御部にボリウム値を設定する制御部と、を備える。制御部は、ホスト機器に接続されたとき、ホスト機器からボリウム制御部に設定すべきボリウム値を指示する指示値を受信し、この指示値をボリウム制御部に設定しているボリウム値である設定値と比較し、その比較結果が「指示値>設定値」であった場合は、ホスト機器に対してボリウム値を下げることを要求する信号を送信してホスト機器から新たな指示値を受信する第1ボリウム値同期処理を実行する。
【0007】
本発明のオーディオ機器は、ホスト機器に接続されたとき、ホスト機器から指示されるボリウム指示値をボリウム制御部に設定してボリウム(音量)調節を行う。また、ホスト機器に接続されない状態(スタンダロン)でもオーディオ機器として動作可能である。スタンダロンであるボリウム値で使用されている状態で、ホスト機器に接続されホスト機器から大きなボリウム値が指示されると突然大きな音がスピーカやイヤホンから放音されてしまう危険性がある。そこで、本発明では、この場合、ボリウム値を下げることを要求する信号を送信して指示値が現在の設定値に近づける。
【0008】
第1ボリウム値同期処理は、ホスト機器に対して指示値を1ステップ下降させることを要求する信号を出力してホスト機器から新たな指示値を受信する処理を繰り返す指示値下降処理を含んでいてもよい。また、第1ボリウム値同期処理は、指示値が設定値以下になったところで指示値下降処理を終了してもよい。
【0009】
指示値を1ステップずつ下降させる信号を繰り返し送信することで、指示値を徐々に設定値に接近させて好適な指示値を探すことが可能であり、指示値が設定値以下になったときこの処理を終了することで、設定値以下で最も近い値を指示値の最終値とすることができる。
【0010】
制御部は、前記比較結果が「指示値<設定値」であった場合は、ホスト機器に対してボリウム値を上げることを要求する信号を送信してホスト機器から新たな指示値を受信する第2ボリウム値同期処理をさらに実行してもよい。
【0011】
第2ボリウム値同期処理は、ホスト機器に対して指示値を1ステップ上昇させることを要求する信号を出力してホスト機器から新たな指示値を受信する処理を繰り返す指示値上昇処理を含んでいてもよい。また、第2ボリウム値同期処理は、指示値が設定値以上になったところで指示値上昇処理を終了してもよい。
【0012】
さらに、第2ボリウム値同期処理は、指示値が設定値よりも大きくなったとき、ホスト機器に対して指示値を1ステップ下降させることを要求する信号を送信してホスト機器から新たな指示値を受信する処理を1回行うようにしてもよい。
【0013】
第2ボリウム値同期処理を行うことで、指示値が設定値よりも小さい場合でも、指示値が設定よりも大きい場合と同様に、指示値を設定値に近づけることができる。
【0014】
第1ボタンおよび第2ボタンを含む操作部をさらに備えてもよく、制御部は、第1ボタンが操作されたとき指示値を1ステップ上昇させることを要求する信号をホスト機器に送信し、第2ボタンが操作されたとき、指示値を1ステップ下降させることを要求する信号を前記ホスト機器に送信するようにしてもよい。
【0015】
制御部は、ホスト機器が接続されていない場合に、第1ボタンが操作されたとき設定値を1ステップ上昇させ、第2ボタンが操作されたとき設定値を1ステップ下降させてもよい。
【0016】
本発明のオーディオ機器は、ボリウム制御部を含む増幅器と、ホスト機器と通信する通信部と、ボリウム値の操作を受け付ける操作部と、操作部の操作に対応したボリウム値の目標値を記憶したボリウム値テーブルと、操作部の操作に応じてボリウム制御部にボリウム値を設定する制御部とを備える。制御部は、操作部の操作があったときテーブルを参照してこの操作に対応する目標値を読み出すとともに、ホスト機器に対してボリウム値を指示すべき旨の信号を送信する。制御部は、信号に対応してホスト機器からボリウム制御部に設定すべきボリウム値を指示する指示値を受信する。制御部は、受信した指示値を目標値と比較し、その比較結果が「指示値>目標値」であった場合は、ホスト機器に対してボリウム値を下げることを要求する信号を送信してホスト機器から新たな指示値を受信する。制御部は、この動作を繰り返し、受信した指示値が目標値以下になったとき、その指示値をボリウム制御部に設定する。
【0017】
本発明のオーディオシステムは、ホスト機器と、このホスト機器と通信部を介して通信するオーディオ機器とを備える。オーディオ機器は、ボリウム制御部を含む増幅器と、ボリウム制御部にボリウム値を設定する制御部と、を備える。制御部は、ホスト機器からボリウム制御部に設定すべきボリウム値を指示する指示値を受信し、この指示を一時的に無視し、この指示値をボリウム制御部に設定しているボリウム値である設定値と比較し、その比較結果が「指示値>設定値」であった場合は、ホスト装置に対してボリウム値を下げることを要求する信号を送信してホスト機器から新たな指示値を受信するボリウム値同期処理を実行する。
【発明の効果】
【0018】
この発明によれば、ホストが記憶しているボリウム値が、現在オーディオ機器に設定されているボリウム値と全く異なる値であっても、接続時に同期して突然大きな音が放音されることがなくなる。
【発明を実施するための形態】
【0020】
図面を参照して本発明の実施形態であるオーディオ機器について説明する。
図1は、本発明の実施形態であるオーディオ機器1のブロック図である。オーディオ機器1は、外部から入力されたオーディオ信号をスピーカ13から放音する装置であり、USBインタフェース10、制御部11、オーディオ回路12、スピーカ13、操作部14、近距離無線通信部15、および、アナログ信号入力部16を備えている。
【0021】
USBインタフェース10にはホストであるパーソナルコンピュータ2が接続される。近距離無線通信部15には、たとえば多機能携帯電話機(スマートフォン)や携帯オーディオプレーヤなどのオーディオ信号を出力する機器が無線で接続される。また、アナログ信号入力部16には、テレビ会議システムなどのオーディオ信号をアナログ信号で出力する機器がケーブルで接続される。オーディオ回路12は、USBインタフェース10、近距離無線通信部15またはアナログ信号入力部16から入力されたオーディオ信号を増幅してスピーカ13に出力する。スピーカ13は入力されたオーディオ信号を音声として放音する。
【0022】
オーディオ回路12は、ボリウム制御回路(ボリウムコントローラ)120を備えている。ボリウム制御回路120は、制御部11から設定されたボリウム値(デシベル値)で入力信号の音量を制御する回路である。オーディオ回路12では、ボリウム制御回路120で音量を制御されたオーディオ信号が電力増幅回路に入力され、スピーカ13を駆動できる信号レベルまで増幅される。ボリウム制御回路120の音量制御範囲は任意であるが、一般的には最大音量0dBから最小音量−60dBの範囲で制御できればよい。
【0023】
なお、ボリウム制御回路120は、アナログのオーディオ信号のレベル(電圧値)を調整する電子ボリウム回路で構成すればよいが、オーディオ回路12をデジタル信号処理系で構成する場合にはデジタルの乗算器を用いてデジタルオーディオ信号のサンプル値を調整する機能部で構成してもよい。
【0024】
制御部11は、マイコンなどで構成されており、このオーディオ機器1を制御する。制御部11は、オーディオ回路12のボリウム制御回路120に対してボリウム値(デシベル値)を設定する。制御部11は、操作部14から入力される操作信号に基づき、または、USBインタフェース10を介してパーソナルコンピュータ2から入力されるボリウム指示値に基づき、ボリウム制御回路120に設定するボリウム値を決定する。
【0025】
制御部11は、ボリウム制御回路120に設定するボリウム値を決定および記憶するためのボリウム値テーブル110、ボリウム値レジスタ111、ステップ値レジスタ112、および、ミュートフラグ113を備えている。ボリウム値テーブル110は、ボリウムのステップ値をボリウム値(デシベル値)に変換するテーブルである。
【0026】
以下、ボリウム値テーブル110およびステップ値について説明する。操作部14には、ユーザが操作可能な+ボタン140、−ボタン141、および、ミュートボタン142が設けられている。制御部11は、+ボタン140が押されたときボリウム値を1ステップ上昇させ、−ボタン141が押されたときボリウム値を1ステップ下降させる。ここで、ボリウム制御回路120は、たとえば、0dBから−60dBまでの間を0.1dB刻みで音量を調節できる回路である。もし、+ボタン140または−ボタン141の1回の操作につきボリウム値を0.1dBずつ上下させる仕様では、ユーザは音量を調節するために何度も+ボタン140、−ボタン141を操作しなければならない。そこで、+ボタン140または−ボタン141の1回の操作(1ステップ)でボリウム値を0.1dB以上変化させることとし、0dBから−60dBまでを複数(30〜100程度)のステップに分割し、各ステップに対して適当なボリウム値を対応づけた。ボリウムの各ステップ値とボリウム値(デシベル値)を対応付けて記憶したものがボリウム値テーブル110である。
【0027】
ボリウム値テーブル110の一例を
図2に示す。この図のボリウム値テーブル110では、0dBから−60dBまでを30のステップに分割している。このボリウム値テーブル110において、各ステップの間隔は均等ではなく、音量が小さくなるほど、間隔(デシベル値の差)が大きくなるように、各ステップ値にボリウム値が割り当てられている。
【0028】
なお、ボリウム値レジスタ111は、現在ボリウム制御回路120に設定しているボリウム値(デシベル値)を記憶するレジスタであり、ステップ値レジスタ112は、現在選択されているステップ値を記憶するレジスタである。また、ミュートフラグ113は、現在オーディオ回路12をミュートしているか否かを記憶するフラグである。
【0029】
制御部11は、+ボタン140が押されたとき、ステップ値を1上昇させ、そのステップ値に対応するボリウム値をボリウム値テーブル110から読みだしてボリウム制御回路120に設定する。また、−ボタン141が押されたときは、ステップ値を1下降させ、そのステップ値に対応するボリウム値をボリウム値テーブル110から読みだしてボリウム制御回路120に設定する。そして、制御部11は、1上昇または下降されたステップ値およびボリウム値テーブル110から読みだされたボリウム値で、ステップ値レジスタ112およびボリウム値レジスタ111を更新する。
【0030】
また、制御部11は、ミュートボタン142が押されたときオーディオ回路12をミュートするか、ミュートを解除するかのトグル動作を行う。オーディオ回路12のミュートは、ボリウム値とは関係なく入力または出力を遮断することで音声が出力されないようにする処理である。
【0031】
オーディオ機器1は、USBケーブル3を介してパーソナルコンピュータ2に接続される。USBによってオーディオ機器1とパーソナルコンピュータ2とが接続されると、パーソナルコンピュータ2はホストとして振る舞い、オーディオ機器1は、オーディオデバイスクラスおよびHID(ヒューマン・インタフェース・デバイス)クラスの複合デバイスとして振る舞う。すなわち、オーディオ機器1のUSBインタフェース10には、このオーディオ機器1がオーディオデバイスクラスおよびHIDクラスの複合デバイスである旨を示すディスクリプタが書き込まれている。
【0032】
ホストであるパーソナルコンピュータ2は、たとえばWindows(登録商標)と呼ばれるシステムプログラムで動作するコンピュータであり、この種のコンピュータには、オーディオクラスのデバイスを制御するためのサウンドドライバ、および、HIDクラスの入力機器を制御するためのHIDデバイスドライバが標準でインストールされている。このため、ユーザが、オーディオ機器1をパーソナルコンピュータ2に接続すると、ドライバをインストールすることなくプラグ・アンド・プレイで、オーディオ機器1がオーディオデバイスおよび入力デバイスとしてパーソナルコンピュータ2に認識される。
【0033】
オーディオ機器1とパーソナルコンピュータ2との接続が確立されると、パーソナルコンピュータ2は、オーディオ機器1を外付け(USB接続)のオーディオデバイスとして扱い、自身のシステムのボリュームコントロールにより、ボリウム値レジスタ202に設定されているボリウム値(デシベル値)を指示値としてオーディオ機器1に送信して音量の設定を行う。オーディオ機器1は、これに対して後述する同期処理を行い、ホストであるパーソナルコンピュータ2とのボリウム設定の同期を維持しつつ、パーソナルコンピュータ2とUSBで接続される前のボリウム値を維持してスピーカ13から突然大きな音が放音されたりしないようにしている。同期処理の詳細は後述する。
【0034】
こののち、パーソナルコンピュータ2は、アプリケーションプログラムなどで再生されたオーディオ信号をオーディオデバイスドライバを用いてオーディオ機器1に送信する。オーディオ信号を再生するアプリケーションプログラムは、たとえば、オーディオ再生プログラムや音声会議プログラムなどである。オーディオ再生プログラムは、パーソナルコンピュータ2に記憶されているオーディオ(楽曲)ファイルを再生するプログラムである。音声会議プログラムは、パーソナルコンピュータ2にネットワーク4(
図7参照)を介して接続される他のコンピュータと会議音声(オーディオ信号)を送受信するプログラムである。
【0035】
入力されたオーディオ信号は、オーディオ回路12に入力される。オーディオ回路12は、設定されているボリウム値でオーディオ信号の音量を調節したのちこれを増幅し、スピーカ13に入力する。スピーカ13は、入力されたオーディオ信号を音声として放音する。
【0036】
また、オーディオ機器1とパーソナルコンピュータ2との接続が確立されると、操作部14の+ボタン140、−ボタン141およびミュートボタン142は、HIDデバイスの操作子として機能し、これらのボタンの操作情報は、HIDクラスのレポートとしてホストであるパーソナルコンピュータ2に送信される。パーソナルコンピュータ2は、この操作情報に基づき、オーディオ機器1に対してボリウム値を制御するコマンドを送信する。このコマンドは、オーディオデバイスクラスのコマンドとして送信される。
【0037】
パーソナルコンピュータ2は、
図3に示すような(
図2のオーディオ機器1のものとは異なる)ボリウム値テーブル201を有しており、オーディオ機器1から+ボタン140または−ボタン141が押された旨の情報が送られてくると、このテーブルを参照して、現在のステップから一つ上または一つ下のステップのボリウム値を読みだして、オーディオ機器1に送信する。なお、
図3は、ボリウム値テーブル201の10ステップずつの概要を示したもので、テーブル全体を示したものではない。
【0038】
ここで、
図4のフローチャート、および、
図5のパーソナルコンピュータ2から送信されてくる指示値の遷移を示す図を参照して、オーディオ機器1とパーソナルコンピュータ2がUSBで接続されたときに行われる上述の同期処理について説明する。オーディオ機器1が、パーソナルコンピュータ2とUSBケーブル3で接続されると、まずエニュメレーション処理を行って(S1)、USBによる接続を確立する(S2)。エニュメレーション処理では、ホストであるパーソナルコンピュータ2が、デバイスであるオーディオ機器1を認識し、このデバイスに適したドライバを選択するなどの処理が行われる。制御部11によってUSB接続が確立したことが認識されると、自装置に関する情報をホストであるパーソナルコンピュータ2(以下、フローチャートの説明においては、ホスト2と呼ぶ。)に送信する(S3)。自装置に関する情報とは、たとえばボリウム制御の最大値/最小値、制御ステップおよび現在のボリウム値などの情報である。ホスト2は、これらの情報を受信するが、この情報に基づいてオーディオ機器1を制御するか否かはアプリケーション次第である。
【0039】
つぎに、制御部11は、自装置のボリウム値をホスト2の設定に同期させる設定であるか否かを判断する(S4)。この設定は、ホスト2から設定されるものであってもよく、ユーザがオーディオ機器1に対して設定するものであってもよい。同期する設定でなければ(S4でNO)、ホスト2からボリウム値を受け取ることなく、データ転送モードなどのボリウム値以外のオーディオ設定を有効にして(S5)、起動動作を終了する。
【0040】
自装置のボリウム値をホスト2の設定に同期させる場合には(S4でYES)、以下の同期処理を行う。まず操作部14の各ボタンの操作をマスクする(S10)。同期処理中にユーザの無用な操作を受け付けないためである。この状態で、ホスト2からこのオーディオ機器1に設定しようとするボリウム値を受信する(S11)。オーディオ機器1はこの指示を一時的に無視し、この受信したボリウム値(指示値)と現在ボリウム制御回路120に設定されているボリウム値(設定値)とを比較する(S12)。比較の結果、両者が一致した場合には同期処理を終えてS17に進む。S17では、指示値をボリウム制御回路120に設定するとともに、ボリウム値レジスタ111に書き込む。そして、操作部14の各ボタンの操作をHIDモードに切り替えて操作を受け付けるようにする(S18)。HIDモードとは、操作部14の各ボタンの操作があったとき、制御部11の判断でボリウム設定の変更を行わず、その操作情報をHIDレポートとしてホスト2に送信するモードである。S17、S18の処理ののち、S5に進む。S5の処理以降はホストからのオーディオ設定が有効化される。すなわち、オーディオ機器1はホスト2からのボリウム値の指示を一時的に無視することをやめて、ホスト2からの指示に従うようになる。
【0041】
S12で、指示値が設定値よりも大きかった場合には、ホスト2に対して指示値を下げるべく−ボタン141の操作情報を送信する(S14)。すなわち、ユーザによって−ボタン141が操作されたかのような操作情報を送信する。これに応じてホスト2は、
図3のボリウム値テーブルを参照して一つ下のステップのボリウム値を送信してくる。S15でこの新たなボリウム値(指示値)を受信する。この新たな指示値と設定値を比較し(S16)、未だ指示値のほうが設定値よりも大きい場合には、指示値をもう1ステップ下げるためにS14にもどる。S16で、指示値が設定値と同じまたは小さい場合には(S16でNO)、これで同期処理を終えてS17に進む。
図5(A)は、S14の処理を2回行って同期が完了した場合の指示値の遷移を示す図である。すなわち、指示値が設定値よりも大きい状態から指示値が設定値以下になったとき同期処理を終了する。これにより、ホスト2のボリウム値テーブル(
図3)と自装置のボリウム値テーブル(
図2)とが異なっていても、ホスト2のボリウム値テーブルのうち、自装置のボリウム値テーブルのステップで選択された設定値に最も近いボリウム値(指示値)のステップを選択することができ、このボリウム値がボリウム制御回路120に設定されても、音量の差はユーザが気づかない程度と考えられる。
【0042】
また、S12で、指示値が設定値よりも小さい場合には、ホスト2に対して指示値を上げるべく+ボタン140の操作情報を送信する(S13)。すなわち、ユーザによって+ボタン140が操作されたかのような操作情報を送信する。これに応じてホスト2は、
図3のボリウム値テーブルを参照して一つ上のステップのボリウム値を送信してくる。制御部11は、処理をS11に戻して、この新たなボリウム値(指示値)を受信する(S11)。処理をS11に戻すようにしているのは、受信した指示値が設定値よりも大きい状態で同期を終了させないためである。受信した指示値が設定値よりも大きくなった場合には、S14の処理で再度指示値が設定値以下になるよう−ボタン141の操作情報が送られる。
図5(B)は、S13の処理を2回行い、次いでS14の処理を1回行った場合の指示値の遷移を示す図である。これにより、ホスト2が有するテーブル(
図3参照)のステップで、設定値直下の最も近い値が同期完了値として選択される。
【0043】
以上の処理により、最初にホスト2から送られてきた指示値が設定値と大きく異なっていても、設定値に近い値になるまで、ホスト2にボリウム調節の操作情報を送信するため、そのままその指示値を有効にして突然大きな音が出てしまうようなことが無くなる。
なお、S17の指示値を設定値と置き換える処理は無くても良い。
【0044】
また、指示値が設定値よりも小さい場合には(S12で指示値が小)、S13で指示値を1ステップずつ大きくしてゆき、指示値が設定値よりも大きくなったのち(S12で指示値が大)、S14〜S16の処理で指示値を設定値よりも小さく戻して同期処理を終了しているが、指示値が設定値を跨いで大きくなった時点で(S14〜S16の処理を行わずに)同期処理を終了してもよい。
【0045】
また、S11,S15の指示値の受信処理は、所定時間(例えば50ms)でタイムアウトさせてもよい。タイムアウトさせた場合、同期処理をキャンセルして処理をS5に進めればよい。
【0046】
S18の処理により、HIDデバイスの操作子として、+ボタン140、−ボタン141およびミュートボタン142の操作の受け付けが許可され、これらのボタンが操作されたとき、この操作情報がホスト2に送信される。また、その後、オーディオ機器1とホスト(パーソナルコンピュータ)2との接続が解除された場合には、操作部14の各ボタン(+ボタン140、−ボタン141、ミュートボタン142)は、スタンダロンモードに復帰し、制御部11が、これらのボタンの操作に対応したボリウム値制御の制御を行う。
【0047】
図6のフローチャートを参照して、操作部14の各ボタンの操作があった場合の制御部11の処理を説明しておく。同図(A)は、操作部14のボタン操作があった場合に実行される処理である。まず、現在のモードがHIDモードであるかスタンダロンモードであるかを判断する(S21)。
【0048】
現在のモードがスタンダロンモードの場合には(S21でNO)、押されたボタンがミュートボタン142であるか否かを判断する(S23)。ミュートボタン142の場合には(S23でYES)、ミュートフラグ113を反転し(S28)、このミュートフラグ113の状態(セット/リセット)に従って、オーディオ回路12のミュート/ミュート解除を制御する(S29)。
【0049】
また、S23で押されたボタンが+ボタン140または−ボタン141であった場合には、この+ボタン140または−ボタン141の操作に応じてステップ値レジスタ112の値を+1または−1して更新する(S24)。そして、この更新されたステップ値でボリウム値テーブル110を検索し、対応するボリウム値を読み出す(S25)。このボリウム値をボリウム制御回路120に設定して音量制御を行うとともに(S26)、このボリウム値をボリウム値レジスタ111に書き込んで更新する(S27)。
【0050】
S21で、現在のモードがHIDモードであると判定された場合には(S21でYES)、ホスト2へ操作されたボタン(+ボタン140、−ボタン141、ミュートボタン142)に対応する操作情報をHIDクラスのレポートとして送信する(S22)。ホスト2は、この操作情報を受け取り、
図3のボリウム値テーブルなどに基づいてボリウム値(指示値)を決定し、そのコマンドをオーディオ機器1に返信して来る。
【0051】
図6(B)は、ホスト2からボリウム制御のコマンドを受信した場合の動作を示すフローチャートである。まず、受信したコマンドがミュートコマンドであるか否かを判断する(S41)。ミュートコマンドの場合には(S41でYES)、ミュートフラグ113を反転し(S46)、このミュートフラグ113の状態(セット/リセット)に従って、オーディオ回路12のミュート/ミュート解除を制御する(S47)。
【0052】
また、受信したコマンドがボリウム値(指示値)を指示するコマンドであった場合には(S41でNO)、このボリウム値をボリウム制御回路120に設定して音量制御を行うとともに(S42)、このボリウム値をボリウム値レジスタに書き込んで更新する(S43)。そして、モードがスタンダロンモードに切り替わったとき、ボタン操作に対応して滑らかな音量制御ができるように、今回ホスト2によって設定されたボリウム値に最も近いボリウム値を指示するステップをボリウム値テーブル110(
図2参照)から検索し(S44)、このステップ値をステップ値レジスタ112に書き込んでおく(S45)。
【0053】
これにより、ホスト(パーソナルコンピュータ)2とのUSB接続が解除され、モードがスタンダロンモードになった場合には、+ボタン140、−ボタン141の操作に応じてステップ値レジスタ112に記憶されているステップ値から一つ上または一つ下のステップに移行するため、参照するボリウム値テーブルがホスト2のテーブル201から自装置のテーブル110に切り換わった場合でも滑らかな音量調節が可能になる。
【0054】
図6では、ボタン操作がHIDモードに切り換わったのちは、ホスト2のボリウム値テーブル(
図3)に従ってボリウム値を制御する動作例について説明したが、ボタン操作がHIDモードに切り換わったのちも、自装置のボリウム値テーブル110に準じた制御させることも可能である。また、HIDモードのときに、ホスト2のボリウム値テーブルに従ったボリウム値制御を行うモード、または、自装置のボリウム値テーブル110に準じたボリウム値制御を行うモードをユーザが設定できるようにしてもよい。この場合、この設定は、ホスト2から設定されるものであってもよく、ユーザがオーディオ機器1に対して設定するものであってもよい。
【0055】
図7、
図8は、HIDモードのときに、ホスト2のボリウム値テーブルに従ったボリウム値制御を行うモード(ホストテーブルモード)、または、自装置のボリウム値テーブル110に準じたボリウム値制御を行うモード(自装置テーブルモード)のいずれかを設定可能な場合の動作を示すフローチャートである。
【0056】
図7は、
図6(A)に示したボタン操作に対応する処理動作の変更箇所のみを示したフローチャートである。
図6(A)で、操作部14のボタン操作があり、操作部14のモードがHIDモードであると判断された場合に
図7の処理が実行される。まず、ボリウム値制御のモードが自装置テーブルモードかホストテーブルモードかを判断する(S30)。ホストテーブルモードの場合には(S30でNO)、
図7(A)と同様に、ホスト2へ操作されたボタン(+ボタン140、−ボタン141、ミュートボタン142)に対応する操作情報をHIDクラスのレポートとして送信して(S22)、処理を終了する。
【0057】
自装置テーブルモードの場合(S30でYES)、押されたボタンがミュートボタン142であるかを判断する(S31)。押されたボタンがミュートボタン142であった場合には(S31でYES)、ミュートボタン142に対応する操作情報をHIDクラスのレポートとして送信して(S32)、動作を終了する。
【0058】
押されたボタンがミュートボタン142ではない場合には(S31でNO)、ホスト2へ操作されたボタン(+ボタン140または−ボタン141)に対応する操作情報をHIDクラスのレポートとして送信し(S33)、自装置のボリウム値テーブル110を検索するステップ値が記憶されるステップレジスタを更新する(S34)。すなわち、+ボタン140の場合には
図2のボリウム値テーブル110の1つ上のステップ値にステップ値レジスタ112を更新し、−ボタン141の場合には一つ下のステップ値にステップ値レジスタ112を更新する。同時に、ボリウム値の制御が完了するまでボタン操作をマスクする(S35)。
【0059】
図8は、ホスト2からボリウム制御のコマンドを受信した場合の動作を示すフローチャートである。まず、受信したコマンドがミュートコマンドであるか否かを判断する(S50)。ミュートコマンドの場合には(S50でYES)、ミュートフラグ113を反転し(S59)、このミュートフラグ113の状態(セット/リセット)に従って、オーディオ回路12のミュート/ミュート解除を制御する(S60)。
【0060】
受信したコマンドがボリウム値(指示値)を指示するコマンドであった場合には(S50でNO)、この受信したボリウム値(指示値)とS34でステップ値レジスタ112に書き込まれたステップ値に対応するボリウム値テーブル110のボリウム値(目標値)とを比較する(S51)。
【0061】
比較の結果、両者が一致した場合には同期処理を終えてS57に進む。S57では、指示値をボリウム制御回路120に設定するとともに、ボリウム値レジスタ111に書き込む。そして、S35で行ったボタン操作のマスクを解除して、(S18)動作を終了する。
【0062】
S51で、指示値が目標値よりも大きかった場合には、ホスト2に対して指示値を下げるべく−ボタン141の操作情報を送信する(S54)。すなわち、ユーザによって−ボタン141が操作されたかのような操作情報を送信する。これに応じてホスト2は、
図3のボリウム値テーブルを参照して一つ下のステップのボリウム値を送信してくる。S55でこの新たなボリウム値(指示値)を受信する。この新たな指示値と目標値とを比較し(S56)、未だ指示値のほうが目標値よりも大きい場合には、指示値をもう1ステップ下げるためにS54にもどる。S56で、指示値が目標値と同じまたは小さい場合には(S56でNO)、これで同期処理を終えてS57に進む。
【0063】
また、S51で、指示値が目標値よりも小さい場合には、ホスト2に対して指示値を上げるべく+ボタン140の操作情報を送信する(S52)。すなわち、ユーザによって+ボタン140が操作されたかのような操作情報を送信する。これに応じてホスト2は、
図3のボリウム値テーブルを参照して一つ上のステップのボリウム値を送信してくる。制御部11は、この新たなボリウム値(指示値)を受信して(S53)、処理をS51に戻す。処理をS51に戻すようにしているのは、受信した指示値が目標値よりも大きい状態で同期を終了させないためである。受信した指示値が設定値よりも大きくなった場合には、S54の処理で再度指示値が設定値以下になるよう−ボタン141の操作情報が送られる。以上の処理により、ホスト2のボリウム値テーブルでボリウム値制御が行われるHIDモード時においても、自装置のボリウム値テーブル110のステップに準じたボリウム値の間隔で音量ボリウムを制御することができる。
【0064】
この発明が適用されるオーディオ機器はオーディオ再生機能を備えていればどのようなものでもよいが、
図9に示すような音声会議システム500に適用することが可能である。この音声会議システム500は、オーディオ機器である親機1とマイク20を備えた子機5とで構成され、親機1がホストであるパーソナルコンピュータ2の音声会議プログラムにより、ネットワーク4を介して他拠点に設置されている同様の構成の音声会議システム500と通信するシステムである。なお、親機1には、アナログのオーディオケーブルを介してテレビ会議装置6を接続することも可能である。テレビ会議装置6にはテレビ受像機7が接続される。
【0065】
なお、この実施形態では、再生音量を調節するボリウム値の同期処理について説明したが、マイクを用いて収音するマイクゲインの同期処理にも本発明を適用することが可能である。