View text source at Wikipedia


Better Portable Graphics

Better Portable Graphics
Filename extension
.bpg
Internet media typeimage/bpg, image/x-bpg
Magic number42 50 47 fb
Initial release2014 (2014)
Latest release
0.9.8
21 April 2018; 6 years ago (2018-04-21)
Type of formatlossy/lossless bitmap image format
Extended fromHEVC
Open format?Yes
Websitebellard.org/bpg

Better Portable Graphics (BPG) is a file format for coding digital images, which was created by programmer Fabrice Bellard in 2014. He has proposed it as a replacement for the JPEG image format as the more compression-efficient alternative in terms of image quality or file size.[1] It is based on the intra-frame encoding of the High Efficiency Video Coding (HEVC) video compression standard.[2] Tests on photographic images in July 2014 found that BPG produced smaller files for a given quality than JPEG, JPEG XR and WebP.[3]

The format has been designed to be portable and work in low memory environments, and used in portable handheld and IoT devices, where those properties are particularly important. Current research works on designing and developing more energy-efficient BPG hardware which can then be integrated in portable devices such as digital cameras.[4][5]

While there is no built-in native support for BPG in any mainstream browsers, websites can still deliver BPG images to all browsers by including a JavaScript library written by Bellard.[1] Others followed Bellard's idea and created the AVIF image format based on the AV1 video codec, which is patent free and therefore got implemented in browsers.

Origin in HEVC

[edit]

HEVC has several profiles defined for extending its intra-frame encoding to still images at various bit depths and color formats, including "Main Still Picture," "Main 4:4:4 Still Picture," and "Main 4:4:4 16 Still Picture profiles." BPG is a wrapper for the "Main 4:4:4 16 Still Picture" profile up to 14 bits per sample.

Specifications

[edit]

BPG's container format is intended to be more suited to a generic image format than the raw bitstream format used in HEVC (which is otherwise ordinarily used within some other wrapper format, such as the .mp4 file format).[2][6]

BPG supports the color formats known as 4:4:4, 4:2:2, and 4:2:0.[2] Support for a separately coded extra channel is also included for an alpha channel or the fourth channel of a CMYK image.[2] Metadata support is included for Exif, ICC profiles, and XMP.[2]

Color space support is included for YCbCr with ITU-R BT.601, BT.709, and BT.2020 (non-constant luminance) definitions, YCgCo, RGB, CMYK, and grayscale.

Support for HEVC's lossy and lossless data compression is included.

BPG supports animation.[1]

Patents

[edit]

According to Bellard's site[1] BPG may be covered by some of the patents on HEVC, but any device licensed to support HEVC will also be covered for BPG. Patent issues may prevent JPEG replacement by BPG despite BPG's better technical performance.[6]

Other proposed JPEG replacements

[edit]

Several other image formats have also been proposed as JPEG replacements, including:[3][7]

References

[edit]
  1. ^ a b c d "BPG Image format". Fabrice Bellard. 2014. Retrieved 2016-04-02.
  2. ^ a b c d e "BPG specification". Retrieved 17 November 2017.
  3. ^ a b "Lossy Compressed Image Formats Study". Mozilla Corporation. Archived from the original on 2016-09-28.
  4. ^ U. Albalawi, S. P. Mohanty and E. Kougianos, "Energy-Efficient Design of the Secure Better Portable Graphics Compression Architecture for Trusted Image Communication in the IoT", in Proceedings of the 15th IEEE Computer Society Annual Symposium on VLSI (ISVLSI), 2016, pp. 302--307.
  5. ^ U. Albalawi, S. P. Mohanty, and E. Kougianos, “A Hardware Architecture for Better Portable Graphics (BPG) Compression Encoder”, in Proceedings of the 1st IEEE International Symposium on Nanoelectronic and Information Systems, 2015, pp. 291-296.
  6. ^ a b "BPG, a still-image format from video compression". LWN.net.
  7. ^ "BPG Image Comparison". Retrieved 2015-02-10.
  8. ^ "AV1 Still Image File Format (AVIF)". aomediacodec.github.io. Retrieved 2018-04-15.
[edit]