Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Bitmapv5header – win95/nt 4. 0: приложения могут использовать bitmapv4header. Win NT 3. 51 и более ранние должны использовать структуру bitmapinfoheader.

Цифровое изображение. Цифровой звук. Цифровое видео. | Файлы изображений. | Сжатие с потерями. Основано на отбрасывании части информации (как правило наименее воспринимаемой глазом). | Matlab-реализация алгоритма |


Читайте также:
  1. Ex.24. Продолжите список существительных (из уроков 1-2), с которыми могут сочетаться подчёркнутые прилагательные.
  2. Many и much могут образовывать сравнительную и превосходную степени (much как в роли количественного местоимения, так и в роли наречия): many/much – more – (the) most
  3. А ведь именно в отношениях человек и раскрывается как личность, в отношениях с себе подобными он более всего проявляет свою божественность.
  4. Анкета на разработку интернет приложения
  5. Ансамбли (7 человек и более)
  6. Банкноты могут быть бумажными («пустыми») или кредитными деньгами в зависимости от: !наличия или отсутствия обеспечения
typedef struct { DWORD bV5Size; LONG bV5Width; LONG bV5Height; WORD bV5Planes; WORD bV5BitCount; DWORD bV5Compression; DWORD bV5SizeImage; LONG bV5XPelsPerMeter; LONG bV5YPelsPerMeter; DWORD bV5ClrUsed; DWORD bV5ClrImportant; DWORD bV5RedMask; DWORD bV5GreenMask; DWORD bV5BlueMask; DWORD bV5AlphaMask; DWORD bV5CSType; CIEXYZTRIPLE bV5Endpoints; DWORD bV5GammaRed; DWORD bV5GammaGreen; DWORD bV5GammaBlue; DWORD bV5Intent; DWORD bV5ProfileData; DWORD bV5ProfileSize; DWORD bV5Reserved; } BITMAPV5HEADER, *PBITMAPV5HEADER;

Для полей от начала структуры и до bV5GammaBlue включительно будут описаны только отличия от предыдущих версий – BITMAPINFOHEADER и BITMAPV4HEADER.

· bV5CSType – определяет цветовое пространство изображения, может принимать следующие значения: LCS_CALIBRATED_RGB, LCS_sRGB, LCS_WINDOWS_COLOR_SPACE, PROFILE_LINKED, PROFILE_EMBEDDED.

· bV5Intent – может принимать следующие значения: LCS_GM_ABS_COLORIMETRIC, LCS_GM_BUSINESS, LCS_GM_GRAPHICS, LCS_GM_IMAGES.

· bV5ProfileData – смещение в байтах от начала структуры к началу данных профиля (имя файла профиля, строка состоящая исключительно из символов кодовой таблицы 1252 и заканчивающаяся нулевым байтом). Игнорируется, если bV5CSType содержит значение, отличное от PROFILE_LINKED и PROFILE_EMBEDDED.

· bV5ProfileSize – размер данных профиля в байтах.

· bV5Reserved – зарезервировано. Содержит ноль.

3. Палитра – может содержать последовательность четырёхбайтовых полей по числу доступных цветов (256 для 8-битного изображения). Три младшие байта каждого поля определяют интенсивность красной, зелёной и синей компоненты цвета, старший байт не используется. Каждый пиксель изображения описан в таком случае одним байтом, содержащим номер поля палитры, в котором сохранен цвет этого пикселя.

Если пиксель изображения описывается 16-битным числом, палитра может хранить три двухбайтных значения, каждое из которых определяет маску для извлечения из 16-битного пикселя красной, зелёной и синей компоненты цвета.

Файл BMP может не содержать палитры, если в нём хранится несжатое полноцветное изображение.

Данные изображения – последовательность пикселей, записанных в том или ином виде. Пиксели хранятся построчно, снизу вверх. Каждая строка изображения дополняется нулями до длины, кратной четырём байтам. В bmp-файлах с глубиной цвета 24 бита, байты цвета каждого пикселя хранятся в порядке BGR (Blue,Green,Red). B bmp-файлах с глубиной цвета 32 бита, байты цвета каждого пикселя хранятся в порядке BGRA (Blue,Green,Red,Alpha).

В зависимости от количества представляемых цветов, на каждую точку отводится от 1 до 48 битов:

· 1 бит – монохромное изображение (два цвета).

· 2 бита – 4 возможных цвета (режимы работы CGA) (2-битовый режим официально не стандартизован, но используется).

· 4 бита – 16-цветное изображение (режимы работы EGA).

· 8 бит (1 байт) – 256 цветов, последний из режимов, поддерживавших индексированные цвета.

· 16 бит (2 байта) – режим HiColor, Для 5-6-5 = 65536 возможных оттенков, для 5-5-5 = 32768 возможных оттенков.

· 24 бита (3 байта) – TrueColor. В связи с тем, что 3 байта не очень хорошо соотносятся со степенями двойки (особенно при хранении данных в памяти, где выравнивание данных по границе слова имеет значение), вместо него часто используют 32-битное изображение. В режиме TrueColor на каждый из трёх каналов (в режиме RGB) отводится по 1 байту (256 возможных значений), общее количество цветов равно 16777216.

· 32 бита (4 байта) – этот режим практически аналогичен TrueColor, четвёртый байт обычно не используется, или в нём располагается альфа-канал (прозрачность).

· 48 бит (6 байт) – редко используемый формат с повышенной точностью передачи цвета (16 бит на канал), поддерживается относительно малым количеством программ и оборудования.

JPEG (англ. Joint Photographic Experts Group, по названию организации-разработчика) – один из популярных графических форматов, применяемый для хранения фотоизображений и подобных им изображений. Файлы, содержащие данные JPEG, обычно имеют расширения.jpeg,.jfif,.jpg,.JPG, или.JPE. Однако из них.jpg является самым популярным на всех платформах. MIME-типом является image/jpeg.

Рисунок 2 – Фотография заката в формате JPEG с уменьшением степени сжатия слева направо

Алгоритм JPEG позволяет сжимать изображение как с потерями, так и без потерь (режим сжатия lossless JPEG). Поддерживаются изображения с линейным размером не более 65535 × 65535 пикселей.

Область применения. Алгоритм JPEG в наибольшей степени пригоден для сжатия фотографий и картин, содержащих реалистичные сцены с плавными переходами яркости и цвета. Наибольшее распространение JPEG получил в цифровой фотографии и для хранения и передачи изображений с использованием сети Интернет.

С другой стороны, JPEG малопригоден для сжатия чертежей, текстовой и знаковой графики, где резкий контраст между соседними пикселами приводит к появлению заметных артефактов. Такие изображения целесообразно сохранять в форматах без потерь, таких как TIFF, GIF или PNG.

JPEG (как и другие методы искажающего сжатия) не подходит для сжатия изображений при многоступенчатой обработке, так как искажения в изображения будут вноситься каждый раз при сохранении промежуточных результатов обработки.

JPEG не должен использоваться и в тех случаях, когда недопустимы даже минимальные потери, например, при сжатии астрономических или медицинских изображений. В таких случаях может быть рекомендован предусмотренный стандартом JPEG режим сжатия Lossless JPEG (который, однако, не поддерживается большинством популярных кодеков) или стандарт сжатия JPEG-LS.

Достоинства и недостатки. К недостаткам сжатия по стандарту JPEG следует отнести появление на восстановленных изображениях при высоких степенях сжатия характерных артефактов: изображение рассыпается на блоки размером 8x8 пикселей (этот эффект особенно заметен на областях изображения с плавными изменениями яркости), в областях с высокой пространственной частотой (например, на контрастных контурах и границах изображения) возникают артефакты в виде шумовых ореолов. Следует отметить, что стандарт JPEG (ISO/IEC 10918-1, Annex K, п. K.8) предусматривает использование специальных фильтров для подавления блоковых артефактов, но на практике подобные фильтры, несмотря на их высокую эффективность, практически не используются. Однако, несмотря на недостатки, JPEG получил очень широкое распространение из-за достаточно высокой (относительно существовавших во время его появления альтернатив) степени сжатия, поддержке сжатия полноцветных изображений и относительно невысокой вычислительной сложности.

Производительность сжатия по стандарту JPEG. Для ускорения процесса сжатия по стандарту JPEG традиционно используется распараллеливание вычислений, в частности – при вычислении ДКП. Исторически одна из первых попыток ускорить процесс сжатия с использованием такого подхода описана в опубликованной в 1993 г. статье Касперовича и Бабкина, в которой предлагалась оригинальная аппроксимация ДКП, делающая возможным эффективное распараллеливание вычислений с использованием 32-разрядных регистров общего назначения процессоров Intel 80386. Появившиеся позже более производительные вычислительные схемы использовали SIMD-расширения набора инструкций процессоров архитектуры x86. Значительно лучших результатов позволяют добиться схемы, использующие вычислительные возможности графических ускорителей (технологии NVIDIA CUDA и AMD FireStream) для организации параллельных вычислений не только ДКП, но и других этапов сжатия JPEG (преобразование цветовых пространств, run-level, статистическое кодирование и т.п.), причём для каждого блока 8х8 кодируемого или декодируемого изображения. В статье была впервые представлена реализация распараллеливания всех стадий алгоритма JPEG по технологии CUDA, что значительно ускорило производительность сжатия и декодирования по стандарту JPEG.

PNG (англ. portable network graphics) – растровый формат хранения графической информации, использующий сжатие без потерь по алгоритму Deflate.

PNG был создан как свободный формат для замены GIF, поэтому в Интернете появился рекурсивный акроним «PNG is Not GIF» (PNG – не GIF).

Область применения. Формат PNG спроектирован для замены устаревшего и более простого формата GIF, а также, в некоторой степени, для замены значительно более сложного формата TIFF. Формат PNG позиционируется прежде всего для использования в Интернете и редактирования графики.

Рисунок 3 – Изображение в формате PNG с 8-битным каналом прозрачности поверх шахматного фона, который обычно используется в графических редакторах для индикации прозрачности

PNG поддерживает три основных типа растровых изображений:

· Полутоновое изображение (с глубиной цвета 16 бит);

· Цветное индексированное изображение (палитра 8 бит для цвета глубиной 24 бит);

· Полноцветное изображение (с глубиной цвета 48 бит).

Формат PNG хранит графическую информацию в сжатом виде. Причём это сжатие производится без потерь, в отличие, например, от JPEG с потерями.

Он имеет следующие основные преимущества перед GIF:

· практически неограниченное количество цветов в изображении (GIF использует в лучшем случае 8-битный цвет);

· опциональная поддержка альфа-канала;

· возможность гамма-коррекции;

· двумерная чересстрочная развёртка;

· возможность расширения формата пользовательскими блоками (на этом основан, в частности, APNG).

Формат GIF был разработан фирмой CompuServe в 1987 году и изначально был недоступен для свободного использования. Некоторое время назад, до окончания в 2004 году действия патентов на алгоритм сжатия LZW, принадлежавших Unisys и используемых в GIF, его применение в свободном программном обеспечении было затруднено. На данный момент такие затруднения сняты. 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).

Анимация. Существует одна особенность GIF, которая в PNG не реализована – поддержка множественного изображения, особенно анимации; PNG изначально был предназначен лишь для хранения одного изображения в одном файле.

Для передачи анимированных изображений был разработан расширенный формат MNG, опубликованный в середине 1999 года и уже поддерживаемый в различных приложениях, однако пока так и не ставший общепринятым.

Некоторые – в частности, разработчики Mozilla Foundation – критиковали MNG за сложность и большой размер реализации, и отсутствие обратной совместимости с PNG. В 2004 году они разработали формат APNG, который не был принят в качестве официального стандарта разработчиками PNG и MNG, но его поддержка к 2008 году была реализована в тестовых сборках некоторых браузеров и некоторых программах просмотра изображений.

Совместимость с браузерами. Не все веб-браузеры одинаково отображают содержимое png-файла. Узким местом являются:

· частичная прозрачность (альфа-канал);

· поддержка прозрачности в палитре;

· гамма-коррекция;

· поддержка расширений PNG с анимацией;

· цветовая коррекция (ICC).

Проблема поддержки 32-битной (полной) прозрачности картинки формата PNG в Microsoft Internet Explorer была решена в седьмой версии браузера. Для остальных версий IE есть несколько способов, которые помогут веб-мастеру добиться прозрачности путём включения в веб-страницу специальных функций и скриптов.

 


 


Дата добавления: 2015-11-16; просмотров: 160 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
BITMAPFILEHEADER – эта структура содержит информацию о типе, размере и представлении данных в файле. Размер 14 байт.| Алгоритм визуальной криптографии

mybiblioteka.su - 2015-2024 год. (0.01 сек.)