Delta sıkıştırma, delta kodlu değerlerin sıkıştırılmasıdır. Delta kodlaması, sayıların farklı istatistiksel dağılımlarını üreten bir dönüşümdür. Dağıtım, seçilen sıkıştırma algoritmasına uygunsa, veri miktarını düşürür. Varlıkların iki güncelleme arasında sadece biraz hareket ettiği bir oyun gibi bir sistemde çok iyi çalışır.
Diyelim ki 2B'de 100 varlığınız var. Büyük bir ızgarada, 512 x 512. Yalnızca örnek olarak tamsayılar göz önünde bulundurulur. Bu, varlık başına iki tam sayı veya 200 sayıdır.
İki güncelleme arasında tüm konumlarımız 0, 1, -1, 2 veya -2 olarak değişir. 100 0, 33 1 ve -1 örneği ve sadece 17 ve 2 ve -2 örnekleri olmuştur. Bu oldukça yaygındır. Huffman'ı sıkıştırma için kodlamayı seçiyoruz.
Bunun için Huffman ağacı:
0 0
-1 100
1 101
2 110
-2 1110
Tüm 0'larınız tek bir bit olarak kodlanacaktır. Bu sadece 100 bit. 66 değer 3 bit ve sadece 34 değer 4 bit olarak kodlanacaktır. Bu 434 bit veya 55 bayt. Ayrıca ağaç küçüldükçe, haritalama ağacımızı kurtarmak için küçük bir ek yük. 5 sayıyı kodlamak için 3 bit gerektiğini unutmayın. Burada '-2' için 4 bit kullanma gereksinimi için '0' için 1 bit kullanma yeteneğini sattık.
Şimdi bunu 200 rastgele sayı göndermek için karşılaştırın. Eğer varlıklarınız aynı döşemede olamazsa, neredeyse kötü bir istatistiksel dağılım elde edeceğiniz garanti edilir. En iyi durum 100 benzersiz sayı olacaktır (hepsi farklı Y ile aynı X'te). Bu sayı başına en az 7 bit (175 bayt) ve herhangi bir sıkıştırma algoritması için çok zor.
Delta sıkıştırma, varlıklarınız yalnızca biraz değiştiğinde özel durumda çalışır. Çok fazla benzersiz değişikliğiniz varsa, delta kodlaması yardımcı olmaz.
Delta kodlamanın ve sıkıştırmanın, diğer dönüşümlerde de diğer durumlarda kullanıldığını unutmayın.
MPEG resmi küçük kareler halinde böler ve resmin bir kısmı hareket ederse sadece hareket ve değişim parlaklık olur. 25fps'lik bir filmde, kareler arasındaki birçok değişiklik çok küçük. Yine, delta kodlama + sıkıştırma. Statik sahneler için en iyi şekilde çalışır.