취소
다음에 대한 결과 표시 
다음에 대한 검색 
다음을 의미합니까? 

JPEG XL 이미지 코덱

옵션

👨‍🎓정봉수

1. JPEG XL 소개
2. JPEG XL
기술
3. Expert Raw
JPEG XL 코덱 도입
4. 맺음

 

JPEG XL 소개

 

JPEG XL은 손실 압축과 무손실 압축을 모두 지원하는 로열티 프리(royalty-free) 래스터 그래픽(raster-graphics) 파일 형식입니다. 2017 8, 79JPEG 회의에서 ISO/IEC JTC1/SC29/WG1으로 차세대 이미지 코딩 표준 제안서가 공개되었으며[3], 2019 7월 표준화 초안이 작성되었습니다. Google사의 PIK기술[1] Cloudinary사의 FLIP 기술[2]을 기반으로 하는 JPEG XL압축 기술은 202110월과 20223월에 각각 파일 형식과 코딩 시스템이 공식적으로 표준화되었습니다. “Long-Term” L을 표시한 이름에서 알 수 있듯이, 이는 레거시 JPEG를 대체하는 목적으로 개발되었습니다. JPEG XL은 손실(lossy) 압축과 비손실(lossless) 압축 모두를 지원하며, 이미지 컴포넌트당 최대 32비트, RGB 컬러 포맷, 넓은 색역 및 HDR과 같은 현대적인 이미지 형식의 압축을 지원합니다

JPEG XL은 JPEGWebP와 같은 종래의 이미지 코덱에 비해 우수한 이미지 품질과 압축 효율을 제공합니다. AVIF와 비교하면 손실 압축에서는 AVIF가 높은 압축 성능을 보이지만 비손실 압축에서는 JPEG XL이 우수합니다. 또한 JPEG XL은 파일 크기와 화질의 균형을 제공해 시각적 충실도(fidelity) 에 큰 손실 없이 높은 압축을 제공하며, 인코딩 및 디코딩 속도에서 AVIF를 모두 능가하는 성능을 보여줍니다[7]. 뿐만 아니라, 기존의 JPEG 포맷 이미지에 대한 효율적인 무손실 재압축 옵션도 제공합니다.

다음은 JPEG XL 코덱의 압축 기술에 대해서 조금 더 살펴보겠습니다.


JPEG XL 기술

 

JPEG XL은 아래 그림과 같이 크게 두개의 코딩 모드로 구성되어 있습니다[4].

  • VarDCT 모드 (가변 블록 크기 DCT): 인간의 시각 시스템에 중점을 둔 손실 압축에 사용되며, 기존 JPEG와의 주요 차이점은 8x8크기로 제한되지 않는 DCT(Discrete Cosine Transform)를 사용한다는 것 입니다. JPEG XL 2x2에서 최대 256x256의 사각형 혹은 직사각형의 가변 블록 크기(Variable Block Size) DCT를 사용합니다. 이는 인코더가 필요한 곳에 더 작은 블록을 사용하거나 최적의 압축 효율을 위해 더 효과적인 블록 크기를 선택할 수 있게 합니다. 뿐만 아니라, JPEG XL은 기존의 JPEG과 같이 엔트로피 부호화(Entropy coding)로 허프만 부호화(Huffman coding)만 사용하지 않고 LZ77 코딩, ANS(Asymmetric Numeral Systems) 부호화[6], 허프만 부호화를 모두 사용할 수 있습니다. ANS 는 디코딩 시 상당히 빠르면서도 산술 연산 코딩과 유사한 압축비를 달성하는 최근에 도입된 엔트로피 코더입니다.
  • Modular 모드: 주로 비손실 압축에 사용되며, 예측(Prediction)에서는 다양한 예측기를 사용하여 예측 성능을 향상시켰습니다. 이 모드는 VarDCT내부에서 2D 데이터를 저장하는 데 사용될 수 있으며, 스퀴즈(squeeze)라고 불리는 수정된 하르 변환(Haar transform)을 통해 손실 압축도 가능합니다. 엔트로피 부호화(Entropy coding) 측면에서는 VarDCT 모드와 유사하게 LZ77 코딩, ANS(Asymmetric Numeral Systems) 부호화, 그리고 허프만 부호화를 모두 사용할 수 있습니다.

    

CamCyclopedia_1-1705556792013.png

 

위의 JPEG XL 구조도에서 보듯이 JPEG XL은 위에서 설명한 코딩 툴과 LMS기반 컬러 모델의 XYB 컬러 변환, 이미지 특징 추출(Feature Extraction), 에지 보존 필터(Edge-preserving filter), 가버 변환(Gabor  Transform), 컨택스트 모델링(Context modeling) 기술 등 다양한 코딩 툴을 개발하여 압축 효율을 향상시키고 있습니다.

그러나 코딩 툴의 증가는 압축 효율을 향상시키지만 연산 복잡도도 증가시킬 수 있습니다. 이에 따라 압축 코덱을 제품화하기 위해서는 압축 효율과 연산 복잡도 간의 균형을 맞추기 위한 테스트와 효율적인 압축 툴의 선택이 필요합니다.

다음은 연산 복잡도를 고려한 실제 Expert RAW에 적용한 JPEG XL 코덱의 압축률과 주관적 화질 비교에 대해서 설명하겠습니다.


Expert RAWJPEG XL 코덱 도입

 

Expert RAW는 전문 촬영 및 편집이 가능하도록 16비트 선형 RGB Raw 이미지를 무손실 JPEG 코덱으로 압축하여 DNG 포멧으로 저장하고 있습니다. DNG(Digital Negative)는 어도비사가 디지털 사진용으로 개발한 개방형 무손실 Raw 이미지 포멧입니다.

무손실 JPEG 1993 JPEG 표준에 뒤늦게 “ITU-T.81 Annex H Lossless mode of operation”으로 추가되어 손실 JPEG 표준과는 전혀 다른 기법을 사용하여 개발되었습니다[5]. 가장 가까운 세 이웃 화소(, , )를 기준으로 한 예측 방식을 사용하며, 예측 오차에 대해서 허프만 코딩을 하는 아주 간단한 방법을 사용합니다. 아래의 압축 결과를 보면 무손실 압축으로 대략 2배 이상 파일 용량을 감소시킬 수 있습니다. 하지만 오래된 압축 기술인 만큼 부족한 코딩 툴로 1장의 이미지를 저장하기 위한 DNG 파일의 용량이 여전히 매우 큰 단점이 있습니다.

CamCyclopedia_2-1705556792013.png

최근 어도비사는 DNG 1.7 표준을 발표하였고, DNG 1.7Raw 이미지 압축을 위한 코덱으로 무손실 JPEG외에 JPEG XL을 새롭게 정의하였습니다. 이에 따라 Expert RAWDNG 1.7을 도입하여 Raw 이미지를 JPEG XL로 압축하여 DNG 파일을 저장하였습니다. 아래 표는 비손실 JPEGJPEG XL의 비손실 압축과 시각적 비손실 압축과의 파일 크기를 비교하였습니다. JPEG XL 비손실 압축은 JPEG 비손실 압축보다 20% 이상의 압축 효율 향상이 있고, 시각적인 비손실 압축은 6배 이상의 압축 효율 향상을 보여주고 있습니다.

CamCyclopedia_3-1705556792015.png

JPEG XL의 시각적 비손실 압축은 높은 효율에도 불구하고 아래에 보는 것과 같이 비손실 압축과 비교하여 화질 차이를 인지하기 어렵습니다.

 

CamCyclopedia_4-1705556792095.png

 

* 위 이미지는 소비자의 이해를 돕기 위한 것으로 실 사용 환경에 따라 다를 수 있습니다.

 

이제 갤럭시 스마트폰의 Expert RAW에서 JPEG XL 코덱의 도입으로 전문가급 고화질의 이미지를 매우 작은 파일 크기로 압축하여 DNG 파일을 저장할 수 있어 용량에 대한 걱정을 덜고 많은 사진 촬영이 가능해 졌습니다.


맺음말

Expert RAW는 전문 촬영 및 편집이 가능한 DNG 촬영에서 저장 용량의 부담을 덜고 촬영할 수 있도록 JPEG XL의 압축 효율 향상과 연산 복잡도 감소를 위한 노력을 지속할 것입니다.

 

참고 

[1] PIK: A new lossy/lossless image format for photos and the internet (https://github.com/google/pik)

[2] FUIF: Free Universal Image Format (https://github.com/cloudinary/fuif)

[3] JPEG XL Wikipedia (JPEG XL - Wikipedia)

[4] JPEG XL White Paper" (PDF)JPEG.org. 2021-01-29. Archived (PDF) from the original on 2 May 2021. Retrieved 2021-03-17.

[5] Lossless JPEG Wikipedia (Lossless JPEG - Wikipedia)

[6] Duda, J., Tahboub, K., Gadgil, N. J., and Delp, E. J., “The use of asymmetric numeral systems as an accurate replacement for Huffman coding,” in 2015 Picture Coding Symposium (PCS), 65 –69 (2015).

[7] It’s High Time to Replace JPEG With a Next-Generation Image Codec (cloudinary.com)