🖼️ 그래픽 포맷 | |||||
{{{#!wiki style="margin:0 -10px -5px; min-width:300px; min-height:calc(1.5em + 5px); word-break:keep-all" {{{#!folding [ 펼치기 · 접기 ] {{{#!wiki style="margin:-6px -1px -11px" | <colbgcolor=#555>비트맵 | <colbgcolor=#555>손실 압축 | JPEG | AVIF▶Lα · BPG▶α · FLIF▶α · HEIF▶ · WebP▶α · | RAW · DDS▶Lα · PSD▶Lα |
무손실 압축 | APNG▶α · DNG · EXRα · GIF▶ · PCX · PNGα · RGBEα · TGAα · TIFFLα | ||||
무손실 무압축 | BMPα | ||||
벡터 | AI · CDR · SVG | ||||
▶: 애니메이션 기능 지원 / L: 다중 레이어 지원 / α: 알파값 지원 | |||||
관련 틀: 그래픽 · 오디오 · 비디오 |
1. 개요
홈페이지BPG(Better Portable Graphics)는 프로그래머 파브리스 빌라[1]가 2014년에 만든 이미지 포맷이다. 화질과 파일 크기가 문제되는 JPEG를 대체하는 것이 목적이다.
2. 특징
- 높은 압축 비율. 비슷한 화질의 JPEG보다 파일의 용량이 훨씬 작다.
- 대부분의 브라우저에서 56KB 크기의 자바스크립트 디코더를 통해 지원가능하다.
- HEVC 오픈 비디오 압축 표준을 기반으로 한다.
- 변환할 때 손실을 줄이기 위해 JPEG와 동일한 크로마 포맷 (grayscale, YCbCr 4:2:0, 4:2:2, 4:4:4)을 지원한다. 알파채널, RGB, YCgCo, CMYK 색상 공간을 지원한다.
- 높은 다이나믹 범위를 위해 채널 당 8~14비트를 기본 지원한다.
- 무손실 압축을 지원한다.
- EXIF, ICC profile, XMP 등의 여러 메타데이터를 포함 가능하다.
- 애니메이션이 지원된다.
3. 비교
직접 비교해 보면 알 수 있듯이 JPEG는 물론이고 WebP보다도 비슷한 파일 용량에서 화질이 우수하다. HEIF와는 비슷한 효율을 가진다.애니메이션에서 특히나 용량이 작은 것을 느낄 수 있는데, 비디오 코덱인 HEVC를 사용하기 때문에 압축률이 굉장히 높기 때문이다.
움짤은 여기에서 확인 해 보자.
4. 단점
BPG의 단점들 대부분은 X265 라이브러리를 사용하는 것이 그 원인이 있다. BPG가 고압축률을 자랑하는 이유 역시 그 때문인 점을 생각해보면 아이러니도 이런 아이러니가 없을 지경이다.- BPG를 정식으로 지원하는 브라우저가 없으며, 지원할 예정도 없을 가능성이 높다.
현재로써는 가장 큰 문제점인데, 제일 큰 걸림돌은 바로 HEVC 알고리즘이 특허로 보호(Patent-protected)[2]받고 있다는 것이다. 모질라에서는 지원할 계획이 없다고 했으며[3], 크로뮴 계열은 서드파티 플러그인에 맡기겠다는 입장을 보이고 있다. 그나마도 브라우저가 AVIF를 지원하는 쪽으로 짱박아놓은 상태라 전망은 어두컴컴하다. - 높은 CPU 사용률 및 랙 유발
시간이 지나면 개선될 여지가 있으나, 아직 BPG 이미지를 디코딩을 하는 데에 많은 자원이 소모된다.[4] 현재로서는 브라우저 지원을 전혀 기대할 수 없는 상황이기에 웹에서 사용한다 할지라도 상술한 56KB 크기의 asm.js로 컴파일된 라이브러리를 받아 사용해야 하는데, 문제는 이 녀석, 이미지 디코딩한다고 페이지를 얼려버린다.[5](...) 동영상 인코더와는 다르게 asm.js과 브라우저의 기술상 한계로 GPGPU는 커녕 멀티쓰레딩 지원도 안 되는 상황이기에 문제는 더욱 심각하다. 웹 개발자 입장에서는 트래픽 줄이려고 BPG를 썼다가 되려 랙을 얻게 되는 셈이다. - 과장된 압축률
분명 BPG는 HEVC 기술을 이용해 높은 압축률을 얻기는 하였으나, 현재로써는 최적화가 시급한 문제인지라 실사용으로 쓰기 위해 속도를 빠르게 하면 압축률이 되려 낮아진다. 쉽게 얘기하자면 여행 가방에 짐을 아주 꾹꾹 눌러 담아 최대한 압축했으나 원하는 옷을 다시 꺼내려고 보니 너무 꽉꽉 눌러 담아 여행 가방 푸는데 한 세월걸린 다는 말. - 무손실 압축에 불리
H.265의 특성상 무손실 압축에 불리한 편이다.
[1] Fabrice Bellard. FFmpeg와 QEMU의 창시자이다.[2] 위키피디아[3] 특허로 보호받고 있는 기술을 사용하기 때문이라고 한다.#[4] 그도 그럴 것이, 기술의 원조가 되는 H.265도 전용 디코더가 나오거나 라이브러리 최적화가 되기 전에는 엄청난 랙을 유발했었다.[5] 위의 비교 문단에서 움짤 링크에 들어가면 잠깐 페이지 로딩이 안 되는 게 그 이유. 물론 무한루프에 걸린 게 아니라서 작은 움짤 정도는 약 5-6초 정도면 제대로 돌아오기는 한다.