Page MenuHomePhabricator

Support format bpg in Wikimedia Commons
Closed, DeclinedPublic

Description

Hi,

BPG (Better Portable Graphics, http://bellard.org/bpg/) is a new image format. Its purpose is to replace the JPEG image format when quality or file size is an issue. Its main advantages are:

High compression ratio. Files are much smaller than JPEG for similar quality.
Supported by most Web browsers with a small Javascript decoder (gzipped size: 76 KB).
Based on a subset of the HEVC open video compression standard.
Supports the same chroma formats as JPEG (grayscale, YCbCr 4:2:0, 4:2:2, 4:4:4) to reduce the losses during the conversion. An alpha channel is supported. The RGB, YCgCo and CMYK color spaces are also supported.
Native support of 8 to 14 bits per channel for a higher dynamic range.
Lossless compression is supported.
Various meta data (such as EXIF) can be included.

I think that this format would save maintenance costs, speed, in addition to improving the quality of the images of commons.

Related Objects

StatusSubtypeAssignedTask
OpenNone
DeclinedNone

Event Timeline

Wilfredor raised the priority of this task from to Medium.
Wilfredor updated the task description. (Show Details)
Wilfredor added a project: CommonsMetadata.
Wilfredor changed Security from none to None.
Wilfredor subscribed.

What tools support BPG? E.g. can you use imagemagick to scale it / convert it to JPEG? (And if so, from which version?) Does GD handle it? VIPS?

What's the browser support for client-side decoding? Does that work on mobile devices? What's the overhead?

On a first glance, this might be more interesting for mobile, as highly lossy compression is where BPG beats JPEG the most.

*Mozilla did a study of various lossy compressed image formats. HEVC (hence BPG) was a clear winner by a wide margin http://people.mozilla.org/~josh/lossy_compressed_image_study_july_2014/. BPG files are actually a little smaller than raw HEVC files because the BPG header is smaller than the corresponding HEVC header.
*BPG natively supports 8 to 14 bits per channel when most other formats use 8 bits (including most of the JPEG implementations and WEBP). It gives a higher dynamic range (which is important for cameras and new displays) and a slightly better compression ratio (because there are less rounding errors in the decoder).
*BPG uses high quality decimation (10 tap Lanczos filter) and interpolation (7 tap Lanczos filter) to handle the chroma samples in 4:2:2 and 4:2:0 formats.
*BPG can be supported in hardware with standard HEVC decoders and encoders (it uses a subset of the Main 4:4:4 16 Still Picture Profile, Level 8.5).

Aklapper lowered the priority of this task from Medium to Lowest.Jan 12 2015, 6:23 PM

Questions in T84943#934372 are still unanswered...

brooke subscribed.

Being HEVC-based, BPG would presumably be patent-encumbered and thus unusuable for us until some time years in the future unless MPEG-LA and HEVC Advance change their licensing policies. I'm going to go ahead and mark this 'declined' for now.