SECRET VE COVER GÖRÜNTÜLER KULLANILARAK SHARE GÖRÜNTÜLERİNİN ÜRETİLMESİ

Yrd. Doç. Dr. Mustafa Ulutaş tarafından önerilen metot da ilk Share görüntüsü birinci cover görüntünün pixel renk değerleri esas alınarak oluşturulmaktadır. Her aşamada elde edilen pixelin 90o saat yönünün tersine dönmüş halindeki konuma da dönmüş pattern yerleştirilecektir. Buda şu anlama gelir ki ilk share üretilirken aslında 90o dönmüş share de elde edilmektedir.

Shareler elde edilirken kullanılan görüntüler NxN lik kare boyutunda olmalı ve her bir görüntü halftone biçimine dönüştürülmelidir. Share üretim süreci boyunca kullanılacak olan  Pb ve Pw diye bahsedilecek olan  pattern grupları ilkin  tanımlanır. Pattern grupları Share lerin temel bileşenleri olacaktır.

Her bir Pb patterninde 1 beyaz ve 3 siyah pixel bulunmakta ve Her bir Pw patternin de ise 2 beyaz ve 2 siyah pixel bulunmaktadır. Pw için 6 farklı Pb için 4 farklı kombinasyon mevcuttur bu kombinasyonlar Şekil -4.5 ve Şekil -4.6 da gösterilmiştir.

Şekil -4.5

Şekil -4.6

Cover ve Secret görüntülerin her bir pixelleri Shareler de 4 alt pixelle temsil edildiği yukarıda belirtilmişti. İşte bu 4 alt pixele çalışma anlatılırken genişletilmiş blok denecektir. Sharelere ait genişletilmiş bloklar Cover görüntülerdeki ilişkili pixeller dikkate alınarak Pb ve Pw patternlerinden seçilecektir.

Örneğin, Cover görüntünün herhangi bir pixeli siyah ise o pixelin koordinatıyla ilişkili olan Share görüntünün genişletilmiş bloğu Pb pattern kümesinden seçilir. Aynı şekilde eğer Cover görüntünün bir pixeli beyaz ise ilişkili koordinatta ki share in genişletilmiş bloğu Pw pattern kümesi içerisinden seçilecektir.

PATTERN SEÇİMİ İÇİN UYGUN KOORDİNATLARIN BELİRLENMESİ

İlk Share oluşturulurken 90o saat yönünün tersine dönmüş share inde oluşturulması gerektiği unutulmamalıdır. İlerde ikinci share in oluşumu esnasında görüleceği gibi ilk share ve dönmüş share aynı zamanda ikinci share in oluşumunu da etkilemektedir. Çünkü yukarıda da belirtildiği gibi Secret görüntüler bu share lerin üst üste getirilmesiyle elde edilmektedir.

Bundan dolayı ilk share ve dönmüş share in oluşumu ikinci share görüntünün oluşumunu da etkilemektedir. Aşağıda verilen Şekil -5.1 de ilk share in oluşumu sırasında her bir iterasyonda elde edilecek genişletilmiş bloklar iterasyon sayısına ve kendi aralarındaki sıraya göre belirlenmiştir.

Blokların içindeki 2 haneli rakamın ilki iterasyon sayısını verir. İkinci rakam ise her bir iterasyonda değerlendirilecek pixelin sıra numarasını vermektedir. Örneğin 2.3 demek 2.iterasyon da değerlendirilen 3 nolu pixeli ifade etmektedir.

Şekil -5.1: Share -1 ve dönmüş share in pattern seçme sürecinde her iterasyon da  elde edilen koordinatları

Yukarıdaki şekillere dayanarak aşağıda verilen şekilde bir tane 16×16 lık bir birinci share ve onun 90o saat yönünün tersine dönmüş şekli bulunmaktadır. Bu şekil aynı zamanda ilk share in genişletilmiş bloklarının dönmüş share üzerinde izdüşümünü de vermektedir.

Şekil -5.2: Share 1 görüntüsünün 90 derece saat yönünün tersine döndürüldüğü zaman patternlerin aynı şekilde döner

Pattern seçme sürecinde Secret görüntünün büyüklüğü kadar bir kontrol matrisi tanımlanıyor. Bu matris tüm pixellerinin henüz işlenmemiş anlamına gelen false ile setleniyor. Seçme sürecinde her bir pixel işlendiği zaman true olarak setleniyor.

Böylece diğer iterasyonlar da işlenecek pixelin ilgili kontrol matrisindeki değeri false ise işlenir true ise işlenmez. Kontrol matrisi sayesinde secret ve cover görüntülerde ki pixeller tekrar tekrar değerlendirilmeye tabi tutulmaz.

Secret ve Cover görüntülerdeki tüm pixelleri işlemek için bir süreç tanımlanır. Bu süreç ilk olarak en soldaki sütundan satır boyunca tarayarak işlem yapar. Koşan sürecin her iterasyonu sonucu n tane pixel işlenir. Bu n dönme açısına bağlı olarak değişir. Örneğin ilk share eğer 90 derece döndürülürse her adımda 4 pixel işlenir.

İlk share 180 derece döndürülürse 2 pixel ve 270 derece döndürülürse de 4 pixel her adımda işlenir. Aşağıda verilen şekilde 4*4 lük bir resim için gezinen sürecin tüm pixelleri sırasıyla işlenişi resmedilmiştir.

Şekil -5.3:Pattern seçme sürecinde her adımda taranan pikseller

 

Seçme sürecinde her adımda elde edilen koordinatlar Secret ve Cover görüntülerin ilgili pozisyondaki koordinatlarını vermektedir. Böylece pattern seçme süreci için gerekli pattern koordinatları elde edildi. Çalışmada her adımda değerlendirilmesi gereken pixellerin koordinatlarını elde etmek için aşağıdaki kod kullanıldı.

 

for (int i = 0; i < (Boyut) / 2; i++)

 

{

 

for (int j = 0; j < (Boyut – 1 – count); j++)

 

{

 

 

if (T_Kontrol_Matrisi[i + j, i] == false)

 

{

 

//Gerekli Diğer İşlemler

 

 

T_Kontrol_Matrisi[i + j, i] = true;

 

}

 

if (T_Kontrol_Matrisi[Boyut-1-i, i+j] == false)

 

{

 

//Gerekli Diğer İşlemler

 

T_Kontrol_Matrisi[Boyut – 1 – i, i + j] = true;

 

 

 

}

 

if (T_Kontrol_Matrisi[Boyut – 1 – j – i, Boyut – 1 – i] == false)

 

{

 

//Gerekli Diğer İşlemler

 

 

T_Kontrol_Matrisi[Boyut – 1 – j – i, Boyut – 1 – i] = true;

 

 

}

 

 

 

if (T_Kontrol_Matrisi[i, Boyut – 1 – i – j] == false)

 

{

 

//Gerekli Diğer İşlemler

 

T_Kontrol_Matrisi[i, Boyut – 1 – i – j] = true;

 

}

 

// İkinci Share in üretimi için gerekli işlemler

 

count+=2;

 

}

 

}

 

Mehmet Salih Deveci

Bilgisayar Mühendisi

Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s