(57)【要約】【課題】FEC符号化前に欠落したパケットの影響を受けずにFEC符号化を実現する。【解決手段】２次元FEC方式によるパケット誤り訂正を行なう通信装置において、送信装置のFEC符号化部は、入力するRTPデータを元にFECパケットを生成し、該FECパケットの拡張ヘッダに、RTPデータの１演算単位の内で欠落しているパケット位置をビットパターンで示した拡張マスクを付加してメディアパケット共に送信する。受信装置のFEC復号化部は、ビットパターンがパケット欠落を示していないときは、FECパケットによるメディアパケットの訂正を行い、ビットパターンがパケット欠落を示しているときは当該パケット位置のメディアパケットの訂正を行わずにRTPデータを送信する。【選択図】図４
2009206608.tif 000002
【特許請求の範囲】
【請求項１】
２次元FEC方式によるパケット誤り訂正を行なう通信装置において、
送信装置のFEC符号化部は、入力するRTPデータを元にFECパケットを生成し、該FECパケットの拡張ヘッダに、前記RTPデータの１演算単位の内で欠落しているパケット位置をビットパターンで示した拡張マスクを付加してメディアパケット共に送信し、
受信装置のFEC復号化部は、前記ビットパターンがパケット欠落を示していないときは、前記FECパケットによる前記メディアパケットの訂正を行い、前記ビットパターンがパケット欠落を示しているときは当該パケット位置のメディアパケットの訂正を行わずにRTPデータを送信することを特徴とする通信装置。
【請求項２】
前記FEC符号化部は、
入力したメディアパケットについてXOR演算を行なうFEC演算部と、
前記XOR演算の結果が前記FEC演算部によって格納されるパケットメモリと、
入力したメディアパケットのシーケンス番号に基づく到着管理情報が前記FEC演算部によって登録される到着管理メモリと、
前記到着管理メモリから読み出した到着管理情報に従ってメディアパケットの送信を行うメディアパケット送信制御部と、
前記パケットメモリからリードしたXOR演算結果と前記FEC演算部からの到着管理情報を元に前記拡張マスクが付加されたFECパケットを生成し、前記メディアパケット送信制御部の送信状態を監視しながら送信するFECパケット送信制御部とを有することを特徴とする請求項１記載の通信装置。
【請求項３】
前記FEC復号化部は、
受信したメディアパケットとFECパケットとでXOR演算を行なうFEC訂正部と、
前記XOR演算の結果が前記FEC演算部によって格納されるパケットメモリと、
受信したメディアパケットのシーケンス番号に基づく到着管理情報が前記FEC訂正部によって登録される到着管理メモリとを有し、
前記FEC訂正部は、前記FECパケット受信時に前記到着管理メモリから読み出した到着管理情報により（符号化後の）欠落パケットの訂正を行うことを特徴とする請求項１記載の通信装置。
【請求項４】
前記FEC演算部は、
入力したメディアパケットからシーケンス番号を検出するRTPシーケンス番号検出部と、
前記パケットメモリに対する前記FECパケット送信制御部とのアクセス競合時の待ち合わせ用として、受信したメディアパケットをリード完了時までバッファリングして前記メディアパケット送信制御部へ出力するパケットバッファと、
前記パケットバッファにパケット入力が開始されたタイミングで前記パケットメモリから該当するXOR結果をリードするパケットメモリリード部と、
前記パケットバッファからのメディアパケットと、前記パケットメモリリード部が前記パケットメモリから読み出したXOR結果についてXOR演算を実施し、XOR結果をリードしたアドレスと同じアドレスに更新されたXOR結果のライト要求をするXOR演算器と、
前記パケットメモリの前記ライト要求によるアドレスに更新されたXOR結果をライトするパケットメモリライト部と、
前記シーケンス番号を元に前記到着管理メモリを更新し、また、演算単位毎に前記到着管理メモリの初期化と基底シーケンス番号を更新し、該基底シーケンス番号を到着管理情報として前記FECパケット送信制御部へ通知し、更に前記演算単位を前記パケットバッファに通知する到着管理メモリ更新部とを有することを特徴とする請求項２記載の通信装置。
【請求項５】
前記到着管理メモリ更新部は、所定の時間が経過すると前記到着管理メモリ更新部に対してタイムアウト通知を行うタイマを、前記受信したシーケンス番号を通知されたタイミングでリセットし、送信要求を前記FECパケット送信制御部へ通知することを特徴とする請求項４記載の通信装置。
【請求項６】
前記FEC訂正部は、
受信したメディアパケットからシーケンス番号を検出するRTPシーケンス番号検出部と、
前記受信したメディアパケットをバッファリングするパケットバッファと、
前記パケットバッファにパケット入力が開始されたタイミングで前記パケットメモリから該当するXOR結果をリードするパケットメモリリード部と、
前記パケットバッファからのメディアパケットと、前記パケットメモリリード部が前記パケットメモリから読み出したXOR結果についてXOR演算を実施し、XOR結果をリードしたアドレスと同じアドレスに更新されたXOR結果のライト要求をするXOR演算器と、
前記パケットメモリの前記ライト要求によるアドレスに更新されたXOR結果をライトするパケットメモリライト部と、
前記シーケンス番号を元に前記到着管理メモリを更新し、また、演算単位毎に前記到着管理メモリの初期化と基底シーケンス番号を更新し、更に前記演算単位を前記パケットバッファに通知する到着管理メモリ更新部と、
受信したFECパケットの本体は前記パケットバッファに格納すると共に前記FECヘッダより拡張マスクフィールドを検出するFEC拡張マスク検出部と、
前記拡張マスクフィールドのビットを反転するNOT演算器と、
前記到着管理メモリからリードしたシーケンス番号によるビットパターンと前記NOT演算器の出力とをOR演算するOR演算器と、
前記到着管理メモリ更新部からパケット欠落検出が通知されると前記XOR演算器からのXOR結果を抽出することで、欠落したメディアパケットを訂正（再生成）するパケット訂正部とを有し、
前記到着管理メモリ更新部は、前記OR演算結果のビットパターンがオール1なら符号化後のパケット欠落はなかったと判断する一方、前記OR演算結果のビットパターンに1ビット抜けを検出した場合には、当該パケットの欠落を前記パケット訂正部へ通知することを特徴とする請求項３記載の通信装置。
【請求項７】
前記FEC演算部は、
プロセッサとパケット受信インタフェースとプログラムやデータが格納されているROMとRAMとパケット送信インタフェースをプロセッサ用バスで接続された構成とし、
前記RAMは、前記パケットバッファと前記パケットメモリと前記到着管理メモリを含み、
入力されたメディアデータは、前記受信インタフェースからDMA転送機能により、前記プロセッサを介さずに前記パケットバッファへ転送され、転送完了後に前記パケット受信インタフェースからプロセッサへ割り込み通知を行うことで前記プロセッサにパケット受信を通知し、
前記プロセッサは、前記割り込み通知を受けると、前記XOR演算，前記FECパケットの生成および前記パケット送信インタフェースからの前記メディアデータと前記FECパケットの送信を行うためのプログラムを実行することを特徴とする請求項２記載の通信装置。
【請求項８】
前記FEC訂正部は、
プロセッサとパケット受信インタフェースとプログラムやデータが格納されているROMと更新処理に必要な各種値と受信パケット格納するRAMとパケット送信インタフェースをプロセッサ用バスで接続された構成とし、
前記RAMは、前記受信したメディアパケットをバッファリングするパケットバッファと前記パケットメモリと前記到着管理メモリを含み、
入力されたメディアデータは、前記受信インタフェースからDMA転送機能により、前記プロセッサを介さずに前記RAMのパケットバッファへ転送され、転送完了後に前記パケット受信インタフェースからプロセッサへ割り込み通知を行うことで前記プロセッサにパケット受信を通知し、
前記プロセッサは、前記割り込み通知を受けると、前記XOR演算，前記欠落パケットの訂正処理および前記パケット送信インタフェースによる前記訂正済みメディアパケットの送信を行うためのプログラムを実行することを特徴とする請求項３記載の通信装置。
【請求項９】
前記到着管理メモリは、
Blockシーケンス番号で定まる１演算単位（Block）におけるColumnFEC数をＬ、RowFEC数をＤとしたとき、（パケットシーケンス番号−Blockシーケンス番号）÷Ｌの商をビット位置、剰余をアドレス位置とするColumnFEC用到着管理メモリと、
（パケットシーケンス番号−Blockシーケンス番号）÷Ｄの商をアドレス位置、剰余をビット位置とするRowFEC用到着管理メモリとで構成されることを特徴とする請求項１〜８記載の通信装置。
【請求項１０】
前記到着管理メモリは、受信したパケットのシーケンス番号を現に登録中の登録面と、前Blockシーケンス番号で定まる演算単位（Block）のシーケンス番号を登録済みの削除面とを設け、現に受信中のBlockの１Blockのパケットを受信したときは、前記登録面と前記削除面とを入れ換えることを特徴とする請求項１〜８記載の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、特に、２次元FEC(Forward Error Correction)方式を採用したパケット誤り訂正において、符号化前のパケット欠落を想定した場合に好適な通信装置に関する。なお、以下の記載はRTPパケットを前提としているが、FEC制御に必要な情報（シーケンス番号、タイムスタンプ）を備えるプロトコルであれば、RTPに限らず本発明を適用可能である。
【背景技術】
【０００２】
パケットをネットワークに送信するときに、中継装置内の優先制御による廃棄や、伝送路上のビット誤りなどの影響により、パケットが正しく受信装置宛に到達できないことがある。TCP(Transmission Control Protocol)による通信の場合は、このようなパケット抜けに対し再送制御を行うことで対応できるが、UDP(User Datagram Protocol)による通信の場合は、再送制御の仕組みが存在しないため、受信装置でパケット抜けを訂正することができない。
【０００３】
一方、音声や映像データなどはリアルタイム性が求められるため、UDPによる通信をベースにRTP(Real Time Protocol)にてパケットを送信している(RFC2250、RFC3550参照)。このRTPによる通信時の誤り訂正の方法の一つとして、FECが知られている(RFC2733参照)。一般的なFEC制御として、パリティFECと呼ばれる方法で各パケット同士のXOR演算を冗長パケットとして送信する技術が挙げられる。
【０００４】
図１６に映像伝送を例とした一般的なFECパケット終端ネットワークモデルを示す。ビデオカメラ３３から入力される映像信号を送信装置１内のFEC符号化部３でRTPパケット化してネットワークに送信し、受信装置２で映像信号を再生しモニタ３４にて視聴するイメージ図である。図１６の送信装置１内のFEC符号化部３にてFECパケットを生成している。
【０００５】
図１７はFEC演算方法を示している。送信装置１でPacket-A、Packet-B、Packet-Cの各メディアパケットを送信する際に、各メディアパケットをビット単位でXOR演算を行う。その結果をFECパケットとして生成し、図１８に示すFECヘッダを追加してネットワークへ送信する。図１７では、ネットワーク上にてPacket-Bが消失したケースを例示している。この時、受信装置２で受信する各メディアパケットと、冗長パケットであるFECパケットそれぞれでXOR演算を行う。その結果、ネットワーク上で消失したPacket-Bを訂正（再生成）することができる。
【０００６】
以下に図１８のFECヘッダを説明する。基底シーケンス番号フィールドは、FEC演算対象パケットの最小シーケンス番号である。これは、RTPヘッダ内に設定されるシーケンス番号値を指す。回復パケット長フィールドは、消失したパケットのパケット長を再生する。Eフィールドはヘッダ拡張の有無を示す。回復パケット長のパイロードタイプフィールドは消失したパケットのペイロードタイプを示す。これは、RTPヘッダ内に設定されるペイロードタイプフィールドを指す。マスクフィールドは、基底シーケンス番号以降でFEC演算を構成されるRTPパケットのシーケンス番号を示すビットマスクである。例えば、基底シーケンス番号=N、iビットが1の場合、（N+i）のRTPヘッダ内シーケンス番号のパケットがFEC演算対象であることを示す。回復パケットのタイムスタンプフィールドは、消失したパケットのタイムスタンプを再生する。これは、RTPヘッダ内に設定されるタイムスタンプフィールドを示す。
【０００７】
ところで、FECヘッダには、Pro-MPEGフォーラムの“Code of Practice”の文献にFECヘッダの拡張が規定されており、図１９示すような２次元のパケット誤り訂正による高い訂正率が実現されている。具体的には、図２０に示すようにE=1として、図１８のFECヘッダを拡張し、Offsetフィールドに横(Column)方向の値を示すL値が設定され、NAフィールドに縦(Row)方向の値を示すD値が設定される。
【０００８】
これらの値により、２次元方向へそれぞれXOR演算を行うことで、ColumnFECパケットとRowFECパケットを生成する。Dフィールドによって、FECパケットの演算方向を示す。D=0であれば、ColumnFECパケット、D=1であれば、RowFECパケットであることを示す。Pro-MPEGフォーラムの規定によれば、COP3方式であれば、L、Dそれぞれ20以下という仕様であり、COP4方式であれば、L値については255以下まで拡張される。また、FECヘッダの内マスクフィールドは未使用とし、マスク=0を設定される仕様である。
【０００９】
図２２に、３行５列のメディアパケットとFECパケットの演算イメージ（Ａ）と送信順序イメージ（Ｂ）を示す。RowFECパケットについては、FEC演算単位の先頭であるメディアパケット（以下、BlockSNと定義）0からメディアパケット4を送信後に、RowFECパケット0を送信している。また、ColumnFECパケットについては、１FEC演算ブロック送信後、つまり、メディアパケット0〜メディアパケット14を送信後に送信が開始される。
【００１０】
前述の２次元のパケット誤り訂正方式を採用して損失パケットの再構成を行う技術を記載した文献として、例えば特許文献１を挙げることができる。この文献で記載されている損失パケットの再構成方法は、送信されるパケットをD行及びL列のパケット行列に構成するステップと、行列の各行及び各列に誤り訂正関数を適用し、その結果は、誤り訂正関数が適用されるそれぞれの行及び列での少なくとも１つの損失パケットの再構成を可能にする訂正パケットであるステップと、データパケットに加えて結果の誤りパケットを送信するステップとを有する。
【００１１】
【特許文献１】特表２００７−５０９５５７（第１０頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【００１２】
ところで、現在は、通信形態の多様化から、図１６に示したFECパケット終端ネットワークモデルの発展モデルとして、図２１に示すようなネットワーク形態も構成されている。これは、FEC機能を持たない複数の映像出力装置（RTPパケット送信装置２５）をLAN内で接続し、中継送信装置２３にて各RTPパケット送信装置２５からのRTPパケットにFECパケットを追加することで、WAN内のパケット消失を救済するシステムである。受信側も同様に中継受信装置２４にて、複数のRTPフロー毎にFEC復号化を行い、RTPパケット再生装置２８が接続されているLANへとRTPパケットを送信する。図１６のビデオカメラ３３＋RTPデータ生成部１７の機能が、RTPパケット送信装置２５であり、モニタ３４＋RTPデータ再生部２１の機能がRTPパケット再生装置２８である。
【００１３】
前述のように、Pro-MPEGフォーラムで規定されている１次元または２次元FEC演算方式を実現させる場合、マスクフィールド=0という仕様制限であるため、現在の技術ではFEC符号化部３に入力される前に、メディアパケットが消失すると正しくFEC演算処理を行うことができないという問題点がある。
【００１４】
特に、図２１に示したようなネットワークモデルでは、RTPパケット（メディアパケット）の生成とFECパケットの生成が同一装置内ではないため、例えば、LAN２６内でパケット廃棄が発生する可能性が考えられる。仮にマスクフィールドを使用するとしても、ビット幅が24ビットに制限されるため、Pro-MPEGフォーラムで規定されているCOP4方式の符号化には対応できない。
【００１５】
同様なケースとして、RTPパケット送信装置２５の再立ち上げ時などはRTPヘッダ内のシーケンス番号が前パケットのシーケンス番号から継続で付与されないため、前後のメディアパケットに対するFEC演算を正しく実行できない。
【００１６】
なお、特許文献１は送信中の損失パケットの再構成を記載したまでであって、送信装置における符号化前におけるパケットの消失に関する言及は無い。
【００１７】
そこで、本発明の目的は、FEC符号化前のパケット欠落に対応したFEC機能を実現するパケット誤り訂正装置およびパケット誤り訂正方法を提供することにある。
【課題を解決するための手段】
【００１８】
本発明の通信装置は、２次元FEC方式によるパケット誤り訂正を行なう通信装置において、送信装置のFEC符号化部（図１の３）は、入力するRTPデータを元にFECパケットを生成し、該FECパケットの拡張ヘッダに、RTPデータの１演算単位の内で欠落しているパケット位置をビットパターンで示した拡張マスクを付加してメディアパケット共に送信し、受信装置のFEC復号化部（図２の１１）は、ビットパターンがパケット欠落を示していないときは、FECパケットによるメディアパケットの訂正を行い、ビットパターンがパケット欠落を示しているときは当該パケット位置のメディアパケットの訂正を行わずにRTPデータを送信することを特徴とする。
【００１９】
詳しくは、FEC符号化部（図１の３）は、入力したメディアパケットについてXOR演算を行なうFEC演算部（図１の５）と、XOR演算の結果がFEC演算部によって格納されるパケットメモリ（図１の７）と、入力したメディアパケットのシーケンス番号に基づく到着管理情報がFEC演算部によって登録される到着管理メモリ（図１の４０）と、到着管理メモリから読み出した到着管理情報に従ってメディアパケットの送信を行うメディアパケット送信制御部（図１の８）と、パケットメモリからリードしたXOR演算結果とFEC演算部からの到着管理情報を元に拡張マスクが付加されたFECパケットを生成し、メディアパケット送信制御部の送信状態を監視しながら送信するFECパケット送信制御部（図１の９）とを有することを特徴とする。
【００２０】
また、FEC復号化部（図２の１１）は、受信したメディアパケットとFECパケットとでXOR演算を行なうFEC訂正部（図２の１５）と、XOR演算の結果がFEC演算部によって格納されるパケットメモリ（図２の７Ａ）と、受信したメディアパケットのシーケンス番号に基づく到着管理情報がFEC訂正部によって登録される到着管理メモリと（図２の４０Ａ）を有し、FEC訂正部は、FECパケット受信時に到着管理メモリから読み出した到着管理情報により（符号化後の）欠落パケットの訂正を行う。
【００２１】
更に詳しくは、FEC演算部（図１，図３の５）は、入力したメディアパケットからシーケンス番号を検出するRTPシーケンス番号検出部（図３の５０）と、パケットメモリに対するFECパケット送信制御部とのアクセス競合時の待ち合わせ用として、受信したメディアパケットをリード完了時までバッファリングしてメディアパケット送信制御部へ出力するパケットバッファ（図３の５１）と、パケットバッファにパケット入力が開始されたタイミングでパケットメモリから該当するXOR結果をリードするパケットメモリリード部（図３の５２）と、パケットバッファからのメディアパケットと、パケットメモリリード部がパケットメモリから読み出したXOR結果についてXOR演算を実施し、XOR結果をリードしたアドレスと同じアドレスに更新されたXOR結果のライト要求をするXOR演算器（図３の５３）と、パケットメモリのライト要求によるアドレスに更新されたXOR結果をライトするパケットメモリライト部（図３の５４）と、シーケンス番号を元に到着管理メモリを更新し、また、演算単位毎に到着管理メモリの初期化と基底シーケンス番号を更新し、該基底シーケンス番号を到着管理情報としてFECパケット送信制御部へ通知し、更に演算単位を前記パケットバッファに通知する到着管理メモリ更新部（図３の５５）とを有する。
【００２２】
また、FEC訂正部（図２，図４の１５）は、受信したメディアパケットからシーケンス番号を検出するRTPシーケンス番号検出部（図４の６１）と、受信したメディアパケットをバッファリングするパケットバッファ（図４の５１Ａ）と、パケットバッファにパケット入力が開始されたタイミングでパケットメモリから該当するXOR結果をリードするパケットメモリリード部（図４の５２Ａ）と、パケットバッファからのメディアパケットと、パケットメモリリード部がパケットメモリから読み出したXOR結果についてXOR演算を実施し、XOR結果をリードしたアドレスと同じアドレスに更新されたXOR結果のライト要求をするXOR演算器（図４の５３Ａ）と、パケットメモリのライト要求によるアドレスに更新されたXOR結果をライトするパケットメモリライト部（図４の５４Ａ）と、シーケンス番号を元に到着管理メモリを更新し、また、演算単位毎に到着管理メモリの初期化と基底シーケンス番号を更新し、更に演算単位をパケットバッファに通知する到着管理メモリ更新部（図４の５５Ａ）と、受信したFECパケットの本体はパケットバッファに格納すると共にFECヘッダより拡張マスクフィールドを検出するFEC拡張マスク検出部（図４の６１）と、拡張マスクフィールドのビットを反転するNOT演算器（図４の６２）と、到着管理メモリからリードしたシーケンス番号によるビットパターンとNOT演算器の出力とをOR演算するOR演算器（図４の６３）と、到着管理メモリ更新部からパケット欠落検出が通知されるとXOR演算器からのXOR結果を抽出することで、欠落したメディアパケットを訂正（再生成）するパケット訂正部（図４の６４）とを有し、到着管理メモリ更新部は、OR演算結果のビットパターンがオール1なら符号化後のパケット欠落はなかったと判断する一方、OR演算結果のビットパターンに1ビット抜けを検出した場合には、当該パケットの欠落をパケット訂正部へ通知する。
【００２３】
本発明では、Pro-MPEGフォーラムで規定されているFEC拡張ヘッダのXフィールドを設定する。X=1が設定されると更なる追加ヘッダが拡張可能となる。図５では３２バイトの拡張マスクフィールドを独自拡張している。
【００２４】
この拡張マスクフィールドによってFEC演算対象を指定する。手段はFECヘッダのマスクフィールドと同じで、例えば、基底シーケンス番号=N、iビットが1の場合、（N+i）のRTPヘッダ内シーケンス番号のパケットがFEC演算対象であることを示す。拡張マスクフィールドを32バイト分確保すれば、Pro-MPEGフォーラムで規定されているCOP4方式のL≦255まで対応することができる。
【００２５】
図２２（Ａ）の演算イメージでR0のRowFECパケットの例で拡張マスクフィールドの働きを説明する。R0の基底シーケンス番号は0である。L=5であるので、拡張マスクフィールドの内、5bit分を到着管理に使用する。ここで、シーケンス番号=3のパケットが欠落した場合、ビットの並びは、11101となる。よって、送信側は拡張マスクフィールドに11101を設定し、FECパケットを送信する。
【００２６】
一方、受信側ではシーケンス番号3を除くメディアパケットに対してXOR演算を実施した後に、R0のRowFECパケットを受信する。本来ならば、シーケンス番号3のメディアパケットがFEC符号化前に欠落したのか、FEC符号化後のネットワーク内で欠落したのか特定不可能であったが、拡張シーケンス番号を受信側で参照することにより、シーケンス番号3のメディアパケットがFEC符号化前に欠落したものであると特定可能となる。
【発明の効果】
【００２７】
本発明により、FECヘッダ内に演算対象シーケンス番号を示して送信し、受信側では、そのシーケンス番号のパケットを除外してFEC符号化後の欠落パケットの訂正をする構成としたため、FEC符号化前に欠落したパケットの影響を受けずにFEC符号化を実現することが可能となった。
【発明を実施するための最良の形態】
【００２８】
次に、本発明の実施の形態について図面を参照して詳細に説明する。先ず、本発明が適用される一般的な通信システムについて説明する。
【００２９】
図１６は映像伝送を例としたFECパケット終端ネットワークモデルを示す。送信装置１内において、RTPデータ生成部１７はビデオカメラ３３から入力される映像信号をRTPパケット化し、FEC符号化部３はRTPデータを元にFECパケットを生成する。通常パケット送信部１８は、本発明で言及するRTPパケット以外の通常パケットを送信する。送信切替部１９は、FEC符号化部３からのRTPパケットと通常パケット送信部１８からの通常パケットの多重化を行うための調停動作を行う。多重化されたパケットはネットワークを経由して受信装置２へ送信される。
【００３０】
受信装置２において、受信切替部２０はRTPパケットと通常パケットをセレクトする。FEC復号化部１１は、受信したRTPパケット（メディアパケット、FECパケット）から欠落パケットの訂正処理を行い、RTP化された音声・映像データを抜き出す。RTP再生部２１は、RTP仕様に基づいて、リアルタイムデータの再生を行う。再生された映像信号はモニタ３４にて視聴される。通常パケット受信部２２は通常パケットを受信する。
【００３１】
図２１は、図１６のFECパケット終端ネットワークモデルに対し、通信形態の多様化に対処したFECパケット中継ネットワークモデルを示す。図２１において、複数のRTPパケット送信装置２５で生成されたRTPパケットがLAN内のL2SW２６によりスイッチングされて中継送信装置２３に入力される。このRTPパケットは、L2SW２６等において欠落が生じ得る。中継送信装置２３は、RTPパケットに対して、FEC演算処理を実施し冗長パケット生成することによって、WAN間通信の信頼性で付加価値を実現する装置である。
【００３２】
中継受信装置２３のフロー判定部２７は、複数のRTPパケット送信装置２５に対応する複数のRTPフローの識別処理を行う。具体例としては、RTPフローの送信元IPアドレスによって複数のRTPパケット送信装置２５の識別が可能である。フロー判定部２７で、識別されたフローそれぞれをFEC符号化部３に入力する。RTPフロー毎に独立してFEC符号化処理が必要であるため、フロー判定部２７にて識別可能なフロー分のFEC符号化部３が必要である。FEC符号化部３にて、FEC演算を実施し、到着パケットの管理を行い、FECパケットの生成を行い、送信多重部１０へ出力する。送信多重部１０では、複数のFEC符号化部３からの送信調停を行い、WANにパケットを送信する。
【００３３】
一方、中継受信装置２４は、WANからのパケットを受信し、中継送信装置２３と同じくフロー判定部２７ＡにてRTPフロー識別を行い、FEC復号化部１１へ入力する。FEC復号化部１１では、RTPフロー毎に独立してFEC復号化処理を行う。このとき、本発明で追加されたFEC拡張ヘッダにより、FEC符号化前のパケット欠落を認識する。受信したメディアパケットと復号化により訂正されたメディアパケットは送信多重部１０Ａへ出力され、調停処理後にL2SW２６ＡにてスイッチングされてRTPパケット再生装置２８へ到達する。
【実施例１】
【００３４】
［構成の説明］
図５は、本発明における符号（FEC演算）対象FECヘッダのフォーマットを示す。図５を参照すると、Pro-MPEGフォーラムで規定されているFEC拡張ヘッダのXフィールドに１が設定されている。このように、X=1が設定されると、更なる追加ヘッダが拡張可能となり、図５では拡張マスク0〜7により、32バイトの拡張マスクフィールドを独自拡張している。
【００３５】
この拡張マスクフィールドによってFEC演算対象を指定する。そのための手段はFECヘッダのマスクフィールドと同じで、例えば、基底シーケンス番号=N、iビットが1の場合、（N+i）のRTPヘッダ内シーケンス番号のパケットがFEC演算対象であることを示す。拡張マスクフィールドを３２バイト分確保することで、Pro-MPEGフォーラムで規定されているCOP4方式のL≦255まで対応することができる。
【００３６】
図１は、図２１に示したFEC符号化部３の本発明による構成例を示す。FEC符号化部３は、RTPデータ受信部４，FEC演算部５，パケットメモリ７，メディアパケット送信制御部８，FECパケット送信制御部９，送信多重部１０および到着管理メモリ４０から構成されている。
【００３７】
RTPデータ受信部４は、フロー判定部２７（図２１）から出力されるRTPパケット（FEC符号化されておらず、以下「メディアパケット」と記す）を入力し、FEC演算部５の処理状態を監視して、受信可能となるタイミングでFEC演算部５へ入力させる。FEC演算部５は、受信したメディアパケットについてXOR演算を行なうが、そのために、受信したメディアパケットのRTPヘッダのシーケンス番号に基づく到着管理情報を到着管理メモリ４０に登録する。この詳細は後述する。また、パケットメモリ７はFEC演算部５による演算結果を格納する。
【００３８】
FEC演算部５は、XOR演算を実施するために、パケットメモリ７よりXOR結果をリードし、受信したメディアパケットのペイロード部とのXOR演算を実施後、再びパケットメモリ７へ書き戻す。このXOR演算において、符号化前の欠落パケットは当然に除外される。
【００３９】
FEC演算部５は、受信したメディアパケットをメディアパケット送信制御部８へ出力する。また、最終パケットの受信後、タイマ監視を行い、一定時間後続パケットを受信しない場合には、FECパケット送信制御部９に送信要求と到着管理情報を発行することで、FECパケットのみが送信されなくなる状態を防ぐ。
【００４０】
メディアパケット送信制御部８は、送信多重部１０の調停処理に従って、また、到着管理メモリ４０から読み出した到着管理情報に従って、図２２（Ｂ）に例示したような順序でメディアパケットの送信を行う。
【００４１】
一方、FECパケット送信制御部９は、パケットメモリ７からリードした演算結果とFEC演算部５からの到着管理情報を元に図５に示したFECヘッダから成るFECパケットを生成する。ここで、拡張マスクには、受信したメディアパケットに対応ビットには1、欠落した生成したメディアパケットに対応ビットには0が付される。FECパケット送信制御部９は、メディアパケット送信制御部８の送信状態を監視しながら、図２２（Ｂ）に示した送信順序に従いFECパケットを送信する。尚、FECパケット送信の際は、メディアパケット送信制御部８と同じく、送信多重部１０の調停処理に従う。
【００４２】
図２は、図２１に示したFEC復号化部１１の本発明による構成例を示す。FEC復号化部１１は、RTPパケット受信部１２，FEC訂正部１５，RTPデータ送信部１６，パケットメモリ７Ａおよび到着管理メモリ４０Ａから構成されている。
【００４３】
RTPパケット受信部１２は、フロー判定部２７Ａ（図２１）から出力されるメディアパケットおよびFECパケットを受信する。FEC訂正部１５は、到着管理メモリ４０Ａに対し、受信したメディアパケットのRTPヘッダのシーケンス番号に基づく到着管理情報を登録する。
【００４４】
また、FEC訂正部１５は、FEC演算部５と同様に、パケットメモリ７Ａから読み出した演算結果とメディアパケットとでFEC演算処理を行い、XOR結果をパケットメモリ７Ａに格納する。また、FECパケット受信時に、必要に応じて、到着管理メモリ４０Ａから読み出した到着管理情報により（符号化後の）欠落パケットの訂正を行う。欠落パケットは、到着管理情報により検出できる。FEC演算が完了したメディアパケットと訂正処理で生成されたメディアパケットは、RTPデータとしてRTPデータ送信部１６へ出力される。FEC演算が完了したFECパケットはFEC訂正部１５にて廃棄される。
【００４５】
図３は、図１に示したFEC演算部５の回路構成を示す。FEC演算部５は、RTPシーケンス番号検出部５０，パケットバッファ５１，パケットメモリリード部５２，XOR演算器５３，パケットメモリライト部５４，到着管理メモリ更新部５５およびタイマ５６で構成されている。
【００４６】
RTPシーケンス番号検出部５０は、RTPデータ受信部４（図１）が受信したメディアパケットからRTPシーケンス番号を検出する。検出したシーケンス番号は到着管理メモリ更新部５５に通知し、メディアパケットはパケットバッファ５１に格納する。
【００４７】
図１で示したとおり、パケットメモリ７はFECパケット送信制御部９からもアクセスされるので、パケットバッファ５１をアクセス競合時の待ち合わせ用として、リード完了時までメディアパケットをバッファリングする。パケットバッファ５１にパケット入力が開始されたタイミングでパケットメモリリード部５２にリード要求が通知される。パケットメモリリード部５２はパケットメモリ７から、該当するXOR結果をリードする。
【００４８】
XOR結果のリードに合わせて、パケットバッファ５１からメディアパケットをリードし、メディアパケット送信制御部８へ出力すると同時に、XOR演算器５３にも出力する。出力は到着管理メモリ更新部５５からパケットバッファ５１に出力されるL値D値で定められる。
【００４９】
XOR演算器５３は、パケットバッファ５１からのメディアパケットと、パケットメモリリード部５２がパケットメモリ７から読み出したFEC演算結果についてXOR演算を実施し、パケットメモリライト部５４へライト要求する。パケットメモリライト部５４は、XOR結果をリードしたアドレスと同じアドレスに更新されたXOR結果をライトする。ここで、パケットメモリ７へのアクセス調停権は、パケットメモリライト部５４へのライト完了時まで有効であるものとするため、パケットメモリライト部５４にはパケットバッファ５１相当のメモリは不要である。
【００５０】
一方、到着管理メモリ更新部５５は、RTPシーケンス番号検出部５０から通知されたシーケンス番号を元に、到着管理メモリ４０を更新（詳細は後述）する。また、L、Dそれぞれの演算値を満たす場合においては、到着管理メモリ４０の初期化と基底シーケンス番号（SN）を更新し、基底シーケンス番号を到着管理情報としてFECパケット送信制御部９へ通知する。
【００５１】
到着管理メモリ更新部５５は、RTPシーケンス番号検出部５０からシーケンス番号を通知されたタイミングでタイマ５６へリセットを通知する。タイマ５６は所定の時間が経過すると、到着管理メモリ更新部５５に対してタイムアウト通知を行う。つまり、一定期間のパケットが受信されない場合はタイムアウトとするのである。このとき、送信要求をFECパケット送信制御部９へ通知する。
【００５２】
図４は、図２に示したFEC訂正部１５の回路構成を示す。FEC訂正部１５は、FEC判定部６０，FEC拡張マスク検出部６１，NOT演算器６２，OR演算器６３，パケット訂正部６４の他、FEC演算部５（図３）におけるのと同様に、RTPシーケンス番号検出部５０Ａ，パケットバッファ５１Ａ，パケットメモリリード部５２Ａ，XOR演算器５３Ａ，パケットメモリライト部５４Ａおよび到着管理メモリ更新部５５Ａを備えている。
【００５３】
FEC判定部６０は、RTPパケット受信部１２（図２）が受信したRTPパケットがメディアパケットであるか、FECパケットであるかの判定をRTPヘッダのPTフィールドにて行う。これは送信装置１と受信装置２でFECパケット用に予め決められた値を使用する。例えば、96という値で通信を開始すれば、PT=96がFECパケットであると判定可能である。
【００５４】
RTPシーケンス番号検出部５０ＡはメディアパケットをFEC判定部６０から入力し、そのシーケンス番号を検出して到着管理メモリ更新部５５Ａへ出力すると共に、メディアパケットをパケットバッファ５１Ａに格納する。パケットバッファ５１Ａにパケット入力が開始されたタイミングでパケットメモリリード部５２Ａにリード要求が通知される。パケットメモリリード部５２Ａはパケットメモリ７Ａから、該当するXOR結果をリードする。
【００５５】
XOR結果のリードに合わせて、パケットバッファ５１Ａからメディアパケットをリードし、RTPデータ送信部１６へ出力すると同時に、XOR演算器５３Ａにも出力する。出力は到着管理メモリ更新部５５Ａから指定されるL値D値で定められる。なお、この出力には、符号化前に欠落したメディアパケットは勿論、符号化後に欠落したメディアパケットも含まれない。図１７の例では、パケットＡとパケットＣは含まれるが、パケットＢは含まれない。
【００５６】
XOR演算器５３Ａは、パケットバッファ５１Ａからのメディアパケットと、パケットメモリリード部５２Ａがパケットメモリ７Ａから読み出したXOR結果についてXOR演算を実施し、パケットメモリライト部５４Ａへライト要求する。パケットメモリライト部５４Ａは、XOR結果をリードしたアドレスと同じアドレスに更新されたXOR結果をライトする。ここで、パケットメモリ７Ａへのアクセス調停権は、パケットメモリライト部５４Ａへのライト完了時まで有効であるものとするため、パケットメモリライト部５４Ａにはパケットバッファ５１Ａ相当のメモリは不要である。
【００５７】
XOR演算器５３Ａは、XOR演算単位の最後に、FEC拡張マスク検出部６１からパケットバッファ５１Ａに入力されているFECパケットと、パケットメモリリード部５２Ａから読み出したXOR結果とでXOR演算を行なう。このXOR結果（これが訂正パケットである）を含めて、XOR演算器５３Ａによる全てのXOR結果はパケット訂正部６４Ａに出力される。
【００５８】
シーケンス番号についても、到着管理メモリ更新部５５Ａにて同様の手順で更新される。ただし、FEC演算部５と異なり、FECパケットの生成処理が不要なので、タイマ５６によるタイムアウト処理と、到着管理情報の通知は不要である。
【００５９】
一方、FECパケットについては、FEC判定部６０からFEC拡張マスク検出部６１に入力される。FEC拡張マスク検出部６１は、FECパケット本体と、図５のFECヘッダより拡張マスクフィールドを検出し出力する。FECパケット本体はメディアパケットと同様に、パケットバッファ５１Ａに格納され、XOR演算器５３ＡにてXOR演算が実施される。しかし、FECパケットはFEC復号化部１１で終端されるパケットであるので、RTPデータ送信部１６へは出力せずに、XOR演算後はパケットバッファ５１Ａにて廃棄する。
【００６０】
到着管理メモリ更新部５５Ａは、RTPシーケンス番号検出部５０Ａからのシーケンス番号に基づく到着管理情報を登録する。また、FEC拡張マスク検出部６１からの拡張マスクは、図６（Ａ）に示すように、NOT演算器６２によりビット反転され、OR演算器６３は、図６（Ｂ）に示すように、到着管理メモリ４０Ａからリードしたシーケンス番号によるビットパターンと、NOT演算器６２の出力とをOR演算する。
【００６１】
到着管理メモリ更新部５５Ａは、このOR演算結果のビットパターンがオール1なら符号化後のパケット欠落はなかったと判断する。一方、OR演算結果のビットパターンに1ビット抜けを検出した場合には、当該パケットの欠落をパケット訂正部６４へ通知する。このパケット欠落は、図１７で示した符号化後のものである。パケット欠落通知後は、到着管理メモリ４０Ａを初期化する。また、ビット抜けが検出されなかった場合にも到着管理メモリ４０Ａを初期化する。
【００６２】
パケット訂正部６４は、（符号化後の）パケット欠落検出が通知されると、XOR演算器５３ＡからのXOR結果を抽出することで、欠落したメディアパケットを訂正（再生成）する。訂正されたメディアパケットは、RTPデータ送信部１６へ出力される。以上のようにして、符号化前にパケットの欠落があっても、そのためにメディアパケットを誤って訂正することはなく、符号化後のパケット欠落を正しく訂正することができるようになる。
［動作の説明］
次に、パケット欠落の検出と到着管理メモリ４０の制御を中心に、本発明のパケット誤り訂正装置動作について説明する。
【００６３】
図６（Ｂ）１〜３段は、到着管理メモリ４０に格納するビットマップの制御イメージを示す。この図は、基底シーケンス番号（SN）が0の演算ブロックに対する。初期状態では、全ビットが0を格納しているところに、シーケンス番号0〜2のメディアデータを受信するとビット0〜2に1を格納する。この状態で、更にシーケンス番号４のメディアデータを受信するとビット４に１を格納する。シーケンス番号３のメディアデータは受信していないので、ビット3は他のビット共に0のままとなる。ここで、シーケンス番号3のメディアデータは符号化前に欠落したか、符号化後に欠落したものか定かでない。
【００６４】
図６は、パケット欠落の検出を説明するための図である。図６（Ｂ）１〜３段に示したようにシーケンス番号0〜2および4のメディアデータを受信した状態図（図６（Ｂ））のときに、FEC拡張ヘッダのXフィールドに1が設定された、同じ演算ブロックのFECパケットを受信したとする。このFECパケットの拡張マスクが11101であったとすると（図６（Ａ））、符号化前にシーケンス番号３のメディアパケットが欠落していることを示す。一方、シーケンス番号から求めた到着管理情報は、図６（Ｂ）のように11101である。このままでは、シーケンス番号３のメディアデータの欠落は符号化の前か後か定かでない。
【００６５】
そこで、図６（Ａ）に示すように、NOT演算器６２が拡張マスクフィールド値11101をビット反転して00010とし、OR演算器６３がこの00010と到着管理メモリ４０の格納内容11101との論理和演算を行なって11111を求める。到着管理メモリ更新部５５Ａは、論理和演算結果11111であるため、シーケンス番号３のメディアパケットは符号化前に欠落しものであると見做す。この場合はパケット欠落検出をパケット訂正部６４へ通知することはない。
【００６６】
また、同様にシーケンス番号3のメディアデータが符号化前に欠落していて、到着管理情報が01101であったとする。この場合は、シーケンス番号0と3のパケットが欠落していることになる。そして、論理和演算結果は01111となる。この場合には、論理和演算結果のビットパターンがオール1となず、到着管理情報において示されるシーケンス番号0のパケット欠落は符号化後のものであることになる。この場合はパケット欠落検出をパケット訂正部６４へ通知する。
【００６７】
これまでは、説明を単純化するために、到着管理メモリ４０を１次元構成で示したが、到着管理メモリ４０は、実際には、図７に示すようにアドレスとビットの２次元構成であって、ColumnFEC用（図７の（Ａ））とRowFEC用（図７の（Ｂ））それぞれに実装される。Pro-MPEGフォーラムで規定されているCOP4方式の符号化に対応するために、Columnに256ビットのビットマップとRowに20ビットのビットマップにて管理する。図７では、図２２の例に合わせ、L値=5、D値=3としており、それぞれ、ビット0〜4、ビット0〜2を使用し、残りのビットは使用しない。
【００６８】
ColumnFEC用到着管理メモリでは、（シーケンス番号−Blockシーケンス番号）÷L値の商がビット位置、剰余がアドレス位置となる。RowFEC用到着管理メモリでは、（シーケンス番号−Blockシーケンス番号）÷L値の商がアドレス位置、剰余がビット位置となる。例えば、図２２でシーケンス番号23のメディアパケットを受信した場合、ColumnFEC用到着管理メモリのアドレス3、ビット1に1が格納され、RowFEC用到着管理メモリのアドレス2、ビット2に1が格納される。
【００６９】
更に、到着管理メモリ４０は、ColumnFEC用到着管理メモリとRowFEC用到着管理メモリそれぞれについて、０面と１面の二面を設ける。これは、FECパケットの到着を待ち合わせるためと、メディアパケットの到着がズレて入れ替わることがあるのを補うためである。図８は、到着管理メモリ更新部５５における、このような面制御のフローチャートを示す。
【００７０】
図８において、メディアパケットを受信すると（図８のステップＳ１）、シーケンス番号がBlockシーケンス番号以上（ステップＳ２）、かつ当該演算ブロック内であるときは（ステップＳ３でYES）、ColumnFEC用到着管理メモリとRowFEC用到着管理メモリそれぞれの該当するビットに1を設定する（ステップＳ４）。
【００７１】
しかし、シーケンス番号がBlockシーケンス番号の場合は（ステップＳ２でNO）、受信タイムアウトとして（ステップＳ３でNO）受信したパケットを廃棄する（ステップＳ５）。また、シーケンス番号がBlockシーケンス番号以上であるが2Block分先のシーケンス番号未満でない場合は（ステップＳ３でNO）、2Block分先のメディアパケットを受信したことになるため、削除面を0に初期化して（ステップＳ５）、面切り替えを行う（ステップＳ７）。即ち、登録面を削除面、削除面を登録面とする。そして、Blockシーケンス番号を更新した上で（ステップＳ８）、ColumnFEC用到着管理メモリとRowFEC用到着管理メモリそれぞれの該当するビットに１を設定する（ステップＳ４）。
【００７２】
図９は、シーケンス番号15〜59までのメディアパケットの受信イメージと、到着管理メモリ４０の面制御の関係を時系列に示している。図９では、時刻T0と時刻T2の直前までは、到着がズレることを考慮して、シーケンス番号15〜44までのメディアパケットが受信可能な時間である。時刻T2において、シーケンス番号30未満のメディアパケットについては、タイムアウトと見做して廃棄される。
【００７３】
時刻T0では、シーケンス番号15〜29のメディアパケットを受信中であり、０面が登録面となってシーケンス番号15〜29を登録している。このとき、１面は削除面であって登録済みのシーケンス番号0〜14は削除される。時刻T1では、シーケンス番号30〜44のメディアパケットを受信中であり、１面が登録面となってシーケンス番号30〜44を登録している。このとき、０面は削除面であって登録済みのシーケンス番号15〜29は削除される。時刻T2では、シーケンス番号45〜59のメディアパケットを受信中であり、０面が登録面となってシーケンス番号45〜59を登録している。このとき、１面は削除面であって登録済みのシーケンス番号30〜44は削除される。
【００７４】
図１０は、図８のフローチャートで到着管理メモリ４０の初期化が発生したケース（ステップＳ５）のFEC演算部５に注目した処理シーケンスである。FEC演算部５は、RTPデータ受信部４からメディアパケットを受信すると、メディアパケットをメディアパケット送信制御部８へ出力する。そして、到着管理メモリ４０の初期化を行う場合には、その前にFECパケット送信制御部９へ到着管理情報の通知を行っている。FECパケット送信制御部９では受信した到着管理情報を元にFECパケットを生成する。
【００７５】
なお、到着管理メモリ更新部５５Ａにおいても、上述の到着管理メモリ更新部５５における面制御と同様な制御を行うが、FEC訂正部１５はFEC演算部５と異なり、FECパケットの生成処理が不要なので、タイマ５６によるタイムアウト処理は不要である。
【実施例２】
【００７６】
実施例１では、本発明のパケット誤り訂正装置をＨ／Ｗによって実現しているが、ここではＳ／Ｗによって実現する。処理内容については、実施例１と同じである。
【００７７】
図１１は、送信側のFEC演算部５のＳ／Ｗによる実現方法を示す。このFEC演算部５Ａは、プロセッサ７０と、パケット受信インタフェース７１と、プログラムやデータが格納されているROM７２と、更新処理に必要な各種値と受信パケット格納するRAM７４と、パケット送信インタフェース７３をプロセッサ用バス７５で接続された構成となっている。
【００７８】
RTPデータ受信部４から出力されたパケットがFEC演算部５Ａ内のパケット受信インタフェース７１に入力される。パケット受信インタフェース７１からDMA(Direct Memory Access)転送機能により、プロセッサ７０を介さずにRAM７４のパケットバッファ５１へパケットを転送する。転送完了後にパケット受信インタフェース７１からプロセッサ７０へ割り込み通知を行うことで、プロセッサ７０にパケット受信を通知する。
【００７９】
プロセッサ７０は、パケット受信インタフェース７１から割り込み通知を受けると、RAM７４からパケットを読み込み、パケットメモリ７から演算結果をリードし、パケットバッファ５１のメディアパケットとFEC演算を実施後、パケットメモリ７へ演算結果をライトし、パケットバッファ５１内のメディアパケットをパケット送信インタフェース７３へDMA(Direct Memory Access)転送機能を使用して出力する。図１の送信多重部１０がRTPパケット送信部７６に相当する。
【００８０】
一方、先に述べた方法で受信パケットのシーケンス番号を元に到着管理メモリ４０を更新し、図２２の送信順序でFECパケットを実施例１と同じ要領により、パケット送信インタフェース７３へ出力する。また、タイムアウト監視も行い、一定時間パケット受信インタフェース７１がパケットを受信しない場合は、到着管理メモリ４０を初期化する。
【００８１】
図１２は、受信側のFEC訂正部１５のＳ／Ｗによる実現方法を示す。図１２のとおり、内部のブロック構成は図１１と同様である。処理の差分として、FEC演算部５Ａで実施していたFECパケットの生成処理とタイムアウト検出処理は不要となる。代わりにFECヘッダの拡張マスクフィールドから符号化前のパケット欠落を検出する処理と、欠落パケットの訂正処理が必要となる。また、RTPデータ送信部１６に出力されるパケットはメディアパケットのみであり、FECパケットについてはパケットバッファ５１内で削除される。
【００８２】
最後に、これまでに述べてきた通常方式とは別のAnnexAと呼ばれる演算方式について言及する。AnnexAの規格は、Pro-MPEGフォーラムにて規定されており、図１３に示すように、ColumnFECパケットをD周期でスライドさせながら演算するものである。図１４は、AnnexA規格によるFEC演算方式であるAnnexA方式における、ColFECパケット受信を期待するパケット位置を例示する。通常方式の場合とは顕著な差がある。従って、受信パケットを０面と１面のどちらの面にライトするかという面管理の方法も通常方式の場合とは異なる。図１５に到着管理メモリ４０に対するメディアパケットの登録例を示す。各ビット位置に記載され手いる数値が受信したシーケンス番号を示している。
【図面の簡単な説明】
【００８３】
【図１】本発明のパケット誤り訂正装置におけるFEC符号化部の構成例を示すブロック図
【図２】本発明のパケット誤り訂正装置におけるFEC複合化部の構成例を示すブロック図
【図３】図１におけるFEC演算部の構成例を示すブロック図
【図４】図２におけるFEC訂正部の構成例を示すブロック図
【図５】本発明における符号（FEC演算）対象FECヘッダのフォーマットを示す図
【図６】パケット欠落の検出を説明するための図
【図７】到着管理メモリ４０の構成を示す図
【図８】到着管理メモリ更新部における到着管理メモリ面制御のフローチャート
【図９】メディアパケットの受信と到着管理メモリの面制御の関係を時系列に示す図
【図１０】到着管理メモリ初期化時のシーケンス図
【図１１】FEC演算部をＳ／Ｗによる実現した場合の構成図
【図１２】FEC訂正部をＳ／Ｗによる実現した場合の構成図
【図１３】AnnexA方式によるFEC演算イメージ図
【図１４】AnnexA方式においてColFECパケット受信を期待するパケット位置を例示する図
【図１５】AnnexA方式における到着管理メモリへのメディアパケットの登録例を示す図
【図１６】一般的なFECパケット終端ネットワークモデルを示す図
【図１７】一般的なFEC演算方法を示す図
【図１８】FECヘッダのフォーマットを示す図
【図１９】２次元FECにおけるメディアパケットとFECパケットの関係を示す図
【図２０】FECヘッダにFEC拡張ヘッダが付加された場合のフォーマットを示す図
【図２１】FECパケット中継ネットワークモデルを示す図
【図２２】FECパケットの演算イメージと送信順序イメージを示す図
【符号の説明】
【００８４】
１    送信装置
２    受信装置
３    FEC符号化部
４    RTPデータ受信部
５    FEC演算部
７    パケットメモリ
８    メディアパケット送信制御部
９    FECパケット送信制御部
１０  送信多重部
１１  FEC復号化部
１２  RTPパケット受信部
１５  FEC訂正部
１６  RTPデータ送信部
１７  RTPデータ生成部
１８  通常パケット送信部
１９  送信切替部
２０  受信切替部
２１  RTPデータ再生部
２２  通常パケット受信部
２３  中継送信装置
２４  中継受信装置
２５  RTPパケット送信装置
２６  L２SW
２７  Flow判定部
２８  RTPパケット再生装置
２９  パケット判定部
３０  Block判定部
３１  FEC更新ヘッダ抽出部
３２  FECモード変更要求部
３３  ビデオカメラ
３４  モニタ
５０  RTPシーケンス番号検出部
５１  パケットバッファ
５２  パケットメモリリード部
５３  XOR演算器
５４  パケットメモリライト部
５５  到着管理メモリ更新部
５６  タイマ
６０  FEC判定部
６１  FEC拡張マスク検出部
６２  NOT演算器
６３  OR演算器
６４  パケット訂正部
７０  プロセッサ
７１  パケット受信インタフェース
７２  ROM
７３  パケット送信インタフェース
７４  RAM
７５  プロセッサ用バス
７６  RTPパケット送信部
【図１】
2009206608.tif 000003
【図２】
2009206608.tif 000004
【図３】
2009206608.tif 000005
【図４】
2009206608.tif 000006
【図５】
2009206608.tif 000007
【図６】
2009206608.tif 000008
【図７】
2009206608.tif 000009
【図８】
2009206608.tif 000010
【図９】
2009206608.tif 000011
【図１０】
2009206608.tif 000012
【図１１】
2009206608.tif 000013
【図１２】
2009206608.tif 000014
【図１３】
2009206608.tif 000015
【図１４】
2009206608.tif 000016
【図１５】
2009206608.tif 000017
【図１６】
2009206608.tif 000018
【図１７】
2009206608.tif 000019
【図１８】
2009206608.tif 000020
【図１９】
2009206608.tif 000021
【図２０】
2009206608.tif 000022
【図２１】
2009206608.tif 000023
【図２２】
2009206608.tif 000024