Кіріспе

Mac OS X 10.4-те пайда болған бейне өңдеу технологиясы

Core Image – Mac OS X жүйесіндегі пикселдік дәлдікте, дерлік нақты уақыт режимінде жұмыс істейтін, бейнені бұзбастан өңдейтін технология. Mac OS X 10.4 және одан кейінгі нұсқаларының QuartzCore фреймворкінің құрамында жүзеге асырылған Core Image, Quartz графикалық рендеринг қабатында сүзгілер мен эффекттерді қолдану үшін плагинге негізделген архитектураны ұсынады. Бұл фреймворк кейіннен iOS 5-те iOS жүйесіне де қосылды.

Шолу

Core Image суретке сүзгі қолданғанда қажет болатын пиксельдік деңгейдегі манипуляция процесін абстракциялайды, бұл қосымшаларға суретті түрлендіру мүмкіндіктерін кеңейтілген кодтаусыз іске асыруды жеңілдетеді. Қарапайым іске асыруда Core Image берілген бастапқы сурет деректеріне бір сурет сүзгісін қолданады. Әрбір сурет сүзгісі бір түрлендіруді немесе эффектіні анықтайды, ол Core Image құрамына енгізілген немесе Image Unit деп аталатын плагиннен жүктеледі. Алдын ала орнатылған немесе пайдаланушы анықтаған кіріс параметрлерімен біріктірілген сүзгі бастапқы пиксель деректерін өзгертпей-ақ қолданылуы мүмкін, осылайша суретті бұзбай өңдеуді қамтамасыз етеді. Photoshop сияқты, Core Image бір сурет көзіне бірнеше сүзгілерді қолдана алады. Көптеген сүзгілерді жеке-жеке қолданудың орнына, Core Image динамикалық нұсқаулар құбырын құрастырады, сондықтан пиксель деректеріне жиынтық эффектіні алу үшін тек бір есептеуді қолдану жеткілікті. Көптеген сүзгілерге байланысты пиксельдік операцияларды бір мезгілде және өңдеу уақытын едәуір арттырмай орындауға болады. Сүзгілер санына қарамастан, Core Image осы нұсқау құбыры үшін кодты уақытында компилятормен құрастырады, оны CPU немесе графикалық картаның GPU орындайды, қайсысы есептеуді жылдам орындай алады. Сүзгілер Core Image Kernel Language тілінде жазылған, ол OpenGL Shading Language (GLSL) командаларының бір бөлігін бөліседі. Үйлесімді GPU болған жағдайда, Core Image компиляторы GLSL тілін пайдаланып, буферлер мен күйлерді автоматты түрде басқара отырып, нұсқау құбырын жасайды. GPU рендерингісіне басымдық берілсе де, компилятор CPU-да жұмыс істей алады, ағымдағы CPU архитектурасына сәйкес командаларды жасайды. CPU-да жұмыс істеу кезінде, ағымдағы CPU немесе CPU-лардың векторлық өңдеу мүмкіндіктері пайдаланылады және ол көппроцессорлық жүйелерді қолдайды. Осылайша, Core Image өнімділігі GPU-ның GLSL мүмкіндіктеріне немесе CPU-ның өңдеу қуатына байланысты. Қолдау көрсетілетін GPU болған жағдайда, көптеген эффектілерді нақты уақытта немесе дерлік нақты уақытта көрсетуге болады.

Тарих және жүзеге асыру

Core Image Mac OS X 10.4 жүйесімен енгізілді. Оның қолданылу мысалдары Dashboard-тағы толқын эффектісінде және Apple-дің Aperture кәсіби цифрлық фотосурет қолданбасында кездеседі. Mac OS X 10.5 нұсқасынан бастап, Image Kit-ті қолдайтын кез келген қолданба Core Image-ті пайдалана алады. Алдын ала қарау (Preview) және iPhoto осыған орай кең таралған мысалдар. 2011 жылы Apple iOS 5.0 нұсқасында Core Image-ді iOS жүйесіне қосты.