Кіріспе

Жоғары ажыратылымды кескінді төмен ажыратылымда көрсету кезінде бұрмалау артефактілерін азайту

Цифрлық сигналдарды өңдеуде кеңістіктік антиалиазинг – жоғары ажыратылымды кескінді төмен ажыратылымда көрсету кезінде бұрмалау артефактілерін (алиазинг) азайту техникасы. Антиалиазинг цифрлық фотосуретке, компьютерлік графикаға, цифрлық аудиоға және көптеген басқа да қолданыстарға қолданылады. Антиалиазинг – жазу (немесе сынама алу) құрылғысы дұрыс шеше алатын жиіліктен жоғары жиілікті сигнал компоненттерін жою. Бұл жою төмен ажыратылыммен (қайта) сынама алудан бұрын жасалады. Егер сигналдың осы бөлігін алып тастамай сынама алынса, ол қара және ақ шу сияқты қолайсыз артефактілерге себеп болады. Сигналды алу және аудио салаларында антиалиазинг көбінесе аналогтық-цифрлық түрлендіргішпен сынама алу алдында кіріс сигналының жолақтан тыс компонентін жою үшін аналогтық антиалиазингтік сүзгіні пайдалану арқылы жүзеге асырылады. Цифрлық фотосуретте екі қырлы материалдардан жасалған оптикалық антиалиазингтік сүзгілер оптикалық кеңістіктегі сигналды тегістейді. Антиалиазингтік сүзгі негізінен кескінді сәл бұрмалап, сандық сенсордың қол жеткізе алатын ажыратылым деңгейіне дейін немесе одан төменге дейін төмендетеді (пиксельдің мөлшері неғұрлым үлкен болса, сенсор деңгейінде қол жеткізе алатын ажыратылым соғұрлым төмен болады).

Мысалдар

Компьютерлік графикада антиалиазинг «тігізгіш» көпбұрыштың жиектерінің немесе «жаггилердің» көрінісін жақсартады, осылайша олар экранда тегістеледі. Дегенмен, бұл графикалық картаның өнімділігіне кедері келтіреді және көбірек бейне жадын пайдаланады. Антиалиазинг деңгейі көпбұрыштың жиектерінің қаншалықты тегіс екенін (және қанша бейне жадын тұтынатынын) анықтайды. Шахмат тақтасы үлгісіндегі суреттің жоғарғы бөлігінде суретті тану қиын және эстетикалық тұрғыдан тартымсыз болады. Ал антиалиазинг қолданғанда, жоғарғы бөлігіндегі шахмат тақтасы сұр түске өтеді, бұл әдетте ажыратымдылық жеткіліксіз болғанда күтілетін нәтиже. Тіпті суреттің төменгі бөлігінде де, жиектер антиалиазинг қолданған суретте әлдеқайда тегіс көрінеді. Санк сүзгісі сияқты көптеген әдістер бар, ол жақсы антиалиазинг алгоритмі саналады. Үлкейтілгенде, антиалиазинг шекарадағы пикселдердің жарықтығын аралық сұр пикселдерді жасау үшін қалай интерполяциялайтынын көруге болады, өйткені кеңістік қара және ақ плиткалармен толтырылған. Бұл санк сүзгісінің антиалиазингтелген суретін түпнұсқасына қарағанда әлдеқайда тегіс көрсетуге көмектеседі. Қарапайым ромб суретінде антиалиазинг шекаралық пикселдерді біріктіреді; бұл антиалиазинг графикасында пайда болатын өткір, қадамды жиектердің эстетикалық жағынан ұнамсыз әсерін азайтады. Антиалиазинг көбінесе компьютер экранында мәтінді көрсету үшін қолданылады, бұл дәстүрлі сия мен қағаз басып шығару арқылы жасалған мәтіннің сыртқы түрін жақсырақ еліктейтін тегіс контурларды ұсынады. Әсіресе, LCD экрандарында көрсетілетін қаріптер үшін ClearType сияқты субпиксельдік рендеринг техникаларын қолдану кең таралған. Субпиксельдік рендеринг үшін күшті түс бұрмалануын көзге көрінбейтін түс шеңелдеріне айналдыру үшін арнайы түс теңгерілген антиалиазинг сүзгілері қажет. Сол сияқты нәтижелерге жеке субпиксельдерді толық пикселдер ретінде қарастыру және OLPC XO 1 ноутбугінің дисплей контроллерінде жасалғандай аппараттық антиалиазинг сүзгісін пайдалану арқылы қол жеткізуге болады. Пикселдің геометриясы осылардың бәріне әсер етеді, антиалиазинг және субпиксельдік адрестеу бағдарламалық немесе аппараттық қамтамасыз етуде жасалса да.

Сигналды өңдеуге қарсы тәсіл

Бұл тәсілде идеалды сурет сигнал ретінде қарастырылады. Экранға шығарылған сурет әрбір (x,y) пикселдік позицияда сигналдың сүзгіленген нұсқасының үлгілері ретінде алынады. Идеалдық жағдайда, адам миы бастапқы сигналды қалай өңдейтінін түсініп, экранда мидың ең ұқсас реакциясын тудыратын сурет беру қажет. Мұндай мәселелерді шешу үшін ең көп қолданылатын талдау құралы – Фурье түрлендіруі; ол сигналды әртүрлі жиіліктердің негізгі функцияларына, жиілік компоненттері деп аталатындарға, жіктейді және сигналдағы әрбір жиілік компонентінің амплитудасын анықтайды. Толқындар мына түрде жазылады:

мұндағы j және k – теріс емес бүтін сандар. Бір немесе екі өлшемде синус функцияларын қамтитын жиілік компоненттері де бар, бірақ осы талқылау үшін косинус жеткілікті. j және k сандары бірге компоненттің жиілігін анықтайды: j – x бағытындағы жиілік, ал k – y бағытындағы жиілік. Антиалиазингтік сүзгінің мақсаты – Никвист жиілігі деп аталатын белгілі бір шектен жоғары жиілікті күрт төмендету, осылайша сигнал үлгілері арқылы дәл немесе дерлік дәл бейнеленеді, үлгі алу теоремасына сәйкес; әртүрлі сүзгілік трансфер функциялары бар көптеген егжей-тегжейлі алгоритмдер бар. Қазіргі кезде адамның визуалды қабылдауы туралы білім, әдетте, қандай тәсілдің жақсы көрінетінін айту үшін жеткіліксіз.

Екі өлшемді қарастырулар

Алдыңғы талқылау тікбұрышты торлы үлгі алу мәселенің басым бөлігі деп есептейді. Әдетте ең жақсы деп саналатын сүзгі, бірінші суретте көрсетілгендей, айналмалы симметрияға ие емес; себебі деректер үздіксіз кескінді пайдаланбай, шаршы торда үлгіленеді. Осы үлгі алу үлгісі әр ось бойымен сигналды өңдеуді негіздейді, дәстүрлі түрде бір өлшемді деректерде жасалғандай. Ланчос қайта үлгілеуі sinc функциясының дискретті өрнегімен деректерді конволюциялауға негізделген. Егер ажыратымдылық бастапқы немесе мақсатты кескіннің тікбұрышты үлгі алу жиілігімен шектелмесе, деректер үздіксіз x және y екі өлшемді функциясы болғандай, айналмалы симметриялы сүзгіні немесе интерполяция функцияларын қолдану қажет. Радиус бойынша sinc функциясының құйрығы тым ұзын болғандықтан жақсы сүзгі жасау мүмкін емес (ол тіпті квадраттық интегралдана қоймайды). Бір өлшемді sinc үшін сәйкес аналог – 2D жиілік кеңістігіндегі дөңгелек аймақтың 2D Фурье түрлендіруі болып табылатын екі өлшемді Эйри дискісінің амплитудасы, шаршы аймаққа қарамастан. Жиілік доменінде жоғарғы бөлігін тегістеу немесе кеңістік доменінде оны күшейту үшін Гаусс функциясының екінші туындысын қосуды қарастыруға болады. Гаусс функциясы негізіндегі функциялар табиғи таңдау болып табылады, өйткені Гаусспен конволюциялау x және y немесе радиусқа қолданылған жағдайда да, басқа Гаусс функциясын береді. Толқындар сияқты, оның тағы бір қасиеті – конфигурациядағы (x және y) және спектрлік (j және k) өрнектемелерде орналасудың аралық нүктесінде болуы. Интерполяциялық функция ретінде Гаусс функциясы өте көп жайылып, ең көп мәліметті сақтау үшін жеткіліксіз көрінеді, сондықтан екінші туынды қосылады. Мысалы, өңдеу мүмкіндігі жоғары және алтыбұрышты үлгісі бар принтерде фотосуреттің теріс нұсқасын басып шығарғанда sinc функциясының интерполяциясын қолданудың қажеті жоқ. Мұндай интерполяция диагональды сызықтарды көлденең және тік сызықтардан өзгеше қарастырады, бұл алиасингтің әлсіз түріне ұқсайды.

Нақты уақыттағы антиалиазингтік шамалау

Нақты уақыт рендеринг қозғалтқышында (бағдарламалық немесе аппараттық үдетілген) ең төменгі деңгейде қолданылатын небәрі бірнеше примитивтер бар. Оларға "нүктелер", "сызықтар" және "үшбұрыштар" жатады. Егер біреу мұндай примитивті қара фонға ақ түспен салса, онда оның жиектерін бүркемелі ету арқылы антиалиазингке қол жеткізуге болады. Дегенмен, бұл тәсіл жапсарлас примитивтермен (мысалы, бір жиекті бөлісетін үшбұрыштармен) жұмыс істеуде қиындық тудырады. Біркелкі ортақтау алгоритмін жуықтау үшін субпиксельдік деректерге арналған қосымша буферді пайдалануға болады. Алғашқы (және ең аз жадты қажет ететін) тәсіл 4х4 торда пикселге 16 қосымша бит қолданды. Егер примитивтерді сақтықпен, мысалы, алдыңғы жағынан артқа қарай ретпен көрсетсе, онда жақсы сапалы кескінді жасауға болады. Бірақ бұл примитивтердің белгілі бір ретпен болуын қажет етеді, сондықтан OpenGL сияқты қолданбалық бағдарламалау интерфейсімен үйлесімсіздік туындайды. Сондықтан, қазіргі әдістерде әр пикселге екі немесе одан да көп толық субпиксель қарастырылады, олардың әрқайсысы толық түс ақпаратын қамтиды. Кейбір ақпарат субпиксельдер арасында ортақ болуы мүмкін (мысалы, Z буфері).

Миппэпинг

Текстуралық карталауға арналған ерекше тәсіл бар, ол мип-карталау деп аталады, ол текстуралық картаның төменгі ажыратымдылықтағы, алдын ала сүзгіленген түрлерін жасау арқылы жұмыс істейді. Кескінді көрсету кезінде тиісті ажыратымдылықтағы мип-карта таңдалады, сондықтан текстуралық пиксельдер (текселдер) экранға жеткен кезде-ақ сүзгіленген болады. Мип-карталау әдетте түпкі нәтижені жақсарту үшін текстуралық сүзгілеудің түрлі тәсілдерімен қолданылады.

Супер-сараптама / толық көрініс антиалиазинг

Супер-саптамалық антиалиазинг (SSAA), сонымен қатар толық көрініс антиалиазинг (FSAA) деп те аталады, толық экранды кескіндерде алиасингті (немесе "тігірулерді") болдырмау үшін қолданылады. SSAA – алғашқы бейнекарталарда қол жетімді болған антиалиазингтің алғашқы түрі. Бірақ оның едәуір есептеу шығындары және GPU-да көп нүсқалы антиалиазингтің (MSAA) пайда болуына байланысты, ол нақты уақыт қосымшаларында кеңінен қолданылмайды. MSAA графикалық сапаны біршама төмендетсе де, есептеу қуатын үлкен үнемдейді. Нәтижесінде алынған SSAA кескіні жұмсақ көріне алады және шынайырақ болуы керек. Дегенмен, фотосуреттерге ұқсас кескіндер үшін пайдалы болғанымен, қарапайым антиалиазинг тәсілі (мысалы, супер-саптама және одан кейін орташалау) кейбір сызықтық суреттердің немесе диаграммалардың көрінісін нашарлатуы мүмкін (кескінді бұрмалап көрсетеді), әсіресе көптеген сызықтар көлденең немесе тік болған жағдайда. Мұндай жағдайларда алдын ала торға келтіру қадамы пайдалы болуы мүмкін (көрсеткіштерді қараңыз). Жалпы алғанда, супер-саптама – бұл соңғы деректердің ажыратымдылығына қарағанда (әдетте екінің дәрежесімен) жоғары ажыратымдылықта деректерді жинау әдісі. Бұл деректер нүктелері содан кейін қажетті ажыратымдылыққа дейін (төмендетіліп) біріктіріледі, көбінесе қарапайым орташа есеппен. Біріктірілген деректер нүктелерінде аз көрінетін алиасинг артефакттары (немесе моир үлгілері) болады. Супер-саптама арқылы толық көрініс антиалиазингі әдетте әрбір толық кадр дисплейдің екі есе (2x) немесе төрт есе (4x) ажыратымдылығымен көрсетіледі, содан кейін дисплейдің ажыратымдылығына сәйкес келу үшін үлгі алынады. Осылайша, 2x FSAA әр кадрдың әрбір пикселі үшін 4 супер-сапталған пикселді шығарады. Жоғары ажыратымдылықта көрсету жақсы нәтижелер береді; алайда, оған көбірек процессорлық қуат қажет, бұл өнімділікті және кадр жылдамдығын төмендетуі мүмкін. Кейде FSAA аппараттық құралдарда графикалық қосымшалар кескіндер көрсетілгенге дейін супер-сапталған және содан кейін төмендетілгенін білмейтіндей етіп жүзеге асырылады.

Нысанға негізделген антиалиазинг

Графикалық рендеринг жүйесі көпбұрышты примитивтерден құралған объектілер негізінде кескінді жасайды; кескіндегі қателік әсерлерін объектінің силуэт жиектерін бейнелейтін кескіннің аймақтарына ғана антиалиазинг схемасын қолдану арқылы азайтуға болады. Силуэт жиектері мөлдірлігі әртүрлі антиалиазинг примитивтерімен антиалиазингтеледі. Бұл антиалиазинг примитивтері силуэтті жиектерге жалғанады және нысандардың фонға біртегіс енгендей көрінетін кескіндегі аймақты құрайды. Бұл әдіс жинақтау буферіне негізделген классикалық әдістерге қарағанда бірнеше маңызды артықшылықтарға ие, себебі ол толық көріністі антиалиазингті тек екі рет өтеу арқылы жасайды және жинақтау буферіне қажет қосымша жадты пайдалануды қажет етпейді. Объектіге негізделген антиалиазинг алғаш рет Silicon Graphics компаниясында олардың Indy жұмыс станциясы үшін әзірленген.

Антиалиазинг және гамма-сығу

Цифрлық суреттер көбінесе гамма-сығымдалған форматта сақталады, бірақ көптеген оптикалық антиалиазинг сүзгілері сызықтық болып келеді. Суретті оптикалық бұлыңғырлануға ұқсас етіп кішірейту үшін, оны ең алдымен сызықтық форматқа түрлендіру керек, содан кейін антиалиазинг сүзгісін қолданып, соңында гамма-сығымдалған форматқа қайта түрлендіру қажет. Гамма-сығымдалған суретте сызықтық есептеулерді қолдану нәтижесінде идеалды сүзгіден сәл өзгеше мәндер шығады. Бұл қателік жоғары контраст аймақтарында жұмыс істегенде үлкенірек болады, соның салдарынан жоғары контраст аймақтары көлеңкелірек болады: жарық детальдар (мысалы, мысықтың мұрттары) көзбен көрінетіндей жұқарады, ал қараңғы детальдар (мысалы, ағаш бұтақтары) оптикалық антиалиазингке қарағанда қалыңдайды. Әрбір пиксель жеке бұрмаланады, демек антиалиазингтен кейін контурлар тегіс болмайды. Сызықтық форматқа және кері түрлендіру процесі өте баяу болғандықтан, және айырмашылықтар көбінесе шамалы болғандықтан, Final Cut Pro және Adobe Photoshop сияқты көптеген сурет өңдеу бағдарламалары гамма-сығымдалған доменде суреттерді өңдейді. Көптеген қазіргі заманғы GPU-лар текстураларды sRGB форматында жадыда сақтауға қолдау көрсетеді және өнімділік жоғалтпай сызықтық кеңістікке және кері түрлендіруді мөлдір түрде орындай алады.