成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

火山引擎實時、低延時擁塞控制算法的優化實踐

開發
火山引擎智能擁塞控制算法 VICC(Volcano Intelligent Congestion Control)是一種自適應的擁塞控制算法,旨在解決全球不同網絡環境下,不同音視頻應用對帶寬利用率和延時的差異化要求。

摘要

火山引擎智能擁塞控制算法 VICC(Volcano Intelligent Congestion Control)是一種自適應的擁塞控制算法,旨在解決全球不同網絡環境下,不同音視頻應用對帶寬利用率和延時的差異化要求。它結合了傳統擁塞控制算法(如 GCC 和 BBR)的優點,并且能夠根據不同的網絡條件、業務偏好和碼率特征進行自適應調整,包括自適應擁塞響應速度、自適應帶寬探測幅度、自適應丟包檢測策略、自適應抗抖動能力和自適應 Padding。通過這些自適應調整,VICC 算法能夠提升各種復雜弱網下的帶寬利用率,同時在滿足不同延時的條件下,盡量提升帶寬的穩定性,為用戶提供更好的音視頻體驗。

1.  行業現狀和挑戰

實時音視頻應用的網絡傳輸面臨諸多方面的挑戰,其中包括:

  • 帶寬利用率:為了提供高質量的音視頻體驗,需要充分利用網絡帶寬,這就要求網絡傳輸算法具有高效的帶寬探測能力。
  • 延遲和響應時間:實時音視頻應用要求快速的響應時間和超低延遲,這就要求網絡傳輸技術具有快速的傳輸速度和低延遲的特性。
  • 可靠性和穩定性:網絡傳輸過程中可能會出現擁塞、丟包等問題,這會影響到音視頻的質量和穩定性,因此要求網絡傳輸技術具有可靠性和穩定性,能夠保證數據的正確傳輸和恢復。
  • 公平性和資源分配:在多用戶場景下,需要保證網絡傳輸的公平性和資源分配的合理性,以避免某些用戶獲得過多的資源,導致其他用戶的服務質量下降。

除了上述挑戰,實時音視頻傳輸還需要關注體驗指標,如實時性、流暢性、清晰度、音畫同步性等,這些指標對于提供高質量的音視頻體驗至關重要。

1.1 現網音視頻卡頓歸因

為了快速提升線上用戶弱網相關的體驗,火山引擎根據抖音集團真實用戶的負反饋數據打磨研發了“音視頻卡頓歸因模型”,它可以對線上音視頻卡頓的所有 case 進行自動歸因和聚類,為弱網問題的優化和優先級給出有效指導。

根據模型對線上用戶音視頻卡頓反饋的歸因和聚類,我們發現,當前引起線上卡頓問題的主要原因是上下行大小緩存問題。

圖片

線上用戶視頻/音頻卡頓歸因類型占比

大小緩存的描述,可以參考:https://www.ietf.org/archive/id/draft-cardwell-iccrg-bbr-congestion-control-00.txt

大緩存:Deep buffers,at bottleneck links with deep buffers, congestion happens before packet loss.

小緩存:shallow buffers, in shallow buffers, packet loss happens before congestion.

1.2 RTC 主流擁塞控制算法分析

自 Google 開源 WebRTC 實時音視頻框架以來,GCC 作為默認擁塞控制算法備受行業研究和關注,而 WebRTC 在演進過程中,也在不斷演進集成 BBR、PCC 等擁塞控制算法,以期望進一步提升實時音視頻的傳輸性能。

下文以 GCC 和 BBR 算法為例,我們來看一看當前主流擁塞控制算法的特性和不足。

1.2.1 GCC 算法

GCC 算法是專為實時音視頻傳輸設計的擁塞控制算法,但隨著網絡環境日益復雜、音視頻應用場景越來越豐富,GCC 算法難以提升上限以獲得更好的音視頻傳輸體驗。

圖片

GCC 算法帶寬估計與觸發擁塞延時示意圖

GCC 算法的關鍵特征

GCC 算法的發送/接收碼率的聯動是非連續性的。在檢測到擁塞之前,發送碼率和接收碼率是不聯動的;檢測到擁塞之后,發送碼率和接收碼率才開始聯動。如果要降低非聯動過程中的網絡延遲,GCC 算法需要過降帶寬排空非聯動過程中網絡中堆積的數據。另外,GCC 的網絡探測速度也較慢。

GCC 算法存在的問題

GCC 算法的幾個主要問題中,最核心的問題是帶寬估計的準確性(帶寬利用率)和擁塞檢測的有效性(對網絡的沖擊)存在很難調和的矛盾,導致這個問題的主要原因是:

  • GCC 算法的帶寬估計強依賴擁塞檢測,即,只有在算法判斷為網絡擁塞的情況下,才能進行帶寬估計;
  • GCC 算法的擁塞控制靈敏度受到帶寬估計的影響很大, 意味著當實際發送碼率越貼近真實帶寬,擁塞檢測受到的干擾越大

1.2.2 BBR 算法

BBR 算法是互聯網通用的擁塞控制算法,其設計目標追求高帶寬利用率、低擁塞延遲和丟包,BBR 在通用互聯網領域具備良好的性能表現,但因其設計目標和算法特性,不適應于實時音視頻傳輸場景。

圖片

BBR 算法帶寬估計與觸發擁塞延時示意圖

BBR 算法的關鍵特征

和 GCC 算法不同,BBR 算法的發送/接收碼率的聯動是連續性的,它實時跟蹤接收碼率,同時根據擁塞檢測的結果,來調整發送窗口(cwnd)的大小,并最終影響發送碼率。

BBR 算法存在的問題

雖然 BBR 在帶寬估計準確性上等能力要高于 GCC,但它也存在一些明顯的問題:

  • 突發擁塞時收斂速度慢;
  • 當鏈路丟包高于一定閾值時,吞吐量斷崖式下跌;
  • 抗抖動能力一般;
  • 反向鏈路丟包延時影響上行帶寬估計;
  • 探測最小延遲劇烈降窗不適用實時音視頻傳輸;

由于 GCC 和 BBR 等算法在實時音視頻傳輸場景存在一些不足,火山引擎網絡傳輸團隊自研了 VICC 算法,旨在優化上述問題的同時,也為火山引擎實時音視頻業務提供更加良好的用戶體驗。

2. 火山引擎智能擁塞控制算法 VICC 介紹

VICC 算法主要通過網絡狀態統計進行自適應帶寬估計決策,并作出帶寬評估動作,以提升各種復雜網絡下擁塞控制的性能表現。在近一年的實驗室和線上業務打磨過程中,我們深入分析了不同算法原理及現網痛點弱網問題,輸出了 40+ 項最佳工作點及 9 篇技術專利,線上業務的各項指標,特別是視頻卡頓率、首幀時長等也得到了顯著的改善。

圖片

火山引擎智能擁塞控制算法 VICC 架構圖

2.1 網絡狀態統計

評估當前網絡狀態的重要指標之一是網絡狀態統計參數,而準確的基礎網絡狀態參數是提高帶寬估計準確性和帶寬利用率的關鍵基石。VICC 算法提供了多種基礎網絡狀態參數,部分基礎網絡狀態統計參數如下:

圖片

2.2 自適應擁塞控制

VICC 算法結合了傳統擁塞控制算法的優點,并且能夠根據不同的網絡條件、業務偏好和碼率特征進行自適應調整,包括自適應擁塞響應速度、自適應抗干擾能力、自適應丟包檢測、自適應帶寬探測幅度、自適應擁塞排空等。

圖片

2.2.1 自適應擁塞檢測

VICC 繼承并優化了 GCC 和 BBR 擁塞檢測能力,通過對發送碼率、接收碼率及延遲參數的關系進行建模,觀察延遲參數變化趨勢及其關聯性,以及對于延遲參數的容忍程度進行擁塞響應,從而快速排空網絡擁塞。

和 GCC / BBR 相比,VICC 擁塞響應及收斂速度更快。

圖片

GCC / BBR / VICC 擁塞響應及收斂速度比較(線上實測)

2.2.2 自適應抗干擾能力

擁塞響應越靈敏,意味著在網絡抖動場景下容易誤判,導致算法抗干擾能力下降。VICC 使用蟻穴算法來對抗網絡抖動和亂序,通過接收碼率和發送碼率來度量網絡透過率,并結合觀察延遲參數變化趨勢及關聯性,提升自適應抗干擾能力。

VICC 可以對抗 2000ms 以內的延遲抖動幅度,抗抖動能力顯著比 GCC 和 BBR 強。

圖片

GCC / BBR / VICC 抗抖動能力比較(線上實測)

靈活可配置的擁塞檢測靈敏度

在自適應擁塞檢測的基礎上,VICC 還會根據業務偏好,提供靈活可配置的擁塞檢測靈敏度模式設置,以適用于不同業務場景的訴求,并做好擁塞響應靈敏和抗干擾能力強的 trade-off。

以火山引擎 RTC 典型應用場景為例,互娛、企業通訊等場景一般可以容忍 200-300ms 的延時,而遠程車控、云游戲等場景只能容忍 50-100ms 的延時。VICC 提供多種模式來適應不同場景的延時需求,在延時容忍度較高的場景,VICC 可以通過延遲擁塞響應時間來獲得更高的帶寬估計的穩定性,在延時容忍度較低的場景,VICC 可以通過快速擁塞響應來降低網絡擁塞延遲。

圖片

火山引擎 RTC 典型應用場景

2.2.3 自適應丟包檢測能力

通過對發送碼率、接收碼率及丟包參數的關系進行建模,并微幅調整發送碼率,檢測接收碼率和丟包參數之間的關聯性,VICC 可以自適應檢測出丟包為隨機丟包和擁塞丟包。一旦識別出隨機丟包后,VICC 可以準確地對隨機丟包進行系數補償,以達到不誤降帶寬的效果。

和 GCC / BBR 相比,VICC 隨機丟包抗性可達到 70% 以上。

圖片

GCC / BBR / VICC 隨機丟包抗性比較(線上實測)

2.2.4 復雜弱網處理能力

考慮實時音視頻傳輸對于延遲的容忍,根據延遲參數的程度、自適應上探幅度及下探幅度,在保留競爭力的同時,VICC 避免了因為頻繁探測引入的網絡延遲堆積問題。同時,在檢測到擁塞緩解后,VICC 通過對發送碼率、接收碼率及延遲參數的關系進行建模,迅速提升帶寬上探幅度和調整時間窗口;在探測到帶寬滿足音視頻傳輸體驗后,再逐步放慢上探幅度和時間間隔。

當網絡存在瓶頸帶寬時,VICC 的帶寬探測相對 GCC 和 BBR 更平穩。當瓶頸帶寬發生變化時,VICC 可以快速跟蹤實際瓶頸帶寬。

圖片

GCC / BBR / VICC 帶寬探測平穩度比較

2.3 自適應 Padding 策略

VICC 使用自適應 Padding 策略來解決帶寬下溢疊加復雜弱網場景下的帶寬估計,在精準探測網絡帶寬的同時,盡量避免網絡沖擊和帶寬浪費。在決策需要發送 Padding 時,會先根據帶寬估計值設定目標發送碼率,并實時度量接收碼率,同時動態調整目標碼率。

圖片

VICC 自適應 Padding 策略示意圖

3. VICC 表現及收益

通過對擁塞響應速度、帶寬探測幅度、丟包檢測策略、抗抖動能力等一系列的“自適應調整”,VICC 算法能夠提升各種復雜弱網下的帶寬利用率,同時在滿足不同延時的條件下,盡量提升帶寬的穩定性,為用戶提供更好的音視頻體驗。

3.1 算法表現

為了更直觀地展示 VICC 算法對于用戶音視頻體驗的提升效果,我們在不同類型的弱網環境下進行了音視頻通話測試,通過比較對端畫面的實時性和流暢性來比較 VICC 算法和市場上同類算法的擁塞控制能力。

在上行 70% 丟包網絡環境下,使用了 VICC 算法的火山引擎 RTC 依然保持穩定傳輸,幾乎沒有表現出卡頓。

當網絡突發上行 300kbps 限速小緩存時,使用了 VICC 算法的火山引擎 RTC 出現了短暫的卡頓,但算法很快進行了對抗,迅速恢復穩定和流暢,對用戶的體驗影響較小。

3.2 線上收益

VICC 算法經過了字節內部質量專項評估實驗室打磨和驗證后,在火山引擎線上業務上也進行了充分的流量驗證,在視頻通話、屏幕共享等場景中,視頻卡頓率和首幀指標得到了顯著的改善,其中,視頻通話卡頓率下降 27%、首幀延時下降 100ms+;屏幕共享卡頓率下降 15%,首幀延遲下降 200ms。 同時,使用自適應 Padding 策略后,現網上下行碼率也得到了明顯的改善,其中,上行Padding碼率下降 90%,下行下降 70%。

圖片

VICC 算法上線后對視頻卡頓、首幀和 Padding 碼率指標的改善

4. 未來展望

在網絡環境高度復雜的背景下,影響用戶體驗的因素眾多,有時通用算法難以精準匹配所有場景的環境特點,因此,一些特定場景的用戶體驗難以做到極致,無法實現“個性化場景自適應”的目標。

未來,我們將根據線上問題歸因聚類建模,對用戶網絡場景精準識別,提升網絡場景識別算法的準度和范圍,并以此為驅動,針對不同的弱網場景進行全鏈路的差異化優化,使算法在各類網絡模型下的收斂達到最優,持續提升用戶體驗。

責任編輯:龐桂玉 來源: 字節跳動技術團隊
相關推薦

2024-07-18 21:26:44

2019-04-16 11:02:10

TCPIPLinux

2022-05-20 11:23:01

火山引擎A/B 測試ToB 市場

2023-04-04 13:38:30

DataLeap數據血緣

2024-11-25 08:20:22

2020-02-10 20:54:48

擁塞流量控制

2024-07-18 08:40:28

2022-04-06 15:58:25

火山引擎差分隱私LDPDC

2022-08-19 18:15:04

視頻會議音頻質量噪聲

2021-10-11 14:27:06

TCP擁塞控制

2022-12-23 09:29:52

大數據

2022-09-06 11:57:32

ClickHouse火山引擎數據

2025-06-26 01:45:00

2023-08-22 14:29:05

大前端
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 黄色毛片视频 | 国产精品久久国产精品久久 | 亚洲一区二区三区在线播放 | 国产一区在线视频 | 天堂中文资源在线 | 91在线免费视频 | 成人精品鲁一区一区二区 | 999久久久久久久 | 91精品国产色综合久久 | 欧美一级欧美一级在线播放 | 国产精品资源在线观看 | 中文字幕人成乱码在线观看 | 在线观看成人免费视频 | 亚洲精品日韩综合观看成人91 | 亚洲另类自拍 | 国内成人免费视频 | 一级电影免费看 | 成人精品在线观看 | 国产成人亚洲精品 | 久久精品欧美一区二区三区不卡 | 亚洲成人三级 | 色婷婷综合在线观看 | 日韩视频―中文字幕 | 成人在线视频观看 | 在线观看亚洲一区二区 | 992tv人人草| 亚洲永久字幕 | 久久av一区二区三区 | 国产在线观看不卡一区二区三区 | 日本不卡一区二区三区 | 亚洲欧美日韩一区二区 | 亚洲一区久久久 | 亚洲国产日韩一区 | 久久久一区二区三区 | 91麻豆精品国产91久久久更新资源速度超快 | 国产日产精品一区二区三区四区 | 最近日韩中文字幕 | 久久精品在线免费视频 | 亚洲国产精品va在线看黑人 | 久久久久久久99 | 精品亚洲一区二区三区四区五区高 |