(57)【特許請求の範囲】
【請求項１】
固定長パケットによるデータ伝送装置において、
送信データの各フレームのデータを固定パケット長に分割して固定長パケットに収める手段と、
送信データの各フレームのデータを固定パケット長に分割して固定長パケットに収めたとき、固定パケット長に満たない部分については、他のフレームのデータを収めることなく、パディングデータを充填することで固定長パケットを構成する手段と、
伝送効率が最適となる固定パケット長を算出する固定パケット長算出手段を備え、
前記固定パケット長算出手段は、送信データの全てのフレームについてのヘッダ長とパディングデータ長の合計が最短となる固定パケット長を算出し、該固定パケット長を伝送効率が最適となる固定パケット長とすることを特徴とするデータ伝送装置。
【請求項２】
前記固定パケット長算出手段は、送信データのフレームの平均データ長を利用して固定パケット長を近似的に算出することを特徴とする請求項１に記載のデータ伝送装置。
【請求項３】
前記固定パケット長算出手段は、送信データのフレームのデータ長の分布に応じてパディングデータ長を近似して固定パケット長を近似的に算出することを特徴とする請求項１に記載のデータ伝送装置。
【請求項４】
前記固定パケット長算出手段は、送信データのフレームのデータ長の分布に応じてパケット数を近似して固定パケット長を近似的に算出することを特徴とする請求項１に記載のデータ伝送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ伝送装置に関し、特に、固定長パケットでデータ伝送を行う際に、伝送効率が最適となる固定パケット長を決定することができるデータ伝送装置に関する。
【背景技術】
【０００２】
従来、固定長パケットを扱うデータ伝送装置において、固定パケット長として個々の送信データのフレームのデータ長の最大値や平均値を設定する手法が知られている。送信データのフレームのデータ長の最大値を固定パケット長として設定する手法では、フレームのデータが固定パケット長より短い場合、パディングデータを埋め込んで固定長パケットを構成する。
【０００３】
一方、送信データのフレームのデータ長の平均値を固定パケット長として設定する手法では、フレームのデータが固定パケット長より長い場合、送信データのフレームのデータを複数に分割し、複数の固定長パケットに収める。ただし、送信データのフレームのデータ長が固定パケット長で割り切れない場合には最後の固定長パケットにパディングデータを埋め込む。固定パケット長として送信データのフレームのデータ長の平均値を設定する手法は、特許文献１に記載されている。
【特許文献１】特開２００１−１０１１２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
パケットにはヘッダやパディングデータなどの、送信データのフレームのデータ以外の情報が多く含まれる。可変長データを分割して固定長パケットで伝送する場合には、送信データのフレームのデータ以外の情報が特に顕著に含まれる可能性がある。
【０００５】
固定パケット長を長くすれば、データ伝送に必要なパケット数を少なくすることができ、全体に対してヘッダが占める割合を減少させることが可能である。しかし、送信データのフレームのデータが短い場合、埋め込むべきパディングデータが長くなってしまう。例えば、固定パケット長を1000byteとした場合、送信データのフレームのデータが1001byteであるとすると、該フレームのデータは2個パケットに収められて伝送される。したがって、ヘッダは2個でよいが、1個のパケットでは999byteをパディングデータが占めることになる。
【０００６】
一方、固定パケット長を短くすれば、埋め込むべきパディングデータを短く抑えることができる。しかし、データ伝送に必要なパケット数が増加するので、全体に対してヘッダが占める割合が増加してしまう。例えば、固定パケット長を100byteとした場合、送信データのフレームのデータが1001byteであるとすると、パディングデータを99byteに抑えることができる。しかし、送信データのフレームのデータは11個のパケットで伝送され、11個のヘッダが必要となる。ヘッダが長い場合には、パディングデータが短くなることによる抑制効果を打ち消してしまうこともある。
【０００７】
上述したことから明らかなように、固定パケット長によって全体に占めるフレームのデータ以外の情報の割合が変わるので、データ伝送を効率的に行うには、固定パケット長を最適に設定する必要がある。
【０００８】
本発明の目的は、上記課題を解決し、固定長パケットでデータ伝送を行う際に、伝送効率が最適となる固定パケット長を決定することができるデータ伝送装置を提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明は、固定長パケットによるデータ伝送装置において、送信データの各フレームのデータを固定パケット長に分割して固定長パケットに収める手段と、送信データの各フレームのデータを固定パケット長に分割して固定長パケットに収めたとき、固定パケット長に満たない部分については、他のフレームのデータを収めることなく、パディングデータを充填することで固定長パケットを構成する手段と、伝送効率が最適となる固定パケット長を算出する固定パケット長算出手段を備え、前記固定パケット長算出手段は、送信データの全てのフレームについてのヘッダ長とパディングデータ長の合計が最短となる固定パケット長を算出し、該固定パケット長を伝送効率が最適となる固定パケット長とする点に第１の特徴がある。
【００１４】
また、本発明は、前記固定パケット長算出手段が、送信データのフレームの平均データ長を利用して固定パケット長を近似的に算出する点に第２の特徴がある。
【００１５】
また、本発明は、前記固定パケット長算出手段が、送信データのフレームのデータ長の分布に応じてパディングデータ長を近似して固定パケット長を近似的に算出する点に第３の特徴がある。
【００１６】
さらに、本発明は、前記固定パケット長算出手段が、送信データのフレームのデータ長の分布に応じてパケット数を近似して固定パケット長を近似的に算出する点に第４の特徴がある。
【発明の効果】
【００１７】
本発明によれば、可変長データを固定長パケットで伝送する際に、伝送効率が最適となる固定パケット長を算出することができるので、高い伝送効率で高速にデータ配信を行うことができる。ここで、伝送効率が最適となる固定パケット長は、送信データのフレームのデータ長やヘッダ長に応じて算出することができる。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照して本発明を説明する。図１は、本発明に係るデータ伝送装置の一実施形態としてのコンテンツ伝送装置を示す機能ブロック図である。このコンテンツ伝送装置は、通信ネットワーク１０上にサーバ２０とクライアント(受信端末)３０が配備されて構成される。クライアント３０は複数配備されるが、１つだけを図示している。
【００１９】
サーバ２０は、コンテンツ分離部２１と配信スケジューリング部２２とマルチキャスト送信部２３を備える。また、クライアント３０は、マルチキャスト受信部３１とコンテンツ合成部３２とコンテンツビューア３３を備える。
【００２０】
サーバ２０において、コンテンツ分離部２１は、配信するコンテンツをコンテンツデータベース(DB)２４から取得し、コンテンツを異なる性質に従ってメディアごとなどのエレメントデータに分離する。例えば、MPEGフォーマットのコンテンツの場合、ビデオとオーディオに分離し、さらにビデオを符号化タイプ(B-picture,P-picture,I-picture)ごと、つまりフレームを単位に分離してエレメントデータとする。
【００２１】
分離したエレメントデータには適切なファイル名を付与することで受信側でのコンテンツ再構成を可能にする。また、分離したエレメントデータからコンテンツ再構成に必要な情報もエレメントデータの１つとして生成する。さらに、分離したエレメントデータをパケット化してパケットロスが発生してもエレメントデータを再構成可能にする。パケット化では、伝送効率が最適となる固定パケット長を決定する。その決定手法については後述する。
【００２２】
配信スケジューリング部２２は、マルチキャストチャネルの情報とパケット化されたエレメントデータの情報から、周期的な配信に関するスケジュールおよびマルチキャストチャネルの分配比率(論理チャネル)を決定し、決定されたスケジュールに従ってマルチキャスト送信部２３へパケット化されたエレメントデータを引き渡し、論理チャネルごとに設定された配信条件で送信する。
【００２３】
パケット化された各エレメントデータを繰り返し送信するが、一律には送信しない。エレメントデータはそれぞれエラー許容レベルが異なるので、エラー許容レベルが低いエレメントデータを優先的に送信するようにスケジューリングを行う。すなわち、マルチキャストチャネルを論理的に分割し、エラーが許容できるエレメントデータが一巡する間に、エラーが許容できないエレメントデータが何巡も送信されるように論理チャネルの幅を設定することで、エラーが発生しても後者のエラーを修復できるようにして配信する。
【００２４】
マルチキャスト送信部２３は、論理的なマルチキャストチャネルを介し、配信スケジューリング部２２で決定された配信スケジュールでそれぞれのエレメントデータを送信する。
【００２５】
クライアント３０において、マルチキャスト受信部３１は、サーバ２０からのパケット化されたエレメントデータをマルチキャストで受信し、パケットロスや重複パケットなどのマルチキャストチャネルで発生したエラーを検出する。受信したエレメントデータはコンテンツ合成部３３に送出する。
【００２６】
コンテンツ合成部３２は、受信されたエレメントデータの受信状態を管理する。また、コンテンツ合成部３２は、受信しているエレメントデータについての各種情報を取得し、十分な再生品質を確保するのに必要なパケットを収集する。重複するパケットがあればこれを廃棄し、パケットにエラーがあれば周期的に送信されてくるパケットでこれを修復する。
【００２７】
コンテンツ合成部３２は、各エレメントデータが、それぞれのエラー許容レベルを下回るなどして一定品質が満たされた場合にコンテンツを再構成し、コンテンツビューア３３に引き渡す。コンテンツビューア３３は、コンテンツ合成部３３から引き渡されたコンテンツを提示させる。
【００２８】
次に、伝送効率が最適となる固定パケット長の決定手法について説明する。マルチキャスト送信部２３から1フレームのデータをx byteの固定長パケットで伝送するとき、送信データのフレームのデータ以外にヘッダやパディングデータなどの本質的ではない情報が付与される。
【００２９】
送信データの1フレームごとにパケットを生成する場合、フレームのデータ以外の情報のデータ長は式(1)で与えられる。
【００３０】
【数１】
0004544528.tif 000002
【００３１】
ここで、aはヘッダ長、sは1フレームのデータ長を表す。〔 〕は対象を越える最小の整数を得るための小数切り上げ操作を表す。したがって、〔s/x 〕は、s byteのデータを伝送するのに必要なパケット数を表す。
【００３２】
個々のフレームについて式(1)で算出した値を合計すれば、コンテンツ全体のフレームのデータ以外のデータ長を得ることができる。したがって、コンテンツ全体で本質的ではないデータの長さf(x)は、式(2)で求められる。
【００３３】
【数２】
0004544528.tif 000003
【００３４】
ここで、nはコンテンツ全体のフレームの総数を表す。個々のフレームは異なるデータ長を持つ。i番目のフレームのデータ長は、sｉで表される。効率的な伝送を実現するには、式(2)で示される冗長的なデータ長を最小化するように固定パケット長xを設定すればよい。
【００３５】
図２は、固定パケット長xと本質的でないデータのデータ長f(x)の相関を示す。ヘッダ長a、各フレームのデータ長sｉによって値域は大きく変化するので、図２には横軸および縦軸のスケールを書き込んでいない。実際の固定パケット長xは、整数であるので、f(x)は離散値をとる。固定パケット長がある程度長くなると、パディングデータ長が増加してf(x)の値が増加する。逆に、固定パケット長が短すぎると、ヘッダ長の合計が増加してf(x)の値が急激に増加する。
【００３６】
図３は、固定パケット長が長い場合と短い場合のフレーム分割の例を示す概念図である。図３(a)は、固定パケット長が長い場合のフレーム分割の例であり、ヘッダ長の合計は短いが、パディングデータ長が長くなる。図３(b)は、固定パケット長が短い場合のフレーム分割の例であり、パディングデータ長は短いが、ヘッダ長の合計が長くなる。
【００３７】
ヘッダ長aおよびフレームのデータ長sｉは、プロトコルの種類やコンテンツのエンコーダによって様々な値をとり得るので、f(x)が最小値をとる固定パケット長xを求める方式を、フレームのデータ長が可変の場合と一定の場合とに分けて一般化することを考える。
【００３８】
まず、フレームのデータ長が可変の場合に、f(x)が最小値をとる固定パケット長xを求める方式を考える。式(2)を式(3)のように固定パケット長xによって変化する関数f(x)と定義して式(3)を展開すると、式(4)が導出される。
【００３９】
【数３】
0004544528.tif 000004
【００４０】
【数４】
0004544528.tif 000005
【００４１】
式(4)の右辺第2項はパディングデータ長の合計を表す。これをパディングデータ長の発生確率を重みとして小数切り上げ操作を近似する。例えば、一様に分布したデータ長を持つフレームが十分に多ければ、パディングデータ長の発生確率は一定と見なすことができる。
具体的には、固定パケット長xが100の場合、フレームのデータ長に偏りがなければコンテンツやフレームのデータ長に依存しないでパディングデータ長は1から99で一様に分布する。よって、パディングデータ長は固定パケット長xの半分として見積もることができ、式(4)は式(5)で表すことができる。
【００４２】
【数５】
0004544528.tif 000006
【００４３】
一方、式(4)の右辺第1項で表されるヘッダ長の合計も、パケット数が十分に多ければ、切り上げ操作の増分は一定値と見なすことができる。すなわち、パケット数〔s/x 〕は、切り上げ操作によってsｉ/xを超えるある整数kで与えられるが、sｉ/xの小数部分は0と1の間で一様に分布する。よって、平均の増分は0.5 として見積もることができるので、式(4)は式(6)から式(7)で表すことができる。
【００４４】
【数６】
0004544528.tif 000007
【００４５】
【数７】
0004544528.tif 000008
【００４６】
ここで、〈s〉は全フレームの平均データ長であり、式(8)で表される。
【００４７】
【数８】
0004544528.tif 000009
【００４８】
関数f(x)が最小となるのは、式(9)が成り立つときである。すなわち、関数f(x)を最小にする固定パケット長xは式(10)で得ることができる。
【００４９】
【数９】
0004544528.tif 000010
【００５０】
【数１０】
0004544528.tif 000011
【００５１】
式(10)の値は、整数値以外の実数値をとり得るが、固定パケット長xは整数値であるので、算出された実数値を挟む整数のどちらかを選択することで最適な固定パケット長を決定する。あるいは送信データの全てのフレームのデータ長sｉを利用し、具体的には式(2)に全てのフレームのデータ長sｉを代入して関数f(x)の値を求め、図２に示すように、その最小点を選択することで最適な固定パケット長を決定することもできる。
【００５２】
次に、フレームのデータ長が固定の場合に、f(x)が最小値をとる固定パケット長xを求める方式を考える。フレームのデータ長sｉが固定されて一定の場合、切り上げ長やパディングデータ長の分布についてデータ長が固定の場合に仮定した条件が当てはまらない。
【００５３】
図４は、この場合の固定パケット長xと本質的でないデータのデータ長f(x)の相関を示す。切り上げ操作による発生長の分布が偏るため、ヘッダ長とパディングデータ長の合計は、図４に示すように不連続関数になる。フレームのデータ長sｉが全てs byteであると仮定すると、式(2)は式(11)から式(12)で表すことができる。式(12)の関数f(x)の値を最小にするには、式(13)の値を最小にする必要がある。
【００５４】
【数１１】
0004544528.tif 000012
【００５５】
【数１２】
0004544528.tif 000013
【００５６】
【数１３】
0004544528.tif 000014
【００５７】
ここで、〔s/x 〕はパケット数を表す。図５は、固定パケット長xとパケット数〔s/x 〕の関係を示す。図５に示すように、パケット数〔s/x 〕は固定パケット長xに対して不連続関数となる。xがs以上の場合、〔s/x 〕は常に1となるので、式(13)を最小にするxはsとなる。逆に、xがs以下の場合には、フレームのデータ長sを整数で割った商が〔s/x 〕の不連続点とになるので、式(13)が最小値をとるxは、任意の正整数mを使って式(14)で表される。
【００５８】
【数１４】
0004544528.tif 000015
【００５９】
このとき、式(13) に式(14)のxを代入すると、am＋sとなるので、式(13)を最小にするには、mは最小値である1でなければならない。よって、式(12)の関数f(x)を最小にするには、固定パケット長xをフレームのデータ長sに一致させればよい。
【００６０】
本発明は、上記実施形態のコンテンツ伝送装置に限らず、固定長パケットでデータ伝送を行うデータ伝送装置において伝送効率を最適にしてデータ配信時間を短縮することができる。
【図面の簡単な説明】
【００６１】
【図１】本発明に係るデータ伝送装置の一実施形態としてのコンテンツ伝送装置を示す機能ブロック図である。
【図２】固定パケット長と本質的でないデータの長さの相関(フレームのデータ長が可変の場合)を示す概念図である。
【図３】固定パケット長が長い場合と短い場合のフレーム分割の例を示す概念図である。
【図４】固定パケット長と本質的でないデータの長さの相関(フレームのデータ長が固定の場合)を示す概念図である。
【図５】固定パケット長とパケット数の関係図(フレームのデータ長が固定の場合)である。
【符号の説明】
【００６２】
１０・・・通信ネットワーク、２０・・・サーバ、２１・・・コンテンツ分離部、２２・・・配信スケジューリング部、２３・・・マルチキャスト送信部、２４・・・コンテンツデータベース(DB)、３０・・・クライアント(受信端末)、３１・・・マルチキャスト受信部、３２・・・コンテンツ合成部、３３・・・コンテンツビューア
【図１】
0004544528.tif 000016
【図２】
0004544528.tif 000017
【図３】
0004544528.tif 000018
【図４】
0004544528.tif 000019
【図５】
0004544528.tif 000020