Névjegyzék

Mi az adatgyűjtés folyamata. A Shannon Fano fák kódolása. Mozgassa és másolja a tömörített fájlokat és mappákat

4. előadási szám. Tömörítés információ

A tömörítési információk alapelvei

Az adatgyűjtés célja a forrás által generált adatok kompakt ábrázolásának biztosítása, gazdaságos megtakarításuk és továbbításuk kommunikációs csatornákon keresztül.

Legyen egy fájlméret 1 (egy) megabájt. Meg kell kapnunk egy kisebb fájlt. Semmi bonyolult - az archiváló elindítása, például a Winzip, és az eredmény eredménye, például egy 600 kilobájt fájl. Hol vannak a maradék 424 kilobájt?

Az információ tömörítése az egyik módja a kódolásnak. Általánosságban elmondható, hogy a kódok három nagy csoportra oszthatók - tömörítési kódok (hatékony kódok), zajálló kódok és kriptográfiai kódok. A tájékoztatás tömörítésére tervezett kódok viszont a veszteségek és veszteséges kódok kódjain vannak megosztva. A veszteség nélküli kódolás abszolút pontos adat-helyreállítást jelent a dekódolás után, és bármilyen információ tömörítésére használható. A veszteség-kódolás általában sokkal nagyobb mértékű tömörítés, mint a veszteség nélküli kódolás, de lehetővé teszi a dekódolt adatok eltéréseit a forrásból.

A tömörítés típusai

A tömörítés minden módja két nagy, nem ciklusú osztályra osztható: tömörítés veszteség Információ és tömörítés veszteség nélkül információ.

Tömörítés információvesztés nélkül.

Ezek a tömörítési módszerek először érdekelnek minket, mivel ezek a szöveges dokumentumok és programok átadásában használják őket, amikor az elvégzett munka által készített ügyfél kiállítása, vagy a számítógépen tárolt információk biztonsági másolatának létrehozásakor.

Ennek az osztálynak a tömörítési módszerei nem teszik lehetővé az információveszteségét, így csak a redundanciájának kiküszöbölésére épülnek, és az információ redundanciája szinte mindig (bár, ha valaki már nem bonyolult). Ha nincs redundancia, akkor semmi sem tömöríthető.

Itt van egy egyszerű példa. Orosz, 33 betű, tíz számjegy és több mint egy és fél tucat írásjelek és más speciális karakterek. A rögzített szöveghez csak a tőke orosz betűkkel (Mint a telegramokban és a radiogramokban), elegendő lenne hatvan különböző értékre. Azonban minden egyes karaktert általában bájton kódolnak, amely 8 bitet tartalmaz, és 256 különböző kódot is kifejezhet. Ez az első bázis a redundancia számára. A "Telegraph" szövegünk esetében elegendő lenne hat bit egy szimbólumra.

Itt van egy másik példa. Nemzetközi kódoló karakterekben ASCII. A szimbólum kódolásához ugyanolyan mennyiségű bit (8) van megadva, míg mindenkinek hosszú ideje van, és jól ismert, hogy a leggyakoribb szimbólumok értelme, hogy kevesebb karaktert kódoljon. Tehát például a Morse "ábécé", az "E" és a "T" betűk, amelyek gyakran kódolva vannak kódolva, egy jel (illetve ez egy pont és kötőjel). És ilyen ritka betűk, mint "Yu" (- -) és "C" (- -) kódolják négy jel. A hatástalan kódolás a redundancia második alapja. Programok, amelyek borogatás információt megadhatja a kódolás (eltérő a különböző fájlok), és rendeljenek egy bizonyos asztal (szótár) egy tömörített fájlt, amelyből a kicsomagolás program megtanulja hogyan kell e vagy más karakter, vagy azok csoportjaira vannak kódolva a fájlban. Az átkódoló információk alapján alapuló algoritmusokat hívják hafman algoritmusok.

Az ismétlődő fragmensek jelenléte a redundancia harmadik alapja. A szövegekben ritka, de a táblákban és a grafikonon a kódok ismétlése közös jelenség. Például, ha a 0 szám ismételten megismétlődik egymás után, nincs értelme húsz nulla bájtot tenni. Ehelyett egy nullát és 20-es koefficienst helyeznek. Az ismétlések feltárására alapuló ilyen algoritmusokat hívják módRLE. (FUSS. Hossz. Kódolás).

Nagy ismétlődő szekvenciák azonos byte különösen különböző grafikus illusztrációk, de nem fényképészeti (sok zaj és a szomszédos pontok jelentősen különböznek paraméter), és az, hogy a művészek festeni „sima” színű, mint a rajzfilmekben.

Tömörítés információvesztéssel.

A tömörítés az információvesztéssel azt jelenti, hogy a tömörített archívum kicsomagolása után egy olyan dokumentumot kapunk, amely kissé eltér a kezdetektől. Nyilvánvaló, hogy minél nagyobb a tömörítés mértéke, annál nagyobb a veszteségérték és fordítva.

Természetesen az ilyen algoritmusok nem alkalmazhatók a szöveges dokumentumokra, az adatbázis táblákra és különösen a programokra. Kisebb torzulások egyszerűen nem formázatlan szövegben túlélhetők valahogy, de a programban legalább egy bit torzulása teljesen működésképtelenné válik.

Ugyanakkor vannak olyan anyagok, amelyekben érdemes feláldozni néhány százalékos információt, hogy tízszer tömörítést kapjon. Ezek közé tartozik a fotográfiai illusztráció, videofelvétel és zenei kompozíciók. Az információveszteséget a tömörítésben és az ilyen anyagokban az ilyen anyagok kicsi csomagolásának elvesztése bizonyos további "zaj" megjelenésével érzékeli. De mivel ezeken az anyagok létrehozásakor egy bizonyos "zaj" még mindig jelen van, enyhe növekedése nem mindig kritikus, és a nyeremények a méretben hatalmas (10-15-szer a zenében, 20-30-kor a képen és videofelvétel).

Az információvesztéssel kapcsolatos tömörítési algoritmusok olyan jól ismert algoritmusokat tartalmaznak, mint a JPEG és az MPEG. JPEG algoritmust használnak a fotó képek tömörítése során. A módszerrel tömörített grafikus fájlok JPG kiterjesztése van. Az MPEG algoritmusokat, ha tömörített videó és zene. Ezek a fájlok eltérő kiterjesztésekkel rendelkezhetnek, az egyedi programtól függően, de a leghíresebbek a video i.mrz számára.

A kompressziós algoritmusok az információvesztéssel csak a fogyasztói feladatokra vonatkoznak. Ez például azt jelenti, hogy ha a fényképet továbbítják, és a lejátszás zenéjét, akkor az ilyen algoritmusok alkalmazhatók. Ha további feldolgozásra továbbítják őket, például szerkesztéshez, a forrásanyagban lévő információvesztés nem elfogadhatatlan.

A kompressziós megengedett veszteség nagysága általában szabályozható. Ez lehetővé teszi, hogy kísérletezzen és optimális méret / minőségi arányt érjen el. A képernyőn lejátszásra szánt fotográfiai illusztrációkban az információ 5% -ának elvesztése általában kritikus, és egyes esetekben 20-25%.

Tömörítési algoritmusok az információvesztés nélkül

Shannon-fano kód

További érvelés érdekében kényelmes lesz a forrásfájlunk szöveges formájának, amely a kimenetén megjelenő karakterek forrásaként történik. Nem tudjuk előre, hogy melyik szimbólum a következő, de tudjuk, hogy az "A" betű a P1 valószínűségével jelenik meg, a P2-Buva "B" valószínűségével stb.

A legegyszerűbb esetekben figyelembe vesszük az összes szövegszimbólumot egymástól függetlenül, azaz A következő szimbólum megjelenésének valószínűsége nem függ az előző szimbólum értékétől. Természetesen az értelmes szövegért nem, de most nagyon egyszerűsített helyzetet veszünk. Ebben az esetben a jóváhagyás igaz "A szimbólum több információt hordoz, annál kevésbé valószínű."

Képzeljük el, hogy a szöveg, amelynek ábécé csak 16 betűből áll: a, b, b, g, d, e, z, z, és, k, l, m, n, o, p, r. Mindegyik A jelek csak 4 bitet kódolhatnak: 0000-ról 1111-re. Most képzeljük el, hogy ezeknek a karaktereknek a megjelenésének valószínűsége az alábbiak szerint kerül elosztásra:

E valószínűségek összege természetesen egyesül. Ezeket a karaktereket két csoportba osztjuk, hogy az egyes csoportok karaktereinek teljes valószínűsége ~ 0,5 (ábra). Példánkban ezek az A-B és Mr. karakterek csoportjai lesznek Az ábrán látható köröket, jelezve a szimbólumcsoportokat csúcsok vagy csomópontok (csomópontok) nevezik, és a design maga a csomópontokból egy bináris fa (B-fa). A kódot minden csomóponthoz rendelünk, amely egy 0-os számot jelöl, és a másik 1. számot.

Ismét megszakítjuk az első csoportot (A-B) két alcsoportba, hogy teljes valószínűségük olyan közelebb legyen egymáshoz. Adja hozzá a 0 első alcsoportszám kódját és a második kódot - számjegyet 1.

Ezt a műveletet mindaddig megismételjük, amíg a "fa" mindegyik csúcsán egy karakter marad. Az ábécé teljes faja 31 csomópontja lesz.

Szimbólumkódok (extrém jobb oldali csomópontok) az egyenlőtlen hosszúságú kódok. Tehát az A betű, amelynek valószínűsége, hogy P \u003d 0,2 a képzeletbeli szövegünk esetében csak két bitet kódol, és a P \u003d 0,013 valószínűséggel (P \u003d 0,013 betű) hat bites kombinációval van kódolva.

Tehát az elv nyilvánvaló - a közös szimbólumokat egy kisebb számú bit, ritkán találták - nagy. Ennek eredményeként a szimbólumon lévő bitek átlagos mennyisége egyenlő lesz

ahol Ni az I-TH szimbólumot kódoló bitek száma, a PI az I-TH szimbólum megjelenésének valószínűsége.

Huffman kód.

A Huffman algoritmus elegánsan megvalósítja az előtagkészletek statisztikai kódolásának általános elképzelését, és az alábbiak szerint működik:

1. Az ábécé összes szimbólumát megírjuk a szöveg megjelenésének valószínűségének növelése vagy csökkentése érdekében.

2. Állítólag két karaktert kombinálva a megjelenés megjelenésének legkisebb valószínűségével egy új kompozit jellegű megjelenés, amely valószínűsége, hogy megegyezünk a karakterek összetevőinek valószínűségének összegével. Végül egy fát építünk, amelynek minden olyan csomópontja, amelynek teljes valószínűsége az összes csomópont alatt.

3. Nyomon követheti az elérési utat minden fa lapra, jelölje meg az irányt az egyes csomópontok (például jobb - 1, bal - 0). A kapott szekvencia kódszót ad az egyes szimbólumoknak (ábra).

Építsen egy kódfát a következő ábécé-val való kommunikációhoz:

A módszerek hátrányai

A korábbi megbeszélésekből származó kódok legnagyobb összetettsége az, hogy minden egyes tömöríthető adathöz valószínűségi táblázatot kell biztosítani. Ez nem jelent problémát, ha ismert, hogy az angol vagy az orosz szöveg tömörül; Egyszerűen a kódoló és dekóder megfelelő kódfát biztosítunk angol vagy orosz szöveghez. Az általános esetben, ha a bemeneti adatok szimbólumainak valószínűsége ismeretlen, a huffman statikus kódjai nem elégednek meg.

A probléma megoldása az adatok első átadásában végzett kódolt adatok statisztikai elemzése, és az összeállítás a kodewoodon alapul. Valójában kódolást végez a második pass.

A kódok másik hiánya az, hogy a minimális kódszavak hossza nem lehet kevesebb, mint egy, míg az üzenet entrópiája lehet 0,1, és 0,01 bit / betű. Ebben az esetben a kód jelentősen feleslegessé válik. A problémát az algoritmus segítségével oldja meg a blokkok blokkolásához, de a kódolási / dekódolási eljárás bonyolult, és a kódfa jelentősen bővül, amelyet végül a kóddal együtt kell menteni.

Ezek a kódok nem veszik figyelembe a szinte bármilyen szövegben szereplő karakterek közötti kapcsolatokat. Például, ha a Q betű az angol nyelvű szövegben található, akkor magabiztosan azt mondhatjuk, hogy az u levél után megy.

Csoport kódoló - Run Length Encoding (RLE) az egyik legrégebbi és legegyszerűbb archiválás algoritmusok. A RLE-ben lévő tömörítés az azonos bájt láncok cseréje miatt következik be a "számláló, érték". ("Piros, piros, ..., piros" "n piros".

Az algoritmus egyik implementációja: a leggyakrabban előforduló bájtokat keresik, az előtagot hívják, és az azonos szimbólumok láncait a hármas "előtag, számláló, érték" helyettesítik. Ha ez a bájt a forrásfájlban egyszer vagy kétszer egy sorban teljesül, akkor egy "előtag, 1" vagy "előtag, 2" pont váltja fel. Van egy fel nem használt pár "előtag, 0", amely a csomagolt adatok végének jeleként használható.

Az EXE-fájlok kódolásakor az Axayazawat formanyomtatvány sorrendjét keresheti és csomagolhatja meg, amelyek gyakran megtalálhatók az erőforrásokban (sorok az Unicode kódolásban)

Az algoritmus pozitív pártja annak tulajdonítható, hogy mi nem igényel további memóriát a munka során, és gyorsan végrehajtásra kerül. Az algoritmust az RCX, TIFF, NMR formátumaiban használják. A PCX csoportos kódolásának érdekes jellemzője, hogy egyes képek archiválásának mértékét csak a képpaletta színek sorrendjének megváltoztatásával jelentősen megnövelheti.

Az LZW-kód (Lempel-Ziv & Welch) ma az egyik leggyakoribb tömörítési kód, amely veszteséges. Ez az LZW-kód segítségével, hogy az ilyen grafikus formátumok tömörítése TIFF és GIF, az LZW módosítások segítségével nagyon sok univerzális archisztív van. Az algoritmus működése az ismétlő szimbólumszekvenciák bemeneti fájljának keresésén alapul, amelyet 8-12 bit hosszúságú kombinációkkal kódolnak. Így ez az algoritmus a legnagyobb hatékonysággal rendelkezik a szövegfájlokban és grafikus fájlokon, amelyekben nagy monokróm szakaszok vagy ismétlődő pixelszekvenciák vannak.

Az LZW kódolással kapcsolatos információveszteségek hiánya a TIFF-alapú formátum széles körű eloszlásához vezetett. Ez a formátum nem ír elő semmilyen korlátozást a kép színének méretére és mélységére, és széles körben elterjedt, például nyomtatásban. Egy másik LZW alapú formátum - GIF primitívebb - lehetővé teszi, hogy a képeket legfeljebb 8 bit / pixeles színmélységgel tárolja. A GIF fájl elején van egy paletta - egy asztal, amely meghatározza a színkindex közötti levelezést - a számot 0 és 255 közötti tartományban és az igazi, 24 bites színérték között.

Tömörítési algoritmusok információvesztéssel

A JPEG algoritmust egy közös fényképészeti szakértői csoport nevű cégcsoportja fejlesztette ki. A projekt célja az volt, hogy nagy hatékonyságú tömörítési szabványt hozzon létre mind a fekete-fehér, mind a színes képek esetében, ezt a célt, és a fejlesztők által elérte. Jelenleg a JPEG megtalálja a legszélesebb alkalmazást, ahol nagy tömörítési arány szükséges - például az interneten.

Ellentétben az LZW algoritmust kódoló JPEG kódolásával, veszteségekkel. Maga a kódolási algoritmus nagyon összetett matematikán alapul, de általában a következőképpen írható le: a kép négyzetekre osztható 8 * 8 képpontra, majd minden négyzet 64 pixel szekvenciális lánccal alakul ki. Ezután minden ilyen láncot az úgynevezett DCT transzformációnak kell alávetni, amely a diszkrét Fourier transzformáció egyik fajtája. Az a tény, hogy a pixelek bemeneti sorrendje a szinuszos és koszinusz komponensek összege, több frekvenciával (az úgynevezett harmonika). Ebben az esetben csak az összetevők amplitúdóit kell ismernünk annak érdekében, hogy a bemeneti szekvenciát megfelelő pontossággal visszaállítsuk. Minél nagyobb a harmonikus komponensek száma, annál kisebb az eltérés az eredeti és a tömörített kép között. A legtöbb JPEG kódolók lehetővé teszik a tömörítési arány beállítását. Ez nagyon egyszerű: minél magasabb a tömörítési arány létrejött, minél kisebb a harmonikusok száma, amelyek mindegyike 64 pixelblokkot jelenítenek meg.

Természetesen az ilyen típusú kódolás erőssége nagy tömörítési arány, miközben fenntartja az eredeti színmélységet. Ez az a tulajdonság, amely széles körű alkalmazáshoz vezetett az interneten, ahol a fájlok méretének csökkenése kiemelkedő fontosságú a multimédiás enciklopédiában, ahol a tárolásra korlátozott mennyiségű grafika kell lennie.

Ennek a formátumnak a negatív tulajdonsága bármely olyan eszközzel független, amely lényegesen bántalmazza a képminőséget. Ez a szomorú tény, hogy nem teszi lehetővé, hogy a nyomtatásban használják, ahol a minőség a sarok fejébe kerül.

Azonban a JPEG formátum azonban nem a tökéletesség korlátja a célfájl méretének csökkentésére. A közelmúltban intenzív tanulmányok folyamatban vannak az úgynevezett Wavelet transzformáció (vagy splash transzformáció) területén. A legösszetettebb matematikai elvek alapján a Wavelet-kódolók lehetővé teszik, hogy nagyobb tömörítést kapjanak, mint a JPEG, kisebb információveszteséggel. A Wavelet transzformáció matematikájának összetettsége ellenére a szoftver megvalósításában könnyebb, mint a JPEG. Bár a Wavelet tömörítés algoritmusai még mindig a fejlődés kezdeti szakaszában vannak, nagyszerű jövőt készítenek.

Fraktál tömörítés

A fraktál kép tömörítése egy olyan kép tömörítési algoritmus, amely az ikonikus funkciók (IFS, általában az affin transzformációk eredményeként) veszteségeket tartalmaz, a képekhez. Ez az algoritmus ismert, hogy egyes esetekben lehetővé teszi, hogy nagyon nagy tömörítési arányokat szerezzen (a legjobb példák - akár 1000-szer elfogadható vizuális kapacitással) a természetes tárgyak valódi képeihez, amely elvben nem áll rendelkezésre más képkompressziós algoritmusok számára . A nehéz helyzet miatt a széles körben elterjedt az algoritmus nem kapott.

Fraktál archiválás azon a tényen alapul, hogy a rendszert használó együtthatóit icted funkciók, a kép prédikált egy tömörebb formában. Az archiválási folyamat megfontolása előtt elemezzük, hogy az IF-ek hogyan építenek képet.

Szigorúan szólva, ha az IFS egy háromdimenziós Affine transzformációk sorozata, amelyek egy képet fordítanak a másikra. Az átalakulást a háromdimenziós térben (X koordináta, a koordináta, a fényerő) pontja lehet.

A fraktálkódolási módszer alapja az önmagukban szerzett parcellák kimutatása a képen. Első alkalommal, amikor az ikonikus funkciók (IFS) rendszereinek elméletének alkalmazása a kép tömörítés problémájára Michael Barnsley és Alan Sloan vizsgálta. 1990-ben és 1991-ben szabadalmaztatták ötletüket. Jackwin (Jacquin) bevezett egy fraktálkódolási módszert, amely domain- és tartományi almai blokkokat (domain és tartományú almaiblokkokat), a teljes képet lefedő blokk blokkok. Ez a megközelítés a mai napi fraktálkódolási módszerek alapjává vált. Juval Fisher (Yuval Fisher) és számos más kutató javította.

E módszerrel összhangban a kép több, nem viszontelvezető rangvállalkozásokra (tartományi alszámok) oszlik meg, és beállítja az átfedő domain-fogyatékosságot (domain-alimpia). Minden egyes rang blokkban, a kódolási algoritmus megkeresi a legmegfelelőbb tartomány egységet és egy affin átalakítás, amely lefordítja a domain egység ezt a rangot blokk. A képszerkezet megjelenik a ranglow blokkrendszerben, a tartományblokkokban és az átalakításokban.

Az ötlet a következő: Tegyük fel, hogy az eredeti kép néhány nyomójelző rögzített pontja. Ezután a kép helyett ez a kijelzőre emlékezhet, és visszaállítani kell, hogy elegendően ismételten alkalmazza ezt a kijelzőt bármely kiindulási képre.

A Banach tételen az ilyen iterációk mindig rögzített ponthoz vezetnek, azaz az eredeti képhez. A gyakorlatban az egész nehézség abban rejlik, hogy megtalálja a legmegfelelőbb nyomómegjelenítést és kompakt tárolását. Általános szabályként a leképezési algoritmusok (azaz tömörítési algoritmusok) nagyrészt túlterhelik és nagy számítási költségeket igényelnek. Ugyanakkor a helyreállítási algoritmusok meglehetősen hatékonyak és gyorsak.

Röviden, a Barnesley által javasolt módszer a következőképpen írható le. A képet több egyszerű átalakítás (a mi esetünkben) kódolja, vagyis az átalakulások együtthatók határozzák meg (a mi esetünkben A, B, C, D, E, F).

Például a Koch görbe képe négy affin transzformációval kódolható, egyértelműen meghatároztuk mind a 24 együtthatót.

Ennek eredményeképpen a pont határozottan valahol a forráskép fekete területén megy keresztül. Miután ezt a műveletet sokszor elvégeztük, kitöltjük az összes fekete helyet, ezáltal helyreállítva a képet.

Az IFS: Serpinsky háromszöge és Fern Barnsley használatával kapott leghíresebb két kép. Az első három, és a második öt affin transzformáció (vagy terminológiánkban, lencsékben). Minden konverziót szó szerint olvasott bájtok, míg a segítségükkel épített kép több megabájtot foglalhat el.

Nyilvánvalóvá válik, hogy az archiváló hogyan működik, és miért van szüksége annyi időre. Valójában a fraktál tömörítés az önszerkes domainek keresése a képen és az affin transzformációk paramétereinek meghatározására számukra.

A legrosszabb esetben, ha az optimalizáló algoritmus nem vonatkozik, akkor a különböző méretű kép minden lehetséges töredékének összehasonlítását és összehasonlíthatja. Még a kis képek esetében is, ha figyelembe vesszük a diszkrétségeket, megkapjuk a rendellenességek csillagászati \u200b\u200bszámát. Még az átalakítási osztályok éles szűkítése, például csak bizonyos számú alkalommal történő méretezésével, nem teszi lehetővé az elfogadható idő elérését. Ezenkívül elvész a képminőség. A fraktál tömörítés területén végzett kutatás túlnyomó többsége most célozza meg a kiváló minőségű kép megszerzéséhez szükséges archiválási időt.

A fraktál tömörítési algoritmushoz, valamint a veszteségekkel végzett egyéb kompressziós algoritmusok esetében a mechanizmusok nagyon fontosak, amellyel a tömörítés mértékének és a veszteségek mértékének módosítható. A mai napig kidolgozták az ilyen módszerek nagy részét. Először is, lehet korlátozni az átalakítások számát, szándékosan biztosítva a tömörítési arányt a fix érték alatt. Másodszor, azt követelheti, hogy olyan helyzetben, ahol a feldolgozott fragmentum és a legjobb közelítés közötti különbség magasabb lesz, mint egy bizonyos küszöbérték, ez a fragmens szükségszerűen zúzódott (több lencsének is elkezdődik). Harmadszor, lehetséges, hogy tiltsa le a fragmentfragmenseket, mint például négy pontot. A küszöbértékek megváltoztatásával és ezeknek a feltételeknek a prioritása révén nagyon rugalmasan szabályozhatja a kép tömörítési arányt: a kötegirányú megfelelőségtől, bármely tömörítési arányhoz.

Összehasonlítás a JPEG-vel.

Ma a leggyakoribb grafikus archiválási algoritmus JPEG. Hasonlítsa össze fraktál tömörítésével.

Először megjegyezzük, hogy mindkettő, és egy másik algoritmus 8 bites (szürke osztályokban) és 24 bites teljes színű képekkel működik. Mindkettő a tömörítési veszteség algoritmusai, és szoros archiválási együtthatók biztosítása. És a fraktál algoritmus, és a JPEG lehetősége van növelni a tömörítés mértékét a veszteségek növekedése miatt. Ezenkívül mindkét algoritmus nagyon párhuzamos.

A különbségek megkezdődnek, ha figyelembe vesszük azokat az időt, amelyekre az algoritmusok archiválása / csomagolása szükséges. Így a fraktál algoritmus több száz és több ezer alkalommal több, mint a jpeg. A kép kicsomagolása ellenkezőleg 5-10-szer gyorsabb. Ezért, ha a képet csak egyszer tömörítjük, és a hálózaton keresztül továbbítják, és sokszor kicsomagolják, akkor jövedelmezőbb a fraktál algoritmus használata.

A JPEG a kép koszinusfunkcióinak bomlását használja, így a veszteség (még a megadott minimális veszteségek esetében is) a hullámokban és halo-ban mutatkozik az éles színek határán. Ezért ez a cél, hogy nem használja a kiváló minőségű nyomtatásra készített képek tömörítését: Ez a hatás nagyon észrevehető.

A fraktál algoritmus örömmel veszi ezt a hiányt. Ráadásul a képek nyomtatásakor minden alkalommal, amikor a skálázási műveletet végrehajtania kell, mivel a nyomtatási eszköz nyomtatási eszköze nem egyezik meg a kép raszterrel. A konvertálás során számos olyan kellemetlen hatás is lehet, amellyel a képprogrammal (olcsó nyomdai eszközöket, például hagyományos lézer- és tintasugaras nyomtatókat) küzdhet, vagy nyomtatási eszközt biztosít a processzorral, a merevlemezzel és a képkészlet segítségével Feldolgozási programok (drága fotoponáló gépekhez). Amint azt kitalálhatod, egy fraktál algoritmus használatával az ilyen problémák gyakorlatilag nem fordulnak elő.

A JPEG fraktál algoritmusa a széles körben elterjedt használatban fog történni, nem fog hamarosan (legalábbis az utóbbi alacsony sebességének köszönhetően), de a multimédiás alkalmazások területén, annak használata meglehetősen indokolt a számítógépes játékokban.

Napjainkban sok felhasználó azt gondolja, hogy az információcsomagolás folyamata hogyan történik a Winchester szabad helyének mentése érdekében, mert bármely meghajtó egyik leghatékonyabb használata. Gyakran elég modern a felhasználók, akik küzdenek a szabad hely a meghajtón, akkor megteheti, hogy törli az adatokat, és megpróbálta kiszabadítani a kívánt helyre ezen a módon, míg a haladó felhasználók a leggyakrabban adattömörítési csökkentése érdekében térfogatának .

Azonban sokan nem is tudják, hogyan hívják meg a tömörítés folyamatát, hogy ne említsük meg, hogy melyik algoritmusokat használják, és mi adja mindegyiküket.

Érdemes tömöríteni az adatokat?

Az adatok tömörítése ma fontos, és szükség van bármely felhasználóra. Természetesen az időnkben szinte mindenki megkaphatja a fejlett adattároló eszközöket, biztosítva annak lehetőségét, hogy elegendő mennyiségű szabad helyet használjon, valamint nagysebességű információfordítási csatornákkal felszerelt.

Ugyanakkor meg kell érteni, hogy idővel meg kell érteni, az idő múlásával, amelyet idővel továbbítani kell. És ha szó szerint tíz évvel ezelőtt, a térfogata 700 MB tartották szabvány rendszeres film, akkor ma készült filmek HD minőségben lehet térfogatú, több tucat gigabájt, nem is beszélve, hogy mennyi szabad hely van a kiváló minőségű festmények. A Blu-ray formátum.

Ha adatcsomagolás szükséges?

Persze, ez nem éri meg, hogy az a tény, hogy a folyamat a tömörítési információkat viszi a sok használat, de van egy bizonyos számú helyzetek, amelyek mellett az információk egy része tömörítési módszerek rendkívül hasznos, sőt szükséges:

  • Bizonyos dokumentumok átvitele e-mailben. Ez különösen azokra a helyzetekre vonatkozik, amelyekre különféle mobileszközökön át kell adnia az információkat nagy mennyiségben.
  • Gyakran az információ tömörítésének folyamata annak érdekében, hogy csökkentse az általa foglalt helyet, ha bizonyos adatokat különböző webhelyeken történő közzétételére használják, ha forgalmat szeretne menteni;
  • Szabad hely mentése a merevlemezen, ha nem lehetséges új tárolási eszközök cseréje vagy hozzáadása. Különösen a leggyakoribb helyzet az, ha bizonyos korlátozások vannak a megfizethető költségvetésben, de hiányzik a szabad lemezterület.

Természetesen a fentiek mellett még mindig óriási különböző helyzetek vannak, amelyekben az információ tömörítésének folyamata szükséges lehet a térfogat csökkentéséhez, de ezek ma a leggyakoribbak.

Hogyan tömöríthetem az adatokat?

Napjainkban számos információ tömörítési módszer létezik, de mindegyik két fő csoportra oszlik - ez a tömörítés bizonyos veszteségekkel, valamint a veszteség nélküli tömörítéssel.

Az utolsó módszercsoport használata releváns, ha az adatokat rendkívül nagy pontossággal vissza kell állítani, akár egy kicsit. Ez a megközelítés az egyetlen releváns, ha egy adott szöveges dokumentum tömörítése tömörül.

Meg kell jegyezni, hogy bizonyos esetekben nincs szükség, hogy maximalizálja a csökkentés tömörített adatokat, ezért lehetséges, hogy az ilyen algoritmusok, amelyek a tömörítés információ a lemezen végezzük bizonyos veszteségeket. A veszteségekkel való tömörítés előnye, hogy az ilyen technológia sokkal egyszerűbb a megvalósításban, és a lehető legmagasabb fokú archiválást biztosít.

Tömörítés veszteségekkel

A veszteségekkel kapcsolatos információk nagyságrendet biztosítanak a nagyságrendű tömörítéssel, miközben elegendő információt biztosítanak. A legtöbb esetben az ilyen algoritmusok használatát az analóg adatok tömörítésére, például mindenféle képet vagy hangot tömörítjük. Ilyen helyzetekben a kicsomagolt fájlok nagyon erősen eltérhetnek az eredeti információtól, de gyakorlatilag nem távolíthatók el az emberi szem vagy a fül számára.

Tömörítés veszteség nélkül

Az információcsomagolás nélküli algoritmusok veszteség nélkül biztosítják a legpontosabb adatvisszanyerést, megszünteti az összenyomható fájlok elvesztését. Ugyanakkor helyesen meg kell érteni azt a tényt, hogy ebben az esetben a fájlok hatékony tömörítését nem biztosítják.

Univerzális módszerek

Többek között van egy bizonyos számú univerzális módszer, amelyet az információcsökkentés hatékonyságának hatékony folyamata végez az általa elfoglalt hely csökkentése érdekében. Általánosságban elmondható, hogy csak három fő technológiát oszthat meg:

  • Áramlásváltás. Ebben az esetben az új bejövő tömörítetlen információk leírását a már feldolgozott fájlok segítségével végzik, és a szimbólumokat nem számolják ki, és a szimbólumok kódolása az egyetlen olyan fájl alapján, amelyet már egy bizonyos feldolgozásnak vetettek alá.
  • Statisztikai tömörítés. Ez a tömörítési információk ezen folyamata a lemezen elfoglalt hely csökkentése érdekében két alkategóriába kerül - adaptív és blokk módszerek. Az adaptív opció az új fájlok valószínűségének kiszámítását írja elő, amelyet a kódolási folyamat során már feldolgoztak. Különösen az ilyen módszereknek tartalmazniuk kell a Shannon Fano algoritmusok és a Huffman különböző adaptív változatát is. A blokk algoritmus egy külön számítási minden blokk információt, majd hozzátéve, hogy a tömörített blokk magát.
  • Konvertálja a blokkot. A bejövő információk több blokkra kerülnek, és ezt követően holisztikus transzformációt jelentenek. Azt kell mondani, hogy bizonyos módszerek, különösen azok, amelyek több blokk permutációján alapulnak, végső soron jelentősen csökkenhetnek az összenyomható információk mennyiségének jelentős csökkenéséhez. Ugyanakkor helyesen meg kell érteni, hogy az ilyen kezelés végrehajtása után, a végén jelentős javulás van, amelyben a későbbi sűrítés más algoritmusokon keresztül sokkal egyszerűbb és gyorsan történik.

Compression Másoláskor

Az egyik legfontosabb biztonsági elem az a készülék, amelyet a felhasználó által szükséges információval kell áthelyezni. Ezeknek az adatoknak a nagyobb mennyiségét mozgatják, annál több térfogatszalagot kell használnia. Ha azonban adatcsökkentési folyamatot hajt végre, akkor ebben az esetben a szabad hely hiányának problémája valószínűleg nem releváns az Ön számára.

Miért van rá szükséged?

A szükséges információkat, ha lehetővé teszi, hogy jelentősen csökkentse a szükséges fájlok másolásának időtartamát, és ugyanakkor hatékonyabb szabad helyet érjen el a meghajtón. Más szóval, a tömörítés használata esetén az információ sokkal kompaktabb és gyorsan másolódik, és megmentheti pénzét és pénzét, amelyre szükség volt egy terjedelmesebb meghajtót vásárolni. Többek között, amelyek tömörített információval is rendelkeznek, csökkenti azt az időt is, amelyre szüksége lesz, ha az összes adatot a kiszolgálóra szállítja, vagy másolja őket a hálózaton keresztül.

A biztonsági mentés adatcsomagolását egy vagy több fájlban lehet elvégezni - ebben az esetben minden attól függ, hogy milyen programot használsz, és milyen információkat kell tömöríteni.

A segédprogram kiválasztásakor győződjön meg róla, hogy a kiválasztott program hogyan tömörítheti az adatokat. Ez az információ típusától függ, ennek eredményeképpen a szöveges dokumentumok tömörítésének hatékonysága több mint 90%, míg legfeljebb 5% -os hatásos.

Mielőtt megkezdené a fájl vagy mappa tömörítésének folyamatát, nagyon fontos megérteni az ebből kapott előnyöket, és szétszereli a Windows 7 rendszerben rendelkezésre álló tömörítési módszereket:

  • NTFS fájl tömörítés
  • Kompressziós (zip) mappák.

Az adatgyűjtés csökkenti a fájlméretet a redundáns adatok minimalizálásával. A redundáns adatokkal rendelkező szövegfájlban gyakran vannak olyan jelek, mint például egy térszer vagy általános magánhangzók (E és A), valamint karakterláncok. Az adatgyűjtés létrehozza a fájl tömörített verzióját, minimalizálja ezeket a redundáns adatokat.

Ez a két tömörítési módszer az alábbiakban hasonlítható össze. Ezenkívül figyelembe kell venni a különböző fájlok és mappák hatását a tömörített fájlok és mappák hatására.


Az NTFS fájlrendszer támogatja a fájl tömörítést egy külön fájl alapján. A fájl tömörítési algoritmusa itt egy tömörítési algoritmus veszteség nélkül, ez azt jelenti, hogy a fájl tömörítése és kicsomagolásakor az adatok nem veszik el. Más algoritmusokban tömörítés és későbbi dekompresszió, az adatok egy része elveszett.

Az NTFS fájlrendszerrel rendelkező merevlemezeken elérhető NTFS tömörítés a következő korlátozásokkal és jellemzőkkel rendelkezik:

  • Tömörítés - fájl vagy mappa attribútuma.
  • Mappák és fájlok a térfogat ntfs, vagy tömörített, vagy sem.
  • A tömörített mappában létrehozott új fájlokat alapértelmezés szerint tisztítják.
  • A tömörített mappa állapota nem feltétlenül tükrözi a fájlok tömörítésének állapotát ebben a mappában. Például a mappák tömöríthetők a tartalom tömörítése nélkül, és a tömörített mappában lévő valamennyi fájl nem fizethető.
  • Munka NTFS-tömörített fájlok kicsomagolása őket, mert kicsomagolva és tömörített újra a felhasználó beavatkozása nélkül.
  • Ha a tömörített fájl nyitva van, a rendszer automatikusan kicsomagolja azt.
  • A Windows fájl bezárásakor újra tömöríti.
  • Az elismerés egyszerűsítése érdekében az NTFS tömörített fájlnevek és mappák egy másik színben jelennek meg.
  • Az NTFS-tömörített fájlok és mappák tömörített formában maradnak, csak az NTFS-köteten.
  • Az NTFS tömörített fájlokat nem lehet titkosítani.
  • A tömörített fájlbájtok nem állnak rendelkezésre az alkalmazásokhoz; Csak tömörítetlen adatokat látnak.
  • Alkalmazások, amelyek megnyitják a tömörített fájlokat, működhetnek velük, amint nem tömörítettek.
  • A tömörített fájlok nem másolhatók egy másik fájlrendszerben.

Jegyzet: A parancssor parancssori eszközzel kezelheti az NTFS tömörítést.

Mozgassa és másolja a tömörített fájlokat és mappákat.


A kiszorított vagy másolt tömörített fájlok és mappák megváltoztathatják a tömörítési állapotukat. Az alábbiakban öt helyzet van, amelyekben a másolás és a tömörített fájlok és mappák áthelyezésének hatása van.

Másolás az NTFS szakasz partíción belül.

Hogyan változik a tömörített fájl vagy mappa állapota, ha az NTFS részre másolja? Ha az NTFS fájlrendszerben lévő fájl vagy mappa másolásakor egy szakasz, fájl vagy mappa örökli a célmappa tömörítésének állapotát. Ha például egy tömörített fájlt vagy mappát másol egy kicsomagolt mappába, akkor egy fájl vagy mappa automatikusan kicsomagolódik.

Mozgás az NTFS szakaszon belül.

Mi történik a fájl tömörítéssel vagy mappával, amikor az NTFS részen belül mozog?

Ha egy fájlt vagy mappát áthelyezi az NTFS szakaszon belül, a fájl vagy mappa megmenti a kezdeti tömörítési állapotát. Például, ha tömörített fájl vagy mappát mozgat egy tömörítetlen mappában, a fájl tömörített marad.

Az NTFS szakaszok másolása vagy áthelyezése.

Mi történik egy tömörített fájlval vagy mappával, amikor az NTFS szakaszok másolása vagy áthelyezése közben?

Ha a fájlt vagy mappát az NTFS partíciók között mozgatja, a fájl vagy mappa örökli a célmappa tömörítésének állapotát. Mivel a Windows 7 megvizsgálja a későbbi törlési műveletekkel kapcsolatos másolásokat, a fájlok örökölnek a célmappa tömörítési állapotát.

Ha egy fájlt egy olyan mappába másol, amely már tartalmaz egy azonos nevű fájlt, a másolt fájl elfogadja a célfájl tömörítési attribútumát, függetlenül a mappa tömörítési állapotától.

A zsír és az NTFS kötetek közötti másolása vagy mozgatása.

Mi történik a FAT és az NTFS mennyisége közötti másolt fájl tömörítéssel?

A zsírrészre másolt tömörített fájlok nincsenek tömörítve, mivel a zsírkötések nem támogatják a tömörítést. Ha azonban az NTFS részre másolja vagy áthelyezi a fájlokat az NTFS részre, akkor örökölje a mappák tömörítési attribútumát, amelyhez másolja őket.

A fájlok másolásakor az NTFS fájlrendszer kiszámítja a lemezterületet egy tömörítetlen fájl méretén alapulva. Ez azért fontos, mert a másolási folyamat során a fájlok nem tömörítenek, és a rendszernek elegendő helyet kell biztosítania. Ha megpróbálja átmásolni egy tömörített fájlt az NTFS szakaszba, és nincs szabad helye egy tömörítetlen fájlhoz, akkor hibaüzenet jelenik meg, hogy értesíti a lemezterület hiányát a fájlhoz.

Amint azt fent említettük, az adatok előzetes előkészítésének egyik fontos feladata a titkosításra, hogy csökkentse redundanciájukat, és összehangolja az alkalmazott nyelv statisztikai mintáit. A redundancia részleges csökkentését az adatok tömörítésével érik el.

Tömörítés információ azt jelenti, hogy a forrásüzenet egy kódrendszerből a másikba történő átalakítását jelenti, amelynek eredményeképpen csökken Üzenetméret. Az információk tömörítésére szánt algoritmusok két nagy csoportra oszthatók: a tömörítés végrehajtása veszteség nélkül (reverzibilis tömörítés) és a veszteségekkel való kompresszió végrehajtása (visszafordíthatatlan tömörítés).

Reverzibilis tömörítés Ez a dekódolás után abszolút pontos adat-helyreállítást jelent, és bármilyen információ tömörítésére alkalmazható. Mindig az információ kimeneti áramlásának volumenének csökkenéséhez vezet, anélkül, hogy megváltoztatná az informativitását, azaz az információs struktúra elvesztése nélkül. Ezenkívül a kimeneti adatfolyamból egy helyreállítás vagy dekompressziós algoritmus segítségével megkaphatja a bemenetet, és a helyreállítási folyamatot dekompressziónak vagy kicsomagolásnak nevezik, és csak a kicsomagolási folyamat után az adatok alkalmasak a belső formátumuk szerinti feldolgozásra. A veszteség nélküli tömörítés a szövegek, végrehajtható fájlok, kiváló minőségű hang és grafika vonatkozik.

Visszafordíthatatlan tömörítés Általában sokkal nagyobb mértékű tömörítés, mint a veszteség nélküli kódolás, de lehetővé teszi a dekódolt adatok néhány eltérését a forrásból. A gyakorlatban számos gyakorlati feladat létezik, amelyekben a dekompresszió utáni kezdeti információk pontos helyreállításának követelményének való megfelelés nem szükséges. Ez különösen a multimédiás információk tömörítésére vonatkozik: Hang, fotó vagy videó képek. Például a JPEG és az MPEG multimédiás információs formátumokat széles körben alkalmazzák, amelyek visszafordíthatatlan tömörítést használnak. A visszafordíthatatlan tömörítést általában nem használják a kriptográfiai titkosítással együtt, mivel a kriptoszisztéma fő követelménye a dekódolt adatok azonosítása az eredetiből. Multimédiás technológiák használatakor azonban a digitális formában bemutatott adatok gyakran visszafordíthatatlan tömörítésnek vannak kitéve, mielőtt a titkosítási kriptográfiai rendszerben szolgálnak. Miután átadta az információkat a fogyasztónak és a dekódolásnak, a multimédia fájlokat tömörített formában (azaz nem helyreállították) használják.

Tekintsünk a reverzibilis adatok tömörítésének néhány leggyakoribb módjait.

A legismertebb egyszerű megközelítés és algoritmus az információ tömörítésére reverzibilis - Ez a szekvenciák sorozatának kódolása (futtatási hossza kódolás - RLE). A megközelítés módszereinek lényege a láncok vagy az ismétlődő bájtok sorozatának cseréjét jelenti egy kódolási bájtbevételre és az ismétlésük számára. A probléma az összes hasonló módszerekkel csak a meghatározása a módszer, amellyel a kicsomagolás algoritmus kell különböztetni a kapott áram bájtok kódolt sorozat a más, nem-kódolt bájtok. A probléma megoldását általában a kódolt láncok kezdetén a címkék bővítésével érik el. Az ilyen címkék jellemző bitek lehetnek a kódolt sorozat első Pape-ban, a kódolt sorozat első bájta értékei. A RLE módszer hátránya meglehetősen alacsony tömörítési arány, vagy a fájlok kódolásának költsége kis számú sorozatban, és még rosszabb - egy kis számú ismétlődő bájtokkal a sorozatban.

Az egyenletes kódolási információkkal ugyanazt a bitet az üzenethez osztják ki, függetlenül a megjelenés valószínűségétől. Ugyanakkor logikus, hogy feltételezzük, hogy a továbbított üzenetek teljes hossza csökken, ha a rövid kódszavakkal kódolt, és ritkán fordul elő - hosszabb. Az ebből eredő problémák kapcsolódnak a használat szükségességéhez változó kódszó kódok. Sok megközelítés létezik az ilyen kódok építésére.

A gyakorlatban a gyakorlatban a szókincs módszerek, amelyek fő képviselői magukban foglalják a Ziva család és a lempálya algoritmusait. Az alapgondolatuk az, hogy a bemeneti adatfolyam ("mondatok") töredékei helyettesítik azt a helyet, ahol már megjelentek a szövegben. Az irodalomban az ilyen algoritmusokat algoritmusként jelölik Lz tömörítés.

Hasonló módszer gyorsan alkalmazkodik a szöveg szerkezetéhez, és rövid funkcionális szavakat kódolhat, mivel nagyon gyakran jelennek meg. Új szavak és kifejezések is kialakíthatók a korábban találkozott szavak részeiből. A tömörített szöveg dekódolását közvetlenül végezzük, - van egy egyszerű csere a mutatónak a készítményre a szótárból, amelyre az egyik jelzi. A gyakorlatban az LZ módszer jó tömörítést eredményez, fontos tulajdonsága a dekóder nagyon gyors munkája.

Az információ tömörítésének másik megközelítése kód Huffman, a kódoló és dekóder, amelynek meglehetősen egyszerű hardveres végrehajtása van. Az algoritmus ötlete a következőkből áll: ismerete a karakterek előfordulásának egy üzenetbe, akkor leírhatja a változó hosszúságú kódok megépítésének eljárását, amely számos bitből áll. A szimbólumok nagyobb valószínűséggel vannak hozzárendelve rövidebb kódok, míg kevésbé gyakran tapasztalt karakterek hosszabbak. Ennek következtében a kódszó átlagos hosszának csökkentése és a nagyobb tömörítési hatékonyság csökkenése érhető el. A Huffman kódok egyedülálló előtaggal rendelkeznek (a kódszó kezdete), amely lehetővé teszi, hogy egyértelműen dekódolja őket, annak változó hossza ellenére.

A klasszikus Khaffman-kód szintézisének eljárása feltételezi az üzenetforrás statisztikai jellemzőire vonatkozó priori információk jelenlétét. Más szóval, a fejlesztőnek ismernie kell azokat a valószínűségét, hogy ezek vagy más karakterek, amelyekről az üzenetek képződnek. Tekintsük a Huffman kódjának szintézisét egyszerű példával.

p (s 1) \u003d 0,2, p (s 2) \u003d 0,15, p (s 3) \u003d 0,55, p (s 4) \u003d 0,1. Rendezze a szimbólumokat a megjelenés valószínűségétől és képzelje el egy táblázat formájában (14.3. Ábra, A).

A kódszintézis eljárás három fő lépésből áll. A táblázat sorai első kiindulása következik be: az előfordulás legkisebb valószínűségével ellátott szimbólumoknak megfelelő két sor helyébe egy teljes valószínűséggel helyettesíthető, majd a táblázat újra átrendeződik. A konvolúció mindaddig folytatódik, amíg csak egy sort tartalmaz, amelynek teljes valószínűsége egyenlő (14.3. Ábra, b) marad a táblázatban.


Ábra. 14.3.

A második szakaszban a kodewood összecsukott asztalon van kialakítva (14.4. Ábra, A). A fa épül, az asztal utolsó oszlopával kezdődik.


Ábra. 14.4.

A fa gyökere az utolsó oszlopban található egységet képez. Ebben a példában ez a készülék 0,55 és 0,45 számú valószínűségekből származik, amely a gyökérhöz társított fa két csomópontja formájában van ábrázolva. Az elsőnek megfelel az S 3 szimbólumnak, és így a csomópont további elágazása nem fordul elő.

A 0,45 valószínűséggel jelölt második csomópont a harmadik szint két csomópontjához van csatlakoztatva, valószínűségekkel 0,25 és 0,2. A 0,2 valószínűsége megfelel az S 1 szimbólumnak, és a 0,25 valószínűségük viszont az S 4 szimbólum S 2 és 0,1 jelének 0,15 megjelenésének valószínűségéből származik.

Bordák, amelyek egyedi kódfák csomópontokat, 0 és 1 számokat (például bal bordákat - 0 és jobb - 1) csatlakoztatnak. A harmadik, utolsó szakaszban egy táblázat épül, amelyben a forrás szimbólumokat összehasonlítja és a Huffman kód kódjait. Ezek a kódszavak a bordákkal jelölt számok olvasási számának eredményeképpen alakulnak ki, amely a fa gyökéréből a megfelelő szimbólumba kerül. A vizsgált példaként a Huffman kód a jobb oldali táblázatban látható nézetet fogja elvégezni (14.4. Ábra, b).

A klasszikus Huffman algoritmus azonban egy jelentős hátránya van. A tömörített üzenet tartalmának visszaállításához a dekódernek ismernie kell a kódolót élvezve. Ezért a tömörített üzenet hossza növeli a frekvenciatáblázat hosszát, amelyet az adatok előtt kell megküldeni, amely nem csökkenthető az üzenet tömörítésére.

Egy másik változat statikus kódolás Huffman Az összegyűjtött statisztikák alapján a bemeneti adatfolyam és az építési kódolás megtekintése. Ehhez két fájl szükséges a fájlban - egy a statisztikai információk megtekintéséhez és gyűjtéséhez, a második a kódoláshoz. A huffman statikus kódolásában a bemeneti szimbólumok (különböző hosszúságú bitek láncai) a bitláncok levelezésére is beállíthatók változó hosszúságúak - azok kódjai. Az egyes szimbólumok kódjának hossza egy arányos bináris logaritmus történik az ellenkező jelzéssel. És az összes különböző szimbólum teljes készlete az Áramlat ábécéje.

Van egy másik módszer - adaptív vagy huffman dinamikus kódolása. Általános elv a kódolási séma megváltoztatása a bemeneti áramlás változásainak jellegétől függően. Az ilyen megközelítésnek egyetlen átmeneti algoritmusa van, és nem igényli a kifejezetten használt kódolással kapcsolatos információk megőrzését. Az adaptív kódolás nagyobb tömörítési arányt adhat a statikushoz képest, mivel a bemeneti áramlás gyakoriságának változásai jobban figyelembe veszik. Az adaptív huffman kódolás használatakor az algoritmus szövődménye a fő ábécé szimbólumainak fa- és kódjainak folyamatosan be kell állítania a bemeneti adatfolyam változó statisztikájának megfelelően.

A Huffman módszerek elegendően nagy sebességgel és mérsékelten jó minőségű tömörítést adnak. Azonban a kódolás a Huffman minimális redundanciával, feltéve, hogy minden karakter van kódolva az ábécé a szimbólum kód egy külön láncot két bit - (0, 1). Ennek a módszernek a legfőbb hátránya a tömörítési fok függése a szimbólumok valószínűségének két negatív mértékben, ami annak köszönhető, hogy minden egyes karaktert egy egész bit kódolja.

Teljesen különböző megoldás aritmetikai kódolás. Ez a módszer azon a gondolaton alapul, hogy a bemeneti adatfolyamot egyetlen lebegőpontra konvertálja. Az aritmetikai kódolás olyan módszer, amely lehetővé teszi a bemeneti ábécé csomagoló karaktereit veszteség nélkül, feltéve, hogy ezeknek a karaktereknek a frekvenciaeloszlása \u200b\u200bismert.

A becsült szükséges szimbólumok sorozatát, amikor összenyomja a számtani kódolási módszert tartják, mivel egyes bináris frakciót az intervallum)

Tetszett a cikket? Oszd meg