Формати фишурдани тасвири QOI ҷорӣ карда шуд

Формати нави сабук ва бе талафоти фишурдани тасвир ҷорӣ карда шуд - QOI (Тасвири хеле хуб), ки ба шумо имкон медиҳад, ки тасвирҳоро дар фазои ранги RGB ва RGBA хеле зуд фишурда кунед. Ҳангоми муқоисаи кор бо формати PNG, татбиқи истинодҳои ягонаи формати QOI дар забони C, ки дастурҳои SIMD ва оптимизатсияи васлкуниро истифода намебарад, дар суръати рамзгузорӣ нисбат ба китобхонаҳои libpng ва stb_image 20-50 маротиба тезтар аст ва 3 -4 маротиба тезтар дар суръати рамзкушоӣ. Аз ҷиҳати самаранокии фишурдасозӣ, QOI дар аксари санҷишҳо ба libpng наздик аст (дар баъзе санҷишҳо он каме пештар аст ва дар дигарҳо пасттар аст), аммо дар маҷмӯъ он аз stb_image ба таври назаррас пеш аст (фоида то 20%).

Татбиқи истинод ба QOI дар C танҳо 300 сатри код аст. Рамзи сарчашма дар асоси иҷозатномаи MIT паҳн карда мешавад. Илова бар ин, мухлисон татбиқи рамзгузорҳо ва декодерҳоро бо забонҳои Go, Zig ва Rust омода кардаанд. Лоиҳа аз ҷониби Доминик Шаблвски, як таҳиягари бозӣ бо таҷрибаи эҷоди китобхона барои рамзкушоии видеои MPEG1 таҳия мешавад. Бо истифода аз формати QOI, муаллиф мехост нишон диҳад, ки ба форматҳои рамзгузории тасвири аз ҳад мураккаби муосир алтернативаи муассир ва содда эҷод кардан мумкин аст.

Иҷрои QOI аз қарор ва хусусияти тасвири рамзгузорӣ (O(n)) новобаста аст. Рамзгузорӣ ва рамзкушоӣ дар як гузариш анҷом дода мешаванд - ҳар як пиксел танҳо як маротиба коркард карда мешавад ва метавонад бо яке аз 4 роҳ, вобаста ба арзишҳои пикселҳои қаблӣ интихоб карда шавад. Агар пиксели навбатӣ бо пиксели қаблӣ мувофиқат кунад, пас ҳисобкунаки такрорӣ танҳо зиёд мешавад. Агар пиксел ба яке аз арзишҳои буфери 64 пиксели гузашта мувофиқат кунад, он гоҳ арзиш бо офсети 6-битӣ ба пиксели гузашта иваз карда мешавад. Агар ранги пиксели қаблӣ каме фарқ кунад, фарқият дар шакли кӯтоҳ нишон дода мешавад (рамзгузории кӯтоҳи фарқиятҳои ҷузъҳои ранг, ки ба 2,4, 5 ва XNUMX бит мувофиқанд). Агар оптимизатсия мувофиқ набошад, арзиши пурраи rgba дода мешавад.

Манбаъ: opennet.ru

Илова Эзоҳ