You are on page 1of 24

İMGE İŞLEME

Ders-9

İmge Sıkıştırma

(Yrd. Doç. Dr. M. Kemal GÜLLÜ)

Dersin web sayfası: http://mf.kou.edu.tr/elohab/kemalg/imge_web/odev.htm

Hazırlayan: M. Kemal GÜLLÜ


İmge Sıkıştırma

• Veri sıkıştırmanın sayısal imgeler üzerindeki uygulamasıdır.


• Amaç; imgeyi en verimli şekilde saklamak ya da iletmek.

İmge Sıkıştırma

Kayıpsız Sıkıştırma Kayıplı Sıkıştırma

Sıkıştırılan imge;
• Bellekte daha az yer kaplar,
• Aynı bellekte daha fazla veri saklanmasını sağlar,
• İletimi kolaylaştırır (Bant genişliğini azaltır),
• Yazılım ya da donanım yükünü arttırır.
27 Ekim 2015 2
İmge Sıkıştırma

İmge Sıkıştırma

Kayıpsız Sıkıştırma Kayıplı Sıkıştırma

(Run length encoding, (Chroma subsampling,


Entropy coding, Transform coding,
LZW, Fractal compression...)
Deflation...)

Genel Yapı:

f  x, y  fˆ  x, y 
Kodlayıcı Kanal Kod Çözücü

27 Ekim 2015 3
İmge Sıkıştırma

f  x, y  Eşleme Kanal
Sembol
Nicemleme
(Dönüştürme) Kodlama

fˆ  x, y 
Kanal Sembol Kod
Ters Eşleme
Çözme

Eşleme:
f  x, y 
Eşleme Kanal
Sembol
Nicemleme
(Dönüştürme) Kodlama

• Pikseller arası artıklığı sıkıştırma için uygun biçime dönüştürme işlemi yapar.
• İmgenin yeniden elde edilebilmesi için tersi alınabilen dönüşümler kullanılır.
27 Ekim 2015 4
İmge Sıkıştırma
Nicemleme:
f  x, y 
Eşleme Kanal
Sembol
Nicemleme
(Dönüştürme) Kodlama

• Eşleyicinin çıkışınındaki verinin verimliliğini, önceden belirlenmiş belirli


kurallar çerçevesinde düşürür.
• Geri dönüşümü yoktur. Bu nedenle kayıpsız sıkıştırmada ihmal edilmelidir.

Sembol Kodlama:
f  x, y 
Eşleme Kanal
Sembol
Nicemleme
(Dönüştürme) Kodlama

• Nicemleyici çıkışındaki veriyi sabit veya değişken uzunluklu kodlar.


27 Ekim 2015 5
İmge Sıkıştırma - JPEG

JPEG (Joint Photographic Experts Group ):

• 1992 yılında uluslararası standart olarak belirlendi ve 1994 yılında bu


standard ISO 10918-1 olarak onaylandı.
• Kodlayıcı, kod çözücü ve dosya yapısını standartlaştırmaktadır.
• Genellikle kayıplı sıkıştırma tekniği olarak bilinir fakat kayıpsiz
sıkıştırma yapan temel JPEG de vardır.
• Kayıpsız sıkıştırma yöntemlerinin veri sıkıştırma oranları düşüktür
(Huffmann, LZW, Aritmetik kodlama…). JPEG’de ise yüksek sıkıştırma
oranları elde edilebilir.
• Dönüşüm kodlama kullanılır.

27 Ekim 2015 6
İmge Sıkıştırma - JPEG

JPEG Kodlama Aşamaları:


• RGB → YCbCr dönüşümü ile ışıklılık ve renk bileşenleri ayrılır.
• Işıklılık bileşeni korunur ve renk bileşenlerinin sayısı yarıya indirilir
(insan gözü ışığa, renkten daha fazla duyarlıdır).
• İmge 8x8 lik bloklara ayrılır ve her bir bloğa Ayrık Kosinüs Dönüşümü
(Discrete Cosine Transform-DCT) uygulanarak frekans dönüşümü
yapılır.
• Frekans bileşenleri nicemlenerek veri boyutunda azaltma sağlanır.
Nicemleme temel olarak düşük frekans bileşenlerini yüksek oranda,
yüksek frekans bileşenlerini düşük oranda koruyan yapıdadır.
• Her bir 8x8 blok için elde edilen nicemlenmiş frekans verisi kayıpsız
olarak sıkıştırılır.

27 Ekim 2015 7
İmge Sıkıştırma - JPEG

Kodlayıcı Yapısı:

27 Ekim 2015 8
İmge Sıkıştırma - DCT

• JPEG’de blokların 8x8 olmasının nedeni, tümdevre teknolojisi ile


kullanılmasının daha kolay olmasındandır (23). Tek bir işlem süresinde alınan
bir blok kolaylıkla işlenebilir.
• JPEG’ de ayrık kosinüs dönüşümü (Discrete Cosine Transform-DCT)
kullanılmaktadır.
• Fourier dönüşümünde sinüs ve kosinüs bileşenleri kullanılırken, ayrık kosinüs
dönüşümünde yalnızca kosinüs bileşenleri kullanılmaktadır. Yani, işaret kosinüs
bileşenleri ile ifade edilmekte ve karmaşık uzaya geçilmemektedir.

27 Ekim 2015 9
İmge Sıkıştırma - DCT

8x8 DCT temel fonksiyonlar:


DC

HF
Ters DCT (IDCT):

27 Ekim 2015 10
İmge Sıkıştırma - DCT

Avantajı:
• Enerji yoğunluğu

27 Ekim 2015 11
İmge Sıkıştırma - DCT

Avantajı (Örnek):

27 Ekim 2015 12
İmge Sıkıştırma - DCT

8x8 bir imge bloğunun DCT’sini alma:

(-128)

DC bilgisi

(DCT)

27 Ekim 2015 13
İmge Sıkıştırma - DCT

DCT katsayılarının nicemlenmesi:

Nicemleme
Nicemleme
matrisi
tablosu F(u,v) q(u,v)
8 8

DCT
DCT Nicemleme Nicemlenmiş
katsayıları 8 8
blok
27 Ekim 2015 blok matrisi 14
İmge Sıkıştırma - DCT

DCT katsayılarının nicemlenmesi:

Düşük sıkıştırma oranı, Yüksek sıkıştırma oranı,


yüksek kalite düşük kalite

27 Ekim 2015 15
İmge Sıkıştırma – Entropi Kodlama

−26
Zig-zag tarama:
−3 0

−3 −2 −6

2 −4 1 −4

1 1 5 1 2

−1 1 −1 2 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

27 Ekim 2015 0 16
İmge Sıkıştırma – Entropi Kodlama

Bloğu sonlandırma: −26 −26

−3 0 −3 0

−3 −2 −6 −3 −2 −6

2 −4 1 −4 2 −4 1 −4

1 1 5 1 2 1 1 5 1 2

−1 1 −1 2 0 0 −1 1 −1 2 0 0

0 0 0 −1 −1 0 0 0 0 0 −1 −1 EOB

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
27 Ekim 2015 17

0
İmge Sıkıştırma – Entropi Kodlama

• Blokların DC katsayıları büyük ve değişkendir fakat yanındaki bloğun DC


değerine yakındır (ilişki yüksektir).
• Bloklar için DC değerlerin farkları, Farksal Darbe Kod Modülasyonu (Differential
Phase Code Modulation-DPCM) ile kodlanır.

• Zig zag tarama sonrası oluşan veride çok sayıda sıfır bulunabilmektedir (Bu
sıfırlar yüksek frekans bileşenlerini içermekteydi).
• Bu verileri daha verimli kodlamak için Dizi Uzunluğu Kodlaması (Run Length
Encoding-RLE) kullanılmaktadır.
Örn;
WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWW
WWWWWWWWWWWBWWWWWWWWWWWWWW

RLE sonrası:
12W1B12W3B24W1B14W

Şeklini almaktadır.
27 Ekim 2015 18
İmge Sıkıştırma – Entropi Kodlama

• Tek bir blok için kodlama ve kod çözme:

27 Ekim 2015 19
İmge Sıkıştırma – Entropi Kodlama

• RLE ile kodlanmış dizi en son Entropi Kodlama’dan geçirilerek JPEG


dosyası oluşturulur.

• Entropi kodlamada:
• Aritmetik Kodlama
• Huffman Kodlama
kullanılır.

27 Ekim 2015 20
İmge Sıkıştırma - JPEG

10:1 sıkıştırma oranı

orijinal imge

27 Ekim 2015 21
45:1 sıkıştırma oranı
İmge Sıkıştırma - JPEG

%100 kalite, 83 kbayt %25 kalite, 9.5 kbayt

27 Ekim 2015 22
%10 kalite, 4.8 kbayt %1 kalite 1.5 kbayt
İmge Sıkıştırma – Kalite Ölçütü

Kalite Ölçütü:
• Sıkıştırılmış imgenin orjinaline ne kadar benzer olduğunu bulmak için genelde
kullanılan metrik RMS (root mean square) dir.
• Hata:
e  x, y   fˆ  x, y   f  x, y 
• Toplam hata:
M 1 N 1
e     fˆ  x, y   f  x, y   İşaret bağımlı
x 0 y 0
 
• Toplam ortalama karesel hatanın karekökü (RMS):
2 1/ 2
 1 M 1 N 1 
eRMS 
 MN    f  x, y   f  x , y   

ˆ
 
 x 0 y 0 
27 Ekim 2015 23
İmge Sıkıştırma

SNR (Signal to Noise Ratio):


1/ 2
 M 1 N 1 2

    f  x, y   
 
x 0 y 0
SNRRMS
 M 1 N 1 2 

    fˆ  x, y   f  x, y   
 x 0 y 0 

PSNR (Peak Signal to Noise Ratio):

 MAX I 
PSNR  20 log10  
 RMS 
e

27 Ekim 2015 24

You might also like