Grafika QuickTime - QuickTime Graphics

QuickTime Graphics to stratny algorytm kompresji i dekompresji wideo ( kodek ) opracowany przez firmę Apple Inc. i wydany po raz pierwszy jako część programu QuickTime 1.x na początku lat 90. Kodek jest również znany pod nazwą Apple Graphics i jego FourCC SMC . Kodek działa na 8-bitowych paletowanych danych RGB . Format strumienia bitów w grafice QuickTime został poddany inżynierii wstecznej, a dekoder został zaimplementowany w projektach XAnim i libavcodec .

Szczegóły techniczne

Wideo wejściowe, na którym działa kodek, jest w 8-bitowej paletowanej przestrzeni kolorów RGB . Kompresję osiąga się poprzez warunkowe uzupełnianie i redukcję palety z 256 kolorów do adaptacyjnej palety 4 × 4 bloków obejmującej 1-16 kolorów. Ponieważ Apple Video działa w domenie obrazu bez kompensacji ruchu, dekodowanie jest znacznie szybsze niż w przypadku kodeków w stylu MPEG, które używają kompensacji ruchu i wykonują kodowanie w domenie transformacji . W zamian wydajność kompresji grafiki Apple jest niższa. Złożoność dekodowania wynosi około 50% złożoności kodeka QuickTime Animation .

Każda ramka jest podzielona na bloki 4 × 4 w kolejności skanowania rastrowego. Każdy blok może być zakodowany w jednym z następujących trybów kodowania: tryb pomijania, pojedynczy kolor, 2-, 4- i 8 trybów palety kolorów, dwa tryby powtarzania i PCM.

Tryb pomijania

Tryb pomijania realizuje uzupełnianie warunkowe . Jeśli blok jest kodowany w trybie pomijania, zawartość bloku w tym samym miejscu w poprzedniej klatce jest kopiowana do bieżącej ramki. Sekwencje bloków pomijania są kodowane w schemacie kodowania długości serii , co zapewnia wysoki współczynnik kompresji w statycznych obszarach obrazu.

Pojedynczy kolor

W trybie jednokolorowym cały blok 4 × 4 malowany jest jednym kolorem. Ten tryb można również traktować jako tryb z 1-kolorową paletą.

Tryby palety (2, 4 lub 8 kolorów)

W trybach palety każdy blok 4 × 4 jest oznaczony paletą 2, 4 lub 8 kolorów. Aby wybrać jeden z kolorów z palety, stosuje się odpowiednio 1, 2 lub 3 bity na piksel. Paleta może być zapisana w strumieniu bitów jawnie lub jako odniesienie do wpisu w pamięci podręcznej palety. Pamięć podręczna palet to zestaw trzech okrągłych buforów, które przechowują 256 ostatnio używanych palet, po jednej dla trybów 2, 4 i 8 kolorów.

Zinterpretowane jako kwantyzacja wektorów , trójwymiarowe wektory ze składowymi czerwonymi, zielonymi i niebieskimi są kwantyzowane przy użyciu adaptacyjnej książki kodowej w przód z od 1 do 8 wpisów.

Tryby powtarzania

Istnieją dwa różne tryby powtarzania. W trybie powtarzania pojedynczego bloku poprzedni blok jest powtarzany określoną liczbę razy. W trybie powtarzania dwóch bloków poprzednie dwa bloki są powtarzane określoną liczbę razy.

Tryb PCM (16 kolorów)

W trybie 16-kolorowym kolor każdego piksela w bloku jest jawnie zapisywany w strumieniu bitów. Ten tryb jest bezstratny i odpowiada surowemu PCM bez żadnej kompresji.

Zobacz też

Bibliografia

Zewnętrzne linki