Адаптивный смешанный аудио-домен с автоматическим добавлением водяных знаков

искусственный интеллект задняя часть Разработка аудио и видео

Эта статья была впервые опубликована на:Уокер ИИ

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

Благодаря слуховой системе человека(HAS)Он чрезвычайно чувствителен, а избыточность восприятия звука мала. Водяным знакам очень сложно одновременно удовлетворить требования маскировки и надежности. В то же время алгоритмы сжатия звука, такие какMP3Из-за отличной степени сжатия и качества звука он стал основным методом сжатия цифрового звука с приходом эпохи Интернета. тем не мениеMP3Кодирование сжатия с потерями, информация о звуковых водяных знаках будет уничтожена после сжатия, поэтому исследование звуковых водяных знаков является более сложным, чем алгоритм водяных знаков изображения.

Целью этого алгоритма является предоставление адаптивного метода встраивания звуковых водяных знаков со смешанными доменами, который может встраивать больше информации о водяных знаках в один и тот же звуковой сигнал, обеспечивая при этом маскировку, тем самым в определенной степени улучшая защиту от клипа звуковых водяных знаков.

1. Базовые знания

1.1 Количественная оценка

Сопоставьте значения с системой координат, затем разделите систему координат на коэффициент квантования (также называемый шагом) и примите значение, представленное каждым шагом. В алгоритме водяных знаков обычно используется встроенная информация, преобразованная в двоичное кодирование.Исходной информацией встроенной информации может быть изображение или текст и т. д., тогда предполагается, что коэффициент квантования равенΔ,0-Δпредставлять0,Δ-2Δпредставлять1, есть результаты квантования, как показано на рисунке. Как видно из рисунка ниже-Δ-0представлять1,0-Δпредставлять0,Δ-2Δпредставлять1,2Δ-3Δпредставлять0,3Δ-4Δпредставлять1.

1.2 Маскирующий эффект

Маскирующие эффекты обнаруживаются в слуховой системе человека (HAS) является эффектом: в течение короткого периода времени высокоэнергетическая часть закрывает низкоэнергетическую часть, так что люди могут слышать только высокоэнергетическую часть. Эффект маскирования можно разделить на расширенное маскирование, одновременное маскирование и маскирование с задержкой в ​​зависимости от наличия частей с высокой и низкой энергией. Опережающая маскировка означает, что энергия задней части выше, чем энергия передней части, поэтому слышна только задняя часть, в противном случае возникает запаздывающая маскировка; в то время как маскировка означает, что энергия передней и задней частей выше, чем энергия передней части. текущая партия, то текущая партия не будет слышна, но будет скрыта звуком до и после. Эффект маскирования показан на рисунке ниже.

1.3 Сжатие MP3

MP3Сжатие вызывает сдвиги во временной области и изменения амплитуды в частотной области.

Аудио проходитMP3После сжатия с потерями производительность во временной области представляет собой не только изменение амплитуды, но и сдвиг во времени. так какMP3При сжатии ортогональных изменений перекрытия необходимо дополнять головной и хвостовой кадры0, что приводит к краевому эффекту, и эта часть данных также добавляется к аудио после декодирования, то есть после сжатия генерируется временной сдвиг.

Используя эффект маскирования звука в частотной области, чтобы удерживать шум квантования ниже порога маскирования в частотной области, избыточная часть восприятия звука удаляется. Это приводит к большим изменениям высоких частот после сжатия и относительно небольшим изменениям низких частот.

1.4 Преобразование DWT

(1) После вейвлет-преобразования будут получены приблизительные коэффициенты низкой частоты и подробные коэффициенты высокой частоты. (2) Могут быть выполнены множественные (порядка) вейвлет-преобразования, максимальный порядокlevel=log2(n),nявляется точкой выборки во временной области. (3) После многопорядкового преобразования получимlevel+1коэффициент.

1.5 Предварительная обработка

Для разных параметров формата аудиофайла мы единообразно конвертируем файл в44.1kHz,立体声Битовая ширина16bitизwavфайл и прочитать файл в память в2Кусокint16массив .2Кусокint16Массив, представляющий левый и правый каналы с разрядностью16bit, то есть значение точки дискретизации занимает16bitразмер.

В то же время информация о водяном знаке, которая должна быть внедрена, строится как изображение в градациях серого для повышения надежности системы.Здесь информация о водяном знаке представлена ​​​​в двоичном виде.

2. Этапы реализации

2.1 Аудиокадрирование

А. Встроенный блок

упоминалось ранее, чтобы решитьMP3Проблема сжатия смещения времени состоит в том, чтобы вычислить энергию каждого встроенного сегмента и отфильтровать сегменты с низкой энергией.Здесь мы называем каждый внедренный сегмент единицей внедрения. И каждая единица встраивания разделена на две небольшие области в зависимости от длины: область встраивания и область позиционирования.

заDWT, коэффициент аппроксимации и детализации получают для каждого порядка преобразования. Предположим, что имеется длинаxСигнал , максимальное количество преобразований, которое может быть выполнено (порядок)levelза:

level=logx2level = log_x^2

Поскольку устойчивость лучше на низких частотах, мы принимаем3kHzСледующие регионы встроеныlevel=4.

Чтобы обеспечить надежность встраивания, чем больше точек выборки участвует во встраивании, тем выше надежность. Итак, установите константуαпредставляет коэффициент расширения встроенной области,αмогу взять8,16,32Ждать.

Определяем постоянное значениеN, который используется для описания количества (длины) точек выборки в каждой небольшой области и называется длиной встраивания. Тогда длина закладной единицы равна2N,в:

N=24×альфаN=2^4×α

вDWTПорядок трансформации такой4, поэтому длина встроенной ячейки устанавливается равнойflимеют:

fl=32×альфаэт=32×α

Если взятьαза8, то количество точек выборки, необходимых для встраивания информационного бита, равно256, одна секунда аудио может быть встроена172биты информации.

44100/256=172\lfloor 44100/256 \rfloor =172

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

б. Встроенная рама

Предположим, что длина и ширина изображения водяного знака соответственноhиw, то длина данных водяного знака равнаh×w.

Согласно определению встроенной единицы, длина встроенной единицы равна2N. Мы можем рассчитать по крайней мере длину точек выборки, необходимых для встраивания водяного знака один раз.Lза:

L=h×w×N×2Д=ч×ш×Н×2

И поскольку наша частота дискретизации звукаfs=44100Hz, вы можете рассчитать время, необходимое для встраивания полного водяного знака в аудиоt:

t=L/fst = L / fs

заtи постояннаяn(Эта статьяn=10), остаток округляется, чтобы получить длину кадра, которая представляет, сколько по крайней мереnВстраивание полной информации о водяном знаке занимает несколько секунд. Это гарантирует, что встроенный кадр имеет больше единиц, чем требуется для внедрения, и может хранить полную информацию о водяном знаке.

Fl=t/n×n×fsF_l = \lceil t/n \rceil ×n×f_s

Энергетическое значение области локализации в каждой встроенной единице в кадре рассчитывается ниже. Нам нужно отсортировать энергию от высокой к низкой.Учитывая проблему, что сумма квадратов амплитуд слишком велика, что неудобно вычислять, энергия здесь напрямую использует сумму абсолютных значений:

Es=i=1lSiE_s = \sum_{i=1}^l|S_i|

Установите порог энергии, чтобы отфильтровать встроенные ячейки ниже порога. Если количество оставшихся встроенных ячеек в это время меньшеh × w, то это означает, что текущего кадра недостаточно для встраивания полного водяного знака, и кадр следует пропустить без встраивания. Для встроенных единиц, энергия которых больше порога, отсортируйте их в порядке убывания в соответствии с размером энергии и выберите одну из них.h × wНастоящая единица встраивания в качестве водяного знака, причина этого в том, что высокоэнергетическая часть обладает большей надежностью.

в) Кепстральный коэффициент

Точки выборки в области встраивания и области позиционирования вейвлетируются соответственно.4阶После преобразования получаются приблизительные значения, а затем соответственноCCEPSтрансформировать. Сопоставьте сильно изменившиеся значения, полученные после вейвлет-преобразования, с небольшим интервалом диапазона, и в то же время из-заCCEPSКолебания коэффициента на обоих концах также велики, как показано на рисунке ниже, поэтому для заделки выбирается средняя стабильная часть.

2.2 Встраивание водяных знаков

С помощью вышеуказанного метода мы получаем область встраивания и область позиционирования.DWTПриблизительные коэффициентыCCEPSЗначения на спектре соответственно установлены наCCEPSe,CCEPSlCCEPS_e,CCEPS_l.

Перехватите среднюю стабильную часть и установите длину перехвата до и после, какl0l_0,CCEPSДлина коэффициентаl, две области могут быть рассчитаныCCEPSСреднее значение коэффициентов:

meane=avg(CCEPSe[l0:ll0])meanl=avg(CCEPSl[l0:ll0])mean_e = avg(CCEPS_e[l_0:l-l_0])\\ mean_l = avg(CCEPS_l[l_0:l-l_0])

Установить глобальную константу: Embedding Strength(0-1)заβ, возьмите размер шага квантования каждого встроенного кадраq, то есть

q=meanl×бетаq = среднее_l × β

Области с высокой энергией более устойчивы, поэтому размер шага квантования может быть соответствующим образом увеличен, чтобы улучшить силу внедрения водяного знака.Наоборот, области с более низкой энергией должны выбирать меньший размер шага квантования для улучшения маскировки.

для встроенной областиCCEPSСреднее значение определяется количественно,

Установите квантованное среднее значениеmeane,среднее_е^,, встроенный сигналwiw_i:

IQ(meane)=meane/q×q+q/2IQ(mean_e) = \lfloor mean_e / q \rfloor × q + q / 2
meane,={ IQ(meane)+q,if IQ(meane)  wiIQ(meane),if IQ(meane)= =wimean_e^,= \begin{cases} \ IQ(mean_e)+q, &if \ IQ(mean_e)\ ≠ \ w_i\\ IQ(mean_e), &if \ IQ(mean_e)\ =\ w_i \end{cases}

Средний масштаб до и после встраивания представляет собой масштабирование значения, поэтому установите коэффициент масштабирования.f:

f=meane,/meanef = mean^,_e / mean_e

встроенная областьCCEPSкоэффициент:

CCEPSe[i],={CCEPSe[i]×f,if iе[l0,ll0]CCEPSe[i],otherCCEPS_e[i]^,= \begin{cases} CCEPS_e[i] × f, если \ i \in [l_0, l-l_0] \\ CCEPS_e[i], другие \end{case}

Обратное преобразование встроенных комплексных кепстральных коэффициентовICCEPS, получить встроенныйDWTПримерные коэффициенты:

Ac,=ICCEPS(CCEPSe,)A_c^, = ICCEPS(CCEPS_e^,)

Обратное вейвлет-преобразованиеIDWT, звуковой сигнал во встроенной области, содержащей информацию о водяном знаке, можно получить после внедрения, и область позиционирования не нужно преобразовывать. Таким образом, встроенный сигнал встроенного кадраS,S^,

S,={IDWT(Ac,),if lво встроенной областиSl,otherS^,= \begin{cases} IDWT(A_c^,), если \ l находится во встроенной области \\ S_l, другие \end{case}

завершитьS,S^,Это значение сигнала после внедрения водяного знака, и после внедрения каждого встроенного кадра встроенный сигнал перезаписывается в файл. В результате получается аудиофайл, содержащий водяной знак.

В приведенном выше процессе упоминаются несколько констант: Коэффициент прочности встраивания.β,DWTполучатель чего-тоlevel, коэффициент расширенияα, а их значения влияют на надежность и скрытность алгоритма.

Чем больше размер шага квантования, тем выше робастность, и в то же время это также приведет к уменьшению маскировки, поэтому размер шага квантования также можно назвать коэффициентом качества. В этой статье размер шага динамически изменяется в зависимости от энергии области позиционирования, поэтому встроенный коэффициент прочностиβКачество встроенного звука будет контролироваться напрямую.

коэффициент расширенияαРазмер влияет на пропускную способность, маскировку и надежность встраивания сигнала. коэффициент расширенияαЧем больше значение , тем лучше надежность и маскировка, но тем больше выборок требуется для одновременного внедрения бита сигнала.

2.3 Извлечение водяных знаков

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

Расчет областей позиционирования и встраивания из каждой единицы встраиванияDWTкоэффициенты аппроксимации иCCEPS, узнать местоположениеCCEPSСтационарное частичное среднее с помощью встроенного коэффициента прочностиβполучить размер шага квантованияq.

для встроенной областиCCEPSСреднее значение стационарной части квантуется для получения внедренных информационных битов, и все сигналы в кадре извлекаются, чтобы быть двоичными данными водяного знака. Наконец, преобразуйте эти данные вh×wч × ш, то есть получается полутоновое изображение исходного водяного знака.

в заключении

После того, как вложение водяного знака алгоритма в этой статье сравнивается со звуком до встраивания, качество звука почти не меняется. проходить черезmp3Транскодирование, повторная выборка, обрезка, смещение и другие методы могут привести к получению изображений с водяными знаками, поэтому считается, что алгоритм обладает высокой надежностью. И алгоритм относится к слепому водяному знаку, и при извлечении водяного знака исходный файл не нужен.


PS: Для получения дополнительной технической галантереи, пожалуйста, обратите внимание на [Публичный аккаунт | xingzhe_ai] и обсудите с ходоками!