網易視訊雲技術之視訊預處理技術?

視訊編碼技術是網易視訊雲技術中重要的一環,這裡提供大家學習,歡迎大家與網易視訊雲進行技術交流討論。

視訊編碼包括分離、解碼、編碼、合成四部分,在分離與解碼、合成部分可以認為是一種無損操作,而通常採用的編碼如H264、MPEG-4等(無失真壓縮除外)是一種有失真壓縮。

為了提高視訊編碼後的質量,我們嘗試在Encoder的資料輸入之前增加一種預處理,用來彌補在編碼過程中的亮度和色度的損失。從而提高視訊的清晰度。

概述

預處理方法

通過改變視訊的亮度、對比度、飽和度(色度)來進行銳化,使其邊緣的過度產生較大的改變,從而增加視訊的清晰度。銳化會產生噪聲,因此增加去噪濾鏡。目前只是通過調整亮度和對比度來增加邊緣的銳化,飽和度並未進行調整。因為飽和度的調整會引入一些新的問題,比如產生色塊,色彩的失真。

網易視訊雲技術之視訊預處理技術

方法/步驟

ffmpeg的預處理:增加亮度,程式碼如下:

ffmpeg -i E:\music\1\1.mov -vcodec libx264 -profile baseline -level 3.1 -preset slow -b 2400k -maxrate 6000k -bufsize 9000k -vf "scale=-1:720,unsharp=luma_msize_x=7:luma_msize_y=7:luma_amount=1.5" -threads 12 -nr 6 -an -y -f mp4 E:\music\1\out_2400k_sharpen.mp4

avs的預處理,程式碼如下:

avs通過增加銳化濾鏡,調整飽和度和對比度進行編碼前的預處理。

DirectShowSource("E:\music\1\1.mov").LanczosResize(1280,720).sharpen(0.2)

mencoder的預處理:增加亮度和對比度,程式碼如下:

mencoder.exe -sws 9 -oac mp3lame -vf scale=1280:720,unsharp=l7x7:1.5,eq=1:15 -ovc x264 -ffourcc H264 -x264encopts bitrate=2400:turbo=2:frameref=6:me=umh:me_range=16 E:\music\1\1.mov -o E:\music\1\mencoder_out_1_4.avi

效果對比,畫面擺放順序依次為片源、ffmpeg編碼、mencoder編碼

對比圖1如下

ffmpeg與mencoder預處理之後與片源相比,邊緣更加銳利。

網易視訊雲技術之視訊預處理技術

對比圖2如下,

mencoder增加對比度後的圖片色彩更加飽滿,更接近於片源。

網易視訊雲技術之視訊預處理技術

對比圖3如下,

mencoder增加對比度之後比ffmpeg的細節更加突出。畫面更加清晰。

網易視訊雲技術之視訊預處理技術

結論

1):通過對YUV資料進行預處理,在相同位元速率下能夠增加視訊的清晰度,提高視訊質量。但是同樣會造成編碼速度的下降,大約降低30%左右。

2):通過對三種工具的對比, mencoder預處理後的編碼質量相較於ffmpeg要高,色彩損失較小,色彩更加飽滿。但是編碼速度比ffmpeg要低將近50%。

3):針對高清片源,在均衡編碼速度與編碼質量的前提下,建議使用ffmpeg進行銳化以及去噪。若不在意編碼速度,建議增加mencoder的對比度處理。

相關問題答案