The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Представлен ImageZero, новый lossless-кодек для изображений

30.01.2012 21:59

Кристоф Фек (Christoph Feck), разработчик из команды KDE, выпустил предварительную реализацию кодека IZ (ImageZero) для сжатия изображений без потерь. Причиной написания программы стала очень медленная работа PNG на изображениях очень большого размера (более 12-мегапикслей), а также сложности с патентами других существующих алгоритмов, таких как JPEG-LS. Код проекта распространяется под лицензией BSD.

В существующих кодеках основной упор делается на степень сжатия, часто в ущерб скорости. В итоге при открытии и сохранении файлов с разрешением уровня 4500×3000 процесс ожидания завершения операции начинает раздражать. При создании IZ основное внимание было сосредоточено на скорости сжатия и распаковки. На данном этапе разработки IZ сжимает в 30 раз быстрее PNG. Скорость распаковки в два раза быстрее PNG. С точки зрения эффективности кодирования, результирующий файл близок по уровню сжатия к PNG для обычных фотографий (24 bit RGB) и даже немного опережает его. Для высококачественных фотографий с большим разрешением в некоторых случаях IZ опережает даже JPEG-LS.

Метод Размер файла Сжатие Распаковка
Оригинал 46380 KB - -
JPEG-LS 14984 KB 6.6 сек 7.3 сек
PNG 16256 KB 42.4 сек 2.4 сек
IZ 15496 KB 1.2 сек 1.3 сек

На данный момент программа и спецификация находятся в разработке и не являются финальными. Разработчики, заинтересованные в развитии IZ, могут присоединиться к списку рассылки kde-imaging.

  1. Главная ссылка к новости (http://kdepepo.wordpress.com/2...)
  2. OpenNews: В новой версии WebP появилась поддержка прозрачности и кодирования без потерь
  3. OpenNews: Компания Google представила новый открытый формат изображений WebP
Автор новости: Artem S. Tashkinov
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/32940-lossless
Ключевые слова: lossless, image, imagezero
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (66) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Erley (ok), 23:48, 30/01/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +27 +/
    Чёрт побери, а этот Кристоф молодец!
     
     
  • 2.38, Ptomaine (?), 12:48, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А кто-нить вааще заходил на оффсайт, читал описание?

    1. IZ - не поддерживает альфа канал!
       ImageZero is a high-performance lossless _RGB_ color image compressor/decompressor.
       ...it compresses _24_ bit PPM files..

    2. IZ - не подходит для grayscale и для сгенерённых компьютерных изображений.
       ImageZero is not suited for “flat” (computer generated) graphics or grayscale images.

     
     
  • 3.41, Erley (ok), 13:01, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Да, но это же только начало, не всё сразу.
    Глядишь, ему помогут и получится конфетка.
     
     
  • 4.84, pavlinux (ok), 21:10, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Альфа канализация патентована, и тянет за собой ещё 13 патентов

    http://www.google.com/search?tbm=pts&tbo=1&hl=en&q=alpha+channel

     
  • 3.59, Crazy Alex (ok), 15:56, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну да - специализированный кодек для сжатия фотографий без потерь. И что? В конце концов можно сделать контейнер,в котором это будет одним из вариантов сжатия. Или в TIFF совать - он разные методы умеет, будет ещё один.
     

  • 1.2, Аноним (-), 23:55, 30/01/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Он, конечно, тоже нашел в чужих алгоритмах тот же фатальный недостаток что и все остальные, но он это сделал хорошо! :)
     
  • 1.5, Lain_13 (?), 00:38, 31/01/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А lossy оно умеет?
     
     
  • 2.6, Аноним (-), 00:54, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем?
     
     
  • 3.8, Lain_13 (?), 01:05, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Без lossy сравнение с jpeg не полно.
     
     
  • 4.12, wikipedia (?), 01:14, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Группа экспертов в области фотографии (Joint Photographic Experts Group) в дополнение к известным форматам сжатия изображений JPEG и JPEG 2000, ориентированным прежде всего на сжатие с потерями, предложила также стандарт на сжатие без потерь — JPEG-LS (в котором, однако, предусмотрен также режим сжатия с ограниченными потерями).
     
  • 2.15, Аноним (-), 03:58, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Сделай resize перед сжатием - вот тебе и lossy. Неполным сравнение будет, надо же такое сморозить...
     
     
  • 3.64, Аноним (-), 16:02, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Сделай resize перед сжатием - вот тебе и lossy.

    Ты это что, в сырце VP8 подсмотрел, читер? А то там есть такой режим :)

     
  • 2.65, Crazy Alex (ok), 16:03, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще-то лучше чтобы "оно" его не умело - иначе начинаем сильноо путать пользователей, для большинства которых раширение файла (в крайнем случае - контейнер) эквивалентно алгоритму сжатия со всеми нюанасами. Если по отдельности - понятно: отдает фотоаппарат PNG - это никак не порченные фотографии, отдает JPEG - они заведомо с потерями. А если гибриды - маркетолухи не упустят шанс написать "высококачественный формат XYZ" и забыть сказать, что жато с потерями
     

  • 1.7, Нанобот (?), 01:03, 31/01/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    нет, чтобы оптимизировать разжатие в png, обязательно нужно создать свой формат, с блекджеком и шлюхами, и, в последствии, проблемы совместимости
     
     
  • 2.9, Lain_13 (?), 01:07, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > нет, чтобы оптимизировать разжатие в png, обязательно нужно создать свой формат, с
    > блекджеком и шлюхами, и, в последствии, проблемы совместимости

    Там не разжатие, так сжатие ужасно и далеко не факт, что его вообще возможно оптимизировать больше, чем оно уже есть. libpng существует уже довольно давно и если сжатие там до сих пор такое медленное, то заметно лучше оно скорее всего уже не станет.

     
     
  • 3.23, Ваня (??), 10:52, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Вот именно.

    PNG существует давно.
    Сжатие PNG хуже IZ.
    Скорость работы PNG медленнее, чем IZ.
    IZ разработан разработчиком (кодером) одной из ОС.

    Что-то терзают меня сомнения... Если бы могли сделать лучше - сделали бы уже давным давно.

     
     
  • 4.66, Аноним (-), 16:05, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Что-то терзают меня сомнения... Если бы могли сделать лучше - сделали бы
    > уже давным давно.

    ...пробурчал питекантроп, неувернно теребя древко копья, пятясь в сторону привычной пещеры...

     
  • 2.11, Иван Иванович Иванов (?), 01:12, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так вы возьмите deflate и улучшите!

    Только учтите, что алгоритму уже лет дцать.

     
     
  • 3.43, Нанобот (?), 13:27, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    вам нужно - вы и улучшайте. меня и png вполне устраивает, ничего я улучшать не буду
     
  • 3.67, Аноним (-), 16:06, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Так вы возьмите deflate и улучшите!

    Откройте для себя LZMA...

     

  • 1.17, gkv311 (ok), 08:39, 31/01/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Опять нет сравнения с WebP lossless. Неужели надо всё делать самому, чтобы найти истину :|.
     
     
  • 2.19, Аноним (-), 09:45, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Зачем же? Возьмите попкорн и залезайте на печь.
     
  • 2.68, Аноним (-), 16:06, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Неужели надо всё делать самому, чтобы найти истину :|.

    А вы надеялись что все и вся за вас сделают другие? А вот и зря.

     

  • 1.27, all_glory_to_the_hypnotoad (ok), 11:20, 31/01/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Всё хорошо, только сорцы в грёбаном с++. Ну да ладно, творчески переписать в более нормальном виде не проблема.
     
     
  • 2.29, Ваня (??), 11:32, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вы ожидали увидеть Java? Я от неё в новостях, если честно, что-то подустал.
     
     
  • 3.39, xxx (??), 12:48, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Вы ожидали увидеть Java? Я от неё в новостях, если честно, что-то
    > подустал.

    Чувак ожидает Си - истинно правильный выбор для подобных вещей, чтобы без траха можно было использовать в любых других языках.

     
     
  • 4.40, gkv311 (ok), 12:57, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Самый правильный способ - это либа на C++ с API на C (+ опционально API на C++).
    Тогда будут и овцы целы, и волки сыты.
    Ну если конечно такое добро кто в ядро не захочет встроить :-|.
     
     
  • 5.69, Аноним (-), 16:07, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Ну если конечно такое добро кто в ядро не захочет встроить :-|.

    Вот поэтому лучше на чистом си сразу. А то будет как с LZMA, который один хрен прищлось на си переписывать по этим причинам.


     
  • 5.70, Crazy Alex (ok), 16:08, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Если подразумевать железные реализации - то чистый C был бы лучше. Хотя (сорцы не смотрел) есть варианты, когда именно использование плюсов дает преимущества - например, расчет каких-нибудь таблиц шаблонами на этапе компиляции. В этом плане весело когда-тобыло видеть библиотечку для AVR, писанную на  плюсах - так она била по скорости и компактности руками писанный на ассемблере код - при том, что в AVR ассемблер очень простой, кода мало а люей, умсеющих на нем писать предостаточно. На сях аналог наворотить не смогли - ибо вся соль в шаблонах, подставляющих в каждом случае оптимальную реализацию.
     
     
  • 6.75, Аноним (-), 16:16, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > - так она била по скорости и компактности руками писанный на
    > ассемблере код - при том, что в AVR ассемблер очень простой,

    ... это означает лишь что ассемблерщик был весьма жопорукий или применял свое кунг-фу бездумно. Обычно сишный и тем более плюсатый компилер генерит довольно горбатый код, который можно существенно улучшить, если переписать на асме. То что это надо делать с задействованием головы и только там где это реально надо - факт.

    IMHO: если вы не можете сделать си++ компилера на асме - идите лучше в дворники.

     
     
  • 7.76, Crazy Alex (ok), 16:33, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Могу ссылку дать - полюбуйтесь: http://easyelectronics.ru/rabota-s-portami-vvoda-vyvoda-mikrokontrollerov-na-
     
     
  • 8.77, Ваня (??), 17:00, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Да, да А теперь скомпильте на С код поиска 4-байтной сигнатуры в массиве 4-... текст свёрнут, показать
     
     
  • 9.79, Аноним (-), 17:22, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это явно не AVRовский ассемблер у того регистры 8-битные, для начала ... текст свёрнут, показать
     
     
  • 10.85, Ваня (??), 00:15, 01/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    x86, сути это не меняет ... текст свёрнут, показать
     
     
  • 11.86, Аноним (-), 10:17, 01/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Меняет, вообще-то x86 8212 это CISC, AVR 8212 RISC Генерировать оптималь... текст свёрнут, показать
     
     
  • 12.87, Аноним (-), 13:36, 01/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    В x86 предусмотрели костыль для ускорения операций с цепочками - отдельную коман... текст свёрнут, показать
     
     
  • 13.95, x0r (??), 18:41, 02/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    медленнее компилятор правильно оптимизирует ... текст свёрнут, показать
     
  • 8.80, Аноним (-), 17:36, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Угу, прикол состоит в том что 1 на си это в виде сырца вышло длиннее в три р... большой текст свёрнут, показать
     
     
  • 9.89, Crazy Alex (ok), 21:13, 01/02/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да, длиннее Да, для тиньки Профит наступает когда ты эту штуку начинаешь испол... текст свёрнут, показать
     
     
  • 10.90, Crazy Alex (ok), 21:15, 01/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    И уж тем более они себя оправдывают если кто-то один это сделал, а другие - поль... текст свёрнут, показать
     
  • 10.92, Аноним (-), 22:12, 01/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    На мое имхо получился какой-то изврат, - который объемистый в плане размера пор... большой текст свёрнут, показать
     

  • 1.46, Аноним (-), 13:49, 31/01/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    еще png не устаканился толком, уже новые поделки ) лучше бы потратили силы и время для продвижения png
     
     
  • 2.48, mylefthand (?), 14:55, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • +/
    это из какого времени сообщение? как везде только png и видно
     
     
  • 3.49, Ваня (??), 15:00, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Да ну :)

    Открываем opennet.ru, щёлкаем правой кнопкой на логотип - расово неверный GIF. Из PNG лишь иконка твиттера.

    Открываем вики - сплошь одни jpeg'и и svg, для анимации gif.

    Привет вам, из параллельной вселенной. Мы - люди. Жители планеты Земля.

     
     
  • 4.50, gkv311 (ok), 15:31, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Эта мода пошла из-за отсуствия в IE6 поддержки альфа-канала в PNG. И видимо эти устаревшие обычаи тяжело изгоняются из web...
     
     
  • 5.73, Аноним (-), 16:12, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Эта мода пошла из-за отсуствия в IE6 поддержки альфа-канала в PNG. И
    > видимо эти устаревшие обычаи тяжело изгоняются из web...

    Достаточно сходить на что-то менее некроманское, типа http://habrahabr.ru/ и просто посчитать число PNG файлов на главной странице.

     
  • 5.74, Аноним (-), 16:13, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Эта мода пошла из-за отсуствия в IE6 поддержки альфа-канала в PNG.

    К счастью, эта поделка уже почти пропала с экранов радаров. Я про антикварный ие, разумеется.

     
  • 5.91, Crazy Alex (ok), 21:17, 01/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Стоит ещё добавить, что если альфа-канал не нужен и хватает 256 цветов, то gif шустрее и меньше весит.
     
     
  • 6.93, Аноним (-), 22:15, 01/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > то gif шустрее и меньше весит.

    При _равном_ качестве (число цветов, etc) png обычно меньше: zlib (lz+huffman) да еще с фильтрами - жмет эффективнее чем древненький LZW и словарик там побольше + ему еще и фильтры подыгрывают.

     
     
  • 7.94, Хм8230 (?), 23:15, 01/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > При _равном_ качестве (число цветов, etc) png обычно меньше: zlib (lz+huffman) да еще с фильтрами - жмет эффективнее чем древненький LZW и словарик там побольше + ему еще и фильтры подыгрывают.

    Сходите ычан или 4gif. Возмите десяток-другой случайных гифок и сконвертируте в apng. Что-то не так, да? Почему-то, размер вдуг вырос… Ой-ой-ой. Не так хорош пинг, как его малюют.
    Всему своё место и каждому своё © не помню.

     
     
  • 8.96, maxst (?), 23:01, 02/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Просто хорошим конвертором надо пользоваться http gif2apng sourceforge net Т... текст свёрнут, показать
     
  • 8.101, arisu (ok), 10:04, 03/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    про optipng благородный дон не слышал, видимо а каким конвертером пользуется и ... текст свёрнут, показать
     
  • 8.103, Crazy Alex (ok), 16:57, 03/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    речь вообще не о тех гифках, а, например, о http www opennet ru opennet2 gif -... текст свёрнут, показать
     
     
  • 9.104, maxst (?), 17:41, 03/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    opennet2 gif 4415 байтов opennet2 png 3500 байтов экономия 20 ... текст свёрнут, показать
     
     
  • 10.107, arisu (ok), 21:02, 03/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    а чем это ты 3500 получил у меня меньше, чем 3846 никак не вышло ... текст свёрнут, показать
     
     
  • 11.108, arisu (ok), 21:12, 03/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    хм вышло 3704 но никак не 3500 ... текст свёрнут, показать
     
     
  • 12.109, maxst (?), 22:09, 03/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    1 Упомянутый выше gif2apng статические GIFы он тоже конвертирует 2 Далее png... текст свёрнут, показать
     
     
  • 13.110, arisu (ok), 22:13, 03/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    ну, я примерно так и думал что-то проприетарное это не в наезд, если что про... текст свёрнут, показать
     
     
  • 14.111, maxst (?), 22:46, 03/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Вот этот PNG-оптимизатор использует метод 7-zip http advancemame sourceforge ... текст свёрнут, показать
     
     
  • 15.112, arisu (ok), 22:47, 03/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    благодарю, как-то он мимо меня прошёл ... текст свёрнут, показать
     
  • 9.106, arisu (ok), 21:00, 03/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    э 8230 э 8230 wget http www opennet ru opennet2 gif gif-файл 4415 bytes... текст свёрнут, показать
     
  • 7.102, Crazy Alex (ok), 16:55, 03/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    у гифа заголовок поменьше или структуры компактнее - хз, но на мелких/однородных картинках это очень хорошо заметно.
     
     
  • 8.105, arisu (ok), 20:57, 03/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    когда как в общем случае у гифа есть ровно одна 171 killer feature 187 ани... текст свёрнут, показать
     
  • 4.72, Аноним (-), 16:10, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > PNG лишь иконка твиттера.

    А http://www.opennet.dev/favicon.png - это ничего так?
    Хотя опеннет довольно некроманский сайт. Делался во времена царя гороха и допотопных версий браузеров. С тех пор половина атавизмов так и осталась.....

     
  • 2.71, Аноним (-), 16:08, 31/01/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > еще png не устаканился толком,

    Эээ, поздравляю с разморозкой, у нас на дворе 2012 год и png устаканился уже наверное как целое десятилетие.

     

  • 1.82, mf (ok), 18:18, 31/01/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Как бы интересно увидеть фотик с такой штукой
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру