Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сжатие изображения desktop(a), Сжатие изображения desktop(a) 
:(
    Опции темы
val
  Дата 18.8.2006, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Program developer
**


Профиль
Группа: Участник Клуба
Сообщений: 992
Регистрация: 14.1.2003
Где: г. Киев

Репутация: 1
Всего: 7



Привет всем!
Не подскажет ли уважаемая публика, какие есть алгоритмы,  специализирующиеся на сжатии изображения десктопа, то есть совокупности видимых окон с соответствующими им внутренностями? Потребность в специализированном алгоритме возникла по причине того, что для решения этой задачи Jpg и Gif не совсем подходят, так как работают крайне плохо, а классический ZIP из-за своей сложности перегружает компьютер, но тем не менее при этом выдаёт самые хорошие результаты.
Спасибо за ответы.



--------------------
Терпимость - величайшее благо человечества...
Ярчайший признак интеллекта – постоянно хорошее настроение…
PM MAIL ICQ   Вверх
DemoCode
Дата 18.8.2006, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 890
Регистрация: 20.10.2005
Где: Россия

Репутация: 2
Всего: 41



Цитата(val @  18.8.2006,  19:02 Найти цитируемый пост)
а классический ZIP из-за своей сложности перегружает компьютер

можно делать это в отдельном потоке с низким приоритетом, тогда не будет "перегружать".


--------------------
Жить стало лучше, жить стало веселей
© И.В. Сталин 
PM MAIL ICQ   Вверх
sergejzr
Дата 18.8.2006, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 4
Всего: 360



Насколько я знаю, так как окошки прямоугольные, только их координаты + вектор перемещения + "свежеоткрытые" части передаются. 
Ну и кубик вокруг стрелочки.

Насчёт формата передачи изображений..
ЙПЕГ колбасит резкие переходы, гиф убивает цврета в фотографиях. Попробуй  PNG,  хотя он тоже бьёт цвета иногда, но это будет лучшей альтернативой гифам и жпегам. 
Ну наверное то, что при минимум изменений передавать надо минимум данных, ты и сам знаешь..
 Можно кэшить изображения не клиенте..


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Romikgy
Дата 18.8.2006, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 1
Всего: 146



PNG 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
allex
Дата 18.8.2006, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 5.9.2005

Репутация: нет
Всего: нет



val
Что значит Jpg и Gif плохо работают? Jpg понятно, он с потерями. Gif ограничен 256 цветами, но для скриншотов офисных приложений и IDE этого обычно вполне достаточно. Странно, что Gif умудряется жать хуже, чем Zip - по идее, при уменьшении количества цветов отбрасывается часть информации и Gif должен получиться меньше. Особенно, если учесть, что в Gif тоже LZW алгоритм сжатия используется. Если нужен алгоритм сжатия без потерь и с бОльшим, чем у Gif количеством цветов - то PNG. 
А ещё можно посмотреть на то, что используется в VNC - навскидку в UltraVNC вижу ZRLE, Zlib, Hextile...

PM MAIL   Вверх
val
Дата 19.8.2006, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Program developer
**


Профиль
Группа: Участник Клуба
Сообщений: 992
Регистрация: 14.1.2003
Где: г. Киев

Репутация: 1
Всего: 7



DemoCode
Цитата

можно делать это в отдельном потоке с низким приоритетом, тогда не будет "перегружать". 


Тогда скорость упаковки будет медленная, а мне жлательно хотя бы 5-6 фреймов в секунду обеспечить.   

Цитата

Что значит Jpg и Gif плохо работают?


Обеспечивают низкий уровень сжатия.

Цитата

Странно, что Gif умудряется жать хуже, чем Zip - по идее, при уменьшении количества цветов отбрасывается часть информации и Gif должен получиться меньше. Особенно, если учесть, что в Gif тоже LZW алгоритм сжатия используется.


На самом деле на вход поступают 2 256-ти цветные картинки, по-этому  и ZIP и выигрывает.


--------------------
Терпимость - величайшее благо человечества...
Ярчайший признак интеллекта – постоянно хорошее настроение…
PM MAIL ICQ   Вверх
esperant0
Дата 19.8.2006, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 714
Регистрация: 20.5.2005

Репутация: 4
Всего: 14



Цитата(val @ 19.8.2006,  09:53)
DemoCode
Цитата

можно делать это в отдельном потоке с низким приоритетом, тогда не будет "перегружать". 


Тогда скорость упаковки будет медленная, а мне жлательно хотя бы 5-6 фреймов в секунду обеспечить.   

Цитата

Что значит Jpg и Gif плохо работают?


Обеспечивают низкий уровень сжатия.

Цитата

Странно, что Gif умудряется жать хуже, чем Zip - по идее, при уменьшении количества цветов отбрасывается часть информации и Gif должен получиться меньше. Особенно, если учесть, что в Gif тоже LZW алгоритм сжатия используется.


На самом деле на вход поступают 2 256-ти цветные картинки, по-этому  и ZIP и выигрывает.

Что значит Джпег - плохой уровень сжатия. Уровень сжатия джпег регулируется пользователем. Поставьте максимальное сжатие и поверьте будет намногно круче зипа сжиматься.


--------------------
 
 Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer 

Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором  а затем стерто и которое он - пользователь не мог видеть. 
PM MAIL   Вверх
maxim1000
Дата 19.8.2006, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



xor каждого фрейма с предыдущим делается?
(или какое-то более интеллектуальное выделение изменений)


--------------------
qqq
PM WWW   Вверх
val
Дата 19.8.2006, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Program developer
**


Профиль
Группа: Участник Клуба
Сообщений: 992
Регистрация: 14.1.2003
Где: г. Киев

Репутация: 1
Всего: 7



Цитата

Что значит Джпег - плохой уровень сжатия. Уровень сжатия джпег регулируется пользователем. Поставьте максимальное сжатие и поверьте будет намногно круче зипа сжиматься. 


Да, уточню, плохой уровень сжатия при требуемом качестве изображения.

Цитата

xor каждого фрейма с предыдущим делается?


Смысла нет, так как картинки уже 8-ми битные. Поверил, толку - нет, только дополнительный потери времени.

Добавлено @ 12:46 
Цитата

(или какое-то более интеллектуальное выделение изменений)


Вот в этом и заковыка, какое именно интеллектуальное выделение изменений, приходиться всё равно по всем пикселям бегать, ах их немало...  smile 

Это сообщение отредактировал(а) val - 19.8.2006, 12:47


--------------------
Терпимость - величайшее благо человечества...
Ярчайший признак интеллекта – постоянно хорошее настроение…
PM MAIL ICQ   Вверх
Romikgy
Дата 19.8.2006, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 1
Всего: 146



Цитата(val @  19.8.2006,  11:44 Найти цитируемый пост)
Смысла нет

смысл есть, через xor можно решить какая часть кортинки изменилась и передавать только изменение!!!!
Если на экране будет картинка статична (пошли покурить ) то передаватся вообще ничего не будет, 
вот это сжатие, а !


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
val
Дата 19.8.2006, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Program developer
**


Профиль
Группа: Участник Клуба
Сообщений: 992
Регистрация: 14.1.2003
Где: г. Киев

Репутация: 1
Всего: 7



Цитата

смысл есть, через xor можно решить какая часть кортинки изменилась и передавать только изменение!!!!


Идея конечно неплохая, мы её пробовали, но если брать картинку 1024 * 768 имеем 786432 пикселя, тоесть такое вот большое количество ксоров, но и это не проблема, проблема в том, как выделить эту область, которая изменилась. Не буду же отправлять в сети каждый изменившийся пиксель и его координаты?!


--------------------
Терпимость - величайшее благо человечества...
Ярчайший признак интеллекта – постоянно хорошее настроение…
PM MAIL ICQ   Вверх
Romikgy
Дата 19.8.2006, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 1
Всего: 146



Цитата(val @  19.8.2006,  12:20 Найти цитируемый пост)
выделить эту область, которая изменилась

после ксора все что было одинаковым станет равным 0
я думаю не будет большой проблемой определить из массива чисел где 0 а где не 0, и после определить координаты изменившейся части окна

Цитата(val @  19.8.2006,  12:20 Найти цитируемый пост)
буду же отправлять в сети каждый изменившийся пиксель и его координаты?! 

нет только коорд. верхней левой точки и размер самого изменения , ну и за ним уже саму картинку 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
val
Дата 19.8.2006, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Program developer
**


Профиль
Группа: Участник Клуба
Сообщений: 992
Регистрация: 14.1.2003
Где: г. Киев

Репутация: 1
Всего: 7



Цитата

нет только коорд. верхней левой точки и размер самого изменения , ну и за ним уже саму картинку  


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


--------------------
Терпимость - величайшее благо человечества...
Ярчайший признак интеллекта – постоянно хорошее настроение…
PM MAIL ICQ   Вверх
Romikgy
Дата 19.8.2006, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 1
Всего: 146



Цитата(val @  19.8.2006,  12:48 Найти цитируемый пост)
нелинейные их последовательности?! 

Хде ты такое на экране видел?
имхо всеравно надо передавать прямоугольники


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
val
Дата 19.8.2006, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Program developer
**


Профиль
Группа: Участник Клуба
Сообщений: 992
Регистрация: 14.1.2003
Где: г. Киев

Репутация: 1
Всего: 7



Цитата

Хде ты такое на экране видел?
имхо всеравно надо передавать прямоугольники 


Ну там самая примитивная анимация ( smile )

Кроме того, каким, на Ваш взглят, может быть критерий выбора прямоугольников при нелинейном расположении изменившихся пикселей?

Это сообщение отредактировал(а) val - 19.8.2006, 13:57


--------------------
Терпимость - величайшее благо человечества...
Ярчайший признак интеллекта – постоянно хорошее настроение…
PM MAIL ICQ   Вверх
Romikgy
Дата 19.8.2006, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 1
Всего: 146



Цитата(val @  19.8.2006,  12:56 Найти цитируемый пост)
на Ваш взглят

на наш взлят (smile) как выше писалось уже 
верхняя левая точка изменения и нижняя правая

Цитата(val @  19.8.2006,  12:56 Найти цитируемый пост)
Ну там самая примитивная анимация 

это к чему?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
maxim1000
Дата 19.8.2006, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



xor я предлагал для gif, не для zip
для zip кроме залезания в его исходники и оптимизации по скорости там (скорее всего, за счёт степени сжатия) лично я другого пути не вижу
касательно gif, как я понял, скорость удовлетворительная, но степень сжатия недостаточная, так что можно попробовать сделать какие-то дополнительные действия дляеё улучшения (раз запас по времени есть)
одно из этих действий - xor:

1. сжатие должно увеличиться, т.к. (как уже было сказано) все неизменившиеся точки он переведёт в 0, это приведёт к тому, что те участки, которые в исходном виде сжимались плохо (границы окон, текстуры) после xor'а будут сжиматься значительно лучше, тут даже не надо выделять прямоугольники, содержищие изменения...

2. скорость: gif в обязательном порядке должен обработать каждый пиксел, при чём алгоритм его обработки значительно сложнее xor'а, потому мне кажется (измерений не проводил), что время, занимаемое xor'ом будет значительно меньше времени, занимаемого gif'ом, так что сумма изменится ненамного

вот...


--------------------
qqq
PM WWW   Вверх
maxim1000
Дата 19.8.2006, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



сделал небольшой тестик:
взял 2 массива из 786432 байт, проксорил их (записывая в третий)
получилось около 0.009 секунды (VC++2005, без оптимизации)


--------------------
qqq
PM WWW   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.1065 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.