PCX

PCX
Rozszerzenia pliku.pcx
Typ MIMEimage/x-pcx
TypGrafika rastrowa

PCXformat przechowywania i kompresji grafik, używający algorytmu kompresji bezstratnej RLE.

PCX był oryginalnie formatem przeznaczonym do indeksowanych palet kolorów, choć został też przystosowany do koloru 24-bitowego. Był dość popularny we wczesnych latach DOS i Windows, lecz współcześnie jest już rzadki, zastąpiony przez formaty oferujące lepszą kompresję i dodatkowe możliwości – GIF i PNG.

Algorytm kompresji obrazków z 8-bitowym kolorem

Dekompresja jest prosta – każdy bajt z przedziału 0x00 do 0xc0 koduje pojedynczy piksel o danej wartości. Bajty z przedziału 0xc1 do 0xff oznaczają że kolejne odpowiednio 1 do 63 pikseli ma ten sam kolor, którego wartość jest zawarta w następnym bajcie. Kolory 0xc1 do 0xff są kodowane jako 0xc1 KOLOR.

Ponieważ kolory 0x00 do 0xc0 kompresują się lepiej niż 0xc1 do 0xff, dobra kolejność kolorów w palecie jest ważna. Zazwyczaj, choć nie zawsze, wystarczy umieścić częściej używane kolory w pozycjach 0x00 do 0xc0, a rzadziej używane w pozycjach 0xc1 do 0xff. W pełni optymalny algorytm sortuje kolory na podstawie ilości wystąpień ich ciągów o długości 1+63 × N dla N całkowitych nieujemnych, bowiem tylko takie ciągi można zapisać bez używania prefiksów.

Algorytm kompresji jest bardzo szybki i zabiera bardzo mało pamięci, jednak jest mało wydajny, w szczególności na obrazkach innych niż wygenerowane komputerowo.

Obrazki 24-bitowe kompresuje się stosując podany algorytm do każdego kanału osobno.

Zobacz też