Better Portable Graphics
Filename extension |
.bpg |
---|---|
Magic number | 42 50 47 fb |
Initial release | 2014 |
Latest release |
0.9.7 (15 May 2016 ) |
Type of format | lossy lossless bitmap image format |
Extended from | HEVC |
Open format? | Yes |
Website |
bellard |
Better Portable Graphics (BPG) is a file format for coding digital images, which was created by programmer Fabrice Bellard in 2014. Its purpose is to be a more compression-efficient replacement for the JPEG image format when quality or file size is an issue.[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] BPG is getting attention due to its portability, high-quality, and low-memory requirements which can be very good for portable handheld and IoT devices. Research is in full swing to make BPG hardware amenable so that energy-efficient BPG which can be integrated in portable devices such as digital camera is possible.[4][5] While there is not yet built-in native support for BPG in any mainstream browsers, websites can still deliver BPG images to all browsers by including a 56 KB JavaScript library written by Bellard.[1]
High Efficiency Video Coding and BPG
HEVC already has several profiles defined for still-picture coding using HEVC's intra-frame encoding for various bit depths and color formats, including the progressively more capable Main Still Picture, Main 4:4:4 Still Picture, and Main 4:4:4 16 Still Picture profiles.
BPG is essentially a wrapper for uses of the HEVC's Main 4:4:4 16 Still Picture profile up to 14 bits per sample.
Specifications
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
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. Some sites such as LWN.net conclude for this reason that it is unlikely that BPG will replace JPEG, despite BPG's better technical performance.[6]
Other proposed JPEG replacements
Several previous image formats are also technically superior to JPEG for similar uses, though not by the same margin as BPG. They have found some niche uses, but have crucially not gained acceptance on the web. Investigations for a possible JPEG replacement have included:[3][7]
References
- 1 2 3 4 "BPG Image format". Fabrice Bellard. 2014. Retrieved 2016-04-02.
- 1 2 3 4 5 "BPG specification". Retrieved December 2014. Check date values in:
|access-date=
(help) - 1 2 "Lossy Compressed Image Formats Study". Mozilla Corporation. Retrieved 2015-02-10.
- ↑ 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.
- ↑ 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.
- 1 2 "BPG, a still-image format from video compression". LWN.net.
- ↑ "BPG Image Comparison". Retrieved 2015-02-10.