Změna velikosti obrázku - Image scaling

Obrázek v měřítku s měřítkem nejbližšího souseda (vlevo) a 2 × měřítkem SaI (vpravo)

V počítačové grafice a digitálním zobrazování se měřítkem obrazu rozumí změna velikosti digitálního obrazu. Ve video technologii je zvětšení digitálního materiálu známé jako upscaling nebo vylepšení rozlišení .

Při změně měřítka vektorového grafického obrázku lze grafická primitiva, která tvoří obrázek, škálovat pomocí geometrických transformací bez ztráty kvality obrazu . Při změně měřítka rastrového grafického obrázku je třeba vygenerovat nový obrázek s vyšším nebo nižším počtem pixelů. V případě snížení počtu pixelů (zmenšení) to obvykle vede ke viditelné ztrátě kvality. Z hlediska digitálního zpracování signálu je měřítko rastrové grafiky dvourozměrným příkladem převodu vzorkovací frekvence , převodu diskrétního signálu ze vzorkovací frekvence (v tomto případě místní vzorkovací frekvence) na jinou.

Matematický

Škálování obrazu lze interpretovat jako formu převzorkování obrazu nebo rekonstrukce obrazu z pohledu Nyquistovy vzorkovací věty . Podle věty lze převzorkování na menší obraz z originálu s vyšším rozlišením provést pouze po použití vhodného 2D vyhlazovacího filtru, aby se zabránilo artefaktům aliasingu. Obrázek se zmenší na informace, které lze přenášet menším obrázkem.

V případě vzorkování nahoru místo filtru vyhlazování nahradí rekonstrukční filtr.

Sofistikovanější přístup k upscalingu zachází s problémem jako s inverzním problémem a řeší otázku generování věrohodného obrazu, který by při zmenšení vypadal jako vstupní obrázek. K tomu byla použita celá řada technik, včetně optimalizačních technik s regularizačními pojmy a použití strojového učení z příkladů.

Algoritmy

Velikost obrázku lze změnit několika způsoby.

Interpolace nejbližších sousedů

Jedním z nejjednodušších způsobů zvětšení velikosti obrazu je interpolace nejbližšího souseda , která nahradí každý pixel nejbližším pixelem ve výstupu; pro upscaling to znamená, že bude přítomno více pixelů stejné barvy. To může zachovat ostré detaily v pixelové grafice, ale také zavést členitost u dříve hladkých obrázků. „Nejbližší“ v nejbližším sousedovi nemusí být matematicky nejbližší. Jedna běžná implementace je vždy zaokrouhlit na nulu. Zaokrouhlování tímto způsobem produkuje méně artefaktů a je rychlejší při výpočtu.

Bilineární a bikubické algoritmy

Bilineární interpolace funguje interpolací hodnot barevných pixelů a zavádí nepřetržitý přechod do výstupu, i když má původní materiál diskrétní přechody. I když je to u obrazů s nepřetržitým tónem žádoucí, tento algoritmus snižuje kontrast (ostré hrany) způsobem, který může být pro čárovou grafiku nežádoucí. Bikubická interpolace přináší podstatně lepší výsledky se zvýšením výpočetních nákladů.

Převzorkování Sinc a Lanczos

Teoretické převzorkování vzorků poskytuje nejlepší možnou rekonstrukci signálu s dokonalým omezením pásma. V praxi předpoklady za převzorkováním sinc nejsou zcela splněny skutečnými digitálními obrazy. Lanczosovo převzorkování , aproximace k metodě sinc, přináší lepší výsledky. Bikubickou interpolaci lze považovat za výpočetně efektivní aproximaci Lanczosova převzorkování.

Krabicový odběr vzorků

Jednou slabinou bilineárních, bikubických a souvisejících algoritmů je, že vzorkují určitý počet pixelů. Při zmenšení velikosti pod určitou prahovou hodnotu, například více než dvakrát pro všechny algoritmy bi-vzorkování, budou algoritmy vzorkovat nesousedící pixely, což má za následek ztrátu dat a hrubé výsledky.

Triviálním řešením tohoto problému je vzorkování rámečku, které má považovat cílový pixel za rámeček na původním obrázku, a vzorkování všech pixelů uvnitř rámečku. Tím je zajištěno, že všechny vstupní pixely přispívají k výstupu. Hlavní slabinou tohoto algoritmu je, že je těžké jej optimalizovat.

Mipmap

Dalším řešením problému zmenšení měřítka bi-vzorkování jsou zmenšené mapy . Mipmapa je přednastavená sada zmenšených kopií. Při zmenšení měřítka se jako počátek použije nejbližší větší mipmapa, aby se zajistilo, že se nepoužije žádné měřítko pod užitečnou prahovou hodnotou bilineárního měřítka. Tento algoritmus je rychlý a snadno optimalizovatelný. Je standardem v mnoha rámcích, jako je OpenGL . Cena spočívá v použití více obrazové paměti, přesně o třetinu více ve standardní implementaci.

Metody Fourierovy transformace

Jednoduchá interpolace založená na Fourierově transformaci vyplní frekvenční doménu nulovými složkami (hladký přístup založený na okně by omezil vyzvánění ). Kromě dobrého zachování (nebo obnovy) detailů je pozoruhodné vyzvánění a kruhové krvácení obsahu od levého okraje k pravému okraji (a naopak).

Okrajová interpolace

Algoritmy interpolace zaměřené na hrany mají za cíl zachovat hrany v obrazu po změně měřítka, na rozdíl od jiných algoritmů, které mohou zavádět artefakty schodiště.

Mezi příklady algoritmů pro tento úkol patří New Edge-Directed Interpolation (NEDI), Edge-Guided Image Interpolation (EGGI), Iterative Curvature -Based Interpolation (ICBI) a Directional Cubic Convolution Interpolation (DCCI). Analýza z roku 2013 zjistila, že DCCI mělo nejlepší skóre v PSNR a SSIM na řadě testovacích obrázků.

hqx

U zvětšování počítačové grafiky s nízkým rozlišením a / nebo několika barvami (obvykle od 2 do 256 barev) lze dosáhnout lepších výsledků pomocí hqx nebo jiných algoritmů škálování pixel-art . Produkují ostré hrany a udržují vysokou úroveň detailů.

Vektorizace

Vektorová extrakce nebo vektorizace nabízí jiný přístup. Vektorizace nejprve vytvoří vektorové rozlišení grafiky nezávislé na rozlišení, které má být změněno. Poté se verze nezávislá na rozlišení vykreslí jako rastrový obrázek v požadovaném rozlišení. Tuto techniku ​​používají Adobe Illustrator , Live Trace a Inkscape . Škálovatelná vektorová grafika se dobře hodí k jednoduchým geometrickým obrázkům, zatímco fotografie kvůli své složitosti nedokáží dobře vektorizaci.

Hluboké konvoluční neuronové sítě

Tato metoda využívá strojové učení pro podrobnější obrázky, jako jsou fotografie a složitá umělecká díla. Programy, které používají tuto metodu, zahrnují waifu2x , Imglarger a Neural Enhance.

Demonstrace konvenčního upscalingu vs. Waifu2x upscalingu s redukcí šumu, s použitím detailu Phosphorus and Hesperus od Evelyn De Morgan . Klikněte pro plné velikosti.
Originální obrázek
Image upscaled 200% using PaintShop Pro
Image upscaled 200% using waifu2x in Photo mode with Medium noise reduction
Image upscaled 400% using Topaz AI Gigapixel with Low noise reduction
Image upscaled 400% using RealSR DF2K-JPEG

Aplikace

Všeobecné

Škálování obrazu se používá mimo jiné v aplikacích, webových prohlížečích , editorech obrázků , prohlížečích obrázků a souborů, softwarových lupách, digitálním zoomu, procesu generování miniatur a při výstupu obrázků přes obrazovky nebo tiskárny.

Video

Tato aplikace je zvětšení obrazu pro domácí kina pro výstupní zařízení připravená na HDTV z obsahu PAL-Resolution, například z DVD přehrávače. Upscaling se provádí v reálném čase a výstupní signál se neukládá.

Škálování pomocí pixelového umění

Protože pixelová grafika má obvykle nízké rozlišení, spoléhá se na pečlivé umisťování jednotlivých pixelů, často s omezenou paletou barev. Výsledkem je grafika, která se při definování složitých tvarů s malým rozlišením až po jednotlivé pixely spoléhá na stylizované vizuální podněty. Díky tomu je měřítko pixelového umění obzvláště obtížným problémem.

Byly vyvinuty specializované algoritmy pro zpracování grafiky typu pixel art, protože tradiční algoritmy škálování nezohledňují vjemové narážky.

Jelikož typickou aplikací je zlepšení vzhledu videoher čtvrté generace a dřívějších her na arkádových a konzolových emulátorech , mnohé jsou navrženy tak, aby fungovaly v reálném čase pro malé vstupní obrázky rychlostí 60 snímků za sekundu.

Na rychlém hardwaru jsou tyto algoritmy vhodné pro hraní her a další zpracování obrazu v reálném čase. Tyto algoritmy poskytují ostrou a ostrou grafiku při minimalizaci rozmazání. Algoritmy škálování umění byly implementovány v široké škále emulátorů, jako jsou HqMAME a DOSBox , stejně jako 2D herní enginy a herní enginy jako ScummVM . Získali uznání u hráčů, u nichž tyto technologie podporovaly oživení herních zážitků z 80. a 90. let.

Takové filtry se v současné době používají v komerčních emulátorech na Xbox Live , Virtual Console a PSN , aby klasické hry s nízkým rozlišením byly vizuálně atraktivnější na moderních HD displejích. Mezi nedávno vydané hry, které obsahují tyto filtry, patří Sonic's Ultimate Genesis Collection , Castlevania: The Dracula X Chronicles , Castlevania: Symphony of the Night a Akumajō Dracula X Chi no Rondo .

Viz také

Reference