直播點播窄帶高清之 JND 感知編碼技術
導語
直播點播已經與日常生活息息相關,這個過程中大家最關注的是什麼,是更低的播放成本?還是更高的畫質?這就涉及到了窄帶高清技術,對於視訊窄帶高清技術,智慧視訊編碼是其中最基礎也是最重要的一個部分。
程玲 | 網易雲信資深音視訊引擎開發工程師
01 窄帶高清技術概述
窄帶高清技術實際上是一套以人眼的主觀感受最優為基準的視訊編碼技術,代表的是一種成本與體驗最合理配置、最佳價效比的視訊服務理念。窄帶是指節省不必要的位元,高清是把位元分配到更能產生價值的地方,從而實現在同樣頻寬條件下收穫更加清晰優質的畫質。
在疫情的影響下,直播從傳統秀場滲透到各個領域,全民直播時代到來,對窄帶高清技術的需求也越來越大。本文將首先介紹下業界一些比較成熟的窄帶高清方案,再分享網易雲信在窄帶高清技術上的探索實踐,最後再分享其關鍵技術點 JND 感知編碼技術。
02 業界窄帶高清方案簡介
業界已經有比較成熟的窄帶高清技術的應用,下面將介紹一些典型的技術方案。
淘寶直播
淘寶直播是採用 HEVC 編碼實現了 720p/25fps,800kbps 的壓縮,且 PSNR>43db/VMAF>90。其視訊窄帶高清技術主要應用有三個方面:
- 音視訊增強,採用基於 AI 的影象增強、美顏和語音增強來提高生產質量
- 感知處理,採用信源通道聯合自適應編碼,包括 ROI 檢測、根據場景分類設定不同的編碼引數、智慧碼控等
- S265 編碼器,S265 編碼器是業界領先的 HEVC 編碼器
阿里窄帶高清
阿里的窄帶高清方案是從人眼視覺模型出發,將編碼器的優化目標從經典的“保真度最高”調整為“主觀體驗最好”。憑藉獨有演算法,弱化人眼易忽視的區域,強化人眼關注的細節,修復人眼厭惡的內容,突破當代視訊編碼器的能力上限,在節省位元速率的同時,也能提供更加清晰的觀看體驗。
騰訊極速高清
騰訊極速高清是採用視訊智慧類(視訊分成遊戲、秀場、體育、戶外、動漫、美食、影視劇等十幾個大類幾十個小類場景)、智慧編碼引數(不同場景配置不同最優編碼引數)、前置處理 (銳化、軟模糊、去塊、降噪)等技術儘可能解決轉碼失真、低解析度模糊、鏡頭抖動、噪聲大、低位元速率鋸齒塊等轉碼中存在的問題,應用在鬥魚、企鵝電競、CCTV、新英體育等。
03 NE264 窄帶高清技術
NE264 是網易雲信自研的符合 H.264 標準的視訊編碼器,目前已在 RTC、直播點播中應用。針對直播點播,NE264 目標是在現有架構下實現更低的頻寬、更高的畫質,即 NE264 窄帶高清。下面我們將簡單介紹下視訊編碼技術和根據人眼視覺特性提出的視覺感知編碼技術,在此基礎上提出和實現了 NE264 窄帶高清技術。
視訊編碼
視訊編碼都是利用資料間的冗餘來進行壓縮。早期視訊編碼依靠優化空域冗餘、時域冗餘、頻域冗餘等帶來壓縮效率的提升。從 MPEG-1 發展到 MPEG-2,位元速率節省約 50%,編碼效率翻倍,複雜度增長為 5% 左右。
2003年推出的 H.264 是視訊壓縮協議的經典,在 H.264 推出後,傳統的編碼方式優化效率越來越低。從 H.264(AVC) 到 H.265(HEVC),雖然編碼效率提升了 40%,但其背後複雜度卻增長了 5 倍,而從 H.265 到最新的 H.266(VVC) 標準,編碼效率不到 40%,但複雜度增加了 10 倍以上。
隨著編碼標準的演進,收益越來越小。隨著技術的發展,技術突破愈發困難,因此迫切需要一種編碼壓縮的新思路。
人眼視覺系統(HVS)
隨著對人眼視覺系統(HVS)生理和心理研究的發展,我們發現,其實人腦處理視覺時有非常多的資訊冗餘,利用人眼視覺特性可以明顯的改善視覺壓縮效率,這就是人眼感知壓縮的原理。
人眼視覺系統由眼球、神經系統及大腦視覺中樞三部分構成,當人眼注視視訊場景時,入射光首先由瞳孔和水晶體調節、聚焦,使景物在視網膜上成像,然後由視網膜上的神經元將光訊號轉化為神經訊號併發送到視皮層,經過視皮層以及腦部其他區域的進一步處理後形成對視訊場景的感知。
近幾年來,在視覺心理學、生理學的指導下,通過對人眼的某些視覺現象的觀察和研究,人們發現了 HVS 的很多特性。目前在視覺感知編碼中,一般應用到的 HVS 特性有視覺注意、視覺掩蓋、視覺敏感、視覺統計學習機制等,HVS 的一些特性如下圖:
視覺掩蓋,人眼對單一視覺訊號比較容易感知,當幾個視覺訊號同時存在時,HVS 會對其中一個或多個訊號的感知能力下降甚至消失,感知閾值發生改變,包括:
- 亮度掩蓋:人眼對較亮或者較暗區域感知更弱
- 紋理掩蓋:人眼對非均勻區域的可見性閾值為 明顯高於均勻區域
- Pattern 掩蓋:人眼對規則物體的分辨力明顯會高於不規則的物體
- 運動掩蓋:人眼對劇烈運動的場景分辨力會明顯下降
視覺注意,即當人眼注意視訊場景時,人眼會快速將注意力集中在感興趣的視訊內容或者物件上。包括兩種模式:
- 由外部激勵驅動的自底向上(Bottom-up)的處理過程。主要跟影象內容的顯著性相關,與周圍區域具有較大差異性的目標容易吸引觀察者的視覺關注。
- 由任務驅動的自上而下(Top-down)的處理過程。意識支配、依賴於特定的命令,由人的“認知因素”決定, 比如知識、預期和當前的目標,如監控場景下的人體更容易引起注意。
視覺感知編碼
視覺感知編碼的目的是利用已知的 HVS 特性,最大限度消除人眼無法感知的資訊,用更少的位元資源提供視覺感知質量更理想的視訊影象。為此,研究人員提出了大量的視覺感知編碼方法。根據編碼方法所利用的 HVS 特性不同,研究和應用比較多的是基於視覺掩蓋的編碼方法和基於視覺注意的編碼方法。
關於視覺掩蓋的編碼方法,人眼多通道模型的特點,一個激勵的存在將導致另一個激勵探測閾值的改變,致使人眼對其中一種或多種激勵的感知能力下降或消失,這就為消除視覺冗餘提供了可能。目前,基於視覺掩蓋的編碼方法主要有:基於JND模型的編碼方法和基於SSIM,VMAF等主觀評價機制的編碼方法。其中 JND 模型的編碼方法是人眼視覺編碼目前廣泛使用的技術,也是我們重點研究的技術。
關於視覺注意的編碼方法,根據是否考慮 HVS 的中央凹特性,基於視覺注意的編碼方法可以分為兩類,基於感興趣區域的編碼方法和基於人眼顯著性檢測的編碼方法。
- 基於感興趣區域(ROI)的編碼方法的基本思想是在視訊編碼前,對輸入的視訊場景進行視覺感知分析確定感興趣區域。在編碼過程中通過調整編碼引數,比如 QP,來分別控制感興趣區域和非感興趣區域的失真程度,進而改善感興趣區域的編碼質量。該技術提出已有多年,實際在使用時提升比較有限。
- 基於人眼顯著性檢測(Visual saliency detection)的編碼方法指通過根據人的視覺特點,提取影象中的顯著區域(即人類感興趣的區域)。面對一個場景時,人類自動地對感興趣區域進行處理而選擇性地忽略不感興趣區域,這些人們感興趣區域被稱之為顯著性區域。該技術是是人眼感知編碼中比較常見的技術,通常和 JND 等技術配合達到更好的壓縮效果,也是我們要優先研究的技術。
NE264 技術
目前業界窄帶高清技術已相對比較成熟,結合 NE264 編碼特性以及想要達成的目標,我們的窄帶高清技術主要分為三大部分:
- **視訊增強前處理技術:**紋理增強,提升主觀體驗
- **顯著性檢測技術:**基於人眼視覺注意特性,區分顯著性和非顯著性區域,用於編碼,提高壓縮率
- **JND感知編碼技術:**基於人眼視覺掩蓋特性,作用於編碼,提高壓縮率
具體的流程我們可以結合下圖看一下:對於輸入視訊,我們可以通過機器學習分析視訊內容特性,然後進行視訊增強前處理,以提升畫質,再進行顯著性檢測區分顯著性和非顯著性區域,傳遞給 NE264 編碼器,NE264 編碼計算 JND 係數,再結合顯著性檢測結果,作用於編碼,最終輸出顯示。
下圖為增強前處理的對比效果圖,其中左圖為原圖,右圖為增強處理後的效果,可以發現經過視訊增強處理後的影象主觀得到明顯提升。
視訊增強效果
下圖為顯著性檢測效果圖,其中上面彩色圖為原圖,下面黑白圖為顯著性檢測效果圖,為 0-255 的值,越亮說明越是顯著性區域。
顯著性檢測效果
04 JND 感知編碼技術
下面我們就來看看上面提到的關鍵技術:JND 感知編碼技術。
JND(Just Noticeable Distortion)為最小可覺察誤差,用來度量人眼對影象中不同區域失真的敏感性,多用於基於視覺特性的影象/視訊編碼、數字水印、影象質量評價。目前已有多個 JND 模型被提出,主要分為兩類,基於畫素域的 JND 模型和基於 DCT 域的 JND 模型。
- 基於畫素域的 JND 模型能在畫素域上更為直觀的給出每一個畫素點的 JND 閾值,不需要考慮頻域特性,計算簡單方便,但精度不高。
- 基於 DCT 域的 JND 模型考慮頻域特性,應用更廣,通常包括三部分,亮度自適應(Luminance Adaptation, LA)、對比度掩蔽(Contrast Masking, CM)以及對比度敏感函式(Contrast Sensitivity Function, CSF)。我們主要採用的是基於 DCT 域的 JND 感知編碼技術。JND 計算公式如下:
基於 NE264 的 JND 感知編碼如下:對於輸入的 YUV 影象,我們首先計算亮度敏感度、紋理敏感度和對比敏感度,從而得到 JND 係數,然後作用於 DCT 域,改變原有的 DCT係數,然後進行編碼,輸出碼流。
05 總結
本文主要介紹了 NE264 窄帶高清技術和 JND 感知編碼技術,對於直播點播應用而言,如何在保證高清畫質的基礎上儘可能的減少頻寬始終是追求的目標,視訊編碼是其中至關重要的環節,不管是傳統編碼技術,還是結合智慧編碼技術,我們都將持續努力,帶來更低時延、更高畫質的優質視訊體驗。
以上就是本次分享的全部內容,點選【這裡】即可檢視本次分享的視訊回顧。
作者介紹
程玲,網易雲信資深音視訊演算法工程師,目前在網易雲信主要從事視訊編碼演算法研究相關的工作,對視訊質量優化、位元速率控制演算法有比較豐富的經驗。
更多技術乾貨,歡迎關注【網易智企技術+】微信公眾號
- 資訊|WebRTC M93 更新
- 技術實踐|網易雲信 IM SDK 服務高可用技術方案
- 久等了!【Innovation 2021】網易應用創新開發者大賽正式開賽!
- 用程式碼,打造創意新世界!【Innovation 2021】網易應用創新開發者大賽正式開賽!
- Web端實現RTC視訊特效的解決方案
- 從0搭建線上聊天室,只需4步!
- JavaScript 之事件迴圈(Event Loop)
- C 20 四大特性之一:Module 特性詳解
- Android Flutter 多例項實踐
- 技術實踐 | 網易雲信視訊轉碼提速之分片轉碼
- 網易雲信線上萬人連麥技術大揭祕
- 視訊 QoE 的平衡之道—揭祕網易雲信 NERTC 視訊質量控制系統
- 使用 VideoToolbox 探索低延遲視訊編碼 | WWDC 演講實錄
- 技術實踐 | 如何基於 Flink 實現通用的聚合指標計算框架
- 網易雲信大規模聊天室系統架構解析
- 探尋使用者自定義定時任務的實踐方案
- 如何在 Electron 上實現 IM SDK 聊天訊息全文檢索
- 架構解析|網易自研新一代大規模分散式傳輸網
- 直播點播窄帶高清之 JND 感知編碼技術
- Flutter 混合開發基礎