Сжатие изображений - алгоритм требуется
От: Unhandled_Exception Россия  
Дата: 20.07.05 06:32
Оценка:
Всем привет!
Обнаружилась задачка — быстро сжимать картинки. Требования расплывчатые, но все равно интересно мнение общественности. Картинки размером где-то 640 x 480, 32 bpp. Сжимать надо уметь быстро: 30 картинок в секунду, сжатия раза в 4 будет достаточно. Пробовал zlib — отказался: сжимает хорошо, но долго. Возможно, кто-нибудь слышал об оптимизированом zlib'е — с помощью mmx или еше чего-нибудь — тогда поделитесь ссылками, пожалуйста.
Всем спасибо!
Re: Сжатие изображений - алгоритм требуется
От: Sergey A. Sablin Россия http://www.elecard.com
Дата: 20.07.05 06:37
Оценка:
Здравствуйте, Unhandled_Exception, Вы писали:

U_E> Всем привет!

U_E> Обнаружилась задачка — быстро сжимать картинки. Требования расплывчатые, но все равно интересно мнение общественности. Картинки размером где-то 640 x 480, 32 bpp. Сжимать надо уметь быстро: 30 картинок в секунду, сжатия раза в 4 будет достаточно. Пробовал zlib — отказался: сжимает хорошо, но долго. Возможно, кто-нибудь слышал об оптимизированом zlib'е — с помощью mmx или еше чего-нибудь — тогда поделитесь ссылками, пожалуйста.
U_E> Всем спасибо!

http://neuron2.net/www.math.berkeley.edu/benrg/huffyuv.html — беспотерьное сжатие видео в реалтайме.
Сергей.
Re: Сжатие изображений - алгоритм требуется
От: pangolin  
Дата: 20.07.05 06:41
Оценка:
Здравствуйте, Unhandled_Exception, Вы писали:

U_E> Всем привет!

U_E> Обнаружилась задачка — быстро сжимать картинки. Требования расплывчатые, но все равно интересно мнение общественности. Картинки размером где-то 640 x 480, 32 bpp. Сжимать надо уметь быстро: 30 картинок в секунду, сжатия раза в 4 будет достаточно. Пробовал zlib — отказался: сжимает хорошо, но долго. Возможно, кто-нибудь слышал об оптимизированом zlib'е — с помощью mmx или еше чего-нибудь — тогда поделитесь ссылками, пожалуйста.
U_E> Всем спасибо!

Судя по коэффициенту компрессии сжатие идет с потерями качества (без потерь качества такую компрессию на реальных картинках достичь очень сложно)

Можно попробовать вейвлеты CDF22 с лифтинговой схемой с однородным квантованием и останется только найти быстрый арифметик.
Re[2]: Сжатие изображений - алгоритм требуется
От: pangolin  
Дата: 20.07.05 06:46
Оценка:
Здравствуйте, Sergey A. Sablin, Вы писали:

SAS>Здравствуйте, Unhandled_Exception, Вы писали:


U_E>> Всем привет!

U_E>> Обнаружилась задачка — быстро сжимать картинки. Требования расплывчатые, но все равно интересно мнение общественности. Картинки размером где-то 640 x 480, 32 bpp. Сжимать надо уметь быстро: 30 картинок в секунду, сжатия раза в 4 будет достаточно. Пробовал zlib — отказался: сжимает хорошо, но долго. Возможно, кто-нибудь слышал об оптимизированом zlib'е — с помощью mmx или еше чего-нибудь — тогда поделитесь ссылками, пожалуйста.
U_E>> Всем спасибо!

SAS>http://neuron2.net/www.math.berkeley.edu/benrg/huffyuv.html — беспотерьное сжатие видео в реалтайме.


боюсь сжатие в 4 раза на 32bpp она очень редко даст.
Re[3]: Сжатие изображений - алгоритм требуется
От: Sergey A. Sablin Россия http://www.elecard.com
Дата: 20.07.05 06:54
Оценка:
Здравствуйте, pangolin, Вы писали:

P>Здравствуйте, Sergey A. Sablin, Вы писали:


SAS>>Здравствуйте, Unhandled_Exception, Вы писали:


U_E>>> Всем привет!

U_E>>> Обнаружилась задачка — быстро сжимать картинки. Требования расплывчатые, но все равно интересно мнение общественности. Картинки размером где-то 640 x 480, 32 bpp. Сжимать надо уметь быстро: 30 картинок в секунду, сжатия раза в 4 будет достаточно. Пробовал zlib — отказался: сжимает хорошо, но долго. Возможно, кто-нибудь слышал об оптимизированом zlib'е — с помощью mmx или еше чего-нибудь — тогда поделитесь ссылками, пожалуйста.
U_E>>> Всем спасибо!

SAS>>http://neuron2.net/www.math.berkeley.edu/benrg/huffyuv.html — беспотерьное сжатие видео в реалтайме.


P>боюсь сжатие в 4 раза на 32bpp она очень редко даст.


Ну если жать с потерями, то перевод картинки в YUV и даунсампл в два раза цветоразностей уже дает сжатие в два раза всей картинки (кстати альфа-канал вообще используется или так просто для погоды присутствует?). Потом huffyuv. В три раза не шумное изображение сожмет адназначна.
Сергей.
Re: Сжатие изображений - алгоритм требуется
От: DoС  
Дата: 20.07.05 12:20
Оценка:
Здравствуйте, Unhandled_Exception, Вы писали:

U_E> Всем привет!

U_E> Обнаружилась задачка — быстро сжимать картинки. Требования расплывчатые, но все равно интересно мнение общественности. Картинки размером где-то 640 x 480, 32 bpp. Сжимать надо уметь быстро: 30 картинок в секунду, сжатия раза в 4 будет достаточно. Пробовал zlib — отказался: сжимает хорошо, но долго. Возможно, кто-нибудь слышал об оптимизированом zlib'е — с помощью mmx или еше чего-нибудь — тогда поделитесь ссылками, пожалуйста.
U_E> Всем спасибо!
Как вариант формат DXT1(это из DirectX) дает сжатие(с потерями) в 8-раз любой картинки, правда требуется чтобы размеры картинки были кратны степени двойки.
Насчет скорости сжатия не знаю, не тестировал.

Использовть можно с помощью DirectX, или с помощью nvDXTLib (лежит гдето здесь )
... << RSDN@Home 1.1.4 stable rev. 510>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.