Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.01.2013, 23:04   #1
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию Передача массива данных "сжатым" образом.

Всем еще раз доброго.
Есть некий массив (по факту фотография). Массив меняется время от времени. Иногда в нем меняется только какая-то часть иногда он меняется весь. Время изменения динамическое (может вообще не меняться).
Я этот массив передаю в сеть. Пока что, скажем, раз в секунду.
Поскольку сеть слабенькая, есть большое желание ужимать массив с незначительными потерями (допустакется) или передавать только его часть, ту которая изменилась.
Поскольку массив может быть не маленьким (ну допустим фотка скажем 7000х7000 pixels, утрирую конечно но допустим...) проход по нему для определения может занять время.

Хотелось бы знать какие есть алгоритмы, которые наиболее подошли бы для такого "сжатия". Если что предпочтительно на основе Виндовса.

Как вообще лучше всего анализировать такой массив?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.01.2013, 23:21   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

тимвивер, например, передает кусками в принципе.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 31.01.2013, 14:36   #3
Anonymous1235
Пользователь
 
Регистрация: 30.01.2013
Сообщений: 10
По умолчанию

1) В каком формате хранится фотография?
2) Как передаётся массив? Полностью или только изменённая часть
Anonymous1235 вне форума Ответить с цитированием
Старый 31.01.2013, 15:58   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
В каком формате хранится фотография?
Не важно. Допустим в самом гадосном - BMP без сжатия
Цитата:
Как передаётся массив? Полностью или только изменённая часть
Всмысле?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 31.01.2013, 16:10   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А че не важно. Важно, тот же гадостный bmp в jpеg преобразовать. Да и степень сжатия двоичных файлов архиваторами может сильно зависеть от типа файла

ZLib в памяти может сжимать
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 31.01.2013 в 16:19.
Аватар вне форума Ответить с цитированием
Старый 31.01.2013, 16:15   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Так в том то и дело, что JPG ужмется не очень хорошо. Бывают случаи когда битмап сжимается сильнее.
Ну хорошо - два пути: Джипег и Битмап. Два разных алгоритма?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 31.01.2013, 16:16   #7
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

где-то на delphisources был исходник передачи экрана(снимка) по сетке суть в том в что там использовалось и сжатие и передача по частям..если найду выложу исходник..(p.s пример работал очень быстро)))

Нашел
Вложения
Тип файла: rar Remote_Screen_old.rar (1.35 Мб, 11 просмотров)

Последний раз редактировалось Кольша; 31.01.2013 в 16:24.
Кольша вне форума Ответить с цитированием
Старый 31.01.2013, 16:36   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А jpeg и не ужмется практически, он уже архив, как и остальные графические форматы. Кроме bmp. Можно оценить как png и gif будут себя вести по отношению к той фотке, возможно и меньше будут джипега
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 31.01.2013, 16:48   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вот поэтому я и думаю как бы выкрутится чтоб и рыбку съесть и косточкой не подавится. Продумаю сейчас работу с масками - дабы не передавать пиксели (или еще лучше линии), которые не изменились. может удастся в скорости выиграть.

Цитата:
Кольша
Вот вот. И я к такой идее пришел. Просто пока не оформил в голове четко. Да и вдруг есть какие другие способы.
I'm learning to live...

Последний раз редактировалось Stilet; 31.01.2013 в 16:51.
Stilet вне форума Ответить с цитированием
Старый 31.01.2013, 17:45   #10
Anonymous1235
Пользователь
 
Регистрация: 30.01.2013
Сообщений: 10
По умолчанию

Если у тебя хранится в BMP, то конечно лучше конвертнуть в JPEG или PNG.

Если я правильно тебя понял, то тебе надо сделать что-то типа этого:
-Каждую секунду:
--Конвертнуть массив в JPEG(или PNG)
--Сверить со старым массивом. Если изменился, то
---Найти отличие и запихнуть его в отдельный массив.
---Отправить эти самые отличия с информацией куда их надо запихнуть.
---Изменить "старый" массив на новый.
--Если нет, то отдыхаем.
-????
-PROFIT

Всё это целиком можно найти в сети. Ну или по частям.
Anonymous1235 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать класс "Фигура", от него наследованием создать 3 класса ("треугольник", "четырехугольник", "окружность") funnyy Помощь студентам 3 17.10.2012 17:40
Передача данных с coockie в поле формы (input type="text") Olegzxc PHP 1 10.07.2011 14:36
Как "повесить " передачу данных из формы на событие нажатия кнопки типа "button" ? vedro-compota JavaScript, Ajax 10 14.12.2010 21:05
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04