ビデオ品質のモニタリングに関する情報
Video Quality Monitoring(VQM)モジュールは、ネットワーク経由で配信されるビデオ通話の品質を監視します。第 2 世代シスコサービス統合型ルータ(Cisco ISR G2)で提供される VQM ソリューションは、H.264 コーデックを使用した通話に関する一連のビデオ品質メトリックを提供します。
VQM モジュールは、Real-Time Transport Protocol (RTP) のヘッダーおよびビデオ パケット ペイロードの最初の数バイトを解析し、ビデオ ストリームに関する重要な情報を取得します。VQM モジュールで解析される最初の数バイトには、シーケンス パラメータ セット (SPS)、ピクチャ パラメータ セット(PPS)、およびスライス ヘッダー(SH)が含まれます。Cisco ISR G2 では、VQM は WAN リンク(入力または出力)を通過する RTP ビデオ フローの品質を測定します。VQM は Cisco Flexible NetFlow バージョン 9(FNFv9)および IP Flow Information Export(IPFIX)によってビデオ品質関連フィールドを報告します。
ビデオ品質モニタリング インデックス
ビデオ品質のモニタリング インデックスは、推定平均オピニオン評点(MOS)というシスコ独自のモデルを使用して計算されます。eMOS は内部測定と計算に基づいてビデオ ストリームの品質に割り当てられた量を表す数値です。ビデオの次の側面を使用して eMOS を計算します。
• 圧縮解除されたビデオ品質
• 圧縮の歪み
• パケット損失と遅延歪み
表 1-1 に、ビデオ品質モデルの 3 つの部分と統合パラメータを示します。
表 1-1 ビデオ品質モデルの 3 つの部分と統合パラメータ
|
|
|
|
ビデオ コンテンツ |
-- |
Y |
Y |
解決策(Resolution) |
Y |
-- |
-- |
フレーム レートと変動 |
Y |
Y |
-- |
ビデオ エンコーダの実装 |
-- |
Y |
-- |
ビット/ピクセル |
-- |
Y |
-- |
GOP 構造 |
-- |
Y |
Y |
パケット損失のパターン |
-- |
-- |
Y |
パケット損失の隠蔽 |
-- |
-- |
Y |
パケットの遅延 |
-- |
-- |
Y |
パケット ジッター |
-- |
-- |
Y |
上のモデルを使用して計算される eMOS 値は 0~100 の連続的なスケールで、図 1-1 に示すように測定されます。
図 1-1 eMOS の測定スケール
VQM を使用して収集される主要メトリック
VQM モジュールはメトリックのリストを eMOS スコアとともに生成します。これらのメトリックは eMOS の計算結果であり、ビデオ ストリームのすべての特性の完全なビューを提供します。VQM モジュールはリアル タイムでビデオ ストリームの品質を監視しますが、eMOS などのメトリックのレポートは、設定された期間を基準とすることができます。設定期間は 1~10 秒である必要があります。推奨される期間は 5 秒です。
VQM モジュールは、次に示す主要カテゴリのメトリックを生成します。
• 「基本ビデオ属性」
• 「ビデオ圧縮」
• 「Packet Loss」
• 「ビデオ エントロピー」
• 「遅延とジッター」
• 「他の製品によって生成されるメトリック」
基本ビデオ属性
基本ビデオ属性は次のメトリックで構成されます。
• Most Recent Resolution Width
• Most Recent Resolution Height
• Frame Rate
• Video Payload Average Bit Rate
• Video Payload Bit Rate Fluctuation
これらのメトリックを使用して、ビデオ ストリームの実際の解像度とフレーム レートをモニタし、設定またはシグナリングされた値と一致していない場合にフラグを生成することができます。また、それらはクロス ストリームの帯域幅割り当てのために平均ビデオ ビット レートと変動を監視するために使用されます。これらのメトリックを使用して計算されるビット レート変動に基づいてバッファとキューの長さを調整できます。
表 1-2 に、メトリックの詳細を示します。
表 1-2 基本ビデオ属性メトリックの詳細
|
|
|
|
Most Recent Resolution Width |
ビデオ フレームについて最後に観測された幅。 |
ピクセル |
1-8000 |
Most Recent Resolution Height |
ビデオ フレームについて最後に観測された高さ。 |
ピクセル |
1-8000 |
Frame Rate |
その期間に観測された実際のフレーム レート。 |
フレーム/秒(fps) |
0-120 |
Video Payload Average Bit Rate |
その期間に観測された実際のビデオ ペイロードの平均ビット レート(ネットワーク、レイヤ 1-5、PHY+IP+UDP+RTP ヘッダーを除く)。 |
kbps |
0-20000 |
Video Payload Bit Rate Fluctuation |
その期間に観測された実際のビデオ ペイロードのビット レートでの標準偏差(ネットワーク、レイヤ 1-5、PHY+IP+UDP+RTP ヘッダーを除く)。 |
kbps |
0-20000 |
ビデオ圧縮
ビデオ圧縮は次のメトリックで構成されます。
• Number I Frames
• Number I Packets
• I Packet Sizes
• Number Short Term Reference (STR) Frames
• Number STR Packets
• STR Packet Sizes
• Number Long Term Reference (LTR) Frames
• Number LTR Packets
• LTR Packet Sizes
• Number Super-P Frames
• Number Super-P Packets
• Super-P Packet Sizes
• Number Non Referenced (NR) Frames
• Number NR Packets
• NR Packet Sizes
• Quantization Level of I Slices
• Quantization Level of STR Slices
• Quantization Level of LTR Slices
• Quantization Level of Super-P Slices
• Quantization Level of NR Slices
• eMOS Compression Bitstream
• eMOS Compression Network
ビデオ圧縮メトリックは次の目的で使用されます。
• フレーム タイプごとにビデオ トラフィックを監視します。タイプごとに多数または少数のフレームにフラグを設定できます。これにより、フレーム タイプの分布が異なるさまざまなストリーム間で公平性を維持します。
• ビデオ エンドポイントのパフォーマンスとコーデックの実装に対する可視性を提供し、ビデオ品質のトラブルシューティングを助けます。
• ビデオ圧縮レベルを監視して、圧縮の不具合と全般的な品質の低下とを切り分けます。圧縮レベルが高すぎる場合、このメトリックを使用して、どのタイプのビデオ フレームが問題を引き起こしているのかを突き止め、修復できます。
表 1-3 に、ビデオ圧縮メトリックの詳細を示します。
表 1-3 ビデオ圧縮メトリックの詳細
|
|
|
|
Number I Frames |
その期間に観測された I フレームの総数。 |
-- |
0-0xFFFFFFFF |
Number I Packets |
その期間に観測された I パケットの総数。 |
-- |
0-0xFFFFFFFF |
I Packet Sizes |
その期間に観測された I パケット ペイロード(ネットワーク、レイヤ 1-5、PHY+IP+UDP+RTP ヘッダーを除く)のサイズの合計。 |
キロバイト(KB) |
0-0xFFFFFFFF |
Number Short Term Reference (STR) Frames |
その期間に観測された STR フレームの総数。 |
-- |
0-0xFFFFFFFF |
Number STR Packets |
その期間に観測された STR パケットの総数。 |
-- |
0-0xFFFFFFFF |
STR Packet Sizes |
その期間に観測された STR パケットのペイロード サイズの合計。 |
キロバイト(KB) |
0-0xFFFFFFFF |
Number Long Term Reference (LTR) Frames |
その期間に観測された LTR フレームの総数。 |
-- |
0-0xFFFFFFFF |
Number LTR Packets |
その期間に観測された LTR パケットの総数。 |
-- |
0-0xFFFFFFFF |
LTR Packet Sizes |
その期間に観測された LTR パケットのペイロード サイズの合計。 |
キロバイト(KB) |
0-0xFFFFFFFF |
Number Super-P Frames |
その期間に観測された Super-P フレーム(誤り耐性を得るよう LTR フレームだけを参照するフレーム)の合計数 |
-- |
0-0xFFFFFFFF |
Number Super-P Packets |
その期間に観測された Super-P パケットの総数。 |
-- |
0-0xFFFFFFFF |
Super-P Packet Sizes |
その期間に観測された super-P パケットのペイロード サイズの合計。 |
キロバイト(KB) |
0-0xFFFFFFFF |
Number Non Referenced (NR) Frames |
その期間に観測された NR フレーム(別のフレームのコーディングの参照に使用されない P フレーム)の合計数。 |
-- |
0-0xFFFFFFFF |
Number NR Packets |
その期間に観測された I パケットの総数。 |
-- |
0-0xFFFFFFFF |
NR Packet Sizes |
その期間に観測された I パケットのペイロード サイズの合計(KB)。 |
キロバイト(KB) |
0-0xFFFFFFFF |
Quantization Level of I Slices |
H.264 規格に定義された範囲での I スライスの平均量子化レベル。 |
-- |
0-51 |
Quantization Level of STR Slices |
H.264 規格に定義された範囲での STR スライスの平均量子化レベル。 |
-- |
0-51 |
Quantization Level of LTR Slices |
H.264 規格に定義された範囲での LTR スライスの平均量子化レベル。 |
キロバイト(KB) |
0-51 |
Quantization level of Super-P Slices |
H.264 規格に定義された範囲での Super-P スライスの平均量子化レベル。 |
-- |
0-51 |
Quantization Level of NR Slices |
H.264 規格に定義された範囲での NR スライスの平均量子化レベル。 |
-- |
0-51 |
eMOS Compression Bitstream |
観測期間における、ビデオ圧縮後の推定平均オピニオン評点(ビットストリーム モデル) |
-- |
0-100 |
eMOS Compression Network |
観測期間における、ビデオ圧縮後の推定平均オピニオン評点(ネットワーク モデル) |
-- |
0-100 |
Packet Loss
パケット損失は次のメトリックで構成されます。
• Number I Packets Lost
• Number STR Packets Lost
• Number LTR Packets Lost
• Number Super-P Packets Lost
• Number NR Packet Lost
• Severely Damaged Frame Percentage
• eMOS Packet Loss Bitstream
• eMOS Packet Loss Network
これらのメトリックを使用して、パケット、フレーム、全体の品質の 3 つのレベルでパケット損失およびパケット損失による影響を監視できます。
表 1-4 に、メトリックの詳細を示します。
表 1-4 パケット損失メトリックの詳細
|
|
|
|
Number I Packets Lost |
その期間の I パケット損失の総数。 |
-- |
0-0xFFFFFFFF |
Number STR Packets Lost |
その期間の STR パケット損失の総数。 |
-- |
0-0xFFFFFFFF |
Number LTR Packets Lost |
その期間の LTR パケット損失の総数。 |
-- |
0-0xFFFFFFFF |
Number Super-P Packets Lost |
その期間の super-P パケット損失の総数。 |
-- |
0-0xFFFFFFFF |
Number NR Packet Lost |
その期間の NR パケット損失の総数。 |
-- |
0-0xFFFFFFFF |
Severely Damaged Frame Percentage |
観測期間内にパケット損失および損失伝播により影響を受けた MB の比率。 |
% |
0-100 |
eMOS Packet Loss Bitstream |
観測期間における、パケット損失(ビットストリーム モデル)によるビデオの eMOS スコアの低下。 |
-- |
0-100 |
eMOS Packet Loss Network |
観測期間における、パケット損失(ネットワーク モデル)によるビデオの eMOS スコアの低下。 |
-- |
0-100 |
ビデオ エントロピー
ビデオ エントロピーは次のメトリックで構成されます。
• Scene Complexity
• Level of Motion
これらのメトリックにより、異種のビデオ ストリームの帯域幅を最適化できます。
表 1-5 に、メトリックの詳細を示します。
表 1-5 ビデオ エントロピー メトリックの詳細
|
|
|
|
Scene Complexity |
VQM アルゴリズムで計算された 0 から 100 までのシーンの複雑度。 0:複雑でない。 100:最も複雑である。 |
-- |
0-100 |
Level of Motion |
VQM アルゴリズムで計算された 0 から 100 までのモーション レベル。 0:モーションなし。 100:最高のモーション レベル。 |
-- |
0-100 |
遅延とジッター
遅延とジッターは次のメトリックで構成されます。
• Frame Arriving Times Difference
• Frame Arriving Times Difference Variation
これらのメトリックは、 RTCP レポートを使用せずに RTP タイムスタンプで示されたフレーム表示時間と相対的にビデオ フレームの遅延およびジッターをモニタリングするのに役立ちます。
表 1-6 に、メトリックの詳細を示します。
表 1-6 遅延とジッターのメトリックの詳細
|
|
|
|
Frame Arriving Times Difference |
実際のパケット到着時間と予想パケット到着時間の平均差異は RTP タイムスタンプを使用して計算されます。 |
ミリ秒(ms) |
-4000-4000 |
Frame Arriving Times Difference Variation |
実際のパケット到着時間と予想パケット到着時間の標準偏差は RTP タイムスタンプを使用して計算されます。 |
ミリ秒(ms) |
-4000-4000 |
他の製品によって生成されるメトリック
他の製品によって生成されるメトリックは、次のメトリックで構成されます。
• First Packet RTP Sequence Num
• Last Packet RTP Sequence Num
これらのメトリックは、他のプロデューサとの同期に関する問題のトラブルシューティングに役立ちます。
表 1-7 に、メトリックの詳細を示します。
表 1-7 他の製品によって生成されるメトリック
|
|
|
|
First Packet RTP Sequence Num |
その期間に検査された最初のパケットの RTP シーケンス番号。 |
-- |
0-0xFFFF |
Last Packet RTP Sequence Num |
その期間に検査された最後のパケットの RTP シーケンス番号。 |
-- |
0-0xFFFF |
ビデオ品質モニタリングの設定
VQM の設定では、ハブ ルータとブランチ ルータのパフォーマンス モニタ ポリシーの設定が行われます。パフォーマンス モニタ ポリシーをインターフェイス上でイネーブルにする必要があります。ビデオ品質のモニタリングはビデオ ストリームのフロー メタデータ (FMD) に依存することに注意してください。
VQM の設定には、次の手順が含まれます。
ステップ 1 ビデオ モニタリングを有効にします。
ステップ 2 match フィールドと collect フィールドのフロー レコードを作成します。
ステップ 3 フロー エクスポータを作成します。
ステップ 4 フロー レコードおよびモニタリングしきい値によりフロー モニタを作成します。
ステップ 5 モニタされるビデオ ストリームと照合するためのクラス マップを作成します。
ステップ 6 クラス マップとフロー モニタでモニタリング ポリシー マップを作成します。
ステップ 7 モニタリング ポリシー マップをインターフェイスに付加します。
ビデオ モニタリングの有効化
次に、ビデオ モニタリングを有効にする例を示します。
デフォルトの最大セッションは 100 です。デフォルト モードは shutdown です。
match フィールドと collect フィールドのフロー レコードの作成
次のパフォーマンス モニタの例では、match フィールドと collect フィールドのフロー レコードを作成するようにモニタを設定します。
flow record type performance-monitoring vqm-rec
match ipv4 source address
match ipv4 destination address
match transport source-port
match transport destination-port
collect application video resolution [ width | height ] last
collect application video frame rate
collect application video payload bitrate [ average | fluctuation ]
collect application video frame [ I | STR | LTR | super-P | NR ] counter frames
collect application video frame [ I | STR | LTR | super-P | NR ] counter packets [lost]
collect application video frame [ I | STR | LTR | super-P | NR ] counter bytes
collect application video frame [ I | STR | LTR | super-P | NR] slice-quantization-level
collect application video eMOS compression [ network | bitstream ]
collect application video eMOS packet-loss [ network | bitstream ]
collect application video frame percentage damaged
collect application video scene-complexity
collect application video level-of-motion
collect transport rtp sequence-number [ last ]
フロー エクスポータの作成
次に、フロー エクスポータの設定を作成する例を示します。
flow exporter vqm-exporter
description PAM or CPCM interface
destination < ip address>
フロー レコードとモニタリングしきい値によってフロー モニタを作成します。
次に、フロー モニタおよびモニタリングを作成する例を示します。
flow monitor type performance-monitoring vqm-mon
cache timeout synchronized 5
history size 60 timeout 30
モニタされるビデオ ストリームと照合するクラス マップの作成
次に、モニタされるビデオ ストリームと照合するクラス マップを作成する例を示します。
class-map match-all vqm-class
クラス マップとフロー モニタによるモニタリング ポリシー マップの作成
次に、先ほど作成したクラス マップおよびフロー モニタによりポリシー マップを作成する例を示します。
policy-map type performance-monitoring vqm-policy
インターフェイスへのモニタリング ポリシー マップの付加
次に、インターフェイスにモニタリング ポリシー マップを付加する例を示します。
service-policy type performance-monitoring input vqm-policy
service-policy type performance-monitoring output vqm-policy
ビデオ品質モニタリングのトラブルシューティング
表 1-8 に、VQM のトラブルシューティングに使用可能な debug コマンドと show コマンドを示します。
表 1-8 VQM トラブルシューティング用の show および debug コマンド
|
|
show video quality monitoring
|
ビデオ品質のモニタリング ステータスを表示します。 |
show video quality monitoring record
|
アクティブなビデオ品質モニタリング セッションをすべて表示します。 |
show video quality monitoring record <num>
|
特定セッションのレコードを表示します。 |
debug video monitoring error
|
VQM エラーのデバッグをオンにします。 |
debug video monitoring event
|
VQM イベントのデバッグをオンにします。 |
debug video monitoring datapath
|
モニタリングでのデータ パスのデバッグをオンにします。 |
次の例は、 show video quality monitoring record コマンドの出力を示します。
router# show video quality monitoring record
vqm session id: 14, vqm_cpu_saving_mode: FALSE time: 23:46:44
From: 20.20.20.1, To: 20.20.20.2
SrcPort: 16422, DstPort: 16420, Protocol: udp
most_recent_resolution_width: 1280, most_recent_resolution_height: 720
video_payload_average_bit_rate: 1153, video_payload_bit_rate_fluctuation: 105
I_frame_count: 0, I_packet_count: 0, I_packet_byte_count: 0
STR_frame_count: 24, STR_packet_count: 99, STR_packet_byte_count: 1219
LTR_frame_count: 43, LTR_packet_count: 195, LTR_packet_byte_count: 1128
SuperP_frame_count: 41, SuperP_packet_count: 188, SuperP_packet_byte_count: 1130
NR_frame_count: 33, NR_packet_count: 154, NR_packet_byte_count: 984
quantization_level: I-slice 0, STR-slice 23, LTR-slice 23, SuperP-slice 23, NR-slice 23
I-pkt-lost: 9, STR-pkt-lost: 9, LTR-pktlost: 2, SuperP-pkt-lost: 3, NR-pkt-lost: 20
severely_damaged_frame_percentage: 91
emos_compression_bitstream: 76, emos_packet_loss_bitstream: 75, emos_bit(14): 1
emos_compression_network: 89, emos_packet_loss_network: 7, emos_net(14): 82
scene_complexity: 42, level_of_motion: 1
first_packet_rtp_sequence_num: 7907, last_packet_rtp_sequence_num: 8669
Total active record number: 1