(57)【要約】【課題】クライアントに特別な仕組みを準備することなく、配信されるメディアデータの品質劣化を防ぐことを目的とする。【解決手段】メディアデータを生成するメディアデータ生成手段と、メディアデータのビットレート情報を含むプレイリストを生成するプレイリスト生成手段と、プレイリストをクライアント装置に配信し、プレイリストに応じた、クライアント装置からの要求に応じて、メディアデータを配信する配信手段と、配信手段が配信するメディアデータの配信ビットレートを決定する決定手段とを有し、配信手段は、決定手段により決定された配信ビットレートと、プレイリストに含まれるビットレート情報と、に基づいて、プレイリストの更新通知をクライアント装置に配信することを特徴とする。【選択図】図６
2020136907.tif 000002
【特許請求の範囲】
【請求項１】
メディアデータを生成するメディアデータ生成手段と、
前記メディアデータのビットレート情報を含むプレイリストを生成するプレイリスト生成手段と、
前記プレイリストをクライアント装置に配信し、前記プレイリストに応じた、前記クライアント装置からの要求に応じて、前記メディアデータを配信する配信手段と、
前記配信手段が配信する前記メディアデータの配信ビットレートを決定する決定手段と
を有し、
前記配信手段は、前記決定手段により決定された前記配信ビットレートと、前記プレイリストに含まれるビットレート情報と、に基づいて、前記プレイリストの更新通知を前記クライアント装置に配信することを特徴とする情報配信装置。
【請求項２】
前記配信手段は、前記メディアデータの前記配信ビットレートと前記ビットレート情報が示すビットレートの差分が閾値以上の場合に、前記更新通知を配信することを特徴とする請求項１に記載の情報配信装置。
【請求項３】
前記決定手段は、配信済みのメディアデータ又は配信前のメディアデータのデータサイズに基づいて、前記配信ビットレートを決定することを特徴とする請求項１又は２に記載の情報配信装置。
【請求項４】
前記決定手段は、前記配信済みのメディアデータ又は前記配信前のメディアデータの単位メディア当たりのデータサイズに基づいて、配信ビットレートを決定することを特徴とする請求項３に記載の情報配信装置。
【請求項５】
前記決定手段は、前記配信済みのメディアデータ又は前記配信前のメディアデータの、メディアデータの１以上のフレームを含んだグループであって、かつ前記グループ内のメディアデータを他のグループを参照せずに復号可能な前記グループのデータサイズに基づいて、前記配信ビットレートを決定することを特徴とする請求項３に記載の情報配信装置。
【請求項６】
前記決定手段は、前記決定手段が決定した配信ビットレートの履歴に基づいて、前記配信ビットレートを決定することを特徴とする請求項３に記載の情報配信装置。
【請求項７】
情報配信装置から、メディアデータのビットレート情報を含むプレイリストを受信する受信手段と、
前記プレイリストに基づいて、前記メディアデータの要求を送信する送信手段と
を有し、
前記受信手段が前記プレイリストの更新通知を受信した場合に、前記送信手段は、前記プレイリストの要求を前記情報配信装置に送信することを特徴とする情報処理装置。
【請求項８】
情報配信装置が実行する情報配信方法であって、
メディアデータを生成するメディアデータ生成ステップと、
前記メディアデータのビットレート情報を含むプレイリストを生成するプレイリスト生成ステップと、
前記プレイリストをクライアント装置に配信し、前記プレイリストに応じた、前記クライアント装置からの要求に応じて、前記メディアデータを配信する第１の配信ステップと、
配信する前記メディアデータの配信ビットレートを決定する決定ステップと
前記決定ステップにおいて決定された前記配信ビットレートと、前記プレイリストに含まれるビットレート情報と、に基づいて、前記プレイリストの更新通知を前記クライアント装置に配信する第２の配信ステップと
を含むことを特徴とする情報配信方法。
【請求項９】
情報処理装置が実行する情報処理方法であって、
情報配信装置から、メディアデータのビットレート情報を含むプレイリストを受信する受信ステップと、
前記プレイリストに基づいて、前記メディアデータの要求を送信する送信ステップと、
前記プレイリストの更新通知を受信した場合に、前記プレイリストの要求を前記情報配信装置に送信する第２の送信ステップと
を含むことを特徴とする情報処理方法。
【請求項１０】
コンピュータを、請求項１乃至６の何れか１項に記載の情報配信装置の各手段として機能させるためのプログラム。
【請求項１１】
コンピュータを、請求項７に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報配信装置、情報処理装置、情報配信方法、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、映像データまたは音声データを含むメディアデータのストリームをセグメント時間（ｓｅｇｍｅｎｔ  ｄｕｒａｔｉｏｎ）単位のメディアセグメントに分割して配信を行う、アダプティブストリーミング技術を用いたシステムが普及している。アダプティブストリーミング技術の代表的な例としては、次の２つがある。第１の技術は、ＤＡＳＨ（Ｄｙｎａｍｉｃ  Ａｄａｐｔｉｖｅ  Ｓｔｒｅａｍｉｎｇ  ｏｖｅｒ  ＨＴＴＰ）である。ＤＡＳＨは、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）によって規格化された技術である。第２の技術は、ＨＬＳ（ＨＴＴＰ Ｌｉｖｅ  Ｓｔｒｅａｍｉｎｇ）である。
【０００３】
例えば、ＤＡＳＨの規格に基づくアダプティブストリーミングにおいては、まずクライアントは、ＭＰＤ（Ｍｅｄｉａ  Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｄｅｓｃｒｉｐｔｉｏｎ）を取得する。ＭＰＤには、配信サーバが配信可能なメディアセグメントの系列の情報であるＲｅｐｒｅｓｅｎｔａｔｉｏｎが１つ以上記載されている。Ｒｅｐｒｅｓｅｎｔａｔｉｏｎには、メディアセグメントのビットレートが記述され、クライアントは、通信状況に応じて適切なビットレートのＲｅｐｒｅｓｅｎｔａｔｉｏｎを選択する。その後、クライアントは、ＭＰＤの記載に従って、ＭＰＥＧ２−ＴＳまたはＩＳＯＢＭＦＦ（ＩＳＯ  Ｂａｓｅ  Ｍｅｄｉａ  Ｆｉｌｅ  Ｆｏｒｍａｔ）の映像フォーマットをメディアセグメント単位でダウンロードして再生する。
【０００４】
特許文献１には、以下の技術が開示されている。すなわち、配信サーバは、１つのＲｅｐｒｅｓｅｎｔａｔｉｏｎのメディアセグメントのメディアデータを、クライアントが指定するビットレートにエンコードする。さらに、配信サーバは、その他のＲｅｐｒｅｓｅｎｔａｔｉｏｎのセグメントのビットレートを決定する。そして、配信サーバは、決定したビットレートに基づいてＭＰＤ、メディアセグメントを生成する。また、特許文献２には、ＭＰＤに記載のセグメントのビットレート、映像品質の最小値・最大値、ＱｏＥ品質値に基づいて、クライアントがＲｅｐｒｅｓｅｎｔａｔｉｏｎの選択を行う方法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２０１５−５２０９６６号公報
【特許文献２】特開２０１７−２２７５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述の特許文献１に開示された技術では、配信サーバが、クライアントが指定するビットレートのメディアデータをエンコードする際に、他のクライアントが意図しない品質のメディアデータが生成される場合がある。また、特許文献２に開示された技術では、ＭＰＤにセグメントのビットレート、映像品質の最小値・最大値、ＱｏＥ品質値が記載されていることが前提となっている。したがって、映像の最小・最大品質値、ＱｏＥ品質値の情報に基づいて、Ｒｅｐｒｅｓｅｎｔａｔｉｏｎの選択を行う特別な機能をクライアントに組み込む必要がある。
【０００７】
本発明は、このような問題点に鑑みなされたもので、クライアントに特別な仕組みを準備することなく、配信されるメディアデータの品質劣化を防ぐことを目的とする。
【課題を解決するための手段】
【０００８】
そこで、本発明は、情報配信装置であって、メディアデータを生成するメディアデータ生成手段と、前記メディアデータのビットレート情報を含むプレイリストを生成するプレイリスト生成手段と、前記プレイリストをクライアント装置に配信し、前記プレイリストに応じた、前記クライアント装置からの要求に応じて、前記メディアデータを配信する配信手段と、前記配信手段が配信する前記メディアデータの配信ビットレートを決定する決定手段とを有し、前記配信手段は、前記決定手段により決定された前記配信ビットレートと、前記プレイリストに含まれるビットレート情報と、に基づいて、前記プレイリストの更新通知を前記クライアント装置に配信することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、クライアントに特別な仕組みを準備することなく、配信されるメディアデータの品質劣化を防ぐことができる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態に係る情報配信システムの構成例を示す図である。
【図２】情報配信装置のハードウェア構成例を示す図である。
【図３】情報配信装置の機能構成例を示す図である。
【図４】初期化セグメント及びメディアセグメントのデータ構成例を示す図である。
【図５】ＭＰＤの構成の一例を示す図である。
【図６】配信処理を示すフローチャートである。
【図７】配信処理を示すシーケンス図である。
【図８】第２の実施形態に係る配信処理を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面に基づいて説明する。
【００１２】
（第１の実施形態）
図１は、第１の実施形態に係る情報配信システムの構成例を示す図である。情報配信システムは、情報配信装置１０１と、通信装置１０２と、ネットワーク１０３とを有する。例えば、情報配信装置１０１は、ネットワークカメラであり、ネットワーク１０３は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のＩＰネットワークである。通信装置１０２は、例えばＰＣ等の情報処理装置である。情報配信装置１０１と通信装置１０２は、ネットワーク１０３を介して、相互に通信可能に接続されている。通信装置１０２は、情報配信装置１０１の外部機器である。通信装置１０２は、例えばＰＣであり、情報配信装置１０１に対して各種要求コマンドを送信する。情報配信装置１０１は、それらのコマンドに対するレスポンスを通信装置１０２に送信する。ネットワーク１０３は、Ｅｔｈｅｒｎｅｔ（登録商標）等の通信規格を満足する複数のルータ、スイッチ、ケーブル等を有する。ネットワーク１０３は、情報配信装置１０１及び通信装置１０２間の通信が行えるものであれば、その通信規格、規模、構成が限定されない。ネットワーク１０３は、インターネットから無線ＬＡＮにまで適用可能である。なお、図１では、説明の簡略化のために、情報配信装置１０１は１台としているが、２台以上であってもよい。また、通信装置１０２以外にも、情報配信装置１０１に接続するクライアントがあってもよい。
【００１３】
図２は、本実施形態に係る情報配信装置１０１のハードウェア構成例を示す図である。情報配信装置１０１では、ＣＰＵ２０１、一次記憶装置２０２、二次記憶装置２０３、画像キャプチャインタフェース（ＩＦ）２０６、ネットワークＩＦ２０７が内部バス２０４を介して相互に接続されている。情報配信装置１０１は、撮像素子２０５を有する。一次記憶装置２０２は、例えばＲＡＭであり、書き込み可能な高速の記憶装置であり、ＯＳや各種プログラム及び各種データがロードされ、またＯＳや各種プログラムの作業領域として使用される。二次記憶装置２０３は、例えばフラッシュメモリ、ＨＤＤ、ＳＤカード等の不揮発性記憶装置である。二次記憶装置２０３は、ＯＳや各種プログラム及び各種データの永続的な記憶領域として使用され、短期的な各種データの記憶領域として使用される。ＣＰＵ２０１は、二次記憶装置２０３に記憶されているプログラムを一次記憶装置２０２に展開して実行することにより、情報配信装置１０１の処理を行う。
【００１４】
画像キャプチャＩＦ２０６には、ＣＣＤセンサやＣＭＯＳセンサからなる撮像素子２０５が接続され、撮像素子２０５から取得した画像データを所定のフォーマットに変換・圧縮して一次記憶装置２０２に転送する。ネットワークＩＦ２０７は、ネットワーク１０３を介して通信装置１０２に接続するインタフェースであり、通信装置１０２との通信を担う。
【００１５】
なお、通信装置１０２のハードウェア構成は、図２を参照しつつ説明した情報配信装置１０１のハードウェア構成とほぼ同様である。なお、通信装置１０２は、撮像素子２０５及び画像キャプチャＩＦ２０６を備えなくともよい。また、通信装置１０２は、表示部や操作部等のインタフェースをさらに備えるものとする。
【００１６】
図３は、本実施形態に係る情報配信装置１０１の機能構成例を示す図である。情報配信装置１０１は、受信部３０１、ビットレート算出部３０２、プレイリスト生成部３０３、映像データ生成部３０４、セグメント生成部３０５、及び配信部３０６を有する。受信部３０１、ビットレート算出部３０２、プレイリスト生成部３０３、映像データ生成部３０４、セグメント生成部３０５、及び配信部３０６は、図２のＣＰＵ２０１がプログラムを実行することにより機能する処理部である。
【００１７】
映像データ生成部３０４は、画像キャプチャＩＦ２０６により一次記憶装置２０２に転送された画像データに対し符号化処理を行い、映像データとして映像メタデータ及び映像フレームを生成する。映像データの符号化方式には、例えばＨ．２６４／ＡＶＣ又はＨ．２６５／ＨＥＶＣを用いることができる。但し、符号化方式はこれらに限らず、種々の符号化方式でよく、映像データを生成可能なものであればよい。なお、映像データは、メディアデータの一例であり、映像メタデータ及び映像フレームを生成する処理は、メディアデータ生成処理の一例である。
【００１８】
映像メタデータは、例えばＳＰＳ（Ｓｅｑｕｅｎｃｅ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ）やＰＰＳ（Ｐｉｃｔｕｒｅ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ）等の映像再生を開始するために必要なデータである。映像フレームは、映像再生時に継続して表示される映像１コマ単位の情報を示す映像データである。映像フレーム及び映像メタデータは映像データ生成部３０４が生成する映像データの最小単位であり、後述のセグメント生成部３０５が生成するセグメントは、１以上の映像フレームまたは映像メタデータを含みうるデータである。
【００１９】
映像フレームには、例えば、独立フレーム又は従属フレームがある。独立フレームは、フレーム内符号化処理によって生成され、復号時に他の映像フレームの情報を必要としない映像フレームであり、例えばＩフレームである。従属フレームは、フレーム間符号化処理によって生成され、他の映像フレームとの差分情報から構成される映像フレームであり、例えばＰフレーム又はＢフレームである。映像データ生成部３０４は、解像度、フレームレート、符号化方式、配信ビットレート等、自身が生成する映像データに関する情報としてのストリーム情報に基づいて、映像データを生成することができる。ストリーム情報は、二次記憶装置２０３に記憶されている。
【００２０】
映像データ生成部３０４は、ＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｕｔｕｒｅ）長の時間毎に独立フレームを一つ生成し、ＧＯＰ長の時間内のその他の映像フレームを従属フレームとして生成する。二次記憶装置２０３に記憶されているストリーム情報は、ＧＯＰ長の時間を含んでいるものとする。
【００２１】
セグメント生成部３０５は、映像データ生成部３０４が生成した映像メタデータと映像フレームにヘッダ部を付加し、それぞれ初期化セグメント及びメディアセグメントを生成し、一次記憶装置２０２に格納する。メディアセグメントは、所定の時間（セグメント時間）分の映像フレームを含むようにセグメント生成部３０５により生成される。二次記憶装置２０３に記憶されるストリーム情報がセグメント時間を含むこととする。セグメント生成部３０５は、セグメント時間を読み出してメディアセグメントを生成する。以下、初期化セグメント及びメディアセグメントを併せてセグメントと呼称する。セグメントは例えばＩＳＯ／ＩＥＣ１４４９６−１２にて定義される構造を持つものとすることができる。
【００２２】
受信部３０１は、プレイリスト又はセグメントの配信要求を通信装置１０２から受信する。プレイリスト及びセグメントの詳細なデータ構造については後述する。受信部３０１は、プレイリスト配信要求を通信装置１０２から受信すると同時に、プレイリスト生成部３０３にプレイリスト要求通知を行う。受信部３０１は、セグメント配信要求を通信装置１０２から受信すると、通信装置１０２に対しレスポンスを配信する指示を配信部３０６に行う。セグメント配信要求は、セグメント生成部３０５が生成するセグメントに対する配信要求である。なお、受信部３０１は、配信要求が行われたセグメントが一次記憶装置２０２に存在すれば配信要求が行われたセグメントのデータをレスポンスとして配信する指示を出し、存在しなければＨＴＴＰ４０４等のエラーレスポンスを配信する指示を出す。
【００２３】
ビットレート算出部３０２は、映像データ生成部３０４が生成する映像データのデータサイズ、または、セグメント生成部３０５が生成するセグメントのデータサイズに基づいて配信ビットレートを算出し、一次記憶装置２０２に格納する。具体的には、ビットレート算出部３０２は、例えば、セグメント１つのデータサイズをセグメントの時間長で除して配信ビットレートを算出する。ここで、セグメント１つのデータサイズは、単位メディア当たりのデータサイズの一例である。
【００２４】
また、他の例としては、ビットレート算出部３０２は、映像データ生成部３０４が生成したＧＯＰ長分の映像データのデータサイズをＧＯＰ長の時間で除して、配信ビットレートを算出してもよい。また、他の例としては、ビットレート算出部３０２は、過去に配信済みの同一解像度、同一フレームレートのセグメントの配信ビットレートの履歴を参照し、履歴中の配信ビットレートの平均値を配信ビットレートとして算出してもよい。また、他の例としては、ビットレート算出部３０２は、Ｈ．２６４／ＡＶＣ又はＨ．２６５／ＨＥＶＣにおけるＬｅｖｅｌ  ｌｉｍｉｔｓテーブルにおける、映像の解像度、フレームレートに対応するビットレート上限値を配信ビットレートとして算出してもよい。また、ビットレート算出部３０２は、一次記憶装置２０２に記憶されている、配信前のセグメントのデータサイズの平均値を配信ビットレートとしてもよい。なお、ビットレート算出部３０２による配信ビットレートの算出方法は実施形態に限定されるものではない。
【００２５】
ビットレート算出部３０２は、一次記憶装置２０２に格納した配信ビットレートと二次記憶装置２０３に格納されているストリーム情報の配信ビットレートの差分を求める。そして、ビットレート算出部３０２は、差分が所定の閾値を超える場合、セグメント生成部３０５に対し、セグメントにイベントヘッダを付加するイベントヘッダ付加指示を行う。ここで、イベントヘッダ付加指示は、プレイリストの更新通知の一例である。また、閾値は、予め設定されているものとする。閾値は、現在のビットレート情報に対する所定の割合（例えば５０％）でもよい。また、閾値は、Ｈ．２６４／ＡＶＣ又はＨ．２６５／ＨＥＶＣにおけるＬｅｖｅｌ  ｌｉｍｉｔｓテーブルにおける、映像の解像度、フレームレートに対応するビットレート上限値に基づく値でもよい。なお、閾値はこれらの値に限定されるものではない。
【００２６】
ビットレート算出部３０２は、イベントヘッダ付加指示後、二次記憶装置２０３に記憶されているストリーム情報の配信ビットレートを、一次記憶装置２０２に保持した配信ビットレートに置き換える。
【００２７】
プレイリスト生成部３０３は、プレイリスト要求通知を受信部３０１から受信すると、二次記憶装置２０３からストリーム情報を読み出し、読み出したストリーム情報に基づいてプレイリストを生成し、一次記憶装置２０２に格納する。本処理は、プレイリスト生成処理の一例である。その後、プレイリスト生成部３０３は、プレイリストのデータを通信装置１０２に配信する指示を配信部３０６に対して行う。プレイリスト生成部３０３は、情報配信装置１０１の処理負荷増大等により、一時的にプレイリストが生成不可である場合には、ＨＴＴＰ５０３等のエラーレスポンスを配信する指示を行うものとしてもよい。プレイリストの一例として、ＩＳＯ／ＩＥＣ２３００９−１にて定義されるＭＰＤを用いることができる。ＭＰＤでは、情報配信装置１０１が配信可能であるセグメントの情報を、配信ビットレート情報、セグメントの映像データの解像度情報、フレームレート情報、符号化方式情報、セグメント時間情報等を用いて記述することができる。
【００２８】
配信部３０６は、プレイリスト、セグメントの配信要求を受信すると、それぞれプレイリスト、セグメントを通信装置１０２に対し配信する。上記において配信部３０６が通信装置１０２からの配信要求を受信してからセグメントを配信する例を説明したが、これに限定されない。配信部３０６は、ＨＴＴＰ／２やＷｅｂｓｏｃｋｅｔなどのプロトコルによっては通信装置１０２から配信要求を受信しなくても、セグメント生成部３０５からセグメントが生成完了する度にセグメント生成通知を受信してもよい。この場合、配信部３０６は、セグメントが生成完了した時点で次々と配信するものとする。このような配信方式をサーバプッシュと呼ぶこともある。
【００２９】
図４は、セグメント生成部３０５が生成する初期化セグメント４００及びメディアセグメント４３０のデータ構成を説明する図である。初期化セグメント４００は、セグメントヘッダ４１０と、前述の映像メタデータ４２０を含む。
【００３０】
メディアセグメント４３０は、セグメントヘッダ４４０を含み、映像フレーム４６１〜４６３を符号化順に含む。セグメントヘッダ４４０は、具体的にはセグメントヘッダ４４１またはセグメントヘッダ４４２のような構成である。セグメントヘッダ４４２は、セグメント生成部３０５がイベントヘッダ付加指示を受信した際に生成するセグメントヘッダである。セグメントヘッダ４４１は、それ以外の際にセグメント生成部３０５が生成するセグメントヘッダである。
【００３１】
セグメントヘッダ４４１は、一種のファイルヘッダとして作用するｓｔｙｐボックス４５１、セグメントに関する時間情報やランダムアクセス情報を示すｓｉｄｘボックス４５２、映像フレームの詳細情報を示すｍｏｏｆボックス４５３を含む。セグメントヘッダ４４２は、セグメント生成部３０５がイベントヘッダ付加指示を受信した際に、セグメントヘッダ４４１のデータ構成にｅｍｓｇボックス４５４を付加した構成で生成される。
【００３２】
以下、ｅｍｓｇボックス４５４の各種情報がどのようにデータとして含まれるかを説明する。ｓｃｈｅｍｅ＿ｉｄ＿ｕｒｉは、スキーマ文書のｕｒｉを指定することができる。ｖａｌｕｅはｓｃｈｅｍｅ＿ｉｄ＿ｕｒｉのスキーマにおけるイベントの種別を示す。ｔｉｍｅｓｃａｌｅは、後述のｐｒｅｓｅｎｔａｔｉｏｎ＿ｔｉｍｅ＿ｄｅｌｔａ、ｅｖｅｎｔ＿ｄｕｒａｔｉｏｎの値と合わせて時間を表現するための値である。
【００３３】
ｐｒｅｓｅｎｔａｔｉｏｎ＿ｔｉｍｅ＿ｄｅｌｔａでは、セグメントヘッダ４４２を含むセグメントの再生時間から、（ｐｒｅｓｅｎｔａｔｉｏｎ＿ｔｉｍｅ＿ｄｅｌｔａ）／（ｔｉｍｅｓｃａｌｅ）［秒］の時間が経過した後にイベントを有効化することができる。ｅｖｅｎｔ＿ｄｕｒａｔｉｏｎでは、（ｅｖｅｎｔ＿ｄｕｒａｔｉｏｎ）／（ｔｉｍｅｓｃａｌｅ）［秒］として、イベントの長さを定義することができるが、０ｘ００００ｆｆｆｆとすることで、イベントの長さは不定とすることができる。ｉｄは、後述のＭＰＤのＲｅｐｒｅｓｅｎｔａｔｉｏｎにて示されるイベントｉｄを示す。
【００３４】
ｍｅｓｓａｇｅ＿ｄａｔａは、ｓｃｈｅｍｅ＿ｉｄ＿ｕｒｉのスキーマにおけるｖａｌｕｅに該当するイベントに関係する値を定義することができる。
例えば、
ｓｃｈｅｍｅ＿ｉｄ＿ｕｒｉ＝"ｕｒｎ：ｍｐｅｇ：ｄａｓｈ：ｅｖｅｎｔ：２０１２"
ｖａｌｕｅ＝１
ｔｉｍｅｓｃａｌｅ＝１２００００
ｐｒｅｓｅｎｔａｔｉｏｎ＿ｔｉｍｅ＿ｄｅｌｔａ＝２４００００
ｅｖｅｎｔ＿ｄｕｒａｔｉｏｎ＝０ｘ００００ｆｆｆｆ
ｉｄ＝１
ｍｅｓｓａｇｅ＿ｄｅｌｔａ［］＝"２０１８−１０−０１Ｔ０８:３０:１０．０"
の値が指定されたｅｍｓｇボックス４５４では、セグメントヘッダ４４２を含むセグメントの再生時間から２秒後に、発行時間が"２０１８−１０−０１Ｔ０８:３０:１０．０"であるＭＰＤ（後述）を無効化することができる。
【００３５】
映像フレーム４６１〜４６３については、例えば、４６１を独立フレーム、４６２、４６３を従属フレームとすることができる。なお、メディアセグメント４３０の先頭の映像フレームを独立フレームとしたが、メディアセグメントの先頭の映像フレームが独立フレームでないメディアセグメントがあってもよい。情報配信装置１０１は、メディアセグメント４３０を含む複数のメディアセグメントを、通信装置１０２の配信要求に応じてネットワークＩＦ２０７を通して次々に配信することができる。
【００３６】
図５は、情報配信装置１０１が通信装置１０２に配信するＭＰＤ５００の構成の一例を示す図である。プレイリスト生成部３０３は、二次記憶装置２０３に記憶されているストリーム情報に基づいて、プレイリスト、すなわちＭＰＤ５００を作成する。ＭＰＤ５００は、Ｐｅｒｉｏｄ５０１、ＡｄａｐｔａｔｉｏｎＳｅｔ５０２、Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ５０３、５２３、ＳｅｇｍｅｎｔＴｅｍｐｌａｔｅ５０４、５２４の順の要素の階層構造となっている。この階層構造によって情報配信装置１０１が通信装置１０２に配信することが可能なセグメントに関する情報を定義することができる。
【００３７】
Ｐｅｒｉｏｄ５０１は下位階層の要素が定義される期間の範囲を定義する。例えば、Ｐｅｒｉｏｄ５０１では、Ｐｅｒｉｏｄ５０１の開始時間ｓｔａｒｔを０と記述し、Ｐｅｒｉｏｄ５０１の期間の時間長ｄｕｒａｔｉｏｎを記述しないことにする。これにより、ＭＰＤ５００が有効である期間に情報配信装置１０１が配信する全てのセグメントの情報を定義することができる。ＡｄａｐｔａｔｉｏｎＳｅｔ５０２は，映像の情報を示しており、例えば同じＰｅｒｉｏｄ５０１の期間で別の視点の映像ごとに定義することができる。
【００３８】
Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ５０３では、セグメントの映像の情報として解像度やフレームレート等を定義することができる。Ｒｅｐｒｅｓｅｎｔａｔｉｏｎｉｄ５０５は、Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ５０３の識別子であり、例えば１とすることができる。Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ５０３は、解像度情報（ｗｉｄｔｈ、ｈｅｉｇｈｔ）、フレームレート情報（ｆｒａｍｅＲａｔｅ）、符号化方式情報（ｃｏｄｅｃｓ）、ＳｅｇｍｅｎｔＴｅｍｐｌａｔｅ５０４中のセグメント時間情報を含む。Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ５０３は、さらに配信ビットレート情報５０６（ｂａｎｄｗｉｄｔｈ）等を含む。配信ビットレート情報５０６は、セグメントを配信する配信ビットレートが、４００００００［ｂｐｓ］であることを示す。
【００３９】
また、Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ５０３は、初期化セグメントＵＲＩ情報５０９、及び、メディアセグメントＵＲＩ情報５１０を含んでいる。通信装置１０２は、情報配信装置１０１のＩＰアドレスを含むＭＰＤＢａｓｅＵＲＩ情報５１１、ＲｅｐｒｅｓｅｎｔａｔｉｏｎＢａｓｅＵＲＩ情報５１２を使用することにより、下記のＵＲＩにアクセスすることができる。通信装置１０２は、Ｒｅｐｒｅｓｅｎｔａｔｉｏｎｉｄ５０５から＄ＲｅｐｒｅｓｅｎｔａｔｉｏｎＩＤ＄を１とする。そして、通信装置１０２は、Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ５０３の初期化セグメントＵＲＩ及びメディアセグメントＵＲＩを、それぞれ式（１）及び式（２）で決定する。
（Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ５０３の初期化セグメントＵＲＩ）
＝（ＭＰＤＢａｓｅＵＲＩ情報５１１）＋（ＲｅｐｒｅｓｅｎｔａｔｉｏｎＢａｓｅＵＲＩ情報５１２）＋（初期化セグメントＵＲＩ情報５０９）
＝"ｈｔｔｐ：／／１９２．１６９．１００．１：８０／ｖｉｄｅｏ／ｓｔｒｅａｍ１／ｉｎｉｔ１．ｍｐ４" ・・・式（１）
（Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ５０３のメディアセグメントＵＲＩ）
＝（ＭＰＤＢａｓｅＵＲＩ情報５１１）＋（ＲｅｐｒｅｓｅｎｔａｔｉｏｎＢａｓｅＵＲＩ情報５１２）＋（メディアセグメントＵＲＩ情報５１０）
＝"ｈｔｔｐ：／／１９２．１６９．１００．１：８０／ｖｉｄｅｏ／ｓｔｒｅａｍ１／ｍｅｄｉａ１＿＄Ｎｕｍｂｅｒ＄．ｍ４ｓ"・・・式（２）
【００４０】
上記の式で、Ａ＋Ｂは、要素Ａの文字列の右側に要素Ｂの文字列を結合すること意味する。Ｎｕｍｂｅｒ＄は、テンプレート表現であり、メディアセグメントＵＲＩ情報５１０のｓｔａｒｔＮｕｍｂｅｒの値からメディアセグメントの映像の時系列順又は符号化順に評価値がインクリメントされていく。
【００４１】
実際の各メディアセグメントのＵＲＩは、以下の通りとなる。
"ｈｔｔｐ：／／１９２．１６９．１００．１：８０／ｖｉｄｅｏ／ｓｔｒｅａｍ１／ｍｅｄｉａ１＿１．ｍ４ｓ"、"ｈｔｔｐ：／／１９２．１６９．１００．１：８０／ｖｉｄｅｏ／ｓｔｒｅａｍ１／ｍｅｄｉａ１＿２．ｍ４ｓ"
【００４２】
通信装置１０２は、Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ５０３についての情報を、５０３〜５１２から取得可能であるのと同様に、Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ５２３についての情報を、５２３〜５３２から取得可能である。二次記憶装置２０３では、ＭＰＤ５００に含まれるＲｅｐｒｅｓｅｎｔａｔｉｏｎ分のセグメントに係るストリーム情報を記憶する。
【００４３】
配信部３０６は、このようなＭＰＤ５００を通信装置１０２に配信することで、通信装置１０２は情報配信装置１０１に対し、初期化セグメント又はメディアセグメントの配信要求を上記のようなＵＲＩに基づいて次々に行うことが可能となる。例えば、まず、通信装置１０２は初期化セグメントを取得し、映像再生のための初期化処理を行う。そして、通信装置１０２は、タイムスケール情報、セグメント時間情報に基づいたセグメント時間毎にメディアセグメントの配信要求を行って、順次、メディアセグメントを取得し映像を再生する。
【００４４】
また、ＭＰＤ５００中では、ＩｎｂａｎｄＥｖｅｎｔＳｔｒｅａｍ５５１にて、対応するイベントのスキーマ文書のｕｒｉ、及び、そのスキーマ文書中におけるイベント種別を示すｖａｌｕｅを記述する。これにより、情報配信装置１０１が上記のイベント通知を行うことを予めクライアントに示すことができる。
【００４５】
ＭＰＤ５００中のｐｕｂｌｉｓｈＴｉｍｅ５２２は、ＭＰＤ５００の発行時間を示す。通信装置１０２はｐｕｂｌｉｓｈＴｉｍｅ５２２の値を保持することにより、受信したセグメント中のｅｍｓｇボックス４５４のｍｅｓｓａｇｅ＿ｄａｔａと一致した場合に、ＭＰＤ５００を無効化し、新たなＭＰＤの配信要求を情報配信装置１０１に対し行う。
【００４６】
図６は、情報配信装置１０１による配信処理を示すフローチャートである。ステップＳ６０１において、受信部３０１は、イベントの発生を待ち、発生イベントの判定によって、処理動作を切り替える。受信部３０１は、発生イベントが、通信装置１０２からのＭＰＤ配信要求イベントであると判定した場合には、ステップＳ６０２に処理を進める。また、受信部３０１は、発生イベントが、通信装置１０２からのセグメント配信要求イベントであると判定した場合には、ステップＳ６０５に処理を進める。また、受信部３０１は、発生イベントが、通信装置１０２からの配信終了要求のイベントであると判定した場合には処理を終了する。
【００４７】
ステップＳ６０２において、受信部３０１は、プレイリスト生成部３０３に対しＭＰＤ要求通知を行う。次に、ステップＳ６０３において、プレイリスト生成部３０３は、二次記憶装置２０３からストリーム情報を読み出し、ストリーム情報に基づいてＭＰＤを作成し、ＭＰＤを一次記憶装置２０２に格納する。次に、ステップＳ６０４において、配信部３０６は、一次記憶装置２０２に記憶されているＭＰＤを通信装置１０２に対し配信し、その後、処理をステップＳ６０１へ進める。
【００４８】
ステップＳ６０５において、配信部３０６は、要求されたセグメントが一次記憶装置２０２に存在するか否かを判定する。配信部３０６は、要求されたセグメントが一次記憶装置２０２に存在する場合は（Ｓ６０５でＹＥＳ）、処理をステップＳ６０６へ進める。配信部３０６は、要求されたセグメントが一次記憶装置２０２に存在しない場合は（Ｓ６０５でＮＯ）、処理をステップＳ６１１へ進める。ステップＳ６０６において、ビットレート算出部３０２は、要求されたセグメントのデータサイズをセグメント時間で除して配信ビットレートを算出し、一次記憶装置２０２に格納する。
【００４９】
ステップＳ６０７において、ビットレート算出部３０２は、一次記憶装置２０２に格納した配信ビットレートと二次記憶装置２０３に保持されているストリーム情報の配信ビットレートの差分が前述の所定の閾値以上か否かを判定する。ビットレート算出部３０２は、差分が閾値以上の場合（Ｓ６０７でＹＥＳ）、処理をステップＳ６０８へ進める。ビットレート算出部３０２は、差分が閾値未満の場合は（Ｓ６０７でＮＯ）、処理をステップＳ６１０へ進める。
【００５０】
ステップＳ６０８において、ビットレート算出部３０２は、二次記憶装置２０３に記憶されているストリーム情報の配信ビットレートを、一次記憶装置２０２に格納した配信ビットレートに更新する。次に、ステップＳ６０９において、セグメント生成部３０５は、一次記憶装置２０２に存在する、通信装置１０２から要求されたセグメントのデータにイベントヘッダを付加する。次に、ステップＳ６１０において、配信部３０６は、通信装置１０２から要求されたセグメントのデータを一次記憶装置２０２から読み出し、通信装置１０２に対して配信し、その後処理をステップＳ６０１へ進める。また、ステップＳ６１１においては、配信部３０６は、通信装置１０２に対しＨＴＴＰエラーのレスポンスを配信し、その後処理をステップＳ６０１へ進める。
【００５１】
図７は、情報配信装置１０１と通信装置１０２とによる配信処理を示すシーケンス図である。まず、ステップＳ７０１において、通信装置１０２は、情報配信装置１０１に対しＭＰＤ７５１の配信要求を行う。情報配信装置１０１は、ＭＰＤ７５１の配信要求を受信すると、ステップＳ７０２において、ＭＰＤ７５１を作成して通信装置１０２に配信する。
【００５２】
次に、ステップＳ７０３において、通信装置１０２は、ＭＰＤ７５１を取得して分析した後、自己のＣＰＵ能力や表示解像度及び通信帯域などから、受信するセグメントのＲｅｐｅｓｅｎｔａｔｉｏｎを選択し、初期化セグメントの配信要求を行う。ここでは、Ｒｅｐｒｅｓｅｎｔａｔｉｏｎｉｄが１のＲｅｐｒｅｓｅｎｔａｔｉｏｎを選択、初期化セグメントｉｎｉｔ１．ｍｐ４の配信要求を行う場合を例に説明する。なお、通信装置１０２は、ＭＰＤ７５１に記載される他のＲｅｐｒｅｓｅｎｔａｉｏｎの初期化セグメントの配信要求を行ってもよく、また、初期化セグメントを情報配信装置１０１からサーバプッシュ方式で取得してもよい。次に、ステップＳ７０４において、情報配信装置１０１は、要求された初期化セグメントを通信装置１０２に返信する。本実施形態においては、情報配信装置１０１は、初期化セグメントｉｎｉｔ１．ｍｐ４を通信装置１０２に返信する。
【００５３】
次に、ステップＳ７０５において、通信装置１０２は、ステップＳ７０３で選択したＲｅｐｒｅｓｅｎｔａｔｉｏｎのメディアセグメントの配信要求を情報配信装置１０１に行う。本実施形態においては、通信装置１０２は、メディアセグメントｍｅｄｉａ１−１．ｍ４ｓの配信要求を行うものとする。なお、通信装置１０２は、ＭＰＤ５００に記載される他のメディアセグメントの配信要求を行ってもよく、また、メディアセグメントを情報配信装置１０１からサーバプッシュ方式で取得してもよい。
【００５４】
次に、ステップＳ７０６において、情報配信装置１０１は、要求されたメディアセグメントのビットレートを算出する。本実施形態においては、情報配信装置１０１は、メディアセグメントｍｅｄｉａ１−１．ｍ４ｓのビットレートを４００００００［ｂｐｓ］と算出するものとする。
【００５５】
次に、ステップＳ７０７において、情報配信装置１０１は、Ｓ７０６にて算出したビットレートと前述のストリーム情報における配信ビットレートの差が、所定の閾値より大きいかを判定する。本実施形態においては、所定の閾値を４００００００［ｂｐｓ］×５０［％］＝２００００００［ｂｐｓ］とする。本実施形態においては、情報配信装置１０１は、（式１）よりビットレートの差が、所定の閾値以下と判定する。
|（ｍｅｄｉａ１−１．ｍ４ｓのビットレート＝４００００００［ｂｐｓ］）―（Ｒｅｐｒｅｓｅｎｔａｔｉｏｎｉｄが１のＲｅｐｒｅｓｅｎｔａｔｉｏｎの配信ビットレート＝４００００００［ｂｐｓ］）|＝０
≦（所定の閾値＝２００００００［ｂｐｓ］）      …（式１）
なお、所定の閾値は、実施形態に限定されるものではなく、ＭＰＤに記載のＲｅｐｒｅｓｅｎｔａｔｉｏｎの配信ビットレートの５０［％］以外の値でもよい。
【００５６】
次に、ステップＳ７０８において、情報配信装置１０１は、要求されたメディアセグメントを通信装置１０２に返信する。本実施形態においては、情報配信装置１０１は、メディアセグメントｍｅｄｉａ１−１．ｍ４ｓを通信装置１０２に返信する。
【００５７】
次に、ステップＳ７０９において、通信装置１０２は、ステップＳ７０８で取得したメディアセグメントの次のメディアセグメントの配信要求を情報配信装置１０１に行う。本実施形態においては、メディアセグメントｍｅｄｉａ１−２．ｍ４ｓの配信要求を行うものとする。なお、通信装置１０２は、ＭＰＤ５００に記載される他のメディアセグメントの配信要求を行ってもよい。次に、ステップＳ７１０において、情報配信装置１０１は、要求されたメディアセグメントのビットレートを算出する。ここでは、情報配信装置１０１は、メディアセグメントｍｅｄｉａ１−２．ｍ４ｓのビットレートを７００００００［ｂｐｓ］と算出するものとする。
【００５８】
次に、ステップＳ７１１において、情報配信装置１０１は、Ｓ７１０にて算出したビットレートと前述のストリーム情報における配信ビットレートの差が、所定の閾値より大きいかを判定する。本実施形態においては、（式２）よりビットレートの差が、所定の閾値より大きいと判定する。
|（ｍｅｄｉａ１−２．ｍ４ｓのビットレート＝７００００００［ｂｐｓ］）―（Ｒｅｐｒｅｓｅｎｔａｔｉｏｎｉｄが１のＲｅｐｒｅｓｅｎｔａｔｉｏｎの配信ビットレート＝４００００００［ｂｐｓ］）|＝３００００００［ｂｐｓ］
＞（所定の閾値＝２００００００［ｂｐｓ］）      …（式２）
【００５９】
ステップＳ７１２において、情報配信装置１０１は、ステップＳ７１１の判定により、要求されたメディアセグメントにイベントヘッダを付加する。次に、ステップＳ７１３において、情報配信装置１０１は、ステップＳ７１２でイベントヘッダを付加したメディアセグメントを通信装置１０２に返信する。本実施形態においては、情報配信装置１０１は、セグメントヘッダにイベントヘッダが付加されたメディアセグメントｍｅｄｉａ１−２．ｍ４ｓを通信装置１０２に返信する。
【００６０】
次に、ステップＳ７１４において、通信装置１０２は、メディアセグメントｍｅｄｉａ１−２．ｍ４ｓを取得してイベントヘッダの存在を検出した後、ＭＰＤ７５１を無効化する。つまり、通信装置１０２は、以降のＭＰＤ７５１の記述に基づくセグメントの配信要求を中止する。ステップＳ７１５において、通信装置１０２は、情報配信装置１０１に対しＭＰＤ７５２の配信要求を行う。
【００６１】
ステップＳ７１６において、情報配信装置１０１は、ＭＰＤ７５２の配信要求を受信すると、ＭＰＤ７５２を作成して通信装置１０２に配信する。情報配信装置１０１は、ＭＰＤ７５１の記載のうち、少なくともＲｅｐｒｅｓｅｎｔａｔｉｏｎｉｄが１のＲｅｐｒｅｓｅｎｔａｔｉｏｎの配信ビットレート情報の数値を、ｍｅｄｉａ１−２．ｍ４ｓのビットレートに置き換える。これにより、ＭＰＤ７５１のＲｅｐｒｅｓｅｎｔａｔｉｏｎｉｄが１のＲｅｐｒｅｓｅｎｔａｔｉｏｎの配信ビットレート情報の数値は、４００００００から７００００００に置き換わる。ＭＰＤ７５１のＲｅｐｒｅｓｅｎｔａｔｉｏｎｉｄが１のＲｅｐｒｅｓｅｎｔａｔｉｏｎの配信ビットレート情報の数値が置き換得られたものが、ＭＰＤ７５２として作成される。
【００６２】
ステップＳ７１７において、通信装置１０２は、ＭＰＤ７５２を取得して分析した後、ステップＳ７０３同様Ｒｅｐｅｓｅｎｔａｔｉｏｎを選択し、初期化セグメントの配信要求を行う。本実施形態においては、ＭＰＤ７５２でＲｅｐｒｅｓｅｎｔａｔｉｏｎｉｄが２のＲｅｐｒｅｓｅｎｔａｔｉｏｎを選択し、初期化セグメントｉｎｉｔ２．ｍｐ４の配信要求を行うものとする。なお、通信装置１０２は、ＭＰＤ７５２に記載される他のＲｅｐｒｅｓｅｎｔａｉｏｎの初期化セグメントの配信要求を行ってもよく、また、初期化セグメントを情報配信装置１０１からサーバプッシュ方式で取得してもよい。また、ｉｎｉｔ１．ｍｐ４等必要な初期化セグメントのデータが既に通信装置１０２内に存在する場合は、初期化セグメントの配信要求を行わなくてもよい。
【００６３】
次に、ステップＳ７１８において、情報配信装置１０１は、要求された初期化セグメントを通信装置１０２に返信する。図７の場合、情報配信装置１０１は、初期化セグメントｉｎｉｔ２．ｍｐ４を通信装置１０２に返信する。次に、ステップＳ７１９において、通信装置１０２は、情報配信装置１０１に対し、通信装置１０２は、ステップＳ７１５で選択したＲｅｐｒｅｓｅｎｔａｔｉｏｎのメディアセグメントの配信要求を情報配信装置１０１に行う。本実施形態においては、通信装置１０２は、メディアセグメントｍｅｄｉａ２−３．ｍ４ｓの配信要求を行うものとする。
【００６４】
次に、ステップＳ７２０において、情報配信装置１０１は、要求されたメディアセグメントのビットレートを算出する。本実施形態においては、情報配信装置１０１は、メディアセグメントｍｅｄｉａ２−３．ｍ４ｓのビットレートを２５０００００［ｂｐｓ］と算出するものとする。
【００６５】
次に、ステップＳ７２１において、情報配信装置１０１は、Ｓ７２０にて算出したビットレートとストリーム情報における配信ビットレートの差が、所定の閾値より大きいかを判定する。本実施形態においては、所定の閾値を２００００００［ｂｐｓ］×５０［％］＝１００００００［ｂｐｓ］とする。本実施形態においては、情報配信装置１０１は、（式３）よりビットレートの差が、所定の閾値以下と判定する。
|（ｍｅｄｉａ２−３．ｍ４ｓのビットレート＝２５０００００［ｂｐｓ］）―（Ｒｅｐｒｅｓｅｎｔａｔｉｏｎｉｄが２のＲｅｐｒｅｓｅｎｔａｔｉｏｎの配信ビットレート＝２００００００［ｂｐｓ］）|＝５０００００
≦（所定の閾値＝１００００００［ｂｐｓ］）      …（式３）
【００６６】
次に、ステップＳ７２２において、情報配信装置１０１は、要求されたメディアセグメントを通信装置１０２に返信する。本実施形態においては、情報配信装置１０１は、メディアセグメントｍｅｄｉａ２−３．ｍ４ｓを通信装置１０２に返信する。
【００６７】
なお、ステップＳ７１６において、情報配信装置１０１は、Ｒｅｐｒｅｓｅｎｔａｔｉｏｎｉｄが１のＲｅｐｒｅｓｅｎｔａｔｉｏｎの配信ビットレート情報の数値を更新した。このとき、情報配信装置１０１は、その他のＲｅｐｒｅｓｅｎｔａｔｉｏｎｉｄのＲｅｐｒｅｓｅｎｔａｔｉｏｎの配信ビットレート情報も更新してもよい。その後も同様に、通信装置１０２は、情報配信装置１０１からＭＰＤ、セグメントを順次取得する。情報配信装置１０１は、要求されたメディアセグメントを通信装置１０２に返信する。
【００６８】
セグメントヘッダ４４２は、セグメント生成部３０５がイベントヘッダ付加指示を受信した際に、セグメントヘッダ４４１のデータ構成に対し、イベントヘッダとして作用するｅｍｓｇボックス４５４を付加して生成されるものとした。ただし、予めイベントヘッダを含むセグメントヘッダを用いてセグメントを生成してもよい。
【００６９】
このように、情報配信装置１０１は、通信装置１０２に配信するセグメントのビットレートとＭＰＤ５００に係るビットレートの差が閾値を超える際に、イベントヘッダを付加したセグメントを通信装置１０２に配信しＭＰＤ５００の取得を促す。これにより、情報配信装置１０１は、通信装置１０２に対し、セグメントのビットレートの情報をリアルタイムに供給することができる。これにより、情報配信装置１０１は、クライアント装置としての通信装置１０２に特別な仕組みを準備することなく、情報配信装置１０１から配信されるメディアデータの配信時の品質劣化を防ぐことができる。
【００７０】
本実施形態では、セグメント生成部３０５が生成するセグメントは映像データを含むものとしたが、セグメント生成部３０５は音声データを含むメディアセグメントを生成可能としてもよい。
【００７１】
また、本実施形態では、情報配信装置１０１の機能構成に、映像データ生成部３０４が含まれるものとした。ただし、情報配信装置１０１は、映像データ生成部３０４の機能を持つ他の装置と通信を行うことにより、機能構成に受信部３０１、ビットレート算出部３０２、プレイリスト生成部３０３、セグメント生成部３０５、配信部３０６のみを含むものとしてもよい。このように、複数の装置の協働により、本実施形態に係る情報配信装置１０１の機能構成を実現することとしてもよい。
【００７２】
（第２の実施形態）
次に、第２の実施形態に係る情報配信システムについて、第１の実施形態に係る情報配信システムと異なる点を主に説明する。図８は、第２の実施形態に係る情報配信装置１０１による配信処理を示すフローチャートである。なお、図８に示す配信処理の各処理のうち、図６を参照しつつ説明した第１の実施形態に係る配信処理の各処理と同一の処理には、同一の番号を付している。
【００７３】
Ｓ６０５において、配信部３０６は、要求されたセグメントが一次記憶装置２０２に存在する場合には（Ｓ６０５でＹＥＳ）、処理をＳ８０１へ進める。Ｓ８０１において、ビットレート算出部３０２は、要求されたセグメントに対応するＲｅｐｒｅｓｅｎｔａｔｉｏｎの映像フレーム生成について、ＧＯＰ長の時間が経過したかどうかを判定する。ビットレート算出部３０２は、ＧＯＰ長の時間が経過した場合は（Ｓ８０１でＹＥＳ）、処理をＳ８０２へ進める。ビットレート算出部３０２は、ＧＯＰ長の時間が経過していない場合は（Ｓ８０１でＮＯ）、処理をＳ６１０へ進める。
【００７４】
ＧＯＰ長の時間が経過したかどうかを判定するには、例えば、ＭＰＤ５００における各Ｒｅｐｒｅｓｅｎｔａｔｉｏｎの映像フレーム生成についてのＧＯＰ長の時間が二次記憶装置２０３において、ストリーム情報として格納されているものとする。そして、ビットレート算出部３０２は、タイマでＧＯＰ長の時間の経過をカウントし、Ｓ８０１において、ビットレート算出部３０２は、ＧＯＰ長の時間が経過した場合には、タイマのカウントをリセットするようにすればよい。なお、ＧＯＰ長の時間の経過の判定方法はこれに限らない。
【００７５】
Ｓ８０２において、ビットレート算出部３０２は、配信部３０６が配信したＧＯＰ長の時間分のセグメントに含まれる映像データのデータサイズの合計をＧＯＰ長の時間で除して配信ビットレートを算出し、一次記憶装置２０２に格納する。ビットレート算出部３０２は、Ｓ８０２の処理の後、処理をＳ６０７へ進める。ここで、ＧＯＰは、１以上のフレームを含んだグループであって、かつグループ内のメディアデータを他のグループを参照せずに復号可能なグループの一例である。なお、これ以外の第２の実施形態に係る情報配信システムの構成及び処理は、第１の実施形態において説明した情報配信システムの構成及び処理と同様である。
【００７６】
このように、第２の情報配信装置１０１は、通信装置１０２に対し配信する映像データのＧＯＰ時間分の配信ビットレートとＭＰＤ５００に係るビットレートの差が閾値を超える際に、イベントヘッダを付加することで、通信装置１０２にＭＰＤの取得を促す。
【００７７】
一般に独立フレームのデータサイズは従属フレームのデータサイズより非常に大きい。例えば、図４にて示したような独立フレームを含むメディアセグメントのデータサイズは、独立フレームを含まないメディアセグメントのデータサイズより非常に大きくなる傾向がある。そのため、独立フレームを含むメディアセグメントと独立フレームを含まないメディアセグメントの両者とも、情報配信装置１０１が配信する場合、通信装置１０２に配信するメディアセグメントのデータサイズに変動が生じやすくなる。変動はＧＯＰ時間の単位で周期性を持つ傾向がある。したがって、本実施形態では、情報配信装置１０１は、通信装置１０２に対し、個々のセグメントのデータサイズが変動しつつも周期性があるような場合に正確にビットレートの情報を供給することができる。
【００７８】
なお、上述の実施形態においては、ＤＡＳＨ配信を例に説明した。但し、情報配信装置１０１及び通信装置１０２の上記処理は、ＨＬＳ配信など他のアダプティブストリーミング技術にも適用可能である。
【００７９】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００８０】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８１】
１０１  情報配信装置
１０２  通信装置
３０１  受信部
３０２  ビットレート算出部
３０３  プレイリスト生成部
３０４  映像データ生成部
３０５  セグメント生成部
３０６  配信部
【図１】
2020136907.tif 000003
【図２】
2020136907.tif 000004
【図３】
2020136907.tif 000005
【図４】
2020136907.tif 000006
【図５】
2020136907.tif 000007
【図６】
2020136907.tif 000008
【図７】
2020136907.tif 000009
【図８】
2020136907.tif 000010