Фотоны көзге көрінетін жоғалтусыз онлайн сығымдау
Фотосуретті мүлде жоғалтусыз сығымдау мүмкін емес: JPEG те, WebP те форматтың құрылысы бойынша деректің бір бөлігін тастайды, ал жоғалтусыз форматтар түсірілім үшін әрдайым дерлік түпнұсқадан ірі файл береді. Шынайы міндет басқаша тұжырымдалады — көзге көрінетін жоғалтусыз. Құрал берілген салмаққа сыятын ең жоғары сапаны 25-тен 95-ке дейінгі шкалада іздейді және бұрыннан сыйып тұрған файлға тимейді.
Сандар туралы қысқаша
- Сапа ауқымы
- автоіріктеу 25–95 бойымен, яғни 71 мәнмен жүреді; қолмен қойылатын сырғытпа 30-дан басталады
- Іріктеу бюджеті
- 7 кодтау — бисекцияның бір мәнге түйісуіне дәл жететін сан
- JPEG үшін «жоғалтусыз» дегені
- жоғарғы шекараға жақын сапа әрі қабырғаны кішірейтпеу
- Қос сығымдаудан қорғау
- мақсатқа бұрыннан сыятын файл сол күйінде қайтарылады
- Бағдарды тексеру
- бұру белгісі бар 2×1 сынақ JPEG: декодер оны 1×2 етіп қайтаруға тиіс
Шкала неге 95-те және 25-те үзіледі
Жоғарғы шекара 95-те сақтықтан емес тұр: одан жоғарыда салмақ жылдам өседі, ал көз ештеңе ұтпайды — кодтаушы сенсор шуын сақтай бастайды. Төменгісі 25-те тұр, себебі одан төмен фотосурет фотоға ұқсауын қойып, шаршылар жиынтығына айналады. Мағыналының бәрі осы екі санның арасында, іріктеу тек сонда жүреді.
25 бен 95 арасында дәл 71 ықтимал мән бар, ал бисекцияның жеті талпынысы жалғыз жарамдысына жетуге жеткілікті: әр талпыныс қалған кесіндіні қақ бөледі. Одан көбі қажет емес, азы шкаланың бір нүктеге түйісуіне жетпейді.
Сапаны баптаудан гөрі не жақсы сақтайды
- Екі рет сығымдамау. Файл мақсатқа сыйып тұрса, формат сәйкес келсе әрі қабырғаны кішірейту сұралмаса, құрал түпнұсқаны қайтарады: қайта кодтау бұрын кванттағанды қайта кванттайды да, сурет бекер жұмсарады.
- Алдымен қиып, сосын сығымдау. Шеттен алынған пиксельдерді сақтаудың да, кодтаудың да қажеті жоқ.
- Үлкейтпеу. Құрал суретті ешқашан созбайды: ұлғайту жоқ бөлшекті ойлап тауып, оған байт жұмсайды.
- Мессенджер жіберген файлмен емес, түпнұсқамен жұмыс істеу: біріншісі сізге айтылмаған бір сығымдауды бастан кешірген.
Бағдар: түсірілім неге бүйірімен жатпайды
Телефон сенсордың өз бағдарында түсіріп, файлға көрсету кезінде суретті қалай бұру керегін айтатын белгі жазады. Браузерлер бұл белгіге әртүрлі қарайды, ал «браузер оны ескере ме» деген тексеру ештеңе дәлелдемейді: бір қозғалтқыш қажет параметрді қабылдап, бірақ қолданбай жүрген.
Сондықтан тексеру әсер бойынша жасалған. Кодқа екіге бір пиксельдік бұру белгісі бар кішкентай түсірілім тігілген: декодер оны бірге екі етіп қайтарса, белгіні шынымен қолданады, браузерге сенуге болады. Қайтармаса, белгі файлдан қолмен оқылып, канвасты біздің код бұрады.
Жиі қойылатын сұрақтар
Фотоны мүлде жоғалтусыз сығымдау бола ма?
Жоғалтусыз форматтар бар, бірақ түсірілім үшін олар бастапқы JPEG-тен әлдеқайда ірі файл береді. Тәжірибелік мәні тек көзге көрінбейтін жоғалтуы бар сығымдауда.
Айырма көрінбеуі үшін қандай сапа қою керек?
Шкаланың жоғарғы бөлігінен бастап, біркелкі аймақтарда өзгеріс байқалғанша төмендетіңіз — аспан мен тері бірінші бүлінеді, ал шөп пен текстура көп нәрсені кешіреді.
Қайта сығымдау суретті неге күткеннен қатты бүлдіреді?
Себебі екінші өту бұрын кванттелген деректі қайта кванттайды: бірінші кодтаудың қателері екіншісіне бастапқы дерек болып, сапа жоғары қойылса да жинақтала береді.
Сығымдаудан кейін файл үлкейіп кетті. Қалайша?
Әдетте бұл браузердің сұралған форматты жаза алмай, басқасын қойғанын білдіреді. Құрал мұны қабылдамай, түпнұсқадан ірі файл берудің орнына қате туралы хабарлайды.