Растрлық кескіндердегі тік бұрыштар мен қабырғалы сызықтар мәселесі
Jaggies
Растрлық кескіндердегі «тігіздіктер» – бұл пиксельдердің жеткіліксіздігінен туындайтын қателер. Анти-алиасинг фильтрлеудің маңыздылығы, себептері мен шешімдері туралы біліңіз.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Растрлық пішіндерді қарапайым түрде үлкейтуден туындайтын тігірінді әсер, қисық сызықты анықтайтын аз ғана пиксельдердің нәтижесінде.
Jagged effect produced by naive upscaling of raster shapes with few pixels defining a curve
Жаггилер – растрлық кескіндердегі артефакттар, көбінесе алиасингтен пайда болады, ал алиасинг өзі жиі жоғары жиілікті компоненттер тудыратын сызықтық емес араласу эффектісінен немесе үлгі алу алдында антиалиасинг сүзгісінің жетіспеуінен немесе нашар жұмыс істеуінен туындайды. Жаггилер – тегіс түзу сызықтар немесе қисықтар болуы керек жерлерде пайда болатын сатылы сызықтар. Мысалы, номиналды түрде тік, алиасингі жоқ сызық бір пикселді көлденең немесе тік басып өтетін кезде, сызықтың ортасында "бұрылыс" пайда болады, ол бір пикселден екіншісіне өтетін шекте туындайды. Жаггилерді компрессия артефакттарымен шатастыруға болмайды, себебі компрессия артефакттары – мүлдем басқа құбылыс.
Jaggies are artifacts in raster images, most frequently from aliasing, which in turn is often caused by non linear mixing effects producing high frequency components, or missing or poor anti aliasing filtering prior to sampling. Jaggies are stair like lines that appear where there should be "smooth" straight lines or curves. For example, when a nominally straight, un aliased line steps across one pixel either horizontally or vertically, a "dogleg" occurs halfway through the line, where it crosses the threshold from one pixel to the other. Jaggies should not be confused with most compression artifacts, which are a different phenomenon.
Себептер
Жаңқалар "басқыш эффектісі" салдарынан пайда болады. Бұл себебі растрлық режимде бейнеленген сызық пиксельдер тізбегі арқылы жуықталады. Жаңқалар түрлі себептермен туындауы мүмкін, ең көп кездесетіні – шығару құрылғысының (дисплей мониторы немесе принтері) тегіс сызықты көрсетуге жеткілікті ажыратымдылығы болмауы. Сонымен қатар, жаңқалар биттік карталанған кескіннің басқа ажыратымдылыққа түрлендірілуі кезінде де жиі пайда болады. Векторлық графиканың биттік карталанған графикадан артықшылығы осында – шығару құрылғысының ажыратымдылығына қарамастан, нәтиже бірдей болып көрінеді.
Jaggies occur due to the "staircase effect". This is because a line represented in raster mode is approximated by a sequence of pixels. Jaggies can occur for a variety of reasons, the most common being that the output device (display monitor or printer) does not have enough resolution to portray a smooth line. In addition, jaggies often occur when a bit mapped image is converted to a different resolution. This is one of the advantages that vector graphics have over bitmapped graphics – the output looks the same regardless of the resolution of the output device.
Шешімдер
Жаггилердің әсерін кеңістіктік антиалиазинг деп аталатын графикалық техника арқылы біршама азайтуға болады. Антиалиазинг – бұл жарықсыз пикселдерді айналасында мөлдір пикселдерді орналастырып, қисық сызықтарды тегістеу әдісі, бұл бөлшек пикселдердің толтырылған сияқты көрінуін қамтамасыз етеді. Антиалиазингтің кемшілігі – контрастты төмендетуі, яғни өткір қара-ақ өткелдердің орнына сұр түстің түрлі реңктері пайда болады, нәтижесінде сурет бүркеленген болып көрінеді. Бұл қажетсіз келісім: егер ажыратымдылық қажетті егжей-тегжейді көрсетуге жеткіліксіз болса, шығыс жарықтанған немесе бүркеленген болады, немесе олардың аралас нұсқасы шығады. Сонымен қатар, биттік карта кескіні басқа ажыратымдылыққа ауыстырылғанда жаггилер жиі пайда болады. Олардың пайда болуының себептері әртүрлі болуы мүмкін, ең көп кездесетіні – шығыс құрылғысының (дисплей мониторы немесе принтері) тегіс сызықты бейнелеу үшін жеткілікті ажыратымдылығы болмауы. Нақты уақыт компьютерлік графикасында, әсіресе ойындарда, антиалиазинг көпбұрыштар мен басқа сызықтардың жиектерінде пайда болатын жаггилерді толығымен жою үшін қолданылады. Кейбір бейне ойын әзірлеушілер антиалиазингті өз ойындары үшін әдепкі бойынша қоспайды, себебі антиалиазинг қосылған жағдайда, ойынды секундына тегіс кадрлармен көрсету үшін аппараттық құрал жеткіліксіз болуы мүмкін. PlayStation 4 және Xbox One сияқты сегізінші буын бейне ойын консольдерінде антиалиазинг және кадр жылдамдығы айтарлықтай жақсартылды. Спрайттар мен беткі материалдар сияқты биттік карталардағы жаггилер көбінесе жеке текстуралық сүзгілеу әдістерімен шешіледі, оларды антиалиазинг сүзгілеуге қарағанда оңай орындауға болады. Текстуралық сүзгілеу 3Dfx-тің Voodoo GPU-ының енгізілуінен кейін компьютерлерде кең таралды.
The effect of jaggies can be reduced somewhat by a graphics technique known as spatial anti aliasing. Anti aliasing smooths out jagged lines by surrounding the jaggies with transparent pixels to simulate the appearance of fractionally filled pixels. The downside of anti aliasing is that it reduces contrast – rather than sharp black/white transitions, there are shades of gray – and the resulting image is fuzzy. This is an inescapable trade off: if the resolution is insufficient to display the desired detail, the output will either be jagged or fuzzy, or some combination thereof. In addition, jaggies often occur when a bit mapped image is converted to a different resolution. They can occur for variety of reasons, the most common being that the output device (display monitor or printer) does not have enough resolution to portray a smooth line. In real time computer graphics, especially gaming, anti aliasing is used to remove jaggies created by the edges of polygons and other lines entirely. Some video game developers do not enable anti aliasing by default for their games because the intended hardware is not powerful enough to run it at smooth frames per second if anti aliasing is enabled. On eighth generation video game consoles, such as the PlayStation 4 and Xbox One, anti aliasing and frame rate has been heavily improved. Jaggies in bitmaps, such as sprites and surface materials, are most often dealt with by separate texture filtering routines, which are far easier to perform than anti aliasing filtering. Texture filtering became ubiquitous on PCs after the introduction of 3Dfx's Voodoo GPU.
Терминнің ерекше қолданылуы
1985 жылы Фракталдан құтқару! ойынында, Atari 8 бит компьютерлері үшін жасалған, ойыншының ғарыш кемесінің пилот кабинасын көрсететін графикада екі терезе тірегі бар. Олар антиалиазингтен өтпегендіктен, өте "тігіріктелген" көрінеді. Ойынды жасағандар осыған қызықтап, ойындағы жауларды "Jaggi" деп атады, ал бастапқыда ойынды Behind Jaggi Lines! деп атауды жоспарлаған. Бірақ маркетинг бөлімі ойын шығар алдында бұл идеядан бас тартты.
In the 1985 game Rescue on Fractalus! for the Atari 8 bit computers, the graphics depicting the cockpit of the player's spacecraft contains two window struts, which are not anti aliased and are therefore very "jagged". The developers made fun of this and named the in game enemies "Jaggi", and also initially titled the game Behind Jaggi Lines!. The latter idea was scrapped by the marketing department before release.