Poradniki

H.265, 4:2:0, 10-bit i inne dziwne akronimy – filmowe kodeki bez tajemnic

Amadeusz Andrzejewski / 28.10.2023

W przypadku fotografii jeszcze do niedawna mieliśmy w zasadzie dwie opcje zapisu plików – RAW oraz JPEG. Niedawno do listy tej dołączyły też pliki HEIF, ale nadal połapanie się w tym, który z formatów jest, do czego nie sprawia większych trudności nawet w miarę początkującym fotografom. Tymczasem w przypadku filmowania sprawa jest dużo bardziej skomplikowana i obejmuje takie pojęcia jak: kontener, kodek, próbkowanie koloru, głębia bitowa czy kompresja międzyklatkowa. Wszystkie je wyjaśnimy poniżej.

Filmy, które zapisuje większość filmujących aparatów fotograficznych oraz tańszych kamer w swojej istocie przypominają zdjęcia w formacie JPEG. Są dość mocno skompresowane i często na etapie postprodukcji pozwalają jedynie na ograniczoną ingerencję w obraz jeśli chodzi o takie parametry jak ekspozycja czy balans bieli.

Dlaczego tak jest? Powód jest prozaiczny – zapis filmu w formacie RAW wiąże się z ogromnymi ilościami danych. Możemy to zaprezentować na prostym wyliczeniu dla pliku 4K UHD (3840 × 2160) w 25 kl./s nagranego w surowym formacie z 12-bitową głębią. Przy tej rozdzielczości jedna klatka zawiera ok. 8,3 mln pikseli, więc przy 12-bitowym zapisie koloru ma objętość ok. 12,44 megabajta. Sekunda takiego materiału zajmie ok. 311 MB, minuta 18,66 gigabajta. Godzina takiego nagrywania to ponad terabajt danych. Tymczasem godzina materiału nagranego w typowym H.264 to około 50 GB, czyli ponad dwudziestokrotnie mniej. Oczywiście filmy w formacie RAW także mogą być skompresowane, jednak ze względu na problemy patentowe nie jest to tak popularne rozwiązanie, jak ma to miejsce w przypadku fotografii.

Jak zatem pozbyć się 95% objętości pliku, tak, żeby film nadal dało się oglądać? Jest to realizowane w kilku etapach. Gdy procesor w aparacie czy kamerze zamieni surowe dane z matrycy na przypisane do każdego piksela informacje o jego jasności i kolorze, część tych informacji o kolorze jest… po prostu usuwana. Wynika to z faktu, że ludzkie oko jest dużo bardziej wrażliwe na szczegóły lub ich brak w zakresie jasności obrazu, niż koloru.

O tym, ile informacji o kolorze usunięto, informuje nas ciąg trzech cyfr oddzielonych dwukropkami, typowe wartości to 4:4:4, 4:2:2 oraz 4:2:0. Pierwsza z tych cyfr mówi nam o tym, ile pikseli na każde cztery zachowuje informacje o jasności. Ponieważ informacji o jasności nie chcemy usuwać, pierwsza cyfra praktycznie zawsze jest czwórką. Druga i trzecia cyfra mówią nam o tym, ile pikseli na każde cztery ma informacje o kolorze, odpowiednio w parzystych i nieparzystych rzędach. W przypadku 4:2:2 informacje o kolorze posiada co drugi piksel zarówno w rzędach parzystych, jak i nieparzystych. Z kolei przy 4:2:0 co drugi rząd pikseli w ogóle nie posiada informacji o kolorze, a w co drugim informację tę posiada co drugi piksel. Pozwala to zmniejszyć objętość pliku o połowę w stosunku do zapisu 4:4:4, a wizualnie różnice między jednym a drugim są trudne do wyłapania. Objawiają się zazwyczaj dopiero wówczas, gdy próbujemy realizować zaawansowaną korekcję barwną albo usunąć z obrazu zielone tło.

Prosta obrazowa demonstracja usuwania części informacji o kolorze z obrazka 4×2 piksele. Źródło: Wikimedia Commons

 

Po lewej — składowa jasności obrazu, w środku — tylko kolor. Łatwo samodzielnie ocenić, gdzie nasze oko lepiej rozróżnia szczegóły. Źródło: Wikimedia Commons

 

Drugim aspektem usuwania nadmiaru danych jest ograniczenie głębi bitowej zapisu. Matryce w aparatach i kamerach odczytują dane z precyzją 12-, 14- lub nawet 16-bitową. Oznacza to odpowiednio 4096, 16384 lub nawet 65536 poziomów sygnału, jakie mogą zostać odczytane. Tymczasem zapis z użyciem typowych kodeków odbywa się z głębią 8- lub 10-bitową, czyli z wykorzystaniem jedynie 256 lub 1024 poziomów. To nadal wystarczająco dużo, żeby na ekranie nie było widać posteryzacji, ale ta dość szybko się pojawi, jeśli zaczniemy ujęcia rozjaśniać, przyciemniać, lub mocniej ingerować w kolorystykę. Ale rozwiązanie to znowu pozwala oszczędzić nieco miejsca.

Porównanie 8- i 10-bitowego zapisu koloru przy mocnym przyciemnieniu kadru. 10-bitowy kodek lepiej zachował szczegóły nieba i nie wprowadził posteryzacji.

 

Gdy klip filmowy jest już przycięty do 4:2:0 / 8-bit, 4:2:2 / 10-bit lub czegoś podobnego, możemy zacząć właściwą kompresję obrazu. Zanim jednak przejdziemy dalej, wyjaśnijmy dwa pojęcia, które się z tym procesem wiążą, czyli słowa „kontener” oraz „kodek”. Kodek określa sposób kompresji sygnału. Kodekiem dla filmu może być H.264, H.265, DNxHR, ProRes, QuickTime, Windows Media Video, VP9 czy też wiele innych, podobnie jak kodekiem dla dźwięku jest Windows Media Audio, FLAC czy AAC. Z kolei kontener wiąże się z rozszerzeniem pliku (np. MOV, MP4, MXF) i jest jedynie „pudełkiem”, do którego wkładany skompresowany jakimś kodekiem obraz, skompresowany innym kodekiem dźwięk oraz informacje dodatkowe, takie jak kod czasowy czy metadane. A zatem stwierdzenie „proszę przygotować plik w formacie MOV” tak naprawdę nic nie mówi o kodeku, bo pliki z tym rozszerzeniem (czyli w kontenerze MOV) mogą być zarówno bezkompresyjne, jak i skompresowane jednym z dziesiątków kodeków, jakie ten kontener obsługuje. Znajomość obu pojęć pomaga zatem precyzyjniej się komunikować.

Po tym krótkim przerywniku możemy wrócić do kodeków. Historycznie kompresowanie filmów po odpowiednim przycięciu ich informacji o kolorze i głębi bitowej nie różniło się specjalnie od kompresji zdjęć. W starszych lustrzankach Canona do dziś znajdziemy kodek Motion JPEG, który po prostu traktuje każdą klatkę filmu jak zdjęcie JPEG, po czym całość zamyka w jednym dużym kontenerze, tak żeby dane ujęcie było jednym plikiem, a nie zbiorem setek czy tysięcy klatek.

Sam JPEG działa przy tym następująco – dzieli obszar obrazu na kwadraty 8 × 8 piksel i każdy z nich przekształca transformatą kosinusową, a następnie obcina część informacji. W szczegóły działania rzeczonej transformaty nie będziemy tu wchodzić, zapamiętać tak naprawdę należy z tego dwie rzeczy. Pierwsza to podział klatki na elementy 8 × 8 pikseli, a druga to fakt, że każda klatka traktowana jest w przypadku Motion JPEG jako osobne zdjęcie i osobno kompresowana.

Kodeki, które każdą klatkę zapisują osobno, nazywa się kodekami typu „All-Intra” (spotykane są też nazwy „All-I” albo „I-frame”). Ich przeciwieństwem są kodeki „Long GOP” znane też jako „IPB”. Te ostatnie nie traktują każdej klatki jako osobnego zdjęcia – zamiast tego porównują ileś sąsiednich klatek między sobą i jeśli jakiś element kadru (np. regał z książkami za mówiącą do kamery osobą) nie zmienia się z klatki na klatkę, to jest on kopiowany z sąsiednich klatek. Pozwala to na znaczące zmniejszenie rozmiaru pliku bez widocznej straty jakości. Ceną za to jest jednak złożoność obliczeniowa – żeby wyświetlić daną klatkę obrazu, komputer, na którym oglądamy film, musi też zdekodować kilka sąsiednich, z których mogą być „pożyczone” poszczególne elementy.

Przykład jak kodek typu IPB potrafi nie tylko skopiować kulki pomiędzy poszczególnymi klatkami, ale też odpowiednio je przesunąć i przewidzieć, w którym momencie w kadr powinna wejść kolejna. Źródło: Wikimedia Commons

 

Większość porządnych aparatów czy kamer oferuje zarówno kodeki typu „All-Intra” jak i „Long GOP”, więc każdy użytkownik może sam wybrać, czy woli większe pliki, które będą mniej obciążające dla komputera, czy też pliki mniejsze, ale wymagające większej mocy obliczeniowej do obróbki.

Drugim elementem, oprócz porównywania sąsiednich klatek, który rozwinął się od czasu kodeków takich jak Motion JPEG jest podział samej pojedynczej klatki na obszary, które będą potem kompresowane. W nowszych kodekach, takich jak H.264 czy H.265, obraz nie jest już dzielony na obszary o stałej wielkości 8 × 8 pikseli. Zamiast tego wielkość tych obszarów jest dopasowywana do zawartości kadru. Jeśli część kadru zajmuje pozbawiona szczegółów biała ściana, to obszar ten można wydzielić jako większy kwadrat lub prostokąt i skompresować mocniej. Z kolei na przykład ruszające się mocno twarze ludzi powinny być potraktowane z większą subtelnością jeśli chodzi o kompresję.

Wszystkie tego typu rozwinięcia mają oczywistą zaletę w postaci wydajniejszej kompresji, a co za tym idzie, oferowania filmów o dobrej jakości wizualnej przy jednoczesnym zmniejszeniu ich rozmiaru. Ich wadą jest z kolei stale rosnąca złożoność obliczeniowa, przez co potrzebujemy coraz mocniejszych procesorów i kart graficznych, by pliki zapisane z użyciem nowoczesnych kodeków odtwarzać i obrabiać.

Na szczęście kodeków i aparatów czy kamer w nie wyposażonych jest na rynku na tyle dużo, że każdy powinien być w stanie znaleźć coś dla siebie, od filmującego w prawdziwych skompresowanych RAW-ach Nikona Z9 i Z8 oraz kamer Blackmagic Design korzystających z przypominającego RAW-y formatu BRAW, przez piszące w oferującym duże pliki, ale niewielką złożoność obliczeniową ProResie aparaty takie jak Panasonic Lumix GH6 czy Fujifilm X-H2S, aż po oferujące najnowsze odmiany H.264 i H.265 urządzenia Sony i Canona.

Nikon Z8

Nikon Z8

Jeden z nielicznych aparatów filmujący w szerokim zakresie rozdzielczości i klatkaży w skompresowanym surowym formacie N-RAW.

Sprawdź cenę
Fotoforma
Blackmagic Pocket Cinema Camera 6K G2

Blackmagic Pocket Cinema Camera 6K G2

Zapisująca w zbliżonym do surowego formacie BRAW kamera Blackmagic Design

Sprawdź cenę
Fotoforma
Panasonic Lumix GH6

Panasonic Lumix GH6

Aparat, który poza imponującą listą rozdzielczości i klatkaży nagrywania oferuje także zapis z wykorzystaniem mało obciążającego komputer kodeka Apple ProRes.

Sprawdź cenę
Fotoforma

Amadeusz Andrzejewski

Na co dzień redaktor w portalu Optyczne.pl, gdzie regularnie testuje najnowszy sprzęt filmowy. Oprócz tego zawodowo filmuje i prowadzi szkolenia z filmowania, a po godzinach zajmuje się fotografią i kinem niezależnym. Absolwent Montażu Filmowego na PWSFTviT oraz Inżynierii Dźwięku i Obrazu na Politechnice Gdańskiej.

Więcej w kategorii: Poradniki

Poradniki

Zróbmy trochę dymu! Sesja, poradnik i test dymiarki SmokeGENIE

Poradniki

Złota i niebieska godzina w fotografii. Czy to najlepszy czas na zdjęcia?

Poradniki

Zasilanie przy filmowaniu. Jak się za to zabrać?

Rzetelne testy naszych specjalistów

Testy

3 Legged Thing Punks 2.0 – sprawdzamy nowe zbuntowane statywy

Poradniki

3 powody, dlaczego warto wybrać karty pamięci Angelbird

Testy

4 powody, dla których Fujifilm X-T4 to mistrz uniwersalności

Zapisz się do newslettera
i bądź na bieżąco

Zapisz się do newslettera