(57)【特許請求の範囲】
【請求項１】
パケット化されたデータをストリーミングするストリーミング経路と、制御信号に対応して前記パケット化されたデータを第１ビット率で前記ストリーミング経路を介して伝送するストリーミングサーバと、前記ストリーミング経路の状態によって前記パケット化されたデータを第２ビット率で受信し、前記第１ビット率と前記第２ビット率とを比較して、このように比較した結果に対応する前記制御信号を生成するクライアントと、を具備し、前記第１ビット率は、前記ストリーミングを開始する第１段階で前記ストリーミング経路を測定した帯域幅によって決定され、前記第１ビット率は、前記ストリーミングが進む第２段階で前記制御信号に対応して決定されることを特徴とするネットワークに適応したリアルタイムマルチメディアストリーミングシステム。
【請求項２】
前記第１ビット率によってパケットサイズとパケットとの間隔が制御されることを特徴とする請求項１に記載のネットワークに適応したリアルタイムマルチメディアストリーミングシステム。
【請求項３】
前記クライアントは、前記のように受信されたパケット化されたデータに損失が発生した場合に、前記第１ビット率を減じるための前記制御信号を出力し、前記のように受信されたパケット化されたデータに損失が発生していない場合に、前記第１ビット率と前記第２ビット率とを比較して、このように比較した結果に対応する前記制御信号を生成することを特徴とする請求項１に記載のネットワークに適応したリアルタイムマルチメディアストリーミングシステム。
【請求項４】
前記ストリーミングサーバから出力されるパケット化された両データ間の第１パケットの間隔が前記第１ビット率によって決定され、前記クライアントから受信されるパケット化された両データ間の第２パケットの間隔が前記第２ビット率によって決定される場合に、前記クライアントは、前記第１パケットの間隔と前記第２パケットの間隔とを比較して、前記第２パケットの間隔が前記第１パケットの間隔より大きい場合に、前記第１ビット率を減じるための前記制御信号を出力することを特徴とする請求項１に記載のネットワークに適応したリアルタイムマルチメディアストリーミングシステム。
【請求項５】
前記ストリーミングサーバから出力されるパケット化された両データ間の第１パケットの間隔が前記第１ビット率によって決定され、前記クライアントから受信するパケット化された両データ間の第２パケットの間隔が前記第２ビット率によって決定される場合に、前記クライアントは、前記第１パケットの間隔と前記第２パケットの間隔とを比較して、前記第２パケットの間隔が前記第１パケットの間隔より大きくないと判定された場合には、前記クライアントは測定された前記ストリーミング経路の帯域幅と前記第１ビット率とを比較し、このように比較した結果に基づいて前記第１ビット率を前記帯域幅まで増加させるための前記制御信号を前記ストリーミングサーバに出力することを特徴とする請求項１に記載のネットワークに適応したリアルタイムマルチメディアストリーミングシステム。
【請求項６】
請求項１に記載のネットワークに適応したリアルタイムマルチメディアストリーミングシステムで用いられるストリーミングサーバであって、前記ストリーミングサーバは、ストリーミングを開始する第１段階で第１ビット率を決定するための前記ストリーミング経路の帯域幅を測定する帯域幅測定部と、前記帯域幅測定部で測定された帯域幅または前記制御信号に対応して前記第１ビット率を制御する制御部と、階層符号化されたビットストリームから前記第１ビット率に対応するデータを出力するメディア制御部と、前記データを受信して前記パケット化されたデータを第１パケットの間隔で伝送する送信部と、を具備し、前記第１パケットの間隔は、前記第１ビット率または前記制御信号によって制御されることを特徴とするネットワークに適応したリアルタイムマルチメディアストリーミングシステムで用いられるストリーミングサーバ。
【請求項７】
前記クライアントは、前記第２パケットの間隔で前記パケット化されたデータを受信して再び組み合わせる受信部と、前記第１パケットの間隔と前記第２パケットの間隔とを比較して、このように比較した結果に対応する前記制御信号を生成して前記ストリーミングサーバに出力する判断部とを具備することを特徴とする請求項６に記載のネットワークに適応したリアルタイムマルチメディアストリーミングシステムで用いられるストリーミングサーバ。
【請求項８】
前記帯域幅測定部は、前記ストリーミング経路の帯域幅を測定するためにパケット対アルゴリズムを用いることを特徴とする請求項６に記載のネットワークに適応したリアルタイムマルチメディアストリーミングシステムで用いられるストリーミングサーバ。
【請求項９】
マルチメディアストリーミングシステムであって、パケットをストリーミングするストリーミング経路と、制御信号に対応して制御される第１パケットの間隔を有する前記パケットを第１ビット率で前記ストリーミング経路を介して伝送するストリーミングサーバと、前記ストリーミング経路の状態によって第２パケットの間隔を有する前記パケットを第２ビット率で受信するクライアントと、を具備し、前記クライアントは前記第１パケットの間隔と前記第２パケットの間隔とを比較して、このように比較した結果に対応する前記制御信号を出力し、前記ストリーミングサーバは、ストリーミングを開始する第１段階で第１ビット率を決定するための前記ストリーミング経路の帯域幅を測定する帯域幅測定部と、前記帯域幅測定部で測定された帯域幅または前記制御信号に対応して前記第１ビット率を制御する制御部と、階層符号化されたビットストリームから前記第１ビット率に対応するデータを出力するメディア制御部と、前記データを受信して前記パケットを前記第１パケットの間隔で伝送する送信部と、を具備し、前記第１パケットの間隔は前記第１ビット率または前記制御信号によって制御されることを特徴とするネットワークに適応したリアルタイムマルチメディアストリーミングシステム。
【請求項１０】
前記クライアントは、前記パケットに損失が発生していない場合に、前記第１パケットの間隔を制御するための前記制御信号を出力し、前記パケットに損失が発生した場合に、前記第１パケットの間隔と前記第２パケットの間隔とを比較し、このように比較した結果に対応する前記制御信号を出力することを特徴とする請求項９に記載のネットワークに適応したリアルタイムマルチメディアストリーミングシステム。
【請求項１１】
前記第２パケットの間隔が前記第１パケットの間隔よりも広い場合に、前記第１パケットの間隔が前記制御信号に対応して拡大する、あるいは、前記第１ビット率が前記制御信号に対応して減少して前記第１パケットの間隔を減じることを特徴とする請求項９に記載のネットワークに適応したリアルタイムマルチメディアストリーミングシステム。
【請求項１２】
前記第１パケットの間隔が前記第２パケットの間隔と同一であり、かつストリーミングする前に測定された前記ストリーミング経路の帯域幅が前記第１ビット率より大きい場合に、前記第１ビット率は前記制御信号に対応して増加することを特徴とする請求項９に記載のネットワークに適応したリアルタイムマルチメディアストリーミングシステム。
【請求項１３】
前記クライアントは、前記第２パケットの間隔で前記パケットを受信して再び組み合わせる受信部と、前記第１パケットの間隔と前記第２パケットの間隔とを比較し、このように比較した結果に対応する前記制御信号を生じて前記ストリーミングサーバに出力する判断部と、を具備することを特徴とする請求項９に記載のネットワークに適応したリアルタイムマルチメディアストリーミングシステム。
【請求項１４】
前記帯域幅測定部は、前記ストリーミング経路の帯域幅を測定するためにパケット対アルゴリズムを用いることを特徴とする請求項９に記載のネットワークに適応したリアルタイムマルチメディアストリーミングシステム。
【請求項１５】
請求項１または請求項９に記載のネットワークに適応したリアルタイムマルチメディアストリーミングシステムにおいてストリーミング経路の状態に適応させてパケットをマルチメディアストリーミングする方法であって、（ａ）前記ストリーミング経路を介して第１ビット率で第１パケットの間隔を有する前記パケットを伝送する段階と、（ｂ）前記ストリーミング経路の状態によって第２ビット率で第２パケットの間隔を有する前記パケットを受信する段階と、（ｃ）前記ストリーミング経路で前記パケットの損失有無を判断して前記パケットの損失が発生した場合に、前記第１ビット率または前記第１パケットの間隔を制御し、前記パケットの損失が発生していない場合に、前記第１パケットの間隔と前記第２パケットの間隔とを比較し、このように比較した結果に基づいて前記第１ビット率または前記第１パケットの間隔を制御する段階と、を具備し、前記（ａ）段階は、（ａ１）前記ストリーミング経路の帯域幅を測定する段階と、（ａ２）前記（ａ１）段階で測定された帯域幅または前記制御信号に対応して前記第１ビット率を制御する段階と、（ａ３）階層符号化されたビットストリームから前記第１ビット率に対応するデータを持ち込む段階と、（ａ４）前記データをパケット化して生成された前記パケットを前記第１パケットの間隔で伝送する段階と、で構成されることを特徴とするネットワークに適応したマルチメディアストリーミング方法。
【請求項１６】
前記（ｂ）段階は、前記ストリーミング経路の混雑度、前記ストリーミング経路のボトルネック現象の有無、または、前記ストリーミング経路に接続した使用者の数に応じて、前記第２ビット率、または、前記第２パケットの間隔を決定する段階を具備することを特徴とする請求項１５に記載のネットワークに適応したマルチメディアストリーミング方法。
【請求項１７】
前記（ｃ）段階は、（ｃ１）前記第２パケットの間隔が前記第１パケットの間隔より大きい場合に、前記第１ビット率を減じ、前記第２パケットの間隔が前記第１パケットの間隔と同一であり、かつストリーミングする前に測定された前記ストリーミング経路の帯域幅が前記第１ビット率より大きい場合には、前記第１ビット率を前記帯域幅まで増加させる段階と、（ｃ２）前記第２パケットの間隔が前記第１パケットの間隔と同一であり、かつ前記ストリーミング経路の帯域幅が前記第１ビット率より小さい場合に、前記（ａ）段階を実行する段階と、をさらに具備することを特徴とする請求項１５に記載のネットワークに適応したマルチメディアストリーミング方法。
【請求項１８】
請求項１または請求項９に記載のネットワークに適応したリアルタイムマルチメディアストリーミングシステムにおけるパケットをマルチメディアストリーミングする方法であって、（ａ）ストリーミング経路を介して第１パケットの間隔を有する前記パケットを伝送する段階と、（ｂ）前記ストリーミング経路を介して第２パケットの間隔を有する前記パケットを受信する段階と、（ｃ）前記ストリーミング経路を介して受信された前記パケットの損失有無を判断して前記パケットの損失が発生した場合に、前記第１パケットの間隔を制御し、前記パケットの損失が発生していない場合に、前記第１パケットの間隔と前記第２パケットの間隔とを比較し、このように比較した結果に基づいて前記第１パケットの間隔を制御する段階と、を具備し、前記（ａ）段階は、（ａ１）前記ストリーミング経路の帯域幅を測定する段階と、（ａ２）階層符号化されたビットストリームから前記（ａ１）段階で測定された帯域幅、または前記（ｃ）段階により制御された前記第１パケットの間隔に対応するデータを持ち込む段階と、（ａ３）前記データをパケット化して生成された前記パケットを前記第１パケットの間隔で伝送する段階と、で構成されることを特徴とするネットワークに適応したマルチメディアストリーミング方法。
【請求項１９】
前記（ｂ）段階は、前記ストリーミング経路の混雑度、前記ストリーミング経路のボトルネック現象の有無、または、前記ストリーミング経路に接続した使用者の数に応じて、前記第２パケットの間隔を決定する段階を具備することを特徴とする請求項１７に記載のネットワークに適応したマルチメディアストリーミング方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マルチメディアストリーミングシステム及びその方法に係り、より詳細には、サーバからクライアントへ送信されるパケットの間隔とクライアントから受信されるパケットの間隔とを比較し、この比較結果に基づきネットワークの状態を判定して、このネットワークの状態に適応させた伝送ビット率の制御を行うことが可能なネットワークに適応したリアルタイムマルチメディアストリーミングシステム及びその方法に関する。
【０００２】
【従来の技術】
伝送されるデータのビット率はデータ伝送速度と呼ばれている。データを伝送する経路、または、データをストリーミングする経路（以下、「ストリーミング経路」という。）の帯域幅は、インターネットネットにおけるネットワークの動作でリアルタイムマルチメディアストリーミングを行うために極めて重要な要素である。
【０００３】
例えば、インターネットのネットワークでは、ストリーミング経路にボトルネック現象が存在しないこと、あるいは、このネットワークの混雑度が比較的小さい場合にストリーミングサーバが伝送するデータのビット率（以下「伝送ビット率」という。）とクライアントが受信するデータのビット率（以下「受信ビット率」という。）とが同じであることが望ましい。
【０００４】
このような理想的な状態では、ストリーミングサーバがパケットに分解され、ストリーミング経路を介してクライアントに伝送されたデータは、遅延や損失が発生することなく、クライアントにリアルタイムで復号化されて再生され得る。
【０００５】
しかし、伝送ビット率がストリーミング経路の帯域幅より大きい場合にはストリーミングサーバからクライアントに伝送されるデータは、ボトルネック現象を生起させるルータによって損失が生じるという問題点がある。
【０００６】
すなわち、ネットワークの混雑度が大きい、あるいは、ストリーミング経路のボトルネック現象が発生した場合にストリーミングサーバが伝送したパケットを受信するクライアントの受信ビット率は漸次減少し、その結果、サーバが伝送したパケットが受信されずにパケットの損失が生じるという問題点が発生する。
【０００７】
パケット損失のみを基準としてビット率を変更させる従来のストリーミング方法及びその装置においては、ネットワークの状態変化に迅速に対処するのが困難であるという問題があり、このためパケットを正常に伝送するためには比較的長時間を要するという問題点があった（例えば、特許文献１参照）。
【０００８】
【特許文献１】
米国特許第５，７６８，５２７号明細書
【０００９】
【発明が解決しようとする課題】
前記問題点に鑑み、本発明の目的は、クライアントから受信されるパケットの受信ビット率をモニタリングし、このモニタリング結果をストリーミングサーバにフィードバックさせて、ストリーミングサーバが送信するパケットの伝送ビット率を、ネットワークの状態の変化に適応させて制御することが可能なリアルタイムマルチメディアストリーミングシステム及びその方法を提供することにある。
【００１０】
【課題を解決するための手段】
（１）前記目的を達成するための本発明に係るネットワークに適応したリアルタイムマルチメディアストリーミングシステムは、パケット化されたデータをストリーミングするストリーミング経路と、制御信号に対応して前記パケット化されたデータを第１ビット率で前記ストリーミング経路を介して伝送するストリーミングサーバと、前記ストリーミング経路の状態によって前記パケット化されたデータを第２ビット率で受信し、前記第１ビット率と前記第２ビット率とを比較して、このように比較した結果に対応する前記制御信号を生成するクライアントと、を具備し、前記第１ビット率は、前記ストリーミングを開始する第１段階で前記ストリーミング経路を測定した帯域幅によって決定され、前記第１ビット率は、前記ストリーミングが進む第２段階で前記制御信号に対応して決定されることを特徴とする。
【００１１】
（２）また、本発明では、前記第１ビット率によってパケットサイズとパケットとの間隔が制御されるように構成することができる。
（３）また、前記クライアントは、受信されたパケット化されたデータに損失が発生した場合に前記第１ビット率を減じるための前記制御信号を出力し、このように受信されパケット化されたデータに損失が生じていない場合に前記第１ビット率と前記第２ビット率とを比較してこの比較結果に対応する前記制御信号を生成するように構成することができる。
【００１２】
（４）さらに、本発明では、前記ストリーミングサーバから出力されるパケット化された両データ間の第１パケットの間隔が前記第１ビット率によって決定され、前記クライアントから受信されるパケット化された両データ間の第２パケットの間隔が前記第２ビット率によって決定される場合に前記クライアントは、前記第１パケットの間隔と前記第２パケットの間隔とを比較して前記第２パケットの間隔が前記第１パケットの間隔より大きい場合には前記第１ビット率を減じるための前記制御信号を出力するように構成することもできる。
【００１３】
（５）また、本発明では、前記ストリーミングサーバから出力されるパケット化された両データ間の第１パケットの間隔が、前記第１ビット率によって決定され、前記クライアントから受信するパケット化された両データ間の第２パケットの間隔が前記第２ビット率によって決定される場合に前記クライアントは、前記第１パケットの間隔と前記第２パケットの間隔とを比較して、前記第２パケットの間隔が前記第１パケットの間隔より大きくない場合には前記クライアントは測定された前記ストリーミング経路の帯域幅と前記第１ビット率とを比較し、この比較結果に基づいて前記第１ビット率を前記帯域幅まで増加させるための前記制御信号を前記ストリーミングサーバに出力するように構成してもよい。
【００１４】
（６）また、本発明では、前記第１ビット率が、前記ストリーミングを開始する第１段階で前記ストリーミング経路を測定した帯域幅によって決定され、前記第１ビット率は前記ストリーミングが進む第２段階で前記制御信号に対応して決定されるように構成することができる。
【００１６】
（８）前記クライアントは、前記第２パケットの間隔で前記パケット化されたデータを受信して再び組み合わせる受信部と、前記第１パケットの間隔と前記第２パケットの間隔とを比較してこの比較結果に対応する前記制御信号を生じて前記ストリーミングサーバに出力する判断部とを具備して構成することができる。（９）また、前記帯域幅測定部は、前記ストリーミング経路の帯域幅を測定するためにパケット対アルゴリズムを用いることが望ましい。
【００１７】
（１０）また、前記目的を達成するための本発明に係るネットワークに適応したリアルタイムマルチメディアストリーミングシステムは、パケットをストリーミングするストリーミング経路と、制御信号に対応して制御される第１パケットの間隔を有する前記パケットを第１ビット率で前記ストリーミング経路を介して伝送するストリーミングサーバと、前記ストリーミング経路の状態によって第２パケットの間隔を有する前記パケットを第２ビット率で受信するクライアントと、を具備し、前記クライアントは前記第１パケットの間隔と前記第２パケットの間隔とを比較して、このように比較した結果に対応する前記制御信号を出力し、前記ストリーミングサーバは、前記ストリーミング経路の帯域幅を測定する帯域幅測定部と、前記帯域幅測定部で測定された帯域幅または前記制御信号に対応して前記第１ビット率を制御する制御部と、階層符号化されたビットストリームから前記第１ビット率に対応するデータを出力するメディア制御部と、前記データを受信して前記パケットを前記第１パケットの間隔で伝送する送信部と、を具備し、前記第１パケットの間隔は前記第１ビット率または前記制御信号によって制御されるように構成される。
【００１８】
（１１）前記クライアントは、前記パケットに損失が発生していない場合に前記第１パケットの間隔を制御するための前記制御信号を出力し、前記パケットに損失が発生した場合に前記第１パケットの間隔と前記第２パケットの間隔とを比較して、この比較結果に対応する前記制御信号を出力することができる。
【００１９】
（１２）前記第２パケットの間隔が前記第１パケットの間隔より大きい場合に前記第１パケットの間隔が前記制御信号に対応して拡大する、あるいは、前記第１ビット率が前記制御信号に対応して減少して前記第１パケットの間隔を減じるように構成することができる。
（１３）また、前記第１パケットの間隔が前記第２パケットの間隔と同一であり、かつストリーミングする前に測定された前記ストリーミング経路の帯域幅が前記第１ビット率より大きい場合には前記第１ビット率は前記制御信号に対応して増加するように構成することができる。
【００２１】
（１５）また、前記クライアントは、前記第２パケットの間隔で前記パケットを受信して再び組み合わせる受信部と、前記第１パケットの間隔と前記第２パケットの間隔とを比較し、このように比較した結果に対応する前記制御信号を生じて前記ストリーミングサーバに出力する判断部とを具備するように構成することができる。
【００２２】
（１６）さらに、前記帯域幅測定部は、前記ストリーミング経路の帯域幅を測定するためにパケット対アルゴリズム（Ａ  ｐａｃｋｅｔ−ｐａｉｒ  ａｌｇｏｒｉｔｈｍ）を用いるように構成してもよい。
【００２３】
（１７）そして、前記目的を達成するための本発明に係るネットワークに適応したネットワークに適応したリアルタイムマルチメディアストリーミングシステムにおいて、ストリーミング経路の状態に適応させてパケットをマルチメディアストリーミングする方法は、（ａ）前記ストリーミング経路を介して第１ビット率で第１パケットの間隔を有する前記パケットを伝送する段階と、（ｂ）前記ストリーミング経路の状態によって第２ビット率で第２パケットの間隔を有する前記パケットを受信する段階と、（ｃ）前記ストリーミング経路で前記パケットの損失有無を判断して前記パケットの損失が発生した場合に、前記第１ビット率または前記第１パケットの間隔を制御し、前記パケットの損失が発生していない場合に、前記第１パケットの間隔と前記第２パケットの間隔とを比較し、このように比較した結果に基づいて前記第１ビット率または前記第１パケットの間隔を制御する段階と、を具備し、前記（ａ）段階は、（ａ１）前記ストリーミング経路の帯域幅を測定する段階と、（ａ２）前記（ａ１）段階で測定された帯域幅または前記制御信号に対応して前記第１ビット率を制御する段階と、（ａ３）階層符号化されたビットストリームから前記第１ビット率に対応するデータを持ち込む段階と、（ａ４）前記データをパケット化して生成された前記パケットを前記第１パケットの間隔で伝送する段階と、で構成される。
【００２６】
（２０）さらに前記（ｂ）段階は、前記ストリーミング経路の混雑度、前記ストリーミング経路のボトルネック現象の有無、または、前記ストリーミング経路に接続した使用者の数に応じて、前記第２ビット率または前記第２パケットの間隔を決定する段階を具備して構成することができる。
【００２７】
（２１）また、前記（ｃ）段階は、（ｃ１）前記第２パケットの間隔が前記第１パケットの間隔より大きい場合に前記第１ビット率を減じ、前記第２パケットの間隔が前記第１パケットの間隔と同一であり、かつストリーミングする前に測定された前記ストリーミング経路の帯域幅が前記第１ビット率より大きい場合に前記第１ビット率を前記帯域幅まで増加させる段階と、（ｃ２）前記第２パケットの間隔が前記第１パケットの間隔と同一であり、かつ前記ストリーミング経路の帯域幅が前記第１ビット率より小さい場合には前記（ａ）段階を実行する段階とをさらに具備して構成することができる。
【００２８】
（２２）そして、前記目的を達成するための本発明に係るネットワークに適応したネットワークに適応したリアルタイムマルチメディアストリーミングシステムにおいて、パケットをマルチメディアストリーミングする方法は、（ａ）ストリーミング経路を介して第１パケットの間隔を有する前記パケットを伝送する段階と、（ｂ）前記ストリーミング経路を介して第２パケットの間隔を有する前記パケットを受信する段階と、（ｃ）前記ストリーミング経路を介して受信された前記パケットの損失有無を判断して前記パケットの損失が発生した場合に、前記第１パケットの間隔を制御し、前記パケットの損失が発生していない場合に、前記第１パケットの間隔と前記第２パケットの間隔とを比較し、このように比較した結果に基づいて前記第１パケットの間隔を制御する段階と、を具備し、前記（ａ）段階は、（ａ１）前記ストリーミング経路の帯域幅を測定する段階と、（ａ２）階層符号化されたビットストリームから前記（ａ１）段階で測定された帯域幅、または前記（ｃ）段階により制御された前記第１パケットの間隔に対応するデータを持ち込む段階と、（ａ３）前記データをパケット化して生成された前記パケットを前記第１パケットの間隔で伝送する段階と、で構成される。
【００３１】
（２５）そして、前記（ｂ）段階は、前記ストリーミング経路の混雑度、前記ストリーミング経路のボトルネック現象の有無、または、前記ストリーミング経路に接続した使用者の数に応じて、前記第２パケットの間隔を決定する段階を具備して構成してもよい。
【００３２】
【発明の実施の形態】
以下では、本発明の構成及び本発明の動作上の利点並びに本発明に係る実施によって具現される効果を充分に理解するために、本発明に係る望ましい実施の形態を、添付した図面及びこれらの図面を参照しながら詳細に説明する。
なお、各図面に示した符号で、同一の符号は同じ部材を示す。
【００３３】
図１は、本発明に係る一実施形態のリアルタイムマルチメディアストリーミングシステムのブロック図を示す。図１に示すように、本発明に係るマルチメディアストリーミングシステム１００は、ストリーミングデータをパケット化して伝送するサーバ１１０、パケット化されたストリーミングデータを受信するクライアント２１０、及びサーバ１１０とクライアント２１０との間に接続されるストリーミング経路２５０を具備して構成されている。
【００３４】
このサーバ１１０は、ストリーミング経路の帯域幅を測定して伝送ビット率を決定し、このように決定された伝送ビット率からビットストリームから伝送するデータを取得した後、このデータをパケット化してストリーミング経路２５０を介してパケット化されたデータ（以下、「伝送パケット」という）をクライアント２１０に伝送するようになっている。
【００３５】
また、サーバ１１０は、ＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）判断部２３０の出力信号である制御信号（ｂｉｔ  ｒａｔｅ  ｃｏｎｔｒｏｌ  ｓｉｇｎａｌ；ＢＲＣＳ）に対応させて伝送ビット率を再び設定し、このように設定された伝送ビット率に対応させた伝送パケットをクライアント２１０に伝送する。
【００３６】
さらに、このサーバ１１０は、前処理部１２０、帯域幅測定部１３０、ＱｏＳ制御部１４０、メディア制御部１５０及び送信部１６０を具備し、クライアント２１０は受信部２２０、ＱｏＳ判断部２３０及び後処理部２４０を具備して構成されている。
【００３７】
前処理部１２０は、ストリーミングを開始する前のあらゆる過程を処理する部分であって、例えば、ストリーミングのためのコンテンツを選択するか、選択されたコンテンツを読み出す準備をする、あるいは、ストリーミングを伝送するためにサーバ１１０を初期化するようになっている。
【００３８】
また、帯域幅測定部１３０は、ストリーミングを開始する前にストリーミング経路２５０（例えば、伝送線）の帯域幅を測定する。帯域幅測定部１３０はパケット対アルゴリズムを利用してサーバ１１０とクライアント２１０との間のストリーミング経路２５０の帯域幅を測定するものである。
【００３９】
そして、パケット対アルゴリズムは、サーバ１１０から一定の大きさを有する２つのパケットを一定の時間間隔をおいてクライアント２１０に伝送した後、クライアント２１０から受信された両パケット間の時間間隔を測定し、このように測定されたストリーミング経路でボトルネック現象を有するリンクの帯域幅を測定する。
【００４０】
ここで、測定可能な帯域幅を広げるために、サーバ１１０から送るパケットの間隔を狭めて、そのパケットを拡大する必要がある。また、クライアント２１０で測定された帯域幅、すなわち、ストリーミング経路２５０の帯域幅はサーバ１１０に伝えられる。
【００４１】
さらに、ＱｏＳ制御部１４０は、帯域幅測定部１３０で測定された帯域幅と、クライアント２１０のＱｏＳ判断部２３０からフィードバックされる制御信号ＢＲＣＳとに対応して伝送ビット率を決定するものである。
【００４２】
すなわち、ストリーミングの初期では、前記のように測定された帯域幅でストリーミングが行われるが、このようにストリーミングが進行する間に、ストリーミング経路２５０の状態に対応させて設定される伝送ビット率でストリーミングが行われる。したがって、伝送ビット率が決定されれば、各パケットの間隔と各パケットの大きさが決定される。
【００４３】
すなわち、ＱｏＳ制御部１４０が、帯域幅測定部１３０で測定された帯域幅に基づいて伝送ビット率を決定する。この場合、この伝送ビット率はパケット化過程で生じるオーバヘッド（ｏｖｅｒｈｅａｄ）を考慮して測定された帯域幅よりも狭くなるように設定されることが望ましい。
【００４４】
このようにしてストリーミングが開始された後で、クライアント２１０からフィードバックされる制御信号ＢＲＣＳに対応して、前記伝送ビット率がストリーミング経路、または、ネットワークの状態に適応するように変更される。すなわち、伝送ビット率によってパケットサイズとパケットとの間隔が制御される。
【００４５】
例えば、クライアント２１０の受信部２２０で受信される両パケット間の時間間隔（以下、「受信パケットの間隔」という）が、送信部１６０で送信される両パケット間の時間間隔（以下、「送信パケットの間隔」という）よりも大きい場合、または、受信されたパケットで損失が発生した場合には、ＱｏＳ判断部２３０は伝送ビット率を減じる、あるいは送信パケットの間隔を制御するために、所定の制御信号ＢＲＣＳをＱｏＳ制御部１４０に出力する。すると、ＱｏＳ制御部１４０は制御信号ＢＲＣＳに対応して伝送ビット率を減じる、あるいは、送信パケットの間隔を拡大する。このようにして、サーバ１１０は、ストリーミング経路２５０の状態に応じて伝送ビット率または送信パケットの間隔を自動的に制御するようになっている。
【００４６】
また、受信パケットの間隔と送信パケットの間隔とが同一の場合、または受信パケットの間隔と送信パケットの間隔との差が所定の許容範囲内の場合に、ＱｏＳ判断部２３０は伝送ビット率を増加させるための所定の制御信号ＢＲＣＳをＱｏＳ制御部１４０に出力する。
【００４７】
このＱｏＳ制御部１４０は、制御信号ＢＲＣＳに対応して伝送ビット率を帯域幅測定部１３０で初期に測定された帯域幅まで漸次増加させるようになっている。しかし、増加する伝送ビット率は初期に測定された帯域幅より小さいことが必要である。
【００４８】
また、メディア制御部１５０は、ＱｏＳ制御部１４０によって決定される伝送ビット率によって多様に階層符号化されたビットストリームから前記伝送ビット率に応じたデータ分のみを読出して送信部１６０に伝達する。
【００４９】
例えば、前記伝送ビット率が比較的大きい場合には、メディア制御部１５０は多くのデータ、すなわち、前記ビットストリームから上位階層のデータまで読出すことができ、一方、伝送ビット率が比較的小さい場合には、メディア制御部１５０はビットストリームから下位階層のデータのみを読出すことができる。
【００５０】
送信部１６０は、メディア制御部１５０から出力されたデータをパケット化して所定時間に所定間隔をおいてストリーミング経路２５０を介してパケット化されたデータＰＡＤＡをクライアントの受信部２２０に伝送する。
【００５１】
すなわち、送信部１６０は、所定時間Ａで、Ｎ個のパケットを、所定間隔Ａ／Ｎにて、ストリーミング経路２５０を介して受信部２２０に伝送する。
【００５２】
例えば、送信部１６０がメディア制御部１５０から１００００バイトのデータを受信し、このように受信されたデータを所定時間（例えば１秒）以内に全て伝送する必要があるとき、送信部１６０はこのように受信されたデータを、１０個のパケットに分け、０．１秒ごとに、それぞれ１０００バイトから構成されるパケットを伝送する。
【００５３】
したがって、ストリーミング経路２５０の帯域幅の占有率は一定に維持される。この場合、１つのパケットサイズはオーバヘッドを考慮してパケットサイズが１５００バイト以下であることが望ましい。
【００５４】
クライアント２１０は、前記したようにパケット化されたデータＰＡＤＡを受信してこれらを再び組み合わせて復号化し、元のデータを再生する。また、クライアント２１０は受信部２２０から受信したパケットの受信状態（例えば、受信されたパケットの時間間隔（遅延）や損失の有無）から現在のネットワーク状態を判断し、この判断の結果に基づく制御信号ＢＲＣＳをサーバ１１０のＱｏＳ制御部１４０にフィードバックさせる。
【００５５】
受信部２２０は前記のようにパケット化されたデータＰＡＤＡを受信してこれらを再び組み合わせ、このように再び組み合わされたデータを後処理部２４０に出力する。また、受信部２２０は前記のようにパケット化されたデータＤＡＰＡの受信時間とパケット損失有無とを記録するようになっている。
【００５６】
ＱｏＳ判断部２３０は、受信部２２０で受信されたパケットの時間間隔（遅延）や損失の有無等から、現在のストリーミング経路２５０またはネットワークの状態を判断し、この判断結果による制御信号ＢＲＣＳをサーバ１１０のＱｏＳ制御部１４０にフィードバックさせる。後処理部２４０は、前記のように再び組み合わされたデータを受信して元のデータに復号化して再生する。
【００５７】
以下に、ＱｏＳ判断部２３０の動作について図２を参照しながら詳細に説明する。図２は、本発明に係る一実施形態におけるクライアントのＱｏＳ判断部の動作を示すフローチャートである。図１及び図２を参照してＱｏＳ判断部２３０の動作を詳細に説明すれば次の通りである。
【００５８】
まず、図２の段階３１０で、ＱｏＳ判断部２３０（図１参照）は、周期的または連続的に受信部２２０（図１参照）から受信したパケットに関する「受信情報」を取得する。ここで、この「受信情報」は受信されたパケットの時間間隔（遅延）、パケット損失有無、パケットサイズなどを含むものである。
【００５９】
つぎに、段階３２０では、前記のように受信されたパケットの損失の有無について判断する。この段階３２０において前記受信されたパケットに損失が発生していると判定された場合にはＱｏＳ判断部２３０（図１参照）は伝送ビット率を減少することが必要であると判断（段階３５０）し、伝送ビット率を減じるために所定の制御信号ＢＲＣＳをサーバ１１０（図１参照）のＱｏＳ判断部１４０に出力し（段階３７０）、このＱｏＳ判断部１４０は制御信号ＢＲＣＳに対応して伝送ビット率を減じる。この場合、伝送ビット率が変更されるとこれに対応して送信パケットの間隔とパケットサイズも変更される。
【００６０】
一方、段階３２０において前記受信されたパケットに損失が発生していないと判定された場合にはＱｏＳ判断部２３０（図１参照）は、受信部２２０で受信された両パケット間の時間間隔（以下、「受信パケットの間隔」という）と送信部１６０で送信された両パケット間の時間間隔（以下、「送信パケットの間隔」という）とを比較する（段階３３０）。
【００６１】
例えば、ネットワークの混雑度が大きい、あるいは、ストリーミング経路２５０にボトルネック現象が発生した場合に前記受信パケットの間隔は前記送信パケットの間隔より拡大することとなる。すなわち、伝送ビット率と受信ビット率とが変化する。
【００６２】
そして、段階３３０で受信パケットと送信パケットとを比較し、その結果、受信パケットの間隔が送信パケットの間隔よりも広いと判定された場合にＱｏＳ判断部２３０は伝送ビット率を減少させる必要があると判断し（段階３５０）、伝送ビット率を減じるための所定の制御信号ＢＲＣＳをＱｏＳ制御部１４０（図１参照）に出力する（段階３７０）。このようにして、ＱｏＳ制御部１４０は制御信号ＢＲＣＳに対応して伝送ビット率を減じるので送信パケットの間隔が拡大する。
【００６３】
段階３３０における判断結果で受信パケットの間隔が送信パケットの間隔と同じ場合にはＱｏＳ判断部２３０はストリーミング経路の帯域幅と伝送ビット率とを比較する（段階３４０）。この段階３４０で判断された結果においてストリーミング経路の帯域幅が伝送ビット率より大きい場合にはＱｏＳ判断部２３０（図１参照）は伝送ビット率の増加を判断し（段階３６０）、伝送ビット率を増加させるための所定の制御信号ＢＲＣＳをＱｏＳ制御部１４０に出力する。
【００６４】
したがって、ＱｏＳ制御部１４０は、制御信号ＢＲＣＳに対応して伝送ビット率を帯域幅測定部１３０から最初に測定した帯域幅まで増加させる。この場合、増加する伝送ビット率は帯域幅測定部１３０で最初に測定した帯域幅より小さいことが望ましい。
【００６５】
段階３４０で判断された結果においてストリーミング経路の帯域幅が伝送ビット率より小さい場合にはＱｏＳ判断部２３０は３１０段階から前述した段階３２０から段階３７０を再び実行する。
【００６６】
ＱｏＳ判断部２３０は、伝送ビット率を変更せねばならない場合にのみサーバ１１０のＱｏＳ制御部１４０に制御信号ＢＲＣＳを伝送するので、ＱｏＳ制御部１４０の制御のために制御信号ＢＲＣＳによって発生するネットワークのトラフィックを最小化することができる。
【００６７】
本発明に係る一実施形態のリアルタイムマルチメディアストリーミングシステム及び方法は、ＶＯＤ（ｖｉｄｅｏ  ｏｎ  ｄｅｍａｎｄ；ビデオオンデマンド）やＭＯＤ（Ｍｕｓｉｃ  Ｏｎ  Ｄｅｍａｎｄ；ミュージックオンデマンド）あるいはＡＯＤ（Ａｕｄｉｏ  Ｏｎ  Ｄｅｍａｎｄ；オーディオオンデマンド）のみならずインターネットホン等のストリーミング技術が用いられ得る、あらゆる分野に適用することが可能である。
【００６８】
本発明に係る一実施形態のリアルタイムマルチメディアストリーミングシステム及び方法は、前記の図面に示した一実施形態を参考として説明したが、これらは例示的なものに過ぎず、当該技術分野の当業者であればこの実施形態に基づいて各種の多様な変形及び均等な他の実施形態を具現することが可能であるという点が理解されるであろう。したがって、本発明の真の技術的保護範囲は特許請求の範囲の技術的思想によって決定される必要がある。
【００６９】
【発明の効果】
以上、説明した通りに構成される本発明によれば以下の効果を奏する。
すなわち、本発明に係るリアルタイムマルチメディアストリーミングシステム及び方法によれば、ネックワークの状態を感知してネックワークの状態によって伝送ビット率を自動的に制御することが可能である。
【００７０】
また、本発明にあっては、ストリーミングの実行中にネットワークの混雑度が増大しても自動的にネットワークの状態を把握してパケットの損失を最小限に食い止めることができるので、高品質のサービスを提供することが可能であるという長所を有する。
【００７１】
そして、本発明によれば、ネットワークにおける混雑度の増大によるパケット遅延とパケット損失を最小化できるので、データの送信または受信中にデータが途切れることなく持続的な再生を行うことが可能である。
【図面の簡単な説明】
【図１】本発明に係る一実施形態のリアルタイムマルチメディアストリーミングシステムのブロック図を示す。
【図２】本発明に係る一実施形態のクライアントにおけるＱｏＳ判断部の動作を示すフローチャートである。
【符号の説明】
１００  マルチメディアストリーミングシステム
１１０  サーバ
１２０  前処理部
１３０  帯域幅測定部
１４０  ＱｏＳ制御部
１５０  メディア制御部
１６０  送信部
２１０  クライアント
２２０  受信部
２３０  ＱｏＳ判断部
２４０  後処理部
２５０  ストリーミング経路
【図１】
0003740113.tif 000002
【図２】
0003740113.tif 000003