先ず、本発明に係る通信システム、送信装置及び受信装置を具体的に開示した各実施形態を説明する前に、各実施形態の内容に至る経緯について、図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よりわずかに大きい値)個のパケットを正常に受信できた場合に(つまり、パケットロスや受信エラーがない場合に)、元の映像データを正しく復号できる。言い換えると、受信側は、nパケット中の(n−k’+1)個のパケットを非正常に受信した場合に(つまり、パケットロスや受信エラーがある場合に)、元の映像データを正しく復号できない。このような誤り訂正符号化の処理において用いられる符号には、例えば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)個以下(つまり、非正常に受信した符号化パケットが(n−k’+1)個以上)であれば、符号化パケットを正しく復号できないので100個のパケットに対応する映像データを正しく再生できない。つまり、映像が乱れて再生されてしまう等の映像品質劣化が伴う。
従って、送信側と受信側との間の通信伝送路の状況が劣悪で符号化パケットの正常受信率がk'/nよりもかなり低い場合には、k’個の符号化パケットが正常に受信される確率が低く、送信側から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個の映像データのパケットを復号できる。一方、受信端末20は、n個の符号化パケットを受信する前に、(n−k’+1)(k<k’<n)個の符号化パケットを正常に受信できなかった場合には、k個の映像データのパケットを復号できない。以下、nを例えば200として説明する。言い換えると、上述した第1条件は、送信端末10により生成された200個の符号化パケットが送信される前に、200(=n)個のうち96(=(n−k’+1))個の符号化パケットが受信端末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が受信した符号化パケットが正常に受信されなかったことを示すカウンタ値PNGを更新し、カウンタ値PNGの最新値をD送信中断信号送信判定部25に通知する。なお、パケット受信部21が符号化パケットを正常に受信できたことを示すカウンタ値をPOKとする。このため、非正常受信カウンタ更新部24は、パケット受信部21が符号化パケットを正常に受信できたことを示すカウンタ値POKも更新し、カウンタ値POKの最新値をD送信中断信号送信判定部25に通知してもよい。
受信制御部の一例としてのD送信中断信号送信判定部25は、上述した第1条件を満たした時(つまり、非正常受信カウンタ更新部24から通知されたカウンタ値PNGが96(=(n−k’+1))に達した時)、100(=k)個の映像データのパケットへの復号が不可となるが、AL−FEC復号処理開始信号をAL−FEC復号部26に送り、更に、もはや符号化パケットのこれ以上の送信は無駄であるとして符号化パケットの送信中断を要求するための返信パケットの生成を返信パケット生成部28に指示する。
復号部の一例としてのAL−FEC復号部26は、OSI参照モデルのアプリケーション層(レイヤ7)において、D送信中断信号送信判定部25からのAL−FEC復号処理開始信号を受けると、パケット受信部21が受信した符号化パケットを受信パケットバッファ22から読み出してAL−FEC復号を行い、復号により得られた100(=k)個の映像データのパケットを映像データ出力部27に送る。なお、AL−FEC復号部26は、上述した第1条件が満たされた場合でもパケット受信部21が受信した符号化パケットを受信パケットバッファ22から読み出してAL−FEC復号を行うが、この復号は正しく実行できず、100(=k)個の映像データのパケットは得られず、この100msの間の映像データは乱れて再生される等の映像データの品質劣化が伴うことになる。
映像データ出力部27は、AL−FEC復号部26から受けた100(=k)個又は100個未満の映像データのパケットから映像データを取り出して映像コーデック(不図示)に出力する。この後、映像コーデックから映像データがディスプレイ(不図示)に出力される。
返信パケット生成部28は、D送信中断信号送信判定部25からの指示に応じて、符号化パケットの送信中断を要求するための返信パケットを生成して返信パケット送信部29に送る。
第2送信部の一例としての返信パケット送信部29は、符号化パケットの送信中断を要求するための返信パケットを返信パケット生成部28から受けると、返信パケットを送信端末10に送信する。
次に、本実施形態の通信システム50における動作概要について、図3を参照して説明する。図3は、第1の実施形態の送信端末10及び受信端末20の動作概要の一例を示す説明図である。
図3の最上段にはパケット送信部13から送信される符号化パケットの送信に関するタイムチャートが示され、上から2段目にはD送信中断信号受信判定部15から受けるD送信中断信号の取得に関するタイムチャートが示され、上から3段目にはパケット受信部21における符号化パケットの受信に関するタイムチャートが示され、上から4段目には非正常受信カウンタ更新部24におけるカウンタ値PNGの更新に関するタイムチャートが示され、上から5段目にはD送信中断信号送信判定部25における返信パケットの送信の判定に関するタイムチャートが示され、最下段にはAL−FEC復号部26における映像データのパケット(データパケット)の復号に関するタイムチャートが示されている。
図3において、第1番目に送信された符号化パケットはパケット受信部21において非正常に受信され(具体的には、受信エラーが生じ)、カウンタ値PNGは1に更新され、第2番目に送信された符号化パケットはパケット受信部21において正常に受信され、カウンタ値PNGは1に維持され、第3番目に送信された符号化パケットはパケット受信部21において非正常に受信され(具体的には、受信エラーが生じ)、カウンタ値PNGは2に更新される。
同様に、第170番目に送信された符号化パケットはパケット受信部21において非正常に受信され(具体的には、パケット損失が生じ)、カウンタ値PNGは95に更新され、第171番目に送信された符号化パケットはパケット受信部21において非正常に受信され(具体的には、受信エラーが生じ)、カウンタ値PNGは96に更新されたとする。この場合、カウンタ値PNGは96(=(n−k’+1))に更新され、D送信中断信号送信判定部25は、返信パケット(つまり、符号化パケットの送信中断を要求するためのパケット)の送信を返信パケット生成部28に指示する。これにより、受信端末20は、返信パケットを送信端末10に送信する。
送信端末10は、返信パケットの受信に応じて、D送信中断信号受信判定部15においてD送信中断信号をパケット送信部13に送り、符号化パケットの送信中断を行う。なお、受信端末20は、カウンタ値PNGが96(=(n−k’+1))に達したことで、正常に受信された75個の符号化パケットと非正常に受信された96(=(n−k’+1))個の符号化パケットとを受信パケットバッファ22から読み出してAL−FEC復号を行う。これにより、受信端末20は、送信端末10により生成された200(=n)個全ての符号化パケットを受信することなく、その受信完了前に、映像データのパケットの復号を開始でき、無用な符号化パケットの送信を送信端末10に中断させることができる。
次に、本実施形態の送信端末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)を正常に受信できたか否かを判定し(ST13)、判定結果を非正常受信カウンタ更新部24に送る。非正常受信カウンタ更新部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は、カウンタ値PNGが(n−k’+1)(=96)以上となる場合には(ST17、YES)、この時点で受信端末20はk個の映像データのパケットをAL−FEC復号不可であり、これ以上の符号化パケットが送信端末10から送信されても不要となるため、符号化パケットの送信中断を要求するための返信パケットの送信を返信パケット生成部28に指示する。返信パケット生成部28は、D送信中断信号送信判定部25からの指示に応じて、符号化パケットの送信中断を要求するための返信パケットを生成して返信パケット送信部29に送る。返信パケット送信部29は、符号化パケットの送信中断を要求するための返信パケットを返信パケット生成部28から受けると、返信パケットを送信端末10に送信する(ST18)。また、D送信中断信号送信判定部25は、AL−FEC復号処理開始信号をAL−FEC復号部26に送る。AL−FEC復号部26は、アプリケーション層において、D送信中断信号送信判定部25からのAL−FEC復号処理開始信号を受けると、既に正常に又は非正常に受信した符号化パケットを受信パケットバッファ22から読み出してAL−FEC復号を行うが、この場合には映像データのパケットが得られない(ST19)。このため、この100msにおいては映像データが乱れて再生される等の映像データの品質劣化が伴うことになる。
一方、D送信中断信号送信判定部25は、カウンタ値PNGが(n−k’+1)(=96)以上とならない場合には(ST17、NO)、パラメータiが符号化パケットの最大送信数を示すn(=200)に一致していなければ(ST20、NO)、パラメータiをインクリメントする(ST19)。ステップST19の後、受信端末20の処理はステップST12に戻る。
一方、D送信中断信号送信判定部25は、カウンタ値PNGが(n−k’+1)(=96)以上とならない場合であって(ST17、NO)、パラメータiが符号化パケットの最大送信数を示すn(=200)に一致した場合には(ST20、YES)、AL−FEC復号処理開始信号をAL−FEC復号部26に送る。この場合には、AL−FEC復号部26は、k’個の符号化パケットを得られているので、k’個の符号化パケットを用いてAL−FEC復号によりk個の映像データのパケットを正しく復号できる。従って、この100msにおいては映像データは映像データ出力部27から正しく出力(例えば再生)される。
以上により、本実施形態の通信システム50では、送信端末10は、例えばリアルタイム性が要求されるアプリケーションにおいて、送信対象の映像データのk(例えば100)個分のパケット(データパケット)を符号化(AL−FEC符号化)によりn(例えば200)個の符号化パケットを生成し、D送信中断信号受信判定部15からの符号化パケットの送信指示に応じて、符号化パケットを順次、受信端末20に送信する。受信端末20は、送信端末10から送信された符号化パケットを受信し、AL−FEC復号部26における符号化パケットの復号が不可となる第1条件(つまり、(n−k’+1)(例えば96)個の符号化パケットを正常に受信できなかったこと)を満たす場合には、符号化パケットの送信中断を要求するための返信パケットを送信端末10に送信する。送信端末10は、返信パケットを受信した場合に、D送信中断信号受信判定部15において符号化パケットの送信中断を判定し、符号化パケットの送信をパケット送信部13に中断させる。
これにより、通信システム50は、送信端末10と受信端末20とのユニキャスト通信の通信伝送路の状況に応じて、リアルタイム性が要求されるアプリケーションによりAL−FEC符号化が施されたパケットの送信量を制御できるので、通信伝送路におけるパケット送信量の増大を抑制できる。つまり、送信端末10は、n(例えば200)個の符号化パケットを全て送信する前に、符号化パケットの送信中断を要求するための返信パケットを受信端末20から受信した場合には、n個の符号化パケットを全て送信することなく符号化パケットの送信を中断するので、符号化パケットの送信量を低減でき、無線帯域を有効利用できる。
また、通信システム50では、受信端末20は、符号化パケットの非正常受信数をカウントし、このカウント値が(n−k’+1)(例えば96)になった場合には、受信端末20では既に受信された複数の符号化パケットを用いてk(例えば100)個の映像データのパケットを正しく復号できないので、これ以上の符号化パケットの送信は無用として符号化パケットの送信中断を要求するための返信パケットを返信パケット送信部29から送信する。これにより、受信端末20は、例えばAL−FEC符号化においてRaptor符号が使用された場合には、送信端末10から送信される符号化パケットの送信量の増大を抑制できる。
また、通信システム50では、受信端末20は、既に受信された複数個の符号化パケットを用いたk(例えば100)の映像データのパケット(データパケット)への復号をAL−FEC復号部26に指示する。これにより、受信端末20は、非正常に受信された符号化パケットの数が(n−k’+1)に達した場合にはk個の映像データのパケットを復号できないが、送信端末10により生成されたn(例えば200)個全ての符号化パケットを受信する必要がなくなるので、送信端末10からの符号化パケットの無用の送信量の増大を抑制でき、次の100msにおける符号化パケットの早期伝送に資することができる。
(第2の実施形態)
次に、1個の送信端末から複数の受信端末に同報的に符号化パケットを送信するマルチキャスト通信の場合には、送信端末と各受信端末の位置関係(例えば無線通信の場合には距離や障害物の有無、有線通信の場合には通信経路の輻輳状態)によって、各受信端末が正常に受信可能な符号化パケットの数が異なる可能性が高い。言い換えると、送信端末と各受信端末との配置によっては、送信端末から送信される符号化パケットの受信状況の良好な受信端末と良好でない受信端末とが混在する。
正常受信率が低い受信端末が符号化パケットを正しく復号できるようにするためには、映像データのパケット(k個)の符号化パケット(n個)に対する割合(いわゆる、符号化率(=k/n))を低く設定すればよい。しかし、そうするとnが大きくなるので符号化パケットの送信量が多くなるという課題がある。また、殆どの受信端末が早々とPNG≧k’となっているにも関わらず、一部の受信状況が良好である受信端末が存在するために送信端末からの符号化パケットの送信量が多くなるという課題もあった。
そこで、第2の実施形態では、上述した課題を解決し、1個の送信端末から複数の受信端末に同報的に符号化パケットを送信するマルチキャスト通信に適用した通信システムの例を説明する。より具体的に言うと、本実施形態の通信システムでは、送信端末は、N(例えば80)個の受信端末へのマルチキャスト通信において、各受信端末において符号化パケットの非正常受信数が(n−k’+1)に達したことで符号化パケットの送信中断を要求するための返信パケットを送信した受信端末の数Yが既定値N’(<N)以上となった場合には、残りの符号化パケットの送信数Bを動的に設定する。送信端末は、設定された符号化パケットの送信数Bがゼロになった場合には、符号化パケットの送信をパケット送信部13に中断させる。
図6は、第2の実施形態の通信システム50Aにおける映像データの配信の状況の一例を示す模式図である。図7は、受信端末20A1〜20A80とカウンタ値PNG≧(n−k’+1)となるパケット#iの数との対応関係の一例を示す表である。図6に示すように、例えば航空機内の映像配信サービスのように、本実施形態の通信システム50Aは、1個の送信端末10Aと、複数(例えばN=80)の受信端末20A1〜20A80とがネットワークを介して接続された構成である。各受信端末20A1〜20A80の内部構成は、第1の実施形態において説明した受信端末20と同一の構成であるため、各受信端末の詳細な動作の説明を省略し、送信端末10Aの動作に関連する内容について説明する(図2参照)。
図7では、受信端末20A1〜20A3は第200(=n)番目の符号化パケットを受信してもカウンタ値PNG≧(n−k’+1)とならなかったことが示され、以下同様に、受信端末20A4は第197番目の符号化パケットを受信した際にカウンタ値PNG≧(n−k’+1)となったことが示され、受信端末20A77は第165番目の符号化パケットを受信した際にカウンタ値PNG≧(n−k’+1)となったことが示され、受信端末20A78は第121番目の符号化パケットを受信した際にカウンタ値PNG≧(n−k’+1)となったことが示され、受信端末20A79第96番目の符号化パケットを受信した際にカウンタ値PNG≧(n−k’+1)となったことが示され、受信端末20A80は第103番目の符号化パケットを受信した際にカウンタ値PNG≧(n−k’+1)となったことが示されている。なお、図7では、受信端末20A79は第96番目の符号化パケットを受信した際にカウンタ値PNG≧96(=n−k’+1)となっているので、送信端末10Aから送信された符号化パケットが全て正常に受信されなかったことが示されている。
次に、本実施形態の通信システム50Aの詳細について、具体的に説明する。
図8は、第2の実施形態の通信システム50Aにおける送信端末の内部構成の一例を示すブロック図である。本実施形態の通信システム50Aは、1個の送信端末10Aと複数(例えば80個)の受信端末20A1〜20A80からなる受信端末群20Grpとの間のマルチキャスト通信を例示して説明する。
図8に示す送信端末10Aは、映像データパケット生成部11と、AL−FEC符号化部12と、パケット送信部13と、返信パケット受信部14Aと、D送信中断信号b受信判定部15Aと、D送信中断起動部16と、D送信中断信号生成部17とを含む構成である。送信端末10Aは、図8に示す各部の構成にのみ限定されない。また、映像データパケット生成部11と、AL−FEC符号化部12と、D送信中断信号b受信判定部15Aと、D送信中断起動部16と、D送信中断信号生成部17とは、例えばCPU、MPU又はDSPを用いて構成される。
返信パケット受信部14Aは、各受信端末20A1〜20A80から送信された返信パケットを受信した場合に、返信パケットをD送信中断信号b受信判定部15Aに送る。
送信制御部の一例としてのD送信中断信号b受信判定部15Aは、AL−FEC符号化部12により生成された符号化パケットの各受信端末20A1〜20A80への送信又は送信中断を判定する。D送信中断信号b受信判定部15Aは、符号化パケットの非正常受信数が(n−k’+1)に達したことに応じて受信端末群20Grpからの符号化パケットの送信中断を要求するための返信パケットの受信数に相当するパラメータYをカウントし、パラメータYが既定値N’(Nより小さい値で例えば75)に達した場合には、あとB個だけ符号化パケットを送信しかつB個の符号化パケットを送信した後に符号化パケットを送信中断すると判定する。D送信中断信号b受信判定部15Aは、送信数を示すパラメータBの更新及び設定の指示をD送信中断起動部16に送る。
送信数設定部の一例としてのD送信中断起動部16は、D送信中断信号b受信判定部15Aからの指示に応じて、符号化パケットの送信数を示すパラメータBを次のように更新して設定する。例えば、D送信中断起動部16は、所定値(例えばパラメータBの現在値)、又はパラメータYを考慮に入れた算出値(例えばB=3(N−Y))のうち小さい値を、パラメータBとして選択して設定及び更新する。D送信中断起動部16は、パラメータBに関する情報をD送信中断信号生成部17に送る。
D送信中断信号生成部17は、D送信中断起動部16から受けたパラメータBに関する情報に応じて、パラメータBがゼロではない間はD送信指示信号を生成してパケット送信部13に送り、符号化パケットを送信させる。なお、D送信中断信号生成部17は、パケット送信部13が符号化パケットを送信する度に、パラメータBを1つ減少するためのBカウントダウン信号を受け、パラメータBを更新する。また、D送信中断信号生成部17は、一定回数のBカウントダウン信号を受けたことによりパラメータBがゼロになった後、D送信中断信号を生成してパケット送信部13に送り、符号化パケットの送信を中断させる。
次に、本実施形態の送信端末10Aの動作手順について、図9及び図10を参照して説明する。図9は、第2の実施形態の送信端末10Aの動作手順の一例を説明するフローチャートである。図10は、図9に続く送信端末10Aの動作手順の一例を説明するフローチャートである。図9及び図10に示すフローチャートは、20Mbpsの伝送レート(言い換えると、送信端末10Aが例えば100msの間に2000000ビットの映像データの符号化パケットを送信する)である場合に(図1参照)、1回の100msにおける2000000ビット(200個)の符号化パケットを送信する処理に関する。また、図9及び図10では、図5に示す各処理と同一の処理には同一のステップ番号を付与して説明を簡略化又は省略し、異なる内容について説明する。
図9において、ステップST2の後、D送信中断信号b受信判定部15Aは、符号化パケットの正常受信数がk’に達したことに応じて受信端末群20Grpからの符号化パケットの送信中断を要求するための返信パケットの受信数に相当するパラメータX、符号化パケットの非正常受信数が(n−k’+1)に達したことに応じて受信端末群20Grpからの符号化パケットの送信中断を要求するための返信パケットの受信数に相当するパラメータYをそれぞれ初期化する(ST31、X=Y=0)。また、D送信中断信号b受信判定部15Aは、符号化パケットの送信数を示すパラメータBを200に設定し、パラメータBに関する情報をD送信中断起動部16に送る(ST31)。D送信中断起動部16は、パラメータBの現在値(200)とパラメータYを考慮に入れた算出値(例えばB=3(N−Y))のうち小さい値を、パラメータBとして選択して設定及び更新する。従って、D送信中断起動部16は、パラメータB=200であることを示す情報をD送信中断信号生成部17に送る。ステップST31の後、D送信中断信号生成部17は、D送信中断起動部16から受けたパラメータBに関する情報に応じて、D送信指示信号を生成してパケット送信部13に送り、符号化パケットを送信させる(ST3)。
図10において、D送信中断信号b受信判定部15Aは、パラメータi=n(例えば200)となっていない場合には(ST4、NO)、パケット送信部13が1個の符号化パケット(パケット#i)を送信する度に、受信端末群20Grpから送信中断を要求するための返信パケットbを新たにy(≧1)個受信したか否かを判定する(ST32)。ここで、返信パケットbとは、符号化パケットの非正常受信数が(n−k’+1)に達したことに応じて受信端末群20Grpからの符号化パケットの送信中断を要求するための返信パケットを示す。
D送信中断信号b受信判定部15Aは、受信端末群20Grpから送信中断を要求するための返信パケットbを新たにy(≧1)個受信したと判定した場合には(ST32、YES)、符号化パケットの非正常受信数が(n−k’+1)に達したことに応じて受信端末群20Grpからの符号化パケットの送信中断を要求するための返信パケットbの受信数に相当するパラメータYを(Y+y)に更新する(ST33)。D送信中断信号b受信判定部15Aは、パラメータYの最新値が既定値N’(Nより小さい値で例えば75)以上となったか否かを判定する(ST34)。
D送信中断信号b受信判定部15Aは、パラメータYの最新値が既定値N’(Nより小さい値で例えば75)以上となったと判定した場合には(ST34、YES)、あとB個だけ符号化パケットを送信しかつB個の符号化パケットを送信した後に符号化パケットを送信中断すると判定する。D送信中断信号b受信判定部15Aは、送信数を示すパラメータBの更新及び設定の指示をD送信中断起動部16に送る。D送信中断起動部16は、D送信中断信号b受信判定部15Aからの指示に応じて、符号化パケットの送信数を示すパラメータBを更新して設定する(ST35)。
一方、パケット送信部13が1個の符号化パケット(パケット#i)を送信する度に受信端末群20Grpから送信中断を要求するための返信パケットbが新たにy個受信されなかった場合(ST32、NO)、又はパラメータYの最新値が既定値N’(Nより小さい値で例えば75)未満である場合には(ST34、NO)、パケット送信部13は、Bカウントダウン信号を生成してD送信中断信号生成部17に送る。これにより、D送信中断信号生成部17は、パケット送信部13からのパラメータBのBカウントダウン信号を受けて、パラメータBを1つ減少して更新する(ST36)。
ステップST35又はステップST36の後、D送信中断信号生成部17は、パラメータiをインクリメントし(ST6)、符号化パケットを送信させるためのD送信指示信号を生成してパケット送信部13に送り、符号化パケットを送信させる。D送信中断信号生成部17は、パラメータBがゼロになった場合には(ST37、YES)、D送信中断信号を生成してパケット送信部13に送り、符号化パケットの送信を中断させる。一方、パラメータBがゼロになっていない場合には(ST37、NO)、送信端末10Aの処理はステップST3に戻る。
以上により、本実施形態の通信システム50Aでは、送信端末10Aは、N(例えば80)個の受信端末20A1〜20A80へのマルチキャスト通信において、受信端末群20Grpにおいて符号化パケットの非正常受信数が(n−k’+1)(例えば96)に達したことで符号化パケットの送信中断を要求するための返信パケットbを送信した受信端末の数を示すパラメータYが既定値N’(<N(=80)、例えば75)以上となった場合には、残りの符号化パケットの送信数を示すパラメータBを動的に設定する。送信端末10Aは、設定された符号化パケットの送信数を示すパラメータBがゼロになった場合には、符号化パケットの送信をパケット送信部13に中断させる。
これにより、通信システム50Aは、1個の送信端末10Aと複数の受信端末20A1〜20A80とのマルチキャスト通信の通信伝送路の状況に応じて、リアルタイム性が要求されるアプリケーションによりAL−FEC符号化が施されたパケットの送信量を制御できる。言い換えると、通信システム50Aは、通信伝送路が良好な一部の受信端末がk’個以上の符号化パケットを送信できる確率を多少低下させても、返信パケットbを送信した受信端末の数を示すパラメータYが既定値N’以上を契機に残りB個しか符号化パケットを送信しないので、送信端末10Aと各受信端末との間の通信伝送路におけるパケット送信量の増大を抑制できる。つまり、送信端末10Aは、n個の符号化パケットを全て送信する前に、符号化パケットの送信中断を要求するための返信パケットbの各受信端末からの受信数(つまりY)が既定値N’以上となった場合には、n個の符号化パケットを全て送信することなく符号化パケットの送信を中断するので、送信される符号化パケットの通信量を低減でき、無線帯域を有効利用できる。
また、通信システム50Aでは、送信端末10Aは、所定値(例えば送信数を示すパラメータBの現在値)又は受信端末群20Grpにおいて符号化パケットの非正常受信数が(n−k’+1)(例えば96)に達したことで符号化パケットの送信中断を要求するための返信パケットbを送信した受信端末の数を示すパラメータYに応じた算出値のうち小さい値を、残りの符号化パケットの送信数Bとして選択する。これにより、送信端末10Aは、符号化パケットのAL−FEC復号が不可となる非正常受信数(n−k’+1)に達した各受信端末の数を示すパラメータYを考慮した上で、残りの符号化パケットの送信数Bを設定するので、符号化パケットの送信量を適応的に選択できる。
以上、図面を参照しながら各種の実施形態について説明したが、本発明はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
上述した第1の実施形態では、受信端末20が符号化パケットを正常に受信できたことを示すカウンタ値POKや正常に受信できなかったことを示すカウンタ値PNGをカウントしてカウンタ値PNGが所定値(例えばn−k’+1=96)に達したことにより、符号化パケットの送信中断を要求するための返信パケットを送信端末10に送信している。但し、受信端末20が返信パケットを送信した場合に限って送信端末10が符号化パケットを送信中断する訳ではなく、例えば受信端末20が符号化パケットを正常に受信できた場合又は正常に受信できなかった場合に都度送信端末10にその旨を返信し、送信端末10がカウンタ値PNGが所定値(例えばn−k’+1=96)に達したことにより、符号化パケットの送信中断を行ってもよい(第2の実施形態参照)。
上述した第2の実施形態では、送信端末10Aがマルチキャスト通信における受信端末の台数(パラメータNに相当)を既知(例えば80)であることを前提として説明したが、送信端末10Aが受信端末群における受信端末の台数を知らない場合に、受信端末の台数を知ることも可能である。例えば、送信端末10Aは、n(=200)個全ての符号化パケットを送信する。この場合、受信端末群20Grpの各受信端末から個々に返信パケットa又は返信パケットbが送信端末10Aに送信される。ここで、返信パケットaとは、符号化パケットの正常受信数がk’に達したことに応じて受信端末群20Grpからの符号化パケットの送信中断を要求するための返信パケットを示す。従って、送信端末10Aは、上述したパラメータX及びYの和(X+Y)=Nとすることで、受信端末群20Grpの受信端末の台数を示すパラメータNを知ることができる。但し、送信端末10Aは、受信端末群20Grpの受信端末の台数を示すパラメータNが時間的に変動する可能性もあるので、定期的にn個全ての符号化パケットを送信することで、Nの最新値を取得することが好ましい。
なお、上述した第2の実施形態において、送信端末10Aは、符号化パケットを送信してから一定時間以内に返信パケットa又は返信パケットbを受信しない場合には、符号化パケットの送信を中断してもよい。