Кіріспе

Растрлық графика файл форматы

Truevision TGA, көбінесе TARGA деп аталады, Truevision Inc. (қазіргі Avid Technology) жасаған растрлық графика файл форматы. Бұл TARGA және VISTA тақталарының түпнұсқа форматы болды, олар IBM-ге үйлесімді компьютерлер үшін Highcolor / truecolor дисплейін қолдаған алғашқы графикалық карталар болды. Бұл графикалық карталар отбасы кәсіби компьютерлік кескін синтезі мен ПК-мен бейне өңдеуге арналған; осы себепті TGA бейне файлдарының әдеттегі ажыратымдылығы NTSC және PAL бейне форматтарымен сәйкес келеді. TARGA – Truevision Advanced Raster Graphics Adapter сөзінің аббревиатурасы; TGA – Truevision Graphics Adapter сөзінің бас әріптері. TGA файлдары PC DOS/Windows жүйелерінде және macOS-та әдетте ".tga" кеңейтімімен сақталады (ескі Macintosh жүйелері "TPIC" типтік кодын пайдаланады). Форматтың өзі 255 биттік тереңдікке дейін пикселге мүмкіндік береді, оның ішінде 15 битті альфа арнасына бөлуге болады; алайда, іс жүзінде қолданылатын биттік тереңдіктер 8, 15, 16, 24 немесе 32 болды, мұнда 16 және 32 биттік форматтар альфа арнасы үшін тиісінше 1 және 8 битті пайдаланды. Түс деректері түс картасымен немесе тікелей түс немесе truecolor форматында болуы мүмкін. Кескін деректері шикі түрде сақталуы мүмкін немесе PackBits-ке ұқсас жоғалтусыз RLE сығылуы қолданылуы мүмкін. Бұл типтегі сығылу әдеттегі фотосуреттер үшін тиімсіз жұмыс істейді, бірақ белгішелер, мультфильмдер және сызықтық суреттер сияқты қарапайым кескіндер үшін жақсы жұмыс істейді.

Тарих

TGA файл форматын бастапқыда 1984 жылы AT&T EPICenter Island Graphics Inc-тен алынған пікірлермен бірге анықтады және сипаттады. AT&T EPICenter – AT&T-нің ішкі құрылымдық бөлімшесі, ол AT&T-нің түсті кадрлық буферлер үшін әзірлеген жаңа технологияларды сату үшін құрылған. Кейін Truevision аталған компания 1987 жылы AT&T қызметкерлерінің үлесін сатып алу нәтижесінде құрылды. EPICenter-дің алғашқы екі картасы – VDA (видеодисплей адаптері) және ICB (бейне түсіру тақтасы) TGA файл форматының алғашқы нұсқаларын қолданды. Файл кеңейтімдері ".vda" және ".icb" тақтаға қатысты деректердің қамтылғанын көрсетеді. Кейін Алан Власук (EPICenter басшысы), Брэд Пиллоу (EPICenter) және Стивен Домпиер (Island президенті) кодталған файл форматының қажет екенін анықтады. Файл форматын Брэд Пиллоу (EPICenter) және Брайан Хант (EPICenter) жасады және іске асырды, ол тақтаға тәуелді емес файл форматына деген қажеттілікке жауап ретінде әзірленді. Қолданыстағы форматқа қарапайым кеңейту жасалды, онда ені, биіктігі, пиксел тереңдігі, байланысты түстер картасы және бейне бастапқы орны туралы ақпарат болды. Бастапқы сипаттамаға 255 таңбаға дейін болатын таңбалау өрісі де қосылды, бірақ ол сирек қолданылды. Сол кезде, TIFF деп аталатын техникалық жағынан артық файл форматы да пайда болды, бірақ оның шынайы түсті бейнелер үшін қолданылуы шектеулі болды, себебі TIFF спецификациясын қолдайтын бағдарламалар арасында файлдарды іске асыру және бөлісу қиын және күрделі болды. TGA файл форматының қарапайымдылығы мен платформалар арасындағы тасымалдануы оның кеңінен қабылдануының және бүгінгі күнге дейін әлемдегі көптеген қолданбаларда сәтті қолданылуының басты себебі болып табылады. Бастапқыда TGA файл форматы ICB PAINT және TARGA PAINT бағдарламаларында (кейін TIPS деп аталды), сондай-ақ онлайн жылжымайтын мүліктерді қарау және видеоконференцияларда қолданылды. Қазіргі нұсқасы (2.0) "пошта маркалары" (миниатюралар ретінде танымал), альфа арнасы, гамма мәні және мәтіндік метадеректер сияқты бірнеше жақсартуларды қамтиды. Оның авторы Truevision Inc.-тің Шон Штайнер, ол 1989 жылы Кевин Фридли мен Дэвид Споэлстраның басшылығымен жасады. Ол құрылған кезде, ол сандық бейне өңдеудегі ең озық технологияны білдірді. Бүгінгі күні, оның максималды түс тереңдігі жоғары сапалы полиграфиялық және қарқынды бейне өңдеу жүйелеріне толыққанды сәйкес келмесе де, TGA анимация және бейне индустриясында кеңінен қолданылады, өйткені оның негізгі мақсаты стандартты теледидар экранында көрсету, түсті баспа беттері емес. Сығылмаған 24 биттік TGA бейнелері басқа 24 биттік сақтау форматтарымен салыстырғанда салыстырмалы түрде қарапайым: 24 биттік TGA тек 18 байттық тақырыпты қамтиды, содан кейін бейне деректері RGB деректері ретінде жинақталады. Керісінше, BMP-де 4 байттық шекараға дейін толтыру қатары қажет, ал TIFF және PNG – бейне деректерін немесе атрибуттарын файл ішінде белгіленген жерге орналастырмайтын метадеректер контейнерлері. 32 биттік TGA бейнелері альфа арнасын немесе кілттік сигналды қамтиды және көбінесе Avid Deko сияқты таңба генератор бағдарламаларында қолданылады.

Техникалық мәліметтер

Барлық мәндер кішкентай енділік форматында; өрістер мен қосалқы өрістер нөмірлері спецификацияның 2.0 нұсқасына сәйкес. 2.0 нұсқасы кеңейтім аймағы мен қорытынды бөлімін қосты. Дамытушы аймағы қолданбаға тән ақпаратты сақтау үшін арналған.

Сурет және түсті карта деректері

Өріс нөмірі. Ұзындығы Өріс сипаттамасы 6 Кескінден ID ұзындығы өрісі Кескін ID Тану ақпаратын қамтитын міндетті емес өріс 7 Түс картасының сипаттамасы өрісі Түс картасы деректері Түс картасы деректерін қамтитын іздеу кестесі 8 Кескіннің сипаттамасы өрісі Кескін деректері Кескін сипаттамасына сәйкес сақталады.

Дамушы аймағы (міндетті емес)

TGA спецификациясының 1.0 нұсқасы өте қарапайым болды, сондай-ақ көптеген әзірлеушілерге көбірек ақпарат сақтау қажеттігі туды, осыдан олар өз қолданбаларына ғана арналған қосымша бөлімдерді файлдарға қосуды жөн көрді. Спецификацияның 2.0 нұсқасында осы қолданбаға тән жетілдірулер/қосымшалар әзірлеуші аймағы арқылы қолдауға ие. Спецификация үшін әзірлеуші аймағының орны мен көлемі ғана маңызды, ал әзірлеушілер осы аймаққа қалағандарын қосуға құқылы. Егер TGA декодері әзірлеуші аймағындағы ақпаратты түсіндіре алмаса, ол оны әдетте елемейді, себебі ол басқа қолданбамен жасалған деп есептеледі. Әзірлеушілерге өз қолданбаларына логиканы енгізу ұсынылады, яғни әзірлеуші аймағындағы деректер қолданбамен үйлесімді ме екенін анықтау үшін, мысалы, файлдың соңғы бөлігіндегі бағдарлама идентификаторын тексеру қадамдары жасау керек.

Ұзарту аймағы (міндетті емес)

Өріс нөмірі. Ұзындығы Өріс сипаттамасы 10 2 байт Кеңейту мөлшері Кеңейту аймағының байт өлшемі, әрқашан 495 11 41 байт Автор аты Автордың аты. Егер пайдаланылмаса, байттар NULL (\0) немесе бос орындармен толтырылуы керек 12 324 байт Автор түсініктемесі Әрқайсысы 80 таңбадан тұратын және NULL символымен аяқталатын төрт жолдан құралған түсініктеме 13 12 байт Күні/уақыты белгісі Кескіннің жасалған күні мен уақыты 14 41 байт Жұмыс ID 15 6 байт Жұмыс уақыты Файлды жасауға кеткен сағат, минут және секундтар (есептеу үшін және т.б.) 16 41 байт Бағдарлама ID Файлды жасаған бағдарлама. 17 3 байт Бағдарлама нұсқасы 18 4 байт Негізгі түс 19 4 байт Пиксель қатынасы 20 4 байт Гамма мәні 21 4 байт Түс түзетуіне қатысты ауытқу Түс түзету кестесіне дейінгі байттардың саны, егер кесте болса 22 4 байт Почта белгісіне қатысты ауытқу Почта белгісінің кескініне дейінгі байттардың саны, егер белгі болса 23 4 байт Сканерлеу жолына қатысты ауытқу Сканерлеу жолдары кестесіне дейінгі байттардың саны, егер кесте болса 24 1 байт Атрибуттар типі Альфа арнасын көрсетеді.

Файл аяғы (міндетті емес)

Егер TGA файлында аяқ жазу болса, онда ол TGA нұсқасы 2 файлы болуы мүмкін. Аяқ жазу – файлдың соңғы 26 байты, оның соңғы 18-і өзгермейді. Өріс нөмірі. Ұзындығы Өрістің сипаттамасы 28 4 байт Кеңейтім офсеті Файл басынан байттармен өлшенген арақашықтық 29 4 байт Дамытушы аймағы офсеті Файл басынан байттармен өлшенген арақашықтық 30 16 байт Қолтаңба "TRUEVISION XFILE" сөзін қамтиды 31 1 байт "." символын қамтиды 32 1 байт NUL символын қамтиды.

Анықтамадағы айырмашылықтар

Truevision техникалық нұсқаулығының C қосымшасынан алынған TGA файл пішімі спецификациясының ескі нұсқасында RLE пакеттері сканерлеу сызықтарын қиыстыруы мүмкін екендігі айтылған: "Run length пакетінің басында бір түс мәні келеді, ол басында көрсетілген сандарға сәйкес қайталанады деп есептеледі. Пакет сканерлеу сызықтарын қиыстыра алады (бір сызықтан басталып, келесі сызықта аяқталады)". Дегенмен, TGA v2.0 спецификациясының 24-бетінде осыған керісінше айтылған: "Run length пакеттері ешқашан бір сканерлеу сызығынан артық пикселдерді кодтамауы керек. Егер бір сканерлеу сызығының соңы мен келесі сызықтың басында бірдей мәнді пикселдер болса да, олар екі бөлек пакет ретінде кодталуы тиіс. Яғни, Run length пакеттері бір сызықтан екіншісіне көшпеуі керек". Осылайша, TGA оқырмандары бастапқы спецификацияның бір бөлігі болғандықтан, сканерлеу сызықтарын қиып өтетін RLE дерек пакеттерін өңдей алуы керек. Алайда, TGA файлдарын сақтау (құру) кезінде, жаңа v2.0 TGA спецификациясына сәйкес болу үшін RLE дерек пакеттерін сканерлеу сызығының шегінде ұстау қажет болады.