Live data from Hacker News

BPG Image format

bellard.org

311–320 of 339 posts

Re: BPG Image format

#311
post #17

I notice the container has no ICC profile support. Trivial do add as an extension tag, but should definitely be in the first spec IMO. And if I read this correctly, extension tags are hardcoded as numbers, rather than using a tag name. I don't think that's a good idea.

The BPG spec says, "Arbitrary meta data (such as EXIF) are supported." This isn't good enough. Modern formats need to specify how ICC profile format information is to be embedded, under what circumstances, and smaller space alternatives (similar to DCF and EXIF color space tags). Otherwise this is like JFIF, where it's the ICC spec and not the JFIF spec that describes how ICC profiles are to be embedded. To replace JPEG and PNG, the BPG spec needs to define such things itself rather than deferring the work to others or making it optional. Image color space data isn't optional if high quality is to be taken seriously, and for that matter the encoding of copyright and image provenance information needs to be defined in the spec also.

Re: BPG Image format

#312
post #300

Earlier quoted context omitted.

That's far from indistinguishable to me. It's actually quite obvious that the BPG is blurring detail at that compression ratio. Edit: it's particularly noticeable in the wood grain patterns. Also, there's a soft grey dot to the left of the top of the lamp, 100px or so, that's entirely missing in the BPG. There are loads more examples... Edit again: the color saturation of the rug is pretty washed-out as well.

oops, I wasn't clear... it's meant as a giant background image, and the quality competes with really nasty jaggies that start appearing below ~100KB in size. Nobody will notice wood grain, a few missing details, etc.

> a giant background image

why would you do this

Re: BPG Image format

#313
post #148

The big story here is this introduces a new image file format without requiring you to upgrade a browser or download a plugin . Those aren't PNGs of representative images you're looking at - that's BPG decoding happening in your browser. So we don't like HVEC due to patent worries? Fine, we can swap in another format and use the same technique. We don't have an I-frame format for Daala that's finalized yet? Fine, we…

Does the javascript decoder download the images, or does the browser do that, then the javascript simply decode it? If it downloads them itself, then any parallel fetching by browsers will stop working. And if they are decoded by javascript, they will take (very slightly) longer, and both the encoded and decoded images need to be held in memory both in javascript, and the browser. Are they decoded to .bmp, .jpg, .png…

>> Does the javascript decoder download the images, or does the browser do that, then the javascript simply decode it?

Right now, it would appear that the with a hard reload of the demo: http://bellard.org/bpg/lena.html on chromium, the BPG images are initially loaded with the page, then the posts.js file scans through the page's images to find the ones who's src ends in '.bpg', then posts.js re-downloads the same files with ajax, which are then decoded to PNG files rendered in canvas tags with no identifying information.

The extra request to re-download images is unnecessary but easily removed to just process the data loaded with the initial page load.

>> Can CSS reference them without javascript changing the styles?

Not from what I can see. The images are being rendered to canvas elements without any identifying information. The decoder will need to be modified to add identifying id's or classes. This again is an easy fix.

>> Can they be cached locally if downloaded directly?

This is what I perceive to be an issue. Try downloading the image rendered to the 5kb bpg example... The image that is being rendered is a 427.5kb PNG and that's for a 512x512 image size.

PNGs aren't lossy... so any difference in file size is going to be the product of rendering size or how much the bpg compression has simplified the source image. ( I'm guessing the file size follows something like a logarithmic curve where it jumps initially based on rendered image dimensions and then approaches a limit as the compression approaches lossless. )

Because of the rendered out PNGs' large file size, I would expect that if you are rendering out large images or a lot of images, you would definitely use more resources than with comparable quality JPGs regardless of whether you cache the BPGs for rendering and you would indeed experience the drawbacks you mentioned in both memory and page-load time.

That being said, this is a cool idea, an incredible proof of concept and I'm very thankful to Fabrice for putting it out there.

Re: BPG Image format

#314
post #22

The results only show marginal improvement. What's needed is a compression method that doesn't introduce artifacts on hard edges, as JPEG does, but is otherwise no worse at compression than JPEG. Then we wouldn't need to do some things in JPEG and others in PNG, and we'd be spared the pain of JPEG screenshots. Much better results on the Tecnick image set (which is mostly hard edges) would indicate one had been found.…

The results only show marginal improvement. The improvement is far from marginal. In particular: ... I just tried to link you to a BPG image, and discovered that I can't. Well, I'm going to ignore that little flaw for the moment, because that's just a browser feature. If BPG catches on, that's sure to change. Anyway, the improvement is far from marginal: http://a.pomf.se/cdywsc.png In particular, look around her face…

Animation is frequently overused and unnecessary. If you're going to do animation, you should have to go through an animation-focused format.

Re: BPG Image format

#315
post #2

Don't we already have WebP?

Yes but webp hasn't taken off as much as some would like as a defacto standard. BPG looks good upon cursory inspection. It seems to be more efficient than WebP and supports 42-bit color. It also has .png's features of transparency and lossless compression although I didn't see anything mentioned about animation to replace .gif. Bonus: since it's based on h.265 hardware support will come naturally and should be just a…

I feel like if you're going to base an image format off a compression standard made for video, that animation is probably a short way off.

Re: BPG Image format

#316
post #216
post #17

I notice the container has no ICC profile support. Trivial do add as an extension tag, but should definitely be in the first spec IMO. And if I read this correctly, extension tags are hardcoded as numbers, rather than using a tag name. I don't think that's a good idea.

Is there a situation where 14-bit sRGB isn't enough? There are a lot of weird color matching issues on the web caused by inconsistent application of ICC profiles to PNG images by different browsers / platforms.

BPG supports CMYK, and to re-render CMYK correctly (on a display, or an inkjet printer) means ICC support is mandatory. Otherwise, there's no point supporting CMYK at all.

sRGB is designed for an 8 bit per channel encoding, so while it makes sense to support 10bpc to mitigate quantization effects of higher compression, it makes little sense to support more than 10bpc unless wider gamut spaces are supported. If the intent is for BPG to replace JPEG in-camera renderings, rather than converting existing JPEG and PNG to BPG, then it needs to support spaces other than sRGB. This doesn't require explicitly embedding ICC profiles but the spec needs to, well, specify at least one way of preserving this metadata. Otherwise there's no guidance for encoding or decoding the information, and then it's lost. And at that point it's a huge regression from what we have now, and thus no point in implementing it.

Re: BPG Image format

#317

Earlier quoted context omitted.

I'm a designer, can't read code, and I'm trying to see if I should evangelize this at work. Its better if you could communicate with us non-technical folk and post an answer that the previous guy asked so that we other designers can also understand.

If you're a designer, and don't understand the issues involved, you probably should refrain from evangelizing sub-1.0 versioned products.

Sounds like a plan. I don't need to be an early adopter

Re: BPG Image format

#318
post #19

I appreciate the historical tradition of using the photo of beautiful young Lena Söderberg as a test image, but it's time to move on. It's fun for us hetero males, but like it or not, this sends a message to young women that they aren't welcome in this field. I wish Fabrice Bellard would have left them out of the demo set. Having said that, all those demo photos do look good. I was wondering how we were going to see…

it's disconcerting how the PC movement in the west converges with the talliban movement in the middle east.

Re: BPG Image format

#319
post #296
post #290

Earlier quoted context omitted.

Sure, it could be objectification. It's pretty cut and dried in this case since the image was scanned from a magazine almost at random. The woman had no agency in the decision at all. Of course I'm going to attack that. Women are required to be beautiful or they are deemed worthless, or failures. So they put a lot of work into it from a fear of failure. Men can be beautiful too, especially to a woman's eye which you'…

>Women are required to be beautiful or they are deemed worthless, or failures. I am truly sad for you if that is the case in your enviroment, but please, please do not generalise like that.

Fortunately, it is not the case in my environment. But it is a dominant message.

Re: BPG Image format

#320
post #132

Earlier quoted context omitted.

The smallish downside of continuing with it may outweigh the very small upside. The image by itself might not be a big deal, but we're trying to disrupt the pattern of women being used only as objects, not perpetuate it.

No, the upside of continuing to use it is to show the politically correct bullies that we aren't afraid, and you aren't going to get everything you want.

CS enrollment is down. I think it's because the industry is full of inconsiderate assholes.
Post reply on HN