sayısal imgelerin uzay ve frekans düzlemi

SAYISAL İMGELERİN UZAY VE FREKANS DÜZLEMİ BİLEŞENLERİ
KULLANILARAK DAMGALANMASI
Mustafa ORAL1
1,2
Murat FURAT2
Elektrik ve Elektronik Mühendisliği Bölümü, Mustafa Kemal Üniversitesi, Hatay
1
e-posta: [email protected]
2
e-posta: [email protected]
Anahtar Sözcükler: İmge Damgalama, Görüntü İşleme, Sayısal Ürünlerde Telif Hakları ve Güvenlik
ABSTRACT
This paper presents a watermarking method that will
enable to protect the owners’ rights of digital images,
which are easily copied and changed in the electronic
media. The digital image is divided into blocks and the
energy and frequencies of each block are calculated
using DCT. Selected AC frequencies are modified as
additive or subtractive with the desired weight by
comparing energy and sum of DC coefficient and
selected AC frequencies of the blocks individually. The
watermark data can be copyright information, owner
information or a digital logo. The results of
experiments showed that, the embedded watermark
data is resistant to picture cropping and lossy JPEG
compression attacks. In our scheme, a binary logo
image has been chosen as watermark.
yayınlandığı site adresi gösterilebilir. Görünmez bir
şekilde sayısal bir imgeye damgalanan filigranda
uygulama yeri, kullanılan algoritma ve anahtarlar,
sadece imgenin içine filigranı damgalayan yetkili kişi
tarafından bilinir ve buna göre geri çıkarılır.
1. GİRİŞ
Sayısal imgelerde damgalanan gizli filigranların çeşitli
resim işleme saldırılarına karşı güvenliğinin
sağlanması ve bu saldırılara karşı dayanıklı olması
amaçlanır [1-6]. Filigran, saldırıya uğrayan imgeden
tanınabilir bir benzerlikle çıkarılabilmelidir. Bunu
sağlarken damgalama sonrası orijinal imge üzerinde
oluşacak bozulma en az düzeyde tutulmalıdır. Ancak
damgalanan bilginin dayanıklılığının artırılması
bozulmanın da artmasına yol açmaktadır. Dolayısıyla,
damgalama sonucunda oluşan imgedeki bozulma ile
damgalanan filigranın resim işleme saldırılarına karşı
dayanıklılığı arasında ters orantı bulunmaktadır.
Internet teknolojilerinin getirdiği hız ile yazılım
alanındaki yaşanan ilerlemeler, sayısal ortam
içeriğinin, kaliteden ödün vermeksizin, sınırsız
kopyalanabilmesine, kolaylıkla değiştirilebilmesine ve
Internet üzerinden hızla dağıtılabilmesine olanak
sağlamıştır [1]. Dolayısıyla, sayısal ortam ürünleri
olan imge, ses, video gibi çalışmalar üzerindeki telif
haklarının korunması ve güvenliğinin sağlanması
ciddi bir sorun olarak ortaya çıkmıştır. Bu sorunun
çözümü için önerilen yöntemlerden biri, bu ürünlerin
damgalanmasıdır (watermarking). Damgalama ile
sayısal ortama aktarılan bu ürünlere; ürün sahibi
bilgisi, telif hakları, yapım yılı veya filigran gibi
bilgiler eklenebilmektedir.
Damgalama algoritmaları, çalıştığı düzleme göre ikiye
ayrılır. Uzay düzleminde (Spatial Domain) yapılan
damgalama işlemlerinde, imge pikselleri üzerinde
değişiklikler
doğrudan
yapılarak
damgalama
gerçekleştirilir. Frekans düzleminde (Frequency
Domain) ise DCT (Discrete Cosine Transform), DWT
(Discrete Wavelet Transform), DFT (Discrete Fourier
Transform), FFT (Fast Fourier Transform) gibi
dönüşüm araçları kullanılarak taşıyıcı imge öncelikle
frekans düzlemine taşınır. Elde edilen frekans
bileşenlerinin değiştirilmesiyle yapılan damgalamanın
ardından ters dönüştürme uygulanarak damgalanmış
ürün elde edilir.
Sayısal imgelere filigran damgalama işlemleri
“görünür” ve “görünmez” olarak iki ayrı şekilde
yapılır [2]. Görünür bir şekilde yapılan filigran
damgalama yöntemlerinde filigran sayısal imgenin bir
bölgesine kolaylıkla tespit edilebilecek şekilde
yerleştirilir. Görünür damgalamaya örnek olarak,
televizyon ekranındaki kanal logosu ve Internet’te
yayınlanan imgelerin bir köşesinde yer alan
Bu çalışmada, bloklara ayrılmış taşıyıcı imgenin uzay
düzlemindeki enerjisi ile frekans düzlemindeki DCT
bileşenleri arasında kurulan ilişkiye dayalı yeni bir
filigran damgalama yöntemi önerilmiştir. Önerilen
yöntemin dayanıklılığı JPEG sıkıştırma ve kesme
(cropping) saldırılarına karşı test edilmiştir.
Çalışmanın bütününde filigran ikilik (binary) bir logo
olarak seçilmiştir.
2. MATERYAL VE YÖNTEM
Görünmez filigran damgalama uygulamaları genel
olarak ikiye ayrılır. Filigranın geri elde edilmesi için
orijinal imgenin kullanılmasına dayanan yönteme “kör
olmayan damgalama” adı verilir [9]. Orijinal imgenin
kullanılmadan filigranın çıkarıldığı yöntem ise “Kör
damgalama” olarak adlandırılır. Bunlardan başka
geliştirilen bir yöntemde ise damgalanmış imgeden
filigranın geri elde edilmesinde orijinal imge ve/veya
orijinal filigran kullanılabilmektedir [8].
Bu çalışmada önerilen yöntemle, damgalanan imgeden
filigranın geri elde edilmesinde orijinal imge
kullanılmamakta, yani kör damgalama yapılmaktadır.
2.1. Damgalama Algoritması
Damgalama yöntemi, taşıyıcı imgenin uzay
düzleminde enerjisinin hesaplanması, frekans
bileşenlerinin bulunması ve elde edilen değerler
arasında yapılan karşılaştırma sonucu frekans
katsayılarının değiştirilmesinden oluşmaktadır. Bu
amaçla imge önce 8×8 piksel boyutlarında bloklara
ayrılır. Her bloğu oluşturan piksel yoğunlukları
kullanılarak blokların enerjisi Denklem 1 ile
hesaplanır.
E=
7
2
7
∑ ∑ [ f (x , y )]
(1)
x =0 y =0
Frekans düzlemine dönüştürme aracı olarak görüntü
işleme uygulamalarında sıkça kullanılan DCT
(Discrete Cosine Transform) seçilmiştir [1, 2, 7]. DCT
ile her blok ayrı ayrı frekanslarına ayrılır (Denklem 2).
C(u, v) = α (u )α (v)
7
7
x=0
y =0
⎛ (2x + 1)uπ ⎞ ⎛ (2 y + 1)vπ ⎞
⎟ cos⎜
⎟
2×8 ⎠ ⎝ 2×8 ⎠
∑∑ f (x, y)cos⎜⎝
(2)
Burada f(x,y) piksel yoğunluğunu, C(u,v) ise
hesaplanan frekansın katsayısını verir. x, y, u ve v 0
ile 7 arasında değer alır ve α(u) ile α(v) aşağıdaki gibi
hesaplanır.
⎧
⎪
⎪
α (i ) = ⎨
⎪
⎪⎩
1
,
8
i = 0 için
2
,
8
i = 1,2,.....7 için
(3)
8×8 piksel boyutlarındaki bir imge bloğu DCT
kullanılarak frekanslarına ayrıldığında, 63 AC bileşen
ile 1 DC bileşen elde edilir. Şekil 1’de zikzak
numaralandırılmış bir imge bloğu görülmektedir. 0 ile
numaralandırılan hücre DC, diğerleri AC bileşenleri
göstermektedir.
Damgalamada kullanılacak frekanslar, damgalama
sonucu imgede oluşacak bozulma ve filigranın
saldırılara karşı dayanıklılığı ile yakından ilgilidir.
İnsan gözünün imgelerin alçak frekanslarında yapılan
değişikliklere karşı daha duyarlı olmasından dolayı
filigranın damgalanmasında alçak frekans bandındaki
bileşenler
seçilmemelidir.
Kayıplı
sıkıştırma
algoritmalarında (örneğin düşük kalitede JPEG
sıkıştırma) yüksek frekanslı bileşenler göz önünde
bulundurulmamaktadır. Dolayısıyla, damgalama için
yüksek frekans bandında yapılacak değişiklikler,
kayıplı sıkıştırma algoritmalarında filigran bilgisinin
önemli oranda kaybolmasına neden olmaktadır.
Sonuç olarak, filigranın damgalanmasında orta frekans
bandının seçimi en uygun olmaktadır [1]. Şekil 1’de
gri renk ile vurgulanmış hücreler orta frekans bandı
olarak tespit edilmiştir. Yapılan testler sonunda koyu
renk ile belirtilen 16, 19, 24, 25 numaralı frekanslar bu
çalışmada damgalama işlemi için kullanılmıştır.
0
1
5
6
14
15
27
28
2
4
7
13
16
26
29
42
3
8
12
17
25
30
41
43
9
11
18
24
31
40
44
53
10
19
23
32
39
45
52
54
20
22
33
38
46
51
55
60
21
34
37
47
50
56
59
61
35
36
48
49
57
58
62
63
Şekil 1. Zikzak numaralandırılmış imge bloğu
Damgalanan imgenin bir bölümünün kesilmesi ya da
değiştirilmesi sonucu o bölümdeki filigran bilgisi
tamamen kaybedilmektedir. Bunu önlemek amacıyla
damgalama öncesinde filigrana bir anahtar sayıya
bağlı olarak istenen miktarda permutasyon uygulanır.
Böylece kesme ya da değiştirilme sonucu kaybedilen
filigran bilgisi genele yayılarak daha dayanıklı bir
damgalama gerçekleştirilir. Permutasyon işleminin
ardından filigran imge ile eşit sayıda bloklara ayrılır.
8×8 piksel boyutunda imge bloğu
Enerji Hesaplama
Kullanılacak ağırlık
ile AC frekanslar
Kullanılacak
filigran bilgisi (0,1)
DCT Dönüştürme
Damgalama
İşlemi
Ters DCT
Dönüştürme
Filigran damgalanmış imge bloğu
Şekil 2. Filigran damgalama algoritması
λ
λ
λ
λ
f=1
f=0
f=1
f=0
λ
f=1
….
.…
R-2λ
R-λ
R+λ
R
R+2λ
R+3λ
Şekil 3. Damgalama algoritması için oluşturulan dönüşüm cetveli
Şekil 2’de damgalama algoritmasının blok diyagramı
görülmektedir. Taşıyıcı imge ile eşit sayıda bloklara
ayrılan filigranın her bloğundaki bilgi, imgenin bir
bloğuna damgalanmaktadır.
Şekil 3’de damgalama işlemi için oluşturulan
dönüşüm cetveli görülmektedir. Dönüşüm cetvelinde
f ikilik filigran bilgisini, λ damgalama ağırlığını, R ise
imge
bloğunun
enerjisinin
karekökünü
göstermektedir. λ kadar birimlere ayrılan dönüşüm
cetvelinin her birimini ardışık olarak filigran bilgisi
temsil eder. Buna göre, her blokta DC ile damgalama
için seçilen AC frekansın katsayıları toplamının
oluşturulan cetvel üzerindeki yeri tespit edilir.
Dönüşüm cetvelinde, DC ile seçilen AC toplamının en
yakın filigran bilgisinin temsil edildiği birimin orta
noktasına gelecek şekilde yeni AC katsayısı
hesaplanır. Böylece görüntü frekanslarında yapılan
değişiklik 0-λ arasında olacağından, sabit ağırlıkla
yapılan damgalama yöntemlerine göre daha az
bozulma
ile
dayanıklı
bir
damgalama
gerçekleştirilecektir. Damgalama sonunda hesaplanan
yeni frekansların bulunduğu imge bloklarına ters DCT
uygulanarak yeni piksel yoğunlukları hesaplanır
(Denklem 4).
7
7
x =0
y=0
⎛ (2x + 1)uπ ⎞ ⎛ (2 y + 1)vπ ⎞
⎟ cos⎜
⎟
2×8 ⎠ ⎝ 2×8 ⎠
∑∑C′(u, v)cos⎜⎝
f ′(x, y ) = α (u )α (v)
(4)
Burada f ′(x, y ) imgenin yeni piksel yoğunluğunu,
değiştirilmiş
frekans
bileşenini
C ′(u, v)
göstermektedir. x, y, u, v 0 ile 7 arasında değer alır ve
α(u) ile α(v) Denklem 3 ile hesaplanır.
2.2. Filigranın Geri Elde Edilmesi
Filigranın geri elde edilmesinde damgalama işlemi
için seçilen AC frekanslar, damgalama ağırlığı ve
filigranın permutasyonunda kullanılan anahtar sayı ile
permutasyon
sayısı kullanılacaktır. Şekil 4’de
filigranın geri çıkarılması için gerekli algoritmanın
blok diyagramı görülmektedir.
Filigranın
imgeden
geri
elde
edilmesinde,
damgalamada olduğu gibi, ilk olarak imge 8×8 piksel
boyutlarında bloklara ayrılarak her bloğun frekansları
ile enerjisi hesaplanır. Elde edilen değerler ve
damgalama ağırlığı kullanılarak Şekil 3’deki dönüşüm
cetveli tekrar oluşturulur. Bu cetvel üzerinde her
bloğun DC katsayısı ile filigranın aranacağı AC
frekansın katsayısının toplamının cetvel üzerinde
bulunduğu birim, oraya damgalanan filigran bilgisini
(0 veya 1) verir. İmge bloklarından elde edilen bu
bilgilerin bütünü permutasyon ile karıştırılmış ikilik
filigranı verir. Dolayısıyla, filigranın aslını elde etmek
için daha önce kullanılan anahtar sayı ile terspermutasyon uygulanır.
8x8 boyutunda filigran damgalanmış imge bloğu
Enerji Hesaplama
DCT Dönüştürme
Kullanılan
ağırlık ve AC
frekansları
Geri Elde Etme İşlemi
8x8 boyutunda imge bloğuna
damgalanmış filigran bilgisi
Şekil 4. Filigranı geri çıkarma algoritması
3. DENEYLER
Gri seviyeli 512×512 piksel boyutlarındaki Lena
imgesi deneyler için kullanılmıştır. Bu imgeye
128×128 piksel boyutlarında ikilik filigran (Şekil 5.b),
λ ağırlık miktarını temsil etmek üzere, dört farklı
ağırlıkla (λ=14, 18, 26 ve 38) damgalanmıştır.
Filigranın dayanıklılığının belirlenebilmesi için, JPEG
kayıplı sıkıştırması ve kesme işlemi değişik
ağırlıklarla damgalanmış imgelere uygulanmıştır.
Damgalanan imgenin kalitesi PSNR (Peak-to-Signal
Noise Ratio) ile ölçülmüştür (Tablo 1). Yüksek PSNR
değeri kalitenin yüksekliğini yani imgedeki
bozulmanın az olduğunu göstermektedir. Damgalama
ağırlığı arttırıldıkça imgede oluşan bozulma artmakta
dolayısıyla kalite de düşmektedir.
Damgalama Ağırlığı
PSNR
14
41,878
18
40,144
26
37,218
38
34,077
Tablo 1. Çeşitli ağılıklarla filigran damgalan Lena
görüntüsünün kalite ölçümü (PSNR)
İmgeye yapılan saldırılar sonucunda geri elde edilen
filigranların orijinaline benzerliği NC (Normalized
Correlation) kullanılarak ölçülmüştür.
kaybedilen bilgi, filigranın geneline bir gürültü olarak
yansımıştır (Şekil 4.d).
Lena
1
0.8
NC
0.6
0.4
0.2
0
0
10
20
30
40
50
60
70
80
(a)
(b)
(c)
(d)
90
JPEG Sıkıştırma Oranı
λ=14
λ=18
λ=26
λ=38
Çizelge 1. JPEG kayıplı sıkıştırması yapılan Lena
görüntüsünden elde edilen filigranların benzerlik
ölçümleri
Yöntemin JPEG kayıplı sıkıştırma saldırısına tepkisini
değerlendirebilmek amacıyla damgalanmış görüntüler
dokuz farklı oranda (%10-..-%90) sıkıştırılmış ve
filigran geri elde edilmiştir. Elde edilen filigranların
aslına benzerlikleri (NC) ile JPEG kalitesi arasındaki
ilişki
Çizelge
1’de
gösterilmiştir.
Grafik
incelendiğinde, damgalama ağırlığının artması ile
birlikte, imge içindeki filigranın JPEG kayıplı
sıkıştırmasına karşı gösterdiği direnç artmış, yani daha
yüksek benzerlikle geri elde edilmiştir.
Kesme sonunda
kalan bölüm (%)
100
90
80
70
60
50
40
30
20
10
NC
1,000
0,935
0,879
0,772
0,701
0,601
0,495
0,369
0,242
0,138
Tablo 2. Kesme saldırısı sonucu geri elde edilen
filigranların damgalama ağırlığına göre benzerlik
(NC) ölçümleri
Filigrana yapılan saldırılardan bir diğeri de kesme
işlemidir. Bu işlem için λ=14 ağırlıkla damgalanmış
Lena imgesi %10 ile %90 aralığında kesilmiş ve
imgenin kalan bölümünden filigranlar geri elde
edilmiştir. Elde edilen filigranların aslına benzerlikleri
ile saldırı sonrası imgenin kalan kısmının oranı
arasındaki ilişki Tablo 2’de gösterilmiştir. Tablo 2
incelendiğinde, kaybedilen filigran bilgisinin imgenin
kesilen bölümü ile doğru orantılı olduğu
görülmektedir. λ=14 ile damgalanmış ve %50
oranında kesilerek saldırıya uğratılmış Lena imgesi ve
bu imgeden geri çıkarılan filigran, orijinal imge ve
filigran ile birlikte Şekil 5’de görülmektedir.
Filigranın damgalama işlemi öncesinde permutasyona
uğratılması sonucu imgenin kesilen bölümünden
Şekil 5. a) Orijinal Lena imgesi, b) filigran,
c) Çevresinden 80 piksel kesilip siyah renk doldurulan
Lena imgesi, d) Kesilen imgeden elde edilen filigran
4. SONUÇ
Bu çalışmada sayısal ortama aktarılan imgeler
üzerindeki telif haklarının korunması amacıyla yapılan
filigran damgalama için bir yöntem önerilmiştir. Bu
yöntem ile görünmez olarak damgalanan imgeye
JPEG kayıplı sıkıştırması ve kesme işlemi, çeşitli
oranlarda uygulanarak saldırılar yapılmış, filigranın
dayanıklılığı test edilmiştir. Kullanılan filigran,
yüksek oranlarda JPEG sıkıştırılan imgelerden ve
önemli oranlarda kesilen imgelerden tanınabilir
benzerliklerde geri elde edilmiştir. Sonuç olarak,
önerilen yöntem ile filigran damgalanan imgelerde
JPEG ve kesme işlemlerine karşı dayanıklı bir
algoritma geliştirilmiştir.
5.
[1]
[2]
[3]
[4]
[5]
KAYNAKLAR
HSU, C.T. and WU, J.L., Hidden Digital
Watermarks in Images”, IEEE Transaction on
Image Processing, 8(1):58-68, 1999.
SHIEH, C.S., HUANG, H.C., WANG, F.H. and
PAN, J.S., “Genetic Watermarking Based on
Transform Domain Techniques”, Pattern
Recognition, 37: 555-565, 2004.
KUTTER, M., JORDAN, F. and BOSSEN, F.,
“Digital Signatures of Color Images using
Amplitude Modulation”, Proc. of SPIEEI97, pp.
518-526, 1997.
ULUDAĞ, U., GUNSEL, B., TEKALP, A.M.,
“Robust Watermarking of Busy Images”
Proceeding of SPIE Electronic Imaging 2001
Conference, Vol. 4314, 2001.
CHAN, C.K. and CHENG, L.M., “Security of
Lin’s Image Watermarking System”, The
[6]
[7]
Journal of Systems and Software, 62: 222-215,
2002.
EGGERS, J.J. and SU, J.K., “Performance of a
Practical blind Watermarking Scheme”,
Proceedings of SPIE, Vol.4314, 2001.
HERNANDEZ, J.R., AMADO, M. and PEREZGONZALEZ, F., “DCT-Domain Watermarking
Techniques for Still Images: Detector
Performance Analysis and a New Structure”,
IEEE Transaction on Image Processing, 9(1):
55-68, 2000.
[8]
[9]
KUTTER, M. and PETITCOLAS, F.A.P., “A
fair benchmark for image watermarking
systems”, Journal of Electronic Imaging, vol.
9(4): 445–455, 2000.
ARNOLD, M., SCHMUCKER, M. and
WOLTHUSEN, S. D., 2003. Techniques and
Applications of Digital Watermarking and
Content Protection, Artech House, 273, London.