JPWO2014132821A1 - 情報処理装置および方法、プログラム、並びにコンテンツ供給システム - Google Patents

情報処理装置および方法、プログラム、並びにコンテンツ供給システム Download PDF

Info

Publication number
JPWO2014132821A1
JPWO2014132821A1 JP2015502864A JP2015502864A JPWO2014132821A1 JP WO2014132821 A1 JPWO2014132821 A1 JP WO2014132821A1 JP 2015502864 A JP2015502864 A JP 2015502864A JP 2015502864 A JP2015502864 A JP 2015502864A JP WO2014132821 A1 JPWO2014132821 A1 JP WO2014132821A1
Authority
JP
Japan
Prior art keywords
distribution
content
mpd
unit
dash
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
JP2015502864A
Other languages
English (en)
Inventor
山岸 靖明
靖明 山岸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Saturn Licensing LLC
Original Assignee
Saturn Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Saturn Licensing LLC filed Critical Saturn Licensing LLC
Publication of JPWO2014132821A1 publication Critical patent/JPWO2014132821A1/ja
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/20Arrangements for broadcast or distribution of identical information via plural systems
    • H04H20/24Arrangements for distribution of identical information via broadcast system and non-broadcast system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/42Arrangements for resource management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1045Proxies, e.g. for session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6405Multicasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6408Unicasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本開示は、コンテンツの配信をより効率よく行うことができるようにする情報処理装置および方法、プログラム、並びにコンテンツ供給システムに関する。コンテンツの供給にマルチキャスト配信若しくは放送配信を利用するか否かを判定し、前記マルチキャスト配信若しくは前記放送配信を利用すると判定された場合、前記コンテンツの供給に前記マルチキャスト配信若しくは前記放送配信を利用するように、前記コンテンツのユニキャスト配信に関する制御情報を更新する。本開示は、例えば、情報処理装置に適用することができる。

Description

本開示は情報処理装置および方法、プログラム、並びにコンテンツ供給システムに関し、特に、コンテンツの配信をより効率よく行うことができるようにした情報処理装置および方法、プログラム、並びにコンテンツ供給システムに関する。
近年、インターネット上のストリーミングサービスの主流がOTT-V(Over The Top Video)となっている。この基盤技術として普及し始めているのがDASH(Dynamic Adaptive Streaming over HTTP)である(例えば、非特許文献1参照)。
DASHはポイントトゥーポイントのHTTP(HyperText Transfer Protocol)ストリーミングにより実現されるため、スポーツ中継等の大多数のクライアントが同時に視聴する可能性のあるコンテンツ(番組)のストリーミングに適用する場合、例えばAkamai(登録商標)等のCDN(Contents Delivery Network)のサポートが必要となることがある。
ただし、一般的に、CDNは、コスト的な制約から、既存の放送配信に匹敵する程のスケーラビリティを求めることはできないので、マルチキャストやブロードキャストベアラを併用することにより、ネットワークリソースの負荷を低減する方法が考えられた。
「既存のWebサーバで途切れない動画配信を実現」、平林光浩、NIKKEI ELECTRONICS 2012.3.19
しかしながら、この方法を適用するだけでは、併用するマルチキャスト・ブロードキャストネットワークリソースの容量等によって、常に十分なコストメリットが得られるとは限らなかった。
本開示は、このような状況に鑑みてなされたものであり、コンテンツの配信をより効率よく行うことができるようにするものである。
本技術の一側面は、コンテンツの供給にマルチキャスト配信若しくは放送配信を利用するか否かを判定する判定部と、前記判定部により前記マルチキャスト配信若しくは前記放送配信を利用すると判定された場合、前記コンテンツの供給に前記マルチキャスト配信若しくは前記放送配信を利用するように、前記コンテンツのユニキャスト配信に関する制御情報を更新する更新部とを備える情報処理装置である。
前記判定部は、前記コンテンツの供給にマルチキャスト配信若しくは放送配信を利用する場合のコストを評価し、その評価結果に応じて、前記コンテンツの供給にマルチキャスト配信若しくは放送配信を利用するか否かを判定することができる。
前記制御情報を受け取る受け取り部をさらに備え、前記判定部は、前記受け取り部により受け取られた前記制御情報に応じて、前記コンテンツの供給にマルチキャスト配信若しくは放送配信を利用する場合のコストを評価し、その評価結果に応じて、前記コンテンツの供給にマルチキャスト配信若しくは放送配信を利用するか否かを判定し、前記更新部は、前記判定部により前記マルチキャスト配信若しくは前記放送配信を利用すると判定された場合、前記コンテンツの供給に前記マルチキャスト配信若しくは前記放送配信を利用するように、前記受け取り部により受け取られた前記制御情報を更新することができる。
前記判定部は、前記受け取り部により受け取られた前記制御情報の量に応じて、前記コストを評価することができる。
前記受け取り部は、所定のネットワークに接続されるクライアントから供給される前記制御情報を受け取ることができる。
前記受け取り部は、前記コンテンツを供給するサーバのプロキシサーバから供給される、前記プロキシサーバがクライアントから収集した前記制御情報を受け取ることができる。
マルチキャスト配信若しくは放送配信のリソースの利用状況を確認する確認部をさらに備え、前記判定部は、前記確認部により確認された利用可能な前記リソースを利用する場合についての前記コストを評価することができる。
前記判定部により前記マルチキャスト配信若しくは前記放送配信を利用すると判定された場合、前記コンテンツを供給するためのマルチキャスト配信若しくは放送配信のリソースを確保する確保部をさらに備え、前記更新部は、前記コンテンツの供給に、前記確保部により確保された前記リソースを利用するように、前記制御情報を更新することができる。
前記コンテンツは、DASH(Dynamic Adaptive Streaming over HTTP)フォーマットのストリームであり、前記制御情報は、MPD(Media Presentation Description)であるようにすることができる。
前記更新部は、前記MPDのBaseURLに配置されるserviceLocationAttribute URL属性により指定されるService Locationファイルの、DeliverySystemIdentifierに、前記コンテンツの供給に利用するマルチキャスト配信若しくは放送配信を識別する識別子を格納することができる。
前記更新部は、前記MPDのBaseURLに配置されるserviceLocationAttribute URL属性により指定されるService Locationファイルの、DeliverySystemDescriptorに、前記DeliverySystemIdentifierに格納された識別子に対応するシステムにおいてストリームデータを取得するためのパラメタを格納することができる。
前記コンテンツのユニキャスト用のストリームをユニキャスト配信するユニキャスト配信部をさらに備えることができる。
前記コンテンツのユニキャスト用のストリームをマルチキャスト配信若しくは放送配信用のストリームに変換する変換部と、前記変換部により生成された前記ストリームをマルチキャスト配信若しくは放送配信するBC/MC配信部をさらに備えることができる。
前記ユニキャスト用のストリームは、DASH(Dynamic Adaptive Streaming over HTTP)フォーマットのストリームであり、前記変換部により生成されたマルチキャスト配信若しくは放送配信用のストリームは、FLUTE(File Delivery over Unidirectional Transport)プロトコルのファイルであることができる。
前記変換部は、前記FLUTEプロトコルのファイルのFDT(File Delivery Table)-Instanceにおいて、File要素の属性としてrange属性を導入することができる。
前記更新部により更新された前記制御情報を供給する供給部をさらに備えることができる。
クライアントの代わりに前記コンテンツを取得し、前記供給部より供給される前記制御情報に応じて、取得した前記コンテンツをユニキャスト配信により前記クライアントに供給するか、若しくは、取得した前記コンテンツを、マルチキャスト配信若しくは放送配信のリソースを利用して前記クライアントに供給する供給制御部をさらに備えることができる。
本技術の一側面は、また、コンテンツの供給にマルチキャスト配信若しくは放送配信を利用するか否かを判定し、前記マルチキャスト配信若しくは前記放送配信を利用すると判定された場合、前記コンテンツの供給に前記マルチキャスト配信若しくは前記放送配信を利用するように、前記コンテンツのユニキャスト配信に関する制御情報を更新する情報処理方法である。
本技術の一側面は、さらに、コンピュータを、コンテンツの供給にマルチキャスト配信若しくは放送配信を利用するか否かを判定する判定部と、前記判定部により前記マルチキャスト配信若しくは前記放送配信を利用すると判定された場合、前記コンテンツの供給に前記マルチキャスト配信若しくは前記放送配信を利用するように、前記コンテンツのユニキャスト配信に関する制御情報を更新する更新部として機能させるプログラムである。
本技術の一側面は、また、サーバからクライアントにコンテンツを供給するコンテンツ供給システムであって、前記クライアントからの前記コンテンツの取得要求量に応じて、前記コンテンツの供給にマルチキャスト配信若しくは放送配信を利用するか否かを判定し、前記マルチキャスト配信若しくは前記放送配信を利用すると判定された場合、前記サーバから前記クライアントへの前記コンテンツの供給に前記マルチキャスト配信若しくは前記放送配信を利用するように、前記コンテンツのユニキャスト配信に関する制御情報を更新するコンテンツ供給システムである。
本技術においては、コンテンツの供給にマルチキャスト配信若しくは放送配信を利用するか否かが判定され、マルチキャスト配信若しくは放送配信を利用すると判定された場合、コンテンツの供給にマルチキャスト配信若しくは放送配信を利用するように、コンテンツのユニキャスト配信に関する制御情報が更新される。
本開示によれば、コンテンツの配信に関する情報を処理することができる。特に、コンテンツの配信をより効率よく行うようにすることができる。
従来のコンテンツ配信システムの例を説明する図である。 DASHの概要を説明する図である。 MPDの構成例を示す図である。 コンテンツの時間的区切りを説明する図である。 MPDにおけるPeriod以下の階層構造の例を示す図である。 MPDファイルの構成例を時間軸上で説明する図である。 MPDのRepresentation以下の構造の例を説明する図である。 MPDのXML記述例を示す図である。 セグメント取得要求の例を説明する図である。 拡張したMPDのXML記述例を示す図である。 serviceLocationAttributeUrl属性により指定されるServiceLocation要素のXML Schemaの一例を示す図である。 serviceLocationAttributeUrl属性により指定されるServiceLocation要素のデータ構造を示す図である。 User Service Description構造の例を示す図である。 FLUTEプロトコルの階層構造を示す図である。 FDTのデータ構造を示す図である。 拡張したFDTのデータ構造を示す図である。 コンテンツ配信システムの主な構成例を示すブロック図である。 MPDコンフィギュレータの物理的構成の例を示すブロック図である。 DASHセグメントストリーマが有する機能の例を示す機能ブロック図である。 FLUTEサーバが有する機能の例を示す機能ブロック図である。 放送配信サーバが有する機能の例を示す機能ブロック図である。 DASH-MPDサーバが有する機能の例を示す機能ブロック図である。 DASHクライアントが有する機能の例を示す機能ブロック図である。 MPDコンフィギュレータが有する機能の例を示す機能ブロック図である。 BC/MCリソースマネージャが有する機能の例を示す機能ブロック図である。 DASHクライアントプロキシが有する機能の例を示す機能ブロック図である。 配信制御処理の流れの例を説明するフローチャートである。 DASHクライアントプロキシ処理の流れの例を説明するフローチャートである。 コンテンツ配信処理の流れの例を説明するフローチャートである。 コンテンツ配信処理の流れの例を説明する、図29に続くフローチャートである。 コンテンツ配信処理の流れの例を説明する、図29に続くフローチャートである。 コンテンツ配信システムの他の構成例を示すブロック図である。 プロキシサーバが有する機能の例を示す機能ブロック図である。 コンテンツ配信処理の流れの他の例を説明するフローチャートである。 コンテンツ配信処理の流れの他の例を説明する、図34に続くフローチャートである。 コンテンツ配信処理の流れの他の例を説明する、図34に続くフローチャートである。 MPDおよびセグメントの配信処理の流れの例を説明するフローチャートである。 ユニキャスト配信の場合の、MPDおよびセグメントの配信処理の流れの例を説明するフローチャートである。 マルチキャスト配信若しくは放送配信の場合の、MPDおよびセグメントの配信処理の流れの例を説明するフローチャートである。 マルチキャスト配信若しくは放送配信の場合の、MPDおよびセグメントの配信処理の流れの、他の例を説明するフローチャートである。 MPDおよびセグメントをFLUTEにより配信する場合の配信処理の流れの例を説明するフローチャートである。 プロキシサーバを介して行う場合の、MPDおよびセグメントの配信処理の流れの例を説明するフローチャートである。
以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
0.概要
1.第1の実施の形態(コンテンツ配信システム)
2.第2の実施の形態(コンテンツ配信システム)
3.第3の実施の形態(MPDおよびストリームの伝送)
<0.概要>
<コンテンツ配信システム>
近年、インターネット上のストリーミングサービスの主流がOTT-V(Over The Top Video)となっている。この基盤技術として普及し始めているのがDASH(Dynamic Adaptive Streaming over HTTP)である。
DASHは、ポイントトゥーポイントのHTTP(HyperText Transfer Protocol)ストリーミングにより実現されるため、スポーツ中継等の大多数のクライアントが同時に視聴する可能性のあるコンテンツ(番組)のストリーミングに適用する場合、例えばAkamai(登録商標)等のCDN(Contents Delivery Network)のサポートが必要となることがある。
図1は、DASHによるコンテンツを配信するシステムの例を説明する図である。図1に示されるコンテンツ配信システム10は、DASHを利用して、画像や音声等よりなるコンテンツデータをサーバからクライアントに配信するシステムである。
図1に示される例のように、このコンテンツ配信システム10においては、DASH-MPDファイルも、DASHセグメントもすべてCDNを介して配信される。つまり、まず、DASH MPDサーバ11が、DASH-MPDファイル41を、CDN20を介して、最初にHTTPリクエストを発したDASHクライアント31に供給する。このDASH-MPDファイル41は、CDN20のキャッシュサーバ(DASHキャッシュ21)にも保持される。
DASHクライアント31が、取得したDASH-MPDファイル41に基づいて、コンテンツを要求すると、DASHセグメントストリーマ12は、そのコンテンツであるDASHセグメント61を、矢印51のように、CDN20を介して、DASHクライアント31に供給する。図1において小さな楕円は、それぞれ、セグメント化されたコンテンツであるDASHセグメントを示している。このDASHセグメント61も、CDN20のキャッシュサーバ(DASHキャッシュ22乃至DASHキャッシュ24等)にも保持される。
その後、他のクライアントであるDASHクライアント32が、同じコンテンツについてHTTPリクエストを発すると、CDN20のDASHキャッシュ21が、保持しているDASH-MPDファイル41をDASH-MPDファイル42としてDASHクライアント32に供給する。これによりDASH MPDサーバ11の負荷が低減される。もちろん、CDN20のキャッシュサーバにDASH-MPDファイルがキャッシュされていない場合は、DASHクライアント31の場合と同様に、DASH MPDサーバ11からDASH-MPDファイル42がDASHクライアント32に供給される。
そして、DASHクライアント32が、取得したDASH-MPDファイル42に基づいて、コンテンツを要求すると、DASHセグメントストリーマ12は、そのコンテンツであるDASHセグメント61を、矢印52のように、CDN20を介して、DASHクライアント32に供給する。このとき、CDN20のキャッシュサーバ(DASHキャッシュ22乃至DASHキャッシュ24等)にそのコンテンツのDASHセグメント61がキャッシュされている場合、そのDASHセグメント61がDASHクライアント32に供給される。これによりDASHセグメントストリーマ12の負荷が低減される。
このようにCDNを利用することにより、より効率的にコンテンツを配信することができる。
<DASH>
DASHによるコンテンツの伝送の手順を、図2を参照して説明する。まず、コンテンツを取得する側のクライアントは、ブラウザ等のアプリケーション(HTTP Streaming Client)によって、所望のコンテンツのMPDを選択し、サーバ(Media Presentation on HTTP Server)から取得する。
MPDを取得すると、クライアントは、MPDを解析して、所望のコンテンツのDASHセグメントをサーバから取得し、それを再生する。
MPDは、図3に示されるような構成を有する。MPDの解析(パース)においては、クライアントは、MPD(図3のMedia Presentation)のPeriodに含まれるRepresentationの属性から最適なものを選択する。
クライアントは、選択したRepresentationの先頭のSegmentを呼んでInitialization Segmentを取得し、処理する。続いて、クライアントは、後続のSegmentを取得し、再生する。
なお、MPDにおける、Period、Representation、およびSegmentの関係は、図4のようになる。つまり、1つのメディアコンテンツは、時間方向のデータ単位であるPeriod毎に管理することができ、各Periodは、時間方向のデータ単位であるSegment毎に管理することができる。また、各Periodについて、ビットレート等の属性の異なる複数のRepresentationを構成することができる。
したがって、このMPDのファイル(MPDファイルとも称する)は、Period以下において、図5に示されるような階層構造を有する。また、このMPDの構造を時間軸上に並べると図6の例のようになる。図6から明らかなように、同一のSegmentに対して複数のRepresentationが存在している。クライアントは、これらのうちのいずれかを適応的に選択することにより、通信環境や自己のデコード能力などに応じて適切なストリームデータを取得し、再生することができる。
ただし、一般的に、CDNは、コスト的な制約から、既存の放送配信に匹敵する程のスケーラビリティを求めることはできない。
Representationで記述する対象は、インターネット(NIC(Network Interface Controller))経由で配信されるストリームのurlであるが、もしクライアントがMBMS(Multimedia Broadcast and Multicast Service)等のブロードキャスト・マルチキャスト用(放送系)物理層が実装されている場合、それらを経由して受信できるチャンネル上に同一のライブ放送等が配信されているときには、それら経由で受信再生した方が放送系のQoS(Quality of Service)(保証帯域/遅延等)の保証された伝送路上ではるかに品質の高いコンテンツ再生が期待できる場合がある。
また、コスト的にも放送を使った方がリーズナブルな配信ができる可能性がある。また、再生途中で、インターネット配信環境(トラフィック)の急激な変化により、例えば、準備されているビットレートの範囲(の下限)を超えたストリームでしか受信できないような状況になった場合には、ストリーム再生が停止してしまう。このような場合に、たとえそれがインターネット配信よりもビットレートの低いストリームであっても視聴そのものを継続したいというユーザには、放送系伝送路上のストリームにスイッチして視聴を継続させるというような代替配信が必要となる。しかしながら、現在のDASHのスコープではいずれのケースもサポートすることができなかった。
<MPDの拡張>
そこで、ネットワークリソースの負荷を低減し、より効率よくコンテンツの配信を行うことができるように、マルチキャストやブロードキャストベアラを利用することができるようにする。より具体的には、Representationの1つとして、上述の放送チャネルで配信されるストリームを指定できるようにする。そのために、放送チャネルチューニング用のパラメタを記述する要素を配置できるようにし、放送チャネルで配信されるストリーム上のファイル転送プロトコルFLUTE(File Delivery over Unidirectional Transport)に対しても拡張属性を配置できるようにする。
図7は、MPDのRepresentation以下の構造の例を示す図である。Representationには、セグメント化されたストリームデータが格納されたファイルのアドレスが記述される。具体的には、セグメント化された複数のストリームデータがそれぞれ個別にファイル化されている場合、各ファイルのアドレス(url情報)のシーケンスが記述される。また、セグメント化された複数のストリームデータがまとめてファイル化されている場合、該ファイルのアドレス(Base URL)と、該ファイルにおける各セグメントの範囲(mediaRange)のシーケンスが記述される。なお、図7には、後者の場合が示されている。
MPDに、Representationの1つとして、放送チャンネル上に配信される同一コンテンツストリームを表現する属性を記述できるようにするための拡張利用方式を以下に説明する。ストリームを構成するチャンク化されたコンテンツデータのシーケンスは、チャンク化されたコンテンツデータが格納されるファイルのurlのシーケンスか、もしくは、チャンク化されたコンテンツのデータがファイルの中に納まっている場合には、それらが格納される"ファイルのURL+バイト範囲 "のシーケンスにより表現されるようにDASHで規定されている。
図8は、図7に示されたRepresentation以下の構造をXML形式で記述した一例を示している。
図8においては、対象のMP4のメディアが格納されるファイルのURLが
MPD/Period/AdaptationSet/Representation/BaseURL
に記述されている
”http://example.com/counter-10mn_avc_dash.mp4”
で表されている。
また、図8の
MPD/Period/AdaptationSet/Representation/SegmentList/SegmentURL/@mediaRange=”795-83596”
は、そのファイルにおけるバイト範囲795バイト目から83596バイト目までが1つ目のSegment(セグメント化されたストリームデータ)であることを示している。
また、図8の
MPD/Period/AdaptationSet/Representation/SegmentList/SegmentURL/@mediaRange="83597-166046"
は、そのファイルにおけるバイト範囲83597バイト目から166046バイト目までが2つ目のSegmentであることを示している。
クライアントは、これらのSegmentを取得する際、ファイルのurlである
"http://example.com/counter-10mn_avc_dash.mp4"
を指定するとともに、HTTPリクエストのRangeヘッダに当該バイトレンジを指定するHTTPリクエストを発行する。すなわち、図9のAに示されるように、クライアントは、最初のセグメントを取得するためのHTTPリクエストにおいて、ファイルurlとして
http://example.com/counter-10mn_avc_dash.mp4
を指定し、さらに、バイトレンジとして" 795-83596"を指定する。
また、図9のBに示されるように、クライアントは、2つ目のセグメントを取得するためのHTTPリクエストにおいて、ファイルurlとして
http://example.com/server/counter-10mn_aacdash.mp4
を指定し、さらに、バイトレンジとして"83597-166046"を指定する。
これらセグメントのデータを放送チャネル上のIPマルチキャストストリーム上のFLUTEで転送されるファイルに格納させる場合、上述の表現形式を放送チャネル上のIPマルチキャストストリームをアドレッシングするように拡張しなければならない。
そのために、セグメントファイル群が転送されるIPマルチキャストストリームを取得するための新たな要素としてチューニングパラメタ(DeliverySystemAttributes)やIPマルチキャストアドレス(IPMulticastAddress)を格納するServiceLocation要素が導入される。つまり、この場合、図10に示される例のように、このServiceLocation要素をルート要素として格納するserviceLocationファイルのurlを格納するserviceLocationAttribute Url属性がMPDのBaseURLに配置(記述)される。
なお、serviceLocationAttributeUrl属性により指定されるServiceLocationファイルのXML Schemaは、図11に示される例のように記述される。
図12は、このように拡張したMPDにおけるServiceLocation要素の構成例を示す図である。
図12に示されるように、DeliverySystemAttributesTypeのDeliverySystemIdentifierには、MBMSのマルチキャスト配信若しくは放送配信用のストリーム(ブロードキャスト・マルチキャストストリーム)を識別するデータ構造のフォーマットを識別する識別子が格納される。例えば、動画や音楽などのマルチメディアコンテンツを既存ネットワーク、特にW-CDMAをベースとする3G携帯電話網、GSM(登録商標)/EDGEをベースとする2.5G携帯電話網で効率よく配信するための技術である”MBMS”を用いた配信の場合、DeliverySystemIdentifierには、MBMSを示す識別子”ID_MBMS”が格納(記述)される。
また、DeliverySystemAttributesTypeのDeliverySystemDescriptorには、上述したDeliverySystemIdentifierで識別される配信システム毎に規定されたブロードキャスト・マルチキャストストリームを取得するためのパラメタのデータ構造若しくはパラメタそのものが格納(記述)される。
DeliverySystemIdentifierに”ID_MBMS”が格納(記述)される場合、例えば、図13に示されるような、MBMSにおいて規定される”User Service Description”構造が格納(記述)される。
[FDTの拡張]
次に、FDTの拡張について説明する。上述したServiceLocation/DeliverySystem要素に格納される情報によりMBMSマルチキャストストリーム上に転送されるIPパケットストリームのうち、ServiceLocation/IPMulticastAddress要素で指定されるマルチキャストアドレスを持つIPパケットストリーム上には、FLUTEプロトコルによりファイル群が運ばれるものとする。
図14はFLUTEプロトコルの階層を示している。FLUTEは、IPパケットストリーム上にファイルを転送するプロトコルであり、図14に示される例のようなプロトコル階層を有する。なお図14においては、上述したDeliverySystemAttributesで指定されるMBMSベアラ上にFLUTEのパケットが運ばれる場合を示している。
FLUTEプロトコルでは、FLUTEパケットにより運ばれるファイルのそれぞれに対してファイル属性が記述できるようになっている。ファイル属性はFDT(File Delivery Table)(FDT-Instance要素)に記述される。
図15は、FDTのデータ構造の例を示している。FDTに必須のファイル属性は以下の3種である。
FDT-Instance/Expires(FDTの有効期限)
FDT-Instance/File/Content-Location(転送するファイルのURL)
FDT-Instance/File/TOI(Transport Object Identifier、FLUTE転送する上で必須の構成チャンク群の識別子)
FLUTEプロトコルでは、同一のTOIを有する全てのファイルが受信された段階で初めて、Content-LocationのURLにより指定されるファイルとしてそれらに対してアクセスが可能となる。したがって、映画などのVoDコンテンツのように再生時間が長く1つのファイルのサイズが非常に大きい場合には、そのファイル全体が受信側で再構成されてアクセスできるようになるまでに、ある程度の時間が必要となる。
これに対して、DASHを利用したストリーミングにおいては、対象のVoDコンテンツのファイルのサイズが大きくても、個々のHTTPリクエストのmediaRange指定によりファイルの一部をセグメント単位で取得し、再生することができる。したがって、放送チャネル上のFLUTE転送されるファイルの単位もこのセグメントの単位で取得し、再生できるようにすることが望ましい。
ただし、現在規定されているFDTのContent-Location要素のみでは、MPDのBaseURL+SegmentURL mediaRangeのシーケンスのように、ファイルの一部を表現することができない。DASHのMPDのSegmentが、FLUTEで転送されるファイルの一部(ファイルurl+バイトレンジで指定されるバイト列)である場合には、そのバイト列をファイルとして独立させ、そのファイルにURLを割り当て、そのurlと対応するSegmentを対応させる方法も考えられるが、これは、放送配信のために、ネット配信のMPDファイルの構成を変更することとなり、ネット配信目的で生成されたMPDを、放送配信を併用することになった時点で、セグメントファイルの構成変更や、対応するMPDの書き換えが生じるため現実的でない(運用上余計なオーバヘッドが生じる)。そこで、FDTについてもファイルの一部を表現できるように拡張する。
図16は、拡張したFDTのデータ構造を示している。すなわち、FDTに対して、Content-Locationと、さらにそのContent-Locationのurlで指定されるファイルの中のバイトレンジが指定できるように新たにrange属性を導入する。range属性のシンタクスには、range-specifier(RFC2616.section.14.35.1)の定義を適用する。range属性には、以下のようにHTTPリクエストのrangeヘッダに格納されるrange-specifierにより表現されるものをそのまま格納できるようにする。つまりrange属性には、MPDのPeriod/AdaptationSet/Representation/SegmentList/SegmentURL/@mediaRangeをそのまま流用することができる。
<適応的な制御>
ただし、仮に、上述したようにMPDを拡張することにより、マルチキャストやブロードキャストベアラを利用するとしても、マルチキャスト配信やブロードキャスト配信が常に最善という訳ではない。例えば、コンテンツを要求するクライアントが少ない場合や、使用可能なマルチキャスト配信やブロードキャスト配信のリソースが少ない場合等においては、十分なコストメリットを得ることができず、ネットワークリソースの負荷を十分に低減することができないことも考えられた。
そこで、コンテンツの配信をより効率よく行うために、ユニキャスト配信とマルチキャスト配信やブロードキャスト配信とを併用し、各配信の利用をより適応的に制御するようにする。
例えば、DASHアダプティブストリーミングフォーマットのマニフェストファイル(MPD)を収集するMPDコンフィギュレータを用意し、DASHクライアントからの要求量(要求数)に応じて放送チャンネルを割り当て(解放して)、MPDを書き換える(更新する)ようにする。
このようにすることにより、放送配信リソース割り当てを最適に保ちながら、アダプティブストリーミングにおけるストリームスイッチ可能な代替配信パスとしてMBMS等のモバイル放送チャンネルを利用することができる。
<1.第1の実施の形態>
<コンテンツ配信システム>
図17は、本技術を適用したコンテンツ供給システムの一実施の形態であるコンテンツ配信システムの主な構成例を示すブロック図である。
図17に示されるコンテンツ配信システム100は、サーバからクライアントにコンテンツを供給するシステムである。図17に示されるように、コンテンツ配信システム100は、コンテンツ提供システム111、配信制御システム112、ネットワーク113、並びに、DASHクライアント114−1およびDASHクライアント114−2を有する。コンテンツ配信システム100は、コンテンツ提供システム111からDASHクライアント114−1やDASHクライアント114−2へコンテンツを伝送するシステムである。
コンテンツ提供システム111は、主にコンテンツの提供に関する処理を行うシステムである。コンテンツ提供システム111は、DASHクライアント114−1やDASHクライアント114−2からの要求に応じて、自身が管理するコンテンツを、ネットワーク113を介して、要求元であるDASHクライアント114−1若しくはDASHクライアント114−2に供給する。
配信制御システム112は、そのコンテンツの配信方法に関する制御処理を行うシステムである。
ネットワーク113は、例えばインターネットやLAN等の、有線若しくは無線、または両方の任意のネットワークよりなる。図17においては、ネットワーク113が1つのネットワークとして示されているが、ネットワーク113の構成は任意であり、複数のネットワークにより構成されるようにしてもよい。また、ネットワーク113には、どのような機器やシステムが接続されるようにしてもよい。図17の例の場合、ネットワーク113には、コンテンツ提供システム111、配信制御システム112、並びに、DASHクライアント114−1およびDASHクライアント114−2が接続される。
DASHクライアント114−1やDASHクライアント114−2は、それぞれ、ネットワーク113に接続され、コンテンツの取得に関する処理を行う。なお、DASHクライアント114−1とDASHクライアント114−2とを互いに区別して説明する必要がない場合、単にDASHクライアント114と称する。図17においては、2つのDASHクライアント114が示されているが、DASHクライアント114の数は任意である。
DASHクライアント114は、ネットワーク113を介して通信を行う通信機能を備え、コンテンツ提供システム111から供給される動画像や音声などよりなるコンテンツのストリーミングデータを再生可能な装置であれば、どのようなデバイスであってもよい。例えば、携帯電話機、ノート型のパーソナルコンピュータ、スマートフォン、タブレット型情報処理装置等といった携帯型の端末装置(モバイル機器)であってもよい。DASHクライアント114−1とDASHクライアント114−2とが互いに異なる種類のデバイスであってももちろんよい。
また、DASHクライアント114は、ネットワーク113に、有線通信により接続されてもよいし、無線通信により接続されてもよい。
図17に示されるように、コンテンツ提供システム111は、例えば、コンテンツマネジメントサーバ121、DASHセグメントストリーマ122、DASH-MPDサーバ123、BC/MCサービスプロバイダ124を有する。
コンテンツマネジメントサーバ121は、コンテンツ(例えば、ライブ放送ストリームを含む)の生成・管理を行うサーバである。
DASHセグメントストリーマ122は、コンテンツマネジメントサーバ121にて管理されるコンテンツからDASHセグメントを生成するサーバである。個々のセグメントは、ファイルとして独立して生成される場合もあれば、ファイルとしては分割されずにファイルURL+rangeで指定される領域として管理される場合もある。ネット配信の場合、DASHセグメントストリーマ122は、セグメントを配信するHTTPサーバとなる。
DASH-MPDサーバ123は、DASHセグメントストリーマ122にて管理されるDASHセグメントのurl(+range)とコンテンツマネジメントサーバ121にて管理されるコンテンツのメタデータをもとにMPDを生成するサーバである。ネット配信の場合、DASH-MPDサーバ123は、MPDを配信するHTTPサーバとなる。放送配信もしくはマルチキャスト配信の場合、DASH-MPDサーバ123は、MPDを後述するFLUTEサーバ131に送付する。
BC/MCサービスプロバイダ124は、後述するDASHクライアントプロキシ143から放送配信依頼されたMPDやセグメントを放送配信リソース152(例えばMBMSベアラ等)により放送配信するサーバである。図17に示されるように、BC/MCサービスプロバイダ124は、例えば、FLUTEサーバ131および放送配信サーバ132を有する。
FLUTEサーバ131は、DASHセグメントストリーマ122にて管理されるDASHセグメントをFLUTEプロトコルにてDASHクライアント114にマルチキャストするサーバである。FLUTEサーバ131は、拡張されたFDTの生成や、セグメントからFLUTEパケット(ALCパケット等)の生成等を行う。ネット配信の場合、FLUTEサーバ131は、生成したFDTやFLUTEパケットをDASHクライアント114にマルチキャスト配信するマルチキャストサーバとなる。放送配信の場合、FLUTEサーバ131は、生成したFDTやFLUTEパケットを放送配信サーバ132に送付する。
放送配信サーバ132は、FLUTEサーバ131にて生成されるFDTやALCパケット等を放送配信するサーバである。
図17に示されるように、配信制御システム112は、例えば、MPDコンフィギュレータ141、BC/MCリソースマネージャ142、およびDASHクライアントプロキシ143を有する。
MPDコンフィギュレータ141は、コンテンツの供給にマルチキャスト配信若しくは放送配信を利用するか否かを判定し、マルチキャスト配信若しくは放送配信を利用すると判定された場合、コンテンツの供給にそのマルチキャスト配信若しくは放送配信を利用するように、そのコンテンツのユニキャスト配信に関する制御情報を更新する。
より具体的には、MPDコンフィギュレータ141は、DASHクライアント114から送付された、その制御情報の一例であるMPDをもとに、BC/MCリソースマネージャ142に対してマルチキャストリソースを予約・解放し、コンテンツの一例である当該セグメントストリームをマルチキャストチャネルから取得できるように、<0.概要>において上述したようにMPDを書き換えてクライアントに送付する。リソースの予約・解放判断は、BC/MCリソース併用のコスト効果計算をもとに行う。
BC/MCリソースマネージャ142は、MPDコンフィギュレータ141からの依頼を基に、マルチキャストリソースを予約・解放するサーバである。MPDコンフィギュレータ141に対してブロードキャスト/マルチキャストリソースの空き状況を報告し、リソース予約・解放要求に応じる。
DASHクライアントプロキシ143は、DASHセグメントストリーマ122に対して、DASHクライアント114としてふるまうプロキシサーバである。MPDコンフィギュレータ141により書き換えられたMPDをモニタして、DASHクライアント114の代わりにセグメントを取得し、マルチキャスト配信若しくは放送配信(BC/MC)のためのプロトコル変換(HTTP取得からFLUTEマルチキャスト配信への変換)を行い、BC/MCサービスプロバイダ124に対してマルチキャスト配信若しくは放送配信を依頼するサーバである。
図17に示されるように、ネットワーク113は、例えば、CDN151および放送配信リソース152を有する。放送配信リソース152は、例えば、MBMSベアラ等よりなる。図17においては、ネットワーク113にCDN151と放送配信リソース152を1つずつ示しているが、ネットワーク113に含まれるCDN151や放送配信リソース152の数は任意であり、複数であってもよい。
コンテンツ提供システム111が上述した以外のサーバ等を有していてももちろんよい。また、図17においては、コンテンツ提供システム111がネットワーク113に接続されているように示されているが、実際には、上述した、コンテンツ提供システム111を構成する各サーバ(コンテンツマネジメントサーバ121乃至BC/MCサービスプロバイダ124(FLUTEサーバ131および放送配信サーバ132)等)が、直接的または間接的にネットワーク113に接続される。
もちろん、コンテンツ提供システム111の構成は任意であり、ネットワーク113を介してDASHクライアント114に対してコンテンツを配信することができるのであれば、上述した各サーバやその他の機器がどのように互いに接続され、どのようにネットワーク113に接続されるようにしてもよい。また、図17においては、1つずつ示されているが、コンテンツマネジメントサーバ121乃至BC/MCサービスプロバイダ124(FLUTEサーバ131および放送配信サーバ132)の数は任意であり、複数であってもよい。
配信制御システム112が上述した以外のサーバ等を有していてももちろんよい。また、図17においては、配信制御システム112がネットワーク113に接続されているように示されているが、実際には、上述した、配信制御システム112を構成する各サーバ(MPDコンフィギュレータ141乃至DASHクライアントプロキシ143等)が、直接的または間接的にネットワーク113に接続される。
もちろん、配信制御システム112の構成は任意であり、ネットワーク113を介したコンテンツ配信を制御することができるのであれば、上述した各サーバやその他の機器がどのように互いに接続され、どのようにネットワーク113に接続されるようにしてもよい。また、図17においては、1つずつ示されているが、MPDコンフィギュレータ141乃至DASHクライアントプロキシ143の数は任意であり、複数であってもよい。
さらに、例えば、MPDコンフィギュレータ141乃至DASHクライアントプロキシ143(若しくはそれらの一部)が、コンテンツ配信側に形成される(すなわち、コンテンツ提供システム111を構成する)ようにしてもよい。
また、例えば、ネットワーク113が複数のネットワークよりなり、MPDコンフィギュレータ141乃至DASHクライアントプロキシ143(若しくはそれらの一部)が、それらのネットワーク間の中継装置として形成されるようにしてもよい。
さらに、例えば、MPDコンフィギュレータ141乃至DASHクライアントプロキシ143(若しくはそれらの一部)が、ネットワーク113を介して行われるコンテンツ配信の所定の一部のみを制御するようにしてもよい。例えば、MPDコンフィギュレータ141乃至DASHクライアントプロキシ143(若しくはそれらの一部)が、時間的または位置的(領域的)にネットワーク113の一部において行われるコンテンツ配信を担当するようにしてもよい。
例えば、DASHクライアント114が携帯電話機やスマートフォンのような、公衆無線通信回線の基地局を介してインターネット等に接続するデバイスであり、MPDコンフィギュレータ141乃至DASHクライアントプロキシ143(若しくはそれらの一部)が、その基地局に形成されるようにし、その基地局を介して行われるコンテンツ配信のみを制御するようにしてもよい。
この場合、MPDコンフィギュレータ141は、その基地局に接続されるDASHクライアント114からのコンテンツ配信要求の量に応じて、マルチキャスト配信若しくは放送配信のリソースの割り当てを適応的に制御して、MPDを更新する。
また、例えば、DASHクライアント114が、家庭内や店舗等に設置された無線LANのアクセスポイント(またはフェムトセルの基地局等)を介してインターネット等に接続するデバイスであり、MPDコンフィギュレータ141乃至DASHクライアントプロキシ143(若しくはそれらの一部)が、そのアクセスポイントに形成されるようにし、そのアクセスポイントを介して行われるコンテンツ配信のみを制御するようにしてもよい。
この場合、MPDコンフィギュレータ141は、そのアクセスポイントに接続されるDASHクライアント114(つまり、その無線LANに接続されるDASHクライアント114)からのコンテンツ配信要求の量に応じて、マルチキャスト配信若しくは放送配信のリソースの割り当てを適応的に制御して、MPDを更新する。
さらに、例えば、MPDコンフィギュレータ141は、予め登録された所定のDASHクライアント114に対するコンテンツ配信のみを制御するようにしてもよい。つまり、この場合、MPDコンフィギュレータ141は、予め登録された所定のDASHクライアント114からのコンテンツ配信要求の量に応じて、マルチキャスト配信若しくは放送配信のリソースの割り当てを適応的に制御して、MPDを更新する。
また、例えば、MPDコンフィギュレータ141乃至DASHクライアントプロキシ143(若しくはそれらの一部)が、DASHクライアント114内に形成されるようにし、そのDASHクライアント114において実行される各アプリケーションのコンテンツ配信要求の量に応じて、マルチキャスト配信若しくは放送配信のリソースの割り当てを適応的に制御して、MPDを更新するようにしてもよい。
このようにすることにより、MPDコンフィギュレータ141は、ネットワーク113全体でなく、その時間的、位置的(領域的)、若しくはクライアント的に一部におけるコンテンツ配信要求量に応じて、マルチキャスト配信若しくは放送配信のリソースの割り当てを適応的に制御することができる。すなわち、局所的に要求量の変動にもより適切に対応することができる。つまり、コンテンツ配信をより効率よく行うようにすることができる。
<物理的構成>
次に、コンテンツ配信システム100を構成する各デバイスの構成例について説明する。図18は、MPDコンフィギュレータ141の物理的な構成例を示すブロック図である。
図18に示されるように、MPDコンフィギュレータ141は、CPU(Central Processing Unit)201、ROM(Read Only Memory)202、およびRAM(Random Access Memory)203を有する。これらのCPU201、ROM202、およびRAM203は、バス204を介して相互に接続されている。
バス204にはまた、入出力インタフェース210も接続されている。入出力インタフェース210には、入力部211、出力部212、記憶部213、通信部214、およびドライブ215が接続されている。
入力部211は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部212は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部213は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部214は、例えば、ネットワークインタフェースよりなる。ドライブ215は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア221を駆動する。
もちろん、MPDコンフィギュレータ141の構成は任意であり、図18の例に限らない。例えば、MPDコンフィギュレータ141が、図18に示される構成以外の構成を有するようにしてもよい。
なお、コンテンツマネジメントサーバ121、DASHセグメントストリーマ122、DASH-MPDサーバ123、BC/MCサービスプロバイダ124(FLUTEサーバ131および放送配信サーバ132)、BC/MCリソースマネージャ142、DASHクライアントプロキシ143、並びに、DASHクライアント114も、それぞれ、MPDコンフィギュレータ141と同様の構成を有するものとする。すなわち、以下において、これらのデバイスの物理的な構成について説明する場合、図18を参照して説明する。もちろん、これらのデバイスの構成も、MPDコンフィギュレータ141の場合と同様に任意であり、図18の例に限らない。MPDコンフィギュレータ141を含むこれらのデバイス(または一部のデバイス)が他のデバイスと異なる構成を有するようにしてもよい。
<機能的構成>
次に、コンテンツ配信システム100を構成する各デバイスの機能の例について、図19乃至図26を参照して説明する。図19乃至図26は、各デバイスが有する機能を説明するための機能ブロック図である。図19乃至図26に示される各機能ブロックは、各デバイスのCPU201がROM202や記憶部213から読み出したプログラム等を、適宜RAM203等を用いて実行することにより実現される機能を表すものである。
図19は、DASHセグメントストリーマ122が有する主な機能ブロックの構成例を示す図である。図19に示されるように、DASHセグメントストリーマ122は、例えば、DASHセグメント生成部301、DASHセグメント管理部302、およびDASHセグメント供給部303を有する。
DASHセグメント生成部301は、DASHセグメントストリーマ122の通信部214を介して、コンテンツマネジメントサーバ121にて管理されるコンテンツデータを取得し、その取得したコンテンツデータからDASHセグメントを生成する。
DASHセグメント管理部302は、DASHセグメント生成部301により生成されたDASHセグメントを、DASHセグメントストリーマ122の記憶部213に記憶し、管理する。
DASHセグメント供給部303は、DASHセグメントストリーマ122の通信部214を介して外部(例えば、DASHクライアント114、DASHクライアントプロキシ143等)から要求された、DASHセグメントストリーマ122の記憶部213に記憶され、DASHセグメント管理部302により管理されているDASHセグメントを読み出し、その読み出したDASHセグメントを、DASHセグメントストリーマ122の通信部214を介して要求元に供給する。
もちろん、DASHセグメントストリーマ122は、任意の機能ブロックを有することができる。例えば、図19に示される例以外の機能ブロックを有することもできる。
図20は、FLUTEサーバ131が有する主な機能ブロックの構成例を示す図である。図20に示されるように、FLUTEサーバ131は、例えば、プロトコル変換部311、MPDマルチキャスト配信部312、セグメントマルチキャスト配信部313、および放送配信依頼部314を有する。
プロトコル変換部311は、FLUTEサーバ131の通信部214を介して外部(例えば、DASHクライアントプロキシ143等)から供給されたデータのプロトコルをマルチキャスト配信若しくは放送配信用のプロトコルに変換する。より具体的には、プロトコル変換部311は、供給されるDASHプロトコルのデータをFLUTEプロトコルのデータに変換する。例えば、プロトコル変換部311は、MPDやDASHセグメントからFDTやFLUTEパケットを生成する。
図20に示されるように、プロトコル変換部311は、例えばFDT生成部321およびFLUTEストリーム生成部322を有する。
FDT生成部321は、<0.概要>において上述したように、拡張されたFDTを生成する。
FLUTEストリーム生成部322は、<0.概要>において上述したようにFLUTEパケットを生成する。
MPDマルチキャスト配信部312は、FLUTEサーバ131の通信部214を介して、MPDをマルチキャスト配信する。つまり、MPDマルチキャスト配信部312は、MPDのマルチキャスト配信を行う。その際MPDマルチキャスト配信部312は、BC/MCリソースマネージャ142により確保された放送配信リソース152(マルチキャスト配信用のリソース)を用いて、外部(例えば、DASHクライアント114等)に対してMPDのマルチキャスト配信を行う。
セグメントマルチキャスト配信部313は、FLUTEサーバ131の通信部214を介して、DASHセグメントをマルチキャスト配信する。つまり、セグメントマルチキャスト配信部313は、プロトコル変換部311により生成されたFDTやFLUTEパケットをマルチキャスト配信する。その際セグメントマルチキャスト配信部313は、BC/MCリソースマネージャ142により確保された放送配信リソース152(マルチキャスト配信用のリソース)を用いて外部(例えば、DASHクライアント114等)にマルチキャスト配信を行う。
放送配信依頼部314は、FDTやFLUTEパケットを放送配信する場合、FLUTEサーバ131の通信部214を介して、放送配信サーバ132に対して放送配信依頼を行う。その際、放送配信依頼部314は、放送配信するFDTやFLUTEパケットを放送配信サーバ132に供給する。
もちろん、FLUTEサーバ131は、任意の機能ブロックを有することができる。例えば、図20に示される例以外の機能ブロックを有することもできる。
図21は、放送配信サーバ132が有する主な機能ブロックの構成例を示す図である。図21に示されるように、放送配信サーバ132は、例えば、放送配信部331を有する。
放送配信部331は、外部(例えば、FLUTEサーバ131等)より供給された放送配信依頼を放送配信サーバ132の通信部214を介して取得し、その放送配信依頼にしたがって、同様に供給されたFDTやFLUTEパケットを、放送配信サーバ132の通信部214を介して外部(例えば、DASHクライアント114等)に放送配信する。その際放送配信部331は、BC/MCリソースマネージャ142により確保された放送配信リソース152(放送配信用のリソース)を用いて放送配信を行う。
もちろん、放送配信サーバ132は、任意の機能ブロックを有することができる。例えば、図21に示される例以外の機能ブロックを有することもできる。
図22は、DASH-MPDサーバ123が有する主な機能ブロックの構成例を示す図である。図22に示されるように、DASH-MPDサーバ123は、例えば、MPD生成部341、MPD管理部342、およびMPD供給部343を有する。
MPD生成部341は、DASH-MPDサーバ123の通信部214を介して、DASHセグメントストリーマ122において管理されるDASHセグメントのurl(+range)とコンテンツマネジメントサーバ121において管理されるコンテンツのメタデータを取得し、それらの情報をもとにMPDを生成する。
MPD管理部342は、MPD生成部341により生成されたMPDを、DASH-MPDサーバ123の記憶部213に記憶し、管理する。
MPD供給部343は、DASH-MPDサーバ123の通信部214を介して外部(例えば、DASHクライアント114、DASHクライアントプロキシ143等)から要求された、DASH-MPDサーバ123の記憶部213に記憶され、MPD管理部342により管理されているMPDを読み出し、その読み出したMPDを、DASH-MPDサーバ123の通信部214を介して要求元に供給する。
もちろん、DASH-MPDサーバ123は、任意の機能ブロックを有することができる。例えば、図22に示される例以外の機能ブロックを有することもできる。
図23は、DASHクライアント114が有する主な機能ブロックの構成例を示す図である。図23に示されるように、DASHクライアント114は、例えば、MPD要求部351、MPD取得部352、判定部353、MPD供給部354、セグメント要求部355、セグメント取得部356、およびセグメント再生部357を有する。
MPD要求部351は、DASHクライアント114の通信部214を介して、外部(例えばDASH-MPDサーバ123等)に対してMPDの取得を要求する。
MPD取得部352は、DASHクライアント114の通信部214を介して、MPD要求部351がした要求に対して外部(例えば、DASH-MPDサーバ123、BC/MCサービスプロバイダ124、DASHクライアントプロキシ143等)から供給されるMPDを取得する。
判定部353は、MPD取得部352により取得された、DASHクライアント114の通信部214を介して外部(例えば、DASH-MPDサーバ123等)から供給されたMPDに基づいて、受信方法(ユニキャスト配信されるデータを受信する(ユニキャスト受信する)方がよいか、マルチキャスト配信若しくは放送配信されるデータを受信する(マルチキャスト受信する)方がよいか)を判定する。つまり、判定部353は、各配信用のリソースの利用可能帯域等を確認することにより、MPDを、DASHクライアント114の通信部214を介して外部(例えば、MPDコンフィギュレータ141等)に供給するか否かを判定する。コンテンツをユニキャスト受信する方がよい場合、MPDを更新する必要がないので、判定部353は、MPDを供給しないと判定する。逆に、コンテンツをマルチキャスト受信する方が望ましい場合、MPDを更新する必要があるので、判定部353は、MPDを供給すると判定する。
MPD供給部354は、判定部353によりMPDを供給すると判定された場合、MPD取得部352により取得されたMPDを、DASHクライアント114の通信部214を介して外部(例えば、MPDコンフィギュレータ141等)に供給する。
セグメント要求部355は、MPD取得部352により取得された、DASHクライアント114の通信部214を介して外部(例えば、BC/MCサービスプロバイダ124、DASHクライアントプロキシ143等)から供給されたMPDに基づいて、ユニキャスト受信する場合、DASHクライアント114の通信部214を介して、外部(例えば、DASHセグメントストリーマ122等)に対してDASHセグメントの取得を要求する。
セグメント取得部356は、DASHクライアント114の通信部214を介して、セグメント要求部355がした要求に対して外部(例えば、DASHセグメントストリーマ122等)から供給されるDASHセグメントを取得する。また、セグメント取得部356は、DASHクライアント114の通信部214を介して、外部(例えば、BC/MCサービスプロバイダ124、DASHクライアントプロキシ143等)から供給されるFLUTEパケット等を取得する。
セグメント再生部357は、セグメント取得部356により取得されたコンテンツデータ(例えば、DASHセグメント、FLUTEパケット等)を再生し、例えば、画像や音声をDASHクライアント114の出力部212から出力する。
もちろん、DASHクライアント114は、任意の機能ブロックを有することができる。例えば、図23に示される例以外の機能ブロックを有することもできる。
図24は、MPDコンフィギュレータ141が有する主な機能ブロックの構成例を示す図である。図24に示されるように、MPDコンフィギュレータ141は、例えば、MPD取得部361、リソース情報要求部362、リソース情報取得部363、コスト評価部364、リソース確保要求部365、リソース確保結果通知取得部366、MPD更新部367、およびMPD供給部368を有する。
MPD取得部361は、MPDコンフィギュレータ141の通信部214を介して、外部(例えば、DASHクライアント114等)から供給されるMPDを取得する。
リソース情報要求部362は、リソースの利用状況を確認するために、MPDコンフィギュレータ141の通信部214を介して、外部(例えば、BC/MCリソースマネージャ142等)に対して、放送配信リソース152(マルチキャスト配信や放送配信用のリソース)の利用状況を示す情報であるリソース情報を要求する。
リソース情報取得部363は、MPDコンフィギュレータ141の通信部214を介して、リソース情報要求部362がした要求に対して外部(例えば、BC/MCリソースマネージャ142等)から供給されるリソース情報を取得する。
コスト評価部364は、MPD取得部361が取得したMPDやリソース情報取得部363が取得したリソース情報に基づいて、コンテンツの配信に、マルチキャスト配信や放送配信を利用する場合のコスト(BC/MC併用コストとも称する)を評価する。この場合のコストとは、任意の条件についての評価値を示し、コンテンツ配信の効率の度合いを示す任意のパラメタである。
リソース確保要求部365は、コスト評価部364によりマルチキャスト配信や放送配信を利用すると判定された場合に、リソース情報に基づいて、利用可能な放送配信リソース152(マルチキャスト配信や放送配信用のリソース)の確保を、MPDコンフィギュレータ141の通信部214を介して外部(例えば、BC/MCリソースマネージャ142等)に要求する。
リソース確保結果通知取得部366は、MPDコンフィギュレータ141の通信部214を介して、リソース確保要求部365がした要求に対して外部(例えば、BC/MCリソースマネージャ142等)から供給される、放送配信リソース152(マルチキャスト配信や放送配信用のリソース)の確保結果の通知を取得する。
MPD更新部367は、コスト評価部364によりマルチキャスト配信や放送配信を利用すると判定された場合に、MPDを、コンテンツの供給にその放送配信リソース152(マルチキャスト配信や放送配信用のリソース)を利用するように、<0.概要>において上述したように更新する。
MPD供給部368は、MPD更新部367により更新されたMPD、若しくは、MPD更新部367により更新されなかったMPDを、MPDコンフィギュレータ141の通信部214を介して、外部(例えば、DASHクライアントプロキシ143、BC/MCサービスプロバイダ124、DASHクライアント114等)に供給する。
もちろん、MPDコンフィギュレータ141は、任意の機能ブロックを有することができる。例えば、図24に示される例以外の機能ブロックを有することもできる。
図25は、BC/MCリソースマネージャ142が有する主な機能ブロックの構成例を示す図である。図25に示されるように、BC/MCリソースマネージャ142は、例えば、リソース情報要求取得部371、リソース情報生成部372、リソース情報供給部373、リソース確保要求取得部374、リソース確保部375、およびリソース確保結果通知部376を有する。
リソース情報要求取得部371は、BC/MCリソースマネージャ142の通信部214を介して、外部(例えば、MPDコンフィギュレータ141等)から供給されるリソース情報の要求を取得する。
リソース情報生成部372は、リソース情報要求取得部371により取得されたリソース情報の要求に応じて、BC/MCリソースマネージャ142の通信部214を介して放送配信リソース152(マルチキャスト配信や放送配信用のリソース)の利用状況を調査し、リソース情報を生成する。
リソース情報供給部373は、リソース情報生成部372により生成されたリソース情報を、BC/MCリソースマネージャ142の通信部214を介して、要求元である外部(例えば、MPDコンフィギュレータ141等)に供給する。
リソース確保要求取得部374は、BC/MCリソースマネージャ142の通信部214を介して、外部(例えば、MPDコンフィギュレータ141等)から供給される放送配信リソースの確保の要求を取得する。
リソース確保部375は、リソース確保要求取得部374により取得された放送配信リソースの確保の要求に応じて、要求された放送配信リソース152(マルチキャスト配信や放送配信用のリソース)を確保する。
リソース確保結果通知部376は、リソース確保部375による放送配信リソース152(マルチキャスト配信や放送配信用のリソース)の確保結果を、BC/MCリソースマネージャ142の通信部214を介して、要求元である外部(例えば、MPDコンフィギュレータ141等)に供給する。
もちろん、BC/MCリソースマネージャ142は、任意の機能ブロックを有することができる。例えば、図25に示される例以外の機能ブロックを有することもできる。
図26は、DASHクライアントプロキシ143が有する主な機能ブロックの構成例を示す図である。図26に示されるように、DASHクライアントプロキシ143は、例えば、MPD取得部381、MPD供給部382、セグメント要求部383、セグメント取得部384、およびFLUTE配信依頼部385を有する。
MPD取得部381は、DASHクライアントプロキシ143の通信部214を介して、外部(例えば、MPDコンフィギュレータ141等)から供給されるMPDを取得する。
MPD供給部382は、MPD取得部381が取得したMPDを、DASHクライアントプロキシ143の通信部214を介して、外部(例えば、DASHクライアント114、BC/MCサービスプロバイダ124等)に供給する。
セグメント要求部383は、MPD取得部381が取得したMPDに基づいて、コンテンツの配信にマルチキャスト配信若しくは放送配信を利用する場合、DASHクライアントプロキシ143の通信部214を介して、DASHクライアント114の代わりに、外部(例えば、DASHセグメントストリーマ122等)に、DASHセグメントを要求する。
セグメント取得部384は、DASHクライアントプロキシ143の通信部214を介して、セグメント要求部383の要求に応じて外部(例えば、DASHセグメントストリーマ122等)から供給されたDASHセグメントを取得する。
FLUTE配信依頼部385は、セグメント取得部384により取得されたDASHセグメントを、DASHクライアントプロキシ143の通信部214を介して、外部(例えば、BC/MCサービスプロバイダ124等)に供給し、そのDASHセグメントをFLUTE配信(マルチキャスト配信若しくは放送配信)するように依頼する。
もちろん、DASHクライアントプロキシ143は、任意の機能ブロックを有することができる。例えば、図26に示される例以外の機能ブロックを有することもできる。
<配信制御処理の流れ>
以上のような機能を有するMPDコンフィギュレータ141(図24)は、配信制御処理を実行して、<0.概要>において上述したようにMPDを適宜更新することにより、より効率よく行われるように、コンテンツの配信を制御する。
図27のフローチャートを参照して、このMPDコンフィギュレータ141による配信制御処理の流れの例を説明する。
配信制御処理が開始されると、MPDコンフィギュレータ141のMPD取得部361は、ステップS101において、MPDコンフィギュレータ141の管理対象となる(配下の)クライアントから供給されるMPDを取得(収集)する。
ステップS102において、リソース情報要求部362がリソース情報を要求し、リソース情報取得部363がリソース情報を取得することにより、放送配信リソース152(マルチキャスト配信および放送配信用のリソース)が確認される。
ステップS103において、コスト評価部364は、ステップS101におけるMPDの収集結果(MPDの取得量、すなわち、コンテンツの要求量)や、ステップS102における確認結果(リソース情報取得部363が取得したリソース情報)に応じて、マルチキャスト配信および放送配信利用のコストを評価する。
ステップS104において、コスト評価部364は、ステップS103の評価結果に基づいて、マルチキャスト配信または放送配信を利用するか否かを判定する。利用すると判定された場合、処理はステップS105に進む。
ステップS105において、リソース確保要求部365がリソースの確保を要求し、リソース確保結果通知取得部366がリソース確保結果の通知を取得することにより、利用可能な放送配信リソース152が確保される。
ステップS106において、MPD更新部367は、ステップS105の処理により確保された放送配信リソース152を利用するように、<0.概要>において上述したようにMPDを更新する。ステップS106の処理が終了すると、処理は、ステップS107に進む。
また、ステップS104において、マルチキャスト配信または放送配信を利用しないと判定された場合、処理は、ステップS107に進む。
ステップS107において、MPD供給部368は、MPDをDASHクライアントプロキシ143に供給する。
ステップS107の処理が終了すると、配信制御処理が終了する。MPDコンフィギュレータ141は、このような配信制御処理を実行することにより、コンテンツの配信をより効率よく行うようにすることができる。また、MPDコンフィギュレータ141は、このような配信制御処理を繰り返し実行する。これにより、MPDコンフィギュレータ141は、常に、コンテンツの配信をより効率よく行うようにすることができる。例えば、MPDコンフィギュレータ141は、配信中のコンテンツについてもこのような配信制御処理を実行する。これにより、MPDコンフィギュレータ141は、コンテンツ配信中であっても、適応的に配信方法を制御することができ、より効率よくコンテンツ配信を行うことができる。
<DASHクライアントプロキシ処理の流れ>
以上のような機能を有するDASHクライアントプロキシ143(図26)は、DASHクライアント114の代わりに、MPDコンフィギュレータ141による配信制御処理に対応して、DASHクライアントプロキシ処理を実行する。これにより、DASHクライアントプロキシ143は、MPDコンフィギュレータ141の配信制御に応じた、より効率のよいコンテンツの配信を実現する。
図28のフローチャートを参照して、このDASHクライアントプロキシ143によるDASHクライアントプロキシ処理の流れの例を説明する。
DASHクライアントプロキシ処理が開始されると、MPD供給部382は、ステップS121において、MPD取得部381が取得したMPD(MPDコンフィギュレータ141により供給されたMPD)に基づいて、マルチキャスト配信若しくは放送配信を利用するか否かを判定する。利用すると判定された場合、処理はステップS122に進む。
ステップS122において、MPD供給部382は、MPD取得部381が取得したMPDをBC/MCサービスプロバイダ124に供給し、そのMPDをDASHクライアント114に対して周期的に配信させる。
ステップS123において、セグメント要求部383は、DASHセグメントストリーマ122に対してDASHセグメントの取得を要求する。
ステップS124において、セグメント取得部384は、ステップS123における要求に応じて供給されるDASHセグメントを取得する。
ステップS125において、FLUTE配信依頼部385は、ステップS124において取得したDASHセグメントをBC/MCサービスプロバイダ124に供給し、FLUTE配信依頼をする。つまり、この場合、コンテンツは、BC/MCサービスプロバイダ124からDASHクライアント114に対してマルチキャスト配信若しくは放送配信される。
ステップS125の処理が終了すると、DASHクライアントプロキシ処理が終了する。
また、ステップS121において、マルチキャスト配信若しくは放送配信を利用しないと判定された場合、処理はステップS126に進む。
ステップS126において、MPD供給部382は、MPD取得部381が取得したMPDをDASHクライアント114に供給する。この場合、DASHクライアント114が、DASHセグメントストリーマ122にDASHセグメントを要求し、取得する。つまり、この場合、コンテンツは、ユニキャスト配信される。
ステップS126の処理が終了すると、DASHクライアントプロキシ処理が終了する。
以上のようにすることにより、DASHクライアントプロキシ143は、MPDコンフィギュレータ141の配信制御に応じた、より効率のよいコンテンツの配信を実現することができる。
なお、配信制御処理が上述したように繰り返し実行される場合、このDASHクライアントプロキシ処理も、それに対応して繰り返し実行される。また、配信制御処理が上述したようにコンテンツ配信中に実行される場合、このDASHクライアントプロキシ処理も、それに対応してコンテンツ配信中に実行される。
<コンテンツ配信処理の流れ>
以上のようなコンテンツ配信システム100により行われるコンテンツの配信の例を、図29乃至図31のフローチャートを参照して説明する。
コンテンツ配信システム100によりコンテンツ配信処理が開始されると、DASH-MPDサーバ123は、DASHセグメントストリーマ122が管理するコンテンツについて、MPD生成部341がMPDを生成し(ステップS211)、MPD管理部342がそのMPDを管理する。
コンテンツの配信を要求するユーザに操作されたDASHクライアント114のMPD要求部351は、所望のコンテンツのMPDの取得を、DASH-MPDサーバ123に対して要求する(ステップS261)。
DASH-MPDサーバ123のMPD供給部343は、その要求を受け取ると(ステップS212)、要求されたMPDを要求元であるDASHクライアント114に供給する(ステップS213)。
DASHクライアント114のMPD取得部352がそのMPDを受け取ると(ステップS262)、判定部353は、帯域をモニタリングし、ユニキャスト受信が不安定になりそうか否か、並びに、マルチキャストが受信可能なデバイスであるか否か等により、コンテンツの受信方法、すなわち、MPDを送信するか否かを判定する(ステップS263)。
ユニキャスト受信が不安定になりそうであり、かつ、マルチキャストが受信可能である場合、判定部353は、MPDを送信すると判定し、MPD供給部354は、MPDをMPDコンフィギュレータ141に供給する(ステップS264)。
MPDコンフィギュレータ141のMPD取得部361がそのMPDを取得すると(ステップS221)、リソース情報要求部362は、BC/MCリソースマネージャ142に対してリソース情報を要求する(ステップS222)。
BC/MCリソースマネージャ142のリソース情報要求取得部371がその要求を取得すると(ステップS231)、リソース情報生成部372がリソース情報を生成し(ステップS232)、リソース情報供給部373がそのリソース情報を、要求元であるMPDコンフィギュレータ141に供給する(ステップS233)。
MPDコンフィギュレータ141のリソース情報取得部363がそのリソース情報を取得すると(ステップS223)、コスト評価部364は、BC/MC併用コストを評価し、マルチキャスト配信若しくは放送配信を利用するか否かを判定する(ステップS224)。
ここで、マルチキャスト配信若しくは放送配信を利用すると判定されたとする。その場合、リソース確保要求部365は、リソース情報に基づいて利用可能なBC/MCリソース(放送配信リソース152)の確保を、BC/MCリソースマネージャ142に対して要求する(ステップS225)。
BC/MCリソースマネージャ142のリソース確保要求取得部374がその要求を取得すると(ステップS234)、リソース確保部375が、要求された放送配信リソース152を確保し(ステップS235)、リソース確保結果通知部376が、リソース確保結果を、要求元であるMPDコンフィギュレータ141に通知する(ステップS236)。
MPDコンフィギュレータ141のリソース確保結果通知取得部366がそのリソース確保結果を取得すると(ステップS226)、MPD更新部367が、<0.概要>において上述したようにMPDを書き換えて(ステップS227)、MPD供給部368が、更新されたMPDをDASHクライアントプロキシ143に供給する(ステップS228)。
DASHクライアントプロキシ143のMPD取得部381がそのMPDを取得すると(ステップS241)、MPD供給部382は、そのMPDを、マルチキャスト配信若しくは放送配信を利用しない場合、DASHクライアント114に供給し、マルチキャスト配信若しくは放送配信を利用する場合、BC/MCサービスプロバイダ124に供給する(ステップS242)。
BC/MCサービスプロバイダ124(FLUTEサーバ131)のMPDマルチキャスト配信部312は、そのMPDを取得すると(ステップS251)、取得したMPDを、DASHクライアント114に対して、周期的に(つまり複数回繰り返し)マルチキャスト配信する(ステップS252)。
DASHクライアント114のMPD取得部352は、DASHクライアントプロキシ143から供給されるMPD、若しくは、BC/MCサービスプロバイダ124から周期的にマルチキャスト配信されるMPDを取得する(ステップS266)。
ここで、MPD取得部352により取得されたMPDにおいて、マルチキャスト配信若しくは放送配信を利用しないようになされている場合、つまり、ユニキャスト配信によりDASHセグメントを取得する場合、処理は、図30に進む。
この場合、DASHクライアント114のセグメント要求部355は、MPDの情報に基づいて、DASHセグメントストリーマ122に対して、所望のDASHセグメントの取得を要求する(ステップS267)。
DASHセグメントストリーマ122のDASHセグメント供給部303は、その要求を取得すると(ステップS201)、要求されたDASHセグメントを、要求元であるDASHクライアント114に供給(ユニキャスト配信)する(ステップS202)。
DASHクライアント114のセグメント取得部356が、そのユニキャスト配信されたDASHセグメントを取得すると(ステップS268)、セグメント再生部357は、そのDASHセグメントを再生する(ステップS269)。
また、図29のステップS266においてMPD取得部352により取得されたMPDにおいて、マルチキャスト配信若しくは放送配信を利用するようになされている場合、つまり、マルチキャスト配信若しくは放送配信によりDASHセグメントを取得する場合、処理は、図31に進む。
この場合、DASHクライアント114の代わりに、DASHクライアントプロキシ143のセグメント要求部383は、MPDの情報に基づいて、DASHセグメントストリーマ122に対して、所望のDASHセグメントの取得を要求する(ステップS243)。
DASHセグメントストリーマ122のDASHセグメント供給部303は、その要求を取得すると(ステップS203)、要求されたDASHセグメントを、要求元であるDASHクライアントプロキシ143に供給する(ステップS204)。
DASHクライアントプロキシ143のセグメント取得部384が、そのDASHセグメントを取得すると(ステップS244)、FLUTE配信依頼部385は、BC/MCサービスプロバイダ124に対してそのDASHセグメントを供給し、配信依頼を行う(ステップS245)。
BC/MCサービスプロバイダ124(FLUTEサーバ131)のプロトコル変換部311は、そのDASHセグメントを取得すると(ステップS253)、取得したDASHセグメントをマルチキャストプロトコル(例えば、FLUTEプロトコル等)に変換する(ステップS254)。
マルチキャスト配信を行う場合、セグメントマルチキャスト配信部313は、そのプロトコル変換されたDASHセグメント(FDTやFLUTEパケット)を、DASHクライアント114に対してマルチキャスト配信する(ステップS255)。
なお、ここで、放送配信を行う場合、放送配信依頼部314は、プロトコル変換されたDASHセグメント(FDTやFLUTEパケット)を、放送配信サーバ132に供給し、放送配信依頼する。これを受けて、放送配信サーバ132の放送配信部331は、プロトコル変換されたDASHセグメント(FDTやFLUTEパケット)を、DASHクライアント114に対して放送配信する。
DASHクライアント114のセグメント取得部356が、このようにマルチキャスト配信(若しくは放送配信)されたセグメント(FDTやFLUTEパケット)を取得し(ステップS270)、セグメント再生部357が、そのセグメント(FDTやFLUTEパケット)を再生する(ステップS271)。
以上のようなコンテンツ配信処理を行うことにより、コンテンツ配信システム100は、より効率よくコンテンツ配信を行うことができる。
<2.第2の実施の形態>
<コンテンツ配信システム>
なお、第1の実施の形態においては、MPDコンフィギュレータ141が、DASHクライアント114から供給されるMPDを収集するように説明したが、MPDの送付元はどこであってもよく、これに限らない。例えば、DASH-MPDサーバ123等のコンテンツ提供システム111側のデバイスから供給されるようにしてもよい。また、例えば、DASH-MPDサーバ123の代わりに処理を行うプロキシサーバを設けるようにし、そのプロキシサーバからMPDが供給されるようにしてもよい。
図32は、本技術を適用したコンテンツ供給システムの一実施の形態であるコンテンツ配信システムの主な構成例を示すブロック図である。
図32に示されるコンテンツ配信システム400は、コンテンツ配信システム100(図17)と同様のシステムである。コンテンツ配信システム400は、コンテンツ配信システム100の構成に加え、配信制御システム112の構成として、プロキシサーバ441を有する。
プロキシサーバ441は、ネット上のマルチキャスト、もしくは、放送により配信されるFLUTE上のファイルを展開(キャッシュ)して、DASHクライアント114に対してDASH-MPDサーバ123若しくはDASHセグメントストリーマ122としてふるまうサーバである。
<物理的構成>
このプロキシサーバ441も、MPDコンフィギュレータ141と同様の構成を有するものとする。すなわち、以下において、プロキシサーバ441のデバイスの物理的な構成について説明する場合、図18を参照して説明する。
<機能的構成>
図33は、プロキシサーバ441が有する主な機能ブロックの構成例を示す図である。図33に示されるように、プロキシサーバ441は、例えば、MPD要求部451、MPD取得部452、MPD供給部453、セグメント取得部454、およびセグメント供給部455を有する。
MPD要求部451は、プロキシサーバ441の通信部214を介して、外部(例えば、DASHクライアント114等)からMPD取得要求を取得し、その要求に基づいて、外部(例えば、DASH-MPDサーバ123等)に対してMPDの取得を要求する。
MPD取得部452は、プロキシサーバ441の通信部214を介して、MPD要求部451がした要求に対して外部(例えば、DASH-MPDサーバ123、FLUTEサーバ131、放送配信(MBMS)サーバ132、MPDコンフィギュレータ141等)から供給されるMPDを取得する。
MPD供給部453は、プロキシサーバ441の通信部214を介して、MPD取得部452により取得されたMPDを、外部(例えば、MPDコンフィギュレータ141、DASHクライアント114等)に供給する。
セグメント取得部454は、プロキシサーバ441の通信部214を介して、外部(例えば、FLUTEサーバ131、放送配信(MBMS)サーバ132等)から供給されるセグメント(FDTやFLUTEパケット)を取得する。
セグメント供給部455は、プロキシサーバ441の通信部214を介して、セグメント取得部454により取得されたセグメント(FDTやFLUTEパケット)を、外部(例えば、DASHクライアント114等)に供給する。
もちろん、プロキシサーバ441は、任意の機能ブロックを有することができる。例えば、図33に示される例以外の機能ブロックを有することもできる。
<コンテンツ配信処理の流れ>
以上のようなコンテンツ配信システム400(図32)により行われるコンテンツの配信の例を、図34乃至図36のフローチャートを参照して説明する。
コンテンツ配信システム400によりコンテンツ配信処理の場合も、DASH-MPDサーバ123は、DASHセグメントストリーマ122が管理するコンテンツについて、MPD生成部341がMPDを生成し(ステップS411)、MPD管理部342がそのMPDを管理する。
ただし、DASHクライアント114からのMPD要求(ステップS471)は、プロキシサーバ441を介してDASH-MPDサーバ123に供給される。つまり、プロキシサーバ441のMPD要求部451が、DASHクライアント114からのMPD要求を取得し(ステップS421)、それをDASH-MPDサーバ123に供給する(ステップS422)。
したがって、この場合、DASH-MPDサーバ123のMPD供給部343は、プロキシサーバ441を介して供給された要求を受け取ると(ステップS412)、要求されたMPDをプロキシサーバ441に供給する(ステップS413)。
プロキシサーバ441のMPD取得部452は、そのMPDを取得すると(ステップS423)、それをMPDコンフィギュレータ141に供給する(ステップS424)。
つまり、この場合、MPDコンフィギュレータ141には、MPDが、プロキシサーバ441から供給される。すなわち、この場合、DASHクライアント114がMPDをMPDコンフィギュレータ141に供給しなくても、MPDコンフィギュレータ141によるコンテンツの配信方法の制御が行われる。
MPDコンフィギュレータ141は、ステップS431乃至ステップS437の各処理を、ステップS221乃至ステップS227の各処理(図29)と同様に行い、BC/MCリソースマネージャ142は、ステップS441乃至ステップS446の各処理を、ステップS231乃至ステップS236の各処理と同様に行い、配信方法を決定し、必要に応じてMPDを更新する。
この場合、MPDコンフィギュレータ141のMPD供給部368は、MPDをプロキシサーバ441に供給する(ステップS438)。
プロキシサーバ441のMPD取得部452がそのMPDを取得すると(ステップS425)、MPD供給部453が、そのMPDをDASHクライアントプロキシ143に供給する(ステップS426)。
これ以降の処理は、第1の実施の形態の場合と同様である。
すなわち、DASHクライアントプロキシ143は、ステップS451およびステップS452の各処理を、ステップS241およびステップS242の各処理(図29)と同様に行い、BC/MCサービスプロバイダ124は、ステップS461およびステップS462の各処理を、ステップS251およびステップS252の各処理(図29)と同様に行い、DASHクライアント114は、ステップS472乃至ステップS473の各処理を、ステップS263、ステップS265、およびステップS266の各処理(図29)と同様に行う。ただし、この場合DASHクライアント114は、ステップS472若しくはステップS473においてMPDを取得するので、ステップS474において受信方法の判定を行う。
図34においてユニキャスト受信が選択された場合、処理は、図35に進む。すなわち、DASHセグメントストリーマ122は、ステップS401およびステップS402の各処理を、ステップS201およびステップS202の各処理(図30)と同様に行う。また、DASHクライアント114は、ステップS475乃至ステップS477の各処理を、ステップS267乃至ステップS269の各処理(図30)と同様に行う。
図34においてマルチキャスト受信(若しくは放送受信)が選択された場合、処理は、図36に進む。すなわち、DASHセグメントストリーマ122は、ステップS403およびステップS404の各処理を、ステップS203およびステップS204の各処理(図31)と同様に行う。
また、DASHクライアントプロキシ143は、ステップS453乃至ステップS455の各処理を、ステップS243乃至ステップS245の各処理(図31)と同様に行う。
さらに、BC/MCサービスプロバイダ124は、ステップS463乃至ステップS465の各処理を、ステップS253乃至ステップS255の各処理(図31)と同様に行う。
また、DASHクライアント114は、ステップS478およびステップS479の各処理を、ステップS270およびステップS271の各処理(図31)と同様に行う。
以上のようなコンテンツ配信処理を行うことにより、コンテンツ配信システム400も、より効率よくコンテンツ配信を行うことができる。
<3.第3の実施の形態>
<MPDおよびストリームの伝送>
本実施の形態においては、第1の実施の形態や第2の実施の形態において説明したMPDやストリームの伝送の流れの例についてさらに説明する。
コンテンツマネジメントサーバ121にて管理されるコンテンツからDASHセグメントストリーマ122におけるDASHストリームセグメント生成、DASH-MPDサーバ123によるDASH-MPD生成までの処理の流れと、DASHセグメントストリーマ122において生成されたストリームセグメントならびにストリームセグメントurlからFLUTEサーバ131におけるFLUTEのFDTとFLUTEストリームの生成に至る処理の流れの例を、図37のフローチャートを参照して説明する。
DASH-MPDサーバ123は、ステップS511乃至ステップS513の各処理を、ステップS211乃至ステップS213の各処理(図29)と同様に行う。また、この例の場合、DASHクライアントプロキシ143のMPD取得部381が、DASHクライアント114の代わりに、ステップS541およびステップS542の各処理を、ステップS261およびステップS262の各処理(図29)と同様に行う。
MPDを取得すると、DASHセグメントストリーマ122は、ステップS501およびステップS502の各処理を、ステップS203およびステップS204の各処理(図31)と同様に行う。これに対して、DASHクライアントプロキシ143のセグメント要求部383は、ステップS543およびステップS544の各処理を、ステップS243およびステップS244(図31)と同様に行う。
ユニキャスト配信が利用される場合、DASHセグメントストリーマ122は、ステップS503において、DASHセグメントをHTTP配信する。
また、マルチキャスト配信若しくは放送配信を利用する場合、DASHクライアントプロキシ143のFLUTE配信依頼部385は、ステップS545の処理を、ステップS245の処理(図31)と同様に行う。つまり、DASHクライアントプロキシ143は、BC/MCサービスプロバイダ124のFLUTEサーバ131に対してFLUTE配信依頼要求を行う。
FLUTEサーバ131のプロトコル変換部311がそのFLUTE配信依頼要求を取得すると(ステップS521)、FDT生成部321がFDTを生成し(ステップS522)、FLUTEストリーム生成部322がFLUTEストリーム(FLUTEパケット等)を生成する(ステップS523)。
放送配信を行う場合は、放送配信依頼部314が、放送配信(MBMS)サーバ132に対して、そのFDTやFLUTEパケット等を供給し、放送配信依頼を行う(ステップS524)。放送配信(MBMS)サーバ132の放送配信部331は、その依頼を受け取ると(ステップS532)、その依頼に基づいて、FDTやFLUTEパケットを放送配信する(ステップS532)。
マルチキャスト配信する場合は、FLUTEサーバ131のセグメントマルチキャスト配信部313が、FDTやFLUTEパケット等をマルチキャスト配信する(ステップS525)。
次に、ユニキャスト配信の場合の、MPD配信、クライアント主導のストリームセグメント取得・再生の処理の流れを、図38のフローチャートを参照して説明する。
この場合、DASHクライアント114は、ステップS571乃至ステップS575の各処理を、ステップS261およびステップS262(図29)、並びに、ステップS267乃至ステップS269(図30)の各処理と同様に行う。
また、DASH-MPDサーバ123は、ステップS561およびステップS562の各処理を、ステップS212およびステップS213の各処理(図29)と同様に行う。
そして、DASHセグメントストリーマ122は、ステップS551およびステップS552の各処理を、ステップS201およびステップS202の各処理(図30)と同様に行う。
次に、マルチキャスト配信若しくは放送配信の場合の、MPD配信、クライアント受動のストリームセグメント受信・再生の処理の流れを、図39のフローチャートを参照して説明する。
この場合、DASHクライアント114は、ステップS611およびステップS612の各処理を、ステップS571およびステップS572の各処理(図38)と同様に行う。これに対応して、DASH-MPDサーバ123は、ステップS581およびステップS582の各処理を、ステップS561およびステップS562の各処理(図38)と同様に行う。
マルチキャスト配信の場合、FLUTEサーバ131が、セグメントをマルチキャスト配信する(ステップS591)。放送配信の場合、放送配信(MBMS)サーバ132に対する放送配信依頼となる。その場合、放送配信(MBMS)サーバ132は、その依頼(セグメント)を取得し(ステップS601)、放送配信する(ステップS602)。
DASHクライアント114は、マルチキャスト配信の場合、FLUTEサーバ131から供給されるセグメントを取得し(ステップS613)、放送配信の場合、放送配信(MBMS)サーバ132から供給されるセグメントを取得する(ステップS614)。
DASHクライアント114は、このように取得したセグメントを再生する(ステップS615)。
なお、上述したストリームセグメントのマルチキャストは、ストリームセグメントが生成されると同時に行われるようにしてもよい。その場合の処理の流れの例を、図40のフローチャートを参照して説明する。
この場合、図39と処理順が異なるのみで同様の処理が行われる。
つまり、FLUTEサーバ131が、ステップS631の処理をステップS591の処理と同様に行い、放送配信(MBMS)サーバ132が、ステップS641およびステップS642の各処理を、ステップS601およびステップS602の各処理と同様に行い、DASHクライアント114が、ステップS651の処理をステップS613と同様に行うか、若しくは、ステップS652の処理をステップS614と同様に行う。
そして、DASHクライアント114が、ステップS653およびステップS654の各処理を、ステップS611およびステップS612と同様に行い、DASH-MPDサーバ123が、ステップS621およびステップS622の各処理を、ステップS581およびステップS582の各処理と同様に行う。
そして、DASHクライアント114が、ステップS655の処理を、ステップS615の処理と同様に行う。
このような手順によりコンテンツの配信を行うこともできる。
なお、MPD配信もFLUTEにより放送(マルチキャスト)配信で行うこともできる。その場合の処理の流れの例を、図41のフローチャートを参照して説明する。
この場合、DASH-MPDサーバ123は、MPDをFLUTEサーバ131に供給する(ステップS661)。
FLUTEサーバ131は、そのMPDを取得すると(ステップS671)、そのMPDをマルチキャスト配信する(ステップS672)。なお、MPDを放送配信する場合は、この処理が、放送配信(MBMS)サーバ132に対する放送配信依頼となる。その場合、放送配信(MBMS)サーバ132は、その依頼(セグメント)を取得し(ステップS681)、放送配信する(ステップS682)。
DASHクライアント114は、マルチキャスト配信の場合、FLUTEサーバ131から供給されるMPDを取得し(ステップS691)、放送配信の場合、放送配信(MBMS)サーバ132から供給されるMPDを取得する(ステップS692)。
セグメントの配信については、図39の場合と同様に行われる。
すなわち、FLUTEサーバ131が、ステップS673の処理をステップS591の処理と同様に行い、放送配信(MBMS)サーバ132が、ステップS683およびステップS684の各処理を、ステップS601およびステップS602の各処理と同様に行い、DASHクライアント114が、ステップS693乃至ステップS695の各処理をステップS613乃至ステップS615の各処理と同様に行う。
このような手順によりMPDの配信を行うこともできる。
図41のフローチャートの場合の処理を、第2の実施の形態にも適用することができる。その場合の処理の流れの例を、図42のフローチャートを参照して説明する。
この場合、DASH-MPDサーバ123、FLUTEサーバ131、および放送配信(MBMS)サーバ132は、図41の場合と同様に各処理を実行する。つまり、DASH-MPDサーバ123は、ステップS701の処理を、ステップS661の処理と同様に行い、FLUTEサーバ131は、ステップS711乃至ステップS713の各処理を、ステップS671乃至ステップS673の各処理と同様に行い、放送配信(MBMS)サーバ132は、ステップS721乃至ステップS724の各処理を、ステップS681乃至ステップS684の各処理と同様に行う。
ただし、図42の場合、MPDやセグメントの配信先は、DASHクライアント114ではなく、プロキシサーバ441である。プロキシサーバ441は、ステップS731若しくはステップS732において、MPDを取得し、ステップS733若しくはステップS734において、セグメントを取得する。
DASHクライアント114は、このようにプロキシサーバ441によりキャッシュされたMPDやセグメントを取得する。
つまり、DASHクライアント114は、プロキシサーバ441に対して、MPDの取得を要求し(ステップS741)、その要求に応じて供給されたMPDを取得する(ステップS742)。プロキシサーバ441は、DASHクライアント114からのMPD取得要求を受け取ると(ステップS735)、要求されたMPDを要求元であるDASHクライアント114に供給する(ステップS736)。
また、DASHクライアント114は、プロキシサーバ441に対して、セグメントの取得を要求し(ステップS743)、その要求に応じて供給されたセグメントを取得する(ステップS744)。プロキシサーバ441は、DASHクライアント114からのセグメントの要求を受け取ると(ステップS737)、要求されたセグメントを要求元であるDASHクライアント114に供給する(ステップS738)。
セグメントを取得したDASHクライアント114は、そのセグメントを再生する(ステップS745)。
以上のように、プロキシサーバ441を介してMPDやセグメントを配信することもできる。
以上においては、DASHのストリームを配信する場合について説明したが、本技術は、DASH以外の任意のコンテンツ配信技術に適用することができる。
また、上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、例えば、図18に示されるような構成のコンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
図18のように構成されるコンピュータでは、CPU201が、例えば、記憶部213に記憶されているプログラムを、入出力インタフェース210およびバス204を介して、RAM203にロードして実行することにより、上述した一連の処理が行われる。RAM203にはまた、CPU201が各種の処理を実行する上において必要なデータなども適宜記憶される。
コンピュータ(CPU201)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア221に記録して適用することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータでは、プログラムは、リムーバブルメディア221をドライブ215に装着することにより、入出力インタフェース210を介して、記憶部213にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部214で受信し、記憶部213にインストールすることができる。その他、プログラムは、ROM202や記憶部213に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
なお、本技術は以下のような構成も取ることができる。
(1) コンテンツの供給にマルチキャスト配信若しくは放送配信を利用するか否かを判定する判定部と、
前記判定部により前記マルチキャスト配信若しくは前記放送配信を利用すると判定された場合、前記コンテンツの供給に前記マルチキャスト配信若しくは前記放送配信を利用するように、前記コンテンツのユニキャスト配信に関する制御情報を更新する更新部と
を備える情報処理装置。
(2) 前記判定部は、前記コンテンツの供給にマルチキャスト配信若しくは放送配信を利用する場合のコストを評価し、その評価結果に応じて、前記コンテンツの供給にマルチキャスト配信若しくは放送配信を利用するか否かを判定する
(1)、(3)乃至(17)のいずれかに記載の情報処理装置。
(3) 前記制御情報を受け取る受け取り部をさらに備え、
前記判定部は、前記受け取り部により受け取られた前記制御情報に応じて、前記コンテンツの供給にマルチキャスト配信若しくは放送配信を利用する場合のコストを評価し、その評価結果に応じて、前記コンテンツの供給にマルチキャスト配信若しくは放送配信を利用するか否かを判定し、
前記更新部は、前記判定部により前記マルチキャスト配信若しくは前記放送配信を利用すると判定された場合、前記コンテンツの供給に前記マルチキャスト配信若しくは前記放送配信を利用するように、前記受け取り部により受け取られた前記制御情報を更新する
(1)、(2)、(4)乃至(17)のいずれかに記載の情報処理装置。
(4) 前記判定部は、前記受け取り部により受け取られた前記制御情報の量に応じて、前記コストを評価する
(1)乃至(3)、(5)乃至(17)のいずれかに記載の情報処理装置。
(5) 前記受け取り部は、所定のネットワークに接続されるクライアントから供給される前記制御情報を受け取る
(1)乃至(4)、(6)乃至(17)のいずれかに記載の情報処理装置。
(6) 前記受け取り部は、前記コンテンツを供給するサーバのプロキシサーバから供給される、前記プロキシサーバがクライアントから収集した前記制御情報を受け取る
(1)乃至(5)、(7)乃至(17)のいずれかに記載の情報処理装置。
(7) マルチキャスト配信若しくは放送配信のリソースの利用状況を確認する確認部をさらに備え、
前記判定部は、前記確認部により確認された利用可能な前記リソースを利用する場合についての前記コストを評価する
(1)乃至(6)、(8)乃至(17)のいずれかに記載の情報処理装置。
(8) 前記判定部により前記マルチキャスト配信若しくは前記放送配信を利用すると判定された場合、前記コンテンツを供給するためのマルチキャスト配信若しくは放送配信のリソースを確保する確保部をさらに備え、
前記更新部は、前記コンテンツの供給に、前記確保部により確保された前記リソースを利用するように、前記制御情報を更新する
(1)乃至(7)、(9)乃至(17)のいずれかに記載の情報処理装置。
(9) 前記コンテンツは、DASH(Dynamic Adaptive Streaming over HTTP)フォーマットのストリームであり、
前記制御情報は、MPD(Media Presentation Description)である
(1)乃至(8)、(10)乃至(17)のいずれかに記載の情報処理装置。
(10) 前記更新部は、前記MPDのBaseURLに配置されるserviceLocationAttribute URL属性により指定されるService Locationファイルの、DeliverySystemIdentifierに、前記コンテンツの供給に利用するマルチキャスト配信若しくは放送配信を識別する識別子を格納する
(1)乃至(9)、(11)乃至(17)のいずれかに記載の情報処理装置。
(11) 前記更新部は、前記MPDのBaseURLに配置されるserviceLocationAttribute URL属性により指定されるService Locationファイルの、DeliverySystemDescriptorに、前記DeliverySystemIdentifierに格納された識別子に対応するシステムにおいてストリームデータを取得するためのパラメタを格納する
(1)乃至(10)、(12)乃至(17)のいずれかに記載の情報処理装置。
(12) 前記コンテンツのユニキャスト用のストリームをユニキャスト配信するユニキャスト配信部をさらに備える
(1)乃至(11)、(13)乃至(17)のいずれかに記載の情報処理装置。
(13) 前記コンテンツのユニキャスト用のストリームをマルチキャスト配信若しくは放送配信用のストリームに変換する変換部と、
前記変換部により生成された前記ストリームをマルチキャスト配信若しくは放送配信するBC/MC配信部をさらに備える
(1)乃至(12)、(14)乃至(17)のいずれかに記載の情報処理装置。
(14) 前記ユニキャスト用のストリームは、DASH(Dynamic Adaptive Streaming over HTTP)フォーマットのストリームであり、
前記変換部により生成されたマルチキャスト配信若しくは放送配信用のストリームは、FLUTE(File Delivery over Unidirectional Transport)プロトコルのファイルである
(1)乃至(13)、(15)乃至(17)のいずれかに記載の情報処理装置。
(15) 前記変換部は、前記FLUTEプロトコルのファイルのFDT(File Delivery Table)-Instanceにおいて、File要素の属性としてrange属性を導入する
(1)乃至(14)、(16)、(17)のいずれかに記載の情報処理装置。
(16) 前記更新部により更新された前記制御情報を供給する供給部をさらに備える
(1)乃至(15)、(17)のいずれかに記載の情報処理装置。
(17) クライアントの代わりに前記コンテンツを取得し、前記供給部より供給される前記制御情報に応じて、取得した前記コンテンツをユニキャスト配信により前記クライアントに供給するか、若しくは、取得した前記コンテンツを、マルチキャスト配信若しくは放送配信のリソースを利用して前記クライアントに供給する供給制御部をさらに備える
(1)乃至(16)のいずれかに記載の情報処理装置。
(18) コンテンツの供給にマルチキャスト配信若しくは放送配信を利用するか否かを判定し、
前記マルチキャスト配信若しくは前記放送配信を利用すると判定された場合、前記コンテンツの供給に前記マルチキャスト配信若しくは前記放送配信を利用するように、前記コンテンツのユニキャスト配信に関する制御情報を更新する
情報処理方法。
(19) コンピュータを、
コンテンツの供給にマルチキャスト配信若しくは放送配信を利用するか否かを判定する判定部と、
前記判定部により前記マルチキャスト配信若しくは前記放送配信を利用すると判定された場合、前記コンテンツの供給に前記マルチキャスト配信若しくは前記放送配信を利用するように、前記コンテンツのユニキャスト配信に関する制御情報を更新する更新部と
して機能させるプログラム。
(20) サーバからクライアントにコンテンツを供給するコンテンツ供給システムであって、
前記クライアントからの前記コンテンツの取得要求量に応じて、前記コンテンツの供給にマルチキャスト配信若しくは放送配信を利用するか否かを判定し、
前記マルチキャスト配信若しくは前記放送配信を利用すると判定された場合、前記サーバから前記クライアントへの前記コンテンツの供給に前記マルチキャスト配信若しくは前記放送配信を利用するように、前記コンテンツのユニキャスト配信に関する制御情報を更新する
コンテンツ供給システム。
100 コンテンツ配信システム, 111 コンテンツ提供システム, 112 配信制御システム, 113 ネットワーク, 114 DASHクライアント, 121 コンテンツマネジメントサーバ, 122 DASHセグメントストリーマ, 123 DASH-MPDサーバ, 124 BC/MCサービスプロバイダ, 131 FLUTEサーバ, 132 放送配信サーバ, 141 MPDコンフィギュレータ, 142 BC/MCリソースマネージャ, 143 DASHクライアントプロキシ, 361 MPD取得部, 362 リソース情報要求部, 363 リソース情報取得部, 364 コスト評価部, 365 リソース確保要求部, 366 リソース確保結果通知取得部, 367 MPD更新部, 368 MPD供給部, 371 リソース情報要求取得部, 372 リソース情報生成部, 373 リソース情報供給部, 374 リソース確保要求取得部, 375 リソース確保部, 376 リソース確保結果通知部, 381 MPD取得部, 382 MPD供給部, 383 セグメント要求部, 384 セグメント取得部, 385 FLUTE配信依頼部, 400 コンテンツ配信システム, 441 プロキシサーバ

Claims (20)

  1. コンテンツの供給にマルチキャスト配信若しくは放送配信を利用するか否かを判定する判定部と、
    前記判定部により前記マルチキャスト配信若しくは前記放送配信を利用すると判定された場合、前記コンテンツの供給に前記マルチキャスト配信若しくは前記放送配信を利用するように、前記コンテンツのユニキャスト配信に関する制御情報を更新する更新部と
    を備える情報処理装置。
  2. 前記判定部は、前記コンテンツの供給にマルチキャスト配信若しくは放送配信を利用する場合のコストを評価し、その評価結果に応じて、前記コンテンツの供給にマルチキャスト配信若しくは放送配信を利用するか否かを判定する
    請求項1に記載の情報処理装置。
  3. 前記制御情報を受け取る受け取り部をさらに備え、
    前記判定部は、前記受け取り部により受け取られた前記制御情報に応じて、前記コンテンツの供給にマルチキャスト配信若しくは放送配信を利用する場合のコストを評価し、その評価結果に応じて、前記コンテンツの供給にマルチキャスト配信若しくは放送配信を利用するか否かを判定し、
    前記更新部は、前記判定部により前記マルチキャスト配信若しくは前記放送配信を利用すると判定された場合、前記コンテンツの供給に前記マルチキャスト配信若しくは前記放送配信を利用するように、前記受け取り部により受け取られた前記制御情報を更新する
    請求項2に記載の情報処理装置。
  4. 前記判定部は、前記受け取り部により受け取られた前記制御情報の量に応じて、前記コストを評価する
    請求項3に記載の情報処理装置。
  5. 前記受け取り部は、所定のネットワークに接続されるクライアントから供給される前記制御情報を受け取る
    請求項3に記載の情報処理装置。
  6. 前記受け取り部は、前記コンテンツを供給するサーバのプロキシサーバから供給される、前記プロキシサーバがクライアントから収集した前記制御情報を受け取る
    請求項3に記載の情報処理装置。
  7. マルチキャスト配信若しくは放送配信のリソースの利用状況を確認する確認部をさらに備え、
    前記判定部は、前記確認部により確認された利用可能な前記リソースを利用する場合についての前記コストを評価する
    請求項2に記載の情報処理装置。
  8. 前記判定部により前記マルチキャスト配信若しくは前記放送配信を利用すると判定された場合、前記コンテンツを供給するためのマルチキャスト配信若しくは放送配信のリソースを確保する確保部をさらに備え、
    前記更新部は、前記コンテンツの供給に、前記確保部により確保された前記リソースを利用するように、前記制御情報を更新する
    請求項1に記載の情報処理装置。
  9. 前記コンテンツは、DASH(Dynamic Adaptive Streaming over HTTP)フォーマットのストリームであり、
    前記制御情報は、MPD(Media Presentation Description)である
    請求項1に記載の情報処理装置。
  10. 前記更新部は、前記MPDのBaseURLに配置されるserviceLocationAttribute URL属性により指定されるService Locationファイルの、DeliverySystemIdentifierに、前記コンテンツの供給に利用するマルチキャスト配信若しくは放送配信を識別する識別子を格納する
    請求項9に記載の情報処理装置。
  11. 前記更新部は、前記MPDのBaseURLに配置されるserviceLocationAttribute URL属性により指定されるService Locationファイルの、DeliverySystemDescriptorに、前記DeliverySystemIdentifierに格納された識別子に対応するシステムにおいてストリームデータを取得するためのパラメタを格納する
    請求項10に記載の情報処理装置。
  12. 前記コンテンツのユニキャスト用のストリームをユニキャスト配信するユニキャスト配信部をさらに備える
    請求項1に記載の情報処理装置。
  13. 前記コンテンツのユニキャスト用のストリームをマルチキャスト配信若しくは放送配信用のストリームに変換する変換部と、
    前記変換部により生成された前記ストリームをマルチキャスト配信若しくは放送配信するBC/MC配信部をさらに備える
    請求項12に記載の情報処理装置。
  14. 前記ユニキャスト用のストリームは、DASH(Dynamic Adaptive Streaming over HTTP)フォーマットのストリームであり、
    前記変換部により生成されたマルチキャスト配信若しくは放送配信用のストリームは、FLUTE(File Delivery over Unidirectional Transport)プロトコルのファイルである
    請求項13に記載の情報処理装置。
  15. 前記変換部は、前記FLUTEプロトコルのファイルのFDT(File Delivery Table)-Instanceにおいて、File要素の属性としてrange属性を導入する
    請求項14に記載の情報処理装置。
  16. 前記更新部により更新された前記制御情報を供給する供給部をさらに備える
    請求項1に記載の情報処理装置。
  17. クライアントの代わりに前記コンテンツを取得し、
    前記供給部より供給される前記制御情報に応じて、取得した前記コンテンツをユニキャスト配信により前記クライアントに供給するか、若しくは、取得した前記コンテンツを、マルチキャスト配信若しくは放送配信のリソースを利用して前記クライアントに供給する供給制御部をさらに備える
    請求項16に記載の情報処理装置。
  18. コンテンツの供給にマルチキャスト配信若しくは放送配信を利用するか否かを判定し、
    前記マルチキャスト配信若しくは前記放送配信を利用すると判定された場合、前記コンテンツの供給に前記マルチキャスト配信若しくは前記放送配信を利用するように、前記コンテンツのユニキャスト配信に関する制御情報を更新する
    情報処理方法。
  19. コンピュータを、
    コンテンツの供給にマルチキャスト配信若しくは放送配信を利用するか否かを判定する判定部と、
    前記判定部により前記マルチキャスト配信若しくは前記放送配信を利用すると判定された場合、前記コンテンツの供給に前記マルチキャスト配信若しくは前記放送配信を利用するように、前記コンテンツのユニキャスト配信に関する制御情報を更新する更新部と
    して機能させるプログラム。
  20. サーバからクライアントにコンテンツを供給するコンテンツ供給システムであって、
    前記クライアントからの前記コンテンツの取得要求量に応じて、前記コンテンツの供給にマルチキャスト配信若しくは放送配信を利用するか否かを判定し、
    前記マルチキャスト配信若しくは前記放送配信を利用すると判定された場合、前記サーバから前記クライアントへの前記コンテンツの供給に前記マルチキャスト配信若しくは前記放送配信を利用するように、前記コンテンツのユニキャスト配信に関する制御情報を更新する
    コンテンツ供給システム。
JP2015502864A 2013-02-27 2014-02-17 情報処理装置および方法、プログラム、並びにコンテンツ供給システム Abandoned JPWO2014132821A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013036902 2013-02-27
JP2013036902 2013-02-27
PCT/JP2014/053596 WO2014132821A1 (ja) 2013-02-27 2014-02-17 情報処理装置および方法、プログラム、並びにコンテンツ供給システム

Publications (1)

Publication Number Publication Date
JPWO2014132821A1 true JPWO2014132821A1 (ja) 2017-02-02

Family

ID=51428093

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015502864A Abandoned JPWO2014132821A1 (ja) 2013-02-27 2014-02-17 情報処理装置および方法、プログラム、並びにコンテンツ供給システム

Country Status (6)

Country Link
US (1) US10085123B2 (ja)
EP (1) EP2963939A4 (ja)
JP (1) JPWO2014132821A1 (ja)
CN (1) CN105009601A (ja)
BR (1) BR112015020102A2 (ja)
WO (1) WO2014132821A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140372569A1 (en) * 2013-06-14 2014-12-18 Samsung Electronics Co., Ltd. Controlling dash client rate adaptation
WO2015023655A1 (en) * 2013-08-12 2015-02-19 Imvision Software Technologies Ltd. Method and system for managing the delivery of over-the-top streams
CN105745899B (zh) * 2014-02-24 2023-12-26 Lg 电子株式会社 发送广播信号的设备、接收广播信号的设备、发送广播信号的方法和接收广播信号的方法
US20160094986A1 (en) * 2014-09-29 2016-03-31 Sprint Communications Company L.P. Content delivery metadata exchange in wireless communication systems
US10305949B2 (en) 2014-10-10 2019-05-28 Sony Corporation Reception device, reception method, transmission device, and transmission method
WO2016067987A1 (ja) * 2014-10-28 2016-05-06 ソニー株式会社 受信装置、送信装置、およびデータ処理方法
WO2016127374A1 (zh) * 2015-02-12 2016-08-18 华为技术有限公司 多媒体流业务呈现方法和相关装置及相关系统
FR3052318B1 (fr) * 2016-06-03 2019-08-09 Expway Procede d’acces a un service transmis en mode telediffusion sur un reseau mobile
JP6487953B2 (ja) * 2017-02-13 2019-03-20 Kddi株式会社 通信端末装置、及び管理装置
US20200053394A1 (en) * 2017-03-24 2020-02-13 Sony Corporation Content processing apparatus, content processing method, and program
KR20190128630A (ko) * 2017-03-24 2019-11-18 소니 주식회사 콘텐츠 제공 시스템 및 콘텐츠 제공 방법, 그리고 프로그램
JP2020005038A (ja) * 2018-06-25 2020-01-09 キヤノン株式会社 送信装置、送信方法、受信装置、受信方法、及び、プログラム
US11509949B2 (en) * 2019-09-13 2022-11-22 Disney Enterprises, Inc. Packager for segmenter fluidity

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL158158A (en) 2003-09-29 2012-05-31 Bamboo Mediacasting Ltd Distribution of multicast data to users
US7423973B2 (en) * 2004-05-18 2008-09-09 Qualcomm Incorporated Methods and apparatus for hybrid multicast and unicast transmissions in a data network
US20060007930A1 (en) * 2004-07-09 2006-01-12 Dorenbosch Jheroen P Downlink multicast method in wireless internet protocol system
CA2577421A1 (en) * 2004-08-16 2006-03-02 Qualcomm Flarion Technologies, Inc. Group communication signal methods and apparatus
US7983493B2 (en) * 2004-10-05 2011-07-19 Vectormax Corporation Adaptive overlapped block matching for accurate motion compensation
JP5325978B2 (ja) * 2008-05-20 2013-10-23 トムソン ライセンシング 複数の受信器において利用できるコンテンツマップの配信システム及び方法
JP2010081397A (ja) * 2008-09-26 2010-04-08 Ntt Docomo Inc データ受信端末、データ配信サーバ、データ配信システム、およびデータ配信方法
US9369516B2 (en) * 2009-01-13 2016-06-14 Viasat, Inc. Deltacasting
JP4878642B2 (ja) * 2009-12-15 2012-02-15 シャープ株式会社 コンテンツ配信システム、コンテンツ配信装置、コンテンツ再生端末およびコンテンツ配信方法
US8310957B1 (en) 2010-03-09 2012-11-13 Juniper Networks, Inc. Minimum-cost spanning trees of unicast tunnels for multicast distribution
ES2774203T3 (es) * 2011-06-14 2020-07-17 Viasat Inc Protocolo de transporte para contenido anticipado
US9635689B2 (en) * 2011-08-30 2017-04-25 Verizon Patent And Licensing Inc. Delivery channel selection and application layer handover of programs for a mobile service
KR20130048094A (ko) * 2011-11-01 2013-05-09 한국전자통신연구원 콘텐츠 스트리밍 중계를 위한 노드 장치 및 그 방법
EP2885903B1 (en) * 2012-08-14 2016-06-15 Telefonaktiebolaget LM Ericsson (publ) Processing of multimedia data

Also Published As

Publication number Publication date
CN105009601A (zh) 2015-10-28
WO2014132821A1 (ja) 2014-09-04
US10085123B2 (en) 2018-09-25
US20150327025A1 (en) 2015-11-12
BR112015020102A2 (pt) 2017-07-18
EP2963939A4 (en) 2016-10-05
EP2963939A1 (en) 2016-01-06

Similar Documents

Publication Publication Date Title
WO2014132821A1 (ja) 情報処理装置および方法、プログラム、並びにコンテンツ供給システム
JP6348251B2 (ja) 端末装置、受信方法、およびプログラム
US20110246608A1 (en) System, method and device for delivering streaming media
WO2009021374A1 (fr) Système de réseau de pair à pair de service vidéo intégré
WO2014188886A1 (ja) コンテンツ供給装置、コンテンツ供給方法、プログラム、およびコンテンツ供給システム
WO2014196392A1 (ja) コンテンツ供給装置、コンテンツ供給方法、プログラム、およびコンテンツ供給システム
WO2014148277A1 (ja) コンテンツ供給装置、コンテンツ供給方法、プログラム、およびコンテンツ供給システム
JPWO2018043134A1 (ja) 配信装置、配信方法、受信装置、受信方法、プログラム、およびコンテンツ配信システム
CN105284118B (zh) 内容供应装置、内容供应方法、程序存储介质、终端装置和内容供应系统
WO2015029800A1 (ja) サーバ装置、情報処理方法、プログラム、端末装置、およびコンテンツ供給システム
WO2020195705A1 (ja) 情報処理装置および情報処理方法、並びにプログラム
US20170155968A1 (en) Content supply apparatus, content supply method, program terminal apparatus, and content supply system
WO2015045917A1 (ja) コンテンツ供給装置、コンテンツ供給方法、プログラム、端末装置、およびコンテンツ供給システム
JP6471922B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
Riad et al. A framework for cloud P2P VoD system based on user's behavior analysis
WO2015029768A1 (ja) コンテンツ供給装置、コンテンツ供給方法、プログラム、端末装置、およびコンテンツ供給システム
JP6340882B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
WO2015008653A1 (ja) コンテンツ供給装置、コンテンツ供給方法、プログラム、端末装置、およびコンテンツ供給システム
Iqbal et al. DAg-stream: Distributed video adaptation for overlay streaming to heterogeneous devices
WO2015163172A1 (ja) 受信装置、受信方法、送信装置、及び、送信方法
Fortino et al. An open streaming content distribution network

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170214

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20170321