Podpróbkowanie chromatyczne — Chroma subsampling

Chroma subsampling jest praktyka kodowania obrazów poprzez wdrożenie mniejszą rozdzielczość dla chroma informacji niż dla luma informacji, wykorzystując ludzkiego układu wzrokowego dolnej ostrości różnic kolorystycznych niż dla luminancji.

Jest używany w wielu schematach kodowania wideo – zarówno analogowych, jak i cyfrowych – a także w kodowaniu JPEG .

Racjonalne uzasadnienie

Image
W pełnym rozmiarze ten obraz pokazuje różnicę między czterema schematami podpróbkowania. Zwróć uwagę, jak podobne są kolorowe obrazy. Dolny rząd pokazuje rozdzielczość informacji o kolorze.

Sygnały cyfrowe są często kompresowane w celu zmniejszenia rozmiaru pliku i skrócenia czasu transmisji. Ponieważ ludzki system wzrokowy jest znacznie bardziej wrażliwy na zmiany jasności niż koloru, system wideo można zoptymalizować przez poświęcenie większej szerokości pasma składowej luminancji (zwykle oznaczanej jako Y'), niż składowym Cb i Cr różnicy barw. Na przykład w skompresowanych obrazach schemat 4:2:2 Y'CbCr wymaga dwóch trzecich szerokości pasma niepodpróbkowanego „4:4:4” R'G'B' . Ta redukcja powoduje prawie zerową różnicę wizualną postrzeganą przez widza.

Jak działa podpróbkowanie

Przy normalnych odległościach oglądania nie ma zauważalnych strat związanych z próbkowaniem szczegółów koloru z mniejszą częstotliwością, tj. z niższą rozdzielczością. W systemach wideo osiąga się to dzięki zastosowaniu komponentów różnicy kolorów. Sygnał jest podzielony na składową luma (Y') i dwie składowe różnicy kolorów ( chroma ). W celu uzyskania wartości chrominancji o zmniejszonej rozdzielczości można użyć różnych metod filtrowania .

Luma (Y') różni się od luminancji (Y) obecnością korekcji gamma w jej obliczeniach, stąd dodany tutaj symbol liczby pierwszej. Sygnał z korekcją gamma ma tę zaletę, że naśladuje logarytmiczną czułość ludzkiego wzroku, przy czym więcej poziomów jest przeznaczonych dla ciemniejszych poziomów niż jaśniejszych. W efekcie jest on wszechobecny w źródle sygnału trójbodźcowego , wejściu R'G'B'. Przykładami takich przestrzeni kolorówsRGB , TV Rec. 601 , Rec. 709 i Rec. 2020 ; koncepcja jest również uogólniona na funkcje przenoszenia optycznego w Rec. 2020 .

Systemy i proporcje próbkowania

Schemat podpróbkowania jest zwykle wyrażany jako trzyczęściowy stosunek J : a : b (np. 4:2:2) lub cztery części, jeśli obecny jest kanał alfa (np. 4:2:2:4), które opisują liczbę próbki luminancji i chrominancji w obszarze koncepcyjnym o szerokości J pikseli i wysokości 2 pikseli. Części są (w odpowiedniej kolejności):

  • J : poziome odniesienie do próbkowania (szerokość obszaru pojęciowego). Zwykle 4.
  • a : liczba próbek chrominancji (Cr, Cb) w pierwszym rzędzie J pikseli.
  • b : liczba zmian próbek chrominancji (Cr, Cb) między pierwszym a drugim rzędem J pikseli. Zauważ, że b musi być równe zero lub równe a (z wyjątkiem rzadkich, nieregularnych przypadków, takich jak 4:4:1 i 4:2:1, które nie są zgodne z tą konwencją).
  • Alpha : współczynnik poziomy (w stosunku do pierwszej cyfry). Można pominąć, jeśli składnik alfa nie jest obecny i jest równy J, gdy jest obecny.

Ta notacja nie jest prawidłowa dla wszystkich kombinacji i ma wyjątki, np. 4:1:0 (gdzie wysokość obszaru to nie 2 piksele, ale 4 piksele, więc jeśli zostanie użytych 8 bitów na komponent, media będą miały 9 bitów na piksel) i 4:2:1.


4:1:1 4:2:0 4:2:2 4:4:4 4:4:0
Y'CrCb  
 
= = = = =
T  
 
+ + + + +
1 2 3 4  J = 4 1 2 3 4  J = 4 1 2 3 4  J = 4 1 2 3 4  J = 4 1 2 3 4  J = 4
(Cr, Cb) 1 a = 1 1 2 a = 2 1 2 a = 2 1 2 3 4 a = 4 1 2 3 4 a = 4
1 b = 1 b = 0 1 2 b = 2 1 2 3 4 b = 4 b = 0
¼ rozdzielczość pozioma,
pełna rozdzielczość pionowa
½ rozdzielczości poziomej,
½ rozdzielczości pionowej
½ rozdzielczość pozioma,
pełna rozdzielczość pionowa
pełna rozdzielczość pozioma,
pełna rozdzielczość pionowa
pełna rozdzielczość pozioma,
½ rozdzielczość pionowa

Podane przykłady mapowania są jedynie teoretyczne i ilustracyjne. Zwróć też uwagę, że diagram nie wskazuje żadnego filtrowania chrominancji, które należy zastosować, aby uniknąć aliasingu .

Aby obliczyć wymagany współczynnik przepustowości w stosunku do 4:4:4 (lub 4:4:4:4), należy zsumować wszystkie współczynniki i podzielić wynik przez 12 (lub 16, jeśli występuje alfa).

Rodzaje próbkowania i podpróbkowania

4:4:4

Każdy z trzech składników Y'CbCr ma tę samą częstotliwość próbkowania, dlatego nie ma podpróbkowania chrominancji. Ten schemat jest czasami używany w wysokiej klasy skanerach do filmów i postprodukcji kinowej.

Zauważ, że "4:4:4" może zamiast tego błędnie odnosić się do przestrzeni kolorów R'G'B' , która domyślnie również nie ma żadnego podpróbkowania chrominancji (z wyjątkiem JPEG, że R'G'B' może być podpróbkowane). Formaty takie jak HDCAM SR mogą nagrywać 4:4:4 R'G'B' przez dual-link HD-SDI .

4:2:2

Dwie składowe chrominancji są próbkowane z połową poziomej częstotliwości próbkowania lumy: rozdzielczość poziomej chrominancji jest zmniejszona o połowę. Zmniejsza to szerokość pasma nieskompresowanego sygnału wideo o jedną trzecią.

Wiele zaawansowanych cyfrowych formatów wideo i interfejsów korzysta z tego schematu:

4:2:1

Ten tryb próbkowania nie daje się wyrazić w notacji J:a:b. „4:2:1” to przestarzały termin z poprzedniego schematu notacji i bardzo niewiele kodeków programowych lub sprzętowych go używa. Rozdzielczość pozioma Cb jest o połowę mniejsza niż Cr (i jedna czwarta rozdzielczości poziomej Y ).

4:1:1

W przypadku podpróbkowania chrominancji 4:1:1 rozdzielczość kolorów w poziomie jest ćwiartowana, a przepustowość jest o połowę mniejsza w porównaniu z brakiem podpróbkowania chrominancji. Początkowo podpróbkowanie kolorów 4:1:1 w formacie DV nie było uważane za jakość emisyjną i było akceptowalne tylko dla aplikacji low-end i konsumenckich. Jednak formaty oparte na DV (niektóre z nich wykorzystują podpróbkowanie 4:1:1 chroma) były profesjonalnie używane w elektronicznym zbieraniu wiadomości i na serwerach odtwarzania. DV jest również sporadycznie wykorzystywany w filmach fabularnych oraz w kinematografii cyfrowej .

W systemie NTSC, jeśli luma jest próbkowana z częstotliwością 13,5 MHz, oznacza to, że sygnały Cr i Cb będą próbkowane z częstotliwością 3,375 MHz, co odpowiada maksymalnej szerokości pasma Nyquista wynoszącej 1,6875 MHz, podczas gdy tradycyjne „wysokiej klasy transmisja analogowa Koder NTSC” miałby szerokość pasma Nyquista 1,5 MHz i 0,5 MHz dla kanałów I/Q. Jednak w większości urządzeń, zwłaszcza tanich telewizorach i magnetowidach VHS/Betamax, kanały chroma mają szerokość pasma tylko 0,5 MHz zarówno dla Cr, jak i Cb (lub równoważnie dla I/Q). Tak więc system DV faktycznie zapewnia lepszą przepustowość kolorów w porównaniu z najlepszymi kompozytowymi specyfikacjami analogowymi dla NTSC, mimo że ma tylko 1/4 szerokości pasma chromatycznego „pełnego” sygnału cyfrowego.

Formaty korzystające z podpróbkowania kolorów 4:1:1 obejmują:

4:2:0

W 4:2:0 próbkowanie poziome jest podwojone w porównaniu do 4:1:1, ale ponieważ kanały Cb i Cr są próbkowane tylko na każdej linii naprzemiennej w tym schemacie, rozdzielczość pionowa jest zmniejszona o połowę. Szybkość transmisji danych jest więc taka sama. To dość dobrze pasuje do systemu kodowania kolorów PAL , ponieważ ma on tylko połowę pionowej rozdzielczości chrominancji NTSC . Bardzo dobrze pasowałby również do systemu kodowania kolorów SECAM , ponieważ w tym formacie 4:2:0 przechowuje i przesyła tylko jeden kanał koloru na linię (drugi kanał jest odzyskiwany z poprzedniej linii). Jednak w rzeczywistości wyprodukowano niewiele urządzeń, które wyprowadzają analogowy sygnał wideo SECAM. Ogólnie rzecz biorąc, terytoria SECAM muszą albo używać wyświetlacza obsługującego PAL, albo transkodera, aby przekonwertować sygnał PAL na SECAM w celu wyświetlenia.

Różne warianty konfiguracji barw 4:2:0 można znaleźć w:

Każda z Cb i Cr jest podpróbkowana ze współczynnikiem 2 zarówno w poziomie, jak iw pionie.

Istnieją trzy warianty schematów 4:2:0, różniące się rozmieszczeniem poziomym i pionowym.

  • W MPEG-2, MPEG-4 i AVC Cb i Cr są połączone w poziomie. Cb i Cr są umieszczone między pikselami w kierunku pionowym (umieszczone międzywęzłowo).
  • W JPEG/JFIF, H.261 i MPEG-1, Cb i Cr są umieszczone śródmiąższowo, w połowie drogi między alternatywnymi próbkami luma.
  • W 4:2:0 DV, Cb i Cr są współlokowane w kierunku poziomym. W kierunku pionowym są one współlokowane na naprzemiennych liniach. To jest również używane w HEVC w treściach BT.2020 i BT.2100 (w szczególności na Blu-ray). Nazywany również lewym górnym.

Większość cyfrowych formatów wideo odpowiadających PAL wykorzystuje podpróbkowanie barwy 4:2:0, z wyjątkiem DVCPRO25, który wykorzystuje podpróbkowanie barwy 4:1:1. Oba schematy 4:1:1 i 4:2:0 zmniejszają o połowę przepustowość w porównaniu z brakiem podpróbkowania chrominancji.

W przypadku materiału z przeplotem podpróbkowanie kolorów 4:2:0 może skutkować artefaktami ruchu, jeśli jest zaimplementowane w taki sam sposób, jak w przypadku materiału progresywnego. Próbki luminancji pochodzą z oddzielnych przedziałów czasowych, podczas gdy próbki barwy pochodzą z obu przedziałów czasowych. To właśnie ta różnica może powodować artefakty ruchu. Standard MPEG-2 pozwala na alternatywny schemat próbkowania z przeplotem, w którym 4:2:0 jest stosowane do każdego pola (nie do obu jednocześnie). Rozwiązuje to problem artefaktów ruchu, zmniejsza o połowę pionową rozdzielczość chrominancji i może wprowadzać do obrazu artefakty przypominające grzebienie.

444-oryginalny-single-field.png
Oryginał. Ten obraz przedstawia jedno pole. Ruchomy tekst ma pewne rozmycie ruchu.

420-progressive-single-field.png
Progresywne próbkowanie 4:2:0 stosowane do poruszającego się materiału z przeplotem . Zauważ, że Barwa prowadzi i podąża za poruszającym się tekstem. Ten obraz przedstawia jedno pole.

420-interlaced-single-field.png
Próbkowanie z przeplotem 4:2:0 zastosowane do poruszającego się materiału z przeplotem . Ten obraz przedstawia jedno pole.

Jednak w schemacie z przeplotem 4:2:0 pionowa rozdzielczość chrominancji jest z grubsza o połowę zmniejszona, ponieważ próbki chrominancji efektywnie opisują obszar o szerokości 2 próbek i wysokości 4 próbek zamiast 2×2. Również przestrzenne przemieszczenie między obydwoma polami może skutkować pojawieniem się przypominających grzebień artefaktów chromatycznych.

420-oryginalny444.png
Oryginalny nieruchomy obraz.

420-progressive-still.png
Progresywne próbkowanie 4:2:0 zastosowane do nieruchomego obrazu. Wyświetlane są oba pola.

420-z przeplotem.png
Próbkowanie z przeplotem 4:2:0 zastosowane do nieruchomego obrazu. Wyświetlane są oba pola.

Jeśli materiał z przeplotem ma zostać usunięty, artefakty chromatyczne podobne do grzebienia (z próbkowania z przeplotem 4:2:0) można usunąć poprzez pionowe rozmycie nasycenia.

4:1:0

Ten współczynnik jest możliwy i niektóre kodeki go obsługują, ale nie jest on powszechnie stosowany. Ten współczynnik wykorzystuje połowę rozdzielczości pionowej i jedną czwartą rozdzielczości kolorów poziomych, przy zaledwie jednej ósmej szerokości pasma maksymalnych używanych rozdzielczości kolorów. Nieskompresowane wideo w tym formacie z 8-bitową kwantyzacją wykorzystuje 10 bajtów na każdy makropiksel (czyli 4×2 piksele). Ma równoważną szerokość pasma chrominancji sygnału PAL I dekodowanego za pomocą dekodera linii opóźniającej i nadal znacznie przewyższa NTSC.

  • Niektóre kodeki wideo mogą opcjonalnie działać z prędkością 4:1:0,5 lub 4:1:0,25, aby zapewnić jakość zbliżoną do VHS.

3:1:1

Używany przez Sony w nagrywarkach HDCAM High Definition (nie HDCAM SR). W wymiarze poziomym luma jest próbkowana poziomo z trzema czwartymi częstotliwości próbkowania Full HD – 1440 próbek w rzędzie zamiast 1920. Chroma jest próbkowana z 480 próbkami w rzędzie, co stanowi jedną trzecią częstotliwości próbkowania lumy.

W wymiarze pionowym zarówno luma, jak i chroma są próbkowane z pełną częstotliwością próbkowania HD (1080 próbek w pionie).

Artefakty

Image
Oryginalny obraz bez podpróbkowania kolorów. Powiększenie 200%.
Image
Obraz po podpróbkowaniu kolorów (kodek Sony Vegas DV, filtrowanie pudełkowe).
Zwróć uwagę na lekkość krwawienia w pobliżu granic.

Podpróbkowanie Chroma cierpi z powodu dwóch głównych typów artefaktów, powodujących degradację bardziej zauważalną niż zamierzono, gdy kolory zmieniają się nagle.

Błąd gamma

Sygnały z korekcją gamma, takie jak Y'CbCr, mają problem, w którym błędy chrominancji „rozlewają się” w luma. W tych sygnałach niskie nasycenie barw sprawia, że ​​kolor wydaje się mniej jasny niż ten o równoważnej jasności. W rezultacie, gdy kolor nasycony miesza się z kolorem nienasyconym lub uzupełniającym, na granicy występuje utrata luminancji. Widać to na przykładzie pomiędzy magenta i zielonym. Aby uzyskać zestaw wartości podpróbkowanych, który bardziej przypomina oryginał, konieczne jest cofnięcie korekcji gamma, wykonanie obliczeń, a następnie cofnięcie się do przestrzeni z korekcją gamma. Możliwe są również bardziej wydajne aproksymacje, na przykład ze średnią ważoną luminancją lub iteracyjnie z tabelami przeglądowymi w WebP i funkcją „Sharp YUV” sjpeg.

Kolory spoza gamy

Innym artefaktem, który może wystąpić podczas podpróbkowania chrominancji, jest to, że podczas rekonstrukcji chromatycznej mogą wystąpić kolory spoza przestrzeni . Załóżmy, że obraz składał się z naprzemiennych 1-pikselowych czerwonych i czarnych linii, a podpróbkowanie pominęło kolor czarnych pikseli. Chroma z czerwonych pikseli zostanie zrekonstruowana na czarne piksele, powodując, że nowe piksele będą miały dodatnie czerwone i ujemne wartości zielone i niebieskie. Ponieważ wyświetlacze nie mogą emitować światła ujemnego (światło ujemne nie istnieje), te ujemne wartości zostaną skutecznie przycięte, a wynikowa wartość luma będzie zbyt wysoka. Podobne artefakty powstają w mniej sztucznym przykładzie gradacji w pobliżu dość ostrej granicy czerwono-czarnej.

Inne rodzaje filtrowania podczas podpróbkowania również mogą powodować, że kolory wyjdą z gamutu.

Terminologia

Termin Y'UV odnosi się do schematu kodowania telewizji analogowej (ITU-R Rec. BT.470), podczas gdy Y'CbCr odnosi się do schematu kodowania cyfrowego. Jedną z różnic między nimi jest to, że współczynniki skali na składnikach chrominancji (U, V, Cb i Cr) są różne. Jednak termin YUV jest często błędnie używany w odniesieniu do kodowania Y'CbCr. Stąd wyrażenia takie jak „4:2:2 YUV” zawsze odnoszą się do 4:2:2 Y'CbCr, ponieważ po prostu nie ma czegoś takiego jak 4:x:x w kodowaniu analogowym (takim jak YUV). Formaty pikseli używane w Y'CbCr również mogą być określane jako YUV, na przykład yuv420p, yuvj420p i wiele innych.

W podobnym duchu termin luminancja i symbol Y są często błędnie używane w odniesieniu do luminancji, która jest oznaczona symbolem Y'. Należy zauważyć, że jasność (Y') inżynierii wideo odbiega od luminancji (Y) nauki o kolorze (zdefiniowanej przez CIE ). Luma jest tworzona jako ważona suma składowych RGB z korekcją gamma (trójbodźca). Luminancja powstaje jako ważona suma liniowych (trójbodźcowych) składowych RGB.

W praktyce symbol CIE Y jest często błędnie używany do oznaczenia luma. W 1993 roku SMPTE przyjęła Wytyczne Inżynierskie EG 28, wyjaśniające te dwa terminy. Zauważ, że pierwszy symbol ' jest używany do wskazania korekcji gamma.

Podobnie barwa w inżynierii wideo różni się od chrominancji nauki o kolorze. Barwa w inżynierii wideo jest tworzona z ważonych składowych trójbodźcowych (z korekcją gamma, OETF), a nie składowych liniowych. W praktyce inżynierii wideo terminy chroma , chrominance i saturation są często używane zamiennie w odniesieniu do chrominance, ale nie jest to dobra praktyka, jak mówi ITU-T Rec H.273.

Historia

Podpróbkowanie Chroma zostało opracowane w latach pięćdziesiątych przez Aldę Bedford w celu opracowania telewizji kolorowej przez RCA , która rozwinęła się w standard NTSC ; Separacja luma-chroma została opracowana wcześniej, w 1938 roku przez Georgesa Valensiego . Poprzez badania wykazał, że ludzkie oko ma wysoką rozdzielczość tylko dla czerni i bieli, nieco mniej dla kolorów „średniego zakresu”, takich jak żółcienie i zielenie, a znacznie mniej dla kolorów z końca spektrum, czerwieni i błękitów. Wykorzystanie tej wiedzy pozwoliło RCA opracować system, w którym odrzucali większość niebieskiego sygnału po tym, jak pochodzi z kamery, zachowując większość zielonego i tylko część czerwonego; jest to podpróbkowanie chrominancji w przestrzeni kolorów YIQ i jest z grubsza analogiczne do podpróbkowania 4:2:1, ponieważ ma zmniejszającą się rozdzielczość dla luma, żółty/zielony i czerwony/niebieski.

Zobacz też

Bibliografia

Linki zewnętrzne