Results 1 to 8 of 8

Thread: сжатие простых изображений (RUS)

  1. #1
    Member
    Join Date
    May 2016
    Location
    none
    Posts
    3
    Thanks
    0
    Thanked 1 Time in 1 Post

    сжатие простых изображений (RUS)

    Всем привет.
    не знаю тут по-русски хоть можно писать?
    Сжатие простых картинок ещё кому нибудь здесь интересно?

    Алгоритм на основе PMD, жмет лучше webP в 2 раза.
    в среднем gif/png сжимает в 3 раза. Анимированный в 4.
    Лучше пока нигде не видел. но говорят это уже не актуально.
    хотя сервисов по сжатию полно но нового формата все боятся - он никем не поддерживается и плагины никто ставить не будет просто так, даже ради 2х кратной выгоды.
    тестовая программа есть. Что скажите?

  2. Thanks:

    xinix (1st May 2016)

  3. #2
    Member
    Join Date
    Sep 2007
    Location
    Denmark
    Posts
    926
    Thanks
    58
    Thanked 116 Times in 93 Posts
    Google translate

    compressing simple images

    Hello.
    I do not know here in Russian though you can write?
    Compression of simple images more interesting to someone here?

    The algorithm is based on PMD, presses better webP 2 times.
    average gif / png compresses 3 times. Animated 4.
    Better yet never seen. but they say it is not true.
    although full services on compression but everyone is afraid of the new format - it is supported by no one and no one put plugins will not be just, even for 2 times the benefits.
    the test program is. Say what?

  4. Thanks:

    xinix (1st May 2016)

  5. #3
    Member
    Join Date
    Nov 2015
    Location
    -
    Posts
    53
    Thanks
    253
    Thanked 15 Times in 12 Posts
    Добро пожаловать!
    Можно, домен то русский
    Что-то новое всегда интересно, особенно если сжимает лучше. Так что можете смело выкладывать исполняемые файлы, мы с радостью протестируем!
    Ратушняк думаю тоже подключится, он как раз картинками занят. И Ваши результаты разместят на офф. страничках LTCB: Стефана, Махонни, и другие.
    Новых форматов боятся пока их не раскрутят, а если у Вас и сжатие лучше чем у остальных, и другие бонусы есть - то формат разойдётся.
    Ждём, спасибо!

  6. #4
    Member nikkho's Avatar
    Join Date
    Jul 2011
    Location
    Spain
    Posts
    554
    Thanks
    223
    Thanked 166 Times in 107 Posts
    Quote Originally Posted by xinix View Post
    Добро пожаловать!
    Можно, домен то русский
    Что-то новое всегда интересно, особенно если сжимает лучше. Так что можете смело выкладывать исполняемые файлы, мы с радостью протестируем!
    Ратушняк думаю тоже подключится, он как раз картинками занят. И Ваши результаты разместят на офф. страничках LTCB: Стефана, Махонни, и другие.
    Новых форматов боятся пока их не раскрутят, а если у Вас и сжатие лучше чем у остальных, и другие бонусы есть - то формат разойдётся.
    Ждём, спасибо!

    Google translate:
    Welcome! It is possible, the Russian domain Something new is always interesting, especially if compresses better. So you can safely upload executable files, we gladly will test! Ratushniak think also connect, it just is not available pictures. And your results will be placed on the off. pages LTCB: Stephen Mahoney, and others. New formats are afraid until they unleash, and if you do, and better compression than the other, and there are other bonuses - then disperse format. We are waiting, thank you!

  7. #5
    Member
    Join Date
    Jun 2015
    Location
    Switzerland
    Posts
    901
    Thanks
    246
    Thanked 326 Times in 199 Posts
    Quote Originally Posted by Xing View Post
    Всем привет.
    не знаю тут по-русски хоть можно писать?
    Сжатие простых картинок ещё кому нибудь здесь интересно?

    Алгоритм на основе PMD, жмет лучше webP в 2 раза.
    в среднем gif/png сжимает в 3 раза. Анимированный в 4.
    Лучше пока нигде не видел. но говорят это уже не актуально.
    хотя сервисов по сжатию полно но нового формата все боятся - он никем не поддерживается и плагины никто ставить не будет просто так, даже ради 2х кратной выгоды.
    тестовая программа есть. Что скажите?
    how fast decode?

  8. #6
    Member
    Join Date
    May 2016
    Location
    none
    Posts
    3
    Thanks
    0
    Thanked 1 Time in 1 Post
    explay-m3.narod.ru/Img.htm
    (в самом начале анимац гиф который сжался в 10 раз)
    explay-m3.narod.ru/Img.rar
    это программа для Windows-XP сырая/ чисто демо для проверки/ иногда вылетает с ошибкой - там парсер гиф не все варианты пока понимает.
    если на других ОС не пойдет - можно попробовать эту -
    explay-m3.narod.ru/Minus.rar
    она 2мб - там еще архиватор текстов по словарю. описание большое. на рус языке и гугл вряд ли всё переведёт правильно.
    Скорости приличные, если переписать на асемблер то будет ещё быстрее. С программой EMMA сравнивал. быстрее в 100 раз и памяти меньше надо и картинки(не фото и без градиентов) жмет в 2 раза лучше потерь. а с потерями в 5 но смотреть надо и выбирать размер-качество
    Кратко идея такая. За основу взят PMDd Д.Шкарина. но у него одномерный контекст, для текста хорошо, для картинок не совсем.
    но если рассматривать картинку как блоки из слов разной высоты и длины то сжатие намного лучше. для этого используем 2х мерный контекст, но пока только имитация - преобразователь стуктруры. +
    однородные прямоугольные блоки сжимаем как повторы - маркер-цвет-высота-ширина. Анимацию превращаем в рядом стоящие кадры и жмём как непрерывный архив. В итоге сжатие gif/png в среднем в 4 раза, иногда в 10. проверял на большой куче разных картинок - скриншоты, ч/б схемы и анимац гиф до 16 цветов жмёт намного лучше всех платных сервисов вместе взятых. но фото жмёт хуже jpg. карты яндекса ещё можно сжать - надписи читаются а размер меньше в 7-9 раз.
    там есть варианты с потерями и без потерь, но всё это недоделано потому что сейчас вроде бы уже не актуально, сайты большие и экономия незначительная. но так то обычный сайт с картинками гиф можно в 5 раз сжать. может для мобильных версий сайта это надо.
    или большой архив аним.гиф картинок на флешке. вместо 200 мб-50мб
    контакты на сайте. скайп xing.polar англ. плохо знаю.

    -----
    how fast decode? - very fast - like gif/jpg

    добавлено 2 мая
    =====================
    да уж гугл перевел. Всё исказил.
    я думал у них давно там нейронные сети стоят.
    даже я ничего не понял. А если обратно перевести то какой-то бред вовсе.

    Вот сразу результаты сжатия, если можете лучше сжать, то значит
    все мои алгоритмы ерунда и давно лучше есть. (Но может они платные)
    explay-m3.narod.ru/140522110420.zip (англ. шаблон сайта 300k было)
    explay-m3.narod.ru/140522110420.rar (60k стало, в rar без сжатия)
    explay-m3.narod.ru/2.gif (5968->1953 ч/б схема 640х256)
    explay-m3.narod.ru/Spot.gif (2436->400 анимация 8 кадров 3 цвета)
    hi-news.ru/research-development/Edge1.png (70кб->5кб без потерь.)
    adminvps.ru/img/buttons/AV468x60.gif (банер 106к->86к без потерь/ 66к с 0.3%)
    http://explay-m3.narod.ru/Test.gif (24k->7k 1024x768 скриншот с надписями c 1%)
    explay-m3.narod.ru/AniGifs.rar (50 разных аним гиф )
    в пакетном режиме. (в ручном качество можно выбирать и даже цвета менять)
    (С качеством 1% и за 6мин 177600->44600. декодиров 1 сек на диск.)
    (С качеством 7% и за 3мин 177600->43950. декодирование в память 1мкс)
    Обратно в гиф пока возвращает по кадрам, но аним. можно сделать если надо.
    png через bmp-24 пока что, для прямого чтения и с поддержкой прозрачного
    ничего пока нет, но можно тоже сделать или в виде отдельной проги.

    Написано на Microsoft Visual Studio 6.0 winXP, есть одна DLL актив-икс,
    при запуске авторегистация - на новых ОС вроде уже запретили это,
    так что ищите старый комп с winXP или вирт машину, или есть вариант без этой
    DLL попроще, если эта тоже не пойдёт, пишите. Будем думать.
    Установка батником - потом из командной строки. >img test.gif
    Если расширение .img то декодирует в bmp2(+прозр+анимация-кадры верт. рядом)
    (инфа о паузах в img-файле есть и когда сама будет гиф делать то будет как было.
    простые гиф из bmp2 можно сделать в любом гр. редакторе, но если есть прозрачный
    то скриптом на php -неудобно, потом можно сделать удобней. Пока некогда.

    ---------------
    Я сначала сжатие текстов делал, но сильно лучше, чем PMD не получилось,
    чем больше сжатие, тем медленнее кодирование, а выигрыш мизер - невыгодно.
    никто 3 часа ждать не станет ради 5%.
    Но за счет автозамены слов на их сокращения и переформатирования можно
    немного получше сжать и быстро. Плюс еще ошибки и опечатки исправляет
    по базе знаний, сленг меняет на литературные синонимы (для переводчиков)
    вставляет двойные буквы или убирает, расставляет пропущенные запятые и точки
    заглавные буквы в начале предложения итд. вобщем малограмотный текст с ошибками
    превращается в конфетку, и читать приятней и машинные переводчики переведут
    точнее и быстрее. Таких архиваторов вроде бы ещё нету затем всё это пакуется
    PMD , передается и распаковывается - у получателя должен быть декодер и словарь.
    в декодер заодним можно вставить переводчик на любой язык.
    Минусы есть. Может автозаменой заменить неправильно и смысл исказить но
    потом привыкнут и будут писать по правилам архиватора. Зато удобно.
    Хорошие словари надо делать, сейчас там всё сырое и неоптимальное.
    Сокращать можно не только слова, но и целые фразы или шаблоны. Также можно
    какой-то кусок данных типа стандартной палитры гиф или скрипта jqеury обозначить
    3мя знаками и запомнить в словаре автозамены. Слова в словаре по рейтингу-
    кто чаще тот и первый и у того сокращение короче и из символов с высоким рейтингом
    для рус языка это (оеаинтслрвкмдпу..) - это тоже прибавляет немножко.
    предел словаря 16млн "слов" склонения/падежи и пр. это Разные слова с очень
    разным рейтингом, и у них разный с-код.
    непрерывные архивы пока тоже не сделаны - они ещё дают 5+% где то.

    Пока сжатие слов делал и перебирал сотни вариантов, случайно нашел алгоритмы
    для энтропийного сжатия коротких таблиц, где данные почти не повторяются
    имеют макс. больше длины и если отсортировать и посмотреть график- то это
    экспонента. Значит распределение экп-е. Такие таблицы плохо жмут все
    алгоритмы/архиваторы и даже коды Хоффмана (с кодами Болота не сравнивал ещё
    - недавно их нашел)
    попробуйте сжать лучше, чем 297 байт вот это:
    explay-m3.narod.ru/297.dat (512байт-256-12битных чисел)
    я пока не нашел, но может плохо искал, да и времени сейчас особо нет лишнего.
    чем больше кривая экспоненты - тем больше разница с другими.
    Большая статья про это есть на сайте, (скрипты лучше выключать, чтобы рекламу
    хостера не видеть - она огромная)
    Это БРЧ-безразмерные числа. Алгоритмов около сотни - гибридные схемы,
    форматы хранения чисел. Самый простой (0-127 1-байт 128-32к -2 байта) 7бит в
    первом байте это флаг переноса. Остальные форматы в том же духе.
    некоторые схемы сжимают на уровне zip и быстрее в 100 раз.
    выбор по макс. значению, но есть схемы с перебором - там медленнее.
    В целом пока тот же перебор, но с отсечкой аутсайдеров по ходу.
    (это в PMD предсказать невозможно номер метода по части. тут можно.)

    Сжатие картинок тоже случайно, пробовал выход lzw дожимать разными
    кодеками и сразу получилось намного лучше. В итоге если просто гиф
    превратить в пиксели или BMP-256 а потом сжать PMD то размер всегда
    лучше в 2 раза, без потерь.
    с BMP-16 не так всё радужно, там контекстная схема 2 гориз точки в байт.
    хотя 2 верт точки в байт это всегда намного лучше в 90%
    также и с ч/б 8бит-8верт точек в байт + PMD = суперсжатие. в большинстве.
    но есть исключения, зависит от картинки, иногда 2х2 4х2 схемы лучше,
    поэтому надо перебирать и выбирать - это долго. Для прокси серверов
    сжатия - это не подходит, надо новый MIME регить и уговаривать всех
    сделать поддержку этого формата, это нереально.

    Дальше сжатие палитры, ну глаз всё равно больше 15тыс оттенков не различает
    зачем ему 24млн на маленьком заляпаном экране телефона? хватит 64к
    если цвета много то откл. заметней, а если пара точек, то можно грубо
    усреднить - никто не заметит, поэтому точно передаем цвета, которых
    больше 7/3/1%(на выбор) от общей площади 16 бит, которых средне 12 бит,
    а которых мало 8 бит - тут тоже немного можно выиграть на небольших.
    Еще некоторые редакторы сохр палитру 256 цветов, даже если надо 3.
    на очень маленьких картинках это пол-объема ненужного хлама.
    и таких картинок половина, а не 3-5%.
    Ошибки автоматизации в заливках и пр. FFFFFF FFFEFF -это разные цвета
    в большинстве случаев можно спокойно заменить на один, но с учетом
    рейтинга цвета - кого больше на того и меняем, в итоге размер меньше.
    в заливках градиентах есть шаг различимости и он больше 1 точно.
    для картинок для оформления сайтов это не критично, если размер важнее
    то нормально, есть конечно случаи, когда надо масштабировать и показывать
    на метровых экранах, но это 1% надо и для них можно отдельную картинку
    сделать или эта как уменьшенный эскиз, а клик по ней - большой вариант.

    Чистый 2х мерный PMD надо делать, тогда 2D-повторы не нужны будут.
    (памяти и мощности надо будет больше но сжатие еще лучше на 5-20%)
    а пока одномерный PMD простые линейные повторы жмет лучше всех, и никакие
    алгоритмы типа (RLE+) это не улучшают, а вот с повторами в двух направлениях
    и больше (для голограмм 3D) есть алгоритмы, которые с учетом ширины картинки
    могут сгруппировать рядом стоящие по высоте точки, и сжатие намного лучше.
    Это делается структурным конвертором - он превращает 2х мерный контекст в линейный
    плюс 1-7 битный вход в 8 битный - это тоже даёт. Алгоритмы разные, в основном
    простые и быстрые, но их много и пока простой перебор, сразу сказать какой
    сработает лучше - невозможно, но если набрать огромную статистику и обучить
    нейр сеть, то выбор будет быстрым, зависит от частоты/плотности/характера
    распределения и равномерности. У меня таких мощностей нет, но большие фирмы с
    суперкомпьютерами могут..
    Разностное кодирование аним. гиф оказалось стабильно на 30% хуже. чем просто
    расположив кадры рядом вертикально (редко горизонтально). Так что
    сжатие ключевого кадра в видео а потом разностей - лучше всего - скорее миф.

    Рабочего алгоритма для сжатия градиента пока нет, но примерно мысли такие как
    с 2D-повторами, просто еще будет шаг увеличения и направление - надо пробовать.
    Работу Структурного конвертора можно распараллелить - считать одновременно по
    нес-ким алгоритмам и выбирать наименьший, можно аппаратно - сопроцессор сжатия.
    Декодирование однопроходное и потоковое - скорость на уровне копирования,
    часть принял - часть показал, но будет не равномерно показывать, а по блокам,
    но т.к они маленькие, то это приемлемо.

    PS. Если кто захочет доделать эту программу в нормальный вид для всех
    платформ и ОС - пишите, обсудим, но мне кажется это никому не надо.
    Last edited by Xing; 2nd May 2016 at 12:03.

  9. #7
    Member Alexander Rhatushnyak's Avatar
    Join Date
    Oct 2007
    Location
    Canada
    Posts
    250
    Thanks
    46
    Thanked 105 Times in 54 Posts
    Lossless on image test_ref from libwebp-0.5.0-windows-x86.zip : 29187 bytes

    That's not as good as png and others,
    see here:
    http://encode.su/threads/2325-Lossle...ll=1#post45421
    Last edited by Alexander Rhatushnyak; 2nd May 2016 at 17:56. Reason: found how to run img.exe to compress losslessly

    This newsgroup is dedicated to image compression:
    http://linkedin.com/groups/Image-Compression-3363256

  10. Thanks:

    Jyrki Alakuijala (3rd May 2016)

  11. #8
    Member
    Join Date
    May 2016
    Location
    none
    Posts
    3
    Thanks
    0
    Thanked 1 Time in 1 Post
    фотографии и градиенты этот алгоритм не тянет, только простые нарисованные изображения для оформления сайтов. схемы, скриншоты, анимированные гиф, банеры.но можно попробовать некоторые методы предварительной подготовки и сжать тем же кодеком что было. и будет чуть получше но не в 2+ раза.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •