4:2:2, 4:2:0 – o co chodzi?

2018-01-09T19:21:46+02:00 1 marca, 2012|Kategorie: Porady|Tagi: , , , , , |4 komentarze

Jaka jest różnica między 4:4:4, 4:2:2 i 4:2:0? Co oznaczają te liczby?

Oznaczenia te dotyczą podpróbkowania kolorów (chroma subsampling). Temat ten wielokrotnie pojawia się w Internecie, często jednak jest tłumaczony w dość skomplikowany sposób. Pojawiają się też mylne definicje tego pojęcia, ponieważ przez lata mieliśmy do czynienia z dwoma systemami opisu podpróbkowania kolorów. Są one zapisywane w taki sam sposób (np. 4:2:0), lecz oznaczają coś innego.

Postaramy się w prosty sposób opisać obecny, powszechnie stosowany system.

Luminancja i chrominancja

Zacznijmy od początku. Rejestrowany przez kamerę wideo obraz składa się z pikseli. Piksele mają różnego rodzaju cechy – jedna z nich nosi nazwę “luminancji”, która określa, jak jasny ma być punkt. Inna z cech to “chrominancja”, która w uproszczeniu określa kolor piksela. Jeśli z obrazu usuniemy informacje dotyczącego jego chrominancji, otrzymamy czarno-biały materiał. Jeśli usuniemy dane dotyczące luminancji – obraz zniknie.

Aby obraz miał w dobrą jakość, każdy z pikseli musi przechowywać informacje o swojej luminancji. Jednak kilka dekad temu łebscy inżynierowie odkryli, że nie każdy z pikseli musi posiadać informacje o swojej chrominancji (oko ludzkie nie jest na tyle czułe i można je w ten sposób oszukać).

Aby zmniejszyć ilość rejestrowanych danych i zredukować rozmiary zapisywanego materiału, piksele obrazu muszą zawierać informacje o luminancji (każdy ma znać swoją wartość), ale nie muszą mieć aż tak dokładnych informacji jeśli chodzi o kolor (chrominancję) – można go w pewien sposób „uśredniać”. Dzięki tej metodzie można uzyskać, dzięki ułomności naszego wzroku, w miarę dobry obraz.

J:a:b

Oficjalny zapis współczynnika podpróbkowania koloru wygląda następująco:

jab

Pierwszy z parametrów, J, informuje z iloma pikselami będziemy mieli do czynienia – jaka jest szerokość bloku referencyjnego (w pikselach), który jest próbkowany . Czasami blok ten ma długość ośmiu lub dwóch pikseli, jednak najczęściej mamy do czynienia z czterema.

jab

Drugi z parametrów podaje ile pikseli w górnym rzędzie obszaru próbkowania otrzyma próbki chrominancji.

jab

Zaś trzeci z parametrów informuje ile pikseli w drugim rzędzie obszaru próbkowania otrzyma próbki chrominancji.

jab

W powyższym przykładzie (4:4:4), każdy z pikseli obszaru próbkowania otrzymał swoje próbki chrominancji (nie ma podpróbkowania, obraz jest idealny, ale z drugiej strony nieskompresowany). Taki obraz zapisywany jest przez high-endowe kamery, jak Panavision Genesis czy Sony F35.

jab

W przypadku próbkowania 4:2:2 w dalszym ciągu mamy do czynienia z blokiem o szerokości 4 pikseli, jednakże teraz próbkami chrominancji muszą dzielić się po dwa piksele w pierwszym rzędzie obszaru próbkowania (tak naprawdę, wartość ta jest uśredniana). Podobnie jest w przypadku drugiego rzędu obszaru. Podczas takiego próbkowania tracimy część informacji o kolorze, mimo tego obraz w dalszym ciągu jest bardzo dobrej jakości. Tego typu podpróbkowanie wykorzystywane jest chociażby w kamerach Panasonica DVCPRO HD.

jab

Innym ze standardów podpróbkowania jest 4:2:0. Tutaj również w pierwszym wierszu o długości 4 pikseli próbkami chrominancji muszą dzielić się po dwa piksele. Wierszowi “b” przypisana jest jednak wartość “0”, co oznacza, że nie otrzymuje on nowych informacji o chrominancji, a jedynie “przepisywane” są one z wiersza powyżej. Tutaj traci się naprawdę wiele informacji – z tego typu podpróbkowania koloru korzystają standardy DV, HDV czy Apple Intermediate Codec.

jab

Na tym przykładzie dokładnie widać, dlaczego mocne podpróbkowanie kolorów ma wpływ na pojawianie się blokowych artefaktów obrazu. W tym przypadku mamy do czynienia z grupą pikseli, które współdzielą ze sobą część danych (są zmuszane do “posiadania” tego samego koloru w celu zaoszczędzenia miejsca w strumieniu wideo).

Podpróbkowanie koloru 4:2:0 staje się wyzwaniem, gdy nakładamy na obraz klucz koloru (chroma key). Jeśli punkty współdzielą dane chrominancji, dużo trudniej jest pozbyć się konkretnego koloru z drobnych szczegółów (np. tła za bujną czupryną, czy też dymem). Dlatego też często po zastosowaniu kluczowania w przypadku podpróbkowania 4:2:0 widoczne są ostre, poszarpane krawędzie.

jab

Mamy nadzieję, że materiał ten był pomocny i wyjaśnił podstawowe wątpliwości dotyczące podpróbkowania koloru.

4 komentarze

  1. mr Q 3 listopada 2012 w 17:42 - Odpowiedz

    B.Fajny artykuł!

  2. CW 6 stycznia 2013 w 20:32 - Odpowiedz

    Akurat na zaliczenie przygotowywałem algorytm do subsamplingu i artykuł ułatwił zrozumienie tematu, dziękuję bardzo 🙂

  3. Paweł 2 lutego 2013 w 15:33 - Odpowiedz

    Dzięki!! egzamin zaliczony dzięki temu artykułowi!;)

  4. loki 27 czerwca 2015 w 18:31 - Odpowiedz

    Bardzo pomocny artykuł

Zostaw komentarz