Skip navigation.
Home
Jestem wesoły Romek (?) ...

Standardy kompresji

Multimedia

Obraz prezentowany na ekranie telewizora składa się z pewnej ilości półobrazów. Każde dwa półobrazy tworzą jeden cały obraz. Jest to realizowane na zasadzie wyświetlania co drugiej linii w każdym z półobrazów. Parametrami obrazu jest liczba wyświetlanych linii oraz liczba punktów w każdej z nich. Poniżej prezentujemy charakterystykę istniejących standardów i formatów.

 

 

PAL

VHS

DV

MPEG1
(VCD)

MPEG2
(SVCD)

MPEG2
(DVD)

MPEG4 (DivX)

półobrazy

50

 

 

 

 

 

 

linie

625

240

500-550

 

 

 

 

rozdzielczość

768x576

238x240

720x576

352x288

480x576

720x576
1920x1152
(max)

720x576

bit rate
(Mbit/s)

-

-

1:5 (1)

1.15
(max 3)

< 2.6

10
(max 80)

0.9
(max 10)

 

 (1) - kompresja już w kamerze podczas zapisu

 

 

PAL

Sygnał telewizyjny przesyłany drogą radiową nie zawiera informacji o kolorach RGB każdego z punktów lecz jego jasność (luminancja - Y) oraz unikalny kolor (chrominancja - U i V). Ponadto bez większych szkód dla oglądanego filmu można znacznie ograniczyć ilość danych zapisanych w kanałach U i V. Pojedynczy pixel w klatce typu RGB24 zajmuje 3 bajty. Przy zamianie RGB na YUV również używa sie 1 bajta dla składowych Y, U i V, przy czym tylko wartość Y zapisywana jest dla każdego pixela z osobna. Wartości U i V opisują grupy pixeli 2x2. Oznacza to, że wszystkie cztery pixele tej grupy mają ten sam kolor, różnią się jedynie jasnością. Format ten nazywany jest też YUV12 (efektywnie 12 bajtów na każdy pixel). Istnieje również analogiczny format YUV9 (używany np. przez kodek Indeo), gdzie informacja o kolorze opisuje grupe 4x4 pixeli. Tym razem prawie na pewno zauważmy "rozlewanie" się kolorów na zewnątrz sąsiednich obszarów. Warto tu wspomnieć, że dane do kodeków MPEG (i wielu innych) dostarczane są właśnie w formacie YUV - przechwytując obraz, warto zapisywać go od razu w tym formacie a nie RGB.

DV

Format DV wykorzystuje stratne algorytmy kompresji. Jest to kompresja wewnątrzklatkowa, a więc dyskretna transformata cosinusowa do usuwania tzw. szumów oraz kompresja międzypolowa. Współczynnik kompresji jest stały i wynosi 1:5. Dźwięk to 2 kanały 48kHz o rozdzielczości 16 bitów lub 4 kanały 32kHz o rozdzielczości 12 bitów (do tworzenia wielu wersji językowych).

MPEG

Format MPEG wykorzystuje kompresję międzyklatkową. Kompresja polega na wyrzucaniu informacji, na które nasz zmysł wzroku jest najmniej wrażliwy (dlatego oddzielnie obrabia się poziom jasności i kolory pikseli obrazu). Ponadto wykorzystuje się własność praktycznie każdego filmu - kolejne klatki są do siebie dosyć podobne. Dlatego oprócz klatek kluczowych I (infra frames) istnieją klatki przewidywane P (predicted frames). Oprócz nich występują klatki dwukierunkowe B (bidirectional). Dekompresji dokonuje się dla tzw. grupy obrazów GOP (Group Of Pictures). GOP zaczyna i kończy się klatką kluczową I. Przykładowo, dla zapisu PAL długość GOP wynosi 12 klatek.

Kodowanie filmu jest znacznie bardziej złożone niż odkodowanie. Podczas kodowania dzieli się bowiem obraz na makrobloki o wymiarach 16x16 pixeli i sprawdza się, czy taki blok nie przesunął się w następnych klatkach. Jeśli wykryto w miarę podobny makroblok, to zapamiętywane jest jedynie jego przesunięcie oraz informacja o ewentualnych różnicach. Jednym z ulepszeń wprowadzonych w standardzie MPEG-4 jest predykcja ruchu obiektów o dowolnych kształtach. Z tego powodu znacznie rzadziej można zauważyć "kwadratowe"`zakłócenia obrazu związane z podziałem na regularne bloki - kosztem zwiększenia złożoności obliczeniowej.

Istnieją 3 standardy kodowania MPEG:

  • MPEG-1 - zapis krótkich filmów na płytach CD

    W przeciwieństwie do MJPEG, MPEG jest w pełni zdefiniowanym standardem, który pozwala na to, aby dane z różnych systemów do edycji/montażu były między sobą całkowicie wymienne. Zasadnicza różnica polega na sposobie analizy materiału oraz technice kompresji. MPEG analizuje określone sekwencje klatek (interframe compression). Poszczególne klatki w tym rodzaju sekwencji składają się z klatek typu I-, B- oraz P- określanych również jako GOP (Group of Pictures). Pojedyncza Grupa Obrazów (GOP) musi zawierać przynajmniej jedną I-Frame (pojedynczą klatkę); w przeciwnym wypadku struktura oraz długość sekwencji mogłaby być dowolnie ustalana przez producenta. Klatki I-frame są obrazami indeksowanymi (index images), które są kompresowane indywidualnie. Poszczególne obszary klatki mogą być kompresowane wg różnych współczynników, np. środek klatki może być mniej skompresowany niż jej obrzeża. Taka metoda kompresji redukuje ilość danych o 15% w stosunku do MJPEG z zachowaniem tej samej jakości obrazu (lub tej samej ilości danych pozwala na osiągnięcie wyższej jakości obrazu). W strumieniu danych MPEG'a klatki I-frame zawierają wszystkie dane niezbędne do dokonania dekompresji oraz wyświetlenia obrazu bez dostarczania jakiejkolwiek dodatkowej informacji. Klatki B-frame (bidirectional compressed images) są obrazami skompresowanymi dwukierunkowo i zawierają wyłącznie informacje dotyczące różnicy pomiędzy dwoma klatkami. B-Frames zawierają o wiele mniej danych niż I-Frames. Jednakże, aby rozkompresować i wyświetlić B-Frames niezbędna jest informacja z klatek poprzedzających oraz następujących. Klatki P-Frame (predicted frames) to klatki "przewidywane". Są one interpolowane na podstawie informacji zawartych w klatkach w sekwencji wideo i zawierają jeszcze mniej informacji niż B-Frames. Sposób w jaki I-, B- oraz P-Frames są usytuowane w GOP oraz do czego będą użyte poszczególne klatki zależy już od producenta. Jedynym niezbędnym warunkiem jest obecność przynajmniej jednej I-Frame w każdym GOP.

    Jakość jest "opisowo" taka jak rozdzielczość czyli 352x288. Wygląda to na ekranie komputera 2x gorzej niż VHS, ale w stacjonarnych DVD (obraz automatycznie powiększany na cały ekran) drobne pikselizacje i defekty digitalizacji nie są przeszkodą - klienci ogladając u mnie na 32 calowym 16:9 TV zamawiają usługę. Ekstra jakość uzyskuje się gdy materiał źródłowy jest cyfrowo nagrany i zmontowany. Z materiałów przyniesionych na VHS uzyskuje się gorszą jakość. Jeśli używasz standardowych ustawień, które są w każdym profesjonalnym programie do robienia MPEG1, to zmieścisz na CD 73 minuty filmu. Jeżeli zaś zmienisz ustawienia i podniesiesz bitrate video to automatycznie zmieścisz mniej. Każde originalne Video CD zajmuje 73 minuty, więc jest to standard.

  • MPEG-2 - zastosowany w technice DVD

    MPEG-2 gwarantuje odpowiedni standard do celów postprodukcji, dystrybucji oraz transmisji. Różnice pomiędzy profilami oraz poziomami występują w zakresie rozdzielczości, tzn. ilości linii oraz ilości pikseli, wielkości strumienia danych oraz częstotliwości odświeżania obrazu. Kolejną cechą, która odróżnia MPEG-2 od MJPEG'a to jednolity sposób dekodowania sygnału. Jakikolwiek strumień danych zapisany w MPEG-2 może być odtwarzany na dowolnym sprzęcie zgodnym ze standardem MPEG-2. Jednocześnie sposób kodowania sygnału w MPEG'u-2 ustalany jest przez producenta.

    Dwie odmiany MPEG-2 a mianowicie MPEG-2 Main Profile@Main Level oraz MPEG-2 422Profile@Main Level używane są przez nadawców. MPEG-2 MP@ML został stworzony do przesyłania sygnałów wideo. Z tego powodu używany jest przede wszystkim do DVB (Digital Video Broadcasting) czyli przesyłania cyfrowych sygnałów telewizyjnych. Wymagana jest tutaj najlepsza możliwa jakość obrazu przy możliwie najniższym współczynniku transferu danych (maksymalnie 15 Mbit/s). Ponieważ nie ma tutaj potrzeby wielokrotnego kopiowania materiału, próbkowanie na poziomie 4:2:0 jest całkowicie wystarczające. Niski poziom transferu danych jest możliwy do osiągnięcia dzięki kompresji dużych grup obrazu (GOP) z zachowaniem struktury IPB. W związku z tym montaż z dokładnością co do klatki, który jest niezbędny w postprodukcji, jest tutaj niemożliwy do osiągnięcia. MPEG-2 422P@ML został stworzony do dosyłania sygnałów wideo dla celów postprodukcji i montażu wideo. Aby zachować niezmienioną jakość obrazu nawet po wielokrotnym kopiowaniu ten rodzaj MPEG'a wykorzystuje próbkowanie 4:2:2. Dzięki temu możliwe jest również uzyskanie profesjonalnej jakości niezbędnej do kluczowania. Maksymalny strumień danych określony tu został na 50Mbit/s.

    Podstawowe wymogi jakie są stawiane w postprodukcji wideo to możliwość edycji materiału, wysoka jakość obrazu oraz jego wzajemna kompatybilność. MPEG-2 422P@ML, I-Frame only, spełnia wszystkie powyższe wymagania: zastosowanie kodowania klatek typu "I" gwarantuje łatwy, z dokładnością co do ramki montaż a wysoka jakość obrazu jest zapewniona dzięki próbkowaniu 4:2:2. Ten właśnie standard używany do dekodowania materiału jest niezależny od właściwości samych dekoderów. Dzięki temu jest on idealnym standardem do postprodukcji wideo.

    Spośród wielu formatów do kompresji wideo, MPEG-2 jest takim formatem kompresji, który w krótkim czasie ma szansę stać się standardem używanym we wszystkich środowiskach postprodukcyjnych. MPEG-2 jest jednym z czterech podgrup standardu MPEG (Motion Pictures Expert Group). W zależności od obszaru zastosowania jest definiowany przy pomocy różnych profili oraz poziomów. W czasie dyskusji na temat edycji wideo oraz postprodukcji poruszane są najczęściej trzy kwestie: montaż i edycja z dokładnością co do klatki, możliwie najniższy poziom transferu danych oraz kompatybilność skompresowanych danych między systemami. Odmiana (Profil) 422P@ML formatu MPEG-2 określana jako "I-frame only" (czyli wyłącznie klatki I) całkowicie spełnia powyższe wymagania. Firma FAST Multimedia AG definiuje ten Profil MPEG-2 jako "MPEG edycyjny" (Editing-MPEG).

    MPEG2 nagrany na CD-R chodzi w stacjonarnych DVD ale tylko jako SVCD (Super Video CD). Jest to ulepszony przez Chińczykow VCD, jako kontra dla DVD, za które Chiny nie chciały płacić licencji. Poza tym ze względu na cenę odtwarzaczy i dysków jest on dostepny dla chińskiej kieszeni. W krajach bogatszych systemem SVCD zainteresowali się przede wszystkim amatorzy i półprofesjonaliści jako że wystarczy zwykły komputer aby wypalić dysk w tym formacie, a jakość jest zdecydowanie lepsza od VHS. Poza tym można na początku zrobić menu i mieć szybki dostęp do kolejnych rozdziałów, nie mówiąc o kopiowaniu bez straty jakości. Sądzę, że system ten wkrótce zawojuje świat. Dlatego doradzałbym wszystkim, którzy zamierzają kupić odtwarzacz DVD, ażeby kupowali je już z opcją SVCD. SVCD bazuje na MPEG-2 video kompressor, który pozwala stosować DVD decoder od takich producentów jak C-Cube, ESS, LuxSonor i Zoran. http://www.vcdhelper.com/svcd.htm

    Porownujac DV i mpeg-2 nalezy z jednej strony zauwazyc znacznie mniejszy bitrate w DVD w stosynku do DV, przy jednoczesnym istnieniu w DVD kompresji miedzyklatkowej i VBR. Znacznie polepsza to efektywnosc samej kompresji i umozliwia osiagniecie dobrej jakosci przy mniejszym strumieniu danych, ale jest jednoczesnie powodem wystepowania artefaktow i pogorszenia jakosci na ujeciach zawierajacych ruch. Dlatego przy DVD/mpeg-2 zasadnicze znaczenie maja zastosowane algorytmy kompresji, a takze wspomniany przez Ciebie multi-pass. Przygotowanie np. komercyjnej produkcji kinowej do dystrybucji na DVD wymaga dosyc duzego nakladu pracy, i film czesto optymalizowany jest osobno dla kazdej sceny. Druga sprawa decydujaca o takiej roznicy w jakosci domowych i komercyjnych produkcji DVD jest material wyjsciowy do kompresja. Wymienie tu trzy czynniki : - jakosc samych kamer amatorskich w zestawieniu z urzadzeniami do przenoszenia tasmy filmowej do postaci elektronicznej badz samych profesjonalnych kamer cyfrowych. - jakosc zdjec w znaczeniu oswietlenia i przygotowania planu filmowego - duze znaczenie ma rowniez fakt, ze w przypadku materialu amatorskiego jest on skompresowany stratnym kodekiem, np. DV. I nie chodzi tu o stratnosc jakosci samego kodeka, lecz o to ze otrzymany po rozkompresowaniu material znacznie trudniej efektywnie skompresowac za pomoca innego algorytmu.

    Powyzsze 3 czynniki w duzym stopniu zmniejszaja jakosc materialu mpeg-2 uzyskanego w warunkach amatorskich w stosunku do komercyjnej dystrybucji filmu. Duza czesc strumienia danych zostaje bowiem zmarnowana do kompresji szumow materialu gorszej jakosci i artefaktow poprzedniego kodeka.

    Jak zatem widac, jest wiele czynnikow niezaleznych od nas a wplywajacych na trudnosc w uzyskaniu w warunkach amatorskich dobrej jakosci DVD. Sam mam Pioneera A03 i jakosc w duzej mierze zalezy od przygotowania pliku MPEG2. Jesli uzyje do kompresju np. Ulead DVD Movie Factory jakosc bedzie kiepska (przy ustawieniu na HIGH Quality), ale przy uzyciu juz np. TMPGEnc mozna juz uzyskac duze lepsze rezultaty (minusem jest czas oczekiwania podczas kompresji), jakosc mozna podwyzszyc filmujac w trybie Frame (czyli w pelnych klatkach) Canon XL1s

    Moje trzy grosze. Z moich prób przenoszenia DV (z kamery D8) na DVD mam nastepujące wnioski. Najlepsza jakośa jaką osiągną3em by3a przy u?yciu Cinemacrafta 2.62 (VBR 3-przebiegowy z "lekkim" filtrowaniem szumów), przy średniej przep3ywności ok 8Mbs (min2-max9,5). Przy średniej 6Mbs obraz jest w zasadzie dobry, ale w szybszych scenach dają sie zauważyać artefakty.

  • MPEG-4 - Kompresja pełnometrażowego filmu do wielkości płyty CD (jakość ustępuje DVD)

    MPEG4 wprowadził wiele ulepszeń techniki kompresji, niektóre z nich to: niezależne kodowanie statycznych i ruchomych obrazów elastyczny wybór rozdzielczości poziomej i pionowej filmu skalowalność - do zastosowań internetowych i zapisu wysokiej jakości predykcja i kompensacja ruchu obszarów o dowolnych kształtach. Optymalny wybór częstości pojawiania się klatek kluczowych to 3-5 sekund.

    MPEG-4 wymaga kodeka:

    • Kodek Microsoftu, pochodzący z pakietu Windows Media Tools. Kodek ten jest darmowy, ale nie każdy program może z niego korzystać. Posiada blokadę umożliwiającą pracę tylko z Windows Media Encoder. Co gorsza, WME generuje pliki wyłącznie w formacie ASF, który ma problemy z dźwiękiem i obrazem dla długich nagrań. (Uwaga, blokady tej nie posiada wersja V2 kodeka z pakietu Windows MediaTools 4.1).
    • DivX ;-) jest nielegalnie zmodyfikowanym kodekiem Microsoftu. Występuje w wersji "Fast Motion" i "Low Motion". W przypadku przewagi obiektów statycznych ilości poszczególnych klatek to przykładowo I=31%, P=42%, B=27%. Dla dużej ilości szybko poruszających się obiektów proporcje mogą być następujące I=19%, P=36%, B=45%. Różnice pomiędzy kodekami "Fast Motion" i "Low Motion" zanikają, gdy używamy wersji "Low Motion" z ustawieniem prędkości bitowej powyżej 1300-1500 kbit/s. Począwszy od tej granicy kodek "Low Motion" produkuje lepiej wyglądające filmy niezależnie od tego, jaka jest dynamika scen. Dopiero gdy bardzo zależy nam na kompresji (poniżej 600 kbit.s), należy zastanowić się nad doborem kodeka. Ponadto kodek "Fast Motion" zupełnie nie nadaje się do kompresji filmów o małych rozmiarach klatki (np. 320x240) - lepsze rezultaty daje kodek "Low Motion". Przy rozmiarze klatki równej połowie rozdzielczości PAL (352x288), ustawienie prędkości na 350-400 kbit/s daje jakość obrazu porównywalną z dobrej jakości VHS. Dodając 112 kbit na zapis dźwięku w MP3, na płycie CD-R możemy zmieścić około 170 minut filmu z dźwiękiem stereo.
    • Inne kodeki MPEG-4 : Indeo 5.1 - wielokrotnie wolniejszy i o gorszej jakości DVMPEG - dość drogi AngelPotion SMR 3iVX

ZNIEKSZTAŁCENIA

Dla każdego rodzaju kompresji istnieje granica, poniżej której nawet niewielkie zwiększenie stopnia kompresji w znacznym stopniu odbija się na jakości. Zaczynają być wtedy widoczne tzw. zniekształcenia - artefakty. Przyczyną jest odrzucenie zbyt dużej ilości informacji dotyczącej krawędzi, gradientu kolorów, kształtów itp.

Rozmazywanie fragmentów obrazu jest najprostszą techniką upraszczania (kodowania). Ostre i wyraźne detale zostają zamienione na płynne przejścia jasności i kolorów. Szczególnie ma to miejsce przy poruszających się obiektach. Schodkowatość wynika podziału całego obrazu na kwadraty i dokonywaniu transformacji do reprezentacji częstotliwościowej dla tych małych fragmentów. Transformacja ta jest zazwyczaj dyskretną transformatą cosinusową, choć kodek Indeo stosuje transformatę falkową (wavelet). Dlatego też po przekroczeniu pewnego progu, zaczynają być widoczne granice pomiędzy poszczególnymi kwadratami. Aureolki w okolicach ostrych krawędzi i gwałtownych przejść kolorów powstają, gdy kodek musi odrzucić część wyniku otrzymanego z dyskretnej transformaty cosinusowej. Nasze oczy są bardziej wrażliwe na składowe o niskich częstotliwościach (które reprezentują duże, łagodnie zmieniające się powierzchnie) niż na składowe wysokoczęstotliwościowe (reprezentujące drobne szczegóły obrazu). Rezygnacja z nawet znacznej części wysokich częstotliwości w większości wypadków nie wpływa na widoczne pogorszenie jakości. Na nieszczęście, ostre krawędzie obiektów są złożone z przebiegów o wysokiej częstotliwości. Ich stłumienie (częstotliwości) powoduje zmiany kolorów i jasności w bezpośrednim sąsiedztwie krawędzi.

Istnieje tylko jeden sposób na minimalizację zakłóceń - zmniejszenie stopnia kompresji. Dodatkowo można zwiększyć częstość pojawiania się klatek kluczowych. Dla MPEG-4 optymalnym czasem pojawiania się klatek kluczowych to 3 sekundy. Należy też unikać zbyt długich panoram, gdyż wymagają dużej ilości danych. Lepiej też zmniejszyć rozdzielczość filmu, co przy stałej prędkości bitowej kompresji poprawi jakość filmu w ogromnym stopniu. Należy też unikać kompresji filmów z przeplotem. Zbyt rzadko umieszczone klatki kluczowe powodują, że podczas edycji materiału nie będziemy mogli wybrać dowolnego momentu. Bezwzględnie należy usuwać czarne pasy u góry i dołu ekranu. Warto też obciąć kilka pixeli z obrzeża.