{"id":54788,"date":"2020-01-04T00:00:00","date_gmt":"2020-01-03T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/jpeg-algoritm-szhatiya"},"modified":"2020-02-18T14:02:50","modified_gmt":"2020-02-18T11:02:50","slug":"jpeg-algoritm-szhatiya","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/jpeg-algoritm-szhatiya","title":{"rendered":"JPEG. Algoritmus komprese","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ahoj znovu! Na\u0161el jsem tento \u010dl\u00e1nek, napsan\u00fd je\u0161t\u011b v kv\u011btnu 2019. Toto je pokra\u010dov\u00e1n\u00ed s\u00e9rie \u010dl\u00e1nk\u016f o WAVE a JPEG. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/450774\/\">prvn\u00ed<\/a><\/noindex>Tento p\u0159\u00edsp\u011bvek bude zahrnovat informace o algoritmu k\u00f3dov\u00e1n\u00ed obraz\u016f a o form\u00e1tu jako takov\u00e9m.<\/p>\n<p><\/p>\n<h3 id=\"schepotku-istorii\">\u0160petka historie<\/h3>\n<p><\/p>\n<p>L\u017e\u00edce z \u010dl\u00e1nku z Wikipedie:<\/p>\n<p><\/p>\n<blockquote><p>JPEG (Joint Photographic Experts Group) je jeden z popul\u00e1rn\u00edch rastrov\u00fdch grafick\u00fdch form\u00e1t\u016f, pou\u017e\u00edvan\u00fdch pro uchov\u00e1v\u00e1n\u00ed fotografi\u00ed a podobn\u00fdch obraz\u016f.<\/p><\/blockquote>\n<p>Tento standard byl vyvinut Spole\u010dnou skupinou expert\u016f na fotografii ji\u017e v roce 1991 pro efektivn\u00ed kompresi obraz\u016f.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3 id=\"kakoy-put-prohodyat-izobrazheniya-ot-syrogo-vida-do-jpeg\">Jak\u00fd je postup, j\u00edm\u017e proch\u00e1zej\u00ed obrazy od surov\u00e9ho stavu k JPEG?<\/h3>\n<p><\/p>\n<p>N\u011bkte\u0159\u00ed se domn\u00edvaj\u00ed, \u017ee JPEG obr\u00e1zky jsou komprimovan\u00e9 metodou Huffmanova k\u00f3dov\u00e1n\u00ed, ale to nen\u00ed pravda. P\u0159ed kontroln\u00edm stla\u010den\u00edm proch\u00e1zej\u00ed data dlouhou cestou.<\/p>\n<p><\/p>\n<p>Nejprve se m\u011bn\u00ed barevn\u00fd model z RGB na YCbCr. K tomu existuje speci\u00e1ln\u00ed algoritmus \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/YCbCr#%D0%9F%D1%80%D0%B5%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BF%D0%BE_%D1%80%D0%B5%D0%BA%D0%BE%D0%BC%D0%B5%D0%BD%D0%B4%D0%B0%D1%86%D0%B8%D0%B8_ITU-R_BT.601\">zde<\/a><\/noindex>. Y se nem\u011bn\u00ed, proto\u017ee odpov\u00edd\u00e1 za jas, a jeho zm\u011bna bude patrn\u00e1.<\/p>\n<p><\/p>\n<p>Prvn\u00ed, co se s obrazem d\u011bl\u00e1, je <strong>\u201epro\u0159ez\u00e1v\u00e1n\u00ed\u201c<\/strong> (subsampling). Je to jednoduch\u00e9: vezme se 2x2 matice pixel\u016f, d\u00e1le se z Cb a Cr berou pr\u016fm\u011brn\u00e9 hodnoty ka\u017ed\u00e9 slo\u017eky YCbCr t\u011bchto 4 pixel\u016f. A tak, <em>z\u00edskali jsme 6 bajt\u016f<\/em>, m\u00edsto 4 Y, 4 Cb, 4 Cr jsme dostali 4 Y a stejn\u00e9 pro ka\u017ed\u00e9 z nich Cb a Cr (4 + 4 + 4 = 12; 4 + 1 + 1 = 6; 12 \u2014 6 = 6). I v m\u011b\u0159\u00edtku 2&#215;2 ztr\u00e1tov\u00e1 komprese se sou ratio 2:1 zn\u00ed solidn\u011b. To se vztahuje na cel\u00fd obr\u00e1zek. A tak jsme si sn\u00ed\u017eili polovinu velikosti. Tuto techniku m\u016f\u017eeme pou\u017e\u00edt d\u00edky na\u0161emu barevn\u00e9mu vn\u00edm\u00e1n\u00ed. \u010clov\u011bk si snadno v\u0161imne rozd\u00edlu v jasnosti, ale ne v barv\u011b, pokud je pr\u016fm\u011brn\u00e1 v mal\u00e9m bloku pixel\u016f. Pro\u0159ez\u00e1v\u00e1n\u00ed m\u016f\u017ee b\u00fdt tak\u00e9 prov\u00e1d\u011bno line\u00e1rn\u011b, 4 pixely horizont\u00e1ln\u011b a vertik\u00e1ln\u011b. Prvn\u00ed varianta se pou\u017e\u00edv\u00e1 \u010dast\u011bji. Pokud je d\u016fle\u017eit\u00e1 kvalita obr\u00e1zku, pro\u0159ez\u00e1v\u00e1n\u00ed se ned\u011bl\u00e1 v\u016fbec.<br \/>\nIlustrativn\u00ed p\u0159\u00edklad zkracov\u00e1n\u00ed (Habr nedovolil vlo\u017eit gif) \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/i.ibb.co\/Rg5Th9H\/150953010617579181.gif\">https:\/\/i.ibb.co\/Rg5Th9H\/150953010617579181.gif<\/a><\/noindex><\/p>\n<p><\/p>\n<h5 id=\"osnovnaya-chast-podgotovki\">Hlavn\u00ed \u010d\u00e1st p\u0159\u00edpravy<\/h5>\n<p>\nDCT<\/p>\n<p>Te\u010f p\u0159ich\u00e1z\u00ed ta nejt\u011b\u017e\u0161\u00ed a nejpot\u0159ebn\u011bj\u0161\u00ed \u010d\u00e1st. Cel\u00fd obr\u00e1zek je rozd\u011blen na bloky 8&#215;8 (pou\u017e\u00edv\u00e1 se vypln\u011bn\u00ed v p\u0159\u00edpad\u011b, \u017ee rozli\u0161en\u00ed nen\u00ed d\u011bliteln\u00e9 velikost\u00ed bloku).<\/p>\n<p><\/p>\n<p>Nyn\u00ed se na ka\u017ed\u00fd blok aplikuje <strong>DCT (diskr\u00e9tn\u00ed kosinov\u00e1 transformace)<\/strong>. V t\u00e9to \u010d\u00e1sti se z obr\u00e1zku odstran\u00ed v\u0161echny zbyte\u010dn\u00e9 prvky. Pomoc\u00ed DCT je t\u0159eba pochopit, zda tento blok (8&#215;8) popisuje n\u011bjakou monot\u00f3nn\u00ed \u010d\u00e1st obr\u00e1zku: oblohu, ze\u010f; nebo zda obsahuje slo\u017eitou strukturu (vlasy, symboly atd.). Je logick\u00e9, \u017ee 64 podobn\u011b zbarven\u00fdch pixel\u016f lze popsat pouze jedn\u00edm, proto\u017ee velikost bloku je ji\u017e zn\u00e1m\u00e1. A m\u00e1te tu kompresi: 64 k 1.<\/p>\n<p><\/p>\n<p>DCT p\u0159ev\u00e1d\u00ed blok na spektrum, a tam, kde se hodnoty prudce m\u011bn\u00ed, se koeficient st\u00e1v\u00e1 kladn\u00fdm, a \u010d\u00edm prud\u0161\u00ed p\u0159echod, t\u00edm vy\u0161\u0161\u00ed bude v\u00fdstup. Kde je koeficient vy\u0161\u0161\u00ed, na obr\u00e1zku jsou jasn\u00e9 p\u0159echody v barv\u011b a jasnosti, kde je ni\u017e\u0161\u00ed \u2014 slab\u00e9 (plynul\u00e9) zm\u011bny hodnot komponent\u016f YCbCr v bloku.<\/p>\n<p>\nKvantilizace<\/p>\n<p>Zde se u\u017e aplikuj\u00ed nastavovac\u00ed parametry komprese. Ka\u017ed\u00fd z koeficient\u016f v ka\u017ed\u00e9 z matic 8&#215;8 je d\u011blen ur\u010dit\u00fdm \u010d\u00edslem. Pokud kvalitu obr\u00e1zku po v\u0161ech jeho \u00faprav\u00e1ch u\u017e nebudete sni\u017eovat, m\u011bl by b\u00fdt d\u011blitel 1. Pokud je pro v\u00e1s d\u016fle\u017eit\u011bj\u0161\u00ed pam\u011b\u0165 zabran\u00e1 touto fotografi\u00ed, bude d\u011blitel v\u011bt\u0161\u00ed ne\u017e 1 a pod\u00edl se zaokrouhuje. Tak se st\u00e1v\u00e1, \u017ee po zaokrouhlen\u00ed \u010dasto z\u016fst\u00e1v\u00e1 hodn\u011b nul.<\/p>\n<p><\/p>\n<p>Kvantilizace se prov\u00e1d\u00ed za \u00fa\u010delem vytvo\u0159en\u00ed mo\u017enosti je\u0161t\u011b v\u011bt\u0161\u00ed komprese. Takto to vypad\u00e1 na p\u0159\u00edkladu kvantilizace grafu y = sin(x):<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"JPEG. Algoritmus komprese\" src=\"\/wp-content\/uploads\/2020\/01\/ab6c205c62133785b19b5f42db109fa6.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\nKompresce<\/p>\n<p>Nejprve proch\u00e1z\u00edme matic\u00ed zig-zag:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"JPEG. Algoritmus komprese\" src=\"\/wp-content\/uploads\/2020\/01\/576a5e65431d38742efe42ead0e3863b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Z\u00edsk\u00e1me jednorozm\u011brn\u00e9 pole s \u010d\u00edsly. Vid\u00edme, \u017ee v n\u011bm je mnoho nul, kter\u00e9 lze odstranit. K tomu m\u00edsto sekvence mnoha nul vpisujeme 1 nulu a za n\u00ed \u010d\u00edslo, kter\u00e9 ozna\u010duje jejich po\u010det v sekvenci. T\u00edmto zp\u016fsobem lze zmen\u0161it celkov\u00e9 pole na 1\/3 p\u016fvodn\u00ed velikosti. A pot\u00e9 se toto pole prost\u011b zkomprimuje metodou Huffman a vpisuje se ji\u017e do samotn\u00e9ho souboru.<\/p>\n<p><\/p>\n<h3 id=\"gde-ispolzuetsya\">Kde se pou\u017e\u00edv\u00e1<\/h3>\n<p><\/p>\n<p>V\u0161ude. Stejn\u011b jako PNG, JPEG se pou\u017e\u00edv\u00e1 v fotoapar\u00e1tech, OS\u2018ech (jako loga spole\u010dnosti, ikony aplikac\u00ed, miniatury) a ve v\u0161ech mo\u017en\u00fdch oblastech, kde je pot\u0159eba efektivn\u011b ukl\u00e1dat obr\u00e1zky.<\/p>\n<p><\/p>\n<h3 id=\"vyvod\">V\u00fdstup<\/h3>\n<p><\/p>\n<p>V sou\u010dasn\u00e9 dob\u011b jsou znalosti o JPEG cenn\u00e9 pouze pro vzd\u011bl\u00e1vac\u00ed \u00fa\u010dely, proto\u017ee je ji\u017e v\u0161ude zabudov\u00e1n a optimalizov\u00e1n velk\u00fdmi skupinami lid\u00ed, ale pravda v\u011bdy je st\u00e1le l\u00e1kav\u00e1.<\/p>\n<p>\nZdroje<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/YCbCr\">\u010cl\u00e1nek o YCbCr na Wikipedii<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/JPEG\">\u010cl\u00e1nek o JPEG na Wikipedii<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/pikabu.ru\/story\/kak_ustroen_format_jpeg_5452388\">Trochu o DCT z p\u0159\u00edsp\u011bvku Pikabu<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%BE%D0%B5_%D0%BA%D0%BE%D1%81%D0%B8%D0%BD%D1%83%D1%81%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%B5%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5\">\u010cl\u00e1nek o DCT na Wikipedii<\/a><\/noindex><\/p>\n<p>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/482728\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0418 \u0441\u043d\u043e\u0432\u0430 \u0437\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435! \u042f \u043d\u0430\u0448\u0435\u043b \u044d\u0442\u0443 \u0441\u0442\u0430\u0442\u044c\u044e, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u0443\u044e \u0435\u0449\u0435 \u043c\u0430\u0435 2019-\u043e\u0433\u043e \u0433\u043e\u0434\u0430. \u042d\u0442\u043e \u2014 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u0441\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u0442\u0435\u0439 \u043e WAVE \u0438 JPEG, \u0412\u043e\u0442 \u043f\u0435\u0440\u0432\u0430\u044f. \u042d\u0442\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u0432\u043a\u043b\u044e\u0447\u0438\u0442 \u0432 \u0441\u0435\u0431\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e\u0431 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0435 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0438 \u043e \u0441\u0430\u043c\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u0432 \u0446\u0435\u043b\u043e\u043c. \u0429\u0435\u043f\u043e\u0442\u043a\u0443 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u0421\u0442\u043e\u043b\u043e\u0432\u0443\u044e \u043b\u043e\u0436\u043a\u0443 \u0441\u0442\u0430\u0442\u044c\u0438 \u0438\u0437 \u0412\u0438\u043a\u0438\u043f\u0435\u0434\u0438\u0438: JPEG (Joint Photographic Experts Group) \u2014 \u043e\u0434\u0438\u043d \u0438\u0437 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-54788","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0418 \u0441\u043d\u043e\u0432\u0430 \u0437\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435! \u042f \u043d\u0430\u0448\u0435\u043b \u044d\u0442\u0443 \u0441\u0442\u0430\u0442\u044c\u044e, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u0443\u044e \u0435\u0449\u0435 \u043c\u0430\u0435 2019-\u043e\u0433\u043e \u0433\u043e\u0434\u0430. \u042d\u0442\u043e \u2014 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u0441\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u0442\u0435\u0439 \u043e WAVE \u0438 JPEG, \u0412\u043e\u0442 \u043f\u0435\u0440\u0432\u0430\u044f.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/jpeg-algoritm-szhatiya\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47JPEG. \u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0441\u0436\u0430\u0442\u0438\u044f | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0418 \u0441\u043d\u043e\u0432\u0430 \u0437\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435! \u042f \u043d\u0430\u0448\u0435\u043b \u044d\u0442\u0443 \u0441\u0442\u0430\u0442\u044c\u044e, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u0443\u044e \u0435\u0449\u0435 \u043c\u0430\u0435 2019-\u043e\u0433\u043e \u0433\u043e\u0434\u0430. \u042d\u0442\u043e \u2014 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u0441\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u0442\u0435\u0439 \u043e WAVE \u0438 JPEG, \u0412\u043e\u0442 \u043f\u0435\u0440\u0432\u0430\u044f.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/jpeg-algoritm-szhatiya\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-01-03T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:02:50+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47JPEG. Kompresn\u00ed algoritmus | ProHoster","description":"A znovu dobr\u00fd den! Na\u0161el jsem tento \u010dl\u00e1nek napsan\u00fd ji\u017e v kv\u011btnu 2019. Toto je pokra\u010dov\u00e1n\u00ed s\u00e9rie \u010dl\u00e1nk\u016f o WAVE a JPEG, zde je prvn\u00ed.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/jpeg-algoritm-szhatiya","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47JPEG. \u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0441\u0436\u0430\u0442\u0438\u044f | ProHoster","og:description":"\u0418 \u0441\u043d\u043e\u0432\u0430 \u0437\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435! \u042f \u043d\u0430\u0448\u0435\u043b \u044d\u0442\u0443 \u0441\u0442\u0430\u0442\u044c\u044e, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u0443\u044e \u0435\u0449\u0435 \u043c\u0430\u0435 2019-\u043e\u0433\u043e \u0433\u043e\u0434\u0430. \u042d\u0442\u043e \u2014 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u0441\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u0442\u0435\u0439 \u043e WAVE \u0438 JPEG, \u0412\u043e\u0442 \u043f\u0435\u0440\u0432\u0430\u044f.","og:url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/jpeg-algoritm-szhatiya","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-01-03T21:00:00+00:00","article:modified_time":"2020-02-18T11:02:50+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"54788","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 12:45:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 10:01:54","updated":"2026-01-24 12:45:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/54788","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=54788"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/54788\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=54788"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=54788"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=54788"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}