Результирующий закодированный сигнал (содержащий несколько бит внедренной информации) представляет собой комбинацию отдельных участков. На рис. 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 мс после его выключения.
Воспользовавшись информацией о маскировании по частоте для системы слуха человека, мы можем определить спектральные характеристики внедряемой информации. Обработка импульсных сигналов, таких как звук кастаньет, может привести к образованию слышимого пре-эхо. Для устранения этого эффекта при внедрении информации его также необходимо учитывать.
Рассмотрим конкретный метод внедрения ЦВЗ (псевдослучайной последовательности) с использованием эффекта маскирования, предложенный в работе [3]. Каждый аудиосигнал помечается уникальным кодовым словом. Для того, чтобы использовать маскирующие характеристики системы слуха человека по частоте необходимо соотнести ПСП с порогом маскирования сигнала, при этом необходимо также учесть эффект временного маскирования. Невозможно внести большое количество информации в сигнал малой мощности, в противном случае внедренная информация может стать слышимой. Это происходит из-за того, что преобразование Фурье фиксированной длины не может сразу обладать хорошей локализацией в частотной и временной областях. Если время длительности сигнала высокой мощности больше длительности окна, то его энергия распространяется по всем частотам. Следовательно, необходимо взвешивать ЦВЗ с энергией сигнала.
Для внедрения ЦВЗ необходимо вычислить порог маскирования сигнала. Порог маскирования определяется для сегментов аудиосигнала длиной 512 отсчетов, взвешенных при помощи окна Хэмминга, с 50 % перекрытием текущих блоков. Он аппроксимируется идеальным фильтром 10-го порядка,
ЦВЗ, находящийся ниже порога маскирования в частотной области, распространяется на все окно 512 отсчетов. Если внутри блока имеются пиковые изменения амплитуды, то области сигнала высокой мощности распространяются на области сигнала низкой мощности, создавая ощутимые искажения.