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

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

▶ 富士通株式会社の特許一覧

特開2024-115953ストリーミング品質推定プログラム、ストリーミング品質推定方法およびストリーミング品質推定装置
<>
  • 特開-ストリーミング品質推定プログラム、ストリーミング品質推定方法およびストリーミング品質推定装置 図1
  • 特開-ストリーミング品質推定プログラム、ストリーミング品質推定方法およびストリーミング品質推定装置 図2
  • 特開-ストリーミング品質推定プログラム、ストリーミング品質推定方法およびストリーミング品質推定装置 図3
  • 特開-ストリーミング品質推定プログラム、ストリーミング品質推定方法およびストリーミング品質推定装置 図4
  • 特開-ストリーミング品質推定プログラム、ストリーミング品質推定方法およびストリーミング品質推定装置 図5
  • 特開-ストリーミング品質推定プログラム、ストリーミング品質推定方法およびストリーミング品質推定装置 図6
  • 特開-ストリーミング品質推定プログラム、ストリーミング品質推定方法およびストリーミング品質推定装置 図7
  • 特開-ストリーミング品質推定プログラム、ストリーミング品質推定方法およびストリーミング品質推定装置 図8
  • 特開-ストリーミング品質推定プログラム、ストリーミング品質推定方法およびストリーミング品質推定装置 図9
  • 特開-ストリーミング品質推定プログラム、ストリーミング品質推定方法およびストリーミング品質推定装置 図10
  • 特開-ストリーミング品質推定プログラム、ストリーミング品質推定方法およびストリーミング品質推定装置 図11
  • 特開-ストリーミング品質推定プログラム、ストリーミング品質推定方法およびストリーミング品質推定装置 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024115953
(43)【公開日】2024-08-27
(54)【発明の名称】ストリーミング品質推定プログラム、ストリーミング品質推定方法およびストリーミング品質推定装置
(51)【国際特許分類】
   H04L 43/08 20220101AFI20240820BHJP
   H04L 65/60 20220101ALI20240820BHJP
   H04L 41/5067 20220101ALI20240820BHJP
【FI】
H04L43/08
H04L65/60
H04L41/5067
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023021885
(22)【出願日】2023-02-15
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】和田 章宏
(72)【発明者】
【氏名】大浦 淳貴
(72)【発明者】
【氏名】横尾 郁
(72)【発明者】
【氏名】角田 潤
(72)【発明者】
【氏名】二宮 照尚
(72)【発明者】
【氏名】小川 雅俊
(72)【発明者】
【氏名】沢田 健介
(57)【要約】
【課題】精度よく、かつ、リアルタイムにストリーミング品質を推定する。
【解決手段】実施形態のストリーミング品質推定プログラムは、収集する処理と、算出する処理と、作成する処理とをコンピュータに実行させる。収集する処理は、送信元から送信先へ配信されるストリーミングデータに関するパケットを収集する。算出する処理は、収集したパケットに基づいて、所定の時間周期のパケット統計値を算出する。作成する処理は、算出したパケット統計値に基づいて、送信先におけるストリーミングデータのバッファ時間を超える時間長分のパケット統計値の時系列を入力としてストリーミング品質を推定する推定モデルを作成する。
【選択図】図1
【特許請求の範囲】
【請求項1】
送信元から送信先へ配信されるストリーミングデータに関するパケットを収集し、
収集した前記パケットに基づいて、所定の時間周期のパケット統計値を算出し、
算出した前記パケット統計値に基づいて、前記送信先におけるストリーミングデータのバッファ時間を超える時間長分のパケット統計値の時系列を入力としてストリーミング品質を推定する推定モデルを作成する、
処理をコンピュータに実行させることを特徴とするストリーミング品質推定プログラム。
【請求項2】
推定対象のストリーミングデータに関するパケットに基づいて算出したパケット統計値に基づいて、前記推定対象のストリーミングデータの送信先におけるストリーミングデータのバッファ時間を超える時間分のパケット統計値の時系列を前記推定モデルに入力し、前記推定対象のストリーミングデータのストリーミング品質を推定する処理をさらに前記コンピュータに実行させる、
ことを特徴とする請求項1に記載のストリーミング品質推定プログラム。
【請求項3】
互いに時間長が異なるパケット統計値の時系列を入力とする複数の前記推定モデルそれぞれに対して前記推定対象のストリーミングデータに基づくパケット統計値の時系列を入力し、複数の前記推定モデルの推定結果の精度に基づいて前記バッファ時間を推定する処理をさらに前記コンピュータに実行させる、
ことを特徴とする請求項2に記載のストリーミング品質推定プログラム。
【請求項4】
送信元から送信先へ配信されるストリーミングデータに関するパケットを収集し、
収集した前記パケットに基づいて、所定の時間周期のパケット統計値を算出し、
算出した前記パケット統計値に基づいて、前記送信先におけるストリーミングデータのバッファ時間を超える時間長分のパケット統計値の時系列を入力としてストリーミング品質を推定する推定モデルを作成する、
処理をコンピュータが実行することを特徴とするストリーミング品質推定方法。
【請求項5】
送信元から送信先へ配信されるストリーミングデータに関するパケットを収集し、
収集した前記パケットに基づいて、所定の時間周期のパケット統計値を算出し、
算出した前記パケット統計値に基づいて、前記送信先におけるストリーミングデータのバッファ時間を超える時間長分のパケット統計値の時系列を入力としてストリーミング品質を推定する推定モデルを作成する、
処理を実行する制御部を含むことを特徴とするストリーミング品質推定装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、ストリーミング品質推定プログラム、ストリーミング品質推定方法およびストリーミング品質推定装置に関する。
【背景技術】
【0002】
近年、映像・音声・Web画面・センサデータなどのストリーミングデータを扱うアプリケーションが増加しており、ストリーミング再生時の品質(ストリーミング品質)が適切になるようなネットワーク制御の重要性が高まっている。
【0003】
ストリーミング品質を適切に保つためのネットワーク制御の指標として、セグメント単位のメタデータ(ビデオビットレート、解像度、ストールなど)、パケット統計情報(パケット数、RTT)などからネットワーク状態を表すQoS(Quality of Service)を求める従来技術がある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2015-91012号公報
【特許文献2】特開2015-12361号公報
【特許文献3】米国特許出願公開第2020/0213211号明細書
【特許文献4】米国特許出願公開第2017/0366597号明細書
【非特許文献】
【0005】
【非特許文献1】インターネット<URL:https://www.itu.int/rec/T-REC-P.1203>
【非特許文献2】R.U.Mustafa, A Supervised Machine Learning Approach for DASH Video QoE Prediction in 5G Networks, Q2SWinet ‘20: Proceedings of the 16th ACM Symposium on QoS and Security for Wireless and Mobile Networks, 2020
【非特許文献3】S. Wassermann, M. Seufert, P. Casas, L. Gang and K. Li, "ViCrypt to the Rescue: Real-Time, Machine-Learning-Driven Video-QoE Monitoring for Encrypted Streaming Traffic," in IEEE Transactions on Network and Service Management, vol. 17, no. 4, pp. 2007-2023, Dec. 2020
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記の従来技術は、パケットデータから精度よく、かつ、リアルタイムにストリーミング品質を推定するものではない。このため、例えば、従来技術により推定したストリーミング品質を指標としてネットワーク制御を行う場合であっても、ユーザが満足するようなストリーミング再生を実現することは困難なものとなる。
【0007】
1つの側面では、精度よく、かつ、リアルタイムにストリーミング品質を推定することができるストリーミング品質推定プログラム、ストリーミング品質推定方法およびストリーミング品質推定装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
1つの案では、ストリーミング品質推定プログラムは、収集する処理と、算出する処理と、作成する処理とをコンピュータに実行させる。収集する処理は、送信元から送信先へ配信されるストリーミングデータに関するパケットを収集する。算出する処理は、収集したパケットに基づいて、所定の時間周期のパケット統計値を算出する。作成する処理は、算出したパケット統計値に基づいて、送信先におけるストリーミングデータのバッファ時間を超える時間長分のパケット統計値の時系列を入力としてストリーミング品質を推定する推定モデルを作成する。
【発明の効果】
【0009】
精度よく、かつ、リアルタイムにストリーミング品質を推定することができる。
【図面の簡単な説明】
【0010】
図1図1は、実施形態にかかるストリーミング品質推定装置の概要を説明する説明図である。
図2図2は、実施例1にかかるストリーミング品質推定装置を説明する説明図である。
図3図3は、入出力データ構造の一例を説明する説明図である。
図4図4は、実施例1にかかるストリーミング品質推定装置の機能構成例を示すブロック図である。
図5図5は、実施例1にかかるストリーミング品質推定装置の動作例を示すフローチャートである。
図6図6は、バッファ時間の推定を説明する説明図である。
図7図7は、バッファ時間の推定を説明する説明図である。
図8図8は、実施例2にかかるストリーミング品質推定装置の機能構成例を示すブロック図である。
図9図9は、実施例2にかかるストリーミング品質推定装置の動作例を示すフローチャートである。
図10図10は、従来技術と実施例との精度比較を説明する説明図である。
図11図11は、実施例3にかかるストリーミング品質推定装置を説明する説明図である。
図12図12は、コンピュータ構成の一例を説明する説明図である。
【発明を実施するための形態】
【0011】
以下、図面を参照して、実施形態にかかるストリーミング品質推定プログラム、ストリーミング品質推定方法およびストリーミング品質推定装置を説明する。実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略する。なお、以下の実施形態で説明するストリーミング品質推定プログラム、ストリーミング品質推定方法およびストリーミング品質推定装置は、一例を示すに過ぎず、実施形態を限定するものではない。また、以下の各実施形態は、矛盾しない範囲内で適宜組みあわせてもよい。
【0012】
図1は、実施形態にかかるストリーミング品質推定装置の概要を説明する説明図である。図1に示すように、ストリーミング品質推定装置1は、ネットワーク4を介して映像送信サーバ2から映像受信クライアント3へ送信される映像(例えば動画像)のストリーミングデータに関するパケット群を収集し、そのパケット群の情報をもとにストリーミング品質を推定する装置である。
【0013】
ここで、映像送信サーバ2はストリーミングデータの送信元の一例であり、映像受信クライアント3はストリーミングデータの送信先の一例である。また、実施形態では映像に関するストリーミングデータを例示しているが、ストリーミングデータは、映像に限定するものではなく、音声・Web画面・センサデータなどであってもよい。
【0014】
ストリーミング品質推定装置1は、ネットワーク4を流れるパケットを監視し、映像送信サーバ2から映像受信クライアント3へ送信されるストリーミングデータのパケット群を収集する。ついで、ストリーミング品質推定装置1は、収集したパケット群について、単位時間(タイムスロット)ごとのパケット統計値(例えばパケット数、データ量、パケット間隔など)を算出する。
【0015】
例えば、映像受信クライアント3では、ストリーミングデータをアプリケーション(例えば映像再生アプリケーション)でストリーミング再生する場合、ストリーミングデータを要求するリクエストパケットを逐次ネットワーク4へ送信し、このリクエストパケット間に得られたストリーミングデータを利用してストリーミング再生を行う。したがって、リクエストパケット間が映像受信クライアント3におけるストリーミングデータの利用時間(以下、データ利用時間と称する)に相当する。
【0016】
ストリーミング品質推定装置1では、ストリーミングデータのパケットに関する変動の機微を得るため、単位時間(タイムスロット)を上述したデータ利用時間以下とする。
【0017】
データ利用時間の決定方法については、予め対象アプリケーションが決まっており既知であれば、その値を使用する。例えば、映像再生アプリケーションである場合は、セグメント長に相当する時間をデータ利用時間とする。また、データ利用時間が未知である場合、ストリーミング品質推定装置1は、映像受信クライアント3がリクエストパケットを出す周期を計測し、その平均値をデータ利用時間とする。また、データ利用時間が複数存在する場合は、その中で最も短いものを採用する。
【0018】
ついで、ストリーミング品質推定装置1は、算出した単位時間ごとのパケット統計値をもとに、映像受信クライアント3においてストリーミング再生を行うアプリケーションのバッファ時間を超える時間長分のパケット統計値の時系列を推定モデルM1に入力する。具体的には、ストリーミング品質推定装置1は、バッファ時間を超える時間長(以下、時系列長と称する)分のパケット統計値を時系列順に順次推定モデルM1に入力する。
【0019】
映像受信クライアント3においてストリーミング再生を行うアプリケーションでは、ストリーミング再生が途切れないようにするためにバッファを用意している。そのため、パケット到達時刻とデータ利用時刻(再生時刻)とにずれが生じる。このずれの大きさは、最大でバッファ時間分となる。
【0020】
ストリーミング品質推定装置1では、このようなずれを解消しつつ、ストリーミング品質の推定を行うため、バッファ時間を超える時間長(時系列長)分のパケット統計値を推定モデルM1に入力する。
【0021】
ストリーミング品質推定装置1が監視しているパケット情報等をもとに、映像受信クライアント3においてストリーミング再生を行うアプリケーションが既知である場合、ストリーミング品質推定装置1は、そのアプリケーションの中で最も長いバッファ時間を時間長とする。
【0022】
アプリケーションが未知の場合、ストリーミング品質推定装置1は、想定されるアプリケーションの中で最も長いバッファ時間のものを時間長として選択する。また、ストリーミング品質推定装置1は、互いに時系列長の長さ(時間長)が異なる入力でストリーミング品質を推定する推定モデルM1を複数用意しておき、複数の推定モデルM1それぞれにパケット統計値を入力した場合のストリーミング品質の推定精度に基づいてバッファ時間を推定してもよい(実施例2参照)。
【0023】
推定モデルM1は、公知の機械学習によりパラメータ調整されたニューラルネットワークなどである。推定モデルM1は、時系列順に順次入力される、時系列長のパケット統計値に対し、その時系列長分におけるストリーミング品質を出力(推定)する。すなわち、ストリーミング品質推定装置1は、リアルタイムにネットワーク4を流れるストリーミングデータのパケットを収集し、時系列長分のパケット統計値を順次推定モデルM1に入力することで、時系列長ごとのストリーミング品質をリアルタイムに推定する。
【0024】
また、ストリーミング品質推定装置1は、ストリーミングデータとともに単位時間ごとのストリーミング品質が正解情報として付与された教師データをもとに推定モデルM1の機械学習を行い、推定モデルM1を作成する。具体的には、ストリーミング品質推定装置1は、ストリーミングデータに基づく時系列長分のパケット統計値を順次推定モデルM1に入力し、誤差逆伝播法等の公知の機械学習手法により、推定モデルM1からの出力が正解情報のストリーミング品質となるように推定モデルM1のパラメータを調整する。
【0025】
ここで、正解情報とするストリーミング品質には、QoSだけでなく、ユーザ体感品質であるQoE(Quality of Experiment)が含まれているものとする。QoEは、ストリーミング再生を体感した(例えばストリーミング映像を見た)ユーザの主観的な評価をアンケートなどで集計した値(例えばMOS(Mean Opinion Score)値)などを含む。これにより、ストリーミング品質推定装置1は、ストリーミング品質としてQoSだけでなく、QoEをリアルタイムに推定することができる。
【0026】
以下で、図2図11を参照し、上述した実施形態にかかる実施例1~3を説明する。
【0027】
(実施例1)
図2は、実施例1にかかるストリーミング品質推定装置を説明する説明図である。図2に示すように、ストリーミング品質推定装置1は、ネットワーク4を流れるパケットを監視し、映像送信サーバ2から映像受信クライアント3へ送信されるストリーミングデータのパケットを収集する(S1)。
【0028】
ついで、ストリーミング品質推定装置1は、単位時間(タイムスロット)ごとのパケット統計値(例えばパケット数、データ量、パケット間隔など)を算出する(S2)。ストリーミング品質推定装置1は、単位時間ごとに算出したパケット統計値をパケット統計値記憶部20に格納する。
【0029】
ストリーミング品質推定装置1は、パケット統計値記憶部20を参照して時系列長分のパケット統計値を順次推定モデルM1に入力することで、時系列長ごとのストリーミング品質(QoE)を順次推定する(S3)。
【0030】
図3は、入出力データ構造の一例を説明する説明図である。図3に示すように、入出力データD1は、時刻(t、tM+1…、tM+k、…tM+K)ごとの入力データ(入力ベクトル)と、出力データ(出力ベクトル)の組である。
【0031】
具体的には、入出力データD1は、パケット統計値の種類(例えばパケット数、データ量、パケット間隔…など)がL個でM個の単位時間を時系列長とした場合の推定モデルM1に入力する入力ベクトルと、推定モデルM1からの出力ベクトルとを例示している。例えば、入力ベクトルの入力変数は、パケット数、データ量、パケット間隔等のパケット統計値である。また、出力ベクトルの出力変数は、推定モデルM1から出力されたストリーミング品質(QoE、QoS…)である。
【0032】
図4は、実施例1にかかるストリーミング品質推定装置1の機能構成例を示すブロック図である。図4に示すように、ストリーミング品質推定装置1は、パケット収集部10と、統計値算出部11と、推定モデル作成部12と、ストリーミング品質推定部13と、パケット統計値記憶部20と、推定モデル記憶部21とを有する。
【0033】
パケット収集部10は、パケットのヘッダ等をもとに、ネットワーク4を介して映像送信サーバ2から映像受信クライアント3へ送信されるパケットデータを取得し、ストリーミングデータのパケット群を収集する。
【0034】
統計値算出部11は、パケット収集部10が収集したパケット群に基づき、単位時間(タイムスロット)ごとのパケット統計値(例えばパケット数、データ量、パケット間隔など)を算出する。統計値算出部11は、算出したパケット統計値を、前述した時刻ごとの入力ベクトルのデータとしてパケット統計値記憶部20に格納する。
【0035】
推定モデル作成部12は、ストリーミングデータとともに単位時間ごとのストリーミング品質が正解情報として付与された教師データをもとに推定モデルM1の機械学習を行う処理部である。具体的には、推定モデル作成部12は、ストリーミングデータに基づく時系列長分のパケット統計値をパケット統計値記憶部20より順次読み出して推定モデルM1に入力する。ついで、推定モデル作成部12は、公知の機械学習手法により、推定モデルM1からの出力が正解情報のストリーミング品質となるように推定モデルM1のパラメータを調整する。推定モデル作成部12は、パラメータ調整後の推定モデルM1を推定モデル記憶部21へ格納する。
【0036】
ストリーミング品質推定部13は、パケット収集部10が収集したパケットデータをもとに、時系列長ごとのストリーミング品質を推定する処理部である。具体的には、ストリーミング品質推定部13は、推定モデル作成部12が作成した推定モデルM1に関するパラメータを推定モデル記憶部21より読み出し、推定モデルM1を生成する。ついで、ストリーミング品質推定部13は、生成した推定モデルM1に対し、ストリーミングデータに基づく時系列長分のパケット統計値をパケット統計値記憶部20より順次読み出して入力する。これにより、ストリーミング品質推定部13は、推定モデルM1の出力、すなわち時系列長ごとのストリーミング品質の推定結果を得る。
【0037】
図5は、実施例1にかかるストリーミング品質推定装置1の動作例を示すフローチャートである。図5に示すように、パケット収集部10は、映像送信サーバ2から映像受信クライアント3へ送信されるパケットデータについて、単位時間ごとのパケット収集を行う(S10)。
【0038】
ついで、統計値算出部11は、収集した単位時間ごとのパケットの統計値(パケット数、データ量、パケット間隔等)を算出し(S11)、時系列順にパケット統計値記憶部20に追加する(S12)。
【0039】
ついで、ストリーミング品質推定部13は、時系列長分のパケット統計値がパケット統計値記憶部20に格納されているか否かを判定する(S13)。時系列長分のパケット統計値が格納されている場合(S13:Yes)、ストリーミング品質推定部13は、時系列長分のパケット統計値をパケット統計値記憶部20より読み出して推定モデルM1へ入力してストリーミング品質を推定し(S14)、S10へ処理をリターンする。時系列長分のパケット統計値が格納されていない場合(S13:No)、ストリーミング品質推定部13は、ストリーミング品質の推定を行わずにS10へ処理をリターンする。
【0040】
(実施例2)
実施例2は、実施例1に対し、映像受信クライアント3においてストリーミング再生を行うアプリケーションが未知であり、バッファ時間を超える時系列長が不明な場合において、バッファ時間を推定する処理を加えたものである。
【0041】
図6、7は、バッファ時間の推定を説明する説明図である。図6に示すように、実施例2では、互いに時系列長の長さ(時間長)が異なる入力でストリーミング品質を推定する推定モデルM1a~M1cを複数用意して推定モデル記憶部21に格納しておく。
【0042】
ついで、実施例2では、推定モデルM1a~M1cそれぞれにパケット統計値を入力した場合のストリーミング品質の推定精度を求める。なお、推定精度については、公知の機械学習モデルの性能評価手法を用いればよく、一例として正解率を求める。
【0043】
ここで、正解率が低くなる場合は、推定モデルの時系列長がバッファ時間未満であり、バッファ時間によるデータ再生時刻のずれを解消できていないことを示している。逆に、正解率が所定値以上の高いものである場合は、推定モデルの時系列長がバッファ時間以上であり、バッファ時間によるデータ再生時刻のずれを解消できていることを示している。
【0044】
したがって、実施例2では、推定モデルM1a~M1cそれぞれについて求めた推定精度の中で所定の閾値を上回り、かつ、最も時系列長の短いものを選択する。実施例2は、このように選択した時系列長をバッファ時間とする。
【0045】
例えば、図7に示すように、実施例2では、時系列長A分のパケット統計値を推定モデルM1aに入力して推定モデルM1aでのストリーミング品質を得る。ついで、実施例2では、時系列長Aの次に長い時系列長B分のパケット統計値を推定モデルM1bに入力して推定モデルM1bでのストリーミング品質を得る。ついで、実施例2では、推定モデルM1aでのストリーミング品質の推定値と、推定モデルM1bでのストリーミング品質の推定値との差分を求め、その差分が所定の閾値内に収まっているか否かを判定する。
【0046】
所定の閾値内に収まっていない場合、実施例2では、時系列長Bの次に長い時系列長C分のパケット統計値を推定モデルM1cに入力して推定モデルM1cでのストリーミング品質を得る。ついで、実施例2では、推定モデルM1bでのストリーミング品質の推定値と、推定モデルM1cでのストリーミング品質の推定値との差分を求め、その差分が所定の閾値内に収まっているか否かを判定する。ここで、差分が所定の閾値内に収まっている場合、実施例2では、それぞれのストリーミング品質の推定精度を求め、希望の精度以上で最も時系列長の短いものを選択する。
【0047】
図8は、実施例2にかかるストリーミング品質推定装置の機能構成例を示すブロック図である。図8に示すように、ストリーミング品質推定装置1bは、実施例1のストリーミング品質推定装置1に対し、バッファ時間推定部14を追加した構成である。
【0048】
バッファ時間推定部14は、推定モデル記憶部21に格納された複数の推定モデルM1a~M1cを読み出し、推定モデルM1a~M1cそれぞれにパケット統計値を入力した場合のストリーミング品質の推定精度に基づきバッファ時間を推定する。
【0049】
図9は、実施例2にかかるストリーミング品質推定装置1bの動作例を示すフローチャートである。図9に示すように、ストリーミング品質推定装置1bでは、S12、S13の間に、バッファ時間を推定する処理(S20~S28)を加えたものである。
【0050】
具体的には、バッファ時間推定部14は、時系列長が決定済み(バッファ時間を推定済み)であるか否かを判定する(S20)。推定済みである場合(S20:Yes)、バッファ時間推定部14は、S13へ処理を進める。
【0051】
推定済みでない場合(S20:No)、バッファ時間推定部14は、時系列長の異なる推定モデルM1a~M1cごとのループ処理を行う(S21~S25)。
【0052】
ループ処理が開始されると、バッファ時間推定部14は、推定モデルM1a~M1cの入力に対応する時系列長分のパケット統計量がパケット統計値記憶部20に格納されているか否かを判定する(S22)。時系列長分のパケット統計量がパケット統計値記憶部20に格納されていない場合(S22:No)、バッファ時間推定部14は、現状最大の時系列長とし(S23)、S13へ処理を進める。
【0053】
時系列長分のパケット統計量がパケット統計値記憶部20に格納されている場合(S22:Yes)、バッファ時間推定部14は、時系列長分のパケット統計量を推定モデルM1a~M1cに入力し、ストリーミング品質を推定する(S24)。
【0054】
ループ処理(S21~S25)についで、バッファ時間推定部14は、時系列長の最も長い推定モデルの推定値(ストリーミング品質)と、ループ処理で求めた推定値との差分を所定の閾値で判定する(S26)。
【0055】
差分が所定の閾値内に収まっている場合、バッファ時間推定部14は、それぞれのストリーミング品質の推定精度を求め、希望の精度以上で最も時系列長の短いものを時系列長(バッファ時間)とする(S27)。
【0056】
ついで、バッファ時間推定部14は、時系列長(バッファ時間)を決定済みとし(S28)、S13へ処理を進める。
【0057】
図10は、従来技術と実施例との精度比較を説明する説明図である。図10では、約136時間分の動画を配信した際のパケット群(ストリーミングデータ)を用いて従来技術によるストリーミング品質の推定と、実施例1によるストリーミング品質の推定との比較を例示している。
【0058】
なお、実施例1によるストリーミング品質の推定では、単位時間を0.5秒、時系列長を40秒としている。R2は、1に近いほど精度がよいことを示す指標値である。RMSEは、0に近いほど精度がよいことを示す指標値である。正解率は、1に近いほど精度がよいことを示す指標値である。図10に示すように、実施例1の方が、従来技術よりもストリーミング品質の推定精度が向上している。
【0059】
(実施例3)
実施例3は、実施例1に対し、単位時間ごとのメタデータ(ビデオビットレート、解像度、ストール等)の推定を行った上で、時系列長分のメタデータを順次推定モデルM1に入力することで、時系列長ごとのストリーミング品質を推定するものである。
【0060】
図11は、実施例3にかかるストリーミング品質推定装置を説明する説明図である。図11に示すように、ストリーミング品質推定装置1cは、パケット統計値記憶部20を参照して単位時間分のパケット統計値をメタデータの推定モデルに順次入力することで、単位時間ごとのメタデータを推定する(S3a)。ストリーミング品質推定装置1cは、単位時間ごとに推定したメタデータをメタデータ記憶部20aに格納する。
【0061】
ついで、ストリーミング品質推定装置1cは、時系列長分のメタデータをメタデータ記憶部20aより読み出し、メタデータを入力ベクトルとして学習した推定モデルに入力することで、時系列長ごとのストリーミング品質(QoE)を順次推定する(S3)。
【0062】
このように、ストリーミング品質推定装置は、メタデータを介した上で、時系列長ごとのストリーミング品質を推定してもよい。
【0063】
以上のように、ストリーミング品質推定装置1、1bは、送信元から送信先へ配信されるストリーミングデータに関するパケットを収集する。ストリーミング品質推定装置1、1bは、収集したパケットに基づいて、所定の時間周期のパケット統計値を算出する。ストリーミング品質推定装置1、1bは、算出したパケット統計値に基づいて、送信先におけるストリーミングデータのバッファ時間を超える時間長分のパケット統計値の時系列を入力としてストリーミング品質を推定する推定モデルM1を作成する。
【0064】
これにより、ストリーミング品質推定装置1、1bは、パケット到達時刻とバッファ時間によるデータ再生時刻のずれを解消しつつ、1つの大きな時間窓としてパケット統計値を計算するよりも細かいパケット統計値でストリーミング品質を推定する推定モデルM1を作成できる。すなわち、ストリーミング品質推定装置1、1bは、精度よく、かつ、リアルタイムにストリーミング品質を推定することを可能とする推定モデルM1を作成することができる。
【0065】
また、ストリーミング品質推定装置1、1bは、推定対象のストリーミングデータに関するパケットに基づいて算出したパケット統計値に基づいて、推定対象のストリーミングデータの送信先におけるストリーミングデータのバッファ時間を超える時間分のパケット統計値の時系列を推定モデルM1に入力し、推定対象のストリーミングデータのストリーミング品質を推定する。
【0066】
これにより、ストリーミング品質推定装置1、1bは、バッファ時間によるデータ再生時刻のずれを解消しつつ、1つの大きな時間窓としてパケット統計値を計算するよりも細かいパケット統計値で推定対象のストリーミングデータのストリーミング品質を推定することができる。すなわち、ストリーミング品質推定装置1、1bは、精度よく、かつ、リアルタイムにストリーミング品質を推定することができる。
【0067】
また、ストリーミング品質推定装置1bは、互いに時間長が異なるパケット統計値の時系列を入力とする複数の推定モデルM1a、M1b、M1cそれぞれに対して推定対象のストリーミングデータに基づくパケット統計値の時系列を入力する。ついで、ストリーミング品質推定装置1bは、複数の推定モデルM1a、M1b、M1cの推定結果の精度に基づいてバッファ時間を推定する。これにより、ストリーミング品質推定装置1bは、例えば送信先におけるストリーミングデータのバッファ時間が不明である場合であっても、パケット統計値に基づいてバッファ時間を推定することができる。
【0068】
なお、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0069】
また、ストリーミング品質推定装置1、1b、1cのパケット収集部10、統計値算出部11、推定モデル作成部12、ストリーミング品質推定部13およびバッファ時間推定部14の各種処理機能は、CPU(またはMPU、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、CPU(またはMPU、MCU等のマイクロ・コンピュータ)で解析実行されるプログラム上、またはワイヤードロジックによるハードウエア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。また、ストリーミング品質推定装置1で行われる各種処理機能は、クラウドコンピューティングにより、複数のコンピュータが協働して実行してもよい。
【0070】
ところで、上記の実施形態で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施形態と同様の機能を有するプログラムを実行するコンピュータ構成(ハードウエア)の一例を説明する。図12は、コンピュータ構成の一例を説明する説明図である。
【0071】
図12に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、データ入力を受け付ける入力装置202と、モニタ203と、スピーカ204とを有する。また、コンピュータ200は、記憶媒体からプログラム等を読み取る媒体読取装置205と、各種装置と接続するためのインタフェース装置206と、有線または無線により外部機器と通信接続するための通信装置207とを有する。また、ストリーミング品質推定装置1は、各種情報を一時記憶するRAM208と、ハードディスク装置209とを有する。また、コンピュータ200内の各部(201~209)は、バス210に接続される。
【0072】
ハードディスク装置209には、上記の実施形態で説明した機能構成(例えばパケット収集部10、統計値算出部11、推定モデル作成部12、ストリーミング品質推定部13およびバッファ時間推定部14)における各種の処理を実行するためのプログラム211が記憶される。また、ハードディスク装置209には、プログラム211が参照する各種データ212が記憶される。入力装置202は、例えば、操作者から操作情報の入力を受け付ける。モニタ203は、例えば、操作者が操作する各種画面を表示する。インタフェース装置206は、例えば印刷装置等が接続される。通信装置207は、LAN(Local Area Network)等の通信ネットワークと接続され、通信ネットワークを介した外部機器との間で各種情報をやりとりする。
【0073】
CPU201は、ハードディスク装置209に記憶されたプログラム211を読み出して、RAM208に展開して実行することで、上記の機能構成(例えばパケット収集部10、統計値算出部11、推定モデル作成部12、ストリーミング品質推定部13およびバッファ時間推定部14)に関する各種の処理を行う。なお、プログラム211は、ハードディスク装置209に記憶されていなくてもよい。例えば、コンピュータ200が読み取り可能な記憶媒体に記憶されたプログラム211を読み出して実行するようにしてもよい。コンピュータ200が読み取り可能な記憶媒体は、例えば、CD-ROMやDVDディスク、USB(Universal Serial Bus)メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、LAN等に接続された装置にこのプログラム211を記憶させておき、コンピュータ200がこれらからプログラム211を読み出して実行するようにしてもよい。
【0074】
以上の実施形態に関し、さらに以下の付記を開示する。
【0075】
(付記1)送信元から送信先へ配信されるストリーミングデータに関するパケットを収集し、
収集した前記パケットに基づいて、所定の時間周期のパケット統計値を算出し、
算出した前記パケット統計値に基づいて、前記送信先におけるストリーミングデータのバッファ時間を超える時間長分のパケット統計値の時系列を入力としてストリーミング品質を推定する推定モデルを作成する、
処理をコンピュータに実行させることを特徴とするストリーミング品質推定プログラム。
【0076】
(付記2)推定対象のストリーミングデータに関するパケットに基づいて算出したパケット統計値に基づいて、前記推定対象のストリーミングデータの送信先におけるストリーミングデータのバッファ時間を超える時間分のパケット統計値の時系列を前記推定モデルに入力し、前記推定対象のストリーミングデータのストリーミング品質を推定する処理をさらに前記コンピュータに実行させる、
ことを特徴とする付記1に記載のストリーミング品質推定プログラム。
【0077】
(付記3)互いに時間長が異なるパケット統計値の時系列を入力とする複数の前記推定モデルそれぞれに対して前記推定対象のストリーミングデータに基づくパケット統計値の時系列を入力し、複数の前記推定モデルの推定結果の精度に基づいて前記バッファ時間を推定する処理をさらに前記コンピュータに実行させる、
ことを特徴とする付記2に記載のストリーミング品質推定プログラム。
【0078】
(付記4)送信元から送信先へ配信されるストリーミングデータに関するパケットを収集し、
収集した前記パケットに基づいて、所定の時間周期のパケット統計値を算出し、
算出した前記パケット統計値に基づいて、前記送信先におけるストリーミングデータのバッファ時間を超える時間長分のパケット統計値の時系列を入力としてストリーミング品質を推定する推定モデルを作成する、
処理をコンピュータが実行することを特徴とするストリーミング品質推定方法。
【0079】
(付記5)推定対象のストリーミングデータに関するパケットに基づいて算出したパケット統計値に基づいて、前記推定対象のストリーミングデータの送信先におけるストリーミングデータのバッファ時間を超える時間分のパケット統計値の時系列を前記推定モデルに入力し、前記推定対象のストリーミングデータのストリーミング品質を推定する処理をさらに前記コンピュータが実行する、
ことを特徴とする付記4に記載のストリーミング品質推定方法。
【0080】
(付記6)互いに時間長が異なるパケット統計値の時系列を入力とする複数の前記推定モデルそれぞれに対して前記推定対象のストリーミングデータに基づくパケット統計値の時系列を入力し、複数の前記推定モデルの推定結果の精度に基づいて前記バッファ時間を推定する処理をさらに前記コンピュータが実行する、
ことを特徴とする付記5に記載のストリーミング品質推定方法。
【0081】
(付記7)送信元から送信先へ配信されるストリーミングデータに関するパケットを収集し、
収集した前記パケットに基づいて、所定の時間周期のパケット統計値を算出し、
算出した前記パケット統計値に基づいて、前記送信先におけるストリーミングデータのバッファ時間を超える時間長分のパケット統計値の時系列を入力としてストリーミング品質を推定する推定モデルを作成する、
処理を実行する制御部を含むことを特徴とするストリーミング品質推定装置。
【0082】
(付記8)推定対象のストリーミングデータに関するパケットに基づいて算出したパケット統計値に基づいて、前記推定対象のストリーミングデータの送信先におけるストリーミングデータのバッファ時間を超える時間分のパケット統計値の時系列を前記推定モデルに入力し、前記推定対象のストリーミングデータのストリーミング品質を推定する処理をさらに前記制御部が実行する、
ことを特徴とする付記7に記載のストリーミング品質推定装置。
【0083】
(付記9)互いに時間長が異なるパケット統計値の時系列を入力とする複数の前記推定モデルそれぞれに対して前記推定対象のストリーミングデータに基づくパケット統計値の時系列を入力し、複数の前記推定モデルの推定結果の精度に基づいて前記バッファ時間を推定する処理をさらに前記制御部が実行する、
ことを特徴とする付記8に記載のストリーミング品質推定装置。
【符号の説明】
【0084】
1、1b、1c…ストリーミング品質推定装置
2…映像送信サーバ
3…映像受信クライアント
4…ネットワーク
10…パケット収集部
11…統計値算出部
12…推定モデル作成部
13…ストリーミング品質推定部
14…バッファ時間推定部
20…パケット統計値記憶部
20a…メタデータ記憶部
21…推定モデル記憶部
200…コンピュータ
201…CPU
202…入力装置
203…モニタ
204…スピーカ
205…媒体読取装置
206…インタフェース装置
207…通信装置
208…RAM
209…ハードディスク装置
210…バス
211…プログラム
212…各種データ
A~C…時系列長
D1…入出力データ
M1、M1a~M1c…推定モデル
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12