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

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

 

Область техники

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

Ряд предлагаемых конструктивных решений изобретения относится к простой и надежной системе маркирования аудиоконтента цифровыми водяными знаками.

Предшествующий уровень техники

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

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

Концепция внедрения дополнительных сведений в полезные данные или в "основные данные" получила название "watermarking", то есть буквально - "нанесение водяных знаков" (маркировка водяными знаками/введение водяного знака). Обсуждение в специализированной литературе методик защиты водяными знаками затрагивает большое число видов полезной информации, как то: фонограммы, видеоматериалы, изображения, тексты и тому подобное.

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

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

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

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

В WO 94/11989 рассмотрен способ и устройство кодирования/декодирования транслируемых или записанных звуковых фрагментов и мониторинга расположения их слушателей. Описаны способы и устройство кодирования и декодирования информации в составе радиопередач или в составе записанных сигналов звукового фрагмента. В схемотехнической версии, описанной в документе, система мониторирования аудитории кодирует идентифицирующую информацию как составляющую аудиосигнала радиопередачи или фрагмента фонограммы с использованием кодирования расширенного спектра (широкополосное кодирование). Устройство мониторинга принимает акустически воспроизведенную версию радиопередачи или записанного сигнала через микрофон, декодирует идентифицирующую информацию составляющей аудиосигнала независимо от наличия окружающего фонового шума и вносит эту информацию в память, автоматически ведя на данного участника аудитории дневник (журнал), который позже загружается в централизованное системное устройство. Другое устройство мониторинга декодирует дополнительную информацию сигнала радиопередачи, соотнесенную со сведениями дневника аудитории в центральном системном устройстве. Этот монитор может одновременно отправлять данные на централизованное системное устройство, используя телефонную линию модемной связи, и принимать данные от централизованного системного устройства через сигнал, закодированный с использованием технологии расширенного спектра и модулированный по сигналу радиопередачи от третьего лица.

WO 95/27349 раскрывает устройство и способы введения кодов в аудиосигналы и декодирования. Описаны устройство и способы введения кода, имеющего, по меньшей мере, одну кодирующую частотную составляющую в аудиосигнале. Выполняется оценивание способности разных частотных составляющих аудиосигнала маскировать кодовую частотную составляющую для слуха человека, и на базе результатов такого оценивания каждой из кодирующих частотных составляющих присваивается амплитуда. Также дано описание способов и устройства распознавания кода в закодированном аудиосигнале. Кодовую частотную составляющую кодированного аудиосигнала распознают, основываясь на ожидаемой кодовой амплитуде или на амплитуде помехи в диапазоне звуковых частот, включающем в себя частоту кодирующей составляющей.

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

В сложившейся ситуации данное изобретение ставит перед собой задачу разработать концепцию кодирования и декодирования бита с надлежащей надежностью передачи.

Краткое описание изобретения

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

Реализация заявляемого изобретения включает в себя создание генератора [электронных/цифровых] водяных знаков, выполненного с возможностью генерации сигнала водяного знака на основе данных двоичного сообщения. Генератор водяных знаков включает в свою схему процессор информации, характеризующийся возможностью формирования - в зависимости от одиночного бита сообщения - характеристик двухмерного расширения, представляющих бит сообщения в форме набора значений время-частотной области. Генератор водяных знаков также включает в свою схему питатель ("провайдер") сигнала водяного знака, характеризующийся возможностью формирования сигнала водяного знака, исходя из характеристик двухмерного расширения.

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

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

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

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

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

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

В предпочтительном варианте реализации процессор информации выполнен с возможностью соотнесения значения данного представления промежуточной информации, которое (значение) получено расширением бита сообщения в первом направлении, или соотнесения значения данного представления объединенной информации, которое получено расширением бита сообщения в первом направлении расширения и совмещением полученного результата с представлением информации о наложении, с набором значений расширения таким образом, что набор значений расширения является версией второй последовательности расширения, масштабированной в соответствии с данным значением. Применение подобного расширения для второго направления расширения обеспечивает простоту и минимальную вычислительную трудоемкость построения схемы расширения. В этом случае расширение в первом направлении расширения и расширение во втором направлении расширения выполняются в значительной степени независимо, благодаря чему как расширитель на стороне кодера, так и блок свертки на стороне декодера, могут иметь предельно упрощенную компоновку. В частности, на стороне кодера может быть выполнено раздельное расширение во временном направлении и в частотном направлении, что значительно снижает вычислительную стоимость и обеспечивает возможность введения информации о наложении. На стороне декодера отпадает необходимость коррелировать представление сигнала с водяным знаком во время-частотной области с полной двухмерной схемой. Достаточно на отдельных шагах выполнить корреляцию во временном направлении и в частотном направлении.

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

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

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

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

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

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

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

Краткое описание чертежей

Далее, варианты технических решений в соответствии с предлагаемым изобретением будут описаны со ссылкой на прилагаемые чертежи, где на фиг.1 дана принципиальная блочная схема устройства ввода водяного знака согласно изобретению; на фиг.2 дана принципиальная блочная схема декодера водяных знаков согласно изобретению; на фиг.3 дана более подробная принципиальная блочная схема генератора водяных знаков согласно изобретению; на фиг.4 дана подробная принципиальная блочная схема модулятора как элемента схемотехники изобретения; на фиг.5 дана блок-схема рабочего цикла психоакустического процессора как элемента схемотехники изобретения; на фиг.6 дана блок-схема рабочего цикла процессора психоакустической модели как элемента схемотехники изобретения; на фиг.7 отображен график зависимости спектральной плотности мощности аудиосигнала на выходе блока 801 от частоты; на фиг.8 отображен график зависимости спектральной плотности мощности аудиосигнала на выходе блока 802 от частоты; на фиг.9 дана блок-схема расчета амплитуды; на фиг.10A показана принципиальная схема модулятора; на фиг.10B графически представлен пример распределения коэффициентов на время-частотной плоскости; на фиг.11A и 11B в принципиальных блочных схемах представлено альтернативное конструктивное решение модуля синхронизации; фиг.12A графически отображает задачу временного выравнивания водяного знака; фиг.12B графически отображает задачу идентификации начала сообщения; фиг.12C графически иллюстрирует построение временного соответствия последовательностей синхронизации в режиме синхронизации полного сообщения; фиг.12D графически иллюстрирует построение временного соответствия последовательностей синхронизации в режиме синхронизации неполного сообщения; на фиг.12E графически представлены входные данные модуля синхронизации; на фиг.12F графически представлена концепция идентификации точки синхронности; на фиг.12G дана принципиальная блочная схема коррелятора сигнатуры синхронизации (маркировки совпадения); фиг.13A графически иллюстрирует пример временной свертки; фиг.13B графически иллюстрирует пример поэлементного перемножения битов и последовательностей расширения; на фиг.13C представлен график сигнала на выходе коррелятора сигнатуры синхронизации после усреднения по времени; на фиг.13D представлен график сигнала на выходе коррелятора сигнатуры синхронизации после фильтрации с использованием функции автокорреляции сигнатуры синхронизации; на фиг.14 дана принципиальная блочная схема конструктивного решения экстрактора водяного знака в соответствии с изобретением; фиг.15 схематически отображает выбор части представления во время-частотной области в качестве кандидатного сообщения; на фиг.16 показана принципиальная блочная схема модуля анализа; на фиг.17A показана спектрограмма выходного сигнала коррелятора синхронизации; на фиг.17B схематически отображены декодированные сообщения; на фиг.17C графически отображено положение синхронизации, выделенное из сигнала с водяным знаком; на фиг.18A графически представлены полезная информация, полезная информация с конечной последовательностью Витерби, полезная информация в кодировке по Витерби и полезная нагрузка в кодировке по Витерби в закодированной с повторениями версии; на фиг.18B графически отображены поднесущие частоты, используемые для введения маркированного водяным знаком сигнала; на фиг.19 графически представлены некодированное сообщение, кодированное сообщение, сообщения синхронизации и сигнал водяного знака, в котором к сообщениям применена последовательность синхронизации; на фиг.20 схематически отображен первый шаг алгоритма так называемой "АВС-синхронизации"; на фиг.21 графически отображен второй шаг алгоритма так называемой "АВС-синхронизации"; на фиг.22 графически отображен третий шаг алгоритма так называемой "АВС-синхронизации"; на фиг.23 показана схема сообщения, содержащего полезную информацию и составляющую CRC; на фиг.24 дана принципиальная блочная схема реализации генератора водяных знаков согласно изобретению; на фиг.25A дана принципиальная блочная схема декодера водяных знаков согласно изобретению; на фиг.25B дана принципиальная блочная схема декодера водяных знаков согласно изобретению; на фиг.26 дана блок-схема способа формирования сигнала водяного знака на основе данных двоичного сообщения и на фиг.27 дана блок-схема способа формирования данных двоичного сообщения в зависимости от сигнала, маркированного водяным знаком.

Подробное техническое описание

1. Генерация водяного знака

1.1. Генератор водяных знаков в соответствии с фиг.24

Далее, со ссылкой на принципиальную блочную схему на фиг.24 будет описан генератор водяных знаков 2400. Генератор водяных знаков 2400 предназначен для приема данных двоичного сообщения 2410 и генерации на их основе сигнала водяного знака 2420. Генератор водяных знаков включает в свою конструкцию процессор информации 2430, который в зависимости от одиночного бита данных двоичного сообщения 2410 формирует информацию о двухмерном расширении 2432, представляющую бит сообщения в виде набора значений время-частотной области. Кроме того, генератор водяных знаков 2400 включает в свою конструкцию питатель ("провайдер")сигнала водяного знака 2440, который формирует сигнал водяного знака 2420 на основе информации о двухмерном расширении 2432.

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

1.2. Способ формирования сигнала водяного знака в зависимости от данных двоичного сообщения в соответствии с фиг.26

Дальше со ссылкой на блок-схему на фиг.26 будут даны пояснения к способу формирования сигнала водяного знака в зависимости от данных двоичного сообщения.

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

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

2. Декодирование водяного знака

2.1. Декодер водяных знаков в соответствии с фиг.25A

Дальше, со ссылкой на принципиальную блочную схему на фиг.25A будет описан декодер водяных знаков 2500.

Декодер водяных знаков 2500 предназначен для формирования данных двоичного сообщения 2520 в зависимости от сигнала с водяным знаком 2510. Декодер водяных знаков 2500 включает в свой состав блок формирования представления время-частотной области 2530, формирующий представление во время-частотной области 2532 сигнала с водяным знаком. Кроме того, декодер водяных знаков 2500 имеет в своем составе детектор синхронизации 2540. Детектор синхронизации 2540 включает в свою схему модуль свертки 2542, состоящий из одного или более блоков свертки. Модуль свертки 2542 выполняет двухмерное свертывание с извлечением данных синхронизации 2544 в зависимости от двухмерной составляющей представления во время-частотной области 2532. Декодер водяных знаков 2500 также имеет в своем составе экстрактор водяного знака 2550, предназначенный для извлечения данных двоичного сообщения 2520 из представления во время-частотной области 2532 сигнала с водяным знаком с использованием данных синхронизации 2544.

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

2.2. Декодер водяных знаков в соответствии с фиг.25B

Дальше, со ссылкой на принципиальную блочную схему на фиг.25B будет описан декодер водяных знаков 2560.

Декодер водяных знаков 2560 предназначен для приема сигнала водяного знака 2570 и формирования на его основе данных двоичного сообщения 2580. Декодер водяных знаков 2560 включает в свою схему блок формирования представления время-частотной области 2590, предназначенный для формирования представления во время-частотной области 2592 сигнала водяного знака 2570. Декодер водяных знаков также имеет в своем составе экстрактор водяного знака 2596, включающий в себя модуль свертки 2598. Модуль свертки выполняет двухмерное свертывание с выведением бита данных двоичного сообщения в зависимости от двухмерной составляющей представления во время-частотной области 2592.

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

2.2. Способ формирования данных двоичного сообщения в зависимости от сигнала с водяным знаком в соответствии с фиг.27

Дальше, со ссылкой на блок-схему на фиг.27 будет рассмотрен способ 2700 формирования данных двоичного сообщения в зависимости от сигнала с водяным знаком.

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

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

3. Описание системы

Далее будет описана система передачи водяного знака, которая включает в себя блок ввода водяного знака и декодер водяных знаков. Безусловно, блок ввода водяного знака и декодер водяных знаков могут использоваться независимо друг от друга.

Для описания системы выбран принцип "от сложного к простому". Сначала проведена дифференциация между кодером и декодером. Затем, в разделах с 3.1 по 3.5 подробно описан каждый рабочий блок в отдельности.

Базовая структура системы представлена на фигурах 1 и 2, где отображены, соответственно, сторона кодера и сторона декодера. На фиг.1 показана принципиальная блочная схема блока ввода водяного знака 100. На стороне кодера блоком обработки 101 (обозначенный как генератор водяных знаков) генерирует сигнал водяного знака 101b из двоичных данных 101a и из данных 104, 105 обмена информацией с психоакустическим процессором 102. Информация, полученная от блока 102, призвана гарантировать неслышность водяного знака. Затем, водяной знак, сгенерированный генератором водяных знаков 101, суммируют с аудиосигналом 106. После этого сигнал с водяным знаком 107 может быть ретранслирован, сохранен или передан для дальнейшей обработки. Мультимедийные файлы, например, аудио- и видеофайлы, требуют введения значительной задержки в видеопоток во избежание потери аудио- и видеосинхронизации. В случае многоканального аудиосигнала каждый канал обрабатывается отдельно, согласно пояснению, данному в этом документе. Блоки обработки 101 (генератор водяных знаков) и 102 (психоакустический процессор) детально рассмотрены в разделах 3.1 и 3.2, соответственно.

На фигуре 2 в виде принципиальной блочной схемы детектора водяного знака 200 отображена сторона декодера. В систему 200 поступает маркированный водяным знаком аудиосигнал 200a, например, от микрофона. Первый блок 203, обозначенный как модуль анализа, демодулирует и трансформирует данные (например, аудиосигнал с водяным знаком) во временной/частотной области (формируя посредством этого время-частотное представление 204 аудиосигнала с водяным знаком 200а), пересылая их на модуль синхронизации 201, который анализирует входной сигнал 204 и выполняет синхронизацию, в частности, рассчитывает временное выравнивание кодированных данных (например, кодированных данных водяного знака относительно представления вовремя-частотной области). Эта информация (например, результирующие данные синхронизации 205) поступают на экстрактор водяного знака 202, который декодирует полученные данные (формируя соответствующие двоичные данные 202a, которые представляют содержимое данных маркированного водяным знаком аудиосигнала 200a).

3.1. Генератор водяных знаков 101

Подробная схема генератора водяных знаков 101 представлена на фигуре 3. Двоичные данные (выраженные как ±1), которые должны быть скрыты в аудиосигнале 106, вводят в генератор водяных знаков 101. Блок 301 упорядочивает принятые данные 101a в пакеты одинаковой длины Mp. К каждому пакету в качестве сигнальных добавляют служебные биты (например, в виде постфикса). Пусть Ms обозначает их количество. Более подробно их использование будет объяснено в разделе 3.5. В дальнейшем каждый пакет битов полезной информации вместе с присоединенными служебными сигнальными битами будет называться сообщением.

Каждое сообщение 301а длиной Nm=Ms+Mp пересылают в кодер канала, блок обработки 302, который отвечает за кодирование битов для защиты от ошибок. Возможно конструктивное решение этого модуля, при котором он состоит из сверточного кодера в сочетании с устройством временного уплотнения импульсных сигналов. Коэффициент преобразования сверточного кодера оказывает большое влияние на общую степень защиты от ошибок системы цифровой маркировки водяными знаками. С другой стороны, устройство временного уплотнения импульсных сигналов обеспечивает защиту от всплесков шумов. Рабочий диапазон устройства временного уплотнения импульсных сигналов может быть ограничен одним сообщением, однако он может быть расширен до большего числа сообщений. Обозначим коэффициент кодирования, например, 1/4, как Rc. Количество закодированных битов для каждого сообщения составит Nm/Rc. Кодер каналов 302 генерирует на выходе, например, кодированное двоичное сообщение 302а.

Следующий блок обработки 303 выполняет расширение в частотной области. Для обеспечения удовлетворительного соотношения сигнал-шум информацию (например, двоичного сообщения 302a) расширяют и передают по Nf тщательно подобранным подполосам. Их точное частотное позиционирование определяют априорно и задают как для кодера, так и для декодера. Подробности подбора этого важного системного параметра даны в разделе 3.2.2. Расширение по частоте определяется последовательностью расширения cf размерностью Nf×1. Выходной сигнал 303а блока 303 состоит из Nf двоичных потоков - по одному на каждую подполосу. Двоичный поток (битстрим) i рассчитывают, умножая входной бит на компонент i последовательности расширения cf. Простейшее расширение состоит в копировании битстрима в каждый выходной поток, в частности, использовать последовательность расширения из единиц.

Блок 304, обозначенный как устройство введения схемы синхронизации, добавляет к битстриму сигнал синхронизации. Надежная синхронизация важна, поскольку в декодере отсутствуют параметры временного выравнивания как битов, так и структуры данных, то есть данные о начале каждого сообщения. Синхросигнал состоит из Ns последовательностей Nf по Nf битов в каждой. Последовательности поэлементно и периодически перемножают на поток (или потоки) битов 303a. Допустим, a, b, и c составляют Ns=3 последовательности синхронизации (обозначенные как последовательности синхронизирующего расширения).

Блок 304 умножает a на первый бит распространения, b - на второй бит расширения и c - на третий бит расширения. Для последующих битов применяется итерация, а именно, a умножается на четвертый бит, b - на пятый и так далее. Соответствующим образом формируется объединенная информация о данных синхронизации 304a. Последовательности синхронизации (обозначенные как синхронизирующие последовательности расширения) тщательно подбирают для минимизации риска ложной синхронизации. Дальнейшие подробности представлены в разделе 3.4. Кроме того, следует учитывать, что последовательность a, b, c, … можно рассматривать как последовательность синхронизирующих последовательностей расширения.

Блок 305 выполняет расширение во временной области. Каждый бит расширения на входе, в частности, вектор длины Nf, повторяется во временной области Nt раз. Аналогично расширению по частоте мы рассчитываем последовательность расширения ct размерностью Nt×1. Повторение i времени умножают на i-й компонент ct.

Математически операции блоков 302-305 могут быть выражены следующим образом. Пусть m размерностью 1×Nm=Rc будет закодированным сообщением на выходе блока 302.

Тогда на выходе блока 303 сигнал 303a (который можно рассматривать как представление данных расширения R) будет иметь вид

,

на выходе блока 304 сигнал 304a, который можно рассматривать как объединенное представление синхронизации данных С, имеет вид

,

где ○ обозначает поэлементное произведение Шура, и

.

Выходной сигнал 305a блока 305 представляет собой

,

где ◊ и T обозначают Кронекерово умножение и транспозицию, соответственно. Следует помнить, что двоичные данные выражены как ±1.

Блок 306 выполняет дифференциальное кодирование битов. Этот шаг дает системе дополнительную устойчивость против фазовых сдвигов, обусловленных движением или рассогласованием гетеродина. Более детально этот вопрос рассмотрен в разделе 3.3. Если b(i; j) - бит для полосы частот i и временного блока j на входе блока 306, выходной бит bdiff (i,j) будет

В начале потока, то есть для j=0, bdiff (i,j-1) задается как 1.

Блок 307 выполняет действительную модуляцию, то есть генерацию формы волны сигнала водяного знака в зависимости от двоичных данных 306a на входе. Детализация схемного решения [модулятора 307] дана на фигуре 4. Nf параллельных вводов с 401 по 40Nf содержат битстримы для разных подполос. Каждый бит каждого подполосового потока обрабатывается блоком формирования бита (411-41Nf). Выходом блоков формирования бита являются формы волны во временной области. Форму волны, генерируемую для временного блока j и подполосы i, обозначенную как si;j(t), на основе входного бита bdiff (i,j) вычисляют следующим образом

где γ(i;j) - весовой коэффициент, рассчитанный психоакустическим процессором 102, Tb - битовый интервал, и gi(t) - функция, формирующая бит для подполосы i. Формирующую бит функцию выводят из основополосной функции , косинусно модулированной по частоте

где fi - средняя частота подполосы i, а верхний индекс Т обозначает передатчик. Основополосные функции могут быть разными для каждого поддиапазона. При из идентичности на стороне декодера возможно более эффективное осуществление. Более подробное описание см. в разделе 3.3.

Каждый бит формируется в итеративном режиме, управляемом психоакустическим процессором (102). Итерации необходимы для тонкой юстировки весов γ(i,j) для наделения водяного знака максимально возможной энергией при сохранении его неслышности. Дальнейшие подробности представлены в разделе 3.2.

Полная форма волны на выходе i-ного фильтра формирования бита 41i -

Формирующая бит основополосная функция обычно не равна нулю для интервала времени, намного превышающего Tb, притом что основная энергия сконцентрирована в интервале бита. В качестве примера можно привести график на фигуре 12A, где одна и та же формирующая бит основополосная функция применена для двух смежных битов. На фигуре Tb=40 мс. Выбор Tb, как и форма функции значительно влияет на систему. Фактически, большее количество символов дает более узкие частотные характеристики. Это особенно благоприятно для реверберирующих сред. Действительно, при подобных сценариях сигнал с водяным знаком попадает в микрофон по нескольким путям распространения, каждый из которых характеризуется отличным от других временем прохождения. Результирующий канал характеризуется значительной частотной избирательностью. При интерпретации во временной области более длинные символы имеют то преимущество, что они как эхо имеют задержку, сопоставимую с усиливающей интерференцией, результирующей из битового интервала, что означает, что они наращивают энергию принимаемого сигнала. Несмотря на это, более длинные символы имеют ряд недостатков: большее перекрывание может вызывать межсимвольную интерференцию (ISI), и его гораздо труднее скрыть в аудиосигнале таким образом, чтобы психоакустический процессор пропускал меньшую энергию, чем для более коротких символов.

Сигнал водяного знака выводят как суммарный выходной сигнал всех фильтров формирования бита

3.2. Психоакустический процессор 102

Как видно на фигуре 5, психоакустический процессор 102 состоит из 3 элементов. Первый элемент - модуль анализа 501, который преобразует временной аудиосигнал во время/частотную область. Этот модуль анализа может выполнять анализ параллельно с разной разрешающей способностью по времени/частоте. Из модуля анализа время/частотные данные [504] поступают в блок психоакустического моделирования (РАМ) 502, который рассчитывает пороги маскирования для водяного знака по психоакустическим параметрам (см. E. Zwicker H. Fasti, "PsychoacousticsFactsandModels"). Пороги маскирования служат показателем количества энергии, которая может быть скрыта в аудиосигнале для каждой подполосы и временного блока. Последним элементом психоакустического процессора 102 является модуль расчета амплитуды 503. Этот модуль рассчитывает уровни усиления по амплитуде, которые должны быть применены при генерации сигнала водяного знака с соблюдением порогов маскирования, то есть задействованная энергия должна быть меньше или равна энергии, заданной порогами маскирования.

3.2.1. Время/частотный анализ 501

Блок 501 выполняет время/частотное преобразование аудиосигнала путем преобразования с перекрытием. Наилучшее качество звука может быть достигнуто при условии использования многоуровневой разрешающей способности по времени/частоте. Эффективным преобразованием с перекрытием является короткое (/оконное) преобразование Фурье (КПФ) (/ОПФ), основанное на быстрых преобразованиях Фурье (БПФ) оконно-взвешенных временных блоков. Длина окна определяет частотно-временную разрешающую способность таким образом, что более длинные окна характеризуются большей продолжительностью по времени и более высоким разрешением по частоте, а короткие окна - наоборот. Вместе с тем, форма окна, среди прочего, определяет утечку по частоте.

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

Во втором банке фильтров используется более короткое окно. Высокое временное разрешение особенно важно при маркировке водяными знаками речи, поскольку ее временная структура, как правило, тоньше, чем Tb.

Частота дискретизации входного аудиосигнала не важна, поскольку она достаточна для описания сигнала водяного знака без алиасинга. Например, если наибольшая частотная составляющая сигнала водяного знака - 6 кГц, то частота дискретизации временных сигналов должна быть, по меньшей мере, 12 кГц.

3.2.2. Блок психоакустнческого моделирования 502

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

Подполосу i задают между двумя пределами, а именно Подполосы определяют путем выделения Nf средних частот fi и допущения, что i для i=2, 3, …, Nf. Надлежащий выбор средних частот обеспечивает шкала Барка, предложенная Цвикером в 1961 году. Для более высоких средних частот подполосы увеличиваются. В одной из возможных версий реализации системы использовано 9 поддиапазонов, расположенных соответствующим образом между 1,5 и 6 кГц.

Следующие операции обработки выполняются отдельно для каждого уровня частотно-временного разрешения для каждой подполосы частот и каждого временного блока. На технологической ступени 801 выполняют спектральное сглаживание. Как тональные элементы, так и разрывы в спектре мощности должны быть сглажены. Это может быть выполнено несколькими способами. Мера тональности может быть рассчитана для дальнейшего подбора адаптивного сглаживающего фильтра. В упрощенном альтернативном варианте исполнения этого блока может быть применен медианоподобный фильтр. Медианный фильтр учитывает вектор показателей и выводит их срединное (медианное) значение. В медианоподобном фильтре может быть выбрано значение, соответствующее квантили, отличной от 50%. Ширину фильтра определяют в Гц и применяют как нелинейное скользящее среднее значение, которое начинается на нижних частотах и заканчивается на возможно максимальной частоте. Операция [сглаживания спектра] 801 проиллюстрирована на фигуре 7. Кривой красного цвета (мелким пунктиром) обозначен результирующий сигнал сглаживания.

После выполнения сглаживания с помощью блока 802 рассчитывают пороговые значения только частотного маскирования. Данная процедура также имеет варианты выполнения. Один из способов состоит в использовании минимума для каждой подполосовой составляющей для вычисления маскирующей энергии Ei. Это - энергия, эквивалентная сигналу, который эффективно обеспечивает маскирование. Исходя из этого значения простым умножением на определенный масштабный коэффициент можно получить маскируемую энергию Ji. Такие коэффициенты будут разными для каждой подполосы и частотно-временного разрешения, их выводят эмпирическим путем на основе психоакустических опытов. Фрагменты такого сценария проиллюстрированы на фигуре 8.

С помощью блока 805 рассчитывают пороговые значения временного маскирования. В этом случае для одной и той же подполосовой составляющей анализируют разные временные блоки. Маскированные энергии Ji модифицируют в соответствии с выведенными опытным путем профилями постмаскирования. Рассмотрим два смежных временных блока, k-1 и k. Соответствующими им маскируемыми энергиями будут Ji(k-1) и Ji(k). Профиль постмаскирования определяет, например, что маскирующая энергия Ei способна маскировать энергию Ji во время k и α⋅Ji во время k+1. В этом случае блок 805 сравнивает Ji(k) (энергию, маскируемую текущим временным блоком) и α⋅Ji(k+1) (энергию, маскированную предшествующим временным блоком) и выбирает максимум. Профили постмаскирования выстроены эмпирически, исходя из психоакустических экспериментов, и доступны в соответствующей литературе. Следует принять к сведению, что при больших значениях Tb, т.е. > 20 мс, постмаскирование применяют только к частотно-временному разрешению более коротких временных окон.

Итак, на выходе блока 805 имеем пороги маскирования для каждой подполосовой составляющей и временного блока, рассчитанные для двух разных частотно-временных разрешений. Эти пороговые значения получены с учетом как частотных, так и временных маскирующих явлений. С помощью блока 806 выполняют совмещение пороговых величин различных частотно-временных разрешений. Например, одним из возможных вариантов является тот, при котором блок 806 учитывает все пороговые значения, соответствующие частотно-временным интервалам, в которых расположен бит, и выбирает минимум.

3.2.3. Блок расчета амплитуды 503

Обратимся к фигуре 9. Входными данными блока 503 являются выходные пороговые значения 505 блока психоакустического моделирования 502, который выполняет все вычисления, связанные с психоакустикой. Вычислитель амплитуд 503 выполняет дополнительные вычисления с использованием введенных в него пороговых значений. В первом блоке выполняется картирование амплитуд 901. С помощью этого блока величины порогов маскирования (обычно выраженные как величины энергии) преобразуют в величины амплитуд, которые могут быть использованы для масштабирования функции формирования бита, охарактеризованной в разделе 3.1. Далее задействуют блок адаптации амплитуд 902. Этот блок предназначен для итеративной адаптации амплитуд γ(i,j), используемых для умножения функций формирования бита в генераторе водяных знаков 101 таким образом, чтобы в действительности удовлетворять пороговым значениям маскирования. Как уже говорилось, фактически функция формирования бита, как правило, занимает промежуток времени, превышающий Tb. Следовательно, умножение корректной амплитуды γ(i,j), удовлетворяющей порогу маскирования в точке i, j, не обязательно удовлетворяет требованиям в точке i, j-1. Это особенно важно в случаях атак, когда акустически проявляется предэхо. Другой ситуацией, которую следует избегать, является несоответствующая суперпозиция хвостов разных битов, приводящих к озвучиванию водяного знака. Таким образом, блок 902 анализирует выходной сигнал генератора водяных знаков на соответствие пороговым значениям. В случае несоответствия этот блок модифицирует амплитуды γ(1, j) надлежащим образом.

На этом рассмотрение стороны кодера завершается. Последующие разделы посвящены технологическим операциям приемника (обозначенного как декодер водяных знаков).

3.3. Модуль анализа 203

Модуль анализа 203 является первым этапом (или блоком) экстракции водяного знака. Его назначение - в обратном преобразовании аудиосигнала с водяным знаком 200а в Nf битстримов 204, по одному потоку для каждой подполосы i спектра. Затем, битовые потоки поступают для обработки в модуль синхронизации 201 и в экстрактор водяного знака 202, что описано в разделах 3.4 и 3.5, соответственно. Следует обратить внимание, что представляют собой гибкие двоичные потоки, что значит, что они могут, например, принимать любое действительное значение без окончательного оформления бита.

Модуль анализа состоит из трех компонентов, отображенных на фигуре 16: банка фильтров анализа 1600, блока нормализации амплитуды 1604 и блока дифференциального декодирования 1608.

3.3.1. Банк фильтров анализа 1600

С помощью анализирующего банка фильтров 1600, детализированная схема которого показана на фигуре 10A, маркированный водяным знаком аудиосигнал преобразуют во время-частотную область. На входе банк фильтров принимает аудиосигнал с водяным знаком r(t). На выходе он генерирует комплексные коэффициенты для ветви или подполосы i в момент времени j. Эти значения содержат информацию об амплитуде и фазе сигнала на средней частоте fi и в момент времени j⋅Tb.

Банк фильтров 1600 состоит из Nf ветвей, по одной для каждой подполосы i. Каждая ветвь делится на верхнее ответвление для синфазной составляющей и нижнее ответвления для квадратурной составляющей поддиапазона i. Несмотря на то, что модуляция в генераторе водяных знаков и, следовательно, аудиосигнал с водяным знаком имеют простые действительные значения, на стороне приемника необходим комплекснозначный анализ сигнала, поскольку в приемнике отсутствуют данные о чередованиях факторов модуляции вследствие влияния каналов и рассогласований синхронизации. Рассмотрим дальше ветвь i банка фильтров. Совмещая синфазное и квадратурное ответвления, рассчитаем комплекснозначный модулирующий сигнал

,

где * обозначает свертку, а - импульсная характеристика фильтра нижних частот приемника для подполосы i. Как правило, (t) равно функции формирования бита базовой полосы пропускания подполосы i в модуляторе 307, чтобы выполнялись условия согласованного фильтра, однако возможны и другие импульсные характеристики.

Чтобы получить коэффициенты при скорости 1=Tb, необходим отбор отсчетов непрерывного выходного сигнала . Если бы на приемной стороне была известна точная синхронизация битов, дискретизация со скоростью 1=Tb была бы достаточной. Однако поскольку данные синхронизации битов отсутствуют, дискретизацию выполняют со скоростью Nos/Tb, где Nos - коэффициент избыточности дискретизации банка фильтров анализа. Подбирая достаточно большое значение Nos (например, Nos=4), можно гарантировать, что, по меньшей мере, один цикл дискретизации достаточно близок к идеальной синхронизации битов. Оптимальный уровень дискретизации с повышенной частотой выбирается в процессе синхронизации, поэтому все данные избыточной дискретизации сохраняются до начала этой операции. Подробнее этот процесс описан в разделе 3.4.

На выходе ветви i получаем коэффициенты , где j обозначает номер бита или момент времени, а k обозначает позицию уплотненной дискретизации внутри этого одиночного бита, где k=1; 2; …, Nos.

На фигуре 10B графически представлен пример распределения коэффициентов на время-частотной плоскости. Коэффициент избыточности дискретизации Nos=2. Высота и ширина прямоугольников указывают, соответственно, ширину полосы и отрезок времени фрагмента сигнала, представленного соответствующим коэффициентом

Если частоты подполосы fi выбраны кратными некоторому интервалу Δf, банк фильтров анализа может быть эффективно реализован с использованием быстрого преобразования Фурье (БПФ).

3.3.2. Нормализация амплитуды 1604

Чтобы, не отступая от основной темы, упростить описание, в дальнейшем допустим, что синхронизация битов известна, и что Nos=1. Это значит, что мы имеем комплексные коэффициенты на входе блока нормализации 1604. В силу того, что информация о состоянии канала недоступна на приемной стороне (т.е. канал прохождения не известен), применяют схему линейного суммирования сигналов равной мощности (EGC). Вследствие рассеивающей способности канала по времени и частоте энергия переданного бита bi(j) обнаруживается не только вокруг средней частоты fi и момента времени j, но и на соседних частотах и в смежные моменты времени. Поэтому для более точного взвешивания на частотах fi±nΔf рассчитывают дополнительные коэффициенты, которые используют для нормализации коэффициента . Если n=1, мы имеем, например,

Нормализация при n>1 представляет собой прямое расширение приведенной выше формулы. Таким же образом мы можем выбрать для нормализации гибкие биты, учитывая более одного момента времени. Нормализацию выполняют для каждого поддиапазона i и каждого момента времени j. Фактическое сложение EGC выполняют на более поздних шагах процесса экстракции.

3.3.3. Дифференциальное декодирование 1608

На вход блока дифференциального декодирования 1608 поступают нормализованные комплексные коэффициенты амплитуд, содержащие информацию о фазе компонент сигнала на частоте fi в момент времени j. Поскольку биты дифференциально закодированы на передающей стороне, здесь должно быть произведено обратное действие. Гибкие биты формируются путем, во-первых, вычисления разности фаз двух последовательных коэффициентов и, затем, выделения вещественной части:

Эти действия должны выполняться раздельно для каждой подполосы, поскольку канал обычно вносит разные чередования фаз в каждой подполосовой составляющей.

3.4. Модуль синхронизации 201

Задача модуля синхронизации состоит во временном выравнивании водяного знака. Синхронизация декодера относительно кодированных данных представляет собой двоякую задачу. На первом этапе банк фильтров анализа должен быть приведен в соответствие с кодированными данными, в частности, функции формирования бита , использованные при синтезе в модуляторе, должны быть приведены в соответствие с фильтрами , используемыми для анализа. Эта задача проиллюстрирована на фигуре 12A, где фильтры анализа идентичны фильтрам синтеза. На верхнем графике показаны три бита. Для упрощения формы волны для всех трех битов не масштабированы. Шаг по времени между битами - Tb. На нижнем графике проиллюстрирована процедура синхронизации в декодере: фильтр может быть применен в разные моменты времени, тем не менее, правильными являются только координаты по красной (жирной) кривой 1299a, которые обеспечивают экстракцию первого бита с лучшими показателями соотношения сигнал-шум SNR и соотношения сигнал-помеха SIR. На практике некорректное выравнивание привело бы к деградации SNR и SIR. Мы обозначили это первое выравнивания термином "синхронизация битов". Благодаря достижению синхронизации битов извлечение битов выполняется в оптимальном режиме. При этом, чтобы корректно расшифровать сообщение, необходимо знать, с какого бита начинается новое сообщение. Эта задача, называемая синхронизацией сообщения, графически проиллюстрирована на фигуре 12B. В потоке декодированных битов только начальная позиция 1299b, маркированная красным, является верной и позволяет декодировать сообщение k.

Сначала обратимся только к синхронизации сообщения. Сигнатура синхронизации, как объяснено в разделе 3.1, состоит из предварительно заданного порядка из Ns последовательностей, которые непрерывно и периодически вводят в водяной знак. Модуль синхронизации выполнен с возможностью распознавания временного выравнивания последовательностей синхронизации. В зависимости от размера N различают два режима выполнения операции, которые отображены на фигурах 12C и 12D, соответственно.

В режиме синхронизации полного сообщения (фиг.12C) Ns=Nm/Rc. Для упрощения фигуры принято, что Ns=Nm/Rc=6 и Nt=1, т.е. отсутствует расширение по времени. Для наглядности применяемая сигнатура синхронизации показана под сообщениями. В действительности их модулируют в зависимости от закодированных битов и последовательностей расширения по частоте, как объяснено в разделе 3.1. В этом режиме периодичность сигнатуры синхронизации совпадает с периодичностью сообщений. Таким образом, модуль синхронизации может распознавать начало каждого сообщения по временному выравниванию сигнатуры синхронизации. Временные координаты начала новой сигнатуры синхронизации обозначены как точки синхронности. Затем, точки синхронности передаются в экстрактор водяного знака 202.

Второй возможный режим - синхронизация неполного сообщения - проиллюстрирован на фигуре 12D. В этом случае Ns<Nm=Rc. Для этой фигуры принято, что Ns=3, таким образом что три последовательности синхронизации повторяются дважды для каждого сообщения. Следует учитывать, что периодичность сообщений не обязательно кратна периодичности сигнатуры синхронизации. В этом режиме не все точки синхронности совпадают с началом сообщения. Модуль синхронизации не предусматривает определение различия между точками синхронности, и эта операция возложена на экстрактор водяного знака 202.

Обрабатывающие блоки модуля синхронизации показаны на фигурах 11A и 11B. Модуль синхронизации одновременно выполняет синхронизацию битов и синхронизацию сообщений (полных или неполных), анализируя выходной сигнал коррелятора сигнатуры синхронизации 1201. Данные во время/частотной области 204 поступают от модуля анализа. Поскольку синхронизация битов еще не доступна, блок 203 передискретизирует данные с коэффициентом Nos, как описано в разделе 3.3. Полные входные данные показаны на фигуре 12E. В этом примере Nos=4, Nt=2 и Ns=3. Другими словами, сигнатура синхронизации состоит из 3 последовательностей (обозначенных a, b и c). Расширение по времени, в этом случае - с помощью последовательности расширения ct=[1 1]T, выполняется за счет простого повторения каждого бита дважды во временной области. Точные точки синхронности обозначены стрелками и соответствуют началу каждой сигнатуры синхронизации. Период сигнатуры синхронизации составляет Nt⋅Nos⋅Ns=Nsbl, что, например, равно 2⋅4⋅3=24. В силу периодичности сигнатуры синхронизации коррелятор сигнатуры синхронизации (1201) произвольно делит ось времени на блоки, называемые блоками поиска, размером NSbl, где нижний индекс указывает длину блока поиска. Каждый блок поиска должен содержать (или обычно содержит) одну точку синхронности, как показано на фигуре 12F. Каждый из битов NSbl является кандидатной точкой синхронности. Задачей блока 1201 является расчет степени правдоподобия для каждого кандидатного бита в каждом блоке. Далее эта информация передается в блок 1204 для вычисления точек синхронности.

3.4.1. Коррелятор сигнатуры синхронизации 1201

Для каждой кандидатной позиции синхронизации Nsbl коррелятор сигнатуры синхронизации вычисляет показатель правдоподобия, который тем выше, чем выше вероятность того, что будет распознано временное выравнивание (как битовая, так и полная или неполная синхронизация сообщения). Последовательность технологических операций показана на фигуре 12G.

В результате может быть выведена последовательность 1201a показателей правдоподобия, соотнесенных с различными выбранными позициями.

Блок 1301 выполняет временную свертку, то есть умножает каждый из битов Nt на последовательность временного расширения и затем суммирует их. Это действие выполняется для каждого из частотных поддиапазонов Nf. На фигуре 13A приведен пример. Для примера взяты те же параметры, что и в предыдущем разделе, а именно - Nos=4, Nt=2 и Ns=3. Отмечена кандидатная позиция синхронизации. От этого бита с шагом Nos блок 1301 отсчитывает Nt⋅Ns и выполняет временную свертку, используя последовательность ct, оставляя биты Ns.

В блоке 1302 эти биты поэлементно умножаются на последовательности расширения Ns (см. фигуру 13B).

Блок 1303 выполняет частотную свертку, а именно, умножает каждый бит на последовательность расширения cf и затем суммирует по частоте.

На этом этапе, если положение синхронизации корректно, мы имели бы декодированные биты Ns. Поскольку на стороне приемника биты не известны, блок 1304 вычисляет меру правдоподобия, применяя абсолютные величины значений и сумм Ns.

В принципе, на выходе блока 1304 нужен некогерентный коррелятор, который ищет сигнатуру синхронизации. На практике при выборе небольшого значения Ns, a именно - режима синхронизации неполного сообщения, можно использовать последовательности синхронизации (например, a, b, c), которые взаимно ортогональны. При этом, при некорректном выравнивании коррелятора по сигнатуре его выходное значение будет очень маленьким, в идеале - равным нулю. В случае задействования режима синхронизации полного сообщения рекомендуется использовать столько ортогональных последовательностей синхронизации, сколько возможно, после чего создать сигнатуру путем тщательного подбора порядка их применения. В этом случае может быть применена та же теория, что и при поиске последовательности расширения с надлежащими функциями автокорреляции. Когда коррелятор имеет лишь небольшое рассогласование, то выходное значение коррелятора не будет равно нулю даже в идеальном случае, однако в любом случае будет меньше по сравнению с точным выравниванием, поскольку фильтры анализа не могут оптимально улавливать энергию сигнала.

3.4.2. Вычисление точек синхронности 1204

Этот блок анализирует выходные данные коррелятора сигнатуры синхронизации для определения позиций синхронизации. В силу того, что система довольно устойчива к рассогласованиям вплоть до Тb/4, а Tb обычно приближается к 40 мс, выходные данные блока 1201 можно интегрировать во времени с достижением более стабильной синхронизации. Осуществление такого подхода возможно с применением фильтра с бесконечной импульсной характеристикой (БИХ) во времени при экспоненциально затухающей импульсной характеристике. Альтернативно может быть применен традиционный фильтр со скользящим средним значением конечной импульсной характеристики (КИХ). Поскольку усреднение уже было выполнено, выполняют вторую корреляцию между других Nt⋅Ns ("выбор другой позиции"). Фактически, мы хотим задействовать информацию, где функция автокорреляции функции синхронизации известна. Это соответствует оцениванию максимального правдоподобия. Этот аспект проиллюстрирован на фигуре 13C. Кривая отображает выходной сигнал блока 1201 после временного интегрирования. Один из возможных способов определения точки синхронности состоит в простом нахождении максимума этой функции. На фигуре 13D мы видим эту же функцию (нежирная кривая) после фильтрации автокорреляционной функцией сигнатуры синхронизации. График результирующей функции выделен красной (жирной) линией. В этом случае максимум более выражен и определяет координаты точки синхронности. Эти два способа примерно одинаковы в смысле высокого SNR, но второй способ лучше подходит для более низких режимов SNR. После нахождения точек синхронности их вводят в экстрактор водяного знака 202, который декодирует данные.

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

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

3.5. Экстрактор водяного знака 202

Элементы компоновки экстрактора водяного знака 202 показаны на фигуре 14. Он имеет два входа, а именно, 204 и 205, от блоков 203 и 201, соответственно. От модуля синхронизации 201 (см. раздел 3.4) поступают синхронизирующие метки времени, то есть координаты во временной области, где начинается кандидатное сообщение. Более детально этот вопрос рассмотрен в разделе 3.4. На второй вход от банка анализирующих фильтров 203 поступают данные время/частотной области, готовые для декодирования.

На первом этапе обработки блок выбора данных 1501 распознает составляющую входных данных 204 как предполагаемое сообщение для декодирования. На фигуре 15 эта процедура представлена графически. Входные данные 204 состоят из Nf потоков действительных значений. Так как декодер априорно не известны данные выравнивания по времени, блок анализа 203 выполняет частотный анализ со скоростью, более 1/Tb Гц (избыточная дискретизация). В контексте фигуры 15 использован коэффициент избыточности дискретизации 4, а именно, каждые Tb секунды выдаются 4 вектора размерностью Nf×1. Когда блок синхронизации 201 идентифицирует кандидатное сообщение, он выдает метку времени 205 с указанием точки отсчета предполагаемого сообщения. Блок выбора данных 1501 выбирает информацию, необходимую для декодирования, а именно, матрицу размерностью Nf×Nm/Rc. Эта матрица 1501а передается в блок 1502 для последующей обработки.

Блоки 1502, 1503 и 1504 выполняют те же операции, что и блоки 1301, 1302 и 1303, о чем говорится в разделе 3.4.

Альтернативное техническое решение изобретения исключает из алгоритма вычисления с использованием блоков 1502-1504 и дополняет функции модуля синхронизации подготовкой данных для декодирования. С концептуальной точки зрения это - частность. Сточка зрения технического исполнения это - лишь вопрос того, как реализуются буферы. В целом, повторное выполнение вычислений позволяет уменьшить объем буферов.

Канальный декодер 1505 выполняет операцию, обратную блоку 302. Если кодер каналов в возможном варианте исполнения этого модуля будет состоять из сверточного кодера в сочетании с устройством временного уплотнения импульсных сигналов, то канальный декодер будет выполнять разуплотнение и сверточное декодирование, например, с применением известного алгоритма Витерби. На выходе этого блока получаем Nm битов, т.е. кандидатное сообщение.

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

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

После корректного распознавания сообщения система может выбрать механизм упреждения и/или возврата. Подразумевается, что достигнута синхронизация как битов, так и сообщений. Подразумевая, что пользователь намеренно не пропускает сообщения, система выполняет "возврат" во времени и делает попытку декодировать предыдущие сообщения (если они уже не декодированы), используя ту же самую точку синхронизации (алгоритм "с возвратом"). Это особенно целесообразно при запуске системы. Кроме того, при неблагоприятных условиях для достижения синхронизации может потребоваться два сообщения. В таком случае у первого сообщения шансы отсутствуют. Благодаря применению алгоритма "с возвратом" можно сохранить "доброкачественные" сообщения, которые не были получены только в силу использования обратной синхронизации. Упреждение - обратная этой функция с обращением в будущее. При наличии сообщения в текущий момент мы знаем, где должно быть очередное сообщение, и в любом случае можем попытаться его декодировать.

3.6. Детализация синхронизации

Для кодирования полезной информации может быть применен, в частности, алгоритм Витерби. На фиг.18A графически отображены полезная нагрузки 1810, конечная последовательность Витерби 1820, полезная нагрузка, закодированная по Витерби 1830, и вариант кодирования полезной нагрузки по Витерби с многократным повторением кодирования 1840. Так, пусть длина полезной нагрузки составляет 34 бита, а конечная последовательность Витерби состоит из 6 битов. Если, предположим, применима скорость кодирования по Витерби 1/7, закодированная по Витерби полезная информация может содержать (34+6)*7=280 битов. Далее, при использовании кодирования с повторениями 1/2, кодированная с повторениями версия 1840 кодированной по Витерби полезной информации 1830 может содержать 280*2=560 битов. В этом примере, если принять, что битовый такт составляет 42,66 мс, длина сообщения составит 23,9 сек. Сигнал может быть введен с использованием, допустим, 9 поднесущих (например, локализованных в соответствии с критическими полосами частот) от 1,5 до 6 кГц, как показано на диаграмме частотного спектра на фиг.18B. Как вариант может быть использовано другое количество поднесущих частот (скажем, 4, 6, 12, 15 или между 2 и 20) в диапазоне частот между 0 и 20 кГц.

На фиг.19 схематически представлена базовая концепция 1900 синхронизации, называемой также ABC-синхронизацией. На схеме графически отображены незакодированное сообщение 1910, закодированное сообщение 1920 и последовательность синхронизации (синхропоследовательность) 1930, а также применение синхронизации к нескольким сообщениям 1920, следующим друг за другом.

Последовательность синхронизации или синхропоследовательность, упомянутая в контексте объяснения концепции синхронизации (отображенной на фиг.19-23), может быть идентичной сигнатуре синхронизации, рассмотренной раньше. Далее, на фиг.20 схематически отображена синхронизация путем корреляции с синхропоследовательностью. Если последовательность синхронизации 1930 короче, чем сообщение, в пределах одного сообщения может быть найдено больше одной точки синхронизации 1940 (или временного блока выравнивания). В примере на фиг.20, внутри каждого сообщения определено 4 точки синхронизации. Следовательно, при каждой найденной синхронизации может быть задействован декодер Витерби (последовательность декодирования Витерби). Таким образом, для каждой точки синхронизации 1940 может быть получено сообщение 2110, как показано на фиг.21. Из этих сообщений могут быть выделены истинные сообщения 2210 с помощью последовательности циклического контроля избыточности (последовательности CRC) и/или контроля правдоподобия, как показано на фиг.22. При контроле с применением циклического избыточного кода (при распознавании CRC) может быть использована известная последовательность для дифференциации истинных и ложных сообщений. На фиг.23 графически отображен пример присоединения последовательности CRC к концу полезной информации. Вероятность ложного обнаружения (сообщения, сгенерированного на основе ошибочной точки синхронизации) может зависеть от длины последовательности CRC и количества задействуемых декодеров Витерби (числа точек синхронизации в структуре одного сообщения). Чтобы увеличить длину полезной информации, не повышая вероятность ложного обнаружения, можно применить контроль правдоподобия или увеличить длину последовательности синхронизации (сигнатуры синхронизации).

4. Подходы и преимущества

Далее рассмотрим некоторые аспекты описанной выше системы как признаки новизны. Кроме того, сравним эти аспекты с существующим уровнем техники в данной области.

4.1. Непрерывная синхронизация

Некоторые конструктивные решения предусматривают непрерывную синхронизацию. Сигнал синхронизации (синхросигнал), обозначенный как сигнатура синхронизации, вводят непрерывно и параллельно с данными путем перемножения с последовательностями, обозначенными как последовательности расширения синхронизации, и известными как на передающей, так и на принимающей стороне. В некоторых традиционных системах используют особые символы (отличные от тех, которые используют для данных), в то время как в реализациях заявляемого изобретения подобные специальные символы не используются. Другие классические методы заключаются во введении известной последовательности битов (преамбулы) с временным мультиплексированием относительно данных, или во введении сигнала с частотным мультиплексированием относительно данных.

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

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

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

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

Тем не менее, в некоторых аппаратных версиях представленного изобретения приложима какая-либо иная концепция синхронизации.

4.2. Двухмерное расширение

Некоторые технические решения предложенной системы выполняют расширение как во временной, так и в частотную области, то естьдвухмерное расширение (кратко - 2D-расширение). Как установлено, оно дает преимущества по сравнению с 1D-системами, поскольку частота передачи ошибочных битов может быть еще более сокращена за счет введения избыточности, например, во временной области.

Между тем, некоторые реализации заявляемого изобретения допускают применение какого-либо иного метода расширения.

4.3. Дифференциальное кодирование и дифференциальное декодирование

В некоторых реализациях устойчивость к движению и частотному рассогласованию гетеродинов (в отличие от традиционных систем) обеспечивается дифференциальной модуляцией. Подтвержден факт, что эффект Доплера (движение/перемещение) и частотные рассогласования приводят к ротации констелляции (стереометрического взаиморасположения) двоичной (/двухпозиционной) фазовой манипуляции ДФМн (BPSK)иными словами, к вращению в комплексной битовой плоскости). В некоторых реализациях вредные воздействия такой ротации констелляции ДФМн (или констелляции любой другой соответствующей модуляции) предотвращают путем использования дифференциального (разностного) кодирования или дифференциального декодирования.

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

4.4. Формирование бита

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

4.5. Интерактивный синтез блока психоакустического моделирования (РАМ) и банка фильтров (FB)

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

4.6. Функции упреждения и возврата

Некоторые технические решения предусматривают так называемые функции "возврата" и "упреждения". Ниже дан краткий обзор этих концепций. Если сообщение декодировано корректно, подразумевается, что синхронизация была выполнена успешно. При допущении, что пользователь не очищает память, некоторые аппаратные версии выполняют возврат во времени и осуществляют попытку декодировать предшествующие сообщения (если они еще не декодированы), используя ту же самую точку синхронизации (функция "взгляд назад"). Это особенно целесообразно при запуске системы. В худших ситуациях для достижения синхронизации может потребоваться 2 сообщения. В подобном случае в традиционных системах у первого сообщения шансов нет. В вариантах компоновки изобретения с опцией возврата предусматривается возможность сохранять (или декодировать) "хорошие" сообщения, которые не были получены только из-за обратной синхронизации. Упреждение - обратная этой функция с обращением в будущее. Если сейчас у меня есть сообщение, то я знаю, где должно быть мое следующее сообщение и могу сделать попытку декодировать его каким-либо образом. Таким образом, перекрывание сообщений позволяет декодировать их. Однако при реализации изобретения в некоторых случаях функция упреждения и/или функция возврата может быть исключена.

4.7. Повышение надежности синхронизации

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

4.8. Другие усовершенствования

Перейдем к выборочному рассмотрению ряда возможных усовершенствований описанной выше системы по сравнению с известным уровнем техники:

1) более низкая вычислительная трудоемкость;

2) улучшенное качество восприятия благодаря улучшенной психоакустической модели;

3) повышенная ошибкоустойчивость в реверберирующих средах благодаря узкополосным мультинесущим сигналам;

4) исключение в некоторых реализациях оценивания отношения сигнал-шум (SNR). Обеспечение за счет этого лучшей устойчивости, особенно в режимах низкого SNR.

Некоторые варианты исполнения изобретения превосходят общепринятые системы, в которых используются очень узкие полосы, например, 8 Гц, в силу следующих причин:

1) полоса 8 Гц (или подобная очень узкая полоса частот) требует весьма длинных временных символов, поскольку в психоакустической модели выделена очень малая энергия для обеспечения ее неслышности;

2) 8 Гц (или подобная очень узкая полоса) становится ощутимой в рамках зависимости от изменяющихся во времени спектров доплеровских частот. В силу этого такая узкополосная система обычно не вполне удовлетворяет техническим требованиям реализации, допустим, в часах.

Некоторые варианты технического решения изобретения опережают другие технологии в силу следующих причин:

1) технологии, вносящие эхо, сбоят в реверберирующих пространственных объемах. В отличие от них конструктивные решения согласно изобретению направлены на устранение возможности внесения эха;

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

Конструктивные решения по настоящему изобретению превосходят систему, описанную в DE 19640814, поскольку присущие ей один или более недостатков, перечисленных ниже, в них преодолены:

- чрезмерная сложность декодера системы по DE 19640814, где применен фильтр длиной 2N при N=128;

- чрезмерная длительность сообщения системы по DE 19640814;

- расширение в системе по DE 19640814 выполняется только во временной области при относительно высоком приращении (например, 128);

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

5. Назначение

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

Далее приведены примеры возможных сфер приложения изобретения.

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

2. Аудит (ревизование): водяной знак может быть скрыт, например, в рекламных объявлениях. Ведя автоматический мониторинг передач определенной станции, можно в последующем узнать, когда точно реклама была дана в эфир. Аналогичным способом можно выбрать статистику по вещанию различных станций, например частоту звучания в эфире определенной музыкальной пьесы, и т.п.

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

6. Альтернативные конструктивные решения

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

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

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

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

В зависимости от конечного назначения и особенностей практического применения изобретение может быть реализовано в аппаратных или программных средствах.

В реализации могу быть применены такие цифровые носители информации, как гибкий диск, DVD, "Блю-рей", CD, ПЗУ, ППЗУ, программируемое ПЗУ, СППЗУ или ФЛЭШ-память, содержащие электронно-считываемые управляющие сигналы, которые взаимодействуют (или совместимы) с программируемой компьютерной системой таким образом, что предлагаемый способ может быть осуществлен. Следовательно, цифровая среда хранения данных может быть читаемой компьютером.

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

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

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

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

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

Отсюда следует, что реализация изобретения подразумевает наличие потока данных или последовательности сигналов, представляющих компьютерную программу для осуществления одного из описанных здесь способов. Поток данных или последовательность сигналов могут быть рассчитаны на передачу через средства связи, например, Интернет.

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

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

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

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

1. Генератор водяного знака (101; 2400), генерирующий сигнал водяного знака (101b; 2420) на основе данных двоичного сообщения (101а, m; 2410), включающий процессор информации (303, 304, 305), формирующий в зависимости от одиночного бита данных в составе двоичного сообщения информацию о двухмерном расширении (b(i,j); 2432), представляющую бит сообщения в форме набора значений время-частотной области; и питатель сигнала водяного знака (306, 307), выводящий сигнал водяного знака на основе информации о двухмерном расширении; при этом процессор информации расширяет бит сообщения в первом направлении расширения, используя первую последовательность расширения (cf) для выведения представления промежуточной информации (303а, cf⋅m), объединяет представление промежуточной информации с представлением информации о совмещении (S) для выведения представления объединенной информации (С) и расширяет представление объединенной информации во втором направлении, используя вторую последовательность расширения (ct) для выведения информации о двухмерном расширении, где процессор информации объединяет представление промежуточной информации с представлением информации о совмещении, которая развернута в первом направлении расширения с использованием множества последовательностей расширения информации о совмещении (а, b) таким образом, что первый бит сообщения о расширении умножается на первую последовательность расширения информации о совмещении (а), и таким образом, что второй бит сообщения о расширении умножается на вторую последовательность расширения информации о совмещении (b), при этом первая последовательность расширения информации о совмещении и вторая последовательность расширения информации о совмещении ортогональны.

2. Генератор водяного знака по п. 1, где первая последовательность расширения (cf) содержит размерность Nf⋅1, где Nf - количество подполос.

3. Генератор водяного знака по п. 1, в котором первая последовательность расширения определяет направление расширения только по частоте.

4. Генератор водяных знаков по п. 1, в котором процессор информации объединяет перемножением представление промежуточной информации (303а, cf⋅m) с представлением информации о совмещении (S) и расширяет представление объединенной информации, которая содержит значения произведений, полученные из значений представления промежуточной информации и значений информации совмещения, во втором направлении расширения, используя вторую последовательность расширения (ct), таким образом, что полученные значения произведений расширяются с использованием общей последовательности расширения.

5. Генератор водяных знаков по п. 2, в котором процессор информации объединяет представление промежуточной информации с представлением информации о совмещении, которая расширена в первом направлении расширения с использованием последовательности расширения информации о совмещении (а), причем таким образом, что бит сообщения и информация о совмещении расширены разными последовательностями расширения (cf, а) в первом направлении расширения, и таким образом, что объединенные бит сообщения и информация о наложении расширены общей последовательностью расширения (ct) во втором направлении расширения.

6. Генератор водяных знаков по п. 4, в котором процессор информации объединяет перемножением представление промежуточной информации (303а, cf⋅m) с представлением информации о совмещении (S) и расширяет представление объединенной информации, которая содержит значения произведений, полученные из значений представления промежуточной информации и значений информации совмещения, во втором направлении расширения, используя вторую последовательность расширения (ct), таким образом, что полученные значения произведений расширяются с использованием общей последовательности расширения.

7. Генератор водяных знаков по п. 1, в котором процессор информации избирательно расширяет данный бит сообщения до первого битового представления, которое является положительным кратным последовательности расширения бита (cf), или до второго битового представления, которое является отрицательным кратным последовательности расширения бита (cf), в зависимости от значения данного бита сообщения для расширения его в первом направлении расширения.

8. Генератор водяных знаков по п. 1, в котором процессор информации соотносит значение данного представления промежуточной информации, полученное при расширении бита сообщения в первом направлении расширения, или соотносит значение данного представления объединенной информации, полученное при расширении бита сообщения в первом направлении расширения и при совмещении полученного результата с представлением информации о наложении, с набором значений расширения таким образом, что набор значений расширения представляет собой масштабированную с использованием данного значения версию второй последовательности расширения (ct).

9. Генератор водяных знаков по п. 1, в котором процессор информации вычисляет в качестве представления промежуточной информации представление данных расширения R по формуле

R=cf⋅m,

где cf - вектор размерностью Nf×1, представляющий последовательность расширения бита частоты с шириной расширения по частоте Nf, где m - вектор размерностью 1×Nmc, представляющий Nmc битов данных двоичного сообщения, из которых разные двоичные значения битов представлены компонентами вектора m с разным знаком, и где "⋅" обозначает матричный оператор умножения; и в составе которого процессор информации вычисляет данные двухмерного расширения В, выполняя действие

В=R' ◊ ctT, где R' равно R или получено объединением R с информацией о совмещении (S); где ◊ обозначает оператор кронекерового умножения и где T обозначает оператор транспозиции, a Nf - количество подполос.

10. Декодер водяного знака (200; 2500), формирующий на выходе данные двоичного сообщения (202а; 2520) в зависимости от сигнала с водяным знаком (200а, r(t); 2510), включающий в свою схему: блок формирования представления время-частотной области (203; 2530), дающий на выходе время-частотное представление (204; 2532) сигнала с водяным знаком; вычислитель синхронизации (201; 2540), включающий в себя модуль свертки, который состоит из одного или более блоков свертки (1201, 1203; 2542) и который выполняет двухмерное свертывание с извлечением данных синхронизации (205; 2544) на основе двухмерной составляющей время-частотного представления; и экстрактор водяного знака (202; 2550), извлекающий данные двоичного сообщения из представления во время-частотной области сигнала с водяным знаком с использованием данных синхронизации; в составе которого модуль свертки вычисляет ряд значений временной свертки, перемножает массив значений представления во время-частотной области со значениями последовательности временной свертки (ct) и суммирует результаты умножения, получая одно из значения временной свертки, и в составе которого модуль свертки поэлементно перемножает значения временной свертки со значениями последовательности частотной свертки и суммирует результаты умножения, выводя значение двухмерного свертывания; в котором модуль свертки поэлементно перемножает последовательные наборы значений временной свертки со значениями разных последовательностей частотной свертки таким образом, что первый набор значений временной свертки умножен поэлементным и одноэтапным или многоэтапным способом на первую объединенную последовательность частотной свертки, которая является произведением общей последовательности частотной свертки и первой последовательности свертки совмещения, и таким образом, что второй набор значений временной свертки умножен поэлементным и одноэтапным или многоэтапным способом на вторую объединенную последовательность частотной свертки, которая является произведением общей последовательности частотной свертки и второй последовательности свертки совмещения, которая отличается от первой совмещаемой последовательности частотной свертки, где первая последовательность свертки совмещения и вторая последовательность свертки совмещения ортогональны.

11. Декодер водяного знака (200; 2560), формирующий данные двоичного сообщения (202а; 2580) в зависимости от сигнала с водяным знаком (200а, r(t); 2570), включающий блок формирования представления время-частотной области (203; 2590), формирующий время-частотное представление (204; 2592) сигнала с водяным знаком; и экстрактор водяного знака (202; 2596), в составе которого модуль свертки, состоящий из одного или более блоков свертки, выполняет двухмерное свертывание, получая бит данных двоичного сообщения в зависимости от двухмерной составляющей представления во время-частотной области; где модуль свертки вычисляет набор значений временной свертки, перемножает массив значений время-частотного представления со значениями последовательности временной свертки (ct) и суммирует результаты умножения, получая одно из значения временной свертки, и в составе которого модуль свертки поэлементно перемножает значения временной свертки со значениями последовательности частотной свертки и суммирует результаты умножения, выводя значение двухмерного свертывания; в составе которого модуль свертки поэлементно перемножает последовательные наборы значений временной свертки со значениями разных последовательностей частотной свертки таким образом, что первый набор значений временной свертки умножен поэлементным и одноэтапным или многоэтапным способом на первую объединенную последовательность частотной свертки, которая является произведением общей последовательности частотной свертки и первой последовательности свертки совмещения, и таким образом, что второй набор значений временной свертки умножен поэлементным и одноэтапным или многоэтапным способом на вторую объединенную последовательность частотной свертки, которая является произведением общей последовательности частотной свертки и второй последовательности свертки совмещения, которая отличается от первой совмещаемой последовательности частотной свертки.

12. Декодер водяного знака по п. 10, в котором модуль свертки перемножает массив значений время-частотного представления (1377) со значениями последовательности временной свертки (cf) и суммирует результаты умножения, получая значения временной свертки (1378), и в составе которого модуль свертки поэлементно перемножает массив значений временной свертки, относящихся к различным частотам время-частотного представления, или значений, производных от них, с последовательностью частотной свертки (cf) и суммирует результаты умножения, получая значение двухмерного свертывания.

13. Декодер водяных знаков по п. 10, в котором модуль свертки вычисляет набор значений временной свертки, перемножает массив значений время-частотного представления со значениями последовательности временной свертки (ct) и суммирует результаты умножения, получая одно из значения временной свертки, и в составе которого модуль свертки поэлементно перемножает значения временной свертки со значениями последовательности частотной свертки и суммирует результаты умножения, выводя значение двухмерного свертывания.

14. Декодер водяных знаков по п. 13, в котором модуль свертки поэлементно перемножает последовательные наборы значений временной свертки со значениями разных последовательностей частотной свертки таким образом, что первый набор значений временной свертки умножен поэлементным и одноэтапным или многоэтапным способом на первую объединенную последовательность частотной свертки, которая является произведением общей последовательности частотной свертки и первой последовательности свертки совмещения, и таким образом, что второй набор значений временной свертки умножен поэлементным и одноэтапным или многоэтапным способом на вторую объединенную последовательность частотной свертки, которая является произведением общей последовательности частотной свертки и второй последовательности свертки совмещения, которая отличается от первой совмещаемой последовательности частотной свертки.

15. Способ (2600) генерации сигнала водяного знака в зависимости от данных двоичного сообщения, включающий в себя: формирование (2610) в зависимости от одиночного бита данных двоичного сообщения информации о двухмерном расширении, представляющей бит сообщения в форме набора значений время-частотной области; и формирование (2620) сигнала водяного знака на основе информации о двухмерном расширении; где первый бит сообщения в первом направлении расширения, используя первую последовательность расширения (cf), расширяет второй бит сообщения в первом направлении расширения, используя первую последовательность расширения (cf) для формирования представления промежуточной информации (303а, cf⋅m), объединяет представление промежуточной информации с представлением информации о совмещении (S) для формирования представления объединенной информации (С) и расширяет представление объединенной информации во втором направлении, используя вторую последовательность расширения (ct) для выведения информации о двухмерном расширении, где представление промежуточной информации объединяется с представлением информации о совмещении, которая развернута в первом направлении расширения с использованием множества последовательностей расширения информации о совмещении (а, b) таким образом, что первый бит сообщения о расширении умножается на первую последовательность расширения информации о совмещении (а), и таким образом, что второй бит сообщения о расширении умножается на вторую последовательность расширения информации о совмещении (b), при этом первая последовательность расширения информации о совмещении и вторая последовательность расширения информации о совмещении ортогональны.

16. Способ (2700) формирования данных двоичного сообщения в зависимости от сигнала с водяным знаком, включающий в себя: формирование (2710) представления сигнала с водяным знаком во время-частотной области; и выполнение (2720) двухмерного свертывания для выведения бита данных двоичного сообщения или информации о синхронизации для извлечения данных двоичного сообщения из время-частотного представления сигнала водяного знака в зависимости от двухмерной составляющей время-частотного представления; при этом вычисляют ряд значений временной свертки, для чего множество значений время-частотного представления перемножают со значениями последовательности временной свертки (ct) и суммируют результаты умножения, рассчитывая одно из значений временной свертки, после чего значения временной свертки поэлементно перемножают со значениями последовательности частотной свертки и суммируют результаты умножения, получая значение двухмерного свертывания; далее последовательные наборы значений временной свертки последовательно перемножают со значениями разных последовательностей частотной свертки таким образом, что первый набор значений временной свертки умножен поэлементным и одноэтапным или многоэтапным способом на первую объединенную последовательность частотной свертки, которая является произведением общей последовательности частотной свертки и первой последовательности свертки совмещения, и таким образом, что второй набор значений временной свертки умножен поэлементным и одноэтапным или многоэтапным способом на вторую объединенную последовательность частотной свертки, которая является произведением общей последовательности частотной свертки и второй последовательности свертки совмещения, которая отличается от первой совмещаемой последовательности частотной свертки, причем первая последовательность свертки совмещения и вторая последовательность свертки совмещения ортогональны.

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

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



 

Похожие патенты:

Изобретение относится к обработке аудиосигналов, в частности к обработке речи, и предназначено для улучшения маскирования адаптивной таблицы кодирования при ACELP-образном маскировании.

Изобретение относится к средствам для обработки сигнала. Технический результат заключается в повышении качества декодированного сигнала.

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

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

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

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

Изобретение относится к кодированию и декодированию звуковых сигналов. Технический результат – повышение точности восстановления звуковых сигналов.

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

Изобретение относится к кодированию и декодированию огибающей аудиосигнала. Технический результат – улучшение кодирования и декодирования огибающей аудиосигналов.

Изобретение относится к технологиям кодирования аудио. Технический результат – уменьшение объема служебной информации при кодировании аудио сигналов.

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

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

Изобретение относится к средствам для обработки потери кадра. Технический результат заключается в повышении качества восстановленного после потери кадра аудиосигнала.

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

Изобретение относится к обработке аудиосигналов, в частности к обработке речи, и предназначено для улучшения маскирования адаптивной таблицы кодирования при ACELP-образном маскировании.

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

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

Изобретение относится к декодированию звукового сигнала. Технический результат – обеспечение улучшенных концепций для систем кодирования звука.

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

Изобретение относится к обработке аудиосигналов. Технический результат – обеспечение маскирования ошибки во временной области с использованием сигнала возбуждения во временной области. Аудиодекодер содержит маскирование ошибки, выполненное с возможностью обеспечения аудиоинформации с маскированием ошибки для маскировки потери кадра аудио, а также маскирование ошибки выполнено с возможностью модификации сигнала возбуждения во временной области, полученного для одного или более кадров аудио, предшествующих потерянному кадру аудио, для получения аудиоинформации с маскированием ошибки. 21 н. и 27 з.п. ф-лы, 13 ил.
Наверх