(57)【要約】【課題】誤り訂正符号を用いてパケット損失に対応しつつ、ネットワークにとって負荷となる伝送パケット数の増加を伴わず、その結果として新たに生じるパケット損失及びジッタの増加を抑制すること。【解決手段】映像送信側伝送装置１０は、送信対象データを分割して生成される複数のパケットを所定の長さのサブブロックに分割し、誤り訂正の演算単位となるブロックに割り当てられたサブブロックに対して誤り訂正を行って誤り訂正符号を生成し、映像受信側伝送装置１１は、受信したパケットを分割して生成された所定の長さのサブブロックを誤り訂正の演算単位となるブロックに割り当てて、パケットに基づいて通信路上におけるパケットの欠落を検出し、欠落したパケットを形成するサブブロック毎に、当該サブブロックが割り当てられた特定のブロックに属する誤り訂正符号と、特定のブロックに割り当てられたサブブロックとを用いて欠落したパケットを復元する。【選択図】図６
2012114569.tif 000002
【特許請求の範囲】
【請求項１】
ブロック符合を用いて、送信装置から受信装置に対して通信路を介して送信するデータの誤り訂正を行うデータ通信システムであって、
前記送信装置は、
送信対象となるデータを分割して複数のパケットを生成するパケット生成手段と、
前記パケット生成手段によって生成された前記パケットを所定の長さのサブブロックに分割する第１のサブブロック分割手段と、
前記第１のサブブロック分割手段によって分割されたサブブロックを、誤り訂正の演算単位となるブロックに割り当てる第１のサブブロック割当手段と、
前記第１のサブブロック割当手段によって前記ブロックに割り当てられたサブブロックに対して誤り訂正を行って、誤り訂正符号を生成する誤り訂正符号生成手段と、
前記誤り訂正符号生成手段によって生成された前記誤り訂正符号を前記パケットに多重化する誤り訂正符号多重化手段と、
前記誤り訂正符号多重化手段によって前記誤り訂正符号が多重化されたパケットを前記受信装置に対して送信するパケット送信手段と、
を備え、
前記受信装置は、
前記送信装置から送信されたパケットを受信するパケット受信手段と、
前記パケット受信手段によって受信された前記パケットを一時的に蓄積するパケット蓄積手段と、
前記パケット蓄積手段によって蓄積されたパケットに多重化されている誤り訂正符号を、前記パケットから分離する誤り訂正符号分離手段と、
前記パケット蓄積手段によって蓄積されたパケットを所定の長さのサブブロックに分割する第２のサブブロック分割手段と、
前記第２のサブブロック分割手段によって分割されたサブブロックを、誤り訂正の演算単位となるブロックに割り当てる第２のサブブロック割当手段と、
前記受信したパケットに基づいて、前記通信路上における、前記送信装置から送信されたパケットの欠落を検出するパケット欠落検出手段と、
前記パケット欠落検出手段でパケットの欠落が検出された場合、前記欠落したパケットを形成するサブブロック毎に、それぞれのサブブロックの復元に必要となる特定のブロックであって、当該サブブロックが割り当てられた前記特定のブロックに属する誤り訂正符号と、前記第２のサブブロック割当手段によって前記特定のブロックに割り当てられたサブブロックとを用いて、前記欠落したパケットを復元する欠落パケット復元手段と、
を備える、
データ通信システム。
【請求項２】
前記送信装置において、
前記通信路の通信品質、送信データ量、単位時間あたりの送信データ量であるトラフィック量のうち、少なくとも１つに基づいて、サブブロックの分割長を決定するサブブロック分割長制御手段をさらに備え、
前記第１のサブブロック分割手段は、前記サブブロック分割長制御手段が決定したサブブロックの分割長でパケットを分割し、
前記第１のサブブロック割当手段は、前記サブブロック分割長制御手段が決定したサブブロックの分割長で、各サブブロックを誤り訂正の演算単位となるブロックに割り当て、
前記誤り訂正符号多重化手段は、前記サブブロック分割長制御手段が決定したサブブロックの分割長に関する情報を、誤り訂正符号とともにパケットに多重化し、
前記受信装置において、
前記誤り訂正符号分離手段は、受信したパケットに多重化されている誤り訂正符号を、前記パケットから分離するとともに、前記情報を前記パケットから分離し、
前記誤り訂正符号分離手段が分離した、前記情報に基づいて、前記サブブロックの分割長を検出するサブブロック長検出手段をさらに備え、
前記第２のサブブロック分割手段は、前記サブブロック長検出手段で検出されたサブブロックの分割長で、前記パケット蓄積手段に蓄積されたパケットを分割し、
前記第２のサブブロック割当手段は、前記サブブロックの分割長で、各サブブロックを誤り訂正の演算単位となるブロックに割り当てる、
請求項１記載のデータ通信システム。
【請求項３】
前記送信装置において、
前記誤り訂正符号生成手段は、
前記パケット生成手段によって生成されるパケットに対応して、誤り訂正符号の逐次的な演算過程の中間値を順次格納するメモリと、
前記メモリに対する読み出しポインタと、
前記読み出しポインタからサブブロックの分割長に相当するオフセットを有する書き込みポインタと、を備え、
前記第１のサブブロック割当手段は、
前記読み出しポインタと前記書き込みポインタとを、前記パケット毎に順次移動させることにより、分割したサブブロック毎に誤り訂正の演算単位となるブロックへの割り当てを実行し、
前記誤り訂正符号生成手段は、前記書き込みポインタが示すサブブロックと、前記パケットに後続するパケットに対応するサブブロックとから、誤り訂正の演算過程の中間値を演算して、前記中間値を前記メモリの前記書き込みポインタの位置に書き込み、かつ、前記第１のサブブロック割当手段によって割り当てられた前記ブロックに属する全てのサブブロックに対する演算が完了すると、前記メモリから前記読み込みポインタが示すサブブロックを誤り訂正符号として読み出して出力する、
請求項１ないし２記載のデータ通信システム。
【請求項４】
前記送信装置は、前記受信装置に対して、ＲＴＰ（Real-time Transport Protocol）を用いて映像又は音声のストリーミングデータを送信し、
前記誤り訂正符号多重化手段は、ＲＴＰの拡張ヘッダに前記誤り訂正符号を多重化する、
請求項１ないし３記載のデータ通信システム。
【請求項５】
請求項１ないし４記載のデータ通信システムに使用する送信装置。
【請求項６】
請求項１ないし４記載のデータ通信システムに使用する受信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネット、イントラネット等のデータ通信ネットワークを介して動画像及び音声等をリアルタイムに伝送するデータ通信システムであって、特に伝送中の伝送誤り等を訂正するために、送信側から受信側へ誤り訂正符号を送信するデータ通信システムに関する。
【背景技術】
【０００２】
従来のデータ通信システムでは、伝送途中での伝送誤り又は情報欠落（パケット損失）に対して、物理レイヤ（レイヤ１）における誤り訂正符号技術、データリンクレイヤ（レイヤ２）における再送制御技術等を組合せることで、伝送品質を確保している。しかしながら、これらの技術は、リンクでの品質保証技術であるため、一定の割合を超えた伝送誤り、及び、複数のネットワークを中継して通信されるシステムでの輻輳等に起因するデータ廃棄に対しては無力である。そのため、通信のエンドポイント間での品質確保のために、トランスポートレイヤ（レイヤ４）及びアプリケーションレイヤ（レイヤ７）における再送制御技術等が数多く考案され、組み合わせて実装されている。
【０００３】
一方、これらのデータ通信システムにおける品質確保手段は、映像及び音声等といったリアルタイム性を要求するアプリケーションにおいては、遅延が増大するためにアプリケーションとしての品質維持に適さないことが多い。そのため、このようなアプリケーションに対しては、セッションレイヤ（レイヤ５）で誤り訂正符号技術を用いた品質確保の手法が一般的なものとなっている。
【０００４】
例えば、従来のデータ通信システムに映像符号化手段と映像復号手段とを組合せた映像伝送システムは、図１に示すように、映像送信側伝送装置６０と映像受信側伝送装置６１とネットワークとで主に構成されている。また、映像送信側伝送装置６０は、映像符号化部６０１と、パケット生成部６０２と、パケット多重部６０３と、パケット送信制御部６０４と、誤り訂正符号生成部６０５と、誤り訂正符号パケット生成部６０６とから主に構成される。また、映像受信側伝送装置６１は、パケット受信制御部６１１と、パケット多重分離部６１２と、受信パケット蓄積部６１３と、パケット整列部６１４と、映像符号復号部６１５と、誤り訂正符号パケット蓄積部６１６と、パケット欠落検出部６１７と、誤り訂正損失パケット再生成部６１８とから主に構成される。
【０００５】
まず、映像送信側伝送装置６０において、映像符号化部６０１は、入力される、撮像素子（カメラ）等で生成された映像を、ＭＰＥＧ等の動画像符号化アルゴリズムに基づいて符号化する。パケット生成部６０２は、映像符号化部６０１で生成された符号を伝送パケットの形式に整え、パケット多重部６０３を介してパケット送信制御部６０４へ出力する。パケット送信制御部６０４は、パケットを一時的に蓄積した上で、ネットワークの通信規約に基づいてパケットをネットワークに送出する。
【０００６】
映像受信側伝送装置６１において、パケット受信制御部６１１は、ネットワークを介して映像受信側伝送装置６１に送出されたパケットを受け取る。受け取られたパケットは、パケット多重分離部６１２を介して受信パケット蓄積部６１３に蓄えられる。パケット整列部６１４は、ネットワークによるパケット伝送の遅延時間の変動を鑑み、然るべきタイミングを見計らって、受信パケット蓄積部６１３から、映像符号を格納したパケットを取り出し、映像符号復号部６１５へ送り出す。映像符号復号部６１５は、映像送信側伝送装置６０で用いた動画像符号化アルゴリズムに基づいて映像の復号を行い、復号データを表示装置等へ送出する。
【０００７】
ここで、データ通信ネットワークでは、伝送途中でのパケットの欠落が発生する恐れがある。そこで、図１に示す映像送信側伝送装置６０は、映像符号化部６０１にて生成された符号は、誤り訂正符号生成部６０５にも出力する。そして、誤り訂正符号生成部６０５は、排他的論理和（ＸＯＲ）及びリードソロモン符号等に代表される誤り訂正アルゴリズムに基づく誤り訂正符号を生成する。誤り訂正符号パケット生成部６０６は、生成された誤り訂正符号を伝送パケット形式に整える。パケット多重部６０３は、生成された誤り訂正符号パケットと、パケット生成部６０２で生成されたデータパケットとを、パケット多重し、パケット送信制御部６０４を介してネットワークに送出する。
【０００８】
一方、映像受信側伝送装置６１では、パケット受信制御部６１１で受信したパケットをパケット多重分離部６１２で識別することで、データパケットは受信パケット蓄積部６１３で蓄積され、誤り訂正符号パケットは誤り訂正符号パケット蓄積部６１６で蓄積される。次に、パケット欠落検出部６１７は、受信パケット蓄積部６１３に蓄積されたデータパケットの順序を調べ、ネットワークでの伝送遅延時間の分散を考慮した上でネットワークの伝送途中で欠落したパケットを検出する。そして、パケット欠落検出部６１７は、誤り訂正損失パケット再生成部６１８に欠落通知を行う。欠落通知を受け取った誤り訂正損失パケット再生成部６１８は、映像送信側伝送装置６０の誤り訂正符号生成部６０５が用いた誤り訂正符号アルゴリズムに基づいて、欠落したデータパケットを再生成するために必要となるデータパケットを受信パケット蓄積部６１３から取り出し、誤り訂正符号パケットを誤り訂正符号パケット蓄積部６１６から取り出す。そして、誤り訂正損失パケット再生成部６１８は、誤り訂正符号アルゴリズムに基づいた演算により欠落したパケットを再生成し、パケット整列部６１４へ送り出す。パケット整列部６１４は、受信したデータパケットと再生成したデータパケットとを受け取り、映像符号の復号に必要なデータパケットの順序を整えて映像符号復号部６１５へ送り出す。（例えば、特許文献１及び非特許文献１を参照）。
【０００９】
映像送信側伝送装置６０の詳細な動作について、図２を用いて説明する。映像符号化部６０１で生成された映像符号は、ユーザデータ７００となり、パケット化するため一定の長さに区切られ、各パケットのペイロード７０１ａ〜７０５ａとなる。パケット生成部６０２において、それぞれのペイロードには伝送ヘッダ７０１ｂ〜７０５ｂが付加され、パケット７０１〜７０５が生成される。生成されたパケット７０１〜７０５は、パケット多重部６０３、パケット送信制御部６０４を介してネットワークの伝送路へ送出される。また、誤り訂正符号生成部６０５において、一定量のユーザデータ７００が分割されたペイロード７０１ａ〜７０５ａ（図２ではペイロード５個分）を用いて、誤り訂正符号のアルゴリズムに基づきパリティ７１１ａが生成される。次いで、誤り訂正符号パケット生成部６０６においてパリティ７１１ａにも、ユーザデータによるペイロード７０１ａ〜７０５ａと同様の伝送ヘッダ７１１ｂが付加されパケット７１１が生成される。生成されたパケット７１１は、パケット多重部６０３、パケット送信制御部６０４を介してネットワークの伝送路へ送出される。
【００１０】
誤り訂正符号のパケット７１１は、映像受信側伝送装置６１のパケット多重分離部６１２で容易に識別できるように、伝送ヘッダ７１１ｂ内に識別情報を格納する。一般には、ＵＤＰ（User Datagram Protocol）プロトコルのポート番号をデータパケットとは異なる値にすることが行われている。
【００１１】
以下同様にして、映像送信側伝送装置６０では、生成される映像符号をパケット化し、７０６〜７０９として伝送路に送出される。
【００１２】
映像受信側伝送装置６１では、パケット多重分離部６１２でユーザデータパケットと誤り訂正符号パケットとを識別・分離する。そして、パケット欠落検出部６１７では、伝送ヘッダ中に格納されているパケット順序情報等を用いてパケット損失を検出し、誤り訂正損失パケット再生成部６１８では、誤り訂正符号を用いて、失われた映像符号（パケット）を再生成する。さらに、パケット整列部６１４では、パケット順序情報等を用いて再生成した映像符号を適切な位置に挿入する。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特許第３９３４０７３号公報
【非特許文献】
【００１４】
【非特許文献１】IETF RFC5109 RTP Payload Format for Generic Forward Error Correction
【発明の概要】
【発明が解決しようとする課題】
【００１５】
しかしながら、従来のデータ通信システムを用いた映像伝送システムでは、映像符号を格納したデータパケットと誤り訂正符号を格納した誤り訂正符号パケットとがそれぞれ個別にネットワーク上を伝送されることにより、伝送されるパケット数が誤り訂正を行わない場合に比べて増加し、後述する課題が生じてしまう。
【００１６】
まず、無線ＬＡＮ（Local Area Network）及び旧来のＥｔｈｅｒｎｅｔ（登録商標）等に代表されるコンテンション方式を用いたネットワークでは、パケット数の増加に応じて発生確率が上昇するパケット同士の衝突により、パケットが失われてしまう。すなわち、パケット数が増加することにより衝突の発生頻度が急激に増加し、失われるパケット数が増加してしまう。又は、パケットが失われることに伴って下位レイヤでの再送制御が発生することで遅延が増加するとともに実効伝送帯域が減少してしまう。
【００１７】
次に、ＩＰルータ及びＬＡＮスイッチ等に代表されるネットワークの中継装置で、多重化ジッタ、及び、伝送品質を確保するためのトラフィックシェイピングによるジッタが増加してしまう。
【００１８】
ここで図３を用いて多重化ジッタの発生を説明し、図４を用いてトラフィックシェイピングによるジッタの発生を説明する。
【００１９】
図３Ａは、多重化ジッタが発生するネットワークの構成を示す。図３Ａは、複数の入力トラフィック８１１、８１２、８１３がネットワーク８０１に入力され、複数の出力８２１、８２２、８２３として出力されるモデルである。ネットワーク８０１は、入力を収容する中継装置８０２と、出力を収容する中継装置８０４と、それらの間を接続する中継回線８０３とから構成される。中継装置８０２では時分割多重技術を用いて入力トラフィック８１１〜８１３を中継回線８０３に送出する。中継回線８０３上では、それぞれのトラフィック８３１〜８３３のパケットが混在した形（パケット列）で伝送される。中継装置８０４では中継回線８０３から受信したパケット列の伝送制御情報を参照し、個々のトラフィックに対して多重分離処理を行い、出力トラフィック８２１〜８２３として出力する。
【００２０】
図３Ｂは、図３Ａにおけるパケットの動きを時系列に並べ、ある時間帯を取り出したものである。図３Ｂでは、入力トラフィック８１１はパケット８１１ａ〜８１１ｄから構成され、入力トラフィック８１２はパケット８１２ａ〜８１２ｅから構成され、入力トラフィック８１３はパケット８１３ａ〜８１３ｃから構成される。
【００２１】
中継回線８０３の伝送路上では、同時に複数のパケットを伝送することができないため、中継装置８０２は、時分割多重技術によりそれぞれのパケットを一列に並べて送出する。図３Ｂでは、最も基本的な多重化方法である同一優先度、到着順による多重化の例を示す。図３Ｂに示すように、パケット８１１ａとパケット８１２ａとは、僅かな時間差で８１１ａの方が先に中継装置８０２に到着したため、中継回線８０３の伝送路上では８３１ａ、８３２ａという順序で伝送される。また、パケット８１１ａは中継回線８０３の伝送路が空いているタイミングで中継装置８０２に到着したため、即座にパケット８３１ａとして送出される。一方、パケット８１２ａは、パケット８１１ａがパケット８３１ａとして送出完了するまで待ち合わせにより遅延し、送出完了後、パケット８３２ａとして送出される。また、パケット８１３ａは、８１１ａと同様、伝送路が空いているので、そのままパケット８３３ａとして送出される。
【００２２】
以下同様にして、パケット８１１ｂ〜８１１ｄがそれぞれ８３１ｂ〜８３１ｄとして送出され、８１２ｂ〜８１２ｅがそれぞれ８３２ｂ〜８３２ｅとして送出され、８１３ｂ、８１３ｃがそれぞれ８３３ｂ、８３３ｃとして送出される。図３Ｂでは、８３２ｂ、８３２ｃ、８３１ｃ、８３３ｃ、８３１ｄが待ち合わせにより遅延している。
【００２３】
すなわち、パケットの到着のタイミングにより、図３Ｂに示す入力トラフィック８１１〜８１３のいずれであっても待ち合わせによって遅延の生じるパケットが存在してしまう。図３Ａに示すように、中継装置８０３で多重分離処理された各トラフィックは出力トラフィック８２１〜８２３として出力されるが、中継装置８０２で多重化処理に伴って遅延したパケットの遅延時間が中継装置８０３で補償されることはなく、遅延したまま出力される。その結果、図３Ｂにおいて、出力パケット８２１ａ、８２１ｂ、８２３ａ、８２３ｂ、８２２ｄ、８２２ｅは一定の伝送遅延、処理遅延のみで出力されるのに対し、出力パケット８２２ａ、８２２ｂ、８２２ｃ、８２１ｃ、８２３ｃ、８２１ｄは多重化に伴う遅延時間分だけ遅延時間が増加し、ジッタの増加として観測される。
【００２４】
図４Ａは、伝送品質を安定させるために中継装置等に搭載されるトラフィックシェイピング機能が逆にジッタを増加させてしまう課題について説明するためのシステム構成である。
【００２５】
トラフィックシェイピング機能は、一定間隔で到着するパケット列のジッタを吸収し、パケット間隔を安定させるとともに、一時的なパケット集中による輻輳予防を目的として用いられている。図４Ａの上側に示すように、入力回線９０１からパケット列９０４が中継装置９０２に入力され、出力回線９０３にパケット列９０５に出力されるネットワーク構成で、入力パケット列９０４が一定の間隔を空けていることを想定する。その際、入力パケット列９０４にジッタが含まれた場合でも、中継装置９０２は、トラフィックシェイピング機能を用いて出力パケット列９０５のタイミングを調整し整列させる。
【００２６】
図４Ａの上側に対して、従来の誤り訂正符号（例えば、Forward Error Correction：ＦＥＣ）による損失パケット補償機能を更に組み合わせた場合を図４Ａの下側に示す。入力パケット列９０４の途中に誤り訂正符号パケット９０６が挿入され、出力パケット列９０５の途中に誤り訂正符号パケット９０７が挿入されて出力される。また、中継装置９０２は、トラフィックシェイピング機能を用いて、入力パケット列９０４と誤り訂正符号パケット９０６とを一体のものとしてパケット間隔調整を行い、出力パケット列９０５と誤り訂正符号パケット９０７とを一体のものとして出力する。
【００２７】
次いで、図４Ｂを用いて、トラフィックシェイピング機能の動作タイミングについて説明する。図４Ｂの上側に示すように、入力パケット列９０４は、ほぼ等間隔で中継装置９０２に到着する。また、誤り訂正符号パケット９０６が、入力パケット列９０４の間に挿入されている。中継装置９０２のトラフィックシェイピング機能では、設定される上限パケットレートに基づき、調整すべき最小パケット間隔９１０を求め、最小パケット間隔９１０に相当する時間以上の間隔を確保して個々のパケットを出力する。最小パケット間隔９１０未満の間隔で到着したパケットに対しては、パケット間隔９１０に相当する時間まで送出を意図的に遅延させる。したがって、図４Ｂの上側では、到着した誤り訂正符号パケット９０６は、直前の入力トラフィック９０４のパケットに対して十分な到着間隔（最小パケット間隔９１０以上の間隔）を有さないため、図４Ｂの下側に示すように、出力の誤り訂正符号パケット９０７は、直前の出力パケット９０５との間隔を最小パケット間隔９１０以上空けるよう、待ち時間を設けた上で出力される。図４Ｂでは、誤り訂正符号パケット９０７に対するパケット間隔調整に起因して、誤り訂正符号パケット９０７の後続の４個のパケットも最小パケット間隔９１０を満たさなくなるため遅延時間が付加されてしまう。
【００２８】
映像受信側伝送装置では、誤り訂正パケットを除いたユーザデータパケットのみを抽出し、映像符号を取り出し、映像を再生するが、誤り訂正符号パケットに引き続くパケット（図４Ｂでは４個）には遅延が付加されているため、ジッタが増加したように観測される。
【００２９】
また、従来の誤り訂正符号による損失パケット対応の映像伝送システムでは、パケット欠落時の映像受信側伝送装置でのパケット再生成処理に必要なパケットの蓄積量が、失われたパケットの位置によって変動する。このため、処理遅延時間が変動すると共に、バッファ管理等のためのハードウェア／ソフトウェアリソースが増加してしまうという課題がある。この課題について図５を用いて説明する。
【００３０】
図５は、一連のユーザデータパケット及び誤り訂正符号パケットによるパケット列と、ネットワーク内の伝送途中に失われたパケットとによって、再生成に必要となる対象パケットが異なることを示した図である。図５の（ａ）は、ユーザデータパケット１００１ａ〜１００１ｅに対する誤り訂正符号パケット１０１１の直後のユーザデータパケット１００２ａが失われたケースである。同様に、図５の（ｂ）は、ユーザデータパケット１００２ａ〜１００２ｅの３番目のパケット１００２ｃが失われたケースである。また、図５の（ｃ）は、ユーザデータパケット１００２ａ〜１００２ｅの末尾のパケット１００２ｅが失われたケースである。
【００３１】
映像受信側伝送装置では、ユーザデータパケット列１００２ａ〜１００２ｅの中のいずれかが失われた場合、残りの正常受信されたユーザデータパケットと誤り訂正符号パケット１０１２とを用いて損失パケットを再生成する。そのため、図５の（ａ）では、損失パケット（１００２ａ）より手前の受信パケットは用いられず、損失パケットの後で受信される後続のパケット５個（ユーザデータパケット１００２ｂ〜１００２ｅ、誤り訂正符号パケット１０１２）を用いる。このため、映像受信側伝送装置は、５個のユーザデータパケットの到着を待って再生成処理を実行する。同様に、図５の（ｂ）では、損失パケット（１００２ｃ）の手前２個（ユーザデータパケット１００２ａ、１００２ｂ）と後続３個（ユーザデータパケット１００２ｄ、１００２ｅ、誤り訂正符号パケット１０１２）を用いて再生成処理を実行する。また、図５の（ｃ）では、損失パケット（１００２ｅ）の手前４個（ユーザデータパケット１００２ａ〜１００２ｄ）と後続１個（誤り訂正符号パケット１０１２）とを用いて再生成処理を実行する。
【００３２】
そのため、映像受信側伝送装置では、常に失われたパケットの誤り訂正符号ブロック内の位置を意識した動作が求められ、バッファ管理等のハードウェア／ソフトウェアリソースが必要となる。
【００３３】
さらに、誤り訂正符号パケットを個別パケットにすることによって伝送制御ヘッダ等のオーバーヘッドが付加されて伝送効率が低下するため、伝送ジッタ及びパケット損失を発生させるネットワーク輻輳の発生頻度を上昇させてしまう。
【００３４】
これらの現象により、上記従来技術では、常に高品質、かつ、帯域に十分な余裕のあるネットワークを利用しない限り、リアルタイムな動画としての映像品質が低下してしまうという問題があった。
【００３５】
本発明の目的は、誤り訂正符号を用いてパケット損失に対応しつつ、ネットワークにとって負荷となる伝送パケット数の増加を伴わず、その結果として新たに生じるパケット損失及びジッタの増加を抑制することができるデータ通信システムを提供することである。
【課題を解決するための手段】
【００３６】
本発明のデータ通信システムの一態様は、ブロック符合を用いて、送信装置から受信装置に対して通信路を介して送信するデータの誤り訂正を行うデータ通信システムであって、前記送信装置は、送信対象となるデータを分割して複数のパケットを生成するパケット生成手段と、前記パケット生成手段によって生成された前記パケットを所定の長さのサブブロックに分割する第１のサブブロック分割手段と、前記第１のサブブロック分割手段によって分割されたサブブロックを、誤り訂正の演算単位となるブロックに割り当てる第１のサブブロック割当手段と、前記第１のサブブロック割当手段によって前記ブロックに割り当てられたサブブロックに対して誤り訂正を行って、誤り訂正符号を生成する誤り訂正符号生成手段と、前記誤り訂正符号生成手段によって生成された前記誤り訂正符号を前記パケットに多重化する誤り訂正符号多重化手段と、前記誤り訂正符号多重化手段によって前記誤り訂正符号が多重化されたパケットを前記受信装置に対して送信するパケット送信手段と、を備え、前記受信装置は、前記送信装置から送信されたパケットを受信するパケット受信手段と、前記パケット受信手段によって受信された前記パケットを一時的に蓄積するパケット蓄積手段と、前記パケット蓄積手段によって蓄積されたパケットに多重化されている誤り訂正符号を、前記パケットから分離する誤り訂正符号分離手段と、前記パケット蓄積手段によって蓄積されたパケットを所定の長さのサブブロックに分割する第２のサブブロック分割手段と、前記第２のサブブロック分割手段によって分割されたサブブロックを、誤り訂正の演算単位となるブロックに割り当てる第２のサブブロック割当手段と、前記受信したパケットに基づいて、前記通信路上における、前記送信装置から送信されたパケットの欠落を検出するパケット欠落検出手段と、前記パケット欠落検出手段でパケットの欠落が検出された場合、前記欠落したパケットを形成するサブブロック毎に、それぞれのサブブロックの復元に必要となる特定のブロックであって、当該サブブロックが割り当てられた前記特定のブロックに属する誤り訂正符号と、前記第２のサブブロック割当手段によって前記特定のブロックに割り当てられたサブブロックとを用いて、前記欠落したパケットを復元する欠落パケット復元手段と、を備える、を備えた構成を有している。
【００３７】
この構成によれば、誤り訂正符号を付加することでエラー耐性の高い伝送システムを構築する際に送出パケット数を維持することが可能となる。
【００３８】
本発明のデータ通信システムの一態様において、前記送信装置において、前記通信路の通信品質、送信データ量、単位時間あたりの送信データ量であるトラフィック量のうち、少なくとも１つに基づいて、サブブロックの分割長を決定するサブブロック分割長制御手段をさらに備え、前記第１のサブブロック分割手段は、前記サブブロック分割長制御手段が決定したサブブロックの分割長でパケットを分割し、前記第１のサブブロック割当手段は、前記サブブロック分割長制御手段が決定したサブブロックの分割長で、各サブブロックを誤り訂正の演算単位となるブロックに割り当て、前記誤り訂正符号多重化手段は、前記サブブロック分割長制御手段が決定したサブブロックの分割長に関する情報を、誤り訂正符号とともにパケットに多重化し、前記受信装置において、前記誤り訂正符号分離手段は、受信したパケットに多重化されている誤り訂正符号を、前記パケットから分離するとともに、前記情報を前記パケットから分離し、前記誤り訂正符号分離手段が分離した、前記情報に基づいて、前記サブブロックの分割長を検出するサブブロック長検出手段をさらに備え、前記第２のサブブロック分割手段は、前記サブブロック長検出手段で検出されたサブブロックの分割長で、前記パケット蓄積手段に蓄積されたパケットを分割し、前記第２のサブブロック割当手段は、前記サブブロックの分割長で、各サブブロックを誤り訂正の演算単位となるブロックに割り当てる、構成を有している。
【００３９】
この構成によれば、トラフィック量とネットワーク状態とに応じた適切なサブブロック長を算出し、ユーザ情報分割手段とサブブロック割当手段を、伝送中に制御することが可能となるので、ネットワークの伝送状態に適した誤り訂正能力を少ないコストで動的に与えることが可能となる。
【００４０】
本発明のデータ通信システムの一態様における、前記送信装置において、前記誤り訂正符号生成手段は、前記パケット生成手段によって生成されるパケットに対応して、誤り訂正符号の逐次的な演算過程の中間値を順次格納するメモリと、前記メモリに対する読み出しポインタと、前記読み出しポインタからサブブロックの分割長に相当するオフセットを有する書き込みポインタと、を備え、前記第１のサブブロック割当手段は、前記読み出しポインタと前記書き込みポインタとを、前記パケット毎に順次移動させることにより、分割したサブブロック毎に誤り訂正の演算単位となるブロックへの割り当てを実行し、前記誤り訂正符号生成手段は、前記書き込みポインタが示すサブブロックと、前記パケットに後続するパケットに対応するサブブロックとから、誤り訂正の演算過程の中間値を演算して、前記中間値を前記メモリの前記書き込みポインタの位置に書き込み、かつ、前記第１のサブブロック割当手段によって割り当てられた前記ブロックに属する全てのサブブロックに対する演算が完了すると、前記メモリから前記読み込みポインタが示すサブブロックを誤り訂正符号として読み出して出力する、という構成を有している。
【００４１】
この構成により、誤り訂正符号の演算に必要な全てのパケットを格納するメモリは必要とされず、インタリーブする単位毎にパケット１個分のユーザデータと１個のパケットに多重する誤り訂正符号に相当するメモリのみで実現されるので、低いハードウェアコストで誤り訂正が行えるデータ通信システムを実現することが可能となる。
【００４２】
本発明のデータ通信システムの一態様では、前記送信装置は、前記受信装置に対して、ＲＴＰ（Real-time Transport Protocol）を用いて映像又は音声のストリーミングデータを送信し、前記誤り訂正符号多重化手段は、ＲＴＰの拡張ヘッダに前記誤り訂正符号を多重化する、という構成を有している。
【００４３】
この構成により、ＮＡＰＴ（Network Address Port Translation）装置を介した接続が容易となると共に、誤り訂正機能を搭載しない受信装置が混在する環境下でも、同一のパケットの送信を可能としマルチキャスト配信によりネットワーク内のリソースの消費量を削減することが可能となる。
【発明の効果】
【００４４】
本発明によれば、誤り訂正符号を用いてパケット損失に対応しつつ、ネットワークにとって負荷となる伝送パケット数の増加を伴わず、その結果として新たに生じるパケット損失及びジッタの増加を抑制することができる。
【図面の簡単な説明】
【００４５】
【図１】動画伝送システムの構成図（ブロック図）
【図２】動画伝送システムの動作説明のための送信側伝送装置のデータの流れ図
【図３Ａ】従来技術の課題の多重化ジッタ増加の発生メカニズム説明のための図
【図３Ｂ】従来技術の課題の多重化ジッタ増加の発生メカニズム説明のための図
【図４Ａ】従来技術の課題のトラフィックシェイピング時のジッタ増加の発生メカニズム説明のための図
【図４Ｂ】従来技術の課題のトラフィックシェイピング時のジッタ増加の発生メカニズム説明のための図
【図５】従来技術の課題の損失データ再生成に必要な蓄積量変動の説明のための図
【図６】本発明の実施の形態１に係る動画伝送システムのブロック図
【図７】本発明の実施の形態１に係る映像送信側伝送装置におけるデータの流れを示す図
【図８】本発明の実施の形態１に係る映像受信側伝送装置におけるデータの流れを示す図
【図９】本発明の実施の形態１に係る複数パケット損失に備えたインタリーブのデータの流れを示す図
【図１０】本発明の実施の形態１に係る映像送信側伝送装置のバッファメモリ構成図
【図１１Ａ】従来技術における誤り訂正符号量を動的に変更したときに生じる課題の説明のための図
【図１１Ｂ】従来技術における誤り訂正符号量を動的に変更したときに生じる課題の説明のための図
【図１２Ａ】本発明の実施の形態２における誤り訂正符号量を動的に変更したときの動作説明のための図
【図１２Ｂ】本発明の実施の形態２における誤り訂正符号量を動的に変更したときの動作説明のための図
【図１３】本発明の実施の形態２におけるインタリーブ間隔を動的に減らしたときの動作説明のための図
【図１４】本発明の実施の形態３におけるＲＴＰパケットの構造図
【図１５】本発明の実施の形態３におけるマルチキャスト配信時のネットワークを示す図
【発明を実施するための形態】
【００４６】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００４７】
（実施の形態１）
図６は、本実施の形態に係るデータ通信システムの要部構成を示すブロック図である。
【００４８】
図６において、データ通信システムは、ブロック符合を用いて、映像送信側伝送装置１０から映像受信側伝送装置１１に対して通信路を介して送信するデータの誤り訂正を行う。本実施の形態に係る映像送信側伝送装置１０は、入力された映像信号を符号化してパケットとしてネットワークに送出し、映像受信側伝送装置１１は、ネットワークから受信したパケットから映像符号を取り出して復号し映像信号として出力する。これは、本実施の形態に係るデータ通信システムの入力側に、映像信号を符号化する映像符号化部１０１を接続し、データ通信システムの出力側に、映像符号から映像信号を復号する映像符号復号部１１４を接続したものである。
【００４９】
映像送信側伝送装置１０は、映像符号化部１０１と、パケット生成部１０２と、冗長符号多重部１０３と、パケット送信制御部１０４と、サブブロック長制御部１０５と、ユーザ情報分割部１０６と、サブブロック割当部１０７と、誤り訂正符号生成部１０８と、から主に構成される。また、映像受信側伝送装置１１は、パケット受信制御部１１１と、受信パケット蓄積部１１２と、パケット整列部１１３と、映像符号復号部１１４と、パケット欠落検出部１１５と、冗長符号分離部１１６と、サブブロック長検出部１１７と、ユーザ情報分割部１１８と、サブブロック割当部１１９と、誤り訂正損失パケット再生成部１２０と、から主に構成される。
【００５０】
図６の映像送信側伝送装置１０において、映像符号化部１０１は、ＭＰＥＧ等の標準アルゴリズムを用いて映像信号を符号化し、生成した映像符号をユーザデータとしてパケット生成部１０２に出力する。また、映像符号化部１０１は、符号化結果である映像符号の出力量（出力符号量）をサブブロック長制御部１０５に出力する。
【００５１】
パケット生成部１０２は、映像符号化部１０１から受け取ったユーザデータ（映像符号。つまり、送信対象となるデータ）を、伝送方式に適合した適切な長さ（例えばＥｔｈｅｒｎｅｔ（登録商標）を用いる場合は１２００バイト程度）に分割するとともに、通信規約（例えば、ＲＴＰ、ＵＤＰ及びＩＰ等のプロトコル）に基づく伝送ヘッダを付加して、複数の伝送パケットを生成する。そして、パケット生成部１０２は、生成した伝送パケットを冗長符号多重部１０３及びユーザ情報分割部１０６に出力する。
【００５２】
冗長符号多重部１０３は、パケット生成部１０２から入力される伝送パケットと、誤り訂正符号生成部１０８から入力される誤り訂正符号とを多重して、多重信号（パケット）をパケット送信制御部１０４に出力する。また、冗長符号多重部１０３は、後述するサブブロック長制御部１０５で決定されたサブブロック長（サブブロックの分割長）に関する情報（サブブロック長情報）、及び、サブブロックの組み合わせ（ブロック）に関する情報（サブブロックの組合せパターン情報）を、誤り訂正符号とともにパケットに多重する。
【００５３】
パケット送信制御部１０４は、ネットワークの通信規約に基づいた手順で、ネットワークの伝送路にパケットを送出する。また、パケット送信制御部１０４は、ネットワークの回線品質を検出し、検出した回線品質を示す回線品質情報をサブブロック長制御部１０５に出力する。
【００５４】
サブブロック長制御部１０５は、映像符号化部１０１の出力符号量、及び、パケット送信制御部１０４で検出される回線品質情報に基づいて、適切なサブブロック長（サブブロックの分割長）を算出する。例えば、サブブロック長制御部１０５は、回線状態が良好（高品質）である場合に誤り訂正符号量を削減して伝送効率を向上し、回線状態が劣悪（低品質）である場合に誤り訂正符号量を増加して訂正能力を高めるために、ユーザ情報分割部１０６に指示するサブブロック長を増減する。また、サブブロック長制御部１０５は、サブブロック割当部１０７に対して、複数パケットから取り出すサブブロックの組合せパターンを指示する。なお、サブブロック長制御部１０５は、通信路の通信品質（回線品質情報）、送信データ量（出力符号量）、送信データのトラフィック量のうち、少なくとも１つに基づいて、サブブロック長（サブブロックの分割長）を決定すればよい。
【００５５】
ユーザ情報分割部１０６は、サブブロック長制御部１０５から指示されるサブブロック長に従って、パケット生成部１０２から入力される伝送パケットのペイロードであるユーザデータ（映像符号）を適切な長さ（所定の長さ）のサブブロックに分割し、サブブロックをサブブロック割当部１０７に出力する。
【００５６】
サブブロック割当部１０７は、ユーザ情報分割部１０６から受け取った伝送パケットのペイロードを分割したサブブロックを蓄積する。そして、サブブロック割当部１０７は、サブブロックを、誤り訂正の演算単位となるブロック（サブブロックの組み合わせ）に割り当てる。具体的には、サブブロック割当部１０７は、サブブロック長制御部１０５からの指示に従って、複数の伝送パケットから１つずつサブブロックを取り出して、取り出したサブブロックの組合せを誤り訂正符号生成部１０８に出力する。
【００５７】
誤り訂正符号生成部１０８は、サブブロック割当部１０７から受け取った複数のサブブロック（各ブロックに割り当てられたサブブロック）に対して、誤り訂正符号のアルゴリズムを用いて誤り訂正符号を生成し、生成した誤り訂正符号を冗長符号多重部１０３に出力する。
【００５８】
図６の映像受信側伝送装置１１において、パケット受信制御部１１１は、ネットワークの通信規約に基づいた手順で、ネットワークの伝送路からパケット（映像送信側伝送装置１０から送信されたパケット）を受信し、受信したパケットを受信パケット蓄積部１１２に出力する。
【００５９】
受信パケット蓄積部１１２は、パケット受信制御部１１１で受信されたパケットを、一定時間若しくは一定個数蓄積（保持）する。
【００６０】
パケット整列部１１３は、受信パケット蓄積部１１２に蓄積されたパケットを取り出して、送信側で生成された順序に整列する。そして、パケット整列部１１３は、整列されたパケットから伝送ヘッダを取り除いて映像符号を再組み立てし、映像符号を映像符号復号部１１４に出力する。
【００６１】
映像符号復号部１１４は、パケット整列部１１３から受け取った映像符号をＭＰＥＧ等の標準アルゴリズムに則って復号し、映像信号を出力する。
【００６２】
一方、パケット整列部１１３が受信パケット蓄積部１１２から伝送パケットを取り出すのと並行して、パケット欠落検出部１１５は、受信パケット蓄積部１１２に格納されているパケット列を監視して、欠落したパケットを検出する。すなわち、パケット欠落検出部１１５は、受信したパケットに基づいて、ネットワーク（通信路）上における、映像送信側伝送装置１０から送信されたパケットの欠落を検出する。そして、パケット欠落検出部１１５は、パケットの欠落を検出した場合には、誤り訂正損失パケット再生成部１２０に対して、欠落したパケットの再生成を指示する。
【００６３】
パケットの再生成の処理にあたり、冗長符号分離部１１６は、受信パケット蓄積部１１２によって蓄積されたパケットに多重化されている誤り訂正符号、及び、誤り訂正のための管理情報（サブブロック長情報、サブブロックの組合せパターン情報）を、パケットから分離する。具体的には、冗長符号分離部１１６は、伝送パケット内の誤り訂正符号と誤り訂正のための管理情報（サブブロック長情報、サブブロックの組合せパターン情報）とを分離し、誤り訂正符号を誤り訂正損失パケット再生成部１２０へ出力し、管理情報をサブブロック長検出部１１７へ出力する。
【００６４】
サブブロック長検出部１１７は、冗長符号分離部１１６から受け取った、誤り訂正のための管理情報（連続するパケットに格納された管理情報列）の中から、サブブロック長情報、及び、サブブロックの組合せパターン情報を検出し、サブブロック長情報をユーザ情報分割部１１８へ出力し、サブブロックの組合せパターン情報をサブブロック割当部１１９へ出力する。
【００６５】
ユーザ情報分割部１１８は、受信パケット蓄積部１１２に格納されている伝送パケットのペイロード内のユーザデータ（映像符号）を、サブブロック長検出部１１７から指示されたサブブロック長情報に基づいて分割し、複数のサブブロックを生成する。そして、ユーザ情報分割部１１８は、生成したサブブロックをサブブロック割当部１１９へ出力する。
【００６６】
サブブロック割当部１１９は、サブブロック長検出部１１７から指示されたサブブロックの組合せパターン情報に基づき、ユーザ情報分割部１１８から受け取ったサブブロック（複数の伝送パケットから生成された複数のサブブロック）を組み合わせて、誤り訂正の演算単位であるブロックを再構成する。つまり、サブブロック割当部１１９は、ユーザ情報分割部１１８によって分割されたサブブロックを、誤り訂正の演算単位となるブロックに割り当てる。そして、サブブロック割当部１１９は、再構成したブロックを、誤り訂正損失パケット再生成部１２０へ出力する。
【００６７】
誤り訂正損失パケット再生成部１２０は、冗長符号分離部１１６から受け取った誤り訂正符号と、サブブロック割当部１１９から受け取った、誤り訂正符号のブロックを構成するユーザ情報のサブブロックの組を用いて、誤り訂正符号のアルゴリズムに基づいて、受信されなかったサブブロックを再生成する。具体的には、誤り訂正損失パケット再生成部１２０は、パケット欠落検出部１１５でパケットの欠落が検出された場合には、欠落したパケットを形成するサブブロック毎に、それぞれのサブブロックの復元に必要となる特定のブロックであって、当該サブブロックが割り当てられた特定のブロックに属する誤り訂正符号と、サブブロック割当部１１９によって特定のブロックに割り当てられたサブブロックとを用いて、欠落したパケットを復元する。誤り訂正損失パケット再生成部１２０は、失われたパケットのペイロードを構成するサブブロック全体を再生成するまで本処理を繰り返す。再生成された伝送パケットのペイロードは、パケット整列部１１３に出力され、パケット列の中の適切な位置に挿入される。
【００６８】
なお、映像送信側伝送装置１０のパケット生成部１０２はパケット生成手段として機能し、冗長符号多重部１０３は誤り訂正符号多重化手段として機能し、パケット送信制御部１０４はパケット送信手段として機能し、サブブロック長制御部１０５はサブブロック分割長制御手段として機能し、ユーザ情報分割部１０６は第１のサブブロック分割手段として機能し、サブブロック割当部１０７は第１のサブブロック割当手段として機能し、誤り訂正符号生成部１０８は誤り訂正符号生成手段として機能する。また、映像受信側伝送装置１１のパケット受信制御部１１１はパケット受信手段として機能し、受信パケット蓄積部１１２はパケット蓄積手段として機能し、パケット欠落検出部１１５はパケット欠落検出手段として機能し、冗長符号分離部１１６は誤り訂正符号分離手段として機能し、サブブロック長検出部１１７はサブブロック長検出手段として機能し、ユーザ情報分割部１１８は第２のサブブロック分割手段として機能し、サブブロック割当部１１９は第２のサブブロック割当手段として機能し、誤り訂正損失パケット再生成部１２０は欠落パケット復元手段として機能する。
【００６９】
以上のように構成されたデータ通信システムについて、図７〜図９を用いてその動作を説明する。図７は映像送信側伝送装置１０の基本的な動作を説明した図を示し、図８は映像受信側伝送装置１１のパケット欠落時の基本的な動作を説明した図を示し、図９はネットワークの回線品質として、複数個の連続したパケットの欠落が発生する状態に対応して、パケットをインタリーブさせた際の本発明におけるデータ通信システムの動作を説明した図を示す。
【００７０】
図７において、映像符号化部１０１は、ユーザデータ２０１（映像符号）を生成する。パケット生成部１０２は、ユーザデータ２０１を適切な長さ（一定長）に分割して（伝送パケット化して）、ペイロード２１１〜２１６を生成し、それぞれに伝送ヘッダ２２１〜２２６を付加して伝送パケットを生成する。
【００７１】
冗長符号多重部１０３は、生成された伝送パケットにおいて、伝送ヘッダの直後に誤り訂正符号情報２３１〜２３５を多重する。ここで、誤り訂正符号情報とは、誤り訂正符号とその管理・制御情報を含む情報要素である。誤り訂正符号情報の多重方法の一つとして、伝送プロトコルＲＴＰの拡張ヘッダを用いる方法がある。この方法において、ネットワーク内の伝送装置、中継装置では、誤り訂正符号情報が伝送ヘッダ２２２〜２２６と一体のヘッダ情報要素となって見える。
【００７２】
例えば、ペイロード２１１は、ユーザ情報分割部１０６で一定の長さに分割され、サブブロック２１１ａ〜２１１ｅとなる。ペイロード２１２〜２１６も同様に、それぞれ５個のサブブロック（サブブロック２１２ａ〜２１６ｅ）に分割される。なお、図７では、ペイロードを５個のサブブロックに分割する場合を一例として説明するが、ペイロードの分割数（生成されるサブブロック数）は５個に限らない。
【００７３】
サブブロック割当部１０７は、これらのサブブロックの中から、１つずつ各パケット内の位置をずらした組合せを取り出して誤り訂正符号生成部１０８に出力する。例えば、図７に示すサブブロック２１１ｅ、２１２ｄ、２１３ｃ、２１４ｂ、２１５ａを組合せることにより、誤り訂正の演算単位であるブロックが形成される。そして、サブブロックの組み合わせ（ブロック）に対して誤り訂正を行うことで誤り訂正符号を生成する。これにより、図７に示す誤り訂正符号情報２３５が生成される。その他の誤り訂正符号情報２３１〜２３４、及び、後続の誤り訂正符号情報（図示せず）についても同様に、各パケットのペイロードを分割したサブブロックを１つずつパケット内の位置をずらして取り出した組み合わせを用いて生成する。
【００７４】
図８では、映像受信側伝送装置１１が受信した受信パケット３００〜３０９の内、パケット３０４がネットワーク上のいずれかで欠落した場合の動作について説明する。
【００７５】
パケット受信制御部１１１がネットワークから受信したパケット３００〜３０９を受信パケット蓄積部１１２に格納する。なお、ネットワークではパケットの遅延時間がばらつき、パケットの到着順序が入れ替わることもある。このため、受信パケット蓄積部１１２内では、図８に示すようにパケット３００〜３０９の順序で並んでいるとは限らない。そこで、パケット整列部１１３は、これらのパケットを送信側での生成順に並び替えて映像符号復号部１１４に受け渡す。
【００７６】
また、図８では、パケット欠落検出部１１５は、受信パケット蓄積部１１２に格納された受信パケット３００〜３０９を監視し、システムとして許容される遅延時間を経過しても到着しないパケット３０４が欠落していると判断する。
【００７７】
誤り訂正損失パケット再生成部１２０は、パケット欠落検出部１１５がパケットの欠落を検出し、失われたパケット（３０４）の再生成処理を指示されると、再生成に必要なサブブロックを集める。その際、まず、冗長符号分離部１１６は、各パケットから誤り訂正符号情報３３０〜３３９を取り出し、誤り訂正損失パケット再生成部１２０へ出力し、各パケットから誤り訂正符号の管理・制御情報を取り出し、サブブロック長検出部１１７へ出力する。
【００７８】
サブブロック長検出部１１７は、管理・制御情報に基づいて、サブブロックの組合せパターン及びサブブロック長を判定し、組合せパターンをサブブロック割当部１１９へ出力し、サブブロック長をユーザ情報分割部１１８に出力する。例えば、図８では、誤り訂正符号情報３３０〜３３９の中に多重されている、誤り訂正符号の管理・制御情報に基づいて算出されたサブブロックの組合せパターン情報により、失われたパケット（３０４）の再生成に必要な受信パケットは、パケット３００〜３０３、３０５〜３０９と判定される。
【００７９】
図８に示すように、ユーザ情報のペイロードが５個のサブブロックに分割されている場合には、失われたパケットと同一の誤り訂正符号のグループ（ブロック）に属する手前側のパケット４個（（５−１）個）と、後続側のパケット５個とが、受信パケット蓄積部１１２の中から取り出される。すなわち、映像受信側伝送装置１１では、Ｎ個のサブブロックに分割されているときは、失われたパケットの手前側の（Ｎ−１）個のパケット、及び、後続側のＮ個のパケットを取り出す（集める）だけでよい。つまり、失われたパケットを再生成するために集めるべきパケットは、ペイロード長とサブブロック長とだけで一意に決定する。したがって、誤り訂正符号の管理・制御情報としては、サブブロック長及びグループを識別する情報があれば十分となる。換言すると、映像受信側伝送装置１１は、誤り訂正符号ブロックを構成するパケット列内における、失われたパケットの位置を意識する必要がなくなる。なお、グループの利用目的は後述する図９で詳細に説明する。
【００８０】
次に、サブブロックへの分割処理及びサブブロックの組合せについて説明する。
【００８１】
図８に示す受信パケット３００のペイロード、すなわちユーザ情報３１０は、ユーザ情報分割部１１８において、サブブロック長検出部１１７から指示された長さ（サブブロックの分割長）に分割され、サブブロック３１０ａ〜３１０ｅとなる。同様に、受信パケット３０１のペイロードもサブブロック３１１ａ〜３１１ｅに分割される。また、他のパケット３０２〜３０３、３０５〜３０８についても同様にサブブロック（３０２ａ〜３０８ｅ）に分割される。なお、受信パケット３０９については、誤り訂正符号情報３３９のみを使用する。
【００８２】
映像送信側伝送装置１０において、パケット毎に１つずつ位置をずらしたサブブロックで誤り訂正符号ブロックを構成したように、映像受信側伝送装置１１でも、失われたパケットを再生成する際に、パケット内の位置を１つずつずらしたサブブロックを組み合わせて誤り訂正符号ブロックを生成する。例えば、サブブロック割当部１１９は、失われたパケット３０４のペイロードの先頭サブブロック３１４ａを再生成（復元）するために、サブブロック３１０ｅ、３１１ｄ、３１２ｃ、３１３ｂと誤り訂正符号情報３３５内の誤り訂正符号を、１つの誤り訂正符号ブロックとして組み合わせる。そして、サブブロック割当部１１９は、生成した誤り訂正符号ブロックを誤り訂正損失パケット再生成部１２０へ出力する。
【００８３】
同様に、サブブロック割当部１１９は、失われたパケット３０４のペイロードの２番目のサブブロック３１４ｂを再生成するために、サブブロック３１１ｅ、３１２ｄ、３１３ｃ、３１５ａと誤り訂正符号情報３３６内の誤り訂正符号を組み合わせる。また、例えば、サブブロック長制御部１０５は、失われたパケット３０４のペイロードの末尾のサブブロック３１４ｅを再生成するために、サブブロック３１５ｄ、３１６ｃ、３１７ｂ、３１８ａと誤り訂正符号情報３３９内の誤り訂正符号を組み合わせる。このように、サブブロック長制御部１０５は、失われたパケット３０４のペイロードを構成するサブブロックの再生成を順に行う。以上により、失われたパケット３０４のペイロード、すなわちユーザ情報３１４の再生成に必要なサブブロック３１４ａ〜３１４ｅがそれぞれ再生成される。
【００８４】
本実施の形態では、元々１つの符号情報を分割して、複数のパケットのペイロードに搭載するため、伝送ヘッダに格納されている情報の冗長度が高い。しかし、映像受信側伝送装置１１では、失われたパケットのうち、ペイロード部分のみを再生成するので、ユーザ情報を無損失で出力することが可能である。
【００８５】
誤り訂正損失パケット再生成部１２０は、再生成したペイロード３１４をパケット整列部１１３に出力する。そして、パケット整列部１１３は、正常に受信したパケットのペイロード３１０〜３１３，３１５〜３１９を受信パケット蓄積部１１２から取り出し、再生成されたペイロード３１４とともに生成順に整列させて結合し、映像符号として映像符号復号部１１４に出力する。映像符号復号部１１４は、映像符号を復号して映像信号を得る。
【００８６】
図９は、複数個の連続したパケットが欠落する劣悪なネットワーク状態における動作について説明する。
【００８７】
図９において、連続するパケット４０１〜４２０は、パケット生成順（例えば、ＲＴＰのシーケンス番号順）４３１、４３２、４３３で生成され、これらのパケットを４つのグループに分類している。図９に示すように、１つ目のグループ４４１は、パケット４０１、４０５、４０９、４１３、４１７から構成される。２つ目のグループ４４２は、パケット４０２、４０６、４１０、４１４、４１８から構成される。３つ目のグループ４４３は、パケット４０３、４０７、４１１、４１５、４１９から構成される。４つ目のグループ４４４は、パケット４０４、４０８、４１２、４１６、４２０から構成される。なお、図９に示したパケット以降に継続するパケット（図示せず）についても、同様にグループ４４１〜４４４のいずれかに属することとする。これにより、欠落するパケットの連続個数が４個（つまり、グループ数）以下の場合には、各グループにおける欠落するパケットの数は１個以下（すなわち、多くとも１個）となる。
【００８８】
例えば、図９において、パケット生成順４３２で示されるパケット４０７、４０８、４０９，４１０（４個のパケット）が伝送途中にネットワーク上のいずれかで連続的に失われたとする。つまり、グループ４４１ではパケット４０９が失われ、グループ４４２ではパケット４１０が失われ、グループ４４３ではパケット４０７が失われ、グループ４４４ではパケット４０８が失われたことになり、各グループ内ではそれぞれ１個のパケットの欠落として観測される。
【００８９】
つまり、パケットのペイロード１個分の誤り訂正能力を有する誤り訂正符号方式を用いた場合でも、図９に示すようなインタリーブ技術を組み合わせることで、連続したバースト損失に対応できることは、既に一般的な技術として行われている。本実施の形態では、図８に示すように、このインタリーブの際の各パケットが属するグループを示す情報を誤り訂正符号情報に識別子として格納することにより、映像受信側伝送装置１１では、容易にグループを識別することが可能となり、訂正に必要なパケットの収集判断が可能となる。
【００９０】
次に、本実施の形態のデータ通信システム（図６）における映像送信側伝送装置１０の主要部の効率的な実装例を図１０を用いて説明する。
【００９１】
図１０において、ソフトウェアのタスクを２つ（送信タスク５０１及び誤り訂正符号（ＦＥＣ）生成タスク５０２）を定義する。送信タスク５０１は、映像符号化部１０１で生成されたユーザデータ（映像符号）を送信待ち符号バッファ５４１に格納する。また、送信待ち符号バッファ５４１では、パケットのペイロード長に合わせた長さにユーザデータを分割し、ペイロード５１１、５１２、５１３が生成されている。送信タスク５０１では、先頭のペイロード５１１に伝送ヘッダ５２１を付加して伝送パケットを生成し、ＦＥＣ生成タスク５０２を呼び出した後、伝送パケット５６をパケット送信制御部１０４を介してネットワークに送出する。
【００９２】
ＦＥＣ生成タスク５０２（主に誤り訂正符号生成部１０８に対応）には、インタリーブのグループの数に応じたワークメモリ５５１〜５５４が備えられ、各ワークメモリに対する読出ポインタ５６１ａと書込ポインタ５６１ｂを設ける。
【００９３】
また、読出ポインタ５６１ａと書込ポインタ５６１ｂには、サブブロック長分のオフセット（サブブロックの分割長に相当するオフセット）を持たせる。すなわち、読出ポインタ５６１ａにサブブロック長を加算したものが書込ポインタ５６１ｂとなる。
【００９４】
送信タスク５０１から呼び出された誤り訂正符号生成タスク５０２には、送信待ちパケットの伝送ヘッダ５２１とペイロード５１１のメモリ上の番地が引数として渡される。誤り訂正符号生成タスク５０２は受け取った引数を用いて送信待ちパケットの各情報にアクセスする。
【００９５】
なお、本実施の形態では、上述したように、伝送パケットのペイロード５１１を一定の長さのサブブロック５１１ａ〜５１１ｅに分割し、前後のパケットの該当する位置のサブブロックをそれぞれ組み合わせて誤り訂正符号を生成する。
【００９６】
例えば、図１０において、誤り訂正符号生成タスク５０２は、先頭のパケットが属するインタリーブのグループが＃ｌと判定された場合、＃ｌの当該ワークメモリ５５２を選択し、各サブブロックに対する誤り訂正符号生成のための演算を書込ポインタ５６１ｂの指し示す位置から順に実行する。誤り訂正符号の方式として、排他的論理和（ＸＯＲ）を用いる場合でも、生成多項式による除算の剰余を用いる場合でも、ワークメモリ５５２には演算結果（誤り訂正符号の逐次的な演算過程の中間値）だけを格納すればよい。なお、方式によりサブブロック境界を意識する場合もあるが、書込ポインタ５６１ｂからの単純な加算でサブブロック境界が求められるため、特別なハードウェアを必要とはしない。また、ワークメモリ５５２の末尾には、未演算の領域５６３があるため、誤り訂正符号の演算の前にゼロ（初期値“０”）でクリアしておく。また、ペイロード５１１が格納されているメモリ上でも、ワークメモリ５５２上でも、各サブブロックは、連続した番地に割り当てられているので、個々のサブブロックの境界を指し示すポインタは不要となり、先頭位置から順に、そのハードウェアの効率の良い長さ（８ビット、１６ビット、３２ビット、等）で演算が施される。
【００９７】
また、ワークメモリの分類を示すインタリーブのグループ識別子“＃ｌ”は、サブブロック長と共に、誤り訂正符号の管理・制御情報５３１ａとして、伝送パケットの伝送ヘッダ５２１の後ろに多重する。演算終了後、読出ポインタ５６１ａから書込ポインタ５６１ｂの直前までのワークメモリ上の情報は、誤り訂正符号５３１ｂ（ＦＥＣパリティ）として当該パケットの伝送ヘッダ５２１の後ろに多重される。また、読出ポインタ５６１ａ、書込ポインタ５６１ｂは、サブブロック長をそれぞれ加算して新たな読出ポインタ５６２ａ、書込ポインタ５６２ｂに更新される。書込ポインタ５６１ｂを新たな書込ポインタ５６２ｂに更新することにより、同一のグループ内で連続するパケットのペイロードを、サブブロック長ずつずらして演算することができる。
【００９８】
このように、ＦＥＣタスク５０２において、サブブロック割当部１０７は、送信タスク５０１においてパケット生成部１０２によって生成されるパケットに対応して、誤り訂正符号の逐次的な演算過程の中間値を順次格納するメモリと、当該メモリに対する読出ポイントと、書込ポイントとを有する。そして、サブブロック割当部１０７は、読出ポインタと書込ポインタとを、パケット毎に順次移動させることにより、分割したサブブロック毎に誤り訂正の演算単位となるブロックへの割り当てを実行する。そして、誤り訂正符号生成部１０８は、書込ポインタが示すサブブロックと、対象パケットに後続するパケットに対応するサブブロックとから、誤り訂正の演算過程の中間値を演算して、その中間値をメモリの書込ポインタの位置に書き込む。そして、誤り訂正符号生成部１０８は、サブブロック割当部１０７によって割り当てられたブロックに属する全てのサブブロックに対する演算が完了すると、読込ポインタが示すサブブロックを誤り訂正符号としてメモリから読み出して出力する。
【００９９】
また、インタリーブのグループ判定は、送信タスク５０１から呼び出される度に、グループを順に割り当てれば十分であり、単純にグループ数による剰余系となるカウンタによっても実現できる。
【０１００】
図１０において、誤り訂正符号生成タスク５０２は、送信タスク５０１内のメモリ上に格納されている先頭パケットのペイロード５１１に対しては参照のみ行い、情報の書き込みを行わなず、そのまま送信タスク５０１（パケット送信制御部１０４）に渡す。このため、リソースの消費を最小限に抑えられ高速な処理が可能となる。また、誤り訂正機能を無効に設定した際には、誤り訂正符号生成タスク５０２の呼び出しを止めるだけで制御が可能となる。
【０１０１】
以上のように、本実施の形態では、サブブロックの分割長をＮ個とすると、受信側での失われたパケットの再生成時には、失われたパケットの手前側の（Ｎ−１）個のパケット、及び、後続側のＮ個のパケットを取り出す（集める）だけでよく、欠落したパケットの再生成時に受信側で必要なパケット蓄積量を一定にすることができる。すなわち、いずれの映像符号のパケットでも、少なくとも、サブブロック分割数Ｎ個後のパケットを受信した時点で再生成が可能となる。これにより、受信側では、再生成処理による遅延時間を一定にすることが可能となる。換言すると、パケット間での再生成処理による処理遅延時間の変動を抑えることができる。
【０１０２】
また、本実施の形態では、誤り訂正符号、及び、誤り訂正符号に関する情報（サブブロック長情報、組み合わせパターン情報等）を各パケットのヘッダに多重するので、各パケットのパリティ部分はデータ量が増えるものの、全体のパケット数は増加しない。つまり、データパケットと誤り訂正符号とを個別にネットワーク上に伝送する場合と比較して、誤り訂正符号を送出することに起因して、全体のパケット数を増加させることが無くなり、かつ、パケットの送出間隔も変化させることが無くなる。
【０１０３】
よって、本実施の形態によれば、誤り訂正符号の負荷に伴うパケット損失率の増加を抑制し、伝送遅延時間及び伝送に伴うジッタ、損失補償処理によるジッタの増大を防止し、高品質な伝送を行うことができる。
【０１０４】
（実施の形態２）
誤り訂正符号は、ネットワークに対してユーザデータ以外の部分であるオーバーヘッドを増加させ、伝送効率を大きく低下させる要因となるものである。したがって、誤り訂正能力を強化すれば、ネットワークに対する負荷、すなわちトラフィック量全体が増加してしまい、輻輳の誘因となる恐れさえある。一方、一定の実効帯域でトラフィック量が制限された場合には、ユーザデータの実質的な伝送容量を削減してしまうものとなる。そのため、ネットワークの伝送品質に基づいて誤り訂正能力を動的に制御する技術が考えられている。
【０１０５】
従来技術において、ネットワークの伝送品質に基づいて誤り訂正能力を制御する際の課題を図１１に示す。
【０１０６】
図１１Ａの上側では、データパケット６個につき１個の誤り訂正符号パケットが送出されている状態を示している。具体的には、データパケット群１１ａ１は、誤り訂正符号を生成する１つのブロックであり、データパケット群１１ａ１に対して誤り訂正符号の演算が行われる。そして、生成された誤り訂正符号パケット１１ａ２がデータパケット（データパケット群１１ａ１）に引き続いてネットワークに送出される。
【０１０７】
ここで、ネットワークの通信路品質が低下し、誤り訂正能力を向上させたいと判断された場合、データパケットと誤り訂正符号パケットとの割合を制御し、誤り訂正符号パケットの割合を増加させる。例えば、図１１Ａの下側は、データパケット６個につき誤り訂正符号パケット１個を生成する処理（図１１Ａの上側）から、データパケット５個につき誤り訂正符号パケット１個を生成する処理に変更した際の動作を示している。具体的には、データパケット群１１ａ３は、データパケット５個で誤り訂正符号を生成する１つのブロックを形成し、データパケット群１１ａ３に対して誤り訂正符号の演算が行われる。そして、生成された誤り訂正符号パケット１１ａ４がデータパケット群１１ａ３に引き続いてネットワークに送出される。
【０１０８】
ここで、受信側の動作を考えると、処理の変更前では６個のデータパケットの後に１個の誤り訂正符号パケットが届いていたため、受信側は、図１１Ａに示すデータパケット１１ａ６の直後のパケット位置１１ａ５に誤り訂正符号パケットが届くと期待している。しかし、実際にはデータパケット群１１ａ３の５個のデータパケットの直後に誤り訂正符号パケット１１ａ４が届くため、受信側は、パケット位置１１ａ５に届くべき誤り訂正符号パケットがデータパケット１１ａ６と順序が入れ替わって先に届いたのか、データパケット１１ａ６に相当するパケットがネットワーク途中で欠落したのか、判断することができない。
【０１０９】
特に、パケットの順序が入れ替わることを許容していないシステムの場合には、データパケットが１個欠落したと誤認識してしまう。また、パケットの順序が入れ替わることを前提としたシステムの場合には、誤り訂正符号パケット１１ａ４の直後にデータパケット１１ａ６が到着したとき、誤り訂正符号パケット１１ａ４がデータパケット群１１ａ３とデータパケット１１ａ６とを併せた６個のパケットに対する誤り訂正符号パケットであると誤認識してしまう恐れがある。そのため、誤り訂正符号パケット１１ａ４には、対象とするデータパケット群１１ａ３を識別するための情報、若しくは、誤り訂正符号パケットの生成割合の変更について、送信側と受信側との間で同期を取るための制御情報の付加が必要となる。
【０１１０】
ただし、この特別な制御情報（同期情報）を誤り訂正符号パケット１１ａ４のみに多重したのでは、当該誤り訂正符号パケット１１ａ４がネットワーク上で欠落した場合に、受信側が、誤り訂正符号ブロックの対象データパケットを６個のままと誤認識する恐れがあり、ブロックの組合せを正しく認識できないため、その後の誤り訂正処理に齟齬を来す恐れがある。
【０１１１】
次に、誤り訂正能力を下げて、伝送効率を向上させる制御の例を図１１Ｂに示す。
【０１１２】
図１１Ｂの上側では、データパケット６個につき１個の誤り訂正符号パケットが送出されている状態を示している。具体的には、パケット群１１ｂ１は、誤り訂正符号を生成する１つのブロックであり、データパケット群１１ｂ１に対して誤り訂正符号の演算が行われる。そして、生成された誤り訂正符号パケット１１ｂ２がデータパケットに引き続いてネットワークに送出される。
【０１１３】
ここで、ネットワークの通信路品質の向上等の要因から、伝送効率を向上させたいと判断された場合、データパケットと誤り訂正符号パケットとの割合を制御し、誤り訂正符号パケットの割合を減少させる。例えば、図１１Ｂの下側は、データパケット６個につき誤り訂正符号パケット１個を生成する処理（図１１Ｂの上側）から、データパケット７個につき誤り訂正符号パケット１個を生成する処理に変更した際の動作を示している。具体的には、データパケット群１１ｂ３は、データパケット７個で誤り訂正符号パケットを生成する１つのブロックを形成し、データパケット群１１ｂ３に対して誤り訂正符号の演算が行われる。そして、生成された誤り訂正符号パケット１１ｂ４はデータパケット群１１ｂ３に引き続いてネットワークに送出される。
【０１１４】
ここで受信側の動作を考えると、処理の変更前では６個のデータパケットの後に１個の誤り訂正符号パケットが届いていたため、受信側は、データパケット１１ｂ６の前のパケット位置１１ｂ５に誤り訂正符号パケットが届くと期待している。しかし、実際には、データパケット群１１ｂ３の７個のデータパケットの後に誤り訂正符号パケット１１ｂ４が届くため、受信側は、パケット位置１１ｂ５に届くべき誤り訂正符号パケットがデータパケット１１ｂ６と順序が入れ替わって後に届いたのか、誤り訂正符号パケット１１ｂ４に相当するパケットがネットワーク途中で欠落したのか、判断することができない。
【０１１５】
特に、パケットの順序が入れ替わることを許容していないシステムの場合には、誤り訂正符号パケットが１個欠落したと誤認識されてしまう。また、パケットの順序が入れ替わることを前提としたシステムの場合には、データパケット１１ｂ６の到着の直後に誤り訂正符号パケット１１ｂ４が到着したとき、誤り訂正符号パケット１１ｂ４がデータパケット群１１ｂ３からデータパケット１１ｂ６を除いた６個のパケットに対する誤り訂正符号パケットと誤認識してしまう恐れがある。そのため、誤り訂正符号パケット１１ｂ４には、対象とするデータパケット群１１ｂ３を識別するための情報、若しくは、誤り訂正符号パケットの生成割合の変更について、送信側と受信側との間で同期を取るための制御情報の付加が必要となる。
【０１１６】
ただし、この特別な制御情報（同期情報）を誤り訂正符号パケット１１ｂ４のみに多重したのでは、当該誤り訂正符号パケット１１ｂ４がネットワーク上で欠落した場合に、受信側が、誤り訂正符号ブロックの対象データパケットを６個のままである誤認識する恐れがあり、ブロックの組合せを正しく認識できないため、その後の誤り訂正処理に齟齬を来す恐れがある。
【０１１７】
図１１Ａ及び図１１Ｂで説明したような誤り訂正処理に齟齬を来さないためには、誤り訂正符号パケットに多重する制御情報だけでなく、データパケットにも何らかの制御情報（同期情報）を多重する必要がある。しかしながら、パケットの欠落又は順序の入れ替わりを考慮した場合には、複雑な保護処理フローを必要とすると共に、ＲＦＣ５１０９（IETF RTP Payload Format for Generic Forward Error Correction）及びＲＦＣ３５５０（IETF RTP: A Transport Protocol for Real-time Applications）等の業界標準仕様と乖離してしまう恐れがある。
【０１１８】
これに対して、図１２および図１３は、本実施の形態におけるデータ通信システムの動作、すなわち、伝送途中での誤り訂正能力の動的制御を行った場合の動作を示している。図１２は、サブブロック長を制御することで誤り訂正能力とオーバーヘッドとを変化させたときの動作を示し、図１３は、インタリーブの間隔、すなわち、インタリーブによるグループの数を減少させたときの動作を示す。
【０１１９】
図１２Ａでは、図１１Ａの一例と同様に、ネットワークの伝送路品質の劣化を検出した等の要因によって誤り訂正能力を向上させるべく、ユーザデータ６個に対して誤り訂正符号１個の割合で誤り訂正符号を生成し多重していた状態から、ユーザデータ５個に対して誤り訂正符号１個の割合で誤り訂正符号を生成し多重する状態へと遷移する場合の動作を示す。
【０１２０】
図１２Ａでは、伝送パケット１２ａ１〜１２ａ８が送信側から順に送出されている。また、例えば、伝送パケット１２ａ１は、伝送ヘッダ１２ａ１１、誤り訂正符号制御ヘッダ１２ａ１２、誤り訂正符号１２ａ１３、ペイロード１２ａ１４から構成され、ペイロード１２ａ１４は６個の等長サブブロックに分割されている。
【０１２１】
伝送パケット１２ａ２〜１２ａ８についても、伝送パケット１２ａ１と同様の情報要素によって構成されている。ただし、伝送パケット間では、ペイロードを分割して生成されたサブブロックの構成に各々違いがある。
【０１２２】
例えば、図１２Ａに示す伝送パケット１２ａ２において、先頭から５番目のサブブロック１２ａ２４ｅまでのサブブロック長は、ペイロードを６個に分割した際の長さである。一方、末尾（６番目）のサブブロックは、ペイロードを６個に分割されたペイロード末尾の部分１２ａ２４ｆと仮想的なゼロ部分１２ａ２５とで形成される。この末尾のサブブロック（１２ａ２４ｆ及び１２ａ２５の合計）のサブブロック長は、ペイロードを５個に分割した際のサブブロック長に等しいものとなる。
【０１２３】
また、図１２Ａに示す伝送パケット１２ａ３において、先頭から４番目のサブブロック１２ａ３４ｄまでのサブブロック長は、ペイロードを６個に分割した際の長さであり、５番目のサブブロック１２ａ３４ｅのサブブロック長は、ペイロードを５個に分割した際の長さである。また、末尾（６番目）のサブブロックは、ペイロード末尾の部分１２ａ３４ｆと仮想的なゼロ部分１２ａ３５とで形成される。この末尾のサブブロック（１２ａ３４ｆ及び１２ａ３５の合計）のサブブロック長は、ペイロードを５個に分割した際のサブブロック長と等しい。
【０１２４】
以下、図１２Ａに示す伝送パケット１２ａ４、１２ａ５、１２ａ６の順に、それぞれ、ペイロードを６個に分割した長さのサブブロック数を１ずつ減じ、ペイロードを５個に分割した長さのサブブロック数を１ずつ増し、かつ、末尾に仮想的なゼロ部分１２ａ４５、１２ａ５５、１２ａ６５を用いて６個目のサブブロックを形成している。
【０１２５】
一方、伝送パケット１２ａ７では、ペイロードは、ペイロードを５個に分割した際の長さのサブブロックのみから構成され、６個目のサブブロックは消滅する。
【０１２６】
なお、伝送パケット１２ａ７に多重される誤り訂正符号１２ａ７３は、６個のサブブロック１２ａ１４ｆ、１２ａ２４ｅ、１２ａ３４ｄ、１２ａ４４ｃ、１２ａ５４ｂ、１２ａ６４ａから算出された誤り訂正符号であり、誤り訂正符号１２ａ７３の長さはペイロードを６個に分割した際の長さとなる。また、伝送パケット１２ａ８に多重される誤り訂正符号１２ａ８３は、伝送パケット１２ａ２で分割されたペイロードの末尾１２ａ２４ｆと仮想的なゼロ部分１２ａ２５とから形成されるサブブロックと、５個のサブブロック１２ａ３４ｅ、１２ａ４４ｄ、１２ａ５４ｃ、１２ａ６４ｂ、１２ａ７４ａとから算出された誤り訂正符号であり、その長さはペイロードを５個に分割した際の長さとなる。
【０１２７】
この手順により、図１２Ａに示すように、伝送パケット１２ａ２〜１２ａ６の順に、末尾のサブブロックに占める仮想的なゼロ部分の割合が増えていき、伝送パケット１２ａ７以降はサブブロック数が５個となる。このため、図１２Ａにおいて、伝送パケット１２ａ８の末尾のサブブロックが誤り訂正符号算出の演算に用いられる時には、誤り訂正符号の算出に用いられるサブブロック数は５個となる。
【０１２８】
ここで、送信側伝送装置が受信側伝送装置に対して、誤り訂正符号として縦（サブブロック間）の排他的論理和（縦パリティ方式）を用いる場合について説明する。この場合、サブブロック内の隣り合う演算単位（ビット、バイト、等）間に誤り訂正符号生成演算上の相互関係はなく、サブブロックの境界をどこに設けようと生成される誤り訂正符号自体は同一のものとなる。それゆえ、ペイロード内のサブブロック間の境界は、次のパケットに多重する先頭のサブブロックと２番目以降のサブブロック間の境界以外は意味を持たない。このため、任意のタイミングでサブブロックの長さを容易に変更することが可能となっている。例えば、図１２Ａにおいて、伝送路の状態に基づいて誤り訂正能力の変更を判断したのが伝送パケット１２ａ７を生成したタイミングであっても、送信側では伝送パケット１２ａ８を生成することが可能となる。すなわち、上記制御の判断の後、従来技術のように、次の誤り訂正符号ブロックを待つことなく即座に誤り訂正能力の変更が可能となる。
【０１２９】
図１２Ｂでは、図１１Ｂの一例と同様に、ネットワークの伝送路品質の向上を検出した等の要因によって伝送効率を向上させるべく、ユーザデータ５個に対して誤り訂正符号１個の割合で誤り訂正符号を生成し多重していた状態から、ユーザデータ６個に対して誤り訂正符号１個の割合で誤り訂正符号を生成し多重する状態へと遷移する場合の動作を示す。
【０１３０】
図１２Ｂでは、伝送パケット１２ｂ１〜１２ｂ８が送信側から順に送出されている。また、例えば、伝送パケット１２ｂ１は、伝送ヘッダ１２ｂ１１、誤り訂正符号制御ヘッダ１２ｂ１２、誤り訂正符号１２ｂ１３、ペイロード１２ｂ１４から構成され、ペイロード１２ｂ１４は５個の等長サブブロックに分割されている。
【０１３１】
伝送パケット１２ｂ２〜１２ｂ８についても、伝送パケット１２ｂ１と同様の情報要素によって構成されている。ただし、伝送パケット間では、ペイロードを分割して生成されたサブブロックの構成に各々違いがある。
【０１３２】
例えば、図１２Ｂに示す伝送パケット１２ｂ２において、先頭から４番目のサブブロック１２ｂ２４ｄまでのサブブロック長は、ペイロードを５個に分割した際の長さであり、５番目のサブブロック１２ｂ２４ｅのサブブロック長は、ペイロードを６個に分割した際の長さである。また、末尾（６番目）のサブブロックは、分割されたペイロード末尾の部分１２ｂ２４ｆと仮想的なゼロ部分１２ｂ２５とで形成される。この末尾のサブブロックのサブブロック長は、ペイロードを６個に分割した際の長さに等しいものとなる。
【０１３３】
また、図１２Ｂに示す伝送パケット１２ｂ３において、先頭から３個目のサブブロック１２ｂ３４ｃまでのサブブロック長は、ペイロードを５個に分割した際の長さであり、４番目のサブブロック１２ｂ３４ｄと５番目のサブブロック１２ｂ３４ｅのサブブロック長は、ペイロードを６個に分割した際の長さである。また、末尾（６番目）のサブブロックは、ペイロード末尾の部分１２ｂ３４ｆと仮想的なゼロ部分１２ｂ３５とで形成される。この末尾のサブブロックのサブブロック長は、ペイロードを６個に分割した際の長さとなる。
【０１３４】
以下、図１２Ｂに示す伝送パケット１２ｂ４、１２ｂ５の順に、それぞれ、ペイロードを５個に分割した長さのサブブロック数を１ずつ減じ、ペイロードを６個に分割した長さのサブブロック数を１ずつ増し、かつ、末尾に仮想的なゼロ部分１２ｂ４５、１２ｂ５５を用いて６個目のサブブロックを形成している。
【０１３５】
一方、伝送パケット１２ｂ６では、ペイロードは、ペイロードを６個に分割した際の長さのサブブロックのみから構成され、仮想的なゼロ部分は消滅する。
【０１３６】
なお、伝送パケット１２ｂ７に多重される誤り訂正符号１２ｂ７３は、５個のサブブロック１２ｂ２４ｅ、１２ｂ３４ｄ、１２ｂ４４ｃ、１２ｂ５４ｂ、１２ｂ６４ａから算出された誤り訂正符号であり、誤り訂正符号１２ｂ７３の長さはペイロードを６個に分割した際の長さとなる。また、伝送パケット１２ｂ８に多重される誤り訂正符号１２ｂ８３は、伝送パケット１２ｂ２で分割されたペイロードの末尾１２ｂ２４ｆと仮想的なゼロ部分１２ｂ２５とから形成されるサブブロックと、５個のサブブロック１２ｂ３４ｅ、１２ｂ４４ｄ、１２ｂ５４ｃ、１２ｂ６４ｂ、１２ｂ７４ａとから算出された誤り訂正符号であり、誤り訂正符号１２ｂ８３の長さはペイロードを６個に分割した際の長さとなる。
【０１３７】
この手順により、図１２Ｂに示すように、伝送パケット１２ｂ２〜１２ｂ５の順に、末尾のサブブロックに占める仮想的なゼロ部分の割合が減っていき、伝送パケット１２ｂ６以降はペイロードがサブブロック数６個ちょうどに分割される。このため、図１２Ｂにおいて、伝送パケット１２ｂ６の末尾のサブブロック１２ｂ６４ｆが誤り訂正符号算出の演算に用いられる時には誤り訂正符号の算出に用いられるサブブロック数６個への変更制御が完了する。
【０１３８】
ここで、送信側伝送装置が受信側伝送装置に対して、誤り訂正符号として縦（サブブロック間）の排他的論理和（縦パリティ方式）を用いる場合について説明する。この場合、サブブロック内の隣り合う演算単位（ビット、バイト、等）間に誤り訂正符号生成演算上の相互関係はなく、サブブロックの境界をどこに設けようと生成される誤り訂正符号自体は同一のものとなる。それゆえ、ペイロード内のサブブロック間の境界は、次のパケットに多重する先頭のサブブロックと２番目以降のサブブロック間の境界以外は意味を持たない。このため、任意のタイミングでサブブロックの長さを容易に変更することが可能となっている。例えば、図１２Ｂにおいて、伝送路の状態に基づいて誤り訂正能力の変更を判断したのが伝送パケット１２ｂ６を生成したタイミングであっても、送信側では、伝送パケット１２ｂ７を生成することが可能となる。すなわち、上記制御の判断の後、従来技術のように。次の誤り訂正符号ブロックを待つことなく即座に誤り訂正能力の変更が可能となる。
【０１３９】
また、図１２Ａ及び図１２Ｂにおいて、誤り訂正符号（ＦＥＣ）ヘッダ１２ａ１２、１２ｂ１２には、誤り訂正符号１２ａ１３、誤り訂正符号１２ｂ１３の長さ、及び、ペイロード先頭のサブブロックの長さを誤り訂正符号制御情報として格納しておけばよい。これにより、たとえ切替前後のパケットの欠落が発生しても、受信側では、正しく誤り訂正符号の認識を行うことが可能となる。
【０１４０】
次に、図１３は、インタリーブ間隔を１つ削減した際の、本実施の形態の動作を示す。インタリーブによって伝送パケット列がインタリーブ間隔と等しい数のグループに分割され、誤り訂正符号生成のために形成されるブロックは、各グループ内の伝送パケットのサブブロックで構成される。インタリーブ間隔の増減は、この伝送パケットのグループ数を増減することに他ならない。図１３においては、伝送パケットのグループを１個減ずる際の動作の詳細を表している。
【０１４１】
図１３では、伝送パケット１３０１〜１３１３が送信側から順に送出される。また、例えば、伝送パケット１３０１は、伝送ヘッダ１３０１１、誤り訂正符号制御ヘッダ１３０１２、誤り訂正符号１３０１３、ペイロード１３０１４から構成され、ペイロード１３０１４は５個の等長サブブロックに分割されている。また、伝送パケット１３０２〜１３１３についても同様の情報要素によって構成されている。
【０１４２】
また、図１３において、伝送パケット１３０１、１３０３、１３０５、１３０７は第１のインタリーブのグループ（グループ＃ｎ）に属し、伝送パケット１３０２、１３０４、１３０６は第２のインタリーブのグループ（グループ＃ｍ）に属し、伝送パケット１３０８〜１３１３は第１のインタリーブのグループと第２のインタリーブのグループとが統合されたインタリーブグループに属する。
【０１４３】
ここで、図１３に示す７番目の伝送パケット１３０７を送出する時点で、インタリーブ間隔の低減（グループ数の削減）を判断したとし、第２のインタリーブのグループを解消する必要が生じたとする（つまり、グループ＃ｍを廃止し、グループ＃ｎを残すケース）。
【０１４４】
この場合、まず、８番目の伝送パケット１３０８には、第１のインタリーブのグループのサブブロック１３０１４ｄ、１３０３４ｃ、１３０５４ｂ、１３０７４ａから生成された誤り訂正符号１３０８３ａが多重される。
【０１４５】
解消される第２のインタリーブのグループに属する６番目の伝送パケット１３０６よりも後の伝送パケットは生成されない。ただし、第２のインタリーブのグループのサブブロック１３０２４ｃ、１３０４４ｂ、１３０６４ａから生成された誤り訂正符号は、統合されたインタリーブのグループに属する８番目の伝送パケット１３０８に誤り訂正符号１３０８３ｂとして多重される。
【０１４６】
また、８番目の伝送パケット１３０８において、誤り訂正符号を多重するにあたり、インタリーブのグループを識別する情報とそれぞれの誤り訂正符号の長さを示す情報を、誤り訂正符号制御情報１３０８２ａ（グループ＃ｎに関する情報）、１３０８２ｂ（グループ＃ｍに関する情報）として多重する。これにより、個々の誤り訂正符号１３０８３ａ、１３０８３ｂを受信側で正しく分離することが可能となる。
【０１４７】
図１３において、伝送パケットのペイロードは５個のサブブロックに分割されているので、第２のインタリーブのグループの誤り訂正符号を搭載（多重）すべき伝送パケットも同様に５個必要となる。よって、伝送パケット１３０８と同様、伝送パケット１３０９、１３１０、１３１１、１３１２に対して、第１のインタリーブのグループの誤り訂正符号１３０９３ａ、１３１０３ａ、１３１１３ａ、１３１１２ａ及び誤り訂正符号制御情報１３０９２ａ、１３１０２ａ、１３１１２ａ、１３１２２ａと、第２のインタリーブのグループの誤り訂正符号１３０９３ｂ、１３１０３ｂ、１３１１３ｂ、１３１１２ｂ及び誤り訂正符号制御情報１３０９２ｂ、１３１０２ｂ、１３１１２ｂ、１３１２２ｂと、をそれぞれ多重する。これにより、第２のインタリーブのグループに関する誤り訂正符号を残らず受信側に送達できる。
【０１４８】
引き続く伝送パケット１３１３では、第２のインタリーブのグループに関する誤り訂正符号の伝送は完了しているため、誤り訂正符号１３１３３及び誤り訂正符号制御情報１３１３２の１組のみを多重することとなる。
【０１４９】
以上のように、本実施の形態によれば、送信側にサブブロック分割長制御手段を設けることにより、通信途中での誤り訂正能力の増減を、容易に動的に制御することができる。つまり、通信路品質に応じてサブブロックの分割長を変更することで、送受信間での同期機能等の特別な機能を送受信側伝送装置の双方に搭載しなくても、誤り訂正能力と誤り訂正符号による伝送量のオーバヘッドとの関係を動的に制御することが可能となる。
【０１５０】
また、本実施の形態によれば、実施の形態１と同様、誤り訂正符号の負荷に伴うパケット損失率の増加を抑制し、伝送遅延時間及び伝送に伴うジッタ、損失補償処理によるジッタの増大を防止し、高品質な伝送を行うことができる。
【０１５１】
（実施の形態３）
図１４の（ａ）は、業界標準規格として規定されているＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）のパケットの構造を示している（例えば、RFC3550 RTP(Real-time Transport Protocol)を参照）。図１４に示すように、パケットは、ＲＴＰヘッダ１４１とペイロード１４３とから構成され、ペイロード１４３に映像及び音声等のユーザデータが格納される。
【０１５２】
例えば、ＲＴＰヘッダ１４１の先頭から４ｂｉｔ目のｘビット１４４に“１”がセットされると、基本的な情報の末尾にＲＴＰ拡張ヘッダ１４２が付加される。図１４に示すように、ＲＴＰ拡張ヘッダ１４２は、拡張ヘッダのタイプを示すフィールドと、拡張ヘッダの長さを示すフィールドと、ＲＴＰ拡張ヘッダ情報部１４５とから構成され、ＲＴＰを利用するアプリケーションに応じて適切なタイプを与えることにより、任意の情報を多重することが可能となっている。ＲＴＰ拡張ヘッダに対応していない受信端末、又は、多重された拡張ヘッダのタイプに対応しない受信端末は、ＲＴＰ拡張ヘッダ情報部１４５を無視することが規定されている（例えば、RFC3550 RTP(Real-time Transport Protocol)を参照）。
【０１５３】
図１４の（ｂ）は、本実施の形態に係る、ＲＴＰ拡張ヘッダ情報部１４５への情報の多重方法の一例を示す。図１４の（ｂ）に示すように、ＲＴＰ拡張ヘッダ情報部１４５は、複数の情報を多重可能とするために、誤り訂正符号（ＦＥＣ）を取り扱う機能部向けの情報であることを示す情報タイプ１４６ａと、情報要素の長さを示す情報要素長１４６ｂと、誤り訂正符号機能部としてパケット損失補償情報の種別を示すペイロード識別子１４６ｃと、パケット損失補償情報１４７、１４８とから構成される。２個のパケット損失補償情報（パケット損失補償情報１、２）が格納されているのは、例えば、実施の形態２の図１３の状況（２つのグループの誤り訂正符号を多重化する状況）を鑑みたものであり、通常は１個のみ格納される。
【０１５４】
図１４の（ｃ）は、パケット損失補償情報１４７、１４８の内部の構造の一例を示す。図１４の（ｃ）に示すように、パケット損失補償情報１４７は、インタリーブのグループの識別子１４７ａと、誤り訂正符号サブブロックの長さを示すサブブロック長１４７ｂと、誤り訂正符号１４７ｃとから構成される。パケット損失補償情報１４８についても同様の構造を持つこととする。
【０１５５】
図１５は、映像及び音声等の同時複数端末への配信形態の一例である。図１５では、送信側装置１５１が公衆ネットワーク１５５に接続され、伝送パケット列１５８を送出している。受信側装置１５２、１５３、１５４は、公衆ネットワーク１５５を介して送られてきた伝送パケット列１５８を受信して、本来の映像及び音声等の再生を行う。
【０１５６】
また、図１５において、送信側装置１５１、受信側装置１５２及び受信側装置１５４は誤り訂正による損失パケット補償に対応した装置とし、受信側装置１５３は誤り訂正による損失パケット補償に対応しない装置とする。また、受信側装置１５２及び１５３は公衆ネットワーク１５５に直接接続され、受信側装置１５４は公衆ネットワーク１５５とは管理体系の異なるローカルなネットワーク１５６に接続されている。公衆ネットワーク１５５とローカルなネットワーク１５６とは、例えば、ＮＡＰＴ装置１５７（ＮＡＰＴルータ）を介して接続されている。一般的な企業内ネットワーク、家庭内ネットワークのほとんどは、図１５におけるローカルなネットワーク１５６と同様の管理・運用形態を取っている。
【０１５７】
図１５において、公衆ネットワーク１５５内で、宛先によって経路が分岐するポイント毎に、パケット列１５８を複製して、パケット列１５８ａ、１５８ｂ、１５８ｃを生成する。このように、公衆ネットワーク１５５（ＩＰマルチキャスト網）のマルチキャスト配信機能を利用し、送信側装置１５１及び公衆ネットワーク１５５のリソースの節約を図っている。
【０１５８】
図１５において、誤り訂正による損失パケット補償機能として、特許文献１及び非特許文献１に示される従来技術を用いた場合、データパケットと誤り訂正符号パケットとは個別のパケット列を構成するので、公衆ネットワーク内のリソースを消費しやすくなる。更に、データパケット及び誤り訂正符号パケットでそれぞれ構成される２つのパケット列の関係性を標準規格等では担保していない。このため、パケット列１５８ｃがＮＡＰＴ装置１５７を通して、パケット識別情報（ＵＤＰのポート番号等）を変換されたパケット列１５９になってしまうと、受信側装置１５４では、上記関係性を理解不能となってしまい、公衆ネットワーク１５５内で偶然失われたパケットを誤り訂正符号によって再生成することが困難になってしまう。そのため、この場合には特殊なＮＡＰＴ装置（例えば、特開２００９−１８８６８８号公報参照）が必要となる。
【０１５９】
また、誤り訂正による損失パケット補償機能として、従来技術（例えば、特開２００５−２１０２１９号公報）を用いた場合、誤り訂正符号は、パケットのペイロードにユーザ情報とともに多重される。このため、図１５に示すパケット列１５８は１種類となって、ＮＡＰＴ装置１５７を介した受信側装置１５４への配信は問題なく行われる。しかし、パケットの配信先が、誤り訂正符号による損失パケット補償に対応しない受信端末（図１５では受信側装置１５３）である場合には、受信側端末は、そもそも受信した伝送パケットからユーザ情報を取り出すことが不可能となるため、非対応の受信端末（受信側装置１５３）の存在は許容されなくなる。
【０１６０】
これに対して、本実施の形態では、図１４に示すように、誤り訂正符号パケット（１４７ｃ）はＲＴＰの拡張ヘッダに多重化される。これにより、図１５において送信側装置１５１、受信側装置１５２、１５４（誤り訂正符号による損失パケット補償に対応する装置）を用いることで、伝送パケット列１５８は１種類となり、ＮＡＰＴ装置１５７を通して届けられる受信側装置１５４では、誤り訂正符号を正しく分離可能となる。また、ＲＴＰ拡張ヘッダに非対応、若しくはＲＴＰ拡張ヘッダの誤り訂正符号多重機能に非対応の受信側装置１５３では、誤り訂正符号によるパケット損失補償情報を無視するという動作を行う。このため、ＲＴＰパケットのペイロードのユーザ情報は正しく認識され、動画及び音声等を再生することが可能となる。
【０１６１】
以上のように、本実施の形態によれば、ＲＴＰ拡張ヘッダ内に誤り訂正符号による損失パケット補償のための情報（ここでは、誤り訂正符号）を多重して伝送する。これにより、マルチキャスト配信機能を利用してネットワーク内のリソースを節約しつつ、損失パケット補償機能に非対応の受信端末の混在と、本発明による受信端末をＮＡＰＴ装置を介したローカルなネットワークに収容することができる。
【０１６２】
以上、本発明の各実施の形態について説明した。
【産業上の利用可能性】
【０１６３】
本発明は、リアルタイム性を要求するアプリケーションに対しても高品質な伝送ができるという効果を有し、データ通信ネットワークを介して動画像及び音声等をリアルタイムに伝送するデータ通信システム等として有用である。
【符号の説明】
【０１６４】
１０，６０  映像送信側伝送装置
１０１，６０１  映像符号化部
１０２，６０２  パケット生成部
１０３  冗長符号多重部
１０４，６０４  パケット送信制御部
１０５  サブブロック長制御部
１０６，１１８  ユーザ情報分割部
１０７，１１９  サブブロック割当部
１０８，６０５  誤り訂正符号生成部
１１，６１  映像受信側伝送装置
１１１，６１１  パケット受信制御部
１１２，６１３  受信パケット蓄積部
１１３，６１４  パケット整列部
１１４，６１５  映像符号復号部
１１５，６１７  パケット欠落検出部
１１６  冗長符号分離部
１１７  サブブロック長検出部
１２０，６１８  誤り訂正損失パケット再生成部
６０３  パケット多重部
６０６  誤り訂正符号パケット生成部
６１２  パケット多重分離部
６１６  誤り訂正符号パケット蓄積部
【図１】
2012114569.tif 000003
【図２】
2012114569.tif 000004
【図３Ａ】
2012114569.tif 000005
【図３Ｂ】
2012114569.tif 000006
【図４Ａ】
2012114569.tif 000007
【図４Ｂ】
2012114569.tif 000008
【図５】
2012114569.tif 000009
【図６】
2012114569.tif 000010
【図７】
2012114569.tif 000011
【図８】
2012114569.tif 000012
【図９】
2012114569.tif 000013
【図１０】
2012114569.tif 000014
【図１１Ａ】
2012114569.tif 000015
【図１１Ｂ】
2012114569.tif 000016
【図１２Ａ】
2012114569.tif 000017
【図１２Ｂ】
2012114569.tif 000018
【図１３】
2012114569.tif 000019
【図１４】
2012114569.tif 000020
【図１５】
2012114569.tif 000021