(57)【要約】【解決手段】ネットワーク通信において誤り耐性を制御するための方法が記載される。この方法は、受信側制御部によって、ネットワークを介して通信されるパケットのパケット損失を表すパケットギャップを決定するステップと、受信側制御部によって、パケット損失の少なくとも一つの欠落パケットに対する再送タイムアウトを予想するステップと、受信側制御部によって、少なくとも一つの欠落パケットに対する再送要求を発行するステップと、パケットギャップが再送タイムアウトの第１期間内に満たされない場合、受信側制御部によって、少なくとも一つの同期フレーム要求を発行するステップと、送信側制御部によって、再送要求または少なくとも一つの同期フレーム要求の少なくとも一方に応答するか、再送要求にも少なくとも一つの同期フレーム要求にも応答しないかを選択するステップとを含む。【選択図】図１
2016506206.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによって実行されたとき前記コンピュータにネットワーク通信における誤り耐性を制御するための方法を実行させるコンピュータ実行可能な命令が格納された非一時的なコンピュータ読み取り可能な記憶媒体であって、前記方法は、
受信側制御部によって、ネットワークを介して通信されるパケットのパケット損失を表すパケットギャップを決定するステップと、
前記受信側制御部によって、前記パケット損失の少なくとも一つの欠落パケットに対する再送タイムアウトを予想するステップと、
前記受信側制御部によって、前記少なくとも一つの欠落パケットに対する再送要求を発行するステップと、
前記パケットギャップが前記再送タイムアウトの第１期間内に満たされない場合、前記受信側制御部によって、少なくとも一つの同期フレーム要求を発行するステップと、
送信側制御部によって、前記再送要求または前記少なくとも一つの同期フレーム要求の少なくとも一方に応答するか、前記再送要求にも前記少なくとも一つの同期フレーム要求にも応答しないかを選択するステップとを含む、非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項２】
前記受信側制御部によって、前記少なくとも一つの同期フレーム要求の内の第１同期フレーム要求に対する第２期間を有する第１同期フレームタイムアウトを予想するステップをさらに含む、請求項１に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項３】
前記同期フレームが受信される前に前記第１同期フレームタイムアウトの前記第２期間が経過した場合、前記受信側制御部によって、前記少なくとも一つの同期フレーム要求の内の第２同期フレーム要求を発行するステップと、
前記少なくとも一つの同期フレーム要求の内の前記第２同期フレーム要求に対する第３期間を有する第２同期フレームタイムアウトを予想するステップとをさらに含む、請求項２に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項４】
以前に予想された同期フレームタイムアウトの期間が経過すると、前記パケットギャップが満たされるまで、前記受信側制御部によって、新しい同期フレーム要求を発行し、前記新しい同期フレーム要求に対応する新しい同期フレームタイムアウトを予想し続けるステップをさらに含む、請求項３に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項５】
前記送信側制御部によって、前記再送要求および前記少なくとも一つの同期フレーム要求を監視するステップと、
前記送信側制御部によって、重複した要求を除去するステップとをさらに含む、請求項１に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項６】
前記受信側制御部によって、前記要求および前記要求に対する応答のリアルタイムラウンドトリップタイムに前記タイムアウトを適応させることに少なくとももとづいてタイムアウトを予想するステップをさらに含む、請求項１に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項７】
前記受信側制御部によって、前記パケットギャップの長さにもとづいてタイムアウトを予想するステップをさらに含む、請求項１に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項８】
前記受信側制御部による、前記少なくとも一つの欠落パケットに対する再送要求を発行する前記ステップは、前記受信側制御部によって、前記パケット損失の前記少なくとも一つの欠落パケットを含むすべての欠落パケットを含む前記再送要求を発行する、請求項１に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項９】
ネットワーク通信における誤り耐性を制御するシステムであって、
受信側制御部を含む第１デバイスと、
前記受信側制御部と連携した送信側制御部を含む第２デバイスと、
を含み、
前記受信側制御部は、
ネットワークを介して通信されるパケットのパケット損失を表すパケットギャップを決定するように構成されたパケットギャップ決定部と、
前記パケット損失の少なくとも一つの欠落パケットに対する再送タイムアウトを予想するように構成されたタイムアウト予想部と、
前記少なくとも一つの欠落パケットに対する再送要求を発行するように構成された再送要求発行部と、
前記パケットギャップが前記再送タイムアウトの第１期間内に満たされない場合、少なくとも一つの同期フレーム要求を発行するように構成された同期フレーム要求部とを含み、
前記送信側制御部は、
前記受信側制御部から要求を受信するように構成された要求受信部と、
前記再送要求または前記少なくとも一つの同期フレーム要求の少なくとも一方に応答するか、前記再送要求にも前記少なくとも一つの同期フレーム要求にも応答しないかを選択するように構成された選択部とを含む、システム。
【請求項１０】
前記受信側制御部は、前記少なくとも一つの同期フレーム要求に対するタイムアウトを予想するように構成された同期フレームタイムアウト予想部をさらに含む、請求項９に記載のシステム。
【請求項１１】
前記送信側制御部は、前記再送要求および前記少なくとも一つの同期フレーム要求を監視するように構成された要求監視部をさらに含む、請求項９に記載のシステム。
【請求項１２】
前記送信側制御部は、重複した要求を除去するように構成された要求フィルタ部をさらに含む、請求項１１に記載のシステム。
【請求項１３】
前記受信側制御部は、前記要求および前記要求に対する応答のリアルタイムラウンドトリップタイムを監視するように構成されたリアルタイムラウンドトリップタイム監視部をさらに含む、請求項９に記載のシステム。
【請求項１４】
前記送信側制御部は、前記受信側制御部に少なくとも一つの同期フレームを送信するように構成された同期フレーム送信部をさらに含む、請求項９に記載のシステム。
【請求項１５】
前記送信側制御部は、前記受信側制御部に前記少なくとも一つの欠落パケットを再送するように構成されたパケット再送送信部をさらに含む、請求項９に記載のシステム。
【請求項１６】
前記再送要求は、前記パケット損失の前記少なくとも一つの欠落パケットを含むすべての欠落パケットを含む、請求項９に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
（関連出願の相互参照）
本出願は、２０１３年１月８日に出願された米国特許出願１３／７３６８２２号に関連するものであり、その優先権を主張し、本明細書にその全体が参照により援用される。
【０００２】
ビデオを介したネットワーク上の好適な通信は、エラー破損なくビデオフレームを提供することである。よって、誤り耐性は、エラーを経験するビデオ通話アプリケーションにおいて望ましい機構である。
【発明の概要】
【０００３】
本記述は、誤り耐性制御のための統合された再送・フレーム同期を提示する。さもなければ、ネットワーク通信において誤り耐性を制御するための方法を提示する。この方法は、受信側制御部によって、ネットワークを介して通信されるパケットのパケット損失を表すパケットギャップを決定するステップと、前記受信側制御部によって、前記パケット損失の少なくとも一つの欠落パケットに対する再送タイムアウトを予想するステップと、前記受信側制御部によって、前記少なくとも一つの欠落パケットに対する再送要求を発行するステップと、前記パケットギャップが前記再送タイムアウトの第１期間内に満たされない場合、前記受信側制御部によって、少なくとも一つの同期フレーム要求を発行するステップと、送信側制御部によって、前記再送要求または前記少なくとも一つの同期フレーム要求の少なくとも一方に応答するか、前記再送要求にも前記少なくとも一つの同期フレーム要求にも応答しないかを選択するステップとを含む。
【図面の簡単な説明】
【０００４】
【図１】ある実施の形態による、誤り耐性のための統合された再送・フレーム同期を制御する一例を示す。
【０００５】
【図２Ａ】ある実施の形態による、ネットワーク通信における誤り耐性を制御するためのデバイスを示す。
【図２Ｂ】ある実施の形態による、ネットワーク通信における誤り耐性を制御するためのデバイスを示す。
【０００６】
【図３Ａ】ある実施の形態による、ネットワーク通信における誤り耐性を制御するための方法のフローダイアグラムである。
【図３Ｂ】ある実施の形態による、ネットワーク通信における誤り耐性を制御するための方法のフローダイアグラムである。
【図３Ｃ】ある実施の形態による、ネットワーク通信における誤り耐性を制御するための方法のフローダイアグラムである。
【０００７】
【図４】ある実施の形態にしたがって、ネットワーク通信における誤り耐性を制御するための実施例が動作する例示的なデバイスを示す。
【０００８】
【図５】ある実施の形態にしたがって、ネットワーク通信における誤り耐性を制御するための実施例が動作する例示的なデバイスを示す。
【０００９】
【図６】ある実施の形態にしたがって、ネットワーク通信における誤り耐性を制御するための実施例が動作する例示的なデバイス（例えば、モバイル機器）のブロックダイアグラムを示す。
【００１０】
この説明で参照する図面は、特に指摘した場合を除き、一定の縮尺で描かれたものではないことを理解するべきである。
【発明を実施するための形態】
【００１１】
添付の図面に例が示される様々な実施の形態を参照しながら詳細に説明する。主題は、これらの実施の形態に関連して説明されるが、これらの実施の形態に主題を限定することを意図したものではないことが理解されよう。逆に、本明細書に記載の主題は、その趣旨および範囲内に含まれ得る代替物、修正および均等物を包含することを意図する。さらに、以下の説明において、多数の特定の詳細が主題の完全な理解を提供するために記載される。しかしながら、いくつかの実施の形態をこれらの特定の詳細なしに実施してもよい。他の例において、主題の態様を不必要なほど分かりにくくすることのないよう、周知の構造およびコンポーネントは、詳細には説明されていない。
【００１２】
実施の形態の説明のいくつかの部分は、手順、論理ブロック、処理およびコンピュータメモリ内のデータビットに対する演算の他の記号表現で提示される。これらの説明および表現は、他の当業者に最も効果的に自分たちの仕事の本質を伝えるために、データ処理分野の当業者が使用する手段である。本出願では、手順、論理ブロック、プロセス等は、所望の結果を導くステップまたは命令の首尾一貫したシーケンスであると考えられる。ステップは、物理量の物理的操作を必要とするものである。通常、必ずしも必須ではないが、これらの量は、格納され、転送され、結合され、比較され、さもなければ他のコンピュータ？システムで操作されることの可能な電気または磁気信号の形をとる。
【００１３】
もっとも、これらの用語および類似の用語の全ては適切な物理量に関連付けられ、単にこれらの量に適用される便利なラベルであることに留意すべきである。特に明記しない限り、以下の議論から明らかなように、「判定」、「予想」、「発行」、「選択」、「予想」、「継続」、「監視」、「フィルタリング」などの用語は、コンピュータシステムのレジスタやメモリ内の物理（電子）量として表されるデータを操作し、コンピュータシステムのメモリまたはレジスタまたは他のそのような情報記憶装置、伝送装置または表示装置内の物理量として表される他のデータに変換するコンピュータシステムまたは類似の電子計算装置の動作およびプロセスを指すことが議論通じて理解される。
【００１４】
後述するように、実施の形態は、タイムアウト値を確立しながら、統合された再送信と強制された同期フレーム要求の戦略の組み合わせを利用してネットワーク通信における誤り耐性を制御するための方法を提供する。
【００１５】
以下の説明は、現在の技術水準の説明で始まり、その後、図１を参照しながら動作時における本技術の実施の形態の説明に移動し、その後、図２Ａおよび図２Ｂに示されるように、システムの構造および構成要素を議論する。議論は、動作中のシステムの図３Ａ〜３Ｃのフローダイアグラムと併せた説明で続けられる。議論は、その後、図４、図５、および図６を参照して示されるように、例示的なデバイスに組み込まれた様々な実施の形態の説明に入る。
【００１６】
ビデオ通話における好まれることは、避けられないエラーが発生しても、何らエラー破損なく、そのビデオ通話の完全に正常受信されたビデオフレームが得られることである。そのようにする際、一つのビデオフレームは、符号化されたフレームのサイズに応じて、１つ以上のパケットにパケット化することができる。順方向誤り訂正符号化によるエラー保護方式を採用することを除けば、伝統的には、パケットを再送信するか、エラー伝播を停止してビデオ通話のビデオフローを再開するために同期フレームを要求してもよい。
【００１７】
同期フレームは、ＩＤＲフレーム、または、正常に受信された長期参照を利用するなど、受信側（すなわち同期フレームを受信するデバイス）において既に完全に受信された参照を利用するＰフレームのいずれであってもよい。簡単に言えば、ＭＰＥＧビデオストリームにおいて、Ｉフレームは、完全なフレームである。このＩフレームは、それが適切に再生される前、または、それが適切に再生される後のフレームからの情報を必要としない。ＩＤＲフレームは、ＭＰＥＧ−４  ＡＶＣ符号化に使用される特別な種類のＩフレームである。ＩＤＲフレームに続くフレームは、ＩＤＲフレームの前のフレームに戻って参照することがない。ＩＤＲフレームは、より簡単に編集されたＡＶＣストリームを作成するために利用することができる。ＭＰＥＧビデオストリームでは、Ｐフレームは完全フレームではなく、予測ビデオフレームである。これは、ＰフレームはＩフレームに続くものであり、先行するＩフレームから変更されたデータだけを格納することを意味する。ＩＤＲフレームは、通常、Ｐフレームと比較してはるかに大きいフレームサイズを生成する。したがって、フレーム同期を使用すると、大きなデータフローがすぐにネットワークに注入される事態を招くことがある。
【００１８】
大きなビデオフレームのうち、少量のビデオパケットが失われた場合、パケット再送の方法が考えられる。しかしながら、パケット再送は、余分なエンドツーエンド遅延を発生させる。したがって、誤り耐性制御において発生する課題は、パケット再送と強制された同期フレーム要求をどのように組み合わせるかである。これは、変化するネットワーク条件に適応しなければならない戦略を設計するときに特に明らかになる。
【００１９】
実施の形態は、再送およびフレーム同期のためのタイムアウト値を設定するための新規の設計を利用して、２つの誤り耐性方式の統合制御を提供する。また、この統合制御は受信側と送信側の両方に適用される。このように、実施の形態は、タイムアウト値を設定しながらパケット再送要求と強制された同期フレーム要求を組み合わせる、リアルタイムメディア通信アプリケーションに適用される戦略を提供する。実施の形態は、エンドツーエンド遅延を最適化し、ネットワーク帯域幅の能力を一緒に即座に最大化する。実施の形態はビデオ通話の受信側と送信側の両方に対応することに留意する。
【００２０】
要するに、実施の形態は、失われたビデオパケット毎のギャップを判定する方法を提供する。（議論は実施の形態の説明においてビデオに対処するものであるが、実施の形態はオーディオにも適用できることが理解されるべきであることに留意されたい。）タイムアウトは、欠落ビデオパケット毎に予想される。ギャップがビデオフレームの再送によって指定された時間内に満たされない場合、同期ビデオフレームが発行される。ある実施の形態では、送信側は、ビデオフレーム再送要求と同期ビデオフレーム要求を組み合わせ、どちらに応答するかを決めるか、どちらにも応答しないことを決める。
【００２１】
より具体的には、リアルタイムラウンドトリップタイムが監視され、フィードバックが受信側と送信側の両方の制御コンポーネントに与えられる。受信側でのあらゆるパケットギャップは、パケットの連続した識別番号を分析することによって特定される。
【００２２】
分析時、欠落パケットギャップ長が所定の閾値未満であるときはいつでも、ギャップ内の失われたパケットの全てがパケット再送のために必要とされる。一方、全ての再送パケットは再送タイムアウト制約でマーク付けされる。
【００２３】
パケットギャップが（以前に指定された）再送タイムアウトの前に満たされることができず、完全に受信された同期フレームに続くものではない場合は、フレーム同期要求が発行される。あらゆる同期フレーム要求は、強制される同期フレームタイムアウト制約でマーク付けされる。さらに、あらゆる同期フレーム要求は、直近に受信したフレームのタイムスタンプに関する情報に関連づけられる。
【００２４】
同期フレーム（以下では一例としてビデオを利用するために、特に断りのない限り「同期ビデオフレーム」）が同期ビデオフレームのタイムアウト前に正常に受信できない場合は、別の同期ビデオフレーム要求が発行される。正常な同期ビデオフレームが受信されるか、ビデオパケットギャップのすべてが満たされるまで、別の同期ビデオフレームに対するこれらの一連の要求は、同期ビデオフレームのタイムアウトに達した時に、発行され続ける。同期ビデオフレームのタイムアウトに関する閾値が達したかどうかは、指定されたタイムアウト値によって決定されることに留意する。指定されたタイムアウト値は、ある実施の形態では、継続的な同期ビデオフレームの送信が起こるために達しなければならない値であってもよく、別の実施の形態では、継続的な同期ビデオフレームの送信が起こるために超えなければならない値であってもよい。
【００２５】
すべてのタイムアウト値は、瞬時のネットワークリアルタイムラウンドトリップタイム値に適応することおよび対応するパケットギャップ長を考慮することによって決定される。
【００２６】
送信側制御は、パケット再送要求とフレーム同期要求を監視し、不要または重複した要求を除去することに留意する。
【００２７】
図１は、実施形態に従った、統合された再送・フレーム同期誤り耐性制御を使用して、ネットワーク通信において誤り耐性を制御するための方法を実行する例を説明する。ビデオ送信部１０５は、ネットワーク１１０を介してビデオ受信部１１５にビデオパケット１２０を送信する。送信されるビデオパケット１２０は、ある実施の形態では、ビデオパケットの連続したシーケンス識別番号を含むが、これに限定されるものではない。ビデオ受信部１１５は、受信されるビデオパケット１２０を解析し、存在することを期待するビデオパケット連続シーケンス識別番号が実際にそこにあるかどうかを確認する。ビデオパケット１２０が連続的な様式でラベル付けされていないことをビデオ受信部１１５が発見した場合、ビデオ受信機１１５は、欠落しているビデオパケット識別番号を判定することによって、どのビデオパケットが存在しないことを特定する。このような方法で、ビデオ受信部１１５は、ビデオパケット１２０の伝送にエラーが発生したことを判定し、どのビデオパケットが配信されなかったかを特定する。ビデオパケットと結合された任意のパターンまたは識別手段を利用してもよいことが理解されるべきである。ただし、受信されたビデオパケット１２０をビデオ受信部１１５が分析することができるようにするために、このパターンまたは識別手段がビデオ受信部１１５に伝達される場合に限られる。
【００２８】
実施の形態のサービス品質（ＱｏＳ）誤り耐性制御手順１２５の一部として、ビデオ受信部１１５がビデオパケット１２０の内、未送達ビデオパケットの識別性を判定した後、ビデオ受信部１１５は、ビデオ送信部１０５に欠落したビデオパケットの再送を要求する（すなわち、パケット再送要求１３５がビデオ受信部１１５によってビデオ送信部１０５に送信される）。さらに、全ての再送パケットは、再送タイムアウト制約でマーク付けされる。言い換えれば、タイムアウト値は、ビデオ送信部１０５によってビデオ受信部１１５に再送されるように要求された各ビデオパケットに割り当てられる（または予想される）。再送タイムアウト値は、再送が発生しなければならない期間を表す値であり、その期間が満了すると、ビデオ受信部１１５によってビデオ送信部１０５に発行されるべき少なくとも一つの同期フレーム（例えば第１フレーム同期要求１３０）に対する要求がトリガされる。再送タイムアウト値（ならびに以下に説明する同期フレームタイムアウト値）は、ビデオチャットアプリケーションにもまた対応できる任意の値であってもよい。例えば、タイムアウト値は１／２秒または１００ミリ秒であってもよい。しかし、いくつかの例では、１秒以上のビデオタイムアウトは、長すぎる。なぜなら、このようなタイムアウトはビデオチャットの経験を著しく妨げるからである。
【００２９】
（欠落しているビデオパケットで満たされる必要がある）ビデオパケットギャップが再送タイムアウト値によって定義された期間内に満たされない場合、実施の形態のＱｏＳ誤り耐性制御手順１２５にしたがって、ビデオ受信部１１５は少なくとも一つの同期フレーム要求１３０をビデオ送信部１０５に発行する。第１同期フレーム要求１３０にはまた、第１同期フレームタイムアウト値が割り当てられる。同期フレームタイムアウト値は同期フレーム期間を表す値であり、その期間内に同期フレームが送達されなければならない。同期フレームが配信されずに同期フレーム期間の期限切れが発生すると、ビデオ受信部１１５によってビデオ送信部１０５に発行されるべき（第２同期フレームタイムアウト値を持つ）同期フレームに対する後続の要求がトリガされる。このように、ビデオ受信部１１５が同期フレームを受信することなく、同期フレームが配信されなければならない第１同期フレーム期間が満了すると、ビデオ受信部１１５によって第２同期フレーム要求がビデオ送信部１０５に発行される。第２同期フレーム要求には第２同期フレームタイムアウト値が割り当てられ、同期フレームが配信されずに第２同期フレームタイムアウト値の期限切れが発生すると、ビデオ受信部１１５によってビデオ送信部１０５に発行されるべき同期フレームに対する第３要求がトリガされる。ビデオ受信部１１５によってビデオ送信部１０５に後続の同期フレーム要求を発行するというこのパターンは、あらかじめプログラムされた停止時間まで、および／またはビデオ受信部１１５への完全な同期フレームの配信が起きるまで続く。
【００３０】
実施の形態によれば、ビデオ送信部１０５は、パケット再送要求１３５と同期フレーム要求１３０の受信に応答して、次の選択を行うことが可能になる。すなわち、失われたことが特定されたビデオパケットをビデオ受信部１１５に再送信するか、ビデオ受信部１１５に同期フレームを送信するか、何もしないことを選択する。ビデオ送信部１０５が同期フレーム要求１３０よりも後にパケット再送要求１３５を受信することがあるという状況、またはパケット再送要求１３５または同期フレーム要求１３０を全く受信することがないという状況（例えば、パケット損失の多いネットワーク）に起因してこれらの選択は取り除かれる。
【００３１】
図２Ａおよび２Ｂは、誤り耐性制御のための統合された再送・フレーム同期を可能にするシステムのボックスダイアグラムを示す。図２Ａおよび図２Ｂは、システム２００の実施の形態を示す。システム２００は、少なくとも第１デバイス２０５と第２デバイス２４５を含む。システム２００は、２つを超えるデバイス（図示せず）を含んでもよいことを理解するべきである。第１デバイス２０５と第２デバイス２４５は、ネットワーク通信における誤り耐性を制御するように構成される。図２Ａおよび図２Ｂは、ビデオ会議に参加する第１デバイス２０５と第２デバイス２４５を示す。一般に、ビデオ会議は、２箇所以上の場所から多方向のビデオおよびオーディオの送信を介して同時に対話することができる。
【００３２】
以下の議論では、まず、第１デバイス２０５と第２デバイス２４５の構成要素を説明する。この議論は、第１デバイス２０５と第２デバイス２４５の間でビデオ会議をする期間の第１デバイス２０５と第２デバイス２４５のコンポーネントの機能について説明する。第１デバイス２０５と第２デバイス２４５は、ビデオ会議に参加することができる任意の通信装置（例えば、ラップトップ、デスクトップ、スマートフォン、タブレット、テレビなど）である。様々な実施の形態では、第１デバイス２０５と第２デバイス２４５は、スマートフォン、パーソナルデジタルアシスタント（ＰＤＡ）などのハンドヘルドモバイルデバイスである。第１デバイス２０５と第２デバイス２４５は、同じタイプの通信装置でなくてもよいことを理解するべきである。例えば、第１デバイス２０５はハンドヘルドモバイルフォンである一方、第２デバイス２４５はタブレットであってもよい。
【００３３】
さらに、明瞭かつ簡潔にするために、議論は、図２Ａおよび図２Ｂに示される第１デバイス２０５と第２デバイス２４５の構成要素および機能性に焦点を当てる。もっとも、デバイス２４５はデバイス２０５と同様の方法で動作する。ある実施の形態では、デバイス２４５およびデバイス２０５は同じであり、以下に説明するように、受信側制御部２１０と送信側制御部２５０の両方を含めて、互いに同一の構成要素を含む。
【００３４】
ある実施の形態では、第１デバイス２０５は受信側制御部２１０を含む。受信側制御部２１０は、パケットギャップ決定部２１５、タイムアウト予想部２２０、再送要求発行部２２５、および同期フレーム要求部２３０を含む。様々な実施の形態では、受信側制御部２１０および／または第１デバイス２０５は、必要に応じて、以下のコンポーネント、すなわち、同期フレームタイムアウト予想部２６５、リアルタイムラウンドトリップタイム監視部２７０、および受信側制御部格納部２９６のいずれかを含む。
【００３５】
ある実施の形態では、第２デバイス２４５は、送信側制御部２５０を含む。送信側制御部２５０は、要求受信部２５５および選択部２６０を含む。様々な実施の形態では、送信側制御部２５０および／または第３デバイス２４５は、必要に応じて、要求監視部２７５、同期フレーム送信部２７６、パケット再送送信部２７７、リクエストフィルタ２８０、および送信側制御部格納部２９８を含む。
【００３６】
ある実施の形態では、パケットギャップ決定部２１５はパケットギャップを決定する。パケットギャップは、ネットワークを介して通信されるパケットのパケット損失を表す。ある実施の形態では、タイムアウト予想部２２０がパケット損失の少なくとも一つの欠落パケットに対するタイムアウトを予想する。再送要求発行部２２５は、少なくとも一つの欠落パケットに対する再送要求２３５を発行する。パケットギャップが期間内に満たされない場合、同期フレーム要求部が少なくとも一つの同期フレーム要求２４０を発行する。同期フレームタイムアウト予想部２６５は、少なくとも一つの同期フレーム要求２４０に対するタイムアウトを予想する。リアルタイムラウンドトリップタイム監視部２７０は、再送要求２３５と少なくとも一つの同期フレーム要求２４０を監視する。
【００３７】
要求受信部２５５は、受信側制御部２５０から要求（例えば、再送要求２３５および少なくとも一つの同期フレーム要求２４０）を受信する。選択部２６０は、以下のように、選択的に要求に応答する。すなわち、再送要求２３５に応答するか、少なくとも一つの同期フレーム要求２４０に応答するか、再送要求２３５にも同期フレーム要求２４０にも応答しない。リクエスト監視部２７５は、再送要求２３５および少なくとも一つの同期フレーム要求２４０を監視する。同期フレーム送信部２７６は、受信側制御部２１０に少なくとも一つの同期フレームを送信する。パケット再送送信部２７７は、受信側制御部２１０に少なくとも一つの欠落パケットを再送信する。
【００３８】
要求フィルタ２８０は、重複した要求を取り除く。
【００３９】
なお、第１デバイス２０５および／または第２デバイス２４５は、必要に応じて、以下の（本明細書に記載されるように）のいずれかを含む。すなわち、ディスプレイ、送信部、ビデオカメラ、マイク、スピーカ、命令ストア（保持部）、および全地球測位システム（ＧＰＳ）。
【００４０】
図２Ａおよび図２Ｂを参照すると、第１デバイス２０５と第２デバイス２４５は、実施形態に従って、互いに通信し合う。例えば、様々な実施の形態では、（第１デバイス２０５と第２デバイス２４５を含む）２つを超えるデバイスが相互にビデオ会議に参加する。
【００４１】
図３Ａ〜図３Ｃは、ある実施の形態による、ネットワーク通信における誤り耐性を制御するための方法のフローダイアグラム３００を示す。様々な実施の形態において、方法３００は、コンピュータ読み取り可能でコンピュータ実行可能な命令の制御下で、プロセッサおよび電気コンポーネントにより実行される。コンピュータ読み取り可能でコンピュータ実行可能な命令は、例えば、コンピュータで利用可能な揮発性および不揮発性メモリのようなデータ記憶媒体に存在する。もっとも、コンピュータ読み取り可能でコンピュータ実行可能な命令は、任意のタイプのコンピュータ読み取り可能な記憶媒体に存在してもよい。いくつかの実施の形態において、方法３００は、システム２００および／または第１デバイス２０５と第２デバイス２４５によって実行され、より具体的には、図２Ａおよび２Ｂに記載されるように、システムの受信側制御部２１０と送信側制御部２５０によって実行される。フロー図３Ａ−３Ｃに概説された動作は、特に明記しない限り、任意の順序で実行されてもよいことが理解されるべきである。
【００４２】
図３Ａ〜図３Ｃを参照すると、方法３００の動作３０５において、ある実施の形態では、ここに記載されるように、ネットワークを介して通信されるパケットのパケット損失を表すパケットギャップが受信側制御部によって決定される。動作３１０において、ある実施の形態では、ここで説明されるように、パケットロスの少なくとも一つ欠落パケットに対する再送タイムアウトが受信側制御部により予想される。動作３１５において、少なくとも一つの欠落パケットに対する再送要求が受信側制御部によって発行される。動作３２０において、パケットギャップが、再送タイムアウトの第１期間内に満たされない場合、少なくとも一つの同期フレーム要求が受信側制御部によって発行される。動作３２５において、ある実施の形態において、ここに記載されるように、再送要求または少なくとも一つの同期フレーム要求の少なくともいずれか一方に応答するか、再送要求にも少なくとも一つの同期フレーム要求にもどちらにも応答しないかが、送信側制御部によって選択される。言い換えれば、動作３２５において、実施の形態は、実行されるべき以下の応答のいずれかの選択を提供する。すなわち、再送要求に応答するか、少なくとも一つの同期フレーム要求に応答するか、再送要求にも少なくとも一つの同期フレーム要求にも応答しないかのいずれかである。
【００４３】
動作３３０において、ある実施の形態において、ここに記載されるように、少なくとも一つの同期フレーム要求の内の第１同期フレーム要求に対する第２期間を有する第１同期フレームタイムアウトが受信側制御部によって予想される。動作３３５において、同期フレームが配信される前に第１同期フレームタイムアウトの第２期間が経過した場合、受信側制御部によって、少なくとも一つの同期フレーム要求の内の第２同期フレーム要求が発行される。ある実施の形態において、ここに記載されるように、実施の形態は引き続き、以前に予想された同期フレームタイムアウトの期間が経過すると、受信側制御部によって、新たな同期フレーム要求を発行し、新たな同期フレーム要求に対応する新たな同期フレームタイムアウトを予想し続ける。この継続した新たな同期フレーム要求の発行と新たな同期フレームタイムアウトの予想は、同期フレームが受信されるまで続く。
【００４４】
動作３４０において、ある実施の形態において、ここに記載されるように、実施形態は引き続き、以前に予想された同期フレームタイムアウトの期間が経過したとき、パケットギャップが満たされるまで、受信側制御部によって、新しい同期フレーム要求を発行し、新しい同期フレーム要求に対応する新しい同期フレームタイムアウトを予想し続ける。
【００４５】
動作３４５において、ある実施の形態において、ここに記載されるように、再送要求および少なくとも一つの同期フレーム要求が送信側制御部によって監視される。その後、送信側制御部によって、重複した要求（例えば、複数の再送要求および複数の同期フレーム要求）が除去される。
【００４６】
動作３５０において、ある実施の形態において、ここに記載されるように、受信側制御部によって、要求（例えば、再送要求および同期フレーム要求）およびその要求に対する応答のリアルタイムラウンドトリップタイムにタイムアウトを適応させることに少なくとも基づいてタイムアウトが予想される。
【００４７】
動作３５５において、ある実施の形態において、ここに記載されるように、受信側制御部によって、パケットギャップの長さに基づいてタイムアウトが予想される。動作３６０において、ある実施の形態において、ここに記載されるように、受信側制御部によって、再送要求が発行される。ここで再送要求は、少なくとも一つの欠落パケットを含むすべての欠落パケットを含む。
【００４８】
このように、実施の形態は、ネットワークを介した通信の受信側と送信側の両方を組み込む一方、通信中のエンドツーエンド遅延を最適化し、それと同時に即座にネットワーク帯域幅能力を最大化する。
【００４９】
様々な実施の形態において、方法３００は、コンピュータ読み取り可能でコンピュータ実行可能な命令の制御下で、プロセッサおよび電気コンポーネントにより実行される。コンピュータ読み取り可能でコンピュータ実行可能な命令は、例えば、コンピュータで利用可能な揮発性および不揮発性メモリのようなデータ記憶媒体に存在する。もっとも、コンピュータ読み取り可能でコンピュータ実行可能な命令は、任意のタイプのコンピュータ読み取り可能な記憶媒体に存在してもよい。いくつかの実施の形態において、方法３００は、図２Ａおよび２Ｂに記載されるように第１デバイス２０５および／または第２デバイス２４５によって実行される。
【００５０】
図４および図５は、ビデオ会議に参加するデバイス４００および５００を示す。一般に、ビデオ会議は、２箇所以上の場所から同時に多方向のビデオおよびオーディオの送信を介して対話することができる。
【００５１】
なお、ある実施の形態では、第１デバイス２０５および／または第２デバイス２４５は、図４のデバイス４００に属するものとして説明される構成要素を含む。デバイス４００と５００の間のビデオ会議中のデバイス４００の機能は、図４および図５を参照して説明される。
【００５２】
デバイス４００および５００は、ビデオ会議に参加することができる任意の通信装置（例えば、ラップトップ、デスクトップ、スマートフォン、タブレット、テレビなど）である。様々な実施の形態において、デバイス４００は、スマートフォン、パーソナルデジタルアシスタント（ＰＤＡ）などのハンドヘルドモバイルデバイスである。
【００５３】
明瞭かつ簡潔にするために、議論は、デバイス４００のコンポーネントと機能性に焦点を当てる。もっとも、デバイス５００はデバイス４００と同様の方法で動作する。ある実施の形態では、デバイス５００はデバイス４００と同じであり、デバイス４００と同じ構成要素を含む。
【００５４】
図４〜図６を参照すると、様々な実施の形態において、ここに記載されるように、デバイス４００は受信側制御部２１０と送信側制御部２５０のいずれかと様々に結合される。デバイス４００は、様々な実施の形態において、以下のいずれかのコンポーネント、すなわち、図６に示されるように、ディスプレイ４１０、送信部６４０、ビデオカメラ４５０、マイク６５２、スピーカ６５４、命令ストア（保持部）６２５、および全地球測位システム（ＧＰＳ）６６０のいずれかに結合される。この図は、実施の形態に従って、デバイス４００内の様々な可能性のある（ただし、これらに限定されない）コンポーネントのブロック図である。
【００５５】
ディスプレイ４１０は、デバイス４００で撮影されたビデオを表示するように構成される。別の実施の形態では、ディスプレイ４１０は、さらにデバイス４００で撮影されたビデオを表示するように構成される。
【００５６】
送信機６４０はデータ（例えば制御コード）を送信するためのものである。
【００５７】
ビデオカメラ４５０はデバイス４００でビデオをキャプチャする。マイク４５２はデバイス４００でオーディオをキャプチャする。スピーカ４５４はデバイス４００で可聴信号を生成する。
【００５８】
全地球測位システム（ＧＰＳ）４６０はデバイス４００の位置を判定する。ある実施の形態では、命令ストア（保持部）６２５は、誤り耐性制御のための統合された再送・フレーム同期に関連した情報、たとえば、これらに限定されるものではないが、任意のあらかじめ定義された閾値、パケット情報（たとえばパケットギャップ長、失われたパケット、パケット識別番号）、割り当てられたタイムアウト値、リアルタイムラウンドトリップタイム、および要求（たとえば再送要求、フレーム同期要求）を格納する。別の実施の形態では、（命令ストア６２５に加えてまたはその代わりに）受信側制御部ストア２９６および／または送信側制御部ストア２９８は、誤り耐性制御のための統合された再送・フレーム同期に関連した情報、たとえば、これらに限定されるものではないが、任意のあらかじめ定義された閾値、パケット情報（たとえばパケットギャップ長、失われたパケット、パケット識別番号）、割り当てられたタイムアウト値、リアルタイムラウンドトリップタイム、および要求（たとえば再送要求、フレーム同期要求）を格納する。
【００５９】
図４および図５を参照すると、デバイス４００および５００は、実施の形態に従って、互いにビデオ会議に参加している。様々な実施の形態では、２つを超えるデバイスが互いにビデオ会議に参加する。
【００６０】
ビデオ会議中に、ビデオカメラ５５０は、デバイス５００でビデオをキャプチャする。例えば、ビデオカメラ５５０は、デバイス５００のユーザ５０５のビデオをキャプチャする。
【００６１】
ビデオカメラ４５０は、デバイス４００でビデオをキャプチャする。例えば、ビデオカメラ４５０は、ユーザ４０５のビデオをキャプチャする。ビデオカメラ４５０と５５０は、カメラ４５０および５５０のそれぞれの視野範囲内にある任意のオブジェクトをキャプチャすることができることを理解するべきである。（図５を参照しながら以下の説明を参照されたい。）
【００６２】
マイク（図示せず）は、デバイス４００で撮影されたビデオ信号に対応した音声信号を取り込む。同様に、デバイス５００のマイク（図示せず）は、デバイス５００で撮影されたビデオ信号に対応した音声信号を取り込む。
【００６３】
ある実施の形態では、デバイス５００で撮影されたビデオはデバイス４００のディスプレイ４１０に送信され表示される。例えば、ユーザ５０５のビデオは、ディスプレイ４１０の第１ビュー４１２に表示される。また、ユーザ５０５のビデオは、ディスプレイ５１０の第２ビュー５１４に表示される。
【００６４】
デバイス４００で撮影されたビデオはデバイス５００のディスプレイ５１０に送信され表示される。例えば、ユーザ４０５のビデオは、ディスプレイ５１０の第１ビュー５１２に表示される。また、ユーザ４０５のビデオは、ディスプレイ４１０の第２ビュー４１４に表示される。
【００６５】
ある実施の形態では、デバイス４００および５００でキャプチャされたオーディオ信号は、キャプチャされたビデオに組み込まれる。別の実施の形態では、音声信号は、送信されるビデオとは別に送信される。
【００６６】
図示されるように、第１ビュー４１２はディスプレイ４１０に表示される主要ビューであり、第２ビュー４１４はディスプレイ４１０に表示されるより小さな補助ビューである。様々な実施の形態では、第１ビュー４１２と第２ビュー４１４の両方の大きさは調整可能である。例えば、第２ビュー４１４はプライマリビューになるように拡大することができ、第１ビュー４１２は、補助ビュー（第２ビュー４１４）になるようにサイズを縮小することができる。また、第１ビュー４１２と第２ビュー４１４のビューのいずれかを閉じるか、完全に縮小して表示できないようにすることができる。
【００６７】
図５を参照すると、デバイス５００のユーザ５０５は、ビデオカメラ５５０の視野範囲内にある（彼自身／彼女自身５０５の画像をキャプチャする代わりに）橋５６０の画像をキャプチャしている。橋５６０の画像は、デバイス４００の第２ビュー４１４に表示され、デバイス５００の第１ビュー５１２に表示される。
【００６８】
本明細書の原理、態様、および技術の実施の形態並びにそれらの具体例を列挙するすべてのステートメントは、その構造的な等価物および機能的な等価物の両方を包含することを意図する。さらに、そのような等価物は、現在知られている均等物および将来開発される均等物の両方、すなわち、構造に関わらず、同じ機能を実行する開発された任意の要素を含むことを意図する。したがって、本技術の範囲は、本明細書に図示し説明した実施の形態に限定されるものではない。むしろ、本技術の範囲は、添付の特許請求の範囲によって具体化される。
【００６９】
本明細書に記載された要素、部品およびステップはすべて、好ましくは含まれる。これらの要素、部品およびステップのいずれかは、当業者には明らかであろうように、他の要素、部品およびステップによって置き換えられるか、完全に削除されてもよいことが理解されるべきである。
【００７０】
（コンセプト）
本記載は、少なくとも以下のコンセプトを提示する。
コンセプト１．
コンピュータによって実行されたとき前記コンピュータにネットワーク通信における誤り耐性を制御するための方法を実行させるコンピュータ実行可能な命令が格納された非一時的なコンピュータ読み取り可能な記憶媒体であって、前記方法は、
受信側制御部によって、ネットワークを介して通信されるパケットのパケット損失を表すパケットギャップを決定するステップと、
前記受信側制御部によって、前記パケット損失の少なくとも一つの欠落パケットに対する再送タイムアウトを予想するステップと、
前記受信側制御部によって、前記少なくとも一つの欠落パケットに対する再送要求を発行するステップと、
前記パケットギャップが前記再送タイムアウトの第１期間内に満たされない場合、前記受信側制御部によって、少なくとも一つの同期フレーム要求を発行するステップと、
送信側制御部によって、前記再送要求または前記少なくとも一つの同期フレーム要求の少なくとも一方に応答するか、前記再送要求にも前記少なくとも一つの同期フレーム要求にも応答しないかを選択するステップとを含む、非一時的なコンピュータ読み取り可能な記憶媒体。
コンセプト２．
前記受信側制御部によって、前記少なくとも一つの同期フレーム要求の内の第１同期フレーム要求に対する第２期間を有する第１同期フレームタイムアウトを予想するステップをさらに含む、コンセプト１に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
コンセプト３．
前記同期フレームが受信される前に前記第１同期フレームタイムアウトの前記第２期間が経過した場合、前記受信側制御部によって、前記少なくとも一つの同期フレーム要求の内の第２同期フレーム要求を発行するステップと、
前記少なくとも一つの同期フレーム要求の内の前記第２同期フレーム要求に対する第３期間を有する第２同期フレームタイムアウトを予想するステップとをさらに含む、コンセプト２に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
コンセプト４．
以前に予想された同期フレームタイムアウトの期間が経過すると、前記パケットギャップが満たされるまで、前記受信側制御部によって、新しい同期フレーム要求を発行し、前記新しい同期フレーム要求に対応する新しい同期フレームタイムアウトを予想し続けるステップをさらに含む、コンセプト３に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
コンセプト５．
前記送信側制御部によって、前記再送要求および前記少なくとも一つの同期フレーム要求を監視するステップと、
前記送信側制御部によって、重複した要求を除去するステップとをさらに含む、コンセプト１または３に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
コンセプト６．
前記受信側制御部によって、前記要求および前記要求に対する応答のリアルタイムラウンドトリップタイムに前記タイムアウトを適応させることに少なくとももとづいてタイムアウトを予想するステップをさらに含む、コンセプト１または２に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
コンセプト７．
前記受信側制御部によって、前記パケットギャップの長さにもとづいてタイムアウトを予想するステップをさらに含む、コンセプト１または２に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
コンセプト８．
前記受信側制御部による、前記少なくとも一つの欠落パケットに対する再送要求を発行する前記ステップは、前記受信側制御部によって、前記パケット損失の前記少なくとも一つの欠落パケットを含むすべての欠落パケットを含む前記再送要求を発行する、コンセプト１に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
コンセプト９．
ネットワーク通信における誤り耐性を制御するシステムであって、
受信側制御部を含む第１デバイスと、
前記受信側制御部と連携した送信側制御部を含む第２デバイスと、
を含み、
前記受信側制御部は、
ネットワークを介して通信されるパケットのパケット損失を表すパケットギャップを決定するように構成されたパケットギャップ決定部と、
前記パケット損失の少なくとも一つの欠落パケットに対する再送タイムアウトを予想するように構成されたタイムアウト予想部と、
前記少なくとも一つの欠落パケットに対する再送要求を発行するように構成された再送要求発行部と、
前記パケットギャップが前記再送タイムアウトの第１期間内に満たされない場合、少なくとも一つの同期フレーム要求を発行するように構成された同期フレーム要求部とを含み、
前記送信側制御部は、
前記受信側制御部から要求を受信するように構成された要求受信部と、
前記再送要求または前記少なくとも一つの同期フレーム要求の少なくとも一方に応答するか、前記再送要求にも前記少なくとも一つの同期フレーム要求にも応答しないかを選択するように構成された選択部とを含む、システム。
コンセプト１０．
前記受信側制御部は、前記少なくとも一つの同期フレーム要求に対するタイムアウトを予想するように構成された同期フレームタイムアウト予想部をさらに含む、コンセプト９に記載のシステム。
コンセプト１１．
前記送信側制御部は、前記再送要求および前記少なくとも一つの同期フレーム要求を監視するように構成された要求監視部をさらに含む、コンセプト９または１０に記載のシステム。
コンセプト１２．
前記送信側制御部は、重複した要求を除去するように構成された要求フィルタ部をさらに含む、コンセプト１１に記載のシステム。
コンセプト１３．
前記受信側制御部は、前記要求および前記要求に対する応答のリアルタイムラウンドトリップタイムを監視するように構成されたリアルタイムラウンドトリップタイム監視部をさらに含む、コンセプト９または１０に記載のシステム。
コンセプト１４．
前記送信側制御部は、前記受信側制御部に少なくとも一つの同期フレームを送信するように構成された同期フレーム送信部をさらに含む、コンセプト９または１０に記載のシステム。
コンセプト１５．
前記送信側制御部は、前記受信側制御部に前記少なくとも一つの欠落パケットを再送するように構成されたパケット再送送信部をさらに含む、コンセプト９または１０に記載のシステム。
コンセプト１６．
前記再送要求は、前記パケット損失の前記少なくとも一つの欠落パケットを含むすべての欠落パケットを含む、コンセプト９または１０に記載のシステム。
【図１】
2016506206.tif 000003
【図２Ａ】
2016506206.tif 000004
【図２Ｂ】
2016506206.tif 000005
【図３Ａ】
2016506206.tif 000006
【図３Ｂ】
2016506206.tif 000007
【図３Ｃ】
2016506206.tif 000008
【図４】
2016506206.tif 000009
【図５】
2016506206.tif 000010
【図６】
2016506206.tif 000011
【国際調査報告】
2016506206.tif 000012
2016506206.tif 000013