視頻格式基礎(chǔ)知識(shí)--(搬運(yùn)自VCB-Studio)

. MP4/MKV這些格式有什么區(qū)別?哪個(gè)畫質(zhì)好?
. 視頻的碼率是怎么算的?為什么同樣是1080p的視頻,有些體積大有些體積小?
. 視頻儲(chǔ)存的圖像信息是什么格式的?跟顯示器一樣的紅綠藍(lán)么?
. 8bit/10bit到底指的什么?為什么說8bit顯示器還有必要看10bit視頻?
. yuv420/444這些標(biāo)示到底什么意思?哪個(gè)好?
. 線條,平面,紋理這些到底是什么意思?視頻為啥還有高頻低頻?
. 碼率越高的視頻畫質(zhì)越好么?
……
本教程將分以下模塊詳細(xì)敘述:
1、封裝格式(MP4/MKV…) ?vs 媒體格式(H.264/FLAC/AAC…)
2、視頻的基礎(chǔ)參數(shù):分辨率,幀率和碼率
3、圖像的表示方法:RGB模型 vs YUV模型
4、色深
5、色度半采樣
6、空間上的低頻與高頻:平面,紋理和線條
7、時(shí)間上的低頻與高頻:動(dòng)態(tài)
8、清晰度與畫質(zhì)簡述
?
1、封裝格式(MP4/MKV…) ?vs 媒體格式(H.264/FLAC/AAC…)
MP4+MKV 是你下載的視頻文件最常見的種類。這些文件其實(shí)類似一個(gè)包裹,它的后綴則是包裹的包裝方式。這些包裹里面,包含了視頻(只有圖像),音頻(只有聲音),字 幕等。當(dāng)播放器在播放的時(shí)候,首先對這個(gè)包裹進(jìn)行拆包(專業(yè)術(shù)語叫做分離/splitting),把其中的視頻、音頻等拿出來,再進(jìn)行播放。
?
既然它們只是一個(gè)包裹,就意味著這個(gè)后綴不能保證里面的東西是啥,也不能保證到底有多少東西。包裹里面的每一件物品,我們稱之為軌道(track),一般有這么些:
?
視頻(Video): 一般來說肯定都有,但是也有例外,比如mka格式的外掛音軌,其實(shí)就是沒視頻的mkv。注意我們說到視頻的時(shí)候,是不包括聲音的。
音頻(audio):一般來說也肯定有,但是有些情況是靜音的,就沒必要帶了。
章節(jié)(Chapter): 藍(lán)光原盤中自帶的分段信息。如果文件帶上了,那么你可以在播放器中看到帶章節(jié)的效果:
.potplayer右鍵畫面,選項(xiàng)-播放-在進(jìn)度條上顯示書簽/章節(jié)標(biāo)記
.mpc-hc 右鍵畫面,選項(xiàng)-調(diào)節(jié)-在進(jìn)度條顯示章節(jié)標(biāo)記
字幕(Subtitles):有些時(shí)候文件自帶字幕,并且字幕并非是直接整合于視頻的硬字幕,那么就是一起被打包在封裝容器中。
其他可能還有附件等,不一一列舉。每個(gè)類型也不一定只有一條軌道,比如經(jīng)常見到帶多音軌的MKV。
?
每個(gè)軌道,都有自己的格式。比如大家常說的,視頻是H.264,音頻是AAC,這些就是每個(gè)軌道的格式。
視 頻的格式,常見的有H.264(可以細(xì)分為8bit/10bit),H.265(當(dāng)前也有8bit/10bit之分),RealVideo(常見于早期 rm/rmvb),VC-1(微軟主導(dǎo)的,常見于wmv)。基本上,H.264=AVC=AVC1, H.265=HEVC。
音頻的格式,常見的有 FLAC/ALAC/TrueHD/DTS-HD MA這四種無損,和AAC/MP3/AC3/DTS(Core)這四種有損。
?
MKV vs MP4,主要的區(qū)別在于:
MKV支持封裝FLAC作為音頻,MP4則不支持。但是MP4也可以封裝無損音軌(比如說ALAC,雖然普遍認(rèn)為ALAC的效率不如FLAC優(yōu)秀)
MKV支持封裝ASS/SSA格式的字幕,MP4則不支持。一般字幕組制作的字幕是ASS格式,所以內(nèi)封字幕多見于MKV格式
MP4作為工業(yè)標(biāo)準(zhǔn),在視頻編輯軟件和播放設(shè)備上的兼容性一般好于MKV。這也是vcb-s那些為移動(dòng)設(shè)備優(yōu)化的視頻基本上選擇MP4封裝的原因。
除此之外,這兩個(gè)格式很大程度上可以互相代替。比如它們都支持封裝AVC和HEVC,包括8bit/10bit的精度。所以MP4畫質(zhì)不如MKV好,這種論斷是非常無知的——它們完全可以封裝一樣的視頻。
為 什么會(huì)有這樣的分歧,就是歷史原因了。MKV是民間研發(fā),為了代替古老的AVI,從而更好地支持H264,它開發(fā)和修改的靈活度使得它可以兼容 flac/ass這類非工業(yè)標(biāo)準(zhǔn)的格式;而MP4則是出生豪門,作為工業(yè)標(biāo)準(zhǔn),替代更古老的MPG,作為新一代視頻/音頻封裝服務(wù)的。
2、視頻的基礎(chǔ)參數(shù):分辨率,幀率和碼率。
視 頻是由連續(xù)的圖像構(gòu)成的。每一張圖像,我們稱為一幀(frame)。圖像則是由像素(pixel)構(gòu)成的。一張圖像有多少像素,稱為這個(gè)圖像的分辨率。比 如說1920×1080的圖像,說明它是由橫縱1920×1080個(gè)像素點(diǎn)構(gòu)成。視頻的分辨率就是每一幀圖像的分辨率。
?
一 個(gè)視頻,每一秒由多少圖像構(gòu)成,稱為這個(gè)視頻的幀率(frame-rate)。常見的幀率有24000/1001=23.976, 30000/1001=29.970, 60000/1001=59.940, 25.000, 50.000等等。這個(gè)數(shù)字是一秒鐘內(nèi)閃過的圖像的數(shù)量。比如23.976,就是1001秒內(nèi),有24000張圖像。視頻的幀率是可以是恒定的(cfr, Const Frame-Rate),也可以是變化的(vfr, Variable Frame-Rate)
?
碼率的定義是視頻文件體積除以時(shí)間。單位一般是Kbps(Kbit/s)或者M(jìn)bps(Mbit/s)。注意1B(Byte)=8b(bit)。所以一個(gè)24分鐘,900MB的視頻:
體積:900MB = 900MByte = 7200Mbit
時(shí)間:24min = 1440s
碼率:7200/1440 ?= 5000 Kbps?= 5Mbps
?
當(dāng)視頻文件的時(shí)間基本相同的時(shí)候(比如現(xiàn)在一集番大概是24分鐘),碼率和體積基本上是等價(jià)的,都是用來描述視頻大小的參數(shù)。長度分辨率都相同的文件,體積不同,實(shí)際上就是碼率不同。
碼率也可以解讀為單位時(shí)間內(nèi),用來記錄視頻的數(shù)據(jù)總量。碼率越高的視頻,意味著用來記錄視頻的數(shù)據(jù)量越多,潛在的解讀就是視頻可以擁有更好的質(zhì)量。(注意,僅僅是潛在,后文我們會(huì)分析為什么高碼率不一定等于高畫質(zhì))
3、圖像的表示方法:RGB模型 vs YUV模型
光的三原色是紅(Red)、綠(Green)、藍(lán)(Blue)。現(xiàn)代的顯示器技術(shù)就是通過組合不同強(qiáng)度的三原色,來達(dá)成幾乎任何一種可見光的顏色。圖像儲(chǔ)存中,通過記錄每個(gè)像素紅綠藍(lán)強(qiáng)度,來記錄圖像的方法,稱為RGB模型 (RGB Model)
常見的圖片格式中,PNG和BMP這兩種就是基于RGB模型的。
?
比如說原圖:
分別只顯示R G B通道的強(qiáng)度,效果如下:
![[VCB-Studio科普教程3] 視頻格式基礎(chǔ)知識(shí) 宅技術(shù) |ACG17 [VCB-Studio科普教程3] 視頻格式基礎(chǔ)知識(shí)- ACG17.COM](https://b2.sanwen.net/b_article/69a418925237d464dbc7231099126bc356023cce.jpg)
三 個(gè)通道下,信息量和細(xì)節(jié)程度不一定是均勻分布的。比如說可以注意南小鳥臉上的紅暈,在3個(gè)平面上的區(qū)分程度就不同——紅色平面下幾乎無從區(qū)分,造成區(qū)別的 主要是綠色和藍(lán)色的平面。外圍白色的臉頰,三色都近乎飽和;但是紅暈部分,只有紅色飽和,綠色和藍(lán)色不飽和。這是造成紅色凸顯的原因。
?
除了RGB模型,還有一種廣泛采用的模型,稱為YUV模型,又被稱為亮度-色度模型(Luma-Chroma)。它是通過數(shù)學(xué)轉(zhuǎn)換,將RGB三個(gè)通道,轉(zhuǎn)換為一個(gè)代表亮度的通道(Y,又稱為Luma),和兩個(gè)代表色度的通道(UV,并成為Chroma)。
?
舉個(gè)形象點(diǎn)的例子:一家養(yǎng)殖場飼養(yǎng)豬和牛,一種記數(shù)方式是:(豬的數(shù)量,牛的數(shù)量)
但是也可以這么記錄:(總數(shù)量=豬的數(shù)量+牛的數(shù)量,相差=豬的數(shù)量-牛的數(shù)量)。兩種方法之間有數(shù)學(xué)公式可以互轉(zhuǎn)。
?
YUV 模型干的是類似的事兒。通過對RGB數(shù)據(jù)的合理轉(zhuǎn)換,得到另一種表示方式。YUV模型下,還有不同的實(shí)現(xiàn)方式。舉個(gè)用的比較多的YCbCr模型:它把 RGB轉(zhuǎn)換成一個(gè)亮度(Y),和 藍(lán)色色度(Cb) 以及 紅色色度(Cr)。轉(zhuǎn)換背后復(fù)雜的公式大家不需要了解,只需要看看效果:
只有亮度通道:
![[VCB-Studio科普教程3] 視頻格式基礎(chǔ)知識(shí) 宅技術(shù) |ACG17 [VCB-Studio科普教程3] 視頻格式基礎(chǔ)知識(shí)- ACG17.COM](https://b2.sanwen.net/b_article/4d7ebf18d20ddad9dc48cf09ee00278a0db37555.jpg)
只有藍(lán)色色度:
![[VCB-Studio科普教程3] 視頻格式基礎(chǔ)知識(shí) 宅技術(shù) |ACG17 [VCB-Studio科普教程3] 視頻格式基礎(chǔ)知識(shí)- ACG17.COM](https://b2.sanwen.net/b_article/e273038c9f70ad963480a80e34721324c7150e09.jpg)
只有紅色色度:
![[VCB-Studio科普教程3] 視頻格式基礎(chǔ)知識(shí) 宅技術(shù) |ACG17 [VCB-Studio科普教程3] 視頻格式基礎(chǔ)知識(shí)- ACG17.COM](https://b2.sanwen.net/b_article/16629b84c3b2d7a84ee25b10f3e556a20582c475.jpg)
在圖像視頻的加工與儲(chǔ)存中,YUV格式一般更受歡迎,理由如下:
?
1、 人眼對亮度的敏感度遠(yuǎn)高于色度,因此人眼看到的有效信息主要來自于亮度。YUV模型可以將絕大多數(shù)的有效信息分配到Y(jié)通道。UV通道相對記錄的信息少的 多。相對于RGB模型較為平均的分配,YUV模型將多數(shù)有效信息集中在Y通道,不但減少了冗余信息量,還為壓縮提供了便利
2、保持了對黑白顯示設(shè)備的向下兼容
3、圖像編輯中,調(diào)節(jié)亮度和顏色飽和度,在YUV模型下更方便。
幾乎所有的視頻格式,以及廣泛使用的JPEG圖像格式,都是基于YCbCr模型的。播放的時(shí)候,播放器需要將YCbCr的信息,通過計(jì)算,轉(zhuǎn)換為RGB。這個(gè)步驟稱為渲染(Rendering)
每個(gè)通道的記錄,通常是用整數(shù)來表示。比如RGB24,就是RGB各8個(gè)bit,用0~255 (8bit的二進(jìn)制數(shù)范圍)來表示某個(gè)顏色的強(qiáng)弱。YUV模型也不例外,也是用整數(shù)來表示每個(gè)通道的高低。
?
4、色深
?
色深(bit-depth),就是我們通常說的8bit和10bit,是指每個(gè)通道的精度。8bit就是每個(gè)通道用一個(gè)8bit整數(shù)(0~255)代表,10bit就是用10bit整數(shù)(0~1023)來顯示。16bit則是0~65535
(注意,上文的表述是不嚴(yán)謹(jǐn)?shù)?,視頻在編碼的時(shí)候,并非一定能用到0~255的所有范圍,而是可能有所保留,只用到一部分,比如16~235。這我們就不詳細(xì)展開了)
?
你的顯示器是8bit的,代表它能顯示RGB每個(gè)通道0~255所有強(qiáng)度。但是視頻的色深是YUV的色深,播放的時(shí)候,YUV需要通過計(jì)算轉(zhuǎn)換到RGB。因此,10bit的高精度是間接的,它使得運(yùn)算過程中精度增加,以讓最后的顏色更細(xì)膩。
?
如何理解8bit顯示器,播放10bit是有必要的呢:
一個(gè)圓的半徑是12.33m, 求它的面積,保留兩位小數(shù)。
半徑的精度給定兩位小數(shù),結(jié)果也要求兩位小數(shù),那么圓周率精度需要給多高呢?也只要兩位小數(shù)么?
取pi=3.14, 面積算出來是477.37平方米
取pi=3.1416,面積算出來是477.61平方米
取pi精度足夠高,面積算出來是477.61平方米。所以取pi=3.1416是足夠的,但是3.14就不夠了。
?
換 言之,即便最終輸出的精度要求較低,也不意味著參與運(yùn)算的數(shù)字,以及運(yùn)算過程,可以保持較低的精度。在最終輸出是8bit RGB的前提下,10bit YUV比起8bit YUV依舊具有精度優(yōu)勢的原因就在這里。事實(shí)上,8bit YUV轉(zhuǎn)換后,覆蓋的精度大概相當(dāng)于8bit RGB的26%,而10bit轉(zhuǎn)換后的精度大約可以覆蓋97%——你想讓你家8bit顯示器發(fā)揮97%的細(xì)膩度么?看10bit吧。
?
8bit精度不足,主要表現(xiàn)在亮度較低的區(qū)域,容易形成色帶:
![[VCB-Studio科普教程3] 視頻格式基礎(chǔ)知識(shí) 宅技術(shù) |ACG17 [VCB-Studio科普教程3] 視頻格式基礎(chǔ)知識(shí)- ACG17.COM](https://b2.sanwen.net/b_article/0a8cb2533532e5980fbbadc30a3d12feb7dee759.png)
?
注意這圖右邊那一圈圈跟波浪一樣的效果。這就是顏色精度不足的表現(xiàn)。
10bit的優(yōu)勢不只在于顯示精度的提高,在提高視頻壓縮率,減少失真方面,相對8bit也有優(yōu)勢。這方面就不展開了。
?
5、色度半采樣
?
在 YUV模型的應(yīng)用中,Y和UV的重要性是不等同的。圖像視頻的實(shí)際儲(chǔ)存和傳輸中,通常將Y以全分辨率記錄,UV以減半甚至1/4的分辨率記錄。這個(gè)手段被 稱為色度半采樣(Chroma Sub-Sampling)。色度半采樣可以有效減少傳輸帶寬,和加大UV平面的壓縮率,但是不可避免的會(huì)損失UV平面的有效信息。
?
我 們平常的視頻,最常見的是420采樣。配合YUV格式,常常被寫作yuv420。這種采樣是Y保留全部,UV只以(1/2) x (1/2)的分辨率記錄。比如說1920×1080的視頻,其實(shí)只有亮度平面是1920×1080。兩個(gè)色度平面都只有960×540的分辨率。
當(dāng)然了,你也可以選擇不做縮減。這種稱為444采樣,或者yuv444。YUV三個(gè)平面全是滿分辨率。
?
在 做YUV->RGB的時(shí)候,首先需要將縮水的UV分辨率拉升到Y(jié)的分辨率(madVR中允許自定義算法,在Chroma Upscaling當(dāng)中),然后再轉(zhuǎn)換到RGB。做RGB->YUV的轉(zhuǎn)換,也是先轉(zhuǎn)換到444(YUV的分辨率相同),再將UV分辨率降低。
?
一般能拿到的片源,包括所有藍(lán)光原盤,都是420采樣的。所以成品一般也保留420采樣。所以yuv420就表示這個(gè)視頻是420采樣的yuv格式。
將420做成444格式,需要自己手動(dòng)將UV分辨率拉升2×2倍。在今天madVR等渲染器可以很好地拉升UV平面的情況下,這種做法無異于毫無必要的拉升DVD做成偽高清。
當(dāng)然了,有時(shí)候也需要在444/RGB平面下做處理和修復(fù),常見的比如視頻本身RGB平面不重疊(比如摩卡少女櫻),這種修復(fù)過程首先要將UV分辨率拉升,然后轉(zhuǎn)RGB,做完修復(fù)再轉(zhuǎn)回YUV。修復(fù)后的結(jié)果相當(dāng)于全新構(gòu)圖,這種情況下保留444格式就是有理由,有必要的。
?
H264 格式編碼444格式,需要High 4:4:4 Predictive Profile(簡稱Hi444pp)。所以看到Hi444pp/yuv444 之類的標(biāo)示,你就需要去找壓制者的陳述,為什么他要做這么個(gè)拉升。如果找不到有效的理由,你應(yīng)該默認(rèn)作者是在瞎做。
?
6、空間上的低頻與高頻:平面,紋理和線條
在視頻處理中,空間(spatial)的概念指的是一幀圖片以內(nèi)(你可以認(rèn)為就是一張圖所呈現(xiàn)的二維空間/平面)。跟時(shí)間(temporal)相對;時(shí)間的概念就強(qiáng)調(diào)幀與幀之間的變換。
?
于是我們重新來看這張亮度的圖:
![[VCB-Studio科普教程3] 視頻格式基礎(chǔ)知識(shí) 宅技術(shù) |ACG17 [VCB-Studio科普教程3] 視頻格式基礎(chǔ)知識(shí)- ACG17.COM](https://b2.sanwen.net/b_article/454b54a64fe99c51c0cf3b153c96964cc17b3898.jpg)
亮度變化較快,變動(dòng)幅度大的區(qū)域,我們稱之為高頻區(qū)域。否則,亮度變化緩慢且不明顯的區(qū)域,我們稱為低頻區(qū)域。
?
圖中的藍(lán)圈就是一塊典型的低頻區(qū)域,或者就叫做平面(平坦的部分)。亮度幾乎沒有變化
綠圈中,亮度呈現(xiàn)跳躍式的突變,這種高頻區(qū)域我們稱之為線條。
紅圈中,亮度頻繁變化,幅度有高有低,這種高頻區(qū)域我們稱為紋理。
?
有時(shí)候,線條和紋理(高頻區(qū)域)統(tǒng)稱為線條,平面(低頻區(qū)域)又叫做非線條。
?
這是亮度平面。色度平面,高頻低頻,線條等概念也同樣適用,就是描述色度變化的快慢輕重。一般我們所謂的“細(xì)節(jié)”,就是指圖像中的高頻信息。
一般來說,一張圖的高頻信息越多,意味著這張圖信息量越大,所需要記錄的數(shù)據(jù)量就越多,編碼所需要的運(yùn)算量也越大。如果一個(gè)視頻包含的空間性高頻信息很多(通俗點(diǎn)說就是每一幀內(nèi)細(xì)節(jié)很多),意味著這個(gè)視頻的空間復(fù)雜度很高。
記 錄一張圖片,編碼器需要決定給怎樣的部分多少碼率。碼率在一張圖內(nèi)不同部分的分配,叫做碼率的空間分配。分配較好的時(shí)候,往往整幅圖目視觀感比較統(tǒng)一;分 配不好常見的后果,就是線條紋理尚可,背景平面區(qū)域出現(xiàn)大量色帶色塊(碼率被過分的分配給線條);或者背景顏色過渡自然,紋理模糊,線條爛掉(碼率被過分 的分配給非線條)。
?
7、時(shí)間上的低頻與高頻:動(dòng)態(tài)
在視頻處理中,時(shí)間(temporal)的概念強(qiáng)調(diào)幀與幀之間的變換。跟空間(spatial)相對。
動(dòng)態(tài)的概念無需多解釋;就是幀與幀之間圖像變化的強(qiáng)弱,變化頻率的高低。一段視頻如果動(dòng)態(tài)很高,變化劇烈,我們稱為時(shí)間復(fù)雜度較高,時(shí)域上的高頻信息多。否則如果視頻本身舒緩多靜態(tài),我們稱為時(shí)間復(fù)雜度低,時(shí)域上的低頻信息多。
?
一 般來說,一段視頻的時(shí)域高頻信息多,動(dòng)態(tài)的信息量就大,所需要記錄的數(shù)據(jù)量就越多,編碼所需要的運(yùn)算量也越大。但是另一方面,人眼對高速變化的場景,敏感 度不如靜態(tài)的圖片來的高(你沒有時(shí)間去仔細(xì)觀察細(xì)節(jié)),所以動(dòng)態(tài)場景的優(yōu)先度可以低于靜態(tài)場景。如何權(quán)衡以上兩點(diǎn)去分配碼率,被稱為碼率的時(shí)間分配。分配 較好的時(shí)候,看視頻無論動(dòng)態(tài)還是靜態(tài)效果都較好;分配不好的時(shí)候往往是靜態(tài)部分看著還行,動(dòng)態(tài)部分糊爛掉;或者動(dòng)態(tài)部分效果過分的好,浪費(fèi)了大量碼率,造 成靜態(tài)部分欠碼,瑕疵明顯。
?
很多人喜歡看靜止的截圖對比,來判斷視頻的畫質(zhì)。從觀看的角度,這種做法其實(shí)并不完全科學(xué)——如果你覺得比較爛的一幀其實(shí)是取自高動(dòng)態(tài)場景,那么這一幀稍微爛點(diǎn)無可厚非,反正觀看的時(shí)候你注意不到,將碼率省下來給靜態(tài)部分會(huì)更好。
?
8、清晰度與畫質(zhì)簡述
?
我們經(jīng)常討論,一個(gè)視頻清晰度如何,畫質(zhì)好不好。但是如何給這兩個(gè)術(shù)語做定義呢?
?
經(jīng)??吹降恼f法:“這個(gè)視頻清晰度是1080p的”。其實(shí)看過上文你就應(yīng)該知道,1080p只是視頻的分辨率,它不能直接代表清晰度——比如說,我可以把一個(gè)480p的dvd視頻拉升到1080p,那又怎樣呢?它的清晰度難道就提高了么?
?
一 個(gè)比較接近清晰度的概念,是上文所講述的,空間高頻信息量,就是一幀內(nèi)的細(xì)節(jié)。一張圖,一個(gè)視頻的細(xì)節(jié)多,它的清晰度就高。分辨率決定了高頻信息量的上 限;就是它最清晰能到什么地步。1080p之所以比480p好,是因?yàn)樗梢栽试S圖像記錄的高頻信息多。這個(gè)說法看樣子很靠譜,但是,有反例:
![[VCB-Studio科普教程3] 視頻格式基礎(chǔ)知識(shí) 宅技術(shù) |ACG17 [VCB-Studio科普教程3] 視頻格式基礎(chǔ)知識(shí)- ACG17.COM](https://b2.sanwen.net/b_article/1a2142354ba9cdbaa6b93581dc9fcc0e37aa89ab.png)
右圖的高頻信息遠(yuǎn)比左圖多——它的線條很銳利,有大量致密的噪點(diǎn)(注意噪點(diǎn)完全符合高頻信息的定義;它使得圖像變化的非??欤?br>但是你真的覺得右圖清晰度高么?
事實(shí)上,右圖完全是通過左圖加工而來。通過過度銳化+強(qiáng)噪點(diǎn),人為的增加無效的高頻信息。
?
所以清晰度的定義我更傾向于這樣一個(gè)說法:圖像或視頻中,原生、有效的高頻信息。
原生,強(qiáng)調(diào)這種清晰度是非人工添加的;有效;強(qiáng)調(diào)細(xì)節(jié)本身有意義,而不是毫無意義的噪點(diǎn)特效。
?
值得一提的是,人為增加的高頻信息不見得完全沒有幫助。有的時(shí)候適度銳化的確能夠起到不錯(cuò)的目視效果:
![[VCB-Studio科普教程3] 視頻格式基礎(chǔ)知識(shí) 宅技術(shù) |ACG17 [VCB-Studio科普教程3] 視頻格式基礎(chǔ)知識(shí)- ACG17.COM](https://b2.sanwen.net/b_article/bef4880183dfb9219a3604f82c27c8a1a2a5a55b.png)
這是一幅適度銳化后的效果。如果有人覺得右圖更好,至少某些部分更好,相信我,你不是一個(gè)人。所以適度銳化依舊是視頻和圖像處理中,可以接受的一種主觀調(diào)整的手段,一定的場合下,它確實(shí)有助于提高目視效果。
?
以 上是清晰度的概述。注意,清晰度只是空間方面(就是一幀以內(nèi))。如果再考慮到動(dòng)態(tài)效果的優(yōu)秀與否(視頻是不是那種一動(dòng)起來就糊成一團(tuán)的,或者動(dòng)起來感覺卡 頓明顯的,常見于早起RMVB),空間和時(shí)間上優(yōu)秀的觀看效果共同定義了畫質(zhì)。所以我們說madVR/svp那些倍幀效果有助于提高畫質(zhì),實(shí)際上它們增強(qiáng) 了時(shí)間上的觀看效果。
?
好的畫質(zhì),是制作者和觀眾共同追求的。怎么樣的視頻會(huì)有好的畫質(zhì)呢?是不是碼率越高的視頻畫質(zhì)越好呢?真不見得。視頻的畫質(zhì),是由以下幾點(diǎn)共同決定的:
?
1、源的畫質(zhì)。
俗話說的好,上梁不正下梁歪。如果源的畫質(zhì)本身很差,那么再如何折騰都別指望畫質(zhì)好到哪去。所以壓制者往往會(huì)選擇更好的源進(jìn)行壓制——舉個(gè)栗 子,BDRip一般都比TVRip來的好,哪怕是720p。藍(lán)光也分銷售地區(qū),一般日本銷售的日版,畫質(zhì)上比美版、臺(tái)版、港版啥的都來得好,所以同樣是 BDRip,選取更好的源,就能做到畫質(zhì)上優(yōu)先一步。
?
2、播放條件。
觀眾是否用了足矣支持高畫質(zhì)播放的硬件和軟件。這就是為啥我們在發(fā)布Rip的同時(shí)大力普及好的播放器;有時(shí)候一個(gè)好的播放器勝過多少在制作方面的精力投入。
?
3、碼率投入vs編碼復(fù)雜度。
視頻的時(shí)間和空間復(fù)雜度,并稱為編碼復(fù)雜度。編碼復(fù)雜度高的視頻,往往細(xì)節(jié)多,動(dòng)態(tài)高(比如《魔法少女小圓劇場版 叛逆的物語》),這樣的視頻天生需要較高的碼率去維持一個(gè)優(yōu)秀的觀看效果。
相反,有些視頻編碼復(fù)雜度低(比如《請問今天要來點(diǎn)兔子么》,動(dòng)態(tài)少,線條細(xì)節(jié)柔和),這種視頻就是比較節(jié)省碼率的。
?
4、碼率分配的效率和合理度。
同樣多的碼率,能起到怎樣好的效果,被稱為效率。比如H264就比之前的RealVideo效率高;10bit比8bit效率高;編碼器先進(jìn),參數(shù)設(shè)置的比較合理,編碼器各種高端參數(shù)全開(通常以編碼時(shí)間作為代價(jià)),碼率效率就高。
合理度就是碼率在時(shí)空分配方面合理與否,合理的分配,給觀眾的觀看效果就比較統(tǒng)一協(xié)調(diào)。 碼率分配的效率和合理度,是對制作者的要求,要求制作者對片源分析,參數(shù)設(shè)置有比較到位的理解。
碼率分配和合理度做的好,就常常能做出低碼率高畫質(zhì)的良心作品。
?
這 里再多提一句,至少在這個(gè)時(shí)間點(diǎn),也就是此文發(fā)布的2014年年底,HEVC相對于AVC可以提高50%的效率,依舊是一個(gè)紙面上的理論值。實(shí)際操作中, 因?yàn)镠EVC編碼器的成熟度遠(yuǎn)不及經(jīng)過了十幾年發(fā)展的AVC編碼器,導(dǎo)致現(xiàn)在HEVC的潛力遠(yuǎn)沒有能發(fā)揮出來,特別是高畫質(zhì)下甚至不如。
對于目前主流的,定位收藏畫質(zhì)的BDRip,同樣碼率下x265的畫質(zhì)相對于x264沒有優(yōu)勢;所以在近期,大家不用優(yōu)先的去下載HEVC版作為收藏目 的,更不必迷信什么“碼率降低一半”。再強(qiáng)調(diào)一次,這個(gè)時(shí)間點(diǎn);如果一年后以上陳述被不斷進(jìn)步的HEVC編碼器推翻,我毫不驚訝。
?
?
5、編碼前的預(yù)處理。預(yù)處理分三種:
①,客觀修復(fù)。強(qiáng)調(diào)修復(fù)片源固有的瑕疵,比如鋸齒,色帶,暈輪等等。
②,主觀調(diào)整,強(qiáng)調(diào)將片源調(diào)整的更適合人眼觀看,比如適度的銳化,調(diào)色(有時(shí)候你是可以通過科學(xué)方法判定片源的顏色有問題,然后針對的做修復(fù)的)。
③,移除無效高頻信息,比如降噪,避免碼率浪費(fèi)在無效的噪點(diǎn)上
預(yù)處理做的好,往往能達(dá)到畫質(zhì)上超越片源,或是在幾乎不犧牲清晰度的前提下,節(jié)省碼率開銷。
但是預(yù)處理是一把雙刃劍,優(yōu)化的同時(shí),可能引入副效果。降噪、抗鋸齒、去暈輪等操作會(huì)不可避免的損失一些有效細(xì)節(jié)(或多或少,取決于制作者水準(zhǔn));主觀調(diào)整很可能會(huì)引入副效果(比如過度銳化會(huì)導(dǎo)致鋸齒和暈輪),或是變成了作者的自我滿足,形成對觀眾的欺騙。
?
綜上,一個(gè)優(yōu)秀的畫質(zhì),是由片源、制作者、觀看者共同決定的;碼率高低也只是部分因素,并非決定性的效果。
補(bǔ)充:更新至2020/12
AV1壓縮編碼
AV1是開放媒體聯(lián)盟Alliance for Open Media (AOM) 開發(fā)的第一代視頻編碼標(biāo)準(zhǔn)
面對每年上億元的視頻格式使用開支,互聯(lián)網(wǎng)和科技的一群大佬們坐不下去了,不就是一個(gè)壓縮算法嘛,我們也能做。他們決定開發(fā)一個(gè)免費(fèi)的視頻編解碼格式來改變現(xiàn)狀,這就是AV1視頻格式。

上圖是AOMedia聯(lián)盟成員,除了以上基金會(huì)成員,還有Adobe、AMD、愛奇藝等幾十個(gè)成員。有公司負(fù)責(zé)操作系統(tǒng)支持,有公司負(fù)責(zé)硬件支持,還有公司負(fù)責(zé)視頻剪輯,最后所有人都可以進(jìn)行免費(fèi)的AV1格式視頻編解碼和播放。
你可能聽過H.265/HEVC這個(gè)優(yōu)秀的視頻編解碼格式,但因高昂的授權(quán)費(fèi),這么多年來普及的非常不好。比如瀏覽器方面,只支持H.264編碼的視頻格式,以至于很多消費(fèi)者抱怨流量費(fèi)貴,卻很少有人知道如果采用H.265編碼,看同畫質(zhì)視頻流量可以節(jié)省一半。
采用AV1視頻格式有什么優(yōu)點(diǎn)?
1、AV1由于是免費(fèi)的,可以逐漸替代其它編解碼格式,從而節(jié)省大把授權(quán)費(fèi)。
2、AV1由于同畫質(zhì)下碼率更低,帶寬方面相比較之下也會(huì)逐漸節(jié)省大量成本。
AV1視頻格式對我們有什么影響?
最近一兩個(gè)月,看到新聞?wù)f,已經(jīng)有芯片支持AV1視頻格式了,愛奇藝也宣傳已經(jīng)開始使用AV1視頻格式。
經(jīng)本人測試,在沒有AV1硬解的情況下,CPU使用率相比H.264要高出很多,如果你的電腦配置非常低,不妨使用系統(tǒng)自帶的瀏覽器來避免播放到AV1格式的視頻。如果你想節(jié)省流量,建議使用Chrome瀏覽器或采用Chromium內(nèi)核的國產(chǎn)瀏覽器。

標(biāo)準(zhǔn)組織推出的標(biāo)準(zhǔn)主要可以分為三部分,其中比較特殊的就是 ISO 和 IEC 旗下的 MPEG 和 ITU 旗下的 VCEG,它們之間有著千絲萬縷的聯(lián)系。
這兩個(gè)標(biāo)準(zhǔn)組織都成立于上世紀(jì)的八十年代,最初分別推出了各自的一套標(biāo)準(zhǔn),隨著業(yè)界對于統(tǒng)一標(biāo)準(zhǔn)的呼聲越來越高,便聯(lián)合推出了 MPEG-2及H.264/AVC 等標(biāo)準(zhǔn),這也推進(jìn)了流媒體行業(yè)的發(fā)展。
AVS 目前推出了三個(gè)標(biāo)準(zhǔn),分別是 AVS1、AVS2 和 AVS3,這三個(gè)都是我國自主知識(shí)產(chǎn)權(quán)的標(biāo)準(zhǔn),也是我國在視頻標(biāo)準(zhǔn)領(lǐng)域的一個(gè)驕傲。
第三個(gè)標(biāo)準(zhǔn)是 AOMedia,因?yàn)楸容^年輕,目前推出的唯一一個(gè)標(biāo)準(zhǔn)是 AV1。AV1 的前身是 VP-8 和 VP-9,這兩個(gè)標(biāo)準(zhǔn)是 Google 公司主要應(yīng)用在流媒體業(yè)務(wù)上的私有標(biāo)準(zhǔn)。
關(guān)于VVC 的標(biāo)準(zhǔn)制定,騰訊于 2017 年底才開始投入,經(jīng)過兩年多的努力,多媒體實(shí)驗(yàn)室多人擔(dān)任 VVC 標(biāo)準(zhǔn)聯(lián)合主編,VVC 參考軟件聯(lián)席主席, 多項(xiàng)核心實(shí)驗(yàn)召集人、多個(gè)專家小組主席等職位。騰訊在 VVC 標(biāo)準(zhǔn)的制定過程中,扮演了相當(dāng)重要的角色。
AOMedia 則是由騰訊多媒體實(shí)驗(yàn)室從 2019 年開始推動(dòng),并于同年 10 月騰訊以董事會(huì)成員身份加入。

下圖是國際主流視頻標(biāo)準(zhǔn)專利池的分布情況。以 HEVC 為例,總共有超過 17000 件專利。專利池主要有三個(gè),分別是 HEVCAdvance、MPEG-LA 和 VELOS。

?
在 HEVC 階段,專利池的局面是相當(dāng)龐大并且復(fù)雜的。還有一些公司雖然投入了,但是立場比較微妙,游走在三個(gè)專利池之外。因?yàn)橄蛉齻€(gè)專利池繳納專利費(fèi)用是非常昂貴的,這帶來了一個(gè)問題,就是流媒體產(chǎn)品出海會(huì)面臨一些風(fēng)險(xiǎn)。?
正是因?yàn)檫@種復(fù)雜的局面,導(dǎo)致了 AOMedia 的誕生。AOMedia 的主要目標(biāo)就是開發(fā)免專利費(fèi)的視頻編碼標(biāo)準(zhǔn),所有加入 AOMedia 的企業(yè)都可以免費(fèi)使用 AOMedia 旗下的標(biāo)準(zhǔn)。?
二、新一代 AV1 視頻標(biāo)準(zhǔn)
1. AV1 編碼技術(shù)
首先我們來介紹一下 AV1 的編碼技術(shù)。AV1 是 2018 年定稿的新一代視頻壓縮標(biāo)準(zhǔn),它采用了所謂的混合編碼技術(shù)框架。?

?
AV1 的整個(gè)編碼系統(tǒng)是由很多的模塊混合在一起構(gòu)成的,每個(gè)模塊是從不同的角度和手段,對圖像不同方面的數(shù)據(jù)冗余度進(jìn)行去壓縮。所以不同的模塊聯(lián)合在一起,相輔相成,實(shí)現(xiàn)比較高的性能,這就是混合編碼技術(shù)框架。
混合編碼技術(shù)框架所采用的的基本技術(shù)流程,就是比如說這是一個(gè)輸入的圖像,它會(huì)先把這個(gè)圖像以塊為單位劃分成多個(gè)塊,然后以塊為單位進(jìn)行項(xiàng)目預(yù)測,預(yù)測完之后再進(jìn)行變換,變換之后再進(jìn)行量化和熵編碼,形成壓縮的數(shù)據(jù)。過去幾十年來編解碼的技術(shù)框架都是按照混合編碼技術(shù)框架來實(shí)現(xiàn)的。
(1)塊劃分?
AV1 編碼的塊劃分技術(shù),就是把圖像劃分成多個(gè)矩形塊,然后以塊為單位去解碼圖像。在 AV1 中圖像會(huì)劃分成 128x128 的單元,也就是最大編碼單元,簡稱 LCU。LCU 可以進(jìn)一步的劃為四等份(SPLIT)或者二等份(HORZ,VERT)。四等份的子塊可以進(jìn)一步遞歸劃分,并且每個(gè)子塊可以按照最多九種劃分方式進(jìn)一步劃分為更小的單元。?
需要這么多模式的原因,是因?yàn)閳D像的內(nèi)容本身就是復(fù)雜多樣的,我們?yōu)榱酸槍?fù)雜多樣的圖像進(jìn)行最有效的編碼,就需要對圖像進(jìn)行同步的劃分。
通常一個(gè)物體有多個(gè)組成部分,通常需要把它劃分為多個(gè)部分,每個(gè)部分采用不同的預(yù)測模式,針對性的進(jìn)行預(yù)測。

(2)幀內(nèi)預(yù)測?
下面我們講一下預(yù)測的環(huán)節(jié)。所謂的幀內(nèi)預(yù)測,就是去除圖像之間的空間冗余,所謂的空間冗余就是一個(gè)像素和它周圍的像素有很強(qiáng)的相關(guān)性。比如白墻的顏色都是單一的顏色,每個(gè)點(diǎn)的像素和其他像素的趨勢非常接近,這就會(huì)導(dǎo)致一個(gè)很強(qiáng)的數(shù)據(jù)冗余。幀內(nèi)預(yù)測就是利用一定的技術(shù)手段來去除這種空間上的數(shù)據(jù)冗余。
主要的方式包括以下五種:?
方向預(yù)測模式
遞歸濾波模式
Paeth 預(yù)測算子
交叉分量預(yù)測模式
DC 預(yù)測模式,平滑預(yù)測模式
方向預(yù)測就是假設(shè)圖像有方向性的紋理,沿方向進(jìn)行預(yù)測就可以把圖像預(yù)測的比較好。
遞歸濾波模式是把圖像分成細(xì)分塊的單位,每個(gè)單位會(huì)和周圍像素行成一個(gè)濾波器,然后進(jìn)行線性加權(quán)預(yù)測,這種模式下濾波的過程需要串行進(jìn)行。
Paeth 預(yù)測算子是當(dāng)圖像在局部呈現(xiàn)平面的一個(gè)假設(shè)。另外還有交叉分量預(yù)測模式,這種模式主要針對顏色圖像。顏色有三分量,每個(gè)分量之間具有很強(qiáng)的相關(guān)性。
此外還有 DC 預(yù)測模式和平滑預(yù)測模式。這兩種模式主要局勢針對平滑紋理的預(yù)測。

?
(3)幀間預(yù)測?
幀間預(yù)測是指不以圖像上的時(shí)間的冗余。所謂時(shí)間冗余是指視頻是由一系列的圖像順序播放完成的,所以構(gòu)成了視頻。那么為什么順序播放可以構(gòu)成視頻?因?yàn)樵诳臻g上他們屬于同一個(gè)產(chǎn)品、同一個(gè)內(nèi)容,但是有一些運(yùn)動(dòng)上的差異,所以在數(shù)據(jù)上有非常強(qiáng)的相關(guān)性。
為了處理這種相關(guān)性,就會(huì)在 AV1 上引入仿射運(yùn)動(dòng)模型,模仿旋轉(zhuǎn)、縮放等比較復(fù)雜的模型。類似的還有重疊塊運(yùn)動(dòng)模補(bǔ)償、混合預(yù)測模式等。

(4) 變換
擴(kuò)展的變換類型包括:DCT、ADST、IDT、Flip-ADST 這幾種。AV1 最多支持 16 種行列變換組合。

(5) 熵編碼?
熵編碼包含的主要新興技術(shù)是多符號(hào)(Multi-Symbol)上下文自適應(yīng)算術(shù)編碼引擎,相比二值算術(shù)編碼引擎,單周期可提升熵編碼吞吐量。

(6)環(huán)內(nèi)濾波
環(huán)內(nèi)濾波包含去塊效應(yīng)濾波、約束方向增強(qiáng)濾波和環(huán)路修復(fù)濾波。環(huán)路修復(fù)濾波包含維納濾波和自導(dǎo)向投影濾波。


(7) 調(diào)色板模式
調(diào)色板模式是指針對視頻圖像的屏幕內(nèi)容,亮度/色度取值稀疏,把圖像進(jìn)行索引編碼圖形塊。

(8) 幀內(nèi)塊匹配
騰訊的 LOGO(Tencent) 中包含兩個(gè) n 和兩個(gè) e,圖像比較復(fù)雜,如果把圖像 n 編碼完之后,增加一個(gè)矢量就可以預(yù)測另一個(gè) n,效果會(huì)獲得提升。

?
2. AV1 編碼應(yīng)用場景?
AV1 的一個(gè)重要應(yīng)用場景就是流媒體。開放媒體聯(lián)盟中有很多流媒體公司,除騰訊以外還包括 Google、Youtube、Netflix、Hulu 還有愛奇藝等公司。Youtube 上目前高清視頻上線使用的就是 AV1 和 VP9 兩種編碼格式的組合,今年已經(jīng)有采用 AV1 編碼的 8K 視頻上線。Netflix 自 2020 年 2 月起也支持 Android 上的 AV1 流媒體播放。
騰訊多媒體實(shí)驗(yàn)室積極研發(fā)AV1編解碼的商業(yè)應(yīng)用技術(shù)產(chǎn)品。去年騰訊視頻云合作多媒體實(shí)驗(yàn)室推出AV1直播與點(diǎn)播服務(wù),騰訊視頻云成為國內(nèi)首家直播 + 點(diǎn)播同時(shí)支持 AV1 視頻處理業(yè)務(wù)的公有云廠商。此外多媒體實(shí)驗(yàn)室聯(lián)合騰訊其他編解碼團(tuán)隊(duì)一起推動(dòng)AV1編解碼器在不同業(yè)務(wù)中的商業(yè)化落地。實(shí)驗(yàn)室正在與騰訊視頻進(jìn)行合作推廣AV1在產(chǎn)品業(yè)務(wù)中的應(yīng)用。
在云轉(zhuǎn)碼方面,AWS Elemental MediaConvert 在 2020 年 3 月宣布支持 AV1 編碼格式。

三、AV1 標(biāo)準(zhǔn)與云端編碼
?
在云端編碼方面,AV1 有如下幾個(gè)優(yōu)勢:
AV1的開源社區(qū)提供豐富的編碼器配置應(yīng)對不同的業(yè)務(wù)需求,例如實(shí)時(shí)檔/非實(shí)時(shí)
支持時(shí)域可伸縮性(Temporal Scalability)
支持幀級超分辨率編碼(SpatialScalability)
免專利版權(quán)費(fèi),支持產(chǎn)品出海
在多媒體實(shí)驗(yàn)方面,騰訊多媒體實(shí)驗(yàn)室和騰訊云、騰訊視頻展開合作。騰訊多媒體實(shí)驗(yàn)室和騰訊云正積極推進(jìn)視頻 AV1 標(biāo)準(zhǔn)的商業(yè)應(yīng)用。由多媒體實(shí)驗(yàn)室推動(dòng),騰訊以董事會(huì)成員加入即將成立的 SVT Foundation,助力開源社區(qū) AV1 軟件編碼。
下面我們簡單介紹一下下一代視頻編碼標(biāo)準(zhǔn)。?
首先是 Versatile Video Coding 標(biāo)準(zhǔn),是由 ITU-T SG 16 WP 3 和 ISO/IEC JTC 1/SC 29/WG 11(MPEG) 聯(lián)合工作組 JVET 推出,2018 年 4 月份于美國圣迭戈(San Diego)會(huì)議正式啟動(dòng),2020 年 7 月標(biāo)準(zhǔn)文檔定稿。
相比較上一代 HEVC 標(biāo)準(zhǔn),達(dá)到 35% 的碼率節(jié)省(相同 PSNR 質(zhì)量前提下),參考軟件編碼時(shí)間 10 倍,解碼時(shí)間 2 倍。
騰訊多媒體實(shí)驗(yàn)室在 VVC 歷時(shí)兩年多的標(biāo)準(zhǔn)化歷程中,獲得近百項(xiàng)技術(shù)提案采納,填補(bǔ)了騰訊 在國際視頻標(biāo)準(zhǔn)化領(lǐng)域的空白。騰訊多媒體實(shí)驗(yàn)室多人在 VVC 標(biāo)準(zhǔn)化過程中擔(dān)任重要職位,包括標(biāo)準(zhǔn)聯(lián)合主編,參考軟件聯(lián)席 主席,多個(gè)核心實(shí)驗(yàn)負(fù)責(zé)人,多個(gè)專家小組主席。
除了 VVC,還有 AOMedia Video 2 標(biāo)準(zhǔn)。
AOMedia 于 2019 年開始籌備下一代標(biāo)準(zhǔn) AV2,下一代AV2標(biāo)準(zhǔn)的參考軟件平臺(tái)預(yù)計(jì)近期將推出。騰訊多媒體實(shí)驗(yàn)室和 Google 聯(lián)合組織技術(shù)討論,成立編碼技術(shù)孵化組(Incubator Group) ,目前騰訊多媒體實(shí)驗(yàn)室初步已推出三項(xiàng)編碼技術(shù),相關(guān)工作發(fā)表在 ICIP 2020。
