Ut in forma JPEG opera

Imagines JPEG sunt ubiquitae in vita nostra digitali, sed post hanc conscientiae crustam sunt algorithmi quae singularia removent quae oculis humano non perceptibilia sunt. Effectus est summa visivae qualitas in minimis quantitatis fasciculis - sed quam exacte totum opus facit? Videamus quidnam oculi nostri non videant!

Ut in forma JPEG opera

Facultatem photographicam amico mittendi facile est supponere et non solliciti de qua machina, navigatro aut systemate operandi uteris - sed non semper accidit. A primis annis 1980, computatrae imagines digitales condere et proponere poterant, sed multae notiones certatim de modo optimo hoc facere poterant. Modo imaginem ex uno computatro ad alium mittere non poteras et spero facturum esse.

Ad hanc solvendam quaestionem, peritorum coetus circa orbem terrarum convenerat anno 1986 vocato "Communem manipulus Photography Periti» (Coniunctionis Artium Artium Artium Artium Artium Artium Artium Artium Artibus Artis Artibus Artibus Artibus Artibus Artibus Artibus Artibus Artibus Artibus Artibus Artificialibus (ISO) et Internationalis Electrotechnicis Commissionis (IEC), duobus signis internationalibus constitutis Geneva, Helvetia.

Coetus hominum qui JPEG vocatur, vexillum compressionis digitalis imaginis JPEG anno 1992 creavit. Si quis in Interreti usus est, probabiliter imagines JPEG-encoded offendit. Haec est frequentissima via ad encode, mitte et repone imagines. Ex paginis interretialibus electronicis ad media socialia electronica, JPEG billions pluries in die adhibetur - omni fere tempore imaginem online spectamus vel eam mittemus. Sine JPEG, textus minus coloratus, tardius, et probabiliter picturas catorum pauciores habere!

Hic articulus est quomodo imaginem JPEG decoquat. Aliis verbis, quae data compressa converti oportet in imagine quae in screen apparens in computatro reposita est. Hoc scitu dignum est, non solum quia magni momenti est ad intellegendum technologiam utimur cotidie, sed etiam quia per compressionem reserans gradus, plus discimus de perceptione et visione, et quod oculi nostri singularia sunt.

Insuper imaginibus ludere hoc modo valde interesting.

Ut in forma JPEG opera

Vultus intus JPEG

In computatorio omnia reponuntur ut ordo numerorum binariorum. De more haec frena, cyphras et ones, in octo coetibus ut bytes componuntur. Cum JPEG imaginem in computatrale aperis, aliquid (a navigatrum, ratio operativa, aliquid aliud) bytes decoquere debet, pristinam imaginem restituens ut indicem colorum ostendi potest.

Si hoc download dulce photo of felem eamque in editore textu aperi, fasciculum characterum cohaerentium videbis.

Ut in forma JPEG opera
Nota hic nota ++ ut documenta contenta examinem, cum editores ordinarii textus sicut Nota in Fenestra corrumpent fasciculum binarium servato et iam JPEG forma satisfacient.

Aperiens imaginem in verbo processus computatrum confundit, sicut tu cerebrum confundis cum oculos tuos teras et maculas coloris videre incipis!

Haec loca vides nota ut phospheneset non ex levi stimulo aut hallucinatione mente concepta. Eveniunt quia cerebrum tuum putat aliqua signa electrica in nervis opticis informationes de luce importare. Haec supposita cerebri oportet, quia nullo modo scire potest utrum signum sit sonus, visio, vel aliquid aliud. Omnes nervi in ​​corpore motus electricas prorsus eosdem transmittunt. Applicando pressionem ad oculos tuos, signa mittas quae non visualia sunt, sed receptores oculi excitant, quae cerebrum tuum - hoc in casu, non recte - ut visivae aliquid interpretatur. Potes litteram videre impressionem!

Ridiculum est cogitare quomodo similes computatrales ad cerebrum sunt, sed utile quoque est analogia ad illustrandum quantum notitiarum significatio, sive per nervos corpus portatum sive in computatrale reconditum, positum est quomodo interpretatus est. Omnia notitia binaria constituitur ex 0s et 1s, elementis fundamentalibus quae informationes quaslibet informare possunt. Computatrum tuum saepe figurat quomodo eas interpretaris utendo extare sicut extensiones fasciculi. Nunc cogamus eas pro textu interpretari, quia id quod in textu editor expectat.

Ad intellegendum quomodo JPEG decoquatur, necesse est videre signa ipsa originalia - data binaria. Id fieri potest utente editore hexadecimali vel directe supra pagina originalis articulus! Est imago, iuxta quam in textu campi omnes eius bytes (praeter caput), in forma decimali exhibentur. Ea mutare potes, et scriptum iterum encode et novam imaginem in musca efficies.

Ut in forma JPEG opera

Multum mox ludere cum hoc editore discere potes. Exempli causa, scire potes quo ordine elementa condita sint?

Mirum circa hoc exemplum est, quod aliquos numeros mutans omnino imaginem non afficit, sed, exempli gratia, si numerum 17 cum 0 in prima linea restituas, photo penitus peribit!

Ut in forma JPEG opera

Aliae mutationes, ut in linea 7 numero 1988 substituunt, colorem mutat, sed solum elementa sequentium.

Ut in forma JPEG opera

Mirum fortasse est, quod nonnulli numeri non solum colorem mutant, sed etiam figuram imaginis. Muta 70 in linea 12 ad 2 et in summo versu imaginis vide quid velim.

Ut in forma JPEG opera

Et quacumque JPEG imagine uteris, semper haec exemplaria latrunculorum arcana invenies cum bytes edendo.

Quando cum editore ludit, difficile est intellegere quomodo photographica photographica ab his bytes recreatur, cum compressio JPEG tribus diversis technologiis constat, sequenti modo in gradibus applicata. Singuli singulatim studebimus ut arcanas mores quos visimus detegamus.

Tres gradus compressionis JPEG:

  1. Color subsampling.
  2. Discretus cosinus transform et sampling.
  3. Currere longitudinem modum translitterandi, della и Huffman

Ad dandum tibi ideam quantitatis compressionis, nota quod imago supra repraesentet numerum 79, vel circiter 819 KB. Si sine compressione reposuissemus, singula pixella tres numeros requirerent pro componentibus rubro, viridi et caeruleo. Hoc ad numerum 79, 917 vel approxum pertineret. 700 KB. Propter compressionem JPEG, fasciculus ultimus plus quam 917 temporibus redactus est!

Revera haec imago multo magis comprimere potest. Infra imagines duae iuxta partem - photo a dextra compressa ad 16 KB, hoc est 57 temporibus minor quam incompressa!

Ut in forma JPEG opera

Si inspicias, has imagines non identificari videbis. Utraeque imagines sunt cum compressione JPEG, at dextra multo minor in volumine. Etiam paulo peius spectat (respectu curriculi colorum quadratorum). Quam ob rem JPEG etiam compressio lossy vocatur; In processu compressione, imago variat et singularia quaedam amittit.

1. Color subsampling

Hic imago est cum primo gradu compressionis solum applicata.

Ut in forma JPEG opera
(Interactive version - in original capitula). Vnus numerus destruit omnes colores. Attamen sex numeris prorsus remotis, vim nullam habet in imagine.

Numeri autem sunt paulo facilius perspiciendi. Haec fere simplex index colorum est, in quo singulae byte pixel unum prorsus mutat, sed simul iam dimidia pars imaginis incompressi (quae fere 300 KB in magnitudine redacta capiebat). Quid suspicari potes?

Videre potes hos numeros non repraesentare signa rubra, viridis, caerulea, cum si omnes numeros cyphris restituamus, imaginem viridem (quam albam) habebimus.

Ut in forma JPEG opera

hoc est, quia hi bytes pro Y (splendor);

Ut in forma JPEG opera

Cb (relativum livor);

Ut in forma JPEG opera

et Cr (rela- rubore) imaginibus.

Ut in forma JPEG opera

Cur non uteris RGB? Ceterum hoc modo maxime modernorum screens laborant. Monitor tuus quemlibet colorem exhibere potest, inter rubeum, viridem et caeruleum, cum diversis intensitatibus pro singulis pixel. Album in toto splendore in toto orbe versando obtinetur, et nigrum in conversione.

Ut in forma JPEG opera

Hoc quoque simillimum est quomodo oculus hominis operatur. Color receptores in oculis nostris vocantur "conis”, et in tria genera dividuntur, quorum unumquodque magis sensibile est colore vel rubro, viridi, vel caeruleo. [S-type coni sensitiva in hyacinthino-hyacintho (S from the English Short - short-undae spectrum), M -type - in viridi-flavo (M ex Anglico Medium - medio-undae), et L-type - in luteo-rubro (L ex Anglico Long - fluctu longo) spectri partes. Praesentia harum trium generum conorum (et virgae, quae in smaragdi parte spectri viridis sunt sensitivae) visum colorem homini dat. / approx. transl.]. haeretAliud genus photoreceptor in oculis nostris, potest deprehendere mutationes in claritate, sed multo magis sensilis colori. Oculi nostri circiter 120 miliones virgas habent et tantum 6 decies centena millia conorum habent.

Inde est quod oculi nostri multo melius sunt ad deprehendendas mutationes in splendore quam in colore; Si colorem a splendore separaveris, colorem aliquem auferre potes, et nullus aliquid animadvertet; Chroma subsampling est processus repraesentandi colorum partium imaginis in resolutione inferiori quam partium luminarium. In exemplo superiore, singula pixel unum Y componentium habet, et singula globulus quattuor elementa prorsus unum Cb et unum Cr component habet. Ergo imago continet quadruplum notitiae coloris quam originale.

Spatium colorum YCbCr non solum in JPEG adhibetur. Primum in televisificis programmatibus anno 1938 inventum est. Non cuivis colori TV est, ideo colore et splendore separato permissum est omnibus ut idem signum, et TVs absque colore solum solum splendore componente utantur.

Ita unus numerus ab editore removens omnes colores omnino perdit. Partes reponuntur in forma Y Y Y Y Cb Cr (re vera, non necessario in eo ordine - ordo repono in tabella header specificatur). Numerus primus removens efficiet valorem primum Cb percipiendi ut Y, Cr ut Cb, et generatim habebis dominum effectum qui mutabit omnes picturae colores.

JPEG specificatio te uti YCbCr non cogat. Maxime autem fasciculi eo utuntur, quia melius imaginum formas efficit quam RGB. Sed non habes ut meum verbum pro eo accipias. Vide te in tabula infra quam subsamplicationem singularum partium videbunt in utroque RGB et YCbCr.

Ut in forma JPEG opera
(Interactive version - in original capitula).

Depositio caerulei non tam notabilis est quam rubei vel viridis. Id ob sex miliones conorum in oculis tuis, circiter 64% ad rubrum sensibiles sunt, 32% ad viridem et 2% ad caeruleum.

Deminutio Y componentis (ima sinistra) optime perspicitur. Etiam parva mutatio notabilis est.

Imago ab RGB ad YCbCr convertens magnitudinem fasciculi non minuit, sed faciliorem reddit singula minus visibilia quae removeri possunt invenire. Compressio iactura fit in secundo gradu. Fundatur in idea praesentandi notitia forma compressiore.

2. discretus cosinus transform et sampling

Haec compressio maxima ex parte est, quae JPEG de omnibus est. Post colores ad YCbCr conversis, membra singillatim comprimuntur, ut tunc demum in Y componentium intendere possumus, et hic quod Y component bytes simile huic strato applicato spectant.

Ut in forma JPEG opera
(Interactive version - in original capitula). In versione interactiva, strepitando in pixel cartis editor ad lineam repraesentantis. Conare numeros a fine removere vel paucas cyphris ad certum numerum addere.

Primo aspectu similis compressio pessima. In imagine exstant 100 elementa, quorum numerus 000 efficit ut splendorem suum exprimat (Y-components) - hoc peius est quam nihil omnino comprimere!

Sed nota quod plerique horum numerorum nulla sunt. Omnes autem illae cyphras in fine linearum sine imagine variata tolli possunt. Numeri circiter 26 relicti sunt, et hoc fere 000 septiens minus est!

Hic gradus secretum latrunculorum exemplaria continet. Dissimiles alios effectus vidimus, horum exemplarium species glitch non est. Eae sunt cuneos totius imaginis. Quaelibet editoris linea numeros 64 exacte continet, cosinus discretus transformat (DCT) coefficientes intensitatibus singularium 64 exemplarium respondentium.

Haec exemplaria in cosino argumento formantur. Hic est quod aliqui ex eis tamquam exsurgunt:

Ut in forma JPEG opera
VIII ex LXIV odds

Infra imaginem exhibens omnia 64 exemplaria.

Ut in forma JPEG opera
(Interactive version - in original capitula).

Haec exemplaria praecipua sunt momenti, quia ex imaginibus 8x8 formant. Si linearia algebra insueta es, hoc significat ut quaelibet imago 8x8 ex his 64 exemplaribus effici possit. DCT processus est dividendi imagines in 8x8 caudices et unumquodque scandalum convertens in horum 64 coefficientium compositionem.

Magica videtur quod quaelibet imago ex 64 speciebus exemplaribus componi possit. Sed hoc idem est ac dicere aliquem locum in Terra describi posse duobus numeris, latitudine et longitudine. transl.]. Saepe cogitamus superficiei Telluris sicut duo dimensiva, ideo solum duobus numeris indigemus. Imago 8x8 habet 64 dimensiones, ideo opus est numero LXIV.

Nondum patet quomodo haec compressio nos adiuvet. Si opus est 64 numeros ad imaginem 8x8 repraesentandam, cur hoc melius quam modo 64 splendorem condere? Eadem ratione facimus nos tres numeros RGB in tres YCbCr numeros convertisse: nobis permittit subtilia removere.

Quaenam singula in hac scena removeantur, difficile est videre, quia JPEG ad 8x8 cuneos applicat DCT. Sed nemo vetat eam totaque adhibere. Hic illud DCT simile est ad Y component applicatum toti picturae:

Ut in forma JPEG opera

Plus quam 60 numerorum a fine removeri possunt cum paene nullae notabiles mutationes in photo.

Ut in forma JPEG opera

Sed nota quod, si quinque primos numeros emittimus, differentia patebit.

Ut in forma JPEG opera

Numeri in principio significant humilis frequentiae mutationes in imagine, quam oculi nostri optime colligunt. Numeri in fine versus indicant mutationes frequentiarum in alto difficiliores notatu. "Videre quid oculus videre non potest", possumus has differentias altas singularia frequentia separare, primos quinos numeros evellendo.

Ut in forma JPEG opera

Videmus omnes areas imaginis in quibus maxima mutatio fit ab pixel ad pixel. Oculi felis, eius sibilus, stragulum terry et umbrae in angulo sinistro inferiore eminent. Ulterius progredi potes per numerum primorum 10 zeroing:

Ut in forma JPEG opera

20 000:

Ut in forma JPEG opera

40 000:

Ut in forma JPEG opera

60 000:

Ut in forma JPEG opera

Haec singularia frequentia summus removentur a JPEG in scaena compressionis. Non est detrimentum convertendo colores ad coefficientes DCT. Detrimentum accidit in gradu sampling, ubi magni-frequentiae vel prope nullae valores tolluntur. Cum JPEG qualitatem salvificam demittas, programma limen auget numero valorum remotorum, qui magnitudinem tabella minuit, sed picturam magis pixelated facit. Quam ob rem imago in sectione prima, quae LVII partibus minor erat, sic videbatur. Singulis 57x8 stipes repraesentatus est longe pauciores DCT coefficientes cum versione qualitatis superiori comparatae.

Talem frigidum efficere potes ut sensim imaginum effusionem. Ostendere potes imaginem terream, quae magis ac magis magisque fit sicut coefficientes magis magisque receptae sunt.

Hic, sicut pro ioco, id est quod tantum XXIV 24 numerorum accipis:

Ut in forma JPEG opera

Vel mox 5000;

Ut in forma JPEG opera

Valde terret, sed nescio quomodo!

3. Curre longitudinem descriptam, della et Huffman

Hactenus omnes gradus compressionis damnosi fuerunt. Ultima autem scena sine dispendiis procedit. Informationes non delet, sed signanter amplitudinem tabellae minuit.

Quomodo potes aliquid comprimere sine notitia abiectionis? Finge quomodo volumus describere simplex rectangulum nigrum 700 x 437 .

JPEG 5000 numero utitur ad hoc, sed multo meliores eventus obtineri possunt. Potesne cogitare rationem descriptam quae talem imaginem quam paucis bytes describeret?

Minima ratio quattuor usibus assequi potui: tria ad colorem significandum, quarta ad indicandum quot elementa ille color habeat. Idea repraesentandi valores in hoc densato modo repetendi appellatur longitudo mensurae descriptae. Inconveniens est quod notitias encoded ad pristinam formam restituere possumus.

Fasciculus JPEG cum rectangulo nigro multo ampliore quam 4 bytes - memini in gradu DCT compressionem applicari ad 8x8 pixel cuneos. Ergo ad minimum unum DCT coëfficientem singulis 64 elementa indigemus. Uno indigemus quia loco unum DCT coefficiens accommodando, quem sequitur 63 zerum, longitudinem translitterandi permittit nos ut unum numerum congregemus et indicant "alii omnes cyphras esse".

Delta modum translitterandi ars est in qua singula byte differentiam alicuius pretii, quam absoluti pretii continent. Ideo bytes quidam emendans colorem omnium aliorum imaginum mutat. Exempli gratia, pro repono

12 13 14 14 14 13 13 14

Potuimus incipere per 12 et tunc simpliciter indicare quantum necesse est addere vel minuere ut numerum proximum consequamur. Et hec series in della coding forma sumit;

12 1 1 0 0 -1 0 1

Notitia conversa non minor est quam notitia originalis, sed facilius eam comprimere. Applicando della descriptam ante longitudinem descriptam currere potest multum adiuvare dum compressionem adhuc iacturam esse.

Delta coding unus ex paucis artibus extra 8x8 caudices usus est. De coefficientibus LXIV DCT, unum simpliciter est functionis unda constans (solidi coloris). Mediocris cujusque clausus lucidum significat luma- tium, seu livor mediocris pro partium Cb, et sic porro. Prima cujusvis DCT clausula valor DC valorem appellatur, ac quilibet DC valor della encoded respectu priorum. Ergo mutanda claritas primi scandali omnia scandala accidet.

Mysterium finale manet: quomodo singulare mutat totam imaginem penitus? Hactenus, compressionem gradus tales proprietates non habuerunt. Responsum est in JPEG header. Prima 500 bytes metadata continent circa imaginem, latitudinem, altitudinem etc., nec adhuc cum illis laboramus.

Sine titulo fere impossibile est (vel difficillimum) deponere JPEG. Videbitur quasi picturam tibi describere conor, et incipiam verba fingere ad impressionem meam imprimendam. Descriptio verisimiliter satis condensatur, cum verba fingere possum prorsus sensum quem significare volo, sed omnibus aliis sensum non facient.

Stultum sonat, sed id prorsus evenit. Quaelibet imago JPEG comprimitur cum certis codicibus ei. Dictionarium codicem in titulo repositum est. Haec ars codice Huffman appellatur et vocabularium tabula Huffman appellatur. In titulo, mensa duobus bytes notatur, 255 ac deinde 196. Quisque color componentis suam mensam habere potest.

Mutationes tabularum nullam imaginem funditus afficient. Bonum exemplum est 15th linem 1 mutare.

Ut in forma JPEG opera

Hoc accidit, quia tabulae designant quomodo singulae minutae legantur. Hactenus in forma decimali numeris binariis tantum laboravimus. Sed hoc nobis celat quod si numerum 1 in byte condere voles, erit ut 00000001, cum quilibet byte debet exacte octo minutas habere, etsi unum tantum opus est.

Magna est potentia perditio spatii si multum pauci numerorum habes. Codex Huffman ars est quae hanc postulationem relaxandi nobis concedit, ut uterque numerus octo minutas occupare debeat. Hoc significat si duos bytes vides;

234 115

Deinde, secundum mensam Huffman, hi tres numeri esse possunt. Hos extrahere, primum in singulas partes frangere debes;

11101010 01110011

Tunc ad mensam respicimus quomodo illos evolvamus. Exempli gratia, haec sex primi minuta esse possunt, (111010), vel 58 in decimalibus, quam quinque frusta (10011) vel 19, et postrema quattuor postrema (0011), vel III.

Ergo difficillimum est intelligere bytes in hac compressione. Bytes non repraesentant quod videntur. Non ingrediar singula operandi cum mensa in hoc articulo, sed materials in hac online exitus satis.

Dolus interesting una cum hac scientia facere potes, caput a JPEG separare et seorsim reponere. Nam evenit ut tabella tantum legere possis. Facebook hoc facit ut files etiam minores.

Quid aliud fieri potest, est ut Huffman mensam admodum exiguam mutet. Aliis videberis quasi fracta imago. Et modo scies viam magicam reficere.

Summatim sit: quid ergo opus est JPEG decoquere? Necessarium:

  1. Huffman tabulam e titulo extrahere et frenos excoriare.
  2. Extrahere cosinum discretum coefficientes transformare pro quolibet colore et luminance componente pro quolibet 8x8 stipite, faciendo inversa longitudinis ac delta transfiguratione transfigurantis.
  3. Cosines iunguntur secundum coefficientes ut pixel valores obtineant pro singulis 8x8 scandalum.
  4. Scala color componentis si subsampling fiebat (hoc indicium est in capite).
  5. Convertere valores consequentes YCbCr pro unaquaque pixel ad RGB.
  6. Imaginem ostende in screen!

Grave opus pro modo photographicum cum fele inspiciendo! Sed quid mihi placet de eo ostendit quomodo ars humana JPEG-centrica sit. Innititur proprietatibus nostrae perceptionis, sinit nos multo melius compressionem consequi quam technologiae conventionales. Nunc intelligimus quomodo opera JPEG, cogitare possumus quomodo hae technologiae ad alias regiones transferri possint. Exempli gratia, della descriptam in video can notabilem reductionem in amplitudine limae praebere, cum saepe areae integrae exstant quae ab artubus ad corpus non mutantur (exempli gratia curriculum).

Code in articulumres aperta est, et continet quomodo picturas cum tuis reponas.

Source: www.habr.com

Add a comment