Global Motion Compensation

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

Global Motion Compensation, GMC (ang.: wszechstronna (globalna) kompensacja ruchu) – algorytm kompresji obrazu stosowany w formacie MPEG-4 część 2, będący uzupełnieniem kodeków DivX i XviD. Celem jej użycia jest poprawa kompresji scen, w których występują szybkie bądź gwałtowne ruchy postaci lub obiektów, np. wyścig samochodowy.

Algorytm GMC oparty jest na analizie zawartości obrazu, mającej na celu wyodrębnienie w nim pewnych fragmentów, zwanych makroblokami, które są wspólne dla określonych sekwencji klatek. Ruch tych fragmentów jest kodowany za pomocą tzw. wektorów ruchu (motion vector). Jeśli określone makrobloki są przez pewien czas niezmienne, jest to kodowane za pomocą jednego bitu, bez zapisywania zawartości tego bloku oraz związanego z nim wektora w każdej z klatek osobno.

Oprócz tego, w GMC kompresuje się nie tylko makrobloki, ale także całe fragmenty obrazu, nawet jeśli wielkości obiektów się zmieniają. Prostokątne fragmenty obrazu, większe niż makroblok, często nawet całą klatkę opisuje się za pomocy tzw. punktów zakrzywienia, które matematycznie są wektorami reprezentującymi przesunięcie jednego z czterech rogów opisywanego obszaru. Pozwala to znacznie zredukować opis takich efektów jak zoom albo obrót kamery. Do standardowych klatek typu P specyfikacja GMC dodaje klatki typu S, których opis zawiera punkty zakrzywienia.

Standard MPEG-4 ASP dopuszcza dla GMC maksymalnie 4 punkty zakrzywienia (warp points), jednak liczba użytych do opisu ruchu punktów zakrzywienia zależy od rodzaju i wersji kodeka użytego do kompresji materiału wideo. XviD używa maksymalnie 3 punktów zakrzywienia, DivX w wersji szóstej dwóch punktów, a w wersji piątej jednego.

GMC jest jednym z nowszych algorytmów kompresji obrazu. W związku z tym, że procesor dekodujący taki plik musi mieć większą moc obliczeniową, tylko część nowszych odtwarzaczy stacjonarnych DVD jest kompatybilna z takim materiałem filmowym. Dodatkowo odtwarzacze DVD/DivX są w stanie przeprowadzić obliczenia dla maksymalnie jednego lub czasem dwóch punktów zakrzywienia, dlatego też nie są one w stanie odtworzyć materiału wideo zakodowanego przy pomocy XviDa z GMC.

Zobacz też[edytuj | edytuj kod]