> golomb | optimal | sıkıştırma <
// Golomb Kodlama - Esnek bölen ile optimal tamsayı sıkıştırma
>> özellikler
Esnek bölen
En yüksek sıkıştırma verimliliği için istediğiniz M değerini seçin.
Kırpılmış ikili
Kalanı kodlamak için gereken en az bit sayısını kullanır.
Genel amaçlı
Negatif olmayan herhangi bir tamsayı dağılımı ile çalışır.
>> teknik bilgiler
Golomb kodlama nasıl çalışır?
Golomb kodlama her tamsayı n sayısını bölen M ile böler ve bölüm q ile kalan r elde edilir. Bölüm unar olarak, kalan ise kırpılmış ikili kodlama ile kodlanır; böylece M olası değer için gereken bit sayısı en aza indirilir. Bu, p = 1/M parametreli geometrik dağılımlar için optimal bir kod oluşturur.
Golomb kodlama örneği (M=5)
M=5, b=⌈log₂(5)⌉=3, c=2³-5=3 0 → q=0, r=0 → 0|00 → 000 (r<3 için 2 bit) 1 → q=0, r=1 → 0|01 → 001 (r<3 için 2 bit) 2 → q=0, r=2 → 0|10 → 010 (r<3 için 2 bit) 3 → q=0, r=3 → 0|110 → 0110 (r≥3 için 3 bit) 4 → q=0, r=4 → 0|111 → 0111 (r≥3 için 3 bit) 5 → q=1, r=0 → 10|00 → 1000 6 → q=1, r=1 → 10|01 → 1001 7 → q=1, r=2 → 10|10 → 1010 Kırpılmış ikili: r<3 için 2 bit, r≥3 için 3 bit kullanılır
Neden Golomb kodlama kullanmalısınız?
- Geometrik dağılımlar için optimal
- Esnek M parametresi
- Asgari bit kullanımı
- Basit uygulama
- Kanıtlanmış optimalite
>> sık sorulan sorular
Golomb kodlama nedir?
Golomb kodlama, geometrik dağılımlar için tasarlanmış, en uygun ön ek içermeyen değişken uzunluklu bir koddur. Tamsayıları ayarlanabilir M parametresi ile böler, bölümü unar ve kalanı kırpılmış ikili ile kodlar; böylece P(n) = (1-p)^n × p dağılımına uyan veriler için en iyi sıkıştırmayı sağlar.
M parametresi nasıl seçilir?
En uygun M, verinizin geometrik parametresi p'ye bağlıdır. Ortalama değeri μ olan veriler için yaklaşık M ≈ μ + 1 alınabilir. Parametresi p olan üstel olarak azalan olasılıklar için en uygun M = ⌈-1/log₂(1-p)⌉ olur. Özel veriniz için en iyi M değerini bulmak üzere analiz işlevini kullanın.
Kırpılmış ikili kodlama nedir?
Kırpılmış ikili kodlama, M olası değerden birini kodlarken bit sayısını en aza indirir. M bir 2'nin kuvveti ise standart ikili kodlama kullanılır. Aksi halde bazı değerler ⌊log₂M⌋ bit, diğerleri ise ⌈log₂M⌉ bit kullanır; böylece minimum ortalama uzunlukla tekil çözülebilirlik korunur.
Golomb kodlama nerede kullanılır?
Golomb kodlama JPEG-LS görüntü sıkıştırmasında, H.264 video kodlamasında (Exp-Golomb olarak) ve kayıpsız ses formatlarında kullanılır. Çalıştırma uzunluğu kodlama, tahmin sonrası artıkların kodlanması ve geometrik veya üstel dağılıma sahip herhangi bir veri için idealdir.