JPWO2008139882A1 - 通信システムおよび通信方法、並びに、プログラム - Google Patents
通信システムおよび通信方法、並びに、プログラム Download PDFInfo
- Publication number
- JPWO2008139882A1 JPWO2008139882A1 JP2009514080A JP2009514080A JPWO2008139882A1 JP WO2008139882 A1 JPWO2008139882 A1 JP WO2008139882A1 JP 2009514080 A JP2009514080 A JP 2009514080A JP 2009514080 A JP2009514080 A JP 2009514080A JP WO2008139882 A1 JPWO2008139882 A1 JP WO2008139882A1
- Authority
- JP
- Japan
- Prior art keywords
- block
- packet
- code
- packets
- received
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0009—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
- H04L2001/0097—Relays
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
送信装置(201)は、配信データの誤り訂正符号を記述した符号パケットを生成し、その符号パケットと配信データを記述したメディアパケットとを含むブロックを送信する(S1)。各中継装置(202,203)は、受信したブロックのうちパケットロスに関する所定条件に対応するブロックの誤り訂正符号を記述した符号パケットを生成し、それをブロックに追加して送信する(S4)。受信装置(204)は、受信したブロックに含まれる符号パケットの階層数を算出し(S7)、各階層の符号パケットを用いてブロックに復号処理を施し(S8)、復号処理の結果から配信データを形成する。
Description
本発明は、パケット通信システムにおけるストリーミング配信のパケットロス対策に関する。
近年、パケットスイッチングネットワークを利用して、音声データやビデオデータをストリーミング配信により提供するサービスが普及している。ストリーミング配信の品質劣化を招く原因の一つとして、ネットワークにおける転送中のパケットロスが挙げられる。
遠隔講義等に利用される同期型ビデオストリーミング配信のように、リアルタイム性が要求される通信の場合、その通信プロトコルには、UDP(User Datagram Protocol)が用いられる。しかしながら、UDPは、損失したパケットを再送する手順を具備していない。よって、UDPによるストリーミング配信には、例えば、後述の非特許文献1に記載されているように、損失したパケットを受信側で補償する前方誤り訂正制御方式(FEC:Forward Error Correction)が用いられる。
FECは、誤り訂正符号を用いてパケットロスを補償する手法である。誤り訂正符号の代表的なものには、パリティ(XOR)符号、ハミング符号、BCH符号、リードソロモン符号、畳み込み符号、連続符号等がある。FECを用いる場合、音声データや画像データ等のメディアデータに基づき得られた誤り訂正符号をそのメディアデータに付加して送信する。これにより、もし転送中に一部のパケットを損失しても、受信側で、誤り訂正符号から元のメディアデータを復元することができる。
ところで、転送中のパケットに、連続したビット誤り、すなわちバースト誤りが生じた場合、バースト誤りのデータ長が長くなるに従い、誤り訂正のための処理負荷が高くなる。これに対処するために、例えば、ビットレベルでの誤り分散方式であるインターリーブ方式を用いることにより、計算量の低減を図ることができる。
図2に、インターリーブ方式の原理を模式的に示す。インターリーブ方式では、配信対象となる所定数のメディアデータと、それらの損失を検出して補償するための冗長データ(誤り訂正符号)とをブロック単位で取り扱う。
図2に示すように、FECの冗長データは、並列のメディアデータ群(D0,D1,…,Dk-1)を並列方向に順次読み出すことで得られるデータから生成される。生成されたFEC冗長データ(F0,…,Fs-1)は、パケット化された後、メディアデータ群(D0,D1,…,Dk-1)に続いて送信される。仮に、転送経路で1つのメディアパケットを損失した場合、冗長計算の単位データ、すなわち図2にて点線で示す範囲内のメディアデータから1ビットが欠落する。この場合、受信装置にて1ビット誤りとして検出される。
ここで、1つのブロックに対し補償し得るパケットロスの許容量は、誤り訂正能力と呼ばれる。誤り訂正能力は、ブロック毎の冗長パケット数に依存する。非特許文献1にて提案されている技術は、送信装置が、転送経路上で生じ得る全てのパケットロスを推定し、その推定に基づき誤り訂正能力を設定するというものである。
栗本昌和著、「FECとパケットインターリーブによるストリーミングサービス用動的低エラー転送」、電子情報通信学会論文誌、2005年7月、Vol. J88-B, No. 7
栗本昌和著、「FECとパケットインターリーブによるストリーミングサービス用動的低エラー転送」、電子情報通信学会論文誌、2005年7月、Vol. J88-B, No. 7
従来のストリーミング配信システムでは送信装置と受信装置のみを用いてパケットロス補償を行っている。この場合、送信装置がエンドツーエンドのパケットロス率を推定して誤り訂正能力を設定する。よって、設定される誤り訂正能力は、転送経路の全てをカバーし得るものである必要がある。1ブロック当たりの冗長データの割合を大きくすると訂正能力は高くなるが、最初から高い誤り訂正能力を設定した場合、メディアデータの通信効率を高め難い。つまり、冗長データの割合が増加することは、メディアデータの通信効率の低下を招く。
また、転送中にパケットロスが発生するごとに、誤り訂正能力が低下、すなわち、補償できるパケット数が減少する。よって、上記非特許文献1の方法のように、エンドツーエンドの誤り訂正能力を送信元が一括的に設定する方法では、誤り訂正能力の不足により、受信側で損失パケットの補償が困難になるおそれがある。
本発明は、上記課題に鑑みてなされたものであり、その目的は、ストリーミング配信において、伝送効率の低下およびパケットロスに対する耐性の劣化を防止する技術を提供することにある。
本発明に係る通信システムは、ブロックを成すパケット群をストリーミング配信により授受する送信装置および受信装置と、前記送信装置および受信装置間のストリーミング配信を中継する複数の中継装置とを備え、前記送信装置は、配信データの誤り訂正符号を記述した符号パケットを生成する符号化部と、前記配信データを記述したメディアパケットおよび前記符号パケットを含むブロックを送信する送信部とを有し、前記各中継装置は、受信したブロックのうちパケットロスに関する所定条件に対応するブロックを検知し且つ検知したブロックの誤り訂正符号を記述した符号パケットを生成する符号化部と、前記符号パケットを前記受信したブロックに追加して送信する送信部とを有し、前記受信装置は、受信したブロックに含まれる符号パケットの階層数を算出し且つ各階層の符号パケットを用いて前記受信したブロックに復号処理を施す復号部と、前記復号部の処理結果から配信データを形成するパケット処理部とを有する。
本発明によれば、ストリーミング配信における伝送効率の低下およびパケットロスに対する耐性の劣化を防止することができる。よって、ストリーミング配信の配信ブロックに、伝送初期の時点で高い誤り訂正能力を設定するという対策は不要となる。
100 システム
101、102、103 リンク
201 送信装置
202 第1の中継装置
203 第2の中継装置
204 受信装置
101、102、103 リンク
201 送信装置
202 第1の中継装置
203 第2の中継装置
204 受信装置
≪実施の形態1≫
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
<構成>図1に、本発明の実施形態のシステム構成を示す。システム100は、パケットの送信元となる送信装置201と、そのパケットの宛先となる受信装置204と、送信装置201及び受信装置204間を中継する第1の中継装置202及び第2の中継装置203とを備える。
送信装置201は、リンク101を介して第1の中継装置202と接続され、第1の中継装置202はリンク102を介して第2の中継装置203と接続され、第2の中継装置203はリンク103を介して受信装置204と接続されている。各リンク(101,102,103)は、物理ケーブル、スイッチ、ルータ、パケットスイッチングネットワーク等である。
図3に、メディアパケット及びFECパケットのフォーマットの例を示す。メディアパケット301は、メディアデータに、FECヘッダと、UDP/IP/MAC等のプロトコルのパケットヘッダとを付加して構成されている。メディアデータは、音声データや画像データのような、配信対象のデータをパケット化したものである。本実施の形態では、メディアデータの一例として、Real-time Transport Protocol(RTP)パケットを用いる。
メディアデータのサイズは、パケットが伝送中にフラグメンテーションされないことを前提とする任意値で良いが、本実施の形態では説明を簡単化するために固定長とする。FECヘッダは、長さが16bitで、先頭の1bitはパケットの種類を示し、残りの15bitはメディアパケットのシーケンス番号を示す。パケットの種類を示す先頭の1bitには、例えば、「0」の場合はメディアパケットを示し、「1」の場合はFECパケットを示すといった規定を設ける。メディアパケットのシーケンス番号は、ゼロから始まる連続値となる。
FECパケット302は、FEC冗長データにFECヘッダとパケットヘッダとを付加して構成される。FEC冗長データは、前記メディアパケット301におけるメディアデータのフィールド間の符号演算結果を用いる。FEC冗長データのサイズは、前記メディアパケット301と同じである。FECヘッダは、長さが16bitであり、先頭の1bitはパケットの種類を示し、残りの15bitはFECパケットのシーケンス番号を示す。パケットの種類を示す先頭の1bitには、例えば、「1」の場合はFECパケットを示すといった規定を設ける。
FECパケットのシーケンス情報は、ユーザの必要に応じて変更が可能である。シーケンス情報として、例えば、メディアパケットのシーケンス番号と同じ系列で連続したシーケンス番号を用いることができる。また、メディアパケットと異なる系列の、FECパケット特有のシーケンス情報を用いても良い。
また、図3に示すように、FECパケット302はk個のメディアパケット301に対してs個生成される。このs値は符号方式によって異なる。例えば、パリティ符号を利用する場合は「s=1」である。BCH符号などの巡回符号を利用する場合は、符号方式とメディアパケット301の数によってs値は異なり、例えば、BCH(7,4)の場合、4個のメディアパケットに対して3個のFECパケットが生成される。s個のFECパケットは、メディアパケットの送信後に送信される。
続いて、図4〜7を参照しながら、送信装置201、中継装置202、受信装置204の詳細な構成を示す。なお、図1の中継装置203は、回路的には中継装置202と同一の構成であり、説明を省略する。
送信装置201は、図4に示すように、パケット生成部201a、FEC符号化部201b、パケット送信部201cを備える。パケット生成部201aは、メディアデータを生成し、それをFEC符号化部201bに供給する。FEC符号化部201bは、前述のインターリーブ方式によりパケット生成部201aから受信するメディアデータをデータ間でFEC符号化するとともに、メディアデータにFECヘッダを付加してパケット送信部201cに供給する。また、1ブロック分のメディアデータを送信し終わったら、FEC符号結果を用いてFECヘッダを付加してパケット送信部201cに送信する。パケット送信部201cは、FEC符号化部201bから受信するデータに、リンク101に伝送するためのパケットヘッダ(例えば、UDP/IP/MACヘッダなど)を付加してリンク101 へ出力する。
送信装置201のFEC符号化部201bの構成を図5に示す。FEC符号化部201bは、メディアデータ受信部201b1、データレジスタ201b2、FEC符号演算回路201b3、冗長データ保存メモリ201b4、FECパケット送信部201b5で構成されている。
メディアデータ受信部201b1は、パケット生成部201aから入力されるメディアデータをデータレジスタ201b2にコピーした後、FECパケット送信部201b5に出力する。データレジスタ201b2は、メディアデータのビット情報をパラレルで同時にFEC符号演算回路201b3に出力する。FEC符号演算回路201b3は、データレジスタ201b2から入力されるメディアデータ間で符号演算し、符号演算結果を冗長データ保存メモリ201b4に出力する。冗長データ保存メモリ201b4は、FEC符号演算回路201b3から受信する符号演算結果を保存する。
FECパケット送信部201b5は、メディアデータ受信部201b1から受信するメディアデータにFECヘッダを付加してパケット送信部201cに送信する。また、1ブロック分のメディアデータを送信し終わったら、冗長データ保存メモリ201b4に保存されているFEC符号結果を取得し、そのFEC符号結果にFECヘッダを付加してパケット送信部201cに送信する。
中継装置202は、図4に示すように、パケット受信部202a、FEC符号化部202b、パケット送信部202cを備える。パケット受信部202aは、受信リンク(101)から受信するパケットヘッダを終端して、FEC符号処理の対象となるフローを抽出する。また、パケット受信部202aは、ペイロード部分(FECヘッダを含む)をFEC符号化部202bに供給する。FEC符号化部202bは、パケット受信部202aから受信するパケット数をカウントしながら、送信装置201と同じ符号方式(符号演算回路)を用いて受信パケットをペイロード間で符号化する。
FEC符号化部202bは、受信したパケット数と符号ブロック別の符号演算結果とを基に、受信リンク101でパケットロスが発生したかどうかを判定する。パケットロスが発生した場合、受信パケットをパケット送信部202cに供給する一方で、符号演算結果から生成されたFECパケットを受信パケットに追加してパケット送信部202cに供給する。逆に、パケットロスが無かった場合は、符号演算結果はパケット送信部202cへ供給せずクリアする。パケット送信部202cは、FEC符号化部202bからのパケットにパケットヘッダを付与してリンク102へ出力する。
中継装置202のFEC符号化部202bの構成を図6に示す。FEC符号化部202bは、FECパケット受信部202b1、データレジスタ202b2、FEC符号演算回路202b3、冗長データ保存メモリ202b4、パケットロス検出部202b5、FECパケット送信部202b6で構成されている。
FECパケット受信部202b1は、パケット受信部202aから入力されるパケットのFECヘッダのシーケンス番号を検知し、1ブロックにおけるメディアパケット数とFECパケット数などの情報とをパケットロス検出部202b5へ通知する。また、受信パケットのペイロード(メディアデータ及びFEC冗長データ)をデータレジスタ202b2にコピーした後、受信パケットをFECパケット送信部202b6に出力する。
もし、受信パケットの順序が乱れて、受信パケットのシーケンス番号に欠落が生じた場合、FECパケット受信部202b1は、ロスしたパケットの位置に受信パケットを詰める、あるいは、ロスしたパケットの位置にダミーデータを入れるという対処方法を符号方式に応じて選択する。例えば、符号方式が単一パリティ符号の場合は、ビット間の演算はXOR演算のみであるから、ブロック内のパケットの順序が乱れていても演算結果には影響がない。よって、単一パリティ符号の場合、同一ブロック内の冗長データフィールドをそのままデータレジスタ202b2にコピーすることにより、ロスしたパケットの位置に受信パケットを詰めるというアプローチを採る。
一方、BCH符号などの巡回符号の場合、ビット間の符号演算結果は、パケットの入力順序に関係する。従って、受信パケットのシーケンス番号に欠落が生じた場合、そのロス番号に該当するパケットの冗長フィールドにダミーデータ(All‘0’)を代入する。もし、この後、前記ロス番号に該当するパケットを受信した場合、そのパケットを廃棄する、或いはデータレジスタ202b2にコピーせずFECパケット送信部に出力する。
データレジスタ202b2は、FECパケット受信部202b1から受け取ったデータのビット情報を、パラレルで同時にFEC符号演算回路202b3へ出力する。FEC符号演算回路202b3は、データレジスタ202b2から入力されるパケットを相互間で符号演算し、その演算結果を冗長データ保存メモリ202b4に出力する。冗長データ保存メモリ202b4は、FEC符号演算回路202b3から受信する符号演算結果を保存する。
パケットロス検出部202b5は、FECパケット受信部202b1から受け取るメディアパケット数とFECパケット数、及び、FEC符号演算回路202b3の演算結果などから、受信ブロックにパケットロスが発生したか否かを判定する。そして、パケットロス数が復元能力の範囲以内であれば、冗長パケット送信の通知をFECパケット送信部202b6へ出力する。
FECパケット送信部202b6は、FECパケット受信部202b1から受信するパケットはそのままパケット送信部202cに出力する。一方、パケットロス検出部202b5から冗長パケット送信の通知を受け取った場合、冗長データ保存メモリ202b4に保存されている符号演算結果を参照し、その符号演算結果にFECヘッダを付加してパケット送信部202cに出力する。出力後、冗長データ保存メモリ202b4に保存されている符号演算結果をクリアする。もし、パケットロス検出部202b5から冗長パケット送信不要の通知を受け取った場合、FECパケット送信部202b6は、冗長パケットを出力せず、冗長データ保存メモリ202b4に保存されている符号演算結果をクリアする。
なお、上記のようにして中継装置202から中継装置203へ転送されたブロックに新たなパケットロスが生じた場合は、中継装置203が中継装置202と同様な処理を行う。すなわち、中継装置203は、中継装置202から受信したブロックに新たな冗長データを追加し、それを受信装置204へ向けて送信する。このように、転送経路上でパケットロスが発生する都度、それを検出した中継装置(202,203)が、受信ブロックに階層的に冗長データを追加する。
受信装置204は、図4に示すように、パケット受信部204a、FEC復号部204b、パケット処理部204cを備える。パケット受信部204aは、受信リンク(103)から受信するパケットのヘッダを終端し、FEC復号処理の対象となるフローを抽出して、該当フローのパケットペイロードをFEC復号部204bに供給する。FEC復号部204bは、パケット受信部204aから受信するパケットの数と符号方式のパラメータ情報とを用いて符号階層数を計算する。そして、1ブロック分のパケット群に対し、その外層から内層に向けて符号階層数分の復号処理を施すことで、ロスされたメディアパケットを復元する。パケット処理部204cは、FEC符号化部204cで得られたパケットを処理し、音声や映像の一連の配信データを形成する。
受信装置204のFEC復号部204bの構成を図7に示す。FEC復号部204bは、FECパケット受信部204b1、データバッファリングメモリ204b2、FEC符号階層数計算部204b3、FEC復号演算回路204b4、メディアパケット送信部204b5で構成されている。
FECパケット受信部204b1は、パケット受信部204aから入力されるパケットのFECヘッダのシーケンス番号を検知し、1ブロックにおけるメディアパケット数とFECパケット数などの情報をFEC符号階層数計算部204b3へ通知する。また、受信したメディアパケット及びFECパケットのペイロードをFECヘッダのシーケンス番号順にデータバッファリングメモリ204b2に保存する。
FEC符号階層数計算部204b3は、メディアパケット数とFECパケット数などの情報を用いて、受信ブロックに施されている冗長化の階層数を算出し、その結果をFEC復号演算回路204b4へ通知する。FEC復号演算回路204b4は、データバッファリングメモリ204b2に保存されているパケット群を、インターリーブ方式により、外層から内層に向けて段階的に復号する。
<動作>図8〜11を参照して、システムの動作の概要を説明する。図8より、送信装置201は、前述のインターリーブ方式により、ブロック内のk個のメディアパケットからs個のFECパケットを生成する。そして、生成したFECパケットをメディアパケットに続いてリンク101へ送信する(ステップS1)。ここで、FECパケット数は、符号方式により異なるものであり、送信装置201の管理者等が予め設定したものを用いる。その値は、できる限り小さな値を設定することが望ましい。設定の一例としては、品質が一番悪いリンクのパケットロスに対処できる符号長を適用する。
図9のフローチャートを参照して、送信装置201の符号動作について詳細に説明する。送信装置201の符号化部201bは、メディアデータを受信し(ステップ20101)、受信したメディアデータ数が1ブロック分に達していない場合(ステップ20102:NO)、メディアデータをコピーしてFEC符号演算回路201b3へ入力し(ステップ20103)、符号演算する。また、メディアデータにFECヘッダを付加(ステップ20104)してパケット送信部201cへ送信する。FEC符号演算回路201b3による演算結果は冗長データ保存メモリに保存される(ステップ20105)。
一方、受信したメディアデータ数が1ブロック分に達した場合(ステップ20102:YES)、FECパケット送信部201b5が、冗長データ保存メモリ201b4から冗長データを読み取り(ステップ20106)、その冗長データからFECパケットを形成して送信する(ステップ20107,20108)。
図8より、中継装置202は、送信装置201から1ブロック分のパケット群を受信すると、パケット間で符号演算しながら、パケットのシーケンス番号(FECヘッダのシーケンス情報)からロスパケット数と符号階層数を計算する。そして、算出した符号階層数と符号演算結果を基に、受信リンク101で新たなパケットロスが発生したかを判定する(ステップS2)。
パケットロスの発生を検知した場合(ステップS3:Yes)、中継装置202は、符号演算結果を基にFECパケットを生成して受信ブロックに追加し、それをリンク102を介して中継装置203へ転送する(ステップS4)。また、パケットロスがない、或いはパケットロス数がFECにより復元可能なパケット数よりも多い場合(ステップS3:No)、中継装置202は、FECパケットを追加せず、受信ブロックをそのままリンク102により中継装置203へ転送する(ステップS5)。
図10のフローチャートを参照して、各中継装置(202,203)の符号処理について詳細に説明する。ここでは中継装置202について述べるが、他方の中継装置203の動作も以下に説明するものと同様である。
中継装置202の符号化部202bは、パケット受信部202aが受信したパケットのシーケンス番号を確認し、受信パケットがどのブロックのパケットかを判別する(ステップ20201,20202)。受信パケットが前のブロックのパケットである場合(ステップ20203:YES)、そのパケットをパケット送信部202cへ送信する(ステップ20204)。また、前のブロックでもなく、後ろのブロックでもない場合(ステップ20203:NO、ステップ20205:NO)、符号化部202bは、受信パケットのペイロードをコピーしてFEC符号演算回路202b3へ入力する(ステップ20210)。
その後、パケット受信部202aは、受信パケットをパケット送信部202cへ送信する(ステップ202011)。FEC符号演算回路202b3による演算結果は冗長データ保存メモリ202b4に保存される(ステップ20212)。
もし、受信パケットが後ろのブロックのものである場合(ステップ20205:YES)、符号化部202bは、1ブロック分のパケットを受信完了したと判定する。この場合、受信したブロックにおけるパケットのシーケンス番号を検索して、そのブロックのパケットロス数と符号階層数を計算する(ステップ20206)。計算の結果、新たなパケットロスが発生していない場合(ステップ20207:NO)、FEC符号結果をクリアし、ブロックの監視ポイントを後続のブロックに移す(ステップ20208,20209)。その後、前記のステップ20210〜ステップ20212の処理を施す。
一方、受信ブロックに新たなパケットロスが発生している場合(ステップ20207:YES)、FECパケット送信部202b6が、冗長データ保存メモリ202b4から冗長データを読み取る(ステップ20213)。そして、その冗長データからFECパケットを形成してパケット送信部202cへ送信する(ステップ20214,20215)。
図8より、中継装置203は、中継装置202から受信したブロックに対し、中継装置202における前述の処理(A)と同じ処理を行い、そのブロックをリンク103を介して受信装置204へ転送する(ステップS6)。
図8より、受信装置204は、受信したパケットのペイロードをシーケンス番号どおりにメモリへ保存する。そして、1ブロック分のパケット群を受信すると、予め決められているメディアパケット数(k)とFECパケット数(s)とを基に、そのブロックの符号階層数を計算する(ステップS7)。
ブロックの符号階層数とは、送信装置201から中継装置203までの伝送中にブロックに収められたFECパケットの段数である。受信装置204は、算出した符号階層数を用いて、送信装置201と同じ符号方式で符号ブロックを外層から内層へ順次に復号処理を施す。これにより、損失したデータを復元し、送信装置201から供給された元の配信データを得る(ステップS8)。
図11のフローチャートを参照して、受信装置204の復号処理について説明する。受信装置204の復号部204bは、パケット受信部204aが受信したパケットのシーケンス番号を確認して(ステップ20401,20402)、受信パケットがどのブロックのパケットかを確認する。
受信パケットが前のブロックのパケットである場合(ステップ20403:YES)、復号部204bは、パケットをパケット処理部204cへ送信する(ステップ20404)。また、前のブロックでもなく、後ろのブロックでもない場合は(ステップ20403:NO、ステップ20405:NO)、受信パケットのペイロードをデータバッファリングメモリ204b2に保存する(ステップ20411)。
さらにまた、受信パケットが後ろのブロックのものである場合(ステップ20405:YES)、復号部204bは、1ブロック分のパケットを受信完了したと判定し、受信したブロックのメディアパケット数を確認する(ステップ20406)。確認の結果、メディアパケットにロスが発生していない場合(ステップ20407:NO)、復号部204bは、データバッファリングメモリ204b2のデータをパケット処理部204cへ送信した後、メモリをクリアする(ステップ20409,20410)。
その後、復号部204bは、今回受信したパケットのペイロードをデータバッファリングメモリ204b2に保存する(ステップ20411)。
一方、受信したブロックのメディアパケットにロスが発生している場合(ステップ20407:YES)、そのブロックのパケットロス数と符号階層数Qを計算し、ロスしたパケットが復元可能かを判断する(ステップ20412,20413)。復元可能な場合(ステップ20414:YES)、階層Qでパケット群を復号し(ステップ20415)、復号演算結果をデータバッファリングメモリに保存する(ステップ20416)。その後、上述のQ回復号を繰り返してロスされたパケットを復号する(ステップ20415〜20418)。復号が終わった後、前記のステップ20408〜20411を行う。
(実施例1)
第1の実施例を、図面を参照して説明する。かかる実施例は、上記の第1の実施の形態の具体例である。本実施例は、送信装置201、中継装置202,203、受信装置204における符号方式として、単一パリティ符号を利用する。従って、本実施例では図5〜7の送信装置201及び中継装置202,203のFEC符号演算回路(201b3,202b3)として、パケット間における単一パリティ符号演算回路(XOR演算回路)を備える。
第1の実施例を、図面を参照して説明する。かかる実施例は、上記の第1の実施の形態の具体例である。本実施例は、送信装置201、中継装置202,203、受信装置204における符号方式として、単一パリティ符号を利用する。従って、本実施例では図5〜7の送信装置201及び中継装置202,203のFEC符号演算回路(201b3,202b3)として、パケット間における単一パリティ符号演算回路(XOR演算回路)を備える。
単一パリティ符号方式を利用する場合、1ブロックに収められるFECパケットは一つのみであるため、本実施例は以下の特徴を利用する。送信装置201は、符号ブロックサイズ「N=k+1」(kはメディアパケット数)を設定する。中継装置202,203は、受信したブロックのパケット数がk個である場合のみパケットロスが発生したと判定する。そして、受信した符号ブロックを、メディアパケットと見なして再符号化する。また、この場合、パケットロス数が1で、受信パケット数がkであるため、中継装置202,203は、ブロックの符号処理を送信装置201と同じ符号ブロックサイズ「k+1」で行うことができる。
以下、図12において本実施例の動作について詳細に説明する。送信装置201のパリティ設定が、例えばParity(16,15)である場合、メディアパケット数「k=15」、FECパケット数「s1=1」である。送信装置201は、リンク101を介して前記メディアパケット及びFECパケットを第1の中継装置202に送信する。
第1の中継装置202は、1ブロックのパケットを全部受信した場合(メディアパケットを15個、FECパケットを1個)、このブロックにはパケットロスが発生していないと判断し、受信したパケットを、FECパケットを付加せずそのまま転送する。
第2の中継装置203は、メディアパケットを14個、FECパケットを1個受信し、すなわち1ブロックとして合計k(k=15)パケットしか受信できなかったとする。この場合、ブロックにパケットロスが発生したと判断される。第2の中継装置203は、受信できた15パケットによる符号演算の結果を基に、FECパケットを1個生成し(S2=1)、これを第1の中継装置202からの15パケットに付加して送信する。
受信装置204は、メディアパケットを14個、FECパケットを1個受信し、パケットが2個ロスしたことを検知する。そして、受信したパケットをFECパケットから段階的に復号化する。
段階的な復号処理では、まず、受信したパケット15個を用いたXOR演算により、ロスされたFECパケット(図12:FECパケットロス発生(2))を復元する。復元したパケットは前記受信パケットと別のメモリ領域に保存しても良いし、任意のロスパケットのメモリ位置に上書きしても良い。
続いて、受信装置204は、外側のFECパケット(S2)を除去した後、前記復元パケットとその他の受信パケット14個を用いたXOR演算により、ロスされたメディアパケット(図12:メディアパケットロス発生(1))を復元する。今回の復元パケットは、前記受信パケットと別のメモリ領域に保存しても良いし、残りの任意のロスパケットのメモリ位置に上書きしても良い。
このように、ロスしたパケット数の分(或いは符号階層数の分)XOR演算することにより、最終的に、ロスしたメディアパケットを復元することができる。
また、受信装置204によるロスパケットの復元方法としては、上記の方法に代えて、次の方法を用いても良い。受信装置204は、受信したメディアパケットとFECパケットのFECヘッダを終端した後、受信パケット間で一回の単一パリティ復号演算(XOR演算)を行うことにより、ロスパケットを全部復元する。一回の復号演算でロスパケットを全部復元できる理由は、単一パリティ(XOR演算)では、符号化/復号化の演算結果が同じであるためである。
前記の中継装置203に着目すると、単一パリティ符号化により生成されたFECパケット(S2)のペイロードは、実際は、リンク102でロスされたメディアパケット(図12:メディアパケットロス発生(1))のペイロードと同じものになる。つまり、各中継装置202,203における再符号化処理は、実際は、ロスパケットを再生することと同等である。従って、受信装置204は、最後のリンク(103)でロスしたパケットのみを復元すれば、各リンクでロスされたパケットが全部復元できることになる。
(実施例2)
次に、第2の実施例を図面を参照して説明する。かかる実施例も前述の第1の実施の形態の具体例である。本実施例は、送信装置201、中継装置202,203、受信装置204における符号方式として巡回符号方式を利用する。従って、本実施例では図5〜7の送信装置201及び中継装置202,203のFEC符号演算回路(201b3,202b3)として、パケット間における巡回符号演算回路を備える。本実施例は、巡回符号方式としてBCH符号を想定したものである。
次に、第2の実施例を図面を参照して説明する。かかる実施例も前述の第1の実施の形態の具体例である。本実施例は、送信装置201、中継装置202,203、受信装置204における符号方式として巡回符号方式を利用する。従って、本実施例では図5〜7の送信装置201及び中継装置202,203のFEC符号演算回路(201b3,202b3)として、パケット間における巡回符号演算回路を備える。本実施例は、巡回符号方式としてBCH符号を想定したものである。
BCH符号方式を利用する場合、1ブロックに収められるFECパケット数tは二つ以上である。本実施例において、送信装置201は、符号ブロックサイズ「N=k+t」(kはメディアパケット数)に対応する生成多項式G(x)でメディアパケットを符号化する。
中継装置202,203は、パケットロスを検出すると、受信した符号ブロックをメディアパケットと見なして再符号化するが、パケットロス数(L)が1の場合、中継装置202,203が受信するパケット数は「X=N−L>k」となる。つまり、中継装置202,203で受信する受信パケット数Xは、送信装置201で符号化するメディアパケットの数kより大きくなる可能性がある。
ところが、一般的に、メディアパケット数が増えると、それを符号化するための生成多項式G(x)を変える必要がある。よって、システムを転送されるブロックが、異なる生成多項式により何度も再符号化された場合、受信装置は、それを復号化するために、各生成多項式に対応する複数の復号回路を用意しておく必要がある。
そこで、本実施例では、全ての装置で同一の生成多項式を利用するために、以下のアプローチを採る。符号化の方式として、例えば、BCH(N,K)を適用する場合、送信装置201は、符号化対象のメディアパケットKの数を実際のメディアパケット数kより大きく設定し、両者の差分をダミーデータ(All‘0’)で埋める。こうすることで、中継装置202,203は、FECパケットを含む受信パケットを情報ブロック内にシフトさせながら、送信装置201と同じ生成多項式G(x)を利用してブロック全体を再符号化できる。
受信装置204は、受信パケット数と予め決められていた実メディアパケット数k等から符号階層数を計算する。そして、送信装置201が使用したものと同じ生成多項式G(x)を利用して、符号階層数の分、段階的に復号処理することで、ロスパケットを復元することができる。
以下、図13において本実施例の動作について詳細に説明する。BCH符号は、巡回符号の一つであり、例えば、ブロックサイズ「N=31」及びデータサイズ「K=26」の場合、1パケットロスの補償が可能である。以降、この「BCH(31,26)」を想定し、システム全体の動作について説明する。
送信装置201において、1ブロックに収めるべきメディアパケット数「k」は、上述のメディアパケット数「K=26」より低く設定する。なぜなら、後段の中継装置(202,203)での符号化により、1ブロックの受信パケット数(X)がメディアパケット数(K)より大きくなる可能性があるからである。本事例では、メディアパケット数を15個(k=15)に設定する。
なお、ブロック中の空きビットには「00」を補填する。本事例では、15ビットのメディアパケットの先頭に11ビット分の「00」データを付加することで、合計のデータサイズを26ビット(K=26)にする。送信装置201は、この26ビットのデータに対し、BCH(31,26)によりFEC符号化を施す。
第1の中継装置202は、送信装置201から受信したブロックを解析し、リンク101におけるパケットロスの発生状況を判定する。中継装置202は、受信パケットをリンク102に転送しながら、受信パケット間で符号演算し、その演算結果をもとに誤り検出を行う。図13の例では、1ブロック分のパケット間で符号演算した結果が全て「0」(All‘0’)、すなわち誤りが発生していない。よって、中継装置202は、受信したブロックにはパケットロスが発生してないと判断する。この場合、中継装置202は、FECパケットを付加することなくブロックを転送する。
ここで、中継装置202が出力したブロックのうち、メディアパケットXがリンク102で1つロスしたとする(図13:メディアパケットロス発生(1))。このブロックを受信した第2の中継装置203は、第1の中継装置202による前述の動作と同様に、受信パケットをリンク103に転送しながら、受信パケット間で符号演算して誤り検出を行う。
1ブロック分のパケット間で符号演算した結果が全て「0」(All‘0’)にならず、誤りが検出された場合、そのブロックにはパケットロスが発生していると判断される。この場合、第2の中継装置203は、符号演算の結果から生成されるFECパケット(S2)を、中継装置202からのパケットに続いて送信する。例えば、受信したブロック(x=15-1,S1=5)から生成した5個のFECパケットS2(S2=5)を、そのブロックに追加して受信装置204へ転送する。
続いて、中継装置203から送信されたブロックのうち、FECパケットS1がリンク103で1つ損失したとする(図13:FECパケットロス発生(2))。受信装置204は、中継装置203からのブロックを受信した後、先ず、受信パケットのシーケンス番号をもとに、メディアパケットがロスしたかどうかを判断する。
メディアパケットがロスしている場合、受信装置204は、符号ブロックの符号階層数(冗長化の階層数)を計算し、符号ブロックを外部から内部へ段階的に復号処理する。冗長化の階層数が、例えば2である場合、以下の復号化処理を行う。
図13で示すように、受信したブロックの全パケットを復号し、損失した1つのFECパケットS1(FECパケットロス発生(2))を復元する。これにより、FECパケットS1の数量が、元の数量の5個になる(S1=5)。続いて、受信装置204は、この5個のFECパケットS1と、受信した14個のメディアパケット(x=14)とを1つのブロックとして復号演算する。これにより、リンク102で損失した1つのメディアパケット(メディアパケットロス発生(1))を復元し、合計15個のメディアパケット(x=15)を得る。そして、その15個のメディアパケットから、送信装置201が供給した元のメディアデータを形成する。
このように、転送リンク上で損失したパケットが、メディアパケット及びFECパケットの何れであっても、それらを受信装置204で復元することができる。
なお、冗長化の階層数は、受信装置204で受信したFECパケットのシーケンス番号から算出する。例えば、受信装置204において、受信ブロックにおける最小のFECシーケンスSが既知であり、実際に受信したブロックのFECパケットの最大のシーケンス番号が「S+s1+s2」であるとする。この場合、受信装置204は、冗長化の階層数を計算するために、先ず「Y=(「S+s1+s2」−S)%s1」を計算する。Yが0の場合、冗長化の階層数は「(「S+s1+s2」−S)/s1」で、Yが0でない場合、冗長化の階層数は「{(「S+s1+s2」−S)/s1}+1」になる。
以上説明したように、本実施例の各中継装置(202,203)は、受信したブロックにおけるパケットロスの有無に応じて、そのブロックの誤り訂正能力を設定する。よって、ブロックの誤り訂正能力を伝送初期の段階で、すなわち送信装置201で、高く設定することは不要となる。これにより、配信データの伝送効率を高めることができる。また、伝送中のネットワーク品質の変動にも動的に対処できる。
≪実施の形態2≫
上記実施形態の各中継装置(202,203)は、受信したブロックにパケットロスが発生した場合に、そのブロックにFECパケットを追加したが、これに替えて、送信リンクの通信品質に応じてFECパケットを追加するように制御してもよい。この制御を実現するためには、各中継装置(202,203)の構成を以下のように変更すればよい。
上記実施形態の各中継装置(202,203)は、受信したブロックにパケットロスが発生した場合に、そのブロックにFECパケットを追加したが、これに替えて、送信リンクの通信品質に応じてFECパケットを追加するように制御してもよい。この制御を実現するためには、各中継装置(202,203)の構成を以下のように変更すればよい。
図6に示す中継装置202のFEC符号化部202bにおいて、パケットロス検出部202b5を省略し、また、FECパケット受信部202b1を直接FECパケット送信部202b6と連携させる。つまり、FECパケット受信部202b1が、1ブロック分のパケット群を受信したと判定したとき、その旨をFECパケット送信部202b6に通知する。また、FECパケット送信部202b6に、送信リンクの通信品質を推定する機能を追加する。そして、品質の推定結果をもとに、FEC冗長度を向上すべきか否かを判断する。
図14に示すシーケンスを参照して、本実施形態の動作を説明する。なお、図示のシーケンスのうち、送信装置201及び受信装置204の動作(ステップS11,S17,S18)は、図8に沿って説明した前述の動作(ステップS1,S7,S8)と同様であり、以下では説明を省略する。
第1の中継装置202は、送信装置201から1ブロック分のパケット群を受信すると、送信リンクであるリンク102の通信品質を推定する(ステップS12)。この推定は、ブロックを受信したときに限らず、定期的に行ってもよい。中継装置202は、推定した品質値に基づいて、送信リンク(102)におけるパケットロスの可能性を判断する。例えば、送信リンク(102)の品質推定値が基準値より低い場合、そのリンクにてパケットロスが発生する可能性があると判断する。
上記判断の結果、パケットロスが発生する可能性がある場合(ステップS13:YES)、中継装置202は、送信装置201から受信したブロックにFECパケットを追加し、それを中継装置203へ転送する(ステップS14)。また、リンク102でのパケットロスの可能性が無いと判定した場合は(ステップS13:NO)、送信装置201からのブロックをそのまま中継装置203へ転送する(ステップS15)。
中継装置203は、中継装置202からリンク102を介してブロックを受信すると、リンク103を送信リンクとみなして、受信したブロックに対し、中継装置202における前述の処理(B)と同様な処理を行う(ステップS16)。
このように、図14の実施形態は、各中継装置(202,203)が、送信リンクの通信品質に応じてブロックの冗長度を高めるか否かを判断することから、送信リンクの品質が受信リンクのそれよりも大幅に劣化した場合にも対処できる。
なお、本実施形態は、図8により説明した前述の実施形態と組み合わせてもよい。このとき、中継装置202は、受信リンク(101)からのブロックにパケットロスは無いが、そのブロックの転送に用いるリンク(102)の品質が劣化していると判断した場合、そのブロックにFECパケットを追加する。また、逆に、送信リンク(102)の品質が適切である状況において、受信ブロックにパケットロスが発生している場合は、そのブロックにFECパケットを追加せず転送する。これにより、ブロックの誤り訂正能力を適応的に強化することができる。
Claims (35)
- ブロックを成すパケット群をストリーミング配信により授受する送信装置および受信装置と、前記送信装置および受信装置間のストリーミング配信を中継する複数の中継装置とを備え、
前記送信装置は、配信データの誤り訂正符号を記述した符号パケットを生成する符号化部と、前記配信データを記述したメディアパケットおよび前記符号パケットを含むブロックを送信する送信部とを有し、
前記各中継装置は、受信したブロックのうちパケットロスに関する所定条件に対応するブロックを検知し且つ検知したブロックの誤り訂正符号を記述した符号パケットを生成する符号化部と、前記符号パケットを前記受信したブロックに追加して送信する送信部とを有し、
前記受信装置は、受信したブロックに含まれる符号パケットの階層数を算出し且つ各階層の符号パケットを用いて前記受信したブロックに復号処理を施す復号部と、前記復号部の処理結果から配信データを形成するパケット処理部とを有することを特徴とする通信システム。 - 前記各中継装置の符号化部は、前記受信したブロックのパケットロスを検査し、パケットロスが発生したブロックを前記所定条件に対応するブロックとして検知することを特徴とする請求項1記載の通信システム。
- 前記各中継装置の符号化部は、送信リンクの通信品質が基準値を下回る状態において送信するブロックを前記所定条件に対応するブロックとして検知することを特徴とする請求項1又は2記載の通信システム。
- 前記送信装置の符号化部は、符号長Nおよび情報ビット数Kにより規定される誤り訂正符号を、インターリーブ処理したk個(k<K)のメディアパケットに対する多項式G(x)の演算により生成することを特徴とする請求項1乃至3のいずれか1項に記載の通信システム。
- 前記各中継装置の符号化部は、前記受信したブロックに対する前記多項式G(x)の演算により当該ブロックにおけるビット誤りを検査し、ビット誤りが検出された場合に当該ブロックをパケットロスが発生したブロックと認識することを特徴とする請求項4記載の通信システム。
- 前記受信装置の復号部は、前記受信したブロックのメディアパケット数および符号パケット数に基づき該ブロックにおける符号パケットの階層数を算出し、前記階層数を用いた前記多項式G(x)の演算により前記ブロックを外層から内層へ順次的に復号することを特徴とする請求項5記載の通信システム。
- ブロックを成すパケット群をストリーミング配信により送信する送信装置であって、
配信データの誤り訂正符号を記述した符号パケットを生成する符号化部と、前記配信データを記述したメディアパケットおよび前記符号パケットを含むブロックを送信する送信部とを備え、
前記符号化部は、符号長Nおよび情報ビット数Kにより規定される誤り訂正符号を、インターリーブ処理したk個(k<K)のメディアパケットに対する多項式G(x)の演算により生成することを特徴とする送信装置。 - コンピュータを請求項7記載の送信装置として機能させることを特徴とするプログラム。
- ブロックを成すパケット群をストリーミング配信により授受する送信装置および受信装置を中継する中継装置であって、
配信データの誤り訂正符号を記述した符号パケットおよび前記配信データを記述したメディアパケットを含むブロックを受信する受信部と、受信したブロックのうちパケットロスに関する所定条件に対応するブロックを検知し且つ検知したブロックの誤り訂正符号を記述した符号パケットを生成する符号化部と、前記符号パケットを前記受信したブロックに追加して送信する送信部とを備えることを特徴とする中継装置。 - 前記符号化部は、前記受信したブロックのパケットロスを検査し、パケットロスが発生したブロックを前記所定条件に対応するブロックとして検知することを特徴とする請求項9記載の中継装置。
- 前記符号化部は、送信リンクの通信品質が基準値を下回る状態において送信するブロックを前記所定条件に対応するブロックとして検知することを特徴とする請求項9又は10記載の中継装置。
- 前記符号化部は、前記受信したブロックに対する、前記送信装置にて誤り訂正符号の生成に使用された多項式G(x)の演算により、当該ブロックにおけるビット誤りを検査し、ビット誤りが検出された場合に当該ブロックをパケットロスが発生したブロックと認識することを特徴とする請求項9又は10記載の中継装置。
- コンピュータを請求項9乃至12のいずれか1項に記載の中継装置として機能させることを特徴とするプログラム。
- ブロックを成すパケット群を送信装置からのストリーミング配信により受信する受信装置であって、
配信データの誤り訂正符号を記述した符号パケットおよび前記配信データを記述したメディアパケットを含むブロックを受信する受信部と、前記受信したブロックに含まれる符号パケットの階層数を算出し且つ各階層の符号パケットを用いて前記ブロックに復号処理を施す復号部と、前記復号部の処理結果から配信データを形成するパケット処理部とを備えることを特徴とする受信装置。 - 前記復号部は、前記受信したブロックのメディアパケット数および符号パケット数に基づき該ブロックにおける符号パケットの階層数を算出し、前記送信装置にて誤り訂正符号の生成に使用された多項式G(x)の演算を前記階層数を用いて前記受信したブロックに対し行うことにより該ブロックを外層から内層へ順次的に復号することを特徴とする請求項14記載の受信装置。
- コンピュータを請求項14又は15記載の受信装置として機能させることを特徴とするプログラム。
- ブロックを成すパケット群をストリーミング配信により授受する送信装置および受信装置と、前記送信装置および受信装置間のストリーミング配信を中継する複数の中継装置とを備えるシステムにおいて、
前記送信装置が、配信データの誤り訂正符号を記述した符号パケットを生成し、前記配信データを記述したメディアパケットおよび前記符号パケットを含むブロックを送信し、
前記各中継装置が、受信したブロックのうちパケットロスに関する所定条件に対応するブロックを検知し且つ検知したブロックの誤り訂正符号を記述した符号パケットを生成し、前記符号パケットを前記受信したブロックに追加して送信し、
前記受信装置が、受信したブロックに含まれる符号パケットの階層数を算出し且つ各階層の符号パケットを用いて前記受信したブロックに復号処理を施し、前記復号処理の結果から配信データを形成することを特徴とする通信方法。 - 前記各中継装置が、前記受信したブロックのパケットロスを検査し、パケットロスが発生したブロックを前記所定条件に対応するブロックとして検知することを特徴とする請求項17記載の通信方法。
- 前記各中継装置が、送信リンクの通信品質が基準値を下回る状態において送信するブロックを前記所定条件に対応するブロックとして検知することを特徴とする請求項17又は18記載の通信方法。
- 前記送信装置が、符号長Nおよび情報ビット数Kにより規定される誤り訂正符号を、インターリーブ処理したk個(k<K)のメディアパケットに対する多項式G(x)の演算により生成することを特徴とする請求項17乃至19のいずれか1項に記載の通信方法。
- 前記各中継装置が、前記受信したブロックに対する前記多項式G(x)の演算により当該ブロックにおけるビット誤りを検査し、ビット誤りが検出された場合に当該ブロックをパケットロスが発生したブロックと認識することを特徴とする請求項20記載の通信方法。
- 前記受信装置が、前記受信したブロックのメディアパケット数および符号パケット数に基づき該ブロックにおける符号パケットの階層数を算出し、前記階層数を用いた前記多項式G(x)の演算により前記ブロックを外層から内層へ順次的に復号することを特徴とする請求項21記載の通信方法。
- 前記送信装置の符号化部は、符号長k+1および情報ビット数kにより規定される誤り訂正符号を、インターリーブ処理したk個のメディアパケットに対する単一パリティ演算(XOR演算)により生成することを特徴とする請求項1乃至3のいずれか1項に記載の通信システム。
- 前記各中継装置の符号化部は、前記受信したブロックにおけるパケット数を検査し、パケット数がk+1未満の場合に当該ブロックをパケットロスが発生したブロックと認識し、且つ、パケット数がkの場合に当該ブロックの誤り訂正符号を記述した符号パケットを生成することを特徴とする請求項23記載の通信システム。
- 前記受信装置の復号部は、前記受信したブロックのメディアパケット数および符号パケット数に基づき該ブロックにおける符号パケットの階層数を算出し、前記階層数を用いた単一パリティ演算(XOR演算)により前記ブロックを外層から内層へ順次的に復号することを特徴とする請求項24記載の通信システム。
- ブロックを成すパケット群をストリーミング配信により送信する送信装置であって、配信データの誤り訂正符号を記述した符号パケットを生成する符号化部と、前記配信データを記述したメディアパケットおよび前記符号パケットを含むブロックを送信する送信部とを備え、
前記符号化部は、符号長k+1および情報ビット数kにより規定される誤り訂正符号を、インターリーブ処理したk個のメディアパケットに対する単一パリティ演算(XOR演算)により生成することを特徴とする送信装置。 - コンピュータを請求項26記載の送信装置として機能させることを特徴とするプログラム。
- 前記符号化部は、前記受信したブロックにおけるパケット数を検査し、パケット数がk+1未満の場合に当該ブロックをパケットロスが発生したブロックと認識し、且つ、パケット数がkの場合に当該ブロックの誤り訂正符号を記述した符号パケットを生成することを特徴とする請求項9乃至11記載のいずれか1項に記載の中継装置。
- コンピュータを請求項28に記載の中継装置として機能させることを特徴とするプログラム。
- 前記復号部は、前記受信したブロックのメディアパケット数および符号パケット数に基づき該ブロックにおける符号パケットの階層数を算出し、前記階層数を用いて前記ブロックに対し単一パリティ復号(XOR演算)を行うことにより該ブロックを外層から内層へ順次的に復号することを特徴とする請求項14記載の受信装置。
- コンピュータを請求項30記載の受信装置として機能させることを特徴とするプログラム。
- 前記送信装置が、符号長k+1および情報ビット数kにより規定される誤り訂正符号を、インターリーブ処理したk個のメディアパケットに対する単一パリティ演算(XOR演算)により生成することを特徴とする請求項17乃至19のいずれか1項に記載の通信方法。
- 前記各中継装置が、前記受信したブロックにおけるパケット数を検査し、パケット数がk+1未満の場合に当該ブロックをパケットロスが発生したブロックと認識し、且つ、パケット数がkの場合に当該ブロックの誤り訂正符号を記述した符号パケットを生成することを特徴とする請求項32記載の通信方法。
- 前記受信装置が、前記受信したブロックのメディアパケット数および符号パケット数に基づき該ブロックにおける符号パケットの階層数を算出し、前記階層数を用いた単一パリティ演算(XOR演算)により前記ブロックを外層から内層へ順次的に復号することを特徴とする請求項33記載の通信方法。
- 前記受信装置が、前記受信したブロックにおけるパケット数を検査し、パケット数がk+1未満の場合に当該ブロックをパケットロスが発生したブロックと認識し、且つ、パケット数がkでメディアパケット数はkより少ない場合に、前記ブロックを単一パリティ演算(XOR演算)により復号することを特徴とする請求項33記載の通信方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007123421 | 2007-05-08 | ||
JP2007123421 | 2007-05-08 | ||
JP2007230402 | 2007-09-05 | ||
JP2007230402 | 2007-09-05 | ||
PCT/JP2008/057948 WO2008139882A1 (ja) | 2007-05-08 | 2008-04-24 | 通信システムおよび通信方法、並びに、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2008139882A1 true JPWO2008139882A1 (ja) | 2010-07-29 |
Family
ID=40002098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009514080A Withdrawn JPWO2008139882A1 (ja) | 2007-05-08 | 2008-04-24 | 通信システムおよび通信方法、並びに、プログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2008139882A1 (ja) |
WO (1) | WO2008139882A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5204006B2 (ja) * | 2009-02-27 | 2013-06-05 | 株式会社東芝 | データを送信する装置、方法およびプログラム |
US8839078B2 (en) * | 2010-03-05 | 2014-09-16 | Samsung Electronics Co., Ltd. | Application layer FEC framework for WiGig |
JP5711507B2 (ja) * | 2010-11-22 | 2015-04-30 | 日本電信電話株式会社 | データ伝送システム及び方法及び受信装置及びデータ受信方法 |
JP6071501B2 (ja) * | 2012-12-06 | 2017-02-01 | 株式会社東芝 | 中継端末 |
JP5933862B2 (ja) * | 2014-05-21 | 2016-06-15 | 三菱電機株式会社 | 通信システム |
CN110191488B (zh) * | 2019-05-17 | 2022-07-29 | 京信网络系统股份有限公司 | Volte保障传输的方法、装置及系统 |
CN110943800B (zh) * | 2019-11-06 | 2023-04-28 | 厦门亿联网络技术股份有限公司 | 数据包的发送方法、装置及系统、存储介质、电子装置 |
CN115085872B (zh) * | 2022-03-09 | 2024-06-04 | 网易(杭州)网络有限公司 | 数据处理方法及装置、存储介质、电子设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100458878B1 (ko) * | 2002-05-03 | 2004-12-03 | 학교법인 경희대학교 | Fec 코딩 방식에 기초한 가변길이 패킷 송수신 방법 |
JP2004015551A (ja) * | 2002-06-07 | 2004-01-15 | Sumitomo Electric Ind Ltd | 中継装置、中継用プログラム及び自律型誤り訂正ネットワーク |
JP3701956B2 (ja) * | 2003-05-29 | 2005-10-05 | 日本電信電話株式会社 | パケット中継装置及びその方法と、パケット受信装置及びその方法と、パケット中継プログラム及びそのプログラムを記録した記録媒体と、パケット受信プログラム及びそのプログラムを記録した記録媒体 |
WO2005086436A1 (ja) * | 2004-03-03 | 2005-09-15 | Mitsubishi Denki Kabushiki Kaisha | パケット転送装置、パケット転送ネットワークシステム、および、端末装置 |
JP4580278B2 (ja) * | 2005-05-20 | 2010-11-10 | 財団法人エヌエイチケイエンジニアリングサービス | パケット中継装置、コンテンツ送信装置、パケット中継プログラムならびにパケット中継方法 |
-
2008
- 2008-04-24 JP JP2009514080A patent/JPWO2008139882A1/ja not_active Withdrawn
- 2008-04-24 WO PCT/JP2008/057948 patent/WO2008139882A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2008139882A1 (ja) | 2008-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2103026B1 (en) | A method to support forward error correction for real-time audio and video data over internet protocol networks | |
US10361810B2 (en) | Data packet transmission/reception apparatus and method | |
CN110943800B (zh) | 数据包的发送方法、装置及系统、存储介质、电子装置 | |
JPWO2008139882A1 (ja) | 通信システムおよび通信方法、並びに、プログラム | |
JP3798387B2 (ja) | Fec符号化方式に基づいた可変長パケット送信方法及び受信方法 | |
US8365034B2 (en) | Forward error correction (FEC) encoding and decoding method of variable length packet based on three-dimensional storage apparatus | |
US8855145B2 (en) | Jitter buffer | |
JP5409032B2 (ja) | 送信装置、及び、方法、プログラム | |
US8948214B2 (en) | Jitter buffer | |
JP4559126B2 (ja) | 映像送信方法、映像送信装置、映像送信用プログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
CN112751644B (zh) | 数据传输方法、装置及系统、电子设备 | |
US8819513B2 (en) | Lost real-time media packet recovery | |
CN106937134A (zh) | 一种数据传输的编码方法、编码发送装置及系统 | |
US8948213B2 (en) | Jitter buffer | |
US6675340B1 (en) | Forward error correction (FEC) for packetized data networks | |
WO2013010153A1 (en) | Adaptive generation of correction data units | |
CN106571893A (zh) | 一种语音数据的编解码方法 | |
JP6511472B2 (ja) | ブロードキャスティング及び/又は通信システムにおけるパケットの生成及び復元のための方法及び装置 | |
JP2014239285A (ja) | データ伝送装置及び方法 | |
US7020821B2 (en) | Redundant packet telecommunication network system using minimum hamming distances to construct a final estimate of a original codeword | |
JP2017175495A (ja) | 送信装置、受信装置、通信システム、方法およびプログラム | |
JP2004007799A (ja) | データ伝送方法およびデータ処理方法 | |
JP2013118445A (ja) | 通信装置、通信方法、及び通信プログラム | |
JP2013085293A (ja) | インターネットプロトコルネットワークでのリアルタイムのオーディオ及びビデオデータの前方誤り訂正をサポートする方法 | |
JP6071501B2 (ja) | 中継端末 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20101015 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20101015 |
|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20110705 |