
www.Usenet.com
| <-- __Chronological__ --> | <-- __Thread__ --> |
On Wed, 3 Dec 2003 03:50:16 +0100, "Marton Anka" <marton at 03am dot com> wrote: >A good analogy would be screenshots: let's say you're writing an email and >you take screenshot, then take another one in 30 seconds. The difference >would usually be very small - only a few lines added, and no parts of the >image would move. However, you could also scroll the contents of the email >by two lines up between the two screenshots, in which case you'd have a fair >amount of movement to handle. Or you could drag the window you're writing >the email in 5 pixels up and 10 to the left - again, motion to detect. > >As I wrote, my initial approach - the generic binary diff - produces a >pretty small delta output when working with small string lengths, but the >time it takes to do so is way too long. While they don't recognize scrolled areas (AFAIK), the algorithms in VNC do a good job of minimizing updates for real-time transmission of screen changes. VNC source code may be a good place to look for ideas: http://www.realvnc.com If it's necessary for what you're doing, recognizing horizontally or vertically moving areas would not be all that difficult (though it would require a lot of additional CPU time). Detecting objects moving in arbitrary directions would be particularly expensive. - Sev
| <-- __Chronological__ --> | <-- __Thread__ --> |