Диссертация 1 (1189900), страница 5
Текст из файла (страница 5)
Рассмотрим каждый из них подробнее.
2.2.1 Формат BMP (Bit MaP)
Формат BMP (от англ. Bitmap Picture), разработанный компанией Microsoft, является одним из самых простых способов представления растра. С этим форматом работает огромное количество программ, так как его поддержка интегрирована в операционные системы Windows. Кроме непосредственно данных по пикселям формат BMP фактически ничего не содержит. BMP использует цветовую схему RGB. Максимальные размеры растра по горизонтали и вертикали – до 216-1 пикселей. RGB-значения представляются в непосредственном виде, использование палитры не допускается (в расширенных модификациях допускается использование 256-цветной палитры). Диапазон значений по каждому из цветовых каналов – от 0 до 255. Общее число цветов – 224 (режим TrueColor). Допустимы варианты кодирования цвета с 1, 4, 8, 16 бит на один пиксель [21]. Базовая версия BMP не предусматривает компрессию изображения. Единственным допустимым режимом вывода изображения является вывод построчно слева направо, сверху вниз. Формат обеспечивает максимальное качество изображения, так как в нем используется полноцветная (TrueColor) схема и изображение сохраняется без потерь качества, но в то же время, факт полного отсутствия компрессии в базовой версии обусловил крайне низкую эффективность данного формата с точки зрения сжатия. Кодирование и декодирование формата производится очень быстро по сравнению с другими популярными форматами. Поддерживается всеми известными средствами работы с графикой. Файлы формата BMP обычно имеют расширение .BMP; .ВМ; .RLE (использует алгоритм сжатия с кодированием повторов без потери информации).
2.2.2 Формат PNG (Portable Network Graphics)
Формат PNG – растровый формат хранения графической информации, использующий сжатие без потерь по алгоритму Deflate, разрабатывался в качестве средства компактного представления «искусственной» и «естественной» графики в режиме среднего качества. Основной нишей применения PNG является представление графики в Интернете. В PNG используется цветовая схема RGB. Максимальные размеры растра по горизонтали и вертикали – до 232-1 пикселей. RGB-значения могут представляться либо в виде 256-цветной палитры (включая возможность представления в виде 256 оттенков серого), либо в виде полноцветного режима TrueColor. Современные расширения формата PNG позволяет использовать до 16 бит на хранение значений каждого цветового канала, что позволяет отображать до 248 различных цветов. При сжатии используется алгоритм LZ77, версия Deflate, использующийся в программах-архиваторах [21]. Главной особенностью компрессии PNG является наличие сжатия последовательности данных о пикселях как по горизонтали, так и по вертикали. Допускается вывод изображения по строкам и столбцам. PNG при использовании полноцветного режима обеспечивает хорошее качество «естественных» изображений, но из-за отсутствия режима сжатия с потерями ему всё же сложно конкурировать с JPEG по степени их сжатия. Скорость декодирования сопоставима с соответствующими показателями формата BMP, а кодирование осуществляется заметно медленнее. Поддерживается большинством современных средств работы с графикой. Основным недостатком PNG является неудобство его использования для очень малых изображений (кнопок, иконок), так как палитра занимает в этом случае порядка 1 Кбайт, что соизмеримо с размером самого изображения. Еще одной значимой проблемой является то обстоятельство, что не все веб-браузеры одинаково отображают содержимое PNG-файла. Файлы формата PNG обычно имеют расширение .PNG.
2.2.3 Формат TIFF (Tagged Image File Format)
Формат TIFF, являющийся одним из самых сложных растровых форматов, разработан для хранения изображений с большой глубиной цвета. Изображение формата TIFF состоит из специализированных блоков данных, называемых тегами, каждый из которых определяется специфическим кодом. Теги хранят информацию об изображении. В спецификации формата файлов TIFF определено более 70 различных типов тегов. Изображение, закодированное в формате TIFF, полностью определяется его тегами, и файл TIFF легко расширяем, поскольку для придания дополнительных свойств файлу достаточно лишь определить дополнительные типы тегов. В большинстве программ для чтения файлов TIFF реализуется только подмножество тегов, именно поэтому созданный одной программой файл TIFF иногда не может быть корректно прочитан другой. TIFF использует различные цветовые схемы: RGB, LAB, CMYK и др. Максимальный размер растра 232 пикселей . RGB-значения представляются как в непосредственном виде, так и с использованием палитры. Диапазон значений по каждому из цветовых каналов – от 0 до 255. Общее число цветов – 224 в режиме TrueColor. Допустимы также варианты кодирования цвета с 1, 2, 4, 8, 16, 32 бит на один пиксель. Допускается компрессия с использованием ряда алгоритмов (самые распространенные – RLE и LZW, хотя могут быть и альтернативные – Deflate, JPEG и т.п.) [21]. Эффективность кодирования и вычислительная сложность кодирования/декодирования зависит от выбора алгоритма. В этом формате поддерживаются такие чисто профессиональные возможности, как альфа-каналы и возможность сохранять несколько копий изображения с разным разрешением. Поддерживается большинством средств работы с графикой. Файлы формата TIFF обычно имеют расширение. TIF; .TIFF.
2.2.4 Формат JPEG (Joint Photographic Expert Group)
Этот формат, как и TIFF, также является довольно сложным способом представления растра и состоит из отдельных блоков данных, именуемых маркерами, которые являются аналогами тегов в TIFF. JPEG использует цветовую схему RGB с промежуточным преобразованием в YCbCr в процессе кодирования. Максимальные размеры растра по горизонтали и вертикали – до 216-1 пикселей. RGB-значения представляются только в непосредственном виде, использование палитры не допускается. Диапазон значений по каждому из цветовых каналов – от 0 до 255. Общее число цветов – 224 в режиме TrueColor. Кроме полноцветного режима (с пропускной способностью 24 бита на пиксел) других видов кодирования не предусмотрено, за исключением изображения в оттенках серого (до 256 оттенков серого) [21]. Базовая версия предусматривает сжатие с потерями в сочетании с обычной компрессией. На этапе сжатия с потерями используется квантование, использующее дискретное косинусное преобразование, после которого применяется арифметическое кодирование или кодирование Хаффмана (сжатие без потерь). Формат JPEG является базовым для сохранения фотографий. В полноцветном режиме обеспечивается максимальная эффективность при незначительном ухудшении качества изображения. Кодирование и декодирование JPEG производится медленнее всех других форматов, что обусловлено высокой сложностью компрессии/декомпрессии с потерями. Стандарт сжатия JPEG является самым распространённым и поддерживается всеми известными средствами работы с графикой. Полезной дополнительной возможностью является сохранение в теле JPEG-файла уменьшенной копии изображения, которая может быть выведена до получения основной части файла. При этом уменьшенная копия сама по себе может иметь практически любой формат (от BMP до JPEG). Стандарт JPEG позволяет сжать изображение в 30-40 раз без больших потерь в качестве. При более сильном сжатии качество резко падает. Файлы формата JPEG обычно имеют расширение .JPG; .JPEG; .JFIF.
В настоящее время получает распространение новая версия формата JPEG – JPEG-2000. Одним из существенных улучшений JPEG-2000 является применение более эффективного алгоритма компрессии с потерями – вейвлет-преобразования. Вейвлет-коэффициенты подвергаются квантованию по алгоритму, известному как «иерархическое кодирование блоков с оптимизированным усечением» (EBCOT). Преимуществом EBCOT является то, что он работает с независимыми неперекрывающимися блоками, которые кодируются итеративно. В настоящее время данный формат используется в цифровом кинематографе, для хранения фотографии владельца в биометрических паспортах и оцифрованных версий географических карт. Серьезным препятствием для распространения формата является отсутствие поддержки в операционных системах семейства Windows и в некоторых распространенных веб-браузерах.
Процесс внедрения скрываемой информации в изображения сопоставим с процессом их сжатия. Встраивание информации зачастую осуществляется в незначащие области, для сохранения визуального представления изображения. Оптимальный метод сжатия удалит эту информацию, но современные алгоритмы оставляют достаточно возможностей для реализации различных способов внедрения данных. В стеганографии используется много идей из области компрессии изображений и знание алгоритмов сжатия помогает конструировать робастные к ним ЦВЗ.
2.3 Классификация алгоритмов встраивания ЦВЗ в изображения
По способу встраивания ЦВЗ стегоалгоритмы делятся на аддитивные и нелинейные. В алгоритмах аддитивного внедрения информации исходное изображение линейно модифицируется, а при извлечении в декодере используются корреляционные методы. При этом ЦВЗ или складывается с изображением-контейнером, или «вплавляется» в него. Нелинейные методы, в основном, основаны на скалярном и векторном квантовании.
Линейные алгоритмы делятся на методы скрытия данных в пространственной области и методы скрытия данных в области преобразования. Нелинейные методы можно разделить на алгоритмы расширения спектра, скалярного и векторного квантования и методы, основанные на фрактальном кодировании.
Среди алгоритмов генерирования и встраивания цифровых водяных знаков большинство являются линейными. В данной работе будет рассмотрен только один нелинейный алгоритм, использующий скалярное квантование.
Методы скрытия данных в пространственной области направлены на непосредственную модификацию пикселей изображения. Эти алгоритмы не требуют проведения сложных вычислений и должны позволить сократить время работы по сравнению с методами встраивания в коэффициенты преобразований. Однако, на самом деле, простота встраивания ведет к проблемам робастности. Например, алгоритмы, основанные на встраивании в наименее значащие биты пикселей, позволяют создавать только хрупкие (неустойчивые к атакам) ЦВЗ. С целью повышения робастности данных методов используются дополнительные криптографические средства (например, предварительное шифрование сообщения) и методы маскирования для увеличения робастности. В алгоритмах, основанных на дублировании информации, которые являются более устойчивыми к атакам, возникают видимые артефакты.
В области нелинейных алгоритмов в настоящее время существуют малое количество разработок. Самыми популярными из них являются методы расширения спектра (например, алгоритм [23]), которые обладая неплохой робастностью, требуют конструирования базисных функций и модуляции сигнала, что ведет к значительным вычислительным затратам.
Внимание разработчиков алгоритмов генерирования и встраивания робастных цифровых водяных знаков привлекли методы встраивания в коэффициенты быстрых преобразований. Самыми известными и подходящими для данной задачи являются дискретное косинусное преобразование (ДКП) и дискретное вейвлетное преобразование (ДВП). Данные линейные ортогональные преобразования показали себя с наилучшей стороны при сжатии изображений (например, алгоритм JPEG основан на ДКП, а JPEG-2000 на ДВП). Эффективность применения вейвлет-преобразования и ДКП для сжатия изображений объясняется тем, что они хорошо моделируют процесс обработки изображения в СЧЗ, отделяя «значимые» детали от «незначимых» [19].
Рассмотрим схему работы стегосистемы, осуществляющей вложение ЦВЗ в область преобразования [19]. Изображение разделяется на поддиапазонов. В каждый из них и встраивается скрытая информация. В результате обратного преобразования получается модифицированное изображение
. При извлечении изображение подвергается прямому преобразованию, и из каждого поддиапазона независимо извлекается скрытое сообщение.
В рамках данной магистерской диссертации будут рассмотрены робастные и полухрупкие алгоритмы, использующие эти преобразования.
2.4 Алгоритмы, основанные на встраивании ЦВЗ в коэффициенты дискретного косинусногопреобразования изображения
Дискретное косинусное преобразование (ДКП) — одно из ортогональных преобразований, вариант косинусного преобразования для вектора действительных чисел. Применяется в алгоритмах сжатия информации с потерями, например, MPEG и JPEG.
Наиболее распространён двумерный вариант преобразования для матриц 8x8. Двумерное дискретное косинусное преобразование имеет вид: (2.1) – для прямого преобразования, (2.2) – для обратного [24].
где
Опишем процесс проведения двумерного дискретного косинусного преобразования. Для начала первичное изображение разбивается на блоки размерностью 8x8 пикселей. ДКП применяется к каждому блоку. Рассмотрим применение прямого ДКП к блоку с индексом по формуле 2.1. За
обозначено значение пикселя блока
в позиции (x,y),
– размер блока,
– позиция коэффициента в этом блоке. В результате преобразования получается матрица размером 8x8 коэффициентов ДКП, которые обозначаются
. После внесения изменений в значения коэффициентов, посредством формулы (2.2) проводится обратное ДКП. В результате преобразования матрицы
получим матрицу пикселей
.
В качестве базисных функций косинусного преобразования выступают 64 косинусные функции, а матрица из 64 пикселей является взвешенной суммой этих функций. На рисунке 2.1 представлен график базисной косинусной функция для коэффициента в позиции (1,5).
Рисунок 2.1 График базисной косинусной функции