Progresivní grafický soubor - Progressive Graphics File

PGF
LibPGF.PNG
Přípona názvu souboru
.pgf
Magické číslo 504746 h ( ASCII PGF)
Vyvinul xeraina GmbH
První vydání 2000 ; před 20 roky  ( 2000 )
Poslední vydání
7.19.3
(2019 ; před 1 rokem )  ( 2019 )
Typ formátu wavelet založené rastrový formát obrazu
Rozšířeno z JPEG , PNG
Otevřený formát ? LGPLv2

PGF ( Progressive Graphics File ) je wavelet založené rastrové obrázky ve formátu , který využívá bezztrátovou a kompresi dat ztrátová . PGF byl vytvořen s cílem vylepšit a nahradit formát JPEG . Byl vyvinut současně s formátem JPEG 2000, ale se zaměřením na poměr rychlosti a komprese .

PGF může pracovat při vyšších kompresních poměrech, aniž by potřeboval více času na kódování / dekódování a aniž by generoval charakteristické „blokové a rozmazané“ artefakty původního standardu JPEG založeného na DCT . Umožňuje také propracovanější progresivní stahování .

Barevné modely

PGF podporuje širokou škálu barevných modelů: „Informační list PGF“ (PDF) .

  • Stupně šedi s 1, 8, 16 nebo 31 bitů na pixel
  • Indexovaná barva s velikostí palety 256
  • Barevný obrázek RGB s 12, 16 (červený: 5 bitů, zelený: 6 bitů, modrý: 5 bitů), 24 nebo 48 bitů na pixel
  • Barevný obrázek ARGB s 32 bitů na pixel
  • L * a * b barevný obrázek s 24 nebo 48 bity na pixel
  • Barevný obrázek CMYK s 32 nebo 64 bitů na pixel

Technická diskuse

Společnost PGF tvrdí, že dosahuje lepší kvality komprese oproti přidávání nebo vylepšování funkcí JPEG, jako je škálovatelnost. Jeho výkon komprese je podobný původnímu standardu JPEG. PGF podporuje také velmi nízkou a velmi vysokou míru komprese (včetně bezztrátové komprese ). Schopnost návrhu zvládnout velmi velký rozsah efektivních přenosových rychlostí je jednou ze silných stránek PGF. Například pro snížení počtu bitů pro obrázek pod určitou hodnotu je u prvního standardu JPEG vhodné snížit rozlišení vstupního obrazu před jeho zakódováním - něco, co pro tento účel obvykle není nutné, když pomocí PGF kvůli jeho vlastnostem škálovatelnosti waveletů.

Procesní řetězec PGF obsahuje následující čtyři kroky:

  1. Transformace barevného prostoru (v případě barevných obrázků)
  2. Diskrétní vlnková transformace
  3. Kvantování (v případě ztrátové komprese dat)
  4. Hierarchické kódování délky běhu bitové roviny

Transformace barevných komponent

Zpočátku musí být obrázky transformovány z barevného prostoru RGB do jiného barevného prostoru, což vede ke třem komponentám, které jsou zpracovávány samostatně. PGF používá plně reverzibilní modifikovanou barevnou transformaci YUV . Transformační matice jsou:

Tyto barvonosné složky mohou být, ale nemusí nutně být, down-zmenšen v rozlišení.

Vlnková transformace

Barevné složky jsou poté vlnky transformovány do libovolné hloubky. Na rozdíl od JPEG 1992, který používá diskrétní kosinovou transformaci o velikosti bloku 8x8 , používá PGF jednu reverzibilní vlnkovou transformaci: zaoblenou verzi biortogonální vlnkové transformace CDF 5/3 . Tato banka vlnkových filtrů je přesně stejná jako reverzibilní vlnka použitá v JPEG 2000. Používá pouze celočíselné koeficienty, takže výstup nevyžaduje zaokrouhlování (kvantování), a proto nezavádí žádný kvantovací šum.

Kvantování

Po vlnkové transformaci jsou koeficienty skalárně kvantifikovány, aby se snížilo množství bitů, které je budou reprezentovat, na úkor ztráty kvality. Výstupem je sada celých čísel, která musí být kódována bit-by-bit. Parametr, který lze změnit pro nastavení konečné kvality, je krok kvantizace: čím větší je krok, tím větší je komprese a ztráta kvality. S krokem kvantování, který se rovná 1, se neprovádí žádná kvantizace (používá se při bezztrátové kompresi). Na rozdíl od JPEG 2000 používá PGF pouze mocniny dvou, proto hodnota parametru i představuje kvantizační krok 2 i . Pouhé použití pravomocí dvou nevyžaduje operace celočíselného násobení a dělení.

Kódování

Výsledkem předchozího procesu je soubor dílčích pásem, která představují několik aproximačních stupnic. Podpásmo je sada koeficientů - celočíselná čísla, která představují aspekty obrazu spojené s určitým frekvenčním rozsahem i prostorovou plochu obrazu.

Kvantované dílčí pásma se dále dělí na bloky , obdélníkové oblasti ve vlnkové doméně. Obvykle se vybírají tak, aby jejich koeficienty v dílčích pásmech tvořily přibližně prostorové bloky v (rekonstruované) obrazové doméně a shromažďovaly se v makrobloku pevné velikosti .

Kodér musí kódovat bity všech kvantovaných koeficientů makrobloku, počínaje nejvýznamnějšími bity a postupujícími k méně významným bitům. V tomto procesu kódování se každá bitová rovina makrobloku kóduje ve dvou takzvaných kódovacích průchodech , nejprve se kódují bity významných koeficientů, pak se zdokonalují bity významných koeficientů. Je zřejmé, že v bezztrátovém režimu musí být všechny bitové roviny zakódovány a žádné bitové roviny nelze odhodit.

Pouze významné koeficienty jsou komprimovány kodérem adaptivní běhové délky / rýže (RLR), protože obsahují dlouhé běhy nul. Kodér RLR s parametrem k (logaritmická délka běhu nul) je také známý jako základní Golombův kód řádu 2 k .

Srovnání s jinými formáty souborů

  • JPEG 2000 je při zpracování přirozených obrázků o něco prostorově efektivnější. PSNR pro stejný kompresní poměr je v průměru o 3% vyšší než u PSNR PGF. Má malou výhodu v kompresním poměru, ale delší časy kódování a dekódování.
  • PNG (Portable Network Graphics) je prostorově efektivnější při zpracování obrázků s mnoha pixely stejné barvy.

Existuje několik samozvaných výhod PGF oproti běžnému standardu JPEG:

  • Vynikající kompresní výkon : Kvalita obrazu (měřeno v PSNR ) pro stejný kompresní poměr je v průměru o 3% lepší než PSNR ve formátu JPEG. Při nižších bitových rychlostech (např. Méně než 0,25 bitů / pixel pro obrázky v šedé stupnici) má PGF mnohem významnější výhodu oproti určitým režimům JPEG: artefakty jsou méně viditelné a není téměř žádné blokování. Zisk komprese oproti JPEG se připisuje použití DWT .
  • Zobrazení více rozlišení : PGF poskytuje bezproblémovou kompresi více obrazových komponent, přičemž každá komponenta nese od 1 do 31 bitů na vzorek komponenty. Díky této funkci není třeba samostatně ukládat náhledové obrázky ( miniatury ).
  • Progresivní přenos s přesností rozlišení, běžně označovaný jako progresivní dekódování: PGF poskytuje efektivní organizace codestream, které jsou progresivní podle rozlišení. Tímto způsobem, poté, co byla přijata menší část celého souboru, je možné vidět nižší kvalitu konečného obrázku, kvalitu lze zlepšit monotónně získáním více dat ze zdroje.
  • Bezztrátová a ztrátová komprese : PGF poskytuje bezztrátovou i ztrátovou kompresi v jediné kompresní architektuře. Ztrátová i bezeztrátová komprese je zajištěna použitím reverzibilní (celočíselné) vlnkové transformace.
  • Prostorové informace postranního kanálu : Transparentnost a alfa roviny jsou plně podporovány
  • Extrakce ROI : Od verze 5 podporuje PGF extrakci oblastí zájmu ( ROI ) bez dekódování celého obrazu.

Dostupný software

Autor publikoval libPGF prostřednictvím SourceForge pod GNU Lesser General Public License verze 2.0. Xeraina nabízí bezplatný plugin pro formát souborů Photoshopu .8bi , kodér a dekodér konzoly Win32 a prohlížeče PGF založené na WIC pro 32bitové a 64bitové platformy Windows. Jiné aplikace WIC, včetně programu Photo Gallery, mohou po instalaci tohoto prohlížeče zobrazit obrázky PGF.

Digikam je populární open-source software pro úpravy a katalogizaci obrázků, který pro své miniatury používá libPGF . Využívá funkci progresivního dekódování obrazů PGF k uložení jedné verze každé miniatury, kterou lze poté bez ztráty dekódovat na různá rozlišení, což umožňuje uživatelům dynamicky měnit velikost miniatur, aniž by je bylo nutné znovu přepočítávat.

Viz také

Přípona souboru

Přípona souboru .pgf a TLA PGF se také používají pro nesouvisející účely:

Reference