(57)【要約】【課題】　ネットワークの状態によってマルチメディアデータを適応的に伝送するマルチメディアストリーミング装置及びその方法を提供する。【解決手段】　本発明に係るマルチメディアストリーミング装置は、サービスしようとするマルチメディアデータに対応するメタデータの分析結果及び、前記マルチメディアデータを受取るクライアントによって測定されたネットワーク帯域幅情報に応答して、所定のサービス品質レベルに当たるマルチメディアデータをストリーミングする。その結果、サーバに負担を与えずにネットワーク帯域幅変化による適応的マルチメディアストリーミングを行うことが可能である。【選択図】　　　図１
2004112789.tif 000002
【特許請求の範囲】
【請求項１】
　サービスしようとするマルチメディアデータに対応するメタデータの分析結果及び外部から入力されたネットワーク帯域幅情報に応じた所定のサービス品質レベルに当たる前記マルチメディアデータをストリーミングするマルチメディアストリーミングサーバと、
　前記マルチメディアデータを受信した時間及び前記マルチメディアデータのサイズ情報を利用して前記マルチメディアストリーミングサーバが連結されたネットワークの帯域幅を測定し、測定された前記ネットワーク帯域幅情報を前記マルチメディアストリーミングサーバに伝送するマルチメディアストリーミングクライアントと、を含むことを特徴とするマルチメディアストリーミング装置。
【請求項２】
　前記マルチメディアストリーミングサーバは、
　サービスしようとする前記マルチメディアデータ及び前記マルチメディアデータに関連したメタデータを保存するデータ保持部と、
　前記メタデータを分析し、分析結果をデスクリプタの形態で出力するメタデータ分析部と、
　前記マルチメディアストリーミングクライアントから前記ネットワーク帯域幅情報を受取るメッセージ受信部と、
　前記デスクリプタの情報及び前記ネットワーク帯域幅情報に応じてサービスできるサービス品質レベルを選択し、選択されたサービス品質レベルに当たるマルチメディアデータを前記データ保持部から抽出するサービス品質処理部と、
　前記抽出されたマルチメディアデータを保存するバッファと、
　前記バッファに保存されたマルチメディアデータをパケットの形態にするパケット生成部と、
　前記バッファに保存されたマルチメディアデータを一定の時間間隔で前記マルチメディアストリーミングクライアントに伝送するパケット伝送部と、を含むことを特徴とする請求項１に記載のマルチメディアストリーミング装置。
【請求項３】
　前記サービス品質処理部は、
　前記デスクリプタの情報に定義されているサービス品質レベル別の目標ビット率及び前記ネットワーク帯域幅情報を比較して所定のサービス品質レベルを選択するサービスレベル選択部と、
　前記データ保持部に保存されている前記マルチメディアデータのうち、前記サービス品質レベルに当たるフレームを抽出して前記バッファに保存するフレーム選択部と、を含むことを特徴とする請求項２に記載のマルチメディアストリーミング装置。
【請求項４】
　前記バッファは、
　前記パケットを保存するためのパケット貯蔵バッファと、
　前記パケットを伝送するためのパケット伝送バッファと、を含むことを特徴とする請求項２に記載のマルチメディアストリーミング装置。
【請求項５】
　前記マルチメディアデータは、オーディオデータ、動画データ、静止画データ、テキストデータ、及びグラフィックデータのうち何れか一つの形態を有することを特徴とする請求項２に記載のマルチメディアストリーミング装置。
【請求項６】
　前記マルチメディアデータは、空間上スケーラブル機能、品質スケーラブル機能、時間上スケーラブル機能、及びＦＧＳ（Ｆｉｎｅ　Ｇｒａｉｎ　Ｓｃａｌａｂｌｅ）機能のうち何れか一つを有するビットストリームで構成されることを特徴とする請求項２に記載のマルチメディアストリーミング装置。
【請求項７】
　前記メタデータは、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）に基づいて定義されることを特徴とする請求項２に記載のマルチメディアストリーミング装置。
【請求項８】
　前記メタデータは、前記マルチメディアデータ及びストリーミング関連情報を有するツリー状の階層構造を有することを特徴とする請求項２に記載のマルチメディアストリーミング装置。
【請求項９】
　前記メタデータは、
　前記メタデータのコントロールタイプ及びノードの階層構造タイプを表すストリーミングヒントノードと、
　前記ストリーミングヒントノードの下位に連結されて、前記マルチメディアデータのヘッダ情報を有するヘッダグループヒントノードと、
　前記ストリーミングヒントノードの下位に連結されて、前記マルチメディアを一定の時間間隔のセグメントに分ける場合に、各セグメントの情報を有する少なくとも一つ以上のセグメントグループヒントノードと、
　前記ヘッダグループヒントノードの下位に連結されて、各ノードの固有情報を表す属性値を有する少なくとも一つ以上のフレームヘッダヒントノードと、
　前記セグメントグループヒントノードの下位に連結されて、各サービス品質レベルの属性情報を有する少なくとも一つ以上のメディアセグメントヒントノードと、
　前記メディアセグメントヒントノードの下位に連結されて、実際に伝送されるマルチメディアフレーム情報を有する少なくとも一つ以上のメディアフレームヒントノードと、を含むことを特徴とする請求項８に記載のマルチメディアストリーミング装置。
【請求項１０】
　前記ストリーミングヒントノードは、
　前記ネットワーク帯域幅の変化に応じて伝送ビット率を調節するためのターゲットビット率調節子と、
　サービスするマルチメディアデータのサービス品質を調節するためのターゲット品質制御調節子と、
　前記マルチメディアストリーミングクライアントのリソース複雑度に応じて区分されたサービスを支援するためのターゲット複雑度調節子と、
　前記マルチメディアデータの圧縮フォーマットに応じて区分されたサービスを支援するためのターゲットプロファイル調節子と、
　前記マルチメディアストリーミングクライアントでの再生速度調節要請に応じてサービス速度を調節するためのターゲット速度調節子と、
　前記マルチメディアストリーミングクライアントでの再生方向調節要請に応じてサービス方向を調節するためのターゲット方向調節子と、
　前記マルチメディアストリーミングクライアントの端末機種に応じて区分されたサービスを支援するためのターゲットデバイス調節子と、を含むことを特徴とする請求項９に記載のマルチメディアストリーミング装置。
【請求項１１】
　前記ヘッダグループヒントノードは、
　複数のマルチメディア客体が同時にサービスされる場合、各マルチメディアストリームを区別するためのストリーム識別子と、
　前記マルチメディアデータの種類を区別するためのストリームタイプ識別子と、
　前記マルチメディアデータについてのスケーラブル機能の種類を区別するためのスケーラブル機能識別子と、
　前記データ保持部に保存されている前記マルチメディアデータの位置情報を表すソース位置識別子と、
　前記マルチメディアデータのフレーム率を表すフレーム率識別子と、
　前記マルチメディアデータの平均ビット率を表す平均ビット率識別子と、を含むことを特徴とする請求項９に記載のマルチメディアストリーミング装置。
【請求項１２】
　前記ヘッダグループヒントノードは、サービスするマルチメディア客体数だけ前記フレームヘッダヒントノードを含むことを特徴とする請求項９に記載のマルチメディアストリーミング装置。
【請求項１３】
　前記セグメントグループヒントノードは、前記サービス品質レベルの数だけ前記メディアセグメントヒントノードを含むことを特徴とする請求項９に記載のマルチメディアストリーミング装置。
【請求項１４】
　前記メディアセグメントヒントノードは、各サービス品質レベルでサービスされる全フレーム数だけ前記メディアフレームヒントノードを含むことを特徴とする請求項９に記載のマルチメディアストリーミング装置。
【請求項１５】
　前記メディアフレームヒントノードは、
　複数のマルチメディア客体が同時にサービスされる場合、各マルチメディアストリームを区別するためのストリーム識別子と、
　フレームのデコーディング時間情報及び再生時間情報を各々表すデコーディング／再生時間識別子と、
　フレームコーディング時に前記フレームが参照された方式によって各フレームをＩフレーム／Ｐフレーム／Ｂフレームに区分するコーディングタイプ識別子と、
　前記データ保持部に保存されている前記マルチメディアデータのフレーム別位置情報を表すフレームオフセット識別子と、
　当該フレームのサイズを表すフレーム長識別子と、
　当該フレームの番号を表すフレーム番号識別子と、を含むことを特徴とする請求項９に記載のマルチメディアストリーミング装置。
【請求項１６】
　前記メタデータは、前記メディアセグメントヒントノードの属性によって独立型メタデータ及び従属型メタデータに区分されることを特徴とする請求項９に記載のマルチメディアストリーミング装置。
【請求項１７】
　前記独立型メタデータの各ノードは、上位ノードについての参照や再使用なしに各サービスレベルに当たるマルチメディアデータのフレーム情報を含むことを特徴とする請求項１６に記載のマルチメディアストリーミング装置。
【請求項１８】
　前記従属型メタデータの各ノードは、サービス品質レベル別に重複される情報は当該ノードの上位ノードを参照し、当該ノードの下位ノードでは追加情報だけ記述することを特徴とする請求項１６に記載のマルチメディアストリーミング装置。
【請求項１９】
　前記サービス品質レベルの数が増加すると、前記マルチメディアストリーミングサーバのフレーム損失率は次第に減少し、平均ビット率及び平均ＰＳＮＲ（Ｐｅａｋ　Ｓｉｇｎａｌ　ｔｏ　Ｎｏｉｓｅ　Ｒａｔｉｏ）値は次第に増加することを特徴とする請求項２に記載のマルチメディアストリーミング装置。
【請求項２０】
　前記マルチメディアストリーミングクライアントは、
　前記マルチメディアストリーミングサーバから前記マルチメディアデータを受信するパケット受信部と、
　受信した前記マルチメディアデータを保存するバッファと、
　前記バッファに保存された前記マルチメディアデータを再生するマルチメディアデコーダと、
　前記パケット受信部から前記マルチメディアデータを受信した時間及び前記データのサイズ情報を利用してネットワーク帯域幅を測定する帯域幅測定部と、
　前記ネットワーク帯域幅に応じて前記マルチメディアストリーミングサーバから伝送される前記マルチメディアデータの伝送率が調節されるように、測定された前記ネットワーク帯域幅を前記マルチメディアストリーミングサーバに伝送するメッセージ伝送部と、を含むことを特徴とする請求項１に記載のマルチメディアストリーミング装置。
【請求項２１】
　前記パケット受信部は、受信した前記マルチメディアデータのパケット番号を参照して各パケットグループの最初のパケット及び最後のパケットを区別することを特徴とする請求項２０に記載のマルチメディアストリーミング装置。
【請求項２２】
　前記ネットワーク帯域幅は、前記最初のパケットの受信時間がｔ1、前記最後のパケットの受信時間がｔ2、そして前記パケットグループのデータサイズがＳpである時、
【数１】
2004112789.tif 000011
　の値を有することを特徴とする請求項２１に記載のマルチメディアストリーミング装置。
【請求項２３】
　前記帯域幅測定部は、前記ネットワーク帯域幅の変化がある度に前記ネットワーク帯域幅の情報を、前記メッセージ伝送部を通じて前記マルチメディアストリーミングサーバにフィードバックすることを特徴とする請求項２０に記載のマルチメディアストリーミング装置。
【請求項２４】
　サービスしようとするマルチメディアデータ及び、前記マルチメディアデータと関連したメタデータを保存するデータ保持部と、
　前記メタデータを分析し、分析結果をデスクリプタの形態で出力するメタデータ分析部と、
　ネットワーク上に連結されたマルチメディアストリーミングクライアントからネットワーク帯域幅情報を受取るメッセージ受信部と、
　前記デスクリプタの情報及び前記ネットワーク帯域幅情報に応じてサービスできるサービス品質レベルを選択し、選択されたサービス品質レベルに当たるマルチメディアデータを前記データ保持部から抽出するサービス品質処理部と、
　前記抽出されたマルチメディアデータを保存するバッファと、
　前記バッファに保存されたマルチメディアデータをパケットの形態にするパケット生成部と、
　前記バッファに保存されたマルチメディアデータを一定の時間間隔で前記マルチメディアストリーミングクライアントに伝送するパケット伝送部と、を含むことを特徴とするマルチメディアストリーミングサーバ。
【請求項２５】
　前記サービス品質処理部は、
　前記デスクリプタの情報に定義されているサービス品質レベル別の目標ビット率及び前記ネットワーク帯域幅情報を比較して所定のサービス品質レベルを選択するサービスレベル選択部と、
　前記データ保持部に保存されている前記マルチメディアデータのうち、前記サービス品質レベルに当たるフレームを抽出して前記バッファに保存するフレーム選択部と、を含むことを特徴とする請求項２４に記載のマルチメディアストリーミングサーバ。
【請求項２６】
　前記バッファは、
　前記パッケットを保存するためのパッケット貯蔵バッファと、
　前記パッケットを伝送するためのパッケット伝送バッファと、を含むことを特徴とする請求項２４に記載のマルチメディアストリーミングサーバ。
【請求項２７】
　前記マルチメディアデータは、オーディオデータ、動画データ、静止画データ、テキストデータ、及びグラフィックデータのうち何れか一つの形態を有することを特徴とする請求項２４に記載のマルチメディアストリーミングサーバ。
【請求項２８】
　前記マルチメディアデータは、空間上スケーラブル機能、品質スケーラブル機能、時間上スケーラブル機能、及びＦＧＳ（Ｆｉｎｅ　Ｇｒａｉｎ　Ｓｃａｌａｂｌｅ）機能のうち何れか一つを有するビットストリームで構成されることを特徴とする請求項２４に記載のマルチメディアストリーミングサーバ。
【請求項２９】
　前記メタデータは、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）に基づいて定義されることを特徴とする請求項２４に記載のマルチメディアストリーミングサーバ。
【請求項３０】
　前記メタデータは、前記マルチメディアデータ及びストリーミング関連情報を有するツリー状の階層構造を有することを特徴とする請求項２４に記載のマルチメディアストリーミングサーバ。
【請求項３１】
　前記メタデータは、
　前記メタデータのコントロールタイプ及びノードの階層構造タイプを表すストリーミングヒントノードと、
　前記ストリーミングヒントノードの下位に連結されて、前記マルチメディアデータのヘッダ情報を有するヘッダグループヒントノードと、
　前記ストリーミングヒントノードの下位に連結されて、前記マルチメディアを一定の時間間隔のセグメントに分ける場合に、各セグメントの情報を有する少なくとも一つ以上のセグメントグループヒントノードと、
　前記ヘッダグループヒントノードの下位に連結されて、各ノードの固有情報を表す属性値を有する少なくとも一つ以上のフレームヘッダヒントノードと、
　前記セグメントグループヒントノードの下位に連結されて、各サービス品質レベルの属性情報を有する少なくとも一つ以上のメディアセグメントヒントノードと、
　前記メディアセグメントヒントノードの下位に連結されて、実際に伝送されるマルチメディアフレーム情報を有する少なくとも一つ以上のメディアフレームヒントノードと、を含むことを特徴とする請求項３０に記載のマルチメディアストリーミングサーバ。
【請求項３２】
　前記ストリーミングヒントノードは、
　前記ネットワーク帯域幅の変化に応じて伝送ビット率を調節するためのターゲットビット率調節子と、
　サービスするマルチメディアデータのサービス品質を調節するためのターゲット品質制御調節子と、
　前記マルチメディアストリーミングクライアントのリソース複雑度に応じて区分されたサービスを支援するためのターゲット複雑度調節子と、
　前記マルチメディアデータの圧縮フォーマットに応じて区分されたサービスを支援するためのターゲットプロファイル調節子と、
　前記マルチメディアストリーミングクライアントでの再生速度調節要請に応じてサービス速度を調節するためのターゲット速度調節子と、
　前記マルチメディアストリーミングクライアントでの再生方向調節要請に応じてサービス方向を調節するためのターゲット方向調節子と、
　前記マルチメディアストリーミングクライアントの端末機種に応じて区分されたサービスを支援するためのターゲットデバイス調節子と、を含むことを特徴とする請求項３１に記載のマルチメディアストリーミングサーバ。
【請求項３３】
　前記ヘッダグループヒントノードは、
　複数のマルチメディア客体が同時にサービスされる場合、各マルチメディアストリームを区別するためのストリーム識別子と、
　前記マルチメディアデータの種類を区分するためのストリームタイプ識別子と、
　前記マルチメディアデータについてのスケーラブル機能の種類を区分するためのスケーラブル機能識別子と、
　前記データ保持部に保存されている前記マルチメディアデータの位置情報を表すソース位置識別子と、
　前記マルチメディアデータのフレーム率を表すフレーム率識別子と、
　前記マルチメディアデータの平均ビット率を表す平均ビット率識別子と、を含むことを特徴とする請求項３１に記載のマルチメディアストリーミングサーバ。
【請求項３４】
　前記ヘッダグループヒントノードは、サービスするマルチメディア客体数だけ前記フレームヘッダヒントノードを含むことを特徴とする請求項３１に記載のマルチメディアストリーミングサーバ。
【請求項３５】
　前記セグメントグループヒントノードは、前記サービス品質レベルの数だけ前記メディアセグメントヒントノードを含むことを特徴とする請求項３１に記載のマルチメディアストリーミングサーバ。
【請求項３６】
　前記メディアセグメントヒントノードは、各サービス品質レベルでサービスされる全フレーム数だけ前記メディアフレームヒントノードを含むことを特徴とする請求項３１に記載のマルチメディアストリーミングサーバ。
【請求項３７】
　前記メディアフレームヒントノードは、
　複数のマルチメディア客体が同時にサービスされる場合、各々のマルチメディアストリームを区別するためのストリーム識別子と、
　フレームのデコーディング時間情報及び再生時間情報を各々表すデコーディング／再生時間識別子と、
　フレームコーディング時に前記フレームが参照された方式によって各フレームをＩフレーム／Ｐフレーム／Ｂフレームに区分するコーディングタイプ識別子と、
　前記データ保持部に保存されている前記マルチメディアデータのフレーム別位置情報を表すフレームオフセット識別子と、
　当該フレームのサイズを表すフレーム長識別子と、
　当該フレームの番号を表すフレーム番号識別子と、を含むことを特徴とする請求項３１に記載のマルチメディアストリーミングサーバ。
【請求項３８】
　前記メタデータは、前記メディアセグメントヒントノードの属性によって独立型メタデータと従属型メタデータとに区分されることを特徴とする請求項３１に記載のマルチメディアストリーミングサーバ。
【請求項３９】
　前記独立型メタデータの各ノードは、上位ノードについての参照や再使用なしに各サービスレベルに当たるマルチメディアデータのフレーム情報を含むことを特徴とする請求項３８に記載のマルチメディアストリーミングサーバ。
【請求項４０】
　前記従属型メタデータの各ノードは、サービス品質レベル別に重複される情報は当該ノードの上位ノードを参照し、当該ノードの下位ノードでは追加情報だけ記述することを特徴とする請求項３８に記載のマルチメディアストリーミングサーバ。
【請求項４１】
　前記サービス品質レベルの数が増加すると、前記マルチメディアストリーミングサーバのフレーム損失率は次第に減少し、平均ビット率及び平均ＰＳＮＲ（Ｐｅａｋ　Ｓｉｇｎａｌ　ｔｏ　Ｎｏｉｓｅ　Ｒａｔｉｏ）値は次第に増加することを特徴とする請求項２４に記載のマルチメディアストリーミングサーバ。
【請求項４２】
　ネットワーク上に連結されたマルチメディアストリーミングサーバからマルチメディアデータを受信するパケット受信部と、
　受信した前記マルチメディアデータを保存するバッファと、
　前記バッファに保存された前記マルチメディアデータを再生するマルチメディアデコーダと、
　前記パケット受信部から前記マルチメディアデータを受信した時間及び前記マルチメディアデータのサイズ情報を利用してネットワーク帯域幅を測定する帯域幅測定部と、
　前記ネットワーク帯域幅に応じて前記マルチメディアストリーミングサーバから伝送される前記マルチメディアデータの伝送率が調節されるように、測定された前記ネットワーク帯域幅を前記マルチメディアストリーミングサーバに伝送するメッセージ伝送部と、を含むことを特徴とするマルチメディアストリーミングクライアント。
【請求項４３】
　前記パケット受信部は、受信した前記マルチメディアデータのパケット番号を参照して各パケットグループの最初のパケット及び最後のパケットを区別することを特徴とする請求項４２に記載のマルチメディアストリーミングクライアント。
【請求項４４】
　前記ネットワーク帯域幅は、前記最初のパケットの受信時間がｔ1、前記最後のパケットの受信時間がｔ2、そして前記パケットグループのデータサイズがＳpである時、
【数１】
2004112789.tif 000012
　の値を有することを特徴とする請求項４３に記載のマルチメディアストリーミングクライアント。
【請求項４５】
　前記帯域幅測定部は、前記ネットワーク帯域幅の変化がある度に前記ネットワーク帯域幅の情報を、前記メッセージ伝送部を通じて前記マルチメディアストリーミングサーバにフィードバックすることを特徴とする請求項４２に記載のマルチメディアストリーミングクライアント。
【請求項４６】
　ネットワークを通じて連結されたサーバ及びクライアント間で行われるマルチメディアストリーミング方法において、
　（ａ）前記クライアントが前記サーバにサービス要請メッセージ及びセッション連結要請メッセージを伝送する段階と、
　（ｂ）前記要請メッセージについてのサービス確認メッセージ及びダミーパッケット対を前記クライアントに伝送する段階と、
　（ｃ）前記サーバから入力される前記パッケット対に応じて前記ネットワークの初期帯域幅を決定し、決定した前記初期帯域幅を前記サーバに伝送する段階と、
　（ｄ）前記クライアントから伝送された前記初期帯域幅の情報及びメタデータの分析結果から得られたデスクリプタ情報を比較して適切なサービス品質レベルを選択し、前記サービス品質レベルに応じた伝送率によってマルチメディアストリーミングサービスを開始する段階と、
　（ｅ）前記サーバのストリーミングサービスを通じて受信したパケット情報に応じてネットワーク帯域幅を周期的に測定し、測定された前記ネットワーク帯域幅を前記サーバに伝送する段階と、
　（ｆ）前記クライアントから伝送された前記ネットワーク帯域幅の値によって所定のマルチメディアストリームを抽出し、抽出された前記マルチメディアストリームを前記クライアントに伝送する段階と、を含むことを特徴とするマルチメディアストリーミング方法。
【請求項４７】
　前記（ｅ）段階は、
　（ｅ−１）累積パケットサイズ値を０に設定する段階と、
　（ｅ−２）前記サーバからパケットを受信し始める段階と、
　（ｅ−３）最初のパケットの受信時間をＴＳ１に設定する段階と、
　（ｅ−４）前記パッケットが入力された後、最後のパッケットが入力されるまでパケットが入力される度に前記累積パケットサイズ値に当該パケットのサイズ値を累積して加える段階と、
　（ｅ−５）最後のパケットが入力されると、前記最後のパケットの受信時間をＴＳ２に設定する段階と、
　（ｅ−６）
【数２】
2004112789.tif 000013
　を計算して前記ネットワーク帯域幅を測定する段階と、
　（ｅ−７）前記測定されたネットワーク帯域幅の情報を前記サーバにフィードバックする段階と、を含むことを特徴とする請求項４６に記載のマルチメディアストリーミング方法。
【請求項４８】
　ネットワークを通じてクライアントと連結されたサーバのストリーミング方法において、
　（ａ）前記クライアントから前記ネットワークの帯域幅を受信する段階と、
　（ｂ）サービスしようとするマルチメディアデータに対応するメタデータの分析から得られたデスクリプタに基づいて現在のタイムセグメントを選択する段階と、
　（ｃ）選択された前記タイムセグメントについて前記デスクリプタに定義されている目標ビット率及び前記ネットワーク帯域幅を比較してサービスできるサービス品質レベルを選択する段階と、
　（ｄ）選択された前記サービス品質レベルに当たるフレームを抽出して一定時間ごとに前記クライアントに伝送する段階と、を含むことを特徴とするマルチメディアストリーミング方法。
【請求項４９】
　前記マルチメディアデータは、オーディオデータ、動画データ、静止画データ、テキストデータ、及びグラフィックデータのうち何れか一つの形態を有することを特徴とする請求項４６または４８に記載のマルチメディアストリーミング方法。
【請求項５０】
　前記マルチメディアデータは、空間上スケーラブル機能、品質スケーラブル機能、時間上スケーラブル機能、及びＦＧＳ（Ｆｉｎｅ　Ｇｒａｉｎ　Ｓｃａｌａｂｌｅ）機能のうち何れか一つを有するビットストリームで構成されることを特徴とする請求項４９に記載のマルチメディアストリーミング方法。
【請求項５１】
　前記メタデータは、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）に基づいて定義されることを特徴とする請求項４６または４８に記載のマルチメディアストリーミング方法。
【請求項５２】
　前記メタデータは、前記マルチメディアデータ及びストリーミング関連情報を有するツリー状の階層構造を有することを特徴とする請求項５１に記載のマルチメディアストリーミング方法。
【請求項５３】
　前記サービス品質レベルの数が増加すると、前記サーバのフレーム損失率は次第に減少し、平均ビット率及び平均ＰＳＮＲ（Ｐｅａｋ　Ｓｉｇｎａｌ　ｔｏ　Ｎｏｉｓｅ　Ｒａｔｉｏｎ）値は次第に増加することを特徴とする請求項４６または４８に記載のマルチメディアストリーミング方法。
【請求項５４】
　ネットワークを通じてサーバからマルチメディアデータを受取るクライアントのネットワーク帯域幅測定方法において、
　（ａ）累積パッケットサイズ値を０にセッティングする段階と、
　（ｂ）前記サーバからパッケットを受信し始める段階と、
　（ｃ）最初のパッケットの受信時間をＴＳ１に設定する段階と、
　（ｄ）前記パッケットが入力された後、最後のパッケットが入力されるまでパッケットが入力される度に前記累積パッケットサイズ値に当該パッケットのサイズ値を累積して加える段階と、
　（ｅ）最後のパッケットが入力されれば、前記最後のパッケットの受信時間をＴＳ２に設定する段階と、
　（ｆ）
【数２】
2004112789.tif 000014
　を計算して前記ネットワーク帯域幅を測定する段階と、
　（ｇ）前記測定されたネットワーク帯域幅情報を前記サーバにフィードバックする段階と、を含むことを特徴とするネットワーク帯域幅測定方法。
【請求項５５】
　請求項４６ないし５４のうち何れか１項に記載の方法をコンピュータに実行させるためのプログラムを記録したコンピュータで読取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明はマルチメディアデータの伝送に係り、特にネットワークの状態によってマルチメディアデータを適応的に伝送できるマルチメディアストリーミング装置及びその方法に関する。
【背景技術】
【０００２】
　ストリーミングは、伝送するデータを連続的に処理する技術である。インターネットの発展に伴い、ストリーミング技術の重要度はさらに高まっている。これは、多くの利用者は、大容量のマルチメディアデータを速やかにダウンロードするほど高速な接続回線を有していないが、ストリーミング技術を利用することで、ファイルの伝送が終了する前であっても、マルチメディアデータはクライアント側のブラウザまたはプラグインで表示可能になるからである。
【０００３】
　しかし、ストリーミングにおいてネットワークの状態は定常ではない。一般的に、ストリーミング開始時のネットワーク帯域幅に合うようにストリーミングサービスを実施したとしても、サービス対象のクライアントの数が多くなると帯域幅が狭まり、さらにクライアントの数が増えた場合にはネットワークの混雑が発生して安定したサービスを保障できなくなる。したがって、ネットワークの状態変化に合わせて伝送率を変化させる適応的ストリーミングのサービスが必要となる。
【０００４】
　このような適応的ストリーミングは、ネットワークの状態変化に合わせて伝送量を適切に調節する技術であって、従来技術として、次のようなものが開示されている。
【０００５】
　特許文献１には、予想されるビット率を数段階に分けて、各ビット率に該当するマルチメディアストリームデータを作成して保存する多重ビットストリームサービスが開示される。このサービスによると、１フレームずつ当該ストリームデータを保存するか、各ビット率レベルに該当するストリームデータをそれぞれ保存して、サーバから当該ストリームデータを選択的にストリーミングする。しかし、この方法では、一つのマルチメディアコンテンツをサービスするために記憶されるストリームデータのサイズが大きくなるという短所を有している。
【０００６】
　特許文献２には、チャンネル帯域幅及びクライアントのリソース状態を考慮して伝送時映像の圧縮率を調節して符号化する方法が開示される。しかしながら、この方法ではフレーム毎に現在の帯域幅及び直前フレームの圧縮率を比較して次のフレームの圧縮率を調節するため、計算量が多くなり、ストリーミングサーバでのオーバーヘッドが大きくなるという短所を有している。
【０００７】
　特許文献３には、既存の符号化されたデータのビット率を変更してネットワークの帯域幅に合うように再符号化して伝送する方法が開示される。しかしながらこの方法では、復号化過程、ビット率変換過程、及び符号化過程を含み、ネットワークの帯域幅が変わる度に前記過程を経てビット率変換を行わなければならないので、この処理を行うサーバの負担が増加するという短所を有している。そして、リアルタイムに符号化が行われない場合、安定したサービスを保障できないという短所も有している。
【０００８】
【特許文献１】米国特許第６，０１４，６９４号明細書
【特許文献２】米国特許第６，０９１，７７７号明細書
【特許文献３】米国特許第６，１８１，７１１号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００９】
　したがって、本発明が解決しようする技術的課題は、ストリーミングを行うサーバに負担を与えずにネットワーク帯域幅の変化に応じて適応的に伝送率を変化させて最適なマルチメディアストリーミングサービスを提供できるマルチメディアストリーミング装置及びその方法を提供することである。
【課題を解決するための手段】
【００１０】
　前記の課題を達成するために成された本発明に係るマルチメディアストリーミング装置は、大きくマルチメディアストリーミングサーバとマルチメディアストリーミングクライアントとから構成される。マルチメディアストリーミングサーバは、サービスしようとするマルチメディアデータに対応するメタデータの分析結果及び外部から入力されたネットワーク帯域幅情報に応じて、所定のサービス品質（以下ＱｏＳ：Ｑｕａｌｉｔｙ　ｏｆ　Ｓｅｒｖｉｃｅと省略する）レベルに応じたマルチメディアデータをストリーミングする。そして、マルチメディアストリーミングクライアントは、マルチメディアデータを受信した時間及び前記マルチメディアデータのサイズ情報を利用して、マルチメディアストリーミングサーバが接続されたネットワークの帯域幅を測定し、この測定したネットワーク帯域幅情報をマルチメディアストリーミングサーバに伝送する。
【００１１】
　前記課題を達成するために成された本発明に係るマルチメディアストリーミングサーバは、データ保持部、メタデータ分析部、メッセージ受信部、ＱｏＳ処理部、バッファ、パッケット生成部、及びパッケット伝送部を含んで構成される。データ保持部は、サービスしようとするマルチメディアデータおよびこのマルチメディアデータに関連したメタデータを保持している。メタデータ分析部は、このメタデータを分析し、分析結果をデスクリプタ情報として出力する。メッセージ受信部は、マルチメディアストリーミングクライアントからネットワーク帯域幅情報を受け取る。ＱｏＳ処理部は、デスクリプタ情報およびネットワーク帯域幅情報に応じてサービスできるサービス品質レベルを選択し、選択されたサービス品質レベルに応じたマルチメディアデータをデータ保持部から抽出する。バッファは、この抽出されたマルチメディアデータを一時保存する。パッケット生成部は、バッファに保存されたマルチメディアデータをパッケットに変換する。パッケット伝送部は、バッファに保存されたマルテチメディアデータを一定の時間間隔でマルチメディアストリーミングクライアントに伝送する。
【００１２】
　前記課題を達成するために成された本発明に係るマルチメディアストリーミングクライアントは、パッケット受信部、バッファ、マルチメディアデコーダ、帯域幅測定部およびメッセージ伝送部を含んで構成される。パッケット受信部は、マルチメディアストリーミングサーバからマルチメディアデータを受信する。バッファは、受信したマルチメディアデータを保存する。マルチメディアデコーダは、バッファに保存されたマルチメディアデータを再生する。帯域幅測定部は、パッケット受信部からマルチメディアデータを受信した時間およびマルチメディアデータのサイズ情報を利用してネットワーク帯域幅を測定する。メッセージ伝送部は、このネットワーク帯域幅によってマルチメディアストリーミングサーバから伝送されるマルチメディアデータの伝送率が変更されうるように、測定されたネットワーク帯域幅情報をマルチメディアストリーミングサーバに伝送する。
【００１３】
　前記課題を達成するために本発明によるマルチメディアストリーミング方法は、（ａ）クライアントからサーバにサービス要請メッセージ及びセッション連結要請メッセージを伝送する段階と、（ｂ）前記要請メッセージに対するサービス確認メッセージ及びダミーパッケット対を前記クライアントに伝送する段階と、（ｃ）前記サーバから伝送された前記ダミーパッケット対に応答して前記ネットワークの初期帯域幅値を決定し、決定された初期帯域幅値を前記サーバに伝送する段階と、（ｄ）前記クライアントから伝送された前記初期帯域幅情報及びメタデータの分析結果から得られたデスクリプタ情報を比較して適切なサービス品質レベルを定め、前記サービス品質レベルに応じた伝送率によってマルチメディアストリーミングサービスを開始する段階と、（ｅ）前記サーバのストリーミングサービスにより伝送されたパッケット情報に応じて、前記ネットワーク帯域幅を周期的に測定し、測定された帯域幅値を前記サーバに伝送する段階と、（ｆ）前記クライアントから伝送された前記測定された帯域幅値によって所定のマルチメディアストリームを抽出し、抽出された前記マルチメディアストリームを前記クライアントに伝送する段階と、を含むことを特徴とする。
【００１４】
　前記課題を達成するために本発明によるマルチメディアストリーミング方法は、（ａ）クライアントからネットワークの帯域幅を受信する段階と、（ｂ）サービスしようとするマルチメディアデータに対応するメタデータの分析結果から得られたデスクリプタに基づいて現在のタイムセグメントを選択する段階と、（ｃ）選択された前記タイムセグメントについて前記デスクリプタに定義されている目標ビット率及び前記ネットワーク帯域幅を比較してサービスできるサービス品質レベルを選択する段階と、（ｄ）選択された前記サービス品質レベルに該当するフレームを抽出して一定時間ごとに前記クライアントに伝送する段階と、を含むことを特徴とする。
【００１５】
　前記課題を達成するために本発明によるネットワーク帯域幅測定方法は、（ａ）累積パッケットサイズ値を０に設定する段階と、（ｂ）サーバからパッケットを受信し始める段階と、（ｃ）最初のパッケットの受信時間をＴＳ１と設定する段階と、（ｄ）前記最初のパッケットが入力された後、最後のパッケットが入力されるまでに、パッケットが入力される度に、累積パッケットサイズ値に当該パッケットのサイズ値を累積して加える段階と、（ｅ）最後のパッケットが入力されると、前記最後のパッケットの受信時間をＴＳ２に設定する段階と、（ｆ）次に示す数式（１）を計算して前記ネットワーク帯域幅を測定する段階と、
【００１６】
【数１】
2004112789.tif 000003
【００１７】
　（ｇ）前記測定されたネットワーク帯域幅情報を前記サーバにフィードバックする段階と、を含むことを特徴とする。
【発明の効果】
【００１８】
　本発明に係るマルチメディアストリーミング装置及びその方法によると、ネットワークの状態及びサービスを受けるターミナルの種類に関係なく最適なマルチメディアストリーミングサービスを提供することが可能である。そして、マルチメディアデータと共にメタデータだけを記述すると、サービスするコンテンツのフォーマットに関係なく適用可能であり、既存の方法に比べてストリーミング時のサーバの負担を軽減することができる。また、本発明は、有線通信網にはもちろん、無線通信網でのデータストリーミングにも適用可能である。
【発明を実施するための最良の形態】
【００１９】
　以下、添付した図面を参照して、本発明の望ましい実施の形態について詳細に説明する。
【００２０】
　図１は、不定常なネットワーク環境において、適応的マルチメディアストリーミングサービスを提供する、本実施の形態におけるマルチメディアストリーミングサーバ１００（以下、サーバ１００と省略する）のブロック図である。図１を参照すると、本実施の形態におけるサーバ１００は、データ保持部１０１、メタデータ分析部１１０、ＱｏＳ処理部１３０、メッセージ受信部１６０、バッファ１７０、パッケット生成部１８０およびパッケット伝送部１９０を含んで構成されている。さらに、ＱｏＳ処理部１３０はサービスレベル選択部１４０とフレーム選択部１５０とを含んでいる。
【００２１】
　データ保持部１０１は、サービスしようとする圧縮マルチメディアデータ及び、前記マルチメディアデータに関連するメタデータを保存している。ここで、マルチメディアデータは、オーディオデータ、ビデオデータのような動画データ、静止画データ、テキストデータおよびグラフィックデータのうち何れか一つの形態で保存されているものとする。そして、このマルチメディアデータは、空間スケーラブル機能、品質スケーラブル機能、時間スケーラブル機能およびＦＧＳ機能のうち何れか一つを有するビットストリームデータにより構成されている。メタデータ分析部１１０は、メタデータを分析し、分析結果をデスクリプタの形態で出力する。ＱｏＳ処理部１３０は、メタデータのデスクリプタ情報及びネットワーク帯域幅情報に応じてＱｏＳ処理を行う。メッセージ受信部１６０では、後記するクライアントからネットワーク１の状態情報（すなわち、ネットワーク帯域幅情報）を受け取る。バッファ１７０は、２つのバッファから構成され、パッケットを保存するためのパッケット保持バッファ及びパッケットを伝送するためのパッケット伝送バッファに区分されている。パッケット生成部１８０は、パッケット伝送用バッファに保存されたデータをパッケットに変換する機能を有し、パッケット伝送部１９０はバッファ１７０に保存されたデータを一定の時間間隔でネットワーク１に伝送する。
【００２２】
　次に、ＱｏＳ処理部１３０のＱｏＳ処理過程を説明する。初めに、サービスレベル選択部１４０は、メッセージ受信部１６０にネットワーク帯域幅情報を受信すると、デスクリプタに予め設定されているＱｏＳレベル別の目標ビット率およびネットワーク帯域幅情報を比較して、サービスできるＱｏＳレベルを選択する。そして、マルチメディアデータ１０から選択したＱｏＳレベルに応じたフレームを抽出してバッファ１７０に保存する。
【００２３】
　メタデータ２０には、メタデータ２０に直接アクセス可能なように、バッファ１７０に保存されたファイルの各ＱｏＳレベルに応じたフレームのポインタ情報が含まれている。パッケット生成部１８０は、バッファ１７０に保存されたデータを一定のサイズで切り出してパッケット化し、パッケット伝送部１９０は、バッファ１７０に保存されたデータを一定時間ごとにネットワーク１に伝送する。なお、パッケット伝送部１９０は、データ伝送時に、パッケットを一定間隔で伝送することで、後記するクライアントでの正確な帯域幅測定を可能にしている。また、このパッケット伝送間隔及びパッケットのサイズはサービスするデータの平均ビット率によって変更される。
【００２４】
　このメタデータ２０は、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ　Ｍａｒｋ−ｕｐ　Ｌａｎｇｕａｇｅ）を用いて定義され、ＸＭＬの有する利点である拡張性及び互換性を有している。メタデータ２０は、サーバ１００と後記するクライアントとの間にストリーミングサービスの要請が行われると、メタデータ分析部１１０によって分析され、サーバ１００内で内部的に使用されうるようにデスクリプタの形態で保存される。
【００２５】
　図２は、本実施の形態におけるメタデータ２０の構造を示す図面である。図２において、長方形で示される部分２１ないし２６は、ノード客体を表し、ノード間を連結する線はノード２１ないし２６間の上下連結関係を表している。そして、線の連結部の横に示された数字は、一つのノードについて、客体がどのぐらい関連するかを示す濃度を表している。ここで、例えば線の連結部に表示された数字が“１，１”であれば、連結関係が最大、最小各々一つであることを表し、“０，＊”であれば、連結関係が最小０、最大無限大であることを表している。そして、“１，＊”であれば、連結関係が最小１、最大無限大であることを表している。
【００２６】
　具体的には、例えば“１，１”で表示されたストリーミングヒントノード２１及びヘッダグループヒントノード２２間の関係は、ストリーミングヒントノード２１の下位にヘッダグループヒントノード２２が必ず一つだけ存在し、２つ以上存在できないことを表す。そして、“１，＊”で表示されたストリーミングヒントノード２１とセグメントグループヒントノード２４との間の関係は、ストリーミングヒントノード２１の下位に必ず一以上のセグメントグループヒントノード２４が存在しなければならず、存在するセグメントグループヒントノード２４の数は最大で無限大であることを表している。
【００２７】
　図２において、ストリーミングヒントノード２１は最上位ノードであって、メタデータ２０のコントロールタイプ及びノードの階層構造タイプを示す属性値を有している。ストリーミングヒントノード２１に記されたコントロールタイプには、ターゲットビット率コントロール、ターゲット品質コントロール、ターゲット複雑度コントロール、ターゲットプロファイルコントロール、ターゲット速度コントロール、ターゲット方向コントロールおよびターゲットデバイスコントロールが含まれている。
【００２８】
　ターゲットビット率コントロールは、ネットワーク帯域幅の変化に応じて伝送ビット率を変更するための属性値であり、ターゲット品質コントロールはサービスするマルチメディアデータの目標品質を調節するための属性値である。ターゲット複雑度コントロールはクライアントのリソース状態に応じて区分されたサービスを支援するための属性値であり、ターゲットプロファイルコントロールはマルチメディアデータの圧縮フォーマットに応じて区分されたサービスを支援するための属性値であり、ターゲット速度コントロールはクライアントでの再生速度調節要請に応じてサービス速度を調節するための属性値である。そして、ターゲット方向コントロールは、後記するクライアントでの再生方向調節要請に応じてサービス方向を調節するための属性値であり、ターゲットデバイスコントロールは、クライアントの端末機種に応じて区分されたサービスを支援するための属性値である。それ以外にも、ストリーミングヒントノード２１には、前記のようなコントロールタイプ以外にもＱｏＳのためのコントロールタイプがさらに定義可能である。このようなストリーミングヒントノード２１のコントロール属性値によってメタデータの属性が異なるように記述されている。
【００２９】
　ストリーミングヒントノード２１の階層構造タイプは、独立型及び従属型に区分され、階層構造タイプに応じて下位ノードの構造は変化する。特に、メディアセグメントヒントノード２５は、その構造により独立型メタデータまたは従属型メタデータを構成する。
【００３０】
　ここで、図３は、独立型メタデータの構造を示す図面であり、図４は従属型メタデータの構造を示す図面である。図３を参照すると、各メディアセグメントヒントノード２５１１，２５１２，２５１３は、相互独立的な連結関係にある。一方、図４を参照すると、第２メディアセグメントヒントノード２５２２は、第１メディアセグメントヒントノード２５２１に対して従属的な連結関係を有することが分かる。ここで、独立型メタデータは、上位ノードについての参照や再使用なしに各々のノードがサービスレベルに当たるマルチメディアデータのフレーム情報を有する反面、従属型メタデータは各レベル別に重複される情報を上位ノードで参照し、下位ノードでは追加情報だけ記述するという違いを有している。
【００３１】
　再び、図２を参照すると、ストリーミングヒントノード２１はヘッダ情報を有するヘッダグループヒントノード２２及び、マルチメディアデータを時間単位のセグメントに分ける時、各セグメント情報を構成するセグメントグループヒントノード２４に区分される。
【００３２】
　ヘッダグループヒントノード２２は、サービスするマルチメディア客体の数だけフレームヘッダヒントノード２３を有し、各々のフレームヘッダヒントノード２３は各ノードの固有情報を表す属性値を有している。
【００３３】
　フレームヘッダヒントノード２３の属性値にはストリームＩＤ、ストリームタイプ、スケーラビリティ、ソースロケータ、フレームレート、ＡＶＧビットレートが含まれる。この中で、ストリームＩＤは各マルチメディアデータを区別するための固有ＩＤであり、ストリームタイプはマルチメディアタイプを表す属性値であって、ＶＩＳＵＡＬ／ＡＵＤＩＯ／ＯＴＨＥＲタイプに区分される。スケーラビリティは、スケーラブル機能の種類を表す属性値であって、ＳＰＡＴＩＡＬ／ＴＥＭＰＯＲＡＬ／ＳＮＲ／ＦＧＳタイプに区分される。ＳＰＡＴＩＡＬは、空間上のスケーラブル属性値を表し、ＴＥＭＰＯＲＡＬは時間上のスケーラブル属性値を表し、そしてＳＮＲは品質上のスケーラブル属性値を各々表す。ソースロケータは、サーバ１００のデータ保持部１０１に保存されているマルチメディアデータの位置情報を表す。そして、フレームレートは、マルチメディアデータのフレーム率を、ＡＶＧビットレートは、マルチメディアデータの平均ビット率をそれぞれ表している。
【００３４】
　セグメントグループヒントノード２４は、全体のマルチメディアストリームを、所定の時間間隔に分ける際に、時間単位の分割されたマルチメディアストリームをセグメントとして定義している。そして、セグメントグループヒントノード２４は、各セグメントについてＱｏＳレベルの数のメディアセグメントヒントノード２５を有している。ＱｏＳレベルの数が増えると、メディアセグメントヒントノード２５の数が増加してメタデータ２０のサイズは大きくなるが、さらに細分化されたサービスが可能となる。
【００３５】
　メディアセグメントヒントノード２５は、ＱｏＳレベルインデックスを表すレベル属性及び当該ＱｏＳレベルでサービスされるフレームの全体の数を表すＮｏＦ（Number of Frames）属性値と、当該ＱｏＳレベルのフレームをサービスする時の平均ビット率を表すターゲットビットレート属性値を有している。メディアセグメントヒントノード２５は、実際に伝送されるマルチメディアフレーム情報を有する少なくとも一つ以上のメディアフレームヒントノード２６を含み、メディアセグメントヒントノード２５はＮｏＦ属性値の数だけメディアフレームヒントノード２６を有している。
【００３６】
　メディアフレームヒントノード２６は、ストリームＩＤ、ＣＴＳ、ＤＴＳ、コーディングタイプ、フレームオフセット、フレーム長およびフレーム番号の属性値を有している。ストリームＩＤは、幾つかのマルチメディア客体が同時にサービスされる場合、各マルチメディアストリームを区分するための固有ＩＤであって、フレームヘッダヒントノード２３のストリームＩＤと同じ値を有している。ＤＴＳ及びＣＴＳはフレームのデコーディング時間情報及び再生時間情報をそれぞれ表している。コーディングタイプは、フレームコーディング時にフレーム参照方式によって各フレームをＩフレーム／Ｐフレーム／Ｂフレームに区分する。そして、フレームオフセットは、データ保持部１０１に保存されているマルチメディアデータのフレーム別の位置情報を表し、フレーム長は当該フレームのサイズを表している。そして、フレーム番号は当該フレームの番号を表している。
【００３７】
　メディアフレームヒントノード２６のこれらの属性値により、データ保持部１０１に保存されているマルチメディアデータ１０への直接アクセスが可能となっている。このようなメタデータのファイル構造を利用することで、複数のマルチメディアストリームを同時にサービスする場合であっても、適応的なマルチメディアストリーミングが可能になる。
【００３８】
　図５は、ネットワークの帯域幅変化に応じて伝送ビット率を変更して、ビデオストリームおよびオーディオストリームを同時にストリーミングする場合のメタデータの構造を示す図面である。
【００３９】
　図５を参照すると、単位セグメントについての各ＱｏＳレベルに応じたメディアセグメントヒントノード２５３１ないし２５３３は、ビデオおよびオーディオストリームのフレーム情報を共有しており、メディアフレームヒントノード２６３１ないし２６３ｎのストリームＩＤ属性値を利用して各マルチメディアデータのストリームを区分してアクセスする。例えば、ストリームＩＤ０がビデオデータストリームに定義され、ストリームＩＤ１がオーディオデータストリームに定義された場合、メディアフレームヒントノード２６のストリームＩＤ属性値がストリームＩＤ０を表すか、またはストリームＩＤ１を表すかによって当該マルチメディアデータにアクセスする。このように、複数のストリームを同時にサービスする場合、メタデータにサービスされるマルチメディアフレームを共に定義することで、帯域幅に合わせて伝送率も調節できる。
【００４０】
　図６は、サーバ１００から伝送されたマルチメディアパッケットを処理する本実施の形態のマルチメディアストリーミングクライアント３００（以下、クライアント３００と省略する）のブロック図である。図６を参照すると、本実施の形態のクライアント３００は、パッケット受信部３１０、バッファ３２０、マルチメディアデコーダ３３０、帯域幅測定部３４０及びメッセージ伝送部３５０を含んで構成される。
【００４１】
　パッケット受信部３１０は、サーバ１００からマルチメディアストリームデータを受信し、バッファ３２０は受信したマルチメディアストリームデータを保存する。マルチメディアデコーダ３３０は、バッファ３２０に保存されたデータを再生し、帯域幅測定部３４０はパッケット受信部３１０からマルチメディアパッケットデータを受信した時間及びパッケットのサイズ情報を利用してネットワーク帯域幅を測定する。
【００４２】
　サーバ１００は、データ伝送時に一定時間間隔にバッファ１７０にある全てのパッケットをパッケットグループ単位で伝送するが、パッケット伝送時にパッケット番号も共に伝送する。パッケット受信部３１０は、サーバ１００から伝送されたパッケット番号を利用してパッケットグループの最初のパッケット及び最後のパッケットを区別する。最初のパッケットを受信した時間をｔ1、最後のパッケットを受信した時間をｔ2と定義し、パッケットグループのデータサイズをＳpと定義すると、ネットワークの帯域幅は次に示す数式（２）によって求められる。
【００４３】
【数２】
2004112789.tif 000004
【００４４】
　数式（２）において、時間の単位はｍｓ（ｍｉｌｌｉ　ｓｅｃｏｎｄ）、データサイズ単位はバイト、帯域幅の測定単位はｂｐｓ（ｂｉｔｓ　ｐｅｒ　ｓｅｃｏｎｄ）がそれぞれ使われる。そして、測定された帯域幅は帯域幅の変化があるとメッセージ伝送部３５０からネットワーク帯域幅情報としてサーバ１００に周期的にフィードバックされる。
【００４５】
　図７は、図１及び図６に示したサーバ１００及びクライアント３００間で行われるマルチメディアストリーミング動作を説明するための図面である。図７を参照すると、本実施の形態の適応的マルチメディアストリーミング方法は、メタデータを利用してデータ伝送時にネットワークの帯域幅に合うようにサーバ１００及びクライアント３００の間のデータ伝送率を調節する。このためにクライアント３００は、初めに、サーバ１００にサービス要請及びセッション連結要請メッセージを伝送する（（１）参照）。サーバ１００は、クライアント３００からのサービス要請を確認し（（２）参照）、サービス確認メッセージと共にダミーパッケット対をクライアント３００に伝送する（（３）参照）。
【００４６】
　次に、クライアント３００は、サーバ１００から伝送されたパッケット対に応じて初期帯域幅を測定する（（４）参照）。サーバ１００から伝送される２つのパッケットのサイズはサーバ１００のパッケット生成部１８０からマルチメディアデータをパッケット化する時にパッケットを切り出す単位サイズと同じに設定され、パッケットの伝送間隔もマルチメディアデータの伝送間隔と同じに設定される。サーバ１００からダミーパッケット対を受信したクライアント３００は、前記した数式（２）を利用してネットワークの初期帯域幅値を決定し、これをサーバ１００に伝送する（（５）参照）。
【００４７】
　そして、クライアント３００において初期帯域幅を測定して伝送すると、サーバ１００はメタデータを分析してデスクリプタの形態で保存し、初期帯域幅及びデスクリプタ情報を比較して適切なＱｏＳレベルを定めてマルチメディアストリーミングサービスを開始する（（６）参照）。クライアント３００は、サーバ１００から伝送されたパッケット情報を利用して周期的にネットワーク帯域幅を測定し（（７）参照）、測定された帯域幅値をサーバ１００に伝送する（（８）参照）。サーバ１００は、クライアント３００から伝送された帯域幅値に応じてマルチメディアストリームを抽出し（（９）参照）、抽出されたマルチメディアストリームをクライアント３００に伝送する（（１０）参照）。この時、サーバ１００及びクライアント３００間で行われるデータ伝送過程は、次のようである。
【００４８】
　前記したように、サーバ１００のバッファ１７０は、その用途によってパッケットを保存するためのパッケット貯蔵バッファと、パッケットを伝送するためのパッケット伝送バッファとに区分される。ＱｏＳ処理部１３０は、パッケット伝送部１９０がパッケット伝送バッファに保存されたパッケットを伝送する間にＱｏＳレベルに該当するフレームをパッケット貯蔵バッファに保存する。この時、行われるパッケット伝送は、一定の時間間隔に行われる。パッケットを伝送し、所定の時間が経過した後で次のパッケットを伝送する時間になると、パッケット伝送部１９０は、前回送信したパッケット貯蔵バッファを今回送信するパッケットを伝送するためのパッケット伝送バッファとして使用し、伝送後にクリアされた今回送信したパッケット伝送バッファを、次回送信するパッケットを保存するためのパッケット貯蔵バッファとして使用する。このようなバッファ１７０の反復的な運用により、ネットワーク状態の変化を最小化しつつ連続的なストリーミングを行うことができる。
【００４９】
　パッケット伝送部１９０は、一定の時間間隔ごとにパッケット伝送バッファに保存されたパッケットを全て伝送するが、この時に伝送されるパッケットをパッケットグループと定義する。パッケットグループ単位のパッケットの伝送時、パッケットの順序を表すパッケット番号を有している。クライアント３００は、このようなパッケット番号によってパッケットの順序及びパッケットグループの開始と終了とを決定し、パッケットグループ単位で帯域幅を測定する。クライアント３００において帯域幅を測定する過程は、次のようである。
【００５０】
　図８は、図６に示されたクライアント３００のパッケット受信部３１０で行われるネットワーク帯域幅測定方法を示すフローチャートである。図８を参照すると、パッケット受信部３１０は受信したパッケットの全体のサイズを表す累積パッケットサイズ値を０に初期化した後（３１１０段階）、パッケットを受信する（３１２０段階）。パッケット受信部３１０ではパッケットが受信されると、パッケットからヘッダ及びデータを分離し、ヘッダからパッケット番号を取得する。そして、このパッケット番号を利用して受信したパッケットが最初のパッケットであるか否かを判別する（３１３０段階）。
【００５１】
　３１３０段階の判別結果、受信したパッケットが最初のパッケットであれば、このパッケットの受信時間をＴＳ１に設定し（３１４０段階）、３１２０段階に戻ってパッケットを受信し続ける。そして再び、受信したパッケットが最初のパッケットであるか否かを判別し（３１３０段階）、受信したパッケットが最初のパッケットでなければ、このパッケットが最後のパッケットであるか否かを判別する（３１５０段階）。
【００５２】
　３１５０段階での判別結果、受信したパッケットが最後のパッケットでなければ累積パッケットサイズ値に現在パッケットのサイズ値を累積して加え、３１２０段階に戻ってパッケットを受信し続ける。そして再び、受信したパッケットが最初のパッケットであるか否かを判別し（３１３０段階）、受信したパッケットが最初のパッケットでなければ、前記パッケットが最後のパッケットであるか否かを再び判別する（３１５０段階）。
【００５３】
　３１５０段階での判別結果、受信したパッケットが最後のパッケットであれば、このパッケットの受信時間をＴＳ２に設定し（３１７０段階）、最初のパッケットの受信時間ＴＳ１、最後のパッケットの受信時間ＴＳ２、及び累積パッケットサイズ値を次に示す数式（１）に代入して、ネットワーク帯域幅を計算することでネットワークの帯域幅を測定する（３１８０段階）。
【００５４】
【数１】
2004112789.tif 000005
【００５５】
　次に、図９は、図１に示したサーバ１００で実行されるマルチメディアストリーミングサービス過程を示すフローチャートである。図９を参照すると、サーバ１００は図６に示したクライアント３００からネットワークの帯域幅を受信し（１１００段階）、メタデータで作られたデスクリプタから現在のタイムセグメントを選択する（１２００段階）。そして、選択されたタイムセグメントについてデスクリプタに定義されている目標ビット率と帯域幅とを比較して、サービスできるＱｏＳレベルを選択する（１４００段階）。ＱｏＳレベルの数はメタデータを定義する時に決定され、各レベルの目標ビット率はマルチメディアデータの平均ビット率を基準として決定される。メタデータにはレベルごとに当該フレームの情報が含まれるので、ＱｏＳレベルが決定されると、そのレベルに該当するフレームだけを抽出して（１５００段階）バッファ１７０に保存する（１７００段階）。そして、パッケット伝送部１９０を通じてバッファ１７０に保存されたデータを一定時間ごとにクライアント３００に伝送する。
【００５６】
　次に、図１０は、ネットワークの帯域幅変化に合うように伝送ビット率を調節してマルチメディアデータについてのストリーミングサービスを適応的に提供した実施例を示す図面である。
【００５７】
　図１０を参照すると、例えば、クライアント３００によって測定された現在ネットワークの帯域幅が４００ｋｂｐｓである場合、サーバ１００はメタデータから適切なＱｏＳレベルを選択する。図１０に示したように、ネットワークの帯域幅が４００ｋｂｐｓである場合にＱｏＳレベルは３段階で構成され、この時に各々のメディアセグメントヒントノード２５４１ないし２５４３はＱｏＳレベルを表している。例えば、メディアセグメントヒントノード２５４１ないし２５４３の属性のうち何れか一つのターゲットビットレート値がレベル１である場合には１９２ｋｂｐｓに設定され、レベル２の場合には３５６ｋｂｐｓに設定され、レベル３の場合には６８９ｋｂｐｓに設定されることで、現在帯域幅（すなわち、４００ｋｂｐｓ）と最も近い目標ビット率値を有したレベル２がサービスレベルとして選択される。
【００５８】
　メディアセグメントヒントノード２５４１ないし２５４３は、当該ノードの下位にメディアフレームヒントノード２６４１ないし２６４ｍを有し、各々のメディアフレームヒントノード２６４１ないし２６４ｍには当該目標ビット率を支援できるフレームの情報が保存される。この場合、ネットワークの帯域幅は４００ｋｂｐｓに固定されず変化するが、ネットワークの帯域幅が変わると、それに応じて選択されるＱｏＳレベルも変わる。したがって、サーバ１００が現在ネットワークの帯域幅に対応するＱｏＳレベル（例を上げれば、ＱｏＳレベル２）に当たるフレームを選択して伝送すると、データ伝送率が現在ネットワークの帯域幅に合うように調節されるので、適応的ストリーミングが可能となる。
【００５９】
　ここで図１１は、ＱｏＳレベルを３とした場合、本実施の形態の適応的ストリーミング方法によるマルチメディアストリームのビット率の変化を示すグラフである。図１１に示したグラフは、３５２×２８８サイズのＣＩＦ（Ｃｏｍｍｏｎ　Ｉｎｔｅｒｍｅｄｉａｔｅ　Ｆｏｒｍａｔ）サイズ、３０ｆｐｓのフレーム率、及び６５８ｋｂｐｓの平均ビット率を有するシーケンスデータを利用した適応的ストリーミングの結果である。これはＱｏＳレベルを三つに区分した時、時間の経過に対するネットワーク帯域幅（ＮＥＴ＿ＢＷ）、変形前のビット率（ＯＲＧ＿ＢＩＴＲＡＴＥ）および本発明によって変形されたデータのビット率（ＡＤＴ＿ＢＩＴＲＡＴＥ）の変化を各々表している。
【００６０】
　図１１を参照すると、ＮＥＴ＿ＢＷはＡ区間で次第に減少し、Ｂ区間では最低となり、Ｃ区間で再び回復するように変化する。この時、Ａ区間で変形前のＯＲＧ＿ＢＩＴＲＡＴＥはＮＥＴ＿ＢＷより小さいので、ＱｏＳレベルによるビット率の変形は発生しない。そして、Ｃ区間でも同様に、ＯＲＧ＿ＢＩＴＲＡＴＥがＮＥＴ＿ＢＷより小さいので、ＱｏＳレベルによるビット率の変形は発生しない。しかし、Ｂ区間ではＮＥＴ＿ＢＷより伝送されるＯＲＧ＿ＢＩＴＲＡＴＥが大きいので、この状態が持続された場合にはネットワークの混雑が発生し、伝送中にパッケットの損失が発生する。したがって、本発明ではＢ区間についてＱｏＳレベルによってＮＥＴ＿ＢＷに合うようにビット率を調節して、ネットワーク伝送時に発生されうるパッケット損失を防止している。
【００６１】
　次に図１２は、図１１のようにＱｏＳレベルを３とした場合についてのＰＳＮＲ値の変化を示すグラフである。このＰＳＮＲ値は、次に示す数式（３）および数式（６）を利用して計算される。
【００６２】
【数３】
2004112789.tif 000006
【００６３】
　数式（３）は、元映像に対して復号化された映像のＲＭＳＥ（Ｒｏｏｔ　Ｍｅａｎ　Ｓｑｕａｒｅ　Ｅｒｒｏｒ）を計算する式である。ここで、
【００６４】
【数４】
2004112789.tif 000007
【００６５】
は元映像のピクセル値を表し、
【００６６】
【数５】
2004112789.tif 000008
【００６７】
は復号化された映像のピクセル値を表している。そして、ＭおよびＮは、元映像のピクセル数及び復号化された映像のピクセル数をそれぞれ表している。数式（３）によって元映像に対して復号化された映像のＲＭＳＥ値を求めることで、次の数式（６）によりＰＳＮＲ値が計算される。
【００６８】
【数６】
2004112789.tif 000009
【００６９】
　図１２のグラフにおいてＰＳＮＲ値が急激に減少する部分は、ビット率の変換のためにフレーム損失が発生する部分であり、この時の平均ＰＳＮＲは３４.８７ｄＢである。
【００７０】
　次に、図１３は、ＱｏＳレベルを５とした場合、本実施の形態の適応的ストリーミング方法によるマルチメディアストリームのビット率の変化を示すグラフであり、図１４は図１３のようにＱｏＳレベルを５とした場合のＰＳＮＲ値の変化を示すグラフである。図１３及び図１４に示したグラフは、図１１及び図１２と同じ条件下で求められた実験結果である。
【００７１】
　図１３を参照すると、ＱｏＳレベルを５とした場合のＡＤＴ＿ＢＩＴＲＡＴＥは、ＱｏＳレベルを３とした図１１の場合に比べてＮＥＴ＿ＢＷをさらに適切に変更できる。したがって、フレーム損失率及び平均ビット率において、ＱｏＳレベルを３とした場合よりさらに向上した結果が得られた。
【００７２】
　そして、図１４を参照すると、図１４のグラフは図１２のグラフに比べてＰＳＮＲ値が急激に落ちる部分が減少していることが分かる。これは、フレーム損失が発生する部分が減少していることを意味している。図１４のようにＱｏＳレベルを５とした場合の平均ＰＳＮＲは３５.５７ｄＢであった。
【００７３】
　次に、図１５は、ＱｏＳレベルを７とした場合、本実施の形態の適応的ストリーミング方法によるマルチメディアストリームのビット率の変化を示すグラフであり、図１６は図１５のようにＱｏＳレベルを７とした場合のＰＳＮＲ値の変化を示すグラフである。図１５及び図１６に示したグラフは、図１１及び図１２と同じ条件下で求められた実験結果である。
【００７４】
　図１５を参照すると、ＱｏＳレベルを７とした場合のＡＤＴ＿ＢＩＴＲＡＴＥは、ＱｏＳレベルを３または５とした場合に比べてＮＥＴ＿ＢＷの変更をさらに適切に変更できる。したがって、フレーム損失率及び平均ビット率において、ＱｏＳレベルを３または５とした場合よりさらに向上された結果が得られた。
【００７５】
　そして、図１６を参照すると、図１６のグラフは図１２及び図１４のグラフに比べてＰＳＮＲ値が急激に落ちる部分が顕著に減少していることが分かる。これは、フレーム損失が発生する部分が顕著に減少していることを意味している。図１６のようにＱｏＳレベルを７とした場合の平均ＰＳＮＲは３５.８９ｄＢであった。
【００７６】
　図１１ないし図１６から得られた結果を表に整理すれば、次のようである。
【００７７】
【表１】
2004112789.tif 000010
【００７８】
　表１及び図１１ないし図１６に示したように、本発明はＱｏＳレベル数が増加するほど（すなわち、ＱｏＳレベルが細分化されるほど）ネットワーク帯域幅の変更をさらに適切にでき、ＱｏＳレベル数が増加するほどフレーム損失率が減り、平均ビット率及び平均ＰＳＮＲが増加する。したがって、ＱｏＳレベル数が増加するほどより繊細な伝送率の制御が可能になる。
【００７９】
　なお、本発明はコンピュータで読取れる記録媒体にコンピュータが読取れるコードとして具現可能である。コンピュータが読取れる記録媒体にはコンピュータシステムによって読取られるデータが保存される全ての種類の記録装置を含む。コンピュータが読取れる記録媒体の例では、ＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピディスク、光データ貯蔵装置があり、またキャリアウェーブ（例えば、インターネットを通した伝送）の形態に具現されることも含む。また、コンピュータが読取れる記録媒体にはネットワークに連結されたコンピュータシステムに分散され、分散方式でコンピュータが読取れるコードに保存され、実行される形態も含まれる。
【図面の簡単な説明】
【００８０】
【図１】マルチメディアストリーミングサーバのブロック図である。
【図２】メタデータの構造を示す図面である。
【図３】独立型メタデータの構造を示す図面である。
【図４】従属型メタデータの構造を示す図面である。
【図５】ビデオストリーム及びオーディオストリームを同時にストリーミングするための、メタデータの構造を示す図面である。
【図６】マルチメディアストリーミングクライアントのブロック図である。
【図７】サーバ及びクライアント間で行われるマルチメディアストリーミング動作を概略的に示す図面である。
【図８】ネットワーク帯域幅の測定方法を示すフローチャートである。
【図９】マルチメディアストリーミングサービス過程を示すフローチャートである。
【図１０】伝送ビット率を調節してマルチメディアデータについてのストリーミングサービスを適応的に提供する例を示す図面である。
【図１１】ＱｏＳレベルを３とした場合のマルチメディアストリームのビット率の変化を示すグラフである。
【図１２】ＱｏＳレベルを３とした場合のＰＳＮＲ値の変化を示すグラフである。
【図１３】ＱｏＳレベルを５とした場合のマルチメディアストリームのビット率の変化を示すグラフである。
【図１４】ＱｏＳレベルを５とした場合のＰＳＮＲ値の変化を示すグラフである。
【図１５】ＱｏＳレベルを７とした場合のマルチメディアストリームのビット率の変化を示すグラフである。
【図１６】ＱｏＳレベルを７とした場合のＰＳＮＲ値の変化を示すグラフである。
【符号の説明】
【００８１】
　１　　　ネットワーク
　１０　　マルチメディアデータ
　２０　　メタデータ
　１００　マルチメディアストリーミングサーバ
　１０１　データ保持部
　１１０　メタデータ分析部
　１３０　サービス品質分析部
　１４０　サービスレベル選択部
　１５０　フレーム選択部
　１６０　メッセージ受信部
　１７０　バッファ
　１８０　パッケット生成部
　１９０　パッケット伝送部
　３００　マルチメディアストリーミングクライアント
　３１０　パケット受信部
　３２０　バッファ
　３３０　マルチメディアコーディング
　３４０　帯域幅測定部
　３５０　メッセージ伝送部
【図１】
2004112789.tif 000015
【図２】
2004112789.tif 000016
【図３】
2004112789.tif 000017
【図４】
2004112789.tif 000018
【図５】
2004112789.tif 000019
【図６】
2004112789.tif 000020
【図７】
2004112789.tif 000021
【図８】
2004112789.tif 000022
【図９】
2004112789.tif 000023
【図１０】
2004112789.tif 000024
【図１１】
2004112789.tif 000025
【図１２】
2004112789.tif 000026
【図１３】
2004112789.tif 000027
【図１４】
2004112789.tif 000028
【図１５】
2004112789.tif 000029
【図１６】
2004112789.tif 000030