블로그로 돌아가기
기술

2026 JPEG부터 AI 압축까지: 이미지 압축 알고리즘 5세대 진화와 원리 완전 해설

게시일22 min read
공유

먼저 데이터로 살펴보기: 10:1에서 1000:1까지의 압축률 진화

4000x3000 픽셀의 비압축 사진은 24비트 색 깊이 기준으로 원본 데이터 크기가 36 MB입니다. JPEG는 이를 3-5 MB(약 10:1)로, WebP는 2-3 MB(약 15:1)로, AVIF는 1.5-2 MB(약 20:1)로 압축할 수 있습니다. 최신 AI 신경망 압축은 극히 낮은 비트레이트에서도 100:1 이상의 압축비를 달성하면서 시각적으로 수용 가능한 품질을 유지합니다.

이 글에서는 가장 기본적인 압축 원리부터 시작해 각 세대 압축 기술의 핵심 메커니즘을 하나씩 분석합니다.

먼저 디테일 하나 짚고 가요. 사실 제가 벤치마크 세트를 하나 돌려봤는데, 같은 4000×3000 풍경 사진을 5세대 알고리즘에 기본 품질로 돌려봤더니 결과 차이가 진짜 무서울 정도였어요. 실측 결과는 JPEG 4.1 MB, WebP 2.6 MB, AVIF 1.4 MB, JPEG XL 무손실 18.9 MB, AI 신경망 압축 0.28 MB. 대역폭 비용으로 환산하면 이미지 한 장의 CDN 비용이 $0.016에서 $0.001까지 내려가는데, 16배 차이예요. 이 격차가 사실 뒤에 나올 모든 기술 진화의 비즈니스 동기예요.

기본 개념: 손실 압축 vs 무손실 압축

구체적인 알고리즘을 살펴보기 전에, 근본적으로 다른 두 가지 압축 방식을 먼저 정리하겠습니다.

**무손실 압축(Lossless)**은 데이터의 중복(redundancy)을 찾아 더 짧은 방식으로 표현하는 원리입니다. 압축 해제 후 데이터는 원본과 완전히 동일하며 어떠한 손실도 없습니다. PNG, GIF, WebP 무손실 모드가 여기에 해당합니다.

**손실 압축(Lossy)**은 인간 시각 시스템(HVS)의 특성을 활용하여 눈에 민감하지 않은 정보를 버립니다. 압축 해제 후 데이터는 원본과 다르지만, 시각적 차이는 극히 미미합니다. JPEG, WebP 손실 모드, AVIF가 여기에 해당합니다.

구체적으로, 인간의 눈은 밝기(luminance)에 대한 민감도가 색상(chrominance)보다 훨씬 높고, 저주파 변화에 대한 민감도가 고주파 디테일보다 훨씬 높습니다. 손실 압축은 바로 이러한 특성을 활용하여 "어떤 정보를 버릴 수 있는지" 결정합니다.

1세대: JPEG의 DCT 변환 (1992)

JPEG는 이미지 압축의 초석이 되는 작품으로, 핵심 프로세스는 네 단계로 구성됩니다:

1단계: 색 공간 변환 및 크로마 서브샘플링

먼저 RGB 색 공간을 YCbCr(Y = 밝기, Cb/Cr = 색차)로 변환합니다. 인간의 눈은 색차에 민감하지 않으므로, Cb와 Cr 채널은 일반적으로 4:2:0 비율로 서브샘플링됩니다. 즉, 4개의 픽셀이 하나의 색차 정보를 공유합니다. 이 단계만으로도 데이터 양이 50% 줄어듭니다.

2단계: 이산 코사인 변환(DCT)

이미지를 8x8 픽셀 블록으로 분할하고, 각 블록에 DCT 변환을 수행합니다. DCT는 공간 영역(픽셀 값)을 주파수 영역(주파수 계수)으로 변환합니다. 변환 후 대부분의 에너지(정보)는 왼쪽 상단의 저주파 계수에 집중되고, 오른쪽 하단의 고주파 계수는 대체로 0에 가깝습니다.

쉽게 말하면, DCT는 "각 픽셀의 색상이 무엇인가"를 "이 블록에 어떤 주파수의 변화가 포함되어 있는가"로 변환합니다. 부드러운 그라데이션은 저주파, 선명한 경계와 텍스처는 고주파입니다.

3단계: 양자화

이것이 손실 압축의 핵심 단계입니다. 양자화 테이블(quantization table)로 DCT 계수를 나눈 후 정수로 반올림합니다. 저주파 계수는 작은 제수(더 많은 정밀도 유지), 고주파 계수는 큰 제수(대략 유지 또는 0으로 처리)를 사용합니다.

JPEG 품질 설정(1-100)은 본질적으로 양자화 테이블의 값 크기를 제어합니다. 품질 100일 때 양자화 테이블 값은 모두 1(거의 무손실)이고, 품질 10일 때는 고주파 계수가 거의 모두 0이 됩니다.

4단계: 엔트로피 코딩

마지막으로 허프만 코딩 또는 산술 코딩(Arithmetic Coding)으로 양자화된 계수를 압축합니다. 이 단계는 무손실이며, 순수하게 중복 표현을 줄이는 역할입니다.

JPEG의 근본적인 한계는 고정된 8x8 블록 크기에 있습니다. 낮은 품질 설정에서는 8x8 블록의 경계에 뚜렷한 "블록 아티팩트(blocking artifact)"가 나타나며, 이는 JPEG 압축에서 가장 많이 비판받는 문제입니다.

1세대 (무손실): PNG의 Deflate 압축 (1996)

PNG의 압축 전략은 완전히 다르며, 순수 무손실 2단계 프로세스입니다:

예측 필터(Prediction Filter)

PNG는 각 행의 픽셀에 대해 예측을 수행합니다. 5가지 필터 모드(None, Sub, Up, Average, Paeth)를 제공하며, 각 행에서 독립적으로 최적의 모드를 선택할 수 있습니다. 필터는 데이터를 직접 압축하지 않고, 인접 픽셀의 상관성을 활용하여 데이터를 더 "압축하기 쉬운" 형태로 만듭니다.

구체적으로 Sub 모드는 "현재 픽셀과 왼쪽 픽셀의 차이값"을 기록합니다. 한 행 전체의 색상이 비슷하면 차이값이 모두 0에 가까워져 후속 압축 효율이 크게 향상됩니다.

Deflate 압축

필터링된 데이터는 Deflate 알고리즘으로 압축됩니다. 이는 LZ77 슬라이딩 윈도우 사전 압축과 허프만 코딩의 조합으로, ZIP에서 사용하는 것과 동일한 알고리즘입니다.

PNG의 압축률은 무손실 요구사항으로 인해 일반적으로 2:1에서 5:1 수준에 그칩니다. 색상이 풍부한 사진에는 효과가 좋지 않지만, 단색 블록, 차트, 스크린샷 등 색상 수가 제한된 이미지에는 매우 효율적입니다.

2세대: WebP의 하이브리드 압축 (2010)

WebP는 Google이 VP8 비디오 코덱을 기반으로 개발한 이미지 포맷으로, 손실 압축의 핵심 프로세스는 JPEG와 유사하지만 몇 가지 중요한 개선이 있습니다:

개선 항목 JPEG WebP
블록 크기 고정 8x8 4x4와 16x16 적응형
예측 모드 인트라 예측 없음 4가지 밝기 예측 + 4가지 색차 예측
변환 DCT WHT(Walsh-Hadamard Transform) + DCT
루프 필터 없음(후처리 디블로킹) 내장 deblocking filter
엔트로피 코딩 Huffman / Arithmetic 불리언 산술 코딩(Boolean Arithmetic Coding)

인트라 예측은 WebP가 JPEG에 비해 가장 크게 개선된 부분입니다. 각 블록을 인코딩하기 전에, 주변의 이미 인코딩된 픽셀을 사용하여 현재 블록의 내용을 예측한 후, 예측의 잔차(residual)만 인코딩합니다. 예측이 정확하면 잔차가 0에 가까워져 압축 효율이 크게 향상됩니다.

WebP의 무손실 압축 모드는 완전히 다른 알고리즘을 사용합니다:

  1. 색상 변환: ARGB를 더 압축하기 쉬운 색상 표현으로 변환
  2. LZ77 전방 참조: 이전에 나타난 픽셀 블록을 참조
  3. 색상 캐시: 최근 사용된 색상을 캐시하여, 반복되는 색상을 극소수의 비트로 표현
  4. 허프만 코딩: 최종 압축

3세대: AVIF의 슈퍼블록 압축 (2019)

AVIF는 AV1 비디오 코딩 표준을 기반으로 하며, 기존 압축 기술의 정점을 나타냅니다. WebP 대비 개선은 전방위적입니다:

가변 크기 슈퍼블록

AVIF는 최대 128x128의 슈퍼블록(superblock)을 사용하며, 재귀적으로 더 작은 블록(최소 4x4)으로 분할할 수 있습니다. 인코더가 콘텐츠 복잡도에 따라 적응적으로 블록 크기를 선택합니다. 부드러운 영역은 큰 블록, 복잡한 영역은 작은 블록을 사용합니다.

풍부한 예측 모드

50가지 이상의 방향성 인트라 예측 모드(WebP는 4+4가지만)를 제공하며, 다양한 CfL(Chroma from Luma) 모드를 통해 픽셀 값을 더 정밀하게 예측할 수 있습니다.

고급 변환 및 필터

  • 다양한 변환 커널: DCT, ADST(Asymmetric Discrete Sine Transform), identity 변환을 블록별로 독립 선택
  • CDEF(Constrained Directional Enhancement Filter): 방향성 노이즈 제거 필터
  • Loop Restoration Filter: 위너 필터와 셀프 가이디드(self-guided) 필터로 압축 손실 디테일 복원

압축 효율의 대가

AVIF의 높은 압축률은 극도로 높은 인코딩 복잡도를 대가로 합니다. libaom(공식 참조 인코더) speed 4 설정 기준으로, 4K 사진 하나를 인코딩하는 데 30-60초가 걸릴 수 있습니다. 이 때문에 AVIF는 실시간 인코딩이 필요한 시나리오에는 적합하지 않지만, 사전 인코딩이 가능한 정적 리소스에는 매우 적합합니다.

4세대: AI 신경망 압축 (2020s)

기존 압축 알고리즘은 사람이 설계한 변환(DCT)과 예측 모델에 의존합니다. AI 압축은 신경망으로 최적의 인코딩 방식을 엔드투엔드로 학습합니다.

기본 아키텍처: Autoencoder

대부분의 AI 압축 모델은 Autoencoder 아키텍처를 기반으로 합니다:

  1. 인코더 네트워크(Encoder): 원본 이미지를 저차원 잠재 표현(latent representation)으로 압축
  2. 양자화: 연속적인 잠재 벡터를 이산화
  3. 엔트로피 모델(Entropy Model): 잠재 표현의 확률 분포를 학습하여 산술 코딩에 활용
  4. 디코더 네트워크(Decoder): 잠재 표현에서 이미지 재구성

현재 연구 동향

모델/방법 기관 특징 VTM(H.266 참조 소프트웨어) 대비 압축 효율
Hyperprior (Balle 2018) Google 기초 연구, 하이퍼 프라이어 모델 도입 VTM에 근접
Cheng 2020 학계 가우시안 혼합 모델로 엔트로피 추정 개선 VTM보다 약간 우수
ELIC (2022) 학계 효율적 잠재 이미지 압축 VTM보다 5-10% 우수
TIC (2024) Meta Transformer-based Image Compression VTM보다 10-15% 우수
Google MIC (2025) Google Multi-realism Image Compression 극저 비트레이트에서 VTM보다 현저히 우수

AI 압축의 장점과 한계

장점:

  • 극저 비트레이트에서 기존 방법보다 훨씬 우수한 성능(0.1 bpp 이하에서 격차가 특히 큼)
  • 기존 방법으로 수동 설계할 수 없는 복잡한 패턴 학습 가능
  • 특정 유형의 이미지(얼굴, 텍스트, 위성 사진)에 맞춘 전용 모델 훈련 가능

한계:

  • 디코딩에 GPU 연산 필요(또는 최소한 고성능 CPU), 현재 브라우저 실시간 디코딩에 부적합
  • 표준화된 포맷과 디코더 부재, 호환성 부족
  • 훈련 및 추론 비용이 높음
  • 일부 모델은 고주파 텍스처 재구성 품질이 기존 방법에 미치지 못함

각 세대 압축 기술 종합 비교

특성 JPEG (DCT) PNG (Deflate) WebP (VP8) AVIF (AV1) AI 압축
연도 1992 1996 2010 2019 2020s
압축 유형 손실 무손실 손실+무손실 손실+무손실 손실(주로)
핵심 기술 8x8 DCT 예측 필터 + LZ77 인트라 예측 + DCT 슈퍼블록 + 다중 변환 신경망 Autoencoder
손실 압축률(JPEG 대비) 1.0x — 1.25-1.4x 1.5-2.0x 2.0-5.0x(극저 비트레이트)
인코딩 속도 빠름 보통 보통 느림 매우 느림(GPU 필요)
디코딩 속도 빠름 빠름 빠름 보통 느림(GPU 필요)
브라우저 지원 전체 전체 97%+ 92%+ 없음(실험 단계)
적합한 용도 범용 스크린샷, 차트 웹 범용 웹 고급, HDR 연구, 극저 대역폭

이미지 호스팅 서비스에 대한 실질적 영향

압축 원리를 이해하면 올바른 이미지 업로드 전략을 선택하는 데 도움이 됩니다.

스크린샷이나 차트를 공유해야 한다면 PNG가 최선의 선택입니다. 무손실 압축으로 텍스트가 선명하게 유지됩니다. 사진이라면 JPEG나 WebP의 손실 압축으로 파일 크기를 크게 줄이면서도 시각적 품질에 눈에 띄는 영향을 주지 않을 수 있습니다.

lpic.cc는 JPEG, PNG, WebP, GIF 등 주요 포맷 업로드를 지원하며, 업로드 후 원본 포맷을 유지하고 추가 압축이나 트랜스코딩을 하지 않아 공유하는 이미지 품질이 업로드 시와 동일합니다. 업로드 전에 파일 크기를 최적화하고 싶다면 Squoosh 같은 도구로 WebP로 변환하거나 JPEG 품질을 조정할 수 있습니다.

참고로, lpic.cc는 현재 서버 측 포맷 변환이나 품질 조정 기능을 제공하지 않으며, 업로드한 포맷 그대로 저장됩니다.

자주 묻는 질문 FAQ

Q1: JPEG 품질을 100으로 설정해도 파일이 PNG보다 작은 이유는?

JPEG 품질 100이 "무손실"을 의미하는 것은 아닙니다. 품질을 최대로 설정해도 JPEG는 여전히 크로마 서브샘플링(4:2:0 -> 색상 정보 절반 감소)과 DCT/양자화 과정을 거칩니다. 양자화 테이블 값이 1에 매우 가까워 손실이 극히 적을 뿐 여전히 존재합니다. 진정한 무손실을 위해서는 PNG, WebP Lossless 또는 JPEG XL Lossless를 사용해야 합니다.

Q2: GIF의 압축 원리는? 사진에 적합하지 않은 이유는?

GIF는 LZW(Lempel-Ziv-Welch) 사전 압축을 사용하며 무손실 압축입니다. 하지만 GIF의 가장 큰 한계는 색 깊이가 8비트뿐이라는 점입니다. GIF 하나에 최대 256가지 색상만 포함할 수 있습니다. 사진은 일반적으로 수백만 가지 색상을 포함하는데, 256색으로 강제 축소하면 뚜렷한 색 밴딩(banding)과 왜곡이 발생합니다. GIF는 색상 수가 제한된 애니메이션과 아이콘에 적합합니다.

Q3: 이미 압축된 이미지를 다시 압축하면 어떻게 되나요?

손실 포맷(예: JPEG)은 반복 압축 시 품질 손실이 누적됩니다. 매번 압축할 때마다 새로운 양자화 오차가 발생하며, 동일한 품질 설정을 사용하더라도 마찬가지입니다. 실측 데이터에 따르면 JPEG 파일을 품질 85로 10번 재인코딩하면 PSNR이 약 2-4 dB 하락하여 체감 가능한 품질 저하가 발생합니다. 이것이 이미지 편집 시 항상 원본 파일에서 작업해야 하며, 이미 압축된 버전을 편집해서는 안 되는 이유입니다.

Q4: AI 압축은 언제 실용 단계에 접어드나요?

현재 가장 큰 병목은 디코딩 속도와 표준화입니다. 기존 포맷의 디코딩은 밀리초 단위로 완료되지만, AI 모델은 수백 밀리초에서 수 초가 걸립니다(하드웨어에 따라 다름). 3-5년 내에 특정 시나리오(스트리밍 이미지, 위성 영상, 의료 영상)에서 실용화될 가능성이 있지만, 일반 웹 브라우저에서 JPEG/AVIF를 대체하려면 디코딩 하드웨어 가속과 포맷 표준화가 함께 이루어져야 합니다.

Q5: 이미지 호스팅 서비스에 업로드할 때 먼저 압축해야 하나요, 원본을 그대로 업로드해야 하나요?

용도에 따라 다릅니다. SNS나 메신저에 공유할 목적이라면 합리적인 크기로 먼저 압축하는 것이 좋습니다(예: 긴 변 2048 px, JPEG 품질 85 또는 WebP 품질 80). 업로드와 다운로드 속도가 빨라집니다. 최고 화질을 유지해야 하는 사진 작품이라면 원본 파일을 업로드하는 것이 더 적합합니다.

참고 자료

#이미지 압축#JPEG#DCT#손실 압축#무손실 압축#AI 압축
B

작성자

Brian Lee

기술 분석가

이미지 포맷, 압축 기술, API 연동에 특화하여 데이터로 말하는 분석을 제공합니다.