(57)【要約】【課題】伝送遅延を許容範囲内に抑え、スループットと伝送品質を向上させることが可能なデータフレーム伝送装置を提供する。【解決手段】データフレームを生成するデータフレーム生成部１０２と、データフレームが蓄積される送信バッファ１０４と、１ブロックのデータフレーム伝送開始から伝送停止までのブロックタイムアウト時間を決定するタイムアウト管理部１０６と、ブロックの最初のデータフレームが送信されるまでの待ち時間を決定する送信タイミング管理部１０８と、データフレームを送信バッファ１０４から取得する送信フレーム選択部１１０と、データフレームを伝送するデータフレーム送信部１１２と、を備えるデータフレーム伝送装置が提供される。送信フレーム選択部１１０は、上記待ち時間の経過後に最初のデータフレームを送信バッファ１０４から取得し、ブロックタイムアウト時間が経過したらデータフレームの伝送を停止する。【選択図】図１
2009081571.tif 000002
【特許請求の範囲】
【請求項１】
１以上のデータフレームからなるブロックデータをデータフレーム単位で伝送するデータフレーム伝送装置であって、
前記データフレームを生成するデータフレーム生成部と、
前記データフレーム生成部によって生成されたデータフレームが蓄積される送信バッファと、
前記ブロックデータに含まれるデータフレームの伝送開始から伝送停止までの時間であるブロックタイムアウト時間を決定するタイムアウト管理部と、
前記ブロックデータの最初のデータフレームが送信されるまでの待ち時間を決定し、前記データフレームの送信タイミングを管理する送信タイミング管理部と、
前記送信タイミング管理部によって管理される前記データフレームの送信タイミングに従って、前記データフレームを前記送信バッファから取得する送信フレーム選択部と、
前記送信フレーム選択部によって前記送信バッファから取得されたデータフレームを伝送するデータフレーム送信部と、
を備え、
前記送信フレーム選択部は、
前記送信タイミング管理部によって決定される待ち時間の経過後に、前記ブロックデータの最初のデータフレームを前記送信バッファから取得し、前記タイムアウト管理部から前記ブロックタイムアウト時間が経過したこと通知されたら、伝送中のブロックデータに含まれるデータフレームの伝送を停止することを特徴とする、データフレーム伝送装置。
【請求項２】
前記送信されたブロックデータに対する応答として送信されるブロックＡＣＫによって所定のデータフレームの再送が要求された場合に、前記送信フレーム選択部は、前記再送が要求されたデータフレームを、前記送信バッファから取得して再送することを特徴とする、請求項１に記載のデータフレーム伝送装置。
【請求項３】
前記データフレーム生成部は、生成された前記データフレームの各々に対し、再送時の優先順位を示す再送優先度を付与し、
前記送信フレーム選択部は、前記データフレームの再送を行う場合に、前記データフレームに付与された再送優先度が高い順に、前記データフレームを前記送信バッファから取得することを特徴とする、請求項２に記載のデータフレーム伝送装置。
【請求項４】
前記送信フレーム選択部は、前記データフレームの再送を行う場合に、前記ブロックＡＣＫにおいて指定されているデータフレームの再送優先度が高い順に、前記データフレームを前記送信バッファから取得することを特徴とする、請求項２または３のいずれかに記載のデータフレーム伝送装置。
【請求項５】
前記ブロックタイムアウト時間は、前記ブロックデータに含まれる全てのデータフレームの生成に要する時間であることを特徴とする、請求項１〜４のいずれかに記載のデータフレーム伝送装置。
【請求項６】
前記待ち時間は、前記ブロックタイムアウト時間から前記ブロックデータに含まれる全てのデータフレームの初回の伝送に要する時間を引いた時間であることを特徴とする、請求項１〜５のいずれかに記載のデータフレーム伝送装置。
【請求項７】
１以上のデータフレームからなるブロックデータをデータフレーム単位で伝送するデータフレーム伝送方法であって、
前記データフレームを生成するデータフレーム生成ステップと、
前記ブロックデータに含まれるデータフレームの伝送開始から伝送停止までの時間であるブロックタイムアウト時間を決定するタイムアウト決定ステップと、
前記ブロックデータの最初のデータフレームが送信されるまでの待ち時間を決定する待ち時間決定ステップと、
前記待ち時間決定ステップにおいて決定された待ち時間の経過後に、前記ブロックデータのデータフレームの送信を開始し、前記ブロックタイムアウト時間が経過するまでの間、前記ブロックデータに含まれるデータフレームを伝送するデータフレーム送信ステップと、
を含むことを特徴とする、データフレーム伝送方法。
【請求項８】
前記送信されたブロックデータに対する応答として送信されるブロックＡＣＫを受信するブロックＡＣＫ受信ステップと、
前記ブロックタイムアウト時間が経過するまでの間、前記ブロックＡＣＫによって再送が要求されたデータフレームを再送するデータフレーム再送ステップと、
をさらに含むことを特徴とする、請求項７に記載のデータフレーム伝送方法。
【請求項９】
前記データフレーム生成ステップにおいて、生成された前記データフレームの各々に対し、再送時の優先順位を示す再送優先度を付与し、
前記データフレーム再送ステップにおいて、前記データフレームに付与された再送優先度が高い順に、前記データフレームを再送することを特徴とする、請求項８に記載のデータフレーム伝送方法。
【請求項１０】
前記データフレーム再送ステップにおいて、前記ブロックＡＣＫにおいて指定されているデータフレームの再送優先度が高い順に、前記データフレームを再送することを特徴とする、請求項８または９のいずれかに記載のデータフレーム伝送方法。
【請求項１１】
前記ブロックタイムアウト時間は、前記ブロックデータに含まれる全てのデータフレームの生成に要する時間であることを特徴とする、請求項７〜１０のいずれかに記載のデータフレーム伝送方法。
【請求項１２】
前記待ち時間は、前記ブロックタイムアウト時間から前記ブロックデータに含まれる全てのデータフレームの初回の伝送に要する時間を引いた時間であることを特徴とする、請求項７〜１１のいずれかに記載のデータフレーム伝送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データフレーム伝送装置及びデータフレーム伝送方法に関する。
【背景技術】
【０００２】
従来、リアルタイム性を有するデータ通信においては、「再送」、「ブロックＡＣＫ」、「タイムアウト」等の技術を併用することにより伝送品質やスループットの向上が行われてきた。
【０００３】
「再送」は、送信機がＡＣＫ等の仕組みを用いることにより、受信機がデータを正しく受信できていない可能性があることを検出した場合に、再度そのデータを送信することにより伝送品質を向上させるための技術である。再送が成功しなかった場合には、さらに再送を繰り返すことが行われるが、再送の回数に上限を設けて、再送の繰り返しによって通信が滞るのを回避するのが一般的である。
【０００４】
「ブロックＡＣＫ」は、ＡＣＫの送受信によるオーバーヘッドを減らし、伝送のスループットを向上させるための技術である。これは、各データフレーム毎にＡＣＫを送信して伝送結果の確認を行うことによるオーバーヘッドの増加を防止するための技術であり、複数のデータフレーム（ブロック）の伝送結果を確認せずに連続的に送信した場合に、その複数のデータフレーム伝送の結果をまとめて確認するものである。これによると、Ｎフレームで１ブロックを構成した場合、伝送確認のためのオーバーヘッドはおよそ１／Ｎとなる。
【０００５】
「タイムアウト」は、一般のデータ伝送でも用いられているが、リアルタイム伝送では特に重要である。リアルタイム伝送では、ある一定時間以上遅延が発生したデータは意味を持たないため、そのフレームのタイムアウト時刻が経過した場合、そのフレームの伝送を中止する。
【０００６】
特許文献１〜３には、上記のような技術を併用してリアルタイム伝送を可能にする技術が開示されている。例えば、特許文献１には、各送信フレームに対し、タイムアウト時間まで再送を繰り返すようにした装置が開示されている。また、特許文献２には、非衝突期間に最初の送信を行い、非衝突期間の最後に送出されたパケットを受信後に受信局から送信されるブロックＡＣＫに相当する応答に基づいて、非衝突期間に続く衝突期間に再送を行う制御局が開示されている。また、特許文献３には、送信データの中に正常受信を必要とするか否かに関する情報を組み込み、正常受信を必要としないデータに対して受信機が再送要求を行わないことで、伝送量を抑えてリアルタイム伝送を可能にするシステムが開示されている。
【０００７】
【特許文献１】特開平１１−３３１２６１号公報
【特許文献２】特開２００３−２５８８１４号公報
【特許文献３】特開２００４−６４２７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、ビデオデータ伝送のように、一定間隔で送信データが生成され、それによりタイムアウト時刻が決まるとき、伝送可能容量（伝送速度）が実際に伝送すべき容量に比べて十分に大きくない場合には、図５に示すように、タイムアウト前に十分な再送時間が確保できず、伝送品質を向上させることができなかった。
【０００９】
さらに、再送に時間制限を設けない場合、伝送のリアルタイム性が保証できない。また、特許文献２に記載の技術のように、初回送信と再送信とのために、予め非衝突期間と衝突期間を設けることは、再送信が失敗することによりリアルタイム性を失わせる危険が増すとともに、伝送制御の柔軟性を失わせる結果にも繋がる。
【００１０】
また、再送によりブロック内の全てのデータフレームを正しく伝送できない場合に、データ構成からみたデータフレームの相対的な重要性や、受信側から見たデータフレーム毎の再送の有効性とは無関係に、再送されるフレームが選択されるため、ブロック全体として効率的な伝送ができなかった。例えば、再送が必要なフレームが１０個（Ｆ１〜Ｆ１０）あるときに、５フレーム分の再送時間しかない場合、従来の再送方法であれば最初の５フレーム（Ｆ１〜Ｆ５）が再送されることになる。しかし、データ構造上はＦ３及びＦ８が他のフレームより重要であり、また、受信側の処理上はＦ２、Ｆ６及びＦ９が重要であるとすると、実際にはＦ２、Ｆ３、Ｆ６、Ｆ８及びＦ９を再送するのが望ましい。しかし、例えば特許文献３に記載の再送方式のように、送信データ中に予め再送要否の属性を埋め込み、受信機側で再送要求を行うかどうかを決定する方式では、上記のような再送処理を行うことができない。
【００１１】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、伝送遅延を許容範囲内に抑えるとともに、スループットと伝送品質を向上させることが可能な、新規かつ改良されたデータフレーム伝送装置及びデータフレーム伝送方法を提供することにある。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明のある観点によれば、１以上のデータフレームからなるブロックデータをデータフレーム単位で伝送するデータフレーム伝送装置であって、データフレームを生成するデータフレーム生成部と、データフレーム生成部によって生成されたデータフレームが蓄積される送信バッファと、ブロックデータに含まれるデータフレームの伝送開始から伝送停止までの時間であるブロックタイムアウト時間を決定するタイムアウト管理部と、ブロックデータの最初のデータフレームが送信されるまでの待ち時間を決定し、データフレームの送信タイミングを管理する送信タイミング管理部と、送信タイミング管理部によって管理されるデータフレームの送信タイミングに従って、データフレームを送信バッファから取得する送信フレーム選択部と、送信フレーム選択部によって送信バッファから取得されたデータフレームを伝送するデータフレーム送信部と、を備えるデータフレーム伝送装置が提供される。上記データフレーム伝送装置は、送信フレーム選択部が、送信タイミング管理部によって決定される待ち時間の経過後に、ブロックデータの最初のデータフレームを送信バッファから取得し、タイムアウト管理部からブロックタイムアウト時間が経過したこと通知されたら、伝送中のブロックデータに含まれるデータフレームの伝送を停止することを特徴とする。
【００１３】
かかる構成により、生成されたデータフレームを所定の待ち時間の経過後に送信することで、送信バッファがアンダーフローしないだけのデータフレームを蓄えた後で送信を開始することができる。また、タイムアウト時間前に初回の送信を終了し、残り時間を伝送エラーとなったフレームの再送に用いることができる。従って、従来の伝送方法では再送期間が十分に取れなかったのに対し、本実施形態にかかるデータフレームの送信方法では、最大の再送時間を確保することができ、伝送品質を向上させることが可能となる。
【００１４】
また、送信されたブロックデータに対する応答として送信されるブロックＡＣＫによって所定のデータフレームの再送が要求された場合に、送信フレーム選択部は、再送が要求されたデータフレームを送信バッファから取得して再送するようにしてもよい。
【００１５】
また、データフレーム生成部は、生成されたデータフレームの各々に対し、再送時の優先順位を示す再送優先度を付与し、送信フレーム選択部は、データフレームの再送を行う場合に、データフレームに付与された再送優先度が高い順に、データフレームを送信バッファから取得するようにしてもよい。これにより、タイムアウト時間に余裕がなく、ブロックＡＣＫが要求する全てのフレームを再送することができない場合であっても、送信側で必要性が高いと判断したフレームを優先的に再送することができ、実質的な伝送品質を向上させることが可能となる。
【００１６】
また、送信フレーム選択部は、データフレームの再送を行う場合に、ブロックＡＣＫにおいて指定されているデータフレームの再送優先度が高い順に、データフレームを送信バッファから取得するようにしてもよい。これにより、タイムアウト時間に余裕がなく、ブロックＡＣＫが要求する全てのフレームを再送することができない場合であっても、受信側で必要性が高いと判断したフレームを優先的に再送することができ、実質的な伝送品質を向上させることが可能となる。
【００１７】
また、ブロックタイムアウト時間は、ブロックデータに含まれる全てのデータフレームの生成に要する時間であってもよい。
【００１８】
また、待ち時間は、ブロックタイムアウト時間からブロックデータに含まれる全てのデータフレームの初回の伝送に要する時間を引いた時間であってもよい。
【００１９】
また、上記課題を解決するために、本発明の別の観点によれば、１以上のデータフレームからなるブロックデータをデータフレーム単位で伝送するデータフレーム伝送方法であって、データフレームを生成するデータフレーム生成ステップと、ブロックデータに含まれるデータフレームの伝送開始から伝送停止までの時間であるブロックタイムアウト時間を決定するタイムアウト決定ステップと、ブロックデータの最初のデータフレームが送信されるまでの待ち時間を決定する待ち時間決定ステップと、待ち時間決定ステップにおいて決定された待ち時間の経過後に、ブロックデータのデータフレームの送信を開始し、ブロックタイムアウト時間が経過するまでの間、ブロックデータに含まれるデータフレームを伝送するデータフレーム送信ステップと、を含むデータフレーム伝送方法が提供される。
【００２０】
かかる構成により、生成されたデータフレームを所定の待ち時間の経過後に送信することで、送信バッファがアンダーフローしないだけのデータフレームを蓄えた後で送信を開始することができる。また、タイムアウト時間前に初回の送信を終了し、残り時間を伝送エラーとなったフレームの再送に用いることができる。従って、従来の伝送方法では再送期間が十分に取れなかったのに対し、本実施形態にかかるデータフレームの送信方法では、最大の再送時間を確保することができ、伝送品質を向上させることが可能となる。
【００２１】
また、送信されたブロックデータに対する応答として送信されるブロックＡＣＫを受信するブロックＡＣＫ受信ステップと、ブロックタイムアウト時間が経過するまでの間、ブロックＡＣＫによって再送が要求されたデータフレームを再送するデータフレーム再送ステップと、をさらに含むようにしてもよい。
【００２２】
また、データフレーム生成ステップにおいて、生成されたデータフレームの各々に対し、再送時の優先順位を示す再送優先度を付与し、データフレーム再送ステップにおいて、データフレームに付与された再送優先度が高い順に、データフレームを再送するようにしてもよい。これにより、タイムアウト時間に余裕がなく、ブロックＡＣＫが要求する全てのフレームを再送することができない場合であっても、送信側で必要性が高いと判断したフレームを優先的に再送することができ、実質的な伝送品質を向上させることが可能となる。
【００２３】
また、データフレーム再送ステップにおいて、ブロックＡＣＫにおいて指定されているデータフレームの再送優先度が高い順に、データフレームを再送するようにしてもよい。これにより、タイムアウト時間に余裕がなく、ブロックＡＣＫが要求する全てのフレームを再送することができない場合であっても、受信側で必要性が高いと判断したフレームを優先的に再送することができ、実質的な伝送品質を向上させることが可能となる。
【００２４】
また、ブロックタイムアウト時間は、ブロックデータに含まれる全てのデータフレームの生成に要する時間であってもよい。
【００２５】
また、待ち時間は、ブロックタイムアウト時間からブロックデータに含まれる全てのデータフレームの初回の伝送に要する時間を引いた時間であってもよい。
【発明の効果】
【００２６】
以上説明したように本発明によれば、伝送遅延を許容範囲内に抑えるとともに、スループットと伝送品質を向上させることが可能となる。
【発明を実施するための最良の形態】
【００２７】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２８】
（第１の実施形態）
まず、図１を参照して、本発明の第１の実施形態にかかるデータフレーム伝送装置について説明する。図１は、第１の実施形態にかかるデータフレーム伝送装置１００の概略構成を示すブロック図である。
【００２９】
（データフレーム伝送装置１００）
図１に示すデータフレーム伝送装置１００は、リアルタイム性を有するデータの伝送を行う装置であって、例えば、ビデオストリームのような固定長のデータフレームを所定の間隔で送信する。また、データフレーム伝送装置１００では、ブロックＡＣＫの仕組みを用いて送信したデータの受信確認を行っており、１以上のデータフレーム（以下、ブロックという）を連続して送信し、１ブロックのデータに対して１回のＡＣＫを受信する。また、受信したブロックＡＣＫによってデータフレームの再送を要求されている場合には、データフレーム伝送装置１００は、再送を要求されたデータフレームを再度送信する処理を行う。
【００３０】
本実施形態にかかるデータフレーム伝送装置１００は、図１に示すように、データフレーム生成部１０２と、送信バッファ１０４と、タイムアウト管理部１０６と、送信タイミング管理部１０８と、送信フレーム選択部１１０と、データフレーム送信部１１２と、ＡＣＫ受信部１１４と、により構成される。以下、データフレーム伝送装置１００の各部について説明する。
【００３１】
（データフレーム生成部１０２、送信バッファ１０４）
データフレーム生成部１０２は、ビデオストリームのような固定長のデータフレームを一定間隔で生成する。生成されたデータフレームは、送信バッファ１０４に蓄積され、送信フレーム選択部１１０によって送信順に送信バッファ１０４から取り出され、データフレーム送信部１１２によって順次送信される。
【００３２】
（タイムアウト管理部１０６）
タイムアウト管理部１０６は、ブロック毎の送信タイムアウトの時間（以下、ブロックタイムアウト時間という）を決定し、ブロックタイムアウト時間を経過した場合に、送信フレーム選択部１１０に対しその旨を通知する。
【００３３】
ブロックタイムアウト時間は、例えば、１画像分のデータを１ブロックとした場合には、１画像分のデータ、即ち１ブロック分のデータフレームが生成される時間としてもよい。この場合同様に、０．５画像分で１ブロックとした場合は、ブロックタイムアウト時間は上記の半分となり、２画像分で１ブロックとした場合は２倍となるようにしてもよい。ブロックタイムアウト時間は、各ブロックのデータが生成される毎に決定するようにしてもよいし、あるいは、伝送するデータが同一フォーマットの画像データ等である場合、全てのブロックに対し同じ値を適用するようにしてもよい。
【００３４】
（送信タイミング管理部１０８）
送信タイミング管理部１０８は、ブロック中の最初のデータフレームが送信されるまでの待ち時間（以下、強制待ち時間という）を決定し、決定された強制待ち時間に基づいて、送信バッファ１０４に蓄積されたデータフレームの送信タイミングを管理する。
【００３５】
強制待ち時間は、例えば、ブロックタイムアウト時間から、１ブロックのデータの初回の伝送に要する時間を引いた時間としてもよい。この場合、初回の伝送を終えたとき、再送時間として、強制待ち時間と同じ時間の再送時間を得ることができる。更に、この再送時間を終えたときに、次のブロックの強制的な待ち時間が終了し、次のブロックの初回送信を開始することが可能となる。
【００３６】
送信タイミング管理部１０８は、１ブロックの最初のデータフレームが送信されるまで、送信フレーム選択部１１０からの問い合わせに対して、各データフレームが強制待ち時間内にあるかどうかを通知する。また、それ以降のフレームは、直前のフレーム送信が終了後、直ちに送信可能とする。この結果、フレームの生成時刻から直前のフレーム送信終了時刻までの間隔は徐々に小さくなるが、０より小さくならない（データ生成待ちにならない）ように、送信タイミング管理部１０８によって送信タイミングが管理される。
【００３７】
（送信フレーム選択部１１０）
送信フレーム選択部１１０は、送信タイミング管理部１０８から通知される送信タイミングに従って、送信バッファ１０４から送信するデータフレームを取得し、データフレーム送信部１１２に与える。送信フレーム選択部１１０は、次に送信すべきデータフレームを送信バッファ１０４から取り出すときに、そのデータフレームが強制待ち時間内にあるかどうかを送信タイミング管理部１０８に確認する。もし、強制待ち時間内にない場合、送信フレーム選択部１１０は、送信バッファ１０４からデータフレームを取得してデータフレーム送信部１１２に与える。強制待ち時間内にある場合は、送信フレーム選択部１１０は、強制待ち時間が経過するまで待機した後、データフレームを送信バッファ１０４から取得する。
【００３８】
また、送信フレーム選択部１１０は、ＡＣＫ受信部１１４によって受信されるブロックＡＣＫの情報を基に、再送を要求されているデータフレームを選択し、データフレーム送信部１１２によって再送されるようにする。タイムアウト管理部１０６からブロックタイムアウト時間を経過したことが通知された場合、送信フレーム選択部１１０は、データフレームの再送を停止する。あるいは、再送が終了した後、タイムアウト時間まで更に余裕がある場合は、再再送を行うようにしてもよい。
【００３９】
（データフレーム送信部１１２、ＡＣＫ受信部１１４）
データフレーム送信部１１２は、送信フレーム選択部１１０からデータフレームを受け取って送信先に対し送信する。ＡＣＫ受信部１１４は、データフレームの送信先から送信されるブロックＡＣＫを受信し、送信フレーム選択部１１０に渡す。
【００４０】
以上、本実施形態にかかるデータフレーム伝送装置１００の構成について説明した。
【００４１】
次に、図２及び図３を参照して、データフレーム伝送装置１００によって実行されるデータフレーム伝送処理について説明する。図２は、本実施形態にかかるデータフレーム伝送装置１００によって実行されるデータフレーム伝送処理の流れを示すフローチャートである。図３は、本実施形態のデータフレーム伝送処理を模式的に示した説明図である。
【００４２】
まず、データフレーム生成部１０２は、送信するブロック１のデータから固定長のデータフレームを一定時間おきに生成し、送信バッファ１０４に蓄積する（ステップＳ２００）。タイムアウト管理部１０６は、ステップＳ２００で生成されたデータフレームからブロックタイムアウト時間を求め（ステップＳ２０２）、送信タイミング管理部１０８は、ブロック中の最初のデータフレームが送信されるまでの強制待ち時間を求める（ステップＳ２０４）。
【００４３】
次いで、送信フレーム選択部１１０は、最初に送信するデータフレームが強制待ち時間内にあるか否かを送信タイミング管理部１０８に確認する（ステップＳ２０６）。ここで、強制待ち時間内にある場合は、強制待ち時間が経過するまで待機し、既に強制待ち時間が経過していれば、送信バッファ１０４から最初のデータフレームを取得し、データフレーム送信部１１２により送信する（ステップＳ２０８）。
【００４４】
その後、ステップＳ２０８の処理を繰り返して、ブロック中の全てのデータフレームを連続して送信する。次いで、ＡＣＫ受信部１１４は、ブロック１に対するＡＣＫ（ブロックＡＣＫ）を受信する（ステップＳ２１０）。送信フレーム選択部１１０は、ブロックＡＣＫに含まれる再送要求フレームに関する情報から、再送すべきフレームがあるかどうかを判断する（ステップＳ２１２）。再送要求されているデータフレームがない場合は、ブロック１のデータフレームの送信処理が終了する。
【００４５】
ブロックＡＣＫで再送要求されているデータフレームがある場合、送信フレーム選択部１１０は、再送要求されているデータフレームを送信バッファ１０４から取得し、データフレーム送信部１１２により再送する（ステップＳ２１４）。
【００４６】
ここで、タイムアウト管理部１０６から送信フレーム選択部１１０に対して、ブロックタイムアウト時間が経過したことが通知された場合（ステップＳ２１６）、送信フレーム選択部１１０はデータフレームの送信を停止し、ブロック１のデータフレームの送信処理は終了してブロック２の送信処理に移行する。ブロックタイムアウト時間が経過していない場合は、ステップＳ２１６の処理を繰り返し、ブロックタイムアウト時間が経過するまで再送要求されているデータフレームを順次再送する。
【００４７】
なお、図示していないが、ブロックタイムアウト前に再送が終了した場合、再びステップＳ２１０に戻ってブロックＡＣＫを受取り、ステップＳ２１２で更に再送が必要か否かの判定を行うようにしてもよい。
【００４８】
このように、一定時間おきに生成されたデータフレームを強制待ち時間の経過後に送信することで、送信バッファ１０４がアンダーフローしないだけのデータフレームを蓄えた後で送信を開始することができる。また、タイムアウト時間前に初回の送信を終了し、残り時間を伝送エラーとなったフレームの再送に用いることができる。従って、従来の伝送方法では再送期間が十分に取れなかったのに対し、本実施形態にかかるデータフレームの送信方法では、最大の再送時間を確保することができることによって、伝送品質を向上させることが可能となる。
【００４９】
（第２の実施形態）
次に、本発明の第２の実施形態にかかるデータフレーム伝送装置について説明する。第２の実施形態にかかるデータフレーム伝送装置の構成は、上述した第１の実施形態にかかるデータフレーム伝送装置の構成と実質的に同一であるが、送信バッファに格納されるデータフレームがそれぞれ再送優先度を持っており、送信フレーム選択部１１０が、この再送優先度に従って再送するデータフレームを選択する点が異なる。
【００５０】
各データフレームの再送優先度は、データフレーム生成部１０２がデータフレームを生成するときに各データフレームに与えられ、データフレームとともに送信バッファ１０４に格納されるようにしてもよい。また、再送優先度は、送信されるデータの内容に応じた方法により決定されてもよい。例えば、画像データには、実際の画像内容を示すピクセルデータの他に、画像全体を管理する情報（画像のフォーマット、ピクセルデータが表現する画像内での位置（走査線番号等）等）が含まれているが、画像を再構成するために必要な管理情報を含むデータフレームに対してより高い優先度を与えるようにしてもよい。一方、ピクセルデータを含むデータフレームは、欠如した場合であっても補間などにより細かい欠陥に止めることが可能であるため、管理情報を含むデータフレームよりも低い優先度を与えるようにしてもよい。
【００５１】
また、ＡＣＫ受信部１１４によって受信されるブロックＡＣＫ中で指定される再送要求フレームにも優先度が指定されるようにしてもよい。この場合の優先度は受信側で決定され、例えば、全く受信できなかったフレーム（シーケンス番号が抜けているフレーム）に対して他のフレームよりも高い優先度を設定するようにしてもよい。また、受信はできたが、ＦＣＳ（Ｆrａｍｅ  Ｃｈｅｃｋ  Ｓｅｑｕｅｎｃｅ：フレーム・チェック・シーケンス）によるエラーチェックによりエラーが含まれていることが分かったフレームに対しては、低い優先度を設定するようにしてもよい。
【００５２】
また、送信フレーム選択部１１０は、各データフレームに対して設定された再送優先度と、ブロックＡＣＫ中で指定される再送優先度との両方に基づいて、データフレームの再送処理を行ってもよい。また、送信側で設定された優先度（各データフレームに設定された優先度）と受信側で設定された優先度（ブロックＡＣＫで指定された優先度）とが異なる場合、例えば、受信側の判断を優先してブロックＡＣＫで指定された優先度を優先するようにしてもよい。あるいは、送信側と受信側のいずれを優先して適用するかを予め設定しておくようにしてもよい。
【００５３】
次に、図４を参照して、第２の実施形態にかかるデータフレーム伝送処理について説明する。図４は、本実施形態にかかるデータフレーム伝送処理の流れを示すフローチャートである。なお、本実施形態のデータフレーム伝送処理のうち、初回のデータフレーム送信処理は、図２に示すステップＳ２００〜Ｓ２０８の処理と同様であるので、ここでは重複説明を省略する。図４に示すデータフレーム伝送処理は、図２のステップＳ２１０以降の処理、即ち、データフレームの再送処理を示す。
【００５４】
データフレームの初回の送信が終了した後、ＡＣＫ受信部１１４は、データの送信先よりブロックＡＣＫを受信する（ステップＳ２２０）。次いで、送信フレーム選択部１１０は、ブロックＡＣＫに含まれる再送要求フレームに関する情報から、再送すべきフレームがあるかどうかを判断する（ステップＳ２２２）。再送要求されているデータフレームがない場合は、ブロックのデータフレームの送信処理を終了する。
【００５５】
ブロックＡＣＫで再送要求されているデータフレームがある場合、送信フレーム選択部１１０は、データフレームに付与された再送優先度とブロックＡＣＫに記録された再送フレームの優先度とを確認し（ステップＳ２２４）、優先度の高い順に再送すべきフレームを再送する（ステップＳ２２６）。
【００５６】
ここで、タイムアウト管理部１０６から送信フレーム選択部１１０に対して、ブロックタイムアウト時間が経過したことが通知された場合（ステップＳ２２８）、送信フレーム選択部１１０は、その時点でデータフレームの再送を停止する。ブロックタイムアウト時間が経過していない場合は、ステップＳ２２６の処理を繰り返し、ブロックタイムアウト時間が経過するまで再送要求されているデータフレームを順次再送する。
【００５７】
上記のような処理により、タイムアウト時間に余裕がなく、ブロックＡＣＫが要求する全てのフレームを再送することができない場合であっても、受信側及び送信側において必要性が高いと判断したフレームを優先的に再送することができ、実質的な伝送品質を向上させることが可能となる。
【００５８】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【図面の簡単な説明】
【００５９】
【図１】本発明の第１の実施形態にかかるデータフレーム伝送装置の概略構成を示すブロック図である。
【図２】同実施形態にかかるデータフレーム伝送装置によって実行されるデータフレーム伝送処理の流れを示すフローチャートである。
【図３】同実施形態にかかるデータフレーム伝送処理を模式的に示した説明図である。
【図４】本発明の第２の実施形態にかかるデータフレーム伝送処理の流れを示すフローチャートである。
【図５】従来のデータフレーム伝送処理を模式的に示した図である。
【符号の説明】
【００６０】
１００    データフレーム伝送装置
１０２    データフレーム生成部
１０４    送信バッファ
１０６    タイムアウト管理部
１０８    送信タイミング管理部
１１０    送信フレーム選択部
１１２    データフレーム送信部
１１４    ＡＣＫ受信部
【図１】
2009081571.tif 000003
【図２】
2009081571.tif 000004
【図３】
2009081571.tif 000005
【図４】
2009081571.tif 000006
【図５】
2009081571.tif 000007