Re: [Wikitech-l] Exploring VP9 as a progressive still image codec

2016-06-14 Thread Mukunda Modell
This is really cool Brion. Clever idea and it could be really beneficial.

It seems like something that might see even more benefits if native support
was baked into the browser instead of implementing it as a sort of
javascript hack, but it might be a good enough hack to be worthwhile even
without native support in browsers.

Kudos. I don't have much to offer other than enthusiasm but I'm hoping that
is ever so slightly more helpful than silence.

On Tue, Jun 14, 2016 at 9:19 PM, Brion Vibber  wrote:

> I spent some time between projects today exploring the idea of progressive
> image decoding using the VP9 video codec -- sort of a mashup of progressive
> JPEG and WebP.
>
> Like a progressive JPEG, each resolution step (a separate frame of the
> "video") encodes only the differences from the previous resolution step.
> Like WebP, it's more space-efficient than the ancient JPEG codec.
>
> This sort of technique might be useful for lazy-loading images in our
> modern internet, where screen densities keep going up and network speeds
> can vary by a factor of thousands. On a slow network the user sees
> immediate feedback during load, and on a fast network they can reach full
> resolution quickly, still in less bandwidth than a JPEG. And since JS would
> have control of loading, we can halt cleanly if the image scrolls
> offscreen, or pick a maximum resolution based on actual network speed.
>
>
> Detail notes on my blog:
>
> https://brionv.com/log/2016/06/14/exploring-vp9-as-a-progressive-still-image-codec/
>
> Sample page if you just want to look at some decoded images at various
> resolutions (loading not optimized for slow networks yet!):
> https://media-streaming.wmflabs.org/pic9/
>
>
> It looks plausible, and should be able to use native VP9 decoding in
> Firefox, Chrome, and eventually MS Edge in some configurations with a
> JavaScript fallback for Safari/etc. Currently my demo just plops all the
> frames into a single .webm, but to avoid loading unneeded high-resolution
> frames they should eventually be in separate files.
>
> -- brion
> ___
> Wikitech-l mailing list
> Wikitech-l@lists.wikimedia.org
> https://lists.wikimedia.org/mailman/listinfo/wikitech-l
___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

[Wikitech-l] Exploring VP9 as a progressive still image codec

2016-06-14 Thread Brion Vibber
I spent some time between projects today exploring the idea of progressive
image decoding using the VP9 video codec -- sort of a mashup of progressive
JPEG and WebP.

Like a progressive JPEG, each resolution step (a separate frame of the
"video") encodes only the differences from the previous resolution step.
Like WebP, it's more space-efficient than the ancient JPEG codec.

This sort of technique might be useful for lazy-loading images in our
modern internet, where screen densities keep going up and network speeds
can vary by a factor of thousands. On a slow network the user sees
immediate feedback during load, and on a fast network they can reach full
resolution quickly, still in less bandwidth than a JPEG. And since JS would
have control of loading, we can halt cleanly if the image scrolls
offscreen, or pick a maximum resolution based on actual network speed.


Detail notes on my blog:
https://brionv.com/log/2016/06/14/exploring-vp9-as-a-progressive-still-image-codec/

Sample page if you just want to look at some decoded images at various
resolutions (loading not optimized for slow networks yet!):
https://media-streaming.wmflabs.org/pic9/


It looks plausible, and should be able to use native VP9 decoding in
Firefox, Chrome, and eventually MS Edge in some configurations with a
JavaScript fallback for Safari/etc. Currently my demo just plops all the
frames into a single .webm, but to avoid loading unneeded high-resolution
frames they should eventually be in separate files.

-- brion
___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l