音視頻生產(chǎn)關(guān)鍵指標(biāo):視頻質(zhì)量?jī)?yōu)化丨音視頻工業(yè)實(shí)戰(zhàn)

這個(gè)公眾號(hào)會(huì)路線圖 式的遍歷分享音視頻技術(shù)音視頻基礎(chǔ)音視頻工具音視頻工程示例音視頻工業(yè)實(shí)戰(zhàn)。關(guān)注一下成本不高,錯(cuò)過(guò)干貨損失不小 ↓↓↓

這篇文章是音視頻工業(yè)實(shí)戰(zhàn)主題專(zhuān)欄中關(guān)于視頻質(zhì)量?jī)?yōu)化的思路探討。

隨著音視頻內(nèi)容日趨成為主要的內(nèi)容消費(fèi)載體,用戶們對(duì)視頻清晰度、畫(huà)質(zhì)的要求也在不斷提高,我們?cè)谶@里把視頻清晰度、畫(huà)質(zhì)都統(tǒng)稱(chēng)為視頻質(zhì)量,來(lái)聊一聊如何對(duì)其進(jìn)行優(yōu)化。

1、視頻質(zhì)量評(píng)估標(biāo)準(zhǔn)

要對(duì)視頻質(zhì)量進(jìn)行優(yōu)化,首先需要確定評(píng)估視頻質(zhì)量的標(biāo)準(zhǔn),用來(lái)評(píng)價(jià)視頻質(zhì)量的標(biāo)準(zhǔn)通常有以下幾種:

  • PSNR,Peak Signal to Noise Ratio,峰值信噪比。是一個(gè)表示訊號(hào)最大可能功率和影響它表示精度的破壞性噪聲功率的比值的工程術(shù)語(yǔ)。由于許多訊號(hào)都有非常寬的動(dòng)態(tài)范圍,峰值信噪比常用對(duì)數(shù)分貝單位來(lái)表示。PSNR 是最廣泛使用的評(píng)價(jià)圖像質(zhì)量的客觀標(biāo)準(zhǔn),不過(guò)許多實(shí)驗(yàn)結(jié)果都顯示,PSNR 的分?jǐn)?shù)無(wú)法和人眼看到的視覺(jué)品質(zhì)完全一致,有可能 PSNR 較高者看起來(lái)反而比 PSNR 較低者差。這是因?yàn)槿搜鄣囊曈X(jué)對(duì)于誤差的敏感度并不是絕對(duì)的,其感知結(jié)果會(huì)受到許多因素的影響而產(chǎn)生變化,例如:人眼對(duì)空間頻率較低的對(duì)比差異敏感度較高,人眼對(duì)亮度對(duì)比差異的敏感度較色度高,人眼對(duì)一個(gè)區(qū)域的感知結(jié)果會(huì)受到其周?chē)徑鼌^(qū)域的影響。
  • SSIM,Structural Similarity,結(jié)構(gòu)相似性。是一種衡量?jī)煞鶊D像相似度的指標(biāo)。SSIM 使用的兩張圖像中,一張為未經(jīng)壓縮的無(wú)損圖像,另一張為壓縮后的有損圖像,二者的結(jié)構(gòu)相似性可以看成是有損圖像的圖像質(zhì)量衡量指標(biāo)。相較于傳統(tǒng)所使用的圖像質(zhì)量衡量指標(biāo)(如 PSNR),SSIM 在圖像質(zhì)量的衡量上更能符合人眼對(duì)圖像質(zhì)量的判斷。
  • VMAF,Visual Multimethod Assessment Fusion,視頻質(zhì)量多方法評(píng)價(jià)融合。這項(xiàng)技術(shù)是由美國(guó) Netflix 公司開(kāi)發(fā)的客觀的全參考視頻質(zhì)量指標(biāo)。它根據(jù)參考和失真的視頻序列預(yù)測(cè)主觀視頻質(zhì)量。該指標(biāo)可用于評(píng)估不同視頻編碼器、編碼設(shè)置或傳輸變體的質(zhì)量。于 2016 年 1 月開(kāi)源,項(xiàng)目地址:https://github.com/Netflix/vmaf。
  • MOS,Mean Opinion Score,平均意見(jiàn)分。是一種主觀評(píng)估視頻質(zhì)量并給出打分的方式。主觀評(píng)估,顧名思義就是人參與的人工評(píng)估,視頻主觀質(zhì)量評(píng)價(jià)就是選擇一批非專(zhuān)家類(lèi)型的受測(cè)者,讓他們參加一些培訓(xùn),然后在一個(gè)特定的受控環(huán)境中,連續(xù)觀看一系列的測(cè)試序列大約 10 至 30 分鐘,然后采用不同方法讓他們對(duì)視頻序列的質(zhì)量進(jìn)行評(píng)分,最后求得平均意見(jiàn)分,并對(duì)所得數(shù)據(jù)進(jìn)行分析。測(cè)試環(huán)境中的受控因素包括:觀看距離、觀測(cè)環(huán)境、測(cè)試序列的選擇、序列的顯示時(shí)間間隔等。

下圖是以上各種視頻質(zhì)量評(píng)估標(biāo)準(zhǔn)的具體參數(shù):

圖片

幾種視頻質(zhì)量評(píng)估標(biāo)準(zhǔn)

可以看到視頻質(zhì)量評(píng)估分為主觀評(píng)估方式(如 MOS)和客觀評(píng)估方式(如 PSNR、SSIM、VMAF)。通常主觀質(zhì)量評(píng)估方式依賴(lài)人眼觀看并打分,這種得到的分?jǐn)?shù)比較精確,但是很耗時(shí)間和人力,不方便大規(guī)模部署。所以在工程上比較通用的還是客觀評(píng)估方式。

在安裝相關(guān)插件后,我們可以通過(guò) FFmpeg 來(lái)使用 PSNR、SSIM、VMAF 這幾種評(píng)估標(biāo)準(zhǔn),相關(guān)命令如下:

// PSNR
ffmpeg -i src.mp4  -i dst.mp4 -lavfi psnr="stats_file=psnr1.log" -f null -

// SSIM
ffmpeg -i src.mp4 -i dst.mp4 -lavfi ssim=stats_file=ssim_logfile.txt -f null -

// VMAF
ffmpeg -i src.mp4  -i dst.mp4 -filter_complex libvmaf -f null -

2、編碼優(yōu)化

通過(guò)上面的描述我們基本了解了視頻質(zhì)量的評(píng)價(jià)標(biāo)準(zhǔn)以及評(píng)估方法,如果要提升視頻質(zhì)量,我們還需要了解一下視頻的基本屬性,以及這些屬性可以在多大程度上影響視頻的質(zhì)量。

我們首先使用 MediaInfo 來(lái)查看一下視頻的屬性:

圖片

視頻屬性

我們可以把視頻看作在一組經(jīng)過(guò)編碼后的圖像序列,所以影響視頻最終呈現(xiàn)質(zhì)量的最關(guān)鍵的因素有編碼質(zhì)量畫(huà)面質(zhì)量。我們先來(lái)看看編碼方面的優(yōu)化。

2.1、選擇合適的視頻碼率

視頻碼率是指存儲(chǔ)單位時(shí)間視頻需要的數(shù)據(jù)大小,單位是 kbps,碼率越大,單位時(shí)間填充的數(shù)據(jù)就越多,通常視頻質(zhì)量就越高。

但是碼率并不是越大就越好,碼率設(shè)置超過(guò)一定的大小,對(duì)視頻畫(huà)質(zhì)的提升已不太明顯,肉眼已經(jīng)看不出區(qū)別,但是視頻大小會(huì)增加很多。所以設(shè)置合適的碼率就行。

得物視頻清晰度優(yōu)化一文中給出過(guò)一種碼率設(shè)置方式是:

Bitrate = width * height * frameRate * factor
factor = 0.15

但上面這種計(jì)算方法也不是萬(wàn)能的,對(duì)于同一分辨率同一幀率的視頻,當(dāng)畫(huà)面較為復(fù)雜時(shí),則需要加大碼率因子。更精準(zhǔn)的方法則是通過(guò)抽幀進(jìn)行圖片識(shí)別,根據(jù)畫(huà)面的復(fù)雜度配置不同碼率。比如,騰訊云在如何實(shí)現(xiàn)好畫(huà)質(zhì)[1]的文檔中就根據(jù)不同游戲的畫(huà)面復(fù)雜情況給出過(guò)碼率和分辨率設(shè)置的推薦:

  • 皇室戰(zhàn)爭(zhēng):這類(lèi)畫(huà)面變化幅度不大的游戲,推薦選擇 960 * 540 的分辨率,800kbps-1000kbps 的碼率就可以輸出不錯(cuò)的效果。
  • 捕魚(yú)達(dá)人:這類(lèi)畫(huà)面變化幅度較大的游戲,推薦選擇 960 * 540 的分辨率,碼率相對(duì)要高一點(diǎn),例如 1200kbps-1500kbps。
  • 神廟逃跑:這類(lèi)畫(huà)面變化幅度超大的游戲,推薦選擇 640 * 360 的分辨率,碼率也要很大,例如 2000kbps,否則妥妥的滿屏馬賽克。

針對(duì)具體的情況,我們可以測(cè)試手機(jī)的編碼質(zhì)量來(lái)選擇指定分辨率、幀率時(shí)對(duì)應(yīng)的碼率甜點(diǎn)。

在這種測(cè)試中我們一般需要分場(chǎng)景進(jìn)行,比如:

  • 外景拍攝,低運(yùn)動(dòng)
  • 外景拍攝,中等運(yùn)動(dòng)
  • 外景拍攝,高運(yùn)動(dòng)
  • 人像拍攝,低運(yùn)動(dòng)
  • 人像拍攝,中等運(yùn)動(dòng)
  • 人像拍攝,高運(yùn)動(dòng)

測(cè)試指標(biāo)我們可以采用上面提過(guò)的 PSNR、SSIM、VMAF 進(jìn)行綜合考量。

比如,我們可以測(cè)試 iOS 硬編,使用 540P,15 幀推流時(shí),設(shè)置不同的碼率(800kbps-1300kbps)分別測(cè)試各場(chǎng)景下的各指標(biāo)值,找出 R-D(碼率-失真)曲線拐點(diǎn)出現(xiàn)的區(qū)間,這就是我們要找的碼率甜點(diǎn)。

在測(cè)試 iOS 硬編時(shí)需要注意的是:可以不采用 PSNR 指標(biāo)來(lái)參考,原因是 iOS 硬編自帶前處理模塊對(duì)亮度分量進(jìn)行了大幅修改。

下面是一組粗略的測(cè)試結(jié)果示例:

  • iOS 硬編 540P,15 幀推流:800kbps-1000kbps 碼率為高性價(jià)比區(qū)間,1000kbps 以上性價(jià)比不高,R-D(碼率-失真)曲線拐點(diǎn)多數(shù)出現(xiàn)在 900kbps 和 1000kbps。
  • iOS 硬編 720P,15 幀推流:整體來(lái)看沒(méi)有出現(xiàn)太明顯的 R-D(碼率-失真)曲線的拐點(diǎn),質(zhì)量隨碼率提升相對(duì)均勻,1100kbps 到 1300kbps 區(qū)間性價(jià)比稍高。

2.2、選擇合適的碼率分配模式

碼率分配模式是指在對(duì)視頻進(jìn)行編碼時(shí)如何針對(duì)畫(huà)面情況來(lái)進(jìn)行碼率的分配。碼率分配模式一般有 CBR、VBR、ABR、CRF 等幾種方式,他們的特點(diǎn)和適用性如下:

  • CBR:Constant Bitrate,固定比特率。
    • 以恒定比特率方式進(jìn)行編碼,有運(yùn)動(dòng)發(fā)生時(shí),由于碼率恒定,只能通過(guò)增大 QP 來(lái)減少碼字大小,圖像質(zhì)量變差,當(dāng)場(chǎng)景靜止時(shí),圖像質(zhì)量又變好,因此圖像質(zhì)量不穩(wěn)定。
    • CBR 編碼的缺點(diǎn)在于編碼內(nèi)容的質(zhì)量不穩(wěn)定,容易產(chǎn)生馬賽克。因?yàn)閷?duì)于某些較復(fù)雜的圖像比較難壓縮,所以 CBR 流的某些部分質(zhì)量就比其他部分差。CBR 編碼這種算法優(yōu)先考慮碼率(帶寬),適合在流式播放中應(yīng)用。
  • VBR:Variable Bitrate,動(dòng)態(tài)比特率。
    • 比特分配根據(jù)圖像內(nèi)容的復(fù)雜度進(jìn)行。如果圖像細(xì)節(jié)較豐富或者含有大量的運(yùn)動(dòng),則給其分配多一點(diǎn)碼率,若圖像比較平坦,就給其分配較少的碼率。
    • VBR 編碼既保證了質(zhì)量,又兼顧帶寬限制。這種算法適合圖像內(nèi)容變化幅度較大的情況,適合的應(yīng)用場(chǎng)景是媒體存儲(chǔ),但由于碼率不均衡不適合網(wǎng)絡(luò)傳輸。
  • ABR:Average Bitrate,平均比特率,是 VBR 的一種插值參數(shù)。
    • ABR 是在 CBRVBR 兩者之間的一種權(quán)衡,即設(shè)定一段時(shí)間的平均碼率,在此時(shí)間內(nèi),對(duì)簡(jiǎn)單、靜態(tài)的圖像分配低于平均碼率的碼率,對(duì)于復(fù)雜的、大量運(yùn)動(dòng)的圖像分配高于平均碼率的碼流。
    • ABR 由于碼率分配較為均衡,比較適合網(wǎng)絡(luò)傳輸。
  • CRF:Constant Rate Factor,恒定碼率系數(shù)。
    • 把某一個(gè)視覺(jué)質(zhì)量作為輸出目標(biāo)。通過(guò)降低那些耗費(fèi)碼率但是又難以用肉眼察覺(jué)的幀(高速運(yùn)動(dòng)或者紋理豐富)的質(zhì)量提升那些靜態(tài)幀的碼率來(lái)達(dá)到此目的。

2.3、設(shè)置 B 幀優(yōu)化碼率

視頻由 I、P、B 幀三種類(lèi)型的視頻幀組成的,P 幀是前向預(yù)測(cè)圖像幀,P 幀大小相當(dāng)于 I 幀大小的 1/10 ~ 1/20。B 幀是雙向預(yù)測(cè)圖像幀,B 幀大小約是 I 幀大小的 1/50。

這樣一來(lái),如果設(shè)置了 B 幀了,并不會(huì)降低清晰度,但是可以大大降低視頻的大小,這樣我們就有更大的操作空間來(lái)調(diào)高碼率,實(shí)現(xiàn)提升清晰度的目標(biāo)。設(shè)置 B 幀的缺點(diǎn)是雙向預(yù)測(cè)會(huì)帶來(lái)一些延遲。

2.4、調(diào)整 GOP 長(zhǎng)度優(yōu)化碼率

GOP 表示兩個(gè) I 幀之間的圖像幀序列,GOP = 2s,表示兩個(gè) I 幀之間的間隔是 2s。

上面我們提到了:P 幀大小相當(dāng)于 I 幀大小的 1/10 ~ 1/20,B 幀大小約是 I 幀大小的 1/50。

也就是說(shuō),由于 I 幀較大,當(dāng)設(shè)置 GOP 長(zhǎng)度越長(zhǎng)時(shí),I 幀就較少,占用碼率就越少,這樣我們也可以獲得更多的空間來(lái)相應(yīng)地調(diào)大碼率提升清晰度。目前在短視頻場(chǎng)景很多視頻的 GOP 長(zhǎng)度已經(jīng)設(shè)置到了 10s 左右,當(dāng)然 GOP 太長(zhǎng)也有缺點(diǎn),比如在直播場(chǎng)景會(huì)增大延遲。

2.5、選擇合適的 Profile

H.264 有四種畫(huà)質(zhì)級(jí)別,分別是 Baseline、ExtendedMain、High

  • Baseline Profile:基本畫(huà)質(zhì)。支持 I/P 幀,只支持無(wú)交錯(cuò)(Progressive)和 CAVLC。
  • Extended Profile:進(jìn)階畫(huà)質(zhì)。支持 I/P/B/SP/SI 幀,只支持無(wú)交錯(cuò)(Progressive)和 CAVLC。
  • Main Profile:主流畫(huà)質(zhì)。提供 I/P/B 幀,支持無(wú)交錯(cuò)(Progressive)和交錯(cuò)(Interlaced),也支持 CAVLCCABAC
  • High Profile:高級(jí)畫(huà)質(zhì)。在 Main Profile 的基礎(chǔ)上增加了 8x8 內(nèi)部預(yù)測(cè)、自定義量化、無(wú)損視頻編碼和更多的 YUV 格式。

Baseline、Extended、Main 都是針對(duì) 8 位樣本數(shù)據(jù)、YUV 4:2:0 格式的視頻序列。在相同配置情況下,High Profile 可以比 Main Profile 降低 10% 的碼率。根據(jù)應(yīng)用領(lǐng)域的不同,Baseline Profile 多應(yīng)用于實(shí)時(shí)通信領(lǐng)域,Main Profile、High Profile 多應(yīng)用于流媒體領(lǐng)域。

所以我們可以根據(jù)編碼器的情況和應(yīng)用場(chǎng)景,盡量選擇更高的 Profile 來(lái)優(yōu)化碼率使用效率,從而達(dá)到用同樣的碼率編碼出更好畫(huà)質(zhì)的目的。

2.6、盡量使用 HEVC 編碼

比起 H.264/AVC,H.265/HEVC 提供了更多不同的工具來(lái)降低碼率。以編碼單位來(lái)說(shuō),最小的 8x8 到最大的 64x64。信息量不多的區(qū)域劃分的宏塊較大,編碼后的碼字較少,而細(xì)節(jié)多的地方劃分的宏塊就相應(yīng)的小和多一些,編碼后的碼字較多,這樣就相當(dāng)于對(duì)圖像進(jìn)行了有重點(diǎn)的編碼,從而降低了整體的碼率,編碼效率就相應(yīng)提高了。同時(shí),H.265 的幀內(nèi)預(yù)測(cè)模式支持 33 種方向(H.264只支持 8 種),并且提供了更好的運(yùn)動(dòng)補(bǔ)償處理和矢量預(yù)測(cè)方法。HEVC 對(duì)比 H.264 可降低 30% 以上碼率:

圖片

H.265 與 H.264 碼率對(duì)比表

通過(guò)盡量使用 HEVC 編碼,也能夠?yàn)槲覀儎?chuàng)造更多的空間來(lái)提高碼率優(yōu)化畫(huà)面。使用 HEVC 編碼,可以保證在不增加文件大小的情況下,大大提升視頻的清晰度。

2.7、合理使用軟編和硬編優(yōu)化編碼

軟編碼相對(duì)于硬件編碼畫(huà)質(zhì)更好,設(shè)備適配更好,但性能較差。

  • 硬件編解碼:是非 CPU 通過(guò)燒寫(xiě)運(yùn)行視頻加速功能對(duì)高清視頻流進(jìn)行編解碼,其中非 CPU 可包括GPU、FPGA 或者 ASIC 等獨(dú)立硬件模塊,把 CPU 高使用率的視頻解碼工作從 CPU 里分離出來(lái),降低 CPU 的使用負(fù)荷,使得平臺(tái)能高效且流暢的執(zhí)行視頻的編解碼動(dòng)作。
    • 優(yōu)點(diǎn)是可分離出音視頻編解碼的工作,無(wú)需占用 CPU 資源,功耗低。
    • 缺點(diǎn)是兼容性相對(duì)于軟編碼較差,大量畫(huà)面輸出補(bǔ)償及畫(huà)質(zhì)增強(qiáng)等技術(shù)方面有一定欠缺,導(dǎo)致畫(huà)質(zhì)不如軟編碼。
  • 軟件編解碼:指視頻等信號(hào)直接通過(guò) CPU 進(jìn)行編解碼。如此而來(lái),會(huì)增加 CPU 的工作負(fù)荷,提升功耗。
    • 優(yōu)點(diǎn)是編碼器更易于開(kāi)發(fā),協(xié)議兼容度高,可以進(jìn)行 ROI 編碼(針對(duì)人臉?lè)峙涓叽a率等)。擁有大量畫(huà)面輸出補(bǔ)償及畫(huà)質(zhì)增強(qiáng)的技術(shù),畫(huà)質(zhì)優(yōu)于硬件編解碼。
    • 缺點(diǎn)是對(duì) CPU 的性能要求較高,CPU 的負(fù)擔(dān)較重。

基于軟編碼硬件編碼的對(duì)比,對(duì)于性能要求不高的場(chǎng)景更適合軟件編碼,例如短視頻錄制(具體還要參考 APP 業(yè)務(wù));性能要求較高的場(chǎng)景則選擇硬件編碼。

3、畫(huà)質(zhì)增強(qiáng)

除了上面講到的在編碼質(zhì)量上的優(yōu)化,我們還可以從畫(huà)質(zhì)方面入手優(yōu)化視頻質(zhì)量。

3.1、銳化

圖像銳化是補(bǔ)償圖像的輪廓,增強(qiáng)圖像的邊緣及灰度跳變的部分,使圖像變得清晰,分為空間域處理和頻域處理兩類(lèi)。圖像銳化是為了突出圖像上地物的邊緣、輪廓,或某些線性目標(biāo)要素的特征。這種方法提高了地物邊緣與周?chē)裨g的反差,因此也被稱(chēng)為邊緣增強(qiáng)。

常用的圖像銳化的方法有:

  • USM(Unsharpen Mask)銳化:圖像卷積處理實(shí)現(xiàn)銳化常用的算法,這種銳化的方法就是對(duì)原圖像先做一個(gè)高斯模糊,然后用原來(lái)的圖像減去一個(gè)系數(shù)乘以高斯模糊之后的圖像,然后再把值 Scale 到 0~255 的 RGB 像素值范圍之內(nèi)?;?USM 銳化的方法可以去除一些細(xì)小的干擾細(xì)節(jié)和噪聲,比一般直接使用卷積銳化算子得到的圖像銳化結(jié)果更加真實(shí)可信。
  • 拉普拉斯(Laplace)銳化:拉普拉斯算子是一個(gè)在圖像增強(qiáng)中經(jīng)常出現(xiàn)的二階微分算子。拉普拉斯銳化依據(jù)的是圖像某個(gè)像素的周?chē)袼氐酱讼袼氐耐蛔兂潭?。運(yùn)用拉普拉斯可以增強(qiáng)圖像的細(xì)節(jié),找到圖像的邊緣,但是有時(shí)候會(huì)把噪音也給增強(qiáng)了,可以在銳化前對(duì)圖像進(jìn)行平滑處理。
  • 高通濾波:采用高通濾波器讓高頻分量通過(guò),使圖像的邊緣和線條變得清楚,實(shí)現(xiàn)銳化。

3.2、降噪

圖像降噪的方式有很多中,最常見(jiàn)的是對(duì)圖像做濾波:

  • 均值濾波(Mean Filter):均值濾波是典型的線性濾波算法,它是指在圖像上對(duì)目標(biāo)像素給一個(gè)模板,該模板包括了其周?chē)呐R近像素(以目標(biāo)像素為中心的周?chē)?8 個(gè)像素,構(gòu)成一個(gè)濾波模板,即包括目標(biāo)像素本身),再用模板中的全體像素的平均值來(lái)代替原來(lái)像素值。
  • 高斯濾波(Gauss Filter):高斯濾波就是對(duì)整幅圖像進(jìn)行加權(quán)平均的過(guò)程,每一個(gè)像素點(diǎn)的值,都由其本身和鄰域內(nèi)的其他像素值經(jīng)過(guò)加權(quán)平均后得到。高斯濾波的具體操作是:用一個(gè)模板(或稱(chēng)卷積、掩模)掃描圖像中的每一個(gè)像素,用模板確定的鄰域內(nèi)像素的加權(quán)平均灰度值去替代模板中心像素點(diǎn)的值。
  • 中值濾波(Medium Filter):中值濾波法是一種非線性平滑技術(shù),它將每一像素點(diǎn)的灰度值設(shè)置為該點(diǎn)某鄰域窗口內(nèi)的所有像素點(diǎn)灰度值的中值。
  • 雙邊濾波(Bilateral Filter):雙邊濾波本質(zhì)是基于高斯濾波,目的結(jié)合圖像的空間鄰近度和像素值相似度來(lái)解決高斯濾波造成的邊緣模糊的一種濾波算法,同時(shí)考慮空域信息和灰度相似性,達(dá)到保邊去噪的目的。具有簡(jiǎn)單、非迭代、局部的特點(diǎn)。
  • 導(dǎo)向?yàn)V波(Guided Filter):導(dǎo)向?yàn)V波通過(guò)輸入一副圖像(矩陣)作為導(dǎo)向圖,這樣濾波器就知道什么地方是邊緣,這樣就可以更好的保護(hù)邊緣,最終達(dá)到在濾波的同時(shí),保持邊緣細(xì)節(jié)。所以有個(gè)說(shuō)法是導(dǎo)向?yàn)V波是各向異性的濾波器,而高斯濾波、雙邊濾波這些是各向同性濾波器,我覺(jué)得也是很貼切。

此外還有諸如:時(shí)域降噪算法、基于統(tǒng)計(jì)模型的降噪、基于深度學(xué)習(xí)的降噪等等,這里就不細(xì)講了。

3.3、防抖

對(duì)視頻做防抖也能在一定程度優(yōu)化畫(huà)質(zhì),防抖技術(shù)有這些:

  • 傳統(tǒng)電子防抖:通過(guò)分析前后幀畫(huà)面的變化,建立特征點(diǎn),反求出在拍攝時(shí)的手機(jī)運(yùn)動(dòng),之后再通過(guò)反求出來(lái)的運(yùn)動(dòng)軌跡反向補(bǔ)償達(dá)到穩(wěn)定畫(huà)面的目的。
  • 光學(xué)防抖:利用手機(jī)中已經(jīng)有的陀螺儀進(jìn)行手機(jī)運(yùn)動(dòng)姿態(tài)的采集,然后通過(guò)馬達(dá)驅(qū)動(dòng)單個(gè)鏡頭或者整個(gè)鏡組移動(dòng)來(lái)補(bǔ)償運(yùn)動(dòng)。
  • 陀螺儀電子防抖:不再通過(guò)識(shí)別畫(huà)面來(lái)反求運(yùn)動(dòng)信息,而是直接從陀螺儀數(shù)據(jù)讀取數(shù)據(jù)。
  • 光學(xué) + 電子混合防抖:同時(shí)采用光學(xué)和電子防抖對(duì)圖像進(jìn)行穩(wěn)定。
  • 微云臺(tái)防抖:vivo X50 Pro 機(jī)型采用該方案。和 OIS 僅移動(dòng)鏡組不同的是,微云臺(tái)移動(dòng)的是整個(gè)相機(jī)模組。
  • 傳感器防抖:傳感器位移式光學(xué)圖像防抖。既然鏡頭更重了,那么就不移動(dòng)鏡頭,轉(zhuǎn)而去移動(dòng)重量更輕的傳感器。這樣就有可能在更小的體積內(nèi)實(shí)現(xiàn)類(lèi)似于浮動(dòng)鏡組方案的光學(xué)防抖效果。

現(xiàn)在很多采集設(shè)備是從硬件和系統(tǒng)層面支持防抖技術(shù)的,一般來(lái)講我們只需要開(kāi)啟設(shè)備的防抖即可。

3.4、超分

超分,即超分辨率,是指通過(guò)機(jī)器學(xué)習(xí)地方式重建圖像,達(dá)成提升圖像分辨率的效果。

目前比較成熟的超分技術(shù)是 Real-ESRGAN,基于 BasicSR,采用 ESRGAN 算法,利用機(jī)器學(xué)習(xí)的優(yōu)勢(shì)對(duì)圖片和視頻進(jìn)行去模糊、Resize、降噪、銳化等處理,重建圖片,實(shí)現(xiàn)對(duì)圖片的超分辨率處理。

在生產(chǎn)端,一般可以直接設(shè)置高分辨率,所以超分的實(shí)現(xiàn)一般可以做在服務(wù)端或觀看端。尤其是觀看端,如果設(shè)備性能跟得上,可以在不增加帶寬消耗的情況下通過(guò)超分提升畫(huà)質(zhì)。

3.5、對(duì)焦優(yōu)化

對(duì)焦優(yōu)化是視頻質(zhì)量?jī)?yōu)化中比較容易忽略的一個(gè)點(diǎn),但是如果對(duì)焦不合理又會(huì)對(duì)視頻清晰度造成很大的影響。下面是可供參考的一套對(duì)焦策略:

  • 手動(dòng)對(duì)焦:用戶點(diǎn)擊哪里就對(duì)焦哪里。
  • 自動(dòng)對(duì)焦:
    • 基于系統(tǒng)能力在識(shí)別場(chǎng)景發(fā)生變化后,進(jìn)行一次中心對(duì)焦。
    • 如果有識(shí)別到畫(huà)面從無(wú)人臉到有人臉時(shí),做一次人臉對(duì)焦(這里是只做一次人臉對(duì)焦,不能一直跟著人臉對(duì)焦,這樣可以防止用戶不想對(duì)焦人臉的場(chǎng)景:在有人臉時(shí),點(diǎn)擊了其他地方進(jìn)行手動(dòng)對(duì)焦)。
    • 人臉對(duì)焦時(shí),一般對(duì)焦兩眼中間的眉心點(diǎn)位效果比較好。
  • 手動(dòng)對(duì)焦后,在滿足這些條件時(shí)會(huì)切換到自動(dòng)對(duì)焦:
    • 前后攝像頭切換。
    • 場(chǎng)景發(fā)生較大切換。比如,相機(jī)位移或晃動(dòng)較大,外部光線敏感度變化較大等。
    • 畫(huà)面中從無(wú)人臉變?yōu)橛腥四槨?/li>

3.6、顏色優(yōu)化

通過(guò)調(diào)整視頻畫(huà)面的顏色參數(shù),綜合調(diào)整亮度、對(duì)比度、色溫、飽和度、銳度等顏色參數(shù),進(jìn)而優(yōu)化整體的視頻畫(huà)面,讓視頻畫(huà)面看上去更舒適,這也是提升用戶主觀觀看感受的一種方式。

尤其是當(dāng) HDR 視頻逐漸流行,而一些舊設(shè)備不支持 HDR 時(shí),還需要正確的實(shí)現(xiàn) HDR 視頻向 SDR 視頻的轉(zhuǎn)換來(lái)解決色差問(wèn)題從而提升用戶的觀看感受。

3.7、模糊檢測(cè)

在圖像或視頻采集的過(guò)程中可能由于鏡頭不干凈、對(duì)焦不準(zhǔn)等因素導(dǎo)致采集的圖像模糊,這時(shí)候可以做一下模糊檢測(cè)來(lái)提醒用戶清洗鏡頭或做好對(duì)焦,從而盡可能排查外部因素導(dǎo)致的圖像源模糊的情況。

小結(jié)

以上便是對(duì)視頻質(zhì)量?jī)?yōu)化的一些思路,我從編碼質(zhì)量和畫(huà)面質(zhì)量等方面給出了一些技術(shù)和策略上的優(yōu)化建議,希望對(duì)大家有幫助。

參考資料

[1]

如何實(shí)現(xiàn)好的畫(huà)質(zhì): https://cloud.tencent.com/document/product/454/7955

- 完 -

推薦閱讀

視頻發(fā)布優(yōu)化

視頻編輯優(yōu)化

視頻錄制優(yōu)化

采集預(yù)覽優(yōu)化

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容