Вадим Грибунин - Цифровая стеганография
7.2. Внедрение информации модификацией фазы аудиосигнала
Метод, предлагающий использовать слабую чувствительность системы слуха человека к незначительным изменениям фазы сигнала, был предложен В. Бендером, Н. Моримото и др.
Внедрение информации модификацией фазы аудиосигнала — это метод, при котором фаза начального сегмента аудиосигнала модифицируется в зависимости от внедряемых данных. Фаза последующих сегментов согласовывается с ним для сохранения разности фаз. Это необходимо потому, что к разности фаз человеческое ухо более чувствительно. Фазовое кодирование, когда оно может быть применено, является одним из наиболее эффективных способов кодирования по критерию отношения сигнал-шум.
Процедура фазового кодирования состоит в следующем:
1. Звуковой сигнал разбивается на серию N коротких сегментов рис. 7.7(а), 7.7(б).
2. К n-му сегменту сигнала применяется k-точечное дискретное преобразование Фурье, где К = I/N, и создаются матрицы фаз и амплитуд для (рис 7.7(в)).
3. Запоминается разность фаз между каждыми двумя соседними сегментами рис. (7.7(г)).
(7.7)
4. Бинарная последовательность данных представляется, как и - (рис 7.7(д)), .
5. С учетом разности фаз создается новая матрица фаз для n > 0, (рис. 7.7(е)):
(7.8)
6. Стегокодированный сигнал получается путем применения обратного дискретного преобразования Фурье, к исходной матрице амлитуд и модифицированной матрице фаз. (рис. 7.7(ж) и 7.7(з)).
Рис. 7.7. Блок-схема фазового кодирования
Получателю должны быть известны: длина сегмента, и точки ДПФ. Перед декодированием последовательность должна быть синхронизирована.
Недостатком этой схемы является ее низкая пропускная способность. В экспериментах В. Бендера и Н. Моримото пропускная способность канала варьировалась от 8 до 32 бит в секунду.
7.3. Встраивание информации за счет изменения времени задержки эхо-сигнала
Теми же авторами был предложен метод внедрения информации с использованием эхо-сигнала.
Этот метод позволяет внедрять данные в сигнал прикрытия, изменяя параметры эхо сигнала. К параметрам эхо, несущим внедряемую информацию (рис. 7.8), относятся: начальная амплитуда, время спада и сдвиг (время задержки между исходным сигналом и его эхо). При уменьшении сдвига два сигнала смешиваются. В определенной точке человеческое ухо перестает различать два сигнала, и эхо воспринимается, как добавочный резонанс. Эту точку трудно определить точно, так как она зависит от исходной записи, типа звука и слушателя. В общем случае, по исследованиям В. Бендера и Н. Моримото, для большинства типов сигналов и для большинства слушателей слияние двух сигналов происходит при расстоянии между ними около 0,001 секунды.
Рис. 7.8. Параметры эхо-сигнала
Кодер использует два времени задержки: одно для кодирования нуля, другое для кодирования единицы. И то, и другое время задержки меньше того, на котором человеческое ухо может распознать эхо. Кроме уменьшения времени задержки необходимо добиться установлением начальной амплитуды и времени спада того, чтобы внедренная информация не могла быть воспринята системой слуха человека.
Кодирование. Для простоты, был выбран пример только двух импульсов (один для копирования исходного сигнала, другой для формирования эхо сигнала). Увеличение количества импульсов приведет к увеличению количества отсчетов эхо-сигналов.
Пусть на рис. 7.9а показан способ кодирования «единицы» а на рис. 7.9б — способ кодирования «нуля». Внедрение данных показано на рис. 7.10.
Задержка () между исходным сигналом и его эхо зависит от внедряемых в данный момент данных. Единице соответствует задержка (), а нулю — задержка эхо-сигнала ().
Для того чтобы закодировать более одного бита, исходный сигнал разделяется на маленькие участки. Каждый участок рассматривается как отдельный сигнал, и в него внедряется один бит информации. Результирующий закодированный сигнал (содержащий несколько бит внедренной информации) представляет собой комбинацию отдельных участков. На рис. 7.11 показан пример, в котором сигнал разделяется на семь участков — a, b, c, d, e, f, g.
Рис. 7.9. Кодирование одного бита информации
Рис. 7.10. Внедрение одного бита информации
В участки a, с, d, g будет внедрена единица. Следовательно, на этих участках система будет функционировать так, как показано на рис. 7.9а. Нули будут внедрены в участки b, e, f, на этих участках система будет функционировать так, как показано на рис. 7.9б.
Рис. 7.11. Разделение сигнала на участки
Для достижения минимума заметности сначала создаются два сигнала: один, содержащий только «единицы», и другой — содержащий только нули. Полученные в результате сигналы показаны на рис. 7.12.
Рис. 7.12. Сигналы, содержащие только одно бинарное значение
Затем создаются два переключающих сигнала — нулевой и единичный (рис. 7.13). Каждый из них представляет собой бинарную последовательность, состояние которой зависит от того, какой бит должен быть внедрен в данный участок звукового сигнала.
Рис. 7.13. Переключающие сигналы
Далее вычисляется сумма произведений нулевого смешивающего сигнала и аудиосигнала с задержкой «нуль», а также единичного смешивающего сигнала и аудиосигнала с задержкой «единица». Другими словами, когда в аудиосигнал необходимо внедрить «единицу», на выход подается сигнал с задержкой «единица», в противном случае — сигнал с задержкой «нуль». Так как сумма двух смешивающих сигналов всегда равна единице, то обеспечивается гладкий переход между участками аудиосигнала, в которые внедрены различные биты. Блок-схема стегокодера показана на рис. 7.14.
Рис. 7.14. Блок-схема стегокодера
Декодирование. Декодирование внедренной информации представляет собой определение промежутка времени между сигналом и эхо. Для этого необходимо рассмотреть амплитуду (в двух точках) автокорреляционной функции дискретного косинусного преобразования логарифма спектра мощности (кепстра).
В результате вычисления кепстра получится последовательность импульсов (эхо, дублированное каждые секунд) (рис. 7.15).
Рис. 7.15. Результат вычисления кепстра
Для определения промежутка времени между сигналом и его эхом необходимо рассчитать автокорреляционную функцию кепстра.
Всплеск автокорреляционной функции будет иметь место через или секунд после исходного сигнала (рис. 7.16). Правило декодирования основано на определении промежутка времени между исходным сигналом и всплеском автокорреляции.
При декодировании «единица» принимается, если значение автокорреляционной функции через секунд больше чем через секунд, в противном случае — «нуль».
Рис. 7.16. Поведение автокорреляционной функции при различной внедренной информации
По исследованиям В. Бендера и Н. Моримото данная схема позволяет внедрять 16 бит в одну секунду аудиозаписи незаметно, без потери ее качества.
7.4. Методы маскирования ЦВЗ
К методам, использующим не только особенности строения аудиосигналов, но и системы слуха человека относится также метод маскирования сигнала. Маскированием называется эффект, при котором слабое, но слышимое звуковое колебание становится неслышимым при наличии другого более громкого (сигнал маскирования). Эффект маскирования зависит от спектральных и временных характеристик маскируемого сигнала и сигнала маскирования.
Можно говорить о маскировании по частоте и маскировании по времени. Первое заключается в следующем: если два сигнала одновременно находятся в ограниченной частотной области, то более слабый сигнал становится неслышимым на фоне более сильного. Порог маскирования зависит от частоты, уровня подавления сигнала и тональной или шумовой характеристик маскируемого сигнала и сигнала маскирования. Легче широкополосным шумовым сигналом маскировать тональное колебание, чем наоборот. Кроме того, более высокочастотные колебания маскировать легче. Маскирование по времени определяет следующий эффект: более слабый сигнал становится не слышимым за 5 — 20 мс до включения колебания маскирования и становится слышимым через 50 — 200 мс после его выключения.