スタガーキャスティング及びクロスパケット前方誤り訂正を用いたインターネットプロトコル型無線ネットワークでのバーストパケット損失からの回復
【課題】スタガーキャスティング及びクロスパケット前方誤り訂正を用いたインターネットプロトコル型無線ネットワークにおけるバーストパケット損失を回復する方法を提供する。
【解決手段】データをパケット化し、少なくとも1つのパリティパケットを生成するためにパケット化データで前方誤り訂正(FEC)符号化を実行し、パケット化データのペイロードデータの終わりにパディングとしてFEC情報を追加し、パケット化データと少なくとも1つのパリティパケットとを送信する。
【解決手段】データをパケット化し、少なくとも1つのパリティパケットを生成するためにパケット化データで前方誤り訂正(FEC)符号化を実行し、パケット化データのペイロードデータの終わりにパディングとしてFEC情報を追加し、パケット化データと少なくとも1つのパリティパケットとを送信する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、無線ネットワークに関し、特にクロスパケット前方誤り訂正と組み合わせてスタガーキャスティング(staggercasting)を使用したランダム且つバーストのパケット損失からの回復に関する。
【背景技術】
【0002】
無線ローカルエリアネットワーク(WLAN)は、最初はデータ通信用に設計されていたが、WiFiマルチメディアアプリケーションについての関心及び需要が急速に高まっている。IEEE802.11のWLANでのビデオマルチキャスティングは、生のビデオ及び予め記録された娯楽番組を複数の受信機に同時に効率的に配信することを可能にする。しかし、デジタルビデオ配信は、高い信頼性、制限のある遅延、及び帯域の効率性を必要とする。無線リンクは、時間変化するバーストのリンクエラーで信頼性が低くなる。特に、ビデオマルチキャストアプリケーションでは、同じビデオの異なる受信機は、異質のチャネル状態を受ける可能性がある。受信機はまた、セッション中に離脱又は参加する可能性があるため、ネットワークのトポロジが変化する。更に、現在のIEEE802.11標準でのマルチキャストについてリンクレイヤの再送信及びリンクレイヤのアダプテーションが存在しない。誤ったパケットは単に破棄される。アプリケーションレイヤにとって、パケットの消去されたチャネルのように見える。パケット損失は、パケットヘッダのシーケンス番号を検査することにより検出され得る。従って、利用可能なWLANリソースを効率的に利用しつつ、所望のサービスエリア内のマルチキャストビデオの全ての受信機にとってサービス品質(QoS:quality of service)をサポートすることは、重要且つ困難なタスクである。
【0003】
IP型無線ネットワークでのビデオマルチキャスト/ブロードキャストでは、ビデオデータは、UDP/IPパケットにカプセル化され、無線ネットワークで移動装置にマルチキャスト/ブロードキャストされる。IP型無線ネットワークは、無線ローカルエリアネットワーク(WLAN)、セルラネットワーク、無線メトロポリタンエリアネットワーク(WMAN)及び地域無線ネットワーク(WRAN)でもよい。移動装置が1つのセルから他のセルに移動すると、現在関連(アソシエーション)している基地局(BS)/アクセスポイント(AP)から他のBS/APにハンドオーバ/ハンドオフされる。2つのBS/APは、一般的に異なる周波数/チャネルで動作する。移動装置が動作周波数を変更し、新しいBS/APに関連付けられると、複数のパケットが損失する。
【0004】
典型的には、ブロードキャスト信号は、全ての可能な受信機に同時に送信される。マルチキャスト信号は、グループ内の全ての可能な受信機の選択された一部(1つ以上)に同時に送信される。ここで使用されるマルチキャストは、ブロードキャストも含む。すなわち、マルチキャスト信号は、グループ内の全ての可能な受信機の選択された一部に送信されてもよく、選択された一部は、全ての可能な受信機の全体部分を含んでもよい。すなわち、マルチキャストグループは全ての受信機である。
【0005】
無線システムでは、マルチパスフェージング及び干渉に対してパケットを保護するために、物理レイヤでチャネル符号化が使用される。しかし、パケット内のチャネル符号化は、ハンドオーバ/ハンドオフ中のパケット損失を回復することができない。
【0006】
1つの従来技術の方法は、ATSCシステムで元のデータから時間遅延/時間シフトした二重のデータの送信(スタガーキャスティング(staggercasting))を提供し、ブロードキャストシステムのロバスト性を改善する。二重の時間をずらした(time-staggered)ストリームが送信されると、システムは、2つのストリームの間の時間シフトの持続時間まで信号損失を許容することができる。他の従来技術の方法は、(正確な元のデータの代わりに)元のデータの低ビットレート版が時間遅延して繰り返し送信されることを提供する。この手法は、冗長データにより使用される帯域を低減する。しかし、これらの従来技術の方法の双方は、合成信号を送信しており、データを要求する/必要とするクライアント/受信機が存在するか否かにかかわらず、常に信号を送信する。
【0007】
更に他の従来技術の方法は、ATSCシステムでの同期損失に対して保護するために、クロスパケット前方誤り訂正(FEC:forward error correction)符号の使用を提供する。FEC符号はまた、IP型無線ネットワークで損失パケットを回復するために使用されている。一般的に、誤ったパケットはリンクレイヤにより破棄される。FEC符号は、トランスポート及びアプリケーションレイヤでデータパケットを通じて適用され、消去復号化(erasure decoding)が損失パケットを回復するために使用される。しかし、一般的にFECパリティパケットがデータパケットと共に送信される。ハンドオフ/ハンドオーバの間に、長く誤ったバーストが生じ得る。これらの長く誤ったバーストは、データパケット及びパリティパケットの損失がFEC機能を超えることをもたらし、このため、損失データパケットが回復できなくなる。
【0008】
無線ネットワークでパケット損失から回復して送信の信頼性を向上するために、様々なアプリケーションレイヤの前方誤り訂正(FEC)及び自動再送要求(ARQ:automatic repeat request)アルゴリズムについて大量の研究及び理論分析/シミュレーションが行われている。他の従来技術の方法は、ユニキャストビデオ送信についてのACK型ハイブリッドARQアルゴリズムと、WLANでのマルチキャストビデオ送信についてのFEC付プログレッシブビデオ符号化(progressive video coding)(MDFEC)について記載している。更に他の従来技術の方法は、有線インターネット環境でのマルチキャストについて受信機駆動型のFEC方式を提供し、FECパケットはビデオパケットから遅延する。しかし、この方法は、どのように有線インターネット環境で異種の受信機の性能を最適化するかについて焦点を当てている。
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明により対処及び解決される方法は、どのようにランダム且つバーストのパケット損失を回復し、シームレスなハンドオフを実現してIP型無線ネットワークで高品質のビデオマルチキャスト/ブロードキャストを確保するかについてである。
【課題を解決するための手段】
【0010】
無線ネットワークでは、移動装置は、ランダム且つバーストのパケット損失を受ける可能性がある。これは、1つの基地局/アクセスポイントから他の基地局/アクセスポイントへのハンドオーバ/ハンドオフのためでもよい。これらの期間中に送信されたデータは、受信機/移動装置にとって損失になる。本発明は、時間シフト(スタガーキャスティング)してデータパケット及びクロスパケットFECパリティパケットを繰り返し送信することにより、シームレスなハンドオフ/ハンドオーバのためにデータパケット損失から回復する方法及び装置を提供する。(例えば、無線ネットワークのハンドオフ中に又はシャドーイングの結果として)バーストのパケット損失の間に生じ得る符号化ブロックの全てのビデオパケットが損失した場合にどのように回復するかについて、従来技術では考慮されていない。また、受信機でFEC符号化ブロックのビデオパケットとパリティパケットをどのように同期させるか、パケットのパディング情報(padding information)がどのように通信されるか、後方互換性のために従来のFEC不可能な受信機をどのようにサポートするかについて、従来技術では考慮されていない。
【0011】
ここに記載されるシステムは、1つ以上のサーバ/送信元/送信機、無線基地局又はアクセスポイントと、Ethernet(登録商標)スイッチと、受信機とを含む。ここで使用される受信機は、典型的には移動装置である。移動装置は、移動電話と、セルラ電話と、移動端末と、ビデオプレイヤと、携帯情報端末(PDA:personal digital assistant)と、ラップトップとを含むが、これらに限定されない。
【0012】
通常/元のデータと、時間シフトしたパリティデータとは、異なるIPマルチキャストグループを使用して後方互換性のあるように送信される。すなわち、移動装置が本発明で提供される機能を有さない場合でも、パケット損失に対して低いシステム回復力で、依然として通常のデータパケットのみを受信及び復号化することができる。遅延したパリティパケットは、移動装置により破棄される。これは、従来の装置との後方互換性を実現する。
【0013】
本発明は、ランダム且つバーストのパケット損失から回復することができるアプリケーションレイヤの時間をずらしたFEC方式である。特に、本発明は、ランダム且つバーストのパケット損失の間にシームレスなサービスを実現する(すなわち、ビデオの障害がない)。本発明は、ビデオマルチキャスティングの特性を考慮に入れ、シームレスなハンドオフについてのアプリケーションレイヤの対策を提供する。複数のビデオパケットがバーストで完全に損失しても、損失パケットは、対応するFECパリティパケットのみから回復され得る。
【0014】
データを送信する方法及びシステムは、データをパケット化し、少なくとも1つのパリティパケットを生成するためにパケット化データで前方誤り訂正(FEC)符号化を実行し、パケット化データのペイロードデータの終わりにパディングとしてFEC情報を追加し、パケット化データと少なくとも1つのパリティパケットとを送信することを含むものとして記載される。また、パケットの損失から回復する方法及びシステムは、データパケットを受信し、少なくとも1つのパリティパケットを受信し、受信したデータパケットをバッファに入れ、パケット損失を検出し、少なくとも1つのパリティパケットを前方誤り訂正復号化し、データパケット及び少なくとも1つのパリティパケットから抽出された前方誤り訂正情報を使用してパケット損失から回復し、内部ソケットを介して回復パケットを転送することを含むものとして記載される。また、スタガーキャスティング方法は、第1のデータシーケンスを符号化及び圧縮し、圧縮符号化データシーケンスをパケット化し、データパケットを形成し、第1のデータシーケンスに関する第2のデータシーケンスを生成するために、データパケットで前方誤り訂正(FEC)符号化を実行し、データパケットのペイロードデータの終わりにパディングとしてFEC情報を追加し、第2のデータシーケンスをパケット化し、パケットを形成し、データパケットを第1のマルチキャストグループにマルチキャストし、オフセット時間だけ遅延した第2のデータシーケンスを使用して形成されたパケットを第2のマルチキャストグループにマルチキャストすることを含むものとして記載される。
【図面の簡単な説明】
【0015】
【図1】スタガーキャスティングを使用したインターネットプロトコル型無線ネットワークでのマルチキャストシステムの概略図
【図2】例示的なビデオサーバ/送信機アーキテクチャの概略図
【図3】本発明による例示的なクライアントプロキシアーキテクチャ
【図4】K=4、N=8の場合の本発明のFECスタガーキャスト方法の例
【図5】RS符号化の通常のパディング方式
【図6】RS符号化の通常のハイブリッドパディング方式
【図7a】ハイブリッドパディングをサポート可能な本発明によるソースRTPパケットフォーマット
【図7b】パリティRTPパケットフォーマット
【図8a】本発明の原理に従って遅延回復マルチキャストグループ内でクロスパケット前方誤り訂正(FEC)符号により生成されたパリティパケットを備えた例示的なビデオサーバ/符号化器の実装のフローチャート
【図8b】本発明の原理に従って遅延回復マルチキャストグループ内でクロスパケット前方誤り訂正(FEC)符号により生成されたパリティパケットを備えた例示的なビデオサーバ/符号化器の実装の概略図
【図9】本発明の原理によるクロスパケット符号化の例
【図10a】本発明の原理に従って遅延回復マルチキャストグループ内でクロスパケットFEC符号により生成されたパリティパケットを備えた例示的な移動受信機の実装のフローチャート
【図10b】本発明の原理に従って遅延回復マルチキャストグループ内でクロスパケットFEC符号により生成されたパリティパケットを備えた例示的な移動受信機の実装の概略図
【図11a】元の10秒のロングビデオシーケンスの各フレームの輝度SNR(SNR-Y)
【図11b】ループされた1分のロングビデオシーケンスの輝度SNR(SNR-Y)
【図12】様々な干渉レベルでの表1のシーケンスの平均SNR-Y
【図13】2つの形式でクライアントにより検出された対応のリンク品質
【図14】様々な干渉レベルでの残留パケット損失率(PLR)
【図15(a)】異なるFEC遅延及びハンドオフ/バースト持続時間でのシーケンスF及びGのビデオ品質
【図15(b)】異なるFEC遅延及びハンドオフ/バースト持続時間でのシーケンスF及びGのビデオ品質
【図15(c)】異なるFEC遅延及びハンドオフ/バースト持続時間でのシーケンスF及びGのビデオ品質
【図15(d)】異なるFEC遅延及びハンドオフ/バースト持続時間でのシーケンスF及びGのビデオ品質
【図15(e)】異なるFEC遅延及びハンドオフ/バースト持続時間でのシーケンスF及びGのビデオ品質
【図15(f)】異なるFEC遅延及びハンドオフ/バースト持続時間でのシーケンスF及びGのビデオ品質
【図16】シーケンスF及びGの間の品質の比較
【発明を実施するための形態】
【0016】
本発明は、添付図面と共に読まれたときに、以下の詳細な説明から最も良く理解される。図面は、以下に簡単に説明する以下の図面を含む。図面において同じ番号は類似の要素を表す。
【0017】
本発明は、ランダム且つバーストのデータパケット損失から回復するための無線ネットワークでのスタガーキャスティング(staggercasting)を対象とする。これは、時間シフト/時間遅延してデータパケット及びクロスパケットFECパリティパケットを送信することにより実現される。本発明は、ビデオ符号化方式と無関係である。無線ネットワークでのビデオマルチキャストが本発明を説明する例として使用されるが、本発明はまた、オーディオストリームを送信するためにも使用され得る。
【0018】
図1を参照すると、本発明による典型的な無線ネットワークが示されている。複数の基地局/アクセスポイントAP1、AP2はセルラネットワークを形成し、サービスエリアを増加させる。干渉を低減するために、隣接無線基地局/アクセスポイントAP1/AP2は、異なる周波数キャリア/無線チャネルで動作する。少なくとも1つのビデオサーバ105は、高速Ethernet(登録商標) LAN又は他の有線高速ネットワークを通じて、複数の無線基地局(BS)又はアクセスポイント(AP)に接続される。ビデオサーバ105は、他の構成要素の中でも、ビデオ符号化器/トランスコーダとパケット化器とを含む。生のビデオマルチキャスト/ブロードキャストでは、ビデオコンテンツは、符号化/コード変換され、パケット化され、無線基地局/アクセスポイントAP1、AP2を通じて複数の移動クライアント(110、115a、115b、120a、120b、125)にマルチキャストされる。予め符号化されたビデオコンテンツもパケット化され、無線基地局/アクセスポイントを通じて複数の移動クライアントにマルチキャストされる。
【0019】
移動装置(例えば、115a、120b)が1つのセルから他のセルに移動すると、移動装置は、現在関連(アソシエーション)している基地局(BS)/アクセスポイント(AP)から他のBS/APにハンドオーバ/ハンドオフされる。移動装置(115a、120b)がその動作周波数を変更して新しいBS/APに関連付けられると、複数のパケットが損失する可能性がある。パケット損失から回復してシームレスなハンドオーバを実現するために、本発明は、ビデオコンテンツ(データパケット)と、FEC符号(例えば、時間シフトしたハーフレートのReed-Solomon符号)によりデータパケットから生成されたパリティパケットとを同時送信することを提供する。通常のビデオパケットストリームは、IPマルチキャストグループ(通常のビデオマルチキャストグループ)内の全ての基地局/アクセスポイントに送信される。更に、時間をずらした/シフトした/遅延したFECストリームは、他のマルチキャストグループ(遅延回復マルチキャストグループ)内の全ての移動装置に送信される。ここでは、この技術はスタガーキャスティング(staggercasting)と呼ばれる。通常のビデオストリーム及び時間シフトしたFECストリームは、時間ダイバーシチを提供し、ハンドオーバ/ハンドオフの状況でシステムのロバスト性を改善する。システムは、時間シフトの持続時間までパケット損失をトランスペアレントに許容する。
【0020】
移動装置は、ビデオグループのみに参加してもよい。移動装置がBS/APから隣接BS/APにハンドオフすると、誤りが検出された場合に、又はハンドオフ/ハンドオーバが生じるとすぐに、移動装置は、通常のビデオマルチキャストグループと遅延FECマルチキャストグループとの双方に参加/加入する要求を新しいBS/APに送信する。新しいBS/APは、無線リンクでのマルチキャストで通常のビデオパケットストリームと遅延FECパケットストリームとの双方を送信/マルチキャストする。移動装置は、双方のストリームを受信する。参加時間がビデオストリームとFECパリティストリームとの間の時間シフトより小さい場合、対応するパリティパケットは、損失ビデオパケットを回復するために移動装置により受信される。何らかのパケットが通常のビデオパケットストリームで損失したことを移動装置が検出すると、移動装置は、時間遅延したFECパケットストリームに切り替え、損失パケットを回復する。通常のビデオパケットストリームと遅延FECストリームとの間の時間シフト持続時間/期間がハンドオフ時間(又はバースト)より大きい場合、損失ビデオデータは回復され得る。通常のビデオパケットストリームの損失データが回復された後に、移動装置は、遅延FECマルチキャストグループを離脱/解除/終了する要求をBS/APに送信する。BS/APに関連する移動装置がマルチキャストグループのデータ(通常のビデオデータ又は遅延FECデータ)を要求しない場合(すなわち、マルチキャストグループのメンバが存在しない場合)、BS/APは、無線ネットワークでこのマルチキャストグループのデータを送信せず、データを破棄する。このことは無線帯域を節約する。IGMP(Internet Multicast Management Protocol)又は他のプロトコルは、移動装置がマルチキャストグループに参加又は離脱することをBS/APに要求するために使用され得る。代替実施例では、移動装置は、マルチキャストグループに参加又は離脱する要求をEthernet(登録商標)スイッチに送信する。BS/APに関連する移動装置がマルチキャストグループのデータを要求しない場合、Ethernet(登録商標)スイッチは、そのマルチキャストグループのデータをBS/APに送信しない。
【0021】
特に、依然として図1を参照すると、移動装置115bは、AP2によりサービス提供/サポートされるセルからAP1によりサービス提供/サポートされるセルに移動する。これを行うと、移動装置(この時点ではAP1によりサポートされる115a)は、通常のビデオ及び遅延FECマルチキャストグループに加入/参加することをAP1に要求し、通常のビデオパケットストリーム(ストリーム1)と遅延/時間シフトFECストリーム(ストリーク2)との双方を受信する。通常のビデオパケットストリームに誤りが検出された場合(何らかのパケットが損失した場合)、移動装置は、時間遅延FECパケットストリームに切り替え、損失パケットを回復する。通常のビデオパケットストリームと遅延FECストリームとの間の時間シフト持続時間がハンドオフ時間より大きい場合、受信した対応するパリティパケットは、損失ビデオパケットを回復するために使用される。通常のビデオパケットストリームの損失データが回復した後に、移動装置115aは、遅延ビデオマルチキャストグループを離脱/解除/終了する要求をBS/APに送信してもよい。
【0022】
同様に、移動装置120aは、AP1によりサービス提供/サポートされるセルからAP2によりサービス提供/サポートされるセルに移動する。これを行うと、移動装置(この時点ではAP2によりサポートされる120b)は、通常のビデオ及び遅延FECマルチキャストグループに加入/参加することをAP2に要求し、通常のビデオパケットストリーム(ストリーム1)と遅延/時間シフトFECストリーム(ストリーク2)との双方を受信する。通常のビデオパケットストリームに誤りが検出された場合(何らかのパケットが損失した場合)、移動装置は、時間遅延FECパケットストリームに切り替え、損失パケットを回復する。通常のビデオパケットストリームと遅延FECストリームとの間の時間シフト持続時間がハンドオフ時間より大きい場合、受信した対応するパリティパケットは、損失ビデオパケットを回復するために使用される。通常のビデオパケットストリームの損失データが回復した後に、移動装置120bは、遅延ビデオマルチキャストグループを離脱/解除/終了する要求をBS/APに送信してもよい。
【0023】
損失パケットを回復するために、如何なるシステマティック(systematic)FEC符号(例えば、Reed-Solomon(RS)符号)が消去復号化(erasure decoding)と共に使用されてもよい。例示的な実施例では、ビデオストリーミングサーバでクロスパケット前方誤り訂正符号化により生成されたFECパリティパケットは、遅延回復IPマルチキャストグループに送信される。FEC符号は、ビデオパケット(クロスパケット)を通じて適用され、パリティパケットを生成する点に留意すべきである。この理由は、FEC符号化がアプリケーションレイヤで単一のパケット内に適用されると、誤ったパケットは受信側MACレイヤにより破棄され、アプリケーションレイヤの誤り訂正に利用可能にならないからである。RS(N,K)符号がKのビデオパケットを通じて適用されて(N-K)のパリティパケットを生成する場合、各符号化ブロック内で(ビデオパケットであれパリティパケットであれ)少なくともKのパケットが正確に受信される限り、元のKのビデオパケットは回復可能である。
【0024】
FEC符号は、ビデオデータパケットに適用され、パリティパケットを生成する。ビデオパケットストリーム及びパリティパケットストリームは、時間シフトして異なるIPマルチキャストグループにマルチキャストされる(すなわち、時間ダイバーシチのためにビデオストリームとパリティストリームとをスタガーキャスティングする)。特に、元のビデオパケットストリーム及び更なるFECパリティパケットストリームは、Ethernet(登録商標)でビデオ/ストリーミングサーバにより時間シフトして異なるIPマルチキャストグループ内の全てのBS/APに送信される(すなわち、ビデオストリームとFECパリティストリームとをスタガーキャスティングする)。各BS/APは、WLANにおいてマルチキャストでビデオストリームとFECパリティストリームとを送信する。従って、通常のビデオストリーム及び時間シフトしたパリティストリームは時間ダイバーシチを提供し、ビデオマルチキャストのロバスト性を改善する。
【0025】
図2は、例示的なビデオサーバ/送信機のアーキテクチャの概略図である。図2は、本発明の実施例に従って時間をずらしたFECを使用したビデオマルチキャストシステムのビデオ送信機/サーバの実装を示している。UDP/IPプロトコルスタック220がビデオマルチキャスティングに使用される。実際に、プロトコルスタックはRTPを含むが、プロトコルスタックのRTP部分(パケット化)205は、プロトコルスタックのUDP/IP部分から分離されており、FEC符号化モジュール210によるFEC符号化の前に処理される。この場合、ビデオシーケンスは予め圧縮されており、MP4フォーマットでファイルに格納されている。圧縮効率のため、H.264ビデオ符号化が本発明の例示的な実施例で使用される。他のビデオ符号化方式も可能である。また、ビデオはビデオ符号化器によりリアルタイムで圧縮されることも可能である。FEC符号化モジュール210は、RTPパケット化205の後に配置されるが、UDP/IPレイヤ220の前に配置される。圧縮ビデオは、RTPパケット化器205によりパケット化され、RTPパケットヘッダが追加される。本発明によれば、FEC関連の制御情報は、FEC符号化モジュール210によりパディング(padding)としてビデオパケットに追加される。通常のビデオパケット(例えば、3GPPパケット)では、FEC符号化情報は、RTPヘッダの後且つRTPペイロード(ビデオデータ)の前に挿入される。FEC制御情報をビデオパケットのパディングとして移動することにより、パディングは従来のプレイヤにより無視されるため、パケットフォーマットは、FEC不可能な従来のプレイヤに対して後方互換になる。
【0026】
システマティックFEC符号は、FEC符号化モジュールでビデオパケットを通じて適用され、パリティパケットを生成する。Vandermonde 行列を使用して構成されたReed-Solomon(RS)符号が例示的な実施例で使用される。RS(N,K)符号では、Kのビデオパケットが一緒にグループ化される。符号化中に、RS符号がパケットグループに適用され、各パケットから1つのシンボルがコードワードで構成される。(N-K)のパリティパケットは、Kのビデオパケットから生成される。受信機で復号化を可能にするために、FEC情報を含むFECパケットにヘッダが追加される。例示的な実施例では、FECパラメータN及びKは、リアルタイムで動的に調整されてもよい。
【0027】
ビデオパケットは、IPマルチキャストグループ(通常のビデオマルチキャストグループ)内でUDP/IPスタック220及びEthernet(登録商標)インタフェース225を通じてBS/APに送信される。FECパリティパケットは、オフセット時間Tdの間に遅延バッファ215に格納される。FECパリティパケットは、遅延の後に、他のIPマルチキャストグループ(遅延回復(FEC)マルチキャストグループ)内でUDP/IPスタック220及びEthernet(登録商標)インタフェース225でBS/APに送信される。
【0028】
マルチキャストアドレス、ビデオ符号化フォーマット、FEC符号化方式等と、ビデオストリームとパリティパケットストリームとの間の関連とを含み、ビデオマルチキャストグループ及びFECマルチキャストグループ情報を示すために、セッション記述プロトコル(SDP:Session Description Protocol)が使用される。SDPファイルは、セッション開始時にハイパーテキスト転送プロトコル(HTTP:HyerText Transfer Protocol)又はリアルタイムストリーミングプロトコル(RTSP:Real Time Streaming Protocol)を通じてクライアントにダウンロードされてもよく、セッション通知プロトコル(Session Announcement Protocol)を介してストリーミングサーバにより通知されてもよい。
【0029】
商用及びフリーウェアのビデオプレイヤ(例えば、Quicktime及びVLCプレイヤ)が利用可能であるが、これらのプレイヤはFEC符号化をサポートしない。ソースコードは、一般的に商用プレイヤで利用可能ではなく、FECのサポートは統合不可能である。FEC符号化のサポートを全てのフリーウェアのプレイヤに統合することは困難であり、フリーウェアのプレイヤのソースコードが利用可能であってもFEC符号化のサポートを維持及び更新することは困難である。本発明は、図3に示すクライアントプロキシアーキテクチャ300を対象とする。本発明のクライアントプロキシアーキテクチャ300は、何らかの商用及びフリーウェアのビデオプレイヤと共に動作する。クライアントプロキシは、異なるマルチキャストグループからビデオ及びFECパケットを受信し、損失ビデオパケットを回復し、内部ソケットを通じて回復ビデオパケットをプレイヤに送信する。
【0030】
図3は、本発明による例示的なクライアントプロキシアーキテクチャである。クライアントプロキシは、ハードウェア、ソフトウェア、ファームウェア、特定用途向け集積回路(ASIC)、縮小命令セットコンピュータ(RISC)、フィールドプログラマブルゲートアレイ(FPGA)又はこれらの如何なる組み合わせでもよい。クライアントプロキシは、ビデオプレイヤのような移動装置に存在し、移動装置の一部を形成する。通常のビデオパケット及び遅延パリティ(回復)パケットは、WLANインタフェース305及びUDP/IPプロトコルスタック310を介してクライアントプロキシにより異なるマルチキャストグループから受信される。ビデオ/ストリーミングサーバ側では、プロトコルスタックのRTP部分(パケット化解除)325は、プロトコルスタックのUDP/IP部分310から分離されている。受信ビデオデータパケットは、バッファ315で遅延される。これは、例えば初期再生遅延(initial playout delay)により実現され得る。FEC消去復号化モジュール320は、UDP/IPスタック310の後に配置される。誤ったパケットは、リンクレイヤにより破棄される。損失ビデオパケット又はパリティパケットの位置は、パケットヘッダのシーケンス番号を通じてFEC消去復号化モジュール320により検出される。パケットヘッダのシーケンス番号は、消去復号化(erasure decoding)に使用される。パケット損失が検出されると、遅延FECマルチキャストグループに参加して対応するパリティパケットを取得する要求がBS/APに送信される。パリティパケット及びビデオパケットのFECヘッダは、FEC復号化モジュール320によりFECブロック情報を決定するために使用される。RS(N,K)符号では、ビデオデータパケット又はパリティパケットに拘らず、FEC符号化ブロックのNのパケットのうち何らかのK以上のパケットが正確に受信される限り、FEC消去復号化は、送信機での符号化中に最も長いパケットにパディングされた全てのパケットの場合に、元のビデオパケットを再構成することができる。FEC消去復号化は、符号化の逆処理である。符号化は、パケットを通じて実行され、各パケットからの1つのシンボルはコードワードで構成される。パディングは、ビデオ/ソースパケット損失がFECパリティパケットを使用して回復した後に、回復ビデオ/ソースパケットから破棄される。回復ビデオパケットは、内部ソケット及びUDP/IPスタック330を介してビデオプレイヤ340に送信される。回復ビデオパケットは、ループバック構成のビデオプレイヤ340により、1つのUDP/IPスタック(例えばUDP/IPスタック335)を通じて受信されてもよい。回復ビデオ/データパケットはまた、他のビデオプレイヤに転送されてもよい。ビデオファイルは、RTPパケット化解除器325により保存される。
【0031】
元のRTPビデオソースパケットはパディングとして使用されるFEC情報を除いて不変であるため、このFEC機構は、FEC可能受信機とFEC不可能な受信機とが混合したマルチキャストのシナリオで使用され得る。パディング情報は、RTP仕様に基づいてFEC不可能なプレイヤにより無視されるべきである。移動装置がFEC機能を有さない場合、パケット損失に対して低いシステム回復力で、ビデオマルチキャストグループから通常のビデオパケットのみを受信することができる。異なるマルチキャストグループのパリティパケットは、プロトコルスタックにより破棄される。これは、後方互換性を実現する。
【0032】
バーストのパケット損失は、移動装置のハンドオーバ中に生じる可能性がある。符号化ブロックのビデオパケットの一部又は全部は、ハンドオーバ/ハンドオフ中に損失する。本発明でこの問題を解決するために、ハーフレートのRS符号が使用される。消去復号化でのRS符号では、各パリティパケットは、符号化ブロックの損失パケットの何れか1つを回復することができる。ハーフレートのRS(N,K)符号(N=2K)がKのビデオパケットに適用されると、Kのパリティパケットを生成する。ハーフレートのRS符号では、ビデオパケットがハンドオーバ中にバーストで完全に損失したとしても、損失パケットは、対応するパリティパケットのみから回復可能である。この意味で、ハーフレートのRS符号により生成されたパリティパケットストリームは、元のビデオパケットストリームの他の記述である。システムは、ビデオストリームとパリティストリームとの間の時間シフトTdの持続時間までバーストのパケット損失をトランスペアレントに許容することができる。
【0033】
図4は、K=4、N=8での本発明のバーストのパケット損失を回復するFECスタガーキャスティング方法の例である。RS(8,4)符号で、N-K=4のパリティパケットは、それぞれK=4のソースパケットから生成される。矩形のパケットは1つのFEC符号化ブロックに属し、楕円のパケットは他のFEC符号化ブロックに属する。ビデオ及びFECパリティパケットは、ハンドオーバのようなバースト中に損失する可能性がある。受信機は、受信ビデオパケット及び対応するパリティパケットでFEC消去復号化を実行する。少なくともKのパケット(ビデオ又はパリティパケット)が正確に受信される限り、元のKのソースパケットは回復可能である。スタガーキャスティングでない場合、6のパケット(FEC及びビデオ)が受信されているため、矩形ブロックのパケットは回復可能である。しかし、2のパケットのみが正確に受信されているため、楕円ブロックのパケットは回復不可能である。スタガーキャスティングの場合、ビデオストリームとパリティストリームとの間にTdの時間差が存在するため、損失パケットの位置は異なる。ブロック毎に少なくとも4つのパケットが受信されているため、矩形及び楕円ブロックのパケットの双方が回復可能である。スタガーキャスティングは、ビデオストリームとパリティストリームとの時間ダイバーシチを実現する。
【0034】
情報/ビデオストリームとパリティストリームとの間の時間シフトTdは、設計パラメータである。これは、ハンドオフ又はシャドーイングによる予想最大パケットバースト損失の持続時間に基づいて選択されてもよい。ハンドオフ又はシャドーイング損失の予想の長さは、Td未満になるべきである。ハーフレートのRS符号では、バースト損失の回復可能な長さはRS符号のパラメータN及びKに依存しない。これは、システム設計における柔軟性を提供する。時間シフトTdを調整することにより、ハンドオーバ損失又はシャドーイング損失が回復可能になる。
【0035】
RSコーデックの実装では、高速符号化及び復号化のために、8ビットのシンボル長を選択することが有利である。これは、ブロック長N≦255オクテットのRS符号を生じる。本発明の例示的な実施例は、1バイトのシンボルを使用する。短いブロック長及び大きさのRS符号は、N=255を有するマザーコード(mother code)をパンクチャリング(puncturing)及び短縮することにより得られてもよい。パンクチャリングされた符号は、(N,K)のマザーコードから得られた(N-L,K)の符号であり、短縮された符号は、(N,K)のマザーコードから得られた(N-L,K-L)の符号である。本発明の実装は、効率的な消去訂正のため、Vandermonde生成行列に基づく。RS(N,K)のコードワードは、Kのソースシンボルと(N-K)のパリティシンボルとで構成される。符号化処理中に、K×NのVandermonde生成行列は、そのシステマティック版(systematic version)に変換される。システマティック版では、最初のK列は単位行列を形成し、RSコードワードは、Kのシンボルのベクトルをシステマティック生成行列で乗算することにより計算される。符号はシステマティックであるため、最初のKの符号化シンボルは、元のソースシンボルと全く同じである。復号化中に、コードワードの受信したKシンボルの位置に従って、システマティックVandermonde 行列のKの列からK×Kの下位行列が形成される。下位行列は反転され、元のKのソースシンボルは、Kの受信シンボルのベクトルを反転された下位行列で乗算することにより回復される。
【0036】
誤り伝搬を回避するために、各RTP/UDP/IPパケットは、パケットサイズが変わるようにビデオ符号化ユニットの圧縮データ(ビデオフレーム又はスライス)のみを含む。復号化の複雑性を低く維持するため、行列反転がソースブロック毎に1回のみ実行されることが望ましい。従って、受信シンボルの位置は、ソースブロックの全てのRSコードワードの行で同じになる必要がある。パディングは、ソースブロックを形成するために使用され、パケットサイズは一定になる。
【0037】
1つのパディング手法が図5に示されている。FEC符号が適用される前に、ソース符号化ブロックの短いパケットは、ゼロでパディングされ(zero-padded)、これにより、短いパケットの長さは、ソース符号化ブロックの最も大きいパケットの長さと等しくなる。2バイトのRTPパケットサイズフィールドが、FEC符号化中に各ソースパケットの前に挿入され、これにより、復号化器は、回復ソースパケットにおけるパディングシンボルの数を認識する。パケットサイズは復号化器によりIPレイヤから得られ得るため、パケットサイズフィールドは送信されない点に留意すべきである。符号化中に、パディングされたパケットを通じて複数のコードワードが計算され、各コードワードは、それぞれパディングされたパケットからの1シンボルで構成される。RS(N,K)符号が使用される場合、(N-K)のパリティパケットは、Kのソースパケットから生成される。パケットサイズの変化が大きすぎる場合、このパディング手法は、かなりの量のパディングを生じるため、FECオーバーヘッドの大部分がパディングシンボルを保護するために使用される。パディングシンボルは送信されないが、FEC性能は低減する。
【0038】
ハイブリッドパディングと呼ばれる他のパディング手法が図6に示されている。大きいパケットは、行列の複数の行を通じて重ねられている。符号化単位サイズUと呼ばれる符号化ブロックの各行のサイズは、パディングオーバーヘッドを最小化するように決定され得る。このパディング手法は、パディングの総量を低減し、可変サイズのパケットについて依然として低い復号化の複雑性を有する。各ソースパケットは、ソースブロックの新しい行で始まる。パケット長が行の長さの整数倍でない場合、パディングシンボルが行の終わりに追加される。パディングシンボルは、パリティパケットを計算するためにのみ使用される点に留意すべきである。パディングシンボルは、FEC符号化モジュールによりパケットを送信する前に、ビデオ/ソースパケットから取り除かれる。ソースブロックの行の数は、K以下であるべきである。2バイトのRTPパケットサイズフィールドは、FEC符号化中に各ソースパケットの前に挿入され、これにより、復号化器は、受信ビデオ/ソースパケットのパディングシンボルの数を認識する。パケットサイズは復号化器によりIPレイヤから取得され得るため、パケットサイズフィールドは送信されない。
【0039】
RS(N,K)符号は列に沿って適用される。すなわち、コードワードが各列からの1シンボルで構成される。このパディング手法は、低い復号化の複雑性を維持する。損失シンボルの位置がソースブロックのRSコードワードの全ての列について同じであるため、ソースブロックを復号化するために唯一の行列反転が必要になる。標準的なパディング手法は、行のサイズが最大パケット長に等しい特別な場合である点に留意すべきである。パリティパケットは、符号化パリティシンボルの1つ又は複数の行を含んでもよい。
【0040】
パリティパケットサイズを選択する際にトレードオフが存在する。パケットサイズが小さい場合、パリティパケットの送信は更にロバストになるが、ヘッダオーバーヘッドが増加する。大きいパケットサイズが使用される場合、パケットが容易に損失し、また、単一のパリティパケットの損失が複数のパリティの行の損失を生じる。各FECパリティパケットの行の可能な最大数は、行サイズUと、チャネルの最大送信単位(MTU:maximum transmit unit)と、所望のレベルのロバスト性とに依存する。(本発明によればビデオ/ソースパケットのパディングとして使用される)FEC情報は、受信機が符号化ブロックを正確に復号化できるために必要である。
【0041】
図7aは、本発明のパケットフォーマットによるハイブリッドパディングをサポート可能なソースRTPパケットフォーマットを示している。元のRTPヘッダ及びペイロードフィールドは、非FECシステムから不変である。元のRTPヘッダ及びペイロードは、FEC符号化により保護される。4バイトのFEC制御情報フィールドは、パケットのソースブロック番号(SBN:source block number)とそのブロックにおけるその位置(すなわち、このパケットの開始行番号)とを示すために追加される。FEC情報は、RTPパディングとして使用される。パケットのフォーマットは、3GPP仕様により規定されたものと類似するが、本発明によれば、FEC関連の制御情報は、FEC符号化モジュールによりRTPパディングとしてビデオパケットに追加される。通常のビデオパケットでは、FEC符号化情報は、RTPヘッダの後且つRTPペイロード(ビデオデータ)の前に挿入される。RTPパディングとしてFEC情報を移動することにより、パケットフォーマットは、ビデオプレイヤのようなFEC不可能な移動装置と後方互換になる。ハイブリッドパディングが使用されるときに、FEC制御情報は、FEC復号化モジュールにとってFECブロックを復号化するために必要である。そうでない場合、復号化器は、損失ビデオ/ソースパケットの行の数がわからない。RTP標準のRFC3550によれば、パディングビットがRTPヘッダに設定される場合、終わりの更なるパディングオクテットは、RTPパケット化解除器により無視されるべきである。パディングの最後のオクテットは、自分を含み何個のパディングオクテットが無視されるべきかのカウントを含む。RTPパディングのサポートのあるFEC不可能な従来のプレイヤは、ビデオマルチキャストグループだけを受信し、パディングのFEC制御情報を無視してもよい。元のRTPソースパケットが何らかのパディング情報を除いて不変であるため、このFEC機構は、FEC可能な受信機とFEC不可能な受信機とが混合したマルチキャストのシナリオで使用され得る。パディング情報は、FEC不可能なプレイヤにより無視されるべきである。複数のH.264互換のプレイヤでのテストは、この方法がVLCプレイヤとThomsonのMMAFプレイヤとでうまく動作することを示している。この理由は、これらのプレイヤはRTPパディングをサポートするからである。Quicktimeプレイヤは、直接的にFEC制御情報でビデオストリームを受信することができない。この理由は、パディングをサポートしないからである。
【0042】
図7bは、パリティRTPパケットフォーマットを示している。パリティFECパケットはまた、UDP/IPプロトコルスタックを使用して送出される。FECパリティパケットのペイロード形式(PT:payload type)は、帯域外シグナリング機構(例えばSDPファイル)を使用して動的に割り当てられる。これは、元のソースペイロード形式とは異なる。PTは、FEC符号化方式と、ペイロードについてのそのパラメータを特定する。受信機でパリティパケットの復号化を助けるために、FEC制御情報ヘッダがRTPヘッダの後に追加され、FECブロック情報と符号化パラメータとを示す。3GPPで規定されたフォーマットと同様に、パリティパケットのFECヘッダは、(1)ソースブロック番号(SBN:source block number):ソースパケットが属するソースブロックのIDと、(2)符号化単位ID(EUI:Encoding Unit ID):符号化ブロックにおけるこのパケットの開始行番号と、(3)ソースブロック長(SBL:Source Block Length):ソースブロックにおけるソース行の数(すなわち、K)と、(4)符号化ブロック長(EBL:Encoding Block Length):行の総数(すなわち、N)と、(5)符号化単位長(U:Encoding Unit length):バイトにおける行の長さとを含む。各符号化単位は、ここでは行に対応する点に留意すべきである。
【0043】
クライアント側でのFEC復号化は、符号化の逆処理である。ソースブロックに属する受信ソース及びパリティパケットは、SBNに基づいて一緒にバッファに入れられてもよい。何らかの損失したソースRTPパケットがシーケンス番号の隔たりにより検出されると、同じSBNを有するパリティパケットが、損失ビデオ/ソースパケットを回復するために使用され得る。何らかのパリティパケットが利用可能である場合、FEC符号化パラメータ(N,K)、ソースブロックの大きさ及び行サイズは、FECパリティパケットのFEC制御情報により決定され得る。符号化ブロックは、EUIフィールド(すなわち、ソース及びパリティパケットの開始行番号)に従って、損失ソース及びFECパリティパケットにより、見込まれる損失した行で形成され得る。損失した行の数が(N-K)未満である場合、損失したソース行が復号化及び回復可能である。ソースRTPパケットをソース行に挿入する前に、パケット長はパリティパケットの最初のソース行の前に付加される点に留意すべきである。これは、ビデオ/ソースパケットの回復に有用である。回復パケットの最初の2バイトは、その“パケットサイズ”を有する。第3バイトから始めて、回復したソースからの“パケットサイズ”の数がパケットに属する。行の残りのシンボルはパディングシンボルであるため、破棄される。パディングされたFEC制御情報及びパディング長バイトは、FEC復号化モジュールによるFEC復号化の前に、正確に受信したビデオ/ソースRTPパケットから取り除かれる。
【0044】
図8aは、遅延回復IPマルチキャストグループ内でFECパリティパケットを使用して無線IPネットワークでビデオマルチキャストを行う例示的な送信機/サーバの実装のフローチャートである。805において。圧縮されていないビデオシーケンスデータが受信され、符号化/コード変換/圧縮される。810において、符号化/コード変換/圧縮されたビデオシーケンスデータはパケット化され、パケットヘッダが追加される。815において、パケット化された符号化/コード変換/圧縮されたビデオシーケンスデータはFEC符号化され、FECパリティパケットを形成する。FEC符号は、ビデオパケットを通じて適用され、パリティパケットを生成する。ヘッダは、FEC情報を含むFECパケットに追加される。余分のFEC関連の制御情報もまた、ビデオデータパケットに追加される。825において、ビデオデータパケットはIPマルチキャストグループ(通常のビデオマルチキャストグループ)に送信/マルチキャストされる。820において、パリティパケットは、オフセット時間Tdの間に格納される。825において、FECパリティパケットは、遅延/時間シフトTdの後に、他のIPマルチキャストグループ(遅延/回復マルチキャストグループ)にマルチキャスト/送信される。
【0045】
図8bは、遅延回復IPマルチキャストグループ内でFECパリティパケットを使用して無線IPネットワークでビデオマルチキャストを行う例示的な送信機/サーバの実装の概略図である。ビデオ符号化器/トランスコーダ/圧縮器830は、圧縮されていないビデオシーケンスデータを受信し、圧縮されていないビデオシーケンスデータを符号化/コード変換/圧縮する。符号化/コード変換/圧縮されたビデオシーケンスデータは、パケット化器835に通信され、パケット化器835は、符号化/コード変換/圧縮されたビデオシーケンスデータをパケット化し、データパケットを形成してパケットヘッダを追加する。パケット化された符号化/コード変換/圧縮されたビデオシーケンスデータは、FEC符号化器840に通信され、パリティパケットを形成する。FEC符号化器は、パケット化器の後に配置されるが、プロトコルスタック850の前に配置される。FEC符号がビデオパケットを通じて適用され、パリティパケットを生成する。ヘッダは、FEC情報を含むFECパケットに追加される。FEC関連の制御情報もまた、ビデオデータパケットに追加される。ビデオデータパケットは、プロトコルスタック850及びEthernet(登録商標)/WLANインタフェース855を通じてIPマルチキャストグループ(通常のビデオマルチキャストグループ)に直ちに送信/マルチキャストされる。プロトコルスタック850は、少なくともUDPレイヤ850aとIPレイヤ850bとを含む。パリティパケットは、オフセット時間Tdの間に遅延バッファ845に格納される。FECパリティパケットは、遅延/時間シフトTdの後にプロトコルスタック850及びEthernet(登録商標)/WLANインタフェース855を介して他のIPマルチキャストグループ(遅延/回復マルチキャストグループ)に送信/マルチキャストされる。ここに記載した構成要素は、ハードウェア、ソフトウェア若しくはファームウェア又はRISC、ASIC及び/又はFPGAを含むこれらの如何なる組み合わせでもよい。
【0046】
システマティックFEC符号では、FEC符号化モジュールは、十分なビデオ/ソースパケットが符号化ブロックを埋めるまで待機し、次に、FEC符号化モジュールがパリティパケットを生成する。他の実施例では、FEC符号化モジュールは、FEC関連の制御情報をビデオ/ソースパケットに追加し、パケットがパケット化器によりFEC符号化モジュールに渡された直後に、符号化ブロックを埋めるまで待機せずにパケットを送出/マルチキャストしてもよい。FEC符号化モジュールは、符号化ブロックバッファにこのパケットのコピーを保持する。前述のように、符号化ブロックが埋まり、FEC符号化モジュールがパリティパケットを生成した後に、既に送信されたビデオ/ソースパケットは破棄される。この理由は、ビデオ/ソースパケットが既に送信されているためである。
【0047】
図9は、本発明の原理によるクロスパケット符号化の例である。図9に示すように、Kのビデオパケットは、一緒にグループ化され、Reed-Solomon(RS)(N,K)符号がパケットグループに適用され、N-Kのパリティパケットを生成する。ヘッダは、どのビデオパケットをこのFECパケットが保護するかを含み、FEC情報を含むFECパケットに追加される。FEC関連の制御情報もまた、ビデオパケットに追加される。ビデオデータパケットは、UDP/IPスタック及びEthernet(登録商標)インタフェースを介してIPマルチキャストグループ(通常のビデオマルチキャストグループ)に送信される。パリティパケットは、オフセット時間Tdの間に遅延バッファに格納される。FECパリティパケットは、遅延/時間シフトTdの後にUDP/IP及びEthernet(登録商標)インタフェースを介して他のIPマルチキャストグループ(遅延/回復マルチキャストグループ)に送信される。
【0048】
図10aは、遅延/回復マルチキャストグループ内でFECパリティパケットを使用してIP型無線ネットワークでビデオマルチキャストを行う例示的な移動受信機/装置の実装のフローチャートである。1005において、ビデオシーケンスデータを含む通常のビデオデータパケット及び遅延パリティパケットは、異なるマルチキャストグループから受信される。1010において、これらは、ビデオパケットとパリティパケットとに分離される。1015において、受信ビデオデータパケットが格納される。誤ったビデオ及びパリティパケットは、リンクレイヤ(WLANインタフェース)により破棄される。1020において、FEC消去復号化が実行される。損失ビデオデータパケット又はパリティパケットの位置は、FEC消去復号化処理によりパケットヘッダのシーケンス番号を通じて検出される。パリティパケットのFECヘッダ及びビデオデータパケットに追加されたFEC制御情報は、FECブロック情報を決定するために使用される。RS(N,K)符号で、(ビデオデータパケットであれパリティパケットであれ)FEC符号化ブロックのNのパケットのうち何らかのK以上のパケットが正確に受信される限り、FEC消去復号化処理は、元の(通常の)ビデオパケットを再構成することができる。1025において、FEC消去復号化されたビデオデータパケットはパケット化解除される。1030において、パケット化解除されたビデオデータパケットはビデオ復号化され、表示用に復号化されたビデオを生成する。
【0049】
一実施例は、ハーフレートのRS符号を使用する。ハーフレートのRS符号は、元のデータの他の記述を生成するために使用される。消去復号化でのRS符号では、各パリティパケットは、符号化ブロックでの何れか1つの損失パケットを回復することができる。ハーフレートのRS(N,K)符号(N=2K)がKのビデオパケットに適用されると、Kのパリティパケットを生成する。ハーフレートのRS符号では、複数のビデオデータパケットがハンドオーバ中のバーストで完全に損失したとしても、損失データパケットは、対応するパリティパケットのみから回復可能である。この意味で、ハーフレートのRS符号により生成されたパリティパケットストリームは、元の(通常の)ビデオパケットストリームの代替である。Reed-Solomon(RS)符号の他に、パリティパケットを生成するために他のFEC符号も使用され得る点に留意すべきである。ハーフレートのRS符号を有する本発明は、元のビデオパケットとFECパリティパケットとの間の時間シフトTdの持続時間までのパケット損失をトランスペアレントに許容することができる。
【0050】
図10bは、遅延/回復マルチキャストグループ内でFECパリティパケットを使用してIP型無線ネットワークでビデオマルチキャストを行う例示的な移動受信機/装置の実装の概略図である。通常のビデオデータパケット及び遅延パリティパケットは、WLAN/Ethernet(登録商標)インタフェース1035で異なるマルチキャストグループから受信される。これらは、プロトコルスタック1040によりビデオデータパケットとパリティパケットとに分離される。プロトコルスタック1040は、少なくともUDPレイヤ1040aとIPレイヤ1040bとを含む。受信ビデオデータパケットは、バッファ1045で遅延される。誤ったビデオ及びパリティパケットは、リンクレイヤ(WLANインタフェース)により破棄される。FEC消去復号化モジュール1050は、パケット化解除とUDPレイヤとの間にある。ビデオデータパケット又はパリティパケットの位置は、FEC消去復号化モジュール1050によりパケットヘッダのシーケンス番号を通じて検出される。FEC消去復号化モジュール1050は、消去復号化のために使用される。パリティパケットのFECヘッダ及びビデオパケットに追加されたFEC制御情報は、FECブロック情報を決定するために、FEC消去復号化モジュール1050により使用される。RS(N,K)符号では、(ビデオデータパケットであれパリティパケットであれ)FEC符号化ブロックのNのパケットのうち何らかのK以上のパケットが正確に受信される限り、FEC消去復号化モジュール1050は、元の(通常の)ビデオデータパケットを再構成することができる。FEC消去復号化されたビデオデータパケットは、パケット化解除器1055に通信され、パケット化解除器1055は、ビデオデータパケットをパケット化解除する。パケット化解除されたビデオデータパケットは、ビデオ復号化モジュール1060に通信される。ここに記載した構成要素は、ハードウェア、ソフトウェア若しくはファームウェア又はRISC、ASIC及び/又はFPGAを含むこれらの如何なる組み合わせでもよい。
【0051】
移動装置からBS/APへの帰路無線チャネルが利用可能でない場合、及び/又は簡単なシステム実装が好ましい場合、BS/APは、無線ネットワークにおいてマルチキャストで通常のビデオストリームと遅延回復ストリームとを常に送信してもよい。移動受信機/装置は、要求せずに双方のストリームを受信する。ランダムなパケット損失の回復のため、チャネル状態に従って時間シフトせずに、他のマルチキャストグループ内で特定のFECパリティパケットを常に送信することも可能である。残りのFECパリティパケットは、バーストのパケット損失を訂正するために、遅延回復(FEC)マルチキャストグループ内で送信される。
【0052】
ORBIT無線ネットワークのテストベッドを使用して、異なる干渉レベル及び移動ハンドオーバ時間でのビデオ品質に対するFECオーバーヘッド及びビデオストリームとFECストリームとの間の遅延の影響が調査された。本発明のFECスタガーキャスティングの有効性は、Orbitテストベッドからの実験データを使用して証明された。全てのビデオシーケンスはH.264で符号化されている。ビデオ解像度は720×480であり、フレームレートは毎秒24フレームである。2秒毎に1つのIフレームが存在する。瞬時複合化器リフレッシュ(IDR:instantaneous decoder refresh)イントラピクチャは無効である。符号化器でスライスモードが使用され、各パケットは、唯一のスライスを伝達し、各損失パケットが他の正確に受信したパケットの有効性に影響を及ぼさず、誤り伝搬を回避することを確保する。
【0053】
中間動画ビデオシーケンス“Kungfu”がテスト用に選択された。元のビデオは10秒の長さであり、これは、5つのIフレームを有する240フレームが存在することを意味する。図11aは、27及び450バイトのスライスサイズに設定されたI/Pフレームの量子化パラメータで符号化された後のビデオシーケンスの輝度成分信号対雑音比(SNR-Y)を示している。48フレーム毎の周期パルスは、Iフレームの位置を示しており、また、点線の垂直グリッドでも示されている。ビデオシーケンスの動きが増加するため、240フレームのSNR-Yは少しずつ減少する。元のビデオシーケンスは、6回ループし、1440フレーム(1分)のシーケンスを得る。1分のシーケンスの輝度成分のSNRは、図11bのようなシーソー(seesaw)形式を示す。
【0054】
次に、Orbitテストベッドを使用して、雑音環境におけるビデオマルチキャストのFEC保護の有効性がテストされた。元の10秒の長さのビデオシーケンスは30回ループされ、5分の長さのシーケンスを得る。ビデオは、IEEE802.11aのチャネル64及びモード1を使用してマルチキャストで送信される。送信電力は、15mWに設定され、雑音干渉を受けやすくする。Orbitテストベッドでの雑音生成器は、20MHzの帯域でチャネル64を中心とするAWGN干渉を生成するために使用される。クライアントは、FEC保護された及びFEC保護されていないビデオシーケンスを受信するために、BA/APに関連付けられる。受信ビデオデータは、ビデオ品質を比較するために復号化される。
【0055】
公平な比較のため、5のビデオシーケンスが異なる量子化パラメータを使用して同じ生のビデオから符号化され、異なるFEC符号化レートで同様の全体(RTPパケット及びFECパケット)トラヒックビットレートを得る。表1は、図12で使用された5つのビデオシーケンスの符号化パラメータと全体ビットレートとを示している。UDP/IP/MAC/PHYヘッダのオーバーヘッドは、表1のトラヒック統計に含まれる。
【0056】
【表1】
図12は、様々な干渉レベルでの表1のシーケンスについての平均SNR-Yを示している。各場合について、干渉が閾値を超えると、急速にビデオ品質が低下する。これは、各符号化ブロックでFECパリティパケットは全ての損失パケットを回復するか、或いは損失パケットを全く回復しないかという理由のためである。ビデオシーケンスに誤り伝搬も存在する。曲線の閾値は、強力なFEC符号では高い干渉レベルで生じる。しかし、ほとんど誤りがない場合、低干渉レベルではSNR-Yは強力なFEC符号でわずかに小さい。これは、強力なFEC符号により必要となる高いオーバーヘッドがビデオソースのレートを低減するからである。実験では、干渉が小さい場合(13dbmの雑音)、FECの冗長性のため、FECオーバーヘッドが高くなるほど、ビデオ品質が低くなることがわかる。しかし、雑音が増加すると、FEC保護はその有効性を示す。雑音が約7dbmに到達すると、受信シーケンスの一部は、大きいパケット損失のため復号化不可能である。実験データは、雑音が6dbmに到達すると、これらの5つの受信シーケンスがもはや復号化不可能であることを示している。雑音が5dbmである場合、BS/APとクライアントとの間の関連付けは時々壊れる。通常では、良好なビデオ品質のソース符号化レートでの動作点と、所望のビデオマルチキャストサービスエリア範囲に基づいてパケットから回復するのに十分なFEC保護とが選択され得る。
【0057】
図13は、2つの形式(94のスケールでの数及びdbmでの受信信号強度)でクライアントにより検出される対応するリンク品質を示している。図13は、干渉レベルとクライアントにより検出されるリンク品質との間の線形関係を示している。
【0058】
図14は、様々な干渉レベルでの残留パケット損失レート(PLR)を示している。各場合において、干渉が閾値を超えると、急速にPLRが増加する。前述のように、これは、FECが全ての誤りを訂正するか、或いは全く訂正しないかという理由のためである。曲線の閾値は、強力なFEC符号では高い干渉レベルで生じる。
【0059】
ブロックFECでは、FEC符号化器は、符号化ブロックのKのシンボルを埋めるのに十分なビデオパケットを常に待機し、FEC符号化器は、(N-K)のパリティパケットを生成し、パリティパケットを送信する。従って、FECパケット送信時間とソースパケット送信時間との間に常に拡散/遅延が存在する。これは、符号化単位サイズTと、ソースシンボル数Kと、元のビデオトラヒックパターンとに依存する。この固有の拡散(?遅延)は管理及び計算することが困難である。表2は、時間をずらしたFECの実験で使用されるシーケンスを示している。シーケンスGは、100%のFEC保護があり、シーケンスFは、全くFEC保護がない。公平な比較のために、2つのビデオシーケンスは、同様の全体帯域使用を得るために、異なる量子化パラメータを使用して同じ“KungFu”の生のビデオから符号化された。ビデオシーケンスは、5のハンドオフ(バースト持続時間)に対応するのに十分に長くループされる。この場合にも同様に、UDP/IP/MAC/PHYヘッダは、トラヒック統計に含まれる。
【0060】
【表2】
ハンドオフ(バースト)持続時間の長さと、ハンドオフ/バーストの間に損失したパケットの性質(Iフレームに属するかPフレームに属するか)とは、受信ビデオ品質に影響を及ぼす2つの重要な要因である。実行されたテストでは、FECパリティストリームは、固有の拡散(?遅延)に加えて、元のビデオストリームに対してそれぞれ0秒、1秒及び2秒の値で遅延している。様々なハンドオフ持続時間での受信ビデオ品質が計算され、時間をずらしたFECマルチキャストの有効性を示すために比較された。図15(a)は、ハンドオフ持続時間が0.2秒であり、FECストリームが0秒の遅延(これはFECパケットが生成時に直ちに送信されることを意味する)である場合のシーケンスF及びGのビデオ品質を示している。FECのないシーケンスFでは、ビデオ品質は、ハンドオフ/バーストの間に急激に低下する。FEC保護のあるシーケンスGは、余計なFEC遅延すらなしに、受信機で完全に回復されている。前述のように、これは、強力なFECの誤り訂正機能と、小さいハンドオフ/バースト持続時間中のパケット損失の比較的短いバーストと、FECパケット送信時間及びソースパケット送信時間の固有の拡散(?遅延)とのためである。
【0061】
図15(a)に示す他の関心のある点は、ハンドオフ/バースト損失が開始したとしても、次のIフレーム(この位置は垂直の点線で示されている)が正確に受信されるまで、ビデオ品質は常に完全に回復される点である。これは、ビデオ復号化器で使用される誤り隠蔽方式に依存し得る。フレームコピー誤り隠蔽(frame copy error concealment)が実験で使用される。図15(a)では5つのハンドオフ/バーストは同じ持続時間であるが(全てが0.2秒である)、次のIフレームに対して異なるハンドオフ/バースト開始点のため、品質の障害の幅は異なる。差は図15(b)でより明確になり、第3のハンドオフ/バーストで、Iフレームが損失し、次のIフレームが2秒後に正確に受信されるまで、ビデオ品質が完全に回復される。
【0062】
図15(b)は、ハンドオフ間隔が0.5秒であり、FECストリームが0秒の遅延である場合のシーケンスF及びGのビデオ品質を示している。図15(b)では、ハンドオフ損失のバーストのいくつかは、遅延のないFECが処理できるものより大きいため、FEC保護されたビデオシーケンスGでビデオ品質の劣化が存在する。ハンドオフ/バースト持続時間が増加すると、ハンドオフ/バースト中に多くのパケットが損失する。ビデオ及びパリティストリームの間に遅延が存在しない場合、強力なFECであっても、損失パケットは回復不可能である。
【0063】
図15(c)は、ハンドオフ持続時間が1.8秒であり、FEC遅延が0秒である場合のシーケンスF及びGのビデオ品質を示している。図15(c)に示す他の関心のある点は、(FEC保護のある)シーケンスGの最後の3つの品質の障害が(FEC保護のない)シーケンスFより小さい点である。これは、2つの連続ブロックからのいくつかのソースRTPパケットがハンドオフ/バースト中に損失したからである。最初のブロックからのものは、FECパケットがハンドオフ/バースト中に同様に損失したため、回復不可能である。第2のブロックからのものは、FECパケットが正確に受信されたため、回復される。
【0064】
図15(d)は、ビデオシーケンスF及びGの間の品質の比較を示している。FEC遅延は1秒まで増加している。図15dは、1秒のFEC遅延が0.8秒のハンドオフ/バースト持続時間を回復するのに十分であることを示している。しかし、ハンドオフ/バースト持続時間がFEC遅延より増加すると、受信ビデオ品質はもはや保証され得ない。
【0065】
図15(e)は、ハンドオフ/バースト持続時間が約1.8秒に設定された場合のビデオシーケンスF及びGの間の品質の比較を示している。この場合、1秒のFEC遅延はもはや十分でない。
【0066】
図15(f)は、ビデオシーケンスF及びGの間の品質の比較を示している。FEC遅延は2秒に増加している。この時間では、ハンドオフ/バースト中にシーケンスGの品質損失は存在しない。ハーフレートのRS符号(N=2K)がこのハンドオフ/バーストの実験で適用された点に留意すべきである。ハーフレートのRS符号により生成されたパリティパケットストリームは、元のビデオパケットストリームの他の記述である。ハンドオフ中に全てのビデオパケットがバーストで損失しても、損失パケットは、対応するパリティパケットのみから回復可能である。システムは、更なるランダムなパケット損失なしに、ビデオストリームとパリティストリームとの間の時間シフトの持続時間までバーストパケット損失からの回復を保証できる。
【0067】
シーケンスF及びGが0.2秒のハンドオフ持続時間でAWGN環境内で送信されたときに、FECスタガーキャスティングの有効性は、より特徴的に示される。図16は、シーケンスF及びGの間の品質の比較を示している。図16では、シーケンスFのビデオ品質は、完全にその形状を失っているが、シーケンスGの品質は小さい劣化のみを示している。
【0068】
本発明は、様々な形式のハードウェア、ソフトウェア、ファームウェア、専用目的プロセッサ又はこれらの組み合わせで実装され得ることがわかる。本発明は、ハードウェアとソフトウェアとの組み合わせとして実装されることが好ましい。更に、ソフトウェアは、プログラム記憶装置に具体的に具現されたアプリケーションプログラムとして実装されることが好ましい。アプリケーションプログラムは、何らかの適切な構成を有する機械にアップロードされて、この機械により実行されてもよい。機械は、1つ以上の中央処理装置(CPU)、ランダムアクセスメモリ(RAM)、及び入出力(I/O)インタフェースのようなハードウェアを有するコンピュータプラットフォームで実装されることが好ましい。コンピュータプラットフォームはまた、オペレーティングシステムとマイクロ命令コードとを含む。ここに記載の様々な処理及び機能は、オペレーティングシステムを介して実行されるマイクロ命令コードの一部でもよく、アプリケーションプログラムの一部でもよい(或いはこれらの組み合わせでもよい)。更に、更なるデータ記憶装置及び印刷装置のように、様々な他の周辺装置がコンピュータプラットフォームに接続されてもよい。
【0069】
添付図面に示す構成要素のシステム構成要素及び方法のステップのいくつかは、ソフトウェアで実装されることが好ましいため、システム構成要素(又は処理ステップ)の間の実際の接続は、本発明がプログラムされる方法に応じて異なり得ることが更にわかる。ここでの教示を前提として、当業者は、本発明の前記及び同様の実装又は構成を考えることができる。
【0070】
以上の実施例に関し、更に、以下の項目を開示する。
【0071】
(1)データを送信する方法であって、
前記データをパケット化し、
少なくとも1つのパリティパケットを生成するために前記パケット化データで前方誤り訂正(FEC)符号化を実行し、
前記パケット化データのペイロードデータの終わりにパディングとしてFEC情報を追加し、
前記パケット化データと前記少なくとも1つのパリティパケットとを送信することを有する方法。
【0072】
(2)所定の期間に前記少なくとも1つのパリティパケットの送信を遅延させることを更に有する、(1)に記載の方法。
【0073】
(3)前記送信する動作は、ユーザデータグラムプロトコル(UDP)/インターネットプロトコル(IP)スタックと無線ローカルエリアネットワークインタフェースとを使用して実現される、(1)に記載の方法。
【0074】
(4)データを送信するシステムであって、
前記データをパケット化する手段と、
少なくとも1つのパリティパケットを生成するために前記パケット化データで前方誤り訂正(FEC)符号化を実行する手段と、
前記パケット化データのペイロードデータの終わりにパディングとしてFEC情報を追加する手段と、
前記パケット化データと前記少なくとも1つのパリティパケットとを送信する手段と
を有するシステム。
【0075】
(5)所定のオフセット時間に前記少なくとも1つのパリティパケットの送信を遅延させる手段を更に有する、(4)に記載のシステム。
【0076】
(6)前記パケット化データのペイロードの終わりにパディングとしてFEC情報を追加する手段は、FEC符号化モジュールにより実行される、(4)に記載のシステム。
【0077】
(7)前記少なくとも1つのパリティパケットを生成するために前記パケット化データで前方誤り訂正(FEC)符号化を実行する手段は、FEC符号化モジュールにより実行される、(4)に記載のシステム。
【0078】
(8)パケットの損失から回復する方法であって、
データパケットを受信し、
少なくとも1つのパリティパケットを受信し、
前記受信したデータパケットをバッファに入れ、
パケット損失を検出し、
前記少なくとも1つのパリティパケットを前方誤り訂正復号化し、前記データパケット及び前記少なくとも1つのパリティパケットから抽出された前方誤り訂正情報を使用してパケット損失から回復し、
内部ソケットを介して前記回復パケットを転送することを有する方法。
【0079】
(9)前記回復パケットからパディングを除去することを更に有する、(8)に記載の方法。
【0080】
(10)前記回復パケットをパケット化解除することを更に有する、(8)に記載の方法。
【0081】
(11)パケットの損失から回復するシステムであって、
データパケットを受信する手段と、
少なくとも1つのパリティパケットを受信する手段と、
前記受信したデータパケットをバッファに入れる手段と、
パケット損失を検出する手段と、
前記少なくとも1つのパリティパケットを前方誤り訂正復号化し、前記データパケット及び前記少なくとも1つのパリティパケットから抽出された前方誤り訂正情報を使用してパケット損失から回復する手段と、
内部ソケットを介して前記回復パケットを転送する手段と
を有するシステム。
【0082】
(12)前記回復パケットからパディングを除去する手段を更に有する、(11)に記載のシステム。
【0083】
(13)前記回復パケットをパケット化解除する手段を更に有する、(11)に記載のシステム。
【0084】
(14)第1のデータシーケンスを符号化及び圧縮し、
前記圧縮符号化データシーケンスをパケット化し、データパケットを形成し、
前記第1のデータシーケンスに関する第2のデータシーケンスを生成するために、前記データパケットで前方誤り訂正(FEC)符号化を実行し、
前記データパケットのペイロードデータの終わりにパディングとしてFEC情報を追加し、
前記第2のデータシーケンスをパケット化し、パケットを形成し、
前記データパケットを第1のマルチキャストグループにマルチキャストし、
オフセット時間だけ遅延した前記第2のデータシーケンスを使用して形成された前記パケットを第2のマルチキャストグループにマルチキャストすることを有するスタガーキャスティング方法。
【0085】
(15)前記第2のデータシーケンスは、パリティパケットである、(14)に記載の方法。
【技術分野】
【0001】
本発明は、無線ネットワークに関し、特にクロスパケット前方誤り訂正と組み合わせてスタガーキャスティング(staggercasting)を使用したランダム且つバーストのパケット損失からの回復に関する。
【背景技術】
【0002】
無線ローカルエリアネットワーク(WLAN)は、最初はデータ通信用に設計されていたが、WiFiマルチメディアアプリケーションについての関心及び需要が急速に高まっている。IEEE802.11のWLANでのビデオマルチキャスティングは、生のビデオ及び予め記録された娯楽番組を複数の受信機に同時に効率的に配信することを可能にする。しかし、デジタルビデオ配信は、高い信頼性、制限のある遅延、及び帯域の効率性を必要とする。無線リンクは、時間変化するバーストのリンクエラーで信頼性が低くなる。特に、ビデオマルチキャストアプリケーションでは、同じビデオの異なる受信機は、異質のチャネル状態を受ける可能性がある。受信機はまた、セッション中に離脱又は参加する可能性があるため、ネットワークのトポロジが変化する。更に、現在のIEEE802.11標準でのマルチキャストについてリンクレイヤの再送信及びリンクレイヤのアダプテーションが存在しない。誤ったパケットは単に破棄される。アプリケーションレイヤにとって、パケットの消去されたチャネルのように見える。パケット損失は、パケットヘッダのシーケンス番号を検査することにより検出され得る。従って、利用可能なWLANリソースを効率的に利用しつつ、所望のサービスエリア内のマルチキャストビデオの全ての受信機にとってサービス品質(QoS:quality of service)をサポートすることは、重要且つ困難なタスクである。
【0003】
IP型無線ネットワークでのビデオマルチキャスト/ブロードキャストでは、ビデオデータは、UDP/IPパケットにカプセル化され、無線ネットワークで移動装置にマルチキャスト/ブロードキャストされる。IP型無線ネットワークは、無線ローカルエリアネットワーク(WLAN)、セルラネットワーク、無線メトロポリタンエリアネットワーク(WMAN)及び地域無線ネットワーク(WRAN)でもよい。移動装置が1つのセルから他のセルに移動すると、現在関連(アソシエーション)している基地局(BS)/アクセスポイント(AP)から他のBS/APにハンドオーバ/ハンドオフされる。2つのBS/APは、一般的に異なる周波数/チャネルで動作する。移動装置が動作周波数を変更し、新しいBS/APに関連付けられると、複数のパケットが損失する。
【0004】
典型的には、ブロードキャスト信号は、全ての可能な受信機に同時に送信される。マルチキャスト信号は、グループ内の全ての可能な受信機の選択された一部(1つ以上)に同時に送信される。ここで使用されるマルチキャストは、ブロードキャストも含む。すなわち、マルチキャスト信号は、グループ内の全ての可能な受信機の選択された一部に送信されてもよく、選択された一部は、全ての可能な受信機の全体部分を含んでもよい。すなわち、マルチキャストグループは全ての受信機である。
【0005】
無線システムでは、マルチパスフェージング及び干渉に対してパケットを保護するために、物理レイヤでチャネル符号化が使用される。しかし、パケット内のチャネル符号化は、ハンドオーバ/ハンドオフ中のパケット損失を回復することができない。
【0006】
1つの従来技術の方法は、ATSCシステムで元のデータから時間遅延/時間シフトした二重のデータの送信(スタガーキャスティング(staggercasting))を提供し、ブロードキャストシステムのロバスト性を改善する。二重の時間をずらした(time-staggered)ストリームが送信されると、システムは、2つのストリームの間の時間シフトの持続時間まで信号損失を許容することができる。他の従来技術の方法は、(正確な元のデータの代わりに)元のデータの低ビットレート版が時間遅延して繰り返し送信されることを提供する。この手法は、冗長データにより使用される帯域を低減する。しかし、これらの従来技術の方法の双方は、合成信号を送信しており、データを要求する/必要とするクライアント/受信機が存在するか否かにかかわらず、常に信号を送信する。
【0007】
更に他の従来技術の方法は、ATSCシステムでの同期損失に対して保護するために、クロスパケット前方誤り訂正(FEC:forward error correction)符号の使用を提供する。FEC符号はまた、IP型無線ネットワークで損失パケットを回復するために使用されている。一般的に、誤ったパケットはリンクレイヤにより破棄される。FEC符号は、トランスポート及びアプリケーションレイヤでデータパケットを通じて適用され、消去復号化(erasure decoding)が損失パケットを回復するために使用される。しかし、一般的にFECパリティパケットがデータパケットと共に送信される。ハンドオフ/ハンドオーバの間に、長く誤ったバーストが生じ得る。これらの長く誤ったバーストは、データパケット及びパリティパケットの損失がFEC機能を超えることをもたらし、このため、損失データパケットが回復できなくなる。
【0008】
無線ネットワークでパケット損失から回復して送信の信頼性を向上するために、様々なアプリケーションレイヤの前方誤り訂正(FEC)及び自動再送要求(ARQ:automatic repeat request)アルゴリズムについて大量の研究及び理論分析/シミュレーションが行われている。他の従来技術の方法は、ユニキャストビデオ送信についてのACK型ハイブリッドARQアルゴリズムと、WLANでのマルチキャストビデオ送信についてのFEC付プログレッシブビデオ符号化(progressive video coding)(MDFEC)について記載している。更に他の従来技術の方法は、有線インターネット環境でのマルチキャストについて受信機駆動型のFEC方式を提供し、FECパケットはビデオパケットから遅延する。しかし、この方法は、どのように有線インターネット環境で異種の受信機の性能を最適化するかについて焦点を当てている。
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明により対処及び解決される方法は、どのようにランダム且つバーストのパケット損失を回復し、シームレスなハンドオフを実現してIP型無線ネットワークで高品質のビデオマルチキャスト/ブロードキャストを確保するかについてである。
【課題を解決するための手段】
【0010】
無線ネットワークでは、移動装置は、ランダム且つバーストのパケット損失を受ける可能性がある。これは、1つの基地局/アクセスポイントから他の基地局/アクセスポイントへのハンドオーバ/ハンドオフのためでもよい。これらの期間中に送信されたデータは、受信機/移動装置にとって損失になる。本発明は、時間シフト(スタガーキャスティング)してデータパケット及びクロスパケットFECパリティパケットを繰り返し送信することにより、シームレスなハンドオフ/ハンドオーバのためにデータパケット損失から回復する方法及び装置を提供する。(例えば、無線ネットワークのハンドオフ中に又はシャドーイングの結果として)バーストのパケット損失の間に生じ得る符号化ブロックの全てのビデオパケットが損失した場合にどのように回復するかについて、従来技術では考慮されていない。また、受信機でFEC符号化ブロックのビデオパケットとパリティパケットをどのように同期させるか、パケットのパディング情報(padding information)がどのように通信されるか、後方互換性のために従来のFEC不可能な受信機をどのようにサポートするかについて、従来技術では考慮されていない。
【0011】
ここに記載されるシステムは、1つ以上のサーバ/送信元/送信機、無線基地局又はアクセスポイントと、Ethernet(登録商標)スイッチと、受信機とを含む。ここで使用される受信機は、典型的には移動装置である。移動装置は、移動電話と、セルラ電話と、移動端末と、ビデオプレイヤと、携帯情報端末(PDA:personal digital assistant)と、ラップトップとを含むが、これらに限定されない。
【0012】
通常/元のデータと、時間シフトしたパリティデータとは、異なるIPマルチキャストグループを使用して後方互換性のあるように送信される。すなわち、移動装置が本発明で提供される機能を有さない場合でも、パケット損失に対して低いシステム回復力で、依然として通常のデータパケットのみを受信及び復号化することができる。遅延したパリティパケットは、移動装置により破棄される。これは、従来の装置との後方互換性を実現する。
【0013】
本発明は、ランダム且つバーストのパケット損失から回復することができるアプリケーションレイヤの時間をずらしたFEC方式である。特に、本発明は、ランダム且つバーストのパケット損失の間にシームレスなサービスを実現する(すなわち、ビデオの障害がない)。本発明は、ビデオマルチキャスティングの特性を考慮に入れ、シームレスなハンドオフについてのアプリケーションレイヤの対策を提供する。複数のビデオパケットがバーストで完全に損失しても、損失パケットは、対応するFECパリティパケットのみから回復され得る。
【0014】
データを送信する方法及びシステムは、データをパケット化し、少なくとも1つのパリティパケットを生成するためにパケット化データで前方誤り訂正(FEC)符号化を実行し、パケット化データのペイロードデータの終わりにパディングとしてFEC情報を追加し、パケット化データと少なくとも1つのパリティパケットとを送信することを含むものとして記載される。また、パケットの損失から回復する方法及びシステムは、データパケットを受信し、少なくとも1つのパリティパケットを受信し、受信したデータパケットをバッファに入れ、パケット損失を検出し、少なくとも1つのパリティパケットを前方誤り訂正復号化し、データパケット及び少なくとも1つのパリティパケットから抽出された前方誤り訂正情報を使用してパケット損失から回復し、内部ソケットを介して回復パケットを転送することを含むものとして記載される。また、スタガーキャスティング方法は、第1のデータシーケンスを符号化及び圧縮し、圧縮符号化データシーケンスをパケット化し、データパケットを形成し、第1のデータシーケンスに関する第2のデータシーケンスを生成するために、データパケットで前方誤り訂正(FEC)符号化を実行し、データパケットのペイロードデータの終わりにパディングとしてFEC情報を追加し、第2のデータシーケンスをパケット化し、パケットを形成し、データパケットを第1のマルチキャストグループにマルチキャストし、オフセット時間だけ遅延した第2のデータシーケンスを使用して形成されたパケットを第2のマルチキャストグループにマルチキャストすることを含むものとして記載される。
【図面の簡単な説明】
【0015】
【図1】スタガーキャスティングを使用したインターネットプロトコル型無線ネットワークでのマルチキャストシステムの概略図
【図2】例示的なビデオサーバ/送信機アーキテクチャの概略図
【図3】本発明による例示的なクライアントプロキシアーキテクチャ
【図4】K=4、N=8の場合の本発明のFECスタガーキャスト方法の例
【図5】RS符号化の通常のパディング方式
【図6】RS符号化の通常のハイブリッドパディング方式
【図7a】ハイブリッドパディングをサポート可能な本発明によるソースRTPパケットフォーマット
【図7b】パリティRTPパケットフォーマット
【図8a】本発明の原理に従って遅延回復マルチキャストグループ内でクロスパケット前方誤り訂正(FEC)符号により生成されたパリティパケットを備えた例示的なビデオサーバ/符号化器の実装のフローチャート
【図8b】本発明の原理に従って遅延回復マルチキャストグループ内でクロスパケット前方誤り訂正(FEC)符号により生成されたパリティパケットを備えた例示的なビデオサーバ/符号化器の実装の概略図
【図9】本発明の原理によるクロスパケット符号化の例
【図10a】本発明の原理に従って遅延回復マルチキャストグループ内でクロスパケットFEC符号により生成されたパリティパケットを備えた例示的な移動受信機の実装のフローチャート
【図10b】本発明の原理に従って遅延回復マルチキャストグループ内でクロスパケットFEC符号により生成されたパリティパケットを備えた例示的な移動受信機の実装の概略図
【図11a】元の10秒のロングビデオシーケンスの各フレームの輝度SNR(SNR-Y)
【図11b】ループされた1分のロングビデオシーケンスの輝度SNR(SNR-Y)
【図12】様々な干渉レベルでの表1のシーケンスの平均SNR-Y
【図13】2つの形式でクライアントにより検出された対応のリンク品質
【図14】様々な干渉レベルでの残留パケット損失率(PLR)
【図15(a)】異なるFEC遅延及びハンドオフ/バースト持続時間でのシーケンスF及びGのビデオ品質
【図15(b)】異なるFEC遅延及びハンドオフ/バースト持続時間でのシーケンスF及びGのビデオ品質
【図15(c)】異なるFEC遅延及びハンドオフ/バースト持続時間でのシーケンスF及びGのビデオ品質
【図15(d)】異なるFEC遅延及びハンドオフ/バースト持続時間でのシーケンスF及びGのビデオ品質
【図15(e)】異なるFEC遅延及びハンドオフ/バースト持続時間でのシーケンスF及びGのビデオ品質
【図15(f)】異なるFEC遅延及びハンドオフ/バースト持続時間でのシーケンスF及びGのビデオ品質
【図16】シーケンスF及びGの間の品質の比較
【発明を実施するための形態】
【0016】
本発明は、添付図面と共に読まれたときに、以下の詳細な説明から最も良く理解される。図面は、以下に簡単に説明する以下の図面を含む。図面において同じ番号は類似の要素を表す。
【0017】
本発明は、ランダム且つバーストのデータパケット損失から回復するための無線ネットワークでのスタガーキャスティング(staggercasting)を対象とする。これは、時間シフト/時間遅延してデータパケット及びクロスパケットFECパリティパケットを送信することにより実現される。本発明は、ビデオ符号化方式と無関係である。無線ネットワークでのビデオマルチキャストが本発明を説明する例として使用されるが、本発明はまた、オーディオストリームを送信するためにも使用され得る。
【0018】
図1を参照すると、本発明による典型的な無線ネットワークが示されている。複数の基地局/アクセスポイントAP1、AP2はセルラネットワークを形成し、サービスエリアを増加させる。干渉を低減するために、隣接無線基地局/アクセスポイントAP1/AP2は、異なる周波数キャリア/無線チャネルで動作する。少なくとも1つのビデオサーバ105は、高速Ethernet(登録商標) LAN又は他の有線高速ネットワークを通じて、複数の無線基地局(BS)又はアクセスポイント(AP)に接続される。ビデオサーバ105は、他の構成要素の中でも、ビデオ符号化器/トランスコーダとパケット化器とを含む。生のビデオマルチキャスト/ブロードキャストでは、ビデオコンテンツは、符号化/コード変換され、パケット化され、無線基地局/アクセスポイントAP1、AP2を通じて複数の移動クライアント(110、115a、115b、120a、120b、125)にマルチキャストされる。予め符号化されたビデオコンテンツもパケット化され、無線基地局/アクセスポイントを通じて複数の移動クライアントにマルチキャストされる。
【0019】
移動装置(例えば、115a、120b)が1つのセルから他のセルに移動すると、移動装置は、現在関連(アソシエーション)している基地局(BS)/アクセスポイント(AP)から他のBS/APにハンドオーバ/ハンドオフされる。移動装置(115a、120b)がその動作周波数を変更して新しいBS/APに関連付けられると、複数のパケットが損失する可能性がある。パケット損失から回復してシームレスなハンドオーバを実現するために、本発明は、ビデオコンテンツ(データパケット)と、FEC符号(例えば、時間シフトしたハーフレートのReed-Solomon符号)によりデータパケットから生成されたパリティパケットとを同時送信することを提供する。通常のビデオパケットストリームは、IPマルチキャストグループ(通常のビデオマルチキャストグループ)内の全ての基地局/アクセスポイントに送信される。更に、時間をずらした/シフトした/遅延したFECストリームは、他のマルチキャストグループ(遅延回復マルチキャストグループ)内の全ての移動装置に送信される。ここでは、この技術はスタガーキャスティング(staggercasting)と呼ばれる。通常のビデオストリーム及び時間シフトしたFECストリームは、時間ダイバーシチを提供し、ハンドオーバ/ハンドオフの状況でシステムのロバスト性を改善する。システムは、時間シフトの持続時間までパケット損失をトランスペアレントに許容する。
【0020】
移動装置は、ビデオグループのみに参加してもよい。移動装置がBS/APから隣接BS/APにハンドオフすると、誤りが検出された場合に、又はハンドオフ/ハンドオーバが生じるとすぐに、移動装置は、通常のビデオマルチキャストグループと遅延FECマルチキャストグループとの双方に参加/加入する要求を新しいBS/APに送信する。新しいBS/APは、無線リンクでのマルチキャストで通常のビデオパケットストリームと遅延FECパケットストリームとの双方を送信/マルチキャストする。移動装置は、双方のストリームを受信する。参加時間がビデオストリームとFECパリティストリームとの間の時間シフトより小さい場合、対応するパリティパケットは、損失ビデオパケットを回復するために移動装置により受信される。何らかのパケットが通常のビデオパケットストリームで損失したことを移動装置が検出すると、移動装置は、時間遅延したFECパケットストリームに切り替え、損失パケットを回復する。通常のビデオパケットストリームと遅延FECストリームとの間の時間シフト持続時間/期間がハンドオフ時間(又はバースト)より大きい場合、損失ビデオデータは回復され得る。通常のビデオパケットストリームの損失データが回復された後に、移動装置は、遅延FECマルチキャストグループを離脱/解除/終了する要求をBS/APに送信する。BS/APに関連する移動装置がマルチキャストグループのデータ(通常のビデオデータ又は遅延FECデータ)を要求しない場合(すなわち、マルチキャストグループのメンバが存在しない場合)、BS/APは、無線ネットワークでこのマルチキャストグループのデータを送信せず、データを破棄する。このことは無線帯域を節約する。IGMP(Internet Multicast Management Protocol)又は他のプロトコルは、移動装置がマルチキャストグループに参加又は離脱することをBS/APに要求するために使用され得る。代替実施例では、移動装置は、マルチキャストグループに参加又は離脱する要求をEthernet(登録商標)スイッチに送信する。BS/APに関連する移動装置がマルチキャストグループのデータを要求しない場合、Ethernet(登録商標)スイッチは、そのマルチキャストグループのデータをBS/APに送信しない。
【0021】
特に、依然として図1を参照すると、移動装置115bは、AP2によりサービス提供/サポートされるセルからAP1によりサービス提供/サポートされるセルに移動する。これを行うと、移動装置(この時点ではAP1によりサポートされる115a)は、通常のビデオ及び遅延FECマルチキャストグループに加入/参加することをAP1に要求し、通常のビデオパケットストリーム(ストリーム1)と遅延/時間シフトFECストリーム(ストリーク2)との双方を受信する。通常のビデオパケットストリームに誤りが検出された場合(何らかのパケットが損失した場合)、移動装置は、時間遅延FECパケットストリームに切り替え、損失パケットを回復する。通常のビデオパケットストリームと遅延FECストリームとの間の時間シフト持続時間がハンドオフ時間より大きい場合、受信した対応するパリティパケットは、損失ビデオパケットを回復するために使用される。通常のビデオパケットストリームの損失データが回復した後に、移動装置115aは、遅延ビデオマルチキャストグループを離脱/解除/終了する要求をBS/APに送信してもよい。
【0022】
同様に、移動装置120aは、AP1によりサービス提供/サポートされるセルからAP2によりサービス提供/サポートされるセルに移動する。これを行うと、移動装置(この時点ではAP2によりサポートされる120b)は、通常のビデオ及び遅延FECマルチキャストグループに加入/参加することをAP2に要求し、通常のビデオパケットストリーム(ストリーム1)と遅延/時間シフトFECストリーム(ストリーク2)との双方を受信する。通常のビデオパケットストリームに誤りが検出された場合(何らかのパケットが損失した場合)、移動装置は、時間遅延FECパケットストリームに切り替え、損失パケットを回復する。通常のビデオパケットストリームと遅延FECストリームとの間の時間シフト持続時間がハンドオフ時間より大きい場合、受信した対応するパリティパケットは、損失ビデオパケットを回復するために使用される。通常のビデオパケットストリームの損失データが回復した後に、移動装置120bは、遅延ビデオマルチキャストグループを離脱/解除/終了する要求をBS/APに送信してもよい。
【0023】
損失パケットを回復するために、如何なるシステマティック(systematic)FEC符号(例えば、Reed-Solomon(RS)符号)が消去復号化(erasure decoding)と共に使用されてもよい。例示的な実施例では、ビデオストリーミングサーバでクロスパケット前方誤り訂正符号化により生成されたFECパリティパケットは、遅延回復IPマルチキャストグループに送信される。FEC符号は、ビデオパケット(クロスパケット)を通じて適用され、パリティパケットを生成する点に留意すべきである。この理由は、FEC符号化がアプリケーションレイヤで単一のパケット内に適用されると、誤ったパケットは受信側MACレイヤにより破棄され、アプリケーションレイヤの誤り訂正に利用可能にならないからである。RS(N,K)符号がKのビデオパケットを通じて適用されて(N-K)のパリティパケットを生成する場合、各符号化ブロック内で(ビデオパケットであれパリティパケットであれ)少なくともKのパケットが正確に受信される限り、元のKのビデオパケットは回復可能である。
【0024】
FEC符号は、ビデオデータパケットに適用され、パリティパケットを生成する。ビデオパケットストリーム及びパリティパケットストリームは、時間シフトして異なるIPマルチキャストグループにマルチキャストされる(すなわち、時間ダイバーシチのためにビデオストリームとパリティストリームとをスタガーキャスティングする)。特に、元のビデオパケットストリーム及び更なるFECパリティパケットストリームは、Ethernet(登録商標)でビデオ/ストリーミングサーバにより時間シフトして異なるIPマルチキャストグループ内の全てのBS/APに送信される(すなわち、ビデオストリームとFECパリティストリームとをスタガーキャスティングする)。各BS/APは、WLANにおいてマルチキャストでビデオストリームとFECパリティストリームとを送信する。従って、通常のビデオストリーム及び時間シフトしたパリティストリームは時間ダイバーシチを提供し、ビデオマルチキャストのロバスト性を改善する。
【0025】
図2は、例示的なビデオサーバ/送信機のアーキテクチャの概略図である。図2は、本発明の実施例に従って時間をずらしたFECを使用したビデオマルチキャストシステムのビデオ送信機/サーバの実装を示している。UDP/IPプロトコルスタック220がビデオマルチキャスティングに使用される。実際に、プロトコルスタックはRTPを含むが、プロトコルスタックのRTP部分(パケット化)205は、プロトコルスタックのUDP/IP部分から分離されており、FEC符号化モジュール210によるFEC符号化の前に処理される。この場合、ビデオシーケンスは予め圧縮されており、MP4フォーマットでファイルに格納されている。圧縮効率のため、H.264ビデオ符号化が本発明の例示的な実施例で使用される。他のビデオ符号化方式も可能である。また、ビデオはビデオ符号化器によりリアルタイムで圧縮されることも可能である。FEC符号化モジュール210は、RTPパケット化205の後に配置されるが、UDP/IPレイヤ220の前に配置される。圧縮ビデオは、RTPパケット化器205によりパケット化され、RTPパケットヘッダが追加される。本発明によれば、FEC関連の制御情報は、FEC符号化モジュール210によりパディング(padding)としてビデオパケットに追加される。通常のビデオパケット(例えば、3GPPパケット)では、FEC符号化情報は、RTPヘッダの後且つRTPペイロード(ビデオデータ)の前に挿入される。FEC制御情報をビデオパケットのパディングとして移動することにより、パディングは従来のプレイヤにより無視されるため、パケットフォーマットは、FEC不可能な従来のプレイヤに対して後方互換になる。
【0026】
システマティックFEC符号は、FEC符号化モジュールでビデオパケットを通じて適用され、パリティパケットを生成する。Vandermonde 行列を使用して構成されたReed-Solomon(RS)符号が例示的な実施例で使用される。RS(N,K)符号では、Kのビデオパケットが一緒にグループ化される。符号化中に、RS符号がパケットグループに適用され、各パケットから1つのシンボルがコードワードで構成される。(N-K)のパリティパケットは、Kのビデオパケットから生成される。受信機で復号化を可能にするために、FEC情報を含むFECパケットにヘッダが追加される。例示的な実施例では、FECパラメータN及びKは、リアルタイムで動的に調整されてもよい。
【0027】
ビデオパケットは、IPマルチキャストグループ(通常のビデオマルチキャストグループ)内でUDP/IPスタック220及びEthernet(登録商標)インタフェース225を通じてBS/APに送信される。FECパリティパケットは、オフセット時間Tdの間に遅延バッファ215に格納される。FECパリティパケットは、遅延の後に、他のIPマルチキャストグループ(遅延回復(FEC)マルチキャストグループ)内でUDP/IPスタック220及びEthernet(登録商標)インタフェース225でBS/APに送信される。
【0028】
マルチキャストアドレス、ビデオ符号化フォーマット、FEC符号化方式等と、ビデオストリームとパリティパケットストリームとの間の関連とを含み、ビデオマルチキャストグループ及びFECマルチキャストグループ情報を示すために、セッション記述プロトコル(SDP:Session Description Protocol)が使用される。SDPファイルは、セッション開始時にハイパーテキスト転送プロトコル(HTTP:HyerText Transfer Protocol)又はリアルタイムストリーミングプロトコル(RTSP:Real Time Streaming Protocol)を通じてクライアントにダウンロードされてもよく、セッション通知プロトコル(Session Announcement Protocol)を介してストリーミングサーバにより通知されてもよい。
【0029】
商用及びフリーウェアのビデオプレイヤ(例えば、Quicktime及びVLCプレイヤ)が利用可能であるが、これらのプレイヤはFEC符号化をサポートしない。ソースコードは、一般的に商用プレイヤで利用可能ではなく、FECのサポートは統合不可能である。FEC符号化のサポートを全てのフリーウェアのプレイヤに統合することは困難であり、フリーウェアのプレイヤのソースコードが利用可能であってもFEC符号化のサポートを維持及び更新することは困難である。本発明は、図3に示すクライアントプロキシアーキテクチャ300を対象とする。本発明のクライアントプロキシアーキテクチャ300は、何らかの商用及びフリーウェアのビデオプレイヤと共に動作する。クライアントプロキシは、異なるマルチキャストグループからビデオ及びFECパケットを受信し、損失ビデオパケットを回復し、内部ソケットを通じて回復ビデオパケットをプレイヤに送信する。
【0030】
図3は、本発明による例示的なクライアントプロキシアーキテクチャである。クライアントプロキシは、ハードウェア、ソフトウェア、ファームウェア、特定用途向け集積回路(ASIC)、縮小命令セットコンピュータ(RISC)、フィールドプログラマブルゲートアレイ(FPGA)又はこれらの如何なる組み合わせでもよい。クライアントプロキシは、ビデオプレイヤのような移動装置に存在し、移動装置の一部を形成する。通常のビデオパケット及び遅延パリティ(回復)パケットは、WLANインタフェース305及びUDP/IPプロトコルスタック310を介してクライアントプロキシにより異なるマルチキャストグループから受信される。ビデオ/ストリーミングサーバ側では、プロトコルスタックのRTP部分(パケット化解除)325は、プロトコルスタックのUDP/IP部分310から分離されている。受信ビデオデータパケットは、バッファ315で遅延される。これは、例えば初期再生遅延(initial playout delay)により実現され得る。FEC消去復号化モジュール320は、UDP/IPスタック310の後に配置される。誤ったパケットは、リンクレイヤにより破棄される。損失ビデオパケット又はパリティパケットの位置は、パケットヘッダのシーケンス番号を通じてFEC消去復号化モジュール320により検出される。パケットヘッダのシーケンス番号は、消去復号化(erasure decoding)に使用される。パケット損失が検出されると、遅延FECマルチキャストグループに参加して対応するパリティパケットを取得する要求がBS/APに送信される。パリティパケット及びビデオパケットのFECヘッダは、FEC復号化モジュール320によりFECブロック情報を決定するために使用される。RS(N,K)符号では、ビデオデータパケット又はパリティパケットに拘らず、FEC符号化ブロックのNのパケットのうち何らかのK以上のパケットが正確に受信される限り、FEC消去復号化は、送信機での符号化中に最も長いパケットにパディングされた全てのパケットの場合に、元のビデオパケットを再構成することができる。FEC消去復号化は、符号化の逆処理である。符号化は、パケットを通じて実行され、各パケットからの1つのシンボルはコードワードで構成される。パディングは、ビデオ/ソースパケット損失がFECパリティパケットを使用して回復した後に、回復ビデオ/ソースパケットから破棄される。回復ビデオパケットは、内部ソケット及びUDP/IPスタック330を介してビデオプレイヤ340に送信される。回復ビデオパケットは、ループバック構成のビデオプレイヤ340により、1つのUDP/IPスタック(例えばUDP/IPスタック335)を通じて受信されてもよい。回復ビデオ/データパケットはまた、他のビデオプレイヤに転送されてもよい。ビデオファイルは、RTPパケット化解除器325により保存される。
【0031】
元のRTPビデオソースパケットはパディングとして使用されるFEC情報を除いて不変であるため、このFEC機構は、FEC可能受信機とFEC不可能な受信機とが混合したマルチキャストのシナリオで使用され得る。パディング情報は、RTP仕様に基づいてFEC不可能なプレイヤにより無視されるべきである。移動装置がFEC機能を有さない場合、パケット損失に対して低いシステム回復力で、ビデオマルチキャストグループから通常のビデオパケットのみを受信することができる。異なるマルチキャストグループのパリティパケットは、プロトコルスタックにより破棄される。これは、後方互換性を実現する。
【0032】
バーストのパケット損失は、移動装置のハンドオーバ中に生じる可能性がある。符号化ブロックのビデオパケットの一部又は全部は、ハンドオーバ/ハンドオフ中に損失する。本発明でこの問題を解決するために、ハーフレートのRS符号が使用される。消去復号化でのRS符号では、各パリティパケットは、符号化ブロックの損失パケットの何れか1つを回復することができる。ハーフレートのRS(N,K)符号(N=2K)がKのビデオパケットに適用されると、Kのパリティパケットを生成する。ハーフレートのRS符号では、ビデオパケットがハンドオーバ中にバーストで完全に損失したとしても、損失パケットは、対応するパリティパケットのみから回復可能である。この意味で、ハーフレートのRS符号により生成されたパリティパケットストリームは、元のビデオパケットストリームの他の記述である。システムは、ビデオストリームとパリティストリームとの間の時間シフトTdの持続時間までバーストのパケット損失をトランスペアレントに許容することができる。
【0033】
図4は、K=4、N=8での本発明のバーストのパケット損失を回復するFECスタガーキャスティング方法の例である。RS(8,4)符号で、N-K=4のパリティパケットは、それぞれK=4のソースパケットから生成される。矩形のパケットは1つのFEC符号化ブロックに属し、楕円のパケットは他のFEC符号化ブロックに属する。ビデオ及びFECパリティパケットは、ハンドオーバのようなバースト中に損失する可能性がある。受信機は、受信ビデオパケット及び対応するパリティパケットでFEC消去復号化を実行する。少なくともKのパケット(ビデオ又はパリティパケット)が正確に受信される限り、元のKのソースパケットは回復可能である。スタガーキャスティングでない場合、6のパケット(FEC及びビデオ)が受信されているため、矩形ブロックのパケットは回復可能である。しかし、2のパケットのみが正確に受信されているため、楕円ブロックのパケットは回復不可能である。スタガーキャスティングの場合、ビデオストリームとパリティストリームとの間にTdの時間差が存在するため、損失パケットの位置は異なる。ブロック毎に少なくとも4つのパケットが受信されているため、矩形及び楕円ブロックのパケットの双方が回復可能である。スタガーキャスティングは、ビデオストリームとパリティストリームとの時間ダイバーシチを実現する。
【0034】
情報/ビデオストリームとパリティストリームとの間の時間シフトTdは、設計パラメータである。これは、ハンドオフ又はシャドーイングによる予想最大パケットバースト損失の持続時間に基づいて選択されてもよい。ハンドオフ又はシャドーイング損失の予想の長さは、Td未満になるべきである。ハーフレートのRS符号では、バースト損失の回復可能な長さはRS符号のパラメータN及びKに依存しない。これは、システム設計における柔軟性を提供する。時間シフトTdを調整することにより、ハンドオーバ損失又はシャドーイング損失が回復可能になる。
【0035】
RSコーデックの実装では、高速符号化及び復号化のために、8ビットのシンボル長を選択することが有利である。これは、ブロック長N≦255オクテットのRS符号を生じる。本発明の例示的な実施例は、1バイトのシンボルを使用する。短いブロック長及び大きさのRS符号は、N=255を有するマザーコード(mother code)をパンクチャリング(puncturing)及び短縮することにより得られてもよい。パンクチャリングされた符号は、(N,K)のマザーコードから得られた(N-L,K)の符号であり、短縮された符号は、(N,K)のマザーコードから得られた(N-L,K-L)の符号である。本発明の実装は、効率的な消去訂正のため、Vandermonde生成行列に基づく。RS(N,K)のコードワードは、Kのソースシンボルと(N-K)のパリティシンボルとで構成される。符号化処理中に、K×NのVandermonde生成行列は、そのシステマティック版(systematic version)に変換される。システマティック版では、最初のK列は単位行列を形成し、RSコードワードは、Kのシンボルのベクトルをシステマティック生成行列で乗算することにより計算される。符号はシステマティックであるため、最初のKの符号化シンボルは、元のソースシンボルと全く同じである。復号化中に、コードワードの受信したKシンボルの位置に従って、システマティックVandermonde 行列のKの列からK×Kの下位行列が形成される。下位行列は反転され、元のKのソースシンボルは、Kの受信シンボルのベクトルを反転された下位行列で乗算することにより回復される。
【0036】
誤り伝搬を回避するために、各RTP/UDP/IPパケットは、パケットサイズが変わるようにビデオ符号化ユニットの圧縮データ(ビデオフレーム又はスライス)のみを含む。復号化の複雑性を低く維持するため、行列反転がソースブロック毎に1回のみ実行されることが望ましい。従って、受信シンボルの位置は、ソースブロックの全てのRSコードワードの行で同じになる必要がある。パディングは、ソースブロックを形成するために使用され、パケットサイズは一定になる。
【0037】
1つのパディング手法が図5に示されている。FEC符号が適用される前に、ソース符号化ブロックの短いパケットは、ゼロでパディングされ(zero-padded)、これにより、短いパケットの長さは、ソース符号化ブロックの最も大きいパケットの長さと等しくなる。2バイトのRTPパケットサイズフィールドが、FEC符号化中に各ソースパケットの前に挿入され、これにより、復号化器は、回復ソースパケットにおけるパディングシンボルの数を認識する。パケットサイズは復号化器によりIPレイヤから得られ得るため、パケットサイズフィールドは送信されない点に留意すべきである。符号化中に、パディングされたパケットを通じて複数のコードワードが計算され、各コードワードは、それぞれパディングされたパケットからの1シンボルで構成される。RS(N,K)符号が使用される場合、(N-K)のパリティパケットは、Kのソースパケットから生成される。パケットサイズの変化が大きすぎる場合、このパディング手法は、かなりの量のパディングを生じるため、FECオーバーヘッドの大部分がパディングシンボルを保護するために使用される。パディングシンボルは送信されないが、FEC性能は低減する。
【0038】
ハイブリッドパディングと呼ばれる他のパディング手法が図6に示されている。大きいパケットは、行列の複数の行を通じて重ねられている。符号化単位サイズUと呼ばれる符号化ブロックの各行のサイズは、パディングオーバーヘッドを最小化するように決定され得る。このパディング手法は、パディングの総量を低減し、可変サイズのパケットについて依然として低い復号化の複雑性を有する。各ソースパケットは、ソースブロックの新しい行で始まる。パケット長が行の長さの整数倍でない場合、パディングシンボルが行の終わりに追加される。パディングシンボルは、パリティパケットを計算するためにのみ使用される点に留意すべきである。パディングシンボルは、FEC符号化モジュールによりパケットを送信する前に、ビデオ/ソースパケットから取り除かれる。ソースブロックの行の数は、K以下であるべきである。2バイトのRTPパケットサイズフィールドは、FEC符号化中に各ソースパケットの前に挿入され、これにより、復号化器は、受信ビデオ/ソースパケットのパディングシンボルの数を認識する。パケットサイズは復号化器によりIPレイヤから取得され得るため、パケットサイズフィールドは送信されない。
【0039】
RS(N,K)符号は列に沿って適用される。すなわち、コードワードが各列からの1シンボルで構成される。このパディング手法は、低い復号化の複雑性を維持する。損失シンボルの位置がソースブロックのRSコードワードの全ての列について同じであるため、ソースブロックを復号化するために唯一の行列反転が必要になる。標準的なパディング手法は、行のサイズが最大パケット長に等しい特別な場合である点に留意すべきである。パリティパケットは、符号化パリティシンボルの1つ又は複数の行を含んでもよい。
【0040】
パリティパケットサイズを選択する際にトレードオフが存在する。パケットサイズが小さい場合、パリティパケットの送信は更にロバストになるが、ヘッダオーバーヘッドが増加する。大きいパケットサイズが使用される場合、パケットが容易に損失し、また、単一のパリティパケットの損失が複数のパリティの行の損失を生じる。各FECパリティパケットの行の可能な最大数は、行サイズUと、チャネルの最大送信単位(MTU:maximum transmit unit)と、所望のレベルのロバスト性とに依存する。(本発明によればビデオ/ソースパケットのパディングとして使用される)FEC情報は、受信機が符号化ブロックを正確に復号化できるために必要である。
【0041】
図7aは、本発明のパケットフォーマットによるハイブリッドパディングをサポート可能なソースRTPパケットフォーマットを示している。元のRTPヘッダ及びペイロードフィールドは、非FECシステムから不変である。元のRTPヘッダ及びペイロードは、FEC符号化により保護される。4バイトのFEC制御情報フィールドは、パケットのソースブロック番号(SBN:source block number)とそのブロックにおけるその位置(すなわち、このパケットの開始行番号)とを示すために追加される。FEC情報は、RTPパディングとして使用される。パケットのフォーマットは、3GPP仕様により規定されたものと類似するが、本発明によれば、FEC関連の制御情報は、FEC符号化モジュールによりRTPパディングとしてビデオパケットに追加される。通常のビデオパケットでは、FEC符号化情報は、RTPヘッダの後且つRTPペイロード(ビデオデータ)の前に挿入される。RTPパディングとしてFEC情報を移動することにより、パケットフォーマットは、ビデオプレイヤのようなFEC不可能な移動装置と後方互換になる。ハイブリッドパディングが使用されるときに、FEC制御情報は、FEC復号化モジュールにとってFECブロックを復号化するために必要である。そうでない場合、復号化器は、損失ビデオ/ソースパケットの行の数がわからない。RTP標準のRFC3550によれば、パディングビットがRTPヘッダに設定される場合、終わりの更なるパディングオクテットは、RTPパケット化解除器により無視されるべきである。パディングの最後のオクテットは、自分を含み何個のパディングオクテットが無視されるべきかのカウントを含む。RTPパディングのサポートのあるFEC不可能な従来のプレイヤは、ビデオマルチキャストグループだけを受信し、パディングのFEC制御情報を無視してもよい。元のRTPソースパケットが何らかのパディング情報を除いて不変であるため、このFEC機構は、FEC可能な受信機とFEC不可能な受信機とが混合したマルチキャストのシナリオで使用され得る。パディング情報は、FEC不可能なプレイヤにより無視されるべきである。複数のH.264互換のプレイヤでのテストは、この方法がVLCプレイヤとThomsonのMMAFプレイヤとでうまく動作することを示している。この理由は、これらのプレイヤはRTPパディングをサポートするからである。Quicktimeプレイヤは、直接的にFEC制御情報でビデオストリームを受信することができない。この理由は、パディングをサポートしないからである。
【0042】
図7bは、パリティRTPパケットフォーマットを示している。パリティFECパケットはまた、UDP/IPプロトコルスタックを使用して送出される。FECパリティパケットのペイロード形式(PT:payload type)は、帯域外シグナリング機構(例えばSDPファイル)を使用して動的に割り当てられる。これは、元のソースペイロード形式とは異なる。PTは、FEC符号化方式と、ペイロードについてのそのパラメータを特定する。受信機でパリティパケットの復号化を助けるために、FEC制御情報ヘッダがRTPヘッダの後に追加され、FECブロック情報と符号化パラメータとを示す。3GPPで規定されたフォーマットと同様に、パリティパケットのFECヘッダは、(1)ソースブロック番号(SBN:source block number):ソースパケットが属するソースブロックのIDと、(2)符号化単位ID(EUI:Encoding Unit ID):符号化ブロックにおけるこのパケットの開始行番号と、(3)ソースブロック長(SBL:Source Block Length):ソースブロックにおけるソース行の数(すなわち、K)と、(4)符号化ブロック長(EBL:Encoding Block Length):行の総数(すなわち、N)と、(5)符号化単位長(U:Encoding Unit length):バイトにおける行の長さとを含む。各符号化単位は、ここでは行に対応する点に留意すべきである。
【0043】
クライアント側でのFEC復号化は、符号化の逆処理である。ソースブロックに属する受信ソース及びパリティパケットは、SBNに基づいて一緒にバッファに入れられてもよい。何らかの損失したソースRTPパケットがシーケンス番号の隔たりにより検出されると、同じSBNを有するパリティパケットが、損失ビデオ/ソースパケットを回復するために使用され得る。何らかのパリティパケットが利用可能である場合、FEC符号化パラメータ(N,K)、ソースブロックの大きさ及び行サイズは、FECパリティパケットのFEC制御情報により決定され得る。符号化ブロックは、EUIフィールド(すなわち、ソース及びパリティパケットの開始行番号)に従って、損失ソース及びFECパリティパケットにより、見込まれる損失した行で形成され得る。損失した行の数が(N-K)未満である場合、損失したソース行が復号化及び回復可能である。ソースRTPパケットをソース行に挿入する前に、パケット長はパリティパケットの最初のソース行の前に付加される点に留意すべきである。これは、ビデオ/ソースパケットの回復に有用である。回復パケットの最初の2バイトは、その“パケットサイズ”を有する。第3バイトから始めて、回復したソースからの“パケットサイズ”の数がパケットに属する。行の残りのシンボルはパディングシンボルであるため、破棄される。パディングされたFEC制御情報及びパディング長バイトは、FEC復号化モジュールによるFEC復号化の前に、正確に受信したビデオ/ソースRTPパケットから取り除かれる。
【0044】
図8aは、遅延回復IPマルチキャストグループ内でFECパリティパケットを使用して無線IPネットワークでビデオマルチキャストを行う例示的な送信機/サーバの実装のフローチャートである。805において。圧縮されていないビデオシーケンスデータが受信され、符号化/コード変換/圧縮される。810において、符号化/コード変換/圧縮されたビデオシーケンスデータはパケット化され、パケットヘッダが追加される。815において、パケット化された符号化/コード変換/圧縮されたビデオシーケンスデータはFEC符号化され、FECパリティパケットを形成する。FEC符号は、ビデオパケットを通じて適用され、パリティパケットを生成する。ヘッダは、FEC情報を含むFECパケットに追加される。余分のFEC関連の制御情報もまた、ビデオデータパケットに追加される。825において、ビデオデータパケットはIPマルチキャストグループ(通常のビデオマルチキャストグループ)に送信/マルチキャストされる。820において、パリティパケットは、オフセット時間Tdの間に格納される。825において、FECパリティパケットは、遅延/時間シフトTdの後に、他のIPマルチキャストグループ(遅延/回復マルチキャストグループ)にマルチキャスト/送信される。
【0045】
図8bは、遅延回復IPマルチキャストグループ内でFECパリティパケットを使用して無線IPネットワークでビデオマルチキャストを行う例示的な送信機/サーバの実装の概略図である。ビデオ符号化器/トランスコーダ/圧縮器830は、圧縮されていないビデオシーケンスデータを受信し、圧縮されていないビデオシーケンスデータを符号化/コード変換/圧縮する。符号化/コード変換/圧縮されたビデオシーケンスデータは、パケット化器835に通信され、パケット化器835は、符号化/コード変換/圧縮されたビデオシーケンスデータをパケット化し、データパケットを形成してパケットヘッダを追加する。パケット化された符号化/コード変換/圧縮されたビデオシーケンスデータは、FEC符号化器840に通信され、パリティパケットを形成する。FEC符号化器は、パケット化器の後に配置されるが、プロトコルスタック850の前に配置される。FEC符号がビデオパケットを通じて適用され、パリティパケットを生成する。ヘッダは、FEC情報を含むFECパケットに追加される。FEC関連の制御情報もまた、ビデオデータパケットに追加される。ビデオデータパケットは、プロトコルスタック850及びEthernet(登録商標)/WLANインタフェース855を通じてIPマルチキャストグループ(通常のビデオマルチキャストグループ)に直ちに送信/マルチキャストされる。プロトコルスタック850は、少なくともUDPレイヤ850aとIPレイヤ850bとを含む。パリティパケットは、オフセット時間Tdの間に遅延バッファ845に格納される。FECパリティパケットは、遅延/時間シフトTdの後にプロトコルスタック850及びEthernet(登録商標)/WLANインタフェース855を介して他のIPマルチキャストグループ(遅延/回復マルチキャストグループ)に送信/マルチキャストされる。ここに記載した構成要素は、ハードウェア、ソフトウェア若しくはファームウェア又はRISC、ASIC及び/又はFPGAを含むこれらの如何なる組み合わせでもよい。
【0046】
システマティックFEC符号では、FEC符号化モジュールは、十分なビデオ/ソースパケットが符号化ブロックを埋めるまで待機し、次に、FEC符号化モジュールがパリティパケットを生成する。他の実施例では、FEC符号化モジュールは、FEC関連の制御情報をビデオ/ソースパケットに追加し、パケットがパケット化器によりFEC符号化モジュールに渡された直後に、符号化ブロックを埋めるまで待機せずにパケットを送出/マルチキャストしてもよい。FEC符号化モジュールは、符号化ブロックバッファにこのパケットのコピーを保持する。前述のように、符号化ブロックが埋まり、FEC符号化モジュールがパリティパケットを生成した後に、既に送信されたビデオ/ソースパケットは破棄される。この理由は、ビデオ/ソースパケットが既に送信されているためである。
【0047】
図9は、本発明の原理によるクロスパケット符号化の例である。図9に示すように、Kのビデオパケットは、一緒にグループ化され、Reed-Solomon(RS)(N,K)符号がパケットグループに適用され、N-Kのパリティパケットを生成する。ヘッダは、どのビデオパケットをこのFECパケットが保護するかを含み、FEC情報を含むFECパケットに追加される。FEC関連の制御情報もまた、ビデオパケットに追加される。ビデオデータパケットは、UDP/IPスタック及びEthernet(登録商標)インタフェースを介してIPマルチキャストグループ(通常のビデオマルチキャストグループ)に送信される。パリティパケットは、オフセット時間Tdの間に遅延バッファに格納される。FECパリティパケットは、遅延/時間シフトTdの後にUDP/IP及びEthernet(登録商標)インタフェースを介して他のIPマルチキャストグループ(遅延/回復マルチキャストグループ)に送信される。
【0048】
図10aは、遅延/回復マルチキャストグループ内でFECパリティパケットを使用してIP型無線ネットワークでビデオマルチキャストを行う例示的な移動受信機/装置の実装のフローチャートである。1005において、ビデオシーケンスデータを含む通常のビデオデータパケット及び遅延パリティパケットは、異なるマルチキャストグループから受信される。1010において、これらは、ビデオパケットとパリティパケットとに分離される。1015において、受信ビデオデータパケットが格納される。誤ったビデオ及びパリティパケットは、リンクレイヤ(WLANインタフェース)により破棄される。1020において、FEC消去復号化が実行される。損失ビデオデータパケット又はパリティパケットの位置は、FEC消去復号化処理によりパケットヘッダのシーケンス番号を通じて検出される。パリティパケットのFECヘッダ及びビデオデータパケットに追加されたFEC制御情報は、FECブロック情報を決定するために使用される。RS(N,K)符号で、(ビデオデータパケットであれパリティパケットであれ)FEC符号化ブロックのNのパケットのうち何らかのK以上のパケットが正確に受信される限り、FEC消去復号化処理は、元の(通常の)ビデオパケットを再構成することができる。1025において、FEC消去復号化されたビデオデータパケットはパケット化解除される。1030において、パケット化解除されたビデオデータパケットはビデオ復号化され、表示用に復号化されたビデオを生成する。
【0049】
一実施例は、ハーフレートのRS符号を使用する。ハーフレートのRS符号は、元のデータの他の記述を生成するために使用される。消去復号化でのRS符号では、各パリティパケットは、符号化ブロックでの何れか1つの損失パケットを回復することができる。ハーフレートのRS(N,K)符号(N=2K)がKのビデオパケットに適用されると、Kのパリティパケットを生成する。ハーフレートのRS符号では、複数のビデオデータパケットがハンドオーバ中のバーストで完全に損失したとしても、損失データパケットは、対応するパリティパケットのみから回復可能である。この意味で、ハーフレートのRS符号により生成されたパリティパケットストリームは、元の(通常の)ビデオパケットストリームの代替である。Reed-Solomon(RS)符号の他に、パリティパケットを生成するために他のFEC符号も使用され得る点に留意すべきである。ハーフレートのRS符号を有する本発明は、元のビデオパケットとFECパリティパケットとの間の時間シフトTdの持続時間までのパケット損失をトランスペアレントに許容することができる。
【0050】
図10bは、遅延/回復マルチキャストグループ内でFECパリティパケットを使用してIP型無線ネットワークでビデオマルチキャストを行う例示的な移動受信機/装置の実装の概略図である。通常のビデオデータパケット及び遅延パリティパケットは、WLAN/Ethernet(登録商標)インタフェース1035で異なるマルチキャストグループから受信される。これらは、プロトコルスタック1040によりビデオデータパケットとパリティパケットとに分離される。プロトコルスタック1040は、少なくともUDPレイヤ1040aとIPレイヤ1040bとを含む。受信ビデオデータパケットは、バッファ1045で遅延される。誤ったビデオ及びパリティパケットは、リンクレイヤ(WLANインタフェース)により破棄される。FEC消去復号化モジュール1050は、パケット化解除とUDPレイヤとの間にある。ビデオデータパケット又はパリティパケットの位置は、FEC消去復号化モジュール1050によりパケットヘッダのシーケンス番号を通じて検出される。FEC消去復号化モジュール1050は、消去復号化のために使用される。パリティパケットのFECヘッダ及びビデオパケットに追加されたFEC制御情報は、FECブロック情報を決定するために、FEC消去復号化モジュール1050により使用される。RS(N,K)符号では、(ビデオデータパケットであれパリティパケットであれ)FEC符号化ブロックのNのパケットのうち何らかのK以上のパケットが正確に受信される限り、FEC消去復号化モジュール1050は、元の(通常の)ビデオデータパケットを再構成することができる。FEC消去復号化されたビデオデータパケットは、パケット化解除器1055に通信され、パケット化解除器1055は、ビデオデータパケットをパケット化解除する。パケット化解除されたビデオデータパケットは、ビデオ復号化モジュール1060に通信される。ここに記載した構成要素は、ハードウェア、ソフトウェア若しくはファームウェア又はRISC、ASIC及び/又はFPGAを含むこれらの如何なる組み合わせでもよい。
【0051】
移動装置からBS/APへの帰路無線チャネルが利用可能でない場合、及び/又は簡単なシステム実装が好ましい場合、BS/APは、無線ネットワークにおいてマルチキャストで通常のビデオストリームと遅延回復ストリームとを常に送信してもよい。移動受信機/装置は、要求せずに双方のストリームを受信する。ランダムなパケット損失の回復のため、チャネル状態に従って時間シフトせずに、他のマルチキャストグループ内で特定のFECパリティパケットを常に送信することも可能である。残りのFECパリティパケットは、バーストのパケット損失を訂正するために、遅延回復(FEC)マルチキャストグループ内で送信される。
【0052】
ORBIT無線ネットワークのテストベッドを使用して、異なる干渉レベル及び移動ハンドオーバ時間でのビデオ品質に対するFECオーバーヘッド及びビデオストリームとFECストリームとの間の遅延の影響が調査された。本発明のFECスタガーキャスティングの有効性は、Orbitテストベッドからの実験データを使用して証明された。全てのビデオシーケンスはH.264で符号化されている。ビデオ解像度は720×480であり、フレームレートは毎秒24フレームである。2秒毎に1つのIフレームが存在する。瞬時複合化器リフレッシュ(IDR:instantaneous decoder refresh)イントラピクチャは無効である。符号化器でスライスモードが使用され、各パケットは、唯一のスライスを伝達し、各損失パケットが他の正確に受信したパケットの有効性に影響を及ぼさず、誤り伝搬を回避することを確保する。
【0053】
中間動画ビデオシーケンス“Kungfu”がテスト用に選択された。元のビデオは10秒の長さであり、これは、5つのIフレームを有する240フレームが存在することを意味する。図11aは、27及び450バイトのスライスサイズに設定されたI/Pフレームの量子化パラメータで符号化された後のビデオシーケンスの輝度成分信号対雑音比(SNR-Y)を示している。48フレーム毎の周期パルスは、Iフレームの位置を示しており、また、点線の垂直グリッドでも示されている。ビデオシーケンスの動きが増加するため、240フレームのSNR-Yは少しずつ減少する。元のビデオシーケンスは、6回ループし、1440フレーム(1分)のシーケンスを得る。1分のシーケンスの輝度成分のSNRは、図11bのようなシーソー(seesaw)形式を示す。
【0054】
次に、Orbitテストベッドを使用して、雑音環境におけるビデオマルチキャストのFEC保護の有効性がテストされた。元の10秒の長さのビデオシーケンスは30回ループされ、5分の長さのシーケンスを得る。ビデオは、IEEE802.11aのチャネル64及びモード1を使用してマルチキャストで送信される。送信電力は、15mWに設定され、雑音干渉を受けやすくする。Orbitテストベッドでの雑音生成器は、20MHzの帯域でチャネル64を中心とするAWGN干渉を生成するために使用される。クライアントは、FEC保護された及びFEC保護されていないビデオシーケンスを受信するために、BA/APに関連付けられる。受信ビデオデータは、ビデオ品質を比較するために復号化される。
【0055】
公平な比較のため、5のビデオシーケンスが異なる量子化パラメータを使用して同じ生のビデオから符号化され、異なるFEC符号化レートで同様の全体(RTPパケット及びFECパケット)トラヒックビットレートを得る。表1は、図12で使用された5つのビデオシーケンスの符号化パラメータと全体ビットレートとを示している。UDP/IP/MAC/PHYヘッダのオーバーヘッドは、表1のトラヒック統計に含まれる。
【0056】
【表1】
図12は、様々な干渉レベルでの表1のシーケンスについての平均SNR-Yを示している。各場合について、干渉が閾値を超えると、急速にビデオ品質が低下する。これは、各符号化ブロックでFECパリティパケットは全ての損失パケットを回復するか、或いは損失パケットを全く回復しないかという理由のためである。ビデオシーケンスに誤り伝搬も存在する。曲線の閾値は、強力なFEC符号では高い干渉レベルで生じる。しかし、ほとんど誤りがない場合、低干渉レベルではSNR-Yは強力なFEC符号でわずかに小さい。これは、強力なFEC符号により必要となる高いオーバーヘッドがビデオソースのレートを低減するからである。実験では、干渉が小さい場合(13dbmの雑音)、FECの冗長性のため、FECオーバーヘッドが高くなるほど、ビデオ品質が低くなることがわかる。しかし、雑音が増加すると、FEC保護はその有効性を示す。雑音が約7dbmに到達すると、受信シーケンスの一部は、大きいパケット損失のため復号化不可能である。実験データは、雑音が6dbmに到達すると、これらの5つの受信シーケンスがもはや復号化不可能であることを示している。雑音が5dbmである場合、BS/APとクライアントとの間の関連付けは時々壊れる。通常では、良好なビデオ品質のソース符号化レートでの動作点と、所望のビデオマルチキャストサービスエリア範囲に基づいてパケットから回復するのに十分なFEC保護とが選択され得る。
【0057】
図13は、2つの形式(94のスケールでの数及びdbmでの受信信号強度)でクライアントにより検出される対応するリンク品質を示している。図13は、干渉レベルとクライアントにより検出されるリンク品質との間の線形関係を示している。
【0058】
図14は、様々な干渉レベルでの残留パケット損失レート(PLR)を示している。各場合において、干渉が閾値を超えると、急速にPLRが増加する。前述のように、これは、FECが全ての誤りを訂正するか、或いは全く訂正しないかという理由のためである。曲線の閾値は、強力なFEC符号では高い干渉レベルで生じる。
【0059】
ブロックFECでは、FEC符号化器は、符号化ブロックのKのシンボルを埋めるのに十分なビデオパケットを常に待機し、FEC符号化器は、(N-K)のパリティパケットを生成し、パリティパケットを送信する。従って、FECパケット送信時間とソースパケット送信時間との間に常に拡散/遅延が存在する。これは、符号化単位サイズTと、ソースシンボル数Kと、元のビデオトラヒックパターンとに依存する。この固有の拡散(?遅延)は管理及び計算することが困難である。表2は、時間をずらしたFECの実験で使用されるシーケンスを示している。シーケンスGは、100%のFEC保護があり、シーケンスFは、全くFEC保護がない。公平な比較のために、2つのビデオシーケンスは、同様の全体帯域使用を得るために、異なる量子化パラメータを使用して同じ“KungFu”の生のビデオから符号化された。ビデオシーケンスは、5のハンドオフ(バースト持続時間)に対応するのに十分に長くループされる。この場合にも同様に、UDP/IP/MAC/PHYヘッダは、トラヒック統計に含まれる。
【0060】
【表2】
ハンドオフ(バースト)持続時間の長さと、ハンドオフ/バーストの間に損失したパケットの性質(Iフレームに属するかPフレームに属するか)とは、受信ビデオ品質に影響を及ぼす2つの重要な要因である。実行されたテストでは、FECパリティストリームは、固有の拡散(?遅延)に加えて、元のビデオストリームに対してそれぞれ0秒、1秒及び2秒の値で遅延している。様々なハンドオフ持続時間での受信ビデオ品質が計算され、時間をずらしたFECマルチキャストの有効性を示すために比較された。図15(a)は、ハンドオフ持続時間が0.2秒であり、FECストリームが0秒の遅延(これはFECパケットが生成時に直ちに送信されることを意味する)である場合のシーケンスF及びGのビデオ品質を示している。FECのないシーケンスFでは、ビデオ品質は、ハンドオフ/バーストの間に急激に低下する。FEC保護のあるシーケンスGは、余計なFEC遅延すらなしに、受信機で完全に回復されている。前述のように、これは、強力なFECの誤り訂正機能と、小さいハンドオフ/バースト持続時間中のパケット損失の比較的短いバーストと、FECパケット送信時間及びソースパケット送信時間の固有の拡散(?遅延)とのためである。
【0061】
図15(a)に示す他の関心のある点は、ハンドオフ/バースト損失が開始したとしても、次のIフレーム(この位置は垂直の点線で示されている)が正確に受信されるまで、ビデオ品質は常に完全に回復される点である。これは、ビデオ復号化器で使用される誤り隠蔽方式に依存し得る。フレームコピー誤り隠蔽(frame copy error concealment)が実験で使用される。図15(a)では5つのハンドオフ/バーストは同じ持続時間であるが(全てが0.2秒である)、次のIフレームに対して異なるハンドオフ/バースト開始点のため、品質の障害の幅は異なる。差は図15(b)でより明確になり、第3のハンドオフ/バーストで、Iフレームが損失し、次のIフレームが2秒後に正確に受信されるまで、ビデオ品質が完全に回復される。
【0062】
図15(b)は、ハンドオフ間隔が0.5秒であり、FECストリームが0秒の遅延である場合のシーケンスF及びGのビデオ品質を示している。図15(b)では、ハンドオフ損失のバーストのいくつかは、遅延のないFECが処理できるものより大きいため、FEC保護されたビデオシーケンスGでビデオ品質の劣化が存在する。ハンドオフ/バースト持続時間が増加すると、ハンドオフ/バースト中に多くのパケットが損失する。ビデオ及びパリティストリームの間に遅延が存在しない場合、強力なFECであっても、損失パケットは回復不可能である。
【0063】
図15(c)は、ハンドオフ持続時間が1.8秒であり、FEC遅延が0秒である場合のシーケンスF及びGのビデオ品質を示している。図15(c)に示す他の関心のある点は、(FEC保護のある)シーケンスGの最後の3つの品質の障害が(FEC保護のない)シーケンスFより小さい点である。これは、2つの連続ブロックからのいくつかのソースRTPパケットがハンドオフ/バースト中に損失したからである。最初のブロックからのものは、FECパケットがハンドオフ/バースト中に同様に損失したため、回復不可能である。第2のブロックからのものは、FECパケットが正確に受信されたため、回復される。
【0064】
図15(d)は、ビデオシーケンスF及びGの間の品質の比較を示している。FEC遅延は1秒まで増加している。図15dは、1秒のFEC遅延が0.8秒のハンドオフ/バースト持続時間を回復するのに十分であることを示している。しかし、ハンドオフ/バースト持続時間がFEC遅延より増加すると、受信ビデオ品質はもはや保証され得ない。
【0065】
図15(e)は、ハンドオフ/バースト持続時間が約1.8秒に設定された場合のビデオシーケンスF及びGの間の品質の比較を示している。この場合、1秒のFEC遅延はもはや十分でない。
【0066】
図15(f)は、ビデオシーケンスF及びGの間の品質の比較を示している。FEC遅延は2秒に増加している。この時間では、ハンドオフ/バースト中にシーケンスGの品質損失は存在しない。ハーフレートのRS符号(N=2K)がこのハンドオフ/バーストの実験で適用された点に留意すべきである。ハーフレートのRS符号により生成されたパリティパケットストリームは、元のビデオパケットストリームの他の記述である。ハンドオフ中に全てのビデオパケットがバーストで損失しても、損失パケットは、対応するパリティパケットのみから回復可能である。システムは、更なるランダムなパケット損失なしに、ビデオストリームとパリティストリームとの間の時間シフトの持続時間までバーストパケット損失からの回復を保証できる。
【0067】
シーケンスF及びGが0.2秒のハンドオフ持続時間でAWGN環境内で送信されたときに、FECスタガーキャスティングの有効性は、より特徴的に示される。図16は、シーケンスF及びGの間の品質の比較を示している。図16では、シーケンスFのビデオ品質は、完全にその形状を失っているが、シーケンスGの品質は小さい劣化のみを示している。
【0068】
本発明は、様々な形式のハードウェア、ソフトウェア、ファームウェア、専用目的プロセッサ又はこれらの組み合わせで実装され得ることがわかる。本発明は、ハードウェアとソフトウェアとの組み合わせとして実装されることが好ましい。更に、ソフトウェアは、プログラム記憶装置に具体的に具現されたアプリケーションプログラムとして実装されることが好ましい。アプリケーションプログラムは、何らかの適切な構成を有する機械にアップロードされて、この機械により実行されてもよい。機械は、1つ以上の中央処理装置(CPU)、ランダムアクセスメモリ(RAM)、及び入出力(I/O)インタフェースのようなハードウェアを有するコンピュータプラットフォームで実装されることが好ましい。コンピュータプラットフォームはまた、オペレーティングシステムとマイクロ命令コードとを含む。ここに記載の様々な処理及び機能は、オペレーティングシステムを介して実行されるマイクロ命令コードの一部でもよく、アプリケーションプログラムの一部でもよい(或いはこれらの組み合わせでもよい)。更に、更なるデータ記憶装置及び印刷装置のように、様々な他の周辺装置がコンピュータプラットフォームに接続されてもよい。
【0069】
添付図面に示す構成要素のシステム構成要素及び方法のステップのいくつかは、ソフトウェアで実装されることが好ましいため、システム構成要素(又は処理ステップ)の間の実際の接続は、本発明がプログラムされる方法に応じて異なり得ることが更にわかる。ここでの教示を前提として、当業者は、本発明の前記及び同様の実装又は構成を考えることができる。
【0070】
以上の実施例に関し、更に、以下の項目を開示する。
【0071】
(1)データを送信する方法であって、
前記データをパケット化し、
少なくとも1つのパリティパケットを生成するために前記パケット化データで前方誤り訂正(FEC)符号化を実行し、
前記パケット化データのペイロードデータの終わりにパディングとしてFEC情報を追加し、
前記パケット化データと前記少なくとも1つのパリティパケットとを送信することを有する方法。
【0072】
(2)所定の期間に前記少なくとも1つのパリティパケットの送信を遅延させることを更に有する、(1)に記載の方法。
【0073】
(3)前記送信する動作は、ユーザデータグラムプロトコル(UDP)/インターネットプロトコル(IP)スタックと無線ローカルエリアネットワークインタフェースとを使用して実現される、(1)に記載の方法。
【0074】
(4)データを送信するシステムであって、
前記データをパケット化する手段と、
少なくとも1つのパリティパケットを生成するために前記パケット化データで前方誤り訂正(FEC)符号化を実行する手段と、
前記パケット化データのペイロードデータの終わりにパディングとしてFEC情報を追加する手段と、
前記パケット化データと前記少なくとも1つのパリティパケットとを送信する手段と
を有するシステム。
【0075】
(5)所定のオフセット時間に前記少なくとも1つのパリティパケットの送信を遅延させる手段を更に有する、(4)に記載のシステム。
【0076】
(6)前記パケット化データのペイロードの終わりにパディングとしてFEC情報を追加する手段は、FEC符号化モジュールにより実行される、(4)に記載のシステム。
【0077】
(7)前記少なくとも1つのパリティパケットを生成するために前記パケット化データで前方誤り訂正(FEC)符号化を実行する手段は、FEC符号化モジュールにより実行される、(4)に記載のシステム。
【0078】
(8)パケットの損失から回復する方法であって、
データパケットを受信し、
少なくとも1つのパリティパケットを受信し、
前記受信したデータパケットをバッファに入れ、
パケット損失を検出し、
前記少なくとも1つのパリティパケットを前方誤り訂正復号化し、前記データパケット及び前記少なくとも1つのパリティパケットから抽出された前方誤り訂正情報を使用してパケット損失から回復し、
内部ソケットを介して前記回復パケットを転送することを有する方法。
【0079】
(9)前記回復パケットからパディングを除去することを更に有する、(8)に記載の方法。
【0080】
(10)前記回復パケットをパケット化解除することを更に有する、(8)に記載の方法。
【0081】
(11)パケットの損失から回復するシステムであって、
データパケットを受信する手段と、
少なくとも1つのパリティパケットを受信する手段と、
前記受信したデータパケットをバッファに入れる手段と、
パケット損失を検出する手段と、
前記少なくとも1つのパリティパケットを前方誤り訂正復号化し、前記データパケット及び前記少なくとも1つのパリティパケットから抽出された前方誤り訂正情報を使用してパケット損失から回復する手段と、
内部ソケットを介して前記回復パケットを転送する手段と
を有するシステム。
【0082】
(12)前記回復パケットからパディングを除去する手段を更に有する、(11)に記載のシステム。
【0083】
(13)前記回復パケットをパケット化解除する手段を更に有する、(11)に記載のシステム。
【0084】
(14)第1のデータシーケンスを符号化及び圧縮し、
前記圧縮符号化データシーケンスをパケット化し、データパケットを形成し、
前記第1のデータシーケンスに関する第2のデータシーケンスを生成するために、前記データパケットで前方誤り訂正(FEC)符号化を実行し、
前記データパケットのペイロードデータの終わりにパディングとしてFEC情報を追加し、
前記第2のデータシーケンスをパケット化し、パケットを形成し、
前記データパケットを第1のマルチキャストグループにマルチキャストし、
オフセット時間だけ遅延した前記第2のデータシーケンスを使用して形成された前記パケットを第2のマルチキャストグループにマルチキャストすることを有するスタガーキャスティング方法。
【0085】
(15)前記第2のデータシーケンスは、パリティパケットである、(14)に記載の方法。
【特許請求の範囲】
【請求項1】
データを送信する方法であって、
前記データをパケット化し、
少なくとも1つのパリティパケットを生成するために前記パケット化データで前方誤り訂正(FEC)符号化を実行し、
前記パケット化データのペイロードデータの終わりにパディングとしてFEC情報を追加し、
前記パケット化データと前記少なくとも1つのパリティパケットとを送信することを有する方法。
【請求項1】
データを送信する方法であって、
前記データをパケット化し、
少なくとも1つのパリティパケットを生成するために前記パケット化データで前方誤り訂正(FEC)符号化を実行し、
前記パケット化データのペイロードデータの終わりにパディングとしてFEC情報を追加し、
前記パケット化データと前記少なくとも1つのパリティパケットとを送信することを有する方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7a】
【図7b】
【図8a】
【図8b】
【図9】
【図10a】
【図10b】
【図11a】
【図11b】
【図12】
【図13】
【図14】
【図15(a)】
【図15(b)】
【図15(c)】
【図15(d)】
【図15(e)】
【図15(f)】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7a】
【図7b】
【図8a】
【図8b】
【図9】
【図10a】
【図10b】
【図11a】
【図11b】
【図12】
【図13】
【図14】
【図15(a)】
【図15(b)】
【図15(c)】
【図15(d)】
【図15(e)】
【図15(f)】
【図16】
【公開番号】特開2013−70418(P2013−70418A)
【公開日】平成25年4月18日(2013.4.18)
【国際特許分類】
【出願番号】特願2012−256278(P2012−256278)
【出願日】平成24年11月22日(2012.11.22)
【分割の表示】特願2009−521726(P2009−521726)の分割
【原出願日】平成18年7月25日(2006.7.25)
【出願人】(501263810)トムソン ライセンシング (2,848)
【氏名又は名称原語表記】Thomson Licensing
【住所又は居所原語表記】1−5, rue Jeanne d’Arc, 92130 ISSY LES MOULINEAUX, France
【Fターム(参考)】
【公開日】平成25年4月18日(2013.4.18)
【国際特許分類】
【出願日】平成24年11月22日(2012.11.22)
【分割の表示】特願2009−521726(P2009−521726)の分割
【原出願日】平成18年7月25日(2006.7.25)
【出願人】(501263810)トムソン ライセンシング (2,848)
【氏名又は名称原語表記】Thomson Licensing
【住所又は居所原語表記】1−5, rue Jeanne d’Arc, 92130 ISSY LES MOULINEAUX, France
【Fターム(参考)】
[ Back to top ]