Billedskalering

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 29. december 2015; checks kræver 69 redigeringer .

Billedskalering  er at ændre størrelsen på et digitalt billede , mens billedformatet bevares . Skalering betyder både en stigning (“ opskalering ” fra engelsk opskalering ) og en reduktion (“ nedskalering ” fra engelsk nedskalering ) af billedopløsningen . Det er meget udbredt i computergrafik , videobehandling , især er det implementeret på hardwareniveau i fjernsyn og videoafspillere .   

På samme tid, afhængigt af typen af ​​grafik ( raster , vektor ), udføres skalering af forskellige algoritmer . Skalering af vektorbilleder sker uden tab af billedkvalitet, mens rasterbilleder øges, kan billedkvaliteten gå tabt: betydelige forvrængninger i geometrien af ​​små detaljer og forekomsten af ​​falske mønstre på teksturer er mulige . Derfor, når du skalerer bitmaps, bruges specialiserede algoritmer til at udjævne uønskede effekter.

Generelle skaleringsmetoder

Den generelle teori om skaleringsmetoder er beskrevet i artiklen Resampling .

Hvis billedet har små kontrasterende detaljer, er det vigtigt at konvertere det til et lineært farverum - ellers (hvis kilden er i sRGB ), vil det resulterende "rod" af lys og mørke i det reducerede billede være mørkere end nødvendigt.

Resampling-filtervinduet er lig med størrelsen af ​​kilde- eller destinationspixlen - alt efter hvad der er størst [1] .

Mange algoritmer har brug for virtuelle pixels uden for rammebufferen. Afhængigt af formålet med algoritmen kan du fysisk gøre billedet et par pixels større eller tage data fra et andet sted ved hjælp af hvis-så- metoden . Data kan tages fra kanterne (hvis vi har at gøre med et færdigt billede), tage tomme pixels (hvis billedet er en sprite ), eller tage pixels fra den anden side af billedet (hvis billedet skal gentages problemfrit ) .

Forøg

For at øge bruger de normalt ikke resampling-filtre i en generel form, men et særligt tilfælde - interpolation.

Den enkleste måde at fordoble opløsningen på er at kopiere den nærmeste pixelmetode , som erstatter hver pixel med fire pixel af samme farve, mens billedet, mens det bevarer originalens detaljer, får en uønsket " stigeeffekt ". Den samme metode kan bruges til mere subtile ændringer i opløsning, for eksempel for en skala på henholdsvis 99% eller 101%, fjern eller duplikere hver hundrededel af et punkt.

Den bilineære interpolationsmetode giver en vis bevarelse af glatheden af ​​billedets konturer, men forårsager nogle gange uønskede virkninger af udjævning af detaljer og genererer stadig en ret mærkbar "trappeeffekt". En mere avanceret metode er at bruge bikubisk interpolation .

Reducer

For at reducere billeder bruges foldning med en eller anden kernefunktion. Den nærmeste nabo-metode svarer til et smalt rektangel, bilineær interpolation - en trekantet kerne ... Ofte bruges Lanczos-filteret til at reducere fotos , som giver subjektiv skarphed, og et rektangulært filter ( box-filter ), som slører billedet.

Brug af zoommetoder til at zoome ud og omvendt

En lille (op til 0,5×) reduktion udføres ofte ved interpolation. Ved højere koefficienter begynder informationstab - deraf den anbefaling, der opstod i de første fotoredaktørers dage om at reducere i etaper, ikke mere end to gange ad gangen.

Nærmeste nabointerpolation og bilineær interpolation, som de enkleste, bruges, når realtidsskalering er påkrævet i spil og grafiksoftware. MIP-teksturering er baseret på at tage en kvalitativt reduceret tekstur af en passende størrelse - og derefter skalere den ved interpolation med en faktor tæt på én.

Kernfoldningsmetoden, der bruges ved reduktion, ved forøgelse (hvis du indstiller den korrekte vinduesbredde - 1 original pixel) skader ikke kvaliteten, men kan give ekstra beregningsarbejde. Nogle kerner (såsom Lanczos-filteret ) introducerer deres egne artefakter, når de forstørres mere end to gange.

Det rektangulære filter bruges af moderne (2010'erne og senere) pixelspil til at øge billedet to gange eller mere, inklusive med en ikke-heltalsfaktor [2] .

Metoder til skalering af pixelkunst

For at forstørre småfarvede billeder i lav opløsning er specielle algoritmer bedst egnede , udviklet til rastergrafik, som tillader, med små forvrængninger i nøjagtigheden af ​​tegningsformer, at bevare og understrege klare konturer og fine detaljer. Der er også anti-aliasing-algoritmer, der er egnede til at behandle fotografier og flerfarvede rasterbilleder med en stigeeffekt, grupperet under navnet "super-scale methods" ( eng.  supersampling ).

Sammenligning

Tabellen sammenligner skaleringsalgoritmer lavet med freeware 2dimagefilter .

Algoritme Billede
(originale billeder)
Super-xBR 4x
Ørn 3x
hq3x
Skala 3x
XBR 3x
SuperEagle
SuperSaI
SaI 2x
Skala 2x

Metoder til skalering af vektorgrafik

Vektorgrafik kan gengives i enhver opløsning, du ønsker. Men der er nuancer.

En separat opgave er at skalere et åbenlyst vektor/ grafisk billede, der er gengivet til et raster og muligvis forvrænget af komprimeringsalgoritmer (f.eks. til gendannelse af tegnefilm ). Opgaven er ikke så restriktiv som rastersporing  - hvis der for eksempel opdages en gradientfyldning, skal den ikke konverteres til vektorprimitiver. Til dette er der for eksempel en neural netværksalgoritme waifu2x .

Afstand til synlig forskel

De videnskabelige data, der bruges til at beregne opløsningen af ​​det menneskelige øje, er grundlaget for at beregne den optimale synsafstand for forskellige skærmopløsninger. Når du sidder på den optimale afstand, vil du være i stand til at se alle detaljerne på skærmen uden at stirre på individuelle pixels. Den optimale afstand afhænger af skærmstørrelsen. Jo større skærmen er, jo længere kan du sidde fra den.

Hvis du sidder i den optimale afstand, vil du se alle detaljerne i billedet. Når du bevæger dig væk fra skærmen, vil detaljer gå tabt, og billedet vil se blødere ud. Hvis du ser 4K-indhold på et 4K -tv , og du sidder i den optimale afstand til et 1080p -tv , vil du se et 4K-billede på skærmen, men dine øjne vil se 1080p.

Brug i spillekonsollemulatorer

Takket være den kraftfulde hardwarekomponent i moderne computere er det muligt at bruge billedskaleringsalgoritmer i realtid til videospil. Meget optimerede algoritmer giver et klart og detaljeret billede med minimal sløringseffekt, uden at det kræver væsentlige systemressourcer. De bruges i mange spilkonsolemulatorer såsom HqMAME , DOSBox og ScummVM .

Billedskaleringsalgoritmer bruges i kommercielle Xbox Live , Virtual Console og PlayStation Network- emulatorer og giver spillere, fans af lavopløsningsspil fra 80'erne og 90'erne mulighed for at se deres yndlingsspil med acceptabel billedkvalitet på HD-skærme . Sådanne algoritmer bruges i Sonics Ultimate Genesis Collection , Castlevania: The Dracula X Chronicles , Castlevania: Symphony of the Night og Akumajō Dracula X Chi no Rondo .

Problemer med billedskalering

Ved skalering af billeder er det mest almindelige problem den "jagged"-effekt, som elimineres af anti -aliasing- algoritmer . I dette tilfælde antager pixels , der støder op til billedets kantpixel , en mellemværdi mellem billedfarven og baggrundsfarven, hvilket skaber en gradient og slører kanten.

Billedskalering med anti-aliasing afhænger af den anvendte farvemodel . Standardskærmmodellen er sRGB med en stykkevis polynomisk responskurve, som tilnærmer sig godt en effektkurve . Men de fleste grafikbiblioteker behandler sRGB som et lineært rum. Problemet er mindre mærkbart for fotos og mere for tegninger.

Der er en simpel algoritme til at øge pixel art ("avanceret nærmeste nabo") med en brøkfaktor på 2 eller mere, men der er ingen lignende algoritme med en faktor på 1 til 2. Derfor forsøger moderne (2010'er) spil med pixelgrafik at gøre mindst to gange opløsningen mindre end målmaskinen [2] .

Historikere er alvorligt bekymrede over neurale netværksalgoritmer, der automatisk kommer med detaljer – fordi de finder på noget, der ikke var på det originale billede. Og det kan vise sig, at det mest populære billede vil være et billede af teknisk højere kvalitet – men ikke autentisk. Eller efter at have kørt gennem en lignende tjeneste, vil ejeren slette originalen af ​​"lav kvalitet" [3] .

Se også

Noter

  1. Grundlæggende om billedresampling . Hentet 11. maj 2020. Arkiveret fra originalen 23. januar 2022.
  2. 1 2 Gamasutra: Lars Doucets blog - Lav en HD-genindspilning på den rigtige måde . Hentet 3. marts 2020. Arkiveret fra originalen 3. marts 2020.
  3. Når jeg hører ordene "det neurale netværk gendannet", klatrer jeg for at tjekke sikkerhedskopier / Sudo Null IT News . Hentet 3. marts 2020. Arkiveret fra originalen 2. marts 2020.

Litteratur

Links

herunder Hqnx-familien, SaI, Eagle, EPX, XBR, XBRz, Lanczos osv.