Verileri sıkıştırma yöntemleri, ilk bilgisayarın ortaya çıkmasından çok uzun zaman önce başladığı için, uzun bir gelişme tarihini tamamlayabilir. Bu makale, temel teoriler, fikir kavramları ve bunların mutlak olduğunu iddia etmeyen uygulamalarına kısa bir genel bakış sunmaya çalışacaktır. Daha fazla rapor, örneğin Krichevsky R.E.'de bulunabilir. , Ryabko B.Ya. , Witten I.H. , Rissanen J., Huffman D.A., Gallager R.G. , Knuth D.E. , Vitter J.S. ki.

Bilginin sıkıştırılması, uzun bir geçmişi, uzun zaman önce, numaralandırma teknolojisinin gelişiminin daha düşük bir tarihini bitirebilecek bir sorundur, bu nedenle (tarih) kodlama ve şifreleme sorununun gelişim tarihi ile paralel geliyordu. bilgi. Tüm sıkıştırma algoritmaları bir bilgi girişi akışı ile çalışır, minimum birim bir bit ve maksimum birim birkaç bit, bir bayt veya biraz bayttır. Sıkma işlemi, kural olarak, dönüşümlerinin yardımı için, bilgi birimlerinin kompakt çıktı akışının daha fazlasını, kompakt olmayan girdi akışının arkasından çıkarmaktır. Sıkıştırma işlemlerinin ana teknik özellikleri ve çalışmalarının sonuçları:

Stupіn stisnennya (sıkıştırma derecesi) veya vіdnoshnennia (oran), sonuçta ortaya çıkan akıştan vyhіdnogo;

Shvidkіst stisnennya - yeni eşdeğer çıkış akışının sonuna kadar stisnennya deyakogo obyagu giriş akışında harcanan bir saat;

Kabartma miktarı, aynı veya başka bir algoritmadan yeni bir yeniden kabartmaya ek stosuvannya için güçlü bir şekilde paketlenmiş çıktı akışlarının sayısını gösteren bir değerdir.

Bilgi sıkma sorununa Іsnuє kіlka raznykh podhodіv. Bazıları tutarlı bir teorik matematiksel temel elde edebilir, diğerleri bilgi akışının gücüne dayanır ve algoritmik olarak basitliği başarır. Pidhid'in bir yolu ve verilerin sıkıştırılmasını veya sıkıştırılmasını uygulayan bir algoritma olup olmadığı, її tartışılabilir veya geri döndürülemez dönüşüm yardımı için bit cinsinden harici bilgi akışı zorunluluğunu azaltan atamalar. Bunun için, her şey için birincisi, verinin doğası veya formatı ile ilgili kritere göre, tüm kabartma yöntemleri iki kategoriye ayrılabilir: ters ve geri dönüşü olmayan kabartma.

Uvazі taka üzerindeki geri dönüşü olmayan baskılar altında, herhangi bir boş akışla, veri giriş akışının yeniden işlenmesi, bilgi şarkı formatının temelleri, şafak açısından, aynı özellikler için giriş akışına benzer bir dozdur. Bununla birlikte, nesne gelecekte tartışılacaktır. Girdi ve çıktı akışlarının benzerlik derecesi, nesnenin mevcut otoritelerinin (yani, basit bir veri formatı biçimindeki stil ve sıkıştırılmamış bilgi) otoritesinin derecesine göre belirlenir, çünkü bunlar nesnenin veri akışını temsil ederler. bilgi. Bu tür algoritmalar, örneğin bir akışta düşük derecede bayt tekrarı olan raster grafik dosyalarındaki verileri sıkıştırmak için kullanılır. Bu yaklaşımla, grafik dosyasının yapısının ve formatının gücü ve bir grafik resmi sunma yeteneği, dekilkom (veya daha doğrusu n) yollarının görüntüsünün (insan gözü için) kalitesine yaklaşık olarak benzer. Buna göre, 0 değerinin KRIM adımı bir yıkamadır, ortalama viniki'nin bu tür algoritmalarında, sıkma sürecinde tshydne Zydne, pyd yakstya, elde edilen bölgenin sonucu olarak biberiye stirdish yapabilir, ve subtacial olduğunu. Grafik dosyalar için, akıllı algoritmalar ve programların kullanılmasını gerektirse de performans görsel olarak da belirlenir. Girdi ve çıktı akışlarının bilgi yapısının tam tutarlılığını korumanın gerekli olduğu alanlarda geri dönüşü olmayan kısıtlama zastosovuvat imkansızdır. Danimarkalılar, JPEG ve JFIF algoritmalarını ve JPG ve JIF dosya formatlarını kullanarak popüler video ve fotoğraf bilgisi formatlarında uygulamalar gerçekleştiriyor.

Ters baskı, bilgi içeriğini değiştirmeden, yani bilgi yapısını boşa harcamadan, dış bilgi akışı yükümlülüğünde bir azalmaya indirilmelidir. Ayrıca, çıkış akışından, dekompresyon algoritmasına ek olarak, giriş akışını alabilirsiniz ve yeniden dağıtım işlemine dekompresyon veya açma denir ve yalnızca giriş formatını dahili olarak işlemek için verileri açma işleminden sonra.

Tersine algoritmalarda, bir süreç olarak kodlama, istatistiksel açıdan bakıldığında, daha da önemli olan, yalnızca algoritmaları sıkıştırmaya teşvik etmek değil, aynı zamanda etkinliklerini değerlendirmek için de görülebilir. Tüm ters algoritmalar için, kodlamanın vartosunu anlamak açıktır. Kodlamanın varyantı altında, kod kelimesinin bit cinsinden ortalama değeri anlaşılır. Kodlamanın aşırı dünyası, değişkenlik ve kodlama entropisi arasında daha ileri düzeydedir ve dış dünyayı en aza indirmek için her zaman iyi bir sıkıştırma algoritması sorumludur (bilgi entropinin düzensizlik dünyasını anlayacağını tahmin etmek). Shannon'ın bilgi kodlamayla ilgili temel teoremi, "kodlamanın çok yönlülüğü, her zaman ona yakın olabilse de, her zaman Gerel'in entropisinden daha az değildir" teoremi hakkında konuşuyor. Bunun için, hangi algoritma olursa olsun, zavzhda є giriş akışının entropisi tarafından belirlenen sıkıştırmanın ara aşamasını söyler.

Şimdi ters algoritmaların algoritmik özelliklerine geçelim ve kodlama sistemlerinin uygulanmasıyla ilgili verileri sıkıştırmaya yönelik en önemli teorik yaklaşımlara ve bilgileri sıkıştırmanın yollarına bakalım.

Kodlama serisi ile kabartmalı

Bilgileri bir ters yolla kabartmak için en basit pidhyd ve algoritma bir dizi diziyi kodlamaktır (Run Length Encoding - RLE). Bu yaklaşımın yöntemlerinin özü, fenerleri veya bir dizi tekrarlanan bayt veya bunların bayt kodlaması ve tekrar sayısı başına dizilerini değiştirmektir. Tüm benzer yöntemlerin sorunu, yalnızca algoritmanın anında açılabileceği ve sonuçta bir dizi başka kodlanmamış bayt dizisi kodlanmış bayt akışında seçilebildiği şekildedir. Kodlanmış langetlerin koçanına işaret konularak sorunun çözümüne ulaşılabilir. Bu tür işaretler, örneğin, kodlanmış dizinin ilk baytındaki savaşların karakteristik değerini, kodlanmış dizinin ilk baytının değerini vb. tanımlamak için kullanılabilir. Bu yöntemler, kural olarak, raster kabartma için etkilidir. grafik görüntüler(BMP, PCX, TIF, GIF), yapılacak tek şey uzun bir dizi tekrarlanan bayt dizisini tamamlamaktır. Kısa RLE yöntemi, az sayıda seriye ve hatta daha fazlasına - seri olarak az sayıda bayt tekrarına sahip dosyaların düşük düzeyde sıkıştırılması veya kodlanmasıdır.

RLE yöntemine göre sıkmadan sıkma

RLE yöntemini durdurmadan veri kabartma işlemi iki aşamaya ayrılabilir: modelleme (modelleme) ve süreçte kodlama (kodlama). Bu süreçler ve їх, bağımsız ve çeşitli planları tamamlamak için algoritmalar uygular.

Bu yoga yönteminin kodlama süreci

Kodlama altında, aynı alfabedeki sembollerin akışını (bizim durumumuzda bayt veya napivbaytiv) anlamak için ses, ayrıca akışta sembollerin görünme sıklığı farklıdır. Kodlama yöntemi, bu akışın, giriş akışının entropisini sembol frekansları biçiminde değiştirerek ulaşılabilen minimum süreli bir bit akışına dönüştürülmesidir. Akışın alfabesindeki sembolleri temsil eden kodun uzunluğu, giriş akışının bilgisinin zorunluluğu ile orantılıdır ve akıştaki sembollerin bit cinsinden uzunluğu, aşağıdakilerin katı olamaz. 8 ve değiştir. Frekanslar arasındaki fark girdi akışının alfabesi için semboller belirir göstermez, optimal bir kodlama modeli oluşturmak mümkündür. Bununla birlikte, farklı dosya biçimlerinin muazzam sayısının nedenlerine bakıldığında, bu verilerin sembollerinin frekanslarının dağılımının çok uzak olmaması nedeniyle görev önemli ölçüde karmaşıktır. Böyle bir ruh halinde, iftiracı bir bakışla iki yaklaşım galip gelir.

İlk alan, girdi akışının gözden geçirilmesinde ve seçilen istatistikler temelinde kodlama temelindedir (bunun için dosyadan iki geçişe ihtiyacınız vardır - biri istatistiksel bilgileri gözden geçirmek ve toplamak için, diğeri - kodlama için. bu tür algoritmaların zastosuvannya kapsamını, yani telekomünikasyon sistemlerinde, de ve obyag verilerinde zastosovuetsya'nın saat içinde değil, yeniden iletim veya yeniden iletim yapabileceği "anında" tek geçişli bir kodlama olasılığı gerçekçi olmayan zengin bir saat ayırın). Böyle bir durumda, hafta sonu, istatistiksel bir dolaylı kodlama şeması kaydedilir. Danimarka yöntemi, statik bir Huffman kodlaması gibi çalışır.

Bilgiyi sıkıştırmak için algoritmaların geliştirilmesi, uygulamalı matematiğin galerilerinden biri olarak kabul edilir. Doğal üstünlüğün benimsenmesi ilkesine dayanırlar.

Bilgi sıkıştırma yöntemleri, kesişmeyen iki sınıfa ayrılabilir: kayıp bilgi ile sıkmaі bilgi israf etmeden kabartma.

Kayıp bilgilerle sıkıştırın bu, güçlendirilmiş arşivin açılmasından sonra, verilerin ortaya çıktığı, troch'ların sanki koçanın üzerindeymiş gibi sessizce yayınlandığı anlamına gelir. Adımlar ne kadar sıkılırsa, harcama ve tasarruf miktarının o kadar büyük olduğu açıktır.

Bu tür algoritmaların şunlar için tasarlandığını anlıyorum. metin belgeleri, Ben prog veritabanları tablosu. Basit, muhteşem bir metindeki önemsiz yaratımlar, kesinlikle benzeri olmayan bir programda bir bit oluşturmak istese bile, yine de deneyimlenebilir.

Aynı zamanda, yüz binlerce bilgiyi bağışlayabileceğiniz verilere göre, örneğin fotoğraf, video ve ses materyallerini onlarca kez sıkıştırabilirsiniz. Bu tür verilerin sıkıştırılması ve uzaktan açılması durumunda bilgi kaybı, bir tür ek “gürültü” görünümü olarak alınır.

Bilgiyi sıkıştırmak için kullanılan algoritmalardan önce, aşağıdaki gibi algoritmalar JPEG(Fotoğraf görüntüsü sıkıştırıldığında Vykorivuyutsya) ve MPEG(Vykorivuyutsya video ve ses sıkarken). Bilgi israfını sıkıştırmaya yönelik algoritmalar sadece yaşayan işçiler için kullanılmalıdır.

Ses sıkıştırıldığında izin verilen atık miktarı kontrol edilebilir, bu da optimum sağlamlık "boyut / parlaklık" elde etmenizi sağlar. Ekranda görüntülenmesi amaçlanan fotografik illüstrasyonlarda, bilgilerin %5'inin kaybı önemsiz gibi görünür ve bazı durumlarda %20-25'lik bir kayba izin vermek mümkündür.

yöntemler bilgi israf etmeden kabartma zastosovuyutsya metin belgeleri ve programlarla çalışırken bilgi kaybına izin veremez. Koku, yalnızca її dünya dışılığının benimsenmesi üzerine kuruludur.

Örnek 1. Ukrayna dilinde 32 harf, on rakam ve yaklaşık beş düzine noktalama işareti ve diğer özel karakterler vardır. Bir bütün olarak kayıtların sadece büyük harflerle (telgraflarda olduğu gibi) olduğu metin için altmış farklı değer kullanılacaktır. Prote, 8 bit olabilen ve 256 farklı kod kullanabilen bir bayt tarafından kodlanmış bir dış görünüm karakteri sesleri. Üstünlük için Ce ilk destek. "Telgraf" metni için, sembol başına toplam altı vuruş kullanıldı.

mal. 1. Mors kodu

Örnek 2. Uluslararası ASCII karakter kodlaması için, herhangi bir karakteri kodlamak için aynı sayıda bit girilir (8). Aynı zamanda, sembollerin en sık kullanıldığı ve daha az sayıda işareti mantıklı bir şekilde kodlayabildikleri açıktır. Yani, örneğin, içinde Mors kodu genellikle sıkıştırılmış olan “E” ve “T” harfleri bir karakterle kodlanmıştır (örneğin, bir nokta ve bir tire). Ve böylece “Yu” (-) ve “Ts” (- -) gibi harfler chotirma işaretleri ile kodlanmıştır. Etkili olmayan kodlama - üst düzey için bir destek arkadaşı.

Bilgileri sıkıştıran programlar, kendi kodlama sistemlerine (farklı dosyalar için farklıdır) girebilir ve sıkıştırmadan önce dosyaya bir tablo (sözlük) atayabilir, böylece program aşağıdaki gibi tanınabilir. bu dosya kodlanmış, gruplarından herhangi birinin bu ve diğer sembolleridir. Kayıt bilgisine dayalı algoritmalara denir. Huffman algoritmaları.

Tekrarlanan parçaların mevcudiyeti, dünyeviliğin üçüncü temelidir. Metinlerde nadiren kullanılır, ancak tablolarda ve grafiklerde kodların tekrarı muhteşem bir olgudur. Bu nedenle, örneğin, 0 sayısı yirmi kez tekrarlanırsa, yirmi sıfır bayt koymanın bir anlamı yoktur. Bunların yerine bir sıfır ve 20 katsayı koyun. Tespit edilen tekrarlara dayanan bu tür algoritmalara yöntem denir. kodlama dozhin serisi(R.L.E.,Uzunluk Kodlamasını Çalıştır). Aynı baytların büyük tekrarları özellikle grafik çizimleri heyecanlandırıyor. Yöntem, "piksel başına bayt" biçimindeki grafik görüntüler için etkilidir (örneğin, PCX veya BMP).

katlanırken yedek kopyalar sabit disklerde, dosyalar sıkıştırıldığında, bilgi dünyasıyla değil, bilgisayarın dosya sisteminin düzenlenme şekli nedeniyle çalışma alanında kazanmak için bir fırsat daha var. Sonuç olarak, ister büyük ister küçük bir dosya olsun, diskte yalnızca tam sayıda küme alabilir. AT dosya sistemi Sabit diskteki FAT16, 65536 kümeden (2 16) fazla olamaz. Bu, 1 ila 2 GB boyutundaki diskler için küme boyutunun 32 KB olduğu anlamına gelir.

Tek bir dosyada büyük bir dosya grubuyla, dosya sisteminin irrasyonel organizasyonu nedeniyle yalnızca kısa vadeli harcamaların maliyeti için cilt dosyası başına tasarruf en az 16 Kbyte olmalıdır.

FAT32 için boyut daha az görünür, ancak bu durumda, kümenin minimum boyutu 4 KB'den daha pahalıdır, bu nedenle anne çok sayıda küçük dosya ile sağdaysa, kaydetmenin bir yolu da vardır. .

Birkaç farklı sıkma yöntemi bilenler ne olursa olsun, ilke ve kurallar, Tüm kabartma yöntemleri için Yaki є zagalnymi. Vikoristovuvat'ı bilmeniz ve doğru bir şekilde bilmeniz gerekir.

1. Her kısıtlamanın bir sınırı vardır, bu yüzden daha önce hasar görmüş bir dosyaya kısa versiyonda bir kazanç vermiyorum, ancak daha yüksek bir versiyonda onu ortaya çıkan dosyada programa getirebiliyorum.

Meta-ders: saygı, zeka geliştirin, konuya ilgi geliştirin.
Mülkiyet: bilgisayarlar, laboratuvar diskleri, vіdpovіdne yazılım güvenliği, Test görevleri için kartlar.

Dersi sakla

1. Organizasyonel kısım.
2. Temel bilgilerin gerçekleştirilmesi.
3. Yeni malzemenin geliştirilmesi
4. Yeni malzemenin sabitlenmesi.
5. Ev ödevi.
6. Ders özetlerinin sunumu.

Yeni malzemenin tanıtımı

1. Arşivleme nedir. Sıkma verileri hakkında anlayış.
2. Yazılım arşivleyicilerinin ana türleri.
3. WIN-RAR arşivleme programı.
4. Arşivlere nasıl dosya eklenir ve ayrıca arşivden yoga nasıl çıkarılır.

Z geliştirme komitesi Bilişim Teknolojileri Verileri kaydetmenin yollarıyla ilgili haberler acilen yayınlandı. XX yüzyılın 40'lı yıllarından başlayarak, Vcheni razroblyayut veri sunma yöntemleri, bilgi vikoristovuvavsya b ekonomnishe burunları üzerinde biraz boşluk ile. Bunun sonucu, veri sıkıştırma ve veri arşivleme (yedekleme) teknolojisiydi.

Veri arşivleme - dekilkoh dosyalarını veya kataloglarını tek bir arşiv dosyasında toplayın.

Verilerin sıkıştırılması - gereksiz bilgilerin kullanılması yolunda son dosyaların hızlı zorunluluğu.

vikonannya tsikh zavdannyah є programları arşivciler için, yaki Veri kabartma: zocrema, dosyaların arşivlenmesi. Özel algoritmaların yardımıyla, arşivciler tüm gereksiz bilgileri dosyalardan kaldırır ve açma işleminin ters işlemleri sırasında bilgileri orijinal görünümde geri yüklerler. Sıkıştırılmış bir dosyanın boyutu, orijinal dosyadan iki ila on kat daha küçüktür. Her durumda, bu bilgi güncellemesi ücretsiz olarak alınır. Metin mesajlarıyla çalışırken atık olmadan kabartma yapmak daha önemlidir program dosyaları, Kriptografi problemlerinde. Іsnuyut yöntemi de maliyetleri sıkma yöntemidir.

Stupіn stisnennya dosya türüne ve programın türüne göre yatırmak için - arşivleyici. En kalabalık metin dosyaları, en az - ses ve video dosyaları.

Dosyaları arşivleme. müdür

Bu pіr mova'dan önce, verilerin arşivlenmesinin bir kez tanınması - para biriktir bilgi taşıyor. Bununla birlikte, ek arşivleme için tüm görev kompleksini tamamlayabilirsiniz:
1. Dosyaların boyutunu değiştirme (yalnızca burunlardan tasarruf etmek için değil, aynı zamanda isveç transferi boyuta göre dosyalar).
2. Destek olmakönemli bilgileri kaydetmek için yabancı burunlarda.

3. Şifreleme sisteminin bütünlüğünü kötü olana değiştirme yöntemiyle verilerin şifrelenmesi sırasında arşivleme.

Bir arşiv dosyasına bilgi yazma işlemine arşivleme denir.
Arşivden Vityag dosyaları - rozarchivuvannya.

İlk arşivleme programları 80'lerin ortalarında ortaya çıktı. Koku, MS-DOC'deki çalışmaya odaklandı ve desteklenen popüler arşiv formatları: ARC, ICE, ARJ, ZIP ve RAR ve in. Aynı zamanda, verileri arşivlere - uzantılı dosyalara - paketleyen bir grup arşivciydi. ha,. com. Tüm diski sıkıştırmak için yerleşik bir arşivleyici oluşturuldu. Koku, harika arşiv dosyaları oluşturarak disk alanının verimliliğini artırmaya izin verdi - diskleri "sıkarak".

Önemli ölçüde daha kullanışlı, arşivleri olan bir robot haline geldi Windows'un görünüşüі Arşivleyicilerin Windows sürümleri. Üç arşiv formatı Windows'ta koristuvachіv ARJ, ZIP - dosyaları açmak için programlar doğru bir şekilde kök saldı. Büyük arşiv dosyaları birkaç diskete (birim) yerleştirilebilir. Bu tür arşivlere zengin ciltler denir.

Tom - tse depo parçası zengin arşiv

Düzinelerce arşivleme programı, işin işlev ve parametrelerinin değişmesiyle değiştirildiği için aynı anda galip gelir, bunların proteinleri yaklaşık olarak aynı özelliklere sahip olabilir. Dosyaların paketlenmesi ve paketten çıkarılmasının aynı program tarafından yapılabileceğini biliyoruz, ancak bazı durumlarda bu mümkündür. farklı programlar, Örneğin, PKZIP dosyaları paketler ve PKUNZIP dosyaları açar.
Arşivleme programları, herhangi bir programa ihtiyacınız olmayan bu tür arşivler oluşturmanıza olanak tanır, böylece arşiv dosyaları kendi programlarında açılabilir. Bu tür arşivlere SFX arşivleri denir.

Dosyaların arşivlere yerleştirilmesi: Programları WINRAR veya Masaüstündeki kısayoldan başlatın.

Evrensel arşivleyici WINRAR

WINRAR arşivleyici, dosyaları arşivlemek için de kullanılır. Vіn mає zruchnu grafik kabuğu ve Sürükle ve Bırak teknolojisini destekler. WINRAR programı, yalnızca arşivlerle çalışmanıza izin vermez rar dosyaları, Ale ve diğer arşiv biçimleri: zip, cab, arj, lzh. WINRAR başlatıldı olası yollar, Windows'a aktarıldı. Yardım için programı başlatma Başlat düğmesinin ana menüsü Programlar WINRAR WINRAR veya Çalışma Masasındaki yardım kısayolu için.

Robotik temellerinin disklerle test edilmesi.
Ev ödevi.
Dersin kendi kendine analizi.

Vykonannya tsikh zavdannyah є program arşivleyicileri için, arhіvuvannya gibi yakі zabezpechuyut, yani stsnennya danih.Özel algoritmaların yardımıyla, arşivciler tüm gereksiz bilgileri dosyalardan kaldırır ve açma işleminin ters işlemleri sırasında bilgileri orijinal görünümde geri yüklerler. Sıkıştırılmış bir dosyanın boyutu, orijinal dosyadan iki ila on kat daha küçüktür.

Sıkma için tüm algoritmalar, böyle bir dönüşümün yardımı için daha kompakt bir çıkış akışını kaldırma yöntemiyle bilgi giriş akışı üzerinde çalışır. Sıkıştırma işlemlerinin ana teknik özellikleri ve çalışmalarının sonuçları:

· Stupin stisnennya - vіdnoshennia obsyagіv vyhіdnogo ortaya çıkan akışlar;

· Shvidkіst stisnennya - stisnennya deyakogo obyagu için harcanan bir saat, otrimannya z yeni eşdeğer çıktı akışına kadar girdi akışı bilgisine;

· Kabartma kalınlığı - aynı veya farklı bir algoritma için yeni bir yeniden kabartma işlemi durdurulduğunda, yoğun şekilde paketlenmiş çıktı akışlarının sayısını gösteren bir değer.

Veri kaydının doğaüstü yapısını koruyan algoritmalara veri sıkıştırma algoritmaları veya arşivleme algoritmaları denir. Bu saatte, verileri sıkıştırmak için dekilkoh temel yöntemlerine dayanan harika bir kişisel olmayan program var.

Tüm veri sıkıştırma algoritmaları aşağıdakilere ayrılır:

) Primal üzerinde verilen herhangi bir veri ile ücretsiz olarak sıkma algoritmaları, en az değişiklik yapılmadan güncellenir;

) Maliyetleri sıkıştırmaya yönelik algoritmalar, sanki veri akışından bilgi görüyormuş gibi, verinin özünü etkiler, aksi takdirde insanlar tarafından kabul edilmez.

Harcama yapmadan arşivlemenin iki ana yöntemi vardır:

Hoffman'ın algoritması (eng. Huffman), birbiriyle ilişkili olmayan bayt dizilerini sıkıştırmaya yönelik yönelimler,

Lempel-Ziv algoritması (eng. Lempel, Ziv), her türlü metnin sıkılmasına yöneliktir, böylece "kelimelerin" tekrar tekrar tekrarlanması gerçeği - bayt dizileri.

Hemen hemen tüm popüler arşivleme programları masrafsız (ARJ, RAR, ZIP, vb.) bu iki yöntemi birleştirir - LZH algoritması.

Huffman algoritması.

Temellerin algoritması, oldukça uzun bir metinde yer alan standart 256 karakterlik bazı sembollerin ortalama süreden daha sık tekrarlanabileceği ve aksi takdirde, görünüşe göre - daha fazla olduğu gerçeğine dayanmaktadır. Ayrıca, $ + o genişletilmiş karakterlerin kayıtları kısa bit dizisine, 8'den az ve geniş karakterlerin kaydı için - daha uzunsa, dosyanın toplamı değişecektir.

Lempel-Ziv algoritması. Yayınlanma sırasına göre adlandırılan klasik Lempel-Ziv algoritması -LZ77, sınırda basittir. VIN şu şekilde oluşturuldu: Geçmişte yaralı vihid Potoci de Elektronny Dani'nin pykunki'si tarafından nakavt edilen Yakshcho, kısa süreli en gelecek kuşakların kıdemli kaydına odaklanacaktım, sonra iyi dosya kaydedildi, ve yaşlılar ve hapishane) ve aynı değil.

4.Dosyaların sıkıştırılma derecesinin göstergeleri

Arşiv dosyalarındaki bilgilerin sıkıştırılması, doğaüstülük kullanımının hesaplanması için çeşitli şekillerde değiştirilir, örneğin, kodların geçişinin hesaplanması, bunlardan kalıcı savaşların dahil edilmesi veya sembollerin tekrarının dosyalanması için veya belirli tekrarların sembollerinde semboller dizisinin tekrarı. Bilgilerin benzer şekilde sıkıştırılması için algoritmalar, özel arşivleme programlarında (aralarında en yaygın olanları arj / arjfolder, pkzip / pkunzip / winzip, rar / winrar'dır) dosya veya arşivde uygulanır.

Dosyaları sese paketleme yöntemi, bilgisayar ağlarında iletişim kanalları aracılığıyla bilgi aktarım saatini ve hızını kısaltmak için disk üzerinde daha kompakt bilgi dağıtımını güvence altına almaktır. Bu nedenle diğer arşivleme programının etkinliğinin ana göstergesi dosya sıkıştırma adımlarıdır.

Dosyaların sıkıştırma adımı, sıkıştırılmış dosya Vc'nin vіdsotkakh'tan farklı olan Vо çıktı dosyasının yükümlülüğüne olan yükümlülüğü olarak tanımlanan Ks katsayısı ile karakterize edilir (böyle bir dzherelah vikoristovuє zvorotne svіvіdnennia'da):

Kc = (Vc / Vo) * %100

Gofraj programı, gofraj yöntemi ve çıktı dosya tipine göre yatırılacak gofraj adımları.

Grafik görüntü dosyaları, metin dosyaları ve veri dosyaları en çok tercih edilir, bunun için sıkıştırma katsayısı %5 - 40'a ulaşabilir, grafik programlarının dosyaları ve Kc = %60 - 90 gelişmiş modüller daha az sıkıştırılır. Mayzha arşivlenmiş dosyaları kaçırmaz. Bildiğiniz gibi, program arşivleyicilerinin çoğunun, özü bayt dizilerinin tekrarının özel kodlamasında (okuma - semboller). Bu tür tekrarların sıklığı metinlerde ve noktalı grafiklerde en yüksektir ve arşivlerde pratik olarak sıfıra indirilir.

Ek olarak, arşivleme programları, açıkça sıkıştırma aşamasına giden sıkıştırma algoritmalarının uygulanmasında hala farklılık göstermektedir.

Deaky'de, program arşivleyicileri ayrıca, sıkıştırma katsayısı Ks'yi değiştirmeye yönlendiren koshti'yi içerir. Yani WinRAR programında, maksimum sıkıştırma adımlarının% 10 - 50'sine ulaşılabilen istisna dışında sürekli (katı) arşivleme mekanizmasının uygulanması, özellikle kaç küçük dosya olmak üzere farklı yöntemler vermek mümkündür. aynı türden paketlenir.

Arşivleyicilerin özellikleri - geri mevduat. Tobto, sıkmanın sıkılığı ne kadar büyük olursa, sıkma adımları o kadar az olur ve diğer yandan.

Bilgisayar pazarında, kişisel olmayan arşivleyiciler tanıtılıyor - cildin kendi desteklenen biçimleri, artıları ve eksileri, muzaffer arşivciyi koklayanlara yaygın olarak inanılan kendi shanuvalnikov sayısı var. Hiç kimseyi veya hiçbir şeyi değiştirmeyeceğiz - sadece en popüler arşivcileri işlevsellik ve verimlilik açısından değerlendirmeye çalışın. Böyle bir vidnesemo WinZip, WinRAR, WinAce, 7-Zip - yumuşak sunucularda indirme sayısı için pis koku. Diğer arşivcilerin bunu pek iyi görmeleri olası değildir, ancak yüzlerce parçanın coristuvachiv'lerini dağıtması (dolaşıklıkların sayısına bakılırsa) küçüktür.

Arşivler - Dosyaları kırma: Nasıl görüyorsunuz? - Dergi "Bilgisayar"

Yaşıyorum! Dosyaların her türlü arşivleyici tarafından nasıl sıkıştırıldığını açıklar mısınız? Zagalnih pirincinde kullanmak istiyorum. Ve sonra sanki sen başlayabilirmişsin gibi zorla kendimi ilan ediyorum.

canlı

Kesinlikle doğru Vitaliy, kendini ifşa etmek o kadar kolay değil, dahası, çünkü algoritmayı bilmiyorsun. Ale, "Bilgisayar" dergisinin okuyucuları kurtuldu;), ama benim zamanımda verileri sıkıştırmak için algoritmalara zengin bir şekilde tıkladım ve bir programcı gibi yetkili bir arşivleyici yazmaya çalıştım.

Veri sıkıştırma (eng. Veri sıkıştırma), değiştirme yöntemiyle değiştiği için verilerin algoritmik bir dönüşümüdür. Verileri kaydetmek ve aktarmak için daha rasyonel bir ek bina seçimi için Zastosovuєtsya. Sıkıştırma işlemi ayrıca veri paketleme veya sıkıştırma olarak da adlandırılır. Tersine çevirme prosedürüne verilerin yenilenmesi (paket açma, açma) denir.

Kısıtlama, öcünü hafta sonuna kadar alınacak olan, benimsenen üstünlüğe dayanmaktadır. Sıradanlığın en basit noktası, metindeki parçaların tekrarlanmasıdır (örneğin, doğal veya makine dilindeki kelimeler).

baba hadi anlaşalım basit popo. Diyelim ki bir metin satırı olan bir metin dosyamız var:

AAAGGDEEEEEEZHUUUKKKKKIII

Metin harika, bir dakika bekleyin, ama aynı zamanda onu sıkıyoruz ve daha az zamanımızı alacak. Sıkmanın ana prensibi, basitleştirmek ve saldırganlığa yol açmaktır: sembollerin tekrarından sonraki cilt kombinasyonu, böyle bir sembol ve bir tekrar sayısı ile değiştirilir. Böylece son metnimiz stilize bir şekilde şöyle görünecek:

A3G2D1E4Zh2U3K4I3

Bu sırayla 22 sembol yerine 16 sembol çıkardık. Açıkçası, bizimki gibi bu tür metinler nadiren yazılır, yeni bir odaya yerleştirildiği için bir kreş hakkında görünmüyor. Ve sonra sıkıştırılmış dosyalar var, sadece metinler değil, aynı zamanda her türlü resim, müzik, video, program.

Danimarkalı popo af dilemek ve verimlilik göstermiyor, arşivciler kısıtlandığında nasıl ses çıkaracak. Bu nedenle, arşivciler bir kural olarak dosyaları 2-10000 kez sıkıştırdıklarında, 22/16 = 1.375 kez sıkıştırılmış dosyalarımız var. Dosyadaki bayt değerinin tekrarı şeklinde tüm mevduat.

Yakі arşivcileri buvayut

Örneğin, saatlerce unutulmaz MS-DOS için ARJ, PKZIP, HA, RAR, ARC, ACE arşivleyicileri ve LZEXE ve PKLITE programlarının paketleyicileri vardı. Ameliyathane için hayat Windows sistemleri WinAce, WinZIP, WinRAR, 7Zip ve diğer UPX paketleyicilerini yarattı.

Sıkma masraflı ve masrafsızdır. İsraf olmadan damgalama, verileri bit doğruluğu ile okumanızı sağlar. Böyle bir kısıtlama, metinleri, programları ve diğer verileri bir bölmede paketlemek için zastosovuєtsya'dır ve daha fazla arşivleyiciyi yeniden arşivlememiz için zdіysnyuєtsya'dır.

Masraflı sıkma uyarlamalı sıkma olarak adlandırılabilir ve görüntü, video ve ses paketlemek için kullanılır, böyle bir baskının parçaları masrafsız olarak önemsiz bir şekilde (toplamda yaklaşık 2 kata kadar) yapılabilir.

Çok fazla baskı ve maliyetle, zorunlu verilerde bagatarize bir değişiklik elde edebilirsiniz ve verileri yeniden paketlerken, pratik olarak orijinal arasındaki farkı görmezsiniz.

Kızaklara farklı dosyalar sıkıştırılır

metinler

Tam olarak, örneğin, metin dosyaları sert bir şekilde sıkıştırılabilir. Örneğin, Arcadia ve Boris Strugatsky'nin kitabı "Tanrı olmak önemlidir" boyutu 354 329 bayt WinRAR arşivleyici 140 146 bayta kadar sıkıştırır, bu 2,5 katıdır.

programlar

Programın dosyalarına tezh basılabilir. Herhangi bir sıkma ile, diskte daha fazla yer tasarrufu için, yani programın üzerine programın üzerine yazıldığı sıkma, ancak başladığında, kendi kendine genişler.

UPX ve in gibi yazılım paketleyicileri kimler için kullanır. örneğin, benim Metin düzeltici UPX paketleyicisi ile 524 288 bayt boyutundaki Superpad.exe, 179 200 bayta (2,9 kat) kadar sıkıştırılabilir ve herhangi bir zamanda bağımsız olarak bir program olarak başlatılabilir.

resim

Bu verileri derleme yöntemlerinin açıklaması, bir makalenin tamamına veya hatta birden fazlasına ayrılabilir. Sağda, görüntünün kendi başına, yogo bayt bayt sıkma gibi daha da kötü sıkılması gerçeğinde. Ben, tim daha az değil, tse vdaєtsya. Özellikle zengin bir monofonik arka plan görüntüsünde olduğu gibi.

İlk görüntü sıkıştırma algoritmalarından biri yukarıda anlatmış olduğum RLE algoritmasıdır. Vin, PCX görüntü yakalama biçiminde kaydedilecektir. RLE, ücretsiz bir kabartma algoritmasıdır. Ale, anın şaraplarının bu tür vipadkahlarında, veri zorunluluğunda bir değişikliğe değil, yogo artışına yol açar.

Bu nedenle, proponasyonların harflerinin görüntüsünü kabartmak ve LZW bit-bit kabartma algoritmasını doğrulamak için. Algoritma kendi başına RLE'den daha verimlidir ve ayrıca atık transfer etmez. Ancak, bir renk paleti olan bir görüntü için taşlar sabitlenirse, paletin uyarlanması ve optimizasyonu (geliştirilmesi) için, kabartma verimliliğinde mükemmel bir gelişme elde etmek mümkündür.

mal. 1. BMP formatında Garniy kurbağası

por_vnyannya için, garnet kurbağası kullanmak (Şekil 1) 799x599 piksele (nokta) izin verdi ve görüntüyü kaydetmek için farklı formatlarda kaydedildi. Dosyaları kabul ediyoruz:

kurbağa.bmp - boyut 1 437 654 bayt ve burada, aslında, hiçbir sıkıştırma ve kalite kaybı yok, resmin bir sonraki baytı Genişlik x Yükseklik x piksel / piksel başına 3 bayt olarak kapladığı parçalar). Böylece kaplama noktası, kaplaması bir bayt alan üç RGB bileşeni (Kırmızı-siyah, Yeşil-yeşil ve Mavi-mavi) ile temsil edilir.

kurbağa24.png - 617.059 bayt, 2.33 kat sıkıştırma ve atık yok - PNG-24 formatının ana gücü. Veri BMP ve PNG pratik olarak aynıdır.

mal. 2. Frog_256colors.gif dosyası

kurbağa_256colors.gif - 261.956 bayt (Şekil 2), maliyeti 5,48 kat azalttı, temel palet 256 renk (8 bit / piksel). BMP'deki sim dosyası ile orijinal arasındaki farkı yakalayın, "On özellik bul" kategorisinde olduğu gibi dosyalanması kolaydır.

mal. 3. Dosya kurbağa_64colors.gif

kurbağa_64colors.gif - 187.473 bayt (Şekil 3), ekler ile 7.67 kat azaltılır, temel palet 64 renge (6 bit / piksel) düşürülür. Ve burada rengin ekseni zaten parlak, ancak orijinal görüntüye tamamen benziyor. Bir kurbağanın gözüne hayret ediyormuş gibi özellikle dikkat çekicidir.

JPEG

Sıkıştırılmış ve kaydedilmiş görüntüde özellikle ödünç alan jpeg formatı. Buna özel bir saygı duymak istiyorum. JPEG algoritması, gerçekçi sahneleri yumuşak parlaklık ve renk geçişleriyle değiştirmek için fotoğrafları ve resimleri kabartmak için dünyanın en iyi yardımcısıdır. En büyük JPEG uzantısı, dijital fotoğrafçılıkta ve İnternet'teki çeşitli kaynaklardan görüntülerin yakalanması ve aktarılması için yakalandı.

Öte yandan, JPEG, bir koltuk kabartması, metinsel ve ikonik grafikler, unutulmaz eserlerin ortaya çıkmasına neden olmak için diğer pikseller arasında keskin bir kontrast oluşturmak için uygun değildir. Bu tür görüntüler TIFF, GIF, PNG veya RAW gibi ücretsiz formatlarda kaydedilebilir.

JPEG (diğer kabartma yöntemleri gibi), ara işleme sonuçları kaydedilirken görüntü görüntüye birkaç kez ekleneceğinden, yüksek hızlı işlemede görüntüleri kabartmak için uygun değildir.

JPEG, örneğin astronomik veya tıbbi görüntüler sıkıştırıldığında minimum harcama yapmak kabul edilemezse, muzaffer olmaktan ve sessiz oynaklıktan suçlu değildir. Bu gibi durumlarda, JPEG standardının Kayıpsız JPEG sıkıştırma modunu (maalesef çoğu popüler kodlayıcı tarafından desteklenmemektedir) veya JPEG-LS sıkıştırma standardını kullanması için öneriler olabilir.

JPEG sıkıştırma algoritmasının açıklamasını tamamlamak kolay değil, isteyen herkes http://el-izdanie.narod.ru/gl4/4-3.htm sorarak öğrenebilir. Peki, eşitleme uğruna, resmimizi farklı bir parlaklık seviyesiyle sıkıştıralım:

kurbağa100% .jpg - 216 168 bayt, 6.65 kat küçülür, nibito'yu %0, ardından %100'ü harcar - resmin kalitesi, ama bunu tehlikeye atmazdım. Dönün, vіdminnosti є, ancak kesinlikle göze çarpıyor.

kurbağa60% .jpg - 85.910 bayt, 16.7 kez sıkıştırılmış, yani görüntü netliği %60, ancak resim yine aynı, tek tip bir arka plana veya diğer detaylara sahip evlerde şaşırmak istiyorsanız, o zaman eserleri hatırlayın seyir bulanık kare tek renkli olanlar segmentlerinde.

kurbağa20% .jpg - 36 426 bayt, 39.5 kez kabartmalı, resim netliği koçan görüntüsünde 20%, ancak resimden önce gözlerin görme eksikliğini kandırmak için hala iyidir, ancak tek tip bir arka planda açıkça görebilirsiniz. renk kapılmamış segmentler ve geri kalan ayrıntılar, okumanızın ana hatlarını çiziyor.

MPEG

Bu, en büyük ve en geniş video formatlarından biridir. Kіlka razіv modernizuvavsya. Ancak basit bir şekilde, algoritmanın JPEG'deki gibi sıkıştırma olasılığının daha yüksek olduğunu söyleyebiliriz, aynı zamanda videonun ilk karesinin orijinal ve orijinal olmasını ve sonraki karelerin ön ve arka arasında daha az fark almasını sağlamak için. sonraki kareler. Zavdyaki tsomu cilt saldırgan çerçevesi є açıklığın açılması noktasından transfer (Şekil 4 ve 5).

mal. 4. Video karelerinden çıkın

mal. 5. trafiği telafi etmek için zastosuvannya algoritmaları olmadan personel arası fark

Sertlik adımlarını hareket ettirmenizi sağlayan en baskılı teknolojilerden biri, hareketi telafi etmektir. Mevcut bir video sıkıştırma sistemi varsa, mevcut videodaki sonraki kareler, sıkıştırma derecesini artırmak için ileri karelerdeki alanların benzerliği olacaktır.

Ancak kadrajda (ya da kameranın kendisinde) nesneler olup olmadığına bakarak, mahkeme çekimlerinin benzerliğini anlamak mümkün değildi. Aceleyi telafi etme teknolojisi, benzer arsaları tanımanıza, yıkımın kokusunu çerçevenin önüne getirmenize izin verir.

Hareket Telafisi, video verilerini işlerken ve sıkıştırırken duran ana algoritmalardan biridir. Video dizisindeki alt karelerin muzaffer benzerliği ve vektörleri ve görüntünün dört parçasının dönüşünü bilmek için algoritma (ses blokları 16x16 ve 8x8).

Vikoristannya telafisi, sıkma bagatorazıyla, çerçevenin görünüşte düşen parçalarının yüzeyselliğinden uzaklığın havası için sıkma boyutunu artırmaya izin verir. Vykoristovuetsya sadece sıkarken değil, aynı zamanda videoyu filtrelerken, kare hızını değiştirirken vb.

Pratik olarak herhangi bir videoda, çevreleyen kareler benzerdir, vahşi nesneler gibi görünürler, kural olarak, birer birer hareket ederler. Videoları, nesnelerin bagatorian bir şekilde kodlanmadığı, sadece yer değiştirme eylemlerini tanımladığı şekilde kodlamak oldukça doğaldır.

Bu durumda, görüntü bu tür anahtar kare sıralarına bölünür - birkaç saniyelik bir satırda giden aynı kare grubu. Bu tür anahtar karelerin önemsizliği sayesinde sıkıştırmayı etkin bir şekilde yönetebilirsiniz.

Örneğin, filmin konusu dinamik olmadığı için, anahtar çekimler birkaç saniye sürebilir. Film dinamik sahnelerden faydalanacaksa, o zaman böyle anlarda anahtar karelerin önemsizliği kısaltılabilir ve görüntüler hızla değişecek ve daha etkili hale gelecektir.

Ana kareler ayrıca medya oynatıcılarda küçültülmeli ve geri sarılmalıdır ve dış görünüm ana karesinin başlığı, rahatsız edici ana karenin kob üzerinde değiştirilmelidir (bayt cinsinden kaydırılan video dosyasının koçanı tarafından görülebilir).

Ses ve müzik

Ses ve müzik ücretsiz olabilir veya WAV formatında bir ücret karşılığında kaydedilebilir. Örneğin, WAV formatı (Windows PCM) sıkıştırmayı aktarmaz ve kaydetmez. bip sesi orijinalinde, böylece böyle konuşabilirsin.

WAV formatı (ACM Waveform) aslında bir kapsayıcıdır ve OGG, FLAC, vb. birçok başka format olsa bile sesi, MPEG katman 3 algoritmasının arkasındaki sıkıştırmayı veya MP3 formatında müziği kaydedebilir.

Sesi sıkıştırmak için bu algoritmalar hakkında bilgi paylaşamam, ondan önce dergimizde bu konuyla ilgili harika bir makale vardı.