W kinie przyszłości

Najważniejszym celem, jaki przyświecał twórcom standardów kompresji wideo, jest zapisanie obrazu o jak najlepszej jakości w pliku o możliwie małych rozmiarach. W dalszej części artykułu przedstawimy techniki wykorzystywane w najpopularniejszych obecnie kodekach. Przy okazji pokażę, dlaczego kodeki DivX, XviD oraz inne bazujące na algorytmie MPEG-4 kompresują filmy lepiej niż starszy MPEG-2. Następnie postaram się także przedstawić zalety i wady konkretnych kodeków.

Do różnych zastosowań

Pierwszym algorytmem kompresji wideo był MPEG-1, którego bezpośrednim rozwinięciem jest ostatecznie zatwierdzony w listopadzie 1994 r. MPEG-2. Stworzenie tych standardów przyczyniło się do popularyzacji multimedialnych CD-ROM-ów, płyt (S)VCD, cyfrowej telewizji kablowej i satelitarnej (DVB) oraz krążków DVD.

Podstawy standardu MPEG-4 zostały dopracowane w styczniu 1999 roku z myślą o wideokonferencjach, wideotelefonach, czy interaktywnych grach wideo. Jak powszechnie wiadomo, do popularyzacji tego standardu najbardziej przyczynił się DivX 3.11 Alpha, będący zmodyfikowanym kodekiem MPEG-4, opracowanym przez Microsoft. Pierwotnie miał on służyć tylko do transmisji strumieniowej przez Internet, jednak został “przystosowany” przez niezależnych programistów do kompresji materiału wideo w plikach AVI.

Różnice między standardami kompresji wynikają w dużej mierze z założeń przyjętych podczas ich projektowania. Dlatego MPEG-2 doskonale nadaje się wszędzie tam, gdzie możemy przesyłać dużą ilość danych. Obecnie jest on powszechnie stosowany i kompatybilny z popularnymi urządzeniami wideo. Nie sprawdzi się on natomiast przy transmisji wideo przez łącza o małej przepustowości. Do takich zastosowań przewidziano MPEG-4, który oferuje bardzo wysoki stopień kompresji, skalowalność, elastyczność i wiele funkcji możliwych do wykorzystania w przyszłych aplikacjach A/V.

Jak to działa?

Pierwszym etapem kompresji MPEG jest tzw. dyskretna transformata cosinusowa (DCT). Najpierw enkoder dzieli obraz na bloki o rozmiarach 8×8 pikseli. W każdym bloku informacje o jasności i barwie poszczególnych punktów przekształcane są na częstotliwości, które odzwierciedlają rozkład jasności (luminancja) i kolorów (chrominancja). W wyniku tego najmniejszym szczegółom obrazu, które i tak z trudnością rozpoznawane są przez ludzkie oko, odpowiadają najwyższe częstotliwości widma będącego efektem działania transformaty. Później w procesie kwantyzacji te najwyższe częstotliwości są odfiltrowywane, co sprawia, że wielkość pliku graficznego maleje.

Technika ta jest podobna do stosowanej w standardzie JPEG. My jednak musimy zakodować nie jeden statyczny obrazek, ale wiele klatek filmowych. Dla zaoszczędzenia miejsca enkoder MPEG łączy pojedyncze obrazy (tzw. ramki), tworząc w ten sposób grupę obrazów GOP (Group of Pictures). W procesie kompresji powstają ramki kluczowe (Intra Frame), które zawierają pełną informację o obrazie oraz ramki pośrednie (Predicted Frame i Bidirectional Frame), wykorzystujące podobieństwa w następujących po sobie obrazach (patrz: ilustracja na poprzedniej stronie). Właśnie ramki typu P i B stanowią ogromną większość w każdej grupie GOP. Jednocześnie do ich zapisania wymagana jest znacznie mniejsza ilość danych, ponieważ nie zawierają one pełnej informacji o obrazie, a opisują jedynie różnice między kolejnymi ramkami.

W ramach tworzonych grup obrazów GOP stosuje się także przewidywanie ruchu (Motion Estimation), które działa z wykorzystaniem metody blokowej. Oznacza to, że enkoder MPEG dzieli obraz wideo na tzw. makrobloki, każdy o rozmiarach 16×16 pikseli. Następnie sprawdza, w jaki sposób zmienia się pozycja makrobloków w poprzednich i w następnych ramkach. Informacje o zmianach zapisywane są w formie wektorów przesunięć i obrazów różnicowych (ramki typu P i B), co zapewnia dalszą redukcję danych.

Ewolucja MPEG-4

Opisane techniki doskonale się sprawdzają, jeśli dysponujemy tak pojemnym nośnikiem jak płyta DVD. Gdy chcemy nagrać film na płycie CD lub przesłać go przez Internet, potrzebujemy bardziej zaawansowanych metod redukcji danych. MPEG-4 oprócz dyskretnej transformaty cosinusowej wykorzystuje także bardzo efektywne algorytmy kompresji faletkowej (wavelet), które stosowane są do kompresji grafiki w standardzie JPEG2000. W porównaniu z DCT wykorzystanie kompresji wavelet zapewnia wyższą jakość obrazu. Dzieje się tak, ponieważ algorytm ten nie dzieli klatki na bloki, ale przetwarza całość. Operacje te wymagają jednak znacznie większej mocy obliczeniowej komputera.

Lepsza jakość filmu MPEG-4 przy niższych bitrate’ach wynika z zastosowania techniki kodowania kształtów (Shape Encoding). Kompresja MPEG-4 bazuje nie tylko na analizie niezależnych bloków obrazu wideo – dodatkowo rozpoznawane są obiekty występujące w kolejnych ramkach. Obiekty te są wyodrębniane i kodowane niezależnie od tła. Wykorzystanie tej metody pozwala, przy użyciu niewielkiej ilości danych, opisać przesunięcia skomplikowanych obiektów złożonych z wielu makrobloków (Video Object Planes) na niezmieniającym się tle. Przykładem może być ruchoma twarz prezentera telewizyjnego na nieruchomym tle. Standard MPEG-4 wprowadza elementy VOP (Video Object Planes) typu I, P i B, analogicznie do modelu GOP (Group of Pictures), znane już z MPEG-2. Dzięki zastosowaniu VOP możliwe jest zapisywanie zmian położenia, kształtu i tekstury elementów obrazu w równie oszczędny sposób, jak w przypadku GOP.

Szczególnym przypadkiem kodowania kształtów jest opcjonalnie wykorzystywana technika globalnej kompensacji ruchu (GMC). Dzięki GMC takie efekty jak zoom albo obrót kamery da się opisać przy użyciu niewielu parametrów i z wykorzystaniem wcześniej zebranych informacji o obrazie. W przeciwieństwie do Motion Estimation w technologii Global Motion Compensation kodowaniu podlegają nie tylko makrobloki, ale całe fragmenty obrazu, nawet jeśli wielkości obiektów się zmieniają.

ProgramDivX 5.1.1 ProXviD MPEG-4 video codec 2.13vix D4 4.5 ProDivX 3.11alpha Windows Media 9
WWW [http://]www.divx.com/nic.dnsalias.com/www.3vix.com/www.doom9.org/www.microsoft.com/
Cena (z VAT-em) adware/19,99 USD freeware 99,95 USD freeware freeware
Ocena CHIP-a*55433
Podstawowe parametry
Kodowanie jedno-/ wieloprzebiegowe+/++/++/++/++/+
Bitrate (stały/zmienny)+/++/++/++/++/+
Ramki typu B (B-frames)++
Specjalne techniki kompresjiGMC, QuarterPixel, Psychovisual EnhancementGMC, QuarterPixel, LumiMaskingHalfPixel, Four Vector Motion, Adaptive QuantizationMożliwość zakodowania materiału w dwóch przej_ciach kodekami High i Low-MotionGMC, Shape Encoding
Ustawienie enkoderaramki I, współczynnik kwantyzacjimacierz kwantyzacji, ramki I, ustawienie FourCCramki I, współczynnik kwantyzacjiramki I, LumaCorrectionramki I, streaming, korzystanie z wtyczek
Przycinanie/skalowanie+/+-/--/--/-+/+
FiltryInterlace, PreprocesingInterlace,GrayscaleInterlace, PreprocesingCrispnessInterlace, Inverse Telecine for NTSC
Obsługa profili++++
Zgodność ze sprzętem Kiss DP-450/zmodyfikowany Xbox+ (bez ramek B)/++ (bez ramek B)/++/+-/+-/+
Linia poleceń (CLI)++
Przetwarzanie wsadowe (Batch mode)+
Czas kodkowania testowego AVI (min:s) 06:32 07:10 06:54 06:23 17:26
Krótka charakterystykaObecnie najpopularniejszy kodek wideo, bazujący na MPEG-4. Oferuje bardzo dobrą jakość i znacznie zwiększoną szybkość kodowania w stosunku do poprzedniej wersji. Niestety, trzeba za niego zapłacić 20 USD lub zgodzić się na program szpiegujący w systemie.XviD jest zgodny nie tylko z mechanizmami algorytmu MPEG-4, ale w dużym stopniu zawiera własne implementacje zaawansowanych funkcji spotykanych w DivX 5.x. A to wszystko za darmo! Jedyną jego wadą jest nieco wolniejsza kompresja niż w przypadku DivX-a.Kodek współpracujący z mechanizmem Windows DirectShow oraz Video for Windows, bazujący na algorytmie MPEG-4. W tej wersji dodano między innymi enkoder MPEG-4 AAC audio. Program może generować nie tylko pliki AVI, ale i MOV i MP4.Od tego kodeka zaczęła się rewolucja w świecie cyfrowego wideo na pecetach. Obecnie dostępna jest nowsza, udoskonalona wersja. DivX 3.11alpha nie jest już używany ze względu na nie całkiem legalne pochodzenie. Darmowy XviD jest znacznie lepszym rozwiązaniem.WMV9 Microsoftu jest odpowiedzią firmy na ogromny rozwój kodeków MPEG-4. Oferuje on wysoką jakość zakodowanego filmu, ale jest zbyt wolny. Technologia Digital Rigth Management utrudnia także wymianę wygenerowanego materiału z innymi użytkownikami.
+ – jest; – – nie ma; * – ocena subiektywna uwzględniają możliwości i wydajność
Więcej:bezcatnews