(57)【要約】【課題】電子会議において、自分の通信端末から出力される情報が、通信相手に対して適切に伝達されているかどうかを理解することを可能にする【解決手段】少なくとも１つのプロセッサと前記少なくとも１つのプロセッサに接続されたメモリを含む第１クライアント装置が、少なくとも１人の遠隔参加者との電子会議に参加し、前記電子会議は、第１参加者の出方向通信ストリームを含み、前記電子会議に参加するために、前記少なくとも１人の遠隔参加者の内、１人の遠隔参加者によって使用される第２クライアント装置からフィードバックを受信し、前記フィードバックは、前記第２クライアント装置での前記第１参加者の出方向通信ストリームの品質に対応する。【選択図】図３Ａ
2017063416.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのプロセッサと前記少なくとも１つのプロセッサに接続されたメモリを含む第１クライアント装置が、
少なくとも１人の遠隔参加者との電子会議に参加し、
前記電子会議は、第１参加者の出方向通信ストリームを含み、
前記電子会議に参加するために、前記少なくとも１人の遠隔参加者の内、１人の遠隔参加者によって使用される第２クライアント装置からフィードバックを受信し、
前記フィードバックは、前記第２クライアント装置での前記第１参加者の出方向通信ストリームの品質に対応する、
第１参加者に電子会議のフィードバックを提供する方法。
【請求項２】
前記第１クライアント装置は、さらに、表示部を含み、
前記第１クライアント装置の前記表示部にグラフィカルユーザインターフェイスを表示し、
前記グラフィカルユーザインターフェイスは前記電子会議の情報の表示を含み、
受信した前記フィードバックに対応する情報の表示を含むように、表示された前記グラフィカルユーザインターフェイスを更新する、
請求項１に記載の方法。
【請求項３】
表示された前記グラフィカルユーザインターフェイスを更新することは、表示された前記グラフィカルユーザインターフェイス内の少なくとも１つのアイコンの表示特性を更新することを含み、
前記少なくとも１つのアイコンは、通信の各形態の少なくとも１つに対応する、
請求項２に記載の方法。
【請求項４】
表示された前記グラフィカルユーザインターフェイスは、前記１人の参加者に対応する通信ストリームを含み、
表示された前記グラフィカルユーザインターフェイスを更新することは、前記１人の参加者に対応する前記通信ストリームの表示特性を更新することを含む、
請求項２または請求項３に記載の方法。
【請求項５】
表示された前記グラフィカルユーザインターフェイスは前記第１参加者に対応する通信ストリームを含み、
表示された前記グラフィカルユーザインターフェイスを更新することは、前記第１参加者に対応する前記通信ストリームの表示特性を更新することを含む、
請求項２〜請求項４の何れか１項に記載の方法。
【請求項６】
表示された前記グラフィカルユーザインターフェイスを更新することは前記グラフィカルユーザインターフェイス内にテキストメッセージを表示することを含む、
請求項２〜請求項５の何れか１項に記載の方法。
【請求項７】
前記第１クライアント装置は、さらに、少なくとも１つのスピーカを含み、
前記第１クライアント装置の前記少なくとも１つのスピーカを介して、音声報知を行うことをさらに含み、
前記音声報知は、受信した前記フィードバックに対応する、
請求項１〜請求項６の何れか１項に記載の方法。
【請求項８】
前記電子会議に参加することは、前記第１クライアント装置のウェブブラウザを介して前記電子会議に参加することを含む、
請求項１〜請求項７の何れか１項に記載の方法。
【請求項９】
前記電子会議はピアツーピア電子会議を含む、
請求項１〜請求項８の何れか１項に記載の方法。
【請求項１０】
前記電子会議の少なくとも１人の参加者から受信したフィードバックの各々を利用することで、前記電子会議の少なくとも１つの問題を解決する、
ことをさらに含む、
請求項１〜請求項９の何れか１項に記載の方法。
【請求項１１】
少なくとも１つのプロセッサと前記少なくとも１つのプロセッサに接続されたメモリを含む第１クライアント装置が、
少なくとも１人の遠隔参加者との電子会議に参加し、
前記電子会議に参加するために、前記少なくとも１人の遠隔参加者の内、１人の遠隔参加者によって使用される第２クライアント装置から送信される出方向通信ストリームの各々を受信し、
受信した前記出方向通信ストリームの少なくとも１つの品質ファクタを判定するために、受信した前記出方向通信ストリームを分析し、
判定した前記少なくとも１つの品質ファクタに基づいて前記１人の参加者にフィードバックを提供する、
第１参加者から電子会議のフィードバックを提供する方法。
【請求項１２】
前記第１クライアント装置が受信した前記出方向通信ストリームに対応する情報をレンダリングすることをさらに含み、
受信した前記出方向通信ストリームの前記１つもしくは複数の品質ファクタを判定するために受信した前記出方向通信ストリームを分析することは、レンダリングした前記情報を分析することを含む、
請求項１１に記載の方法。
【請求項１３】
前記出方向通信ストリームの各々は、参加者と通信する少なくとも１つのチャネルを含み、
前記少なくとも１つのチャネルは、
テキスト通信チャネル、
音声通信チャネル、
ビジュアル通信チャネル、
マルチメディア通信チャネル、
の少なくとも１つを含む、
請求項１１または請求項１２に記載の方法。
【請求項１４】
前記１人の参加者にフィードバックを提供することは参加者と通信する前記少なくとも１つのチャネルとは異なるチャネルを介してフィードバックを提供することを含む、
請求項１３に記載の方法。
【請求項１５】
前記出方向通信ストリームの各々は参加者と通信する少なくとも２つのチャネルを含み、
受信した前記出方向通信ストリームを分析することは、前記少なくとも２つのチャネルの各々を分析することを含み、
前記少なくとも２つのチャネルの各々の分析に基づいて最適チャネルを判定し、
前記第１参加者に前記最適チャネルを推奨する、
ことをさらに含む、
請求項１３に記載の方法。
【請求項１６】
前記出方向通信ストリームの各々は、主チャネルとして指定された第１チャネルを含む少なくとも２つのチャネルを含み、
前記第１チャネルが機能しないと判定された場合、前記少なくとも２つのチャネルの第２チャネルを前記主チャネルとして指定する、
請求項１３に記載の方法。
【請求項１７】
受信した前記出方向通信ストリームを分析することは、
受信した前記出方向通信ストリーム内の音声ストリームを分析し、
分析した前記音声ストリームに基づいて、前記少なくとも１つの品質ファクタの少なくとも部分集合を判定する、
ことを含む、
請求項１１に記載の方法。
【請求項１８】
受信した前記出方向通信ストリームを分析することは、
受信した前記出方向通信ストリーム内のビデオストリームを分析し、
分析した前記ビデオストリームに基づいて前記少なくとも１つの品質ファクタの少なくとも部分集合を判定する、
ことを含む、
請求項１１に記載の方法。
【請求項１９】
受信した前記出方向通信ストリームを分析することは、
受信した前記出方向通信ストリーム内の音声ストリームと、受信した前記出方向通信ストリーム内のビデオストリームと、を比較し、
前記比較に基づいて、前記少なくとも１つの品質ファクタの少なくとも部分集合を判定する、
ことを含む、
請求項１１に記載の方法。
【請求項２０】
受信した前記出方向通信ストリームを分析することは、
受信した前記出方向通信ストリームに対応する待ち時間、
受信した前記出方向通信ストリームに対応するボリューム、
受信した前記出方向通信ストリームに対応するリフレッシュレート、
の少なくとも１つを分析する、
ことを含む、
請求項１１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、遠隔参加者との電子会議において、参加者に電子会議のフィードバックを提供する方法、及び、参加者から電子会議のフィードバックを提供する方法に関する。
【背景技術】
【０００２】
近年、電子通信は劇的に増加している。これらの電子通信は、種々のプログラム装置及びネットワークの組合せに依存している。複数のソフトウェア及びハードウェア部品が含まれているために、検出及び／又は対策が困難な問題が生じることがある。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】[online]、［２０１６年９月１３日検索］、インターネット（URL:http://www.salford.ac.uk/computing-science-engineering/research/acoustics/psychoacoustics/sound-quality-making-products-sound-better/sound-quality-testing/sound-quality-metrics）
【非特許文献２】ファリアス（Farias）、「ビデオ品質基準、デジタルビデオ（Video Quality Metrics, Digital Video）、２０１０年、[online]、［２０１６年９月１３日検索］、インターネット（URL:http://www.intechopen.com/books/digital-video/video-quality-metrics）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、電子会議において、自分の通信端末から出力される情報が、通信相手に対して適切に伝達されているかどうかを理解することを可能にすることを目的とする。
【課題を解決するための手段】
【０００５】
第１の態様は、第１参加者に電子会議のフィードバックを提供する方法であって、少なくとも１つのプロセッサと前記少なくとも１つのプロセッサに接続されたメモリを含む第１クライアント装置が、少なくとも１人の遠隔参加者との電子会議に参加し、前記電子会議は、第１参加者の出方向通信ストリームを含み、前記電子会議に参加するために、前記少なくとも１人の遠隔参加者の内、１人の遠隔参加者によって使用される第２クライアント装置からフィードバックを受信し、前記フィードバックは、前記第２クライアント装置での前記第１参加者の出方向通信ストリームの品質に対応する。
【０００６】
第２の態様は、第１の態様の方法であって、前記第１クライアント装置は、さらに、表示部を含み、前記第１クライアント装置の前記表示部にグラフィカルユーザインターフェイスを表示し、前記グラフィカルユーザインターフェイスは前記電子会議の情報の表示を含み、受信した前記フィードバックに対応する情報の表示を含むように、表示された前記グラフィカルユーザインターフェイスを更新する。
【０００７】
第３の態様は、第２の態様の方法であって、表示された前記グラフィカルユーザインターフェイスを更新することは、表示された前記グラフィカルユーザインターフェイス内の少なくとも１つのアイコンの表示特性を更新することを含み、前記少なくとも１つのアイコンは、通信の各形態の少なくとも１つに対応する。
【０００８】
第４の態様は、第２または第３の態様の方法であって、表示された前記グラフィカルユーザインターフェイスは、前記１人の参加者に対応する通信ストリームを含み、表示された前記グラフィカルユーザインターフェイスを更新することは、前記１人の参加者に対応する前記通信ストリームの表示特性を更新することを含む。
【０００９】
第５の態様は、第２〜第４の何れかの態様の方法であって、表示された前記グラフィカルユーザインターフェイスは前記第１参加者に対応する通信ストリームを含み、表示された前記グラフィカルユーザインターフェイスを更新することは、前記第１参加者に対応する前記通信ストリームの表示特性を更新することを含む。
【００１０】
第６の態様は、第２〜第５の何れかの態様の方法であって、表示された前記グラフィカルユーザインターフェイスを更新することは前記グラフィカルユーザインターフェイス内にテキストメッセージを表示することを含む。
【００１１】
第７の態様は、第１〜第６の何れかの態様の方法であって、前記第１クライアント装置は、さらに、少なくとも１つのスピーカを含み、前記第１クライアント装置の前記少なくとも１つのスピーカを介して、音声報知を行うことをさらに含み、前記音声報知は、受信した前記フィードバックに対応する。
【００１２】
第８の態様は、第１〜第７の何れかの態様の方法であって、前記電子会議に参加することは、前記第１クライアント装置のウェブブラウザを介して前記電子会議に参加することを含む。
【００１３】
第９の態様は、第１〜第８の何れかの態様の方法であって、前記電子会議はピアツーピア電子会議を含む。
【００１４】
第１０の態様は、第１〜第９の何れかの態様の方法であって、前記電子会議の少なくとも１人の参加者から受信したフィードバックの各々を利用することで、前記電子会議の少なくとも１つの問題を解決する、ことをさらに含む。
【００１５】
第１１の態様は、第１参加者から電子会議のフィードバックを提供する方法であって、少なくとも１つのプロセッサと前記少なくとも１つのプロセッサに接続されたメモリを含む第１クライアント装置が、少なくとも１人の遠隔参加者との電子会議に参加し、前記電子会議に参加するために、前記少なくとも１人の遠隔参加者の内、１人の遠隔参加者によって使用される第２クライアント装置から送信される出方向通信ストリームの各々を受信し、受信した前記出方向通信ストリームの少なくとも１つの品質ファクタを判定するために、受信した前記出方向通信ストリームを分析し、判定した前記少なくとも１つの品質ファクタに基づいて前記１人の参加者にフィードバックを提供する。
【００１６】
第１２の態様は、第１１の態様の方法であって、前記第１クライアント装置が受信した前記出方向通信ストリームに対応する情報をレンダリングすることをさらに含み、受信した前記出方向通信ストリームの前記１つもしくは複数の品質ファクタを判定するために受信した前記出方向通信ストリームを分析することは、レンダリングした前記情報を分析することを含む。
【００１７】
第１３の態様は、第１１または第１２の態様の方法であって、前記出方向通信ストリームの各々は、参加者と通信する少なくとも１つのチャネルを含み、前記少なくとも１つのチャネルは、テキスト通信チャネル、音声通信チャネル、ビジュアル通信チャネル、マルチメディア通信チャネル、の少なくとも１つを含む。
【００１８】
第１４の態様は、第１３の態様の方法であって、前記１人の参加者にフィードバックを提供することは参加者と通信する前記少なくとも１つのチャネルとは異なるチャネルを介してフィードバックを提供することを含む。
【００１９】
第１５の態様は、第１３の態様の方法であって、前記出方向通信ストリームの各々は参加者と通信する少なくとも２つのチャネルを含み、受信した前記出方向通信ストリームを分析することは、前記少なくとも２つのチャネルの各々を分析することを含み、前記少なくとも２つのチャネルの各々の分析に基づいて最適チャネルを判定し、前記第１参加者に前記最適チャネルを推奨する、ことをさらに含む。
【００２０】
第１６の態様は、第１３の態様の方法であって、前記出方向通信ストリームの各々は、主チャネルとして指定された第１チャネルを含む少なくとも２つのチャネルを含み、前記第１チャネルが機能しないと判定された場合、前記少なくとも２つのチャネルの第２チャネルを前記主チャネルとして指定する。
【００２１】
第１７の態様は、第１１の態様の方法であって、受信した前記出方向通信ストリームを分析することは、受信した前記出方向通信ストリーム内の音声ストリームを分析し、分析した前記音声ストリームに基づいて、前記少なくとも１つの品質ファクタの少なくとも部分集合を判定する、ことを含む。
【００２２】
第１８の態様は、第１１の態様の方法であって、受信した前記出方向通信ストリームを分析することは、受信した前記出方向通信ストリーム内のビデオストリームを分析し、分析した前記ビデオストリームに基づいて前記少なくとも１つの品質ファクタの少なくとも部分集合を判定する、ことを含む。
【００２３】
第１９の態様は、第１１の態様の方法であって、受信した前記出方向通信ストリームを分析することは、受信した前記出方向通信ストリーム内の音声ストリームと、受信した前記出方向通信ストリーム内のビデオストリームと、を比較し、前記比較に基づいて、前記少なくとも１つの品質ファクタの少なくとも部分集合を判定する、ことを含む。
【００２４】
第２０の態様は、第１１の態様の方法であって、受信した前記出方向通信ストリームを分析することは、受信した前記出方向通信ストリームに対応する待ち時間、受信した前記出方向通信ストリームに対応するボリューム、受信した前記出方向通信ストリームに対応するリフレッシュレート、の少なくとも１つを分析する、ことを含む。
【発明の効果】
【００２５】
本発明は、電子会議において、自分の通信端末から出力される情報が、通信相手に対して適切に伝達されているかどうかを理解することを可能とする。
【図面の簡単な説明】
【００２６】
【図１】ある実装による電子会議のアーキテクチャ例を示すブロック図である。
【図２】ある実装によるクライアント装置の例を示すブロック図である。
【図３Ａ】ある実装による電子会議用のユーザインタフェース例を示すブロック図である。
【図３Ｂ】ある実装による電子会議用のユーザインタフェース例を示すブロック図である。
【図３Ｃ】ある実装による電子会議用のユーザインタフェース例を示すブロック図である。
【図３Ｄ】ある実装による電子会議用のユーザインタフェース例を示すブロック図である。
【図４Ａ】ある実装による電子会議のフィードバックを表示するためのユーザインタフェース例を示す図である。
【図４Ｂ】ある実装による電子会議のフィードバックを表示するためのユーザインタフェース例を示す図である。
【図４Ｃ】ある実装による電子会議のフィードバックを表示するためのユーザインタフェース例を示す図である。
【図４Ｄ】ある実装による電子会議のフィードバックを表示するためのユーザインタフェース例を示す図である。
【図４Ｅ】ある実装による電子会議のフィードバックを表示するためのユーザインタフェース例を示す図である。
【図４Ｆ】ある実装による電子会議のフィードバックを表示するためのユーザインタフェース例を示す図である。
【図４Ｇ】ある実装による電子会議のフィードバックを表示するためのユーザインタフェース例を示す図である。
【図４Ｈ】ある実装による電子会議のフィードバックを表示するためのユーザインタフェース例を示す図である。
【図４Ｉ】ある実装による電子会議のフィードバックを表示するためのユーザインタフェース例を示す図である。
【図５Ａ】ある実装による複数の電子通信参加者の内、２つの視点からのユーザインタフェース例を示す図である。
【図５Ｂ】ある実装による複数の電子通信参加者の内、２つの視点からのユーザインタフェース例を示す図である。
【図６Ａ】ある実装による会議アーキテクチャ例でのデータフロー及びフィードバックを示すブロック図である。
【図６Ｂ】ある実装による会議アーキテクチャ例でのデータフロー及びフィードバックを示すブロック図である。
【図７Ａ】ある実装による、特定の参加者へ会議フィードバックを提供する方法のフローチャート図である。
【図７Ｂ】ある実装による、特定の参加者へ会議フィードバックを提供する方法のフローチャート図である。
【図８Ａ】ある実装による、特定の参加者から会議フィードバックを提供する方法のフローチャート図である。
【図８Ｂ】ある実装による、特定の参加者から会議フィードバックを提供する方法のフローチャート図である。
【図８Ｃ】ある実装による、特定の参加者から会議フィードバックを提供する方法のフローチャート図である。
【図９】ある実装による電子会議例における、２人の参加者間での通信フローを示す図である。
【発明を実施するための形態】
【００２７】
次に様々な実装を詳細に参照する。それらの実施例を添付の図面に示す。図面全体を通して同様の参照番号は対応する部品を表す。以下の詳細な説明において、本発明の様々な実装の完全な理解を与えるために多数の具体的詳細を記述する。ただし、当業者には明らかなように、説明される様々な実装はこれらの具体的な詳細なしでも実行可能である。別の事例では、実装の態様を不必要に曖昧にしないために周知の方法、手順、部品、回路、及びネットワークは詳細には説明しない。
【００２８】
ストリーミングメディアの状態及び品質のフィードバックが不足すると、遠隔会議における会話が妨げられる。同じ場所に存在する場合、会議の参加者は他の参加者が自分のことを理解できたかどうかを判定するために微細な手掛かりを頼りにする。しかし、メディアストリームが必然的に制約されている遠隔会議においては、このような手掛かりがないことがよくある。これらの手掛かりがなければ、他の者が自分の発言を理解できているかどうか、あるいは聞こえているか又は見えているかどうかさえ識別することは困難である。したがって参加者は定期的に自分の会話を中断して、遠隔会議システムで会話やジェスチャが正確に伝達されているかどうかをチェックすることになる。それ故に、遠隔サイトでのローカルメディアの品質を自動的に検出して、その情報をローカルサイトにフィードバックできれば有利である。そうすることで、参加者は相手方の参加者サイトにおける通信チャネルの品質をより正確に計測することができる。ある実装において、参加者はこれらの制約に対する調節をすることができる。ある実装では、会話の流れを中断することなしにシステムがその制約を自動的に調節可能である。ある実装では、システムがビジュアル及び／又は音声のキューをユーザに提供して、ユーザに品質問題を報知する。例えば、システムは遠隔の人をグレースケールで表示して、その対応する通信チャネルの劣化を示す。
【００２９】
遠隔会議における問題は、クライアント間のネットワーク接続の品質である。接続が悪いと、遠隔会議に利用されるメディアチャネルのあるもの又はすべてが実効的に役に立たなくなり得る。ただし、チャネルが機能しない場合でも、１つ以上の代替チャネルが利用可能であれば、どちらかの側の参加者がそれを採用して会議を続行できる。こうして、多くの会議の最初に、各サイドで接続問題の理解を確立する期間が含まれる。会議の多くでは、各サイドが、「こちらが見えますか？聞こえますか？チャットが届いていますか？」などを音声又はインスタントメッセージで相手側に尋ねて、どのチャネルが使用可能かを確定し、動作していないチャネルを修理するか、可能なベストの状態に調整する。このやりとりの期間はしばらく続くこともある。特にこのやりとりに使用されるチャネルそのものが不良の場合にはそうである。
【００３０】
本開示では、コンテンツ分析手法を用いて、各遠隔サイトにある各ローカルチャネルの品質を自動決定するシステムについて述べる。ある実装では、この分析は遠隔クライアントが各メディアストリームをレンダリングした後に発生する。プロセス中の任意の他の時点でチェックすることは不完全であり、したがって不正確となり易い。例えば、ネットワークの帯域幅が完全であっても、遠隔クライアントのスピーカが故障していればそれは関係ない。ある実装ではこの情報が、次に、信頼性の高い、その会議で利用可能な最小帯域幅のチャネルを使用して遠隔クライアントに伝達される。（当然、何らかのアクティブなデータチャネルは存在する。そうでなければ会議を開始できなかったはずである。）ある実装では、遠隔サイトでのチャネル品質に関する情報は、報知を介して次にローカル参加者に伝えられる。ある実装では、メディアチャネルの品質の変化は、リアルタイムで伝達される。ある実装では、さらに、システムが１つの不良チャネルを検出すると、別のチャネルに切り替えるように提案するか、又は自動的にチャネルを切り替える。
【００３１】
会議は、参加者有向ペア（例えば、参加者の各ペアに対する１対のチャネル）の集合体として見ることができる。ある実装では、各参加者有向ペアにはメディアチャネルごとに３つの状態がある。すなわち、ノーデータ、ローカルデータのみ、遠隔データ、である。例えば、最初はローカル装置上では音声もビデオも動作しておらず、この双方の状態はノーデータである。ローカル装置がチャネル上にデータを検出すると、各チャネルを次のステップ、すなわちローカルデータのみ、へ移行させる。様々な実装において、マイクロフォンのアイコンが灰色から緑に変わるとか、又はローカル参加者のウィンドウにローカルビデオをライブで表示する、といったようないくつかの方法で、システムが状態変化を示す。遠隔装置がチャネル上にデータを受信していることを検出すると、その情報をローカルクライアントに供給し、それによってそのチャネルの状態を遠隔データに移行させることができる。ある実装では、このことが遠隔ユーザのストリームの近くに別々のアイコンで表示される。遠隔装置が与えられたチャネルに対する品質スコアを判定する計算機リソースを有していれば、単なるブーリアン値ではなく、品質評点をフィードバックし、それを（例えば、色表示で）可視化することができる。
【００３２】
ある実装では、各クライアントは各遠隔ストリームでローカルな分析を行い、その結果をデータチャネルで伝達されるメッセージを介して遠隔装置へ転送する。ある実装ではこのシステムはステートマシンであって、クライアントチャネルの有向ペアごとに１つの状態がある。したがって、２つのクライアントと２つのチャネル（音声及びビデオ）があれば、合計で４つの状態があることになる。すなわち、第２のクライアントにおける第１のクライアントの音声ストリームの品質と、第２のクライアントにおける第１のクライアントのビデオストリームの品質と、第１のクライアントにおける第２のクライアントの音声ストリームの品質と、第１のクライアントにおける第２のクライアントのビデオストリームの品質、である。状態数は指数関数的ではあるが、クライアントごとに計算が必要なのは、（チャネル＊参加者−１）であり、したがって計算そのものの負荷は比較的低い。
【００３３】
様々な場合において、問題が少しでもあればネットワークからローカルマシンへ、又ブラウザそのものへのストリーミングメディアを劣化させ得る。遠隔サイトのユーザが実際に何を経験しているかを判定する唯一の方法は、プレゼンテーションレイヤ（例えば、スクリーン上のピクセルやスピーカからの音声など）にまで完全に到達した後でそのストリームを分析することである。
【００３４】
ある実装では、音声アクティビティ検出モジュールを利用する。これは、ローカルスピーカが音声出力可能であるものとして検出されるかどうかを示すイベントを各クライアントに提供する。この機能提供には、非常に多くの選択肢および手法がある。例えばある実装では、ローカル音声チャネルの遠隔品質の判定に、ノーデータ、ローカルデータ、遠隔データの各状態を経るステップが含まれる。
●ノーデータ：この状態では、第１のクライアントはそのマイクロフォンがオンになっていることをまだ検出していない。
●ローカルデータのみ：第１のクライアントの音声分析エンジンがローカルマイクロフォンで音声を検出すると、イベントが他のクライアントへ送信される。この状態では第１のクライアントは音声を送信中であるが、他のクライアントは受信していない。
●遠隔データ：別のクライアントの音声アクティビティ検出モジュールが第１のクライアントからの音声を検出すると、イベントを第１のクライアントに送信して返す。この状態では音声はそのローカル／遠隔のクライアントペアに対して機能している。ある実装では、Ｎ秒間のタイムアウトの後、システムは遠隔データの状態からローカルデータのみの状態に戻る。即ち、クライアントが遠隔データの状態にあって、その第１のクライアントが音声イベントをもう一方のクライアントに送信してその後Ｎ秒が経過しても第２のクライアントから応答がなければ、その有向ペアに対する状態はローカルデータのみへ戻る。このプロセスがそれぞれのクライアントペアに対して実行されて、全体の接続性が検証される。
【００３５】
ある実装では、あらゆる方向に遷移するあらゆるメディアチャネルに対して、この同じアプローチが利用される。例えば簡単なビデオチャネル分析ツールは、遠隔ストリームから非黒ピクセルが受信されているかどうかをローカルに評価する。ある実装では、ステートマシンより一歩進んだ分析方法が利用されて、ストリームの品質を判定する。ある実装ではこれに受信音声のボリューム又はエネルギ特性を利用する。例えば音声アクティビティ検出モジュールは、キャプチャした音声のボリュームをデシベルで提供するように構成することができる。ボリューム又はその経時変化は音声信号又はローカルマイクロフォンからサンプリングされ、会議中の背景雑音は限定されているという仮定の下に品質を代理するものとして利用される。ある実証では統計処理ＡＰＩを活用して、送受信に成功したパケットによってクライアント間で共有されているストリーム品質の統計データを収集する。ある実装では、単純なピクセルの差異を利用して遠隔リフレッシュレートを検出する。
【００３６】
各ストリームの遠隔クライアントにおける表示品質を会議の参加者に報知するために、テキスト及び／またはアイコンを含む多くの異なる方法を使用することができる。また別の方法では、機能していないストリームを機能するストリームで置き換えることを自動的に促進する。例えば、音声チャネルが故障すると、チャットウィンドウが自動的に表れてきてもよい。ビデオが故障すると、システムは個々のフレームを低周波で送信するように変更できる。
【００３７】
遅延状態を通信することは有益なフィードバックではあるが、ローカルユーザにとって、遠隔装置上でのストリーム品質の何の表示にもならない。具体的にそこには、遠隔サイトにおけるローカルコンテンツの実際の品質レベルを判定するのに必要な、遠隔ストリームのローカル処理が何も含まれていない。
【００３８】
次に図面に注目する。図１はある実装による電子会議アーキテクチャ１００を示すブロック図である。電子会議アーキテクチャ１００は、複数のクライアント１０２（例えばクライアント１０２−１、１０２−２、…１０２−ｒ）を含み、それぞれは個別のユーザ１０６（例えばユーザ１０６−１、１０６−２、…１０６−ｒ）によって作動される。ユーザは、電子会議などの電子通信に参加することに関連して、「参加者」と呼ばれることもある。クライアント装置１０２とユーザ１０６との間に必ずしも１対１の対応があるわけではない。クライアント１０２には、任意選択によりブラウザ１０４（例えばブラウザ１０４−１、１０４−２）が含まれる。クライアント１０２どうしは、インターネットなどのような通信ネットワーク１０８を介して通信可能に連結されている。ある実装では、１つ以上のクライアント１０２はモバイル機器であり、電子会議は電話会議である。
【００３９】
クライアント１０２（「クライアント装置」又は「クライアントコンピュータ」と呼ばれることもある）は、クライアント１０２のユーザ１０６が他のクライアント１０２のユーザと遠隔通信可能な任意のコンピュータ又はその類の装置であってよい。クライアント装置の例としては、デスクトップコンピュータ、ノートブックコンピュータ、タブレットコンピュータ、携帯電話、携帯情報端末、セットトップボックス、又はこれらの任意の組合せがある。クライアント１０２は一般的にはクライアントアプリケーション３２６を動作させて、それにより、各ユーザ１０６と１つ以上の遠隔クライアントとの間の通信を可能とする／強化することができる。例えばクライアントにはウェブブラウザ１０４又は他のタイプのアプリケーションを含むものがあって、通信ネットワーク１０８を介して１つ以上のサーバシステム及び／又は１つ以上のクライアント装置からアクセスされるリソース（例えばウェブページ及びウェブサービス）をユーザ１０６が検索、ブラウズ、及び／又は利用することができる。ある実装では、電子会議に利用されるボイスオーバーＩＰ（ＶｏＩＰ）ソフトウェアがクライアント装置１０２に含まれる。
【００４０】
ある例では、クライアント装置１０２は、ラップトップコンピュータ又はスマートフォンなどの携帯機器である。ユーザ１０６は一般的に携帯機器１０２を使用して他のユーザと電子通信をする。
【００４１】
通信ネットワーク１０８は、イントラネット、エクストラネット、インターネット、またはそれらのネットワークの組み合わせなどのような、任意の有線又は無線のローカルエリアネットワーク（ＬＡＮ）、及び／又はワイドエリアネットワーク（ＷＡＮ）であってよい。ある実装では通信ネットワーク１０８は、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）を利用する情報の伝送にハイパーテキスト転送プロトコル（ＨＴＴＰ）を利用する。ＨＴＴＰは、クライアントコンピュータが通信ネットワーク１０８を介して接続可能な様々なリソースへアクセスすることを可能とする。本明細書において使用される「リソース」という用語は、コンテンツロケーション識別子（例えばＵＲＬ）を介してアクセス可能な任意の情報及び／又はサービスを指し、例えば、ウェブページ、ドキュメント、データベース、画像、計算オブジェクト、サーチエンジン、又はその他のオンライン情報サービスであってよい。ある実装では通信ネットワーク１０８は電話ネットワークを含んでいる。ある実装では電子会議は通話を含んでいる。
【００４２】
図２はある実装によるクライアント装置１０２を表すブロック図である。クライアント装置１０２には、ラップトップコンピュータ、ノートブックコンピュータ、タブレットコンピュータ、デスクトップコンピュータ、スマートフォン、及びＰＤＡが含まれる。クライアント装置１０２は、１つ以上の処理ユニット（例えば、ＣＰＵ、ＡＳＩＣ、ＦＰＧＡ，マイクロプロセッサ等）２０２、１つ以上の通信インタフェース２０４、メモリ２１４、Ｉ／Ｏインタフェース２０６と、これらの部品を相互接続する１つ以上の通信バス２１２（チップセットと呼ばれることもある）とを含んでいる。Ｉ／Ｏインタフェース２０６には、メディアコンテンツを提示可能であって１つ以上のスピーカ又は１つ以上のビジュアル表示を含む、１つ以上の出力装置２０８が含まれている。Ｉ／Ｏインタフェース２０６にはまた１つ以上の入力装置２１０が含まれ、これは、キーボード、マウス、音声命令入力ユニットすなわちマイクロフォン、タッチスクリーンディスプレイ、タッチ式入力パッド、（例えば符号化された画像をスキャンするための）カメラ、ジェスチャキャプチャカメラ、又はその他の入力ボタンや制御器などである。さらに、クライアント装置１０２のあるものは、マイクロフォン及び音声認識、又はカメラ及びジェスチャ認識を利用してキーボードを補足又は置き換える。
【００４３】
ある実装では、クライアント装置１０２には、クライアント装置のロケーション決定のための、ＧＰＳ（グローバルポジショニング衛星）や他の測位受信機などの、ロケーション検出装置が含まれている。ある実装では、クライアント装置１０２には１つ以上の組込センサが含まれている。ある実装では組込センサとして、例えば、１つ以上の熱放射センサ、外気温センサ、湿度センサ、ＩＲセンサ、周辺光センサ、運動検出器、加速度計、及び／又はジャイロスコープなどが含まれている。
【００４４】
通信インタフェース２０４には、例えば、任意の様々なカスタマイズされた又は標準の無線プロトコル（例えば、ＩＥＥＥ８０２．１５．４、Ｗｉ−Ｆｉ、ＺｉｇＢｅｅ（登録商標）、６ＬｏＷＰＡＮ、Ｔｈｒｅａｄ、Ｚ−Ｗａｖｅ、Ｂｌｕｅｔｏｏｔｈ（登録商標）  Ｓｍａｒｔ、ＩＳＡｌ００．１１ａ、ＷｉｒｅｌｅｓｓＨＡＲＴ、ＭｉＷｉなど）、及び／又は任意の様々なカスタマイズされた又は標準の有線プロトコル（例えば、Ｅｔｈｅｒｎｅｔ（登録商標）、ＨｏｍｅＰｌｕｇなど）、あるいは今後開発される通信プロトコルを含むその他の任意の好適な通信プロトコル、を利用してデータ通信可能なハードウェアが含まれている。
【００４５】
メモリ２１４には、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭなどの高速ランダムアクセスメモリや、その他のランダムアクセス固体素子メモリデバイスが含まれている。また任意選択で、１つ以上の磁気ディスク記憶装置、１つ以上の光ディスク記憶装置、１つ以上のフラッシュメモリ装置などの不揮発性メモリ、あるいは１つ以上のその他の不揮発性固体素子記憶装置が含まれている。メモリ２１４、又は、メモリ２１４に代えて、メモリ２１４内部の不揮発性メモリは、非一時的コンピュータ可読記憶媒体を含んでいる。ある実装では、メモリ２１４又はメモリ２１４の非一時的コンピュータ可読記憶媒体は、以下に述べるプログラム、モジュール、及びデータ構造、又はそれらの部分集合又は上位集合を格納する。
●オペレーティングロジック２１６。オペレーティングロジック２１６は、様々な基本システムのサービスを取り扱うため、又はハードウェアに依存するタスクを遂行するための手順を含んでいる。
●通信モジュール２１８。通信モジュール２１８は、（有線または無線の）１つ以上の通信インタフェース２０４を介して通信ネットワーク１０８に連結されてインターネット接続を提供する、ルータのような他のネットワーク装置に接続して通信を行う。
●通信処理モジュール２２０。通信処理モジュール２２０は、電子通信時に通信インタフェース２０４と共に通信ストリームを処理する。
●表示モジュール２２２。表示モジュール２２２は、１つ以上の入力装置２１０から入力を受信し、表示装置３０８上に表示するユーザインタフェース要素を生成する。
●入力処理モジュール２２４。入力処理モジュール２２４は、１つ以上のユーザ入力または１つ以上の入力装置２１０の１つからのインタラクションを検出し、検出された入力またはインタラクションを解釈する（例えば、クライアント装置のカメラによりスキャンされた符号化画像を処理する）。
●ウェブブラウザ１０４。ウェブブラウザ１０４は、ユーザがネットワーク１０８（インターネットなど）を介して遠隔コンピュータ又は装置と通信を行うことができるようにする。
●フィードバックモジュール２２８。フィードバックモジュール２２８は、電子通信時に通信インタフェース２０４と共にフィードバックの生成及び分析を行う。ある実装では、フィードバックには１つ以上の数値による品質ファクタが含まれている。ある実装では、フィードバックモジュール２２８には、１つ以上の品質ファクタに基づいて所定の品質ラベルを割り当てるための１つ以上の品質閾値２２９が含まれている。
●１つ以上のアプリケーション２３０。アプリケーション２３０は、クライアント装置１０２で実行される。様々な実装において、アプリケーション２３０には、カメラモジュール、センサモジュール、１つ以上のゲーム、アプリケーションマーケットプレイス、支払いプラットフォーム、及び／又はソーシャルネットワークプラットフォームが含まれている。ある実装では、１つ以上のアプリケーション２３０がウェブブラウザ１０４内で動作する。
●１つ以上の分析ルーチン２３１。これを利用して、フィードバックモジュール２２３と共にフィードバック（例えば、１つ以上の品質ファクタ）を生成することができる。ある実装では、分析ルーチンは、対応する品質ファクタを生成するために通信ストリーム上に呼び出される。ある実装では、分析ルーチン２３１には、ビデオ通信を分析するためのビデオ分析ルーチン２３３、及び／又は音声通信を分析するための音声分析ルーチン２３５が含まれている。
●クライアントデータ２３２。クライアントデータ２３２は、装置１０２又は装置１０２のユーザ１０６に関する情報を含む。ある実装では、クライアントデータ２３２には、１つ以上のユーザプロファイル２３４が含まれる。ユーザプロファイル２３４には、ユーザアカウント、ユーザプレファレンス、ユーザ設定、各ユーザアカウントに対するログイン証明書、各ユーザアカウントに関連する支払いデータ（例えば、リンクするクレジットカード情報、適用クレジットカード又はギフトカードの残高、請求先住所、送付先住所）、顧客パラメータ（例えば年齢、地域、趣味）、及び／又はソーシャルネットワーク連絡先等のユーザ連絡先が任意選択で含まれる。ある実装では、クライアントデータ２３２には、クライアント装置にユーザアクティビティを記録するユーザデータが含まれる。
【００４６】
図２における上記のように特定された各要素は、既述の１つ以上のメモリ装置に格納されてもよい。それぞれの実行可能なプログラム、モジュール、又は手順は、上記の機能を遂行するための命令セットに対応している。上で述べたモジュール又はプログラム（すなわち、命令セット）は個別のソフトウェアプログラム、手順、又はモジュールとして実装される必要はない。したがってこれらのモジュールの様々な部分集合が様々な実装において結合あるいは再構成されてもよい。ある実装では、メモリ２１４が上記のモジュールとデータ構造の部分集合を格納する。例えば、フィードバックモジュール２２８は、任意選択により通信処理モジュール２２０及び／又は通信モジュール２１８と結合される。さらに、メモリ２１４は上記以外のモジュールやデータ構造も格納し得る。電子通信時に通信インタフェース２０４及び／又はＩ／Ｏインタフェース２０６と共同して音声データを処理する音声モジュールがその一例である。
【００４７】
図２はクライアント装置１０２を表しているが、図２は本明細書に記載の実装の構造概略図というよりもむしろ、クライアント装置に存在し得る様々な特徴の機能図であることを意図している。実際に、そして当業者には理解されるように、別々に示された項目は結合してもよいし、アイテムによっては分離することもできる。
【００４８】
図３Ａ〜図３Ｄは、ある実装による電子通信用のユーザインタフェース（ＵＩ）の例を示す。図３Ａは、ユーザインタフェース３０１−１を含むウェブブラウザ３０２を示す。ユーザインタフェース３０１−１は、ユーザＡに対応するクライアント装置（例えばクライアント装置１０２−１）に表示される。ユーザインタフェース３０１−１には、メニュー３０４と、表示された入方向コンテンツと、表示された出方向コンテンツと、が含まれる。表示された入方向コンテンツには、入方向のユーザＢの共有コンテンツ３０６（例えばユーザＢのスクリーン／デスクトップ、あるいはその中の特定のウィンドウ）と、入方向のユーザＢのビデオ３０８と、入方向のユーザＣのビデオ３１０−ａが含まれる。ある実装では、表示された入方向コンテンツには、入方向のユーザＣの共有コンテンツ（図示せず）が含まれる。表示された出方向コンテンツには、出方向のユーザＡのビデオ３１２と出方向のユーザＡ共有コンテンツ３１４とが含まれる。メニュー３０４には任意選択で、「参加者招待」アフォーダンス３０５、「オプション共有」アフォーダンス３０７、「制御取得」アフォーダンス３０９、「チャットウィンドウオープン」アフォーダンス３１１、「ファイル伝送」アフォーダンス３１３、「プレファレンス」アフォーダンス３１５、及び「設定」アフォーダンス３１７が含まれる。図３Ａでは、入方向のユーザＢ共有コンテンツ３０６が強調されている（例えば他のコンテンツよりも拡大されている）。
【００４９】
ある実装ではメニュー３０４には、図３Ａに示すアフォーダンスの部分集合又は上位集合が含まれる。ある実装では、表示された出方向／入方向のコンテンツは１つ以上のユーザのプレファレンスに基づいている（例えばユーザＡのユーザプレファレンス）。ある実装では、表示された出方向／入方向のコンテンツは、１つ以上の会議設定に基づいている。ある実装では、表示された出方向／入方向のコンテンツは、１つ以上の参加者のクライアント装置１０２の能力に基づいている。ある実装では、表示された出方向／入方向のコンテンツは、通信ネットワーク１０８の能力に基づいている。ある実装では、表示された出方向／入方向のコンテンツは、ユーザＡのクライアント装置において取得可能な通信ストリームに基づいている。ある実装では、表示された出方向／入方向のコンテンツは、ユーザＡのクライアント装置において取得可能な通信ストリームの品質に基づいている。
【００５０】
ある実装では、各ユーザ（例えばユーザＡ、ユーザＢ及びユーザＣ）に対応する表示コンテンツには、特定のユーザの音声及び／又はビデオ装置が有効化されているか無効化されているかを示す、１つ以上のアイコンのような表示情報が含まれている。例えば図３Ａには、ユーザＡに対応するマイクロフォンアイコン３２１−１とスピーカアイコン３２３−１、ユーザＢに対応するマイクロフォンアイコン３２１−２とスピーカアイコン３２３−２、及びユーザＣに対応するマイクロフォンアイコン３２１−３とスピーカアイコン３２３−３が示されている。
【００５１】
ある実装では、表示された入方向・出方向のコンテンツの各インスタンスに、対応するコンテンツの表示を調節するための１つ以上のアイコンが含まれている。例えば図３Ａでは、表示された出方向のユーザＡのビデオ３１２に、拡大アイコン３１６−１、最小化アイコン３１８−１、及び隠蔽アイコン３２０−１がある。図３Ａではさらに、表示された出方向のユーザＡの共有コンテンツ３１４に、拡大アイコン３１６−２、最小化アイコン３１８−２、及び隠蔽アイコン３２０−２がある。図３Ａにはまた、表示された入方向のユーザＢとユーザＣのビデオに対応する、拡大、最小化、隠蔽のアイコンも示されている。ある実装では、対応するコンテンツの表示を調整するための別のアイコンも含まれている。ある実装では表示された別のコンテンツは、任意選択で別のアイコンを含んでいてもよい。
【００５２】
ある実装では、表示された入方向／出方向コンテンツの各インスタンスの位置は調整可能である。ある実装では、表示された入方向／出方向コンテンツの各インスタンスは、ユーザインタフェース３０１−１内のそれ自身の個別ウィンドウ内にある。ある実装では、表示された入方向／出方向コンテンツの各インスタンスの位置は、ユーザＡによって設定されるか、及び／又は１つ以上のユーザプレファレンス及び／又は１つ以上の会議設定に基づく。
【００５３】
図３Ａではさらに、表示された入方向のユーザＣのビデオ３１０−ａに対応する最小化アイコンの上にカーソル３２２が示されている。最小化アイコンの選択に応答して、表示された入方向のユーザＣのビデオ３１０−ａが最小化される。したがって、図３Ｂには最小化されたユーザＣのビデオ３１０−ｂを含むユーザインタフェース３０１−２が示されている。図３Ｂにはさらに、最小化されたユーザＣのビデオ３１０−ｂに対応する復元アイコン３２３が示されている。ある実装では、最小化されたユーザＣのビデオ３１０−ｂの位置は調節される（例えばユーザインタフェースの一番下に移動される）。
【００５４】
図３Ｃはカーソル３２４が拡大アイコン３１６−２の上にある、ユーザインタフェース３０１−１を示している。拡大アイコン３１６−２の選択に応答して、出方向のユーザＡの共有コンテンツ３１４の表示が拡大（例えば、最大化）される。図３Ｄには出方向のユーザＡの共有コンテンツ３１４が拡大表示されたユーザインタフェース３０１−４が示されている。図３Ｄにはまた、縮小された入方向のユーザＢの共有コンテンツ３０６が示されている。こうして図３Ｄでは、表示された出方向のユーザＡの共有コンテンツ３１４が強調されている。
【００５５】
図４Ａ〜図４Ｉは、ある実装による電子会議用のフィードバックを表示するためのユーザインタフェースの例を示している。図４Ａはユーザインタフェース４０１−１を示している。ユーザインタフェース４０１−１は、入方向のユーザＣのビデオ３１０−ａが表示されていないことを除けば、上記のユーザインタフェース３０１−１と同じである。ユーザインタフェース４０１−１では、ユーザＣのビデオは利用不能であることを示す図３１０−ｃが示されている。ユーザＣのビデオが利用不能であることを示す図３１０−ｃは、ユーザＡが受信したユーザＣのビデオに問題があることを示している。ある場合には問題はユーザＣのクライアント装置にあり、別の例では問題は通信ネットワーク及び／又はユーザＡのクライアント装置にある。図４ＡではユーザＣのビデオが利用不能であることを示す図３１０−ｃが示されているが、実装によっては違う図が使用される。実装によっては、何も図が表示されない。
【００５６】
図４Ｂはユーザインタフェース４０１−２を示している。ユーザインタフェース４０１−２は、マイクロフォンアイコン３２１−３が無効であることを示していること以外は、上記のユーザインタフェース３０１−１と同じである。ある実装では、マイクロフォンアイコン３２１−３が無効であることを示すことは、ユーザＡが受信したユーザＣの出方向の音声に問題があることを示している。ある場合には、ユーザＣがマイクロフォンを無効化してしまっている。ある場合には、ユーザＣがマイクロフォンを接続していない。ある場合には、通信ネットワーク（例えば図１の通信ネットワーク１０８）及び／又はユーザＡのクライアント装置に問題がある。ある場合には、ユーザＡがユーザＣの音声を意図的に無効化している。
【００５７】
図４Ｃはユーザインタフェース４０１−３を示している。ユーザインタフェース４０１−３は、スピーカアイコン３２３−２とスピーカアイコン３２３−３が無効であることを示していることを除けば、上記のユーザインタフェース３０１−１と同じである。ある実装では、スピーカアイコンが無効であることを示すことは、それぞれのユーザの入方向音声に問題があることを示している。ある場合には、特定のユーザがスピーカを無効化してしまっている。ある場合には、特定のユーザがスピーカを自分のクライアント装置に接続していない。ある場合には、通信ネットワーク（例えば図１の通信ネットワーク１０８）に問題がある。
【００５８】
図４Ｄはユーザインタフェース４０１−４を示している。ユーザインタフェース４０１−４は、表示された出方向のユーザＡのビデオ３１２がオーバレイ４０２付きで表示されていることを除けば、上記のユーザインタフェース３０１−１と同じである。ある実装では、オーバレイ４０２は、別の参加者（例えばユーザＢ及び／又はユーザＣ）により受信されたユーザＡの出方向ビデオに問題があることを示している。ある場合には、通信ネットワーク（例えば図１の通信ネットワーク１０８）、ユーザＡのクライアント装置、及び／又は他の参加者のクライアント装置、の１つに問題がある。ある実装では、オーバレイ４０２は、別の参加者（例えばユーザＢ及び／又はユーザＣ）からフィードバックを受信すると表示される。ある実装では、オーバレイ４０２は人工的な静止画を含んでいる。ある実装では、オーバレイ４０２は干渉ラインを含んでいる。
【００５９】
図４Ｅはユーザインタフェース４０１−５を示している。警告４０４をさらに含むことを除けば、ユーザインタフェース４０１−５は上記のユーザインタフェース３０１−１と同じである。警告４０４は、ユーザＣが受信したユーザＡのビデオが適切でないこと（例えば、待ち時間が長い、フレームレートが遅い、又はデータが損傷している、など）を示している。ある実装ではユーザＡのクライアント装置が、ユーザＡのクライアント装置から送られるビデオの品質が適切でないかどうかを、ユーザＣから受信するフィードバックに基づいて判定する。ある実装ではユーザＡのクライアント装置が、ビデオ品質が適切でないかどうかを、他の参加者のビデオ品質と比較して判定する。ある実装ではユーザＡのクライアント装置が、ビデオ品質が適切でないかどうかを、１つ以上のユーザプレファレンス及び／又は設定と比較して判定する。図４Ｅにはさらに警告４０４が示されて、警告４０４が表示された理由についての追加情報を表示する詳細アフォーダンス４０８が含まれている。ある実装では、追加情報にはビデオの待ち時間、フレームレート、接続特性などに関する情報が含まれる。図４Ｅにはさらに、トラブルシュート（問題解決）・アフォーダンス４０６を含む警告４０４が示されている。トラブルシュート・アフォーダンス４０６を選択することにより、ユーザＡがビデオの問題に対応することが可能となる。ある実装ではトラブルシューティングには、他の参加者が受信した（例えばユーザＢが受信した）ユーザＡのビデオ品質をチェックすることが含まれる。ある実装ではトラブルシューティングには、ユーザＣにピング（ｐｉｎｇ）を送信すること、ファイアウォールの設定をチェックすること、カメラ設定をチェックすること、ユーザＡのクライアント装置におけるユーザＡの出方向のビデオ品質を分析すること、などが含まれる。
【００６０】
図４Ｆはユーザインタフェース４０１−６を示している。ユーザインタフェース４０１−６は、入方向のユーザＢの共有コンテンツ３０６がオーバレイ４１０付きで表示されていることを除けば、上記のユーザインタフェース３０１−１と同じである。ある実装ではオーバレイ４１０は、別の参加者（例えばユーザＢ及び／又はユーザＣ）により受信されたユーザＡの出方向のコンテンツ及び／又はビデオに問題があることを示している。ある場合には、通信ネットワーク（例えば図１の通信ネットワーク１０８）、ユーザＡのクライアント装置、及び／又は他の参加者のクライアント装置、の１つに問題がある。ある実装ではオーバレイ４１０は、別の参加者（例えばユーザＢ及び／又はユーザＣ）からフィードバックを受信すると表示される。ある実装では、オーバレイ４１０は人工的な静止画を含む。ある実装では、オーバレイ４１０は干渉ラインを含んでいる。ある実装ではオーバレイ４１０は、ユーザＢの共有コンテンツ３０６に問題があることを示している。
【００６１】
図４Ｇはユーザインタフェース４０１−７を示している。ユーザインタフェース４０１−７には出方向の品質メータ４１２と現在の品質表示４１４がさらに含まれていることを除けば、ユーザインタフェース４０１−７は上記のユーザインタフェース３０１−１と同じである。ある実装では出力メータ４１２には、品質閾値表示４１３、４１５が含まれている。ある実装では、品質閾値表示４１３より下の領域は「不良」としてラベル付けされる。ある実装では、品質閾値表示４１３と４１５の間の領域は「普通」としてラベル付けされる。ある実装では、品質閾値表示４１５より上の領域は「良」としてラベル付けされる。このようにある実装によれば、図４Ｇでは現在の出力品質表示４１４が「良」の領域を示している。ある実装では現在の品質表示４１４が、別の参加者（例えばユーザＢ及び／又はユーザＣ）により受信されたユーザＡの出方向コンテンツ及び／又はビデオに問題があることを示す。ある場合には、通信ネットワーク（例えば図１の通信ネットワーク１０８）、ユーザＡのクライアント装置、及び／又は他の参加者のクライアント装置、の１つに問題がある。ある実装では、現在の品質表示４１４が、別の参加者（例えばユーザＢ及び／又はユーザＣ）からのフィードバック受信に応答して表示／更新される。ある実装では現在の品質表示４１４は、出方向音声、出方向ビデオ、出方向共有コンテンツ、などのユーザＡの１つ以上の出方向通信ストリームの品質に基づく品質尺度に対応する。
【００６２】
図４Ｈはユーザインタフェース４０１−８を示している。警告４１６がさらに含まれていることを除けば、ユーザインタフェース４０１−８は上記のユーザインタフェース３０１−１と同じである。警告４１６は、ユーザＢとユーザＣが受信したユーザＡの音声が不適切であること（待ち時間が長い、データが損傷している、など）を示している。ある実装ではユーザＡのクライアント装置が、音声の品質が不適切であるかどうかをユーザＢとユーザＣから受信するフィードバックに基づいて判定する。ある実装ではユーザＡのクライアント装置が、音声品質が不適切であるかどうかを他の参加者の音声品質と比較して判定する。ある実装ではユーザＡのクライアント装置が、音声品質が不適切であるかどうかを１つ以上のユーザプレファレンス及び／又は設定と比較して判定する。図４Ｈはさらに、ユーザＡがユーザＢ及びユーザＣとテキストを介して通信可能とする、テキスト通信アフォーダンス４１８を含む警告４１６を示している。
【００６３】
図４Ｉはユーザインタフェース４０１−９を示している。ユーザインタフェース４０１−９は、チャットボックス４２０をさらに含み、またマイクロフォンアイコン３２１−１が無効であることを示していることを除けば、上記のユーザインタフェース３０１−１と同じである。チャットボックス４２０は、ユーザＡ、Ｂ、Ｃ間のテキスト通信を可能としている。ある実装ではチャットボックス４２０は、音声及び／又はビデオの性能問題に応じて、チャットボックス４２０が表示されていることを示すメッセージを含んでいる。ある実装ではチャットボックス４２０は、ユーザＡが図４Ｈのテキスト通信アフォーダンス４１８を選択することに応答して表示される。ある実装ではチャットボックス４２０は、音声及び／又はビデオ問題が存在すると判定されることに従って、自動的に表示される。ある実装ではチャットボックス４２０は、ユーザＢ及び／又はユーザＣから、ユーザＡの出方向音声／ビデオが不適切であることを示すフィードバックを受信することに応じて表示される。ある実装ではチャットボックス４２０は、ユーザＢ及び／又はユーザＣから品質が不良な音声／ビデオを受信することに応じて表示される。図４Ｉはマイクロフォンアイコン３２１−１が無効であることを示している。ある実装では無効であるマイクロフォンアイコン３２１−１は、ユーザＡが、ユーザＡのクライアント装置のマイクロフォンを無効化したことを示している。ある実装では無効化されたマイクロフォンアイコン３２１−１は、１人以上の他の参加者（例えばユーザＢ）により受信されるユーザＡの音声が低品質であることを示している。
【００６４】
図５Ａ〜図５Ｂはある実装による、電子通信の複数の参加者の内、２つの視点からのユーザインタフェースの例を示している。図５Ａでは、ユーザＡに対応するクライアント装置１０２−１に表示されているユーザインタフェース５０１−１を示している。ユーザインタフェース５０１−１には、ユーザＡに対する入方向のユーザＢ共有コンテンツ３０６、入方向のユーザＣビデオ３１０−１、ユーザＡからの出方向であるユーザＡのビデオ３１２、及び出方向のユーザＡ共有コンテンツ３１４の表示が含まれている。図５Ａでは、さらにユーザＢに対応するクライアント装置１０２−２に表示されているユーザインタフェース５０３−１を示している。ユーザインタフェース５０３−１には、ユーザＢに対する入方向のユーザＡ共有コンテンツ５０２、入方向のユーザＡビデオ５０４、入方向のユーザＣのビデオ３１０−１、及びユーザＢからの出方向のユーザＢ共有コンテンツ５０８の表示が含まれている。クライアント１０２−１における出方向のユーザＡのビデオ３１２は、クライアント１０２−２における入方向のユーザＡのビデオ５０４に対応し、クライアント１０２−１における出方向のユーザＡの共有コンテンツ３１４は、クライアント１０２−２における入方向のユーザＡの共有コンテンツ５０２に対応する。同じように、クライアント１０２−２における出方向のユーザＢの共有コンテンツ５０８は、クライアント１０２−１における入方向のユーザＢの共有コンテンツ３０６に対応している。
【００６５】
図５Ｂは、ユーザＡに対応するクライアント装置１０２−１に表示されているユーザインタフェース５０１−２と、ユーザBに対応するクライアント装置１０２−２に表示されているユーザインタフェース５０３−２を示している。ユーザインタフェース５０１−２は、ユーザインタフェース５０１−２が入方向のユーザＢの共有コンテンツ３０６の品質が悪い（例えば、解像度が低下している）ことを示していること以外はユーザインタフェース５０１−１（図５Ａ）と同じである。これに対応して、ユーザインタフェース５０３−２は、出方向のユーザＢの共有コンテンツ５０８を、人為的に解像度を低下させて、表示することにより、出方向のユーザＢの共有コンテンツ５０８がクライアント１０２−１に表示されているように画像が不適切であることを示している。ある実装によれば、ユーザインタフェース５０３−２はさらに、ユーザＢの出方向のコンテンツの品質が不適切であることを警告５１２の表示で示している。
【００６６】
図６Ａ〜図６Ｂは、ある実装による会議アークテクチャ例でのデータフローとフィードバックを示すブロック図である。図６Ａはクライアント１０２−１が、ゲートウェイ６０２、６０６、及び通信ネットワーク６０４を介してクライアント１０２−２に結合されていることを示している。図６Ａはさらに、出方向ビデオ６０１の各ロケーションでの品質表示を示している。具体的に図６Ａでは、クライアント装置１０２−１で生成された状態の出方向ビデオ６０１−ａと、ゲートウェイ６０２により出力された状態の出方向ビデオ６０１−ｂと、通信ネットワーク６０４により出力された状態の出方向ビデオ６０１−ｃと、ゲートウェイ６０６により出力された状態の出方向ビデオ６０１−ｄと、クライアント１０２−２により表示された状態の出方向ビデオ６０１−ｅが示されている。図６Ａはさらに、出方向ビデオ６０１−ｅは出方向ビデオ６０１−ａに比べて品質が劣化している（例えば解像度が低下している）ことを示している。図６Ａはさらに、クライアント１０２−２が出方向ビデオ６０１−ｅに基づいてフィードバック６１０を生成し、クライアント１０２−１へフィードバック６１０を送信することを示している。ある実装ではフィードバック６１０は、ゲートウェイ６０２、６０６と通信ネットワーク６０４を介して送信される。
【００６７】
同様に図６Ｂはクライアント１０２−１が、ゲートウェイ６０２、６０６、及び通信ネットワーク６０４を介してクライアント１０２−２に結合されていることを示している。図６Ｂはさらに、出方向ビデオ６１２の各ロケーションでの品質表示を示している。具体的に図６Ｂでは、クライアント装置１０２−１で生成された状態の出方向ビデオ６１２−ａと、ゲートウェイ６０２により出力された状態の出方向ビデオ６１２−ｂと、通信ネットワーク６０４により出力された状態の出方向ビデオ６１２−ｃと、ゲートウェイ６０６により出力された状態の出方向ビデオ６１２−ｄと、クライアント１０２−２により表示された状態の出方向ビデオ６１２−ｅが示されている。図６Ｂにはさらに、出方向ビデオ６１２−ｃは出方向ビデオ６０１−ａよりも品質が劣化している（例えば解像度が低下している）こと、及び出方向ビデオ６１２−ｄは（例えばゲートウェイ６０６のファイウォールのために）取得不能であることが示されている。図６Ｂはさらに、クライアント１０２−２が出方向ビデオ６１２−ｅに基づいてフィードバック６１４を生成し、クライアント１０２−１へフィードバック６１４を送信することを示している。例えばフィードバック６１４は、出方向ビデオがクライアント１０２−２で表示不能であることを示す。
「代表的プロセス」
【００６８】
次に、図７Ａ〜図７Ｂ、図８Ａ〜図８Ｃ、図９のフローチャート表示に注目する。図７Ａ〜図７Ｂはある実装による、特定の参加者へ会議フィードバックを提供する方法のフローチャート表示である。図８Ａ〜図８Ｃはある実装による、特定の参加者から会議フィードバックを提供する方法のフローチャート表示である。図９はある実装による、例示的電子会議における２人の参加者間での通信フローを示す図である。
【００６９】
ある実装において、方法７００（図７Ａ〜図７Ｂ）と方法８００（図８Ａ〜図８Ｃ）は、（１）図１のクライアント装置１０２のような、１つ以上のクライアント装置、（２）１つ以上のサーバシステム、又は（３）（１）と（２）の組合せ、によって遂行される。従ってある実装においては、本明細書において記述する方法７００と方法８００の操作は完全に交換可能であり、方法７００と方法８００のそれぞれの操作は前述した任意の装置、システム、又は装置及び／又はシステムの組合せによって遂行される。ある実装では、非一時的なコンピュータ可読記憶媒体に格納され、かつクライアント装置１０２（図２）の１つ以上のＣＰＵ２０２及び／又はサーバシステムの１つ以上のＣＰＵなどの装置／計算機システムの１つ以上のプロセッサによって実行される命令によって、方法７００と方法８００は制御される。
【００７０】
次に図７Ａ〜図７Ｂを参照する。第１の参加者が、１人以上の遠隔参加者との電子会議に第１のクライアント装置から参加する（７０２）。この電子会議は第１の参加者のための出方向通信ストリームを含んでいる。例えば、図１には、ユーザ１０６−２〜１０６−ｒとの電子会議１００に参加するユーザ１０６−１が示されている。ある実装によれば、図３Ａには各参加者に表示されるビデオストリームが示されている。具体的には出方向のユーザＡのビデオ３１２、入方向のユーザＢのビデオ３０８、そして入方向のユーザＣのビデオ３１０−ａである。ある実装では出方向通信ストリームには、音声通信ストリーム、ビデオ通信ストリーム、テキスト通信ストリーム、及び／又は視聴覚通信ストリームが含まれている。ある実装では、第１のクライアント装置が第１の参加者の電子会議への参加を可能とする。例えば第１の参加者は、図２の通信モジュール２１８と共に通信インタフェース２０４を利用して電子会議に参加する。
【００７１】
ある実装では第１の参加者が、第１のクライアント装置のウェブブラウザ（例えば図２のウェブブラウザ１０４）を介して電子会議に参加する（７０４）。例えば図３Ａはウェブブラウザ３０２を介して電子会議に参加するユーザＡを示している。ある実装では、第１の参加者はモバイルアプリケーションを介して電子会議に参加する。ある実装では、電子会議はＪａｖａＳｃｒｉｐｔ（登録商標）のようなプログラミング言語を介して行われる。ある実装では、ウェブブラウザは参加者が電子会議への接続を失うことなしにリフレッシュされてもよい。
【００７２】
ある実装では、電子会議はピアツーピアの電子会議で構成される（７０６）。例えば電子会議は、クラウドサーバのような独立したサーバがホストとはならない。ある実装では、電子会議へ参加する特定の参加者が電子会議のホストとなる。ある実装では、ある特定の参加者が会議のホストに指名される。ある実装では、会議のホストが会議の途中で替わる。ある実装では、会議のホストは各参加者に対応するフィードバックの比較に基づいて決定される。
【００７３】
第１のクライアント装置が、電子会議に参加予定の１人以上の遠隔参加者の中の特定の参加者が使用する第２のクライアント装置からフィードバックを受信する（７０８）。このフィードバックは、第２のクライアント装置における第１の参加者の出方向通信ストリーム品質に対応するものである。ある実装では、フィードバックには１つ以上の数値による品質ファクタが含まれている。ある実装では、フィードバックには１つ以上の品質ラベルが含まれている。例えば、第１のクライアント装置が、図２の通信モジュール２１８及び／又はフィードバックモジュール２２８と共に通信インタフェース２０４を利用してフィードバックを受信する。
【００７４】
ある実装では、第１のクライアント装置が、表示されたグラフィカルユーザインタフェース（ＧＵＩ）を更新して、受信したフィードバックに対応する情報を表示させる（７１０）。ここでＧＵＩには電子会議の情報表示が含まれている。例えば、図４Ｆにはオーバレイ４１０を含むユーザインタフェース４１０−６が示されている。ここでオーバレイ４１０は他のユーザ（例えばユーザＢ）から受信したフィードバックに基づいている。例えば、参加者の音声品質が不適切であるとのフィードバックを受信すると、その参加者の出方向データに対応する境界線の色が変わる（例えば橙又は赤になる）。ある実装では、強調されたコンテンツの１つ以上の表示特性が更新される。例えば、強調されたコンテンツの境界線の色が変わって、受信したフィードバックを介して問題が識別されたことを示す。ある実装では、受信したフィードバックに対応する情報の表示の仕方は、１つ以上のユーザプレファレンス及び／又は１つ以上の会議設定（例えば、図２のクライアントデータ２３２に格納された１つ以上のユーザプレファレンス）に基づいて決定される。例えばある特定の参加者は、受信したフィードバックを入方向のコンテンツ表示ではなく出方向のコンテンツ表示で表示するというユーザプレファレンスを設定する。別の例では、ある特定の参加者は受信したフィードバックをそのとき強調されているコンテンツで表示するというユーザプレファレンスを設定する。ある実装では、表示されたフィードバック情報は、単純な状態情報を含む（例えば特定の通信ストリームが不適切かどうかを表す状態情報を含む）。ある実装では、表示されたフィードバック情報は通信品質を表す（例えば、良品質を緑色のアイコンで、普通品質を黄色のアイコンで、不良品質を赤色のアイコンで示す）。ある実装では表示されたフィードバック情報は、１つ以上の品質ラベルに対する１つ以上の表示を含んでいる。ある実装では表示されたフィードバック情報は、１つ以上の数値的品質ファクタに対する１つ以上の表示を含んでいる。例えば第１のクライアント装置が図２の表示モジュール２２２と共に表示部２０８を利用してＧＵＩを表示する。
【００７５】
ある実装では、第１のクライアント装置が、表示されたＧＵＩ内の１つ以上のアイコンの表示特性（例えばアイコンの色）を更新する（７１２）。この１つ以上のアイコンは１つ以上の各通信形態（例えば音声、ビデオ、テキスト）に対応している。例えば図４Ｉには、マイクロフォンアイコン３２１−１の無効表示を含むユーザインタフェース４０１−９が示されている。ある実装では、第１のクライアント装置が複数の参加者からのフィードバックを集積し、その集積されたフィードバックに基づいて表示特性を更新する。例えば、ある参加者の音声品質が不適切であることを示すフィードバックを受信すると、マイクロフォンアイコンが色を変える（例えば赤色になる）か、スピーカアイコンが灰色になる。ある実装では、１つ以上のアイコンが参加者の出方向コンテンツに示されている。ある実装では、１つ以上のアイコンが強調されたコンテンツに示されている。例えば図３Ａでは、強調コンテンツとして入方向のユーザＢの共有コンテンツ３０６が表示されており、図３Ｄでは、強調コンテンツとして出方向のユーザＡの共有コンテンツ３１４が表示されている。ある実装では、１つ以上のアイコンが受信したフィードバック表示用に選定される。ある実装では、１つ以上のアイコンを特定の参加者がカスタマイズすることができる。ある実装では、１つ以上のアイコンの表示特性は１つ以上のユーザプレファレンス及び／又は１つ以上の会議設定（例えば、図２のクライアントデータ２３２に格納された１つ以上のユーザプレファレンス）に基づいている。例えば特定の参加者は、１つ以上のアイコンのそれぞれに対してユーザインタフェース内の好適な位置を指定するユーザプレファレンスを設定することができる。例えば、第１のクライアント装置が、図２の表示モジュール２２２及び／又はフィードバックモジュール２２８を利用して表示を更新する。
【００７６】
ある実装では、第１のクライアント装置が、特定の参加者に対応する通信ストリームの表示特性を更新する（７１４）。ここで通信ストリームはＧＵＩ内に表示されている。例えば、通信ストリームへの人工的静止画の導入、干渉ラインの付加、フレームレートの低下、などである。ある実装によれば図４Ｆは、ユーザＢのクライアント装置から受信したフィードバックに対応するオーバレイ４１０が表示された、入方向のユーザＢの共有コンテンツ３０６を示している。ある実装では、通信ストリームがビデオストリームで構成されている。ある実装では、通信ストリームが、共有されたデスクトップ又はウィンドウのような共有電子コンテンツで構成されている。ある実装では、第１のクライアント装置が複数の参加者からのフィードバックを集積し、その集積されたフィードバックに基づいて表示特性を更新する。例えば、第１のクライアント装置が、図２の表示モジュール２２２及び／又はフィードバックモジュール２２８を利用して表示を更新する。
【００７７】
ある実装では、第１のクライアント装置が、第１の参加者に対応する、ＧＵＩ内に表示された通信ストリームの表示特性を更新する（７１６）。例えば、ビデオストリームへの人工的静止画の導入、干渉ラインの付加、フレームレートの低下、などである。ある実装によれば図４Ｄは、ユーザＢのクライアント装置から受信したフィードバックに対応するオーバレイ４０２が表示された、出方向のユーザＡのビデオ３１２を示している。ある実装では、通信ストリームがビデオストリームで構成されている。ある実装では、通信ストリームが、共有されたデスクトップ又はウィンドウのような共有電子コンテンツで構成されている。ある実装では、第１のクライアント装置が複数の参加者からのフィードバックを集積し、その集積されたフィードバックに基づいて表示特性を更新する。例えば、第１のクライアント装置が、図２の表示モジュール２２２及び／又はフィードバックモジュール２２８を利用して表示を更新する。
【００７８】
ある実装では、第１のクライアント装置がＧＵＩ内にテキストメッセージを表示する（７１８）。例えば図４Ｅは、ユーザＣから受信したフィードバックに応答して表示された警告４０４を示している。ある実装では、テキストメッセージが新規のウィンドウに現れる。ある実装では、テキストメッセージは、チャットウィンドウのような既存のウィンドウに現れる。ある実装では、テキストメッセージはオーバレイとして（例えば表示された出方向のユーザＡのビデオ３１２のオーバレイとして）現れる。
【００７９】
ある実装では、第１のクライアント装置が、第１のクライアント装置の１つ以上のスピーカを介して音声報知を行う（７２０）。ここで音声報知は受信したフィードバックに対応している。ある実装では、音声報知には少なくとも１つのビープ音、言葉などが含まれる。ある実装では、音声報知には音声信号の変調などの、音声通信を変調することが含まれる。ある実装では、第１のクライアント装置が複数の参加者からのフィードバックを集積し、その集積されたフィードバックに基づいて音声信号を変調する。例えば、第１のクライアント装置が、図２のフィードバックモジュール２２８と共にＩ／Ｏインタフェース２０６を利用して音声通信を提供する。
【００８０】
ある実装では、第１のクライアント装置が、電子会議の１人以上の参加者から受信したそれぞれのフィードバックを利用して、電子会議の１つ以上の問題のトラブルシューティングを行う（７２２）。ある実装ではトラブルシューティングには、他の参加者から受信した状態の第１の参加者のビデオ品質をチェックすることが含まれる。ある実装ではトラブルシューティングには、１人以上の他の参加者にピングを送信すること、ファイアウォール設定をチェックすること、カメラ設定をチェックすること、第１のクライアント装置で第１のクライアントの出方向のビデオ品質を分析すること、などの１つ以上の診断テストの遂行が含まれる。例えば、第１のクライアント装置が、図２の通信処理モジュール２２０と共に通信インタフェース２０４を利用して１つ以上の問題点をトラブルシューティングする。
【００８１】
図７Ａ〜図７Ｂで説明した操作の具体的な順序は、単に一例として挙げたものであり、この記述した順序が操作を遂行する上での唯一の順序であることを示唆するものではないことを理解されたい。当業者であれば本明細書に記載の操作を様々な形で順序変更できることがわかるであろう。さらに、本明細書で記述した他の方法及び／又はプロセスに関する本明細書に記載の他のプロセスの詳細もまた、図７Ａ〜図７Ｂに関する上記の方法７００と同じようにして適用可能であることにも留意されたい。
【００８２】
次に図８Ａ〜図８Ｃを参照する。まず第１の参加者が１人以上の遠隔参加者との電子会議に第１のクライアント装置から参加する（８０２）。例えば図１には、ユーザ１０６−２〜１０６−ｒとの電子会議１００に参加するユーザ１０６−１が示されている。ある実装では電子会議は、遠隔会議を含んでいる。ある実装では、第１のクライアント装置は、携帯電話やタブレットなどの携帯機器を含んでいる。例えば第１の参加者は、図２の通信モジュール２１８と共に通信インタフェース２０４を利用して電子会議に参加する。
【００８３】
電子会議へ参加する１人以上の遠隔参加者の中の特定の参加者が使用する第２のクライアント装置から送信される個別の出方向通信ストリームを、第１のクライアント装置が受信する（８０４）。例えば図６Ａでは、クライアント１０２−２がクライアント１０２−１からの出方向ビデオ６０１を受信している。例えば第１のクライアント装置は、図２の通信モジュール２１８と共に通信インタフェース２０４を利用して通信ストリームを受信する。
【００８４】
ある実装ではそれぞれの出方向通信ストリームには、参加者との通信のための１つ以上のチャネルが含まれている（８０６）。この１つ以上のチャネルには、テキスト通信用のチャネル、音声通信用のチャネル、ビジュアル通信用のチャネル、及びマルチメディア通信用のチャネルの内の少なくとも１つが含まれている。ある実装によると、図４Ｉにはテキスト通信に対応して表示されたチャット４２０と、マルチメディア通信チャネルに対応した入方向のユーザＢのビデオ３０８が示されている。ある実装では特定の参加者の音声データがその特定の参加者のビデオデータとは異なるチャネルを介して送信される。ある実装では視聴覚情報が１つのチャネル経由で送信される。ある実装では各チャネルが別々のアプリケーションポートを利用する。ある実装では第１のチャネルが第１のウェブソケットを利用し、第２のチャネルが第１のウェブソケットとは別の第２のウェブソケットを利用する。
【００８５】
ある実装では第１のクライアント装置が参加者通信用の１つ以上のチャネルとは別のチャネルを介してフィードバックを提供する（８０８）。ある実装ではフィードバックは遠隔会議の確立に使われたチャネルを介して送信される。ある実装ではフィードバックは信頼性が最も高いと判定されたチャネルを介して送信される。ある実装ではフィードバックは帯域幅が最も小さいと判定されたチャネルを介して送信される。例えば第１のクライアント装置は、図２のフィードバックモジュール２２８と共に通信インタフェース２０４を利用してフィードバックを提供する。
【００８６】
第１のクライアント装置が受信した通信ストリームを分析して、受信した通信ストリームの１つ以上の品質ファクタを判定する（８１０）。例えば図６Ａは、出方向ビデオ６０１−ｅを受信し、受信したビデオの分析に基づいてフィードバック６１０を生成するクライアント１０２−２を示している。ある実装では、この１つ以上の品質ファクタは数値ファクタである。ある実装ではこの１つ以上の品質ファクタは定量的品質ファクタである。ある実装ではこの１つ以上の品質ファクタには、通信モード（例えば、テキスト、音声、ビジュアルなど）ごとに別々の品質ファクタが含まれる。ある実装ではこの１つ以上の品質ファクタには通信チャネルごとに別々の品質ファクタが含まれる。ある実装では第１のクライアント装置はこの１つ以上の品質ファクタを利用して、各通信ストリームを品質及び／又は安定性の観点からランク付けする。ある実装では分析はウェブブラウザに組み込まれたＪａｖａＳｃｒｉｐｔなどのプログラミング言語を利用して行われる。ある実装では分析には受信した音声データの音声−テキスト変換の実行が含まれる。ある実装では分析には受信したビデオデータの光学文字認識（ＯＣＲ）の実行が含まれる。例えば第１のクライアント装置は、図２の通信処理モジュール２２０と共に通信インタフェース２０４を利用して受信した通信ストリームを分析する。
【００８７】
ある実装ではラウドネス、シャープネス、うなり、ラフネス、変動強度、調性、全体レベル、時間平均レベル、及び騒音暴露レベルが任意選択的に分析されて、対応する品質ファクタが生成される。ある実装ではブロッキネス、ぶれ、色にじみ、フリッカ、ジッタ、及びその他のビデオのムラが任意選択で分析されて、対応する品質ファクタが生成される。ある実装では第１のクライアント装置では１つ以上の品質ファクタに基づいて１つ以上の品質ラベルが生成される。上記の品質ファクタは様々な周知のアルゴリズムを利用して計算可能であることは当業者には明らかであろう。
例えば、サルフォード大学は、上記した音声品質基準を含む、複数の音声品質基準の計算式を発表している（非特許文献１）。同様に、非特許文献２に、ビデオ品質ファクタの計算式が記載されている。
【００８８】
ある実装では第１のクライアント装置とは別の電子装置が、受信した通信ストリームを分析して１つ以上の品質ファクタを決定する。ある実装ではこの電子装置により決定された１つ以上の品質ファクタが、第１のクライアント装置により決定された１つ以上の品質ファクタに集積される。例えば、この電子装置がネットワーク性能に関する１つ以上の品質ファクタを決定し、第１のクライアント装置が通信ストリームのレンダリング及び／又は解釈に関する１つ以上の品質ファクタを決定する。ある実装ではこの電子装置は、クラウドサーバなどのサーバを含んでいる。
【００８９】
ある実装では第１のクライアント装置で受信した通信ストリームに対応してレンダリングされた情報を、第１のクライアント装置が分析する（８１２）。ある実装によれば、図６Ａの出方向のビデオ６０１−ｅは、クライアント１０２−２でレンダリングされた後の出方向ビデオの状態を表し、フィードバック６１０はその出方向ビデオ６０１−ｅに基づいて生成される。フィードバックを生成する前に受信した通信ストリームをレンダリングすることで、クライアント装置はレンダリングの過程で生じ得るいかなる問題点も説明することが可能となる。例えば、第１のクライアント装置は、図２の表示モジュール２２２及び／又は通信処理モジュール２２０と共に表示部２０８を利用してレンダリングされた情報を分析する。
【００９０】
ある実装では第１のクライアント装置が受信した通信ストリーム内の音声ストリームを分析し（８１４）、その分析した音声ストリームに基づいて１つ以上の品質ファクタの少なくとも部分集合を決定する（８１６）。例えば、音声アクティビティ検出、音声分析、及び／又は音声認識を介して分析する。ある実装では音声ストリームの分析に、シャープネス、ラフネス、変動強度などをリアルタイムで計算することが含まれる。ある実装では受信した通信ストリーム内の音声通信の分析には、第１のクライアント装置のマイクロフォンを介した音声通信の分析が含まれる。ある実装ではそれぞれの出方向の通信ストリームには音声透かしが含まれ、音声通信の分析には音声透かしがあるか否かを判定することが含まれる。ある実装では音声ストリームの分析に、音声ストリーム上での音声アクティビティ検出を行うことが含まれる。例えば、ウェブブラウザで行う分析サービスでは、すべての種類の音のアクティビティを検出する。ある実装では音声ストリームの分析に、音声ストリーム上での音声分析を行うことが含まれる。たとえばウェブブラウザで行う分析サービスは、音声の存在と品質を（例えば様々な既知の方法を用いて）検出する。ある実装では音声ストリームの分析に、音声ストリーム上での音声認識を行うことが含まれる。ある実装では音声ストリームの分析に、第１の参加者のスピーカから出力された後でその音声データを分析することが含まれる。ある実装では音声ストリームに、特定の参加者のマイクロフォンからの音声データが含まれる。例えば第１のクライアント装置は、図２の通信処理モジュール２２０と共に通信インタフェース２０４を利用して音声ストリームを分析する。
【００９１】
ある実装では第１のクライアント装置が受信した通信ストリーム内のビデオストリームを分析し（８１８）、その分析したビデオストリームに基づいて１つ以上の品質ファクタの少なくとも部分集合を決定する（８２０）。例えばピクセル検出（非黒ピクセル検出など）、ピクセル分布などを介して分析する。ある実装ではビデオストリームの分析に、ブロッキネス、ぶれ、色にじみ、フリッカ、ジッタなどを検出することが含まれる。ある実装ではビデオストリームの分析に、ビデオストリームのビデオデータ中のピクセルアクティビティを検出することが含まれる。例えばウェブブラウザで行う分析サービスでは、すべての種類のピクセルアクティビティを検出する。ある実装ではウェブブラウザで行う分析サービスが、様々な既知の方法を利用してビデオデータの品質を判定する。例えば第１のクライアント装置は、図２の通信処理モジュール２２０と共に通信インタフェース２０４を利用してビデオストリームを分析する。
【００９２】
ある実装では、第１のクライアント装置が受信した通信ストリーム内の音声ストリームを受信した通信ストリーム内のビデオストリームと比較し（８２２）、その比較に基づいて１つ以上の品質ファクタの少なくとも部分集合を決定する（８２４）。例えば、音声ストリームとビデオストリームを比較することには任意選択により、ビデオ内のピクセル変化を音声と比較すること、ビデオにＯＣＲを遂行して音声と比較すること、などが含まれる。ある実装では音声ストリームとビデオストリームを比較することには、音声品質に対応するファクタをビデオ品質に対応するファクタと比較することが含まれる。例えば第１のクライアント装置は、図２の通信処理モジュール２２０によって音声ストリームをビデオストリームと比較する。
【００９３】
ある実装では第１のクライアント装置が、受信した通信ストリームに対応する待ち時間、受信した通信ストリームに対応するボリューム、及び受信した通信ストリームに対応するリフレッシュレートの内の少なくとも１つを分析する（８２６）。ある実装では第１のクライアント装置が、フレームレート、解像度低下、ぶれ、などを分析する。
【００９４】
第１のクライアント装置は、判定した１つ以上の品質ファクタに基づいて、特定の参加者へフィードバックを行う（８２８）。ある実装では第１のクライアント装置がフィードバックを生成する。ある実装ではフィードバックは受信した通信ストリームを介して送信される。ある実装ではフィードバックは遠隔会議確立に使われたチャネルを介して送信される。ある実装ではフィードバックは信頼性が最も高いと判定されたチャネルを介して送信される。ある実装ではフィードバックはその時点で最大の可用帯域幅があると判定されたチャネルを介して送信される。ある実装ではフィードバックはサードパーティのサービスを介して送信される。例えば第１のクライアント装置は、図２のフィードバックモジュール２２８と共に通信インタフェース２０４を利用してフィードバックを提供する。
【００９５】
ある実装では第１のクライアント装置が参加者通信用の２つ以上のチャネルの分析に基づいて最適なチャネルを判定し（８３０）、第１の参加者にその最適チャネルを推奨する（８３２）。ある実装では最適チャネルの推奨にはその最適チャネルへの自動切り替えが含まれている。例えば、電子会議は図３Ａに示す通りである。この例では、第１のクライアント装置が、テキスト通信チャネルが最適チャネルであると判定し、図４Ｉに示すようなチャット４２０を自動的に開く。ある実装では最適チャネルの推奨には、第１の参加者が最適チャネルに切り替えるように第１の参加者に提案することが含まれる。例えば、電子会議は図３Ａに示す通りである。この例では、第１のクライアント装置が、テキスト通信チャネルが最適チャネルであると判定し、図４Ｈに示すような警告４１６を介してテキスト通信チャネルを推奨する。例えば、第１のクライアント装置が図２の通信処理モジュール２２０及び／又は通信モジュール２１８を利用して最適チャネルを判定する。
【００９６】
ある実装では２つ以上のチャネルのうちの、主チャネルとして指定された第１のチャネルが不良であると判定されることに従って、第１のクライアント装置は第２のチャネルを主チャネルとして指定する（８３４）。例えば、電子会議は図３Ａに示す通りである。この例において、第１のクライアント装置が入方向のユーザＢの共有コンテンツ３０６が不良であると判定し、図４Ｉに示すようにチャット４２０を主チャネルに指定する。ある実装では不良チャネルは不良でないチャネルよりも下のランクに降格させられる。ある実装では第１のチャネルに関する１つ以上の品質ファクタがあらかじめ定められた規準の１つ以上に合致すれば、第１のチャネルは不良であると判定される。例えば、ビデオストリームの非黒ピクセルのパーセンテージが所定の閾値よりも低くなる。例えば、第１のクライアント装置が、図２の通信処理モジュール２２０、フィードバックモジュール２２８、及び／又は通信モジュール２１８を利用して、第１のチャネルが不良であると判定する。
【００９７】
ある実装では、特定の参加者（例えばホストとして指定された参加者）が他の参加者に関するフィードバックを受信する。例えば、ユーザＡがホストに指定され、ユーザＣが受信したユーザＢの通信に関するフィードバックを受信する。
【００９８】
ある実装では参加者が補助的な電子装置を指定し、第１のクライアント装置を介する通信が不良であると判定されると、この補助的な電子装置を利用する。例えば、特定の参加者がラップトップ（第１のクライアント装置）で電子会議に参加する。この特定の参加者は別の参加者のクライアント装置から、特定の参加者の音声が不良である（例えば聞き取りにくい）とのフィードバックを受信する。そして特定の参加者の携帯電話（補助的な電子装置）が電子会議に接続される。ある実装では、不良通信とは判別ができない通信のことである。ある実装では、不良通信とは所定の品質標準より低品質の通信のことである。
【００９９】
図８Ａ〜図８Ｃで説明した操作の具体的な順序は、単に一例として挙げたものであり、この記述した順序が操作を遂行する上での唯一の順序であることを示唆するものではないことを理解されたい。当業者であれば本明細書に記載の操作を様々な形に順序変更できることがわかるであろう。さらに、本明細書で記述した他の方法及び／又はプロセスに関して本明細書に記載した他のプロセスの詳細もまた、図８Ａ〜図８Ｃに関する上記の方法８００と同じように適用可能であることにも留意されたい。
【０１００】
次に図９を参照する。図９は、ある実装によるクライアント装置１０２−１とクライアント装置１０２−２との間の通信フロー９００を示している。図９においてユーザ１０６−１（例えばユーザＡ）が、クライアント装置１０２−１及びクライアント装置１０２−２を介してユーザ１０６−２（例えばユーザＢ）と会議を行う。まず、会議が開始される（９０２）。各クライアント装置１０２は次に相手方のクライアント装置１０２へ出方向の通信ストリームを送信する。
【０１０１】
クライアント装置１０２−１は、ユーザ１０６−１の出方向通信ストリーム９０４を送信する。クライアント装置１０２−２は通信ストリーム９０４を分析してフィードバック９０６を生成し、そのフィードバック９０６をクライアント装置１０２−１へ送信する。クライアント装置１０２−１はフィードバック９０６に基づいて１つ以上の会議設定を調節する。このプロセスは会議が継続する間、任意選択的に反復される。
【０１０２】
クライアント装置１０２−１は次にユーザ１０６−１の調節された出方向通信ストリーム９０８をクライアント装置１０２−２へ送信する。クライアント装置１０２−２は調節された通信ストリーム９０８を分析し、フィードバック９１０を生成する。クライアント装置１０２−２はフィードバック９１０をクライアント装置１０２−１へ送信する。クライアント１０２−１はフィードバック９１０を分析し、それに従って１つ以上の会議設定を調節する。
【０１０３】
同様にクライアント装置１０２−２はユーザ１０６−２の出方向通信ストリーム９０５をクライアント装置１０２−１へ送信する。クライアント装置１０２−１は通信ストリーム９０５を分析し、フィードバック９０７を生成する。クライアント装置１０２−１はフィードバック９０７をクライアント装置１０２−２へ送信する。クライアント装置１０２−２はフィードバック９０７に基づいて１つ以上の会議設定を調節する。このプロセスは会議が継続する間、任意選択的に反復される。
【０１０４】
図９で説明した操作の具体的な順序は、単に一例として挙げたものであり、この記述した順序が操作を遂行する上での唯一の順序であることを示唆するものではないことを理解されたい。当業者であれば本明細書に記載の操作を様々な形に順序変更できることがわかるであろう。さらに、本明細書で記述した他の方法及び／又はプロセスに関する本明細書に記載の他のプロセスの詳細もまた、図９に関する上記の通信フローと同じように適用可能であることにも留意されたい。
【０１０５】
上記のシステムがユーザに関する情報を収集する状況に関しては、個人情報（例えばユーザのプレファレンス又はスマート装置の使用に関する情報）を収集するプログラム又は機能の選択の可否を判断する機会がユーザに与えられてもよい。さらに、ある実装では、あるデータはそれを格納または使用する前に１つ以上の方法で匿名扱いとして、個人を識別可能な情報が排除されるようにしてもよい。例えば、ユーザの身元が匿名化されて、個人を識別可能な情報がユーザを判定できないか、又はユーザに関連付けることができないようになっていてもよい。したがってユーザのプレファレンス又はユーザの相互作用は特定のユーザには関連付けられないで一般化される（例えばユーザの統計的データに基づいて一般化される）。
【０１０６】
様々な図面のいくつかでは、複数の論理ステップを特定の順序で示しているが、順序に依存しないステップは順序を変えてもよいし、またその他のステップを結合または分解してもよい。いくつかの順序変更及びその他のグループ化について具体的に言及されているが、他の順序変更またはその他のグループ化も当業者には明らかであり、本明細書にある順序建て及びグループ化は、代替をすべて網羅するリストとはなっていない。さらに、ステップはハードウェア、ファームウェア、ソフトウェア、あるいはそれらの任意の組合せによって実装されてもよいことを理解されたい。
【０１０７】
また、本明細書においては第１、第２、などの用語が、場合によっては様々な要素を記述するために使用されているが、これらの要素は第１、第２、などの用語で限定されるものではないことも理解されたい。これらの用語は、１つの要素を別の要素と区別するためだけに使用されている。例えば、第１の電子装置は、第２の電子装置と称することも可能であり、同様に、説明した様々な実装の範囲から乖離することなしに、第２の電子装置は第１の電子装置と称してもよい。この第１の電子装置と第２の電子装置はいずれも電子装置であり、これらは必ずしも同一の電子装置ではない。
【０１０８】
本明細書で説明した種々の実装の記述に使用した用語は、特定の実装を説明することのみを目的としたものであり、限定的であることを意図するものではない。本明細書に使用の“及び／又は”という用語は、関連して列挙された１つ以上の項目のあらゆる可能な組合せを指し、またそれを包含するということも理解されたい。
【０１０９】
また、本明細書で使用の「例示的」という用語は、「実例、事例、又は例証である」ということを意味する。したがって、例示的なユーザインタフェースとは、必ずしも最適の例または理想的な例ではないが、一例となるユーザインタフェースのことである。
【０１１０】
上記の記述は説明の目的で特定の実装を参照して記述した。ただし、上記の説明的な議論は網羅的であることも、請求の範囲を開示した形態そのものに限定することも意図していない。上記の教示の見地から、多くの変更及び変形が可能である。実装例は、特許請求の範囲及びその実際的な適用の基礎となる原理を最もよく説明し、それによって他の当業者が、考えられる具体的な使用に適するように様々な変更を施して本実装を最もよく利用できるように選択した。
【符号の説明】
【０１１１】
１００  電子会議
１０２  クライアント
１０８  通信ネットワーク
２０２  ＣＰＵ
２１４  メモリ
【図１】
2017063416.tif 000003
【図２】
2017063416.tif 000004
【図３Ａ】
2017063416.tif 000005
【図３Ｂ】
2017063416.tif 000006
【図３Ｃ】
2017063416.tif 000007
【図３Ｄ】
2017063416.tif 000008
【図４Ａ】
2017063416.tif 000009
【図４Ｂ】
2017063416.tif 000010
【図４Ｃ】
2017063416.tif 000011
【図４Ｄ】
2017063416.tif 000012
【図４Ｅ】
2017063416.tif 000013
【図４Ｆ】
2017063416.tif 000014
【図４Ｇ】
2017063416.tif 000015
【図４Ｈ】
2017063416.tif 000016
【図４Ｉ】
2017063416.tif 000017
【図５Ａ】
2017063416.tif 000018
【図５Ｂ】
2017063416.tif 000019
【図６Ａ】
2017063416.tif 000020
【図６Ｂ】
2017063416.tif 000021
【図７Ａ】
2017063416.tif 000022
【図７Ｂ】
2017063416.tif 000023
【図８Ａ】
2017063416.tif 000024
【図８Ｂ】
2017063416.tif 000025
【図８Ｃ】
2017063416.tif 000026
【図９】
2017063416.tif 000027