Jak funguje KOMPRESE?
HTML-код
- Опубликовано: 28 авг 2024
- S kompresí se setkáváme prakticky všude, WINRAR určitě znáte, ale jak funguje takovej WINRAR? Jak funguje komprese?
🔴⬇DŮLEŽITÉ VĚCI⬇🔴
====================================================
🔔〡Nezapomeňte na ZVONEČEK ať vám neuniknou nejnovější VIDEA!
💠〡Staňte se členem kanálu ►► / @fenzitutorials
💙〡Můj web ►► www.fenzi.cz/
🪄〡Toto vám pomůže s růstem vašeho kanálu! ►► vidiq.com/FENZI
🔥Další užitečná videa!🔥
====================================================
🎥〡 • Nastavení a Fungování ...
🎥〡 • musí nastat změna - De...
🎥〡 • NEJLEPŠÍ nastavení zvu...
🤔Kde mě můžete najít?🤔
====================================================
📷〡Osobní Instagram / lukasblazek.nrs
📷〡Instagram / fenzicz
🤖〡Discord / discord
====================================================
(Některé linky v popisku jsou affiliate linky, kterýma mě můžete podpořit když na něj kliknete a nic vás to nestojí, nebo když si zakoupíte danou službu na dané stránce, DĚKUJI!)
© Fenzi 2024
Krásně vysvětleno. Do tří minut jsi to nacpal hezky
no já zažil doby, kdy se některý hry stahovaly skrz x desítek rarů a vždycky mě napadlo, co kdybych ty rar soubory znovu zararoval a takhle bych furt snižoval velikost souborů:D
Počkej, počkej.. a jak teda funguje ten winrar???
To používá myslím slovník, zjednodušeně řečeno se najdou nejčastěji opakující sekvence bytů a ty se zakódují menším počtem bitů (což je odkaz do slovníku, kde jsou nekomprimovaná data). To, co se vyskytuje méně často, tak pak potřebuje víc bitů.
@@mi.chal. Mě vždycky zajímalo, ak je možné, že máš třea 10Gb soubor, rozdělený na třeba 10 partů, zkoprimovaný a k tomu je pak soubor třeba 3% na opravu dat.. Jak to může ze 3% opravit 10Gb =)
@@___RazoR___ Ty 3 % nezvládnou zrekonstruovat celý původní soubor. Ale veskrze jde o to, že se udělá několik kontrolních součtů. Když se zjistí, že nějaká data pak nesedí se součtem, tak se udělá průnik s dalšími nesrovalostmi. Tím se zjistí, která data jsou ta špatná a díky součtům se pak zpětně dopočítají.
Klidně si to vyzkoušej sám: Udělej si matici 3×3 s náhodnými čísly. Pro každou trojici čísel ve sloupcích a řádcích pak proveď součet. Nějaké libovolné původní číslo změň a měl bys být lehce schopen zjistit, které z nich to bylo i jeho původní hodnotu. Byť je tam limitace garance opravy maximálně jedné chyby (ale jde opravit až 3, pokud by byly všechny ve stejném sloupci/řádku). V tomhle případě je sice počet redundantních dat hodně vysoký (pro 9 hodnot potřebujeme uložit 6 dalších), ale s nárůstem velikosti původních dat se poměr rychle redukuje (původní data jsou řádky × sloupce, kontroly řádky + sloupce). Pro potřeby garance více oprav naráz se pak výpočty provedou několikrát, aby průsečíky chyb byly přesněji detekovatelné.
to je deflate kompresia (zlib) + archiv, nič viac nič menej
@@___RazoR___ Jestli chces můžu ti to vysvětlit podrobněji, ale tady máš zjednodušený příklad.
Představ si že máš 11 bitů. (Bit 1 nebo 0)
Z toho 10 bitů je na data a 1 je kontrolní
Po uložení 10 bitů. Sečteme všechny jejich hodnoty a do kontrolního bitu uložíme zdali výsledná suma byla lichá nebo sudá. (Třeba sudá tak uložíme 0 pokud lichá tak 1)
Takže máme třeba
1/1/1/0/0/0/1/1/1/0 //0
6*1=6 => sudá takže na poslední bit dáme 0
Teď kdyby se soubor nějak poškodil a dejme tomu přepsal by se jeden byt dejme tomu
1/1/1/1/0/0/1/1/1/0 //0
Tak 7*1=7 => liché a vidíme že to neodpovídá tomu co je zapsané v posledním bitu takže víme že tam je někde chyba. Nevíme kde takže ji nedokážeme opravit, ale víme že tam je.
Samozřejmě kdyby se otočili dva bity tak takhle metoda nebude fungovat.
Např
1/1/1/1/1/0/1/1/1/0 //0
To by se ale dalo vyřešit tak že by se přidalo více kontrolních bitů.
Pak víc kontrolních bitů se používá i při opravě a je to snadné.
Dejme tomu že naše data mají teď jen 9 bitů pro zjednodušení. Tak se jí můžeme představit jako 2D pole.
1 /1 /1 //1
0 /0 /0 //0
1 /1 /1 //1
//0//0 //0
Teď kdyby se změnil třeba prostřední bit
1 /1 /1 //1 ✅
0 /1 /0 //0 ❌
1 /1 /1 //1 ✅
//0//0 //0
✅ ❌ ✅
Tak vidíme kde je chyba a dokážeme ji opravit.
1 /1 /0 //1 ❌
0 /1 /0 //0 ❌
1 /1 /1 //1 ✅
//0//0 //0
✅ ❌ ❌
I při sudém počtu chyb jsme schopni detekovat chybu. V tomhle příkladě ji nelze však opravit protože nevíme kde přesně chyby jsou.
To že je jeden kontrolní bit na řádek a na sloupec je však naivní přístup a existují mnohem lepší "patterny" tohle jsem použil pouze pro jednoduchost vysvětlení. Ale vidíte že i při naivním přístupu nám stačí na opravu 9 bitů data jen 6 bitů tedy 66%. Při lepším rozvržení např Hamming-code může effektivita zrůst ještě mnohem víc. Důležité je však to že i když to dokáže opravovat chyby tak záleží jestli pokažené bity jsou u sebe nebo ne.
Snad se mi to povedlo nějak vysvětlit aby jsi to pochopil
Zanechávám odběr ;)
nice vid
Zajímavý informační video! Díky za něj! ❤️📸
😺
WinRaR belike... lepší je 7z