IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本放送協会の特許一覧

特許7211845動画セグメントの画質及び経路を判定する判定サーバ及びプログラム
<>
  • 特許-動画セグメントの画質及び経路を判定する判定サーバ及びプログラム 図1
  • 特許-動画セグメントの画質及び経路を判定する判定サーバ及びプログラム 図2
  • 特許-動画セグメントの画質及び経路を判定する判定サーバ及びプログラム 図3
  • 特許-動画セグメントの画質及び経路を判定する判定サーバ及びプログラム 図4
  • 特許-動画セグメントの画質及び経路を判定する判定サーバ及びプログラム 図5
  • 特許-動画セグメントの画質及び経路を判定する判定サーバ及びプログラム 図6
  • 特許-動画セグメントの画質及び経路を判定する判定サーバ及びプログラム 図7
  • 特許-動画セグメントの画質及び経路を判定する判定サーバ及びプログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-01-16
(45)【発行日】2023-01-24
(54)【発明の名称】動画セグメントの画質及び経路を判定する判定サーバ及びプログラム
(51)【国際特許分類】
   H04N 21/2381 20110101AFI20230117BHJP
   H04L 45/302 20220101ALI20230117BHJP
   H04N 17/00 20060101ALI20230117BHJP
   H04N 21/24 20110101ALI20230117BHJP
【FI】
H04N21/2381
H04L45/302
H04N17/00 A
H04N21/24
【請求項の数】 5
(21)【出願番号】P 2019027981
(22)【出願日】2019-02-20
(65)【公開番号】P2020136906
(43)【公開日】2020-08-31
【審査請求日】2021-12-28
(73)【特許権者】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】100121119
【弁理士】
【氏名又は名称】花村 泰伸
(72)【発明者】
【氏名】関口 頌一朗
(72)【発明者】
【氏名】福留 大貴
(72)【発明者】
【氏名】西村 敏
(72)【発明者】
【氏名】山本 正男
【審査官】鈴木 順三
(56)【参考文献】
【文献】特開2015-104075(JP,A)
【文献】特開2003-230125(JP,A)
【文献】特表2002-517943(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00 - 21/858
H04L 45/00 - 49/9057
H04N 17/00 - 17/06
(57)【特許請求の範囲】
【請求項1】
5Gネットワーク内に設置された配信サーバ、または前記5Gネットワーク外の所定のネットワーク内に設置された配信サーバから、動画セグメントを端末へダウンロードする動画配信システムにおいて、前記5Gネットワーク内に設置され、前記動画セグメントがダウンロードされる際の画質及び経路を判定する判定サーバであって、
前記端末から、前記動画セグメントのダウンロードに伴い生成された視聴の状況に関する視聴データを受信すると共に、前記5Gネットワーク内に設置されたネットワークスイッチから、前記動画セグメントのダウンロードの際の前記ネットワークスイッチを経由する動画フローに伴い生成された前記5Gネットワークの状況に関するネットワークデータを受信する通信部と、
前記通信部により受信された前記視聴データ及び前記ネットワークデータに基づいて、前記画質及び前記経路を予測する予測部と、
を備えたことを特徴とする判定サーバ。
【請求項2】
請求項1に記載の判定サーバにおいて、
前記視聴データには、前記端末により前記動画セグメントが蓄積されたバッファの残量が含まれており、
前記ネットワークデータには、前記端末及び他の端末が前記ネットワークスイッチを経由して、前記5Gネットワーク内に設置された前記配信サーバ及び前記5Gネットワーク外の前記所定のネットワーク内に設置された前記配信サーバのそれぞれからダウンロードする前記動画セグメントのフローの数が含まれている、ことを特徴とする判定サーバ。
【請求項3】
請求項1または2に記載の判定サーバにおいて、
前記予測部は、
前記視聴データ及び前記ネットワークデータをDNN(ディープニューラルネットワーク)に入力し、前記DNNの演算により、複数の前記画質及び前記経路の組み合わせのそれぞれについて、評価値を予測する予測器と、
前記予測器により予測された複数の組み合わせの前記評価値のうち、最大の前記評価値に対応する前記画質及び前記経路を選択する選択器と、
を備えたことを特徴とする判定サーバ。
【請求項4】
請求項3に記載の判定サーバにおいて、
前記DNNは、
DQN(ディープQネットワーク)の深層強化学習により最適化された重みが用いられ、
前記深層強化学習に用いる報酬関数の変数として、前記端末がダウンロードする前記動画セグメントのビットレート、前記端末が前記動画セグメントをダウンロードしたときのバッファ枯渇時間、前記端末が前記動画セグメントをダウンロードしたときのバッファ残量、及び、前記端末が前記動画セグメントをダウンロードするのに要するダウンロード時間のうち、少なくとも1つが用いられる、ことを特徴とする判定サーバ。
【請求項5】
コンピュータを、請求項1から4までのいずれか一項に記載の判定サーバとして機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、動画配信システムにおいて、動画セグメントの画質及び経路を判定する判定サーバ及びプログラムに関する。
【背景技術】
【0002】
従来、スマートフォンをはじめとする携帯型視聴端末が広く普及し、これらの端末を用いて携帯回線を介して映像の視聴を行うことが一般的になっている。このため、携帯回線では、動画視聴のためのトラフィックが増大している。
【0003】
このような携帯回線においては、複数の携帯電話通信キャリア会社により同じネットワーク上で通信が行われ、かつ端末自体が移動することから、通信速度の低下が生じやすい。
【0004】
通信速度の変動が発生した場合であっても安定的に動画を視聴する技術として、回線の混雑状況に応じたビットレートで視聴を行う方式がある(例えば、特許文献1、非特許文献1,2を参照)。この方式は、端末が回線の混雑状況に応じて適応的にビットレートを選択することから、HAS(HTTP Adaptive Streaming)と呼ばれる。
【0005】
つまり、ユーザが安定的に動画を視聴するために、端末は、動画セグメントを取得する際に、そのときの状況に見合う画質及び経路を決定する。具体的には、端末は、当該端末自体において、現時点のバッファ量、過去のスループットの履歴等の視聴に関する指標データに基づいて、動画セグメントの画質及び経路を決定する。
【0006】
ところで、従来の第4世代携帯電話に代わる新たな移動体通信方式として、第5世代移動通信システムの開発が進められている。この第5世代移動通信システムによる5Gネットワーク世代の技術としては、通信の大容量、超低遅延化及び仮想的なネットワーク経路の構築により、柔軟なネットワークフロー制御が見込まれている。
【0007】
ここで、5Gネットワークとは、従来の第4世代携帯電話に代わる第5世代移動通信システムのネットワークをいい、10Gbpsを超える通信速度、携帯電話のデータ通信方式であるLTEの約1000倍の大容量化等が予定されている。
【0008】
5Gネットワーク内に動画配信を行うサーバを設置することにより、高速かつ低遅延な動画ストリーミングを実現することができるため、より安定的、高画質かつ低遅延な動画視聴を実現することが期待される。
【先行技術文献】
【特許文献】
【0009】
【文献】特表2016-506644号公報
【非特許文献】
【0010】
【文献】“ABR Logic”、[online]、GitHub,Inc.、[平成31年2月14日検索]、インターネット<URL:https://github.com/Dash-Industry-Forum/dash.js/wiki/ABR-Logic>
【文献】“After Graduate School dash.js:ビットレート制御を図にしてまとめてみた”、[online]、[平成31年2月14日検索]、インターネット<URL:http://testen.wp.xdomain.jp/2017/09/15/dash-js-%E3%83%93%E3%83%83%E3%83%88%E3%83%AC%E3%83%BC%E3%83%88%E5%88%B6%E5%BE%A1%E3%82%92%E5%9B%B3%E3%81%AB%E3%81%97%E3%81%A6%E3%81%BE%E3%81%A8%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F/>
【発明の概要】
【発明が解決しようとする課題】
【0011】
このような5Gネットワークを含む動画配信システムにおいても、効率的に動画配信を行うために、CDN(Contents Delivery Network)を用いることが想定される。CDNは、端末に近いPoP(Point of Presence:配信拠点)に、動画のコピーを保持するサーバを配置し、当該サーバから端末へ動画を配信するネットワークである。
【0012】
5Gネットワークを含む動画配信システムにおいても、端末が動画セグメントをダウンロードする際に、そのときの状況に見合う画質及び経路を決定する必要がある。
【0013】
しかしながら、通信の大容量、超低遅延化等を実現する5Gネットワークにより動画配信サービスの利用が増大し、5Gネットワーク内に設置されたサーバへのアクセスが集中することが想定される。これでは、回線状況が悪化し、視聴品質を損なう可能性がある。
【0014】
このような問題を解決するために、CDN内に設置されたサーバからの動画配信と、5Gネットワーク内に設置されたサーバからの動画配信とを適切に切り替えることが必要となる。
【0015】
このため、動画セグメントの画質及び経路を決定する際には、端末により生成される現時点のバッファ量等の視聴に関する指標データに加え、配信経路上の5Gネットワーク機器により生成される5Gネットワークに関する指標データを用いることが所望される。これらの指標データを用いることで、より効果的な動画セグメントの画質及び経路を決定できることが見込まれるからである。
【0016】
しかしながら、5Gネットワークに関する指標データは、5Gネットワーク内の状況が反映されたデータであるため、5Gネットワークの外部の装置が当該指標データを取得することができない。そこで、5Gネットワークに関する指標データを、5Gネットワークの外部へ送信する仕組みが所望されていた。
【0017】
このように、5Gネットワークを含む動画配信システムにおいて、5Gネットワークに関する指標データを用いることで、効率的な動画配信を実現できるものと想定される。
【0018】
そこで、本発明は前記課題を解決するためになされたものであり、その目的は、5Gネットワークを含む動画配信システムにおいて、視聴に関する指標データに加え、5Gネットワークに関する指標データを用いて動画セグメントの画質及び経路を判定することで、視聴の高品質化及び安定化を図ることが可能な判定サーバ及びプログラムを提供することにある。
【課題を解決するための手段】
【0019】
前記課題を解決するために、請求項1の判定サーバは、5Gネットワーク内に設置された配信サーバ、または前記5Gネットワーク外の所定のネットワーク内に設置された配信サーバから、動画セグメントを端末へダウンロードする動画配信システムにおいて、前記5Gネットワーク内に設置され、前記動画セグメントがダウンロードされる際の画質及び経路を判定する判定サーバであって、前記端末から、前記動画セグメントのダウンロードに伴い生成された視聴の状況に関する視聴データを受信すると共に、前記5Gネットワーク内に設置されたネットワークスイッチから、前記動画セグメントのダウンロードの際の前記ネットワークスイッチを経由する動画フローに伴い生成された前記5Gネットワークの状況に関するネットワークデータを受信する通信部と、前記通信部により受信された前記視聴データ及び前記ネットワークデータに基づいて、前記画質及び前記経路を予測する予測部と、を備えたことを特徴とする。
【0020】
また、請求項2の判定サーバは、請求項1に記載の判定サーバにおいて、前記視聴データには、前記端末により前記動画セグメントが蓄積されたバッファの残量が含まれており、前記ネットワークデータには、前記端末及び他の端末が前記ネットワークスイッチを経由して、前記5Gネットワーク内に設置された前記配信サーバ及び前記5Gネットワーク外の前記所定のネットワーク内に設置された前記配信サーバのそれぞれからダウンロードする前記動画セグメントのフローの数が含まれている、ことを特徴とする。
【0021】
また、請求項3の判定サーバは、請求項1または2に記載の判定サーバにおいて、前記予測部が、前記視聴データ及び前記ネットワークデータをDNN(ディープニューラルネットワーク)に入力し、前記DNNの演算により、複数の前記画質及び前記経路の組み合わせのそれぞれについて、評価値を予測する予測器と、前記予測器により予測された複数の組み合わせの前記評価値のうち、最大の前記評価値に対応する前記画質及び前記経路を選択する選択器と、を備えたことを特徴とする。
【0022】
また、請求項4の判定サーバは、請求項3に記載の判定サーバにおいて、前記DNNが、DQN(ディープQネットワーク)の深層強化学習により最適化された重みが用いられ、前記深層強化学習に用いる報酬関数の変数として、前記端末がダウンロードする前記動画セグメントのビットレート、前記端末が前記動画セグメントをダウンロードしたときのバッファ枯渇時間、前記端末が前記動画セグメントをダウンロードしたときのバッファ残量、及び、前記端末が前記動画セグメントをダウンロードするのに要するダウンロード時間のうち、少なくとも1つが用いられる、ことを特徴とする。
【0023】
さらに、請求項5のプログラムは、コンピュータを、請求項1から4までのいずれか一項に記載の判定サーバとして機能させることを特徴とする。
【発明の効果】
【0024】
以上のように、本発明によれば、5Gネットワークを含む動画配信システムにおいて、視聴に関する指標データに加え、5Gネットワークに関する指標データも用いて動画セグメントの画質及び経路を判定するようにした。これにより、視聴の高品質化及び安定化を図ることができる。
【図面の簡単な説明】
【0025】
図1】本発明の実施形態による判定サーバを含む動画配信システムの全体構成例を示す概略図である。
図2】動画配信システムの処理例の概略を示すフローチャートである。
図3】動画配信システムの処理例の概略を説明する図である。
図4】視聴に関する指標データの例を説明する図である。
図5】ネットワークに関する指標データの例を説明する図である。
図6】判定サーバの構成例を示すブロック図である。
図7】判定サーバの処理例を示すフローチャートである。
図8】予測部を説明する図である。
【発明を実施するための形態】
【0026】
以下、本発明を実施するための形態について図面を用いて詳細に説明する。動画配信システムにおいては、ユーザである視聴者の視聴体験の質を向上させるために、できる限り高画質の動画を配信することが望ましい。しかし、高画質の動画を配信すると、回線の輻輳を招き、動画セグメントのダウンロード速度が動画の再生速度より遅くなり、端末に備えたバッファが枯渇して視聴が停止する可能性がある。そこで、端末では、高画質の動画を受信しながら、バッファが枯渇して視聴が停止しないように、動画を安定的に受信することが必要となる。
【0027】
本発明では、5Gネットワークを含む動画配信システムにおいて、配信サーバが設置された5Gネットワーク内に判定サーバを設置する。本発明の判定サーバは、端末により生成された視聴に関する指標データ、及び5Gネットワーク内のネットワークスイッチにより生成された5Gネットワークに関する指標データに基づいて、動画セグメントの画質及び経路を判定することを特徴とする。
【0028】
これにより、5Gネットワーク内に判定サーバが設置されることで、判定サーバは、端末から視聴に関する指標データを取得すると共に、5Gネットワーク内のネットワークスイッチから5Gネットワークに関する指標データを取得することができる。
【0029】
このように、動画セグメントの画質及び経路は、視聴に関する指標データに加え、5Gネットワークに関する指標データを用いて判定される。したがって、CDN内に設置された配信サーバからの動画配信と、5Gネットワーク内に設置された配信サーバからの動画配信とを適切に切り替えることができ、視聴の高品質化及び安定化を図ることができる。
【0030】
〔動画配信システム:構成〕
まず、本発明の実施形態による判定サーバを含む動画配信システムの構成について説明する。図1は、本発明の実施形態による判定サーバを含む動画配信システムの全体構成例を示す概略図である。
【0031】
この動画配信システムは、端末1、基地局2、5Gネットワーク6、インターネット7及びCDN9により構成される。端末1と基地局2とは、例えば携帯電話の無線回線により接続される。
【0032】
ネットワークスイッチ3、判定サーバ4及び配信サーバ5は、5Gネットワーク6内に設置された装置であり、CDNサーバ(配信サーバ)8は、CDN9内に設置された装置である。5Gネットワーク6は、携帯電話通信キャリア会社が5Gネットワーク6によるサービスを実現するために展開、運用及び管理しているネットワークである。5Gネットワーク6内のネットワークスイッチ3と、CDN9内のCDNサーバ8とは、インターネット7を介して接続される。
【0033】
端末1は、ユーザの操作に従い、携帯電話の無線回線を利用して、配信サーバ5またはCDNサーバ8から動画セグメントをダウンロードする。これにより、端末1を操作するユーザは、動画を視聴することができる。端末1は、例えばスマートフォン等の携帯端末、パーソナルコンピュータである。
【0034】
具体的には、端末1は、動画セグメントのダウンロードに伴い、視聴に関する指標データを生成し、次の動画セグメントをダウンロードする際に、視聴に関する指標データを判定サーバ4へ送信する。そして、端末1は、次の動画セグメントの画質及び経路の判定結果を判定サーバ4から受信する。視聴に関する指標データの詳細については後述する。
【0035】
つまり、端末1は、判定サーバ4から受信した判定結果に従い、次にダウンロードする動画セグメントの画質及び経路を判断する。そして、端末1は、当該経路の示す配信サーバ5またはCDNサーバ8へリクエストを送信することで、配信サーバ5またはCDNサーバ8から、当該画質の動画セグメントを取得する。
【0036】
尚、図1には1台の端末1が記載されているが、実際は、配信サーバ5またはCDNサーバ8からネットワークスイッチ3を介して、動画セグメントを取得する複数の端末1が存在する。
【0037】
基地局2は、端末1との間で通信を行うためのアンテナを備え、端末1と5Gネットワーク6との間でデータの送受信を行う。
【0038】
ネットワークスイッチ3は、5Gネットワーク6のスイッチングを行う機器のうち、動画が配信される経路上に位置する機器、すなわち5Gネットワーク6内に存在する動画フローを制御する機器である。5Gネットワーク6のスイッチングを行う機器とは、ネットワークフローのスイッチングを実施する物理的または仮想的なネットワークスイッチ、及び当該ネットワークスイッチの制御を行うネットワークコントローラである。
【0039】
ネットワークスイッチ3は、動画フローの制御に伴い、5Gネットワーク6に関する指標データ(以下、「ネットワークに関する指標データ」という。)を生成し、当該指標データを判定サーバ4へ送信する。ネットワークに関する指標データの詳細については後述する。
【0040】
判定サーバ4は、端末1から視聴に関する指標データを受信すると共に、ネットワークスイッチ3からネットワークに関する指標データを受信する。そして、判定サーバ4は、これらの指標データに基づいて、端末1が次にダウンロードする動画セグメントの画質及び経路を判定する。そして、判定サーバ4は、動画セグメントの画質及び経路の判定結果を端末1へ送信する。判定サーバ4の処理の詳細については後述する。
【0041】
ここで、動画セグメントの画質は、ダウンロードする動画セグメントの画面解像度及びビットレートを示す。また、動画セグメントの経路は、動画セグメントが配信される配信元のサーバ、及びダウンロードされる動画セグメントの配信ルートを示すが、ここでは、配信元のサーバを示すものとする。
【0042】
尚、配信ルートは、図1には図示しないサーバ(5Gネットワーク6に設置されたサーバ)により決定され、端末1は、配信ルートを含む経路に関するデータを、当該サーバから取得する。
【0043】
配信サーバ5は、複数の異なる画質の動画ファイルを保持している。例えば、配信サーバ5は、1つの動画のコンテンツについて、360pの画面解像度かつ200kbpsの動画ファイル、・・・、1080pの画面解像度かつ2.0Mbpsの動画ファイルを保持している。360pは、640×360ピクセルを示し、1080pは、1920×1080ピクセルを示す。
【0044】
配信サーバ5は、端末1からのリクエストに従い、複数の異なる画質の動画ファイルのうち、一つの画質の動画ファイルを選択し、当該動画ファイルの動画セグメントを端末1へ送信する。
【0045】
CDNサーバ8は、配信サーバ5と同様に、複数の異なる画質の動画ファイルを保持している。例えば、CDNサーバ8は、1つの動画のコンテンツについて、360pの画面解像度かつ200kbpsの動画ファイル、・・・、1080pの画面解像度かつ2.0Mbpsの動画ファイルを保持している。
【0046】
CDNサーバ8は、端末1からのリクエストに従い、複数の異なる画質の動画ファイルのうち、一つの画質の動画ファイルを選択し、当該動画ファイルの動画セグメントを端末1へ送信する。
【0047】
〔動画配信システム:処理〕
次に、図1に示した動画配信システムの処理について説明する。図2は、動画配信システムの処理例の概略を示すフローチャートであり、図3は、動画配信システムの処理例の概略を説明する図である。
【0048】
まず、ユーザによる動画視聴の操作があると、端末1は、初期設定された画質及び経路に従い、基地局2、5Gネットワーク6内のネットワークスイッチ3、及びインターネット7を介して、CDN9内のCDNサーバ8へアクセスする。そして、端末1は、当該経路のCDNサーバ8から、インターネット7、ネットワークスイッチ3及び基地局2を介して、当該画質の動画セグメントのダウンロードを開始する(ステップS201)。
【0049】
端末1は、ダウンロードした動画セグメントをバッファに蓄積し、バッファから動画セグメントのデータを逐次読み出してデコードし、動画の再生を開始する。
【0050】
動画セグメントのダウンロードが開始すると、端末1は、視聴に関する指標データを生成する(ステップS202)。
【0051】
図4は、視聴に関する指標データの例を説明する図である。視聴に関する指標データは、動画セグメントのダウンロードに伴い生成される、動画セグメントについての視聴の状況に関するデータ(視聴データ)である。視聴に関する指標データは、ユーザが動画を視聴する際に、動画セグメントのダウンロードに要した時間、帯域速度、過去のセグメントのダウンロード時の帯域幅の履歴、取得した映像の品質等が反映されたデータである。本発明の実施形態では、図4に示す指標データを扱うものとする。
【0052】
視聴に関する指標データは、動画セグメントのスループット(所定セグメント数分、セグメント毎)、動画セグメントの画質(所定セグメント数分、セグメント毎)、バッファ枯渇時間(動画再生停止時間)(所定セグメント数分、セグメント毎)、バッファ残量、及びパケットロス率から構成される。視聴に関するこれらの指標データは、端末1により既知の処理にて生成される。所定セグメント数分の値は、指標データ毎に予め設定される。
【0053】
動画セグメントのスループットは、直近の所定セグメント数分のセグメント毎に算出された単位時間あたりの処理データ量の履歴データである。動画セグメントの画質は、直近の所定セグメント数分のセグメント毎に取得した動画セグメントについての画面解像度及びビットレートの履歴を示す。
【0054】
バッファ枯渇時間は、直近の所定セグメント数分のセグメント毎に求めたバッファ枯渇時間の履歴、すなわち、動画セグメントのダウンロードに時間がかかり、その結果バッファが空となった時間(動画再生停止時間)の履歴である。バッファ残量は、動画セグメントが蓄積される端末1に備えたバッファにおいて、端末1が視聴に関する指標データを判定サーバ4へ送信する直前の残量である。パケットロス率は、直近の所定時間内において、パケットが損失した割合である。所定時間は、予め設定される。
【0055】
図2及び図3に戻って、ネットワークスイッチ3は、端末1から送信されたリクエスト及びCDNサーバ8から送信された動画セグメントの転送に伴い、端末1により動画セグメントのダウンロードが開始したと判断する。そして、ネットワークスイッチ3は、ネットワークに関する指標データを生成する(ステップS203)。
【0056】
図5は、ネットワークに関する指標データの例を説明する図である。ネットワークに関する指標データは、動画セグメントのダウンロードの際に、ネットワークスイッチ3を経由する動画フローに伴い生成される、動画セグメントについての5Gネットワーク6の状況に関するデータ(ネットワークデータ)である。
【0057】
ネットワークに関する指標データは、フロー接続数、フロー接続量、フロー接続上限数、フロー接続上限量、及び接続中の端末1毎のスループットから構成される。
【0058】
フロー接続数は、現時点において、当該ネットワークスイッチ3を介してダウンロードしている動画セグメントの動画フローの数、すなわち、端末1(及び他の端末1)と5Gネットワーク6内の配信サーバ5等とが接続された動画フローの数、及びCDN9内のCDNサーバ8等のサーバとが接続された動画フローの数である。
【0059】
フロー接続量は、現時点において、接続された(フロー接続数の)全ての動画フローにおけるデータの流量、すなわち、端末1(及び他の端末1)と5Gネットワーク6内の配信サーバ5等とが接続された動画フローにおけるデータの流量、及びCDN9内のCDNサーバ8等のサーバとが接続された動画フローにおけるデータの流量である。
【0060】
フロー接続上限数は、予め設定されたフロー接続数の上限値、すなわち、端末1(及び他の端末1)と5Gネットワーク6内の配信サーバ5等とが接続されるフロー接続数の上限値、及びCDN9内のCDNサーバ8等のサーバとが接続されるフロー接続数の上限値である。
【0061】
フロー接続上限量は、予め設定されたフロー接続量の上限値、すなわち、端末1(及び他の端末1)と5Gネットワーク6内の配信サーバ5等とが接続されるフロー接続量の上限値、及びCDN9内のCDNサーバ8等のサーバとが接続されるフロー接続量の上限値である。
【0062】
接続中の端末1毎のスループットは、現時点において、動画フローが形成された端末1毎に算出された単位時間あたりの処理データ量である。
【0063】
図2及び図3に戻って、端末1は、動画セグメントのダウンロードが開始してから所定時間が経過したか否かを判定する(ステップS204)。端末1は、ステップS204において、所定時間が経過していないと判定した場合(ステップS204:N)、ステップS201へ移行する。
【0064】
これにより、動画セグメントのダウンロードが継続され、視聴に関する指標データ及びネットワークに関する指標データが更新される。尚、後述するステップS211においても、端末1は、視聴に関する指標データを生成して更新し、ネットワークスイッチ3は、ネットワークに関する指標データを生成して更新する。
【0065】
端末1は、ステップS204において、所定時間が経過したと判定した場合(ステップS204:Y)、そのタイミングでダウンロード中の動画セグメントについて、そのダウンロードが完了したときに、次の動画セグメントをダウンロードするに先立って、次の動画セグメントの画質及び経路を判断するために、ステップS202にて生成した最新の視聴に関する指標データを判定サーバ4へ送信する(ステップS205)。視聴に関する指標データは、基地局2及びネットワークスイッチ3を介して判定サーバ4へ送信される。判定サーバ4へ送信する視聴に関する指標データは、次の動画セグメントの画質及び経路の判定結果を取得するための問い合わせでもある。
【0066】
これにより、動画配信が開始してから所定時間経過したときに、動画の安定的な視聴を実現するため、判定サーバ4にて、生成済みの指標データに基づいた、次の動画セグメントの画質及び経路の判定処理が行われる。
【0067】
また、ステップS205及び後述するステップS206~S209の処理は、動画セグメントを単位として行われる。つまり、動画セグメントを単位として、既にダウンロードした直近の動画セグメントについて生成した視聴に関する指標データ、すなわち次の動画セグメントの画質及び経路の判定結果を取得するための問い合わせが、端末1から判定サーバ4へ送信される。
【0068】
判定サーバ4は、端末1から視聴に関する指標データを受信すると、ネットワークに関する指標データの問い合わせをネットワークスイッチ3へ送信する。ネットワークスイッチ3は、判定サーバ4から当該問い合わせを受信すると、生成済みのネットワークに関する指標データを判定サーバ4へ送信する(ステップS206)。
【0069】
これにより、判定サーバ4は、端末1が動画セグメントのダウンロードを完了して次の動画セグメントの画質及び経路を判断するタイミングにおいて、直近に生成された視聴に関する指標データ及びネットワークに関する指標データを取得することができる。
【0070】
尚、ネットワークスイッチ3は、予め設定された時間間隔にて、最新のネットワークに関する指標データを判定サーバ4へ送信するようにしてもよい。この場合、判定サーバ4は、端末1から視聴に関する指標データを受信したときに、既に受信済みの最新のネットワークに関する指標データを用いて、判定処理を行う。
【0071】
判定サーバ4は、端末1から視聴に関する指標データを受信し、ネットワークスイッチ3からネットワークに関する指標データを受信する。そして、判定サーバ4は、視聴に関する指標データ及びネットワークに関する指標データに基づいて、次の動画セグメントの画質及び経路を判定する(ステップS207)。ステップS207の判定処理の詳細については後述する。
【0072】
判定サーバ4は、動画セグメントの画質及び経路の判定結果を端末1へ送信する(ステップS208)。
【0073】
端末1は、判定サーバ4から判定結果を受信すると、判定結果の示す画質及び経路にて、当該経路のサーバ(本例では配信サーバ5)から、ネットワークスイッチ3及び基地局2を介して、当該画質の動画セグメントをダウンロードする(ステップS209)。これにより、動画セグメントの画質及び経路は、新たに判定された画質及び経路に変更され、例えば、CDNサーバ8とは異なる配信サーバ5から動画セグメントが取得される。
【0074】
図2及び図3の例において、動画セグメントは、動画配信が開始したときに、CDNサーバ8からダウンロードされ、所定時間経過したときに、CDNサーバ8に代えて、高速かつ低遅延な配信サーバ5からダウンロードされるように、経路が変更されている。
【0075】
端末1による動画配信システムの処理が終了しない限り(ステップS210)、ステップS202,S203の処理が行われ(ステップS211)、ステップS211,S205~S209の処理が繰り返される。
【0076】
〔判定サーバ4〕
次に、図1に示した判定サーバ4について詳細に説明する。図6は、判定サーバ4の構成例を示すブロック図であり、図7は、判定サーバ4の処理例を示すフローチャートである。この判定サーバ4は、通信部10及び予測部11を備えている。
【0077】
通信部10は、ネットワークスイッチ3との間でデータの送受信を行う。具体的には、通信部10は、端末1から送信された視聴に関する指標データを、ネットワークスイッチ3を介して受信し(ステップS701)、視聴に関する指標データを予測部11に出力する。
【0078】
通信部10は、視聴に関する指標データを受信すると、ネットワークに関する指標データの問い合わせをネットワークスイッチ3へ送信し、ネットワークスイッチ3からネットワークに関する指標データを受信する(ステップS702)。そして、通信部10は、ネットワークに関する指標データを予測部11に出力する。
【0079】
予測部11は、通信部10から視聴に関する指標データ及びネットワークに関する指標データを入力し、これらの指標データに基づいて、予測処理にて、端末1が次にダウンロードする動画セグメントの画質及び経路を判定する(ステップS703)。そして、予測部11は、動画セグメントの画質及び経路の判定結果を通信部10に出力する。予測部11の処理の詳細については後述する。
【0080】
通信部10は、予測部11から動画セグメントの画質及び経路の判定結果を入力し、動画セグメントの画質及び経路の判定結果を、ネットワークスイッチ3を介して端末1へ送信する(ステップS704)。
【0081】
(予測部11)
次に、図6に示した予測部11について詳細に説明する。図8は、予測部11を説明する図である。この予測部11は、予測器20及び選択器21を備えている。予測部11は、通信部10から視聴に関する指標データ及びネットワークに関する指標データを入力する。
【0082】
予測器20は、DNN(Deep Neural Network:ディープニューラルネットワーク)により構成される学習モデルであり、DNNベースの強化学習である深層強化学習により生成される。
【0083】
予測器20は、視聴に関する指標データ及びネットワークに関する指標データにおけるそれぞれのデータを、DNNの入力層の素子に入力する。そして、予測器20は、DNNの演算により、予め設定された重みに基づいて、複数の画質及び経路の組み合わせのそれぞれについて評価値を予測する。予測器20は、DNNの出力層の素子から、複数の画質及び経路の組み合わせのそれぞれについての評価値を選択器21に出力する。DNNには、後述する学習装置により最適化された重みが設定されている。
【0084】
DNNの入力層の素子に入力されるデータは、視聴に関する指標データ及びネットワークに関する指標データを構成するそれぞれのデータである。図4を参照して、例えば視聴に関する指標データとして、セグメント毎の動画セグメントのスループット、セグメント毎の動画セグメントの画質、セグメント毎のバッファ枯渇時間(動画再生停止時間)、バッファ残量、及びパケットロス率が、素子毎に入力される。この場合、動画セグメントのスループット、動画セグメントの画質及びバッファ枯渇時間は、所定セグメント数分の素子にそれぞれ入力される。
【0085】
また、図5を参照して、例えばネットワークに関する指標データとして、フロー接続数、フロー接続量、フロー接続上限数、フロー接続上限量、及び接続している端末1毎のスループットが素子毎に入力される。この場合、スループットは、接続中の端末1の数分の素子にそれぞれ入力される。
【0086】
DNNの出力層の素子から出力されるデータは、複数の画質及び経路の組み合わせのそれぞれについての評価値である。図1及び図8を参照して、例えば、経路をCDNサーバ8とし画質を360pとしたとき(CDNサーバ8,360p)の評価値、・・・、及び(CDNサーバ8,1080p)の評価値、並びに(配信サーバ5,360p)の評価値、・・・、及び(配信サーバ5,1080p)の評価値が、素子毎に出力される。
【0087】
選択器21は、予測器20から、複数の画質及び経路の組み合わせのそれぞれについての評価値を入力する。そして、選択器21は、複数の画質及び経路の組み合わせのうち、最大の評価値に対応する画質及び経路の組み合わせを選択し、これを判定結果とする。選択器21は、画質及び経路の判定結果を通信部10に出力する。
【0088】
例えば、図8の例において、(配信サーバ5,1080p)の評価値が最大である場合、選択器21は、複数の画質及び経路の組み合わせのうち(配信サーバ5,1080p)を選択する。
【0089】
(深層強化学習)
予測器20を構成するDNNは、強化学習である深層強化学習により生成される。具体的には、画質及び経路の判定に関し、明示的な正解例を与えずに収集した視聴に関する指標データ及びネットワークに関する指標データを用いて、これらの指標データに基づいた報酬設計から、適切な画質及び経路を学習するようにする。学習エージェントとして、DQN(Deep Q Network:ディープQネットワーク)を用いる。
【0090】
各学習ステップでの報酬関数Rtとして、例えば以下の式が用いられる。報酬関数Rtにより、予測の結果得られる時刻tの報酬が算出される。
[数1]
t=α*log(qt)-β*bt-γ*st-δ*dt ・・・(1)
【0091】
変数qtは、時刻tにおいて、予測の結果に基づき、端末1がダウンロードした動画セグメントのビットレートである。これは、視聴に関する指標データに含まれる動画セグメントの画質におけるビットレートに相当する。変数qtのビットレートが高いほど、報酬関数Rtの値は大きくなり、変数qtのビットレートが低いほど、報酬関数Rtの値は小さくなる。
【0092】
変数btは、時刻tにおいて、予測の結果に基づき、端末1が動画セグメントをダウンロードしたときのバッファ枯渇時間である。これは、視聴に関する指標データに含まれるバッファ枯渇時間に相当する。変数btのバッファ枯渇時間が短いほど、報酬関数Rtの値は大きくなり、変数btのバッファ枯渇時間が長いほど、報酬関数Rtの値は小さくなる。
【0093】
変数stは、時刻tにおいて、予測の結果に基づき、端末1が動画セグメントをダウンロードしたときのバッファ残量である。これは、視聴に関する指標データに含まれるバッファ残量に相当する。変数stのバッファ残量が小さいほど、報酬関数Rtの値は大きくなり、変数stのバッファ残量が大きいほど、報酬関数Rtの値は小さくなる。
【0094】
変数dtは、時刻tにおいて、予測の結果に基づき、端末1が動画セグメントをダウンロードするのに要した時間(ダウンロード時間)である。これは、視聴に関する指標データに含まれる動画セグメントのスループットから算出される値である。変数dtのダウンロード時間が短いほど、報酬関数Rtの値は大きくなり、変数dtのダウンロード時間が長いほど、報酬関数Rtの値は小さくなる。パラメータα,β,γ及びδは、それぞれの項の影響を調整するための重み係数である。
【0095】
DNNを学習する学習装置は、収集した視聴に関する指標データ及びネットワークに関する指標データを用いて、DQNの深層強化学習を行い、DNNの重みを最適化する。例えば、学習装置は、前記式(1)の報酬関数Rtを用いて、以下の誤差関数E(st,at)を用いた誤差逆伝播法(Backpropagation:バックプロパゲーション)により、誤差関数E(st,at)が最小となるようにDNNを学習し、重みを求める。
[数2]
E(st,at)=(Rt+1+γ*max_aQ(st+1,a)-Q(st,at))2
・・・(2)
【0096】
tは、時刻tの状態(視聴に関する指標データ及びネットワークに関する指標データ)を示し、atは、時刻tにおける行動(画質及び経路)を示す。γはパラメータであり、Q(s,a)は、状態sにおいて行動aをとったときの行動価値関数を示す。max_aQ(st+1,a)は、変数aを変化させたときのQ(st+1,a)の最大値を示す。
【0097】
ここで、時刻tにおいて、視聴に関する指標データ及びネットワークに関する指標データが状態stであった場合、ある画質及び経路の行動atをとったとすると、DNNの出力層の素子が出力する評価値である行動価値関数の値はQ(st,at)である。学習装置は、この行動価値関数の値Q(st,at)と、前記式(2)において報酬関数Rt+1を反映した行動価値関数の値(Rt+1+γ*max_aQ(st+1,a))との間の差が最小となるように、学習を行う。
【0098】
以上のように、本発明の実施形態によれば、判定サーバ4は、5Gネットワーク6を含む動画配信システムにおいて、配信サーバ5が設置された5Gネットワーク6内に設置される。端末1は、視聴に関する指標データを生成し、5Gネットワーク6内に設置されたネットワークスイッチ3は、ネットワークに関する指標データを生成する。
【0099】
これにより、5Gネットワーク6内に判定サーバ4が設置されることで、判定サーバ4は、端末1から視聴に関する指標データを取得すると共に、ネットワークスイッチ3からネットワークに関する指標データを取得することができる。
【0100】
また、判定サーバ4の予測器20は、視聴に関する指標データ及びネットワークに関する指標データをDNNに入力し、DNNの演算により、画質及び経路の組み合わせのそれぞれについて、評価値を予測するようにした。
【0101】
そして、選択器21は、複数の画質及び経路の組み合わせのうち、最大の評価値に対応する画質及び経路の組み合わせを選択し、これを、端末1が次の動画セグメントをダウンロードする際の画質及び経路として利用させる。
【0102】
この場合、DNNには、学習装置により最適化された重みが設定される。学習装置は、収集した視聴に関する指標データ及びネットワークに関する指標データを用いて、DQNの深層強化学習を行う。具体的には、学習装置は、前記式(1)の報酬関数Rtを用いて、前記式(2)の誤差関数E(st,at)を用いた誤差逆伝播法により、DNNを学習し、重みを求める。
【0103】
これにより、動画セグメントの画質及び経路は、視聴に関する指標データに加え、ネットワークに関する指標データも用いて判定される。したがって、CDN9内に設置されたCDNサーバ8からの動画配信と、5Gネットワーク6内に設置された配信サーバ5からの動画配信とを適切に切り替えることができ、視聴の高品質化及び安定化を図ることができる。
【0104】
以上、実施形態を挙げて本発明を説明したが、本発明は前記実施形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。
【0105】
例えば、前記実施形態では、5Gネットワーク6内に設置された判定サーバ4は、動画セグメントの画質及び経路を判定するようにした。
【0106】
これに対し、5Gネットワーク6内に設置されたネットワークスイッチ3が、ネットワークに関する指標データを生成する処理に加え、判定サーバ4の処理を行うようにしてもよい。この場合、判定サーバ4は不要となる。これにより、ハードウェアの設置コストの低減化を図ることができる。
【0107】
また、前記実施形態では、判定サーバ4は、動画セグメントの画質及び経路の判定結果を端末1へ送信し、端末1は、当該判定結果の画質及び経路にて動画フローを制御し、動画セグメントをダウンロードするようにした。
【0108】
これに対し、判定サーバ4は、動画セグメントの画質及び経路の判定結果をネットワークスイッチ3へ送信し、ネットワークスイッチ3が、当該判定結果の画質及び経路にて動画フローを制御し、動画セグメントを端末1へダウンロードするようにしてもよい。
【0109】
また、前記実施形態では、端末1は、動画セグメントのダウンロードが完了したタイミングで、視聴に関する指標データを判定サーバ4へ送信し、判定サーバ4から、次の動画セグメントの画質及び経路の判定結果を受信するようにした。つまり、端末1は、動画セグメントを単位として、次の動画セグメントの画質及び経路を判断するようにした。
【0110】
これに対し、端末1は、所定セグメント数分毎に、または所定時間間隔毎(所定時間が経過し、そのときの動画セグメントのダウンロードが完了したタイミング毎に)、画質及び経路の判定結果を受信するようにしてもよい。この場合、端末1は、所定セグメント数分または所定時間間隔分の動画セグメントについて、受信した画質及び経路にてダウンロードを行う。
【0111】
また、前記実施形態では、判定サーバ4の予測部11は、DNNを用いて動画セグメントの画質及び経路を予測するようにした。これに対し、予測部11は、DNN以外の学習モデルを用いて、動画セグメントの画質及び経路を予測するようにしてもよいし、学習モデルを用いることなく、予測するようにしてもよい。
【0112】
学習モデルを用いない場合、予測部11は、例えば、予め設定されたテーブルから、離散値に変換された視聴に関する指標データ及びネットワークに関する指標データに対応する評価値(複数の画質及び経路の組み合わせのそれぞれについての評価値)を読み出す。そして、予測部11は、複数の画質及び経路の組み合わせのうち、最大の評価値に対応する画質及び経路の組み合わせを選択し、これを判定結果とする。
【0113】
この場合、テーブルには、視聴に関する指標データ及びネットワークに関する指標データの組み合わせ毎に、当該組み合わせに対応する評価値(複数の画質及び経路の組み合わせのそれぞれについての評価値)が格納されている。
【0114】
また、判定サーバ4の予測部11は、例えば視聴に関する指標データのうちバッファ残量、並びにネットワークに関する指標データのうちフロー接続数及びフロー接続上限数に基づいて、画質及び経路を予測するようにしてもよい。
【0115】
この場合、予測部11は、バッファ残量が大きいほど、より高い画面解像度及びビットレートの画質を予測するようにし、バッファ残量が小さいほど、より低い画面解像度及びビットレートの画質を予測するようにする。
【0116】
また、予測部11は、5Gネットワーク6内の配信サーバ5等のフロー接続数が大きいほど、またはCDN9内のCDNサーバ8等のフロー接続数が小さいほど、CDN9内のCDNサーバ8を経路として予測するようにする。予測部11は、5Gネットワーク6内の配信サーバ5等のフロー接続数が小さいほど、またはCDN9内のCDNサーバ8等のフロー接続数が大きいほど、5Gネットワーク6内の配信サーバ5を経路として予測するようにする。
【0117】
また、予測部11は、5Gネットワーク6内の配信サーバ5等のフロー接続上限数が小さいほど、またはCDN9内のCDNサーバ8等のフロー接続上限数が大きいほど、CDN9内のCDNサーバ8を経路として予測するようにする。予測部11は、5Gネットワーク6内の配信サーバ5等のフロー接続上限数が大きいほど、またはCDN9内のCDNサーバ8等のフロー接続上限数が小さいほど、5Gネットワーク6内の配信サーバ5を経路として予測するようにする。
【0118】
予測部11は、図4に示した視聴に関する指標データ及び図5に示したネットワークに関する指標データのうち、1以上の所定数の指標データに基づいて、画質及び経路を予測するようにしてもよい。
【0119】
また、前記実施形態では、判定サーバ4の予測部11の予測器20を構成するDNNは、DQNを用いた深層強化学習により最適化され、学習装置は、DQNの深層強化学習を行う際に、前記式(1)の報酬関数Rtを用いて、DNNを学習して重みを求めるようにした。この場合の報酬関数Rtは、変数qt(動画セグメントのビットレート)、変数bt(バッファ枯渇時間)、変数st(バッファ残量)及び変数dt(動画セグメントのダウンロード時間)を用いている。
【0120】
これに対し、予測部11は、前記式(1)において、変数qt,bt,st,dtのうち、1つ以上の変数による報酬関数Rtを用いるようにしてもよい。また、予測部11は、前記式(1)の報酬関数Rtとは異なる報酬関数Rtを用いるようにしてもよい。例えば、以下の報酬関数Rtが用いられる。
[数3]
t=α*log(qt)-β*bt-γ*st-δ*dt+η*wt ・・・(3)
【0121】
変数wtは、時刻tにおいて、予測の結果に基づき、ネットワークスイッチ3にて5Gネットワーク6内の配信サーバ5等へスイッチングした動画フローと、CDN9内のCDNサーバ8等へスイッチングした動画フローとの間の均等度合いである。変数wtは、両動画フローが均等であればあるほど、その値は大きくなり、両動画フローが均等でなければないほど、その値は小さくなる。変数wtの均等度合いが高いほど、報酬関数Rtの値は大きくなり、変数stの均等度合いが低いほど、報酬関数Rtの値は小さくなる。パラメータηは、その項の影響を調整するための重み係数である。
【0122】
この場合、図5に示したネットワークに関する指標データには、フロー接続先数(5Gネットワーク6内の配信サーバ5等に接続されているフローの数、及びCDN9のCDNサーバ8等に接続されているフローの数)が含まれているものとする。変数wtは、このフロー接続先数に基づいて算出される。
【0123】
また、前記実施形態では、報酬関数Rtの変数は、前記式(1)に示した変数qt,bt,st,dtとした。これに対し、報酬関数Rtの変数として、図4に示した視聴に関する指標データ及び図5に示したネットワークに関する指標データのうち、1以上の所定数の指標データを用いるようにしてもよい。また、これらの指標データのうちの1以上の所定数の指標データから算出されたデータを用いるようにしてもよい。
【0124】
また、学習装置は、DQNの深層強化学習を行うことで、DNNを最適化するようにしたが、深層強化学習以外の学習を行うことで、DNNを最適化するようにしてもよい。
【0125】
尚、本発明の実施形態による判定サーバ4のハードウェア構成としては、通常のコンピュータを使用することができる。判定サーバ4は、CPU、RAM等の揮発性の記憶媒体、ROM等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによって構成される。
【0126】
判定サーバ4に備えた通信部10及び予測部11の各機能は、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。また、これらのプログラムは、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD-ROM、DVD等)、半導体メモリ等の記憶媒体に格納して頒布することもでき、ネットワークを介して送受信することもできる。
【符号の説明】
【0127】
1 端末
2 基地局
3 ネットワークスイッチ
4 判定サーバ
5 配信サーバ
6 5Gネットワーク
7 インターネット
8 CDNサーバ
9 CDN
10 通信部
11 予測部
20 予測器
21 選択器
図1
図2
図3
図4
図5
図6
図7
図8