(57)【要約】ＭＰ４ファイルのサイド情報は、複数のヒント情報を組として複数組のヒント情報を管理し、各組のヒント情報が、階層符号化データをどのように階層分割するか、すなわち階層符号化データのパケタイズ方法を表す。ストリーミングサーバは、このサイド情報を参照して、目的の配信サービスに合致する一組のヒント情報を選択し、選択された一組のヒント情報を参照しながら、前記階層符号化データをパケタイズして配信する。
2003075524.tif 000002
【特許請求の範囲】
【請求項１】
階層符号化データのパケタイズ方法を表すヒント情報を参照しながら、該階層符号化データを配信する配信装置であって、
前記階層符号化データおよびヒント情報を格納するデータ格納部と、
配信サービスに依存した階層分割方法に従って前記階層符号化データを配信するための複数のヒント情報を一組として、複数の配信サービスのための複数組のヒント情報を管理する管理情報であって、各組を構成する複数のヒント情報と分割された階層符号化データの対応関係および複数組のヒント情報と複数の階層分割方法の対応関係を表す管理情報を格納する管理情報格納部と、
前記管理情報を参照して、目的の配信サービスに合致する一組のヒント情報を選択する選択部と、
選択された一組のヒント情報を参照しながら、前記階層符号化データをパケタイズして配信する配信部と
を備えることを特徴とする配信装置。
【請求項２】
前記データ格納部は、複数組間で共通なヒント情報が存在する場合、複数組間で冗長なヒント情報を除いた互いに異なるヒント情報を格納し、前記管理情報格納部は、該共通なヒント情報と複数の配信サービスの対応関係を表す管理情報を格納することを特徴とする請求項１記載の配信装置。
【請求項３】
前記管理情報格納部は、各組のヒント情報がマルチキャスト配信に使用される組か、ユニキャスト配信に使用される組か、あるいはマルチキャスト配信とユニキャスト配信の両方に使用できる組かを表す管理情報を格納することを特徴とする請求項１記載の配信装置。
【請求項４】
前記管理情報格納部は、ヒント情報を参照するための参照情報と前記分割された階層符号化データの階層を指定する指定情報とを含む複数のストリーム情報構造体と、前記複数の階層分割方法のそれぞれに対応し、２つ以上のストリーム情報構造体を管理する複数のデータ構造体とからなる管理情報を格納することを特徴とする請求項１記載の配信装置。
【請求項５】
前記選択部は、前記目的の配信サービスにおける段階的画質変更の粒度に合致するデータ構造体を取得し、取得したデータ構造体が管理するストリーム情報構造体の参照情報に基いてヒント情報を参照し、参照したヒント情報のビットレート情報が該目的の配信サービスに適しているか否かを判定して、前記目的の配信サービスに合致する一組のヒント情報を選択することを特徴とする請求項４記載の配信装置。
【請求項６】
階層符号化データのパケタイズ方法を表すヒント情報を参照しながら、該階層符号化データを配信する配信装置であって、
前記階層符号化データおよびヒント情報を格納するデータ格納部と、
配信サービスに依存した階層分割方法に従って前記階層符号化データを配信するための複数のヒント情報を一組として、複数の配信サービスのための複数組のヒント情報を管理する管理情報であって、各組を構成する複数のヒント情報と分割された階層符号化データの対応関係および複数組のヒント情報と複数の階層分割方法の対応関係を表す管理情報を格納する管理情報格納部と、
前記管理情報を参照して、目的の配信サービスに合致する複数組のヒント情報を選択する選択部と、
選択された複数組のヒント情報を参照しながら、前記階層符号化データをパケタイズして配信する配信部と
を備えることを特徴とする配信装置。
【請求項７】
階層化データのパケタイズ方法を表すヒント情報を参照しながら、該階層化データを配信する配信装置であって、
前記階層化データおよびヒント情報を格納するデータ格納部と、
前記階層化データを階層分割して配信するための複数のヒント情報を一組として、複数の階層分割方法に対応する複数組のヒント情報を管理する管理情報であって、各階層分割方法と各ヒント情報の対応関係を表す管理情報を格納する管理情報格納部と、
前記管理情報を参照して、目的の配信サービスに合致する一組のヒント情報を選択する選択部と、
選択された一組のヒント情報を参照しながら、前記階層化データをパケタイズして配信する配信部と
を備えることを特徴とする配信装置。
【請求項８】
階層符号化データのパケタイズ方法を表すヒント情報を参照しながら、該階層符号化データを配信する配信方法であって、
配信サービスに依存した階層分割方法に従って前記階層符号化データを配信するための複数のヒント情報を一組として、複数の配信サービスのための複数組のヒント情報を管理する管理情報であって、各組を構成する複数のヒント情報と分割された階層符号化データの対応関係および複数組のヒント情報と複数の階層分割方法の対応関係を表す管理情報を参照して、目的の配信サービスに合致する一組のヒント情報を選択し、
選択された一組のヒント情報を参照しながら、前記階層符号化データをパケタイズして配信する
ことを特徴とする配信方法。
【請求項９】
階層化データのパケタイズ方法を表すヒント情報を参照しながら、該階層化データを配信する配信方法であって、
前記階層化データを階層分割して配信するための複数のヒント情報を一組として、複数の階層分割方法に対応する複数組のヒント情報を管理する管理情報であって、各階層分割方法と各ヒント情報の対応関係を表す管理情報を参照して、目的の配信サービスに合致する一組のヒント情報を選択し、
選択された一組のヒント情報を参照しながら、前記階層化データをパケタイズして配信する
ことを特徴とする配信方法。
【発明の詳細な説明】
技術分野
本発明は、音楽、映像等のデジタル化されたマルチメディアデータのストリーミング配信を行う装置および方法に関する。
背景技術
ＭＰＥＧ−４ファイルフォーマット（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ  ｐｈａｓｅ  ４  Ｆｉｌｅ  Ｆｏｒｍａｔ，ＭＰ４）は、ＩＳＯ／ＩＥＣ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｏｒｇａｎｉｚａｔｉｏｎ  ｆｏｒ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ／Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｅｌｅｃｔｒｏｔｅｃｈｎｉｃａｌ  Ｃｏｍｍｉｓｓｉｏｎ）１４４９６−１（ＭＰＥＧ−４  Ｓｙｓｔｅｍｓ  Ｐａｒｔ）で定められた国際標準のファイルフォーマット仕様であり、ＩＳＯ／ＩＥＣで国際標準になっている音声／映像符号化データ（Ａｕｄｉｏ／Ｖｉｓｕａｌ  Ｃｏｄｅｃ  Ｄａｔａ）を格納できる仕様になっている。
また、サーバ側でストリーミング用データのコンテナとしてＭＰ４ファイルを使用する場合、ストリーミング配信の際にサーバがトランスポートパケットを容易に作成するための補助情報として、ヒント（ｈｉｎｔ）情報が用いられる。ＭＰ４は、このヒント情報も格納することができる仕様になっている。
なお、ヒント情報の仕様は、ＩＳＯ／ＩＥＣ  １４４９６−１で現在標準化作業中であり、Ａｐｐｌｅ  Ｉｎｃ．のＱｕｉｃｋＴｉｍｅ（登録商標）の仕様に準拠して作業が進行している。ＭＰ４自体の仕様も、ＱｕｉｃｋＴｉｍｅ（登録商標）の仕様に基づいて改良され、策定された経緯がある。
ヒント情報には、主としてデータのパケタイズ方法（分割方法）が記述され、サーバは、記述された方法に基いて映像符号化データをパケタイズする。また、ヒント情報のデータフォーマット中には、そのヒント情報を使用して映像符号化データをパケタイズ処理してストリーミング配信した場合の平均ビットレート情報や最大ビットレート情報が記述できる。
サーバは、このようなビットレート情報に基づいて、配信ネットワークの利用可能帯域や受信端末の処理能力に応じて、ヒント情報を選択することができる。これにより、スケーラブルなストリーミング配信が実現される。
図１は、このような従来のストリーミングサーバの構成図である。図１のサーバ２１は、記憶装置３１、パケット生成処理部３２、送信処理部３３、およびヒント情報選択器３４を備える。
記憶装置３１は、例えば、ハードディスクドライブであり、複数のＭＰ４ファイル３５を格納する。各ＭＰ４ファイル３５には、コーデックデータ３６および複数のヒント情報３７が含まれる。ヒント情報選択器３４は、ヒント情報３７に記述されたビットレート情報と指示された配信方法に基いてヒント情報を選択し、パケット生成処理部３２は、選択されたヒント情報に基いてコーデックデータ３６をパケタイズする。そして、送信処理部３３は、生成されたパケットを通信ネットワーク２２を介して受信端末に送信する。
このようなストリーミング配信方法によれば、予め様々なパケット形式で映像符号化データを分割しておき、パケット形式毎に映像符号化データをディスクに保持する必要がない。その代わりに、一塊の映像符号化データと様々なパケタイズ処理方法に関するヒント情報のみを保持すればよいので、ディスク格納効率を向上させる効果がある。
図２は、ＭＰ４ファイル３５の生成方法を示している。ＭＰ４生成器４４は、映像符号化データ（Ｖｉｄｅｏコーデックデータ）４１と音声符号化データ（Ａｕｄｉｏコーデックデータ）４２からＭＰ４ファイル３５を生成し、ヒント情報生成器４５は、ヒント情報生成指示情報４３を用いてヒント情報を生成する。
ＭＰ４ファイル３５は、大きく分けて、各種インデックス情報を管理する部位であるｍｏｏｖ４７と、符号化データの実体を管理する部位であるｍｄａｔ４８からなる。ｍｏｏｖ４７には、ｍｄａｔ４８の符号化データに対応して、トラック管理部（ｔｒａｋ）が複数存在する。
例えば、メディアトラック（ｍｅｄｉａ  ｔｒａｋ）４９は、Ｖｉｄｅｏコーデックデータ５３のインデックスを管理し、メディアトラック５０は、Ａｕｄｉｏコーデックデータ５４のインデックスを管理する。
各メディアトラックは、図３に示すように、識別情報（ＩＤ）６１、参照先識別情報（ＲｅｆＩＤ）６２、および複数のインデックス情報（ｉｄｘ情報）６３をリストとして管理する。インデックス情報６３は、再生に必要な最小単位の符号化データ（アクセスユニット）毎に設けられ、ｎ番目のインデックス情報（ｉｄｘ情報＃ｎ）は、ｎ番目のアクセスユニット（ＡＵ＃ｎ）のファイル中の位置情報（ｏｆｆｓｅｔ  Ｍｎ、ｓｉｚｅ  Ｍｎ）や時刻情報（ｄｕｒａｔｉｏｎ  Ｍｎ）を含む。
また、ヒント情報は、ｍｏｏｖ４７内のヒントトラック（ｈｉｎｔ  ｔｒａｋ）とｍｄａｔ４８内のヒントサンプル（ｈｉｎｔ  ｓａｍｐｌｅ）に分けて格納される。ヒントサンプルは、符号化データのアクセスユニット毎のパケタイズ処理方法に関する情報である。図２では、ヒントトラック５１は、Ｖｉｄｅｏコーデックデータ５３のためのヒントサンプル５５を管理し、ヒントトラック５２は、Ａｕｄｉｏコーデックデータ５４のためのヒントサンプル５６を管理する。
各ヒントトラックは、図３に示すように、識別情報（ＩＤ）７１、参照先識別情報（ＲｅｆＩＤ）７２、ビットレート情報７３、および複数のインデックス情報（ｉｄｘ情報）７４をリストとして管理する。参照先識別情報７２は、ヒントトラックが参照するメディアトラックの識別情報であり、ビットレート情報７３は、パケタイズ処理によるストリーミング配信のビットレートの情報である。
インデックス情報７４は、参照先のメディアトラックが管理するアクセスユニットのパケタイズ方法毎に設けられ、ｍ番目のインデックス情報（ｉｄｘ情報＃ｍ）は、ｍ番目のパケタイズ方法（ｓａｍｐｌｅ＃ｍ）の位置情報（ｏｆｆｓｅｔ  Ｍｍ、ｓｉｚｅ  Ｍｍ）や時刻情報（ｄｕｒａｔｉｏｎ  Ｍｍ）を含む。
ｓａｍｐｌｅ＃ｍは、アクセスユニットの分割方法を表しており、分割後のデータ毎に、参照先識別情報（ＲｅｆＩＤ）７５、データのサイズ（ｌｅｎｇｔｈ）７６、アクセスユニット内でのデータの位置（ｏｆｆｓｅｔ）７７、およびアクセスユニットの識別情報（ＡＵ＃）７８を管理する。
図１のパケット生成処理部３２は、図４に示すように、ヒントトラックの参照先のメディアトラックが管理する符号化データの各アクセスユニットについて、そのヒントトラックが管理するヒントサンプルの情報を使用して、パケタイズ処理を行う。こうして、トランスポートヘッダ８１とペイロード８２からなるパケットが生成される。
次に、このようなＭＰ４ファイルに階層映像符号化データとそのヒント情報を格納する場合を考えてみる。階層映像符号化は、極端な画質劣化を伴うことなく、ネットワーク通信状況に合わせて、段階的なデータの追加や間引き（段階的画質変更）が容易な符号化方式であり、ＭＰＥＧ−１、ＭＰＥＧ−２、およびＭＰＥＧ−４がこれに該当する。ＭＰＥＧ−４の中でも、ＦＧＳ（Ｆｉｎｅ  Ｇｒａｎｕｌａｒ  Ｓｃａｌａｂｉｌｉｔｙ）プロファイルが有名である。
階層映像符号化データ自身が有する最細粒度の階層に対して、何段階の間引き方にするか、および各階層をどのようにペアリングするかを決定する階層分割方法のバリエーションに応じて、ヒント情報も複数のバリエーションが考えられる。また、ユニキャスト配信するか、あるいはマルチキャスト配信するかに依存して、ヒント情報のバリエーションは増える。
図５は、仮想的な階層映像符号化データのユニキャスト配信時のデータフローを示している。この場合、階層映像符号化データ（Ｌａｙｅｒｅｄ  Ｃｏｄｅｃ  Ｄａｔａ）９１は、Ｌ０、Ｌ１、およびＬ２の３つのレイヤからなり、サーバ２１から各クライアントへは１つのチャネルでデータが配信される。
例えば、サーバ２１は、階層映像符号化データ９１からヒント情報＃０に基いてパケット１０１を生成し、ルータ９２を介してクライアント９３に配信する。同様にして、階層映像符号化データ９１からヒント情報＃１、＃２に基いてパケット１０２、１０３を生成し、それぞれクライアント９４、９５に配信する。
この場合、画質とビットレートが互いに対応しており、クライアント９３は、最も低いビットレートで最も低い画質の映像を受信する。一方、クライアント９５は、最も高いビットレートで最も高い画質の映像を受信する。したがって、サーバ２１は、各ヒント情報に含まれるビットレート情報を参照することで、画質に応じたヒント情報を選択することができる。
これに対して、マルチキャスト配信時には、図６のようなデータフローが発生すると予想される。この場合、サーバ２１から各クライアントへは、各レイヤのデータがそれぞれ異なるチャネルで配信される。
例えば、サーバ２１は、階層映像符号化データ９１からヒント情報＃０（図５のパケット１０１のためのヒント情報と共通）に基いてパケット１０４を生成し、マルチキャストルータ９６に送信する。同様にして、階層映像符号化データ９１からヒント情報＃３、＃４に基いて、それぞれパケット１０５、１０６を生成し、マルチキャストルータ９６に送信する。
マルチキャストルータ９６は、クライアント９３にパケット１０４を配信し、クライアント９４にパケット１０４、１０５を配信し、クライアント９５にパケット１０４、１０５、１０６を配信する。したがって、クライアント９３は、最も低い画質の映像を受信し、クライアント９５は、最も高い画質の映像を受信する。
しかしながら、ユニキャスト配信とは異なり、ビットレートが画質を反映していないため、サーバ２１は、ビットレート情報を参照するだけでは適切なヒント情報を選択することができない。
図７は、図５および図６のような階層映像符号化データの配信を行うための仮想的なＭＰ４ファイルの構成を示している。ｍｏｏｖ４７には、階層映像符号化データ１１７を管理するメディアトラック１１１と、ヒントサンプル１１８〜１２２を管理するヒントトラック１１２〜１１６が格納される。ヒントサンプル１１８、１１９、１２０、１２１、および１２２は、それぞれ、ヒント情報＃０、＃１、＃２、＃３、および＃４のパケタイズ方法を保持する。
このように、現在のＭＰ４の仕様では複数のヒント情報を格納することができるが、次のような問題がある。
（１）メディアトラックに管理された階層映像符号化データに対して、ある階層分割方法に従った複数のヒント情報を格納しても、各ヒント情報が階層映像符号化データをどのように階層分割しているのかを示すことができない。このため、ヒント情報選択器３４は、サービスに合致したヒント情報を選択することができず、サービスに合致した配信ポートに、ヒント情報に基づいて生成されるストリームデータを関連付けることができない。
（２）上記の複数のヒント情報を一組として、複数の階層分割方法に対応した複数組のヒント情報を格納しても、複数のヒント情報を組として管理することができない。このため、ヒント情報選択器３４は、サービスに合致したヒント情報の組を選択することができない。
（３）（２）の問題に関して、特に、ユニキャスト配信に使用できる組か、マルチキャスト配信に使用できる組かを示す情報がないため、ヒント情報選択器３４は、配信方法に合致したヒント情報の組を選択することができない。
発明の開示
本発明の課題は、階層映像符号化データのパケタイズ方法を表す複数のヒント情報の中からサービスに合致するヒント情報を選択して、階層映像符号化データのストリーミング配信を行う装置および方法を提供することである。
本発明の配信装置は、データ格納部、管理情報格納部、選択部、および配信部を備える。
本発明の第１の局面において、データ格納部は、階層符号化データおよびヒント情報を格納し、管理情報格納部は、管理情報を格納する。管理情報は、配信サービスに依存した階層分割方法に従って階層符号化データを配信するための複数のヒント情報を一組として、複数の配信サービスのための複数組のヒント情報を管理し、各組を構成する複数のヒント情報と分割された階層符号化データの対応関係を表すとともに、複数組のヒント情報と複数の階層分割方法の対応関係を表す。選択部は、管理情報を参照して、目的の配信サービスに合致する一組のヒント情報を選択し、配信部は、選択された一組のヒント情報を参照しながら、階層符号化データをパケタイズして配信する。
データ格納部に格納された階層符号化データは、映像や音声を含む任意のメディアの階層符号化データである。管理情報格納部に格納された管理情報によれば、複数組のヒント情報の各組がどの階層分割方法に対応するかを示すことができ、さらに、ある階層分割方法に対応する複数のヒント情報のそれぞれが階層符号化データをどのように階層分割しているのかを示すことができる。
したがって、選択部は、管理情報を参照することで、複数組のヒント情報の中から目的の配信サービスに合致するヒント情報の組を容易に選択することができ、配信部は、そのサービスに合致したストリーム配信を行うことができる。
また、本発明の第２の局面において、データ格納部は、階層化データおよびヒント情報を格納し、管理情報格納部は、管理情報を格納する。管理情報は、階層化データを階層分割して配信するための複数のヒント情報を一組として、複数の階層分割方法に対応する複数組のヒント情報を管理し、各階層分割方法と各ヒント情報の対応関係を表す。選択部は、管理情報を参照して、目的の配信サービスに合致する一組のヒント情報を選択し、配信部は、選択された一組のヒント情報を参照しながら、階層化データをパケタイズして配信する。
データ格納部に格納された階層化データは、映像や音声を含む任意のメディアの階層化データであり、符号化されていてもよく、符号化されていなくてもよい。管理情報格納部に格納された管理情報によれば、複数組のヒント情報の各組がどの階層分割方法に対応するかを示すことができる。
したがって、選択部は、管埋情報を参照することで、複数組のヒント情報の中から目的の配信サービスに合致するヒント情報の組を容易に選択することができ、配信部は、そのサービスに合致したストリーム配信を行うことができる。
配信装置は、例えば、後述する図９のストリーミングサーバに対応する。この場合、データ格納部および管理情報格納部は、記憶装置３１に対応し、選択部は、ヒント情報選択器１７１に対応し、配信部は、パケット生成処理部３２および送信処理部３３に対応する。また、管理情報は、後述する図８のサイド情報１５７に対応する。
発明を実施するための最良の形態
以下、図面を参照しながら、本発明の実施の形態を詳細に説明する。
本実施形態においては、複数のヒント情報を一組として複数組のヒント情報を管理する管理情報として、サイド情報をＭＰ４ファイルに格納する。このサイド情報は、各組のヒント情報が階層映像符号化データをどのように階層分割するかに関する情報と、各組のヒント情報がマルチキャスト配信に使用できる組か、ユニキャスト配信に使用できる組か、あるいは両方に使用できる組かに関する情報を含む。
また、複数組間で共通なヒント情報が存在する場合、ファイルサイズを削減するために、複数組間で冗長なヒント情報を除き、互いに異なるヒント情報をＭＰ４ファイルに格納する。
図８は、このようなＭＰ４ファイルの生成方法を示している。ＭＰ４生成器１３３は、階層映像符号化データ１３１からＭＰ４ファイル１３５を生成し、ヒント情報生成器１３４は、ヒント情報生成指示情報１３２を用いてヒント情報を生成する。
ＭＰ４ファイル１３５は、ｍｏｏｖ１４１およびｍｄａｔ１４２からなり、ｍｏｏｖ１４１には、メディアトラック１５１、ヒントトラック１５２〜１５６、およびサイド情報１５７が含まれる。また、ｍｄａｔ１４２には、階層映像符号化データ１６１およびヒントサンプル１６２〜１６６が含まれる。
メディアトラック１５１は、階層映像符号化データ１１７を管理し、ヒントトラック１５２〜１５６は、それぞれ、ヒントサンプル１６２〜１６６を管理する。そして、ヒントトラック１５２〜１５６は、メディアトラック１５１の識別情報を参照先として保持する。
ここで、ヒントサンプル１６２は、レイヤＬ０のデータのみを使用するパケタイズ方法を表し、ユニキャスト配信およびマルチキャスト配信の両方に使用できる。また、ヒントサンプル１６３は、レイヤＬ０およびＬ１のデータを使用するパケタイズ方法を表し、ユニキャスト配信に使用される。
ヒントサンプル１６４は、レイヤＬ０、Ｌ１、およびＬ２のデータを使用するパケタイズ方法を表し、ユニキャスト配信に使用される。ヒントサンプル１６５は、レイヤＬ１のみのデータを使用するパケタイズ方法を表し、マルチキャスト配信に使用される。また、ヒントサンプル１６６は、レイヤＬ２のみのデータを使用するパケタイズ方法を表し、マルチキャスト配信に使用される。
なお、図８の構成は一例に過ぎず、一般には、任意の数のレイヤからなる任意の階層符号化データと、それに対する任意の数のヒント情報とを、ＭＰ４ファイル１３５に格納することができる。
図９は、ＭＰ４ファイル１３５の階層映像符号化データ１６１を配信するストリーミングサーバの構成図である。図９のサーバ２１は、記憶装置３１、パケット生成処理部３２、送信処理部３３、およびヒント情報選択器１７１を備え、ヒント情報選択器１７１は、サイド情報解釈器１７２を含む。
記憶装置３１は、複数のＭＰ４ファイル１３５を格納する。ヒント情報選択器１７１は、ＭＰ４ファイル１３５に記述されたサイド情報を読み出し、サイド情報解釈器１７２は、読み出されたサイド情報を解釈する。そして、ヒント情報選択器１７１は、サイド情報の解釈結果と指示された配信方法に基いて１つ以上のヒント情報を選択し、パケット生成処理部３２に渡す。配信方法としては、例えば、サービスに合致する画質（データの粒度）、ビットレート、ユニキャスト／マルチキャストの種別等が指示される。
このようなストリーミングサーバによれば、階層映像符号化データを配信する際に、サイド情報を参照することでサービスに合致するヒント情報の組を選択することが可能となり、適切なストリーミング配信が実現される。
パケット生成処理部３２、送信処理部３３、ヒント情報選択器１７１、およびサイド情報解釈器１７２の機能は、ソフトウェアおよびハードウェアのいずれでも実現可能である。ソフトウェアの場合は、サーバのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）に必要な処理を実行させるプログラムにより実現され、ハードウェアの場合は、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）や論理回路等により実現される。
次に、図１０から図１５までを参照しながら、サイド情報の構造とヒント情報選択方法の例について詳細に説明する。
サイド情報は、複数のストリーム情報構造体（ｓｔｒｅａｍＩｎｆｏ構造体）と、２つ以上のストリーム情報構造体を管理する複数のデータ構造体（ｃｏｎｆｉｇＤａｔａ構造体）とからなる。各データ構造体は、複数の階層分割方法のそれぞれに対応して生成され、各ストリーム情報構造体は、ヒント情報を参照するための参照情報と、分割された階層映像符号化データの階層を指定する指定情報とを含む。
図１０は、１つのメディア（映像、音声等）あたりのサイド情報のデータ構造を示している。サイド情報は、階層映像符号化データ自体が有する最細粒度の構造規定に基づき、単数／複数の階層の組み合わせのバリエーションを体系付けた構造を有し、ｃｏｎｆｉｇＤａｔａリスト１８１とｓｔｒｅａｍＩｎｆｏリスト１９１からなる。
ｃｏｎｆｉｇＤａｔａリスト１８１は、階層映像符号化データの最細粒度（ｍａｘ＿Ｌａｙｅｒｓ）１８２、ｃｏｎｆｉｇＤａｔａ構造体の総数（ｘ）１８３、および複数のｃｏｎｆｉｇＤａｔａ構造体１８４からなる。また、ｓｔｒｅａｍＩｎｆｏリスト１９１は、ｓｔｒｅａｍＩｎｆｏ構造体の総数（ｎ）１９２と複数のｓｔｒｅａｍＩｎｆｏ構造体１９３からなる。
各ｃｏｎｆｉｇＤａｔａ構造体１８４は、ｈｉｇｈｅｓｔ＿ＬａｙｅｒＮｂ１８５、ｇｒａｎｕｌａｒｉｔｙ１８６、およびｔｏｐＳｔｒｅａｍＩＤ１８７からなり、階層映像符号化データの階層分割方法毎に生成される。
ｈｉｇｈｅｓｔ＿ＬａｙｅｒＮｂ１８５は、ｍａｘ＿Ｌａｙｅｒｓ１８２の階層構造に対応して割り付けられたレイヤ番号の上限値であり、ｇｒａｎｕｌａｒｉｔｙ１８６は、実現できる段階的画質変更の粒度（サービスの粒度）を表す。また、ｔｏｐＳｔｒｅａｍＩＤ１８７は、ｓｔｒｅａｍＩｎｆｏリスト１９１の先頭ｓｔｒｅａｍＩｎｆｏ構造体の識別情報である。
また、各ｓｔｒｅａｍＩｎｆｏ構造体１９３は、ＳｔｒｅａｍＩＤ１９４、ｍｕｌｔｉｃａｓｔ＿ｈｉｎｔＴｒａｃｋＩＤ１９５、ｕｎｉｃａｓｔ＿ｈｉｎｔＴｒａｃｋＩＤ１９６、ｍｕｌｔｉｃａｓｔ＿ＬａｙｅｒＮｂ＿Ｌｏ１９７、ｍｕｌｔｉｃａｓｔ＿ＬａｙｅｒＮｂ＿Ｈｉ１９８、ｕｎｉｃａｓｔ＿ＬａｙｅｒＮｂ＿Ｌｏ１９９、ｕｎｉｃａｓｔ＿ＬａｙｅｒＮｂ＿Ｈｉ２００、およびｄｅｐｅｎｄＯｎＳｔｒｅａｍＩＤ２０１からなる。
ＳｔｒｅａｍＩＤ１９４は、各ｓｔｒｅａｍＩｎｆｏ構造体１９３の識別情報であり、ｍｕｌｔｉｃａｓｔ＿ｈｉｎｔＴｒａｃｋＩＤ１９５／ｕｎｉｃａｓｔ＿ｈｉｎｔＴｒａｃｋＩＤ１９６は、マルチキャスト配信／ユニキャスト配信のヒント情報を参照するための参照情報（ヒントトラックの識別情報）である。
ｍｕｌｔｉｃａｓｔ＿ＬａｙｅｒＮｂ＿Ｌｏ１９７／ｍｕｌｔｉｃａｓｔ＿ＬａｙｅｒＮｂ＿Ｈｉ１９８は、マルチキャスト配信に対応するレイヤ番号の下限値／上限値であり、ｕｎｉｃａｓｔ＿ＬａｙｅｒＮｂ＿Ｌｏ１９９／ｕｎｉｃａｓｔ＿ＬａｙｅｒＮｂ＿Ｈｉ２００は、ユニキャスト配信に対応するレイヤ番号の下限値／上限値である。また、ｄｅｐｅｎｄＯｎＳｔｒｅａｍＩＤ２０１は、次のｓｔｒｅａｍＩｎｆｏ構造体の識別情報である。
図１０のサイド情報は、図１１に示すような木構造で表現される。木構造の各ノードはｓｔｒｅａｍＩｎｆｏ構造体に対応し、段階的画質変更を実現するための情報は、木構造のリーフノードのｓｔｒｅａｍＩｎｆｏ構造体を管理するｃｏｎｆｉｇＤａｔａ構造体とｓｔｒｅａｍＩｎｆｏ構造体の依存関係によって表現される。
ストリーミングサーバは、まず、ｃｏｎｆｉｇＤａｔａリストから、いずれか１つのｃｏｎｆｉｇＤａｔａ構造体を選択する。次に、ユニキャスト配信の場合は、そのｃｏｎｆｉｇＤａｔａ構造体のｔｏｐＳｔｒｅａｍＩＤに対応するｓｔｒｅａｍＩｎｆｏ構造体からｄｅｐｅｎｄＯｎＳｔｒｅａｍＩＤで辿れるｓｔｒｅａｍＩｎｆｏ構造体に基づいて生成されるデータに、ストリームデータを切り替えることで、段階的画質変更が実現される。
また、マルチキャスト配信の場合は、ストリーミングサーバが、ｄｅｐｅｎｄＯｎＳｔｒｅａｍＩＤで辿れるすべてのｓｔｒｅａｍＩｎｆｏ構造体に基づいて生成されるストリームデータを、配信ポートに対応付けて送信し、クライアントが、特定のポートからの配信の必要／不要をマルチキャストルータに対して通知することで、段階的画質変更が実現される。
図１２は、最細粒度が４階層（Ｌ０〜Ｌ３）の階層映像符号化データについて４階層の段階的画質変更を実現する場合の、ヒント情報の組み合わせの例を示している。
この場合、最細粒度が４（ｍａｘ＿Ｌａｙｅｒｓ＝４）であることから、ソースデータとしては、データ２１１（Ｌ０）、データ２１２（Ｌ１）、データ２１３（Ｌ２）、およびデータ２１４（Ｌ３）の４種類を想定する。また、実現したい段階的画質変更の粒度としては、４および３の２つを想定する。構成＃１は、ｇｒａｎｕｌａｒｉｔｙ＝４およびｈｉｇｈｅｓｔ＿ＬａｙｅｒＮｂ＝３の階層分割方法に対応し、構成＃２は、ｇｒａｎｕｌａｒｉｔｙ＝３およびｈｉｇｈｅｓｔ＿ＬａｙｅｒＮｂ＝３の階層分割方法に対応する。
構成＃１のユニキャスト配信用のヒント情報としては、各階層以下の階層を含むコーデックデータを転送するためにｈｉｎｔ１〜ｈｉｎｔ４の４つが必要となる。ｈｉｎｔ１は、データ２１１からなるパケットの生成に用いられ、ｈｉｎｔ２は、データ２１１および２１２からなるパケットの生成に用いられる。また、ｈｉｎｔ３は、データ２１１、２１２、および２１３からなるパケットの生成に用いられ、ｈｉｎｔ４は、データ２１１、２１２、２１３、および２１４からなるパケットの生成に用いられる。
マルチキャスト配信用のヒント情報としては、各階層毎のデータを転送するためにｈｉｎｔ１およびｈｉｎｔ２’〜ｈｉｎｔ４’の４つが必要となる。ｈｉｎｔ２’は、データ２１２からなるパケットの生成に用いられ、ｈｉｎｔ３’は、データ２１３からなるパケットの生成に用いられ、ｈｉｎｔ４’は、データ２１４からなるパケットの生成に用いられる。
また、構成＃２においては、上位２階層（Ｌ２＋Ｌ３）をまとめて取り扱うことによって、３階層の段階的画質変更が実現される。構成＃２のユニキャスト配信用のヒント情報としては、ｈｉｎｔ１、ｈｉｎｔ２、およびｈｉｎｔ４の３つが用いられ、マルチキャスト配信用のヒント情報としては、ｈｉｎｔ１、ｈｉｎｔ２’、およびｈｉｎｔ５’の３つが用いられる。このうち、ｈｉｎｔ５’は、データ２１３および２１４からなるパケットを生成して上位２階層をまとめて転送するために必要となる。
このように、構成＃１および＃２の各階層分割方法に対応して、ユニキャスト配信用およびマルチキャスト配信用の２組ずつのヒント情報が必要となるため、合計４組のヒント情報が必要となる。これらのヒント情報を管理するサイド情報は、図１３のようになる。
このサイド情報のｃｏｎｆｉｇＤａｔａリストは、ＭＰ４ファイル内のｃｏｎｆｉｇＤａｔａ記憶領域２２１に格納され、ｓｔｒｅａｍＩｎｆｏリストは、ＭＰ４ファイル内のｓｔｒｅａｍＩｎｆｏ記憶領域２２２に格納される。ｃｏｎｆｉｇＤａｔａリストの１番目および２番目のｃｏｎｆｉｇＤａｔａ構造体は、それぞれ図１２の構成＃１および＃２のサービスを指定する。
また、ｓｔｒｅａｍＩｎｆｏリストの各ｓｔｒｅａｍＩｎｆｏ構造体が有するｍｕｌｔｉｃａｓｔ＿ｈｉｎｔＴｒａｃｋＩＤ／ｕｎｉｃａｓｔ＿ｈｉｎｔＴｒａｃｋＩＤは、それぞれＭＰ４ファイル内のヒントトラック記憶領域２２３に格納されたヒントトラックを指している。
図１２の構成＃２において、上位２階層以下を転送するためのユニキャスト配信用ヒント情報（ｈｉｎｔ４）は、構成＃１においてＬ０〜Ｌ３を転送するためのユニキャスト配信用ヒント情報と同一である。したがって、図１３の４番目のｓｔｒｅａｍＩｎｆｏ構造体（ｓｔｒｅａｍＩＤ＝４）のｕｎｉｃａｓｔ＿ｈｉｎｔＴｒａｃｋＩＤと、５番目のｓｔｒｅａｍＩｎｆｏ構造体（ｓｔｒｅａｍＩＤ＝５）のｕｎｉｃａｓｔ＿ｈｉｎｔＴｒａｃｋＩＤには、同じ識別情報ｈｉｎｔ４が書き込まれている。
このように、図１０のサイド情報を用いれば、複数組のヒント情報のうち、異なる組の間で共通なヒント情報が存在することを記述できる。したがって、あるヒント情報を複数のサービスに適用することが可能となる。
また、構成＃１および＃２において、Ｌ０を転送するためのユニキャスト配信用ヒント情報とマルチキャスト配信用ヒント情報は同一（ｈｉｎｔ１）である。したがって、図１３の１番目のｓｔｒｅａｍＩｎｆｏ構造体（ｓｔｒｅａｍＩＤ＝１）のｍｕｌｔｉｃａｓｔ＿ｈｉｎｔＴｒａｃｋＩＤとｕｎｉｃａｓｔ＿ｈｉｎｔＴｒａｃｋＩＤには、同じ識別情報ｈｉｎｔ１が書き込まれている。
このように、図１０のサイド情報を用いれば、あるヒント情報をユニキャスト配信とマルチキャスト配信の両方に使用できることを記述できる。したがって、そのヒント情報を２種類の配信方法に適用することが可能となる。
図１３のサイド情報を木構造で表現すると、図１４のようになる。図１４のｃｏｎｆｉｇＤａｔａ１は、図１３の１番目のｃｏｎｆｉｇＤａｔａ構造体に対応し、ｃｏｎｆｉｇＤａｔａ１からは４つのノードを辿ることができる。また、ｃｏｎｆｉｇＤａｔａ２は、２番目のｃｏｎｆｉｇＤａｔａ構造体に対応し、ｃｏｎｆｉｇＤａｔａ１からは３つのノードを辿ることができる。
次に、このようなサイド情報を用いてヒント情報を選択するヒント情報選択器１７１の動作原理を説明する。図１５は、ヒント情報選択器１７１の動作アルゴリズムのフローチャートである。
まず、サイド情報解釈器１７２は、１つのｃｏｎｆｉｇＤａｔａ構造体が保持する情報を取得し（ステップＳ１）、ｇｒａｎｕｌａｒｉｔｙの値が目的の配信サービスの粒度に合致しているか否かを確認する（ステップＳ２）。
このとき、マルチキャスト配信の場合は、例えば、ｇｒａｎｕｌａｒｉｔｙが配信に必要なポート数と一致するか否かを確認してもよい。ｇｒａｎｕｌａｒｉｔｙがサービスに合致していなければ、次のｃｏｎｆｉｇＤａｔａ構造体についてステップＳ１およびＳ２の動作を繰り返す。
ｇｒａｎｕｌａｒｉｔｙがサービスに合致していれば、次に、ｔｏｐＳｔｒｅａｍＩＤに対応するＳｔｒｅａｍＩｎｆｏ構造体の情報を取得し、ｄｅｐｅｎｄＯｎＳｔｒｅａｍＩＤで辿れるすべてのＳｔｒｅａｍＩｎｆｏ構造体の情報を取得する（ステップＳ３）。
次に、ヒント情報選択器１７１は、目的の配信サービスがマルチキャスト配信かユニキャスト配信かを判定する（ステップＳ４）。そして、マルチキャスト配信の場合はｍｕｌｔｉｃａｓｔ＿ｈｉｎｔＴｒａｃｋＩＤに対応するヒントトラックを参照し（ステップＳ５）、ユニキャスト配信の場合はｕｎｉｃａｓｔ＿ｈｉｎｔＴｒａｃｋＩＤに対応するヒントトラックを参照する（ステップＳ６）。
次に、ヒント情報選択器１７１は、参照先の各ヒントトラックに基づいて生成されるストリームデータのビットレートを、目的の配信サービスのビットレートと照合し、サービスに適しているかどうかを判定する（ステップＳ７）。ビットレートがサービスに適していなければ、次のｃｏｎｆｉｇＤａｔａ構造体についてステップＳ１以降の動作を繰り返す。
ビットレートがサービスに適していれば、各ヒントトラックに基づいて生成されるストリームデータを、目的の配信サービスに使用される配信ポート（チャネル）に関連付ける（ステップＳ８）。
このとき、マルチキャスト配信の場合は、ｓｔｒｅａｍＩｎｆｏ構造体の依存関係に従って、各ヒントトラックに基づいて生成されるストリームデータを配信ポートに関連付ける。また、ユニキャスト配信の場合は、最初の配信に適したビットレートのストリームデータを生成するヒントトラックを選択し、生成されるストリームデータを配信ポートに関連付ける。
このような関連付けにより、複数のヒント情報の中からサービスに合致した１つ以上のヒント情報が選択され、パケット生成処理部３２に渡される。そして、パケット生成処理部３２は、選択されたヒント情報のヒントサンプルに基いてパケットを生成し、送信処理部３３は、生成されたパケットを配信ポートを通じて送信する。
例えば、図１２に示した構成＃１の階層分割方法でユニキャスト配信を行う場合はｈｉｎｔ１〜ｈｉｎｔ４の組が選択され、マルチキャスト配信を行う場合はｈｉｎｔ１およびｈｉｎｔ２’〜ｈｉｎｔ４’の組が選択される。また、構成＃２の階層分割方法でユニキャスト配信を行う場合はｈｉｎｔ１、ｈｉｎｔ２、およびｈｉｎｔ４の組が選択され、マルチキャスト配信を行う場合はｈｉｎｔ１およびｈｉｎｔ２’〜ｈｉｎｔ５’の組が選択される。
図１２には示されていないが、一般には、同じ粒度でも複数の異なる階層分割方法が考えられ、ＭＰ４ファイルには、それらの階層分割方法に対応したヒント情報が格納される。この場合でも、図１０のようなサイド情報を用いれば、それらの階層分割方法に応じて複数組のヒント情報を管理することができ、その中からサービスに適したビットレートを実現するヒント情報の組を選択することができる。
また、サービスに適したビットレートを実現するヒント情報の組が複数存在する場合も考えられる。この場合、すべてのｃｏｎｆｉｇＤａｔａ構造体についてステップＳ１〜Ｓ７の動作を繰り返すことで、サービスに合致した複数組のヒント情報を選択することが可能である。
次に、図１６から図２２までを参照しながら、ＭＰＥＧ−４の階層映像符号化とサイド情報の関係についてより具体的に説明する。
ＭＰＥＧ−４のＶｉｄｅｏ符号化方式では、図１６に示すように、ＶＯＰ（Ｖｉｄｅｏ  Ｏｂｊｅｃｔ  Ｐｌａｎｅ）の依存関係（Ｉ，Ｐ，Ｂ）によって、映像符号化データが階層構造になっている。図１６では横軸がフレームの表示時間を表し、時間的なスケーラビリティ（ｔｅｍｐｏｒａｌ  ｓｃａｌａｂｉｌｉｔｙ）が示されている。Ｉ−ＶＯＰ（Ｉ１）は、フレーム内符号化ＶＯＰであり、Ｐ−ＶＯＰ（Ｐ６，Ｐ１１）は、フレーム間順方向予測符号化ＶＯＰであり、Ｂ−ＶＯＰ（Ｂ２〜Ｂ５，Ｂ７〜Ｂ１０）は、フレーム間双方向予測符号化ＶＯＰである。
また、ＭＰＥＧ−４  Ｖｉｄｅｏの１つのプロファイルであるＦＧＳ方式では、図１７に示すように、ＶＯＰの種類に依存せずに符号化データを加算できるように、映像符号化データが階層構造となっている。図１７では、ベースレイヤ（ｂａｓｅ  ｌａｙｅｒ）のＶＯＰと同じ時刻に、エンハンスメントレイヤ（ｅｎｈａｎｃｅｍｅｎｔ  ｌａｙｅｒ）のＶＯＰが追加されており、空間的なスケーラビリティ（ｓｐａｔｉａｌ  ｓｃａｌａｂｉｌｉｔｙ）が示されている。
図１６および図１７の階層映像符号化データに対しては、前述のようなユニキャストとマルチキャストの２通りの配信方法が適用できる。今、このような階層映像符号化データが、例えば、最細粒度が４階層となるように分割できたとする。この場合、ＭＰＥＧ−４の階層構造に対応するＭＰ４ファイルは、図１８のようになり、ＦＧＳの階層構造に対応するＭＰ４ファイルは、図１９のようになる。
図１８のＭＰ４ファイル１３５において、ｍｏｏｖ１４１は、メディアトラック２３１、ヒントトラック２３２−１〜２３２−ｎ、およびサイド情報２３３を含み、ｍｄａｔ１４２は、図１６のような階層映像符号化データ２４１およびヒントサンプル２４２−１〜２４２−ｎを含む。
メディアトラック２３１は、階層映像符号化データ２４１を管理し、ヒントトラック２３２−１〜２３２−ｎは、それぞれ、ヒントサンプル２４２−１〜２４２−ｎを管理する。そして、ヒントトラック２３２−１〜２３２−ｎは、メディアトラック２３１の識別情報を参照先として保持する。
ここで、階層映像符号化データの最細粒度の規定が、例えば、以下の４階層を表していると仮定する。
（１）Ｉ−ＶＯＰのみのデータ
（２）Ｉ−ＶＯＰ＋Ｐ−ＶＯＰのデータ
（３）Ｂ−ＶＯＰを適当に間引いたデータ＋Ｉ−ＶＯＰ＋Ｐ−ＶＯＰのデータ
（４）Ｉ−ＶＯＰ、Ｐ−ＶＯＰ、およびＢ−ＶＯＰがすべて揃った完全なデータ
まず、図１６のＩ−ＶＯＰ、Ｐ−ＶＯＰ、Ｂ−ＶＯＰパターン１、およびＢ−ＶＯＰパターン２を、それぞれ、Ｌ０、Ｌ１、Ｌ２、およびＬ３に対応させて、４階層の段階的画質変更を実現する場合を考える。この場合、図１２の構成＃１と同様に、マルチキャスト配信用のヒント情報としてはｈｉｎｔ１およびｈｉｎｔ２’〜ｈｉｎｔ４’が必要となり、ユニキャスト配信用のヒント情報としてはｈｉｎｔ１〜ｈｉｎｔ４が必要となる。
次に、Ｂ−ＶＯＰパターン１とＢ−ＶＯＰパターン２を分離せず、まとめて取り扱うことによって、３階層の段階的画質変更を実現する場合を考える。この場合、図１２の構成＃２と同様に、マルチキャスト配信用のヒント情報としてはｈｉｎｔ１、ｈｉｎｔ２’、およびｈｉｎｔ５’が必要となり、ユニキャスト配信用のヒント情報としてはｈｉｎｔ１、ｈｉｎｔ２、およびｈｉｎｔ４が必要となる。
ｈｉｎｔ５’は、構成＃２においてＢ−ＶＯＰをまとめて転送するために用いられ、ｈｉｎｔ４は、構成＃１および＃２においてＢ−ＶＯＰパターン１およびパターン２以下の階層（全階層）を転送するために用いられる。
これらのサービスを実現するためのサイド情報は、図１３と同様であり、ヒント情報選択器の動作は、図１５と同様である。
次に、図１９のＭＰ４ファイル１３５において、ｍｏｏｖ１４１は、メディアトラック２５１、２５２、ヒントトラック２５２−１〜２５３−ｍ、およびサイド情報２５４を含み、ｍｄａｔ１４２は、図１７のような階層映像符号化データ２６１、２６２、およびヒントサンプル２６３−１〜２６３−ｍを含む。ＦＧＳの階層映像符号化データは、ベースレイヤのデータ２６１とエンハンスメントレイヤのデータ２６２とに分離して格納される。
メディアトラック２５１は、ベースレイヤのデータ２６１を管理し、メディアトラック２５２は、エンハンスメントレイヤのデータ２６２を管理し、ヒントトラック２５３−１〜２５３−ｍは、それぞれ、ヒントサンプル２６３−１〜２６３−ｍを管理する。そして、メディアトラック２５２およびヒントトラック２５３−１は、メディアトラック２５１の識別情報を参照先として保持し、ヒントトラック２５３−２〜２５３−ｍは、メディアトラック２５２の識別情報を参照先として保持する。
ＦＧＳプロファイルを用いる場合においても、ヒント情報選択器の動作は、図１５と同様である。ただし、ユニキャスト配信であっても、ベースレイヤとエンハンスメントレイヤをそれぞれ別のポートで配信する場合がある。
図２０は、このような場合におけるヒント情報の組み合わせの例を示している。最細粒度を４（ｍａｘ＿Ｌａｙｅｒｓ＝４）とすると、ソースデータとしては、データ２７１（Ｌ０）、データ２７２（Ｌ１）、データ２７３（Ｌ２）、およびデータ２７４（Ｌ３）の４種類が用いられる。このうち、データ２７１は、図１７のベースレイヤに対応し、データ２７２、２７３、および２７４は、それぞれ、図１７のエンハンスメントレイヤ１、２、および３に対応する。
また、構成＃１は、ｇｒａｎｕｌａｒｉｔｙ＝４およびｈｉｇｈｅｓｔ＿ＬａｙｅｒＮｂ＝３の階層分割方法に対応し、構成＃２は、ｇｒａｎｕｌａｒｉｔｙ＝３およびｈｉｇｈｅｓｔ＿ＬａｙｅｒＮｂ＝３の階層分割方法に対応する。構成＃２においては、エンハンスメントレイヤの上位２階層（Ｌ２＋Ｌ３）がまとめて取り扱われる。
構成＃１のユニキャスト配信用のヒント情報としては、ベースレイヤのデータ２７１を転送するためのｈｉｎｔ１と、エンハンスメントレイヤの各階層以下のデータを転送するためのｈｉｎｔ２〜ｈｉｎｔ４が用いられる。また、マルチキャスト配信用のヒント情報としては、各階層毎のデータを転送するために、ｈｉｎｔ１、ｈｉｎｔ２、ｈｉｎｔ５、およびｈｉｎｔ６が用いられる。
構成＃２のユニキャスト配信用のヒント情報としては、ｈｉｎｔ１、ｈｉｎｔ２、およびｈｉｎｔ４が用いられ、マルチキャスト配信用のヒント情報としては、ｈｉｎｔ１、ｈｉｎｔ２、およびｈｉｎｔ８が用いられる。
図２１は、これらのヒント情報を管理するサイド情報を示している。このサイド情報のｃｏｎｆｉｇＤａｔａリストの１番目および２番目のｃｏｎｆｉｇＤａｔａ構造体は、それぞれ図２０の構成＃１および＃２のサービスを指定する。また、ｓｔｒｅａｍＩｎｆｏリストの各ｓｔｒｅａｍＩｎｆｏ構造体が有するｍｕｌｔｉｃａｓｔ＿ｈｉｎｔＴｒａｃｋＩＤ／ｕｎｉｃａｓｔ＿ｈｉｎｔＴｒａｃｋＩＤは、それぞれ対応するヒントトラックを指している。
図２０の構成＃２において、エンハンスメントレイヤの上位２階層以下を転送するためのユニキャスト配信用ヒント情報（ｈｉｎｔ４）は、構成＃１においてＬ１〜Ｌ３を転送するためのユニキャスト配信用ヒント情報と同一である。したがって、図２１の４番目のｓｔｒｅａｍＩｎｆｏ構造体（ｓｔｒｅａｍＩＤ＝４）のｕｎｉｃａｓｔ＿ｈｉｎｔＴｒａｃｋＩＤと、５番目のｓｔｒｅａｍＩｎｆｏ構造体（ｓｔｒｅａｍＩＤ＝５）のｕｎｉｃａｓｔ＿ｈｉｎｔＴｒａｃｋＩＤには、同じ識別情報ｈｉｎｔ４が書き込まれている。
また、構成＃１および＃２において、Ｌ０を転送するためのユニキャスト配信用ヒント情報とマルチキャスト配信用ヒント情報は同一（ｈｉｎｔ１）である。したがって、図２１の１番目のｓｔｒｅａｍＩｎｆｏ構造体（ｓｔｒｅａｍＩＤ＝１）のｍｕｌｔｉｃａｓｔ＿ｈｉｎｔＴｒａｃｋＩＤとｕｎｉｃａｓｔ＿ｈｉｎｔＴｒａｃｋＩＤには、同じ識別情報ｈｉｎｔ１が書き込まれている。
さらに、構成＃１および＃２において、Ｌ１を転送するためのユニキャスト配信用ヒント情報とマルチキャスト配信用ヒント情報も同一（ｈｉｎｔ２）である。したがって、図２１の２番目のｓｔｒｅａｍＩｎｆｏ構造体（ｓｔｒｅａｍＩＤ＝１）のｍｕｌｔｉｃａｓｔ＿ｈｉｎｔＴｒａｃｋＩＤとｕｎｉｃａｓｔ＿ｈｉｎｔＴｒａｃｋＩＤには、同じ識別情報ｈｉｎｔ２が書き込まれている。
図２１のサイド情報を木構造で表現すると、図２２のようになる。図２２のｃｏｎｆｉｇＤａｔａ１は、図２１の１番目のｃｏｎｆｉｇＤａｔａ構造体に対応し、ｃｏｎｆｉｇＤａｔａ１からは４つのノードを辿ることができる。また、ｃｏｎｆｉｇＤａｔａ２は、２番目のｃｏｎｆｉｇＤａｔａ構造体に対応し、ｃｏｎｆｉｇＤａｔａ１からは３つのノードを辿ることができる。
このサイド情報では、ｒｏｏｔノード（ＮＵＬＬの直前）のｓｔｒｅａｍＩｎｆｏ構造体の情報に基づいて生成されるストリームデータがベースレイヤであり、他のノードのｓｔｒｅａｍＩｎｆｏ構造体の情報に基づいて生成されるストリームデータがエンハンスメントレイヤであることが分かる。したがって、このベースレイヤのストリームデータをエンハンスメントレイヤとは異なるポートに関連付けることが可能である。
以上の実施形態では、主として階層映像符号化データの配信サービスについて説明したが、本発明は、音声等を含む任意の階層符号化データに対して適用可能であり、さらに、符号化されていない階層化データに対しても適用可能である。
産業上の利用可能性
本発明によれば、階層符号化データのパケタイズ方法を表す複数のヒント情報の中から、目的のサービスに合致するヒント情報を容易に選択することができ、サービスに合致したストリーム配信が可能となる。
また、階層符号化データの最細粒度に基く階層分割方法のバリエーションに応じて、複数組のヒント情報をファイルに格納する場合、複数組間で共通なヒント情報を記述することができ、冗長なヒント情報を格納する必要がない。これにより、ファイルのデータの格納効率が向上し、システムのディスク使用効率が向上する。
さらに、ユニキャスト配信用ヒント情報とマルチキャスト配信用ヒント情報を区別して格納することができる。従来は、これらのヒント情報の区別がつかなかったため、ユニキャスト配信用ヒント情報を格納したファイルと、マルチキャスト配信用ヒント情報を格納したファイルの２つを用意しておく必要があった。しかし、本発明では、これらを１つのファイルに集約できるため、ファイル容量が約５０％削減される。
【図面の簡単な説明】
図１は、従来のストリーミングサーバの構成図である。
図２は、従来のＭＰ４ファイルの生成方法を示す図である。
図３は、ＭＰ４ファイルのデータ構造を示す図である。
図４は、パケット生成処理を示す図である。
図５は、仮想的な階層映像符号化データのユニキャスト配信を示す図である。
図６は、仮想的な階層映像符号化データのマルチキャスト配信を示す図である。
図７は、仮想的なＭＰ４ファイルの構成を示している。
図８は、本発明のＭＰ４ファイルの生成方法を示す図である。
図９は、本発明のストリーミングサーバの構成図である。
図１０は、サイド情報のデータ構造を示す図である。
図１１は、木構造のサイド情報を示す図である。
図１２は、ヒント情報の組み合わせの第１の例を示している。
図１３は、第１のサイド情報を示す図である。
図１４は、第１の木構造を示す図である。
図１５は、ヒント情報選択器の動作アルゴリズムのフローチャートである。
図１６は、ＭＰＥＧ−４の第１の階層映像符号化データを示す図である。
図１７は、ＭＰＥＧ−４の第２の階層映像符号化データを示す図である。
図１８は、第１のＭＰ４ファイルを示す図である。
図１９は、第２のＭＰ４ファイルを示す図である。
図２０は、ヒント情報の組み合わせの第２の例を示している。
図２１は、第２のサイド情報を示す図である。
図２２は、第２の木構造を示す図である。
【図１】
2003075524.tif 000003
【図２】
2003075524.tif 000004
【図３】
2003075524.tif 000005
【図４】
2003075524.tif 000006
【図５】
2003075524.tif 000007
【図６】
2003075524.tif 000008
【図７】
2003075524.tif 000009
【図８】
2003075524.tif 000010
【図９】
2003075524.tif 000011
【図１０】
2003075524.tif 000012
【図１１】
2003075524.tif 000013
【図１２】
2003075524.tif 000014
【図１３】
2003075524.tif 000015
【図１４】
2003075524.tif 000016
【図１５】
2003075524.tif 000017
【図１６】
2003075524.tif 000018
【図１７】
2003075524.tif 000019
【図１８】
2003075524.tif 000020
【図１９】
2003075524.tif 000021
【図２０】
2003075524.tif 000022
【図２１】
2003075524.tif 000023
【図２２】
2003075524.tif 000024
【国際調査報告】
2003075524.tif 000025
2003075524.tif 000026
2003075524.tif 000027
2003075524.tif 000028