先ず、本発明に係る通信システム、送信装置及び受信装置を具体的に開示した各実施形態を説明する前に、各実施形態の内容に至る経緯について、図1を参照して説明する。図1は、映像データにAL−FECを施して伝送する場合の従来技術における課題の説明図である。以下の説明において、AL−FECとは、アプリケーション層(レイヤ7)において、誤り訂正符号化の一例としてFEC処理を行うことを示す。
先ず、送信側は、アプリケーション層において送信対象のデータ(例えば映像データ。以下同様。)を符号化する例として、映像データのkパケットを符号化(例えばFEC(Forward Error Correction)してn(n=k+m、n、k、mはいずれも1以上の整数)個の符号化パケットを生成して送信する。受信側は、nパケット中の任意のk’(k’:kと同一の値又はkよりわずかに大きい値)個のパケットを正常に受信できた場合に(つまり、パケットロスや受信エラーがない場合に)、元の映像データを正しく復元できる。このような誤り訂正符号化の処理において用いられる符号には、例えばRaptor符号が知られている。以下、説明を簡単にするために、アプリケーション層におけるデータの誤り訂正符号の一例としてRaptor符号を用いるが、Raptor符号に限定されない。
図1の最上段には送信側からの映像データの送信に関するタイムチャートが示され、上から2段目及び3段目にはアプリケーション層において誤り訂正符号化が施されたデータ(以下、「AL−FEC化データ」という)及びパケット(符号化パケット)の送信に関するタイムチャートがそれぞれ示され、下から2段目には受信側における受信データ(符号化パケット)の受信に関するタイムチャートが示され、最下段は受信側においてAL−FEC化データが復号された映像データ(再生データ)の再生に関するタイムチャートが示されている。
以下、送信側と受信側との間の通信形態として無線通信を用いて説明し、説明を簡単にするために、k=100、m=100、n=200、k’=105とする。つまり、無線通信における通信伝送路の状況は時間的に変動するので、高画質な映像データの通信を行うためにはkの値に対してnの値を大きく設定する必要があるためである。
図1において、映像データの伝送レートは10Mbps(つまり、100msに1000000ビットを伝送する)であり、AL−FEC化データの伝送レートは20Mbpsとなるので、送信側からは100msの間に200個のパケット(つまり、AL−FEC符号データを含むパケット(以下、「符号化パケット」という))が送信される。受信側では100msの間に200個の符号化パケットが受信されるが、この200個の符号化パケットには正常に受信された符号化パケットに加えて、パケット損失(LOSS)やパケットエラー(ERROR)となった符号化パケットも含まれる。
送信側でアプリケーション層における誤り訂正符号化にRaptor符号が使用された場合には、受信側は、正常に受信できた符号化パケットがk’個以上であれば、殆ど100%に近い確率で正しい符号化パケットを復号できるので100個のパケットに対応する映像データを正しく再生できる。一方、受信側は、正常に受信できた符号化パケットが(k’−1)個以下であれば、符号化パケットを正しく復号できないので100個のパケットに対応する映像データを正しく再生できない。つまり、映像が乱れて再生されてしまう等の映像データの品質劣化が伴う。
ところが、送信側と受信側との間の通信伝送路の状況が良好で符号化パケットの正常受信率がk'/nよりもかなり高い場合には、送信側からn(例えば200)個全ての符号化パケットが送信されてから次の200個の符号化パケットが送信されると、送信側からの符号化パケットの送信量が過剰に増大することになり、通信伝送路における符号化パケットの送信量が無用に増大する点において効率的ではないという課題があった。
そこで、以下の各実施形態では、送信装置と受信装置との間の通信伝送路の状況に応じて、リアルタイム性が要求されるアプリケーションにより誤り訂正符号化が施されたパケットの送信量を制御し、通信伝送路におけるパケット送信量の増大を抑制する通信システム、送信装置及び受信装置の例について説明する。
(第1の実施形態)
第1の実施形態では、1個の送信端末から1個の受信端末にデータの符号化パケットを送信するユニキャスト通信に適用した通信システムの例を説明する。より具体的に言うと、本実施形態の通信システムでは、送信端末は、例えばリアルタイム性が要求されるアプリケーションにおいて、送信対象の映像データのk(例えば100)個分のパケット(データパケット)を符号化(AL−FEC符号化)によりn(例えば200)個の符号化パケットを生成し、符号化パケットの送信指示に応じて、符号化パケットを順次、受信端末に送信する。受信端末は、送信端末から送信された符号化パケットを受信し、符号化パケットの復号が可能となる第1条件(詳細は後述参照)を満たす場合には、符号化パケットの送信中断を要求するための返信パケットを送信端末に送信する。送信端末は、返信パケットを受信した場合に、符号化パケットの送信中断を判定し、符号化パケットの送信を中断する。
次に、本実施形態の通信システム50の詳細について、具体的に説明する。
図2は、第1の実施形態の通信システム50における送信端末10及び受信端末20の内部構成の一例を示すブロック図である。本実施形態の通信システム50では、1個の送信端末10と1個の受信端末20との間のユニキャスト通信を例示して説明する。送信端末10、受信端末20は、ネットワークを介して接続された通信機器であり、例えばPC(Personal Computer)、携帯電話機、スマートフォン、タブレット端末であり、以下の各実施形態でも同様である。ネットワークは、無線通信によるネットワーク(例えばLTE(Long Term Evolution)、3G、HSPA(High Speed Packet Access)、Wi−fi(登録商標)、Bluetooth(登録商標))としてもよいし、有線通信によるネットワーク(例えばイーサネット(登録商標))でもよく、以下の各実施形態でも同様である。
図2に示す送信端末10は、映像データパケット生成部11と、AL−FEC符号化部12と、パケット送信部13と、返信パケット受信部14と、D送信中断信号受信判定部15とを含む構成である。送信端末10は、図2に示す各部の構成にのみ限定されない。また、映像データパケット生成部11と、AL−FEC符号化部12と、D送信中断信号受信判定部15とは、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)又はDSP(Digital Signal Processor)を用いて構成される。
パケット生成部の一例としての映像データパケット生成部11は、送信対象のデータ(例えば映像データ)が映像コーデック(不図示)から入力され、映像データのパケット(映像データパケット)をk個生成してAL−FEC符号化部12に送る。以下、kを例えば100として説明する。
符号化部の一例としてのAL−FEC符号化部12は、アプリケーション層において、Raptor符号を用いて、映像データパケット生成部11から受けたk個の映像データパケットを誤り訂正符号化することにより、n(>k)個の符号化パケットを生成してパケット送信部13に送る。このため、受信端末20は、n個の符号化パケットを受信する前に、kより少し大きいk’(<n)個の符号化パケットを正常に受信できれば、k’個の符号化パケットからk個の映像データのパケットを復号できる。以下、nを例えば200として説明する。言い換えると、上述した第1条件は、送信端末10により生成された200個の符号化パケットが送信される前に、200(=n)個のうち100(=k)より少し大きい105(=k’)個の符号化パケットが受信端末20において正常に受信できたことを示す。
第1送信部の一例としてのパケット送信部13は、D送信中断信号受信判定部15からD(データ)送信指示信号を受ける間、AL−FEC符号化部12から受けた符号化パケットを順次、送信する。一方、パケット送信部13は、D送信中断信号受信判定部15から符号化パケットのD送信中断信号を受けた時、AL−FEC符号化部12から受けた符号化パケットの送信を中断する。
返信パケット受信部14は、受信端末20から送信された返信パケット(後述参照)を受信した場合に、返信パケットをD送信中断信号受信判定部15に送る。
送信制御部の一例としてのD送信中断信号受信判定部15は、AL−FEC符号化部12により生成された符号化パケットの受信端末20への送信又は送信中断をパケット送信部13に指示する。D送信中断信号受信判定部15は、受信端末20から符号化パケットの送信中断を要求するための返信パケットを返信パケット受信部14から受信した場合には、D送信中断信号を生成してパケット送信部13に送り、符号化パケットの送信を中断させる。一方、D送信中断信号受信判定部15は、受信端末20から符号化パケットの送信中断を要求するための返信パケットを返信パケット受信部14から受信しない場合には、符号化パケットを送信させるためのD送信指示信号を生成してパケット送信部13に送り、符号化パケットを送信させる。
図2に示す受信端末20は、パケット受信部21と、受信パケットバッファ22と、パケット正常受信判定部23と、正常受信カウンタ更新部24と、D送信中断信号送信判定部25と、AL−FEC復号部26と、映像データ出力部27と、返信パケット生成部28と、返信パケット送信部29とを含む構成である。受信端末20は、図2に示す各部の構成にのみ限定されない。また、パケット正常受信判定部23と、正常受信カウンタ更新部24と、D送信中断信号送信判定部25と、AL−FEC復号部26と、映像データ出力部27と、返信パケット生成部28とは、例えばCPU、MPU又はDSPを用いて構成される。
受信部の一例としてのパケット受信部21は、送信端末10から送信された映像データの符号化パケット(つまり、アプリケーション層において誤り訂正符号化された映像データのパケット)を受信した場合には、符号化パケットを受信パケットバッファ22に保存し、更に、パケット正常受信判定部23に送る。
受信パケットバッファ22は、例えばRAM(Random Access Memory)を用いて構成され、パケット受信部21により受信された符号化パケットを一時的に保存する。受信パケットバッファ22に保存された符号化パケットは、AL−FEC復号部26における復号の際にAL−FEC復号部26により読み出される。
パケット正常受信判定部23は、パケット受信部21から受けた符号化パケットが正常に受信されたか否かを判定する。例えば、パケット正常受信判定部23は、符号化パケットが所定時間以内にパケット受信部21において受信されていない場合には符号化パケットが受信端末20に届いていないためにパケット損失(LOSS)が発生したと判定する。また、パケット正常受信判定部23は、例えば符号化パケットのCRC(Cyclic Redundancy Check)を用いたチェック(例えばCRCコードの計算値の一致又は不一致の判断。以下同様。)によりパケット受信部21から受けた符号化パケットに受信エラー(ERROR)が発生したと判定する。更に、パケット正常受信判定部23は、例えば符号化パケットが所定時間以内にパケット受信部21において受信され、かつ符号化パケットのCRCを用いたチェックに異常が無い場合には、パケット受信部21から受けた符号化パケットは正常に受信されたと判定する。パケット正常受信判定部23は、符号化パケットの受信に関する判定結果を正常受信カウンタ更新部24に送る。
カウンタ部の一例としての正常受信カウンタ更新部24は、パケット正常受信判定部23からの符号化パケットの受信に関する判定結果を基に、パケット受信部21が受信した符号化パケットが正常に受信されたことを示すカウンタ値POKを更新し、カウンタ値POKの最新値をD送信中断信号送信判定部25に通知する。なお、パケット受信部21が符号化パケットを正常に受信できなかったことを示すカウンタ値をPNGとする。このため、正常受信カウンタ更新部24は、パケット受信部21が符号化パケットを正常に受信できなかったことを示すカウンタ値PNGも更新し、カウンタ値PNGの最新値をD送信中断信号送信判定部25に通知してもよい。
受信制御部の一例としてのD送信中断信号送信判定部25は、上述した第1条件を満たした時(つまり、正常受信カウンタ更新部24から通知されたカウンタ値POKが105(=k’)に達した時)、105(=k’)個の符号化パケットを用いた100(=k)個の映像データのパケットへの復号が可能となるので、AL−FEC復号処理開始信号をAL−FEC復号部26に送り、更に、符号化パケットの送信中断を要求するための返信パケットの生成を返信パケット生成部28に指示する。
復号部の一例としてのAL−FEC復号部26は、OSI参照モデルのアプリケーション層(レイヤ7)において、D送信中断信号送信判定部25からのAL−FEC復号処理開始信号を受けると、105(=k’)個の符号化パケットを受信パケットバッファ22から読み出してAL−FEC復号を行い、復号により得られた100(=k)個の映像データのパケットを映像データ出力部27に送る。
映像データ出力部27は、AL−FEC復号部26から受けた100(=k)個の映像データのパケットから映像データを取り出して映像コーデック(不図示)に出力する。この後、映像コーデックから映像データがディスプレイ(不図示)に出力される。
返信パケット生成部28は、D送信中断信号送信判定部25からの指示に応じて、符号化パケットの送信中断を要求するための返信パケットを生成して返信パケット送信部29に送る。
第2送信部の一例としての返信パケット送信部29は、符号化パケットの送信中断を要求するための返信パケットを返信パケット生成部28から受けると、返信パケットを送信端末10に送信する。
次に、本実施形態の通信システム50における動作概要について、図3を参照して説明する。図3は、第1の実施形態の送信端末10及び受信端末20の動作概要の一例を示す説明図である。
図3の最上段にはパケット送信部13から送信される符号化パケットの送信に関するタイムチャートが示され、上から2段目にはD送信中断信号受信判定部15から受けるD送信中断信号の取得に関するタイムチャートが示され、上から3段目にはパケット受信部21における符号化パケットの受信に関するタイムチャートが示され、上から4段目には正常受信カウンタ更新部24におけるカウンタ値POKの更新に関するタイムチャートが示され、上から5段目にはD送信中断信号送信判定部25における返信パケットの送信の判定に関するタイムチャートが示され、最下段にはAL−FEC復号部26における映像データのパケット(データパケット)の復号に関するタイムチャートが示されている。
図3において、第1番目に送信された符号化パケットはパケット受信部21において正常に受信され、カウンタ値POKは1に更新され、第2番目に送信された符号化パケットはパケット受信部21において正常に受信されず、カウンタ値POKは1に維持され、第3番目に送信された符号化パケットはパケット受信部21において正常に受信され、カウンタ値POKは2に更新される。
同様に、第120番目に送信された符号化パケットはパケット受信部21において正常に受信され、カウンタ値POKは104に更新され、第121番目に送信された符号化パケットがパケット受信部21において正常に受信されたとする。この場合、カウンタ値POKは105(=k’)に更新され、D送信中断信号送信判定部25は、返信パケット(つまり、符号化パケットの送信中断を要求するためのパケット)の送信を返信パケット生成部28に指示する。これにより、受信端末20は、返信パケットを送信端末10に送信する。
送信端末10は、返信パケットの受信に応じて、D送信中断信号受信判定部15においてD送信中断信号をパケット送信部13に送り、符号化パケットの送信中断を行う。なお、受信端末20は、カウンタ値POKが105(=k’)に達したことで、105(=k’)個の符号化パケットを受信パケットバッファ22から読み出してAL−FEC復号を行う。これにより、受信端末20は、送信端末10により生成された200(=n)個全ての符号化パケットを受信することなく、その受信完了前に、100(=k)の個の映像データのパケットを正しく得ることができる。
次に、本実施形態の送信端末10の動作手順について、図4を参照して説明する。図4は、第1の実施形態の送信端末10の動作手順の一例を説明するフローチャートである。図4に示すフローチャートは、20Mbpsの伝送レート(言い換えると、送信端末10が例えば100msの間に2000000ビットの映像データの符号化パケットを送信する)である場合に(図1参照)、1回の100msにおける2000000ビット(200個)の符号化パケットを送信する処理に関する。
図4において、映像データパケット生成部11は、送信対象のデータ(例えば映像データ)のパケット(映像データパケット)をk個生成してAL−FEC符号化部12に送る。AL−FEC符号化部12は、アプリケーション層において、Raptor符号を用いて、映像データパケット生成部11から受けたk個の映像データパケットを誤り訂正符号化することにより、n(>k)個の符号化パケットを生成してパケット送信部13に送る(ST1)。
D送信中断信号受信判定部15は、パケット送信部13からの符号化パケットの送信序数を示すパラメータiを初期化し(ST2、i=1)、符号化パケットを送信させるためのD送信指示信号を生成してパケット送信部13に送り、符号化パケットを送信させる。パケット送信部13は、D送信中断信号受信判定部15からのD送信指示信号に応じて、第1番目(i=1)の符号化パケットを送信する(ST3)。
D送信中断信号受信判定部15は、パラメータi=n(例えば200)となった場合には(ST4、YES)、図4に示すフローチャートは終了し、次の100msにおける200個の符号化パケットの送信をパケット送信部13に指示する。
一方、D送信中断信号受信判定部15は、パラメータi=n(例えば200)となっていない場合には(ST4、NO)、受信端末20から返信パケットを受信したか否かを判定する(ST5)。
D送信中断信号受信判定部15は、返信パケットを受信していないと判定した場合には(ST5、NO)、パラメータiをインクリメントし(ST6)、符号化パケットを送信させるためのD送信指示信号を生成してパケット送信部13に送り、符号化パケットを送信させる。
一方、D送信中断信号受信判定部15は、返信パケットを受信したと判定した場合には(ST5、YES)、D送信中断信号を生成してパケット送信部13に送り、符号化パケットの送信を中断させる。
次に、本実施形態の受信端末20の動作手順について、図5を参照して説明する。図5は、第1の実施形態の受信端末20の動作手順の一例を説明するフローチャートである。図5に示すフローチャートは、20Mbpsの伝送レート(言い換えると、送信端末10が例えば100msの間に2000000ビットの映像データの符号化パケットを送信する)である場合に(図1参照)、1回の100msにおける2000000ビット(200個)の符号化パケットを受信する処理に関する。
図5において、D送信中断信号送信判定部25は、パケット送信部13からの符号化パケットの送信序数を示すパラメータiを初期化し(ST11、i=1)、更に、パケット受信部21が符号化パケットを正常に受信したことを示すカウンタ値POK、及びパケット受信部21が符号化パケットを正常に受信できなかったことを示すカウンタ値PNGをそれぞれゼロに設定する(ST11、POK=PNG=0)。なお図5では、第i番目に送信された符号化パケットを便宜的に「パケット#i」と示され、以下の各実施形態においても同様である。
パケット受信部21が所定時間内に符号化パケット(パケット#i)を受信した場合には(ST12、YES)、パケット正常受信判定部23は、受信された符号化パケット(パケット#i)を正常に受信できたか否かを判定し、判定結果を正常受信カウンタ更新部24に送る(ST13)。正常受信カウンタ更新部24は、符号化パケット(パケット#i)が正常に受信できたと判定された場合には(ST13、YES)、ステップST11において設定されたカウンタ値POKをインクリメントする(ST14)。一方、正常受信カウンタ更新部24は、符号化パケット(パケット#i)が正常に受信できなかったと判定された場合には(ST13、NO)、符号化パケットは受信エラー(例えばCRCチェックが不一致)となっているので、ステップST11において設定されたカウンタ値PNGをインクリメントする(ST15)。
一方、パケット受信部21が所定時間(例えば0.5ms(=100ms/200個))内に符号化パケット(パケット#i)を受信しなかった場合には(ST12、NO)、パケット正常受信判定部23は、符号化パケットが受信端末20に届いていないためにパケット損失(LOSS)が発生したと判定し、この判定結果を正常受信カウンタ更新部24に送る。正常受信カウンタ更新部24は、ステップST11において設定されたカウンタ値PNGをインクリメントする(ST16)。
D送信中断信号送信判定部25は、カウンタ値POKがk’(=105)以上となる場合には(ST17、YES)、この時点では受信端末20はk’個の符号化パケットを用いてk個の映像データのパケットをAL−FEC復号可能であり、これ以上の符号化パケットが送信端末10から送信されても不要となるため、符号化パケットの送信中断を要求するための返信パケットの送信を返信パケット生成部28に指示する。返信パケット生成部28は、D送信中断信号送信判定部25からの指示に応じて、符号化パケットの送信中断を要求するための返信パケットを生成して返信パケット送信部29に送る。返信パケット送信部29は、符号化パケットの送信中断を要求するための返信パケットを返信パケット生成部28から受けると、返信パケットを送信端末10に送信する(ST20)。また、D送信中断信号送信判定部25は、AL−FEC復号処理開始信号をAL−FEC復号部26に送る。AL−FEC復号部26は、アプリケーション層において、D送信中断信号送信判定部25からのAL−FEC復号処理開始信号を受けると、105(=k’)個の符号化パケットを受信パケットバッファ22から読み出してAL−FEC復号を行い、復号により得られた100(=k)個の映像データのパケットを映像データ出力部27に送る(ST21)。
一方、D送信中断信号送信判定部25は、カウンタ値POKがk’(=105)以上とならない(つまり、k’未満である)場合には(ST17、NO)、パラメータiが符号化パケットの最大送信数を示すn(=200)に一致していなければ(ST18、NO)、パラメータiをインクリメントする(ST19)。ステップST19の後、受信端末20の処理はステップST12に戻る。
一方、D送信中断信号送信判定部25は、カウンタ値POKがk’(=105)以上とならない(つまり、k’未満である)場合であって(ST17、NO)、パラメータiが符号化パケットの最大送信数を示すn(=200)に一致した場合には(ST18、YES)、AL−FEC復号処理開始信号をAL−FEC復号部26に送る。但し、この場合には、AL−FEC復号部26は、k’個未満の符号化パケットしか得られていないために、k個の映像データのパケットの復号を行うが(ST22)、正しく復号することはできない。従って、200個の符号化パケットが送信された100msの区間における映像データは受信端末20において乱れて出力されてしまう等の映像データの品質劣化が伴う。
以上により、本実施形態の通信システム50では、送信端末10は、例えばリアルタイム性が要求されるアプリケーションにおいて、送信対象の映像データのk(例えば100)個分のパケット(データパケット)を符号化(AL−FEC符号化)によりn(例えば200)個の符号化パケットを生成し、D送信中断信号受信判定部15からの符号化パケットの送信指示に応じて、符号化パケットを順次、受信端末20に送信する。受信端末20は、送信端末10から送信された符号化パケットを受信し、AL−FEC復号部26における符号化パケットの復号が可能となる第1条件(つまり、k’(例えば105)個の符号化パケットを正常に受信できたこと)を満たす場合には、符号化パケットの送信中断を要求するための返信パケットを送信端末10に送信する。送信端末10は、返信パケットを受信した場合に、D送信中断信号受信判定部15において符号化パケットの送信中断を判定し、符号化パケットの送信をパケット送信部13に中断させる。
これにより、通信システム50は、送信端末10と受信端末20とのユニキャスト通信の通信伝送路の状況に応じて、リアルタイム性が要求されるアプリケーションによりAL−FEC符号化が施されたパケットの送信量を制御できるので、通信伝送路におけるパケット送信量の増大を抑制できる。つまり、送信端末10は、n(例えば200)個の符号化パケットを全て送信する前に、符号化パケットの送信中断を要求するための返信パケットを受信端末20から受信した場合には、n個の符号化パケットを全て送信することなく符号化パケットの送信を中断するので、符号化パケットの送信量を低減でき、無線帯域を有効利用できる。
また、通信システム50では、受信端末20は、符号化パケットの正常受信数をカウントし、このカウント値がk(例えば100)より少し大きいk’(例えば105)になった場合には、受信端末20ではk’(例えば105)個の符号化パケットを用いてk(例えば100)個の映像データのパケットを正しく復号できるので、符号化パケットの送信中断を要求するための返信パケットを返信パケット送信部29から送信する。これにより、受信端末20は、例えばAL−FEC符号化においてRaptor符号が使用された場合には、送信端末10から送信される符号化パケットの送信量の増大を抑制できる。
また、通信システム50では、受信端末20は、正常に受信されたk’(例えば105)個の符号化パケットを用いたk(例えば100)の映像データのパケット(データパケット)への復号をAL−FEC復号部26に指示する。これにより、受信端末20は、正常に受信された符号化パケットの数がkより少し大きいk’個に達した場合に、k個の映像データのパケットを復号できるので、送信端末10により生成されたn(例えば200)個全ての符号化パケットを受信することがないので、受信端末20における復号の処理負荷を軽減でき、更に、映像データの出力までに要する時間を短縮でき、リアルタイム性が要求されるアプリケーションにおけるデータ出力に資することができる。
(第1の実施形態の変形例)
第1の実施形態の変形例(以下、「第1変形例」という)では、受信端末が符号化パケットを正常に受信できたことを示すカウンタ値POKが所定値(例えばk’)に達した場合に加えて、受信端末が符号化パケットを正常に受信できなかったことを示すカウンタ値PNGが所定値(例えばn−k’+1)に達した場合にも返信パケットを送信端末に送信する通信システム50Aの例を説明する。
図6は、第1の実施形態の変形例の通信システム50Aにおける送信端末10及び受信端末20Aの内部構成の一例を示すブロック図である。図6に示す送信端末10及び受信端末20Aの各部において、図2に示す送信端末10及び受信端末20の各部と同一の構成及び動作を行うものについては同一の符号を付与して説明を省略し、異なる内容について説明する。
図6に示す受信端末20Aは、パケット受信部21と、受信パケットバッファ22と、パケット正常受信判定部23と、パケットカウンタ更新部24Aと、D送信中断信号送信判定部25と、AL−FEC復号部26と、映像データ出力部27と、返信パケット生成部28と、返信パケット送信部29とを含む構成である。受信端末20Aは、図6に示す各部の構成にのみ限定されない。また、パケットカウンタ更新部24Aは、例えばCPU、MPU又はDSPを用いて構成される。
カウンタ部の一例としてのパケットカウンタ更新部24Aは、パケット正常受信判定部23からの符号化パケットの受信に関する判定結果を基に、パケット受信部21が受信した符号化パケットが正常に受信されたことを示すカウンタ値POK、及びパケット受信部21が符号化パケットを正常に受信できなかったことを示すカウンタ値PNGを更新し、各カウンタ値POK,PNGの最新値をD送信中断信号送信判定部25に通知する。
次に、第1変形例の受信端末20Aの動作手順について、図7を参照して説明する。図7は、第1の実施形態の変形例の受信端末20Aの動作手順の一例を説明するフローチャートである。図7に示すフローチャートは、20Mbpsの伝送レート(言い換えると、送信端末10が例えば100msの間に2000000ビットの映像データの符号化パケットを送信する)である場合に(図1参照)、1回の100msにおける2000000ビット(200個)の符号化パケットを受信する処理に関する。また、図7では、図5に示す各処理と同一の処理には同一のステップ番号を付与して説明を簡略化又は省略し、異なる内容について説明する。
図7において、D送信中断信号送信判定部25は、カウンタ値POKがk’(=105)以上とならない(つまり、k’未満である)場合には(ST17、NO)、カウンタ値PNGが(n−k’+1、例えば96(=200−105+1))以上となったか否かを判定する(ST23)。D送信中断信号送信判定部25は、カウンタ値PNGが(n−k’+1)以上となったと判定した場合には(ST23、YES)、この時点では符号化パケットが受信端末20に送信されても正しくAL−FEC復号できないので、符号化パケットの送信中断を要求するための返信パケットの送信を返信パケット生成部28に指示する。返信パケット生成部28は、D送信中断信号送信判定部25からの指示に応じて、符号化パケットの送信中断を要求するための返信パケットを生成して返信パケット送信部29に送る。返信パケット送信部29は、符号化パケットの送信中断を要求するための返信パケットを返信パケット生成部28から受けると、返信パケットを送信端末10に送信する(ST24)。
ステップST24の後、D送信中断信号送信判定部25は、AL−FEC復号処理開始信号をAL−FEC復号部26に送る。但し、この場合には、AL−FEC復号部26は、k’個未満の符号化パケットしか得られていないために、k個の映像データのパケットの復号を行うが(ST22)、正しく復号することはできない。従って、200個の符号化パケットが送信された100msの区間における映像データは受信端末20において乱れて出力されてしまう等の映像データの品質劣化が伴う。
以上により、第1変形例の通信システム50Aでは、受信端末20Aは、第1の実施形態の受信端末20の動作に加え、符号化パケットの正常受信数だけでなく符号化パケットの非正常受信数をパケットカウンタ更新部24Aにおいてカウントして更新し、符号化パケットの非正常受信数が(n−k’+1)に達した場合でも、同様に符号化パケットの送信中断を要求するための返信パケットの送信を返信パケット送信部29に指示する。これにより、受信端末20Aは、符号化パケットの正常受信数がk’に達した場合には符号化パケットが送信端末10から送信されなくてもAL−FEC復号により元の映像データのパケットを復号でき、一方、符号化パケットの非正常受信数が(n−k’+1)に達した場合には符号化パケットが送信されても元の映像データのパケットは復号不可のため、いずれの場合にしても符号化パケットの無用な送信を中断させ、送信端末10と受信端末20Aとの間の通信伝送路における符号化パケットの送信量の増大を抑制できる。
(第2の実施形態)
次に、1個の送信端末から複数の受信端末に同報的に符号化パケットを送信するマルチキャスト通信の場合には、送信端末と各受信端末の位置関係(例えば無線通信の場合には距離や障害物の有無、有線通信の場合には通信経路の輻輳状態)によって、各受信端末が正常に受信可能な符号化パケットの数が異なる可能性が高い。言い換えると、送信端末と各受信端末との配置によっては、送信端末から送信される符号化パケットの受信状況の良好な受信端末と良好でない受信端末とが混在する。
正常受信率が低い受信端末が符号化パケットを正しく復号できるようにするためには、映像データのパケット(k個)の符号化パケット(n個)に対する割合(いわゆる、符号化率(=k/n))を低く設定すればよい。しかし、そうするとnが大きくなるので符号化パケットの送信量が多くなるという課題がある。また、殆どの受信端末が早々とPOK≧k’となっているにも関わらず、一部の受信状況が良好でない受信端末が存在するために送信端末からの符号化パケットの送信量が多くなるという課題もあった。
そこで、第2の実施形態では、上述した課題を解決し、1個の送信端末から複数の受信端末に同報的に符号化パケットを送信するマルチキャスト通信に適用した通信システムの例を説明する。より具体的に言うと、本実施形態の通信システムでは、送信端末は、N(例えば80)個の受信端末へのマルチキャスト通信において、各受信端末において符号化パケットの正常受信数がk’に達したことで符号化パケットの送信中断を要求するための返信パケットを送信した受信端末の数Xが既定値N’(<N)以上となった場合には、残りの符号化パケットの送信数Aを動的に設定する。送信端末10Bは、設定された符号化パケットの送信数Aがゼロになった場合には、符号化パケットの送信をパケット送信部13に中断させる。
図8は、第2の実施形態の通信システム50Bにおける映像データの配信の状況の一例を示す模式図である。図9は、受信端末20B1〜20B80とカウンタ値POK≧k’となるパケット#iの数との対応関係の一例を示す表である。図8に示すように、例えば航空機内の映像配信サービスのように、本実施形態の通信システム50Bは、1個の送信端末10Bと、複数(例えばN=80)の受信端末20B1〜20B80とがネットワークを介して接続された構成である。各受信端末20B1〜20B80の内部構成は、第1の実施形態において説明した受信端末20と同一の構成であるため、各受信端末の詳細な動作の説明を省略し、送信端末10Bの動作に関連する内容について説明する(図2参照)。
図9では、受信端末20B1は第108番目の符号化パケットを受信した際にカウンタ値POK≧k’となったことが示され、以下同様に、受信端末20B78は第145番目の符号化パケットを受信した際にカウンタ値POK≧k’となったことが示され、受信端末20B79,20B80は第200(=n)番目の符号化パケットが送信されてもカウンタ値POK≧k’とならなかったことが示されている。なお、図9では、受信端末20B3は第105番目の符号化パケットを受信した際にカウンタ値POK≧k’となっているので、送信端末10Bから送信された符号化パケットが全て正常に受信されたことが示されている。
次に、本実施形態の通信システム50Bの詳細について、具体的に説明する。
図10は、第2の実施形態の通信システム50Bにおける送信端末の内部構成の一例を示すブロック図である。本実施形態の通信システム50Bは、1個の送信端末10Bと複数(例えば80個)の受信端末20B1〜20B80からなる受信端末群20Grpとの間のマルチキャスト通信を例示して説明する。
図10に示す送信端末10Bは、映像データパケット生成部11と、AL−FEC符号化部12と、パケット送信部13と、返信パケット受信部14Bと、D送信中断信号a受信判定部15Bと、D送信中断起動部16と、D送信中断信号生成部17とを含む構成である。送信端末10Bは、図10に示す各部の構成にのみ限定されない。また、映像データパケット生成部11と、AL−FEC符号化部12と、D送信中断信号a受信判定部15Bと、D送信中断起動部16と、D送信中断信号生成部17とは、例えばCPU、MPU又はDSPを用いて構成される。
返信パケット受信部14Bは、各受信端末20B1〜20B80から送信された返信パケットを受信した場合に、返信パケットをD送信中断信号a受信判定部15Bに送る。
送信制御部の一例としてのD送信中断信号a受信判定部15Bは、AL−FEC符号化部12により生成された符号化パケットの各受信端末20B1〜20B80への送信又は送信中断を判定する。D送信中断信号a受信判定部15Bは、符号化パケットの正常受信数がk’に達したことに応じて受信端末群20Grpからの符号化パケットの送信中断を要求するための返信パケットの受信数に相当するパラメータXをカウントし、パラメータXが既定値N’(Nより小さい値で例えば75)に達した場合には、あとA個だけ符号化パケットを送信しかつA個の符号化パケットを送信した後に符号化パケットを送信中断すると判定する。D送信中断信号a受信判定部15Bは、送信数を示すパラメータAの更新及び設定の指示をD送信中断起動部16に送る。
送信数設定部の一例としてのD送信中断起動部16は、D送信中断信号a受信判定部15Bからの指示に応じて、符号化パケットの送信数を示すパラメータAを次のように更新して設定する。例えば、D送信中断起動部16は、所定値(例えばパラメータAの現在値)、又はパラメータXを考慮に入れた算出値(例えばA=5(N−X))のうち小さい値を、パラメータAとして選択して設定及び更新する。D送信中断起動部16は、パラメータAに関する情報をD送信中断信号生成部17に送る。
D送信中断信号生成部17は、D送信中断起動部16から受けたパラメータAに関する情報に応じて、パラメータAがゼロではない間はD送信指示信号を生成してパケット送信部13に送り、符号化パケットを送信させる。なお、D送信中断信号生成部17は、パケット送信部13が符号化パケットを送信する度に、パラメータAを1つ減少するためのAカウントダウン信号を受け、パラメータAを更新する。また、D送信中断信号生成部17は、一定回数のAカウントダウン信号を受けたことによりパラメータAがゼロになった後、D送信中断信号を生成してパケット送信部13に送り、符号化パケットの送信を中断させる。
次に、本実施形態の送信端末10Bの動作手順について、図11及び図12を参照して説明する。図11は、第2の実施形態の送信端末10Bの動作手順の一例を説明するフローチャートである。図12は、図11に続く送信端末10Bの動作手順の一例を説明するフローチャートである。図11及び図12に示すフローチャートは、20Mbpsの伝送レート(言い換えると、送信端末10が例えば100msの間に2000000ビットの映像データの符号化パケットを送信する)である場合に(図1参照)、1回の100msにおける2000000ビット(200個)の符号化パケットを送信する処理に関する。また、図11及び図12では、図5に示す各処理と同一の処理には同一のステップ番号を付与して説明を簡略化又は省略し、異なる内容について説明する。
図11において、ステップST2の後、D送信中断信号a受信判定部15Bは、符号化パケットの正常受信数がk’に達したことに応じて受信端末群20Grpからの符号化パケットの送信中断を要求するための返信パケットの受信数に相当するパラメータX、符号化パケットの非正常受信数が(n−k’+1)に達したことに応じて受信端末群20Grpからの符号化パケットの送信中断を要求するための返信パケットの受信数に相当するパラメータYをそれぞれ初期化する(ST31、X=Y=0)。また、D送信中断信号a受信判定部15Bは、符号化パケットの送信数を示すパラメータAを200に設定し、パラメータAに関する情報をD送信中断起動部16に送る(ST31)。D送信中断起動部16は、パラメータAの現在値(200)とパラメータXを考慮に入れた算出値(例えばA=5(N−X))のうち小さい値を、パラメータAとして選択して設定及び更新する。従って、D送信中断起動部16は、パラメータA=200であることを示す情報をD送信中断信号生成部17に送る。ステップST31の後、D送信中断信号生成部17は、D送信中断起動部16から受けたパラメータAに関する情報に応じて、D送信指示信号を生成してパケット送信部13に送り、符号化パケットを送信させる(ST3)。
図12において、D送信中断信号a受信判定部15Bは、パラメータi=n(例えば200)となっていない場合には(ST4、NO)、パケット送信部13が1個の符号化パケット(パケット#i)を送信する度に、受信端末群20Grpから送信中断を要求するための返信パケットaを新たにx(≧1)個受信したか否かを判定する(ST32)。
D送信中断信号a受信判定部15Bは、受信端末群20Grpから送信中断を要求するための返信パケットaを新たにx(≧1)個受信したと判定した場合には(ST32、YES)、符号化パケットの正常受信数がk’に達したことに応じて受信端末群20Grpからの符号化パケットの送信中断を要求するための返信パケットの受信数に相当するパラメータXを(X+x)に更新する(ST33)。D送信中断信号a受信判定部15Bは、パラメータXの最新値が既定値N’(Nより小さい値で例えば75)以上となったか否かを判定する(ST34)。
D送信中断信号a受信判定部15Bは、パラメータXの最新値が既定値N’(Nより小さい値で例えば75)以上となったと判定した場合には(ST34、YES)、あとA個だけ符号化パケットを送信しかつA個の符号化パケットを送信した後に符号化パケットを送信中断すると判定する。D送信中断信号a受信判定部15Bは、送信数を示すパラメータAの更新及び設定の指示をD送信中断起動部16に送る。D送信中断起動部16は、D送信中断信号a受信判定部15Bからの指示に応じて、符号化パケットの送信数を示すパラメータAを更新して設定する(ST35)。
一方、パケット送信部13が1個の符号化パケット(パケット#i)を送信する度に受信端末群20Grpから送信中断を要求するための返信パケットaが新たにx個受信されなかった場合(ST32、NO)、又はパラメータXの最新値が既定値N’(Nより小さい値で例えば75)未満である場合には(ST34、NO)、パケット送信部13は、Aカウントダウン信号を生成してD送信中断信号生成部17に送る。これにより、D送信中断信号生成部17は、パケット送信部13からのパラメータAのAカウントダウン信号を受けて、パラメータAを1つ減少して更新する(ST36)。
ステップST35又はステップST36の後、D送信中断信号生成部17は、パラメータiをインクリメントし(ST6)、符号化パケットを送信させるためのD送信指示信号を生成してパケット送信部13に送り、符号化パケットを送信させる。D送信中断信号生成部17は、パラメータAがゼロになった場合には(ST37、YES)、D送信中断信号を生成してパケット送信部13に送り、符号化パケットの送信を中断させる。一方、パラメータAがゼロになっていない場合には(ST37、NO)、送信端末10Bの処理はステップST3に戻る。
以上により、本実施形態の通信システム50Bでは、送信端末10Bは、N(例えば80)個の受信端末20B1〜20B80へのマルチキャスト通信において、受信端末群20Grpにおいて符号化パケットの正常受信数がk’(例えば105)に達したことで符号化パケットの送信中断を要求するための返信パケットaを送信した受信端末の数を示すパラメータXが既定値N’(<N(=80)、例えば75)以上となった場合には、残りの符号化パケットの送信数を示すパラメータAを動的に設定する。送信端末10Bは、設定された符号化パケットの送信数を示すパラメータAがゼロになった場合には、符号化パケットの送信をパケット送信部13に中断させる。
これにより、通信システム50Bは、1個の送信端末10Bと複数の受信端末20B1〜20B80とのマルチキャスト通信の通信伝送路の状況に応じて、リアルタイム性が要求されるアプリケーションによりAL−FEC符号化が施されたパケットの送信量を制御できる。言い換えると、通信システム50Bは、全ての受信端末に対してk’(<n)個の符号化パケットを送信することなく、送信端末10Bから全ての受信端末に対してk’個以上の符号化パケットを送信できる確率を多少低下させても、返信パケットを送信した受信端末の数Xが既定値N’以上を契機に残りA個しか符号化パケットを送信しないので、送信端末10Bと各受信端末との間の通信伝送路におけるパケット送信量の増大を抑制できる。つまり、送信端末10Bは、n個の符号化パケットを全て送信する前に、符号化パケットの送信中断を要求するための返信パケットの各受信端末からの受信数(つまりX)が既定値N’以上となった場合には、n個の符号化パケットを全て送信することなく符号化パケットの送信を中断するので、送信される符号化パケットの通信量を低減でき、無線帯域を有効利用できる。
また、通信システム50Bでは、送信端末10Bは、所定値(例えば送信数Aの現在値)又は受信端末群20Grpにおいて符号化パケットの正常受信数がk’(例えば105)に達したことで符号化パケットの送信中断を要求するための返信パケットaを送信した受信端末の数Xに応じた算出値のうち小さい値を、残りの符号化パケットの送信数Aとして選択する。これにより、送信端末10Bは、符号化パケットのAL−FEC復号が可能となる正常受信数k’に達した各受信端末の数Xを考慮した上で、残りの符号化パケットの送信数Aを設定するので、符号化パケットの送信量を適応的に選択できる。
(第2の実施形態の変形例)
第2の実施形態の変形例(以下、「第2変形例」という)では、受信端末群のうち受信端末が符号化パケットを正常に受信できたことを示すカウンタ値POKが所定値(例えばk’)に達した場合に加えて、受信端末群のうち受信端末が符号化パケットを正常に受信できなかったことを示すカウンタ値PNGが所定値(例えばn−k’+1)に達した場合にも返信パケットbを送信端末に送信する通信システム50Cの例を説明する。
なお、以下の説明において、受信端末が符号化パケットを正常に受信できたことを示すカウンタ値POKが所定値(例えばk’)に達したことで受信端末から送信される返信パケットを「返信パケットa」と記載し、受信端末が符号化パケットを正常に受信できなかったことを示すカウンタ値PNGが所定値(例えば(n−k’+1))に達したことで受信端末から送信される返信パケットを「返信パケットb」と記載する。
図13は、第2の実施形態の変形例の通信システム50Cにおける送信端末10Cの内部構成の一例を示すブロック図である。図13に示す送信端末10C及び受信端末群20GrpC(つまり、受信端末20C1〜20C80)の各部において、図10に示す送信端末10B及び図6に示す受信端末20Aの各部と同一の構成及び動作を行うものについては同一の符号を付与して説明を省略し、異なる内容について説明する。
図13に示す送信端末10Cは、映像データパケット生成部11と、AL−FEC符号化部12と、パケット送信部13と、返信パケット受信部14Bと、D送信中断信号a/D送信中断信号b受信判定部15Cと、D送信中断起動部16Cと、D送信中断信号生成部17とを含む構成である。送信端末10Cは、図13に示す各部の構成にのみ限定されない。また、映像データパケット生成部11と、AL−FEC符号化部12と、D送信中断信号a/D送信中断信号b受信判定部15Cと、D送信中断起動部16Cと、D送信中断信号生成部17とは、例えばCPU、MPU又はDSPを用いて構成される。
返信パケット受信部14Cは、各受信端末20C1〜20C80から送信された返信パケットa又は返信パケットbを受信した場合に、返信パケットa又は返信パケットbをD送信中断信号a/D送信中断信号b受信判定部15Cに送る。
送信制御部の一例としてのD送信中断信号a/D送信中断信号b受信判定部15Cは、AL−FEC符号化部12により生成された符号化パケットの各受信端末20C1〜20C80への送信又は送信中断を判定する。D送信中断信号a/D送信中断信号b受信判定部15Cは、返信パケットaの受信数に相当するパラメータX及び返信パケットbの受信数に相当するパラメータYをそれぞれカウントし、パラメータXとパラメータYとの和(X+Y)が既定値N’(Nより小さい値で例えば75)に達した場合には、あとC個だけ符号化パケットを送信しかつC個の符号化パケットを送信した後に符号化パケットを送信中断すると判定する。D送信中断信号a/D送信中断信号b受信判定部15Cは、送信数を示すパラメータCの更新及び設定の指示をD送信中断起動部16Cに送る。
送信数設定部の一例としてのD送信中断起動部16Cは、D送信中断信号a/D送信中断信号b受信判定部15Cからの指示に応じて、符号化パケットの送信数を示すパラメータCを次のように更新して設定する。例えば、D送信中断起動部16Cは、所定値(例えばパラメータCの現在値)、又はパラメータX及びYを考慮に入れた算出値(例えばC=6(N−X−Y))のうち小さい値を、パラメータCとして選択して設定及び更新する。D送信中断起動部16Cは、パラメータCに関する情報をD送信中断信号生成部17に送る。
図14は、受信端末20C1〜20C80とカウンタ値POK≧k’となるパケット#iの数とカウンタ値PNG≧n−k’+1となるパケット#iの数との対応関係の一例を示す表である。図14では、受信端末20C1は第110番目の符号化パケットを受信した際にカウンタ値POK≧k’となったことが示され、以下同様に、受信端末20B75は第180番目の符号化パケットを受信した際にカウンタ値POK≧k’となったことが示されている。
また図14では、受信端末20B76は第175番目の符号化パケットを受信した際にカウンタ値PNG≧(n−k’+1)となったことが示され、以下同様に、受信端末20B80は第110番目の符号化パケットを受信した際にカウンタ値PNG≧(n−k’+1)となったことが示されている。なお、図14では、受信端末20B79は第96番目の符号化パケットを受信した際にカウンタ値PNG≧(n−k’+1)となっているので、送信端末10Cから送信された符号化パケットが全て正常に受信されなかったことが示されている。
次に、第2変形例の送信端末10Cの動作手順について、図15及び図16を参照して説明する。図15は、第2の実施形態の変形例の送信端末10Cの動作手順の一例を説明するフローチャートである。図16は、図15に続く送信端末10Cの動作手順の一例を説明するフローチャートである。図15及び図16に示すフローチャートは、20Mbpsの伝送レート(言い換えると、送信端末10が例えば100msの間に2000000ビットの映像データの符号化パケットを送信する)である場合に(図1参照)、1回の100msにおける2000000ビット(200個)の符号化パケットを送信する処理に関する。また、図15及び図16では、図11及び図12に示す各処理と同一の処理には同一のステップ番号を付与して説明を簡略化又は省略し、異なる内容について説明する。
図15において、ステップST2の後、D送信中断信号a/D送信中断信号b受信判定部15Cは、返信パケットaの受信数に相当するパラメータX、返信パケットbの受信数に相当するパラメータYをそれぞれ初期化する(ST41、X=Y=0)。また、D送信中断信号a受信判定部15Bは、符号化パケットの送信数を示すパラメータCを200に設定し、パラメータCに関する情報をD送信中断起動部16Cに送る(ST41)。D送信中断起動部16Cは、パラメータCの現在値(200)とパラメータX及びYを考慮に入れた算出値(例えばC=6(N−X−Y))のうち小さい値を、パラメータCとして選択して設定及び更新する。従って、D送信中断起動部16Cは、パラメータC=200であることを示す情報をD送信中断信号生成部17に送る。ステップST31の後、D送信中断信号生成部17は、D送信中断起動部16Cから受けたパラメータCに関する情報に応じて、D送信指示信号を生成してパケット送信部13に送り、符号化パケットを送信させる(ST3)。
図16において、D送信中断信号a/D送信中断信号b受信判定部15Cは、パラメータi=n(例えば200)となっていない場合には(ST4、NO)、パケット送信部13が1個の符号化パケット(パケット#i)を送信する度に、受信端末群20GrpCから送信中断を要求するための返信パケットaを新たにx(≧1)個受信したか否か又は受信端末群20GrpCから送信中断を要求するための返信パケットbを新たにy(≧1)個受信したか否かを判定する(ST42)。
D送信中断信号a/D送信中断信号b受信判定部15Cは、受信端末群20GrpCから返信パケットaを新たにx(≧1)個受信した又は返信パケットbを新たにy(≧1)個受信したと判定した場合には(ST42、YES)、返信パケットaの受信数に相当するパラメータXを(X+x)に更新するか、又は返信パケットbの受信数に相当するパラメータYを(Y+y)に更新する(ST43)。D送信中断信号a/D送信中断信号b受信判定部15Cは、パラメータX及びYの和(X+Y)の最新値が既定値N’(Nより小さい値で例えば75)以上となったか否かを判定する(ST34C)。
D送信中断信号a/D送信中断信号b受信判定部15Cは、パラメータX及びYの和(X+Y)の最新値が既定値N’(Nより小さい値で例えば75)以上となったと判定した場合には(ST34C、YES)、あとC個だけ符号化パケットを送信しかつC個の符号化パケットを送信した後に符号化パケットを送信中断すると判定する。D送信中断信号a/D送信中断信号b受信判定部15Cは、送信数を示すパラメータCの更新及び設定の指示をD送信中断起動部16Cに送る。D送信中断起動部16Cは、D送信中断信号a/D送信中断信号b受信判定部15Cからの指示に応じて、符号化パケットの送信数を示すパラメータCを更新して設定する(ST44)。
一方、パケット送信部13が1個の符号化パケット(パケット#i)を送信する度に受信端末群20GrpCから返信パケットaが新たにx(≧1)個受信されず、かつ、返信パケットbが新たにy個(≧1)受信されなかった場合(ST42、NO)、又はパラメータX及びYの和(X+Y)の最新値が既定値N’(Nより小さい値で例えば75)未満である場合には(ST34C、NO)、パケット送信部13は、Cカウントダウン信号を生成してD送信中断信号生成部17に送る。これにより、D送信中断信号生成部17は、パケット送信部13からのパラメータCのCカウントダウン信号を受けて、パラメータCを1つ減少して更新する(ST45)。
ステップST44又はステップST35の後、D送信中断信号生成部17は、パラメータiをインクリメントし(ST6)、符号化パケットを送信させるためのD送信指示信号を生成してパケット送信部13に送り、符号化パケットを送信させる。D送信中断信号生成部17は、パラメータCがゼロになった場合には(ST46、YES)、D送信中断信号を生成してパケット送信部13に送り、符号化パケットの送信を中断させる。一方、パラメータCがゼロになっていない場合には(ST46、NO)、送信端末10Cの処理はステップST3に戻る。
以上により、第2変形例の通信システム50Cでは、送信端末10Cは、N(例えば80)個の受信端末20C1〜20C80へのマルチキャスト通信において、符号化パケットの正常受信数がk’に達したことで符号化パケットの送信中断を要求するための返信パケットaを送信した受信端末の数Xと符号化パケットの非正常受信数が(n−k’+1)に達したことで符号化パケットの送信中断を要求するための返信パケットbを送信した受信端末の数Yとの和(X+Y)が既定値N’(<N)以上となった場合には、残りの符号化パケットの送信数を示すパラメータCを動的に設定する。送信端末10Cは、設定された符号化パケットの送信数を示すパラメータCがゼロになった場合には、符号化パケットの送信をパケット送信部13に中断させる。
これにより、通信システム50Cは、1個の送信端末10Cと複数の受信端末20C1〜20C80とのマルチキャスト通信の通信伝送路の状況に応じて、リアルタイム性が要求されるアプリケーションによりAL−FEC符号化が施されたパケットの送信量を制御できる。言い換えると、通信システム50Cは、全ての受信端末に対してk’個の符号化パケットを送信することなく、送信端末10Cから全ての受信端末に対してk’個以上の符号化パケットを送信できる確率を多少低下させても、これ以上符号化パケットが送信されても十分にAL−FEC復号が可能であるために返信パケットaを送信した受信端末の数Xと、これ以上符号化パケットが送信されてもAL−FEC復号が不可であるために返信パケットbを送信した受信端末の数Yとの和(X+Y)が既定値N’以上を契機に残りC個しか符号化パケットを送信しないので、送信端末10Cと各受信端末20C1〜20C80との間の通信伝送路におけるパケット送信量の増大を抑制できる。つまり、送信端末10Cは、n個の符号化パケットを全て送信する前に、符号化パケットの送信中断を要求するための返信パケットa及び返信パケットbの各受信端末からの受信数の和(つまりX+Y)が既定値N’以上となった場合には、n個の符号化パケットを全て送信することなく符号化パケットの送信を中断するので、送信される符号化パケットの通信量を低減でき、無線帯域を有効利用できる。
また、通信システム50Cでは、送信端末10Cは、所定値(例えば送信数Cの現在値)又は符号化パケットの送信中断を要求するための返信パケットa,返信パケットbを送信した受信端末の数を示すパラメータX及びYに応じた算出値のうち小さい値を、残りの符号化パケットの送信数を示すパラメータCとして選択する。これにより、送信端末10Cは、符号化パケットのAL−FEC復号が可能となる正常受信数k’に達した各受信端末の数X及び符号化パケットのAL−FEC復号が不可となる非正常受信数(n−k’+1)を考慮した上で、残りの符号化パケットの送信数Cを設定するので、符号化パケットの送信量を適応的に選択できる。
以上、図面を参照しながら各種の実施形態について説明したが、本発明はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
上述した第1の実施形態又は第1変形例では、受信端末20が符号化パケットを正常に受信できたことを示すカウンタ値POKや正常に受信できなかったことを示すカウンタ値PNGをカウントしてカウンタ値POKが所定値(例えばk’=105)に達したことにより、符号化パケットの送信中断を要求するための返信パケットを送信端末10に送信している。但し、受信端末20が返信パケットを送信した場合に限って送信端末10が符号化パケットを送信中断する訳ではなく、例えば受信端末20が符号化パケットを正常に受信できた場合又は正常に受信できなかった場合に都度送信端末10にその旨を返信し、送信端末10がカウンタ値POKが所定値(例えばk’=105)に達したことにより、符号化パケットの送信中断を行ってもよい(第2の実施形態参照)。
上述した第2の実施形態又は第2変形例では、送信端末10Cがマルチキャスト通信における受信端末の台数(パラメータNに相当)を既知(例えば80)であることを前提として説明したが、送信端末10Cが受信端末群における受信端末の台数を知らない場合に、受信端末の台数を知ることも可能である。例えば、送信端末10又は送信端末10Cは、n(=200)個全ての符号化パケットを送信する。この場合、受信端末群20Grp又は受信端末群20GrpCの各受信端末から個々に返信パケットa又は返信パケットbが送信端末10又は送信端末10Cに送信される。従って、送信端末10又は送信端末10Cは、パラメータX及びYの和(X+Y)=Nとすることで、受信端末群20Grp又は受信端末群20GrpCの受信端末の台数を示すパラメータNを知ることができる。但し、送信端末10又は送信端末10Cは、受信端末群20Grp又は受信端末群20GrpCの受信端末の台数を示すパラメータNが時間的に変動する可能性もあるので、定期的にn個全ての符号化パケットを送信することで、Nの最新値を取得することが好ましい。
なお、上述した第2の実施形態又は第2変形例において、送信端末10Cは、符号化パケットを送信してから一定時間以内に返信パケットa又は返信パケットbを受信しない場合には、符号化パケットの送信を中断してもよい。