JP7270344B2 - 端末装置、帯域予測装置、およびプログラム - Google Patents

端末装置、帯域予測装置、およびプログラム Download PDF

Info

Publication number
JP7270344B2
JP7270344B2 JP2018116473A JP2018116473A JP7270344B2 JP 7270344 B2 JP7270344 B2 JP 7270344B2 JP 2018116473 A JP2018116473 A JP 2018116473A JP 2018116473 A JP2018116473 A JP 2018116473A JP 7270344 B2 JP7270344 B2 JP 7270344B2
Authority
JP
Japan
Prior art keywords
band
prediction
bandwidth
data
terminal device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018116473A
Other languages
English (en)
Other versions
JP2019220839A (ja
Inventor
頌一朗 関口
敏 西村
正男 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Broadcasting Corp
Original Assignee
Japan Broadcasting Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Japan Broadcasting Corp filed Critical Japan Broadcasting Corp
Priority to JP2018116473A priority Critical patent/JP7270344B2/ja
Publication of JP2019220839A publication Critical patent/JP2019220839A/ja
Application granted granted Critical
Publication of JP7270344B2 publication Critical patent/JP7270344B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、端末装置、帯域予測装置、およびプログラムに関する。
インターネットを用いて動画を配信する技術の一つとして、HTTPプロトコルによる通信を用い、且つ、動画を視聴する側であるクライアント装置が、通信回線の混雑状況に応じたビットレートで動画を受信する方式がある。この方式は、回線の混雑状況に応じて適応的にビットレート選択を行うものであり、HAS(HTTP Adaptive Streaming)と呼ばれる。HASでは、配信サーバー装置側が、符号化方式や画像サイズ(縦および横の画素数)の異なる、複数種類の動画を用意する。そして、配信サーバー装置は、それら複数の動画の再生時刻が相互に同期するようにしながら、それらの動画のそれぞれを、数秒から数十秒といった時間長の複数の時間区間(この時間区間をセグメントとも呼ぶ)に分割しておく。セグメントに分割された動画ファイルのそれぞれは「チャンク」(chunk)とも呼ばれる。
クライアント装置は、HTTPで配信される動画ファイル(チャンク)を順次ダウンロードするとともに、ダウンロードしたそれらのチャンクを順次つなげて再生する。これにより、視聴者は、動画を視聴することができる。HASでは、このとき、クライアント装置が、通信回線の混雑状況を計測して、ダウンロードするチャンクを動的に(適応的に)変更することができる。これにより、クライアント装置は、通信回線の混雑状況に応じて、動画ファイルを安定的に受信し、再生することができる。
なお、HASとして、MPEG-DASH(MPEG-Dynamic Adaptive Streaming over HTTP)、HLS(HTTP Live Streaming)などの規格が制定されている。
特許文献1には、クライアント装置等がサーバー装置からHTTPアダプティブストリーミング動画を受信する方法が記載されている。その方法によると、クライアント装置は、サーバー装置から動画のチャンクを受信すると、サーバー装置からクライアント装置へのその動画のチャンクの伝送のための現在の伝送速度を決定し、期待される将来の伝送速度に関係する統計情報を、現在の伝送速度の関数として取得し、前記統計情報から目標伝送速度を導出し、導出された目標伝送速度に従って後続チャンクを要求する。
特表2016-506644号公報
動画のストリーミング配信システムにおいて、なるべく高画質の動画を配信することが重要である。しかしながら、高画質の動画を配信しようとすると、回線の輻輳を招き、動画のダウンロード速度が動画の再生速度より遅くなり、映像バッファーが枯渇して再生がストップする可能性がある。つまり、受信する側のクライアント装置にとっては、なるべく高画質の動画を受信しつつ、バッファーが枯渇しないように安定的に受信することが求められる。安定して受信するためには、次のチャンクをダウンロードする際に確保できる通信帯域をなるべく正確に予測することで、適切なビットレートの動画を取得することが必要となる。即ち、通信帯域の予測は重要である。
しかしながら、従来技術では、伝送速度の予測精度が良くないという問題があった。その要因の一つは、特許文献1等に開示される従来技術による方法では、過去数チャンク分の動画をダウンロードした際のスループットから計算した単純な統計情報のみに基づいた予測を行っていたことなどにある。
本発明は、上記の課題認識に基づいて行なわれたものであり、確保できる通信帯域を正確に予測することのできる端末装置、帯域予測装置、およびプログラムを提供しようとするものである。
[1]上記の課題を解決するため、本発明の一態様による端末装置は、外部の配信サーバー装置から、所定の通信帯域に応じたコンテンツファイルを受信する受信部と、前記受信部が前記コンテンツファイルを受信する際の状況を表す帯域予測用データを整形するデータ整形部と、前記データ整形部が整形した帯域予測用データを外部の帯域予測装置に送信するデータ送信部と、前記データ送信部が送信した帯域予測用データに対応して、帯域予測値データを受信する帯域予測受信部と、前記帯域予測受信部が受信した前記帯域予測値データに基づいて、前記受信部が受信する前記コンテンツファイルの前記通信帯域を制御する帯域制御部と、を具備する。
[2]また、本発明の一態様は、上記の端末装置において、前記受信部が前記コンテンツファイルを受信する際の通信帯域を計測する帯域計測部、をさらに具備し、前記データ整形部は、前記帯域計測部が計測した前記通信帯域の計測値を含む前記帯域予測用データを整形する、ものである。
[3]また、本発明の一態様は、上記の端末装置において、前記受信部が前記コンテンツファイルを受信する際の受信用バッファーの空き領域の量を表す空きバッファー量を計測するバッファー量計測部、をさらに具備し、前記データ整形部は、前記バッファー量計測部が計測した前記空きバッファー量の値を含む前記帯域予測用データを整形する、ものである。
[4]また、本発明の一態様は、上記の端末装置において、前記受信部が前記コンテンツファイルを受信するための通信ネットワーク接続の種別を管理するネットワーク接続管理部、をさらに具備し、前記データ整形部は、前記ネットワーク接続管理部が管理する現在の通信ネットワーク接続の種別を表す値を含む前記帯域予測用データを整形する、ものである。
[5]また、本発明の一態様による帯域予測装置は、端末装置がコンテンツファイルを受信する際の状況を表す帯域予測用データと、前記帯域予測用データが表す状況において前記端末装置が実際に前記コンテンツファイルを受信したときに計測された通信帯域の値との関係を予め学習して得られたモデルを記憶するモデル記憶部と、端末装置から前記帯域予測用データを受信した際に、受信した前記帯域予測用データと、前記モデル記憶部が記憶する前記モデルとに基づいて、通信帯域の値を予測する予測部と、を具備するものである。
[6]また、本発明の一態様は、上記の帯域予測装置において、前記予測部は、前記端末装置から受信した前記帯域予測用データと、当該帯域予測用データが表す状況において前記端末装置が実際に前記コンテンツファイルを受信したときに計測された前記通信帯域の値とを用いた学習処理を行うことによって、前記モデル記憶部が記憶する前記モデルを更新する、ものである。
[7]また、本発明の一態様は、コンピューターを、外部の配信サーバー装置から、所定の通信帯域に応じたコンテンツファイルを受信する受信部と、前記受信部が前記コンテンツファイルを受信する際の状況を表す帯域予測用データを整形するデータ整形部と、前記データ整形部が整形した帯域予測用データを外部の帯域予測装置に送信するデータ送信部と、前記データ送信部が送信した帯域予測用データに対応して、帯域予測値データを受信する帯域予測受信部と、前記帯域予測受信部が受信した前記帯域予測値データに基づいて、前記受信部が受信する前記コンテンツファイルの前記通信帯域を制御する帯域制御部と、を具備する端末装置として機能させるためのプログラムである。
[8]また、本発明の一態様は、コンピューターを、端末装置がコンテンツファイルを受信する際の状況を表す帯域予測用データと、前記帯域予測用データが表す状況において前記端末装置が実際に前記コンテンツファイルを受信したときに計測された通信帯域の値との関係を予め学習して得られたモデルを記憶するモデル記憶部と、端末装置から前記帯域予測用データを受信した際に、受信した前記帯域予測用データと、前記モデル記憶部が記憶する前記モデルとに基づいて、通信帯域の値を予測する予測部と、を具備する帯域予測装置として機能させるためのプログラムである。
本発明によれば、端末装置は、コンテンツファイルを受信する際の状況を表す帯域予測用データを送信することにより、適切に予測された帯域予測値のデータを受信することができる。これにより、端末装置は、適切な通信帯域を用いて、コンテンツファイルを受信することが可能となる。また、帯域予測装置は、あらかじめ学習済みのモデルを用いて、帯域予測用データを基に、端末装置ごとに適切な帯域予測値を出力することが可能となる。
本発明の実施形態による配信システムの概略機能構成を示すブロック図である。 同実施形態による端末装置の概略機能構成を示す機能ブロック図である。 同実施形態による帯域予測サーバー装置の概略機能構成を示す機能ブロック図である。 同実施形態による端末装置のネットワークへの接続種別と、対応するラベル値との関係を示す概略図である。 同実施形態による端末装置におけるデータ整形部が帯域情報管理部から受け取る帯域情報の構成例を示す概略図である。 同実施形態における、帯域予測のための学習データの構築方法を説明するための概略図である。 同実施形態による帯域予測サーバー装置の帯域予測部が備えるニューラルネットワーク(帯域予測学習器)の構成を示す概略図である。 同実施形態による端末装置が、帯域予測サーバー装置から帯域予測値を取得し、得られた帯域予測値を用いて映像を受信する一連の処理の流れを示すフローチャートである。 同実施形態の第1変形例による映像配信の手順を示すシーケンス図である。
次に、本発明の一実施形態について、図面を参照しながら説明する。
本実施形態において、視聴者が映像コンテンツを視聴するための端末装置は、映像配信サーバー装置から映像のチャンクをダウンロードする。ここで、チャンクとは、時間方向の長さを有する映像や音声等のコンテンツにおいて、所定の長さの時間(例えば、数秒といった長さの時間)で区切ったコンテンツの断片である。端末装置は、チャンクをダウンロードした際のスループット(通信スループット、通信帯域)の数値情報を自装置内に時系列に保存する。端末装置は、ある時点で、その時点における最新のチャンクのダウンロードが完了し、次のセグメントのチャンクをダウンロードする際に、過去の複数セグメント分のスループットの情報と、その他の状況の情報とを、帯域予測サーバー装置に送信する。「その他の状況の情報」とは、例えば、端末装置が現在保有している使用可能な映像バッファーの量の情報と、端末装置が接続している通信ネットワークの種別を表す情報である。帯域予測サーバー装置は、端末装置から送られたこれらのデータを基に、自装置内に保持する帯域予測学習器を使用して帯域予測を行う。帯域予測サーバー装置は、帯域予測学習器によって予測した結果である帯域予測情報を、端末装置に返送する。端末装置は、帯域予測サーバー装置から受信した帯域予測情報に基づき、適切な種類(ビットレート)の、次のチャンクをダウンロードする。その前提として、映像配信サーバー装置は、複数の通信帯域に対応したコンテンツを予め準備しており、それらの中から、端末装置から要求される通信帯域に適したコンテンツのファイルを配信することができる。
端末装置は、コンテンツファイルを受信する際の状況データ(通信状況、自装置内の資源の空き状況、近い過去において実測された通信帯域の値など)を、所定の単位で、帯域予測サーバー装置に送信する。このデータを便宜的に帯域予測用データとも呼ぶ。帯域予測サーバー装置は、端末装置から受信した帯域予測用データに基づき、その端末装置のために通信帯域を予測する。そして、帯域予測サーバー装置は、帯域予測情報を端末装置に対して返送する。端末装置は、帯域予測サーバー装置から受信した帯域予測情報に基づいて、帯域を選択してコンテンツをダウンロードする。
上記の実測された通信帯域の値としては、例えば、所定の長さの時系列のチャンクの受信時に、端末装置が計測した値を用いる。帯域予測用データに含まれる通信帯域の値は、連続するチャンクに関して計測された値でもよいし、所定数のチャンクごとに計測された値でもよい。
上記の帯域予測サーバー装置は、システム内の通信ネットワーク上に複数存在することができる。端末装置は、適切な指標に基づいて、どの帯域予測サーバー装置に接続するかを、適宜選択したり変更したりすることができる。
帯域予測サーバー装置が持つ帯域予測学習器は、端末装置から送信されたデータを入力とし、その端末装置が次のチャンクを受信する際の通信スループットを予測する。本実施形態における帯域予測学習器は、ニューラルネットワーク(neural network)を用いて実現される。この帯域予測学習器は、複数の端末装置から、当該学習器への入力データと、その入力データに対応する正解データとの組を大量に収集し、収集したデータ(学習データ)により学習を行い、予測精度を上げる。ここで、正解データとは、端末装置が次のチャンクを受信した際のスループットである。また、複数の帯域予測サーバー装置が存在するとき、それらの帯域予測サーバー装置間で学習データを適宜共有してよい。
図1は、本実施形態による配信システムの概略構成を示すブロック図である。図示するように、配信システム1は、端末装置2-1,2-2,2-3,2-4,・・・と、帯域予測サーバー装置3-1,3-2と、映像配信サーバー装置4と、を含んで構成される。なお、帯域予測サーバー装置は、「帯域予測装置」とも呼ばれる。
これらの各装置は、例えば、電子回路を用いて実現される。また、各装置部は、必要に応じて、半導体メモリーや磁気ハードディスク装置などといった記憶手段を内部に備えてよい。また、各装置の機能を、コンピューターおよびソフトウェアによって実現するようにしてもよい。
端末装置2-1,2-2,2-3,2-4,・・・のそれぞれは、エンドユーザーが映像の配信を受信するために用いる装置である。なお、端末装置2-1,2-2,2-3,2-4,・・・を、総称して「端末装置2」と呼ぶことがある。この図においては4台の端末装置2のみを示しているが、実際には、端末装置2の台数は任意である。
帯域予測サーバー装置3-1,3-2は、直近の過去における映像の受信状況を表す情報(具体的には、通信帯域の実測値)を端末装置2から受け取り、その情報に基づいて、その端末装置2が近い未来において映像を受信する際の通信帯域を予測する。帯域予測サーバー装置3-1,3-2は、予測によってえら得た値を元の端末装置2に返す。なお、帯域予測サーバー装置3-1,3-2,・・・、総称して「帯域予測サーバー装置3」と呼ぶことがある。この図においては2台の帯域予測サーバー装置3のみを示しているが、実際には、帯域予測サーバー装置3の台数は任意である。
映像配信サーバー装置4は、端末装置2からの要求に基づいて、端末装置2に対して映像を配信する機能を有する。映像配信サーバー装置4は、ある映像コンテンツに関して、複数の異なる品質の映像ファイルを配信することができる。それらの映像ファイルのサイズ(単位時間当たりのバイト数等で表される)は、品質のレベルに応じて異なる。映像配信サーバー装置4は、端末装置2からの要求にしたがって、どの品質の映像ファイルを配信するかを決定する。
図1の構成を有する配信システム1は、全体として、次のように機能する。
映像配信サーバー装置4は、前述のHASの方式で、動画のストリーミング配信を行う。
端末装置2(端末装置2-1,2-2,2-3,2-4,・・・のいずれか。以下においても同様。)は、映像配信サーバー装置4にアクセスして、動画のチャンクをダウンロードし、自装置内で再生する。
このとき、端末装置2は、チャンクを、所定の時系列順にダウンロードする。
端末装置2は、チャンクをダウンロードする際に、帯域予測サーバー装置3(帯域予測サーバー装置3-1,3-2のいずれか。以下においても同様。)に対して、データを送信する。このデータは、端末装置2が過去のチャンクをダウンロードした際の帯域(実測値)や、その時点でその端末装置が保持している空き映像バッファー量や、その時点でその端末装置のネットワークへの接続の種別を表すラベル値(数値)を含む。このデータを「帯域予測用データ」とも呼ぶ。
帯域予測サーバー装置3は、端末装置2から受信した帯域予測用データに基づき、帯域予測値を求める。具体的には、帯域予測サーバー装置3は、帯域予測用データを、帯域予測サーバー装置3の内部に備える帯域予測学習器に入力し、帯域予測学習器からの出力として帯域予測値を得る。帯域予測サーバー装置3は、求められた帯域予測値を、帯域予測用データの送信元の端末装置2に対して返信する。
端末装置2は、帯域予測サーバー装置3から帯域予測値を受信し、その帯域予測値に基づいて、次にダウンロードするチャンクのビットレートを選択する。即ち、端末装置2は、複数の異なるファイルサイズを有するチャンクの中から、その帯域予測値に合ったチャンクをダウンロードするよう選択する。
図2は、端末装置2の概略機能構成を示す機能ブロック図である。図示するように、端末装置2は、映像受信部11と、バッファー管理部12と、映像復号部13と、帯域計測部14と、帯域情報管理部15と、バッファー量計測部16と、データ整形部17と、データ送信部18と、ネットワーク接続管理部19と、帯域予測受信部20と、帯域制御部21とを含んで構成される。なお、映像受信部は、「受信部」とも呼ばれる。これら各部の機能は、例えば電子回路を用いて実現される。各部の機能は、次の通りである。
映像受信部11は、外部の映像配信サーバー装置4から、所定の通信帯域に応じたコンテンツファイル(例えば、映像データ)を受信するものである。
バッファー管理部12は、端末装置2が用いる通信用バッファー(特に、映像受信部11がコンテンツファイルを受信するための受信バッファー)を管理する。
映像復号部13は、映像受信部11によって受信された映像データを、バッファー管理部12が管理する受信バッファーから順次取り出し、復号する。
帯域計測部14は、映像受信部11がコンテンツファイルを受信する際の通信帯域を計測(実測)するものである。
帯域情報管理部15は、帯域計測部14によって計測された通信帯域の値の時系列を記憶し、管理する。
バッファー量計測部16は、バッファー管理部12によって管理されるバッファーの空き容量を計測する。特に、バッファー量計測部16は、映像受信部11がコンテンツファイルを受信する際の、受信用バッファーの空き領域の量を表す空きバッファー量を計測する。
データ整形部17は、映像受信部11がコンテンツファイルを受信する際の状況を表す帯域予測用データを整形し、データ送信部18に渡す。
具体的には、データ整形部17は、帯域計測部14が計測した通信帯域の計測値を含む帯域予測用データを整形する。
また、データ整形部17は、バッファー量計測部16が計測した空きバッファー量の値を含む帯域予測用データを整形する。
また、データ整形部17は、ネットワーク接続管理部19が管理する現在の通信ネットワーク接続の種別を表す値を含む帯域予測用データを整形する。
なお、帯域予測用データが含む情報は、本実施形態で説明する形態以外のものであってもよい。
データ送信部18は、データ整形部17が整形した帯域予測用データを外部の帯域予測サーバー装置3に送信する。
ネットワーク接続管理部19は、通信ネットワークの接続を管理する。特に、ネットワーク接続管理部19は、映像受信部11がコンテンツファイルを受信するための通信ネットワーク接続の種別を管理する。
帯域予測受信部20は、データ送信部18が送信した帯域予測用データに対応して、外部の帯域予測サーバー装置3から、帯域予測値データを受信する。帯域予測値データは、帯域予測サーバー装置3によって求められた通信帯域の予測値である。
帯域制御部21は、帯域予測受信部20が受信した帯域予測値データに基づいて、映像受信部11が受信するコンテンツファイルについての通信帯域を制御する。つまり、帯域制御部21の制御により、映像受信部11は、帯域予測受信部20が受信した帯域予測値データに適した通信帯域のコンテンツファイルを受信することとなる。
図3は、帯域予測サーバー装置3の概略機能構成を示す機能ブロック図である。図示するように、帯域予測サーバー装置3は、データ受信部31と、帯域予測部32と、帯域予測送信部33とを含んで構成される。なお、帯域予測部は、「予測部」とも呼ばれる。これら各部の機能は、例えば電子回路を用いて実現される。各部の機能は、次の通りである。
データ受信部31は、端末装置2から帯域予測用データを受信し、その帯域予測用データを帯域予測部32に渡す。
帯域予測部32は、渡された帯域予測用データに基づいて通信帯域の値を予測し、出力する。
帯域予測送信部33は、帯域予測部32によって予測された値(帯域予測値)を、端末装置2に対して返信する。
帯域予測部32は、より具体的には、次に説明する通りの機能を有する。
帯域予測部32は、端末装置2側から渡された情報をもとに、帯域予測学習器を利用して情報を送信してきた端末装置のための次の時点の通信帯域を予測する。
帯域予測部32は、後述するように、機械学習機能を用いて実現される。また、帯域予測部32は、後述するように、一例としてニューラルネットワークを用いて実現される。つまり、帯域予測部32は、学習済みのモデルを記憶するモデル記憶部を有する。つまり、帯域予測部32の機能を、次のように捉えることができる。即ち、モデル記憶部は、端末装置2がコンテンツファイルを受信する際の状況を表す帯域予測用データと、前記帯域予測用データが表す状況において端末装置2が実際にコンテンツファイルを受信したときに計測された通信帯域の値との関係を予め学習して得られたモデルを記憶する。言い換えれば、「帯域予測用データが表す状況において端末装置2が実際にコンテンツファイルを受信したときに計測された通信帯域の値」とは、帯域予測用データを前提としたときに端末装置2が実際にコンテンツファイルを受信したときに計測された通信帯域の値である。具体的には、モデル記憶部は、例えば上記モデルのパラメーター値の集合を記憶するようする。つまり、このモデルは、帯域予測用データとその状況における通信帯域の値との関係を記憶するものである。この学習済みのモデルは、帯域予測用データが入力されたときに、通信帯域の値の最尤値を出力することができる。つまり、帯域予測部32は、端末装置2から帯域予測用データを受信した際に、受信した帯域予測用データと、上記のモデル記憶部が記憶するモデルとに基づいて、通信帯域の値を予測する。
なお、本実施形態における帯域予測部32は、端末装置2から受信した帯域予測用データと、当該帯域予測用データが表す状況において端末装置2が実際に前記コンテンツファイルを受信したときに計測された前記通信帯域の値とを用いた学習処理を行うことによって、上記のモデル記憶部が記憶するモデルを更新することができる。
次に、システム全体の処理の流れについて説明する。
端末装置2(図2も参照)の映像受信部11は、外部の、例えば映像配信サーバー装置4から、映像データをチャンクごとに受信する。映像受信部11は、映像データ受信時の状況の情報を、帯域計測部14に渡す。具体的には、映像受信部11は、現在のチャンクを受信するために要した時間の長さと、受信したチャンクのファイルのサイズとを、帯域計測部14に渡す。帯域計測部14は、帯域計測部では映像受信部11から渡された上記の情報を基に、そのチャンクをダウンロードした際の通信帯域を計算する。具体的には、帯域計測部14は、チャンクのファイルのサイズ(情報量。単位は例えばビット(bit)あるいはバイト(byte))を、受信に要した時間(単位は例えば秒)で除算することにより、帯域(単位は、例えば、ビット毎秒(bit per second))を計算する。なお、例えば映像や音声と言ったコンテンツのデータのサイズに比べて、通信の制御のための制御情報のサイズは小さいため、オーバーヘッドのための通信帯域は無視できるほど小さい。帯域計測部14は、算出された帯域の情報を、帯域情報管理部15に渡す。帯域情報管理部15は、帯域計測部14によって算出された帯域の情報を時系列順に保存し、管理する。
バッファー管理部12は、映像のファイルを少なくとも一時的に蓄積するための映像バッファーを持っている。バッファー管理部12は、映像受信部11が受信したチャンクのファイルを、動画の時系列順に上記の映像バッファーに書き込む。また、バッファー管理部12は、動画を再生・表示するために、その映像バッファーからチャンクを順次読み出し、映像復号部13に逐次渡す。映像復号部13は、定められた再生時刻(提示時刻)に基づいて、バッファー管理部12から受け取った映像のチャンクを復号し、得られた映像をディスプレイに表示する。なお、映像は、音声を含むものであってもよい。映像復号部13は、音声をも復号し、スピーカー等から出力する。
バッファー量計測部16は、バッファー管理部12が持つ映像バッファーを監視するとともに、その映像バッファーの空き容量(残量)を計測する。具体的には、映像受信部11が映像のチャンクをダウンロードし、バッファー管理部12が映像バッファーに書き込んだ時点で、バッファー量計測部16の空き容量を計測する。バッファー量計測部16は、計測した空き容量の情報を、記憶手段に書き込み保存する。なお、バッファー量計測部16が、映像バッファーの空き容量だけでなく、全体容量や使用中容量をも計測し、保存するようにしてもよい。通信バッファーが枯渇すると、通信(コンテンツの受信等)に待ちが発生する。したがって、本実施形態において、バッファーの空き容量の情報を通信帯域の予測に利用する。
ネットワーク接続管理部19は、端末装置2が接続しているネットワークの種別を検知する。なお、ネットワークの種別については、後述する(図4も参照)。
データ整形部17は、帯域情報管理部15と、バッファー量計測部16と、ネットワーク接続管理部19とから情報を取得し、帯域予測用データを整形する。
具体的には、データ整形部17は、まず帯域情報管理部15から、過去のチャンクをダウンロードした際の帯域情報の時系列を取得する。つまりデータ整形部17は、時系列上、最新のものからTチャンク(Tは、正整数)分の帯域情報を、数値(帯域の値)のリストのデータとして取得する。なお、Tの値により、帯域を予測するために、どの程度過去のチャンクの受信時までの状況を使うかが決まる。Tの値は、予めシステム全体で適切に定めておくようにする。
なお、データ整形部17がデータを整形する時点で、過去にダウンロードしたチャンク数がT未満である場合には、データ整形部17は、取得可能なチャンク数分の帯域情報を取得したうえで、足りない分の帯域情報を埋める。例えば、データ整形部17は、取得可能な最も過去の帯域情報の数値をコピーして、不足する帯域情報を埋める(図5も参照)。
次に、データ整形部17は、バッファー量計測部16から、その時点でバッファー管理部12が使用可能な空き容量の情報(数値情報)を取得する。
さらに、データ整形部17は、ネットワーク接続管理部19から、その時点で端末装置2が接続しているネットワークの接続種別の情報を取得し、その接続種別に対応するラベル値を取得する。
データ整形部17は、得られたこれら3種類の情報を、チャンクのダウンロードのタイミングと同期して更新する。つまり、映像受信部11がチャンクのファイルを受信し、バッファー管理部12がそのチャンクのファイルを映像バッファーに書き込み、バッファー量計測部16が映像バッファーの空き容量を算出する都度、データ整形部17が上述した3種類の情報を更新する。このようにして、データ整形部17は、常に最新の状況に対応するデータを維持する。
そして、データ整形部17は、映像受信部11が次のチャンクのダウンロードを開始する前に、最新のデータをデータ送信部18に渡す。データ送信部18は、データ整形部17から渡されたデータを、帯域予測用データとして、帯域予測サーバー装置3(図1における帯域予測サーバー装置3-1または3-2のいずれか)に対して送信する。
帯域予測サーバー装置3(図3も参照)のデータ受信部31は、端末装置2から送信された帯域予測用データを受信する。データ受信部31は、受信した帯域予測用データを、帯域予測部32に渡す。帯域予測部32は、受け取った帯域予測用データに基づき、送信元の端末装置2が次にダウンロードすべきチャンクのビットレート(帯域)を決定する。言い換えれば、帯域予測部32は、適切な帯域を予測する。帯域予測部32は、予測として得られたビットレート(帯域予測値)の情報を、帯域予測送信部33に渡す。帯域予測送信部33は、帯域予測部32から渡された帯域予測値を、端末装置2側に送信する。
端末装置2(図2も参照)の帯域予測受信部20は、上の帯域予測送信部33から送信された帯域予測値を受信し、帯域制御部21に渡す。帯域制御部21は、帯域予測値の情報を映像受信部11に渡すことにより、映像受信部11が次に受信するチャンクの帯域を制御する。
図4は、端末装置2のネットワークへの接続種別と、接続種別に対応するラベル値との関係を示す概略図である。端末装置2のネットワークへの接続種別は、端末装置2が映像ファイルを受信する際の通信帯域に強く影響する要因である。図示するように、接続種別「有線接続」は、ラベル値「0」に対応する。また、接続種別「無線接続」は、ラベル値「1」に対応する。また、接続種別「3G携帯回線」は、ラベル値「2」に対応する。また、接続種別「4G接続回線」は、ラベル値「3」に対応する。なお、「3G」は、「3rd generation」の略であり、第3世代携帯電話システムを表す。また、「4G」は、「4th generation」の略であり、第4世代移動通信システムを表す。
なお、図4に示した接続種別とラベル値のペアの集合は単なる一例である。他の接続種別とラベル値とのペアを定義して用いるようにしてもよい。接続種別は、図4に例示したものより詳細に分類したものであってもよいし、より簡略化した分類によるものであってもよい。例えば、接続種別として、キャリア名や、ISP名や、契約種別(例えば、回線速度の上限)といった接続種別に、ラベル値を対応させてもよい。
図5は、データ整形部17が帯域情報管理部15から受け取る帯域情報の構成例を示す概略図である。前述の通り、データ整形部17は、過去に遡及してT個分のチャンクに対応する帯域情報を帯域情報管理部15から受け取る(同図(A)に示す場合)。ただし、端末装置2が既に受信しているチャンクの数がTに満たない場合は、データ整形部17は、受信した分だけのチャンクに対応する帯域情報を帯域情報管理部15から受け取る(同図(B)に示す場合)。
同図(A)に示す場合には、データ整形部17は、T個の数値のリストを帯域情報管理部15から受け取る。なお、本例において、数値の単位は、ビット毎秒(bps)である。代わりに、キロビット毎秒(kbps)や、メガビット毎秒(Mbps)などといった単位を用いてもよい。ここでは、データ整形部17は、tは、受信済みの最新のチャンクに対応するタイミングを表す。(t-1)は、tの1個前のチャンクに対応するタイミングを表す。以後同様に、(t-T+1)のタイミングにおけるチャンクまでの帯域情報を受け取る。図示する例では、タイミング(t-T+1)からtまでの順(時刻の古い側から新しい側への順)に、それらの数値は、316410,311735,321455,・・・,288321,300450である。
同図(B)に示す場合には、端末装置2は、まだ過去に(T-2)個のチャンクしか受信していない。即ち、タイミングt(最新のタイミング)から、順に遡って、タイミング(t-T+3)までは帯域情報が蓄積されており、データ整形部17はそれら(T-2)個の数値のリストを受け取る。そして、タイミング(t-T+2)およびタイミング(t-T+1)の2件に関して、数値データは存在しない。この場合、前述の通り、データ整形部17は、例えば、取得可能な最も過去の帯域情報の数値をコピーすることによって不足する帯域情報を埋める。同図(B)に示す例では、取得された最も過去の帯域情報の数値である321455(タイミング(t-T+3)における数値)を、データ整形部17は、タイミング(t-T+2)およびタイミング(t-T+1)の欄にコピーして埋めている(同図(B2)に示す状態)。
なお、データ整形部17は、他の方法によって不足する帯域情報のデータを埋めてもよいし、不足する帯域情報のデータを埋めずにあらかじめ決めた定数で置き換えるなどしてもよい。
次に、帯域予測サーバー装置3における学習データの構築方法について説明する。
図6は、帯域予測のための学習データの構築方法を説明するための概略図である。帯域予測サーバー装置3は、端末装置2から送信される帯域予測用データに基づいて帯域の予測を行うとともに、その帯域予測用データを蓄積して帯域予測のための学習データを構築する。同図(A)および(B)は、帯域予測サーバー装置3が端末装置2から受信する帯域予測用データの構成を示す。同図(A)は、時刻tにおける帯域予測用データを示す。また、同図(B)は、時刻(t+1)における帯域予測用データを示す。つまり、同図(B)に示すデータは、同図(A)に示すデータの1回後に、端末装置2から帯域予測サーバー装置3に送信されるデータである。
同図(A)に示すように、この帯域予測用データは、接続種別と、映像バッファー量(空き容量)と、帯域情報とを含んで構成される。より具体的には、同図(A)に示す帯域予測用データにおいて、接続種別は、時刻tにおける出力種別のラベル値(これを、c(t)と表す)のデータである。また、映像バッファー量は、時刻tにおける映像バッファーの空き容量を表す数値(これを、b(t)と表す)のデータである。帯域情報は、その時点における最新のTチャンク分の帯域を表す数値(これを、s(t-T+1),s(t-T+2),s(t-T+3),・・・,s(t)と表す)のリストのデータである。
同図(B)に示す帯域予測用データは、同図(A)に示す帯域予測用データと同一の形式を有し、同図(A)に示した時点よりもタイミングが1回分進んだデータである。つまり、同図(B)に示す時刻(t+1)における帯域予測データにおいて、接続種別はc(t+1)であり、映像バッファー量(空き容量)はb(t+1)である。そして、帯域情報は、数値s(t-T+2),s(t-T+3),s(t-T+4),・・・,s(t+1)のリストのデータである。
帯域予測サーバー装置3は、このように、端末装置2ごとの、時系列の帯域予測用データを蓄積・保存する。そして、帯域予測サーバー装置3は、蓄積した帯域予測用データを学習データとして利用する。図6(B)に示す帯域情報のうち、最新の帯域情報であるs(t+1)は、時刻(t+1)におけるチャンクのファイルを受信した際に端末装置2側で実測した受信ビットレートである。つまり、このs(t+1)を、時刻tの帯域予測用データに対応する正解データと見なしてよい。即ち、同図(C)に示すように、同図(A)に示すデータ(時刻tにおける、接続種別、映像バッファー量、帯域情報(Tチャンク分))と、同図(B)に示すデータの中の最新時点の帯域情報(s(t+1))とを、あわせて、時刻tに関する正解付き学習データとする。
なお、配信システム1内に複数の帯域予測サーバー装置3が存在する場合、適宜、複数の帯域予測サーバー装置3間で上記の学習データを共有するようにしてもよい。なお、帯域予測サーバー装置3間で学習データを共有するための具体的な方法として、例えば、各装置が学習データを蓄えた共通のデータベースサーバーにアクセスするようにしたり、各装置間で定期的にデータを交換して同期を取ったりする。
また、配信システム1内に複数の帯域予測サーバー装置3が存在する場合、端末装置2は、適宜選択した帯域予測サーバー装置3に対して情報を送信し、帯域の予測を要求する。端末装置2は、例えば、帯域予測サーバー装置3との間の通信におけるRTT(ラウンドトリップタイム、往復遅延時間)を測定し、RTTの短い帯域予測サーバー装置3に対して帯域の予測を要求する。また、あるいは端末装置2は、例えば、帯域予測サーバー装置3からその稼働負荷状況を表す情報を取得し、低負荷の帯域予測サーバー装置3に対して帯域の予測を要求する。これらにより、端末装置2は、安定的に帯域予測データを取得することが可能となる。
図7は、帯域予測サーバー装置3の帯域予測部32が備えるニューラルネットワーク(帯域予測学習器)の構成を示す概略図である。図示するように、このニューラルネットワークは、複数の入力ノードを持つ帯域情報入力層201と、正規化部202と、複数の正規化された帯域情報のノードを持つ正規化帯域情報層203と、RNN(リカレントニューラルネットワーク)204と、全結合層205と、映像バッファー量入力ノード211と、ネットワーク接続種別入力ノード212とを含んで構成される。なお、ニューラルネットワーク自体は既存の技術を利用して実現することができる。
帯域情報入力層201は、T個の入力ノードを有する。帯域情報入力層201は、過去Tチャンク分の帯域情報を受け付ける。帯域予測部32は、学習データから抽出した帯域情報を帯域情報入力層201に取り込む。帯域情報は、ビット毎秒(bit per second)を単位とする数値であり、最新のものから順に、s(t),s(t-1),・・・,s(t-T+1)である。
正規化部202は、これらの帯域情報を正規化する。具体的には、正規化部202は、T個の数値s(t),s(t-1),・・・,s(t-T+1)のそれぞれを、予め定められた固定値Mで除算し、その結果をs´(t),s´(t-1),・・・,s´(t-T+1)として出力する。ここで、値Mは、例えば、端末装置2がネットワークを介して映像コンテンツをダウンロードする際に達成し得る帯域の理論的最大値である。例えばネットワークを構築した際にMの値を決定しておく。これにより、正規化部202は、帯域情報を、0以上且つ1以下の範囲の数値に正規化する。
正規化帯域情報層203は、T個のノードを有する層であり、正規化部202から出力されるT個の数値データを、それぞれ、RNN(リカレントニューラルネットワーク)204に渡す。
RNN・204は、時系列データである正規化された帯域情報s´(t),s´(t-1),・・・,s´(t-T+1)に基づく分析を行う。一例として、LSTM(Long Short-Term Memory)等といった学習モジュールを利用して、RNN・204を実現することができる。RNN・204からの出力は、全結合層205に引き渡される。
映像バッファー量入力ノード211は、学習データの一部である映像バッファー量(空き容量)の数値データを受け付ける。
ネットワーク接続種別入力ノード212は、学習データの一部であるネットワーク接続種別のデータ(数値によるラベルのデータ)を受け付ける。
全結合層205と、RNN・204からの出力データと、映像バッファー量入力ノード211が受け付けた映像バッファー量のデータと、ネットワーク接続種別入力ノード212が受け付けたネットワーク接続種別のデータとを入力とする。全結合層205は、複数の階層を有するニューラルネットワークであり、1個の数値のデータを出力する。図示する例では全結合層205は入力層および出力層を合わせて3層を有する。しかし、全結合層における層の数は任意であり、必要に応じて増減する事ができる。各層のノードにおける活性化関数としては、例えば、広く知られているReLU(Rectified Linear Units)関数を利用することができる。ただし、シグモイド関数など、他の関数を活性化関数として用いてもよい。
全結合層205の最終層(出力層)は単一のノードを有する。出力層からの出力値をシグモイド関数によって活性化することによって、最終的にこのニューラルネットワークは、0以上且つ1以下の値に変換する。この出力値を、正規化された帯域予測値S´pred(t+1)とする。そして、このニューラルネットワークは、正規化された帯域予測値S´pred(t+1)に上述の固定値Mを乗ずることによって、正味の帯域予測値Spred(t+1)を出力する。つまり、帯域予測部32は、この正味の帯域予測値Spred(t+1)を出力する。そして、帯域予測サーバー装置3は、端末装置2に対して、この帯域予測値Spred(t+1)を返送する。
以上説明したように、帯域予測部32は、直近過去のT個の帯域情報の数値だけではなく、端末装置2が接続されている通信ネットワークの種別や、端末装置2において映像を受信するためのバッファーの空き容量にも基づいた分析を行う。したがって、帯域予測部32は、ネットワークの特性やバッファー空き容量にも応じた適切な予測を行うことができる。ここで、ネットワークの特性とは、例えば、ネットワーク自体が本来有する帯域や、有線通信回線に特有の帯域のパターンや、無線通信回線に特有の例えば端末装置2の移動に伴う帯域幅の変動等を含む。
帯域予測部32が有するニューラルネットワークは、既に説明した学習データ(図6等を参照)を用いて予め学習を行っておくようにする。また、前回の学習後にさらに蓄積された学習データを用いて追加の学習を行うようにしてもよい。学習の手法としては、既存の技術によるバックプロパゲーション(誤差逆伝播法)を用いることができる。学習により、ノード(ニューロン)間の接続における重み等が最適化される。なお、バックプロパゲーションのための損失関数Lは学習器の予測値と正解データとの二乗誤差とし、接続係数の更新には勾配法の一つであるAdam(Adaptive Moment Estimation)を用いる。ただし、損失関数、勾配法ともに他の利用可能な方法を使用してもよい。
なお、帯域予測部32が有するニューラルネットワークの学習については、配信システム1を稼働させながら各端末装置2からデータを収集して、実際に予測をしつつ学習を行ってもよい。また、予め学習を完了してから、配信システム1の実稼働中には予測のみを行う方式をとってもよい。
図8は、端末装置2が、帯域予測サーバー装置3から帯域予測値を取得し、得られた帯域予測値を用いて映像を受信する一連の処理の流れを示すフローチャートである。以下、このフローチャートに沿って動作手順を説明する。
まず、ステップS11において、データ整形部17は、帯域予測用データを整形する。データ整形部17がデータを整形する処理を行う前に、既に、帯域情報管理部15は帯域情報を作成し、バッファー量計測部16はバッファー容量の情報を作成し、ネットワーク接続管理部19は接続種別の情報を作成している。なお、例えば初期状態等において、帯域情報がまだまったくない場合には、帯域情報管理部15は、適切なデフォルト値を用いた帯域情報を作成したり、適切な予測値に基づいた帯域情報を作成したりする。 次に、ステップS12において、データ送信部18は、データ整形部17が整形した帯域予測用データを、帯域予測サーバー装置3に送信する。
次に、ステップS13において、帯域予測受信部20は、帯域予測サーバー装置3から返送される帯域予測値のデータを受信する。帯域予測受信部20は、受信した帯域予測値のデータを、帯域制御部21に渡す。
次に、ステップS14において、帯域制御部21は、帯域予測受信部20から渡された帯域予測値のデータに基づいて、受信するチャンクの種類を選択する。つまり、帯域制御部21は、受信するチャンクのビットレートを複数の中から選択することができる。帯域制御部21は、映像受信部11が次回に(または次回以後に)選択されたビットレートのチャンクを受信できるように制御する。
次に、ステップS15において、映像受信部11は、映像のチャンクを受信する。受信されたチャンクのファイルはバッファー管理部12に渡され、さらに映像復号部13がそのチャンクの映像を復号・再生する。
一方で、ステップS16において、帯域計測部14は、直近のチャンクを受信した際の帯域の実績値を計測する。帯域計測部14が求めた帯域の実績値のデータは、帯域情報管理部15に渡される。帯域情報管理部15は、帯域の実績値のデータを時系列に管理し、保存する。
次に、ステップS17において、端末装置2は、映像の受信を終了するための終了条件が成立しているか否かを判定する。終了条件が成立するのは、例えば、受信すべき映像コンテンツが終了した場合や、ユーザー等の操作により映像の受信を終了させる場合や、通信エラー等により映像の受信を終了させるべきであると判断した場合などである。映像の受信を終了させる場合(ステップS17:YES)には、端末装置2は、本フローチャート全体の処理を終了する。映像の受信を終了させない場合(ステップS17:NO)には、端末装置2は、さらにチャンクを受信するためにステップS11の処理に戻る。
以上説明したように、本実施形態によれば、端末装置2は、最近の実績による帯域情報に基づいて予測された帯域予測値を受信し、その帯域予測値に基づいて、適切な帯域の映像ファイルを受信することができる。また、端末装置2は、帯域情報以外の情報(通信ネットワークの種別や、映像バッファーの空き容量等)にも基づいた帯域予測値を受信し、適切な帯域の映像ファイルを受信することができる。また、帯域予測サーバー装置3は、端末装置2から受信したデータを学習データとして用いて(実際に計測された帯域情報を、正解データとしても、正解を求めるための前提データとしても用いる)、帯域予測値を求めるための帯域予測学習器を学習させることができる。また、帯域予測サーバー装置3は、学習済の帯域予測学習器を用いて、帯域予測値を算出することができる。
次に、上記実施形態の変形例について説明する。これらの変形例により上記実施形態を変形させて実施してもよい。また、下に説明する複数の変形例を組み合わせて実施してもよい。
[第1変形例]
上記実施形態では、端末装置2は、受信した1チャンクごとに帯域情報を求め、その帯域情報を含んだ帯域予測用データを帯域予測サーバー装置3に送信し、帯域予測サーバー装置3から返送される帯域予測値に基づいて、上記チャンクの次のチャンクの帯域を選択していた。本変形例では、端末装置2が、帯域情報を求める頻度や、帯域予測値を受信するタイミングや、受信した帯域予測値を適用するタイミングなどに関して、より高い自由度を持たせる。
図9は、本変形例による映像配信の手順を示すシーケンス図である。同図は、端末装置2と、映像配信サーバー装置4および帯域予測サーバー装置3との間の、通信のシーケンスを表している。以下、このシーケンスに沿って説明する。
なお、同図において、映像のチャンクファイルに順番を付している。以下において、図内の第i番目(iは正整数)のチャンクを、「チャンクi」と呼ぶ場合がある。
ステップS21において、端末装置2は、映像配信サーバー装置4から、チャンク1を受信する。
次に、ステップS22において、端末装置2は、映像配信サーバー装置4から、チャンク2を受信する。
以下同様に、端末装置2は、順次チャンクを受信する。
そして、ステップS23において、端末装置2は、映像配信サーバー装置4から、チャンクmを受信する。
ここで、mは、予め適宜定められる正整数である。本変形例では、m個のチャンクを1個のセグメントとして扱い、端末装置2は、これらm個のチャンク(ここでは、チャンク1からチャンクmまで)の帯域情報を代表する帯域情報の数値を求める。セグメントを代表する帯域情報は、例えば、m個のセグメントそれぞれについて求められた帯域の平均値、m個のセグメントそれぞれについて求められた帯域の中央値、m個のセグメントのうちの特定の順番におけるチャンク(一例として、セグメント内の最後のチャンク)の帯域等であるが、ここに例示したもの以外を用いてもよい。
ステップS24において、端末装置2は、整形した帯域予測用データを、帯域予測サーバー装置3に送信する。ここで、帯域予測用データは、Tセグメント分の帯域情報を含む。
次に、端末装置2は、次のセグメントに含まれるチャンクの受信を開始する。
ステップS25において、端末装置2は、映像配信サーバー装置4から、チャンク(m+1)を受信する。
次に、ステップS26において、端末装置2は、映像配信サーバー装置4から、チャンク(m+2)を受信する。
このセグメントの受信の途中における、ステップS27において、端末装置2は、帯域予測サーバー装置3から届く帯域予測値のデータを受信する。この帯域予測値は、チャンクmまでの帯域情報等に基づいて、帯域予測サーバー装置3が求めたものである。
本変形例において、端末装置2は、チャンクmまでの帯域情報に基づいて求められた帯域予測値を、チャンク(m+k)の受信時から適用する。ここで、kは、1以上の整数であり、予め定められる値である。即ち、端末装置2は、ステップS27で受信した帯域予測値を用いて、チャンク(m+k)以後のチャンクの帯域を選択する。
ステップS26のチャンク(m+2)以後も、端末装置2は受信を続ける。
そして、ステップS28において、端末装置2は、映像配信サーバー装置4から、チャンク(2m)を受信する。
ここで、端末装置2は、チャンク(m+1)からチャンク(2m)までのチャンクで成るセグメントを代表する帯域情報を求める。セグメントを代表する帯域情報に関しては、既に先のセグメントに関して説明した通りである。
そして、ステップS29において、端末装置2は、直近のTセグメント分の帯域情報を含んだ帯域予測用データを、帯域予測サーバー装置3に送信する。
次のチャンクのセグメントおよびそれ以降についても、同様に、端末装置2が処理する。つまり、ステップS30において、端末装置2は、映像配信サーバー装置4から、チャンク(2m+1)を受信する。
以後も同様である。
以上、説明したように、本変形例では、端末装置2は、m個のチャンクから成るセグメントを代表する帯域情報を求め、その帯域情報のTセグメント分の時系列を、帯域予測用データとして整形する。帯域予測サーバー装置3は、Tセグメント分の帯域情報と、その他の情報とに基づいて、帯域予測値を求め、端末装置2に送信する。帯域予測サーバー装置3が端末装置に帯域予測値を送信するタイミングは、その次のチャンク(例えば、チャンクmに対して、次のチャンクはチャンク(m+1))を端末装置2が受信する前でなくてもよい。また、端末装置2は、直前までのセグメントに基づいて得られた帯域予測値を直ちに適用することは必ずしも必要ではなく、例えば、kチャンク分の遅延をもってその帯域予測値を適用してもよい。例えば、チャンクmに対して、チャンク(m+k)の受信時から帯域予測値を適用してよい。
既に説明した実施形態は、この変形例において説明している形態の一特殊例と捉えることもできる。即ち、上で説明した実施形態においては、m=1、且つk=1である。
[第2変形例]
上記の実施形態では、端末装置2は、帯域予測サーバー装置3に帯域の予測を要求する際に、接続種別と、映像バッファー量と、時系列の帯域情報とを、帯域予測サーバー装置3側に送信した。そして、帯域予測サーバー装置3は、これらの情報を受信して学習処理を行うとともに、これらの情報に基づいて帯域の予測を行った。一方、本変形例では、端末装置2は、上記とは異なる情報を帯域予測サーバー装置3に送り、帯域の予測を要求する。そして、帯域予測サーバー装置3は、その情報を受信して学習処理を行うとともに、その情報に基づいて帯域の予測を行う。
一例として、端末装置2は、帯域予測のための情報として、時系列の帯域情報(実績)のみを、帯域予測サーバー装置3に送信する。帯域予測サーバー装置3は、受信した時系列の帯域情報のみを用いて学習処理を行うとともに、その時系列の帯域情報に基づいて帯域を予測する。
また、一例として、端末装置2は、帯域予測のための情報として、現在時刻(または時間帯)の情報を、単独であるいは他の情報ととともに、帯域予測サーバー装置3に送信する。帯域予測サーバー装置3は、受信した現在時刻(または時間帯)の情報を用いて学習処理を行うとともに、その現在時刻(または時間帯)の情報に基づいて帯域を予測する。
さらに、別の例として、端末装置2は、ここに例示した情報以外の情報を帯域予測のために送信してもよい。その場合も、帯域予測サーバー装置3は、受信した情報に基づいて帯域を予測する。
[第3変形例]
上記の実施形態では、帯域予測サーバー装置3の帯域予測部32は、学習機能を備えていた。本変形例では、帯域予測部32は、学習機能を持たない。あるいは、帯域予測部32は、オンラインでの学習を行わない。しかし、本実施形態においても、帯域予測部32は、図7に示したようなニューラルネットワークを有しており、そのニューラルネットワークは予め学習済みである。つまり、帯域予測部32は、学習済みのモデルを予め記憶しており、端末装置2から受信する情報にその学習済みのモデルを適用することによって、帯域を予測する処理を行う。
[第4変形例]
上記の実施形態では、コンテンツとして、映像を配信する形態を説明した。配信システムにおいて端末装置に対して配信されるコンテンツは、映像に限らず、他の形態のコンテンツであってもよい。例えば、配信システムにおいて、音声のみから成るコンテンツを端末装置に配信するようにしてもよい。
上記の実施形態あるいはその変形例によれば、過去のスループット(計測された通信帯域の値)などの情報に対して、機械学習による方法で自動的に重み付けを行うことで、重要な情報に着目して通信帯域を予測することができる。端末装置からのビットレートの指定に基づいてコンテンツを配信する配信システムにおいては、利用可能な通信帯域を活用しながら、適切なビットレートのコンテンツを配信することができる。つまり、通信帯域を活用しながら、通信の輻輳を防ぐことができる。
また、上記の実施形態あるいはその変形例によれば、ビットレートを予測するための学習器を端末装置と分離して帯域予測サーバー装置として独立させ、かつ複数箇所に配置することで、学習データの収集、共有、学習を並列して行うことができる。また、帯域予測サーバー装置が複数存在することで、端末装置は適切な指標をもとに予測を依頼する帯域予測サーバー装置を選択することができ、高レスポンスかつ安定的に予測結果を得ることができる。
なお、上述した実施形態における端末装置や帯域予測サーバー装置や映像配信サーバー装置といった各装置の少なくとも一部の機能をコンピューターで実現するようにしても良い。その場合、この機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM、DVD-ROM、USBメモリー等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、一時的に、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
以上、この発明の実施形態および変形例について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
本発明は、例えば、コンテンツを配信する事業等において広く利用可能である。但し、本発明の利用範囲はここに例示したものには限られない。
1 配信システム
2,2-1,2-2,2-3,2-4,・・・ 端末装置
3,3-1,3-2 帯域予測サーバー装置(帯域予測装置)
4 映像配信サーバー装置
11 映像受信部(受信部)
12 バッファー管理部
13 映像復号部
14 帯域計測部
15 帯域情報管理部
16 バッファー量計測部
17 データ整形部
18 データ送信部
19 ネットワーク接続管理部
20 帯域予測受信部
21 帯域制御部
31 データ受信部
32 帯域予測部(予測部)
33 帯域予測送信部
201 帯域情報入力層
202 正規化部
203 正規化帯域情報層
204 RNN(リカレントニューラルネットワーク)
205 全結合層
211 映像バッファー量入力ノード
212 ネットワーク接続種別入力ノード

Claims (4)

  1. 端末装置がコンテンツファイルを受信する際の状況を表す帯域予測用データと、前記帯域予測用データが表す状況において前記端末装置が実際に前記コンテンツファイルを受信したときに計測された通信帯域の値との関係を予め学習して得られたモデルを記憶するモデル記憶部と、
    端末装置から前記帯域予測用データを受信した際に、受信した前記帯域予測用データと、前記モデル記憶部が記憶する前記モデルとに基づいて、通信帯域の値を予測する予測部と、
    を具備する帯域予測装置。
  2. 前記予測部は、前記端末装置から受信した前記帯域予測用データと、当該帯域予測用データが表す状況において前記端末装置が実際に前記コンテンツファイルを受信したときに計測された前記通信帯域の値とを用いた学習処理を行うことによって、前記モデル記憶部が記憶する前記モデルを更新する、
    請求項に記載の帯域予測装置。
  3. 前記帯域予測用データは、前記端末装置が過去の前記コンテンツファイルを受信したときに計測された通信帯域の値と、前記端末装置が前記コンテンツファイルを受信する際に用いる受信用バッファーの空き領域の量を表す空きバッファー量と、前記端末装置が前記コンテンツファイルを受信するための通信ネットワーク接続の種別を表す値と、の少なくともいずれかを含む、
    請求項1または2に記載の帯域予測装置。
  4. コンピューターを、
    請求項1から3までのいずれか一項に記載の帯域予測装置、
    として機能させるためのプログラム。
JP2018116473A 2018-06-19 2018-06-19 端末装置、帯域予測装置、およびプログラム Active JP7270344B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018116473A JP7270344B2 (ja) 2018-06-19 2018-06-19 端末装置、帯域予測装置、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018116473A JP7270344B2 (ja) 2018-06-19 2018-06-19 端末装置、帯域予測装置、およびプログラム

Publications (2)

Publication Number Publication Date
JP2019220839A JP2019220839A (ja) 2019-12-26
JP7270344B2 true JP7270344B2 (ja) 2023-05-10

Family

ID=69097132

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018116473A Active JP7270344B2 (ja) 2018-06-19 2018-06-19 端末装置、帯域予測装置、およびプログラム

Country Status (1)

Country Link
JP (1) JP7270344B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016506644A (ja) 2012-11-30 2016-03-03 アルカテル−ルーセント Httpアダプティブストリーミング動画を受信するための方法およびクライアント装置
WO2017094847A1 (ja) 2015-12-02 2017-06-08 日本電信電話株式会社 体感品質最適化装置、ネットワーク品質推定装置、モバイル端末、体感品質最適化方法、ネットワーク品質推定方法、及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016506644A (ja) 2012-11-30 2016-03-03 アルカテル−ルーセント Httpアダプティブストリーミング動画を受信するための方法およびクライアント装置
WO2017094847A1 (ja) 2015-12-02 2017-06-08 日本電信電話株式会社 体感品質最適化装置、ネットワーク品質推定装置、モバイル端末、体感品質最適化方法、ネットワーク品質推定方法、及びプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
木村 拓人、松本 存史、林 孝典,ネットワークと協調したABR型動画配信向け視聴品質制御の実環境検証,電子情報通信学会技術研究報告,Vol.116 No.202,日本,一般社団法人電子情報通信学会,2016年08月22日,pp. 13 - 18
生出 真人、高橋 晶子,携帯端末を用いた利用者指向型動画配信サービスにおける動画品質決定手法の設計,第23回マルチメディア通信と分散処理ワークショップ論文集 情報処理学会シンポジウムシリーズ,Vol.2015 No.2,日本,一般社団法人情報処理学会,2015年10月07日,pp. 237 - 238

Also Published As

Publication number Publication date
JP2019220839A (ja) 2019-12-26

Similar Documents

Publication Publication Date Title
Bokani et al. Optimizing HTTP-based adaptive streaming in vehicular environment using markov decision process
CN110636339B (zh) 基于码率的调度方法、装置及电子设备
TW201332342A (zh) 在網路環境內使用多路徑適應流送技術傳輸視聽內容之系統和方法
JP2010537318A (ja) オンラインキャッシュ及びピア・ツー・ピア転送を用いるメディアストリーミング
CN108833996A (zh) 分布式dash系统中服务节点选择、更新和码率自适应方法
He et al. Joint rate and fov adaptation in immersive video streaming
JP6436772B2 (ja) 受信ビットレートの動的適応方法および関連する受信機
US10305955B1 (en) Streaming decision in the cloud
CN110809167B (zh) 一种视频播放方法、装置、电子设备及存储介质
CN113014968B (zh) 一种基于强化学习的多用户动态码率视频传输方法及系统
CN113282786B (zh) 一种基于深度强化学习的全景视频边缘协作缓存替换方法
Sun et al. Optimal strategies for live video streaming in the low-latency regime
KR102304476B1 (ko) 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 시스템 및 스트리밍 방법
KR102521753B1 (ko) 네트워크에서 스트리밍되는 콘텐츠를 클라이언트 디바이스의 플레이어에서 재생하기 위한 방법
EP4013006A1 (en) Method for playing on a player of a client device a content streamed in a network
Hafez et al. Reinforcement learning-based rate adaptation in dynamic video streaming
Hayes et al. Controlled unfair adaptive 360 VR video delivery over an MPTCP/QUIC architecture
JP7270344B2 (ja) 端末装置、帯域予測装置、およびプログラム
CN110191362B (zh) 数据传输方法及装置、存储介质及电子设备
CN108282669A (zh) 信息处理设备和信息处理系统
CN114173132A (zh) 一种面向动态比特率视频的自适应比特率选择方法及系统
US11201901B2 (en) Methods and systems for streaming media data over a content delivery network
CN114025190A (zh) 多码率调度方法和多码率调度装置
KR101869360B1 (ko) 미디어 버퍼 제어를 이용한 효율적인 무선 네트워크 스트리밍 중계 엔진 시스템
Younus et al. A model for a practical evaluation of a DASH-based rate adaptive algorithm over HTTP

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210506

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220325

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221129

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230328

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230425

R150 Certificate of patent or registration of utility model

Ref document number: 7270344

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150