videocalling
Illustration of ジッター(Jitter) in video calling

ジッター(Jitter)

技術

音声・ビデオデータの不規則な配信を引き起こすパケット到着時間の変動。

ジッターとは?

ジッターとは、パケットが送信されてから到着するまでの時間遅延の変動のことです。レイテンシが平均遅延を測定するのに対し、ジッターはその遅延の不一致を測定します。電車の時刻表のようなものです。レイテンシは平均移動時間ですが、ジッターは予測不可能性です。時に電車は時刻通り、時に早く、時に遅れます。

ビデオ通話では、パケットは理想的には一定の間隔で到着するべきです。エンコーダーは20ミリ秒ごとにパケットを送信し、理想的には受信者も20msごとにパケットを受け取ります。しかし実際には、パケット1は50ms後に、パケット2は35ms後に、パケット3は60ms後に到着します。この変動がジッターです。

高いジッターは、音声の途切れ、ビデオのフリーズ、ロボット的または途切れ途切れの音、全体的な通話品質の低下を引き起こします。

ジッターとレイテンシの違い

  • レイテンシ:送信者から受信者へのパケット移動の平均時間。全体的な遅延を測定
  • ジッター:パケット到着時間の変動。遅延の不一致を測定

高いレイテンシで低いジッター(衛星インターネットのように一貫しているが遅い配信)や、低いレイテンシで高いジッター(混雑したWiFiのように速いが予測不可能)という組み合わせもあり得ます。ビデオ通話には、低いレイテンシと低いジッターの両方が必要です。

音声・ビデオ品質への影響

音声への影響

  • 低ジッター(0-20ms):知覚できない、音声は自然に聞こえる
  • 中程度のジッター(20-50ms):時折途切れたり、わずかにロボット的な音
  • 高ジッター(50-100ms以上):頻繁な途切れ、深刻な歪み、聞き取れない音声

ジッターバッファ:解決策

ジッターバッファは受信側の小さなキューで、着信パケットを再生前に一時的に保存します。パケットを到着次第再生する(ジッターによりカクカクする)代わりに、バッファがパケットを収集し、一定の間隔で再生します。これにより、タイミングの変動が平滑化され、一貫した再生が提供されます。

トレードオフ:大きなバッファはより多くのジッターを平滑化しますが、レイテンシが増加します。小さなバッファはレイテンシを削減しますが、ジッターが高い場合にバッファが空になるリスクがあります。

許容ジッターレベル

  • 優秀:10ms未満(LAN、高品質有線接続)
  • 良好:10-30ms(一般的なブロードバンド、良好なWiFi)
  • 許容可能:30-50ms(限界的な接続、混雑したネットワーク)
  • 不良:50-100ms(深刻に混雑した不安定なネットワーク)
  • 使用不可:100ms超(通話品質が深刻に低下)

ジッターの削減

  • 有線接続の使用:イーサネットはWiFiよりもはるかにジッターが低い(通常5ms未満 vs 10-30ms)
  • ネットワーク混雑の軽減:帯域幅を大量に消費するアプリケーションを閉じる
  • QoS(サービス品質):WebRTCトラフィックを優先するようルーターを設定
  • WiFiの最適化:5GHz帯を使用し、アクセスポイントの近くに位置する
  • エッジサーバーの利用:ユーザーの近くにWebRTC SFUサーバーを展開

まとめ

ジッターはビデオ通話品質の静かな妨害者です。帯域幅が最大品質を決定し、レイテンシが全体的な遅延を決定する一方、ジッターは一貫性を決定します。WebRTCのアダプティブジッターバッファ(音声のNetEQなど)はジッターの隠蔽に非常に効果的で、ネットワーク条件に自動的に適応します。しかし、極端なジッター(100ms超)は、許容できないレイテンシを追加せずには完全に補償できません。