視頻編解碼器如何工作?
 
現在我們對視頻編解碼器的作用有了基本的了解,我們可以看看編解碼器是如何工作的。
 
1、色度子采樣
 
如前所述,視頻由圖像組成,色度子采樣減少了每個圖像中的信息。為此,它減少了每個圖像中包含的顏色信息,但人眼如何檢測到這種顏色信息的減少?
 
人眼很擅長檢測亮度的變化,但對于顏色卻不能這樣說。這是因為與視錐細胞(負責區分顏色的感光細胞)相比,人眼具有更多的視桿細胞(負責檢測亮度變化的感光細胞)。在比較壓縮圖像和未壓縮圖像時,視桿和視錐的差異會阻止眼睛檢測顏色變化。
 
AV1、h265 (HEVC) 、VP9這些編碼標準有什么區別?
 
為了執行色度子采樣,視頻壓縮算法將 RGB 中的像素信息轉換為亮度和顏色數據。之后,該算法會根據壓縮級別減少圖像中的顏色量。
 
2、去除冗余幀信息
 
視頻由幾幀圖像組成,在大多數情況下,所有這些幀都包含相同的信息。例如,想象一段視頻,其中有一個人在固定背景下講話。在這種情況下,視頻中的所有幀都具有相似的構圖。因此,不需要所有圖像來渲染視頻。我們所需要的只是一張基本圖片,其中包含從一幀移動到另一幀時與變化相關的所有信息和數據。
 
因此,為了減小視頻大小,壓縮算法將視頻幀分為 I ??幀和 P 幀(預測幀)。這里 I 幀是基本事實,用于創建 P 幀。然后使用 I 幀中的信息和該特定幀的更改信息來渲染 P 幀。使用這種方法,視頻被分解成一組 I 幀,交織成 P 幀,進一步壓縮視頻。
 
3、運動壓縮

現在我們已經將視頻分成 I 幀和 P 幀,我們需要看看運動壓縮。視頻壓縮算法的一部分,有助于使用 I 幀創建 P 幀。為此,壓縮算法將 I 幀分成稱為宏塊的塊。然后為這些塊提供運動矢量,運動矢量定義這些塊在從一幀過渡到另一幀時移動的方向。
 
AV1、h265 (HEVC) 、VP9這些編碼標準有什么區別?
 
每個塊的運動信息有助于視頻壓縮算法預測每個塊在即將到來的幀中的位置。
 
4、刪除高頻圖像數據
 
就像顏色數據的變化一樣,人眼無法察覺圖像中高頻元素的細微變化,但什么是高頻元素呢?嗯,你看,屏幕上呈現的圖像包含幾個像素,這些像素的值根據顯示的圖像而變化。
 
在圖片的某些區域,像素值逐漸變化,這些區域被稱為頻率較低。另一方面,如果像素數據發生快速變化,則該區域被歸類為具有高頻數據。視頻壓縮算法使用離散余弦變換來減少高頻分量。
 
下面是它的工作原理。首先,DCT 算法在每個宏塊上運行,然后檢測像素強度變化非??斓膮^域。然后它從圖像中刪除這些數據點——減小視頻的大小。
 
5、編碼
 
現在視頻中的所有冗余信息都已被刪除,我們可以存儲剩余的數據位。為此,視頻壓縮算法使用了一種編碼方案,例如霍夫曼編碼,它將幀中的所有數據位與它們在視頻中出現的次數相關聯,然后以樹狀方式將它們連接起來。此編碼數據存儲在系統中,使其能夠輕松呈現視頻。
 
AV1、h265 (HEVC) 、VP9這些編碼標準有什么區別?
 
注:不同的視頻編解碼器使用不同的技術來壓縮視頻,但在最基本的層面上,它們使用上面定義的五種基本方法來減小視頻的大小。
裝機