SCReAM: Self-Clocked Rate Adaptation for Multimedia

Architecture

SCReAM: Self-Clocked Rate Adaptation for Multimedia_第1张图片
  • 媒体数据经过编码后送到RTP queue
  • 更新 RTP queue的size
  • Media Rate Control模块负责计算媒体编码器的目标码率
  • 从RTP queue中选择合适的RTP包送到send queue
  • Send Transmission Control模块负责计算实际发送速率(pacing)
  • RTCP反馈:用于计算ack和qdelay的相关信息
  • Network Congestion Contral模块负责计算congestion window和send window

Algorithm Details

1. Network congestion control

职责:计算congestion window 和 send window

  • qdelay
    反馈信息中包含最大seq_no的received time,用于估算qdelay
  • qdelay_tread的估算
    qdelay fraction每50ms更新一次,保存20个历史值
SCReAM: Self-Clocked Rate Adaptation for Multimedia_第2张图片
  • Congestion window的更新
    考虑丢包,ecn,qdelay等不同因素的影响
SCReAM: Self-Clocked Rate Adaptation for Multimedia_第3张图片

在fast increase 状态时,主要考虑增加newly acknowledged bytes
在非fast increase 状态时,则考虑了qdelay and qdelay_target

SCReAM: Self-Clocked Rate Adaptation for Multimedia_第4张图片
  • Send Window 更新
    当qdelay很小时,用于补偿congestion window,增大发送速率
SCReAM: Self-Clocked Rate Adaptation for Multimedia_第5张图片
  • Pacing
  • Resuming fast increase
    当qdelay_trend 小于QDELAY_TREND_LO 一段时间
  • Competing flows compensation
    当与多个流竞争时,为了提高有效性(带宽占用率),动态调整qdelay_target来实现。但实际使用时建议关掉~
SCReAM: Self-Clocked Rate Adaptation for Multimedia_第6张图片

2. Media rate control

  • rate_transmit: 实际发送的码率
  • rate_ack: 实际被ack的码率
    均200ms更新一次
  • 特殊情况处理
SCReAM: Self-Clocked Rate Adaptation for Multimedia_第7张图片
  • 一般情况
    fast_increase = true,主要考虑了ramp-up speed
    fast_increase = false,则综合考虑RTP queue 和 qdelay trend
SCReAM: Self-Clocked Rate Adaptation for Multimedia_第8张图片
  • 边界限制
    rate_media_limit_t = max(current_rate_t, max(rate_media,rtp_rate_median))
    rate_media_limit_t *= (2.0-qdelay_trend_mem)
    target_bitrate = min(target_bitrate, rate_media_limit_t)
    target_bitrate = min(TARGET_BITRATE_MAX,

3. Receiver

  • received RTP packets的list,即ack
  • 最大序号的rtp包的timestamp,用于计算qdelay
  • 反馈速率(packets/s)
    rate_fb = min(50,max(2.5,rate_media/10000))

你可能感兴趣的:(SCReAM: Self-Clocked Rate Adaptation for Multimedia)