(57)【要約】【課題】動画配信サービスを利用する際に、ITU-Tで規定されたQoEに基づく制御を行いながら、トラヒック量を抑えることを可能とする技術を提供する。【解決手段】動画配信サービスにおいて配信サーバから配信される動画データのビットレートを選択する動画品質制御装置において、前記配信サーバから動画データをダウンロードする際のスループットを推定するスループット推定手段と、前記スループット推定手段により推定されたスループットに基づいて、選択可能な複数のビットレート系列のそれぞれに対するQoEを推定し、推定されたQoEが所与の目標値以上となり、かつ、トラヒック量が最小となるビットレート系列におけるビットレートを選択するビットレート選択手段とを備える。【選択図】図２
2019016961.tif 000002
【特許請求の範囲】
【請求項１】
動画配信サービスにおいて配信サーバから配信される動画データのビットレートを選択する動画品質制御装置であって、
前記配信サーバから動画データをダウンロードする際のスループットを推定するスループット推定手段と、
前記スループット推定手段により推定されたスループットに基づいて、選択可能な複数のビットレート系列のそれぞれに対するQoEを推定し、推定されたQoEが所与の目標値以上となり、かつ、トラヒック量が最小となるビットレート系列におけるビットレートを選択するビットレート選択手段と
を備えることを特徴とする動画品質制御装置。
【請求項２】
前記ビットレート選択手段は、前記推定されたQoEが所与の目標値以上となり、かつ、動画再生部におけるバッファ長が所与の閾値以上となり、かつ、トラヒック量が最小となるビットレート系列におけるビットレートを選択する
ことを特徴とする請求項１に記載の動画品質制御装置。
【請求項３】
前記ビットレート選択手段は、計算対象のビットレート系列におけるビットレートと、当該ビットレートの動画データサイズとを掛けることにより前記トラヒック量を算出する
ことを特徴とする請求項１又は２に記載の動画品質制御装置。
【請求項４】
動画配信サービスにおいて配信サーバから配信される動画データのビットレートを選択する動画品質制御装置が実行するビットレート選択方法であって、
前記配信サーバから動画データをダウンロードする際のスループットを推定するスループット推定ステップと、
前記スループット推定ステップにより推定されたスループットに基づいて、選択可能な複数のビットレート系列のそれぞれに対するQoEを推定し、推定されたQoEが所与の目標値以上となり、かつ、トラヒック量が最小となるビットレート系列におけるビットレートを選択するビットレート選択ステップと
を備えることを特徴とするビットレート選択方法。
【請求項５】
前記ビットレート選択ステップにおいて、前記動画品質制御装置は、前記推定されたQoEが所与の目標値以上となり、かつ、動画再生部におけるバッファ長が所与の閾値以上となり、かつ、トラヒック量が最小となるビットレート系列におけるビットレートを選択する
ことを特徴とする請求項４に記載のビットレート選択方法。
【請求項６】
前記ビットレート選択ステップにおいて、前記動画品質制御装置は、計算対象のビットレート系列におけるビットレートと、当該ビットレートの動画データサイズとを掛けることにより前記トラヒック量を算出する
ことを特徴とする請求項４又は５に記載のビットレート選択方法。
【請求項７】
コンピュータを、請求項１ないし３のうちいずれか１項に記載の動画品質制御装置における各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介した動画配信において、配信される動画データのビットレートを選択する技術に関連するものである。
【背景技術】
【０００２】
近年のモバイルネットワークの普及に伴い、モバイルネットワークを介したアプリケーションやサービスが多数提供されている。その中でも代表的なサービスが動画配信サービスである。
【０００３】
近年の動画配信サービスは、再生開始待ち時間低減のため、動画データを全てダウンロードしてから再生するという形式ではなく、動画データをダウンロードしながら同時に再生するという配信形態をとっていることが多い。この配信形態はプログレッシブダウンロード(PDL)型と呼ばれており、Youtube（登録商標）やNetflix（登録商標）をはじめとした多くの動画配信サービスで利用されている方式である。
【０００４】
PDL型動画配信の中でも、近年ではAdaptive Bitrate (ABR)方式が広く利用されている。図１の（ａ）に、ABR方式の模式図を示す。図示するように、ABR方式では、配信サーバは動画データを一定時間ごとのデータ（チャンクと呼ばれる）に分割し、それぞれ何パターンかの条件で再エンコードして保存しておく。図中では、500kbps、1000kbps、2000kbpsで再エンコードされた状態を一例として示している。再生クライアントは、準備されたビットレートの中から、どのビットレートで受信するかを、各チャンクを受信するタイミングごとに決定することができる。図中では、再生クライアントが500kbps、1000kbps、2000kbps、500kbps、2000kbpsの順に受信した様子を表している。
【０００５】
ABRはPDL方式の一つであるため、受信しながら再生を行うが、再生を行うには、再生データの受信が完了している必要がある。ABRでは、この受信が完了し、バッファに格納されたデータをバッファデータと呼ぶ。図１の（ｂ）では、前述のビットレート系列を選択したときのバッファ長時系列の一例を示している。なお、バッファ長は、バッファに格納されたデータの再生時間長である。まず、図示のとおり、バッファ長は0の状態から開始し、チャンクの受信が完了すると、チャンクの秒数分だけバッファ長が補填される。そして、バッファ長が一定値を超えると、再生が開始される。この値は再生プレイヤーによって異なる値が設定されるが、図１（ｂ）に示す例では、１チャンク分のデータがバッファに蓄積された時点で再生が開始されるものとした。再生が始まると、バッファ長は徐々に減少しながら、同時に次のチャンクの受信を開始する。図１（ｂ）に示す例では、２チャンク目に１チャンク目よりもビットレートの高いチャンクを選択しているため、より受信に時間がかかっている。３チャンク目の受信はより高いビットレートのため、一般的には受信により時間がかかる。そのため、その時のスループットが低い場合には、バッファ長が0となり、停止が発生する可能性がある。この例では、３チャンク目の受信中にバッファが枯渇した様子を表している。
【０００６】
一般的に高いビットレートで、停止が少ないほど体感品質(QoE)は高くなる。しかし、この例で示したように、高いビットレートを選択するほど、停止のリスクが上昇するため、ビットレートの選択は適切に行う必要がある。
【０００７】
ビットレートを決定するアルゴリズムは、ビットレート選択アルゴリズムと呼ばれている。ビットレート選択アルゴリズムは、その時のバッファ長やスループット系列を入力として、次に選択するチャンクのビットレートを出力する。しかし、不適切なビットレート選択アルゴリズムは、体感品質(QoE)の劣化を招いてしまう可能性がある。例えば、最低ビットレートを選び続けた場合、再生停止を防ぐことはできるものの、画質が劣化してしまうため、QoEは劣化する。一方、最高ビットレートを選び続けても、画質は向上するものの、再生停止が発生し、QoEは劣化する。
【０００８】
ABR型動画配信のQoEは、どのビットレートを選んだか、結果としてどの程度停止が発生したかという情報を元にして決定される。既に様々なモデルが提案されているが、2017年、それらの知見を元にして、ITU-Tで標準化が完了した（非特許文献１）。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】ITU-T Recommendation P.1203, "Parametric bitstream-based quality assessment of progressive download and adaptive audiovisual streaming services over reliable transport," Nov. 2016.
【非特許文献２】A. H. Zahran, J. Quinlan, D. Raca, C. J. Sreenan, E. Halepovic, R. K. Sinha, R. Jana, and V. Gopalakrishnan, "OSCAR: An Optimized Stall- cautious Adaptive Bitrate Streaming Algorithm for Mobile Networks,"in Proc. ACM Workshow on Mobile Video, 2016, pp. 2:1-2:6.
【非特許文献３】X. Yin, A. Jindal, V. Sekar, and B. Sinopoli, "A Control-Theoretic Approach for Dynamic Adaptive Video Streaming over HTTP," in Proc. ACM SIGCOMM. ACM, 2015, pp. 325-338.
【非特許文献４】T.-Y. Huang, R. Johari, N. McKeown, M. Trunnell, and M. Watson,"A Buffer-based Approach to Rate Adaptation: Evidence from a Large Video Streaming Service," in Proc. ACM SIGCOMM, 2014, pp. 187- 198.
【発明の概要】
【発明が解決しようとする課題】
【００１０】
これまでに提案されているビットレート選択制御方式（非特許文献２、３、４）には、以下で説明する２つの課題がある。
【００１１】
一つ目の課題は、ITU-Tで規定されたQoEの定義に基づく制御を実現できないことである。既存の方式は、独自に定義した効用関数の値を元に制御を行っているため、その制御を適用することが必ずしもITU-Tで規定されたQoEを最大化することにつながるとは限らない。また、ITU-T規定のQoEは平均再生停止間隔や忘却効果など、従来考慮していなかった要素を考慮したモデルとなっているため、既存の方式の目的関数を置き換えるだけで適用することもできない。
【００１２】
二つ目の課題は、通信のトラヒック量が増大してしまうという点である。トラヒック量が多くなることは、配信事業者、ネットワーク事業者、ユーザそれぞれにとってデメリットをもたらす。配信事業者にとっては、トランジット量が高くなるため、サービス維持にかかる費用が高くなってしまう。ネットワーク事業者にとっては、増え続ける動画トラヒックに対応して設備を増強するため、CAPEXが増加してしまう。ユーザにとっては、月あたりのデータ通信量制限に引っかかってしまう可能性が高くなる。容易に推定可能なトラヒック量削減方式として、最低ビットレートを選び続ける方式が考えられる。この方式は、トラヒック量を削減することはできるものの、QoEを同時に管理することはできない。
【００１３】
本発明は、上記の点に鑑みてなされたものであり、動画配信サービスを利用する際に、ITU-Tで規定されたQoEに基づく制御を行いながら、トラヒック量を抑えることを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【００１４】
開示の技術によれば、動画配信サービスにおいて配信サーバから配信される動画データのビットレートを選択する動画品質制御装置であって、
前記配信サーバから動画データをダウンロードする際のスループットを推定するスループット推定手段と、
前記スループット推定手段により推定されたスループットに基づいて、選択可能な複数のビットレート系列のそれぞれに対するQoEを推定し、推定されたQoEが所与の目標値以上となり、かつ、トラヒック量が最小となるビットレート系列におけるビットレートを選択するビットレート選択手段と
を備えることを特徴とする動画品質制御装置が提供される。
【発明の効果】
【００１５】
開示の技術によれば、動画配信サービスを利用する際に、ITU-Tで規定されたQoEに基づく制御を行いながら、トラヒック量を抑えることが可能となる。
【図面の簡単な説明】
【００１６】
【図１】ABR方式を説明するための図である。
【図２】本発明の実施の形態におけるシステム構成図である。
【図３】動画再生装置３００の処理動作の概要を説明するためのフローチャートである。
【図４】本発明の実施の形態における装置のハードウェア構成図である。
【図５】使用する記号をまとめた図である。
【図６】実施例１におけるビットレート選択ユニット２０２が実行する処理手順に対応する擬似コードである。
【発明を実施するための形態】
【００１７】
以下、図面を参照して本発明の実施の形態（本実施の形態）を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。例えば、再生停止状態の推定方法として、以下で説明する方法以外の方法を使用してもよい。
【００１８】
（実施の形態の概要）
本実施の形態では、上述した２つの課題を解決するために、新たなビットレート選択制御方式を使用する。本実施の形態におけるビットレート選択制御方式では、QoEの目標値が与えられ、後述する動画再生装置３００が、そのQoE目標値を達成するビットレート系列のうち、最もトラヒック量が少なくすむビットレート系列を選択する。
【００１９】
まず、第一の課題を解決するために、あるビットレート系列を選択したとき、初期時刻t0からh秒後(hは事前に決められているものとする)のQoEを、全てのビットレート系列パターンについて計算する。
【００２０】
より具体的には、まずt0からh秒後までの各時刻のスループットの値を推定し、各時刻のスループットの値を有する推定スループット系列を得る。次に推定スループット系列とビットレート系列から、再生停止状態の予測を行う。最後に、ビットレート系列と再生停止状態から、QoEの計算を行う。そして、得られたビットレート系列とQoEの組み合わせの中から、QoEが目標値以上となる系列のみを選び出す。このような制御により、ITU-Tで規定されたQoEの定義に基づく制御が実現される。
【００２１】
次に、第二の課題を解決するために、得られたビットレート系列群（QoEが目標値以上となる系列群）から、最もトラヒック量が少なくなるビットレート系列を選択する。トラヒック量は、ビットレート系列の各ビットレートとチャンクサイズとを掛けた値の和で計算する。そして、選ばれたビットレート系列の先頭要素を選択ビットレートとする。なお、先頭要素を選択することは一例である。
【００２２】
上記のようにビットレート系列を選択することで、過剰な品質を抑えながら、トラヒック量を抑えたビットレート選択が実現される。
【００２３】
所与と仮定したQoE目標値は、配信事業者が設定してもよいし、ユーザが設定してもよい。例えば、QoE=2.5にすれば、ユーザ全体の50%が普通以上だと感じる品質を実現でき、QoE=3.5にすれば、ユーザ全体の90%が普通以上だと感じる品質を実現することができる。また、QoE=5.0にすれば、与えられたネットワーク品質の中でQoEが最高になる動画配信を実現することも可能となる。
【００２４】
（システム構成）
図２に、本発明の実施の形態におけるシステム構成例を示す。図２に示すように、本実施の形態のシステムは、動画再生装置３００と配信サーバ４００を有する。動画再生装置３００と配信サーバ４００との間はネットワークで接続される。
【００２５】
配信サーバ４００は、図１を参照して説明したようなABR方式の動画配信を実行するサーバである。動画再生装置３００は、配信サーバ４００から配信される動画データ（チャンク）を受信し、再生するとともに、ビットレート選択処理を実行する。
【００２６】
図２に示すとおり、動画再生装置３００は、動画再生部１００とビットレート選択部２００を有する。動画再生部１００は、動画再生ユニット１０１と、ユーザインターフェース１０２を有し、ビットレート選択部２００は、スループット推定ユニット２０１と、ビットレート選択ユニット２０２を有する。
【００２７】
動画再生装置３００の処理動作の概要を図３のフローチャートを参照して説明する。ユーザインターフェース１０２から視聴要求を受け付ける（ステップＳ１）と、動画再生ユニット１０１から、ビットレート選択ユニット２０２に対してビットレート選択要求を行う（ステップＳ２）。当該ビットレート選択要求には、動画再生ユニット１０１における現在のバッファ長とこれまでのスループット系列（時系列のスループットの実績値）が含まれ、これらがビットレート選択ユニット２０２に対して入力として与えられる。
【００２８】
ビットレート選択ユニット２０２は、後述するアルゴリズムに従ってビットレートを決定し、動画再生ユニット１０１に通知する（ステップＳ３）。動画再生ユニット１０１は、配信サーバ４００に対して、ビットレート選択ユニット２０２により決定されたビットレートのチャンクの要求を行い、受信したチャンクを再生する（ステップＳ４）。再生においては、図１（ｂ）に示したように、チャンクの受信、バッファへの格納、再生が順次行われる。
【００２９】
動画再生ユニット１０１からビットレート選択ユニット２０２へのビットレート選択要求は、各チャンクの受信完了ごとに行ってもよいし、一定チャンク数受信完了ごと、もしくは一定時間経過ごとに行ってもよい。
【００３０】
なお、図２に示す構成は、１つの装置（動画再生装置３００）に動画再生部１００とビットレート選択部２００を備えることとしているが、これは一例に過ぎない。例えば、動画再生部１００を動画再生装置３００とし、ビットレート選択部２００を動画再生装置３００とは別の装置としてもよい。この場合、動画再生装置３００と、ビットレート選択部２００としての別の装置はネットワークにより接続される。この別の装置を動画品質制御装置と称してもよい。また、図２に示す動画再生装置３００を動画品質制御装置と称してもよい。
【００３１】
上述した各装置（図２に示す動画再生装置３００、動画再生部１００のみを含む動画再生装置３００、別の装置）はいずれも、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、当該装置が有する機能は、コンピュータに内蔵されるＣＰＵやメモリ等のハードウェア資源を用いて、当該装置で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体（可搬メモリ等）に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
【００３２】
図４は、本実施の形態における上記装置のハードウェア構成例を示す図である。図４の装置は、それぞれバスＢで相互に接続されているドライブ装置１５０、補助記憶装置１５２、メモリ装置１５３、ＣＰＵ１５４、インタフェース装置１５５、表示装置１５６、及び入力装置１５７等を有する。
【００３３】
当該装置での処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ又はメモリカード等の記録媒体１５１によって提供される。プログラムを記憶した記録媒体１５１がドライブ装置１５０にセットされると、プログラムが記録媒体１５１からドライブ装置１５０を介して補助記憶装置１５２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１５１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１５２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００３４】
メモリ装置１５３は、プログラムの起動指示があった場合に、補助記憶装置１５２からプログラムを読み出して格納する。ＣＰＵ１５４は、メモリ装置１５３に格納されたプログラムに従って当該装置に係る機能を実現する。インタフェース装置１５５は、ネットワークに接続するためのインタフェースとして用いられる。表示装置１５６はプログラムによるＧＵＩ（Graphical User Interface）等を表示する。入力装置１５７はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。
【００３５】
（ビットレート選択処理の詳細）
以下、ビットレート選択部２００が実行するビットレート選択処理を詳細に説明する。以下では、ビットレートの選択を1チャンク単位で行う場合の例を実施例１として説明し、ビットレートの選択をh0チャンク単位で行う場合の例を実施例２として説明する。
【００３６】
（実施例１：ビットレートの選択を1チャンク単位で行う場合）
まず、実施例１におけるビットレート選択部２００が実行するビットレート選択処理について説明する。説明時に使用する記号をまとめて図５に示すとともに、以下に記載する。これらの記号の定義は実施例２でも同様である。
【００３７】
なお、明細書本文における使用可能文字の関係から、図５に示した各記号は、明細書本文では下記のとおりの文字を使用して表現する。以下、「・記号：意味」を記載している。以下に示すように、例えば、「平均」については、文字の頭にバーを付ける代わりに、aveの文字を付けて表現している。なお、各閾値、目標値は、予めビットレート選択部２００に格納される。
【００３８】
・t : 時刻
・bt : 時刻tにおけるバッファ長
・r : 選択ビットレート系列
・ri : i番目のチャンクの選択ビットレート
・li : i番目のチャンク長
・ct : 時刻t-1からtにおける実測スループット
・~ct : 時刻t-1からtにおける予測スループット
・xt : 時刻tで受信するなら1,そうでなければ0をとる変数
・yt : 時刻tで受信しきれなかったビット量
・nt : 時刻tまでに受信が始まったチャンク数
・pt : 時刻tで再生中なら1, 停止中なら0をとる変数
・sdt : 時刻tまでの累計停止間隔
・slt : 時刻tまでの累計停止時間
・snt : 時刻tまでの累計停止回数
・sdave : 平均停止間隔
・slave : 平均停止時間
・sn : 停止回数
・Tlow : バッファ長の下限を表す閾値
・Thigh : バッファ長の上限を表す閾値
・L : 動画長
・N : 動画のチャンク数
・h : 予測ホライズン
・f(r, sn, sdave, slave): QoEを求める関数
・qt : 時刻tにおけるQoE
・Tq : QoE目標値
・Tb : バッファ長閾値
なお、上記の「時刻tで受信しきれなかったビット量」とは、時刻t-1から時刻tまでの間に受信を開始したチャンクの内、時刻tにおいて受信が完了していないデータのビット量を指す。また、「累計停止間隔」とは、停止間隔の累計時間を意味する。例えば3回停止が発生し、1回目が1秒~5秒、2回目が10秒〜13秒、3回目が15秒〜20秒であった場合、停止間隔は5秒、2秒なので、累計停止間隔は7秒となる。停止回数が2回未満の場合、この値は0となる。
【００３９】
現在の時刻をt0としたとき、スループット推定ユニット２０１は、t0+h秒までのスループットを推定する。推定された結果は、t0秒からt0+h秒までの１秒毎の推定スループットからなるスループット系列である。また、ここでのスループットは、動画再生装置３００が配信サーバ４００から配信される動画データをダウンロードする際のスループットである。なお、スループットはネットワーク品質の一例であり、ネットワーク品質としてスループット以外の指標を使用してもよい。スループットを推定する方式は任意のものを利用してよい。例えば、調和平均を用いて以下の式によって逐次的に計算できる。
【数１】
2019016961.tif 000003
【００４０】
上記の式において、cは予め定められた正の整数である。また、スループット推定ユニット２０１は、過去のネットワーク品質情報を用いて将来のスループットを計算してもよい。得られたスループット系列は、ビットレート選択ユニット２０２に渡される。
【００４１】
次に、ビットレート選択ユニット２０２は、推定されたスループットである~ctを利用して、ビットレートの選択を行う。本実施例では、選択可能なビットレート系列に対してqt0+h、bt0+hを計算し、qt0+h≧Tqかつbt0+h≧Tbとなる系列のうち、最もトラヒック量が少ない系列の要素のビットレートを選択する。このとき、hは十分大きな値としてもよいし、数十秒程度の値にしてもよい。また、hを十分大きくした場合、バッファ長の条件（bt0+h≧Tb）を削ってもよい。
【００４２】
図６に、ビットレート選択ユニット２０２が実行する処理手順に対応する擬似コードを示す。以下、当該擬似コードに従って、ビットレート選択ユニット２０２が実行する処理内容を説明する。
【００４３】
１行目では、以下の式に従って、候補ビットレート系列r^の初期化を行う。
r^={rmin, rmin, … , rmin}
ここで、rminは、用意されたビットレート群の中で最も低いビットレートである。例えば図１に示したように500kbps、1000kbps、2000kbpsのビットレート群があった場合には、rmin = 500kbpsとなる。
【００４４】
２行目〜１１行目では、選択可能なrについてそれぞれ処理が実行される。例えば、500kbps、1000kbps、2000kbpsのビットレート群があるとして、t0秒からt0+h秒までの間に、３回のビットレート選択を行うとすると、選択可能なrとは、 {500kbps, 500kbps, 500kbps}、{1000kbps, 500kbps, 500kbps}、...、{2000kbps, 2000kbps, 2000kbps}などのビットレートの組み合わせになる。例えば、{1000kbps, 500kbps, 500kbps}は、最初に1000kbpsのチャンクを選択し、次に500kbpsのチャンクを選択し、その次に500kbpsのチャンクを選択することを意味する。
【００４５】
３行目では、次の式に従って各変数が初期化される：t=t0, x0=1, n0=1, p0=0, y0=0, b0=0, sl0 =0, sd0 =0, sn0 =0。
【００４６】
４行目〜７行目では、時間を１秒づつ進めながら、各変数が更新される。５行目のcalculateの処理内容は下記のとおりである。
【００４７】
xtは、下記の式に示すとおり、直前のバッファ長が閾値Thighを超えているかどうかで判定される。
【数２】
2019016961.tif 000004
【００４８】
判定の結果、xt=0の場合、その時刻ではチャンクの受信を行わないため、各変数は次のように更新される：nt= nt-1, pt=1, yt=0, bt= bt-1, snt = s n t-1, slt = s l t-1, sdt = s d t-1。
【００４９】
判定の結果、xt=1の場合、ntは、時刻tまでにチャンクを最後まで受信可能な場合、時刻tまでにチャンクを一つも受信しきれない場合、時刻tまでに1つ以上のチャンクを受信可能な場合の３つの場合に分けて計算する。
【００５０】
まず、補助変数として以下の式に示すようにgi,t, hi,tを導入する。gi,tは、時刻tにおいてi番目のチャンクまで受信完了したときの、t-1からtまでに受信したビット量を表し、hi,tは、時刻tにおいてi番目のチャンクまで受信完了したときのバッファ長を表す。
【数３】
2019016961.tif 000005
【数４】
2019016961.tif 000006
【００５１】
gi,t, hi,tを利用して、ntは以下のようにして算出される。
【数５】
2019016961.tif 000007
【００５２】
上記の右辺の式における１番目（最上段）は、時刻tまでにチャンクを最後まで受信可能な場合に対応し、２番目（中断）は、時刻tまでにチャンクを一つも受信しきれない場合に対応し、３番目（最下段）は、時刻tまでにチャンクを1つ以上受信可能な場合に対応する。３番目の式は、ビット量が予測スループットよりも小さく、かつ、バッファ長が、バッファ長の上限以下となる最大のチャンク数mをntとするものである。
【００５３】
次に、ytを計算する。ytは、チャンク受信中にバッファ長がThighに達したときは0となり、それ以外のときは受信を開始したビット量とネットワーク帯域（予測スループット）の差で表される。すなわち、ytは以下の式で計算される。
yt =max(gnt,t - ~ct, 0)
なお、上記の式の中の「gnt,t」の添字において、ntをntと表記している。再生状態を表すptは、再生開始 (再開)前かつバッファ長が閾値に達していないとき、及びバッファが枯渇したときには0となり、それ以外のときには1となるため、以下のように計算される。
【数６】
2019016961.tif 000008
【００５４】
バッファ長btは、再生状態と受信するチャンク数に応じて以下のように計算される。
【数７】
2019016961.tif 000009
【００５５】
再生状態を表すsnt, slt, sdt,は下記のように更新される。ただし、Δx= xt - xt-1とする。
snt =max(Δx, 0)+ s n t-1
slt =1- xt + s l t-1
sdt = max(-Δx, 0)・(t+1-max{i|xi = 0})+ s d t-1
図６の６行目では、時刻を１だけ進める。tがt0+hに達すると、t0+hでの各変数の値が得られる。
【００５６】
続いて、８行目ではまず、以下の式に従ってQoEを求めるために必要な値を算出する。
【数８】
2019016961.tif 000010
【００５７】
次に、以下の式に従ってqt0+hを求める。
qt0+h = f(r, sn, sdave,slave)
上記の関数f()として、例えば、ITU-T規定のQoE算出のためのモデルを使用することができる。また、ITU-T規定のモデル以外のモデルを使用してもよい。
【００５８】
９行目では、「時刻t0+hにおけるQoEが閾値以上、かつ、バッファ長が閾値以上、かつ、現在対象としている選択ビットレート系列rが、現在の候補ビットレート系列r^と比較して、トラヒック量が少ない」かどうかを判定し、全て満たす場合には、10行目で、現在対象としている選択ビットレート系列rで候補ビットレート系列r^を更新する。
【００５９】
３〜１１行目が各rについて計算され、１３行目において、候補ビットレート系列の(nt-1+1)番目の要素である
【数９】
2019016961.tif 000011
【００６０】
を最終的な選択ビットレートとして出力する。(nt-1+1)番目の要素とする理由は、nt-1番目の要素は受信が開始されているので、その次の要素を配信サーバに要求するチャンクのビットレートとするためである。ただし、複数チャンク受信完了ごとにビットレート選択要求が出される場合、
【数１０】
2019016961.tif 000012
【００６１】
を先頭要素とした複数のビットレート系列を返してもよい。
【００６２】
例えば、最終的にr^=(500,1000,2000,1000,500)となり、nt-1=2であるとすると、nt-1+1=３番目の2000が出力される。また、2チャンク受信完了ごとにビットレート選択要求を出す場合、３番目と４番目の要素である2000、1000が出力される。
【００６３】
（実施例２： ビットレートの選択をh0チャンク単位で行う場合）
実施例１におけるビットレート選択を実行する場合、探索空間が広くなるため、再生クライアントである動画再生装置３００の処理能力の大きさによっては実時間内に探索が終わらなくなる可能性がある。そのため、ビットレートの選択を１チャンク単位ではなく、h0（h0＞1）チャンク単位で行った場合の実施例を実施例２とする。本実施例における擬似コードは実施例１と同様だが、最終的に返す値は配列
【数１１】
2019016961.tif 000013
【００６４】
とする。すなわち、候補ビットレート系列r^の(nt-1+1)番目、(nt-1+2)番目、….. (nt-1+ h0)番目の要素が返される。
【００６５】
（実施の形態の効果）
本実施の形態によれば、ITU-T規定のQoEに基づき、過剰な品質を抑えながら、トラヒック量をできる限り抑えることが可能となる。そのため、QoEを適切な基準に保ちながら、動画配信事業者はトランジット料金を抑えることが可能になり、ネットワーク事業者はCAPEXを抑えることが可能となり、ユーザは月あたりに利用可能なデータ通信量を節約することが可能となる。
【００６６】
（実施の形態のまとめ）
以上、説明したように、本実施の形態によれば、動画配信サービスにおいて配信サーバから配信される動画データのビットレートを選択する動画品質制御装置であって、
前記配信サーバから動画データをダウンロードする際のスループットを推定するスループット推定手段と、
前記スループット推定手段により推定されたスループットに基づいて、選択可能な複数のビットレート系列のそれぞれに対するQoEを推定し、推定されたQoEが所与の目標値以上となり、かつ、トラヒック量が最小となるビットレート系列におけるビットレートを選択するビットレート選択手段と
を備えることを特徴とする動画品質制御装置が提供される。
【００６７】
実施の形態における動画再生装置３００、スループット推定ユニット２０１、ビットレート選択ユニット２０２はそれぞれ、動画品質制御装置、スループット推定手段、ビットレート選択手段の例である。
【００６８】
前記ビットレート選択手段は、前記推定されたQoEが所与の目標値以上となり、かつ、動画再生部におけるバッファ長が所与の閾値以上となり、かつ、トラヒック量が最小となるビットレート系列におけるビットレートを選択することとしてもよい。
【００６９】
前記ビットレート選択手段は、例えば、計算対象のビットレート系列におけるビットレートと、当該ビットレートの動画データサイズとを掛けることにより前記トラヒック量を算出する。
【００７０】
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００７１】
１００  動画再生部
１０１  動画再生ユニット
１０２  ユーザインターフェース
２００  ビットレート選択部
２０１  スループット推定ユニット
２０２  ビットレート選択ユニット
３００  動画再生装置
４００  配信サーバ
１５０  ドライブ装置
１５１  記録媒体
１５２  補助記憶装置
１５３  メモリ装置
１５４  ＣＰＵ
１５５  インタフェース装置
１５６  表示装置
１５７  入力装置
【図１】
2019016961.tif 000014
【図２】
2019016961.tif 000015
【図３】
2019016961.tif 000016
【図４】
2019016961.tif 000017
【図５】
2019016961.tif 000018
【図６】
2019016961.tif 000019