(57)【要約】【課題】できるだけ高い誤り耐性を確保しつつ、冗長データを少なくすることができる通信システム、通信システムの制御方法、送信装置および受信装置を提供する。【解決手段】送信装置１０において、ある送信データパケットＴ＃１〜Ｔ＃Ｎに対してターボ符号化器１２が符号化を行い、システマチックビットＳ＃１〜Ｓ＃Ｎと、冗長データであるパリティビットＰＡ＃１〜ＰＡ＃ＮおよびパリティビットＰＢ＃１〜ＰＢ＃Ｎを生成する。そして、システマチックビットＳ＃１〜Ｓ＃ＮとパリティビットＰＡ＃１〜ＰＡ＃Ｎとを受信装置２０に対して送信するとともに、パリティビットＰＢ＃１〜ＰＢ＃Ｎに対してＥＸＯＲ計算器１３が排他的論理和演算を行い、その結果を共用パリティビットＰＣとして受信装置２０に対して送信する。【選択図】図２
2017158015.tif 000002
【特許請求の範囲】
【請求項１】
複数のパケットを含むデータを送信する送信装置と、前記送信装置から前記データを受信する受信装置と、を有し、
前記送信装置は、
前記データに対してパケット毎に符号化を行い、当該符号化により生成された冗長データのうちの一部を抽出し、
抽出した一部の冗長データに対する排他的論理和演算を行った結果である共用冗長データを算出し、
当該共用冗長データと、前記符号化後の符号化データと、抽出されなかった前記冗長データと、を前記受信装置に対して送信する、
通信システム。
【請求項２】
前記受信装置は、
前記送信装置から受信した各データに対して復号を行ったとき、誤りパケットが１つ存在すると判定した場合に、受信したデータのうち誤っていない全てのパケットに対して再度符号化を行って生成した再生冗長データと、受信した前記共用冗長データと、の排他的論理和演算を行って前記誤りパケットの再生冗長データを算出し、
当該誤りパケットの再生冗長データを用いて、前記誤りパケットを再度復号することで当該誤りパケットの誤り訂正を行う、
請求項１に記載の通信システム。
【請求項３】
前記受信装置は、前記誤りパケットが２つ以上存在すると判定した場合に、前記誤りパケットのうち１つを除いたパケットの冗長データの再送を前記送信装置に対して要求する、
請求項２に記載の通信システム。
【請求項４】
前記送信装置は、所定数の複数のパケットをグループとし、前記グループ単位でデータを送信し、
前記冗長データの再送を要求されたとき、要求されたパケットの冗長データと、次に送信するグループ内の複数のパケットを含むデータの符号化により生成された第２の冗長データと、の排他的論理和演算の結果と、前記次に送信するグループ内の複数のパケットの符号化データである第２の符号化データと、を前記受信装置に対して再送する、
請求項３に記載の通信システム。
【請求項５】
前記受信装置は、前記送信装置から再送された第２の符号化データに対して復号を行ったとき、誤りパケットが無いと判定した場合に、前記第２の符号化データに含まれる誤りパケットに対して再度符号化を行って生成した第２の再生冗長データと、前記第２の冗長データと、の排他的論理和演算を行って、前記再送を要求したパケットの冗長データを算出する、
請求項４に記載の通信システム。
【請求項６】
前記送信装置は、複数の受信装置に対して、前記共用冗長データと、前記符号化データと、前記抽出されなかった冗長データと、を送信する、
請求項３に記載の通信システム。
【請求項７】
前記送信装置は、前記複数の受信装置から冗長データの再送を要求されたとき、最も再送の要求が多かったパケットの冗長データのみ前記複数の受信装置に対して再送する、
請求項６に記載の通信システム。
【請求項８】
前記受信装置は、前記送信装置から受信した各データに対してパケット毎に復号を行い、復号したパケットに対して再度符号化を行って再生冗長データを生成し、前記復号したパケットのうち、ある１つのパケット以外の全てのパケットの前記再生冗長データに対する排他的論理和演算の結果を冗長データとして用いて、当該ある１つのパケットに対して再度復号を行うことにより、反復して復号を行う、
請求項１に記載の通信システム。
【請求項９】
前記受信装置は、前記排他的論理和演算の結果に対して、前記反復の回数に応じて変化する所定の係数を乗算する、
請求項８に記載の通信システム。
【請求項１０】
少なくとも１つの他の通信端末からデータを受信するとともに、前記受信したデータと、自らが生成したデータとを少なくとも１つの他の通信端末に送信する複数の通信端末を有する通信システムであって、
前記通信端末は、
前記データに対してパケット毎に符号化を行い、
当該符号化により生成された冗長データの一部を抽出し、
前記生成した冗長データの一部と、前記全ての他の通信端末から受信した前記冗長データの一部と、に対して排他的論理和演算を行った結果である共用冗長データを算出し、
当該共用冗長データと、前記符号化により生成した符号化データと、前記他の通信端末から受信した符号化データと、前記一部を除く前記冗長データと、前記他の通信端末から受信した冗長データのうち、前記一部を除く冗長データと、を前記少なくとも１つの他の通信端末に対して送信する、
通信システム。
【請求項１１】
複数のパケットを含むデータを送信する送信装置と、前記送信装置から前記データを受信する受信装置とを有する通信システムの制御方法であって、
前記送信装置が、
前記データに対してパケット毎に符号化を行い、
当該符号化により生成された冗長データのうちの一部を抽出し、
抽出した一部の冗長データに対する排他的論理和演算を行った結果である共用冗長データを算出し、
当該共用冗長データと、前記符号化後の符号化データと、抽出されなかった前記冗長データと、を前記受信装置に対して送信する、
通信システムの制御方法。
【請求項１２】
前記受信装置は、
前記送信装置から受信した各データに対して復号を行ったとき、誤りパケットが１つ存在すると判定した場合に、受信したデータのうち誤っていない全てのパケットに対して再度符号化を行って生成した再生冗長データと、受信した前記共用冗長データと、の排他的論理和演算を行って前記誤りパケットの再生冗長データを算出し、
当該誤りパケットの再生冗長データを用いて、前記誤りパケットを再度復号することで当該誤りパケットの誤り訂正を行う受信装置を有する、
請求項１１に記載の通信システムの制御方法。
【請求項１３】
複数のパケットを含むデータに対してパケット毎に符号化を行う符号化部と、
当該符号化により生成された冗長データのうち、抽出された一部の冗長データに対する排他的論理和演算を行った結果である共用冗長データを算出する排他的論理和計算部と、
前記共用冗長データと、前記符号化後の符号化データと、抽出されなかった前記冗長データと、を受信装置に対して送信する送信部と、
を有する送信装置。
【請求項１４】
送信装置から、パケット毎の符号化により生成された冗長データの中から抽出した一部の冗長データに対する排他的論理和演算を行った結果である共用冗長データと、前記符号化後の符号化データと、抽出されなかった前記冗長データと、を受信する受信部と、
前記受信した符号化データに対して復号を行う復号部と、
復号したデータのうち、誤りパケットを検出する誤り検出部と、
誤りパケットが１つ存在すると判定された場合に、前記復号を行ったデータのうち誤っていない全てのパケットに対して再度符号化を行って再生冗長データを生成する再符号化部と、
前記再生冗長データと、受信した前記共用冗長データと、の排他的論理和演算を行って前記誤りパケットの再生冗長データを算出する排他的論理和計算部と、
を有し、
前記復号部は、前記誤りパケットの再生冗長データを用いて、前記誤りパケットを再度復号することで当該誤りパケットの誤り訂正を行う、
受信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルデータを伝送する際に誤り訂正を行う通信システム、通信システムの制御方法、送信装置および受信装置に関する。
【背景技術】
【０００２】
デジタルデータを伝送する場合、通信路において生じるデータの誤りに対処するために、誤り訂正符号による訂正や誤りが生じた場合の再送等が行われている。特に無線通信においては通信路が不安定になることがあるため、このような対処は必要不可欠となっている。
【０００３】
誤り訂正符号による誤り訂正技術は、送信する情報に冗長データを持たせることにより、伝送路で発生する誤りを訂正する技術である。具体的には、例えば符号化器において情報系列に冗長ビットを付加して送信し、受信側で誤りが生じた場合には復号器において付加されている冗長ビットを用いて誤りを訂正する。このような誤り訂正技術の一例として、例えば特許文献１に開示された技術がある。
【０００４】
特許文献１には、２つの情報パケットのビット毎に排他的論理和演算を行って１つの冗長パケットを生成して送信し、受信側で２つの情報パケットのうちのいずれか一方が損失したとしても、他方の情報パケットと冗長パケットとのビット毎の排他的論理和演算によって、損失した情報パケットを求める技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−２５８７７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、誤り訂正符号による誤り訂正技術では、冗長データを付加するため、本伝送する情報データよりも多量の信号を送信する必要がある。そして、誤り訂正の誤り耐性を高めようとすればするほど、送信しなければならないデータ量は増えてしまう。一方で、伝送路において誤りが生じなかった場合、誤り訂正のための冗長データは無駄になってしまうので、通信路の帯域幅を圧迫させないために、できるだけ高い誤り耐性を確保しつつ、冗長データを少なくすることが要望されている。
【０００７】
本発明は、このような事情に鑑みてなされたものであって、できるだけ高い誤り耐性を確保しつつ、冗長データを少なくすることができる通信システム、通信システムの制御方法、送信装置および受信装置を提供することである。
【課題を解決するための手段】
【０００８】
本発明の通信システムは、複数のパケットを含むデータを送信する送信装置と、前記送信装置から前記データを受信する受信装置と、を有し、前記送信装置は、前記データに対してパケット毎に符号化を行い、当該符号化により生成された冗長データのうちの一部を抽出し、抽出した一部の冗長データに対する排他的論理和演算を行った結果である共用冗長データを算出し、当該共用冗長データと、前記符号化後の符号化データと、抽出されなかった前記冗長データと、を前記受信装置に対して送信する。
【０００９】
本発明の通信システムは、少なくとも１つの他の通信端末からデータを受信するとともに、前記受信したデータと、自らが生成したデータとを少なくとも１つの他の通信端末に送信する複数の通信端末を有する通信システムであって、前記通信端末は、前記データに対してパケット毎に符号化を行い、当該符号化により生成された冗長データの一部を抽出し、前記生成した冗長データの一部と、前記全ての他の通信端末から受信した前記冗長データの一部と、に対して排他的論理和演算を行った結果である共用冗長データを算出し、当該共用冗長データと、前記符号化により生成した符号化データと、前記他の通信端末から受信した符号化データと、前記一部を除く前記冗長データと、前記他の通信端末から受信した冗長データのうち、前記一部を除く冗長データと、を前記少なくとも１つの他の通信端末に対して送信する。
【００１０】
本発明の通信システムの制御方法は、複数のパケットを含むデータを送信する送信装置と、前記送信装置から前記データを受信する受信装置とを有する通信システムの制御方法であって、前記送信装置が、前記データに対してパケット毎に符号化を行い、当該符号化により生成された冗長データのうちの一部を抽出し、抽出した一部の冗長データに対する排他的論理和演算を行った結果である共用冗長データを算出し、当該共用冗長データと、前記符号化後の符号化データと、抽出されなかった前記冗長データと、を前記受信装置に対して送信する。
【００１１】
本発明の送信装置は、複数のパケットを含むデータに対してパケット毎に符号化を行う符号化部と、当該符号化により生成された冗長データのうち、抽出された一部の冗長データに対する排他的論理和演算を行った結果である共用冗長データを算出する排他的論理和計算部と、前記共用冗長データと、前記符号化後の符号化データと、抽出されなかった前記冗長データと、を受信装置に対して送信する送信部と、を有する。
【００１２】
本発明の受信装置は、送信装置から、パケット毎の符号化により生成された冗長データの中から抽出した一部の冗長データに対する排他的論理和演算を行った結果である共用冗長データと、前記符号化後の符号化データと、抽出されなかった前記冗長データと、を受信する受信部と、前記受信した符号化データに対して復号を行う復号部と、復号したデータのうち、誤りパケットを検出する誤り検出部と、誤りパケットが１つ存在すると判定された場合に、前記復号を行ったデータのうち誤っていない全てのパケットに対して再度符号化を行って再生冗長データを生成する再符号化部と、前記再生冗長データと、受信した前記共用冗長データと、の排他的論理和演算を行って前記誤りパケットの再生冗長データを算出する排他的論理和計算部と、を有し、前記復号部は、前記誤りパケットの再生冗長データを用いて、前記誤りパケットを再度復号することで当該誤りパケットの誤り訂正を行う。
【発明の効果】
【００１３】
本発明によれば、できるだけ高い誤り耐性を確保しつつ、冗長データを少なくすることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態に係る通信システムの構成の一例を示す図
【図２】送信装置の構成の一例を示す図
【図３】ターボ符号化器の構成の一例を示す図
【図４】受信装置の構成の一例を示す図
【図５】ＥＸＯＲ計算器および、誤っている受信データパケットに対応するターボ復号器の動作について説明するための図
【図６】ターボ復号器の構成の一例を示す図
【図７】送信装置の動作例を説明するためのフロー図
【図８】受信装置の動作例を説明するためのフロー図
【図９】一般的な符号化率とＥｂ／Ｎ０との関係を示す図
【図１０】復号方法の変形例における受信装置の構成の一例を示す図
【図１１】複数の送信装置および受信装置を含む通信システムの具体的な適用例を示す図
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態について図面を参照して詳細に説明する。図１は、本発明の実施の形態に係る通信システム１００の構成の一例を示す図である。図１に示すように、通信システム１００は、送信装置１０、受信装置２０、伝送路３０を有する。送信装置１０は、入力されたデータを符号化して送信する。送信装置１０から送信されたデータは、伝送路３０を介して受信装置２０に伝送される。
【００１６】
送信装置１０には、それぞれ異なるＮ個のパケットが入力され、符号化されて送信される。受信装置２０は、受信したＮ個のパケットをそれぞれ復号する。伝送路３０は、例えば無線や有線の通信路である。
【００１７】
伝送路３０を介したデータ伝送により、受信装置２０が受信したデータに誤りが生じる可能性がある。このため、受信装置２０は受信した各パケットに含まれる誤り検出用の冗長データを用いて、当該パケットについて誤っているか否かを判定し、誤っているパケット（誤りパケット）に対しては誤り訂正用の冗長データを用いて誤りを訂正する。
【００１８】
なお、送信装置１０に入力されるパケットの数Ｎは、正の整数であり、予め定められた数である。Ｎの値は、例えば通信システム１００に求められるエラーレート（誤り率）に基づいて予め設定されればよい。
【００１９】
なお、送信装置１０において、Ｎ個のパケットの送信が終了した後には、新たにＮ個のパケットが入力され、符号化されて送信される。すなわち、送信装置１０は、送信すべきデータの送信が終了するまで、一度にＮ個のパケットを送信する。送信装置１０において一度に送信されるＮ個のパケットを以下ではグループと称する。従って、送信装置１０は、それぞれがＮ個のパケットを含むグループＡ、Ｂ、Ｃ・・・を順次送信する。
【００２０】
なお、図１においては、通信システム１００は、１つの送信装置１０と、１つの受信装置２０とを有する例について示しているが、本発明はこれに限定されない。例えば複数の送信装置１０から、複数の受信装置２０に対して同じ送信データを送信するようにしてもよいし、送信装置１０の機能と受信装置２０の機能とを併せ持つ通信装置が、状況に応じて送信装置１０と受信装置２０のいずれかの動作を行うようにしてもよい。
【００２１】
＜送信装置の構成例＞
図２は、送信装置１０の構成の一例を示す図である。図２に示すように、送信装置１０は、Ｎ個の誤り検出符号生成器１１＿１〜１１＿Ｎ、Ｎ個のターボ符号化器１２＿１〜１２＿Ｎ、１個のＥＸＯＲ計算器１３（排他的論理和計算部）、および１個の送信部１４を有する。
【００２２】
以下では、あるＮ個の送信データパケットＴ＃１〜Ｔ＃Ｎが送信装置１０に入力されるとする。各誤り検出符号生成器１１＿１〜１１＿Ｎには、それぞれ異なる送信データパケットが入力される。誤り検出符号生成器１１＿１〜１１＿Ｎは、入力された送信データパケットＴ＃１〜Ｔ＃Ｎに対して、誤り検出用の誤り検出符号を付加する。なお、誤り検出符号としては、例えば巡回冗長検査（ＣＲＣ：Cyclic Redundancy Check）符号等を利用すればよい。
【００２３】
ターボ符号化器１２＿１〜１２＿Ｎは、誤り検出符号生成器１１＿１〜１１＿Ｎによって誤り検出符号が付加された送信データパケットＴ＃１〜Ｔ＃Ｎに対してターボ符号化を行い、送信すべき情報を含むシステマチックビットＳ＃１〜Ｓ＃Ｎと、誤り訂正のためのパリティビットと、を生成する。そして、ターボ符号化器１２＿１は、生成したパリティビットに対してパンクチャ処理を行い、パリティビットＰＡ＃１とパリティビットＰＢ＃１と生成する。ターボ符号化器１２＿２〜１２＿Ｎも、それぞれ入力された送信データパケットＴ＃２〜Ｔ＃Ｎに対して同様の処理を行う。
【００２４】
なお、パンクチャ処理とは、意図的にいくつかの冗長ビットを間引いて送信しないことで、冗長度を制御する処理である。ターボ符号化器１２＿１〜１２＿Ｎは、生成したパリティビットのうち、パリティビットＰＡ＃１〜ＰＡ＃Ｎについては受信装置２０に送信し、パリティビットＰＢ＃１〜ＰＢ＃Ｎについては送信しない。ターボ符号化器１２＿１〜１２＿Ｎは、パリティビットＰＢ＃１〜ＰＢ＃ＮをＥＸＯＲ計算器１３に出力する。
【００２５】
ＥＸＯＲ計算器１３は、ターボ符号化器１２＿１〜１２＿Ｎから出力された、送信しないパリティビットＰＢ＃１〜ＰＢ＃Ｎに対して排他的論理和（ＥＸＯＲ）演算を行い、その演算結果を共用パリティビットＰＣとして出力する。
【００２６】
送信部１４は、図１に示す伝送路３０を介して、ターボ符号化器１２＿１〜１２＿Ｎの出力したシステマチックビットＳ＃１〜Ｓ＃ＮとパリティビットＰＡ＃１〜ＰＡ＃Ｎと、ＥＸＯＲ計算器１３の出力した共用パリティビットＰＣとを後述する受信装置２０に対して送信する。なお、送信部１４は、これらのデータを互いに独立したまま送信してもよいし、これらのデータに対して多重化や変調等の処理等を行って送信してもよい。
【００２７】
［ターボ符号化器１２の構成例］
図３は、ターボ符号化器１２の構成の一例を示す図である。なお、ターボ符号化器１２とは、図２に示すターボ符号化器１２＿１〜１２＿Ｎのうちの１つを指す記載である。
【００２８】
ターボ符号化器１２には送信データパケットＴが入力される。ターボ符号化器１２に入力された送信データパケットＴは、そのままシステマチックビットＳとして出力されるとともに、要素符号器１２１とインタリーバ１２２とに入力される。要素符号器１２１は、送信データパケットＴに対して畳み込み符号化を行い、符号化データをパンクチャ部１２４に出力する。インタリーバ１２２は、送信データパケットＴの順序をランダムに並び替え（インタリーブし）て、要素符号器１２３に出力する。要素符号器１２３は、インタリーブされた送信データパケットＴに対して畳み込み符号化を行い、符号化データをパンクチャ部１２４に出力する。パンクチャ部１２４は、要素符号器１２１および要素符号器１２３の出力に対してパンクチャ処理（間引き処理）を行い、パリティビットＰＡとパリティビットＰＢとに分けて出力する。なお、要素符号器１２１および１２３には、例えば再帰的組織畳み込み符号器を用いればよい。
【００２９】
＜受信装置の構成例＞
次に、送信装置１０が送信したデータを受信する受信装置２０について説明する。図４は、受信装置２０の構成の一例を示す図である。図４に示すように、受信装置２０は、１個の受信部２１、Ｎ個のターボ復号器２２＿１〜２２＿Ｎ、Ｎ個の誤り検出器２３＿１〜２３＿Ｎ、Ｎ個の誤り検出符号生成器２４＿１〜２４＿Ｎ、Ｎ個のターボ符号化器２５＿１〜２５＿Ｎ、１個の誤り判定部２６および１個のＥＸＯＲ計算器２７（排他的論理和計算部）を有する。
【００３０】
なお、ターボ復号器２２、誤り検出器２３、誤り検出符号生成器２４、およびターボ符号化器２５の個数Ｎは、送信装置１０から送信されるデータのグループに含まれるパケットの数Ｎと同じ数である。
【００３１】
受信部２１は、送信装置１０から送信されたＮ個のシステマチックビットＳ＃１〜Ｓ＃Ｎと、Ｎ個のパリティビットＰＡ＃１〜ＰＡ＃Ｎとを、伝送路３０を介して受信する。送信装置１０によって受信データに多重化や変調等の処理が施されている場合、受信部２１は、受信データに対して分離や復調等の処理を行う。なお、受信部２１が受信したデータは、伝送路３０を介した伝送により誤っている可能性がある。受信部２１は、システマチックビットＳ＃１〜Ｓ＃ＮおよびパリティビットＰＡ＃１〜ＰＡ＃Ｎを、対応するターボ復号器２２＿１〜２２＿Ｎに出力する。
【００３２】
ターボ復号器２２＿１〜２２＿Ｎは、入力されたデータを復号して受信データパケットＲ＃１〜Ｒ＃Ｎを生成し、出力する。ターボ復号器２２＿１〜２２＿Ｎは、受信データパケットＲ＃１〜Ｒ＃Ｎを、誤り検出器２３＿１〜２３＿Ｎ、誤り検出符号生成器２４＿１〜２４＿Ｎ、ターボ符号化器２５＿１〜２５＿Ｎ、および誤り判定部２６に対して出力する。ターボ復号器２２＿１〜２２＿Ｎの構成および動作の詳細については後述する。
【００３３】
誤り検出器２３＿１〜２３＿Ｎは、入力された受信データパケットＲ＃１〜Ｒ＃Ｎが誤っているか否かを判定する。この判定は、受信データパケットＲ＃１〜Ｒ＃Ｎに付加されている誤り検出符号を用いて行えばよい。誤り検出器２３＿１〜２３＿Ｎは、誤り検出結果を示すＯＫ／ＮＧフラグＦ＃１〜Ｆ＃Ｎを誤り判定部２６に対して出力する。
【００３４】
誤り検出符号生成器２４＿１〜２４＿Ｎ、およびターボ符号化器２５＿１〜２５＿Ｎは、上述した送信装置１０が有する誤り検出符号生成器１１＿１〜１１＿Ｎ、およびターボ符号化器１２＿１〜１２＿Ｎと同様の構成および機能を有する。すなわち、検出ビット生成器２４＿１〜２４＿Ｎ、およびターボ符号化器２５＿１〜２５＿Ｎは、ターボ復号器２２＿１〜２２＿Ｎにおいて復号された受信データパケットＲ＃１〜Ｒ＃Ｎに対して誤り検出符号の付加と再符号化を行う。ターボ符号化器２５＿１〜２５＿Ｎは、ターボ符号化器１２＿１〜１２＿Ｎと同様に再符号化を行い、生成したパリティビットの一部を、再生パリティビットＰＢ（Ｒ）＃１〜ＰＢ（Ｒ）＃Ｎとして誤り判定部２６に出力する。
【００３５】
誤り判定部２６は、誤り検出器２３＿１〜２３＿Ｎから入力されたＯＫ／ＮＧフラグＦ＃１〜Ｆ＃Ｎに基づいて、受信データパケットＲ＃１〜Ｒ＃Ｎのうち、誤っている受信データパケットを特定する。そして、ターボ復号器２２＿１〜２２＿Ｎから入力された再生パリティビットＰＢ（Ｒ）＃１〜ＰＢ（Ｒ）＃Ｎのうち、誤っていると判定された受信データパケット以外の全て受信データパケットに対応する再生パリティビットをＥＸＯＲ計算器２７に出力する。
【００３６】
具体的には、例えば誤り検出器２３＿１〜２３＿Ｎにより、受信データパケットＲ＃Ｘが誤っていると判定され（Ｘは１以上Ｎ以下の整数）、それ以外の全ての受信データパケットＲ＃１〜Ｒ＃Ｘ−１，Ｒ＃Ｘ＋１〜Ｒ＃Ｎが誤っていないと判定されたとすると、誤り判定部２６は、再生パリティビットＰＢ（Ｒ）＃Ｘ以外の全ての再生パリティビットＰＢ（Ｒ）＃１〜ＰＢ（Ｒ）＃Ｘ−１，ＰＢ（Ｒ）＃Ｘ＋１〜ＰＢ（Ｒ）＃ＮをＥＸＯＲ計算器２７に出力する。
【００３７】
図５は、ＥＸＯＲ計算器２７および、誤っている受信データパケットＲ＃Ｘに対応するターボ復号器２２＿Ｘの動作について説明するための図である。
【００３８】
図５に示すように、ＥＸＯＲ計算器２７には、送信装置１０から受信した共用パリティビットＰＣと、誤り判定部２６から入力された再生パリティビットＰＢ（Ｒ）＃１〜ＰＢ（Ｒ）＃Ｘ−１，ＰＢ（Ｒ）＃Ｘ＋１〜ＰＢ（Ｒ）＃Ｎとが入力される。ＥＸＯＲ計算器２７は、入力されたデータに対して排他的論理和演算を行う。共用パリティビットＰＣは、送信装置１０のＥＸＯＲ計算器１３において算出された、パリティビットＰＢ＃１〜ＰＢ＃Ｎの排他的論理和演算により得られた値であるため、ＥＸＯＲ計算器２７は、誤っていない受信データパケットＲ＃１〜Ｒ＃Ｘ−１，Ｒ＃Ｘ＋１〜Ｒ＃Ｎに基づいてターボ符号化器２５＿１〜２５＿Ｘ−１，２５＿Ｘ＋１〜２５＿Ｎが生成した再生パリティビットＰＢ（Ｒ）＃１〜ＰＢ（Ｒ）＃Ｘ−１，ＰＢ（Ｒ）＃Ｘ＋１〜ＰＢ（Ｒ）＃Ｎと、共用パリティビットＰＣとの排他的論理和演算を行うことにより、誤っていた受信データパケットＲ＃Ｘに対応する再生パリティビットＰＢ（Ｒ）＃Ｘを算出することができる。ＥＸＯＲ計算器２７は、生成した再生パリティビットＰＢ（Ｒ）＃Ｘを対応するターボ復号器２２＿Ｘに出力する。
【００３９】
ターボ復号器２２＿Ｘは、送信装置１０から受信したシステマチックビットＳ＃Ｘ、およびパリティビットＰＡ＃Ｘと、ＥＸＯＲ計算器２７から受信した再生パリティビットＰＢ（Ｒ）＃Ｘと、に基づいて、再度復号を行う。これにより、一回目にパリティビットＰＡ＃Ｘのみを用いて誤り訂正を行った場合よりも再生パリティビットＰＢ（Ｒ）＃Ｘだけ冗長度を大きくすることができるため、一回目は誤っていた受信データパケットＲ＃Ｘの誤りを、二回目に訂正できる可能性がある。
【００４０】
なお、１つのグループのデータを受信装置２０が受信したとき、受信したデータをターボ復号器２２＿１〜２２＿Ｎが復号したＮ個の受信データパケットＲ＃１〜Ｒ＃Ｎのうち、誤りパケットが１つ以下である場合には、上述したように誤っている受信データパケットＲ＃Ｘを訂正することができる。しかしながら、１グループ内で２つ以上のパケットに誤りがある場合、ＥＸＯＲ計算器２７は、排他的論理和演算により誤っている受信データパケットＲ＃Ｘに対応する再生パリティビットＰＢ（Ｒ）＃Ｘを算出できない可能性があるので、誤りパケットを訂正することができない。従って、受信したＮ個のデータパケットＲ＃１〜Ｒ＃Ｎに誤りパケットが２つ以上ある場合には、受信装置２０は、送信装置１０に対して誤りパケットの冗長データ（パリティビットＰＡなど）の再送を要求する。通信システム１００における再送時の動作については後述する。
【００４１】
なお、後述するように、２つ以上のグループに含まれる送信データパケットを重複させることにより、１つのグループ内に２つ以上の誤りがあっても誤りを訂正することができるようになるが、伝送効率が低下するという不利益が生じる。このため、通信システム１００のデータ伝送に対して求められる、予め定められた所定のフレームエラーレートに基づいて、Ｎ個の送信データのうち１つのみが誤りとなる確率が所定のしきい値よりも高くなるようにＮの値が設定されることが望ましい。
【００４２】
［ターボ復号器２２の構成例］
図６は、ターボ復号器２２の構成の一例を示す図である。なお、ターボ復号器２２とは、図４に示すターボ符号化器２２＿１〜２２＿Ｎのうちの１つを指す記載である。
【００４３】
図６に示すように、ターボ復号器２２は、要素復号器２２１、インタリーバ２２２、セレクタ２２３、要素復号器２２４、デインタリーバ２２５および２２６と、判定器２２７、減算器２２８および２２９を有する。
【００４４】
要素復号器２２１は、通信路値（例えばＵおよびＹ１）と事前値（例えばＬ１）とから事後値（例えばＬ１'）と外部値（例えばＬｅ１と）を生成する。一方、要素復号器２２４は、同様に、通信路値（例えばＵおよびＹ１）と事前値（例えばＬ２）とから事後値（例えばＬ２'）と外部値（例えばＬｅ２）を生成する。符号化データ系列Ｕは、送信装置１０で生成されたシステマチックビットＳが伝送路３０を経由して受信された受信データの信号系列を表す。同様に、パリティデータ系列Ｙ１は、送信装置１０で生成されたパリティビットＰＡがそれぞれ通信路を経由した後の信号系列を表す。
【００４５】
通信路値は、デジタル復調された受信信号に通信路定数が乗算されて算出される。事前値は、通信路値に関する事前確率で、繰り返し復号時に前段の復号器から伝えられる値である。事後値は通信路値に関して得られる事後確率で、以下の数式（１）によって表される。
事後値  ＝  通信路値  ＋  事前値  ＋  外部値              （１）
【００４６】
外部値は、要素復号器２２１と要素復号器２２４との間で受け渡される信頼度情報で、要素復号器２２１で復号した結果得られる外部値（Ｌｅ１）は、要素復号器２２４の事前値（Ｌ２）として受け渡される。同様に、要素復号器２２４で復号した結果得られる外部値（Ｌｅ２）は、要素復号器２２１の事前値（Ｌ１）として受け渡される。このように、信頼度情報である外部値を受け渡しながら、繰り返し復号により要素復号器における復号結果の軟判定値である事後値を更新して復号特性を向上させることがターボ復号の特徴である。
【００４７】
次に、上記のように構成されたターボ復号器２２によるターボ復号動作について説明する。
【００４８】
まず、要素復号器２２１によってターボ符号化器１２の要素符号器１２１に対する復号が行われる。要素復号器２２１へ通信路値として符号化データ系列Ｕと、パリティデータ系列Ｙ１とが入力される。さらに事前値として、デインタリーバ２２５から出力されるＬ１が要素復号器２２１へ入力される。ただし、Ｌ１の初期値はゼロであるため、最初の繰り返し復号時には、セレクタ２２３は接地側に接続される。
【００４９】
そして、要素復号器２２１によって、通信路値Ｕおよび通信路値Ｙ１と事前値Ｌ１から、まずは事後値Ｌ１’が計算される。ここで求められた事後値Ｌ１’と、通信路値Ｕおよび事前値Ｌ１から上記した数式（１）より外部値Ｌｅ１が計算される。ここでは、信頼度情報である外部値Ｌｅ１そのものを受け渡す代わりに、要素復号器２２１の復号結果の軟判定値である事後値Ｌ１’から事前値Ｌ１を引いた結果が、インタリーバ２２２を介して要素復号器２２４へ受け渡される。このとき、受け渡しされる（Ｌ１’−Ｌ１）は、上記した数式（１）より以下の数式（２）のように表される。
Ｌ１’  −  Ｌ１  ＝  Ｕ  ＋  Ｌｅ１              （２）
【００５０】
すなわち、事後値Ｌ１’から事前値Ｌ１を引いた結果（Ｌ１’−Ｌ１）が受け渡されることにより、通信路値Ｕと外部値Ｌｅ１の加算値（Ｕ＋Ｌｅ１）が受け渡されることとなる。
【００５１】
そして、要素復号器２２４によって要素符号器１２３に対応する復号が行われる。要素復号器２２４へ通信路値としてパリティデータ系列Ｙ１が入力される。さらに、インタリーバ２２２でインタリーブされた符号化データ系列Ｕが通信路値として、また、外部値Ｌｅ１が事前値Ｌ２として要素復号器２２４へ出力される。これら通信路値Ｕと、Ｙ１と、事前値Ｌ２とが用いられて、事後値Ｌ２’が計算される。ここで求められた事後値Ｌ２’と、通信路値Ｕおよび事前値Ｌ２から上記した数式（１）より外部値Ｌｅ２が求められる。外部値Ｌｅ２は、以下の数式（３）のように表される。
Ｌｅ２  ＝  Ｌ２’−  Ｌ２  −  Ｕ              （３）
【００５２】
すなわち、外部値Ｌｅ２は事後値Ｌ２’からインタリーバ２２２出力（Ｌｅ１＋Ｕ＝Ｌ２＋Ｕ）を減算することで求められる。外部値Ｌｅ２は、デインタリーバ２２５でデインタリーブされたのち、要素復号器２２１の事前値Ｌ１として用いられて繰り返し復号される。一方、要素復号器２２４の復号結果の軟判定値である事後値Ｌ２’はデインタリーバ２２６でデインタリーブされた後、判定器２２７において硬判定されて、復号結果が受信データパケットＲとして出力される。要素復号器２２１および要素復号器２２４における復号には、ｌｏｇ−ＭＡＰ（Maximum A Posteriori probability）復号、ＭＡＸ−ｌｏｇ−ＭＡＰ復号、ＳＯＶＡ（Soft Output Viterbi Algorithm）復号等が用いられる。
【００５３】
＜送信装置１０の動作例＞
以下、送信装置１０の動作例について説明する。図７は、送信装置１０の動作例を説明するためのフロー図である。
【００５４】
ステップＳ１１において、送信装置１０は１グループに含まれるＮ個の送信データパケットＴ＃１〜Ｔ＃Ｎの入力を受け付ける。
【００５５】
ステップＳ１２において、誤り検出符号生成器１１＿１〜１１＿Ｎは、入力された送信データパケットＴ＃１〜Ｔ＃Ｎに対して、誤り検出符号を付加する。
【００５６】
ステップＳ１３において、ターボ符号化器１２＿１〜１２＿Ｎは、送信データパケットＴ＃１〜Ｔ＃Ｎに対してターボ符号化を行い、システマチックビットＳ＃１〜Ｓ＃Ｎと、パリティビットＰＡ＃１〜ＰＡ＃Ｎと、パリティビットＰＢ＃１〜ＰＢ＃Ｎと、を生成する。
【００５７】
ステップＳ１４において、ＥＸＯＲ計算器１３は、全てのパケットのパリティビットＰＢ＃１〜ＰＢ＃Ｎを集めて排他的論理和演算を行い、共用パリティビットＰＣを生成する。
【００５８】
ステップＳ１５において、送信部１４は、システマチックビットＳ＃１〜Ｓ＃Ｎと、パリティビットＰＡ＃１〜ＰＡ＃Ｎと、共用パリティビットＰＣと、を受信装置２０に対して送信する。
【００５９】
＜受信装置２０の動作例＞
以下、受信装置２０の動作例について説明する。図８は、受信装置２０の動作例を説明するためのフロー図である。
【００６０】
ステップＳ２１において、受信部２１は、送信装置１０から送信されたデータ、すなわちシステマチックビットＳ＃１〜Ｓ＃Ｎと、パリティビットＰＡ＃１〜ＰＡ＃Ｎと、共用パリティビットＰＣと、を受信する。
【００６１】
ステップＳ２２において、ターボ復号器２２＿１〜２２＿Ｎは、受信したシステマチックビットＳ＃１〜Ｓ＃Ｎと、パリティビットＰＡ＃１〜ＰＡ＃Ｎと、に対してターボ復号処理を行い、受信データパケットＲ＃１〜Ｒ＃Ｎを生成する。
【００６２】
ステップＳ２３において、誤り検出器２３＿１〜２３＿Ｎは、受信データパケットＲ＃１〜Ｒ＃Ｎに付加された誤り検出符号に基づいて、誤っている受信データパケットの検出を行う。なお、ここでは、受信データパケットＲ＃Ｘが誤っていたものとする。
【００６３】
一方、ステップＳ２４において、誤り検出符号生成器２４＿１〜２４＿Ｎおよびターボ符号化器２５＿１〜２５＿Ｎは、受信データパケットＲ＃１〜Ｒ＃Ｎに対して再度符号化を行うことにより、再生パリティビットＰＢ（Ｒ）＃１〜ＰＢ（Ｒ）＃Ｎを生成する。なお、ステップＳ２３とステップＳ２４との処理の順序は必ずしも図８に示した順序で行われる必要はなく、ステップＳ２４が先に行われてもよいし、ステップＳ２３とステップＳ２４とが同時に行われてもよい。
【００６４】
ステップＳ２５において、誤り判定部２６は、ステップＳ２３の判定において誤っていないと判定された全ての受信データパケットＲ＃１〜Ｒ＃Ｘ−１，Ｒ＃Ｘ＋１〜Ｒ＃Ｎに対応する再生パリティビットＰＢ（Ｒ）＃１〜ＰＢ（Ｒ）＃Ｘ−１，ＰＢ（Ｒ）＃Ｘ＋１〜ＰＢ（Ｒ）＃ＮをＥＸＯＲ計算器２７に出力し、ＥＸＯＲ計算器２７は、入力されたこれらのデータと、送信装置１０から受信した共用パリティビットＰＣと、に対して排他的論理和演算を行う。これにより、ＥＸＯＲ計算器２７は誤っている受信データパケットＲ＃Ｘに対応する再生パリティビットＰＢ（Ｒ）＃Ｘを算出する。
【００６５】
ステップＳ２６において、誤っている受信データパケットＲ＃Ｘに対応するターボ復号器２２＿Ｘは、ステップＳ２５において算出された再生パリティビットＰＢ（Ｒ）＃Ｘと、送信装置１０から受信したパリティビットＰＡ＃Ｘと、システマチックビットＳ＃Ｘと、に基づいて、誤り訂正された受信データパケットＲ＃Ｘを生成する。これにより、送信装置１０から受信装置２０までのデータ送受信の間に生じた誤りが訂正される可能性がある。
【００６６】
＜本発明の実施の形態に係る通信システム１００の効果＞
以下では、上述した動作を行う送信装置１０および受信装置２０を有する通信システム１００による効果について説明する。
【００６７】
上記説明した送信装置１０および受信装置２０の構成により、本発明の実施の形態に係る通信システム１００では、送信装置１０から受信装置２０に送信される冗長データ量を軽減することができる。以下、具体例を挙げて説明する。本発明の実施の形態に係る通信システム１００において、送信装置１０から受信装置２０に対して、データ量ＸのパケットをＮ個送信する場合、送信装置１０は、Ｎ個の送信データパケットを符号化した符号化データ（システマチックビットＳ：データ量Ｘ）と、Ｎ個の誤り訂正用の冗長データ（パリティビットＰＡ：データ量Ｙ）と、ＥＸＯＲ計算器１３が算出した、１個の共用パリティビットＰＣ（データ量Ｚ）を送信する。このため、総送信データ量はＮ（Ｘ＋Ｙ）＋Ｚとなる。
【００６８】
一方、共用パリティビットＰＣを生成せず、例えば送信データパケット全体の排他的論理和演算を行って誤り訂正用の冗長データを生成する場合、Ｎ個の送信データパケットを符号化した符号化データ（データ量Ｘ）と、符号化データの排他的論理和演算結果（データ量Ｘ）のそれぞれに誤り訂正用の冗長データ（データ量Ｙ）が付加されるので、総送信データ量は（Ｎ＋１）（Ｘ＋Ｙ）となる。
【００６９】
ここで、データ量Ｚは冗長データの一部の排他的論理和であるため、データ量Ｙより小さい。従って、本発明の実施の形態に係る通信システム１００では、共用パリティビットＰＣを生成せず、例えば送信データ全体の排他的論理和演算を行って誤り訂正用の冗長データを生成する場合と比較して、総送信データ量を（Ｘ＋Ｙ）−Ｚだけ少なくすることができる。また、冗長度、すなわち総送信データ全体における冗長データの割合を低減することができる。これにより、送信装置１０から受信装置２０に対するデータ伝送における伝送効率を向上させることができる。
【００７０】
以下では、本発明の実施の形態に係る通信システム１００による伝送効率の向上について、具体例を挙げて説明する。図９は、一般的な符号化率とＥｂ／Ｎ０との関係を示す図である。図９の縦軸は符号化率、横軸はＥｂ／Ｎ０（ビットエネルギー対雑音電力密度比）である。図９に示す曲線Ｃ１は、フレームエラーレート（ＦＥＲ）が１ｅ−３における符号化率とＥｂ／Ｎ０との関係を示し、曲線Ｃ２は、ＦＥＲが１ｅ−４における符号化率とＥｂ／Ｎ０との関係を示している。
【００７１】
例えば、Ｅｂ／Ｎｏ＝３［ｄＢ］でＦＥＲ＜１ｅ−４を達成しようとした場合、図９を参照すると、符号化率０．６９が必要となる。これに対して、本発明の実施の形態に係る通信システム１００では、送信装置１０における送信パケットの符号化率、すなわち総送信データ量に対するシステマチックビットＳの割合を、Ｅｂ／Ｎ０＝３［ｄＢ］でＦＥＲ＜１ｅ−３を達成するために必要な符号化率である０．７７とし、ＥＸＯＲ計算器１３が冗長データの排他的論理和演算によって算出した共用冗長データ（共用パリティビットＰＣ）によってエラーレートを向上させ、ＦＥＲ＜１ｅ−４を達成することができる。
【００７２】
すなわち、送信装置１０において生成される共用冗長データは、分量としては符号化率０．０８分であるため、共用冗長データを送信するにおいては全体の符号化率は０．０８／Ｎだけ下がるが、Ｎが大きければ全体での符号化率への影響は無視できるため、Ｎが大きい場合は、ほぼ符号化率０．０８分のパリティ増をＮ個の冗長データの排他的論理和演算で達成するものである。
【００７３】
以上説明したように、本発明の実施の形態に係る通信システム１００では、送信装置１０において、ある送信データパケットＴ＃１〜Ｔ＃Ｎに対してターボ符号化器１２が符号化を行い、システマチックビットＳ＃１〜Ｓ＃Ｎと、冗長データであるパリティビットＰＡ＃１〜ＰＡ＃ＮおよびパリティビットＰＢ＃１〜ＰＢ＃Ｎとを生成する。そして、システマチックビットＳ＃１〜Ｓ＃ＮとパリティビットＰＡ＃１〜ＰＡ＃Ｎとを受信装置２０に対して送信するとともに、パリティビットＰＢ＃１〜ＰＢ＃Ｎに対して排他的論理和演算を行い、その結果を共用パリティビットＰＣとして受信装置２０に対して送信する。これにより、総送信データ量を低減することができる。
【００７４】
そして、受信装置２０において、ＥＸＯＲ計算器２７が、送信装置１０から受信した共用パリティビットＰＣと、誤っていると判定された受信データパケットＲ＃Ｘを除く全ての受信データパケットに対応する再生パリティビットＰＢ（Ｒ）＃１〜ＰＢ（Ｒ）＃Ｘ−１，ＰＢ（Ｒ）＃Ｘ＋１〜ＰＢ（Ｒ）＃Ｎと、に対して排他的論理和演算を行うことにより、誤り訂正を行うための再生パリティビットＰＢ（Ｒ）＃Ｘを算出することができる。また、ターボ復号器２２＿Ｘは、システマチックビットＳ＃Ｘと、パリティビットＰＡ＃Ｘと、再生パリティビットＰＢ（Ｒ）＃Ｘと、に基づいて再復号化を行うので、符号化率を高くして高い伝送効率でデータ伝送を行うことができるとともに、共用冗長データにより高い誤り訂正能力を確保することができる。
【００７５】
＜送信装置１０のＥＸＯＲ計算器１３における排他的論理和演算の対象設定例＞
上述したように、図２に示す送信装置１０は、あるグループに含まれるＮ個の送信データパケットＴ＃１〜Ｔ＃Ｎを符号化して送信し、図４に示す受信装置２０は、受信したデータを復号して受信データパケットＲ＃１〜Ｒ＃Ｎを生成する。ここで、複数個のグループＡ、Ｂ、Ｃ・・・が送信装置１０に入力され、それぞれのグループに含まれる送信データパケットが符号化されて順次送信される場合を想定する。このような場合、送信装置１０のＥＸＯＲ計算器１３における排他的論理和演算の対象となるデータ（パンクチャ処理で分割されたパリティビットの一部）を変化させることによって、通信システム１００におけるデータ伝送のエラーレートと伝送効率とを制御することができる。以下では、送信装置１０のＥＸＯＲ計算器１３における排他的論理和演算の対象設定の具体例について説明する。
【００７６】
［第１の設定例］
第１の設定例として、それぞれのグループがＮ個ずつ異なる送信データパケットＴを含むように設定する場合について説明する。具体的には、以下のような場合である。
グループＡ：Ｔ＃１〜Ｔ＃Ｎ
グループＢ：Ｔ＃Ｎ＋１〜Ｔ＃２Ｎ
グループＣ：Ｔ＃２Ｎ＋１〜Ｔ＃３Ｎ
・・・
ここではグループＣまでを例示するが、グループＤ以降も同様にＮ個ずつ異なる送信データパケットＴを含むようにすればよい。なお、何個のグループを用意するかは、送信するべき情報のデータ長によって決まる。なお、第１の設定例は、上述した実施の形態に対応している。
【００７７】
各グループに含まれる送信データパケットＴをこのように設定した場合、送信装置１０のＥＸＯＲ計算器１３に入力されるパリティビットＰＢは以下のようになる。
グループＡ：ＰＢ＃１〜ＰＢ＃Ｎ
グループＢ：ＰＢ＃Ｎ＋１〜ＰＢ＃２Ｎ
グループＣ：ＰＢ＃２Ｎ＋１〜ＰＢ＃３Ｎ
・・・
【００７８】
上述したように、ＥＸＯＲ計算器１３は、入力されたパリティビットＰＢに対して排他的論理和演算を行い、共用パリティビットＰＣを生成する。従って、第１の設定例では、送信装置１０にグループＡが入力されたときには、ＥＸＯＲ計算器１３は、パリティビットＰＢ＃１〜ＰＢ＃Ｎの排他的論理和である共用パリティビットＰＣを生成する。同様に、送信装置１０にグループＢが入力されたときには、ＥＸＯＲ計算器１３は、パリティビットＰＢ＃Ｎ＋１〜ＰＢ＃２Ｎの排他的論理和である共用パリティビットＰＣを生成する。さらに、送信装置１０にグループＣが入力されたときには、ＥＸＯＲ計算器１３は、パリティビットＰＢ＃２Ｎ＋１〜ＰＢ＃３Ｎの排他的論理和である共用パリティビットＰＣを生成する。
【００７９】
このように設定されたグループはそれぞれ独立であるため、これらのグループＡ，Ｂ，Ｃ・・・が送信装置１０に入力され、符号化されて受信装置２０に受信されると、グループ毎に復号が行われ、誤り検出器２３により誤りが検出される。グループ内で誤っているデータが１つ以下であった場合は、上述したように、受信装置２０のＥＸＯＲ計算器２７が、誤っているデータに対応する再生パリティビットが生成され、誤りが訂正される。誤っているデータが２つ以上あった場合には、ＥＸＯＲ計算器２７による排他的論理和演算によって誤っているデータに対応する再生パリティビットを一意に特定できないので、受信装置２０は、送信装置１０に対して再送を要求する。再送時における通信システム１００の動作については後述する。
【００８０】
［第２の設定例］
第２の設定例として、隣接するグループがＭ個（ＭはＮより小さい正の整数）ずつ重複する送信データパケットＴを含むように設定する場合について説明する。具体的には、以下のような場合である。
グループＡ：Ｔ＃１〜Ｔ＃Ｎ
グループＢ：Ｔ＃Ｎ−Ｍ＋１〜Ｔ＃２Ｎ−Ｍ
グループＣ：Ｔ＃２Ｎ−２Ｍ＋１〜Ｔ＃３Ｎ−２Ｍ
・・・
【００８１】
各グループに含まれる送信データパケットＴをこのように設定した場合、送信装置１０のＥＸＯＲ計算器１３に入力されるパリティビットＰＢは以下のようになる。
グループＡ：ＰＢ＃１〜ＰＢ＃Ｎ
グループＢ：ＰＢ＃Ｎ−Ｍ＋１〜ＰＢ＃２Ｎ−Ｍ
グループＣ：ＰＢ＃２Ｎ−２Ｍ＋１〜ＰＢ＃３Ｎ−２Ｍ
・・・
【００８２】
第２の設定例では、送信装置１０にグループＡが入力されたときには、ＥＸＯＲ計算器１３は、パリティビットＰＢ＃１〜ＰＢ＃Ｎの排他的論理和である共用パリティビットＰＣを生成する。同様に、送信装置１０にグループＢが入力されたときには、ＥＸＯＲ計算器１３は、パリティビットＰＢ＃Ｎ−Ｍ＋１〜ＰＢ＃２Ｎ−Ｍの排他的論理和である共用パリティビットＰＣを生成する。さらに、送信装置１０にグループＣが入力されたときには、ＥＸＯＲ計算器１３は、パリティビットＰＢ＃２Ｎ−２Ｍ＋１〜ＰＢ＃３Ｎ−２Ｍの排他的論理和である共用パリティビットＰＣを生成する。
【００８３】
このように第２の設定例では隣接する２つのグループでＭ個ずつパケットが重複することにより、１つのグループに２つ以上の誤りがあった場合でも、誤りを訂正できる可能性が高くなる。以下、具体例を挙げて説明する。例えばグループＡにパケット＃１，＃２，＃３が含まれ、グループＢにパケット＃３，＃４，＃５が含まれる場合に、パケット＃１と＃３とが伝送により誤ったとする。この場合、グループＡ内に誤りが２つあるので、グループＡのみでは誤りを訂正できない。しかしながら、パケット＃３はグループＢにも属しており、グループＢ内の他のパケット＃４および＃５に誤りがなければ、誤りを訂正できる可能性がある。パケット＃３の誤りが訂正されると、グループＡにおける誤りはパケット＃１だけになるので、パケット＃１の誤りを訂正できる可能性がある。
【００８４】
ただし、第２の設定例では、グループ毎に重複するパケットが存在する分、伝送効率が低下してしまう。低下する伝送効率は、重複するパケットの数Ｍによって決まるので、伝送効率の低下が許容できる範囲に収まるようにＭの値を設定すればよい。
【００８５】
なお、第２の設定例の変形例として、最初と最後のグループに含まれるパケットを重複させるようにしてもよい。以下、具体例を挙げて説明する。例えばグループＡにパケット＃１，＃２，＃３が含まれ、グループＢにパケット＃３，＃４，＃５が含まれ、グループＣにパケット＃５，＃６，＃１が含まれるとする。また、グループの数はＡ〜Ｃの３グループであるとする。この場合、パケット＃１も他のパケットと同様に、グループＡとＣの２つのグループに属することになる。例えばパケット＃１，＃２，＃３が誤った場合、パケット＃４および＃５が誤っていなければ、パケット＃３はグループＢで、パケット１はグループＣでそれぞれ誤りを訂正できる可能性がある。従って、訂正したパケット＃１および＃３を用いて、グループＡにおいてパケット＃２の誤りを訂正できる可能性がある。すなわち、グループＡの３つのパケットが全部誤った場合でも、全てのパケットにおいて誤りを訂正できる可能性が高くなるので、誤り訂正能力を向上させることができる。
【００８６】
＜再送時の動作例＞
以下では、通信システム１００における再送時の動作について説明する。再送が行われる条件は、上述したように、受信装置２０において、１グループの受信データパケット内に誤っているデータが２つ以上存在した場合である。このような場合、受信装置２０は、送信装置１０に対して冗長データ（パリティビットＰＡ）の再送を要求する。
【００８７】
受信装置２０から再送の要求を受信した送信装置１０は、該当するグループに含まれる複数のパケットの冗長データ（パリティビットＰＡ）のうち、（誤り数−１）の冗長データのみを受信装置２０に対して送信する。これにより、受信装置２０は誤っていたパケットの誤りを全て訂正できる可能性がある。
【００８８】
具体例を挙げて説明する。グループＡがパケット１＃，＃２，＃３，＃４，＃５を含む場合、パケット＃１，＃４，＃５が誤っていたとすると、受信装置２０は、パケット＃１および＃４の冗長データのみの再送を送信装置１０に対して要求する。パケット＃５の冗長データは、再送されたパケット＃１，＃４と、初回送信時に誤っていなかったパケット＃２および＃３とを用いてターボ符号化器２５により再生した冗長データと、グループＡの共用冗長データ（パリティビットＰＣ）との排他的論理和演算により算出することができる。なお、受信装置２０が冗長データの再送を要求するパケットは、誤っていたパケットのうちのいずれでもよい。例えば上記の例では、受信装置２０は、パケット＃１，＃４，＃５のうち、パケット＃４と＃５の冗長データの再送を要求してもよいし、パケット＃１と＃５の冗長データの再送を要求してもよい。
【００８９】
このような再送時の動作により、本発明の実施の形態に係る通信システム１００は、再送時の総送信データ量を軽減することができるようになる。
【００９０】
再送時の動作の変形例として、例えば以下で説明するような動作を行ってもよい。送信装置１０は、受信装置２０から要求されて再送する冗長データを、次のグループに含まれるパケットの冗長データと排他的論理和演算を行ったものを送信するようにしてもよい。
【００９１】
具体例を挙げて説明する。グループＡがパケット＃１，＃２，＃３，＃４を含み、受信装置２０においてパケット＃１と＃２とが誤っていると判定された場合、上記動作例と同様に、受信装置２０は例えばパケット＃１の冗長データのみの再送を送信装置１０に対して要求する。ここで、送信装置１０は、要求されたパケット＃１の冗長データと、新規に送信する次グループＢに含まれるパケット＃５，＃６，＃７，＃８の冗長データとの排他的論理和演算を算出し（これを冗長データＸ（第２の冗長データ）とする）、パケット＃５〜＃８に対してターボ符号化を行ったデータ（第２の符号化データ）とともに受信装置２０に対して送信する。
【００９２】
このような動作を行った場合、受信装置２０において、パケット＃５〜＃８が誤っていなければ、パケット＃５〜＃８の再生冗長データと共用冗長データとの排他的論理和演算によりパケット＃１の冗長データを算出することができる。一方、パケット＃５〜＃８のうち、誤りパケットが１つあった場合、受信装置２０は、送信装置１０に対して、改めてパケット＃１の冗長データの再送要求を送信する。この２回目のパケット＃１の冗長データの再送要求に応じて送信装置１０が再送したパケット＃１の冗長データを冗長データＹとすると、冗長データＹを受信した受信装置２０は、冗長データＸとＹとの排他的論理和演算を行うことにより、パケット＃５〜＃８の冗長データの排他的論理和を算出することができる。このため、受信装置２０は、パケット＃１および＃２の誤りを訂正できる可能性があるとともに、誤っていたパケット＃５〜＃８のうちの１つの誤りも訂正できる可能性がある。なお、パケット＃５〜＃８のうち２つ以上のパケットが誤っていた場合でも、同様の再送動作を行うことにより、効率よく誤りを訂正できる可能性がある。
【００９３】
以上説明したように、本発明の実施の形態に係る通信システム１００においては、１つのグループ内に複数の誤りがあり、再送を行う場合でも、再送時の総送信データ量を軽減することができるので、伝送効率を向上させることができる。
【００９４】
＜同報配信時の動作＞
以下では、通信システム１００における同報配信時の動作について説明する。同報配信とは、１つの送信装置１０から、複数の受信装置２０に対して同じデータを送信することを意味する。このような同報配信では、受信装置２０側がそれぞれ異なる環境に置かれていることを考慮する必要がある。特に伝送路３０が無線通信である場合は、受信装置２０毎に伝送路３０の通信品質（エラーレート）が異なるため、データ伝送において誤りが発生するパケットが受信装置２０毎に異なるという事態が発生しうる。
【００９５】
本発明の実施の形態に係る通信システム１００では、受信装置２０毎に異なるパケットが誤ったとしても、誤ったパケットがグループ内に１つであれば、受信装置２０がそのパケットの誤りを訂正することができる。
【００９６】
また、グループ内で２つ以上のパケットの誤りを検出した受信装置２０は、送信装置１０に対して再送を要求する。再送時の受信装置２０の動作については、上記再送時の動作例で説明した動作と同様とすればよい。ここで、送信装置１０は、複数の受信装置２０から再送要求を受信した場合、要求があった全てのパケットの冗長データを再送するのではなく、最も多く要望があったパケットの冗長データのみを再送する。
【００９７】
以下具体例を挙げて説明する。送信装置１０がパケット＃１，＃２，＃３を送信して、受信装置２０Ａではパケット＃１と＃２が誤っており、受信装置２０Ｂではパケット＃１と＃３が誤っていた場合、送信装置１０は、パケット＃１の冗長データのみを再送すればよい。このような場合、受信装置２０Ａは、再送されたパケット＃１の冗長データによってパケット１の誤りを訂正できる可能性があるとともに、再送されたパケット＃１の冗長データと、受信に成功したパケット＃３から再生したパケット＃３の冗長データと、共用冗長データと、の排他的論理和演算から、パケット＃２の冗長データを算出できるので、パケット＃２の誤りも訂正できる可能性がある。受信装置２０Ｂにおいても、同様に誤っていたパケット＃１と＃３の両方の誤りを訂正できる可能性がある。
【００９８】
また、送信装置１０がパケット＃１，＃２，＃３，＃４，＃５を送信して、受信装置２０Ａではパケット＃１と＃２が、受信装置２０Ｂではパケット＃２と＃３が、受信装置２０Ｃではパケット＃２と＃５が、受信装置２０Ｄではパケット＃３と＃４が、それぞれ誤っていた場合に、送信装置１０は、パケット＃２と＃３の冗長データを再送することで、各受信装置２０が全てのパケットの誤りを訂正できる可能性がある。
【００９９】
以上説明したように、本発明の実施の形態に係る通信システム１００において、同報通信を行う場合でも、再送時の総送信データ量を軽減することができるので、伝送効率を向上させることができる。
【０１００】
＜復号方法の変形例＞
以下では、受信装置２０における復号方法の変形例について説明する。上述した実施の形態では、ターボ復号器２２が復号した結果に対して、誤り判定部２６が誤っているか否かの判定を行い、誤りパケットが１つであった場合には、誤っていないパケットの冗長データ（パリティビットＰＢ（Ｒ））をターボ符号化器２５が再生し、共通冗長データ（パリティビットＰＣ）との排他的論理和演算をＥＸＯＲ計算器２７が行うことで、誤っていたパケットの冗長データを算出していた。以下では、より効率よく復号を行うために、復号結果が誤っているか否かにかかわらず、ターボ復号器が他のパケットから再生された冗長データを用いて再復号を行うことにより、グループ全体の復号を効率よく行う復号方法の変形例について説明する。
【０１０１】
図１０は、復号方法の変形例における受信装置２０’の構成の一例を示す図である。図１０に示すように、本復号方法の変形例において、受信装置２０’は、ターボ復号器２２＿１〜２２＿３、ターボ符号化器２５＿１〜２５＿３、ＥＸＯＲ計算器２７＿１〜２７＿３、尤度低減部２８＿１〜２８＿３を有する。なお、上述した実施形態では、各構成の数Ｎについては限定しなかったが、本変形例では一例として各構成の数は３個ずつとする。また、上述した実施の形態の受信装置２０と同様に、本変形例の受信装置２０’も受信部２１や誤り検出符号生成器２４を有してしてもよいが、説明の簡略化のため、これらの図示は省略する。さらに、ターボ復号器２２、ターボ符号化器２５の動作は、上述した実施の形態とほぼ同様である。
【０１０２】
図１０に示すように、ターボ復号器２２＿１の復号結果（受信データパケットＲ＃１）はターボ符号化器２５＿１に、ターボ復号器２２＿２の復号結果（受信データパケットＲ＃２）はターボ符号化器２５＿２に、ターボ復号器２２＿３の復号結果（受信データパケットＲ＃３）はターボ符号化器２５＿３に、それぞれ出力される。
【０１０３】
また、ターボ符号化器２５＿１で再生された冗長データ（再生パリティビットＰＢ（Ｒ）＃１）およびターボ符号化器２５＿２で再生された冗長データ（再生パリティビットＰＢ（Ｒ）＃２）はＥＸＯＲ計算器２７＿１に、ターボ符号化器２５＿２で再生された冗長データおよびターボ符号化器２５＿３で再生された冗長データ（再生パリティビットＰＢ（Ｒ）＃３）はＥＸＯＲ計算器２７＿２に、ターボ符号化器２５＿３で再生された冗長データおよびターボ符号化器２５＿１で再生された冗長データはＥＸＯＲ計算器２７＿３に、それぞれ出力される。
【０１０４】
ＥＸＯＲ計算器２７＿１は、入力された冗長データ（再生パリティビットＰＢ（Ｒ）＃１およびＰＢ（Ｒ）＃２）と、共用パリティビットＰＣとの排他的論理和演算を行うことにより、受信データパケットＲ＃３に対応する冗長データ（再生パリティビットＰＢ（Ｒ）＃３）を生成する。同様に、ＥＸＯＲ計算器２７＿２は、入力された冗長データ（再生パリティビットＰＢ（Ｒ）＃２およびＰＢ（Ｒ）＃３）と、共用パリティビットＰＣとの排他的論理和演算を行うことにより、受信データパケットＲ＃１に対応する冗長データ（再生パリティビットＰＢ（Ｒ）＃１）を生成する。同様に、ＥＸＯＲ計算器２７＿３は、入力された冗長データ（再生パリティビットＰＢ（Ｒ）＃３およびＰＢ（Ｒ）＃１）と、共用パリティビットＰＣとの排他的論理和演算を行うことにより、受信データパケットＲ＃２に対応する冗長データ（再生パリティビットＰＢ（Ｒ）＃２）を生成する。
【０１０５】
ＥＸＯＲ計算器２７＿１〜２７＿３が算出した冗長データは、尤度低減部２８＿１〜２８＿３にそれぞれ入力される。本変形例では、ターボ復号器２２＿１〜２２＿３が生成した復号結果の誤り判定を行わないので、ＥＸＯＲ計算器２７＿１〜２７＿３が算出した冗長データは、誤りパケットの冗長データに基づいて算出されたものである可能性がある。このため、尤度低減部２８は、入力された冗長データの尤度を低減することで、誤りパケットの影響を軽減する。
【０１０６】
尤度低減部２８は、具体的には、例えばＥＸＯＲ計算器２７が出力した冗長データの各ビット値に対して所定の係数（例えば、０．１等）を乗じることにより尤度の低減を行う。なお、尤度を保持するために、ＥＸＯＲ計算器２７は（１，０）の２値に対する論理演算ではなく、アナログ値に１あるいは−１を乗算することによって振幅を保持しながら排他的論理和演算を行うようにすればよい。実際には、ターボ符号化器２４の出力は（１，０）の２値で、共用パリティビットＰＣはアナログ値なので、ターボ符号化器２４の出力を（１，０）から（１、−１）に変換し、これと共用パリティビットＰＣの値を乗算すればよい。
【０１０７】
尤度低減部２８によって尤度が低減された冗長データは、ターボ復号器２２に戻される。図１０では説明の都合上、図の右端にターボ復号器２２が図示されているが、これは図の左端に図示したターボ復号器２２と同一のものである。尤度低減部２８＿１の出力する冗長データはターボ復号器２２＿３に、尤度低減部２８＿２の出力する冗長データはターボ復号器２２＿１に、尤度低減部２８＿３の出力する冗長データはターボ復号器２２＿２に、それぞれ出力される。そして、尤度低減部２８から冗長データを入力されたターボ復号器２２は、入力された冗長データを用いて再度復号を行う。
【０１０８】
このように、本変形例においては、ターボ復号器２２は、送信装置１０から受信したパケットのうちの１つの冗長データと、当該１つのパケットの他のパケットに基づいて算出された冗長データと、の両方を用いて復号を行う動作を反復して繰り返す。このような反復動作により、反復を繰り返す度に誤りパケットの誤りが訂正される度合いが徐々に向上することが期待できる。なお、復号効率をより向上させるために、尤度低減部２８が尤度を低減するために冗長データに乗じる係数を、反復回数に応じて大きくするようにしてもよい。すなわち、１回目の動作では係数を０．１とし、２回目は０．２、３回目は０．３のように、次第に大きくなるようにし、最終的には係数を１とすることで、誤りパケットの影響を回避しつつ、効率よく復号を行うことができるようになる。
【０１０９】
なお、例えば所定回数反復動作を行ったり、誤り検出で全てのパケットの誤りがないことが分かったり、誤り検出で何回反復しても誤りパケット数が変化しなくなったり、復号結果の誤っている確率を算出する図示しない誤り確率算出部により算出される誤り確率が所定のしきい値以下になったりした場合、本変形例の受信装置２０’は、反復動作を終了し、復号結果を出力すればよい。
【０１１０】
なお、図１０に示す例では、本変形例の一例として、各構成要素が３個ずつである場合について説明したが、本発明はこれに限定されない。受信装置の各構成要素は３個以外の個数であってもよい。
【０１１１】
＜通信システム１００の適用例＞
以下では、通信システム１００の具体的な適用例について説明する。図１１は、複数の送信装置および受信装置を含む通信システム１００の具体的な適用例を示す図である。図１１に例示する通信システム１００Ｃは、複数の通信端末４０Ａ〜４０Ｇと、基地局５０とを有し、隣接する通信端末および基地局同士で、互いにデータの送受信を行うような構成を想定している。
【０１１２】
近年では、ＩｏＴ（Internet of Things）と呼ばれる、元々通信機能を有していない物に通信機能や計測機能を取り付けることにより情報の交換を行い、自動計測や自動制御等を行う試みがなされている。このような仕組みにおいては、互いに通信されるデータ量が小さく、ある程度の遅延が許容される傾向が高い。具体的には、例えば、農場等の広い範囲にセンサを配置し、気温や湿度等のデータを収集する場合、１日に数回程度の通信が行われればよい。また、自動販売機に通信機能を取り付け、売り上げ情報をサーバで管理する場合、１日に１回程度のデータ収集が行われればよい。
【０１１３】
このような仕組みにおいて、通信端末同士の通信では高速かつ大容量の通信回線（例えば３ＧやＬＴＥ等の有料の携帯電話通信網）は必要ない。このため、複数の端末装置同士の通信は小容量の通信回線（９２０ＭＨｚ特定小電力無線や無線ＬＡＮ等、無料の通信回線）で行い、１つの通信端末に複数の通信端末のデータをまとめてから、高速かつ大容量の通信回線を用いてインターネット等のネットワークにデータ伝送を行うこと（マルチホップ）が行われている。
【０１１４】
図１１に例示する通信システム１００Ｃでは、通信端末４０Ａ〜４０Ｇの間の通信回線は小容量の回線であり、通信端末４０Ｇと基地局５０との通信回線は大容量の回線である。このような場合、データが集約されるにつれてデータ量が多くなるため、通信端末４０Ｇに近くなればなるほど、データ量の削減が必要になる。
【０１１５】
以下では、このような通信システム１００Ｃにおいて、各通信端末４０間の通信に本発明を適用した場合の動作と、適用しない場合の動作とを対比させて説明する。
【０１１６】
まず、本発明を適用しない場合について説明する。本発明を適用しない場合、各通信端末４０は、上流から送信されてきたデータに、自らが生成したデータを加えて下流の通信端末４０に送信することになる。具体的には、各通信端末４０が送信するデータは、以下のようになる。なお、以下の例では、各通信端末４０は、自らが生成したデータとして、システマチックビットＳと、その冗長データであるパリティビットＰＡおよびＰＢを生成して送信するものとする。また、通信端末４０Ａが生成したデータを、例えばＳ（Ａ）、ＰＡ（Ａ）のように表記するものとする。
【０１１７】
通信端末４０Ａ→通信端末４０Ｃ：Ｓ（Ａ）＋ＰＡ（Ａ）＋ＰＢ（Ａ）
通信端末４０Ｂ→通信端末４０Ｃ：Ｓ（Ｂ）＋ＰＡ（Ｂ）＋ＰＢ（Ｂ）
通信端末４０Ｃ→通信端末４０Ｄ：Ｓ（Ａ）＋Ｓ（Ｂ）＋Ｓ（Ｃ）＋ＰＡ（Ｂ）＋ＰＡ（Ａ）＋ＰＡ（Ｃ）＋ＰＢ（Ａ）＋ＰＢ（Ｂ）＋ＰＢ（Ｃ）
通信端末４０Ｄ→通信端末４０Ｇ：Ｓ（Ａ）＋Ｓ（Ｂ）＋Ｓ（Ｃ）＋Ｓ（Ｄ）＋ＰＡ（Ｂ）＋ＰＡ（Ａ）＋ＰＡ（Ｃ）＋ＰＡ（Ｄ）＋ＰＢ（Ａ）＋ＰＢ（Ｂ）＋ＰＢ（Ｃ）＋ＰＢ（Ｄ）
通信端末４０Ｅ→通信端末４０Ｇ：Ｓ（Ｅ）＋ＰＡ（Ｅ）＋ＰＢ（Ｅ）
通信端末４０Ｆ→通信端末４０Ｇ：Ｓ（Ｆ）＋ＰＡ（Ｆ）＋ＰＢ（Ｆ）
通信端末４０Ｇ→基地局５０：Ｓ（Ａ）＋Ｓ（Ｂ）＋Ｓ（Ｃ）＋Ｓ（Ｄ）＋Ｓ（Ｅ）＋Ｓ（Ｆ）＋ＰＡ（Ａ）＋ＰＡ（Ｂ）＋ＰＡ（Ｃ）＋ＰＡ（Ｄ）＋ＰＡ（Ｅ）＋ＰＡ（Ｆ）＋ＰＢ（Ａ）＋ＰＢ（Ｂ）＋ＰＢ（Ｃ）＋ＰＢ（Ｄ）＋ＰＢ（Ｅ）＋ＰＢ（Ｆ）
【０１１８】
このように、データをまとめて送信する通信端末４０Ｇから基地局５０へのデータ量は大きなものとなる。
【０１１９】
以下では、本発明を適用した場合について説明する。本発明では、上流の通信端末４０からのデータに自らが生成したデータを加える際に、パリティビットＰＢに関して排他的論理和演算を行う。具体的には、各通信端末４０が送信するデータは、以下のようになる。なお、以下では、例えばＰＢ（Ａ）とＰＢ（Ｂ）との排他的論理和演算を、ＰＢ（Ａ）  ＸＯＲ  ＰＢ（Ｂ）のように表記する。
【０１２０】
通信端末４０Ａ→通信端末４０Ｃ：Ｓ（Ａ）＋ＰＡ（Ａ）＋ＰＢ（Ａ）
通信端末４０Ｂ→通信端末４０Ｃ：Ｓ（Ｂ）＋ＰＡ（Ｂ）＋ＰＢ（Ｂ）
通信端末４０Ｃ→通信端末４０Ｄ：Ｓ（Ａ）＋Ｓ（Ｂ）＋Ｓ（Ｃ）＋ＰＡ（Ｂ）＋ＰＡ（Ａ）＋ＰＡ（Ｃ）＋（ＰＢ（Ａ）  ＸＯＲ  ＰＢ（Ｂ）  ＸＯＲ  ＰＢ（Ｃ））
通信端末４０Ｄ→通信端末４０Ｇ：Ｓ（Ａ）＋Ｓ（Ｂ）＋Ｓ（Ｃ）＋Ｓ（Ｄ）＋ＰＡ（Ｂ）＋ＰＡ（Ａ）＋ＰＡ（Ｃ）＋ＰＡ（Ｄ）＋（ＰＢ（Ａ）  ＸＯＲ  ＰＢ（Ｂ）  ＸＯＲ  ＰＢ（Ｃ）  ＸＯＲ  ＰＢ（Ｄ））
通信端末４０Ｅ→通信端末４０Ｇ：Ｓ（Ｅ）＋ＰＡ（Ｅ）＋ＰＢ（Ｅ）
通信端末４０Ｆ→通信端末４０Ｇ：Ｓ（Ｆ）＋ＰＡ（Ｆ）＋ＰＢ（Ｆ）
通信端末４０Ｇ→基地局５０：Ｓ（Ａ）＋Ｓ（Ｂ）＋Ｓ（Ｃ）＋Ｓ（Ｄ）＋Ｓ（Ｅ）＋Ｓ（Ｆ）＋ＰＡ（Ａ）＋ＰＡ（Ｂ）＋ＰＡ（Ｃ）＋ＰＡ（Ｄ）＋ＰＡ（Ｅ）＋ＰＡ（Ｆ）＋（ＰＢ（Ａ）  ＸＯＲ  ＰＢ（Ｂ）  ＸＯＲ  ＰＢ（Ｃ）  ＸＯＲ  ＰＢ（Ｄ）  ＸＯＲ  ＰＢ（Ｅ）  ＸＯＲ  ＰＢ（Ｆ））
【０１２１】
全ての他の通信端末から受信したパリティビットＰＢと、自らが生成したパリティビットＰＢと、の排他的論理和を共用冗長データと称する。共用冗長データのデータ量は、排他的論理和演算を行う前の各冗長データのデータ量と等しいので、本発明を適用した場合、複数の通信端末４０から受信したデータをまとめて送信する場合の総送信データ量を、本発明を適用しない場合と比較して軽減することができる。
【０１２２】
なお、上記説明した適用例では、各通信端末において、他の通信端末から受信した信号をそのまま転送しているが、本発明はこれには限定されない。例えば、各通信端末は、他の通信端末から受信した信号に対して一旦誤り訂正を行ってから、再符号化を行って転送してもよい。このような場合には、基地局までの転送回数が多い通信端末の信号については、転送回数が多いために誤りの確率が高まってしまう事態を、ある程度軽減することができる。
【０１２３】
以上、図面を参照しながら本発明の実施の形態について説明したが、本発明はこれらの実施の形態に限定されない。本発明は、本発明の特許請求の範囲内において、種々の変形や実施の形態にて説明した各構成要素の組み合わせを行ってもよい。
【０１２４】
上述した実施の形態では、送信装置１０においてターボ符号化器１２によって符号化を行い、受信装置２０においてターボ復号器２２によって復号を行っていたが、本発明の符号化方式はターボ符号化には限定されない。本発明の符号化方式には、例えば低密度パリティ検査符号（ＬＤＰＣ：low-density parity-check code）や、畳み込み符号等の他の符号化方式、さらにはＲｅｅｄ−Ｓｏｌｏｍｏｎなどのブロック符号等を採用してもよい。符号によってはシステマチックビットとパリティビットの区別が付かないものもあるが、それらについては単にパリティＡ、パリティＢ（共用パリティ）と考えればよい。
【０１２５】
上述した実施の形態では、ターボ符号化器１２は、あるパケットに対して生成された冗長データ（パリティビット）に対してパンクチャ処理を行い、パリティビットＰＡとパリティビットＰＢとに分割していたが、本発明はこれに限定されない。送信装置１０において、ターボ符号化器１２は、生成した冗長データを３つ以上に分割し、そのうちの１つを送信するようにしてもよい。また、このような場合に、受信装置２０から冗長データの再送を要求されたとき、送信装置１０は、初回送信時に送信した冗長データとは異なる冗長データを送信するようにしてもよい。具体的には、例えば、送信装置１０は、あるパケットに対してパリティビットＰＡ，ＰＢ，ＰＤを生成し、初回送信時にパリティビットＰＡとパリティビットＰＢに基づいて生成した共用パリティビットＰＣとを送信した場合、再送の要求に応じて、初回送信時とは異なるパリティビットＰＤを送信するようにしてもよい。
【０１２６】
また、複数のパケットのシステマチックビットのビット数、パリティビットＰＡのビット数、パリティビットＰＢのビット数は、必ずしも同一である必要はない。もしパリティビットＰＢのビット数がパケット毎に異なる場合は、共通パリティのビット数はパリティビットＰＢのビット数が最も多いものに合わせ、そのビット数に満たないパケットにおいては、ダミービットを付加してビット数を合わせる等により整合させればよい。
【産業上の利用可能性】
【０１２７】
本発明は、データを符号化して送受信する通信システムに好適である。
【符号の説明】
【０１２８】
１００，１００Ｃ  通信システム
１０  送信装置
１１＿１〜１１＿Ｎ  誤り検出符号生成器
１２＿１〜１２＿Ｎ  ターボ符号化器
１２１  要素符号器
１２２  インタリーバ
１２３  要素符号器
１２４  パンクチャ部
１３  ＥＸＯＲ計算器（排他的論理和計算部）
１４  送信部
２０，２０’，２０Ａ，２０Ｂ，２０Ｃ，２０Ｄ  受信装置
２１  受信部
２２＿１〜２２＿Ｎ  ターボ復号器
２２１  要素復号器
２２２  インタリーバ
２２３  セレクタ
２２４  要素復号器
２２５  デインタリーバ
２２６  デインタリーバ
２２７  判定器
２２８  減算器
２２９  減算器
２３＿１〜２３＿Ｎ  誤り検出器
２４＿１〜２４＿Ｎ  誤り検出符号生成器
２５＿１〜２５＿Ｎ  ターボ符号化器
２６  誤り判定部
２７，２７＿１〜２７＿３  ＥＸＯＲ計算器（排他的論理和計算部）
２８＿１〜２８＿３  尤度低減部
３０  伝送路
４０Ａ〜４０Ｇ  通信端末
５０  基地局
【図１】
2017158015.tif 000003
【図２】
2017158015.tif 000004
【図３】
2017158015.tif 000005
【図４】
2017158015.tif 000006
【図５】
2017158015.tif 000007
【図６】
2017158015.tif 000008
【図７】
2017158015.tif 000009
【図８】
2017158015.tif 000010
【図９】
2017158015.tif 000011
【図１０】
2017158015.tif 000012
【図１１】
2017158015.tif 000013