вставка додаткових даних в сигнал
Винахід відноситься до способу і пристрою для вставки додаткових даних в інформаційний сигнал (відео-, аудіосигнал, мультимедійний зміст) .Технічні результатом є можливість розміщувати мультібітовие коди в одному водяному знаку або тільки в декількох різних водяних знаках, що дозволяє не тільки виявити вставлений водяний знак , але і без додаткових обчислень отримати відносне положення безлічі зображень, створених на основі цього водяного знака. Технічний результат досягається тим, що додаткові дані кодуються в відносне положення або фазу одного або більше водяних знаків, що дозволяє вставляти мультібітовие дані, використовуючи тільки один або несоклько певних водяних знаків. 6 н. і 7 з.п. ф-ли, 10 іл., 2 табл.
область винаходи
Винахід стосується способу і пристрою для вставки додаткових даних в інформаційний сигнал, наприклад відеосигнал, аудіосигнал або, в більш загальному сенсі, мультимедійний зміст. Винахід також відноситься до способу і пристрою для виявлення згаданих додаткових даних.
Передумови створення винаходу
Відомий спосіб вставки додаткових даних описаний в патенті США 5,748,783. У цьому способі, що відноситься до відомого рівня техніки, N-бітний код вставляється шляхом додавання низькоамплітудного "водяного знака", який має вигляд "білого" шуму. Кожен біт коду пов'язаний з індивідуальним водяним знаком, який має розмір і величину, рівні вихідного сигналу (наприклад, обидва представляють собою цифрове зображення 512 × 512). Біт коду із значенням "1" означає додавання відповідного водяного знака до сигналу. Біт "0" коду означає, що відповідний водяний знак до сигналу не додано або, в іншому випадку, означає, що він віднімається з сигналу. Таким чином, N-бітний код є сумою до N різних малюнків водяного знака (шуму).
Якщо є підозра, що зображення (або частина зображення), наприклад, у випуску журналу, є нелегальною копією оригінального зображення, оригінальне зображення віднімається з підозрюваного зображення, і N індивідуальних малюнків водяних знаків кросскорреліруются із зображенням-різницею. Залежно від величини кореляції між зображенням-різницею і кожним з індивідуальних малюнків водяних знаків відповідний біт приймає значення або "0", або "1", і потім витягується N-бітний код.
Недоліком існуючого способу є те, що N різних малюнків водяних знаків повинні додаватися там, де проводиться кодування, а виявлятися N малюнків водяних знаків повинні кожен окремо там, де проводиться декодування.
Завдання, які вирішуються винаходом, і його загальний опис
Завданням цього винаходу є надання таких способу і пристрою для вставки і виявлення водяного знака, які усували б недоліки відомих.
Для цього даний винахід пропонує спосіб вставки додаткових даних в інформаційний сигнал, який включає етапи: зміщення одного або більше заздалегідь визначених малюнків водяних знаків один або більше разів на вектор, причому відповідний вектор (вектора) відображає згадані додаткові дані; і вставки згаданого зміщеного водяного знака (знаків) у згаданий інформаційний сигнал. Відповідний спосіб виявлення додаткових даних в інформаційному сигналі включає етапи: виявлення одного або більше вставлених водяних знаків; визначення вектора, на який кожен виявлений водяний знак зміщений відносно заздалегідь визначеного водяного знака; і вилучення згаданих додаткових даних зі згаданого вектора (векторів). Кращі варіанти винаходу описані в додаткових пунктах формули.
Винахід дозволяє розміщувати мультібітовие коди в одному малюнку водяного знака або тільки в декількох різних водяних знаках. Це важливо при використанні процесу виявлення водяного знака в побутовій апаратурі, такий як відео-, або аудіоплеєри, або магнітофони, так як малюнки водяних знаків, які, повинні бути виявлені, зберігаються в даних пристроях. Даний винахід виходить з того, що є такі методи виявлення, які не тільки виявляють, вставлений чи ні в сигнал даний водяний знак, але також без додаткових обчислень повідомляють відносні положення множин, створених на основі згаданого водяного знака. Це є значною перевагою, так як кількість біт, які можуть бути вставлені в інформаційний зміст, завжди на практиці являє собою компроміс між стійкістю, видимістю і швидкістю виявлення. Даний винахід, таким чином, робить можливим виявлення в реальному часі при помірних вимогах до апаратних засобів.
Короткий опис креслень
На фіг.1 схематично зображено пристрій для вставки водяного знака в сигнал відповідно до даного винаходу.
На фіг.2 і фіг.3 зображені діаграми, що ілюструють роботу пристрою вставки, показаного на фіг.1.
На фіг.4 схематично зображено пристрій виявлення вставленого водяного знака відповідно до даного винаходу.
На фіг.5, фіг.6 і фіг.6В зображені діаграми, що ілюструють роботу детектора, показаного на фіг.4.
На фіг.7 зображено пристрій для відтворення бітового потоку відеосигналу з вставленим водяним знаком.
На фіг.8 і фіг.9 зображені діаграми, додатково ілюструють процес вставки і виявлення мультібітовой інформації в водяному знаку відповідно до даного винаходу.
Опис бажаних варіантів винаходу
Для зручності схема створення водяних знаків, відповідно до даного винаходу, буде описана як система приєднання невидимих міток до відеовмісту, але, очевидно, що дані принципи можуть бути застосовані до будь-якого іншого змісту, включаючи аудіо і мультимедіа. Далі по тексту часто буде використано для даного способу назву JAWS (ще одна система створення водяних знаків).
На фіг.1 показано практичне втілення пристрою вставки водяних знаків відповідно до даного винаходу. Пристрій вставки включає джерело зображення 11, який створює зображення Р, і суматор 12, який додає водяний знак W до зображення Р. Водяний знак W є картинкою шуму, що має той же розмір, що і зображення, наприклад, N1 пікселів по горизонталі і N2 пікселів по вертикалі. Водяний знак W надає ключ К, тобто мультібітовий код, який повинен бути витягнутий там, де проводиться прийом інформації.
Щоб уникнути необхідності в процесі виявлення водяного знака пошуку водяного знака W по великому простору N1 × N 2, водяний знак створюється повторенням і, якщо необхідно, урізанням дрібніших блоків, званих "елементами мозаїки" W (K), по всьому зображенню. Ця операція створення мозаїки (15) показана на фіг.2. Елементи W (K) мають фіксований розмір М × М. Розмір М елемента мозаїки не повинен бути надто меленьким: менший М передбачає більше симетрії в W (K) і, отже, більший ризик для безпеки. З іншого боку, М не повинен бути занадто великим: велике значення М має на увазі великий простір пошуку для детектора і, отже, більшу складність. В системі Jaws обраний в якості розумного компромісу М = 128.
Потім обчислюється карта локальної насиченості або маска видимості (Р) (16). У кожній позиції пікселя (Р) надає критерій видимості додаткового шуму. Мапа (Р) створюється таким чином, щоб мати середнє значення, рівне 1. Розмноження послідовність W (K) потім модулюється (17) з (Р), тобто значення розмноженого мозаїкою водяного знака W (K) в кожній позиції множиться на величину видимості (Р) в цій позиції. Результуюча послідовність шуму W (K, P), отже, залежить як від ключа К, так і від змісту зображення Р і називається W (K, P) адаптованим водяним знаком, так як він адаптований до зображення Р.
І, нарешті, рівень результуючого водяного знака визначається параметром глобальної насиченості d, який забезпечує глобальне масштабування (18) W (K, P). Велике значення d відповідає сталому, але, можливо, мабуть водяному знаку. Мале значення відповідає майже непомітного, але слабкого водяному знаку. Реальний вибір d буде компромісом між вимогами стійкості і помітності. Позначене водяним знаком зображення Q виходить додаванням (12) W = d × W (K, P) до Р з округленням до цілого числа пікселів і обрізанням до дозволеного діапазону величин в пікселях.
Для того щоб вставити мультібітовий код До в водяний знак W, кожен елемент мозаїки W (K) створюється з обмеженої множини некоррелірованних основних або вихідних елементів {W1 ... Wn} і їх зміщених версій, згідно
де "зміщення (W1, kij)" являє собою просторове зміщення основного М x М елемента W1 на вектор kij з циклічним поверненням. знаки s {-1, +1), і зміщення k залежать від ключа К через функцію кодування Е (13). Завданням детектора є реконструювати До після вилучення знаків si і зсувів k1. Зауважимо, що кожен основний елемент мозаїки Wi може повторюватися кілька разів. На фіг.1 кодер 13 створює W (K) = W1 + W2 -W2 ', де W2' являє собою зміщену версію W2. Ця операція показана на Фіг.3.
На фіг.4 зображена блок-схема детектора водяних знаків. Детектор водяних знаків приймає зображення Q, можливо, помічені водяними знаками. Виявлення водяних знаків в системі JAWS проводиться не для кожного окремого кадру, а для груп кадрів. Накопиченням (21) деякої кількості кадрів поліпшується статистика виявлення, а також, відповідно, поліпшується і надійність виявлення. Накопичені кадри потім розділяються (22) на блоки розміром M × M (М = 128), і все блоки складаються (23) в буфер q розміром М × М. Ця операція відома як згортання. Цю операцію згортання ілюструє Фіг.5.
Наступні етап в процесі виявлення - переконатися в наявності в буфері q конкретної картинки шуму. Щоб виявити, включає чи ні буфер q конкретний малюнок водяного знака W, вміст буфера і згаданий малюнок водяного знака піддаються кореляції. Обчислення кореляції знаходиться під підозрою інформаційного сигналу q з малюнком водяного знака w включає обчисленням скалярного твори d = <q, w> значень інформаційного сигналу і відповідних значень малюнка водяного знака. Для одновимірного інформаційного сигналу q = {qn} і малюнка водяного знака w = {Wn) це може бути записано в математичному вигляді наступним чином:
Для двовимірного М × М зображення q = {qij} і малюнка водяного знака W = {wij} скалярний твір буде наступним:
В принципі, вектор ki, на який зміщений елемент мозаїки Wi, може бути виявлений послідовної подачею на детектор Wi з різними векторами k та визначення, для якого k кореляція є максимальною. Однак, на це грубий алгоритм пошуку витрачається багато часу. Більш того, до проведення виявлення водяних знаків зображення Q могло піддатися різним формам обробки (таким, як транспонування або кадрування), так що детектор не знає просторового розташування основного малюнка водяного знака Wi щодо зображення Q.
Замість грубого пошуку JAWS використовує систему малюнків W (K). Буфер q перевіряється на наявність цих вихідних малюнків, їх знаків і зсувів. Кореляція dk зображення q і вихідного малюнка w, зміщується на вектор k (kx пікселів по горизонталі і ky пікселів по вертикалі), є такою:
Значення кореляції dk для всіх можливих векторів зсуву k основного малюнка Wi обчислюються одночасно з використанням швидкого перетворення Фур'є. Як показано на фіг.4, як вміст буфера q, так і основний малюнок водяного знака Wi піддаються швидкому перетворенню Фур'є (БПФ) в схемах перетворення 24 і 25 відповідно. Ці операції дають:
де і - ряди комплексних чисел.
Обчислення кореляції схоже на обчислення згортки q і сполученої величини Wi. В домені перетворення це відповідає:
де символ означає множення з урахуванням порядку, а "сполучення ()" означає інвертування знаку уявної частини аргументу.
На фіг.4 сполучення виконується схемою сполучення 26, а множення з урахуванням порядку виконується схемою множення 27. Безліч значень кореляції d = {dk} тепер виходить застосуванням зворотного перетворення Фур'є до результату згаданого множення:
яке виконується на фіг.4 схемою зворотного ШПФ 28 (ОБПФ). Присутність водяного знака Wi виявляється, якщо значення кореляції dk більше заданої граничної величини.
На фіг.6 показаний графік значень кореляції dk, якщо в зображенні Q перевіряється наявність водяного знаку W i (див. Фіг.1 і фіг.3). Пік 61 вказує, що Wi дійсно виявлений. Положення (0,0) цього піку вказує на те, що виявилося, що малюнок Wi, що надійшов на детектор, має те ж саме просторове положення щодо зображення Q, що і малюнок Wi, що надійшов на пристрій вставки. На фіг.6В показаний графік значень кореляції, якщо на детектор надійшов малюнок водяного знака W2. Тепер виявлені два піки. Позитивний пік 62 на (0,0) означає наявність водяного знаку W2, а негативний пік 63 на (48,80) означає наявність водяного знаку -W2 '. Положення останнього піку 63 щодо піку 62 (або, що те ж саме, піку 61) вказує положення (в пікселях) W2 'щодо W2, тобто вектор зміщення k. З виявлених таким чином векторів витягуються вставлені дані К.
Вставлена інформація може ідентифікувати, наприклад, власника авторських прав або опис змісту. При захисті від копіювання дисків DVD це дозволяє позначати матеріал наступною інформацією: "дозволена одна копія", "копіювання заборонено", "без обмежень", "подальше копіювання заборонено" і т.д. На фіг.7 показаний програвач DVD для відтворення бітового потоку MPEG, який записаний на диску 71. Записаний сигнал надходить на вихідний роз'єм 73 через перемикач 72. Вихідний роз'єм з'єднаний із зовнішнім декодером MPEG і екраном (не показані). Передбачається, що програвач DVD може не відтворювати відеосигнали з наперед визначеним вставленим водяним знаком, якщо не виконуються інші умови, які не належать до даного винаходу. Наприклад, помічені водяним знаком сигнали можуть відтворюватися, тільки якщо диск 71 включає заданий "змінний" ключ. Для того, щоб виявити водяний знак, програвач DVD включає детектор водяних знаків 74, як описано вище. Детектор приймає записаний сигнал і управляє перемикачем 72 в залежності від того, виявлений чи водяний знак чи ні.
Схема оцінки 29 (фіг.4) записує одну або більше трійок s = {(ij, s ij, kij)} для кожного вихідного малюнка водяного знака Wi, що надійшов на детектор водяних знаків. Тут ij є індекс вихідного малюнка, s - його знак, а k - його положення щодо надійшов малюнка. З цих даних витягується вставлений ключ К.
Мультібітовий код може бути вставлений в один зміщений малюнок водяного знака (наприклад, малюнок W'2, показаний на Фіг.3) за умови, якщо відповідний основний малюнок водяного знака (W2), що надійшов на детектор, має те ж положення щодо зображення, що і в пристрої вставки. В цьому випадку координати піку в матриці кореляції (тобто піку 63 на фіг.6В) недвозначно представляють собою вектор k. На практиці, однак, абсолютне положення піку в масиві значень кореляції, що відповідають даному основному малюнку, може змінюватися через передрук чи транспонування зображень. Відносні положення кількох піків, однак, під час кадрування або транспонировании інваріантні. З цієї точки зору вигідно вставляти кілька водяних знаків і кодувати ключ До в їх відносних положеннях. Переважно, один з піків надає еталонне стан. Цього можна досягти вставкою заздалегідь визначеного незміщеної водяного знака (наприклад, W1, який надає еталонний пік 61 на фіг.6) або вставкою одного з декількох водяних знаків з відмінним знаком (наприклад, W2, який надає еталонний пік 62 на фіг.6В).
Тепер буде представлений математичний аналіз кількості біт, які можуть бути вставлені. Більш узагальнено будемо припускати, що ми маємо n основних елементів мозаїки W1 ... Wn, все однакового фіксованого розміру М × M і взаємно некорельовані. М в формі М = 2m для цілого m. У типовому випадку маємо М = 128 = 27. Практично реалізовується в даний час кількість різних основних малюнків, які можна використовувати, є невеликим: можна, наприклад, припустити, що n = 4 або n = 8. Точне розташування піку можна уявити тільки з точністю до декількох пікселів. Таким чином, для вставки інформації в відносні зміщення піків використовуємо курсорну сітку для дозволених транспонировании основних малюнків водяних знаків. Будемо розглядати сітки розміру G × G, де G = 2g для цілих g, менших, ніж m. Крок сітки h = М / G.
Спочатку буде розглядатися кількість біт, яке може бути вставлено в n різних основних малюнків водяних знаків (W1 ... Wn), пік одного з яких (наприклад, W1) використовується для надання еталонного положення. В цьому випадку вставляється інформація в положення W 2 ... Wn, відносні до положення W 1. Для кожного з цих малюнків W2 ... Wn є С2 можливих зсувів (тобто 2d біт). Інформаційне вміст, який може бути вставлено в відносні зміщення n малюнків водяних знаків на G × G сітці, так само 2g (n-1) біт. У наступній таблиці 1 показані ці кількості біт для різних розмірів сітки і числа основних малюнків. У цій таблиці передбачається, що водяний знак має розмір 128 × 128.
Таблиця 1
Кількість біт, які можуть бути вставлені з використанням зсувів n водяних знаків на сітках з кроком 16, 8 і 4 h G × G n = 2 n = 3 n = 4 n = 5 n = 6 16 8 × 8 6 12 18 24 30 8 16 × 16 8 16 24 32 40 4 32 × 32 10 20 30 40 50
Виявилося, що при існуючій точності виявлення піків можливо вибрати крок сітки h в 4 пікселя. Якщо в розрахунок має прийматися масштабування, можливо потрібні великі кроки. Кількість водяних знаків, які можуть бути використані, може досягати 4 або навіть 6, коли вони стають видимими. Стійкість необов'язково завжди є великою проблемою при, наприклад, 4 основних малюнках, а складність виявлення такої залишається. Отже, цікаво дослідити ситуацію, де використовуються різні зміщення лише одного основного малюнка.
Розглянемо також кількість біт, які можуть бути вставлені в n транспонованих версій тільки одного основного малюнка Wi. Це має ту перевагу, що необхідно докласти до детектора тільки один малюнок для визначення n піків кореляції. Це знижує складність виявлення на коефіцієнт n в порівнянні з ситуацією, коли використовується n різних малюнків. Можна побачити, що це відбувається ціною втрати деякої частини інформаційного змісту, але що коефіцієнт його скорочення значно менше, ніж коефіцієнт скорочення часу виявлення. При використанні n зсувів одного водяного знака в порівнянні з використанням n різних водяних знаків є дві важливі відмінності:
- Все зміщення повинні відрізнятися один від одного. Цього не потрібно, якщо використовуються різні малюнки.
- відсутня еталонне стан, на противагу ситуації, описаної вище, коли було "зафіксовано" W1, і розглянуті положення інших водяних знаків (W2, W2 ') щодо положення W 1.
На фіг.8 показані приклади малюнків піків на 8 × 8 сітці (h = 16) в разі, коли основний малюнок водяного знака W1 був вставлений 3 рази з різними зсувами. Малюнок піків 81 показує положення 3 піків, як вони виявлені детектором водяних знаків. Звертається увага на те, що на основі того ж водяного знака можуть створюватися циклічні зсуви цього малюнка піків. Наприклад, малюнки піків 82, 83 і 84 (в яких один з піків зміщений в лівий нижній кут) все еквівалентні малюнку 81. На фіг.9 показаний подібний малюнок піків для 4 зміщених версій одного основного малюнка водяного знака Wi. В цьому випадку всі зміщені версії малюнка з одним піком в нижньому лівому кутку є ідентичними.
Щоб визначити точне інформаційний зміст, необхідно перерахувати всі можливі різні малюнки аж до циклічних зсувів. Автори винаходу провели ці обчислення. Результат наведено в таблиці нижче 2.
Таблиця 2
Кількість біт, які можуть бути вставлені з використанням n зміщених версій одного малюнка водяного знака на сітках з кроком 16, 8 і 4 h G × G n = 2 n = 3 n = 4 n = 5 n = 6 16 8 × 8 5 9 13 16 20 8 16 × 16 7 13 19 25 30 4 32 × 32 9 17 25 33 40
Описані вище способи можуть комбінуватися декількома шляхами. Наприклад, можна використовувати кілька зміщених версій різних малюнків або можна використовувати інформацію про знаках в комбінації зі зсувами і т.д.
Таким чином, даний винахід засноване на властивостях інваріантності способу створення водяних знаків, який базується на вставці n основних малюнків водяних знаків. Спосіб виявлення в домені Фур'є робить можливим виявлення водяного знака в зміщених або кадрованих версіях зображення. Точний зсув малюнка водяного знака видається піком кореляції, отриманим після застосування зворотного швидкого перетворення Фур'є. Даний винахід виходить з того, що після виявлення точного зміщення водяного знака це зміщення може бути використано для вставки інформації. Винахід дозволяє ефективним у фінансовому плані чином використовувати процес виявлення водяних знаків не просто для вирішення питання про те, позначено чи ні зображення або відеосигнал, а для вставки мультібітовой інформації.
В результаті описаний спосіб вставки додаткових даних в сигнал. Дані кодуються в відносне положення або фазу одного або більше основних малюнків водяних знаків. Це дозволяє вставити мультібітовие дані, використовуючи тільки один або кілька певних малюнків водяних знаків.
ФОРМУЛА винаходи
1. Спосіб вставки додаткових даних (К) в інформаційний сигнал (Р), що містить етап, на якому вставляють один або більше заздалегідь певні водяні знаки (W2) в інформаційний сигнал, який відрізняється тим, що згадані водяні знаки вставляють в різних позиціях в інформаційний сигнал , причому вектор (к), що представляє відповідні позиції згаданих водяних знаків, відображає згадані додаткові дані (к).
2. Спосіб за п.1, що відрізняється тим, що водяний знак (W2) в одній зі згаданих позицій вставляють з іншим знаком, ніж в інших позиціях для забезпечення еталона для згаданого вектора (к).
3. Спосіб за п.1, що відрізняється тим, що водяний знак (W1) в одній зі згаданих позицій відрізняється від водяного знака в інших позиціях для забезпечення еталона для згаданого вектора (к).
4. Спосіб за п.1, що відрізняється тим, що вставлений водяний знак має розміри менше, ніж розмір інформаційного сигналу, і етап вставки містить повторення згаданого водяного знака по всьому інформаційного сигналу.
5. Спосіб виявлення додаткових даних в інформаційному сигналі, який містить етап, на якому виявляють один або більше вставлених водяних знаків (W2 '), що відрізняється тим, що спосіб додатково містить етапи, на яких визначають відповідні позиції згаданих виявлених водяних знаків, витягають згадані додаткові дані з вектора (к), що представляє відповідні позиції.
6. Спосіб за п.5, що відрізняється тим, що водяний знак (W2), який визначається в одній зі згаданих позицій зі знаком, що відрізняється від знака в інших позиціях, забезпечує еталон для згаданого вектора (к).
7. Спосіб за п.5, що відрізняється тим, що водяний знак (W1), який визначається в одній зі згаданих позицій, відрізняється від водяного знака, що визначається в інших позиціях, і забезпечує еталон для згаданого вектора (к).
8. Спосіб за п.5, що відрізняється тим, що етап виявлення вставленого водяного знака (W2 ') включає визначення кореляції між інформаційним сигналом і зміщеними версіями згаданого заздалегідь визначеного водяного знака (W2), причому вектор (вектора) задають тієї зміщеною версією (версіями ), для якої згадана кореляція перевищує задану межу величину.
9. Спосіб за п.5, що відрізняється тим, що вставлений водяний знак (W2 ') має розміри менше, ніж розмір інформаційного сигналу, причому спосіб містить етап, на якому розділяють інформаційний сигнал з вставленим водяним знаком на подсігнали, що мають згадані розміри, підсумовують згадані подсігнали і визначають вектор (к), на який вставлений водяний знак (W2 ') зміщений відносно заздалегідь визначеного водяного знака (W2), що має ті ж розміри.
10. Пристрій для вставки додаткових даних (К) в інформаційний сигнал (Р), що містить засоби для вставки одного або більше заздалегідь визначених водяних знаків (W2) в інформаційний сигнал, що відрізняється тим, що згадані кошти для вставки виконані з можливістю вставки згаданих водяних знаків в різних позиціях в інформаційний сигнал, причому вектор (к) подає відповідні позиції згаданих водяних знаків для індіцірованія згаданих додаткових даних (к).
11. Пристрій для виявлення додаткових даних в інформаційному сигналі, що містить засоби (24-29) для виявлення одного або більше вставлених водяних знаків (W2 '), що відрізняється тим, що згадані кошти для виявлення включають в себе засоби (24-28) для визначення відповідних позицій згаданих виявлених водяних знаків, причому пристрій додатково містить засіб (29) для отримання згаданих додаткових даних зі згаданого вектора (к), що представляє згадані відповідні позиції.
12. Пристрій для запису інформаційного сигналу, що містить засоби для відключення запису сигналу в залежності від додаткових даних, вставлених в згаданий відеосигнал, причому пристрій містить пристрій для виявлення згаданих додаткових даних по п.11.
13. Пристрій для відтворення інформаційного сигналу, що містить засіб для вимкнути функцію сигналу в залежності від додаткових даних, вставлених в згаданий відеосигнал, причому пристрій містить пристрій для виявлення згаданих додаткових даних по п.11.