編碼時采用精準碼控,在碼率受限的情況下,將有限的資源合理分配,提高整體畫質;編碼前,對圖像進行精致的前處理,營造更加極致的視覺效果,提升畫質。
大家好,我是來自騰訊視頻的汪亮,主要負責騰訊視頻業務的視頻編解碼,以及圖像前處理的工作。今天的分享內容主要分為兩個方面:精準的編碼碼控和精致的圖像前處理。其主要目的是為了使終端用戶在看視頻時有最好的畫質體驗。此外,在文后簡單介紹了我們的下一步工作方向和內容。
1、轉碼框架
如上圖所示, 我們所有的直播和點播都是使用同一套邏輯框架來進行處理,包括NBA、101等節目直播流和點播文件的源介質,通過就近接入,進入轉碼系統。
在轉碼系統中,進行前處理后,執行H.264或HEVC的視頻編碼以及AAC或Dolby的音頻編碼,然后將編碼后的音、視頻流封裝成MP4、TS、FMP4的文件,進行DRM加密處理,最后把它上傳到FS文件系統保存,并分發到CDN,全平臺的終端也以就近接入的方式,下載文件進行播放。
在播放的過程中,我們會加入P2P的SDK來節約帶寬。本次分享的內容主要集中在上圖中前處理這部分邏輯。
2、畫質評測
我們對視頻進行前處理和編碼優化,但如何評價優化效果的好壞,是否達到預期,就涉及對畫質評定規則的約定。希望找到一個簡單又通用的方法來評定畫質,但實施的難點在于畫質和人的主觀感覺強相關,就更加增加了畫質評測的復雜度。
我們嘗試了四種評定方式psnr、ssim、vmaf和主觀評測。傳統的PSNR和SSIM,缺點在于評測是相對質量而不是絕對質量,得出的值不能很好的代表主觀結果,在發現這個缺點之后,業界提出了VMAF,也是目前較為通用的一種方式,包括在MSU編碼器的比賽過程中也采用VMAF作為參考指標之一,但它是基于一種傳統的方法且和訓練樣本相關,可能不能很好適配所有類型的視頻;最后一種方式就是主觀評測,通過兩臺電視機,或者兩個手機對比,找不同背景的同事來看,然后進行MOS評分。
為了得到更為準確的評分,我們開發了一套web評測系統,對上述4項指標均進行評測和統計,在新算法全量發布前,測評結果作為不斷改進和優化的參考指標。
3、編碼-內核優化
點播和直播的流進來后,首先會將其解碼成YUV的數據,再進行前處理與編碼,得到編碼壓縮NAL包。
視頻編碼的經典框架沒有大的更新,包括預測,變換,量化,掃描,熵變換,依舊是這幾個步驟。由于內核的優化是一個周期較久,比較耗時的過程,在沒有好的結果出來之前,會基于編碼器不變的情況下,進行類似參數調優等操作,比如,進行場景的識別,讓其自適應的進行量化和參數的設定,達到在最低碼流情況下獲得最好視頻效果的目的。
4、編碼-分類別編碼
不同的視頻內容,由于其復雜度不一樣,可以為其分配不同的參數,在目標碼率不一樣的情況下,也能達到很好的畫質效果;分類別編碼的目的是在總碼率一定的情況下,能夠讓碼率在不同類型的視頻間進行很好的分配和轉移,物盡其用。對片源進行分類,例如分類為四個:2D動畫、3D動畫、普通電影、以及體育視頻(如足球賽,籃球賽等)。在分類之前,所有視頻的目標碼率是同樣對待處理的,分類之后,為不同的類別的內容分配一個更為合適的目標碼率,測試發現,2D動畫的視頻,即使減少30%的碼率,也能夠達到同樣的畫質效果,此時,將節約出來的碼率轉給體育視頻,使之達到更好的畫質效果。
5、編碼-動態碼率
在一個視頻中,場景是動態變化的,有時比較平緩,有時比較復雜,碼率曲線可以很好的展示它的變換情況。片源分類是針對片源對象來說的,動態碼率則是對該片源按時間軸進行細致的劃分,區分平緩和復雜的區間,并為其分配不同的目標碼率。
點播中,編碼的過程一般會采用2-Pass的方式,首先進行720P格式進行1-Pass的編碼,得到每一幀的參考幀的一些信息,這些信息可以為第二次編碼進行指引。在第二次編碼時,參考該pass1的信息,并生成多個不同的目標格式的清晰度,例如480P、540P、1080P等。得到兩個好處,其一節約時間,只用生成一次passlog信息;其二是各個格式的I幀是對齊的,能進行無縫切換的播放。
6、編碼-ROI編碼
在演唱會等娛樂節目中,人物背后的霓光燈對畫質的影響非常大,由于燈光相對平滑且顏色信息非常多,如果按普通的方式處理,會占用大量的碼率,導致終端用戶即使有4M或5M的帶寬也會覺得畫質不清晰。
ROI編碼的核心思想是,基于深度學習,識別出感興趣的區域,例如人臉或人體部分,然后在編碼時,對這部分區域進行碼率增強的處理。例如我們觀看一個跳舞的視頻,人眼更關注的人體,通過把這個人體區域找出來,并將區域的信息傳遞給編碼器,分配更多的碼率,從而讓人臉顯得更加清晰。上圖展示的是傳統處理方法與應用ROI編碼技術后的效果對比。
7、圖像-前處理框架
由于圖像前處理算法需要應用于點播和直播兩個系統,因此我們自研了一套框架。從圖中可以看到,來自點播和直播的輸入幀,進入一個前處理Filter,再進行編碼得到碼流,優點就是開發的任何一個算法,類似模塊,可以直接插入,應用于點播和直播中。該框架的使用,使得自研算法的集成和應用非常方便。
8、圖像-TIE增強
上圖展示的是自研的TIE(Tencent Image Enhance)即騰訊視頻畫質增強技術,通過對視頻進行特定的分析處理使得畫面能夠更加的通透,層次感更加突出,為用戶營造一個更加逼真的視頻效果。在大部分的點播和直播視頻中都啟用了TIE增強處理。
9、圖像-數字水印
加上數字水印的主要目標就是為了加強版權保護,在視頻幀中嵌入數字水印,方法是在高頻和中頻的信息里面加入自己的私有信息。如果視頻被盜,可以分析被盜的視頻流,進行解碼,用相應的工具進行分析,如果提取的信息包含植入的加密信息,就說明視頻流是從我們這里被盜走的。 在視頻中添加數字水印可能會導致畫面出現瑕疵,在加入強度和策略上會進行一個控制,盡量減少對畫質的影響。
10、圖像-超分(老片翻新)
超分目前我們主要是應用于老片翻新和視頻分辨率清晰度提升中,因為很多老片子很有可能是從普通的VCD里傳出來的,它的畫質是比較差的,不滿足我們對畫質的需求。用深度學習的方法,通過構建不同的訓練集,構建起較為完備模型,避免圖像中的噪聲的增強,同時得到較好的效果。為了解決后端服務器處理耗時的問題,在分布式框架中啟用超分算法,并發加速。目前我們也準備在手機等終端上加入超分的特性,540P的碼流,終端可以超分到1080P,在提升畫質的同時,節約大量碼率,當然為了達到實時性,在模型選擇上,進行了一些縮減。
11、圖像-HDR10視頻
很多終端設備已經支持hdr視頻的顯示,即支持更高的亮度范圍和更多的顏色信息,目前常用的有hdr10、dolbyvision等標準,在支持的終端上播放,有著無與倫比的效果。但受限于片源介質的數量較少,就自研究了sdr轉hdr10的技術。主要進行2個步驟的操作,第一個就是亮度的擴展,第二個就是要對色域的擴展,要把原先亮度的BT709的色域擴展到BT2020色域上。有兩種方式進行,第一個就是普通算法的方式,建立一個空間映射,將亮度和色度從一個空間映射到另外一個空間,但這個映射有時會導致亮度不是很均勻,需要一個調優的過程。第二個方式是采用hdrnet進行訓練,生成一個映射模型,基于普通的sdr介質生成hdr介質。
12、持續探索/完善的技術
最后簡單介紹我們正在探索和即將展開的一些工作,例如,多模態內容的理解,包括對場景的識別,在視頻內容中植入不同的應景的廣告,實現千人千面的廣告;內容的搜索,希望在片源量非常大的媒資庫中,能快速找到想要的內容;音視頻編解碼技術,在不斷的在做更新和優化迭代,并在環繞聲、VR等方向上也在不斷的探索。希望音視頻技術的不斷演進,能為終端用戶提供更美妙的體驗。
-
圖像
+關注
關注
2文章
1089瀏覽量
40574 -
編碼
+關注
關注
6文章
957瀏覽量
54954 -
視頻編碼
+關注
關注
2文章
113瀏覽量
21062
原文標題:精致前處理,精準碼控 — 極致視覺效果
文章出處:【微信號:livevideostack,微信公眾號:LiveVideoStack】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論