(57)【要約】【課題】ユーザによって指定された、オブジェクトに対する優先度に基づいて各オブジェクトの品質を決定することを可能とする。【解決手段】品質コントローラ１６が、情報マネジャ１１から受信した各オブジェクトで利用可能な品質の数、各品質で必要なネットワーク帯域およびメモリ量、位置による優先度、システムモニタ１２から受信した負荷状況、ディスプレイマネジャ１３から受信した優先度、要求マネジャ１４から受信した優先度、およびキーワードマネジャ１５から受信した優先度に基づいて、所定の品質評価関数の値が最大になるように各オブジェクトに対する品質を決定する。【選択図】図６
2006148282.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してサーバから受信するコンテンツ中のオブジェクトの品質を制御するオブジェクト品質制御装置におけるオブジェクト品質制御方法であって、
前記オブジェクト品質制御装置が備えるコンテンツ情報取得手段が、前記サーバが保持するコンテンツから選択されたコンテンツ中の各オブジェクトに対して利用できる品質の数，各オブジェクトを各品質で復号するときに必要なネットワーク帯域とメモリ量、コンテンツが表示されるときのオブジェクトの前後関係により決まる優先度である位置による優先度を少なくとも含むコンテンツ情報を前記サーバから取得するステップと、
前記オブジェクト品質制御装置が備えるキーワードリスト取得手段が、前記選択されたコンテンツ中の各オブジェクトに対応するキーワードの集合であるキーワードリストを前記サーバから取得して表示するステップと、
前記オブジェクト品質制御装置が備える優先度記述取得手段が、前記選択されたコンテンツ中の各オブジェクトに対してコンテンツ製作者により予め指定された優先度が記述された優先度記述を前記サーバから取得し、取得した優先度記述から前記コンテンツ製作者により予め指定された優先度を抽出するステップと、
前記オブジェクト品質制御装置が備える指定優先度取得手段が、前記表示されたキーワード中から選択されたキーワードを取得するとともに、前記選択されたキーワードに対して指定された優先度を前記選択されたキーワードに対応するオブジェクトに対する優先度として取得するステップと、
前記オブジェクト品質制御装置が備える負荷情報取得手段が、前記選択されたコンテンツを表示する端末であるコンテンツ表示端末の負荷情報を取得するステップと、
前記オブジェクト品質制御装置が備える品質決定手段が、前記コンテンツ情報取得手段により取得されたコンテンツ情報、前記優先度記述取得手段により抽出された前記コンテンツ製作者により予め指定された優先度、前記指定優先度取得手段により取得された優先度と、前記負荷情報取得手段により取得された負荷情報とに基づいて、所定の品質評価関数を用いて、各オブジェクトに対する品質を決定するステップとを有し、
前記オブジェクト品質制御装置が備える品質決定手段が各オブジェクトに対する品質を決定するステップは、前記コンテンツ情報に含まれる、前記各オブジェクトを各品質で復号するときに必要なネットワーク帯域とメモリ量を制限として、各オブジェクトの品質を要素とするベクトル↑ｌと各オブジェクトに対する優先度を要素とするベクトル↑ｐとを変数とする品質評価関数Ｖ（↑ｌ，↑ｐ）の値が最大となるように、前記選択されたコンテンツ中の全てのオブジェクトの品質を決定する、または前記負荷情報取得手段により取得された前記コンテンツ表示端末の負荷情報の値が所定の閾値を超えた場合に、前記品質評価関数Ｖ（↑ｌ，↑ｐ）の値の上昇が最大となるように、または前記品質評価関数Ｖ（↑ｌ，↑ｐ）の値の低下が最小となるように、コンテンツ中の１つのオブジェクトの品質を変更する
ことを特徴とするオブジェクト品質制御方法。
【請求項２】
ネットワークを介してサーバから受信するコンテンツ中のオブジェクトの品質を制御するオブジェクト品質制御装置であって、
前記サーバが保持するコンテンツから選択されたコンテンツ中の各オブジェクトに対して利用できる品質の数，各オブジェクトを各品質で復号するときに必要なネットワーク帯域とメモリ量、コンテンツが表示されるときのオブジェクトの前後関係により決まる優先度である位置による優先度を少なくとも含むコンテンツ情報を前記サーバから取得するコンテンツ情報取得手段と、
前記選択されたコンテンツ中の各オブジェクトに対応するキーワードの集合であるキーワードリストを前記サーバから取得して表示するキーワードリスト取得手段と、
前記選択されたコンテンツ中の各オブジェクトに対してコンテンツ製作者により予め指定された優先度が記述された優先度記述を前記サーバから取得し、取得した優先度記述から前記コンテンツ製作者により予め指定された優先度を抽出する優先度記述取得手段と、
前記キーワードリスト取得手段によって表示されたキーワード中から選択されたキーワードを取得するとともに、前記選択されたキーワードに対して指定された優先度を前記選択されたキーワードに対応するオブジェクトに対する優先度として取得する指定優先度取得手段と、
前記選択されたコンテンツを表示する端末であるコンテンツ表示端末の負荷情報を取得する負荷情報取得手段と、
前記コンテンツ情報取得手段により取得されたコンテンツ情報、前記優先度記述取得手段により抽出された前記コンテンツ製作者により予め指定された優先度、前記指定優先度取得手段により取得された優先度と、前記負荷情報取得手段により取得された負荷情報とに基づいて、所定の品質評価関数を用いて、各オブジェクトに対する品質を決定する品質決定手段とを備え、
前記品質決定手段は、前記コンテンツ情報に含まれる、前記各オブジェクトを各品質で復号するときに必要なネットワーク帯域とメモリ量を制限として、各オブジェクトの品質を要素とするベクトル↑ｌと各オブジェクトに対する優先度を要素とするベクトル↑ｐとを変数とする品質評価関数Ｖ（↑ｌ，↑ｐ）の値が最大となるように、前記選択されたコンテンツ中の全てのオブジェクトの品質を決定する、または前記負荷情報取得手段により取得された前記コンテンツ表示端末の負荷情報の値が所定の閾値を超えた場合に、前記品質評価関数Ｖ（↑ｌ，↑ｐ）の値の上昇が最大となるように、または前記品質評価関数Ｖ（↑ｌ，↑ｐ）の値の低下が最小となるように、コンテンツ中の１つのオブジェクトの品質を変更する
ことを特徴とするオブジェクト品質制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチオブジェクトコンテンツに対する品質制御技術に関し、特に、ユーザ要求に基づいてコンテンツに含まれるオブジェクトの品質を制御する品質制御方法および装置に関する。
【背景技術】
【０００２】
近年、ネットワークの発展により、ネットワークを介してマルチメディアコンテンツを送受信するアプリケーションが幅広く普及するようになってきた。また、複数のオブジェクト（マルチオブジェクト）で構成されるコンテンツを扱うための技術が発達し、より充実したコンテンツを提供できる環境が整ってきている。
【０００３】
例えば、ＨＴＭＬやＸＨＴＭＬを用いることで文字や静止画像などを組み合わせたコンテンツを提供することができる。また、ＳＭＩＬやＭＰＥＧ−４を用いることによって、オブジェクト間の同期やコンテンツ表示中のオブジェクト変更などを考慮して、動画像、音声、文字などで構成されるコンテンツを取り扱うことができる。
【０００４】
マルチメディアコンテンツをネットワークを介して送受信する場合、ネットワーク帯域やコンテンツを受信する装置の能力および状況、ユーザの要求などに応じてコンテンツの品質を制御することが一般的である。特に、品質制御を行う対象が、マルチオブジェクトコンテンツであるときは、コンテンツに含まれるオブジェクトごとに品質を制御することで、さまざまな状況に適応することができる。
【０００５】
ネットワーク帯域や装置の能力に基づいて品質制御を行うことは重要である。しかし、これらの条件だけを考慮していると、ユーザの要求を満足させることは難しい。したがって、コンテンツを作成するユーザあるいは視聴するユーザの要求や興味に応じた品質制御を行うことが必要であると考えられる。
【０００６】
例えば、コンテンツ製作者によるあるオブジェクトを優先して表示させたいという要求や、コンテンツ受信者が特定のオブジェクトに興味があるという要求に応じた制御を行うことが望ましい。
【０００７】
従来技術として、マルチオブジェクトコンテンツを対象として、オブジェクトごとに品質制御を行う手法が提案されている。例えば、下記の非特許文献１、非特許文献２では、ＭＰＥＧ−４コンテンツを対象とし、トランスコーディングを用いて各オブジェクトの品質を制御する手法を提案している。
【０００８】
非特許文献１では、コンテンツに含まれるオブジェクトを前景と背景に分け、各オブジェクトの品質を決定する。オブジェクトが動いている場合は前景、動いていない場合は背景とする。非特許文献２では、オブジェクトの動きやオブジェクト間の相対的なビットレートを考慮して、中心となるオブジェクト（キーオブジェクト）を検出し、キーオブジェクトをその他のオブジェクトよりも高品質で表示する方法を提案している。
【０００９】
非特許文献３では、各オブジェクトに割り当てられるビットレートの差が少なくなるように、各オブジェクトの品質を決定する手法を提案している。
【００１０】
なお、下記の特許文献１には、多数のクライアントに効率よくコンテンツを配信する方法、トポロジ制御装置、クライアント装置、並びにそのプログラム及び記録媒体に関する技術が記載され、特許文献２には、ネットワークを介して映像コンテンツなどの視聴する情報を配信する情報配信システムおよびそのプログラムに関する技術が記載され、特許文献３には、ネットワークシステムに存在する各種サービスの情報を蓄積管理し、クライアントに登録されているサービスの情報を提供するディレクトリサーバ、分散オブジェクト環境対応装置、その制御方法、並びに記録媒体に関する技術について記載されている。
【特許文献１】特開２００４−２４６７９０号公報
【特許文献２】特開２００３−６７２９０号公報
【特許文献３】特開２００１−２９０７１７号公報
【非特許文献１】Cavallaro, A., Steiger, 0. and Ebrahimi, T. ：Semantic Segmentation and Description for Video Transcodong, Proc. International Conference on Multimedia and Expo (ICME), Vol. 3, pp. 597-600(2003).
【非特許文献２】Vetro, A., Sun, H. and Wang, Y. ：Object-Based Transcoding for Adaptable Video Content Delivery, IEEE Trans. on Circuits and Systems for Video Technology, Vol. 11, No, 3, pp. 387-401 (2001).
【非特許文献３】Ronda, J. I., Eckert, M., Jaureguizar, F. and Gracia, N.: Rate Control and Bit Allocation for MPEG-4, IEEE Trans. on Circuits and Systems for Video Technology, Vol. 9, No. 8, pp. 1243-1258 (1999).
【発明の開示】
【発明が解決しようとする課題】
【００１１】
上記の非特許文献１、非特許文献２、および非特許文献３に記載された従来技術は、自動的に各オブジェクトの品質を決定することができるが、ユーザ要求を考慮した処理は行っていない。
【００１２】
また、上記特許文献１〜特許文献３のいずれにも、ユーザによって指定された、オブジェクトに対する優先度に基づいて各オブジェクトの品質を決定する手法については記載されていない。
【００１３】
本発明は、上記従来技術の問題点を解決し、ユーザによって指定されたオブジェクトに対する優先度に基づいて、各オブジェクトの品質を決定するオブジェクト品質制御方法および装置の提供を目的とする。
【課題を解決するための手段】
【００１４】
上記課題を解決するため、本発明は、ユーザ要求を反映した品質制御を行うフレームワークおよび品質制御手法を提案する。ユーザによってオブジェクトに割り当てられた優先度をパラメータとした品質評価関数を用いて各オブジェクトを評価し、オブジェクトごとに品質を制御する。
【００１５】
すなわち、本発明は、ネットワークを介してサーバから受信するコンテンツ中のオブジェクトの品質を制御するオブジェクト品質制御装置におけるオブジェクト品質制御方法であって、前記オブジェクト品質制御装置が備えるコンテンツ情報取得手段が、前記サーバが保持するコンテンツから選択されたコンテンツ中の各オブジェクトに対して利用できる品質の数、各オブジェクトを各品質で復号するときに必要なネットワーク帯域とメモリ量、コンテンツが表示されるときのオブジェクトの前後関係により決まる優先度である位置による優先度を少なくとも含むコンテンツ情報を前記サーバから取得するステップと、前記オブジェクト品質制御装置が備えるキーワードリスト取得手段が、前記選択されたコンテンツ中の各オブジェクトに対応するキーワードの集合であるキーワードリストを前記サーバから取得して表示するステップと、前記オブジェクト品質制御装置が備える優先度記述取得手段が、前記選択されたコンテンツ中の各オブジェクトに対してコンテンツ製作者により予め指定された優先度が記述された優先度記述を前記サーバから取得し、取得した優先度記述から前記コンテンツ製作者により予め指定された優先度を抽出するステップと、前記オブジェクト品質制御装置が備える指定優先度取得手段が、前記表示されたキーワード中から選択されたキーワードを取得するとともに、前記選択されたキーワードに対して指定された優先度を前記選択されたキーワードに対応するオブジェクトに対する優先度として取得するステップと、前記オブジェクト品質制御装置が備える負荷情報取得手段が、前記選択されたコンテンツを表示する端末であるコンテンツ表示端末の負荷情報を取得するステップと、前記オブジェクト品質制御装置が備える品質決定手段が、前記コンテンツ情報取得手段により取得されたコンテンツ情報、前記優先度記述取得手段により抽出された前記コンテンツ製作者により予め指定された優先度、前記指定優先度取得手段により取得された優先度と、前記負荷情報取得手段により取得された負荷情報とに基づいて、所定の品質評価関数を用いて、各オブジェクトに対する品質を決定するステップとを有し、前記オブジェクト品質制御装置が備える品質決定手段が各オブジェクトに対する品質を決定するステップは、前記コンテンツ情報に含まれる、前記各オブジェクトを各品質で復号するときに必要なネットワーク帯域とメモリ量を制限として、各オブジェクトの品質を要素とするベクトル↑ｌと各オブジェクトに対する優先度を要素とするベクトル↑ｐとを変数とする品質評価関数Ｖ（↑ｌ，↑ｐ）の値が最大となるように、前記選択されたコンテンツ中の全てのオブジェクトの品質を決定する、または前記負荷情報取得手段により取得された前記コンテンツ表示端末の負荷情報の値が所定の閾値を超えた場合に、前記品質評価関数Ｖ（↑ｌ，↑ｐ）の値の上昇が最大となるように、または前記品質評価関数Ｖ（↑ｌ，↑ｐ）の値の低下が最小となるように、コンテンツ中の１つのオブジェクトの品質を変更することを特徴とするオブジェクト品質制御方法である。
【００１６】
また、本発明は、ネットワークを介してサーバから受信するコンテンツ中のオブジェクトの品質を制御するオブジェクト品質制御装置であって、前記サーバが保持するコンテンツから選択されたコンテンツ中の各オブジェクトに対して利用できる品質の数、各オブジェクトを各品質で復号するときに必要なネットワーク帯域とメモリ量、コンテンツが表示されるときのオブジェクトの前後関係により決まる優先度である位置による優先度を少なくとも含むコンテンツ情報を前記サーバから取得するコンテンツ情報取得手段と、前記選択されたコンテンツ中の各オブジェクトに対応するキーワードの集合であるキーワードリストを前記サーバから取得して表示するキーワードリスト取得手段と、前記選択されたコンテンツ中の各オブジェクトに対してコンテンツ製作者により予め指定された優先度が記述された優先度記述を前記サーバから取得し、取得した優先度記述から前記コンテンツ製作者により予め指定された優先度を抽出する優先度記述取得手段と、前記キーワードリスト取得手段によって表示されたキーワード中から選択されたキーワードを取得するとともに、前記選択されたキーワードに対して指定された優先度を前記選択されたキーワードに対応するオブジェクトに対する優先度として取得する指定優先度取得手段と、前記選択されたコンテンツを表示する端末であるコンテンツ表示端末の負荷情報を取得する負荷情報取得手段と、前記コンテンツ情報取得手段により取得されたコンテンツ情報、前記優先度記述取得手段により抽出された前記コンテンツ製作者により予め指定された優先度、前記指定優先度取得手段により取得された優先度と、前記負荷情報取得手段により取得された負荷情報とに基づいて、所定の品質評価関数を用いて、各オブジェクトに対する品質を決定する品質決定手段とを備え、前記品質決定手段は、前記コンテンツ情報に含まれる、前記各オブジェクトを各品質で復号するときに必要なネットワーク帯域とメモリ量を制限として、各オブジェクトの品質を要素とするベクトル↑ｌと各オブジェクトに対する優先度を要素とするベクトル↑ｐとを変数とする品質評価関数Ｖ（↑ｌ，↑ｐ）の値が最大となるように、前記選択されたコンテンツ中の全てのオブジェクトの品質を決定する、または前記負荷情報取得手段により取得された前記コンテンツ表示端末の負荷情報の値が所定の閾値を超えた場合に、前記品質評価関数Ｖ（↑ｌ，↑ｐ）の値の上昇が最大となるように、または前記品質評価関数Ｖ（↑ｌ，↑ｐ）の値の低下が最小となるように、コンテンツ中の１つのオブジェクトの品質を変更することを特徴とするオブジェクト品質制御装置である。
【発明の効果】
【００１７】
本発明は、ユーザによって指定された、各オブジェクトに対する優先度に基づいて各オブジェクトの品質を決定する。
【００１８】
従って、本発明によれば、ユーザの要求により適合した各オブジェクトの品質決定を行うことができる。
【発明を実施するための最良の形態】
【００１９】
（本発明においてユーザ要求を反映した品質制御を行うためのフレームワーク）
まず、サーバに保存されているマルチオブジェクトコンテンツをネットワークを介してコンテンツ受信者に配信するアプリケーションに対して、ユーザ要求を反映した品質制御を行うためのフレームワークについて述べる。提案フレームワークでは、コンテンツ製作者およびコンテンツ受信者をアプリケーションのユーザとする。以下ではアプリケーションで配信するコンテンツおよびユーザについて説明する。
（１）配信するコンテンツ
アプリケーションで配信するコンテンツは、複数のオブジェクト、優先度記述、キーワードリストおよびコンテンツ情報で構成される。オブジェクトは符号化された動画像を表す。各オブジェクトにはＩＤ番号（ＯＩＤ：Object ID ）がついているものとする。
【００２０】
また、各オブジェクトは複数の品質で復号できるものとする。各オブジェクトに対して利用できる品質の数Ｌをレベル数、各品質をレベルｌ（１≦ｌ≦Ｌ）と呼ぶことにする。レベル１が最低品質、レベルＬが最高品質を表すこととする。例えば、あるオブジェクトに対して３つの品質が利用できるとき、このオブジェクトのレベル数は３であり、レベル１からレベル３までの品質を利用することができる。
【００２１】
さらに、各オブジェクトには優先度が指定されるものとする。優先度は正数で表され、数値が大きいほど高い優先度を表すこととする。オブジェクトに対する優先度は、ユーザが指定する、あるいはコンテンツを作成したときのオブジェクトの前後関係によって指定するものとする。ユーザによる優先度の指定は、後述する。
【００２２】
前後関係による優先度は、以下のように定める。コンテンツがｎ個のオブジェクト｛ａ1 ，ａ2 ，．．．，ａn ｝で構成されており、オブジェクトａ1 が最背面、オブジェクトａn が最前面に配置されているとする。このとき、オブジェクトａi （１≦ｉ≦ｎ）に対する優先度をｉであるとする。この優先度を位置による優先度と呼ぶことにする。
【００２３】
優先度記述は、コンテンツに含まれるオブジェクトに対して、コンテンツ製作者が指定する優先度を記述したものである。優先度記述では、各オブジェクトに対する優先度、および各オブジェクトに対して指定した優先度を割り当てる時間を記述する。優先度記述はＸＭＬ（Extensible Markup Language）で記述する。
【００２４】
図１にＤＴＤ（Document Type Definition）で定義した文書構造と記述例を示す。要素ｉｄはＯＩＤを表す。要素ｒｅｑｕｉｒｅｍｅｎｔは優先度を表す。要素ｂｅｇｉｎは優先度割り当てを開始する時刻を表し、要素ｅｎｄは優先度割り当てを終了する時刻を表す。要素ｂｅｇｉｎとｅｎｄは省略してもよい。要素ｂｅｇｉｎを省略したときは、コンテンツの表示開始と同時に優先度が指定される。一方、要素ｅｎｄを省略したときは、コンテンツの表示終了まで優先度が指定される。
【００２５】
図１の例では、コンテンツの表示開始から終了までＯＩＤ３で表されるオブジェクトに対して、優先度２を指定している。また、ＯＩＤ２で表されるオブジェクトに対して、コンテンツ表示開始１０秒後から３０秒後まで優先度３を指定している。
【００２６】
キーワードリストとは、コンテンツに含まれるオブジェクトを表す単語（キーワード）の集合である。一つのキーワードに対して複数のオブジェクトを関連付けることができる。キーワードリストもＸＭＬを用いて記述する。
【００２７】
図２にキーワードリストの定義と例を示す。要素ｋｅｙｗｏｒｄは、キーワードを表す。要素ｉｄはＯＩＤを表す。図２の例では、キーワードｃａｒとｐｅｒｓｏｎが記述されている。キーワードｃａｒに対しては、ＯＩＤ３と４で表されるオブジェクトが対応付けられている。一方、キーワードｐｅｒｓｏｎに対してはＯＩＤ２で表されるオブジェクトが対応付けられている。
【００２８】
コンテンツ情報は、ＯＩＤ、各オブジェクトの位置による優先度、各オブジェクトのレベル数、各オブジェクトの各レベルが必要とするネットワーク帯域およびメモリ量、および各オブジェクトの各レベルに対応する符号化データを配信するストリームのＩＤ番号（ＳＩＤ：Stream ID ）を記述したものである。コンテンツ情報もＸＭＬを用いて記述する。
【００２９】
図３に、コンテンツ情報の定義と記述例を示す。要素ｉｄはＯＩＤを表す。要素ｐｏｓＰｒｉｏｒｉｔｙは位置による優先度を表す。要素ｎｕｍＬｅｖｅｌはレベル数を表す。要素ｒｅｓｏｕｒｃｅはオブジェクトを属性ｌｅｖｅｌで表されたレベルで復号するときに必要な資源を表す。要素ｂａｎｄｗｉｄｔｈはネットワーク帯域、要素ｍｅｍｏｒｙはメモリ量を表す。また、要素ｓｔｒｅａｍＩＤはＳＩＤを表す。
【００３０】
図３の例では、コンテンツにＯＩＤ２のオブジェクトが含まれており、そのオブジェクトの位置による優先度は３、レベル数は４であることが記述されている。また、各レベル（図中ではレベル１とレベル４のみを記述している）で復号するときに必要となるネットワーク帯域とメモリ量、および符号化データが送信されるストリームのＩＤ番号が記述されている。
（２）ユーザ
提案フレームワークでは、コンテンツ製作者とコンテンツ受信者をアプリケーションのユーザであると考える。コンテンツ製作者は、コンテンツとして、オブジェクト、優先度記述、キーワードリスト、およびコンテンツ情報を製作し、サーバに置く。コンテンツ受信者は、ネットワークを介してサーバに置かれているコンテンツを受信する。
【００３１】
次に、ユーザによる要求指定方法について説明する。ユーザは各オブジェクトごとに優先度を指定する。また、ユーザはすべてのオブジェクトに対して優先度を指定する必要はない。先に述べたように、優先度は正数で指定するものとし、数値が大きいほど高い優先度を表すこととする。
【００３２】
コンテンツ製作者は、優先度記述を用いて各オブジェクトに対する優先度を指定する。一方、コンテンツ受信者は、コンテンツ表示中に画面に表示されているオブジェクトを選択、あるいはキーワードリストの中からキーワードを選択して、オブジェクトに対する優先度を指定する。画面からオブジェクトを選択したときは、選択したオブジェクトに対して優先度を指定することになる。また、キーワードを選択したときは、そのキーワードに関連付けられているオブジェクトに対して優先度を指定することになる。
（オブジェクト品質制御手法）
ユーザやアプリケーションの要求を反映するためには、評価関数を導入し、得られた数値を最大化または最小化することが一般的である。そこで、本発明ではオブジェクトに対する品質評価関数とコンテンツに対する品質評価関数を定義し、関数値が最大になるように各オブジェクトの品質を決定する。以下では、品質評価関数および動的計画法を用いた品質決定アルゴリズム、およびグリーディアルゴリズムを用いた品質決定アルゴリズムについて説明する。
（１）品質評価関数
・オブジェクトに対する品質評価関数
オブジェクトに対する品質評価関数は、オブジェクトを復号するときの品質およびオブジェクトに対して指定された優先度をパラメータとする。品質評価関数は主観的なものであることから、アプリケーションあるいはアプリケーションを利用するユーザが選択できることが望ましい。そこで、我々は対数関数、線形関数、指数関数を用いてさまざまな関数を定義し、オブジェクトを評価する実験を行った。その結果に基づき、品質制御に有用と考えられる２つの品質評価関数を定義する。
＜定義１＞オブジェクトに対する品質評価関数を以下の式で定義する。
ｖ（ｌ，ｐ）＝ｌｏｇ（ｐｌ）                                （１）
ｖ（ｌ，ｐ）＝ｅｘｐ（ｐ）×ｌ                              （２）
ただし、ｌはレベル、ｐはユーザが指定した優先度または位置による優先度を表す。
・コンテンツに対する品質評価関数
ｎ個のオブジェクト｛ａ1 ，ａ2 ，．．．，ａn ｝で構成されるコンテンツを考える。ここで、コンテンツに含まれるオブジェクトのレベルをレベルベクトル↑ｌ＝（ｌ1 ，ｌ2 ，．．．，ｌn ）、優先度を優先度ベクトル↑ｐ＝（ｐ1 ，ｐ2 ，．．．，ｐn ）で表すこととする。ただし、各ベクトルの第ｉ要素は、オブジェクトａi のレベルおよび優先度を表す。
＜定義２＞ｎ個のオブジェクトで構成されるコンテンツに対する品質評価関数を以下の式で定義する。      
Ｖ（↑ｌ，↑ｐ）＝Σn i=1 ｖ（ｌi ，ｐi ）                      （３）
ただし、↑ｌはレベルベクトル（ｌ1 ，ｌ2 ，．．．，ｌn ）、↑ｐは優先度ベクトル（ｐ1 ，ｐ2 ，．．．，ｐn ）を表す。ｖ（ｌi ，ｐi ）はオブジェクトに対する品質評価関数である。
【００３３】
オブジェクトに対する品質評価関数として式（１）、式（２）を用いた場合を、それぞれ対数評価関数、指数評価関数と呼ぶこととする。利用する評価関数により、各オブジェクトに割り当てられるレベルが変化する。実験結果については後述する。
（２）動的計画法を用いた品質決定
・品質決定の優先順序
上述した品質評価関数のパラメータ↑ｐには、コンテンツ製作者またはコンテンツ受信者が指定した優先度、あるいは位置による優先度が入る。コンテンツ製作者による優先度は、優先度記述としてコンテンツに付属するものである。一方、コンテンツ受信者はコンテンツ表示時に各オブジェクトに対する優先度を指定する。コンテンツ受信者が優先度を指定しないときは、コンテンツ製作者の優先度指定に基づいてコンテンツが表示される。このことから、コンテンツ受信者が優先度を指定したときは、コンテンツ製作者が指定した優先度よりも優先して評価する必要があると考えられる。また、位置による優先度はユーザが明確に指定した優先度ではない。
【００３４】
そこで、次のような３段階に分けて品質決定を行う。品質決定アルゴリズムについては後述する。コンテンツに含まれるオブジェクトの集合をＡ、コンテンツ受信者が優先度を指定しているオブジェクトの集合をＡr （⊆Ａ）、コンテンツ製作者が優先度を指定しているオブジェクトの集合をＡc （⊆Ａ）とする。また、コンテンツ受信者側で利用できるネットワーク帯域およびメモリ量をそれぞれＢcl、Ｍclとする。
【００３５】
段階１：オブジェクト集合Ａr に対して、品質評価関数のパラメータ↑ｐにコンテンツ受信者が指定した優先度を代入し、品質決定アルゴリズムを実行する。このときの制限はＢcl、Ｍclである。品質を決定した結果、消費されるネットワーク帯域およびメモリ量をそれぞれＢr 、Ｍr とする。
【００３６】
段階２：オブジェクト集合Ａc −Ａr に対して、品質評価関数のパラメータ↑ｐにコンテンツ製作者が指定した優先度を代入し品質決定アルゴリズムを実行する。このときの制限はＢcl−Ｂr 、Ｍcl−Ｂr である。品質を決定した結果、消費されるネットワーク帯域およびメモリ量をそれぞれＢc 、Ｍc とする。
【００３７】
段階３：オブジェクト集合Ａ−Ａr −Ａc に対して、品質評価関数のパラメータ↑ｐに位置による優先度を代入し品質決定アルゴリズムを実行する。このときの制限はＢcl−Ｂr −Ｂc 、Ｍcl−Ｂr −Ｂc である。
【００３８】
上記の手法では、ネットワーク帯域またはメモリ量が少ない場合、コンテンツに含まれるオブジェクトの一部が表示されないことがある。そこで、あらかじめ各オブジェクトを最低レベルで表示するときに必要なネットワーク帯域およびメモリ量をＢcl、Ｍclから引いておき、またオブジェクトごとに各レベルで必要とするネットワーク帯域およびメモリ量から最低レベルで必要とするネットワーク帯域およびメモリ量をそれぞれ引いておいてアルゴリズムを実行すれば、すべてのオブジェクトを少なくとも最低レベルで表示するようになる。ただし、Ｂcl、Ｍclが、それぞれコンテンツに含まれるすべてのオブジェクトを最低レベルで表示するときに必要なネットワーク帯域およびメモリ量よりも大きな値になっていなければならない。
・品質決定問題
品質を決定するオブジェクトの集合をＡ＝｛ａ1 ，ａ2 ，．．．，ａn ｝とする。集合Ａにはｎ個のオブジェクトが含まれている。オブジェクトａi に対するレベル数をＬi とする。オブジェクトａi をレベルｌi （１≦ｌi ≦Ｌi ）で復号したときに必要なネットワーク帯域およびメモリ量をｂi （ｌi ）、ｍi （ｌi ）とする。品質決定問題を解くときには各オブジェクトの優先度は確定している。ここで確定している優先度を優先度ベクトル↑ｐ＝（ｐ1 ，．．．，ｐn ）で表す。また、コンテンツ受信者側で利用可能なネットワーク帯域、メモリ量をそれぞれＢbase、Ｍbaseとする。Ｂbase、Ｍbaseはコンテンツ受信者側で利用できる値、またはコンテンツ受信者側で利用できる値から一部のオブジェクトで消費される値を除いた値である。
【００３９】
以上で定義した記号を用いると、品質決定問題は、以下の制約式（４）と制約式（５）を満たし、（６）に示す品質評価関数の値が最大になるようにレベルベクトル↑ｌ＝（ｌ1 ，．．．，ｌn ）（０≦ｌi ≦Ｌi （１≦ｉ≦ｎ））を決定する問題となる。
Ｂ（↑ｌ）＝Σn i=1 ｂi （ｌi ）≦Ｂbase            （４）
Ｍ（↑ｌ）＝Σn i=1 ｍi （ｌi ）≦Ｍbase            （５）
Ｖ（↑ｌ，↑ｐ）                                    （６）
この問題はナップザック問題の派生問題であるのでＮＰ完全問題である。そこで、スケーリングを用いて、多項式時間で解ける問題に変換する。ここでは、ある小さな定数δを用意し、Ｂbaseおよびｂi （ｌi ）の値をそれぞれ
【００４０】
【数１】
2006148282.tif 000003
および
【００４１】
【数２】
2006148282.tif 000004
とする。
【００４２】
これは、コンテンツ受信者側で利用可能なネットワーク帯域および各レベルを受信するときに必要なネットワーク帯域をδの倍数とすることを意味する。スケーリングを行うことによって、元の問題で得られる結果とスケーリング後の問題で得られる結果の間に差が生じる。しかし、本発明では正確な最適解を求めることを目的としているのではなく、各オブジェクトに割り当てるレベルを決定することを目的としているため、スケーリングを利用する。
【００４３】
ここで、Ｑ（ｉ，Ｂ）をオブジェクトの集合｛ａ1 ，．．．，ａi ｝（１≦ｉ≦ｎ）に対して、以下の式（７）、式（８）を満たし、（９）に示す品質評価関数を最大にするようにレベルベクトル↑ｌ’を決定する問題であると定義する。
Ｂ（↑ｌ’）＝Σi j=1 ｂj （ｌ’j ）≦Ｂ            （７）
Ｍ（↑ｌ’）＝Σi j=1 ｍj （ｌ’j ）≦Ｍbase        （８）
Ｖ（↑ｌ’，↑ｐ’）                                （９）  
ただし↑ｌ’＝（ｌ’1 ，．．．，ｌ’i ）、↑ｐ’＝（ｐ’1 ，．．．，ｐ’i ）であり、ｐ’k ＝ｐk （１≦ｋ≦ｉ）である。レベルベクトル↑ｌを求めるためには、問題Ｑ（ｎ，Ｂbase）を解けばよい。
・品質決定アルゴリズム
簡単のために、Ｑ（ｉ，Ｂ）が  Ｖ（↑ｌ’，↑ｐ’）の値も表すこととする。また、Ｍ（ｉ，Ｂ）がそのときに消費するメモリ量であるとする。問題Ｑ（ｉ，Ｂ）に対して、動的計画法を利用し以下の漸化式が得られる。
【００４４】
【数３】
2006148282.tif 000005
ただし、 *ｋは上記のＱ（ｉ，Ｂ）が最大値をとるｋの値であるとする。また、ｉ＝１の場合は以下のようになる。
【００４５】
【数４】
2006148282.tif 000006
上記の式を使ってＱ（ｎ，Ｂbase）を求めるアルゴリズムを図４に示す。対象とするオブジェクトおよびネットワーク帯域を順に増加させて問題を解いていく。
【００４６】
動的計画法を用いた品質決定アルゴリズムは、コンテンツ製作者およびコンテンツ受信者の要求が変化したとき、およびコンテンツを構成するオブジェクトの集合が変化したときに実行する。
【００４７】
このアルゴリズムの計算量について述べる。ここで、Ｑ（ｉ，＊）＝｛Ｑ（ｉ，０），Ｑ（ｉ，δ），Ｑ（ｉ，２δ），．．．，Ｑ（ｉ，Ｂbase）｝であるとする。Ｑ（ｉ，Ｂ）（０≦Ｂ≦Ｂbase）の値はＱ（ｉ−１，＊）の値および式（１０）を利用して求めることができる。このとき、オブジェクトａi のレベル数はＬi であることから、Ｏ（Ｌi ）回の比較が必要になる。また、Ｑ（ｉ，＊）に含まれる要素の数は、Ｄ＝（Ｂbase／δ）＋１であることから、Ｑ（ｉ，＊）に含まれるすべての要素の値を決定するためには、Ｏ（ＤＬi ）回の比較が必要となる。
【００４８】
図４のアルゴリズムでは、ｉとＢの値を順に増加させて問題を解く。図４のアルゴリズムは、二重ループになっており、外側のループでｉの値を決め、内側のループでＱ（ｉ，＊）中の全要素の値を決定する。上記のようにＱ（ｉ，＊）を求めるための計算量はＯ（Ｌi ）であり、Ｑ（ｉ，＊）を求める処理を外側のループが回る回数だけ実行することから、全体の計算量はＯ（ＤＬ1 ）＋Ｏ（ＤＬ2 ）＋  …  ＋  Ｏ（ＤＬn ）となる。これをまとめると、Ｏ（Ｄ  n i=1 Ｌi ）となる。ここで、Ｌav＝（  n i=1 Ｌi ）／ｎ  とすると、前式はＯ（ＤｎＬav）と書ける。
【００４９】
δの値によってネットワーク帯域を表現するときの正確さおよびアルゴリズムの実行時間が変化する。δの値を小さくすれば、ネットワーク帯域を正確に表現することができる。しかし、δの値を小さくすればＢbase／δの値が大きくなり、アルゴリズムの実行時間が長くなる。アルゴリズムの実行時間に関しては後述する。
（３）グリーディアルゴリズムを用いた品質決定
コンテンツを表示する端末であるコンテンツ表示端末の負荷状況の変化にすばやく対応するために、グリーディアルゴリズムを用いた品質決定手法を導入する。本発明の実施の形態では、特に、動的計画法で得られた各オブジェクトの品質（レベル）を、グリーディアルゴリズムを用いて更新する。グリーディアルゴリズムは、コンテンツ表示端末の負荷状況に対して閾値を設定し、その閾値に基づいて実行する。
【００５０】
例えば、各オブジェクトに対するストリームを受信するときに利用するストリームバッファにおけるオーバフローとアンダーフローおよび受け取ったデータを復号するときに利用するデコーダバッファのオーバフローに対して閾値αを定める。
【００５１】
ストリームバッファのオーバフローは、配信されてくるストリームに対して受信処理が追いつかないことを示している。また、ストリームバッファのアンダーフローは、ネットワークの混雑によりデータが送られてこないことを表している。一方、デコーダバッファのオーバフローは、送られてきた符号化データに対して復号処理が追いつかないことを示している。なお、デコーダバッファのアンダーフローは、ストリームバッファのアンダーフローによって引き起こされるため、ここでは考慮しない。
【００５２】
フローエラー（オーバフローおよびアンダーフロー）が発生した回数がαを超えた場合に、コンテンツに含まれるオブジェクトのうち、一つを選んでレベルを下げる。その際、コンテンツに対する品質評価関数の値の低下が最小になるようにする。
【００５３】
また、フローエラーの発生回数およびネットワーク使用率に対して、閾値α’およびβを定め、フローエラーの発生回数がα’を下回り、かつネットワーク使用率が閾値βを下回っている場合には、コンテンツに含まれるオブジェクトのうち、一つを選んでレベルを上げる。この場合は、品質評価関数値の上昇が最大になるようにする。
【００５４】
動的計画法による品質決定の場合と同様にオブジェクトのレベルを変更するときに優先順序を考える必要がある。ｎ個のオブジェクトの集合Ａ＝｛ａ1 ，ａ2 ，．．．，ａn ｝で構成されるコンテンツを考える。コンテンツ受信者が優先度を指定しているオブジェクトの集合をＡr （⊆Ａ）、コンテンツ製作者が優先度を指定しているオブジェクトの集合をＡc （⊆Ａ）であるとする。オブジェクトのレベルを上昇させるときは集合Ａr 、Ａc −Ａr 、Ａ−Ａr −Ａc の順に集合の中から候補を探す。
【００５５】
オブジェクトのレベルを低下させるときは、逆に集合Ａ−Ａr −Ａc 、Ａc −Ａr 、Ａr の順に候補を探す。品質評価関数は、前述した式（３）を使う。集合Ａr を対象とするときは、パラメータ↑ｐにコンテンツ受信者が指定した優先度を代入する。集合Ａc −Ａr およびＡ−Ａr −Ａc を対象とするときはパラメータ↑ｐにそれぞれコンテンツ製作者が指定した優先度および位置による優先度を代入する。
【００５６】
アルゴリズムを説明するためにいくつかの記号を定義する。ある時刻ｔにおいてオブジェクトａi に割り当てられているレベルをσt （ａi ）で表す。例えばある時刻ｔにおいてオブジェクトａi に割り当てられているレベルがｌi のとき、σt （ａi ）＝ｌi となる。さらに、σをオブジェクトの集合に対しても適用できるようにする。つまり、オブジェクト集合Ａに適用した場合、σt （Ａ）はレベルベクトル（ｌ1 ，ｌ2 ，．．．，ｌn ）を表す。
【００５７】
フローエラー発生回数に対する閾値をα、α’、現在のフローエラー発生回数をαcur 、ネットワーク使用率に対する閾値をβ、現在のネットワーク使用率をβcur とする。また↑ｌi を第ｉ要素が１、その他の要素が０であるｎ次元ベクトルであるとする。現在の割り当てをσt （Ａ）、アルゴリズム実行後の割り当てをσt+1 （Ａ）とすると、グリーディアルゴリズムの例は図５のようになる。
【００５８】
このアルゴリズムは、動的計画法で得られた解をもとにして実行することから、最適に近い解が得られることが多いと考えられる。また、このアルゴリズムでは各オブジェクトのレベルを変更したときの品質評価関数値を比較することから、アルゴリズムの計算量はＯ（ｎ）である。ただしｎはコンテンツに含まれるオブジェクト数である。
【実施例】
【００５９】
次に、本発明の実施例について説明する。図６は本発明におけるオブジェクト品質制御装置の構成の一例を示す図である。以下で、図６に示す各構成要素について説明する。
（１）オブジェクト品質制御装置１：コンテンツに含まれるオブジェクトの品質を制御する。
（２）サーバ２：コンテンツ（オブジェクト、優先度記述、キーワードリスト、コンテンツ情報）を蓄積している。コンテンツ受信者３の要求に応じてコンテンツを配信する。また、Content Start コマンド、Content Stopコマンド、Stream StartコマンドおよびStream Stop コマンドを受け付ける。
【００６０】
Content Start コマンドによって指定されたコンテンツの配信を開始する。また、Content Stopコマンドによって指定されたコンテンツの配信を停止する。Stream Startコマンドによって指定されたストリームの配信を開始する。一方、Stream Stop コマンドによって指定されたストリームの配信を停止する。
（３）コンテンツ受信者３：コンテンツの開始、および終了の指示を出す。また、後述するコンテンツ表示端末１０が表示する画面からオブジェクトを選択して優先度を指定する。キーワードリストからキーワードを選択して優先度を指定する。
（４）ネットワーク４：ストリームやコマンドなどが送受信される。
（５）コンテンツ表示端末１０: コンテンツを受信、復号、表示してコンテンツ受信者３に提供する。
（６）レンダリング／ディスプレイ１００：復号されたオブジェクトを合成・配置して、画面に表示し、コンテンツ受信者３に提供する。
（７）デコーダ１０１：コンテンツ情報中の必要メモリ量に応じてデコーダバッファを用意し、符号化されているオブジェクトを復号する。
（８）ストリームレシーバ１０２：コンテンツ情報に基づいて必要なストリームバッファを用意し、サーバ２から送信されてくるストリームを受信する。
（９）情報マネジャ１１：ストリームレシーバ１０２からコンテンツ情報を取得し、コンテンツ情報に含まれているＯＩＤ、オブジェクトのレベル数、ネットワーク帯域、メモリ量、および位置による優先度を品質コントローラ１６に、ＯＩＤとＳＩＤをストリームコントローラ１８に渡す。これは、コンテンツ情報取得手段に相当する。
（１０）システムモニタ１２：コンテンツ表示端末１０の負荷状況（ネットワーク帯域使用率、メモリ使用率）を計測し、品質コントローラ１６に通知する。また、ストリームバッファのオーバフローおよびアンダーフローとデコーダバッファのオーバフローの発生回数を計測し、品質コントローラ１６に通知する。これは、負荷情報取得手段に相当する。（１１）ディスプレイマネジャ１３：レンダリング／ディスプレイ１００を介して、コンテンツ受信者３によって画面上で選択されたオブジェクトのＯＩＤを取得する。また、取得したＯＩＤとコンテンツ受信者３によって指定された優先度を品質コントローラ１６に通知する。
（１２）要求マネジャ１４：ネットワーク４を介して優先度記述を受け取り、それを解析して、ＯＩＤとそのオブジェクトに対して指定された優先度を品質コントローラ１６に渡す。これは、優先度記述取得手段に相当する。
（１３）キーワードマネジャ１５：ネットワーク４を介してキーワードリストを受け取り、それをコンテンツ受信者３に対して表示する。また、コンテンツ受信者３によって選択されたキーワードとそのキーワードに対する優先度を受け取り、キーワードを対応するＯＩＤに変換して、ＯＩＤと優先度を品質コントローラ１６に渡す。これは、キーワードリスト取得手段および指定優先度取得手段に相当する。
（１４）品質コントローラ１６：各処理部（キーワードマネジャ１５、要求マネジャ１４、ディスプレイマネジャ１３、システムモニタ１２、情報マネジャ１１）から受け取った情報に基づいて、上述した本発明の品質制御手法を用いて、各オブジェクトの品質を決定する。デコーダコントローラ１７とストリームコントローラ１８に決定した各オブジェクトの品質を伝える。これは、品質決定手段に相当する。
（１５）デコーダコントローラ１７: 品質コントローラ１６から各オブジェクトに対する品質指定を受け取り、その指定に基づいて、デコーダ１０１に対してデコーダ割り当てまたはデコーダ割り当て解除を指示する。デコーダ割り当てを指示するときはDecoder Attachコマンドを発行し、デコーダ割り当て解除を指示するときはDecoder Detachコマンドを発行する。
（１６）ストリームコントローラ１８：品質コントローラ１６から各オブジェクトに対する品質指定を受け取り、その指定に基づいて、ネットワーク４を介して、サーバ２に対してストリームの配信開始および配信停止を指示する。ストリームの配信開始を指示するときはStream Startコマンドを発行し、ストリームの配信停止を指示するときはStream Stop コマンドを発行する。
（１７）メッセージマネジャ１９：コンテンツ受信者３によるコンテンツの配信開始および配信停止の指示を、ネットワーク４を介してサーバ２に伝える。
【００６１】
本発明の実施例においては、図６に示す構成の他、キーワードマネジャ１５をコンテンツ表示端末の一部とし、キーワードの表示をコンテンツ表示端末１０で行うように構成してもよい。
【００６２】
また、本発明においてＭＰＥＧ−４を用いるときは、コンテンツ表示端末１０はＭＰＥＧ−４端末となり、ディスプレイマネジャ１３のうち、レンダリング／ディスプレイ１００を介してＯＩＤを取得する部分はＭＰＥＧ−４端末の一部として機能することとなる。
【００６３】
さらに、以下の５ヶ所でＭＰＥＧ−Ｊ  ＡＰＩを利用することとなる。
ａ：システムモニタ１２が負荷状況を取得するとき。
ｂ：デコーダコントローラ１７がデコーダ１０１に指示を出すとき。
ｃ：ストリームコントローラ１８がサーバ２に指示を出すとき。
ｄ：情報マネジャ１１がストリームレシーバ１０２からコンテンツ情報を取得するとき。ｅ：品質コントローラ１６がディスプレイマネジャ１３からＯＩＤを取得するとき。
【００６４】
以下に、本発明の実施例における動作について述べる。
（コンテンツの受信開始）
コンテンツを受信するにあたり、コンテンツ受信者３は、コンテンツを保持しているサーバを知っているものとする。例えば、検索エンジンによってコンテンツに対するＵＲＩ（Uniform Resource Identifier ）が取得できるものとする。
ステップＳ１：コンテンツ受信者３は、メッセージマネジャ１９を介し、サーバ２に対してコンテンツの開始を要求する。このとき、Content Start コマンドを使う。
ステップＳ２：Content Start コマンドを受け取ったサーバ２は、優先度記述、キーワードリストおよびコンテンツ情報を要求マネジャ１４、キーワードマネジャ１５およびストリームレシーバ１０２にそれぞれ送信する。
ステップＳ３：要求マネジャ１４は、受け取った優先度記述を解析し、品質コントローラ１６に対して、ＯＩＤとそのオブジェクトに対する優先度を送信する。
ステップＳ４：キーワードマネジャ１５は、受け取ったキーワードリストを解析し、コンテンツ受信者３に対してキーワードを表示する。
ステップＳ５：コンテンツ受信者３は、表示されたキーワードを見てキーワードを選択し、選択したキーワードに対して優先度を指定する。その後、キーワードと優先度をキーワードマネジャ１５に送る。
ステップＳ６：キーワードマネジャ１５は、受け取ったキーワードをＯＩＤに変換し、受け取った優先度とともに品質コントローラ１６に送信する。
ステップＳ７：ストリームレシーバ１０２は、受け取ったコンテンツ情報を情報マネジャ１１およびデコーダ１０１に送信する。
ステップＳ８：情報マネジャ１１は、受け取ったコンテンツ情報を解析する。その後、情報マネジャ１１は、ＯＩＤとそれに対応するＳＩＤをストリームコントローラ１８に送信する。また、オブジェクトのレベル数、各レベルで必要なネットワーク帯域およびメモリ量、位置による優先度をＯＩＤとともに品質コントローラ１６に送信する。
ステップＳ９：品質コントローラ１６がシステムモニタ１２に対して現在の負荷状況を問い合わせる。
ステップＳ１０：システムモニタ１２は、空きネットワーク帯域および空きメモリ量を品質コントローラ１６に通知する。
ステップＳ１１：品質コントローラ１６は、情報マネジャ１１、システムモニタ１２、要求マネジャ１４、およびキーワードマネジャ１５から受け取った情報に基づき、各オブジェクトの品質（レベル）を決定する。このとき動的計画法を利用する。
ステップＳ１２：品質コントローラ１６は、各オブジェクトに対して決定したレベルをＯＩＤとともに、デコーダコントローラ１７およびストリームコントローラ１８に送信する。
ステップＳ１３：デコーダコントローラ１７は、受け取ったレベルに基づいて、デコーダ１０１に指示を出す。受信するストリームに対してはデコーダ割り当て（Decoder Attach）コマンドを、受信しないストリームに対してはデコーダ割り当て解除（Decoder Detach）コマンドを発行する。
ステップＳ１４：デコーダ１０１は、受け取ったコマンドに基づきデコーダの割り当て、および解除を行う。
ステップＳ１５：ストリームコントローラ１８は、受け取ったレベルに基づいて、サーバ２に指示を出す。受信するストリームに対しては、Stream Startコマンドを、受信しないストリームに対してはStream Stop コマンドを発行する。
ステップＳ１６：サーバ２は、受け取ったコマンドに基づき、オブジェクトの送信を開始する。
ステップＳ１７：ストリームレシーバ１０２は、オブジェクトを受信し、デコーダ１０１に渡す。
ステップＳ１８：デコーダ１０１は、オブジェクトを復号し、レンダリング／ディスプレイ１００に渡す。
ステップＳ１９：レンダリング／ディスプレイ１００は、オブジェクトを合成・配置して画面を生成し、コンテンツ受信者３に対して表示する。
（キーワードによる優先度指定）
次に、特に、コンテンツ表示中にコンテンツ受信者３がキーワードによる優先度指定を行った場合の動作について述べる。
（１）コンテンツ受信者３は、キーワードマネジャ１５によって表示されたキーワードを見てキーワードを選択し、選択したキーワードに対して優先度を指定する。その後、キーワードと優先度をキーワードマネジャ１５に送る。
（２）キーワードマネジャ１５は、受け取ったキーワードをＯＩＤに変換し、受け取った優先度とともに品質コントローラ１６に送信する。
（３）品質コントローラ１６がシステムモニタ１２に対して現在の負荷状況を問い合わせる。
（４）システムモニタ１２は空きネットワーク帯域および空きメモリ量を品質コントローラ１６に通知する。
（５）品質コントローラ１６は、キーワードマネジャ１５から受け取った優先度と現在各オブジェクトに対して割り当てられている優先度、オブジェクトのレベル数、各レベルが必要とするネットワーク帯域およびメモリ量、空きネットワーク帯域および空きメモリ量から、各オブジェクトの品質（レベル）を決定する。空きネットワーク帯域と空きメモリ量は、現在コンテンツを受信するために使っているものも含める。各オブジェクトの品質決定には動的計画法を利用する。
（６）以降は、前述したコンテンツの受信開始動作処理におけるステップＳ１２からステップＳ１９と同様の処理を行う。
（画面中のオブジェクトに対する優先度指定）
次に、特に、コンテンツ表示中にコンテンツ受信者が画面に表示されているオブジェクトを選択して優先度を指定した場合の動作について述べる。
（１）コンテンツ受信者３は、画面中からオブジェクトを選択し優先度を指定する。その後、オブジェクト選択情報と指定した優先度をディスプレイマネジャ１３に送る。
（２）ディスプレイマネジャ１３は、選択されたオブジェクトのＯＩＤをレンダリング／ディスプレイ１００に問い合わせる。
（３）レンダリング／ディスプレイ１００は、選択されたオブジェクトのＯＩＤをディスプレイマネジャ１３に返す。
（４）ディスプレイマネジャ１３はコンテンツ受信者３から受け取った優先度とレンダリング／ディスプレイ１００から受け取ったＯＩＤを品質コントローラ１６に渡す。
（５）品質コントローラ１６は、ディスプレイマネジャ１３から受け取った優先度と現在各オブジェクトに対して割り当てられている優先度、オブジェクトのレベル数、各レベルが必要とするネットワーク帯域およびメモリ量、空きネットワーク帯域および空きメモリ量から、各オブジェクトの品質（レベル）を決定する。空きネットワーク帯域と空きメモリ量は、現在コンテンツを受信するために使っているものも含める。各オブジェクトの品質決定には動的計画法を利用する。
（６）以降は、前述したコンテンツの受信開始動作処理のステップＳ１２からステップＳ１９と同様の処理を行う。
（負荷状況問い合わせによるオブジェクト品質変更（動的計画法））
次に、品質コントローラ１６が負荷状況を問い合わせて、オブジェクトの品質を変更する処理について述べる。
（１）品質コントローラ１６がシステムモニタ１２に対して、現在の負荷状況を問い合わせる。
（２）システムモニタ１２は、空きネットワーク帯域および空きメモリ量を品質コントローラ１６に通知する。
（３）品質コントローラ１６は、システムモニタ１２から受け取った情報に現在コンテンツを受信するために使っているネットワーク帯域とメモリ量を加えたものと、現在各オブジェクトに対して割り当てられている優先度、各オブジェクトのレベル数、各レベルが必要とするネットワーク帯域およびメモリ量から、各オブジェクトの品質を決定する。各オブジェクトの品質決定には動的計画法を利用する。
（４）以降は、前述したコンテンツの受信開始動作のステップＳ１２からステップＳ１９と同じ処理を行う。
（負荷状況変化時のオブジェクト品質変更（グリーディアルゴリズム））
次に、負荷状況が変化したときにオブジェクトの品質を変更する処理について述べる。（１）システムモニタ１２は、フローエラー発生回数（オーバフローの発生回数およびアンダーフローの発生回数）が閾値を超えたとき、あるいはフローエラー発生回数が閾値を下回っており、ネットワーク帯域使用率が閾値を下回ったときに、これらの情報を品質コントローラ１６へ通知する。
（２）品質コントローラ１６は、現在各オブジェクトに対して割り当てられている優先度およびレベルに基づき、グリーディアルゴリズムを用いてレベルを上げる、あるいは下げるオブジェクトを決定し、そのオブジェクトのレベルを決める。
（３）以降は、前述したコンテンツの受信開始動作のステップＳ１２からステップＳ１９と同じ処理を行う。
（コンテンツの停止）
ここでは、特に、コンテンツ受信者３がコンテンツの配信を停止するときの動作について述べる。
（１）コンテンツ受信者３は、メッセージマネジャ１９を介してサーバ２に対してコンテンツの停止を要求する。このとき、Content Stopコマンドを利用する。
（２）Content Stopコマンドを受け取ったサーバ２は、コンテンツの配信を停止する。
（実験）
図６に示すオブジェクト品質制御装置１を用いて、本発明のオブジェクト品質制御方法を実行した。
（１）アルゴリズムの実行時間
品質決定アルゴリズムの実行にかかる時間を計測した。プログラミング言語はＪａｖａ（登録商標）、実行環境はＰｅｎｔｉｕｍ（登録商標）４  ３．２ＧＨｚ、メモリ１ＧＢである。
【００６５】
動的計画法を用いた品質決定アルゴリズムに対して、コンテンツに含まれるオブジェクトの数およびネットワーク帯域の分割数Ｕを変化させて実行時間を計測した。ここで、ＵはＢbase／δの値を表す。各オブジェクトに対するレベル数は、１から５までの範囲で乱数を用いて指定した。また各レベルで必要とするネットワーク帯域およびメモリ量も乱数を用いて指定した。結果を図７に示す。時間の単位はミリ秒である。
【００６６】
オブジェクトの数が少ないとき、あるいはネットワーク帯域の分割数が少ないときは数十マイクロ秒から数百マイクロ秒で品質割り当てを行うことができる。オブジェクトの数が多く、かつネットワーク帯域の分割数も多い場合には、１０ミリ秒程度の時間がかかる。
【００６７】
一方、グリーディアルゴリズムを用いた品質決定アルゴリズムの実行時間を計測した結果、オブジェクト数が６４のとき実行時間は０．３マイクロ秒であった。
・品質変更が完了するまでに経過する時間
オブジェクトの品質を変更するには品質決定アルゴリズムを実行したあと、各オブジェクトに対するストリームの配信開始または停止の指示を行い、デコーダ割り当てを変更する必要がある。そこで、本実験では、ＭＰＥＧ−４参照ソフトウェアを利用して一つのオブジェクトに対して品質を変更するときにかかる時間を計測した。その結果、ストリームの配信停止とデコーダ割り当ての解除には１ミリ秒程度の時間がかかった。また、ストリームの配信開始とデコーダ割り当て処理にも同程度の時間がかかった。ネットワークを介してストリームを受信する場合には、この時間に加えてネットワークの遅延時間がかかる。
【００６８】
動的計画法を用いて品質の割り当てを行う場合、品質更新が完了するまでに経過する時間は、δの値に依存する。そこで、アプリケーションごとに品質更新が完了するまでに経過してもよい時間を考え、使用するネットワークに応じた遅延時間とクライアントの処理能力を考慮してδの値を設定すればよい。
（２）品質割り当て結果
品質評価関数を変化させた場合に、各オブジェクトに割り当てられるレベルがどのように変化するのかを調べた。本実験では、対数評価関数および指数評価関数を用いた。ここでは、ＭＰＥＧ−４  Ｔｅｓｔ  Ｓｅｑｕｅｎｃｅに含まれている“Ｎｅｗｓ”をもとに作成した入力を使用した。Ｎｅｗｓは４つのオブジェクト（ｂａｃｋｇｒｏｕｎｄ、ｍｏｎｉｔｏｒ、ｓｐｅａｋｅｒ、ｌｏｇｏ）で構成されており、ｍｏｎｉｔｏｒとｓｐｅａｋｅｒは同程度のネットワーク帯域を必要とし、ｂａｃｋｇｒｏｕｎｄはｍｏｎｉｔｏｒの半分程度、ｌｏｇｏはｍｏｎｉｔｏｒの１０分の１程度のネットワーク帯域を必要とする。また、オブジェクトを受信するときに必要となるバッファサイズはネットワーク帯域に比例した値である。各オブジェクトのレベル数は４とし、各オブジェクトの最高レベルは、最低レベルが必要とするネットワーク帯域に対して１０倍のネットワーク帯域を必要とすることとした。また、ｓｐｅａｋｅｒ、ｍｏｎｉｔｏｒ、ｂａｃｋｇｒｏｕｎｄ、ｌｏｇｏのそれぞれに優先度４、３、２、１を割り当てた。
・動的計画法による割り当て
動的計画法を用いて各オブジェクトに割り当てられるレベルの変化を記録した。ここでは、コンテンツ表示端末１０が利用できるネットワーク帯域をすべてのオブジェクトを最高レベルで受信できる値からすべてのオブジェクトを受信できなくなるまで徐々に減少させた。また、コンテンツ表示端末１０では十分なメモリが利用できるものとした。結果を図８、図９に示す。
【００６９】
図８に示すように、式（１）に示す対数評価関数を用いたときは、ネットワーク帯域が減少するとすべてのオブジェクトに対するレベルを徐々に下げる割り当て結果が得られた。一方、図９に示すように、式（２）に示す指数評価関数を用いたときは、優先度の高いオブジェクトのレベルをできるだけ維持しようとする割り当てになった。以上から、ユーザがオブジェクト間の釣り合いを重視するときは、対数評価関数が有効であると考えられる。一方、ユーザがある特定のオブジェクトに注目するときは、指数評価関数が有効であると考えられる。なお、利用できるメモリ量を変化させて評価を行った場合も、ほぼ同様の結果が得られた。
・グリーディアルゴリズムによる割り当て
次にグリーディアルゴリズムを用いて品質割り当てを行った。すべてのオブジェクトを最高レベルで受信できるネットワーク帯域の８０％が利用できるとして、動的計画法で品質割り当てを行い、その後グリーディアルゴリズムで品質割り当てを行った。バッファのオーバフローが発生し各オブジェクトのレベルを下げる処理が行われたときの結果を図１０に示す。
【００７０】
対数評価関数を利用したとき、動的計画法で品質を割り当てると、ｓｐｅａｋｅｒ、ｍｏｎｉｔｏｒ、ｂａｃｋｇｒｏｕｎｄ、ｌｏｇｏそれぞれに図１０（Ａ）の左端に示すようにレベル４、３、３、４が割り当てられ、指数評価関数を利用すると、図１０（Ｂ）の左端に示すように、それぞれにレベル４、４、１、４が割り当てられた。
【００７１】
対数評価関数を利用した場合にオブジェクトのレベルを下げる処理が行われると、図１０（Ａ）に示すように、すべてのオブジェクトのレベルを徐々に下げる割り当て結果が得られた。一方、指数評価関数を利用したときには、図１０（Ｂ）に示すように、優先度の低いオブジェクトからレベルを下げる割り当て結果が得られた。
【００７２】
なお、ネットワーク使用率が低く、各オブジェクトのレベルを上げる処理が行われるときも、対数評価関数では、すべてのオブジェクトのレベルを徐々に上げる割り当て、指数評価関数では優先度の高いオブジェクトからレベルを上げる割り当て結果が得られた。
【図面の簡単な説明】
【００７３】
【図１】優先度記述の定義と記述例を示す図である。
【図２】キーワードリストの定義と記述例を示す図である。
【図３】コンテンツ情報の定義と記述例を示す図である。
【図４】Ｑ（ｎ，Ｂbase）を求めるアルゴリズムの例を示す図である。
【図５】グリーディアルゴリズムの例を示す図である。
【図６】本発明のオブジェクト品質制御装置の構成の一例を示す図である。
【図７】動的計画法を用いたアルゴリズムの実行時間を示す図である。
【図８】対数評価関数を用いて動的計画法を適用した場合の各オブジェクトに対するレベルの割り当て結果を示す図である。
【図９】指数評価関数を用いて動的計画法を適用した場合の各オブジェクトに対する品質割り当て結果を示す図である。
【図１０】グリーディアルゴリズムを適用した場合の各オブジェクトに対する品質割り当て結果を示す図である。
【符号の説明】
【００７４】
１  オブジェクト品質制御装置
２  サーバ
３  コンテンツ受信者
４  ネットワーク
１０  コンテンツ表示端末
１１  情報マネジャ
１２  システムモニタ
１３  ディスプレイマネジャ
１４  要求マネジャ
１５  キーワードマネジャ
１６  品質コントローラ
１７  デコーダコントローラ
１８  ストリームコントローラ
１９  メッセージマネジャ
１００  レンダリング／ディスプレイ
１０１  デコーダ
１０２  ストリームレシーバ
【図１】
2006148282.tif 000007
【図２】
2006148282.tif 000008
【図３】
2006148282.tif 000009
【図４】
2006148282.tif 000010
【図５】
2006148282.tif 000011
【図６】
2006148282.tif 000012
【図７】
2006148282.tif 000013
【図８】
2006148282.tif 000014
【図９】
2006148282.tif 000015
【図１０】
2006148282.tif 000016
【手続補正書】
【提出日】平成16年12月6日(2004.12.6)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
図１にＤＴＤ（Document Type Definition）で定義した文書構造と記述例を示す。要素ｉｄはＯＩＤを表す。要素ｒｅｑｕｉｒｅｍｅｎｔは優先度を表す。要素ｓｔａｒｔは優先度割り当てを開始する時刻を表し、要素ｅｎｄは優先度割り当てを終了する時刻を表す。要素ｓｔａｒｔとｅｎｄは省略してもよい。要素ｓｔａｒｔを省略したときは、コンテンツの表示開始と同時に優先度が指定される。一方、要素ｅｎｄを省略したときは、コンテンツの表示終了まで優先度が指定される。