![](/wp-content/uploads/2019/12/uk-google-vidkriv-dla-vsih-novij-sposib-stisnenna-jpeg-1.jpg)
Зображення, рівень стиснення якого за допомогою JPEG зростає справа наліво
Wikimedia Commons
Компанія Google відкрила доступ до нового алгоритму стиснення зображень формату JPEG - Guetzli (в перекладі з швейцарського діалекту німецької мови - «печиво»). Він дозволяє отримувати високоякісні файли зображень, обсяг яких на 35 відсотків менше, ніж в результаті роботи стандартних алгоритмів. Це досягається завдяки псіховізуальной моделі сприйняття зображень. Мінус Guetzli - вимогливість до ресурсів і повільність. Вихідний код для алгоритму доступний в репозиторії GitHub, також про нього повідомляє блог Google.
JPEG - метод стиснення зображень з втратами, розроблений Joint Photographic Experts Group в 1992 році. Він полягає в перетворенні фрагментів зображення в набір синусоїд ( дискретне косинусное перетворення ) І записи параметрів цих кривих замість попиксельной записи квітів. Існують різні алгоритми стиснення, що відрізняються порядком, геометрією та іншими параметрами перетворень. Як правило стиснення без значних втрат в якості для алгоритмів JPEG становить десять до одного.
Зліва направо: оригінал, результат стиснення libjpeg, результат стиснення Guetzli
У загальному випадку в JPEG входять наступні стадії: колірне перетворення, проріджування, дискретне косинусное перетворення блоків 8 × 8 пікселів і квантування . Нова розробка Google в основному відноситься до останньої стадії стиснення. Автори використовували псіховізуальние моделі сприйняття для того, щоб зробити втрати квантування максимально непомітними. експерименти показали , Що добровольці надають перевагу зображенням Guetzli в порівнянні з картинками, стислими за допомогою стандартної бібліотеки libjpeg - навіть якщо останні мали такий же або трохи більший розмір.
Зліва направо: оригінал, результат стиснення libjpeg, результат стиснення Guetzli
Разом з тим, новий алгоритм вимагає набагато більшого обсягу обчислень. Наприклад, стиснення невеликого зображення (620 × 444, 32 кілобайт) зажадало близько 20 секунд, і 50 мегабайт оперативної пам'яті. як повідомляє один з користувачів, стиск більших файлів (1,7 мегабайта) вимагає кілька гігабайт оперативної пам'яті і 15 хвилин роботи програми. як відзначають розробники на кожен мегапиксель зображення потрібно близько 300 мегабайт. Результат стиснення сумісний зі стандартними засобами перегляду зображень.
видання Arstechnica допускає , Що в розробці псіховізуальной моделі, що лежить в основі алгоритму, могли використовуватися нейромережі. В її вихідному коді ключові параметри являють собою набір з декількох сотень констант.
Раніше підрозділ Google Brain поставило експеримент, в якому два сервера (Аліса і Боб) за допомогою нейромереж розробили власний метод шифрування повідомлень. Особливість роботи нейромереж полягає в тому, що дуже важко інтерпретувати те, як саме вони перетворюють дані.
Володимир Корольов