(57)【要約】本発明において、ビデオストリーミングを実行する電子システムは、ビデオ送信機を含む。前記ビデオ送信機は、ビデオデータを、送信ごとに異なる優先度を有する複数のレイヤのビットストリームパケットに変換する。前記複数のレイヤのビットストリームパケットのうちの下位レイヤを備えたビットストリームパケットは、ビデオ受信機に送信される時に、より高い優先度を有する。【選択図】    図２
2019527943.tif 000002
【特許請求の範囲】
【請求項１】
ビデオストリーミングを実行するシステムであって、
複数のレイヤのビットストリームパケットのうちの下位レイヤであるビットストリームパケットがビデオ受信機に送信される時に、より高い優先度を有するように、ビデオデータを、送信ごとの異なる優先度を有する前記複数のレイヤのビットストリームパケットに変換するビデオ送信機
を含むシステム。
【請求項２】
前記ビデオ送信機は、
前記ビデオデータを複数のレイヤのビデオビットストリームに符号化する適応ビデオエンコーダと、
前記適応ビデオエンコーダから受信された前記複数のレイヤのビデオビットストリームを、前記複数のレイヤのビットストリームパケットに変換し、前記ビデオ受信機と、ネットワーク管理パケットを交換して使用可能なネットワーク帯域幅を推定し、かつ前記適応ビデオエンコーダの前記複数のレイヤのビデオビットストリームの複数の符号化ビットレートを決定するネットワークアダプタと、
前記ビデオ送信機の垂直同期（ｖｓｙｎｃ）時間を記録し、ｖｓｙｎｃパケットを介して前記ｖｓｙｎｃ時間を前記ビデオ受信機に送信する送信（ＴＸ）シンクロナイザと
を含む、請求項１に記載のシステム。
【請求項３】
前記ビデオ送信機は、
前記ビデオデータを受信して、前記ビデオデータを、複数のレイヤのビデオビットストリームに変換する適応ビデオエンコーダと、
前記適応ビデオエンコーダと通信し、パケットマネージャ及びネットワークインタフェースを含むネットワークアダプタであって、前記パケットマネージャは前記適応ビデオエンコーダから受信された前記複数のレイヤのビデオビットストリームから前記複数のレイヤのビットストリームパケットを生成し、かつ前記ビデオ受信機から受信された確認応答パケットに基づいて送信エラーに適応することを前記適応ビデオエンコーダに通知し、前記ネットワークインタフェースはネットワークを介して異なる優先度を有する前記複数のレイヤのビットストリームパケットを前記ビデオ受信機に送信する、ネットワークアダプタと、
前記ビデオ受信機と、１つ以上のｖｓｙｎｃパケットを交換して、前記ビデオ送信機と前記ビデオ受信機との間の時間を同期させる送信（ＴＸ）シンクロナイザと
を含む、請求項１に記載のシステム。
【請求項４】
前記ビデオ受信機は、
前記ビデオ送信機から前記複数のレイヤのビットストリームパケットを受信し、前記ビデオ送信機が送信エラーに適応するように、前記ビデオ送信機に返信されて前記複数のレイヤのビットストリームパケットのうちの１つのビットストリームパケットの受信状態を示す確認応答パケットを生成するネットワークアダプタと、
前記ネットワークアダプタと通信し、前記複数のレイヤのビットストリームパケットを復号化して復号化ビデオデータを生成する適応ビデオデコーダと、
前記ビデオ送信機と、１つ以上のｖｓｙｎｃパケットを交換して、前記ビデオ送信機と前記ビデオ受信機との間の時間を同期させる受信（ＲＸ）シンクロナイザと
を含む、請求項１に記載のシステム。
【請求項５】
前記複数のレイヤのビットストリームパケットは、送信についてより高い優先度を有するベースレイヤのパケットと、送信についてより低い優先度を有するエンハンスメントレイヤのパケットとを含む、請求項１に記載のシステム。
【請求項６】
エラー耐性を向上させたビデオストリーミングの実行を促進する方法であって、
複数のレイヤのビットストリームパケットのうちの下位レイヤであるビットストリームパケットがビデオ受信機に送信される時に、より高い優先度を有するように、前記ビデオ送信機によって、ビデオデータから生成されかつ送信のために優先される前記複数のレイヤのビットストリームパケットを送信することと、
前記ビデオ送信機が大部分の最新の確認応答情報に基づいて、前記ビデオ受信機によって観測されたエラー伝搬を推定するように、前記ビデオ送信機によって、ビットストリームパケットの受信状態を前記ビデオ送信機に通知するために前記ビデオ送信機に送信される確認応答パケットを前記ビデオ受信機から受信することにより、ビデオストリーミング実行に関するエラー耐性を改善することと
を含む方法。
【請求項７】
前記ビデオ送信機によって、前記確認応答パケットから送信エラーを検出した場合は、下位レイヤのパケットがより高い優先度を有するように、前記複数のレイヤのビットストリームパケットのうちの複数のビットストリームパケットを前記ビデオ受信機に再送信することと、
前記ビデオ送信機によって、ビットストリームパケットが古くなったと判断した場合は、前記ビットストリームパケットを廃棄することと、
前記ビデオ送信機によって、ビットストリームパケットが肯定確認応答された場合は、前記ビットストリームパケットを廃棄することと
をさらに含む、請求項６に記載の方法。
【請求項８】
前記ビデオ受信機とネットワーク管理パケットを交換することにより、前記ビデオ送信機によって、前記複数のレイヤのビットストリームパケットを送信するための、かつ最小ネットワーク帯域幅及び平均ネットワーク帯域幅を含む、使用可能なネットワーク帯域幅を決定することと、
ベースレイヤのビットレートが前記最小ネットワーク帯域幅より小さいという条件、又は、合計の符号化ビットレートが前記平均ネットワーク帯域幅より小さいという条件の少なくとも一方を満たすように、前記ビデオ送信機の適応ビデオエンコーダに関する複数の符号化ビットレートを、前記ビデオ送信機によって、前記使用可能なネットワーク帯域幅に基づいて、決定することにより、信頼性及びレイテンシを改善することと
をさらに含む、請求項６に記載の方法。
【請求項９】
前記複数のレイヤのビットストリームパケットを前記ビデオ送信機の１つ以上のパケットバッファに記憶して、バッファリングされたビットストリームパケットを取得することと、
同じレイヤのバッファリングされたビットストリームパケットを同じキューに入れるように、前記バッファリングされたビットストリームパケットを複数のキューにグループ化することと、
各バッファリングされたビットストリームパケットに対して表示期限を割り当てることと、
最下位レイヤのビットストリームパケットに関連付けられたキューから最上位レイヤのビットストリームパケットに関連付けられたキューにスキャンすることと、
少なくとも１つの適格なバッファリングされたビットストリームパケットを有する第１のキューを決定することと、
前記第１のキューから、送信について最も早い送信期限を備えた適格なバッファリングされたビットストリームパケットを選択することと
をさらに含む、請求項６に記載の方法。
【請求項１０】
前記ビデオ送信機によって、よりロバストな変調方式を前記複数のレイヤのビットストリームパケットのうちの下位レイヤに適用することと、
前記ビデオ送信機によって、前記複数のレイヤのビットストリームパケットのうちの前記下位レイヤに、より長い前方誤り訂正符号を適用することと、
前記ビデオ送信機によって、前記複数のレイヤのビットストリームパケットのうちの前記下位レイヤに、より短いパケット長を選択することと、
前記下位レイヤがより良いネットワークサービスを得るように、前記ビデオ送信機によって、前記複数のレイヤのビットストリームパケットのうちの前記下位レイヤにサービス品質タグを割り当てることと
をさらに含む、請求項６に記載の方法。
【請求項１１】
ビデオストリーミングを改善する装置であって、
ビデオ送信機から複数のレイヤのビットストリームパケットを受信し、前記複数のレイヤのビットストリームパケットの各ビットストリームパケットから少なくとも１つの低レベルパケットを生成し、かつ１つ以上の通信チャネルを選択して前記少なくとも１つの低レベルパケットを送信するパケットアービタと、
前記チャネルアービタと通信する少なくとも１つのネットワーク送信インタフェースと、
前記チャネルアービタ及び前記少なくとも１つのネットワーク送信インタフェースと通信し、かつ前記ビデオ送信機から受信されたパケットサービスクラス構成情報と前記少なくとも１つのネットワーク送信インタフェースから受信されたチャネル状態統計情報とに基づいて、前記パケットアービタのための指示を生成するチャネルマネージャと
を含む送信サブシステムを含む適応通信デバイスを含む、装置。
【請求項１２】
前記適応通信デバイスは、前記送信サブシステムと通信する受信サブシステムをさらに含み、前記受信サブシステムは、
前記送信サブシステムから前記少なくとも１つの低レベルパケットを受信する少なくとも１つのネットワーク受信インタフェースと、
前記少なくとも１つのネットワーク受信インタフェースを介して前記少なくとも１つの低レベルパケットを受信し、前記少なくとも１つの低レベルパケットからの前記複数のレイヤのビットストリームパケットに存在する元のビットストリームパケットを生成し、かつ前記元のビットストリームパケットをビデオ受信機に送信するパケット再生装置と、
を含む、請求項１１に記載の装置。
【請求項１３】
少なくとも１つのネットワークインタフェースを含む他の適応通信デバイスであって、前記適応通信デバイスから前記少なくとも１つの低レベルパケットを受信し、前記低レベルパケットを前記複数のレイヤのビットストリームパケットに存在する元のビットストリームパケットに再構成するように、少なくとも１つの通信チャネルを提供する他の適応通信デバイスをさらに含む、請求項１１に記載の装置。
【請求項１４】
異なるサービスクラスのパケットの信頼性及びデータレートを最適化する適応通信デバイスによって実行される方法であって、
前記適応通信デバイスは、
少なくとも１つのネットワーク送信インタフェースを含み、ホストパケットの前記サービスクラス及び観測されたチャネル状態統計情報に応じて、前記データレート及び信頼性を最適化する少なくとも１つの低レベルパケットを生成し、１つ以上の通信チャネルを選択して前記少なくとも１つの低レベルパケットを送信する送信サブシステムと、
前記送信サブシステムと通信し、パケット再生装置及び少なくとも１つのネットワーク受信インタフェースを含む受信サブシステムであって、前記少なくとも1つのネットワーク受信インタフェースが、前記少なくとも１つの低レベルパケットを受信して前記少なくとも１つの低レベルパケットを前記パケット再生装置に転送し、前記パケット再生装置が元のホストパケットを生成する受信サブシステムと
を含む方法。
【請求項１５】
前記適応通信デバイスによって、シーケンス番号を各低レベルパケットと関連付けることと、
前記適応通信デバイスによって、各コピーが同じシーケンス番号を有する前記各低レベルパケットの１つ以上のコピーを複製することと、
前記適応通信デバイスによって、前記各低レベルパケットの前記１つ以上のコピーの各コピー及び前記シーケンス番号を送信するパケットサービス要件を最適に満たす複数の通信チャネルを選択することと
をさらに含む、請求項１４に記載の方法。
【請求項１６】
より高いデータ送信レートをサポートする第１の通信チャネルと、より低いパケットエラーレートを備えたロバストなデータ送信をサポートする第２の通信チャネルとを有する前記適応通信デバイスによって、低レベルパケットを生成する最適なパラメータセットを決定することをさらに含む、請求項１４に記載の方法。
【請求項１７】
第１のネットワークインタフェース及び第２のネットワークインタフェースを含む複数のネットワークインタフェースを備えた前記適応通信デバイスを提供することと、
前記複数のネットワークインタフェースのうちの前記第１のネットワークインタフェースを用いて、通信チャネルを介して、前記適応通信デバイスによって生成された低レベルパケットを第２のデバイスに送信することと、
前記複数のネットワークインタフェースのうちの前記第１のネットワークインタフェースとは異なる前記第２のネットワークインタフェースを用いて、チャネル状態に応じて、前記低レベルパケットを送信する他の通信チャネルに切り替えることと、
前記第１のネットワークインタフェース及び前記第２のネットワークインタフェースを用いて、切り替え後の前記他の通信チャネルを介して、前記低レベルパケットを送信することと
をさらに含む、請求項１４に記載の方法。
【請求項１８】
信頼性を改善したビデオストリーミングを実行する電子システムによって実行される適応符号化方法であって、
再構成されたベースレイヤのデータを取得するために、前記電子システム内のベースレイヤエンコーダによって、ビデオソースから受信されたビデオデータを符号化することと、
再構成されたエンハンスメントレイヤのデータを取得するために、前記電子システム内のエンハンスメントレイヤエンコーダによって、前記ビデオデータを符号化することと、
基準フレームを再構成する時に、前記電子システムによって、前記再構成されたエンハンスメントレイヤのデータを使用して前記再構成されたベースレイヤのデータと組み合わせるか否かを決定することと
を含む、適応符号化方法。
【請求項１９】
復号化されたベースレイヤのデータを取得するために、前記電子システム内のベースレイヤデコーダによって、ベースレイヤのビデオビットストリームを復号化することと、
復号化されたエンハンスメントレイヤのデータを取得するために、前記電子システム内のエンハンスメントレイヤデコーダによって、エンハンスメントレイヤのビデオビットストリームを復号化することと、
復号化フレームを生成する時に、前記電子システムによって、復号化エラーフラグに従って、前記復号化されたエンハンスメントレイヤのデータを使用して前記復号化されたベースレイヤのデータと組み合わせるか否かを決定することと
をさらに含む、請求項１８に記載の適応符号化方法。
【請求項２０】
エンハンスメントレイヤのビデオビットストリームと比較して送信についてより高い優先度を有するベースレイヤのビデオビットストリームと、前記エンハンスメントレイヤのビデオビットストリームとを含む、複数のレイヤのビットストリームパケットを、前記電子システム内デコーダによって受信することと、
復号化されたベースレイヤのデータを取得するために、前記デコーダによって、前記ベースレイヤのビデオビットストリームを復号化することと、
復号化されたエンハンスメントレイヤのデータを取得するために、前記デコーダによって、前記エンハンスメントレイヤのビデオビットストリームを復号化することと、
前記デコーダによって、復号化エラービットに応じて、前記復号化されたベースレイヤのデータと前記復号化されたエンハンスメントレイヤのデータを組み合わせて復号化フレームを生成することにより、ビデオストリーミングの信頼性を改善することと
をさらに含む、請求項１８に記載の適応符号化方法。
【請求項２１】
レイテンシを改善したビデオストリーミングの実行を促進する方法であって、
ビデオ送信機からビデオ受信機へビデオデータを送信する時に、前記ビデオ送信機と前記ビデオ受信機との間のｖｓｙｎｃパケットの交換を介して、ビデオ出力インタフェースの垂直同期（ｖｓｙｎｃ）タイミングをビデオ入力インタフェースの垂直同期（ｖｓｙｎｃ）タイミングと同期させることにより、ビデオストリーミングのレイテンシを改善することを含む方法。
【請求項２２】
前記ビデオ受信機によって、ｖｓｙｎｃ信号の２つの連続するｖｓｙｎｃ立ち上がりエッジ間の予測時間間隔を受信することと、
前記ビデオ受信機によって、次のｖｓｙｎｃ信号の時間を初期化することと、
前記ビデオ受信機によって、各クロックサイクルにおいて、最新のビデオ送信機ｖｓｙｎｃ時間を搬送する新しいｖｓｙｎｃパケットが受信されたか否かをチェックすることと、
前記ビデオ受信機によって、前記ビデオ出力インタフェースの前記ｖｓｙｎｃ時間を更新することにより、レイテンシを改善することと
をさらに含む、請求項２１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオ処理に関し、より具体的には、ビデオストリーミングを実行する方法及びシステムに関する。
【背景技術】
【０００２】
ストリーミングビデオ又はストリーミングメディアは、プロバイダによって配信されるとともに、エンドユーザ又はクライアントによって常に受信され、エンドユーザ又はクライアントに提示されるビデオ又はメディアである。インターネットを介してビデオデータを符号化し送信することができる。閲覧のためにファイル全体をダウンロードすることを待つ必要がなく、電子デバイスは、データストリームが送信されるとともにデータストリームにアクセスすることにより、ビデオ画像及びオーディオ信号を再生することができる。ストリーミング技術は、遠隔会議、スポーツイベント、ラジオ放送、テレビ放送などにおいて特に有利である。
【０００３】
ビデオストリーミングなどのビデオ処理において技術的ニーズ及び工業用途を推進することを支援する新しい方法及びシステムが望ましい。
【発明の概要】
【０００４】
１つの例示的な実施形態は、ビデオストリーミングを実行する電子システム又はコンピュータシステムである。前記システムは、ビデオデータを、送信ごとに異なる優先度を有する複数のレイヤのビットストリームパケットに変換するビデオ送信機を含む。前記複数のレイヤのビットストリームパケットのうちの下位レイヤを備えたビットストリームパケットは、ビデオ受信機に送信される時に、より高い優先度を有する。
【０００５】
他の例示的な実施形態が本明細書で説明される。
【図面の簡単な説明】
【０００６】
【図１】図１は、１つの例示的な実施形態に係るビデオストリーミングを実行するシステムを示す。
【図２】図２は、１つの例示的な実施形態に係るビデオ送信機を示す。
【図３】図３は、１つの例示的な実施形態に係るビデオ受信機を示す。
【図４】図４は、１つの例示的な実施形態に係るビデオ送信機のネットワークアダプタを示す。
【図５】図５は、１つの例示的な実施形態に係る適応符号化方法を示す。
【図６】図６は、１つの例示的な実施形態に係る適応符号化方式を示す。
【図７Ａ】図７Ａは、１つの例示的な実施形態に係る適応復号化方式を示す。
【図７Ｂ】図７Ｂは、他の例示的な実施形態に係る適応復号化方式を示す。
【図８】図８は、１つの例示的な実施形態に従って、ビデオストリーミングを実行する適応通信デバイスを組み込んだ電子システム又はコンピュータシステムを示す。
【図９】図９は、１つの例示的な実施形態に従って、２つの適応通信デバイスがパケット送信のためにどのように通信するかを示すグラフを示す。
【図１０】図１０は、１つの例示的な実施形態に係るビデオストリーミングを実行する装置を示す。
【図１１】図１１は、１つの例示的な実施形態に係る適応通信デバイスの受信サブシステムを示す。
【図１２】図１２は、１つの例示的な実施形態に従って、複数のチャネルを介した低レベルパケットの配信を示すグラフを示す。
【図１３】図１３は、１つの例示的な実施形態に係るビデオストリーミングを実行する方法を示す。
【図１４】図１４は、他の例示的な実施形態に係るビデオストリーミングを実行する方法を示す。
【発明を実施するための形態】
【０００７】
例示的な実施形態は、ビデオ関連の技術及び用途の分野において、ビデオ処理性能を改善するために、従来とは違う方法でビデオストリーミングを実行する新しい方法及びシステムに関する。
【０００８】
ビデオストリーミング、特にネットワークを介したリアルタイムビデオストリーミングは、低遅延又は低レイテンシ、高いビデオ品質及び高い信頼性を必要とする。良好な性能にとっての１つの大きな弊害は、物理チャネルの変動する動作条件である。ネットワーク帯域幅が突然低下する又は高いパケットエラーレート（ＰＥＲ）がある場合に、ビデオストリーミングシステムはパケット損失に適応し、データレートを低減することが望ましい。一方、ビデオ品質の劣化は目立たないことが期待され、圧縮アーチファクトが存在してはならない。前記ビデオの再生は、スタッタリングなくスムーズであることが期待される。リアルタイムビデオストリーミングは、チャネル状態の変動又は変化の下で、少ないレイテンシ及び視覚無損失の品質を可能にするために、より正確なビデオビットレート制御及びエラー耐性を必要とする。
【０００９】
従来のビデオストリーミングの方式は、様々な態様において問題がある。例えば、複数の従来の方式における１つの欠点は、ネットワークストリーミングのリアルタイム要件を考慮しないため、パケット損失に起因するエラー伝搬の問題を有することである。従来の方式は、いくつかの視覚的アーチファクトを残さずにエラーを隠すことに不十分である。他の欠点例として、従来の方式は、通信チャネルの使用可能なデータレートの連続的な変化に効果的に適応できないため、ゲームストリーミング及びビデオ会議のような用途の要件（例えば、レイテンシ、信頼性）を満たすことができない。さらに、従来の方式は、データパケットの保護が不十分であることにより、ビデオストリーミングに必要なロバスト性が不十分である。
【００１０】
例示的な実施形態は、ビデオストリーミングのための従来の方式に関連する１つ以上の上記技術的問題を解決する。例示的な実施形態は、様々な態様におけるビデオストリーミングの性能を改善する新しい方法及びシステムにおいて技術的解決手段を提供する。例示的な実施形態は、ビデオ関連技術に有利な従来とは異なる方法で動作する新しい技術的解決手段を提供することにより、ビデオストリーミングを実行するときに、改善されたレイテンシ、信頼性、ロバスト性及び画像品質などの改善された性能を達成する。
【００１１】
例示的な実施形態は、生のビデオ又はビデオデータを送信用の複数のレイヤのビットストリームパケットに変換するビデオストリーミングシステムを含む。パケットのスケジューリング、変調、パケット長の選択などに関連するビデオパケットの異なるレイヤでは、異なるポリシーが採用される。例示的なシステムは、より確実な方法で上位レイヤのパケットを送信し、より高いデータレートの方法で下位レイヤのパケットを送信することにより、不等なビデオストリーミングを実行する。各レイヤのビットストリームは、前記ストリーミングされたビデオに異なる影響を与える。例えば、１つの例示的な電子システムは、復号化されるビデオストリームに必要な最下位レイヤの送信を保証し、一方、できるだけ多くの上位レイヤのパケットを送信することにより、信頼性及び画像品質を改善する。
【００１２】
１つ以上の例示的な実施形態は、パケット受信状態を示す確認応答パケットを用いて、信頼性及びロバスト性を改善し、これにより、送信エラーが適応され、エラー耐性が改善される。一例として、例示的な実施形態は、送信失敗を検出した場合に、より高い優先度を有する上位ビデオパケットを再送信し、またビデオパケットが肯定確認応答されるか又は古くなった場合に、前記ビデオパケットを廃棄する。
【００１３】
例示的な実施形態は、より高い信頼性のチャネルを使用して上位パケットを送信し、かつより高いデータレートのチャネルを使用して下位パケットを送信することにより、ビデオストリーミングの実行を改善するために組み込まれ使用される１つ以上の適応通信デバイスを含む。一例として、適応通信デバイスは、少なくとも１つの通信チャネルを提供する少なくとも１つのネットワークインタフェースを含む。送信されるビデオパケットのサービス要件を識別した後、前記適応通信デバイスは、どのようにビデオパケットを少なくとも１つの低レベルパケットに変換するかを決定し、送信に最良の１つ以上のチャネルを選択する。前記低レベルパケットを、例えば、１つ以上のチャネルを介して他の適応通信デバイスによって受信して、元のビデオパケットを再生することができる。
【００１４】
１つ以上の例示的な実施形態は、それぞれエラー耐性符号化方法とエラー耐性復号化方法を使用して、ビデオフレームのブロックレベル適応符号化と適応復号化を実行する。これらの例のいくつかでは、ビットストリームパケットの前記受信状態に応じて、ビデオ受信機は、上位レイヤのビットストリームを使用して各画像ブロックを復号化するか否かを適応的に決定する。ビデオ受信機は、確認応答パケットを前記ビデオ送信機に返信して、各ビットストリームパックの前記受信を通知する。前記ビデオ送信機の適応ビデオエンコーダは、最新の確認応答情報に基づいて、前記ビデオ受信機によって観測された前記エラー伝搬を推定する。前記ビデオ送信機は、推定された復号化エラーフラグに基づいて前記基準フレーム再構成を決定し、ひいては、前記適応ビデオエンコーダの基準フレームと前記ビデオ受信機の適応ビデオデコーダの前記復号化フレームとの間の不一致を排除し、信頼性、ロバスト性及び画像品質などの性能を改善する。
【００１５】
１つ以上の例示的な実施形態は、従来とは異なる方式を提供することによりレイテンシを低減して、同期を容易にする。一例として、前記ビデオ受信機は、ソースビデオ入力インタフェースの推定されたｖｓｙｎｃタイミングに基づいて、ビデオ出力インタフェースの垂直同期（ｖｓｙｎｃ）信号のタイミングを制御し、これにより、前記ビデオ入力インタフェース及び出力インタフェースの２つのクロックの非同期特性に起因する表示レイテンシを低減する。
【００１６】
図１は、１つの例示的な実施形態に係るビデオストリーミングを実行するシステム１００を示す。
【００１７】
図示されるように、前記システム１００は、１つ以上のネットワークを介してビデオ受信機１５０と通信するビデオ送信機１１０を含む。前記システム１００は、従来の方式の１つ以上の欠陥を克服することにより、改善された性能を備えたビデオストリーミングを実行する。
【００１８】
例として、ビデオ送信機１１０は、ビデオデータを、送信ごとに異なる優先度を有する複数のレイヤのビットストリームパケットに変換又は変形し、これにより、前記複数のレイヤのビットストリームパケットのうちの下位レイヤであるビットストリームパケットが前記ビデオ受信機１５０に送信される時に、より高い優先度を有する。
【００１９】
例として、前記ビデオ送信機１１０は、不等なビデオストリーミングを実行することにより、高い信頼性及び少ないレイテンシを備えたビデオストリーミングを可能にする。「不等」とは、異なるレイヤのビットストリームパケットが送信ごとに異なるように優先され、処理されることを指す。説明のために、前記ビデオ送信機１１０は、異なるタイプの異なる重要度のビットストリームパケット又はビデオパケットを生成し、残余の帯域幅を利用して低い優先度を有する重要度の低いビデオパケットを送信するとともに、重要度の高いビデオパケットを送信することに重点を置く。送信エラーが検出された場合（例えば、ビデオパケットが前記ビデオ受信機１５０によって成功して受信されていない場合）に、前記ビデオ送信機１１０は、より高い優先度を有する重要度の高いビデオパケットを再送信する。様々な通信プロトコルを使用して、データ又はパケット送信を管理することができる。一例として、トランスミッションコントロールプロトコル（ＴＣＰ）などのコネクション型プロトコルが採用される。
【００２０】
１つの例示的な実施形態では、前記ビデオ送信機１１０は、ビデオカメラなどのビデオソースデバイスに接続され、生ビデオ出力インタフェースなどのインタフェースを介してビデオデータ又は生ビデオを受信する。「生ビデオ」とは、さらに処理（例えば、圧縮）される前に、ビデオソースデバイスによってキャプチャ、保存、または出力されるビデオデータを指す。前記生ビデオは、例えば、ＹＵＶ又はＲＧＢ（赤、緑、青）フォーマットにすることができる。前記生ビデオは、復号化及び表示のために前記ビデオ受信機１５０に送信される前に処理（例えば、圧縮又は符号化）される。前記ビデオ送信機１１０は、前記ビデオデータを、複数のレイヤを備えた圧縮又は符号化ビデオビットストリームに符号化し、圧縮又は符号化ビデオビットストリームは、１つ以上の有線又は無線線ネットワークを介した送信のための複数のレイヤのビットストリームパケットにさらに変換される。
【００２１】
一例として、前記ビデオ送信機１１０と前記ビデオソースデバイスは、スタンドアロンビデオ送信ボックスと前記ビデオ送信ボックスが特別に設計されたブルーレイプレーヤなどの２つの別個のデバイスである。他の例として、前記ビデオ送信機１１０と前記ビデオソースデバイスは、両方の機能を実現する単一のデバイス、例えば特別に設計された一体化されたビデオ送信機モジュールを備えたラップトップとして統合される。
【００２２】
１つの例示的な実施形態では、前記ビデオ受信機１５０は、テレビ（ＴＶ）などのシンクディスプレイデバイスに接続される。前記ビデオ受信機１５０は、受信されたビットストリームパケットを復号化し、ビデオ出力インタフェースなどのインタフェースを介してシンクディスプレイデバイスに復号化されたビデオを送信する。
【００２３】
一例として、前記ビデオ受信機１５０と前記シンクディスプレイデバイスは、スタンドアロンビデオ受信機ボックスと前記ビデオ受信機ボックスが特別に設計されたＴＶなどの２つの別個のデバイスである。他の例として、前記ビデオ受信機１５０と前記シンクディスプレイデバイスは、両方の機能を実現する単一のデバイス、例えば特別に設計されたビデオ受信機モジュールを備えた有機発光ダイオード（ＯＬＥＤ）ヘッドマウントディスプレイとして統合される。
【００２４】
１つの例示的な実施形態では、ビデオデータが前記ビデオ送信機１１０から前記ビデオ受信機１５０に送信される時に、前記ビデオ送信機１１０と前記ビデオ受信機１５０との間の垂直同期（ｖｓｙｎｃ）タイミングがｖｓｙｎｃパケットの交換により同期され、これにより、レイテンシを低減し、ビデオストリーミングの性能を改善する。
【００２５】
図２は、１つの例示的な実施形態に係るビデオ送信機２１０を示す。図示されるように、前記ビデオ送信機２１０は、適応ビデオエンコーダ２１２と、ネットワークアダプタ２１４と、送信（ＴＸ）シンクロナイザ２１６とを含む。
【００２６】
例として、前記適応ビデオエンコーダ２１２は、ビデオデータを複数のレイヤのビデオビットストリームに符号化する。前記ネットワークアダプタ２１４は、前記適応ビデオエンコーダ２１２から受信された前記複数のレイヤのビデオビットストリームを送信ごとに異なる優先度を有する前記複数のレイヤのビットストリームパケットに変換し、ビデオ受信機とネットワーク管理パケットを交換して使用可能なネットワーク帯域幅を推定し、かつ前記適応ビデオエンコーダ２１２の前記複数のレイヤのビデオビットストリームの複数の符号化ビットレートを決定する。前記ＴＸシンクロナイザ２１６は、生ビデオ入力の垂直同期（ｖｓｙｎｃ）時間を記録し、ｖｓｙｎｃパケットを介して前記ｖｓｙｎｃ時間を前記ビデオ受信機に送信する。
【００２７】
１つの例示的な実施形態では、前記適応ビデオエンコーダ２１２は、スケーラブルビデオコーディング（ＳＶＣ）などの１つ以上の符号化アルゴリズムを使用して、ビデオソースデバイスから生ビデオ又はビデオデータ２２１を受信し、次に前記ビデオデータ２２１を圧縮して、複数のレイヤのビデオストリーム（マルチレイヤのビットストリームとも呼ばれる）を生成する。例えば、前記複数のレイヤのビデオビットストリームは、最下位レイヤとしてのベースレイヤと、上位レイヤとしての１つ以上のエンハンスメントレイヤとを含む。前記ベースレイヤは、復号化されるビデオストリームに必要であり、かつビデオストリーム又は画像品質に最大の影響を与える。前記エンハンスメントレイヤは、ストリーム品質を改善するために用いられる。例として、送信目的のために、ベースレイヤのビットストリームをベースレイヤのビットストリームパケットに符号化し、エンハンスメントレイヤのビットストリームをエンハンスメントレイヤのビットストリームパケットに符号化する。下位レイヤのビットストリームパケットは画像品質に対してより高い影響を与えるため、送信についてより高い優先度が割り当てられる。
【００２８】
１つの例示的実施形態では、前記適応ビデオエンコーダ２１２は、複数のレイヤのビデオビットストリーム２２２（例えば、ベースレイヤのビットストリーム及び／又はエンハンスメントレイヤのビットストリーム）を前記ネットワークアダプタ２１４に転送して、さらに処理する。他の例実施形態では、前記適応ビデオエンコーダ２１２は、前記ネットワークアダプタ２１４を介してネットワークからデータ２２３（例えば、確認応答パケット、ビットレート推定情報）を受信する。一例として、確認応答パケットは、肯定確認応答又は否定確認応答である。肯定確認応答を受信する（すなわち、肯定確認応答する）場合に、ビットストリームパケットが前記ビデオ受信機によって正しく受信されることを示す。否定確認応答を受信する（すなわち、否定確認応答する）場合に、ビットストリームパケットが前記ビデオ受信機によって受信されていないことを示す。いくつかの例では、確認応答パケットは所定の期間内に、前記適応ビデオエンコーダ２１２によって受信されていない。所定の時間内の肯定確認応答、否定確認応答及び／又は確認応答パケットの欠如に基づいて、前記適応ビデオエンコーダ２１２は、破損したビデオビットストリームに適応する。本明細書で使用されるように、破損したビデオビットストリームは、１つ以上のビットが紛失するか又は破損するビットストリームを指す。
【００２９】
例として、前記ネットワークアダプタ２１４は、前記適応ビデオエンコーダ２１２から複数のレイヤのビデオビットストリーム２２２を受信し、ビットストリームを送信のための複数のパケットに入れる。例えば、前記ネットワークアダプタ２１４が各ビットストリームのレイヤを認識するため、前記ネットワークアダプタ２１４は、パケットスケジューリング、変調、パケット長選択および異なるレイヤのパケットの廃棄に異なるポリシーを採用する。したがって、下位レイヤに属する重要度の高いビットストリームパケット（例えば、ベースレイヤのパケット）は、重要度の低いビットストリームパケットに比べて、ビデオ受信機に送信される確率が高い。
【００３０】
１つの例示的な実施形態では、前記ネットワークアダプタ２１４は、ネットワークを介してデータ又はフィードバック２２５（例えば、確認応答パケット、他のネットワーク管理パケット）を受信し、次に確認応答状態を前記適応ビデオエンコーダ２１２に転送する。例として、所定の時間内に否定確認応答が受信されるか又は肯定確認応答が受信されていない場合に、前記ネットワークアダプタ２１４は、高い優先度を有する前記重要度の高いパケットを再送信して、信頼性及びエラー耐性を改善する。他の例示的な実施形態では、前記ネットワークアダプタ２１４は、チャネルビットレートの推定を周期的に実行し、使用可能な最新のビットレートを前記適応ビデオエンコーダ２２１に通知する。
【００３１】
例として、前記ＴＸシンクロナイザ２１６は、前記ビデオ送信機２１０の現行の送信機システム時間を示すタイマカウンタを追跡する。例えば、前記カウンタは各送信機システムサイクルで更新することにより、前記ビデオ送信機２１０の内部に埋め込まれた結晶によって前記送信機システムサイクルを決定する。前記ビデオ送信機２１０は、ｖｓｙｎｃ信号の立ち上がり時間を周期的に記録し、前記ｖｓｙｎｃ信号の立ち上がり時間は、前記ビデオ送信機２１０がビデオソースデバイスから入力されたビデオのｖｓｙｎｃ信号２２６の立ち上がりエッジを検出する場合に、前記タイマカウンタによって報告された前記カウンタの値である。
【００３２】
１つの例示的な実施形態では、前記ＴＸシンクロナイザ２１６は、ｖｓｙｎｃパケット２２７を介してｖｓｙｎｃ時間を前記ビデオ受信機（例えば、図１に示される前記ビデオ受信機１５０）の受信（ＲＸ）シンクロナイザに周期的に送信し、これにより、前記ＲＸシンクロナイザは、実際の送信機システム時間に非常に近い推定された送信機システム時間を記憶し更新する。例として、前記ＴＸシンクロナイザ２１６は、推定された受信機システム時間２２８を受信して、パケット期限が過ぎ、対応するパケットが古くなったか否かを判断する。
【００３３】
図３は、１つの例示的な実施形態に係るビデオ受信機３５０を示す。図示されるように、前記ビデオ受信機３５０は、ネットワークアダプタ３５２と、適応ビデオデコーダ３５４と、ＲＸシンクロナイザ３５６とを含む。
【００３４】
例として、前記ネットワークアダプタ３５２は、複数のレイヤのビットストリームパケットをビデオ送信機（例えば、図１に示される前記ビデオ送信機１１０と図２に示される前記ビデオ送信機２１０）から受信し、前記ビデオ送信機に返信されて前記複数のレイヤのビットストリームパケットのうちの１つのビットストリームパケットの受信状態を示す確認応答パケットを生成することにより、前記ビデオ送信機が送信エラーに適応するようにする。前記適応ビデオデコーダ３５４は、前記ネットワークアダプタ３５２と通信し、前記複数のレイヤのビットストリームパケットを復号化して復号化ビデオデータを生成する。前記ＲＸシンクロナイザ３５６は、前記ビデオ送信機と１つ以上のｖｓｙｎｃパケットを交換して、前記ビデオ送信機と前記ビデオ受信機３５０との間の時間を同期させる。
【００３５】
１つの例示的な実施形態では、ビデオ復号化が開始する前に、前記ＲＸシンクロナイザ３５６は、前記ビデオ送信機の前記適応ビデオ送信機とｖｓｙｎｃパケット３６５を交換して、前記推定された送信機システム時間を前記送信機システム時間と同期させる。例えば、前記ＲＸシンクロナイザ３５６は、ローカル時間（例えば、受信機システム時間）を前記ビデオ送信機に送信して、前記ビデオ送信機による受信機の時間又は受信機システム時間の推定を容易にする。例として、前記ＲＸシンクロナイザ３５６は、前記シンクディスプレイデバイスの前記ｖｓｙｎｃ信号とビデオソースデバイスの前記ｖｓｙｎｃ信号との間の前記レイテンシを小さく制限するために、ｖｓｙｎｃ信号３６６のタイミングを連続的に調節する。
【００３６】
例として、前記ネットワークアダプタ３５２は、前記ビデオ送信機からビットストリームパケット３６１（例えば、ベースレイヤのビットストリームパケット及びエンハンスメントレイヤのビットストリームパケット）を受信し、前記受信されたビットストリームパケットのシーケンス番号に基づいて肯定確認応答又は否定確認応答パケットを生成する。前記ネットワークアダプタ３５２は、ｓｕｂ−ＧＨｚ産業科学医療用バンド（ＩＳＭバンド）などのロバストかつ少ないレイテンシの方法で、前記確認応答パケット３６２などのフィードバックを返信する。ビットストリームパケット受信状態に基づいて、前記適応ビデオデコーダ３５４は、符号化ビデオデータ（例えば、ビデオフレームの各ブロックのビデオデータ）の復号化を適応的に実行し、表示のための復号化又は解凍されたビデオ３６４を出力する。
【００３７】
図４は、１つの例示的な実施形態に係るビデオ送信機のネットワークアダプタ４１４を示す。
【００３８】
図示されるように、前記ネットワークアダプタ４１４は、パケットマネージャ（パケット管理装置）４１５及びネットワークインタフェース４１６を含む。一例の利点として、前記ネットワークアダプタ４１４は、パケットエラーレートを最小限に抑えることにより、改善された信頼性、ビデオまたは画像の品質などの性能改善に有利であり、重要度の大きいパケットに送信についてより高い優先度が与えられる不等なストリーミングをサポートすることにより、ビットストリームパケットの送信を優先させることができる。
【００３９】
例として、前記パケットマネージャ４１５は、適応ビデオエンコーダ（例えば、図２に示される前記適応ビデオエンコーダ２１２）によって出力された複数のレイヤのビデオビットストリームを受信し、前記複数のレイヤのビデオビットストリームから複数のレイヤのビットストリームパケットを生成し、かつ前記ビデオ受信機から受信された確認応答パケットに基づいて送信エラーに適応することを前記適応ビデオエンコーダに通知する。前記ネットワークインタフェース４１６は、ネットワークを介して、異なる優先度を有する前記複数のレイヤのビットストリームパケットをビデオ受信機に送信する。例として、前記複数のレイヤのビットストリームパケットのうちの下位レイヤであるビットストリームパケットがビデオ受信機に送信される時に、より高い優先度を有するように、ビデオ送信機によって、送信のために前記複数のレイヤのビットストリームパケットに優先順位をつける。
【００４０】
１つ以上の例示的な実施形態は、以下に示されるパケットマネージャ４１５に関連する少なくとも３つのタイプのデータフローを含む。
【００４１】
１．前記パケットマネージャ４１５は、適応ビデオエンコーダから複数のレイヤのビデオビットストリーム（例えば、ベースレイヤのビデオストリーム４３１及びエンハンスメントレイヤのビデオビットストリーム４３２）を受信し、異なるレイヤのビットストリームパケットを生成し、かつ不等なストリーミングを実行して、前記パケット４３３（例えば、ベースレイヤのビットストリームパケット及び／又はエンハンスメントレイヤのビットストリームパケット）をネットワークインタフェース４１６を介してネットワークに送信する。
【００４２】
２．前記パケットマネージャ４１５は、前記受信された確認応答パケット４３６及び４３９に基づいて送信エラーに適応することを前記適応ビデオエンコーダに通知する。
【００４３】
３．前記パケットマネージャ４１５は、前記ネットワークインタフェース４１６を介してビデオ受信機とネットワーク管理パケット４３４及び４３５を交換して使用可能なネットワーク帯域幅を推定し、次に前記推定された使用可能なネットワーク帯域幅に基づいて符号化ビットレートを決定し、前記符号化ビットレート（例えば、ベースレイヤの符号化ビットレート４３７及びエンハンスメントレイヤの符号化ビットレート４３８）を前記適応ビデオエンコーダに通知する。
【００４４】
１つの例示的な実施形態では、前記パケットマネージャ４１５は、異なるレイヤの入来するビットストリーム（例えば、適応ビデオエンコーダによって出力された複数のレイヤのビデオビットストリーム）からビットストリームパケット又はビデオパケットを生成する。一例として、前記入来するビットストリームは、ベースレイヤのビットストリームと、レイヤがベースレイヤのビットストリームのレイヤより高いエンハンスメントレイヤのビットストリームとを含む。前記ベースレイヤのビットストリームはより低いデータレートを有するが、ベースレイヤのビットストリーム（又は単にベースレイヤのパケットとも呼ばれる）の損失は画像品質に非常に高い影響を与える。したがって、いくつかの例では、前記送信効率が低下しても、よりロバストな送信方法を使用して前記ベースレイヤのパケットを送信することが可能である。ベースレイヤのパケットのパケットエラーレートを低減することにより、ベースレイヤのパケットを正しく送信する確率が増加し、これにより信頼性が向上する。前記エンハンスメントレイヤのビットストリームは、非常に高いデータレートを有するが、前記エンハンスメントレイヤのビットストリーム（又は単にエンハンスメントレイヤのパケットとも呼ばれる）の損失は画像品質に対してより小さい影響を与える。したがって、いくつかの例では、ロバスト性が低下しても、前記送信レイヤが高いほど、使用される前記パケット生成方法のデータレート及び送信効率が高くなる。
【００４５】
１つの例示的な実施形態では、前記複数のレイヤのビットストリームパケットのうちの下位レイヤでは、よりロバストな変調方式、より長い前方誤り訂正符号及びより短いパケット長が採用される。また、前記下位レイヤにサービス品質（ＱｏＳ）タグを割り当てることにより、前記下位レイヤがより良いネットワークサービスを取得する。
【００４６】
他の例示的な実施形態は、前記パケットマネージャ４１５が異なるレイヤのビットストリームパケットに異なる程度のロバスト性、データレート及び送信効率を適用するために、以下の方式を含む。
【００４７】
１．前記パケットマネージャ４１５は、異なるレベルのロバスト性及びデータレートを備えた異なる変調方法、例えばガードインターバル、二位相偏移変調（ＢＰＳＫ）、四位相偏移変調（ＱＰＳＫ）及び６４値直交振幅変調（ＱＡＭ）を提供する。パケットの前記ビデオレイヤが下位であるほど、前記パケットマネージャ４１５によって使用される変調方法がロバストになる。
【００４８】
２．前記パケットマネージャ４１５は、ビデオ受信機がＦＥＣコードを用いてビットエラーを訂正することを可能にするために、異なる長さの前方誤り訂正（ＦＥＣ）符号を追加する。パケットの前記ビデオレイヤが下位であるほど、前記パケットマネージャ４１５によって使用されるＦＥＣコードが長くなる。
【００４９】
３．パケット内の１つ以上のビットが欠落又は破損した場合に、パケットは破損する。前記パケットエラーレートは、パケット長と共に増加する。一方、パケット長が短いほど、固定長パケットヘッダに起因するオーバーヘッドの割合が高くなり、送信効率が低下する。したがって、パケットの前記ビデオレイヤが下位であるほど、パケットマネージャ４１５によって選択されるビデオパケット長が短くなる。
【００５０】
４．サービス品質（ＱｏＳ）について、より重要なビデオパケットにＱｏＳタグを割り当てることにより、より良いネットワークサービス、例えばより低いエラーレート、より高いスループット、より低い遅延、より低いジッタを得る。
【００５１】
例示的な実施形態は、さらに、より重要なビデオ又はビットストリームパケットの送信を優先させることにより不等なストリーミングをサポートするパケットスケジューリングを含む。確認応答パケットを用いて送信失敗を検出した場合に、前記ビデオ送信機（例えば、ビデオ送信機１１０及び２１０）は、より高い優先度を有する重要度の高いパケットを再送信する。例として、前記生成されたビデオパケットを最初に１つ以上のパケットバッファに記憶して、バッファリングされたビデオパケット（又はバッファリングされたビットストリームパケット又はバッファリングされたパケットと呼ばれる）を取得する。前記パケットマネージャ４１５は、前記バッファリングされたパケットを複数のキューにグループ化することにより、同じビデオレイヤの前記ビットストリームパケットを同じキューに入れる。説明のために、各ビデオパケットに表示期限を割り当てる。
【００５２】
例として、バッファリングされたパケットは、以下のいずれかが真である場合に、送信又は再送信のためにスケジューリングされてもよい（スケジューリングされてもよいバッファリングされたパケットは、適格なバッファリングされたビットストリームパケット、又は適格なバッファリングされたパケット、又は適格なパケットとも呼ばれる）。
【００５３】
１．前記ネットワークインタフェース４１６は、まだ送信のための前記バッファリングされたパケットを選択していない。
【００５４】
２．前記ネットワークインタフェース４１６は、送信又は再送信のための前記バッファリングされたパケットを選択したが、前記ネットワークインタフェース４１６は、前記ビデオ受信機が前記バッファリングされたパケットを受信していないことを示す否定確認応答パケットを受信した。
【００５５】
３．前記ネットワークインタフェース４１６は、送信又は再送信のための前記バッファリングされたパケットを選択したが、前記ネットワークインタフェース４１６は、所定又はユーザ設定の時間の後に、まだ前記ビデオ受信機から肯定確認応答を受信していない。
【００５６】
１つの例示的な実施形態では、前記パケットマネージャ４１５は、２段階のスケジューリング方法を使用して、どのビデオパケット又はパケットが送信されるべきかを決定する。前記パケットマネージャ４１５は、最下位ビデオレイヤ（例えば、ベースレイヤ）に関連付けられたパケットキュー又はキューから、最上位ビデオレイヤ（例えば、最上位エンハンスメントレイヤ）に関連付けられたパケットキュー又はキューまでスキャンする。さらなる検討のために、少なくとも１つの適格なパケットを有する第１のスキャンされたキューを選択する。したがって、ビデオレイヤが下位であるほど、前記ビデオレイヤのスケジューリング優先度が高くなる。選択されたキュー内の前記適格なパケットにおいて、前記パケットマネージャ４１５は、さらに、送信について最も早い送信期限を備えたパケットを選択して送信する。
【００５７】
１つの例示的な実施形態では、ビデオパケットが送信されていない場合に、又は前記ビデオパケットが送信されたが送信期限の後に確認応答されない場合に、前記ビデオパケットは、ビデオストリーミングのリアルタイム要件により無用になる。例として、第Ｌレイヤのビデオパケットが前記ビデオパケットに関連付けられた前記表示期限の前にビデオ受信機に成功して送信されていない場合に、第Ｌレイヤの復号化においてエラーを引き起こすことが定義される。この場合に、配信されていない前記ビデオパケットは古くなると考えられ、これは、前記ビデオパケットが復号化に有利でないために廃棄されることを示す。例として、ビデオパケットが前記表示期限の前に送信されることが予測されるため、良好なビデオ品質又は画像品質を保証するために、ビデオパケットの前記表示期限は、前記ビデオパケットの前記送信期限にほぼ等しい。ビデオ送信機の前記パケットマネージャは、ネットワーク管理パケットを前記ビデオ受信機と交換することにより、前記受信機システム時間を推定する。ビデオパケットが古くなるか否かを決定する場合に、前記パケットマネージャは、前記推定された受信機システム時間がビデオパケットに関連付けられた前記表示期限を過ぎたか否かをチェックする。前記表示期限を過ぎた場合に、前記ビデオパケットを廃棄する。一例では、ビデオパケットが肯定確認応答される場合に、前記ビデオパケットを廃棄する。他の例では、ビデオパケットが古くなるか又は肯定確認応答される場合に、前記ビデオパケットをキューから削除する。
【００５８】
１つの例示的な実施形態では、ビデオ送信機の前記パケットマネージャは、ネットワーク管理パケットを前記ビデオ受信機と交換することにより、複数のレイヤのビットストリームパケットを送信するための使用可能なネットワーク帯域幅を決定する。一例として、前記使用可能なネットワーク帯域幅は最小ネットワーク帯域幅である。他の例として、前記使用可能なネットワーク帯域幅は、平均ネットワーク帯域幅である。一例では、前記使用可能なネットワーク帯域幅に基づいて、前記パケットマネージャは、ベースレイヤのビットレートが最小ネットワーク帯域幅より小さいという条件（１）と、合計の符号化ビットレートが平均ネットワーク帯域幅より小さいという条件（２）とのうちの少なくとも１つを満たすように、前記ビデオ送信機の適応ビデオエンコーダの複数のレイヤのビットストリームの複数の符号化ビットレートを決定する。したがって、信頼性及びレイテンシを改善する。
【００５９】
例として、前記パケットマネージャは、ネットワーク状態を監視し管理パケットをビデオ受信機と交換することにより、効果的に使用可能なネットワーク帯域幅（すなわち、ビデオを送信するために使用可能なビットレート）を連続的に推定して、パケット間レイテンシ、チャネル信号強度、ビットエラーレート及びネットワーク伝搬遅延などのチャネル状態統計情報を収集する。例えば、前記パケットマネージャは、最悪の場合の最小ネットワーク帯域幅と、非常に高い信頼度を備えた予測平均ネットワーク帯域幅とを推定することができる。
【００６０】
１．前記予測平均ネットワーク帯域幅はＮavg である。
【００６１】
２．予測最小帯域幅はＮmin であり、すなわち、９９．９９９％の高い信頼度レベルで提供される前記ネットワーク帯域幅であり、Ｎmin ＜Ｎavg である。例として、前記ビデオ送信機は、より弱い信号強度又はより高いパケットエラーレートのようないくつかの異常状態の観察により前記ネットワークがより不安定になることを発見した場合に、より高い信頼度レベルを維持するために、Ｎmin の推定をより保守的に調節する。
【００６２】
１つの例示的な実施形態では、Ｎmin 及びＮavg に基づいて、前記パケットマネージャは、異なるビデオレイヤの許容されるビットレートを適応ビデオエンコーダに通知する。ビットストリームパケットのレイテンシはトラフィックローディングに依存し、これは、さらに、符号化ビットレート及び有効なネットワーク帯域幅に密接に関連する。前記ビデオ送信機は、レイテンシを小さく又は最小に維持するために、前記符号化ビットレートが前記有効ネットワーク帯域幅より小さいことを保証する。前記ビデオ送信機は、チャネル容量に対する制御が比較的少ない。前記レイテンシを制御可能な１つの重要なパラメータは、符号化ビットレートである。Ｎavg 及びＮmin を推定すると、前記パケットマネージャは、異なるレイヤのビットストリームの符号化ビットレートを決定する。例として、ベースレイヤのビットストリームの配信を保証するために、前記ベースレイヤのビットストリームのビットレートはＮmin より小さいと予測される。したがって、前記ネットワーク帯域幅が突然低下しても、前記ビデオ送信機は、最悪の場合の条件下でベースレイヤのパケット配信を保証するために、少なくとも前記最小帯域幅Ｎmin を使用してベースレイヤのビットストリームを送信することができる。前記ベースレイヤのビットストリームのビットレートがＮmin より小さいように制限されない場合に、不等なストリーミングでさえ、前記ベースレイヤのビットストリームを前記ネットワークチャネルの過負荷と前記ストリーミング性能の損失から保護することができない。一例では、前記エンハンスメントレイヤのビットレートは、（Ｎavg −Ｎmin ）より小さいように制限され、これによって、残余の帯域幅ができるだけ画像品質を向上させるために使用される。一例では、前記帯域幅がＮavg より小さく低下する場合に、瞬時符号化ビットレートが前記予測帯域幅より大きいため、いくつかのエンハンスメントレイヤのパケットが低下しなければならない。エンハンスメントレイヤのパケットの低下の影響は、比較的少ない。異なるレイヤのターゲットビットレートを決定すると、前記パケットマネージャは、前記ターゲットビットレートを適応ビデオエンコーダに送信して、前記適応ビデオエンコーダによって使用される符号化パラメータを選択する。前記ターゲットビットレート及び生ビデオ入力に基づいて、前記適応ビデオエンコーダは異なるレイヤの適切な符号化パラメータを選択し、これによって、各レイヤの符号化ビットレートが各レイヤの許容される符号化レートより小さい。いくつかの例では、Ｎavg 及びＮmin の推定が常に時間の経過とともに変化するため、前記パケットマネージャは、ひいては、異なるレイヤの前記符号化ビットレートを調節する。
【００６３】
複数の従来の方式では、デコーダは、前記ビデオを正しく復号化するために、符号化ビデオビットストリームの全てのビデオパケットを受信しなければならない。これらの方式の少ないレイテンシ制約に起因して、送信機は、紛失したか又は破損したパケットを時間通りに再送信することができないため、前記受信機は、不完全又は破損したビットストリームを備えたフレームを復号化しなければならず、これは、ロバストではなく、ビデオ品質を低減する。
【００６４】
１つ以上の例示的な実施形態は、パケット受信状態に基づいて適応符号化決定を行う技術的解決手段を提供することにより、従来の方式の上記技術的問題を解決する。例として、適応ビデオエンコーダと適応ビデオデコーダは、それぞれマルチレイヤの符号化アルゴリズムとマルチレイヤの復号化アルゴリズムを採用する。非圧縮生ビデオを複数のレイヤのビデオビットストリームに変換し、複数のレイヤのビデオビットストリームを、送信のための優先度を有する複数のレイヤのビットストリームパケットにさらに変換する。
【００６５】
１つの例示的な実施形態では、ビデオ受信機における適応ビデオデコーダは、エンハンスメントレイヤのブロックセグメントが受信されたか否かに応じて、ビデオフレームの各画素ブロックを適応的に復号化する。受信されたエンハンスメントレイヤのパケットが多いほど、画像品質はよくなる。例として、前記ビデオ受信機は、常にパケット受信状態を前記ビデオ送信機に報告する。確認応答された最新の受信エラーに基づいて、前記適応ビデオエンコーダは、エンハンスメントレイヤの各スライスにわたる復号化エラー伝搬を推定する。したがって、前記適応ビデオエンコーダは、前記デコーダが対応するフレームを復号化する方法と同じ方法で基準フレームを再構成する。パケット受信エラーがあっても、前記適応ビデオエンコーダは、フレーム間予測を実行する場合に、前記適応ビデオデコーダと同じ画素ブロックを参照する。
【００６６】
１つの例示的な実施形態では、各フレームは複数の画素ブロックからなることが定義される。ブロックビットストリームセグメントは、第Ｌレイヤのビットストリームの画素ブロックをレンダリングするために必要な符号化ビットである。Ｂｆ、ｂ、Ｌは、ｆ番目のフレームのｂ番目のブロックの第Ｌレイヤの画素関連データを復号化するために必要な前記ブロックビットストリームセグメントであると仮定する。前記符号化方法によって、第Ｌレイヤの画素関連データは、予測ブロック間の動き補償を実行した後の第Ｌレイヤの残差、ｉブロックのイントラ予測を実行した後の第Ｌレイヤの残差、又は他の適切な情報であってよい。完全なブロックセグメントは、１つのパケット内に搬送されてもよいし、複数の部分セグメントに分割されて複数のパケットによって搬送されてもよい。前記ビデオパケットは、どのレイヤ、どのブロック、どのフレームが完全又は部分的なブロックセグメントに関連付けられるかを示す追加情報を含む。
【００６７】
ビットストリームパケットを受信すると、前記適応ビデオデコーダは、どのブロックセグメントが受信されたかをチェックし、前記ブロックセグメントの全てのビットが受信された場合に、各対応するブロックセグメント受信フラグを「１」に設定し、そうでない場合に、「０」に設定する。前記ビデオ受信機は、常にビデオ送信機に対して前記パケット受信状態に確認応答する。前記ビデオ受信機が前記ブロックセグメントの全てのビットが受信されたことに確認応答する場合に、前記適応ビデオエンコーダは各ブロックセグメントの確認応答フラグを「１」に設定し、そうでない場合に、「０」に設定する。
【００６８】
例として、前記受信フラグに基づいて、前記ビデオ受信機は、以下のように各ブロックの前記復号化エラーフラグを決定する。ｒｆ、ｂ、Ｌは、Ｂｆ、ｂ、Ｌが正しく受信されたか否かを示す受信フラグであると仮定する。以下の全ての条件が真である場合に、Ｂｆ、ｂ、Ｌの前記復号化エラーフラグｄｆ、ｂ、Ｌを「０」に設定する。そうでない場合に、ｄｆ、ｂ、Ｌを「１」に設定する。
【００６９】
１．ｒｆ、ｂ、Ｌ=１、すなわち、Ｂｆ、ｂ、Ｌが受信される。
【００７０】
２．全ての依存ブロックセグメントの前記復号化エラーフラグ、すなわち、Ｂｆ、ｂ、Ｌが依存する他のブロックセグメントは、「０」でなければならない。この条件は、さらに、前記全ての依存ブロックセグメントの受信フラグが「１」であることを指す。
【００７１】
例として、エンハンスメントレイヤＬのいくつかのパケットが時間内に紛失するか又は受信されていない場合であっても、前記適応ビデオデコーダは、依然として、対応する復号化エラーフラグを「０」に設定する他の第Ｌレイヤのブロックセグメントを使用して、できるだけ複数の画像の詳細を回復することができる。
【００７２】
例として、Ｂｆ、ｂ、Ｌの受信に確認応答する確認応答フラグａｆ、ｂ、Ｌに基づいて、前記適応ビデオエンコーダは、前記適応ビデオデコーダにおけるエラー伝搬を推定し、各ブロックの前記推定された復号化エラーフラグｅｆ、ｂ、Ｌを決定する。以下の全ての条件を満たす場合に、前記適応ビデオエンコーダによって推定される前記推定された復号化エラーフラグｅｆ、ｂ、Ｌを「１」に設定し、そうでない場合に、「０」に設定する。
【００７３】
１．ａｆ、ｂ、Ｌ=１、すなわち、Ｂｆ、ｂ、Ｌが確認応答された。
【００７４】
２．全ての依存ブロックセグメントの前記推定された復号化エラーフラグ、すなわち、Ｂｆ、ｂ、Ｌが依存する他のブロックセグメントは、「０」でなければならない。この条件は、さらに、前記全ての依存ブロックセグメントの確認応答フラグが「１」であることを指す。
【００７５】
図５は、１つの例示的な実施形態に係る適応符号化方法５００を示す。一例として、前記方法５００は、図１に示される前記適応ビデオエンコーダ２１２を含む前記ビデオ送信機２１０などの電子デバイス又はコンピュータシステムによって実行することができる。前記方法５００は、例えば、基準フレームを再構成するときに、前記エンハンスメントレイヤの画素関連データを各ブロックのベースレイヤの画素関連データと組み合わせるか否かを適応的に決定することにより、ビデオストリーミングを改善する。
【００７６】
ブロック５０２は、再構成されたベースレイヤのデータを取得するために、ビデオソースから受信されたビデオデータを符号化することを述べる。一例として、これは適応ビデオエンコーダ又はベースレイヤエンコーダによって実行される。ブロック５０４は、再構成されたエンハンスメントレイヤのデータを取得するために、前記ビデオデータを符号化することを述べる。一例として、これは適応ビデオエンコーダ又はエンハンスメントレイヤエンコーダによって実行される。ブロック５０６は、基準フレームを再構成する場合に、前記再構成されたエンハンスメントレイヤのデータを再構成されたベースレイヤのデータと組み合わせるか否かを決定することを述べる。一例として、基準フレームを生成する場合に、推定された復号化エラーフラグに従って、前記再構成されたエンハンスメントレイヤのデータを使用するか否かを決定する。
【００７７】
図６は、１つの例示的な実施形態に係る適応符号化方式６００を示す。前記適応符号化方式６００は、基準フレームを再構成する場合に、前記推定された復号化エラーフラグをどのように適応決定に統合するかを示す。
【００７８】
例として、適応ビデオエンコーダ又はエンコーダは、受信機の確認応答に応じて適応基準フレームの再構成を実行する。ネットワークアダプタの不等なストリーミングポリシーにより、ベースレイヤのパケットを受信することが保証されるが、エンハンスメントレイヤのパケットを受信することが保証されていない。したがって、前記エンコーダは、基準フレームを再構成する場合に、エンハンスメントレイヤの画素関連データを各ブロックのベースレイヤの画素関連データと組み合わせるか否かを決定する。
【００７９】
１つの例示的な実施形態では、基準フレーム６１８を入力フレーム又はソースフレーム６１１と比較することにより、動き推定モジュール６０２は、基準フレーム６１８において最良一致基準ブロックを見つける。前記ベースレイヤエンコーダ６０８は、ベースレイヤのビデオビットストリームを符号化して、再構成されたベースレイヤの画素又は残差６１６を生成する。前記ベースレイヤエンコーダ６０８の出力を使用して、ベースレイヤのビットストリームパケット６２４を生成する。いくつかの例では、インター符号化を実行し、動きベクトル６１３をベースレイヤエンコーダ６０８に入力する。いくつかの他の例では、前記ベースレイヤのビデオビットストリームは、ソースビデオフレームの縮小バージョンを符号化し、ブロック内画素又はブロック間残差６１２における前記ベースレイヤの画素関連データを前記ベースレイヤエンコーダ６０８に入力する前に、縮小モジュール又はダウンスケーラ６０３によって縮小する。
【００８０】
前記エンハンスメントレイヤエンコーダ６０６は、前記エンハンスメントレイヤのビットストリームを符号化して、再構成されたエンハンスメントレイヤの画素又は残差６２１を生成する。さらに、前記エンハンスメントレイヤエンコーダ６０６の出力を使用して、エンハンスメントレイヤのビットストリームパケット６２３を生成する。いくつかの例では、インター符号化を実行し、動きベクトルを使用する。いくつかの他の例では、前記エンハンスメントレイヤエンコーダ６０６は、ベースレイヤの符号化結果６１５を参照して、インターレイヤ予測を実行する。
【００８１】
いくつかの例では、前記ベースレイヤのビットストリームは、ソースビデオフレームの縮小バージョンを符号化し、前記ベースレイヤの画素関連データ（すなわち、再構成されたベースレイヤの画素又は残差）６１６を使用して基準フレームを再構成する前に、拡大モジュール又はアップスケーラ６０４によって拡大する。
【００８２】
いくつかの例では、エンハンスメントレイヤのブロックセグメントの推定された復号化エラーフラグが「０」である場合に、基準フレームのブロックを再構成して再構成フレーム６１９を取得するときに、再構成されたエンハンスメントレイヤのデータ６２１をデジタル合成器６２２において前記再構成されたベースレイヤのデータ６１６と組み合わせる決定６２５を行う。そうでない場合に、再構成されたベースレイヤのデータ６１６のみを使用して基準フレームを再構成する。前記再構成フレーム６１９をフレームストア（フレーム記憶部）６１０に記憶する。いくつかの例では、再構成フレーム６１９を生成するために動き補償画素６１４をデジタル合成器６２２に送信したか否かについて、ブロック内／ブロック間決定６１７を行う。
【００８３】
図７Ａは、１つの例示的な実施形態に係る適応復号化方式７００を示す。一例として、前記適応復号化方式７００は、図３に示される前記適応ビデオデコーダ３５４などの電子デバイス又はコンピュータシステムによって実行することができる。
【００８４】
例として、ブロック７７０は、復号化されたベースレイヤのデータを取得するために、ベースレイヤのビデオビットストリームを復号することを述べる。一例として、これは適応ビデオデコーダ又はベースレイヤデコーダによって実行される。ブロック７８０は、復号化されたエンハンスメントレイヤのデータを取得するために、エンハンスメントレイヤのビデオビットストリームを復号化することを述べる。一例として、これは適応ビデオデコーダ又はエンハンスメントレイヤデコーダによって実行される。ブロック７９０は、復号化フレームを再構成する場合に、前記復号化されたエンハンスメントレイヤのデータを復号されたベースレイヤのデータと組み合わせるか否かを決定することを述べる。一例として、復号化フレームを生成する場合に、復号化エラーフラグに従って、前記復号化されたエンハンスメントレイヤのデータを使用するか否かを決定する。
【００８５】
図７Ｂは、他の例示的な実施形態に係る適応復号化方式７５０を示す。説明のために、前記適応復号化方式７５０は、どのように復号化エラーフラグを復号化プロセスに統合して適応符号化決定を行うかを示す。
【００８６】
図７Ｂに示すように、ベースレイヤデコーダ７０２は、ベースレイヤのビットストリームパケット７１１を受信し、ベースレイヤの画素又は残差７１４などの復号されたベースレイヤのデータを生成する。いくつかの例では、ベースレイヤのビットストリームパケットが紛失した場合に、前記ベースレイヤデコーダ７０２においてエラー隠蔽を実行する。前記方式７５０は、エンハンスメントレイヤのブロックセグメントの復号化エラーフラグをチェックする。前記復号化エラーフラグが「０」である場合に、エンハンスメントレイヤデコーダ７０４は、エンハンスメントレイヤのビットストリームパケット７１２を受信し、エンハンスメントレイヤの画素又は残差７１７などの復号化されたエンハンスメントレイヤのデータを生成する。いくつかの例では、エンハンスメントレイヤのビットストリームパケットが紛失した場合に、エンハンスメントレイヤデコーダ７０４においてエラー隠蔽を実行する。
【００８７】
例として、動き補償モジュール７０８は、ビットストリームにおいて埋め込まれた動きベクトル７１６を受信し、基準フレームにおける他のブロックと共に動き補償を実行して、画素を予測する。いくつかの例では、前記ベースレイヤのビデオビットストリームは、ソースビデオフレームの縮小バージョンを符号化する。前記ベースレイヤの残差７１４を拡大モジュール又はアップスケーラ７０６によって拡大し、出力データ７１９がデジタル合成器７２０に入る。拡大処理が不要となる場合に、前記ベースレイヤの残差７１４は、直接的にデジタル合成器７２０に入る。
【００８８】
例として、エンハンスメントレイヤのブロックセグメントの前記復号化エラーフラグが「０」である場合に、前記復号化されたエンハンスメントレイヤのデータ（例えば、エンハンスメントレイヤの画素又は残差７１７）及び前記復号化されたベースレイヤのデータ（例えば、ベースレイヤの画素又は残差７１４又は７１９）をデジタル合成器７２０において組み合わせて、前記復号化フレーム７２１を生成する決定７１８を行う。エンハンスメントレイヤのブロックセグメントの前記復号化エラーフラグが「１」である場合に、前記復号化されたベースレイヤのデータのみを使用して前記復号化フレーム７２１を生成する。
【００８９】
例として、前記復号化フレーム７２１をフレームストア７１０に記憶する。動き補償を実行するために、新しい基準フレーム７２２を前記動き補償モジュール７０８に送信することができる。さらなる例として、ブロック内／ブロック間決定７１５に従って、前記動き補償モジュール７０８の出力７２３をデジタル合成器７２０に入力することができる。
【００９０】
従来の方式では、ビデオソースがビデオケーブルを介してシンクディスプレイに直接接続される場合に、ビデオ同期信号（例えば、画素クロック、ｖｓｙｎｃ及び水平同期（ｈｓｙｎｃ））を前記ソースデバイスから前記ディスプレイデバイスに直接送信する。しかし、ビデオストリーミングの場合に、前記ストリーミングシステムは、同期信号ではなく圧縮画素データをストリーミングすることができる。２つの別個のデバイスにおいて埋め込まれた２つの別個の結晶によって駆動される前記ソースデバイスのビデオ出力クロックと前記シンクディスプレイのビデオ入力クロックは、同期しない。したがって、前記システムがビットストリームのレイテンシを低減するように管理しても、実際の表示レイテンシは、２つのクロック間のわずかな差により、時間の経過とともに１フレームのレイテンシと同じくらい大きくなる。送信機はネットワークを介して画素クロックを受信機に送信することも不可能である。
【００９１】
１つ以上の例示的な実施形態は、前記ビデオ送信機又は送信機及び前記ビデオ受信機又は受信機が互いに管理パケットを交換することを可能にして、前記ソースデバイスの前記ｖｓｙｎｃ時間と前記シンクディスプレイの前記ｖｓｙｎｃ時間との間の差を小さく制限することを保証することにより、そのような技術的問題を解決し、ここで、用語「ｖｓｙｎｃ時間」とは、前記ｖｓｙｎｃ立ち上がりエッジを検出した時間を指す。前記２つのｖｓｙｎｃ時間を同期させる前に、前記送信機における前記ＴＸシンクロナイザは、そのシステム時間を前記受信機における前記ＲＸシンクロナイザのシステム時間と同期させる。その後、前記ＴＸシンクロナイザは、以下の２つのステップを含むｖｓｙｎｃ同期動作を実行する。
【００９２】
１．前記入力ビデオインタフェースの前記ｖｓｙｎｃ信号を連続的に監視し、前記ｖｓｙｎｃ立ち上がりエッジを検出したときに前記システムのタイマの値を記録する。
【００９３】
２．前記タイマの値をｖｓｙｎｃパケットに入れ、前記タイマの値を前記受信機に送信する。
【００９４】
前記送信機の前記パケットマネージャは、連続する２つの動作の間にある時間間隔を置いて上記動作を連続的に繰り返す。したがって、２つのｖｓｙｎｃ間の前記時間間隔が時間の経過とともに増加しても、最新のｖｓｙｎｃパケットを受信すると、それを補正し最小化することができる。
【００９５】
１つの例示的な実施形態は、改善されたレイテンシを備えたビデオストリーミングの実行を促進する方法を提供する。ビデオ送信機からビデオ受信機にビデオデータを送信する場合に、例示的な方法は、前記ビデオ送信機と前記ビデオ受信機との間の垂直同期（ｖｓｙｎｃ）パケットの交換を介して、ビデオ出力インタフェースの垂直同期（ｖｓｙｎｃ）タイミングをビデオ入力インタフェースの垂直同期（ｖｓｙｎｃ）タイミングと同期させ、これによりビデオストリーミングの待ち時間を低減する。
【００９６】
いくつかの例では、ビデオ出力インタフェースは、一定の時間間隔でｖｓｙｎｃ立ち上がりエッジを生成し、前記間隔は、ローカル結晶によって駆動される電子カウンタによって決定される。いくつかの他の例では、前記ＲＸシンクロナイザは、前記予測時間間隔と前記ｖｓｙｎｃパケットの両方に基づいて、次の立上りエッジを決定する。ビデオストリーミングが開始する前に、前記ビデオ送信機は、Ｔで示される２つの連続するｖｓｙｎｃ立ち上がりエッジの間の前記予測時間間隔を前記ＲＸシンクロナイザに通知する。前記ＲＸシンクロナイザは、ＶＲで示される次のｖｓｙｎｃの時間を−１として初期化し、これは、次のｖｓｙｎｃの時間が未定義であることを指す。前記受信機システムの各クロックサイクルにおいて、前記受信機は、ＶＳで示される最新の送信機ｖｓｙｎｃ時間を搬送する新しいｖｓｙｎｃパケットが前記受信機によって受信されたか否かをチェックする。ｖｓｙｎｃパケットを受信した場合に、前記受信機はＶＲ=ＶＳ+Ｔを設定する。現行の受信機システム時間がＶＲに等しいときはいつでも、前記ＲＸシンクロナイザは、ＶＲ=ＶＲ+Ｔとなるように前記ｖｓｙｎｃ立ち上がりエッジ及び更新後のＶＲを出力する。
【００９７】
１つ以上の例示的な実施形態は、単一のネットワークインタフェースのみが使用されるように、ビデオパケットを送受信する少なくとも１つのネットワークインタフェースを有する適応通信デバイスを含む。
【００９８】
異なるネットワークインタフェースは、同じ又は異なるタイプの物理トランシーバを使用する。例えば、ネットワークインタフェースは、２．４ＧＨｚ  ８０２．１１ｎ  ワイヤレスフィデリティ（ＷｉＦｉ）、５ＧＨｚ  ８０２．１１ａｃ  ＷｉＦｉ、４Ｇベースバンド、イーサネット（登録商標）ポート、ホームプラグ、ＬｉＦｉなどであってもよい。各ネットワークインタフェースは、少なくとも１つのチャネルをサポートし、所与の時間内に１つの使用可能なチャネルを使用するように構成される。例えば、２．４ＧＨｚ  ８０２．１１ｎ  ＷｉＦｉインタフェースは、異なる周波数の１１の使用可能なチャネルを有し、所与の時間内に１つのチャネルが選択される。各ネットワークインタフェースは、前記選択されたチャネルの最新の状態、例えばビットエラーレート、受信信号強度インジケータ（ＲＳＳＩ）及びメディアアクセス遅延を連続的に監視し、これらの状態をチャネルマネージャ（チャネル管理装置）に報告する。前記状態が過度に劣化する場合に、前記チャネルマネージャは、前記ネットワークインタフェースを指示して、他の使用可能なチャネルをスキャンし、より良好な通信性能のためのより好ましい状態を備えた他のチャネルに切り替える。
【００９９】
例示的な適応通信デバイスは、チャネルダイバーシティを可能にすることにより、信頼性の高い通信（例えば、無線通信）を可能にすることに有利である。前記適応通信デバイスは、複数のネットワークインタフェースを使用して、異なる特性を備えた複数のチャネルを確立することを可能にする。一例として、前記適応通信デバイスは、複数の無線周波数（ＲＦ）で動作する複数の無線インタフェースを有する。１つの周波数での無線通信が特定の時間に干渉される場合に、異なる周波数を使用して他のチャネルでビデオパケットを依然として送信することが可能である。
【０１００】
例示的な適応通信デバイスは、ホストデバイスに通信サービスを提供するために、前記ホストデバイス（例えば、上述のビデオ送信機又はビデオ受信機）と接続される。前記ホストデバイスは、複数のサービスクラスのサービス要件と、各出力パケットをサービスクラスにマッピングする方法とを定義する。本明細書で使用されるように、出力パケットは、前記ホストデバイスによって出力され、前記適応通信デバイスによって受信されるパケットである。前記適応通信デバイスは、前記ホストデバイスから出力パケットを受信すると、前記サービスクラスを識別し、少なくとも１つの低レベルビデオパケットを生成し、かつ１つ以上のネットワークインタフェースによって設定される最も適切なチャネルのうちの少なくとも１つを動的に選択して低レベルパケットを送信する。低レベルパケット生成方法及びチャネル選択の両方は、前記サービスクラスの要件に依存する。いくつかの例では、前記適応通信デバイスは、各低レベルパケットの最適な変調パラメータ、チャネル符号化パラメータ、サービス品質（ＱｏＳ）設定及びパケット長をネットワークインタフェースに通知する。いくつかの他の例では、少なくとも１つの通信チャネルから低レベルパケットを受信する場合に、第２の適応通信デバイスは、元のホストパケット（すなわち、前記ホストデバイスによって出力されるパケット）を再生し、次に前記元のホストパケットを前記第２の適応通信デバイスのホストデバイスに転送する。
【０１０１】
図８は、１つの例示的な実施形態に従って、ビデオストリーミングを実行する適応通信デバイスを組み込んだコンピュータ又は電子システム８００を示す。
【０１０２】
図示されるように、前記システム８００は、ビデオ送信機８１０と、ビデオ受信機８５０と、前記ビデオ送信機８１０に接続される適応通信デバイス８２０と、前記ビデオ受信機７５０に接続される適応通信デバイス８４０とを含む。前記適応通信デバイス８２０は、１つ以上のネットワーク８３０を介して前記適応通信デバイス８４０と通信する。
【０１０３】
１つの例示的な実施形態では、前記ビデオ送信機８１０と前記ビデオ受信機８５０は、ＷｉＦｉなどの標準的なネットワークインタフェースの代わりに、前記適応通信デバイス８２０と前記適応通信デバイス８４０をそれぞれ使用する。前記適応通信デバイス８２０及び８４０の各々は、少なくとも１つの高速データチャネル及び少なくとも１つのロバストなバックチャネルを提供する。他の例では、前記適応通信デバイス８２０又は前記適応通信デバイス８４０のうちの１つの適応通信デバイスのみを前記システム８００において使用する。
【０１０４】
例として、前記ビデオ送信機８１０及び前記ビデオ受信機８５０は、不等なビデオストリーミングのための少なくとも以下の３つのパケットサービスクラスを定義する：
１．ベースレイヤのビデオクラス、
２．エンハンスメントレイヤのビデオクラス、
３．ロバストなクラス。
【０１０５】
例として、ベースレイヤのビデオパケットを前記ベースレイヤのビデオクラスにマッピングし、一方、エンハンスメントレイヤのビデオパケットを前記エンハンスメントレイヤのビデオクラスにマッピングする。前記ベースレイヤのビデオクラス要件は、高いロバスト性及び低いデータレートである。前記エンハンスメントレイヤのビデオクラス要件は、最も低いロバスト性及び最も高いデータレートである。前記ベースレイヤのビデオクラス要件に基づいて、パケットアービタは、高いロバスト性を備えたビデオパケットを生成することを少なくとも１つのネットワークインタフェースに指示するように設定されたパラメータを出力する。前記エンハンスメントレイヤのビデオ要件に基づいて、前記パケットアービタは、最大データレートでパケットを生成することを少なくとも１つのネットワークインタフェースに指示するように設定されたパラメータを出力する。確認応答及び管理パケットをロバストなクラスにマッピングし、かつ前記ロバストなチャネルを介して送信し、ロバストなチャネルは、最も高いロバスト性及び最も低いデータレートをサポートする。一例として、以下のリストは、降順に各クラスのロバスト性要件を示す：
１．ロバストなクラス、
２．ベースレイヤのビデオクラス、
３．エンハンスメントレイヤのビデオクラス。
【０１０６】
他の例として、以下のリストは、降順に各クラスのデータレート要件を示す：
１．エンハンスメントレイヤのビデオクラス、
２．ベースレイヤのビデオクラス、
３．ロバストなクラス。
【０１０７】
図９は、１つ例示的な実施形態に従って、２つの適応通信デバイスがパケット送信のためにどのように通信するかを示すグラフ９００を示す。
【０１０８】
説明のためにのみ、前記２つの適応通信デバイスはそれぞれ送信デバイスと受信デバイスと呼ばれる。例として、前記送信デバイスは、（Ａ１及びＡ２で示される）サービスクラスＡの２つのホストパケットと、（Ｂ１で示される）サービスクラスＢの１つのホストパケットとを含むホストパケット又はパケット９１０を受信する。前記送信デバイスは、ロングタームエボリューション（ＬＴＥ）インタフェース上に確立されたチャネル１がクラスＢパケットにサービスすることに最も適することを見つけるため、前記送信デバイスはＢ１を低レベルパケットＢ’１に変換し、チャネル１を介してＢ’１を送信する。前記送信デバイスは、８０２.１１ａｃインタフェース上に確立されたチャネル２がクラスＡパケットにサービスすることに最も適することを見つけるため、前記送信デバイスはＡ１及びＡ２を低レベルパケットＡ’１及びＡ’２に変換して、チャネル２を介して送信する。前記受信デバイスは、復号化のためにチャネル１及びチャネル２を介してこれらの低レベルパケットを受信し、前記ホストパケット９１０と同じホストパケットを含む復号化又は再構成されたホストパケット９２０を取得する。
【０１０９】
１つ以上の例示的な実施形態は、改善された性能を備えたビデオストリーミングを実行する装置を含む。前記装置は、送信サブシステムを有する適応通信デバイスを含む。前記送信サブシステムは、パケットアービタと、チャネルマネージャと、少なくとも１つのネットワーク送信インタフェースとを含む。例として、前記チャネルマネージャは、ビデオ送信機から受信されたパケットサービスクラス構成情報と、前記少なくとも１つのネットワーク送信インタフェースから受信されたチャネル状態統計とに基づいて、前記パケットアービタのための指示を生成する。前記パケットアービタは、前記ビデオ送信機から複数のレイヤのビットストリームパケットを受信し、前記複数のレイヤのビットストリームパケットの各ビットストリームパケットから少なくとも１つの低レベルパケットを生成し、かつ１つ以上の通信チャネルを選択して前記少なくとも１つの低レベルパケットを送信する。
【０１１０】
図１０は、１つの例示的な実施形態に係るビデオストリーミングを実行する装置１０００を示す。
【０１１１】
図示されるように、前記装置１０００は、送信サブシステム１０１０を備えた適応通信デバイス１００１を含む。前記送信サブシステム１０１０は、パケットアービタ１０１２と、チャネルマネージャ１０１４と、デマルチプレクサ（ＤＥＭＵＸ）１０１６と、少なくとも１つのネットワーク送信インタフェースＴｘ  ＃１  １０１８−１、・・・、Ｔｘ  ＃ｎ  １０１８−ｎとを含む。
【０１１２】
例として、前記チャネルマネージャ１０１４は、ホストデバイス（例えば、ビデオ送信機）からパケットサービスクラス構成情報１０２１を受信し、様々なネットワークインタフェースＴｘ  ＃１  １０１８−１、・・・、Ｔｘ  ＃ｎ  １０１８−ｎからチャネル状態統計情報１０２２を受信する。前記情報に基づいて、前記チャネルマネージャ１０１４は、コマンド１０２３を送信して、前記パケットアービタ１０１２によってホストデバイスから受信された出力ホストパケット又はホストパケット１０２４をどのように処理するかをパケットアービタ１０１２に指示する。
【０１１３】
例として、前記パケットアービタ１０１２は、複数のチャネルにおける瞬時状態を監視する。前記パケットサービスクラス及び様々なチャネル状態１０２５に基づいて、前記パケットアービタ１０１２は、各ホストパケット（例えば、複数のレイヤのビットストリームパケットの各ビットストリームパケット）から少なくとも１つの低レベルパケットを生成する。いくつかの例では、前記パケットアービタ１０１２は、各低レベルパケットのチャネルパラメータのセットを決定し、１つ以上の最良のチャネルを選択してパケットを送信する。前記チャネルパラメータは、チャネル変調方法及びパラメータ、チャネル符号化方法及びパラメータ、ＱｏＳパラメータなどを含むが、これらに限定されない。前記パケットアービタ１０１２は、前記低レベルパケット及び前記パラメータのセット１０２６を、前記選択されたチャネルに対応する少なくとも１つのネットワーク送信インタフェースを選択するＤＥＭＵＸ１０１６に転送する。
【０１１４】
図１１は、１つの例示的な実施形態に係る適応通信デバイスの受信サブシステム１１２０を示す。
【０１１５】
図示されるように、前記受信サブシステム１１２０は、パケット再生装置１１２２と、ＭＵＸ１１２６と、少なくとも１つのネットワーク受信インタフェースＲｘ  ＃１  １１２８−１、・・・、Ｒｘ  ＃ｎ  １１２８−ｎとを含む。
【０１１６】
例として、前記少なくとも１つのネットワーク受信インタフェースＲｘ  ＃１  １１２８−１、・・・、Ｒｘ  ＃ｎ  １１２８−ｎは、送信サブシステムから前記少なくとも１つの低レベルパケットを受信し、前記少なくとも１つの低レベルパケットを前記パケット再生装置１１２２に転送する。前記パケット再生装置１１２２は、ＭＵＸ１１２６を介して異なるネットワークインタフェースから１つ以上の低レベルパケットを受信し、ホストパケット（例えば、複数のレイヤのビットストリームパケットに存在する元のビットストリームパケット）を再生し、前記再生されたホストパケットをホストデバイス（例えば、ビデオ受信機）に転送する。
【０１１７】
いくつかの例では、ホストパケットは複数の低レベルパケットによって搬送され、前記パケット再生装置１１２２は、全ての低レベルパケットの受信を待って、元の高レベルパケット（すなわち、ホストパケット）を生成する。いくつかの他の例では、前記パケット再生装置１１２２は、再生されたホストパケットの同じコピーを以前に受信したと判断した場合に、前記再生されたホストパケットを廃棄する。
【０１１８】
例として、ホストデバイス（例えば、ビデオ送信機、ビデオ受信機）は、各ホストパケットの前記サービスクラスと各サービスクラスの前記サービス要件をどのように識別するかのパケット分類方法を定義する。パケットアービタ（例えば、パケットアービタ１０１２）は、チャネルマネージャ（例えば、チャネルマネージャ１０１４）によって指示された前記分類方法を使用してパケットヘッダをチェックして、各出力ホストパケットの前記サービスクラスをリアルタイムに決定する。例えば、特定のポート番号を備えたパケットを前記ビデオサービスクラスにマッピングし、前記対応するサービス要件は、２０Ｍｂｐｓのスループット及び５ｍｓの待ち時間を保証する。他の例では、他のポート番号を備えたパケットを、ウェブブラウジング及び電子メールチェックのためのウェブサービスのタイプにマッピングする。性能保証に要求されないが、電力消費及び通信サービス料金を最小限に抑えることが必要である。例として、前記サービス要件は以下を含むが、これらに限定されない：
−平均パケット遅延、
−最大パケット遅延、
−持続スループット、
−予測パケットエラーレート、
−パケットの送受信に用いられる電力、
−ネットワークサービス料金
【０１１９】
−セキュリティ要件：例えば、前記ホストデバイス又はホストが任意の公衆ＷｉＦｉネットワークを介したクレジットカード番号の送信を禁止する。前記適応通信デバイスが移動電話ネットワーク又は信頼されたＷｉＦｉネットワークのみを介してパケットを送信することが必要である。
【０１２０】
例として、前記サービスクラスを決定すると、前記パケットアービタは、前記サービスクラスによって要求される前記性能を最適化するために、低レベルパケットを生成し、低レベルのパケットをリアルタイムに送信するチャネルを選択する。いくつかの例では、前記チャネルマネージャは、前記動作をサポートする以下の情報を前記パケットアービタに送信する。
【０１２１】
１．各ネットワークインタフェースにおける前記使用可能な変調及び符号化方法、各変調及び符号化方法の対応するビットエラーレート及び物理データレート。
【０１２２】
２．瞬時チャネル状態に基づいて、特定のサービスクラスのパケットを送信する少なくとも１つのチャネルを選択する方法。例えば、要件が高い信頼性である場合に、雑音が最も少ないチャネルを選択する。
【０１２３】
３．各サービスクラスのＱｏＳ設定又はパラメータ。
【０１２４】
例として、前記パケットアービタは、前記瞬時チャネル状態及び前記パケットサービスクラスの前記要件に基づいて、各パケットのための最も適切なチャネルである少なくとも１つのチャネルを動的に選択する。１つのチャネルが他のチャネルよりはるかに優れる場合に、前記パケットアービタは、前記最良のチャネルを使用する。いくつかの例では、複数の適切なチャネルは、サービスクラスに対して同様の望ましい状態を有し、前記送信機は、複数の適切なチャネルを使用してパケットを送信して、前記トラフィック負荷を均衡させる。複数の物理チャネルを使用する利点の一例は、パケット損失のリスクを分散させることである。異なるチャネルのチャネル状態が同時に劣化する可能性が低いため、１つのチャネルでの送信のみが所与の時間内に影響を受け、これにより送信の信頼性が増加する可能性が最も高い。
【０１２５】
複数のチャネルを使用する方法の一例は、前記パケットアービタがラウンドロビン方式で複数の適切なチャネルの間にチャネルを選択することである。この例では、Ｄ１で示される前記適応通信デバイスは、２つのＷｉＦｉインタフェースを有し、かつ２つの非重複ＷｉＦｉチャネルＡ及びＢをそれぞれ使用する。前記ＷｉＦｉチャネルＡを使用するが、Ｄ１と同じアクセスポイントを接続しない他のＷｉＦｉデバイスＤ２がある。前記ＷｉＦｉデバイスＤ２がアイドルである場合に、Ｄ１は、チャネルＡ及びＢの両方が適切であることを見つけるため、Ｄ１は、前記２つのチャネルを介して前記パケットを送信することを分配する。前記ＷｉＦｉデバイスＤ２がその後にデータを送信しチャネルＡ上でＤ１と干渉する場合に、チャネルＢ内の他のパケットが影響を受けないため、全てのパケットを紛失するリスクを低減する。
【０１２６】
１つの例示的な実施形態では、前記適応通信デバイス（例えば、図９に示される前記送信デバイス）は、出力ホストパケットを複数の低レベルパケットに分割し、シーケンス番号を各低レベルパケットに付与し、かつ前記パケットサービス要件を満たすことに最も適する少なくとも１つのチャネルを介して送信する。受信デバイスとして動作する他の適応通信デバイスは、異なるチャネルから低レベルパケットを受信し、シーケンスオーダーに従って元のパケットを再生し、次に元のパケットをそのホストに転送する。
【０１２７】
一例では、サービスクラスは、例外的に低いパケットエラーレートを必要とし、前記パケットアービタは、低レベルパケットの複数のコピーを複製し、複数のチャネルを介して前記パケットの各コピーを送信する。各複製された低レベルパケットは、同じシーケンス番号を有する。前記受信デバイスは、その後に前記複製された低レベルパケットを廃棄する。
【０１２８】
図１２は、１つの例示的な実施形態に従って、複数のチャネルを介した低レベルパケットの配信を示すグラフ１２００を示す。
【０１２９】
図示されるように、出力ホストパケット１２１０を３つの低レベルパケットに分割する。チャネル１を介してパケット１を送信し、チャネル２を介してパケット２及び３を送信する。次に、前記受信デバイスは、前記２つのチャネルから同じ３つのパケットからなる前記パケット１２２０を受信する。
【０１３０】
例として、パケットに関連付けられた選択されたチャネル及び前記サービス要件の動作条件が与えられると、前記パケットアービタは、低レベルパケットの生成のための最適パラメータセット、すなわち、前記パケット長、前記ネットワークインタフェースによって使用される前記変調方式、及び前記前方誤り訂正符号方法と、サービス品質（ＱｏＳ）の設定とを決定する。パラメータセットの組合せが複数あり、各々が異なる送信レート及びパケットエラーレートをもたらす。６４値直交振幅変調（ＱＡＭ）のようないくつかの変調方式は、２位相シフトキーイング（ＢＰＳＫ）のように、より高い物理送信レート及びより高いパケットエラーレートを有し、二位相偏移変調（ＢＰＳＫ）のような他の変調方式は、より低い物理送信レート及びより低いパケットエラーレートを有する。無線信号が減衰したり、他の無線周波数（ＲＦ）デバイスからの干渉を受けたりすると、前記エラーレートが増加する。これらの悪い状態では、前記パケットアダプタは、より効率的ではないが、より低いビットエラーレートを有する変調方法を使用することを前記ネットワークインタフェースに要求する。他の場合に、より高い物理レートを備えた変調方式を使用すべきである。より長い前方誤り訂正符号は、前記パケットエラーレートを低減するが、前記送信オーバーヘッドを増加させる。長いパケット長は、前記送信効率を増加させるが、パケットエラーレートも増加させる。したがって、現行のチャネル状態に基づいて、前記パケットアービタは、前記最良のパラメータセットを適応的に選択して、各パケットに対する前記サービス要件を最適化する。前記最適なパケット長が前記元のパケットより小さい場合に、前記パケットアービタは、前記元のパケットを、前記最適な長さを備えた複数のより短い低レベルパケットに分割する。いくつかの例では、前記最適なパラメータセットを決定するために、前記ホストデバイスは、パケットパラメータコスト関数を定義する必要がある。２つの最適化目標、すなわち、前記送信レート及び前記パケットエラーレートがあると仮定する。前記コスト関数は、Ｆ（ｔ，ｅ）で示され、ここで、ｔ及びｅは、予測される送信レート及びパケットエラーレートである。Ｔ（ｐ）は、特定のネットワークインタフェース上のパラメータセットｐを使用する送信レートであり、一方、Ｅ（ｐ）は、同じパラメータセットｐを使用する前記パケットエラーレートであると仮定する。前記コスト関数に基づいて、前記パケットアービタは最適パラメータセットｐ’を見つけることができ、これによって、Ｆ（Ｔ（ｐ’）、Ｅ（ｐ’））は最適になる。前記パケットアービタは、前記低レベルパケット及び前記最適パケットパラメータセットｐ’の両方をｐ’に関連付けられたネットワークインタフェースに送信して、ひいては物理媒体中の前記低レベルパケットを生成し送信する。
【０１３１】
例として、前記チャネル状態は、信号対雑音比、物理レイヤ（ＰＨＹ）レート、前記ビットエラーレート、前記送信遅延、前記持続スループット及び他の特性などを含むがこれらに限定されない情報として定義される。いくつかのチャネル状態は、インタフェースタイプ及び／又はインタフェース構成に依存し、時間の経過とともに変化しない。例えば、９００ＭＨｚ  ＩＳＭバンドを使用する通信デバイスは、より長い送信範囲を有するが、より長い波長に起因して、５ＧＨｚ  ＷｉＦｉより低い帯域幅を有する。信号対雑音比及びビットエラーレートなどのような他のチャネル状態は、動的に変化し、各インタフェースは、各チャネルの変化状態を連続的にチェックしなければならない。異なる方法を用いて、これらの状態を決定することができる。例えば、ＷｉＦｉインタフェースを備えたデバイスは、前記ＲＳＳＩを監視することができる。pingのようないくつかのユーザレベルのアプリケーションを使用して、ラウンドトリップ待ち時間のような前記チャネル状態をチェックすることもできる。
【０１３２】
例として、チャネルの動作条件が最小の望ましい要件より悪い場合に、前記チャネルマネージャは、異なるチャネルに能動的に切り替えて、より良いチャネルを検索する。ネットワークインタフェースがチャネルを変更することができず、パケットの送受信を同時に行うため、ネットワークインタフェースは、チャネルを変更するときに前記ホストデバイスをサービスするために利用できず、この期間は、大部分のネットワークインタフェースにとって非常に長い。前記適応通信デバイスが複数のネットワークインタフェースを有する場合に、前記パケットアービタは、チャネル切り替えの影響を受けない他の最適な動作チャネルにパケットをリダイレクトすることができる。チャネルを切り替えた後、新しく設定されたチャネルが既存のチャネルより良い場合に、前記パケットアービタは、新しいチャネルを再び使用するように切り替える。
【０１３３】
例として、チャネルの信頼性は、前記パケットエラーレートだけでなく、パケット送信エラーを検出しパケットを再送信するために必要な時間にも依存する。一例では、多様な物理特性を備えた複数のネットワークインタフェースを含む適応通信デバイスをコネクション型プロトコルと組み合わせ、再送信効率を高めることにより信頼性をさらに改善する。送信制御プロトコル（ＴＣＰ）のようなコネクション型プロトコルを使用する受信デバイスは、確認応答パケットを使用して、破損したデータパケットを再送信することを前記送信デバイスに通知する。再送信遅延は、前記送信デバイスが前記確認応答パケットをどのくらい速く受信するかに大きく依存する。一例では、適応通信デバイスは、高い送信レートをサポートする少なくとも１つの高速チャネル（高速データチャネルで示される）と、低いパケットエラーレートでロバストなパケット送信をサポートするより遅いがよりロバストである少なくとも１つのチャネル（ロバストなバックチャネルとして示される）とを提供する。前記適応通信デバイスのホストは、少なくとも２つのパケットサービスクラス、すなわち、ロバストなサービスクラス及び高速サービスクラスを定義する。コネクション型プロトコルのデータパケットは、前記高速クラスに属する。データパケットの受信を確認応答するために前記受信機によって送信される前記確認応答パケットは、前記ロバストなサービスクラスに属する。前記高速データチャネル及び前記ロバストなバックチャネルをそれぞれ設定する２つの適応通信デバイスは、それぞれデータチャネル及びロバストなチャネルを介して互いにデータパケット及び確認応答パケットを交換する。前記高速サービスクラスのサービス要件は、前記ロバストなサービスクラスに対してデータレートが高い。ロバストなサービスのサービス要件は、信頼性が高い。前記ロバストなチャネルを実装する前記物理ネットワークトランシーバ又はインタフェースは、ロバストなパケット送信を可能にする物理特性、例えばより低いビットエラーレート、より長い範囲、又は混雑しないＲＦ周波数の使用などを有するべきである。
【０１３４】
例として、ロバストなチャネルを実装する１つのタイプのネットワークトランシーバは、ｓｕｂ−ＧＨｚ  ＩＳＭトランシーバ又は８０２．１１ａｈデバイスなどのｓｕｂ−ＧＨｚトランシーバである。このタイプのパケットは、ｓｕｂ−ＧＨｚチャネルを介して送信されることに適する。例えば、ロバストなクラスのサービス要件は以下のとおりである：
１．最大で数百キロビット／秒の帯域幅、
２．１ｍｓ以下の低い予測可能な遅延。
【０１３５】
例として、ｓｕｂ−ＧＨｚチャネルは、一般的に１〜２Ｍｂｐｓの帯域幅を提供する。前記データレートは、ウェブブラウジング及びビデオストリーミングのような他の一般的な用途に対して低すぎるが、確認応答パケットを送信することに十分である。前記ｓｕｂ−ＧＨｚチャネルは、より高い物理レートのために最適化されるＷｉＦｉのような他の高速トランシーバよりさらにロバストである。前記ｓｕｂ−ＧＨｚチャネルのｓｕｂ−ＧＨｚ波長がより長いため、より長い距離トラベリングすることができ、したがって、より長い距離であっても低パケットエラーが可能である。さらなる例として、ネットワークインタフェース（例えば、ＷｉＦｉ、直交周波数分割多重（ＯＦＤＭ）、移動ベースバンド）は、前記高速データチャネルを実装することに適する候補である。
【０１３６】
例として、ゲームストリーミング、ドローンカメラのビデオストリーミング及びホームビデオストリーミングのようないくつかのビデオストリーミングアプリケーションでは、前記ビデオ受信機は、バックチャネルを提供して対話信号を送信して、ソースビデオを出力するデバイスをユーザによって遠隔制御することを可能にする。例えば、ゲームストリーミングシステムの前記バックチャネルは、マウス、キーボード、又はゲームパッドからの、ゲームコンソールと対話する制御信号を搬送する。ドローンのストリーミングにおいて、前記バックチャネルは、ドローンの飛行操作を遠隔制御する信号を搬送する。セットトップボックスビデオを他のＴＶにストリーミングするホームビデオストリーミングシステムでは、前記バックチャネルは、前記セットトップボックスを制御する赤外線リモコン制御信号を搬送する。対話パケットのサービス要件は、確認応答パケットのサービス要件に非常に類似する。両方とも、低いパケットエラーレートを必要とするが、高いデータレートを必要としない。結果として、前記適応通信デバイスは、前記確認応答パケットと対話パケットの両方を前記ロバストなサービスクラスにマッピングし、かつ前記ロバストなチャネルを使用してこれら２つのタイプのパケットを送受信する。一般的に、前記適応通信デバイスは、全てのタイプのパケットを前記ロバストなサービスクラスに割り当てることができ、前記パケットは、低いパケットエラーレートを必要とするが、高いデータレートを必要としない。
【０１３７】
信頼性をさらに向上させるために、１つの例示的な実施形態は、確認応答パケット及び対話パケットを複製する。前記受信機及び前記送信機は、チャネルのいずれか１つを介して成功して受信する確率をさらに増加させるために、前記データ及びロバストなチャネルを介してこれらのパケットを同時に送受信する。前記ビデオ送信機は、低レベルパケットのシーケンス番号により重複されたパケットの受信を識別し、ひいては、前記複製されたパケットを廃棄する。
【０１３８】
図１３は、１つの例示的な実施形態に係るビデオストリーミングを実行する方法１３００を示す。前記方法１３００は、改善された性能、例えば改善された信頼性及びエラー信頼性を備えたビデオストリーミングを実行する。
【０１３９】
ブロック１３０２は、ビデオデータから生成されかつ送信について優先した複数のレイヤのビットストリームパケットを送信することを述べる。一例として、前記複数のレイヤのビットストリームパケットは、ベースレイヤのパケットとエンハンスメントレイヤのパケットとを含む。前記ベースレイヤのパケットは下位レイヤに属し、送信についてより高い優先度を有し、前記エンハンスメントレイヤのパケットは上位レイヤに属し、送信についてより低い優先度を有する。
【０１４０】
ブロック１３０４は、ビットストリームパケットの受信状態を前記ビデオ送信機に通知する確認応答を受信することにより、ビデオストリーミングの実行に関するエラー耐性を改善することを述べる。例えば、特定のビットストリームパケットの送信失敗又はエラーを観察する場合に、前記ビデオ受信機は、確認応答パケットを生成して、前記ビデオ送信機に前記エラーを通知する。そのような最新の確認応答情報に基づいて、前記ビデオ送信機は、エラー伝搬を推定し、ひいてはアクションを実行し、例えば、前記下位レイヤのパケットがより高い優先度を有するように、前記ビットストリームパケットを前記ビデオ受信機に再送信する。
【０１４１】
図１４は、他の例示的な実施形態に係るビデオストリーミングを実行する方法１４００を示す。
【０１４２】
例として、前記方法１４００は、図８に示される適応通信デバイス８２０、８４０又は図１０に示される適応通信デバイス１００１などの適応通信デバイスによって実行することができる。説明のために、前記適応通信デバイスは、適応チャネリングを容易にする複数のネットワークインタフェースを含む。例えば、１つのネットワークインタフェースがデータ（例えば、ビデオパケット）を送信する場合に、他のネットワークインタフェースは、より良好なチャネルに切り替えられる。前記チャネルの切り替えを完了した後、両方のネットワークインタフェースを使用してデータを送信することができる。
【０１４３】
ブロック１４１０は、前記複数のネットワークインタフェースのうちの第１のネットワークインタフェースを用いて、通信チャネルを介して、前記適応通信デバイスによって生成された低レベルパケットを第２のデバイスに送信することを述べる。例えば、前記適応通信デバイスによって前記低レベルパケットをビデオパケット又はビットストリームパケットから変換することができる。前記第２のデバイスは、図３に示される前記ビデオ受信機３５０などの受信機であってよい。
【０１４４】
ブロック１４２０は、前記複数のネットワークインタフェースのうちの第２のネットワークインタフェースを用いて、チャネル状態に応じて、前記低レベルパケットを送信する他の通信チャネルに切り替えることを述べる。前記第２のネットワークインタフェースは、前記第１のネットワークインタフェースとは異なる。例として、前記チャネル状態は、前記信号対雑音比、前記物理レイヤ（ＰＨＹ）レート、前記ビットエラーレート、前記送信遅延、前記持続スループット及び他の特性などを含むがこれらに限定されない情報である。パケットが送信される前記通信チャネルのチャネル状態が望ましくない場合に、前記第２のネットワークインタフェースをより良好なチャネル状態を備えた他の通信チャネルに切り替えて、改善された信頼性を備えたパケット送信を容易にする。
【０１４５】
ブロック１４３０は、前記第１のネットワークインタフェース及び前記第２のネットワークインタフェースを用いて、他の通信チャネルを介して前記低レベルパケットを送信することを述べる。例えば、チャネルの切り替えを完了した後、両方のネットワークインタフェースを用いて、より良好なチャネル状態を備えた前記チャネルを介して前記低レベルパケットを送信する。
【０１４６】
例示的な実施形態に係る方法は、例として提供され、１つの方法例は、他の方法例を限定するように解釈されるべきではない。図面及び他の情報は、例示的なデータ及び例示的な構造を示し、例示的な実施形態では、他のデータ及び他のデータベース構造を実装することができる。さらに、異なる図面内で説明される方法は、他の図面における方法に追加されるか又はそれと交換され得る。さらに、特定の数値データ値（例えば、特定の数量、数、カテゴリ）又は他の特定の情報は、例示的な実施形態を説明する例示として解釈されるべきである。このような特定の情報は、例示的な実施形態を限定するために提供されない。
【０１４７】
本明細書で使用されるように、用語「ビデオパケット」及び「ビットストリームパケット」は、互換的に使用され、かつビデオビットストリーム又はビットストリームから符号化又は生成されるパケットを指す。
【０１４８】
本明細書で使用されるように、「ビデオ送信機」は、音声及び／又はビデオ信号又はデータを１つの場所から他の場所に送信するデバイスである。「ビデオ送信機」は、例えば、ソースデバイス（例えば、ビデオカメラ）からデータを受信し、前記データを符号化して送信する。
【０１４９】
本明細書で使用されるように、「ビデオ受信機」は、音声及び／又はビデオ信号又はデータを他のデバイス（例えば、ビデオ送信機）から受信するデバイスである。
【０１５０】
本明細書で使用されるように、「ｖｓｙｎｃパケット」は、前記ｖｓｙｎｃ立ち上がりエッジが前記ビデオ送信機によって観察される場合に、システム時間を搬送するパケットである。
【０１５１】
本明細書で使用されるように、「確認応答パケット」は、パケット、メッセージ又はセグメントが受信されたか否かを示す情報を含むネットワークパケットである。
【０１５２】
本明細書で使用されるように、「システム時間」とは、コンピュータシステムにおける経過時間という概念を指す。例えば、システム時間は、典型的には、任意の開始日以降に発生したティック数のための単純なカウントとして実施されるシステムクロックによって測定することができる。
【０１５３】
本明細書で使用されるように、「送信機システム時間」とは、ビデオ送信機のシステム時間を指す。「受信機システム時間」とは、ビデオ受信機のシステム時間を指す。
【０１５４】
本明細書で使用されるように、「低レベルパケット」は、前記要求されたサービスクラスに基づいて、ビットレート及び信頼性を最適化するパラメータで生成される。
【０１５５】
本明細書で使用されるように、「表示期限」とは、いくつかの生画素が前記パケットデータで復号化され、前記ビデオ出力インタフェースに送信されるべき時間を指す。
【０１５６】
本明細書で使用されるように、「パケット期限」とは、「表示期限から前記予測パケット送信レイテンシを差し引いて得られる値」に等しい。
【０１５７】
本明細書で使用されるように、「ビデオ品質」と「画像品質」は、互換的に使用される。「ビデオ品質」は、ビデオ送信／処理システムを通過するビデオの特性であり、（一般的に、元のビデオと比較して）知覚されるビデオ劣化の正式又は非公式の測定値である。
【０１５８】
本明細書で使用されるように、「使用可能なネットワーク帯域幅」は、データ送信のために使用可能なネットワーク帯域幅である。
【図１】
2019527943.tif 000003
【図２】
2019527943.tif 000004
【図３】
2019527943.tif 000005
【図４】
2019527943.tif 000006
【図５】
2019527943.tif 000007
【図６】
2019527943.tif 000008
【図７Ａ】
2019527943.tif 000009
【図７Ｂ】
2019527943.tif 000010
【図８】
2019527943.tif 000011
【図９】
2019527943.tif 000012
【図１０】
2019527943.tif 000013
【図１１】
2019527943.tif 000014
【図１２】
2019527943.tif 000015
【図１３】
2019527943.tif 000016
【図１４】
2019527943.tif 000017
【手続補正書】
【提出日】平成30年4月4日(2018.4.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオストリーミングを実行するシステムであって、
適応ビデオエンコーダを含み、かつビデオフレームを複数のレイヤのビットストリームパケットをそれぞれ有する複数のブロックに変換するビデオ送信機と、
適応ビデオデコーダを含み、前記複数のレイヤのビットストリームパケットを復号化し、どのブロックを受信したかをチェックし、かつ前記ブロック内の全てのビットを受信したかどうかを示す各ブロックの受信フラグと前記ブロック内に復号化エラーが存在するかどうかを示す各ブロックの復号化エラーフラグとを生成するビデオ受信機と、を含み、
前記適応ビデオエンコーダは、前記適応ビデオデコーダにおけるエラー伝搬を推定し、各ブロックの推定された復号化エラーフラグを決定し、前記推定された復号化エラーフラグに基づいて基準フレームを再構成し、これにより、前記適応ビデオエンコーダの基準フレームと前記ビデオ受信機の前記適応ビデオデコーダの復号化フレームとの間の不一致を排除するシステム。
【請求項２】
前記ビデオ送信機は、
前記適応ビデオエンコーダから受信された複数のレイヤのビデオビットストリームを、前記複数のレイヤのビットストリームパケットに変換し、前記ビデオ受信機と、ネットワーク管理パケットを交換して使用可能なネットワーク帯域幅を推定し、かつ前記適応ビデオエンコーダの前記複数のレイヤのビデオビットストリームの複数の符号化ビットレートを決定するネットワークアダプタと、
前記ビデオ送信機の垂直同期（ｖｓｙｎｃ）時間を記録し、ｖｓｙｎｃパケットを介して前記ｖｓｙｎｃ時間を前記ビデオ受信機に送信する送信（ＴＸ）シンクロナイザと
を含む、請求項１に記載のシステム。
【請求項３】
前記ビデオ送信機は、
前記適応ビデオエンコーダと通信し、パケットマネージャ及びネットワークインタフェースを含むネットワークアダプタであって、前記パケットマネージャは前記適応ビデオエンコーダから受信された複数のレイヤのビデオビットストリームから前記複数のレイヤのビットストリームパケットを生成し、かつ前記ビデオ受信機から受信された確認応答パケットに基づいて送信エラーに適応することを前記適応ビデオエンコーダに通知し、前記ネットワークインタフェースはネットワークを介して異なる優先度を有する前記複数のレイヤのビットストリームパケットを前記ビデオ受信機に送信する、ネットワークアダプタと、
前記ビデオ受信機と、１つ以上のｖｓｙｎｃパケットを交換して、前記ビデオ送信機と前記ビデオ受信機との間の時間を同期させる送信（ＴＸ）シンクロナイザと
を含む、請求項１に記載のシステム。
【請求項４】
前記ビデオ受信機は、
前記ビデオ送信機から前記複数のレイヤのビットストリームパケットを受信し、前記ビデオ送信機が送信エラーに適応するように、前記ビデオ送信機に返信されて前記複数のレイヤのビットストリームパケットのうちの１つのビットストリームパケットの受信状態を示す確認応答パケットを生成するネットワークアダプタと、
前記ビデオ送信機と、１つ以上のｖｓｙｎｃパケットを交換して、前記ビデオ送信機と前記ビデオ受信機との間の時間を同期させる受信（ＲＸ）シンクロナイザと、を含み、
前記ビデオ受信機は、前記ビデオ送信機の前記推定されたタイミングに基づいて、前記ビデオ受信機のタイミングを制御して、前記ビデオ送信機と同期し、これにより、ビデオストリーミングのレイテンシを低減し、性能を改善する、請求項１に記載のシステム。
【請求項５】
前記複数のレイヤのビットストリームパケットは、送信についてより高い優先度を有するベースレイヤのパケットと、送信についてより低い優先度を有するエンハンスメントレイヤのパケットとを含み、前記適応ビデオエンコーダは、異なる長さの前方誤り訂正（ＦＥＣ）符号を前記ビットストリームパケットに符号化し、前記ベースレイヤのパケットは、前記エンハンスメントレイヤのパケットと比較して、より長いＦＥＣ符号を有し、前記適応ビデオデコーダは、前記ベースレイヤのパケットを復号化して復号化されたベースレイヤのデータを取得するベースレイヤデコーダと、前記エンハンスメントレイヤのパケットを復号化して復号化されたエンハンスメントレイヤのデータを取得するエンハンスメントレイヤデコーダとを含む、請求項１に記載のシステム。
【請求項６】
信頼性及びレイテンシを改善したビデオストリーミングの実行を促進する方法であって、
ビデオデータから生成された複数のレイヤのビットストリームパケットをビデオ送信機からビデオ受信機に送信することと、
前記ビデオ受信機とネットワーク管理パケットを交換することにより、前記ビデオ送信機によって、前記複数のレイヤのビットストリームパケットを送信するための、かつ最小ネットワーク帯域幅及び平均ネットワーク帯域幅を含む、使用可能なネットワーク帯域幅を決定することと、
ベースレイヤのビットレートが前記最小ネットワーク帯域幅より小さいという条件、又は、合計の符号化ビットレートが前記平均ネットワーク帯域幅より小さいという条件の少なくとも一方を満たすように、複数の符号化ビットレートを、前記ビデオ送信機によって、前記使用可能なネットワーク帯域幅に基づいて、決定することにより、信頼性及びレイテンシを改善することと
を含む方法。
【請求項７】
前記ビデオ送信機によって、確認応答パケットから送信エラーを検出した場合は、下位レイヤのパケットが送信についてより高い優先度を有する前記複数のレイヤのビットストリームパケットのうちの複数のビットストリームパケットを、前記ビデオ受信機に再送信することと、
前記ビデオ送信機によって、ビットストリームパケットが古くなったと判断した場合は、前記ビットストリームパケットを廃棄することと、
前記ビデオ送信機によって、ビットストリームパケットが肯定確認応答された場合に、前記ビットストリームパケットを廃棄することと
をさらに含む、請求項６に記載の方法。
【請求項８】
前記複数のレイヤのビットストリームパケットを前記ビデオ送信機の１つ以上のパケットバッファに記憶して、バッファリングされたビットストリームパケットを取得することと、
同じレイヤのバッファリングされたビットストリームパケットを同じキューに入れるように、前記バッファリングされたビットストリームパケットを複数のキューにグループ化することと、
各バッファリングされたビットストリームパケットに対して表示期限を割り当てることと、
最下位レイヤのビットストリームパケットに関連付けられたキューから最上位レイヤのビットストリームパケットに関連付けられたキューにスキャンすることと、
少なくとも１つの適格なバッファリングされたビットストリームパケットを有する第１のキューを決定することと、
前記第１のキューから、送信について最も早い送信期限を備えた適格なバッファリングされたビットストリームパケットを選択することと
をさらに含む、請求項６に記載の方法。
【請求項９】
前記ビデオ送信機によって、よりロバストな変調方式を前記複数のレイヤのビットストリームパケットのうちの下位レイヤに適用することと、
前記ビデオ送信機によって、前記複数のレイヤのビットストリームパケットのうちの前記下位レイヤに、より長い前方誤り訂正符号を適用することと、
前記ビデオ送信機によって、前記複数のレイヤのビットストリームパケットのうちの前記下位レイヤに、より短いパケット長を選択することと、
前記下位レイヤがより良いネットワークサービスを得るように、前記ビデオ送信機によって、前記複数のレイヤのビットストリームパケットのうちの前記下位レイヤにサービス品質タグを割り当てることと
をさらに含む、請求項６に記載の方法。
【請求項１０】
ビデオストリーミングを改善する装置であって、
ビデオ送信機から複数のレイヤのビットストリームパケットを受信し、前記複数のレイヤのビットストリームパケットの各ビットストリームパケットから少なくとも１つの低レベルパケットを生成し、かつ１つ以上の通信チャネルを選択して前記少なくとも１つの低レベルパケットを送信するパケットアービタと、
前記パケットアービタと通信する少なくとも１つのネットワーク送信インタフェースと、
使用可能な変調、符号化方法及び対応するビットエラーレートを送信することにより前記パケットアービタ及び前記少なくとも１つのネットワーク送信インタフェースと通信し、前記ビデオ送信機から受信されたパケットサービスクラス構成情報と前記少なくとも１つのネットワーク送信インタフェースから受信されたチャネル状態統計情報とに基づいて前記パケットアービタのための指示を生成するチャネルマネージャと
を含む送信サブシステムを含む適応通信デバイスを含む、装置。
【請求項１１】
前記適応通信デバイスは、前記送信サブシステムと通信する受信サブシステムをさらに含み、前記受信サブシステムは、
前記送信サブシステムから前記少なくとも１つの低レベルパケットを受信する少なくとも１つのネットワーク受信インタフェースと、
前記少なくとも１つのネットワーク受信インタフェースを介して前記少なくとも１つの低レベルパケットを受信し、前記少なくとも１つの低レベルパケットからの前記複数のレイヤのビットストリームパケットに存在する元のビットストリームパケットを生成し、かつ前記元のビットストリームパケットをビデオ受信機に送信するパケット再生装置と
を含む、請求項１０に記載の装置。
【請求項１２】
少なくとも１つのネットワークインタフェースを含む他の適応通信デバイスであって、前記適応通信デバイスから前記少なくとも１つの低レベルパケットを受信し、前記低レベルパケットを前記複数のレイヤのビットストリームパケットに存在する元のビットストリームパケットに再構成するように、少なくとも１つの通信チャネルを提供する他の適応通信デバイスをさらに含む、請求項１０に記載の装置。
【請求項１３】
異なるサービスクラスのパケットの信頼性及びデータレートを最適化する適応通信デバイスによって実行される方法であって、
前記適応通信デバイスは、
少なくとも１つのネットワーク送信インタフェースを含み、ホストパケットの前記サービスクラス及び観測されたチャネル状態統計情報に応じて、前記データレート及び信頼性を最適化する少なくとも１つの低レベルパケットを生成し、１つ以上の通信チャネルを選択して前記少なくとも１つの低レベルパケットを送信する送信サブシステムと、
前記送信サブシステムと通信し、パケット再生装置及び少なくとも１つのネットワーク受信インタフェースを含む受信サブシステムであって、前記少なくとも１つのネットワーク受信インタフェースが、前記少なくとも１つの低レベルパケットを受信して前記少なくとも１つの低レベルパケットを前記パケット再生装置に転送し、前記パケット再生装置が、元のホストパケットを生成し、再生されたホストパケットの同じコピーを以前に受信したと判断した場合に前記再生されたホストパケットを破棄する受信サブシステムと
を含む方法。
【請求項１４】
前記適応通信デバイスによって、シーケンス番号を各低レベルパケットと関連付けることと、
前記適応通信デバイスによって、各コピーが同じシーケンス番号を有する前記各低レベルパケットの１つ以上のコピーを複製することと、
前記適応通信デバイスによって、前記各低レベルパケットの前記１つ以上のコピーの各コピー及び前記シーケンス番号を送信するパケットサービス要件を最適に満たす複数の通信チャネルを選択することと
をさらに含む、請求項１３に記載の方法。
【請求項１５】
より高いデータ送信レートをサポートする第１の通信チャネルと、より低いパケットエラーレートを備えたロバストなデータ送信をサポートする第２の通信チャネルとを有する前記適応通信デバイスによって、低レベルパケットを生成する最適なパラメータセットを決定することをさらに含む、請求項１３に記載の方法。
【請求項１６】
第１のネットワークインタフェース及び第２のネットワークインタフェースを含む複数のネットワークインタフェースを備えた前記適応通信デバイスを提供することと、
前記複数のネットワークインタフェースのうちの前記第１のネットワークインタフェースを用いて、通信チャネルを介して、前記適応通信デバイスによって生成された低レベルパケットを第２のデバイスに送信することと、
前記複数のネットワークインタフェースのうちの前記第１のネットワークインタフェースとは異なる前記第２のネットワークインタフェースを用いて、チャネル状態に応じて、前記低レベルパケットを送信する他の通信チャネルに切り替えることと、
前記第１のネットワークインタフェース及び前記第２のネットワークインタフェースを用いて、切り替え後の前記他の通信チャネルを介して、前記低レベルパケットを送信することと
をさらに含む、請求項１３に記載の方法。
【請求項１７】
信頼性を改善したビデオストリーミングを実行する電子システムによって実行される適応符号化方法であって、
再構成されたベースレイヤのデータを取得するために、前記電子システム内のベースレイヤエンコーダによって、ビデオソースから受信されたビデオデータを符号化することと、
再構成されたエンハンスメントレイヤのデータを取得するために、前記電子システム内のエンハンスメントレイヤエンコーダによって、前記ビデオデータを符号化することと、
基準フレームを再構成する時に、前記電子システムによって、前記再構成されたエンハンスメントレイヤのデータを使用して前記再構成されたベースレイヤのデータと組み合わせるかどうかを決定することと、
復号化されたベースレイヤのデータを取得するために、前記電子システム内のベースレイヤデコーダによって、ベースレイヤのビデオビットストリームを復号化することと、
復号化されたエンハンスメントレイヤのデータを取得するために、前記電子システム内のエンハンスメントレイヤデコーダによって、エンハンスメントレイヤのビデオビットストリームを復号化することと、
復号化フレームを生成する時に、前記電子システムによって、復号化エラーフラグに従って、前記復号化されたエンハンスメントレイヤのデータを使用して前記復号化されたベースレイヤのデータと組み合わせるかどうかを決定することと、
を含む、適応符号化方法。
【請求項１８】
エンハンスメントレイヤのビデオビットストリームと比較して送信についてより高い優先度を有するベースレイヤのビデオビットストリームと、前記エンハンスメントレイヤのビデオビットストリームとを含む、複数のレイヤのビデオビットストリームを、前記電子システム内のデコーダによって受信することと、
復号化されたベースレイヤのデータを取得するために、前記デコーダによって、前記ベースレイヤのビデオビットストリームを復号化することと、
復号化されたエンハンスメントレイヤのデータを取得するために、前記デコーダによって、前記エンハンスメントレイヤのビデオビットストリームを復号化することと、
前記デコーダによって、復号化エラービットに応じて、前記復号化されたベースレイヤのデータと前記復号化されたエンハンスメントレイヤのデータを組み合わせて復号化フレームを生成することにより、ビデオストリーミングの信頼性を改善することと
をさらに含む、請求項１７に記載の適応符号化方法。
【請求項１９】
レイテンシを改善したビデオストリーミングの実行を促進する方法であって、
ビデオ送信機からビデオ受信機へビデオデータを送信する時に、前記ビデオ送信機と前記ビデオ受信機との間のｖｓｙｎｃパケットの交換を介して、ビデオ出力インタフェースの垂直同期（ｖｓｙｎｃ）タイミングをビデオ入力インタフェースの垂直同期（ｖｓｙｎｃ）タイミングと同期させることにより、ビデオストリーミングのレイテンシを改善することを含み、
前記ビデオ受信機は、前記ビデオ送信機と同期するために、前記ビデオ送信機のタイミングを推定することにより前記ビデオ受信機のタイミングを制御し、それによって、ビデオストリーミングのレイテンシを低減し、性能を改善する方法。
【請求項２０】
前記ビデオ受信機によって、ｖｓｙｎｃ信号の２つの連続するｖｓｙｎｃ立ち上がりエッジ間の予測時間間隔を受信することと、
前記ビデオ受信機によって、次のｖｓｙｎｃ信号の時間を初期化することと、
前記ビデオ受信機によって、各クロックサイクルにおいて、最新のビデオ送信機ｖｓｙｎｃ時間を搬送する新しいｖｓｙｎｃパケットが受信されたかどうかをチェックすることと、
前記ビデオ受信機によって、前記ビデオ出力インタフェースの前記ｖｓｙｎｃ時間を更新することにより、レイテンシを改善することと
をさらに含む、請求項１９に記載の方法。
【請求項２１】
エラー耐性を改善したビデオストリーミングの実行を促進する方法であって、
ビデオデータから生成された複数のレイヤのビットストリームパケットを、適応ビデオエンコーダを含むビデオ送信機から適応ビデオデコーダを含むビデオ受信機に送信することと、
前記複数のレイヤのビットストリームパケットのうちの下位レイヤであるビットストリームパケットが前記ビデオ受信機に送信される時に、より高い優先度を有するように、前記ビデオ送信機によって、前記複数のレイヤのビットストリームに優先順位をつけることと、
前記ビデオ送信機が、大部分の最新の確認応答情報に基づいて前記ビデオ受信機によって観測されたエラー伝搬を推定し、基準フレームを再構成して前記ビデオ送信機の前記適応ビデオエンコーダの前記基準フレームと前記ビデオ受信機の前記適応ビデオデコーダの復号化フレームとの間の不一致を排除するように、前記ビデオ送信機によって、前記ビットストリームパケットの受信状態を前記ビデオ送信機に通知するために前記ビデオ送信機に送信される確認応答パケットを、前記ビデオ受信機から受信することにより、ビデオストリーミングの実行に関するエラー耐性を改善することと
を含む方法。
【請求項２２】
前記ビデオ送信機によって、確認応答パケットから送信エラーを検出した場合は、下位レイヤのパケットが送信についてより高い優先度を有する前記複数のレイヤのビットストリームパケットのうちの複数のビットストリームパケットを、前記ビデオ受信機に再送信することと、
前記ビデオ送信機によって、ビットストリームパケットが古くなったと判断した場合は、前記ビットストリームパケットを廃棄することと、
前記ビデオ送信機によって、ビットストリームパケットが肯定確認応答された場合は、前記ビットストリームパケットを廃棄することと
をさらに含む、請求項２１に記載の方法。
【請求項２３】
前記複数のレイヤのビットストリームパケットを前記ビデオ送信機の１つ以上のパケットバッファに記憶して、バッファリングされたビットストリームパケットを取得することと、
同じレイヤのバッファリングされたビットストリームパケットを同じキューに入れるように、前記バッファリングされたビットストリームパケットを複数のキューにグループ化することと、
各バッファリングされたビットストリームパケットに対して表示期限を割り当てることと、
最下位レイヤのビットストリームパケットに関連付けられたキューから最上位レイヤのビットストリームパケットに関連付けられたキューにスキャンすることと、
少なくとも１つの適格なバッファリングされたビットストリームパケットを有する第１のキューを決定することと、
前記第１のキューから、送信について最も早い送信期限を備えた適格なバッファリングされたビットストリームパケットを選択することと
をさらに含む、請求項２１に記載の方法。
【請求項２４】
前記ビデオ送信機によって、よりロバストな変調方式を前記複数のレイヤのビットストリームパケットのうちの下位レイヤに適用することと、
前記ビデオ送信機によって、前記複数のレイヤのビットストリームパケットのうちの前記下位レイヤに、より長い前方誤り訂正符号を適用することと、
前記ビデオ送信機によって、前記複数のレイヤのビットストリームパケットのうちの前記下位レイヤに、より短いパケット長を選択することと、
前記下位レイヤがより良いネットワークサービスを得るように、前記ビデオ送信機によって、前記複数のレイヤのビットストリームパケットのうちの前記下位レイヤにサービス品質タグを割り当てることと
をさらに含む、請求項２１に記載の方法。
【国際調査報告】
2019527943.tif 000018
2019527943.tif 000019