(57)【特許請求の範囲】
【請求項１】
一つ又は複数のオブジェクトを表わすイメージ信号を生成するイメージピックアップデバイスと、
オーディオソースからの音を表わすオーディオ信号を生成するオーディオピックアップデバイスと、
ある基準点に対する、オーディオソースのオーディオに基づいた方向を決定するために前記オーディオ信号を処理するオーディオベースロケータと、
オーディオソースの方向にあるオブジェクトのビデオに基づいた位置を識別及び決定するため、肌色のピクセルを検出するために前記イメージ信号を処理するビデオ・フェイス・ロケーション・モジュールを含むビデオベースロケータと、
前記オーディオに基づいた方向及び前記ビデオに基づいた位置に基づいてオーディオソースの方向を決定するオーディオソースロケータと、
オーディオソースの方向にある前記オブジェクトをフレーミングするために、前記イメージピックアップデバイスを制御するポインティング制御モジュールと、を有するシステムであって、
前記オーディオソースロケータは、前記オブジェクトの前記ビデオに基づいた位置の、所定の基準点からのオフセットを決定し、前記オフセットに基づいて前記オーディオに基づいた方向を変更することによって前記方向を決定し、
前記ビデオベースロケータは、前記オブジェクトの輪郭を、一部又は全部、決定することにより、前記オブジェクトのビデオに基づいた位置を識別及び決定し、
前記ビデオベースロケータは、前記オブジェクトの前記輪郭を検出する際にパラメータを使用し、前記パラメータを１つの方向に変化させることは、オブジェクトの輪郭を検出する可能性を増大させ、及び前記パラメータを他の方向に変化させることは前記可能性を減少させ、また前記ビデオベースロケータは、前記オブジェクトの前記輪郭が検出された時、前記可能性を増大又は減少させるために前記パラメータを変化させる、ことを特徴とするシステム。
【請求項２】
ビデオのフレームのうち前のフレームの中のイメージのビデオに基づいた位置の、所定の基準点からの前に決定されたオフセットを記憶するメモリユニットを更に有し、前記オーディオソースロケータは、前記方向を決定するために、前記記憶されたオフセットに基づいて、前記オーディオに基づいた方向を変更することを特徴とする請求項１に記載のシステム。
【請求項３】
前記オーディオソースロケータは、前記オーディオに基づいた方向をビデオに基づいた位置に相関させ、前記相関の結果に基づいて、前記オーディオに基づいた方向を変更することを特徴とする請求項１に記載のシステム。
【請求項４】
前記ビデオベースロケータは、雑音レベルを判断し、前記雑音レベルの増大はイメージ中の人の輪郭を検出する可能性を減少させ、ビデオベースロケータは前記雑音レベルに基づいて前記パラメータを変化させることを特徴とする請求項１に記載のシステム。
【請求項５】
前記オーディオベースロケータは、前記オーディオソースの前記オーディオに基づいた方向を、前記オブジェクトの前記ビデオに基づいた位置と相関させ、前記オブジェクトが前記オーディオソースと対応するかどうかを判断し、
もし前記オーディオベースロケータが、前記オブジェクトは前記オーディオソースと対応しないと判断したなら、前記オーディオベースロケータは、前記オーディオソース及び前記オブジェクトの前記ビデオに基づいた位置が視界中に含まれるように、前記イメージピックアップデバイスの前記視界の調節を引き起こすことを特徴とする請求項１に記載のシステム。
【請求項６】
前記イメージ信号はビデオイメージのフレームを表わし、
前記オーディオベースロケータは、前記オーディオ信号に基づいて、前記基準点から前記オーディオソースへのオーディオに基づいた距離を決定し、
前記ビデオベースロケータは、ビデオの前記フレームに基づいて、前記基準点から前記オーディオソースへのビデオに基づいた距離を決定し、
前記オーディオソースロケータは、前記オーディオに基づいた距離及び前記ビデオに基づいた距離に基づいて前記距離を決定することを特徴とする請求項５に記載のシステム。
【請求項７】
イメージピックアップデバイスで、イメージ信号を生成するステップと、
オーディオソースからの音を表わすオーディオ信号を生成するステップと、
ある基準点に対する前記オーディオソースのオーディオに基づいた方向を決定するため、前記オーディオ信号を処理するステップと、
オーディオソースの方向にあるオブジェクトのビデオに基づいた位置を識別及び決定するため、肌色のピクセルを検出するために、前記イメージ信号を処理するステップと、
オーディオソースの方向にある前記オブジェクトをフレーミングするために、前記イメージピックアップデバイスを制御するステップと、を有する方法であって、
前記イメージ信号及び前記オーディオ信号を処理することが、さらに：
前記オブジェクトの前記ビデオに基づいた位置の所定の基準点からのオフセットを決定することと、
前記オフセットに基づいて、前記オーディオに基づいた方向を変更することによって前記方向を決定すること、を含み、
前記オブジェクトのビデオに基づいた位置を識別及び決定することは、前記オブジェクトの輪郭を一部又は全部、決定することにより前記オブジェクトのビデオに基づいた位置を識別及び決定することを含み、
前記オブジェクトの前記輪郭を検出することは、パラメータを使用することを含み、前記パラメータを１つの方向に変化させることは、オブジェクトの輪郭を検出する可能性を増大させ、及び前記パラメータを他の方向に変化させることは前記可能性を減少させ、前記オブジェクトの前記輪郭が検出された時、前記可能性を増大又は減少させるために前記パラメータが変化させられる、ことを特徴とする方法。
【請求項８】
前記オブジェクトをフレーミングするために、前記イメージピックアップデバイスの視界を変化させるステップを更に含む請求項７に記載の方法。
【請求項９】
前記イメージ信号及びオーディオ信号を処理する前記ステップは、所定の基準点からの、オブジェクトのビデオに基づいた位置の、前に決定されたオフセットに基づいて、前記オーディオソースの方向を決定するために、前記オーディオに基づいた方向を変更するステップを更に含むことを特徴とする請求項７に記載の方法。
【請求項１０】
前記イメージ信号及びオーディオ信号を処理する前記ステップは、
前記オーディオソースの前記オーディオに基づいた方向を、前記オブジェクトのビデオに基づいた位置と相関させ、前記オブジェクトが前記オーディオソースに対応するかどうかを決定するステップと、
ビデオのフレーミングされた前記オブジェクトが前記オーディオソースに対応すると判断される場合のみに、前記イメージピックアップデバイスのための制御信号を作り出す際に前記オーディオに基づいた方向を使用するステップとを更に含むことを特徴とする請求項７に記載の方法。
【請求項１１】
前記イメージ信号及びオーディオ信号を処理する前記ステップは、
複数のオーディオソースを検出するステップと、
前記イメージピックアップデバイスのための制御信号を作り出す際に使用する前記複数のオーディオソースのうちの少なくとも１つを認定すべきかどうかを決定するためにパラメータを使用するステップであって、前記パラメータを１つの方向に変化させることは、前記複数のオーディオソースのうちの前記少なくとも１つを認定する可能性を増大させ、また前記パラメータを他の方向に変化させることは、前記可能性を減少させるステップと、
前記オーディオソースの前記オーディオに基づいた方向を、オブジェクトのビデオに基づいた位置と相関させ、前記オブジェクトが前記オーディオソースに対応するかどうかを決定するステップと、
もし前記オブジェクトが前記オーディオソースに対応するなら、前記１つの方向に前記パラメータを変化させるステップとを更に含むことを特徴とする請求項７に記載の方法。
【請求項１２】
前記イメージ信号はビデオイメージのフレームを表わすことを特徴とし、
前記オーディオ信号に基づいて、前記基準点から前記オーディオソースへのオーディオに基づいた距離を決定するステップと、
ビデオのフレームのうちの１つの中の前記オブジェクトのイメージに基づいて、前記基準点から前記オーディオソースへのビデオに基づいた距離を決定するステップと、
前記オーディオに基づいた距離及び前記ビデオに基づいた距離に基づいて距離を決定するステップとを更に含むことを特徴とする請求項１１に記載の方法。
【発明の詳細な説明】
【０００１】
背景
この発明は、ビデオ会議システムを含む、基準点に関するオーディオソースの方向を決定するシステムに関する。
【０００２】
ビデオ会議システムは、視覚的表示システムの１つの形態であり、カメラ、多くのマイクロホン、及びディスプレイを通常含む。いくつかのビデオ会議システムは、話者の方にカメラを向けて、適切なカメラのショットを作る性能も有する。通常、ビデオ会議システムのユーザが、カメラを向けて適切なショットを作る。
【０００３】
要約
１つの一般的な態様では、本発明は、イメージピックアップデバイス、オーディオピックアップデバイス、及びオーディオソースロケータを含むシステムを特徴とする。イメージピックアップデバイスは、イメージを表わすイメージ信号を生成し、一方オーディオピックアップデバイスは、オーディオソースからの音を表わすオーディオ信号を生成する。オーディオソースロケータは、イメージ信号及びオーディオ信号を処理し、基準点に関するオーディオソースの方向を決定する。
【０００４】
他の一般的な態様では、本発明は、イメージピックアップデバイス及びフェイスディテクタを含むシステムを特徴とする。イメージピックアップデバイスは、イメージを表わすイメージ信号を生成する。フェイスディテクタは、イメージ信号を処理し、肌の色調の色を有するイメージ中の領域を検出し、その検出に基づいて、そのイメージが顔を表わしているかどうかを判断する。
【０００５】
更に他の一般的な態様では、本発明は、マイクロホン、カメラ、ポジショニングデバイス、プロセッサ、及び送信機を含むビデオ会議システムを特徴とする。マイクロホンは、オーディオソースからの音を表わすオーディオ信号を生成し、カメラは、ビデオイメージを表わすビデオ信号を生成する。ポジショニングデバイスは、カメラを、例えば、チルト(tilt)したり、パンしたり又はズームしたりするための、カメラを適当に位置させる性能がある。プロセッサは、ビデオ信号及びオーディオ信号を処理して基準点に関する話者の方向を決定し、また、カメラの視界に話者が含まれるようカメラを位置させるために、決定された話者の方向に基づいて生成された制御信号を、ポジショニングデバイスに供給する。送信機は、オーディオソースの位置を決定するために使用されたオーディオ及びビデオ信号と同じとすることができるオーディオ及びビデオ信号を、ビデオ会議のために送信する。
【０００６】
他の一般的な態様では、本発明は、マイクロホン、カメラ、ポジショニングデバイス、プロセッサ、及び送信機を含むシステムを特徴とする。マイクロホンは、オーディオソースからの音を表わすオーディオ信号を生成し、カメラはビデオイメージを表わすビデオ信号を生成する。ポジショニングデバイスは、カメラを、例えば、チルトしたり、パンしたり又はズームしたりするための、カメラを適当に位置させる性能がある。プロセッサは、オーディオ信号を処理して基準点に関する話者の方向を決定し、また、カメラの視界に話者が含まれるようカメラを位置させるために、決定された話者の方向に基づいて生成された制御信号を、ポジショニングデバイスに供給する。送信機は、オーディオソースの位置を決定するために使用されたオーディオ及びビデオ信号と同じとすることができるオーディオ及びビデオ信号を、ビデオ会議のために送信する。
【０００７】
好適な実施形態は、以下の特徴の１以上を含むことができる。
【０００８】
イメージピックアップデバイスは、イメージピックアップデバイスを位置させるためのポジショニングデバイスを含む。オーディオソースロケータは、決定されたオーディオソースの方向に基づいてイメージピックアップデバイスを位置させるため、ポジショニングデバイスに制御信号を供給する。ポジショニングデバイスは、次に、制御信号に応じてイメージピックアップデバイスをパンしたり、チルトしたり、及びオプションとしてズームしたりすることができる。
【０００９】
統合されたビデオ会議システムのための統合されたハウジングは、イメージピックアップデバイス、オーディオピックアップデバイス、及びオーディオソースロケータを含み、またその統合されたハウジングはポータブルであるような大きさである。他の実施形態では、ハウジングは、マイクロホン、カメラ、ポジショニングデバイス、プロセッサ、及び送信機を含む。
【００１０】
話者の顔のイメージは、ビデオフレーム中に検出される。顔のイメージは、ビデオフレーム中の肌の色調の色を有し、また、例えばビデオフレームを前のビデオフレームと比較することによって確定される、動いている顔を表わす領域を識別することにより検出される。肌の色調の色を有する領域の大きさが、予め選択された標準の顔の大きさを表わす、あらかじめ選択された大きさに対応するかどうかが次に決定される。もし、肌の色調の色を有する領域が、肌の色調の色の人間ではない物体に対応するなら、その領域は顔のイメージには対応しないと決定される。基準点に関する顔の方向も決定される。
【００１１】
オーディオソースロケータは、オーディオ信号に基づいた、オーディオに基づくオーディオソースの方向を決定するためのオーディオベースロケータ(audio based locator)、及びビデオフレームの１つ中のイメージのビデオに基づく位置を決定するためのビデオベースロケータ(video based locator)を含む。そのイメージは、話者の物体又は顔であり得るオーディオソースのイメージであろう。オーディオソースロケータは、次に、オーディオに基づく方向及びビデオに基づく方向に基づいた、基準点に関するオーディオソースの方向を決定する。
【００１２】
オーディオソースロケータは、オーディオ信号に基づいて話者を検出すること、ビデオ信号に基づいて複数の人の顔のイメージを検出すること、及び、話者の顔のイメージを検出するために、検出されたイメージを話者と相関させることによって、話者の顔のイメージを検出する。
【００１３】
オーディオソースロケータは、ビデオフレーム中の所定の基準点からの、イメージのビデオに基づく位置のオフセットを決定し、及びそのオフセットに基づいて、基準点に関するオーディオソースの位置を決定するために、オーディオに基づく位置を変更する。この方法で、オーディオソースロケータは、例えば、システムの構成部品中の機械的整列不良が原因の、オーディオソースの方向を決定する際のエラーを修正することができる。
【００１４】
オーディオソースロケータは、前のビデオフレーム中のイメージのビデオに基づく位置のあらかじめ決められたオフセットを使用し、またオーディオソースの位置を決定するためにオーディオに基づく方向を変更する。このようにして、オーディオソースロケータは、例えば、システムの構成部品中の機械的整列不良が原因の、オーディオソースを決定する際の、今後のエラーを防止することができる。
【００１５】
オーディオソースロケータは、話者の動きを検出し、またそれらの動きに応じて、イメージピックアップデバイスの視界中での増加を引き起こす。このようにして、オーディオソースロケータは、例えば、人を追うためにイメージピックアップデバイスを動かす必要なしに人が動くときに、人を撮影するイメージピックアップデバイスを提供する。
【００１６】
オーディオソースロケータは、オーディオ信号に基づいたオーディオに基づく方向を、ビデオフレーム中のイメージの記憶されたビデオに基づく位置に相関させ、また、その相関の結果に基づいて、オーディオに基づく方向を変更して基準点に関するオーディオソースの方向を決定するために、オーディオに基づく方向を変更する。そうするために、例えば、オーディオソースロケータは、それの正確さを向上させるため、それの処理を変更する。
【００１７】
メモリユニットは、オーディオ信号に基づいたオーディオソースの予め決められた方向、及び前の１つのビデオフレーム中の、話者でない人の顔のイメージのあらかじめ決められたビデオに基づく位置を記憶する。オーディオソースロケータは、記憶されたオーディオに基づく方向及びビデオに基づく位置を使用して、オーディオソース及びあらかじめ決められたビデオに基づく位置を視界中に含むような、イメージピックアップデバイスの視界中の調節を引き起こす。このようにして、オーディオソースロケータは、例えば、話者及び話者でない人の両方を含んだ、部屋の撮影を行うことができる。
【００１８】
オーディオベースロケータは、複数のオーディオソースを検出し、また、１つの方向におけるパラメータを変化させることが、オーディオベースロケータが複数のオーディオソースの少なくとも１つを認定する(validate)可能性を増加させ、他の方向におけるパラメータを変化させることが、複数のオーディオソースの少なくとも１つを認定する可能性を減少させる場合に、イメージピックアップデバイスのための制御信号を作り出す際に複数のオーディオソースの少なくとも１つを認定するかどうかを決定するために少なくとも１つのパラメータを使用する。オーディオソースロケータは、ビデオフレーム中のイメージがオーディオソースに対応するかどうかを決定するため、オーディオソースのオーディオに基づく方向を、あるフレーム中のイメージの記憶されたビデオに基づく位置と相関させる。もしビデオのそのフレーム中のイメージが、オーディオソースに対応するなら、オーディオベースロケータは、認定する可能性を増大させる方向のパラメータを変化させる。もし、イメージがオーディオソースに対応しないなら、オーディオベースロケータは、認定する可能性を減少させる方向のパラメータを変化させる。このようにして、例えば、オーディオソースロケータの応答時間は、動的にモニタされて改善される。
【００１９】
オーディオソースロケータは、オーディオソースのオーディオに基づく方向を、ビデオのフレーム中のイメージのビデオに基づく位置と相関させ、そのイメージがオーディオソースに対応するかどうかを決定する。もし、オーディオソースロケータが、そのイメージはそのオーディオソースに対応しないと決定すると、オーディオソースロケータは、オーディオソース及びビデオフレーム中のイメージのビデオに基づく位置を視界中に含むような、イメージピックアップデバイスの視界中の調節を引き起こす。このようにして、例えば、オーディオソースロケータは、全体のカメラの方向のエラーを防止する準備をすることができる。オーディオソースロケータは、基準点からオーディオソースまでの距離を決定することもできる。オーディオベースロケータは、オーディオ信号に基づいて基準点からオーディオソースへの距離を決定し、一方ビデオベースロケータは、オーディオソースに関するイメージに基づいて基準点からオーディオソースまでの他の距離を決定する。オーディオソースロケータは、次に、オーディオに基づく距離及びビデオに基づく距離に基づいて、最終的な距離を決定する。
【００２０】
いくつかの実施形態では、ビデオベースロケータは、動いている人を表わす領域を検出すること、及び、部分的又は全体的に、動いている人のイメージの輪郭を決定することにより、ビデオに基づくイメージの位置を決定する。ビデオベースロケータは、ある方向のパラメータを変化させることがイメージの輪郭を検出する可能性を増大させ、他の方向のパラメータを変化させることが可能性を減少させる場合に、イメージの輪郭を検出する際にパラメータを使用する。ビデオベースロケータは、イメージの輪郭を検出するとき、可能性を増大又は減少させるために、パラメータを変化させる。例えば、雑音レベルの増大がビデオイメージ中の人を表わす輪郭を検出する可能性を減少させ、またビデオベースロケータが雑音レベルに基づいてパラメータを変化させる場合に、ビデオベースロケータは雑音レベルを決定する。例えば高い雑音レベルでは、ビデオベースロケータは、イメージの輪郭を検出する可能性を増大させるようにパラメータを変化させる。これらの実施形態では、オーディオソースロケータは、イメージピックアップデバイスを位置させるため、制御信号をポジショニングデバイスに供給する。制御信号は、ポジショニングデバイスがイメージピックアップデバイスをパンさせるための、オーディオ信号に基づいて検出された、オーディオに基づく方向に基づいた信号、及びイメージピックアップデバイスをチルトするための、ビデオに基づいて検出された、ビデオに基づく位置に基づいた信号を含む。
【００２１】
本発明の実施形態は、これらの利点の１以上を含む。
【００２２】
オーディオ及びビデオの両方に基づいた、基準点に関するオーディオソースの方向及び／又は位置を決定することは、自動カメラポインティング(pointing)システムの全体の性能を向上させる、チェックアンドバランスのシステムの用意をする。
【００２３】
共通のイメージ処理ブロックの低い複雑さと大きさを変えられる(scaleable)組み合わせとは、本発明の実施形態を実施するために使用することができる。そのような実施形態は、利点としては、計算の及びメモリの要件が低く、同時に、ビデオ会議のような種々の用途のための強健な性能を提供する。
【００２４】
ビデオ会議システムのような、オーディオ信号に基づいて話者の位置を決定するいくつかの視覚的なシステムでの種々のタイプのエラーは、修正することができ、また多分防止することができる。エラーのために修正されるものには、パン及びチルトの機械的な整列不良(misalignment)のエラー、距離の測定及び関連するズームのエラー、及び全体のポインティングのエラー(pointing error)を含む。防止することができるエラーには、全体のポインティングのエラーが含まれる。更に、そのような視覚的システムの応答時間を減少させることができる。
【００２５】
いくつかの実施形態では、そのようなオーディオの及び視覚的なシステムで自動的にカメラの撮影を設定するためのシステム及びアルゴリズムの性能は、改善される。例えば、より良好な「部屋での撮影(room shot)」は、ビデオイメージに基づいて検出される話者でない人を含むことにより得ることができる。プレゼンテーションを行っている人のような動いている話者は、彼のイメージを追跡することにより、追跡することができる。
【００２６】
また、ビデオ会議システムのいくつかの実施形態では、システムの望ましい値段及び大きさのために、例えば、チルトの情報を提供するためにマイクロホンアレイを用意することは非現実的である。そのような実施形態では、オーディオベースロケータは、オーディオソースのオーディオに基づく方向を見つけることができ、カメラポジショニングデバイスがカメラをパンするようにする。次に、ビデオベースロケータは、話者のイメージを検出することができ、カメラポジショニングデバイスがカメラをチルトするようにする。このようにして、システム中の既に利用可能なリソース（すなわちビデオ信号）は、それと違って利用できない特徴であるチルトを提供するために使用される。
【００２７】
本発明の実施形態は、統合されたポータブルなビデオ会議ユニットを含む。これらのユニットでは、オーディオ信号はパンの情報を与えるために使用される一方、ビデオイメージは、チルト情報、及び多分ズーム情報を与えるために使用することができる。
【００２８】
更に、オーディオベースロケータは、普通、ビデオベースロケータより計算が集中しない。そのため、オーディオに基づく検出を使用して話者の位置を決定し、オーディオに基づく検出に基づいてイメージピックアップデバイスを動かし、そしてカメラの位置及びフレーミングを修正するために、ビデオベースロケータからの結果を使用することが、より迅速である。
【００２９】
オーディオベースロケータからの結果は、それら自身によっては使用されずビデオ技術と組合わせられるため、オーディオベースロケータの実施形態は、それらが、そうでないなら、そうならなくてはいけないくらいに精密である構成部品を使用して実施することができる。
【００３０】
説明
図１は、典型的なビデオ会議システム１０を概略的に示す。ビデオ会議システム１０は、ビデオカメラ１４、及び所定の幾何学的配列中でお互いから所定の距離をおいて位置するマイクロホン１２Ａ、１２Ｂ、１２Ｃ、１２Ｄを含むマイクロホンのアレイ１２を含む。ビデオカメラ１４は、ビデオカメラ１４をパン、チルト、及びズームさせることができるカメラポジショニングデバイス１６上に設置される。
【００３１】
簡潔に言うと、動作中、ビデオ会議システム１０は人間の話者から音波を受け取り、それをオーディオ信号に変換する。ビデオ会議システムは、話者のビデオイメージもキャプチャーする。ビデオ会議システム１０は、オーディオ信号及びビデオイメージを使用し、基準点、例えばカメラ１４すなわちカメラポジショニングデバイス１６の回転の中心に関する話者の位置を決定する。その方向に基づいて、ビデオ会議システム１０は、次にカメラ１４をパン、チルト、又はズームイン又はズームアウトし、話者のより良好なイメージを得ることができる。
【００３２】
一般的に、カメラ１４に関する話者の位置は、２つの値：ベクトルより表現することができるカメラ１４に関する話者の方向、及びカメラ１４からの話者の距離により特徴づけることができる。容易に明らかであるように、カメラ１４に関する話者の方向は、カメラ１４をパンしたりチルトしたりすることによってカメラ１４を話者に向かってポインティングするために使用することができ、またカメラ１４からの話者の距離はカメラ１４をズームするために使用することができる。
【００３３】
図２は、ビデオ会議システム１０の構成部品を概略的に示す。マイクロホン１２及びカメラ１４はそれぞれオーディオ信号２２及びビデオ信号２４をオーディオ及びビデオ信号処理ユニット２０に供給する。オーディオ及びビデオ信号処理ユニット２０は、話者の位置を決定するためにオーディオ信号２２及びビデオ信号２４を分析するオーディオソースロケータ２８を含む。オーディオソースロケータ２８は、カメラポジショニングデバイス１６及びカメラ１４に、カメラ１４をパン、チルト、及びズームするためのカメラ制御信号２６を供給する。
【００３４】
オーディオ及びビデオ信号処理ユニット２０は、コーダ／デコーダ３０にもオーディオ信号２２及びビデオ信号２４を供給する。コーダ／デコーダ３０は、オーディオ及びビデオ信号を圧縮し、そして圧縮されたビデオ信号及びオーディオ信号を、遠隔通信ネットワーク４２を横切って受信しているビデオ会議システム（図示せず）に信号を送信するネットワークインターフェース４０に供給する。制御及びユーザインターフェース階層５０により、ユーザは、オーディオ及びビデオ信号処理ユニット２０、コーダ／デコーダ３０、及びネットワークインターフェース４０を含むビデオ会議システム１０の種々の構成部品の動作と対話し、制御することができる。
【００３５】
図３は、オーディオソースロケータ２８の種々の機能モジュールを示す。これらのモジュールは、例えば、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）及び／又は他の形態のメモリのような適切なメモリを有するマイクロプロセッサのような、適切にプログラムされたプロセッサにより実行することができる。他には、図３中のモジュールの機能を実行するための適切なプロセッサは、プログラマブルデジタルシグナルプロセッサ、ミニコンピュータ、マイクロコントローラ、プログラマブルロジックアレイ及びアプリケーションスペシフィックインテグレイテッドサーキット（ＡＳＩＣ）を含む。他の実施形態では、図３中のいくつか又は全てのモジュールは、ビデオ会議システム１０の部分ではないプロセッサ上で走るように実施することができる。
【００３６】
ビデオ会議システム１０では、ビデオ会議システム１０を構成する種々の構成部品及び回路は、図１中に示された統合されたハウジング１０Ａ内に収容することができることは注意すべきである。統合されたハウジング１０Ａは、ビデオ会議システム１０の全ての構成部品及び回路を収容することができるように設計されている。更に、統合されたハウジング１０Ａは、人によって容易に可搬であるような大きさにすることができる。そのような実施形態では、構成部品及び回路は、人によって運搬されることに耐えるように、また、ビデオ会議システムを新しい環境に迅速に設置して使用することができるように「プラグ・アンド・プレイ」の性能を有するようにも設計することができる。
【００３７】
いくつかの他の実施形態では、マイクロホンアレイ１２、カメラ１４、カメラポジショニングデバイス１６、及びオーディオソースロケータ２８は他の構成部品から分離することができ、また自動カメラポジショニングデバイス中に含ませることができる。そのような実施形態では、ホストのビデオ会議デバイスは、ビデオ会議システム１０の他の構成部品を含む。自動カメラポジショニングデバイス及びホストのビデオ会議デバイスは、次に一緒にビデオ会議システムを構成する。
【００３８】
一般的な用語のビデオ会議システム１０で説明してきたが、オーディオ及びビデオ信号プロセッサ２０のオーディオソースロケータ２８の動作を今から詳細に説明していく。オーディオベースロケータ（又はオーディオベースディテクタ）７０は、オーディオ信号２２を受信し、マイクロホンアレイに関する話者（すなわちオーディオソース）の位置を決定する。次に、オーディオベースロケータ７０は、カメラ１４をパン、チルト、及びズームすることに関する、一連のカメラポジショニング命令を生成する。これらの命令は、ビデオベースロケータ（又はビデオベースディテクタモジュール）６０により実行される顔の検出及び位置分析に部分的に基づくことができる。オーディオベースロケータ７０は、次に、カメラ制御モジュール８０にこれらのカメラポジショニング命令を供給する。カメラ制御モジュール８０が、これらのカメラポジショニング命令に従ってカメラ１４を動かした後、ビデオベースロケータ６０は、デジタル信号として受信し、メモリストレージユニット（図示せず）中にデジタルデータとして記憶された、ビデオフレーム２４中のイメージを分析する。ビデオベースロケータ６０は、そのイメージ中の人間の顔を検出し、それが検出されたビデオフレーム中での基準点に関するそれらの位置を決定する。カメラ制御モジュール８０は、次に、検出されたビデオの顔を検出されたオーディオの話者と相関させ、その相関を使用してカメラのフレーミングのエラーを修正又は防止する。
【００３９】
図４は、オーディオソースロケータ２８の動作のフローチャートである。ビデオベースロケータ６０は、処理モジュール１０２〜１１０を含み、一方、オーディオベースロケータ６０が処理モジュール１１２〜１１８を含む。これらの処理モジュールのそれぞれは、以下に詳細に説明していく。簡潔に言えば、ビデオ・フェイス・ロケーション・モジュール(video face location module)１０２は、ビデオ信号２４を分析し、単一のビデオフレーム中の顔を検出する。ビデオ・オフセット／エラー測定モジュール１０４は、ある所定の、静的な基準点（例えば、ビデオイメージの中心）及び／又は動的な基準点（例えば、現在検出している話者）からの、検出された顔の位置のオフセットを測定する。フェイス・ロケーション・トラッキング・モジュール(face location tracking module)１０６は、現在のビデオフレームから検出された顔を前のビデオフレームで検出された顔と相関させ、そのようにして一連のフレームを通して検出された顔を追跡する。この追跡により、以下に説明するように、ビデオフレーム中で動いている話者の適切な位置を得ることができる。この追跡を実行するため、フェイス・ロケーション・トラッキング・モジュール１０６は、それぞれの検出された顔のための追跡ファイルを作り出して維持する。
【００４０】
モジュール１０２〜１０８は、ビデオフレームに基づいたビデオ座標システム(video coordinate system)に関して種々の測定を計算する。ビデオ座標システムは、カメラ１４によりキャプチャーされたそれぞれのフレームに適用される。ビデオ座標システムは、水平のすなわちｘ−軸、及び垂直のすなわちｙ−軸を有する。画素又はイメージの位置を決定するとき、モジュール１０２〜１０８は、画素又はイメージのビデオフレームのｘ−軸及びｙ−軸に関する位置を決定する。カメラ制御モジュール８０及びオーディオベースロケータ７０は、今度は、カメラ１４に関する話者の方向、及びカメラ１４から話者までのレンジ(range)すなわち距離を表現する、パン、チルト、及びズーム角に基づいた話者の位置を示すオーディオ座標システム(audio coordinate system)を使用する。オーディオ座標モジュール１０８への変換は、フレームがカメラ１４によってキャプチャーされたときのカメラ１４のパン、チルト、及びズームの値を使用して、ビデオ座標システムで表現された座標測定値を、オーディオ座標システムで表現された座標測定値に変換する。逆に、オーディオベースロケータ７０のビデオ座標モジュール１１２への変換は、フレームがカメラ１４によってキャプチャーされたときのカメラ１４のパン、チルト、及びズームの値をまた使用して、オーディオ座標システムで表現された座標測定値を、ビデオ座標システムで表現された座標測定値に変換する。
【００４１】
フェイス・ロケーション・メモリ・モジュール１１０は、以下に説明していくように、モジュール１０２〜１０８中の処理の結果をメモリ中に記憶する。このロケーションの決定の結果は、通常、一組のパン、チルト、及びレンジの座標測定値である。スピーカ・バリデーション・アンド・フレーミング・モジュール(speaker validation and framing module)１１６は、話者の検出された位置が有効な検出であるかどうかを決定する。現在及び前の検出の結果に基づいて、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、次に、最も適切なカメラのパン、チルト、及びズーム（すなわち、最も適切なカメラの撮影又はフレーミング）を決定する。スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、以下に説明していくように、適当なカメラの撮影を改善するため、ビデオベースロケータ６０に得られた測定値を使用することができる。オーディオ・ロケーション・メモリ１１８は、モジュール１１４〜１１６中の処理の結果を記憶する。
【００４２】
カメラ制御モジュール８０は、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６から、適切なカメラフレーミング命令を取得する。カメラ制御モジュール８０は、ビデオベースロケータ６０から、ビデオ信号とオーディオ信号とに基づいて検出された話者の位置の間の、オフセット及び／又はエラー測定値も取得する。カメラ制御モジュール８０は、次に、機械的な整列不良のエラーを修正するため、以下に詳細に説明していくように、ビデオベースロケータ６０から取得した値を使用して、オーディオベースロケータ７０から取得した望ましいカメラのフレーミングを調節する。
【００４３】
ビデオベースロケータ６０の種々のモジュールの動作を、今から詳細に説明していく。ビデオベースロケータ６０では、ビデオ・フェイス・ロケーション・モジュール１０２は、カメラ１４からのビデオイメージの現在及び前のフレームを分析し、現在のフレーム中の顔の位置を決定する。図５は、ビデオ・フェイス・ロケーション・モジュール１０２によって実行される詳細なステップのフローチャートである。簡潔に言えば、ビデオ・フェイス・ロケーション・モジュール１０２は、肌の色調の色を有しており、動いた画素を表わす画素を検出することに基づいて、フレーム中の顔を含み得る領域すなわち部分を識別する。
【００４４】
ビデオ・フェイス・ロケーション・モジュール１０２は、メモリ中に記憶されている、現在の及び前のビデオフレーム１３２を、最初に検索する。説明される実施形態では、顔の検出のためのビデオフレームは、毎秒３〜５フレームで、輝度(luminance, luma)のために３２０×２４０画素の解像度、及びクロミナンス(chrominance, chroma)のために１６０×１２０画素を用いて、４２０ＹＵＶフォーマットでキャプチャーされる。輝度値は、次に、より低い１６０×１２０の解像度にサンプリングされる。他には、輝度及びクロミナンスのために１７２×１４４の解像度を有するＱＣＩＦビデオを使用できる。他の実施形態では、他のビデオフォーマット、解像度などが使用できる。
【００４５】
ビデオ・フェイス・ロケーション・モジュール１０２は、次に、ステップ１３４で、検索されたフレーム中のイメージを肌の色調の２進マップに変形するが、ここで、肌の色調の色に対応するクロミナンス値を有するそれぞれの画素に、肌の色調の２進マップ中で「１」の値が割り当てられる（以後、「肌の色調の画素」と呼ぶ）。図６は、肌の色調の２進マップを作り出すアルゴリズム６００のための擬似コードである。それぞれの画素に対して（ステップ６０５）、ビデオ・フェイス・ロケーション・モジュール１０２は、肌の色調の色のためのクロミナンスの閾値を対照として画素のクロミナンス値をテストする。これらのクロミナンス又は肌の色調の閾値は、例えば、−５０＜Ｃｂ＜−５及び７＜Ｃｒ＜６０に設定することができる。これらの値により、肌の色調又は照明にかかわりなく、高いパーセンテージの肌の色調の画素を検出することになる。しかし、これらの閾値により、色が肌の色調の閾値の範囲内にある顔でない物体に対応する画素を、誤って検出することにもなる。もし、テストしている画素のクロミナンス値が、肌の色調の閾値内にあれば（ステップ６１０）、ビデオ・フェイス・ロケーション・モジュール１０２は、肌の色調マップ中のその画素に「１」の値を割り当てる（ステップ６１５）。もし画素のクロミナンス値が肌の色調の閾値内になければ（ステップ６２０）、ビデオ・フェイス・ロケーション・モジュール１０２は、肌の色調マップ中のその画素に「０」の値を割り当てる（ステップ６２５）。
【００４６】
図５に戻って参照すると、ビデオ・フェイス・ロケーション・モジュール１０２は、次にステップ１３６でフレームを分析し、肌の色調の２進マップ中の肌の色調のどの画素が、前のフレーム（以後、「モーション画素」と言う）から移動した物体に対応するかを検出する。人の顔は普通動いている。そのため、動いている物体に対応しない画素を識別することにより、ビデオ・フェイス・ロケーション・モジュール１０２は、高いパーセンテージの、誤って検出された肌の色調の画素を拒絶する。図７は、モーション画素を検出するアルゴリズム７００のための擬似コードである。それぞれの画素（ステップ７０５）に対して、もしその画素の肌の色調の２進マップの値が「１」であれば（ステップ７１０）、ビデオ・フェイス・ロケーション・モジュール１０２は、その画素もモーション画素であるかどうかを決定する。それを行うために、ビデオ・フェイス・ロケーション・モジュール１０２は、前のフレーム中の同じ画素の輝度値を対照として、その画素の輝度値をテストする。もし輝度値の差の絶対値が、モーション閾値より小さければ（説明している実施形態では、モーション閾値は、８ビットの輝度に対して５である）、ビデオ・フェイス・ロケーション・モジュール１０２は、その画素は動いていない物体に対応すると決定し、その画素に対する肌の色調の２進マップ値に「０」を再び割り当てる（ステップ７１５〜７２０）。
【００４７】
図５に戻って参照すると、モーション検出のステップ１３６の後、ビデオ・フェイス・ロケーション・モジュール１０２は、ステップ１３８で、肌の色調の検出にフィルタを使用し、雑音に起因する誤った検出を減少させる（ステップ１３８）。
【００４８】
種々のタイプのフィルタを、雑音の影響を除去したり減少させたりするために、使用することができる。説明している実施形態では、ビデオ・フェイス・ロケーション・モジュール１０２は、線形二次元フィルタ、すなわち１の係数を有する５×５のボックスカーフィルタ(box car filter)を使用する。ビデオ・フェイス・ロケーション・モジュール１０２は、フィルタにかけている画素を取り囲む５×５の画素の四角形中の、肯定的な肌の色調及びモーションの検出の数を加えることにより、このフィルタを特定の画素に使用する。もし、その合計が所定の閾値より大きければ、その画素に対する肌の色調の２進マップの値は、「１」に設定される。そうでなければ、ビデオ・フェイス・ロケーション・モジュール１０２は、その画素に対する肌の色調の２進マップの値を「０」に設定する。
【００４９】
ビデオ・フェイス・ロケーション・モジュール１０２は、次にステップ１４０で、肌の色調の２進イメージマップを、肌の色調の画素が隣接する部分を含み、そのため顔のイメージを含み得る領域（以後、「顔領域(face segment)」と呼ぶ）を取り囲む長方形の部分（すなわちボックス）に区分する。イメージを区分するために、ビデオ・フェイス・ロケーション・モジュール１０２は、肌の色調の２進マップのそれぞれの行をスキャンし、その行中で隣接する肌の色調の画素のそれぞれの組の開始及び終了を決定するが、ここで、ある組の中のそれぞれの画素は、全体の組に対する平均したクロミナンス値に近いクロミナンス値を有する。ビデオ・フェイス・ロケーション・モジュール１０２がそのような組を見つけたとき、ビデオ・フェイス・ロケーション・モジュール１０２は、その組の位置及び平均したクロミナンス値と、現在のフレーム中の前に識別されたすべての顔領域の位置及び平均したクロミナンス値との間の差を決定する。次に、ビデオ・フェイス・ロケーション・モジュール１０２は、計算された差は所定の閾値内にあったし、またすべての前に識別された顔領域に対して計算された最小の差でもあった画素の組を顔領域に取り付ける。ビデオ・フェイス・ロケーション・モジュール１０２は、必要なら、新しい画素の組を含むように顔領域の大きさを調節する。更に、ビデオ・フェイス・ロケーション・モジュール１０２は、追加した新しい画素の組内の顔領域に対する平均したクロミナンス値を再計算する。ビデオ・フェイス・ロケーション・モジュール１０２は、このようにして、それぞれの肌の色調の画素に顔領域を割り当てる。もし、画素の組が前に検出された顔領域に一致しなければ、ビデオ・フェイス・ロケーション・モジュール１０２は、その画素の組を使用して新しい顔領域を作り出す。
【００５０】
領域／顔分類ステップ１４２では、ビデオ・フェイス・ロケーション・モジュール１０２は、次に、検出された顔領域のすべてを調べ、顔を表わしていそうにない顔領域を拒絶する。ビデオ・フェイス・ロケーション・モジュール１０２は、顔領域が顔を表わしていそうかどうかを決定するために、２つの方法を使用する。第１の方法によると、ビデオ・フェイス・ロケーション・モジュール１０２は、顔領域の大きさが、カメラのレンジの値に与えられた、典型的な又は予め選択された標準的な頭のイメージのデフォールトの大きさに対応するかどうかを決定する。もし、顔領域の大きさが、そのレンジでのデフォールトのイメージの大きさ（又は、デフォールトのイメージの大きさの１２５％のような、拡大又は縮小した、そのレンジでのデフォールトのイメージの大きさ）より小さければ、ビデオ・フェイス・ロケーション・モジュール１０２は、顔領域が顔を表わしていそうでないと決定する。更に、もし顔領域の割合が、典型的な頭に対する範囲（例えば、高さと幅の比率が１．５）内になければ、ビデオ・フェイス・ロケーション・モジュール１０２は、その顔領域は顔を表わしていそうでないと決定する。
【００５１】
第２の方法によると、ビデオ・フェイス・ロケーション・モジュール１０２は、肌の色調の色の背景上を移動する影のために又は肌の色調の色の背景上を移動する物体のために検出された顔領域を拒絶する。これを行うために、簡潔に言えば、ビデオ・フェイス・ロケーション・モジュール１０２は、所定の閾値より下の、空間的な輝度の変化(variance)又は時間的な輝度の差の変化を有する顔領域を拒絶する。図８は、空間的な輝度の変化及び時間的な輝度の差の変化に基づいて顔領域を拒絶するアルゴリズム８００のための擬似コードである。
【００５２】
通常、肌の色調の色の静止している物体上での影の動きにより、肌の色調の色の静止している物体のための画素は、肌の色調の画素及びモーション画素として検出される。これらの顔領域では、影の動きのために、顔の画素の全ての輝度値は、通常、前のフレーム中の対応する輝度値から同じ量だけ減じられる。そのため、現在と前のフレームの間の、顔領域に対する時間的な輝度の差の変化は、比較的小さい。（顔領域の時間的な輝度の差の変化は、その顔領域中の画素のためのすべての輝度値の現在と前のフレームの間の、平均した差からの現在と前のフレームの間の画素の輝度値の間の差の変化である。）影の影響を受けていない大部分の他の動いている物体の場合は、輝度値の差は、平均した差からかなり変化し、そのため時間的な輝度の差の変化は比較的大きい。
【００５３】
図８中のアルゴリズム８００のステップ８０５〜８２５は、時間的な輝度の差の変化を使用し、顔領域と分類されたが、動いている影の影響を受けている静止した物体をより表わしていそうな顔領域を検出する。それぞれの顔領域のために（ステップ８０５）、ビデオ・フェイス・ロケーション・モジュール１０２は、現在のフレームと前のフレームの間のその顔領域のための輝度値の平均した差を計算する（ステップ８１０）。それを行うために、顔領域中のそれぞれの画素のために、ビデオ・フェイス・ロケーション・モジュール１０２は、前のフレームからの輝度値における差を計算する。ビデオ・フェイス・ロケーション・モジュール１０２は、次に、これらの差を加算し、輝度値の平均した差を得るために、その合計を顔領域の大きさによって除する。ビデオ・フェイス・ロケーション・モジュール１０２は、次に、それぞれの画素に対して、ステップ８１０で計算された輝度値における平均した差と、現在のフレームと前のフレームの間の輝度値の差との間の差の２乗を決定する。ビデオ・フェイス・ロケーション・モジュール１０２は、これらの２乗した差を加算し、顔領域に対する時間的な輝度の差の変化決定するために、その合計を顔領域の大きさによって除する（ステップ８１５）。もし、顔領域に対する時間的な輝度の差の変化が、所定の閾値より小さければ（ステップ８２０）、ビデオ・フェイス・ロケーション・モジュール１０２は、その顔領域は顔のイメージではなさそうであると決定する（ステップ８２５）。
【００５４】
更に、上述のように、ビデオ・フェイス・ロケーション・モジュール１０２は、空間的な輝度の変化を使用し、見つけられた(uncovered)、肌の色調の背景を表わす顔領域を拒絶する。例えば、人が肌の色調の色のドアの前で動くとき、ビデオ・フェイス・ロケーション・モジュール１０２は、その人のイメージの後縁(trailing edge)を、動いている画素として識別する。同様にして、ビデオ・フェイス・ロケーション・モジュール１０２は、肌の色調のテーブル上で動く手を、動いている画素として識別できる。これらの誤った顔領域を識別するために、ビデオ・フェイス・ロケーション・モジュール１０２は、見つけられた肌の色調の色の物体は、通常滑らかであるが、顔は複数の境界線を有しており滑らかではない、という事実を使用する。そのため、ビデオ・フェイス・ロケーション・モジュール１０２は、それぞれの顔領域の空間的な輝度の変化を計算し、所定の閾値より小さい変化を有する顔領域を拒絶する。顔領域に対する空間的な輝度の変化は、顔領域の大きさによって除されたその顔領域に対する平均した輝度値からの、顔領域中の全ての画素に対する輝度値の間の差の２乗の合計である。
【００５５】
図８のアルゴリズム８００中のステップ８０５及び８３０〜８４５は、検出された顔領域に対する空間的な輝度の変化を使用し、肌の色調の背景をより表わしていそうな誤った顔領域を拒絶する。それぞれの顔領域のために（ステップ８０５）、ビデオ・フェイス・ロケーション・モジュール１０２は、その顔領域に対する平均の輝度値を計算する（ステップ８３０）。それをするために、ビデオ・フェイス・ロケーション・モジュール１０２は、その顔領域中の全ての画素の輝度値を加算し、その合計を顔領域の大きさによって除する。ビデオ・フェイス・ロケーション・モジュール１０２は、ステップ８３０で計算された輝度値の平均した差からの、顔領域中のそれぞれの画素の輝度値の差の２乗の合計を次に決定する。ビデオ・フェイス・ロケーション・モジュール１０２は、その合計を顔領域の大きさで除し、その顔領域の空間的な輝度の変化を決定する（ステップ８３５）。もし、顔領域の空間的な輝度の変化が、所定の閾値より小さければ（ステップ８４０）、ビデオ・フェイス・ロケーション・モジュール１０２は、調べている顔領域は、顔のイメージではないと決定する（ステップ８４５）。
【００５６】
この時点で、ビデオ・フェイス・ロケーション・モジュール１０２は、すべての残っている顔領域は顔を表わすと推定する。領域／顔分類ステップ１４２の後、ビデオ・フェイス・ロケーション・モジュール１０２は、肌の色調の２進マップを、検出された顔を表わす、多くの顔領域を有するマップ１４４に減少させる。
【００５７】
図４に戻って参照すると、ビデオ・フェイス・ロケーション・モジュール１０２の動作が完了した後、ビデオ・オフセット／エラー測定モジュール１０４は、ビデオ座標基準点からの、カメラの視界中の検出された顔のオフセットを決定する。基準点は、固定した基準点（例えば、カメライメージ又はビデオフレームの中心）でも動的な基準点（例えば、オーディオベースロケータ７０により検出された話者の位置）でも構わない。いずれの場合も、それぞれの検出された顔に対して、ビデオ・オフセット／エラー測定モジュール１０４は、検出された顔の中心と基準点の間のｘ−軸及びｙ−軸の差を決定することにより、オフセットを計算する。基準点がオーディオベースロケータ７０により検出された話者の位置である場合、オーディオベースロケータ７０は、最初に、基準点の座標をオーディオ座標システムからビデオ座標システムに変換する（ステップ１１２）。次にビデオ・オフセット／エラー測定モジュール１０４は、これらの変換された値をオフセットを計算するために使用する。
【００５８】
ビデオ・オフセット／エラー測定モジュール１０４の後、フェイス・ロケーション・トラッキング・モジュール１０６が実行される。通常、フェイス・ロケーション・トラッキング・モジュール１０６は、現在のフレーム中で検出された顔（すなわち、現在検出された顔）を、既存の追跡ファイル中の前に検出された顔に関連づける。フェイス・ロケーション・トラッキング・モジュール１０６は、次に、既存の追跡ファイルを更新する。フェイス・ロケーション・トラッキング・モジュール１０６は、既存の追跡ファイルと関連付けられない、現在検出された顔のための新しい追跡ファイルも作り出す。フェイス・ロケーション・トラッキング・モジュール１０６の結果は、以下に説明していくように、ビデオ会議システム１０が動いている話者を追跡するためにカメラ１４を動かす場合に、カメラの撮影をフレーミングするために、普通、使用される。
【００５９】
それぞれの追跡ファイルは、１つの検出された顔に対応し、その顔のためのパラメータを記憶する。記憶されたパラメータ値は、現在のビデオフレームに関連するものだけでなく、要すれば、顔が検出された前のビデオフレームに関連するものも含む。パラメータは、位置、大きさ、及び動きに関連するパラメータを含む。追跡ファイルは、顔が検出された特定のフレームに対する検出された顔と関連する、オーディオ座標のパン、チルト、及びレンジの値も記憶できる。更に、追跡ファイルは、顔が検出されたフレームの数のための値（以下、「update_count」）、及び最後に顔が検出された時からのフレームの数（以下、「noupdate_count」）を記憶できる。追跡ファイルは、追跡ファイル中に記憶された値に基づいて推定され予想された任意の位置の、正確さの確実性の程度(confidence measurement)を記憶することもできる。
【００６０】
図９は、フェイス・ロケーション・トラッキング・モジュール１０６により実行されるステップのフローチャート９００を示す。顔検出のために処理されたそれぞれのビデオフレームに対して（ステップ９０１）、フェイス・ロケーション・トラッキング・モジュール１０６は、ビデオフレームが新しいカメラの動きの開始時にキャプチャーされたかどうかを最初に決定する（ステップ９０２）。もしそうであれば、フェイス・ロケーション・トラッキング・モジュール１０６は、追跡ファイルの最初の組を初期化する（ステップ９０５）。追跡ファイルの最初の組は、新しい追跡ファイルの組でも、既存の追跡ファイルのすべてでも構わない。フェイス・ロケーション・トラッキング・モジュール１０６は、どのように追跡ファイルが使用されるかに基づいて、どの最初の追跡ファイルの組を使用すべきかを決定する。もし、ファイルの最初の組が、新しい追跡ファイルのみを含むなら、フェイス・ロケーション・トラッキング・モジュール１０６は、現在のフレーム中でそれぞれの検出された顔のための新しい追跡ファイルを作り出す。これらの追跡ファイルは、次に、パン、チルト、及びレンジの値又は顔のオーディオ位置、及び、ビデオ座標の大きさ(video coordinates size)、位置、オフセット、モーション、及び必要に応じ、モジュール１０４（図４）からの他の測定値のような、現在のフレーム中で検出された顔に関するパラメータによって占められる。フェイス・ロケーション・トラッキング・モジュール１０６は、顔の追跡のための新しいカメラの動きの開始時のビデオフレームを使用せず（ステップ９３０）、このビデオフレームのための顔の追跡処理は終了する（ステップ９２５）。
【００６１】
もし、フェイス・ロケーション・トラッキング・モジュール１０６が、ビデオフレームは、新しいカメラの動きの開始時（ステップ９０２）にキャプチャーされたと決定すると、フェイス・ロケーション・トラッキング・モジュール１０６は、次に、そのビデオフレームは、カメラが動いていた間にキャプチャーされたかどうかを決定する（ステップ９０７）。もしカメラの動いていたら、フェイス・ロケーション・トラッキング・モジュール１０６は、顔の追跡処理のためにそのビデオフレームを使用せず（ステップ９０７、９３０）、このビデオフレームのための顔の追跡処理は終了する（ステップ９２５）。
【００６２】
もし、カメラの動きが起こっていないときにビデオフレームがキャプチャーされたなら、フェイス・ロケーション・トラッキング・モジュール１０６は、ステップ９１０で、そのビデオフレームがキャプチャーされたときにカメラが固定されていたかどうか、すなわちビデオ・フェイス・ロケーションの処理に影響を与えるすべてのカメラの動きが止まっていたかどうかを決定する。これらの動きは、カメラのパン、チルト、ズーム、オートフォーカス、オートホワイトバランス、及び自動露光を含む。
フェイス・ロケーション・トラッキング・モジュール１０６は、サンプリングカメラ固定信号の変化が終わるまではサンプリングカメラ固定信号２５（図３及び４）によってか、又はカメラの動きが始まった後にある所定の時間期間の間待つことによってかのいずれかで、カメラ１４が固定されていたかどうかを決定する。
【００６３】
もしビデオフレームが、カメラ１４が固定されていなかったときにキャプチャーされたなら、フェイス・ロケーション・トラッキング・モジュール１０６は、顔位置の追跡にそのビデオフレームを使用せず（ステップ９１０、９３０）、このビデオフレームのための顔の追跡処理は終了する（ステップ９２５）。もし、フェイス・ロケーション・トラッキング・モジュール１０６が、カメラ１４は固定されていたと決定すると（ステップ９１０）、フェイス・ロケーション・トラッキング・モジュール１０６は、そのビデオフレーム中の検出された顔の位置を、既存の追跡ファイルに関連づける（ステップ９１５）。（既存の追跡ファイルがステップ９０５で使用されない場合は、フェイス・ロケーション・トラッキング・モジュール１０６は、ステップ９１５及び９２０を実行しない。）検出された顔の位置を関連付けることは、一般的な用語で説明された、以下のステップを含む。
【００６４】
−  位置、確実性(confidence)、及び検索境界の伝播及び予想：一般的な用語では、このステップは、前のフレームに関連する追跡ファイルに基づいて、前のビデオフレーム中で検出された顔の、現在のビデオフレーム中の位置の推定値を予想することを含む。このステップは、その推定値に対する確実性の値を計算することを含む。
【００６５】
−  現在検出された顔及び前のフレームと関連する追跡ファイルの順序付けられた関連：一般的な用語では、このステップは、それぞれの追跡ファイルに対して、それぞれの現在検出された顔が追跡ファイルに対応する可能性を決定することを含む。フェイス・ロケーション・トラッキング・モジュール１０６は、次に、どの検出された顔が、可能性の最小の閾値を通過し、可能性の最も高い測定値も有するかを決定する。フェイス・ロケーション・トラッキング・モジュール１０６は、次に、その検出された顔を追跡ファイルに関連づける。
【００６６】
−  noupdate_count変数の値に基づいた古いファイルの削除。
【００６７】
−  既存の追跡ファイルに関連しない現在のフレーム中の検出された顔に対する新しいファイルの創造。
【００６８】
これらのステップのそれぞれを、今から詳細に説明していく。図１０は、予想アルゴリズム１０００のための擬似コードである。説明する実施形態では、フェイス・ロケーション・トラッキング・モジュール１０６は、新しい値を予想するために固定の利得フィルタを使用する。他の実施形態では、フェイス・ロケーション・トラッキング・モジュール１０６は、カルマンフィルタのような可変利得フィルタのようなより複雑なフィルタを使用することができる。
【００６９】
0004450508.tif 000002
【００７０】
予想ステップの後、フェイス・ロケーション・トラッキング・モジュール１０６は、現在のビデオフレーム中の検出された顔を既存の追跡ファイルに関連づけようとする。図１１は、現在のビデオフレーム中の検出された顔を既存の追跡ファイルに関連づける関連づけアルゴリズム１１００のための擬似コードである。通常、フェイス・ロケーション・トラッキング・モジュール１０６は、それぞれの追跡ファイルを、全ての検出された顔と比較する。フェイス・ロケーション・トラッキング・モジュール１０６は、もし、検出された顔の位置と追跡ファイルに関連する顔の予想位置の間のｘ−及びｙ−軸に沿った距離がすべての他の検出された顔に対する差より小さいなら、検出された顔を追跡ファイルと関連づける。
【００７１】
それぞれの追跡ファイルｉに対して（ステップ１１０５）、フェイス・ロケーション・トラッキング・モジュール１０６は、追跡ファイルが初期化されたアクティブな追跡ファイルであるかどうかを決定する（ステップ１１０７）。もしその追跡ファイルが、初期化されたアクティブな追跡ファイルであれば、フェイス・ロケーション・トラッキング・モジュール１０６は、それぞれの検出された顔ｊに対し、検出された顔の位置とその追跡ファイルに対する予想された位置の間の、ｘ−及びｙ−軸に沿った距離が、最大の距離の閾値より小さいかどうかを決定する（ステップ１１１０〜１１１２）。
【００７２】
説明される実施形態では、最大の距離の閾値は、ｘ−及びｙ−軸のそれぞれについて測定された、２つの分散(variance)に基づいた統計的な境界である：それらは、１つのフレームから次への典型的な画素の位置の変化（σ2xx及びσ2yy）、及び測定値中の種々のエラーのための現在のフレーム中の画素の位置の測定値の変化である（σ2xm及びσ2ym）。説明される実施形態では、統計的な境界は、両方の分散は、与えられたカメラのズームの設定に対して一定の値を有すると推定する。しかし、他の実施形態では、分散は前の測定値に基づいた又は装置の動作をモニタするセンサからの入力に基づいた、それぞれのフレームに対してユニークであり得る。統計的境界は、ｘ−及びｙ−軸のそれぞれの分散のそれぞれの合計として計算される標準偏差の３倍である：
0004450508.tif 000003
ここで、σ2xxは、水平の位置の分散；σ2yyは、垂直の位置の分散；σ2xmは、水平の測定値の分散；σ2ymは、垂直の測定値の分散である。
【００７３】
もし、検出された顔ｊと追跡ファイルに対する予想値の間の距離が、最大の距離の閾値より小さければ（ステップ１１１２）、検出された顔ｊは、追跡ファイルに関連する可能性のある候補としてマークされる（ステップ１１１５）。
【００７４】
現在のフレーム中の追跡ファイルｉに関連する全ての顔の候補に対して、フェイス・ロケーション・トラッキング・モジュール１０６は、次に、その追跡ファイルに対する予想値に最も近い候補の顔を見つけようとし、追跡ファイルｉに関連するその顔を選択する。ステップ１１１７では、フェイス・ロケーション・トラッキング・モジュール１０６は、最初に、検出された顔のいずれもが、追跡ファイルｉに関連する可能性のある候補としてマークされたかどうかを決定する。もしそうであれば、そのような候補ｊに対して（ステップ１１２０）、フェイス・ロケーション・トラッキング・モジュール１０６は、検出された顔の中心画素と追跡ファイルｉ中の中心画素の間の距離（ｄij）を計算する（ステップ１１２２）。フェイス・ロケーション・トラッキング・モジュール１０６は、次に、これらの計算された距離（ｄij）の最小値を見つけ（ステップ１１２５）、対応する検出された顔を追跡ファイルｉに関連するとしてマークする（ステップ１１２７）。ステップ１１３０で、フェイス・ロケーション・トラッキング・モジュール１０６は、その追跡ファイルを現在のビデオフレーム中で検出された顔に関連していたとしてマークし、またステップ１１３２で、変数noupdate_countの値をリセットする。フェイス・ロケーション・トラッキング・モジュール１０６は、次に、一致する検出された顔に関連する値、すなわち中心画素の位置（ステップ１１３５〜１１３７）及び検出された顔の寸法（ステップ１１４０〜１１４２）を、追跡ファイルｉに入れる。
【００７５】
もし、ステップ１１１０〜１１１５で、フェイス・ロケーション・トラッキング・モジュール１０６が、現在のビデオフレーム中で検出された顔の中から関連させるための適切な候補をまったく見つけられないなら、フェイス・ロケーション・トラッキング・モジュール１０６は、追跡ファイルｉを、検出された顔に関連していたとしてマークする（ステップ１１４７）。フェイス・ロケーション・トラッキング・モジュール１０６は、次に、変数noupdate_countを増分(increment)する（ステップ１１５０）。
【００７６】
上述のように、検出された顔を追跡ファイルに関連づけた後、フェイス・ロケーション・トラッキング・モジュール１０６は、所定の数より多くのフレームに対して、検出された顔に関連しなかった追跡ファイルを削除する。フェイス・ロケーション・トラッキング・モジュール１０６は、その追跡ファイルを初期化されていないとしてマークし、追跡ファイル中の変数をリセットすることにより、追跡ファイルを削除する。
【００７７】
0004450508.tif 000004
【００７８】
図９に戻って参照すると、この時点で、フェイス・ロケーション・トラッキング・モジュール１０６は、追跡ファイルが現在のビデオフレーム中の検出された顔と関連づけられたかどうかに基づいて、追跡ファイル中の種々のパラメータを更新する。通常、それぞれのパラメータは、現在及び前のフレーム中のそのパラメータに対する値、そのパラメータに対する予想値、及び種々の装置の不完全さに起因するエラーの推定値を表わす利得値(gain value)に基づいて更新される。
【００７９】
0004450508.tif 000005
【００８０】
0004450508.tif 000006
【００８１】
0004450508.tif 000007
【００８２】
0004450508.tif 000008
【００８３】
フェイス・ロケーション・トラッキング・モジュール１０６は、次に、ステップ１２２５〜１２３２で、追跡ファイルを認定(validate)する。通常、フェイス・ロケーション・トラッキング・モジュール１０６は、追跡ファイルは、それが認定されるまで、無効であると推定する。ステップ１２２５で、もし顔検出が関連する追跡ファイルが無効とマークされると、フェイス・ロケーション・トラッキング・モジュール１０６は、update_count変数の値を増分する（ステップ１２２７）。もし、update_count変数の値及び追跡ファイルの確実性変数の値が、それぞれ、有効なフレームから要求される対応する閾値より大きいなら（ステップ１２３０）、フェイス・ロケーション・トラッキング・モジュール１０６は、その追跡ファイルをそのようにマークすることによって認定する（ステップ１２３２）。
【００８４】
0004450508.tif 000009
【００８５】
図４に戻って参照すると、フェイス・ロケーション・トラッキング・モジュール１０６の後、オーディオ座標モジュール１０８への変換(transform)は、追跡された位置の値をオーディオ座標システムに変換(convert)する。
【００８６】
オーディオ座標モジュール１０８への変換の後、フェイス・ロケーション・メモリ・モジュール１１０は、検出された顔に関連づけられたファイル中で、現在のビデオフレーム中の検出された顔に関連づけられた種々のパラメータの値を記憶する。普通、フェイス・ロケーション・メモリ・モジュール１１０は、カメラの視界が関心のある特定の領域を含んでいないようであるとき、今後のアクセスのため、前のモジュールでの分析の結果を記憶する。どの結果が記憶されるかは、そのデータが今後どのように使用されるかに依存する。記憶されるデータは、検出された顔の位置及び大きさを含むことができる。更に、記憶されるデータは、それぞれの顔に割り当てられるユニークな数によって又は空間セクター(spatial sector)によって編成される。データは、オーディオ座標システムに変更された後の、フェイス・ロケーション・トラッキングの結果も含む。この時点で、ビデオベースロケータ６０は、それの分析を終了する。
【００８７】
ビデオベースロケータ６０の動作を説明してきたが、今からオーディオベースロケータ７０の動作を説明していく。オーディオベースロケータ７０の、オーディオ・スピーカ・ロケーション・モジュール１１４は、マイクロホンアレイ１２からのオーディオ信号に基づいて話者の位置を検出する。複数のマイクロホンからのオーディオ信号に基づいて話者の位置を決定する方法は、参考文献としてここに組込まれ、１９９６年６月１４日に出願された、出願番号第０８／６６３，６７０号の「メソッド・アンド・アパレイタス・フォー・ローカリゼーション・オブ・アコースティック・ソース(Method and apparatus for Localization of an Acoustic Source」という名称（以下、「’６７０出願」という）の、共通に譲渡された出願において詳細に説明されている。簡潔に言えば、’６７０出願の方法は、お互いに間隔を空けて配置された少なくとも２つのマイクロホンを使用する。’６７０出願の方法によると、普通、オーディオ・スピーカ・ロケーション・モジュール１１４は、特定の時間フレームの間に取得された信号が音のソースからの連続するオーディオ信号の始まりすなわち開始を表わすかどうかを決定することによってオーディオ信号を処理する。オーディオ・スピーカ・ロケーション・モジュール１１４は、そのデータが連続の開始を表わすとき、連続する信号を表わすオーディオ信号を受け取ったと識別する。次に、オーディオ・スピーカ・ロケーション・モジュール１１４は、受け取ったオーディオ信号に基づいて、ソースの位置を決定する。
【００８８】
ソースからの連続するオーディオ信号の始まりすなわち開始は、周波数ごとに(frequency-by-frequency basis)検出される。以下の２つの条件を満たす取得した信号のそれらの周波数成分に関連するデータは、ソースからの連続するオーディオ信号の始まりで発生する信号を表わすとみなされる。第１に、周波数成分の大きさは、好適には、その周波数に対する背景雑音エネルギーより、少なくとも所定の量だけ大きいべきである。第２に、周波数成分の大きさは、好適には、先行する時間フレームの所定の数の間に取得された、対応する周波数成分の大きさより、少なくとも所定の量だけ大きいべきである。もし、特定の時間フレームの間に特定の周波数成分に対して、その２つの条件を満たせば、その周波数に関する開始条件が満たされるとみなされる。時間フレームの間にマイクロホンの対によって取得されたオーディオ信号に対する重なりスペクトル(cross-spectrum)は、それぞれのそのような周波数成分に関して生成され、またそれぞれのそのような周波数でのその雑音に対する重なりスペクトルは、オーディオソースからの連続する信号を表わすオーディオの受け取った信号を識別するために、減じられる。オーディオの重なりスペクトルは、所定の時間の長さの間、累積される。もし、所定の時間期間の終わりに、少なくとも特定の数の周波数に対してゼロでない値が累積されたなら、その累積された重なりスペクトルの値は、次に、相互相関値(cross-correlation value)を計算するために使用される。相互相関値は、今度は、共通のソースから、マイクロホンの対に到来する信号の間の時間遅延を決定するために使用される。これらの時間遅延は、次に、オーディオソースの位置（すなわち、カメラのような基準点からのオーディオソースの方向及び距離）を決定するために使用されるマイクロホンに関するオーディオソースの方向及び方位角を決定するために使用される。
【００８９】
マイクロホンアレイ１２を使用することにより、オーディオ・スピーカ・ロケーション・モジュール１１４は、検出されたオーディオソースに関するチルト及びパンの両方の情報を提供する。オーディオ・スピーカ・ロケーション・モジュール１１４は、この情報も使用し、オーディオソースへの距離（すなわち、レンジ）を決定する。
【００９０】
オーディオ・スピーカ・ロケーション・モジュール１１４は、１つは水平のマイクロホン（すなわち、パン・マイクロホン）のため、そして１つは垂直のマイクロホン（すなわち、チルト・マイクロホン）のための、正規化した相互相関値の対も提供する。
【００９１】
オーディオ・スピーカ・ロケーション・モジュール１１４が話者の位置を決定した後、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、検出された話者を認定すべきかどうか、及びどのようにして検出された話者のためのカメラ撮影をフレーミングすべきかを決定する。図１３は、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６により実施されるステップのフローチャート１３００を示す。簡潔に言えば、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、一組の基準に基づいて、オーディオ・スピーカ・ロケーション・モジュール１１４（図４）からの結果が有効な話者の位置を表わすかどうかを最初に決定する。検出された話者を認定するための基準は以下の通りである：
−  同じ位置又は同じ位置の近傍からの検出が、所定の回数なされる（図１３中の参照番号１３１８）；
−  オーディオの話者の位置に対するパン及びチルトの値が、カメラ１４に支持されたものである（図１３中の参照番号１３１５）。
【００９２】
−  正規化された相互相関値が、対応する所定の閾値より大きい（図１３中の参照番号１３１７）。
【００９３】
−  検出されたオーディオの連続が、スピーチであったと決定された（合う１３中の参照番号１３１８）。
【００９４】
もし、検出された話者の位置が認定されると、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、一組のルールを次に使用し、適切なカメラ撮影を確認する。適切なカメラ撮影を決定するために、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、検出された顔（１１０参照）のファイル中に記憶されたデータを使用し、カメラ撮影のフレーミングをすることができる。次にスピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、カメラコントロールモジュール８０に、適切なパン、チルト、及びズームの命令を供給する。
【００９５】
今からスピーカ・バリデーション・アンド・フレーミング・モジュール１１６の動作を詳細に説明していく。ステップ１３０５で、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、オーディオ・スピーカ・ロケーション・モジュール１１４が所定の数の周波数にわたってスピーチの開始を検出するための話者である、活動しているオーディオソースを、オーディオ・スピーカ・ロケーション・モジュール１１４が検出したかどうかを、最初に決定する。もし、活動しているオーディオソースが所定の時間期間の間検出されなかったら、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、カメラポジショニングデバイス１６に、部屋の撮影を写すような命令を与える（ステップ１３０７）。スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、このステップで、以下に説明するように、メモリ中に記憶された顔検出の結果を使用して、適切なグループの撮影のフレーミングをすることができる。
【００９６】
スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、検出された位置が、現在の検出のすぐ前に検出された位置と同じ位置に対応するかどうかを決定する。もしそうでなければ、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、前の検出と関連する一時的ファイルを削除する（ステップ１３１０）。もし、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６が、活動しているオーディオソースが検出されていると決定すると、それは次に、検出された話者を、上述の基準に基づいて認定すべきかどうかを決定する（ステップ１３１２）。検出を認定すべきかどうかを決定するために使用される閾値（１３１２参照）は、以下に説明するように、検出された顔のファイル中に記憶されたビデオベースロケータ６０の結果に基づいて変更することができる。もし話者の位置が有効でなければ、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は処理を終了する。もし話者の位置が有効であれば、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、その話者の位置を新しい一時的ファイル中に記憶させる（ステップ１３２２）。ステップ１３２５で、その一時的ファイル及び一組のフレーミングのルールに基づいて、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は適切なカメラの撮影を選択する。例えば、カメラ撮影は、単一の話者又は話者のグループをフレーミングすることができる。一組のルールは、例えば、もし話者が彼又は彼女が最近話した回数を根拠とした主要な話者であれば、カメラ撮影は彼又は彼女のみを含むということを示すことができる。そのルールの組は、もし２人以上の話者が最近話したら、カメラ撮影は、カメラ１４の利用可能な視界に対する制限を考慮した上で、会話のすべての参加者を含むべきであると示すこともできる。更に、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、以下に説明するように、ビデオベースロケータ６０の結果を適切にカメラ撮影をフレーミングするために使用することができる。この決定に基づいて、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、カメラ制御モジュール８０にカメラのフレーミングの指示を与える。
【００９７】
図４に戻って参照すると、検出された話者を認定した後、オーディオ・ロケーション・メモリ・モジュール１１８は、検出された話者が一致した既存の話者のファイルに新しい話者を加えるか、又は新しい話者のファイルを作り出すかのいずれかを行う。そのような話者のファイルは、話者の位置及び話者が話した回数を記憶することができる。更に、話者のファイルは、最も最近の話者が、順序の先頭にくるような順序で保持される。これらのファイルは、あるカメラ・フレーミング・ロジックに基づいてカメラをフレーミングするために使用することができる。
【００９８】
前述のように、オーディオベースロケータ７０は、最初にオーディオデータを使用して話者の位置を決定し、そしてその決定に基づいてカメラポインティング制御モジュール８０にカメラをどのように動かすべきかという命令を与える。オーディオベースロケータ７０は、以下に詳細に説明するように、カメラ撮影を適切にフレーミングするためにビデオベースロケータ６０の結果も使用できる。カメラが動かされた後、ビデオベースロケータ６０は、カメラ１４からビデオイメージのフレームをキャプチャーし、ビデオイメージ中の任意の顔の位置を検出する。次にカメラポインティング制御モジュール８０は、以下に詳細に説明するように、カメラをフレーミングする際のどんなエラーも修正するよう、カメラ１４のチルト、パン、及びレンジを調節するために、オーディオ及びビデオの両方の検出結果を使用することができる。
【００９９】
カメラ制御モジュール８０及びスピーカ・バリデーション・アンド・フレーミング・モジュール１１６が、カメラ撮影を適切にフレーミングするためにビデオベースロケータ６０及びオーディオベースロケータ７０からの検出結果を使用する方法を、今から詳細に説明する。カメラ制御モジュール８０が顔検出の結果し要してカメラポジショニングデバイス１６におけるエラーを修正する方法を、最初に説明する。次に、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６が、顔検出の結果を使用して、カメラポインティング命令のエラーを防止しカメラ撮影をより良好にフレーミングするようオーディオ・スピーカ・ディテクション・モジュール１１６の結果を補足する方法が説明される。
【０１００】
いくつかの実施形態では、カメラ制御モジュール８０が修正できる１つのエラーは、カメラ１４とマイクロホンアレイ１２の間の配列不良が原因のエラーである。通常、オーディオベースロケータ７０は、マイクロホンアレイ１２を使用してオーディオ基準点に関する話者の位置を決定する。この決定の正確さは、カメラポジショニングデバイス１６を通したカメラ１４のマイクロホン１２との整列(alignment)の正確さに一部依存する。しかし、カメラ１４及びマイクロホンアレイ１２は、製造工程中の手違いのため、又はシステムの通常の使用の問題として、配置不良になり得る。そのため、オーディオベースロケータ７０からのカメラポインティング命令により、図１４に示すように、話者がフレーム上の望ましい位置（例えば、フレームの中心）からオフセットしたイメージが生じることがある。
【０１０１】
カメラ制御モジュール８０は、ビデオベースロケータ６０からの顔検出の結果を使用してそのオフセットを修正する。図１５は、ビデオのオフセットを修正するカメラ制御モジュール８０により実施されるステップのフローチャート１５００を示す。もし顔が、キャプチャーしたビデオイメージ中で望ましい位置になければ（ステップ１５０５）、ビデオベースロケータ６０は、カメラ撮影は話者を中心に置いていないと決定する。次にビデオベースロケータ６０は、どの検出された顔がキャプチャーされたビデオイメージ中で望ましい位置の最も近くに位置しているかを決定し、この顔が検出された話者に対応すると推定する（ステップ１５１０）。ビデオベースロケータ６０は、その最も近い顔が望ましい位置からオフセットしている量を計算する。次にビデオベースロケータ６０は、ステップ１５１５で、前に計算されたオフセット値にアクセスし、また、例えば値を平均することによってならされたオフセット値を計算する（ステップ１５１５）。所定の数のオフセット値が、ならされたオフセット値を計算するために使用された後（ステップ１５２０）、そのならされたオフセット値は、前に記憶されたならされたオフセット値を置換するために使用され、その新しい値は、今から、カメラポジショニング命令を修正するために使用される（ステップ１５２５）。いくつかの実施形態では、ビデオベースロケータ６０は、時々（例えば、カメラ１４が動かされるごとに）、イメージがオフセットしているかどうかを確認し、ならされたオフセット値を再計算する。
【０１０２】
いくつかの実施形態では、ビデオベースロケータ６０は、所定の数のフレームに対するオフセット値を計算し、次にお互いに値が近いオフセット値の集団(cluster)を見つけるためにそれらを比較する。ビデオベースロケータ６０は、次に、オフセット値の集団に基づいて（例えば、値を平均することによって）オフセットを計算する。このようにして、ビデオベースロケータ６０は、オフセット値をカメラ制御モジュール８０に送る前に、他の要因から生じたオフセット値を除去する。
【０１０３】
いくつかの実施形態では、オーディオ・スピーカ・ディテクション・モジュール１１６は、種々の理由のために不正確なオーディオベースロケータからの結果により生じる全体のポインティングエラーを修正することができる。例えば、オーディオベースロケータ７０は、非スピーチ音をスピーチとして検出し、そのため人間でない音響ソースと人間の話者とを混同することがある。更に、壁やテーブルのような大きい表面からの反射は、真のオーディオソースとして、オーディオベースロケータ７０を混乱させることがある。これらの場合、オーディオベースロケータ７０は、オーディオソースを表面（例えば、話者の前のテーブルの表面）からの反射点として検出できる。更に、もしマイクロホンアレイ１２がチルトの測定を実行しているなら、１つのチルト測定マイクロホンは、音波を主にその反射点から受け取っており、一方他のマイクロホンは話者からの音波を受け取っているかもしれない。これにより、検出された話者の位置中に大きいエラーを引き起こし、カメラが反射点の下又は話者の頭上を向くようになることがある。同様の問題は、あまり頻繁にではないが、パンの次元(dimension)でも起こり得る。非スピーチソースあるいは反射のいずれの場合でも、図１６に示すように、カメラ１４が非スピーチ音響ソース又は反射のソースを指すという全体のカメラポインティングエラーとしてエラーは現れる。
【０１０４】
図１７は、そのような全体のポインティングエラーを修正するため、オーディオ・スピーカ・アンド・バリデーション・モジュール１１６によって実行されるステップのフローチャート１７００を示す。オーディオ・スピーカ・アンド・バリデーション・モジュール１１６は、全体のポインティングエラーが発生したかどうかを最初に決定する。それを行うために、オーディオ・スピーカ・アンド・バリデーション・モジュール１１６は、話者の顔のイメージがあることが期待される、ビデオフレーム中の領域１６０５（図１６）中に、検出された顔が位置するかどうかを決定する（ステップ１７０５）。もし、キャプチャーされたビデオイメージの望ましい位置（すなわち領域１６０５）に顔が位置していなければ（ステップ１７０５）、ビデオベースロケータ６０は、キャプチャーされたビデオイメージは中心にないと判断する。次にビデオベースロケータ６０は、どの検出された顔がキャプチャーされたビデオイメージ中の望ましい位置に最も近いのかを判断し、この顔が検出された話者に対応すると推定する（ステップ１７１０）。ビデオベースロケータ６０は、最も近い顔が望ましい位置からオフセットしている量を計算する。次にビデオベースロケータ６０は、ステップ１７１５で、前に計算されたオフセット値にアクセスし、例えば、値を平均することによって、ならされたオフセット値を計算する（ステップ１７１５）。所定の数のオフセット値が、ならされたオフセット値を計算するために使用された後（ステップ１７２０）、どのようなカメラポインティングエラーも補償するための修正のカメラの命令を決定するために、ならされたオフセット値は使用される（ステップ１７２５）。次にカメラ制御モジュール８０は、このオフセット値を、カメラポジショニングデバイス１６に提供されるカメラの命令に変換する（ステップ１７３０）。
【０１０５】
いくつかの実施形態では、オーディオ・スピーカ・アンド・バリデーション・モジュール１１６は、ビデオベースロケータ６０からのデータを使用し、カメラ１４から話者への距離（すなわち、レンジ認定エラー）を決定する際のエラーを修正することもできる。通常、レンジは、オーディオ・スピーカ・ソース・ロケーション・システムが正確に測定することが難しい次元である。測定の正確さは、少なくとも２つの要因に依存する。第１の要因は、マイクロホンアレイ１２の大きさであり、より大きいアレイはより正確な結果を生じる。第２の要因は、処理されているオーディオのスピーチの継続時間及び質であり、より長い継続時間及びより高い発声回数は、より正確な結果を生じる。レンジの値はカメラ１４をズームするために使用されるため、レンジの値のエラーは、図１８に示すように、カメラ撮影の画面の余裕を狭すぎたり広すぎたりすることにより、話者をフレーミングする際のエラーを引き起こす。
【０１０６】
図１９は、レンジ認定エラー(range finding error)を修正するため、オーディオ・スピーカ・アンド・バリデーション・モジュール１１６により実行されるステップのフローチャート１９００を示す。オーディオ・スピーカ・アンド・バリデーション・モジュール１１６は、最初に、どの検出された顔が、イメージ中の予想位置に最も近くに位置しているかを判断し、この顔が検出された話者に対応すると推定する（ステップ１９０５）。もし、最も近い検出された顔の大きさが、所定の顔の大きさの値内にあれば、オーディオ・スピーカ・アンド・バリデーション・モジュール１１６は、レンジは正確であると推定する（ステップ１９１０）。もしそうでなければ、オーディオ・スピーカ・アンド・バリデーション・モジュール１１６は、所定の顔の大きさの閾値内に入るように検出された顔の大きさを調節するレンジ値を計算する（ステップ１９１５）。オーディオ・スピーカ・アンド・バリデーション・モジュール１１６は、このオフセット値を、カメラ１４及びカメラポジショニングデバイス１６に供給される、カメラフレーミング命令に変換する（ステップ１９２０）。
【０１０７】
上述のように、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６（図４）は、顔検出の結果を使用して、カメラ撮影を適切にフレーミングすることができる。いくつかの実施形態では、オーディオベースロケータ７０のスピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、ビデオベースロケータ６０からの結果を、話者の認定処理を制御する変数を動的に変化させるために使用することができる。スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、２つの目標：全体のポインティングエラーを防止し、カメラ１４及びビデオ会議システム１０の応答時間を減少させる、を達成するために、これらの変数を変更することができる。
【０１０８】
図２０は、全体のポインティングエラーを防止するために、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６が実行するステップのフローチャート２０００を示す。スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、最初に、前に検出された顔の位置が検出された話者の位置に一致するかどうかを決定する（ステップ２００５）。もし、一致する検出された顔があれば、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、検出された話者は有効な話者であると決定する。しかし、もし、一致する検出された顔がなく、これがこの話者の最初の検出であれば、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、検出された話者を認定する可能性がより小さくなるように処理の感度を減少させる（ステップ２０１０〜２０１５）。それを行うために、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、３つの閾値：相互相関閾値（図１３の１３１７）、話者の位置が認定される前の話者の位置の連続した検出の数（図１３の１３２０）、及びスピーチ検出のための閾値（図１３の１３１８）を増加させる。これらの閾値を増加させることにより、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、検出された顔と一致しない話者を認定する可能性を減少させる。
【０１０９】
もし、閾値を増加させた後、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６がまだ話者を認定すると、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、カメラのフレーミングのルールを変更し、全体のポインティングエラーを軽減する（ステップ２０２０）。スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、多くの方法：より広い領域を含むように視界を増大させること、すぐ近くの検出された顔を含むように視界を増大させること、又はすべての検出された顔を含むグループの撮影をデフォルトにすることで、そのルールを変更することができる。
【０１１０】
図２１は、ビデオ会議システム１０の、話者を検出しカメラを向けるための応答時間を減少させる、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６により実行されるステップのフローチャート２１００を示す。もし、前に検出された顔の位置が、検出された話者の位置と一致すれば（ステップ２１０５）、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、オーディオベースロケータ７０の感度を増大させる（ステップ２１１０）。そのため、話者を検出し認定する可能性は増大する。それを行うために、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６以下の機能を実行する：相関閾値を低下させること（図１３の１３１７）、話者の位置が認定される前に、話者の位置の必要とされる連続した検出の必要な数を低下させること（図１３の１３２０）；及び図４のオーディオ・スピーカ・ロケーション・モジュール１１４中のスピーチ検出閾値を低下させること（図１３の１３１８）。これは、オーディオベースロケータ７０での話者から認定された検出の数を増加させ、そのためより速い応答時間が得られる。しかし、話者の認定処理の感度を増大させることは、誤った肯定的な話者の検出の数を増加させる。オーディオの話者は検出された顔に対して既に照合されているので、誤った肯定的な検出は、簡単に除去され、またそのため、ビデオ会議システム１０の性能に、あったとしても、あまり影響を与えない。更に、オーディオのレンジを見つけることの代わりに、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、レンジを見つけ、更に、オーディオ・スピーカ・ロケーション・モジュール１１４を実行するために通常必要な、処理時間、マイクロホンの必要数、及びマイクロホン設置の必要な正確さを減少させるために、顔の検出の結果を使用することができる。
【０１１１】
いくつかの実施形態では、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、ミーティングのすべての参加者の撮影をフレーミングするため、ビデオベースロケータ６０からのデータを使用する。図２２は、グループの撮影をフレーミングするために、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６により実行されるステップのフローチャート２２００を示す。通常、そのようなグループの撮影をフレーミングするとき、もし、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６が、オーディオ信号に基づいて検出された話者に対する結果を使用するのみなら、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、話をした参加者をキャプチャーすることのみができる。そのため、黙っている参加者は、グループの撮影の外側に置かれる。しかし、オーディオに基づいて検出された話者を、検出された顔のファイル中に記憶されたデータで補足することによって、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、グループの撮影中の全ての参加者をキャプチャーするように、カメラをフレーミングすることができる。
【０１１２】
そのような、グループの撮影のためにカメラをフレーミングするため、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、一定時間参加者が話を止めたかどうかを、最初に決定する（ステップ２２０５）。もしそうなら、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、グループの撮影をフレーミングするため、検出された話者のファイル及び検出された顔のファイル中に記憶されたデータを使用する（ステップ２２１０）。いくつかの実施形態では、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、グループの撮影をフレーミングするために、検出された話者のファイルを最初に使用し、次に、グループの撮影を調節するために、検出された顔のファイル中に記憶されたデータを使用する。グループの撮影は、好適には、オーディオに基づいて最も最近に検出された話者を含む。グループの撮影は、好適には、カメラ１４及びカメラポジショニングデバイス１６のパン、チルト、及びズームの制限により可能なだけの数の、オーディオ信号に基づいて検出された話者、及び同じ数の、ビデオ信号に基づいて検出された顔も含む。カメラ制御モジュール８０は、調節された部屋の撮影の値を、カメラポジショニングデバイス１６に提供されるカメラの命令に変換する（ステップ２２１５）。
【０１１３】
いくつかの実施形態では、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、ビデオ追跡ファイルを使用して動いている話者を識別し、次に、動いている話者をより良好にキャプチャーするため、カメラ１４の視界を調節する。図２３Ａ、２３Ｂ、及び２３Ｃは、カメラ１４及びカメラ１４の視界に関して動いている話者２３００の位置の平面図を示す。図２３Ａでは、話者２３００はカメラ１４に関して静止している。カメラ１４は、そのため、その話者のイメージを、比較的狭い視界２３０５でキャプチャーすることができる。しかし、図２３Ｂを参照すると、話者が位置Ａから位置Ｂに移動するにつれて、彼又は彼女は視界２３０５の外側で視界２３１０の中に動く。彼又は彼女が位置Ａに戻るにつれて、話者２３００は、視界２３１０の外側で視界２３０５の中に動く。話者の適切なイメージがキャプチャーされることを確実にする１つの方法は、カメラ１４が比較的広い視界２３１５を使用することである。これは、動いている話者に追従するための絶え間ないカメラの動きを避けるという利点を有する。そのような絶え間ないカメラの動きは、特に遠隔通信ネットワーク上の伝送のために圧縮したとき、ビデオイメージが断続して見えるようにする。
【０１１４】
図２４は、動いている話者のためにカメラ１４の視界を調節するために、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６によって実行されるステップのフローチャート２４００を示す。フローチャート２４００は、上記に詳述したように、ビデオに基づいて追跡が検出された話者を使用する。普通、話者が動くと、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、その話者を新しく検出された話者として識別する。もし新しい話者が検出されないなら、オーディオ・スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、ビデオに基づいた追跡を継続する。しかし、もし新しい話者の位置が検出されると（ステップ２４０５）、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、２つの連続する話者の位置が、ビデオベースロケータ６０によって単一の追跡ファイルに一致したかどうかを確認する。もしそうであれば、その話者は、動いている話者であると推定される。スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、話者の前の位置及び現在の位置の両方を包含するようにカメラ１４の視界を増加させること（すなわち、カメラ１４をズーム・アウトすること）によって、動いている話者を追跡するためのカメラを設定する（ステップ２４１５）。２つが連続して一致している間は、カメラ１４は広い視界を有し、ビデオに基づく追跡は継続する（ステップ２４３０）。しかし、もし連続した一致がないならば、カメラ１４はリセットされ、それのもとの視界に戻る（ステップ２４２０）。その場合、ビデオに基づく追跡はリセットされ、新たに開始する（ステップ２４２５）。
【０１１５】
他の実施形態は、以下の請求項の範囲内にある。
【０１１６】
例えば、図２５は、統合された、ポータブルなビデオ会議システム２５００を示す。ビデオ会議システム２５００は、ビデオ会議システム１０と同様な方法でポータブルで統合されており、また参考文献としてここに全体が組込まれ、１９９７年１１月５日に出願された、出願番号第０８／６９４，３２４号の「インテグレイテッド・ポータブル・ビデオコンファレンシング(Integrated Portable Videoconferencing)」という名称の、共通に譲渡された米国特許出願と同様の特徴、デザイン、及び構造を持つことができる。更に、ビデオ会議システム２５００は、ここで説明する範囲を除いて、ビデオ会議システム１０とほぼ同様の構成部品を有する。図２５では、（図１のような）前の図中のものと同じ参照番号を有する構成部品は前に説明されており、ここでは説明しない。ビデオ会議システム２５００は、参考文献としてここに内容の全体が組込まれ、１９９６年５月３０日に出願され、米国特許第５，７１５，３１９号として発行された、米国特許出願第０８／６５７，６３６号に記載されたような、向きを有するマイクロホンアレイ１２’も含むことは注意すべきである。
【０１１７】
ビデオ会議システム２５００は、２つのモードの動作で動作させることができる。それの第１の動作のモードでは、ビデオ会議システム１０のオーディオベースロケータ７０は、上述のように、カメラをパンさせるためのカメラポジショニング命令を提供する。動作のこのモードでは、ビデオベースロケータ６０は何の機能も実行しない。いくつかの実施形態では、このモード動作は、ビデオ会議システム２５００の唯一の動作モードであり、ビデオベースロケータ６０はビデオ会議システム２５００に含まれていない。
【０１１８】
第２のモードでの動作では、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６がカメラ１４をチルトさせるためにビデオベースロケータ６０からのデータを使用する一方、オーディオベースロケータ７０は、カメラ１４をパンさせるための命令を与える。チルト情報を提供するためにビデオ信号を処理することによって、ビデオ会議システム２５００は、チルト情報を提供するための（図１中のマイクロホン１２Ｃ及び１２Ｄのような）マイクロホンを必要としない。チルトのための少なくとも１つのマイクロホンは、パン・マイクロホンが置かれている平面からオフセットしていなければならないため、チルト・マイクロホンの必要をなくすことによって、ビデオ会議システム２５００は、限られた寸法のシステムとして実施することができ、またポータブルに設計することもできる。
【０１１９】
ビデオ会議システム２５００では、ビデオベースロケータ６０は、今から説明するビデオ・フェイス・ロケーション・モジュール１０２（図４）中での顔検出の他の方法を使用することができる。図４を参照すると、これらの実施形態では、ビデオ・フェイス・ロケーション・モジュール１０２は、輝度値のみを使用して、ほとんどの場合人間である、ビデオフレーム中で動いている物体の上側の輪郭を検出する。輪郭検出は、前に説明した顔検出技術ほど計算量が多くなく、輝度値のみを使用するため、基礎を成すシステムがかなりの処理能力を持たない場合の用途に対して特に適している。これは、統合された、ポータブルで、より安価なビデオ会議システムを設計することが可能になるという利点を有する。
【０１２０】
図２６は、適応輪郭検出技術(adaptive contour detection technique)を使用して話者の輪郭を検出するために、ビデオ・フェイス・ロケーション・モジュール１０２が実行するステップのフローチャート２６００を示す。ステップ２６０５で、新しい及び前のビデオフレームを検索した後、ビデオ・フェイス・ロケーション・モジュール１０２は、適応モーション検出閾値(adaptive motion detection threshold, ＭＤ＿ＴＨＤ)を、それが最小の初期値(minimum initial value, ＭＤ＿ＴＨＤ＿ＭＩＮ)を持つように設定することにより最初に初期化する。適応モーション検出閾値は、キャプチャーされたビデオフレーム中のモーション画素を検出する際に使用される。ビデオ・フェイス・ロケーション・モジュール１０２は、２進モーションマップ（又はマスク）を前に図７のフローチャート７００に関して説明した同様の方法で生成するために、現在及び前のビデオフレームを処理し、現在のビデオフレーム中のモーション画素を検出する（ステップ２６１０）。しかし、ここでは輝度値だけが使用されることに注意すべきである。
【０１２１】
もし、２進モーションマップ中のモーション画素の合計の数が、ビデオフレーム中の画素の合計の数の所定の比率、ここでは３分の１より多ければ（ステップ２６１５）、ビデオ・フェイス・ロケーション・モジュール１０２は、検出されたモーション画素はカメラの動きによるものであると判断する。もし、２進モーションマップ中のモーション画素の合計の数が、ビデオフレーム中の画素の合計の数の所定の比率より多くなければ（ステップ２６１５）、ビデオ・フェイス・ロケーション・モジュール１０２は、モーション画素の合計の数が所定の閾値（ＭＩＮ＿ＭＰ＿ＮＵＭ）より小さいかどうかを判断する（ステップ２６２０）。もしそうであれば、ビデオ・フェイス・ロケーション・モジュール１０２は、モーション画素の数は、動いている人のイメージを有するフレームから通常期待される数より少ないと判断する。
【０１２２】
しかし、もしビデオ・フェイス・ロケーション・モジュール１０２が、モーション画素の合計の数が所定の閾値（ＭＩＮ＿ＭＰ＿ＮＵＭ）より少なくないかどうかを判断するなら、ビデオ・フェイス・ロケーション・モジュール１０２は、形態構造操作(morphological operation)を２進モーションマップに実行し、静止しているがモーション画素に囲まれていることが検出された画素を埋める（ステップ２６２５）。形態構造操作は、例えば、３×３の演算子の拡張(dilation)及び侵食(erosion)操作とすることができる。
【０１２３】
次にビデオ・フェイス・ロケーション・モジュール１０２は、２進モーションマップ中の形の輪郭を検出する（ステップ２６３０）。輪郭検出は、以下のようにして進行する。それぞれの列で、最上部から底部に、ビデオ・フェイス・ロケーション・モジュール１０２は、５×５の画素ブロックを画素の左下方又は右下方に見ることによって、それぞれの動いている画素を評価する。もし、いずれかのブロック中に６より多くの動いている画素があれば、ビデオ・フェイス・ロケーション・モジュール１０２は、その画素を輪郭画素として識別する。輪郭は、カメラ１４をチルトさせるためのカメラの命令を提供するために使用されるため、検出された人の上部の輪郭のみが必要である。従って、ビデオ・フェイス・ロケーション・モジュール１０２は、列中の輪郭画素に遭遇するとすぐに、ビデオ・フェイス・ロケーション・モジュール１０２は、その列の分析を終了する。
【０１２４】
ビデオ・フェイス・ロケーション・モジュール１０２は、次に、雑音レベルを計算する（ステップ２６３５）。雑音レベルは、雑音画素の合計の数を、検出された輪郭より上の画素の合計の数で除したものとして定義される。雑音画素は、検出された輪郭より上にある、２進モーションマップ中のモーション画素、すなわち、人間の話者に対応しないと推定されるモーション画素である。もし、雑音レベルが所定の雑音閾値より小さくなければ（ステップ２６４０）、雑音のために検出されたモーション画素を拒絶するために、より感度の低いモーション検出がそのフレーム上で実行されるべきであると判断される。実行すべきモーション検出は、モーション画素を検出する可能性が減じられた感度のより低い感度である。それを行うために、ビデオ・フェイス・ロケーション・モジュール１０２は、適応モーション検出閾値を所定の値だけ増加させる（ステップ２６４５）。もし、適応モーション検出閾値が最大の許容雑音閾値より大きければ（ステップ２６５０）、ビデオ・フェイス・ロケーション・モジュール１０２は、雑音レベルは信頼できる輪郭が検出できるレベルより上であると判断する。
【０１２５】
もし、適応モーション検出閾値が、最大の許容雑音閾値より大きくなければ（ステップ２６５０）、ビデオ・フェイス・ロケーション・モジュール１０２は、適応モーション検出閾値の新しい値を使用して、２進モーションマップ中のモーション画素に、新しいモーション検出を実行する。この処理は、いくつかのモーション画素を、非モーション画素として再分類する。
【０１２６】
この点で、最大の許容雑音閾値に達するか（ステップ２６５０）、検出された雑音レベルが所定の雑音閾値より下になるか（ステップ２６４０）のいずれかまで、ステップ２６２０〜２６５５が反復される。
【０１２７】
もし、雑音レベルが所定の閾値より下にあれば（ステップ２６４０）、雑音レベルは、信頼できる輪郭が検出できるほど十分に低いと推定される。ビデオ・フェイス・ロケーション・モジュール１０２は、次に、輪郭を滑らかにするために５点メジアン・フィルタ(five point median filter)を使用し、また更に雑音のために検出されたどんなモーション画素も除去する。次に、ステップ２６６５で、記憶されたデータの量を減少させるために、ビデオ・フェイス・ロケーション・モジュール１０２は、検出された輪郭を（例えば、１６のレベルに）量子化する。
【０１２８】
次に、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６（図４）は、この情報を使用して適切なチルト角を決定し、カメラポジショニングデバイス１６に適切な命令を与える。それを行うために、スピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、最も高い輪郭点を選択し、キャプチャーしたビデオイメージ中の所定の位置にこの最も高い輪郭点を持ってくるためにはどのようにカメラ１４をチルトさせるべきかを決定する。
【０１２９】
いくつかの実施形態では、ニューラルネット又はカラーヒストグラム分布に基づいた顔検出のアルゴリズム及び技術のような、顔検出の他の方法を、ビデオ・フェイス・ロケーション・モジュール１０２中の人の顔の位置を決定するために使用することができる。
【０１３０】
上述の実施形態で、ビデオ検出モジュール６０の結果に基づいてカメラフレーミング命令を変更する前に、カメラポインティング制御８０又はスピーカ・バリデーション・アンド・フレーミング・モジュール１１６は、所定の数のフレームを最初に分析する。次に、全てのこれらのフレームに対する値は、誤った修正が実行されないことを確実にするために認定される。その結果が認定された後、次にそれらは、カメラのフレーミングを変更するために使用することができる。このようにして、フレーミングの変更の正確さが増大する。
【図面の簡単な説明】
【図１】  典型的なビデオ会議システムを示す図である。
【図２】  ビデオ会議システムの構成部品の概略を示す図である。
【図３】  カメラポインティングモジュールの種々の機能モジュールを示す図である。
【図４】  カメラポインティングモジュールの動作のフローチャートである。
【図５】  ビデオ・フェイス・ロケーション・モジュール(video face location module)によって実行される詳細なステップのフローチャートである。
【図６】  肌の色調の２進マップを作り出すためのアルゴリズムのための擬似コード(pseudocode)である。
【図７】  前のビデオフレームから動いた物体に対応する現在のビデオフレーム中の画素を検出するためのアルゴリズムのための擬似コードである。
【図８】  空間的輝度の差異及び時間の輝度の差異に基づいて顔の部分を拒絶するためのアルゴリズムのための擬似コードである。
【図９】  フェイス・ロケーション・トラッキング・モジュールにより実行されるステップのフローチャートである。
【図１０】  前のビデオフレーム中で検出された顔のイメージの位置を、現在のビデオ他面のために、推定するための予想アルゴリズムのための擬似コードである。
【図１１】  現在のビデオフレーム中の検出された顔を現在の追跡ファイルに関連付けるための関連アルゴリズムのための擬似コードである。
【図１２】  追跡ファイルを更新するためのアルゴリズムのための擬似コードである。
【図１３】  スピーカ・バリデーション・アンド・フレーミング・モジュールにより実行されるステップのフローチャートである。
【図１４】  カメラとマイクロホンアレイとの間の整列不良によるカメラの撮影のフレーミングのエラーを示す図である。
【図１５】  カメラとマイクロホンアレイとの間の整列不良によるカメラの撮影のフレーミングのエラーを修正するカメラ制御モジュールにより実行されるステップのフローチャートである。
【図１６】  全体のポインティングのエラーのためのカメラの撮影のフレーミングのエラーを示す図である。
【図１７】  全体のポインティングのエラーを修正するためのカメラ制御モジュールにより実行されるステップのフローチャートである。
【図１８】  距離認定エラー(range finding error)のための、カメラの撮影のフレーミングのエラーを示す図である。
【図１９】  距離認定エラーを修正するための、カメラ制御モジュールにより実行されるステップのフローチャートである。
【図２０】  全体のポインティングのエラーを防止するため、スピーカ・バリデーション・アンド・フレーミング・モジュールにより実行されるステップのフローチャートである。
【図２１】  図１のビデオ会議システムの応答時間を減少させるため、スピーカ・バリデーション・アンド・フレーミング・モジュールにより実行されるステップのフローチャートである。
【図２２】  グループの撮影をフレーミングするため、スピーカ・バリデーション・アンド・フレーミング・モジュールにより実行されるステップのフローチャートである。
【図２３Ａ】  カメラの視界に関して動いている話者の位置の平面図である。
【図２３Ｂ】  カメラの視界に関して動いている話者の位置の平面図である。
【図２３Ｃ】  カメラの視界に関して動いている話者の位置の平面図である。
【図２４】  動いている話者のためにカメラの視界を調節するため、スピーカ・バリデーション・アンド・フレーミング・モジュールにより実行されるステップのフローチャートである。
【図２５】  ビデオ会議システムの他の実施形態の図である。
【図２６】  話者の輪郭を検出するため、ビデオ・フェイス・ロケーション・モジュールにより実行される詳細なステップのフローチャートである。
【図１】
0004450508.tif 000010
【図２】
0004450508.tif 000011
【図３】
0004450508.tif 000012
【図４】
0004450508.tif 000013
【図５】
0004450508.tif 000014
【図６】
0004450508.tif 000015
【図７】
0004450508.tif 000016
【図８】
0004450508.tif 000017
【図９】
0004450508.tif 000018
【図１０】
0004450508.tif 000019
【図１１】
0004450508.tif 000020
【図１２】
0004450508.tif 000021
【図１３】
0004450508.tif 000022
【図１４】
0004450508.tif 000023
【図１５】
0004450508.tif 000024
【図１６】
0004450508.tif 000025
【図１７】
0004450508.tif 000026
【図１８】
0004450508.tif 000027
【図１９】
0004450508.tif 000028
【図２０】
0004450508.tif 000029
【図２１】
0004450508.tif 000030
【図２２】
0004450508.tif 000031
【図２３Ａ】
0004450508.tif 000032
【図２３Ｂ】
0004450508.tif 000033
【図２３Ｃ】
0004450508.tif 000034
【図２４】
0004450508.tif 000035
【図２５】
0004450508.tif 000036
【図２６Ａ】
0004450508.tif 000037
【図２６Ｂ】
0004450508.tif 000038