JPWO2014010444A1 - コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体 - Google Patents
コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体 Download PDFInfo
- Publication number
- JPWO2014010444A1 JPWO2014010444A1 JP2014524738A JP2014524738A JPWO2014010444A1 JP WO2014010444 A1 JPWO2014010444 A1 JP WO2014010444A1 JP 2014524738 A JP2014524738 A JP 2014524738A JP 2014524738 A JP2014524738 A JP 2014524738A JP WO2014010444 A1 JPWO2014010444 A1 JP WO2014010444A1
- Authority
- JP
- Japan
- Prior art keywords
- content
- segment
- content transmission
- request
- transmission device
- 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.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 302
- 238000000034 method Methods 0.000 title claims description 38
- 238000012545 processing Methods 0.000 claims abstract description 122
- 230000004044 response Effects 0.000 claims description 118
- 238000005259 measurement Methods 0.000 claims description 32
- 230000003044 adaptive effect Effects 0.000 abstract description 17
- 238000004891 communication Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 23
- 238000004458 analytical method Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 11
- 230000008859 change Effects 0.000 description 10
- 230000006866 deterioration Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 238000007726 management method Methods 0.000 description 7
- 230000001276 controlling effect Effects 0.000 description 6
- 230000033001 locomotion Effects 0.000 description 6
- 238000012790 confirmation Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101150012579 ADSL gene Proteins 0.000 description 1
- 102100020775 Adenylosuccinate lyase Human genes 0.000 description 1
- 108700040193 Adenylosuccinate lyases Proteins 0.000 description 1
- 101100412093 Schizosaccharomyces pombe (strain 972 / ATCC 24843) rec16 gene Proteins 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2387—Stream processing in response to a playback request from an end-user, e.g. for trick-play
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2405—Monitoring of the internal components or processes of the server, e.g. server load
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4622—Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/633—Control signals issued by server directed to the network components or client
- H04N21/6332—Control signals issued by server directed to the network components or client directed to client
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
- H04N21/8586—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
MPEG−DASH規格のコンテンツをクライアント(2)に送信するサーバ(1)は、サーバ(1)の処理量を測定する処理量測定部(23)と、処理量が所定値以上の場合、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を生成するイベント情報付加部(24)と、セグメントデータと共に、取得先切替指示情報を送信するコンテンツ送信部(22)とを備える。これにより、リアルタイムで最適な適応ストリーミングを実行する。
Description
本発明は、コンテンツを送信するコンテンツ送信装置、コンテンツを取得・再生するコンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体に関するものである。
インターネットの普及やコンピュータの高性能化に伴い、インターネットを介して動画像などの大容量コンテンツを配信することが広く行われている。例えば、ユーザの要求に応じて動画等のコンテンツを提供するVOD(Video On Demand)というサービスがある。VODでは、例えば、特許文献1に記載されているように、HTTP(HyperText Transfer Protocol)を用いて、サーバ(コンテンツ提供装置)とクライアント(コンテンツ再生装置)との間でデータを送受信する。
ここで、HTTPによるコンテンツの配信に関して、様々な技術が開発されている。例えば、MPEG(Motion Picture Experts Group)は、HTTPを利用した適応ストリーミング技術をMPEG−DASH(Dynamic Adaptive Streaming over HTTP)規格として国際標準化を進めている。
MPEG−DASHでは、コンテンツは、複数のセグメント(segment)に時分割され、セグメント単位で伝送される。また、各セグメントは、1または複数のフラグメント(fragment)で構成される。また、コンテンツは、1または複数のピリオド(period)で構成されており、1つのピリオドに1または複数のセグメントが含まれる。
また、MPEG−DASHでは、1つのコンテンツに対して品質種別(ビットレート、画像解像度等の再生品質や、データフォーマット等の種別)が異なる複数のRepresentationが準備される。例えば、セグメント毎に異なるビットレートで符号化した複数のセグメントデータを準備する。これにより、コンテンツを受信して再生するクライアントは、コンテンツの受信状況等に応じて、要求するコンテンツ(セグメント)のビットレートを変えることにより、適応ストリーミングを実行することができる。
また、MPEG−DASHでは、内容および品質種別が同一のコンテンツ(セグメント)を複数のサーバにより提供してもよい。これにより、クライアントは、コンテンツの受信状況等に応じてコンテンツの取得先を切り替えることが可能になる。
例えば、図14に示すように、第1サーバ101および第2サーバ102が、ネットワークを介して、コンテンツのデータ本体であるセグメントデータを格納するセグメント記憶装置106、コンテンツの管理情報であるMPDデータ(詳細は後述)を格納するMPD記憶装置105からそれぞれセグメントデータおよびMPDデータを取得するとする。この場合、クライアント103は、コンテンツの受信状況等に応じて、コンテンツの要求先を第1サーバ101または第2サーバ102に切り替えることができる。なお、第1サーバ101および第2サーバ102は、それぞれ、ローカルでセグメントデータおよびMPDデータを保持していてもよい。
また、MPEG−DASHでは、コンテンツにMPD(Media Presentation Description)が対応付けられており、MPDによってコンテンツを管理する。MPDは、コンテンツのメタデータであって、コンテンツの管理情報をXML形式で記述したものである。換言すると、MPDは、クライアントがコンテンツの取得・再生時に利用する情報である。
MPDの具体的な記述例を図15に基づいて説明する。図15は、MPDの記述例を示す図である。図15に示すように、MPD200には、コンテンツの取得先を示す取得先情報201が記述されている。より具体的には、図15に示す例では、取得先情報201として、サーバのURLが記述されている。また、ここでは、2つのサーバ(cdn1およびcdn2)のURLが記述されており、上述のように、クライアントは、MPD200を参照することにより、コンテンツの取得先を選択可能である。
また、ここでは、コンテンツとして、ビットレートが1024kbpsの高品質Representationと、ビットレートが512kbpsの低品質Representationが用意されているものとする。そのため、MPD200には、或るピリオド(再生時刻0秒から600秒まで)に含まれるセグメントとして、高品質セグメントを示す高品質セグメント情報202と、低品質セグメントを示す低品質セグメント情報203とが記述されている。高品質セグメント情報202には、当該ピリオドに含まれる高品質RepresentationのIDおよびビットレートが記述されている。また、当該ピリオドに含まれる各セグメントの長さおよびURLが記述されている。また、低品質セグメント情報203も同様である。なお、当該ピリオドは、第1セグメント〜第60セグメントの60個のセグメントで構成されている。
次に、コンテンツの受信状況に基づいてサーバを切り替える場合の動作シーケンスおよびHTTPメッセージについて図16および図17に基づいて説明する。図16は、コンテンツの受信状況に基づいてサーバを切り替える場合の動作シーケンスの一例を示す図である。また、図17は、コンテンツの受信状況に基づいてサーバを切り替える場合のHTTPメッセージの一例を示す図である。
ここでは、図14に示すように、第1サーバ101および第2サーバ102が、セグメント記憶装置106およびMPD記憶装置105からそれぞれセグメントデータおよびMPDデータを取得し、クライアント103は、コンテンツの要求先を第1サーバ(cdn1)101または第2サーバ(cdn2)102に切り替えることができるものとする。また、図15に示すMPD200がコンテンツに対応付けられているものとする。
図16および図17に示すように、まず、クライアント103は、MPD200を参照して、第Nセグメントの送信を要求するためのリクエストメッセージ301を第1サーバ101に送信する。第1サーバ101は、リクエストメッセージ301の応答として、第Nセグメントのデータ本体を含むレスポンスメッセージ302をクライアント103に送信する。
ここで、クライアント103は、第Nセグメントを受信した際に受信状況の悪化を検出すると(処理303)、MPD200を参照して、代替サーバの検索を行う(処理304)。ここでは、MPD200に第2サーバ102が記述されているため、クライアント103は、MPD200を参照して、第2サーバ102に次の第(N+1)セグメントの送信を要求するためのリクエストメッセージ305を第2サーバ102に送信する。第2サーバ102は、リクエストメッセージ305の応答として、第(N+1)セグメントのデータ本体を含むレスポンスメッセージ306をクライアント103に送信する。
次に、コンテンツの受信状況に基づいて取得するコンテンツの品質種別を切り替える場合(取得するRepresentationを切り替える場合)の動作シーケンスおよびHTTPメッセージについて図18および図19に基づいて説明する。図18は、コンテンツの受信状況に基づいて取得するコンテンツの品質種別を切り替える場合の動作シーケンスの一例を示す図である。また、図19は、コンテンツの受信状況に基づいて取得するコンテンツの品質種別を切り替える場合のHTTPメッセージの一例を示す図である。
ここでは、図15に示すMPD200がコンテンツに対応付けられているものとし、クライアント103は、第1サーバ(cdn1)101から、受信状況に応じて、高品質Representation(rep1)または低品質Representation(rep2)を取得するものとする。
図18および図19に示すように、まず、クライアント103は、MPD200を参照して、高品質Representationの第Nセグメントの送信を要求するためのリクエストメッセージ311を第1サーバ101に送信する。第1サーバ101は、リクエストメッセージ311の応答として、高品質Representationの第Nセグメントのデータ本体を含むレスポンスメッセージ312をクライアント103に送信する。
ここで、クライアント103は、高品質Representationの第Nセグメントを受信した際に受信状況の悪化を検出すると(処理313)、MPD200を参照して、代替Representationの検索を行う(処理314)。ここでは、MPD200に代替Representationとして低品質Representation(rep2)が記述されているため、クライアント103は、MPD200を参照して、第1サーバ101に低品質Representationの第(N+1)セグメントの送信を要求するためのリクエストメッセージ315を第1サーバ101に送信する。第1サーバ101は、リクエストメッセージ315の応答として、低品質Representationの第(N+1)セグメントのデータ本体を含むレスポンスメッセージ316をクライアント103に送信する。
"ISO/IEC 23009-1"、[online]、2012年4月1日、ISO/IEC、[平成24年6月19日検索]、インターネット<URL:http://standards.iso.org/ittf/PubliclyAvailableStandards/c057623_ISO_IEC_23009-1_2012.zip>
"ISO/IEC 14496-12"、2008年10月15日、ISO/IEC
しかしながら、上述の動作シーケンスにおいて、クライアントがコンテンツの受信状況の悪化を検出した場合、その原因がサーバの処理遅延によるものであるか、ネットワークの帯域不足によるものであるかを判断することができない。そのため、コンテンツの受信状況の悪化に対する対応として、サーバ切り替え、または、Representation切り替えのどちらを行えばよいか適切に判断することができないという問題がある。
また、MPDの更新(代替サーバのURLを追記した新たなMPDの配信、あるいは代替サーバのURLの記述順序を変更した新たなMPDの配信等)によって、サーバ切り替えを実現する場合、クライアントにおいてMPD更新処理に伴う遅延を避けることができない、すなわち、リアルタイム性が低いという問題がある。
具体的に、図20〜図22に基づいて、MPDの更新によって、サーバ切り替えを実現する場合を説明する。図20は、MPDの更新によって、サーバ切り替えを実現する場合の動作シーケンスの一例を示す図である。図21は、MPD更新前のMPDを示す図であり、図22は、MPD更新後のMPDを示す図である。
ここでは、第1サーバ101は、リクエストが集中して高負荷状態となると、MPDに第2サーバ102のURLを記述して、MPDを更新し、クライアント103に第2サーバ102へ切り替えるように促すものとする。また、クライアント103は、MPDの更新の有無を所定の間隔(60秒ごと)に確認するものとする。
図20〜図22に示すように、クライアント103は、図21に示すMPDに基づくコンテンツの取得処理と平行して、MPD更新有無の確認(ポーリング)を第1サーバ101に対して行う(処理401)。ここでは、第1サーバ101は、MPDを更新していないため、クライアント103に対して、MPD更新なしと通知する(処理402)。
その後、第1サーバ101にリクエストが集中し、高負荷状態となったため、第1サーバ101は、第2サーバ102のURLが記述された、図22に示すMPDを生成し、MPDを更新する(処理403)。
クライアント103は、次の更新確認のタイミングで、MPD更新有無の確認を第1サーバ101に対して行う(処理404)。このとき、MPDは更新されているため、第1サーバ101は、更新したMPDをクライアント103に送信する(処理405)。そして、クライアント103は、更新されたMPDを参照して、コンテンツの取得先を第2サーバ102に変更する。
このように、第1サーバ101が高負荷状態になってから、クライアント103は、直ぐに第2サーバ102に切り替えるのではなく、MPD更新確認間隔に応じて、遅延が生じる。また、MPD更新確認間隔を短くした場合は、クライアント103および第1サーバ101の処理が増大するという問題、および、MPDの更新が無い場合でも、ポーリングに伴うデータ(例えば、HTTPメッセージ)のやり取りが頻繁に発生するため、ネットワーク帯域が圧迫されるという問題がある。
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、リアルタイムで最適な適応ストリーミングを実行するコンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体を実現することにある。
本発明に係るコンテンツ送信装置は、上記課題を解決するために、複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ再生装置に送信するコンテンツ送信装置であって、上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信手段と、上記コンテンツ送信装置の処理量を測定する処理量測定手段と、上記処理量測定手段が測定した直近の処理量が所定値以上の場合、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を生成する情報生成手段と、を備え、上記送信手段は、上記情報生成手段が取得先切替指示情報を生成した場合、上記セグメントと共に、上記情報生成手段が生成した取得先切替指示情報を送信することを特徴としている。
また、本発明に係るコンテンツ送信装置の制御方法は、上記課題を解決するために、複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ再生装置に送信するコンテンツ送信装置の制御方法であって、上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信ステップと、上記コンテンツ送信装置の処理量を測定する処理量測定ステップと、上記処理量測定ステップにおいて測定された直近の処理量が所定値以上の場合、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を生成する情報生成ステップと、を含み、上記送信ステップは、上記情報生成ステップにおいて取得先切替指示情報を生成した場合、上記セグメントと共に、当該情報生成ステップにおいて生成された取得先切替指示情報を送信することを特徴としている。
上記の構成によれば、コンテンツ送信装置は、自装置の処理量が所定値以上の場合(すなわち、高負荷状態の場合)、コンテンツ再生装置がセグメント取得時に、当該コンテンツ再生装置に対して、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示することができる。そのため、コンテンツ送信装置が高負荷状態になった場合に、コンテンツ再生装置は、セグメントの受信状況の悪化の原因をリアルタイムで知ることができる。よって、コンテンツ送信装置は、コンテンツ再生装置に対して、リアルタイムで最適な適応ストリーミングを実行させることができるという効果を奏する。
また、本発明に係るコンテンツ送信装置は、上記情報生成手段は、上記取得先切替指示情報を、上記セグメントのヘッダ部分に付加することが好ましい。
また、本発明に係るコンテンツ送信装置は、上記情報生成手段は、上記取得先切替指示情報を、上記レスポンスのヘッダに付加することが好ましい。
また、本発明に係るコンテンツ送信装置は、上記情報生成手段は、上記処理量測定手段が測定した直近の処理量が所定値以上の場合、当該処理量に応じて、コンテンツの取得先を他のコンテンツ送信装置に切り替えるタイミングを指示する取得先切替指示情報を生成することが好ましい。
上記の構成によれば、コンテンツ送信装置は、自装置の処理量に応じて(すなわち、高負荷状態の程度に応じて)、コンテンツ再生装置に対して、他のコンテンツ送信装置に切り替えるタイミングを指示することができる。例えば、コンテンツ送信装置が高負荷状態であるが程度が低い場合(緊急性が低い場合)、コンテンツ送信装置は、コンテンツ再生装置に対して、次のセグメントの取得時から、または、次のピリオドに含まれるセグメントの取得時から、他のコンテンツ送信装置に切り替えるように指示してもよい。一方、コンテンツ送信装置が高負荷状態であり、程度が高い場合(緊急性が高い場合)、コンテンツ送信装置は、コンテンツ再生装置に対して、現在のリクエストを中断し、即座に他のコンテンツ送信装置に切り替えるように指示してもよい。このように、コンテンツ送信装置は、自装置の処理量に応じて、コンテンツ再生装置に対して、リアルタイムでより最適な適応ストリーミングを実行させることができる。
また、本発明に係るコンテンツ送信装置は、上記課題を解決するために、複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ再生装置に送信するコンテンツ送信装置であって、上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信手段と、上記コンテンツ送信装置の処理量を測定する処理量測定手段と、上記処理量測定手段が測定した処理量が所定値以上の場合、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を生成する情報生成手段と、を備え、上記送信手段は、上記セグメントと共に、上記情報生成手段が生成した直近の負荷状態情報を送信することを特徴としている。
また、本発明に係るコンテンツ送信装置の制御方法は、上記課題を解決するために、複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ再生装置に送信するコンテンツ送信装置の制御方法であって、上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信ステップと、上記コンテンツ送信装置の処理量を測定する処理量測定ステップと、上記処理量測定ステップにおいて測定された処理量が所定値以上の場合、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を生成する情報生成ステップと、を含み、上記送信ステップは、上記セグメントと共に、上記情報生成ステップにおいて生成された直近の負荷状態情報を送信することを特徴としている。
上記の構成によれば、コンテンツ送信装置は、自装置の処理量が所定値以上の場合(すなわち、高負荷状態の場合)、コンテンツ再生装置がセグメント取得時に、当該コンテンツ再生装置に対して、自装置が高負荷状態であることを通知することができる。そのため、コンテンツ送信装置が高負荷状態になった場合に、コンテンツ再生装置は、セグメントの受信状況の悪化の原因をリアルタイムで知ることができる。コンテンツ再生装置は、上記通知を受けて、コンテンツの取得先を他のコンテンツ送信装置に切り替えることができる。よって、コンテンツ送信装置は、コンテンツ再生装置に対して、リアルタイムで最適な適応ストリーミングを実行させることができるという効果を奏する。
また、本発明に係るコンテンツ送信装置は、上記情報生成手段は、上記負荷状態情報を、上記セグメントのヘッダ部分に付加することが好ましい。
また、本発明に係るコンテンツ送信装置は、上記情報生成手段は、上記負荷状態情報を、上記レスポンスのヘッダに付加することが好ましい。
また、本発明に係るコンテンツ送信装置は、上記情報生成手段は、上記処理量測定手段が測定した処理量が所定値以上の場合、当該処理量に応じて、上記コンテンツ送信装置の高負荷状態の程度を示す負荷状態情報を生成することが好ましい。
上記の構成によれば、コンテンツ送信装置は、自装置の処理量に応じて(すなわち、高負荷状態の程度に応じて)、コンテンツ再生装置に対して、自装置の高負荷状態の程度を通知することができる。例えば、コンテンツ送信装置が高負荷状態であるが程度が低いことを通知した場合(緊急性が低いことを通知した場合)、コンテンツ再生装置は、次のセグメントの取得時から、または、次のピリオドに含まれるセグメントの取得時から、他のコンテンツ送信装置に切り替えるようにしてもよい。一方、コンテンツ送信装置が高負荷状態であり、程度が高いことを通知した場合(緊急性が高いことを通知した場合)、コンテンツ再生装置は、現在のリクエストを中断し、即座に他のコンテンツ送信装置に切り替えるようにしてもよい。このように、コンテンツ送信装置が自装置の高負荷状態の程度を通知することにより、コンテンツ再生装置は、リアルタイムでより最適な適応ストリーミングを実行することができる。
また、本発明に係るコンテンツ再生装置は、上記課題を解決するために、複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ送信装置から取得して再生するコンテンツ再生装置であって、上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得手段を備え、上記取得手段は、上記セグメントと共に、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴としている。
また、本発明に係るコンテンツ再生装置の制御方法は、上記課題を解決するために、複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ送信装置から取得して再生するコンテンツ再生装置の制御方法であって、上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得ステップを含み、上記取得ステップは、上記セグメントと共に、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴としている。
上記の構成によれば、コンテンツ再生装置は、コンテンツ送信装置からセグメント取得時に、当該コンテンツ送信装置の指示に基づいて、コンテンツの取得先を他のコンテンツ送信装置に切り替えることができる。ここで、コンテンツ送信装置が高負荷状態になった場合、コンテンツ再生装置の上記セグメントの受信状況が悪化することが考えられる。よって、コンテンツ再生装置は、コンテンツ送信装置の指示に基づいて、当該コンテンツ送信装置と異なる他のコンテンツ送信装置に取得先を切り替えることにより、リアルタイムで最適な適応ストリーミングを実行することができるという効果を奏する。
また、本発明に係るコンテンツ再生装置は、上記取得手段は、上記取得先切替指示情報が上記セグメントのヘッダ部分に付加されている場合、上記リクエストを他のコンテンツ送信装置に対して送信することが好ましい。
また、本発明に係るコンテンツ再生装置は、上記取得手段は、上記取得先切替指示情報が上記レスポンスのヘッダに付加されている場合、上記リクエストを他のコンテンツ送信装置に対して送信することが好ましい。
また、本発明に係るコンテンツ再生装置は、上記取得手段は、上記取得先切替指示情報がコンテンツの取得先を他のコンテンツ送信装置に切り替えるタイミングを指示する場合、指示されたタイミングで他のコンテンツ送信装置に対して上記リクエストを送信することが好ましい。
上記の構成によれば、コンテンツ再生装置は、コンテンツ送信装置からセグメント取得時に、当該コンテンツ送信装置の指示に基づいて、指示されたタイミングでコンテンツの取得先を他のコンテンツ送信装置に切り替えることができる。例えば、コンテンツ送信装置が高負荷状態であるが程度が低い場合(緊急性が低い場合)、コンテンツ送信装置は、コンテンツ再生装置に対して、次のセグメントの取得時から、または、次のピリオドに含まれるセグメントの取得時から、他のコンテンツ送信装置に切り替えるように指示してもよい。一方、コンテンツ送信装置が高負荷状態であり、程度が高い場合(緊急性が高い場合)、コンテンツ送信装置は、コンテンツ再生装置に対して、現在のリクエストを中断し、即座に他のコンテンツ送信装置に切り替えるように指示してもよい。このように、コンテンツ再生装置は、コンテンツ送信装置の指示に基づいて、コンテンツ送信装置の処理量に応じて、リアルタイムでより最適な適応ストリーミングを実行することができる。
また、本発明に係るコンテンツ再生装置は、上記課題を解決するために、複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ送信装置から取得して再生するコンテンツ再生装置であって、上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得手段を備え、上記取得手段は、上記セグメントと共に、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴としている。
また、本発明に係るコンテンツ再生装置の制御方法は、上記課題を解決するために、複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ送信装置から取得して再生するコンテンツ再生装置の制御方法であって、上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得ステップを含み、上記取得ステップは、上記セグメントと共に、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴としている。
上記の構成によれば、コンテンツ再生装置は、コンテンツ送信装置からセグメント取得時に、当該コンテンツ送信装置が高負荷状態であるか否かを知ることができる。ここで、コンテンツ送信装置が高負荷状態になった場合、コンテンツ再生装置の上記セグメントの受信状況が悪化することが考えられる。よって、コンテンツ再生装置は、コンテンツ送信装置からの通知の有無に基づいて、当該コンテンツ送信装置と異なる他のコンテンツ送信装置に取得先を切り替えることにより、リアルタイムで最適な適応ストリーミングを実行することができるという効果を奏する。
また、本発明に係るコンテンツ再生装置は、上記取得手段は、上記負荷状態情報が上記セグメントのヘッダ部分に付加されている場合、上記リクエストを他のコンテンツ送信装置に対して送信することが好ましい。
また、本発明に係るコンテンツ再生装置は、上記取得手段は、上記負荷状態情報が上記レスポンスのヘッダに付加されている場合、上記リクエストを他のコンテンツ送信装置に対して送信することが好ましい。
また、本発明に係るコンテンツ再生装置は、上記取得手段は、上記負荷状態情報が上記コンテンツ送信装置の高負荷状態の程度を示す場合、その程度に応じた所定のタイミングで他のコンテンツ送信装置に対して上記リクエストを送信することが好ましい。
上記の構成によれば、コンテンツ再生装置は、コンテンツ送信装置からセグメント取得時に、当該コンテンツ送信装置の高負荷状態の程度を知ることができる。例えば、コンテンツ送信装置が高負荷状態であるが程度が低い場合(緊急性が低い場合)、コンテンツ再生装置は、次のセグメントの取得時から、または、次のピリオドに含まれるセグメントの取得時から、他のコンテンツ送信装置に切り替えるようにしてもよい。一方、コンテンツ送信装置が高負荷状態であり、程度が高い場合(緊急性が高い場合)、コンテンツ再生装置は、現在のリクエストを中断し、即座に他のコンテンツ送信装置に切り替えるようにしてもよい。このように、コンテンツ再生装置は、コンテンツ送信装置の高負荷状態の程度に応じて、リアルタイムでより最適な適応ストリーミングを実行することができる。
また、本発明に係るコンテンツ配信システムは、上記コンテンツ送信装置と、上記コンテンツ再生装置とを含むことが好ましい。
上記の構成によれば、コンテンツ配信システムは、上記コンテンツ送信装置および上記コンテンツ再生装置と同様の効果を奏する。
また、コンテンツ再生装置がコンテンツ送信装置から取得するコンテンツを構成する複数のセグメントのデータ構造であって、上記セグメントのヘッダ部分に、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報、または、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を含むことを特徴とするセグメントのデータ構造も本発明の範疇に含まれる。
また、コンテンツ再生装置がコンテンツ送信装置に対してコンテンツを構成する各セグメントの送信を要求するリクエストに対する応答である、当該コンテンツ再生装置が取得した、当該セグメントを含むレスポンスのデータ構造であって、上記レスポンスのヘッダに、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報、または、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を含むことを特徴とするレスポンスのデータ構造も本発明の範疇に含まれる。
なお、上記コンテンツ送信装置および上記コンテンツ再生装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記コンテンツ送信装置および上記コンテンツ再生装置の各手段として動作させることにより、上記コンテンツ送信装置および上記コンテンツ再生装置をコンピュータにて実現させる制御プログラム、及びそれを記録したコンピュータ読み取り可能な記録媒体も本発明の範疇に入る。
以上のように、本発明に係るコンテンツ送信装置は、上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信手段と、上記コンテンツ送信装置の処理量を測定する処理量測定手段と、上記処理量測定手段が測定した直近の処理量が所定値以上の場合、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を生成する情報生成手段と、を備え、上記送信手段は、上記情報生成手段が取得先切替指示情報を生成した場合、上記セグメントと共に、上記情報生成手段が生成した取得先切替指示情報を送信する。
また、本発明に係るコンテンツ送信装置の制御方法は、上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信ステップと、上記コンテンツ送信装置の処理量を測定する処理量測定ステップと、上記処理量測定ステップにおいて測定された直近の処理量が所定値以上の場合、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を生成する情報生成ステップと、を含み、上記送信ステップは、上記情報生成ステップにおいて取得先切替指示情報を生成した場合、上記セグメントと共に、当該情報生成ステップにおいて生成された取得先切替指示情報を送信する。
よって、コンテンツ送信装置は、コンテンツ再生装置に対して、リアルタイムで最適な適応ストリーミングを実行させることができるという効果を奏する。
また、本発明に係るコンテンツ送信装置は、上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信手段と、上記コンテンツ送信装置の処理量を測定する処理量測定手段と、上記処理量測定手段が測定した処理量が所定値以上の場合、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を生成する情報生成手段と、を備え、上記送信手段は、上記セグメントと共に、上記情報生成手段が生成した直近の負荷状態情報を送信する。
また、本発明に係るコンテンツ送信装置の制御方法は、上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信ステップと、上記コンテンツ送信装置の処理量を測定する処理量測定ステップと、上記処理量測定ステップにおいて測定された処理量が所定値以上の場合、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を生成する情報生成ステップと、を含み、上記送信ステップは、上記セグメントと共に、上記情報生成ステップにおいて生成された直近の負荷状態情報を送信する。
よって、コンテンツ送信装置は、コンテンツ再生装置に対して、リアルタイムで最適な適応ストリーミングを実行させることができるという効果を奏する。
また、本発明に係るコンテンツ再生装置は、上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得手段を備え、上記取得手段は、上記セグメントと共に、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信する。
また、本発明に係るコンテンツ再生装置の制御方法は、上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得ステップを含み、上記取得ステップは、上記セグメントと共に、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信する。
よって、コンテンツ再生装置は、コンテンツ送信装置の指示に基づいて、当該コンテンツ送信装置と異なる他のコンテンツ送信装置に取得先を切り替えることにより、リアルタイムで最適な適応ストリーミングを実行することができるという効果を奏する。
また、本発明に係るコンテンツ再生装置は、上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得手段を備え、上記取得手段は、上記セグメントと共に、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信する。
また、本発明に係るコンテンツ再生装置の制御方法は、上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得ステップを含み、上記取得ステップは、上記セグメントと共に、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信する。
よって、コンテンツ再生装置は、コンテンツ送信装置からの通知の有無に基づいて、当該コンテンツ送信装置と異なる他のコンテンツ送信装置に取得先を切り替えることにより、リアルタイムで最適な適応ストリーミングを実行することができるという効果を奏する。
本発明の一実施形態について図1から図13に基づいて説明すると以下の通りである。まず、本実施形態のコンテンツ配信システムの概要について、図2に基づいて説明する。
〔コンテンツ配信システムの概要〕
図2は、本実施形態に係るコンテンツ配信システム6の概要を示す図である。図2に示すように、コンテンツ配信システム6は、第1サーバ1a、第2サーバ1b、クライアント2、プロキシ3、MPD記憶装置4およびセグメント記憶装置5を含む。
図2は、本実施形態に係るコンテンツ配信システム6の概要を示す図である。図2に示すように、コンテンツ配信システム6は、第1サーバ1a、第2サーバ1b、クライアント2、プロキシ3、MPD記憶装置4およびセグメント記憶装置5を含む。
図2に示すように、クライアント2は、プロキシ3を介して、第1サーバ1aおよび第2サーバ1bと接続する。また、第1サーバ1aおよび第2サーバ1bは、それぞれMPD記憶装置4およびセグメント記憶装置5と接続する。各装置は、有線通信または無線通信の任意のネットワークで接続される。
なお、以下では、第1サーバ1aおよび第2サーバ1bを総称してサーバ1と称する。
また、コンテンツ配信システム6の構成は図2に示す例に限るものではない。例えば、コンテンツ配信システム6は、サーバ1を3つ以上含んでいてもよいし、クライアント2を2つ以上含んでいてもよい。また、コンテンツ配信システム6は、プロキシ3を2つ以上含んでいてもよい。さらに、コンテンツ配信システム6は、プロキシ3を備えていなくてもよく、この場合、クライアント2は、サーバ1と直接接続する。
また、本実施形態では、コンテンツ配信システム6におけるネットワーク上の伝送プロトコルは、ハイパーテキスト転送プロトコルとして広く用いられているHTTPを用いるものとする。また、サーバ1が配信するコンテンツは、映像コンテンツであり、コンテンツは、セグメント化されたISOBFFデータであるものとする。すなわち、本実施形態では、コンテンツ配信システム6は、上述のMPEG−DASH規格に基づくコンテンツを配信するものである。
〔各装置の構成〕
次に、図1に基づいて、第1サーバ1a、第2サーバ1bおよびクライアント2の要部構成について説明する。図1は、第1サーバ1a、第2サーバ1bおよびクライアント2の要部構成の一例を示す図である。なお、説明の便宜のため、図1では、プロキシ3を省略している。
次に、図1に基づいて、第1サーバ1a、第2サーバ1bおよびクライアント2の要部構成について説明する。図1は、第1サーバ1a、第2サーバ1bおよびクライアント2の要部構成の一例を示す図である。なお、説明の便宜のため、図1では、プロキシ3を省略している。
(サーバについて)
サーバ1は、クライアント2からコンテンツの送信を要求する要求メッセージ(リクエスト)を受信して、受信した要求メッセージに対する応答メッセージ(レスポンス)を送信するコンテンツ送信装置である。具体的には、クライアント2からコンテンツ管理情報(MPD)の送信を要求するリクエストを受信すると、当該コンテンツのMPDを含むレスポンスをクライアント2に送信する。また、クライアント2からコンテンツを構成するセグメントの送信を要求するリクエストを受信すると、当該セグメントを含むレスポンスをクライアント2に送信する。
サーバ1は、クライアント2からコンテンツの送信を要求する要求メッセージ(リクエスト)を受信して、受信した要求メッセージに対する応答メッセージ(レスポンス)を送信するコンテンツ送信装置である。具体的には、クライアント2からコンテンツ管理情報(MPD)の送信を要求するリクエストを受信すると、当該コンテンツのMPDを含むレスポンスをクライアント2に送信する。また、クライアント2からコンテンツを構成するセグメントの送信を要求するリクエストを受信すると、当該セグメントを含むレスポンスをクライアント2に送信する。
なお、サーバ1は、ネットワーク7上のMPD記憶装置4およびセグメント記憶装置5からMPDデータおよびセグメントデータを取得するものであるが、これに限るものではない。例えば、各サーバ1は、ローカルでMPDデータおよびセグメントデータを保持していてもよい。
図1に示すように、第1サーバ1aは、第1サーバ制御部11a、第1サーバ記憶部12aおよび第1サーバ通信部13aを有する。また、第1サーバ制御部11aは、機能ブロックとして、コンテンツ取得部21a、コンテンツ送信部22a、処理量測定部23aおよびイベント情報付加部24aを備える構成である。
また、第2サーバ1bも、第1サーバ1aと同じ構成であり、第2サーバ制御部11b、第2サーバ記憶部12bおよび第2サーバ通信部13bを有する。また、第2サーバ制御部11bは、機能ブロックとして、コンテンツ取得部21b、コンテンツ送信部22b、処理量測定部23bおよびイベント情報付加部24bを備える構成である。
以下では、第1サーバ制御部11aおよび第2サーバ制御部11b、第1サーバ記憶部12aおよび第2サーバ記憶部12b、並びに、第1サーバ通信部13aおよび第2サーバ通信部13bを総称して、サーバ制御部11、サーバ記憶部12並びにサーバ通信部13と称する。また、コンテンツ取得部21aおよび21b、コンテンツ送信部22aおよび22b、処理量測定部23aおよび23b、並びに、イベント情報付加部24aおよび24bを総称して、コンテンツ取得部21、コンテンツ送信部(送信手段)22、処理量測定部(処理量測定手段)23並びにイベント情報付加部(情報生成手段)24と称する。
サーバ通信部13は、無線通信手段または有線通信手段によって、クライアント2、MPD記憶装置4およびセグメント記憶装置5等の他の装置と通信を行い、サーバ制御部11の指示に従って、データのやりとりを行うものである。
サーバ制御部11は、サーバ記憶部12から一時記憶部(不図示)に読み出されたプログラムを実行することにより、各種の演算を行うと共に、サーバ1が備える各部を統括的に制御するものである。
サーバ制御部11の各機能ブロック(21〜24)は、CPU(central processing unit)が、ROM(read only memory)等で実現された記憶装置に記憶されているプログラムをRAM(random access memory)等で実現された一時記憶部に読み出して実行することで実現できる。
コンテンツ取得部21は、コンテンツ送信部22からの指示に基づいて、MPD記憶装置4からMPDデータまたはセグメント記憶装置5からセグメントデータを取得するものである。コンテンツ取得部21は、MPDデータを取得した場合、取得したMPDデータをコンテンツ送信部22に出力し、セグメントデータを取得した場合、取得したセグメントデータをイベント情報付加部24に出力する。
なお、コンテンツ取得部21は、コンテンツ送信部22からの指示の有無に関わらず、事前に、MPDデータおよび/またはセグメントデータを取得していても良い。この場合、コンテンツ取得部21は、事前に取得したMPDデータおよびセグメントデータをサーバ記憶部12に格納しておき、コンテンツ送信部22からの指示に基づいて、サーバ記憶部12からMPDデータおよびセグメントデータを読み出す。
コンテンツ送信部22は、クライアント2からリクエストを受信すると、リクエストに対するレスポンスを当該クライアント2に送信するものである。具体的には、クライアント2からコンテンツ管理情報(MPD)の送信を要求するリクエストを受信すると、当該コンテンツのMPDを取得するようにコンテンツ取得部21に指示し、コンテンツ取得部21からMPDデータを取得すると、取得したMPDデータを含むレスポンスをクライアント2に送信する。また、クライアント2からコンテンツを構成するセグメントの送信を要求するリクエストを受信すると、当該セグメントを取得するようにコンテンツ取得部21に指示し、イベント情報付加部24からセグメントデータを取得すると、当該セグメントデータを含むレスポンスをクライアント2に送信する。
処理量測定部23は、サーバ1の処理量を測定するものである。処理量測定部23は、実際の処理量(絶対値)を測定しても良いし、相対的な処理量(CPUの使用率等)を測定しても良い。あるいは、処理量測定部23は、クライアントからのリクエストの数を処理量としてもよい。処理量測定部23は、測定した処理量をイベント情報付加部24に通知する。
イベント情報付加部24は、処理量測定部23から通知された処理量が所定値以上の場合、コンテンツ取得部21から取得したセグメントデータにイベント情報を付加してコンテンツ送信部22に出力する。一方、イベント情報付加部24は、処理量測定部23から通知された処理量が所定値未満の場合、コンテンツ取得部21から取得したセグメントデータをそのままコンテンツ送信部22に出力する。
詳細は後述するが、イベント情報付加部24は、セグメントデータにイベント情報を付加する場合、セグメントデータ本体にISO/IEC 14496−12(ISOBFF)で規定されるbox形式で付加してもよいし(例えば、セグメントデータのヘッダ部分にイベント情報を付加(挿入)する)、セグメントデータ本体を送信するHTTPレスポンスメッセージのHTTPヘッダにイベント情報を付加してもよい。
また、イベント情報付加部24が付加するイベント情報は、クライアント2にコンテンツの取得先のサーバを(強制的に)切り替えさせるサーバ切替指示情報(取得先切替指示情報)であってもよいし、単にサーバ1の処理量を示す負荷状態情報であってもよい。また、イベント情報は、サーバ切替指示情報もしくは負荷状態情報に加えて、代替サーバを示す代替サーバ情報を含んでいてもよい。
また、イベント情報付加部24は、サーバ切替指示情報の内容を処理量測定部23から通知された処理量に応じて生成してもよい。例えば、所定値以上の処理量を、高負荷状態A、高負荷状態B、高負荷状態Cの3つの範囲に区分したとする(高負荷状態A>高負荷状態B>高負荷状態Cとする)。この場合、イベント情報付加部24は、処理量が高負荷状態Aであれば、現在のリクエストを中断し、即座にサーバ1の切り替えを指示するサーバ切替指示情報を生成し、処理量が高負荷状態Bであれば、次のセグメントのリクエストからサーバ1の切り替えを指示するサーバ切替指示情報を生成し、処理量が高負荷状態Cであれば、次のピリオドのリクエストからサーバ1の切り替えを指示するサーバ切替指示情報を生成してもよい。
なお、イベント情報付加部24は、イベント情報として負荷状態情報を生成する場合、処理量が高負荷状態Aであれば、高負荷状態Aを示す負荷状態情報を生成し、処理量が高負荷状態Bであれば、高負荷状態Bを示す負荷状態情報を生成し、処理量が高負荷状態Cであれば、高負荷状態Cを示す負荷状態情報を生成してもよい。
サーバ記憶部12は、サーバ制御部11が参照するプログラムやデータ等を格納するものであり、例えば、コンテンツ取得部21が取得したMPDデータおよびセグメントデータ等を格納してもよい。
(クライアントについて)
クライアント2は、サーバ1等の他の装置から取得したコンテンツ、または、自装置に格納しているコンテンツを再生するコンテンツ再生装置である。クライアント2は、例えば、デジタルテレビ、レコーダ、STB(Set Top Box)、PC、携帯電話機、ゲーム機、PDA(Personal Digital Assistant)、デジタルカメラ、デジタルビデオ等である。
クライアント2は、サーバ1等の他の装置から取得したコンテンツ、または、自装置に格納しているコンテンツを再生するコンテンツ再生装置である。クライアント2は、例えば、デジタルテレビ、レコーダ、STB(Set Top Box)、PC、携帯電話機、ゲーム機、PDA(Personal Digital Assistant)、デジタルカメラ、デジタルビデオ等である。
図1に示すように、クライアント2は、クライアント制御部41、クライアント記憶部42、クライアント通信部43、表示部44および音声出力部45を備える。なお、クライアント2は、操作部、音声入力部等の部材を備えていてもよいが、発明の特徴点とは関係がないため当該部材を図示していない。
クライアント通信部43は、無線通信手段または有線通信手段によって、サーバ1、プロキシ3等の他の装置と通信を行い、クライアント制御部41の指示に従って、データのやりとりを行うものである。
表示部44は、クライアント制御部41の指示に従って画像を表示するものである。表示部44は、クライアント制御部41の指示に従って画像を表示するものであればよく、例えば、LCD(液晶ディスプレイ)、有機ELディスプレイ、プラズマディスプレイなどを適用することが可能である。
音声出力部45は、クライアント制御部41から電気信号を受信し、受信した電気信号を音に変換し、クライアント2の外部に音を出力するものである。音声出力部45は、いわゆるスピーカである。
クライアント制御部41は、クライアント記憶部42から一時記憶部(不図示)に読み出されたプログラムを実行することにより、各種の演算を行うと共に、クライアント2が備える各部を統括的に制御するものである。
本実施形態では、クライアント制御部41は、機能ブロックとして、コンテンツ取得部(取得手段)51、受信状況測定部52、コンテンツ解析部53、切替判定部54およびコンテンツ再生部55を備える構成である。これらのクライアント制御部41の各機能ブロック(51〜55)は、CPUが、ROM等で実現された記憶装置に記憶されているプログラムをRAM等で実現された一時記憶部に読み出して実行することで実現できる。
コンテンツ取得部51は、サーバ1にクライアント通信部43を介してリクエストを送信し、サーバ1からコンテンツ(コンテンツに対応付けられたMPDおよびコンテンツを構成するセグメント)を取得するものである。
具体的には、コンテンツ取得部51は、ユーザから操作部(不図示)を介してコンテンツの取得(再生)指示が入力されると、当該コンテンツの管理情報(MPD)の送信を要求するリクエストをサーバ1に送信する。そして、コンテンツ取得部51は、当該リクエストのレスポンスとして、上記コンテンツのMPDデータを受信する。コンテンツ取得部51は、受信したMPDデータを参照して、上記コンテンツを構成するセグメントの送信を要求するリクエストをサーバ1に送信する。そして、コンテンツ取得部51は、当該リクエストのレスポンスとして、上記コンテンツのセグメントデータを取得する。コンテンツ取得部51は、取得したセグメントデータをコンテンツ解析部53およびコンテンツ再生部55に出力する。
受信状況測定部52は、クライアント通信部43が受信するデータの受信状況を測定するものである。受信状況測定部52は、測定した受信状況を切替判定部54に通知する。
コンテンツ解析部53は、コンテンツ取得部51からセグメントデータを取得すると、取得したセグメントデータを解析し、セグメントデータにイベント情報が付加されている場合、セグメントデータに付加されたイベント情報を抽出するものである。コンテンツ解析部53は、抽出したイベント情報を切替判定部54に出力する。
切替判定部54は、受信状況測定部52から受信状況を受信すると、受信状況が良好か否かを判定する。切替判定部54は、受信状況が良好でないと判定した場合、さらに、コンテンツ解析部53からイベント情報を受信したか否かを判定する。切替判定部54は、イベント情報を受信していない場合、受信状況の悪化の原因はネットワークの帯域不足であると判断し、コンテンツ取得部51に対して、より低品質のセグメントを取得するように指示する。一方、切替判定部54は、イベント情報を受信した場合、サーバ1が高負荷状態のために受信状況が悪化したと判断し、コンテンツ取得部51に対して、コンテンツの取得先のサーバ1を変更するように指示する。
また、切替判定部54は、イベント情報に代替サーバ情報が含まれている場合、コンテンツ取得部51に対して、代替サーバ情報の示すサーバ1にコンテンツの取得先を変更するように指示する。
なお、イベント情報が負荷状態情報の場合、切替判定部54は、コンテンツ取得部51に対して、コンテンツの取得先のサーバ1を変更させるか否か、および、どのタイミングでサーバ1を変更させるかを自由に決めてもよい。例えば、切替判定部54は、負荷状態情報(イベント情報)を受信した場合であっても、コンテンツ取得部51に対して、コンテンツの取得先のサーバ1を変更するように指示しなくてもよい。また、切替判定部54は、乱数値を生成し、負荷状態情報を受信した場合、生成した乱数値が所定の値の場合にのみ、コンテンツ取得部51に対して、コンテンツの取得先のサーバ1を変更するように指示してもよい。また、切替判定部54は、高負荷状態Cを示す負荷状態情報を受信した場合に、コンテンツ取得部51に対して、現在のリクエストを中断し、即座にサーバを切り替えるように指示してもよい。
また、切替判定部54は、受信状況に関わらず、セグメントデータにイベント情報が付加されているか否かによって、コンテンツ取得部51に対して、コンテンツの取得先のサーバ1を変更するように指示してもよい。
コンテンツ再生部55は、コンテンツ取得部51からセグメントデータを取得すると、MPDデータを参照して、取得したセグメントデータに基づいてコンテンツを再生するものである。
クライアント記憶部42は、クライアント制御部41が参照するプログラムやデータ等を格納するものであり、例えば、コンテンツ取得部51が取得したMPDデータおよびセグメントデータ等を格納してもよい。
〔サーバの処理〕
次に、図3に基づいて、サーバ1のコンテンツ送信処理について説明する。図3は、サーバ1のコンテンツ送信処理の一例を示すフローチャートである。
次に、図3に基づいて、サーバ1のコンテンツ送信処理について説明する。図3は、サーバ1のコンテンツ送信処理の一例を示すフローチャートである。
図3に示すように、サーバ1は、クライアント2からリクエストが送信されるのを待つ(S1、S4)。ここで、コンテンツ送信部22がクライアント2からコンテンツ管理情報(MPD)の送信を要求するリクエストを受信した場合(S1でYES)、コンテンツ送信部22は、コンテンツ取得部21に対して、受信したリクエストの示すコンテンツに対応付けられたMPDを取得するように指示する。
コンテンツ送信部22から指示を受けたコンテンツ取得部21は、サーバ通信部13を介して、MPD記憶装置4からMPDデータを取得する(S2)。コンテンツ取得部21は、取得したMPDデータをコンテンツ送信部22に出力する。そして、コンテンツ送信部22は、コンテンツ取得部21から取得したMPDデータを含むレスポンスをクライアント2に送信する(S3)。
また、コンテンツ送信部22がクライアント2からセグメントの送信を要求するリクエストを受信した場合(S4でYES)、コンテンツ送信部22は、コンテンツ取得部21に対して、受信したリクエストの示すセグメントを取得するように指示する。
コンテンツ送信部22から指示を受けたコンテンツ取得部21は、サーバ通信部13を介して、セグメント記憶装置5からセグメントデータを取得する(S5)。コンテンツ取得部21は、取得したセグメントデータをイベント情報付加部24に出力する。
イベント情報付加部24は、コンテンツ取得部21からセグメントデータを取得すると、処理量測定部23から通知された処理量が所定値以上であるか否かを判定する(S6)。処理量が所定値以上の場合(S6でYES)、イベント情報付加部24は、取得したセグメントデータにイベント情報を付加してコンテンツ送信部22に出力し、コンテンツ送信部22は、イベント情報付加部24から取得した、イベント情報が付加されたセグメントデータを含むレスポンスをクライアント2に送信する(S7)。一方、処理量が所定値未満の場合(S6でNO)、イベント情報付加部24は、取得したセグメントデータをそのままコンテンツ送信部22に出力し、コンテンツ送信部22は、イベント情報付加部24から取得したセグメントデータを含むレスポンスをクライアント2に送信する(S8)。
〔クライアントの処理〕
次に、図4に基づいて、クライアント2のコンテンツ取得処理について説明する。図4は、クライアント2のコンテンツ取得処理の一例を示すフローチャートである。ここでは、クライアント2が、まず、第1サーバ1aにリクエストを送信し、サーバ1を切り替える場合は第2サーバ1bに切り替えるものとする。
次に、図4に基づいて、クライアント2のコンテンツ取得処理について説明する。図4は、クライアント2のコンテンツ取得処理の一例を示すフローチャートである。ここでは、クライアント2が、まず、第1サーバ1aにリクエストを送信し、サーバ1を切り替える場合は第2サーバ1bに切り替えるものとする。
図4に示すように、まず、コンテンツ取得部51は、第1サーバ1aにコンテンツ管理情報(MPD)の送信を要求するリクエストを送信する(S11)。そして、コンテンツ取得部51は、このリクエストに対するレスポンスを受信し、レスポンスに含まれるMPDデータを取得する(S12)。
次に、コンテンツ取得部51は、受信したMPDデータを参照して、コンテンツを構成するセグメントの送信を要求するリクエストを第1サーバ1aに送信する(S13)。そして、コンテンツ取得部51は、このリクエストに対するレスポンスを受信し、レスポンスに含まれるセグメントデータを取得する(S14)。
ここで、コンテンツを構成するすべてのセグメントデータを受信していない場合(S15でNO)、切替判定部54は、コンテンツ解析部53からイベント情報を受信したか否か、すなわち、セグメントデータにイベント情報が付加されているか否かを判定する(S16)。セグメントデータにイベント情報が付加されている場合(S16でYES)、切替判定部54は、コンテンツ取得部51に対して、コンテンツの取得先のサーバ1を第2サーバ1bに変更するように指示する。指示を受けたコンテンツ取得部51は、次のセグメントの送信を要求するリクエストを第2サーバ1bに送信する(S17)。
一方、セグメントデータにイベント情報が付加されていない場合(S16でNO)、切替判定部54は、受信状況測定部52から通知された受信状況に基づいて、受信状況が良好か否かを判定する(S18)。受信状況が良好である場合(S18でYES)、コンテンツ取得部51は、次のセグメントの送信を要求するリクエストを第1サーバ1aに送信する(S19)。一方、受信状況が良好でない場合(S18でNO)、切替判定部54は、コンテンツ取得部51に対して、より低品質のセグメントを取得するように指示する。指示を受けたコンテンツ取得部51は、次のセグメントであって、低品質セグメントの送信を要求するリクエストを第1サーバ1aに送信する(S20)。
〔実施例1〕
次に、イベント情報をセグメントデータ本体にISOBFFで規定されるbox形式で付加し、そのイベント情報に基づいて、代替サーバへ切り替える具体的な実施例を図5および図6に基づいて説明する。図5は、イベント情報をセグメントデータ本体にISOBFFで規定されるbox形式で付加し、そのイベント情報に基づいて、代替サーバへ切り替える場合の動作シーケンスの一例を示す図である。また、図6は、イベント情報をセグメントデータ本体にISOBFFで規定されるbox形式で付加し、そのイベント情報に基づいて、代替サーバへ切り替える場合のHTTPメッセージの一例を示す図である。
次に、イベント情報をセグメントデータ本体にISOBFFで規定されるbox形式で付加し、そのイベント情報に基づいて、代替サーバへ切り替える具体的な実施例を図5および図6に基づいて説明する。図5は、イベント情報をセグメントデータ本体にISOBFFで規定されるbox形式で付加し、そのイベント情報に基づいて、代替サーバへ切り替える場合の動作シーケンスの一例を示す図である。また、図6は、イベント情報をセグメントデータ本体にISOBFFで規定されるbox形式で付加し、そのイベント情報に基づいて、代替サーバへ切り替える場合のHTTPメッセージの一例を示す図である。
ここでは、クライアント2が第1サーバ1aからコンテンツを取得中に、第1サーバ1aにリクエストが集中したため、第1サーバ1aが高負荷状態となり、クライアント2が第1サーバ1aから第2サーバ1bに切り替える場合を示す。
図5および図6に示すように、クライアント2のコンテンツ取得部51は、MPDデータを参照して、第Nセグメントの送信を要求するためのリクエストメッセージ71を第1サーバ1aに送信する。ここで、イベント情報付加部24aは、処理量測定部23aが測定した処理量に基づいて、第1サーバ1aが高負荷状態であることを検知する(処理72)。イベント情報付加部24aは、コンテンツ取得部21aがセグメント記憶装置5から取得したセグメントデータに、イベント情報をISOBFFで規定されるbox形式で付加して、コンテンツ送信部22aに出力する。そして、コンテンツ送信部22aは、リクエストメッセージ71の応答として、イベント情報が付加された第Nセグメントのデータ本体を含むレスポンスメッセージ73をクライアント2に送信する。
クライアント2のコンテンツ取得部51がレスポンスメッセージ73を受信して、セグメントデータを取得すると、コンテンツ解析部53がセグメントデータを解析する。コンテンツ解析部53は、セグメントデータを解析し、イベント情報を検出すると、イベント情報を抽出し、切替判定部54に出力する。切替判定部54は、イベント情報を受信したため、MPDデータを参照して、第1サーバ1aと異なる代替サーバの検索を実行する(処理74)。ここでは、切替判定部54は、MPDデータに第2サーバ1bが記載されているため、代替サーバを第2サーバ1bに決定し、コンテンツ取得部51に対して、コンテンツの取得先を第2サーバ1bに変更するように指示する。
指示を受けたコンテンツ取得部51は、MPDデータを参照して、第2サーバ1bに第(N+1)セグメントの送信を要求するためのリクエストメッセージ75を第2サーバ1aに送信する。そして、第2サーバ1bのコンテンツ送信部22bは、リクエストメッセージ75の応答として、第(N+1)セグメントのデータ本体を含むレスポンスメッセージ76をクライアント2に送信する。
(セグメントデータのデータ構造)
ここで、イベント情報がISOBFFで規定されるbox形式で付加されたセグメントデータのデータ構造について説明する。
ここで、イベント情報がISOBFFで規定されるbox形式で付加されたセグメントデータのデータ構造について説明する。
まず、従来の基本的なセグメントデータのデータ構造について図7に基づいて説明する。図7は、従来のセグメントデータのデータ構造を示す図である。図7に示すように、従来のセグメントデータ80は、1つのstyp(Segment Type Box)81、1つのsidx(Segment Index Box)82、並びに、moof(Movie Fragment Box)83およびmdat(Media Data Box)84の1つまたは複数の組から構成される。
styp81は、セグメントの種別および/またはバージョン情報等を示す情報である。sidx82は、セグメント内のランダムアクセスポイントに関する情報である。moof83およびmdat84は、セグメントを構成するフラグメントに関する情報である。
次に、イベント情報が付加されたセグメントデータのデータ構造について図8に基づいて説明する。図8は、イベント情報が付加されたセグメントデータのデータ構造を示す図である。図8に示すように、イベント情報が付加されたセグメントデータ85は、従来の構成に加えて、1つのsswi(Server Switching Box)86を備える。
sswi86は、サーバ切替指示情報または負荷状態情報を含むイベント情報である。sswi86は、styp81の直後に配置されているが、sidx82の直後や、イベントが発生した時刻に対応するmoof83およびmdat84の直前、または直後に配置してもよい。
また、sswi86のシンタックスおよびセマンティクスの一例を図9および図10に基づいて説明する。図9は、(a)がsswi86のシンタックスの一例を示す図であり、(b)がstyp81のシンタックスの一例を示す図である。図10は、sswi86のセマンティクスの一例を示す図である。
図9の(a)に示すように、sswi86には、「exec_type」、「alt_server_location_flag」、「reserved」および「alt_server_location」が規定されている。「exec_type」は、3ビットのフラグであり、サーバ切替指示情報または負荷状態情報である。また、「alt_server_location_flag」は、1ビットのフラグであり、代替サーバ情報の有無を示すものである。また、「alt_server_location」は、代替サーバのURL等の文字列が記述されるものである。つまり、「alt_server_location_flag」および「alt_server_location」は、代替サーバ情報である。
具体的に、図10に示すように、「exec_type」がサーバ切替指示情報の場合、「exec_type」の値が‘000(2進表記)’であれば、現在のリクエストを中断し、即座にサーバ1の切り替えを指示することを示す。また、値が‘001’であれば、次のセグメントのリクエストからのサーバ1の切り替えを指示することを示す。また、値が‘010’であれば、次のピリオドのリクエストからのサーバ1の切り替えを指示することを示す。
また、「alt_server_location_flag」の値が‘0’の場合、イベント情報(sswi86)が代替サーバのURLを含まないこと(代替サーバ情報を含まないこと)を示す。また、値が‘1’の場合、イベント情報(sswi86)が代替サーバのURLを含むことを示す。
あるいは、図9の(b)に示すように、styp81のcompatible_brandsフィールドにcompatible brandの1つとして‘sswi’を記述することによって、サーバの切替を指示、または高負荷状態を通知してもよい。
このように、イベント情報をセグメントデータ本体に付加する場合、HTTPヘッダ等を無視するプロキシ等を経由した場合であっても、途中でイベント情報が失われることがないため、クライアントへ確実にイベントを通知することができる。
また、MPEG−DASHでは、1つのコンテンツに対して品質種別が異なる複数のRepresentationが準備されるが、必ずしもすべてのRepresentationにイベント情報を付加するとは限らない。そのため、イベント情報をセグメントデータ本体に付加する可能性がある場合には、事前にMPDでイベント情報の存在を通知するようにしてもよい。
図23は、イベント情報の存在の通知を含むMPDの記述例を示す図である。図23に示すように、Representation要素内にイベント情報の存在を示すEventInfo要素が記述されている。EventInfo要素は、イベントリストを識別するためのschemeIdUri属性と、セグメントデータ本体に付加されるイベントの内容を識別するためのvalue属性を含む。
図24は、schemeIdUri=”urn:mpeg:dash:event:2012”で定義されるイベントリストを示す図である。value=”1”の場合、サーバ切替指示を示すイベント情報がRepresentationに存在することを示す。なお、イベントを追加する場合には、イベントリストにvalueの値とイベントの内容を新たに定義すればよい。
図23の記述例では、ビットレートが1024kbpsのRepresentationには、EventInfo要素が記述されているため、サーバ切替指示を示すイベント情報が付加される可能性があることを示している。一方、ビットレートが512kbpsのRepresentationには、EventInfo要素が記述されていないため、サーバ切替指示を示すイベント情報が付加される可能性がないことを示している。
〔実施例2〕
次に、セグメントデータ本体を送信するHTTPレスポンスメッセージのHTTPヘッダにイベント情報を記述し、そのイベント情報に基づいて、代替サーバへ切り替える具体的な実施例を図11および図12に基づいて説明する。図11は、セグメントデータ本体を送信するHTTPレスポンスメッセージのHTTPヘッダにイベント情報を記述し、そのイベント情報に基づいて、代替サーバへ切り替える場合の動作シーケンスの一例を示す図である。また、図12は、セグメントデータ本体を送信するHTTPレスポンスメッセージのHTTPヘッダにイベント情報を記述し、そのイベント情報に基づいて、代替サーバへ切り替える場合のHTTPメッセージの一例を示す図である。
次に、セグメントデータ本体を送信するHTTPレスポンスメッセージのHTTPヘッダにイベント情報を記述し、そのイベント情報に基づいて、代替サーバへ切り替える具体的な実施例を図11および図12に基づいて説明する。図11は、セグメントデータ本体を送信するHTTPレスポンスメッセージのHTTPヘッダにイベント情報を記述し、そのイベント情報に基づいて、代替サーバへ切り替える場合の動作シーケンスの一例を示す図である。また、図12は、セグメントデータ本体を送信するHTTPレスポンスメッセージのHTTPヘッダにイベント情報を記述し、そのイベント情報に基づいて、代替サーバへ切り替える場合のHTTPメッセージの一例を示す図である。
ここでは、クライアント2が第1サーバ1aからコンテンツを取得中に、第1サーバ1aにリクエストが集中したため、第1サーバ1aが高負荷状態となり、クライアント2が第1サーバ1aから第2サーバ1bに切り替える場合を示す。
図11および図12に示すように、クライアント2のコンテンツ取得部51は、MPDデータを参照して、第Nセグメントの送信を要求するためのリクエストメッセージ91を第1サーバ1aに送信する。ここで、イベント情報付加部24aは、処理量測定部23aが測定した処理量に基づいて、第1サーバ1aが高負荷状態であることを検知する(処理92)。イベント情報付加部24aは、コンテンツ取得部21aがセグメント記憶装置5から取得したセグメントデータ本体を送信するHTTPレスポンスメッセージのHTTPヘッダにイベント情報を記述するようにコンテンツ送信部22aに指示する。そして、コンテンツ送信部22aは、セグメント本体を送信するHTTPレスポンスメッセージのContent-TypeヘッダにMIME Type(メディアタイプ)のパラメータとしてイベント情報を付加する。そして、コンテンツ送信部22aは、リクエストメッセージ71の応答として、第Nセグメントのデータ本体を含み、HTTPヘッダにイベント情報が付加されたレスポンスメッセージ93をクライアント2に送信する。
クライアント2のコンテンツ取得部51がレスポンスメッセージ93を受信して、セグメントデータを取得すると、コンテンツ解析部53がレスポンスメッセージ93を解析する。コンテンツ解析部53は、レスポンスメッセージ93を解析し、HTTPヘッダからイベント情報を検出すると、イベント情報を抽出し、切替判定部54に出力する。切替判定部54は、イベント情報を受信したため、MPDデータを参照して、第1サーバ1aと異なる代替サーバの検索を実行する(処理94)。ここでは、切替判定部54は、MPDデータに第2サーバ1bが記載されているため、代替サーバを第2サーバ1bに決定し、コンテンツ取得部51に対して、コンテンツの取得先を第2サーバ1bに変更するように指示する。
指示を受けたコンテンツ取得部51は、MPDデータを参照して、第2サーバ1bに第(N+1)セグメントの送信を要求するためのリクエストメッセージ95を第2サーバ1aに送信する。そして、第2サーバ1bのコンテンツ送信部22bは、リクエストメッセージ95の応答として、第(N+1)セグメントのデータ本体を含むレスポンスメッセージ96をクライアント2に送信する。
なお、変形例として、レスポンスメッセージ93の代わりに、HTTPヘッダに代替サーバのURLが追記された、図13に示すレスポンスメッセージ97を送信してもよい。
また、レスポンスメッセージ93の代わりに、ヘッダにサーバ切替タイミングが追記された、図13に示すレスポンスメッセージ98を送信してもよい。レスポンスメッセージ98では、「exec=next_segment」と記述されており、これは次のセグメントからサーバを切り替えることを示す。「exec」の値に「immediate」が記述されている場合は、サーバを即座に切り替えることを示し、「next_period」が記述されている場合は、次のピリオドから切り替えることを示す。
また、レスポンスメッセージ93の代わりに、HTTP拡張ヘッダを利用してイベント情報を記述した、図13に示すレスポンスメッセージ99を送信してもよい。
このように、イベント情報をレスポンスメッセージのHTTPヘッダに付加する場合、サーバで複数のRepresentationを準備する場合であっても、Representation毎にイベント情報を付加したセグメントを生成する必要が無くなる。換言すると、イベント情報付加に伴う追加処理がRepresentationの数に依存しない。
〔補足〕
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
最後に、サーバ1およびクライアント2の各ブロック、特にサーバ制御部11およびクライアント制御部41は、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。
すなわち、サーバ1およびクライアント2は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアであるサーバ1およびクライアント2の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記サーバ1およびクライアント2に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM(登録商標)/フラッシュROM等の半導体メモリ系などを用いることができる。
また、サーバ1およびクライアント2を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
本発明は、MPEG−DASH規格のコンテンツを送信するコンテンツ送信装置、および、当該コンテンツを取得・再生するコンテンツ再生装置に利用することができる
1 サーバ
2 クライアント
3 プロキシ
4 MPD記憶装置
5 セグメント記憶装置
6 コンテンツ配信システム
21 コンテンツ取得部
22 コンテンツ送信部(送信手段)
23 処理量測定部(処理量測定手段)
24 イベント情報付加部(情報生成手段)
51 コンテンツ取得部(取得手段)
52 受信状況測定部
53 コンテンツ解析部
54 切替判定部
55 コンテンツ再生部
2 クライアント
3 プロキシ
4 MPD記憶装置
5 セグメント記憶装置
6 コンテンツ配信システム
21 コンテンツ取得部
22 コンテンツ送信部(送信手段)
23 処理量測定部(処理量測定手段)
24 イベント情報付加部(情報生成手段)
51 コンテンツ取得部(取得手段)
52 受信状況測定部
53 コンテンツ解析部
54 切替判定部
55 コンテンツ再生部
Claims (26)
- 複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ再生装置に送信するコンテンツ送信装置であって、
上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信手段と、
上記コンテンツ送信装置の処理量を測定する処理量測定手段と、
上記処理量測定手段が測定した直近の処理量が所定値以上の場合、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を生成する情報生成手段と、を備え、
上記送信手段は、上記情報生成手段が取得先切替指示情報を生成した場合、上記セグメントと共に、上記情報生成手段が生成した取得先切替指示情報を送信することを特徴とするコンテンツ送信装置。 - 上記情報生成手段は、上記取得先切替指示情報を、上記セグメントのヘッダ部分に付加することを特徴とする請求項1に記載のコンテンツ送信装置。
- 上記情報生成手段は、上記取得先切替指示情報を、上記レスポンスのヘッダに付加することを特徴とする請求項1に記載のコンテンツ送信装置。
- 上記情報生成手段は、上記処理量測定手段が測定した直近の処理量が所定値以上の場合、当該処理量に応じて、コンテンツの取得先を他のコンテンツ送信装置に切り替えるタイミングを指示する取得先切替指示情報を生成することを特徴とする請求項1〜3の何れか1項に記載のコンテンツ送信装置。
- 複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ再生装置に送信するコンテンツ送信装置であって、
上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信手段と、
上記コンテンツ送信装置の処理量を測定する処理量測定手段と、
上記処理量測定手段が測定した処理量が所定値以上の場合、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を生成する情報生成手段と、を備え、
上記送信手段は、上記セグメントと共に、上記情報生成手段が生成した直近の負荷状態情報を送信することを特徴とするコンテンツ送信装置。 - 上記情報生成手段は、上記負荷状態情報を、上記セグメントのヘッダ部分に付加することを特徴とする請求項5に記載のコンテンツ送信装置。
- 上記情報生成手段は、上記負荷状態情報を、上記レスポンスのヘッダに付加することを特徴とする請求項5に記載のコンテンツ送信装置。
- 上記情報生成手段は、上記処理量測定手段が測定した処理量が所定値以上の場合、当該処理量に応じて、上記コンテンツ送信装置の高負荷状態の程度を示す負荷状態情報を生成することを特徴とする請求項5〜7の何れか1項に記載のコンテンツ送信装置。
- 複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ送信装置から取得して再生するコンテンツ再生装置であって、
上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得手段を備え、
上記取得手段は、上記セグメントと共に、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴とするコンテンツ再生装置。 - 上記取得手段は、上記取得先切替指示情報が上記セグメントのヘッダ部分に付加されている場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴とする請求項9に記載のコンテンツ再生装置。
- 上記取得手段は、上記取得先切替指示情報が上記レスポンスのヘッダに付加されている場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴とする請求項9に記載のコンテンツ再生装置。
- 上記取得手段は、上記取得先切替指示情報がコンテンツの取得先を他のコンテンツ送信装置に切り替えるタイミングを指示する場合、指示されたタイミングで他のコンテンツ送信装置に対して上記リクエストを送信することを特徴とする請求項9〜11の何れか1項に記載のコンテンツ再生装置。
- 複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ送信装置から取得して再生するコンテンツ再生装置であって、
上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得手段を備え、
上記取得手段は、上記セグメントと共に、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴とするコンテンツ再生装置。 - 上記取得手段は、上記負荷状態情報が上記セグメントのヘッダ部分に付加されている場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴とする請求項13に記載のコンテンツ再生装置。
- 上記取得手段は、上記負荷状態情報が上記レスポンスのヘッダに付加されている場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴とする請求項13に記載のコンテンツ再生装置。
- 上記取得手段は、上記負荷状態情報が上記コンテンツ送信装置の高負荷状態の程度を示す場合、その程度に応じた所定のタイミングで他のコンテンツ送信装置に対して上記リクエストを送信することを特徴とする請求項13〜15の何れか1項に記載のコンテンツ再生装置。
- 請求項1〜8の何れか1項に記載のコンテンツ送信装置と、
請求項9〜16の何れか1項に記載のコンテンツ再生装置とを含むコンテンツ配信システム。 - 複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ再生装置に送信するコンテンツ送信装置の制御方法であって、
上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信ステップと、
上記コンテンツ送信装置の処理量を測定する処理量測定ステップと、
上記処理量測定ステップにおいて測定された直近の処理量が所定値以上の場合、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を生成する情報生成ステップと、を含み、
上記送信ステップは、上記情報生成ステップにおいて取得先切替指示情報を生成した場合、上記セグメントと共に、当該情報生成ステップにおいて生成された取得先切替指示情報を送信することを特徴とするコンテンツ送信装置の制御方法。 - 複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ再生装置に送信するコンテンツ送信装置の制御方法であって、
上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信ステップと、
上記コンテンツ送信装置の処理量を測定する処理量測定ステップと、
上記処理量測定ステップにおいて測定された処理量が所定値以上の場合、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を生成する情報生成ステップと、を含み、
上記送信ステップは、上記セグメントと共に、上記情報生成ステップにおいて生成された直近の負荷状態情報を送信することを特徴とするコンテンツ送信装置の制御方法。 - 複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ送信装置から取得して再生するコンテンツ再生装置の制御方法であって、
上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得ステップを含み、
上記取得ステップは、上記セグメントと共に、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴とするコンテンツ再生装置の制御方法。 - 複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ送信装置から取得して再生するコンテンツ再生装置の制御方法であって、
上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得ステップを含み、
上記取得ステップは、上記セグメントと共に、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴とするコンテンツ再生装置の制御方法。 - コンテンツ再生装置がコンテンツ送信装置から取得するコンテンツを構成する複数のセグメントのデータ構造であって、
上記セグメントのヘッダ部分に、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報、または、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を含むことを特徴とするセグメントのデータ構造。 - コンテンツ再生装置がコンテンツ送信装置に対してコンテンツを構成する各セグメントの送信を要求するリクエストに対する応答である、当該コンテンツ再生装置が取得した、当該セグメントを含むレスポンスのデータ構造であって、
上記レスポンスのヘッダに、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報、または、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を含むことを特徴とするレスポンスのデータ構造。 - 請求項1〜8の何れか1項に記載のコンテンツ送信装置を動作させるための制御プログラムであって、コンピュータを上記各手段として機能させるための制御プログラム。
- 請求項9〜16の何れか1項に記載のコンテンツ再生装置を動作させるための制御プログラムであって、コンピュータを上記各手段として機能させるための制御プログラム。
- 請求項24および25の少なくとも1項に記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012155076 | 2012-07-10 | ||
JP2012155076 | 2012-07-10 | ||
JP2012224169 | 2012-10-09 | ||
JP2012224169 | 2012-10-09 | ||
PCT/JP2013/067983 WO2014010444A1 (ja) | 2012-07-10 | 2013-07-01 | コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2014010444A1 true JPWO2014010444A1 (ja) | 2016-06-23 |
Family
ID=49915908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014524738A Pending JPWO2014010444A1 (ja) | 2012-07-10 | 2013-07-01 | コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20150172762A1 (ja) |
JP (1) | JPWO2014010444A1 (ja) |
CN (1) | CN104429090A (ja) |
WO (1) | WO2014010444A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2558086B (en) | 2014-03-25 | 2019-02-20 | Canon Kk | Methods, devices, and computer programs for improving streaming of partitioned timed media data |
CN106464985B (zh) * | 2015-04-30 | 2019-04-12 | 华为技术有限公司 | 一种媒体流传输方法及装置 |
KR20180109890A (ko) * | 2016-02-12 | 2018-10-08 | 소니 주식회사 | 정보 처리 장치 및 정보 처리 방법 |
CN108668179B (zh) * | 2017-03-27 | 2021-05-14 | 华为技术有限公司 | 媒体索引文件的传输方法及相关设备 |
US10587669B2 (en) * | 2017-12-20 | 2020-03-10 | Facebook, Inc. | Visual quality metrics |
JP2020080460A (ja) * | 2018-11-12 | 2020-05-28 | 日本電信電話株式会社 | システム制御装置、システム制御方法、及びプログラム |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11187340A (ja) * | 1997-12-22 | 1999-07-09 | Hitachi Ltd | 分散型ストリーム処理システム |
JP4398843B2 (ja) * | 2004-10-13 | 2010-01-13 | 日本放送協会 | 配信サーバ及び配信プログラム |
JP2009260569A (ja) * | 2008-04-15 | 2009-11-05 | Canon Inc | データ配信システム及びデータ配信方法 |
US8819260B2 (en) * | 2008-10-15 | 2014-08-26 | Aster Risk Management Llc | Random server selection for retrieving fragments under changing network conditions |
WO2012011490A1 (ja) * | 2010-07-20 | 2012-01-26 | シャープ株式会社 | コンテンツ取得装置、コンテンツ送信装置、コンテンツ送受信システム、データ構造、制御方法、制御プログラム、及び記録媒体 |
US8589996B2 (en) * | 2011-03-16 | 2013-11-19 | Azuki Systems, Inc. | Method and system for federated over-the-top content delivery |
KR20120119790A (ko) * | 2011-04-22 | 2012-10-31 | 삼성전자주식회사 | 미디어 데이터 전송 방법 및 장치와 미디어 데이터 수신 방법 및 장치 |
CN102291447B (zh) * | 2011-08-05 | 2016-04-06 | 中国电信股份有限公司 | 内容分发网络负载调度方法和系统 |
-
2013
- 2013-07-01 WO PCT/JP2013/067983 patent/WO2014010444A1/ja active Application Filing
- 2013-07-01 CN CN201380035385.9A patent/CN104429090A/zh active Pending
- 2013-07-01 JP JP2014524738A patent/JPWO2014010444A1/ja active Pending
- 2013-07-01 US US14/413,068 patent/US20150172762A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
WO2014010444A1 (ja) | 2014-01-16 |
US20150172762A1 (en) | 2015-06-18 |
CN104429090A (zh) | 2015-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11006168B2 (en) | Synchronizing internet (“over the top”) video streams for simultaneous feedback | |
US11627176B2 (en) | Method for dynamically managing content delivery | |
US11537562B2 (en) | Auxiliary manifest file to provide timed metadata | |
US10009659B2 (en) | System and method for hybrid push-based streaming | |
KR102547539B1 (ko) | 실시간 적응적 비트레이트 트랜스코딩 및 트랜스코딩된 미디어의 송신을 위한 시스템들 및 방법들 | |
EP2646936B1 (en) | Real-time or near real-time streaming | |
US9344517B2 (en) | Downloading and adaptive streaming of multimedia content to a device with cache assist | |
US8850054B2 (en) | Hypertext transfer protocol live streaming | |
JP5917508B2 (ja) | 休止された再生をプラットフォーム全体にわたって同期化する方法および装置 | |
JP5889311B2 (ja) | ストリーミングの適応制御における方法及び装置 | |
JP2018186524A (ja) | コンテンツ送信装置およびコンテンツ再生装置 | |
WO2014010444A1 (ja) | コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体 | |
US20120278728A1 (en) | Download monitoring in a media distribution system | |
US20120282951A1 (en) | Anchoring and sharing locations and enjoyment experience information on a presentation timeline for multimedia content streamed over a network | |
TW201618517A (zh) | 藉由媒體播放器裝置在媒體串流中伺服器端通信期控制 | |
US20170359607A1 (en) | Distributed and synchronized media switching | |
US20130198342A1 (en) | Media format negotiation mechanism delivering client device media capabilities to a server | |
WO2021143360A1 (zh) | 资源传输方法及计算机设备 | |
JP2014017741A (ja) | コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、制御プログラムおよび記録媒体 | |
KR20170141677A (ko) | 수신 장치, 송신 장치 및 데이터 처리 방법 | |
JP2022545623A (ja) | ビデオプレイバックにおける予測ベースドロップフレームハンドリング論理 | |
CN115136609A (zh) | 远程元素解析的基于客户端的存储 | |
WO2014010445A1 (ja) | コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体 | |
WO2011123821A1 (en) | Real-time or near real-time streaming | |
JP2006331199A (ja) | サービス決定装置及びサービス決定方法 |