Wideo mocno spakowane

Zwiększenie mocy obliczeniowej domowych komputerów zbiegło się w czasie ze spopularyzowaniem niezwykle efektywnych metod redukcji objętości plików multimedialnych. Najpierw karierę zrobił format MP3, a już niewiele później można było wykonać kompresję materiału filmowego. Wszystko to dzięki użyciu kodeka DivX.

Termin “DivX” ekscytuje większość użytkowników komputerów. Z przeprowadzonej przez nas ankiety internetowej wynika, iż niemal 70% właścicieli pecetów odtwarza filmy zapisane w tym standardzie.

Co to takiego?

W świecie multimediów istnieje wiele różnych kodeków, które mogą być stosowane do zapisywania w jednym pliku AVI zarówno obrazu, jak i dźwięku. A czym właściwie jest DivX? To także kodek – tyle że przeznaczony wyłącznie do wykonywania jednego zadania: zmniejszania objętości strumienia wideo.

DivX to metoda stratnej kompresji filmu. Kodek DivX bazuje na algorytmie MPEG-4, który pozwala nawet na dziesięciokrotne zmniejszenie rozmiaru danych potrzebnych do zapisania ruchomego obrazu w stosunku do strumienia zakodowanego z wykorzystaniem algorytmu MPEG-2. Kodeki MPEG-2 i MPEG-4 działają na podobnych zasadach, są jednak wykorzystywane do zupełnie innych zastosowań. MPEG-2 jest przeznaczony do pracy z dużym współczynnikiem przepływu danych (bitrate). Wynosi on co najmniej 3000 Kbit/s. Ta metoda kompresji wykorzystywana jest na przykład do zapisywania filmów na płytach DVD.

Standard MPEG-4 opracowano natomiast z myślą o transmisji strumienia wideo przez łącza internetowe. Algorytm zoptymalizowano tak, aby pracował z niewielkim współczynnikiem bitrate. Podczas kompresji obraz dzielony jest na makrobloki o wymiarach 16×16 pikseli. Są one kodowane stratnie – tak jak pliki typu JPEG. Zapisana w postaci zestawu makrobloków pierwsza ramka obrazu zawiera pełną informację o określonej scenie w filmie. Ważne jest to, że wszystkie kolejne ramki obrazu przekazują tylko informację o tym, jakie zmiany zaszły na ekranie. Dla przykładu: jeśli widzimy twarz aktora na nieruchomym tle, to pierwsza ramka będzie zawierała pełną informację o scenie i wizerunek twarzy. W kolejnych ramkach zostaną “wymienione” tylko te makrobloki, które związane są z mimiką aktora.

DivX wykorzystuje tzw. wektory ruchu. Gdy aktor spaceruje na statycznym tle, jest identyfikowany jako obiekt. Te makrobloki, w których zapisano wizerunek poruszającego się człowieka, są po prostu przesuwane w następnej ramce w inne miejsce. Dzięki temu w czasie transmisji obrazu przez łącze internetowe nie trzeba przesyłać informacji o pełnej scenie widocznej na ekranie, a tylko dane związane z przesunięciem niektórych makrobloków.

Jak wspomniałem, algorytmy wykorzystane w DivX bazują na standardzie MPEG-4. Dlatego też DivX pozwoli nam na umieszczenie w zbiorze AVI tylko informacji o obrazie. Jeżeli zechcemy dodać do niego ścieżkę dźwiękową, nie obejdzie sie bez dodatkowego narzędzia, służącego do kompresji dźwięku. Nietrudno się domyślić, że najczęściej wykorzystywany będzie jakiś kodek MP3. Zastosowanie dwóch metod kompresji informacji nakłada spore wymagania co do wydajności sprzętu odtwarzającego zakodowany materiał. Co prawda poradzi sobie z nim niemal każdy w miarę nowoczesny domowy komputer, ale warto wspomnieć, iż minimalna częstotliwość procesora dekodującego w czasie rzeczywistym materiał skompresowany z wykorzystaniem DivX-a powinna być większa niż 500 MHz. A jeśli chcemy dokonać dodatkowego przetwarzania (postprocessingu) materiału filmowego w celu poprawy jakości obrazu wyświetlanego na ekranie, zapotrzebowanie na moc procesora okaże się znacznie większe.

Więcej:bezcatnews