Global Motion Compensation (GMC)
Global Motion Compensation (GMC) to algorytm kompresji obrazu wykorzystywany w formacie MPEG-4 część 2, który wspiera kodeki DivX i XviD. Jego głównym celem jest poprawa kompresji w scenach z dynamicznymi ruchami, takich jak wyścigi samochodowe.
Mechanizm działania GMC
Algorytm GMC opiera się na analizie obrazu, identyfikując makrobloki – fragmenty, które powtarzają się w sekwencjach klatek. Ruch tych makrobloków jest kodowany przy pomocy wektorów ruchu. Gdy makroblok pozostaje niezmienny przez pewien czas, jest to kodowane jednym bitem, co eliminuje potrzebę zapisywania jego zawartości dla każdej klatki.
GMC kompresuje również całe fragmenty obrazu, nawet przy zmianach rozmiaru obiektów. Zamiast makrobloków, większe prostokątne fragmenty są opisywane za pomocą punktów zakrzywienia, które reprezentują przesunięcie rogów obszaru. Taki mechanizm pozwala na efektywne kodowanie efektów zoomu i obrotu kamery.
Punkty zakrzywienia
- Standard MPEG-4 ASP zezwala na maksymalnie 4 punkty zakrzywienia.
- W zależności od kodeka, liczba punktów zakrzywienia może się różnić:
- XviD: 3 punkty
- DivX wersja 6: 2 punkty
- DivX wersja 5: 1 punkt
Kompatybilność i wymagania
GMC jest nowoczesnym algorytmem, co wiąże się z większymi wymaganiami obliczeniowymi dla procesorów dekodujących. W związku z tym, tylko niektóre nowsze odtwarzacze stacjonarne DVD są w stanie odtwarzać filmy zakodowane z użyciem GMC. Wiele odtwarzaczy DVD/DivX obsługuje jedynie jeden lub dwa punkty zakrzywienia, co ogranicza ich zdolność do odtwarzania materiału wideo zakodowanego przy użyciu XviD z GMC.