(57)【要約】  コンピュータシステム内の特定のオーディオ装置構成の品質を決定する。コンピューティング装置のメモリに格納されるモデルサンプルオーディオファイルは、コンピュータシステムに接続されるスピーカを通して再生される。それにより生成される音声は、コンピュータシステムに接続されたマイクロホンによってキャプチャされ、キャプチャされたオーディオ信号が生成される。キャプチャされたオーディオ信号は、キャプチャされたオーディオ信号の精度を決定するためにサンプルオーディオ信号と相関される。キャプチャされたオーディオ信号をサンプルオーディオ信号と相関させるためのアルゴリズムは、オーディオ信号の音量および周波数の特性を考慮することができる。装置品質スコアを計算して、最適なオーディオ装置構成を、コンピュータシステムによって自動的に選択することができる。
2009518662.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステム（２００、５００）に接続されたマイクロホン（２０２）とスピーカ（２０４）とを備えるオーディオ装置構成の品質を決定するための方法であって、
前記コンピュータシステム（２００、５００）のメモリ（５０４）に格納されたサンプルオーディオファイル（２１４）から生成されたサンプル音声を、前記スピーカ（２０２）を介して出力すること（３０４）と、
キャプチャされたオーディオ信号を作成するために前記マイクロホン（２０２）を介して前記サンプル音声をキャプチャすること（３０６）と、
前記キャプチャされたオーディオ信号のオーディオ特性を分析すること（３１０）と、
前記キャプチャされたオーディオ信号の前記オーディオ特性を、前記サンプルオーディオファイルに対応するサンプルオーディオ信号の知られている特性に相関させること（３１４）と、
前記オーディオ装置構成に対応する前記相関されたオーディオ特性に基づいて品質測定値を計算すること（３１６）と
を含むことを特徴とする方法。
【請求項２】
前記マイクロホンによってキャプチャされた前記サンプル音声を、キャプチャされたオーディオ信号に変換すること（３０８）をさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記コンピュータシステムのユーザに前記品質測定値を示す表示を提示すること（３２０）をさらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記分析する操作は、前記サンプルオーディオ信号、前記キャプチャされたオーディオ信号、またはその両方を共通のフォーマットに変換する（３０８）ために、前記サンプルオーディオ信号、および前記キャプチャされたオーディオ信号の少なくとも１つを処理することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記分析する操作は、前記キャプチャされたオーディオ信号の周波数範囲およびエネルギーレベルの少なくとも１つを分析すること（３１０）をさらに含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記計算する操作は、前記相関されたオーディオ特性の最小二乗値を算出すること（４１０）をさらに含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記計算する操作は、重み係数を前記相関されたオーディオ特性に適用することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記スピーカ（２０４）は複数のスピーカを含み、前記マイクロホン（２０２）は複数のマイクロホンを含み、またはその両方であり、したがって複数のオーディオ装置構成がもたらされることであって、前記方法はさらに、
前記複数のオーディオ装置構成のそれぞれについて請求項１の操作を繰り返すこと（３１８）をさらに含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記複数のオーディオ装置構成のそれぞれの前記品質測定値の最高品質測定値を有する前記複数のオーディオ装置構成の１つを選択すること（３２０）をさらに含むことを特徴とする請求項８に記載の方法。
【請求項１０】
請求項１に記載の方法を実装するコンピュータプロセスを実行するためのコンピュータ実行可能命令を有することを特徴とするコンピュータ読取可能媒体。
【請求項１１】
コンピュータシステム（２００、５００）に接続されたマイクロホン（２０２）とスピーカ（２０４）とを含むオーディオ装置構成の品質を決定するための方法であって、
前記コンピュータシステム（２００、５００）のメモリ（５０４）に格納されたサンプルオーディオファイル（２１４）から生成されたサンプル音声を、前記スピーカ（２０４）を介して出力すること（３０４）と、
キャプチャされたオーディオ信号を作成するために前記マイクロホンを介して前記サンプル音声をキャプチャすること（３０６、４０２）と、
前記キャプチャされたオーディオ信号の音量の特性を決定すること（３１２、４０４）と、
前記キャプチャされたオーディオ信号の周波数の特性を決定すること（３１２、４０６）と、
前記サンプルオーディオファイルに対応するサンプルオーディオ信号の音量の特性を決定すること（３１０）と、
前記サンプルオーディオ信号の周波数の特性を決定すること（３１０）と、
前記キャプチャされたオーディオ信号の前記音量の特性および前記周波数の特性と、前記サンプルオーディオ信号の前記音量の特性および前記周波数の特性との比較に基づいて前記オーディオ装置構成の精度測定値を算出すること（３１６）と
を含むことを特徴とする方法。
【請求項１２】
前記音量の特性は、音量強度、信号とノイズの比率、ダイナミックレンジ、および全高調波ひずみの少なくとも１つを含む（４０４）ことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記周波数の特性は、周波数範囲、周波数構成、および周波数強度の少なくとも１つを含む（４０６）ことを特徴とする請求項１１に記載の方法。
【請求項１４】
前記算出する操作は、前記周波数の特性、前記音量の特性の１つまたは複数、あるいは両方に重み係数を適用することをさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１５】
前記算出する操作は、前記キャプチャされたオーディオ信号の前記音量の特性および前記周波数の特性と、前記サンプルオーディオ信号の前記音量の特性および前記周波数の特性との間の最小二乗値をそれぞれ算出すること（４１０）をさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１６】
前記スピーカ（２０４）は複数のスピーカを含み、前記マイクロホン（２０２）は複数のマイクロホンを含むか、またはその両方であり、したがって複数のオーディオ装置構成がもたらされることであって、前記方法はさらに、
前記複数のオーディオ装置構成のそれぞれについて請求項１１に記載の操作を繰り返すこと（３１８）をさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１７】
前記複数のオーディオ装置構成のそれぞれの前記精度測定値の最高精度測定値を有する前記複数のオーディオ装置構成の１つを選択すること（３２０）をさらに含むことを特徴とする請求項１６に記載の方法。
【請求項１８】
請求項１１に記載の方法を実装するコンピュータプロセスを実行するためのコンピュータ実行可能命令を有することを特徴とするコンピュータ読取可能媒体。
【請求項１９】
オーディオ装置構成の品質を決定するコンピュータシステム（２００、５００）であって、
プロセッサ（５０２）と、
前記プロセッサ（５０２）によってアクセス可能であり、サンプルオーディオファイル（２１４）を格納するメモリ（５０４）と、
前記プロセッサ（５０２）の制御下にあり、前記サンプルオーディオファイル（２１４）から生成されたサンプル音声を出力することができるスピーカ（２０４、５１６）と、
前記プロセッサ（５０２）の制御下にあり、キャプチャされたオーディオ信号を作成するために前記サンプル音声を受信することができるマイクロホン（２０２、５１４）であって、前記スピーカ（２０４）およびマイクロホン（２０２）がともに前記オーディオ装置構成を備えるマイクロホン（２０２、５１４）と、
前記プロセッサ（５０２）の制御下にある品質検出モジュール（２１８）であって、
前記メモリから前記サンプルオーディオファイルにアクセスし、
前記サンプルオーディオファイルからサンプルオーディオ信号を生成し、
前記マイクロホンから前記キャプチャされたオーディオ信号を受信し、
前記キャプチャされたオーディオ信号のオーディオ特性を分析し、
前記キャプチャされたオーディオ信号のオーディオ特性を、知られている前記サンプルオーディオ信号の特性と相関させ、
前記オーディオ装置構成に対応する前記相関されたオーディオ特性に基づいて品質測定値を計算する品質検出モジュール（２１８）と
を含むことを特徴とするコンピュータシステム（２００、５００）。
【請求項２０】
前記スピーカ（２０４）は複数のスピーカを含み、前記マイクロホン（２０２）は複数のマイクロホンを含むか、または両方であり、したがって複数のオーディオ装置構成がもたらされ、前記コンピュータシステム（２００、５００）はさらに、
前記サンプル音声の出力および前記サンプル音声の受信のためのそれぞれのオーディオ装置構成について自動的に操作を繰り返すように適応された装置選択モジュール（２２４）を含むことを特徴とする請求項１９に記載のコンピュータシステム（２００、５００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オーディオ装置の品質の決定に関する。
【背景技術】
【０００２】
ネットワーク接続されたコンピューティング装置を使用するリアルタイム通信は、ますます普及しつつある。これは、例えばＶＯＩＰ（voice over Internet protocol）電話、オーディオ使用可能チャットプログラム（audio-enabled chat program）、ウェブテレビ会議、ならびに、オーディオおよびビデオストリーミングの形をとることがある。最高品質のオーディオおよび／またはビデオ体験を提供することは、リアルタイム通信オーディオクライアントを提供する多くの企業間の重要な差別化要因となり得る。多くの場合、ユーザは、通信セッションに使用することができる複数のオーディオ装置を有することがある。リアルタイムオーディオクライアントは典型的に、ユーザが、電話をかけるために使用するオーディオ装置を選択して構成することを必要とする。しかし、オーディオクライアントは、選択されたオーディオ装置により高品質の通信体験が得られることを保証せず、選択された装置が最良の構成オプションを提供するかどうかさえも示さない。
【０００３】
本明細書のこの背景技術の欄に含まれる情報は、技術的参考の目的で含まれるものにすぎず、本発明の範囲を定める対象と見なされるべきでない。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、コンピュータシステム内の特定のオーディオ出力または入力装置、あるいはそれらの組合せの品質を自動検出することを対象とする。
【課題を解決するための手段】
【０００５】
本明細書に記載され、特許請求の範囲に記載される技術は、コンピュータシステム内の特定のオーディオ出力または入力装置、あるいはそれらの組合せの品質を自動検出することを対象とする。コンピューティング装置のメモリに格納されたモデルサンプルオーディオファイルは、コンピュータシステムに接続されたスピーカ出力装置を通じて再生される。それにより生成された音声（sound）は、コンピュータシステムに接続されたマイクロホン入力装置によってキャプチャされ、変換されて、コンピュータシステムよって記録して処理するためのキャプチャされたオーディオ信号が作成される。キャプチャされたオーディオ信号は、キャプチャされたオーディオ信号の精度を決定するために、サンプルオーディオ信号と相関される。
【０００６】
キャプチャされたオーディオ信号のサンプルオーディオ信号との相関のためのアルゴリズムは、例えば、キャプチャされたオーディオ信号をサンプルオーディオ信号と比較する場合に、１つまたは複数の以下の要因を考慮することができる。すなわち、比較エネルギーレベルまたは強度（intensity）、存在する周波数の範囲、ひずみ(distortion)のレベル、および信号とノイズの比率を考慮することができる。他のオーディオ品質の要因を、追加的にまたは代替的に使用して、サンプルオーディオ信号とキャプチャされたオーディオ信号との間の比較オーディオ品質（comparative audio quality）を算出することができる。装置品質スコアを計算して、異なるオーディオ装置構成間の相対的な利点についての簡単な表示をユーザに提供することができる。装置の潜在的な組合せのすべてを自動的に比較し、最も高い装置品質スコアを有する構成をアクティブにした後に、オーディオ入力装置と出力装置の最適なペアを、コンピュータシステムによって自動的に選択することができる。
【０００７】
いくつかの実装形態では、生成物は、コンピュータプログラム生成物として提供される。コンピュータプログラム生成物の一実装形態は、コンピュータシステムで読み取り可能でありコンピュータプログラムを符号化する、コンピュータプログラム記憶媒体を提供する。コンピュータプログラム生成物の別の実装形態を、コンピュータシステムによって搬送波で具現化されコンピュータプログラムを符号化する、コンピュータデータ信号で提供することができる。この要約は、以下の詳細な説明でさらに説明される概念の選択を簡略化した形式で紹介するために提供される。この要約は、特許請求の範囲に記載される対象の主要な特徴または本質的な特徴を識別することを意図されておらず、特許請求の範囲に記載される対象の範囲を限定するように用いられることも意図されていない。特許請求の範囲に記載された対象の他の特徴、詳細、利用性、および利点は、添付の図面でさらに示され、添付の特許請求の範囲で定義されるように、様々な実施形態および実装形態についての以下のより具体的な記載された詳細な説明から明らかになるであろう。
【発明を実施するための最良の形態】
【０００８】
本明細書に記載される技術の一実装形態は、コンピュータシステムに関連するオーディオ装置構成の品質の自動的な決定を提供する。この技術は、リアルタイム通信セッションおよび他のオーディオ環境セッションを実施するコンピュータシステムのユーザに、このようなセッションを実施するために選択される装置が、最良のオーディオ品質構成を備えることを保証するのを助ける。例えば、パーソナルコンピュータシステムを使用して、例えばＶＯＩＰ電話会議などの音声会議を実施するとき、通信セッションを実施するためには、例えばマイクロホンなどのオーディオ入力装置と、例えば１つまたは複数のスピーカなどのオーディオ出力装置の両方が必要である。選択されたマイクロホンおよびスピーカのいずれか、または両方が正しく構成されず、あるいは組み合わせてうまく機能しない場合、ユーザは、質の悪いオーディオ品質のために苛立たしい通信体験をすることがある。本明細書に記載されるシステムおよび方法は、通信セッション中のオーディオ体験の品質を最大にするために、コンピュータシステムのユーザに、オーディオ入力および出力装置の最適な構成に関する情報を提供する自動的な補助（automatic aid）として機能する。
【０００９】
コンピュータシステムのユーザは、通信セッションに使用することができる様々なオプションのオーディオ装置に直面することがある。例えば、コンピュータシステムは、組込みマイクロホン、組込みマイクロホンを有するディスプレイ、組込みマイクロホンを有するウェブカメラ、ハンドセットとスピーカフォンオプションを有するＶＯＩＰ電話、マイクロホンとヘッドホンを有するヘッドセット、組込みスピーカを有するディスプレイ、外部スピーカ、およびスピーカを有する別個のホームオーディオシステムの接続の１つまたは複数のいずれかを有することができる。
【００１０】
例えば、図１は、様々なオーディオ周辺装置を備える例示的なパーソナルコンピュータシステム１００を示す。典型的なパーソナルコンピュータシステム１００は、コンピュータ１０２、ビデオモニタ１０４、キーボード１０６、コンピュータ１０２に接続されたマウス１０８を含むことができる。コンピュータ１０２は、音声生成用の組込みスピーカ１１８を有することができる。ビデオモニタ１０４は、一対のスピーカ１１０を備えることもできる。さらに、パーソナルコンピュータシステム１００のユーザは、１組の外部スピーカ１１２をコンピュータ１０２に取り付けることもできる。パーソナルコンピュータシステム１００は、インターネットテレビ会議を実施するためのビデオカメラとマイクロホンの組合せ１１４を含むこともできる。ユーザは、ＶＯＩＰまたはインターネットテレビ会議に参加するために、イヤホンスピーカとマイクロホンを組み合わせるヘッドセット１１６を取り付けることもできる。
【００１１】
例示的なオーディオ構成では、コンピュータシステムは、所望のオーディオセッションに最良の装置構成を自動的に選択し、アクティブにすることができる。サンプルオーディオファイルを、コンピュータシステムに接続されたスピーカ装置を通して出力することができる。サンプルオーディオファイルを、コンピュータシステムに関連するメモリに格納することができ、またはネットワーク上でリモートコンピュータシステムからアクセスすることもできる。サンプルオーディオファイルを、アナログ信号に転換し、スピーカに送信することができる。あるいは、オーディオ信号を、命令セット（instruction set）に従って同時に生成することができる。スピーカがデジタルである場合、すなわちスピーカがアナログ／デジタル変換器を有する場合は、サンプルオーディオファイルをスピーカに直接送信することができる。スピーカは、大気中の音波（sound wave）を作成するためにアナログオーディオ信号を音響エネルギー（acoustic energy）に変換する。
【００１２】
サンプルオーディオファイルがスピーカによって再生されるのと同じ時間の間、マイクロホンによって受信される音声を記録するように、テストが実行される。サンプルオーディオファイルに対応する音声を含め、いずれの音波も、マイクロホンによってピックアップされ、同様にアナログオーディオ信号に変換される。アナログオーディオ信号は、コンピュータシステムによってデジタルデータフォーマットに変換される。あるいは、デジタルマイクロホンの場合は、音波を、コンピュータへの入力用のデジタル信号にすぐに変換することができる。
【００１３】
必要であれば、マイクロホンによってキャプチャされるオーディオデータ、およびサンプルオーディオファイルは、共通データフォーマットに変換される。次いで、キャプチャされた音声からのオーディオデータは、キャプチャされたオーディオデータの全体的な品質および精度を決定するために、モデルオーディオサンプルファイルからのオーディオデータと比較される。キャプチャされたオーディオデータのモデルオーディオサンプルとの相関のためのアルゴリズムは、例えば、比較エネルギーレベルまたは強度、存在する周波数の範囲、ひずみのレベル、および信号とノイズの比率を含むいくつかの要因を比較することができる。装置品質スコアを、これらの要因に基づいて計算し、オーディオ装置構成の品質についての単純な表示をユーザに提供することができる。
【００１４】
自動的に、潜在的な装置の組合せのすべてを比較し、最も高い装置品質スコアを有する構成をアクティブにした後に、オーディオ入力装置と出力装置の最適な対を、コンピュータシステムによって自動的に選択することができる。あるいは、コンピュータシステムに接続される例えばマイクロホンおよびスピーカなどのオーディオ装置の品質を決定し、ユーザに報告することができる。次いで、ユーザは、テストするためのオーディオ装置の別の構成を手動で選択し、最終的に、それぞれの品質スコアに基づいてオーディオセッションに最良の構成を選択することができる。
【００１５】
図２に、品質決定技術を実装するためのコンポーネントおよびモジュールを有する例示的なコンピュータシステム２００を示す。２つの例示的な周辺装置、マイクロホン２０２およびスピーカ２０４が、コンピュータシステム２００に接続されている。マイクロホン２０２を、オーディオキャプチャモジュール２０６への入力装置としてコンピュータシステム２００に接続することができる。スピーカ２０４を、オーディオレンダモジュール２０８の出力装置としてコンピュータシステム２００に接続することができる。
【００１６】
マイクロホン２０２は、コンピュータシステム２００の内部のハードウェア装置、あるいは有線または無線接続を介してコンピュータシステム２００に接続される外部装置とすることができる。同様に、スピーカ２０４は、コンピュータシステム２００の内部のハードウェア装置、あるいは有線または無線接続を介してコンピュータシステム２００に接続される外部装置とすることができる。スピーカ２０４は、単一のスピーカ、一対のスピーカ、または、例えば「サラウンドサウンド（surround sound）」構成内の複数のスピーカのシステムとすることができる。あるいは、マイクロホン２０２およびスピーカ２０４は、単一の装置、例えば電話ハンドセットまたはヘッドセットで組み合わせることができる。
【００１７】
図２に示されるように、自動の装置構成検出機能は、コンピュータシステム２００のリソースと命令レベルとの組み合わせによって、例えば、破線２１０によって示されるようにコンピュータシステム２００のカーネルとユーザモードの両方のリソースで実装される。他のオペレーティングシステムおよびコンピューティング環境では、このようなコンポーネントおよびモジュールを、他のレベルのソフトウェアアーキテクチャで制御することができる。カーネルは、プロセッサ、メモリ、および低レベルのハードウェアインタフェースを含むマシンのハードウェアリソースを管理し、他のソフトウェアコンポーネント、例えばユーザモードコンポーネントが、これらのリソースに、例えば装置ドライバ、メモリ管理ルーチン、スケジューラ、およびシステムコールを通じてアクセスすることができる方法を制御する。
【００１８】
オーディオキャプチャモジュール２０６とオーディオレンダリングモジュール２０８の両方とも、カーネルに存在する。オーディオキャプチャモジュール２０６は、マイクロホン２０２によって音波から変換されるアナログオーディオ信号を、コンピュータシステム２００でさらに処理するために、デジタルデータ信号、例えばＰＣＭ（pulse code modulated）、ＣＤＲ（compact disc raw）データ、または他の共通データフォーマットに変換する。ＰＣＭデータは、様々な品質のもの、例えばＰＣＭ  １６、ＰＣＭ  ３２またはＰＣＭ  ４８とすることができる。オーディオレンダリングモジュール２０８は、例えばＷＡＶ（waveform audio）、ＭＰＥＧ１、ＤＳＭ（digital sound module）フォーマット、または他の共通データフォーマットのデジタルオーディオファイルを、スピーカ２０４による音響変換用のアナログオーディオ信号に変換する。
【００１９】
追加的な機能は、マイクロホン２０２およびオーディオキャプチャモジュール２０６によって受信されるオーディオデータ、ならびに他のデータに作用するソフトウェア処理ルーチンとしてユーザモードで実装される。品質検出モジュール２１２には、サンプルオーディオファイル２１４、信号プロセッサ２１６、信号相関／品質管理モジュール２１８が含まれる。サンプルオーディオファイル２１４に、品質検出モジュール２１２によって実行される操作によってアクセスすることができ、サンプルオーディオファイル２１４を、オーディオレンダリングモジュール２０８および信号プロセッサ２１６のいずれかまたは両方に送信することができる。サンプルオーディオファイル２１４は、スピーカ２０４およびマイクロホン２０２の品質構成テストを実施するために、スピーカ２０４への出力用のモデルオーディオサンプルとしてオーディオレンダリングモジュール２０８に送信される。
【００２０】
サンプルオーディオファイル２１４は、生成された音声の属性に関して選択されるデジタルオーディオファイル、例えばＷＡＶファイルとすることができる。例えば、サンプルオーディオファイル２１４は、マイクロホン２０２と通して検出するのが容易な特定の周波数の範囲、またはスピーカ２０４とマイクロホン２０２の組合せの周波数応答（frequency response）についての良好な表示を提供する特定の周波数範囲を含む音声を生成することができる。ユーザが聞くのに心地よい音声、例えば音楽シーケンス（musical sequence）を生成するように、またはユーザにとって価値のある情報、例えば構成命令または通知（advertisement）を提供するように、サンプルオーディオファイル２１４をさらに選択することができる。
【００２１】
マイクロホン２０２から受信されるオーディオ信号も、オーディオキャプチャモジュール２０６から信号プロセッサ２１６に送信される。オーディオ信号の比較の目的でオーディオ信号を共通データフォーマットに変換するために、オーディオキャプチャモジュール２０６からのオーディオ信号、およびサンプルオーディオファイル２１４のいずれかまたは両方を信号プロセッサ２１６によって処理することができる。オーディオ信号（および他のデジタルデータ信号）を任意のフォーマットに変換して、格納することができる。例えば、オーディオキャプチャモジュール２０６からのオーディオ信号がＰＣＭフォーマットであり、オーディオサンプルファイル２１４がＷＡＶフォーマットである場合、オーディオサンプルファイル２１４を、信号プロセッサ２１６によってＰＣＭフォーマットに変換することができる。あるいは、オーディオキャプチャモジュール２０６からのオーディオ信号を、信号プロセッサによってＷＡＶフォーマットに変換することができる。さらに別の場合では、オーディオキャプチャモジュール２０６からのオーディオ信号とオーディオサンプルファイル２１４の両方を、第３のフォーマット、例えばオーディオ交換ファイルフォーマット（ＡＩＦＦ：audio interchange file format）に、このようなフォーマットが品質検出モジュール２１２によるさらなる処理を助けることとなる事象では、信号プロセッサ２１６によって変換することができる。
【００２２】
オーディオキャプチャモジュール２０６からのオーディオ信号、およびサンプルオーディオファイル２１４のいずれかまたは両方が、信号プロセッサ２１６によって処理されると、キャプチャされたオーディオ信号は、品質測定値を決定するために信号相関／品質測定モジュール２１８によってサンプルオーディオファイル２１４と比較される。オーディオキャプチャモジュール２０６からのオーディオ信号をサンプルオーディオファイル２１４と比較することは、オーディオ装置構成の品質の客観的な尺度を決定するのに望ましい。
【００２３】
品質評価の前に、信号相関／品質測定モジュール２１８は、マイクロホン２０２によってピックアップされた音声が、スピーカ２０４によって生成されたものか、または単にマイクロホン２０２が配置される環境の周囲の音声にすぎないのかを識別することができる。この信号相関機能は、オーディオ信号とサンプルオーディオファイル２１４の間の合理的な相関関係を識別して、相関されたオーディオデータの比較を確実にするために、継続的にマイクロホン２０２からのキャプチャされたオーディオ信号のウィンドウまたはスナップショットを比較しようする。
【００２４】
サンプルオーディオファイル２１４がスピーカ２０４によって再生される時間に対応する特定の時間の間、マイクロホン２０２からのオーディオ信号をキャプチャし、記録することによって、信号相関機能を助けることができる。したがって、信号相関／品質測定モジュール２１８は、オーディオキャプチャモジュール２０６からのオーディオ信号に対応するデータの特性、例えば周波数、強度、およびタイミングをオーディオサンプルファイル２１４からのデータと比較し、データの一致があるかどうか判定する。データが相関する場合、図３および図４に関して本明細書にさらに記載されるように、信号相関／品質測定モジュール２１８は、キャプチャされたデータの品質分析を実施し、特定のオーディオ装置構成についての品質スコアを生成する。
【００２５】
図２に示されるように、コンピュータシステム２００は、ユーザモード内で動作するオーディオアプリケーション２２２も含む。オーディオアプリケーション２２２は、構成されている入力および出力装置、例えばマイクロホン２０２およびスピーカ２０４を制御することとなるユーザによってインスタンス化されたソフトウェアプログラムとすることができる。例示的なオーディオアプリケーションは、ＶＯＩＰクライアントおよびオーディオ使用可能チャットプログラムとすることができる。あるいは、オーディオアプリケーション２２２は単に、新しいオーディオ装置をインストールするために、または以前にインストールされたオーディオ装置の特徴を最適化するためにインスタンス化されたオーディオ装置構成プログラム、例えば「ウィザード」プログラムとすることができる。
【００２６】
「オーディオ装置品質測定」２２０のＡＰＩは、構成品質スコアを有するデータをオーディオアプリケーション２２２に転送するように、品質検出モジュール２１２内の信号相関／品質測定モジュール２１８の間のインターフェースとしての役割を果たす。オーディオアプリケーション２２２は、オーディオ装置品質測定ＡＰＩ２２０からのデータを使用して、オーディオ装置構成に関する情報をユーザに伝えることができる。例えば、スピーカ２０４によって生成され、マイクロホン２０２でキャプチャされた音声の強度が、弱いという表示である場合、オーディオアプリケーション２２２は、例えばスピーカ２０４の音量出力を増加させることまたは動かすことによって、スピーカ２０４のトラブルを解決するようにユーザに警告することができる。あるいは、オーディオアプリケーション２２２は、代替スピーカがよりよい品質をもたらすかどうか判断するために、ユーザが別のスピーカオプション、例えば外部のスピーカセットから、取り付けられたモニタに組み込まれた代替スピーカへの切り替えを選択することを推奨することがある。１つの例示的な形式では、オーディオアプリケーション２２２は、ユーザに、ＧＵＩ（graphical user interface）内でメッセージを通じて警告を与えることができる（例えば「ポップアップ」ウィンドウをディスプレイモニタ上に提示することができる）。
【００２７】
第２のＡＰＩであるオーディオ装置選択ＡＰＩ２２４はまた、オーディオアプリケーション２２２と、さらには入出力ポートとインターフェースをとり、この入出力ポートを介して、マイクロホン２０２およびスピーカ２０４が、コンピュータシステム２００に接続される。（図２では示されていないが、オーディオアプリケーション２２２はさらに、オーディオアプリケーション２２２（例えばＶＯＩＰ通話）によって実施される通信セッションからの音声をスピーカ２０４で生成するように、別個のＡＰＩを有するオーディオレンダリングモジュール２０８とインターフェースをとることができる）。オーディオ装置選択ＡＰＩ２２４は、選択されたマイクロホン２０２およびスピーカ２０４構成に接続される入力ポートまたは出力ポートをアクティブにする。例えば、ユーザのコンピュータシステム２００は、複数のマイクロホン２０２、例えばディスプレイモニタに組み込まれた第１のマイクロホンおよびウェブカメラに組み込まれた第２のマイクロホン、ならびに例えばコンピュータシステム２００に有線接続された第１のスピーカのセットおよびディスプレイモニタに組み込まれた第２のスピーカのセットなどの複数のスピーカ２０４を有することができる。
【００２８】
オーディオアプリケーション２２２は、オーディオ通信のためにどのマイクロホンおよびスピーカのセットを使用したいかをユーザに尋ねることがある。オーディオアプリケーション２２２は、オーディオ装置選択ＡＰＩ２２４を通じて、適切なデータポートを開閉して、所望のマイクロホン２０２およびスピーカ２０４の組合せをアクティブにする。オーディオアプリケーション２２２はさらに、オーディオ装置選択ＡＰＩ２２４を呼び出し、コンピュータシステム２００に接続された任意の使用可能な装置を自動的に繰り返して、最も高い品質スコアを有するオーディオ装置構成を見つけることができる。
【００２９】
自動品質検出機能を実施するためにコンピュータシステムによって実施される例示的な一連の操作を、図３に示す。図２のコンピュータシステム２００の例示的な構成の文脈では、信号相関／品質測定モジュールは、コンピュータシステムに接続された、あり得るマイクロホン／スピーカ構成それぞれに関する客観的な品質評価を決定するように構成される。図２のコンピュータシステムの文脈で記載されているが、本明細書に記載される操作を、コンピュータシステム２００以外のシステムによって実施することができることを理解されたい。さらに、記載される任意の操作を、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せにより実行することができる。
【００３０】
最初に選択操作３０２では、オーディオアプリケーションは、オーディオセッション、例えばオーディオ通信セッションで使用する初期オーディオ装置構成を、自動的に選択するか、または選択するようにユーザに促す。このようなプロンプトまたはリクエストを、ディスプレイモニタ上でＧＵＩメッセージを通じて提示することができる。構成が選択されると、再生操作３０４により、サンプルオーディオファイルが、選択されたスピーカを通して再生用のオーディオレンダリング装置に送信されることとなる。
【００３１】
キャプチャ操作３０６は、スピーカによって生成されサンプルオーディオファイルと相関される音声を含め、マイクロホンによってピックアップされる音波を記録する。音波は、マイクロホンによってアナログ信号に変換され、このアナログ信号は、オーディオキャプチャモジュールによってデジタルオーディオフォーマットにさらに変換される。サンプルオーディオファイルも、信号プロセッサによってアクセスされ、変換操作３０８で、キャプチャされたオーディオデータのフォーマットと容易に比較することができるデータフォーマットに変換される。例えば、キャプチャされたオーディオデータがＰＭＣフォーマットであり、サンプルオーディオファイルがＷＡＶフォーマットである場合、サンプルオーディオファイルを、ＷＡＶからＰＭＣに変換することができる。代替操作（図３に図示せず）では、キャプチャされたオーディオデータを、信号プロセッサによってサンプルオーディオファイルのフォーマットに変換することができる。さらに別の代替操作（図３に図示せず）では、キャプチャされたオーディオデータおよびサンプルオーディオファイルの両方のデータフォーマットを、第３の共通フォーマットに変換することができる。
【００３２】
サンプルオーディオファイル、およびキャプチャされたオーディオデータが共通のフォーマットになると、第１の分析操作３１０は、変換されたサンプルファイルに対応するオーディオ信号の周波数範囲およびエネルギーレベルを分析する。第２の分析操作３１２は同様に、キャプチャされたオーディオデータに対応するオーディオ信号の周波数範囲およびエネルギーレベルを分析する。第２の分析操作３１２は、相関操作３１４を助けるために、キャプチャされたオーディオデータのウィンドウまたはスナップショットを継続的に分析することができる。
【００３３】
相関操作３１４は、キャプチャされたオーディオ信号のウィンドウそれぞれの周波数範囲およびエネルギーレベルと、変換されたサンプルファイルの周波数範囲およびエネルギーレベルとの間の合理的な相関関係を識別して、品質決定プロセスで相関オーディオデータを比較することを保証する。換言すると、相関プロセスは、スピーカによって再生されるサンプルオーディオファイルの記録であるキャプチャされたオーディオ信号の部分を識別しようと試みる。オーディオ信号の周波数範囲およびエネルギーレベルは同一である必要はなく、単に適度に近いものにすぎない。適度に近いと見なされる値の差のしきい値または範囲を、予め定めることができ、またはユーザ設定可能である。相関操作３１４は、スピーカによってサンプルオーディオファイルを再生した時間に対応する特定の時間からウィンドウを選択することによって、相関関係についてレビューされるキャプチャされたオーディオ信号のウィンドウを制限することができる。
【００３４】
キャプチャされたオーディオ信号とサンプルオーディオファイルとの間の相関関係が識別されると、計算操作３１６は、オーディオ装置構成、例えば特定のマイクロホン／スピーカの組合せについてオーディオ品質スコアを計算する。オーディオ品質スコアは、サンプルオーディオファイルによって生成されたオーディオ信号のオーディオ品質と、マイクロホンによってキャプチャされたオーディオ信号との間の精度の要因に基づく。精度の要因には、オーディオ信号間の比較エネルギー、周波数範囲の類似性、信号のひずみ、および信号とノイズの比率を含めることができる。例示的な計算操作を、本明細書では図３に関してより詳細に述べる。
【００３５】
照会操作３１８は、追加的な装置構成が可能かどうかを自動的に判断することができる。可能である場合は、コンピュータシステムは選択操作３０２に戻って、品質分析のためのマイクロホンおよびスピーカの代替構成を選択する。コンピュータシステムは、取り付けられたスピーカおよびマイクロホン装置のぞれぞれの機能を識別し、図３に列挙された品質テストプロセスを実行するようにマイクロホンとスピーカのあり得る各対を順に反復する。
【００３６】
あるいは、照会操作３１８は、ユーザが他の装置構成の品質を決定したいかどうかＧＵＩメッセージを通してユーザに尋ねることがある。決定したい場合は、コンピュータシステムは、選択操作３０２に戻って、品質を分析するマイクロホンおよびスピーカの代替構成を選択する。ユーザが他の装置構成の品質を決定することを望まない場合、またはコンピュータシステムが他の構成が不可能であると自動的に判断する場合は、提示／選択操作３２０は、分析されたそれぞれの装置構成のオーディオ品質スコアを（例えばＧＵＩメッセージを通して）ユーザに提示するか、オーディオ品質スコアの比較に基づいて最良の装置構成を自動的に選択するか、またはその両方を行う。
【００３７】
オーディオ装置構成の品質スコアを算出するための例示的なプロセスを、図４に示す。これらの操作は、例えば、図２のコンピュータシステム２００内の品質検出モジュール２１２の信号相関／品質測定モジュール２１８内で起こることがある。図４に示されるように、受信操作４０２は、オーディオキャプチャモジュールおよび信号プロセッサを介して、キャプチャされたオーディオ信号データをマイクロホンから受信する。キャプチャされたオーディオ信号データは、第１の決定操作４０４で分析され、キャプチャされたオーディオ信号の音量の特性、例えば音量強度、信号とノイズの比率、ダイナミックレンジ、および全高調波ひずみ（total harmonic distortion）が測定される。次に、第２の決定操作４０６は、キャプチャされたオーディオ信号の周波数特性、例えば、周波数範囲（例えば、キャプチャされたオーディオ信号中に存在する最高および最低の周波数）、周波数構成（例えば、キャプチャされたオーディオ信号中に存在する別個の周波数）、および強度（例えば、特定の周波数でのキャプチャされたオーディオ信号の強さ）を調べる。
【００３８】
キャプチャされたオーディオ信号の音量および周波数の特性が決定されると、相関操作４０８で、対応するサンプルオーディオファイルの音量および周波数の特性と相関される。相関操作のための値を提供するために、同じ音量および周波数の分析を、サンプルオーディオファイルに対応するサンプルオーディオ信号に関して、キャプチャされたオーディオ信号の分析と同時に実行することができる。あるいは、サンプルオーディオファイルは予め選択され、知られているので、サンプルオーディオファイルに関する音量および周波数の特性は単に、メモリに保存され比較操作での使用に利用可能なデータとすることができる。次いで、相関されたデータは、算出操作４１０で、キャプチャされたオーディオ信号とサンプルオーディオファイルの間の精度を求めるために分析される。
【００３９】
算出操作４１０で、「最小二乗」法を使用して、サンプルオーディオファイルの元の信号と、キャプチャされたオーディオ信号との間の相対的な精度を決定することができる。最小二乗法は、データと予測値の差（残差（residual）と呼ばれる）の二乗和を最小にすることを試みることによって、１組のデータ間、この場合はキャプチャされたオーディオ信号と、予測値、この場合はサンプルオーディオファイルとの間の「最良適合（best fit）」を見つけようと試みる数学的な最適化技術である。キャプチャされたオーディオ信号の精度は、オーディオ構成の品質、例えばスピーカおよびマイクロホンのそれぞれの周波数応答、マイクロホンの感度、スピーカの音量、マイクロホンとスピーカの互いに対する物理的な配置、オーディオ装置が配置される物理的な環境、および周囲のノイズによって影響を受ける。
【００４０】
次いで、決定され比較された音量および周波数の特性のそれぞれに関する精度の最小二乗差に対応する値は、計算操作４１２で計算され、特定のオーディオ装置構成に関するオーディオ品質スコアと見なされる。それぞれの特性をさらに、オーディオ品質に対する特定の特性の寄与の重要度に基づき、異なる重みによって、割り当てられるかスケーリングされる。このオーディオ品質スコアを保存し、他の使用可能なオーディオ装置構成に関するオーディオ品質スコアと比較し、最良のオーディオ品質スコアを有する構成を、通信セッションのためのコンピュータシステム内の操作のために、または特定のオーディオアプリケーションに関して、自動的に選択またはユーザに推奨することができる。
【００４１】
代替としてまたは追加として、最高のオーディオ品質スコアに対応する最上のオーディオ構成セットを提示することができる。さらに、あるオーディオ装置構成が特定の環境または特定のユーザに最も適していることを示すフィードバックを、ユーザに提示することができるであろう。例えば、あるオーディオ装置構成は、戸外での使用によく適するが、別のオーディオ構成は、コンピューティング装置が小さい領域に位置するときの使用により適している。別の例として、あるオーディオ装置構成は、より高い周波数範囲の音声を生成する女性の声により適していることがあり、別の構成は、より低い周波数範囲の音声を生成する男性の声により適していることがある。
【００４２】
図５は、ネットワーク上でリアルタイム通信セッションを実施するために使用することができ、本明細書で述べられる品質測定技術が動作することができる例示的なコンピュータシステム５００を示す。一実装形態では、コンピュータシステム５００を、デスクトップまたはラップトップコンピュータにより具現化することができるが、他の実装形態、例えばビデオゲームコンソール、セットトップボックス、携帯用ゲームシステム、携帯情報端末、および携帯電話は、述べられた技術を組み込むことができる。コンピュータシステム５００には典型的に、少なくとも１つの処理ユニット５０２およびメモリ５０４が含まれる。コンピュータシステム５００の正確な構成およびタイプに応じて、メモリ５０４は、揮発性（例えば、ＲＡＭ）、不揮発性（例えば、ＲＯＭおよびフラッシュメモリ）、またはその両方の何らかの組合せとすることができる。コンピュータシステム５００の最も基本的な構成は、破線５０６によって示されるように、処理ユニット５０２およびメモリ５０４のみを含む必要がある。
【００４３】
コンピュータシステム５００はさらに、メモリストレージまたは取出しのための追加の装置を含むことができる。これらの装置は、リムーバブルストレージデバイス５０８または非リムーバブルストレージデバイス５１０、例えば、磁気および光媒体においてメモリストレージおよび取出しのための磁気ディスクドライブ、磁気テープドライブ、および光ドライブとすることができる。記憶媒体は、リムーバブルと非リムーバブルの両方の揮発性および不揮発性媒体を含むことができ、記憶媒体を任意の数の構成、例えば、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、ＣＤ−ＲＯＭ、ＤＶＤまたは他の光学記憶媒体、磁気カセット、磁気テープ、磁気ディスク、または他の磁気記憶装置、あるいはデータを格納するために使用することができかつ処理ユニット５０２によってアクセスすることができる他のメモリ技術または媒体で提供することができる。データ、例えばコンピュータ読取可能命令、データ構造、およびプログラムモジュールの記憶のための任意の方法または技術を使用して、情報をストレージ媒体内に格納することができる。
【００４４】
コンピュータシステム５００は、システム５００が他の装置と通信することを可能にする１つまたは複数の通信インターフェース５１２を有することもできる。通信インターフェース５１２を、ＬＡＮ（local area network）、ＷＡＮ（wide area network）、電話網、ケーブルネットワーク、インターネット、直接有線接続、例えば無線周波数、赤外線、マイクロ波、または音響などの無線ネットワーク、あるいは装置間のデータ転送を可能にする他のネットワークに接続することができる。データは一般に、変調データ信号、例えば搬送波または他のトランスポート媒体を介してネットワーク上で、通信インターフェース５１２との間で伝送される。変調データ信号は、信号内のデータを符号化するような手法で設定または変更することができる特性を有する電磁信号である。
【００４５】
コンピュータシステム５００はさらに、様々な入力装置５１４および出力装置５１６を有することができる。例示的な入力装置５１４は、キーボード、マウス、タブレット、タッチスクリーン装置、スキャナ、視覚入力装置、およびマイクロホンまたは他の音声入力装置を含むことができる。例示的な出力装置５１６は、ディスプレイモニタ、プリンタ、およびスピーカを含むことができる。このような入力装置５１４および出力装置５１６を、コンピュータシステム５００に組み込むことができ、あるいは、有線または無線で、例えばBluetoothプロトコルを介してコンピュータシステム５００に接続することができる。これらの組み込まれた入出力装置または周辺入出力装置は一般に、よく知られており、本明細書ではさらに論じない。一実装形態では、例えばサンプルオーディオファイルを含むオーディオ品質を決定するための方法またはモジュールを実装するプログラム命令は、メモリ５０４、ストレージデバイス５０８および５１０で具現化され、処理ユニット５０２によって実行される。例えばオーディオレンダリングモジュールおよびオーディオキャプチャモジュールによって実行される他の機能を、コンピュータシステム５００の不揮発性メモリ５０４内のオペレーティングシステムによって実行することができる。
【００４６】
本明細書に述べられた技術は、１つまたは複数のシステム内の論理操作および／またはモジュールとして実装される。論理操作を、１つまたは複数のコンピュータシステム内で実行するプロセッサ実装ステップのシーケンスとして、ならびに、１つまたは複数のコンピュータシステム内の相互接続したマシンまたは回路モジュールとして実装することができる。同様に、様々なコンポーネントモジュールについて説明を、モジュールによって実行または達成される操作に関して提供することができる。結果としてもらされる実装形態は、述べられた技術を実装する、基礎となるシステムの性能要件に応じた選択の問題である。したがって、本明細書で述べられた技術の実施形態を構成する論理操作は、操作、ステップ、オブジェクト、またはモジュールと様々に呼ばれる。さらに、明示的に特許請求の範囲に記載されない限り、またはクレームの文言によって特定の順序が本質的に必要とされない限り、論理操作を任意の順序で実行することができることを理解されたい。
【００４７】
上記の詳述、実施例、およびデータは、本発明の例示的な実施形態の構造および使用についての完全な説明を提供する。本発明の様々な実施形態を、ある程度の具体性とともに、あるいは１つまたは複数の個々の実施形態を参照して上記で述べたが、当業者であれば、本発明の精神または範囲から逸脱することなく、開示された実施形態に様々な変更をすることができるであろう。特に、述べられた技術は、パーソナルコンピュータとは独立に利用することができることを理解されたい。したがって、他の実施形態が検討される。上記説明に含まれ、添付の図面に示されるすべての事項は、限定ではなく、特定の実施形態の例にすぎないと解釈されることを意図している。以下の特許請求の範囲で定義される本発明の基本的な要素から逸脱することなく、詳細または構造の変更を行うことができる。
【図面の簡単な説明】
【００４８】
【図１】接続された複数のオーディオ装置を有する例示的なパーソナルコンピュータシステムを示す図である。
【図２】オーディオ装置構成の品質を決定するためのコンピュータシステム内の例示的なモジュールを示す図である。
【図３】オーディオ装置品質を決定するためにモジュールによって実行される一連の例示的な操作を示す図である。
【図４】オーディオ装置品質スコアを決定するために実行される別の一連の例示的な操作を示す図である。
【図５】リアルタイム通信セッションおよび他のオーディオ入出力機能を実施するための例示的なコンピュータシステムを示す図である。
【図１】
2009518662.tif 000003
【図２】
2009518662.tif 000004
【図３】
2009518662.tif 000005
【図４】
2009518662.tif 000006
【図５】
2009518662.tif 000007
【国際調査報告】
2009518662.tif 000008
2009518662.tif 000009