Ödev Konuları

KONU 1: JPEG, JPEG 2000, JPEG XR standartlarını karşılaştıran program

nConvert gibi bir dönüştürme programı ile 3 farklı standartta sıkıştırma yapan ve sonuçları görüntü kalitesi açısından karşılaştıran program yazılması. Program sıkıştırılmamış 24bpp (bit per pixel) bir BMP yada TIFF resim dosyasını input olarak alıp bu dosyayı önce JPEG ile istenilen bir kalite oranında sıkıştıracak (bu kalite oranı da kullanıcı tarafından girilecek). Daha sonra aynı input dosyasını JPEG dosyasının sıkıştırma oranı kadar JPEG 2000 ve JPEG XR ile sıkıştıracak (tüm sıkışan dosyalarının boyutu aynı olacak) ve aralarındaki kalite farkını bilinen bozulma oranı ölçme hesaplamalarının tamamı ile ölçerek bu değerleri görüntüleyecek (Ayrıca tüm CODEC'ler için sıkıştırma ve açma hızları da ölçülebilirse iyi olur).

KONU 2: Video sıkıştırma yöntemlerinin karşılaştırması

Video codec karşılaştırmasının hangi prensiplerle yapıldığının açıklanması ve daha önce yapılmış olan video codec karşılaştırmalarının detaylı olarak anlatılması. İlgili codec'lerin VirtualDub gibi yazılımlar ile test edilmesi, modern codec'lerin en son sürümlerinin sunulan yaklaşımlar ile karşılaştırılması.
FAYDALI ADRESLER:
http://en.wikipedia.org/wiki/Comparison_of_video_codecs
http://www.compression.ru/video/
http://www.100fps.com/codec_quality_comparison.htm
NOT: Sadece bu 3 adrese bağlı kalmadan başka adreslerden de faydalanılabilir.

KONU 3: Vocoder (Konuşma kodalayıcılar)

Konuşma kodalamanın prensiplerinin açıklanması. Geçmişten günümüze en çok bilinen ve kullanılan konuşma kodlama yöntemlerinin sunulması (analog olanlar dahil). İnsan sesi sıkıştırmada kullanılan vocoder'ların karşılaştırmalarının incelenmesi ve günümüzde en çok kullanılan en başarılı vocoder'ların belirlenmesi.

KONU 4: Ayrık Zamanlı (discrete) Dönüşümler

Dönüşüm işlemlerinin ne amaçla yapıldığının açıklanması. Discrete sine transform (DCT), Discrete cosine transform (DCT), Modified discrete cosine transform (MDCT), Discrete Fourier transform (DFT), discrete wavelet transform (DWT) gibi kayıplı sıkıştırmada kullanılan dönüşümlerin açıklanarak, hangi tür veriler için hangi dönüşümü kullanmanın daha elverişli olduğunun belirlenmesi.

KONU 5: Steganography yöntemlerinin kayıplı veri sıkıştırma ile kullanılması

Bilgi gizleme tekniklerinin; ses, görüntü ve hareketli görüntü sıkıştırmada kullanılan JPEG, MP3, MPEG gibi yöntemler ile birlikte kullanılmasının araştırılması. Var olan bilgi gizleme araçlarının birkaç tanesi ile örnek verilmesi.
FAYDALI ADRESLER:
en.wikipedia.org/wiki/Steganography
http://www.petitcolas.net/fabien/steganography/mp3stego/index.html
http://www.garykessler.net/library/steganography.html
http://members.fortunecity.it/blackvisionit/PUFFV200.HTM

KONU 6: Metin verisinin kayıplı olarak sıkıştırılması

Semantik sıkıştırma, metin sadeleştirme (text simplification) gibi teknikler kullanılarak metin verisinin kayıplı olarak sıkıştırılması ile ilgili bir program yazıması.

KONU 7: Video sıkıştırmada yeni tekniklerin açıklanması

High Efficiency Video Coding (HEVC) standardı (diğer adları: H.265 ve MPEG-H Part 2) ve VC-2 (Dirac): BBC Research Department tarafından geliştirilen bir video sıkıştırma yöntemi hakkında bilgi verilmesi

KONU 8: Gen verisini (DNA dizileri) sıkıştırma yöntemlerinin açıklanması

4 farklı DNA seçeneği olan Adenin (A), Timin (T), Sitozin (C) ve Guanin (G) ikili kod ile temsil edilirken her biri için 2 bit kullanmak yeterlidir. Bu verinin sıkıştırılması için kullanılan GDC, GRS, GReEN, DNAZip, GenomeZip gibi yöntemlerden birkaçı mevcuttur.
FAYDALI ADRESLER:
https://en.wikipedia.org/wiki/Compression_of_Genomic_Re-Sequencing_Data
http://www.slideshare.net/Marwa_Alrikaby/dna-compression

KONU 9: Veritabanlarında sıkıştırmanın nasıl kullanılacağının açıklanması

SQL Server ve Oracle gibi VTYS'ler üzerinde tablo ve indeksleri sıkıştırmanın nasıl yapılacağı hakkında bilgi verilmesi (hangi algoritmaların kullanıldığı genelde pek açıklanmadığı için algoritmaları vermeniz gerekmiyor)
FAYDALI ADRESLER:
http://sqlmag.com/database-performance-tuning/practical-data-compression-sql-server
https://msdn.microsoft.com/en-us/library/cc280449.aspx
https://technet.microsoft.com/en-us/library/cc280449(v=sql.105).aspx
https://msdn.microsoft.com/en-us/library/hh710070.aspx
https://blogs.oracle.com/DBStorage/entry/compressing_your_indexes_index_key
https://blogs.oracle.com/DBStorage/entry/compressing_your_indexes_advanced_index
http://allthingsoracle.com/compression-in-oracle-part-4-basic-index-compression/
http://www.dba-oracle.com/oracle11g/sf_Oracle_11g_Data_Compression_Tips_for_the_DBA.html

KONU 10: TCP & UDP ağlar üzerinde kullanılan sıkıştırma yöntemlerinin açıklanması

Robust Header Compression (ROHC), IPComp gibi teknikler.

KONU 11: PPP ağlar üzerinde kullanılan sıkıştırma yöntemlerinin açıklanması

CCP (Compression Control Protocol) altında tanımlı LZS (Lempel-Ziv-Stac) ve MPPC (Microsoft Point-to-Point Compression) gibi yöntemler.

KONU 12: HTTP sıkıştırma yöntemlerinin açıklanması

Web sunucuları ve web istemcilerinde transfer süresini azaltmak için kullanılan yöntemlerden SDCH ve Brotli gibi yöntemlerin açıklanması
FAYDALI ADRESLER:
https://en.wikipedia.org/wiki/HTTP_compression

KONU 13: Görüntü sıkıştırmada yeni tekniklerin açıklanması

Google tarafından 30 Eylül 2010'da duyurulan WebP, JPEG kodlayıcısı ile geriye dönük uyumlu olan, 16 bite kadar renk derinliği, kayıpsız sıkıştırma ve alfa kanalı desteği gibi özelliklere sahip JPEG XT ve Google tarafından Mart 2017'de duyurulan Algısal JPEG kodlayıcısı (Perceptual JPEG encoder: Guetzli) hakkında bilgi verilmesi.
FAYDALI ADRESLER:
https://developers.google.com/speed/webp/
https://jpeg.org/jpegxt/index.html
https://github.com/google/guetzli
http://www.teknotalk.com/google-guetzli-jpeg-algoritma-55300/
https://jpeg.org/downloads/aic/wg1n73041_icip_2016_grand_challenge.pdf