Re[12]: Удалённо: С++/С# разработчики
От: lboss Россия  
Дата: 25.05.09 01:21
Оценка:
Здравствуйте, bobik123, Вы писали:

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



B>А как черный цвет на исходной картинке от черного цвета в результате XOR? Или я что-то недопонял?


Хм... если на исходной картинке и на новой картинке цвета совпадают, то в результате XOR получится 0 — то есть черный цвет. Свойством операции XOR является не потеря данных: то есть если Вы к получившейся картинке сделаете операцию XOR с оригинальной, то вы получите текущую картинку. От сюда получается: надо один раз передать базовую картинку, а потом для передачи новой картинки, делать XOR с базовой — в результате в местах которые не поменялись будет черный цвет, который хорошо сожмётся при передаче. На стороне клиента надо будет просто сделать XOR и базовой картинкой и получите текущую.

В реальности, есть пару но: 1. если сжимать jpeg или чем-то похожим, то там будет потеря цвета, в результате картинка на клиенте будет плыть — придётся периодически пересылать базовую картинку целиком, 2. чтобы не накапливать разницу, надо базовую картинку всё время менять на текущую. Но тут возникают сложности такого порядка: по идее если вы транслируете потоковое видео, то разные клиенты с разной скоростью принимают данные. И хорошо бы было пропускать кадры в середине если клиент медленный... В общем если интересно — об этом проще почитать.
С уважением Вадим.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.