Utent ieħor irid jikteb biċċa dejta ġdida fuq il-hard drive, iżda m'għandux biżżejjed spazju ħieles biex jagħmel dan. Lanqas ma rrid inħassar xejn, peress li "kollox huwa importanti ħafna u meħtieġ." U x’għandna nagħmlu biha?
Ħadd ma għandu din il-problema. Hemm terabytes ta 'informazzjoni fuq il-hard drives tagħna, u dan l-ammont m'għandux it-tendenza li jonqos. Imma kemm hi unika? Fl-aħħar, il-fajls kollha huma biss settijiet ta 'bits ta' ċertu tul u, x'aktarx, il-ġdid mhux differenti ħafna minn dak li huwa diġà maħżun.
Huwa ċar li t-tfittxija għal biċċiet ta 'informazzjoni diġà maħżuna fuq hard drive hija, jekk mhux falliment, allura għall-inqas mhux kompitu effettiv. Min-naħa l-oħra, jekk id-differenza hija żgħira, allura tista 'taġġustaha ftit...
TL;DR - it-tieni tentattiv biex titkellem dwar metodu stramb ta 'ottimizzazzjoni tad-dejta bl-użu ta' fajls JPEG, issa f'forma li tinftiehem aktar.
Dwar bits u differenza
Jekk tieħu żewġ biċċiet ta 'dejta kompletament każwali, allura fuq medja nofs il-bits li fihom jikkoinċidu. Tabilħaqq, fost it-tqassim possibbli għal kull par ('00, 01, 10, 11′), eżattament nofshom għandhom l-istess valuri, kollox huwa sempliċi hawn.
Imma ovvjament, jekk nieħdu biss żewġ fajls u noqogħdu wieħed mat-tieni, allura nitilfu wieħed minnhom. Jekk insalvaw il-bidliet, aħna sempliċiment nerġgħu nivvintaw
Bejn xiex u dak imbagħad tista' tiġi eliminata d-differenza? Ukoll, jiġifieri, fajl ġdid miktub mill-utent huwa biss sekwenza ta 'bits, li biha ma nistgħu nagħmlu xejn waħedhom. Imbagħad għandek bżonn biss issib tali bits fuq il-hard drive li jistgħu jinbidlu mingħajr ma jkollok għalfejn taħżen id-differenza, sabiex tkun tista 'tgħix it-telf tagħhom mingħajr konsegwenzi serji. U jagħmel sens li tbiddel mhux biss il-fajl fuq l-FS innifsu, iżda xi informazzjoni inqas sensittiva ġewwa fih. Imma liema waħda u kif?
Metodi ta' twaħħil
Fajls kompressati lossy jiġu għas-salvataġġ. Dawn kollha jpegs, mp3s u oħrajn, għalkemm kompressjoni lossy, fihom mazz ta 'bits li jistgħu jinbidlu mingħajr periklu. Huwa possibbli li jintużaw tekniki avvanzati li jimmodifikaw b'mod imperċettibbli l-komponenti tagħhom f'diversi stadji ta 'kodifikazzjoni. Stenna. Tekniki avvanzati... modifika imperċettibbli... daqsxejn f'oħra... kważi qisu
Tabilħaqq, l-inkorporazzjoni ta 'informazzjoni f'oħra hija reminixxenti tal-metodi tagħha bħal xejn. Impressjonat ukoll bl-imperċettibbiltà tal-bidliet li saru fis-sensi umani. Fejn il-mogħdijiet diverġenti huwa fis-segretezza: il-kompitu tagħna jaqa 'fuq l-utent li jdaħħal informazzjoni addizzjonali fuq il-hard drive tiegħu; dan jagħmel biss ħsara lilu. Se jerġa’ jinsa.
Għalhekk, għalkemm nistgħu nużawhom, irridu nagħmlu xi modifiki. U mbagħad ngħidilhom u nurihom billi tuża l-eżempju ta 'wieħed mill-metodi eżistenti u format ta' fajl komuni.
Dwar is-sakals
Jekk tassew tagħfasha, hija l-iktar ħaġa kompressabbli fid-dinja. Aħna, ovvjament, nitkellmu dwar fajls JPEG. Mhux biss hemm tunnellati ta 'għodod u metodi eżistenti għall-inkorporazzjoni tad-data fiha, iżda huwa l-format grafika l-aktar popolari fuq din il-pjaneta.
Madankollu, sabiex ma tidħolx fit-trobbija tal-klieb, trid tillimita l-qasam ta 'attività tiegħek f'fajls ta' dan il-format. Ħadd ma jħobb kwadri monokromi li jidhru minħabba kompressjoni eċċessiva, għalhekk trid tillimita lilek innifsek biex taħdem ma 'fajl diġà kkompressat, tevita rikodifikazzjoni. B'mod aktar speċifiku, b'koeffiċjenti interi, li jibqgħu wara operazzjonijiet responsabbli għat-telf tad-dejta - DCT u kwantizzazzjoni, li hija perfettament murija fl-iskema ta 'kodifikazzjoni (grazzi għall-wiki tal-Librerija Nazzjonali Bauman):
Hemm ħafna metodi possibbli għall-ottimizzazzjoni tal-fajls jpeg. Hemm ottimizzazzjoni mingħajr telf (jpegtran), hemm ottimizzazzjoni "
F5
Familja sħiħa ta' algoritmi taqbel ma' dawn il-kundizzjonijiet, li tista' tiffamiljarizza ruħek magħhom
Il-bidliet infushom jitnaqqsu biex inaqqsu l-valur assolut tal-koeffiċjenti b'wieħed taħt ċerti kundizzjonijiet (jiġifieri, mhux dejjem), li jippermettilek tuża F5 biex tottimizza l-ħażna tad-dejta fuq il-hard drive tiegħek. Il-punt huwa li l-koeffiċjent wara bidla bħal din x'aktarx se jokkupa inqas bits wara l-kodifikazzjoni ta 'Huffman minħabba d-distribuzzjoni statistika tal-valuri f'JPEG, u ż-żeri l-ġodda se jagħtu qligħ meta jikkodifikawhom bl-użu ta' RLE.
Il-modifiki meħtieġa jnaqqsu l-eliminazzjoni tal-parti responsabbli għas-segretezza (arranġament mill-ġdid tal-password), li tiffranka r-riżorsi u l-ħin ta 'eżekuzzjoni, u żżid mekkaniżmu biex taħdem b'ħafna fajls minflok wieħed kull darba. Il-qarrej mhux probabbli li jkun interessat fil-proċess tal-bidla f'aktar dettall, allura ejja ngħaddu għal deskrizzjoni tal-implimentazzjoni.
Teknoloġija avvanzata
Biex nuri kif jaħdem dan l-approċċ, implimentajt il-metodu f'C pur u wettaqt għadd ta 'ottimizzazzjonijiet kemm f'termini ta' veloċità ta 'eżekuzzjoni kif ukoll memorja (ma tistax timmaġina kemm dawn l-istampi jiżnu mingħajr kompressjoni, anke qabel DCT). Cross-pjattaforma miksuba bl-użu ta 'kombinazzjoni ta' libreriji
L-implimentazzjoni hija disponibbli fil-forma ta 'utilità console u librerija. Dawk interessati jistgħu jsiru jafu aktar dwar l-użu ta 'dan tal-aħħar fil-readme fir-repożitorju fuq Github, il-link li se nehmeż magħha fl-aħħar tal-post.
Kif tuża?
B'attenzjoni. L-immaġini użati għall-ippakkjar jintgħażlu billi ssir tfittxija bl-użu ta 'espressjoni regolari fid-direttorju tal-għeruq mogħti. Mat-tlestija, il-fajls jistgħu jiġu mċaqalqa, isem ġdid u kkupjati skond il-konfini tiegħu, jibdlu l-fajl u s-sistemi operattivi, eċċ. Madankollu, għandek toqgħod attent ħafna u ma tbiddel il-kontenut immedjat bl-ebda mod. Titlef il-valur ta 'anki bit wieħed jista' jagħmilha impossibbli li tiġi rkuprata l-informazzjoni.
Mat-tlestija, l-utilità tħalli fajl arkivju speċjali li fih l-informazzjoni kollha meħtieġa għall-ispakkjar, inkluża dejta dwar l-immaġini użati. Minnu nnifsu, jiżen madwar ftit kilobytes u m'għandux impatt sinifikanti fuq l-ispazju tad-diska okkupat.
Tista' tanalizza l-kapaċità possibbli billi tuża l-bandiera '-a': './f5ar -a [folder tat-tiftix] [espressjoni regolari kompatibbli mal-Perl]'. L-ippakkjar isir bil-kmand './f5ar -p [folder ta' tfittxija] [espressjoni regolari kompatibbli mal-Perl] [fajl ippakkjat] [isem tal-arkivju]', u l-ispakkjar b''./f5ar -u [fajl tal-arkivju] [isem tal-fajl irkuprat ]' .
Dimostrazzjoni ta' xoghol
Biex nuri l-effettività tal-metodu, tellajt ġabra ta’ 225 ritratt assolutament b’xejn ta’ klieb mis-servizz
Is-sekwenza hija pjuttost sempliċi:
$ du -sh knuth.pdf dogs/
44M knuth.pdf
633M dogs/
$ ./f5ar -p dogs/ .*jpg knuth.pdf dogs.f5ar
Reading compressing file... ok
Initializing the archive... ok
Analysing library capacity... done in 17.0s
Detected somewhat guaranteed capacity of 48439359 bytes
Detected possible capacity of upto 102618787 bytes
Compressing... done in 39.4s
Saving the archive... ok
$ ./f5ar -u dogs/dogs.f5ar knuth_unpacked.pdf
Initializing the archive... ok
Reading the archive file... ok
Filling the archive with files... done in 1.4s
Decompressing... done in 21.0s
Writing extracted data... ok
$ sha1sum knuth.pdf knuth_unpacked.pdf
5bd1f496d2e45e382f33959eae5ab15da12cd666 knuth.pdf
5bd1f496d2e45e382f33959eae5ab15da12cd666 knuth_unpacked.pdf
$ du -sh dogs/
551M dogs/
Screenshots għall-partitarji
Il-fajl mhux ippakkjat jista' u xorta għandu jinqara:
Kif tistgħu taraw, mill-oriġinali 633 + 36 == 669 megabytes ta 'dejta fuq il-hard drive, wasalna għal aktar pjaċevoli 551. Differenza radikali bħal din hija spjegata bit-tnaqqis fil-valuri tal-koeffiċjenti, li taffettwa tagħhom kompressjoni lossless sussegwenti: it-tnaqqis wieħed wieħed jista 'faċilment "jaqta' ftit bytes mill-fajl finali. Madankollu, dan għadu telf ta 'data, għalkemm wieħed estremament żgħir, li inti ser ikollok tlaħħaq magħha.
Fortunatament, huma assolutament inviżibbli għall-għajn. Taħt l-ispoiler (peress li l-habrastorage ma jistax jimmaniġġja fajls kbar), il-qarrej jista’ jevalwa d-differenza kemm bl-għajnejn kif ukoll bl-intensità tagħhom, miksuba billi jitnaqqsu l-valuri tal-komponent mibdul mill-oriġinal:
Minflok ma tikkonkludi
Meta wieħed iqis dawn id-diffikultajiet kollha, ix-xiri ta 'hard drive jew it-tlugħ ta' kollox fil-cloud jista 'jidher soluzzjoni ħafna aktar sempliċi għall-problema. Iżda minkejja li ngħixu fi żmien hekk mill-isbaħ issa, m'hemm l-ebda garanzija li għada xorta se jkun possibbli li tidħol online u ttella' d-dejta żejda kollha tiegħek x'imkien. Jew mur fil-maħżen u tixtri lilek innifsek hard drive ieħor ta' elf terabyte. Imma dejjem tista 'tuża djar eżistenti.
->
Sors: www.habr.com