(57)【特許請求の範囲】
【請求項１】
音量を調整可能な複数の音声出力装置と、前記各音声出力装置を制御可能なコントローラとを備え、
前記コントローラが、
前記音声出力装置の情報を表示する表示部と、
前記音声出力装置に設定されている音量値である第１パラメータを前記音声出力装置から取得する第１パラメータ取得部と、
前記音声出力装置が記憶している所定の上限音量値である第２パラメータを前記音声出力装置から取得する第２パラメータ取得部と、
前記第１パラメータと、第２パラメータとを前記音声出力装置に対応付けて管理する管理部と、
前記音声出力装置の前記第２パラメータに対する前記第１パラメータの比によって決定される値を総合音量値として決定する総合音量値決定部と、
前記総合音量値と、前記第２パラメータの規定値に対する割合との乗算によって決定される値を各前記音声出力装置の個別音量値として決定する個別音量値決定部と、
前記総合音量値を前記表示部に表示する総合音量値表示部と、
各前記音声出力装置の前記個別音量値を前記表示部に表示する個別表示部とを有し、
前記音声出力装置が、
前記第１パラメータと、前記第２パラメータとを前記コントローラへ送信するパラメータ送信部と、
前記第１パラメータと、前記第２パラメータとを対応付けて記憶する音量値記憶部とを有する、音量制御システム。
【請求項２】
前記コントローラが、
ユーザ操作によって前記総合音量値を変更する総合音量値変更部と、
前記音声出力装置へ、前記個別音量値に音量を変更するための情報を送信する音量制御情報送信部とをさらに有し、
前記総合音量値が変更されたとき、前記個別音量値決定部が、変更後の前記総合音量値と、前記第２パラメータの規定値に対する割合との乗算によって決定される値を前記個別音量値として決定し、前記個別表示部が、各前記音声出力装置の前記個別音量値を更新して表示し、
前記音声出力装置が、
前記コントローラから前記個別音量値を受信する音量制御情報受信部と、
受信した前記個別音量値に基づいて前記音声出力装置の前記音量を変更する音量変更部とをさらに有する、請求項１に記載の音量制御システム。
【請求項３】
前記コントローラが、
前記音声出力装置が設定可能な最大の音量値である第３パラメータを取得する第３パラメータ取得部をさらに有し、
前記個別音量値決定部が、前記規定値に代えて、前記第３パラメータを用いて前記個別音量値を決定し、
前記音声出力装置が、
前記パラメータ送信部が、前記第１パラメータと、前記第２パラメータと、前記第３パラメータとを前記コントローラへ送信し、
前記音量値記憶部が、前記第１パラメータと、前記第２パラメータと、前記第３パラメータとを対応付けて記憶する、請求項２に記載の音量制御システム。
【請求項４】
前記コントローラが、
前記個別音量値を変更する音声出力装置音量値変更部と、
前記個別音量値が変更されたとき、変更後の前記個別音量値の前記第２パラメータに対する割合が、変更前の前記個別音量値の前記第２パラメータに対する割合と同一になるように前記第２パラメータを計算して更新する第２パラメータ更新部と、
前記個別音量値が変更されたとき、変更後の前記個別音量値が前記総合音量値より大きいか否かを判断する判断部と、
変更後の前記の前記個別音量値が前記総合音量値より大きいと判断されたとき、前記総合音量値を変更後の前記個別音量値に更新する総合音量値更新部とをさらに有し、
前記個別音量値決定部が、前記個別音量値を変更していない前記音声出力装置の前記個別音量値を決定し、
前記音量制御情報送信部が、前記個別音量値と、前記変更後の前記第２パラメータとを各前記音声出力装置へ送信し、
前記音声出力装置が、
前記音量値記憶部が、前記音量制御情報送信部によって送信された前記個別音量値を前記第１パラメータとして更新して記憶し、送信された前記第２パラメータを更新して記憶する、請求項２または３のいずれかに記載の音量制御システム。
【請求項５】
前記音量制御情報送信部が、前記個別音量値と、前記変更後の前記第２パラメータとを
現在の時刻を示すタイムスタンプに関連付けて前記音声出力装置へ送信し、
前記音声出力装置が、
ユーザ操作によって前記音声出力装置の前記音量値が変更されたとき、前記第１パラメータと、前記第２パラメータと、前記タイムスタンプとを更新する更新部をさらに有し、
前記音量値記憶部が、前記第１パラメータと、前記第２パラメータと、前記タイムスタンプとを関連付けて記憶し、
前記パラメータ送信部が、前記第１パラメータと、前記第２パラメータと、前記タイムスタンプとを前記コントローラへ送信し、
前記コントローラが、
前記タイムスタンプを取得するタイムスタンプ取得部と、
各前記音声出力装置から取得された前記第１パラメータ及び前記第２パラメータから決定される前記総合音量値が、全て同一であるか否かを判断する総合音量値判断部とをさらに有し、
全ての前記総合音量値が同一でないと判断されたとき、前記総合音量値決定部が、前記タイムスタンプが最新の前記第１パラメータ及び前記第２パラメータから前記総合音量値を決定し、
前記総合音量値から決定される前記第１パラメータと前記第２パラメータと前記タイムスタンプとを前記音量出力装置へ送信する、請求項２〜４のいずれかに記載の音量制御システム。
【請求項６】
請求項１〜５のいずれかに記載の音量制御システムのコントローラの各部を前記コントローラに実行させる、コントローラプログラム。
【請求項７】
請求項１〜５のいずれかに記載の音量制御システムの前記音声出力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音量制御システムにおけるコントローラ及びコントローラによって音量を制御可能な音声出力装置に関する。
【背景技術】
【０００２】
近年、ネットワークに、コンテンツを保存するサーバと、音声出力装置（以下、クライアントという。）と、サーバに保存されているコンテンツを閲覧し、クライアントにサーバのコンテンツを再生する指示を送信する装置（以下、コントローラという。）とを接続し、コントローラを操作することによって、クライアントからサーバのコンテンツを再生する再生形態（以下、ネットワーク再生システムという。）が普及している。
【０００３】
ネットワーク再生システムにおいて、ネットワークに複数のクライアントを接続し、コントローラからの制御によってサーバのコンテンツを複数のクライアントから再生することが可能である。クライアントがＡＶアンプのような音声出力装置である場合、コントローラから各クライアントの音量を制御可能である。従来、コントローラから複数のクライアントの音量値を、以下の方法によって制御する。なお、各クライアントが設定可能な音量値とコントローラが設定可能な音量値の最小値は０であり、最大値は１００とする。
【０００４】
クライアントＡとクライアントＢとクライアントＣとがネットワーク再生システムに接続された状態を想定する。各クライアントの音量値がそれぞれ８０、３０、４０であった場合、クライアントの音量値の平均値は、（８０＋３０＋４０）÷３＝５０となる。コントローラはクライアントの音量の平均値を取得し、トータルボリュームとして記憶する。コントローラにおいて、ユーザ操作によってトータルボリュームが５２へ変更されたとき、クライアントのボリュームは、それぞれ、８２＝（８０＋２）、３２＝（３０＋２）、４２＝（４０＋２）となる。
【０００５】
しかしながら、トータルボリュームが各クライアントの平均値である場合、ユーザはトータルボリュームを確認しても各クライアントの現在の音量値が、各クライアントが設定可能な最大の音量値に対してどの程度に設定されているかを知ることができない。例えば、トータルボリュームが５０であっても、クライアントＡは最大の音量値（１００）に対して８０％の値であり、クライアントＢは３０％の値であり、大きく異なる。すなわち、ユーザはトータルボリュームを確認しても、各クライアントに設定されている音量値の、各クライアントが設定可能な最大の音量値に対する位置を直観的に知ることができない。
【０００６】
ところで、クライアントの音量値が変更されたときの、音声の出力レベル（増幅度）の変化特性はクライアントごとに異なっている。さらに、クライアントが設定可能な音量値の最大は必ずしも１００とは限らない。したがって、上記方法によってトータルボリュームの増加分をクライアントへ送信し、クライアントが音量値を変更したとき、音量の上昇度合いがクライアントによってばらつく。図１４は、クライアントＡ及びＢの出力レベルの変化特性を示す。図１４は横軸にユーザがクライアントの表示部等で視認する音量値、縦軸に出力値（ｄＢ）を示す。すなわち、横軸の値は、トータルボリュームが変更されるときにコントローラから送信される値である。図１４のクライアントＡのボリュームの最大値は１００であり、クライアントＢのボリュームの最大値は８０である。クライアントＡ及びＢは、それぞれ１００、８０にボリューム値が設定されたとき、最大出力である２０ｄＢで音声信号を出力する。図１４から明らかなように、音量値の上昇率はクライアントごとに異なる。従って、例えばコントローラの制御によって音量値を４０から５０に変更されたとき、クライアントＢの出力レベルの上昇度（δＢ）がクライアントＡの出力レベルの上昇度（δＡ）よりも大きいので、聴感上の違和感を感じる。なお、一般的には図１４の出力レベルの変化特性は曲線となる。
【０００７】
さらに、次のような課題がある。複数のクライアントのうち、いずれかのクライアントの電源がオフに設定されている間にコントローラのトータルボリュームが変更されたとき、電源がオフにされているクライアントは音量値の変更指示を受信できず、トータルボリュームは電源がオフに設定されているクライアントの音量値を反映しない値となる。また、コントローラの電源がオフにされていたときに、クライアントの音量値が操作され、その後コントローラの電源がオンに変更された場合、コントローラが保持するトータルボリュームがクライアントごとのボリューム値を反映した値とならない。
【０００８】
ＵＳ７５７１０１４Ｂ１には、複数のクライアントのボリューム値をコントローラから制御することが記載されている。
【０００９】
しかし、上記技術によると、クライアントのボリューム値の平均値をグループのボリュームとするので、グループボリュームを操作したとき、各クライアントのボリュームの変化率がばらつく。
【００１０】
特開２０１１−１４２６０１号公報には、コントローラの制御に基づいて音声調整装置の音量値を設定することが記載されている。
【００１１】
しかし、上記技術によると、各クライアントの出力レベルの特性に応じてコントローラから複数のクライアントの音量値を変更することが記載されていない。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】ＵＳ７５７１０１４Ｂ１
【特許文献２】特開２０１１−１４２６０１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
本発明は上記従来の課題を解決するためになされたものであり、その目的は、コントローラに複数の音声出力装置の音量値を代表する音量値を表示するとき、代表する音量値を確認することによって、音声出力装置に設定されている音量を容易に認知可能な音量制御システムを提供することである。
【００１４】
また、本発明の別の目的は、複数の音声出力装置の音量値を代表する音量値によって複数の音声出力装置の音量値を変更するとき、各音声出力装置の音量の変化率が一定になるように制御可能な音量制御システムを提供することである。
【００１５】
また、本発明の別の目的は、コントローラが音声出力装置の音量変化を知ることができない場合、または音声出力装置がコントローラからの音量変更指示を受信できない場合であっても、コントローラが音声出力装置の音量値及び複数の音声出力装置の音量値を代表する音量値を正常に表示することができる音量制御システムを提供することである。
【課題を解決するための手段】
【００１６】
本発明の好ましい実施形態による音量制御システムは、音量を調整可能な複数の音声出力装置と、前記各音声出力装置を制御可能なコントローラとを備え、前記コントローラが、前記音声出力装置の情報を表示する表示部と、前記音声出力装置に設定されている音量値である第１パラメータを前記音声出力装置から取得する第１パラメータ取得部と、前記音声出力装置が記憶している所定の上限音量値である第２パラメータを前記音声出力装置から取得する第２パラメータ取得部と、前記第１パラメータと、第２パラメータとを前記音声出力装置に対応付けて管理する管理部と、前記音声出力装置の前記第２パラメータに対する前記第１パラメータの比によって決定される値を総合音量値として決定する総合音量値決定部と、前記総合音量値と、前記第２パラメータの規定値に対する割合との乗算によって決定される値を各前記音声出力装置の個別音量値として決定する個別音量値決定部と、前記総合音量値を前記表示部に表示する総合音量値表示部と、各前記音声出力装置の前記個別音量値を前記表示部に表示する個別表示部とを有し、前記音声出力装置が、前記第１パラメータと、前記第２パラメータとを前記コントローラへ送信するパラメータ送信部と、前記第１パラメータと、前記第２パラメータとを対応付けて記憶する音量値記憶部とを有する。
【００１７】
音量制御システムのコントローラは、複数の音声出力装置と接続可能であり、音声出力装置の音量値を制御できる。コントローラは、音声出力装置の音量値と、音声出力装置が記憶している所定の上限音量値を取得し、所定の上限音量値に対する音量値の割合を総合音量値として表示する。さらにコントローラは、総合音量値と、所定の上限音量値の規定値に対する割合との乗算によって決定される値を各音声出力装置の音量値として表示する。この結果、ユーザは総合音量値を確認するだけで音声出力装置に設定されている音量値の、音声出力装置が設定可能な音量値に対する割合を知ることができる。
【００１８】
好ましい実施形態においては、前記コントローラが、ユーザ操作によって前記総合音量値を変更する総合音量値変更部と、前記音声出力装置へ、前記個別音量値に音量を変更するための情報を送信する音量制御情報送信部とをさらに有し、前記総合音量値が変更されたとき、前記個別音量値決定部が、変更後の前記総合音量値と、前記第２パラメータの規定値に対する割合との乗算によって決定される値を前記個別音量値として決定し、前記個別表示部が、各前記音声出力装置の前記個別音量値を更新して表示し、前記音声出力装置が、前記コントローラから前記個別音量値を受信する音量制御情報受信部と、受信した前記個別音量値に基づいて前記音声出力装置の前記音量を変更する音量変更部とをさらに有する。
【００１９】
コントローラにおいて総合音量値を変更したとき、各音声出力装置の音量値を、変更後の総合音量値と、所定の上限音量値の規定値に対する割合との乗算によって算出される値に変更し、音声出力装置へ音量値を変更するよう指示する。この結果、各音声出力装置の音量変化の特性が異なっている場合であっても、総合音量値を変化させたときの音声出力装置の音量の変化率が一定となるので、聴感上の違和感がない。
【００２０】
前記コントローラが、前記音声出力装置が設定可能な最大の音量値である第３パラメータを取得する第３パラメータ取得部をさらに有し、前記個別音量値決定部が、前記規定値に代えて、前記第３パラメータを用いて前記個別音量値を決定し、前記音声出力装置が、前記パラメータ送信部が、前記第１パラメータと、前記第２パラメータと、前記第３パラメータとを前記コントローラへ送信し、前記音量値記憶部が、前記第１パラメータと、前記第２パラメータと、前記第３パラメータとを対応付けて記憶する。
【００２１】
コントローラの個別音量値が、音声出力装置が設定可能な最大の音量値を用いて計算されるので、各音声出力装置が設定可能な最大音量値が異なっている場合であっても、適切に個別音量値を計算することができる。
【００２２】
本発明の別の好ましい実施形態による音量制御システムは、前記コントローラが、前記個別音量値を変更する音声出力装置音量値変更部と、前記個別音量値が変更されたとき、変更後の前記個別音量値の前記第２パラメータに対する割合が、変更前の前記個別音量値の前記第２パラメータに対する割合と同一になるように前記第２パラメータを計算して更新する第２パラメータ更新部と、前記個別音量値が変更されたとき、変更後の前記個別音量値が前記総合音量値より大きいか否かを判断する判断部と、変更後の前記の前記個別音量値が前記総合音量値より大きいと判断されたとき、前記総合音量値を変更後の前記個別音量値に更新する総合音量値更新部とをさらに有し、前記個別音量値決定部が、前記個別音量値を変更していない前記音声出力装置の前記個別音量値を決定し、前記音量制御情報送信部が、前記個別音量値と、前記変更後の前記第２パラメータとを各前記音声出力装置へ送信し、前記音声出力装置が、前記音量値記憶部が、前記音量制御情報送信部によって送信された前記個別音量値を前記第１パラメータとして更新して記憶し、送信された前記第２パラメータを更新して記憶する。
【００２３】
コントローラにおいて音声出力装置の音量値が変更されたとき、変更後の個別音量値の第２パラメータに対する割合が、変更前の個別音量値の第２パラメータに対する割合と同一になるように音声出力装置の所定の上限音量値が変更される。この結果、音声出力装置の音量値が変更されたとき、総合音量値と音声出力装置の個別音量値との整合性を保つことができる。また、所定の上限音量値が変更されたとき、コントローラは音声出力装置へ所定の上限音量値を送信するので、コントローラと音声出力装置とが有する所定の上限音量値の整合性が維持される。
【００２４】
本発明の別の好ましい実施形態による音量制御システムは、前記音量制御情報送信部が、前記個別音量値と、前記変更後の前記第２パラメータとを現在の時刻を示すタイムスタンプに関連付けて前記音声出力装置へ送信し、前記音声出力装置が、ユーザ操作によって前記音声出力装置の前記音量値が変更されたとき、前記第１パラメータと、前記第２パラメータと、前記タイムスタンプとを更新する更新部をさらに有し、前記音量値記憶部が、前記第１パラメータと、前記第２パラメータと、前記タイムスタンプとを関連付けて記憶し、前記パラメータ送信部が、前記第１パラメータと、前記第２パラメータと、前記タイムスタンプとを前記コントローラへ送信し、前記コントローラが、前記タイムスタンプを取得するタイムスタンプ取得部と、各前記音声出力装置から取得された前記第１パラメータ及び前記第２パラメータから決定される前記総合音量値が、全て同一であるか否かを判断する総合音量値判断部とをさらに有し、全ての前記総合音量値が同一でないと判断されたとき、前記総合音量値決定部が、前記タイムスタンプが最新の前記第１パラメータ及び前記第２パラメータから前記総合音量値を決定し、前記総合音量値から決定される前記第１パラメータと前記第２パラメータと前記タイムスタンプとを前記音量出力装置へ送信する。
【００２５】
音声出力装置は、ユーザ操作によって音量値が変更されたとき、音量値及び所定の上限音量値を更新する。コントローラが音声出力装置から取得する所定の上限音量値及び音声出力装置に設定されている音量値から計算される総合音量値が異なる場合、音声出力装置から取得する音量値に対応付けて管理されているタイムスタンプが最新のものを用いる。さらにコントローラは、総合音量値から計算される音声出力装置の音量値及び所定の上限音量値を各音声出力装置へ送信する。この結果、コントローラが音声出力装置の音量変化を知ることができない場合、または音声出力装置がコントローラからの音量変更指示を受信できない場合であっても、コントローラが音声出力装置の音量値及び複数の音声出力装置の音量値を代表する音量値を正常に表示することができる。
【発明の効果】
【００２６】
コントローラに複数の音声出力装置の音量値を代表する音量値を表示するとき、代表する音量値を確認することによって、音声出力装置に設定されている音量を容易に認知可能な音量制御システムを提供できる。
【００２７】
複数の音声出力装置の音量値を代表する音量値によって複数の音声出力装置の音量値を変更するとき、各音声出力装置の音量の変化率が一定になるように制御可能な音量制御システムを提供できる。
【００２８】
コントローラが音声出力装置の音量変化を知ることができない場合、または音声出力装置がコントローラからの音量変更指示を受信できない場合であっても、コントローラが音声出力装置の音量値及び複数の音声出力装置の音量値を代表する音量値を正常に表示することが可能な音量制御システムを提供できる。
【図面の簡単な説明】
【００２９】
【図１】本発明の好ましい実施形態による接続図である。
【図２】コントローラ、クライアント及びサーバのブロック図である。
【図３】コントローラの表示部に表示される画面である。
【図４】コントローラとクライアントのシーケンスチャートである。
【図５】コントローラのテーブルである。
【図６】クライアントのテーブルである。
【図７】コントローラが実行するフローチャートである。
【図８】コントローラにおける音量制御を示す。
【図９】コントローラにおける音量制御を示す。
【図１０】コントローラにおける音量制御を示す。
【図１１】コントローラにおける音量制御を示す。
【図１２】コントローラにおける音量制御を示す。
【図１３】音声出力装置が実行するフローチャートである。
【図１４】クライアントの出力特性である。
【発明を実施するための形態】
【００３０】
以下、本発明の好ましい実施形態によるコントローラ、クライアント及びサーバについて、図面を参照して具体的に説明するが、本発明はこれらの実施形態には限定されない。
【００３１】
図１は、本発明の好ましい実施形態による、コントローラ１００、クライアント２００Ａ、２００Ｂ、２００Ｃ、２００Ｄ、２００Ｅ、及びサーバ３００の接続図を示す。特に区別する必要がないときは、クライアント２００Ａ、２００Ｂ、２００Ｃ、２００Ｄ及び２００Ｅを単にクライアント２００という。コントローラ１００とクライアント２００とサーバ３００とはネットワークを介して接続される。
【００３２】
コントローラ１００は、クライアント２００及びサーバ３００を制御する装置であり、例えば携帯端末やＰＣである。クライアント２００は、音声出力装置であり、例えばＡＶアンプやネットワークプレーヤである。サーバ３００はＨＤＤ等の記憶デバイスを有する装置であり、例えばＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｒａｇｅ）やＰＣである。サーバ３００はコンテンツ（音楽データや映像データ）を記憶可能であり、クライアント２００やコントローラ１００の要求に応じてコンテンツデータやコンテンツリスト等を送信する。
【００３３】
ユーザ操作によって、コントローラ１００は、サーバ３００のコンテンツリストを取得する（図１の（１））。取得されたコンテンツリストはコントローラ１００の表示部に表示される。コントローラ１００に表示されるクライアント２００Ａ〜２００Ｅの中から、ユーザ操作によって、コンテンツを再生するクライアント２００が選択される。選択されるクライアント２００は、複数であってもよい。コントローラ１００においてコンテンツリストのコンテンツが再生指示されたとき、コントローラ１００はクライアント２００へ再生指示を送信する（図１の（２））。クライアント２００は、コントローラ１００から指定されるコンテンツのデータをサーバ３００に要求し、再生する（図１の（３））。クライアント２００は、ユーザ操作によってクライアント２００自身において音量が変更されたとき、またはネットワークを介してコントローラ１００から音量制御指示を受信したとき（図１の（２））、クライアント２００が出力する音声信号の出力レベルを変更する。なお、サーバ３００やコントローラ１００は複数あってもよい。各クライアント２００は、サーバ３００の異なるコンテンツを再生してもよいし、同一のコンテンツを再生してもよい。
【００３４】
図２は、コントローラ１００、クライアント２００及びサーバ３００のブロック図を示す。コントローラ１００の制御部１１は、メモリ１２に格納されたプログラムを実行することによりコントローラ１００全体を制御するものであり、例えばマイコンやＣＰＵである。メモリ１２は、コントローラ１００の設定内容などを保持するものであり、例えばＲＯＭやＲＡＭである。メモリ１２は、後述するボリューム管理テーブル１０１を有する。
【００３５】
表示部１４は、サーバ３００の情報、サーバ３００から取得されるコンテンツリスト、クライアント２００のリスト、クライアント２００のコンテンツ再生状態、またはクライアント２００を制御するメニュー等で構成される。図３はコントローラ１００の表示部１４を示す。サーバ及びコンテンツ選択部１４Ａは、ネットワークに接続されるサーバ３００の情報、及びサーバ３００から取得されるコンテンツリスト等を表示する。コントローラ１００はサーバ及びコンテンツ選択部１４Ａにおいてユーザによって選択されるコンテンツを、クライアント２００に再生させる。
【００３６】
表示部１４のクライアント選択部１４Ｂは、サーバ３００のコンテンツを再生するクライアント２００を選択するためのインターフェースを示す。本実施形態では、クライアント選択部１４Ｂにクライアント２００Ａ〜２００Ｅが表示される。ユーザ操作によってクライアント選択部１４Ｂの左端に示される枠にチェックが付けられたとき、チェックが付けられたクライアント２００からコンテンツが再生される。また、コントローラ１００が認識したクライアント２００はクライアント選択部１４Ｂに表示され、クライアント２００の電源がオフされたときは、電源がオフになっているクライアント２００の表示を消してもよいし、選択できないようにしてもよい。
【００３７】
表示部１４Ｂの再生進捗バー１４Ｃは、クライアント２００のコンテンツ再生状態を示す。本実施形態では、各クライアント２００は同一のコンテンツを同一のタイミングで再生することを想定するので、再生進捗バーは１つだけ表示される。表示部１４Ｂの再生操作部１４Ｄは、クライアント２００に再生開始、再生停止、コンテンツのスキップアップ、スキップダウン、再生一時停止等の指示を送信するインターフェースである。
【００３８】
表示部１４Ｂのボリュームコントロール部１４Ｅは、各クライアント２００の音量を変更するためのインターフェースである。ボリュームコントロール部１４ＥのＣＬは、クライアントを、ＴＴＬはトータルの略を示す。それぞれのバーは、音量パラメータを示し、丸印で示されるつまみの位置が現在の音量を示す。ボリュームコントロール部１４Ｅの各クライアント２００の音量（以下、クライアントボリュームという。）、及びコントローラ１００が管理する音量（以下、トータルボリュームという。）は、０から１００の値であり、単位は％である。すなわち、各クライアントの最大音量が異なっている場合であっても、クライアントボリュームは後述する方法によって１００に対する比率に統一される。各クライアント２００の音量は、ＣＬ  ＡからＣＬ  Ｅのボリュームバーの丸印で示される部分をマウス等で掴み、左右方向へ移動することによって調整可能である。さらに、トータルボリュームバーを操作することによって、複数のクライアント２００の音量を同時に変更することが可能である。なお、トータルボリュームが変更されたとき、クライアント選択部１４Ｂにおいて選択されているクライアント２００の音量値のみが変更されるようにしてもよい。
【００３９】
コントローラ１００の通信部１５は、クライアント２００またはサーバ３００と通信するものであり、イーサネット（登録商標。以下、イーサネットという。）端子等である。コントローラ１００の制御部１１は、通信部１５を介して、クライアント２００及びサーバ３００と制御コマンド等を送受信する。
【００４０】
クライアント２００の制御部２１は、メモリ２２に格納されたプログラムを実行することによりクライアント２００全体を制御するものであり、例えばマイコンやＣＰＵである。メモリ２２は、クライアント２００の設定内容などを保持するものであり、例えばＲＯＭやＲＡＭである。メモリ２２は、後述するボリュームテーブル２０１を有する。
【００４１】
クライアント２００の操作部２３は、クライアント２００の音量等を調整するインターフェースであり、例えば音量調整用のつまみである。表示部２４は、クライアント２００において再生されているコンテンツの情報や、クライアント２００に設定されている音量値等を表示する。通信部２５は、コントローラ１００と制御コマンドを送受信し、サーバ３００からコンテンツデータ等を受信する。音声処理部２６は、ＤＡＣやＤＳＰ等であり、通信部２６を介してサーバ３００から送信される音声データに音場処理を実行し、デジタルアナログ変換する。アナログ変換された音声データは、増幅部２７によって増幅され、スピーカー等へ出力される。また、増幅部２７は、制御部２１の指示によって指定される出力レベルに音声信号の増幅度を変更する。
【００４２】
サーバ３００の制御部３１は、メモリ３２に格納されたプログラムを実行することによりサーバ３００全体を制御するものであり、例えばマイコンやＣＰＵである。メモリ３２は、サーバ３００の設定内容などを保持するものであり、例えばＲＯＭやＲＡＭである。ＨＤＤ３３は、ハードディスクドライブであり、音楽データや映像データ等を記憶する。通信部３４は、コントローラ１００またはクライアント２００とコマンドを送受信する。例えば、通信部３４は、コントローラ１００の指示によってＨＤＤ３３内のコンテンツリストを送信し、クライアント２００の指示によってクライアント２００へコンテンツデータを送信する。
【００４３】
以上の構成を備えるコントローラ１００の制御部１１は、クライアントボリューム及びトータルボリュームを表示部１４のボリュームコントロール部１４Ｅに表示するための変数をクライアント２００から取得し、トータルボリューム及びクライアントボリュームを計算する。クライアントボリュームバーが操作されたとき、各クライアント２００に設定させる音量を計算し、制御コマンドを送信する。また、制御部１１は、トータルボリュームが変更されたとき、各クライアント２００の出力レベルの変化が一定となるような音量値を計算し、各クライアント２００に制御コマンドを送信する。さらに、クライアント２００は、音量が変更されたときの時間情報（以下、タイムスタンプという。）を有する。制御部１１は、コントローラ１００の起動時にクライアント２００の音量情報とともに、音量情報に対応付けられたタイムスタンプを取得し、タイムスタンプが最新のクライアント２００が有する音量情報を使用してトータルボリュームを調整し、かつ、各クライアント２００の音量を設定する。
【００４４】
図４は、コントローラ１００が起動したときのコントローラ１００の制御部１１とクライアント２００の制御部２１とのシーケンスチャートを示す。コントローラ１００の制御部１１は、コントローラ１００が起動するとき、各クライアント２００から、ボリュームコントロール部１４Ｅにトータルボリュームと、各クライアント２００のクライアントボリュームとを表示するための変数（以下、音量変数という。）を取得する。制御部１１は、各クライアント２００から取得される音量変数によって計算されるトータルボリュームが異なる場合、最新のタイムスタンプが対応付けられた音量変数によってトータルボリュームを決定する。さらに、制御部１１は決定されたトータルボリュームから計算される音量変数を各クライアント２００に送信することにより、各クライアント２００が記憶する音量変数と、コントローラが有する音量変数との整合性が取れた状態に更新する。
【００４５】
クライアント２００の制御部２１は、変数Ｉ（第１パラメータ）、Ｖ（所定の上限音量値、第２パラメータ）、及びＴｉｍｅｓｔａｍｐを有する。変数Ｉは、クライアント２００に設定されている音量を示す音量変数である。変数Ｖは、ボリュームコントロール部１４Ｅにおいてトータルボリュームが１００％に設定されたときにクライアントボリュームバーに設定される値を示す音量変数である。なお、クライアント２００の変数Ｖの初期値は１００であり、変数Ｉの初期値は５０であり、変数ＴｉｍｅｓｔａｍｐはＮＵＬＬ（無効な値）である（Ｓ１０１）が、これに限らず、任意の値であってもよい。
【００４６】
コントローラ１００の制御部１１は、コントローラ１００を起動する（Ｓ１０２）。クライアント２００の制御部２１は、クライアント２００が起動したとき、コントローラ１００へクライアント２００が起動したことを通知する（Ｓ１０３）。
【００４７】
コントローラ１００の制御部１１は、クライアント２００から起動通知を受信したとき、起動通知を送信したクライアント２００がコントローラ１００のボリューム管理テーブル１０１に未登録のクライアント２００であるか否かを判断する（Ｓ１０４）。図５はコントローラ１００のボリューム管理テーブル１０１を示す。ボリューム管理テーブル１０１は、クライアント識別子であるクライアント２００のマックアドレスに対応付けて、クライアント２００のＩＰアドレス、変数Ｖ、ＶＭａｘ、Ｉ、ＩＭａｘ、Ｔｉｍｅｓｔａｍｐを管理する。また、コントローラ１００が使用する変数であるＩｔ、ＩｔＭａｘを管理する。ＶＭａｘとＩＭａｘ（第３パラメータ）は説明のため分けて定義したが、実際は同一の変数でもよい。変数Ｖ、ＶＭａｘ、Ｉ、ＩＭａｘにおける添え字（ｎ）は、クライアント２００を一意に特定するための通し番号であり、例えば、ボリューム管理テーブル１０１のＮｏ１のクライアント（クライアント２００Ａ）のｎは１である。ボリューム管理テーブル１０１のマックアドレス及びＩＰ  Ａｄｄｒｅｓｓは、Ｓ１０３における起動通知に含まれる値である。変数Ｖ、ＶＭａｘ、Ｉ、ＩＭａｘ、Ｔｉｍｅｓｔａｍｐ等の値は後述する処理によって設定される。
【００４８】
コントローラ１００の制御部１１は、起動通知を受信し、かつ、ボリューム管理テーブル１０１にマックアドレスが登録されていない場合、未登録のクライアント２００であると判断する（Ｓ１０４でＹＥＳ）。制御部１１は、クライアント２００のボリューム変数Ｖ、ＶＭａｘを新たに定義し（Ｓ１０５）、図５のボリューム管理テーブル１０１に追加する。例えば、クライアント２００Ｅが起動通知を送信した場合、ボリューム管理テーブル１０１のＮｏ５の列が追加となり、Ｖ（５）及びＶＭａｘ（５）が定義される。新たに定義されるｎは、登録済みのクライアント２００に割り当てられている変数ｎに１をインクリメントした値である。制御部１１は、変数Ｉ（ｎ）、Ｉ（ｎ）Ｍａｘを定義し、図５のボリューム管理テーブル１０１に追加する（Ｓ１０６）。ＩＭａｘ及びＶＭａｘはそれぞれ、Ｉ、Ｖの最大値であり、後述する処理によって設定される。Ｉ（ｎ）Ｍａｘ及びＶ（ｎ）Ｍａｘは、規定値（例えば１００）であってもよい。なお、Ｖ（ｎ）、Ｉ（ｎ）は、次式を満たす。
【００４９】
０＜＝Ｖ（ｎ）＜＝Ｖ（ｎ）Ｍａｘ  −  （１）
０＜＝Ｉ（ｎ）＜＝Ｉ（ｎ）Ｍａｘ  −  （２）
【００５０】
制御部１１は、Ｉ（ｎ）Ｍａｘ及びＶ（ｎ）Ｍａｘを取得するため、クライアント２００へクライアント２００が設定可能な最大音量値を取得するための要求を送信する（Ｓ１０７）。クライアント２００が設定可能な最大音量値は、図１４の横軸の最大値である。
【００５１】
クライアントの制御部２１は、最大音量値を送信し（Ｓ１０８）、コントローラ１００の制御部１１は、受信した最大音量値をＩ（ｎ）Ｍａｘ及びＶ（ｎ）Ｍａｘに設定する（Ｓ１０９）。
【００５２】
コントローラ１００の制御部１１は、ボリューム管理テーブル１０１に登録されている全クライアント２００へ変数Ｖ、Ｉ、Ｔｉｍｅｓｔａｍｐを送信するよう要求し（Ｓ１１０）、クライアント２００の制御部２１は、自身が保持しているＶ、Ｉ、Ｔｉｍｅｓｔａｍｐ値をコントローラ１００へ送信する（Ｓ１１１）。図６は各クライアント２００が有するボリュームテーブル２０１を示す。クライアント２００は、変数Ｉ、Ｖ、ＩＭａｘ、ＶＭａｘを有する。変数Ｉ及びＶは、クライアント２００の操作部２３が操作されることによって音量値が変更された場合、またはコントローラ１００から音量値変更のコマンドを受信したときに書き換えられる。ＩＭａｘ及びＶＭａｘは固定の値である。なお、Ｓ１０１で記載されるように、本実施例では変数Ｖの初期値は１００であり、Ｉの初期値は５０である。
【００５３】
コントローラ１００の制御部１１は、ボリューム管理テーブル１０１の変数Ｖ（ｎ）、Ｉ（ｎ）、Ｔｉｍｅｓｔａｍｐ（ｎ）を受信された値に更新する（Ｓ１１２）。
【００５４】
制御部１１は、取得された変数Ｖ（ｎ）及びＩ（ｎ）から各クライアント２００について変数Ｉｔ＿ｔｅｍｐ（ｎ）を計算する（Ｓ１１３）。Ｉｔ＿ｔｅｍｐは、トータルボリュームの値を示す。なお、変数Ｉｔ＿ｔｅｍｐは、コントローラ１００のトータルボリュームＩｔを決定するための仮の変数である。Ｉｔ＿ｔｅｍｐは、各クライアント２００のＶ、及びＩによって、以下の式で計算される。次式のｎは、図５のボリューム管理テーブルのＮｏを示し、１からクライアント数までの数値である。
【００５５】
Ｉｔ＿ｔｅｍｐ（ｎ）＝｛Ｉ（ｎ）／Ｖ（ｎ）｝×Ｖ（ｎ）Ｍａｘ  ―（３）
ただし、０＜＝Ｉ（ｎ）＜＝Ｉｔ＿ｔｅｍｐ（ｎ）＜＝ＩｔＭａｘ  ―（４）
【００５６】
（４）式のＩｔＭａｘは、ボリュームコントロール部１４Ｅのトータルボリュームの最大値である。本実施例では、ＩｔＭａｘは１００である。制御部１１は、計算されたＩｔ＿ｔｅｍｐ（ｎ）がすべてのクライアント２００において等しいか否かを判断し（Ｓ１１４）、等しいと判断された場合、すべてのクライアント２００の変数の整合性が取れている状態であると判断されるので、変数Ｉｔ＝Ｉｔ＿ｔｅｍｐとし、Ｉｔを表示部１４のトータルボリュームに設定する（Ｓ１２０）。すなわち、制御部１１は、ボリュームコントロール部１４Ｅのトータルボリュームバーのつまみの位置をＩｔの値に移動させる。なお、ＩｔもＩｔ＿ｔｅｍｐと同様に、以下の式（５）を満たす。
【００５７】
０＜＝Ｉ（ｎ）＜＝Ｉｔ＜＝ＩｔＭａｘ  ―（５）
【００５８】
なお、ボリュームコントロール部１４Ｅの各クライアントボリュームバーのつまみの位置は、後述するＳ１１８の処理によって計算されるＩ’（ｎ）に設定される（Ｓ１２１）。なお、Ｉ’はボリュームコントロール部１４Ｅのクライアントボリュームのつまみの位置を示す。すなわち、Ｉ’はクライアントボリュームバーの表示上の位置を示す変数である。トータルボリュームは、Ｖ（ｎ）に対するＩ’（ｎ）の比率を示す値である。
【００５９】
制御部１１は、Ｉｔ＿ｔｅｍｐ（ｎ）が各クライアント２００によって異なると判断した場合（Ｓ１１４でＮＯ）、変数Ｔｉｍｅｓｔａｍｐ（ｎ）の中で、最新の時刻を示すＴｉｍｅｓｔａｍｐを特定する（Ｓ１１５）。図５のボリューム管理テーブル１０１の場合、クライアント２００ＡのＴｉｍｅｓｔａｍｐが最新であると判断される。
【００６０】
制御部１１は、最新のＴｉｍｅｓｔａｍｐ（ｎ）を有するクライアント２００の変数Ｉ（ｎ），Ｖ（ｎ）から計算されるＩｔ_ｔｅｍｐ（ｎ）をＩｔに設定する（Ｓ１１６）。図５のボリューム管理テーブル１０１の場合、Ｉ（１）及びＶ（１）の値から計算されるＩｔ_ｔｅｍｐ（１）をＩｔとする。制御部１１は、Ｓ１２０と同様、Ｉｔをトータルボリュームに設定する（Ｓ１１７）。
【００６１】
制御部１１は、Ｓ１１７の処理によって確定されるＩｔから、各クライアント２００のＩ’（ｎ）、Ｉ（ｎ）及びＶ（ｎ）を算出する。各クライアント２００のＩ、Ｉ’及びＶは以下の手順によって導出される。
【００６２】
（３）式においてＩｔ＿ｔｅｍｐをＩｔとし、Ｉ（ｎ）をＩ’（ｎ）とすると、以下の式が成立する。
【００６３】
Ｉ’（ｎ）＝  Ｉｔ×｛Ｖ（ｎ）／Ｖ（ｎ）Ｍａｘ｝  −（６）
ただし、０＜＝Ｉ’（ｎ）＜＝Ｉｔ＜＝ＩｔＭａｘ    −（７）
【００６４】
例えば、Ｉｔ＝８０％、Ｖ（１）Ｍａｘ＝９０、Ｖ（１）＝６０の場合、Ｉ’（１）＝８０×｛６０／９０｝であるので、表示位置Ｉ’（１）はおよそ５３．３％となる。
【００６５】
コントローラ１００からクライアント２００に設定される音量値であるＩ（ｎ）は、Ｉ’（ｎ）を用いて以下の式で示される。
【００６６】
Ｉ（ｎ）＝  Ｉ’（ｎ）×｛ＩｔＭａｘ／Ｉ（ｎ）Ｍａｘ｝  −（８）
【００６７】
（８）式においてＩ（ｎ）ＭａｘとＩｔＭａｘとが等しいとき（例えば、Ｉ（ｎ）Ｍａｘ、ＩｔＭａｘがともに１００のとき）は、Ｉ’（ｎ）＝Ｉ（ｎ）である。クライアント２００Ａの場合、Ｉ（１）＝Ｉ’（ｎ）×１００／９０であるので、クライアント２００Ａのクライアントボリュームバーに表示されているＩ’（ｎ）を約１．１１倍した音量値がクライアント２００Ａに設定される。すなわち、クライアント２００に設定される音量値Ｉ（ｎ）は、表示値Ｉ’（ｎ）をＩｔＭａｘとＩ（ｎ）Ｍａｘとによって補正した値となる。この結果、トータルボリュームを変更したとき、各クライアントの出力特性が一定になるように音量値Ｉ（ｎ）が決定できる。また、（６）式を変形し、Ｖ（ｎ）は、以下の式で表される。
【００６８】
Ｖ（ｎ）＝Ｉ’（ｎ）×（Ｖ（ｎ）Ｍａｘ／Ｉｔ）−（９）
【００６９】
図４のフローチャートに戻り、コントローラ１００の制御部１１は、（８）式及び（９）式から、Ｉ（ｎ）及びＶ（ｎ）をすべてのクライアント２００について計算し、各クライアント２００へ現在の時刻を設定したＴｉｍｅｓｔａｍｐとともに送信する（Ｓ１１９）。
【００７０】
クライアント２００の制御部２１は、コントローラ１００から受信するＶ，Ｉを、図６のボリュームテーブル２０１のＶ、Ｉに記憶し、Ｔｉｍｅｓｔａｍｐを受信した値に更新する（Ｓ１２２）。
【００７１】
クライアント２００の制御部２１は、クライアント２００の増幅部２７に、Ｓ１２２の処理によって設定されたＩに対応する出力レベルを設定し、音量の制御を実行する（Ｓ１２３）。
【００７２】
以上の処理の結果、コントローラ１００が起動したとき、コントローラ１００の制御部１１はクライアント２００が記憶している音量変数を取得し、Ｉｔを計算してトータルボリュームを表示する。さらに制御部１１はＩｔからＩ’（ｎ）を計算し、クライアントボリュームを表示する。トータルボリューム（Ｉｔ）は、各クライアント２００に設定されている音量値（Ｉ（ｎ））の、最大設定可能値（Ｖ（ｎ））に対する比率を表示するので、ユーザはトータルボリュームを確認するだけで、各クライアント２００に設定されている音量値を把握できる。また、各クライアント２００の音量変数から計算されるＩｔが等しくない場合、最新のタイムスタンプを有するクライアント２００の音量変数から計算されるＩｔから、各クライアント２００の音量変数を計算する。コントローラ２００はクライアント２００の出力レベルを変更し、クライアント２００に音量変数（Ｉ（ｎ）、Ｖ（ｎ））及びタイムスタンプを更新させる。この結果、ネットワーク内のクライアント２００とコントローラ１００とが有する音量変数の整合性が維持される。
【００７３】
図７は、コントローラ１００の表示部１４のボリュームコントロール部１４Ｅにおいてつまみが操作されたときに、コントローラ１００の制御部１１が実行するフローチャートを示す。
【００７４】
コントローラ１００の制御部１１は、ボリュームコントロール部１４Ｅのつまみが操作されたか否かを判断し（Ｓ２０１）、変更されていないと判断される場合、変更を待つ（Ｓ２０１でＮＯ）。制御部１１は、音量が変更されたと判断したとき（Ｓ２０１でＹＥＳ）、ボリュームコントロール部１４Ｅのトータルボリュームが変更されたか否かを判断する（Ｓ２０２）。
【００７５】
クライアントボリュームのいずれかが操作されたと判断された場合（Ｓ２０２でＮＯ）、操作されたクライアントボリュームを特定する（Ｓ２０３）。例えば、ボリュームコントロール部１４ＥのＣＬ  Ｃ（クライアント２００Ｃ）の音量が変更されたと判断された場合、通し番号ｋ＝３が特定される。
【００７６】
制御部１１は、Ｉ’（ｋ）がＩｔ以下であるか否かを判断する。なお、上記した通り、Ｉ’（ｋ）は、クライアントボリュームバーの表示値である。（７）式から、Ｉ’（ｋ）はＩｔ以下であることが条件であるので、制御部１１は、変更後のクライアントボリュームＩ’（ｋ）が、トータルボリュームＩｔ以下であるか否かを判断する（Ｓ２０４）。
【００７７】
制御部１１は、Ｉ’（ｋ）がＩｔ以下であると判断したとき（Ｓ２０４でＹＥＳ）、（８）式によって、クライアント２００へ設定する音量値であるＩ（ｋ）を計算する（Ｓ２０５）。制御部１１は、（９）式から、Ｖ（ｋ）を計算する（Ｓ２０６）。Ｓ２０５及びＳ２０６において、音量値が変更されたクライアント２００のＩ（ｋ）、Ｖ（ｋ）のみを計算し、操作されていないクライアント２００のＩ（ｎ）、Ｖ（ｎ）は計算しない。
【００７８】
制御部１１は、音量値が変更されたクライアント２００へ、計算されたＶ（ｋ）、変更後のＩ（ｋ）、及び現在時刻を設定したＴｉｍｅｓｔａｍｐとして送信する（Ｓ２０７）。これらの変数を受信したクライアント２００は、図４のＳ１２２及びＳ１２３の処理を実行する。制御部１１は、クライアントボリュームのつまみの表示位置を、Ｉ’（ｋ）で示される位置に更新し（Ｓ２０８）、処理を終了する。なお、通し番号ｋで示されるクライアント２００以外のクライアントボリュームは変更しない。ただし、タイムスタンプの値を各クライアント２００に送信し、更新させてもよい。
【００７９】
制御部１１は、Ｉ（ｋ）がＩｔより大きいと判断したとき（Ｓ２０４でＮＯ）、（７）式を満たす必要があるので、ＩｔにＩ’（ｋ）を代入する（Ｓ２０９）。制御部１１は、Ｉｔのタイムスタンプを現在の時刻に更新する（Ｓ２１０）。
【００８０】
制御部１１は、（９）式によってＶ（ｋ）を計算する（Ｓ２１１）。Ｓ２０９の処理によってＩ’（ｎ）とＩｔは等しいので、Ｉ’（ｎ）／Ｉｔは１になり、Ｖ（ｋ）＝Ｖ（ｋ）Ｍａｘが成立する。
【００８１】
制御部１１は、以下の処理によって、クライアントボリュームを変更されていないクライアント２００のクライアントボリュームにおけるＩ（ｎ）を計算し、Ｖ，Ｉ，Ｔｉｍｅｓｔａｍｐを各クライアントへ送信する。制御部１１は、Ｉ’（ｎ）を（６）式によって計算し（Ｓ２１２）、計算されたＩ’（ｎ）を用いて、（８）式によってＩ（ｎ）を計算する（Ｓ２１３）。なお、Ｓ２１２、Ｓ２１３におけるｎは、ｋ以外の１からクライアント数までの変数である。
【００８２】
制御部１１は、すべてのクライアント２００へＶ（ｎ）、Ｉ（ｎ）及び現在時刻を登録したＴｉｍｅｓｔａｍｐ値を送信する（Ｓ２１４）。制御部１１は、クライアントボリュームバーの値を、それぞれＩ’（ｎ）に更新する（Ｓ２１５）。すなわち、あるクライアント２００のクライアントボリューム値Ｉ’（ｋ）がＩｔを超えて調整されたとき、すべてのクライアント２００のクライアントボリュームバーの値が更新され、さらにクライアント２００へ音量値を変更させる。制御部１１は、すべてのクライアント２００についてＳ２１２からＳ２１５の処理を実行したか否かを判断し、完了していないと判断した場合（Ｓ２１６でＮＯ）、Ｓ２１２以降の処理をｎの値を変更しながら実行し、すべての処理が終了したと判断した場合（Ｓ２１６でＹＥＳ）、処理を終了する。
【００８３】
制御部１１は、表示部１４のトータルボリュームが変更されたと判断した場合（Ｓ２０２でＹＥＳ）、クライアントボリュームバーの表示位置を示すＩ’（ｎ）を、（６）式によって計算する（Ｓ２１７）。なお、ｎは１からクライアントの数までを示す変数である。制御部１１は、Ｉ’（ｎ）をクライアントボリュームバーに設定し（Ｓ２１８）、（８）式によって、Ｉ（ｎ）を計算する（Ｓ２１９）。
【００８４】
制御部１１は、クライアント２００へ、計算されたＩ（ｎ）、Ｖ（ｎ）、現在時刻を格納したＴｉｍｅｓｔａｍｐを送信する（Ｓ２２０）。なお、Ｖ（ｎ）は変更しないので、制御部１１は計算する必要はなく、ボリューム管理テーブル２０１のＶ（ｎ）をそのまま送信する。なお、制御部１１は、Ｖ（ｎ）を送信しなくてもよい。
【００８５】
制御部１１は、すべてのクライアント２００についてＳ２１７からＳ２２０までの処理を実行したか否かを判断し（Ｓ２２１）、完了していないと判断した場合（Ｓ２２１でＮＯ）、Ｓ２１７以降の処理をｎの値を変更しながら実行し、すべての処理が終了したと判断した場合（Ｓ２２１でＹＥＳ）、処理を終了する。
【００８６】
図７の処理を、図８〜１２を用いて具体的に説明する。図８〜１２は、クライアント２００Ａのクライアントボリュームまたはトータルボリュームが操作されたときのＶ、Ｉ、Ｉ’、Ｉｔ及びボリュームバーを示す。なお、説明を簡単にするため、ＩｔＭａｘ＝１００、Ｉ（ｎ）Ｍａｘ＝１００、Ｖ（ｎ）Ｍａｘ＝１００とする。
【００８７】
［実施形態１］
図８は、ボリュームコントロール部１４Ｅにおけるクライアント２００ＡのクライアントボリュームＩ’（１）がＩｔ以下の範囲で変更されたときのクライアント２００ＡのＩ（１）、Ｉ’（１）、Ｖ（１）、Ｉｔを示し、図７のＳ２０４においてＹＥＳと判断されたときに相当する。図８の（Ａ）−１及び（Ａ）−２は、クライアント２００Ａの変更前、変更後のクライアントボリュームを示す。図８の（Ａ）−３及び（Ａ）−４は、クライアントボリュームが変更されたときのトータルボリュームバーの変更前、変更後を示す。
【００８８】
図８の（Ａ）−１において、クライアントボリュームは、Ｉ’（１）＝６０、Ｖ（１）＝７５である。なお、Ｖ（１）は（９）式によって算出される。
【００８９】
ユーザ操作によって、クライアントボリュームＩ’（１）が６０から７０へ変更される（図８の（Ａ）−２）。制御部１１は、Ｓ２０５の処理によって、Ｉ（１）を計算する（Ｉ（１）＝７０）。さらに制御部１１は、Ｓ２０６の処理によってＶ（１）を計算する（Ｖ（１）＝８７．５）。制御部１１は、変更後のＩ’（１）＝７０にクライアントボリュームバーを更新する（Ｓ２０８）。
【００９０】
トータルボリュームは、（Ａ）−３の状態から（Ａ）−４の状態となる。すなわち、本実施形態ではＩｔは変更されない。クライアントボリューム値がＩｔ以下で変更されたとき、トータルボリュームバーは変更されない。Ｉｔの値はクライアントボリュームバーにおける、Ｖに対するＩ’の比率を示す。変更前のクライアントボリューム２００Ａの比率（Ｉｔ）は、（６０／７５）×１００＝８０、変更後のクライアントボリューム２００Ａの比率（Ｉｔ）は、（７０／８７．５）×１００＝８０である。すなわち、クライアント２００ＡのＶに対するＩ’の比率が等しくなるようにＶが変更される。この結果、ユーザはトータルボリュームの位置を確認することで、各クライアント２００のクライアントボリュームが設定可能な音量値に対して何％の位置に設定されているのかを知ることができる。
【００９１】
［実施形態２］
図９も図７のＳ２０４においてＹＥＳと判断されたときのボリュームバーの状態を示す。図９はボリュームコントロール部１４Ｅにおけるクライアント２００ＡのクライアントボリュームＩ’（１）がＩｔ以下で変更されたときであって、かつ、トータルボリュームＩｔが１００であったときの実施形態を示す。
【００９２】
図９の（Ｂ）−１において、クライアントボリュームは、Ｉ’（１）＝６０、Ｖ（１）＝６０である。すなわち、Ｉｔはすでに１００％であるので、Ｖ（１）に対するＩ’（１）の比率は１００％である。
【００９３】
ユーザ操作によって、クライアントボリュームＩ’（１）が６０から７０へ変更される（図９の（Ｂ）−２）。制御部１１は、Ｓ２０５の処理によって、Ｉ（１）を計算する（Ｉ（１）＝７０）。さらに制御部１１は、Ｓ２０６の処理によってＶ（１）を計算する（Ｖ（１）＝７０）。制御部１１は、変更後のＩ’（１）＝７０にクライアントボリュームバーを更新する（Ｓ２０８）。すなわち、Ｉ’（１）とＶ（１）の比率が１になる必要があるので、Ｉ’（１）とＶ（１）とは同一の値となる。なお、図９においてトータルボリュームＩｔは変化しない。
【００９４】
［実施形態３］
図１０は図７のＳ２０４においてＮＯと判断されたときの実施形態を示す。すなわち、図１０はボリュームコントロール部１４Ｅにおけるクライアント２００ＡのクライアントボリュームＩ’（１）がＩｔより大きい範囲へ変更されたときの状態を示す。図１０の（Ｃ）−５及び（Ｃ）−６はクライアント２００Ａの音量値が変更される前後のクライアント２００Ｂのクライアントボリュームバーを示す。
【００９５】
図１０の（Ｃ）−１において、クライアント２００Ａのクライアントボリュームは、Ｉ’（１）＝６０、Ｖ（１）＝７５である。ユーザ操作によって、クライアントボリュームＩ’（１）が６０から９０へ変更される（図１０の（Ｃ）−２）。制御部１１は、ＩｔをＩ’（１）の値（９０）に変更し（Ｓ２０９）、制御部１１は、Ｓ２１１の処理によって、Ｖ（１）を計算する（Ｖ（１）＝１００＝Ｖ（１）Ｍａｘ）。この時、Ｖ（１）＝Ｖ（１）Ｍａｘが成立する。Ｖ（１）がＶ（１）Ｍａｘと等しいとき、Ｉｔは、Ｉ（１）／Ｖ（１）と常に等しい値となるので、トータルボリュームを操作したとき、クライアント２００Ａのクライアントボリュームはトータルボリュームと同じ値となる。
【００９６】
クライアント２００Ｂのクライアントボリュームは、クライアント２００Ａのクライアントボリュームが変更されることによって、連動して変更される。クライアント２００Ｂの変更前の音量変数は（Ｃ）−５に示されるように、Ｉ’（２）＝３０、Ｖ（２）＝３７．５であったとする。クライアント２００Ｂのクライアントボリュームは、Ｓ２１２の計算によって、Ｉ’（２）＝３３．７５と計算される。さらに制御部１１は、Ｓ２１３においてＩ（２）を計算し、クライアント２００Ｂへ送信する（Ｓ２１４）。なおＩ（２）Ｍａｘは１００であるので、Ｉ’（２）＝Ｉ（２）＝３３．７５である。すなわち、クライアント２００Ｂのクライアントボリュームバーのつまみの位置は、Ｖ（２）に対して、３０／３７．５×１００＝８０％の位置から、３３．７５／３７．５＝９０％の位置に変更される。クライアント２００Ａのクライアントボリュームを変更したことに伴い、クライアントＢのクライアントボリュームも適切に調整される。なお、クライアント２００Ｃ、２００Ｄ、２００Ｅについても同様の処理が実行される。
【００９７】
［実施形態４］
図１１は図７のＳ２０２においてＹＥＳと判断されたときの実施形態を示す。すなわち、図１１はボリュームコントロール部１４ＥにおけるトータルボリュームＩｔが変更されたときの状態を示す。図１１の（Ｄ）−１及び（Ｄ）−２は、トータルボリュームの変更前、変更後の状態を、（Ｄ）−３及び（Ｄ）−４は、トータルボリュームが変更される前のクライアント２００Ａのクライアントボリュームと、トータルボリュームが変更された後のクライアント２００Ａのクライアントボリュームを示す。
【００９８】
図１１の（Ｄ）−１において、トータルボリュームは、Ｉｔ＝８０であり、ユーザ操作によってトータルボリュームがＩｔ＝１００に変更される（（Ｄ）−２）。トータルボリュームが変更される前のクライアント２００ＡのＩ（１）及びＶ（１）は、それぞれ６０、７５である（（Ｄ）−３）。トータルボリュームが変更されたとき、クライアント２００ＡのＩ’（１）はＳ２１７の処理によって７５と算出される。制御部１１は、Ｓ２１９の処理によって、Ｉ（１）を計算し、クライアント２００Ａに設定させる（Ｓ２２０）。トータルボリュームが１００％になったとき、クライアントボリュームの変数Ｖ（１）に対するＩ’（１）の比率は１になる。また、トータルボリュームが変更されたとき、クライアント２００ＡのＶ（１）は不変である。クライアント２００Ｂ〜２００Ｅも同様に処理される。以上の処理によって、トータルボリュームが変更されたとき、クライアントボリュームのＶとＩとの比率がトータルボリュームと等しくなるようにＶとＩとが変更される。
【００９９】
［実施形態５］
図１２も図７のＳ２０２においてＹＥＳと判断されたときの実施形態を示す。図１２はボリュームコントロール部１４ＥにおけるトータルボリュームＩｔが減少するほうへ変更されたときの状態を示す。図１２の（Ｅ）−１、（Ｅ）−２は、トータルボリュームの変更前、変更後の状態を、（Ｅ）−３、（Ｅ）−４は、トータルボリュームが変更される前のクライアント２００Ａのクライアントボリューム、トータルボリュームが変更された後のクライアント２００Ａのクライアントボリュームを示す。
【０１００】
図１２の（Ｅ）−１において、トータルボリュームは、Ｉｔ＝８０であり、ユーザ操作によってトータルボリュームがＩｔ＝４０に変更される（（Ｅ）−２）。トータルボリュームが変更される前のクライアント２００ＡのＩ（１）及びＶ（１）は、それぞれ６０、７５である（（Ｅ）−３）。制御部１１は、トータルボリュームが変更されたとき、クライアント２００ＡのＩ’（１）はＳ２１７の処理によって３０と算出される。制御部１１は、Ｓ２１９の処理によって、Ｉ（１）を計算し、クライアント２００Ａに設定させる（Ｓ２２０）。クライアント２００Ｂ〜２００Ｅについても同様に処理される。以上の処理によって、トータルボリュームが変更されたとき、クライアントボリュームのＶとＩとの比率がトータルボリュームと等しくなるようにＶとＩとが変更される。
【０１０１】
図１３は、クライアント２００に備えられる操作部２３が操作されることによって音量値が変更されたときに、クライアント２００の制御部１１が実行するフローチャートを示す。
【０１０２】
クライアント２００の制御部２１は、ユーザ操作によって音量の制御指示が入力されたか否かを判断し（Ｓ３０１）、音量の制御指示が入力されてないと判断したとき（Ｓ３０１でＮＯ）、制御指示を待つ。制御部２１は、音量制御の指示が入力されたとき（Ｓ３０１でＹＥＳ）、ボリュームテーブル２０１のＩ及びＶから、変数ｒａｔｉｏ＝Ｉ／Ｖを計算する。例えば、図６のボリュームテーブル２０１の場合、ｒａｔｉｏは４０／９０である。
【０１０３】
制御部２１は、ボリュームを増加させる指示を受信したか否かを判断し（Ｓ３０３）、増加させる指示であると判断した場合（Ｓ３０３でＹＥＳ）、増加分の音量値をΔＩに記憶する（Ｓ３０４）。制御部２１は、ＩをＩ＋ΔＩに変更したときに、上記したｒａｔｉｏを一定に保つことができるか否かを判断する（Ｓ３０５）。ｒａｔｉｏを一定に維持するためには、（Ｉ＋ΔＩ）／Ｖ’（Ｖ’は変化後のＶ）を満たすＶ’が必要であるが、ＶはＶＭａｘ以下を満たさなくてはならない。すなわち、制御部１１は、ＶＭａｘ以下のＶによって、ｒａｔｉｏを一定に維持できるか否かを判断する。ｒａｔｉｏを一定に保つことができるＶが存在しない場合、Ｉ＋ΔＩとＶ’とから計算されるトータルボリュームＩｔが、コントローラ１００が管理している変数Ｉｔの値を超えるので、クライアント２００とコントローラ１００とのＩｔの整合性が合わなくなる。従って、制御部１１は、受信した音量値の変更が不可能であることを表示部２４等に表示し、音量の変更を実行しない（Ｓ３０６）。
【０１０４】
制御部２１は、音量を下げる指示であると判断した場合（Ｓ３０３でＮＯ）、またはｒａｔｉｏを一定に維持できると判断した場合（Ｓ３０５でＹＥＳ）ｒａｔｉｏ＝（Ｉ＋ΔＩ）／（Ｖ＋ｘ）を満たすｘを算出し、ボリュームテーブル２０１のＶをＶ＋ｘに、ＩをＩ＋ΔＩに更新し、Ｔｉｍｅｓｔａｍｐを現在時刻に更新する（Ｓ３０８）。制御部２１は、出力レベルを更新後のＩによって計算される値に変更（Ｓ３０９）する。制御部２１は、コントローラ１００へ、変更後のＩ、Ｖ、及びＴｉｍｅｓｔａｍｐを送信する（Ｓ３１０）。コントローラ１００は、クライアント２００から送信されるＩ、Ｖ、及びＴｉｍｅｓｔａｍｐをボリューム管理テーブル１０１に記憶し、クライアントボリュームのつまみの位置を、（６）式で計算されるＩ’の位置に更新する。
【０１０５】
以上の処理によると、クライアント２００の操作によって音量が変更されるとき、コントローラ１００が管理しているＩｔを超えない範囲で音量を変更するので、コントローラ１００のトータルボリュームとクライアント２００のクライアントボリュームとの整合性が維持される。
【０１０６】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態には限定されない。コントローラ１００が複数あってもよい。サーバ３００をクライアント２００の内部に備えてもよいし、コントローラ１００の内部に備えてもよい。
【産業上の利用可能性】
【０１０７】
本発明のコントローラは、ＰＣ、携帯端末等に好適に採用され、クライアントはＡＶレシーバー、ＡＶアンプ、ＴＶ等の機器に好適に採用され得る。
【符号の説明】
【０１０８】
１００          コントローラ
２００Ａ        クライアント
２００Ｂ        クライアント
２００Ｃ        クライアント
２００Ｄ        クライアント
２００Ｅ        クライアント
３００          サーバ
１１              制御部
１２              メモリ
１３            操作部
１４            表示部
１５            通信部
２１            制御部
２２            メモリ
２３            操作部
２４            表示部
２５            通信部
２６            音声処理部
２７            増幅部
３１            制御部
３２              メモリ
３３            ＨＤＤ
３４            通信部
【図１】
0005505402.tif 000002
【図２】
0005505402.tif 000003
【図３】
0005505402.tif 000004
【図４】
0005505402.tif 000005
【図５】
0005505402.tif 000006
【図６】
0005505402.tif 000007
【図７】
0005505402.tif 000008
【図８】
0005505402.tif 000009
【図９】
0005505402.tif 000010
【図１０】
0005505402.tif 000011
【図１１】
0005505402.tif 000012
【図１２】
0005505402.tif 000013
【図１３】
0005505402.tif 000014
【図１４】
0005505402.tif 000015