Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Schemat układu ukrywającego znaki wodne
Obraz odcisku palca Obraz twarzy Klucz Obraz twarzy ze znakiem wodnym zawierającym odcisk palca Decyzja Odczyt znaku wodnego Odtworzony obraz twarzy Odtworzony odcisk palca Analiza odcisku palca Identyfikacja Nakładanie znaku wodnego np. na karcie chipowej … Chcąc ukryć dane w obrazie, należy dysponować dwoma plikami. Pierwszy z nich, to grafika, stanowiąca tzw. nośnik informacji, drugi - informacja przeznaczona do ukrycia, którą może być wszystko co da się umieścić w strumieniu bitów: tekst, grafika, itp. W wyniku połączenia nośnika z tajną informacją powstaje tzw. stego-obraz. 1
2
Ukrywanie/odczytywanie znaku wodnego
System ukrywania znaku wodnego obraz-nośnik znak wodny obraz z ukrytym znakiem wodnym klucz System odczytywania znaku wodnego znak wodny obraz z ukrytym znakiem wodnym klucz
3
Wprowadzanie szumu do obrazu
Przy wprowadzaniu szumu do pewnego poziomu obraz nie traci na jakości. Metoda opiera się na spostrzeżeniu, że niewielkie zmiany koloru lub jego odcienie nie są rozróżniane przez człowieka.
4
Steganografia Obraz nośnik Obraz ukrywany Obraz widoczny dla odbiorcy
5
Cechy znaku wodnego 5
6
Metoda LSB 6
7
Schemat kodowania LSB typu (3,3,3)
Metoda umożliwia osadzenie trzech bitów znaku w bloku trzybitowym przy zmianie co najwyżej trzech bitów obrazu-nośnika. Red Green Blue X2-drugi piksel obrazu 1 X1-pierwszy piksel Na rysunku został zilustrowany przebieg ukrywania przykładowego bajtu o wartości 102 (binarnie ). W kodzie ASCII odpowiada to małej literze „f”. Ukrycia dokonano w dwóch losowo wybranych pikselach X1 oraz X2 obrazu-nośnika. Każdy z pikseli jest opisany przez trzy bajty reprezentacji RGB. 7
8
Schemat kodowania LSB typu (3,3,3)
Red Green Blue X2-gi piksel obrazu 1 X1-szy piksel Podczas nakładania znaku wodnego modyfikowane są (zaczynając od najmłodszego) kolejne bity kolejnego bajtu danego piksela. Bity znaku wodnego ukrywane są także w kolejności od najmniej do najbardziej znaczących. 8
9
Odczytywanie znaku wodnego metodą LSB
Red Green Blue X1-szy piksel obrazu X2-gi piksel obrazu Odczytywanie znaku wodnego za pomocą schematu kodowania (3,3,3) odbywa się bez żadnych dodatkowych obliczeń – bezpośrednio z wybranych pikseli obrazu-nośnika są odczytywane kolejne bity znaku wodnego. Taki sposób odczytu zapewnia dużą prędkość odczytu danych, ale też dużą podatność na wszelkie zmiany obrazu-nośnika, czego rezultatem mogą być błędy odczytu i przekłamane dane znaku wodnego. 9
10
Obróbka transformaty obrazu Transformata zmodyfikowana
Nakładanie znaku wodnego w dziedzinie częstotliwości Obraz oryginalny F(u, v) Obróbka transformaty obrazu F’(u, v) f(x, y) Obraz wynikowy f’(x, y) Znak wodny Transformata Transformata zmodyfikowana 10
11
Nakładanie znaku wodnego z zastosowaniem transformacji DCT
W celu wykonania transformacji DCT obraz dzielony jest na macierze (bloki) o wymiarach 8 x 8 pikseli. Jeśli wymiary obrazu nie są wielokrotnością liczby 8, jego szerokość oraz wysokość jest powiększana do rozmiaru będącego wielokrotnością liczby 8. Przykładowy blok 5 x 5 Blok przeskalowany 11
12
Interpolacja dwuliniowa
Interpolacja dwuliniowa jest stosowana do zmiany rozdzielczości obrazu cyfrowego. Celem jest obliczenie nieznanej wartości funkcji f w punkcie P(x,y). Dane są wartości tej funkcji w czterech punktach 12
13
Transformacja DCT (przypomnienie)
Macierz bazowa transformaty DCT jest macierzą kwadratową stopnia N. Elementy tej macierzy są obliczane przy pomocy formuły: Macierz ma następującą postać: 13
14
Kwantyzacja Wartości komórek macierzy kwantyzacji Qm są z góry ustalone. Są one tak dobrane, aby najważniejsze informacje o obrazie, reprezentowane przez wysokie częstotliwości, zostały zachowane w niezmienionej postaci, natomiast mniej istotne informacje zostały wyzerowane. Kwantyzacja współczynników otrzymanych w wyniku prostej transformacji (DCT) jest określona wzorem: 14
15
Odwrotna kwantyzacja Operacja wykonywana dla odwrotnej transformaty (IDCT) jest określona wzorem: 15
16
Nakładanie znaku wodnego z zastosowaniem transformacji FFT
Operacje wykonywane w transformacji FFT są przeprowadzane w całości na liczbach zespolonych. Zwykły obraz cyfrowy zawiera tylko liczby całkowite, więc by możliwe było przetwarzanie dowolnego obrazu za pomocą transformacji FFT, musi on zostać przedstawiony za pomocą zbioru liczb zespolonych. Problem ten rozwiązuje się w ten sposób, że do części rzeczywistej liczby zespolonej wpisywana jest wartość piksela, część urojona natomiast jest zerowana. 16
17
Zastosowanie FFT w ukrywaniu znaku wodnego
Współczynniki Fouriera przed przesunięciem. Współczynniki Fouriera po przesunięciu. 17
18
Zastosowanie FFT w ukrywaniu znaku wodnego
Tak otrzymaną macierz zespolonych współczynników widmowych oznaczono symbolem W. Z niej w kolejnym kroku algorytmu wylicza się macierz amplitudy A oraz macierz fazy F 18
19
Zastosowanie FFT w ukrywaniu znaku wodnego
Znak wodny zostanie ukryty tylko w macierzy amplitudy, macierz fazy pozostaje nienaruszona. Będzie ona wykorzystana dopiero przy odwrotnej transformacji Fouriera.. Bity znaku wodnego są ukrywane na planie współśrodkowych okręgów o środku: Kolejne promienie ri są wyliczane wg wzoru: i są zaokrąglane do najbliższej liczby całkowitej 19
20
Zastosowanie FFT w ukrywaniu znaku wodnego
Dzielnik d określa, w której części macierzy (a co za tym idzie, w jakich częstotliwościach zostanie ukryty znak wodny. Gdy wartość d jest bliska 1, znak wodny zostanie ukryty w wysokich częstotliwościach. Większe wartości spowodują, że znak wodny zostanie ukryty w średnich oraz niskich częstotliwościach. Promień każdego kolejnego okręgu zwiększa się od swojego poprzednika o p pikseli. Jest to wartość tak dobrana, aby stosunek wytrzymałości znaku wodnego do jego pojemności był jak najbardziej korzystny. W drodze przeprowadzonych eksperymentów dobrano wartość p=2. Współrzędne y punktu leżącego na okręgu są wyznaczane z zależności: 20 Wynik operacji jest zaokrąglany do najbliższej liczby całkowitej
21
Zastosowanie FFT w ukrywaniu znaku wodnego
Wartości bitów znaku wodnego są ukrywane tylko w jednej ćwiartce każdego okręgu. Ćwiartka ta należy do obszaru D. W pozostałych ćwiartkach wartości te zostają powielone. Dzięki temu uzyskuje się dużą wytrzymałość znaku wodnego. Pojedynczy bit znaku wodnego jest ukrywany w macierzy czterokrotnie – w punktach Jeśli obraz-nośnik jest obrazem o 24-bitowej głębi kolorów, okrąg z ukrytymi bitami znaku wodnego jest powielany na każdą składową koloru. W takim przypadku każdy bit znaku wodnego zostanie umieszczony w obrazie-nośniku dwunastokrotnie. Zapewnia to dużą wytrzymałość tak ukrytego znaku wodnego kosztem pojemności obrazu-nośnika, w którym ten znak został ukryty.
22
Zastosowanie FFT w ukrywaniu znaku wodnego
Na rysunku przedstawiony został sposób, w jaki bity znaku wodnego są ukrywane w dwuwymiarowej macierzy amplitudy FFT. 22
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.