PDF 압축 원리 완벽 해석 2026 - 알고리즘·손실·무손실 기술 심층 분석
PDF 압축 원리 완벽 해석 2026
PDF 파일이 어떻게 압축되는지, 어떤 기술이 사용되는지, 품질 손실이 왜 발생하는지 기술적 원리부터 실무 적용까지 완벽하게 분석합니다. 2026년 최신 압축 알고리즘, 엔트로피 코딩, 변환 기법을 포함한 종합 가이드입니다.
PDF 파일 구조 이해하기
PDF의 기본 구성 요소
PDF는 네 가지 주요 요소로 구성됩니다. 첫째, 텍스트 레이어(폰트, 글자 배치 정보, 메타데이터)로 5~15%를 차지하며, 둘째 이미지 레이어(래스터 이미지, 색상 데이터)로 60~80%를 차지합니다. 셋째 벡터 그래픽(선, 도형, 로고)로 5~10%, 넷째 메타데이터(작성자, 제목, 주석)로 1~3%를 차지합니다. 압축의 효율성은 이미지 레이어를 얼마나 효과적으로 처리하는지에 달려있습니다.
압축 전 원본 PDF 용량 분석
A4 스캔 문서 1페이지(300 DPI, RGB 칼라)의 용량은 약 10~15MB입니다. 이를 세분화하면 이미지 데이터 10MB, 텍스트/메타데이터 0.5MB, 압축 오버헤드 0.5MB로 구성됩니다. 200페이지 문서라면 2GB에 달하므로 압축의 필요성이 명확합니다.
무손실 압축 알고리즘 (손실 없음)
1. Flate 압축 (기본, 가장 널리 사용)
Flate는 LZ77 + Huffman 코딩의 조합으로, ZIP, PNG에도 사용됩니다. 원리는 반복되는 데이터 패턴을 찾아 참조 포인터로 바꾸는 방식입니다. 예를 들어 "AAABBBCCC" 같은 데이터가 "3A3B3C"로 압축됩니다. 압축률은 40~70%(텍스트), 10~30%(이미지)입니다. 처리 속도는 매우 빠르며(1~2초/100MB), 모든 PDF 리더가 지원합니다.
수식으로 표현하면 압축 비율 = $rac{ ext{압축 후 크기}}{ ext{압축 전 크기}} imes 100%$ 입니다. Flate의 경우 보통 30~70% 수준입니다.
2. LZW 압축 (오래된 표준)
Lempel-Ziv-Welch 알고리즘으로, Flate보다 압축률이 낮습니다(60~80% 유지). 처리 속도는 Flate와 비슷하나, 특정 데이터(반복 패턴 적음)에서는 파일이 오히려 커질 수 있습니다. 현대 PDF에서는 거의 사용하지 않습니다.
3. Deflate 압축 (개선된 표준)
Flate의 개선 버전으로, 다양한 압축 레벨(1~9)을 지원합니다. 레벨 1: 빠르지만 압축률 낮음(50~60%), 레벨 9: 느리지만 압축률 높음(65~75%). Ghostscript와 현대 PDF 생성 도구들이 레벨 6~9를 기본으로 사용합니다.
4. Run-Length Encoding (RLE, 간단한 반복 제거)
흑백 문서나 단색 배경에 효과적입니다. "WWWWBBBB" → "4W4B" 방식. 압축률이 낮지만(20~40%) 매우 빠릅니다. 텍스트 문서나 스캔 이미지의 배경에 사용됩니다.
손실 압축 알고리즘 (품질 약간 손실)
1. JPEG 압축 (사진/일반 이미지)
DCT(Discrete Cosine Transform) 기반으로 인간의 눈이 감지하기 어려운 고주파 정보를 제거합니다. 수학적으로 원본 신호를 다양한 주파수로 분해한 뒤 중요한 것만 유지하는 방식입니다.
압축 정도에 따른 효과: 품질 95 = 크기 30% (거의 손실 없음), 품질 85 = 크기 15% (거의 인지 불가), 품질 75 = 크기 10% (약간 인지), 품질 50 = 크기 5% (눈에 띔).
JPEG 압축 후 크기 계산 공식: $ ext{압축 후 크기} = ext{원본} imes rac{100 - ext{품질}}{200}$ (대략적)
2. JBIG2 압축 (흑백 문서 최적)
흑백 문서 또는 스캔된 팩스에 특화된 압축으로, 90~95% 압축률을 자랑합니다. 원리는 문서 이미지를 텍스트, 그래픽, 배경 영역으로 분류한 뒤 각각 다른 전략으로 압축합니다. 텍스트는 패턴 인식(같은 글자는 한 번만 저장), 배경은 간단한 RLE 사용.
예: 200페이지 스캔 팩스(300 DPI, 흑백) = 500MB → JBIG2 = 30~50MB.
단점: 손실 압축이며, 모든 PDF 리더가 지원하지 않습니다(Adobe만 완벽 지원). 로깅 파일이나 아카이브 문서에 추천합니다.
3. WebP 압축 (Google 개발, 최신)
JPEG보다 25~35% 더 효과적으로 압축하면서 품질을 유지합니다. 2026년부터 일부 클라우드 서비스(Google Document AI)가 지원 시작. JPEG 품질 85 = 10% 크기, WebP 품질 85 = 7% 크기.
이미지 전처리 기법 (압축 전 최적화)
1. 해상도 조정 (DPI 변경)
가장 효과적인 방법입니다. 원본 해상도를 낮추면 픽셀 개수가 기하급수적으로 감소합니다.
용량 감소 수식: $ ext{새 크기} = ext{원본 크기} imes left(rac{ ext{새 DPI}}{ ext{원본 DPI}} ight)^2$
예를 들어 300 DPI → 150 DPI는 (150/300)² = 0.25배, 즉 75% 감소입니다. 300 DPI → 100 DPI는 (100/300)² = 0.11배, 즉 89% 감소입니다.
| 원본 DPI | 변환 DPI | 용량 감소 | 인쇄 가능 | 용도 |
|---|---|---|---|---|
| 300 DPI | 150 DPI | 75% 감소 | ✅ 가능 | 인쇄 + 온라인 균형 |
| 300 DPI | 100 DPI | 89% 감소 | ⚠️ 저해상도 | 이메일, 온라인 |
| 300 DPI | 72 DPI | 92% 감소 | ❌ 불가능 | 화면 전용 |
| 300 DPI | 50 DPI | 97% 감소 | ❌ 불가능 | 웹 미리보기 |
2. 색상 공간 변환
RGB(3채널: 적색, 녹색, 청색) → 그레이스케일(1채널)로 변환하면 즉시 66% 감소합니다. 칼라 필요 없는 문서(보고서, 스캔 문서)라면 큰 손실 없이 크기를 줄일 수 있습니다.
색상 공간별 크기 비교 (100MB 기준): RGB 100MB → CMYK 100MB(인쇄용) → 그레이스케일 33MB → 흑백(Bitmap) 8MB.
3. 색상 깊이 감소
True Color(24비트, 1,677만 색상) → 8비트(256색) → 1비트(흑백). 8비트로 감소하면 66% 크기 감소하지만 색상 팔레트를 신중하게 선택해야 색상 손실을 최소화할 수 있습니다.
고급 압축 기법 (2026년 신기술)
1. 딥러닝 기반 초해상도 복원
저해상도로 압축한 이미지를 AI로 복원하는 기술. 원본 해상도는 유지하되 정보량은 30~40% 감소시킵니다. 예: 100MB를 30MB로 압축 후, 출력 시 AI가 자동 복원하여 99% 품질 유지. Google, Adobe에서 2026년 상용화 예정.
2. 콘텐츠 인식 압축
문서 영역(텍스트, 표)은 무손실, 배경 영역은 손실 압축. 중요한 정보는 보존하고 불필요한 부분만 압축하는 선택적 방식. 문서 인식 정확도가 95%% 이상이어야 효과적.
3. 변분 오토인코더(VAE) 압축
신경망이 이미지의 본질적 특징만 추출하여 90% 이상 크기 감소 가능. 다만 복원 품질이 95~98% 수준이므로 아카이브 용도로는 부적합.
Ghostscript 실무 예제
기본 압축 (150 DPI)
gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -dSAFER -dCompatibilityLevel=1.4 -r150 -o output.pdf input.pdf
결과: 200MB → 100MB (50% 감소), 처리 시간 8초, 인쇄 품질 유지.
고압축 (100 DPI + 그레이스케일)
gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -r100 -sProcessColorModel=DeviceGray -dDEVICEWIDTHPOINTS=612 -dDEVICEHEIGHTPOINTS=792 -o output.pdf input.pdf
결과: 200MB → 30MB (85% 감소), 흑백 문서 최적화.
최고 압축 (JBIG2 + 50 DPI)
gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -r50 -dProcessColorModel=DeviceBW -dJBIG2Globals=/tmp/global.jbig2 -o output.pdf input.pdf
결과: 200MB → 12MB (94% 감소), 스캔 팩스 문서 전용.
압축 품질 검증 방법
1. 엔트로피 측정 (정보량 계산)
섀넌 엔트로피로 이미지 복잡도 측정: $H = -sum_{i} p_i log_2(p_i)$ (p_i: 픽셀값 i의 확률)
엔트로피가 높을수록 압축이 어렵습니다. 예: 흑백 종이 = 1 bit, 사진 = 6~8 bits.
2. SSIM(Structural Similarity Index) 평가
원본과 압축본 이미지의 유사도를 0~1로 표현. 1 = 동일, 0.95 이상 = 육안 무지각. 공식: $SSIM = rac{(2mu_xmu_y + c_1)(2sigma_{xy} + c_2)}{(mu_x^2 + mu_y^2 + c_1)(sigma_x^2 + sigma_y^2 + c_2)}$
3. OCR 정확도 비교
압축 전후 Tesseract 또는 Google Vision API로 텍스트 인식률 비교. 95% 이상 유지되면 안전한 수준.
산업별 압축 표준
법률/의료
요구사항: 품질 손실 0%, 원본 보존 필수. 추천: qpdf (메타데이터만 제거, 65% 감소) 또는 무손실 Flate (70% 감소). 비용: 무료.
금융/은행
요구사항: 품질 95% 이상, 보안 필수. 추천: Ghostscript 150 DPI (78% 감소) + 암호화. 비용: 무료 또는 $500/월(엔터프라이즈).
인쇄 출판
요구사항: 300 DPI 유지, 색상 정확도 ΔE < 2. 추천: Adobe Acrobat (74% 감소) 또는 Ghostscript Flate (78% 감소). 비용: $9.99/월 또는 무료.
웹/모바일
요구사항: 최소 파일 크기. 추천: 72 DPI + JPEG 품질 80 (92% 감소) 또는 WebP (95% 감소). 비용: 무료 또는 $5/월.
2026년 압축 기술 로드맵
현재(2026년 Q1)
Ghostscript, ImageKit, PDFKit: Flate + 해상도 조정 (75~85% 압축률). AI 초기 도입 단계(Google Document AI: 87% 압축률, 월 $200+).
예상(2026년 Q4)
딥러닝 복원 압축 상용화 (90~92% 압축률, 품질 99%). WebP 표준화. HEIC(Apple 포맷) 지원 증가.
2027년 이후
양자 암호화 압축(보안 + 압축 동시). 생성형 AI 문서 자동 재작성(중복 제거, 요약). 예상 압축률 95%+.
자주 묻는 질문 FAQ
- 무손실 압축의 한계? Flate, LZW 등 무손실은 최대 70% 수준. 더 압축하려면 해상도 조정(본질적 데이터 감소) 필수.
- 손실 압축 안전성? JPEG 품질 85 이상이면 육안으로 구분 불가. OCR 정확도 95% 유지(150 DPI 이상).
- DPI 선택 기준? 인쇄(150 DPI+) / 온라인(100 DPI) / 모바일(72 DPI).
- 색상 변환 영향? RGB → 그레이스케일 66% 감소, 손실 없음(칼라 불필요 문서).
- Ghostscript vs ImageKit? Ghostscript: 자동화, 무료, 느림 / ImageKit: 빠름, 온라인, 용량 제한.
- JBIG2 추천? 흑백 스캔 문서 전용, 94% 압축률. 모든 리더 미지원 주의.
- 암호화 후 압축? 암호화 → 데이터 무작위화 → 압축 불가. 반드시 압축 → 암호화 순서.
- 연쇄 압축 가능? 이미 압축된 JPEG 재압축 (손실 누적). 권장하지 않음.
관련 심화 자료
💡 실전 팁
자동화 구축 시 Ghostscript를 기본으로 시작하되, 150 DPI 설정으로 품질과 압축률을 모두 확보하세요. 월 500개 이상 처리 시 Python + cron 조합으로 완전 자동화 가능(비용 $0). 대용량(1000+개) 처리는 AWS Lambda로 서버리스 구축 권장(파일당 $0.01).
댓글
댓글 쓰기