説明

レートシェーピング方法及びレートシェーピング装置

【課題】ネットワーク経由で送信される複数のデータストリームのレートシェーピングを行う。
【解決手段】ネットワークは、第1のレートシェーピング・スキームと、少なくとも1つの他のレートシェーピング・スキームとを用いてレートシェーピングを行う機能を有する。方法は、ネットワークのリソースに基づいて、第1のレートシェーピング・スキームをレートシェーピング・スキームとして適用することが可能なデータストリームの最大個数nを決定するステップと、送信すべき複数のデータストリームの中から、n個のデータストリームを選択し、選択したn個のデータストリームに対してトランスコーディングを行うことにより、レートシェーピングを行うステップと、他のデータストリームに対して、上記第1のレートシェーピング・スキームとは別のレートシェーピング・スキームを用いてレートシェーピングを行うステップとを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク経由で送信される複数のデータストリームのレートシェーピングを行う方法及び装置に関する。
【背景技術】
【0002】
インターネットビデオ通信が急速に商業用の領域になるにつれて、モバイルネットワークにおいてビデオアプリケーションが普及することが予想される。モバイルネットワークは、帯域幅をより広くし且つ伝送遅延を低減することによって改良されつつあるが、ビデオ通信において求められるものが高いために、制約が残ることになる。したがって、ネットワークリソース割り当てを最適化することと、ネットワーク内のアプリケーションのデータレートを適応させることとが、通信事業者にとっての優先事項となる。ネットワーク内のアプリケーションのデータレートを適応させるための既存のアプローチがいくつかある。1つのアプローチは、いわゆる「トランスコーディング(transcoding)」であり、別のアプローチは「パケット・ドロッピング(packet dropping)」であり、さらに別のアプローチとしては、「レイヤ・ドロッピング(layer dropping)」がある。
【0003】
トランスコーディングをベースとするアプローチは、例えば、特許文献1に開示されている。特許文献1は、ポリシーエンジンを開示しており、このポリシーエンジンは、処理能力を超える負荷をホストコンピュータにかけずに最高品質の伝送を行うために、媒体処理装置の処理制約(processing constraint)を管理して、トランスコーディングのプロセスにおける最適な組み合わせを決定するものである。
【0004】
パケット・ドロッピングをベースとするアプローチは、例えば、特許文献2に開示されている。また、レイヤ・ドロッピングをベースとするアプローチは、例えば、特許文献3に開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】米国特許出願公開第2008/0205389(A1)号明細書
【特許文献2】米国特許出願公開第2008/0259799(A1)号明細書
【特許文献3】米国特許出願公開第2008/0122878(A1)号明細書
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、ビデオ品質を向上させるための、異なる複数のレートシェーピング(rate shaping)のスキームを考慮に入れた統合レートシェーピングのメカニズムは、これまで開発されていなかった。
【課題を解決するための手段】
【0007】
本発明によれば、ネットワーク経由で送信される複数のデータストリームのレートシェーピングを行う方法であって、該ネットワークは、第1のレートシェーピング・スキームと、第1のレートシェーピング・スキーム以外の少なくとも1つの他のレートシェーピング・スキームとを用いてレートシェーピングを行う機能を有し、上記第1のレートシェーピング・スキームは、トランスコーディング・スキームであって、データストリームの品質への影響が、上記少なくとも1つの他のレートシェーピング・スキームより小さいが、上記少なくとも1つの他のレートシェーピング・スキームより多くの計算リソースを必要とするものであり、上記方法は、
上記ネットワークの使用可能な計算リソースに基づいて、上記第1のレートシェーピング・スキームをレートシェーピング・スキームとして適用することが可能なデータストリームの最大個数nを決定するステップと、
送信すべき複数のデータストリームの中から、n個のデータストリームを選択し、選択したn個のデータストリームに対してトランスコーディングを行うことにより、レートシェーピングを行うステップと、
他のデータストリームに対して、上記第1のレートシェーピング・スキームとは別のレートシェーピング・スキームを用いてレートシェーピングを行うステップとを含む方法が提供される。
【0008】
本発明は、各種レートシェーピング・スキームのそれぞれの品質への影響に基づいて選択を行い、その選択に従ってレートシェーピングを行うことによって、使用可能な計算リソースへの適応を可能にするだけでなく、同時に、選択による品質への影響を最適化することができる。
【0009】
一実施形態によれば、本方法はさらに、
上記複数のデータストリームのそれぞれについて、上記少なくとも1つの他のレートシェーピング・スキームに基づいてビットレートを変更した場合に品質がどれだけ劣化するかを示す尺度を決定するステップと、
上記尺度が最も大きい品質劣化を示しているn個のデータストリームを、上記第1のレートシェーピング・スキームを適用すべきデータストリームとして選択するステップと、
上記複数のデータストリームのうちの残りのデータストリームに上記少なくとも1つの他のレートシェーピング・スキームを適用するステップとを含む。
【0010】
このようにして、「最も良い」レートシェーピング・スキームが個々のデータストリームに対して適用されるような高度な選択が行われる。すなわち、他のレートシェーピング・スキームを選択すると特に悪い結果につながると予想されるデータストリームを選択することによって、高度な選択が行われる。このようにして、非常に効率の良い品質の最適化を行うことができる。
一実施形態によれば、上記品質劣化を示す上記尺度は、データストリームが上記ネットワーク経由で送信される前に、あらかじめ決定されるものであり、上記品質劣化を示す上記尺度は、データストリームとともに上記ネットワークに送信されて、上記ネットワークが、個々のデータストリームについて、上記尺度に基づいて適切なレートシェーピング・スキームを選択する。
【0011】
このようにして、選択のメカニズムは、品質への影響に関して使用可能なパラメータを用いて、高速かつ高効率で選択を行うことができる。
【0012】
一実施形態によれば、上記ネットワークにおいて、上記第1のレートシェーピング・スキーム以外に複数のレートシェーピング・スキームが使用可能な場合は、本方法は、
上記複数のデータストリームのそれぞれについて、上記複数の他のレートシェーピング・スキームのそれぞれに基づいてビットレートを変更した場合に品質がどれだけ劣化するかを示す尺度を決定するステップと、
上記第1のレートシェーピング・スキームの適用対象として選択されていないデータストリームについて、上記複数の他のレートシェーピング・スキームの中から、それぞれのデータストリームの品質への影響に基づいて、上記影響を最小化するようなレートシェーピング・スキームを選択するステップとを含む。
【0013】
このようにして、最適なレートシェーピング・スキームに加えて「他の」レートシェーピング・スキームが複数存在する状況にうまく対処して、全体的な品質において最適な結果を達成することが可能である。
【0014】
一実施形態によれば、上記他のレートシェーピング・スキームは、パケット・ドロッピング及びレイヤ・ドロッピングのうちのいずれか又は両方を含み、及び/又は、上記データストリームはビデオデータストリームである。
【0015】
このようにして、本メカニズムは、既に確立されたレートシェーピング・スキームを有する既存の環境に適用させることができる。
【0016】
一実施形態によれば、上記品質劣化の上記尺度は、ビットレートに対する品質尺度の勾配、又はリソース割り当ての割合(fraction of resource allocation)に対する品質尺度の勾配である。
【0017】
これにより、特定のレートシェーピング・スキームを選択するときの品質への影響について、特に良好かつ便利な尺度が得られる。
【0018】
一実施形態によれば、上記ネットワークは、ある特定のレートシェーピング・スキームが適用された場合にある特定のデータストリームの品質がどれだけ劣化するかを示す品質モデルを格納するものであり、ある特定データストリームに対する上記レートシェーピング・スキームの選択は、上記ネットワークに格納された上記品質モデルに基づくものである。
【0019】
このようにして、既存の(コア)ネットワークを適応させることができ、本発明の実施形態によるレートシェーピング・スキームを実行することができる。
【0020】
一実施形態によれば、ネットワーク経由で送信される複数のデータストリームのレートシェーピングを行う装置であって、該ネットワークは、第1のレートシェーピング・スキームと、第1のレートシェーピング・スキーム以外の少なくとも1つの他のレートシェーピング・スキームとを用いてレートシェーピングを行う機能を有し、上記第1のレートシェーピング・スキームは、トランスコーディング・スキームであって、データストリームの品質への影響が、上記少なくとも1つの他のレートシェーピング・スキームより小さいが、上記少なくとも1つの他のレートシェーピング・スキームより多くの計算リソースを必要とするものであり、
上記ネットワークの使用可能な計算リソースに基づいて、上記第1のレートシェーピング・スキームをレートシェーピング・スキームとして適用することが可能なデータストリームの最大個数nを決定するモジュールと、
送信すべき複数のデータストリームの中から、n個のデータストリームを選択し、選択したn個のデータストリームに対してトランスコーディングを行うことにより、レートシェーピングを行うモジュールと、
他のデータストリームに対して、上記第1のレートシェーピング・スキームとは別のレートシェーピング・スキームを用いてレートシェーピングを行うモジュールとを備える装置が提供される。
【0021】
一実施形態によれば、本装置はさらに、
上記複数のデータストリームのそれぞれについて、上記少なくとも1つの他のレートシェーピング・スキームに基づいてビットレートを変更した場合に品質がどれだけ劣化するかを示す尺度を決定するモジュールと、
前記尺度が最も大きい品質劣化を示しているn個のデータストリームを、上記第1のレートシェーピング・スキームを適用すべきデータストリームとして選択するモジュールと、
上記複数のデータストリームのうちの残りのデータストリームに上記少なくとも1つの他のレートシェーピング・スキームを適用するモジュールとを備える。
【0022】
一実施形態によれば、上記装置は、
上記ネットワークにおいて、上記第1のレートシェーピング・スキーム以外に複数のレートシェーピング・スキームが使用可能な場合には、上記複数のデータストリームのそれぞれについて、上記複数の他のレートシェーピング・スキームのそれぞれに基づいてビットレートが変更された場合に前記品質がどれだけ劣化するかを示す尺度を決定するモジュールと、
上記第1のレートシェーピング・スキームの適用対象として選択されていないデータストリームについて、上記複数の他のレートシェーピング・スキームの中から、それぞれのデータストリームの品質への影響に基づいて、上記影響を最小化するようなレートシェーピング・スキームを選択するモジュールとを含む。
【0023】
一実施形態によれば、コンピュータプログラムが提供される。このコンピュータプログラムは、コンピュータで実行される際に本発明の実施形態のいずれか1つによる方法を実行することを可能にするコンピュータプログラムコードを含むものである。
【図面の簡単な説明】
【0024】
【図1】各種のレートシェーピング・スキームに必要な計算時間を概略的に示した図である。
【図2】各種のレートシェーピング・スキームが品質に与える影響を概略的に示した図である。
【図3】各種のレートシェーピング・スキームが品質に与える影響を概略的に示した図である。
【図4】本発明の一実施形態のシミュレーション結果を示した図である。
【図5】本発明の一実施形態によるレートシェーピングのメカニズムを示すフローチャートである。
【図6】品質への影響を表す尺度を示した図であり、この尺度は、本発明の一実施形態によるレートシェーピングのメカニズムで使用されるものである。
【図7】本発明の一実施形態によるメカニズムを概略的に示した図である。
【図8】本発明のさらなる実施形態によるメカニズムを概略的に示した図である。
【発明を実施するための形態】
【0025】
以下、本発明を、例示的な実施形態を用いて説明する。
【0026】
本実施形態において、ネットワーク内のデータレートを適応させるために行うレートシェーピングでは、全体の品質に対するレートシェーピングの悪影響が最小になるように、複数のレートシェーピング・スキームを用い、異なるビデオストリームに対して実際に適用するレートシェーピング・スキームを選択する。実際に適用されるレートシェーピング・スキームを選択するためのベースになるのは、使用可能な各種レートシェーピング・スキームついての人間が知覚する品質への影響を比較することであり、この情報を用いて、ネットワークからサービスを受けるユーザが知覚するビデオにおける全体の品質を向上させるのに適切なスキームを選択する。
【0027】
一実施形態によれば、例えば、トランスコーディングは、第1のレートシェーピング・スキームとして使用することができ、さらに、トランスコーディングに加えて、トランスコーディングとは別の1つ以上の他のレートシェーピング・スキーム(例えば、パケット・ドロッピングやレイヤ・ドロッピング)もレートシェーピングに使用することができる。さらに、第1のレートシェーピング・スキーム(例えば、トランスコーディング)は、他の1つ以上のレートシェーピング・スキームより多くの計算処理を必要とするが、同時に、第1のレートシェーピング・スキームは、他のレートシェーピング・スキームより品質への影響が少ないものである。そこで、これらのレートシェーピング・スキームを、ネットワーク経由で送信するどのビデオストリームに対して使用するかを、それぞれのレートシェーピング・スキームの影響に基づいて決定して、全体の品質が最適化されるようにする。一実施形態によれば、第1のレートシェーピング・スキームは、トランスコーディングであり、第2(又は他)のレートシェーピング・スキームは、トランスコーディングとは別のスキームである。トランスコーディングとは異なる別のレートシェーピング・スキームとしては、例えば、パケット・ドロッピングやレイヤ・ドロッピングがある。
【0028】
なお、本明細書では、「別のレートシェーピング・スキーム」とは、(例えば、トランスコーディングのような)同一レートシェーピング・スキームにおいて(例えば)パラメータを変更することを意味するものではなく、レートシェーピングをどのように行うか(例えば、レイヤ・ドロッピング又はパケット・ドロッピングと異なる下位アルゴリズムに対してトランスコーディングを行うなど)に関する技術的アプローチ又はアルゴリズムが異なることを意味すると理解されたい。
【0029】
各種のレートシェーピング・スキームの影響について、もう少し詳しく説明する。前述のように、レートシェーピング・スキームが異なれば、必要な計算リソース(例えば、CPU時間)も異なる。これは、例えば、図1に示すとおりである。図1は、ある例示的なビデオを別のデータレートにトランスコードするアプローチが、パケット・ドロッピングアプローチやレイヤ・ドロッピングアプローチよりも格段に(時間消費で測定される)計算リソースがかかることを示している。図1は、ストリームのトランスコードにかかる計算時間をグラフで示しており、このグラフでは、計算時間は、(ビットレートが約4kbpsの場合の)約0.46秒から始まって(ビットレートが約400kbpsの場合の)約0.73秒まで上昇している。一方、図1から分かるように、パケット・ドロッピングスキームの場合の計算時間は、ビットレートが約70kbpsから約640kbpsまでの間、ほぼ同じまま(約0.03秒)である。同様に、レイヤ・ドロッピングスキームの場合の計算時間は、ビットレートが約140kbpsから約440kbpsまでの間、ほぼ一定(約0.025秒)である。
【0030】
トランスコーディングを行うのに必要な計算時間は大きいので、ネットワークは、そのネットワークからサービスされる全てのビデオデータストリームに対してトランスコーディングを行えるとは限らない。したがって、一実施形態によれば、いくつかのビデオストリームに対しては(1つ以上の)他のレートシェーピング・スキーム(パケット・ドロッピングやレイヤ・ドロッピングなど)を選択し、これらのスキームを使用することによって、計算に関する要件を小さくすることができる。
【0031】
一実施形態によれば、「第1のレートシェーピング・スキーム」(これは、品質への影響が最も小さいレートシェーピング・スキームである)を適用すべきビデオストリームの選択を行う。この選択においては、使用可能な計算リソースに基づいて、いくつのビデオストリームに第1のレートシェーピング・スキームを適用できるかを決定し、次に、その数に対応するストリームを、第1のレートシェーピング・スキーム(例えば、トランスコーディング)の適用対象として選択する。次に、残りのビデオストリームについて、1つ以上の他のレートシェーピング・スキームを選択して適用する。このようにして、品質への影響が最も少ない第1のレートシェーピング・スキームの適用対象として(使用可能なリソースに対して)可能な限り多くのビデオストリームを選択して、使用可能リソース及び品質への影響に基づいて品質を最適化するような選択を行うことができる。
【0032】
また、この選択処理は、第1のレートシェーピング・スキームを適用するデータストリームを選択する際に品質への影響を考慮することによって、更に改善することができる。ここで、(「良い」第1のレートシェーピング・スキーム以外の)他のレートシェーピング・スキームが各種ビデオストリームの品質に与える影響を考慮する。いくつかのビデオストリームのそれぞれについて、ある特定のレートシェーピング・スキームが各ビデオストリームの品質に与える影響を示す何らかの指標を用いることができる。この品質への影響に関する情報を用いることによって、別のレートシェーピング・スキームを選択した場合には特に悪い影響を与えることになるビデオストリームを、第1(「最も良い」)のレートシェーピング・スキームの適用対象として選択することができる。言い換えると、第1のレートシェーピング・スキームではない別のレートシェーピング・スキームを適用した場合の品質劣化が最大になるようなビデオストリームを、第1のレートシェーピング・スキームの適用対象として選択する。
【0033】
一実施形態によれば、どのレートシェーピング・スキームを適用すべきかについて「最適化された選択」が行われ、この選択処理は、使用可能な計算リソースに基づくだけでなく、各種レートシェーピング・スキームがビデオストリームの品質に与える影響にも基づいて行われる。つまり、ビデオストリームに対して適用すべきレートシェーピング・スキームの選択は、使用可能な計算リソースの制約の下で、品質への影響を考慮して行われる。例えば、ネットワークで提供可能なリソースにおいて同時にトランスコードできるビデオストリームの数が最大で3である場合は、他の使用可能なレートシェーピング・スキーム(パケット・ドロッピングなど)を実行した場合のビデオ品質への影響が最大になるような3つのビデオストリームを、トランスコードの対象として選択する。もう少し詳しく説明すると、例えば、この選択アルゴリズムでは、(送信する各ビデオストリームについて)「他の」レートシェーピング・スキーム(ここではパケット・ドロッピング)でレートシェーピングを行う場合のデータレートに対してビデオ品質の勾配(データレートを変化させたときの品質の変化量)を計算する。この場合、勾配が大きいことは、そのビデオがパケット・ドロッピングに対してより影響を受け易いことを意味する。したがって、勾配が最大であるビデオに対して、パケット・ドロッピングではなく、トランスコーディング(第1のレートシェーピング・スキーム)が行われるように選択して最適化を行う。このようにして、勾配が最も大きい3つのビデオストリームをトランスコーディングの対象として選択し、残りのビデオストリームに対して、パケット・ドロッピングを行う。この場合、勾配が最も大きい3つのビデオストリームのうちの1つをパケット・ドロッピングの対象として選択した場合より全体の品質への影響が小さくなる。
【0034】
本発明の実施形態を適用できるシナリオとして、例えば、ビデオデータストリームの需要が大きいためにネットワークが混雑していて、そのネットワークにおいて、ある特定の個数のビデオストリームを同時にトランスコードするための計算リソースが限られているシナリオが考えられる。したがって、ネットワークリソースを効率よく割り当てて、且つユーザの全体的な満足度を最大化しながらネットワーク負荷を低減するために、物理/リンク情報(例えば、チャネル品質、可能なデータレート、パケット損失率)及びアプリケーション情報(例えば、ユーザが知覚するビデオ品質)の両方を考慮に入れて、QoE(Quality of Experience:体感品質)ベースの最適化を行う。これに関しては、S.Khan,S.Duhovnikov,E.Steinbach,and W.Kellerer,“MOS−based multiuser multiapplication cross−layer optimization for mobile multimedia communication,”Advances in Multimedia,2007,article ID 94918を参照されたい。
【0035】
一実施形態によれば、ネットワークにおいて3つのレートシェーピング・スキーム(トランスコーディング、パケット・ドロッピング、及びレイヤ・ドロッピング)を用いる。各種レートシェーピング・スキームにおける品質劣化を定量的に示す何らかの指標を見出すために、ユーザが知覚するビデオ品質に対して各種スキームが与える影響についての研究が行われてきた。この研究では、ビデオ品質を測定するために、画素単位の歪み(distortion)を用いる(例えば、PSNRを計算する)のではなく、vSSIM(video Structural SIMilarity:ビデオ構造的類似性)指数(例えば、Z.Wang,L.Lu,and A.C.Bovik,“Video Quality Assessment Based on Structural Distortion Measurement,”IEEE Signal Processing:Image Communication,vol.19,no.1,pp.121−132,Feb.2004を参照)を用いている。人間の目は構造的情報への適応性が高いため、vSSIMは、PSNRより良好な尺度である。
【0036】
しかしながら、vSSIMだけでなく、他の客観的なビデオ品質の尺度(例えば、VQM)も原理的には使用することができる。一例として、図2は、各種のレートシェーピング・スキームが例示的なビデオ(ここでは、サッカーのビデオ)の品質に与える影響を示している。図2から分かるように、同じコーデックへのトランスコーディング(例えば、H.264コーデックからH.264コーデックへのトランスコーディングを行うが、エンコードの量子化が異なっているような処理)は、別のコーデックへのトランスコーディングに比べると、ビデオ品質への影響が最小限である(ほとんどない)スキームである。この場合のグラフは、レートシェーピングをまったく適用しないオリジナルビデオの場合とほぼ同一である。一方、図2から分かるように、別のコーデックへのトランスコーディング(例えば、H.264コーデックからMPEG4コーデックへのトランスコーディング)の場合は、品質が劣化する。最も顕著に品質が劣化するのは、パケット・ドロッピングを適用した場合であり、レイヤ・ドロッピングを適用した場合の品質への影響はそこまでではないが、それでもトランスコーディングに比べれば影響は大きい。
【0037】
各種レートシェーピング・スキームの品質への影響は、実際にはビデオのコンテンツにも依存する。図3は、異なる2つのビデオコンテンツ(「ニュース」及び「スポーツ」)についての、トランスコーディングとパケット・ドロッピングとのビデオ品質の劣化の比較を示している。ここで、Enc1は、様々なレートでエンコードした場合の、オリジナルビデオのソース歪みである(レートシェーピング・スキームは適用せず)。さらに、図3は、トランスコーディング(TransH264)及びパケット・ドロッピング(PktDrop)を適用した場合の品質への影響を示している。
【0038】
この比較から、ビデオのコンテンツは、レート適応を行う場合に考慮に入れるべき重要な要因になり得ると結論づけることができる。図3から分かるように、トランスコーディングは、ニュース及びサッカーの両方のストリームに対する影響が非常に小さい。ニュースのストリームの場合、実際の影響はほとんどゼロである。図3においては、オリジナルビデオとトランスコーディング済みビデオの2つのグラフは、実際ほとんど区別がつかない(両方とも最初はMOSが約3.5であり、その後、約4.5に上昇する)。サッカーのストリームの場合は、グラフから分かるように、いくらかの(わずかな)品質の劣化がある。サッカーのストリームにおけるトランスコーディングのグラフでは、最初MOSは約2.3であり、約3.8に上昇する。オリジナルビデオのMOSは、同じビットレートであれば、トランスコーディングの場合に比べて約0.2から0.4高い。これに対して、パケット・ドロッピングスキームは、サッカー及びニュースの両方のストリームに対して顕著な影響をもたらす。ニュースのビデオの場合は特に、100〜200のビットレートの範囲において顕著な影響をもたらす。サッカーのビデオの場合は、400kbps超の非常に高いビットレートを除く、ほぼ全てのビットレートの範囲において顕著な影響をもたらす。400kbps超では、オリジナルビデオとパケット・ドロッピングを行ったビデオとのMOSの差が、0.5以下になる。
【0039】
図2及び図3で示されたような品質への影響についての情報を適用することにより、基地局からサービスを受ける全てのユーザが知覚する全体的な品質が最大化されるように、どのビデオストリームに対してトランスコーディング、又はパケット・ドロッピング、又はレイヤ・ドロッピングを行うべきかを選択することができる。
【0040】
前述の選択アルゴリズムを適用することにより、通信事業者は、顧客満足度(又はQoE)を可能な限り高く保ちながら、限られた計算リソースを効果的に割り当てることができる。実際、シミュレーション結果によれば、QoEビデオフレームワークを含むHSDPAシステムに提案のアルゴリズムを適用すると、全体の品質を向上させることができる。
【0041】
図4は、そのようなシミュレーション結果を例示的に示した図である。この例では、ビデオストリーミングのユーザ数は6であり、ビデオコンテンツは5種類ある。また、ネットワークは、最大で同時に3つのビデオストリームに対してトランスコーディングを行うことが可能であり、他のレートシェーピング・スキームはパケット・ドロッピングである。図4の左側に示したケースでは、パケット・ドロッピングによる品質劣化作用が最も少ない3つのビデオストリームをトランスコーディングの対象として選択し、他のビデオをパケット・ドロッピングの対象として選択している。図4の左側の図から分かるように、選択の開始後、品質は大きく変動し、不安定である。一方、図4の右側に示したケースでは、パケット・ドロッピングによる品質劣化作用が最も深刻であるビデオストリームをトランスコーディングの対象として選択している。図4から分かるように、これら3つのストリームについてパケット・ドロッピングを避けることにより、全体の品質への影響が著しく改善され、品質がより高くなり、より安定する。したがって、提案のアルゴリズムを適用することにより、全てのユーザにとって、知覚されるビデオ品質が向上する。
【0042】
以下では、一実施形態によるアルゴリズムを、図5を参照しながら少し詳しく説明する。まず、本アルゴリズムは、ビデオストリームの合計数が最大トランスコーディング能力(Max.Trans.Cap.)を下回るかどうかをチェックする。下回る場合は、「インテリジェント」な選択を行う必要がなく、単純に全てのビデオストリームにトランスコーディングを適用することができる。下回らない場合、本アルゴリズムは、ビデオ品質へのパケット・ドロッピングの影響を計算しなければならない。例えば、(図6に示したように)データレートに対する、ユーザが知覚する品質(MOS)の勾配を計算しなければならない。次に、本アルゴリズムは、最大の勾配となるビデオストリームを選択、すなわちトランスコーディングし(最大の勾配となるビデオストリームは、トランスコーディング以外の、最適でないレートシェーピング・スキームを用いると最も深刻な影響を受けるため)、選択したビデオの数が最大トランスコーディング能力と同じになるまで選択ループを続行する。最後のステップで、本アルゴリズムは、選択した全てのビデオにトランスコーディングを適用する。
【0043】
各種のレートシェーピング・スキームについて、品質の勾配とビットレートとの関係をあらかじめ測定しておくことが可能である。そのような測定は、異なるコンテンツごとに実施しておくことも可能であり、あるいは、コンテンツに応じて実施しておくことも可能である。そして、この勾配は、対応するレートシェーピング・スキームを選択した場合の、品質への影響を示す指標とすることができる。
【0044】
この影響に関する情報(勾配情報)は、例えば、ビデオストリーム自体に含めることが可能であり、ネットワークは、レート適応を行う際にこの情報を用いて選択を行うことができる。代替として、ビデオは、そのコンテンツに関する何らかの情報を搬送するのみとし、品質への影響を示す勾配情報は、ネットワーク内の特定の場所(レート適応を行う場所であってもよく、離れているサーバやデータベースであってもよい)にあらかじめ格納しておき、ネットワーク(又はレートシェーピング選択を行うエンティティ)は、そのコンテンツ情報に基づいて勾配をルックアップ(検索)し、その勾配に基づいて選択アルゴリズムを実行するようにしてもよい。
【0045】
一実施形態によれば、レート適応が必要なネットワークに、提案のアルゴリズムを実践的に実装することが可能である。そのようなシナリオを、図7に例示的に示している。図7に示した状況では、セッションを300kbpsのレートで開始し(図7のステップ1)、これを200kbpsのレートに変換する。このような決定は、例えば、図7に示したQoE最適化モジュールによって行われる(図7のステップ2)。次に、レートシェーピングモジュールは、使用可能なレートシェーピング・スキーム(図7では、トランスコーディング、パケット・ドロッピング、及びレイヤ・ドロッピングが示されている)の中から、適用すべき・スキームを選択する(図7のステップ3)。
【0046】
図8は、一実施形態による、より具体的な例を示している。図8では、3つのストリームが、サーバ#1、#2、及び#3によって、それぞれ、300、200、及び300kbpsのレートで配信されている。コアネットワークでは、一実施形態によるレートシェーピングが行われていて、3つのストリームが、それぞれ、200、150、及び150kbpsのレートに変換されている。
【0047】
図8は、複数の異なるビデオストリームについて、各種レートシェーピング・スキームの、ビデオ品質への影響を示す体感品質(QoE)モデルを示している。このQoEモデルは、コアネットワーク(CN)にあらかじめ格納しておくことが可能であり、あるいは、ビデオストリームに含めて伝送することが可能である。この情報に基づいて、QoE最適化器は、計算リソースが、2つのストリームに対してトランスコーディングを行う分しかないという前提で、どのストリームをトランスコーディングの対象として選択すべきかをレートシェーパに指示する。この実施形態では、3つ目のストリームに対して、レートシェーピング・スキームとしてパケット・ドロッピング又はレイヤ・ドロッピングを使用する。
【0048】
なお、ここまでの実施形態では、(レートシェーピング・スキーム選択の、ビデオ品質への影響の尺度として機能する)品質の勾配を、ビットレートの関数として用いている。しかしながら、ビットレートに対する品質尺度の代わりに、「リソース割り当ての割合(fraction of resource allocation)」に対する品質尺度を用いることも可能である。
【0049】
このためには、リソース割り当ての割合に対する品質劣化を示す品質モデル(QoEモデル)を用いることができる。リソース割り当ての割合は、実際には、データレート及び無線チャネル品質の関数である。したがって、(例えば、チャネル品質指標(CQI)で与えられるような)チャネル品質と、特定レベルのビデオ品質を与えるデータレート(品質モデルの図の各点)とが分かれば、データレート(例えば、図2又は図3に示したような、品質モデルの図のx軸)をリソース割り当ての割合に変換することを容易に行うことができる。この、QoEモデルの代替としては、カーブの更新を、各モバイル端末の平均チャネル品質に基づいて行うことができる。各モバイル端末は、例えば、CQIをネットワークにフィードバックすることが可能であり、この情報は、品質(QoE)モデルを更新するために用いることができる。このような実施形態の場合、QoEモデルに基づく選択に関する決定は、ビットレートだけに基づくのではなく、リソース割り当ての割合によって示される実際のネットワーク使用状況に基づいて行われる。このことは、リソース割り当ての最適化問題を実行する上で有利で、役に立ち得る。
【0050】
当業者であれば理解されるように、本明細書に記載の実施形態は、ハードウェアによって、又はソフトウェアによって、又はソフトウェアとハードウェアの組み合わせによって実施することができる。本発明の実施形態に関連して説明したモジュール及び機能は、その全体又は部分が、本発明の実施形態に関連して説明した方法又はモジュールに従って動作するように、適切にプログラミングされ、且つ、適切なインタフェース及び周辺装置を有するマイクロプロセッサ又はコンピュータによって実装することができる。
【0051】
本発明の一実施形態によれば、コンピュータプログラムが提供され、このコンピュータプログラムは、記録媒体や伝送リンクのような何らかの物理的手段によって具体化されるデータキャリア又は他の何らかの様式で記憶されるものである。このコンピュータプログラムは、コンピュータ上で実行されるときに、本明細書に記載の本発明の実施形態に従ってコンピュータを動作させることができる。

【特許請求の範囲】
【請求項1】
ネットワーク経由で送信される複数のデータストリームのレートシェーピングを行う方法であって、前記ネットワークは、第1のレートシェーピング・スキームと、前記第1のレートシェーピング・スキーム以外の少なくとも1つの他のレートシェーピング・スキームとを用いてレートシェーピングを行う機能を有し、前記第1のレートシェーピング・スキームは、トランスコーディング・スキームであり、前記第1のレートシェーピング・スキームは、前記データストリームの品質への影響が、前記少なくとも1つの他のレートシェーピング・スキームより小さいが、前記少なくとも1つの他のレートシェーピング・スキームより多くの計算リソースを必要とするものであり、
前記ネットワークの使用可能な計算リソースに基づいて、前記第1のレートシェーピング・スキームをレートシェーピング・スキームとして適用することが可能なデータストリームの最大個数nを決定するステップと、
送信すべき複数のデータストリームの中から、n個のデータストリームを選択し、選択したn個のデータストリームに対してトランスコーディングを行うことにより、レートシェーピングを行うステップと、
他のデータストリームに対して、前記第1のレートシェーピング・スキームとは別のレートシェーピング・スキームを用いてレートシェーピングを行うステップと
を含む方法。
【請求項2】
前記複数のデータストリームのそれぞれについて、前記少なくとも1つの他のレートシェーピング・スキームに基づいてビットレートを変更した場合に前記品質がどれだけ劣化するかを示す尺度を決定するステップと、
前記尺度が最も大きい品質劣化を示しているn個のデータストリームを、前記第1のレートシェーピング・スキームを適用すべきデータストリームとして選択するステップと、
前記複数のデータストリームのうちの残りのデータストリームに前記少なくとも1つの他のレートシェーピング・スキームを適用するステップと
をさらに含む請求項1に記載の方法。
【請求項3】
前記品質劣化を示す前記尺度は、前記データストリームが前記ネットワーク経由で送信される前にあらかじめ決定されるものであり、
前記品質劣化を示す前記尺度は、前記データストリームとともに前記ネットワークに送信されて、前記ネットワークは、個々の前記データストリームについて、前記尺度に基づいて適切なレートシェーピング・スキームを選択する、請求項2に記載の方法。
【請求項4】
前記ネットワークにおいて、前記第1のレートシェーピング・スキーム以外に複数のレートシェーピング・スキームが使用可能な場合は、
前記複数のデータストリームのそれぞれについて、前記複数の他のレートシェーピング・スキームのそれぞれに基づいてビットレートを変更した場合に前記品質がどれだけ劣化するかを示す尺度を決定するステップと、
前記第1のレートシェーピング・スキームの適用対象として選択されていないデータストリームについて、前記複数の他のレートシェーピング・スキームの中から、それぞれの、前記データストリームの前記品質への影響に基づいて、前記影響を最小化するようなレートシェーピング・スキームを選択するステップと
を含む、請求項1に記載の方法。
【請求項5】
前記他のレートシェーピング・スキームは、パケット・ドロッピング及びレイヤ・ドロッピングのうちのいずれか又は両方を含むことと、
前記データストリームは、ビデオデータストリームであることと
の少なくともいずれかを含む、請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記品質劣化の前記尺度は、ビットレートに対する品質尺度の勾配、又はリソース割り当ての割合に対する品質尺度の勾配である、請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記ネットワークが、ある特定のレートシェーピング・スキームが適用された場合にある特定のデータストリームの品質がどれだけ劣化するかを示す品質モデルを格納するものであり、
特定データストリームに対する前記レートシェーピング・スキームの選択は、前記ネットワークに格納された前記品質モデルに基づいて行われる、請求項1から6のいずれか一項に記載の方法。
【請求項8】
ネットワーク経由で送信される複数のデータストリームのレートシェーピングを行う装置であって、前記ネットワークは、第1のレートシェーピング・スキームと、前記第1のレートシェーピング・スキーム以外の少なくとも1つの他のレートシェーピング・スキームとを用いてレートシェーピングを行う機能を有し、前記第1のレートシェーピング・スキームは、トランスコーディング・スキームであり、前記第1のレートシェーピング・スキームは、前記データストリームの品質への影響が、前記少なくとも1つの他のレートシェーピング・スキームより小さいが、前記少なくとも1つの他のレートシェーピング・スキームより多くの計算リソースを必要とするものであり、
前記ネットワークの使用可能な計算リソースに基づいて、前記第1のレートシェーピング・スキームをレートシェーピング・スキームとして適用することが可能なデータストリームの最大個数nを決定するモジュールと、
送信すべき複数のデータストリームの中から、n個のデータストリームを選択し、選択したn個のデータストリームに対してトランスコーディングを行うことにより、レートシェーピングを行うモジュールと、
他のデータストリームに対して、前記第1のレートシェーピング・スキームとは別のレートシェーピング・スキームを用いてレートシェーピングを行うモジュールと
を備える装置。
【請求項9】
前記複数のデータストリームのそれぞれについて、前記少なくとも1つの他のレートシェーピング・スキームに基づいてビットレートを変更した場合に前記品質がどれだけ劣化するかを示す尺度を決定するモジュールと、
前記尺度が最も大きい品質劣化を示しているn個のデータストリームを、前記第1のレートシェーピング・スキームを適用すべきデータストリームとして選択するモジュールと、
前記複数のデータストリームのうちの残りのデータストリームに前記少なくとも1つの他のレートシェーピング・スキームを適用するモジュールと
をさらに備える、請求項8に記載の装置。
【請求項10】
前記品質劣化を示す前記尺度は、前記データストリームが前記ネットワーク経由で送信される前に、あらかじめ決定されるものであり、
前記品質劣化を示す前記尺度は、前記データストリームとともに前記ネットワークに送信されて、前記ネットワークは、個々の前記データストリームについて、前記尺度に基づいて適切なレートシェーピング・スキームを選択するものである、請求項9に記載の装置。
【請求項11】
前記ネットワークにおいて、前記第1のレートシェーピング・スキーム以外に複数のレートシェーピング・スキームが使用可能な場合には、前記複数のデータストリームのそれぞれについて、前記複数の他のレートシェーピング・スキームのそれぞれに基づいてビットレートが変更された場合に前記品質がどれだけ劣化するかを示す尺度を決定するモジュールと、
前記第1のレートシェーピング・スキームの適用対象として選択されていないデータストリームについて、前記複数の他のレートシェーピング・スキームの中から、それぞれの、前記データストリームの前記品質への影響に基づいて、前記影響を最小化するようなレートシェーピング・スキームを選択するモジュールと
を備える、請求項8に記載の装置。
【請求項12】
コンピュータで実行される際に請求項1から7のいずれか一項に記載の方法を実行することを可能にするコンピュータプログラムコードを含むコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図5】
image rotate

【図6】
image rotate

【図4】
image rotate

【図7】
image rotate

【図8】
image rotate