Г Ф Конахович - Комп'ютерна стеганографія теорія і практика - страница 28

Страницы:
1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51 

123.482

26

150.923

27

184.461

28

225.452

29

275.553

ЗО

 

Рис.5.45. Прогресія т при параметрі а = 0.1

 (М.77)

Програмний модуль (М.77) визначає   індексну   функцію   для толді := | for і = 1 rows

аргументу t. У пропонованому ва­ріанті остання є визначеною і для 0 < t < 1. Приклади індексних функ­цій при різних значеннях параметру а наведено на рис.5.41.

4) На наступному етапі необхідно провести ДКП трансформованих блоків зображення. Очевидно, що час, необхідний для обчислення матриці ДКП одного блоку зображення за формулами (5.18), суттєво залежить від розмірності блоку. Для обчислення повної матриці ДКП використовуються два вкладених цикли перебирання індексів елементів матриці, загальна

2

кількість яких дорівнює N (див., наприклад, (М.47) і (М.49)). Для обчислення одного еле­менту матриці необхідно провести обчислення двох вкладених підсумовувань ( N операції), всередині яких обчислити аргументи двох косинусів (2-6 операцій), власне косинуси (2-1 операції) і два добутки. Крім того, одержаний по цьому результат (позначимо його як £Е)

С(оК(у)

помножується на коефіцієнт

V2N

-EE - ще 5 операцій. Отже, загальна кількість кроків

або арифметико-логічних операцій, необхідних для розв'язання даної обчислювальної про­блеми (формування матриці ДКП одного блоку) складає:

О (N) = N [1]-[5+N [2]-(2-6+2-1+2)]= N [3]-( 5+16-N [4] ). (5.43)

Відповідним чином зростає і час обчислення алгоритму. На рис.5.46 наведено графік залежності часу обчислення за допомогою модуля (М.47) ДКП блоку зображення розмірністю NxN від значення N, одержаний за допомогою обчислювальної системи наступної конфігурації: процесор Intel Pentium 4HT 2.4 ГГц, FSB 4x200 МГц, Dual DDR SDRAM 2x256 Мб.

У нашому випадку, при проведенні прямого ДКП за моду­лем (М.47), час обчислення всіх Хо = 4 блоків склав би більше ніж півгодини.

Значно більш ефективний варіант обчислення коефіцієнтів ДКП реалізується через добуток матриць. При такому підході формула прямого ДКП може бути записана у наступному вигляді

П = С-Z T, (5.44)

де П - матриця коефіцієнтів ДКП; Z - трансформаційна матриця ДКП розмірністю NxN, елементи якої визначаються по формулі (5.45); C - матриця яскравостей пікселів зображення розмірністю

NxN; Z    - транспонована мат­риця Z.

Рис.5.46. Залежність тривалості T проведення ДКП блоку від його розмірності N при використанні для обчислення модуля (М.47)

Со,у

1

npu и = 0, 0 < у < N-1; ■>-(2+1) 1

npu 1 < и < N-1, 0 < у < N-1.

-cos

п-и-(2+1) 2-N

(5.45)

У (5.44) результатом добутку матриць Z-C є матриця розмірністю NxN, чиї стовпці містять результат одномірного ДКП стовпців C. Добуток одержаної матриці на Z дозволяє одержати двомірне ДКП. Оскільки Z є ортонормованою матрицею дійсних елементів, транс­понована матриця є еквівалентною зворотній: Z = Z . Таким чином, формула зворотного ДКП:

S = Z-1-n-Z = ZT-Z . (5.46) При добутку двох матриць "ціна" обчислення одного елементу результуючої матриці складає N добутків і N підсумовувань, а при обчисленні повної матриці - (N+N)N2 = 2-N3 . Оскільки у (5.44),(5.46) присутні по два добутки, обчислення матриці П міститиме 4-N кроки:

О' (N) = 4-N (5.47)

Порівняно з (5.43) це суттєве підвищення швидкості обчислення. Так, у випадку N = 8 час обчислення скорочується приблизно у 32 рази, при N = 128 виграш вже становить майже 512. Програмний модуль прямого ДКП трансформованих блоків зображення - (М.78).

(М.78)

Графік залежності часу обчислення ДКП одного блоку за допомогою модуля (М.78) наве­дено на рис.5.47.

5) Для зручності вбудову­вання, розгорнемо масив ЦВЗ у вектор, використовуючи програм­ний модуль (М.56). Очевидно, що загальна кількість елементів одер­жаного вектора Wvec дорівнюва­тиме Xw := A-Z; Xw = 1024.

6) Обрання НЧ-коефіці­єнтів ДКП з матриці Пь прово­дитимемо виходячи з того, що для елементів матриці, які знаходять­ся вище побічної діагоналі (НЧ-коефіцієнти) сума індексів є мен­шою за N+1, а для тих, що нижче (ВЧ-коефіцієнти) - більшою за N+1. Введемо мітки L і H, які визначатимуть діапазон суми

індексів. Елемент матриці Пь, сума індексів якого не виходить за встановлені межі, обира­тиметься для вбудовування. Програмний модуль пошуку мітки H при заданій мітці L (М.79)

Рис.5.47. Залежність тривалості T проведення ДКП блоку від його розмірності N при використанні для обчислення модуля (М.78)побудований на основі підрахунку кількості елементів, сума індексів яких задовольнятиме поставленій вимозі невиходу за межі (L, H). Верхня межа H збільшується до моменту, коли загальна кількість вказаних елементів не пере­вищить загальну кількість Xw елементів вектора wvec. Наприклад, для L := 40 модуль (М.79) повертає значення H = 62, що дозволяє вико­ристати для приховування 1050 НЧ-коефіцієнтів кожної з матриць Пь.

(М.79)

(М.80)

(1.N)

(N.1)

Вбудовування ЦВЗ до обраних НЧ-коефіцієнтів блоків зображення реалізує програм­ний модуль (М.80). Якщо індексна функція ind від абсолютного значення d НЧ-коефіцієнту відповідає j-му елементу вектора ЦВЗ (ind(d) = WveCj), проводиться пошук елементів прогресії

т, на інтервалі між якими знаходиться поточне значення d. Якщо останнє є занадто близьким до однієї з границь інтервалу (що знижує стійкість створюваної стеганосистеми), коефіцієнту присвоюється нове значення - перший елемент вектору елементів, розподілених за нормальним законом при математичному сподіванні (t1 + t2)/2 і стандартному відхиленні (t2 - t1)/13. Зазначене стандартне відхилення дозволяє системі бути адаптованою до різних інтервалів , Tj+i), а також запобігти випадку, коли й нове значення коефіцієнту знову виявиться близь­ким до границі інтервалу. У свою чергу, обрання випадкового числа з визначеного інтервалу (а не, наприклад, значення, що відповідає середині інтервалу) унеможливлює утворення підозрі­лих скупчень однакових значень коефіцієнтів ДКП.

Якщо індексна фун­кція ind(d) Ф Wveq, коефіці­єнту присвоюється випадко­ве значення з найближчого інтервалу - , Tj+1), при i < 2; і (Tj-2, Tj_i), при i > 2.

На рис.5.48 схема­тично зображено масиви ДКП чотирьох блоків зобра­ження - темні шумоподібні діагональні смуги у верхніх лівих кутах блоків відпові­дають модифікованим НЧ-коефіцієнтам, світлі елемен­ти масивів - немодифікова-ним.

7) Для реалізації се-редньочастотного алгоритму Фрідріх необхідно для кож­ного елементу ЦВЗ згенеру-вати послідовність рівномі­рно розподілених на інтер­валі [0, 1] ПВЧ.

За основу генератора ПВЧ можна вико­ристати ЛРЗЗЗ, реалізований програмним моду­лем (М.57), який генерує дійсні числа, рівномірно розподілені в інтервалі [1, 2d]. Для одержання ПВЧ, рівномірно розподілених на інтервалі [0, 1 ], достатньо розділити одержаний вектор Vrnd() на значення максимального його елементу (2d), що й виконано у модулі (М.81). Останній дозволяє

сформувати для кожного з XW = Nvv символів ЦВЗ ПВП довжиною 2d елементів. Початковий стан (змінна start) генератора ПВЧ для 1-го символу ЦВЗ обрано рівним 74. В подальшому він визначатиметься значенням елементу ПВП, який має індекс 74. У ході опрацювання методу

 

 

П2

о4А

Рис.5.48. Масиви модифікованих (зображено чорним) НЧ-коефіцієнтів ДКП

(М.81)

встановлено, що алгоритм розширення спектру є більш надійним, якщо відношення Тому попередньо приймаємо d := log(4XW, 2), d = 12. При цьому 2d = 4096.

-> 4.

w

Кількість СЧ-коефіцієнтів ДКП блоків зображення, до яких проводитимемо вбудову­вання ЦВЗ, приймемо рівною Xnmid := 4080.

Елемент ЦВЗ, який дорівнює представлятимемо випадковим цілим числом з

інтервалу [1, 7], а елемент, що має значення       - випадковим цілим з інтервалу [10, 16].

З урахуванням заданих вище початкових даних, проведемо виокремлення сегменту T|j, що представлятиме j символ ЦВЗ, для чого скористаємося програмним модулем (М.82), в якому парою функцій round(runif (...)) здійснюється генерування випадкового за рівномірним законом цілого числа на зазначеному інтервалі. За допомогою функції submatrix(...) викону­ється виокремлення сегменту довжини Xornid з вектору

Розділимо ЦВЗ на Xc частин, кожну з яких представимо у вигляді окремої суми (5.42). Дана процедура реалізована програм­ним модулем (М.83).

Результатом обчислення   (М.83) є вектори Sprb, елементи яких повинні мати гау-сівський розподіл з ну­льовим математичним очікування   і одиничним стандартним відхиленням. У нашому випадку для кож­ного блоку були одержані наступні результати:

(М.82)

mean

jSpr

stdev

(Spr

0.013

 

1.015

0.002

 

0.973

-0.001

 

0.976

-0.012

 

0.991

(М.83)

(М.84)

8) Обрання СЧ-коефіцієнтів з матриці Qb будемо проводити виходячи з того, що для елементів матриці, які формують побічну діагональ, сума ін­дексів дорівнює N+1, сама ж діагональ складається з N елементів. Введемо мітки L' і H', які визначатимуть діапа­зон суми індексів, потрапляння у який відноситиме розгляданий СЧ-коефіці-єнт до розряду тих, в які проводити­меться вбудовування векторів Sprb. При XQmid = 4080, N = 128 одержано

результати: L' = 111 , H' = 147, що робить доступними для вбудовування 4174 СЧ-коефіцієнтів кожної з матриць Qb.

Вбудовування елементів векторів Sprb до обраних СЧ-коефіцієнтів блоків контейнера виконує програмний модуль (М.85). Схематичне зображення результату вбудовування (як відмінності від оригінальних матриць Пь) приведене на рис.5.49.

L' <- N Н1 <- N + 2 Ebit <- N

While  Ebit < Nfimjd Xbit-ь- Ibit+ 2 (N

j*- j+ 1

L" 4- L" - 1

H' <- H' + 1

Рис.5.49. Масиви модифікованих (зображено чорним) НЧ і СЧ-коефіцієнтів ДКП

(М.85)

9) До модифікованих матриць Плль застосовуємо зворотне ДКП (модуль (М.86)) і на основі відтворених блоків формуємо загальний масив контейнера (модуль (М.87)). Контейнер із вбудованим ЦВЗ зображено на рис.5.50.

(М.86)

Рис.5.50. Зображення із вбудованим ЦВЗ при а = 0.1 і у = 1

(М.87)

10) При видобуванні ЦВЗ контейнер S* « S попередньо розбивається на блоки розмірністю N*xN*, N* := N, загальною кількі­стю X*c := Xc (модуль (М.55) з відповідною підстановкою вказаних змінних).

Страницы:
1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51 


Похожие статьи

Г Ф Конахович - Оцінка ефективності систем захисту інформації в телекомунікаційних системах

Г Ф Конахович - Комп'ютерна стеганографія теорія і практика