Chrome에서 JPEG XL 제공

게시일: 2026년 10월 6일

Chrome 155부터 JPEG XL (.jxl) 이미지 형식의 디코딩 지원이 제공됩니다. JPEG XL은 현대적인 웹 개발자와 사진작가의 요구사항을 충족하도록 설계된 차세대 이미지 형식입니다. JPEG보다 30~50% 더 나은 압축, 무손실 압축, 내장 HDR 지원, 무손실 JPEG 트랜스코딩 등을 제공합니다.

일반적으로 AVIF와 JPEG XL을 모두 사용해 보는 것이 좋습니다. JPEG XL은 특히 사진 이미지의 경우 또는 세부적인 점진적 디코딩이 선호되는 경우 고화질 또는 무손실 압축에 가장 유용할 것으로 예상됩니다.

이 게시물에서는 JPEG XL을 Chrome에 도입한 이유, Rust를 사용하여 메모리 안전성을 우선적으로 확보한 방법, 빠른 속도를 구현하는 광범위한 성능 작업, 이 여정에서 개발자 의견과 웹 표준 생태계에 관해 알게 된 점을 공유합니다.

안전 우선: Rust로 디코더 재구현 (jxl-rs)

이미지 디코더는 최신 웹브라우저에서 가장 중요하고 표적 공격의 대상이 되는 공격 표면 중 하나입니다. 네트워크에서 직접 복잡하고 신뢰할 수 없는 바이너리 구조를 처리하고 렌더러 프로세스 내에서 실행됩니다. 지금까지 C++와 같은 메모리에 안전하지 않은 언어로 작성된 디코더는 범위를 벗어난 읽기, 힙 오버플로, 해제 후 사용 버그와 같은 취약점이 발생하기 쉬웠습니다.

Google의 보안 모델은 2의 규칙에 따라 샌드박싱과 심층 방어에 의존합니다. 하지만 샌드박스는 2차 방어 계층입니다. 소스에서 이러한 보안 위험을 제거하기 위해 JPEG XL 디코더의 순수 Rust 구현인 jxl-rs를 통합했습니다.

안전을 저해하지 않으면서 속도를 고려한 설계

메모리 안전은 중요하지만, 메모리 안전하지 않은 최적의 대안과 거의 비슷한 속도의 메모리 안전 디코더는 성능이 크게 저하되는 선택보다 훨씬 더 명확한 선택입니다.

최신 코덱의 성능에서 기본적인 부분은 최신 기기에서 사용할 수 있는 SIMD 하드웨어를 최대한 활용하는 것입니다. 안전하게 실행하려면 target_feature_11 Rust 기능이 안정화되어야 했습니다. 이를 통해 unsafe 코드가 필요 없이 SIMD 명령어를 사용할 수 있었습니다.

다음 단계는 C++ Highway 라이브러리 (원래 JPEG XL의 C++ 참조 구현인 libjxl용으로 개발됨)에서 영감을 받은 SIMD 추상화 레이어 (jxl_simd)를 빌드하는 것이었습니다. 이러한 개발을 통해 SIMD 성능 최적화를 저해하지 않으면서 안전하지 않은 작업을 엄격하게 검증된 소수의 위치로 제한하는 멀티 플랫폼 라이브러리를 작성할 수 있었습니다.

jxl-rs의 성능 최적화는 libjxl의 성능 최적화를 기반으로 합니다. 여기에는 하드웨어 성능을 극대화하기 위해 데이터 복사를 최소화하면서 리전 경계를 넘는 단계의 일반 처리 파이프라인이 포함됩니다. Google은 jxl-rs 성능 대시보드에서 다양한 하드웨어 플랫폼에 걸쳐 Rust 재구현의 성능을 추적해 왔습니다.

퍼징 및 코드의 AI 검토를 비롯한 다양한 최신 기술로 jxl-rs 구현을 검증했으며 전체 구현 기록에서 메모리 안전성 버그를 발견하지 못했습니다. 이는 Rust가 메모리 안전성에 가져오는 엄청난 개선사항을 다시 한번 입증하는 것입니다.

개발자 의견 및 상호 운용성 프로젝트

Chrome팀은 버그, 설문조사, 개발자 신호 프로젝트, Interop 프로젝트 등 다양한 채널에서 웹 개발자 의견을 고려합니다. JPEG XL을 제공하기로 한 결정은 웹 개발자로부터 받은 일관된 의견과 요청에 기반한 것입니다. 이는 Interop 프로세스에서 가장 잘 드러나는데, 여기서 JPEG XL은 2026년과 그 이전 몇 년 동안 인기 있는 제안이었습니다.

형식이 브라우저 간에 상호 운용되도록 Google은 Interop 2026 JPEG XL 조사에 참여하여 브라우저에서 JPEG XL의 모든 기능에 대한 테스트 범위가 있고 이러한 테스트가 Chrome에서 통과되도록 했습니다.

사용해 보기

JPEG XL이 Chrome에 공식적으로 도입됨에 따라 웹이 더 빠르고 풍부하며 안전해집니다. 개발자, 콘텐츠 크리에이터, 플랫폼 소유자는 파이프라인에서 .jxl 이미지와 애니메이션을 사용하기 시작하는 것이 좋습니다.

사용해 보고 버그를 신고하여 모두를 위해 더 빠르고 안전한 웹을 계속 구축할 수 있도록 도와주세요.

감사의 말씀

jxl-rs 또는 Chrome에서의 통합에 기여한 모든 분들께 감사드립니다. 특히 Chrome 통합과 jxl-rs에 모두 상당한 기여를 한 Helmut Januschka와 jxl-rs 자체에 상당한 기여를 한 Martin Bruse, Zoltan Szabadka, Sami Boukortt, Wonwoo Choi에게 감사드립니다.