(57)【要約】【課題】無線ネットワークを介するビデオ・ストリーミングに関する優先度制御型の物理層伝送レート制御を提供すること。【解決手段】無線ネットワークを介するビデオ・ストリーミングに関する優先度制御型の物理層伝送レート制御が、ビデオ・フレームの少なくとも一部分を含むビデオ・パケットを受け取ることを含む。ビデオ・フレームは、複数のスライスを含み、これらのスライスのそれぞれは、或る特定のタイプの複数のマクロブロックを含む。現行の物理層伝送ビットレートが、少なくとも或る程度、（１）ビデオ品質に対するパケットの影響に関するパケットの相対的重要度、及び（２）前の物理層伝送ビットレートにおけるパケットの再送の回数に基づいて、決定される。パケットは、現行の物理層伝送ビットレートで送信される。【選択図】図５
2010016813.tif 000002
【特許請求の範囲】
【請求項１】
或る特定のタイプの複数のマクロブロックをそれぞれが含む複数のスライスを含むビデオ・フレームの少なくとも一部分を含むビデオ・パケットを受け取るステップ、
少なくとも或る程度、ビデオ品質に対する該パケットの影響に関する前記パケットの相対的重要度、及び前の物理層伝送ビットレートにおける前記パケットの再送の回数に基づいて、現行の物理層伝送ビットレートを決定するステップ、及び
前記現行の物理層伝送ビットレートで前記パケットを送信するステップを含む方法。
【請求項２】
Ｉフレーム・データを含むパケット、Ｐフレーム・データを含むパケット、及びＢフレーム・データを含むパケットの前記相対的重要度は、それぞれ、高、中、低である請求項１に記載の方法。
【請求項３】
パケットの前記相対的重要度は、重要度の高い順に、
１つ又は複数のＩピクチャ・スライス又はＭＰＥＧヘッダを含むパケット、
αを超える割合のＩマクロブロックを含む１つ又は複数のＰピクチャ・スライスを含むパケット、
αを超える割合のＩマクロブロックを含む１つ又は複数のＢピクチャ・スライスを含むパケット、
βという割合未満のスキップ・マクロブロックを含む１つ又は複数のスライスを含むパケット、及び
βという割合を超えるスキップ・マクロブロックを含む１つ又は複数のスライスを含むパケットであり、（０＜α、β＜１）である請求項１に記載の方法。
【請求項４】
αに関する値、及びβに関する値は、αの様々な値、及びβの様々な値を使用して送信された、復号されたビデオを分析することによって得られる請求項３に記載の方法。
【請求項５】
前記決定することに先立って、複数の利用可能な物理層伝送ビットレートのそれぞれに関連するＰＥＲ（パケット誤り率）を、少なくとも或る程度、前記それぞれの物理層伝送ビットレートにおける送信されたパケットの数、及び受信された、関連する確認応答に基づいて推定するステップ、及び
前記複数の利用可能な物理層伝送ビットレートを、前記それぞれの物理層伝送ビットレートのそれぞれにおける伝送成功の確率に応じて、格付けするステップを更に含み、前記格付けすることは、少なくとも或る程度、前記推定することに基づく請求項１に記載の方法。
【請求項６】
前記推定することのために使用される前記送信されるパケットは、プローブ・パケットを含む請求項５に記載の方法。
【請求項７】
前記推定することのために使用される前記送信されるパケットは、圧縮されたビデオ・シーケンスのパケットを含む請求項５に記載の方法。
【請求項８】
前記推定することは、周期的に実行される請求項５に記載の方法。
【請求項９】
前記複数の利用可能な物理層伝送ビットレートの第１のビットレートの前記ＰＥＲは、前記複数の利用可能な物理層伝送ビットレートの第２のビットレートの前記ＰＥＲより高く、更に
前記第１のビットレートは、前記第２のビットレートより高い請求項５に記載の方法。
【請求項１０】
前記複数の利用可能な物理層伝送ビットレートの第１のビットレートの前記ＰＥＲは、前記複数の利用可能な物理層伝送ビットレートの第２のビットレートの前記ＰＥＲより高く、更に
前記第１のビットレートは、前記第２のビットレートより低い請求項５に記載の方法。
【請求項１１】
メモリと、
或る特定のタイプの複数のマクロブロックをそれぞれが含む複数のスライスを含むビデオ・フレームの少なくとも一部分を含むビデオ・パケットを受け取り、
少なくとも或る程度、ビデオ品質に対する該パケットの影響に関する前記パケットの相対的重要度、及び前の物理層伝送ビットレートにおける前記パケットの再送の回数に基づいて、現行の物理層伝送ビットレートを決定し、更に
前記現行の物理層伝送ビットレートで前記パケットを送信するように構成されたプロセッサとを含む装置。
【請求項１２】
Ｉフレーム・データを含むパケット、Ｐフレーム・データを含むパケット、及びＢフレーム・データを含むパケットの前記相対的重要度は、それぞれ、高、中、低である請求項１１に記載の装置。
【請求項１３】
パケットの前記相対的重要度は、重要度の高い順に、
１つ又は複数のＩピクチャ・スライス又はＭＰＥＧヘッダを含むパケット、
αを超える割合のＩマクロブロックを含む１つ又は複数のＰピクチャ・スライスを含むパケット、
αを超える割合のＩマクロブロックを含む１つ又は複数のＢピクチャ・スライスを含むパケット、
βという割合未満のスキップ・マクロブロックを含む１つ又は複数のスライスを含むパケット、及び
βという割合を超えるスキップ・マクロブロックを含む１つ又は複数のスライスを含むパケットであり、（０＜α、β＜１）である請求項１１に記載の装置。
【請求項１４】
前記プロセッサは、αに関する値、及びβに関する値は、αの様々な値、及びβの様々な値を使用して送信された、復号されたビデオを分析することによって得るように更に構成される請求項１３に記載の装置。
【請求項１５】
前記プロセッサは、
前記決定することに先立って、複数の利用可能な物理層伝送ビットレートのそれぞれに関連するＰＥＲ（パケット誤り率）を、少なくとも或る程度、前記それぞれの物理層伝送ビットレートにおける送信されたパケットの数、及び受信された、関連する確認応答に基づいて推定し、更に
前記複数の利用可能な物理層伝送ビットレートを、前記それぞれの物理層伝送ビットレートのそれぞれにおける伝送成功の確率に応じて、格付けするように更に構成され、前記格付けすることは、少なくとも或る程度、前記推定することに基づく請求項１１に記載の装置。
【請求項１６】
前記推定することのために使用される前記送信されるパケットは、プローブ・パケットを含む請求項１５に記載の装置。
【請求項１７】
前記推定することのために使用される前記送信されるパケットは、圧縮されたビデオ・シーケンスのパケットを含む請求項１５に記載の装置。
【請求項１８】
前記プロセッサは、前記ＰＥＲを周期的に推定するように更に構成される請求項１５に記載の装置。
【請求項１９】
前記複数の利用可能な物理層伝送ビットレートの第１のビットレートの前記ＰＥＲは、前記複数の利用可能な物理層伝送ビットレートの第２のビットレートの前記ＰＥＲより高く、更に
前記第１のビットレートは、前記第２のビットレートより高い請求項１５に記載の装置。
【請求項２０】
前記複数の利用可能な物理層伝送ビットレートの第１のビットレートの前記ＰＥＲは、前記複数の利用可能な物理層伝送ビットレートの第２のビットレートの前記ＰＥＲより高く、更に
前記第１のビットレートは、前記第２のビットレートより低い請求項１５に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ・サイエンスの分野に関する。より詳細には、本発明は、無線ネットワークを介するビデオ・ストリーミングに関する優先度制御型の物理層伝送レート制御に関する。
【背景技術】
【０００２】
無線ネットワークを介してビデオ・データを含むパケットのストリーミングを行うアプリケーションにおいて、無線媒体の様々な性質に起因するパケット・ロスが、視聴者の体験に悪影響を及ぼす可能性がある。伝送誤りのために失われるパケットの数を減らすため、無線ネットワークは、通常、最初の伝送が失敗した場合にパケットが再送される、再送機構を行使する。しかし、そのようなソリューションは、通常、限られた回数の再送の試みを行い、このことは、しばしば、パケット・ロスをもたらす。
【０００３】
ＯｎｏｅやＳａｍｐｌｅＲａｔｅなどのレート適応アルゴリズムは、時間につれ変化する伝達関数を有する無線媒体を介したアプリケーション・スループットを最大化することを目的とする。これらのアルゴリズムの相対的パフォーマンスは、無線媒体の厳密な性質に依存する。しかし、そのようなアルゴリズムは、ビデオ・ストリーミングなどの時間に敏感なアプリケーションの要件に適応しない。
【０００４】
別のソリューションは、受信機におけるＳＮＲ（信号対雑音比）に応じてパケット伝送レートを調整する。壊れたペイロードを有するパケットが、受信機アプリケーションに到達することを許されると、視聴者の体験の質に悪影響を及ぼす。壊れたパケットがアプリケーション層に到達することを許す決定は、特定のビデオ・パケットの相対的重要度に依存する、損失許容レベルに応じて行われる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
したがって、ビデオ・ストリーミングのための改良されたソリューションの必要性が、当技術分野に存在する。
【課題を解決するための手段】
【０００６】
無線ネットワークを介するビデオ・ストリーミングに関する優先度制御型の物理層伝送レート制御が、ビデオ・フレームの少なくとも一部分を含むビデオ・パケットを受信することを含む。ビデオ・フレームは、複数のスライスを含み、これらのスライスのそれぞれは、或る特定のタイプの複数のマクロブロックを含む。現行の物理層伝送ビットレートが、少なくとも或る程度、（１）ビデオ品質に対するパケットの影響に関するパケットの相対的重要度、及び（２）前の物理層伝送ビットレートにおけるパケットの再送の回数に基づいて、決定される。パケットは、この現行の物理層伝送ビットレートで送信される。
【０００７】
本明細書に組み込まれ、本明細書の一部を成す添付の図面は、本発明の１つ又は複数の実施例を示し、詳細な説明と一緒に、本発明の原理及び実施例を説明する役割をする。
【図面の簡単な説明】
【０００８】
【図１】本発明の態様を実施するのに適したコンピュータ・システムを示すブロック図である。
【図２】本発明の一実施例による無線ネットワークを介するビデオ・ストリーミングに関する優先度制御型の物理層伝送レート制御のためのシステムを示すブロック図である。
【図３】本発明の一実施例による無線ネットワークを介するビデオ・ストリーミングに関する優先度制御型の物理層伝送レート制御のための送信機を示すブロック図である。
【図４】Ａは、圧縮されたビデオ・シーケンスの通常のＧＯＰ構造を示すブロック図である。Ｂは、アプリケーション層ＭＰＥＧパケット及びＭＡＣ層ＭＰＥＧパケットを示すブロック図である。Ｃは、ＭＰＥＧパケット・ヘッダを示すブロック図である。
【図５】Ａは、本発明の一実施例による、送信機の観点からの無線ネットワークを介するビデオ・ストリーミングに関する優先度制御型の物理層伝送レート制御のための高レベルの方法を示す流れ図である。Ｂは、本発明の一実施例による、物理層伝送ビットレートをパケット・タイプに関連付けるための方法を示す流れ図である。
【図６】Ａは、本発明の一実施例による、ビデオ品質に対するパケットの影響に応じてパケットの重要度を分類することを示すブロック図である。Ｂは、本発明の一実施例による、ビデオ品質に対するパケットの影響に応じてパケットの重要度を分類することを示すブロック図である。
【図７】本発明の一実施例による、送信機の観点からの無線ネットワークを介するビデオ・ストリーミングに関する優先度制御型の物理層伝送レート制御のための低レベルの方法を示す流れ図である。
【図８】Ａは、本発明の一実施例による、送信されるパケットの相対的重要度に応じたパケットの相次ぐ再送のための例示的なビットレート選択を示すブロック図である。Ｂは、本発明の一実施例による中重要度パケットに関する例示的な再送レート適応スキームを示すブロック図である。
【発明を実施するための形態】
【０００９】
本発明の実施例は、無線ネットワークを介するビデオ・ストリーミングに関する優先度制御型の物理層伝送レート制御の文脈において本明細書で説明される。本発明の以下の詳細な説明は、単に例示的であり、限定することを全く意図していないことが、当業者には認識されよう。本発明の他の実施例が、本開示を役立てる、そのような当業者には直ちに想起されよう。次に、添付の図面に示される本発明の実施例を詳細に参照する。図面の全て、及び以下の詳細な説明において、同一の、又は同様の部分を参照するのに同一の符号が使用される。
【００１０】
本発明の例示的な実施例は、連続したパケット・ロスが生じた場合に、ビデオ・パケットの重要度に基づいて、物理層再送ビットレートを適応させることによって、無線ネットワークを介するビデオ・ストリーミング体験を向上させる。再送ビットレートは、重要なビデオ・パケットを失う確率を最小限に抑えるように適合される。相次ぐ再送ビットレートが、ビデオ品質に対するパケットの影響に関するパケットの重要度、並びに優勢なチャネル条件に応じて、適合される。最高重要度のパケットには、最高の伝送成功確率が保証される一方で、最低重要度を有するパケットには、同一の伝送成功確率が保証されないことが可能である。或るパケットが伝送誤りを被った場合、後続の再送の試みは、そのパケットの相対的重要度に応じて、前の伝送レート以下のビットレートで行われる。
【００１１】
簡明のため、これらの実施例の定常的な特徴の全てが、本明細書で示され、説明されるわけではない。もちろん、いずれそのような実際の実施例の開発においても、アプリケーション関連、及びビジネス関連の制約の遵守などの、開発者の特定の目標を実現するため、多数の実施例特有の決定が行われなければならないこと、及びこれらの特定の目標は、実施例ごと、及び開発者ごとに異なることが、認識されよう。更に、そのような開発の取り組みは、複雑であり、時間がかかる可能性があるが、それでも、本開示を役立てる当業者には日常の工学的作業であることが、認識されよう。
【００１２】
本発明の一実施例によれば、構成要素、プロセス・ステップ、及び／又はデータ構造は、様々なタイプのＯＳ（オペレーティング・システム）、コンピューティング・プラットフォーム、ファームウェア、コンピュータ・プログラム、コンピュータ言語、及び／又は汎用マシンを使用して実施されることが可能である。この方法は、処理回路上で実行されるプログラミングされたプロセスとして実行されることが可能である。処理回路は、プロセッサ及びオペレーティング・システム、接続及びネットワーク、データ・ストア、又は独立型デバイスの多数の組み合わせの形態をとることが可能である。プロセスは、そのようなハードウェアによって実行される命令として、ハードウェア単独として、又はそのような命令とハードウェアの任意の組み合わせとして実施されることが可能である。ソフトウェアは、マシンによって読み取り可能なプログラム・ストレージ・デバイス上に格納されることが可能である。
【００１３】
本発明の一実施例によれば、構成要素、プロセス、及び／又はデータ構造は、カリフォルニア州サンタクララ所在のサン・マイクロシステムズ株式会社から入手可能なＳｏｌａｒｉｓ（登録商標）、ワシントン州レッドモンド所在のマイクロソフト・コーポレーションから入手可能なＷｉｎｄｏｗｓ（登録商標）Ｖｉｓｔａ（商標）、Ｗｉｎｄｏｗｓ（登録商標）ＮＴ（登録商標）、Ｗｉｎｄｏｗｓ（登録商標）ＸＰ、Ｗｉｎｄｏｗｓ（登録商標）ＸＰ  ＰＲＯ、及びＷｉｎｄｏｗｓ（登録商標）２０００、カリフォルニア州クパチーノ所在のアップル株式会社から入手可能なＡｐｐｌｅ  ＯＳ  Ｘベースのシステム、又はいくつかのベンダから入手可能なＬｉｎｕｘなどのＵｎｉｘ（登録商標）オペレーティング・システムの様々なバージョンなどのＯＳを実行しているパーソナル・コンピュータ、ワークステーション・コンピュータ、メインフレーム・コンピュータ、又は高性能サーバなどのデータ処理コンピュータ上で実行されている機械語プログラム、アセンブラ言語プログラム、Ｃ若しくはＣ＋＋言語プログラム、Ｊａｖａ（登録商標）言語プログラム、及び／又は他の高レベル言語プログラムを使用して実施されることが可能である。また、この方法は、複数プロセッサ・システム上で、或いは入力デバイス、出力デバイス、ディスプレイ、ポインティング・デバイス、メモリ、ストレージ・デバイス、プロセッサにデータを転送するため、及びプロセッサからデータを転送するためのメディア・インタフェースなどの様々な周辺装置を含むコンピューティング環境において実施されることも可能である。更に、そのようなコンピュータ・システム又はコンピューティング環境は、ローカルで、又はインターネット若しくは他のネットワークを介してネットワーク化されてもよい。様々な実施例が使用されることが可能であり、他のタイプのオペレーティング・システム、コンピューティング・プラットフォーム、コンピュータ・プログラム、ファームウェア、コンピュータ言語、及び／又は汎用マシンを含むことが可能であり、更に、配線によるデバイス、ＦＰＧＡ（フィールド・プログラマブル・ゲート・アレイ）、ＡＳＩＣ（特定用途向け集積回路）などの、それほど汎用性のない性質のデバイスが、本明細書で開示される発明の概念の範囲及び趣旨を逸脱することなく、使用されることも可能であることが当業者には認識されよう。
【００１４】
本発明の文脈において、「ネットワーク」という用語には、ＬＡＮ（ローカル・エリア・ネットワーク）、ＷＡＮ（ワイド・エリア・ネットワーク）、メトロポリタン・エリア・ネットワーク、住宅用ネットワーク、企業ネットワーク、インターネットワーク、インターネット、Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ、ケーブル・テレビ・システム、電話システム、無線遠隔通信システム、光ファイバ・ネットワーク、トークン・リング・ネットワーク、イーサネット（登録商標）・ネットワーク、ＡＴＭネットワーク、フレーム・リレー・ネットワーク、衛星通信システムなどが含まれる。そのようなネットワークは、当技術分野でよく知られており、したがって、本明細書で更に説明することはしない。
【００１５】
本発明の文脈において、「識別子」という用語は、１つ又は複数の数、文字、シンボルなどの順序付けられた系列を表す。より一般的には、「識別子」は、１つ又は複数のビットによって表されることが可能な任意のエンティティを表す。
【００１６】
本発明の文脈において、「プロセッサ」という用語は、物理的コンピュータ（独立型又は分散型の）、又はデータを処理若しくは変換する仮想マシン（独立型又は分散型の）を表す。プロセッサは、ハードウェア、ソフトウェア、ファームウェア、又は以上の組み合わせにおいて実施されることが可能である。
【００１７】
本発明の文脈において、「データ・ストア」という用語は、デジタル又はアナログの情報又はデータを格納するための、ローカル、又は分散型の、ハードウェア及び／又はソフトウェアの手段又は装置を表す。「データ・ストア」という用語は、例として、ＲＡＭ（ランダム・アクセス・メモリ）、ＲＯＭ（読み取り専用メモリ）、ＤＲＡＭ（ダイナミック・ランダム・アクセス・メモリ）、ＳＤＲＡＭ（スタティック・ダイナミック・ランダム・アクセス・メモリ）、フラッシュ・メモリ、ハード・ドライブ、ディスク・ドライブ、フロッピー（登録商標）・ドライブ、テープ・ドライブ、ＣＤドライブ、ＤＶＤドライブ、磁気テープ・デバイス（オーディオ、ビジュアル、アナログ、デジタル、又は以上の組み合わせ）、光ストレージ・デバイス、ＥＥＰＲＯＭ（電気的に消去可能なプログラマブル読み取り専用メモリ）、ソリッド・ステート・メモリ・デバイス、及びＵＳＢ（ユニバーサル・シリアル・バス）ストレージ・デバイスなどを表す。また、「データ・ストア」という用語は、例として、データベース、ファイル・システム、記録システム、オブジェクト指向データベース、リレーショナル・データベース、ＳＱＬデータベース、監査証跡ログ、プログラム・メモリ、キャッシュ及びバッファなども表す。
【００１８】
本発明の文脈において、「ネットワーク・インタフェース」という用語は、ユーザが、ネットワークをまたいで通信する目的で、又はネットワークから情報を取り出す目的で、ネットワークにアクセスする手段を表す。
【００１９】
本発明の文脈において、「ユーザ・インタフェース」という用語は、情報及び／又は指示を個人に提示するため、及び／又は個人から受け取るための任意のデバイス、又は任意の一群のデバイスを表す。ユーザ・インタフェースは、ビジュアル・ディスプレイ・プロジェクタ若しくはスクリーン、スピーカ、照明若しくは照明のシステム、プリンタ、点字デバイス、振動デバイスなどの、個人に情報を提示する手段を含むことが可能である。また、ユーザ・インタフェースには、ボタン、キー、レバー、スイッチ、ノブ、タッチパッド、タッチスクリーン、マイクロホン、音声検出器、動き検出器、カメラ、及び光検出器の１つ又は複数、或いは組み合わせなどの、個人から情報又は指示を受け取る手段が含まれることも可能である。例示的なユーザ・インタフェースは、ポケットベル、移動電話機、デスクトップ・コンピュータ、ラップトップ・コンピュータ、ハンドヘルド・コンピュータ及びパーム・コンピュータ、ＰＤＡ（パーソナル・デジタル・アシスタント）、ＣＲＴ（陰極線管）、キーボード、キーパッド、ＬＣＤ（液晶ディスプレイ）、コントロール・パネル、ホーン、サイレン、アラーム、プリンタ、スピーカ、マウス・デバイス、コンソール、及び音声認識デバイスを含む。
【００２０】
本発明の文脈において、「システム」という用語は、１つ又は複数のデータ・ネットワーク又はデータ接続を介して、本発明の実施例と通信するように適合され、本発明の実施例と併せて使用されるように適合された、プロセッサ手段、データ格納手段、プログラム手段、及び／又はユーザ・インタフェース手段を含む、ハードウェア及び／又はソフトウェアの任意のコンピュータ情報及び／又は制御デバイス、任意の複数のコンピュータ情報及び／又は制御デバイス、或いは任意のコンピュータ情報及び／又は制御デバイスのネットワークを表す。
【００２１】
図１は、本発明の態様を実施するのに適したコンピュータ・システム１００のブロック図を示す。図１に示されるとおり、システム１００は、プロセッサ１０４、内部メモリ１０６（ＲＡＭなどの）、Ｉ／Ｏ（入出力）コントローラ１０８、リムーバブル・メモリ（メモリ・カードなどの）１２２、ディスプレイ・アダプタ１１２を介するディスプレイ・スクリーン１１０などの外部デバイス、ローラ型入力デバイス１１４、ジョイスティック１１６、数字キーボード１１８、英数字キーボード１１８、方向ナビゲーション・パッド１２６、及び無線インタフェース１２０などの主要なサブシステムを互いに接続するバス１０２を含む。他の多くのデバイスが接続されることが可能である。無線ネットワーク・インタフェース１２０、有線ネットワーク・インタフェース１２８、又はその両方が、当業者に知られている任意のネットワーク・インタフェース・システムを使用するローカル・エリア・ネットワーク又はワイド・エリア・ネットワーク（インターネットなどの）とインタフェースをとるのに使用されることが可能である。
【００２２】
他の多くのデバイス又はサブシステム（図示せず）が、同様に接続されることが可能である。また、図１に示されるデバイスの全てが、本発明を実施するのに存在する必要もない。更に、デバイス及びサブシステムは、図１に示されるのとは異なる仕方で互いに接続されてもよい。本発明を実施するコードは、内部メモリ１０６の中に動作可能なように配置される、或いはリムーバブル・メモリ１２２、フロッピー（登録商標）・ディスク、サム・ドライブ、ＣｏｍｐａｃｔＦｌａｓｈ（登録商標）ストレージ・デバイス、ＤＶＤ−Ｒ（「デジタル・バーサタイル・ディスク」又は「デジタル・ビデオ・ディスク」レコーダブル）、ＤＶＤ−ＲＯＭ（「デジタル・バーサタイル・ディスク」又は「デジタル・ビデオ・ディスク」読み取り専用メモリ）、ＣＤ−Ｒ（コンパクト・ディスク−レコーダブル）、又はＣＤ−ＲＯＭ（コンパクト・ディスク読み取り専用メモリ）などの記憶媒体上に格納されることが可能である。
【００２３】
図２は、本発明の一実施例による無線ネットワークを介するビデオ・ストリーミングに関する優先度制御型の物理層伝送レート制御のためのシステムを示すブロック図である。図２に示されるとおり、送信機２２０が、ネットワーク２２５を介して受信機２３０に通信するように結合される。本発明の一実施例によれば、送信機２２０は、ビデオ・フレームの少なくとも一部分を含むビデオ・パケットを受け取るように構成され、但し、このビデオ・フレームは、或る特定のタイプの複数のマクロブロックをそれぞれが含む複数のスライスを含む。送信機２２０は、少なくとも或る程度、（１）ビデオ品質に対するパケットの影響に関するパケットの相対的重要度、及び（２）前の物理層伝送ビットレートにおけるパケットの再送の回数に基づいて、現行の物理層伝送ビットレートを決定するように更に構成される。送信機２２０は、現行の物理層伝送ビットレートで１つ又は複数の受信機２３０にパケットを送信するように更に構成される。
【００２４】
図３は、本発明の一実施例による無線ネットワークを介するビデオ・ストリーミングに関する優先度制御型の物理層伝送レート制御のための送信機を示すブロック図である。図３は、図２の符号２２０に関して更なる詳細を与える。図３に示されるとおり、送信機３００は、バス３３０を介して結合されたプロセッサ３０５、メモリ３１０、データ・ストレージ・デバイス３１５、Ｉ／Ｏ（入出力）インタフェース３２０、及び優先伝送レート・コントローラ３２５を含む。プロセッサ３０５は、本明細書で開示されるパケットの優先伝送レート制御を実行するように構成されることが可能である。代替として、優先伝送レート・コントローラ３２５は、プロセッサ３０５の制御下で優先伝送レート制御を実行するように構成されてもよい。メモリ３１０及びデータ・ストレージ・デバイス３１５は、パケットが１つ又は複数の受信機に送信される前に、パケットを格納するため、又はバッファリングするために使用されることが可能である。Ｉ／Ｏインタフェース３２０は、送信機３００とその他のデバイスの間のインタフェースをもたらすように構成される。
【００２５】
図４Ａは、圧縮されたビデオ・シーケンスの通常のＧＯＰ構造を示すブロック図である。ＭＰＥＧ符号化は、フレーム内空間的冗長性及びフレーム間時間的冗長性を活用する。フレーム内符号化は、空間的冗長性の低減のための圧縮に基づくＤＣＴを使用して達せられるのに対して、ブロック・ベースの動き補償が、フレーム間符号化に関する時間的冗長性を活用するために使用される。ＭＰＥＧストリームは、３つの種類のフレーム、Ｉフレーム（イントラ・フレーム）、Ｐフレーム（前方予測フレーム）、及びＢフレーム（双方向予測フレーム）を含む。
【００２６】
Ｉフレームは、他のいずれのフレームも参照することなしに再構築されることが可能である。Ｐフレームは、最後のＩフレーム又は最後のＰフレームから前方予測される。Ｂフレームは、最後のＩフレーム又は最後のＰフレームと次のＩフレーム又は次のＰフレームから前方予測されるとともに、後方予測される。いくつかのこれらのフレームが、ＧＯＰ（Ｇｒｏｕｐ  ｏｆ  Ｐｉｃｔｕｒｅ）を形成するようにグループ化される。ＧＯＰは、隣接するＧＯＰの中のピクチャに対する依存関係をほとんど、又は全く有さない。図４Ａは、Ｐフレームの前方予測、Ｂフレームの前方予測、及びＢフレームの後方予測を示す通常のＧＯＰを例示する。
【００２７】
これらのフレームのそれぞれは、スライスと呼ばれる独立に復号可能なユニットの系列を含む。スライスは、マクロブロックの系列に更に断片化されることが可能である。マクロブロックは、変換係数及び動きベクトルの予測符号化に関して各スライス内の隣接するマクロブロックに依存する。しかし、異なるスライスの中のマクロブロックは、互いに依存しない。Ｉフレームは、Ｉマクロブロックだけしか含むことができない。しかし、Ｐフレーム及びＢフレームは、Ｉマクロブロックも含むことができる。
【００２８】
図４Ｂは、アプリケーション層ＭＰＥＧパケット及びＭＡＣ層ＭＰＥＧパケットを示すブロック図である。更に、図４Ｃは、ＭＰＥＧパケット・ヘッダを示すブロック図である。本発明の一実施例によれば、ビデオ品質に対するスライスの影響に関するスライスを送信することの重要度が、そのスライスの全部又は一部を含むパケットに関して、パケット・ヘッダ４１０のタイプ・オブ・ピクチャ・フラグ４１５によって示される。ビデオ・データの重要度を判定する際のタイプ・オブ・ピクチャ・フラグ４１５の使用は、図６Ａ及び図６Ｂに関連して後段で詳細に説明される。
【００２９】
図５Ａは、本発明の一実施例による、送信機の観点からの無線ネットワークを介するビデオ・ストリーミングに関する優先度制御型の物理層伝送レート制御のための高レベルの方法を示す流れ図である。図５Ａに示されるプロセスは、ハードウェア、ソフトウェア、ファームウェア、又は以上の組み合わせにおいて実施されることが可能である。例えば、図５Ａに示されるプロセスは、図２の送信機２２０によって実行されることが可能である。５００で、ビデオ・フレームの少なくとも一部分を含むビデオ・パケットが、受け取られる。ビデオ・フレームは、或る特定のタイプの複数のマクロブロックをそれぞれが有する複数のスライスを含む。５０５で、現行の物理層伝送ビットレートが、少なくとも或る程度、（１）ビデオ品質に対するパケットの影響に関するパケットの相対的重要度、及び（２）前の物理層伝送ビットレートにおけるパケットの再送の回数に基づいて、決定される。５１０で、パケットが、５０５で決定された現行の物理層伝送ビットレートで送信される。
【００３０】
本発明の例示的な実施例によれば、利用可能な各伝送レートに関するＰＥＲ（パケット誤り率）が、算出され、この情報が、或る特定のタイプのパケットに関していずれの伝送レートを使用すべきかを決定する際に使用される。利用可能な物理層伝送レートのセットＲ、ＲＮ＞ＲＮ−１＞．．．＞Ｒ１を考慮されたい。レートＲｎに伴うＰＥＲをＥｎとする。本発明の例示的な実施例によれば、送信機は、送信されたパケットの数と受信された確認応答の統計に基づいて、利用可能な全てのレートに関するＰＥＲを推定するように構成される。また、送信機は、ＳＮＲ（信号対雑音比）値及びその他のチャネル統計を使用して、ＰＥＲに関する理論値を計算するように構成されることも可能である。一般に、ＥＮ＞ＥＮ−１＞．．．＞Ｅ１であるが、実際には、或る特定のレートを実現するのに使用される様々な伝送技術のため、この関係が成立しないことが可能である。例えば、ＩＥＥＥ８０２．１１ｇにおいて、１Ｍｂｐｓレートが、ＤＳＳＳを使用して達せられる一方で、６Ｍｂｐｓレートが、ＯＦＤＭを使用して達せられる。一部の状況において、１Ｍｂｐｓビットレートが、６Ｍｂｐｓビットレートと比べて、より高いＰＥＲを有することが可能であり、また逆に６Ｍｂｐｓビットレートが、１Ｍｂｐｓビットレートと比べて、より高いＰＥＲを有することも可能である。物理層伝送ビットレートをパケット・タイプに関連付けることが、図５Ｂを参照して、以下により詳細に説明される。
【００３１】
図５Ｂは、本発明の一実施例による、物理層伝送ビットレートをパケット・タイプに関連付けるための方法を示す流れ図である。図５Ｂに示されるプロセスは、ハードウェア、ソフトウェア、ファームウェア、又は以上の組み合わせにおいて実施されることが可能である。例えば、図５Ｂに示されるプロセスは、図２の送信機２２０によって実行されることが可能である。５１５で、複数の利用可能な物理層伝送ビットレートのそれぞれに関連するＰＥＲ（パケット誤り率）が、少なくとも或る程度、それぞれの物理層伝送ビットレートにおける（１）送信されたパケットの数、及び（２）受信された、関連する確認応答に基づいて推定される。５２０で、複数の利用可能な物理層伝送ビットレートが、それぞれの物理層伝送ビットレートのそれぞれにおける伝送成功の確率に応じて、格付けされる。この格付けすることは、少なくとも或る程度、推定することに基づく。
【００３２】
本発明の一実施例によれば、図５Ｂの推定すること、及び格付けすることは、図５Ａの符号５０５に関連して説明された決定ステップに先立って実行される。本発明の別の実施例によれば、推定すること、及び格付けすることは、周期的に実行される。
【００３３】
本発明の一実施例によれば、推定することのために使用される送信されるパケットは、プローブ・パケットを含む。本発明の別の実施例によれば、推定することのために使用される送信されるパケットは、圧縮されたビデオ・シーケンスのパケットを含む。
【００３４】
図６Ａは、本発明の一実施例による、ビデオ品質に対するパケットの影響に応じてパケットの重要度を分類することを示すブロック図である。図６Ａに示されるとおり、本発明の一実施例によれば、Ｉフレーム・データを含むパケット６００、Ｐフレーム・データを含むパケット６０５、及びＢフレームデータを含むパケット６１０の相対的重要度は、それぞれ、高、中、低である。
【００３５】
図６Ｂは、本発明の一実施例による、ビデオ品質に対するパケットの影響に応じてパケットの重要度を分類することを示すブロック図である。図６Ｂに示されるとおり、本発明の別の実施例によれば、パケットの相対的重要度は、重要度の高い順に、以下のとおりである。すなわち、
１．１つ又は複数のＩピクチャ・スライス又はＭＰＥＧヘッダを含むパケット（６１５）、
２．αを超える割合のＩマクロブロックを含む１つ又は複数のＰピクチャ・スライスを含むパケット（６２０）、
３．αを超える割合のＩマクロブロックを含む１つ又は複数のＢピクチャ・スライスを含むパケット（６２５）、
４．βという割合未満のスキップ・マクロブロックを含む１つ又は複数のスライスを含むパケット（６３０）、及び
５．βという割合を超えるスキップ・マクロブロックを含む１つ又は複数のスライスを含むパケット（６３５）であり、但し、０＜α、β＜１である。
【００３６】
本発明の一実施例によれば、αに関する値、及びβに関する値は、αの様々な値、及びβの様々な値を使用して送信された、復号されたビデオを分析することによって得られる。αの値、及びβの値（０＜α、β＜１）は、ビデオ・コンテンツの通常の特性に基づいて、選択されることが可能である。αの値、及びβの値を分析的に決定することは困難であるが、これらの値は、各パラメータの様々な値の下における損失のある伝送の後、復号されたビデオ品質を分析することによって経験的に得られることが可能である。スライスに関するマクロブロック・タイプ情報を、ＭＰＥＧ符号化されたパケットから直接に得ることはできない。したがって、Ｐピクチャ及びＢピクチャの場合、スライスの中に含まれるマクロブロック・タイプを特定するために、スライス・データが検査される必要がある。本発明の一実施例によれば、マクロブロック・タイプ情報がメタデータ（例えば、３ビットのクラス識別子として）としてアプリケーション層によって供給される層横断アプローチを使用して、スライスの中に含まれるマクロブロック・タイプが特定される。マクロブロック・タイプ情報に加えて、各スライスは、復号器が、復号器バッファの中のスライスの位置を特定することを可能にするシーケンス番号を含む。このことは、各スライスを１つのＲＴＰパケットにパケット化し、各パケットに関するＲＴＰシーケンス番号を供給することによって達せられることが可能である。
【００３７】
図７は、本発明の一実施例による、送信機の観点からの無線ネットワークを介するビデオ・ストリーミングに関する優先度制御型の物理層伝送レート制御のための低レベルの方法を示す流れ図である。図７に示されるプロセスは、ハードウェア、ソフトウェア、ファームウェア、又は以上の組み合わせにおいて実施されることが可能である。例えば、図７に示されるプロセスは、図２の送信機２２０によって実行されることが可能である。この実施例によれば、再送レートＴｋが、Ｔｋ＝Φ（ｒ，ｋ，ｍ）として表現され、但し、ｒは、現行の伝送ビットレートを示し、ｋは、再送試行回数を表し、ｍは、パケットの優先レベルを示す。７０５で、現行の伝送レート（ｒ）が、可能な最高ビットレート（ＲＮ）に設定され、連続した伝送成功の回数（「クレジット数」）を示す値が、リセットされ、更に、連続した伝送失敗の回数（「Ｆａｉｌｅｄ＿Ｔｘ」）を示す値が、リセットされる。７１５で、再送試行回数（ｋ）が、リセットされ、キュー又はバッファの中の次のパケットが、現行の伝送ビットレート（ｒ）を使用して送信される。７２５で、送信されたパケットに関する確認応答が受信されているかどうかに関する判定が、行われる。
【００３８】
７２５における判定が、確認応答が受信されていることを示す場合、７４５で、連続した受信成功の回数（「クレジット数」）を示す値が、インクリメントされ、連続した伝送失敗の回数（「Ｆａｉｌｅｄ＿Ｔｘ」）を示す値が、リセットされる。７５５で、連続した受信成功の回数（「クレジット数」）を示す値が、現行のビットレート（ｒ）をインクリメントするのに要求される連続した伝送成功の回数（「Ｌ」）より大きいかどうかに関する判定が、行われる。連続した伝送成功の回数（「Ｌ」）を示す値が、現行のビットレート（ｒ）をインクリメントするのに要求される連続した伝送成功の回数より大きい場合、７６５で、現行のビットレート（ｒ）が、次に高いビットレートにインクリメントされ、７１５で、この新たなビットレートにおける別のパケットの伝送が、始まる。７５５で、連続した伝送成功の回数（「クレジット数」）を示す値が、現行のビットレート（ｒ）をインクリメントするのに要求される連続した伝送成功の回数（「Ｌ」）より大きくはない場合、７１５で、同一の伝送レートにおける別のパケットの伝送が、始まる。
【００３９】
７２５で、送信されたパケットの確認応答が受信されていないと判定された場合、７００で、連続した伝送成功の回数（クレジット数）を示す値が、リセットされ、連続した伝送失敗の回数（「Ｆａｉｌｅｄ＿Ｔｘ」）を示す値が、インクリメントされる。７１０で、連続した伝送失敗の回数（「Ｆａｉｌｅｄ＿Ｔｘ」）を示す値が、現行の伝送レートを次に低い伝送レートに変更するのに要求される連続した伝送失敗の回数（「Ｌ」）を示す値と合致するかどうかに関する判定が、行われる。連続した伝送失敗の回数（「Ｆａｉｌｅｄ＿Ｔｘ」）を示す値が、現行の伝送レートを次に低い伝送レートに変更するのに要求される連続した伝送失敗の回数（「Ｌ」）を示す値と合致する場合、７２０で、現行の伝送レート（「ｒ」）が、次に低い伝送レートに設定される。７３０で、パケット再送の回数（「ｋ」）を示す値が、再送試行を中止する前に要求されるパケット再送の回数（「Ｋ」）を示す値と合致するかどうかに関する判定が、行われる。パケット再送の回数（「ｋ」）を示す値が、再送試行を中止する前に要求されるパケット再送の回数（「Ｋ」）を示す値と合致する場合、７３５で、パケットの再送が中止され、７１５で、現行の伝送レート（「ｒ」）における次のパケットの伝送が、始まる。
【００４０】
７３０で、パケット再送の回数（「ｋ」）を示す値が、再送試行を中止する前に要求されるパケット再送の回数（「Ｋ」）を示す値と合致しない場合、７４０で、パケット再送の回数（「ｋ」）を示す値が、インクリメントされ、新たな伝送レートが、少なくとも或る程度、現行の伝送レート（「ｒ」）、そのレートにおけるパケットの再送の回数（「ｋ」）、及びパケットの中のビデオ・データの重要度（「ｍ」）に基づいて、決定される。７５０で、パケットが、７４０で決定された伝送ビットレート（Ｔｋ）を使用して再送される。
【００４１】
７６０で、再送されたパケットの確認応答（「ａｃｋ」）が受信されているかどうかに関する判定が、行われる。再送されたパケットの確認応答が受信されていない場合、７００で、同一のレートで再び再送する、異なるレートで再送する、又はパケットの再送を中止する決定が、始まる。７６０で、再送されたパケットの確認応答が受信されていると判定された場合、７７０で、連続した伝送失敗の回数（「Ｆａｉｌｅｄ＿Ｔｘ」）を示す値が、リセットされ、７０５で、現行の伝送レート（「ｒ」）における次のパケットの伝送が、始まる。
【００４２】
図８Ａは、本発明の一実施例による、送信されるパケットの相対的重要度に応じたパケットの相次ぐ再送のための例示的なビットレート選択を示すブロック図である。図８Ａに示される例において、Ｒｎ≧Ｔ１、Ｔ２、Ｔ３である。例えば、全てのパケット重要性レベルに関する最大再送回数が３に設定されているＩＥＥＥ８０２．１１ｇベースの無線ネットワークを考慮されたい。現行の伝送ビットレートがＲｎ＝４８Ｍｂｐｓである場合、様々なレートのＰＥＲ統計に依存して、Ｅｎ≧Ｅｎ−１≧Ｅｎ−３であるものと想定して、Ｔ１＝Ｒｎ＝４８Ｍｂｐｓ、Ｔ２＝Ｒｎ−１＝３６Ｍｂｐｓ、及びＴ３＝Ｒｎ−３＝１８Ｍｂｐｓを選択することができる。再送レートは、様々なビットレートの絶えず変化するＰＥＲ統計に追従して適応させられることが可能である。図８Ｂは、本発明の一実施例による、ＩＥＥＥ８０２．１１ａネットワークにおける「中」重要度パケットに関する例示的な再送レート適応を示す。
【００４３】
本発明の実施例及びアプリケーションが示され、説明されてきたが、本明細書の発明の概念を逸脱することなく、前述したよりも更に多くの変形形態が可能であることが、本開示を役立てる当業者には明白であろう。したがって、本発明は、添付の特許請求の範囲の趣旨以外においては限定されないものとする。
【図１】
2010016813.tif 000003
【図２】
2010016813.tif 000004
【図３】
2010016813.tif 000005
【図４】
2010016813.tif 000006
【図５】
2010016813.tif 000007
【図６】
2010016813.tif 000008
【図７】
2010016813.tif 000009
【図８】
2010016813.tif 000010
【外国語明細書】
2010016813000001.pdf