今天幾乎所有的數字顯示設備都基于某種類型的 RGB(紅、綠、藍)顏色模型。RGB 是表示人類可以看到的大多數顏色的最有效方式(有一些顏色不能很好地產生,但這是另一個討論)。相機、手機、電視、計算機屏幕和數字視頻都使用 RGB 顏色模型和 RGB 顏色空間顯示顏色。聽到這個你可能會感到驚訝,畢竟,作為一個孩子,你沒有被教過 RYB(紅、黃、藍)顏色模型嗎?
雖然您可能已經學習過 RYB 顏色模型,但不使用 RYB 的原因有幾個。首先,它在創造人類看到的所有顏色方面并不那么有效。您可以從 RGB 中獲得更多顏色。這實際上就是我們不使用其他隨機顏色模型的原因。例如,您可以使用紫色、藍色和粉紅色的顏色模型。與 RYB 或 RGB 相比,您將無法使用它制作很多顏色,但如果您愿意,您仍然可以這樣做。我們不使用 RYB 的第二個原因是因為人眼對綠色更敏感。你對綠色最敏感,然后是紅色,對藍色有一點點。
因為這些是人眼最能注意到的顏色,所以最常使用 RGB 顏色模型來創建不同的顏色空間。顏色空間是顏色模型和將這些顏色解釋或映射到您將看到的顏色的方法的組合。有許多基于 RGB 的色彩空間。解釋 RGB 顏色模型的一種常見方法是包含一個額外的通道 - 這種顏色空間樣式稱為 RGBa。每種顏色都有一個通道 - 紅色、藍色和綠色,然后是一個額外的通道,用于描述每個通道中每個像素的透明度。
堅持使用 RGB 表示的基于 RGB 的色彩空間創建了非常高質量的圖像和視頻表示。它們通常用于生成計算機圖形和捕獲視頻。只有一個小問題 - RGB 不適合圖像處理或存儲。正如我之前提到的,人眼最能看到綠色。這部分是因為人眼對亮度或物體的亮度最敏感。綠色與人類視覺中的亮度混合在一起。不幸的是,對于 RGB,亮度會混合到所有顏色通道中,并且沒有一種簡單的方法可以將其分離出來。所以大多數時候,您會發現 RGB 色彩空間應用于靜止圖像或非常高端的計算機動畫。對于視頻,需要另一種更可壓縮的解決方案。
Y'CbCr 和 YUV
有時 Y'CbCr 和 YUV 可以互換使用,這是不準確的。YUV 用于模擬電視,而 Y'CbCr 用于數字視頻,但它們都使用相同的概念來實現顏色壓縮。對于這個顏色空間,基于 RGB 顏色模型,利用人眼感知色度(顏色)和亮度(亮度)的方式。因為您看到的亮度比顏色更好,所以顏色信息的通道被拆分如下:
- Cb - 藍色減去亮度
- Cr - 紅色減去亮度
- Y' - 亮度
因為您將綠色視為感知亮度的一部分,所以它包含在 Y' 通道中。亮度也會在您將其減去的其他通道中考慮在內。這種解釋 RGB 顏色模型的方式的好處是,您可以將眼睛看到的最好的東西收集到亮度通道中,為其他兩個通道中的顏色壓縮留出空間。此技術可用于更輕松地傳輸視頻和存儲視頻。顏色壓縮稱為色度子采樣。
Y'CbCr 和 YUV 中的色度子采樣
因為可以分離出亮度,所以在剩余的紅色和藍色通道中,可以使用色度子采樣來壓縮數據。色度子采樣使用符號 x:y:z。x 告訴你要在樣本中采用多少亮度像素。所以如果是 2:y:z,說明一次采樣兩個像素。4 最最為常用,因此您更有可能看到 4:y:z。y 表示要從數據的第一行中采樣多少色度像素,然后是此后的每條交替行。所以說最終結果為4:4:z。這意味著您要獲取 4 像素的亮度樣本,因此轉換到視頻(或圖像)的幀,并且在第一行中,還要獲取 4 像素的色度樣本。所以理論上沒有扔掉任何數據。z 表示從 y 之后的像素行中采樣多少色度像素。通常為4,將采樣 4 個色度像素。完整的符號是 4:4:4?,F在對于圖像的其余部分,將在 4 luma 的塊中采樣 2 行,y 是第一行,z 是第二行,直到對所有內容進行二次采樣。4:4:4 很少見,因為它保存了所有數據,常用于內部處理,其他方面應用的不多。有時這被稱為 YUV-9 采樣,那是用于模擬視頻的時候。
4:2:2 每行丟掉一半的顏色數據。這聽起來可能很多,但這是用于專業視頻創作的二次采樣方法。它也經常用于捕獲視頻。
4:2:0 用于廣播、DVD/藍光、PAL DV、HDV、AVCHD 和網絡的許多傳輸編解碼器。您可能已經將其視為 YV12。
4:1:1 由 NTSC DV25 格式(如 DV)使用。如果您使用隔行視頻進行捕捉,這是一種很好的格式。