Семейство графических форматов JPEG | ||||||||||||||||||||||||||
Доступные возможности
| ||||||||||||||||||||||||||
История создания и область применения Что такое JPEG?
Началось все в 1986 году, когда под эгидой международной организации по стандартизации (ISO) и международной электротехнической комиссиии (IEC) была создана рабочая группа - ISO/IECJTC1/SC29/WG1, в которую вошли ведущие специалисты в области фотографии со всего мира. Именно тогда мир услышал слово JPEG, которое на самом деле является аббревиатурой от Joint Photographic Experts Group. Теперь рабочая группа ISO/IECJTC1/SC29/WG1 имела куда более благозвучное название - JPEG Сommittee.
Более подробно на официальном сайте JPEG комитета Основной целью Joint Photographic Experts Group было создание метода сжатия изображений фотографического качества, до размеров, приемлемых для передачи по компьютерным сетям. И уже в августе 1990 года ISO стандартизовал метод сжатия графических изображений с потерями, созданный Joint Photographic Experts Group. Данный метод получил название JPEG (официальное название стандарта ISO/IEC IS 10918-1 | ITU-T Recommendation T.81). Впервые был реализовал новый принцип сжатия с потерями информации. Он основан на удалении из изображения той части информации, которая слабо воспринимается человеческим глазом. Лишенное избыточной информации изображение занимает гораздо меньше места, чем исходное. Степень сжатия, а, следовательно, и количество удаляемой информации, плавно регулируется. Низкие степени сжатия дают лучшее качество изображения, а высокие могут существенно его ухудшить. В дальнейшем, стандарт улучшали и добавляли новые возможности. В частности, было добавлено прогрессивное чередование. Данная версия стандарта получила название p-JPEG (Progressive JPEG).
Подробнее о том, как работает JPEG JPEG-LS После того, как был создан алгоритм компрессии JPEG, описанный выше, в комитет стали поступать некоторые критические отзывы о существующем стандарте. Чаше всего высказывались претензии к плохому качеству JPEG изображений, сохраненных без потерь (параметр сжатия равен нулю). Комитет принимает решение пересмотреть стандарт – добавить режим кодирования без потерь. По сути, требовалась интеграция двух видов компрессии: с потерями и без потерь. Традиционно был устроен конкурс алгоритмов сжатия, на котором проводилось численное и визуальное сравнение результатов работы различных программ. Лучшие результаты показал алгоритм LOCO от HP Labs. Он и был выбран в качестве основы для нового стандарта. Так появился новый стандарт JPEG-LS – ISO/IEC IS 14495-1 | ITU-T Recommendation T.87. JPEG2000 JPEG в целом оказался достаточно удачным стандартом. Он обеспечивает высокую эффективность сжатия при приемлемом уровне потерь. Несмотря на огромную популярность стандарта JPEG, по прошествии нескольких лет естественным образом возникла необходимость в появлении нового, усовершенствованного стандарта. Так как были разработаны более эффективные методы сжатия, и приложения требовали от форматов хранения видеоданных все больше и больше функциональности. Стандарт JPEG часто не удовлетворял новым требованиям и должен был быть заменен. Название нового стандарта JPEG2000 изначально указывало на год его ожидаемого выхода, но к 2000 году стандарт так и не был завершен. На сегодняшний день документация на JPEG2000 состоит из 12 частей. Первая ее часть содержит основную информацию – ядро, и имеет официальный статус международного стандарта. Она описывает основные моменты, которые должны быть в обязательном порядке соблюдены в любой реализации стандарта. Вторая часть содержит расширения основной части, которые не являются обязательными. Так как в процессе разработки поступало большое количество различных предложений, было принято решение часть из них внести в базовый вариант стандарта, а часть рассматривать как дополнение. Данный подход выгоден тем, что, во-первых, учитывает большое количество различных предложений и обеспечивает гибкость, а во-вторых, позволяет получать достаточно непритязательные в плане вычислительных ресурсов реализации, совместимые со стандартом. Остальные 10 частей содержат множество дополнительных функций, все эти части можно найти на официальном сайте JPEG2000. Отправной точкой для стандарта JPEG2000 стало предложение М. Болиека 1996 года. Разработанный Болиеком алгоритм участвовал в конкурсе для стандарта сжатия изображений без потерь JPEG-LS, но был отвергнут в пользу более перспективного алгоритма LOCO. Алгоритм Болиека, тем не менее, обладал рядом очень привлекательных возможностей, что послужило причиной создания нового стандарта JPEG2000. Объявление о начале разработки нового стандарта датируется мартом 1997 года. Алгоритм также был отобран путем конкурса нескольких алгоритмов. Программа -победитель (ею стала разработка аризонского университета, алгоритм WTCQ) была выбрана за основу первой версии стандарта. В ноябре 1998 года с подачи Д. Таубмана в стандарт было внесено существенное изменение. Таубман предложил решение, позволившее сделать стандарт существенно более гибким и менее требовательным к ресурсам вычислительной системы. Алгоритм Таубмана (алгоритм EBCOT) в результате составил основу финальной версии стандарта. JPEG форматы - JFIF, SPIFF В августе 1990 года ISO стандартизовал метод сжатия графических изображений с потерями, созданный Joint Photographic Experts Group (он же ISO/IECJTC1/SC29/WG1). Данный метод получил название JPEG. Уже в 1991 году появились первые приложения, использующие этот алгоритм. Впервые был реализовал новый принцип сжатия с потерями информации. Он основан на удалении из изображения той части информации,которая слабо воспринимается человеческим глазом. Лишенное избыточной информации изображение занимает гораздо меньше места, чем исходное. Степень сжатия, а, следовательно, и количество удаляемой информации, плавно регулируется. Низкие степени сжатия дают лучшее качество изображения, а высокие могут существенно его ухудшить. Создав метод компрессии, JPEG комитет не создал формат файлов, использующих этот метод сжатия. Официально, причиной того, что данный формат не был создан, было заявлено следующее: руководитель JPEG комитета понимал, что существует огромное множество всевозможных групп, которые создают свои собственные форматы файлов для множества различных приложений. И каждая из этих групп по своему использовала JPEG компрессию, в соответствии с устройством формата. Поэтому было решено, что невозможно создать формат, который бы полностью удовлетворял всех. Имеется также и неофициальная версия, которая утверждает, что комитет находился под сильным давлением, нужно было выпустить стандарт, так что брать на себя еще одну крупную задачу, такую как создание формата, комитет не мог. Данный метод сжатия давал возможность передавать изображения высокого качества по сети, ввиду их маленького размера. Однако, данные сжатые методом JPEG, нуждались в сопровождении какой-то дополнительной информацией. В результате возникла острая потребность в формате, который был бы переносим для многих операционных систем. Именно такой формат создали Эрик Гамильтон (Eric Hamilton) из C-Cube Microsystems, а также ряд других разработчиков. В октябре 1991 года IJG (Independent JPEG Group) представила этот графический формат файлов, назвав его JFIF (JPEG File Interchange Format), то есть формат для обмена файлами с использованием компрессии JPEG. JFIF устроен очень просто, он содержит небольшое количество заголовков следующих за JPEG данными. Благодаря IJG, в частности Тому Лейну (Tom Lane), формат быстро стал стандартом де-факто для изображений сжатых методом JPEG. Их, так называемый Open Source, способствовал тому, что многие компании включали поддержку формата в свои графические редакторы и веб-браузеры. Однако, пятью годами позже, в 1995, JPEG комитет восполнил данный пробел выпустив стандарт графического формата под названием SPIFF(Still Picture Interchange File Format). SPIFF является официальным, международным стандартом, использующим JPEG компрессию. Он является официальной заменой формата JFIF. Когда Гамильтон стал руководителем WG1 ( JPEG и JBIG комитетов), он стал работать над полным определением формата файлов с компрессией JPEG. Необходимость в новом формате он обосновывал тем, что до сих пор существуют огромные сложные форматы с огромными наборами различных возможностей, в то время как большинству пользователей требовался простой формат для обмена файлами. Обмен сжатыми изображениями входил в задачи проекта ISO под названием JTC 1.29.04 ( JPEG), и, следовательно, замечал Гамильтон, комитет может начать работу над SPIFF без бюрократических проволочек по созданию нового рабочего плана. Почему же понадобился новый формат? Ведь уже существовал JFIF – малых объемов, простой, распространенный, и практически любое ПО для работы с изображениями поддерживало этот формат. Во-первых, SPIFF намного тщательнее проработан, точнее определен, и лучше продуман чем JFIF. SPIFF подвергся более доскональному анализу. Во-вторых, SPIFF более гибкий, чем JFIF. Он содержит набор дополнительных возможностей. Дополнительные опции включают поддержку многих цветовых пространств, и предоставляет определение гамма-изображений. JFIF разрабатывался как минимальный формат, поддерживающий JPEG компрессию, поэтому значение гаммы выставлялось - 1.0. Многие исходные изображения имели другое, технически более высокое, значение гаммы, чаще всего около 0.4 - 0.5. Изменение значений гамма означало, что JFIF изображения часто получались или слишком темными, или слишком светлыми, в зависимости от исходного изображения и системы просмотра. SPIFF же предполагает маркировку файлов их значением гамма. После зритель может откорректировать яркость, если это необходимо для его оборудования. SPIFF часть стандарта JPEG и следовательно очень хорошо определен и протестирован на совместимость. Предполагается, что SPIFF в конечном счете заменит JFIF. SPIFF также полностью поддерживается IJG, следовательно вы можете использовать SPIFF в своих приложениях, оперируя досконально документированной, качественно написанной, свободно распространяемой библиотекой исходного кода, что и делают сотни программ. Спецификация SPIFF не определяет стандартное расширение файлов. IJG рекомендует следующие расширения: ".JPG" и ".JPEG" - для SPIFF фалов, использующих JPEG-компрессию с потерями, и ".SPF" для всех других вариантов SPIFF. Расширение файлов .JPG уже широко используется для формата JFIF (JPEG files). Однако, написанное должным образом, JFIF-совместимое ПО, должно читать SPIFF-JPEG файлы без проблем. Такая совместимость тщательно продумывалась при создании SPIFF формата. Для того, чтобы это было возможным, SPIFF заголовок устроен как набор JPEG APPn маркеров, которые игнорируются старыми декодерами. Предполагается так же и обратная совместимость. То есть SPIFF-JPEG-совместимое ПО должно корректно обрабатывать JFIF файлы. Именно потому, что JFIF и SPIFF-JPEG форматы корректно обрабатываются этими двумя видами ПО, нет необходимости вводить новое расширение для SPIFF файлов, создавая тем самым путаницу. Стоит отметить, что существуют варианты формата SPIFF, использующие отличную от JPEG компрессию. Такие форматы, несовместимы с любым существующим JPEG-совместимым ПО. Для таких файлов, конечно же, необходимы другие расширения. Использование расширений ".JPG" и ".SPF" даст четкое разграничение SPIFF файлов на файлы использующие сжатие с потерями и без потерь. Что, в свою очередь, поможет пользователям точно определить тип компрессии и исключить непреднамеренную порчу данных. На сегодняшний день GIF и JFIF являются самыми популярными графическими форматами в мире компьютерных сетей. Эти форматы не являются взаимозаменяемыми, они служат для разных целей. Например, для оформления сайта (под оформлением я подрозумеваю логотип сайта, кнопочки, стрелочки, черточки и пр.) идеально подходит GIF. Он имеет малый размер, обладает прозрачностью и самое интересное, позволяет создавать анимированые картинки. Но GIF обладает палитрой в 256 цветов, такого каличества вполне достаточно для оформления, а если нам необходимо разсместить на сайте изображение фотографического качества? Для передачи по сети изображений фотографического качества идеально подходят форматы JPEG. Этот формат лучше всего подходит для изображений реальной жизни в сети — отсканированных картинок или цифровых фотографий. | ||||||||||||||||||||||||||
© Тихонина Анна, 2005г. |