
- •§ Виды мультимедийной информации. Цифровое изображение. Цифровой звук. Цифровое видео.
- •Недостатки:
- •Сжатие с потерями. Основано на отбрасывании части информации (как правило наименее воспринимаемой глазом).
- •Разное:
- •2.1. Bitmapinfoheader – наиболее простой вариант заголовка. Приложения для Windows nt 3.51 и более ранних могут использовать только эту структуру. Размер 40 байт.
- •2.3. Bitmapv5header – Win95/nt 4.0: приложения могут использовать bitmapv4header. Win nt 3.51 и более ранние должны использовать структуру bitmapinfoheader.
- •Файл bmp может не содержать палитры, если в нём хранится несжатое полноцветное изображение.
- •Алгоритм визуальной криптографии
- •Matlab-реализация алгоритма
- •Результаты
- •Заключение
1.3.1 Метод последнего бита
Процесс внедрения сообщения также должен учитывать свойства системы восприятия человека. Стеганография использует имеющуюся в сигналах психовизуальную избыточность, но другим, чем при сжатии данных образом. Приведем простой пример. Рассмотрим полутоновое изображение с 256 градациями серого, то есть с удельной скоростью кодирования 8 бит/пиксел. Хорошо известно, что глаз человека не способен заметить изменение младшего значащего бита. Еще в 1989 году был получен патент на способ скрытого вложения информации в изображение путем модификации младшего значащего бита. В данном случае детектор стего анализирует только значение этого бита для каждого пиксела, а глаз человека, напротив, воспринимает только старшие 7 бит. Данный метод прост в реализации и эффективен.
Суть метода заключается в использовании данного 8-го байта, в который мы и будем помещать наше сообщение. Для этого мы преобразуем сообщение в двоичный формат, удобный для записи побитно. Далее пропускаем заголовок файла, и таким образом мы можем использовать данный алгоритм при построении стеганографического приложения. Наше сообщения переводится с помощью прекодера в двоичный сигнал, далее разбиваем изображение на байты. В каждом байте мы заменяем последний бит, на бит нашей двоичной последовательности, этим занимается стегокодер, т.о. можно использовать до 1/8 размера файла изображения, что в принципе при передаче текстовой информации является достаточным. В результате мы получим изображение, которое можно передавать как обычное, и злоумышленник не сможет определить наличие сообщения в данном изображении. При получении контейнера адресатом он легко сможет извлечь сообщение из изображения с помощью этого же приложения. Им занимается стегокодер, то в принципе при передаче текстовой информации является достаточным.
Использование избыточности аудио- и видеофайлов. Из всех приведенных в таблице 1.1 методов, этот является наиболее перспективным. Существуют различные его модификации, самый простой из которых LSB (Least Significant Bit, наименьший значащий бит). Суть этого метода заключается в замене последних значащих битов в контейнере (изображения, аудио или видеозаписи) на биты скрываемого сообщения. Допустим, имеется 8-битное изображение в градациях серого (0 (00000000)2 обозначает черный цвет, 255 (11111111)2 – белый). Всего имеется 256 градаций. Также предположим, что сообщение состоит из 1 байта – например, (01101011)2. При использовании 2 младших бит в описании пикселей, нам потребуется 4 пикселя. Допустим, они черного цвета. Тогда пиксели, содержащие скрытое сообщение, будут выглядеть следующим образом: (00000001 00000010 00000010 00000011)2. Тогда цвет пикселей изменится: первого - на 1/256, второго и третьего - на 2/256 и четвертого - на 3/256. Такие искажения исходного изображения, как правило, незаметны для человеческого зрения. Для разноцветных изображений искажения еще менее заметны, тем более, что в них биты исходного изображения могут совпадать с битами секретного сообщения.
Метод замены наименее значащего бита. Метод замены наименее значащего бита (НЗБ, LSB – Least Significant Bit) наиболее распространен среди методов замены в пространственной области.
Младший значащий бит изображения несет в себе меньше всего информации. Известно, что человек в большинстве случаев не способен заметить изменений в этом бите. Фактически, НЗБ – это шум, поэтому его можно использовать для встраивания информации путем замены менее значащих битов пикселей изображения битами секретного сообщения. При этом для изображения в градациях серого (каждый пиксель изображения кодируется одним байтом) объем встроенных данных может составлять 1/8 от общего объема контейнера. Если же модифицировать два младших бита (что также практически незаметно), то данную пропускную способность можно увеличить еще вдвое.
Популярность данного метода обусловлена его простотой и тем, что он позволяет скрывать в относительно небольших файлах большие объемы информации (пропускная способность создаваемого скрытого канала связи составляет при этом от 12,5 до 30%). Метод зачастую работает с растровыми изображениями, представленными в формате без компрессии (например, BMP и GIF).
Метод НЗБ имеет низкую стеганографическую стойкость к атакам пассивного и активного нарушителей. Основной его недостаток – высокая чувствительность к малейшим искажениям контейнера. Для ослабления этой чувствительности часто дополнительно применяют помехоустойчивое кодирование.
1.4 Формат ВМР файла
По решению разработчиков формат Bmp-файла не привязан к конкретной аппаратной платформе. Этот файл состоит из четырех частей: заголовка, информационного заголовка, таблицы цветов (палитры) и данных изображения. Если в файле хранится изображение с глубиной цвета 24 бита (16 млн. цветов), то таблица цветов может отсутствовать, однако в нашем случае для удобства мы будем рассматривать 256-цветное изображение. Структура каждой из частей файла, хранящего 256-цветное изображение, дана в приложении В.
Заголовок файла начинается с сигнатуры «BM», а затем идет длина файла, выраженная в байтах. Следующие 4 байта зарезервированы для дальнейших расширений формата, а заканчивается этот заголовок смещением от начала файла до записанных в нем данных изображения. При 256 цветах это смещение составляет 1078 — именно столько и придется пропустить в программе, для того чтобы добраться к данным которые мы хотим изменить.
Информационный заголовок начинается с собственной длины (она может изменяться, но для 256-цветного файла составляет 40 байт) и содержит размеры изображения, разрешение, характеристики представления цвета и другие параметры.
Ширина и высота изображения задаются в точках растра и пояснений, пожалуй, не требуют.
Количество плоскостей могло применяться в файлах, имеющих небольшую глубину цвета. При числе цветов 256 и больше оно всегда равно 1, поэтому сейчас это поле уже можно считать устаревшим, но для совместимости оно сохраняется.
Глубина цвета считается важнейшей характеристикой способа представления цвета в файле и измеряется в битах на точку. В данном случае она равна 8.
Компрессия. В Bmp-файлах обычно не используется, но поле в заголовке для нее предусмотрено. Обычно она равна 0, и это означает, что изображение не сжато. В дальнейшем будем использовать только такие файлы.
Размер изображения — количество байт памяти, требующихся для хранения этого изображения, не считая данных палитры.
Горизонтальное и вертикальное разрешения измеряются в точках растра на метр. Они особенно важны для сохранения масштаба отсканированных картинок. Изображения, созданные с помощью графических редакторов, как правило, имеют в этих полях нули.
Число цветов позволяет сократить размер таблицы палитры, если в изображении реально присутствует меньше цветов, чем это допускает выбранная глубина цвета. Однако на практике такие файлы почти не встречаются. Если число цветов принимает значение, максимально допустимое глубиной цвета, например 256 цветов при 8 битах, поле обнуляют.
Число основных цветов — идет с начала палитры, и его желательно выводить без искажений. Данное поле бывает важно тогда, когда максимальное число цветов дисплея было меньше, чем в палитре Bmp-файла. При разработке формата, очевидно, принималось, что наиболее часто встречающиеся цвета будут располагаться в начале таблицы. Сейчас этого требования практически не придерживаются, т. е. цвета не упорядочиваются по частоте, с которой они встречаются в файле. Это очень важно, поскольку палитры двух разных файлов, даже составленных из одних и тех же цветов, содержали бы их (цвета) в разном порядке, что могло существенно осложнить одновременный вывод таких изображений на экран.
За информационным заголовком следует таблица цветов, представляющая собой массив из 256 (по числу цветов) 4-байтовых полей. Каждое поле соответствует своему цвету в палитре, а три байта из четырех — компонентам синей, зеленой и красной составляющих для этого цвета. Последний, самый старший байт каждого поля зарезервирован и равен 0.
После таблицы цветов находятся данные изображения, которое по строкам растра записано снизу вверх, а внутри строки — слева направо. Так как на некоторых платформах невозможно считать единицу данных, которая меньше 4 байт, длина каждой строки выровнена на границу в 4 байта, т. е. при длине строки, некратной четырем, она дополняется нулями. Это обстоятельство обязательно надо учитывать при считывании файла, хотя, возможно, лучше заранее позаботиться, чтобы горизонтальные размеры всех изображений были кратны 4.
Как мы уже говорили, формат файла был разработан универсальным для различных платформ, поэтому нет ничего удивительного в том, что цвета палитры хранятся в нем иначе, чем принято для VGA. Во время выполнения процедуры чтения производится необходимая перекодировка.
§ Виды мультимедийной информации. Цифровое изображение. Цифровой звук. Цифровое видео.
Цифровое изображение – изображение, представленное в цифровом виде. Существуют три основных способа цифрового представления изображений: растровая графика, векторная графика, фрактальная графика.
Растровое изображение – сетка пикселей или цветных точек на компьютерном, (например – монитор) устройстве, бумаге и других отображающих устройствах и материалах (растр).
Первые вычислительные машины не имели отдельных средств для работы с графикой, однако уже использовались для получения и обработки изображений.
Программируя память первых электронных машин, построенную на основе матрицы ламп, можно было получать узоры.
В 1961 году программист С. Рассел возглавил проект по созданию первой компьютерной игры с графикой. Создание игры «Spacewar» («Космические войны») заняло около 200 человеко-часов. Игра была создана на машине PDP-1.
В 1963 году американский учёный Айвен Сазерленд создал программно-аппаратный комплекс Sketchpad, который позволял рисовать точки, линии и окружности на трубке цифровым пером. Поддерживались базовые действия с примитивами: перемещение, копирование и др. По сути, это был первый векторный редактор, реализованный на компьютере. Также программу можно назвать первым графическим интерфейсом, причём она являлась таковой ещё до появления самого термина.
В середине 1960-х гг. появились разработки в промышленных приложениях компьютерной графики. Так, под руководством Т. Мофетта и Н. Тейлора фирма Itek разработала цифровую электронную чертёжную машину. В 1964 году General Motors представила систему автоматизированного проектирования DAC-1, разработанную совместно с IBM.
В 1968 году группой под руководством Константинова Н. Н. была создана компьютерная математическая модель движения кошки. Машина БЭСМ-4, выполняя написанную программу решения дифференциальных уравнений, рисовала мультфильм «Кошечка», который для своего времени являлся прорывом. Для визуализации использовался алфавитно-цифровой принтер. Существенный прогресс компьютерная графика испытала с появлением возможности запоминать изображения и выводить их на компьютерном дисплее.
Векторная графика – способ представления объектов и изображений в компьютерной графике, основанный на использовании элементарных геометрических объектов, таких как точки, линии, сплайны и многоугольники. Объекты векторной графики являются графическими изображениями математических функций. Термин используется в противоположность к растровой графике, которая представляет изображение как матрицу фиксированного размера, состоящую из точек (пикселей) со своими геометрическими параметрами.
Для создания изображения векторного формата, отображаемого на растровом устройстве, используются преобразователи, программные или аппаратные (встроенные в видеокарту). Подавляющее большинство современных компьютерных видеодисплеев, в силу принципов используемых для построения изображения, предназначены для отображения информации в растровом формате. Кроме этого, существует узкий класс устройств, ориентированных исключительно на отображение векторных данных. К ним относятся мониторы с векторной развёрткой, графопостроители, а также некоторые типы лазерных проекторов. Термин «векторная графика» используется в основном в контексте двумерной компьютерной графики.
Векторные графические редакторы, типично, позволяют вращать, перемещать, отражать, растягивать, скашивать, выполнять основные аффинные преобразования над объектами, изменять z-order и комбинировать примитивы в более сложные объекты. Более изощрённые преобразования включают булевы операции на замкнутых фигурах: объединение, дополнение, пересечение и т. д. Векторная графика идеальна для простых или составных рисунков, которые должны быть аппаратно-независимыми или не нуждаются в фотореализме. К примеру, PostScript и PDF используют модель векторной графики.
Медиаконтейнеры, предназначенные для сохранения только аудиоданных:
AIFF (формат файла IFF, широко используемый на платформе Mac OS);
WAV (формат файла RIFF, широко используемый на платформе Microsoft Windows);
XMF (англ. Extensible Music Format – расширяемый формат музыки).
Медиаконтейнеры, предназначенные для сохранения только статических изображений:
FITS (англ. Flexible Image Transport System – гибкая транспортная система изображения) – медиаконтейнер для статичных изображений, необработанных данных (англ. raw data) и связанных метаданных;
TIFF (англ. Tagged Image File Format – теговый файловый формат изображений) – медиаконтейнер для статичных изображений и связанных метаданных.
Медиаконтейнеры приспособленные для сохранения всех или почти всех типов медиаинформации, включая аудио, видео и текст:
3gp (используется на многих мобильных телефонах, основан на стандартизированном ISO формате медиафайлов, определён спецификаций MPEG-4 Part 12);
ANIM – медиаконтейнер для цифровой анимации на линейке классических компьютеров Commodore Amiga, следует основным спецификациям IFF ILBM;
ASF (англ. Advanced Systems Format – продвинутый системный формат) – стандартный медиаконтейнер для Microsoft WMA и WMV;
AVI (англ. Audio Video Interleave – чередование аудио и видео) – стандартный медиаконтейнер для Microsoft Windows, базируется на RIFF, один из самых распространённых;
Matroska (MKV) – открытый свободный стандарт и медиаконтейнер;
MPEG-TS (англ. MPEG-2 transport stream – транспортный поток MPEG) – медиаконтейнер для цифрового широковещательного телевидения. Стандартно содержит несколько видео- и аудиопотоков и расписание телепрограмм (Electronic Program Guide);
MP4 (MPEG-4 Part 14) – медиаконтейнер, поддерживающий аудио и видео из группы MPEG-4;
M4V – медиаконтейнер на базе MPEG-4 Part 14 с добавлением возможности DRM-защиты и поддержки кодека AC3;
MOV – медиаконтейнер для мультимедийного фреймворка QuickTime, разработанный Apple;
Ogg – медиаконтейнер для аудиокодека Vorbis от Xiph.org и видеокодека Theora;
OGM (Ogg Media) медиаконтейнер для кодеков от Xiph.org, более не поддерживаемый и формально отторгнутый Xiph.org;
RealMedia – медиаконтейнер для RealVideo и RealAudio;
MXF (англ. Material eXchange Format – формат обмена данными) – контейнер для профессионального хранения и обработки видео- и аудиоматериалов.
§ Файлы изображений.
Векторная графика (SVG и FLASH; внедрение в SVG на основе незначительного смещения узлов). Растровая графика (BMP – формат файла, метод стеганографии на примере; JPEG – обзор; PNG).
Растровая графика. Растровое изображение – изображение (рисунок 1), представляющее собой сетку пикселей или цветных точек (обычно прямоугольную) на компьютерном мониторе, бумаге и других отображающих устройствах и материалах (растр).
Рисунок 1 – Схема хранения растровой графики
Важными характеристиками изображения являются:
количество пикселей – может указываться отдельно количество пикселей по ширине и высоте (1024×768, 640×480 и т. п.) или же общее количество пикселей;
количество используемых цветов или глубина цвета (эти характеристики имеют следующую зависимость:
, где
– количество цветов,
– глубина цвета);
цветовое пространство (цветовая модель) –
,
,
,
и др.;
разрешение – справочная величина, говорящая о рекомендуемом размере изображения.
Растровую графику редактируют с помощью растровых графических редакторов. Создается растровая графика фотоаппаратами, сканерами, непосредственно в растровом редакторе, также путем экспорта из векторного редактора или в виде снимков экрана.
Преимущества:
Растровая графика позволяет создать практически любой рисунок, вне зависимости от сложности, в отличие, например, от векторной, где невозможно точно передать эффект перехода от одного цвета к другому без потерь в размере файла.
Распространённость – растровая графика используется сейчас практически везде: от маленьких значков до плакатов.
Высокая скорость обработки сложных изображений, если не нужно масштабирование.
Растровое представление изображения естественно для большинства устройств ввода-вывода графической информации, таких как мониторы (за исключением векторных устройств вывода), матричные и струйные принтеры, цифровые фотоаппараты, сканеры, а также сотовые телефоны.