Kompresia znižuje množstvo informácií v správe. Kódovanie dĺžky behu

Všetky kompresné algoritmy pracujú na vstupnom toku informácií, aby sa pomocou určitej transformácie dosiahol kompaktnejší výstupný tok. Hlavné technické charakteristiky kompresných procesov a výsledky ich práce sú:

· Kompresný pomer - pomer objemov počiatočných a výsledných prúdov;

· Rýchlosť kompresie - čas strávený kompresiou určitého množstva informácií vo vstupnom toku, kým sa z neho nezíska ekvivalentný výstupný tok;

· Kvalita kompresie - hodnota, ktorá ukazuje, ako veľmi je výstupný tok zabalený, keď je znova komprimovaný pomocou rovnakého alebo iného algoritmu.

Algoritmy, ktoré eliminujú nadbytočnosť zápisu údajov, sa nazývajú algoritmy na kompresiu údajov alebo algoritmy na archiváciu. V súčasnej dobe existuje obrovské množstvo programov na kompresiu údajov založených na niekoľkých základných metódach.

Všetky algoritmy na kompresiu údajov sú rozdelené na:

) bezstratové kompresné algoritmy, pomocou ktorých sa údaje na príjme obnovia bez najmenšej zmeny;

) stratové kompresné algoritmy, ktoré odstraňujú informácie z dátového toku, ktoré významne neovplyvňujú podstatu údajov alebo sú pre ľudí všeobecne nepostrehnuteľné.

Existujú dve hlavné metódy bezstratovej archivácie:

Huffmanov algoritmus zameraný na kompresiu nespojených bajtových sekvencií,

Lempel -Zivov algoritmus (angl. Lempel, Ziv), zameraný na kompresiu akéhokoľvek druhu textu, to znamená pomocou faktu opakovaného opakovania „slov“ - sekvencií bajtov.

Takmer všetky populárne bezztrátové archivačné programy (ARJ, RAR, ZIP atď.) Používajú kombináciu týchto dvoch metód - algoritmus LZH.

Huffmanov algoritmus.

Algoritmus je založený na skutočnosti, že niektoré znaky zo štandardnej 256-znakovej sady vo voľnom texte sa môžu vyskytovať častejšie ako priemerné obdobie opakovania, zatiaľ čo iné menej často. Ak teda $ + o na písanie bežných znakov používa krátke sekvencie bitov kratších ako 8 a na písanie vzácnych znakov - dlhých, celková veľkosť súboru sa zníži.

Algoritmus Lempel-Ziv. Klasický algoritmus Lempel -Ziv -LZ77 pomenovaný podľa roku vydania je veľmi jednoduchý. Je formulovaný nasledovne: ak sa s podobnou postupnosťou bajtov už stretol v predchádzajúcom výstupnom prúde a záznam o jeho dĺžke a odsadení od aktuálnej polohy je kratší ako samotná táto postupnosť, potom je prepojenie (posun, dĺžka) zapísané do výstupného súboru, a nie do samotnej sekvencie.

4. Pomer kompresie súborov

Kompresia informácií v archívnych súboroch sa vykonáva elimináciou nadbytočnosti rôznymi spôsobmi, napríklad zjednodušením kódov, odstránením konštantných bitov z nich alebo reprezentovaním opakujúcich sa symbolov alebo opakujúcej sa postupnosti symbolov vo forme faktora opakovania a zodpovedajúcich symbolov. Algoritmy pre takúto kompresiu informácií sú implementované v špeciálnych archivačných programoch (najznámejšie z nich sú arj / arjfolder, pkzip / pkunzip / winzip, rar / winrar) .súbor alebo archív.

Účelom balenia súborov je zvyčajne poskytnúť kompaktnejšie umiestnenie informácií na disk, skrátiť čas a podľa toho aj náklady na prenos informácií cez komunikačné kanály v počítačových sieťach. Preto je hlavným ukazovateľom účinnosti konkrétneho archivačného programu stupeň kompresie súborov.

Pomer kompresie súboru je charakterizovaný koeficientom Kc, definovaným ako pomer objemu komprimovaného súboru Vc k objemu pôvodného súboru V®, vyjadreného v percentách (niektoré zdroje používajú opačný pomer):

Kc = (Vc / Vo) * 100%

Veľkosť kompresie závisí od použitého programu, spôsobu kompresie a typu zdrojového súboru.

Súbory grafických obrázkov, textové súbory a dátové súbory, u ktorých môže kompresný pomer dosiahnuť 5 - 40%, sú komprimované najlepšie, súbory spustiteľných programov a zavádzacích modulov sú komprimované menej Kc = 60 - 90%. Archívne súbory sú takmer nekomprimované. To sa dá ľahko vysvetliť, ak viete, že väčšina archivačných programov používa na kompresiu verzie algoritmu LZ77 (Lempel -Ziv), ktorého podstatou je špeciálne kódovanie opakovaných sekvencií bajtov (čítanie - znaky). Frekvencia výskytu takýchto opakovaní je najvyššia v textoch a bodkovanej grafike a v archívoch je prakticky znížená na nulu.

Programy na archiváciu sa navyše stále líšia v implementácii kompresných algoritmov, čo podľa toho ovplyvňuje kompresný pomer.

Niektoré archivačné programy navyše obsahujú nástroje zamerané na zníženie kompresného pomeru Kc. Program WinRAR napríklad implementuje mechanizmus nepretržitej (pevnej) archivácie, pomocou ktorého je možné dosiahnuť o 10 - 50% vyšší kompresný pomer, ako poskytujú konvenčné metódy, najmä ak je zabalený značný počet malých súborov rovnakého typu.

Charakteristiky archivátora sú hodnoty nepriamo súvisiace. To znamená, že čím vyšší je kompresný pomer, tým nižší je kompresný pomer a naopak.

Počítačový trh ponúka mnoho archivátorov - každý má svoju vlastnú sadu podporovaných formátov, svoje klady a zápory, svoj okruh obdivovateľov, ktorí sú pevne presvedčení, že archivátor, ktorý používajú, je najlepší. Nikoho a nič neodradíme - len sa pokúsime nestranne vyhodnotiť najpopulárnejšie archivátory z hľadiska funkčnosti a účinnosti. Patria sem WinZip, WinRAR, WinAce, 7 -Zip - vedú k počtu stiahnutí na softvérových serveroch. Je takmer nemožné zvážiť iné archivátory, pretože percento používateľov, ktorí ich používajú (súdiac podľa počtu stiahnutí), je malé.

Jedným z najbežnejších typov systémových programov sú programy určené na archiváciu a balenie súborov komprimáciou v nich uložených informácií.

Kompresia informácií je proces prevodu informácií uložených v súbore, v dôsledku čoho sa zníži ich nadbytočnosť, a preto je na ukladanie potrebných menej pamäte.

Kompresia informácií v súboroch sa vykonáva odstránením nadbytočnosti rôznymi spôsobmi, napríklad zjednodušením kódov, odstránením konštantných bitov z nich alebo reprezentovaním opakujúcich sa symbolov alebo opakujúcej sa sekvencie symbolov vo forme faktora opakovania a zodpovedajúcich symbolov. Na takúto kompresiu informácií sa používajú rôzne algoritmy.

Komprimovať je možné jeden aj niekoľko súborov, ktoré sú v komprimovanej forme umiestnené v tzv archívny súbor, alebo archív.

Archívny súbor je špeciálne organizovaný súbor, ktorý obsahuje jeden alebo viac súborov v komprimovanej alebo nekomprimovanej forme a servisné informácie o názvoch súborov, dátume a čase ich vytvorenia alebo úpravy, veľkostiach atď.

Účelom balenia súborov je zvyčajne poskytnúť kompaktnejšie umiestnenie informácií na disk, skrátiť čas a podľa toho aj náklady na prenos informácií cez komunikačné kanály v počítačových sieťach. Balenie skupiny súborov do jedného archívneho súboru navyše výrazne zjednodušuje ich prenos z jedného počítača do druhého, skracuje čas na kopírovanie súborov na disky, pomáha chrániť informácie pred neoprávneným prístupom a chráni pred infekciou počítačovými vírusmi.

Pod pomer kompresie porozumieť pomeru veľkostí komprimovaného súboru a originálu vyjadreného v percentách.

Pomer kompresie závisí od použitého kompresného programu, spôsobu kompresie a typu zdrojového súboru. Najlepšie zo všetkých sú komprimované súbory grafických obrázkov, textové súbory, dátové súbory, ktorých kompresný pomer môže dosiahnuť 5 - 40%, súbory spustiteľných programov a moduly načítania sú komprimované menej - 60 - 90%. Archívne súbory sú takmer nekomprimované. Archivačné programy sa líšia v použitých metódach kompresie, čo podľa toho ovplyvňuje kompresný pomer.

Archivácia (balenie) - umiestnenie (načítanie) zdrojových súborov do archívneho súboru v komprimovanej alebo nekomprimovanej podobe.

Rozbalenie (rozbalenie) - proces obnovy súborov z archívu presne tak, ako boli pred načítaním do archívu. Pri rozbalení sa súbory extrahujú z archívu a umiestnia na disk alebo do pamäte RAM.

Programy, ktoré balia a rozbaľujú súbory, sa nazývajú archivačné programy.

Archívne súbory, ktoré sú veľké, môžu byť umiestnené na viacerých diskoch (zväzkoch). Takéto archívy sa nazývajú viaczväzkový... Zväzok je neoddeliteľnou súčasťou viaczväzkového archívu. Vytvorením archívu z niekoľkých častí môžete jeho časti nahrávať na viacero médií.

Hlavné typy archivačných programov

V súčasnosti sa používa niekoľko desiatok archivačných programov, ktoré sa líšia v zozname funkcií a prevádzkových parametrov, ale najlepšie z nich majú približne rovnaké vlastnosti. Medzi najobľúbenejšie programy patria: Zip (a jeho modifikácia WinZip), WinRAR, Arj (a jeho odrody), G-Zip, 7-Zip.

Archivačné programy vám tiež umožňujú vytvárať také archívy a extrahovať súbory, z ktorých nepotrebujete žiadne programy, pretože samotné archívne súbory môžu obsahovať program na rozbaľovanie. Tieto archívne súbory sa nazývajú samorozbaľovacie súbory. Samorozbaľovací archívny súbor je spustiteľný spustiteľný modul, ktorý je schopný samorozbaľovať súbory v ňom obsiahnuté bez použitia programu archivátora.

Samorozbaľovací archív dostal meno Archív SFX(Extrakcia SelF). Archívy tohto typu sa spravidla vytvárajú vo formáte súboru EXE.

Mnoho archivačných programov rozbalí súbory ich vynesením na disk, existujú však aj také, ktoré sú navrhnuté tak, aby vytvorili zabalený spustiteľný modul (program). Výsledkom takéhoto balenia je programový súbor s rovnakým názvom a príponou, ktorý sa po načítaní do pamäte RAM automaticky rozbalí a okamžite spustí. Súčasne je možná aj spätná konverzia súboru programu do rozbaleného formátu. Tieto archivátory obsahujú programy Upx, PKLITE, LZEXE.

Program EXPAND, ktorý je súčasťou pomocných programov operačného systému Windows, sa používa na rozbaľovanie súborov pre softvérové ​​produkty dodávané spoločnosťou Microsoft.

Metódy riadenia programu archivátora

Program archivátora sa ovláda jedným z nasledujúcich spôsobov:

  • - pomocou príkazového riadka, v ktorom je vytvorený príkaz na spustenie, obsahujúceho názov programu archivátora, príkaz na ovládanie a jeho konfiguračné kľúče, ako aj názvy archívnych a zdrojových súborov;
  • - používanie vstavaných panelov a dialógových panelov, ktoré sa zobrazia po spustení programu, a umožňujú ovládanie pomocou ponuky a funkčných klávesov, čo užívateľovi vytvára pohodlnejšie pracovné prostredie;
  • - pomocou kontextovej ponuky programu Explorer v operačnom systéme Windows.

Mnoho dnešných používateľov sa obáva procesu komprimácie informácií, aby ušetrili voľné miesto na svojom pevnom disku. Toto je jeden z najúčinnejších spôsobov, ako využiť úložný priestor.


Moderní používatelia často čelia problému nedostatku voľného miesta na pevnom disku. Mnohí sa v snahe uvoľniť aspoň trochu voľného miesta pokúšajú odstrániť všetky nepotrebné informácie z pevného disku. Pokročilejší používatelia používajú na zníženie množstva údajov špeciálne kompresné algoritmy. Napriek účinnosti tohto procesu o ňom mnoho používateľov ani nepočulo. Pokúsme sa zistiť, čo sa rozumie pod kompresiou údajov, aké algoritmy na to možno použiť a aké výhody poskytuje každý z nich.

Prečo komprimovať informácie?

Dnes je kompresia informácií pomerne dôležitým postupom, ktorý potrebuje každý používateľ PC. Dnes si každý používateľ môže dovoliť kúpiť moderné zariadenie na ukladanie údajov, ktoré poskytuje možnosť využiť veľké množstvo pamäte. Takéto zariadenia sú spravidla vybavené vysokorýchlostnými kanálmi na vysielanie informácií. Je však potrebné poznamenať, že každým rokom sa množstvo informácií požadovaných užívateľmi stáva stále väčším. Len pred desiatimi rokmi veľkosť štandardného video filmu nepresiahla 700 megabajtov. Dnes môže objem filmov v kvalite HD dosiahnuť niekoľko desiatok gigabajtov.

Kedy je kompresia údajov potrebná?

Od procesu kompresie informácií by ste nemali veľa očakávať. Napriek tomu existujú situácie, v ktorých je kompresia informácií jednoducho potrebná a mimoriadne užitočná. Pozrime sa na niektoré z týchto prípadov.

1. Prenos e -mailom.

Veľmi často existujú situácie, keď potrebujete odoslať veľké množstvo údajov e-mailom. Kompresia môže výrazne znížiť veľkosť prenášaných súborov. Tí používatelia, ktorí na odosielanie informácií používajú mobilné zariadenia, ocenia predovšetkým výhody tohto postupu.

2. Publikovanie údajov na webových stránkach a portáloch.

Kompresný postup sa často používa na zníženie objemu dokumentov použitých na publikovanie v rôznych internetových zdrojoch. To vám umožní výrazne ušetriť na doprave.

3. Úspora voľného miesta na disku.

Keď nie je možné do systému pridať nové pamäťové médium, môžete použiť postup kompresie a ušetriť tak miesto na disku. Stáva sa tak, že rozpočet používateľa je extrémne obmedzený a na pevnom disku nie je dostatok voľného miesta. Tu nastupuje kompresný postup.

Okrem vyššie uvedených situácií existuje mnoho ďalších prípadov, v ktorých môže byť proces kompresie údajov veľmi užitočný. Uviedli sme iba tie najbežnejšie.

Metódy kompresie informácií

Všetky existujúce metódy kompresie informácií je možné rozdeliť do dvoch hlavných kategórií. Je to bezstratová a stratová kompresia. Prvá kategória je relevantná iba vtedy, keď je potrebné obnoviť údaje s vysokou presnosťou bez straty jediného bitu pôvodných informácií. Jediným prípadom, kedy musíte použiť tento konkrétny prístup, je kompresia textových dokumentov.

V prípade, že neexistuje žiadna špeciálna potreba najpresnejšej obnovy komprimovaných informácií, je potrebné zabezpečiť možnosť použitia algoritmov s určitými stratami kompresie. Hlavnou výhodou stratových kompresných algoritmov je ich jednoduchá implementácia. Také algoritmy tiež poskytujú pomerne vysoký kompresný pomer.

Stratová kompresia

Algoritmy stratovej kompresie poskytujú najlepší kompresný pomer pre súbory a zároveň zachovávajú dostatok informácií na obnovu. Použitie týchto algoritmov je spravidla vhodné na kompresiu analógových údajov, ako sú zvuky alebo obrázky. V takýchto prípadoch sa konečný výsledok môže výrazne líšiť od originálu. Osoba bez špeciálneho vybavenia si však tento rozdiel ani nevšimne.

Kompresia bez straty informácií

Algoritmy bezstratovej kompresie poskytujú najpresnejšie obnovenie pôvodných údajov. Akákoľvek strata je vylúčená. Táto metóda má však jednu významnú nevýhodu: pri použití takýchto algoritmov nie je kompresia príliš účinná.

Generické metódy

Existujú aj špeciálne techniky, ktoré môžete použiť na kompresiu informácií uložených na pevných diskoch, aby sa zmenšila ich veľkosť. Ide o takzvané generické metódy. Celkovo existujú tri technológie.

1. Transformácia toku.

Popis prichádzajúcich nekomprimovaných informácií prebieha prostredníctvom súborov, ktoré už boli prevedené. V tomto procese nie sú vypočítané žiadne pravdepodobnosti. Kódovanie znakov sa vyskytuje iba na základe tých súborov, ktoré už boli spracované.

2. Štatistická kompresia.

Tento typ procesu kompresie informácií možno podmienene rozdeliť na ďalšie dva typy: blokové metódy a adaptívne metódy. Pri použití blokových algoritmov sa každý samostatný blok informácií vypočíta oddelene a pridá sa k bloku, ktorý už bol komprimovaný. Adaptívne algoritmy umožňujú výpočet pravdepodobností na základe informácií, ktoré už boli spracované počas procesu kompresie. Tento typ metódy obsahuje adaptívny algoritmus Shannon-Fano.

3. Bloková transformácia.

Počas procesu kompresie sú všetky prevedené informácie rozdelené do niekoľkých samostatných blokov. Dochádza k holistickej transformácii informácií.

Je potrebné poznamenať, že niektoré metódy, najmä tie, ktoré sú založené na permutácii niekoľkých blokov, môžu viesť k zníženiu množstva informácií uložených na disku. Hlavnou vecou je pochopiť, že po spracovaní sa štruktúra informácií uložených na disku zlepšuje a optimalizuje. Výsledkom bude, že následná kompresia pomocou iných metód a algoritmov bude jednoduchšia a rýchlejšia.

Kompresia informácií pri kopírovaní

Jednou z najdôležitejších súčastí zálohovania informácií je zariadenie, na ktorom sa budú informácie pohybovať. Čím viac informácií potrebujete, tým objemnejšie zariadenie budete musieť použiť. Problém s nedostatkom voľného miesta môžete vyriešiť pomocou procesu kompresie informácií.

Pri zálohovaní môže kompresia údajov výrazne skrátiť čas, ktorý používateľ strávi kopírovaním potrebných informácií. Umožňuje tiež efektívnejšie využitie voľného miesta na vymeniteľných médiách. Pri procese kompresie budú skopírované informácie umiestnené na vymeniteľné médiá rýchlejšie a kompaktnejšie.

Ušetríte tak peniaze potrebné na kúpu väčšieho disku. Okrem toho podrobením informácií, ktoré potrebujete, ďalšej kompresii skracujete čas strávený prenosom použitých údajov na server. To isté platí pre kopírovanie informácií cez sieť. Na zálohovanie je možné informácie skomprimovať do jedného alebo viacerých súborov.

Všetko bude závisieť iba od programu, ktorý použijete na kompresiu informácií. Pri výbere pomocného programu pre kompresiu dávajte pozor na to, ako je zvolený program schopný komprimovať údaje. Účinnosť kompresie bude závisieť aj od typu informácií, ktoré prevádzate. Napríklad účinnosť kompresie textových súborov a dokumentov môže byť až 90%. Ale pri kompresii obrázkov je možné dosiahnuť účinnosť iba niekoľko percent.

Záver

Dnes, v dobe informácií, napriek skutočnosti, že takmer každý používateľ má prístup k vysokorýchlostným kanálom na prenos údajov a veľkoobjemovým médiám, zostáva otázka kompresie údajov stále aktuálna. Existujú situácie, v ktorých je kompresia údajov jednoducho nevyhnutnou operáciou. Platí to najmä pre prenos údajov elektronickou poštou a zverejňovanie informácií na internete.

Archív - Kompresia súborov: Ako to funguje? - časopis „Počítač“

Ahoj! Mohli by ste začiatočníkovi vysvetliť, ako sú súbory komprimované všetkými druhmi archivátorov? Aspoň vo všeobecných pojmoch. A potom si len ťažko viem predstaviť, ako to môže byť.

Vitaly

Celkom správne, Vitaly, nie je to také ľahké si predstaviť, najmä ak nepoznáš algoritmus. Čitatelia časopisu „Počítač“ však mali šťastie;), pretože ma svojho času veľmi zaujímali algoritmy na kompresiu údajov a ako programátor som sa dokonca pokúsil napísať vlastný archivátor.

Kompresia údajov je algoritmická transformácia údajov s cieľom znížiť jej objem. Slúži na racionálnejšie využitie úložných a dátových prenosových zariadení. Kompresný proces sa nazýva aj balenie údajov alebo kompresia. Opačný postup sa nazýva obnova údajov (rozbalenie, dekompresia).

Kompresia je založená na odstránení nadbytočnosti v pôvodných údajoch. Najjednoduchším príkladom nadbytočnosti je opakovanie fragmentov v texte (napríklad slová prirodzeného alebo strojového jazyka).

Začnime teda jednoduchým príkladom. Povedzme, že máme textový súbor, ktorý obsahuje riadok textu:

AAAGGDEEEEZHUUUKKKKII

Text je dosť zvláštny, musíte súhlasiť, ale teraz ho skomprimujeme a bude nám zaberať menej miesta. Základný princíp kompresie je veľmi jednoduchý a obmedzuje sa na nasledujúce: každá kombinácia opakujúcich sa znakov v rade je nahradená jedným takýmto znakom a počtom jeho opakovaní. Títo. náš komprimovaný zdroj by vyzeral takto:

А3Г2Д1Е4Ж2У3К4И3

Namiesto 22 znakov sme teda dostali 16 znakov. Také texty, ako je náš originál, sú, samozrejme, dosť vzácne, nehovoriac o hlúpostiach, ktoré sú v ňom obsiahnuté. Koniec koncov, súbory, ktoré prechádzajú kompresiou, nie sú len text, ale aj všetky druhy obrázkov, hudby, videa a programov.

Tento príklad je dosť zjednodušujúci a neodráža účinnosť, ktorú archivári zvyčajne preukazujú pri kompresii. Získali sme kompresiu 22/16 = 1,375 krát, aj keď archivátory sú spravidla schopné komprimovať súbory 2 až 10 000 krát. Všetko závisí od opakovateľnosti hodnôt bajtov v súbore.

Čo sú archivári

Napríklad v časoch nezabudnuteľných MS-DOS existovali archívy ARJ, PKZIP, HA, RAR, ARC, ACE a programové balíky LZEXE a PKLITE. Neskôr boli pre operačný systém Windows vytvorené WinAce, WinZIP, WinRAR, 7Zip a mne známy packer UPX.

Kompresia je stratová a bezstratová. Bezstratová kompresia vám umožňuje obnoviť pôvodné údaje s bitovou presnosťou. Takáto kompresia sa používa na zabalenie textu, programov, rôznych údajov do priestoru a vykonávajú ju všetky archívy uvedené vyššie.

Stratovú kompresiu možno nazvať adaptívna kompresia a používa sa na balenie obrázkov, videa a zvuku, pretože tieto údaje je možné komprimovať bez straty veľmi málo (až asi dvakrát).

Vďaka stratovej kompresii môžete dosiahnuť niekoľkonásobné zníženie množstva dát a pri zobrazení nebalených dát človek rozdiel medzi originálom takmer nepocíti.

Koľko rôznych súborov je komprimovaných

Text

Skutočne napríklad textové súbory je možné veľmi tesne komprimovať. Takže napríklad kniha od Arkadyho a Borisa Strugatského „Je ťažké byť bohom“ o 354 329 bajtoch skomprimuje archivátor WinRAR na 140 146 bajtov, t.j. 2,5 krát.

Programy

Programové súbory je možné aj komprimovať. Súčasne ide o kompresiu pre hustejšie úložisko na disku a kompresiu, v ktorej program zostáva programom, ale pri spustení sa sám dekomprimuje.

Na to existujú programové balíky ako UPX a ďalšie. Napríklad môj textový editor Superpad.exe s veľkosťou 524 288 bajtov je komprimovaný balíkom UPX na 179 200 bajtov (2,9 -krát) a stále môže bežať nezávisle ako program.

snímky

Celý článok, alebo dokonca viac ako jeden, môže byť venovaný popisu metód na kompresiu týchto údajov. Faktom je, že samotný obrázok je komprimovaný veľmi zle, ak je komprimovaný bajt po bajte. A napriek tomu sa to podarí. Zvlášť ak má obrázok veľa monochromatického pozadia.

Jeden z prvých algoritmov kompresie obrazu bol algoritmus RLE, ktorý som popísal vyššie. Používa sa vo formáte na ukladanie obrázkov PCX. RLE je bezstratový kompresný algoritmus. V niektorých prípadoch to však nemôže viesť k zníženiu objemu údajov, ale k jeho zvýšeniu.

Preto bol navrhnutý algoritmus bitovej kompresie LZW a stále sa používa na kompresiu obrazu. Samotný algoritmus je už oveľa efektívnejší ako RLE a tiež neposkytuje stratu. Ale pretože sa používa pre obrázky s farebnou paletou, prispôsobením a optimalizáciou (zhutnením) palety môžete dosiahnuť výrazné zvýšenie účinnosti kompresie.

Ryža. 1. Krásna žaba vo formáte BMP

Na porovnanie vezmime krásnu žabu (obr. 1) s rozlíšením 799x599 pixelov (bodky) a uložíme ju do rôznych formátov na ukladanie obrázkov. Získame súbory:

frog.bmp - veľkosť je 1 437 654 bajtov a v skutočnosti neexistuje žiadna kompresia ani strata kvality, pretože obrázok zaberá pridelené bajty vo formáte Šírka x Výška x 3 bajty na pixel + Hlavička formátu súboru BMP podľa True kvalita farieb (24 bitov / pixel). Títo. každý bod predstavujú tri RGB komponenty (červeno-červená, zeleno-zelená a modro-modrá), z ktorých každá zaberá jeden bajt.

frog24.png - 617 059 bajtov, 2,33 -krát kompresia a bezstratovo - hlavná vlastnosť formátu PNG -24. Údaje BMP a PNG sú takmer totožné.

Ryža. 2. Súbor frog_256colors.gif

frog_256colors.gif - 261 956 bajtov (obrázok 2), 5,48 -krát stratová kompresia, základná paleta 256 farieb (8 bitov / pixel). Rozdiel medzi týmto súborom a originálom v BMP je dosť ťažký, ako v hre „Nájdi desať rozdielov“.

Ryža. 3. Súbor frog_64colors.gif

frog_64colors.gif - 187 473 bajtov (obrázok 3), stratová 7,67 -násobná kompresia, základná paleta je komprimovaná na 64 farieb (6 bitov / pixel). A tu sú farby už vyblednuté, ale obraz je celkom podobný originálu. To je obzvlášť viditeľné, ak sa pozriete na žabie oko.

Jpeg

Formát JPEG zaujíma osobitné miesto v kompresii a ukladaní obrázkov. Preto mu chcem venovať zvláštnu pozornosť. Algoritmus JPEG je najvhodnejší na kompresiu fotografií a obrazov obsahujúcich realistické scény s plynulými prechodmi jasu a farieb. JPEG sa najčastejšie používa v digitálnej fotografii a na ukladanie a prenos fotografií pomocou internetu.

Na druhej strane, JPEG je málo využiteľný na kompresiu kresieb, textu a grafiky znakov, kde ostrý kontrast medzi susednými pixelmi vedie k citeľným artefaktom. Odporúča sa uložiť tieto obrázky v bezstratových formátoch, ako sú TIFF, GIF, PNG alebo RAW.

JPEG (podobne ako iné metódy kompresie skreslenia) nie je vhodný na kompresiu obrázkov s viacstupňovým spracovaním, pretože deformácie budú do snímok vložené vždy, keď sa uložia výsledky medziľahlého spracovania.

JPEG by sa nemal používať ani v prípadoch, keď je aj minimálna strata neprijateľná, napríklad pri kompresii astronomických alebo lekárskych snímok. V takýchto prípadoch možno odporučiť režim bezstratovej kompresie JPEG poskytovaný štandardom JPEG (ktorý bohužiaľ väčšina populárnych kodekov nepodporuje) alebo kompresný štandard JPEG-LS.

Popis kompresného algoritmu JPEG nie je úplne jednoduchý, takže kto sa chce, môže sa s ním zoznámiť na odkaze http://el-izdanie.narod.ru/gl4/4-3.htm. Na porovnanie skomprimujme náš pôvodný obrázok s rôznymi úrovňami kvality:

frog100% .jpg - 216 168 bajtov, kompresia 6,65 -krát, údajne strata 0%, t.j. 100% kvalita obrazu, ale s tým by som ani nerátal. Verte mi, existujú rozdiely, ktoré sú však na prvý pohľad nerozoznateľné.

frog60% .jpg - 85 910 bajtov, kompresia 16,7 -krát, t.j. kvalita obrazu je 60%, ale obraz sa opäť zdá byť rovnaký, aj keď sa pozriete pozorne na oblasti s jednotným pozadím alebo malými detailmi, všimnete si artefakty vo forme rozostrenia alebo štvorcových monochromatických segmentov.

frog20% .jpg - 36 426 bajtov, kompresia 39,5 -krát, kvalita obrazu 20% pôvodného obrázku, ale obrázok stále dokáže oklamať neskúsené oko, ale na jednotnom pozadí sú jasne viditeľné jednofarebné uhlové segmenty detaily konečne stratili svoje jasné obrysy.

MPEG

Je to jeden z prvých a najpoužívanejších formátov ukladania videa. Niekoľkokrát modernizovaný. V zjednodušenej forme však môžeme povedať, že algoritmus je veľmi podobný kompresii ako vo formáte JPEG, avšak s prihliadnutím na skutočnosť, že prvý snímok videa je vždy pôvodný a pôvodný a v nasledujúcich snímkach je uložený iba rozdiel medzi predchádzajúce a nasledujúce snímky. Vďaka tomu je každý nasledujúci rámec predvídateľný z hľadiska dekompresie (obr. 4 a 5).

Ryža. 4. Pôvodné video snímky

Ryža. 5. Rozdiel medzi rámcami bez použitia algoritmov kompenzácie pohybu

Jednou z najvýkonnejších technológií na zvýšenie kompresného pomeru je kompenzácia pohybu. V každom modernom systéme kompresie videa nasledujúce snímky v streame používajú na zvýšenie kompresného pomeru podobnosť oblastí v predchádzajúcich snímkach.

Vzhľadom na pohyb akýchkoľvek predmetov v rámci (alebo samotnej kamery) však bolo použitie podobnosti susedných snímok neúplné. Technológia kompenzácie pohybu vám umožňuje nájsť podobné oblasti, aj keď sú posunuté z predchádzajúceho rámca.

Pohybová kompenzácia je jedným z hlavných algoritmov používaných na spracovanie a kompresiu video dát. Algoritmus využíva podobnosť susedných rámcov vo videosekvencii a vyhľadáva pohybové vektory jednotlivých častí obrazu (zvyčajne bloky 16x16 a 8x8).

Použitie kompenzácie umožňuje znásobiť kompresný pomer počas kompresie odstránením nadbytočnosti vo forme zhodných častí rámcov. Slúži nielen na kompresiu, ale aj na filtrovanie videa, zmenu snímkovej frekvencie atď.

Takmer v každom videu sú susedné snímky podobné, majú spoločné objekty, ktoré sú spravidla navzájom posunuté. A je úplne prirodzené chcieť kódovať video tak, aby objekty neboli kódované opakovane, ale boli popísané iba niektoré ich posuny.

V tomto prípade je obrázok rozdelený na takzvané kľúčové snímky - to sú skupiny rámcov, ktoré pokračujú niekoľko sekúnd za sebou. Kompresiu je možné efektívne ovládať riadením trvania týchto kľúčových snímok.

Ak napríklad dej filmu nie je dynamický, kľúčové snímky môžu trvať niekoľko sekúnd. Ak film obsahuje dynamické scény, potom sa v takých okamihoch môže skrátiť doba trvania kľúčových snímok a kompresia rýchlo sa meniaceho obrazu bude vykonávať efektívnejšie.

Kľúčové snímky tiež zjednodušujú a urýchľujú prevíjanie v prehrávačoch médií, pretože hlavička každého kľúčového rámca obsahuje odkaz (posunutý v bajtoch od začiatku súboru videa) na začiatok nasledujúceho kľúčového rámca.

Zvuk a hudba

Zvuk a hudba môžu byť buď bezstratové alebo stratové uložené vo formáte WAV. Napríklad formát WAV (Windows PCM) neposkytuje kompresiu a zvukový signál ukladá takpovediac do originálu.

Formát WAV (ACM Waveform) je v skutočnosti kontajner a môže ukladať zvuk komprimovaný pomocou algoritmu MPEG vrstvy 3 alebo ukladať hudbu vo formáte MP3, aj keď existuje mnoho ďalších formátov OGG, FLAC atď.

Nemám čas hovoriť o algoritmoch kompresie zvuku, okrem toho, skôr v našom časopise bol úžasný článok na túto tému.


ARCHIVÁTORI

Kompresia informácií Je to proces transformácie informácií uložených v súbore znížením nadbytočnosti údajov. Účelom tohto procesu je znížiť množstvo obsadených údajov.

Archívny súbor Je špeciálne vytvorený súbor obsahujúci jeden alebo viac komprimovaných súborov.

Pomer kompresie: K c = V c / V o * 100%

K c- pomer kompresie, V c- veľkosť komprimovaného súboru, V o- pôvodná veľkosť súboru.

Kompresný pomer závisí od:

1) použitý program - archivátor,

2) metóda kompresie,

3) typ zdrojového súboru: text, grafika, video, zvuk atď.

Programy, ktoré balia a rozbaľujú súbory, sa nazývajú archivátory. Najbežnejšie sú: ARJ, ZIP, RAR. Prípona archívnych súborov sa zhoduje s názvom archivátora použitého na ich vytvorenie.

Archivátory vám umožňujú vytvárať samorozbaľovacie archívne súbory, t.j. na ich rozbalenie nepotrebujete spustiť program archivátora, pretože oni sami obsahujú program rozbaľovania. Tieto archívy sa nazývajú archívy SFX
(Extrakcia SelF). Prípona takýchto súborov je * .EXE.


Zásady kompresie informácií

V každom texte sú opakujúce sa znaky. Je možné určiť jeden znak a počet opakovaní. Účinnosť tohto algoritmu je pri použití na grafické súbory ešte vyššia. Ak sa pozriete na monitor, môžete vidieť veľa opakujúcich sa bodiek rovnakej farby. Formát grafického súboru PCX je založený na tomto princípe kompresie informácií. Moderní archivári rozlišujú nielen opakujúce sa symboly, ale aj reťazce symbolov, jednotlivé slová.

Ak v texte nie sú použité všetky znaky počítačovej abecedy, potom na ich kódovanie môžete použiť namiesto jedného bajtu, 8 bitov, menšieho počtu. Tento princíp sa používa v telegrafnom zariadení, kde sa používajú iba ruské veľké písmená, na ich zobrazenie stačí 5 bitov, čo vám umožní napísať tri znaky v dvoch bajtoch.

3. Nasledujúci princíp využíva pravidelnosť toho, že písmena v texte sa vyskytujú s rôznymi frekvenciami. Napríklad v tomto texte je medzera najbežnejším znakom, veľmi často sa nachádzajú znaky „a“, „a“. Tieto bežné symboly môžu byť reprezentované krátkou kombináciou bitov, ostatné symboly môžu byť kódované dlhšou sekvenciou. Napríklad:

4. Fyzicky počítač alokuje priestor na umiestnenie súborov na disk v klastroch - v blokoch 4 KB. Nie je možné zvýrazniť menej. Ak má napríklad súbor 8193 bajtov (8 kB a 1 bajt), fyzicky to bude 16 kB alebo 16384 bajtov. Kombinácia skupiny súborov do jedného vám umožní ušetriť na týchto zvyškoch. Pri balení malých súborov je to veľká úspora.

Celkovo je pri samostatnom umiestnení súborov použitých 6 kB, čo je 100% obsahu súborov. V druhom prípade 2 KB, 33%, zostáva nevyužitých.


Archív na zips

Balenie súborov pkzip [kľúče]<имя архива>[cesty k súborom]

Klávesy: -rp archivácia s podadresármi, ktoré zachovávajú štruktúru

S OZP ochrana heslom archívu (PWD)

Pridať súbory do archívu

M presunúť súbory do archívu

V pozrite si obsah archívu

Ak sa archivujú všetky súbory v adresári, zadajte masku *.*

Rozbaľovanie súborov pkunzip [kľúče]<имя архива>[názvy súborov]

Prepínače: -d rozbalenie s podadresármi, ktoré zachovávajú štruktúru

Heslo archívu SPWD (PWD)


Archív Arj

arj<команда>[kľúče]<имя архива>[názvy súborov]

Pre archív arj jeden súbor vykonáva operácie a rozbaľovanie a balenie.

Príkazy: a archivácia

e rozbalenie bez zachovania adresárovej štruktúry

X vybalenie so zachovaním štruktúry

l Zobraziť obsah archívu

m presunúť súbory do archívu

d odstrániť súbory z archívu

Prepínače: -r balenie s podadresármi, ktoré zachovávajú štruktúru

V rozdelenie archívu na zväzky s objemovým objemom (ak je zadaný)

veľkosť štandardných diskiet (360, 720, 1200, 1440) je uvedená v kilobajtoch, veľkosť neštandardných diskiet je uvedená v bajtoch

Pri rozbaľovaní viaczväzkového archívu sa zobrazuje písmeno V.

G OZP heslo do archívu ( OZP)

Komprimovanie súborov

Rozbaľovanie súborov

© 2015-2019 web
Všetky práva patria ich autorom. Táto stránka si nenárokuje autorstvo, ale poskytuje bezplatné použitie.
Dátum vytvorenia stránky: 2016-08-08

Zdieľaj toto