Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

colanderman: I'm almost certain that the resulting vector files will be much smaller, because the algorithm substitutes subtle and complex color variations with much simpler color gradients that are only approximately similar and therefore have much less actual information content.

PS. Note that the resulting vector files are not just smaller, but the drawing elements contained in them are by definition resolution-independent, so all curves, diagonal lines, and gradients will render beautifully and without artifacts at all image sizes.

PPS. Also, note that music notation has no color gradients.



Yes, but I can achieve roughly the same effect (reducing information content) with JPEG by reducing the image size or reducing the quality parameter. That's not an advantage that's unique to this vector transformation, much less an advantage it has over JPEG.

Now it may be the case that "compressing" an image with this vector transformation results in less noticeable quality loss than a similar quality reduction with JPEG; but then I'd ask to see a comparison to more advanced image compression methods such as APT: http://intuac.com/userport/john/apt/


Re: PS: Yes, I understand that, and I'm purposefully ignoring it because that information would only help my argument. Vector drawing elements are richer than raster drawing elements and hence tend to contain more information (e.g. "exactly how sharp is that edge?).

And you will get artifacts going from raster->vector->zoom, because the raster->vector algorithm necessarily infers information that is simply not present (i.e. beyond the Nyquist boundary). While typically not apparent at 100% zoom, inaccuracies in this inference will become apparent once you zoom in (e.g. "that pixel was meant to represent a perfect square, not a circle!").

Re: PPS: I never claimed it did? Music notation is bi-level and smooth edges that makes it well-suited for vector tracing with a bi-level tracer e.g. potrace (and therefore -- again -- aiding your argument). Comparing a CCITTv4 bitmap -- a bi-level format -- to vector output from potrace -- a bi-level tracer -- would make no sense with color gradients.

In case it's not clear, I'm making the analogy CCITTv4 : potrace :: JPEG : the diffusion curve algorithm.


colanderman: Yes, I understand the analogy you're making.

Your example of a pixel "meant to represent a perfect square, not a circle" is accurate: that is one type of information that gets discarded with this approach. Another type of information that gets discarded is complex/subtle color gradients/variations.

Taken to the extreme, yes, this approach can make photos look like stylized comic-book drawings; but with sensible defaults, it produces resolution-independent images that look great (such as the example with the dolphin) even if those images actually contain LESS information than a JPEG at the same file size.

We'll have to wait and see...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: