歡迎你們前往騰訊雲+社區,獲取更多騰訊海量技術實踐乾貨哦~git
本文由 騰訊雲視頻發表於 雲+社區專欄
關注公衆號「騰訊雲視頻」,一鍵獲取 技術乾貨 | 優惠活動 | 視頻方案github
歡迎來到吃雞戰場web
很生氣!!!我纔剛落地,就因遊戲界面糊了一下,阻止了我撿槍的步伐,就被不知道從哪躥出來的傢伙給打死了!!!瞬間落地成盒!!!算法
我很憤怒,因而找了遊戲部門的同事吐槽了一番,獲得的回答是:畫質的問題歸大家部門,勞煩你自行進行處理!小程序
爲了能讓本身有個愉快的遊戲體驗感,因而乎,深陷於研發高清畫質的工做中……微信
通過前期的瞭解,得知當前遊戲直播行業1080P、>=45FPS、碼率6-10mbps已成爲遊戲主播上行的標配,各視頻平臺用戶對視頻源清晰度觀看體驗要求愈來愈高,CDN帶寬成本佔視頻APP平臺成本比例大頭。如何下降帶寬成本壓力是各視頻平臺降成本最重要的措施,其中視頻降碼率是現階段主要措施有,主要措施以下:網絡
算法升級框架
AV1/H.265/VP9/H.264等,AV1剛定稿AOM編碼性能相比其它3家100倍以上差距,因爲核心成員有Google/Amazon/Cisco/Netflix等這些大佬以及定位對web的友好性,AV1 3月剛完成V1.0的定稿以及ffmpeg4.0的支持,能夠預見的是,後面硬件支持友好後,Netflix、Youtube都將是第一批AV1的使用者,H.265其複雜專利結構致使的較高許可費用,創立之初也未充分考慮到網頁播放的友好性,更致命的是複雜的算法讓解碼端異常吃力,VP9開源、WEB兼容性也好、解碼複雜度低,除Apple和技術緣由外可能的理由之一就是業內也不太願意讓這麼重要一個國際標準被一個獨立的公司所控制。 如今視頻平臺主流編碼算法仍是以H.264爲主機器學習
普通轉碼ide
短視頻和直播平臺、視頻網站對視頻分源、超清、高清、流暢等不一樣檔位,基本都是一些按分辨率和碼率要求強制壓縮轉碼,效果不理想都是以省碼率爲目標沒有考慮用戶觀看體驗
極速窄帶高清
騰訊雲極速高清、窄帶高清以及netflix的動態編碼都是基於場景、清晰度、分辨率、碼率、幀率、編碼算法、播放策略等目標在不下降甚至加強源視頻畫質體驗的基礎上下降視頻碼率
視頻源和普通轉碼存在的問題
視頻源和普通轉碼主要存在的質量問題有:轉碼失真、低分辨率模糊、鏡頭抖動、噪聲大、低碼率鋸齒塊等
極速高清是如何解決這些問題
視頻智能分類
把視頻分紅遊戲、秀場、體育、戶外、動漫、美食、影視劇等十幾個大類幾十個小類場景,經過畫面特徵比較,明顯場景類如遊戲、足球、藍球、動漫等場景,純CNN網絡模型準確率98%以上,電視劇、戶外運動、美食、旅遊等畫面特徵比較分散,幀間運動變化比較大的場景CNN結合RNN+LSTM作時域+空域分析,準確率85%左右
編碼參數
經過視頻場景分類實時識別(特殊直播場景識別延時大概有10秒-60秒左右),根據場景識別結果,不一樣場景配置不一樣最優編碼參數, 根據視頻源碼率、幀率、分辨率、紋理和運動變化幅度等狀況以及綜合機器負載和畫質效果選擇最優編碼模板參數
前置處理
根據不一樣場景分類、客戶對視頻畫質的不一樣要求,以及結合視頻源畫面紋理和實時運動檢測結果進行銳化、軟模糊、反交錯、去塊、降噪、色階補償、降幀等前置處理
動態優化
不一樣的視頻類別,同一個視頻裏的不一樣段,應用徹底不同的編碼參數;「不一樣的參數」的概念包括但不限於:IBP幀類型、量化參數QP、分辨率等,支持編碼參數按幀實時更新生效
碼率控制
不論是標準H.264/JVT-G012 碼率控制算法仍是x264的碼率控制算法在運動變化切換比較明顯的場景下預編一次獲得率失真理論凸曲線都是儘量接近最優失真曲線,國內CDN帶寬基本都是按95計費法,CDN帶寬採樣點是5分種的均值,對於這種運動場景實時檢測切換比較明顯的場景幀咱們在x264碼率控制的基礎上會綜合幀時序信息作一些補償因子和畫質控制,畫質VMAF得分會有3-5分以上的提升
如上圖極速高清在VMAF得分相同狀況下碼率控制更低更精準。
detail reduce ☟
針對h264視頻編碼格式,設計了一種在視頻殘差的頻域上消除噪聲的算法。該算法結合了當前編碼宏塊的殘差大小,宏塊的QP值,歷史的頻域值等,並根據不一樣場景選擇匹配的video denoise模板,自適應地進行宏塊級的視頻處理,可以以極低的CPU消耗對噪聲宏塊進行優化,同時保留清晰宏塊的完整性
ROI處理 ☟
SIFT+差分圖像+運動目標圖像檢測或用戶指定(如臺標、水印)關注ROI區域,對該區域的宏塊編碼進行強化(放大/縮小量化步長)、銳化、色階補償等處理,如央視世界盃就要求對臺標和字幕區域畫質和亮度加強
VMAF評分 ☟
VMAF是Video Multimethod Assessment Fusion的縮寫netflix 開源的視頻主觀感覺質量評估算法,看名字這就是一種多方法融合的算法,主要使用了3種指標:visual quality fidelity(VIF)、detail loss measure(DLM)、temporal information(TI)。其中VIF和DLM是空間域的也即一幀畫面以內的特徵,TI是時間域的也即多幀畫面之間相關性的特徵。這些特性之間融合計算總分的過程使用了訓練好的SVM來預測
基本原理流程圖
從咱們評估測試對比效果看VMAF得分和人眼主觀感覺畫面質量很接近,基本能反應用戶對畫質的主觀感覺,固然VMAF在一些主要評估特性功能上還有不少功能不徹底支持以及評估時要手動嚴格幀對齊也比較費精力,netflix訓練模型主要是在明亮的室內經過電視觀看1080p視頻時的質量評估。不過手機上的模型也在作了效果不是很是理想
github地址:
https://github.com/Netflix/vmaf
極速高清主要基於VMAF的得分效果優化相關編碼參數和算法調整效果
效果對比
上圖是極速高清與普通轉碼和xx雲窄帶高清轉碼同碼率下效果對比,整體咱們測試效果和客戶反饋對比效果看同碼率下咱們VMAF分比競品和普通轉碼高10以分以上,同畫質VAMF得分下咱們碼率最大能下降30%左右
另注: PSNR和SSIM三大直接問題:
◆ 它只能衡量其與原圖的差別也即相對質量,不能計算絕對質量
◆◆ 孤立地計算每一幀,沒法利用視頻中相鄰幀的相關性和運動信息
◆◆◆ PSNR/SSIM值的計算方法過於straight-forward,結果跟人眼的主觀感覺並不總能匹配
客戶反饋
極速高清如今應用主要客戶有:熊貓、鬥魚、龍珠、虎牙、火貓、企鵝電競、CCTV、新英體育等客戶。且極速高清服務也可進行私有化部署,全程支撐cctv.com世界盃期間賽事直播
今每天氣好晴朗,到處好風光,好風光……
皇天不負有心人,自從有了極速高清的應用,在遊戲中分分鐘吃雞,瞬間成爲部門的吃雞高手,還有很多小迷妹讓我帶着吃雞呢,迎來了人生的巔峯,哈哈哈哈哈哈
問答
請問小程序即時通信如何接入發送消息?
相關閱讀
IM即時通信實現原理
iOS 即時通信 + 仿微信聊天框架 + 源碼
開發一款即時通信App,從這幾步開始
【每日課程推薦】機器學習實戰!快速入門在線廣告業務及CTR相應知識
此文已由做者受權騰訊雲+社區發佈,更多原文請點擊
搜索關注公衆號「雲加社區」,第一時間獲取技術乾貨,關注後回覆1024 送你一份技術課程大禮包!
海量技術實踐經驗,盡在雲加社區!