핵심 인사이트 (3줄 요약)
- 본질: 데이터 압축은 중복성 (Redundancy) 제거 — 무손실은 통계적 중복 제거, 손실은 지각적 불필요 정보 제거라는 근본 원리가 다르다.
- 가치: LZ77 + 허프만 = DEFLATE, DCT + 양자화 = JPEG, 모션 보상 + DCT = H.265 — 현대 디지털 콘텐츠 전체가 이 두 원리 위에 서 있다.
- 판단 포인트: 신경망 압축이 JPEG와 H.265를 추월하기 시작했다 — 기존 알고리즘의 한계와 학습 기반 압축의 장점을 구체적으로 설명할 수 있어야 한다.
Ⅰ. 개요 및 필요성
데이터 압축의 두 축:
| 구분 | 방식 | 복원 | 적용 |
|---|---|---|---|
| 무손실 (Lossless) | 통계적 중복 제거 | 완벽 복원 | 텍스트, 코드, 의료 영상 |
| 손실 (Lossy) | 지각적 불필요 정보 제거 | 근사 복원 | 이미지, 오디오, 동영상 |
압축비 (Compression Ratio) = 원본 크기 / 압축 크기
비트율 (Bit Rate) = 압축 후 비트 수 / 원본 심볼 수 [bits/pixel, bits/sample]
📢 섹션 요약 비유: 무손실 압축은 "원본 그대로 더 작게 접기"고, 손실 압축은 "눈/귀로 구분 못 하는 부분을 버리고 접기"다.
Ⅱ. 아키텍처 및 핵심 원리
무손실 압축 계층 구조
원본 데이터
│
▼ 1단계: 사전 기반 (Dictionary) 중복 제거
LZ77 (슬라이딩 윈도우)
LZ78/LZW (동적 사전)
│
▼ 2단계: 엔트로피 코딩 (Entropy Coding)
허프만 코딩 (Huffman) ← 심볼 빈도 기반
산술 부호화 (Arithmetic) ← 구간 기반, 엔트로피 근접
ANS (Asymmetric Numeral System) ← 고속, zstd 채택
│
▼ 최종 형식
DEFLATE (LZ77 + 허프만) → ZIP, gzip, PNG
Brotli (LZ + 허프만 + 컨텍스트 모델) → HTTPS 압축
Zstandard (LZ + ANS + 사전) → 고속 서버 압축
LZ77 슬라이딩 윈도우
탐색 버퍼(Search Buffer) 미리보기 버퍼(Lookahead Buffer)
[a b c a b c a b][c a b c d ...]
↑
슬라이딩 윈도우
'cabcd' 인코딩:
'c' → (5, 3, 'd') (5칸 앞에서 3글자 'cab' + 다음 문자 'd')
반복 패턴을 (오프셋, 길이, 다음 문자) 삼중 쌍으로 압축.
JPEG 손실 압축 파이프라인
원본 이미지 (RGB)
│
▼ 색공간 변환 (YCbCr)
│ Y(밝기), Cb(청색차), Cr(적색차)
│ 색차 서브샘플링 (4:2:0) → 색상 정보 1/2 감소
│
▼ 8×8 블록 분할
│
▼ DCT (Discrete Cosine Transform, 이산 코사인 변환)
│ 공간 도메인 → 주파수 도메인
│ 저주파(중요) vs 고주파(덜 중요) 분리
│
▼ 양자화 (Quantization) ← 손실 발생 지점
│ 고주파 계수 → 0으로 반올림 (정도 조절)
│
▼ 지그재그 스캔 + RLE
│
▼ 허프만 코딩
│
▼ JPEG 파일
웨이블릿 변환과 JPEG 2000
DCT는 8×8 블록 경계에서 아티팩트 발생 ("블록 현상") → 웨이블릿 변환 (Wavelet Transform) 으로 해결:
- 전체 이미지를 다해상도 (Multi-Resolution) 로 분해
- JPEG 2000, 의료 영상 (DICOM), 디지털 시네마 (DCP) 채택
| 비교 | JPEG | JPEG 2000 |
|---|---|---|
| 변환 | DCT (블록) | 웨이블릿 (전체) |
| 블록 현상 | 심함 | 없음 |
| 무손실 지원 | ❌ | ✅ |
| ROI 지원 | ❌ | ✅ |
| 처리 속도 | 빠름 | 느림 |
📢 섹션 요약 비유: JPEG DCT는 "퍼즐을 8×8 조각으로 쪼개 각 조각 압축"이고, JPEG 2000 웨이블릿은 "퍼즐 전체를 여러 해상도로 동시에 보면서 압축"이다 — 후자가 경계선에서 더 자연스럽다.
Ⅲ. 비교 및 연결
알고리즘 계층별 비교
| 알고리즘 | 방식 | 압축비 | 속도 | 주요 형식 |
|---|---|---|---|---|
| LZ77 | 슬라이딩 윈도우 | 중간 | 빠름 | ZIP, gzip |
| LZW | 동적 사전 | 중간 | 빠름 | GIF, TIFF |
| DEFLATE | LZ77 + 허프만 | 좋음 | 빠름 | ZIP, PNG, gzip |
| Brotli | 개선 LZ + 컨텍스트 | 더 좋음 | 느림 | HTTPS (웹) |
| Zstandard (zstd) | LZ + ANS | 좋음 | 매우 빠름 | 서버, DB |
| JPEG | DCT + 양자화 | 매우 좋음 | 빠름 | 사진 |
| H.264/H.265 | 모션 보상 + DCT | 탁월 | 느림 | 동영상 |
| MP3/AAC | 심리음향 모델 | 탁월 | 중간 | 오디오 |
비디오 압축의 핵심: 모션 보상 (Motion Compensation)
I-프레임 (Intra): 독립적 JPEG 압축
P-프레임 (Predicted): 이전 프레임과의 차이 + 모션 벡터
B-프레임 (Bidirectional): 앞뒤 프레임 참조
시간 중복성 제거: 연속 프레임에서 변화한 부분만 인코딩
공간 중복성 제거: DCT + 양자화로 같은 I-프레임 내 처리
신경망 기반 압축 (Learned Compression)
원본 x
│
▼ 인코더 신경망 f_a
잠재 표현 y
│
▼ 양자화 (정수화)
ŷ
│
▼ 엔트로피 모델 p(ŷ) → 산술 부호화
비트스트림
│
▼ 산술 복호화 → 역양자화
│
▼ 디코더 신경망 f_s
복원 x̂
- Ballé et al. (2018): 기존 JPEG 화질 능가
- VVC (Versatile Video Coding) 이후 AI 코덱 경쟁 치열
📢 섹션 요약 비유: 신경망 압축은 "AI가 '눈에 안 보이는 부분'을 직접 배운 것"이다 — 고정 수식(DCT) 대신 데이터로부터 최적 표현을 학습한다.
Ⅳ. 실무 적용 및 기술사 판단
사용 사례별 압축 선택
| 시나리오 | 권장 기술 | 이유 |
|---|---|---|
| API JSON 응답 | Brotli / gzip | HTTPS 헤더 Accept-Encoding 지원 |
| 로그 아카이브 | Zstandard | 고속 압축, 랜덤 접근 |
| 사진 서비스 | WebP / AVIF | JPEG 대비 30~50% 크기 감소 |
| 동영상 스트리밍 | H.265 / AV1 | 대역폭 절감 (H.264 대비 40~50%) |
| 의료 영상 | JPEG 2000 / PNG | 무손실 또는 ROI 손실 허용 |
| ML 모델 배포 | GZIP + 양자화 + 가지치기 | 추론 속도 + 크기 동시 최적화 |
대역폭 vs 품질 트레이드오프 계산
동영상 스트리밍 4K (3840×2160, 60fps) 필요 대역폭:
무압축: 3840 × 2160 × 3바이트 × 60fps = ~1.5 Gbps
H.264: ~25~50 Mbps (약 30~60배 압축)
H.265: ~12~25 Mbps (H.264 대비 50% 절감)
AV1: ~8~15 Mbps (H.265 대비 30% 추가 절감)
📢 섹션 요약 비유: AV1은 "최신 압축 고속도로"다 — 같은 화질을 H.265보다 30% 적은 데이터로 보낸다, 마치 더 효율적인 포장재로 같은 제품을 더 가볍게 배송하는 것처럼.
Ⅴ. 기대효과 및 결론
데이터 압축은 디지털 인프라 비용과 사용자 경험을 직결하는 핵심 기술이다.
2023년 기준 압축 기술의 경쟁 구도:
- 이미지: JPEG → WebP → AVIF (AV1 기반)
- 동영상: H.264 → H.265 → AV1 → VVC (H.266)
- 범용 무손실: gzip → Brotli → Zstandard
신경망 압축은 전통 알고리즘의 "고정 수식" 한계를 데이터로 학습한 "유연한 표현"으로 대체하며, 이미지 압축에서 이미 최고 성능을 보이고 있다.
📢 섹션 요약 비유: 압축 기술의 발전은 "점점 더 작은 가방에 같은 짐 넣기"다 — 수학이 발전할수록 같은 정보를 더 적은 비트에 담을 수 있게 되며, AI는 그 한계를 더 멀리 밀어내고 있다.
📌 관련 개념 맵
| 개념 | 방식 | 형식 |
|---|---|---|
| 허프만 코딩 | 빈도 기반 가변 길이 | DEFLATE, ZIP |
| LZ77 | 슬라이딩 윈도우 | gzip, ZIP, PNG |
| LZW | 동적 사전 | GIF, TIFF |
| DCT | 주파수 변환 | JPEG, H.264 |
| 웨이블릿 | 다해상도 분해 | JPEG 2000 |
| 모션 보상 | 프레임 간 차이 | H.264, H.265, AV1 |
| 신경망 압축 | 학습 기반 인코더/디코더 | 학습 기반 이미지 코덱 |
📈 관련 키워드 및 발전 흐름도
[중복 데이터 (Redundancy) — 압축 전 대상]
│
▼
[무손실 압축 (Lossless) — 통계 중복 제거]
│
▼
[LZ77 / 허프만 / DEFLATE — 범용 문자열·파일 압축]
│
├─▶ [손실 압축 (Lossy) — 지각적 불필요 정보 제거]
│ │
│ ▼
│ [DCT / 웨이블릿 / 모션 보상 — 이미지·동영상 압축]
│
└─▶ [신경망 압축 (Learned Compression) — 데이터 기반 표현 학습]
│
▼
[AV1 / VVC / AI 코덱 — 차세대 멀티미디어 압축]
압축 기술은 중복 제거에서 출발해 손실·무손실을 분화했고, 이제는 학습 기반 표현으로 차세대 코덱까지 확장되고 있다.
👶 어린이를 위한 3줄 비유 설명
- 무손실은 "완벽한 접기": 원래대로 다시 펼 수 있게 종이를 접는 것 — 내용이 하나도 안 없어진다.
- 손실은 "스케치로 바꾸기": 정밀한 사진을 예쁜 스케치로 바꾸면 파일이 작아지지만, 원본과 완전히 같지는 않다.
- AI 압축은 "더 영리한 압축": AI가 "사람이 잘 못 보는 부분"을 배워서 버릴 정보를 더 잘 골라낸다.