(57)【要約】【課題】受信装置において再生成が完了しない可能性を無くし、帯域の利用効率向上と送受信装置における冗長シンボル生成または復号の際の演算量の低減を図る。【解決手段】データを符号化してソースシンボルを生成する手段と、ソースシンボルから冗長シンボルを生成する手段と、ソースシンボルおよび冗長シンボルまたは冗長シンボルを送出する手段と、受信装置からのフィードバック情報を受信する手段とを備え、受信装置によりソースシンボルの再生成が完了したことを通知する完了通知を前記フィードバック情報として受信したときには送出する手段を停止する。【選択図】図１
2009152864.tif 000002
【特許請求の範囲】
【請求項１】
受信装置にデータを送信する送信装置において、
前記データを符号化してソースシンボルを生成する手段と、
前記ソースシンボルから冗長シンボルを生成する手段と、
前記ソースシンボルおよび前記冗長シンボルまたは前記冗長シンボルを送出する手段と、
前記受信装置からのフィードバック情報を受信する手段と
を備え、
前記受信装置により前記ソースシンボルの再生成が完了したことを通知する完了通知を前記フィードバック情報として受信したときには前記送出する手段を停止する
ことを特徴とする送信装置。
【請求項２】
請求項１記載の送信装置に対向する受信装置であって、
受信した前記ソースシンボルおよび前記冗長シンボルまたは前記冗長シンボルを復号化して前記ソースシンボルを再生成する手段と、
前記ソースシンボルの再生成が完了した時点で完了通知を生成する手段と、
前記完了通知を前記送信装置に前記フィードバック情報として通知する手段と
を備えたことを特徴とする受信装置。
【請求項３】
受信装置にデータを送信する送信装置において、
前記データを符号化してソースシンボルを生成する手段と、
前記ソースシンボルから冗長シンボルを生成する手段と、
前記ソースシンボルおよび前記冗長シンボルまたは前記冗長シンボルを送出する手段と、
前記受信装置からのフィードバック情報を受信する手段と
を備え、
前記受信装置により前記ソースシンボルの中で、前記ソースシンボルの一部または全部の再生成が完了したことを通知する部分完了通知を前記フィードバック情報として受信したときには、前記部分完了通知により再生成が完了した前記ソースシンボルの一部または全部を除く残りの前記ソースシンボルに重み付けを行い、この重み付けに基づき前記ソースシンボルを選択する手段と、
この選択する手段により選択された前記ソースシンボルから前記冗長シンボルを生成する手段と、
前記残りのソースシンボルおよびこの生成する手段により生成された前記冗長シンボルまたはこの生成する手段により生成された前記冗長シンボルの送出を継続する手段と
を備えたことを特徴とする送信装置。
【請求項４】
前記部分完了通知には、前記ソースシンボルの全部の再生成が未完了である場合の通知も含み、その通知を受信したときには全てのソースシンボルに重み付けを行う手段を備えた請求項３記載の送信装置。
【請求項５】
請求項３または４記載の送信装置に対向する受信装置であって、
受信した前記ソースシンボルおよび前記冗長シンボルまたは前記冗長シンボルを復号化して前記ソースシンボルを再生成する手段と、
前記ソースシンボルの中で、再生成が完了した前記ソースシンボルの一部または全部の再生が完了したことを通知する部分完了通知を生成する手段と、
前記部分完了通知を前記送信装置に前記フィードバック情報として通知する手段と
を備えたことを特徴とする受信装置。
【請求項６】
前記部分完了通知には、前記ソースシンボルの全部の再生成が未完了である場合の通知も含む請求項５記載の受信装置。
【請求項７】
受信装置にデータを送信する送信装置において、
前記データを符号化してソースシンボルを生成する手段と、
前記ソースシンボルから冗長シンボルを生成する手段と、
前記ソースシンボルおよび前記冗長シンボルまたは前記冗長シンボルを送出する手段と、
前記受信装置からのフィードバック情報を受信する手段と
を備え、
前記受信装置により前記ソースシンボルの再生成が完了していない前記ソースシンボルに対する未完了通知を前記フィードバック情報として受信したときには、前記未完了通知により再生成が未完了の前記ソースシンボルを選択する手段と、
この選択する手段により選択された前記ソースシンボルから前記冗長シンボルを生成する手段と、
前記再生成が未完了のソースシンボルおよびこの生成する手段により生成された前記冗長シンボルまたはこの生成する手段により生成された前記冗長シンボルの送出を継続する手段と
を備えたことを特徴とする送信装置。
【請求項８】
請求項７記載の送信装置に対向する受信装置であって、
受信した前記ソースシンボルおよび前記冗長シンボルまたは前記冗長シンボルを復号化して前記ソースシンボルを再生成する手段と、
前記ソースシンボルの再生成が完了していない前記ソースシンボルに対して未完了通知を生成する手段と、
前記未完了通知を前記送信装置に前記フィードバック情報として通知する手段と
を備えたことを特徴とする受信装置。
【請求項９】
前記再生成する手段により再生成できた前記ソースシンボルの数または再生成できていない前記ソースシンボルの数または再生成できた前記ソースシンボルの全ソースシンボルに対する割合または再生成できていない前記ソースシンボルの全ソースシンボルに対する割合またはそれらのいずれか二つ以上を組み合わせた指標を算出する手段と、
前記指標を用いてフィードバック情報送出の開始または終了を決定する手段と
を備えた請求項２、５、６、８のいずれか１項記載の受信装置。
【請求項１０】
前記再生成する手段により再生成できた前記ソースシンボルの数または再生成できていない前記ソースシンボルの数または再生成できた前記ソースシンボルの全ソースシンボルに対する割合または再生成できていない前記ソースシンボルの全ソースシンボルに対する割合またはそれらのいずれか二つ以上を組み合わせた指標を算出する手段と、
前記指標を用いてフィードバック情報の内容を変更する手段と
を備えた
請求項２、５、６、８のいずれか１項記載の受信装置。
【請求項１１】
送信装置から受信装置に対してデータを伝送する際に前記送信装置および前記受信装置が実行するデータ伝送方法において、
前記送信装置が、
前記データを符号化してソースシンボルを生成するステップと、
前記ソースシンボルから冗長シンボルを生成するステップと、
前記ソースシンボルおよび前記冗長シンボルまたは前記冗長シンボルを送出するステップと、
前記受信装置からのフィードバック情報を受信するステップと
を実行することを特徴とするデータ伝送方法。
【請求項１２】
情報処理装置にインストールすることにより、その情報処理装置に、請求項１、３、４、７のいずれか１項記載の送信装置の機能に相応する機能を実現させるプログラム。
【請求項１３】
情報処理装置にインストールすることにより、その情報処理装置に、請求項２、５、６、８、９、１０のいずれか１項記載の受信装置の機能に相応する機能を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、消失訂正のための冗長パケットを用いたデータ伝送に利用する。
【背景技術】
【０００２】
現在のインターネットで送信すべきデータを完全に消失無く伝送するために、主にＴＣＰ(Transmission Control Protocol)が用いられている。
【０００３】
一方、ＦＥＣ(Forward Error Correction:前方誤り訂正)と呼ばれる技術が存在し、ＴＣＰに用いられるＡＲＱ(Automatic Repeat reQuest:自動再送信要求)と異なるパケットロス回復手法を提供する。
【０００４】
ＦＥＣの内、失われたパケットを回復するものを消失訂正符号(Erasure Collection Code)という。これは、送りたい元データ以外にそのデータに対する冗長パケットを生成し、元データのパケットが失われても冗長パケットから再生成する方式である。
【０００５】
さらに、消失訂正符号には冗長パケットのみを作り出し、その冗長パケットから元データを再生成する非組織化符号と呼ばれるものや、非組織化符号の中でも冗長パケットをほぼ無制限に作り出すことができるＦｏｕｎｔａｉｎ  Ｃｏｄｅ(Rateless Erasure Code)と呼ばれるものが存在する。Ｆｏｕｎｔａｉｎ  Ｃｏｄｅの代表的なものにＬＴ  Ｃｏｄｅ，Ｒａｐｔｏｒ  Ｃｏｄｅ（非特許文献１）が挙げられる。
【０００６】
【非特許文献１】Ａｍｉｎ  Ｓｈｏｋｒｏｌｌａｈｉ，“Ｒａｐｔｏｒ  ｃｏｄｅｓ”ＩＥＥＥ／ＡＣＭ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｎｅｔｗｏｒｋｉｎｇ（ＴＯＮ），Ｊｕｎｅ  ２００６
【発明の開示】
【発明が解決しようとする課題】
【０００７】
現在広く用いられているＴＣＰはデータ伝送を行う際、送信装置からのＡＣＫ(Acknowledgement)を元にｃｗｎｄ(Congestion Window:輻輳ウィンドウ)を変化させるが、高遅延または広帯域ネットワーク(Long Fat Pipe)では十分なスループットを実現するまでｃｗｎｄが大きくなるのに相当な時間を要する。
【０００８】
さらに、ＴＣＰはパケットロスを検知した際にｃｗｎｄを半減させるため、現実的な伝送路においては十分なスループットを実現できない。
【０００９】
また、今後、ネットワークの広帯域化がさらに求められた場合には、複数の光Ｐａｔｈを用いた並列伝送が有力であるが、Ｐａｔｈ毎の伝送遅延が異なることが考えられ、順序違い(Out-of-Order)パケットが発生しうる。このような場合にＴＣＰを用いてデータ伝送を行うと、そのパケットロス検知手法から順序違いパケット発生をパケットロスと誤検知し、ｃｗｎｄを半減させることでスループットが低下することが考えられる。
【００１０】
これはパケットロス回復にＡＲＱを用いていることから発生するもので、順序違いパケットが発生し得る環境ではパケットロス検知が困難であることが問題である。
【００１１】
また、消失訂正符号を用いて完全なデータを受信装置に伝送する手法は予め保証すべきパケットロス率を推定し、生成する冗長パケット量を推定しているものである。そのため、伝送中のネットワークにおいて推定したパケットロス率を超えるパケットロスが発生した場合には、保証を行うことができず受信装置において元ファイルが再生成できない。
【００１２】
また、伝送中のネットワークにおけるパケットロス率が推定したパケットロス率よりも小さい場合には、受信装置にて元ファイルを再生成するのに必要な量を超えて冗長パケットを送出することになり、その分、ネットワーク資源を消費することとなる。
【００１３】
本発明は、このような課題を解決するために行われたものであって、従来のパケットロス率推定を用いた冗長パケット設定手法で発生し得る、受信装置において再生成が完了しない可能性を無くし、さらに帯域の利用効率向上と送受信装置における冗長シンボル生成または復号の際の演算量の低減が実現される送信装置および受信装置およびデータ伝送方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明を送信装置としての観点から観ると、本発明は、受信装置にデータを送信する送信装置において、前記データを符号化してソースシンボルを生成する手段と、前記ソースシンボルから冗長シンボルを生成する手段と、前記ソースシンボルおよび前記冗長シンボルまたは前記冗長シンボルを送出する手段と、前記受信装置からのフィードバック情報を受信する手段とを備え、前記受信装置により前記ソースシンボルの再生成が完了したことを通知する完了通知を前記フィードバック情報として受信したときには前記送出する手段を停止することを特徴とする。
【００１５】
また、本発明を受信装置としての観点から観ると、本発明は、前記本発明の送信装置に対向する受信装置であって、受信した前記ソースシンボルおよび前記冗長シンボルまたは前記冗長シンボルを復号化して前記ソースシンボルを再生成する手段と、前記ソースシンボルの再生成が完了した時点で完了通知を生成する手段と、前記完了通知を前記送信装置に前記フィードバック情報として通知する手段とを備えたことを特徴とする。
【００１６】
これによれば、受信装置側でソースシンボルの再生成が完了した後もなお送信装置側から冗長シンボルを送出することを回避でき、受信装置において再生成が完了しない可能性を無くし、さらに帯域の利用効率向上と送受信装置における冗長シンボル生成または復号の際の演算量の低減を実現することができる。
【００１７】
あるいは、本発明の送信装置は、前記データを符号化してソースシンボルを生成する手段と、前記ソースシンボルから冗長シンボルを生成する手段と、前記ソースシンボルおよび前記冗長シンボルまたは前記冗長シンボルを送出する手段と、前記受信装置からのフィードバック情報を受信する手段とを備え、前記受信装置により前記ソースシンボルの中で、前記ソースシンボルの一部または全部の再生成が完了したことを通知する部分完了通知を前記フィードバック情報として受信したときには、前記部分完了通知により再生成が完了した前記ソースシンボルの一部または全部を除く残りの前記ソースシンボルに重み付けを行い、この重み付けに基づき前記ソースシンボルを選択する手段と、この選択する手段により選択された前記ソースシンボルから前記冗長シンボルを生成する手段と、前記残りのソースシンボルおよびこの生成する手段により生成された前記冗長シンボルまたはこの生成する手段により生成された前記冗長シンボルの送出を継続する手段とを備えたことを特徴とする。
【００１８】
また、前記部分完了通知には、前記ソースシンボルの全部の再生成が未完了である場合の通知も含み、その通知を受信したときには全てのソースシンボルに重み付けを行う手段を備えることができる。
【００１９】
この場合の本発明の受信装置は、受信した前記ソースシンボルおよび前記冗長シンボルまたは前記冗長シンボルを復号化して前記ソースシンボルを再生成する手段と、前記ソースシンボルの中で、再生成が完了した前記ソースシンボルの一部または全部の再生が完了したことを通知する部分完了通知を生成する手段と、前記部分完了通知を前記送信装置に前記フィードバック情報として通知する手段とを備えたことを特徴とする。
【００２０】
また、前記部分完了通知には、前記ソースシンボルの全ての再生成が未完了である場合の通知も含むことができる。
【００２１】
あるいは、本発明の送信装置は、前記データを符号化してソースシンボルを生成する手段と、前記ソースシンボルから冗長シンボルを生成する手段と、前記ソースシンボルおよび前記冗長シンボルまたは前記冗長シンボルを送出する手段と、前記受信装置からのフィードバック情報を受信する手段とを備え、前記受信装置により前記ソースシンボルの再生成が完了していない前記ソースシンボルに対する未完了通知を前記フィードバック情報として受信したときには、前記未完了通知により再生成が未完了の前記ソースシンボルを選択する手段と、この選択する手段により選択された前記ソースシンボルから前記冗長シンボルを生成する手段と、前記再生成が未完了のソースシンボルおよびこの生成する手段により生成された前記冗長シンボルまたはこの生成する手段により生成された前記冗長シンボルの送出を継続する手段とを備えたことを特徴とする。
【００２２】
また、この場合の受信装置は、受信した前記ソースシンボルおよび前記冗長シンボルまたは前記冗長シンボルを復号化して前記ソースシンボルを再生成する手段と、前記ソースシンボルの再生成が完了していない前記ソースシンボルに対して未完了通知を生成する手段と、前記未完了通知を前記送信装置に前記フィードバック情報として通知する手段とを備えたことを特徴とする。
【００２３】
これによれば、受信装置側でソースシンボルの再生成が完了した部分のソースシンボルについては送信装置側から冗長シンボルを送出することを回避でき、受信装置において再生成が完了しない可能性を無くし、さらに帯域の利用効率向上と送受信装置における冗長シンボル生成または復号の際の演算量の低減を実現することができる。
【００２４】
例えば、本発明の受信装置は、前記再生成する手段により再生成できた前記ソースシンボルの数または再生成できていない前記ソースシンボルの数または再生成できた前記ソースシンボルの全ソースシンボルに対する割合または再生成できていない前記ソースシンボルの全ソースシンボルに対する割合またはそれらのいずれか二つ以上を組み合わせた指標を算出する手段と、前記指標を用いてフィードバック情報送出の開始または終了を決定する手段とを備える。これにより、フィードバック情報送出の開始または終了のタイミングを的確に決定することができる。
【００２５】
あるいは、本発明の受信装置は、前記再生成する手段により再生成できた前記ソースシンボルの数または再生成できていない前記ソースシンボルの数または再生成できた前記ソースシンボルの全ソースシンボルに対する割合または再生成できていない前記ソースシンボルの全ソースシンボルに対する割合またはそれらのいずれか二つ以上を組み合わせた指標を算出する手段と、前記指標を用いてフィードバック情報の内容を変更する手段とを備えることができる。これにより、フィードバック情報の内容を的確に変更することができる。
【００２６】
また、本発明をデータ伝送方法としての観点から観ると、本発明は、送信装置から受信装置に対してデータを伝送する際に前記送信装置および前記受信装置が実行するデータ伝送方法において、前記送信装置が、前記データを符号化してソースシンボルを生成するステップと、前記ソースシンボルから冗長シンボルを生成するステップと、前記ソースシンボルおよび前記冗長シンボルまたは前記冗長シンボルを送出するステップと、前記受信装置からのフィードバック情報を受信するステップとを実行することを特徴とする。
【００２７】
また、本発明をプログラムとしての観点から観ると、本発明は、情報処理装置にインストールすることにより、その情報処理装置に、本発明の送信装置または受信装置の機能に相応する機能を実現させるプログラムである。
【発明の効果】
【００２８】
本発明によれば、従来のパケットロス率推定を用いた冗長パケット設定手法で発生し得る、受信装置において再生成が完了しない可能性を無くし、さらに帯域の利用効率向上と送受信装置における冗長シンボル生成または復号の際の演算量の低減が実現される。
【発明を実施するための最良の形態】
【００２９】
（概要）
本発明の実施形態では、データを完全に消失無く伝送する場合に、消失パケットロス回復としてＡＲＱではなく消失訂正符号を用い、さらに従来の消失訂正符号の問題点を解消するため、フィードバック情報との連携を図る。
【００３０】
送信装置は、フィードバック情報を利用して用意した多量の冗長パケットを送出し、受信装置は冗長パケットを受信しつつ再生成を行い、再生成状況に応じてフィードバック情報を送る。
【００３１】
パケットロス率が大きい場合には冗長パケットの不足によって再生成不可能に陥ることを防ぎ、また、パケットロス率が小さい場合には、不必要に冗長パケットを送出してネットワーク資源を消費することを防ぐことができる。
【００３２】
以下の実施形態および図中では、伝送するべき元のファイルを“元ファイル”と表記し、これを一定のサイズに分割したものを“ソースシンボル”、“Ｅｒａｓｕｒｅ  Ｃｏｌｌｅｃｔｉｏｎ  Ｃｏｄｅ”に従って生成した冗長データを“冗長シンボル”と表記する。
【００３３】
（基本的な実施形態）
基本的な実施形態を図１および図２を参照して説明する。なお、基本的な実施形態は、以下で説明する全ての実施形態に共通する実施形態である。
【００３４】
図１は、元ファイルを送信する送信装置Ａとそれを受信する受信装置Ｂとを示す図である。送信装置Ａと受信装置ＢとがネットワークＮを介して接続されている状態を示している。このとき、送信装置Ａは元ファイルを分割しソースシンボルを生成し、さらにＥｒａｓｕｒｅ  Ｃｏｌｌｅｃｔｉｏｎ  Ｃｏｄｅを用いて冗長シンボルを生成し、ソースシンボルおよび冗長シンボルまたは冗長シンボルを受信装置ＢにデータストリームＤとして送出する。このとき、受信装置Ｂは符号化や復号化の効率化のためのフィードバック情報Ｆを送信装置Ａに送出する。
【００３５】
図２は、以下全ての実施形態に共通する送信装置Ａおよび受信装置Ｂのブロック構成図である。図２の通信路Ｐは、例えば図１に示すネットワークＮである。
【００３６】
以下全ての実施形態における送信装置Ａは、データを符号化してソースシンボルを生成する手段と、ソースシンボルから冗長シンボルを生成する手段と、ソースシンボルおよび冗長シンボルまたは冗長シンボルを送出する手段とを送信シンボル生成部Ａ１に備え、受信装置Ｂからのフィードバック情報を受信する手段としてのフィードバック受信・解析部Ａ２を備える。
【００３７】
また、以下全ての実施形態における受信装置Ｂは、受信したソースシンボルおよび冗長シンボルまたは冗長シンボルを復号化してソースシンボルを再生成する手段としてのシンボル受信再生成部Ｂ１を備える。
【００３８】
（第一の実施形態）
第一の実施形態を図２および図３を参照して説明する。第一の実施形態では、送信シンボル生成部Ａ１は、フィードバック受信・解析部Ａ２が受信装置Ｂによりソースシンボルの再生成が完了したことを通知する完了通知をフィードバック情報として受信したときには送出する手段を停止する。
【００３９】
また、第一の実施形態では、ソースシンボルの再生成が完了した時点で完了通知を生成する手段と、完了通知を送信装置Ａにフィードバック情報として通知する手段とをフィードバック生成部Ｂ２に備える。
【００４０】
次に、第一の実施形態における送信装置Ａおよび受信装置Ｂの動作を図３のフローチャートを参照して説明する。図３は、第一の実施形態における送信装置Ａおよび受信装置Ｂの動作を示すフローチャートである。
【００４１】
送信装置Ａは、伝送を開始すると（ステップＴ１）、受信装置Ｂからの再生成完了通知を受信するまで、ソースシンボルから冗長シンボルを生成し（ステップＴ２）、冗長シンボルあるいはソースシンボルと冗長シンボルを送出し続ける（ステップＴ３）。
【００４２】
一方、受信装置Ｂは、受信を開始すると（ステップＲ１）、送信装置Ａから送られて来るソースシンボルおよび冗長シンボルまたは冗長シンボルを受信しつつ（ステップＲ２）、再生成処理を行い（ステップＲ３）、全てのソースシンボルを再生成し（ステップＲ４）、元ファイルを得る。
【００４３】
全てのソースシンボルを再生成し元ファイルを得られた時点で（ステップＲ４のＹｅｓ）、送信装置Ａに対して再生成完了通知を送出し（ステップＲ５）、受信を終了する（ステップＲ６）。
【００４４】
送信装置Ａは再生成完了通知を受信したときに（ステップＴ４のＹｅｓ）、冗長シンボルの生成と送出とを終了する（ステップＴ５）。
【００４５】
（第二の実施形態）
第二の実施形態を図２および図４を参照して説明する。図４は、第二の実施形態の動作を説明するための概念図である。
【００４６】
第二の実施形態における送信装置Ａの送信シンボル生成部Ａ１は、受信装置Ｂによりソースシンボルの中で、ソースシンボルの一部または全部の再生成が完了したことを通知する部分完了通知を前記フィードバック情報として受信したときには、部分完了通知により再生成が完了したソースシンボルの一部または全部を除く残りのソースシンボルに重み付けを行い、この重み付けに基づきソースシンボルを選択する手段と、この選択する手段により選択されたソースシンボルから冗長シンボルを生成する手段と、残りのソースシンボルおよびこの生成する手段により生成された冗長シンボルまたはこの生成する手段により生成された冗長シンボルの送出を継続する手段とを備える。
【００４７】
また、第二の実施形態における受信装置Ｂは、ソースシンボルの中で、再生成が完了したソースシンボルの一部または全部の再生が完了したことを通知する部分完了通知を生成する手段と、部分完了通知を送信装置Ａにフィードバック情報として通知する手段とをフィードバック生成部Ｂ２に備える。
【００４８】
図４では、送信装置Ａが元ファイルＳを分割し、ソースシンボルＳ１〜ＳＮを生成し、符号化を行うことで冗長シンボルＥ１〜ＥＭを生成し、それらを送出している。また、受信装置Ｂは送信装置Ａから送られるソースシンボルおよび冗長シンボルまたは冗長シンボルであるデータストリームＤを受信しつつ、ソースシンボルの再生成を行っている。
【００４９】
受信装置Ｂにおいて再生成が完了したソースシンボルＳ１’およびＳ３’は、既に正しく再生成できているため、このソースシンボルが再生成済みであることを送信装置Ａにフィードバック情報Ｆａとして通知する。また、これにより送信装置Ａは、受信装置Ｂが既に再生成したソースシンボルＳ１’およびＳ３’を知ることができる。
【００５０】
送信装置Ａにおいて、受信装置Ｂが受信した各ソースシンボルＳ１’およびＳ３’をテーブルＣに記憶しておき、これを用いて冗長シンボル生成時のソースシンボル選択に利用する。
【００５１】
具体的には、冗長シンボル生成の際に利用するソースシンボル選択において、受信装置Ｂが既に取得したソースシンボルを選択せず、それ以外のソースシンボルからのみ冗長シンボルを生成することで、受信装置Ｂが既に取得しているソースシンボルに関する情報を余分に取得することや余分な再生成演算量の増加を防ぐ手法や、受信装置Ｂが取得していないソースシンボルを、重み付けなどを用いて冗長シンボル生成時に優先的に選択することで、受信装置Ｂでの再生成を円滑に進める手法がある。
【００５２】
なお、部分完了通知には、ソースシンボルの全部の再生成が未完了である場合の通知も含み、その通知を受信したときには全てのソースシンボルに重み付けを行う。
【００５３】
（第三の実施形態）
第三の実施形態を図２および図５を参照して説明する。図５は、第三の実施形態の動作を説明するための概念図である。
【００５４】
第三の実施形態における送信装置Ａの送信シンボル生成部Ａ１は、受信装置Ｂによりソースシンボルの再生成が完了していないソースシンボルに対する未完了通知をフィードバック情報として受信したときには、未完了通知により再生成が未完了のソースシンボルを選択する手段と、この選択する手段により選択されたソースシンボルから冗長シンボルを生成する手段と、残りのソースシンボルおよびこの生成する手段により生成された冗長シンボルまたはこの生成する手段により生成された冗長シンボルの送出を継続する手段とを備える。
【００５５】
また、第三の実施形態における受信装置Ｂは、ソースシンボルの再生成が完了していないソースシンボルに対して未完了通知を生成する手段と、未完了通知を送信装置にフィードバック情報として通知する手段とをフィードバック生成部Ｂ２に備える。
【００５６】
図５では、図４と同様に、送信装置Ａが元ファイルＳを分割しソースシンボルＳ１〜ＳＮを生成し、符号化を行うことで冗長シンボルＥ１〜ＥＭを生成し、それらを送出している。
【００５７】
また、受信装置Ｂは送信装置Ａから送られる冗長シンボルあるいはソースシンボルと冗長シンボルとを受信しつつ、ソースシンボルの再生成を行っている。
【００５８】
受信装置Ｂにおいて再生成が完了していないソースシンボルＳ１’およびＳ３’を除くソースシンボルはまだ再生成できていないため、このソースシンボルが再生成できていないことを送信装置Ａにフィードバック情報Ｆｂとして通知する。
【００５９】
また、これにより送信装置Ａは受信装置Ｂが再生成できていないソースシンボルを知ることができる。送信装置Ａは、ソースシンボルおよび冗長シンボルまたは冗長シンボルの送信に加え、この受信装置Ｂから通知されたソースシンボルそのものをデータストリームＤｂとして送信する。
【００６０】
（第四の実施形態）
第四の実施形態を図６および図７を参照して説明する。図６は、第四の実施形態におけるフィードバック生成部Ｂ２の動作を説明するための概念図である。
【００６１】
第四の実施形態のフィードバック生成部Ｂ２は、シンボル受信再生成部Ｂ１により再生成できたソースシンボルの数または再生成できていないソースシンボルの数または再生成できたソースシンボルの全ソースシンボルに対する割合または再生成できていないソースシンボルの全ソースシンボルに対する割合またはそれらのいずれか二つ以上を組み合わせた指標Ｉを算出する手段と、指標Ｉを用いてフィードバック情報送出の開始または終了を決定する手段とを備える。
【００６２】
あるいは、第四の実施形態のフィードバック生成部Ｂ２は、シンボル受信再生成部Ｂ１により再生成できたソースシンボルの数または再生成できていないソースシンボルの数または再生成できたソースシンボルの全ソースシンボルに対する割合または再生成できていないソースシンボルの全ソースシンボルに対する割合またはそれらのいずれか二つ以上を組み合わせた指標Ｉを算出する手段と、指標Ｉを用いてフィードバック情報の内容を変更する手段とを備える。
【００６３】
図６では受信装置Ｂにおいて、送信装置Ａから送られるソースシンボルおよび冗長シンボルまたは冗長シンボルＥ２’〜ＥＭ’を受信しつつ、ソースシンボルＳ１’、Ｓ３’の再生成を行っている。また、フィードバック情報生成送信部Ｇによりフィードバック情報Ｆを生成して送信装置Ａに送信している。
【００６４】
このとき受信装置Ｂが取得したソースシンボルもしくは再生成できていないソースシンボルの数もしくは再生成すべき全ソースシンボルに対する割合から、生成するフィードバック情報に関する指標Ｉとなる値を算出する。その算出された指標Ｉを用いてフィードバック情報の送信開始および終了を決定する。
【００６５】
また、その指標Ｉを用いて送信装置Ａに通知するフィードバック情報に、第二の実施形態に示した再生成済みソースシンボルまたは第三の実施形態に示した再生成できていないソースシンボルのいずれかもしくは両方を用いるかを決定する。
【００６６】
送信装置Ａが送信を開始し始めた段階においては、受信装置Ｂでは、再生成できていないソースシンボルが殆どであるため、再生成済みソースシンボルをそれが生成され次第、送信装置Ａに通知を開始する。
【００６７】
一方、受信装置Ｂにおいて多くのソースシンボルが得られている段階では、再生成できていないソースシンボルを取得し、再生成を進めた方が効率的であるため、主に再生成できていないソースシンボルを通知する。この再生成できていないソースシンボルの通知開始を、算出した「再生成したソースシンボルまたは再生成できていないソースシンボルの数または再生成すべき全ソースシンボルに対する割合」を用いて決定する。このフィードバック情報の送信は受信装置Ｂにおける全ソースシンボルの再生成完了と共に終了する。
【００６８】
図７を用いて送信装置Ａおよび受信装置Ｂの動作を説明する。図７は、送信装置Ａおよび受信装置Ｂの動作を示すフローチャートである。受信装置Ｂは、受信を開始し（ステップＮ１）、ソースシンボルおよび冗長シンボルまたは冗長シンボルを受信して（ステップＮ２）、再生成演算（ステップＮ３）の後に、再生成できたソースシンボルの数または再生成できていないソースシンボルの数または再生成できたソースシンボルの全ソースシンボルに対する割合または再生成できていないソースシンボルの全ソースシンボルに対する割合またはそれらのいずれか二つ以上を組み合わせた指標Ｉを算出する（ステップＮ４）。それを基に送信するフィードバック情報を決定し送信する（ステップＮ５）。指標Ｉが、予め定められたフィードバック情報の送信を終了する値になったらフィードバック情報の送信を終了する（ステップＮ６）。
【００６９】
なお、前述したように、送信するフィードバック情報については、送信開始時は再生成済みソースシンボルの通知を選択し、指標Ｉがある閾値を越えたときに再生成できていないソースシンボルの通知を選択する手法などが挙げられる。
【００７０】
このときに、送信装置Ａは、伝送を開始すると（ステップＭ１）、受信装置Ｂからのフィードバック情報に基づき、ソースシンボルから冗長シンボルを生成し（ステップＭ２）、ソースシンボルおよび冗長シンボルまたは冗長シンボルを送出し続ける（ステップＭ３）。また、受信装置Ｂからのフィードバック情報に基づき、ソースシンボルおよび冗長シンボルまたは冗長シンボルの送信を終了すると判断したときには（ステップＭ４のＹｅｓ）、これらの送信を終了する（ステップＭ５）。
【００７１】
（プログラムの実施例）
情報処理装置にインストールすることにより、その情報処理装置に、本実施形態の送信装置Ａおよび受信装置Ｂの機能に相応する機能を実現させるプログラムの実施例を説明する。
【００７２】
本実施例のプログラムは記録媒体に記録されることにより、情報処理装置は、この記録媒体を用いて本実施例のプログラムをインストールすることができる。あるいは、本実施例のプログラムを保持するサーバからネットワークを介して直接情報処理装置に本実施例のプログラムをインストールすることもできる。
【００７３】
これにより、情報処理装置を用いて、本実施形態の送信装置Ａの送信シンボル生成部Ａ１、フィードバック受信・解析部Ａ２および受信装置Ｂのシンボル受信再生成部Ｂ１、フィードバック生成部Ｂ２の機能に相応する機能を実現することができる。
【００７４】
なお、本実施例のプログラムは、情報処理装置によって直接実行可能なものだけでなく、ハードディスクなどにインストールすることによって実行可能となるものも含む。また、圧縮されたり、暗号化されたりしたものも含む。
【００７５】
（効果の説明）
第一の実施形態は、受信装置Ｂにおいて再生成が完了しない可能性を無くし、帯域の利用効率向上の効果を有する。第二〜第四の実施形態は、受信装置Ｂが既に取得済みのソースシンボルに関する情報を通知し、帯域を消費することを無くし、受信装置Ｂが取得していないソースシンボルに関する情報を優先的に通知することで再生成演算を効率的に実行させることが可能である。
【００７６】
そのため、帯域の利用効率向上と送受信装置における冗長シンボルの生成または復号の際の演算量の低減の効果を有する。
【産業上の利用可能性】
【００７７】
本発明によれば、伝送品質の向上と帯域の利用効率向上と送受信装置における冗長シンボル生成または復号の際の演算量の低減とに利用することができる。
【図面の簡単な説明】
【００７８】
【図１】元ファイルを送信する送信装置とそれを受信する受信装置とを示す図である。
【図２】全実施形態に共通する送信装置および受信装置のブロック構成図である。
【図３】第一の実施形態における送信装置および受信装置の動作を示すフローチャートである。
【図４】第二の実施形態の動作を説明するための概念図である。
【図５】第三の実施形態の動作を説明するための概念図である。
【図６】第四の実施形態におけるフィードバック生成部の動作を説明するための概念図である。
【図７】第四の実施形態における送信装置および受信装置の動作を示すフローチャートである。
【符号の説明】
【００７９】
Ａ  送信装置
Ａ１  送信シンボル生成部
Ａ２  フィードバック受信・解析部
Ｂ  受信装置
Ｂ１  シンボル受信再生成部
Ｂ２  フィードバック生成部
Ｃ  テーブル
Ｄ  データストリーム
Ｅ１〜ＥＭ、Ｅ２’〜ＥＭ’  冗長シンボル
Ｆ、Ｆａ、Ｆｂ  フィードバック
Ｇ  フィードバック情報生成送信部
Ｉ  指標
Ｎ  ネットワーク
Ｐ  通信路
Ｓ  元ファイル
Ｓ１〜ＳＮ、Ｓ１’、Ｓ３’  ソースシンボル
【図１】
2009152864.tif 000003
【図２】
2009152864.tif 000004
【図３】
2009152864.tif 000005
【図４】
2009152864.tif 000006
【図５】
2009152864.tif 000007
【図６】
2009152864.tif 000008
【図７】
2009152864.tif 000009