Half-float compression format

14 views
Skip to first unread message

Matt Sarett

unread,
Sep 12, 2016, 1:56:50 PM9/12/16
to WebP Discussion, Brian Osman, Mike Klein
Hi Webp-Discuss,

The Skia team has been working towards support for color-gamut and gamma-correct rendering.  As part of this effort, we've adopted the RGBA_Float16 (64-bit, linear gamma) format as a higher-precision option for images and surfaces.

We currently have a need to encode/decode F16 (likely premul) and have recently been discussing how we might do this.  Before moving ahead, I wanted to ask if this is something that webp might be interested in?

I realize that Float16 is not really similar to the formats that webp currently supports, but I do think that, in general, there is a need for a higher precision format and that Float16 is fairly universal and interesting.  Let me know what you think!

Best,
Matt

Pascal Massimino

unread,
Sep 27, 2016, 1:16:34 AM9/27/16
to WebP Discussion, Brian Osman, Mike Klein
Hi Matt,

On Mon, Sep 12, 2016 at 10:56 AM, 'Matt Sarett' via WebP Discussion <webp-d...@webmproject.org> wrote:
Hi Webp-Discuss,

The Skia team has been working towards support for color-gamut and gamma-correct rendering.  As part of this effort, we've adopted the RGBA_Float16 (64-bit, linear gamma) format as a higher-precision option for images and surfaces.

We currently have a need to encode/decode F16 (likely premul) and have recently been discussing how we might do this.  Before moving ahead, I wanted to ask if this is something that webp might be interested in?

I'm curious, what kind of compression is considered tolerable for float16? How do one assess the 'quality' of the compression? (esp. in the light of gamma-corrected rendering). Any reference to suggest?


I realize that Float16 is not really similar to the formats that webp currently supports, but I do think that, in general, there is a need for a higher precision format and that Float16 is fairly universal and interesting.  Let me know what you think!

Agreed. Also, compressing textures often requires storing float-like data (like normal maps or reflectance maps), so that's definitely something to consider for a future format improvement.

skal/
Reply all
Reply to author
Forward
0 new messages