(58)【調査した分野】(Int.Cl.,DB名)
配信サーバがネットワークを通じて配信可能な所定コンテンツの所定数のビデオデータストリームをクライアント端末が取得するための情報を持つメタファイルを生成するメタファイル生成部と、
上記クライアント端末から送信要求があるとき、上記メタファイルを、上記ネットワークを通じて、該クライアント端末に送信するメタファイル送信部とを備え、
上記メタファイル生成部は、
上記メタファイルに上記ネットワークにおける各ビデオデータストリームのキャッシュに関する指標を含める
送信装置。
【発明を実施するための形態】
【0019】
以下、発明を実施するための形態(以下、「実施の形態」とする)について説明する。なお、説明は以下の順序で行う。
1.実施の形態
2.変形例
【0020】
<1.実施の形態>
[ストリーム配信システム]
図1は、実施の形態としてのストリーム配信システム10の構成例を示している。このストリーム配信システム10は、MPEG−DASHベースのストリーム配信システムである。このストリーム配信システム10は、DASHセグメントストリーマ11およびDASH MPDサーバ12に、N個のIPTVクライアント13-1,13-2,・・・,13-Nが、CDN(Content Delivery Network)14を介して、接続された構成となっている。
【0021】
DASHセグメントストリーマ11は、所定のコンテンツのメディアデータ(ビデオデータ、オーディオデータ、字幕データなど)に基づいて、DASH仕様のストリームセグメント(以下、「DASHセグメント」という)を生成し、IPTVクライアントからのHTTP要求に応じてセグメントを送出する。このDASHセグメントストリーマ11は、ウェブ(Web)サーバである。
【0022】
この実施の形態において、DASHセグメントストリーマ11は、立体画像を構成する複数の視点、例えば最左、左中央、中央、右中央および最右の5視点のビデオデータに基づいて、それぞれに対応するビデオデータストリームのDASHセグメントを生成する。また、DASHセグメントストリーマ11は、各視点のビデオデータストリームのDASHセグメントとして、複数のレートのビデオデータストリームのDASHセグメントを生成する。なお、左中央の視点は、最左と中央との中間の視点を意味する。また、右中央の視点は、最右と中央との中間の視点を意味する。
【0023】
また、DASHセグメントストリーマ11は、IPTVクライアント13(13-1,13-2,・・・,13-N)からCDN14を介して送られてくる所定ストリームのセグメントの要求に対応して、そのストリームのセグメントを、CDN14を介して、要求元のIPTVクライアント13に送信する。この場合、IPTVクライアント13は、MPD(Media Presentation Description)ファイルに記載されているレートの値を参照して、クライアントの置かれているネットワーク環境の状態に応じて、最適なレートのストリームを選択して要求を行う。
【0024】
また、IPTVクライアント13は、自身の性能に応じた視点のビデオデータストリームのセグメントを要求する。例えば、IPTVクライアント13は、最もデバイスグレードが低く、最左および最右の2視点の画像データのみを取り扱う場合には、この2視点のビデオデータストリームのセグメントを要求する。また、例えば、IPTVクライアント13は、デバイスグレードが中ぐらいで最左および最右の2視点の他に、中央の視点を含む、3視点の画像データを取り扱う場合には、この3視点のビデオデータストリームのセグメントを要求する。さらに、例えば、最もデバイスグレードが高く、最左、最右、中央の他に、左中央(最左と中央との中間)および右中央(最右と中央の中間)の視点を含む、5視点の画像データを取り扱う場合には、この5視点のビデオデータストリームのセグメントを要求する。
【0025】
DASH MPDサーバ12は、DASHセグメントストリーマ11において生成されるDASHセグメントを取得するためのMPDファイルを生成するサーバである。コンテンツマネジメントサーバ(
図1には図示せず)からのコンテンツメタデータと、DASHセグメントストリーマ11において生成されたセグメントのアドレス(url)をもとに、MPDファイルを生成する。
【0026】
MPDのフォーマットでは、ビデオやオーディオなどのそれぞれのストリーム毎にリプレゼンテーション(Representation)という要素を利用して、それぞれの属性が記述される。例えば、MPDファイルには、レートの異なる複数のビデオデータストリーム毎に、リプレゼンテーションを分けてそれぞれのレートが記述される。IPTVクライアント13では、そのレートの値を参考にして、上述したように、IPTVクライアント13の置かれているネットワーク環境の状態に応じて、最適なストリームを選択できる。
【0027】
MPDファイルは、
図2に示すように、階層構造をとる。このMPDファイルには、DASHセグメントストリーマ11に格納した動画の圧縮方式や符号化速度、画像サイズ、言語などの情報がXML形式で階層的に記述される。このMPDファイルは、ピリオド(Period)、アダプテーションセット(AdaptationSet)、リプレゼンテーション(Representation)、セグメントインフォ(SegmentInfo)、イニシャライゼーション・セグメント(Initialization Segment)、メディア・セグメント(Media Segment)などの構造体が、階層的に含まれている。
【0028】
ピリオドの構造体は、プログラム(同期を取った1組の動画や音声等のデータ)の情報を持つ。また、ピリオドの構造体に含まれるアダプテーションセットの構造体は、ストリームの選択範囲(リプレゼンテーション群)をグルーピングする。また、アダプテーションセットの構造体に含まれるリプレゼンテーションの構造体は、動画や音声の符号化速度、動画の音声サイズなどの情報を持つ。
【0029】
また、リプレゼンテーションの構造体に含まれるセグメントインフォの構造体は、動画や音声のセグメント関連の情報を持つ。また、セグメントインフォの構造体に含まれるイニシャライゼーション・セグメントの構造体は、データ圧縮方式などの初期化情報を持つ。また、セグメントインフォの構造体に含まれるメディア・セグメントの構造体は、動画や音声のセグメントを取得するアドレスなどの情報を持つ。
【0030】
図3は、上述のMPDファイルに含まれる各構造体の一例を時間軸上に並べて示したものである。この例においては、MPDファイルにピリオドが2個含まれ、各ピリオドにセグメントが2個含まれている。また、この例においては、各ピリオドにアダプテーションセットが2個含まれ、各アダプテーションセットにストリーム属性の異なる同一内容のストリームに係るリプレゼンテーションが2個含まれている。
【0031】
図4は、上述のMPDファイルに階層的に配置されている各構造体の関係の一例を示している。
図4(a)に示すように、MPDファイル全体としてのメディア・プレゼンテーション(Media Presentation)には、時間間隔で区切られた複数のピリオド(Period)が存在する。例えば、最初のピリオドはスタートが0秒から、次のピリオドはスタートが100秒から、などとなっている。
【0032】
図4(b)に示すように、ピリオドには、複数のリプレゼンテーション(Representation)が存在する。この複数のリプレゼンテーションには、上述したアダプテーションセット(AdaptationSet)でグルーピングされる、ストリーム属性、例えばレートの異なる同一内容のビデオデータストリームに係るリプレゼンテーション群が存在する。この実施の形態では、各視点のビデオデータストリームについてリプレゼンテーション群が存在する。
【0033】
図4(c)に示すように、リプレゼンテーションには、セグメントインフォ(SegmentInfo)が含まれている。このセグメントインフォには、
図4(d)に示すように、イニシャライゼーション・セグメント(Initialization Segment)と、ピリオドをさらに細かく区切ったセグメント(Segment)毎の情報が記述される複数のメディア・セグメント(Media Segment)が存在する。メディア・セグメントには、ビデオやオーディオなどのセグメントデータを実際に取得するためのアドレス(url)の情報等が存在する。
【0034】
なお、アダプテーションセットでグルーピングされている複数のリプレゼンテーションの間では、ストリームのスイッチングを自由に行うことができる。これにより、IPTVクライアントの置かれているネットワーク環境の状態に応じて、最適なレートのストリームを選択でき、途切れのない動画配信が可能となる。
【0035】
図5は、ピリオド(Period)と、リプレゼンテーション(Representation)と、セグメント(Segment)の関係の一例を示している。この例においては、MPDファイルにピリオドが2個含まれ、各ピリオドにセグメントが2個含まれている。また、この例においては、各ピリオドに、同一のメディアコンテンツに係る複数のリプレゼンテーションが含まれている。
【0036】
上述したように、MPDファイルには、DASHセグメントストリーマ11に格納した動画の圧縮方式や符号化速度、画像サイズ、言語などの情報が含まれる。この実施の形態において、DASH MPDサーバ12は、各ビデオデータストリームの情報に、CDN14における、各ビデオデータストリームのDASHセグメントのキャッシュに関する指標を含める。
【0037】
DASH MPDサーバ12は、上述の複数の視点を、そのビデオデータストリームの配信要求頻度予測に基づいて、所定数の視点グループに分類し、視点グループに基づいて、各視点のビデオデータストリームのキャッシュに関する指標を決める。DASH MPDサーバ12は、例えば、最左、左中央、中央、右中央および最右の5視点の場合、
図6に示すように、視点グループ1、視点グループ2、視点グループ3の3つの視点グループに分類する。
【0038】
視点グループ1には、配信要求頻度が最も高いと予測される最左および最右の2視点が含まれる。また、視点グループ2には、配信要求頻度が次に高いと予測される最左、中央および最右の3視点が含まれる。さらに、視点グループ3には、配信要求頻度が最も低いと予測される最左、左中央、中央、右中央および最右の5視点が含まれる。
【0039】
ここで、キャッシュに関する指標は、例えば、CDN14における、各視点のビデオデータストリームのキャッシュ優先度および/またはキャッシュ保持期間を示すものとされる。例えば、キャッシュ優先度に関しては、視点グループ1に含まれる最左および最右のビデオデータストリームは「高」とされ、視点グループ2で追加される中央のビデオデータストリームは「中」とされ、視点グループ3でさらに追加される左中央および右中央は「低」とされる。
【0040】
また、例えば、キャッシュ保持期間に関しては、視点グループ1に含まれる最左および最右のビデオデータストリームは「長」とされ、視点グループ3のみに含まれる左中央および右中央は「短」とされる。なお、MPDファイルの詳細については、さらに、後述する。
【0041】
図7は、コンテンツからDASHセグメントやDASH MPDファイルを生成するまでのフローの一例を示している。コンテンツマネジメントサーバ15からDASHセグメントストリーマ11にコンテンツが送付される。DASHセグメントストリーマ11は、そのコンテンツを構成するビデオデータ、オーディオデータ等に基づいて、各データストリームのDASHセグメントを生成する。
【0042】
また、DASHセグメントストリーマ11は、生成した各データストリームのDASHセグメントのアドレス(url)の情報を、DASH MPDサーバ12に送付する。コンテンツマネジメントサーバ15は、コンテンツのメタデータを、DASH MPDサーバ12に送付する。DASH MPDサーバ12は、各データストリームのDASHセグメントのアドレス情報と、コンテンツのメタデータとに基づいて、DASH MPDファイルを生成する。
【0043】
図8は、IPTVクライアント13(13-1〜13-N)の構成例を示している。IPTVクライアント13は、ストリーミングデータ制御部131と、HTTPアクセス部132と、動画再生部133を有している。ストリーミングデータ制御部131は、DASH MPDサーバ12からMPDファイルを取得し、その内容を解析する。
【0044】
HTTPアクセス部132は、動画再生に用いる動画や音声のセグメントをDASHセグメントストリーマ11に要求する。この際、IPTVクライアント13の画面サイズや伝送路の状態などを加味して、それに合わせた最適な画像サイズや符号化速度のストリームを選ぶ。例えば、最初の段階では符号化速度(レート)の遅いストリームのセグメントを要求し、通信状況が良好ならば符号化速度(レート)の速いストリームのセグメントを要求するように切り替える。
【0045】
HTTPアクセス部132は、受け取った動画や音声のセグメントを動画再生部133に送る。動画再生部133は、HTTPアクセス部132から送られてくる各セグメントに復号処理を施して一本の動画コンテンツを得て、動画や音声を再生する。なお、IPTVクライアント13の各部の処理は例えばソフトウェアにより行われる。
【0046】
この実施の形態では、IPTVクライアント13の再生能力のクラスとして、3つのクラスが想定されている。例えば、最もデバイスグレードが低く、最左および最右の2視点の画像データのみを取り扱う場合には、この2視点のビデオデータストリームのセグメントの要求が行われ、その2視点のビデオデータによる立体画像が再生される。
【0047】
また、例えば、デバイスグレードが中ぐらいで最左、中央および最右の3視点の画像データを取り扱う場合、この3視点のビデオデータストリームのセグメントが要求され、その3視点のビデオデータによる立体画像が再生される。さらに、例えば、最もデバイスグレードが高く、最左、左中央、中央、右中央および最右の5視点の画像データを取り扱う場合、この5視点のビデオデータストリームのセグメントが要求され、その5視点のビデオデータによる立体画像が再生される。
【0048】
図9は、一般的な、DASHベースのストリーム配信システムの系を示している。DASH MPDファイルも、DASHセグメントも、全てCDN(Content Delivery Network)14を介して配信される。CDN14は、複数のキャッシュサーバ(DASHキャッシュサーバ)がネットワーク配列された構成となっている。
【0049】
キャッシュサーバは、IPTVクライアント13からのMPDファイルの取得のためのHTTPリクエストを受ける。キャッシュサーバは、ローカルMPDキャッシュにあれば、IPTVクライアント13にHTTPレスポンスとして返す。また、キャッシュサーバは、ローカルMPDキャッシュになければ、そのリクエストをDASH MPDサーバ12あるいは上位のキャッシュサーバに転送する。そして、キャッシュサーバは、MPDファイルの格納されたHTTPレスポンスを受け、IPTVクライアント13に転送すると共に、キャッシュ処理を行う。
【0050】
また、キャッシュサーバは、IPTVクライアント13からのDASHセグメント取得のHTTPリクエストを受ける。キャッシュサーバは、ローカルセグメントキャッシュにあれば、IPTVクライアント13にHTTPレスポンスとして返す。また、キャッシュサーバは、ローカルセグメントキャッシュになければ、そのリクエストをDASHセグメントストリーマ11あるいは上位のキャッシュサーバに転送する。そして、キャッシュサーバは、DASHセグメントの格納されたHTTPレスポンスを受け、IPTVクライアント13に転送すると共に、キャッシュ処理を行う。
【0051】
CDN14では、最初にHTTPリクエストを発したIPTVクライアント13-1へ配信されるDASHセグメントが、経路のキャッシュサーバで一時的にキャッシュされ、後続の他のIPTVクライアント13-2からのHTTPリクエストに対しては、そのキャッシュされたDASHセグメントが配信される。そのため、大多数のIPTVクライアントに対するHTTPストリーミングの配信効率を向上させることができる。
【0052】
本実施の形態において、CDN14は、複数のキャッシュサーバの他に、所定個数のキャッシュ管理サーバを有している。このキャッシュ管理サーバは、MPDファイルに含まれる各ビデオデータストリームのDASHセグメントのキャッシュに関する指標に基づいて、キャッシュ制御ポリシーを作成し、各キャッシュサーバに配布する。各キャッシュサーバは、このキャッシュ制御ポリシーに基づいて、各ビデオデータストリームのDASHセグメントのキャッシング処理を行う。
【0053】
[MPDファイルへの各種情報の挿入]
「視点情報の挿入」
この実施の形態において、MPDファイルは、立体画像を構成する複数の視点、例えば最左、左中央、中央、右中央および最右の5視点のビデオデータストリームの情報を持つ。DASH MPDサーバは、デスクリプタタイプ要素を利用して、MPDファイルに、視点情報を含める。
【0054】
DASHでは、デスクリプタタイプ(DescriptorType)という要素を利用して、追加の辞書、ボキャブラリ参照を追加することができる。辞書、ボキャブラリ参照は、スキーマURI(もしくは、スキーマURIとその辞書スキーマで定義されている値の組)で指定される。
【0055】
図10は、デスクリプタタイプ要素の定義を示している。デスクリプタタイプの下に、スキーマURI(@schemeIdUri)と、バリュー(@value)の属性をおくことができるようになっている。スキーマURIの属性は、辞書スキーマ(名前空間)を指定するURNもしくはURLを示す。バリューの属性は、スキーマURIにて指定される辞書スキーマにおいて定義されている値を示す。
【0056】
この実施の形態においては、上述したように、このデスクリプタタイプ(DescriptorType)要素を利用して、“視点”を示す要素としてのビューポイント(ViewPoint)要素を定義する。
図11は、ビューポイント要素の定義を示している。ビューポイントタイプの下のスキーマURIの属性は、視点(ビューポイント)を定義する辞書スキーマ(名前空間)を指定するURNもしくはURLを示す。ビューポイントタイプの下のバリューの属性は、スキーマURIにて指定される辞書スキーマにおいて定義されている値を示す。
【0057】
ここで、視点辞書は、辞書スキーマ(名前空間)を「urn:aaaa:dash:vp」として、例えば、
図12に示すように、定義される。この視点辞書においては、「urn:aaaa:dash:vp:stereo-right」のURNは「最右」の辞書項目に対応している。「urn:aaaa:dash:vp:stereo-left」のURNは「最左」の辞書項目に対応している。「urn:aaaa:dash:vp:center」のURNは「中央」の辞書項目に対応している。「urn:aaaa:dash:vp:stereo-right-center」のURNは「右中央」の辞書項目に対応している。「urn:aaaa:dash:vp:stereo-left-center」のURNは「左中央」の辞書項目に対応している。
【0058】
図13は、ビューポイント(ViewPoint)要素を定義して、各視点のビデオデータストリームの情報に視点情報を含めた場合のMPDファイルの一例を示している。この場合、ビューポイント要素は、コンテンツコンポーネント(ContentComponent)要素に配置される。
【0059】
最左の視点のビデオデータストリームに対応した情報を持つ各リプレゼンテーションをグルーピングするアダプテーションセット内のコンテンツコンポーネントに、ビューポイント要素として、@schemeIdUri = “urn:aaaa:dash:vp:stereo-left”が配置される。これにより、このアダプテーションセット内の情報が最左の視点のビデオデータストリームに対応していることが示される。なお、詳細説明は省略するが、他の視点の情報を含むアダプテーションセット内のコンテンツコンポーネントにも、同様に、その視点を示すように、ビューポイント要素が配置されている。
【0060】
「キャッシュ優先度指標の挿入」
上述したようにIPTVクライアント13の再生能力のクラスとして、3つのクラスが想定される場合を考える。最も普及度合いが高いと思われる処理能力の低いデバイス(クラス1デバイス)では、最左および最右の2視点のビデオデータストリームをもとに画像を構成する場合が一般的である。
【0061】
また、処理能力が中ぐらいのデバイス(クラス2デバイス)では最左、中央および最右の3視点のビデオデータストリームをもとに、さらに、最も普及度合いが低いと思われる処理能力の高いデバイス(クラス3デバイス)では最左、左中央、中央、右中央および最右の5視点のビデオデータストリームをもとに、というように、デバイスの処理能力に応じて、処理対象のストリームの種類が増えていく。
【0062】
一般のCDNでは予めアクセスされる可能性のあるDASHセグメントを積極的にプリキャッシュする機能が備わっている場合が多い。この場合、すべてのIPTVクライアント13がクラス3デバイスと仮定して、すべてのコンテンツにわたり、5視点のDASHセグメントをプリキャッシュするときには、以下の不都合が考えられる。すなわち、キャッシュサーバへの複製処理の過負荷や、ストレージ容量を圧迫するリソース不足の問題が起こり、サービス要件に見合うコストで配信できない可能性が起こる。
【0063】
この問題を軽減するためには、普及度合いが最も高いと想定されるデバイス(クラス1デバイス)において処理される最左および最右のビデオデータストリームのCDN展開優先度を上げ、次にクラス2デバイス向け、クラス3デバイス向けというように、DASHセグメントのCDN展開優先度を視点グループの種類に応じてランク付けできることが望ましい。
【0064】
MPDファイルにCDN展開優先度が記述されることで、以下のことが可能となり、これにより、エンドユーザへのサービス提供のパフォーマンス(ストリーミングスタートまでの速度等)を落とさずに、CDNのリソース利用効率のコストパフォーマンスを上げることができる。
【0065】
MPDファイルにCDN展開優先度が記述されることで、例えば、CDNのキャッシュ方針を管理するサーバにおいて、予め配信対象のコンテンツのMPDを解析し、多数のクライアントからアクセスされる可能性のあるストリームから順に複製容量を割り当てることが可能となる。
【0066】
また、MPDファイルにCDN展開優先度が記述されることで、例えば、複製処理の優先度付け(CPUリソースの割り当て優先度制御等)、複製記憶領域のアクセスパフォーマンスによる優先度付け(オン・メモリ、SSD(フラッシュメモリドライブ)、HD等のストレージ・ステージング優先度制御等)を行うことが可能となる。
【0067】
この実施の形態において、DASH MPDサーバ12は、デスクリプタタイプ(DescriptorType)要素を利用して、各視点のビデオデータストリームの情報に、DASHセグメントのキャッシュに関する指標として、キャッシュ優先度(CDN展開優先度)の指標を含める。
【0068】
この実施の形態においては、上述のデスクリプタタイプ要素を利用して、“CDN展開優先度”、つまりキャッシュ優先度を示す要素としてのキャッシュパラメタ(CacheParameter)要素を定義する。
図14は、キャッシュパラメタ要素の定義を示している。キャッシュパラメタタイプの下のスキーマURIの属性は、キャッシュパラメタを定義する辞書スキーマ(名前空間)を指定するURNもしくはURLを示す。キャッシュパラメタタイプの下のバリューの属性は、スキーマURIにて指定される辞書スキーマにおいて定義されている値を示す。
【0069】
ここで、キャッシュパラメタ辞書は、辞書スキーマ(名前空間)を「urn:aaaa:dash:cp」として、例えば、
図15に示すように、定義される。このキャッシュパラメタ辞書においては、「urn:aaaa:dash:cp:high」のURNは「高(high)」の辞書項目に対応している。「urn:aaaa:dash:cp:middle」のURNは「中(middle)」の辞書項目に対応している。「urn:aaaa:dash:cp:low」のURNは「低(low)」の辞書項目に対応している。
【0070】
図16は、キャッシュパラメタ(CacheParameter)要素を定義して、各視点のビデオデータストリームの情報にキャッシュ優先度の指標を含めた場合のMPDファイルの一例を示している。この場合、キャッシュパラメタ(CacheParameter)要素は、リプレゼンテーション(Representation)要素に配置される。
【0071】
最左の視点のビデオデータストリームに対応した情報を持つ各リプレゼンテーションに、キャッシュパラメタ要素として、@schemeIdUri = “urn:aaaa:dash:cp:high”が配置される。これにより、最左の視点のビデオデータストリームのキャッシュ優先度(CDN展開優先度)は「高(high)」であることが示される。
【0072】
なお、詳細説明は省略するが、他の視点の情報を持つ各リプレゼンテーションにも同様に、キャッシュパラメタ要素が配置され、キャッシュ優先度が示される。すなわち、左中央および右中央の視点のビデオデータストリームのキャッシュ優先度は「低(low)」であることが示される。また、中央の視点のビデオデータストリームのキャッシュ優先度は「中(middle)」であることが示される。さらに、最右の視点のビデオデータストリームのキャッシュ優先度は「高」であることが示される。
【0073】
「キャッシュ保持期間指標の挿入」
この実施の形態においては、DASH MPDサーバ12は、上述のキャッシュパラメタ(CacheParameter)要素を利用して、さらに、MPDファイルに、キャッシュ保持期間の指標を含める。すなわち、DASH MPDサーバ12は、キャッシュパラメタの例として、CDN上のキャッシュサーバに保持する期間の長/短を示す辞書スキーマ項目を、
図17に示すように、追加定義する。このキャッシュパラメタ辞書(追加)においては、「urn:aaaa:dash:cp:long」のURNは「長(long)」の辞書項目に対応している。「urn:aaaa:dash:cp:short」のURNは「短(short)」の辞書項目に対応している。
【0074】
図18は、キャッシュパラメタ(CacheParameter)要素を定義して、各視点のビデオデータストリームの情報にキャッシュ優先度の指標と共に、キャッシュ保持期間の指標を含めた場合のMPDファイルの一例を示している。この場合、キャッシュパラメタ(CacheParameter)要素は、リプレゼンテーション(Representation)要素に配置される。
【0075】
最左の視点のビデオデータストリームに対応した情報を持つ各リプレゼンテーションに、キャッシュパラメタ要素として、@schemeIdUri = “urn:aaaa:dash:cp:long”が配置される。これにより、最左の視点のビデオデータストリームのキャッシュ保持期間は「長(long)」であることが示される。
【0076】
なお、詳細説明は省略するが、他の視点の情報を持つ各リプレゼンテーションにも同様に、キャッシュパラメタ要素が配置され、キャッシュ保持期間が示される。すなわち、左中央および右中央の視点のビデオデータストリームのキャッシュ保持期間は「短」であることが示される。また、中央の視点のビデオデータストリームに関しては、キャッシュ保持期間は特に指定されない。この場合、キャッシュサーバにおいては、任意のキャッシュ処理方針を選択することができる。
【0077】
[CDNにおけるキャッシュ制御]
CDN14には、複数のキャッシュサーバの他に、所定個数のキャッシュ管理サーバが配置されている(
図9参照)。キャッシュ管理サーバは、上述のMPDファイルに含まれるキャッシュに関する指標に基づいて、キャッシュ制御ポリシーを作成し、CDN14内のキャッシュサーバに配布する。各キャッシュサーバは、配布されたキャッシュ制御ポリシーに基づいて、DASHセグメントのキャッシング処理(取得、複製処理)を行う。
【0078】
例えば、IPTVクライアント(DASHクライアント)13から最初のMPDファイルのリクエストがあがると、そのMPDファイルを仲介したCDN14上の最初のキャッシュサーバ(エッジサーバ)が、要求されたMPDファイルを、DASH MPDサーバ12から取得する。このとき、キャッシュサーバは、そのMPDファイルを、キャッシュ管理サーバに送る。キャッシュ管理サーバは、受け取ったMPDファイルを解析し、キャッシュに関する指標に基づいてキャッシュ制御ポリシーを作成し、そのキャッシュ制御ポリシーをCDN14内のキャッシュサーバに伝える。
【0079】
また、例えば、キャッシュ管理サーバは、IPTVクライアント13から最初のMPDのリクエストが送付される前に、例えば、積極的にMPDファイルをクローラ等により取得する。そして、キャッシュ管理サーバは、取得したMPDファイルを解析し、キャッシュに関する指標に基づいてキャッシュ制御ポリシーを作成し、そのキャッシュ管理ポリシーをCDN14内のキャッシュサーバに伝える。
【0080】
このキャッシュ制御ポリシーは、キャッシュに関する指標が示すクラスのそれぞれに対応させて、対応するurlもしくはurl正規表現を含むリストを格納したものである。例えば、MPDファイルに、キャッシュに関する指標として、上述のキャッシュ優先度の指標およびキャッシュ保持期間の指標が含まれる場合、キャッシュ制御ポリシーは、
図19に示すように、各指標が示すクラスのそれぞれに対応させて、対応するurl(もしくは正規表現を含むリスト)を格納したものとなる。
【0081】
図20は、キャッシュ制御ポリシーの一例を示している。この例は、上述の
図18に示すようにキャッシュ優先度の指標およびキャッシュ保持期間の指標が含まれるMPDファイルにおいて、
図21に示すように、各DASHセグメントにurlが割り当てられている場合のキャッシュ制御ポリシーである。
【0082】
このキャッシュ制御ポリシーにおいては、優先度が「高(high)」で保持期間が「長(long)」である区分には、最左および最右の視点のビデオデータストリームの各DASHセグメントに割り当てられているurlが含まれている。また、このキャッシュ制御ポリシーにおいては、優先度が「中(middle)」で保持期間が「指定なし(N/A)」である区分には、中央の視点のビデオデータストリームの各DASHセグメントに割り当てられているurlが含まれる。さらに、このキャッシュ制御ポリシーにおいては、優先度が「低(low)」で保持期間が「短(short)」である区分には、左中央および右中央の視点のビデオデータストリームの各DASHセグメントに割り当てられているurlが含まれている。
【0083】
次に、
図22を参照して、キャッシュ制御ポリシーが配布されたキャッシュサーバにおけるキャッシング処理の一例を説明する。(a)キャッシュ管理サーバは、キャッシュサーバにキャッシュ制御ポリシーを配布する。(b)IPTVクライアント13が「urlxx」のDASHセグメントの取得要求を出すと、(c)その取得要求を受け取ったキャッシュサーバは、ローカルキャッシュに「urlxx」のDASHセグメントがあるか否かを判断する。
【0084】
(d)ローカルキャッシュに「urlxx」のDASHセグメントがあるとき、キャッシュサーバは、そのDASHセグメントをIPTVクライアント13に返送する。(e)一方、ローカルキャッシュに「urlxx」のDASHセグメントがないとき、キャッシュサーバは、その取得要求を、DASHセグメントストリーマ11に向けて出す。(f)DASHセグメントストリーマ11は、そのキャッシュサーバを介して、IPTVクライアント13にDASHセグメントを返送する。(g)キャッシュサーバを通じて「urlxx」のDASHセグメントを受け取ったIPTVクライアントは、そのDASHセグメントによる動画再生を行う。
【0085】
(h)キャッシュサーバは、IPTVクライアント13にDASHセグメントを返送した後、キャッシング制御ポリシーに基づく、DASHセグメントのキャッシング処理を行う。すなわち。キャッシュサーバは、ステップST1において、「urlxx」の優先度は「高(high)」であるか否かを判断する。「高(high)」であるとき、キャッシュサーバは、ステップST2において、「urlxx」の保持期間は「長(long)」であるか否かを判断する。そして、「長(long)」であるとき、キャッシュサーバは、ステップST3において、「urlxx」のDASHセグメントを、ローカルキャッシュ(オン・メモリ)への長期間の保持を開始する。
【0086】
また、ステップST1で「高(high)」でないとき、あるいはステップST2で「長(long)」でないとき、キャッシュサーバは、ステップST4において、「urlxx」の優先度は「中(middle)」であるか否かを判断する。「中(middle)」であるとき、キャッシュサーバは、ステップST5において、「urlxx」の保持期間は「指定なし(N/A)」であるか否かを判断する。そして、「指定なし(N/A)」であるとき、キャッシュサーバは、ステップST6において、「urlxx」のDASHセグメントを、ローカルキャッシュ(SSD)への中期間の保持を開始する。
【0087】
また、ステップST4で「中(middle)」でないとき、あるいはステップST5で「指定なし(N/A)」でないとき、キャッシュサーバは、ステップST7において、「urlxx」の優先度は「低(low)」であるか否かを判断する。「低(low)」であるとき、キャッシュサーバは、ステップST8において、「urlxx」の保持期間は「短(short)」であるか否かを判断する。そして、「短(short)」であるとき、キャッシュサーバは、ステップST9において、「urlxx」のDASHセグメントを、ローカルキャッシュ(HD)への短期間の保持を開始する。
【0088】
また、ステップST7で「低(low)」でないとき、あるいはステップST8で「短(short)」でないとき、キャッシュサーバは、ステップST10において、「urlxx」のDASHセグメントを、廃棄する。
【0089】
[ストリーム配信システムの動作]
図23を参照して、IPTVクライアント13によるMPDファイルの要求から、このIPTVクライアントによるコンテンツ(DASHセグメント)の再生までの動作例を説明する。なお、図示の例は、説明を簡単にするため、CDNが2個のキャッシュサーバ16,17と、1個のキャッシュ管理サーバ18を有している場合を示している。
【0090】
(1)IPTVクライアント13-1は、所定のコンテンツに関するMPDファイルの取得要求を、CDNのキャッシュサーバ16を通じて、DASH MPDサーバ12に送付する。(2)DASH MPDサーバ12は、この取得要求に応じて、MPDファイルを、CDNのキャッシュサーバ16に送付する。このMPDファイルには、上述したように、キャッシュ優先度の指標およびキャッシュ保持期間の指標が含まれている。
【0091】
(3)キャッシュサーバ16は、そのMPDファイルをIPTVクライアント13-1に送付する。(4)キャッシュサーバ16は、また、そのMPDファイルをMPDキャッシュに格納するキャッシング処理を行うと共に、そのMPDファイルをキャッシュ管理サーバ18に送付する。(5)キャッシュ管理サーバ18は、そのMPDファイルを解析し、キャッシング制御ポリシーを作成し、キャッシュサーバ16,17に配布する。
【0092】
(6)MPDファイルを受け取ったIPTVクライアント13-1は、このMPDファイルに基づいて、所定のコンテンツを再生するためのDASHセグメント(ストリームセグメント)を、CDNのキャッシュサーバ16,17を通じて、DASHセグメントストリーマ11に送る。この場合、IPTVクライアント13-1は、自身のデバイス能力や置かれているネットワーク環境の状態に応じて、最適なレートおよび視点グループを選択できる。
【0093】
(7)DASHセグメントストリーマ11は、この取得要求に応じて、DASHセグメントをキャッシュサーバ17に送付する。(8)キャッシュサーバ17は、そのDASHセグメントを、キャッシュサーバ16に送付する。(9)キャッシュサーバ17は、また、キャッシング制御ポリシーに基づいて、そのDASHセグメントをローカルキャッシュに格納するキャッシング処理を行う。
【0094】
(10)キャッシュサーバ17からDASHセグメントの送付を受けたキャッシュサーバ16は、そのDASHセグメントをIPTVクライアント13-1に送付する。(11)キャッシュサーバ16は、また、キャッシング制御ポリシーに基づいて、そのDASHセグメントをローカルキャッシュに格納するキャッシング処理を行う。(12)DASHセグメントの送付を受けたIPTVクライアント13-1は、そのDASHセグメントに復号処理を施し、所定のコンテンツの動画や音声を再生する。
【0095】
(13)キャッシュサーバ17は、キャッシング制御ポリシーに基づいて、ローカルキャッシュに格納されているDASHセグメントとは異なる、優先度の高いDASHセグメントの自発的取得要求を、DASHセグメントストリーマ11に送付する。(14)DASHセグメントストリーマ11は、この取得要求に応じて、DASHセグメントをキャッシュサーバ17に送付する。(15)キャッシュサーバ17は、そのDASHセグメントをローカルキャッシュに格納するキャッシング処理を行う。
【0096】
(16)IPTVクライアント13-2は、IPTVクライアント13-1が上述したように取得要求を行ったと同じMPDファイルの取得要求を、CDNのキャッシュサーバ16に送る。(17)キャッシュサーバ16は、そのMPDファイルをMPDキャッシュに格納しているので、そのMPDファイルをIPTVクライアント13-2に送付する。
【0097】
(18)MPDファイルを受け取ったIPTVクライアント13-2は、このMPDファイルに基づいて、IPTVクライアント13-1が上述したように取得要求を行ったと同じDASHセグメント(ストリームセグメント)の取得要求を、CDNのキャッシュサーバ16に送付する。(19)キャッシュサーバ16は、そのDASHセグメントをローカルキャッシュに格納しているので、そのDASHセグメントをIPTVクライアント13-2に送付する。(20)DASHセグメントの送付を受けたIPTVクライアント13-2は、そのDASHセグメントに復号処理を施し、所定のコンテンツの動画や音声を再生する。
【0098】
(21)その後、IPTVクライアント13-2は、異なるDASHセグメントの取得要求を、CDNのキャッシュサーバ16に送付する。(22)キャッシュサーバ16は、そのDASHセグメントをローカルキャッシュに格納していないので、そのDASHセグメントの取得要求をキャッシュサーバ17に転送する。
【0099】
(23)キャッシュサーバ17は、そのDASHセグメントをローカルキャッシュに格納しているので、そのDASHセグメントを、キャッシュサーバ16に送付する。(24)そして、このキャッシュサーバ16は、そのDASHセグメントをIPTVクライアント13-2に送付する。(25)DASHセグメントの送付を受けたIPTVクライアント13-2は、そのDASHセグメントに復号処理を施し、所定のコンテンツの動画や音声を再生する。
【0100】
以上説明したように、
図1に示すストリーム配信システム10においては、DASH MPDサーバ12が提供するMPDファイルに、DASHセグメント毎のキャッシュ優先度やキャッシュ保持期間などのキャッシュに関する指標が含まれている。CDN14のキャッシュ管理サーバは、このキャッシュに関する指標に基づいて、キャッシュ制御ポリシーを作成し、各キャッシュサーバに配布する。
【0101】
CDN14の各キャッシュサーバは、そのキャッシュ制御ポリシーに基づいて、DASHセグメントのキャッシング処理を行う。これにより、CDN14の各キャッシュサーバにおいて、キャッシュ優先度の高いDASHセグメントほど、より多くのキャッシュサーバのローカルキャッシュに格納されている状態となる。
【0102】
そのため、IPTVクライアント13から取得要求が多く出されると思われる、例えば視点グループ1のビデオデータストリームのDASHセグメントに関しては、IPTVクライアント13のそのDASHセグメントの取得要求に対して、DASHセグメントストリーマ11からではなく、CDN14のキャッシュサーバから送付される確率が高くなる。したがって、CDN14は、各ビデオデータストリームのDASHセグメントのキャッシュ・配信資源管理を効率的に行うことが可能となる。
【0103】
<2.変形例>
なお、上述実施の形態においては、MPDファイルにキャッシュに関する指標としてキャッシュ優先度の指標やキャッシュ保持期間の指標などが含まれる例を示した。しかし、キャッシュに関する指標は、これらに限定されない。例えば、キャッシ周辺のキャッシュサーバに送付してキャッシュを要求することを考えた場合に、その周辺の範囲の指標も考えられる。
【0104】
また、上述実施の形態においては、MPEG−DASHベースのビデオデータストリームが、立体画像を構成する複数の視点のビデオデータストリームである例を示した。しかし、MPEG−DASHベースのビデオデータストリームは、グルーピング可能なその他のビデオデータストリームであってもよい。その場合にあっても、MPDファイルに各グループに応じたキャッシュに関する指標を含ませることで、CDN14は、各ビデオデータストリームのDASHセグメントのキャッシュ・配信資源管理を効率的に行うことが可能となる。
【0105】
また、上述実施の形態においては、本技術をMPEG−DASHベースのビデオデータストリームを配信するストリーム配信システムに適用したものである。本技術は、その他の同様のビデオデータストリームの配信システムにも同様に適用できることは勿論である。
【0106】
また、本技術は、以下のような構成を取ることもできる。
(1)配信サーバがネットワークを通じて配信可能な所定コンテンツの所定数のビデオデータストリームをクライアント端末が取得するための情報を持つメタファイルを生成するメタファイル生成部と、
上記クライアント端末から送信要求があるとき、上記メタファイルを、上記ネットワークを通じて、該クライアント端末に送信するメタファイル送信部とを備え、
上記メタファイル生成部は、
上記メタファイルに上記ネットワークにおける各ビデオデータストリームのキャッシュに関する指標を含める
送信装置。
(2)上記キャッシュに関する指標は、上記ネットワークにおける対応するビデオデータストリームのキャッシュ優先度の指標である
前記(1)に記載の送信装置。
(3)上記キャッシュに関する指標は、上記ネットワークにおける対応するビデオデータストリームのキャッシュ保持期間の指標である
前記(1)に記載の送信装置。
(4)上記所定数のビデオデータストリームは、立体画像を構成する複数の視点のビデオデータストリームである
前記(1)から(3)のいずれかに記載の送信装置。
(5)上記メタファイル生成部は、
上記複数の視点のビデオデータストリームの配信要求頻度予測に基づいて分類された視点グループに基づいて、各視点のビデオデータストリームの上記キャッシュに関する指標を決める
前記(4)に記載の送信装置。
(6)上記所定数のビデオデータストリームは、MPEG−DASHベースのビデオデータストリームであり、
上記メタファイルはMPDファイルであり、
上記ネットワークはCDNである
前記(1)から(5)のいずれかに記載の送信装置。
(7)上記メタファイル生成部は、
上記MPDファイルに、デスクリプタタイプ要素を利用して、上記ネットワークにおける各ビデオデータストリームのキャッシュに関する指標を含める
前記(6)に記載の送信装置。
(8)配信サーバがネットワークを通じて配信可能な所定コンテンツの所定数のビデオデータストリームの情報を持つメタファイルを生成するメタファイル生成ステップと、
クライアント端末から送信要求があるとき、上記生成されたメタファイルを、上記ネットワークを通じて、該クライアント端末に送信するメタファイル送信ステップとを備え、
上記メタファイル生成ステップでは、
上記メタファイルに上記ネットワークにおける各ビデオデータストリームのキャッシュに関する指標を含める
送信方法。
(9)複数のキャッシュサーバと所定数のキャッシュ管理サーバとを有してなり、
上記キャッシュサーバは、
配信サーバがネットワークを通じて配信可能な所定コンテンツの所定数のビデオデータストリームをクライアント端末が取得するための情報を持つメタファイルを受信するとき、該メタファイルを上記キャッシュ管理サーバに送信し、
上記キャッシュ管理サーバは、
上記メタファイルに含まれる各ビデオデータストリームのキャッシュに関する指標に基づいてキャッシュ制御ポリシーを生成して各キャッシュサーバに配布する
ネットワーク装置。
(10)上記キャッシュに関する指標は、ビデオデータストリームのキャッシュ優先度および/またはキャッシュ保持期間の指標である
前記(9)に記載のネットワーク装置。
(11)上記所定数のビデオデータストリームは、MPEG−DASHベースのビデオデータストリームであり、
上記メタファイルはMPDファイルであり、
上記キャッシュサーバは、DASHキャッシュサーバである
前記(9)または(10)に記載のネットワーク装置。
【0107】
本技術の主な特徴は、DASH MPDサーバ12が提供するMPDファイルに、DASHセグメント毎のキャッシュ優先度やキャッシュ保持期間などのキャッシュに関する指標を含ませることで、CDNにおいて各ビデオデータストリームのDASHセグメントのキャッシュ・配信資源管理を効率的に行うことを可能にしたことである(
図18、
図22参照)。