(57)【要約】  ＭＰＥＧ−ＤＡＳＨ規格のコンテンツをクライアント（２）に送信するサーバ（１）は、サーバ（１）の処理量を測定する処理量測定部（２３）と、処理量が所定値以上の場合、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を生成するイベント情報付加部（２４）と、セグメントデータと共に、取得先切替指示情報を送信するコンテンツ送信部（２２）とを備える。これにより、リアルタイムで最適な適応ストリーミングを実行する。
2014010444.tif 000002
【特許請求の範囲】
【請求項１】
複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ再生装置に送信するコンテンツ送信装置であって、
上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信手段と、
上記コンテンツ送信装置の処理量を測定する処理量測定手段と、
上記処理量測定手段が測定した直近の処理量が所定値以上の場合、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を生成する情報生成手段と、を備え、
上記送信手段は、上記情報生成手段が取得先切替指示情報を生成した場合、上記セグメントと共に、上記情報生成手段が生成した取得先切替指示情報を送信することを特徴とするコンテンツ送信装置。
【請求項２】
上記情報生成手段は、上記取得先切替指示情報を、上記セグメントのヘッダ部分に付加することを特徴とする請求項１に記載のコンテンツ送信装置。
【請求項３】
上記情報生成手段は、上記取得先切替指示情報を、上記レスポンスのヘッダに付加することを特徴とする請求項１に記載のコンテンツ送信装置。
【請求項４】
上記情報生成手段は、上記処理量測定手段が測定した直近の処理量が所定値以上の場合、当該処理量に応じて、コンテンツの取得先を他のコンテンツ送信装置に切り替えるタイミングを指示する取得先切替指示情報を生成することを特徴とする請求項１〜３の何れか１項に記載のコンテンツ送信装置。
【請求項５】
複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ再生装置に送信するコンテンツ送信装置であって、
上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信手段と、
上記コンテンツ送信装置の処理量を測定する処理量測定手段と、
上記処理量測定手段が測定した処理量が所定値以上の場合、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を生成する情報生成手段と、を備え、
上記送信手段は、上記セグメントと共に、上記情報生成手段が生成した直近の負荷状態情報を送信することを特徴とするコンテンツ送信装置。
【請求項６】
上記情報生成手段は、上記負荷状態情報を、上記セグメントのヘッダ部分に付加することを特徴とする請求項５に記載のコンテンツ送信装置。
【請求項７】
上記情報生成手段は、上記負荷状態情報を、上記レスポンスのヘッダに付加することを特徴とする請求項５に記載のコンテンツ送信装置。
【請求項８】
上記情報生成手段は、上記処理量測定手段が測定した処理量が所定値以上の場合、当該処理量に応じて、上記コンテンツ送信装置の高負荷状態の程度を示す負荷状態情報を生成することを特徴とする請求項５〜７の何れか１項に記載のコンテンツ送信装置。
【請求項９】
複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ送信装置から取得して再生するコンテンツ再生装置であって、
上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得手段を備え、
上記取得手段は、上記セグメントと共に、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴とするコンテンツ再生装置。
【請求項１０】
上記取得手段は、上記取得先切替指示情報が上記セグメントのヘッダ部分に付加されている場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴とする請求項９に記載のコンテンツ再生装置。
【請求項１１】
上記取得手段は、上記取得先切替指示情報が上記レスポンスのヘッダに付加されている場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴とする請求項９に記載のコンテンツ再生装置。
【請求項１２】
上記取得手段は、上記取得先切替指示情報がコンテンツの取得先を他のコンテンツ送信装置に切り替えるタイミングを指示する場合、指示されたタイミングで他のコンテンツ送信装置に対して上記リクエストを送信することを特徴とする請求項９〜１１の何れか１項に記載のコンテンツ再生装置。
【請求項１３】
複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ送信装置から取得して再生するコンテンツ再生装置であって、
上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得手段を備え、
上記取得手段は、上記セグメントと共に、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴とするコンテンツ再生装置。
【請求項１４】
上記取得手段は、上記負荷状態情報が上記セグメントのヘッダ部分に付加されている場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴とする請求項１３に記載のコンテンツ再生装置。
【請求項１５】
上記取得手段は、上記負荷状態情報が上記レスポンスのヘッダに付加されている場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴とする請求項１３に記載のコンテンツ再生装置。
【請求項１６】
上記取得手段は、上記負荷状態情報が上記コンテンツ送信装置の高負荷状態の程度を示す場合、その程度に応じた所定のタイミングで他のコンテンツ送信装置に対して上記リクエストを送信することを特徴とする請求項１３〜１５の何れか１項に記載のコンテンツ再生装置。
【請求項１７】
請求項１〜８の何れか１項に記載のコンテンツ送信装置と、
請求項９〜１６の何れか１項に記載のコンテンツ再生装置とを含むコンテンツ配信システム。
【請求項１８】
複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ再生装置に送信するコンテンツ送信装置の制御方法であって、
上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信ステップと、
上記コンテンツ送信装置の処理量を測定する処理量測定ステップと、
上記処理量測定ステップにおいて測定された直近の処理量が所定値以上の場合、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を生成する情報生成ステップと、を含み、
上記送信ステップは、上記情報生成ステップにおいて取得先切替指示情報を生成した場合、上記セグメントと共に、当該情報生成ステップにおいて生成された取得先切替指示情報を送信することを特徴とするコンテンツ送信装置の制御方法。
【請求項１９】
複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ再生装置に送信するコンテンツ送信装置の制御方法であって、
上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信ステップと、
上記コンテンツ送信装置の処理量を測定する処理量測定ステップと、
上記処理量測定ステップにおいて測定された処理量が所定値以上の場合、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を生成する情報生成ステップと、を含み、
上記送信ステップは、上記セグメントと共に、上記情報生成ステップにおいて生成された直近の負荷状態情報を送信することを特徴とするコンテンツ送信装置の制御方法。
【請求項２０】
複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ送信装置から取得して再生するコンテンツ再生装置の制御方法であって、
上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得ステップを含み、
上記取得ステップは、上記セグメントと共に、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴とするコンテンツ再生装置の制御方法。
【請求項２１】
複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ送信装置から取得して再生するコンテンツ再生装置の制御方法であって、
上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得ステップを含み、
上記取得ステップは、上記セグメントと共に、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴とするコンテンツ再生装置の制御方法。
【請求項２２】
コンテンツ再生装置がコンテンツ送信装置から取得するコンテンツを構成する複数のセグメントのデータ構造であって、
上記セグメントのヘッダ部分に、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報、または、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を含むことを特徴とするセグメントのデータ構造。
【請求項２３】
コンテンツ再生装置がコンテンツ送信装置に対してコンテンツを構成する各セグメントの送信を要求するリクエストに対する応答である、当該コンテンツ再生装置が取得した、当該セグメントを含むレスポンスのデータ構造であって、
上記レスポンスのヘッダに、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報、または、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を含むことを特徴とするレスポンスのデータ構造。
【請求項２４】
請求項１〜８の何れか１項に記載のコンテンツ送信装置を動作させるための制御プログラムであって、コンピュータを上記各手段として機能させるための制御プログラム。
【請求項２５】
請求項９〜１６の何れか１項に記載のコンテンツ再生装置を動作させるための制御プログラムであって、コンピュータを上記各手段として機能させるための制御プログラム。
【請求項２６】
請求項２４および２５の少なくとも１項に記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツを送信するコンテンツ送信装置、コンテンツを取得・再生するコンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体に関するものである。
【背景技術】
【０００２】
インターネットの普及やコンピュータの高性能化に伴い、インターネットを介して動画像などの大容量コンテンツを配信することが広く行われている。例えば、ユーザの要求に応じて動画等のコンテンツを提供するＶＯＤ（Video On Demand）というサービスがある。ＶＯＤでは、例えば、特許文献１に記載されているように、ＨＴＴＰ（HyperText Transfer Protocol）を用いて、サーバ（コンテンツ提供装置）とクライアント（コンテンツ再生装置）との間でデータを送受信する。【０００３】
ここで、ＨＴＴＰによるコンテンツの配信に関して、様々な技術が開発されている。例えば、ＭＰＥＧ（Motion Picture Experts Group）は、ＨＴＴＰを利用した適応ストリーミング技術をＭＰＥＧ−ＤＡＳＨ（Dynamic Adaptive Streaming over HTTP）規格として国際標準化を進めている。【０００４】
ＭＰＥＧ−ＤＡＳＨでは、コンテンツは、複数のセグメント（segment）に時分割され、セグメント単位で伝送される。また、各セグメントは、１または複数のフラグメント（fragment）で構成される。また、コンテンツは、１または複数のピリオド（period）で構成されており、１つのピリオドに１または複数のセグメントが含まれる。【０００５】
また、ＭＰＥＧ−ＤＡＳＨでは、１つのコンテンツに対して品質種別（ビットレート、画像解像度等の再生品質や、データフォーマット等の種別）が異なる複数のRepresentationが準備される。例えば、セグメント毎に異なるビットレートで符号化した複数のセグメントデータを準備する。これにより、コンテンツを受信して再生するクライアントは、コンテンツの受信状況等に応じて、要求するコンテンツ（セグメント）のビットレートを変えることにより、適応ストリーミングを実行することができる。【０００６】
また、ＭＰＥＧ−ＤＡＳＨでは、内容および品質種別が同一のコンテンツ（セグメント）を複数のサーバにより提供してもよい。これにより、クライアントは、コンテンツの受信状況等に応じてコンテンツの取得先を切り替えることが可能になる。【０００７】
例えば、図１４に示すように、第１サーバ１０１および第２サーバ１０２が、ネットワークを介して、コンテンツのデータ本体であるセグメントデータを格納するセグメント記憶装置１０６、コンテンツの管理情報であるＭＰＤデータ（詳細は後述）を格納するＭＰＤ記憶装置１０５からそれぞれセグメントデータおよびＭＰＤデータを取得するとする。この場合、クライアント１０３は、コンテンツの受信状況等に応じて、コンテンツの要求先を第１サーバ１０１または第２サーバ１０２に切り替えることができる。なお、第１サーバ１０１および第２サーバ１０２は、それぞれ、ローカルでセグメントデータおよびＭＰＤデータを保持していてもよい。【０００８】
また、ＭＰＥＧ−ＤＡＳＨでは、コンテンツにＭＰＤ（Media Presentation Description）が対応付けられており、ＭＰＤによってコンテンツを管理する。ＭＰＤは、コンテンツのメタデータであって、コンテンツの管理情報をＸＭＬ形式で記述したものである。換言すると、ＭＰＤは、クライアントがコンテンツの取得・再生時に利用する情報である。【０００９】
ＭＰＤの具体的な記述例を図１５に基づいて説明する。図１５は、ＭＰＤの記述例を示す図である。図１５に示すように、ＭＰＤ２００には、コンテンツの取得先を示す取得先情報２０１が記述されている。より具体的には、図１５に示す例では、取得先情報２０１として、サーバのＵＲＬが記述されている。また、ここでは、２つのサーバ（ｃｄｎ１およびｃｄｎ２）のＵＲＬが記述されており、上述のように、クライアントは、ＭＰＤ２００を参照することにより、コンテンツの取得先を選択可能である。【００１０】
また、ここでは、コンテンツとして、ビットレートが1024kbpsの高品質Representationと、ビットレートが512kbpsの低品質Representationが用意されているものとする。そのため、ＭＰＤ２００には、或るピリオド（再生時刻０秒から６００秒まで）に含まれるセグメントとして、高品質セグメントを示す高品質セグメント情報２０２と、低品質セグメントを示す低品質セグメント情報２０３とが記述されている。高品質セグメント情報２０２には、当該ピリオドに含まれる高品質RepresentationのＩＤおよびビットレートが記述されている。また、当該ピリオドに含まれる各セグメントの長さおよびＵＲＬが記述されている。また、低品質セグメント情報２０３も同様である。なお、当該ピリオドは、第１セグメント〜第６０セグメントの６０個のセグメントで構成されている。【００１１】
次に、コンテンツの受信状況に基づいてサーバを切り替える場合の動作シーケンスおよびＨＴＴＰメッセージについて図１６および図１７に基づいて説明する。図１６は、コンテンツの受信状況に基づいてサーバを切り替える場合の動作シーケンスの一例を示す図である。また、図１７は、コンテンツの受信状況に基づいてサーバを切り替える場合のＨＴＴＰメッセージの一例を示す図である。【００１２】
ここでは、図１４に示すように、第１サーバ１０１および第２サーバ１０２が、セグメント記憶装置１０６およびＭＰＤ記憶装置１０５からそれぞれセグメントデータおよびＭＰＤデータを取得し、クライアント１０３は、コンテンツの要求先を第１サーバ（ｃｄｎ１）１０１または第２サーバ（ｃｄｎ２）１０２に切り替えることができるものとする。また、図１５に示すＭＰＤ２００がコンテンツに対応付けられているものとする。【００１３】
図１６および図１７に示すように、まず、クライアント１０３は、ＭＰＤ２００を参照して、第Ｎセグメントの送信を要求するためのリクエストメッセージ３０１を第１サーバ１０１に送信する。第１サーバ１０１は、リクエストメッセージ３０１の応答として、第Ｎセグメントのデータ本体を含むレスポンスメッセージ３０２をクライアント１０３に送信する。【００１４】
ここで、クライアント１０３は、第Ｎセグメントを受信した際に受信状況の悪化を検出すると（処理３０３）、ＭＰＤ２００を参照して、代替サーバの検索を行う（処理３０４）。ここでは、ＭＰＤ２００に第２サーバ１０２が記述されているため、クライアント１０３は、ＭＰＤ２００を参照して、第２サーバ１０２に次の第（Ｎ＋１）セグメントの送信を要求するためのリクエストメッセージ３０５を第２サーバ１０２に送信する。第２サーバ１０２は、リクエストメッセージ３０５の応答として、第（Ｎ＋１）セグメントのデータ本体を含むレスポンスメッセージ３０６をクライアント１０３に送信する。【００１５】
次に、コンテンツの受信状況に基づいて取得するコンテンツの品質種別を切り替える場合（取得するRepresentationを切り替える場合）の動作シーケンスおよびＨＴＴＰメッセージについて図１８および図１９に基づいて説明する。図１８は、コンテンツの受信状況に基づいて取得するコンテンツの品質種別を切り替える場合の動作シーケンスの一例を示す図である。また、図１９は、コンテンツの受信状況に基づいて取得するコンテンツの品質種別を切り替える場合のＨＴＴＰメッセージの一例を示す図である。【００１６】
ここでは、図１５に示すＭＰＤ２００がコンテンツに対応付けられているものとし、クライアント１０３は、第１サーバ（ｃｄｎ１）１０１から、受信状況に応じて、高品質Representation（ｒｅｐ１）または低品質Representation（ｒｅｐ２）を取得するものとする。【００１７】
図１８および図１９に示すように、まず、クライアント１０３は、ＭＰＤ２００を参照して、高品質Representationの第Ｎセグメントの送信を要求するためのリクエストメッセージ３１１を第１サーバ１０１に送信する。第１サーバ１０１は、リクエストメッセージ３１１の応答として、高品質Representationの第Ｎセグメントのデータ本体を含むレスポンスメッセージ３１２をクライアント１０３に送信する。【００１８】
ここで、クライアント１０３は、高品質Representationの第Ｎセグメントを受信した際に受信状況の悪化を検出すると（処理３１３）、ＭＰＤ２００を参照して、代替Representationの検索を行う（処理３１４）。ここでは、ＭＰＤ２００に代替Representationとして低品質Representation（ｒｅｐ２）が記述されているため、クライアント１０３は、ＭＰＤ２００を参照して、第１サーバ１０１に低品質Representationの第（Ｎ＋１）セグメントの送信を要求するためのリクエストメッセージ３１５を第１サーバ１０１に送信する。第１サーバ１０１は、リクエストメッセージ３１５の応答として、低品質Representationの第（Ｎ＋１）セグメントのデータ本体を含むレスポンスメッセージ３１６をクライアント１０３に送信する。
【先行技術文献】
【特許文献】
【００１９】
【特許文献１】特開２００５−１１０２４４号公報（２００５年４月２１日公開）
【非特許文献】
【００２０】
【非特許文献１】“ISO/IEC 23009-1”、[online]、２０１２年４月１日、ISO/IEC、[平成２４年６月１９日検索]、インターネット＜ＵＲＬ：http://standards.iso.org/ittf/PubliclyAvailableStandards/c057623_ISO_IEC_23009-1_2012.zip＞
【非特許文献２】“ISO/IEC 14496-12”、２００８年１０月１５日、ISO/IEC
【発明の概要】
【発明が解決しようとする課題】
【００２１】
しかしながら、上述の動作シーケンスにおいて、クライアントがコンテンツの受信状況の悪化を検出した場合、その原因がサーバの処理遅延によるものであるか、ネットワークの帯域不足によるものであるかを判断することができない。そのため、コンテンツの受信状況の悪化に対する対応として、サーバ切り替え、または、Representation切り替えのどちらを行えばよいか適切に判断することができないという問題がある。【００２２】
また、ＭＰＤの更新（代替サーバのＵＲＬを追記した新たなＭＰＤの配信、あるいは代替サーバのＵＲＬの記述順序を変更した新たなＭＰＤの配信等）によって、サーバ切り替えを実現する場合、クライアントにおいてＭＰＤ更新処理に伴う遅延を避けることができない、すなわち、リアルタイム性が低いという問題がある。【００２３】
具体的に、図２０〜図２２に基づいて、ＭＰＤの更新によって、サーバ切り替えを実現する場合を説明する。図２０は、ＭＰＤの更新によって、サーバ切り替えを実現する場合の動作シーケンスの一例を示す図である。図２１は、ＭＰＤ更新前のＭＰＤを示す図であり、図２２は、ＭＰＤ更新後のＭＰＤを示す図である。【００２４】
ここでは、第１サーバ１０１は、リクエストが集中して高負荷状態となると、ＭＰＤに第２サーバ１０２のＵＲＬを記述して、ＭＰＤを更新し、クライアント１０３に第２サーバ１０２へ切り替えるように促すものとする。また、クライアント１０３は、ＭＰＤの更新の有無を所定の間隔（６０秒ごと）に確認するものとする。【００２５】
図２０〜図２２に示すように、クライアント１０３は、図２１に示すＭＰＤに基づくコンテンツの取得処理と平行して、ＭＰＤ更新有無の確認（ポーリング）を第１サーバ１０１に対して行う（処理４０１）。ここでは、第１サーバ１０１は、ＭＰＤを更新していないため、クライアント１０３に対して、ＭＰＤ更新なしと通知する（処理４０２）。【００２６】
その後、第１サーバ１０１にリクエストが集中し、高負荷状態となったため、第１サーバ１０１は、第２サーバ１０２のＵＲＬが記述された、図２２に示すＭＰＤを生成し、ＭＰＤを更新する（処理４０３）。【００２７】
クライアント１０３は、次の更新確認のタイミングで、ＭＰＤ更新有無の確認を第１サーバ１０１に対して行う（処理４０４）。このとき、ＭＰＤは更新されているため、第１サーバ１０１は、更新したＭＰＤをクライアント１０３に送信する（処理４０５）。そして、クライアント１０３は、更新されたＭＰＤを参照して、コンテンツの取得先を第２サーバ１０２に変更する。【００２８】
このように、第１サーバ１０１が高負荷状態になってから、クライアント１０３は、直ぐに第２サーバ１０２に切り替えるのではなく、ＭＰＤ更新確認間隔に応じて、遅延が生じる。また、ＭＰＤ更新確認間隔を短くした場合は、クライアント１０３および第１サーバ１０１の処理が増大するという問題、および、ＭＰＤの更新が無い場合でも、ポーリングに伴うデータ（例えば、ＨＴＴＰメッセージ）のやり取りが頻繁に発生するため、ネットワーク帯域が圧迫されるという問題がある。【００２９】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、リアルタイムで最適な適応ストリーミングを実行するコンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体を実現することにある。
【課題を解決するための手段】
【００３０】
本発明に係るコンテンツ送信装置は、上記課題を解決するために、複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ再生装置に送信するコンテンツ送信装置であって、上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信手段と、上記コンテンツ送信装置の処理量を測定する処理量測定手段と、上記処理量測定手段が測定した直近の処理量が所定値以上の場合、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を生成する情報生成手段と、を備え、上記送信手段は、上記情報生成手段が取得先切替指示情報を生成した場合、上記セグメントと共に、上記情報生成手段が生成した取得先切替指示情報を送信することを特徴としている。【００３１】
また、本発明に係るコンテンツ送信装置の制御方法は、上記課題を解決するために、複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ再生装置に送信するコンテンツ送信装置の制御方法であって、上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信ステップと、上記コンテンツ送信装置の処理量を測定する処理量測定ステップと、上記処理量測定ステップにおいて測定された直近の処理量が所定値以上の場合、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を生成する情報生成ステップと、を含み、上記送信ステップは、上記情報生成ステップにおいて取得先切替指示情報を生成した場合、上記セグメントと共に、当該情報生成ステップにおいて生成された取得先切替指示情報を送信することを特徴としている。【００３２】
上記の構成によれば、コンテンツ送信装置は、自装置の処理量が所定値以上の場合（すなわち、高負荷状態の場合）、コンテンツ再生装置がセグメント取得時に、当該コンテンツ再生装置に対して、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示することができる。そのため、コンテンツ送信装置が高負荷状態になった場合に、コンテンツ再生装置は、セグメントの受信状況の悪化の原因をリアルタイムで知ることができる。よって、コンテンツ送信装置は、コンテンツ再生装置に対して、リアルタイムで最適な適応ストリーミングを実行させることができるという効果を奏する。【００３３】
また、本発明に係るコンテンツ送信装置は、上記情報生成手段は、上記取得先切替指示情報を、上記セグメントのヘッダ部分に付加することが好ましい。【００３４】
また、本発明に係るコンテンツ送信装置は、上記情報生成手段は、上記取得先切替指示情報を、上記レスポンスのヘッダに付加することが好ましい。【００３５】
また、本発明に係るコンテンツ送信装置は、上記情報生成手段は、上記処理量測定手段が測定した直近の処理量が所定値以上の場合、当該処理量に応じて、コンテンツの取得先を他のコンテンツ送信装置に切り替えるタイミングを指示する取得先切替指示情報を生成することが好ましい。【００３６】
上記の構成によれば、コンテンツ送信装置は、自装置の処理量に応じて（すなわち、高負荷状態の程度に応じて）、コンテンツ再生装置に対して、他のコンテンツ送信装置に切り替えるタイミングを指示することができる。例えば、コンテンツ送信装置が高負荷状態であるが程度が低い場合（緊急性が低い場合）、コンテンツ送信装置は、コンテンツ再生装置に対して、次のセグメントの取得時から、または、次のピリオドに含まれるセグメントの取得時から、他のコンテンツ送信装置に切り替えるように指示してもよい。一方、コンテンツ送信装置が高負荷状態であり、程度が高い場合（緊急性が高い場合）、コンテンツ送信装置は、コンテンツ再生装置に対して、現在のリクエストを中断し、即座に他のコンテンツ送信装置に切り替えるように指示してもよい。このように、コンテンツ送信装置は、自装置の処理量に応じて、コンテンツ再生装置に対して、リアルタイムでより最適な適応ストリーミングを実行させることができる。【００３７】
また、本発明に係るコンテンツ送信装置は、上記課題を解決するために、複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ再生装置に送信するコンテンツ送信装置であって、上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信手段と、上記コンテンツ送信装置の処理量を測定する処理量測定手段と、上記処理量測定手段が測定した処理量が所定値以上の場合、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を生成する情報生成手段と、を備え、上記送信手段は、上記セグメントと共に、上記情報生成手段が生成した直近の負荷状態情報を送信することを特徴としている。【００３８】
また、本発明に係るコンテンツ送信装置の制御方法は、上記課題を解決するために、複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ再生装置に送信するコンテンツ送信装置の制御方法であって、上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信ステップと、上記コンテンツ送信装置の処理量を測定する処理量測定ステップと、上記処理量測定ステップにおいて測定された処理量が所定値以上の場合、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を生成する情報生成ステップと、を含み、上記送信ステップは、上記セグメントと共に、上記情報生成ステップにおいて生成された直近の負荷状態情報を送信することを特徴としている。【００３９】
上記の構成によれば、コンテンツ送信装置は、自装置の処理量が所定値以上の場合（すなわち、高負荷状態の場合）、コンテンツ再生装置がセグメント取得時に、当該コンテンツ再生装置に対して、自装置が高負荷状態であることを通知することができる。そのため、コンテンツ送信装置が高負荷状態になった場合に、コンテンツ再生装置は、セグメントの受信状況の悪化の原因をリアルタイムで知ることができる。コンテンツ再生装置は、上記通知を受けて、コンテンツの取得先を他のコンテンツ送信装置に切り替えることができる。よって、コンテンツ送信装置は、コンテンツ再生装置に対して、リアルタイムで最適な適応ストリーミングを実行させることができるという効果を奏する。【００４０】
また、本発明に係るコンテンツ送信装置は、上記情報生成手段は、上記負荷状態情報を、上記セグメントのヘッダ部分に付加することが好ましい。【００４１】
また、本発明に係るコンテンツ送信装置は、上記情報生成手段は、上記負荷状態情報を、上記レスポンスのヘッダに付加することが好ましい。【００４２】
また、本発明に係るコンテンツ送信装置は、上記情報生成手段は、上記処理量測定手段が測定した処理量が所定値以上の場合、当該処理量に応じて、上記コンテンツ送信装置の高負荷状態の程度を示す負荷状態情報を生成することが好ましい。【００４３】
上記の構成によれば、コンテンツ送信装置は、自装置の処理量に応じて（すなわち、高負荷状態の程度に応じて）、コンテンツ再生装置に対して、自装置の高負荷状態の程度を通知することができる。例えば、コンテンツ送信装置が高負荷状態であるが程度が低いことを通知した場合（緊急性が低いことを通知した場合）、コンテンツ再生装置は、次のセグメントの取得時から、または、次のピリオドに含まれるセグメントの取得時から、他のコンテンツ送信装置に切り替えるようにしてもよい。一方、コンテンツ送信装置が高負荷状態であり、程度が高いことを通知した場合（緊急性が高いことを通知した場合）、コンテンツ再生装置は、現在のリクエストを中断し、即座に他のコンテンツ送信装置に切り替えるようにしてもよい。このように、コンテンツ送信装置が自装置の高負荷状態の程度を通知することにより、コンテンツ再生装置は、リアルタイムでより最適な適応ストリーミングを実行することができる。【００４４】
また、本発明に係るコンテンツ再生装置は、上記課題を解決するために、複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ送信装置から取得して再生するコンテンツ再生装置であって、上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得手段を備え、上記取得手段は、上記セグメントと共に、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴としている。【００４５】
また、本発明に係るコンテンツ再生装置の制御方法は、上記課題を解決するために、複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ送信装置から取得して再生するコンテンツ再生装置の制御方法であって、上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得ステップを含み、上記取得ステップは、上記セグメントと共に、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴としている。【００４６】
上記の構成によれば、コンテンツ再生装置は、コンテンツ送信装置からセグメント取得時に、当該コンテンツ送信装置の指示に基づいて、コンテンツの取得先を他のコンテンツ送信装置に切り替えることができる。ここで、コンテンツ送信装置が高負荷状態になった場合、コンテンツ再生装置の上記セグメントの受信状況が悪化することが考えられる。よって、コンテンツ再生装置は、コンテンツ送信装置の指示に基づいて、当該コンテンツ送信装置と異なる他のコンテンツ送信装置に取得先を切り替えることにより、リアルタイムで最適な適応ストリーミングを実行することができるという効果を奏する。【００４７】
また、本発明に係るコンテンツ再生装置は、上記取得手段は、上記取得先切替指示情報が上記セグメントのヘッダ部分に付加されている場合、上記リクエストを他のコンテンツ送信装置に対して送信することが好ましい。【００４８】
また、本発明に係るコンテンツ再生装置は、上記取得手段は、上記取得先切替指示情報が上記レスポンスのヘッダに付加されている場合、上記リクエストを他のコンテンツ送信装置に対して送信することが好ましい。【００４９】
また、本発明に係るコンテンツ再生装置は、上記取得手段は、上記取得先切替指示情報がコンテンツの取得先を他のコンテンツ送信装置に切り替えるタイミングを指示する場合、指示されたタイミングで他のコンテンツ送信装置に対して上記リクエストを送信することが好ましい。【００５０】
上記の構成によれば、コンテンツ再生装置は、コンテンツ送信装置からセグメント取得時に、当該コンテンツ送信装置の指示に基づいて、指示されたタイミングでコンテンツの取得先を他のコンテンツ送信装置に切り替えることができる。例えば、コンテンツ送信装置が高負荷状態であるが程度が低い場合（緊急性が低い場合）、コンテンツ送信装置は、コンテンツ再生装置に対して、次のセグメントの取得時から、または、次のピリオドに含まれるセグメントの取得時から、他のコンテンツ送信装置に切り替えるように指示してもよい。一方、コンテンツ送信装置が高負荷状態であり、程度が高い場合（緊急性が高い場合）、コンテンツ送信装置は、コンテンツ再生装置に対して、現在のリクエストを中断し、即座に他のコンテンツ送信装置に切り替えるように指示してもよい。このように、コンテンツ再生装置は、コンテンツ送信装置の指示に基づいて、コンテンツ送信装置の処理量に応じて、リアルタイムでより最適な適応ストリーミングを実行することができる。【００５１】
また、本発明に係るコンテンツ再生装置は、上記課題を解決するために、複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ送信装置から取得して再生するコンテンツ再生装置であって、上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得手段を備え、上記取得手段は、上記セグメントと共に、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴としている。【００５２】
また、本発明に係るコンテンツ再生装置の制御方法は、上記課題を解決するために、複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ送信装置から取得して再生するコンテンツ再生装置の制御方法であって、上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得ステップを含み、上記取得ステップは、上記セグメントと共に、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴としている。【００５３】
上記の構成によれば、コンテンツ再生装置は、コンテンツ送信装置からセグメント取得時に、当該コンテンツ送信装置が高負荷状態であるか否かを知ることができる。ここで、コンテンツ送信装置が高負荷状態になった場合、コンテンツ再生装置の上記セグメントの受信状況が悪化することが考えられる。よって、コンテンツ再生装置は、コンテンツ送信装置からの通知の有無に基づいて、当該コンテンツ送信装置と異なる他のコンテンツ送信装置に取得先を切り替えることにより、リアルタイムで最適な適応ストリーミングを実行することができるという効果を奏する。【００５４】
また、本発明に係るコンテンツ再生装置は、上記取得手段は、上記負荷状態情報が上記セグメントのヘッダ部分に付加されている場合、上記リクエストを他のコンテンツ送信装置に対して送信することが好ましい。【００５５】
また、本発明に係るコンテンツ再生装置は、上記取得手段は、上記負荷状態情報が上記レスポンスのヘッダに付加されている場合、上記リクエストを他のコンテンツ送信装置に対して送信することが好ましい。【００５６】
また、本発明に係るコンテンツ再生装置は、上記取得手段は、上記負荷状態情報が上記コンテンツ送信装置の高負荷状態の程度を示す場合、その程度に応じた所定のタイミングで他のコンテンツ送信装置に対して上記リクエストを送信することが好ましい。【００５７】
上記の構成によれば、コンテンツ再生装置は、コンテンツ送信装置からセグメント取得時に、当該コンテンツ送信装置の高負荷状態の程度を知ることができる。例えば、コンテンツ送信装置が高負荷状態であるが程度が低い場合（緊急性が低い場合）、コンテンツ再生装置は、次のセグメントの取得時から、または、次のピリオドに含まれるセグメントの取得時から、他のコンテンツ送信装置に切り替えるようにしてもよい。一方、コンテンツ送信装置が高負荷状態であり、程度が高い場合（緊急性が高い場合）、コンテンツ再生装置は、現在のリクエストを中断し、即座に他のコンテンツ送信装置に切り替えるようにしてもよい。このように、コンテンツ再生装置は、コンテンツ送信装置の高負荷状態の程度に応じて、リアルタイムでより最適な適応ストリーミングを実行することができる。【００５８】
また、本発明に係るコンテンツ配信システムは、上記コンテンツ送信装置と、上記コンテンツ再生装置とを含むことが好ましい。【００５９】
上記の構成によれば、コンテンツ配信システムは、上記コンテンツ送信装置および上記コンテンツ再生装置と同様の効果を奏する。【００６０】
また、コンテンツ再生装置がコンテンツ送信装置から取得するコンテンツを構成する複数のセグメントのデータ構造であって、上記セグメントのヘッダ部分に、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報、または、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を含むことを特徴とするセグメントのデータ構造も本発明の範疇に含まれる。【００６１】
また、コンテンツ再生装置がコンテンツ送信装置に対してコンテンツを構成する各セグメントの送信を要求するリクエストに対する応答である、当該コンテンツ再生装置が取得した、当該セグメントを含むレスポンスのデータ構造であって、上記レスポンスのヘッダに、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報、または、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を含むことを特徴とするレスポンスのデータ構造も本発明の範疇に含まれる。【００６２】
なお、上記コンテンツ送信装置および上記コンテンツ再生装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記コンテンツ送信装置および上記コンテンツ再生装置の各手段として動作させることにより、上記コンテンツ送信装置および上記コンテンツ再生装置をコンピュータにて実現させる制御プログラム、及びそれを記録したコンピュータ読み取り可能な記録媒体も本発明の範疇に入る。
【発明の効果】
【００６３】
以上のように、本発明に係るコンテンツ送信装置は、上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信手段と、上記コンテンツ送信装置の処理量を測定する処理量測定手段と、上記処理量測定手段が測定した直近の処理量が所定値以上の場合、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を生成する情報生成手段と、を備え、上記送信手段は、上記情報生成手段が取得先切替指示情報を生成した場合、上記セグメントと共に、上記情報生成手段が生成した取得先切替指示情報を送信する。【００６４】
また、本発明に係るコンテンツ送信装置の制御方法は、上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信ステップと、上記コンテンツ送信装置の処理量を測定する処理量測定ステップと、上記処理量測定ステップにおいて測定された直近の処理量が所定値以上の場合、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を生成する情報生成ステップと、を含み、上記送信ステップは、上記情報生成ステップにおいて取得先切替指示情報を生成した場合、上記セグメントと共に、当該情報生成ステップにおいて生成された取得先切替指示情報を送信する。【００６５】
よって、コンテンツ送信装置は、コンテンツ再生装置に対して、リアルタイムで最適な適応ストリーミングを実行させることができるという効果を奏する。【００６６】
また、本発明に係るコンテンツ送信装置は、上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信手段と、上記コンテンツ送信装置の処理量を測定する処理量測定手段と、上記処理量測定手段が測定した処理量が所定値以上の場合、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を生成する情報生成手段と、を備え、上記送信手段は、上記セグメントと共に、上記情報生成手段が生成した直近の負荷状態情報を送信する。【００６７】
また、本発明に係るコンテンツ送信装置の制御方法は、上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信ステップと、上記コンテンツ送信装置の処理量を測定する処理量測定ステップと、上記処理量測定ステップにおいて測定された処理量が所定値以上の場合、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を生成する情報生成ステップと、を含み、上記送信ステップは、上記セグメントと共に、上記情報生成ステップにおいて生成された直近の負荷状態情報を送信する。【００６８】
よって、コンテンツ送信装置は、コンテンツ再生装置に対して、リアルタイムで最適な適応ストリーミングを実行させることができるという効果を奏する。【００６９】
また、本発明に係るコンテンツ再生装置は、上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得手段を備え、上記取得手段は、上記セグメントと共に、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信する。【００７０】
また、本発明に係るコンテンツ再生装置の制御方法は、上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得ステップを含み、上記取得ステップは、上記セグメントと共に、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信する。【００７１】
よって、コンテンツ再生装置は、コンテンツ送信装置の指示に基づいて、当該コンテンツ送信装置と異なる他のコンテンツ送信装置に取得先を切り替えることにより、リアルタイムで最適な適応ストリーミングを実行することができるという効果を奏する。【００７２】
また、本発明に係るコンテンツ再生装置は、上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得手段を備え、上記取得手段は、上記セグメントと共に、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信する。【００７３】
また、本発明に係るコンテンツ再生装置の制御方法は、上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得ステップを含み、上記取得ステップは、上記セグメントと共に、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信する。【００７４】
よって、コンテンツ再生装置は、コンテンツ送信装置からの通知の有無に基づいて、当該コンテンツ送信装置と異なる他のコンテンツ送信装置に取得先を切り替えることにより、リアルタイムで最適な適応ストリーミングを実行することができるという効果を奏する。
【図面の簡単な説明】
【００７５】
【図１】本発明の実施形態を示すものであり、コンテンツ配信システムの構成の一例を示すブロック図である。
【図２】上記コンテンツ配信システムに含まれるサーバおよびクライアントの要部構成の一例を示す図である。
【図３】上記サーバのコンテンツ送信処理の一例を示すフローチャートである。
【図４】上記クライアントのコンテンツ取得処理の一例を示すフローチャートである。
【図５】イベント情報をセグメントデータ本体にＩＳＯＢＦＦで規定されるbox形式で付加し、そのイベント情報に基づいて、代替サーバへ切り替える場合の動作シーケンスの一例を示す図である。
【図６】イベント情報をセグメントデータ本体にＩＳＯＢＦＦで規定されるbox形式で付加し、そのイベント情報に基づいて、代替サーバへ切り替える場合のＨＴＴＰメッセージの一例を示す図である。
【図７】従来のセグメントデータのデータ構造を示す図である。
【図８】イベント情報が付加されたセグメントデータのデータ構造を示す図である。
【図９】上記イベント情報のシンタックスの一例を示す図である。
【図１０】上記イベント情報のセマンティクスの一例を示す図である。
【図１１】セグメントデータ本体を送信するＨＴＴＰレスポンスメッセージのＨＴＴＰヘッダにイベント情報を記述し、そのイベント情報に基づいて、代替サーバへ切り替える場合の動作シーケンスの一例を示す図である。
【図１２】セグメントデータ本体を送信するＨＴＴＰレスポンスメッセージのＨＴＴＰヘッダにイベント情報を記述し、そのイベント情報に基づいて、代替サーバへ切り替える場合のＨＴＴＰメッセージの一例を示す図である。
【図１３】セグメントデータ本体を送信するＨＴＴＰレスポンスメッセージのＨＴＴＰヘッダにイベント情報を記述し、そのイベント情報に基づいて、代替サーバへ切り替える場合のＨＴＴＰメッセージの他の一例を示す図である。
【図１４】従来技術を示すものであり、コンテンツ配信システムの構成の一例を示すブロック図である。
【図１５】ＭＰＤの記述例を示す図である。
【図１６】コンテンツの受信状況に基づいてサーバを切り替える場合の動作シーケンスの一例を示す図である。
【図１７】コンテンツの受信状況に基づいてサーバを切り替える場合のＨＴＴＰメッセージの一例を示す図である。
【図１８】コンテンツの受信状況に基づいて取得するコンテンツの品質種別を切り替える場合の動作シーケンスの一例を示す図である。
【図１９】コンテンツの受信状況に基づいて取得するコンテンツの品質種別を切り替える場合のＨＴＴＰメッセージの一例を示す図である。
【図２０】ＭＰＤの更新によって、サーバ切り替えを実現する場合の動作シーケンスの一例を示す図である。
【図２１】ＭＰＤ更新前のＭＰＤを示す図である。
【図２２】ＭＰＤ更新後のＭＰＤを示す図である。
【図２３】ＭＰＤの記述例を示す図である。
【図２４】イベントリストを示す図である。
【発明を実施するための形態】
【００７６】
本発明の一実施形態について図１から図１３に基づいて説明すると以下の通りである。まず、本実施形態のコンテンツ配信システムの概要について、図２に基づいて説明する。
【００７７】
〔コンテンツ配信システムの概要〕
図２は、本実施形態に係るコンテンツ配信システム６の概要を示す図である。図２に示すように、コンテンツ配信システム６は、第１サーバ１ａ、第２サーバ１ｂ、クライアント２、プロキシ３、ＭＰＤ記憶装置４およびセグメント記憶装置５を含む。
【００７８】
図２に示すように、クライアント２は、プロキシ３を介して、第１サーバ１ａおよび第２サーバ１ｂと接続する。また、第１サーバ１ａおよび第２サーバ１ｂは、それぞれＭＰＤ記憶装置４およびセグメント記憶装置５と接続する。各装置は、有線通信または無線通信の任意のネットワークで接続される。
【００７９】
なお、以下では、第１サーバ１ａおよび第２サーバ１ｂを総称してサーバ１と称する。
【００８０】
また、コンテンツ配信システム６の構成は図２に示す例に限るものではない。例えば、コンテンツ配信システム６は、サーバ１を３つ以上含んでいてもよいし、クライアント２を２つ以上含んでいてもよい。また、コンテンツ配信システム６は、プロキシ３を２つ以上含んでいてもよい。さらに、コンテンツ配信システム６は、プロキシ３を備えていなくてもよく、この場合、クライアント２は、サーバ１と直接接続する。
【００８１】
また、本実施形態では、コンテンツ配信システム６におけるネットワーク上の伝送プロトコルは、ハイパーテキスト転送プロトコルとして広く用いられているＨＴＴＰを用いるものとする。また、サーバ１が配信するコンテンツは、映像コンテンツであり、コンテンツは、セグメント化されたＩＳＯＢＦＦデータであるものとする。すなわち、本実施形態では、コンテンツ配信システム６は、上述のＭＰＥＧ−ＤＡＳＨ規格に基づくコンテンツを配信するものである。
【００８２】
〔各装置の構成〕
次に、図１に基づいて、第１サーバ１ａ、第２サーバ１ｂおよびクライアント２の要部構成について説明する。図１は、第１サーバ１ａ、第２サーバ１ｂおよびクライアント２の要部構成の一例を示す図である。なお、説明の便宜のため、図１では、プロキシ３を省略している。
【００８３】
（サーバについて）
サーバ１は、クライアント２からコンテンツの送信を要求する要求メッセージ（リクエスト）を受信して、受信した要求メッセージに対する応答メッセージ（レスポンス）を送信するコンテンツ送信装置である。具体的には、クライアント２からコンテンツ管理情報（ＭＰＤ）の送信を要求するリクエストを受信すると、当該コンテンツのＭＰＤを含むレスポンスをクライアント２に送信する。また、クライアント２からコンテンツを構成するセグメントの送信を要求するリクエストを受信すると、当該セグメントを含むレスポンスをクライアント２に送信する。
【００８４】
なお、サーバ１は、ネットワーク７上のＭＰＤ記憶装置４およびセグメント記憶装置５からＭＰＤデータおよびセグメントデータを取得するものであるが、これに限るものではない。例えば、各サーバ１は、ローカルでＭＰＤデータおよびセグメントデータを保持していてもよい。
【００８５】
図１に示すように、第１サーバ１ａは、第１サーバ制御部１１ａ、第１サーバ記憶部１２ａおよび第１サーバ通信部１３ａを有する。また、第１サーバ制御部１１ａは、機能ブロックとして、コンテンツ取得部２１ａ、コンテンツ送信部２２ａ、処理量測定部２３ａおよびイベント情報付加部２４ａを備える構成である。
【００８６】
また、第２サーバ１ｂも、第１サーバ１ａと同じ構成であり、第２サーバ制御部１１ｂ、第２サーバ記憶部１２ｂおよび第２サーバ通信部１３ｂを有する。また、第２サーバ制御部１１ｂは、機能ブロックとして、コンテンツ取得部２１ｂ、コンテンツ送信部２２ｂ、処理量測定部２３ｂおよびイベント情報付加部２４ｂを備える構成である。
【００８７】
以下では、第１サーバ制御部１１ａおよび第２サーバ制御部１１ｂ、第１サーバ記憶部１２ａおよび第２サーバ記憶部１２ｂ、並びに、第１サーバ通信部１３ａおよび第２サーバ通信部１３ｂを総称して、サーバ制御部１１、サーバ記憶部１２並びにサーバ通信部１３と称する。また、コンテンツ取得部２１ａおよび２１ｂ、コンテンツ送信部２２ａおよび２２ｂ、処理量測定部２３ａおよび２３ｂ、並びに、イベント情報付加部２４ａおよび２４ｂを総称して、コンテンツ取得部２１、コンテンツ送信部（送信手段）２２、処理量測定部（処理量測定手段）２３並びにイベント情報付加部（情報生成手段）２４と称する。
【００８８】
サーバ通信部１３は、無線通信手段または有線通信手段によって、クライアント２、ＭＰＤ記憶装置４およびセグメント記憶装置５等の他の装置と通信を行い、サーバ制御部１１の指示に従って、データのやりとりを行うものである。
【００８９】
サーバ制御部１１は、サーバ記憶部１２から一時記憶部（不図示）に読み出されたプログラムを実行することにより、各種の演算を行うと共に、サーバ１が備える各部を統括的に制御するものである。
【００９０】
サーバ制御部１１の各機能ブロック（２１〜２４）は、ＣＰＵ（central processing unit）が、ＲＯＭ（read only memory）等で実現された記憶装置に記憶されているプログラムをＲＡＭ（random access memory）等で実現された一時記憶部に読み出して実行することで実現できる。
【００９１】
コンテンツ取得部２１は、コンテンツ送信部２２からの指示に基づいて、ＭＰＤ記憶装置４からＭＰＤデータまたはセグメント記憶装置５からセグメントデータを取得するものである。コンテンツ取得部２１は、ＭＰＤデータを取得した場合、取得したＭＰＤデータをコンテンツ送信部２２に出力し、セグメントデータを取得した場合、取得したセグメントデータをイベント情報付加部２４に出力する。
【００９２】
なお、コンテンツ取得部２１は、コンテンツ送信部２２からの指示の有無に関わらず、事前に、ＭＰＤデータおよび／またはセグメントデータを取得していても良い。この場合、コンテンツ取得部２１は、事前に取得したＭＰＤデータおよびセグメントデータをサーバ記憶部１２に格納しておき、コンテンツ送信部２２からの指示に基づいて、サーバ記憶部１２からＭＰＤデータおよびセグメントデータを読み出す。
【００９３】
コンテンツ送信部２２は、クライアント２からリクエストを受信すると、リクエストに対するレスポンスを当該クライアント２に送信するものである。具体的には、クライアント２からコンテンツ管理情報（ＭＰＤ）の送信を要求するリクエストを受信すると、当該コンテンツのＭＰＤを取得するようにコンテンツ取得部２１に指示し、コンテンツ取得部２１からＭＰＤデータを取得すると、取得したＭＰＤデータを含むレスポンスをクライアント２に送信する。また、クライアント２からコンテンツを構成するセグメントの送信を要求するリクエストを受信すると、当該セグメントを取得するようにコンテンツ取得部２１に指示し、イベント情報付加部２４からセグメントデータを取得すると、当該セグメントデータを含むレスポンスをクライアント２に送信する。
【００９４】
処理量測定部２３は、サーバ１の処理量を測定するものである。処理量測定部２３は、実際の処理量（絶対値）を測定しても良いし、相対的な処理量（ＣＰＵの使用率等）を測定しても良い。あるいは、処理量測定部２３は、クライアントからのリクエストの数を処理量としてもよい。処理量測定部２３は、測定した処理量をイベント情報付加部２４に通知する。
【００９５】
イベント情報付加部２４は、処理量測定部２３から通知された処理量が所定値以上の場合、コンテンツ取得部２１から取得したセグメントデータにイベント情報を付加してコンテンツ送信部２２に出力する。一方、イベント情報付加部２４は、処理量測定部２３から通知された処理量が所定値未満の場合、コンテンツ取得部２１から取得したセグメントデータをそのままコンテンツ送信部２２に出力する。
【００９６】
詳細は後述するが、イベント情報付加部２４は、セグメントデータにイベント情報を付加する場合、セグメントデータ本体にＩＳＯ／ＩＥＣ  １４４９６−１２（ＩＳＯＢＦＦ）で規定されるbox形式で付加してもよいし（例えば、セグメントデータのヘッダ部分にイベント情報を付加（挿入）する）、セグメントデータ本体を送信するＨＴＴＰレスポンスメッセージのＨＴＴＰヘッダにイベント情報を付加してもよい。
【００９７】
また、イベント情報付加部２４が付加するイベント情報は、クライアント２にコンテンツの取得先のサーバを（強制的に）切り替えさせるサーバ切替指示情報（取得先切替指示情報）であってもよいし、単にサーバ１の処理量を示す負荷状態情報であってもよい。また、イベント情報は、サーバ切替指示情報もしくは負荷状態情報に加えて、代替サーバを示す代替サーバ情報を含んでいてもよい。
【００９８】
また、イベント情報付加部２４は、サーバ切替指示情報の内容を処理量測定部２３から通知された処理量に応じて生成してもよい。例えば、所定値以上の処理量を、高負荷状態Ａ、高負荷状態Ｂ、高負荷状態Ｃの３つの範囲に区分したとする（高負荷状態Ａ＞高負荷状態Ｂ＞高負荷状態Ｃとする）。この場合、イベント情報付加部２４は、処理量が高負荷状態Ａであれば、現在のリクエストを中断し、即座にサーバ１の切り替えを指示するサーバ切替指示情報を生成し、処理量が高負荷状態Ｂであれば、次のセグメントのリクエストからサーバ１の切り替えを指示するサーバ切替指示情報を生成し、処理量が高負荷状態Ｃであれば、次のピリオドのリクエストからサーバ１の切り替えを指示するサーバ切替指示情報を生成してもよい。
【００９９】
なお、イベント情報付加部２４は、イベント情報として負荷状態情報を生成する場合、処理量が高負荷状態Ａであれば、高負荷状態Ａを示す負荷状態情報を生成し、処理量が高負荷状態Ｂであれば、高負荷状態Ｂを示す負荷状態情報を生成し、処理量が高負荷状態Ｃであれば、高負荷状態Ｃを示す負荷状態情報を生成してもよい。
【０１００】
サーバ記憶部１２は、サーバ制御部１１が参照するプログラムやデータ等を格納するものであり、例えば、コンテンツ取得部２１が取得したＭＰＤデータおよびセグメントデータ等を格納してもよい。
【０１０１】
（クライアントについて）
クライアント２は、サーバ１等の他の装置から取得したコンテンツ、または、自装置に格納しているコンテンツを再生するコンテンツ再生装置である。クライアント２は、例えば、デジタルテレビ、レコーダ、ＳＴＢ（Set Top Box）、ＰＣ、携帯電話機、ゲーム機、ＰＤＡ（Personal Digital Assistant）、デジタルカメラ、デジタルビデオ等である。
【０１０２】
図１に示すように、クライアント２は、クライアント制御部４１、クライアント記憶部４２、クライアント通信部４３、表示部４４および音声出力部４５を備える。なお、クライアント２は、操作部、音声入力部等の部材を備えていてもよいが、発明の特徴点とは関係がないため当該部材を図示していない。
【０１０３】
クライアント通信部４３は、無線通信手段または有線通信手段によって、サーバ１、プロキシ３等の他の装置と通信を行い、クライアント制御部４１の指示に従って、データのやりとりを行うものである。
【０１０４】
表示部４４は、クライアント制御部４１の指示に従って画像を表示するものである。表示部４４は、クライアント制御部４１の指示に従って画像を表示するものであればよく、例えば、ＬＣＤ（液晶ディスプレイ）、有機ＥＬディスプレイ、プラズマディスプレイなどを適用することが可能である。
【０１０５】
音声出力部４５は、クライアント制御部４１から電気信号を受信し、受信した電気信号を音に変換し、クライアント２の外部に音を出力するものである。音声出力部４５は、いわゆるスピーカである。
【０１０６】
クライアント制御部４１は、クライアント記憶部４２から一時記憶部（不図示）に読み出されたプログラムを実行することにより、各種の演算を行うと共に、クライアント２が備える各部を統括的に制御するものである。
【０１０７】
本実施形態では、クライアント制御部４１は、機能ブロックとして、コンテンツ取得部（取得手段）５１、受信状況測定部５２、コンテンツ解析部５３、切替判定部５４およびコンテンツ再生部５５を備える構成である。これらのクライアント制御部４１の各機能ブロック（５１〜５５）は、ＣＰＵが、ＲＯＭ等で実現された記憶装置に記憶されているプログラムをＲＡＭ等で実現された一時記憶部に読み出して実行することで実現できる。
【０１０８】
コンテンツ取得部５１は、サーバ１にクライアント通信部４３を介してリクエストを送信し、サーバ１からコンテンツ（コンテンツに対応付けられたＭＰＤおよびコンテンツを構成するセグメント）を取得するものである。
【０１０９】
具体的には、コンテンツ取得部５１は、ユーザから操作部（不図示）を介してコンテンツの取得（再生）指示が入力されると、当該コンテンツの管理情報（ＭＰＤ）の送信を要求するリクエストをサーバ１に送信する。そして、コンテンツ取得部５１は、当該リクエストのレスポンスとして、上記コンテンツのＭＰＤデータを受信する。コンテンツ取得部５１は、受信したＭＰＤデータを参照して、上記コンテンツを構成するセグメントの送信を要求するリクエストをサーバ１に送信する。そして、コンテンツ取得部５１は、当該リクエストのレスポンスとして、上記コンテンツのセグメントデータを取得する。コンテンツ取得部５１は、取得したセグメントデータをコンテンツ解析部５３およびコンテンツ再生部５５に出力する。
【０１１０】
受信状況測定部５２は、クライアント通信部４３が受信するデータの受信状況を測定するものである。受信状況測定部５２は、測定した受信状況を切替判定部５４に通知する。
【０１１１】
コンテンツ解析部５３は、コンテンツ取得部５１からセグメントデータを取得すると、取得したセグメントデータを解析し、セグメントデータにイベント情報が付加されている場合、セグメントデータに付加されたイベント情報を抽出するものである。コンテンツ解析部５３は、抽出したイベント情報を切替判定部５４に出力する。
【０１１２】
切替判定部５４は、受信状況測定部５２から受信状況を受信すると、受信状況が良好か否かを判定する。切替判定部５４は、受信状況が良好でないと判定した場合、さらに、コンテンツ解析部５３からイベント情報を受信したか否かを判定する。切替判定部５４は、イベント情報を受信していない場合、受信状況の悪化の原因はネットワークの帯域不足であると判断し、コンテンツ取得部５１に対して、より低品質のセグメントを取得するように指示する。一方、切替判定部５４は、イベント情報を受信した場合、サーバ１が高負荷状態のために受信状況が悪化したと判断し、コンテンツ取得部５１に対して、コンテンツの取得先のサーバ１を変更するように指示する。
【０１１３】
また、切替判定部５４は、イベント情報に代替サーバ情報が含まれている場合、コンテンツ取得部５１に対して、代替サーバ情報の示すサーバ１にコンテンツの取得先を変更するように指示する。
【０１１４】
なお、イベント情報が負荷状態情報の場合、切替判定部５４は、コンテンツ取得部５１に対して、コンテンツの取得先のサーバ１を変更させるか否か、および、どのタイミングでサーバ１を変更させるかを自由に決めてもよい。例えば、切替判定部５４は、負荷状態情報（イベント情報）を受信した場合であっても、コンテンツ取得部５１に対して、コンテンツの取得先のサーバ１を変更するように指示しなくてもよい。また、切替判定部５４は、乱数値を生成し、負荷状態情報を受信した場合、生成した乱数値が所定の値の場合にのみ、コンテンツ取得部５１に対して、コンテンツの取得先のサーバ１を変更するように指示してもよい。また、切替判定部５４は、高負荷状態Ｃを示す負荷状態情報を受信した場合に、コンテンツ取得部５１に対して、現在のリクエストを中断し、即座にサーバを切り替えるように指示してもよい。
【０１１５】
また、切替判定部５４は、受信状況に関わらず、セグメントデータにイベント情報が付加されているか否かによって、コンテンツ取得部５１に対して、コンテンツの取得先のサーバ１を変更するように指示してもよい。
【０１１６】
コンテンツ再生部５５は、コンテンツ取得部５１からセグメントデータを取得すると、ＭＰＤデータを参照して、取得したセグメントデータに基づいてコンテンツを再生するものである。
【０１１７】
クライアント記憶部４２は、クライアント制御部４１が参照するプログラムやデータ等を格納するものであり、例えば、コンテンツ取得部５１が取得したＭＰＤデータおよびセグメントデータ等を格納してもよい。
【０１１８】
〔サーバの処理〕
次に、図３に基づいて、サーバ１のコンテンツ送信処理について説明する。図３は、サーバ１のコンテンツ送信処理の一例を示すフローチャートである。
【０１１９】
図３に示すように、サーバ１は、クライアント２からリクエストが送信されるのを待つ（Ｓ１、Ｓ４）。ここで、コンテンツ送信部２２がクライアント２からコンテンツ管理情報（ＭＰＤ）の送信を要求するリクエストを受信した場合（Ｓ１でＹＥＳ）、コンテンツ送信部２２は、コンテンツ取得部２１に対して、受信したリクエストの示すコンテンツに対応付けられたＭＰＤを取得するように指示する。
【０１２０】
コンテンツ送信部２２から指示を受けたコンテンツ取得部２１は、サーバ通信部１３を介して、ＭＰＤ記憶装置４からＭＰＤデータを取得する（Ｓ２）。コンテンツ取得部２１は、取得したＭＰＤデータをコンテンツ送信部２２に出力する。そして、コンテンツ送信部２２は、コンテンツ取得部２１から取得したＭＰＤデータを含むレスポンスをクライアント２に送信する（Ｓ３）。
【０１２１】
また、コンテンツ送信部２２がクライアント２からセグメントの送信を要求するリクエストを受信した場合（Ｓ４でＹＥＳ）、コンテンツ送信部２２は、コンテンツ取得部２１に対して、受信したリクエストの示すセグメントを取得するように指示する。
【０１２２】
コンテンツ送信部２２から指示を受けたコンテンツ取得部２１は、サーバ通信部１３を介して、セグメント記憶装置５からセグメントデータを取得する（Ｓ５）。コンテンツ取得部２１は、取得したセグメントデータをイベント情報付加部２４に出力する。
【０１２３】
イベント情報付加部２４は、コンテンツ取得部２１からセグメントデータを取得すると、処理量測定部２３から通知された処理量が所定値以上であるか否かを判定する（Ｓ６）。処理量が所定値以上の場合（Ｓ６でＹＥＳ）、イベント情報付加部２４は、取得したセグメントデータにイベント情報を付加してコンテンツ送信部２２に出力し、コンテンツ送信部２２は、イベント情報付加部２４から取得した、イベント情報が付加されたセグメントデータを含むレスポンスをクライアント２に送信する（Ｓ７）。一方、処理量が所定値未満の場合（Ｓ６でＮＯ）、イベント情報付加部２４は、取得したセグメントデータをそのままコンテンツ送信部２２に出力し、コンテンツ送信部２２は、イベント情報付加部２４から取得したセグメントデータを含むレスポンスをクライアント２に送信する（Ｓ８）。
【０１２４】
〔クライアントの処理〕
次に、図４に基づいて、クライアント２のコンテンツ取得処理について説明する。図４は、クライアント２のコンテンツ取得処理の一例を示すフローチャートである。ここでは、クライアント２が、まず、第１サーバ１ａにリクエストを送信し、サーバ１を切り替える場合は第２サーバ１ｂに切り替えるものとする。
【０１２５】
図４に示すように、まず、コンテンツ取得部５１は、第１サーバ１ａにコンテンツ管理情報（ＭＰＤ）の送信を要求するリクエストを送信する（Ｓ１１）。そして、コンテンツ取得部５１は、このリクエストに対するレスポンスを受信し、レスポンスに含まれるＭＰＤデータを取得する（Ｓ１２）。
【０１２６】
次に、コンテンツ取得部５１は、受信したＭＰＤデータを参照して、コンテンツを構成するセグメントの送信を要求するリクエストを第１サーバ１ａに送信する（Ｓ１３）。そして、コンテンツ取得部５１は、このリクエストに対するレスポンスを受信し、レスポンスに含まれるセグメントデータを取得する（Ｓ１４）。
【０１２７】
ここで、コンテンツを構成するすべてのセグメントデータを受信していない場合（Ｓ１５でＮＯ）、切替判定部５４は、コンテンツ解析部５３からイベント情報を受信したか否か、すなわち、セグメントデータにイベント情報が付加されているか否かを判定する（Ｓ１６）。セグメントデータにイベント情報が付加されている場合（Ｓ１６でＹＥＳ）、切替判定部５４は、コンテンツ取得部５１に対して、コンテンツの取得先のサーバ１を第２サーバ１ｂに変更するように指示する。指示を受けたコンテンツ取得部５１は、次のセグメントの送信を要求するリクエストを第２サーバ１ｂに送信する（Ｓ１７）。
【０１２８】
一方、セグメントデータにイベント情報が付加されていない場合（Ｓ１６でＮＯ）、切替判定部５４は、受信状況測定部５２から通知された受信状況に基づいて、受信状況が良好か否かを判定する（Ｓ１８）。受信状況が良好である場合（Ｓ１８でＹＥＳ）、コンテンツ取得部５１は、次のセグメントの送信を要求するリクエストを第１サーバ１ａに送信する（Ｓ１９）。一方、受信状況が良好でない場合（Ｓ１８でＮＯ）、切替判定部５４は、コンテンツ取得部５１に対して、より低品質のセグメントを取得するように指示する。指示を受けたコンテンツ取得部５１は、次のセグメントであって、低品質セグメントの送信を要求するリクエストを第１サーバ１ａに送信する（Ｓ２０）。
【０１２９】
〔実施例１〕
次に、イベント情報をセグメントデータ本体にＩＳＯＢＦＦで規定されるbox形式で付加し、そのイベント情報に基づいて、代替サーバへ切り替える具体的な実施例を図５および図６に基づいて説明する。図５は、イベント情報をセグメントデータ本体にＩＳＯＢＦＦで規定されるbox形式で付加し、そのイベント情報に基づいて、代替サーバへ切り替える場合の動作シーケンスの一例を示す図である。また、図６は、イベント情報をセグメントデータ本体にＩＳＯＢＦＦで規定されるbox形式で付加し、そのイベント情報に基づいて、代替サーバへ切り替える場合のＨＴＴＰメッセージの一例を示す図である。
【０１３０】
ここでは、クライアント２が第１サーバ１ａからコンテンツを取得中に、第１サーバ１ａにリクエストが集中したため、第１サーバ１ａが高負荷状態となり、クライアント２が第１サーバ１ａから第２サーバ１ｂに切り替える場合を示す。
【０１３１】
図５および図６に示すように、クライアント２のコンテンツ取得部５１は、ＭＰＤデータを参照して、第Ｎセグメントの送信を要求するためのリクエストメッセージ７１を第１サーバ１ａに送信する。ここで、イベント情報付加部２４ａは、処理量測定部２３ａが測定した処理量に基づいて、第１サーバ１ａが高負荷状態であることを検知する（処理７２）。イベント情報付加部２４ａは、コンテンツ取得部２１ａがセグメント記憶装置５から取得したセグメントデータに、イベント情報をＩＳＯＢＦＦで規定されるbox形式で付加して、コンテンツ送信部２２ａに出力する。そして、コンテンツ送信部２２ａは、リクエストメッセージ７１の応答として、イベント情報が付加された第Ｎセグメントのデータ本体を含むレスポンスメッセージ７３をクライアント２に送信する。
【０１３２】
クライアント２のコンテンツ取得部５１がレスポンスメッセージ７３を受信して、セグメントデータを取得すると、コンテンツ解析部５３がセグメントデータを解析する。コンテンツ解析部５３は、セグメントデータを解析し、イベント情報を検出すると、イベント情報を抽出し、切替判定部５４に出力する。切替判定部５４は、イベント情報を受信したため、ＭＰＤデータを参照して、第１サーバ１ａと異なる代替サーバの検索を実行する（処理７４）。ここでは、切替判定部５４は、ＭＰＤデータに第２サーバ１ｂが記載されているため、代替サーバを第２サーバ１ｂに決定し、コンテンツ取得部５１に対して、コンテンツの取得先を第２サーバ１ｂに変更するように指示する。
【０１３３】
指示を受けたコンテンツ取得部５１は、ＭＰＤデータを参照して、第２サーバ１ｂに第（Ｎ＋１）セグメントの送信を要求するためのリクエストメッセージ７５を第２サーバ１ａに送信する。そして、第２サーバ１ｂのコンテンツ送信部２２ｂは、リクエストメッセージ７５の応答として、第（Ｎ＋１）セグメントのデータ本体を含むレスポンスメッセージ７６をクライアント２に送信する。
【０１３４】
（セグメントデータのデータ構造）
ここで、イベント情報がＩＳＯＢＦＦで規定されるbox形式で付加されたセグメントデータのデータ構造について説明する。
【０１３５】
まず、従来の基本的なセグメントデータのデータ構造について図７に基づいて説明する。図７は、従来のセグメントデータのデータ構造を示す図である。図７に示すように、従来のセグメントデータ８０は、１つのstyp（Segment Type Box）８１、１つのsidx（Segment Index Box）８２、並びに、moof（Movie Fragment Box）８３およびmdat（Media Data Box）８４の１つまたは複数の組から構成される。
【０１３６】
styp８１は、セグメントの種別および／またはバージョン情報等を示す情報である。sidx８２は、セグメント内のランダムアクセスポイントに関する情報である。moof８３およびmdat８４は、セグメントを構成するフラグメントに関する情報である。
【０１３７】
次に、イベント情報が付加されたセグメントデータのデータ構造について図８に基づいて説明する。図８は、イベント情報が付加されたセグメントデータのデータ構造を示す図である。図８に示すように、イベント情報が付加されたセグメントデータ８５は、従来の構成に加えて、１つのsswi（Server Switching Box）８６を備える。
【０１３８】
sswi８６は、サーバ切替指示情報または負荷状態情報を含むイベント情報である。sswi８６は、styp８１の直後に配置されているが、sidx８２の直後や、イベントが発生した時刻に対応するmoof８３およびmdat８４の直前、または直後に配置してもよい。
【０１３９】
また、sswi８６のシンタックスおよびセマンティクスの一例を図９および図１０に基づいて説明する。図９は、（ａ）がsswi８６のシンタックスの一例を示す図であり、（ｂ）がstyp８１のシンタックスの一例を示す図である。図１０は、sswi８６のセマンティクスの一例を示す図である。
【０１４０】
図９の（ａ）に示すように、sswi８６には、「exec_type」、「alt_server_location_flag」、「reserved」および「alt_server_location」が規定されている。「exec_type」は、３ビットのフラグであり、サーバ切替指示情報または負荷状態情報である。また、「alt_server_location_flag」は、１ビットのフラグであり、代替サーバ情報の有無を示すものである。また、「alt_server_location」は、代替サーバのＵＲＬ等の文字列が記述されるものである。つまり、「alt_server_location_flag」および「alt_server_location」は、代替サーバ情報である。
【０１４１】
具体的に、図１０に示すように、「exec_type」がサーバ切替指示情報の場合、「exec_type」の値が‘０００（２進表記）’であれば、現在のリクエストを中断し、即座にサーバ１の切り替えを指示することを示す。また、値が‘００１’であれば、次のセグメントのリクエストからのサーバ１の切り替えを指示することを示す。また、値が‘０１０’であれば、次のピリオドのリクエストからのサーバ１の切り替えを指示することを示す。
【０１４２】
また、「alt_server_location_flag」の値が‘０’の場合、イベント情報（sswi８６）が代替サーバのＵＲＬを含まないこと（代替サーバ情報を含まないこと）を示す。また、値が‘１’の場合、イベント情報（sswi８６）が代替サーバのＵＲＬを含むことを示す。
【０１４３】
あるいは、図９の（ｂ）に示すように、styp８１のcompatible_brandsフィールドにcompatible brandの１つとして‘sswi’を記述することによって、サーバの切替を指示、または高負荷状態を通知してもよい。
【０１４４】
このように、イベント情報をセグメントデータ本体に付加する場合、ＨＴＴＰヘッダ等を無視するプロキシ等を経由した場合であっても、途中でイベント情報が失われることがないため、クライアントへ確実にイベントを通知することができる。
【０１４５】
また、ＭＰＥＧ−ＤＡＳＨでは、１つのコンテンツに対して品質種別が異なる複数のRepresentationが準備されるが、必ずしもすべてのRepresentationにイベント情報を付加するとは限らない。そのため、イベント情報をセグメントデータ本体に付加する可能性がある場合には、事前にＭＰＤでイベント情報の存在を通知するようにしてもよい。
【０１４６】
図２３は、イベント情報の存在の通知を含むＭＰＤの記述例を示す図である。図２３に示すように、Representation要素内にイベント情報の存在を示すEventInfo要素が記述されている。EventInfo要素は、イベントリストを識別するためのschemeIdUri属性と、セグメントデータ本体に付加されるイベントの内容を識別するためのvalue属性を含む。
【０１４７】
図２４は、schemeIdUri=”urn:mpeg:dash:event:2012”で定義されるイベントリストを示す図である。value=”1”の場合、サーバ切替指示を示すイベント情報がRepresentationに存在することを示す。なお、イベントを追加する場合には、イベントリストにvalueの値とイベントの内容を新たに定義すればよい。
【０１４８】
図２３の記述例では、ビットレートが1024kbpsのRepresentationには、EventInfo要素が記述されているため、サーバ切替指示を示すイベント情報が付加される可能性があることを示している。一方、ビットレートが512kbpsのRepresentationには、EventInfo要素が記述されていないため、サーバ切替指示を示すイベント情報が付加される可能性がないことを示している。
【０１４９】
〔実施例２〕
次に、セグメントデータ本体を送信するＨＴＴＰレスポンスメッセージのＨＴＴＰヘッダにイベント情報を記述し、そのイベント情報に基づいて、代替サーバへ切り替える具体的な実施例を図１１および図１２に基づいて説明する。図１１は、セグメントデータ本体を送信するＨＴＴＰレスポンスメッセージのＨＴＴＰヘッダにイベント情報を記述し、そのイベント情報に基づいて、代替サーバへ切り替える場合の動作シーケンスの一例を示す図である。また、図１２は、セグメントデータ本体を送信するＨＴＴＰレスポンスメッセージのＨＴＴＰヘッダにイベント情報を記述し、そのイベント情報に基づいて、代替サーバへ切り替える場合のＨＴＴＰメッセージの一例を示す図である。
【０１５０】
ここでは、クライアント２が第１サーバ１ａからコンテンツを取得中に、第１サーバ１ａにリクエストが集中したため、第１サーバ１ａが高負荷状態となり、クライアント２が第１サーバ１ａから第２サーバ１ｂに切り替える場合を示す。
【０１５１】
図１１および図１２に示すように、クライアント２のコンテンツ取得部５１は、ＭＰＤデータを参照して、第Ｎセグメントの送信を要求するためのリクエストメッセージ９１を第１サーバ１ａに送信する。ここで、イベント情報付加部２４ａは、処理量測定部２３ａが測定した処理量に基づいて、第１サーバ１ａが高負荷状態であることを検知する（処理９２）。イベント情報付加部２４ａは、コンテンツ取得部２１ａがセグメント記憶装置５から取得したセグメントデータ本体を送信するＨＴＴＰレスポンスメッセージのＨＴＴＰヘッダにイベント情報を記述するようにコンテンツ送信部２２ａに指示する。そして、コンテンツ送信部２２ａは、セグメント本体を送信するＨＴＴＰレスポンスメッセージのContent-TypeヘッダにMIME Type（メディアタイプ）のパラメータとしてイベント情報を付加する。そして、コンテンツ送信部２２ａは、リクエストメッセージ７１の応答として、第Ｎセグメントのデータ本体を含み、ＨＴＴＰヘッダにイベント情報が付加されたレスポンスメッセージ９３をクライアント２に送信する。
【０１５２】
クライアント２のコンテンツ取得部５１がレスポンスメッセージ９３を受信して、セグメントデータを取得すると、コンテンツ解析部５３がレスポンスメッセージ９３を解析する。コンテンツ解析部５３は、レスポンスメッセージ９３を解析し、ＨＴＴＰヘッダからイベント情報を検出すると、イベント情報を抽出し、切替判定部５４に出力する。切替判定部５４は、イベント情報を受信したため、ＭＰＤデータを参照して、第１サーバ１ａと異なる代替サーバの検索を実行する（処理９４）。ここでは、切替判定部５４は、ＭＰＤデータに第２サーバ１ｂが記載されているため、代替サーバを第２サーバ１ｂに決定し、コンテンツ取得部５１に対して、コンテンツの取得先を第２サーバ１ｂに変更するように指示する。
【０１５３】
指示を受けたコンテンツ取得部５１は、ＭＰＤデータを参照して、第２サーバ１ｂに第（Ｎ＋１）セグメントの送信を要求するためのリクエストメッセージ９５を第２サーバ１ａに送信する。そして、第２サーバ１ｂのコンテンツ送信部２２ｂは、リクエストメッセージ９５の応答として、第（Ｎ＋１）セグメントのデータ本体を含むレスポンスメッセージ９６をクライアント２に送信する。
【０１５４】
なお、変形例として、レスポンスメッセージ９３の代わりに、ＨＴＴＰヘッダに代替サーバのＵＲＬが追記された、図１３に示すレスポンスメッセージ９７を送信してもよい。
【０１５５】
また、レスポンスメッセージ９３の代わりに、ヘッダにサーバ切替タイミングが追記された、図１３に示すレスポンスメッセージ９８を送信してもよい。レスポンスメッセージ９８では、「exec=next_segment」と記述されており、これは次のセグメントからサーバを切り替えることを示す。「exec」の値に「immediate」が記述されている場合は、サーバを即座に切り替えることを示し、「next_period」が記述されている場合は、次のピリオドから切り替えることを示す。
【０１５６】
また、レスポンスメッセージ９３の代わりに、ＨＴＴＰ拡張ヘッダを利用してイベント情報を記述した、図１３に示すレスポンスメッセージ９９を送信してもよい。
【０１５７】
このように、イベント情報をレスポンスメッセージのＨＴＴＰヘッダに付加する場合、サーバで複数のRepresentationを準備する場合であっても、Representation毎にイベント情報を付加したセグメントを生成する必要が無くなる。換言すると、イベント情報付加に伴う追加処理がRepresentationの数に依存しない。
【０１５８】
〔補足〕
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【０１５９】
最後に、サーバ１およびクライアント２の各ブロック、特にサーバ制御部１１およびクライアント制御部４１は、ハードウェアロジックによって構成してもよいし、次のようにＣＰＵを用いてソフトウェアによって実現してもよい。
【０１６０】
すなわち、サーバ１およびクライアント２は、各機能を実現する制御プログラムの命令を実行するＣＰＵ（central processing unit）、上記プログラムを格納したＲＯＭ（read only memory）、上記プログラムを展開するＲＡＭ（random access memory）、上記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアであるサーバ１およびクライアント２の制御プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、上記サーバ１およびクライアント２に供給し、そのコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【０１６１】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒ等の光ディスクを含むディスク系、ＩＣカード（メモリカードを含む）／光カード等のカード系、あるいはマスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ（登録商標）／フラッシュＲＯＭ等の半導体メモリ系などを用いることができる。
【０１６２】
また、サーバ１およびクライアント２を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（virtual private network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、ＩＥＥＥ１３９４、ＵＳＢ、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ回線等の有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、８０２．１１無線、ＨＤＲ、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【産業上の利用可能性】
【０１６３】
本発明は、ＭＰＥＧ−ＤＡＳＨ規格のコンテンツを送信するコンテンツ送信装置、および、当該コンテンツを取得・再生するコンテンツ再生装置に利用することができる
【符号の説明】
【０１６４】
１    サーバ
２    クライアント
３    プロキシ
４    ＭＰＤ記憶装置
５    セグメント記憶装置
６    コンテンツ配信システム
２１    コンテンツ取得部
２２    コンテンツ送信部（送信手段）
２３    処理量測定部（処理量測定手段）
２４    イベント情報付加部（情報生成手段）
５１    コンテンツ取得部（取得手段）
５２    受信状況測定部
５３    コンテンツ解析部
５４    切替判定部
５５    コンテンツ再生部
【図１】
2014010444.tif 000003
【図２】
2014010444.tif 000004
【図３】
2014010444.tif 000005
【図４】
2014010444.tif 000006
【図５】
2014010444.tif 000007
【図６】
2014010444.tif 000008
【図７】
2014010444.tif 000009
【図８】
2014010444.tif 000010
【図９】
2014010444.tif 000011
【図１０】
2014010444.tif 000012
【図１１】
2014010444.tif 000013
【図１２】
2014010444.tif 000014
【図１３】
2014010444.tif 000015
【図１４】
2014010444.tif 000016
【図１５】
2014010444.tif 000017
【図１６】
2014010444.tif 000018
【図１７】
2014010444.tif 000019
【図１８】
2014010444.tif 000020
【図１９】
2014010444.tif 000021
【図２０】
2014010444.tif 000022
【図２１】
2014010444.tif 000023
【図２２】
2014010444.tif 000024
【図２３】
2014010444.tif 000025
【図２４】
2014010444.tif 000026
【国際調査報告】
2014010444.tif 000027
2014010444.tif 000028
2014010444.tif 000029
2014010444.tif 000030