Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako sú veľké súbory komprimované a dekomprimované?

Veľké súbory sú komprimované a dekomprimované pomocou rôznych algoritmov a techník, ktoré často využívajú kombináciu metód pre optimálne výsledky. Základným princípom je identifikovať a odstrániť redundanciu v údajoch, čo predstavuje v kompaktnejšej podobe. Tu je porucha:

kompresné techniky:

* bezstratová kompresia: Tento typ kompresie zaručuje dokonalú rekonštrukciu pôvodných údajov po dekompresii. Je to rozhodujúce pre súbory, v ktorých je neprijateľný aj malý kúsok straty údajov (napr. Textové dokumenty, zdrojový kód, tabuľky). Bežné metódy zahŕňajú:

* Kompresia založená na slovníku (LZ77, LZ78, LZW): Tieto algoritmy identifikujú opakujúce sa sekvencie bajtov (alebo znakov) v údajoch a nahradia ich kratšími odkazmi. Pomyslite na to ako na vytvorenie slovníka bežných fráz a používanie kódov na ich reprezentáciu. Príklady zahŕňajú GZIP a Zip (ktoré často používajú kombináciu metód).

* Huffman Coding: Táto štatistická metóda priraďuje kratšie kódy častejším symbolom (bajtov alebo znakov) a dlhším kódom k menej častým. Je to veľmi efektívne pre textové súbory, kde sa určité znaky javia oveľa častejšie ako iné.

* aritmetické kódovanie: Podobne ako pri kódovaní Huffman, ale namiesto priradenia kódov s pevnou dĺžkou priraďuje frakčné kódy, čo vedie k mierne lepším kompresným pomerom.

* Burrows-Whoeler Transformácia (BWT): Táto technika usporiada údaje na zlepšenie efektívnosti iných metód kompresie, ako je kódovanie run-dĺžky (RLE). Často sa používa v spojení s transformáciou presunu na prednú transformáciu (MTF) a Huffmanov kódovanie (ako je vidieť v BZIP2).

* kontextové miešanie: Toto je pokročilejšia technika, v ktorej kompresný algoritmus pri výbere kódu zohľadňuje kontext obklopujúci každý bajt/znak. Pomáha to využívať komplexné prepúšťanie, ktoré môžu chýbať iné metódy.

* Strata kompresia: Tento typ kompresie obetuje niektoré údaje, aby sa dosiahli vyššie kompresné pomery. Je to prijateľné pre údaje, kde je malá strata kvality tolerovateľná (napr. Obrázky, zvuk, video). Bežné metódy zahŕňajú:

* jpeg (obrázky): Používa diskrétnu transformáciu kosínu (DCT) na zníženie množstva údajov potrebných na reprezentáciu obrazu.

* mp3 (audio): Používa percepčné kódovanie na odstránenie zvukov, ktoré budú pravdepodobne maskované inými zvukmi.

* mPeg (video): Na efektívne komprimovanie videa používa rôzne techniky, ako je kompenzácia pohybu a DCT.

Proces kompresie/dekompresie:

1. Analýza: Kompresor analyzuje vstupné údaje na identifikáciu vzorov a prepúšťania. Táto analýza je špecifická pre algoritmy.

2. Transformácia: Údaje sa transformujú na základe zvoleného algoritmu. To by mohlo zahŕňať preskupenie bajtov, vytváranie slovníkov alebo aplikovanie matematických transformácií.

3. kódovanie: Transformované údaje sú kódované do kompaktnejšej reprezentácie pomocou kódov (Huffmanove kódy, aritmetické kódy atď.). Často sú zahrnuté metadáta o použitej metóde kompresie.

4. SKLADOVANIE/Prenos: Komprimované údaje sú uložené v súbore alebo prenášané v sieti.

5. dekódovanie: Dekompresor prijíma komprimované údaje a obráti proces kódovania.

6. inverzná transformácia: Dekompresor aplikuje inverziu transformácie použitej počas kompresie.

7. Rekonštrukcia: Pokiaľ ide o bezstratovú kompresiu, pôvodné údaje sú dokonale zrekonštruované. V prípade stratovej kompresie sa rekonštruuje úzka aproximácia pôvodných údajov.

Softvér a hardvér:

Rôzne softvérové ​​nástroje (ako „GZIP`,` Zip`, `7-Zip`,` BZIP2`) a knižnice implementujú tieto algoritmy. Moderné CPU majú často pokyny, ktoré urýchľujú určité kompresné operácie, a špecializovaný hardvér (napríklad spoluzakladateľov kompresie) môže výrazne urýchliť tento proces pre veľmi veľké súbory. Poskytovatelia cloudového úložiska tiež využívajú optimalizované kompresné techniky na stupnici.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené