(57)【要約】      （修正有）【課題】ＦＥＣ（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）パケットが失われてしまっても、他のＦＥＣパケットによって、消失したパケットの復元を可能として通信品質を向上させる。【解決手段】パケット４１からなる４行４列のパケット行列４３を、１列目から順に４列までＳ（＝２）列ずつのグループ５１〜５４を規定し、また、この規定に際して当該グループの中でＳ（＝２）列までの列で４列を超えるものが存在するときは１列目に戻ってＳ（＝２）列とする。これにより、２列ずつのパケット４１を含むグループ５１〜５４が生成されるので、各グループ５１〜５４のパケット４１でパリティ演算を行い、グループ５１〜５４にそれぞれ対応したＦＥＣパケット４２を生成する。（２）番のパケット４１、＜２＞番のＦＥＣパケット４２が消失しても、＜１＞番のＦＥＣパケット４２で（２）番のパケット４１を復元できる。【選択図】図５
2015162854.tif 000002
【特許請求の範囲】
【請求項１】
複数のパケットを複数のグループに同じパケットが含まれるようにグループ化するグループ化部と、
前記各グループについて当該グループに複数含まれている前記パケットをパリティ演算してＦＥＣ（Forward Error Correction）パケットをそれぞれ生成するＦＥＣパケット生成部と、
を備えることを特徴とするエンコーダ。
【請求項２】
前記グループ化部は、
複数のパケットをＭ行Ｎ列（Ｍ、Ｎは２以上の整数）のパケット行列にするパケット行列生成部と、
前記パケット行列について１列目から順にＮ列までＳ列（Ｓは１より大きくＮより小さい整数）ずつの前記グループを規定し、また、この規定に際して当該グループの中でＳ列までの列でＮ列を超えるものは１列目に戻ってＳ列とするＳ列グループ化部と、
を備え、
前記ＦＥＣパケット生成部は、前記Ｓ列グループ化部でグループ化したＳ列ずつのパケットのグループについてそれぞれ複数含まれている前記パケットをパリティ演算してＦＥＣパケットを生成することを特徴とする請求項１に記載のエンコーダ。
【請求項３】
複数のパケットを予め定められた基準に基づいて複数のグループに同じパケットが含まれるようにグループ化し、また、当該各グループにそれぞれ対応するＦＥＣパケットを特定するグループ化部と、
前記各グループの中で消失した前記パケットを含むグループについて、当該グループの消失していない残りのパケットと当該グループに対応した消失していないＦＥＣパケットとでパリティ演算して消失した前記パケットを復元する復元部と、
を備えることを特徴とするデコーダ。
【請求項４】
前記グループ化部は、
複数のパケットについてＭ行Ｎ列（Ｍ、Ｎは２以上の整数）のパケット行列とＮ個のＦＥＣパケットとを規定するパケット規定部と、
前記パケット行列について１列目から順にＮ列までＳ列（Ｓは１より大きくＮより小さい整数）ずつの前記グループを規定し、また、この規定に際して当該グループの中でＳ列までの列でＮ列を超えるものは１列目に戻ってＳ列とするＳ列グループ化部と、
前記Ｓ列グループ化部で規定したＮ個の前記グループについてそれぞれ前記Ｎ個のＦＥＣパケットを１対１で対応させる対応部と、
を備え、
前記復元部は、
前記消失したパケットを含む前記グループについて、当該グループの消失していない残りのパケットと当該グループに対応した消失していないＦＥＣパケットとでパリティ演算して消失した前記パケットを復元する第１のパケット復元部と、
前記消失したパケットを複数含む前記グループについて、前記第１のパケット復元部で前記パケットを復元することにより前記消失したパケットを前記グループ中で１つに絞って、当該グループの消失していない残りのパケットと当該グループに対応した消失していないＦＥＣパケットとでパリティ演算して残りの消失した前記パケットを復元する第２のパケット復元部と、
を備えていることを特徴とする請求項３に記載のデコーダ。
【請求項５】
ネットワークを介して複数のパケットを送信する送信装置と、
前記ネットワークを介して前記送信装置から送信された複数のパケットを受信する受信装置と、
を備え、
前記送信装置は、
前記複数のパケットを複数のグループに同じパケットが含まれるようにグループ化する第１のグループ化部と、
前記各グループについて当該グループに複数含まれている前記パケットをパリティ演算してＦＥＣパケットをそれぞれ生成するＦＥＣパケット生成部と、
前記第１のグループ化部でグループ化したパケットおよび前記ＦＥＣパケット生成部で生成した前記ＦＥＣパケットを、前記ネットワークを介して前記受信装置に送信する送信部と、
を備え、
前記受信装置は、
前記送信部で送信された複数のパケットを受信する受信部と、
前記受信部で受信した複数のパケットを予め定められた基準に基づいて複数のグループに同じパケットが含まれるようにグループ化し、また、当該各グループにそれぞれ対応するＦＥＣパケットを特定する第２のグループ化部と、
第２のグループ化部による前記各グループの中で消失した前記パケットを含むグループについて、当該グループの消失していない残りのパケットと当該グループに対応した消失していない前記ＦＥＣパケットとでパリティ演算して消失した前記パケットを復元する復元部と、
を備えたことを特徴とする通信システム。
【請求項６】
複数のパケットを複数のグループに同じパケットが含まれるようにグループ化する工程と、
この工程後、前記各グループについて当該グループに複数含まれている前記パケットをパリティ演算してＦＥＣパケットをそれぞれ生成する工程と、
を含んでいることを特徴とするエンコード方法。
【請求項７】
複数のパケットを予め定められた基準に基づいて複数のグループに同じパケットが含まれるようにグループ化し、また、当該各グループにそれぞれ対応するＦＥＣパケットを特定する工程と、
この工程後、前記各グループの中で消失した前記パケットを含むグループについて、当該グループの消失していない残りのパケットと当該グループに対応した消失していないＦＥＣパケットとでパリティ演算して消失した前記パケットを復元する工程と、
を含んでいることを特徴とするデコード方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、前方誤り訂正にかかるエンコーダ、デコーダ、通信システム、エンコード方法、およびデコード方法に関する。
【背景技術】
【０００２】
例えば、非特許文献１に示すように、送信者がメッセージに冗長性を付与することで、追加情報を送信者に要求することなく、受信者が受信データの誤りを検出して訂正することを可能とする前方誤り訂正技術が知られている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】会津宏幸、他２名、「インターネットコンテンツ配信における前方誤り訂正技術」、東芝レビュー、株式会社東芝、２０１０年、Ｖｏｌ.６５、Ｎｏ.６、p.36−39
【発明の概要】
【発明が解決しようとする課題】
【０００４】
映像コンテンツをＩＰ（Internet Protocol）ネットワークを介して顧客側の端末装置に提供する場合などにおいて、前方誤り訂正技術が用いられる。この場合には、一般に、送信する複数のパケットをＭ行Ｎ列（Ｍ、Ｎは２以上の整数）のパケット行列として（一般には、Ｍ＝Ｎである）、各列の複数のパケットについてパリティ演算を行って、ＦＥＣ（Forward Error Correction）パケットを生成する。そして、このＭ行Ｎ列のパケットと、生成したＦＥＣパケットとを、送信先に送信する。これらのパケットを受信した受信側においては、Ｍ行Ｎ列のパケット中において、ネットワーク内の輻輳などにより失われたパケットが存在する場合がある。しかし、Ｍ行Ｎ列のパケットにおいて、失われたパケットが存在する列についても、当該列の残りのパケットと、当該列に対応したＦＥＣパケットとを用いたパリティ演算を行なうことで、消失したパケットのデータを復元することができる。
【０００５】
しかしながら、このような場合において、あるパケットが失われた列に対応したＦＥＣパケットも失われてしまっている場合には、失われたパケットを復元することはできず、通信品質の劣化を招いてしまうという問題がある。
そこで、本発明は、ＦＥＣパケットが失われてしまっても、他のＦＥＣパケットによって、消失したパケットの復元を可能として通信品質を向上させることを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、複数のパケットを複数のグループに同じパケットが含まれるようにグループ化するグループ化部と、前記各グループについて当該グループに複数含まれている前記パケットをパリティ演算してＦＥＣ（Forward Error Correction）パケットをそれぞれ生成するＦＥＣパケット生成部と、を備えることを特徴とするエンコーダである。
本発明によれば、複数のグループに同じパケットが含まれるようにするので、ＦＥＣパケットが失われてしまっても、他のＦＥＣパケットによって、消失したパケットの復元することができる。
【０００７】
この場合に、前記グループ化部は、複数のパケットをＭ行Ｎ列（Ｍ、Ｎは２以上の整数）のパケット行列にするパケット行列生成部と、前記パケット行列について１列目から順にＮ列までＳ列（Ｓは１より大きくＮより小さい整数）ずつの前記グループを規定し、また、この規定に際して当該グループの中でＳ列までの列でＮ列を超えるものは１列目に戻ってＳ列とするＳ列グループ化部と、を備え、前記ＦＥＣパケット生成部は、前記Ｓ列グループ化部でグループ化したＳ列ずつのパケットのグループについてそれぞれ複数含まれている前記パケットをパリティ演算してＦＥＣパケットを生成するようにしてもよい。
本発明によれば、複数のグループに同じパケットが含まれるようにするので、ＦＥＣパケットが失われてしまっても、他のＦＥＣパケットによって、消失したパケットの復元することができる。
【０００８】
別の本発明は、複数のパケットを予め定められた基準に基づいて複数のグループに同じパケットが含まれるようにグループ化し、また、当該各グループにそれぞれ対応するＦＥＣパケットを特定するグループ化部と、前記各グループの中で消失した前記パケットを含むグループについて、当該グループの消失していない残りのパケットと当該グループに対応した消失していないＦＥＣパケットとでパリティ演算して消失した前記パケットを復元する復元部と、を備えることを特徴とするデコーダである。
本発明によれば、複数のグループに同じパケットが含まれるようにするので、ＦＥＣパケットが失われてしまっても、他のＦＥＣパケットによって、消失したパケットの復元することができる。
【０００９】
この場合に、前記グループ化部は、複数のパケットについてＭ行Ｎ列（Ｍ、Ｎは２以上の整数）のパケット行列とＮ個のＦＥＣパケットとを規定するパケット規定部と、前記パケット行列について１列目から順にＮ列までＳ列（Ｓは１より大きくＮより小さい整数）ずつの前記グループを規定し、また、この規定に際して当該グループの中でＳ列までの列でＮ列を超えるものが存在するときは１列目に戻ってＳ列とするＳ列グループ化部と、前記Ｓ列グループ化部で規定したＮ個の前記グループについてそれぞれ前記Ｎ個のＦＥＣパケットを１対１で対応させる対応部と、を備え、前記復元部は、前記消失したパケットを含む前記グループについて、当該グループの消失していない残りのパケットと当該グループに対応した消失していないＦＥＣパケットとでパリティ演算して消失した前記パケットを復元する第１のパケット復元部と、前記消失したパケットを複数含む前記グループについて、前記第１のパケット復元部で前記パケットを復元することにより前記消失したパケットを前記グループ中で１つに絞って、当該グループの消失していない残りのパケットと当該グループに対応した消失していないＦＥＣパケットとでパリティ演算して残りの消失した前記パケットを復元する第２のパケット復元部と、を備えているようにしてもよい。
本発明によれば、複数のグループに同じパケットが含まれるようにするので、ＦＥＣパケットが失われてしまっても、他のＦＥＣパケットによって、消失したパケットの復元することができる。
【００１０】
別の本発明は、ネットワークを介して複数のパケットを送信する送信装置と、前記ネットワークを介して前記送信装置から送信された複数のパケットを受信する受信装置と、を備え、前記送信装置は、前記複数のパケットを複数のグループに同じパケットが含まれるようにグループ化する第１のグループ化部と、前記各グループについて当該グループに複数含まれている前記パケットをパリティ演算してＦＥＣパケットをそれぞれ生成するＦＥＣパケット生成部と、前記第１のグループ化部でグループ化したパケットおよび前記ＦＥＣパケット生成部で生成した前記ＦＥＣパケットを、前記ネットワークを介して前記受信装置に送信する送信部と、を備え、前記受信装置は、前記送信部で送信された複数のパケットを受信する受信部と、前記受信部で受信した複数のパケットを予め定められた基準に基づいて複数のグループに同じパケットが含まれるようにグループ化し、また、当該各グループにそれぞれ対応するＦＥＣパケットを特定する第２のグループ化部と、第２のグループ化部による前記各グループの中で消失した前記パケットを含むグループについて、当該グループの消失していない残りのパケットと当該グループに対応した消失していない前記ＦＥＣパケットとでパリティ演算して消失した前記パケットを復元する復元部と、を備えたことを特徴とする通信システムである。
本発明によれば、複数のグループに同じパケットが含まれるようにするので、ＦＥＣパケットが失われてしまっても、他のＦＥＣパケットによって、消失したパケットの復元することができる。
【００１１】
別の本発明は、複数のパケットを複数のグループに同じパケットが含まれるようにグループ化する工程と、この工程後、前記各グループについて当該グループに複数含まれている前記パケットをパリティ演算してＦＥＣパケットをそれぞれ生成する工程と、を含んでいることを特徴とするエンコード方法である。
本発明によれば、複数のグループに同じパケットが含まれるようにするので、ＦＥＣパケットが失われてしまっても、他のＦＥＣパケットによって、消失したパケットの復元することができる。
【００１２】
別の本発明は、複数のパケットを予め定められた基準に基づいて複数のグループに同じパケットが含まれるようにグループ化し、また、当該各グループにそれぞれ対応するＦＥＣパケットを特定する工程と、この工程後、前記各グループの中で消失した前記パケットを含むグループについて、当該グループの消失していない残りのパケットと当該グループに対応した消失していないＦＥＣパケットとでパリティ演算して消失した前記パケットを復元する工程と、を含んでいることを特徴とするデコード方法である。
本発明によれば、複数のグループに同じパケットが含まれるようにするので、ＦＥＣパケットが失われてしまっても、他のＦＥＣパケットによって、消失したパケットの復元することができる。
【発明の効果】
【００１３】
本発明によれば、ＦＥＣパケットが失われてしまっても、他のＦＥＣパケットによって、消失したパケットの復元を可能として通信品質を向上させることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態にかかる通信システムのブロック図である。
【図２】本発明の一実施形態にかかる通信システムのエンコード処理（エンコード方法）を説明するフローチャートである。
【図３】本発明の一実施形態にかかる通信システムのデコード処理（デコード方法）を説明するフローチャートである。
【図４】本発明の一実施形態にかかる通信システムのエンコード処理（エンコード方法）を説明する説明図である。
【図５】本発明の一実施形態にかかる通信システムのデコード処理（デコード方法）を説明する説明図である。
【図６】本発明の一実施形態にかかる通信システムのデコード処理（デコード方法）を説明する説明図である。
【図７】本発明の一実施形態に対する比較例について説明する説明図である。
【図８】本発明の一実施形態に対する比較例について説明する説明図である。
【図９】本発明の一実施形態に対する比較例について説明する説明図である。
【発明を実施するための形態】
【００１５】
以下では、本発明の実施形態に対する比較例について最初に説明し、その後、本発明の実施形態について説明する。
［比較例］
図７〜図９は、本実施形態に対する比較例について説明する説明図である。
まず、前方誤り訂正技術によるパケットのエンコード処理について説明する。まず、図７に示すように、送信しようとする複数のパケット１０１をＭ行Ｎ列（Ｍ，Ｎは２以上の整数）のパケット行列にする。図７（ａ）の例では、（１）番〜（１６）番までの１６個のパケット１０１を４行４列のパケット行列１０２としている。
【００１６】
そして、Ｍ行Ｎ列のパケット行列１０２を列ごとのグループにグループ化する。図７（ａ）の例では、４列のパケット行列であるため、４つのグループ１１１〜１１４にグループ化している。そして、このグループ１１１〜１１４ごとにパリティ演算を行って、グループ１１１〜１１４ごとにそれぞれＦＥＣ（Forward Error Correction）パケット１２１を生成する。これは、例えば、グループ１１１であれば、縦方向の各パケット１０１について排他的論理和演算を行う。すなわち、「“（１）番のパケット１０１”ＸＯＲ“（５）番のパケット１０１”ＸＯＲ“（９）番のパケット１０１”ＸＯＲ“（１３）番のパケット１０１”」という演算である。この演算の結果、グループ１１１に対して、＜１＞番のＦＥＣパケット１２１を生成する。同様に、グループ１１２〜１１４についても、それぞれ＜２＞番〜＜４＞番のＦＥＣパケット１２１を生成することができる（図７（ｂ））。
【００１７】
以上のＭ行Ｎ列のパケット行列１０２を構成するパケット１０１と全てのＦＥＣパケット１２１とを、ＩＰネットワークなどを介して送信先に送信する。そして、送信先で受信後の複数のパケット１０１には、ＩＰネットワークなどの輻輳などの事情で消失して受信できないものが発生する場合が起り得る。このような消失したパケット１０１を復元するデコード処理について次に説明する。
【００１８】
図８（ａ）の例では、グループ１１１の（９）番のパケット１０１、グループ１１２の（２）番のパケット１０１、および、グループ１１３の（７）番のパケット１０１が消失している（各図において、消失しているパケット１０１またはＦＥＣパケット１２１は、×印で示している）。この場合は、当該グループの残っているパケット１０１と、当該グループに対応しているＦＥＣパケット１２１とでパリティ演算を行うことにより、当該グループの消失したパケット１０１を復元することができる。例えば、グループ１１１では（９）番のパケット１０１が消失している。この場合は、「“（１）番のパケット１０１”ＸＯＲ“（５）番のパケット１０１”ＸＯＲ“（１３）番のパケット１０１”ＸＯＲ“＜１＞番のＦＥＣパケット１２１”」という排他的論理和演算を行うことで、（９）番のパケット１０１を復元することができる。同様にして、グループ１１２の（２）番のパケット１０１、および、グループ１１３の（７）番のパケット１０１も復元することができる(図８（ｂ）)。
【００１９】
一方、図９の例では、グループ１１２の（２）番のパケット１０１が消失しているが、同グループ１１２に対応した＜２＞番のＦＥＣパケット１２１も消失している。この場合は、（２）番のパケット１０１を復元することができない。
このように、本比較例では、ＦＥＣパケット１２１が消失してしまった場合は、そのＦＥＣパケット１２１に対応したグループ中のパケットを復元することができない。そのため、本比較例では、通信品質の劣化を招いてしまうという問題がある。
【００２０】
そこで、以下では、かかる比較例の問題を解消した本実施形態の前方誤り訂正技術について説明する。
［実施形態］
図１は、本実施形態にかかる通信システム１０の構成について説明するブロック図である。通信システム１０は、ＩＰ（Internet Protocol）ネットワークなどのネットワーク１３を介して複数のパケットを送信する送信装置１１と、ネットワーク１３を介して送信装置１１から送信された複数のパケットを受信する受信装置１２と、から構成されている。
【００２１】
送信装置１１は、例えば、ネットワーク１３を介して映像コンテンツを配信する映像配信サーバなどである。送信装置１１は、図示はしないが、各種演算を行なって各部を集中的に制御するＣＰＵ（Central Processing Unit）、当該ＣＰＵの作業領域となるＲＡＭ（Random Access Memory）、各種制御プログラムや各種固定データなどを記憶しているＨＤＤ（Hard Disk Drive）やＲＯＭ（Read Only Memory）などの各種記憶装置、および、ネットワーク１３を介して通信を行うための通信制御装置などを備えている。
【００２２】
受信装置１２は、例えば、送信装置１１から映像コンテンツの配信を受けるユーザのテレビ、パーソナルコンピュータ、モバイル端末などの端末装置である。受信装置１２も、図示はしないが、各種演算を行なって各部を集中的に制御するＣＰＵ、当該ＣＰＵの作業領域となるＲＡＭ、各種制御プログラムや各種固定データなどを記憶しているＨＤＤやＲＯＭなどの各種記憶装置、および、ネットワーク１３を介して通信を行うための通信制御装置などを備えている。
【００２３】
送信装置１１は、それぞれ各種制御プログラムに基づく処理や各種ハードウエア装置の機能により、エンコーダ２１および送信部２２の機能を実現する。また、受信装置１２は、それぞれ各種制御プログラムに基づく処理や各種ハードウエア装置の機能により、デコーダ３１および受信部３２の機能を実現する。以下では、これら各部の機能について説明する。
【００２４】
まず、送信装置１１について説明する。エンコーダ２１は、複数のパケットからなるパケットデータを前方誤り訂正技術でエンコードする機能を有する。より具体的には、エンコーダ２１は、複数のパケットを、複数のグループに同じパケットが含まれるようにグループ化するグループ化部（第１のグループ化部）２３と、この各グループについて、当該グループに複数含まれているパケットをパリティ演算してＦＥＣ（Forward Error Correction）パケットをそれぞれ生成するＦＥＣパケット生成部２４と、を備えている。
【００２５】
グループ化部２３は、複数のパケットをＭ行Ｎ列（Ｍ、Ｎは２以上の整数）のパケット行列にするパケット行列生成部２５を備えている（なお、一般的には、Ｍ＝Ｎとされる）。また、グループ化部２３は、このパケット行列について１列目から順にＮ列までＳ列（Ｓは１より大きくＮより小さい整数）ずつのグループを規定し、また、この規定に際して当該グループの中でＳ列までの列でＮ列を超えるものは１列目に戻ってＳ列とするＳ列グループ化部２６を備えている。
【００２６】
ＦＥＣパケット生成部２４は、Ｓ列グループ化部２６でグループ化したＳ列ずつのパケットのグループについてそれぞれ複数含まれているパケットをパリティ演算してＦＥＣパケットを生成する。
また、送信部２２は、エンコーダ２１で処理後のＭ行Ｎ列のパケット行列のパケットおよび当該パケット行列に対応して生成されたＦＥＣパケットを、ネットワーク１３を介して受信装置１２に送信する。
【００２７】
より詳細に、エンコーダ２１で実行する処理、すなわち、エンコード方法について、図２のフローチャートを参照して説明する。
図２に示すように、まず、パケット行列生成部２５は、複数のパケットをＭ行Ｎ列のパケット行列にする（ステップＳ１)。次に、Ｓ列グループ化部２６は、所定の列数カウンタの値Ｋの初期値を１にする（Ｋ＝１）（ステップＳ２)。次に、Ｓ列グループ化部２６は、Ｍ行Ｎ列のパケット行列について、Ｋ〜（Ｋ＋Ｓ−１）列目のパケットを１つのグループとしてグループ化する（ステップＳ３)。そして、Ｓ列グループ化部２６は、列数カウンタの値Ｋを＋１だけインクリメントして（Ｋ＝Ｋ＋１）（ステップＳ４)、列数カウンタの値Ｋが“Ｋ≦Ｎ−Ｓ＋１”であれば（ステップＳ５のＮｏ)、Ｓ３に戻る。Ｓ列グループ化部２６は、列数カウンタの値Ｋが“Ｋ＝Ｎ−Ｓ＋２”であれば（ステップＳ５のＹｅｓ)、Ｋ〜Ｎ列目、および、１〜（Ｓ−Ｎ＋Ｋ−１）列目のパケットを１つのグループとしてグループ化する（ステップＳ６)。そして、Ｓ列グループ化部２６は、列数カウンタの値Ｋをインクリメントして（Ｋ＝Ｋ＋１）（ステップＳ７)、列数カウンタの値Ｋが“Ｋ≦Ｎ”であれば（ステップＳ８のＮｏ)、Ｓ６に戻る。また、ＦＥＣパケット生成部２４は、列数カウンタの値Ｋが“Ｋ＝Ｎ＋１”であれば（ステップＳ８のＹｅｓ)、前記のように作成した各グループについてパリティ演算を行い（その内容は、前記比較例の場合と同様）、各グループについてそれぞれ対応するＦＥＣパケットを生成する（ステップＳ９)。
【００２８】
図２の処理を図４の説明図を用いて具体的な数値で説明する。以下では、エンコーダ２１で処理するパケットをパケット４１、生成されるＦＥＣパケットをＦＥＣパケット４２とし、Ｍ＝４、Ｎ＝４、Ｓ＝２とする例について説明する。まず、４行４列のパケット行列４３は、（１）番〜（１６）番のパケット４１で構成されている。そして、図２の処理により、１列目および２列目のパケット４１からなるグループ５１、２列目および３列目のパケット４１からなるグループ５２、３列目および４列目のパケット４１からなるグループ５３、４列目および１列目のパケット４１からなるグループ５４の４つのグループが生成される。ここで、（１）番〜（１６）番の各パケット４１は、いずれもグループ５１〜５４の中のいずれか複数個（図４の例で２つ）に所属することになる点が、前記の比較例（図７（ａ）参照）とは異なる。
【００２９】
そして、各グループ５１〜５４についてパリティ演算を行い（その内容は前記の比較例と同様の排他的論理和演算であり、演算に使用されるパケット４１の数が比較例と異なるだけである）、グループ５１〜５４にそれぞれ対応した＜１＞番〜＜４＞番のＦＥＣパケット４２を生成する。図４（ａ）のグループ５１〜５４をそれぞれ分離して左右に並べて図示すると、図４（ｂ）のようになる。
【００３０】
図１に戻り、次に、受信装置１２について説明する。受信部３２は、ネットワーク１３を介して、送信装置１１から送信されるパケットデータを受信する。
デコーダ３１は、この受信した複数のパケットを予め定められた基準に基づいて複数のグループに同じパケットが含まれるようにグループ化し、また、当該各グループにそれぞれ対応するＦＥＣパケットを特定するグループ化部（第２のグループ化部）３３を備えている。また、デコーダ３１は、この各グループの中で消失したパケットを含むグループについて、当該グループの消失していない残りのパケットと当該グループに対応した消失していないＦＥＣパケットとでパリティ演算して消失した前記パケットを復元する復元部３４を備えている。
【００３１】
グループ化部３３は、複数のパケットについてＭ行Ｎ列（Ｍ、Ｎは２以上の整数）のパケット行列とＮ個のＦＥＣパケットとを規定するパケット規定部３５を備えている。また、グループ化部３３は、このパケット行列について１列目から順にＮ列までＳ列（Ｓは１より大きくＮより小さい整数）ずつのグループを規定し、また、この規定に際して当該グループの中でＳ列までの列でＮ列を超えるものは１列目に戻ってＳ列とするＳ列グループ化部３６を備えている。さらに、Ｓ列グループ化部３６で規定したＮ個のグループについてそれぞれ前記のＮ個のＦＥＣパケットを１対１で対応させる対応部３７を備えている。
【００３２】
復元部３４は、消失したパケットを含む前記のグループについて、当該グループの消失していない残りのパケットと当該グループに対応した消失していないＦＥＣパケットとでパリティ演算して消失したパケットを復元する第１のパケット復元部３８を備えている。また、復元部３４は、消失したパケットを複数含む前記のグループについて、第１のパケット復元部３８でパケットを復元することにより消失したパケットを前記のグループ中で１つに絞って、当該グループの消失していない残りのパケットと当該グループに対応した消失していないＦＥＣパケットとでパリティ演算して残りの消失したパケットを復元する第２のパケット復元部３９を備えている。
【００３３】
より詳細に、デコーダ３１で実行する処理、すなわち、デコード方法について、図３のフローチャートを参照して説明する。
図３に示すように、まず、パケット規定部３５は、受信部３２で受信した複数のパケットについて、前記のＭ行Ｎ列のパケット行列を構成することになる各パケットを特定して、Ｍ行Ｎ列のパケット行列を生成する。また、パケット規定部３５は、当該Ｍ行Ｎ列のパケット行列に対応するＮ個のＦＥＣパケットを特定する(以上、ステップＳ１１)。これらパケットの特定は、例えば、各パケットに前記のエンコーダ２１で付されたシーケンス番号などにより行うことができ、これらが予め定められた基準となる。次に、Ｓ列グループ化部３６は、このように生成されたＭ行Ｎ列のパケット行列を前記のように（前記のＳ２〜Ｓ８と同様）Ｓ列ごとにグループ化する（ステップＳ１２)。次に、対応部３７は、この各グループに対応しているＦＥＣパケットを、それぞれ各グループに対応させる（ステップＳ１３)。
次に、第１のパケット復元部３８は、所定の列数カウンタの値Ｋの初期値を１にし（Ｋ＝１）、所定の復元回数カウンタの値ｔの初期値を１にする（ｔ＝１）（ステップＳ１４)。
【００３４】
次に、第１のパケット復元部３８は、Ｋ〜（Ｋ＋Ｓ−１）列目のパケットで構成されるグループ中に消失しているパケットが存在しているか否かを判断する（ステップＳ１５)。このような消失したパケットが存在する場合は（ステップＳ１５のＹｅｓ)、Ｋ〜（Ｋ＋Ｓ−１）列目のパケットで構成されるグループ中の残りのパケットと、当該グループに対応するＦＥＣパケットとでパリティ演算を行い（その内容は、前記の比較例の場合と同様である）、パケットを復元する（ステップＳ１６)。一方、このような消失したパケットが存在しない場合は（ステップＳ１５のＮｏ)、ステップＳ１７に進む。そして、第１のパケット復元部３８は、列数カウンタの値Ｋをインクリメントして（Ｋ＝Ｋ＋１）（ステップＳ１７)、“Ｋ≦Ｎ−Ｓ＋１”であれば（ステップＳ１８のＹｅｓ)、Ｓ１６に戻る。
【００３５】
第１のパケット復元部３８は、“Ｋ＝Ｎ−Ｓ＋２”であれば（ステップＳ１８のＮｏ)、Ｋ〜Ｎ列目、および、１〜（Ｓ−Ｎ＋Ｋ−１）列目のパケットで構成されるグループ中に消失したパケットが存在する場合は（ステップＳ１９のＹｅｓ)、Ｋ〜Ｎ列、および、１〜（Ｓ−Ｎ＋Ｋ−１）列目のパケットで構成されるグループ中の残りのパケットと、このグループに対応するＦＥＣパケットとでパリティ演算を行い（その内容は、前記の比較例の場合と同様である）、パケットを復元する（ステップＳ２０)。一方、Ｋ〜Ｎ列、および、１〜（Ｓ−Ｎ＋Ｋ−１）列目のパケットで構成されるグループ中に消失したパケットが存在しないときは（ステップＳ１９のＮｏ)、第１のパケット復元部３８は、当該復元（ステップＳ２０)は行わない。
その後、第１のパケット復元部３８は、列数カウンタの値Ｋをインクリメントして（Ｋ＝Ｋ＋１）（ステップＳ２１)、“Ｋ＝Ｎ＋１”であれば（ステップＳ２２のＹｅｓ)、ステップＳ２３に進み、“Ｋ＜Ｎ＋１”であれば（ステップＳ２２のＮｏ)、Ｓ１９に戻る。
【００３６】
そして、ステップＳ２３では、復元回数カウンタの値ｔが１であれば（ｔ＝１）（ステップＳ２３のＹ)、列数カウンタの値Ｋの初期値を１に戻し(Ｋ＝１)、復元回数カウンタの値ｔを２として（ｔ＝２）（ステップＳ２４)、第２のパケット復元部３９は、Ｓ１５に戻り、以下の処理を繰り返す。復元回数カウンタの値ｔが２であれば（ステップＳ２３のＮｏ)、一連の処理を終了する。
【００３７】
ここで、復元回数カウンタの値ｔが１である場合に行うステップＳ１５以下の処理が、第１のパケット復元部３８で行われるパケット４１の復元処理となり、復元回数カウンタの値ｔが２となって（ステップＳ２４）行うステップＳ１５以下の処理が、第１のパケット復元部３８の処理結果に基づいて行う第２のパケット復元部３９で行われるパケット４１の復元処理となる。
【００３８】
図３の処理を図５の説明図を用いて具体的な数値で説明する。ここでも、Ｍ行Ｎ列のパケット行列４３を構成するパケットをパケット４１、特定されたＦＥＣパケットをＦＥＣパケット４２とし、Ｍ＝４、Ｎ＝４、Ｓ＝２とする例である。まず、４行４列のパケット行列４３をパケット規定部３５で規定し、これは（１）番〜（１６）番のパケット４１で構成されている。そして、Ｓ列グループ化部３６により、１列目および２列目のパケット４１からなるグループ５１、２列目および３列目のパケット４１からなるグループ５２、３列目および４列目のパケット４１からなるグループ５３、４列目および１列目のパケット４１からなるグループ５４の４つのグループが生成される。ここで、（１）番〜（１６）番の各パケット４１は、いずれもグループ５１〜５４の中のいずれか複数個（図５の例で２つ）に所属することになる点が、前記の比較例（図９（ａ）参照）とは異なる。図５（ａ）のグループ５１〜５４をそれぞれ分離して左右に並べて図示すると、図５（ｂ）のようになる。
【００３９】
この例では、受信した（１）番〜（１６）番のパケット４１で（２）番のパケット４１がネットワーク１３の輻輳などの影響で消失している。そして、グループ５２に対応している＜２番＞のＦＥＣパケット４２も消失している。
このような例では、前記した比較例では、図９を参照して説明したように、＜２番＞のＦＥＣパケット４２の消失により、（２）番のパケット４１を復元することができなかった。
【００４０】
しかし、本実施形態では、（２）番のパケット４１はグループ５２のみに所属するものではなく、グループ５１にも所属している。そのため、グループ５１に対応する＜１番＞のＦＥＣパケット４２が消失していなければ、グループ５１により（２）番のパケット４１を復元することができる。かかる復元処理は、第１のパケット復元部３８で実行することができる。
よって、本実施形態によれば、あるＦＥＣパケット４２が失われてしまっても、他のＦＥＣパケット４２によって、消失したパケット４１の復元を可能として、比較例に比べて通信品質を向上させることができる。
【００４１】
また、図３の処理の別の例を図６の説明図を用いて具体的な数値で説明する。図６（ａ）の例では、（２）番、（７）番、（９）番のパケット４１が消失している。この場合に、図６（ａ）のように、グループ５１〜５４についてみてみると、グループ５１，５２については、消失したパケット４１が複数存在するため、そのままでは消失したパケット４１を復元することはできない。
しかし、グループ５３，５４については、消失したパケット４１が各１つだけであるため、消失したパケット４１の復元が可能である。すなわち、（７）番、（９）番のパケット４１を復元することができる。かかる復元処理は第１のパケット復元部３８で実行することができる。
【００４２】
これにより、グループ５１，５２についても、復元できていないパケット４１は（２）番だけであるため、グループ５１とグループ５２のどちらかで前記のパリティ演算を行えば、すべてのパケット４１を復元することができる。この復元処理は、第１のパケット復元部３８で実行する前記の復元処理の結果を用いて、第２のパケット復元部３９で実行することができる。よって、前記の比較例で図８を参照して説明した場合と同様に、消失したパケット４１を全て復元することができる。
【符号の説明】
【００４３】
１０    通信システム
１１    送信装置
１２    受信装置
２１    エンコーダ
２２    送信部
２３    グループ化部（第１のグループ化部）
２４    ＦＥＣパケット生成部
２５    パケット行列生成部
２６    Ｓ列グループ部
３１    デコーダ
３２    受信部
３３    グループ化部（第２のグループ化部）
３４    復元部
３５    パケット規定部
３６    Ｓ列グループ化部
３７    対応部
３８    第１のパケット復元部
３９    第２のパケット復元部
４１    パケット
４２    ＦＥＣパケット
４３    パケット行列
５１〜５４  グループ
【図１】
2015162854.tif 000003
【図２】
2015162854.tif 000004
【図３】
2015162854.tif 000005
【図４】
2015162854.tif 000006
【図５】
2015162854.tif 000007
【図６】
2015162854.tif 000008
【図７】
2015162854.tif 000009
【図８】
2015162854.tif 000010
【図９】
2015162854.tif 000011