Варианты реализации заявляемого изобретения относятся к системам маркировки фонограмм цифровыми водяными знаками и, в частности, к декодеру водяного знака для формирования данных двоичного сообщения, и к способу формирования данных двоичного сообщения.
Предшествующий уровень техники
Во многих технических приложениях существует необходимость введения дополнительной информации в данные или в сигнал, представляющий полезные данные, или “основные данные”, такие как, например, аудиосигнал, видеосигнал, графика, показания измерений и тому подобное. Часто требуется, чтобы подобного рода дополнительная информация, привязываемая к основным данным (в частности, к аудиоданным, видеоданным, к данным изображения, данным измерений, к текстовой информации и прочее), вводилась таким образом, чтобы она была незаметной для пользователя этими данными. Более того, в ряде случаев желательно, чтобы присоединенная информация не могла быть удалена из основных данных (тех же аудиоданных, видеоданных, данных изображения, данных измерения и так далее).
В особенности это относится к приложениям, где необходима электронная защита авторских прав. Более того, иногда введение в полезные данные важной дополнительной, не воспринимаемой органами чувств, сопутствующей информации просто необходимо. Таким случаем является, например, включение в аудиоконтент служебной информации, содержащей сведения о источнике предлагаемой фонограммы, ее содержимом, о правах, которыми обременен данный аудиоконтент и т.п.
Концепция внедрения дополнительных сведений в полезные данные или в “основные данные” получила название “watermarking”, то есть буквально - “нанесение водяных знаков” (маркировка водяными знаками / введение водяного знака). Обсуждение в специализированной литературе методик защиты водяными знаками затрагивает большое число видов полезной информации, как то - фонограммы, видеоматериалы, изображения, тексты и тому подобное.
Дальше дан ряд ссылок на публикации концепций применения цифровых водяных знаков. Сюда относится также широкий спектр пособий, руководств и иных изданий, подробно рассматривающих вопросы электронной защиты водяными знаками.
DE 196 40 814 С2 описывает метод кодирования, при котором в аудиосигнал вводят незвуковой сигнал данных, и метод декодирования сигнала данных, сопутствующего аудиосигналу в незвуковой форме. Метод кодирования для введения незвукового сигнала данных в звуковой сигнал состоит в преобразовании звукового сигнала в спектральное представление. Данный метод кодирования также включает в себя определение порога маскирования аудиосигнала и подачу псевдошумового сигнала. Этот метод кодирования, кроме того, включает в себя введение сигнала данных и умножение псевдошумового сигнала на сигнал данных с получением сигнала данных с частотным расширением. Метод кодирования наряду с этим включает в себя взвешивание сигнала данных расширения с порогом маскирования и перекрыванием аудиосигнала и сигнал взвешенных данных.
В дополнение к этому в WO 93/07689 описан способ и устройство автоматической идентификации программы, передаваемой радиостанцией или телевизионным каналом или записанной на носителе, путем добавления к звуковому сигналу программы неслышимого кодированного сообщения, идентифицирующего канал телевещания или радиостанцию, программу и/или точную дату. При реализации согласно указанному документу звуковой сигнал передают через аналого-цифровой преобразователь на процессор, предусматривающий возможность дробления частотных составляющих и изменения энергии некоторых частотных составляющих на расчетную величину с формированием кодированного сигнала идентификации. Выход процессора соединен через цифроаналоговый преобразователь со звуковым выходом для передачи звукового сигнала в эфир или для записи фонограммы. В другом варианте решения по рассматриваемому документу применяют аналоговую полосу пропускания для выделения частотной полосы звукового сигнала, в которой энергия может быть изменена для кодирования звукового сигнала.
В US 5450490 описано устройство и способы введения кода, имеющего, по меньшей мере, одну кодовую частотную составляющую в аудиосигнале. Разные частотные составляющие аудиосигнала оцениваются на возможность маскировать кодовую частотную составляющую для человеческого слуха, и на основании этих оценок задается амплитуда кодовой частотной составляющей. Также дано описание способов и устройства распознавания кода в закодированном аудиосигнале. Кодовую частотную составляющую кодированного аудиосигнала распознают, основываясь на ожидаемой кодовой амплитуде или на амплитуде помехи в диапазоне звуковых частот, включающем в себя частоту кодирующей составляющей.
В WO 94/11989 рассмотрен способ и устройство кодирования/декодирования транслируемых или записанных звуковых фрагментов и мониторинга расположения их слушателей. Описаны способы и устройство кодирования и декодирования информации в составе радиопередач или в составе записанных сигналов звукового фрагмента. В схемотехнической версии, описанной в документе, система мониторирования аудитории кодирует идентифицирующую информацию как составляющую аудиосигнала радиопередачи или фрагмента фонограммы с использованием кодирования расширенного спектра (широкополосное кодирование). Устройство мониторинга принимает акустически воспроизведенную версию радиопередачи или записанного сигнала через микрофон, декодирует идентифицирующую информацию составляющей аудиосигнала независимо от наличия окружающего фонового шума и вносит эту информацию в память, автоматически ведя на данного участника аудитории дневник (журнал), который позже загружается в централизованное системное устройство. Другое устройство мониторинга декодирует дополнительную информацию сигнала радиопередачи, соотнесенный со сведениями дневника аудитории в центральном системном устройстве. Этот монитор может одновременно отправлять данные на централизованное системное устройство, используя телефонную линию модемной связи, и принимать данные от централизованного системного устройства через сигнал, закодированный с использованием технологии расширенного спектра и модулированный по сигналу радиопередачи от третьего лица.
WO 95/27349 раскрывает устройство и способы введения кодов в аудиосигналы и декодирования. Описаны устройство и способы введения кода, имеющего, по меньшей мере, одну кодирующую частотную составляющую в аудиосигнале. Выполняется оценивание способности разных частотных составляющих аудиосигнала маскировать кодовую частотную составляющую для слуха человека, и на базе результатов такого оценивания каждой из кодирующих частотных составляющих присваивается амплитуда. Также дано описание способов и устройства распознавания кода в закодированном аудиосигнале. Кодовую частотную составляющую кодированного аудиосигнала распознают, основываясь на ожидаемой кодовой амплитуде или на амплитуде помехи в диапазоне звуковых частот, включающем в себя частоту кодирующей составляющей.
Между тем, зачастую затруднения при реализации известных систем ″нанесения” цифровых водяных знаков вызывает короткая продолжительность аудиосигнала. Например, пользователь может быстро переключать радиостанции или громкоговоритель, воспроизводящий аудиосигнал, может находиться далеко, и аудиосигнал будет восприниматься очень слабо. Также, акустический сигнал может быть вообще очень коротким, как, например, аудиосигналы в радиорекламе. Вдобавок, сигнал водяного знака, как правило, обладает низкой скоростью передачи в битах. В силу этого общий объем прохождения данных водяного знака обычно очень низок.
В контексте сложившейся ситуации данным изобретением ставится цель создать концепцию оптимизации формирования данных двоичного сообщения в зависимости от сигнала, маркированного водяным знаком, который позволил бы увеличить объем данных двоичного сообщения, получаемых с сигналом с водяным знаком.
Краткое описание изобретения
Поставленная цель достигается с применением детектора водяного знака по пункту 1 формулы изобретения или способа по пункту 9.
Заявляемое изобретение предлагает техническое решение декодера водяного знака, реконструирующего данные двоичного сообщения на основе сигнала, маркированного цифровым водяным знаком. Декодер водяного знака включает в свою конструкцию блок формирования время-частотного представления, запоминающее устройство, детектор синхронизации и экстрактор водяного знака. Блок формирования время-частотного представления предназначен для создания представления сигнала с водяным знаком в частотной области для множества временных дискретов. Запоминающее устройство (ЗУ) предназначено для хранения в памяти представления в частотной области (частотного представления) сигнала с водяным знаком для множества дискретов времени (временных блоков). Детектор синхронизации предназначен для идентификации временного блока совмещения (дискрета синхронизации), исходя из частотного представления сигнала с водяным знаком во множестве дискретов времени. Экстрактор водяного знака предназначен для извлечения данных двоичного сообщения из хранящихся в памяти представлений сигнала с водяным знаком в частотной области для временных блоков (дискретов), предшествующих идентифицируемому временному блоку совмещения (дискрету синхронизации), с учетом отстояния от идентифицируемого временного блока совмещения.
Ключевой идеей данного изобретения является внесение в память представления маркированного водяным знаком сигнала в частотной области и использование данных синхронизации (распознанного временного блока совмещения) для восстановления данных двоичного сообщения также из предшествующих по времени сообщений. За счет этого может быть значительно увеличен объем получаемых данных двоичного сообщения или информации о водяном знаке, содержащихся в сигнале с водяным знаком, поскольку параллельно для извлечения данных двоичного сообщения могут быть использованы данные временных блоков, принятых до того, как стала доступной информация о синхронизации.
Следовательно, шанс получить полную информацию о водяном знаке, содержащуюся в аудиосигнале, может быть повышен, особенно в случаях быстрой смены различных аудиосигналов.
Некоторые конструктивные решения по настоящему изобретению относятся к декодеру водяного знака, в схему которого включен декодер избыточности, предусматривающий восстановление данных неполного двоичного сообщения в сигнале с водяным знаком, предшествующем сообщению, содержащему распознанный временной блок совмещения, за счет использования избыточных данных неполного сообщения. Подобным же образом возможна реконструкция информации водяного знака из фрагментарных сообщений.
Другие аппаратные версии изобретения относятся к декодеру водяного знака, в конструкцию которого введен детектор синхронизации, предназначенный для выявления временного блока совмещения (дискрета синхронизации) в массиве предварительно заданных последовательностей синхронизации и на основе данных двоичного сообщения в сигнале, маркированном водяным знаком. Выполнение такой операции возможно, когда количество временных блоков в составе сообщения в сигнале с водяным знаком превышает количество различных предварительно заданных последовательностей синхронизации, содержавшихся в массиве предварительно заданных последовательностей синхронизации. Если сообщение содержит временные блоки в количестве, превышающем количество расчетных последовательностей синхронизации, детектор синхронизации может идентифицировать более одного временного блока совмещения в составе одного сообщения. Для того чтобы определить, какой из идентифицированных временных блоков совмещения является подлинным (например, обозначающим начало сообщения), данные двоичного сообщения, содержащие идентифицированные временные блоки совмещения, могут быть проанализированы с расчетом корректной синхронизации.
Схемотехническое исполнение изобретения может относиться к декодеру водяного знака, оснащенному экстрактором водяного знака, предназначенным для дальнейшего извлечения данных двоичного сообщения из представления сигнала с водяным знаком в частотной области во временных блоках, следующих за идентифицированным временным блоком совмещения, с учетом удаленности от этого идентифицированного временного блока совмещения. Другими словами, может быть достаточно один раз распознать один временной блок совмещения (как дискрет синхронизации) и использовать эту синхронизацию для следующих по времени сообщений. Такая синхронизация (в виде идентификации временного блока совмещения) может повторяться через заданный промежуток времени.
Дальнейшие технические реализации настоящего изобретения относятся к декодеру водяного знака, который включает в свою компоновку декодер избыточности и экстрактор водяного знака для формирования данных двоичного сообщения на базе частотного представления сигнала с водяным знаком во временных блоках, следующих за или предшествующих распознанному временному блоку совмещения с учетом временной удаленности от распознанного временного блока совмещения и с использованием избыточных данных неполного сообщения. Благодаря этому также может быть восстановлена информация водяного знака из неполных (фрагментарных) сообщений, когда недостающая информация водяного знака или предшествует, или следует за идентифицированным временным блоком совмещения. Это применимо в случае переключения с одного источника аудиосигнала с водяным знаком на другой источник аудиосигнала с водяным знаком “в середине” сообщения, маркированного водяным знаком. В подобной ситуации может быть реконструирована информация водяных знаков обоих источников аудиосигнала в момент переключения, даже если оба сообщения отрывочны, то есть, если время передачи обоих сообщений с водяными знаками идет с наложением.
Одной из форм осуществления заявляемого изобретения является также способ формирования данных двоичного сообщения. Этот способ базируется на тех же заключениях, что и описанное выше устройство.
Краткое описание фигур
Далее, варианты технических решений в соответствии с предлагаемым изобретением будут описаны со ссылкой на прилагаемые фигуры, где на фиг.1 дана принципиальная блочная схема устройства ввода водяного знака согласно изобретению; на фиг.2 дана принципиальная блочная схема декодера водяных знаков согласно изобретению; на фиг.3 дана более подробная принципиальная блочная схема генератора водяных знаков согласно изобретению; на фиг.4 дана подробная принципиальная блочная схема модулятора как элемента схемотехники изобретения; на фиг.5 дана блок-схема рабочего цикла психоакустического процессора как элемента схемотехники изобретения; на фиг.6 дана блок-схема рабочего цикла процессора психоакустической модели как элемента схемотехники изобретения; на фиг.7 отображен график зависимости спектральной плотности мощности аудиосигнала на выходе блока 801 от частоты; на фиг.8 отображен график зависимости спектральной плотности мощности аудиосигнала на выходе блока 802 от частоты; на фиг.9 дана блок-схема расчета амплитуды; на фиг.10А показана принципиальная схема модулятора; на фиг.10В графически представлен пример распределения коэффициентов на время-частотной плоскости; на фиг.11А и 11В в принципиальных блочных схемах представлено альтернативное конструктивное решение модуля синхронизации; фиг.12А графически отображает задачу временного выравнивания водяного знака; фиг.12В графически отображает задачу идентификации начала сообщения; фиг.12С графически иллюстрирует построение временного соответствия последовательностей синхронизации в режиме синхронизации полного сообщения; фиг.12D графически иллюстрирует построение временного соответствия последовательностей синхронизации в режиме синхронизации неполного сообщения; на фиг.12E графически представлены входные данные модуля синхронизации; на фиг.12F графически представлена концепция идентификации точки синхронности; на фиг.12G дана принципиальная блочная схема коррелятора сигнатуры синхронизации (маркировки совпадения); фиг.13А графически иллюстрирует пример временной свертки; фиг.13В графически иллюстрирует пример поэлементного перемножения битов и последовательностей расширения; на фиг.13С представлен график сигнала на выходе коррелятора сигнатуры синхронизации после усреднения по времени; на фиг.13D представлен график сигнала на выходе коррелятора сигнатуры синхронизации после фильтрации с использованием функции автокорреляции сигнатуры синхронизации; на фиг.14 дана принципиальная блочная схема конструктивного решения экстрактора водяного знака в соответствии с изобретением; фиг.15 схематически отображает выбор части представления во время-частотной области в качестве кандидатного сообщения; на фиг.16 показана принципиальная блочная схема модуля анализа; на фиг.17А показана спектрограмма выходного сигнала коррелятора синхронизации; на фиг.17В схематически отображены декодированные сообщения; на фиг.17С графически отображено положение синхронизации, выделенное из сигнала с водяным знаком; на фиг.18А графически представлены полезная информация, полезная информация с конечной последовательностью Витерби, полезная информация в кодировке по Витерби и полезная нагрузка в кодировке по Витерби в закодированной с повторениями версии; на фиг.18В графически отображены поднесущие частоты, используемые для введения маркированного водяным знаком сигнала; на фиг.19 графически представлены некодированное сообщение, кодированное сообщение, сообщения синхронизации и сигнал водяного знака, в котором к сообщениям применена последовательность синхронизации; на фиг.20 схематически отображен первый шаг алгоритма так называемой “АВС-синхронизации”; на фиг.21 графически отображен второй шаг алгоритма так называемой “АВС-синхронизации”; на фиг.22 графически отображен третий шаг алгоритма так называемой “ABC-синхронизации”; на фиг.23 показана схема сообщения, содержащего полезную информацию и составляющую CRC; на фиг.24 дана принципиальная блочная схема реализации декодера водяного знака в соответствии с изобретением; и на фиг.25 дана блок-схема способа формирования данных двоичного сообщения в соответствии с изобретением.
Подробное техническое описание
1. Декодер водяного знака
На фиг.24 показана принципиальная блочная схема реализации декодера водяного знака 2400, предназначенного для формирования данных двоичного сообщения 2442 на основе сигнала с водяным знаком 2402, согласно данному изобретению. В компоновку декодера водяного знака 2400 включены блок формирования время-частотного представления 2410, блок памяти 2420, детектор синхронизации 2430 и экстрактор водяного знака 2440. Блок формирования время-частотного представления 2410 сопряжен с детектором синхронизации 2430 и блоком памяти 2420. Далее по схеме детектор синхронизации 2430 и блок памяти 2420 сопряжены с экстрактором водяного знака 2440. Блок формирования время-частотного представления 2410 вырабатывает представление в частотной области 2412 сигнала с водяным знаком 2402 для множества дискретов времени (временных блоков). Блок памяти 2420 сохраняет частотное представление 2412 сигнала с водяным знаком 2402 для множества временных блоков. Далее, детектор синхронизации 2430 распознает временной блок совмещения 2432 на основе частотного представления 2412 сигнала с водяным знаком 2402 во множестве временных блоков. Экстрактор водяного знака 2440 извлекает данные двоичного сообщения 2442 из хранящихся в памяти частотных представлений 2422 сигнала с водяным знаком 2402 во временных блоках (дискретах времени), предшествующих временному блоку совмещения (дискрету синхронизации) 2432, с учетом удаленности от распознанного временного блока совмещения 2432.
Благодаря применению такого алгоритма “с возвратом” могут быть использованы также данные двоичных сообщений, полученных до выполнения синхронизации путем распознавания дискрета синхронизации (временного блока совмещения) 2432. Следовательно, объем получаемых данных двоичного сообщения, содержавшихся в принимаемом сигнале с водяным знаком, может быть значительно увеличен.
При этом, как сказано, должна учитываться удаленность дискрета времени от идентифицированного дискрета синхронизации 2432, например, если для генерации данных двоичного сообщения 2442 используется хранящееся в памяти частотное представление. Такая удаленность может учитываться, например, по времени (допустим, блок формирования время-частотного представления выдает предшествующий дискрет времени за x секунд до того, как он выдал идентифицированный дискрет синхронизации), или по числу дискретов времени между предыдущим дискретом времени и идентифицированным дискретом синхронизации 2432. Рассчитав удаленность от идентифицированного временного блока совмещения 2432, можно точно соотнести количество временных блоков, предшествующих временному блоку совмещения 2432, с конкретным сообщением таким образом, что данные этого более раннего двоичного сообщения могут быть восстановлены и выданы экстрактором водяного знака 2440. Временной блок совмещения (дискрет синхронизации) 2432 может быть, в частности, первым временным блоком (дискретом) сообщения, последним временным блоком сообщения или рассчитанным временным блоком внутри сообщения, дающим возможность определить начало сообщения. Сообщение может представлять собой пакет данных, состоящий из массива взаимосвязанных временных блоков.
Представление сигнала с водяным знаком в частотной области для множества временных блоков также может называться представлением сигнала с водяным знаком во время-частотной области (время-частотным представлением).
В качестве опции декодер водяного знака 2440 может включать в себя декодер избыточности, предусматривающий возможность восстановления данных двоичного сообщения 2442 в случае его фрагментарности в составе сигнала с водяным знаком, предшествующего сообщению, содержащему идентифицированный временной блок совмещения 2432, за счет избыточных данных такого неполного сообщения. Благодаря этому могут быть использованы сообщения, фрагментированные, например, в результате низкого качества сигнала с водяным знаком или в начале сигнала с водяным знаком.
Кроме того, детектор синхронизации 2430 может выявить временной блок совмещения 2432, исходя из множества предварительно заданных последовательностей синхронизации и исходя из данных двоичного сообщения сигнала с водяным знаком. В этом примере количество временных блоков в сообщении сигнала с водяным знаком превышает количество различных предварительно заданных последовательностей синхронизации из множества предварительно заданных последовательностей синхронизации. В этом случае корректная синхронизация также возможна, если в сообщении будет идентифицировано более одного временного блока совмещения. Иначе говоря, для правильной синхронизации (для распознавания надлежащего временного блока совмещения) содержимое сообщения может быть разложено на составляющие.
Последовательность синхронизации может содержать бит синхронизации для каждого коэффициента полосы частот частотного представления сигнала с водяным знаком. Частотное представление 2432 может состоять из коэффициентов для каждой полосы частотной области.
Выходные данные двоичного сообщения 2442 могут отображать содержание сообщения сигнала с водяным знаком 2402, более раннего, чем сообщение, содержащее распознанный дискрет синхронизации 2432.
Дополнительно экстрактор водяного знака 2440 может выполнять дальнейшую выборку данных двоичного сообщения из частотного представления 2412 сигнала с водяным знаком 2402 по дискретам времени, более поздним, чем распознанный дискрет синхронизации 2432, с учетом удаленности от него. Это можно назвать алгоритмом “с упреждением”, который позволяет формировать данные двоичных сообщений, следующих после сообщения, содержащего идентифицированный временной блок совмещения 2432, без последующей синхронизации. В силу этого может быть достаточно всего одной синхронизации. В ином случае временной блок совмещения (дискрет синхронизации) может быть идентифицирован периодически (допустим, в каждом 4-ом, 8-ом или 16-ом сообщении).
Дальнейшие технические реализации настоящего изобретения относятся к декодеру водяного знака, который включает в свою компоновку декодер избыточности и экстрактор водяного знака для формирования данных двоичного сообщения на базе частотного представления сигнала с водяным знаком во временных блоках, следующих за или предшествующих распознанному временному блоку совмещения с учетом временной удаленности от распознанного временного блока совмещения и с использованием избыточных данных неполного сообщения. Благодаря этому также может быть восстановлена информация водяного знака из неполных (фрагментарных) сообщений, когда недостающая информация водяного знака или предшествует, или следует за идентифицированным временным блоком совмещения. Это применимо в случае переключения с одного источника аудиосигнала с водяным знаком на другой источник аудиосигнала с водяным знаком “в середине” сообщения, маркированного водяным знаком. В подобной ситуации может быть реконструирована информация водяных знаков обоих источников аудиосигнала в момент переключения, даже если оба сообщения отрывочны, то есть, если время передачи обоих сообщений с водяными знаками взаимно накладывается.
Формулируя иначе, обеспечивается возможность переключения аудиоисточников (сообщений) с водяными знаками “в середине” (или в любом месте внутри сообщения) водяного знака (сообщения). Благодаря применению декодера избыточности и механизма “возврата” оба сообщения с водяными знаками могут быть реконструированы несмотря на возможное наложение по времени.
Блок памяти 2420 выполнен с возможностью очистки через заданный промежуток времени хранения пространства памяти, занятого частотным представлением 2422 сигнала с водяным знаком 2402, путем стирания или перезаписи. Таким образом объем используемой памяти можно поддерживать на низком уровне путем кратковременного хранения частотных представлений 2412 и дальнейшего многократного использования пространства памяти для последующих частотных представлений 2412, поступающих от блока формирования время-частотного представления 2410. Дополнительно или альтернативно, блок памяти 2420 может высвобождать пространство памяти, хранящее частотное представление 2422 сигнала с водяным знаком 2402, для стирания или перезаписи после того, как из него экстрактором водяного знака 2440 извлечены данные двоичного сообщения 2442. За счет этого занятый объем памяти также может быть уменьшен.
2. Способ формирования данных двоичного сообщения
На фиг.25 представлена блок-схема способа 2500 формирования данных двоичного сообщения на основе сигнала с водяным знаком в соответствии с изобретением. Способ 2500 включает в себя формирование 2510 представления сигнала с водяным знаком в частотной области для множества временных блоков и сохранение 2520 частотного представления сигнала с водяным знаком для множества временных блоков. Далее, способ 2500 включает в себя идентификацию 2530 временного блока совмещения на основе частотного представления сигнала с водяным знаком для множества временных блоков и формирование 2540 данных двоичного сообщения на основе хранящихся в памяти частотных представлений сигнала с водяным знаком для временных блоков, предшествующих идентифицированному временному блоку совмещения, с учетом удаленности от идентифицированного временного блока совмещения.
Дополнительно заявляемый способ может включать в себя операции, соответствующие существенным признакам устройства, описанного выше.
Далее, будет описана система передачи водяного знака, которая включает в себя блок ввода водяного знака и декодер водяных знаков. Безусловно, блок ввода водяного знака и декодер водяных знаков могут использоваться независимо друг от друга.
Для описания системы выбран принцип “от сложного к простому”. Сначала проведена дифференциация между кодером и декодером. Затем, в разделах с 3.1 по 3.5 подробно описан каждый рабочий блок в отдельности.
Базовая структура системы представлена на фигурах 1 и 2, где отображены, соответственно, сторона кодера и сторона декодера. На фиг.1 показана принципиальная блочная схема блока ввода водяного знака 100. На стороне кодера блоком обработки 101 (обозначенный как генератор водяных знаков) генерирует сигнал водяного знака 101b из двоичных данных 101а и из данных 104, 105 обмена информацией с психоакустическим процессором 102. Информация, полученная от блока 102, призвана гарантировать неслышность водяного знака. Затем, водяной знак, сгенерированный генератором водяных знаков 101, суммируют с аудиосигналом 106. После этого сигнал с водяным знаком 107 может быть ретранслирован, сохранен или передан для дальнейшей обработки. Мультимедийные файлы, например аудио- и видеофайлы, требуют введения значительной задержки в видеопоток во избежание потери аудио- и видеосинхронизации. В случае многоканального аудиосигнала каждый канал обрабатывается отдельно, согласно пояснению, данному в этом документе. Блоки обработки 101 (генератор водяных знаков) и 102 (психоакустический процессор) детально рассмотрены в разделах 3.1 и 3.2, соответственно.
На фигуре 2 в виде принципиальной блочной схемы детектора водяного знака 200 отображена сторона декодера. В систему 200 поступает маркированный водяным знаком аудиосигнал 200а, например, от микрофона. Первый блок 203, обозначенный как модуль анализа, демодулирует и трансформирует данные (например, аудиосигнал с водяным знаком) во временной/частотной области (формируя посредством этого время-частотное представление 204 аудиосигнала с водяным знаком 200а), пересылая их на модуль синхронизации 201, который анализирует входной сигнал 204 и выполняет синхронизацию, в частности, рассчитывает временное выравнивание кодированных данных (например, кодированных данных водяного знака относительно представления вовремя-частотной области). Эта информация (например, результирующие данные синхронизации 205) поступают на экстрактор водяного знака 202, который декодирует полученные данные (формируя соответствующие двоичные данные 202а, которые представляют содержимое данных маркированного водяным знаком аудиосигнала 200а).
3.1 Генератор водяных знаков 101
Подробная схема генератора водяных знаков 101 представлена на фигуре 3. Двоичные данные (выраженные как ±1), которые должны быть скрыты в аудиосигнале 106, вводят в генератор водяных знаков 101. Блок 301 упорядочивает принятые данные 101а в пакеты одинаковой длины MP. К каждому пакету в качестве сигнальных добавляют служебные биты (например, в виде постфикса). Пусть Ms обозначает их количество. Более подробно их использование будет объяснено в разделе 3.5. В дальнейшем каждый пакет битов полезной информации вместе с присоединенными служебными сигнальными битами будет называться сообщением.
Каждое сообщение 301а длиной Nm=Ms+Mp пересылают в кодер канала, блок обработки 302, который отвечает за кодирование битов для защиты от ошибок. Возможно конструктивное решение этого модуля, при котором он состоит из сверточного кодера в сочетании с устройством временного уплотнения импульсных сигналов. Коэффициент преобразования сверточного кодера оказывает большое влияние на общую степень защиты от ошибок системы цифровой маркировки водяными знаками. С другой стороны, устройство временного уплотнения импульсных сигналов обеспечивает защиту от всплесков шумов. Рабочий диапазон устройства временного уплотнения импульсных сигналов может быть ограничен одним сообщением, однако он может быть расширен до большего числа сообщений. Обозначим коэффициент кодирования, например, 1/4, как Rc. Количество закодированных битов для каждого сообщения составит Nm/Rc. Кодер каналов 302 генерирует на выходе, например, кодированное двоичное сообщение 302а.
Следующий блок обработки 303 выполняет расширение в частотной области. Для обеспечения удовлетворительного соотношения сигнал-шум информацию (например, двоичного сообщения 302а) расширяют и передают по Nf тщательно подобранным подполосам. Их точное частотное позиционирование определяют априорно и задают как для кодера, так и для декодера. Подробности подбора этого важного системного параметра даны в разделе 3.2.2. Расширение по частоте определяется последовательностью расширения cf размерностью Nf×1. Выходной сигнал 303а блока 303 состоит из Nf двоичных потоков - по одному на каждую подполосу. Двоичный поток (битстрим)i рассчитывают, умножая входной бит на компонент i последовательности расширения cf. Простейшее расширение состоит в копировании битстрима в каждый выходной поток, в частности, использовать последовательность расширения из единиц.
Блок 304, обозначенный как устройство введения схемы синхронизации, добавляет к битстриму сигнал синхронизации. Надежная синхронизация важна, поскольку в декодере отсутствуют параметры временного выравнивания как битов, так и структуры данных, то есть данные о начале каждого сообщения. Синхросигнал состоит из Ns последовательностей Nf по Nf битов в каждой. Последовательности поэлементно и периодически перемножают на поток (или потоки) битов 303а. Допустим, a, b и c составляют Ns = 3 последовательности синхронизации (обозначенные как последовательности синхронизирующего расширения).
Блок 304 умножает а на первый бит распространения, b - на второй бит расширения и c - на третий бит расширения. Для последующих битов применяется итерация, а именно, а умножается на четвертый бит, b - на пятый и так далее. Соответствующим образом формируется объединенная информация о данных синхронизации 304а. Последовательности синхронизации (обозначенные как синхронизирующие последовательности расширения) тщательно подбирают для минимизации риска ложной синхронизации. Дальнейшие подробности представлены в разделе 3.4. Кроме того, следует учитывать, что последовательность a, b, c, … можно рассматривать как последовательность синхронизирующих последовательностей расширения.
Блок 305 выполняет расширение во временной области. Каждый бит расширения на входе, в частности, вектор длины Nf, повторяется во временной области Nt раз. Аналогично расширению по частоте мы рассчитываем последовательность расширения ct размерностью Nt×1. Повторение i времени умножают на i-й компонент ct.
Математически операции блоков 302 - 305 могут быть выражены следующим образом. Пусть m размерностью 1×Nm=Rc будет закодированным сообщением на выходе блока 302.
Тогда на выходе блока 303 сигнал 303а (который можно рассматривать как представление данных расширения R) будет иметь вид
на выходе блока 304 сигнал 304а, который можно рассматривать как объединенное представление синхронизации данных С, имеет вид
где ° обозначает поэлементное произведение Шура, и
Выходной сигнал 305а блока 305 представляет собой
где ◇ и T обозначают Кронекерово умножение и транспозицию, соответственно. Следует помнить, что двоичные данные выражены как ±1.
Блок 306 выполняет дифференциальное кодирование битов. Этот шаг дает системе дополнительную устойчивость против фазовых сдвигов, обусловленных движением или рассогласованием гетеродина. Более детально этот вопрос рассмотрен в разделе 3.3. Если b(i; j) - бит для полосы частот i и временного блока j на входе блока 306, выходной бит bdiff (i; j) будет
В начале потока, то есть для j = 0, bdiff (ij-1) задается как 1.
Блок 307 выполняет действительную модуляцию, то есть генерацию формы волны сигнала водяного знака в зависимости от двоичных данных 306а на входе. Детализация схемного решения [модулятора 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 -
Формирующая бит основополосная функция
Сигнал водяного знака выводят как суммарный выходной сигнал всех фильтров формирования бита
3.2 Психоакустический процессор 102
Как видно на фигуре 5, психоакустический процессор 102 состоит из 3 элементов. Первый элемент - модуль анализа 501, который преобразует временной аудиосигнал во время/частотную область. Этот модуль анализа может выполнять анализ параллельно с разной разрешающей способностью по времени/частоте. Из модуля анализа время/частотные данные [504] поступают в блок психоакустического моделирования (РАМ) 502, который рассчитывает пороги маскирования для водяного знака по психоакустическим параметрам (см. E.ZwickerH.Fastl, “PsychoacousticsFactsandModels”). Пороги маскирования служат показателем количества энергии, которая может быть скрыта в аудиосигнале для каждой подполосы и временного блока. Последним элементом психоакустического процессора 102 является модуль расчета амплитуды 503. Этот модуль рассчитывает уровни усиления по амплитуде, которые должны быть применены при генерации сигнала водяного знака с соблюдением порогов маскирования, то есть задействованная энергия должна быть меньше или равна энергии, заданной порогами маскирования.
3.2.1 Время/частотный анализ 501
Блок 501 выполняет время/частотное преобразование аудиосигнала путем преобразования с перекрытием. Наилучшее качество звука может быть достигнуто при условии использования многоуровневой разрешающей способности по времени/частоте. Эффективным преобразованием с перекрытием является короткое (/оконное) преобразование Фурье (/ОПФ), основанное на быстрых преобразованиях Фурье (БПФ) оконно-взвешенных временных блоков. Длина окна определяет частотно-временную разрешающую способность таким образом, что более длинные окна характеризуются большей продолжительностью по времени и более высоким разрешением по частоте, а короткие окна - наоборот. Вместе с тем, форма окна, среди прочего, определяет утечку по частоте.
В предложенной системе мы добиваемся неслышного водяного знака, анализируя данные посредством двух разных уровней разрешения. Первый банк фильтров характеризуется величиной шага Tb, т.е. длиной бита. Величина шага - это временной интервал между двумя соседними временными блоками. Длина окна приблизительно равна Tb. Следует принимать во внимание, что форма окна не обязательно должна повторять форму окна, примененную для формирования бита, а должна в целом имитировать слуховой аппарат человека. Изучению этой проблемы посвящено множество публикаций.
Во втором банке фильтров используется более короткое окно. Высокое временное разрешение особенно важно при маркировке водяными знаками речи, поскольку ее временная структура, как правило, тоньше, чем Tb.
Частота дискретизации входного аудиосигнала не важна, поскольку она достаточна для описания сигнала водяного знака без алиасинга. Например, если наибольшая частотная составляющая сигнала водяного знака - 6 кГц, то частота дискретизации временных сигналов должна быть, по меньшей мере, 12 кГц.
3.2.2 Блок психоакустического моделирования 502
Функция блока психоакустического моделирования 502 состоит в определении порогов маскирования, то есть в расчете энергии, которая может быть скрыта в аудиосигнале для каждой подполосы частот и блока времени так, чтобы аудиосигнал с водяным знаком оставался неразличимым на оригинальном звуковом фоне.
Подполосу i задают между двумя пределами, а именно,
Следующие операции обработки выполняются отдельно для каждого уровня частотно-временного разрешения для каждой подполосы частот и каждого временного блока. На технологической ступени 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 анализирует выходной сигнал генератора водяных знаков на соответствие пороговым значениям. В случае несоответствия этот блок модифицирует амплитуды γ(i, j) надлежащим образом.
На этом рассмотрение стороны кодера завершается. Последующие разделы посвящены технологическим операциям приемника (обозначенного как декодер водяных знаков).
3.3 Модуль анализа 203
Модуль анализа 203 является первым этапом (или блоком) экстракции водяного знака. Его назначение - в обратном преобразовании аудиосигнала с водяным знаком 200а в
Модуль анализа состоит из трех компонентов, отображенных на фигуре 16: банка фильтров анализа 1600, блока нормализации амплитуды 1604 и блока дифференциального декодирования 1608.
3.3.1 Банк фильтров анализа 1600
С помощью анализирующего банка фильтров 1600, детализированная схема которого показана на фигуре 10а, маркированный водяным знаком аудиосигнал преобразуют во время-частотную область. На входе банк фильтров принимает аудиосигнал с водяным знаком r(t). На выходе он генерирует комплексные коэффициенты
Банк фильтров 1600 состоит из Nf ветвей, по одной для каждой подполосы i. Каждая ветвь делится на верхнее ответвление для синфазной составляющей и нижнее ответвления для квадратурной составляющей поддиапазона i. Несмотря на то, что модуляция в генераторе водяных знаков и, следовательно, аудиосигнал с водяным знаком имеют простые действительные значения, на стороне приемника необходим комплекснозначный анализ сигнала, поскольку в приемнике отсутствуют данные о чередованиях факторов модуляции вследствие влияния каналов и рассогласований синхронизации. Рассмотрим дальше ветвь i банка фильтров. Совмещая синфазное и квадратурное ответвления, рассчитаем комплекснозначный модулирующий сигнал
где * обозначает свертку, а
Чтобы получить коэффициенты
На выходе ветви i получаем коэффициенты
На фигуре 10В графически представлен пример распределения коэффициентов на время-частотной плоскости. Коэффициент избыточности дискретизации Nos = 2. Высота и ширина прямоугольников указывают, соответственно, ширину полосы и отрезок времени фрагмента сигнала, представленного соответствующим коэффициентом
Если частоты подполосы fi выбраны кратными некоторому интервалу ∆f, банк фильтров анализа может быть эффективно реализован с использованием быстрого преобразования Фурье (БПФ).
3.3.2 Нормализация амплитуды 1604
Чтобы, не отступая от основной темы, упростить описание, в дальнейшем допустим, что синхронизация битов известна, и что Nos = 1. Это значит, что мы имеем комплексные коэффициенты
Нормализация при n>1 представляет собой прямое расширение приведенной выше формулы. Таким же образом мы можем выбрать для нормализации гибкие биты, учитывая более одного момента времени. Нормализацию выполняют для каждого поддиапазона i и каждого момента времени j. Фактическое сложение EGC выполняют на более поздних шагах процесса экстракции.
3.3.3 Дифференциальное декодирование 1608
На вход блока дифференциального декодирования 1608 поступают нормализованные комплексные коэффициенты
Эти действия должны выполняться раздельно для каждой подполосы, поскольку канал обычно вносит разные чередования фаз в каждой подполосовой составляющей.
3.4 Модуль синхронизации 201
Задача модуля синхронизации состоит во временном выравнивании водяного знака. Синхронизация декодера относительно кодированных данных представляет собой двоякую задачу. На первом этапе банк фильтров анализа должен быть приведен в соответствие с кодированными данными, в частности, функции формирования бита
Сначала обратимся только к синхронизации сообщения. Сигнатура синхронизации, как объяснено в разделе 3.1, состоит из предварительно заданного порядка из Ns последовательностей, которые непрерывно и периодически вводят в водяной знак. Модуль синхронизации выполнен с возможностью распознавания временного выравнивания последовательностей синхронизации. В зависимости от размера N различают два режима выполнения операции, которые отображены на фигурах 12С и 12D, соответственно.
В режиме синхронизации полного сообщения (фиг.12С) Ns=Nm/Rc. Для упрощения фигуры принято, что Ns = Nm/Rc = 6 и Nt = 1, т.е. отсутствует расширение по времени.
Для наглядности применяемая сигнатура синхронизации показана под сообщениями. В действительности их модулируют в зависимости от закодированных битов и последовательностей расширения по частоте, как объяснено в разделе 3.1. В этом режиме периодичность сигнатуры синхронизации совпадает с периодичностью сообщений. Таким образом, модуль синхронизации может распознавать начало каждого сообщения по временному выравниванию сигнатуры синхронизации. Временные координаты начала новой сигнатуры синхронизации обозначены как точки синхронности. Затем, точки синхронности передаются в экстрактор водяного знака 202.
Второй возможный режим - синхронизация неполного сообщения проиллюстрирован на фигуре 12D. В этом случае Ns<Nm=Rc. Для этой фигуры принято, что Ns = 3, таким образом что три последовательности синхронизации повторяются дважды для каждого сообщения. Следует учитывать, что периодичность сообщений не обязательно кратна периодичности сигнатуры синхронизации. В этом режиме не все точки синхронности совпадают с началом сообщения. Модуль синхронизации не предусматривает определение различия между точками синхронности, и эта операция возложена на экстрактор водяного знака 202.
Обрабатывающие блоки модуля синхронизации показаны на фигурах 11А и 11В. Модуль синхронизации одновременно выполняет синхронизацию битов и синхронизацию сообщений (полных или неполных), анализируя выходной сигнал коррелятора сигнатуры синхронизации 1201. Данные во время/частотной области 204 поступают от модуля анализа. Поскольку синхронизация битов еще не доступна, блок 203 передискретизирует данные с коэффициентом Nos, как описанов разделе 3.3. Полные входные данные показаны на фигуре 12е. В этом примере Nos = 4, Nt = 2 и Ns = 3. Другими словами, сигнатура синхронизации состоит из 3 последовательностей (обозначенных a, b и c). Расширение по времени, в этом случае - с помощью последовательности расширения ct = [11]T, выполняется за счет простого повторения каждого бита дважды во временной области. Точные точки синхронности обозначены стрелками и соответствуют началу каждой сигнатуры синхронизации. Период сигнатуры синхронизации составляет Nt · Nos · Ns = Nsbl, что, например, равно 2·4·3=24. В силу периодичности сигнатуры синхронизации коррелятор сигнатуры синхронизации (1201) произвольно делит ось времени на блоки, называемые блоками поиска, размером Nsbl, где нижний индекс указывает длину блока поиска. Каждый блок поиска должен содержать (или обычно содержит) одну точку синхронности, как показано на фигуре 12F. Каждый из битов Nsbl является кандидатной точкой синхронности. Задачей блока 1201 является расчет степени правдоподобия для каждого кандидатного бита в каждом блоке. Далее эта информация передается в блок 1204 для вычисления точек синхронности.
3.4.1 Коррелятор сигнатуры синхронизации 1201
Для каждой кандидатной позиции синхронизации Nsbl коррелятор сигнатуры синхронизации вычисляет показатель правдоподобия, который тем выше, чем выше вероятность того, что будет распознано временное выравнивание (как битовая, так и полная или неполная синхронизация сообщения). Последовательность технологических операций показана на фигуре 12G.
В результате может быть выведена последовательность 1201а показателей правдоподобия, соотнесенных с различными выбранными позициями.
Блок 1301 выполняет временную свертку, то есть умножает каждый из битов Nt на последовательность временного расширения и затем суммирует их. Это действие выполняется для каждого из частотных поддиапазонов Nf. На фигуре 13А приведен пример. Для примера взяты те же параметры, что и в предыдущем разделе, а именно - Nos = 4, Nt = 2 и Ns = 3. Отмечена кандидатная позиция синхронизации. От этого бита с шагом Nos блок 1301 отсчитывает Nt · Ns и выполняет временную свертку, используя последовательность ct, оставляя биты Ns.
В блоке 1302 эти биты поэлементно умножаются на последовательности расширения Ns (см. фигуру 13В).
Блок 1303 выполняет частотную свертку, а именно, умножает каждый бит на последовательность расширения cf и затем суммирует по частоте.
На этом этапе, если положение синхронизации корректно, мы имели бы декодированные биты Ns. Поскольку на стороне приемника биты не известны, блок 1304 вычисляет меру правдоподобия, применяя абсолютные величины значений и сумм Ns.
В принципе, на выходе блока 1304 нужен некогерентный коррелятор, который ищет сигнатуру синхронизации. На практике при выборе небольшого значения Ns, а именно - режима синхронизации неполного сообщения, можно использовать последовательности синхронизации (например, a, b, c), которые взаимно ортогональны. При этом, при некорректном выравнивании коррелятора по сигнатуре его выходное значение будет очень маленьким, в идеале - равным нулю. В случае задействования режима синхронизации полного сообщения рекомендуется использовать столько ортогональных последовательностей синхронизации, сколько возможно, после чего создать сигнатуру путем тщательного подбора порядка их применения. В этом случае может быть применена та же теория, что и при поиске последовательности расширения с надлежащими функциями автокорреляции. Когда коррелятор имеет лишь небольшое рассогласование, то выходное значение коррелятора не будет равно нулю даже в идеальном случае, однако в любом случае будет меньше по сравнению с точным выравниванием, поскольку фильтры анализа не могут оптимально улавливать энергию сигнала.
3.4.2 Вычисление точек синхронности 1204
Этот блок анализирует выходные данные коррелятора сигнатуры синхронизации для определения позиций синхронизации. В силу того, что система довольно устойчива к рассогласованиям вплоть до Tb/4, а Tb обычно приближается к 40 мс, выходные данные блока 1201 можно интегрировать во времени с достижением более стабильной синхронизации. Осуществление такого подхода возможно с применением фильтра с бесконечной импульсной характеристикой (БИХ) во времени при экспоненциально затухающей импульсной характеристике. Альтернативно может быть применен традиционный фильтр со скользящим средним значением конечной импульсной характеристики (КИХ). Поскольку усреднение уже было выполнено, выполняют вторую корреляцию между других Nt · Ns (“выбор другой позиции”). Фактически, мы хотим задействовать информацию, где функция автокорреляции функции синхронизации известна. Это соответствует оцениванию максимального правдоподобия. Этот аспект проиллюстрирован на фигуре 13С. Кривая отображает выходной сигнал блока 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. Детализация синхронизации
Для кодирования полезной информации может быть применен, в частности, алгоритм Витерби. На фиг.18А графически отображены полезная нагрузки 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 кГц, как показано на диаграмме частотного спектра на фиг.18В. Как вариант может быть использовано другое количество поднесущих частот (скажем, 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 196 40 814, поскольку присущие ей один или более недостатков, перечисленных ниже, в них преодолены:
• чрезмерная сложность декодера системы по DE 196 40 814, где применен фильтр длиной 2N при N=128;
• чрезмерная длительность сообщения системы по DE 196 40 814;
• расширение в системе по DE 196 40 814 выполняется только во временной области при относительно высоком приращении (например, 128);
• чрезмерная сложность системы по DE 196 40 814, где сигнал генерируется во временной области, преобразуется в спектральную область, взвешивается, преобразуется обратно во временную область и накладывается на аудиоконтент.
5. Назначение
Данное изобретение включает в себя способ модификации аудиосигнала для скрытия цифровых данных и соответствующий декодер, выполненный с возможностью поиска и извлечения таких данных с сохранением у модифицированного сигнала оригинального акустического качества.
Далее приведены примеры возможных сфер приложения изобретения.
1. Мониторинг эфирного вещания: водяной знак, содержащий информацию, например, о станции и времени, скрыт в аудиосигнале радио или телевизионных программ. Декодеры, встроенные в небольшие устройства, закрепленные за субъектами тестирования, распознают водяной знак и таким образом собирают ценную информацию для рекламных агентств, в частности, кто смотрел какую программу и когда.
2. Аудит (ревизование): водяной знак может быть скрыт, например, в рекламных объявлениях. Ведя автоматический мониторинг передач определенной станции, можно в последующем узнать, когда точно реклама была дана в эфир. Аналогичным способом можно выбрать статистику по вещанию различных станций, например, частоту звучания в эфире определенной музыкальной пьесы и т.п.
3. Включение метаданных: предложенный способ предусматривает возможность вводить скрытые цифровые данные музыкального произведения или программы, например, название и автора пьесы или продолжительность программы и т.д.
6. Альтернативные конструктивные решения
Несмотря на то, что здесь в основном рассматривается оборудование с точки зрения его технического устройства, понятно, что аспекты материальной части тесно связаны с описанием соответствующих способов ее применения, и какое-либо изделие или блок соответствуют особенностям метода или технологической операции.
Аналогично, рассматриваемые технологии и рабочие операции непосредственно связаны с соответствующим машинным оборудованием и его элементной базой.
Некоторые или все шаги предлагаемого способа могут быть выполнены с использованием аппаратных средств, таких, например, как микропроцессор, программируемый компьютер или электронная схема. В некоторых случаях осуществления одна или больше ответственных операций, составляющих данный способ, могут быть выполнены таким устройством.
Относящийся к изобретению кодированный сигнал водяного знака или аудиосигнал, в который внедрен сигнал водяного знака, могут храниться на цифровом накопителе информации или могут быть переданы в транслирующую среду, такую как беспроводное вещание или проводная связь, например, Интернет.
В зависимости от конечного назначения и особенностей практического применения изобретение может быть реализовано в аппаратных или программных средствах.
В реализации могу быть применены такие цифровые носители информации, как гибкий диск, DVD, “Блю-рей”, CD, ПЗУ, ППЗУ, программируемое ПЗУ, СППЗУ или ФЛЭШ-память, содержащие электронно-считываемые управляющие сигналы, которые взаимодействуют (или совместимы) с программируемой компьютерной системой таким образом, что предлагаемый способ может быть осуществлен. Следовательно, цифровая среда хранения данных может быть читаемой компьютером.
Некоторые варианты конструкции согласно данному изобретению имеют в своем составе носитель информации, содержащий электронно- считываемые сигналы управления, совместимый с программируемой компьютерной системой и способный участвовать в реализации одного из описанных здесь способов.
В целом данное изобретение может быть реализовано как компьютерный программный продукт с кодом программы, обеспечивающим осуществление одного из предлагаемых способов при условии, что компьютерный программный продукт используется с применением компьютера. Код программы может, например, храниться на машиночитаемом носителе.
Различные варианты реализации включают в себя компьютерную программу, хранящуюся на машиночитаемом носителе, для осуществления одного из описанных здесь способов.
Таким образом, формулируя иначе, относящийся к изобретению способ осуществляется с помощью компьютерной программы, имеющей код программы, обеспечивающий реализацию одного из описанных здесь способов, если компьютерную программу выполняют с использованием компьютера.
Далее, следовательно, техническое исполнение изобретенного способа включает в себя носитель данных (либо цифровой накопитель информации, либо читаемую компьютером среду), содержащий записанную на нем компьютерную программу, предназначенную для осуществления одного из способов, описанных здесь.
Отсюда следует, что реализация изобретения подразумевает наличие потока данных или последовательности сигналов, представляющих компьютерную программу для осуществления одного из описанных здесь способов. Поток данных или последовательность сигналов могут быть рассчитаны на передачу через средства связи, например, Интернет.
Кроме того, реализация включает в себя аппаратные средства, например, компьютер или программируемое логическое устройство, предназначенные или приспособленные для осуществления одного из описанных здесь способов.
Далее, для технического исполнения требуется компьютер с установленной на нем компьютерной программой для осуществления одного из описанных здесь способов.
Некоторые версии конструкции для реализации одной или всех функциональных возможностей описанных здесь способов могут потребовать применения программируемого логического устройства (например, полевой программируемой матрицы логических элементов). В зависимости от назначения версии базовый матричный кристалл может сочетаться с микропроцессором с целью осуществления одного из описанных здесь способов. Как правило, описываемые способы могут быть реализованы с использованием любого аппаратного средства.
Описанные выше конструктивные решения являются только иллюстрациями основных принципов настоящего изобретения. Подразумевается, что для специалистов в данной области возможность внесения изменений и усовершенствований в компоновку и элементы описанной конструкции очевидна. В силу этого, представленные здесь описания и пояснения вариантов реализации изобретения ограничиваются только рамками патентных требований, а не конкретными деталями
Изобретение относится к средствам передачи данных двоичного сообщения. Технический результат заключается в оптимизации формирования данных двоичного сообщения в зависимости от сигнала, маркированного водяным знаком, которое позволило бы увеличить объем данных двоичного сообщения, получаемых с сигналом с водяным знаком. Декодер водяного знака, в схему которого введены блок формирования время-частотного представления, блок памяти, детектор синхронизации и экстрактор водяного знака. Блок формирования время-частотного представления создает представление сигнала с водяным знаком в частотной области для множества временных блоков. Блок памяти сохраняет представление сигнала с водяным знаком в частотной области для множества временных блоков. Детектор синхронизации идентифицирует временной блок совмещения на основе частотного представления сигнала с водяным знаком в множестве временных блоков. Экстрактор водяного знака извлекает данные двоичного сообщения из хранящихся в памяти частотных представлений сигнала с водяным знаком во временных блоках, предшествующих идентифицированному временному блоку совмещения, с учетом удаленности от идентифицированного временного блока совмещения. 5 н. и 7 з.п. ф-лы, 39 ил.
1. Декодер водяного знака (2400), предназначенный для реконструкции данных двоичного сообщения (2442) на основе сигнала, маркированного водяным знаком (2402), содержащий блок формирования время-частотного представления (2410), предназначенный для формирования представления в частотной области (2412) сигнала с водяным знаком (2402) для множества временных блоков; блок памяти (2420), предназначенный для сохранения частотного представления (2412) сигнала с водяным знаком (2402) для множества временных блоков; детектор синхронизации (2430), предназначенный для идентификации временного блока совмещения (2432) на основе частотного представления (2412) сигнала с водяным знаком (2402) для множества временных блоков; и экстрактор водяного знака (2440), предназначенный для извлечения данных двоичного сообщения (2442) из хранящихся в памяти частотных представлений (2422) сигнала с водяным знаком (2402) для временных блоков, предшествующих идентифицированному временному блоку совмещения (2432), с учетом удаленности от идентифицированного временного блока совмещения (2432).
2. Декодер водяного знака по п. 1, в схему которого введен декодер избыточности, выполненный с возможностью восстановления данных неполного двоичного сообщения (2442) в составе сигнала с водяным знаком (2402), предшествующего сообщению, содержащему идентифицированный временной блок совмещения (2432), на основе избыточных данных неполного сообщения.
3. Декодер водяного знака по п. 1, в котором детектор синхронизации (2430) идентифицирует временной блок совмещения (2432), исходя из множества предварительно заданных последовательностей синхронизации и исходя из данных двоичного сообщения сигнала с водяным знаком (2402), где количество временных блоков в сообщении сигнала с водяным знаком (2402) превышает количество различных предварительно заданных последовательностей синхронизации из множества предварительно заданных последовательностей синхронизации.
4. Декодер водяного знака по п. 3, характеризующийся возможностью формирования последовательности синхронизации, состоящей из битов синхронизации для каждого коэффициента частотной полосы частотного представления (2412) сигнала с водяным знаком (2402).
5. Декодер водяного знака по п. 1, характеризующийся возможностью формирования данных двоичного сообщения (2442), отображающих содержание сообщения сигнала с водяным знаком (2402), предшествующего сообщению, содержащему временной блок совмещения (2432).
6. Декодер водяного знака по п. 1, в котором экстрактор водяного знака (2440) выполнен с возможностью дальнейшего извлечения данных двоичного сообщения из частотных представлений (2412) сигнала с водяным знаком (2402) для временных блоков, следующих за идентифицированным временным блоком совмещения (2432), с учетом удаленности от идентифицированного временного блока совмещения (2432).
7. Декодер водяного знака по п. 1, в котором блок памяти (2420) выполнен с возможностью высвобождения по истечении заданного срока хранения пространства памяти, содержащего частотное представление сигнала с водяным знаком (2402), путем стирания или перезаписи.
8. Декодер водяного знака по п. 1, в котором блок памяти (2420) выполнен с возможностью высвобождения путем стирания или перезаписи пространства памяти, хранящего частотное представление сигнала с водяным знаком (2402), после извлечения экстрактором водяного знака (2440) данных двоичного сообщения из этого хранящегося в памяти частотного представления сигнала с водяным знаком (2402).
9. Способ (2500) формирования данных двоичного сообщения на основе сигнала с водяным знаком, включающий в себя формирование (2510) представления сигнала с водяным знаком в частотной области для множества временных блоков; сохранение (2520) представления сигнала с водяным знаком в частотной области для множества временных блоков; идентификацию (2530) временного блока совмещения, исходя из частотного представления сигнала с водяным знаком в множестве временных блоков; и формирование (2540) данных двоичного сообщения на основе хранящихся в памяти частотных представлений сигнала с водяным знаком в временных блоках, предшествующих идентифицированному временному блоку совмещения, с учетом удаленности от идентифицированного временного блока совмещения.
10. Машиночитаемый носитель информации с записанной на него компьютерной программой для осуществления способа по п. 9 при условии ее выполнения на компьютере.
11. Декодер водяного знака (2400), предназначенный для реконструкции данных двоичного сообщения (2442) на основе сигнала, маркированного водяным знаком (2402), содержащий блок формирования время-частотного представления (2410), предназначенный для формирования представления в частотной области (2412) сигнала с водяным знаком (2402) для множества временных блоков; блок памяти (2420), предназначенный для сохранения частотного представления (2412) сигнала с водяным знаком (2402) для множества временных блоков; детектор синхронизации (2430), предназначенный для идентификации временного блока совмещения (2432) на основе частотного представления (2412) сигнала с водяным знаком (2402) для множества временных блоков; и экстрактор водяного знака (2440), предназначенный для извлечения данных двоичного сообщения (2442) из хранящихся в памяти частотных представлений (2422) сигнала с водяным знаком (2402) в временных блоках, предшествующих идентифицированному временному блоку совмещения (2432), с учетом удаленности от идентифицированного временного блока совмещения (2432), для использования данных двоичных сообщений, полученных до выполнения синхронизации путем идентификации временного блока совмещения (2432).
12. Способ (2500) формирования данных двоичного сообщения на основе сигнала с водяным знаком, включающий формирование (2510) представления сигнала с водяным знаком в частотной области для множества временных блоков; сохранение (2520) представления сигнала с водяным знаком в частотной области для множества временных блоков; идентификацию (2530) временного блока совмещения, исходя из частотного представления сигнала с водяным знаком в множестве временных блоков; и формирование (2540) данных двоичного сообщения на основе хранящихся в памяти частотных представлений сигнала с водяным знаком во временных блоках, предшествующих идентифицированному временному блоку совмещения, с учетом удаленности от идентифицированного временного блока совмещения для использования данных двоичных сообщений, полученных до выполнения синхронизации путем идентификации временного блока совмещения (2432).
DE 102008014311 A1, 17.09.2009 | |||
DE 19640814 A1, 11.09.1997 | |||
WO 9307689 A1, 15.04.1993 | |||
US 5450490 A, 12.09.1995 | |||
WO 9411989 A1, 26.05.1994 | |||
WO 9527349 A1, 12.10.1995. |
Авторы
Даты
2016-06-10—Публикация
2011-02-22—Подача