(57)【要約】一連の情報部分が送信機に提供され、その情報部分は、それが受信機に利用可能になる必要がある臨界時間を有する。情報部分が臨界時間の前に受信機に利用可能になるように送信機により時間通りに送信され得るか否かを送信機が推定する。情報部分が臨界時間の前に受信機に利用可能になるように時間通りに送信されると推定された場合にのみ、送信機はその情報を受信機に送信する。
2006508562.tif 000002
【特許請求の範囲】
【請求項１】
一連の情報部分を送信機に提供し、前記情報部分は、それが受信機に利用可能になる必要がある臨界時間を有し、
前記情報部分が前記臨界時間の前に前記受信機に利用可能になるように前記送信機により時間通りに送信され得るか否かを推定し、
前記推定に応じて、前記情報部分を前記受信機に送信することを有する方法。
【請求項２】
請求項１に記載の方法であって、
前記情報部分が、マルチメディアプレゼンテーション用のメディアフレーム部分のパケットであり、
前記プレゼンテーションが複数のフレーム部分を有し、各フレーム部分が複数の高優先度のパケットと複数の低優先度のパケットを有する方法。
【請求項３】
請求項２に記載の方法であって、
前記複数のフレーム部分が、デコード時間をそれぞれ有し、
前記デコード時間の前に、前記フレーム部分の全ての前記高優先度のパケットが前記受信機に利用可能になり、前記フレーム部分の所定のプレゼンテーション時間でのプレゼンテーションに遅れずに前記フレーム部分をデコードする必要があり、
前記デコード時間と前記プレゼンテーション時間が前記プレゼンテーションの再生時間に対して相対的である方法。
【請求項４】
請求項３に記載の方法であって、
前記低優先度のパケットのうちの全てではなく、いくつかが、前記臨界時間に前記受信機に利用可能でない時に、前記低優先度のパケットが、デコード中に前記フレーム部分を拡張するために使用される方法。
【請求項５】
請求項１に記載の方法であって、
前記情報部分を提供することが、異なる優先度を有する情報に情報を分離することを有する方法。
【請求項６】
請求項１に記載の方法であって、
前記情報部分を提供することが、メディアフレーム部分を提供し、前記フレーム部分をデコードするために必要な高優先度の情報部分と、前記フレーム部分を拡張するためにのみ必要な低優先度の情報部分に、各フレーム部分を分割することを有する方法。
【請求項７】
請求項１に記載の方法であって、
前記情報部分が、メディアフレーム部分の高優先度と低優先度のパケットを有し、１つのフレーム部分の如何なる低優先度のパケットが提供される前に、前記フレーム部分の全ての高優先度のパケットが提供される方法。
【請求項８】
請求項１に記載の方法であって、
前記推定が、
１つの情報部分が前記受信機に利用可能になる必要がある目標時間を決定し、
前記情報部分を送信し、前記情報部分を前記受信機に利用可能にする推定の転送時間を決定することを有し、
前記推定は、前記目標時間が前記推定の転送時間と前記送信の現在の時間との合計を超えるか否かを決定することを有し、
前記決定に応じて、前記情報部分が送信される方法。
【請求項９】
請求項１に記載の方法であって、
前記推定が、前記受信機のバッファリングの制限に依存する方法。
【請求項１０】
請求項９に記載の方法であって、
前記受信機が、前記バッファリングの制限の指示を前記送信機に送信する方法。
【請求項１１】
請求項１に記載の方法であって、
前記推定が、送信される前記情報部分の優先度に依存する方法。
【請求項１２】
請求項８に記載の方法であって、
前記情報部分が、高優先度のパケットと低優先度のパケットとを有し、
前記目標時間が、前記高優先度のパケットでは前記低優先度のパケットより大きい所定の遅延許容度に依存し、
それにより前記高優先度のパケットが前記低優先度のパケットより前記受信機により受信される可能性が高くなる方法。
【請求項１３】
請求項１に記載の方法であって、
前記情報部分が、メディアフレーム部分のパケットであり、
前記推定が、前記パケットのメディアフレームの形式に依存する方法。
【請求項１４】
請求項８に記載の方法であって、
前記情報部分が、その他のフレームのデコードに無関係にデコードされるIフレームと、以前のIフレーム又はPフレームのデコードに基づいてデコードされるPフレームと、以前及び次のIフレーム又はPフレームに基づいてデコードされるBフレームとを有する異なる形式の映像フレームのグループ・オブ・ピクチャ(Group  of  Picture)に基づいてエンコードされた映像プレゼンテーションの部分であり、
前記目標時間が、映像フレームの前記形式に依存する方法。
【請求項１５】
請求項１に記載の方法であって、
前記情報部分が、メディアフレーム部分のパケットであり、
前記推定が、送信される前記情報部分の前記メディアフレーム部分のデコード時間に依存する方法。
【請求項１６】
請求項８に記載の方法であって、
前記情報部分が、プレゼンテーションのメディアフレーム部分のパケットであり、
複数のメディアフレーム部分は、前記フレーム部分のパケットが、前記フレーム部分の所定のプレゼンテーション時間でのプレゼンテーションに遅れずにデコードするために、前記受信機のデコーダで利用可能になる必要があるデコード時間をそれぞれ有し、
１つの情報部分の前記目標時間が、前記情報部分の前記フレーム部分の前記デコード時間に依存し、
フレーム部分の前記デコード時間とプレゼンテーション時間が前記プレゼンテーションの再生時間に対して相対的である方法。
【請求項１７】
請求項１に記載の方法であって、
前記推定が、情報部分の最大サイズに依存する方法。
【請求項１８】
請求項１に記載の方法であって、
前記送信が、再送信の数についての所定の制限に到達するまで、又は回復できない誤りを伴わずに前記部分が成功して受信されたという肯定応答が前記受信機から受信されるまで、情報部分を再送信することを有し、
前記推定が、前記再送信の制限に依存する方法。
【請求項１９】
請求項１に記載の方法であって、
前記推定が、以前に送信された情報部分の実際の転送時間に依存する方法。
【請求項２０】
請求項１に記載の方法であって、
前記情報部分が、メディアフレーム部分の高優先度と低優先度のパケットであり、
１つのフレーム部分の全ての前記高優先度のパケットを送信することが、前記フレーム部分の前記低優先度のパケットを送信する開始前に始まる方法。
【請求項２１】
請求項１に記載の方法であって、
前記情報部分を送信することが、以前の情報部分が成功して送信されたか否かに依存する方法。
【請求項２２】
請求項１に記載の方法であって、
前記情報部分が異なる優先度を有し、
前記情報部分を送信することが、同じ又はより高い優先度を備えた以前の情報部分が成功して送信されたか否かに依存する方法。
【請求項２３】
請求項１に記載の方法であって、
前記情報部分が、メディアフレーム部分の高優先度と低優先度のパケットであり、
前記高優先度のパケットを送信することが、同じフレーム部分の以前の高優先度のパケットが送信されたか否かに依存し、
前記低優先度のパケットを送信することが、同じフレーム部分の以前の低優先度のパケットが送信されたか否かに依存する方法。
【請求項２４】
請求項１に記載の方法であって、
前記受信機に前記情報部分を送信することを開始する要求を前記受信機から受信することを更に有する方法。
【請求項２５】
請求項２に記載の方法であって、
メディアフレーム部分の全てのパケットが前記臨界時間の前に前記受信機に利用可能になるように時間通りに前記送信機により送信され得ようと、前記推定が、メディアフレーム部分のパケットの送信中の複数の推定を有し、
前記送信が、前記フレーム部分の全てのパケットの前記複数の推定に依存し、
それにより前記フレーム部分の前記パケットのうちのいくつかが時間通りに送信されない可能性があることが推定されると、前記フレーム部分の残りのパケットが送信されない方法。
【請求項２６】
請求項２に記載の方法であって、
フレームの前記情報部分が、異なる優先度を有する情報部分を有し、
メディアフレーム部分の全てのパケットが前記臨界時間の前に前記受信機に利用可能になるように時間通りに前記送信機により送信され得ようと、前記推定が、メディアフレーム部分のパケットの送信中の複数の推定を有し、
同じ又はより低い優先度のパケットの送信が、前記優先度の前記フレーム部分の全てのパケットの前記複数の推定に依存し、
それにより前記優先度の前記フレーム部分の前記パケットのうちのいくつかが時間通りに送信されない可能性があることが推定されると、同じ又はより低い優先度の前記フレーム部分の残りのパケットが送信されない方法。
【請求項２７】
パフォーマンス用のメディアストリームを、可変の状態を有するネットワークでの伝送用に異なる優先度を備えた複数のメディアストリームに分離し、前記メディアストリームが所定のスケジュールを有し、
前記複数のメディアストリームの全てを送信しようとすることと相対的に、前記パフォーマンスの知覚の品質が増加するように、前記優先度と前記ネットワーク状態に応じて前記複数のメディアストリームの部分を送信するか否かを決定し、
前記決定に応じて、前記複数のメディアストリームの部分を送信することを有する方法。
【請求項２８】
請求項２７に記載の方法であって、
前記ネットワークが無線ネットワークであり、
パケットが連続的に伝送され、
肯定応答が受信されるまで、又は再送信の制限に到達するまで、各パケットが送信及び再送信される方法。
【請求項２９】
情報部分を受信機に送信する送信機であって、
臨界時間に前記受信機に利用可能になる必要がある一連の情報部分を提供する手段と、
前記情報部分が前記臨界時間の前に前記受信機に利用可能になるように前記送信機により時間通りに送信され得るか否かを推定する手段と、
前記推定に応じて前記受信機に前記情報部分を送信する送信装置と
を有する送信機。
【請求項３０】
請求項２９に記載の送信機であって、
前記送信機が、前記受信機からバッファリングのサイズの指示を受信する手段を更に有し、
前記推定が、前記受信機のバッファリングのサイズの前記指示に依存する送信機。
【請求項３１】
請求項２９に記載の送信機であって、
前記送信機が、前記情報部分のデコード時間を決定する手段を更に有し、
前記推定が、前記情報部分の前記デコード時間に依存する送信機。
【請求項３２】
請求項２９に記載の送信機であって、
前記情報部分を提供する手段が、異なる優先度を有する情報部分に情報を分離する手段を有し、
前記推定が、前記情報部分の前記優先度に依存する送信機。
【請求項３３】
臨界時間に受信機に利用可能になる必要がある情報部分を送信するように送信機に要求する手段と、
前記臨界時間の前に到達する情報部分をバッファリングする手段と、
前記バッファリングのサイズの指示を前記送信機に送信する手段と
を有する受信機。
【請求項３４】
請求項３３に記載の受信機であって、
前記情報部分が、エンコードされたメディアフレームのパケットであり、複数のメディアフレームのそれぞれが複数のパケットを有し、
前記受信機が、前記パケットを格納するバッファと、前記臨界時間に前記パケットをデコードする手段とを更に有し、
フレームの全てのパケットが、同じタイムスタンプを有し、
フレームの全てのパケットが、前記同じタイムスタンプに基づいて特定され、合わせてデコーダに転送される受信機。
【請求項３５】
請求項３３に記載の受信機であって、
前記情報部分が、エンコードされたメディアフレームのパケットであり、複数のメディアフレームのそれぞれが複数のパケットを有し、
前記受信機が、前記パケットを格納するバッファと、前記臨界時間に前記パケットをデコードする手段とを更に有し、
前記パケットが高優先度のパケットと低優先度のパケットとを有し、
全ての前記パケットが、その優先度の指示を有し、
フレームの前記低優先度のパケットが受信される前に、前記フレームの前記高優先度のパケットが受信され、
フレームの全ての前記パケットが、パケットの優先度の前記指示の変化により特定され、合わせてデコーダに転送される受信機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネットのような可変遅延のネットワーク、又は無線LAN(ローカルエリアネットワーク)のようなパケット損失の多いネットワークでのリアルタイムプレゼンテーション用のメディアパケットの伝送の分野に関するものである。
【背景技術】
【０００２】
MEPGエンコード放送又は実演のようなリアルタイムのマルチメディアプレゼンテーションでは、連続的な音声及び映像を提供するためにフレーム部分のプレゼンテーションが開始する必要があるときに、各映像及び音声フレーム部分(フレーム又はフィールド)はプレゼンテーション時間を有する。フレーム部分を時間通りに提示するために、各フレーム部分は、フレーム部分の全てのパケットがフレーム部分をデコードするデコーダへの転送に利用可能にならなければならないデコード時間を有する。
【０００３】
インターネット又は無線LANのようなネットワークは、可変の帯域を有する傾向にあり、可変の遅延を生じる。帯域が過度に制約されると、パケットが遅れずに到達しなくなり、フレームが時間通りにデコード及び提示されることが不可能になる。一般的に映像では、遅れたフレームは単にドロップされて以前のフレームが繰り返され、人間による知覚のプレゼンテーション品質に損失が生じる。
【０００４】
無線LANでは、遅延及び伝送損失は一般的であり、帯域が変化する。第１に、送信機と受信機との距離が増加すると、受信信号出力が減少し、それ故にチャネルスループットが減少する。第２に、同じ無線LANネットワークの２つの送信機の間で衝突が生じ、その衝突は伝送前のランダムな遅延により処理される。第３に、ランダムな干渉と、同じ周波数帯で信号を出す他の装置からの干渉のため、パケット誤りが生じる。このことは特に802.11bネットワークで見られる。802.11bネットワークは、電子レンジや2.4GHzコードレス電話や他の802.11bネットワークのような複数の他の装置が動作する2.4GHz  ISM帯域を使用する。無線LANでは、可変の帯域によるパケット遅延が存在するばかりでなく、再送信の制限によりパケットがしばしば伝送されない。
【０００５】
802.11b受信機のMAC(媒体アクセス)レイヤは、誤り訂正を行わない。パケットが受信機のMACレイヤの誤り検査を行わなければ、受信機は肯定応答を送信せず、802.11b送信機のMACレイヤはパケットを再送信する。肯定応答が受信されるまで、又は所定の再送信の制限に到達するまで、送信機はパケットを再送信し続ける。
【０００６】
再送信の必要性を減少させるために、メディア伝送に誤り訂正を追加することが提案されている。１つの提案されている誤り訂正技術は、音声／映像情報を２つのレイヤに分離し、これらのレイヤを異なるストリームとして送信することを含む。一方のストリームはより重要な情報を有し、他方のストリームはより重要でない情報を有する。より重要なストリームに更なる誤り保護が提供され、より重要でないストリームには誤り保護があまり提供されない(これは不均一誤り保護と呼ばれる)。オーバーヘッドは増加するが、音声／映像品質が更に増加し、それにより所定の音声／映像品質ではオーバーヘッドは実際に少ない。
【０００７】
その他の提案は、スループットが不適当である場合に、全ての高い優先度のパケットを伝送し、全ての低い優先度のパケットをドロップすることである。
【０００８】
当業者はWO01/65848とWO01/71981に導かれ、これらの全体が組み込まれる。これらの参考文献は、映像ストリームを高優先度と低優先度のストリームに分割し、低優先度のストリームに対して高優先度のストリームにおける誤りを減少させる機構を開示する。
【発明の開示】
【課題を解決するための手段】
【０００９】
本発明では、一連の情報部分が送信機に提供され、その情報部分は、それが受信機に利用可能になる必要がある臨界時間を有する。情報部分が臨界時間の前に受信機に利用可能になるように送信機により時間通りに送信され得るか否かを送信機が推定する。情報部分が臨界時間の前に受信機に利用可能になるように時間通りに送信されると推定された場合にのみ、送信機はその情報を受信機に送信する。
【００１０】
全ての情報が受信機に有用になることを帯域及び遅延の要件が妨げることを送信機が決定した場合には、送信機は有用でないパケットをドロップする。
【００１１】
例えば、映像レイヤの解決策では、(遅延状態やその他の要件により)より重要でない映像部分が有用でないことを送信機が決定すると、それは送信されない。全ての高優先度のパケットが時間通りに伝送され得ない場合には、高優先度のパケットですらドロップされることがある。
【００１２】
本発明では、パケットの伝送が遅延要件に合致するか否かを予測するために、送信機は映像ストリームの遅延要件を認識している必要がある。遅延要件は画一化されてもよく、又は受信機が送信機に遅延要件の指示を送信する必要がある。
【００１３】
２つの競合の目標が存在する。第１に、全ての下位レイヤのパケットの成功の受信が最大化される必要がある。第２に、上位レイヤのパケットの破棄が最小化される必要がある。これらの目標の適切なバランスが、伝送におけるオーバーヘッドを実質的に増加させることなく、スループットを増加させる。本発明はこれらの２つの目標のバランスを取り、それにより全てのパケットを送信しようとする時の品質に対して知覚のプレゼンテーション品質が増加する。
【００１４】
本発明の更なる態様と利点が、図面を参照して以下の詳細な説明から当業者に容易に明らかになる。
【発明を実施するための最良の形態】
【００１５】
図１は、本発明の例示的な方法を示したものである。ステップ101において、一連の複数の情報部分が送信機に提供される。情報部分は、それが受信機に利用可能になる必要がある臨界時間を有する。各フレーム部分は、プレゼンテーション時間と、デコードされたフレーム部分がプレゼンテーション時間に利用可能になることを保証するためにデコードが開始される必要があるデコード時間とを有してもよく、デコード時間とプレゼンテーション時間はプレゼンテーションの再生時間に対して相対的である。
【００１６】
情報部分は、マルチメディアプレゼンテーション用のメディアフレーム部分のパケット(フレーム又はフレームのフィールド)でもよい。このようなプレゼンテーションは複数のフレーム部分を含み、各フレーム部分はメディアデータの複数のパケットを含む。
【００１７】
情報部分を提供することは、メディア情報を高優先度と低優先度の部分に分離することを有してもよい。高優先度の部分は、情報部分をデコードするために必要ないわゆる下位レイヤでもよく、低優先度の部分は、デコードされた情報部分を拡張するために使用されるいわゆる上位レイヤでもよい。
【００１８】
例えば、メディアフレームの情報部分は、下位レイヤの複数の高優先度のパケットと、上位レイヤの複数の低優先度のパケットとを有してもよい。フレーム部分をデコードし始めるために、フレーム部分の全ての高優先度のパケットが受信機に利用可能になる必要がある。全ての高優先度のパケットが利用可能になると、利用可能な如何なる低優先度のパケットも、フレーム部分を拡張するためにデコーダにより使用され得る。異なる優先度を備えたパケットは、フレームについて連続的にインターリーブ(interleave)されて提供されてもよい。代替として、フレームの如何なる低優先度のパケットを提供する前に、全ての高優先度のパケットが提供されてもよい。このことは、フレームの全てのパケットを送信するために帯域が不適切である場合に、どのパケットを送信するべきかについての決定を簡略化する。
【００１９】
ステップ102において、臨界時間の前に情報部分が時間通りに受信機に利用可能になるように送信され得るか否かを送信機が推定する。
【００２０】
推定は、目標時間を決定し、転送時間を推定し、現在の時間と推定の転送時間の合計と、目標時間とを比較することを有してもよい。目標時間は、情報部分をデコードするために情報部分が受信機に利用可能になる必要のある時(デコード時間)に関連する。推定の転送時間は、情報部分を受信機に送信し、情報部分をデコードするために情報部分を受信機に利用可能にするために必要な時間である。
【００２１】
目標時間は、受信機により提供される起動バッファリングに依存する。受信機のバッファリングは、記憶装置のコストではなく、通常は起動の制約により制限される。プレゼンテーションの視聴者は、しばしば数秒を超える起動時間を嫌がる。受信機のバッファリングを増加させることにより、無線チャネルのスループットの短期間の制限の影響が減少する。送信機がバッファの制限を認識するように、受信機のバッファリングが画一化されてもよい。代替として、受信機はバッファリングの制限(例えば、起動時間、プログラム再生時間、バッファサイズ)の指示を送信機に送信することができる。例えば、視聴者はプレゼンテーション品質の劣化に対する嫌悪に比較して起動時間が遅れる嫌悪に応じた開始時間の嗜好を入力してもよく、受信機は開始時間の嗜好を送信機に送信してもよい。
【００２２】
目標時間は、情報部分が提供される時間に基づいてもよい。メディアフレームでは、デコードの必要性に応じてフレームのパケットが提供されることが仮定され得るため、目標時間をパケットが提供された時間に基づかせることは合理的である。代替として、デコード時間がメディアフレームのパケットから読み取られ、目標時間として使用されることも可能である。フレームをデコードし始めるために全ての高優先度のパケットがデコーダに存在する必要があるため、目標時間はフレームの全ての高優先度のパケットについて同じであることがある。また、フレームを拡張するために、一般的に全ての低優先度のパケットはデコード時間に利用可能になる必要がある。従って、目標時間はフレームの最初の部分が提供される時間から導かれてもよく、同じ目標時間がフレームの全てのパケットについて使用されることが可能になる。
【００２３】
推定は情報部分の優先度に依存してもよく、それにより高優先度の情報部分が低優先度の情報部分より送信されやすくなる。例えば、情報部分の目標時間又は推定の転送時間は、情報部分の優先度に応じて(因子を加算することにより又は因子を乗算することにより)調整されてもよい。例えば、メディアフレームの最初のパケットが到達した時間に受信機のバッファリング時間を追加することにより、メディアフレームについて目標時間が計算されてもよい。高優先度のパケットでは高く、低優先度のパケットでは低い遅延許容度をバッファリング時間に乗算することにより、高優先度と低優先度のフレームについて異なる目標時間が計算されてもよい。
【００２４】
情報部分は、MPEGのようにGOP(Group  of  Picture)に基づいてエンコードされた映像プレゼンテーションのパケットでもよい。このようなエンコードでは、その他のフレームのデコードに無関係にデコードされるIフレームと、以前のIフレームのデコードに基づいてデコードされるPフレームと、以前及び次のIフレーム又はPフレームに基づいてデコードされるBフレームとを有する異なる形式の映像フレーム(フレーム又はフレームのフィールド)が存在する。通常はPフレーム毎に２つのBフレームが存在する。従って、GOPの全てのフレームがGOPのIフレームのデコードに依存するため、Iフレームが最も重要なフレームである。４つまでのBフレームのデコードが各Pフレームのデコードに依存するため、Pフレームも重要である。
【００２５】
GOPエンコードされた映像フレームについて、推定は映像フレームの形式に依存してもよい。異なる優先度のパケットについて前述したもの(下位レイヤ対上位レイヤ)と同様である。
【００２６】
推定の転送時間は一定であり、最大パケットサイズと再送信の制限に基づいてもよい。代替として、例えば以前のパケットが送信された時に再送信数に基づいて、推定の再送信時間が動的に推定されてもよい。例えば、所定の数の以前のパケットの平均送信時間が使用されてもよく、又はその平均は最近送信されたパケットに大きい重みが割り当てられる時間重み付け平均でもよい。
【００２７】
可変サイズのパケットでは、パケットの推定の転送時間は、パケットのサイズに依存してもよい。大きいパケットは送信に時間がかかり、再送信を必要とする多くの誤りを有する傾向にある。パケットサイズの調整は事前に定められてもよく、同じサイズの範囲の所定の数の以前のパケットの平均又は時間重み付け平均に基づいてもよい。
【００２８】
ステップ103において、パケットは推定に応じて送信される。すなわち、臨界時間に利用可能になるように時間通りに受信機により送信及び処理され得るパケットが送信され、臨界時間までに受信機により送信及び処理され得ないパケットがドロップされる。
【００２９】
異なる優先度を有するパケットを備えたメディアフレームでは、如何なる低優先度のパケットを送信する前に、フレームの全ての高優先度のパケットが送信され得る。代替として、異なる優先度を有するパケットが、それらが受信されるとインターリーブされて送信され得る。高優先度のパケットを早く送信する利点は、帯域が減少したときに、自動的に高優先度のパケットが低優先度のパケットより受信機に到達しやすくなることである。
【００３０】
一般的に映像エンコードでは、フレーム部分をデコードするために、フレーム部分の全てのパケットが利用可能にならなければならない。その場合に、例えば再送信の制限が使い果たされたことにより、フレーム部分の１つのパケットがドロップされると、フレームの残りのパケットが受信機により使用され得ないためドロップされることがある。
【００３１】
他方、映像情報が下位レイヤと上位レイヤに分離されると、全ての下位レイヤのパケットのみがフレーム部分をデコードするために必要になる。上位レイヤのパケットがドロップされても、如何なる残りの下位レイヤのパケットが依然として送信されるべきである。
【００３２】
メディアフレーム部分の全てのパケットが臨界時間の前に受信機に利用可能になるように送信機により時間通りに送信され得ようと、推定は、メディアフレーム部分のパケットの送信中の複数の推定を有してもよい。その送信はフレーム部分の全てのパケットについての複数の推定に依存する。従って、フレーム部分のパケットのいくつかが時間通りに送信されない可能性があると推定されると、フレーム部分の残りのパケットは送信されない。
【００３３】
フレームの情報部分が異なる優先度を有する情報部分を有する場合、優先度のメディアフレーム部分の全てのパケットが臨界時間の前に受信機に利用可能になるように送信機により送信され得ようと、推定は、メディアフレーム部分のパケットの送信中の複数の推定を有してもよい。同一優先度又は低優先度のパケットの送信は、優先度のフレーム部分の全てのパケットについての複数の推定に依存する。従って、優先度のフレーム部分のパケットのいくつかがフレームをデコードするのに遅れずに送信されない可能性があると推定されると、同一優先度又は低優先度のフレーム部分の残りのパケットは送信されない。
【００３４】
図２は、本発明の例示的な送信機の関連部分を示したものである。ソース110は、臨界時間に受信機に利用可能になる必要がある一連の情報部分を提供する。ソースは、衛星若しくは地上波放送信号を受信するアンテナ又はケーブル接続からの入力111を有してもよい。入力111に加えて、又は入力111に代替して、ソース110は、例えばハードドライブ、DVDプレイヤのようなメディアプレイヤ、若しくは電子記憶ユニットを有することがあるソースユニットを有してもよく、又はソースユニットは実演を取得するカメラを有してもよい。
【００３５】
コントローラ111は、受信機への情報部分の送信を含む送信機の動作を制御する。コントローラは、情報部分が臨界時間の前に受信機に利用可能になるように送信機により時間通りに送信され得るか否かを推定する。
【００３６】
送信ユニット114は、推定に応じて受信機(以下の図３に図示される)に情報部分を送信する。コントローラは、情報部分を送信する送信ユニットに制御信号を送信する。すなわち、情報部分が臨界時間の前に受信機に利用可能になる可能性がある場合にのみ、情報部分が送信ユニットにより送信される。
【００３７】
情報部分は、高優先度と低優先度の情報部分を有してもよく、又はソース110は、提供される情報を高優先度の情報部分と低優先度の情報部分に分離する分配器115を有してもよい。
【００３８】
バッファ116は、情報部分を格納し、コントローラによる情報部分の処理を可能にするために提供される。例えば、分配器115は、連続的にインターリーブされた高優先度のパケットと低優先度のパケットに情報をパケット化してもよく、そのパケットがバッファに格納され、コントローラがバッファを制御し、如何なる低優先度のパケットを送信機に送信する前に全ての高優先度のパケットを送信機に送信する。
【００３９】
受信ユニット117は、受信機(以下の図３に図示される)から制御情報を受信する。このような情報は、情報部分及び図３の受信機の起動時間(バッファの制限)を示す情報を受信する要求を有してもよい。
【００４０】
図３は、本発明の例示的な受信機の関連部分を示したものである。受信ユニット131は、情報部分を受信する。コントローラ132はバッファ133を制御し、情報部分をバッファリングして臨界時間に情報部分をデコーダ134に送信する。バッファ133は起動の遅延時間までの期間だけ情報部分を格納し、その情報部分をデコーダ134に渡す。例えば、情報部分がエンコードされた映像情報を有する場合、デコード時間にデコーダはフレーム部分の情報部分を受信し、プレゼンテーション時間にデコーダはデコードされたフレーム部分を映像ディスプレイ135に提供する。プレゼンテーションの間、映像フレームは通常通り一定の所定のフレームレートで表示されるが、フレーム形式とフレームサイズとフレームの複雑性に応じてデコード時間が変化することがある。
【００４１】
情報部分の受信を開始するためにユーザ入力136が使用されてもよく、起動遅延を選択するためにユーザ入力136が使用されてもよい。コントローラ132は送信ユニット137を制御し、情報部分及び受信機の起動遅延を受信する要求を図２の送信機に送信する。
【００４２】
以下では、本発明の例示的なシステムについて説明する。階層化マルチメディアストリーミングシステムは、クライアント・サーバ型モデルを使用して実装される。エンコードされたビットストリームは、映像ストリームをデコードするために必要な下位レイヤと、デコードを拡張するために使用される上位レイヤとを含むいくつかのレイヤを有する。クライアントで動作するアプリケーションは、送信を開始する要求をサーバに送信することにより、ストリーミングセッションを起動する。管理情報を交換するために使用されるプロトコルは、RTSP(Real  Time  Streaming  Protocol)でもよい。サーバは、データストリームをクライアントに送信することにより応答する。データストリームで使用されるプロトコルはRTP(Real  Time  Protocol)である。RTSPストリームは転送プロトコルとしてTCP(伝送制御プロトコル)に依存し、RTPストリームはUDP(ユーザデータプロトコル)を使用する。IP(インターネットプロトコル)はネットワークレイヤで使用されるプロトコルであり、リンクレイヤはIEEE802.11無線技術を使用する。
【００４３】
図４において、ブロードキャスト情報ストリームが150で受信され、分配器151により下位レイヤストリーム152と上位レイヤストリーム153に分離される。ストリーミングサーバ154は、下位レイヤと上位レイヤのストリームを、無線送信機156を通じて通信するMAC(媒体アクセス)レイヤ155に渡す。下位及び上位ストリームは、無線媒体157を通じて無線受信機158に進む。次に、下位及び上位ストリームは、クライアントアプリケーション159に渡され、そのクライアントアプリケーション159がそのストリームをデコーダ160に提供し、デコーダ160がストリームを合併し、デコードし、161でデコードされたマルチメディアプレゼンテーションを提供する。
【００４４】
図５は、送信機のネットワークスタックの部分を示したものである。アプリケーションレイヤ170において、映像ストリーミングサーバ171は、階層化マルチメディアストリームを提供する。ストリーミングサーバの主なタスクは、RTPパケットを構築し、ストリーミングセッションを管理すること(パケットスケジューリングを含む)である。サーバは映像ファイルで利用可能な示唆情報(hinting  information)にその動作を基づかせる。サーバは示唆情報を読み取り、RTPパケットの２つのストリームを作る。一方のストリームは下位レイヤのパケットを含み、他方のストリームは上位レイヤのパケットを含む。各パケットはRTPペイロード・フィールドを含み、下位レイヤのパケットのRTPペイロード・フィールドの値は、上位レイヤのパケットのRTPペイロード・フィールドの値と異なる。従って、RTPペイロード・フィールドの異なる値に基づいて、下位レイヤのパケットが上位レイヤのパケットと区別され得る。
【００４５】
サーバはまた、RTPタイムスタンプを各パケットに追加する。RTPタイムスタンプの値は、フレームの全てのパケットについて同じであり、パケットが作られた時間を示す。
【００４６】
ストリーミングサーバは、UDPソケットを使用して、ストリームをオペレーティングシステム・カーネル173に配信する。特定の時間に、サーバは同じ映像フレームに対応する全てのパケットをシステム・カーネルに転送する。最初にサーバはフレームの全ての下位レイヤ(高優先度)のパケットを送信し、次にサーバはフレームの全ての上位レイヤ(低優先度)のパケットを送信する。従って、下位レイヤと上位レイヤのパケットの交互のサイクルでストリームが転送される。システム・カーネルは、802.11デバイスドライバ174にストリームを渡す。オペレーティングシステム・カーネル173と802.11デバイスドライバ174は、オペレーティングシステムレイヤの部分である。802.11デバイスドライバは、無線周波数(RF)無線伝送用に802.11MACレイヤ176と802.11物理レイヤ177を含む無線送信装置175にストリームを渡す。
【００４７】
システムサーバ(前述のもの)は下位レイヤと上位レイヤのパケットの交互のサイクルを送信し、下位レイヤと上位レイヤのパケットがRTPペイロード・フィールドで異なる値を有するため、フレームの開始が容易に検出される。RTPタイムスタンプはフレームの全てのパケットについて同じ値を有し、隣接のフレームのパケットと異なる値を有するため、フレームの境界を検出する代替の方法は、RTPタイムスタンプを使用することである。
【００４８】
最初に下位レイヤのパケットを送信することは、上位レイヤのパケットの損失に対して伝送を優先付ける良い方法である。下位レイヤのパケットが全て成功して送信された後に、遅延の制限とシステム状態に応じて上位レイヤのパケットをドロップするか否かを決定することができる。
【００４９】
図６は、本発明の例示的な受信機の構成を示したものである。パケットは191で無線リンクを通じて802.11ネットワーク装置190により受信される。パケットは802.11ネットワーク装置190から、802.11デバイスドライバ192を通じて、オペレーティングシステム・カーネル193を通じて渡される。802.11デバイスドライバ192とオペレーティングシステム・カーネル193は受信機のオペレーティングシステムレイヤ194の部分である。次にパケットはオペレーティングシステム・カーネル193からクライアントアプリケーションレイヤ195のクライアントバッファ195に渡される。どのパケットが特定のフレームに属するかを特定するために、RTPタイムスタンプが使用される。フレームのデコード時間に、フレームの全てのパケットがデコーダ196に渡される。
【００５０】
図７は、優先付けされたパケットを適応的にドロップする本発明の例示的なアルゴリズムを示したものである。点線の水平線は、サーバの異なる部分で実行されるステップを分離している。ステップ210において、ストリーミング映像サーバは下位レイヤと上位レイヤのパケットを作り、ステップ211において、サーバはタイムスタンプ時間を備えた全てのフレームの全てのパケットにタイムスタンプを付け、フレームの全てのパケットをオペレーティングシステム・カーネルに送信する。サーバはフレームの如何なる上位レイヤのパケットを送信する前に、フレームの全ての下位レイヤのパケットを送信する。ステップ212において、フレームのパケットがシステム・カーネルのソケットバッファに格納される。ステップ213において、802.11デバイスドライバがパケット形式を読み取る。
【００５１】
検出モジュール214は、パケット形式と、パケットが新たな映像フレームの開始であるか否かを検出する。検出モジュールにおいて、ステップ215でパケットが下位レイヤのパケットであるか否かをドライバが決定する。パケットが下位レイヤのパケットである場合には、ステップ216でドライバが既に下位レイヤの周期状態にあるか否かをドライバが決定する。ドライバが下位レイヤの周期状態にない場合には、これがフレームの最初のパケットであり、ステップ217でドライバが下位レイヤの周期状態に入る。また、検出モジュール214において、ステップ215でパケットが下位レイヤのパケットでないことが決定されると、そのパケットは上位レイヤのパケットであり、ステップ218でドライバが上位レイヤの状態になる。
【００５２】
目標時間を推定する目標時間モジュール220において、新たなフレームの送信の開始時に、ドライバは、フレームの何らかのパケットが受信機に到達すべき最新時間である目標時間を推定する。目標時間モジュールにおいて、ステップ221で下位レイヤのパケットの目標時間と、上位レイヤのパケットの異なる目標時間が計算される。下位レイヤのパケットの目標時間は、フレームの最初のパケットのRTPタイムスタンプ時間と、下位レイヤのパケットの遅延許容度により乗算された受信機のバッファリング時間の合計である。上位レイヤのパケットの目標時間は、フレームの最初のパケットのRTPタイムスタンプ時間と、上位レイヤのパケットの遅延許容度により乗算された受信機のバッファリング時間の合計である。
【００５３】
下位レイヤのパケットの遅延許容度は、上位レイヤのパケットの遅延許容度よりかなり大きくなるべきである。この遅延許容度の値は一定でもよく、又は特定のアプリケーションと特定のネットワークとネットワーク状態に応じて調整されてもよい。
【００５４】
受信機のバッファリング時間は、本質的には受信機におけるストリームの起動遅延である。これは所定の一定量でもよい。代替として、バッファリング時間は受信機から受信される必要がある可変量でもよい。バッファリング時間の送信は、ストリーミングセッションを起動するために受信機により使用されるプロトコルであるRTSP(Real  Time  Streaming  Protocol)を使用して行われ得る。
【００５５】
この実施例では、全ての下位レイヤのパケットについて同じ下位レイヤの目標時間が使用され、全ての上位レイヤのパケットに同じ上位レイヤの目標時間が使用される。
【００５６】
この遅延許容度の調整は、メディアパケットの伝送における２つの競合の目標のバランスを取り、知覚の品質を最大化するために使用されてもよい。第１の目標は、全ての下位レイヤのパケットの成功した受信を最大化することである。第２の目標は、上位レイヤのパケットの破棄を最小化することである。
【００５７】
下位レイヤと上位レイヤのパケットの目標時間の前記の計算は、フレームの最初のパケットのRTPタイムスタンプ時間に基づく。その他の代替は、デコード時間を推定するためにフレームレートを使用することである。しかし、RTPタイムスタンプ時間とフレームレートは、真の目標時間であるデコード時間の正確な指標ではない。しかし、デコード時間はRTP時間から導かれることができ、デコード時間はフレームの目標時間の計算で使用され得る。
【００５８】
パケットを送信するか否かを決定する決定モジュール230において、ドライバは各パケットの送信所要時間を推定し、ステップ221において目標時間モジュールで決定されたパケットの形式の目標時間に応じて、パケットを送信するか否かを決定する。決定モジュールにおいて、パケットが下位レイヤのパケットである場合には、ステップ231において下位レイヤのパケットの転送時間が推定される。
【００５９】
パケットの平均転送時間は、ネットワーク状態とパケットのサイズに基づいて導かれてもよい。時間重み付け平均がネットワーク状態に使用され得る。代替として、実際のネットワーク状態が無視され、最悪の状態が使用されてもよい。その場合には転送時間は一定であり、計算の必要がない。最悪の転送時間は、パケットの形式の最大の再送信の制限と最大パケットサイズに基づき得る。下位レイヤのパケットの再送信の制限は上位レイヤのパケットより大きくてもよい。802.11無線伝送における映像パケットの一般的な最大パケットサイズは1500バイトである。
【００６０】
ステップ232において、現在の時間と転送時間の合計が下位レイヤのパケットの目標時間を超えるか否かを、ドライバが決定する。ステップ232において目標時間を超える場合には、ステップ233で下位レイヤのパケットがドロップされる。同じフレームの全ての下位レイヤのパケットについて目標時間が同じであるため、このことは以降の全ての下位レイヤのパケットもドロップされることを意味する。また、フレームの全ての以降の上位レイヤのパケットの目標時間が同じであり、より小さいため、同じフレームの全ての以降の上位レイヤのパケットもドロップされる。
【００６１】
ステップ232でそうでない場合に、ステップ234で目標時間を超えない場合には、下位レイヤのパケットが802.11装置に送信される。
【００６２】
決定モジュールにおいて、パケットが上位レイヤのパケットである場合には、ステップ235で上位レイヤのパケットの転送時間が推定される。前述の下位レイヤのパケットの転送時間の推定はまた、一般的に上位レイヤのパケットの転送時間の推定にも適用可能である。
【００６３】
ステップ236において、現在の時間と転送時間の合計が上位レイヤのパケットの目標時間を超えるか否かを、ドライバが決定する。ステップ236で目標時間を超える場合には、ステップ233で上位レイヤのパケットがドロップされる。同じフレームの全ての上位レイヤのパケットについて目標時間が同じであるため、このことは以降の全ての上位レイヤのパケットもドロップされることを意味する。
【００６４】
ステップ236でそうでない場合に、ステップ234で目標時間を超えない場合には、上位レイヤのパケットが802.11装置に送信される。
【００６５】
ステップ240において、802.11装置は転送されるパケットをMACバッファに格納し、パケットを送信する。ACKが受信されない場合には、ACKが受信されるまで、又は再送信の制限が尽きるまで、パケットが再送信される。
【００６６】
図８は、図７のアルゴリズムの決定モジュール230の変更形態を示したものである。図８のアルゴリズムでは、フレームを送信するかドロップするかの決定は、フレーム形式に依存する。変更された決定モジュール250において、パケットが下位レイヤのパケットである場合には、ステップ251でフレーム形式が決定される。フレーム形式がIフレームである場合には、ステップ252で許容度がIフレーム用に下位レイヤのパケットのIフレームの許容度の値に設定される。フレーム形式がPフレームである場合には、ステップ253で許容度がPフレーム用に下位レイヤのPフレームの許容度の値に設定される。フレーム形式がBフレームである場合には、ステップ254で許容度がBフレーム用に下位レイヤのBフレームの許容度の値に設定される。Iフレームの許容度の値は、Pフレーム又はBフレームの許容度の値より大きくなるべきである。Bフレームの許容度の値は、例えばゼロであるべきである。
【００６７】
ステップ255において、現在の時間と転送時間の合計が目標時間と下位レイヤのパケットの許容度の合計を超えるか否かを、ドライバが決定する。ステップ255で目標時間と許容度の合計を超える場合には、ステップ233で下位レイヤのパケットがドロップされる。ステップ255で目標時間と許容度の合計を超えない場合には、ステップ234で下位レイヤのパケットが802.11装置に送信される。
【００６８】
変更された決定モジュール250において、パケットが上位レイヤのパケットである場合には、ステップ261でフレーム形式が決定される。フレーム形式がIフレームである場合には、ステップ262で許容度がIフレーム用に上位レイヤのパケットのIフレームの許容度の値に設定される。フレーム形式がPフレームである場合には、ステップ263で許容度がPフレーム用に上位レイヤのPフレームの許容度の値に設定される。フレーム形式がBフレームである場合には、ステップ264で許容度がBフレーム用に上位レイヤのBフレームの許容度の値に設定される。この場合も同様に、Iフレームの許容度の値は、Pフレーム又はBフレームの許容度の値より大きくなるべきである。Bフレームの許容度の値は、例えばゼロであるべきである。
【００６９】
ステップ265において、現在の時間と転送時間の合計が目標時間と上位レイヤのパケットの許容度の合計を超えるか否かを、ドライバが決定する。ステップ255で目標時間と許容度の合計を超える場合には、ステップ233で上位レイヤのパケットがドロップされる。ステップ255で目標時間と許容度の合計を超えない場合には、ステップ234で上位レイヤのパケットが802.11装置に送信される。
【００７０】
本発明は、特定の例示的な実施例に関して説明された。当業者は、本発明の範囲内でこれらの例示的な実施例をいかに変更すればよいかを認識するであろう。本発明は、特許請求の範囲によってのみ制限される。
【図面の簡単な説明】
【００７１】
【図１】本発明の方法を示したものである。
【図２】本発明の例示的な送信機の関連部分を示したものである。
【図３】本発明の例示的な受信機の関連部分を示したものである。
【図４】本発明の例示的なシステムの構成要素のうちのいくつかを示したものである。
【図５】本発明の例示的な送信機のネットワークスタックを示したものである。
【図６】本発明の例示的な受信機の構成を表したものである。
【図７】優先付けされたパケットを適応的にドロップする本発明の例示的なアルゴリズムを示したものである。
【図８】図７のアルゴリズムの決定モジュールの変形形態を示したものである。
【図１】
2006508562.tif 000003
【図２】
2006508562.tif 000004
【図３】
2006508562.tif 000005
【図４】
2006508562.tif 000006
【図５】
2006508562.tif 000007
【図６】
2006508562.tif 000008
【図７】
2006508562.tif 000009
【図８】
2006508562.tif 000010
【国際調査報告】
2006508562.tif 000011
2006508562.tif 000012
2006508562.tif 000013
2006508562.tif 000014