The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

, opennews (?), 01-Окт-10, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


31. "Разработчики кодека x264 резко критикуют формат WebP, предло..."  +2 +/
Сообщение от User294 (ok), 02-Окт-10, 00:29 
> Кстати, замечаю, как в последнее время таки прекрасный PNG постепенно убивает флеш, тьфу, jpeg.

Только не в фотографиях. Фотографии zlib-овским сжатием жмутся никаковски, выигрыш в 2 раза - уже просто пипец какое счастье. Обычно все хуже. Повторяющихся пикселов там немного, да. Жпег с другой стороны может легко и гарантированно сжать раз чуть ли не в пять без особых отличий для глаза (придется долго колупаться с лупой чтобы при пристальном разглядывании изъяны узреть). В общем каждому свое. Жпег для фотоподобных картинок, png для строгой компьютерной графики. А вот скриншот окна программы в JPEG или фотка в PNG в общем то изврат. В общем не убьет микроскоп молотки, равно как и молотки не убьют микроскопы. Разные форматы для разных целей и с разными свойствами.

Ответить | Правка | К родителю #25 | Наверх | Cообщить модератору

75. "Разработчики кодека x264 резко критикуют формат WebP, предло..."  +/
Сообщение от Sergey (??), 03-Окт-10, 09:16 
>> Кстати, замечаю, как в последнее время таки прекрасный PNG постепенно убивает флеш, тьфу, jpeg.
> Только не в фотографиях. Фотографии zlib-овским сжатием жмутся никаковски, выигрыш в 2
> раза - уже просто пипец какое счастье. Обычно все хуже.

Можно сделать PNG+PAQ сжатие - размер будет как у jpg.

> пикселов там немного, да. Жпег с другой стороны может легко и
> гарантированно сжать раз чуть ли не в пять без особых отличий
> для глаза (придется долго колупаться с лупой чтобы при пристальном разглядывании
> изъяны узреть).

оптимизация хаффмана + 1:1:1 + переменное DCT + качество 95% разница между bmp и jpg в 14 раз.
png сжатие 9 разница с bmp в 7 раз. то есть реально jpg без видимых искажений всего в 2 раза превосходит png. С ростом скорости актуальность jpg будет падать. Разумеется не стоит перекодировать jpg в png так как jpg дает серьезный шум.


Ответить | Правка | Наверх | Cообщить модератору

87. "Разработчики кодека x264 резко критикуют формат WebP, предло..."  +/
Сообщение от User294 (ok), 03-Окт-10, 22:24 
> Можно сделать PNG+PAQ сжатие

Ждать позеленеете с PAQ. Реалистичнее было бы засунуть LZMA в PNG, имхо. Но это не изменит сферу применения PNG.

> - размер будет как у jpg.

Не будет. Дело в том что у фотографии избыточность невелика, в силу того что все пикселы разные. Вы ж не белый лист бумаги фоткаете обычно?! И к тому же шумы матрицы еще есть. И все алгоритмы кодирующие идентично бит в бит устраняя тем или иным методом избыточность не очень много чего выиграют. Ну будет у вас сжатие не в 1.3 раза как у злиба с его куцым словарем, а скажем в 1.6 раза при приближении к теоретическому пределу. Вам сильно полегчает? При том что жпег жмет раз в ~5 без особых потерь для глаза и кушает зело меньше проца и оперативы чем PAQ? Алгоритмы сжатия с потерями отбрасывают довольно много информации которая однако глазу не очень то и видна. Потому и могут сжать в несколько раз. Это иной класс алгоритмов чем техники кодирования позволяющие декодировать бит в бит. Они используют особенности человеческого восприятия чтобы выбросить довольно много "лишней" информации так что человек не заметит особой разницы, а вот размер файла уменьшится в РАЗЫ.

> оптимизация хаффмана + 1:1:1 + переменное DCT + качество 95% разница между
> bmp и jpg в 14 раз.
> png сжатие 9 разница с bmp в 7 раз.

Извините, а что было на картинке? :)

Ничего что все эти соотношения очень сильно варьируются и зависят от ТОГО ЧТО НА КОНКРЕТНОЙ КАРТИНКЕ ИЗОБРАЖЕНО? В частности, для жпега четкие контрастные линии характерные для картинок типа скриншотов десктопа и прочая - большая проблема. Жпег грубо говоря пытается представить картинку как отдельные блоки, а потом огрубляет представление этих блоков. Откуда и неслабая экономия места, и характерные квадратики при пережатии, когда границы блоков перестают стыковываться нормально. Представляете себе что получается когда таким манером представляется скажем четкая граница типа кнопки на окне? Дерьмо там получается вместо четких линий, если качество чуть ниже максимального. Линии получаются размазанные и засранные, что очень видно глазу. Зато если это был не скриншот а real-world фотография - ну в природе почти не бывает однопиксельных контрастных четких линий. Поэтому фотоподобные изображения таким подходом давятся в несколько раз на ура и глядя на картинку глаз вообще не замечает подвоха. Поэтому жпег для фотографий и градиентных картинок вполне себе катит на ура. А если скриншот делать то чтобы он не выглядел как полное Г - жпегом надо чуть ли не максимальное качество фигарить и жпег при этом как правило намного больше PNG при более поганом качестве. Исключение только очень сложные скриншоты, где скажем часть фото в бэкграунде или много градиентов.

PNG по сути берет ту самую битмапу и ... просто давит ее без потерь злибой. Можете сами bmp в ZIP сжать. Тот же inflate/deflate будет поюзан, пардон. В png конечно еще фенечки типа фильтров есть но в целом идея вот такая вот - по сути этакий удобный zip для картинок :). В случае фотографии повторяющихся пикселов на ней в общем случае не густо, если не фоткать белый лист бумаги. Да еще матрица шумит, усугубляя это. Поэтому там где жпег почти гарантированно сожмет раз в пять без особой разницы на глаз - zlib может и в полтора не осилить. И *теоретический* предел lossless сжатия для такой картинки может не сильно отличаться, скажем быть в районе двух. Ну может чуть побольше с препроцессингом и злостными оптимизациями типа попыток попилить битмапу на несколько независимых потоков, предполагая что так больше совпадений наловится. Тем не менее, давить фотки "зипом" в целом занятие не очень перспективное. Вот скриншоты с большими одноцветными площадями и линиями так ессно давятся на ура - массив одноцветных пикселей ессно злибу самое что надо.


> то есть реально jpg без видимых искажений всего в 2 раза превосходит png.

Ха-ха, это соотношение очень варьируется в зависимости от того что у вас там на картинке. На однотонных скриншотах EPIC WIN будет у PNG, а на фотках - JPEG порвет PNG как тузик грелку.

> С ростом скорости актуальность jpg будет падать. Разумеется не стоит перекодировать jpg
> в png так как jpg дает серьезный шум.

Скорее он дает "квадратики". Которые сильно гадят lossless кодекам, разумеется. Поэтому даже какую-нить схему (line art вообще) сжатую в JPG просто так уже в PNG нормально не сожмешь.

Ответить | Правка | Наверх | Cообщить модератору

113. "Разработчики кодека x264 резко критикуют формат WebP, предло..."  +/
Сообщение от Sergey (??), 06-Окт-10, 20:12 
> Ждать позеленеете с PAQ. Реалистичнее было бы засунуть LZMA в PNG, имхо.
> Но это не изменит сферу применения PNG.

Есть и по круче LZMA - FreeArc например. А ждать пак не надо - уже сейчас есть довольно быстрые реализации. paqpf помоему.

>> - размер будет как у jpg.
> Не будет.

Возмите да и проверьте а, не наводите тень на плетень - PAQ да же JPG прилично жмет.
>> оптимизация хаффмана + 1:1:1 + переменное DCT + качество 95% разница между
>> bmp и jpg в 14 раз.
>> png сжатие 9 разница с bmp в 7 раз.
> Извините, а что было на картинке? :)

скрин из игры, и JPG с демо из дравера - 6751х3798 bmp 73,3МБ png 11,9МБ оригинальный JPG 2,56МБ http://s42.radikal.ru/i095/1010/45/cee690968614.jpg

>> то есть реально jpg без видимых искажений всего в 2 раза превосходит png.
> Ха-ха, это соотношение очень варьируется в зависимости от того что у вас

Слабо варьируется так как выставляется качество а не степень сжатия.

>> С ростом скорости актуальность jpg будет падать. Разумеется не стоит перекодировать jpg
>> в png так как jpg дает серьезный шум.
> Скорее он дает "квадратики".

Теоретиг хренов! Найди не сжатую картинку и подсчитай цвета и подсчитай после сжатия, количество цветов может вырасти на порядок.

Ответить | Правка | Наверх | Cообщить модератору

119. "Разработчики кодека x264 резко критикуют формат WebP, предло..."  +/
Сообщение от User294 (ok), 07-Окт-10, 03:16 
> Есть и по круче LZMA - FreeArc например.

LZMA хорош в этом плане тем что у него довольно быстрая и не слишком ресурсожоркая распаковка (LZ быстр в декомпрессии и оперативы надо по размеру словаря), так что при просмотре картинки не будет особых тормозов. А тормознутость упаковки менее критична т.к. единоразовая операция да и регулируется (ускорение - ценой потери степени сжатия ессно). А за счет больших словарей, специфичных оптимизаций и прочая - LZMA довольно неплохо жмет, как правило обставляя по степени сжатия тот же RAR например. У PAQ и PPM* всяких, извините, распаковка жрет столько же ресурсов как и упаковка (и RAM и CPU). И если аффтар полчаса давил картинку PAQом на своем серванте с ксеонами и 64 гигз оперативы - вы как, будете ее потом неделю декомпрессовать на вашем десктопчике, натужно тарахтя свопом? Или такой же сервачок докупите специально под распаковку картинок из веба? :)

> А ждать пак не надо - уже сейчас есть довольно быстрые реализации.

У PAQов есть довольно большая проблема - их декомпрессия по ресурсам как правило такая же как компрессия. См. выше. Да и LZMA с большим словарем не настолько уж и сильно от них отстает чтобы так заморачиваться. PAQи хороши если хочется мировой рекорд поставить, но для практического юзежа как-то не доставляют ни разу :P.

>  paqpf помоему.

Про оного гугл ничего такого осмысленного не нашел.

> Возмите да и проверьте а, не наводите тень на плетень - PAQ
> да же JPG прилично жмет.

А в жпегах есть некоторая *небольшая* избыточность. Ну да, сколько-то там процентов можно отвоевать, дополнительно тиснув жпег чем-то еще. Но это, простите, не в разы разница как правило, а на какие-то проценты. Что и убивает какой-то особый смысл в этом начинании. Пыжиться с еще одной стадией упаковки ради нескольких процентов - дурная затея. В принципе можно было бы на уровне формата пооптимальнее кодить наверное. А так - ну возьмите RAW да попробуйте его зажать PAQом во столько же раз во сколько без особой разницы на вид жпег может. Посмотрим как оно у вас получится. К слову, сие сильно зависит от картинки и ее природы.

> скрин из игры, и JPG с демо из дравера - 6751х3798 bmp
> 73,3МБ png 11,9МБ оригинальный JPG 2,56МБ http://s42.radikal.ru/i095/1010/45/cee690968614.jpg

Основной FAIL тут в том что это все-таки аккуратненький computer-generated image. Он не фотоподобный и PNG с ним на удивление хорошо справился. Поиграйтесь, блин, на настоящей фотографии. Взятой с реалистичной камеры. И порассуждайте как там пнг зарулит жпега, ага. Всякие там шумы матрицы и прочая очень быстро посадят эффективность zlib-а до досадных величин. Сжатие в почти 7 раз - это очень здорово. Для многих real-world фоток все куда менее прикольно. А так поздравляю - png вы в общем то для вашей картинки довольно удачно выбрали. В семь раз сжать картинку - в любом случае весьма недурно.

А я вот например помучал взятый от балды RAW c моего n900. Обычное фото открытого пейзажа с удачной экспозицией (== почти нет пересвеченных или перетемненных областей). Весил в оригинале нежатого RAW 10.6Мб (11 126 703 байта). PNG удавил сие на 9-м уровне гимпа аж до 9 025 757 байтов. После оптимизации этого пнг тулсой optipng -o7 (полный перебор, как видите я не халтурил и приложил достойные усилия к оптимизации результата) - получил PNG весом в 8 915 646 байтов. Калькулятор информирует что это сжатие вышло чуть менее чем 1.25 к 1 :). Если даже сохранить RAW как 24bpp BMP, будет картинка весом около ~14 мегов. И даже если посчитать в удобном для вас допущении что нежатый оригинал был 14 меговым 24bpp BMP - все-равно, даже в 2 раза оно не сжалось опосля полного перебора всех вариантов компрессии, фильтров и т.п.. Ничего общего с вашим семикратным сжатием, не так ли? :) Как-то не сильно то дофига сжатия. С другой стороны, жпегом оно без особых искажений видимых на глаз удавливается до ~2.5-3Mb, что как-то более оптимистично. Я даже не пыжился с разными параметрами, epic win жпега в плане размер-качетво мне и так очевиден :)

> Слабо варьируется так как выставляется качество а не степень сжатия.

Во первых, будет и достаточно заметное. Скриншоты с четкими линиями станут очень мерзко смотреться в жпеге даже с качеством 90% а то и выше. При этом у них будет большой размер. И вот тут PNG сделает жпега с отрывом. А на фотках - ровно наоборот. Фотки можно сжать JPGом без видимых глазу изъянов намного сильнее. А вот PNG на них как раз подавится, сжать в 2 раза real world фотку - уже типа достижение.

>> Скорее он дает "квадратики".
> Теоретиг хренов! Найди не сжатую картинку и подсчитай цвета и подсчитай после
> сжатия, количество цветов может вырасти на порядок.

Все правильно - жпег со своими блоками засирает картинку. И может из 2-цветной черно-белой схемы легко сделать месиво разноцветных блоков при сильном сжатии :). Поэтому периодически очень хочется расстрелять бакланов которые схемы и простые скрины окон сохраняют в жпег вместо PNG. Цвета портятся и их становится больше. Выглядит на глаз сие крайне мерзко в случае line art и т.п. а размер жпега еще и крупнее чем вышел бы PNG (line art жмется zlib'ом на ура, разумеется).

Ответить | Правка | Наверх | Cообщить модератору

125. "Разработчики кодека x264 резко критикуют формат WebP, предло..."  +/
Сообщение от Sergey (??), 07-Окт-10, 08:10 
Хватит гнать пургу с умным видом. свои слова о:

"Только не в фотографиях. Фотографии zlib-овским сжатием жмутся никаковски, выигрыш в 2 раза - уже просто пипец какое счастье."

Подтвердить можем?

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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