(57)【要約】【課題】データサイズに応じてオーバヘッドを最適化できる伝送データ生成方法及び伝送データ生成装置を提供することを課題とする。【解決手段】固定ブロックのサイズをオーバヘッドに基づいて設定する工程（Ｓ３）と、固定ブロックのサイズに基づいて固定ブロックの再生時間を算出する工程（Ｓ４）と、コンテンツのセグメント毎に、固定ブロックの再生時間に基づいてセグメントの再生時間を算出する工程（Ｓ１４）と、コンテンツのセグメント毎に、算出済みのセグメントの再生時間に基づいてセグメントの伝送時間を算出する工程（Ｓ１８，Ｓ１９）と、セグメントの伝送時間に応じてコンテンツをセグメントに分割する工程と、セグメントをブロックに分割する工程と、ブロック毎にコンテンツをオーバヘッドを加味してメタコンテンツ化する工程とを含み、固定ブロックにおけるオーバヘッドに基づいてセグメント毎にオーバヘッドが設定されることを特徴とする。【選択図】　図１３
2004048704.tif 000002
【特許請求の範囲】
【請求項１】
固定ブロックのサイズをオーバヘッドに基づいて設定する固定ブロックサイズ設定工程と、
コンテンツのセグメント毎に、前記固定ブロックのサイズに基づいてセグメントのサイズを算出するセグメントサイズ算出工程と、
前記算出したセグメントのサイズに応じてコンテンツをセグメントに分割するセグメント分割工程と、
前記分割したセグメントをブロックに分割するブロック分割工程と、
前記分割したブロック毎にコンテンツをオーバヘッドを加味してメタコンテンツ化するメタコンテンツ化工程と
を含み、
前記固定ブロックにおけるオーバヘッドに基づいてコンテンツのセグメント毎にオーバヘッドが設定されることを特徴とする伝送データ生成方法。
【請求項２】
固定ブロックのサイズをオーバヘッドに基づいて設定する固定ブロックサイズ設定工程と、
前記固定ブロックのサイズに基づいて前記固定ブロックの再生時間を算出する固定ブロック再生時間算出工程と、
コンテンツのセグメント毎に、前記固定ブロックの再生時間に基づいてセグメントの再生時間を算出する再生時間算出工程と、
コンテンツのセグメント毎に、算出済みのセグメントの再生時間に基づいてセグメントの伝送時間を算出する伝送時間算出工程と、
前記算出したセグメントの伝送時間に応じてコンテンツをセグメントに分割するセグメント分割工程と、
前記分割したセグメントをブロックに分割するブロック分割工程と、
前記分割したブロック毎にコンテンツをオーバヘッドを加味してメタコンテンツ化するメタコンテンツ化工程と
を含み、
前記固定ブロックにおけるオーバヘッドに基づいてコンテンツのセグメント毎にオーバヘッドが設定されることを特徴とする伝送データ生成方法。
【請求項３】
前記固定ブロックサイズ設定工程では、オーバヘッドが小さい値となるように前記固定ブロックのサイズを設定することを特徴とする請求項１又は請求項２に記載する伝送データ生成方法。
【請求項４】
セグメントのサイズが固定ブロックのサイズの整数倍でない場合、コンテンツのセグメント毎に、前記固定ブロックで分割できない任意ブロックのサイズ又は再生時間と任意ブロックにおけるオーバヘッドとを求める任意ブロック設定工程を含み、
セグメントのサイズが固定ブロックのサイズの整数倍でない場合、前記セグメント毎のオーバヘッドが、前記固定ブロックにおけるオーバヘッド及び前記セグメントの任意ブロックにおけるオーバヘッドに基づいて設定されることを特徴とする請求項１〜請求項３のいずれか１項に記載する伝送データ生成方法。
【請求項５】
前記固定ブロックの再生時間に基づいて前記固定ブロックの伝送時間を算出する固定ブロック伝送時間算出工程と、
コンテンツのセグメント毎に、前記セグメントの伝送時間及び前記固定ブロックの伝送時間に基づいてセグメントに含まれる固定ブロックの数を算出する固定ブロック数算出工程と、
コンテンツのセグメント毎に、前記算出した固定ブロックの数及び前記固定ブロックの再生時間に基づいてセグメントに含まれる全ての固定ブロックの再生時間を算出する全固定ブロック再生時間算出工程と
を含み、
前記再生時間算出工程では、コンテンツのセグメント毎に、セグメントのサイズが固定ブロックのサイズの整数倍の場合には前記セグメントに含まれる全ての固定ブロックの再生時間をセグメントの再生時間とし、セグメントのサイズが固定ブロックのサイズの整数倍でない場合には前記セグメントの任意ブロックの再生時間及び前記セグメントに含まれる全ての固定ブロックの再生時間に基づいてセグメントの再生時間を算出することを特徴とする請求項２〜４のいずれか１項に記載する伝送データ生成方法。
【請求項６】
前記任意ブロック設定工程では、コンテンツのセグメント毎に、前記セグメントに含まれる全ての固定ブロックの再生時間及び前記セグメントの伝送時間を用いて前記任意ブロックの再生時間と前記任意ブロックにおけるオーバヘッドとの乗算値を求め、当該乗算値から所定の数値解析法により前記任意ブロックの再生時間及び前記任意ブロックにおけるオーバヘッドを求めることを特徴とする請求項５に記載する伝送データ生成方法。
【請求項７】
固定ブロックのサイズをオーバヘッドに基づいて設定し、当該固定ブロックのサイズに基づいて固定ブロックの再生時間を算出し、コンテンツのセグメント毎に、当該固定ブロックの再生時間に基づいてセグメントの再生時間を算出し、算出済みのセグメントの再生時間に基づいてセグメントの伝送時間を算出する時間算出手段と、
前記時間算出手段で算出したセグメントの伝送時間に応じてコンテンツをセグメントに分割し、当該分割したセグメントをブロックに分割する分割手段と、
前記分割手段で分割したブロック毎にコンテンツをオーバヘッドを加味してメタコンテンツ化するメタコンテンツ手段と
を備え、
前記時間算出手段は、当該固定ブロックにおけるオーバヘッドに基づいてセグメント毎にオーバヘッドを設定することを特徴とする伝送データ生成装置。
【請求項８】
前記時間算出手段は、オーバヘッドが小さな値となるように前記固定ブロックのサイズを設定することを特徴とする請求項７に記載する伝送データ生成装置。
【請求項９】
前記時間算出手段は、セグメントのサイズが固定ブロックのサイズの整数倍でない場合、コンテンツのセグメント毎に、前記固定ブロックで分割できない任意ブロックの再生時間と任意ブロックにおけるオーバヘッドとを求め、前記セグメント毎のオーバヘッドを前記固定ブロックにおけるオーバヘッド及び前記セグメントの任意ブロックにおけるオーバヘッドに基づいて設定することを特徴とする請求項７又は請求項８に記載する伝送データ生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンテンツを伝送するための伝送データを生成する伝送データ生成方法及び伝送データ生成装置に関する。
【０００２】
【従来の技術】
近年、インターネットやイントラネットにおいて、ＡＤＳＬ［Ａｓｙｍｍｅｔｒｉｃ　Ｄｉｇｉｔａｌ　Ｓｕｂｓｃｒｉｂｅｒ　Ｌｉｎｅ］やＦＴＴＨ［Ｆｉｂｅｒ　Ｔｏ　Ｔｈｅ　Ｈｏｍｅ］等のブロードバンドの加入者が急速に増加している。ブロードバンドによって、各種コンテンツをストリーミング配信することが可能となり、例えば、ＶＯＤ［Ｖｉｄｅｏ　　Ｏｎ　　Ｄｅｍａｎｄ］による個々のユーザに対する映像及び音声の提供やシネマコンプレックスにおいて時間をずらしての同じ映画の提供が可能となった。このようなコンテンツのストリーミング配信では、順方向誤り訂正（ＦＥＣ［Ｆｏｒｗａｒｄ　Ｅｒｒｏｒ　Ｃｏｒｒｅｃｔｉｏｎ］）技術（特許文献１参照）やメディア分割技術（特許文献２参照）等が利用されている。
【０００３】
順方向誤り訂正技術としては、例えば、ルビー変換（ＬＴ［Ｌｕｂｙ　Ｔｒａｎｓｆｏｒｍ］）がある。ルビー変換では、コンテンツの元データをオーバヘッドを加味してメタコンテンツ化する。そして、このメタコンテンツ化したデータを持つパケットが配信される。各パケットには、コンテンツの元データを求めるための排他的論理和による方程式がランダムに並べられている。受信側では、オーバヘッド分を含むメタコンテンツ（パケット）を受信することができれば、コンテンツの元データをほぼ１００％復元することができ、劣化することなくコンテンツの映像や音声を再生することができる。
【０００４】
メディア分割技術では、ダウンロードを開始してから再生するまでの待ち時間が設定されると、その待ち時間に基づいてコンテンツの先頭からの再生時間とダウンロード時間を算出する。この再生時間とダウンロード時間は、コンテンツの先頭から徐々に増加し、再生時間の累積時間がコンテンツの総再生時間になるまで算出される。そして、ダウンロード時間（又は再生時間）に応じてコンテンツがセグメントに分割され、さらに、ルビー変換を組み合わせるとセグメント毎にメタコンテンツ化され、パケット配信される。受信側では、コンテンツの先頭のメタコンテンツ化されたセグメント（パケット）から順次ダウンロードし、ダウンロードしたセグメントを順次再生するするによってシームレスにコンテンツを再生することができ、非常に短い待ち時間でコンテンツを視聴することができる。
【０００５】
【特許文献１】
米国特許出願公開第２００１／００１９３１０号明細書
【特許文献２】
米国特許出願公開第２００２／０１０７９６８号明細書
【０００６】
【発明が解決しようとする課題】
しかしながら、メタコンテンツ化する際のオーバヘッドの最適値は、データのサイズに応じて変動する。ところが、コンテンツやセグメントのサイズは任意のサイズなので、サイズに関係なく、受信側においてコンテンツを劣化することなく再生可能とするために、配信側ではオーバヘッドを安全側に設定している。つまり、配信側では、どのようなサイズでもコンテンツを１００％復元可能とするために、オーバヘッドの変動範囲（例えば、１０４〜１０５％）の中で一番大きな値に設定し、冗長データを余分に付加している。そのため、オーバヘッドをデータサイズに応じて最適値に設定した場合に比べて、メタコンテンツ化した伝送データ量が増加し、伝送帯域が大きくなる。
【０００７】
そこで、本発明は、データサイズに応じてオーバヘッドを最適化できる伝送データ生成方法及び伝送データ生成装置を提供することを課題とする。
【０００８】
【課題を解決するための手段】
本発明に係る伝送データ生成方法は、固定ブロックのサイズをオーバヘッドに基づいて設定する固定ブロックサイズ設定工程と、コンテンツのセグメント毎に、固定ブロックのサイズに基づいてセグメントのサイズを算出するセグメントサイズ算出工程と、算出したセグメントのサイズに応じてコンテンツをセグメントに分割するセグメント分割工程と、分割したセグメントをブロックに分割するブロック分割工程と、分割したブロック毎にコンテンツをオーバヘッドを加味してメタコンテンツ化するメタコンテンツ化工程とを含み、固定ブロックにおけるオーバヘッドに基づいてコンテンツのセグメント毎にオーバヘッドが設定されることを特徴とする。
【０００９】
この伝送データ生成方法では、まず、固定ブロックのサイズをオーバヘッドに基づいて設定する。続いて、伝送データ生成方法では、コンテンツのセグメント毎に、固定ブロックのサイズに基づいてセグメントのサイズを算出する。そして、伝送データ生成方法では、算出したセグメントのサイズに応じてコンテンツをセグメントに分割し、さらに、分割したセグメントをブロックに分割する。最後に、伝送データ生成方法では、分割したブロック毎にコンテンツをオーバヘッドを加味してメタコンテンツ化し、ブロック単位の伝送データを生成する。セグメントは、１個以上の固定ブロックからなり、セグメントサイズが大きくなるほど固定ブロックの数が増える。また、セグメントのサイズは、固定ブロックのサイズの整数倍となる場合と整数倍とならない場合がある。したがって、セグメントのオーバヘッドは、整数倍となる場合には固定ブロックにおけるオーバヘッドからなり、整数倍とならない場合には固定ブロックにおけるオーバヘッドと余りのブロックにおけるオーバヘッドからなる。いずれの場合もセグメントのオーバヘッドは固定ブロックにおけるオーバヘッドが基本となっており、整数倍とならない場合でもセグメントのオーバヘッドはセグメントに含まれる固定ブロックの数が多いほど固定ブロックにおけるオーバヘッドに近い値となる。したがって、この伝送データ生成方法では、セグメント毎にオーバヘッドが固定ブロックにおけるオーバヘッドに基づいて設定される。そこため、この伝送データ生成方法では、固定ブロックのサイズをそのオーバヘッドを考慮して設定しているので、セグメントのオーバヘッドをセグメントのサイズ（ひいては、コンテンツのサイズ）に応じて最適な値に設定できる。
【００１０】
本発明に係る伝送データ生成方法は、固定ブロックのサイズをオーバヘッドに基づいて設定する固定ブロックサイズ設定工程と、固定ブロックのサイズに基づいて固定ブロックの再生時間を算出する固定ブロック再生時間算出工程と、コンテンツのセグメント毎に、固定ブロックの再生時間に基づいてセグメントの再生時間を算出する再生時間算出工程と、コンテンツのセグメント毎に、算出済みのセグメントの再生時間に基づいてセグメントの伝送時間を算出する伝送時間算出工程と、算出したセグメントの伝送時間に応じてコンテンツをセグメントに分割するセグメント分割工程と、分割したセグメントをブロックに分割するブロック分割工程と、分割したブロック毎にコンテンツをオーバヘッドを加味してメタコンテンツ化するメタコンテンツ化工程とを含み、固定ブロックにおけるオーバヘッドに基づいてコンテンツのセグメント毎にオーバヘッドが設定されることを特徴とする。
【００１１】
この伝送データ生成方法では、まず、固定ブロックのサイズをオーバヘッドに基づいて設定し、その設定した固定ブロックのサイズに基づいて固定ブロックの再生時間を算出する。続いて、伝送データ生成方法では、コンテンツのセグメント毎に、算出した固定ブロックの再生時間に基づいてセグメントの再生時間を順次算出し、既に算出しているセグメントの再生時間に基づいてセグメントの伝送時間を算出する。そして、伝送データ生成方法では、算出したセグメントの伝送時間に応じてコンテンツをセグメントに分割し、さらに、分割したセグメントをブロックに分割する。最後に、伝送データ生成方法では、分割したブロック毎にコンテンツをオーバヘッドを加味してメタコンテンツ化し、ブロック単位の伝送データを生成する。この伝送データ生成方法でも、上記の伝送データ生成方法と同様に、セグメント毎にオーバヘッドが固定ブロックにおけるオーバヘッドに基づいて設定され、この固定ブロックのサイズをそのオーバヘッドを考慮して設定しているので、セグメントのオーバヘッドをサイズに応じて最適な値を設定できる。ちなみに、実際にセグメントのサイズを設定していく場合には受信側での待ち時間（伝送時間の初期値）に基づいて設定されるので、セグメントや固定ブロックのサイズを表すものとして時間（再生時間及び伝送時間）を用いている。
【００１２】
なお、セグメントは、コンテンツをメディア分割する際の分割単位であり、待ち時間やチャネル数等に基づいてセグメント毎の再生時間及び伝送時間が算出され、その伝送時間又は再生時間（セグメントサイズに相当）に応じて分割される。固定ブロックは、コンテンツをメタコンテンツ化及び伝送する際の単位であり、サイズが固定である。固定ブロックのサイズとしては、例えば、６４Ｍバイト、３２Ｍバイト、１６Ｍバイト、８Ｍバイト等の６４Ｍバイトを２の乗数で割ったサイズが設定される。セグメント単位ではなくブロック単位とするのは、サイズの上限が決まったデータを取り扱う必要があるプログラム上の制限やメモリ等のハードウエア上の制限があるからである。ちなみに、セグメント単位でデータを取り扱った場合、データサイズが任意であり、そのサイズの上限も規定できない。
【００１３】
ちなみに、セグメントのサイズは、セグメントの伝送時間に伝送速度を乗算した値、また、セグメントの再生時間に再生速度を乗算した値である。固定ブロックのサイズは、固定ブロックの伝送時間に伝送速度を乗算した値、また、固定ブロックの再生時間に再生速度を乗算した値である。したがって、再生時間及び伝送時間は、サイズを表すパラメータであり、時間が長くなるほどサイズが大きくなる。また、再生時間と伝送時間とは比例関係にあり、伝送時間に応じてセグメントに分割することは再生時間に応じてセグメントに分割することと同等である。
【００１４】
本発明の上記伝送データ生成方法は、固定ブロックサイズ設定工程では、オーバヘッドが小さい値となるように固定ブロックのサイズを設定すると好適である。
【００１５】
この伝送データ生成方法では、オーバヘッドが小さい値になるように固定ブロックのサイズを設定することによって、セグメント毎のオーバヘッドが小さくなる。したがって、固定ブロック（ひいては、セグメント）毎の伝送データ量が少なくなり、伝送帯域を小さくすることができる。
【００１６】
本発明の上記伝送データ生成方法は、セグメントのサイズが固定ブロックのサイズの整数倍でない場合、コンテンツのセグメント毎に、固定ブロックで分割できない任意ブロックのサイズ又は再生時間と任意ブロックにおけるオーバヘッドとを求める任意ブロック設定工程を含み、セグメントのサイズが固定ブロックのサイズの整数倍でない場合、セグメント毎のオーバヘッドが、固定ブロックにおけるオーバヘッド及びセグメントの任意ブロックにおけるオーバヘッドに基づいて設定される構成とする。
【００１７】
この伝送データ生成方法では、セグメントのサイズが固定ブロックのサイズの整数倍とならない場合、コンテンツのセグメント毎に、その固定ブロックで分割できない余りのブロックである任意ブロックのサイズ又は再生時間と任意ブロックのオーバヘッドを求める。この場合、セグメントのオーバヘッドは、固定ブロックにおけるオーバヘッドとセグメント毎の任意ブロックにおけるオーバヘッドからなる。このように、この伝送データ生成方法では、セグメントが固定ブロックでちょうど分割できない場合でも、その余りのブロックのオーバヘッドを求めることによって、セグメント毎にオーバヘッドを設定することができる。
【００１８】
なお、任意ブロックは、セグメントを固定ブロックで分割した場合の余りのブロックであり、サイズが任意である。したがって、任意ブロックは、サイズに応じてオーバヘッドが変わる。ちなみに、任意ブロックのサイズは、任意ブロックの伝送時間に伝送速度を乗算した値、また、任意ブロックの再生時間に再生速度を乗算した値である。
【００１９】
本発明の上記伝送データ生成方法は、固定ブロックの再生時間に基づいて固定ブロックの伝送時間を算出する固定ブロック伝送時間算出工程と、コンテンツのセグメント毎に、セグメントの伝送時間及び固定ブロックの伝送時間に基づいてセグメントに含まれる固定ブロックの数を算出する固定ブロック数算出工程と、コンテンツのセグメント毎に、算出した固定ブロックの数及び固定ブロックの再生時間に基づいてセグメントに含まれる全ての固定ブロックの再生時間を算出する全固定ブロック再生時間算出工程とを含み、再生時間算出工程では、コンテンツのセグメント毎に、セグメントのサイズが固定ブロックのサイズの整数倍の場合にはセグメントに含まれる全ての固定ブロックの再生時間をセグメントの再生時間とし、セグメントのサイズが固定ブロックのサイズの整数倍でない場合にはセグメントの任意ブロックの再生時間及びセグメントに含まれる全ての固定ブロックの再生時間に基づいてセグメントの再生時間を算出する構成とする。
【００２０】
この伝送データ生成方法では、固定ブロックの再生時間を算出後、固定ブロックの再生時間に基づいて固定ブロックの伝送時間を算出する。そして、伝送データ生成方法では、コンテンツのセグメント毎に、セグメントの伝送時間と固定ブロックの伝送時間とからセグメントに含まれる固定ブロックの数を算出し、その固定ブロックの数と固定ブロックの再生時間とからセグメントに含まれる全ての固定ブロックの再生時間を算出する。さらに、伝送データ生成方法では、コンテンツのセグメント毎に、セグメントのサイズが固定ブロックのサイズの整数倍の場合にはセグメントに含まれる全ての固定ブロックの再生時間をセグメントの再生時間とし、整数倍とならない場合にはセグメントの任意ブロックの再生時間及びセグメントに含まれる全ての固定ブロックの再生時間に基づいてセグメントの再生時間を算出する。このように、伝送データ生成方法では、セグメントに含まれる固定ブロックの数を簡単に算出することができ、その固定ブロックの数からセグメントの再生時間を算出することができる。
【００２１】
本発明の上記伝送データ生成方法は、任意ブロック設定工程では、コンテンツのセグメント毎に、セグメントに含まれる全ての固定ブロックの再生時間及びセグメントの伝送時間を用いて任意ブロックの再生時間と任意ブロックにおけるオーバヘッドとの乗算値を求め、当該乗算値から所定の数値解析法により任意ブロックの再生時間及び任意ブロックにおけるオーバヘッドを求める構成とする。
【００２２】
この伝送データ生成方法では、コンテンツのセグメント毎に、セグメントに含まれる全ての固定ブロックの再生時間を算出すると、その全ての固定ブロックの再生時間及びセグメントの伝送時間を用いて任意ブロックの再生時間とオーバヘッドとの乗算値を求め、当該乗算値から所定の数値解析法により任意ブロックの再生時間及びオーバヘッドを求める。この伝送データ生成方法では、任意ブロックの再生時間をそのオーバヘッドを考慮して求めているので、セグメントのオーバヘッドをセグメントのサイズ（ひいては、コンテンツのサイズ）に応じて最適な値に設定できる。なお、任意ブロックの再生時間とオーバヘッドとの２つの変数に対して１つの方程式が成立するが、ニュートン・ラフソン法や二分割法等の数値解析法を用いることにより、２つの変数を求めることできる。
【００２３】
本発明に係る伝送データ生成装置は、固定ブロックのサイズをオーバヘッドに基づいて設定し、当該固定ブロックのサイズに基づいて固定ブロックの再生時間を算出し、コンテンツのセグメント毎に、当該固定ブロックの再生時間に基づいてセグメントの再生時間を算出し、算出済みのセグメントの再生時間に基づいてセグメントの伝送時間を算出する時間算出手段と、時間算出手段で算出したセグメントの伝送時間に応じてコンテンツをセグメントに分割し、当該分割したセグメントをブロックに分割する分割手段と、分割手段で分割したブロック毎にコンテンツをオーバヘッドを加味してメタコンテンツ化するメタコンテンツ手段とを備え、時間算出手段は、当該固定ブロックにおけるオーバヘッドに基づいてセグメント毎にオーバヘッドを設定することを特徴とする。
【００２４】
本発明の上記伝送データ生成装置では、時間算出手段は、オーバヘッドが小さな値となるように固定ブロックのサイズを設定すると好適である。
【００２５】
本発明の上記伝送データ生成装置では、時間算出手段は、セグメントのサイズが固定ブロックのサイズの整数倍でない場合、コンテンツのセグメント毎に、固定ブロックで分割できない任意ブロックの再生時間と任意ブロックにおけるオーバヘッドとを求め、セグメント毎のオーバヘッドを固定ブロックにおけるオーバヘッド及びセグメントの任意ブロックにおけるオーバヘッドに基づいて設定する構成とする。
【００２６】
上記伝送データ生成装置では、上記伝送データ生成方法と同様の作用効果を奏する。
【００２７】
【発明の実施の形態】
以下、図面を参照して、本発明に係る伝送データ生成方法及び伝送データ生成装置の実施の形態を説明する。
【００２８】
本実施の形態では、本発明に係る伝送データ生成方法及び伝送データ生成装置を、ＩＰ［Ｉｎｔｅｒｎｅｔ　Ｐｒｏｔｏｃｏｌ］マルチキャスト型ＶＯＤサービスにおけるサーバに適用する。本実施の形態に係るＩＰ［Ｉｎｔｅｒｎｅｔ　Ｐｒｏｔｏｃｏｌ］マルチキャスト型ＶＯＤサービスでは、サーバがコンテンツをインターネットを介して多数のパーソナルコンピュータ（以下、パソコンと記載する）にストリーミング配信し、パソコンでは短い待ち時間でコンテンツをシームレスに再生することできる。本実施の形態に係るサーバは、ＶＯＤサーバであり、ルビー変換によるメタコンテンツ化とメディア分割を組み合わせてコンテンツをストリーミング配信する。
【００２９】
図１を参照して、ＩＰマルチキャスト型ＶＯＤサービスの構成について説明する。図１は、本実施の形態に係るＩＰマルチキャスト型ＶＯＤサービスの全体構成図である。なお、図１には、パソコンを１台しか描いていないが、実際には、多数のパソコンが存在する。
【００３０】
ＩＰマルチキャストＶＯＤサービスでは、サーバ１がインターネットＩを介してパソコン２にコンテンツＣＮをストリーミング配信する。サーバ１では、コンテンツＣＮをメディア分割するとともにメタコンテンツ化してセグメント毎にパケット（伝送データ）を生成することによって、高品質かつ高速配信を実現している。パソコン２では、サーバ１からのパケットをセグメント毎に順次受信し、受信したパケットをセグメント毎に順次再生することによって、長時間のコンテンツＣＮでも短い待ち時間でシームレスに再生することができる。
【００３１】
サーバ１では、ハードディスク１０に多数のコンテンツＣＮ，・・・を格納しており、パケット化するコンテンツＣＮをハードディスク１０からドライバ（図示せず）によって読み出す。コンテンツＣＮは、少なくとも動画（映像）のデータを含んでおり、動画のデジタルデータがＭＰＥＧ［Ｍｏｖｉｎｇ　Ｐｉｃｔｕｒｅ　Ｅｘｐｅｒｔｓ　Ｇｒｏｕｐ］２等によって圧縮されて格納されている。コンテンツＣＮは、動画の他に音声や文字等のデータを含んでいてもよい。ちなみに、コンテンツＣＮの全体のサイズは、コンテンツＣＮの最初から最後までの総再生時間Ｓと再生するときの速度であるストリーミングレートＲとによって表すことができる。
【００３２】
そして、サーバ１では、メディア分割部１１によってコンテンツＣＮをセグメントＳＧ，・・・に分割し、更に、各セグメントＳＧをブロックＢＬ，・・・に分割する。さらに、サーバ１では、ＦＥＣエンコーダ１２によってコンテンツＣＮをブロックＢＬ毎にメタコンテンツ化し、メタコンテンツ化したデータからなるパケット（ブロック単位）を生成する。そして、サーバ１では、送信機１３によってパケットをインターネットＩを介して配信する。メディア分割部１１及びＦＥＣエンコーダ１２は、専用プログラムをコンピュータで実行することによってソフトウエアで構成される。なお、メディア分割部１１及びＦＥＣエンコーダ１２における処理については、後で詳細に説明する。
【００３３】
パソコン２では、受信機２０によってセグメント毎にブロック単位のパケットをダウンロードする。そして、パソコン２では、ＦＥＣデコーダ２１によってパケットに含まれるメタコンテンツ化されたデータをコンテンツＣＮの元データに復元する。さらに、パソコン２では、ＭＰＥＧデコーダ２２によって圧縮化されている元データを解凍する。そして、パソコン２では、モニタ２３でセグメントＳＧ毎にコンテンツＣＮを連続再生する。
【００３４】
メディア分割部１１及びＦＥＣエンコーダ１２における処理を説明する前に、メディア分割部１１及びＦＥＣエンコーダ１２で用いるパラメータを以下に示す。パソコン２でダウンロードを開始してから再生を開始するまでの待ち時間ｗ、コンテンツＣＮのストリーミングレートＲ及び総再生時間Ｓ、メタコンテンツ化を行う際のオーバヘッドｅ、サーバ１からパソコン２にコンテンツＣＮを伝送する際のパケットロス耐性Ｌ、最大受信レートＲｍａｘ、同時受信チャネル数Ｃ、マルチキャストグループ数ｎとする。オーバヘッドｅとパケットロス耐性Ｌを加味した実効ストリーミングレートＲｅｆｆは、式（１）により求めることができ、冗長度を加味したコンテンツのストリーミングレートを示す。また、ストリーミングレート比ｍは、式（２）により求めることができ、最大受信レートＲｍａｘに対する実効ストリーミングレートＲｅｆｆを示す。また、チャネル当たりの送信レートＲｓは、式（３）により求めることができる。
【００３５】
【数１】
2004048704.tif 000003
なお、パケットロス耐性Ｌは、単位が百分率［％］で表されるが、本実施の形態で用いられる各式では百分率に応じた１以下の数値（例えば、１０％の場合には０．１）が用いられる。また、オーバヘッドｅも、単位が百分率［％］で表されるが、本実施の形態で用いられる各式では百分率に応じた１．０４〜１．０５の数値が用いられる。
【００３６】
図１〜図１０を参照して、メディア分割部１１における処理を詳細に説明する。図２は、メディア分割部における処理の説明図である。図３は、同時受信チャネル数が１の場合のダウンロード時間と再生時間の関係を示す図である。図４は、同時受信チャネル数が２の場合のダウンロード時間と再生時間の関係を示す図である。図５は、同時受信チャネル数が３の場合のダウンロード時間と再生時間の関係を示す図である。図６は、ダウンロード時間及び再生時間とストリーミングレートとの関係を示す図である。図７は、メディア分割部におけるブロック分割の説明図である。図８は、ルビー変換におけるデータサイズとオーバヘッドとの関係を示す図である。図９は、オーバヘッドを最適化した場合のダウンロード時間及び再生時間とストリーミングレートとの関係を示す図である。図１０は、ニュートン・ラフソン法の説明図ある。
【００３７】
メディア分割部１１では、図２に示すように、コンテンツＣＮをセグメントＳＧに分割し、さらに、そのセグメントＳＧを固定ブロックＢＬｆと固定ブロックＢＬｆで分割できなかった余りのブロックである任意ブロックＢＬｏに分割する。セグメントＳＧは、設定された待ち時間ｗでシームレスにストリーミング配信するために、コンテンツＣＮをメディア分割する際の分割単位である。セグメントＳＧのサイズは、任意のサイズであり、コンテンツＣＮの先頭から徐々に増加していく。固定ブロックＢＬｆは、コンテンツＣＮをメタコンテンツ化及び伝送する際の単位であり、サイズが固定である。固定ブロックＢＬｆのサイズは、再生装置（パソコン２）のメモリに読み込む必要があるため、その制約によって決まる。任意ブロックＢＬｏは、セグメントＳＧを固定ブロックＢＬｆで分割した場合に固定ブロックＢＬｆで分割できなかった余りのブロックである。任意ブロックＢＬｏのサイズは、固定ブロックＢＬｆのサイズより小さい任意のサイズである。ちなみに、セグメントＳＧを固定ブロックＢＬｆでちょうど分割できた場合、そのセグメントＳＧには任意ブロックＢＬｏは存在しない。
【００３８】
セグメントＳＧに分割するのは、受信側においてセグメント単位でダウンロード及び再生を繰り返し実行することによって、ダウンロードを開始してから設定された待ち時間ｗを待つだけでシームレスな再生を可能とするためである。セグメントＳＧのサイズは、ダウンロード時間ｂ１，ｂ２，・・・と送信レート（伝送速度）との乗算値又は再生時間ａ１，ａ２，・・・とストリーミングレート（再生速度）との乗算値で表すことができる。送信レート及びストリーミングレートはそれぞれ一定の速度なので、セグメントＳＧ，・・・はそのサイズを相当するダウンロード時間ｂ１，ｂ２，・・・に応じて分割される。再生時間ａ１，ａ２，・・・を全て加算した時間は、コンテンツＣＮの総再生時間Ｓになる。ちなみに、ダウンロード時間ｂ１，ｂ２，・・・と再生時間ａ１，ａ２，・・・とは比例関係にあり、ダウンロード時間ｂ１，ｂ２，・・・に応じた分割は再生時間ａ１，ａ２，・・・に応じた分割と同じ分割結果が得られる。
【００３９】
セグメントＳＧをブロックＢＬｆ，ＢＬｏに分割するのは、サーバ１及びパソコン２で取り扱うデータ量の上限を規定するためである。というのは、サーバ１及びパソコン２には、取り扱うことができるデータ量に、プログラム上の制限やメモリ等のハードウエア上の制限があるからである。
【００４０】
図３〜図５を参照して、メディア分割部１１における再生時間とダウンロード時間によるセグメント分割の方法を、３つの例を挙げて説明する。図３〜図５に示す例では、待ち時間ｗを３０秒、ストリーミングレートＲを６００ｋｂｐｓ、オーバヘッドｅを１．０５（１０５％）、パケットロス耐性Ｌを１０％、最大受信レートＲｍａｘを１４００ｋｂｐｓとしている。この場合、実効ストリーミングレートＲｅｆｆは、式（１）により、７００ｋｂｐｓである。また、ストリーミングレート比ｍは、式（２）により、２である。
【００４１】
まず、メディア分割部１１では、ダウンロード時間の初期値として待ち時間ｗ＝３０秒（＝０．５分）を１つ目のセグメントのダウンロード時間ｂ１に設定する。そして、メディア分割部１１では、各セグメントの再生時間ａｎを順次演算し、算出済みの１つ又は複数の再生時間ａｎ，ａｎ−１，・・・から次のセグメントのダウンロード時間ｂｎ＋１を順次演算する。この際、連続するセグメント間で再生が途切れないように再生時間を設定するとともに、１つ又は複数のセグメントの再生時間中に次のセグメントのダウンロード時間を設定する。また、再生時間ａ１，・・・ａｎの積算時間が総再生時間Ｓになるまで、再生時間とダウンロード時間とを順次設定する。ちなみに、待ち時間ｗは、パソコン２からユーザが設定してもよいし、あるいは、サーバ１側で予め設定しておいてもよい。
【００４２】
図３の例では、同時受信チャネル数Ｃが１である。そこで、１つのセグメントの再生時間に対して次のセグメントのダウンロード時間を設定する。また、チャネル当たりの送信レートＲｓは、式（３）により１４００ｋｂｐｓであり、実効ストリーミングレートＲｅｆｆの２倍である。したがって、各セグメントにおいてダウンロード時間に対して再生時間が２倍となる。まず、１つ目のセグメントのダウンロード時間を０．５分間に設定すると、０．５分後に、２つ目のセグメントのダウンロード時間を１分間設定し、１．５分後に、３つ目のセグメントのダウンロード時間を２分間設定する。
【００４３】
図４の例では、同時受信チャネル数Ｃが２である。そこで、２つのセグメントの再生時間に対して次のセグメントのダウンロード時間を設定する。また、チャネル当たりの送信レートＲｓは、式（３）により７００ｋｂｐｓであり、実効ストリーミングレートＲｅｆｆの１倍である。したがって、各セグメントにおいてダウンロード時間に対して再生時間が１倍となる。まず、１つ目のセグメントのダウンロード時間を０．５分間及び再生時間を０．５分間設定するとともに２つ目のセグメントのダウンロード時間を１分間設定すると、０．５分後に、３つ目のセグメントのダウンロード時間を１．５（＝０．５＋１）分間設定し、１分後に、４つ目のセグメントのダウンロード時間を２．５（＝１＋０．５）分間設定し、２分後に、５つ目のセグメントのダウンロード時間を４．０（＝１．５＋２．５）分間設定する。
【００４４】
図５の例では、同時受信チャネル数Ｃが３である。そこで、３つのセグメントの再生時間に対して次のセグメントのダウンロード時間を設定する。また、チャネル当たりの実効送信レートＲｓは、式（３）により４６７ｋｂｐｓであり、実効ストリーミングレートＲｅｆｆの２／３倍である。したがって、各セグメントにおいてダウンロード時間に対して再生時間が２／３倍となる。まず、１つ目のセグメントのダウンロード時間を０．５分間及び再生時間を０．３３分間設定するとともに２つ目のセグメントのダウンロード時間を０．８３分間及び再生時間を０．５６分間設定するととともに３つのセグメントのダウンロード時間を１．３９分間設定すると、０．５分後に、４つ目のセグメントのダウンロード時間を１．８２（＝０．３３＋０．５６＋０．９３）分間設定し、０．８３分後に、５つ目のセグメントのダウンロード時間を２．７０（＝０．５６＋０．９３＋１．２１）分間設定し、１．３９分後に、６つ目のセグメントのダウンロード時間を３．９３（＝０．９３＋１．２１＋１．７９）分間設定する。
【００４５】
ここで、ｎ番目のセグメントのダウンロード時間をｂｎとし、再生時間をａｎとした場合、ダウンロード時間ｂｎと再生時間ａｎとの関係は式（４）に示す関係となる。メディア分割部１１では、ダウンロード時間ｂｎを、式（５）又は式（６）により、ｎ番目以前の再生時間ａｎ−１，ａｎ−２，・・・から演算する。
【００４６】
【数２】
2004048704.tif 000004
式（５）、（６）に示すように、セグメントのダウンロード時間ｂｎは既に演算されている再生時間ａｎ−１，ａｎ−２，・・・を加算して求めることができ、チャネル数Ｃによってその加算する個数が変わる。
【００４７】
図６を参照して、各セグメントにおける再生時間ａｎ及びダウンロード時間ｂｎとストリーミングレートＲ及び実効ストリーミングレートＲｅｆｆとの関係について説明する。各セグメントでは、再生データとダウンロードデータとは同じサイズなので、式（７）に示すように、再生時間ａｎとストリーミングレートＲとの乗算値（図６の白塗りつぶし領域参照）はダウンロード時間ｂｎとチャンネル当たりの送信レートｍＲ／Ｃとの乗算値に等しくなる（図６の斜線領域参照）。さらに、パソコン２側でコンテンツＣＮの元データに１００％復元可能とするために、サーバ１側では、各セグメントにおいてメタコンテンツ化する際のオーバヘッドｅ（図６のｅで示す点領域参照）と伝送中のパケットロスに対するパケットロス耐性Ｌ（図６の１／（１−Ｌ）で示す点領域参照）による冗長データ分を加味している。したがって、各セグメントでは、式（８）に示すように、再生時間ａｎと実効ストリーミングレートＲｅｆｆとの乗算値はダウンロード時間ｂｎとチャンネル当たりの実効送信レートｍＲｅｆｆ／Ｃとの乗算値に等しくなる。なお、オーバヘッドｅは、出来るだけ小さな最適な値が設定され、例えば、１０４％〜１０５％の値である。パケットロス耐性Ｌは、サーバ１とパソコン２との間のネットワークにおいて想定される値が設定され、下限が０％であり、上限が５０％未満であり、例えば、１０％程度である。
【００４８】
【数３】
2004048704.tif 000005
式（７）、（８）では、時間とレートとの乗算値であるデータサイズが、再生データとダウンロードデータとで変わらないことを示している。
【００４９】
一方、パソコン２側では、伝送中にパケットロス耐性Ｌに相当するパケットが損失しているので、ダウンロードデータからパケットロス耐性Ｌに相当する冗長データが減少している。さらに、パソコン２側では、メタコンテンツ化されたデータを元データに復元する際にオーバヘッドｅに相当する冗長データを損失するので、再生データにおいてオーバヘッドｅに相当する冗長データが減少している。
【００５０】
図２、図７〜図１０を参照して、メディア分割部１１におけるブロック分割の方法を説明する。まず、メディア分割部１１では、固定ブロックＢＬｆのサイズを設定する（図２参照）。固定ブロックＢＬｆのサイズＢｓは、固定ブロックのオーバヘッドｅ１の値が小さな値になるように設定する。メタコンテンツ化におけるオーバヘッドは、図８に示すように、１０４〜１０５％の間をデータサイズに応じて変動している。シミュレーションや実験等の結果、６４Ｍバイトを２の乗数で割ったデータサイズ（６４Ｍバイト、３２Ｍバイト、１６Ｍバイト、・・・）においてオーバヘッドｅが周期的に小さくなる。そこで、メディア分割部１１では、固定ブロックＢＬｆのサイズＢｓとして、例えば、オーバヘッドｅ１が１０４％となる６４Ｍバイトを設定する。この場合、サーバ１において６４Ｍバイトの元データを１０％のオーバヘッドを加味してメタコンテンツ化し、パソコン２においてこの４％分の冗長データを含むメタコンテンツデータを受信できれば、元データをほぼ１００％復元できる。このように、サーバ１では、固定ブロックのオーバヘッドｅ１を極力小さな値に設定し、冗長データ量を少なくし、固定ブロックにおけるデータ量を低減している。
【００５１】
次に、メディア分割部１１では、式（９）により、固定ブロックサイズＢｓから固定ブロックの再生時間ｄａを演算する（図７参照）。続いて、メディア分割部１１では、式（１０）により、固定ブロックのオーバヘッドｅ１から固定ブロックにおけるストリーミングレート比ｍ１を演算する。さらに、メディア分割部１１では、式（１１）により、固定ブロックの再生時間ｄａとストリーミングレート比ｍ１から固定ブロックのダウンロード時間ｄｂを演算する（図７参照）。なお、ダウンロード時間ｄｂがセグメントのダウンロード時間ｂｎより大きくなった場合には、固定ブロックサイズＢｓを半分のサイズに再設定する。さらに、半分にしても大きい場合には、更に半分にする。
【００５２】
【数４】
2004048704.tif 000006
この固定ブロックの再生時間ｄａ及びダウンロード時間ｄｂは、固定ブロックサイズＢｓが全てのセグメントに対して共通なので、全てのセグメントにおいて同じ値である。
【００５３】
そして、メディア分割部１１では、セグメント毎に、式（１２）により、各セグメントに含まれる固定ブロックの数ｋを演算する（図７参照）。続いて、メディア分割部１１では、セグメント毎に、式（１３）により、各セグメントに含まれる全ての固定ブロックによる全再生時間ａｎ１を演算する（図７参照）。さらに、メディア分割部１１では、セグメント毎に、式（１４）により各セグメントに含まれる全ての固定ブロックによる全ダウンロード時間ｂｎ１を演算し、式（１５）により各セグメントの任意ブロックにおけるダウンロード時間ｂｎ２を演算する（図７参照）。
【００５４】
【数５】
2004048704.tif 000007
なお、ＩＮＴ［］は整数化関数であり、分子を分母で除算したときの除算値の小数点以下を切り捨てた整数値を求めることができる。
【００５５】
ここで、セグメントにおける任意ブロックの再生時間ａｎ２が判らないと、セグメントの再生時間ａｎを求めることができない。また、セグメントにおける任意ブロックのオーバヘッドｅ２が判らないと、セグメントにおけるオーバヘッドｅが決まらない。そこで、メディア分割部１１では、セグメント毎に、任意ブロックの再生時間ａｎ２及びオーバヘッドｅ２を求める。
【００５６】
固定ブロックのオーバヘッドｅ１はオーバヘッドの変動範囲の中でも小さい値に固定されているが、任意ブロックのオーバヘッドｅ２は、任意ブロックのサイズに応じて変動するので、オーバヘッドｅ１より大きくなっている（図９参照）。ダウンロードデータと再生データとのサイズは同じなので、セグメントに含まれる全ての固定ブロックの全再生時間ａｎ１と全ダウンロード時間ｂｎ１とは式（１６）に示す関係となり、セグメントの任意ブロックの再生時間ａｎ２とダウンロード時間ｂｎ２とは式（１７）に示す関係となる（図９参照）。式（１６）と式（１７）から、セグメントのダウンロード時間ｂｎと固定ブロックの全再生時間ａｎ１及び任意ブロックの再生時間ａｎ２とは式（１８）に示す関係となる。また、オーバヘッドｅ１とパケットロス耐性Ｌを加味した固定ブロックにおける実効ストリーミングレートＲｅｆｆ１は式（１９）により演算することができ、オーバヘッドｅ２とパケットロス耐性Ｌを加味した任意ブロックにおける実効ストリーミングレートＲｅｆｆ２は式（２０）により演算することができる（図９参照）。
【００５７】
【数６】
2004048704.tif 000008
したがって、固定ブロックにおけるストリーミングレート比ｍ１は式（２１）によって演算でき、任意ブロックにおけるストリーミングレート比ｍ２は式（２２）によって演算できる。このストリーミングレート比ｍ１，ｍ２を式（１８）に代入すると、式（２３）となる。この式（２３）を式（２４）に変形し、任意ブロックにおけるオーバヘッドｅ２と再生時間ａｎ２との乗算値を演算する式とする。
【００５８】
【数７】
2004048704.tif 000009
式（１３）により固定ブロックによる全再生時間ａｎ１を演算でき、式（５）、（６）によりセグメントのダウンロード時間ｂｎを演算でき、固定ブロックのオーバヘッドｅ１は固定ブロックサイズＢｓを設定する際に確定している。したがって、式（２４）の右辺の全てのパラメータは既知であり、その右辺を演算することができる。つまり、任意ブロックにおけるオーバヘッドｅ２と再生時間ａｎ２との乗算値は、セグメント毎に演算でき、ある一定値となる。
【００５９】
したがって、任意ブロックにおけるオーバヘッドｅ２は再生時間ａｎ２の関数となり、式（２５）に示す関係となる。式（２４）と式（２５）から、式（２６）が成立する。
【００６０】
【数８】
2004048704.tif 000010
ここで、任意ブロックにおける再生時間ａｎ２とオーバヘッドｅ２とを、ニュートン・ラフソン法を利用することによって一意に確定することができる（図１０参照）。そこで、メディア分割部１１では、式（２４）の右辺を演算後、ニュートン・ラフソン法を用いて任意ブロックにおける再生時間ａｎ２とオーバヘッドｅ２を求める。ニュートン・ラフソン法では、オーバヘッドｅ２（＝ｆ（ａｎ２））の初期値として一意に決まる値に近い値（例えば、１０４〜１０５％の中央値の１０４．５％）に設定し、その初期値から徐々に収束させていき、オーバヘッドｅ２を求める。このように、サーバ１では、任意ブロックのオーバヘッドｅ２をセグメント毎に最適な値を設定し、冗長データ量を少なくし、任意ブロックにおけるデータ量を低減している。
【００６１】
【数９】
2004048704.tif 000011
そして、メディア分割部１１では、セグメント毎に、式（２７）により、固定ブロックの全再生時間ａｎ１と任意ブロックの再生時間ａｎ２とからセグメントの再生時間ａｎを演算する。
【００６２】
【数１０】
2004048704.tif 000012
あるいは、メディア分割部１１では、式（２８）によりセグメントにおけるオーバヘッドの平均値ｅａｖｅや式（２９）によりセグメントにおけるストリーミングレート比の平均値ｍａｖｅを演算する。そして、メディア分割部１１では、式（３０）により、そのオーバヘッドの平均値ｅａｖｅやストリーミングレート比の平均値ｍａｖｅを用いてセグメントの再生時間ａｎを演算する。
【００６３】
このように、メディア分割部１１では、各セグメントの再生時間ａｎを演算し、既に演算したセグメントの再生時間ａｎ，ａｎ−１，・・・から次のセグメントのダウンロード時間ｂｎ＋１を演算する。その演算過程で、まず、固定ブロックのサイズＢｓ及びオーバヘッドｅ１を設定し、固定ブロックの再生時間ｄａ及びダウンロード時間ｄｂを演算する。次に、セグメント毎に、セグメントに含まれる全ての固定ブロックの全再生時間ａｎ１及び全ダウンロード時間ｂｎ１、任意ブロックのダウンロード時間ｂｎ２を演算する。さらに、セグメント毎に、任意ブロックのオーバヘッドｅ２及び再生時間ａｎ２を求める。
【００６４】
そして、メディア分割部１１では、各セグメントのダウンロード時間ｂｎ（又は再生時間ａｎ）に応じてコンテンツＣＮをセグメントＳＧ，・・・に分割する（図２参照）。さらに、メディア分割部１１では、セグメント毎に、固定ブロックのダウンロード時間ｄｂ（又は再生時間ｄａ）及び任意ブロックのダウンロード時間ｂｎ２（又は再生時間ａｎ２）で固定ブロックＢＬｆ，・・・及び任意ブロックＢＬｏに分割する（図２参照）。この分割は、各セグメントのダウンロード時間ｂｎを演算する毎に行ってもよいし、あるいは、全てセグメントのダウンロード時間ｂ１，ｂ２，・・・を演算した後に行ってもよい。
【００６５】
なお、各セグメントにおけるオーバヘッドｅは、式（２８）で演算されるオーバヘッドの平均値ｅａｖｅであり、セグメントのサイズに応じた最適な値となっている。オーバヘッドの平均値ｅａｖｅは、固定ブロックのオーバヘッドｅ１（＝１０４％）の影響を受け、１０４．５％以下となり、各セグメントに含まれる固定ブロック数ｋが多いほど１０４％に近い値となる。
【００６６】
図１、図１１及び図１２を参照して、ＦＥＣエンコーダ１２における処理を詳細に説明する。図１１は、ＦＥＣエンコーダにおける処理の説明図である。図１２は、メタコンテンツ化の説明図である。
【００６７】
ＦＥＣエンコーダ１２では、図１１に示すように、セグメントＳＧ，・・・毎に、コンテンツＣＮの元データをブロックＢＬ単位でメタコンテンツ化する。この際、メタコンテンツ化したデータには、オーバヘッドｅ及びパケットロス耐性Ｌに対する冗長データ（図１１の点領域）が加味されている。さらに、ＦＥＣエンコーダ１２では、図１１に示すように、ブロックＢＬ単位のメタコンテンツデータにＩＰパケットヘッダを付加し（図１１の横線領域）、ブロック単位のパケットを生成する。パケット化後のデータサイズは、メタコンテンツ化後のデータサイズの例えば（１０８６／１０２４）倍となる。
【００６８】
図１２を参照して、ルビー変換によるメタコンテンツ化について説明する。図１２では、コンテンツの元データに相当する入力データがａ〜ｈの１０個ある例を示している。ルビー変換では、各入力データａ〜ｈに対して乱数を発生させる。そして、出力データとして各列に対して排他的論理和による方程式（例えば、一列目の場合にはａＸＯＲｇ）をたて、この方程式がメタコンテンツデータとなる。
【００６９】
基本的には、入力データの個数分の方程式（出力データ）が有れば、方程式を解くことができ、入力データを復元できる。しかし、ルビー変換では、このメタコンテンツデータをランダムに並び替え、このランダムに並び替えられたメタコンテンツデータの中に冗長データが含まれるようにしている。したがって、入力データの個数分の方程式（出力データ）では、入力データを１００％復元することができない。そこで、ルビー変換では、オーバヘッドｅを設定し、入力データの個数にオーバヘッドｅを加味した個数の方程式（出力データ）からメタコンテンツを生成する。例えば、オーバヘッドｅを１０４％とすると、１００個の入力データに対して１０４個の出力データ（方程式）からなるメタコンテンツとなる。
【００７０】
図１を参照して、サーバ１における動作を説明する。特に、メディア分割部１１における再生時間及びダウンロード時間の演算処理については図１３のフローチャートに沿って説明する。図１３は、本実施の形態に係る再生時間及びダウンロード時間の演算処理を示すフローチャートである。
【００７１】
サーバ１では、あるコンテンツＣＮをストリーミング配信するために、コンテンツＣＮをハードディスク１０から読み出す。各コンテンツＣＮはコンテンツサイズＣｓ、ストリーミングレートＲ、総再生時間Ｓ等のコンテンツ情報を有しており、これらの情報もハードディスク１０に格納されている。
【００７２】
サーバ１では、メディア分割するために、まず、コンテンツ情報を読み込む（Ｓ１）。次に、サーバ１では、待ち時間ｗ、パケットロス耐性Ｌ、最大受信レートＲｍａｘ、チャネル数Ｃ等の配信情報を取得する（Ｓ２）。配信情報の取得は、予め情報を取得してハードディスク１０に格納し、ハードディスク１０から読み込んでもよいし、あるいは、パソコン２とインターネットＩを介して接続した際に情報を取得してもよい。
【００７３】
各種情報を取得すると、サーバ１では、固定ブロックのオーバヘッドｅ１が出来るだけ小さい値となるように、固定ブロックサイズＢｓとオーバヘッドｅ１を設定する（Ｓ３）（図８参照）。そして、サーバ１では、式（９）により、固定ブロックサイズＢｓから固定ブロックの再生時間ｄａを演算する（Ｓ４）（図７参照）。さらに、サーバ１では、式（１０）により、オーバヘッドｅ１から固定ブロックのストリーミングレート比ｍ１を演算する（Ｓ５）。続いて、サーバ１では、式（１１）により、再生時間ｄａ及びストリーミングレート比ｍ１から固定ブロックのダウンロード時間ｄｂを演算する（Ｓ６）（図７参照）。
【００７４】
次に、サーバ１では、コンテンツＣＮの先頭から何番目のセグメントに対する処理かを示すｎに１を設定する（Ｓ７）。そして、サーバ１では、１番目のセグメントのダウンロード時間ｂ１（初期値）として待ち時間ｗを設定する（Ｓ８）。ちなみに、ここまでの処理は初期設定として一度だけ実行され、以下の処理はセグメント毎に繰り返し実行される。
【００７５】
サーバ１では、式（１２）により、セグメントのダウンロード時間ｂｎ及び固定ブロックのダウンロード時間ｄｂから固定ブロック数ｋを演算する（Ｓ９）（図７参照）。ダウンロード時間ｂｎは、ｎが１の場合にはＳ８の処理で初期設定され、ｎが１以外の場合にはＳ１８又はＳ１９の処理で演算されている。続いて、サーバ１では、式（１３）により、固定ブロックの再生時間ｄａ及び固定ブロック数ｋからセグメントに含まれる全ての固定ブロックの全再生時間ａｎ１を演算する（Ｓ１０）（図７参照）。
【００７６】
サーバ１では、ダウンロード時間ｂｎ、固定ブロックのオーバヘッドｅ１及び全再生時間ａｎ１等を用いて、式（２４）の右辺値（すなわち、任意ブロックのオーバヘッドｅ２と再生時間ａｎ２との乗算値）を演算する。そして、サーバ１では、ニュートン・ラフソン法により、この式（２４）の右辺値を用いて任意ブロックのオーバヘッドｅ２及び再生時間ａｎ２を求める（Ｓ１１）（図１０参照）。
【００７７】
サーバ１では、式（２８）により、固定ブロックのオーバヘッドｅ１及び任意ブロックのオーバヘッドｅ２からセグメントにおけるオーバヘッドの平均値ｅａｖｅを演算する（Ｓ１２）。また、サーバ１では、式（２９）により、オーバヘッドの平均値ｅａｖｅからセグメントにおけるストリーミングレート比の平均値ｍａｖｅを演算する（Ｓ１３）。
【００７８】
そして、サーバ１では、式（３０）により、オーバヘッドの平均値ｅａｖｅ又はストリーミングレート比の平均値ｍａｖｅからセグメントの再生時間ａｎを演算する（Ｓ１４）。あるいは、サーバ１では、式（２７）により、固定ブロックの全再生時間ａｎ１及び任意ブロックの再生時間ａｎ２からセグメントの再生時間ａｎを演算する（Ｓ１４）。
【００７９】
ダウンロード時間及び再生時間の演算処理を終了するか否かを判断するために、サーバ１では、これまで演算した再生時間ａ１〜ａｎの積算時間がコンテンツＣＮの総再生時間Ｓ未満か否かを判定する（Ｓ１５）。積算時間が総再生時間Ｓ以上と判定した場合、サーバ１では、ダウンロード時間及び再生時間の演算処理を終了する。
【００８０】
一方、積算時間が総再生時間Ｓ未満と判定した場合、サーバ１では、ｎに１を加算して次のセグメントに対する演算処理に移る（Ｓ１６）。
【００８１】
そして、サーバ１では、（ｎ−チャネル数Ｃ）が１未満か否かを判定する（Ｓ１７）。（ｎ−チャネル数Ｃ）が１未満と判定した場合には、サーバ１では、式（５）により、ダウンロード時間の初期値ｂ１及び既に演算した再生時間ａ１，ａ２，・・・から次のセグメントのダウンロード時間ｂｎを演算する（Ｓ１８）。一方、（ｎ−チャネル数Ｃ）が１以上と判定した場合には、サーバ１では、式（６）により、既に演算した再生時間ａｎ−１，ａｎ−２，・・・から次のセグメントのダウンロード時間ｂｎを演算する（Ｓ１９）。ダウンロード時間ｂｎを演算すると、サーバ１では、Ｓ９に戻って処理を続ける。
【００８２】
コンテンツＣＮに対するダウンロード時間及び再生時間の演算処理が終了すると、サーバ１では、各セグメントのダウンロード時間ｂｎ（又は再生時間ａｎ）に応じてコンテンツＣＮをセグメントＳＧに順次分割する（図２参照）。さらに、サーバ１では、セグメントＳＧ毎を、固定ブロックのダウンロード時間ｄｂ（又は再生時間ｄａ）及び任意ブロックのダウンロード時間ｂｎ２（又は再生時間ａｎ２）に応じて固定ブロックＢＬｆ，・・・及び任意ブロックＢＬｏに分割する（図２参照）。
【００８３】
続いて、サーバ１では、セグメントＳＧ毎に、コンテンツＣＮの元データをブロックＢＬ単位でメタコンテンツ化する（図１１、図１２参照）。さらに、サーバ１では、ブロックＢＬ単位のメタコンテンツデータをパケット化する（図１１参照）。
【００８４】
そして、サーバ１では、セグメントＳＧ毎に、ブロック単位のパケットをインターネットＩを介してパソコン２にストリーミング配信する（図１参照）。
【００８５】
なお、コンテンツＣＮに対するメディア分割やＦＥＣエンコードは、ストリーミング配信する度に行う必要はなく、一度行えばよい。
【００８６】
図１４には、オーバヘッドｅの違いにより、マルチキャスト帯域がどの程度変わるのかをパケットロス耐性に応じて示している。ここでの条件は、ストリーミングレートＲが６０００ｋｂｐｓ、総再生時間Ｓが１００分、最大受信レートＲｍａｘが１２０００ｋｂｐｓ、待ち時間ｗが２０秒、同時受信チャネル数が３又は８とする。また、オーバヘッドｅは、１０５％と１０４％とする。図１４から判るように、オーバヘッドｅが１０５％の場合のマルチキャスト帯域（一点鎖線と二点鎖線）より、オーバヘッドｅが１０４％の場合のマルチキャスト帯域（太い実線と細い実線）が小さくなっている。この傾向は、パケットロス耐性Ｌが大きくなるほど顕著になっている。サーバ１では、固定ブロックのオーバヘッドｅ１を１０４％とし、セグメント毎のオーバヘッドｅが１０４％に極力近づくように最適化している。そのため、サーバ１によるセグメント毎に最適化したオーバヘッドｅの場合のマルチキャスト帯域は、従来の安全側に一律に設定されていたオーバヘッドｅ（例えば、１０５％）の場合のマルチキャスト帯域より小さくなる。
【００８７】
このサーバ１によれば、固定ブロックのオーバヘッドｅ１が極力小さくなるように固定ブロックサイズＢｓを設定するとともに任意ブロックのオーバヘッドｅ２をセグメント毎に求め、セグメント毎にオーバヘッドｅを設定することによって、セグメントのサイズ（ひいては、コンテンツＣＮのサイズ）に応じてオーバヘッドｅを最適化している。そのため、余分な冗長データが無くなり、コンテンツＣＮを配信する際のデータ量が低減し、マルチキャスト帯域（伝送帯域）を小さくできる。つまり、このサーバ１によれば、メディア分割を最適化し、メディア分割とメタコンテンツ化とを組み合わせたコンテンツのストリーミング配信を従来より小さな伝送帯域で実現できる。
【００８８】
以上、本発明に係る実施の形態について説明したが、本発明は上記実施の形態に限定されることなく様々な形態で実施される。
【００８９】
例えば、本実施の形態ではマルチキャスト型ＶＯＤに適用したが、ユニキャスト型やブロードキャスト型等に適用可能であり、また、シネマコンプレックス等にも適用可能である。
【００９０】
また、本実施の形態ではメディア分割部及びＦＥＣエンコーダをソフトウエアで構成したが、ハードウエアで構成してもよい。
【００９１】
また、本実施の形態ではニュートン・ラフソン法を用いて任意ブロックにおけるオーバヘッド及び再生時間を演算したが、二分割法等の他の数値解析法を用いて求めてもよい。
【００９２】
【発明の効果】
本発明によれば、データサイズに応じてオーバヘッドを最適化でき、メディア分割とメタコンテンツ化とを組み合わせたコンテンツの伝送におけるデータ量を低減することができる。
【図面の簡単な説明】
【図１】本実施の形態に係るＩＰマルチキャスト型ＶＯＤサービスの全体構成図である。
【図２】図１のサーバのメディア分割部における処理の説明図である。
【図３】同時受信チャネル数が１の場合のダウンロード時間と再生時間の関係を示す図である。
【図４】同時受信チャネル数が２の場合のダウンロード時間と再生時間の関係を示す図である。
【図５】同時受信チャネル数が３の場合のダウンロード時間と再生時間の関係を示す図である。
【図６】ダウンロード時間及び再生時間とストリーミングレートとの関係を示す図である。
【図７】図１のサーバのメディア分割部におけるブロック分割の説明図である。
【図８】ルビー変換におけるデータサイズとオーバヘッドとの関係を示す図である。
【図９】オーバヘッドを最適化した場合のダウンロード時間及び再生時間とストリーミングレートとの関係を示す図である。
【図１０】ニュートン・ラフソン法の説明図ある。
【図１１】図１のサーバのＦＥＣエンコーダにおける処理の説明図である。
【図１２】メタコンテンツ化の説明図である。
【図１３】本実施の形態に係る再生時間及びダウンロード時間の演算処理を示すフローチャートである。
【図１４】パケットロス耐性とマルチキャスト帯域との関係を示す図である。
【符号の説明】
１…サーバ、２…パソコン、１０…ハードディスク、１１…メディア分割部、１２…ＦＥＣエンコーダ、１３…送信機、２０…受信機、２１…ＦＥＣデコーダ、２２…ＭＰＥＧデコーダ、２３…モニタ
【図１】
2004048704.tif 000013
【図２】
2004048704.tif 000014
【図３】
2004048704.tif 000015
【図４】
2004048704.tif 000016
【図５】
2004048704.tif 000017
【図６】
2004048704.tif 000018
【図７】
2004048704.tif 000019
【図８】
2004048704.tif 000020
【図９】
2004048704.tif 000021
【図１０】
2004048704.tif 000022
【図１１】
2004048704.tif 000023
【図１２】
2004048704.tif 000024
【図１３】
2004048704.tif 000025
【図１４】
2004048704.tif 000026