視頻通信中音視頻處理技術
視頻通信過程中會涉及到大量的音視頻處理技術,按照在通信系統中所處位置的不同,可以分為發送端和接收端的音視頻處理技術。
發送端的音視頻處理技術主要包括:視頻幀的變換、自適應丟幀、增強;音頻採樣率轉換、回聲消除;音視頻修飾等。這些技術的目的都是為視頻直播提供高質量或者定製化的信號源。
對於發送端視頻的處理
一、視頻幀的變換
採集到的視頻源首先需要進行裁剪,縮放,自適應丟幀,顏色空間轉換等變換,這些作為視頻處理的預處理,可以為後續操作帶來速度和性能的提升。
裁剪:將幀數據裁剪或填充到4位元組的整數倍,便於後續可以進行位移操作或者彙編優化;
縮放:現在手機或電腦的攝像頭提供的輸入視頻解析度在2K左右,如果不加縮放的提供給後續的圖像處理和編碼,對設備處理能力和網路傳輸帶寬的要求會很高(2K視頻一般需要4Mbps的帶寬支持,才能保證基本的清晰度),尤其是對延遲很敏感的視頻通信應用。所以系統實現應根據設備性能和當前網路狀態,對輸入視頻進行縮放,以此來保證通信的低延遲和流暢。比如,我們的AI米聽會檢測CPU性能,再根據目標碼率,計算得到一個合適的縮放比例,對視頻進行預處理。縮放一般採用彙編實現,也可以藉助ffmpeg中swscale工具集。
二、自適應丟幀
這個處理技術的目的和縮放類似,也是為了更好的適應設備的處理性能和網路狀態。但是視頻通信內容的不同,應該選擇不同的處理方式。
比如,對於人像通信,適合採用縮放的方式;而對於屏幕分享,適合降低幀率。如果採用相反的技術,效果會很差。這是因為人臉大部分是低頻的內容,縮放不會對人的主觀視頻產生明顯影響,而降低幀率則會產生明顯的不連續性且容易被人察覺;相反,屏幕展示內容中,包含大量的高頻信息(文字,圖表),如果採用降採樣,則會損失大量高頻信息,從而使得內容難以辨認。屏幕分享時,往往是內容的靜止展示,所以此時降低幀率不會明顯影響觀看感受。
三、視頻增強
對於攝像頭質量不佳,或者低照明度的通信環境,採集到的視頻幀雜訊大,質量低下,這是需要對視頻內容進行增強。常用的技術包括圖像去噪,對比度調整,曝光度調整等。圖像去噪包括經典的高斯濾波,中值濾波,Non-local mean濾波等;對比度和曝光度的調整可以基於直方圖來做。
四、顏色空間轉換
我們熟知的顏色空間是RGB空間,但是在視頻處理和編碼中往往要轉換成YUV,其中Y是亮度通道,UV是兩個色度通道。我們人眼對亮度的細節比色度更加敏感,根據這個特性,我們可以只對亮度通道進行處理以降低處理複雜度。編碼時,保持色度通道不變而將色度通道降採樣(比如RGB轉換成YUV420,就是從一個像素3個位元組變成了一個像素1.5個位元組,原始數據量減少了一半),可以減小碼率,同時又不會對人眼主觀視頻產生明顯影響。
對於發送端音頻的處理
對於發送端音頻處理主要包括:轉換採樣率,去噪和迴音消除。
轉換採樣率:和視頻縮放和降採樣一樣的道理,音頻可以根據設備性能和帶寬需求改變採樣率,來更好的適應通信環境。
去噪:如果通信方身處嘈雜的環境,那麼採集到的音頻會包含大量的雜訊。此時可以設計合適的濾波器對波形進行濾波操作,以保留人聲,去除環境雜訊。
迴音消除:在雙向通信中,播放對方音頻播放時,直接從麥克風又傳給了對方,會帶來迴音。音頻迴音的影響很大,如果不加以抑制,嚴重時會有嘯叫現象,產生刺耳且長時間保持的雜訊。迴音消除的原理簡單可以描述為:B收到A的聲音數據,通過喇叭進行播放,此時B需要對輸入到麥克風中的聲音進行處理,識別A的聲音並去除。
音頻處理涉及到大量信號處理的理論,好在很多開源庫都提供了音頻處理的功能,比如ffmpeg、speedx、 webrtc等。
接收端的音視頻處理
接收端的音視頻處理技術主要是為了恢復出原始音視頻信號,這裡包括的技術有:視頻增強,超分辨;音頻去噪和混音。
視頻增強:在接受端,解碼得到的視頻會有壓縮失真,比如塊效應,振鈴效應等,所以也需要進行去噪等操作,提高視頻質量。
視頻超分辨:在發送端,會將視頻縮小後進行處理和編碼。那麼在接收端,則需要進行放大,提高視頻解析度,提升主觀感受。
音頻去噪:和視頻一樣,音頻也會受到編碼影響,所以也需要進行去噪。
混音:在多人視頻中,會接受到來自多方的音頻信息。此時需要對各路音頻進行混音,混合成一路送進揚聲器進行播放。這個過程中,一般要先對波形數據進行同步,然後對波形進行疊加,為了防止破音出現,最後還要進行自動增益控制和防溢出操作。
其他功能
近年來,隨著音視頻通信技術的興起,也出了很多新的玩法,比如視頻美顏、表情遷移和變聲等。
視頻美顏:現在已經趨於成熟。主要功能是磨皮,柔光等,大都基於濾波進行操作,比如磨皮採用了雙邊濾波,可以在保持了人臉輪廓邊緣的同時,將皮膚的瑕疵去除。
表情遷移:基於深度學習的特徵學習技術,可以快速準確的對人臉器官進行定位,從而能夠實現更複雜的修飾技術。比如找准嘴唇,眼睛,面頰之後,可以進行自動化妝;根據關鍵點和人臉角度,進行人臉映射,達到「換臉」的效果。
音頻變聲技術:一款比較經典的技術,可以通過改變聲音波形的頻率,振幅來改變音色,達到偽裝聲音的目的。而現在已經發展到可以讓人模擬別人的聲音的地步。
總結
音視頻通信處理技術在實際的使用中,還是要針對不同的場景選擇不同的技術。只有這樣才能達到最佳的效果。
推薦閱讀:
※火山小視頻能超越快手么?
※如何看待籽岷更新視頻?
※WWDC2014排練泄露視頻是真的嗎?
※h5視頻活動踩坑
TAG:視頻 |