(57)【要約】【課題】優れた伝送レートを得ることができる通信システムを提供すること。【解決手段】受信装置は、所定のブロックサイズのブロック毎に誤り検出可能に符号化されたデータを含む第１のパケットと、第１のパケットの再送パケットである第２のパケットとを受信する受信部と、第１のパケットのうち、誤りが検出された第１のブロックを、第１のブロックに対応する、第２のパケットのブロックに置き換えて、データを復元する、または、第２のパケットのうち、誤りが検出された第２のブロックを、第２のブロックに対応する、第１のパケットのブロックに置き換えて、データを復元するデータ復元部とを具備する。【選択図】図１
2015133568.tif 000002
【特許請求の範囲】
【請求項１】
送信装置と、受信装置とを備える通信システムであって、
前記送信装置は、
所定のブロックサイズのブロック毎に誤り検出可能に符号化されたデータを含む第１のパケットを送信し、前記受信装置からの再送の要求に従い、前記第１のパケットの再送パケットである第２のパケットを送信する送信部と
を具備し、
前記受信装置は、
前記第１のパケットと、前記第２のパケットとを受信する受信部と、
前記第１のパケットのうち、いずれかの前記ブロックに誤りを検出すると、再送を要求する応答生成部と、
前記第１のパケットのうち、誤りが検出された第１の前記ブロックを、前記第１のブロックに対応する、前記第２のパケットのブロックに置き換えて、前記データを復元する、または、前記第２のパケットのうち、誤りが検出された第２の前記ブロックを、前記第２のブロックに対応する、前記第１のパケットのブロックに置き換えて、前記データを復元するデータ復元部と
を具備することを特徴とする通信システム。
【請求項２】
前記送信装置は、
前記第１のパケットおよび前記第２のパケットを伝送する伝送路における、ビットエラーの発生率を表す指標を取得するエラー指標取得部と、
取得した前記指標に応じて、前記第１のパケットに含まれる前記ブロックの数を決定するパケットサイズ決定部と
を具備することを特徴とする請求項１に記載の通信システム。
【請求項３】
前記第１のパケットおよび前記第２のパケットは、データリンク層におけるパケットであることを特徴とする請求項１または請求項２に記載の通信システム。
【請求項４】
所定のブロックサイズのブロック毎に誤り検出可能に符号化されたデータを含む第１のパケットと、前記第１のパケットの再送パケットである第２のパケットとを受信する受信部と、
前記第１のパケットのうち、いずれかの前記ブロックに誤りを検出すると、再送を要求する応答生成部と、
前記第１のパケットのうち、誤りが検出された第１の前記ブロックを、前記第１のブロックに対応する、前記第２のパケットのブロックに置き換えて、前記データを復元する、または、前記第２のパケットのうち、誤りが検出された第２の前記ブロックを、前記第２のブロックに対応する、前記第１のパケットのブロックに置き換えて、前記データを復元するデータ復元部と
を具備することを特徴とする受信装置。
【請求項５】
所定のブロックサイズのブロック毎に誤り検出可能に符号化されたデータを含む第１のパケットを送信し、受信装置からの再送の要求に従い、前記第１のパケットの再送パケットである第２のパケットを送信する送信部と、
前記第１のパケットおよび前記第２のパケットを伝送する伝送路における、ビットエラーの発生率を表す指標を取得するエラー指標取得部と、
取得した前記指標に応じて、前記第１のパケットに含まれる前記ブロックの数を決定するパケットサイズ決定部と
を具備することを特徴とする送信装置。
【請求項６】
所定のブロックサイズのブロック毎に誤り検出可能に符号化されたデータを含む第１のパケットを受信する第１の過程と、
前記第１のパケットのうち、いずれかの前記ブロックに誤りを検出すると、再送を要求する第２の過程と、
前記第１のパケットの再送パケットである第２のパケットを受信する第３の過程と、
前記第１のパケットのうち、誤りが検出された第１の前記ブロックを、前記第１のブロックに対応する、前記第２のパケットのブロックに置き換えて、前記データを復元する、または、前記第２のパケットのうち、誤りが検出された第２の前記ブロックを、前記第２のブロックに対応する、前記第１のパケットのブロックに置き換えて、前記データを復元する第４の過程と
を有することを特徴とする受信方法。
【請求項７】
所定のブロックサイズのブロック毎に誤り検出可能に符号化されたデータを含む第１のパケットおよび前記第１のパケットの再送パケットである第２のパケットを伝送する伝送路における、ビットエラーの発生率を表す指標を取得する第１の過程と、
取得した前記指標に応じて、前記第１のパケットに含まれる前記ブロックの数を決定する第２の過程と、
所定のブロックサイズのブロック毎に誤り検出可能に符号化されたデータを含む第１のパケットを送信する第３の過程と、
前記受信装置からの再送の要求に従い、前記第２のパケットを送信する第４の過程と
を有することを特徴とする送信方法。
【請求項８】
コンピュータを、
所定のブロックサイズのブロック毎に誤り検出可能に符号化されたデータを含む第１のパケットと、前記第１のパケットの再送パケットである第２のパケットとを受信する受信部、
前記第１のパケットのうち、いずれかの前記ブロックに誤りを検出すると、再送を要求する応答生成部、
前記第１のパケットのうち、誤りが検出された第１の前記ブロックを、前記第１のブロックに対応する、前記第２のパケットのブロックに置き換えて、前記データを復元する、または、前記第２のパケットのうち、誤りが検出された第２の前記ブロックを、前記第２のブロックに対応する、前記第１のパケットのブロックに置き換えて、前記データを復元するデータ復元部
として機能させるためのプログラム。
【請求項９】
コンピュータを、
所定のブロックサイズのブロック毎に誤り検出可能に符号化されたデータを含む第１のパケットを送信し、受信装置からの再送の要求に従い、前記第１のパケットの再送パケットである第２のパケットを送信する送信部、
前記第１のパケットおよび前記第２のパケットを伝送する伝送路における、ビットエラーの発生率を表す指標を取得するエラー指標取得部、
取得した前記指標に応じて、前記第１のパケットに含まれる前記ブロックの数を決定するパケットサイズ決定部
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、受信装置、送信装置、受信方法、送信方法およびプログラムに関する。
【背景技術】
【０００２】
通信システムにおいて、ＩＰ（Internet Protocol）伝送のように映像・音声・コンピュータ用ファイルなど異なる素材を多重して伝送する場合、パケットと呼ばれるデータ単位に分割して伝送を行う。パケットを無線通信のような誤りの発生する環境で伝送する際は、前方誤り訂正（FEC；Forward Error Correction）や自動再送要求（ARQ；Automatic Repeat reQuest）を用いて誤りを修正して伝送する。ＦＰＵ（Field Pick-up Unit）のような単方向の無線伝送であればＦＥＣしか使用することができない。しかし、周波数分割複信（FDD；Frequency Division Duplex）や時分割複信（TDD；Time Division Duplex）などを用いることにより、ＡＲＱを使用することができる。
【０００３】
ＦＥＣとＡＲＱは通常別々に行われるが、より効率のよい伝送を目指すために、ＦＥＣとＡＲＱを同時に行うＨＡＲＱ（Hybrid ARQ）という手法がある（例えば、非特許文献１）。通常のＡＲＱではパケットを破棄した上で再送するが、パケット合成型のＨＡＲＱではパケットを破棄せずに合成する。パケット合成手法には同じパケットを再送するＴｙｐｅ−Ｉ  ＨＡＲＱのＣＣ（Chase Combining）と、パリティ部分ないしは非組織符号のパンクチャされた部分を別途送信するＴｙｐｅ−ＩＩ  ＨＡＲＱのＩＲ（Incremental Redundancy）などがある。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】S. Lin, D. J. Costello and M. J. Miller, “Automatic-repeat-request error-control schemes”，IEEE Commun. Mag., vol. 22, issue. 12, pp. 5-17, Dec. 1984.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述のＨＡＲＱにおいては、初送時には誤りではなかったビットが、再送時には誤りとなってしまった場合、伝送レートが低下するなど、充分な伝送レートを得られないことがあるという問題がある。
【０００６】
本発明は、このような事情に鑑みてなされたもので、優れた伝送レートを得ることができる通信システム、受信装置、送信装置、受信方法、送信方法およびプログラムを提供する。
【課題を解決するための手段】
【０００７】
（１）この発明は上述した課題を解決するためになされたもので、本発明の一態様は、  送信装置と、受信装置とを備える通信システムであって、前記送信装置は、所定のブロックサイズのブロック毎に誤り検出可能に符号化されたデータを含む第１のパケットを送信し、前記受信装置からの再送の要求に従い、前記第１のパケットの再送パケットである第２のパケットを送信する送信部とを具備し、前記受信装置は、前記第１のパケットと、前記第２のパケットとを受信する受信部と、前記第１のパケットのうち、いずれかの前記ブロックに誤りを検出すると、再送を要求する応答生成部と、前記第１のパケットのうち、誤りが検出された第１の前記ブロックを、前記第１のブロックに対応する、前記第２のパケットのブロックに置き換えて、前記データを復元する、または、前記第２のパケットのうち、誤りが検出された第２の前記ブロックを、前記第２のブロックに対応する、前記第１のパケットのブロックに置き換えて、前記データを復元するデータ復元部とを具備することを特徴とする。
【０００８】
（２）また、本発明の他の態様は、（１）に記載の通信システムであって、前記送信装置は、前記第１のパケットおよび前記第２のパケットを伝送する伝送路における、ビットエラーの発生率を表す指標を取得するエラー指標取得部と、取得した前記指標に応じて、前記第１のパケットに含まれる前記ブロックの数を決定するパケットサイズ決定部とを具備することを特徴とする。
【０００９】
（３）また、本発明の他の態様は、（１）または（２）に記載の通信システムであって、前記第１のパケットおよび前記第２のパケットは、データリンク層におけるパケットであることを特徴とする。
【００１０】
（４）また、本発明の他の態様は、所定のブロックサイズのブロック毎に誤り検出可能に符号化されたデータを含む第１のパケットと、前記第１のパケットの再送パケットである第２のパケットとを受信する受信部と、前記第１のパケットのうち、いずれかの前記ブロックに誤りを検出すると、再送を要求する応答生成部と、前記第１のパケットのうち、誤りが検出された第１の前記ブロックを、前記第１のブロックに対応する、前記第２のパケットのブロックに置き換えて、前記データを復元する、または、前記第２のパケットのうち、誤りが検出された第２の前記ブロックを、前記第２のブロックに対応する、前記第１のパケットのブロックに置き換えて、前記データを復元するデータ復元部とを具備することを特徴とする受信装置である。
【００１１】
（５）また、本発明の他の態様は、所定のブロックサイズのブロック毎に誤り検出可能に符号化されたデータを含む第１のパケットを送信し、受信装置からの再送の要求に従い、前記第１のパケットの再送パケットである第２のパケットを送信する送信部と、前記第１のパケットおよび前記第２のパケットを伝送する伝送路における、ビットエラーの発生率を表す指標を取得するエラー指標取得部と、取得した前記指標に応じて、前記第１のパケットに含まれる前記ブロックの数を決定するパケットサイズ決定部とを具備することを特徴とする送信装置である。
【００１２】
（６）また、本発明の他の態様は、所定のブロックサイズのブロック毎に誤り検出可能に符号化されたデータを含む第１のパケットを受信する第１の過程と、前記第１のパケットのうち、いずれかの前記ブロックに誤りを検出すると、再送を要求する第２の過程と、前記第１のパケットの再送パケットである第２のパケットを受信する第３の過程と、前記第１のパケットのうち、誤りが検出された第１の前記ブロックを、前記第１のブロックに対応する、前記第２のパケットのブロックに置き換えて、前記データを復元する、または、前記第２のパケットのうち、誤りが検出された第２の前記ブロックを、前記第２のブロックに対応する、前記第１のパケットのブロックに置き換えて、前記データを復元する第４の過程とを有することを特徴とする受信方法である。
【００１３】
（７）また、本発明の他の態様は、所定のブロックサイズのブロック毎に誤り検出可能に符号化されたデータを含む第１のパケットおよび前記第１のパケットの再送パケットである第２のパケットを伝送する伝送路における、ビットエラーの発生率を表す指標を取得する第１の過程と、取得した前記指標に応じて、前記第１のパケットに含まれる前記ブロックの数を決定する第２の過程と、所定のブロックサイズのブロック毎に誤り検出可能に符号化されたデータを含む第１のパケットを送信する第３の過程と、前記受信装置からの再送の要求に従い、前記第２のパケットを送信する第４の過程とを有することを特徴とする送信方法である。
【００１４】
（８）また、本発明の他の態様は、コンピュータを、所定のブロックサイズのブロック毎に誤り検出可能に符号化されたデータを含む第１のパケットと、前記第１のパケットの再送パケットである第２のパケットとを受信する受信部、前記第１のパケットのうち、いずれかの前記ブロックに誤りを検出すると、再送を要求する応答生成部、前記第１のパケットのうち、誤りが検出された第１の前記ブロックを、前記第１のブロックに対応する、前記第２のパケットのブロックに置き換えて、前記データを復元する、または、前記第２のパケットのうち、誤りが検出された第２の前記ブロックを、前記第２のブロックに対応する、前記第１のパケットのブロックに置き換えて、前記データを復元するデータ復元部として機能させるためのプログラムである。
【００１５】
（９）また、本発明の他の態様は、コンピュータを、所定のブロックサイズのブロック毎に誤り検出可能に符号化されたデータを含む第１のパケットを送信し、受信装置からの再送の要求に従い、前記第１のパケットの再送パケットである第２のパケットを送信する送信部、前記第１のパケットおよび前記第２のパケットを伝送する伝送路における、ビットエラーの発生率を表す指標を取得するエラー指標取得部、取得した前記指標に応じて、前記第１のパケットに含まれる前記ブロックの数を決定するパケットサイズ決定部として機能させるためのプログラムである。
【発明の効果】
【００１６】
この発明によれば、優れた伝送レートを得ることができる。
【図面の簡単な説明】
【００１７】
【図１】この発明の一実施形態による通信システム１０の構成を示す概略ブロック図である。
【図２】同実施形態における通信装置１００によるパケットの生成処理の概要を説明する図である。
【図３】同実施形態における通信装置１００によるパケットの受信処理の概要を説明する図である。
【図４】同実施形態における通信装置１００の構成を示す概略ブロック図である。
【図５】同実施形態におけるビットエラー発生率と、パケット中のブロック数との関係を示す表である。
【図６】同実施形態におけるブロック連結を説明する模式図である。
【図７】同実施形態における再送パケットを受信したときの通信装置１００の動作を説明するフローチャートである。
【発明を実施するための形態】
【００１８】
以下、図面を参照して、本発明の実施の形態について説明する。図１は、この発明の一実施形態による通信システム１０の構成を示す概略ブロック図である。通信システム１０は、複数の通信装置１００と、複数の通信装置１００を互いに接続するネットワーク２００とを含んで構成される。
【００１９】
通信装置１００は、ネットワーク２００を介して、他の通信装置１００と通信する。ネットワーク２００は、データリンク層のネットワークを一つのみ有するネットワークであり、イーサネット（登録商標）などの有線通信によるネットワークであってもよいし、ＩＥＥＥ８０２．１１などの無線通信によるネットワークであってもよい。なお、ネットワーク２００が、データリンク層にて用いるプロトコルとしては、イーサネット（登録商標）、ＰＰＰ（Point-to-Point Protocol）、ＨＤＬＣ（High-Level Data Link Control）、ＡＤＣＣＰ（Advanced Data Communications Control Protocol）などが挙げられるが、これら以外であってもよい。
【００２０】
図２は、通信装置１００によるパケットの生成処理の概要を説明する図である。図２では、通信装置１００は、イーサネット（登録商標）のパケット、あるいは、ＭＰＥＧ（Moving Picture Experts Group）２−ＴＳ（Transport Stream）のＴＳパケットなどの送信データを入力されると、該送信データを送信するためのパケットを生成している。まず、通信装置１００は、入力された送信データを、図２（ｂ）のように、所定のブロックサイズのブロックに分割する。次に、通信装置１００は、図２（ｃ）のように、各ブロックを外符号化する。外符号化に用いる符号は、誤り検出が可能な符号であればよく、ＣＲＣ（Cyclic Redundancy Check；巡回冗長検査）などの誤り検出符号であってもよいし、ＲＳ（Reed-Solomon）符号などの誤り検出可能な誤り訂正符号であってもよい。
【００２１】
次に、通信装置１００は、外符号化されたブロックを、図２（ｄ）のように、各パケットに格納するブロック数だけ連結する。なお、図２は、１つのパケットに２つのブロックを格納する例であるが、後述するように、本実施形態では、パケットに格納されるブロックの数は可変であり、受信側でのエラーの発生率に応じた数である。次に、通信装置１００は、連結されたブロックを、図２（ｅ）のように、内符号化した後にヘッダーを付加して、パケットを生成する。なお、ヘッダーには、パケットを識別するための通し番号などを格納する。
【００２２】
図３は、通信装置１００によるパケットの受信処理の概要を説明する図である。図３では、通信装置１００は、他の通信装置１００により、図２に示すようにして生成されたパケットを受信すると、他の通信装置１００における送信データを、受信データとして復元している。まず、通信装置１００は、図３（ｂ）のように、受信し、復調したパケット各々のうち、内符号化された部分に対して、内符号の復号を行うことで、内符号復号データを生成する。
【００２３】
次に、通信装置１００は、図３（ｃ）のように、内符号復号データを、所定のブロックサイズのブロックに分割する。このときの所定のブロックサイズは、図２（ｂ）で分割したブロックを外符号化した後のサイズである。したがって、分割したブロックは、図２（ｃ）の外符号化されたブロックに対応するブロックとなっている。
【００２４】
次に、通信装置１００は、分割したブロック各々について、図３（ｄ）のように、外符号の復号と、誤り検出とを行う。誤りが検出されなければ、通信装置１００は、図３（ｅ）のように、復号した各ブロックを連結して受信データとする。なお、図３（ｄ）の誤り検出において、誤りが検出されたときは、パケットの再送を要求し、再送されたパケットを用いた復号を行うが、その詳細は後述する。
【００２５】
図４は、通信装置１００の構成を示す概略ブロック図である。通信装置１００（送信装置、受信装置）は、送信データバッファ部１０１、外符号化部１０２、内符号化部１０３、パケット生成部１０４、送信部１０５、通信部１０６、エラー発生率算出部１０７、ブロック数決定部１０８、パケット記憶部１０９、再送パケット生成部１１０、受信部１１１、応答分離部１１２、ＨＡＲＱ（Hybrid Automatic Repeat request）合成部１１３、内符号復号部１１４、外符号復号・誤り検出部１１５、復号後受信バッファ部１１６、データ復元部１１７、応答生成部１１８を含んで構成される。
【００２６】
送信データバッファ部１０１は、データリンク層よりも上位の層（例えば、ＩＰ（Internet Protocol）、ＭＰＥＧ（Moving Picture Experts Group）２−ＴＳ（Transport Stream）などを用いた層）の処理部から入力された送信データを格納する。外符号化部１０２は、送信データバッファ部１０１に格納された送信データを、所定のブロックサイズのブロックに分割した後、外符号化する。外符号化に用いる符号は、前述したように、誤り検出が可能な符号であればよいが、本実施形態では、誤り検出および誤り訂正が可能な符号を用いる。
【００２７】
内符号化部１０３は、外符号化部１０２が外符号化したブロックを、ブロック数決定部１０８から通知されたブロック数だけ連結した後、内符号化することで、内符号化データを生成する。内符号化に用いる符号は、どのようなものでも構わないが、本実施形態では、誤り訂正が可能な符号を用いる。パケット生成部１０４は、内符号化部１０３が生成した内符号化データに、ヘッダーを付加して、データリンク層のパケットを生成する。
【００２８】
送信部１０５は、パケット生成部１０４が生成したパケットと、再送パケット生成部１１０が生成した、再送するパケットと、応答生成部１１８が生成した応答とを変調し、送信信号を生成し、通信部１０６を介して、他の通信装置１００に送信する。通信部１０６は、送信信号を、アナログ信号に変換した後、キャリア周波数にアップコンバートし、送信する。また、通信部１０６は、他の通信装置１００が送信した信号を受信し、ベースバンド周波数にダウンコンバートし、ディジタル信号に変換して、受信信号を生成する。
【００２９】
エラー発生率算出部１０７（エラー指標取得部）は、自装置が送信したパケットに対する応答から、ビットエラーの発生率を表す指標を算出する。例えば、エラー発生率算出部１０７は、パケットに対する応答からパケットエラーの発生率を算出する。そして、エラー発生率算出部１０７は、パケット長と、パケットエラーの発生率との組み合わせに対応する、ビットエラーの発生率を予め記憶しておき、該記憶を参照して、ビットエラーの発生率に変換する。
【００３０】
なお、ビットエラーの発生率を表す指標として、ビットエラーの発生率ではなく、ブロックエラーの発生率を算出したり、取得したりしてもよい。例えば、外符号復号・誤り検出部１１５が、通信相手の通信装置１００が送信したパケットに含まれるブロックについて、誤りを検出する率を、ブロックエラーの発生率としてもよい。また、ＳＮ比などの伝搬路状態に応じてビットエラーの発生率を算出してもよい。また、通信相手の通信装置１００が算出したブロックエラーの発生率、ビットエラーの発生率などを受信するようにしてもよい。
【００３１】
ブロック数決定部１０８は、エラー発生率算出部１０７が算出した、エラーの発生率に応じて、内符号化部１０３で連結して内符号化するブロック数を決定する。ブロック数決定部１０８は、エラーの発生率が大きいほど、ブロック数が小さくなるように、該決定を行う。例えば、ブロック数決定部１０８は、ビットエラーの発生率と、ブロック数との対応を表す表を予め記憶しており、該表を参照して、エラー発生率算出部１０７が算出したビットエラーの発生率に応じたブロック数を決定する。なお、ブロック数決定部１０８は、パケットの送信毎にブロック数を決定するのではなく、例えば、所定の時間間隔で決定し、通信相手の通信装置１００に通知する。なお、ブロック数の通知には、肯定応答や否定応答などと同様の制御信号を用いてもよい。
【００３２】
パケット記憶部１０９は、パケット生成部１０４が生成したパケットを再送のために記憶する。再送パケット生成部１１０は、応答分離部１１２が否定応答を分離したときは、該否定応答の対象のパケットを、パケット記憶部１０９から読み出し、再送するパケット（再送パケット）を生成し、送信部１０５に入力する。なお、本実施形態におけるＨＡＲＱは、チェイス合成（Chase Combining）を用いるＴｙｐｅ−Ｉ  ＨＡＲＱであってもよいし、ＩＲ（Incremental Redundancy）合成を用いる、パンクチャド符号を使用したＴｙｐｅ−ＩＩ  ＨＡＲＱであってもよい。Ｔｙｐｅ−Ｉ  ＨＡＲＱであるときは、再送パケットは、初送パケットと同一となる。Ｔｙｐｅ−ＩＩ  ＨＡＲＱであるときは、再送パケットは、初送パケットと、内符号化におけるパンクチャパターンが異なるパケットとなる。
【００３３】
受信部１１１は、通信部１０６が生成した受信信号を復調する。応答分離部１１２は、受信部１１１による復調結果から、自装置が送信したパケットに対する応答を分離し、再送パケット生成部１１０と、エラー発生率算出部１０７とに入力する。応答分離部１１２は、復調結果のうち、応答以外の部分、すなわちパケットに対応する部分をＨＡＲＱ合成部１１３に入力する。
【００３４】
ＨＡＲＱ合成部１１３は、応答分離部１１２から入力された復調結果のうち、パケットのヘッダーに対応する部分を参照し、該復調結果が初送パケットであるか、再送パケットであるかを判定する。例えば、ＨＡＲＱ合成部１１３は、ヘッダーに格納された通し番号が、所定の時間内で受信したことのないものであれば、初送パケットであり、受信したことがあるものであれば、再送パケットであると判定する。また、ヘッダーに、初送であるか、再送であるかを示すフラグを設け、ＨＡＲＱ合成部１１３は、該フラグを参照して、初送パケットであるか、再送パケットであるかを判定してもよい。
【００３５】
ＨＡＲＱ合成部１１３は、初送パケットと判定したときは、該復調結果を記憶するとともに、内符号復号部１１４に入力する。また、ＨＡＲＱ合成部１１３は、再送パケットと判定したときは、該復調結果と、該再送パケットの初送パケットの復調結果とを合成し、該合成の結果を、内符号復号部１１４に入力する。例えば、復調結果が各ビットのＬＬＲ（Log-Likelihood Ratio；対数尤度比）であるときは、ＨＡＲＱ合成部１１３は、対応するビットのＬＬＲ同士の和をとることで合成する。
【００３６】
内符号復号部１１４は、ＨＡＲＱ合成部１１３からの入力に対して、内符号の復号処理を行う。外符号復号・誤り検出部１１５は、内符号復号部１１４の復号処理結果を、所定のブロックサイズ毎に分割し、分割したブロックに対して、外符号の復号処理を行う。なお、この所定のブロックサイズは、該ブロックサイズで分割したブロックの復号処理結果が、外符号化部１０２における分割の際のブロックサイズとなるブロックサイズである。外符号復号・誤り検出部１１５は、復号処理したブロック各々について、誤り検出を行う。
【００３７】
また、外符号復号・誤り検出部１１５は、応答生成部１１８に対して、初送パケットに関する応答の指示を行う。具体的には、内符号復号部１１４からの入力が初送パケットの復号結果であり、いずれかのブロックに誤りが検出されたときは、外符号復号・誤り検出部１１５は、応答生成部１１８に対して、否定応答（ＮＡＣＫ）を生成するように指示する。また、内符号復号部１１４からの入力が初送パケットの復号結果であり、いずれのブロックでも誤りが検出されなかったときは、外符号復号・誤り検出部１１５は、応答生成部１１８に対して、肯定応答（ＡＣＫ）を生成するように指示する。
【００３８】
復号後受信バッファ部１１６は、外符号復号・誤り検出部１１５において、誤りが検出されなかったブロックを記憶する。データ復元部１１７は、復号後受信バッファ部１１６に格納されているブロックを連結し、受信データを生成する。また、データ復元部１１７は、応答生成部１１８に対して、再送パケットに関する応答の指示を行う。
【００３９】
具体的には、データ復元部１１７は、外符号復号・誤り検出部１１５が再送パケットに対する処理を行った後に、該再送パケットに対応する受信データを生成できなかったときは、応答生成部１１８に否定応答（ＮＡＣＫ）を生成するように指示する。また、データ復元部１１７は、外符号復号・誤り検出部１１５が再送パケットに対する処理を行った後に、該再送パケットに対応する受信データを生成できたときは、応答生成部１１８に肯定応答（ＡＣＫ）を生成するように指示する。
【００４０】
図５は、ビットエラー発生率と、パケット中のブロック数との関係を示す表である。本実施形態では、外符号化部１０２が、所定のブロックサイズのブロック毎に外符号化を行う。そして、内符号化部１０３が内符号化する際に、該外符号化されたブロックの数を変えることで、パケットに含まれるブロックの数を変更し、パケットのサイズを可変としている。ブロック数決定部１０８は、図５の表を予め記憶しており、該表を参照して、内符号化する際のブロックの数を決定する。
【００４１】
図５に示す例では、ビットエラー発生率が「Ａ以上」のときは、パケット中のブロック数は「１」である。同様に、ビットエラー発生率が「Ｂ以上Ａ未満」のときは、パケット中のブロック数は「２」である。ビットエラー発生率が「Ｃ以上Ｂ未満」のときは、パケット中のブロック数は「４」である。ビットエラー発生率が「Ｄ以上Ｃ未満」のときは、パケット中のブロック数は「８」である。ビットエラー発生率が「Ｅ以上Ｄ未満」のときは、パケット中のブロック数は「１６」である。ビットエラー発生率が「Ｅ未満」のときは、パケット中のブロック数は「３２」である。このように、ブロック数決定部１０８は、内符号化する際のブロックの数、すなわちパケットに含まれるブロックの数を、ビットエラーの発生率が高いほど小さくなるように決定する。なお、本実施形態では、ビットエラー発生率が小さくなると、パケット中のブロック数を２倍にしているが、その他の倍数であってもよいし、常に同じ倍数でなくてもよい。
【００４２】
図６は、データ復元部１１７におけるブロック連結を説明する模式図である。図６において、復号後受信バッファ部１１６内の矩形は、外符号復号・誤り検出部１１５の復号結果のブロックであり、これらの矩形に付した符号は、パケットの通し番号と、該パケット内でのブロックの通し番号とをハイフンで繋いだものである。図６は、各パケットにブロックが２個含まれているときの例であり、例えば、符号２−１は、通し番号が「２」のパケットの、パケット内の通し番号が「１」のブロックを表す。
【００４３】
まず、図６の（ａ）では、外符号復号・誤り検出部１１５から、誤りが検出されなかったブロックとして、ブロック１−１、１−２、２−１、２−２、３−１、４−２、５−１、５−２、６−１、７−１、７−２、８−１、９−１、９−２が入力され、復号後受信バッファ部１１６は、これらを記憶する。なお、通し番号「３、４、６、８」のパケットについては、それぞれのいずれかのブロックに誤りが検出され、否定応答が送信される。
【００４４】
次に、図６の（ｂ）では、データ復元部１１７は、図６の（ａ）にて記憶したブロックのうち、パケットの通し番号が小さい方から順に、ブロックが全て揃っているか確認し、全て揃っているときは連結して出力する。ブロックが全て揃っていないときは、データ復元部１１７は、処理を中止する。図６の（ｂ）では、データ復元部１１７は、ブロック１−１、１−２、２−１、２−２を連結して出力し、通し番号「３」のパケットは、ブロックが揃っていないため、そこで処理を中止する。
【００４５】
次に、図６の（ｃ）では、再送パケットに対する処理を行った結果、外符号復号・誤り検出部１１５から、誤りが検出されなかったブロックとして、ブロック３−１、３−２、４−１、６−１、６−２、８−１、１０−１、１０−２が入力され、復号後受信バッファ部１１６は、これらを記憶する。
【００４６】
次に、図６の（ｄ）では、データ復元部１１７は、図６の（ｂ）の連結の結果として残っていた通し番号「３」以降のパケットのブロックと、図６の（ｃ）で入力されたブロックとを合わせて、図６の（ｂ）と同様に、パケットの通し番号が小さい方から順に、ブロックが全て揃っているか確認する。図６の（ｄ）では、通し番号「３、４、５、６、７」のブロックが全て揃っているので、データ復元部１１７は、これらを連結して出力する。通し番号「８」については、ブロック８−２が無いため、データ復元部１１７は、処理を中止し、応答生成部１１８に否定応答の生成を指示する。なお、通し番号「４」については、外符号復号・誤り検出部１１５から入力される、誤りが検出されなかったブロックは、ブロック４−１のみである。ブロック４−１のみでは、パケットを完成させることはできない。しかし、データ復元部１１７は、入力されたブロック４−１に、復号後受信バッファ部１１６に既に記憶されていたブロック４−２を併せることで、通し番号「４」のパケットを完成させ、さらに、応答生成部１１８に肯定応答の生成を指示することができる。
【００４７】
図７は、再送パケットを受信したときの通信装置１００の動作を説明するフローチャートである。通信装置１００が再送パケットを含む信号を受信すると、受信部１１１が該信号を復調し、応答分離部１１２が復調結果から応答を分離する。すると、ＨＡＲＱ合成部１１３は、応答が分離された復調結果、すなわち再送パケットの復調結果と、該再送パケットの初送パケットの復調結果とを、ＨＡＲＱ合成する（Ｓ１）。
【００４８】
次に、内符号復号部１１４は、ステップＳ１にてＨＡＲＱ合成した復調結果を、内符号復号する（Ｓ２）。次に、外符号復号・誤り検出部１１５は、内符号復号された結果を、所定のブロックサイズ毎のブロックに分割し、最初のブロックを選択する（Ｓ３）。次に、外符号復号・誤り検出部１１５は、前のステップにて選択したブロックを、外符号復号し、復号結果について誤り検出を行う（Ｓ４）。
【００４９】
次に、外符号復号・誤り検出部１１５は、ステップＳ４の誤り検出の結果を参照し、当該ブロックに誤りがあったか否かを判定する（Ｓ５）。誤りがないと判定したときは（Ｓ５−Ｎｏ）、外符号復号・誤り検出部１１５は、当該ブロックを復号後受信バッファ部１１６に送り（Ｓ６）、ステップＳ８に進む。一方、ステップＳ５にて誤りがあると判定したときは（Ｓ５−Ｙｅｓ）、データ復元部１１７は、当該ブロックが復号後受信バッファ部１１６に格納されているか判定する（Ｓ７）。
【００５０】
ここで、復号後受信バッファ部１１６に格納されている当該ブロックは、初送パケットを復調、復号して得られたブロックである。ステップＳ７にて、格納されていると判定したときは（Ｓ７−Ｙｅｓ）、ステップＳ８に進む。ステップＳ７にて、格納されていないと判定したときは、データ復元部１１７は、当該ブロックの復号ＮＧと判断し（Ｓ９）、ステップＳ１０に進む。ステップＳ８では、データ復元部１１７は、当該ブロックの復号ＯＫと判断し（Ｓ９）、ステップＳ１０に進む。
【００５１】
ステップＳ１０では、外符号復号・誤り検出部１１５は、ステップＳ３にて分割した同一パケット内のブロックの残りがあるか否かを判定する。残りがあると判定したときは（Ｓ１０−Ｙｅｓ）、ステップＳ３にて分割した、次のブロックを選択し、ステップＳ４に戻る。また、ステップＳ１０にて残りがないと判定したときは（Ｓ１０−Ｎｏ）、データ復元部１１７は、ステップＳ３にて分割した同一パケット内の全てのブロックが復号ＯＫであったか否かを判定する（Ｓ１２）。全て復号ＯＫであったときは（Ｓ１２−Ｙｅｓ）、データ復元部１１７は、全てのブロックを連結して受信データとし、応答生成部１１８に肯定応答（ＡＣＫ）の生成、送信を指示し（Ｓ１３）、処理を終了する。一方、いずれかのブロックが復号ＮＧであったときは（Ｓ１２−Ｎｏ）、データ復元部１１７は、応答生成部１１８に否定応答（ＮＡＣＫ）の生成、送信を指示し（Ｓ１４）、処理を終了する。
【００５２】
上述の実施形態において、パケットのヘッダーは、内符号化された後に付加されているが、ヘッダーを付加した後に、内符号化するようにしてもよい。
また、図７では、再送パケットにて復号ＮＧの場合に、初送パケットのブロックを用いるようにしているが、初送パケットにて復号ＮＧの場合に、再送パケットのブロックを用いるようにしてもよい。
また、再送パケットの再送回数は、２回以上であってもよい。
【００５３】
このように、通信装置１００（受信装置）のデータ復元部１１７は、初送のパケットのうち、誤りが検出された第１のブロックを、第１のブロックに対応する、再送のパケットのブロックに置き換えて、データを復元する、または、再送パケットのうち、誤りが検出された第２のブロックを、第２のブロックに対応する、初送パケットのブロックに置き換えて、データを復元する。
これにより、各ブロックについて、初送パケットおよび再送パケットのいずれか一方にて誤りが無ければ、データを復元できるので、再送の回数を減らし、優れた伝送レートを得ることができる。
【００５４】
また、通信装置１００（送信装置）は、伝送路における、ビットエラーの発生率を表す指標に応じて、パケットに含まれるブロックの数を決定するパケットサイズ決定部を有する。
これにより、ビットエラーの発生率が大きいときは、ブロック数を少なく、すなわちパケットサイズを小さくして、再送時のオーバーヘッドを小さくすることができる。さらに、ビットエラーの発生率が小さいときは、ブロック数を多く、すなわちパケットサイズを大きくして、初送時のオーバーヘッドを小さくすることができる。よって、オーバーヘッドを小さくして、優れた伝送レートを得ることができる。
【００５５】
また、図１における通信装置１００の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより通信装置１００を実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【００５６】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００５７】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【符号の説明】
【００５８】
１０…通信システム
１００…通信装置
１０１…送信データバッファ部
１０２…外符号化部
１０３…内符号化部
１０４…パケット生成部
１０５…送信部
１０６…通信部
１０７…エラー発生率算出部
１０８…ブロック数決定部
１０９…パケット記憶部
１１０…再送パケット生成部
１１１…受信部
１１２…応答分離部
１１３…ＨＡＲＱ合成部
１１４…内符号復号部
１１５…外符号復号・誤り検出部
１１６…復号後受信バッファ部
１１７…データ復元部
２００…ネットワーク
【図１】
2015133568.tif 000003
【図２】
2015133568.tif 000004
【図３】
2015133568.tif 000005
【図４】
2015133568.tif 000006
【図５】
2015133568.tif 000007
【図６】
2015133568.tif 000008
【図７】
2015133568.tif 000009