(57)【要約】【課題】復号処理に至るまでの遅延時間の短縮化を行い、バースト量を抑制する。【解決手段】復号化装置１は、複数の行および列に構成される複数のパケットを受信するメディアパケット受信部１１と、複数のパケットの行毎および列毎に生成される誤り訂正パケットであって複数のパケットの行列構成情報を含む誤り訂正パケットを複数受信するＦＥＣパケット受信部１２と、受信された誤り訂正パケットに含まれる複数のパケットの行列構成情報に基づいて、損失したパケットを復元するために最小限の蓄積パケット数を決定する蓄積パケット数決定部２２と、決定された蓄積パケット数分受信されるパケットと、これらのパケットと同じタイミングで受信される誤り訂正パケットとを蓄積するバッファ管理部２４と、パケットの損失を検出すると、当該パケットを蓄積されたパケットおよび誤り訂正パケットを用いて復元する復元処理部２３とを備える。【選択図】図１
2010233105.tif 000002
【特許請求の範囲】
【請求項１】
複数の行および列に構成される複数のデータパケットを受信する第１の受信部と、
前記複数のデータパケットの行毎および列毎にそれぞれ生成される誤り訂正パケットであって前記複数のデータパケットの行列構成情報を含む誤り訂正パケットを複数受信する第２の受信部と、
前記第２の受信部によって受信された誤り訂正パケットに含まれる前記複数のデータパケットの行列構成情報に基づいて、損失したデータパケットを復元するために最小限の蓄積パケット数を決定する決定部と、
前記決定部によって決定された蓄積パケット数分の前記第１の受信部によって受信されるデータパケットと、これらのデータパケットと同じタイミングで前記第２の受信部によって受信される誤り訂正パケットとを蓄積する蓄積部と、
前記第１の受信部によって受信されたデータパケットの損失を検出すると、当該データパケットを、前記蓄積部によって蓄積されたデータパケットおよび誤り訂正パケットを用いて復元する復元部と
を有することを特徴とする誤り訂正制御装置。
【請求項２】
前記第１の受信部によって受信されたデータパケットの受信時間と、前記蓄積パケット数とに基づいて、前記蓄積部によって蓄積された各データパケットの復号処理への送信時間を生成する送信時間生成部を有することを特徴とする請求項１に記載の誤り訂正制御装置。
【請求項３】
前記送信時間生成部は、
前記蓄積部によって蓄積された各データパケットのうち、最初に蓄積されたデータパケットの受信時間と、当該データパケットの受信後、蓄積パケット数後に受信されたデータパケットの受信時間との差を遅延時間として算出して、この算出した遅延時間を各データパケットの受信時間に加算して、各データパケットの送信時間を生成することを特徴とする請求項２に記載の誤り訂正制御装置。
【請求項４】
前記送信時間生成部は、
前記復元部によって復元されたデータパケットに対応する送信時間を、当該データパケットに含まれる再生タイミングを示すサンプリング数と、当該データパケットの直前または直後のデータパケットのサンプリング数および送信時間とを用いて生成する復元パケット送信時間生成部を含むことを特徴とする請求項２または請求項３に記載の誤り訂正制御装置。
【請求項５】
前記第１の受信部によって受信された第１のデータパケットの受信時間が、当該データパケットの直前に受信された第２のデータパケットの受信時間から所定時間以上経過しているか否かを判定する判定部を有し、
前記復元部は、
前記判定部によって前記第１のデータパケットの受信時間が、前記第２のデータパケットの受信時間から所定時間以上経過していると判定された場合には、前記第１のデータパケットを、前記蓄積部によって蓄積されたデータパケットおよび誤り訂正パケットを用いて復元することを特徴とする請求項２から請求項４のいずれか１つに記載の誤り訂正制御装置。
【請求項６】
複数の行および列に構成される複数のデータパケットを受信する第１の受信工程と、
前記複数のデータパケットの行毎および列毎にそれぞれ生成される誤り訂正パケットであって前記複数のデータパケットの行列構成情報を含む誤り訂正パケットを複数受信する第２の受信工程と、
前記第２の受信工程によって受信された誤り訂正パケットに含まれる前記複数のデータパケットの行列構成情報に基づいて、損失したデータパケットを復元するために最小限の蓄積パケット数を決定する決定工程と、
前記決定工程によって決定された蓄積パケット数分の前記第１の受信工程によって受信されるデータパケットと、これらのデータパケットと同じタイミングで前記第２の受信工程によって受信される誤り訂正パケットとを蓄積する蓄積工程と、
前記第１の受信工程によって受信されたデータパケットの損失を検出すると、当該データパケットを、前記蓄積工程によって蓄積されたデータパケットおよび誤り訂正パケットを用いて復元する復元工程と
を含むことを特徴とする誤り訂正制御方法。
【請求項７】
画像データまたは音声データを含むメディアデータを符号化する符号化装置と、前記符号化装置とネットワークを介して接続され、前記メディアデータを復号化する復号化装置とを有するメディアデータ配信システムであって、
前記復号化装置は、
複数の行および列に構成される複数のデータパケットを前記符号化装置から受信する第１の受信部と、
前記複数のデータパケットの行毎および列毎にそれぞれ生成される誤り訂正パケットであって前記複数のデータパケットの行列構成情報を含む誤り訂正パケットを複数前記符号化装置から受信する第２の受信部と、
前記第２の受信部によって受信された誤り訂正パケットに含まれる前記複数のデータパケットの行列構成情報に基づいて、損失したデータパケットを復元するために最小限の蓄積パケット数を決定する決定部と、
前記決定部によって決定された蓄積パケット数分の前記第１の受信部によって受信されるデータパケットと、これらのデータパケットと同じタイミングで前記第２の受信部によって受信される誤り訂正パケットとを蓄積する蓄積部と、
前記第１の受信部によって受信されたデータパケットの損失を検出すると、当該データパケットを、前記蓄積部によって蓄積されたデータパケットおよび誤り訂正パケットを用いて復元する復元部と
を有することを特徴とするメディアデータ配信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、誤り訂正制御装置、誤り訂正制御方法およびメディアデータ配信システムに関する。
【背景技術】
【０００２】
従来から、インターネット等のＩＰ(Internet Protocol)ネットワークを利用した画像音声配信システムが、一般的に利用されている。例えば、図９に示すように、符号化装置と復号化装置とを備える画像音声配信システムでは、符号化装置と接続されたカメラとマイクからそれぞれ画像と音声を取り込み、取り込まれた画像と音声を圧縮符号化したビット列をＵＤＰ（User Datagram Protocol）パケットとし、インターネット経由で復号化装置に送信する。そして、復号化装置が、ＵＤＰパケットを復号してモニターおよびスピーカーから再生出力する。
【０００３】
ここで、このような画像音声配信システムでのＩＰパケットの転送には、通常ＴＣＰ（Transmission Control Protocol）を用いる場合とＵＤＰを用いる場合とがある。しかしリアルタイム性を重視する画像音声配信システムでは、データの信頼性よりも遅延時間の少ないＵＤＰが用いられる。
【０００４】
ＩＰネットワークでは、送信端末から受信端末へパケットが到達するまでに複数の異なる性能の中継装置を経由したり、伝送帯域が各中継装置間で異なったりする。そのため、物理的、電気的なデータエラーが発生するだけでなく、中継網のトラフィックや中継装置の内部バッファオーバーフロー等が発生し、パケットが途中で破棄されてしまう場合がある。そこで、このようなパケットの損失による影響を低減するため、ＵＤＰで伝送する場合には、さらに高位のレイヤで回数を制限した再送処理方式（ＡＲＱ方式）や損失パケットを復元させるための冗長パケットを常時送信する方式（ＦＥＣ（Forward Error Correction）方式）が用いられる。
【０００５】
また、近年では、例えば４行５列の行列で表される２次元に配列されたパケットに対して冗長パケットを挿入することで、さらに高い復元性を実現させる方式（ＰＲＯ−ＭＰＥＧ（Moving Picture Experts Group）方式）が用いられている。
【０００６】
ここで、ＰＲＯ−ＭＰＥＧ方式のベースとなるＦＥＣ方式について、図１０を参照して説明する。図１０は、ＦＥＣパケットの生成方法の一例を示す図である。図１０に示すように、ＦＥＣパケットは、例えば１０個のパケットの各ビットについて排他的論理和（ＸＯＲ）を算出して生成される。
【０００７】
例えば、第１パケットのビット列が「1,1,1,0,0,0・・・」であり、第２パケットのビット列が「1,0,1,1,0,1・・・」であるとする。すると、第１パケットの第１ビットである「１」と第２パケットの第１ビットである「１」のＸＯＲを算出した値「０」をＦＥＣパケットの第１ビットとし、第２ビット以降も同様に演算して第１パケットと第２パケットについてのＦＥＣパケットを得る。さらに、このＦＥＣパケットと第３パケットとを同様に演算して次のＦＥＣパケットを得て、同様の方法を第１０パケットまで繰り返すことで、パケット１０個に対するＦＥＣパケット１個を得ることになる。
【０００８】
受信側の復号化装置では、パケット１０個とＦＥＣパケット１個を受信するが、パケットの順序を表す情報(例えば、ＲＴＰヘッダ内のシーケンス番号等)を用いて、パケットの並べ替えや損失したパケットの有無を認識する。そして、パケット１０個のうち１個だけが損失した場合であれば、残りのパケット９個とＦＥＣパケットとを、ＸＯＲ演算を行うことにより、損失したパケットが復元されるのである。
【０００９】
上記したように、損失したパケットが復元されるためには、符号化装置はＦＥＣパケットを正確に受信側の復号化装置に送信する必要があるために、例えば、図１１に示すように、ＦＥＣパケットを挿入して、送信する方式がある。
【００１０】
図１１の例では、符号化装置は、４つのパケットから１つのＦＥＣパケットを生成し、５回に１回ＦＥＣパケットを送信する。つまり、パケットを４つ送信した後に、４つのパケットから生成されたＦＥＣパケット１つを送信する。この方式の場合、ＦＥＣパケットの挿入頻度が低いため、パケットとＦＥＣパケットとの合計レートも低くてすむが、連続したパケットの損失に対応することができない。
【００１１】
このようなＦＥＣパケットを行・列の二次元で挿入するのが、ＰＲＯ−ＭＰＥＧ方式である。ここで、ＰＲＯ−ＭＰＥＧ方式を用いたＦＥＣパケットを挿入する方式について、図１２を参照して説明する。図１２に示すように、４行５列の行列を用いたＰＲＯ−ＭＰＥＧ方式では、符号化装置が、ＦＥＣ方式と同様に行方向の５つのパケットごとに１つのＦＥＣパケットを挿入するとともに、列方向の４つのパケットごとに１つのＦＥＣパケットを挿入する。
【００１２】
例えば、１行目の行方向のＦＥＣパケットＦＥＣ´１は、連続して配置されたパケットＰｋｔ１〜５の各ビットについてＸＯＲを算出して生成される。また、１列目の列方向のＦＥＣパケットＦＥＣ１は、離散的に配置されたパケットＰｋｔ１、６、１１、１６の各ビットについてＸＯＲを算出して生成される。そして、行方向のＦＥＣパケットは、例えば行方向の５つのパケットＰｋｔ１〜５が送信された後のタイミングで送信される。また、列方向のＦＥＣパケットは、例えばパケットが連続して送信されない状況を回避するために、後続する次の行列に配置されるパケット群Ｐｋｔ２１〜４０が送信されるタイミングで離散的に送信される。
【００１３】
このような二次元行列に対してＦＥＣパケットを生成するＰＲＯ−ＭＰＥＧ方式の特徴を、図１３を参照して説明する。図１３は、ＰＲＯ−ＭＰＥＧ方式の特徴を示す図である。図１３に示すように、ＰＲＯ−ＭＰＥＧ方式では、ＦＥＣ方式では復元不可能であった、パケットが連続して損失した場合にも対応が可能となる。
【００１４】
例えば、パケットＰｋｔ１〜５が連続して損失した場合に、１列目の列方向のＦＥＣパケット（ＦＥＣ１）を受信することにより、パケットＰｋｔ１が復元可能となる（ｍ１）。また、２列目の列方向のＦＥＣパケット（ＦＥＣ２）を受信することにより、パケットＰｋｔ２が復元可能となる（ｍ２）。さらに、ＦＥＣパケットＦＥＣ３およびＦＥＣ４を受信することにより、パケットＰｋｔ３およびＰｋｔ４がそれぞれ復元可能となる（ｍ３、ｍ４）。そして、パケットＰｋｔ１〜４が復元すると、パケットＰｋｔ５は、パケットＰｋｔ４とＦＥＣ´１により復元可能となる（ｍ５）。
【００１５】
このようなＦＥＣパケットをパケットと分離して格納して、誤り訂正処理を行うＦＥＣ演算処理を分割して複数行うことにより、演算量が突発的に増大することを防ぐ技術が開示されている。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開２００８−１３１１５３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１７】
しかしながら、誤り訂正にＰＲＯ−ＭＰＥＧ方式を用いる場合、誤り訂正を行うために蓄積されるべきパケット数がＦＥＣ方式を用いる場合に比べて多く必要であるため、誤り訂正後に実施される復号処理に移行するまでに多くの遅延時間が発生してしまうという問題がある。また、誤り訂正を行うために蓄積されるべきパケット数がＦＥＣ方式を用いる場合に比べて多く必要であるため、誤り訂正後に一度に大量のパケットが復号処理に送出されてしまうこと（以降、バーストという。）があるという問題がある。
【００１８】
まず、ＰＲＯ−ＭＰＥＧ方式では、誤り訂正を行うために、１つの行列内のパケット総数が１００パケットを超過してはならない仕様となっているため、最大約２００パケットを蓄積することとなる。
【００１９】
これは、パケット総数が１００パケットとなる、例えば１０行１０列の２次元の行列を用いてＰＲＯ−ＭＰＥＧが受信される場合、１つの行列（例えば、行列Ａ）に含まれる複数のパケットの誤り訂正を行うためには、行列Ａに後続する行列（例えば、行列Ｂ）に含まれるパケットが受信されるタイミングで離散的に受信される複数のＦＥＣパケットが必要となるため、受信タイミングの観点から、これらのＦＥＣパケット、行列Ａおよび行列Ｂが蓄積される必要があるからである。
【００２０】
ここで、ストリームが低ビットレートの場合には、高ビットレートと比べて単位時間内に受信されるパケット数が少ないため、仮に常に最大約２００パケットが蓄積されると、高ビットレートと比べて多くの蓄積時間がかかり、復号処理に移行するまでの時間に大きな遅延が発生してしまう。
【００２１】
また、仮に常に最大約２００パケットを蓄積するようにすると、最大約２００パケットのバーストが発生してしまうことがある。例えば、このバーストに関する問題を、図１４を用いて説明する。
【００２２】
図１４に示すように、４行５列の２次元の行列を用いてＰＲＯ−ＭＰＥＧが受信されている場合に、行列Ａの１行目の行方向のパケットＰｋｔ１、５が損失していると、行方向のＦＥＣパケット（Ｆｅｃ´１）によって復元することができない。さらに、１列目の列方向のＦＥＣパケット（ＦＥＣ１）が損失していると、パケットＰｋｔ１を復元することができないため、パケットＰｋｔ５の復元を待つこととなる。そして、行列Ｂの最終行にある行列Ａの５列目の列方向のＦＥＣパケット（ＦＥＣ５）によってパケットＰｋｔ５を復元した後、パケットＰｋｔ１が復元されることとなる。このとき、行列Ｂに含まれるパケットに誤りがないとすると、行列Ａおよび行列Ｂの２行列分のパケットが全て送出可能となり、２行列分のパケット数のバースト量が発生することとなる。
【００２３】
本発明は、上記に鑑みてなされたものであって、復号処理に移行するまでに要する遅延時間の短縮化を行い、バースト量を抑制することができる誤り訂正制御装置、誤り訂正制御方法およびメディアデータ配信システムを提供することを目的とする。
【課題を解決するための手段】
【００２４】
上述した問題を解決し、目的を達成するために、誤り訂正制御装置は、複数の行および列に構成される複数のデータパケットを受信する第１の受信部と、前記複数のデータパケットの行毎および列毎にそれぞれ生成される誤り訂正パケットであって前記複数のデータパケットの行列構成情報を含む誤り訂正パケットを複数受信する第２の受信部と、前記第２の受信部によって受信された誤り訂正パケットに含まれる前記複数のデータパケットの行列構成情報に基づいて、損失したデータパケットを復元するために最小限の蓄積パケット数を決定する決定部と、前記決定部によって決定された蓄積パケット数分の前記第１の受信部によって受信されるデータパケットと、これらのデータパケットと同じタイミングで前記第２の受信部によって受信される誤り訂正パケットとを蓄積する蓄積部と、前記第１の受信部によって受信されたデータパケットの損失を検出すると、当該データパケットを、前記蓄積部によって蓄積されたデータパケットおよび誤り訂正パケットを用いて復元する復元部とを備える構成を採る。
【発明の効果】
【００２５】
以上により、誤り訂正制御装置、誤り訂正制御方法およびメディアデータ配信システムは、復号処理までに要する遅延時間の短縮化を行い、バースト量を抑制することができるという効果を奏する。
【図面の簡単な説明】
【００２６】
【図１】図１は、実施例１に係る復号化装置の構成を示す機能ブロック図である。
【図２】図２は、実施例１に係る復号化装置の誤り訂正処理の処理手順を示すフローチャートである。
【図３】図３は、実施例２に係る復号化装置の構成を示す機能ブロック図である。
【図４−１】図４−１は、１０×５行列のＰｒｏ−Ｍｐｅｇの場合の送信時間の算出方法を示す図である。
【図４−２】図４−２は、１０×５行列のＰｒｏ−Ｍｐｅｇの場合の復元パケットの送信時間の算出方法を示す図である。
【図５】図５は、実施例２に係る復号化装置の送信時間生成処理の処理手順を示すフローチャートである。
【図６】図６は、実施例３に係る復号化装置の構成を示す機能ブロック図である。
【図７】図７は、実施例３に係る復号化装置の誤り訂正処理の処理手順を示すフローチャートである。
【図８】図８は、実施例３に係る復号化装置の送信時間生成処理の処理手順を示すフローチャートである。
【図９】図９は、従来の画像音声配信システムを示す図である。
【図１０】図１０は、ＦＥＣパケットの生成方法の一例を示す図である。
【図１１】図１１は、ＦＥＣパケットを挿入する方式を示す図である。
【図１２】図１２は、ＰＲＯ−ＭＰＥＧ  ＦＥＣパケットを挿入する方式を示す図である。
【図１３】図１３は、ＰＲＯ−ＭＰＥＧ  ＦＥＣの特徴を示す図である。
【図１４】図１４は、ＰＲＯ−ＭＰＥＧ  ＦＥＣのバースト例を示す図である。
【発明を実施するための形態】
【００２７】
以下に、本発明に係る誤り訂正制御装置、誤り訂正制御方法およびメディアデータ配信システムの実施例を図面に基づいて詳細に説明する。なお、本発明に係る誤り訂正制御装置は復号化装置として説明する。また、本実施例によりこの発明が限定されるものではない。
【実施例１】
【００２８】
図１は、本実施例１に係る復号化装置の構成を示す機能ブロック図である。図１に示すように、復号化装置１は、ネットワーク３を介して符号化装置２と接続されている。
【００２９】
符号化装置２は、動画や音声のメディアデータを圧縮符号化したメディアパケットと、
Ｐｒｏ−ＭｐｅｇＦＥＣパケットと、を生成して、それぞれ復号化装置１に送信する。なお、メディアパケットおよびＰｒｏ−ＭｐｅｇＦＥＣパケットは、ＲＴＰ（Real-time Transport Protocol）に準拠したパケットである。
【００３０】
ここで、Ｐｒｏ−ＭｐｅｇＦＥＣパケットについて説明する。Ｐｒｏ−ＭｐｅｇＦＥＣパケットは、Ｐｒｏ−Ｍｐｅｇ方式によって生成されるＦＥＣパケットであり、例えば、ネットワーク３上で発生するメディアパケットの損失を復元するために周期的に挿入されるＦＥＣパケットである。なお、Ｐｒｏ−ＭｐｅｇＦＥＣパケットは、以降「ＦＥＣパケット」と略記するものとする。
【００３１】
具体的には、ＦＥＣパケットは、２次元行列に配置された複数のメディアパケットの行毎および列毎にそれぞれ１つずつ、符号化装置２によって生成されている。
【００３２】
行毎のＦＥＣパケットは、これらのＦＥＣパケットによって損失が復元されることが可能な複数のメディアパケットに続いて送信されるように挿入される。一方、列毎のＦＥＣパケットは、これらのＦＥＣパケットによって損失が復元されることが可能な複数のメディアパケットに後続して送信される次の２次元行列に配置された複数のメディアパケットのいずれかと同じタイミングで送信されるように挿入される。
【００３３】
次に、復号化装置１は、受信部１０と、誤り訂正部２０と、送信部３０と、復号処理部４０と、を備える。
【００３４】
ここで、復号化装置１の処理概要について説明する。復号化装置１は、符号化装置２からメディアパケットおよびＦＥＣパケットを受信すると、ＦＥＣパケットに含まれる２次元行列の行列構成情報を抽出して、この行列構成情報に基づいて、損失したメディアパケットを復元するために最小限の蓄積パケット数を決定する。また、復号化装置１は、決定した蓄積パケット数分の複数のメディアパケットとともに、これらのメディアパケットと同じタイミングで受信される複数のＦＥＣパケットを蓄積する。さらに、復号化装置１は、メディアパケットの損失を検出すると、損失を検出したメディアパケットを、蓄積したメディアパケットおよびＦＥＣパケットを用いて復元する。なお、復号化装置１が行う処理については、後に詳述する。
【００３５】
受信部１０は、符号化装置２からメディアパケットおよびＦＥＣパケットを受信する機能部であり、メディアパケット受信部１１と、ＦＥＣパケット受信部１２と、を備える。
【００３６】
メディアパケット受信部１１は、符号化装置２から送信されたメディアパケットを受信する。また、メディアパケット受信部１１は、受信したメディアパケットを後述するパケット損失検出部２１およびバッファ管理部２４に出力する。
【００３７】
ＦＥＣパケット受信部１２は、符号化装置２から送信されたＦＥＣパケットを、メディアパケットを受信するポートとは異なるポートによって受信する。また、ＦＥＣパケット受信部１２は、受信したＦＥＣパケットを蓄積パケット数決定部２２およびバッファ管理部２４に出力する。具体的には、ＦＥＣパケット受信部１２は、２次元行列に配置される複数のメディアパケットの損失を復元するために生成される複数のＦＥＣパケットのうち、最初に受信されるＦＥＣパケット、すなわち１行目の行方向のＦＥＣパケットを蓄積パケット数決定部２２に出力する。また、ＦＥＣパケット受信部１２は、受信したＦＥＣパケットをバッファ管理部２４に出力する。
【００３８】
ここで、ＦＥＣパケット受信部１２がメディアパケットとの関係においてＦＥＣパケットを受信するタイミングについて説明する。
【００３９】
例えば、２次元行列に配置される複数のメディアパケットのうち、行毎の各ＦＥＣパケットは、行毎の各行に配置されたメディアパケットを受信した直後に受信される。一方、列毎の各ＦＥＣパケットは、これらのＦＥＣパケットによって損失を復元することが可能となる２次元行列に配置された複数のメディアパケットに後続する次の２次元行列に配置された複数のメディアパケットのいずれかと同じタイミングで受信される。したがって、２次元行列に配置される複数のメディアパケットに対応するＦＥＣパケットが全て受信されたときには、これらのメディアパケットに後続する次の２次元行列に配置される複数のメディアパケットが全て受信されていることになる。
【００４０】
なお、ＦＥＣパケット受信部１２は、メディアパケットを受信するポートと異なるポートによってＦＥＣパケットを受信するものとしたが、１つのポートで両方のパケットを受信するものとしても良い。さらに、ＦＥＣパケット受信部１２は、行方向のＦＥＣパケットを受信するポートと列方向のＦＥＣパケットを受信するポートとを分けて、それぞれのＦＥＣパケットを受信するものとしても良い。
【００４１】
誤り訂正部２０は、メディアパケットの損失を復元する機能部であり、パケット損失検出部２１と、蓄積パケット数決定部２２と、復元処理部２３と、バッファ管理部２４と、誤り訂正用バッファ２５と、を備える。
【００４２】
パケット損失検出部２１は、メディアパケットが損失しているか否かを判定して、その判定結果に基づいて、損失したメディアパケットを検出する。具体的には、パケット損失検出部２１は、メディアパケット受信部１１からメディアパケットを取得すると、メディアパケットのＲＴＰヘッダに含まれるシーケンス番号を抽出し、この抽出結果に基づいて、メディアパケットの欠落があった場合には、欠落があったシーケンス番号を持つメディアパケットを復元する旨を復元処理部２３に依頼する。なお、シーケンス番号とは、メディアパケット毎に一意に付けられた番号であり、再生される順序を表した番号である。メディアパケットは、原則としてシーケンス番号の小さい順から大きい順に配置されている。
【００４３】
蓄積パケット数決定部２２は、ＦＥＣパケットのＴＣＰヘッドから２次元行列の行列構成情報を抽出して、この２次元行列の行列構成情報に基づいて、損失したメディアパケットを復元するために最低限必要な蓄積パケット数を決定する。なお、２次元行列の行列構成情報とは、メディアパケットが配置される２次元行列の行数および列数を含む情報である。
【００４４】
具体的には、蓄積パケット数決定部２２は、２次元行列の行列構成情報に含まれる２次元行列の行数と列数とを乗算して、２次元行列に配置されるメディアパケット数を算出する。さらに、蓄積パケット数決定部２２は、算出したメディアパケット数に２を乗算して、２つの２次元行列分のメディアパケット数を蓄積パケット数とする。
【００４５】
これは、２次元行列に配置されるメディアパケットの損失を全て復元するためには、２次元行列の行方向および列方向のＦＥＣパケットが予め蓄積される必要があるが、列方向のＦＥＣパケットは、後続する２次元行列に配置されるいずれかのメディアパケットと同じタイミングで受信されるため、全ての列方向のＦＥＣパケットを蓄積すると、後続する２次元行列に配置される複数のメディアパケットを蓄積することになるからである。
【００４６】
また、蓄積パケット数決定部２２は、蓄積パケット数をバッファ管理部２４に出力する。
【００４７】
復元処理部２３は、損失があったメディアパケットを復元する。具体的には、復元処理部２３は、損失があったシーケンス番号を持つメディアパケットを復元する旨をパケット損失検出部２１から依頼されると、このメディアパケットを復元するために必要なメディアパケットおよびＦＥＣパケットを誤り訂正用バッファ２５から取得して、取得したパケットをＸＯＲ演算して、損失メディアパケットを復元する。
【００４８】
例えば、２次元行列の行列構成情報が４行５列の場合、１行２列に配置されるメディアパケットが損失しているとき、１行目に配置された他のメディアパケットおよび１行目のＦＥＣパケットを誤り訂正用バッファ２５から取得して、取得したパケットをＸＯＲ演算して、１行２列に配置されるメディアパケットを復元することになる。このとき、仮に１行目に配置された他のメディアパケットのうち、１つでも欠落している場合には、２列目に配置された他のメディアパケットおよび２列目のＦＥＣパケットを誤り訂正用バッファ２５から取得して、取得したパケットをＸＯＲ演算して、１行２列に配置されるメディアパケットを復元することになる。
【００４９】
また、復元処理部２３は、復元したメディアパケットを、誤り訂正用バッファ２５の当該シーケンス番号に対応した位置に追加して蓄積する。
【００５０】
バッファ管理部２４は、誤り訂正用バッファ２５に蓄積されるメディアパケットの数を調整する。具体的には、バッファ管理部２４は、蓄積パケット数決定部２２から蓄積パケット数を取得すると、誤り訂正用バッファ２５のサイズを蓄積パケット数に設定する。例えば、バッファ管理部２４は、誤り訂正用バッファ２５に蓄積されるメディアパケットの有効なパケット数をカウンタに設定して、このカウンタを管理するものとしても良い。
【００５１】
また、バッファ管理部２４は、誤り訂正用バッファ２５に蓄積された複数のメディアパケットの数が蓄積パケット数分あるか否かを管理して、蓄積パケット数分ある場合には、誤り訂正用バッファ２５に蓄積された複数のメディアパケットを復号するために送信部３０に出力する。すなわち、バッファ管理部２４は、誤り訂正用バッファ２５に蓄積された蓄積パケット数分のメディアパケットを一度に送信部３０に出力することになる。
【００５２】
誤り訂正用バッファ２５は、メディアパケットを蓄積するメディアバッファと、ＦＥＣパケットを蓄積するＦＥＣバッファとを含む記憶領域である。なお、ＦＥＣバッファは、行方向のＦＥＣパケットを蓄積するバッファと列方向のＦＥＣパケットを蓄積するバッファとを分離して蓄積するものとしても良い。
【００５３】
送信部３０は、メディアパケットを復号処理部４０に送信する機能部であり、ＲＴＰバッファ３１を含む。ＲＴＰバッファ３１は、メディアパケットを復号処理部４０に送出するためにメディアパケットを一時的に蓄積する記憶領域である。
【００５４】
送信部３０は、バッファ管理部２４から蓄積パケット数分の複数のメディアパケットを取得すると、取得したメディアパケットを、ＲＴＰバッファ３１を介して一度に復号処理部４０に送出する。なお、送信部３０は、蓄積パケット数分のメディアパケットを一度に復号処理部４０に出力するものとしたが、これに限定されず、送信タイミングを１メディアパケットずつずらして出力するものとしても良い。
【００５５】
復号処理部４０は、メディアパケットを復号する機能部である。具体的には、復号処理部４０は、送信部３０によってＲＴＰバッファ３１を介して出力されたメディアパケットを復号して、例えばモニターやスピーカーに出力する。
【００５６】
次に、実施例１に係る復号化装置１の誤り訂正処理の処理手順を、図２を参照して説明する。図２は、実施例１に係る復号化装置１の誤り訂正処理の処理手順を示すフローチャートである。
【００５７】
まず、メディアパケット受信部１１が、符号化装置２によって出力されたメディアパケットを受信すると、受信したメディアパケットを、バッファ管理部２４を介して誤り訂正用バッファ２５に蓄積する（ステップＳ１１）。このとき、メディアパケット受信部１１は、受信したメディアパケットをパケット損失検出部２１に出力する。
【００５８】
また、ＦＥＣパケット受信部１２が、符号化装置２によって出力されたＦＥＣパケットを受信すると、受信したＦＥＣパケットを、バッファ管理部２４を介して誤り訂正用バッファ２５に蓄積する（ステップＳ１１）。
【００５９】
また、ＦＥＣパケット受信部１２は、２次元行列に配置されるメディアパケットの損失を復元するために生成されたＦＥＣパケットのうち、１行目の行方向のＦＥＣパケットであるか否かを判定する（ステップＳ１２）。
【００６０】
１行目の行方向のＦＥＣパケットであると判定された場合には（ステップＳ１２Ｙｅｓ）、蓄積パケット数決定部２２は、ＦＥＣパケットのＴＣＰヘッドから２次元行列の行列構成情報を抽出して、この行列構成情報に基づいて、損失したメディアパケットを復元するために最小限の蓄積パケット数を決定する（ステップＳ１３）。具体的には、蓄積パケット数決定部２２は、行列構成情報に含まれる２次元行列の行数と列数とを乗算して、乗算した結果にさらに２を乗算して、２つの２次元行列分のメディアパケット数を蓄積パケット数とする。
【００６１】
そして、バッファ管理部２４は、蓄積パケット数決定部２２によって決定された蓄積パケット数を誤り訂正用バッファ２５の有効なサイズとして、誤り訂正用バッファ２５を調整する（ステップＳ１４）。
【００６２】
パケット損失検出部２１は、メディアパケット受信部１１から出力されたメディアパケットを取得すると、取得したメディアパケットのＲＴＰヘッダに含まれるシーケンス番号を監視し、その監視結果に基づき、メディアパケットに損失があるか否かを判定する（ステップＳ１５）。そして、パケット損失検出部２１は、メディアパケットに損失があった場合には（ステップＳ１５Ｙｅｓ）、損失したメディアパケットを復元する旨を復元処理部２３に依頼する。
【００６３】
損失したメディアパケットを復元する旨の依頼を取得した復元処理部２３は、損失したメディアパケットを、誤り訂正用バッファ２５に蓄積されたＦＥＣパケットおよびメディアパケットを用いて復元して、誤り訂正用バッファ２５に蓄積する（ステップＳ１６）。
【００６４】
そして、バッファ管理部２４は、蓄積パケット数分の全メディアパケットが存在しているか否かを判定する（ステップＳ１７）。
【００６５】
バッファ管理部２４は、蓄積パケット数分の全メディアパケットが存在していないと判定する場合には（ステップＳ１７Ｎｏ）、損失したメディアパケットを復元させるために、ステップＳ１５に遷移する。
【００６６】
バッファ管理部２４は、蓄積パケット数分の全メディアパケットが存在していると判定する場合には（ステップＳ１７Ｙｅｓ）、誤り訂正処理を終了する。
【００６７】
誤り訂正処理が終了すると、引き続き、バッファ管理部２４は、誤り訂正用バッファ２５に蓄積された全メディアパケットを、ＲＴＰバッファ３１を介して復号処理部４０に送信する。
【００６８】
以上のように本実施例１によれば、復号化装置１は、複数の行および列に構成される複数のメディアパケットを受信し、前記複数のメディアパケットの行毎および列毎にそれぞれ生成されるＦＥＣパケットであって前記複数のメディアパケットの行列構成情報を含む複数のＦＥＣパケットを受信する。そして、復号化装置１は、受信されたＦＥＣパケットに含まれる前記複数のメディアパケットの行列構成情報に基づいて、損失したメディアパケットを復元するために最小限の蓄積パケット数を決定する。そして、復号化装置１は、決定された蓄積パケット数分受信されるメディアパケットと、これらのメディアパケットと同じタイミングで受信されるＦＥＣパケットとを蓄積する。さらに、復号化装置１は、受信されたメディアパケットの損失を検出すると、損失が検出されたメディアパケットを、蓄積されたメディアパケットおよびＦＥＣパケットを用いて復元する。
【００６９】
かかる構成によれば、復号化装置１は、損失したメディアパケットを復元するために必要最小限の蓄積パケット数を蓄積した後に、即メディアパケットの損失の復元に取り掛かることができるため、蓄積に伴う遅延時間を短くすることができ、その後の復号処理部４０に移行するまでに要する遅延時間の短縮化を図ることができる。その結果、特に、ストリームが低ビットレートの場合には、復号化装置１は、遅延時間の短縮化を図ることによって、その後の復号処理部４０の負荷を軽減することができる。
【００７０】
また、復号化装置１は、損失したメディアパケットを復元するために決定された必要最小限の蓄積パケット数のみを蓄積しているため、これらの蓄積パケット数分を一度に復号処理部４０に送出することになったとしても、バースト量を抑制することができる。その結果、復号化装置１は、その後の復号処理部４０に要する負担を大幅に軽減することができる。
【００７１】
以下に、遅延時間とバースト量について、常に最大２００個のメディアパケットを蓄積する場合と、メディアパケット（ＲＴＰ）の行列構成情報が例えば４行４列の場合に最小限の蓄積パケット数分のメディアパケットを蓄積する場合と、を比較する。なお、１個のメディアパケット（ＲＴＰ）は、７個のＴＳ（Transport Stream）パケットから構成されるものとして計算する。
【００７２】
常に最大２００個のメディアパケットを蓄積する場合の最大バースト量は、
200（ＲＴＰ）×188（ｂｙｔｅ）×7（ＴＳ数）＝263200ｂｙｔｅということになる。
一方、４行４列の場合に最小限の蓄積パケット数分のメディアパケットを蓄積する場合の最大バースト量は、
4×4×2（ＲＴＰ）×188（ｂｙｔｅ）×7（ＴＳ数）＝48112ｂｙｔｅということになる。
【００７３】
したがって、４行４列の場合に最小限の蓄積パケット数分のメディアパケットを蓄積する場合には、常に最大２００個のメディアパケットを蓄積する場合に比べて、バースト量を約１／５に減少させることができる。
【００７４】
また、１秒間に受信されるメディアパケット（ＲＴＰ）数は、
1300000（ｂｉｔ）／（188（ｂｙｔｅ）×8（ｂｉｔ）×7（ＴＳ数））＝123.4となるため、常に最大２００個のメディアパケットを蓄積する場合の遅延時間は、
200（ＲＴＰ）／123.4＝1.6（秒）ということになる。
一方、４行４列の場合に最小限の蓄積パケット数分のメディアパケットを蓄積する場合の遅延時間は、
4×4×2（ＲＴＰ）／123.4＝0.3（秒）ということになる。
【００７５】
したがって、４行４列の場合に最小限の蓄積パケット数分のメディアパケットを蓄積する場合には、常に最大２００個のメディアパケット数を蓄積する場合に比べて、遅延時間を約１／５に減少させることができる。
【実施例２】
【００７６】
ところで、上記の実施例１では、復号化装置１は、損失したメディアパケットを復元するために最小限の蓄積パケット数分の複数のメディアパケットを蓄積することにより、復号処理部４０に送出するメディアパケットのバースト量を抑えるようにした。本発明はこれに限定されるものではなく、復号化装置１が、損失したメディアパケットを復元するために最小限の蓄積パケット数分の複数のメディアパケットを蓄積して、さらに、蓄積されたメディアパケットの送信時間を生成して、復号処理部４０に送出するメディアパケットのバーストをなくするものとしても良い。
【００７７】
そこで、実施例２に係る復号化装置１が、損失したメディアパケットを復元するために最小限の蓄積パケット数分の複数のメディアパケットを蓄積して、さらに、蓄積されたメディアパケットの送信時間を生成して、復号処理に送出するメディアパケットのバーストをなくする場合を説明する。
【００７８】
まず、実施例２に係る復号化装置１の構成について図３を参照しながら説明する。図３は、実施例２に係る復号化装置１の構成を示す機能ブロック図である。なお、図１に示す復号化装置１と同一の構成については同一符号を付すことで、その重複する構成および動作の説明については省略する。実施例１と実施例２とが異なるところは、受信部１０に受信時間カウンタ５１を、誤り訂正部２０に受信時間管理部６１、受信時間バッファ６２、ヘッダ解析部６３および送信時間生成部６４を、送信部３０に送信時間管理部７１、送信時間バッファ７２、送信時間カウンタ７３および送信制御部７４を追加した点にある。
【００７９】
受信時間カウンタ５１は、時間を計測する計時装置であり、メディアパケット受信部１１によって受信される各メディアパケットの受信時間を受信時間管理部６１に出力する。なお、受信時間カウンタ５１は、後述する送信時間カウンタ７３と同じ時間精度を有している。
【００８０】
受信時間管理部６１は、メディアパケット毎の受信時間を管理する。具体的には、受信時間管理部６１は、受信時間カウンタ５１から取得したメディアパケットの受信時間を、メディアパケット毎に受信時間バッファ６２に蓄積する。また、受信時間管理部６１は、受信時間カウンタ５１から取得したメディアパケットの受信時間を送信時間生成部６４ａに出力する。
【００８１】
復元処理部２３は、損失があったメディアパケットのデータ部分を示すＲＴＰペイロードとＲＴＰヘッダに含まれるタイムスタンプを復元する。具体的には、復元処理部２３は、損失があったメディアパケットを復元するために必要なメディアパケットおよびＦＥＣパケットを誤り訂正用バッファ２５から取得する。そして、復元処理部２３は、取得したパケットのＲＴＰペイロードをそれぞれＸＯＲ演算して、損失メディアパケットのＲＴＰペイロードを復元する。また、復元処理部２３は、取得したパケットのＲＴＰヘッダをそれぞれＸＯＲ演算して、損失メディアパケットのＲＴＰヘッダを復元する。これにより、ＲＴＰヘッダに含まれるタイムスタンプが復元されることになる。
【００８２】
また、復元処理部２３は、復元したメディアパケットを、誤り訂正用バッファ２５の当該シーケンス番号に対応した位置に追加して蓄積する。さらに、復元処理部２３は、復元したメディアパケットの送信時間を生成させるために、復元したＲＴＰヘッダの情報をヘッダ解析部６３に出力する。なお、タイムスタンプとは、メディアパケット毎に再生時のタイミングを表した値である。
【００８３】
ヘッダ解析部６３は、復元処理部２３から復元したメディアパケット（以降、復元メディアパケットという。）のＲＴＰヘッダを取得すると、ＲＴＰヘッダに含まれたタイムスタンプおよびシーケンス番号を抽出して復元送信時間生成部６４ｂに出力する。
【００８４】
送信時間生成部６４は、送信時間生成部６４ａと、復元送信時間生成部６４ｂと、を備える。
【００８５】
送信時間生成部６４ａは、誤り訂正用バッファ２５に蓄積された蓄積パケット数分の複数のメディアパケットの送信時間を生成する。
【００８６】
具体的には、送信時間生成部６４ａは、誤り訂正用バッファ２５に蓄積されたメディアパケットの蓄積パケット数を蓄積パケット数決定部２２から取得する。すなわち、送信時間生成部６４ａは、メディアパケットに欠落があった場合にこのメディアパケットの欠落を復元するために最小限必要となり且つ２つの２次元行列分のメディアパケット数となる蓄積パケット数を取得する。
【００８７】
そして、送信時間生成部６４ａは、受信時間管理部６１から取得されるメディアパケット毎の受信時間と、蓄積パケット数と、に基づいて、蓄積パケット数分のメディアパケットの送信時間を生成する。例えば、送信時間生成部６４ａは、誤り訂正用バッファ２５に蓄積されるメディアパケットのうち、最初に蓄積されるメディアパケットの受信時間と、当該メディアパケットを含んで蓄積パケット数＋１個目に受信されたメディアパケットの受信時間と、の差分を遅延時間として算出する。そして、送信時間生成部６４ａは、算出した遅延時間を、誤り訂正用バッファ２５に蓄積された各メディアパケットの受信時間に加算して、これらのメディアパケットそれぞれの送信時間を生成する。
【００８８】
ここで、送信時間生成部６４ａが蓄積パケット数分のメディアパケットの送信時間を算出する一例を、図４−１を参照して説明する。図４−１は、１０×５行列のＰｒｏ−Ｍｐｅｇの場合の送信時間の算出方法を示す図である。図４−１に示すように、５行１０列の２次元行列を用いたＰｒｏ−Ｍｐｅｇであるため、蓄積パケット数は２個分の２次元行列に配置されたメディアパケットの数１０×５×２個となり、結果として１００個のメディアパケットが受信された順にＮｏ．１、Ｎｏ．２・・・、Ｎｏ．１００と並んでいる。なお、各メディアパケットの受信時間は、受信された順にａ１、ａ２・・・、ａ１００とする。
【００８９】
そして、後続する３個目の２次元行列に配置されたＮｏ．１０１のメディアパケットが受信されたとき、既に誤り訂正用バッファ２５に蓄積されているＮｏ．１〜Ｎｏ．１００のメディアパケットは、送信部３０に送信可能となっている。
【００９０】
そこで、送信時間生成部６４ａは、Ｎｏ．１０１のメディアパケットの受信時間ａ１０１とＮｏ．１のメディアパケットの受信時間との差分を、遅延時間として算出する。さらに、送信時間生成部６４ａは、各メディアパケットの受信時間に遅延時間を加算して得た時間を、各メディアパケットの送信時間とする。これにより、送信時間生成部６４ａは、誤り訂正用バッファ２５に蓄積されている各メディアパケットを順次送信部３０に出力させることができ、バーストを回避することができる。
【００９１】
図３に戻って、送信時間生成部６４ａは、生成された蓄積パケット数分のメディアパケットの送信時間をシーケンス番号と対にして、送信時間管理部７１に出力する。
【００９２】
復元送信時間生成部６４ｂは、復元メディアパケットの送信時間を生成する。
【００９３】
具体的には、復元送信時間生成部６４ｂは、ヘッダ解析部６３から復元メディアパケットのタイムスタンプおよびシーケンス番号を取得する。そして、復元送信時間生成部６４ｂは、取得した復元メディアパケットのタイムスタンプと、取得した復元メディアパケットのシーケンス番号の直前のシーケンス番号におけるメディアパケットの送信時間およびタイムスタンプと、に基づいて、復元メディアパケットの送信時間を生成する。
【００９４】
例えば、復元送信時間生成部６４ｂは、復元メディアパケットのシーケンス番号の直前のシーケンス番号におけるメディアパケットの送信時間を送信時間生成部６４ａから取得する。また、復元送信時間生成部６４ｂは、復元メディアパケットのシーケンス番号の直前のシーケンス番号におけるメディアパケットを誤り訂正用バッファ２５から取得して、取得したメディアパケットのＲＴＰヘッダからタイムスタンプを抽出する。そして、復元送信時間生成部６４ｂは、直前のメディアパケットと復元メディアパケットとのタイムスタンプの差分を算出して、その差分に直前のメディアパケットの送信時間を加算して、復元メディアパケットの送信時間を生成する。
【００９５】
ここで、復元送信時間生成部６４ｂが復元メディアパケットの送信時間を算出する一例を、図４−２を参照して説明する。図４−２は、１０×５行列のＰｒｏ−Ｍｐｅｇの場合の復元メディアパケットの送信時間の算出方法を示す図である。図４−２に示すように、欠落していたメディアパケットＮｏ．ｘ（ｘ＝１〜１００）が復元した場合に、復元メディアパケットＮｏ．ｘの送信時間が、Ｎｏ．ｘの直前のメディアパケットＮｏ．ｘ−１を用いて生成される。
【００９６】
例えば、復元メディアパケットＮｏ．ｘの送信時間（SendTime）は、以下のようになる。なお、TimeStamp x は復元メディアパケットＮｏ．ｘのタイムスタンプであり、SendTime x-1およびTimeStamp x-1は、それぞれＮｏ．ｘの直前のメディアパケットＮｏ．ｘ-1の送信時間およびタイムスタンプを表す。また、accuracyCounterは送信時間カウンタの精度を表し、accuracyTimeStampはタイムスタンプの精度を表す。
SendTime＝SendTime x-1＋（TimeStamp x−TimeStamp x-1）×（accuracyCounter／accuracyTimeStamp）
【００９７】
すなわち、復元送信時間生成部６４ｂは、復元メディアパケットＮｏ．ｘと直前のメディアパケットＮｏ．ｘ−１とのタイムスタンプの差分を算出して、算出したタイムスタンプの差分を送信時間カウンタの精度に調整する。そして、復元送信時間生成部６４ｂは、調整されたタイムスタンプの差分に送信時間を加算して、復元メディアパケットＮｏ．ｘの送信時間を算出する。
【００９８】
図３に戻って、復元送信時間生成部６４ｂは、生成された復元メディアパケットの送信時間をシーケンス番号と対にして、送信時間管理部７１に出力する。
【００９９】
なお、復元送信時間生成部６４ｂは、損失メディアパケットの送信時間を生成するために、損失メディアパケットのシーケンス番号の直前のシーケンス番号におけるメディアパケットを用いるものとしたが、これに限定されず、損失メディアパケットのシーケンス番号の直後のシーケンス番号におけるメディアパケットを用いるものとしても良い。
【０１００】
送信時間管理部７１は、送信時間生成部６４ａから出力される蓄積パケット数分の各メディアパケットに対応する送信時間およびシーケンス番号を、送信時間バッファ７２に蓄積する。また、送信時間管理部７１は、復元送信時間生成部６４ｂから出力される復元メディアパケットに対応する送信時間およびシーケンス番号を送信時間バッファ７２に蓄積する。さらに、送信時間管理部７１は、送信時間バッファ７２に蓄積されたメディアパケットの送信時間およびシーケンス番号を、シーケンス番号の順序毎に順次取り出して、送信制御部７４に出力する。
【０１０１】
送信時間カウンタ７３は、時間を計測する計時装置である。
【０１０２】
送信制御部７４は、送信時間管理部７１から出力されたシーケンス番号に対応するメディアパケットの送信時間を、送信時間カウンタ７３を用いて監視して、送信時間となった場合にこのメディアパケットが出力されるように制御する。具体的には、送信制御部７４は、送信時間管理部７１からシーケンス番号に対応するメディアパケットの送信時間およびシーケンス番号を取得すると、当該送信時間が送信時間カウンタ７３から得た時間以下となった場合に、このシーケンス番号を持つメディアパケットを出力する旨をバッファ管理部２４に依頼する。
【０１０３】
バッファ管理部２４は、送信制御部７４によって指定されたシーケンス番号を持つメディアパケットを出力する旨の依頼を取得すると、誤り訂正用バッファ２５から指定されたシーケンス番号を持つメディアパケットを取得して、ＲＴＰバッファ３１に出力する。
【０１０４】
次に、実施例２に係る復号化装置１の送信時間生成処理の処理手順を、図５を参照して説明する。図５は、実施例２に係る復号化装置１の送信時間生成処理の処理手順を示すフローチャートである。なお、蓄積パケット数決定部２２によって決定された蓄積パケット数が、送信時間生成部６４ａに対して出力されるものとする。
【０１０５】
まず、メディアパケット受信部１１が、符号化装置２によって出力されたメディアパケットを受信すると、受信時間カウンタ５１が、当該メディアパケットの受信時間を受信時間管理部６１に出力する。そして、受信時間管理部６１が、メディアパケットの受信時間を受信時間バッファ６２に蓄積する（ステップＳ２１）。
【０１０６】
そして、送信時間生成部６４ａは、蓄積パケット数決定部２２から蓄積パケット数を取得すると、取得した蓄積パケット数の各メディアパケットの送信時間を算出するために、遅延時間を算出する（ステップＳ２２）。例えば、送信時間生成部６４ａは、誤り訂正用バッファ２５に蓄積されるメディアパケットのうち、最初に蓄積されるメディアパケットの受信時間と、当該メディアパケットを含んで蓄積パケット数＋１個目のメディアパケットの受信時間と、を受信時間管理部６１から取得する。そして、送信時間生成部６４ａは、これらの受信時間の差分を遅延時間として算出する。
【０１０７】
そして、送信時間生成部６４ａは、誤り訂正用バッファ２５に蓄積されるメディアパケットの蓄積パケット数分の受信時間を受信時間管理部６１から取得すると、算出した遅延時間を用いて各メディアパケットの送信時間を算出して（ステップＳ２３）、算出した送信時間を送信時間管理部７１に出力する。具体的には、送信時間生成部６４ａは、算出した遅延時間を、各メディアパケットの受信時間に加算して、各メディアパケットの送信時間を算出する。
【０１０８】
ここで、損失したメディアパケットが復元された場合には、ヘッダ解析部６３は、復元メディアパケットのＲＴＰヘッダに含まれたタイムスタンプを抽出して（ステップＳ２４）、抽出したタイムスタンプを復元送信時間生成部６４ｂに出力する。
【０１０９】
そして、復元メディアパケットのタイムスタンプを取得した復元送信時間生成部６４ｂは、復元メディアパケットの送信時間を算出して（ステップＳ２５）、算出した送信時間を送信時間管理部７１に出力する。具体的には、復元送信時間生成部６４ｂは、復元メディアパケットのタイムスタンプと、復元メディアパケットのシーケンス番号の直前のシーケンス番号を持つメディアパケットのタイムスタンプと、の差分を算出する。そして、復元送信時間生成部６４ｂは、算出した差分に、直前のメディアパケットの送信時間を加算して、復元メディアパケットの送信時間を算出する。
【０１１０】
なお、復元送信時間生成部６４ｂは、復元メディアパケットの送信時間を算出するために、復元メディアパケットのシーケンス番号の直前のシーケンス番号を持つメディアパケットを用いるものとしたが、復元メディアパケットのシーケンス番号の直後のシーケンス番号を持つメディアパケットを用いても良い。
【０１１１】
引き続き、メディアパケットのシーケンス番号の順番に、送信時間管理部７１からメディアパケットの送信時間を取得した送信制御部７４は、送信時間を、送信時間カウンタ７３を用いて監視して、取得した送信時間が送信時間カウンタ７３から得た時間以下になったか否かを判定する（ステップＳ２６）。
【０１１２】
送信制御部７４は、送信時間が送信時間カウンタ７３から得た時間以下になっていないと判定する場合には（ステップＳ２６Ｎｏ）、引き続き、送信時間カウンタ７３を用いて送信時間を監視する。
【０１１３】
一方、送信制御部７４は、送信時間が送信時間カウンタ７３から得た時間以下になったと判定する場合には（ステップＳ２６Ｙｅｓ）、メディアパケットを出力する旨を、シーケンス番号を指定してバッファ管理部２４に依頼する（ステップＳ２７）。
【０１１４】
すると、指定されたシーケンス番号を持つメディアパケットを出力する旨の依頼を取得したバッファ管理部２４は、誤り訂正用バッファ２５から指定されたメディアパケットを取得して、ＲＴＰバッファ３１に出力する（ステップＳ２８）。
【０１１５】
引き続き、送信時間管理部７１は、送信時間バッファ７２に蓄積された送信時間が全て処理された否かを判定する（ステップＳ２９）。
【０１１６】
送信時間管理部７１は、送信時間が全て処理されていないと判定する場合には（ステップＳ２９Ｎｏ）、次の送信時間が処理されるように、ステップＳ２６に遷移する。
【０１１７】
一方、送信時間管理部７１は、送信時間が全て処理されたと判定する場合には（ステップＳ２９Ｙｅｓ）、送信時間生成処理を終了する。
【０１１８】
以上のように本実施例２によれば、復号化装置１は、複数の行および列に構成される複数のメディアパケットを受信し、前記複数のメディアパケットの行毎および列毎にそれぞれ生成されるＦＥＣパケットであって前記複数のメディアパケットの行列構成情報を含むＦＥＣパケットを複数受信する。そして、復号化装置１は、受信されたＦＥＣパケットに含まれる前記複数のメディアパケットの行列構成情報に基づいて、損失したメディアパケットを復元するために最小限の蓄積パケット数を決定する。そして、復号化装置１は、決定された蓄積パケット数分受信されるメディアパケットと、これらのメディアパケットと同じタイミングで受信されるＦＥＣパケットとを蓄積する。そして、復号化装置１は、受信されたメディアパケットの損失を検出すると、損失が検出されたメディアパケットを、蓄積されたメディアパケットおよびＦＥＣパケットを用いて復元する。さらに、復号化装置１は、受信されたメディアパケットの受信時間と決定された蓄積パケット数と、に基づいて、蓄積された複数のメディアパケットの送信時間を生成する。
【０１１９】
かかる構成によれば、復号化装置１は、損失したメディアパケットを復元するために必要最小限の蓄積パケット数を蓄積した後に、即メディアパケットの損失の復元に取り掛かることができるため、蓄積に伴う遅延時間を短くすることができ、その後の復号処理部４０に移行するまでに要する遅延時間の短縮化を図ることができる。その結果、特に、ストリームが低ビットレートの場合には、復号化装置１は、遅延時間の短縮化を図ることによって、その後の復号処理部４０の負荷を軽減することができる。
【０１２０】
また、復号化装置１は、蓄積パケット数分蓄積された複数のメディアパケットの送信時間を生成することにより、これらの蓄積パケット数を順次復号処理部４０に送出することができるため、複数のメディアパケットを一度に復号処理部４０に送出するバーストをなくすことができる。その結果、復号化装置１は、その後の復号処理部４０の負荷を軽減することができる。
【実施例３】
【０１２１】
ところで、上記の実施例２では、復号化装置１が、損失したメディアパケットを復元するために最小限の蓄積パケット数分の複数のメディアパケットを蓄積して、さらに、損失が復元されたメディアパケットを含めて蓄積されたメディアパケットの送信時間を生成して、復号処理部４０に送出するようにした。本発明はこれに限定されるものではなく、復号化装置１が、損失したメディアパケットを復元するために最小限の蓄積パケット数分の複数のメディアパケットを蓄積して、さらに、ネットワーク３上で遅延があった場合に復元されたメディアパケットを含めて蓄積されたメディアパケットの送信時間を生成して、復号処理部４０に送出しても良い。
【０１２２】
そこで、実施例３に係る復号化装置１が、損失したメディアパケットを復元するために最小限の蓄積パケット数分の複数のメディアパケットを蓄積して、さらに、ネットワーク３上で遅延があった場合に復元されたメディアパケットを含めて蓄積されたメディアパケットの送信時間を生成して、複号処理部４０に送出する場合を説明する。
【０１２３】
まず、実施例３に係る復号化装置１の構成について図６を参照しながら説明する。図６は、実施例３に係る復号化装置１の構成を示す機能ブロック図である。なお、図３に示す復号化装置１と同一の構成については同一符号を付すことで、その重複する構成および動作の説明については省略する。実施例２と実施例３とが異なるところは、誤り訂正部２０に遅延判定部６１ａを追加した点にある。
【０１２４】
遅延判定部６１ａは、各メディアパケットの受信間隔をチェックし、メディアパケット毎に、例えばネットワーク３上での何らかの理由により、遅延して受信されたか否かを判定する。具体的には、遅延判定部６１ａは、受信時間カウンタ５１から出力されるメディアパケットの受信時間を受信時間管理部６１から取得すると、この受信時間が当該メディアパケットの直前に受信されたメディアパケットの受信時間から所定値を経過しているか否かを判定する。なお、この所定値は、通信速度に応じてあらかじめ定められるものとする。
【０１２５】
また、遅延判定部６１ａは、メディアパケットが遅延して受信されたと判定する場合には、メディアパケットのデータに信頼性がないものと判断して、当該メディアパケットの復元を復元処理部２３に依頼する。一方、遅延判定部６１ａは、メディアパケットが遅延して受信されたものではないと判定する場合には、受信時間カウンタ５１から取得した当該メディアパケットの受信時間を送信時間生成部６４ａに出力する。
【０１２６】
復元処理部２３は、遅延があったメディアパケットのデータ部分を示すＲＴＰペイロードとＲＴＰヘッダに含まれるタイムスタンプを復元する。なお、復元方法は、損失があったメディアパケットの場合と同様であるため、詳しい説明を省略する。また、復元処理部２３は、復元したメディアパケットの送信時間を生成させるために、復元したＲＴＰヘッダの情報をヘッダ解析部６３に出力する。
【０１２７】
次に、実施例３に係る復号化装置１の誤り訂正処理の処理手順を、図７を参照して説明する。図７は、実施例３に係る復号化装置１の誤り訂正処理の処理手順を示すフローチャートである。なお、図７において、実施例１に係る復号化装置１の誤り訂正処理の処理手順（図２）と同じ部分には同じ符号を付し、詳しい説明を省略する。
【０１２８】
まず、メディアパケット受信部１１が、符号化装置２によって出力されたメディアパケットを受信すると、受信したメディアパケットを、誤り訂正用バッファ２５に蓄積する（ステップＳ１１）とともにパケット損失検出部２１に出力する。また、ＦＥＣパケット受信部１２が、符号化装置２によって出力されたＦＥＣパケットを誤り訂正用バッファ２５に蓄積する（ステップＳ１１）。
【０１２９】
また、ＦＥＣパケット受信部１２は、２次元行列に配置されるメディアパケットの損失を復元するために生成されたＦＥＣパケットのうち、１行目の行方向のＦＥＣパケットであるか否かを判定する（ステップＳ１２）。
【０１３０】
１行目の行方向のＦＥＣパケットであると判定された場合には（ステップＳ１２Ｙｅｓ）、蓄積パケット数決定部２２は、ＦＥＣパケットのＴＣＰヘッドから２次元行列の行列構成情報を抽出して、この行列構成情報に基づいて、損失したメディアパケットを復元するために最小限の蓄積パケット数を決定する（ステップＳ１３）。
【０１３１】
そして、バッファ管理部２４は、蓄積パケット数決定部２２によって決定された蓄積パケット数を誤り訂正用バッファ２５の有効なサイズとして、誤り訂正用バッファ２５を調整する（ステップＳ１４）。
【０１３２】
次に、パケット損失検出部２１は、メディアパケット受信部１１から出力されたメディアパケットのＲＴＰヘッダに含まれるシーケンス番号を監視する（ステップＳ１５）。そして、パケット損失検出部２１は、メディアパケットに損失があった場合には（ステップＳ１５Ｙｅｓ）、損失したメディアパケットを復元する旨を復元処理部２３に依頼する。
【０１３３】
パケット損失検出部２１から損失したメディアパケットを復元する旨の依頼を取得した復元処理部２３は、損失したメディアパケットを、誤り訂正用バッファ２５に蓄積されたＦＥＣパケットおよびメディアパケットを用いて復元して、誤り訂正用バッファ２５に蓄積する（ステップＳ３１）。
【０１３４】
また、遅延判定部６１ａから遅延したメディアパケットを復元する旨の依頼を取得した復元処理部２３は、遅延したメディアパケットを、誤り訂正用バッファ２５に蓄積されたＦＥＣパケットおよびメディアパケットを用いて復元して、誤り訂正用バッファ２５に蓄積する（ステップＳ３１）。
【０１３５】
そして、バッファ管理部２４は、蓄積パケット数分の全メディアパケットが存在しているか否かを判定する（ステップＳ１７）。
【０１３６】
蓄積パケット数分の全メディアパケットが存在していないと判定された場合には（ステップＳ１７Ｎｏ）、損失したメディアパケットまたは遅延したメディアパケットを復元させるために、ステップＳ１５に遷移する。
【０１３７】
蓄積パケット数分の全メディアパケットが存在していると判定された場合には（ステップＳ１７Ｙｅｓ）、誤り訂正処理を終了する。
【０１３８】
次に、実施例３に係る復号化装置１の送信時間生成処理の処理手順を、図８を参照して説明する。図８は、実施例３に係る復号化装置１の送信時間生成処理の処理手順を示すフローチャートである。なお、蓄積パケット数決定部２２によって決定された蓄積パケット数が、送信時間生成部６４ａに対して出力されるものとする。また、図８において、実施例２に係る復号化装置１の送信時間生成処理の処理手順（図５）と同じ部分には同じ符号を付し、詳しい説明を省略する。
【０１３９】
まず、メディアパケット受信部１１が、符号化装置２によって出力されたメディアパケットを受信すると、受信時間カウンタ５１が、当該メディアパケットの受信時間を受信時間管理部６１に出力する。そして、受信時間管理部６１が、メディアパケットの受信時間を受信時間バッファ６２に蓄積する（ステップＳ２１）。
【０１４０】
また、遅延判定部６１ａは、受信時間管理部６１からメディアパケットの受信時間を取得すると、当該メディアパケットが遅延しているか否かを判定する（ステップＳ４１）。
。具体的には、遅延判定部６１ａは、取得したメディアパケットの受信時間が当該メディアパケットの直前に受信されたメディアパケットの受信時間から所定値を経過しているか否かを判定する。
【０１４１】
遅延判定部６１ａが、当該メディアパケットが遅延していると判定する場合には（ステップＳ４１Ｙｅｓ）、当該メディアパケットのデータに信頼性がないものと判断して、当該メディアパケットの復元を復元処理部２３に依頼する（ステップＳ４２）。一方、遅延判定部６１ａが、当該メディアパケットが遅延していないと判定する場合には（ステップＳ４１Ｎｏ）、ステップＳ２２に移行する。
【０１４２】
次に、送信時間生成部６４ａは、蓄積パケット数決定部２２から蓄積パケット数を取得すると、取得した蓄積パケット数の各メディアパケットの送信時間を算出するために、遅延時間を算出する（ステップＳ２２）。
【０１４３】
そして、送信時間生成部６４ａは、誤り訂正用バッファ２５に蓄積されるメディアパケットの蓄積パケット数分の受信時間を受信時間管理部６１から取得すると、算出した遅延時間を用いて各メディアパケットの送信時間を算出して（ステップＳ２３）、算出した送信時間を送信時間管理部７１に出力する。
【０１４４】
ここで、損失したメディアパケットが復元された場合には、ヘッダ解析部６３は、復元メディアパケットのＲＴＰヘッダに含まれたタイムスタンプを抽出して（ステップＳ２４）、抽出したタイムスタンプを復元送信時間生成部６４ｂに出力する。
【０１４５】
そして、復元メディアパケットのタイムスタンプを取得した復元送信時間生成部６４ｂは、復元メディアパケットの送信時間を算出して（ステップＳ２５）、算出した送信時間を送信時間管理部７１に出力する。具体的には、復元送信時間生成部６４ｂは、復元メディアパケットのタイムスタンプと、復元メディアパケットのシーケンス番号の直前のシーケンス番号を持つメディアパケットのタイムスタンプと、の差分を算出する。そして、復元送信時間生成部６４ｂは、算出した差分に、直前のメディアパケットの送信時間を加算して、復元メディアパケットの送信時間を算出する。
【０１４６】
これにより、復元送信時間生成部６４ｂは、遅延があったメディアパケットの遅延時間を是正することができ、復号処理部４０に送出する遅延を短縮化することができる。
【０１４７】
引き続き、メディアパケットのシーケンス番号の順番に、送信時間管理部７１からメディアパケットの送信時間を取得した送信制御部７４は、送信時間を、送信時間カウンタ７３を用いて監視して、取得した送信時間が送信時間カウンタ７３から得た時間以下になったか否かを判定する（ステップＳ２６）。
【０１４８】
送信制御部７４は、送信時間が送信時間カウンタ７３から得た時間以下になっていないと判定する場合には（ステップＳ２６Ｎｏ）、引き続き、送信時間カウンタ７３を用いて送信時間を監視する。
【０１４９】
一方、送信制御部７４は、送信時間が送信時間カウンタ７３から得た時間以下になったと判定する場合には（ステップＳ２６Ｙｅｓ）、メディアパケットを出力する旨を、シーケンス番号を指定してバッファ管理部２４に依頼する（ステップＳ２７）。
【０１５０】
すると、指定されたシーケンス番号を持つメディアパケットを出力する旨の依頼を取得したバッファ管理部２４は、誤り訂正用バッファ２５から指定されたメディアパケットを取得して、ＲＴＰバッファ３１に出力する（ステップＳ２８）。
【０１５１】
引き続き、送信時間管理部７１は、送信時間バッファ７２に蓄積された送信時間が全て処理された否かを判定する（ステップＳ２９）。
【０１５２】
送信時間管理部７１は、送信時間が全て処理されていないと判定する場合には（ステップＳ２９Ｎｏ）、次の送信時間が処理されるように、ステップＳ２６に遷移する。
【０１５３】
一方、送信時間管理部７１は、送信時間が全て処理されたと判定する場合には（ステップＳ２９Ｙｅｓ）、送信時間生成処理を終了する。
【０１５４】
以上のように本実施例３によれば、復号化装置１は、複数の行および列に構成される複数のメディアパケットを受信し、前記複数のメディアパケットの行毎および列毎にそれぞれ生成されるＦＥＣパケットであって前記複数のメディアパケットの行列構成情報を含むＦＥＣパケットを複数受信する。そして、復号化装置１は、受信されたＦＥＣパケットに含まれる前記複数のメディアパケットの行列構成情報に基づいて、損失したメディアパケットを復元するために最小限の蓄積パケット数を決定する。そして、復号化装置１は、決定された蓄積パケット数分受信されるメディアパケットと、これらのメディアパケットと同じタイミングで受信されるＦＥＣパケットとを蓄積する。そして、復号化装置１は、受信されたメディアパケットの受信時間が、当該メディアパケットの直前に受信されたメディアパケットの受信時間から所定時間以上経過しているか否かを判定し、所定時間以上経過していると判定した場合には、受信されたメディアパケットを復元して、復元したメディアパケットを含めて蓄積された複数のメディアパケットの送信時間を生成する。
【０１５５】
かかる構成によれば、復号化装置１は、例えばネットワーク３上で遅延があった場合であっても、遅延したメディアパケットを復元するために必要最小限の蓄積パケット数を蓄積した後に、即メディアパケットの損失の復元に取り掛かることができるため、蓄積に伴う遅延時間を短くすることができ、その後の復号処理部４０に移行するまでに要する遅延時間の短縮化を図ることができる。その結果、特に、ストリームが低ビットレートの場合には、復号化装置１は、遅延時間の短縮化を図ることによって、その後の復号処理部４０の負荷を軽減することができる。
【０１５６】
さらに、復号化装置１は、復元したメディアパケットを含めて蓄積パケット数分蓄積された複数のメディアパケットの送信時間を生成することにより、これらの蓄積パケット数を順次復号処理部４０に送出することができるため、複数のメディアパケットを一度に復号処理部４０に送出するバーストをなくすことができる。その結果、復号化装置１は、その後の復号処理部４０の負荷を軽減することができる。
【０１５７】
なお、上記実施例においては、復号化装置１の内部に受信部１０、誤り訂正部２０および送信部３０が配置される場合を説明した。本発明は、これに限定されるものではなく、復号化装置１の外部に受信部１０、誤り訂正部２０および送信部３０が配置される場合であって良い。その場合、受信部１０、誤り訂正部２０および送信部３０を含めて誤り訂正装置として、符号化装置１と接続される。
【０１５８】
以上、本発明の実施例について説明したが、本実施例によって本発明の技術的思想の範囲が限定されるものではなく、特許請求の範囲に記載した技術的範囲の範囲を逸脱しない限り、各種様々な実施例が実施可能であることは言うまでもない。また、本実施例に記載した効果は、これに限定されるものではない。
【０１５９】
また、図示した復号化装置１の各構成要素は機能概念的に記載したものであって、必ずしも物理的に図示のように構成されるものではなく、その復号化装置１の具体的な態様は図示のものに限縮されるものでは到底ないことは言うまでもない。
【０１６０】
なお、復号化装置１にて行われる各処理機能は、その全部または任意の一部が、ＣＰＵ（Central Processing Unit）（またはＭＰＵ（Micro Processing Unit）、ＭＣＵ（Micro Controller Unit）などのマイクロ・コンピュータ）および当該ＣＰＵ（またはＭＰＵ、ＭＣＵなどのマイクロ・コンピュータ）にて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現されても良い。
【０１６１】
以上の実施例に係る実施形態に関し、さらに以下の付記を開示する。
【０１６２】
（付記１）複数の行および列に構成される複数のデータパケットを受信する第１の受信部と、
前記複数のデータパケットの行毎および列毎にそれぞれ生成される誤り訂正パケットであって前記複数のデータパケットの行列構成情報を含む誤り訂正パケットを複数受信する第２の受信部と、
前記第２の受信部によって受信された誤り訂正パケットに含まれる前記複数のデータパケットの行列構成情報に基づいて、損失したデータパケットを復元するために最小限の蓄積パケット数を決定する決定部と、
前記決定部によって決定された蓄積パケット数分の前記第１の受信部によって受信されるデータパケットと、これらのデータパケットと同じタイミングで前記第２の受信部によって受信される誤り訂正パケットとを蓄積する蓄積部と、
前記第１の受信部によって受信されたデータパケットの損失を検出すると、当該データパケットを、前記蓄積部によって蓄積されたデータパケットおよび誤り訂正パケットを用いて復元する復元部と
を有することを特徴とする誤り訂正制御装置。
【０１６３】
（付記２）前記決定部は、
前記複数のデータパケットの行列構成情報が示す行と列の各数を乗算して得たデータパケット数に２を乗算した数を前記蓄積パケット数として決定することを特徴とする付記１に記載の誤り訂正制御装置。
【０１６４】
（付記３）前記第１の受信部によって受信されたデータパケットの受信時間と、前記蓄積パケット数とに基づいて、前記蓄積部によって蓄積された各データパケットの復号処理への送信時間を生成する送信時間生成部を有することを特徴とする付記１または付記２に記載の誤り訂正制御装置。
【０１６５】
（付記４）前記送信時間生成部は、
前記蓄積部によって蓄積された各データパケットのうち、最初に蓄積されたデータパケットの受信時間と、当該データパケットの受信後、蓄積パケット数後に受信されたデータパケットの受信時間との差を遅延時間として算出して、この算出した遅延時間を各データパケットの受信時間に加算して、各データパケットの送信時間を生成することを特徴とする付記３に記載の誤り訂正制御装置。
【０１６６】
（付記５）前記送信時間生成部は、
前記復元部によって復元されたデータパケットに対応する送信時間を、当該データパケットに含まれる再生タイミングを示すサンプリング数と、当該データパケットの直前または直後のデータパケットのサンプリング数および送信時間とを用いて生成する復元パケット送信時間生成部を含むことを特徴とする付記３または付記４に記載の誤り訂正制御装置。
【０１６７】
（付記６）前記第１の受信部によって受信された第１のデータパケットの受信時間が、当該データパケットの直前に受信された第２のデータパケットの受信時間から所定時間以上経過しているか否かを判定する判定部を有し、
前記復元部は、
前記判定部によって前記第１のデータパケットの受信時間が、前記第２のデータパケットの受信時間から所定時間以上経過していると判定された場合には、前記第１のデータパケットを、前記蓄積部によって蓄積されたデータパケットおよび誤り訂正パケットを用いて復元することを特徴とする付記３から付記５のいずれか１つに記載の誤り訂正制御装置。
【０１６８】
（付記７）前記送信時間生成部によって生成された送信時間に応じて、前記蓄積部によって蓄積された各データパケットを復号処理へ送信する送信部を有することを特徴とする付記１から付記６のいずれか１つに記載の誤り訂正制御装置。
【０１６９】
（付記８）複数の行および列に構成される複数のデータパケットを受信する第１の受信工程と、
前記複数のデータパケットの行毎および列毎にそれぞれ生成される誤り訂正パケットであって前記複数のデータパケットの行列構成情報を含む誤り訂正パケットを複数受信する第２の受信工程と、
前記第２の受信工程によって受信された誤り訂正パケットに含まれる前記複数のデータパケットの行列構成情報に基づいて、損失したデータパケットを復元するために最小限の蓄積パケット数を決定する決定工程と、
前記決定工程によって決定された蓄積パケット数分の前記第１の受信工程によって受信されるデータパケットと、これらのデータパケットと同じタイミングで前記第２の受信工程によって受信される誤り訂正パケットとを蓄積する蓄積工程と、
前記第１の受信工程によって受信されたデータパケットの損失を検出すると、当該データパケットを、前記蓄積工程によって蓄積されたデータパケットおよび誤り訂正パケットを用いて復元する復元工程と
を含むことを特徴とする誤り訂正制御方法。
【０１７０】
（付記９）画像データまたは音声データを含むメディアデータを符号化する符号化装置と、前記符号化装置とネットワークを介して接続され、前記メディアデータを復号化する復号化装置とを有するメディアデータ配信システムであって、
前記復号化装置は、
複数の行および列に構成される複数のデータパケットを前記符号化装置から受信する第１の受信部と、
前記複数のデータパケットの行毎および列毎にそれぞれ生成される誤り訂正パケットであって前記複数のデータパケットの行列構成情報を含む誤り訂正パケットを複数前記符号化装置から受信する第２の受信部と、
前記第２の受信部によって受信された誤り訂正パケットに含まれる前記複数のデータパケットの行列構成情報に基づいて、損失したデータパケットを復元するために最小限の蓄積パケット数を決定する決定部と、
前記決定部によって決定された蓄積パケット数分の前記第１の受信部によって受信されるデータパケットと、これらのデータパケットと同じタイミングで前記第２の受信部によって受信される誤り訂正パケットとを蓄積する蓄積部と、
前記第１の受信部によって受信されたデータパケットの損失を検出すると、当該データパケットを、前記蓄積部によって蓄積されたデータパケットおよび誤り訂正パケットを用いて復元する復元部と
を有することを特徴とするメディアデータ配信システム。
【符号の説明】
【０１７１】
１  復号化装置
２  符号化装置
３  ネットワーク
１０  受信部
１１  メディアパケット受信部
１２  ＦＥＣパケット受信部
２０  誤り訂正部
２１  パケット損失検出部
２２  蓄積パケット数決定部
２３  復元処理部
２４  バッファ管理部
２５  誤り訂正用バッファ
３０  送信部
３１  ＲＴＰバッファ
４０  復号処理部
５１  受信時間カウンタ
６１  受信時間管理部
６１ａ  遅延判定部
６２  受信時間バッファ
６３  ヘッダ解析部
６４  送信時間生成部
６４ａ  送信時間生成部
６４ｂ  復元送信時間生成部
７１  送信時間管理部
７２  送信時間バッファ
７３  送信時間カウンタ
７４  送信制御部
【図１】
2010233105.tif 000003
【図２】
2010233105.tif 000004
【図３】
2010233105.tif 000005
【図４−１】
2010233105.tif 000006
【図４−２】
2010233105.tif 000007
【図５】
2010233105.tif 000008
【図６】
2010233105.tif 000009
【図７】
2010233105.tif 000010
【図８】
2010233105.tif 000011
【図９】
2010233105.tif 000012
【図１０】
2010233105.tif 000013
【図１１】
2010233105.tif 000014
【図１２】
2010233105.tif 000015
【図１３】
2010233105.tif 000016
【図１４】
2010233105.tif 000017