(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述のHARQにおいては、初送時には誤りではなかったビットが、再送時には誤りとなってしまった場合、伝送レートが低下するなど、充分な伝送レートを得られないことがあるという問題がある。
【0006】
本発明は、このような事情に鑑みてなされたもので、優れた伝送レートを得ることができる通信システム、受信装置、送信装置、受信方法、送信方法およびプログラムを提供する。
【課題を解決するための手段】
【0007】
(1)この発明は上述した課題を解決するためになされたもので、本発明の一態様は、 送信装置と、受信装置とを備える通信システムであって、前記送信装置は、所定のブロックサイズのブロック毎に誤り検出可能に符号化されたデータを含む第1のパケットを送信し、前記受信装置からの再送の要求に従い、前記第1のパケットの再送パケットである第2のパケットを送信する送信部とを具備し、前記受信装置は、前記第1のパケットと、前記第2のパケットとを受信する受信部と、前記第1のパケットのうち、いずれかの前記ブロックに誤りを検出すると、再送を要求する応答生成部と、前記第1のパケットのうち、誤りが検出された第1の前記ブロックを、前記第1のブロックに対応する、前記第2のパケットのブロックに置き換えて、前記データを復元する、または、前記第2のパケットのうち、誤りが検出された第2の前記ブロックを、前記第2のブロックに対応する、前記第1のパケットのブロックに置き換えて、前記データを復元するデータ復元部とを具備することを特徴とする。
【0008】
(2)また、本発明の他の態様は、(1)に記載の通信システムであって、前記送信装置は、前記第1のパケットおよび前記第2のパケットを伝送する伝送路における、ビットエラーの発生率を表す指標を取得するエラー指標取得部と、取得した前記指標に応じて、前記第1のパケットに含まれる前記ブロックの数を決定するパケットサイズ決定部とを具備することを特徴とする。
【0009】
(3)また、本発明の他の態様は、(1)または(2)に記載の通信システムであって、前記第1のパケットおよび前記第2のパケットは、データリンク層におけるパケットであることを特徴とする。
【0010】
(4)また、本発明の他の態様は、所定のブロックサイズのブロック毎に誤り検出可能に符号化されたデータを含む第1のパケットと、前記第1のパケットの再送パケットである第2のパケットとを受信する受信部と、前記第1のパケットのうち、いずれかの前記ブロックに誤りを検出すると、再送を要求する応答生成部と、前記第1のパケットのうち、誤りが検出された第1の前記ブロックを、前記第1のブロックに対応する、前記第2のパケットのブロックに置き換えて、前記データを復元する、または、前記第2のパケットのうち、誤りが検出された第2の前記ブロックを、前記第2のブロックに対応する、前記第1のパケットのブロックに置き換えて、前記データを復元するデータ復元部とを具備することを特徴とする受信装置である。
【0011】
(5)また、本発明の他の態様は、所定のブロックサイズのブロック毎に誤り検出可能に符号化されたデータを含む第1のパケットを送信し、受信装置からの再送の要求に従い、前記第1のパケットの再送パケットである第2のパケットを送信する送信部と、前記第1のパケットおよび前記第2のパケットを伝送する伝送路における、ビットエラーの発生率を表す指標を取得するエラー指標取得部と、取得した前記指標に応じて、前記第1のパケットに含まれる前記ブロックの数を決定するパケットサイズ決定部とを具備することを特徴とする送信装置である。
【0012】
(6)また、本発明の他の態様は、所定のブロックサイズのブロック毎に誤り検出可能に符号化されたデータを含む第1のパケットを受信する第1の過程と、前記第1のパケットのうち、いずれかの前記ブロックに誤りを検出すると、再送を要求する第2の過程と、前記第1のパケットの再送パケットである第2のパケットを受信する第3の過程と、前記第1のパケットのうち、誤りが検出された第1の前記ブロックを、前記第1のブロックに対応する、前記第2のパケットのブロックに置き換えて、前記データを復元する、または、前記第2のパケットのうち、誤りが検出された第2の前記ブロックを、前記第2のブロックに対応する、前記第1のパケットのブロックに置き換えて、前記データを復元する第4の過程とを有することを特徴とする受信方法である。
【0013】
(7)また、本発明の他の態様は、所定のブロックサイズのブロック毎に誤り検出可能に符号化されたデータを含む第1のパケットおよび前記第1のパケットの再送パケットである第2のパケットを伝送する伝送路における、ビットエラーの発生率を表す指標を取得する第1の過程と、取得した前記指標に応じて、前記第1のパケットに含まれる前記ブロックの数を決定する第2の過程と、所定のブロックサイズのブロック毎に誤り検出可能に符号化されたデータを含む第1のパケットを送信する第3の過程と、前記受信装置からの再送の要求に従い、前記第2のパケットを送信する第4の過程とを有することを特徴とする送信方法である。
【0014】
(8)また、本発明の他の態様は、コンピュータを、所定のブロックサイズのブロック毎に誤り検出可能に符号化されたデータを含む第1のパケットと、前記第1のパケットの再送パケットである第2のパケットとを受信する受信部、前記第1のパケットのうち、いずれかの前記ブロックに誤りを検出すると、再送を要求する応答生成部、前記第1のパケットのうち、誤りが検出された第1の前記ブロックを、前記第1のブロックに対応する、前記第2のパケットのブロックに置き換えて、前記データを復元する、または、前記第2のパケットのうち、誤りが検出された第2の前記ブロックを、前記第2のブロックに対応する、前記第1のパケットのブロックに置き換えて、前記データを復元するデータ復元部として機能させるためのプログラムである。
【0015】
(9)また、本発明の他の態様は、コンピュータを、所定のブロックサイズのブロック毎に誤り検出可能に符号化されたデータを含む第1のパケットを送信し、受信装置からの再送の要求に従い、前記第1のパケットの再送パケットである第2のパケットを送信する送信部、前記第1のパケットおよび前記第2のパケットを伝送する伝送路における、ビットエラーの発生率を表す指標を取得するエラー指標取得部、取得した前記指標に応じて、前記第1のパケットに含まれる前記ブロックの数を決定するパケットサイズ決定部として機能させるためのプログラムである。
【発明の効果】
【0016】
この発明によれば、優れた伝送レートを得ることができる。
【発明を実施するための形態】
【0018】
以下、図面を参照して、本発明の実施の形態について説明する。
図1は、この発明の一実施形態による通信システム10の構成を示す概略ブロック図である。通信システム10は、複数の通信装置100と、複数の通信装置100を互いに接続するネットワーク200とを含んで構成される。
【0019】
通信装置100は、ネットワーク200を介して、他の通信装置100と通信する。ネットワーク200は、データリンク層のネットワークを一つのみ有するネットワークであり、イーサネット(登録商標)などの有線通信によるネットワークであってもよいし、IEEE802.11などの無線通信によるネットワークであってもよい。なお、ネットワーク200が、データリンク層にて用いるプロトコルとしては、イーサネット(登録商標)、PPP(Point-to-Point Protocol)、HDLC(High-Level Data Link Control)、ADCCP(Advanced Data Communications Control Protocol)などが挙げられるが、これら以外であってもよい。
【0020】
図2は、通信装置100によるパケットの生成処理の概要を説明する図である。
図2では、通信装置100は、イーサネット(登録商標)のパケット、あるいは、MPEG(Moving Picture Experts Group)2−TS(Transport Stream)のTSパケットなどの送信データを入力されると、該送信データを送信するためのパケットを生成している。まず、通信装置100は、入力された送信データを、
図2(b)のように、所定のブロックサイズのブロックに分割する。次に、通信装置100は、
図2(c)のように、各ブロックを外符号化する。外符号化に用いる符号は、誤り検出が可能な符号であればよく、CRC(Cyclic Redundancy Check;巡回冗長検査)などの誤り検出符号であってもよいし、RS(Reed-Solomon)符号などの誤り検出可能な誤り訂正符号であってもよい。
【0021】
次に、通信装置100は、外符号化されたブロックを、
図2(d)のように、各パケットに格納するブロック数だけ連結する。なお、
図2は、1つのパケットに2つのブロックを格納する例であるが、後述するように、本実施形態では、パケットに格納されるブロックの数は可変であり、受信側でのエラーの発生率に応じた数である。次に、通信装置100は、連結されたブロックを、
図2(e)のように、内符号化した後にヘッダーを付加して、パケットを生成する。なお、ヘッダーには、パケットを識別するための通し番号などを格納する。
【0022】
図3は、通信装置100によるパケットの受信処理の概要を説明する図である。
図3では、通信装置100は、他の通信装置100により、
図2に示すようにして生成されたパケットを受信すると、他の通信装置100における送信データを、受信データとして復元している。まず、通信装置100は、
図3(b)のように、受信し、復調したパケット各々のうち、内符号化された部分に対して、内符号の復号を行うことで、内符号復号データを生成する。
【0023】
次に、通信装置100は、
図3(c)のように、内符号復号データを、所定のブロックサイズのブロックに分割する。このときの所定のブロックサイズは、
図2(b)で分割したブロックを外符号化した後のサイズである。したがって、分割したブロックは、
図2(c)の外符号化されたブロックに対応するブロックとなっている。
【0024】
次に、通信装置100は、分割したブロック各々について、
図3(d)のように、外符号の復号と、誤り検出とを行う。誤りが検出されなければ、通信装置100は、
図3(e)のように、復号した各ブロックを連結して受信データとする。なお、
図3(d)の誤り検出において、誤りが検出されたときは、パケットの再送を要求し、再送されたパケットを用いた復号を行うが、その詳細は後述する。
【0025】
図4は、通信装置100の構成を示す概略ブロック図である。通信装置100(送信装置、受信装置)は、送信データバッファ部101、外符号化部102、内符号化部103、パケット生成部104、送信部105、通信部106、エラー発生率算出部107、ブロック数決定部108、パケット記憶部109、再送パケット生成部110、受信部111、応答分離部112、HARQ(Hybrid Automatic Repeat request)合成部113、内符号復号部114、外符号復号・誤り検出部115、復号後受信バッファ部116、データ復元部117、応答生成部118を含んで構成される。
【0026】
送信データバッファ部101は、データリンク層よりも上位の層(例えば、IP(Internet Protocol)、MPEG(Moving Picture Experts Group)2−TS(Transport Stream)などを用いた層)の処理部から入力された送信データを格納する。外符号化部102は、送信データバッファ部101に格納された送信データを、所定のブロックサイズのブロックに分割した後、外符号化する。外符号化に用いる符号は、前述したように、誤り検出が可能な符号であればよいが、本実施形態では、誤り検出および誤り訂正が可能な符号を用いる。
【0027】
内符号化部103は、外符号化部102が外符号化したブロックを、ブロック数決定部108から通知されたブロック数だけ連結した後、内符号化することで、内符号化データを生成する。内符号化に用いる符号は、どのようなものでも構わないが、本実施形態では、誤り訂正が可能な符号を用いる。パケット生成部104は、内符号化部103が生成した内符号化データに、ヘッダーを付加して、データリンク層のパケットを生成する。
【0028】
送信部105は、パケット生成部104が生成したパケットと、再送パケット生成部110が生成した、再送するパケットと、応答生成部118が生成した応答とを変調し、送信信号を生成し、通信部106を介して、他の通信装置100に送信する。通信部106は、送信信号を、アナログ信号に変換した後、キャリア周波数にアップコンバートし、送信する。また、通信部106は、他の通信装置100が送信した信号を受信し、ベースバンド周波数にダウンコンバートし、ディジタル信号に変換して、受信信号を生成する。
【0029】
エラー発生率算出部107(エラー指標取得部)は、自装置が送信したパケットに対する応答から、ビットエラーの発生率を表す指標を算出する。例えば、エラー発生率算出部107は、パケットに対する応答からパケットエラーの発生率を算出する。そして、エラー発生率算出部107は、パケット長と、パケットエラーの発生率との組み合わせに対応する、ビットエラーの発生率を予め記憶しておき、該記憶を参照して、ビットエラーの発生率に変換する。
【0030】
なお、ビットエラーの発生率を表す指標として、ビットエラーの発生率ではなく、ブロックエラーの発生率を算出したり、取得したりしてもよい。例えば、外符号復号・誤り検出部115が、通信相手の通信装置100が送信したパケットに含まれるブロックについて、誤りを検出する率を、ブロックエラーの発生率としてもよい。また、SN比などの伝搬路状態に応じてビットエラーの発生率を算出してもよい。また、通信相手の通信装置100が算出したブロックエラーの発生率、ビットエラーの発生率などを受信するようにしてもよい。
【0031】
ブロック数決定部108は、エラー発生率算出部107が算出した、エラーの発生率に応じて、内符号化部103で連結して内符号化するブロック数を決定する。ブロック数決定部108は、エラーの発生率が大きいほど、ブロック数が小さくなるように、該決定を行う。例えば、ブロック数決定部108は、ビットエラーの発生率と、ブロック数との対応を表す表を予め記憶しており、該表を参照して、エラー発生率算出部107が算出したビットエラーの発生率に応じたブロック数を決定する。なお、ブロック数決定部108は、パケットの送信毎にブロック数を決定するのではなく、例えば、所定の時間間隔で決定し、通信相手の通信装置100に通知する。なお、ブロック数の通知には、肯定応答や否定応答などと同様の制御信号を用いてもよい。
【0032】
パケット記憶部109は、パケット生成部104が生成したパケットを再送のために記憶する。再送パケット生成部110は、応答分離部112が否定応答を分離したときは、該否定応答の対象のパケットを、パケット記憶部109から読み出し、再送するパケット(再送パケット)を生成し、送信部105に入力する。なお、本実施形態におけるHARQは、チェイス合成(Chase Combining)を用いるType−I HARQであってもよいし、IR(Incremental Redundancy)合成を用いる、パンクチャド符号を使用したType−II HARQであってもよい。Type−I HARQであるときは、再送パケットは、初送パケットと同一となる。Type−II HARQであるときは、再送パケットは、初送パケットと、内符号化におけるパンクチャパターンが異なるパケットとなる。
【0033】
受信部111は、通信部106が生成した受信信号を復調する。応答分離部112は、受信部111による復調結果から、自装置が送信したパケットに対する応答を分離し、再送パケット生成部110と、エラー発生率算出部107とに入力する。応答分離部112は、復調結果のうち、応答以外の部分、すなわちパケットに対応する部分をHARQ合成部113に入力する。
【0034】
HARQ合成部113は、応答分離部112から入力された復調結果のうち、パケットのヘッダーに対応する部分を参照し、該復調結果が初送パケットであるか、再送パケットであるかを判定する。例えば、HARQ合成部113は、ヘッダーに格納された通し番号が、所定の時間内で受信したことのないものであれば、初送パケットであり、受信したことがあるものであれば、再送パケットであると判定する。また、ヘッダーに、初送であるか、再送であるかを示すフラグを設け、HARQ合成部113は、該フラグを参照して、初送パケットであるか、再送パケットであるかを判定してもよい。
【0035】
HARQ合成部113は、初送パケットと判定したときは、該復調結果を記憶するとともに、内符号復号部114に入力する。また、HARQ合成部113は、再送パケットと判定したときは、該復調結果と、該再送パケットの初送パケットの復調結果とを合成し、該合成の結果を、内符号復号部114に入力する。例えば、復調結果が各ビットのLLR(Log-Likelihood Ratio;対数尤度比)であるときは、HARQ合成部113は、対応するビットのLLR同士の和をとることで合成する。
【0036】
内符号復号部114は、HARQ合成部113からの入力に対して、内符号の復号処理を行う。外符号復号・誤り検出部115は、内符号復号部114の復号処理結果を、所定のブロックサイズ毎に分割し、分割したブロックに対して、外符号の復号処理を行う。なお、この所定のブロックサイズは、該ブロックサイズで分割したブロックの復号処理結果が、外符号化部102における分割の際のブロックサイズとなるブロックサイズである。外符号復号・誤り検出部115は、復号処理したブロック各々について、誤り検出を行う。
【0037】
また、外符号復号・誤り検出部115は、応答生成部118に対して、初送パケットに関する応答の指示を行う。具体的には、内符号復号部114からの入力が初送パケットの復号結果であり、いずれかのブロックに誤りが検出されたときは、外符号復号・誤り検出部115は、応答生成部118に対して、否定応答(NACK)を生成するように指示する。また、内符号復号部114からの入力が初送パケットの復号結果であり、いずれのブロックでも誤りが検出されなかったときは、外符号復号・誤り検出部115は、応答生成部118に対して、肯定応答(ACK)を生成するように指示する。
【0038】
復号後受信バッファ部116は、外符号復号・誤り検出部115において、誤りが検出されなかったブロックを記憶する。データ復元部117は、復号後受信バッファ部116に格納されているブロックを連結し、受信データを生成する。また、データ復元部117は、応答生成部118に対して、再送パケットに関する応答の指示を行う。
【0039】
具体的には、データ復元部117は、外符号復号・誤り検出部115が再送パケットに対する処理を行った後に、該再送パケットに対応する受信データを生成できなかったときは、応答生成部118に否定応答(NACK)を生成するように指示する。また、データ復元部117は、外符号復号・誤り検出部115が再送パケットに対する処理を行った後に、該再送パケットに対応する受信データを生成できたときは、応答生成部118に肯定応答(ACK)を生成するように指示する。
【0040】
図5は、ビットエラー発生率と、パケット中のブロック数との関係を示す表である。本実施形態では、外符号化部102が、所定のブロックサイズのブロック毎に外符号化を行う。そして、内符号化部103が内符号化する際に、該外符号化されたブロックの数を変えることで、パケットに含まれるブロックの数を変更し、パケットのサイズを可変としている。ブロック数決定部108は、
図5の表を予め記憶しており、該表を参照して、内符号化する際のブロックの数を決定する。
【0041】
図5に示す例では、ビットエラー発生率が「A以上」のときは、パケット中のブロック数は「1」である。同様に、ビットエラー発生率が「B以上A未満」のときは、パケット中のブロック数は「2」である。ビットエラー発生率が「C以上B未満」のときは、パケット中のブロック数は「4」である。ビットエラー発生率が「D以上C未満」のときは、パケット中のブロック数は「8」である。ビットエラー発生率が「E以上D未満」のときは、パケット中のブロック数は「16」である。ビットエラー発生率が「E未満」のときは、パケット中のブロック数は「32」である。このように、ブロック数決定部108は、内符号化する際のブロックの数、すなわちパケットに含まれるブロックの数を、ビットエラーの発生率が高いほど小さくなるように決定する。なお、本実施形態では、ビットエラー発生率が小さくなると、パケット中のブロック数を2倍にしているが、その他の倍数であってもよいし、常に同じ倍数でなくてもよい。
【0042】
図6は、データ復元部117におけるブロック連結を説明する模式図である。
図6において、復号後受信バッファ部116内の矩形は、外符号復号・誤り検出部115の復号結果のブロックであり、これらの矩形に付した符号は、パケットの通し番号と、該パケット内でのブロックの通し番号とをハイフンで繋いだものである。
図6は、各パケットにブロックが2個含まれているときの例であり、例えば、符号2−1は、通し番号が「2」のパケットの、パケット内の通し番号が「1」のブロックを表す。
【0043】
まず、
図6の(a)では、外符号復号・誤り検出部115から、誤りが検出されなかったブロックとして、ブロック1−1、1−2、2−1、2−2、3−1、4−2、5−1、5−2、6−1、7−1、7−2、8−1、9−1、9−2が入力され、復号後受信バッファ部116は、これらを記憶する。なお、通し番号「3、4、6、8」のパケットについては、それぞれのいずれかのブロックに誤りが検出され、否定応答が送信される。
【0044】
次に、
図6の(b)では、データ復元部117は、
図6の(a)にて記憶したブロックのうち、パケットの通し番号が小さい方から順に、ブロックが全て揃っているか確認し、全て揃っているときは連結して出力する。ブロックが全て揃っていないときは、データ復元部117は、処理を中止する。
図6の(b)では、データ復元部117は、ブロック1−1、1−2、2−1、2−2を連結して出力し、通し番号「3」のパケットは、ブロックが揃っていないため、そこで処理を中止する。
【0045】
次に、
図6の(c)では、再送パケットに対する処理を行った結果、外符号復号・誤り検出部115から、誤りが検出されなかったブロックとして、ブロック3−1、3−2、4−1、6−1、6−2、8−1、10−1、10−2が入力され、復号後受信バッファ部116は、これらを記憶する。
【0046】
次に、
図6の(d)では、データ復元部117は、
図6の(b)の連結の結果として残っていた通し番号「3」以降のパケットのブロックと、
図6の(c)で入力されたブロックとを合わせて、
図6の(b)と同様に、パケットの通し番号が小さい方から順に、ブロックが全て揃っているか確認する。
図6の(d)では、通し番号「3、4、5、6、7」のブロックが全て揃っているので、データ復元部117は、これらを連結して出力する。通し番号「8」については、ブロック8−2が無いため、データ復元部117は、処理を中止し、応答生成部118に否定応答の生成を指示する。なお、通し番号「4」については、外符号復号・誤り検出部115から入力される、誤りが検出されなかったブロックは、ブロック4−1のみである。ブロック4−1のみでは、パケットを完成させることはできない。しかし、データ復元部117は、入力されたブロック4−1に、復号後受信バッファ部116に既に記憶されていたブロック4−2を併せることで、通し番号「4」のパケットを完成させ、さらに、応答生成部118に肯定応答の生成を指示することができる。
【0047】
図7は、再送パケットを受信したときの通信装置100の動作を説明するフローチャートである。通信装置100が再送パケットを含む信号を受信すると、受信部111が該信号を復調し、応答分離部112が復調結果から応答を分離する。すると、HARQ合成部113は、応答が分離された復調結果、すなわち再送パケットの復調結果と、該再送パケットの初送パケットの復調結果とを、HARQ合成する(S1)。
【0048】
次に、内符号復号部114は、ステップS1にてHARQ合成した復調結果を、内符号復号する(S2)。次に、外符号復号・誤り検出部115は、内符号復号された結果を、所定のブロックサイズ毎のブロックに分割し、最初のブロックを選択する(S3)。次に、外符号復号・誤り検出部115は、前のステップにて選択したブロックを、外符号復号し、復号結果について誤り検出を行う(S4)。
【0049】
次に、外符号復号・誤り検出部115は、ステップS4の誤り検出の結果を参照し、当該ブロックに誤りがあったか否かを判定する(S5)。誤りがないと判定したときは(S5−No)、外符号復号・誤り検出部115は、当該ブロックを復号後受信バッファ部116に送り(S6)、ステップS8に進む。一方、ステップS5にて誤りがあると判定したときは(S5−Yes)、データ復元部117は、当該ブロックが復号後受信バッファ部116に格納されているか判定する(S7)。
【0050】
ここで、復号後受信バッファ部116に格納されている当該ブロックは、初送パケットを復調、復号して得られたブロックである。ステップS7にて、格納されていると判定したときは(S7−Yes)、ステップS8に進む。ステップS7にて、格納されていないと判定したときは、データ復元部117は、当該ブロックの復号NGと判断し(S9)、ステップS10に進む。ステップS8では、データ復元部117は、当該ブロックの復号OKと判断し(S9)、ステップS10に進む。
【0051】
ステップS10では、外符号復号・誤り検出部115は、ステップS3にて分割した同一パケット内のブロックの残りがあるか否かを判定する。残りがあると判定したときは(S10−Yes)、ステップS3にて分割した、次のブロックを選択し、ステップS4に戻る。また、ステップS10にて残りがないと判定したときは(S10−No)、データ復元部117は、ステップS3にて分割した同一パケット内の全てのブロックが復号OKであったか否かを判定する(S12)。全て復号OKであったときは(S12−Yes)、データ復元部117は、全てのブロックを連結して受信データとし、応答生成部118に肯定応答(ACK)の生成、送信を指示し(S13)、処理を終了する。一方、いずれかのブロックが復号NGであったときは(S12−No)、データ復元部117は、応答生成部118に否定応答(NACK)の生成、送信を指示し(S14)、処理を終了する。
【0052】
上述の実施形態において、パケットのヘッダーは、内符号化された後に付加されているが、ヘッダーを付加した後に、内符号化するようにしてもよい。
また、
図7では、再送パケットにて復号NGの場合に、初送パケットのブロックを用いるようにしているが、初送パケットにて復号NGの場合に、再送パケットのブロックを用いるようにしてもよい。
また、再送パケットの再送回数は、2回以上であってもよい。
【0053】
このように、通信装置100(受信装置)のデータ復元部117は、初送のパケットのうち、誤りが検出された第1のブロックを、第1のブロックに対応する、再送のパケットのブロックに置き換えて、データを復元する、または、再送パケットのうち、誤りが検出された第2のブロックを、第2のブロックに対応する、初送パケットのブロックに置き換えて、データを復元する。
これにより、各ブロックについて、初送パケットおよび再送パケットのいずれか一方にて誤りが無ければ、データを復元できるので、再送の回数を減らし、優れた伝送レートを得ることができる。
【0054】
また、通信装置100(送信装置)は、伝送路における、ビットエラーの発生率を表す指標に応じて、パケットに含まれるブロックの数を決定するパケットサイズ決定部を有する。
これにより、ビットエラーの発生率が大きいときは、ブロック数を少なく、すなわちパケットサイズを小さくして、再送時のオーバーヘッドを小さくすることができる。さらに、ビットエラーの発生率が小さいときは、ブロック数を多く、すなわちパケットサイズを大きくして、初送時のオーバーヘッドを小さくすることができる。よって、オーバーヘッドを小さくして、優れた伝送レートを得ることができる。
【0055】
また、
図1における通信装置100の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより通信装置100を実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
【0056】
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0057】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。