Image interpolation occurs in all digital photos at some stage – whether it be in bayer demosaicing or in photo enlargement. Dochází k ní vždy, když změníte velikost nebo přemapujete (zkreslíte) obrázek z jedné pixelové mřížky na jinou. Změna velikosti obrázku je nutná, když potřebujete zvětšit nebo zmenšit celkový počet pixelů, zatímco přemapování může nastat v rámci širší škály scénářů: korekce zkreslení objektivu, změna perspektivy a otočení obrázku.

I když se provede stejná změna velikosti nebo přemapování obrázku, výsledky se mohou výrazně lišit v závislosti na interpolačním algoritmu. Jedná se pouze o aproximaci, proto obrázek při každém provedení interpolace vždy ztratí určitou kvalitu. Cílem tohoto kurzu je lépe porozumět tomu, jak se mohou výsledky lišit – což vám pomůže minimalizovat případné ztráty kvality obrazu způsobené interpolací.
- KONCEPT
- PŘÍKLAD ROZMĚRU OBRAZU
- PŘÍKLAD OTÁČENÍ OBRÁZKU
- TIPY INTERPOLAČNÍCH ALGORITMŮ
- INTERPOLACE NEJBLIŽŠÍM SOUSEDEM
- BILINEÁRNÍ INTERPOLACE
- BIKUBICKÁ INTERPOLACE
- INTERPOLACE VYŠŠÍHO ŘÁDU: SPLINE & SINC
- INTERPOLAČNÍ ARTEFAKTY, NA KTERÉ SI MUSÍTE DÁT POZOR
- ANTI-ALIASING
- POZNÁMKA O OPTICKÉM VYBRANÉM VYBRANÉM DIGITÁLNÍM ZOOMU
KONCEPT
Interpolace funguje tak, že k odhadu hodnot v neznámých bodech se používají známá data. Například: pokud byste chtěli znát teplotu v poledne, ale naměřili byste ji pouze v 11:00 a 13:00, mohli byste její hodnotu odhadnout provedením lineární interpolace:

Pokud byste měli k dispozici další měření v 11:00:30:00, mohli byste vidět, že většina nárůstu teploty nastala před polednem, a mohli byste tento dodatečný datový bod použít k provedení kvadratické interpolace:

Čím více měření teploty, která se blíží poledni, máte, tím sofistikovanější (a snad i přesnější) může být váš interpolační algoritmus.
PŘÍKLAD ROZMĚRU OBRAZU
Interpolace obrazu pracuje ve dvou směrech a snaží se dosáhnout co nejlepší aproximace barvy a intenzity pixelu na základě hodnot u okolních pixelů. Následující příklad ilustruje, jak funguje změna velikosti/zvětšení:

→

.


Na rozdíl od kolísání teploty vzduchu a výše uvedeného ideálního gradientu, se hodnoty pixelů mohou z jednoho místa na druhé měnit mnohem prudčeji. Stejně jako u příkladu s teplotou platí, že čím více víte o okolních pixelech, tím lepší bude interpolace. Proto se výsledky rychle zhoršují, čím více obrázek roztáhnete, a interpolace nikdy nemůže do obrázku přidat detaily, které tam ještě nejsou.
PŘÍKLAD OTÁČENÍ OBRÁZKU
Interpolace také nastává při každém otočení nebo zkreslení obrázku. Předchozí příklad byl zavádějící, protože se jedná o příklad, ve kterém jsou interpolátory obzvláště dobré. Další příklad ukazuje, jak lze poměrně rychle ztratit detaily obrazu:

→


(bezztrátová)

Otáčení

Otáčení
Otáčení o 90° je bezeztrátové, protože žádný pixel nemusí být nikdy přemístěn na hranici mezi dvěma pixely (a tedy rozdělen). Všimněte si, jak se většina detailů ztratí již při prvním otočení, ačkoli s dalšími otočeními se obraz stále zhoršuje. Člověk by se proto měl otáčení fotografií pokud možno vyhnout; pokud to nevyrovnaná fotografie vyžaduje, otáčejte maximálně jednou.
Výše uvedené výsledky používají tzv. bikubický algoritmus a vykazují výrazné zhoršení. Všimněte si celkového snížení kontrastu, které je patrné tím, že barva je méně intenzivní, a jak se kolem světle modré vytváří tmavé halo. Výše uvedené výsledky by bylo možné výrazně zlepšit v závislosti na interpolačním algoritmu a předmětu.
TIPY INTERPOLAČNÍCH ALGORITMŮ
Obvyklé interpolační algoritmy lze rozdělit do dvou kategorií: adaptivní a neadaptivní. Adaptivní metody se mění v závislosti na tom, co interpolují (ostré hrany vs. hladká textura), zatímco neadaptivní metody zachází se všemi pixely stejně.
Mezi neadaptivní algoritmy patří: nejbližší soused, bilineární, bikubické, spline, sinc, lanczos a další. V závislosti na své složitosti používají při interpolaci od 0 do 256 (nebo více) sousedních pixelů. Čím více sousedních pixelů zahrnují, tím mohou být přesnější, ale je to na úkor mnohem delší doby zpracování. Tyto algoritmy lze použít jak ke zkreslení, tak ke změně velikosti fotografie.


Adaptivní algoritmy zahrnují mnoho proprietárních algoritmů v licencovaném softwaru, např: Qimage, PhotoZoom Pro, Genuine Fractals a další. Mnohé z nich při detekci přítomnosti hrany použijí jinou verzi svého algoritmu (na základě jednotlivých pixelů) – cílem je minimalizovat nevzhledné interpolační artefakty v oblastech, kde jsou nejvíce patrné. Tyto algoritmy jsou primárně určeny k maximalizaci detailů bez artefaktů na zvětšených fotografiích, takže některé z nich nelze použít ke zkreslení nebo otočení obrázku.
INTERPOLACE NEJBLIŽŠÍM SOUSEDEM
Nejbližší soused je nejzákladnější a vyžaduje nejméně času na zpracování ze všech interpolačních algoritmů, protože bere v úvahu pouze jeden pixel – nejbližší k interpolovanému bodu. To má za následek, že se každý pixel jednoduše zvětší.
BILINEÁRNÍ INTERPOLACE

Bilineární interpolace uvažuje nejbližší okolí 2×2 známých hodnot pixelů obklopujících neznámý pixel. Poté použije vážený průměr těchto 4 pixelů, aby dosáhla konečné interpolované hodnoty. Výsledkem je mnohem hladší vzhled obrazu než u nejbližšího souseda.
Diagram vlevo je pro případ, kdy jsou všechny vzdálenosti známých pixelů stejné, takže interpolovaná hodnota je jednoduše jejich součet dělený čtyřmi.
BIKUBICKÁ INTERPOLACE

Bikubická interpolace jde o krok dál než bilineární tím, že bere v úvahu nejbližší 4×4 sousedství známých pixelů – celkem 16 pixelů. Jelikož jsou tyto pixely v různé vzdálenosti od neznámého pixelu, bližší pixely mají při výpočtu vyšší váhu. Bicubic vytváří znatelně ostřejší obrázky než předchozí dvě metody a je pravděpodobně ideální kombinací času zpracování a kvality výstupu. Z tohoto důvodu je standardem v mnoha programech pro úpravu obrázků (včetně Adobe Photoshop), ovladačích tiskáren a interpolaci ve fotoaparátu.
INTERPOLACE VYŠŠÍHO ŘÁDU: SPLINE & SINC
Existuje mnoho dalších interpolátorů, které berou v úvahu více okolních pixelů, a jsou proto také mnohem výpočetně náročnější. Mezi tyto algoritmy patří spline a sinc a po interpolaci zachovávají nejvíce informací o obrazu. Jsou proto mimořádně užitečné, pokud obraz vyžaduje několikanásobné otočení/zkreslení v samostatných krocích. Pro zvětšení nebo otočení v jednom kroku však tyto algoritmy vyššího řádu poskytují klesající vizuální zlepšení s prodlužující se dobou zpracování.
INTERPOLAČNÍ ARTEFAKTY, NA KTERÉ SI MUSÍTE DÁT POZOR
Všechny neadaptivní interpolátory se snaží najít optimální rovnováhu mezi třemi nežádoucími artefakty: halo na hranách, rozmazání a aliasing.

400%
→



I nejpokročilejší ne.adaptivní interpolátory musí vždy jeden z výše uvedených artefaktů zvýšit nebo snížit na úkor ostatních dvou – proto bude alespoň jeden z nich viditelný. Všimněte si také, jak se okrajové halo podobá artefaktu vzniklému přeostřením pomocí neostré masky a zlepšuje vzhled ostrosti zvýšením akutnosti.
Adaptivní interpolátory mohou, ale nemusí vytvářet výše uvedené artefakty, mohou však také vyvolat neobrazové textury nebo podivné pixely v malých měřítkách:

220%
→

Na druhé straně, lze některé z těchto „artefaktů“ adaptivních interpolátorů považovat také za výhody. Vzhledem k tomu, že oko očekává, že v oblastech s jemnou texturou, jako je například listí, uvidí detaily až do nejmenších měřítek, tvrdí se, že tyto vzory klamou oko na dálku (u některých objektů).
ANTI-ALIASING
Anti-aliasing je proces, který se snaží minimalizovat výskyt aliasingu nebo zubatých diagonálních hran, označovaných jako „jaggies“. Ty dodávají textu nebo obrázkům hrubý digitální vzhled:


(s aliasingem)


(Bez aliasingu)
Anti-aliasing odstraňuje tyto trhliny a dodává vzhled hladších okrajů a vyšší rozlišení. Funguje tak, že bere v úvahu, jak moc ideální hrana překrývá sousední pixely. Hrana s aliasingem se jednoduše zaokrouhlí nahoru nebo dolů bez mezihodnoty, zatímco hrana s anti-aliasingem dává hodnotu úměrnou tomu, jak velká část hrany se nacházela v každém pixelu:

Volba: | Aliasing | Anti-Aliasing |

Hlavní překážkou při zvětšování obrazu je zabránit interpolátoru, aby vyvolal nebo zhoršil aliasing. Mnoho adaptivních interpolátorů detekuje přítomnost hran a upravuje je tak, aby minimalizovaly aliasing a zároveň zachovaly ostrost hran. Vzhledem k tomu, že antialiasing hrany obsahuje informaci o poloze této hrany při vyšším rozlišení, lze si také představit, že výkonný adaptivní (hrany detekující) interpolátor by mohl tuto hranu při zvětšování alespoň částečně rekonstruovat.
POZNÁMKA O OPTICKÉM VYBRANÉM VYBRANÉM DIGITÁLNÍM ZOOMU
Mnoho kompaktních digitálních fotoaparátů může provádět jak optický, tak digitální zoom. Fotoaparát provádí optický zoom pohybem objektivu tak, že zvětší zvětšení světla ještě předtím, než dosáhne digitálního snímače. Naproti tomu digitální zoom snižuje kvalitu prostou interpolací obrazu – poté, co byl získán na snímači.



Přestože fotografie s digitálním zoomem obsahuje stejný počet pixelů, detailů je zjevně mnohem méně než u optického zoomu. Digitálnímu zoomu byste se měli téměř úplně vyhnout, pokud vám nepomůže vizualizovat vzdálený objekt na náhledové obrazovce LCD fotoaparátu. Případně pokud pravidelně fotografujete do formátu JPEG a plánujete následný ořez a zvětšení fotografie, digitální zoom má alespoň tu výhodu, že interpolaci provede dříve, než se projeví jakékoliv kompresní artefakty. Pokud zjistíte, že digitální zoom potřebujete příliš často, pořiďte si přídavný telekonvertor nebo ještě lépe: objektiv s delší ohniskovou vzdáleností.
Další informace naleznete v konkrétnějších návodech na téma:
Digitální zvětšení fotografií
Změna velikosti obrázků pro web a e-mail

.