securecore - MCU Turkey

Transkript

securecore - MCU Turkey
Türkiye İşlemcisini Tasarlıyor
SECURE
2008 – Trakya Üniversitesi
Proje Danışmanı: Yrd. Doç. Dr. Nurşen Suçsuz
Proje Yetkilisi: Yrd. Doç. Dr. Deniz TAŞKIN
Proje Ekibi: Öğr. Gör. Cem Taşkın
ÖNSÖZ
Güvenliğin birincil öncelik olduğu günümüzde şifreleme algoritmalarının
güçlenmesine paralel olarak saldırı ve saldırgan sayısında da hızlı bir artış gözlenmektedir.
“Şifre olasılıklarının tümünün denenmesinin uzun süreler gerektirmesi” mantığına dayalı
bir sistem güvenliği, nereye saldırması gerektiğini bilen akıllı ataklara karşı çaresiz
kalmaktadır.
Video-şifreleme’nin geleneksel şifreleme yöntemlerinin video verisine bir
uygulaması şeklinde tanımlanması; elma-şekeri gibi bir isim tamlaması yapmaktan öteye
gidememektir. Veri tipine özel şifreleme ile akıllı ataklara karşı daha dirençli sistemler
tasarlanabilir. Kısmi şifreleme, veri tipine özel şifreleme yapma şansı tanımaktadır.
Secure projesi kapsamında akıllı saldırılara karşı güvenliği arttırmak için kısmi
şifreleme temelli algoritma kullanan bir çekirdek tasarlanmıştır.
1
TEŞEKKÜR
Geliştirdiğimiz
algoritmaların
değişik
donanım
birimleri
üzerinde
test
edilebilmesine ve böyle güzel bir amacı olan bir yarışmaya katılımcı olmamıza imkan
sağlayan Türk Bilişim Derneğine, Proje Direktörü M. Niyazi Saral’a ve proje sponsorlarına
teşekkür ederiz.
2
İÇİNDEKİLER
Önsöz .............................................................................................................................. 1
Teşekkür ......................................................................................................................... 2
Şekiller listesi ................................................................................................................. 5
Çizelgeler listesi ............................................................................................................. 7
Özet................................................................................................................................. 8
1. Giriş ............................................................................................................................ 9
2. MPEG video sıkıştırma metodu ................................................................................. 11
2.1. I çerçevesi .......................................................................................................... 12
2.1.1. Renk uzayı dönüşümü ve örnekleme ...................................................... 13
2.1.2. İç-çerçeve sıkıştırma ............................................................................... 15
2.1.2.1. Ayrık Kosinüs dönüşümü............................................................ 15
2.1.2.2. Nicelendirme ............................................................................... 17
2.1.2.3. Zig-Zag tarama ............................................................................ 19
2.1.2.4. Değişken uzunlukta kodlama ...................................................... 19
2.2. P Çerçevesi ........................................................................................................ 21
2.2.1. Ara-çerçeve sıkıştırması ve hareket kodlama ......................................... 21
2.3. B Çerçevesi ........................................................................................................ 23
3. MPEG Akımının Çözülmesi....................................................................................... 25
3.1. Başlangıç Kodları ............................................................................................. 26
3.1.1. Akım başlangıç kodu .............................................................................. 27
3.1.2. Resim grubu başlangıç kodu ................................................................... 28
3.1.3. Resim başlangıç kodu ............................................................................. 29
3.1.4. Dilim başlangıç kodu. ............................................................................. 31
3.1.5. Makro blok ve blok başlangıcı ................................................................ 32
3
4. Video akımının şifrelenmesi....................................................................................... 33
4.1. Kısmi şifreleme ................................................................................................ 33
4.2. Geçici referans numaralarını şifreleme ............................................................ 34
5. Secure ......................................................................................................................... 36
5.1. Arayüz sinyalleri .............................................................................................. 39
5.2. Blok şema ve mimari ....................................................................................... 39
5.3. Anahtar yazılması ............................................................................................ 40
5.4. Veri girişi ......................................................................................................... 40
5.5. Veri çıkışı ......................................................................................................... 41
5.6. Benzetim sonuçları ........................................................................................... 41
6. Sonuç .......................................................................................................................... 45
KAYNAKLAR ............................................................................................................... 46
4
ŞEKİLLER LİSTESİ
Şekil 1.1. Görsel Şifreleme ............................................................................................. 9
Şekil 2.1. MPEG çerçeve tipleri ..................................................................................... 12
Şekil 2.2. I çerçevesinin kodlanması .............................................................................. 13
Şekil 2.3. Değişik Y değerlerine karşılık CbCr tonları .................................................. 14
Şekil 2.4. Renk uzayı dönüşümleri ve örnekleme .......................................................... 14
Şekil 2.5. Ayrık kosinüs dönüşümü ................................................................................ 16
Şekil 2.6. Örnek sıkıştırma ............................................................................................. 17
Şekil 2.7. İç-nicelik matrisi ve iç-olmayan-nicelik matrisi ............................................ 17
Şekil 2.8. Nicelendirme .................................................................................................. 18
Şekil 2.9. Zig-zag tarama................................................................................................ 19
Şekil 2.10. Örnek çerçeve ve hareket vektörleri ............................................................. 22
Şekil 2.11. P çerçevesinin kodlanması ........................................................................... 23
Şekil 2.12. B çerçevesinin kodlanması ........................................................................... 24
Şekil 3.1 MPEG video katman yapısı............................................................................. 26
Şekil 3.2. Akım başlangıç kodu ve akımın devamı ........................................................ 27
Şekil 3.3. Resim grubu başlangıç kodu .......................................................................... 28
Şekil 3.4. Resim başlangıç kodu ve akımın devamı ....................................................... 30
Şekil 3.5. Video gösterim ve akım sıraları ..................................................................... 31
Şekil 3.6. Dilim başlangıç kodları .................................................................................. 31
Şekil 3.7. Makro blok ..................................................................................................... 32
Şekil 4.1. Kısmi şifreleme .............................................................................................. 33
Şekil 4.2. Gösterim ve depolama sıraları........................................................................ 34
Şekil 4.3. Orjinal ve şifreleme sonrası izlenebilen görüntü ............................................ 35
Şekil 5.1. Durum diyagramı ........................................................................................... 37
5
Şekil 5.2. Secure blok şeması ......................................................................................... 39
Şekil 5.3. Anahtar yazılması işlemi ................................................................................ 40
Şekil 5.4. Secure veri girişi............................................................................................. 41
Şekil 5.5. Giriş, çıkış ve iç sinyaller ............................................................................... 41
Şekil 5.6. Çekirdeğin ilk çalışması anı ve saat vuruşları ................................................ 42
Şekil 5.7. Benzetim sonuçları: ANAHTAR_HAZIR durumu ........................................ 42
Şekil 5.8. Benzetim sonuçları: D1,D2, D3, R1 durumları .............................................. 43
Şekil 5.9. Benzetim sonuçları: B4, B3, B2 ve B1 durumları.......................................... 43
6
ÇİZELGELER LİSTESİ
Çizelge 3.1. Başlangıç kodları ........................................................................................ 26
Çizelge 3.2. Akım başlangıç kodu ve örnek akım ile ilgili bilgiler ................................ 27
Çizelge 3.3. Resim grubu başlangıcı ve örnek akım ile ilgili bilgiler ............................ 29
Çizelge 3.4. Resim grubu başlangıcı ve örnek akım ile ilgili bilgiler ............................ 30
Çizelge 3.5. Dilim başlangıcı ve örnek akım ile ilgili bilgiler ....................................... 32
Çizelge 5.1. Durum çizelgesi.......................................................................................... 36
Çizelge 5.2. Ara yüz sinyalleri ve özellikleri ................................................................. 39
7
ÖZET
Görsel veriye artan ilgi sebebiyle video dosyaları günlük yaşantıda kullanımı
artmakla birlikte video dosyalarının güvenliği de ön plana çıkmaktadır. Video dosyaları
dışında, gerçek zamanlı ve güvenlik gereksinimi yüksek video konferans oturumlarının
güvenliği
de
sağlanması
da
günümüzün
önemli
konularındandır.
Uzunca bir süredir metin dosyalarının güvenliğini başarılı şekilde koruyan geleneksel
şifreleme yöntemleri, video verisinin güvenliğini sağlamak için yetersiz kalmaktadır. Bu
yöntemler video verisine uygulandığında, şifreyi kırmak isteyen kişilere açık noktalar
bırakmaktadır. Video verisi büyük alan kapladığı için şifreleme süresi de uzamaktadır. Bu
süre çoğunlukla gösterim süresini aşmaktadır ve gerçek zamanlılıktan uzaktır.
Video şifreleme alanında daha önce tasarladığımız ve kişisel bilgisayar üzerinde
gerçekleştirmiş olduğumuz "kısmi şifreleme (selective encryption)" temelli çalışmalarda
yüksek verim elde edilmiştir. Ayrıca geliştirilen algoritmalar video dosyalarına özel
tasarlandığından açık noktaları minimuma indirgenmiştir.
Bu çalışmada, kısmi şifreleme temelli hızlı ve bağımsız bir çekirdek tasarlanarak
performansı en yüksek seviyeye çıkarma hedeflenmektedir.
Projenin gerçek yaşamda video konferans, uydu sistemleri, depolama güvenliği ve
bütünlüğü gibi birçok uygulama alanı vardır.
8
1. GİRİŞ
Video verisi miktar olarak çok fazla yer kaplamaktadır ve gerçek zamanlılık gibi
gereksinimleri bulunmaktadır. Video verisinin şifrelenmesi için geliştirilen ilk yöntemler
görsel bozulmalara dayanan basit şifreleme metotlarıdır.
Görsel bozulmaya dayalı
şifreleme sistemleri video verisini şifreledikten sonra, görüntü bozulmakta ve
izlenememektedir.
Şekil1.1. Görsel şifreleme
Görsel olarak bozulmuş video verisi izleyiciye ulaştığında görüntüyü çözmeye yarayan
özel kod çözücü cihazlar yardımıyla görüntü tekrar izlenebilir hale gelmektedir. Görsel
bozulmaya dayalı şifreleme sistemleri analog video verisine uygulanmaktadır.
Video verisinin kapladığı alan ve bant genişliği gereksinimlerinden dolayı sıkıştırılması
gerekmektedir. MPEG video sıkıştırma yöntemi günümüz video depolama ve iletiminin
temelini teşkil etmektedir. Benzersiz ve yüksek sıkıştırma oranları MPEG video
sıkıştırmasını vazgeçilmez kılmıştır. MPEG, büyük miktarda görsel veri içeren ve eşsiz bir
yapıya sahip olan videonun özelliklerini kullanarak yüksek sıkıştırma oranlarını
yakalamaktadır. Video dosyası sıkıştırıldıktan sonra açıldığında görüntüde fark
edilemeyecek düzeyde bir kayıp söz konusudur. MPEG sıkıştırma yöntemi izleyici
tarafından fark edilemeyecek alanlarda kaliteyi düşürerek sıkıştırılmış sinyalin kalitesini
yüksek tutmaktadır. MPEG basitçe özetlenecek olunursa birbirini izleyen video
çerçevelerinde büyük oranda tekrar eden benzerlikleri ve insan gözünün algılayamayacağı
düzeydeki detayları yok sayarak yüksek oranda sıkıştırma sağlamaktadır (Mitchell,
J.L.,1996).
Görsel bozulmalara dayalı şifreleme sistemleri (Nagravision gibi) video verisinin
görsel özelliklerini bozmaktadır. Görsel bozulmaya dayalı klasik şifreleme yöntemleri,
9
videonun görsel özelliklerini bozduğundan MPEG sıkıştırma yöntemi ile verimli
sıkıştırılamazlar. MPEG sıkıştırma yöntemi kayıplı bir sıkıştırma yöntemi olduğundan
şifrelenmiş bir görüntünün sıkıştırıldıktan sonra şifresinin çözülmesi imkansızdır.
Video akımının bant genişlikleri yüzünden sıkıştırılarak iletilmesi ve sıkıştırma
işleminden önce şifreleme yapma imkanının olması, sıkıştırılmış ortamda şifreleme
yapmayı zorunlu kılmaktadır. Bu çalışma, video verisinin güvenlik gereksinimlerini
karşılama için gerçek zamanlı ve sıkıştırma oranlarını düşürmeden çalışabilecek düzeyde
geliştirilmiş olan yöntemlerin donanımsal uygulaması şeklindedir.
MPEG video sıkıştırma metodu ile ilgili bilgiler Bölüm 2’de anlatıldıktan sonra Bölüm
3’de MPEG video akımının çözülmesi aşamaları incelenecektir. Bölüm 4 şifreleme
çekirdeğinde kullanılacak olan şifreleme yöntemini anlatmakta, Bölüm 5’te ise bu
algoritmayı temel alan şifreleme çekirdeği ve buna ait benzetim sonuçları sunulmaktadır.
Çalışma, sonuçların Bölüm 6’da açıklanması ile son bulacaktır.
10
2. MPEG VİDEO SIKIŞTIRMA METODU
Saklama hacmi olarak toplamda daha az bit kullanılması, hareketli resimlerin çok
daha hızlı bir şekilde transfer edilmesi anlamına gelmektedir. Böylece pahalı haberleşme
hatları ve depolama cihazları, yeni video uygulamalarında daha verimli kullanılmaktadır.
MPEG sıkıştırma metodu kullandığı birçok yöntem sayesinde yüksek sıkıştırma oranları
yakalamaktadır.
Sayısallaştırılmış video akımını sıkıştırma, hazır çorbaya benzetilebilir. Çorba
paketlenirken taşıma ve saklamayı daha etkin yapmak için çorba içindeki tüm su
ayrıştırılır, kurutulmuş çorba paketlenerek satılır. Paket müşteriye ulaştığında karışıma su
eklenerek çorba tekrardan oluşturulur. MPEG sıkıştırması da ses ve görüntü akımından
gereksiz bilgileri çıkartarak, sinyali orijinal boyutundan daha küçük hale getirmektedir.
Akım izleyiciye ulaştığında kod çözücü birim orijinal içeriği tekrardan oluşturup videoyu
izlenebilir kılmaktadır. Sıkıştırma sayesinde depolama ve iletimde büyük kolaylıklar
sağlanmış ve video dosyalarının kullanım oranları artmıştır.
MPEG sıkıştırma yöntemi kayıplı bir sıkıştırma yöntemidir. Bu yüzden video
dosyası sıkıştırıldıktan sonra açıldığında görüntüde fark edilemeyecek düzeyde bir kayıp
söz konusudur. MPEG sıkıştırma yöntemi izleyici tarafından fark edilemeyecek alanlarda
kaliteyi düşürerek sıkıştırılmış sinyalin kalitesini yüksek tutmaktadır. MPEG sıkıştırma
yönteminde
birden
fazla
teknik
kullanılarak
bir
sinyal,
resim
kalitesinden
uzaklaştırılmadan hatırı sayılır biçimde sıkıştırılabilir, ancak bant genişliğini ekonomik
kullanmak için daha fazla sıkıştırma gerektiğinde görüntü kalitesi de düşecektir.
MPEG, kayıplı bir sıkıştırma yöntemi olduğundan farklı MPEG sıkıştırıcı
birimlerin oluşturduğu akımlar bire bir aynı olmamaktadır. Bu yüzden bazı algoritmalar
(stenografi, şifreleme, video işleme gibi) akım sıkıştırıldıktan sonra uygulanmalıdır. Aksi
takdirde sıkıştırma işlemi sırasında algoritmayı aktif kılan elementler sıkıştırma işlemi
sonucunda yok olmaktadır.
Sıkıştırılmamış video dosyalarının aksine MPEG yöntemi ile sıkıştırılmış video
dosyalarında 3 farklı çerçeve tipi vardır. Bu sayede birbirini takip eden çerçeveler arasında
az bir görsel fark olması durumunda çerçevenin tamamı dosyaya aktarılmaz. Ara-çerçeve
tahmini, ardıl çerçevelerdeki benzerlikleri avantaj olarak kullanmaktadır. Öncelikle tam bir
referans çerçeve seçilmekte ve ardından gelen çerçeveler bu referans çerçeve ile olan
11
farklılıklar kodlanmak suretiyle ifade edilmektedir. Referans çerçeveye iç-kodlanmış
çerçeve ya da I-çerçevesi denilmektedir. I-çerçevesi, P ve B tipi çerçeveleri tahmin etmek
için kullanılmaktadır. Şekil 2.1 MPEG çerçeve tipleri ve çerçeveler arasındaki ilişkileri
göstermektedir.
Şekil 2.1. Mpeg çerçeve tipleri
2.1.
I Çerçevesi
I çerçevesi, gösterilebilmesi için başka bir resme ihtiyaç duyulmayan tam bir video
resmidir. Bu yüzden en çok veriyi kapsamaktadır. Diğer çerçevelerden bağımsız olduğu
için ayrı bir resim gibi düşünülebilir. I çerçevesi bir önceki çerçeve ile çok fazla
farklılıkların olduğu durumlarda kullanılmaktadır. Bu çerçeve renk uzayı dönüşümü,
örnekleme ve iç-çerçeve sıkıştırma metodu kullanılarak kodlanmaktadır. Şekil 2.2 I
çerçevesinin sıkıştırılması sırasında kullanılan yöntemleri göstermektedir.
12
Y
I çerçevesi
Cb
Cr
Renk uzayı
dönüşümü ve
örnekleme
Zig-zag tarama ve
Entropi kodlama
Nicelendirme
Ayrık Kosinüs Dönüşümü
8x8 blok
Şekil 2.2. I çerçevesinin kodlanması
2.1.1.
Renk uzayı dönüşümü ve örnekleme
Daha önceki bölümlerde anlatıldığı gibi sayısal video akımlarında, genellikle RBG renk
uzayı kullanılmamaktadır. İnsan gözü, bir noktadaki parlaklık değişikliğini renk değişikliğine göre
daha çok fark etmektedir. MPEG sıkıştırma metodu, RGB renk uzayını YCbCr renk uzayına
dönüştürmektedir. Bu dönüşüm,
Y (Parlaklık-Intensity) = + 0.299R + 0.587G + 0.114B
Cb(Mavi/Sarı) = + 0.492(B - Y) = - 0.147R - 0.289G + 0.436B
Cr (Kırmızı/Yeşil)= + 0.877(R - Y) = + 0.615R - 0.515G - 0.100B
formülleri ile yapılmaktadır. Şekil 2.3 değişik Y değerlerine karşılık CbCr tonlarını göstermektedir.
13
Şekil 2.3. Değişik Y değerlerine karşılık CbCr tonları
Örnekleme işleminde, Cb, Cr ile temsil edilen renkleri daha az yer kaplayacak
şekilde daraltılmakta, Y ile temsil edilen parlaklık değerleri ise insan gözünün parlaklık
değişikliklerine olan yüksek hassasiyetinden dolayı değiştirilmemektedir.
R G B Y Cb Cr
a) RGB YCbCr dönüşümü
Y Cb Cr Y Cb Cr b) 4:2:2 örnekleme
c) 4:2:0 örnekleme
Şekil 2.4. Renk uzayı dönüşümleri ve örnekleme
Renk uzayının dönüşümü ve yeniden örneklendirilmesi, kayıplı bir sıkıştırma
sağlamaktadır. Bu sıkıştırma işlemi MPEG video görüntülerinde birbirine yakın piksellerde
daha az ton değişikliğinin olmasına ve iç-çerçeve sıkıştırma verimliliğinin artmasına
olumlu etki sağlamaktadır. Şekil 2.4 renk uzayı dönüşümü ve örnekleme işlemlerini
göstermektedir.
14
2.1.2. İç-çerçeve sıkıştırma
İç-çerçeve sıkıştırma, video çerçevesindeki düz alanlarda bulunan benzer renklerin
oluşturduğu gurupları farklı şekilde kodlayarak sıkıştırma sağlamaktadır. Örnek olarak
mavi gökyüzü arka planına sahip bir video görüntüsünde, birçok sütundan oluşan benzer
mavi pikseller bulunmaktadır. Uzaysal kodlama, bu piksel grubundan sadece bir pikseli ve
ardından diğerlerinin birbirine benzer olduklarını belirterek kodlamaktadır. Böylece bit
akımından büyük oranda fazlalık veri atılmaktadır.
İç-çerçeve sıkıştırma işlemi aşağıdaki adımlardan oluşur. Bunlar,
1. Ayrık kosinüs dönüşümü,
2. Nicelendirme,
3. Zig-Zag Tarama,
4. Değişken uzunluklu kodlama’dır.
Ayrık kosinüs dönüşümü, videoyu oluşturan çerçeveleri 8x8 bloklara bölmekte,
ardından katsayı denilen, piksel renk ağırlıklarını frekans düzlemine geçirmektedir. Elde
edilen sayılar seçilen kalite oranına göre bir tablo kullanılarak nicelendirilmektedir. Bu
işlemden sonra uzaysal ve tekrarlayan artıklardan dolayı birçok katsayı sıfır ya da sıfıra
yakın değerlerle sonlanmaktadır. Bunlar katsayı serisinden atılarak bir video çerçevesi çok
az sayıda bit ile gösterilmektedir. Sonuçta insan gözünün fark edemeyeceği düzeyde birçok
ufak detayı yok eden kayıplı bir sıkıştırma sağlanmaktadır.
2.1.2.1.
Ayrık kosinüs dönüşümü
Dönüşüm kodlama, resim ve video işleme uygulamalarının çoğunda temel yöntem
olarak kullanılmaktadır.
Ayrık kosinüs dönmüşümü ile değerler frekans uzayına
dönüştürülmektedir. 8x8’lik piksel bloklarına uygulanan ayrık kosinüs dönüşümü (Ahmed
v.d. 1974),
,
1
√
∑
∑
,
15
cos
cos
formunda verilmektedir. Burada kullanılan C fonksiyonu
1
√2
1
0
0
ile tanımlanır.
Ayrık kosinüs dönüşümü için girdi aralığının -128 ile +127 arasında olması gerekmektedir.
Bu yüzden ayrık kosinüs dönüşümü yapılmadan önce piksel değerlerinden 128 çıkartılarak ayrık
kosinüs dönüşümü yapılmaktadır. Örnek NxN matris için ayrık kosinüs dönüşümü sonucu
aşağıdaki gibi olmaktadır.
Şekil 2.5. Ayrık Kosinüs Dönüşümü
Aşağıda Şekil 2.6’daki ayrık kosinüs dönüşümü incelendiğinde, yöntemin sağlamış
olduğu yüksek sıkıştırma görülebilmektedir.
16
Şekil 2.6. Örnek sıkıştırma
2.1.2.2. Nicelendirme
Nicelendirme işlemi DCT işlemi sonucunda çıkan D matrisinin her bir elemanının
nicelik matrisi Q ile bölünmesi işlemidir.
,
,
MPEG sıkıştırma standardına göre 3 farklı tipte resim öngörülmektedir. İç-çerçeve
sıkıştırma
metoduyla
kodlanan
I
çerçeveleri,
iç-nicelik
matrisi
kullanılarak
nicelendirilmektedir. P ve B çerçeveleri ise makro bloğun tipine bağlı olarak iç-nicelik
matrisi veya iç-olmayan-nicelik matrisi kullanılarak nicelendirilir. Ayrıca kullanıcıya kendi
nicelik matrisini kullanma şansı tanımaktadır.(Ding ve Liu, 1995)
Şekil 2.7. İç-nicelik matrisi ve iç-olmayan-nicelik matrisi
17
Aşağıdaki
örnekte
iç-nicelik
matrisi
kullanarak
niceleme
işlemi
gerçekleştirilecektir. D matrisi sol alt köşesinde düşük sayısal değerlerin bulunduğu ve Q
iç-nicelik matrisinin sol alt köşesinde büyük sayısal değerlerin olduğu dikkate alındığında;
niceleme işlemi sonucunda C matrisinin sol alt köşesindeki birçok değerin sıfır olduğu
görülmektedir.
D Q =C Şekil 2.8. Nicelendirme
Kullanıcı tanımlı matrisler sıralama başlangıcından hemen sonra ya da nicelik
matrisi uzantısında yüklenmektedirler. Video akımında akım sıralama başlangıç kodu
bulunduğunda tüm nicelik matrisleri varsayılan olarak ayarlanmaktadır. Q matrisi 8 bit
işaretsiz 64 değerden oluşmakta ve sıfır ile bölme işlemi olamayacağından sıfır değeri
içermemektedir. (Chun v.d.,1993)
18
2.1.2.3.
Zig-Zag tarama
İki boyutlu olan C matrisi zig-zag tarama işlemi ile tek boyutlu bir dizi haline
dönüştürülmektedir. Bu tarama ile dizinin son elemanlarının tümünün sıfır olması
sağlanmaktadır. Bu durumda sıfırların hepsi akıma dahil edilmez, özel bir karakter
kullanılarak dizinin geri kalanının sıfır olduğu kodlayıcıya bildirilmektedir.
Şekil 2.9. Zig-Zag tarama
Şekil 2.9’da örnek akımın zig-zag taranması sonucunda -52, -2, 0, -2, -1, -3, 1, -3,
0, -2, 1, 1, 3, 0, 2, -1, 0, -1, 1, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 halinde tek boyutlu hale gelen veri
-
52, -2, 0, -2, -1, -3, 1, -3, 0, -2, 1, 1, 3, 0, 2, -1, 0, -1, 1, 0, 0, 0, 0, 0, -1, -1, [özel dizi sonu
karakteri] şeklinde değişken uzunlukta kodlama işlemine tabi tutulmaktadır.
2.1.2.4. Değişken uzunlukta kodlama
Değişken uzunlukta kodlama, David A. Huffmann tarafından 1952 yılında veri
sıkıştırılması için geliştirilmiş kayıpsız bir kodlama algoritmasıdır. Algoritma, temel olarak
veri içerisinde en az kullanılan karakterler için en uzun, en çok kullanılan karakterler için
ise en kısa kodu üretmektedir. Huffman sıkıştırma algoritması, veri içerisindeki
karakterlerin kullanım sıklığına göre bir ağaç oluşturmaktadır. Ağacın en tepesinden sola
ayrılan dal için 0, sağa ayrılan dal için 1 kodu verilmektedir.
Ağaç oluşturulurken
öncelikle karakterlerin kullanım frekansları hesaplanmaktadır. Örnek olarak BAACC verisi
alındığında, karakterlerin kullanım sıklıkları aşağıdaki gibi olmaktadır:
19
2 1
A:2
B:1
B
C:2
2
A C
Ardından en küçük iki frekans toplanarak frekans tablosu yeniden düzenlenmektedir.
3
B+A: 3
1
C:2
2
B
2 A
C Bu işlem tek bir ağaç oluşturulana dek tekrarlanır.
5
0
C+(A+B)=5
1
3
0
1
1
2 2
B
A
C Ağacın dallarını oluşturan rakamlar kullanım sıklıklarını kırmızı rakamlar ise bit kodlarını
göstermektedir. Oluşturulan ağaca göre bit haritaları aşağıdaki şekilde olmaktadır:
B:00 A:01
C:1
Oluşturulan bit haritaları karakterlerin veri içersindeki konumlarına göre
yerleştirildiğinde ortaya çıkan bit haritası sıkıştırılmış veri olmaktadır.
20
BAACC = 00 01 01 11 = 17h
Normal sabit uzunluklu kodlama ile her bir karakter 1 Byte yer kaplayacağından
BAACC verisi toplam 5 Byte yer kaplamaktadır. Oysa veri Huffman sıkıştırma metoduyla
sıkıştırıldığında 1 Byte yer kaplamaktadır.
Huffmann algoritması az sayıda karakter çeşidine sahip ve büyük boyutlardaki
verilerde çok kullanışlı olmaktadır. Yöntemin en zayıf noktası, oluşturulan ağaçların
sıkıştırılmış veriye eklenmesi zorunluluğudur. Ağaç yapısı veriye eklendiğinde bir miktar
kayıp oluşmaktadır.
MPEG video sıkıştırma metodu, verinin kodlanması için kodun tamamında
değişken uzunlukta kodlama yöntemini kullanmaktadır. Bununla beraber ağaç yapısının
sıkıştırılmış veriye eklenmek zorunda kalınması dezavantajını aşmak için Ek 1’de bulunan
sabit Huffman tabloları kullanılmaktadır.
2.2.
P Çerçevesi
P çerçevesi, bir önceki çerçevedeki farklılıkların tespit edildiği ve aradaki
farklılıkların kodlandığı bir çerçevedir. Gösterilebilmesi için bir önceki I çerçevesine
ihtiyaç duymaktadır. P çerçevesinde referans belirlemek için, 4 adet 8x8 bloğun
birleşmesiyle meydana gelen makro bloklar kullanılmaktadır. Kodlayıcı P çerçevesindeki
her bir makro blok için bir önceki P ya da I çerçevesinde arama yaparak uygun bir referans
makro blok bulmaya çalışmaktadır. Referans makro blok ile oluşan küçük miktardaki
farklılıklar da ayrıca kodlanarak iletilmektedir. Önceki çerçevede uygun bir referans makro
blok bulunamaz ise o makro blok, I çerçevesi makro bloğu gibi kodlanmaktadır.
Bu tip sıkıştırmaya ara-çerçeve sıkıştırması denmektedir.
2.2.1. Ara-çerçeve sıkıştırması ve hareket kodlama
Bir hareketli resim dizisindeki iki komşu çerçeve genellikle birbirlerine çok
benzerler. Resmin bazı kısımları çerçeveler arasında çok küçük miktarda yer
değiştirmektedir. MPEG sıkıştırma metodu her yeni çerçeveyi uygun bir şekilde bölümlere
ayırıp, bu bölümlerin nereden geldiğini belirlemek için bir önceki çerçeveyi araştırarak,
meydana gelmiş olan zamansal fazlalıkları atmaktadır. Bir çerçevenin içeriğinin çoğu bir
21
önceki çerçevede de bulunuyorsa, o çerçevenin tekrardan gönderilmesi depolama ve
aktarım kaybı yaratmaktadır. Bütün çerçeveyi göndermek yerine, bir önceki çerçeve
referans alınarak farklılıkların kodlanması akım hacmini düşürmektedir.
Şekil 2.10. Örnek çerçeve ve hareket vektörleri
Nesnelerin ekrandaki konumları genellikle değişmekte iken, görünümleri sabit
kalmaktadır. Hareket tahmini bu benzerliğin avantajını, nesnelerin hareketlerini ölçerek
kodlanması yoluyla kullanmaktadır. Video akımı çözülürken vektör şeklinde kodlanmış
hareket kullanılarak, önceki çerçevelerdeki konumu kaydırılmakta ve takip eden
çerçevedeki yeni yerine getirilmektedir. Bu yüzden hareket eden nesneler, sadece bir kez
kodlanmakta ve gerektikçe çerçeveler arasında hareket vektörleri yolu ile ifade
edilmektedirler.
22
Şekil 2.111. P çerçeveesinin kodlaanması
2.3.
B Çerçevesii
Önceki çeerçevede ollmayan bir nesnenin I çerçevesiinden sonraa birdenbiree ortaya
ması durumuunda, çerçeevede uyguun bir referrans bulunaamayacağınndan makro
o bloğun
çıkm
tamaamının kodllanması gerrekmekte ve
v bu sıkışttırma oranıını düşürmeektedir. Bu
u yüzden
nesnenin var oldduğu bir sonnraki P veyaa I çerçevessini referanss alan, üçünncü tip B çerrçeveleri
kullaanılmaktadırr. B çerçevveleri bir önceki
ö
ya da
d daha sonnraki çerçeevedeki fark
klılıkları
kodlaamaktadır. İleri ya da geri her ikii yönde tah
hmin yapılabbileceğindeen en uygun
n tahmin
kodlaayıcı tarafınndan seçilm
mektedir.
23
Şekil 2.12. B çerçevesiinin kodlanm
ması
24
3. MPEG AKIMININ ÇÖZÜLMESİ
MPEG sıkıştırma yöntemi, etkin bir sıkıştırma yöntemi olması ile birlikte dosya
deseni bakımından da esnek bir yapıya sahiptir. Bir video bütününden kopartılan video
parçacığı kendi başına izlenebilir, video parçacıkları birleştirilerek daha büyük video
parçacıkları oluşturulabilir ve birleştirilmiş video parçalarının izlenebilmesi için ana video
bütününe ihtiyaç duyulmaz.
Esnek dosya yapısı, MPEG sıkıştırma yönteminde değişken uzunlukta kodlama
kullanılmasından ileri gelmektedir. Değişken uzunlukta kodlama, dosyanın belli bir desene
sahip olmasını engellemektedir. Belli bir dosya kalıbı yerine MPEG video akımında
hiyerarşik bir katman yapısı öngörülmektedir. (Taşkın .v.d., 2007)
Video akımı
Resim grubu
8 piksel Dilim
8 piksel Blok
Resim
Makro blok
Şekil 3.1 MPEG video katman yapısı
25
Bir video akımının en küçük elementi, 8x8 büyüklüğünde, değişken uzunlukta
kodlanmış biçimde piksel bilgilerini içeren bloklardır. 4 adet bloğun birleştirilmesi ile
16x16 büyüklüğünde, içinde hareket vektörlerinin de saklandığı makro bloklar
oluşturulmaktadır. Dilim katmanı, makro blokların birleşmesi ile meydana gelmektedir.
Dilim katmanının hataların kontrolü açısından önemli bir görevi bulunmaktadır. Eğer kod
çözücü birim, bir dilimde hata belirler ise dilimin kalanını çözmeden diğer dilime
atlamaktadır. Dilimlerin birleşmesi ile video akımının izleyici tarafından gözlenebilen tek
katmanı olan resimler oluşmaktadır. Resimler, kodlayıcı ve kod çözücü tarafından kolay
kontrol edilebilmesi amacıyla resim grupları halinde gruplandırılmaktadır. Resim
gruplarının birleşmesi video akımını oluşturmaktadır.
3.1 . Başlangıç Kodları
Belli bir dosya deseni bulunmayan MPEG video akımında, video katmanlarının
belirlenmesi için akım içinde benzeri bulunmayan başlangıç kodları kullanılmaktadır.
Bütün başlangıç kodları yirmi üç adet 0 ve bir adet 1’den oluşan 3 byte’lık bir ön ek
almaktadırlar. Ön ekin ardından gelen byte, farklı başlangıç kodlarının kimliğini
belirlemektedir. Mpeg akımında değişken uzunlukta kodlama yapıldığından, başlangıç
kodları dışında buna benzer bir dizilime rastlamak mümkün değildir. Çizelge 3.1.’de bazı
video başlangıç kodları verilmiştir.
Çizelge 3.1. Başlangıç kodları
Ön Ek
0000 0000 0000 0000 0000 0001
Başlangıç kodu
Değeri
Resim grubu
Resim
Akım sonu
Akım hatası
Akım başlangıcı
Dilim 1
…
Dilim 175
1011 1000
0000 0000
1011 0111
1011 0100
1011 0011
0000 0001
…
1010 1111
26
Başlangıç kodları olmadan bir video akımının çözülmesi ve izleyiciye anlamlı
görüntüler sunulması, alt katmanlara ayrılmış hiyerarşik MPEG video yapısı yüzünden
imkânsızdır. Kod çözücü birim, katmanları blok tabakasına kadar çözmektedir.
Kod
çözücü birim, katman yapısına uymayan hatalı bir akım ile karşılaştığında o anda yaptığı
işlemi kesip kodu çözmeye en başından başlamaktadır.
3.1.1. Akım başlangıç kodu
Bir video akımının çözülebilmesi için ilk olarak akım başlangıç kodunun bulunması
gerekmektedir. Akım başlangıç kodu olmayan bir akım geçerli bir MPEG video akımı
olarak algılanamaz. Akım başlangıç kodu, belli aralıklar ile tekrarlanmaktadır.
Bu
tekrarlar sayesinde akım ileri ya da geri sarıldığında, akım çözme işlemi hatasız
gerçekleştirilmiş olmaktadır. Sadece tek akım başlangıç kodu olan görüntüler baştan sona
izlenebilirler fakat ileri ya da geri alınamazlar.
Akım Bilgisi
Akım başlangıç kodu Resim Grubu 00000000 00000000 00000001 10110011
Resim Grubu Resim Grubu Şekil 3.2. Akım başlangıç kodu ve akımın devamı
Akım başlangıç kodunun hemen ardından akım ile ilgili detaylı bilgiler
gelmektedir.
Çizelge 3. 2. Akım başlangıç kodu ve örnek akım ile ilgili bilgiler
Byte No
Bit7
Bit6
Bit5
0
1
2
3
0
0
0
1
0
0
0
0
0
0
0
1
4
5
0
0
0
0
0
0
5
6
0
0
1
Bit4
Bit3
Bit2
0
0
0
0
0
0
0
0
0
1
0
0
Akım başlangıç kodu
1
1
0
0
Yatay boyut
0
0
0
0
0
Dikey boyut
27
Bit1
Bit0
Değeri
0
0
0
1
0
0
1
1
0
0
1
179 (B3)
0
0
0
0
1
0
384
288
7
0
0
7
8
9
0
0
10
1
10
11
11
11
11
0
0
0
1
0
0-0-1-0 = 3:4
Görünüş oranı
0
0
1
Çerçeve oranı
0
0
0
1
0
0
0
0
0
0
Bit oranı 4 bit sola kaydırılmıştır.
1
0-0-1-1 = 25 Fps
1
0
320 bps
1
0
0
0
0
İşaret biti her zaman 1’dir
0
1
1
1
0
112
VBV tampon boyutu
0
Zorunlu parametre bayrağı 0=Mpeg2 1=Mpeg1
0
İç nicelik matrisi yükle? 0=yükleme, 1=yükle
0
İç-olmayan nicelik matrisi yükle? 0=yükleme, 1=yükle
0
0
Ele alınan örnek akımın, 384x288 çözünürlüğünde, 320 bit/s oranına sahip bir
MPEG-2 videosu olduğu görülmektedir. Ters ayrık kosinüs dönüşümü için herhangi bir iççarpan matrisi içerip içermediği, takip eden bitlerle ifade edilecektir. Akım kodu
çözüldükten sonra video akımı hakkında genel bilgiler kod çözücü tarafından belirlenmiş
olmaktadır. Akımın çözümü açısından bu bilgiler önemlidir. Çünkü bir daha çerçeve
boyutuyla ilgili akım içerisinde herhangi bir bilgi bulunmamaktadır. Kod çözücü birim bu
bilgileri dikkatle değerlendirmek zorundadır.
3.1.2. Resim grubu başlangıç kodu
Video akımı başlangıç kodu belirlenerek, akımın karakteristiği hakkında bilgiler
elde edilmektedir. Bu başlık kodundan sonra katman yapısına uygun biçimde resim grubu
başlangıç kodu bulunmaktadır.
Resim grubu başlangıç kodu Grup Bilgisi
Resim 00000000 00000000 00000001 10111000
Şekil 3.3. Resim gurubu başlangıç kodu
28
Resim Resim Resim grubu başlangıç kodunun hemen ardından resim grubu hakkında teknik
bilgiler veren bit alanları bulunmaktadır.
Çizelge 3. 3. Resim grubu başlangıcı ve örnek akım ile ilgili bilgiler
Byte No
0
1
2
3
Bit7
0
0
0
1
4
0
4
4
5
Bit6
0
0
0
0
Bit5
0
0
0
1
0
0
6
7
İşaret biti her zaman 0’dır
0
0
0
Saat bilgisi
0
0
0
0
0
0
Dakika bilgisi
1
İşaret biti her zaman 1’dir
0
0
0
Değeri
0
0
1
184(B8)
0
0
0
Bit0
0
0
1
0
0
5
5
6
Bit4
Bit3
Bit2 Bit1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
Resim grubu başlangıç kodu
1
0
0
0
0
0
0
Saniye bilgisi
0
0
0
0
Resim sayımı
7
1
1
Kapalı resim grubu? 0=Açık 1=Kapalı
0
Kırık bağlantı 0=Kırık değil 1=Kırık
0
0
0
0
Doldurmak İçin fazlalık olarak 5 adet 0
7
7
0
0
0
3.1.3. Resim başlangıç kodu
Resim başlangıç kodu resim grubunun hemen ardından gelmekte ve en çok sıfır
değerini içermektedir.
29
Resim başlangıç kodu Resim Bilgisi 00000000 00000000 00000001 00000000
Dilim1 Dilim 2 Dilim 3 Şekil 3.4. Resim başlangıç kodu ve akımın devamı
Resim başlangıç kodunun hemen ardında, geçici referans numarası, çerçeve tipi
gibi resim ile ilgili detaylı bilgilerin bulunduğu bir alan gelmektedir.
Çizelge 3. 4.Resim başlangıcı ve örnek akım ile ilgili bilgiler
Byte No
0
1
2
3
Bit7
0
0
0
0
Bit6
0
0
0
0
Bit5
0
0
0
0
Bit4
0
0
0
0
4
5
0
0
0
0
0
0
Bit3
Bit2
0
0
0
0
0
0
0
0
Resim
0
0
Bit1
0
0
0
0
Bit0
0
0
1
0
0
0
Değeri
0
0
1
0
Geçici referans numarası
5
0
0
1
1
Çerçeve tipi 001=I çerçevesi
5
1
1
1
FFFF
6
1
1
1
1
1
1
1
1
7
1
1
1
1
1
Vbv gecikmesi =FFFF değişken bit kodlama (Mpeg2 için geçerli)
7
0
0
0
0
Ekstra bit alanı =1 olduğu durumda 1 byte ekstra bilgi alanı karşımıza çıkar. Genelde 000 vardır
Video akımının izlenebilir olması için aşılması gereken sorunlardan biri, MPEG
video çerçevelerinin sıralanması işlemidir. MPEG akımında 3 tip çerçeve bulunmakta, B
ve P tipi çerçevelerinin gösterilebilmesi için referans çerçevelere ihtiyaç duyulmaktadır.
Şekil 4.5.a’da örnek bir video akımı gösterilmektedir. Bu akımda yer alan 2. çerçeve olan
B çerçevesinin gösterilebilmesi için 4. çerçeve olan P çerçevesine ihtiyaç duyulmaktadır.
Kod çözücü birimin 2. çerçeveyi göstermesi esnasında 4. çerçeveye ait bilgileri de
kullanmaktadır.
30
Sıra
Çerçeve Tipi
1
I
2 3
B B
4
P
5 6
B B
7
P
8 9 10
B B I
11
B
12
B
13
P
14
B
15
B
16
P
13
P
11
B
12
B
16
P
14
B
15
B
a) Gösterim sırası
Sıra
Çerçeve Tipi
1
I
4
P
2 3
B B
7
P
5 6 10 8 9
B B I B B
b) Akım sırası
Şekil 3.5. Video gösterim ve akım sıraları
Bu sorunun aşılması için MPEG video akımında çerçevelerin gösterim sırası ile akım
içindeki sıraları farklı tutulmakta ve kod çözücü birimin gösterim sıralarını tespit
edebilmesi için, geçici referans numarası adı verilen 10 bitlik bir numara kullanılmaktadır.
Kod çözücü birim akımdaki sıralara dikkat etmemekte ve izleyiciye birbirini takip eden
referans numaralı resimleri göstermektedir.
Örnek video akımı dikkate alındığında kodu çözülmekte olan çerçevenin geçici
referans numarası 0 olan bir I çerçevesi olduğu anlaşılmaktadır.
3.1.4. Dilim başlangıç kodu
Resim çerçevesi, gösterim sırası ve diğer özellikleri kod çözücü tarafından daha
önceden belirlendiği halde henüz akım izlenebilir değildir. Kod çözücü birim, katman
yapısını takip etmekte ve bir sonraki adım olan dilim başlangıç kodunu belirlemektedir.
Dilim başlangıç kodu diğer başlangıç kodlarından farklı olarak 175 farklı seçeneğe
sahiptir.
1.Dilim başlangıç kodu 00000000 00000000 00000001 00000001
2.Dilim başlangıç kodu 00000000 00000000 00000001 00000010
Dilim Bilgisi Makroblok Makroblok Makroblok 1 2 3 Dilim Bilgisi Makroblok Makroblok Makroblok 1 2 3 ...
175.Dilim başlangıç kodu 00000000 00000000 00000001 10101111
Dilim Bilgisi Makroblok Makroblok Makroblok 1 2 3 Şekil 3.6. Dilim başlangıç kodları
31
Dilimlerin başlangıç kodları, resim çerçevesi içerisindeki konumları hakkında kod
çözücü birimi bilgilendirmektedir. Her bir dilim resim çerçevesinin bir satırını tamamen
kaplamak zorunda değildir. Ayrıca bir resim çerçevesinin oluşturulması için, MPEG
sıkıştırma metodunun en fazla 175 adet çerçeveye izin verdiği açıkça görülmektedir.
Çizelge 3. 5. Dilim başlangıcı ve örnek akım ile ilgili bilgiler
0
1
2
3
0
0
0
0
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1 Numaralı dilim. Dilim numarasına göre başlık değişiyor
1
0
0
1
Nicelik Ölçeği
0
1 byte ilave bilgi alanı 0=Bilgi Yok 1=Bilgi var
0
0
1
1
9
3.1.5. Makro blok ve blok başlangıcı
Makro blokların ve blokların herhangi bir başlangıç kodu bulunmamaktadır. Dilim
bilgisinin hemen ardından makro blok ve kodlanmış bit dokusu şeklinde blok bilgisi
gelmektedir.
Dilim Bilgisi Makro blok adres Makro blok artım miktarı tipi Nicelik ölçeği Şekil 3.7. Makro blok
32
Hareket Vektörü Kodlanmış blok dokusu 4. VİDEO AKIMININ ŞİFRELENMESİ
Sıkıştırılmış video akımında görsel bozulmaya dayalı şifreleme işlemi yapmak, MPEG
kodlamanın kayıplı bir sıkıştırma metodu olmasından dolayı uygun olmamaktadır. Ayrıca
görsel bozulmaya dayalı şifreleme sistemlerinin video işleme metotları kullanarak
kırılabileceği gösterilmiştir.
Bu durumda, görsel bozulmaya dayalı bir şifreleme
algoritması kadar hafif ve düşük maliyetli bir şifreleme için MPEG sıkıştırma
algoritmasına uyumlu bir metot geliştirilmelidir.
MPEG akımını şifrelemek için geliştirilen algoritmaların temelinde kısmi şifreleme
bulunmaktadır. Kısmi şifreleme ile akımın gösterilebilmesi için hayati önem taşıyan
bilgiler şifrelendiğinde akımın gösterilmesi mümkün olmamaktadır.
4.1 Kısmi Şifreleme
Günümüz araştırmaları, var olan şifreleme algoritmalarının video verisinin gerçek
zamanlılık ihtiyaçlarını karşılayacak şekilde yeniden düzenlenmesi ya da yeni şifreleme
algoritmaları geliştirilmesini hedef almaktadır. Bu araştırmalardan büyük bir kısmı, veri
biçimine has özellikleri kullanarak güvenliği sağlamaya dayalıdır. Bu tip yaklaşımlara
kısmi şifreleme denilmektedir. Kısmi şifreleme, veri bütünün bir kısmını işleyerek veri
bütününün tamamının güvende olmasını sağlamaktadır. Kısmı şifrelemede boyut olarak
küçük fakat akımın izlenebilirliği için önemli olan parçalar şifrelenmekte, geriye kalan
büyük kısım ise şifrelenmemektedir.
Sayısal video boyut olarak çok yer kapladığından kısmi şifreleme algoritmaları
sıkıştırılmış video dosyalarına uygulanmaktadır. Sıkıştırılmış video en düşük düzeyde veri
tekrarı içermekte ve akımdaki ufak bozukluklardan büyük tahribat görmektedir.
Akım Yönü Æ
Önemsiz
Önemli
Kısmi
Şifreleme
Önemsiz
Şekil 4.1. Kısmi şifreleme
33
Önemli
Gerek gerçek zaman sınırlamaları, gerekse potansiyel maliyet artımı gibi
sebeplerden akan video görüntüleri kısmi olarak şifrelenmelidir. Kısmi şifrelemenin en
hassas noktası, şifrelenecek olan önemli alanların belirlenmesi işlemidir.
Örnex olarxk Türxçe bix cümlx için xer beşixci haxfin şxfrelxnmesx çok exkin bxr yönxem
dexildix.
Yukarıdaki örnek cümlede %20’lik bir tahribat olmasına rağmen cümle hala
anlaşılabilir düzeydedir. Kısmi şifreleme yapılırken en düşük düzeyde bozulma ile en
yüksek düzeyde güvenlik hedeflenmektedir. Bu örnek göstermektedir ki kısmi şifreleme,
şifrelenecek olan verinin tipine özel olmalıdır.
4.2.
Geçici Referans Numaralarını Şifreleme
MPEG video akımının doğru olarak gösterilebilmesi için geçici referans numaraları
çok önemlidir. Bir MPEG video akımında her bir çerçevenin geçici referans numarası
bulunmaktadır. Saniyede 30 çerçeve gösterim oranına sahip bir akımda, bir dakikalık
görüntüde yaklaşık 2KB yer kaplayan 1800 adet geçici referans numarası vardır.
Gerçekleştirilen şifreleme algoritmasında, video akımında bulunan geçici referans
numaraları şifrelenecek alan olarak belirlenmektedir. Şekil 4.2’de gösterildiği gibi geçici
referans numaraları, sıkıştırılmış video akımın depolanması ile gösterilmesi arasındaki
sıralama farklılıklarını kodlamaktadır.
a) Gösterim sırası
b) Depolama sırası
Şekil 4.2. Gösterim ve depolama sıraları
34
Geçici referans numaralarını şifrelemek için geçici referans numarası ile anahtar
değeri XOR işlemine tabi tutulmaktadır.
Geçici referans numarası bilinçli şekilde bozulmuş bir video akımının şifreli olduğu
kod çözücü birim tarafından fark edilememektedir. Kod çözücü birim hatalı referans
numaralarını kullanarak akımın kodunu çözdüğünde görsel olarak bozuk bir görüntü elde
edilmektedir. Şekilde kod çözücünün şifreli görüntüyü nasıl gösterdiği görülmektedir.
a) Orijinal görüntü
b) Şifrelenmiş görüntü
Şekil 4.3. Orijinal görüntü ve şifreleme işlemi sonrası izlenebilen görüntü
Referans numaralarının şifrelenmesi ile gösterim sırası bozulmuş çerçeveler elde
edilmektedir. Yapılan şifreleme sonucunda video akımında 1/15.000 oranında çok düşük
bir şifreleme alanı ile akımda izlenemeyecek oranda bozulma elde edilmiştir.
Şifreleme işleminin sonucunda referans numaraları tahrip edilmiş bir video akımı
elde edilmektedir ve hatalı referanslara sahip hareket vektörleri ortaya çıkmaktadır. Benzer
yöntemler MPEG video katmanları dikkate alındığında hareket vektörlerinin ve
işaretlerinin değiştirilebilmesi için akımı blok seviyesine kadar çözmektedir. Bu da akımın
neredeyse tamamının elden geçmesi anlamına gelmektedir. Geliştirilen yöntem, akımı
resim katmanına kadar incelemekte ve hareket vektörlerinin şifrelenmesi işlemini, hatalı
referanslar yaratarak temelden çözmektedir.
35
5. SECURE
Secure projesi kapsamında, MPEG akımındaki referans numaralarını şifreleyen ve
gösterim sırası bozulmuş bir akım meydana getiren bir çekirdek tasarlanmıştır. Çok düşük
oranda veri şifrelenerek akımda izlenemeyecek derecede görsel bozulmalar elde
edilmektedir.
Çekirdeğin çalışması sonlu durum makinesi şeklinde tasarlanmıştır. BAŞLANGIÇ,
ANAHTAR_HAZIR, D1, D2, D3, D4,R1,R2, B1, B2, B3, B4 olmak üzere on bir adet
durum vardır. Çizelge 5.1 durumların açıklamalarını şekil 5.x ise durum diyagramını
göstermektedir.
Çizelge 5.1. Durum çizelgesi
Durum
Tanımı
Başlangıç durumu, cihazın şifreleme anahtarı beklediği durum,
BASLANGIC
veri_bekleme girişi pasif
Yaz girişinin aktif olması ve anahtarın yazılması ile geçilen durum.
ANAHTAR_HAZIR
veri_bekleme girişi aktif, ilk verinin geldiği durum
İkinci verinin geldiği durum, eğer başlık bilgisi değilse bir sonraki
D1
durum B1 ve şifreleme pasif,veri bekleme pasif, eğer başlık bilgisi
ise bir sonraki durum D2, veri bekleme aktif
Üçüncü verinin geldiği durum, eğer başlık bilgisi değilse bir
D2
sonraki durum B2 ve şifreleme pasif, ,veri bekleme pasif eğer
başlık bilgisi ise bir sonraki durum D3, veri bekleme aktif
Dördüncü verinin geldiği durum, eğer başlık bilgisi değilse bir
D3
sonraki durum B3 ve şifreleme pasif, ,veri bekleme pasif eğer
başlık bilgisi ise bir sonraki durum R1
Beşinci verinin (referans numarası) geldiği durum, şifreleme aktif,
R1
sonraki durum R2
Altıncı verinin (referans numarası) geldiği durum, şifreleme aktif,
R2
sonraki durum B2
Şifreleme pasif ise fifo’dan okuma yaparak çıkışa yönlendirir,
sonraki durum ANAHTAR_HAZIR,Şifreleme aktif ise fifo’dan
B1
okuma yapar ve şifreleyerek çıkışa yönlendirir, sonraki durum B4,
şifreleme pasif yapılır.
Şifreleme pasif ise fifo’dan okuma yaparak çıkışa yönlendirir,
B2
sonraki durum B1,Şifreleme aktif ise fifo’dan okuma yapar ve
şifreleyerek çıkışa yönlendirir, sonraki durum B1.
B3
Fifo’dan okuma yaparak çıkışa yönlendirir, sonraki durum B2
B4
Fifo’dan okuma yaparak çıkışa yönlendirir, sonraki durum B3
36
Şekil 5.1 Durum diyagramı
37
Başlangıç durumunda çekirdek anahtarın yüklenmesini beklemektedir. Yaz
girişinin aktif olmasıyla beraber anahtar kaydedilir ve veri_bekleme girişi aktif yapılır.
Bunun sonucunda ANAHTAR_HAZIR durumuna geçilir.
ANAHTAR_HAZIR durumunda gelen veri kontrol edilmektedir. 32 bitlik başlık
bilgisinin analiz edilmesi için dört kez veri girişi gerekmektedir. Gelen veriler her adımda
fifo’ya kaydedilmektedirler.
Gelen verilere göre D1, D2, D3 durumları oluşmaktadır. D3 durumu sonunda eğer
bir başlık bilgisine ulaşılmışsa çekirdek R1 durumuna geçer. Bu durumda geçici referans
numarası, takip eden byte alanlarındadır. R1 ve R2 durumlarında geçici referans
numaraları şifrelenmek üzere fifo’ya kaydedilirler.
B1, B2, B3, B4 durumlarında fifo’daki veriler çıkışa yönlendirilmektedirler. R2
durumundan sonra sifreleme=1 yapılarak B2 durumuna ulaşılır. Bu durumda geçici
referans numarası olan iki byte şifrelenerek veri_cikis’a yönlendirilirler. Ardından
sifreleme=0 yapılarak B4 durumuna ulaşılmaktadır. Takip eden B4, B3, B3, ve B1
durumlarında ise başlık bilgileri şifrelenmeden veri_cikis’a aktarılmaktadır.
Eğer verilerin dizlimi başlık bilgilerine uymuyorsa; sifreleme<>1 olur ve
B4,B3,B2 ve B1 durumlarından birine ulaşılır. Bu durumda veriler fifo’dan okunarak
şifrelenmeden veri_cikis’a yönlendirilirler.
38
5.1.
Ara yüz Sinyalleri
Secure tasarımında mikroişlemcili bir sisteme kolayca dahil edilebilecek genel
amaçlı bir ara yüz hedeflenmiştir. Tasarımda kullanılan ara yüz sinyalleri çizelge 5.2’deki
şekildedir.
Çizelge 5.2. Ara yüz sinyalleri ve özellikleri
Sinyal Adı
Boy
Giriş/Çıkış
Saat
1
G
Reset
1
G
Yaz
1
G
veri_bekleme
1
Ç
veri_g
8
G
veri_gecerli
1
Ç
veri_c
8
Ç
Tanımı
Çekirdeğin genel saati, tüm işlemler saatin
yükselen kenarında yapılmaktadır.
Asenkron reset girişi
Yaz sinyalinin aktif olması ile birlikte
çekirdeğe veri girişi yapılmaktadır
Çekirdeğin veri almaya hazır olduğunu
belirten çıkış
Şifrelenecek veri ve şifreleme anahtarının
çekirdeğe aktarıldığı giriş
Çekirdeğin dışarıya veri aktarmaya hazır
olduğunu belirten çıkış
Kısmi şifreleme algoritmasına göre
şifrelenmiş veri çıkışı
Secure çekirdeği saatin yükselen kenarında durum değiştirmektedir. Her saat
vuruşunda durum ve bir_sonraki_durum değişkenleri kontrol edilerek durum makinesinin
işleyişi sağlanmaktadır.
5.2.
Blok Şema Ve Mimari
Tasarlanan çekirdeğin blok şeması şekil 5.2’deki gibidir. Örnekteki şekilde 8 bitlik
veri giriş çıkışı için tasarlanmış olan çekirdek görülmektedir. İstenildiği taktirde
generic(veri_boyu:natural:=x) şeklinde boyu değiştirilebilir.
Şekil 5.2. Secure Blok Şeması
39
Çekirdek akımın tamamını şifrelemekte, kısmı şifreleme gerçekleştirmektedir. Bu
yüzden şifrelenecek kısım belirlenirken gelecek olan veriler fifo bellek kullanılarak
depolamaktadır.
5.3.
Anahtar Yazılması
Şifreleme işlemine başlamadan önce şifreleme için kullanılacak olan anahtar
yüklenmelidir. Yaz girişinin aktif edilmesi ile birlikte saat vuruşunun sonunda anahtar
değer veri_g noktasından içeriye alınmaktadır. Anahtar alındıktan sonra çekirdek şifreleme
yapmaya hazır olduğunu şekil 5.3’te görüldüğü gibi veri_bekleme çıkışını aktif yaparak
belirtir.
Şekil 5.3. Anahtar yazılması işlemi
Anahtarın başarı ile alınması veri_bekleme girişinin aktif olması ile
anlaşılmaktadır. Çekirdek anahtarın alınması ile birlikte ANAHTAR_HAZIR durumuna
geçmektedir.
5.4.
Veri girişi
Anahtarın belirlenmesi ile birlikte çekirdek, veri_g girişinden veri kabul etmeye
hazır hale geldiğini veri_bekleme girişini aktif ederek belli eder. Yaz girişinin aktif olduğu
durumlarda veri_g girişinden veriler işlenmeye başlarlar. Algoritma, girilen veriyi
belirlediği şartlar dahilinde işlemek üzere bekletebilir veya şifrelemeden doğrudan veri
çıkışına yönlendirebilir.
40
Şekil 5.4. Secure veri girişi
Her veri girişi ile birlikte çekirdek D1, D2, D3, R1, R2, B1, B2, B3 ve B4
durumlarından birisine geçmektedir.
5.5.
Veri Çıkışı
Secure bir akan video görüntü şifreleyicidir. Bu yüzden veri girişi olduğu sürece, karşısında
şifrelenmiş veriyi alacak hazır bir hedef olmasa dahi veri çıkışını gerçekleştirir. Şifrelenmiş akımın
hazır olduğunu veri_gecerli çıkışını aktif yaparak alıcıya bildirmektedir.
5.6.
Benzetim Sonuçları
Çekirdeğin benzetimi Modelsim programı ile gerçekleştirilmiştir. Şekil 5.6 çekirdeğe ait
sinyalleri ve giriş çıkışları göstermektedir.
Şekil 5.5 Giriş, çıkış ve iç sinyaller
41
Şekil 5.6 Çekirdeğin ilk çalışması anı ve saat vuruşları
Yaz girişinin aktif olması ve veri girişi ile birlikte şekil 5.7’de de görüldüğü gibi anahtar
hazır hale gelmektedir ve çekirdek ANAHTAR_HAZIR durumuna geçmektedir.
Şekil 5.7 Benzetim sonuçları: ANAHTAR_HAZIR durumu
42
Anahtar hazır durumunda iken MPEG başlık bilgileri uygun olduğu takdirde çekirdek R1
durumuna geçer ve şifrelenmek üzere referans numarasını bekler
Şekil 5.8 Benzetim sonuçları: D1, D2, D3, R1 durumları
Çekirdek okuduğu 4 bytelık başlık bilgisinin ardından iki byte daha okuyarak referans
numarasına erişmiş olur.
Şekil 5.9 Benzetim sonuçları: B4, B3, B2 ve B1 durumları
43
Ardından fifo’da tuttuğu başlık bilgisini şifrelemeden, referans numarasını ise anahtar
değer ile şifreleyerek veri çıkışına yönlendirir. Bu işlem sırasında B1,B2,B3 ve B4 durumları
şekilde açıkça görülmektedir. B1,B2,B3 ve B4 durumları sırasında veri çıkışı olmaktadır ve
veri_gecerli çıkışını aktif edilmektedir. Çekirdek bu esnada yeni veri girişi kabul etmemektedir.
Akım şifrelendikten ve çıkışa aktarıldıktan sonra çekirdek yine ANAHTAR_HAZIR
durumuna geçer ve veri girişini kabul eder.
44
6. SONUÇ
Bu çalışmada video akımını şifrelemek için kullanılan yöntemler incelenmiş,
yöntemlerin açık noktaları belirlenerek alternatif bir şifreleme yöntemi geliştirilmiştir.
Geliştirilen alternatif yöntem, diğer yöntemlerden farklı olarak DES, RSA, AES
gibi zaman alıcı klasik şifreleme metotlarını içermemektedir. Video verisi gibi yüksek veri
oranlarına sahip bilginin şifrelenebilmesi için önerilen yöntem kısmi şifreleme mantığı ile
bağdaşmaktadır. Kısmi şifreleme yapan bir yöntem olması, gerçek zamanlı şifreleme
yapabilmesini sağlamaktadır.
Yöntem kullanılarak şifrelenmiş akımın yapısı büyük oranda sağlam kalmasına
rağmen akımın izlenebilirliği bozulmaktadır. Resim çerçevesi bazında şifreleme yapan bir
metot olmadığı için bilinen açık metin saldırılarına karşı daha güvenli bir metottur. Temel
tarama desenleri pikseller yerine başlangıç kodları ile ilişkilendirildiğinden özgün bir
yaklaşımdır.
Yeni geliştirilen yöntem MPEG kodlama yapısına özel tasarlandığından veri
bütününün şifrelenmesi gereken kısımlarını kendisi belirlemektedir. Video akımının
tamamı şifrelenmediğinden yöntemin kaynak ihtiyacı düşük olmaktadır.
Piksel değerlerinde bir değişiklik yapılmamasına rağmen görsel olarak bozuk bir
video görüntüsü elde edilmektedir. Bu, akımın şifresini kırmak isteyen saldırganları yanlış
yönlendirmektedir.
MPEG başlık bilgileri dosyanın çok az miktarını kapsadıkları halde içinde önemli
bilgileri barındırmaktadır. Bu bilgilere farklı yöntemler uygulanabilir.
45
KAYNAKLAR
1.
Ahmet N., Natarajan T., Rao R., 1974,
Computers,
“Discrete Cosine Transform”, IEEE Trans.
2.
Algın G. B., Tunalı E.T., 2007, “Kodlanmış video verisinin gizlilik gereksinimleri ve video
şifreleme algoritmaları”, Akademik Bilişim 2007, Kütahya.
3.
Benson B., 1986, “Television Engineering Handbook”, McGraw-Hill
4.
Bhargava B., Changgui S., Wang S.Y., 2002, “MPEG video encryption algorithms”,
Kluwer Academic Publishers
5.
Brady N., 1999, “MPEG-4 standardized methods for compression of abritrarily shaped
objects”, IEEE Trans. Circuits and Systems-Video Technologies
6.
Brady N., Bossen F., Murphy N., 1997, “Context based arithmetic encoding of 2D shape
sequences”, IEEE Image Processsing Conferance
7.
Chang S., Messerschmidt D., 1995, “Manipulation and composting of MC-DCT
compressed video”, IEEE Journal Selected Area Communications
8.
Chang S., 1995, “Compressed domain techiques for image/video indexing and
manipulation”, IEEE Conference-Image Processing
9.
Chang S., Sall S., Lee U., 1999, “Efficient video indexing scheme for content based
retrieval”, IEEE Trans. Circuits and Systems-Video Technologies
10.
Chen J., Lin D., 1997, “Optimal bit allocation for video coding video signals over ATM
Networks”, IEEE Journal Selected Area Communications
11.
Chiang T., Zhang Y., 1997, “A new rate control scheme using quadratic rate-distortion
modelling”, IEEE Trans. Circuits and Systems-Video Technologies
12.
Cheng H., Li X., 2000, “Partial encryption of compressed images and video”, IEEE Trans.
Signal Processing
46
13.
Chun K., Lim W., Cho H., Ra B., 1993, “An adaptive perceptual quantization algorithm for
video coding”, IEEE Trans. Consumer Electronics
14.
Clarke C.K.P., 1986, “Colour encoding and decoding techniques for line-locked sampled
PAL and NTSC television signals”, BBC Research Department Report BBC
15.
Cücioğlu İ., 2003, “Analog video temelleri”, www.eproje.com
16.
Coppersmith D., 1994, “The data encryption standard (DES) and its strenght against
attacks”, IBM journal of research and development.
17.
Daemen J., Rijmen V., 1999, ”AES proposal: rijndel, AES algorithm submission”,
http://www.nist.gov/CryptoToolkit.
18.
Ding W., Liu B., 1995, “Rate-Quantization modelling for rate control of MPEG video
coding and recording” , SPIE Digital Video Compression
19.
Ding W., Liu B., 1996, “Rate control of MPEG video coding and recording by ratequantization modelling”, IEEE Trans. Circuits and Systems-Video Technologies
20.
Dipçin V., Pazarcı M., 2003, “Görsel bozulmaya dayalı sayısal video şifreleme”, Itu
dergisi-Mühendislik, Cilt 2, Sayı 1
21.
Divakaran A., Sun H., 2000, “A descriptor for spatial distribution of motion activity”, Proc.
Storage and Retrieaval From Image and Video Databases, San Jose CA
22.
Drake M., Hoffmann H., Rabbah R., Amarasinghe S., 2006, “MPEG-2 Decoding in stream
programming language”, 20th IEEE International Parallel & Distributed Processing Symposium
23.
Dufaux F., Moscheni F.,1995, ”Motion estimation techniques for digital tv: a review and a
new contribution”, Proc. Of IEEE, Vol. 83
24.
Erol B., Kossentini F., 2000, ”Automatic key video object plane selection using shape
information in the MPEG-4 compressed domain”, IEEE Trans. Multimedia
25.
Eskicioglu A.M., 2003, “Protecting intellectual property in digital multimedia Networks”,
IEEE Computer, (Vol. 36, No. 7), 39–45
26.
Fieury P., Reichel J., Ebrahimi T., 1996, ”Image quality prediction for bit rate allacation”,
IEEE International Conferance Image Processing
47
27.
Fish M. M., Stögner H., Uhl A., 2004, “Layered encryption techniques for dct-coded visual
data”, The European Association for Signal Processing
28.
Furth B.,Socek D., 2003, “Multimedia security : encryption techniques”, IEC
Comprehensive Report on Information Security, Chicago
29.
Furth B., Kirovsky D., 2004, “Multimedia security handbook”, CRC
30.
Geman S., Geman D., 1984, ”Stochastic relaxation, gibbs distributions, and the bayesian
restoration on images” , IEEE Trans. Pattern Anal. Machine
31.
Gapalakrishnan S., Reininger D., 1999, “Realtime MPEG system stream transcoder for
heterogeneous Networks”, Packet Video Workshop, New York
32.
Gilvarry J., 1999, ‘Extraction of Motion Vectors from an MPEG Stream’, Technical
Report, Dublin City University
33.
Howgrave-Graham N., Nguyen P., Pointcheval D., Proos J., Silverman J.H., Singer A.,
Whyte W., 2003, “The Impact of Decryption Failures on the Security of NTRU Encryption”,
Crypto 2003, Santa Barbara
34.
Jack K., 1995, “Video Demystified”, LLH Technology Publishing
35.
Khayam S.A., 2003, “The discrete cosine transform (DCT): theory and application”,
Michigan State University
36.
Kuhn M., 1998, “Analysis
http://www.cl.cam.ac.uk/ mgk25
of
nagravision
video
scrambling
method”,
37.
Li S., Chen G., 2007, “On the design of perceptual MPEG-video encryption algorithms”,
IEEE Transactions on Circuits and Systems for Video Technology
38.
Liu X., Eskicioglu A.M., 2003, “Selective Encryption of Multimedia Content in
Distribution Networks: Challenges and New Directions”, IASTED International Conference on
Communications, Internet and Information Technology (CIIT 2003), Scottsdale
39.
Lookabaugh T., Sicker D.C., Keaton D.M., Guo W.Y., Vedula I., 2003, “Security Analysis
of Selectively Encrypted MPEG-2 Streams”, Multimedia Systems and Applications VI Conference
40.
Li Y., Chen Z., Tan S., Champbell R. H., 1996, “Security enhanced MPEG player”, IEEE
First International Workshop on Multimedia Software Development (MMSD'96),
48
41.
Mao Y., Wu M., 2004, “Security evaluation for communication-friendly encryption for
multimedia”, International Conference on Image Processing (ICIP 2004) ,Singapore
42.
Maples T.B., Spanos G.A., 1995, “Performance Study Of Selective Encryption Scheme For
The Security Of Networked Real-Time Video”, 4th International Conference on Computer and
Communications, Las Vegas
43.
Markus K., 1998, “Analysis of the nagravision video scrambling method”
44.
MENG, J., CHANG, S., 1995, ‘Tools for Compressed Domain Video Indexing and
Editing’, SPIE Conference on Storage and Retrieval
45.
Meyer J., Gadegast F., 1995, ”Security Mechanisms for Multimedia Data with the Example
MPEG-1 Video”, Project Description of SECMPEG, Technical University of Berlin
46.
Mitchell J.L., Pennebaker W.B., Fogg C.E., Legal D.J., 1996, “Mpeg Video Compression
Standard”, Chapman and Hall
47.
Nemoto Y., Toyota Y., Sakazawa S., Zhao L., Yamamoto H., 2005, “A study on video
scrambling considering inter-frame prediction”, IEICE Technical Report- Image engineering
48.
Patel N., Sethi I., 1996, “Compressed Video Processing for Cut Detection”, IEE
Proceedings - Vision, Image and Signal Processing
49.
Podesser M., Schmidt H.,Uhl A., 2002, “Selective Bitplane Encryption for Secure
Transmission of Image Data in Mobile Environments”, 5th Nordic Signal Processing Symposium,
Hurtigruten, Norway
50.
Pommer A., Uhl A., 2003, “Selective encryption of wavelet-packet encoded image data”,
ACM Multimedia Systems
51.
Qiao L., Nahrstedt K., 1997, “A New Algorithm for MPEG Video Encryption”,1st
International Conference on Imaging Science, Systems and Technology (CISST ’97)
52.
Rivest R., Shamir A., Adleman L.,1978, “A method for optaining digital signatures and
public-key cryptosystems”, Communications of ACM, ss:120-126.
53.
RSA Laboratories, 2000, “Frequently asked questions about today's cryptography”
49
54.
Spanos G.A., Maples T.B., 1996, “Security for Real-Time MPEG Compressed Video in
Distributed Multimedia Applications”, Conference on Computers and Communications
55.
Seidel T., Socek D., Sramka M., 2004, “Parallel Symmetric Attack on NTRU using NonDeterministic Lattice Reduction”, Designs Codes and Cryptography, Kluwer Academic Publishers
56.
Shi C., Bhargava B., 1998, “A Fast MPEG Video Encryption Algorithm, 6th International
Multimedia Conference, Bristol, U.K.
57.
Shi C., Wang S., Bhargava B., 1999, “MPEG Video Encryption in Real-Time Using Secret
key Cryptography”, International Conference on Parallel and Distributed Processing Techniques
and Applications (PDPTA’99), Las Vegas
58.
Stinson D.R., 2002, “Cryptography Theory and Practice”, CRC Press, Boca Raton, FL
59.
Tang L., 1996, “Methods for Encrypting and Decrypting MPEG Video Data Efficiently”,
4th ACM International Multimedia Conference, Boston,
60.
Taşkın D., Suçsuz N., 2006, “Sıkıştırılmış ortamda çerçeve tipine dayalı gerçek zamanlı
sahne değişimi belirleme”, IV. Bilgi teknolojileri Kongresi, Denizli.
61.
Taşkın D., Taşkın C., Suçsuz N., 2007, ”MPEG akımında başlık şifreleme”, Akademik
Bilişim 2007, Kütahya.
62.
Taşkın D., Taşkın C., Suçsuz N., 2007. “MPEG akımında operatör işlemlerinin
kısıtlanması yoluyla içerik koruma”, Akademik Bilişim 2007, Kütahya.
63.
Taşkın D., Taşkın C., Suçsuz N., 2007. “Sıkıştırılmış video güvenliği”, e-Journal of New
World Sciences Academy, Volume: 2, Number: 3 (BASIMDA)
64.
Tosun A. Ş., Feng W., 2000, “Efficient Multi-layer coding and encryption of MPEG video
streams”, Multimedia and Expo, ICME 2000
65.
Van Droogenbroeck M., Benedett R., 2002, “Techniques for a Selective Encryption of
Uncompressed and Compressed Images”, Advanced Concepts for Intelligent Vision Systems
(ACIVS)
66.
Van Oorschot P.C., Menezes A.J., Vanstone S.A., 1997,
Cryptography”, CRC Press, Boca Raton, FL
“Handbook of Applied
67.
Yılmaz İ., 2002, “Renk Sistemleri, renk uzayları ve dönüşümler”, Selçuk Üniversitesi
Jeodezi ve Fotogrametri Mühendisliği Öğretiminde 30. Yıl Sempozyumu, Konya
50

Benzer belgeler

dosya1 - MCU Turkey

dosya1 - MCU Turkey sayede birbirini takip eden çerçeveler arasında az bir görsel fark olması durumunda çerçevenin tamamı dosyaya aktarılmaz. Ara çerçeve tahmini ardıl çerçevelerdeki benzerlikleri avantaj olarak kulla...

Detaylı