(57)【特許請求の範囲】
【請求項１】
第１のカメラによって提供されるビデオストリームの１つ又は複数の特性を少なくとも１つのハードウェアプロセッサによって決定するステップであって、前記１つ又は複数の特性は、１つ又は複数のビデオ特性を含み、前記第１のカメラは通信ネットワークを介して前記少なくとも１つのハードウェアプロセッサと通信する、決定するステップと、
前記ビデオストリームの前記１つ又は複数の特性を決定することに応答して、前記第１のカメラが、利用可能な１つ又は複数の機能を有するか否かを、少なくとも１つのハードウェアプロセッサによって決定するステップであって、前記１つ又は複数の機能は前記１つ又は複数の特性と関連し、前記１つ又は複数の機能は、キャプチャレート、ちらつき、ホワイトバランス、露光、コントラスト、温度、及び絞りのうちの１つ又は複数のための制御を含む、決定するステップと、
前記第１のカメラが利用可能な前記１つ又は複数の機能を有すると決定したことに応答して、ブラウザが前記第１のカメラの前記１つ又は複数の機能を制御することを可能にするステップと、を含む方法であって、前記ブラウザが前記第１のカメラに対して遠隔にあり、かつ前記少なくとも１つのハードウェアプロセッサによって実行され、前記第１のカメラが第１のユーザと関連し、前記ブラウザが第２のユーザと関連し、および前記ブラウザが前記１つ又は複数の機能を制御することを可能にする前記ステップが、
前記ビデオストリームと関連する前記１つ又は複数のビデオ特性を、少なくとも１つのハードウェアプロセッサによって解析するステップと、
前記１つ又は複数のビデオ特性の前記解析に基づいて、前記ブラウザにおいて１つ又は複数の制御を、前記少なくとも１つのハードウェアプロセッサによってアクティベートするステップと、を含み、前記１つ又は複数の制御が前記１つ又は複数の機能に対応し、前記１つ又は複数の制御が前記１つ又は複数の機能と関連する１つ又は複数の設定に対応し、前記１つ又は複数のアクティベートされた制御は、前記第１のカメラの前記１つ又は複数の機能を制御するために、前記通信ネットワークを介して１つ又は複数のコマンドが送信されるようにするユーザ入力を受け入れる、
方法。
【請求項２】
第２のビデオストリームが前記第２のユーザと関連する第２のカメラによって提供され、前記第２のビデオストリームは前記通信ネットワークを介して前記第１のユーザと関連するデバイスに送信され、前記第２のカメラは前記第１のユーザによって送信されたコマンドによって制御可能である、
請求項１に記載の方法。
【請求項３】
前記１つ又は複数のビデオ特性を解析するステップが、顔を検出するステップを含み、前記ブラウザによって受信された、前記１つ又は複数の制御のうち少なくとも１つの特定の制御の調整に基づいて、前記顔に１回又は複数回のパンニングおよびズーミングを前記第１のカメラに行わせるステップをさらに含む、
請求項１に記載の方法。
【請求項４】
前記ブラウザによって、前記１つ又は複数の制御の第１の制御の調整を受信するステップと、
前記第１のカメラに関連するアプリケーションプログラミングインタフェースを用いて、前記ブラウザによって、前記１つ又は複数の制御の前記第１の制御の前記調整に基づいて、前記第１のカメラの前記１つ又は複数の機能の特性を変更するための前記１つ又は複数のコマンドを生成するステップと、
前記ブラウザによって、前記通信ネットワークを介して前記第１のカメラに前記１つ又は複数のコマンドを送信するステップと、をさらに含む、
請求項１に記載の方法。
【請求項５】
前記１つ又は複数の機能が、アクティベートする前記ステップによって、前記１つ又は複数のビデオ特性と関連付けられると決定される前記１つ又は複数の機能を制御することを可能にされるステップであって、前記１つ又は複数の機能は、変更のために利用可能な前記１つ又は複数の設定を有すると決定される、請求項１に記載の方法。
【請求項６】
第１のカメラによって提供されるビデオストリームの１つ又は複数の特性を少なくとも１つのハードウェアプロセッサによって決定するステップであって、前記１つ又は複数の特性は、１つ又は複数のビデオ特性を含み、前記第１のカメラは通信ネットワークを介して前記少なくとも１つのハードウェアプロセッサと通信する、決定するステップと、
前記ビデオストリームの前記１つ又は複数の特性を決定することに応答して、前記第１のカメラが、利用可能な１つ又は複数の機能を有するか否かを、少なくとも１つのハードウェアプロセッサによって決定するステップであって、前記１つ又は複数の機能は前記１つ又は複数の特性と関連する、決定するステップと、
前記第１のカメラが利用可能な前記１つ又は複数の機能を有すると決定したことに応答して、ソフトウェアアプリケーションが前記第１のカメラの前記１つ又は複数の機能を制御することを可能にするステップであって、前記ソフトウェアアプリケーションは、前記第１のカメラに対し、遠隔にあり、かつ前記少なくとも１つのハードウェアプロセッサによって実行される、可能にするステップと、を含む方法であって、前記第１のカメラが第１のユーザと関連し、前記ソフトウェアアプリケーションが第２のユーザと関連し、前記ソフトウェアアプリケーションが前記１つ又は複数の機能を制御することを可能にする前記ステップは、
前記ビデオストリームと関連する前記１つ又は複数のビデオ特性を、少なくとも１つのハードウェアプロセッサによって解析するステップと、
前記１つ又は複数のビデオ特性の前記解析に基づいて、前記ソフトウェアアプリケーションにおいて１つ又は複数の制御を、少なくとも１つのハードウェアプロセッサによってアクティベートするステップであって、前記１つ又は複数の制御は１つ又は複数の機能に対応し、前記１つ又は複数の制御は前記１つ又は複数の機能と関連する１つ又は複数の設定に対応し、前記１つ又は複数のアクティベートされた制御は、前記第１のカメラの前記１つ又は複数の機能を制御するために、前記通信ネットワークを介して１つ又は複数のコマンドが送信されるようにするユーザ入力を受け入れる、アクティベートするステップと、を含む、
方法。
【請求項７】
前記１つ又は複数の機能が、キャプチャレート、ちらつき、露光、コントラスト、ホワイトバランス、温度、及び絞りのうちの１つ又は複数のための制御を含む、請求項６に記載の方法。
【請求項８】
前記１つ又は複数の機能が、前記１つ又は複数のビデオ特性に基づいて、前記１つ又は複数の設定に１つ又は複数の変更を適用するステップをさらに含む、請求項６に記載の方法。
【請求項９】
第２のビデオストリームが前記第２のユーザと関連する第２のカメラによって提供され、前記第２のビデオストリームは前記通信ネットワークを介して前記第１のユーザと関連するデバイスに送信され、前記第２のカメラは前記第１のユーザによって送信されたコマンドによって制御可能である、請求項６に記載の方法。
【請求項１０】
前記ビデオストリームの前記１つ又は複数のビデオ特性の前記解析に基づいて、前記第１のカメラの物理的環境に位置する顔を検出するステップと、
パンニングおよびズーミングを含む前記１つ又は複数の機能のために、前記検出された顔の上に、前記第１のカメラの焦点を生じさせるステップと、をさらに含む、
請求項６に記載の方法。
【請求項１１】
前記ソフトウェアアプリケーションのユーザインタフェースにおいて、前記１つ又は複数の制御の表示をさせるステップをさらに含み、前記１つ又は複数の制御の少なくとも１つは、前記１つ又は複数の機能を前記決定するステップの前に前記ユーザインタフェースにおいて表示されない、
請求項６に記載の方法。
【請求項１２】
前記１つ又は複数の制御が、前記アクティベートによって、前記１つ又は複数のビデオ特性と関連すると決定される前記１つ又は複数の機能を制御することを可能にされ、前記１つ又は複数の機能は、変更のために利用可能な前記１つ又は複数の設定を有することを決定される、請求項６に記載の方法。
【請求項１３】
前記ソフトウェアアプリケーションによって、前記１つ又は複数の制御の第1の制御の調整を受信するステップと、
前記第１のカメラに関連するアプリケーションプログラミングインタフェースを用いて、前記ソフトウェアアプリケーションによって、前記１つ又は複数の制御の前記第１の制御の前記調整に基づいて、前記第１のカメラの前記１つ又は複数の機能の特性を変更するための１つ又は複数のコマンドを生成するステップと、
前記ソフトウェアアプリケーションによって、通信ネットワークを介して前記第１のカメラに前記１つ又は複数のコマンドを送信するステップと、を含む、
請求項６に記載の方法。
【請求項１４】
システムであって、前記システムは、
１つ又は複数のプロセッサと、
前記１つ又は複数のプロセッサによる実行のための、１つ又は複数の非一時的なコンピュータ可読メディアに符号化されたロジックと、を含み、前記ロジックは実行された時に、
第１のカメラによって提供されるビデオストリームの１つ又は複数の特性を決定するステップであって、前記１つ又は複数の特性は、１つ又は複数のビデオ特性を含み、前記第１のカメラは通信ネットワークを介して前記少なくとも１つのハードウェアプロセッサと通信する、決定するステップと、
前記ビデオストリームの前記１つ又は複数の特性を決定することに応答して、前記第１のカメラが、利用可能な１つ又は複数の機能を有するか否かを決定するステップであって、前記１つ又は複数の機能は前記１つ又は複数の特性と関連する、決定するステップと、
前記第１のカメラが利用可能な前記１つ又は複数の機能を有すると決定したことに応答して、ソフトウェアアプリケーションが前記第１のカメラの前記１つ又は複数の機能を制御することを可能にするステップと、を含む動作を行うことが可能であり、前記ソフトウェアアプリケーションが前記第１のカメラに対して遠隔にあり、かつ前記少なくとも１つのハードウェアプロセッサによって実行され、前記第１のカメラは第１のユーザと関連し、前記ソフトウェアアプリケーションは第２のユーザと関連し、前記ソフトウェアアプリケーションが前記１つ又は複数の機能を制御することを可能にするステップは、
前記ビデオストリームと関連する前記１つ又は複数のビデオ特性を解析するステップと、
前記１つ又は複数のビデオ特性の前記解析に基づいて、前記ソフトウェアアプリケーションにおいて１つ又は複数の制御をアクティベートするステップであって、前記１つ又は複数の制御は前記１つ又は複数の機能に対応し、前記１つ又は複数の制御は前記１つ又は複数の機能と関連する１つ又は複数の設定に対応し、前記１つ又は複数のアクティベートされた制御は、前記第１のカメラの前記１つ又は複数の機能を制御するために、前記通信ネットワークを介して１つ又は複数のコマンドが送信されるようにするユーザ入力を受け入れる、アクティベートするステップと、を含む、
システム。
【請求項１５】
前記１つ又は複数の機能が、露光、キャプチャレート、ちらつき、コントラスト、ホワイトバランス、温度、及び絞りのうちの１つ又は複数のための制御を含む、請求項１４に記載のシステム。
【請求項１６】
前記１つ又は複数の制御が、前記アクティベートによって、前記１つ又は複数のビデオ特性と関連すると決定される前記１つ又は複数の機能を制御することを可能にされ、前記１つ又は複数の機能は、変更のために利用可能な前記１つ又は複数の設定を有することを決定される、
請求項１４に記載のシステム。
【請求項１７】
第２のビデオストリームが前記第２のユーザと関連する第２のカメラによって提供され、前記第２のビデオストリームは前記通信ネットワークを介して前記第１のユーザと関連するデバイスに送信され、前記第２のカメラは前記第１のユーザによって送信されたコマンドによって制御可能である、請求項１４に記載のシステム。
【請求項１８】
前記第１のカメラの前記１つ又は複数の機能を決定するステップが、前記第１のカメラの前記１つ又は複数の機能の少なくとも１つの機能が、前記ビデオストリームと関連する前記１つ又は複数の特性の少なくとも１つの特性と関連すると決定するステップを含む、
請求項１４に記載のシステム。
【請求項１９】
前記１つ又は複数のビデオ特性を解析するステップが顔を検出するステップを含み、実行される前記ロジックは、動作を実行するのにさらに動作可能であり、前記動作は、
前記ソフトウェアアプリケーションによって受信された、前記１つ又は複数の制御の少なくとも１つの特定の制御の調整に基づいて前記顔にパンニング及びズーミングの１つ又は複数を前記第１のカメラに実行させるステップをさらに含む、
請求項１４に記載のシステム。
【請求項２０】
実行される前記ロジックは、動作を実行するのにさらに動作可能であり、前記動作は、
前記１つ又は複数のビデオ特性に基づいて前記１つ又は複数の設定に１つ又は複数の変更を適用するステップを含む、請求項１４に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１４年２月３日出願の米国特許仮出願シリアル番号14/171,086に対する優先権を主張するものであり、その内容は参照によりあらゆる目的のために明細書に完全に記載されているものとして本明細書に組み込まれる。
【背景技術】
【０００２】
ビデオ会議は、地理的に分散した位置にわたって、リアルタイムで参加者がビデオ及びオーディオコンテンツを互いに共有することを可能にする。各位置で通信デバイスは、通常ビデオ及びオーディオストリームを送信するためにビデオカメラとマイクロフォンを使用し、並びに受信したビデオ及びオーディオストリームを再生するためにビデオモニタとスピーカーを使用する。ビデオ会議は、ビデオ及びオーディオストリームのデジタル圧縮を伴い、これは１つの位置から別の位置へネットワークを経由してリアルタイムで送信される。通信デバイスは、ビデオ及びオーディオストリームの圧縮と解凍を実行し、次いでネットワークを介してデータの連係を維持する。
【発明の概要】
【０００３】
実施形態は、一般にビデオ会議を改善することに関する。いくつかの実施形態において、方法は、第１のカメラによって提供されるビデオストリームの１つ又は複数の特性を決定するステップを含む。該方法は、１つ又は複数の特性に基づいて、第１のカメラの１つ又は複数の機能を決定するステップをさらに含む。該方法は、ブラウザが第１のカメラの１つ又は複数の機能を制御することを可能にするステップをさらに含み、ここでブラウザは、第１のカメラに対し遠隔にある。
【０００４】
該方法にさらに関して、いくつかの実施形態において、１つ又は複数の機能が、露光、コントラスト、ホワイトバランス、温度、及び絞りのうちの１つ又は複数のための制御を含む。いくつかの実施形態において、１つ又は複数の機能が、キャプチャレート及びちらつきのうちの１つ又は複数のための制御を含む。いくつかの実施形態において、１つ又は複数の機能が、パンニング及びズーミングのうちの１つ又は複数のための制御を含む。いくつかの実施形態において、ブラウザが１つ又は複数の機能を制御することを可能にするステップが、ブラウザにおいて１つ又は複数の制御を提供するステップを含み、ここで１つ又は複数の制御は、１つ又は複数の機能に対応する。いくつかの実施形態において、ブラウザが１つ又は複数の機能を制御することを可能にするステップが、ビデオストリームと関連する１つ又は複数のビデオ特性を解析するステップと、１つ又は複数のビデオ特性を解析するステップに基づいて、ブラウザにおいて１つ又は複数の制御を提供するステップと、を含み、ここで１つ又は複数の制御は、１つ又は複数の機能に対応する。いくつかの実施形態において、ブラウザが１つ又は複数の機能を制御することを可能にするステップが、ブラウザにおいて１つ又は複数の制御を提供するステップを含み、ここで１つ又は複数の制御は、１つ又は複数の機能に対応し、及び１つ又は複数の制御は、１つ又は複数の機能と関連する１つ又は複数の設定に対応する。いくつかの実施形態において、第１のカメラは第１のユーザと関連し、かつブラウザが第２のユーザと関連する。
【０００５】
いくつかの実施形態において、方法は、第１のカメラによって提供されるビデオストリームの１つ又は複数の特性を決定するステップを含む。該方法は、１つ又は複数の特性に基づいて第１のカメラの１つ又は複数の機能を決定するステップを含み、ここで１つ又は複数の機能は、キャプチャレート、ちらつき、ホワイトバランス、露光、コントラスト、温度、及び絞りのうちの１つ又は複数のための制御を含む。該方法は、ブラウザが第１のカメラの１つ又は複数の機能を制御することを可能にするステップをさらに含み、ここでブラウザは、第１のカメラに対して遠隔にあり、ブラウザが１つ又は複数の機能を制御することを可能にするステップは、ブラウザにおいて１つ又は複数の制御を提供するステップを含み、及び１つ又は複数の制御は、１つ又は複数の機能に対応する。
【０００６】
該方法にさらに関して、いくつかの実施形態において、１つ又は複数の機能は、パンニング及びズーミングのうちの１つ又は複数のための制御を含む。いくつかの実施形態において、ブラウザが１つ又は複数の機能を制御することを可能にするステップは、ビデオストリームと関連する１つ又は複数のビデオ特性を解析するステップと、１つ又は複数のビデオ特性を解析するステップに基づいて、ブラウザにおいて１つ又は複数の制御を提供するステップと、を含み、１つ又は複数の制御が１つ又は複数の機能に対応する。いくつかの実施形態において、ブラウザが１つ又は複数の機能を制御することを可能にするステップは、ブラウザにおいて１つ又は複数の制御を提供するステップを含み、１つ又は複数の制御が１つ又は複数の機能に対応し、かつ、１つ又は複数の制御が１つ又は複数の機能と関連する１つ又は複数の設定に対応する。いくつかの実施形態において、ブラウザが１つ又は複数の機能を制御することを可能にするステップは、１つ又は複数の機能と関連する１つ又は複数の設定を上書きするステップを含む。
【０００７】
いくつかの実施形態において、システムは、１つ又は複数のプロセッサと、１つ又は複数のプロセッサによる実行のための、１つ又は複数の有形媒体中の符号化されたロジックを含む。ロジックは、実行時に、第１のカメラによって提供されるビデオストリームの１つ又は複数の特性を決定するステップと、１つ又は複数の特性に基づいて第１のカメラの１つ又は複数の機能を決定するステップと、ブラウザが第１のカメラの１つ又は複数の機能を制御することを可能にするステップであって、ブラウザが第１のカメラに対して遠隔にある、ステップと、を含む処理を行うことが可能である。
【０００８】
該システムにさらに関して、いくつかの実施形態において、１つ又は複数の機能が、露光、コントラスト、ホワイトバランス、温度、及び絞りのうちの１つ又は複数のための制御を含む。いくつかの実施形態において、１つ又は複数の機能は、キャプチャレート及びちらつきのうちの１つ又は複数のための制御を含む。いくつかの実施形態において、１つ又は複数の機能は、パンニング及びズーミングのうちの１つ又は複数のための制御を含む。いくつかの実施形態において、ブラウザが１つ又は複数の機能を制御することを可能にするために、実行されるロジックが、ブラウザにおいて１つ又は複数の制御を提供することを含む動作を実行するのにさらに動作可能であり、１つ又は複数の制御が１つ又は複数の機能に対応する。いくつかの実施形態において、ブラウザが１つ又は複数の機能を制御することを可能にするために、実行されるロジックは、ビデオストリームと関連する１つ又は複数のビデオ特性を解析することと、１つ又は複数のビデオ特性を解析することに基づいて、ブラウザにおいて１つ又は複数の制御を提供することであって、１つ又は複数の制御が１つ又は複数の機能に対応することと、を含む動作を実行するのにさらに動作可能である。いくつかの実施形態において、ブラウザが１つ又は複数の機能を制御することを可能にするために、実行されるロジックは、ブラウザにおいて１つ又は複数の制御を提供することを含む動作を実行するのにさらに動作可能であり、１つ又は複数の制御が１つ又は複数の機能に対応し、かつ、１つ又は複数の制御が１つ又は複数の機能と関連する１つ又は複数の設定に対応する。
【図面の簡単な説明】
【０００９】
【図１】本明細書に記載の実施形態を実装するために使用されてもよいネットワーク環境例のブロック図である。
【図２】いくつかの実施形態に従った、ビデオ会議を改善するための簡易化したフローチャート例の図である。
【図３】いくつかの実施形態に従った、ビデオ会議を改善するための簡易化した環境例の図である。
【図４Ａ】いくつかの実施形態に従った、ビデオストリーム例の図である。
【図４Ｂ】いくつかの実施形態に従った、ビデオストリーム例の図である。
【図５】いくつかの実施形態に従った、簡易化したユーザインタフェース例の図である。
【図６】いくつかの実施形態に従った、簡易化したユーザインタフェース例の図である。
【図７】いくつかの実施形態に従った、簡易化したユーザインタフェース例の図である。
【図８】本明細書に記載の実施形態を実装するために使用されてもよいサーバデバイス例のブロック図である。
【発明を実施するための形態】
【００１０】
本明細書で説明される実施形態は、ビデオ会議を改善する。多様な実施形態において、システムは、ビデオストリームを提供する第１のカメラの１つ又は複数の機能を決定し、第１のカメラは第１のユーザと関連する。いくつかの実施形態において、機能は、キャプチャレート、ちらつき、ホワイトバランス、露光、コントラスト、温度、絞り、パンニング、及びズーミングのうちの１つ又は複数のための制御を含んでもよい。
【００１１】
システムは、次いでブラウザが第1のカメラの1つ又は複数の機能を制御することを可能にし、ブラウザは第2のユーザと関連し、ブラウザは第1のカメラに対し遠隔にある。いくつかの実施形態において、ブラウザが1つ又は複数の機能を制御することを可能にするステップは、ビデオストリームと関連する1つ又は複数のビデオ特性を解析するステップと、1つ又は複数のビデオ特性を解析するステップに基づいて、ブラウザにおいて1つ又は複数の制御を提供するステップと、を含み、1つ又は複数の制御が1つ又は複数の機能と対応し、1つ又は複数の制御が、1つ又は複数の機能と関連する1つ又は複数の設定に対応する。いくつかの実施形態において、ブラウザが1つ又は複数の機能を制御することを可能にするステップが、1つ又は複数の機能と関連する1つ又は複数の設定を上書きするステップを含む。
【００１２】
図１は、ネットワーク環境例１００のブロック図を図示しており、これは本明細書に記述される実装を実現するために使用されてもよい。いくつかの実施形態において、ネットワーク環境１００は、サーバデバイス１０４及びソーシャルネットワークデータベース１０６を含むシステム１０２を含む。多様な実施形態において、用語システム１０２及び語句”ソーシャルネットワークシステム”は、同じ意味で使用されてもよい。ネットワーク環境１００は、クライアントデバイス１１０、１２０、１３０、及び１４０も含み、これはシステム１０２を介して互いに通信することができる。ネットワーク環境１００は、ネットワーク１５０も含む。
【００１３】
図を簡単にするために、図１は、システム１０２、サーバデバイス１０４、及びソーシャルネットワークデータベース１０６ごとに１つのブロックを示し、クライアントデバイス１１０、１２０、１３０、及び１４０のための4つのブロックを示す。ブロック１０２、１０４、及び１０６は、複数のシステム、サーバデバイス、及びソーシャルネットワークデータベースを表してもよい。また、任意の数のクライアントデバイスが存在してもよい。別の実施形態において、ネットワーク環境１００は、示される全てのコンポーネントを有さなくてもよく、及び／又はその代わりに、本明細書に示されたものに加えて、別の種類の要素を含む別の要素を有してもよい。
【００１４】
多様な実施形態において、ユーザＵ１、Ｕ２、Ｕ３、及びＵ４は、それぞれのクライアントデバイス１１０、１２０、１３０、及び１４０を使用して、互いに通信してもよい。例えば、ユーザＵ１、Ｕ２、Ｕ３、及びＵ４は、マルチユーザビデオ会議において互いに交流してもよく、それぞれのクライアントデバイス１１０、１２０、１３０、及び１４０は、メディアストリームを互いに送信する。
【００１５】
本明細書に記載される多様な実施形態において、システムのプロセッサ１０２は、本明細書に記載される要素（例えば、ブラウザ制御ボタン等）が、１つ又は複数のディスプレイ画面上のユーザインタフェースに表示されることをもたらす。
【００１６】
多様な実施形態において、システム１０２は、ビデオ会議の改善のために認識アルゴリズムを利用してもよい。認識アルゴリズムの実施形態例は、以下により詳細に説明される。
【００１７】
図２は、いくつかの実施形態に従った、ビデオ会議を改善するための簡易化したフローチャート図の例を図示している。図１及び２の両方を参照すると、方法は、ブロック２０２で開始され、ここでシステム１０２は第1のカメラによって提供されるビデオストリームの1つ又は複数の特性を決定する。多様な実施形態において、1つ又は複数の特性は、ビデオの基本的なアスペクト（aspect）を含んでもよい。例えば、システム１０２は、露光、露光時間、明るさ、コントラスト、彩度、シャープネス、ホワイトバランス、温度（例えば、ホワイトバランス温度など）、絞り等のための値を決定してもよい。
【００１８】
多様な実施形態において、１つ又は複数の特性は、ビデオのより拡張されたアスペクトを含んでもよい。例えば、システム１０２は、電力ライン周波数（アンチフリッカー）、ちらつき、キャプチャレート、バックライト補償、フォーカス等のための値を決定してもよい。
【００１９】
多様な実施形態において、システム１０２は、ビデオストリーム内の動きを検出し、これらの特性の何れか１つ以上が最適でない箇所を検出する。例えば、いくつかの実施形態において、システム１０２は、カラー彩度ビデオストリームがオフであるか否か、ビデオストリーム内にちらつきがあるか否か、等を決定してもよい。ちらつきの例において、いくつかの国では電気が１つの周波数（例えば５０ヘルツ（Hz））で動作しているかもしれないが、所定のカメラが別の周波数（例えば、６０Hz）にセットされている可能性があり、これはちらつきの原因となり得る。システム１０２は、そのようなちらつき特性を検出する。以下に記述するように、システム１０２は、ちらつきの補正のためにカメラの周波数設定を遠隔で変更するための制御をユーザに提供することができ、及び／又はシステム１０２は、ちらつきの補正のためのそのような設定を自動的に変更してもよい。
【００２０】
多様な実施形態において、システム１０２は、任意の適切な位置で画像処理に基づいてビデオストリームの１つ又は複数の特性を決定してもよい。例えば、いくつかの実施形態において、システム１０２は、システム１０２又はシステム１０２にアクセス可能な任意の他のサーバにローカル処理を実行してもよい。いくつかの実施形態において、システム１０２は、いくつかの画像処理が任意の適切なブラウザで発生することをもたらしてもよい。例えば、画像がビデオ会議と関連する任意の１つ又は複数のブラウザでのプロセスである場合である。システム１０２は、任意の１つ又は複数のそのようなブラウザからそのようなデータにアクセスしてもよく、次いでビデオストリームの特性を決定するために、データを解析してもよい。
【００２１】
いくつかの実施形態において、１つ又は複数の特性は、ビデオの中に特徴及び／又は要素を含んでもよい。例えば、オブジェクトとしての顔であっても特定のユーザと関連する特定の顔であっても、システム１０２は、ビデオの中の顔を検出してもよい。いくつかの実施形態において、システム１０２は、ビデオ上の特定の顔の肌の色調を検出してもよい。
【００２２】
特定の特性及び特性の特定の組合せは、特定の実施形態に従って変わる。システム１０２は、本明細書に記述される特性を検出するために任意の適切な認識アルゴリズムを使用してもよい。認識アルゴリズムの実施形態例は、以下により詳細に記述される。
【００２３】
ブロック２０４において、システム１０２は、１つ又は複数の特性に基づいて第１のカメラの１つ又は複数の機能を決定する。例えば、多様な実施形態において、システム１０２は、ビデオ会議でビデオストリームを提供する各カメラと関連するアプリケーションプログラミングインタフェース（API）機能を確認することによって、機能を決定する。
【００２４】
いくつかの実施形態において、システム１０２は、ビデオ会議でビデオストリームを提供する各カメラと関連する低レベルAPI機能を確認することによって、機能を決定する。そのような低レベルAPI機能は、プリセット、ネイティブイベント（native event）等を含むきめ細かい設定を、システム１０２が制御することを可能にする。
【００２５】
多様な実施形態において、１つ又は複数の機能は、ビデオの基本的なアスペクトのための制御を含んでもよい。例えば、システム１０２は、露光、露光時間、明るさ、コントラスト、彩度、シャープネス、ホワイトバランス、温度（例えば、ホワイトバランス温度）、絞り等の制御が利用できることを決定する。多様な実施形態において、１つ又は複数の機能は、ビデオのより拡張されたアスペクトのための制御を含んでもよい。例えば、システム１０２は、電力ライン周波数（アンチフリッカー）、ちらつき、キャプチャレート、バックライト補償、フォーカス等のための値を決定してもよい。上述したちらつきの例において、システム１０２は、ちらつきと関連する任意の設定（例えば、アンチフリッカー）が低レベルAPIを介して変更のために利用可能であるか否かを決定してもよい。
【００２６】
多様な実施形態において、１つ又は複数の機能は、ビデオ効果の１つ又は複数の制御を含んでもよい。例えば、いくつかの実施形態において、システム１０２は、パンニング、ズーミング、チルト等のための機能を決定してもよい。
【００２７】
多様な実施形態において、システム１０２は、決定された特性（例えば、ブロック２０２から）に基づいて、本明細書に記載された機能を決定する。いくつかの実施形態において、システム１０２は、特定の特性に基づいて特定の機能を具体的に決定してもよい。
【００２８】
例えば、１つのシナリオにおいて、システム１０２は、ビデオストリームで特定の肌の色調を検出してもよい。その特定の決定は、システム１０２が、パンニング、ズーミング、チルト等が利用可能であるか否かを低レベルAPI機能から決定するきっかけであってもよい。同様に、システム１０２は、顔などのオブジェクトの検出に基づいて、そのような低レベルAPI機能（例えば、パンニング、ズーミング、チルト等）を決定してもよい。
【００２９】
ブロック２０６において、システム１０２は、ブラウザが第１のカメラの１つ又は複数の機能を制御することを可能にし、ブラウザは第１のカメラに対して遠隔である。多様な実施形態において、第１のカメラは、第１のユーザと関連し、ブラウザは第２のユーザと関連する。本明細書で記述される多様な実施形態において、カメラ設定の制御は、リアルタイムで、またはデータベースに保存された設定に基づいて実行されてもよい。いずれの場合も、制御データは、転送プロトコル（HTTP）、ウェブリアルタイムコミュニケーション（WebRTC）、データチャンネルAPI等の、任意の適切なデータ接続プロトコルを介して制御されているカメラと関連するブラウザに渡されてもよい。
【００３０】
本明細書の多様な実施形態で記述されたように、第１のカメラの機能の制御は、制御のユーザ提供の操作によって、システム１０２の自動的な制御の操作によって、あるいはデータベースに保存されたプリセット設定によって、実行されてもよい。システム１０２は、次いで、適切な制御信号が所定のカメラと関連するブラウザ及び／又は他のソフトウェアに渡されることをもたらす。ブラウザあるいはソフトウェアは、カメラハードウェアを直接制御するか、又はビデオストリームを変更するソフトウェアを経由して制御するために、次いで制御信号を順にカメラに渡してもよい。
【００３１】
図３は、いくつかの実施形態に従った、ビデオ会議を改善するための簡易化した環境例３００を図示している。示されるように、環境３００は、サーバ３０２、低レベルAPI３０６と関連する第１のブラウザ３０４、第１のカメラ３０８を含む。環境３００は、低レベルAPI３１６と関連する第２のブラウザ３１４と、第２のカメラ３１８も含む。多様な実施形態において、図１のシステム１０２は、サーバ３０２の中にあってもよい。
【００３２】
多様な実施形態において、第１のカメラ３０８は、第１のユーザと関連する。図を簡単にするために、多様な実施形態の例は、第１のカメラ３０８の文脈で本明細書に記述される。これらの実施形態は、マルチユーザのビデオ会議にかかわる各カメラにも適用する。例えば、これらの実施形態は、第２のユーザと関連する第２のカメラ３１８に適用されてもよい。そのような例において、第２のカメラ３１８を制御するブラウザは、ブラウザ３０４、あるいは第２のカメラ３１８に対して遠隔にある任意のブラウザであってもよく、ブラウザ３０４は第１のユーザと関連する。本明細書で記載される多様な実施形態は、任意の種類のブラウザに適用してもよい。さらに、実施形態がブラウザのコンタクト（contact）で本明細書に記載されるが、これらの実施形態は、ビデオ会議のために使用できる他のソフトアプリケーションにも適用する。
【００３３】
図１及び３を参照して、多様な実施形態において、ブラウザ３１４が遠隔のカメラ３０８の１つ又は複数の機能を制御することを可能にするために、システム１０２はブラウザ３１４において１つ又は複数の制御を提供し、１つ又は複数の制御は、１つ又は複数の機能に対応する。多様な実施形態において、システム１０２が低レベルAPI３０６の利用可能な機能を決定して、システム１０２は、そのような制御がリアルタイムでブラウザ３１４で表示されることをもたらす。言い換えると、ブラウザ３１４で事前に表示されない制御は、利用可能な機能を決定した後に表示される。図を簡単にするために、制御はブラウザ３１４の文脈で記述される。多様な実施形態において、システム１０２は、そのような制御が、特定のビデオ会議で別のユーザと関連する他のブラウザ（図示せず）に表示されることをもたらしてもよい。そのような別のブラウザは、ブラウザ３０４に含まれてもよい。
【００３４】
図４Aは、いくつかの実施形態に従った、ビデオストリーム例４００を図示している。示されるように、ビデオストリーム４００は、顔４０２を表示する。この特定の実施形態例において、ビデオストリームはブラウザ３１４に表示されたビデオストリームを表してもよく、これらは複数のビデオストリームを表示してもよい。
【００３５】
多様な実施形態において、システム１０２は、本明細書に記載したように、適切な顔認識アルゴリズムを使用して顔４０２を検出してもよい。システム１０２は、ビデオ上の特定の顔の肌の色調を検出することによって、顔４０２を検出してもよい。図を簡単にするために、１つの顔４０２が図示される。他の実施形態例において、所定のビデオストリームにおいて、システム１０２が検出する複数の顔があってもよい。
【００３６】
多様な実施形態において、ブラウザ３１４が１つ又は複数の機能を制御することを可能にするために、システム１０２は、カメラ３０８によって提供されるビデオストリームと関連する１つ又は複数のビデオ特性を解析する（図２のブロック２０２で記述される）。この特定の例において、特性は、顔及び／又は肌の色調を含む。別の特徴は、本明細書で記載される別の特性などの可能性がある。システム１０２は、次いでビデオ特性の解析に基づいて、ブラウザ３１４で１つ又は複数の制御を提供する。本明細書で示されるように、１つ又は複数の制御は、１つ又は複数の決定された機能に対応する。多様な実施形態において、１つ又は複数の制御は、１つ又は複数の機能と関連する１つ又は複数の設定に対応する。多様な実施形態において、ブラウザ３１４が１つ又は複数の機能を制御することを可能にするために、システム１０２は、１つ又は複数の機能と関連するカメラ３０８の１つ又は複数の設定を上書きする。
【００３７】
図４Bは、いくつかの実施形態に従った、ビデオストリーム例４００を図示している。図４Aと類似して、図４Bは、ビデオストリーム４００と顔４０２を示す。図４Aと４Bを比較すると、図４Aからの同一のユーザが、（カメラ３０８によって提供される）ビデオストリーム４００内でパン(pan)するためにシステム１０２によって提供されるブラウザ３１４で制御を使用してもよい。例えば、図４Aを参照すると、顔４０２はビデオストリーム４００の中央に位置している。実施形態は、任意の適切な制御機能（例えば、ユニバーサルシリアルバスビデオクラス（UCV）など）を使用してカメラ３０８を制御してもよい。図４Bを参照すると、顔４０２は、ブラウザ３１８で制御によってビデオストリーム４００の左隅に移動又はパンされている。
【００３８】
いくつかの実施形態において、システム１０２は、所定のビデオストリームで複数の顔を検出する。システム１０２は、そのような検出に基づいて、パン、チルト、及び／又はズームなどの利用可能な機能をさらに検出してもよい。システム１０２は、次いで、別の参加者として同一の部屋の単独の参加者に焦点を合わせるために、パン、チルト、及び／又はズームをキャプチャするためビデオストリームをキャプチャしているカメラを操作するための制御を提供してもよい。いくつかの実施形態において、システム１０２は、顔認識に基づいて、単独の参加者に焦点を合わせるために、カメラにパン、チルト、及び／又はズームすることをもたらす制御を自動的に操作してもよい。いくつかの実施形態において、システム１０２は、単独の参加者に焦点を合わせるために、カメラにパン、チルト、及び／又はズームすることをもたらす制御を遠隔のユーザが操作することを可能にしてもよい。
【００３９】
いくつかの実施形態において、システム１０２は、特定の参加者に焦点を合わせるために、パン、チルト、及び／又はズームするための別の適切な認識アルゴリズムを使用してもよい。例えば、システム１０２は、潜在的にどの参加者に焦点を合わせるかを決定するために、唇の動きを検出するための認識アルゴリズムを使用してもよい。いくつかの実施形態において、マイク及び／又は音声解析の使用により、システム１０２は、部屋の中の特定の参加者にパンニング、チルティング（tilting）及びズーミングのための制御を可能にしてもよい。例えば、システム１０２は、最も大きい信号に向かってカメラを動かす制御を可能にしてもよい。いくつかの実施形態において、システム１０２は、複数のマイクを使用して、情報を三角測量してもよい。制御例は、図５、６、及び７に関連して以下により詳細に記述される。
【００４０】
本明細書に記載されるように、システム１０２は、決定された特性に基づいて、カメラ設定に変更を自動的に適用してもよい。例えば、顔認識による及び／又は肌の色調の検出によることに関わらず、顔の検出に基づいて、システム１０２は、ビデオストリームが話をしている人の頭にズームインする及び／又は探知することをもたらしてもよい。そのようなズーミング及び／又は探知することは、カメラのハードウェア制御及び／又はビデオストリームのソフトウェア制御を使用して実行されてもよい。
【００４１】
いくつかの実施形態において、システム１０２は、ビデオストリームの所定のオブジェクト又は要素上にズームインする制御を利用可能にしてもよい。例えば、いくつかの実施形態において、システム１０２は顔４０２のような所定の顔を検出し、次いで顔４０２上に焦点を合わせる/ズームインするためにブラウザ３１４で制御を提供してもよい。いくつかの実施形態において、システム１０２は、カメラ３０８が高解像度モードで録画することをもたらし、次いで顔４０２上にズームインするズーム制御を有効にしてもよい。いくつかの実施形態において、システム１０２は、どこにズームするかを示すためにユーザ（例えば、ブラウザ３１８と関連するユーザ）が長方形を適用することを有効にしてもよい。いくつかの実施形態において、ディスプレイがタッチスクリーンである場合、システム１０２はユーザの指を使って、ユーザがズームイン及びアウトするだけでなく、パンニング、チルティング等の他の機能を実行することを可能にしてもよい。
【００４２】
多様な実施形態において、設定の変更は、ハードウェア、ソフトウェア、あるいはそれらの組合せを使用してビデオストリームを変更してもよい。いくつかの実施形態において、ハードウェア（例えば、カメラ３０８のハードウェア）が制御されている場合、変更はビデオ会議と関連する全てのブラウザ上で見られてもよい。いくつかの実施形態において、ソフトウェアが（例えば、任意の所定のブラウザで）制御されている場合、変更は、任意の１つ又は全てのブラウザで（例えば、ブラウザ３１４で）見られてもよく、及び全てのブラウザ上で見られる必要はない。
【００４３】
いくつかの実施形態において、システム１０２は、遠隔に操作されているカメラを所有するユーザが制御にいくつかの制限を置くことを可能にしてもよい。例えば、システム１０２は、ユーザがビデオストリームが変更されている方法を表示し、及び／又はビデオが変更されている方法を制限する（例えば、パンニング、ズーミング等にいくつかの制限を置く）ことを可能にしてもよい。
【００４４】
上記で示されたように、いくつかの実施形態において、システム１０２は、データベースに所定のユーザのための１つ又は複数の設定（例えば、好みの設定）を保存してもよい。システム１０２は、設定と関連するユーザがビデオ会議に参加する時はいつでも、そのような設定を後から自動的に適用してもよい。いくつかの実施形態において、所定のユーザのための設定が適用され及びユーザが次いでビデオ会議を離れる場合、設定はデフォルト設定に戻してもよい。
【００４５】
図５は、いくつかの実施形態に従った、簡易化したユーザインタフェース例５００を図示している。示されるように、ユーザインタフェース５００は、ビデオストリームと関連する基本的な機能のための多様な制御及び／又は設定を含む。例えば、ユーザインタフェース５００は、露光、オート露光、露光時間、ゲイン、明るさ、コントラスト、彩度、シャープネス、ホワイトバランス、温度（例えばホワイトバランス温度）等のための制御を含む。基本的な機能のための他の制御及び設定は、特定の実施形態に応じて利用可能である。
【００４６】
図６は、いくつかの実施形態に従った簡易化したユーザインタフェース例６００を図示している。示されるように、ユーザインタフェース６００は、ビデオストリームと関連するさらに拡張した機能のための多様な制御及び設定を含む。例えば、ユーザインタフェース６００は、電力ライン周波数（アンチフリッカー）、ちらつき、バックライト補償、フォーカス、ズーム、パン、チルト等のための制御を含む。この例に示されていないさらに拡張した機能のための別の制御及び設定は、特定の実施形態に応じて利用可能である。上述したちらつきの例において、システム１０２がちらつきと関連する設定があると決定したあとに、システム１０２は、ユーザインタフェース６００に示されるように、ブラウザでちらつき補償制御を提供してもよい。
【００４７】
図７は、いくつかの実施形態に従った、簡易化したユーザインタフェース例７００を図示している。示されるように、ユーザインタフェース７００は、ビデオストリームと関連するより多くの選択のために、多様な制御を含む。例えば、ユーザインタフェース７００は、カメラから設定を読み出す及びカメラに設定を書き込むことに関連して、選択のための制御及び設定を含む。この例に示されていない選択のための別の制御及び設定は、特定の実施形態に応じて利用可能である。
【００４８】
上記で記載されたように、いくつかの実施形態が、操作するために遠隔のユーザのための制御を提供する制御システム１０２の文脈で本明細書に記述されたが、システム１０２は、ユーザから要求される作用なしで自動的にそのような変更を適用してもよい。例えば、システム１０２は、ちらつきを自動的に検出してもよく、次いでカメラ３０８等のカメラにアンチフリッカー変更を自動的に適用してもよい。
【００４９】
いくつかの実施形態は、ビデオストリームの向上している準最適な特性の文脈において本明細書で記述されたが、これらの実施形態及び他のものは、娯楽及び／又は芸術の目的のための別の特性に適用されてもよい。例えば、システム１０２は、ユーザがビデオストリームの色を遠隔に変更すること（例えば、色を黒と白にする、等）を可能にしてもよい。
【００５０】
いくつかの実施形態において、システム１０２は、所定のユーザがビデオストリームのフレームレートを変更することを可能にしてもよい。例えば、フレームレートが、望ましい３０の代わりに一秒あたり１５フレームである場合、システム１０２は、そのような低いフレームレートを検出してもよく、及びそのような検出に基づいてフレームレートの変更のための制御を提供してもよい。そのような制御は、例えば手話を使用するユーザに有効である可能性がある。そのようなユーザは、ビデオ品質の費用をかけても高いフレームレートを有することを望む可能性がある。
【００５１】
本明細書に記載した実施形態は、多様な利点を提供する。例えば、実施形態は、各ユーザ（例えば、ビデオ会議の参加者）が、彼又は彼女のブラウザからビデオストリームの多様な特性を最適化することを可能にする。実施形態は、各ユーザが、特定のビデオカメラで通常管理されるビデオストリームの多様な特性を最適化することを可能にもする。本明細書に記載された実施形態は、ソーシャルネットワーキング環境において、ユーザ間で全体的な関わりを増加もする。
【００５２】
ステップ、動作、あるいは計算は、特定の順序で提示されてもよいが、順序は特定の実施形態で変更されてもよい。ステップの別の順序付けが、特定の実施形態に応じて可能である。いくつかの特定の実施形態において、この明細書においてシーケンシャルとして示される複数のステップは、同時に実行されてもよい。また、いくつかの実施形態は、示される全てのステップを有さなくてもよく、及び/又はその代わりに、本明細書に示されたものに加えて、別のステップを有してもよい。
【００５３】
システム１０２が本明細書の実施形態で説明されたステップを実行すると記述されたが、システム１０２の任意の適切な構成要素または構成要素の組合せ、あるいはシステム１０２と関連する適切なプロセッサまたは複数のプロセッサが、記述されたステップを実行してもよい。
【００５４】
多様な実施形態において、システム１０２は、画像において顔、ランドマーク、オブジェクト等を認識するための多様な認識アルゴリズムを利用してもよい。そのような認識アルゴリズムは、システム１０２に不可欠であってもよい。システム１０２は、システム１０２の外部にあり及びシステム１０２がアクセスするソフトウェアによって提供される認識アルゴリズムにアクセスしてもよい。
【００５５】
多様な実施形態において、システム１０２は、ソーシャルネットワークシステムのユーザが個人情報の使用を指定し及び／又は同意することを可能にする。これは、画像内の彼らの顔を使用するか、または画像内の識別された人の認識で彼らの識別情報を使用するシステム１０２を含んでもよい。例えば、システム１０２は、個人情報の使用のための指定及び／又は同意を対象にした複数の選択をユーザに提供してもよい。例えば、指定及び／又は同意に関しての選択は、個々の画像、全ての画像、個々のフォトアルバム、全てのフォトアルバムなどと関連してもよい。選択は、様々な方法で実装されることができる。例えば、システム１０２は、多様な選択の隣に表示されるボタンまたはチェックボックスをもたらしてもよい。いくつかの実施形態において、システム１０２は、ソーシャルネットワークのユーザが一般的に顔認識のために使用する彼らの画像の使用のための指定及び／又は同意することを可能にする。顔又は別のオブジェクトの認識のための実施形態例は、以下により詳細に記述される。
【００５６】
ここで議論されるシステムがユーザについての個人情報を収集するか、個人情報を使用する可能性がある状況において、ユーザは、プログラムか機能かに関わらず、ユーザ情報（例えば、ユーザのソーシャルネットワーク、社会的な行動あるいは活動、職業、ユーザの好み、あるいはユーザの現在地についての情報）を集めることを制御するための機会を提供されてもよく、あるいは、ユーザにより関連し得るコンテンツサーバからコンテンツを受信するか否か、及び／又は受信する方法を制御するための機会を提供されてもよい。さらに、特定のデータは、それが保存されるか、使用される前に１つ又は複数の方法で扱われる可能性があり、それによって、個人的に特定可能な情報が削除される。例えば、ユーザの身元は、いかなる個人情報もユーザのために決定されることができないように、処理されることができる。あるいは、ユーザの位置情報が得られる場合、ユーザの地理的位置は、一般化されてもよく（例えば、都市、郵便場合、あるいは州レベルなど）、それによってユーザの特定の位置が決定されることができない。従って、ユーザは、情報がどのようにユーザについて収集され、コンテンツサーバによって使用されるか、に対する制御を有してもよい。
【００５７】
多様な実施形態において、システム１０２は、ソーシャルネットワークシステムのユーザの参照画像を取得し、各参照画像は、既知のユーザと関連する顔の画像を含む。ユーザは、ユーザ名及び他のプロファイル情報として、システム１０２においてユーザの識別情報を有することが知られている。いくつかの実施形態において、参照画像は、例えば、ユーザがアップロードしているプロファイル画像であってもよい。いくつかの実施形態において、参照画像は、参照画像のグループの合成に基づいてもよい。
【００５８】
いくつかの実施形態において、画像の顔を認識するために、システム１０２は、顔（例えば、顔の画像）を比較し、及びソーシャルネットワークシステムのユーザの参照画像に顔を適合させてもよい。”顔”と”顔の画像”という語句が同じ意味で使用されることに留意されたい。説明を容易にするために、１つの顔の認識は、本明細書に記載される実施形態のいくつかの例で記述される。これらの実施形態は、認識される複数の顔の各顔に適用されてもよい。
【００５９】
いくつかの実施形態において、システム１０２は、画像の顔に類似する任意の１つ又は複数の参照画像を識別するために、参照画像を検索してもよい。いくつかの実施形態において、所定の参照画像のために、システム１０２は、解析のために顔の画像から特徴を抽出してもよく、次いでそれらの特徴をそれらの１つ又は複数の参照画像と比較してもよい。例えば、システム１０２は、目、鼻、頬骨、口、あごなどの顔の特徴の相対的な位置、サイズ、及び／又は形を分析してもよい。いくつかの実施形態において、システム１０２は、一致するかまたは類似の特徴を備えた１つまたは複数の参照画像に対して画像の顔を適合させるために解析から集めたデータを使用してもよい。いくつかの実施形態において、システム１０２は、複数の参照画像を正規化し、それらの画像からの顔データを情報（例えば、顔の特徴データ）を有する合成表示に圧縮してもよい。次いで、画像の顔と顔認識のための合成表示を比較してもよい。
【００６０】
いくつかのシナリオにおいて、画像は、同一のユーザと関連する複数の参照画像に類似してもよい。このように、画像の中の顔の人は、参照画像と関連する同一人物である可能性が高くなる。
【００６１】
いくつかのシナリオにおいて、画像の中の顔は、異なるユーザと関連する複数の参照画像に類似してもよい。このように、画像の人物が、参照画像と関連する任意の所定の人物と一致するという、減少されたがまだ中程度に高い可能性がある。このような状況に対処するために、システム１０２は、可能性を１つの最良の候補に理想的に絞り込むために、顔認識アルゴリズムの多様な種類を使用してもよい。
【００６２】
例えば、いくつかの実施形態において、顔認識を容易にするために、システム１０２は、特徴の区別に基づいた、幾何学的な顔認識アルゴリズムを使用してもよい。システム１０２はまた、比較のための値に顔の特徴を抜き出す、統計的アプローチに基づく測光のアルゴリズムを使用してもよい。幾何学的及び測光の組合せのアプローチが、１つ又は複数の参照と画像の顔を比較する際に使用されてもよい。
【００６３】
他の顔認識アルゴリズムが使用されてもよい。例えば、システム１０２は、１つ又は複数の、主成分分析、線形判別解析、弾性的束（バンチ、bunch）グラフマッチング、隠れマルコフモデル、及びダイナミックリンクマッチングを使用する顔認識アルゴリズムを使用してもよい。システム１０２は、他の既知または後から開発された顔認識アルゴリズム、技術、及び／又はシステムを使用してもよいことが理解されるであろう。
【００６４】
いくつかの実施形態において、システム１０２は、画像の顔が所定の参照画像と一致する尤度（又は確率）を示す出力を生成してもよい。いくつかの実施形態において、出力は、画像の顔が所定の参照画像と一致する信頼度と関連するパーセンテージのような測定基準（あるいは数値）として表されてもよい。例えば、1.0の値は、一致の100%の信頼を表してもよい。これは、例えば比較される画像が同一またはほぼ同一である時に発生する可能性がある。一致の50%の確率があるときに、例えば0.5のように値が低い可能性がある。別の出力の種類が可能である。例えば、いくつかの実施形態において、出力は、一致のための信頼スコアであってもよい。
【００６５】
図８は、本明細書に記載の実施形態を実装するために使用されてもよい、サーバデバイス例８００のブロック図を図示している。例えば、サーバデバイス８００は、図１のサーバデバイス１０４を実装するために使用されてもよいだけでなく、本明細書に記載の方法実施形態を実行してもよい。いくつかの実施形態において、サーバデバイス８００は、プロセッサ８０２、オペレーティングシステム８０４、メモリ８０６、及び入出力（I/O）インタフェース８０８を含む。サーバデバイス８００は、メモリ８０６あるいは任意の別の適切な記憶場所あるいはコンピュータ可読メディアに格納されてもよいソーシャルネットワークエンジン８１０及びメディアアプリケーション８１２も含む。メディアアプリケーション８１２は、プロセッサ８０２が本明細書に記載の機能及び別の機能を実行することを可能にする命令を提供する。
【００６６】
図を簡単にするために、図８はプロセッサ８０２、オペレーティングシステム８０４、メモリ８０６、I/Oインタフェース８０８、ソーシャルネットワークエンジン８１０、及びメディアアプリケーション８１２毎に１つのブロックを示す。これらのブロック８０２、８０４、８０６、８０８、８１０、及び８１２は、複数のプロセッサ、オペレーティングシステム、メモリ、I/Oインタフェース、ソーシャルネットワークエンジン、及びメディアアプリケーションを表してもよい。別の実施形態において、サーバデバイス８００は、示される全てのコンポーネントを有しなくてもよく、及び／又はその代わりに、本明細書に示されたものに加えて、別のタイプの要素を含む別の要素を有してもよい。
【００６７】
説明がその特定の実施形態に関して記述されてきたが、これらの特定の実施形態は、単に例示であって、限定するものではない。実施例に示される概念は、他の例及び実施形態にも適用することができる。例えば、いくつかの実施形態は、ソーシャルネットワークシステムのコンテキストで本明細書中に記載されている。しかしながら、本明細書に記載される実施形態は、ソーシャルネットワーク以外のコンテキストに適用されてもよい。例えば、実装は、個々のユーザのためにローカルに適用されてもよい。
【００６８】
本開示に記載された機能ブロック、方法、装置、及びシステムは、当業者に知られているようなシステム、装置、及び機能ブロックの異なる組合せに組み込まれるか、あるいは分割されてもよいことに留意されたい。
【００６９】
任意の適切なプログラミング言語及びプログラミング技法が、特定の実施形態のルーチンを実装するために使用され得る。手続き型又はオブジェクト指向のような異なるプログラミング技法が用いられてもよい。ルーチンは、単独の処理デバイス又は複数のプロセッサで実行される可能性がある。ステップ、動作、又は計算が特定の順序で提示される可能性があるが、順序は異なる特定の実施形態で変更されてもよい。いくつかの特定の実施形態において、本明細書で手続き型として示される複数のステップは、同時に実行されてもよい。
【００７０】
”プロセッサ”は、任意の適切なハードウェア及び／又はソフトウェアシステム、データ、信号、あるいは別の情報を処理するメカニズムまたはコンポーネントを含む。プロセッサは、汎用中央処理装置、複数の処理ユニット、機能を実現するための専用回路、または別のシステムを備えたシステムを含んでもよい。処理は、地理的な位置に限られる必要がないか、あるいは時間の制限を有する必要がない。例えば、プロセッサは「リアルタイム」「オフライン」「バッチモード」等で、その機能を実行してもよい。処理の一部分は、異なる時間及び異なる場所で、異なる（あるいは同じ）処理システムによって実行されてもよい。コンピュータは、メモリと通信する任意のプロセッサであってもよい。メモリは、ランダムアクセスメモリ（RAM）、読出し専用メモリ（ROM）、磁気記憶装置（ハードディスクドライブ、または同種のもの）、フラッシュ、光記憶装置（CD、DVDまたは同種のもの）、磁気または光学ディスク、またはプロセッサによって実行するための命令を格納するのに適した別の有形媒体を含む、任意の適切なデータストレージ、メモリ及び／又は非一時的なコンピュータ可読ストレージメディアであってもよい。ソフトウェア命令は、サーバ（例えば、分散型システム及び／又はクラウドコンピューティングシステム）から配信されるソフトウェアアズアサービス（SaaS）の形で電気信号に含まれ、及び電気信号として提供されることもできる。
【符号の説明】
【００７１】
１０２  システム
１０４  サーバデバイス
１０６  ソーシャルネットワークデータベース
１１０  クライアントデバイス
１２０  クライアントデバイス
１３０  クライアントデバイス
１４０  クライアントデバイス
１５０  ネットワーク
３０２  サーバ
３０４  ブラウザ
３０６  低レベルAPI
３１４  ブラウザ
３１６  低レベルAPI
８０２  プロセッサ
８０４  オペレーティングシステム
８０６  メモリ
８０８  I/O  インタフェース
８１０  ソーシャルネットワークエンジン
８１２  メディアアプリケーション
【図１】
0006563421.tif 000002
【図２】
0006563421.tif 000003
【図３】
0006563421.tif 000004
【図４Ａ】
0006563421.tif 000005
【図４Ｂ】
0006563421.tif 000006
【図５】
0006563421.tif 000007
【図６】
0006563421.tif 000008
【図７】
0006563421.tif 000009
【図８】
0006563421.tif 000010