Picproje Elektronik Sitesi

SERBEST BÖLGE => Programlama ve Algoritma => Konuyu başlatan: SpeedyX - 01 Kasım 2012, 14:44:50

Başlık: Veri sıkıştırma algoritmaları
Gönderen: SpeedyX - 01 Kasım 2012, 14:44:50
Merhaba,

7 yada 8 bitlik veri katarını sıkıştırmak için kullanılabilecek sıkıştırma algoritmaları tavsiyeleri arıyorum.

1kbyte ile 4Mbyte uzunluğunda veriyi %50+ sıkıştırabilmek için hangi algoritmaları incelemeliyiz?
Başlık: Ynt: Veri sıkıştırma algoritmaları
Gönderen: berat23 - 01 Kasım 2012, 14:51:17
kayıplı-kayıpsız?
Başlık: Ynt: Veri sıkıştırma algoritmaları
Gönderen: Klein - 01 Kasım 2012, 15:01:13
Veri nedir?
Eğer kayıpsız sıkıştırma ve çözme yapacaksanız, hufmann algoritması olarak bilinen bir algoritma var.

http://www.csharpnedir.com/articles/read/?filter=&author=&cat=cs&id=189&title=Huffman%20Veri%20S%C4%B1k%C4%B1%C5%9Ft%C4%B1rma%20Algoritmas%C4%B1%20ve%20Uygulamas%C4%B1 (http://www.csharpnedir.com/articles/read/?filter=&author=&cat=cs&id=189&title=Huffman%20Veri%20S%C4%B1k%C4%B1%C5%9Ft%C4%B1rma%20Algoritmas%C4%B1%20ve%20Uygulamas%C4%B1)

Eğer video veya ses gibi, elde ettiğimiz verideki kayıpların önemli lmadığı yerlerde kullanılacaksa daha basit algoritmalar var.
Başlık: Ynt: Veri sıkıştırma algoritmaları
Gönderen: SpeedyX - 01 Kasım 2012, 18:36:54
Pardon, kayıpsız veri sıkıştırma olduğunu yazmayı unutmuşum.

Veri; belli ascii karakterlerden oluşuyor. A..Z a..z 0..9 /*-+!'^+%&/()=? gibi
Başlık: Ynt: Veri sıkıştırma algoritmaları
Gönderen: Klein - 01 Kasım 2012, 19:05:12
Ascii veride  hufmann  algoritması oldukça yüksek başarı sağlıyor.  Yukarıda verdiğim linkte oldukça güzel anlatılmış.
Başlık: Ynt: Veri sıkıştırma algoritmaları
Gönderen: SpeedyX - 01 Kasım 2012, 19:21:43
Hocam aslında huffman okulda da okuduğum ve önceden kullandığım bir yöntem.

Daha iyisini bulmazsam yine aynısını kullanacağım.
Başlık: Ynt: Veri sıkıştırma algoritmaları
Gönderen: Erdem - 01 Kasım 2012, 20:12:11
Huffman'ın dışında LZW de kullanılıyor sanırım.

Sedgewick'in Algorithms kitabına bakabilirsiniz. Bölüm 5.5

http://algs4.cs.princeton.edu/55compression/ (http://algs4.cs.princeton.edu/55compression/)

Hatta daha iyisi kaydolup kendisinden de dinlenebilir  :)

https://www.coursera.org/course/algs4partI (https://www.coursera.org/course/algs4partI)
Başlık: Ynt: Veri sıkıştırma algoritmaları
Gönderen: t2 - 01 Kasım 2012, 20:20:32
Alıntı yapılan: Klein - 01 Kasım 2012, 15:01:13
Eğer video veya ses gibi, elde ettiğimiz verideki kayıpların önemli lmadığı yerlerde kullanılacaksa daha basit algoritmalar var.
Bana böyle algoritma lazım. Basit bir ses sinyalini sıkıştırmak istiyorum. Bu sinyal çok dar bir band içeriyor. yani konuşma bandının bile altında. kalite pek önemli değil.  basit ve hızlı kodlama lazım? ulaw mu law, adpcm  bunları  inceledim. bunlar bile lüks kaldı. daha da basit kodlama gerek. saygılar .
Başlık: Ynt: Veri sıkıştırma algoritmaları
Gönderen: Klein - 01 Kasım 2012, 20:35:48
Delta modülasyonu var. Çok hızlı değişen sinyaller için pek önerilmiyor ama kalite çok önemli değilse denenebilir.
Peşpeşe alınan iki örnek arasındaki büyüklük küçüklük durumuna göre kodlanıyor. Eğer sinyal bir öncekinden büyükse, 1 küçükse 0 olarak kodlanıyor.
Başlık: Ynt: Veri sıkıştırma algoritmaları
Gönderen: t2 - 01 Kasım 2012, 20:38:05
onu da yapmaya çalıştım. öncekine eşitse alıp başını gidiyor. sonra tavana vurup yere düşüyor yeniden yükseliyor. haydaaa.. sinyal dağıldı gitti. neyse 2 bit yapsam 3 durum içinyeterli. bir durumda sinyal yok durumu olabilir. toplam 4 durum olur. büyük, küçük, veya eşit. + yok.  yeniden uğraşayım. 

önceki sinyalden değil de kodlanan sinyalden tekar geribesleme yapmak laızm. yani önceki değil de önceki diye kodladığın sinyal ile olan farkına bakılacak..

Her sabah uyanıyorum bu gün yeni bir kodek icat edilecek, tarihi bir gün diyorum :)
Başlık: Ynt: Veri sıkıştırma algoritmaları
Gönderen: Klein - 01 Kasım 2012, 20:52:48
Adaptif delta modülasyon, sabit basamaklı delta modülasyonu gibi birkaç basit  kodlama yötemi daha var, ama muhtemelen bunların hepsini incelediniz.
Başlık: Ynt: Veri sıkıştırma algoritmaları
Gönderen: t2 - 01 Kasım 2012, 20:56:10
benim nacizane anladığım, sinyali güzel sıkıştırmak istiyorsak  geniş bir pencereden bakmak lazım. her örneği diğerlerinden bağımsız veya sadace önceki ve sonrakine bakarak sıkıştırmak çok performans vermiyor. Çerçeve süresi uzun olmalı.  iyi codec öyle oluyor.  en az 5-10ms gibi örnekler depolanacak, işlenecek..
Başlık: Ynt: Veri sıkıştırma algoritmaları
Gönderen: Klein - 01 Kasım 2012, 21:17:23
Sıkıştırma oranı ve kalite arttıkça, algoritmanın zorluğu da artıyor. aLaw algoritmasından daha basit ama DM den kaliteli olsun isteyince, yeni bir codec icat edilmesini beklemeten başka bir şey kalmıyor geriye :)
Başlık: Ynt: Veri sıkıştırma algoritmaları
Gönderen: SpeedyX - 01 Kasım 2012, 22:00:24
Sanırım başka öneri gelmeyecek. LZMA, LZW dolayısıyla huffman konusunda matlab ve C ortamında tecrübeliyim. Yine aynı yoldan devam etmek en doğrusu olacak. Cevaplar için teşekkürler.