Графические форматы, используемые в компьютерном представлении Введение Существует множество форматов, сохраняющих изображения (как статические, так и анимационные). За 25 лет существования различных типов графических файлов одни эволюционировали, другие исчезали и заменялись другими форматами. Почему же не существует единого, универсального формата изображений? Потому что в различных ситуациях применяются разные типы. Например, в тех областях, где необходимо высокое качество изображения (полиграфия, фотодело) используются форматы, дающие максимально высокое разрешение чёткости и цвета (например, форматы TIFF и BMP). В интернете же часто нецелесообразно использовать очень большие по размеру файла изображения, поэтому там применяются форматы, где использовано сжатие файла, с некоторым ухудшением качества картинки (форматы JPEG, GIF). Можно привести пример: картинку в формате BMP, нарисованную графическим редактором PAINT, можно преобразовать в формат JPEG так, что его файл уменьшится в 100 и даже более раз, причём качество картинки может снизится незначительно. Типы графических файлов Растровые форматы: BMP, GIF, ICO (Windows Icon), ILBM, JPEG, PCX, PNG, PSD, TGA, TIFF, WMP Векторные форматы: Scalable Vector Graphics (SVG и SVGZ) Encapsulated PostScript (EPS) Метафайлы Windows: WMF, EMF Файлы CorelDraw: CDR, CMX Комплексные форматы DjVu PDF Формат BMP BMP (Bitmap — русск. битовая карта) — формат хранения растровых изображений. Изначально формат мог хранить только аппаратно-зависимые растры (англ. DDP — Device Dependent Bitmap), но с развитием технологий отображения графических данных формат BMP стал преимущественно хранить аппаратнонезависимые растры (англ. DIB — Device Independent Bitmap). С форматом BMP работает огромное количество программ, так как его поддержка интегрирована в операционные системы Windows и OS/2. Файлы формата BMP могут иметь расширения .bmp, .dib и .rle. Кроме того, данные этого формата включаются в двоичные файлы ресурсов RES и в PE-файлы. Глубина цвета в данном формате может быть от 1 до 48 бит на пиксель, максимальные габариты изображения 65535×65535 пикселей. В формате BMP есть поддержка сжатия по алгоритму RLE, но, несмотря на это, из-за большого объёма он редко используется в Интернете. GIF (англ. Graphics Interchange Format — формат для обмена изображениями; произносится /dʒɪf/, но многие произносят /gɪf/ или «гиф»[1]) — формат хранения графических изображений. Формат GIF способен хранить сжатые без потерь изображения в формате до 256 цветов с палитрой, и предназначен, в основном, для чертежей, графиков и т. д. Этот формат можно использовать и для анимированных изображений (GIF-анимация). Независящий от аппаратного обеспечения формат GIF был разработан в 1987 году (GIF87a) фирмой CompuServe для передачи растровых изображений по сетям. В 1989-м формат был модифицирован (GIF89a), были добавлены поддержка прозрачности и анимации. GIF использует LZW-компрессию, что позволяет неплохо сжимать файлы, в которых много однородных заливок (логотипы, надписи, схемы). GIF широко используется на страницах Всемирной Паутины. Область применения Изображение в формате GIF хранится построчно, поддерживается только формат с индексированой палитрой цветов. Стандарт разрабатывался для поддержи 256-цветовой палитры. Недокументированной, но поддерживаемой возможностью является сохранение большего количества цветов с помощью анимированного GIF с нулевой задержкой между кадрами. При этом каждый кадр содержит свою палитру. Один из цветов в палитре может быть объявлен «прозрачным». В этом случае в программах, которые поддерживают прозрачность GIF (например, большинство современных браузеров) сквозь пиксели, окрашеные «прозрачным» цветом будет виден фон. «Полупрозрачность» пикселей (технология альфа-канала) не поддерживается. Сжатие GIF использует формат сжатия LZW. Таким образом, хорошо сжимаются изображения, строки которых имеют повторяющиеся участки. Например, изображения в которых много пикселей одного цвета по горизонтали. Алгоритм сжатия LZW относится к форматам сжатия без потерь. Это означает, что восстановленные из GIF данные будут в точности соответствовать упакованным. Следует отметить, что это верно только для 8-битных изображений с палитрой, для цветной фотографии потери будут обусловлены переводом её к 256 цветам. Кроме того, в программе Adobe Photoshop появилась дополнительная возможность сохранять в GIF формат с потерями, которые проявляются как стохастический шум на картинке, сокращая при этом объем файла. Метод сжатия LZW (Lempel-Ziv-Welch) разработан в 1978 году израильтянами Лемпелом и Зивом и доработан позднее в США. Сжимает данные путем поиска одинаковых последовательностей (они называются фразы) во всем файле. Выявленные последовательности сохраняются в таблице, им присваиваются более короткие маркеры (ключи). Так, если в изображении имеются наборы из розового, оранжевого и зеленого пикселов, повторяющиеся 50 раз, LZW выявляет это, присваивает данному набору отдельное число (например, 7) и затем сохраняет эти данные 50 раз в виде числа 7. Метод LZW, так же, как и RLE, лучше действует на участках однородных, свободных от шума цветов, он действует гораздо лучше, чем RLE, при сжатии произвольных графических данных, но процесс кодирования и распаковки происходит медленнее. История Существует две спецификации формата GIF — GIF 87a и GIF 89a. Первая спецификация была создана в 1987 году компанией CompuServe для замены устаревшего формата RLE. GIF стал популярен в ходе развития интернета, так как позволял использовать более компактные (по размеру файла) по сравнению с другими форматами картинки на веб-страницах. Хотя к настоящему времени формат во многом устарел, и для его замены создан формат PNG, он по прежнему широко используется. JPEG-формат JPEG (произносится «джэйпе́г», англ. Joint Photographic Experts Group — русск. Объединённая группа экспертов в области фотографии) — является широкоиспользуемым методом сжатия фотоизображений. Формат файла, который содержит сжатые данные обычно также называют именем JPEG; наиболее распространённые расширения для таких файлов .jpeg, .jfif, .jpg, .JPG, или .JPE. Однако из них .jpg самое популярное расширение на всех платформах. Алгоритм JPEG является алгоритмом сжатия с потерей качества. Область применения Формат является форматом сжатия с потерями, поэтому некорректно считать что JPEG хранит данные как 8 бит на канал (24 бит на пиксель). С другой стороны, так как данные, подвергающиеся компресии по формату JPEG и декомпрессированые данные обычно представляются в формате 8 бит на канал, иногда используется эта терминология. Поддерживается также сжатие черно-белых полутоновых изображений. При сохранении JPEG-файла можно указать степень сжатия, которую обычно задают в некоторых условных единицах, например, от 1 до 100 или от 1 до 10. Большее число соответствует лучшему качеству, но при этом увеличивается размер файла. Обыкновенно, разница в качестве между 90 и 100 на глаз уже практически не воспринимается. Следует помнить, что побитно восстановленное изображение всегда отличается от оригинала. Распространённым заблуждением является мнение о том, что качество JPEG тождественно доле сохраняемой информации. К недостаткам формата следует отнести то, что при сильных степенях сжатия дает знать о себе блочная структура данных, изображение «дробится на квадратики». Этот эффект особенно заметен на областях с низкой пространственной частотой (плавные переходы изображения, например, чистое небо). В областях с высокой пространственной частотой (например, контрастные границы изображения), возникают характерные «артефакты» — иррегулярная структура пикселей искаженного цвета и/или яркости. Кроме того, из изображения пропадают мелкие цветные детали. Однако, несмотря на недостатки, JPEG получил очень широкое распространение из-за высокой степени сжатия, относительно существующих во время его появления альтернатив. TIFF-формат TIFF (англ. Tagged Image File Format) — формат хранения растровых графических изображений. Изначально был разработан компанией Aldus в сотрудничестве с Microsoft, для использования с PostScript. TIFF стал популярным форматом для хранения изображений с большой глубиной цвета, используется при сканировании, отправке факсов, распознавании текста, в полиграфии, широко поддерживается графическими приложениями. TIFF был выбран в качестве основного графического формата операционной системы NeXTstep, и из неё поддержка этого формата перешла в Mac OS X. Владелец спецификаций Aldus впоследствии объединилась с Adobe, владеющей в настоящее время правом на использование формата. Файлы формата TIFF, как правило, имеют расширение .tiff или .tif. PNG-формат PNG (англ. portable network graphics, сокращение произносится поанглийски /pɪŋ/[1]) — растровый формат хранения графической информации, использующий сжатие без потерь. PNG был создан как для улучшения, так и для замены формата GIF графическим форматом, не требующим лицензии для использования. Обычно файлы формата PNG имеют расширение PNG или png и используют обозначение MIME-типа image/png. История формата Днём рождения PNG можно считать 4 января 1995 г., когда Т. Боутелл предложил в ряде конференций Usenet создать свободный формат, который был бы не хуже GIF. И уже через три недели после публикации идеи были разработаны четыре версии нового формата. Вначале он имел название PBF (Portable Bitmap Format), а нынешнее имя получил 23 января 1995 г. Уже в декабре того же года спецификация PNG версии 0.92 была рассмотрена консорциумом W3C, а с выходом 1 октября 1996 г. версии 1.0 PNG был рекомендован в качестве полноправного сетевого формата. [править] Область применения Формат PNG хранит графическую информацию в сжатом виде. Причём это сжатие производится без потерь, в отличие, например, от JPEG. Формат PNG спроектирован для замены устаревшего и более простого формата GIF, а также, в некоторой степени, для замены значительно более сложного формата TIFF. Формат PNG позиционируется прежде всего для использования в сети Интернет и редактирования графики. Он имеет следующие основные преимущества перед GIF: Практически неограниченное количество цветов в изображении (GIF использует в лучшем случае 8-битный цвет); Опциональная поддержка альфа-канала; Возможность гамма-коррекции; Двумерная чересстрочная развёртка. Патент на формат GIF принадлежит фирме CompuServe,[источник?] что ограничивает возможности его использования в свободном программном обеспечении. К тому же в основе сжатия, применяемого к графическим файлам при сохранении их в формате GIF, лежит алгоритм сжатия LZW, патент на который принадлежал компании Unisys (до истечения его срока действия в 2003). PNG же использует открытый, не запатентованный алгоритм сжатия DEFLATE, бесплатные реализации которого доступны в Интернете. Этот же алгоритм используют многие программы компрессии данных, в том числе PKZIP и gzip (GNU zip). Формат PNG обладает более высокой степенью сжатия для файлов с большим количеством цветов, чем GIF, но разница составляет около 5-25 %, что недостаточно для абсолютного преобладания формата, так как небольшие 2-16 цветные файлы формат GIF сжимает с не меньшей эффективностью. PNG является хорошим форматом для редактирования изображений, даже для хранения промежуточных стадий редактирования, так как восстановление и пересохранение изображения проходят без потерь в качестве. Также, в отличие, например, от TIFF, спецификация PNG не позволяет авторам реализаций выбирать, какие возможности они собираются реализовать. Поэтому любое сохранённое изображение PNG может быть прочитано в любом другом приложении, поддерживающем PNG. Различные реализации алгоритма Deflate дают разную степень сжатия, поэтому были созданы программы для пережатия изображений с несколькими вариантами настроек в целях получения наилучшего сжатия — например, форк pngcrush OptiPNG и advpng из комплекта AdvanceCOMP (использует 7-Zip).