(57)【要約】方法は、ビデオ品質の時間単位当たりスコアのベクトルと、オーディオ品質の時間単位当たりスコアのベクトルとからオーディオビジュアル品質特徴を生成することを含む。オーディオビジュアル品質特徴は、前記ビデオ品質の時間単位当たりスコアのベクトルと前記オーディオ品質の時間単位当たりスコアのベクトルとの多項式関数として計算された、オーディオビジュアル品質の時間単位当たりスコアのベクトルと、前記オーディオビジュアル品質の時間単位当たりスコアの重み付け合成と、ここで、前記重みは、前記マルチメディアセッションの開始時刻からの時間とマルチメディアセッション継続時間との指数関数であり、オーディオビジュアル品質の時間単位当たりスコアの急激な低下が前記マルチメディアセッションMOSに与える影響を表す負バイアスと、前記オーディオビジュアル品質の時間単位当たりスコアの変動による劣化を表す項と、を含む。方法は、前記マルチメディアセッションの開始時刻から計算された前記各リバッファリングイベントのリバッファリング開始時刻のベクトルと、前記各リバッファリングイベントのリバッファリング継続時間のベクトルとから、バッファリング特徴を生成することを含む。方法は、前記生成されたオーディオビジュアル品質特徴と前記生成されたバッファリング特徴とから、マルチメディアセッションMOSを推定することを含む。【選択図】  図２
2019526190.tif 000002
【特許請求の範囲】
【請求項１】
平均オピニオン評点(MOS)推定装置(100)によって実行される、マルチメディアセッションMOSを予測する方法であって、
前記マルチメディアセッションは、ビデオセッションおよびオーディオセッションを含み、ビデオ品質は、ビデオ品質の時間単位当たりスコアのベクトルによって表され、オーディオ品質は、オーディオ品質の時間単位当たりスコアのベクトルによって表され、前記マルチメディアセッションは、各リバッファリングイベントのリバッファリング開始時刻のベクトルと、各リバッファリングイベントのリバッファリング継続時間のベクトルと、該マルチメディアセッションの起動と該マルチメディアセッションの開始時刻との間の時間である初期バッファリング継続時間とによって表され、
前記方法は、
-  前記ビデオ品質の時間単位当たりスコアのベクトルと前記オーディオ品質の時間単位当たりスコアのベクトルとからオーディオビジュアル品質特徴を生成するステップ(S1)を有し、ここで、前記オーディオビジュアル品質特徴は、
-  前記ビデオ品質の時間単位当たりスコアのベクトルと前記オーディオ品質の時間単位当たりスコアのベクトルとの多項式関数として計算された、オーディオビジュアル品質の時間単位当たりスコアのベクトルと、
-  前記オーディオビジュアル品質の時間単位当たりスコアの重み付け合成と、ここで、前記重みは、前記マルチメディアセッションの開始時刻からの時間とマルチメディアセッション継続時間との指数関数であり、
-  オーディオビジュアル品質の時間単位当たりスコアの急激な低下が前記マルチメディアセッションMOSに与える影響を表す負バイアスと、
-  前記オーディオビジュアル品質の時間単位当たりスコアの変動による劣化を表す項と、を含み、
前記方法は、更に、
-  前記マルチメディアセッションの開始時刻から計算された前記各リバッファリングイベントのリバッファリング開始時刻のベクトルと、前記各リバッファリングイベントのリバッファリング継続時間のベクトルとから、バッファリング特徴を生成するステップ(S2)と、
-  前記生成されたオーディオビジュアル品質特徴と前記生成されたバッファリング特徴とから、マルチメディアセッションMOSを推定するステップ(S3)と、
を有することを特徴とする方法。
【請求項２】
c[1], c[2], c[23]を所定の係数、tを前記マルチメディアセッションの開始時刻からの時間、Tを前記マルチメディアセッション継続時間とすると、
前記負バイアスは、
【数４】
2019526190.tif 000006
として計算されることを特徴とする請求項１に記載の方法。
【請求項３】
前記オーディオビジュアル品質の時間単位当たりスコアの変動による劣化を示す項は、前記オーディオビジュアル品質の時間単位当たりスコアと前記オーディオビジュアル品質の時間単位当たりスコアの前記重み付け合成との差分絶対値が所定の閾値を超えたことの発生回数を前記マルチメディアセッション継続時間で割った値として計算されることを特徴とする請求項１または２に記載の方法。
【請求項４】
前記生成されたバッファリング特徴は、初期バッファリングによる劣化を表す項と、リバッファリングによる劣化を表す項とを含むことを特徴とする請求項１乃至３のいずれか１項に記載の方法。
【請求項５】
前記初期バッファリングによる劣化を表す項は、初期バッファリングの影響を表す項と忘却係数の影響を表す項との積としてモデル化され、前記初期バッファリングの影響は、前記初期バッファリング継続時間のシグモイド関数であり、前記忘却係数は、前記マルチメディアセッションの開始時刻からの時間の指数関数であることを特徴とする請求項４に記載の方法。
【請求項６】
前記リバッファリングによる劣化を表す項は、全てのリバッファリングイベントについて、リバッファリング継続時間の影響と、バッファリングの繰り返しの影響と、最後のリバッファリングが終了してからの時間の影響との積の合計としてモデル化され、前記リバッファリング継続時間の影響は、リバッファリング継続時間のシグモイド関数であり、前記リバッファリングの繰り返しの影響は、リバッファリングの繰り返し回数のシグモイド関数であり、前記最後のリバッファリングが終了してからの時間の影響は、最後のリバッファリングが終了してからの時間の指数関数であることを特徴とする請求項４に記載の方法。
【請求項７】
前記マルチメディアセッションMOSは、オーディオビジュアル品質の時間単位当たりスコアの重み付け合成と総計値との間の差として推定され、前記総計値は、前記負バイアスと、前記オーディオビジュアル品質の時間単位当たりスコアの変動による劣化を表す項と、前記初期バッファリングによる劣化を表す項と、リバッファリングによる劣化を表す項との総計値であることを特徴とする請求項１乃至６のいずれか１項に記載の方法。
【請求項８】
マルチメディアセッション平均オピニオン評点(MOS)を予測するMOS推定装置(100)であって、
前記マルチメディアセッションは、ビデオセッションおよびオーディオセッションを含み、ビデオ品質は、ビデオ品質の時間単位当たりスコアのベクトルによって表され、オーディオ品質は、オーディオ品質の時間単位当たりスコアのベクトルによって表され、前記マルチメディアセッションは、各リバッファリングイベントのリバッファリング開始時刻のベクトルと、各リバッファリングイベントのリバッファリング継続時間のベクトルと、該マルチメディアセッションの起動と該マルチメディアセッションの開始時刻との間の時間である初期バッファリング継続時間とによって表され、
前記MOS推定装置は、処理手段を有し、該処理手段は、
-  前記ビデオ品質の時間単位当たりスコアのベクトルと前記オーディオ品質の時間単位当たりスコアのベクトルとからオーディオビジュアル品質特徴を生成し、ここで、前記オーディオビジュアル品質特徴は、
-  前記ビデオ品質の時間単位当たりスコアのベクトルと前記オーディオ品質の時間単位当たりスコアのベクトルとの多項式関数として計算された、オーディオビジュアル品質の時間単位当たりスコアのベクトルと、
-  前記オーディオビジュアル品質の時間単位当たりスコアの重み付け合成と、ここで、前記重みは、前記マルチメディアセッションの開始時刻からの時間とマルチメディアセッション継続時間との指数関数であり、
-  オーディオビジュアル品質の時間単位当たりスコアの急激な低下が前記マルチメディアセッションMOSに与える影響を表す負バイアスと、
-  前記オーディオビジュアル品質の時間単位当たりスコアの変動による劣化を表す項と、を含み、
前記処理手段は、更に、
-  前記マルチメディアセッションの開始時刻から計算された前記各リバッファリングイベントのリバッファリング開始時刻のベクトルと、前記各リバッファリングイベントのリバッファリング継続時間のベクトルとから、バッファリング特徴を生成し、
-  前記生成されたオーディオビジュアル品質特徴と前記生成されたバッファリング特徴とから、マルチメディアセッションMOSを推定する、
ことを特徴とするMOS推定装置。
【請求項９】
c[1], c[2], c[23]を所定の係数、tを前記マルチメディアセッションの開始時刻からの時間、Tを前記マルチメディアセッション継続時間とすると、
前記負バイアスは、
【数５】
2019526190.tif 000007
として計算されることを特徴とする請求項８に記載のMOS推定装置(100)。
【請求項１０】
前記オーディオビジュアル品質の時間単位当たりスコアの変動による劣化を示す項は、前記オーディオビジュアル品質の時間単位当たりスコアと前記オーディオビジュアル品質の時間単位当たりスコアの前記重み付け合成との差分絶対値が所定の閾値を超えたことの発生回数を前記マルチメディアセッション継続時間で割った値として計算されることを特徴とする請求項８または９に記載のMOS推定装置(100)。
【請求項１１】
前記生成されたバッファリング特徴は、初期バッファリングによる劣化を表す項と、リバッファリングによる劣化を表す項とを含むことを特徴とする請求項８乃至１０のいずれか１項に記載のMOS推定装置(100)。
【請求項１２】
前記初期バッファリングによる劣化を表す項は、初期バッファリングの影響を表す項と忘却係数の影響を表す項との積としてモデル化され、前記初期バッファリングの影響は、前記初期バッファリング継続時間のシグモイド関数であり、前記忘却係数は、前記マルチメディアセッションの開始時刻からの時間の指数関数であることを特徴とする請求項１１に記載のMOS推定装置(100)。
【請求項１３】
前記リバッファリングによる劣化を表す項は、全てのリバッファリングイベントについて、リバッファリング継続時間の影響と、バッファリングの繰り返しの影響と、最後のリバッファリングが終了してからの時間の影響との積の合計としてモデル化され、前記リバッファリング継続時間の影響は、リバッファリング継続時間のシグモイド関数であり、前記リバッファリングの繰り返しの影響は、リバッファリングの繰り返し回数のシグモイド関数であり、前記最後のリバッファリングが終了してからの時間の影響は、最後のリバッファリングが終了してからの時間の指数関数であることを特徴とする請求項１１に記載のMOS推定装置(100)。
【請求項１４】
前記マルチメディアセッションMOSは、オーディオビジュアル品質の時間単位当たりスコアの重み付け合成と総計値との間の差として推定され、前記総計値は、前記負バイアスと、前記オーディオビジュアル品質の時間単位当たりスコアの変動による劣化を表す項と、前記初期バッファリングによる劣化を表す項と、リバッファリングによる劣化を表す項との総計値であることを特徴とする請求項８乃至１３のいずれか１項に記載のMOS推定装置(100)。
【請求項１５】
マルチメディアセッション平均オピニオン評点(MOS)を予測するMOS推定装置であって、
前記マルチメディアセッションは、ビデオセッションおよびオーディオセッションを含み、ビデオ品質は、ビデオ品質の時間単位当たりスコアのベクトルによって表され、オーディオ品質は、オーディオ品質の時間単位当たりスコアのベクトルによって表され、前記マルチメディアセッションは、各リバッファリングイベントのリバッファリング開始時刻のベクトルと、各リバッファリングイベントのリバッファリング継続時間のベクトルと、該マルチメディアセッションの起動と該マルチメディアセッションの開始時刻との間の時間である初期バッファリング継続時間とによって表され、
前記MOS推定装置は、
-  前記ビデオ品質の時間単位当たりスコアのベクトルと前記オーディオ品質の時間単位当たりスコアのベクトルとからオーディオビジュアル品質特徴を生成し、前記マルチメディアセッションの開始時刻から計算された前記各リバッファリングイベントのリバッファリング開始時刻のベクトルと、前記各リバッファリングイベントのリバッファリング継続時間のベクトルとから、バッファリング特徴を生成する生成モジュールと、
-  前記生成されたオーディオビジュアル品質特徴と前記生成されたバッファリング特徴とから、マルチメディアセッションMOSを推定する推定モジュールと、
を有することを特徴とするMOS推定装置。
【請求項１６】
マルチメディアセッション平均オピニオン評点(MOS)を予測するための、MOS推定装置のコンピュータプログラム(140)であって、
前記マルチメディアセッションは、ビデオセッションおよびオーディオセッションを含み、ビデオ品質は、ビデオ品質の時間単位当たりスコアのベクトルによって表され、オーディオ品質は、オーディオ品質の時間単位当たりスコアのベクトルによって表され、前記マルチメディアセッションは、各リバッファリングイベントのリバッファリング開始時刻のベクトルと、各リバッファリングイベントのリバッファリング継続時間のベクトルと、該マルチメディアセッションの起動と該マルチメディアセッションの開始時刻との間の時間である初期バッファリング継続時間とによって表され、
前記コンピュータプログラム(140)は、コンピュータ(150)上で実行されると、該コンピュータ(150)に、
-  前記ビデオ品質の時間単位当たりスコアのベクトルと前記オーディオ品質の時間単位当たりスコアのベクトルとからオーディオビジュアル品質特徴を生成することを行わせるためのコンピュータプログラムコードを含み、ここで、前記オーディオビジュアル品質特徴は、
-  前記ビデオ品質の時間単位当たりスコアのベクトルと前記オーディオ品質の時間単位当たりスコアのベクトルとの多項式関数として計算された、オーディオビジュアル品質の時間単位当たりスコアのベクトルと、
-  前記オーディオビジュアル品質の時間単位当たりスコアの重み付け合成と、ここで、前記重みは、前記マルチメディアセッションの開始時刻からの時間とマルチメディアセッション継続時間との指数関数であり、
-  オーディオビジュアル品質の時間単位当たりスコアの急激な低下が前記マルチメディアセッションMOSに与える影響を表す負バイアスと、
-  前記オーディオビジュアル品質の時間単位当たりスコアの変動による劣化を表す項と、を含み、
前記コンピュータプログラム(140)は、前記コンピュータ(150)上で実行されると、該コンピュータ(150)に、
-  前記マルチメディアセッションの開始時刻から計算された前記各リバッファリングイベントのリバッファリング開始時刻のベクトルと、前記各リバッファリングイベントのリバッファリング継続時間のベクトルとから、バッファリング特徴を生成し、
-  前記生成されたオーディオビジュアル品質特徴と前記生成されたバッファリング特徴とから、マルチメディアセッションMOSを推定することを行わせるためのコンピュータプログラムコードを更に含む、
ことを特徴とするコンピュータプログラム。
【請求項１７】
請求項１６に記載のコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチメディアセッションMOS（平均オピニオンスコア）を予測するための方法、MOS推定装置、コンピュータプログラムおよびコンピュータプログラム製品に関する。
【背景技術】
【０００２】
消費者ユーザおよび企業ユーザの両方がコンテンツの使用量を増やすにつれ、ストリーミングメディアはこれまで以上に普及している。YouTube、Twitter、Facebookなどのソーシャルメディアや、Netflixなどのオンデマンドビデオサービスのプロバイダによっても使用されている。いくつかの報告によれば、NetflixおよびYouTubeは北米のピーク時のインターネットトラフィックの半分を占めている。さらに、加入ビデオのオンデマンドホームの数は、2020年までに200カ国で3億6,000万に達すると予測されている。
【０００３】
ネットワーク内の伝送容量が変動する場合、例えば無線接続の場合、メディアプレーヤーはビットレートを適応させることを頻繁に選択することができ、その結果、時として品質（低いビットレート、低い解像度など）は悪いながらもビデオを配信することができる。図１Ａに60秒のビデオの例を示す。セグメントの高さはビットレートを表し、各セグメントの長さは5秒である。ほとんど全ての場合において、品質は対応するように変化する。すなわち、高いビットレートでは高い品質を呈し、低いビットレートでは低い品質を呈する。
【０００４】
したがって、プロバイダーにとっては、基本的にサービスの質に関する主観的な意見である、ユーザのクオリティ・オブ・エクスペリエンス（QoE）を推定することが極めて重要である。この目的のために、視聴者の回答者がストリーミングメディアの知覚品質を評価するように求められる主観テストが使用されうる。通常、品質は１（「悪い」）から５（「非常に良い」）までの尺度で与えられ、その後すべての視聴者にわたって平均され、それを平均オピニオン評点（MOS）とする。しかし、これらの主観テストは時間と費用の両面でコスト高となり、そしてこれを回避するため客観QoE推定方法（「客観品質モデル」）が開発されてきた。
【０００５】
平均オピニオン評点（MOS）は、サービスまたはアプリケーションのパフォーマンスに関するユーザの主観的な意見の尺度である。これはマルチメディアアプリケーションの品質を評価するために広く使用されている。ITU-T勧告P.800は、オーディオビジュアルテストシーケンスの評価のために、５ポイント絶対カテゴリ評価（ACR: Absolute Category Rating）スケールでのMOSの使用を標準化した。ACRの尺度は、５（非常に良い）から1（悪い）の範囲である。この方法では、ユーザは一度に１つのテストシーケンスを提示され、それを評価するように要求される。
【０００６】
通常、オーディオとビデオとでは異なる客観品質モデルが使用される。モデルは、ビットレート（オーディオおよびビデオ）、サンプリングレート（オーディオ）、チャネル数（オーディオ）、解像度（ビデオ）、フレームレート（ビデオ）、GOPサイズ（ビデオ、ビデオ符号化に関するパラメータ）等のパラメータを考慮して、符号化自体による品質劣化を推定する。（上記した図のように）セッション全体のオーディオ品質モデルまたはビデオ品質モデルからの出力は、一般には客観的なMOSスコアのリストである。各スコアは、個々のメディアセグメントの品質を表す（上記の図では、各スコアは5秒間の品質を表している）。オーディオ符号化品質モデルおよびビデオ符号化品質モデルの例は、ITU-T P.1201勧告に記載されている。
【０００７】
オーディオ品質モデルおよびビデオ品質モデルは、作成されると、一連の主観テストでトレーニングされる。これは次のようにして行われる。特定の数のパラメータが変えられ、これらのパラメータを用いてマルチメディアクリップが生成される。次に、これらのクリップは主観テスト中に視聴者によってグレード分けされ、品質モデルが主観テストの結果とできるだけ正確に（ある意味で）一致するように作成される。
【０００８】
通常、モデルは短い信号セグメント、通常5〜10秒程度、でトレーニングされる。この場合、メディア品質はそのクリップの間でほぼ一定である。これは、原則として、対応する期間のセグメントを使用して提示された場合、および大きな品質変動が存在しない場合にのみ、モデルが正確な結果をもたらすことを意味する。これよりはるかに長いマルチメディアクリップの客観スコアを取得するには、集約モデルが必要である。人間の知覚処理は非線形であるため、例えば各セグメントのスコアを平均すればよいというものではない。
【０００９】
集約モデルはまた、オーディオモデル品質スコアとビデオモデル品質スコアとを、メディアの総合的な知覚を表す結合メディアスコアに結合する。集約モデルのもう１つのタスクは、バッファリングによる劣化を考慮に入れることである。バッファリングは、ネットワーク内の伝送速度が十分に高くないためにメディアプレーヤで消費されるデータ量がネットワークで伝送されるデータ量よりも多い場合に発生する。これにより、図１Ｂに例示されるように、メディアプレーヤのデータバッファが一杯である間にメディア再生に「ギャップ」が生じうる。したがって、集約モデルでは、図１Ｃに示す、より複雑な例のように、オーディオ品質およびビデオ品質そのものの変動と、バッファリングによる劣化の両方の影響を考慮する必要がある。
【００１０】
バッファリングは、（メディアがユーザに提示される前の）初期バッファリングまたは再生中に起こり得るリバッファリングのいずれかでありうる。
【発明の概要】
【００１１】
ITU-T P.1201のような既存のバッファ集約モデルは、これまでのところ１分までのセッション長に限定されてきたが、これでは、YouTube等の代表的なビデオセッションにとっては短すぎる。シーケンスが長くなると、人間のメモリ効果も顕著になり始める。つまり、人間は見たものは時間をさかのぼってはあまり覚えていないため、最後の部分の後でビデオの品質を評価することが多い。このことは既存のモデルでは扱われていない。品質適応化、異なる解像度、バッファリング、および長いセッション時間の、トータルの影響を正確に模擬するためには、より複合的なモデルが必要である。
【００１２】
目的は、平均オピニオン評点の予測方法を改善することである。
【００１３】
実施形態の第１の側面は、平均オピニオン評点(MOS)推定装置によって実行される、マルチメディアセッションMOSを予測する方法を定義する。マルチメディアセッションは、ビデオセッションおよびオーディオセッションを含み、ビデオ品質は、ビデオ品質の時間単位当たりスコアのベクトルによって表され、オーディオ品質は、オーディオ品質の時間単位当たりスコアのベクトルによって表される。
【００１４】
マルチメディアセッションは、各リバッファリングイベントのリバッファリング開始時刻のベクトルと、各リバッファリングイベントのリバッファリング継続時間のベクトルと、マルチメディアセッションの起動とマルチメディアセッションの開始時刻との間の時間である初期バッファリング継続時間とによって表される。前記方法は、前記ビデオ品質の時間単位スコアのベクトルと前記オーディオ品質の時間単位スコアのベクトルとから前記オーディオビジュアル品質特徴を生成することを含む。
【００１５】
前記オーディオビジュアル品質特徴は、前記ビデオ品質の時間単位当たりスコアのベクトルと前記オーディオ品質の時間単位当たりスコアのベクトルとの多項式関数として計算された、オーディオビジュアル品質の時間単位当たりスコアのベクトルと、前記オーディオビジュアル品質の時間単位当たりスコアの重み付け合成と、ここで、前記重みは、前記マルチメディアセッションの開始時刻からの時間とマルチメディアセッション継続時間との指数関数であり、オーディオビジュアル品質の時間単位当たりスコアの急激な低下が前記マルチメディアセッションMOSに与える影響を表す負バイアスと、前記オーディオビジュアル品質の時間単位当たりスコアの変動による劣化を表す項と、を含む。前記方法は、前記マルチメディアセッションの開始時刻から計算された前記各リバッファリングイベントのリバッファリング開始時刻のベクトルと、前記各リバッファリングイベントのリバッファリング継続時間のベクトルとから、バッファリング特徴を生成することを含む。前記方法は、前記生成されたオーディオビジュアル品質特徴と前記生成されたバッファリング特徴とから、マルチメディアセッションMOSを推定することを含む。
【００１６】
実施形態の第２の側面は、マルチメディアセッション平均オピニオン評点(MOS)を予測するMOS推定装置を定義する。マルチメディアセッションは、ビデオセッションおよびオーディオセッションを含み、ビデオ品質は、ビデオ品質の時間単位当たりスコアのベクトルによって表され、オーディオ品質は、オーディオ品質の時間単位当たりスコアのベクトルによって表される。マルチメディアセッションは、各リバッファリングイベントのリバッファリング開始時刻のベクトルと、各リバッファリングイベントのリバッファリング継続時間のベクトルと、マルチメディアセッションの起動とマルチメディアセッションの開始時刻との間の時間である初期バッファリング継続時間とによって表される。前記MOS推定装置は、前記ビデオ品質の時間単位当たりスコアのベクトルと前記オーディオ品質の時間単位当たりスコアのベクトルとからオーディオビジュアル品質特徴を生成する処理手段を有する。前記オーディオビジュアル品質特徴は、前記ビデオ品質の時間単位当たりスコアのベクトルと前記オーディオ品質の時間単位当たりスコアのベクトルとの多項式関数として計算された、オーディオビジュアル品質の時間単位当たりスコアのベクトルと、前記オーディオビジュアル品質の時間単位当たりスコアの重み付け合成と、ここで、前記重みは、前記マルチメディアセッションの開始時刻からの時間とマルチメディアセッション継続時間との指数関数であり、オーディオビジュアル品質の時間単位当たりスコアの急激な低下が前記マルチメディアセッションMOSに与える影響を表す負バイアスと、前記オーディオビジュアル品質の時間単位当たりスコアの変動による劣化を表す項と、を含む。前記MOS推定装置は、前記マルチメディアセッションの開始時刻から計算された前記各リバッファリングイベントのリバッファリング開始時刻のベクトルと、前記各リバッファリングイベントのリバッファリング継続時間のベクトルとから、バッファリング特徴を生成する処理手段を有する。前記MOS推定装置は、前記生成されたオーディオビジュアル品質特徴と前記生成されたバッファリング特徴とから、マルチメディアセッションMOSを推定する処理手段を有する。
【００１７】
実施形態の第３の側面は、マルチメディアセッション平均オピニオン評点(MOS)を予測するための、MOS推定装置のコンピュータプログラムを定義する。マルチメディアセッションは、ビデオセッションおよびオーディオセッションを含み、ビデオ品質は、ビデオ品質の時間単位当たりスコアのベクトルによって表され、オーディオ品質は、オーディオ品質の時間単位当たりスコアのベクトルによって表される。前記マルチメディアセッションは、各リバッファリングイベントのリバッファリング開始時刻のベクトルと、各リバッファリングイベントのリバッファリング継続時間のベクトルと、該マルチメディアセッションの起動と該マルチメディアセッションの開始時刻との間の時間である初期バッファリング継続時間とによって表される。前記コンピュータプログラムは、コンピュータ上で実行されると、該コンピュータに、前記ビデオ品質の時間単位当たりスコアのベクトルと前記オーディオ品質の時間単位当たりスコアのベクトルとからオーディオビジュアル品質特徴を生成することを行わせるためのコンピュータプログラムコードを含む。前記オーディオビジュアル品質特徴は、前記ビデオ品質の時間単位当たりスコアのベクトルと前記オーディオ品質の時間単位当たりスコアのベクトルとの多項式関数として計算された、オーディオビジュアル品質の時間単位当たりスコアのベクトルと、前記オーディオビジュアル品質の時間単位当たりスコアの重み付け合成と、ここで、前記重みは、前記マルチメディアセッションの開始時刻からの時間とマルチメディアセッション継続時間との指数関数であり、オーディオビジュアル品質の時間単位当たりスコアの急激な低下が前記マルチメディアセッションMOSに与える影響を表す負バイアスと、前記オーディオビジュアル品質の時間単位当たりスコアの変動による劣化を表す項と、を含む。前記コンピュータプログラムは、実行されると、前記コンピュータに、前記マルチメディアセッションの開始時刻から計算された前記各リバッファリングイベントのリバッファリング開始時刻のベクトルと、前記各リバッファリングイベントのリバッファリング継続時間のベクトルとから、バッファリング特徴を生成することを行わせるためのコンピュータプログラムコードを含む。前記コンピュータプログラムは、実行されると、前記コンピュータに、前記生成されたオーディオビジュアル品質特徴と前記生成されたバッファリング特徴とから、マルチメディアセッションMOSを推定することを行わせるためのコンピュータプログラムコードを含む。
【００１８】
実施形態の第４の側面は、コンピュータ読み取り可能な手段と、該コンピュータ読み取り可能な手段に記憶された前記第３の側面に係るコンピュータプログラムとを有するコンピュータプログラム製品を定義する。
【００１９】
実施形態の少なくともいくつかは、短いビデオセッションと長いビデオセッションの両方を処理し、より正確なMOSスコアを与えるMOS推定装置を有利に提供する。実施形態の少なくともいくつかによるMOS推定装置は、比較的低い演算量であり、全ての環境において容易に実施可能である。
【００２０】
なお、適切な場合はいつでも、第１、第２、第３および第４の側面のいずれの特徴、他のあらゆる側面に適用することができる。同様に、第１の側面のいかなる利点も、それぞれ第２、第３および第４の側面に等しく当てはまり、その逆もまた同様である。実施形態の他の目的、特徴、および利点は、以下の詳細な説明、添付の従属請求項、および図面から明らかになろう。
【００２１】
一般に、特許請求の範囲で使用される全ての用語は、本明細書で他に明示的に定義されない限り、技術分野におけるそれらの通常の意味に従って解釈されるべきである。「要素、装置、構成要素、手段、ステップなど」への全ての言及は、他に明示的に述べられていない限り、要素、装置、構成要素、手段、ステップなどの少なくとも１つの例を指すものとして解釈されるべきである。本明細書に開示される方法のステップはいずれも、明確に述べられていない限り、開示された正確な順序で実行される必要はない。
【図面の簡単な説明】
【００２２】
添付の図面を参照しながら、例示により本発明を説明する。
【図１Ａ】時間に対するバッファリングおよびビットレートを示す概略グラフである。
【図１Ｂ】時間に対するバッファリングおよびビットレートを示す概略グラフである。
【図１Ｃ】時間に対するバッファリングおよびビットレートを示す概略グラフである。
【図２】本発明の実施形態によるMOS推定器によって実行されるステップを示す図である。
【図３】本発明の実施形態によるサンプル時期の関数としての重み付け係数を示す図である。
【図４】本発明の実施形態による初期バッファリング期間の関数としての初期バッファリング影響を示す図である。
【図５】本発明の実施形態による、マルチメディアセッションの開始時刻からの時間の関数としての忘却係数の影響を示す図である。
【図６】本発明の実施形態による、リバッファリング期間の関数としてのリバッファリング期間の影響を示す図である。
【図７】本発明の実施形態による、リバッファリング回数の関数としてのリバッファリング反復の影響を示す図である。
【図８】本発明の実施形態による、最後のリバッファリング以降の時間の関数としての忘却係数の影響を示す図である。
【図９】本発明の実施形態による集約モジュールを示す図である。
【図１０】本発明の実施形態によるマルチメディアセッションMOSを予測するためのMOS推定器の機能ユニットを示す概略ブロック図である。
【図１１】本発明の実施形態による、マルチメディアセッションMOSを予測するためのコンピュータプログラムを有するコンピュータプログラム製品を備えるコンピュータを示す概略ブロック図である。
【発明を実施するための形態】
【００２３】
以下、本発明の特定の実施形態が示されている添付の図面を参照しながら、本発明を詳しく説明する。ただし、本発明は、多くの異なる形態によって実施可能であり、本明細書に記載の実施形態に限定されると解釈されるべきではない。この開示が十分かつ網羅的であり、そして当業者に本発明の範囲を全て伝えるために、これらの実施形態が例示として提供される。説明の全体を通して、同じ番号は同じ要素を指すものとする。
【００２４】
主観的MOSは、人がマルチメディアシーケンスの品質を評価する方法である。客観的MOS推定は、モデルを使用して、人がどのように評価するかを予測／推定する。一般に、マルチメディアMOSの予測にはパラメトリックベースの方法がよく使用される。この種のパラメトリックベースの方法は、かなり大きな予測誤差をもたらすことがしばしばである。
【００２５】
本明細書で提示する実施形態の基本的な考え方は、マルチメディアセッションMOSを予測することである。マルチメディアセッションは、ビデオセッションおよびオーディオセッションを含み、ビデオ品質は、ビデオ品質の時間単位当たりスコア（per-time-unit scores of video quality）のベクトルによって表され、オーディオ品質は、オーディオ品質の時間単位当たりスコア（per-time-unit scores of audio quality）のベクトルによって表される。マルチメディアセッションは、更に、各リバッファリングイベントのリバッファリング開始時刻のベクトル、各リバッファリングイベントのリバッファリング継続時間のベクトル、および、マルチメディアセッションの起動（initiation）と該マルチメディアセッションの開始時刻との間の時間である初期バッファリング継続時間によって表される。
【００２６】
時間単位は秒でありうる。したがって、ビデオ品質の時間単位当たりスコアおよびオーディオ品質の時間単位当たりスコアのリストは、毎秒取得されうる。例えば、300秒のクリップには、それぞれ300の要素を有するオーディオベクトルとビデオベクトルがある。
【００２７】
初期バッファリング継続時間も秒単位で表すことができる。例えば、8秒初期バッファリング（開始時刻は0秒とする）の継続時間は8秒間である。リバッファリング継続時間および位置も、秒単位で表すことができる。開始時刻はメディア時間におけるものであるため、過去のバッファリングの継続時間には依存しない。
【００２８】
１つの態様によれば、図２に記載されるような、MOS（平均オピニオン評点）推定装置によって実行される、マルチメディアセッションMOSを予測するための方法が提供される。この方法は、ビデオ品質の時間単位当たりスコアのベクトルとオーディオ品質の時間単位当たりスコアのベクトルとからオーディオビジュアル品質特徴を生成するステップＳ１を含む。
【００２９】
オーディオビジュアル品質特徴は、ビデオ品質の時間単位当たりスコアのベクトルとオーディオ品質の時間単位当たりスコアのベクトルの多項式関数として計算される、オーディオビジュアル品質の時間単位当たりスコア（per-time-unit score of audiovisual quality）のベクトルを含む。すなわち、ビデオ品質とオーディオ品質が、結合品質の尺度であるmosBothに「マージ」される。このマージは、ITU-T P.1201により知られている。例えば、下記のソースコードに示されるように、オーディオビジュアル品質の時間単位当たりスコアが、次のように計算されうる。
【００３０】
【数１】
2019526190.tif 000003
ただし、mosVおよびmosAはそれぞれ、ビデオ品質の時間単位当たりスコアのベクトルおよびオーディオ品質の時間単位当たりスコアのベクトルであり、c[17]およびc[18]はそれぞれ、オーディオのマージ重みおよびビデオのマージ重みである。例えば、c[17]を0.16233、c[18]を-0.013804とすることができる。ただし、本発明はこれらの具体的な値に限定されるものではない。
【００３１】
オーディオビジュアル品質特徴は、オーディオビジュアル品質の時間単位当たりスコアの重み付け合成を更に含む。ここで、重みは、マルチメディアセッションの開始時刻からの時間とマルチメディアセッション継続時間との指数関数である。すなわち、メモリ効果により、時間的に遠い過去に再生されそのためメモリにおいて遠く過去にあるメディアはわずかに忘れられ、従って重みで下げられる。オーディオビジュアル品質の時間単位当たりスコアの重み付け合成を、「mosBasic」という。マルチメディアセッション継続時間とマルチメディアセッションの開始時刻からの時間（ここではサンプル時期として示される）との間の差の関数としての重みの一例を、図３に示す。以下のソースコードは、mosBasicがどのように計算されうるかを示す。
【００３２】
for i in range(mosLength):
mosBoth[i] = (1 * (mosV[i] - 1) + c[17] * (mosA[i] - 1) + c[18] * (mosV[i] - 1) * (mosA[i] - 1) / 4) / (1 + c[17] + c[18]) + 1
mosTime    = mosLength - i - 1
mosWeight  = exponential([1, c[1], 0, c[2]], mosTime)
sum1       += mosBoth[i] * mosWeight
sum2       += mosWeight
mosBasic  = sum1 / sum2
【００３３】
ここで、mosLengthはマルチメディアセッション継続時間に対応し、mosTimeはマルチメディアセッション継続時間とマルチメディアセッションの開始時刻からの時間との間の差に対応し、c[1]およびc[2]はメモリ適応化重みである。例えば、c[1]は0.2855、c[2]は10.256に設定することができる。ただし、本発明はこれらの具体的な値に限定されるものではない。
【００３４】
オーディオビジュアル品質特徴はさらに負バイアスを含む。負バイアスは、オーディオビジュアル品質の時間単位当たりスコアの急激な低下がマルチメディアセッションMOSにどのように影響するかを表す。メディアの品質が変化する場合、それは品質の急激な低下の影響を、同様の急激な改善と比較して、より大きく受ける。この効果は負バイアスによって捉えられる。負バイアスは、mosBasicに向けて各時間単位（例えば、１秒）当たりの品質スコアに対するオフセットを計算することによってモデル化されうる。これらのオフセットは忘却係数の重みによってもスケーリングされうるため、メモリにおいてより遡ったメディアの影響は少なくなる。
【００３５】
この重み付けされた時間単位（すなわち、１秒）当たりのオフセットのベクトルから、パーセンタイルが計算されうる。例えば、それは-10パーセンタイルでもよいし、異なるパーセンタイルでもよい。ベクトル内の最低品質スコアは通常mosBasicより低くなければならないため、これは通常負の数である。したがって、結果は正の値に反転される。つまり、値が大きいほど負バイアスの影響が大きくなる。その後、これは適正な範囲に線形的にスケーリングされる。負バイアスを計算するためのソースコードの例を以下に示す。
【００３６】
mosOffset = list(mosBoth)
for i in range(mosLength):
mosTime    = mosLength-i-1
mosWeight  = exponential([1, c[1], 0, c[2]], mosTime)
mosOffset[i] = (mosOffset[i] - mosBasic)*mosWeight
mosPerc = np.percentile(mosOffset, c[22], interpolation='linear')   
negBias = np.maximum(0, -mosPerc)
negBias = negBias*c[23]
【００３７】
同様に、負バイアスは次のように計算される。
【００３８】
【数２】
2019526190.tif 000004
ただし、tはマルチメディアセッションの開始時刻からの時間、Tはマルチメディアセッション継続時間である。ここで、c[22]およびc[23]は、負バイアス係数を表す。例えば、c[22]を9.1647、c[23]を0.74811とすることができる。ただし、本発明はこれらの具体的な値に限定されるものではない。
【００３９】
オーディオビジュアル品質特徴は、オーディオビジュアル品質の単位時間当たりスコアの変動による劣化を表す項を含む。すなわち、メディア品質が変動するのは不快なものであり、重み付けされていない１秒のメディア品質スコア(mosBoth)がmosBasicを上回るまたは下回るトップおよびディップの数を数えることによって品質変動の影響が捕捉される。言い換えると、オーディオビジュアル品質の時間単位当たりスコアの変動による劣化を表す項は、オーディオビジュアル品質の時間単位当たりスコアとオーディオビジュアル品質の時間単位当たりスコアの重み付け合成との間の差分絶対値が所定の閾値を超えたことの発生回数をマルチメディアセッション継続時間で割った値して計算されうる。閾値は、知覚されない小さな変動を無視するために使用されうる。閾値の例は0.1であり、すなわち0.1のヒステリシスが使用される。
【００４０】
オーディオビジュアル品質の時間単位当たりスコアの変動による劣化を表す項oscDegも、最大値が１秒当たり0.2の変動であるように切り詰められる。これはその後、より高いレベルの変動はより高い影響を受けるように、時間単位当たり（すなわち、１秒当たり）オーディオビジュアル品質値の標準偏差が掛けられてもよい。次のソースコードは、変動による劣化を表す項を計算する方法を示している。
【００４１】
osc    = 0
offset = 0.1
state  = 0
for i in range(mosLength):
if state != 1:  
if mosBoth[i] ＞ mosBasic + offset:
osc  += 1
state = 1
elif state != -1:   
if mosBoth[i] ＜ mosBasic - offset:
osc  += 1
state =-1
oscRel = osc / mosLength
oscRel = np.minimum(oscRel, 0.2)  # 5秒に1回の変更に制限
oscDeg = np.power(oscRel * np.std(mosBoth, ddof=1), c[19]) * c[20]
【００４２】
次に、結果は非線形に（ほぼ二乗に）スケーリングされ、最後に適正な範囲に線形にスケーリングされうる。
【００４３】
方法は、マルチメディアセッションの開始時刻から計算された各リバッファリングイベントのリバッファリング開始時刻のベクトルと、各リバッファリングイベントのリバッファリング継続時間のベクトルとからバッファリング特徴を生成するステップＳ２を含む。
【００４４】
生成されたバッファリング特徴は、初期バッファリングによる劣化を表す項initDegと、リバッファリングによる劣化を表す項bufDegを含みうる。
【００４５】
初期バッファリングによる劣化を表す項は、初期バッファリングの影響を表す項と忘却係数の影響を表す項との積としてモデル化されうる。
【００４６】
初期バッファリングの影響は、初期バッファリング継続時間のシグモイド関数でありうる。例えば、図４に示されるように、シグモイド関数は、基本的に５秒未満では影響はゼロであり、初期バッファ継続時間がそれより長い場合は影響が４となる。iniDegを計算するためのソースコードは次のとおりである。
【００４７】
lengthDeg = sigmoid([0, 4, c[10], c[10] + c[11]], bufInit)
memoryDeg = exponential([1, c[4], 0, c[5]], mosLength)
initDeg   = lengthDeg*memoryDeg
【００４８】
ここで、c[10]およびc[11]は、初期バッファリングに関連する定数であり、c[4]とc[5]は、初期バッファリングに関連するメモリの重みである。例えば、c[10]=4.5327、c[11]=1.0054、c[4]=0.054304、c[5]=10.286である。ただし、本発明はこれらの具体的な値に限定されるものではない。例えば、c[10]を4、c[5]を10.286とすることができる。ただし、本発明はこれらの具体的な値に限定されない。
【００４９】
しかし、初期バッファリングの影響は、初期バッファリングそれ自体またはその少し後で生じるだけである。メディアがストリーミングし続ける場合には、この問題はすぐに忘れられる。したがって、2番目のモデル化は、忘却係数を使用して初期バッファリングの影響に重み付けを行うことである。忘却係数は、図５に示すような、マルチメディアセッションの開始時刻からの時間の指数関数でありうる。
【００５０】
リバッファリングによる劣化を表す項bufDegは、全てのリバッファリングイベントについての、リバッファリング継続時間の影響と、リバッファリングの繰り返しの影響と、最後のリバッファリングからの時間の影響との積和としてモデル化されうる。各リバッファリングインスタンスに対して、最初にリバッファリングの影響が計算される。リバッファリング継続時間の影響は、図６に示すように、リバッファリング継続時間のシグモイド関数でありうる。
【００５１】
ただし、リバッファリング継続時間の影響は、単一のリバッファリングをモデル化したものにすぎず、そのリバッファリングが生じた時の近くでされるものである。より多くのリバッファリングがある場合には、それが追加されるたびに不快さが募ることになる。これは、リバッファリングの繰り返しの影響によってモデル化される。リバッファリングの繰り返しの影響は、図７に示すように、リバッファリング繰り返し回数のシグモイド関数でありうる。例えば、リバッファリング回数が４以上になると、最大5までの重みが割り当てられる。
【００５２】
最後に、最後のリバッファリングからの時間が経つにつれて、それを忘れる傾向がある。最後のリバッファリングからの時間の影響、またはいわゆる忘却係数は、図８に示すように、最後のリバッファリングからの時間の指数関数としてモデル化されうる。
【００５３】
単一のリバッファリングの最終的な影響を得るために、リバッファリング継続時間の影響、リバッファリングの繰り返しの影響、および最後のリバッファリングからの時間の影響が乗じられる。この結果は、次のソースコードに示すように、全てのリバッファリングのトータルの影響に追加される。
【００５４】
bufDeg  = 0;
for j in range(len(bufLength)):
lengthDeg = sigmoid([0, 4, c[12], c[12]+c[13]], bufLength[j])
repeatDeg = sigmoid([1, c[14], c[15], c[15]+c[16]], j)
memoryDeg = exponential([1, c[7], 0, c[8]],  mosLength - bufStart[j])
bufDeg    = bufDeg + lengthDeg * repeatDeg * memoryDeg
bufDeg = bufDeg/4 * (mosBasic-1)  
【００５５】
ここで、lengthDeg、repeatDeg、memoryDegはそれぞれ、リバッファリング継続時間の影響、リバッファリングの繰り返しの影響、最後のリバッファリングからの時間の影響を示し、bufStart[j]は、最後のリバッファリングからの時間を示す。また、c[12]およびc[13]は、リバッファリングの影響の定数、c[14]〜c[16]は、リバッファリングの繰り返しに関する定数、c[7]およびc[8]は、最後のリバッファリングからの時間の影響（リバッファリングメモリ重みともいう。）。例えば、c[12]=-67.632、c[13]=158.18、c[14]=4.9894、c[15]=2.1274、c[16]=2.0001、c[7]=0.17267、c[8]=10に設定することができる。ただし、本発明はこれらの具体的な値に限定されるものではない。
【００５６】
最後に、得られたリバッファリングによる劣化を表す項は、mosBasicと比較して再スケーリングされうる。品質が悪ければリバッファリングしてもそれほど人の知覚を低下させることはないが、逆に品質が良い場合には人はむしろリバッファリングをより不快に感じるため、これが実施されうる。
【００５７】
方法は、図９に示されるように、生成されたオーディオビジュアル品質特徴と生成されたバッファリング特徴とから、マルチメディアセッションMOSを推定するステップＳ３を含む。マルチメディアセッションMOSは、オーディオビジュアル品質の時間単位当たりスコアの重み付け合成と次の総計値との差として推定されうる。総計値は、負バイアスと、オーディオビジュアル品質の時間単位当たりスコアの変動による劣化を表す項と、初期バッファリングによる劣化を表す項と、リバッファリングによる劣化を表す項とを総計した値である。スコアはまた１から５の間になるように切り詰められる。すなわち、マルチメディアセッションMOSは、以下のソースコードに従って推定されうる。
【００５８】
mos = mosBasic - initDeg - bufDeg - oscDeg - negBias
if mos ＜ 1:
mos = 1
if mos ＞ 5:
mos = 5
return (mos)
【００５９】
図１０は、マルチメディアセッションMOSを予測するためのMOS推定器100の概略ブロック図である。マルチメディアセッションはビデオセッションおよびオーディオセッションを含む。ビデオ品質は、ビデオ品質の時間単位当たりスコアのベクトルによって表され、オーディオ品質は、オーディオ品質の時間単位当たりスコアのベクトルによって表される。マルチメディアセッションは、各リバッファリングイベントのリバッファリング開始時刻のベクトル、各リバッファリングイベントのリバッファリング継続時間のベクトル、および、マルチメディアセッションの起動（initiation）と該マルチメディアセッションの開始時刻との間の時間である初期バッファリング継続時間によって表される。
【００６０】
この態様によれば、MOS推定器100は、ビデオ品質の時間単位当たりスコアのベクトルとオーディオ品質の時間単位当たりスコアのベクトルとからオーディオビジュアル品質特徴を生成する生成部170を有する。オーディオビジュアル品質特徴は、以下を含む。
- ビデオ品質の時間単位当たりスコアのベクトルとオーディオ品質の時間単位当たりスコアのベクトルとの多項式関数として計算される、オーディオビジュアル品質の時間単位当たりスコアのベクトル。
- オーディオビジュアル品質の時間単位当たりスコアの重み付け合成。ここで、重みは、マルチメディアセッションの開始時刻からの時間とマルチメディアセッション継続時間の指数関数である。
- オーディオビジュアル品質の時間単位当たりスコアの急激な低下がマルチメディアセッションMOSにどのように影響するかを表す負バイアス。
- オーディオビジュアル品質の時間単位当たりスコアの変動による劣化を表す項。
【００６１】
生成部170は更に、マルチメディアセッションの開始時刻から計算された各リバッファリングイベントのリバッファリング開始時刻のベクトルと、各リバッファリングイベントのリバッファリング継続時間のベクトルとからバッファリング特徴を生成する。
【００６２】
MOS推定器100は、この態様によれば、生成されたオーディオビジュアル品質と生成されたバッファリング特徴とからマルチメディアセッションMOSを推定する推定部180を有する。
【００６３】
生成部170および推定部180は、ハードウェアベースでもよいし、ソフトウェアベース(この場合、それらはそれぞれ生成モジュールおよび推定モジュールと呼ばれる)でもよいし、あるいは、ハードウェアおよびソフトウェアの組み合わせでもよい。
【００６４】
生成部170は、以下のように負バイアスを算出することができる。
【００６５】
【数３】
2019526190.tif 000005
ただし、tはマルチメディアセッションの開始時刻からの時間、Tはマルチメディアセッション継続時間、c[1]、c[2]、c[23]は定数である。
【００６６】
生成部170は、オーディオビジュアル品質の時間単位当たりスコアとオーディオビジュアル品質の時間単位当たりスコアの重み付け合成との間の差分絶対値が所定のしきい値を超えたことの発生回数をマルチメディアセッション継続時間で割った値として、オーディオビジュアル品質の時間単位当たりスコアの変動による劣化を計算することができる。閾値は、例えば、0.1でありうる。オーディオビジュアル品質の時間単位当たりスコアの変動による劣化は、最大値が１秒当たり0.2の変動であるように切り詰められうる。
【００６７】
生成されたバッファリング特徴は、初期バッファリングによる劣化を表す項と、リバッファリングによる劣化を表す項とを含む。したがって、生成部170は、初期バッファリングの影響を表す項と忘却係数の影響を表す項との積として、初期バッファリングによる劣化を表す項をモデル化することができる。初期バッファリングの影響は、初期バッファリング継続時間のシグモイド関数であり、忘却係数は、マルチメディアセッションの開始時刻からの時間の指数関数でありうる。
【００６８】
生成部170は、全てのリバッファリングイベントについての、リバッファリング継続時間の影響と、リバッファリングの繰り返しの影響と、最後のリバッファリングが終了してからの時間の影響との積和として、リバッファリングによる劣化を表す項をモデル化することができる。リバッファリング継続時間の影響は、リバッファリング継続時間のシグモイド関数でありうる。リバッファリングの繰り返しの影響は、リバッファリングの繰り返し回数のシグモイド関数でありうる。最後のリバッファリングが終了してからの時間の影響は、最後のリバッファリングが終了してからの時間の指数関数でありうる。
【００６９】
MOS推定器100は、オーディオビジュアル品質の時間単位当たりスコアの重み付き合成と以下の総計値との間の差としてマルチメディアセッションMOSを推定することができる。総計値は、負バイアスと、オーディオビジュアル品質の時間単位当たりスコアの変動による劣化を表す項と、初期バッファリングによる劣化を表す項と、リバッファリングによる劣化を表す項とを総計した値である。
【００７０】
MOS推定器100は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組み合わせによって実施することができる。MOS推定器100は、携帯電話、タブレット、デスクトップ、ネットブック、マルチメディアプレーヤ、ビデオストリーミングサーバ、セットトップボックス、またはコンピュータ、等のユーザ機器に実装することができる。また、MOS推定器100は、通信ネットワークまたは通信システムにおける無線基地局などのネットワークノードの形で、またはネットワークノードに接続されたネットワーク装置内に実装することもできる。
【００７１】
図１０に関連して開示されたそれぞれのユニットは、装置内の物理的に別々のユニットとして開示されているが、全てASIC（特定用途向け集積回路）などの特殊用途回路でありうる。ユニットのうちの１つ以上が汎用プロセッサ上で実行されるコンピュータプログラムモジュールとして実装される、装置の別の実施形態も可能である。そのような実施形態は図１１に開示されている。
【００７２】
図１１は、DSP（デジタル信号プロセッサ）またはCPU（中央処理装置）などの処理装置110を有するコンピュータ150の一実施形態を概略的に示す。処理部110は、本明細書に記載の方法の各ステップを実行するための単一のユニットまたは複数のユニットとすることができる。コンピュータはまた、ビデオ品質の時間単位当たりスコアのベクトル、オーディオ品質の時間単位当たりスコアのベクトル、各リバッファリングイベントのリバッファリング継続時間のベクトル、および初期バッファリング継続時間を受信するための入出力(I/O)装置120を備える。I/O装置120は、図１１では単一のユニットとして示されているが、同様に別個の入力ユニットおよび別個の出力ユニットの形態であってもよい。
【００７３】
さらに、コンピュータ150は、不揮発性メモリ、例えばEEPROM（電気的消去可能プログラマブル読み出し専用メモリ）、フラッシュメモリ、またはディスクドライブの形態の少なくとも１つのコンピュータプログラム製品130を含む。コンピュータプログラム製品130は、処理部110などによってコンピュータ150上で実行されると、コンピュータ150に、図２に関連して前述した方法のステップを実行させるコード手段を含むコンピュータプログラム140を含む。
【００７４】
上述した実施形態は、本発明のいくつかの例示として理解されるべきである。当業者であれば、本発明の範囲から逸脱することなく、実施形態に様々な改変、組み合わせ、および変更を加えることができることを理解するであろう。特に、技術的に可能であれば、異なる実施形態における異なる部分の解決策を他の構成に組み合わせることができる。
【００７５】
集約コード
以下のPythonコードは、本発明の実施形態による、MOSを推定するためのアルゴリズムを要約するものである。
【００７６】
def aggregation11(mosV, mosA, bufInit, bufLength, bufStart):
# mosVとmosAは1秒のスコアのベクトル、インデックス0はビデオまたはオーディオの始まり
# bufInitは、初期バッファリングの秒数
# bufLengthは、リバッファリング長さのベクトル
# bufStartは、リバッファリング開始時刻のベクトル
# c0 - ダミー
# c1-c3 - メモリ適応化重み
# c4-c6 - 初期バッファリングメモリ重み
# c7-c9 - バッファリングメモリ重み
# c10-c11 - 初期バッファリングの影響
# c12-c13 - リバッファリングの影響
# c14-c16 - 繰り返しによる劣化
# c17-c18 - オーディオ/ビデオマージ重み
# c19-c20 - 変動重み
# c21 - 最後の部分のバイアス (不使用)
# c22-23 - 負バイアス係数
c = [0, 0.2855, 10.256, 17.85, 0.054304, 10.286, 9.8766, 0.17267, 10, 17.762, 4.5327, 1.0054, -67.632, 158.18, 4.9894, 2.1274, 2.0001, 0.16233, -0.013804, 2.1944, 43.565, 0.13025, 9.1647, 0.74811]
mosLength = np.minimum(len(mosV), len(mosA))
sum1      = 0
sum2      = 0
mosBoth   = list(mosV)
for i in range(mosLength):
mosBoth[i] = (1 * (mosV[i] - 1) + c[17] * (mosA[i] - 1) + c[18] * (mosV[i] - 1) * (mosA[i] - 1) / 4) / (1 + c[17] + c[18]) + 1
mosTime    = mosLength - i - 1
mosWeight  = exponential([1, c[1], 0, c[2]], mosTime)
sum1       += mosBoth[i] * mosWeight
sum2       += mosWeight
mosBasic  = sum1 / sum2
osc    = 0
offset = 0.1
state  = 0
for i in range(mosLength):
if state != 1:  # 状態 = 不明またはディップ
if mosBoth[i] ＞ mosBasic + offset:
osc  += 1
state = 1
elif state != -1:   # 状態 = 不明またはトップ
if mosBoth[i] ＜ mosBasic - offset:
osc  += 1
state =-1
oscRel = osc / mosLength
oscRel = np.minimum(oscRel, 0.2)  # 5秒に1回の変更に制限
oscDeg = np.power(oscRel * np.std(mosBoth, ddof=1), c[19]) * c[20]
mosOffset = list(mosBoth)
for i in range(mosLength):
mosTime    = mosLength-i-1
mosWeight  = exponential([1, c[1], 0, c[2]], mosTime)
mosOffset[i] = (mosOffset[i] - mosBasic)*mosWeight
mosPerc = np.percentile(mosOffset, c[22], interpolation='linear')   # 通常は負であるべき
negBias = np.maximum(0, -mosPerc)
negBias = negBias*c[23]
lengthDeg = sigmoid([0, 4, c[10], c[10] + c[11]], bufInit)
memoryDeg = exponential([1, c[4], 0, c[5]], mosLength)
initDeg   = lengthDeg*memoryDeg
bufDeg  = 0;
for j in range(len(bufLength)):
lengthDeg = sigmoid([0, 4, c[12], c[12]+c[13]], bufLength[j])
repeatDeg = sigmoid([1, c[14], c[15], c[15]+c[16]], j)
memoryDeg = exponential([1, c[7], 0, c[8]],  mosLength - bufStart[j])
bufDeg    = bufDeg + lengthDeg * repeatDeg * memoryDeg
bufDeg = bufDeg/4 * (mosBasic-1)   # 相対変化に変換
mos = mosBasic - initDeg - bufDeg - oscDeg - negBias
if mos ＜ 1:
mos = 1
if mos ＞ 5:
mos = 5
return (mos)
def sigmoid(par, x):
scalex = 10 / (par[3] - par[2])
midx   = (par[2] + par[3]) / 2
y = par[0] + (par[1] - par[0]) / (1 + np.exp(-scalex * (x - midx)))
return y
def exponential(c, x):
z = np.log(0.5) / (-(c[3] - c[2]))
y = c[1] + (c[0] - c[1]) * np.exp(-(x - c[2]) * z)
return y
【図１Ａ】
2019526190.tif 000008
【図１Ｂ】
2019526190.tif 000009
【図１Ｃ】
2019526190.tif 000010
【図２】
2019526190.tif 000011
【図３】
2019526190.tif 000012
【図４】
2019526190.tif 000013
【図５】
2019526190.tif 000014
【図６】
2019526190.tif 000015
【図７】
2019526190.tif 000016
【図８】
2019526190.tif 000017
【図９】
2019526190.tif 000018
【図１０】
2019526190.tif 000019
【図１１】
2019526190.tif 000020
【国際調査報告】
2019526190.tif 000021
2019526190.tif 000022
2019526190.tif 000023