(57)【特許請求の範囲】
【請求項１】
オーディオ信号を生成する１つまたは複数のソフトウェアアプリケーションを有し、オーディオ設定階層を含むシステムにおいて、
前記オーディオ設定階層を介して、第１のソフトウェアアプリケーションからのオーディオ信号の処理に対応するシステムオーディオ設定を生成するステップと、
第１のソフトウェアアプリケーションシステムオーディオ設定コントロールのユーザ操作を取得するステップと、
前記システムオーディオ設定コントロールのユーザ操作に対応して、前記オーディオ設定階層内の１つまたは複数のオーディオ設定を調整するステップと
を備え、前記システムオーディオ設定を調整するステップは、
前記ユーザ操作の前に、現在のハードウェアボリューム設定に基づいてフラットボリューム特性ツリーを生成するステップと、
前記ユーザ入力に従って前記フラットボリューム特性ツリーを修正するステップと、
前記フラットボリューム特性ツリーに基づいて前記ハードウェアボリューム設定を調整するステップと
を含み、前記ユーザ操作の前に、現在のハードウェアボリューム設定に基づいてフラットボリューム特性ツリーを生成するステップは、
現在のハードウェアボリューム設定に対応するハードウェア特性ツリーを生成するステップと、
前記ハードウェア特性ツリーをフラットボリューム特性ツリーにマップするステップと、
前記フラットボリューム特性ツリーを構成する複数のノード内の各ノードの値を、前記各ノードの値と前記各ノードの親ノードの値との積に置換することをルートノードの子ノードから最下位ノードまで順に行い、次に、前記フラットボリューム特性ツリーを構成する複数のノード内の各ノードの値を、前記各ノードの全子ノードの値の中の最大値に置換することを最下位ノードの親ノードからルートノードまで順に行うことによって、前記フラットボリューム特性ツリーを最適化するステップと
を含むことを特徴とするシステムオーディオ設定を管理する方法。
【請求項２】
前記オーディオ設定階層は、前記第１のソフトウェアアプリケーションによって生成されるオーディオ信号のボリュームに対応するアプリケーションボリュームレベルと、前記コンピュータシステム内のすべてのソフトウェアアプリケーションによって生成されるオーディオ信号のチャネルボリュームレベルと、前記コンピュータシステム内のすべてのオーディオチャネルによって生成されるオーディオ信号のメインボリュームレベルとを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記オーディオ設定階層は、前記第１のソフトウェアアプリケーションによって生成されるオーディオ信号のボリュームに対応するアプリケーションボリュームレベルと、前記コンピュータシステム内のすべてのオーディオチャネルによって生成されるオーディオ信号のメインボリュームレベルとを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記システムオーディオ設定コントロールを生成するステップは、前記第１のソフトウェアアプリケーションに対応するディスプレイ上のシステムオーディオ設定コントロールを生成するステップを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記システムオーディオ設定コントロールを生成するステップは、集中オーディオコントロールディスプレイに対応するディスプレイ上のシステムオーディオ設定コントロールを生成するステップを含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記コンピュータシステムは、オーディオ信号を生成する第２のソフトウェアアプリケーションを含み、
前記オーディオ設定階層を介して、前記第２のソフトウェアアプリケーションからのオーディオ信号の処理に対応するシステムオーディオ設定コントロールを生成するステップと、
前記第２のソフトウェアアプリケーションシステムオーディオ設定コントロールのユーザ操作を取得するステップと、
前記システムオーディオ設定コントロールの前記ユーザ操作に対応する前記オーディオ設定階層内の１つまたは複数のオーディオ設定を調整するステップと
をさらに備えたことを特徴とする請求項１に記載の方法。
【請求項７】
前記システムオーディオ設定コントロールを生成するステップは、前記第２のソフトウェアアプリケーションに対応するディスプレイ上のシステムオーディオ設定コントロールを生成するステップを含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記システムオーディオ設定コントロールを生成するステップは、
集中オーディオコントロールディスプレイでの前記第１のソフトウェアアプリケーションに対応するシステムオーディオ設定コントロールを生成するステップと、
前記集中オーディオコントロールディスプレイでの前記第２のソフトウェアアプリケーションに対応するシステムオーディオ設定コントロールを生成するステップと
を含むことを特徴とする請求項６に記載の方法。
【請求項９】
前記集中コントロールディスプレイ上で第１汎用ソフトウェアアプリケーションオーディオ設定コントロールを生成するステップと、
前記第１汎用ソフトウェアアプリケーションオーディオ設定コントロールのユーザ操作を取得するステップと、
前記ユーザ操作に対応して前記第１のソフトウェアアプリケーションオーディオ設定コントロールを調整するステップと、
前記ユーザ操作に対応して前記第２のソフトウェアアプリケーションオーディオ設定コントロールを調整するステップと
をさらに備えたことを特徴とする請求項８に記載の方法。
【請求項１０】
すべてのソフトウェアアプリケーションボリューム設定を０に調整する第２汎用アプリケーションオーディオ設定コントロールを生成するステップをさらに備えたことを特徴とする請求項８に記載の方法。
【請求項１１】
前記第２汎用アプリケーションオーディオ設定コントロールを修正し、各ソフトウェアアプリケーションボリューム設定を最後の０でない値に復元するステップをさらに備えたことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記集中コントロールディスプレイで前記第１汎用ソフトウェアアプリケーションオーディオ設定コントロールを生成するステップは、任意のオーディオ設定状態を示さないダイヤルとして前記第１汎用ソフトウェアアプリケーションオーディオ設定コントロールを表示するステップを含むことを特徴とする請求項８に記載の方法。
【請求項１３】
前記集中コントロールディスプレイで前記第１汎用ソフトウェアアプリケーションオーディオ設定コントロールを生成するステップは、前記第１のソフトウェアアプリケーションボリューム設定および前記第２のソフトウェアアプリケーションボリューム設定のうちの最も高いボリューム設定を示すマーカーとして前記第１汎用ソフトウェアアプリケーションオーディオ設定コントロールを表示するステップを含むことを特徴とする請求項８に記載の方法。
【請求項１４】
前記フラットボリューム特性ツリーに基づく前記ハードウェアボリューム設定の調整するステップは、前記フラットボリューム特性ツリーを構成する複数のノード内の各ノードの値を、前記各ノードの値を前記各ノードの親ノードの値で割った商に置換することをルートノードの子ノードから最下位ノードまで順に行うことを含むことを特徴とする請求項１に記載の方法。
【請求項１５】
請求項１に記載の方法をコンピュータに実行させるためのコンピュータ実行可能な命令を記録したことを特徴とするコンピュータ読取り可能な記録媒体。
【請求項１６】
オーディオ信号を生成する１つまたは複数のソフトウェアアプリケーションを有し、オーディオ設定階層を含むシステムにおいて、
現在のハードウェアボリューム設定に基づくフラットボリューム特性ツリーを生成するステップと、
第１のソフトウェアアプリケーションシステムオーディオ設定コントロールのユーザ操作を取得するステップであって、前記第１のソフトウェアアプリケーションシステムオーディオ設定コントロールは、前記オーディオ設定階層を介して前記第１のソフトウェアアプリケーションからのオーディオ信号の処理に対応するステップと、
前記ユーザ入力に従って前記フラットボリューム特性ツリーを修正するステップと、
前記フラットボリューム特性ツリーに基づいて前記ハードウェアボリューム設定を調整するステップと
を備え、前記ユーザ操作の前に、現在のハードウェアボリューム設定に基づいてフラットボリューム特性ツリーを生成するステップは、
現在のハードウェアボリューム設定に対応するハードウェア特性ツリーを生成するステップと、
前記ハードウェア特性ツリーをフラットボリューム特性ツリーにマップするステップと、
前記フラットボリューム特性ツリーを構成する複数のノード内の各ノードの値を、前記各ノードの値と前記各ノードの親ノードの値との積に置換することをルートノードの子ノードから最下位ノードまで順に行い、次に、前記フラットボリューム特性ツリーを構成する複数のノード内の各ノードの値を、前記各ノードの全子ノードの値の中の最大値に置換することを最下位ノードの親ノードからルートノードまで順に行うことによって、前記フラットボリューム特性ツリーを最適化するステップと
を含むことを特徴とするシステムオーディオ設定を管理する方法。
【請求項１７】
前記ハードウェア特性ツリーは、ソフトウェアアプリケーションボリューム設定に対応する第１レベルと、チャネルボリューム設定に対応する第２レベルと、メインボリューム設定に対応する第３レベルとを含むことを特徴とする請求項１６に記載の方法。
【請求項１８】
前記フラットボリューム特性ツリーに基づいて前記ハードウェアボリューム設定を調整するステップは、前記フラットボリューム特性ツリーを構成する複数のノード内の各ノードの値を、前記各ノードの値を前記各ノードの親ノードの値で割った商に置換することをルートノードの子ノードから最下位ノードまで順に行うことを含むことを特徴とする請求項１６に記載の方法。
【請求項１９】
請求項１６に記載の方法をコンピュータに実行させるためのコンピュータ実行可能な命令を記録したことを特徴とするコンピュータ読取り可能な記録媒体。
【請求項２０】
オーディオ信号を生成する１つまたは複数のソフトウェアアプリケーションを有し、オーディオ設定階層を含むシステムにおいて、
汎用ソフトウェアアプリケーションオーディオ設定コントロールおよび第１のソフトウェアアプリケーションのシステムオーディオ設定コントロールを含む集中オーディオコントロールディスプレイを生成するステップであって、前記第１のソフトウェアアプリケーションの前記システムオーディオ設定コントロールは、前記オーディオ設定階層を介して前記第１のソフトウェアアプリケーションからのオーディオ信号の処理に対応するステップと、
前記第１のソフトウェアアプリケーションの前記オーディオ設定を調整するためのユーザ指示を取得するステップと、
前記ユーザ指示に対応する前記オーディオ設定階層内の１つまたは複数のオーディオ設定を調整し、前記第１のソフトウェアアプリケーションの前記オーディオ設定を調整するステップと
を備え、前記システムオーディオ設定を調整するステップは、
前記ユーザ操作の前に、現在のハードウェアボリューム設定に基づいてフラットボリューム特性ツリーを生成するステップと、
前記ユーザ入力に従って前記フラットボリューム特性ツリーを修正するステップと、
前記フラットボリューム特性ツリーに基づいて前記ハードウェアボリューム設定を調整するステップと
を含み、前記ユーザ操作の前に、現在のハードウェアボリューム設定に基づいてフラットボリューム特性ツリーを生成するステップは、
現在のハードウェアボリューム設定に対応するハードウェア特性ツリーを生成するステップと、
前記ハードウェア特性ツリーをフラットボリューム特性ツリーにマップするステップと、
前記フラットボリューム特性ツリーを構成する複数のノード内の各ノードの値を、前記各ノードの値と前記各ノードの親ノードの値との積に置換することをルートノードの子ノードから最下位ノードまで順に行い、次に、前記フラットボリューム特性ツリーを構成する複数のノード内の各ノードの値を、前記各ノードの全子ノードの値の中の最大値に置換することを最下位ノードの親ノードからルートノードまで順に行うことによって、前記フラットボリューム特性ツリーを最適化するステップと
を含むことを特徴とするシステムオーディオ設定を管理する方法。
【請求項２１】
前記オーディオ設定階層は、前記第１のソフトウェアアプリケーションによって生成されるオーディオ信号のボリュームに対応するアプリケーションボリュームレベルと、前記コンピュータシステム内のすべてのソフトウェアアプリケーションによって生成されるオーディオ信号のウェーブチャネルボリュームレベルと、前記コンピュータシステム内のすべてのオーディオチャネルによって生成されるオーディオ信号のメインボリュームレベルとを含むことを特徴とする請求項２０に記載の方法。
【請求項２２】
前記第１のソフトウェアアプリケーションシステムオーディオ設定コントロールのオーディオ設定を調整するためのユーザ指示を取得するステップは、前記第１汎用ソフトウェアアプリケーションオーディオ設定コントロールのユーザ操作を取得するステップを含むことを特徴とする請求項２０に記載の方法。
【請求項２３】
すべてのソフトウェアアプリケーションボリューム設定を０に調整する、前記集中オーディオコントロールディスプレイ上の第２汎用アプリケーションオーディオ設定コントロールを生成するステップをさらに備えたことを特徴とする請求項２２に記載の方法。
【請求項２４】
前記第２汎用アプリケーションオーディオ設定コントロールを修正し、各ソフトウェアアプリケーションボリューム設定を最後の０でない値に復元するステップをさらに備えたことを特徴とする請求項２３に記載の方法。
【請求項２５】
汎用ソフトウェアアプリケーションオーディオ設定コントロールおよび第１のソフトウェアアプリケーションのシステムオーディオ設定コントロールを含む集中オーディオコントロールディスプレイを生成するステップは、任意のオーディオ設定状態を示さないダイヤルとして前記第１汎用ソフトウェアアプリケーションオーディオ設定コントロールを表示するステップを含むことを特徴とする請求項２０に記載の方法。
【請求項２６】
前記第１のソフトウェアアプリケーションのオーディオ設定を調整するためのユーザ指示を取得するステップは、前記第１汎用ソフトウェアアプリケーションオーディオ設定コントロールのユーザ操作を取得するステップを含むことを特徴とする請求項２５に記載の方法。
【請求項２７】
汎用ソフトウェアアプリケーションオーディオ設定コントロールおよび第１のソフトウェアアプリケーションのシステムオーディオ設定コントロールを含む集中オーディオコントロールディスプレイを生成するステップは、前記第１のソフトウェアアプリケーションボリューム設定および前記第２のソフトウェアアプリケーションボリューム設定のうちの最も高いボリューム設定を示すマーカーとして前記第１汎用ソフトウェアアプリケーションオーディオ設定コントロールを表示するステップを含むことを特徴とする請求項２０に記載の方法。
【請求項２８】
フラットボリューム特性ツリーに基づく前記ハードウェアボリューム設定の調整するステップは、前記フラットボリューム特性ツリーを構成する複数のノード内の各ノードの値を、前記各ノードの値を前記各ノードの親ノードの値で割った商に置換することをルートノードの子ノードから最下位ノードまで順に行うことを含むことを特徴とする請求項２０に記載の方法。
【請求項２９】
前記第１のソフトウェアアプリケーションに対応するディスプレイ上のシステムオーディオ設定コントロールを生成するステップをさらに備えたことを特徴とする請求項２０に記載の方法。
【請求項３０】
請求項２０に記載の方法をコンピュータに実行させるためのコンピュータ実行可能な命令を記録したことを特徴とするコンピュータ読取り可能な記録媒体。
【請求項３１】
グローバル変数設定を管理する方法であって、
変数階層を介して第１のソフトウェアアプリケーションからの入力信号の処理に対応するグローバル変数コントロールを生成するステップと、
第１のソフトウェアアプリケーションシステムグローバル変数コントロールのユーザ操作を取得するステップと、
前記グローバル変数コントロールの前記ユーザ操作に対応して、変数階層内の１つまたは複数の変数値を調整するステップと
を備え、前記システムオーディオ設定を調整するステップは、
前記ユーザ操作の前に、現在のハードウェアボリューム設定に基づいてフラットボリューム特性ツリーを生成するステップと、
前記ユーザ入力に従って前記フラットボリューム特性ツリーを修正するステップと、
前記フラットボリューム特性ツリーに基づいて前記ハードウェアボリューム設定を調整するステップと
を含み、前記ユーザ操作の前に、現在のハードウェアボリューム設定に基づいてフラットボリューム特性ツリーを生成するステップは、
現在のハードウェアボリューム設定に対応するハードウェア特性ツリーを生成するステップと、
前記ハードウェア特性ツリーをフラットボリューム特性ツリーにマップするステップと、
前記フラットボリューム特性ツリーを構成する複数のノード内の各ノードの値を、前記各ノードの値と前記各ノードの親ノードの値との積に置換することをルートノードの子ノードから最下位ノードまで順に行い、次に、前記フラットボリューム特性ツリーを構成する複数のノード内の各ノードの値を、前記各ノードの全子ノードの値の中の最大値に置換することを最下位ノードの親ノードからルートノードまで順に行うことによって、前記フラットボリューム特性ツリーを最適化するステップと
を含むことを特徴とする方法。
【請求項３２】
前記変数階層は、オーディオ設定階層に対応することを特徴とする請求項３１に記載の方法。
【請求項３３】
前記変数階層は、ビデオ設定階層に対応することを特徴とする請求項３１に記載の方法。
【請求項３４】
前記フラットボリューム特性ツリーに基づく前記変数値の調整するステップは、前記フラットボリューム特性ツリーを構成する複数のノード内の各ノードの値を、前記各ノードの値を前記各ノードの親ノードの値で割った商に置換することをルートノードの子ノードから最下位ノードまで順に行うことを含むことを特徴とする請求項３１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的にはコンピュータソフトウェアおよびユーザインターフェースに関し、より詳細には、コンピュータシステム内でフラットオーディオボリュームコントロールモデルを実装するシステムおよび方法に関する。
【背景技術】
【０００２】
一般的に、様々なコンピュータソフトウェアアプリケーションにおいては、ソフトウェアアプリケーションの機能の一部として、オーディオデータを出力する。オーディオデータを出力するソフトウェアアプリケーションの例として、様々なメディアを再生するマルチメディアソフトウェアアプリケーション、プレゼンテーションの一部としてオーディオデータを生成するプレゼンテーションソフトウェアアプリケーション、およびユーザ対話の一部としてのある種のオーディオ信号を生成する他のソフトウェアアプリケーションがある。１つの通常のコンピューティングシステム環境では、ソフトウェアアプリケーションからのオーディオ信号が、コンピュータシステム内の様々なステージに沿って処理された後にスピーカに達し、ユーザに聴き取り可能な音声に変換される。コンピュータシステムの様々な段階は、１つまたは複数のレベルを有するオーディオ設定階層と考えることができる。オーディオ設定階層内の各レベルはボリューム設定コントロールに対応しており、このためソフトウェアアプリケーションによって生成されるオーディオ信号の総ボリュームに影響する。したがって、ソフトウェアアプリケーションによって生成されるオーディオ信号の総合出力ボリュームは、オーディオ設定階層の各レベルのボリューム設定の積に対応する。
【０００３】
図１は、コンピュータシステム内のオーディオ階層設定を操作する従来のユーザインターフェースの組を表すブロック図である。図１に示すように、第１オーディオ設定コントロールは、ソフトウェアアプリケーションレベルのボリュームコントロール設定に対応する。第２オーディオ設定コントロールもまた、ソフトウェアアプリケーションレベルのミュートコントロールに対応する。第１および第２のオーディオ設定コントロールは、典型的に、オーディオ信号を生成する特定のソフトウェアアプリケーションのユーザインターフェースディスプレイ１００に関連する。例示する例では、第１および第２のコントロールを、ディスプレイ１００上の、ボリューム設定を調節するスライダバー１０２およびミュートコントロール１０４として表すことができる。さらに、第１および第２のオーディオ設定コントロール１０２および１０４は、特定のソフトウェアアプリケーションに関連するものとして図示されているが、これらのコントロールは、ソフトウェアアプリケーションから省略することができる。
【０００４】
続けて図１を参照すると、第３のオーディオ設定コントロール１０８は、すべてのインスタンス化されたソフトウェアアプリケーションによって生成されるすべてのオーディオ信号を処理する、チャネルレベルのボリュームコントロールに対応する。第４のオーディオ設定コントロール１１０は、第３のオーディオ設定コントロール１０８と同一のチャネルレベルのミュートコントロールに対応する。あるオーディオ設定階層では、このレベルは、よくチャネルボリュームと呼ばれる。複数のチャネルが存在しており、それらのチャネルのそれぞれが、「ウェーブチャネル」など、異なる名前を有する場合がある。第３および第４のオーディオ設定コントロール１０８および１１０は、一般には、特定のソフトウェアアプリケーションに直接には関連せず、すべてのソフトウェアアプリケーションからのオーディオ信号の総合出力ボリュームを累積的に制御するのに使用される。図１に示すように、第３および第４のオーディオ設定コントロールは、一般には、ある種の集中ユーザインターフェースディスプレイ１０６に関連し、ディスプレイ上でボリューム設定を調整するスライダバー１０８およびミュートコントロール１１０として表すことができる。
【０００５】
図１の参照を続けると、第５のオーディオ設定コントロール１１２は、ソフトウェアアプリケーションですべてのチャネルによって生成されるすべてのオーディオ信号を処理するメインボリューム設定に対応する。一般のオーディオ設定階層では、このレベルは、よくメインボリュームまたはマスタボリュームと呼ばれる。第６のオーディオ設定コントロール１１４は、第５のオーディオ設定コントロール１１２と同一のメインボリュームレベルのミュートコントロールに対応する。第３および第４のオーディオ設定コントロールと同様に、第５および第６のオーディオ設定コントロールは、一般には、特定のソフトウェアアプリケーションに直接には関連せず、コンピュータシステムによって処理されるすべてのオーディオチャネルのボリューム設定を調整するのに使用される。図１に示すように、第５および第６のオーディオ設定コントロールは、一般には、ある種の集中ユーザインターフェースディスプレイ１０６に関連し、ディスプレイ上でボリューム設定を調整するスライドバー１１２およびミュートコントロール１１４として表すことができる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
当業者は、６つの図示されたオーディオ設定コントロールのいずれかのユーザ操作が、特定のソフトウェアアプリケーションのオーディオ信号の総合出力ボリュームに影響し得ることを理解するであろう。したがって、一般のオーディオ設定階層のレベルの数に関わりなく、いずれの１つのコントロールも、特定のソフトウェアアプリケーションがオーディオ信号の総合出力ボリュームを完全に制御することはできない。各コントロールは、総合出力ボリュームを下げることができるが、コントロールは、他のコントロールによって設定される限度を超えて出力ボリュームを増やすことはできない。特に、「ミュート」または「０ボリューム」コントロールが使用されている場合に、他のどのボリュームを調整しても、効果はでない。さらに、多くの場合、コンピュータユーザは、一時に複数のソフトウェアアプリケーションをインスタンス化させて、その複数のソフトウェアアプリケーションがオーディオ信号データを生成することができるようにすることができる。ウェーブチャネルによって変化する任意のアプリケーションについての最大の出力ボリュームを得るために、ユーザは、そのチャネルのボリューム設定を最大にしなければならない。しかし、あるオーディオ設定コントロールのユーザ操作は、他のソフトウェアアプリケーションのオーディオ信号の総合出力ボリュームを変化することになるという望ましくない効果も有する可能性がある。たとえば、第３または第４のオーディオ設定コントロール（たとえば、ウェーブチャネルコントロール）のユーザ操作は、ウェーブチャネルを介して処理されるすべてのソフトウェアアプリケーションオーディオ信号の総合出力ボリュームを調整することになる。非常に多くのオーディオ設定コントロールが、ソフトウェアアプリケーションオーディオ信号の総合出力ボリュームに影響する可能性があるので、ユーザは、しばしば、どのオーディオ設定コントロールによって所望の効果が達成されるかを判定できなくなる。たとえば、ユーザは、メインオーディオコントロール、チャネルオーディオコントロール、およびソフトウェアアプリケーションボリュームコントロールのボリュームスライドバーを操作して、総合出力ボリュームを増やして、ミュートコントロールの１つがボリュームスライドバーの設定を打ち消していることに気付くかもしれない。したがって、オーディオ設定コントロールを制御する現在のインターフェースの組は、ソフトウェアアプリケーションのオーディオ信号総合出力ボリュームの表現をユーザに提示し、複数のソフトウェアアプリケーションのオーディオ信号総合出力ボリュームを制御するためには非効率的である可能性がある。
【０００７】
したがって、様々なオーディオ設定コントロールの積としてオーディ信号総合出力ボリュームをモデル化するシステムおよび方法の必要がある。
【課題を解決するための手段】
【０００８】
ソフトウェアアプリケーションオーディオ信号のフラットボリュームモデルを実施するシステムおよび方法を提供する。コンピュータシステムが、オーディオ設定階層から得られる現在のハードウェア／ソフトウェア値に基づいて、フラットボリューム特性ツリー（ｆｌａｔ  ｖｏｌｕｍｅ  ｃｈａｒａｃｔｅｒｉｓｔｉｃｓ  ｔｒｅｅ）を生成する。コンピュータシステムは、フラットボリューム特性ツリーを最適化し、最適化された値を、新しいオーディオ階層設定に変換する。コンピュータシステムは、ソフトウェアアプリケーションのフラットボリューム設定を表すユーザインターフェースを生成することができる。フラットボリューム設定に対する調整は、フラットボリューム特性ツリーおよびオーディオ設定階層に対する修正をもたらす。
【０００９】
本発明の一態様によれば、システムオーディオ設定を管理する方法が提供される。この方法は、オーディオ信号を生成する１つまたは複数のソフトウェアアプリケーションを有するシステムで実施することができる。このシステムに、１つまたは複数のソフトウェアアプリケーションからのオーディオ信号を処理するオーディオ設定階層も含めることができる。この方法によれば、システムは、第１のソフトウェアアプリケーションからのオーディオ信号のオーディオ設定階層を介する処理に対応するシステムオーディオ設定コントロールを生成する。システムは、第１のソフトウェアアプリケーションシステムオーディオ設定コントロールのユーザ操作を取得する。さらに、システムは、システムオーディオ設定コントロールのユーザ操作に対応して、オーディオ設定階層内の１つまたは複数のオーディオ設定を調整する。
【００１０】
本発明のもう１つの態様によれば、システムオーディオ設定を管理する方法が提供される。この方法は、オーディオ信号を生成する１つまたは複数のソフトウェアアプリケーションを有するシステムで実施することができる。このシステムには、１つまたは複数のソフトウェアアプリケーションからのオーディオ信号を処理するオーディオ設定階層も含めることができる。この方法によれば、システムは、現在のハードウェアボリューム設定に基づいてフラットボリューム特性ツリーを生成する。システムは、第１のソフトウェアアプリケーションシステムオーディオ設定コントロールのユーザ操作を取得する。第１のソフトウェアアプリケーションシステムオーディオ設定コントロールは、第１のソフトウェアアプリケーションからのオーディオ信号のオーディオ設定階層を介する処理に対応する。システムは、ユーザ入力に従ってフラットボリューム特性ツリーを修正し、フラットボリューム特性ツリーに基づいてハードウェアボリューム設定を調整する。
【００１１】
本発明のもう１つの態様によれば、システムオーディオ設定を管理する方法が提供される。この方法は、オーディオ信号を生成する１つまたは複数のソフトウェアアプリケーションを有するシステムで実施することができる。システムは、１つまたは複数のソフトウェアアプリケーションからのオーディオ信号を処理するオーディオ設定階層も含むことができる。この方法によれば、システムは、汎用ソフトウェアアプリケーションオーディオ設定コントロールおよび第１のソフトウェアアプリケーションのシステムオーディオ設定コントロールを含む集中オーディオコントロールディスプレイを生成する。第１のソフトウェアアプリケーションに対するシステムオーディオ設定コントロールは、第１のソフトウェアアプリケーションからのオーディオ信号のオーディオ設定階層を介する処理に対応する。システムは、第１のソフトウェアアプリケーションのオーディオ設定を調整するユーザ指示を取得し、第１のソフトウェアアプリケーションのオーディオ設定を調整するユーザ指示に対応するオーディオ設定階層内の１つまたは複数のオーディオ設定を調整する。
【００１２】
本発明のさらにもう１つの態様によれば、グローバル変数設定を管理する方法が提供される。システムが、第１のソフトウェアアプリケーションからの入力信号の変数階層を介する処理に対応するグローバル変数コントロールを生成する。システムは、第１のソフトウェアアプリケーションシステムグローバル変数コントロールのユーザ操作を取得する。さらに、システムは、グローバル変数コントロールのユーザ操作に対応する変数階層内の１つまたは複数の変数値を調整する。
【００１３】
本発明の前述の態様およびこれに伴う長所の多くは、添付図面と共に以下の詳細な説明を参照することによってよりよく理解されるので、これは、すぐに理解されるであろう。
【発明を実施するための最良の形態】
【００１４】
本発明は、一般的に言うと、通常フラットボリュームモデルと呼ばれるソフトウェアアプリケーションオーディオ信号総合出力ボリュームをモデル化するシステムおよび方法に関する。具体的には、本発明は、オーディオ設定階層においてソフトウェアアプリケーションのフラットボリュームモデルを実装するシステムおよび方法に関する。本発明は、典型的なオーディオ信号総合出力ボリュームであるフラットボリューム設定の判定、およびフラットボリューム設定に対応するオーディオ設定階層内のハードウェア／ソフトウェア設定の最適化に対応しているということができる。さらに、本発明のもう１つの態様は、ソフトウェアアプリケーションオーディオ信号のフラットボリュームモデルを表す様々なユーザインターフェースに関する。本発明を、例示的なオーディオ設定階層、オーディオ設定値、様々なユーザインターフェース、およびユーザ対話に関して説明するが、当業者は、開示される実施形態が、性質において例示的であり、制限と解釈してはならないことを理解するであろう。
【００１５】
当業者は、本発明の諸態様を、ある形のユーザインターフェースを含む１つまたは複数のソフトウェアアプリケーションを含むコンピュータシステムで実施できることを理解するであろう。このコンピュータシステムは、パーソナルコンピュータ、サーバベースのコンピュータ、ハンドヘルドコンピュータ、モバイルコンピュータ、携帯情報端末、携帯電話、オーディオ処理機器（ミキサ装置およびサンプリング装置など）および類似物など、幅広く様々なコンピューティング装置に対応することができる。さらに、上述のとおり、このコンピュータシステムに含まれるソフトウェアアプリケーションは、ユーザがボリューム設定を操作できるようコントロールを表示するソフトウェアアプリケーションに対応することができる。加えて、このコンピュータシステムに含まれるソフトウェアアプリケーションは、オーディオ信号を生成するが、ユーザがボリューム設定を操作できるコントロールを表示しないソフトウェアアプリケーションにも対応することもできる。
【００１６】
図２は、本発明による、ソフトウェアアプリケーションオーディオ信号に対しフラットボリュームフレームワークを実装する、コンピュータシステムによって実行されるフラットボリュームコントロール処理ルーチン２００を示すフローチャートである。ブロック２０２で、コンピュータシステムは、フラットボリューム特性ツリーを生成する。下記で詳細に説明するように、フラットボリューム特性ツリーは、コンピュータシステムオーディオ設定階層に基づくツリー構造である。後述するように、フラットボリューム特性ツリー内のノードの初期値は、コンピュータシステムオーディオ設定階層内の現在のハードウェア／ソフトウェアボリューム設定に対応する。
【００１７】
図３は、本発明による、図２のブロック２０２に対応する、コンピュータシステムによって実行されるフラットボリューム特性ツリー生成サブルーチン３００を示すフローチャートである。ブロック３０２で、コンピュータシステムが、現在のボリュームコントロール設定に基づいてフラットボリューム特性ツリーを生成する。当業者は、ボリュームコントロール設定値を、各ボリュームコントロールを介して渡されるボリューム信号の比率として表すことができることを理解するであろう。たとえば、１００％のボリュームコントロール値によって、ボリューム信号のすべてが渡され、０％ボリュームコントロール設定によって、ボリューム信号が一切渡されない。図４Ａは、現在のボリュームコントロール設定値に対応する３レベルフラットボリューム特性ツリー４００のブロック図である。このツリーの第１レベルに、メインボリュームコントロール設定に対応するトップノード４０２が含まれる。本発明の例示の実施形態では、トップノード４０２の値が、メインボリュームの現在のボリュームコントロール設定に対応する。さらに、トップノード４０２の値によって、ミュートコントロールがインスタンス化される時に、「０」の値を有するミュートコントロールの設定を反映することもできる。
【００１８】
フラットボリューム特性ツリー４００に、入力チャネルに対応し、３つのノード４０４、４０６、および４０８を含む第２レベルも含めることができる。トップノード４０２同様、ノード４０４、４０６、および４０８の値は、それぞれの入力チャネルのボリュームコントロールの現在の設定に対応する。さらに、ノード４０４、４０６、および４０８の値によって、それぞれの入力チャネル各々のミュートコントロールの設定も反映することができる。図４Ａの参照を続けると、フラットボリューム特性ツリー４００には、ソフトウェアアプリケーションボリューム設定に対応し、６つのノード４１０、４１２、４１４、４１６、４１８、および４２０を含む第３レベルも含まれる。ノード４１０、４１２、４１４、４１６、４１８、および４２０は、フラットボリューム特性ツリー４００のリーフノードであり、これらには、それぞれのソフトウェアアプリケーション各々でのボリューム設定に対する現在の設定に対応する値が含まれ、これに、ミュートコントロール値を含めることができる。図４Ａからわかるように、ノード４１０、４１２、４１４、４１６、４１８、および４２０は、リーフノードであり、子ノードを有さない。図４Ｂは、例示としてフラットボリューム特性ツリー４００内の各ノードの例示的な値を含む図４Ａのブロック図である。当業者は、ノード４０２から４２０に示された値が、事実上例示的であり、本発明による様々なプロセスを例示するのに使用されることを理解するであろう。加えて、当業者は、コンピュータシステムが、オーディオ設定階層内に任意の数のレベルを有することができることを理解するであろう。したがって、フラットボリューム特性ツリーは、対応する数のレベルを有するはずである。さらに、ソフトウェアアプリケーションに、アプリケーションレベルボリュームコントロールが含まれない場合に、その特定のソフトウェアアプリケーションの対応するレベルのノードは、フラットボリューム特性ツリーに含まれない。
【００１９】
図３を再び参照すると、コンピュータシステムは、フラットボリューム特性ツリー値を、現在のハードウェアオーディオ設定階層値からフラットボリュームモデルへの変換を開始する。ブロック３０４において、コンピュータシステムは、親ノード値に従ってフラットボリューム特性ツリー４００を変換する。親ノード値に基づくフラットボリューム特性ツリー４００の変換を、サブルーチン５００（図５）に関して下記で説明する。ブロック３０６において、コンピュータシステムは、子ノード値に基づいてフラットボリューム特性ツリー４００を変換することによって変換処理を継続する。子ノード値に基づくフラットボリューム特性ツリー４００の変換は、サブルーチン６００（図６）に関連し手後述する。変換の完了時に、サブルーチン３００は戻ってくる。
【００２０】
図５は、本発明によってコンピュータシステムにより実行される親ノード値に基づくフラットボリューム特性ツリー変換サブルーチン５００を示すフローチャートである。より具体的には、サブルーチン５００は、トップダウンフラットボリューム特性ツリー変換サブルーチンに対応する。ブロック５０２で、処理に関する現在のノードとしてトップレベルノードを設定する。ブロック５０４で、現在のノード値に、現在のノード値と親ノードの値の積を設定する。判断ブロック５０６でテストを行って、フラットボリューム特性ツリー４００の現在のレベルに追加ノードが存在するかどうかを判定する。現在のレベルに追加ノードが存在する場合には、ブロック５０８で、現在のレベルの次のノードを現在のノードとして設定し、サブルーチン５００はブロック５０４に戻る。
【００２１】
現在のレベルに追加ノードが存在しない場合には、判断ブロック５１０で、テストを行って、フラットボリューム特性ツリー４００の次のレベルに追加のノードが存在するかどうかを判定する。次のレベルにノードが存在する場合には、ブロック５１２で、フラットボリューム特性ツリー４００の次のレベルの最初のノードを、現在のノードとして設定し、サブルーチン５００はブロック５０４に戻る。これと異なり、フラットボリューム特性ツリー４００の次のレベルに追加ノードが存在しない場合には、サブルーチン５００は、ブロック５１４で戻ってくる。
【００２２】
図４Ｂおよび４Ｃは、サブルーチン５００の２つの反復を示す、フラットボリューム特性ツリー４００のブロック図である。図４Ｂからわかるように、ノード４０４、４０６、および４０８の値は、そのノードとその親ノード４０２の積の値に置換されている。図４Ｃを参照すると、サブルーチン５００の第２の反復で、ノード４１０、４１２、４１４、４１６、４１８、および４２０の値は、そのノードとそれぞれの親ノード４０４、４０６、および４０８の積に置換されている。フラットボリューム特性ツリー４００には、これ以外のレベルがないので、サブルーチン５００は戻ってくる。
【００２３】
図６は、本発明による、コンピュータシステムによって実施される子ノード値に基づくフラットボリューム特性ツリー変換サブルーチン６００を示すフローチャートである。より具体的には、サブルーチン６００は、ボトムアップフラットボリューム特性ツリー変換サブルーチンに対応する。ブロック６０２で、最下位レベルノードを、処理に関する現在のノードとして設定する。ブロック６０４で、現在ノードの値に、現在のノードのすべての子ノードの最大値を設定する。判断ブロック６０６で、テストを行って、フラットボリューム特性ツリー４００の現在のレベルに追加ノードが存在するか否かを判定する。追加ノードが存在する場合には、ブロック６０８で、現在レベルの次のノードを現在のノードとして設定し、サブルーチン６００はブロック６０４に戻る。
【００２４】
現在のレベルに追加ノードが存在しない場合には、判断ブロック６１０で、テストを行ってフラットボリューム特性ツリー４００の次のレベルに追加ノードが存在するかどうかを判定する。次のレベルにノードが存在する場合に、ブロック６１２で、フラットボリューム特性ツリー４００の次のレベルの最初のノードを、現在のノードとして設定し、サブルーチン６００はブロック６０４に戻る。一方、フラットボリューム特性ツリー４００の次のレベルに追加ノードが存在しない場合は、サブルーチン６００は、ブロック６１４で戻ってくる。
【００２５】
図４Ｄおよび４Ｅは、サブルーチン６００の２つの反復を示すフラットボリューム特性ツリー４００のブロック図である。図４Ｄに示すように、ノード４０４の値は、その子ノードの最大値すなわちノード４１０の値に置換されている。同様に、ノード４０６および４０８の値は、その子ノードの最大値に置換されている。図４Ｅを参照すると、サブルーチン６００の第２の反復で、ノード４０２の値は、その子の最大値すなわち、ノード４０４の値に置換されている。ノードを有する追加のレベルがないことから、サブルーチン６００は戻ってくる。
【００２６】
再び図２を参照すると、一旦ブロック２０２でフラットボリューム特性ツリー４００が生成され、変換されると、各ソフトウェアアプリケーションの総合出力ボリュームは、フラットボリューム設定コントロールによって表すことができる。本発明の例示の実施形態では、フラットボリューム設定が、フラットボリューム特性ツリー４００（図４）の各リーフノードの値に対応する。しかし、フラットボリューム設定は、オーディオ設定階層のハードウェア／ソフトウェアオーディオ設定に直接には対応しないので、ブロック２０４で、フラットボリューム特性ツリーに基づいて新しいオーディオ階層設定値を生成する。
【００２７】
図７は、本発明による、コンピュータシステムによって実行されるフラットボリューム特性ツリーからハードウェアオーディオ設定階層への変換サブルーチン７００を示すフローチャートである。より具体的に言うと、サブルーチン７００は、フラットボリューム特性ツリーノード値をオーディオ設定階層にマップするトップダウンのオーディオ設定階層変換サブルーチンに対応する。ブロック７０２で、処理に関する現在のノードとしてトップレベルノードを設定する。ブロック７０４で、現在のノード値を親ノード値で割った商を現在のノード値に設定する。判断ブロック７０６でテストを行って、フラットボリューム特性ツリーの現在のレベルに追加ノードが存在するかどうかを判定する。現在のレベルに追加ノードが存在する場合には、ブロック７０８で、現在のレベルの次のノードを、現在のノードとして設定し、サブルーチン７００はブロック７０４に戻る。
【００２８】
現在のレベルに追加ノードが存在しない場合には、判断ブロック７１０で、テストを行って、フラットボリューム特性ツリーの次のレベルに追加ノードが存在するかどうかを判定する。次のレベルにノードが存在する場合に、ブロック７１２で、フラットボリューム特性ツリーの次のレベルの最初のノードを、現在のノードとして設定し、サブルーチン７００は、ブロック７０４に戻る。その代わりに、フラットボリューム特性ツリーの次のレベルに追加ノードが存在しない場合は、サブルーチン７００はブロック７１４で戻ってくる。
【００２９】
図４Ｆおよび４Ｇは、サブルーチン７００の２つの反復を示す、フラットボリューム特性ツリー４００のブロック図である。図４Ｆからわかるように、ノード４０２はトップノードであり、親ノードを有しないので、ノード４０２の値は、「１」に修正されている。さらに、ノード４０４、４０６、および４０８の値が、そのノードをその親ノード４０２で割った商の値に置換されている。図４Ｇを参照すると、サブルーチン７００の第２の反復で、ノード４１０、４１２、４１４、４１６、４１８、および４２０の値が、そのノードをそのそれぞれの親ノード４０４、４０６、および４０８で割った商に置換されている。フラットボリューム特性ツリー４００には他のレベルが残っていないので、サブルーチン７００は戻ってくる。
【００３０】
図２に戻ると、ブロック２０６で、コンピュータシステムが、ソフトウェアアプリケーションに関するフラットボリュームコントロールを表す１つまたは複数のユーザインターフェースを生成する。本発明の例示の実施形態では、ソフトウェアアプリケーションのフラットボリュームコントロールは、ソフトウェアアプリケーションによって生成されるオーディオ信号の総合出力ボリュームに対応する単一のボリューム設定コントロールに対応する。フラットボリュームコントロールは、必ずしも、従来のコンピュータオーディオ設定階層のボリューム設定に対応しないのである。本発明の一実施形態では、フラットボリュームコントロールを、ソフトウェアアプリケーションの１つまたは複数のスクリーンディスプレイにいれることができる。フラットボリュームコントロールの位置は、従来のソフトウェアアプリケーションボリューム設定コントロールが配置される位置と同様にすることができる。本発明のもう１つの実施形態では、フラットボリュームコントロールを、複数のソフトウェアアプリケーションのフラットボリューム設定を制御する集中ボリュームコントロールディスプレイに配置することができる。
【００３１】
図８Ａは、本発明による、コンピュータシステムによって生成される集中オーディオコントロールディスプレイ８００を示すブロック図である。集中オーディオコントロールディスプレイ８００には、複数のソフトウェアアプリケーションのフラットボリュームコントロール設定を操作する第１汎用ソフトウェアアプリケーションオーディオ設定コントロール８０２が含まれる。本発明の例示の実施形態では、第１汎用ソフトウェアアプリケーションオーディオ設定コントロール８０２は、ダイヤルの形式であって、ユーザがそれを操作してフラットボリュームコントロール設定を増減させることができる。図８Ａからわかるように、ダイヤルとして、第１汎用ソフトウェアアプリケーションオーディオ設定コントロール８０２は、任意の特定のボリューム状態を示さない。集中オーディオコントロールディスプレイ８００には、複数のソフトウェアアプリケーションのすべてのフラットボリュームコントロール設定のミュート機能を制御する第２汎用ソフトウェアアプリケーションオーディオ設定コントロール８０４も含まれる。本発明の例示の実施形態では、第２汎用ソフトウェアアプリケーションオーディオ設定コントロール８０４は、ユーザがコントロールを選択または選択解除できるようにする任意のユーザインターフェースに対応するものとすることができる。
【００３２】
集中オーディオコントロールディスプレイ８００は、コンピュータシステム上の様々なソフトウェアアプリケーションのフラットボリュームコントロール設定を追跡する複数の追加のディスプレイも備える。そのソフトウェアアプリケーションは、インスタンス化されたソフトウェアアプリケーション、お気に入りのソフトウェアアプリケーション、最近インスタンス化されたソフトウェアアプリケーション、および任意の他の選択されたソフトウェアアプリケーションに対応するものとすることができる。図８Ａからわかるように、３つのソフトウェアアプリケーションのフラットボリューム設定コントロールが、集中オーディオコントロールディスプレイ８００上に表されている。各表現に、ソフトウェアアプリケーションのフラットボリュームの可能な範囲を示すスライダバー８０６、８１０、および８１４と、ソフトウェアアプリケーションの現在のフラットボリューム設定のインジケータ８０８、８１２、および８１６が含まれる。当業者は、フラットボリューム設定の現在の状態を、多数の形で表現できることを理解するであろう。
【００３３】
再び図２を参照すると、ルーチン２００は、様々なソフトウェアアプリケーションのフラットボリューム設定をモデル化し、ユーザインターフェースで表現すると、フラットボリューム設定が修正されたことを検出し、それに応じてハードウェア設定を調整する反復ループに入る。図２に示すように、判断ブロック２０８で、テストを行って、フラットボリュームコントロールが調整されたかどうかを判定する。本発明の一実施形態では、個々のソフトウェアアプリケーションのフラットボリュームコントロールを、特定のソフトウェアアプリケーションに対応するフラットボリュームスライダのユーザ操作によって調整することができる。さらに、複数のソフトウェアアプリケーションのフラットボリュームコントロールを、下記で詳細に説明するように、汎用ソフトウェアアプリケーションオーディオ設定コントロール８０２および８０４を操作することによって調整することができる。当業者は、後述するユーザインターフェース内などのフラットボリュームインジケータの調整により、フラットボリューム特性ツリー４００内の特定のソフトウェアアプリケーションを表すノードの値が修正されることを理解するであろう。
【００３４】
調整されたことが検出されない場合には、ルーチン２００は、判断ブロック２０８にループバックする。またはそれに代えて、フラットボリューム調整されたことが検出される場合、ブロック２１０で、コンピュータシステムが、検出された調整に従ってフラットボリューム特性ツリー４００を調整する。本発明の例示の実施形態では、フラットボリューム特性ツリー４００の調整を、サブルーチン５００およびサブルーチン６００に示すようにフラットボリューム特性ツリー全体の最適化に対応するものとすることができる。またはそれに代えて、本発明のもう１つの実施形態では、フラットボリューム特性ツリーの調整に対応させて、修正されたフラットボリューム特性ノード値によって変化するツリーの枝を部分的に処理するようにすることができる。一旦フラットボリューム特性ツリー４００が調整されると、ブロック２１２で、コンピュータシステムは、調整されたフラットボリューム特性ツリーの値に従ってオーディオ設定階層を調整する。本発明の例示の実施形態では、サブルーチン７００を実行して、新しいオーディオ設定階層値を判定することができる。その後、サブルーチン２００は判断ブロック２１０に戻って、任意の新しいフラットボリュームコントロール設定調整を検出する。
【００３５】
図８Ｂおよび８Ｃを参照して、汎用ソフトウェアアプリケーションオーディオ設定コントロール８０２および８０４を介する複数のソフトウェアアプリケーションフラットボリュームコントロールを調整する実施形態を説明する。図８Ｂを参照すると、フラットボリュームコントロール設定を増やすために、第１汎用ソフトウェアアプリケーションオーディオ設定コントロール８０２を、フラットボリュームコントロール設定の正の増分について指定された方向に操作することができる。本発明の例示の実施形態では、ユーザは、マウスなどのユーザ入力装置を使用して、ある方向にダイヤルを回転させることができる。ダイヤルの回転によって、ダイヤルが、あるステップなど、事前定義の距離だけ回転するようにする。これに替えて、回転を連続的にすることができる。
【００３６】
本発明の例示の一実施形態では、汎用ソフトウェアアプリケーションオーディオ設定コントロール８０２の回転の距離によって、インジケータ８０８、８１２、および８１６が、同一の方向に移動する。インジケータ８０８、８１２、および８１６の移動は、それぞれの前の値に対しある比率に対応するものとすることができる。たとえば、ダイヤル８０２の１増分の移動を、最大のインジケータ、インジケータ８０８の値の等しい増分に対応させることができる。インジケータ８０８の移動が、係数Ｘによる増分に対応する場合に、他のインジケータ８１２および８１６が、同一の係数Ｘによる増大を表すように移動する。またはそれに代えて、インジケータ８０８、８１２、および８１６の移動を、ダイヤル８０２の移動のより大きい、またはより小さい異なる比率に対応させることができる。たとえば、２増分のダイヤル８０２の移動／回転を、単一増分だけのインジケータ８０８、８１２、および８１６の移動に対応させることができる。
【００３７】
本発明の例示の一実施形態では、インジケータ８０８、８１２、および８１６のすべてが、汎用ソフトウェアアプリケーションオーディオ設定コントロール８０２の各回転に合わせ、お互いに関連させて、比例する距離だけ移動する。たとえば、ダイヤル８０２の移動を、インジケータ８０８の移動と等しくなるよう対応付けることができる。インジケータ８０８の値が４０％だけ増やされた場合に、インジケータ８１２および８１６の値は、４０％だけ増やされる。さらに、本発明の例示の一実施形態では、インジケータの１つが最大値などの閾値に達したならば、汎用ソフトウェアアプリケーションオーディオ設定コントロール８０２の回転によるインジケータ値がそれ以上の増加するのを禁止し、ソフトウェアアプリケーションインジケータ８０８、８１２、および８１６の間のフラットボリューム設定の相対的な差を維持する。または、他のインジケータが、個別に最大値に達するまで移動し続けることができる。
【００３８】
図８Ｃを参照すると、フラットボリュームコントロール設定を減らすために、第１汎用ソフトウェアアプリケーションオーディオ設定コントロール８０２を、フラットボリュームコントロール設定の負の増分について指定された方向に操作することができる。図８Ｂ同様、本発明の例示の一実施形態では、ユーザは、第１汎用ソフトウェアアプリケーションオーディオ設定コントロール８０２を操作して、各フラットボリュームインジケータ８０８、８１２、および８１６をそれに応じて減らすことができる。さらに、ユーザは、第２汎用ソフトウェアアプリケーションオーディオ設定コントロール８０４を操作して、すべてのインジケータ８０８、８１２、および８１６を自動的に０の値まで減らすことができる。本発明の例示の一実施形態では、第１汎用ソフトウェアアプリケーションオーディオ設定コントロール８０２を、１方向に回転し続けて、すべてのインジケータが０の値に達するまでフラットボリュームコントロール設定を減らすことができる。さらに、本発明の例示の一実施形態では、すべてのインジケータ８０８、８１２、および８１６が０値のマークに達したならば、第２汎用ソフトウェアアプリケーションオーディオ設定コントロール８０４を修正して、ユーザがインジケータ値を最後の０でない設定に復元することができる。
【００３９】
図９は、フラットボリュームコントロールを操作する集中オーディオコントロールディスプレイ９００のための別の実施形態を示すブロック図である。集中オーディオコントロールディスプレイ８００同様、集中オーディオコントロールディスプレイ９００には、コンピュータシステムの様々なソフトウェアアプリケーションのフラットボリュームコントロール設定を追跡する複数のディスプレイが含まれる。各表現に、ソフトウェアアプリケーションのフラットボリュームの可能な範囲を示すスライダバー９０６、９１０、および９１６と、ソフトウェアアプリケーションの現在のフラットボリューム設定のインジケータ９０８、９１２、および９１４が含まれる。さらに、集中オーディオコントロールディスプレイ９００には、ソフトウェアアプリケーションのフラットボリュームコントロール設定を制御する第１および第２の汎用ソフトウェアアプリケーションオーディオ設定コントロール９０２および９０４が含まれる。本発明の例示の一実施形態では、第１汎用ソフトウェアアプリケーションオーディオ設定コントロール９０２は、ボリュームスライダバーの形式である。ボリュームスライダバーのインジケータは、集中オーディオコントロールディスプレイ９００のすべてのインジケータ９０８、９１２、および９１４の最大値に対応する。しかし、上記で説明したように、第１および第２の汎用ソフトウェアアプリケーションオーディオ設定コントロールの操作によって、個々のインジケータ９０８、９１２、および９１４の調整をすることができる。
【００４０】
図１０Ａから１０Ｄは、本発明による個々のアプリケーションボリュームコントロールで様々なオーディオ設定コントロール値を表す別の実施形態を示すブロック図である。この実施形態によれば、アプリケーションは、フラットボリュームコントロールをサポートしないオペレーティングシステム上でフラットボリュームの実施形態を実装することができる。図１０Ａを参照すると、個々のソフトウェアアプリケーションボリュームコントロールを、グラフィカルユーザインターフェース１０００上で、スライダコントロール１００４として表すことができる。グラフィカルユーザインターフェース１０００を、ソフトウェアアプリケーションだけに関連付けられるインターフェースに対応するものとすることができる。またはそれに代えて、このインターフェースを、ある集中コントロールに対応するものとすることができる。グラフィカルユーザインターフェース１０００には、メインオーディオボリュームのレベルに対応するメインオーディオボリュームインジケータ１００６も含まれる。図１０Ａに示すように、スライダコントロール１００４は、アプリケーションボリュームの最大値の約４０％のところにあり、メインボリュームインジケータ１００６は、最大システムボリュームの約７０％のところにある。したがって、グラフィカルユーザインターフェース１０００は、ユーザに、アプリケーションボリュームレベルと、それがメインボリューム設定によってどのような影響を受けるかを表す。
【００４１】
図１０Ｂおよび１０Ｃを参照すると、スライダコントロール１００４が、メインオーディオボリュームインジケータ１００６のレベルに達するように操作される場合に（図１０Ｂ）、スライダコントロール１００４の追加の操作によって、メインオーディオボリュームインジケータ１００６のレベルが増える（図１０Ｃ）。本発明の例示の実施形態では、メインオーディオボリュームインジケータ１００６の増加は、コンピュータシステムのメインオーディオボリューム設定を増やすという効果を有する。したがって、図１０Ｄに示されているように、メインオーディオボリュームインジケータ１００６は、スライダコントロール１００４が下方に調整された場合であっても、新しいレベルに留まる。したがって、ユーザは、スライダコントロールがメインオーディオボリュームインジケータ１００６の下にある限り、スライダコントロール１００４を操作して、アプリケーションボリュームを調整することができる。またはそれに代えて、ユーザがスライダコントロール１００４を下方にドラッグする時に、メインオーディオボリューム１００６を減らすことができる。スライダコントロール１００４が、メインオーディオボリュームインジケータ１００６の上に調整される場合に、メインオーディオボリュームも調整され、他のアプリケーションの総合ボリュームレベルに影響を与えることができる。
【００４２】
図１１および１２を参照して、フラットボリュームコントロールを実施する別のユーザインターフェースを説明する。図１１を参照すると、代わりのユーザインターフェース１１００に、複数の属性を制御する２つのコントロールを含めることができる。本発明の例示の一実施形態によれば、このコントロールに、汎用ソフトウェアアプリケーションオーディオ設定コントロール８０２（図８）に類似する形で複数のアプリケーションのフラットボリュームコントロールをグローバルに調整するように動作することができるメインボリュームコントロール１１０２を含めることができる。さらに、このコントロールに、単一のソフトウェアアプリケーションに対応する個々のフラットボリュームコントロール１１０４を含めることができる。この例示の実施形態によれば、メインオーディオコントロール１１０２を、第１オーディオスケールに沿って調整することができる。さらに、フラットボリュームコントロール１１０４を、メインオーディオコントロール１１０２に影響しない形で、第２スケールに沿ってさらに調整することができる。代替案では、フラットボリュームコントロール１１０４が最大点または最小点に達したならば、フラットボリュームコントロール１１０４のさらなる操作によって、メインオーディオコントロール１１０２の調整がもたらされる。ユーザインターフェース１１００を、フラットボリュームコントロールモデルに関して説明したが、当業者は、このコントロールを、従来のオーディオボリュームコントロールおよび／または他のタイプの属性コントロールに対応するものとすることができることを理解するであろう。
【００４３】
図１２を参照すると、もう１つの実施形態で、別のユーザインターフェース１２００に、複数の属性を制御する２つのコントロールを含めることができる。ユーザインターフェース１１００（図１１）同様、このコントロールには、複数のアプリケーションのフラットボリュームコントロールをグローバルに調整するように動作することができるメインボリュームコントロール１２０６を含めることができる。さらに、このコントロールに、単一のソフトウェアアプリケーションに対応する個々のフラットボリュームコントロール１２０４を含めることができる。この例示の実施形態によれば、メインオーディオコントロール１２０６およびフラットボリュームコントロール１２０４は、ダイヤルの回転に似た形で調整される円形コントロールに対応する。フラットボリュームコントロール１２０４の調整は、メインボリュームコントロール１２０６に影響しない形で実施することができる。またはこれに替えて、フラットボリュームコントロール１２０４が、最大点または最小点に達すると、フラットボリュームコントロール１２０４のさらなる操作によって、メインオーディオコントロール１２０６の調整がなされる。ユーザインターフェース１２００を、フラットボリュームコントロールモデルに関して説明したが、当業者は、このコントロールを、従来のオーディオボリュームコントロールおよび／または他のタイプの属性コントロールに対応するものとすることができることを理解するであろう。さらに、第２ダイヤルの上に第１ダイヤルを機械的に配置することによって、追加のユーザインターフェースを構築することができる。
【００４４】
本発明の例示の実施形態を図示し、説明したが、本発明の趣旨および範囲から逸脱せずに、様々な変更を行うことができることを理解されたい。一態様では、本発明を、他の階層ベースの変数構造と共に使用して、グローバル変数コントロールを介する変数階層内の値の制御を容易にすることができる。たとえば、本発明を、ガンマ変数訂正階層などのビジュアルディスプレイ変数階層と共に使用して、グローバル変数ディスプレイコントロールの操作によって、様々なディスプレイ変数値の調整を容易にすることができる。さらに、第１スライダーを第２スライダーの上または第２ダイヤルの上に機械的に配置することによって、追加のユーザインターフェースを構築することができる。さらに、図１１および１２など、ユーザインターフェースの一部を、限られた数の独立コントロールを有するものとして示したが、当業者は、任意の数の独立コントロールを本発明に組み込めることを理解するであろう。
【図面の簡単な説明】
【００４５】
【図１】コンピュータシステム内の様々なオーディオ設定階層値を操作するユーザインターフェースの通常の組を表すブロック図である。
【図２】本発明による、コンピュータシステムによって実施されるフラットボリュームコントロール処理ルーチンを示すフローチャートである。
【図３】本発明による、コンピュータシステムによって実施されるフラットボリューム特性ツリー生成サブルーチンを示すフローチャートである。
【図４Ａ】本発明に従って生成されるフラットボリューム特性ツリーの反復の１つを示す図である。
【図４Ｂ】本発明に従って生成されるフラットボリューム特性ツリーの反復の１つを示す図である。
【図４Ｃ】本発明に従って生成されるフラットボリューム特性ツリーの反復の１つを示す図である。
【図４Ｄ】本発明に従って生成されるフラットボリューム特性ツリーの反復の１つを示す図である。
【図４Ｅ】本発明に従って生成されるフラットボリューム特性ツリーの反復の１つを示す図である。
【図４Ｆ】本発明に従って生成されるフラットボリューム特性ツリーの反復の１つを示す図である。
【図４Ｇ】本発明に従って生成されるフラットボリューム特性ツリーの反復の１つを示す図である。
【図５】本発明による、親ノード値に基づくフラットボリューム特性ツリー変換サブルーチンを示すフローチャートである。
【図６】本発明による、子ノード値に基づくフラットボリューム特性ツリー変換サブルーチンを示すフローチャートである。
【図７】本発明による、フラットボリューム特性ツリーからハードウェアオーディオ設定階層への変換サブルーチンを示すフローチャートである。
【図８Ａ】本発明による、汎用ソフトウェアアプリケーションオーディオ設定コントロールおよびソフトウェアアプリケーションの複数のシステムオーディオ設定コントロールを含む、集中オーディオコントロールディスプレイの一実施形態を示すブロック図である。
【図８Ｂ】本発明による、汎用ソフトウェアアプリケーションオーディオ設定コントロールおよびソフトウェアアプリケーションの複数のシステムオーディオ設定コントロールを含む、集中オーディオコントロールディスプレイの一実施形態を示すブロック図である。
【図８Ｃ】本発明による、汎用ソフトウェアアプリケーションオーディオ設定コントロールおよびソフトウェアアプリケーションの複数のシステムオーディオ設定コントロールを含む、集中オーディオコントロールディスプレイの一実施形態を示すブロック図である。
【図９】本発明による汎用ソフトウェアアプリケーションオーディオ設定コントロールおよびソフトウェアアプリケーションの複数のシステムオーディオ設定コントロールを含む、集中オーディオコントロールディスプレイの代替実施形態を示すブロック図である。
【図１０Ａ】本発明によるアプリケーションコントロールで様々なオーディオコントロール値インジケータを表示する代替実施形態を示すブロック図である。
【図１０Ｂ】本発明によるアプリケーションコントロールで様々なオーディオコントロール値インジケータを表示する代替実施形態を示すブロック図である。
【図１０Ｃ】本発明によるアプリケーションコントロールで様々なオーディオコントロール値インジケータを表示する代替実施形態を示すブロック図である。
【図１０Ｄ】本発明によるアプリケーションコントロールで様々なオーディオコントロール値インジケータを表示する代替実施形態を示すブロック図である。
【図１１】本発明によるアプリケーションコントロールで様々なオーディオコントロール値インジケータを表示する代替実施形態を示すブロック図である。
【図１２】本発明によるアプリケーションコントロールで様々なオーディオコントロール値インジケータを表示する代替実施形態を示すブロック図である。
【符号の説明】
【００４６】
４００  フラットボリューム特性ツリー
８００  集中オーディオコントロールディスプレイ
８０２  第１汎用ソフトウェアアプリケーションオーディオ設定コントロール
８０４  第２汎用ソフトウェアアプリケーションオーディオ設定コントロール
８０６  スライダバー
８０８  インジケータ
８１０  スライダバー
８１２  インジケータ
８１４  スライダバー
８１６  インジケータ
９００  集中オーディオコントロールディスプレイ
９０２  第１汎用ソフトウェアアプリケーションオーディオ設定コントロール
９０４  第２汎用ソフトウェアアプリケーションオーディオ設定コントロール
９０６  スライダバー
９０８  インジケータ
９１０  スライダバー
９１２  インジケータ
９１４  スライダバー
９１６  インジケータ
１０００  グラフィカルユーザインターフェース
１００４  スライダコントロール
１００６  メインオーディオボリュームインジケータ
１１００  グラフィカルユーザインターフェース
１１０２  メインボリュームコントロール
１１０４  フラットボリュームコントロール
１２００  グラフィカルユーザインターフェース
１２０４  フラットボリュームコントロール
１２０６  メインボリュームコントロール
【図１】
0004714441.tif 000002
【図２】
0004714441.tif 000003
【図３】
0004714441.tif 000004
【図４Ａ】
0004714441.tif 000005
【図４Ｂ】
0004714441.tif 000006
【図４Ｃ】
0004714441.tif 000007
【図４Ｄ】
0004714441.tif 000008
【図４Ｅ】
0004714441.tif 000009
【図４Ｆ】
0004714441.tif 000010
【図４Ｇ】
0004714441.tif 000011
【図５】
0004714441.tif 000012
【図６】
0004714441.tif 000013
【図７】
0004714441.tif 000014
【図８Ａ】
0004714441.tif 000015
【図８Ｂ】
0004714441.tif 000016
【図８Ｃ】
0004714441.tif 000017
【図９】
0004714441.tif 000018
【図１０Ａ】
0004714441.tif 000019
【図１０Ｂ】
0004714441.tif 000020
【図１０Ｃ】
0004714441.tif 000021
【図１０Ｄ】
0004714441.tif 000022
【図１１】
0004714441.tif 000023
【図１２】
0004714441.tif 000024